diff -Nru python-botocore-1.4.70/botocore/args.py python-botocore-1.16.19+repack/botocore/args.py --- python-botocore-1.4.70/botocore/args.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/args.py 2020-05-28 19:26:08.000000000 +0000 @@ -18,8 +18,11 @@ """ import copy import logging +import socket +import botocore.exceptions import botocore.serialize +import botocore.utils from botocore.signers import RequestSigner from botocore.config import Config from botocore.endpoint import EndpointCreator @@ -28,13 +31,39 @@ logger = logging.getLogger(__name__) +VALID_REGIONAL_ENDPOINTS_CONFIG = [ + 'legacy', + 'regional', +] +LEGACY_GLOBAL_STS_REGIONS = [ + 'ap-northeast-1', + 'ap-south-1', + 'ap-southeast-1', + 'ap-southeast-2', + 'aws-global', + 'ca-central-1', + 'eu-central-1', + 'eu-north-1', + 'eu-west-1', + 'eu-west-2', + 'eu-west-3', + 'sa-east-1', + 'us-east-1', + 'us-east-2', + 'us-west-1', + 'us-west-2', +] + + class ClientArgsCreator(object): def __init__(self, event_emitter, user_agent, response_parser_factory, - loader): + loader, exceptions_factory, config_store): self._event_emitter = event_emitter self._user_agent = user_agent self._response_parser_factory = response_parser_factory self._loader = loader + self._exceptions_factory = exceptions_factory + self._config_store = config_store def get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, @@ -50,24 +79,32 @@ config_kwargs = final_args['config_kwargs'] s3_config = final_args['s3_config'] partition = endpoint_config['metadata'].get('partition', None) + socket_options = final_args['socket_options'] + + signing_region = endpoint_config['signing_region'] + endpoint_region_name = endpoint_config['region_name'] event_emitter = copy.copy(self._event_emitter) signer = RequestSigner( - service_name, endpoint_config['signing_region'], + service_model.service_id, signing_region, endpoint_config['signing_name'], endpoint_config['signature_version'], - credentials, event_emitter) + credentials, event_emitter + ) config_kwargs['s3'] = s3_config new_config = Config(**config_kwargs) endpoint_creator = EndpointCreator(event_emitter) endpoint = endpoint_creator.create_endpoint( - service_model, region_name=endpoint_config['region_name'], + service_model, region_name=endpoint_region_name, endpoint_url=endpoint_config['endpoint_url'], verify=verify, response_parser_factory=self._response_parser_factory, max_pool_connections=new_config.max_pool_connections, - timeout=(new_config.connect_timeout, new_config.read_timeout)) + proxies=new_config.proxies, + timeout=(new_config.connect_timeout, new_config.read_timeout), + socket_options=socket_options, + client_cert=new_config.client_cert) serializer = botocore.serialize.create_serializer( protocol, parameter_validation) @@ -81,7 +118,8 @@ 'service_model': service_model, 'loader': self._loader, 'client_config': new_config, - 'partition': partition + 'partition': partition, + 'exceptions_factory': self._exceptions_factory } def compute_client_args(self, service_model, client_config, @@ -93,12 +131,9 @@ if client_config and not client_config.parameter_validation: parameter_validation = False elif scoped_config: - raw_value = str(scoped_config.get('parameter_validation', '')) - if raw_value.lower() == 'false': - parameter_validation = False - - endpoint_config = endpoint_bridge.resolve( - service_name, region_name, endpoint_url, is_secure) + raw_value = scoped_config.get('parameter_validation') + if raw_value is not None: + parameter_validation = botocore.utils.ensure_boolean(raw_value) # Override the user agent if specified in the client config. user_agent = self._user_agent @@ -108,6 +143,15 @@ if client_config.user_agent_extra is not None: user_agent += ' %s' % client_config.user_agent_extra + s3_config = self.compute_s3_config(client_config) + endpoint_config = self._compute_endpoint_config( + service_name=service_name, + region_name=region_name, + endpoint_url=endpoint_url, + is_secure=is_secure, + endpoint_bridge=endpoint_bridge, + s3_config=s3_config, + ) # Create a new client config to be passed to the client based # on the final values. We do not want the user to be able # to try to modify an existing client with a client config. @@ -120,9 +164,13 @@ connect_timeout=client_config.connect_timeout, read_timeout=client_config.read_timeout, max_pool_connections=client_config.max_pool_connections, + proxies=client_config.proxies, + retries=client_config.retries, + client_cert=client_config.client_cert, + inject_host_prefix=client_config.inject_host_prefix, ) - s3_config = self.compute_s3_config(scoped_config, - client_config) + self._compute_retry_config(config_kwargs) + s3_config = self.compute_s3_config(client_config) return { 'service_name': service_name, 'parameter_validation': parameter_validation, @@ -131,31 +179,11 @@ 'protocol': protocol, 'config_kwargs': config_kwargs, 's3_config': s3_config, + 'socket_options': self._compute_socket_options(scoped_config) } - def compute_s3_config(self, scoped_config, client_config): - s3_configuration = None - - # Check the scoped config first. - if scoped_config is not None: - s3_configuration = scoped_config.get('s3') - # Until we have proper validation of the config file (including - # nested types), we have to account for the fact that the s3 - # key could be parsed as a string, e.g 's3 = foo'. - # In the case we'll ignore the key for now. - if not isinstance(s3_configuration, dict): - logger.debug("The s3 config key is not a dictionary type, " - "ignoring its value of: %s", s3_configuration) - s3_configuration = None - - # Convert logic for several s3 keys in the scoped config - # so that the various strings map to the appropriate boolean value. - if s3_configuration: - boolean_keys = ['use_accelerate_endpoint', - 'use_dualstack_endpoint', - 'payload_signing_enabled'] - s3_configuration = self._convert_config_to_bool( - s3_configuration, boolean_keys) + def compute_s3_config(self, client_config): + s3_configuration = self._config_store.get_config_variable('s3') # Next specific client config values takes precedence over # specific values in the scoped config. @@ -173,15 +201,168 @@ return s3_configuration - def _convert_config_to_bool(self, config_dict, keys): - # Make sure any further modifications to this section of the config - # will not affect the scoped config by making a copy of it. - config_copy = config_dict.copy() - present_keys = [k for k in keys if k in config_copy] - for key in present_keys: - # Normalize on different possible values of True - if config_copy[key] in [True, 'True', 'true']: - config_copy[key] = True - else: - config_copy[key] = False - return config_copy + def _compute_endpoint_config(self, service_name, region_name, endpoint_url, + is_secure, endpoint_bridge, s3_config): + resolve_endpoint_kwargs = { + 'service_name': service_name, + 'region_name': region_name, + 'endpoint_url': endpoint_url, + 'is_secure': is_secure, + 'endpoint_bridge': endpoint_bridge, + } + if service_name == 's3': + return self._compute_s3_endpoint_config( + s3_config=s3_config, **resolve_endpoint_kwargs) + if service_name == 'sts': + return self._compute_sts_endpoint_config(**resolve_endpoint_kwargs) + return self._resolve_endpoint(**resolve_endpoint_kwargs) + + def _compute_s3_endpoint_config(self, s3_config, + **resolve_endpoint_kwargs): + force_s3_global = self._should_force_s3_global( + resolve_endpoint_kwargs['region_name'], s3_config) + if force_s3_global: + resolve_endpoint_kwargs['region_name'] = None + endpoint_config = self._resolve_endpoint(**resolve_endpoint_kwargs) + self._set_region_if_custom_s3_endpoint( + endpoint_config, resolve_endpoint_kwargs['endpoint_bridge']) + # For backwards compatibility reasons, we want to make sure the + # client.meta.region_name will remain us-east-1 if we forced the + # endpoint to be the global region. Specifically, if this value + # changes to aws-global, it breaks logic where a user is checking + # for us-east-1 as the global endpoint such as in creating buckets. + if force_s3_global and endpoint_config['region_name'] == 'aws-global': + endpoint_config['region_name'] = 'us-east-1' + return endpoint_config + + def _should_force_s3_global(self, region_name, s3_config): + s3_regional_config = 'legacy' + if s3_config and 'us_east_1_regional_endpoint' in s3_config: + s3_regional_config = s3_config['us_east_1_regional_endpoint'] + self._validate_s3_regional_config(s3_regional_config) + return ( + s3_regional_config == 'legacy' and + region_name in ['us-east-1', None] + ) + + def _validate_s3_regional_config(self, config_val): + if config_val not in VALID_REGIONAL_ENDPOINTS_CONFIG: + raise botocore.exceptions.\ + InvalidS3UsEast1RegionalEndpointConfigError( + s3_us_east_1_regional_endpoint_config=config_val) + + def _set_region_if_custom_s3_endpoint(self, endpoint_config, + endpoint_bridge): + # If a user is providing a custom URL, the endpoint resolver will + # refuse to infer a signing region. If we want to default to s3v4, + # we have to account for this. + if endpoint_config['signing_region'] is None \ + and endpoint_config['region_name'] is None: + endpoint = endpoint_bridge.resolve('s3') + endpoint_config['signing_region'] = endpoint['signing_region'] + endpoint_config['region_name'] = endpoint['region_name'] + + def _compute_sts_endpoint_config(self, **resolve_endpoint_kwargs): + endpoint_config = self._resolve_endpoint(**resolve_endpoint_kwargs) + if self._should_set_global_sts_endpoint( + resolve_endpoint_kwargs['region_name'], + resolve_endpoint_kwargs['endpoint_url']): + self._set_global_sts_endpoint( + endpoint_config, resolve_endpoint_kwargs['is_secure']) + return endpoint_config + + def _should_set_global_sts_endpoint(self, region_name, endpoint_url): + if endpoint_url: + return False + return ( + self._get_sts_regional_endpoints_config() == 'legacy' and + region_name in LEGACY_GLOBAL_STS_REGIONS + ) + + def _get_sts_regional_endpoints_config(self): + sts_regional_endpoints_config = self._config_store.get_config_variable( + 'sts_regional_endpoints') + if not sts_regional_endpoints_config: + sts_regional_endpoints_config = 'legacy' + if sts_regional_endpoints_config not in \ + VALID_REGIONAL_ENDPOINTS_CONFIG: + raise botocore.exceptions.InvalidSTSRegionalEndpointsConfigError( + sts_regional_endpoints_config=sts_regional_endpoints_config) + return sts_regional_endpoints_config + + def _set_global_sts_endpoint(self, endpoint_config, is_secure): + scheme = 'https' if is_secure else 'http' + endpoint_config['endpoint_url'] = '%s://sts.amazonaws.com' % scheme + endpoint_config['signing_region'] = 'us-east-1' + + def _resolve_endpoint(self, service_name, region_name, + endpoint_url, is_secure, endpoint_bridge): + return endpoint_bridge.resolve( + service_name, region_name, endpoint_url, is_secure) + + def _compute_socket_options(self, scoped_config): + # This disables Nagle's algorithm and is the default socket options + # in urllib3. + socket_options = [(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)] + if scoped_config: + # Enables TCP Keepalive if specified in shared config file. + if self._ensure_boolean(scoped_config.get('tcp_keepalive', False)): + socket_options.append( + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)) + return socket_options + + def _compute_retry_config(self, config_kwargs): + self._compute_retry_max_attempts(config_kwargs) + self._compute_retry_mode(config_kwargs) + + def _compute_retry_max_attempts(self, config_kwargs): + # There's a pre-existing max_attempts client config value that actually + # means max *retry* attempts. There's also a `max_attempts` we pull + # from the config store that means *total attempts*, which includes the + # intitial request. We can't change what `max_attempts` means in + # client config so we try to normalize everything to a new + # "total_max_attempts" variable. We ensure that after this, the only + # configuration for "max attempts" is the 'total_max_attempts' key. + # An explicitly provided max_attempts in the client config + # overrides everything. + retries = config_kwargs.get('retries') + if retries is not None: + if 'total_max_attempts' in retries: + retries.pop('max_attempts', None) + return + if 'max_attempts' in retries: + value = retries.pop('max_attempts') + # client config max_attempts means total retries so we + # have to add one for 'total_max_attempts' to account + # for the initial request. + retries['total_max_attempts'] = value + 1 + return + # Otherwise we'll check the config store which checks env vars, + # config files, etc. There is no default value for max_attempts + # so if this returns None and we don't set a default value here. + max_attempts = self._config_store.get_config_variable('max_attempts') + if max_attempts is not None: + if retries is None: + retries = {} + config_kwargs['retries'] = retries + retries['total_max_attempts'] = max_attempts + + def _compute_retry_mode(self, config_kwargs): + retries = config_kwargs.get('retries') + if retries is None: + retries = {} + config_kwargs['retries'] = retries + elif 'mode' in retries: + # If there's a retry mode explicitly set in the client config + # that overrides everything. + return + retry_mode = self._config_store.get_config_variable('retry_mode') + if retry_mode is None: + retry_mode = 'legacy' + retries['mode'] = retry_mode + + def _ensure_boolean(self, val): + if isinstance(val, bool): + return val + else: + return val.lower() == 'true' diff -Nru python-botocore-1.4.70/botocore/auth.py python-botocore-1.16.19+repack/botocore/auth.py --- python-botocore-1.4.70/botocore/auth.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/auth.py 2020-05-28 19:26:08.000000000 +0000 @@ -22,6 +22,7 @@ import functools import time import calendar +import json from botocore.exceptions import NoCredentialsError from botocore.utils import normalize_url_path, percent_encode_sequence @@ -32,6 +33,7 @@ from botocore.compat import six from botocore.compat import json from botocore.compat import MD5_AVAILABLE +from botocore.compat import ensure_unicode logger = logging.getLogger(__name__) @@ -46,8 +48,10 @@ SIGV4_TIMESTAMP = '%Y%m%dT%H%M%SZ' SIGNED_HEADERS_BLACKLIST = [ 'expect', - 'user-agent' + 'user-agent', + 'x-amzn-trace-id', ] +UNSIGNED_PAYLOAD = 'UNSIGNED-PAYLOAD' class BaseSigner(object): @@ -106,7 +110,7 @@ params = request.data else: # GET - params = request.param + params = request.params params['AWSAccessKeyId'] = self.credentials.access_key params['SignatureVersion'] = '2' params['SignatureMethod'] = 'HmacSHA256' @@ -171,15 +175,31 @@ in the StringToSign. """ header_map = HTTPHeaders() - split = urlsplit(request.url) for name, value in request.headers.items(): lname = name.lower() if lname not in SIGNED_HEADERS_BLACKLIST: header_map[lname] = value if 'host' not in header_map: - header_map['host'] = split.netloc + # Ensure we sign the lowercased version of the host, as that + # is what will ultimately be sent on the wire. + # TODO: We should set the host ourselves, instead of relying on our + # HTTP client to set it for us. + header_map['host'] = self._canonical_host(request.url).lower() return header_map + def _canonical_host(self, url): + url_parts = urlsplit(url) + default_ports = { + 'http': 80, + 'https': 443 + } + if any(url_parts.scheme == scheme and url_parts.port == port + for scheme, port in default_ports.items()): + # No need to include the port if it's the default port. + return url_parts.hostname + # Strip out auth if it's present in the netloc. + return url_parts.netloc.rsplit('@', 1)[-1] + def canonical_query_string(self, request): # The query string can come from two parts. One is the # params attribute of the request. The other is from the request @@ -225,34 +245,57 @@ headers = [] sorted_header_names = sorted(set(headers_to_sign)) for key in sorted_header_names: - value = ','.join(v.strip() for v in + value = ','.join(self._header_value(v) for v in sorted(headers_to_sign.get_all(key))) - headers.append('%s:%s' % (key, value)) + headers.append('%s:%s' % (key, ensure_unicode(value))) return '\n'.join(headers) + def _header_value(self, value): + # From the sigv4 docs: + # Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + # + # The Trimall function removes excess white space before and after + # values, and converts sequential spaces to a single space. + return ' '.join(value.split()) + def signed_headers(self, headers_to_sign): l = ['%s' % n.lower().strip() for n in set(headers_to_sign)] l = sorted(l) return ';'.join(l) def payload(self, request): - if request.body and hasattr(request.body, 'seek'): - position = request.body.tell() - read_chunksize = functools.partial(request.body.read, + if not self._should_sha256_sign_payload(request): + # When payload signing is disabled, we use this static string in + # place of the payload checksum. + return UNSIGNED_PAYLOAD + request_body = request.body + if request_body and hasattr(request_body, 'seek'): + position = request_body.tell() + read_chunksize = functools.partial(request_body.read, PAYLOAD_BUFFER) checksum = sha256() for chunk in iter(read_chunksize, b''): checksum.update(chunk) hex_checksum = checksum.hexdigest() - request.body.seek(position) + request_body.seek(position) return hex_checksum - elif request.body: + elif request_body: # The request serialization has ensured that # request.body is a bytes() type. - return sha256(request.body).hexdigest() + return sha256(request_body).hexdigest() else: return EMPTY_SHA256_HASH + def _should_sha256_sign_payload(self, request): + # Payloads will always be signed over insecure connections. + if not request.url.startswith('https'): + return True + + # Certain operations may have payload signing disabled by default. + # Since we don't have access to the operation model, we pass in this + # bit of metadata through the request context. + return request.context.get('payload_signing_enabled', True) + def canonical_request(self, request): cr = [request.method.upper()] path = self._normalize_url_path(urlsplit(request.url).path) @@ -344,6 +387,11 @@ del request.headers['X-Amz-Security-Token'] request.headers['X-Amz-Security-Token'] = self.credentials.token + if not request.context.get('payload_signing_enabled', True): + if 'X-Amz-Content-SHA256' in request.headers: + del request.headers['X-Amz-Content-SHA256'] + request.headers['X-Amz-Content-SHA256'] = UNSIGNED_PAYLOAD + def _set_necessary_date_headers(self, request): # The spec allows for either the Date _or_ the X-Amz-Date value to be # used so we check both. If there's a Date header, we use the date @@ -363,28 +411,12 @@ class S3SigV4Auth(SigV4Auth): - def __init__(self, credentials, service_name, region_name): - super(S3SigV4Auth, self).__init__( - credentials, service_name, region_name) - self._default_region_name = region_name - - def add_auth(self, request): - # If we ever decide to share auth sessions, this could potentially be - # a source of concurrency bugs. - signing_context = request.context.get('signing', {}) - self._region_name = signing_context.get( - 'region', self._default_region_name) - super(S3SigV4Auth, self).add_auth(request) - def _modify_request_before_signing(self, request): super(S3SigV4Auth, self)._modify_request_before_signing(request) if 'X-Amz-Content-SHA256' in request.headers: del request.headers['X-Amz-Content-SHA256'] - if self._should_sha256_sign_payload(request): - request.headers['X-Amz-Content-SHA256'] = self.payload(request) - else: - request.headers['X-Amz-Content-SHA256'] = 'UNSIGNED-PAYLOAD' + request.headers['X-Amz-Content-SHA256'] = self.payload(request) def _should_sha256_sign_payload(self, request): # S3 allows optional body signing, so to minimize the performance @@ -398,15 +430,27 @@ if s3_config is None: s3_config = {} + # The explicit configuration takes precedence over any implicit + # configuration. sign_payload = s3_config.get('payload_signing_enabled', None) if sign_payload is not None: return sign_payload - if 'Content-MD5' in request.headers and 'https' in request.url and \ - request.context.get('has_streaming_input', False): + # We require that both content-md5 be present and https be enabled + # to implicitly disable body signing. The combination of TLS and + # content-md5 is sufficiently secure and durable for us to be + # confident in the request without body signing. + if not request.url.startswith('https') or \ + 'Content-MD5' not in request.headers: + return True + + # If the input is streaming we disable body signing by default. + if request.context.get('has_streaming_input', False): return False - return True + # If the S3-specific checks had no results, delegate to the generic + # checks. + return super(S3SigV4Auth, self)._should_sha256_sign_payload(request) def _normalize_url_path(self, path): # For S3, we do not normalize the path. @@ -423,10 +467,20 @@ self._expires = expires def _modify_request_before_signing(self, request): + # We automatically set this header, so if it's the auto-set value we + # want to get rid of it since it doesn't make sense for presigned urls. + content_type = request.headers.get('content-type') + blacklisted_content_type = ( + 'application/x-www-form-urlencoded; charset=utf-8' + ) + if content_type == blacklisted_content_type: + del request.headers['content-type'] + # Note that we're not including X-Amz-Signature. # From the docs: "The Canonical Query String must include all the query # parameters from the preceding table except for X-Amz-Signature. signed_headers = self.signed_headers(self.headers_to_sign(request)) + auth_params = { 'X-Amz-Algorithm': 'AWS4-HMAC-SHA256', 'X-Amz-Credential': self.scope(request), @@ -443,7 +497,8 @@ # have repeated keys so we know we have single element lists which we # can convert back to scalar values. query_dict = dict( - [(k, v[0]) for k, v in parse_qs(url_parts.query).items()]) + [(k, v[0]) for k, v in + parse_qs(url_parts.query, keep_blank_values=True).items()]) # The spec is particular about this. It *has* to be: # https://?& # You can't mix the two types of params together, i.e just keep doing @@ -452,11 +507,9 @@ # percent_encode_sequence(new_query_params) operation_params = '' if request.data: - # We also need to move the body params into the query string. - # request.data will be populated, for example, with query services - # which normally form encode the params into the body. - # This means that request.data is a dict() of the operation params. - query_dict.update(request.data) + # We also need to move the body params into the query string. To + # do this, we first have to convert it to a dict. + query_dict.update(self._get_body_as_dict(request)) request.data = '' if query_dict: operation_params = percent_encode_sequence(query_dict) + '&' @@ -474,6 +527,18 @@ new_url_parts = (p[0], p[1], p[2], new_query_string, p[4]) request.url = urlunsplit(new_url_parts) + def _get_body_as_dict(self, request): + # For query services, request.data is form-encoded and is already a + # dict, but for other services such as rest-json it could be a json + # string or bytes. In those cases we attempt to load the data as a + # dict. + data = request.data + if isinstance(data, six.binary_type): + data = json.loads(data.decode('utf-8')) + elif isinstance(data, six.string_types): + data = json.loads(data) + return data + def _inject_signature_to_request(self, request, signature): # Rather than calculating an "Authorization" header, for the query # param quth, we just append an 'X-Amz-Signature' param to the end @@ -501,7 +566,7 @@ # "You don't include a payload hash in the Canonical Request, because # when you create a presigned URL, you don't know anything about the # payload. Instead, you use a constant string "UNSIGNED-PAYLOAD". - return "UNSIGNED-PAYLOAD" + return UNSIGNED_PAYLOAD class S3SigV4PostAuth(SigV4Auth): @@ -562,7 +627,8 @@ 'response-cache-control', 'response-content-disposition', 'response-content-encoding', 'delete', 'lifecycle', 'tagging', 'restore', 'storageClass', 'notification', - 'replication', 'requestPayment'] + 'replication', 'requestPayment', 'analytics', 'metrics', + 'inventory', 'select', 'select-type'] def __init__(self, credentials, service_name=None, region_name=None): self.credentials = credentials diff -Nru python-botocore-1.4.70/botocore/awsrequest.py python-botocore-1.16.19+repack/botocore/awsrequest.py --- python-botocore-1.4.70/botocore/awsrequest.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/awsrequest.py 2020-05-28 19:26:08.000000000 +0000 @@ -13,25 +13,20 @@ # language governing permissions and limitations under the License. import sys import logging -import select import functools import socket -import inspect +import urllib3.util +from urllib3.connection import VerifiedHTTPSConnection +from urllib3.connection import HTTPConnection +from urllib3.connectionpool import HTTPConnectionPool +from urllib3.connectionpool import HTTPSConnectionPool + +import botocore.utils from botocore.compat import six -from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit +from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit, \ + urlencode, MutableMapping from botocore.exceptions import UnseekableStreamError -from botocore.utils import percent_encode_sequence -from botocore.vendored.requests import models -from botocore.vendored.requests.sessions import REDIRECT_STATI -from botocore.vendored.requests.packages.urllib3.connection import \ - VerifiedHTTPSConnection -from botocore.vendored.requests.packages.urllib3.connection import \ - HTTPConnection -from botocore.vendored.requests.packages.urllib3.connectionpool import \ - HTTPConnectionPool -from botocore.vendored.requests.packages.urllib3.connectionpool import \ - HTTPSConnectionPool logger = logging.getLogger(__name__) @@ -53,10 +48,10 @@ return HTTPResponse._read_status(self) -class AWSHTTPConnection(HTTPConnection): - """HTTPConnection that supports Expect 100-continue. +class AWSConnection(object): + """Mixin for HTTPConnection that supports Expect 100-continue. - This is conceptually a subclass of httplib.HTTPConnection (though + This when mixed with a subclass of httplib.HTTPConnection (though technically we subclass from urllib3, which subclasses httplib.HTTPConnection) and we only override this class to support Expect 100-continue, which we need for S3. As far as I can tell, this is @@ -66,7 +61,7 @@ """ def __init__(self, *args, **kwargs): - HTTPConnection.__init__(self, *args, **kwargs) + super(AWSConnection, self).__init__(*args, **kwargs) self._original_response_cls = self.response_class # We'd ideally hook into httplib's states, but they're all # __mangled_vars so we use our own state var. This variable is set @@ -80,53 +75,21 @@ self._expect_header_set = False def close(self): - HTTPConnection.close(self) + super(AWSConnection, self).close() # Reset all of our instance state we were tracking. self._response_received = False self._expect_header_set = False self.response_class = self._original_response_cls - def _tunnel(self): - # Works around a bug in py26 which is fixed in later versions of - # python. Bug involves hitting an infinite loop if readline() returns - # nothing as opposed to just ``\r\n``. - # As much as I don't like having if py2: code blocks, this seems - # the cleanest way to handle this workaround. Fortunately, the - # difference from py26 to py3 is very minimal. We're essentially - # just overriding the while loop. - if sys.version_info[:2] != (2, 6): - return HTTPConnection._tunnel(self) - - # Otherwise we workaround the issue. - self._set_hostport(self._tunnel_host, self._tunnel_port) - self.send("CONNECT %s:%d HTTP/1.0\r\n" % (self.host, self.port)) - for header, value in self._tunnel_headers.iteritems(): - self.send("%s: %s\r\n" % (header, value)) - self.send("\r\n") - response = self.response_class(self.sock, strict=self.strict, - method=self._method) - (version, code, message) = response._read_status() - - if code != 200: - self.close() - raise socket.error("Tunnel connection failed: %d %s" % - (code, message.strip())) - while True: - line = response.fp.readline() - if not line: - break - if line in (b'\r\n', b'\n', b''): - break - - def _send_request(self, method, url, body, headers): + def _send_request(self, method, url, body, headers, *args, **kwargs): self._response_received = False if headers.get('Expect', b'') == b'100-continue': self._expect_header_set = True else: self._expect_header_set = False self.response_class = self._original_response_cls - rval = HTTPConnection._send_request( - self, method, url, body, headers) + rval = super(AWSConnection, self)._send_request( + method, url, body, headers, *args, **kwargs) self._expect_header_set = False return rval @@ -143,7 +106,7 @@ msg = b"\r\n".join(bytes_buffer) return msg - def _send_output(self, message_body=None): + def _send_output(self, message_body=None, *args, **kwargs): self._buffer.extend((b"", b"")) msg = self._convert_to_bytes(self._buffer) del self._buffer[:] @@ -159,8 +122,7 @@ # set, it will trigger this custom behavior. logger.debug("Waiting for 100 Continue response.") # Wait for 1 second for the server to send a response. - read, write, exc = select.select([self.sock], [], [self.sock], 1) - if read: + if urllib3.util.wait_for_read(self.sock, 1): self._handle_expect_response(message_body) return else: @@ -238,7 +200,7 @@ logger.debug("send() called, but reseponse already received. " "Not sending data.") return - return HTTPConnection.send(self, str) + return super(AWSConnection, self).send(str) def _is_100_continue_status(self, maybe_status_line): parts = maybe_status_line.split(None, 2) @@ -248,16 +210,20 @@ parts[1] == b'100') -class AWSHTTPSConnection(VerifiedHTTPSConnection): - pass +class AWSHTTPConnection(AWSConnection, HTTPConnection): + """ An HTTPConnection that supports 100 Continue behavior. """ + + +class AWSHTTPSConnection(AWSConnection, VerifiedHTTPSConnection): + """ An HTTPSConnection that supports 100 Continue behavior. """ -# Now we need to set the methods we overrode from AWSHTTPConnection -# onto AWSHTTPSConnection. This is just a shortcut to avoid -# copy/pasting the same code into AWSHTTPSConnection. -for name, function in AWSHTTPConnection.__dict__.items(): - if inspect.isfunction(function): - setattr(AWSHTTPSConnection, name, function) +class AWSHTTPConnectionPool(HTTPConnectionPool): + ConnectionCls = AWSHTTPConnection + + +class AWSHTTPSConnectionPool(HTTPSConnectionPool): + ConnectionCls = AWSHTTPSConnection def prepare_request_dict(request_dict, endpoint_url, context=None, @@ -282,8 +248,13 @@ if user_agent is not None: headers = r['headers'] headers['User-Agent'] = user_agent - url = _urljoin(endpoint_url, r['url_path']) + host_prefix = r.get('host_prefix') + url = _urljoin(endpoint_url, r['url_path'], host_prefix) if r['query_string']: + # NOTE: This is to avoid circular import with utils. This is being + # done to avoid moving classes to different modules as to not cause + # breaking chainges. + percent_encode_sequence = botocore.utils.percent_encode_sequence encoded_query_string = percent_encode_sequence(r['query_string']) if '?' not in url: url += '?%s' % encoded_query_string @@ -311,11 +282,11 @@ r = request_dict request_object = AWSRequest( method=r['method'], url=r['url'], data=r['body'], headers=r['headers']) - request_object.context.update(r['context']) + request_object.context = r['context'] return request_object -def _urljoin(endpoint_url, url_path): +def _urljoin(endpoint_url, url_path, host_prefix): p = urlsplit(endpoint_url) # - # scheme - p[0] @@ -327,28 +298,158 @@ # If there's no path component, ensure the URL ends with # a '/' for backwards compatibility. if not p[2]: - return endpoint_url + '/' - return endpoint_url - if p[2].endswith('/') and url_path.startswith('/'): + new_path = '/' + else: + new_path = p[2] + elif p[2].endswith('/') and url_path.startswith('/'): new_path = p[2][:-1] + url_path else: new_path = p[2] + url_path - reconstructed = urlunsplit((p[0], p[1], new_path, p[3], p[4])) + + new_netloc = p[1] + if host_prefix is not None: + new_netloc = host_prefix + new_netloc + + reconstructed = urlunsplit((p[0], new_netloc, new_path, p[3], p[4])) return reconstructed -class AWSRequest(models.RequestEncodingMixin, models.Request): - def __init__(self, *args, **kwargs): - self.auth_path = None - if 'auth_path' in kwargs: - self.auth_path = kwargs['auth_path'] - del kwargs['auth_path'] - models.Request.__init__(self, *args, **kwargs) - headers = HTTPHeaders() - if self.headers is not None: - for key, value in self.headers.items(): - headers[key] = value - self.headers = headers +class AWSRequestPreparer(object): + """ + This class performs preparation on AWSRequest objects similar to that of + the PreparedRequest class does in the requests library. However, the logic + has been boiled down to meet the specific use cases in botocore. Of note + there are the following differences: + This class does not heavily prepare the URL. Requests performed many + validations and corrections to ensure the URL is properly formatted. + Botocore either performs these validations elsewhere or otherwise + consistently provides well formatted URLs. + + This class does not heavily prepare the body. Body preperation is + simple and supports only the cases that we document: bytes and + file-like objects to determine the content-length. This will also + additionally prepare a body that is a dict to be url encoded params + string as some signers rely on this. Finally, this class does not + support multipart file uploads. + + This class does not prepare the method, auth or cookies. + """ + def prepare(self, original): + method = original.method + url = self._prepare_url(original) + body = self._prepare_body(original) + headers = self._prepare_headers(original, body) + stream_output = original.stream_output + + return AWSPreparedRequest(method, url, headers, body, stream_output) + + def _prepare_url(self, original): + url = original.url + if original.params: + params = urlencode(list(original.params.items()), doseq=True) + url = '%s?%s' % (url, params) + return url + + def _prepare_headers(self, original, prepared_body=None): + headers = HeadersDict(original.headers.items()) + + # If the transfer encoding or content length is already set, use that + if 'Transfer-Encoding' in headers or 'Content-Length' in headers: + return headers + + # Ensure we set the content length when it is expected + if original.method not in ('GET', 'HEAD', 'OPTIONS'): + length = self._determine_content_length(prepared_body) + if length is not None: + headers['Content-Length'] = str(length) + else: + # Failed to determine content length, using chunked + # NOTE: This shouldn't ever happen in practice + body_type = type(prepared_body) + logger.debug('Failed to determine length of %s', body_type) + headers['Transfer-Encoding'] = 'chunked' + + return headers + + def _to_utf8(self, item): + key, value = item + if isinstance(key, six.text_type): + key = key.encode('utf-8') + if isinstance(value, six.text_type): + value = value.encode('utf-8') + return key, value + + def _prepare_body(self, original): + """Prepares the given HTTP body data.""" + body = original.data + if body == b'': + body = None + + if isinstance(body, dict): + params = [self._to_utf8(item) for item in body.items()] + body = urlencode(params, doseq=True) + + return body + + def _determine_content_length(self, body): + # No body, content length of 0 + if not body: + return 0 + + # Try asking the body for it's length + try: + return len(body) + except (AttributeError, TypeError) as e: + pass + + # Try getting the length from a seekable stream + if hasattr(body, 'seek') and hasattr(body, 'tell'): + orig_pos = body.tell() + body.seek(0, 2) + end_file_pos = body.tell() + body.seek(orig_pos) + return end_file_pos - orig_pos + + # Failed to determine the length + return None + + +class AWSRequest(object): + """Represents the elements of an HTTP request. + + This class was originally inspired by requests.models.Request, but has been + boiled down to meet the specific use cases in botocore. That being said this + class (even in requests) is effectively a named-tuple. + """ + + _REQUEST_PREPARER_CLS = AWSRequestPreparer + + def __init__(self, + method=None, + url=None, + headers=None, + data=None, + params=None, + auth_path=None, + stream_output=False): + + self._request_preparer = self._REQUEST_PREPARER_CLS() + + # Default empty dicts for dict params. + params = {} if params is None else params + + self.method = method + self.url = url + self.headers = HTTPHeaders() + self.data = data + self.params = params + self.auth_path = auth_path + self.stream_output = stream_output + + if headers is not None: + for key, value in headers.items(): + self.headers[key] = value + # This is a dictionary to hold information that is used when # processing the request. What is inside of ``context`` is open-ended. # For example, it may have a timestamp key that is used for holding @@ -360,65 +461,57 @@ def prepare(self): """Constructs a :class:`AWSPreparedRequest `.""" - # Eventually I think it would be nice to add hooks into this process. - p = AWSPreparedRequest(self) - p.prepare_method(self.method) - p.prepare_url(self.url, self.params) - p.prepare_headers(self.headers) - p.prepare_cookies(self.cookies) - p.prepare_body(self.data, self.files) - p.prepare_auth(self.auth) - return p + return self._request_preparer.prepare(self) @property def body(self): - p = models.PreparedRequest() - p.prepare_headers({}) - p.prepare_body(self.data, self.files) - if isinstance(p.body, six.text_type): - p.body = p.body.encode('utf-8') - return p.body + body = self.prepare().body + if isinstance(body, six.text_type): + body = body.encode('utf-8') + return body + +class AWSPreparedRequest(object): + """A data class representing a finalized request to be sent over the wire. -class AWSPreparedRequest(models.PreparedRequest): - """Represents a prepared request. + Requests at this stage should be treated as final, and the properties of + the request should not be modified. - :ivar method: HTTP Method + :ivar method: The HTTP Method :ivar url: The full url :ivar headers: The HTTP headers to send. :ivar body: The HTTP body. - :ivar hooks: The set of callback hooks. - - In addition to the above attributes, the following attributes are - available: - - :ivar query_params: The original query parameters. - :ivar post_param: The original POST params (dict). - + :ivar stream_output: If the response for this request should be streamed. """ - def __init__(self, original_request): - self.original = original_request - super(AWSPreparedRequest, self).__init__() - self.hooks.setdefault('response', []).append( - self.reset_stream_on_redirect) - - def reset_stream_on_redirect(self, response, **kwargs): - if response.status_code in REDIRECT_STATI and \ - self._looks_like_file(self.body): - logger.debug("Redirect received, rewinding stream: %s", self.body) - self.reset_stream() + def __init__(self, method, url, headers, body, stream_output): + self.method = method + self.url = url + self.headers = headers + self.body = body + self.stream_output = stream_output - def _looks_like_file(self, body): - return hasattr(body, 'read') and hasattr(body, 'seek') + def __repr__(self): + fmt = ( + '' + ) + return fmt % (self.stream_output, self.method, self.url, self.headers) def reset_stream(self): + """Resets the streaming body to it's initial position. + + If the request contains a streaming body (a streamable file-like object) + seek to the object's initial position to ensure the entire contents of + the object is sent. This is a no-op for static bytes-like body types. + """ # Trying to reset a stream when there is a no stream will # just immediately return. It's not an error, it will produce # the same result as if we had actually reset the stream (we'll send # the entire body contents again if we need to). - # Same case if the body is a string/bytes type. - if self.body is None or isinstance(self.body, six.text_type) or \ - isinstance(self.body, six.binary_type): + # Same case if the body is a string/bytes/bytearray type. + + non_seekable_types = (six.binary_type, six.text_type, bytearray) + if self.body is None or isinstance(self.body, non_seekable_types): return try: logger.debug("Rewinding stream: %s", self.body) @@ -427,27 +520,97 @@ logger.debug("Unable to rewind stream: %s", e) raise UnseekableStreamError(stream_object=self.body) - def prepare_body(self, data, files, json=None): - """Prepares the given HTTP body data.""" - super(AWSPreparedRequest, self).prepare_body(data, files, json) - # Calculate the Content-Length by trying to seek the file as - # requests cannot determine content length for some seekable file-like - # objects. - if 'Content-Length' not in self.headers: - if hasattr(data, 'seek') and hasattr(data, 'tell'): - orig_pos = data.tell() - data.seek(0, 2) - end_file_pos = data.tell() - self.headers['Content-Length'] = str(end_file_pos - orig_pos) - data.seek(orig_pos) - # If the Content-Length was added this way, a - # Transfer-Encoding was added by requests because it did - # not add a Content-Length header. However, the - # Transfer-Encoding header is not supported for - # AWS Services so remove it if it is added. - if 'Transfer-Encoding' in self.headers: - self.headers.pop('Transfer-Encoding') +class AWSResponse(object): + """A data class representing an HTTP response. + + This class was originally inspired by requests.models.Response, but has + been boiled down to meet the specific use cases in botocore. This has + effectively been reduced to a named tuple. + + :ivar url: The full url. + :ivar status_code: The status code of the HTTP response. + :ivar headers: The HTTP headers received. + :ivar body: The HTTP response body. + """ + + def __init__(self, url, status_code, headers, raw): + self.url = url + self.status_code = status_code + self.headers = HeadersDict(headers) + self.raw = raw + + self._content = None + + @property + def content(self): + """Content of the response as bytes.""" + + if self._content is None: + # Read the contents. + # NOTE: requests would attempt to call stream and fall back + # to a custom generator that would call read in a loop, but + # we don't rely on this behavior + self._content = bytes().join(self.raw.stream()) or bytes() + + return self._content + + @property + def text(self): + """Content of the response as a proper text type. + + Uses the encoding type provided in the reponse headers to decode the + response content into a proper text type. If the encoding is not + present in the headers, UTF-8 is used as a default. + """ + encoding = botocore.utils.get_encoding_from_headers(self.headers) + if encoding: + return self.content.decode(encoding) + else: + return self.content.decode('utf-8') + + +class _HeaderKey(object): + def __init__(self, key): + self._key = key + self._lower = key.lower() + + def __hash__(self): + return hash(self._lower) + + def __eq__(self, other): + return isinstance(other, _HeaderKey) and self._lower == other._lower + + def __str__(self): + return self._key + + def __repr__(self): + return repr(self._key) + + +class HeadersDict(MutableMapping): + """A case-insenseitive dictionary to represent HTTP headers. """ + def __init__(self, *args, **kwargs): + self._dict = {} + self.update(*args, **kwargs) + + def __setitem__(self, key, value): + self._dict[_HeaderKey(key)] = value + + def __getitem__(self, key): + return self._dict[_HeaderKey(key)] + + def __delitem__(self, key): + del self._dict[_HeaderKey(key)] + + def __iter__(self): + return (str(key) for key in self._dict) + + def __len__(self): + return len(self._dict) + + def __repr__(self): + return repr(self._dict) -HTTPSConnectionPool.ConnectionCls = AWSHTTPSConnection -HTTPConnectionPool.ConnectionCls = AWSHTTPConnection + def copy(self): + return HeadersDict(self.items()) diff -Nru python-botocore-1.4.70/botocore/cacert.pem python-botocore-1.16.19+repack/botocore/cacert.pem --- python-botocore-1.4.70/botocore/cacert.pem 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/cacert.pem 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,4433 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R2 +# Label: "GlobalSign Root CA - R2" +# Serial: 4835703278459682885658125 +# MD5 Fingerprint: 94:14:77:7e:3e:5e:fd:8f:30:bd:41:b0:cf:e7:d0:30 +# SHA1 Fingerprint: 75:e0:ab:b6:13:85:12:27:1c:04:f8:5f:dd:de:38:e4:b7:24:2e:fe +# SHA256 Fingerprint: ca:42:dd:41:74:5f:d0:b8:1e:b9:02:36:2c:f9:d8:bf:71:9d:a1:bd:1b:1e:fc:94:6f:5b:4c:99:f4:2c:1b:9e +-----BEGIN CERTIFICATE----- +MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1 +MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL +v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8 +eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq +tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd +C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa +zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB +mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH +V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n +bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG +3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs +J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO +291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS +ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd +AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 +TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 1999 VeriSign, Inc. - For authorized use only +# Label: "Verisign Class 3 Public Primary Certification Authority - G3" +# Serial: 206684696279472310254277870180966723415 +# MD5 Fingerprint: cd:68:b6:a7:c7:c4:ce:75:e0:1d:4f:57:44:61:92:09 +# SHA1 Fingerprint: 13:2d:0d:45:53:4b:69:97:cd:b2:d5:c3:39:e2:55:76:60:9b:5c:c6 +# SHA256 Fingerprint: eb:04:cf:5e:b1:f3:9a:fa:76:2f:2b:b1:20:f2:96:cb:a5:20:c1:b9:7d:b1:58:95:65:b8:1c:b9:a1:7b:72:44 +-----BEGIN CERTIFICATE----- +MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl +cmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWdu +LCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlT +aWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp +dHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQswCQYD +VQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT +aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJ +bmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWdu +IENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMu6nFL8eB8aHm8b +N3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1EUGO+i2t +KmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGu +kxUccLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBm +CC+Vk7+qRy+oRpfwEuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJ +Xwzw3sJ2zq/3avL6QaaiMxTJ5Xpj055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWu +imi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAERSWwauSCPc/L8my/uRan2Te +2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5fj267Cz3qWhMe +DGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC +/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565p +F4ErWjfJXir0xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGt +TxzhT5yvDwyd93gN2PQ1VoDat20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Subject: CN=AddTrust External CA Root O=AddTrust AB OU=AddTrust External TTP Network +# Label: "AddTrust External Root" +# Serial: 1 +# MD5 Fingerprint: 1d:35:54:04:85:78:b0:3f:42:42:4d:bf:20:73:0a:3f +# SHA1 Fingerprint: 02:fa:f3:e2:91:43:54:68:60:78:57:69:4d:f5:e4:5b:68:85:18:68 +# SHA256 Fingerprint: 68:7f:a4:51:38:22:78:ff:f0:c8:b1:1f:8d:43:d5:76:67:1c:6e:b2:bc:ea:b4:13:fb:83:d9:65:d0:6d:2f:f2 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU +MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs +IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290 +MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux +FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h +bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v +dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt +H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9 +uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX +mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX +a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN +E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0 +WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD +VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0 +Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU +cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx +IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN +AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH +YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 +6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC +Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX +c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a +mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Global CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Global CA O=GeoTrust Inc. +# Label: "GeoTrust Global CA" +# Serial: 144470 +# MD5 Fingerprint: f7:75:ab:29:fb:51:4e:b7:77:5e:ff:05:3c:99:8e:f5 +# SHA1 Fingerprint: de:28:f4:a4:ff:e5:b9:2f:a3:c5:03:d1:a3:49:a7:f9:96:2a:82:12 +# SHA256 Fingerprint: ff:85:6a:2d:25:1d:cd:88:d3:66:56:f4:50:12:67:98:cf:ab:aa:de:40:79:9c:72:2d:e4:d2:b5:db:36:a7:3a +-----BEGIN CERTIFICATE----- +MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i +YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG +EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg +R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9 +9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq +fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv +iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU +1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+ +bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW +MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA +ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l +uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn +Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS +tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF +PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un +hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV +5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw== +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA O=GeoTrust Inc. +# Label: "GeoTrust Universal CA" +# Serial: 1 +# MD5 Fingerprint: 92:65:58:8b:a2:1a:31:72:73:68:5c:b4:a5:7a:07:48 +# SHA1 Fingerprint: e6:21:f3:35:43:79:05:9a:4b:68:30:9d:8a:2f:74:22:15:87:ec:79 +# SHA256 Fingerprint: a0:45:9b:9f:63:b2:25:59:f5:fa:5d:4c:6d:b3:f9:f7:2f:f1:93:42:03:35:78:f0:73:bf:1d:1b:46:cb:b9:12 +-----BEGIN CERTIFICATE----- +MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVy +c2FsIENBMB4XDTA0MDMwNDA1MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UE +BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xHjAcBgNVBAMTFUdlb1RydXN0 +IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKYV +VaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9tJPi8 +cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTT +QjOgNB0eRXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFh +F7em6fgemdtzbvQKoiFs7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2v +c7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d8Lsrlh/eezJS/R27tQahsiFepdaVaH/w +mZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7VqnJNk22CDtucvc+081xd +VHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3CgaRr0BHdCX +teGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZ +f9hBZ3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfRe +Bi9Fi1jUIxaS5BZuKGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+ +nhutxx9z3SxPGWX9f5NAEC7S8O08ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0XG0D08DYj3rWMB8GA1UdIwQY +MBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG +9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc +aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fX +IwjhmF7DWgh2qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzyn +ANXH/KttgCJwpQzgXQQpAvvLoJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0z +uzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsKxr2EoyNB3tZ3b4XUhRxQ4K5RirqN +Pnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxFKyDuSN/n3QmOGKja +QI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2DFKW +koRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9 +ER/frslKxfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQt +DF4JbAiXfKM9fJP/P6EUp8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/Sfuvm +bJxPgWp6ZKy7PtXny3YuxadIwVyQD8vIP/rmMuGNG2+k5o7Y+SlIis5z/iw= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Subject: CN=GeoTrust Universal CA 2 O=GeoTrust Inc. +# Label: "GeoTrust Universal CA 2" +# Serial: 1 +# MD5 Fingerprint: 34:fc:b8:d0:36:db:9e:14:b3:c2:f2:db:8f:e4:94:c7 +# SHA1 Fingerprint: 37:9a:19:7b:41:85:45:35:0c:a6:03:69:f3:3c:2e:af:47:4f:20:79 +# SHA256 Fingerprint: a0:23:4f:3b:c8:52:7c:a5:62:8e:ec:81:ad:5d:69:89:5d:a5:68:0d:c9:1d:1c:b8:47:7f:33:f8:78:b9:5b:0b +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEW +MBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVy +c2FsIENBIDIwHhcNMDQwMzA0MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYD +VQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1 +c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0DE81 +WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUG +FF+3Qs17j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdq +XbboW0W63MOhBW9Wjo8QJqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxL +se4YuU6W3Nx2/zu+z18DwPw76L5GG//aQMJS9/7jOvdqdzXQ2o3rXhhqMcceujwb +KNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2WP0+GfPtDCapkzj4T8Fd +IgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP20gaXT73 +y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRt +hAAnZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgoc +QIgfksILAAX/8sgCSqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4 +Lt1ZrtmhN79UNdxzMk+MBB4zsslG8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAfBgNV +HSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8EBAMCAYYwDQYJ +KoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z +dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQ +L1EuxBRa3ugZ4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgr +Fg5fNuH8KrUwJM/gYwx7WBr+mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSo +ag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpqA1Ihn0CoZ1Dy81of398j9tx4TuaY +T1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpgY+RdM4kX2TGq2tbz +GDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiPpm8m +1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJV +OCiNUW7dFGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH +6aLcr34YEoP9VhdBLtUpgn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwX +QMAJKOSLakhT2+zNVVXxxvjpoixMptEmX36vWkzaH6byHCx+rgIW0lbQL1dTR+iS +-----END CERTIFICATE----- + +# Issuer: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association +# Subject: CN=Visa eCommerce Root O=VISA OU=Visa International Service Association +# Label: "Visa eCommerce Root" +# Serial: 25952180776285836048024890241505565794 +# MD5 Fingerprint: fc:11:b8:d8:08:93:30:00:6d:23:f9:7e:eb:52:1e:02 +# SHA1 Fingerprint: 70:17:9b:86:8c:00:a4:fa:60:91:52:22:3f:9f:3e:32:bd:e0:05:62 +# SHA256 Fingerprint: 69:fa:c9:bd:55:fb:0a:c7:8d:53:bb:ee:5c:f1:d5:97:98:9f:d0:aa:ab:20:a2:51:51:bd:f1:73:3e:e7:d1:22 +-----BEGIN CERTIFICATE----- +MIIDojCCAoqgAwIBAgIQE4Y1TR0/BvLB+WUF1ZAcYjANBgkqhkiG9w0BAQUFADBr +MQswCQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRl +cm5hdGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNv +bW1lcmNlIFJvb3QwHhcNMDIwNjI2MDIxODM2WhcNMjIwNjI0MDAxNjEyWjBrMQsw +CQYDVQQGEwJVUzENMAsGA1UEChMEVklTQTEvMC0GA1UECxMmVmlzYSBJbnRlcm5h +dGlvbmFsIFNlcnZpY2UgQXNzb2NpYXRpb24xHDAaBgNVBAMTE1Zpc2EgZUNvbW1l +cmNlIFJvb3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvV95WHm6h +2mCxlCfLF9sHP4CFT8icttD0b0/Pmdjh28JIXDqsOTPHH2qLJj0rNfVIsZHBAk4E +lpF7sDPwsRROEW+1QK8bRaVK7362rPKgH1g/EkZgPI2h4H3PVz4zHvtH8aoVlwdV +ZqW1LS7YgFmypw23RuwhY/81q6UCzyr0TP579ZRdhE2o8mCP2w4lPJ9zcc+U30rq +299yOIzzlr3xF7zSujtFWsan9sYXiwGd/BmoKoMWuDpI/k4+oKsGGelT84ATB+0t +vz8KPFUgOSwsAGl0lUq8ILKpeeUYiZGo3BxN77t+Nwtd/jmliFKMAGzsGHxBvfaL +dXe6YJ2E5/4tAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQVOIMPPyw/cDMezUb+B4wg4NfDtzANBgkqhkiG9w0BAQUF +AAOCAQEAX/FBfXxcCLkr4NWSR/pnXKUTwwMhmytMiUbPWU3J/qVAtmPN3XEolWcR +zCSs00Rsca4BIGsDoo8Ytyk6feUWYFN4PMCvFYP3j1IzJL1kk5fui/fbGKhtcbP3 +LBfQdCVp9/5rPJS+TUtBjE7ic9DjkCJzQ83z7+pzzkWKsKZJ/0x9nXGIxHYdkFsd +7v3M9+79YKWxehZx0RbQfBI8bGmX265fOZpwLwU8GUYEmSA20GBuYQa7FkKMcPcw +++DbZqMAAb3mLNqRX6BGi01qnD093QVG/na/oAo85ADmJ7f/hC3euiInlhBx6yLt +398znM/jra6O1I7mT1GvFpLgXPYHDw== +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Subject: CN=QuoVadis Root Certification Authority O=QuoVadis Limited OU=Root Certification Authority +# Label: "QuoVadis Root CA" +# Serial: 985026699 +# MD5 Fingerprint: 27:de:36:fe:72:b7:00:03:00:9d:f4:f0:1e:6c:04:24 +# SHA1 Fingerprint: de:3f:40:bd:50:93:d3:9b:6c:60:f6:da:bc:07:62:01:00:89:76:c9 +# SHA256 Fingerprint: a4:5e:de:3b:bb:f0:9c:8a:e1:5c:72:ef:c0:72:68:d6:93:a2:1c:99:6f:d5:1e:67:ca:07:94:60:fd:6d:88:73 +-----BEGIN CERTIFICATE----- +MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0 +aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAzMTkxODMzMzNaFw0yMTAzMTcxODMz +MzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUw +IwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQDEyVR +dW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Yp +li4kVEAkOPcahdxYTMukJ0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2D +rOpm2RgbaIr1VxqYuvXtdj182d6UajtLF8HVj71lODqV0D1VNk7feVcxKh7YWWVJ +WCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeLYzcS19Dsw3sgQUSj7cug +F+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWenAScOospU +xbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCC +Ak4wPQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVv +dmFkaXNvZmZzaG9yZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREw +ggENMIIBCQYJKwYBBAG+WAABMIH7MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNl +IG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBh +c3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh +Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYI +KwYBBQUHAgEWFmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3T +KbkGGew5Oanwl4Rqy+/fMIGuBgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rq +y+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p +dGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYD +VQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6tlCL +MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSk +fnIYj9lofFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf8 +7C9TqnN7Az10buYWnuulLsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1R +cHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2xgI4JVrmcGmD+XcHXetwReNDWXcG31a0y +mQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi5upZIof4l/UO/erMkqQW +xFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi5nrQNiOK +SnQ2+Q== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust.net OU=Security Communication RootCA1 +# Subject: O=SECOM Trust.net OU=Security Communication RootCA1 +# Label: "Security Communication Root CA" +# Serial: 0 +# MD5 Fingerprint: f1:bc:63:6a:54:e0:b5:27:f5:cd:e7:1a:e3:4d:6e:4a +# SHA1 Fingerprint: 36:b1:2b:49:f9:81:9e:d7:4c:9e:bc:38:0f:c6:56:8f:5d:ac:b2:f7 +# SHA256 Fingerprint: e7:5e:72:ed:9f:56:0e:ec:6e:b4:80:00:73:a4:3f:c3:ad:19:19:5a:39:22:82:01:78:95:97:4a:99:02:6b:6c +-----BEGIN CERTIFICATE----- +MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEY +MBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21t +dW5pY2F0aW9uIFJvb3RDQTEwHhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5 +WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMPU0VDT00gVHJ1c3QubmV0MScwJQYD +VQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw8yl8 +9f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJ +DKaVv0uMDPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9 +Ms+k2Y7CI9eNqPPYJayX5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/N +QV3Is00qVUarH9oe4kA92819uZKAnDfdDJZkndwi92SL32HeFZRSFaB9UslLqCHJ +xrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2JChzAgMBAAGjPzA9MB0G +A1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vG +kl3g0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfr +Uj94nK9NrvjVT8+amCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5 +Bw+SUEmK3TGXX8npN6o7WWWXlDLJs58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJU +JRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ6rBK+1YWc26sTfcioU+tHXot +RSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAiFL39vmwLAw== +-----END CERTIFICATE----- + +# Issuer: CN=Sonera Class2 CA O=Sonera +# Subject: CN=Sonera Class2 CA O=Sonera +# Label: "Sonera Class 2 Root CA" +# Serial: 29 +# MD5 Fingerprint: a3:ec:75:0f:2e:88:df:fa:48:01:4e:0b:5c:48:6f:fb +# SHA1 Fingerprint: 37:f7:6d:e6:07:7c:90:c5:b1:3e:93:1a:b7:41:10:b4:f2:e4:9a:27 +# SHA256 Fingerprint: 79:08:b4:03:14:c1:38:10:0b:51:8d:07:35:80:7f:fb:fc:f8:51:8a:00:95:33:71:05:ba:38:6b:15:3d:d9:27 +-----BEGIN CERTIFICATE----- +MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEP +MA0GA1UEChMGU29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAx +MDQwNjA3Mjk0MFoXDTIxMDQwNjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNV +BAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJhIENsYXNzMiBDQTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3/Ei9vX+ALTU74W+o +Z6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybTdXnt +5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s +3TmVToMGf+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2Ej +vOr7nQKV0ba5cTppCD8PtOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu +8nYybieDwnPz3BjotJPqdURrBGAgcVeHnfO+oJAjPYok4doh28MCAwEAAaMzMDEw +DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITTXjwwCwYDVR0PBAQDAgEG +MA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt0jSv9zil +zqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/ +3DEIcbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvD +FNr450kkkdAdavphOe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6 +Tk6ezAyNlNzZRZxe7EJQY670XcSxEtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2 +ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLHllpwrN9M +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: O=Government Root Certification Authority +# Subject: O=Government Root Certification Authority +# Label: "Taiwan GRCA" +# Serial: 42023070807708724159991140556527066870 +# MD5 Fingerprint: 37:85:44:53:32:45:1f:20:f0:f3:95:e1:25:c4:43:4e +# SHA1 Fingerprint: f4:8b:11:bf:de:ab:be:94:54:20:71:e6:41:de:6b:be:88:2b:40:b9 +# SHA256 Fingerprint: 76:00:29:5e:ef:e8:5b:9e:1f:d6:24:db:76:06:2a:aa:ae:59:81:8a:54:d2:77:4c:d4:c0:b2:c0:11:31:e1:b3 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/ +MQswCQYDVQQGEwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MB4XDTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1ow +PzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dvdmVybm1lbnQgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +AJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qNw8XR +IePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1q +gQdW8or5BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKy +yhwOeYHWtXBiCAEuTk8O1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAts +F/tnyMKtsc2AtJfcdgEWFelq16TheEfOhtX7MfP6Mb40qij7cEwdScevLJ1tZqa2 +jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wovJ5pGfaENda1UhhXcSTvx +ls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7Q3hub/FC +VGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHK +YS1tB6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoH +EgKXTiCQ8P8NHuJBO9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThN +Xo+EHWbNxWCWtFJaBYmOlXqYwZE8lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1Ud +DgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNVHRMEBTADAQH/MDkGBGcqBwAE +MTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg209yewDL7MTqK +UWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ +TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyf +qzvS/3WXy6TjZwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaK +ZEk9GhiHkASfQlK3T8v+R0F2Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFE +JPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlUD7gsL0u8qV1bYH+Mh6XgUmMqvtg7 +hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6QzDxARvBMB1uUO07+1 +EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+HbkZ6Mm +nD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WX +udpVBrkk7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44Vbnz +ssQwmSNOXfJIoRIM3BKQCZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDe +LMDDav7v3Aun+kbfYNucpllQdSNpc5Oy+fwC00fmcc4QAu4njIT/rEUNE1yDMuAl +pYYsfPQS +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=Class 2 Primary CA O=Certplus +# Subject: CN=Class 2 Primary CA O=Certplus +# Label: "Certplus Class 2 Primary CA" +# Serial: 177770208045934040241468760488327595043 +# MD5 Fingerprint: 88:2c:8c:52:b8:a2:3c:f3:f7:bb:03:ea:ae:ac:42:0b +# SHA1 Fingerprint: 74:20:74:41:72:9c:dd:92:ec:79:31:d8:23:10:8d:c2:81:92:e2:bb +# SHA256 Fingerprint: 0f:99:3c:8a:ef:97:ba:af:56:87:14:0e:d5:9a:d1:82:1b:b4:af:ac:f0:aa:9a:58:b5:d5:7a:33:8a:3a:fb:cb +-----BEGIN CERTIFICATE----- +MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAw +PTELMAkGA1UEBhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFz +cyAyIFByaW1hcnkgQ0EwHhcNOTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9 +MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2VydHBsdXMxGzAZBgNVBAMTEkNsYXNz +IDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANxQ +ltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR5aiR +VhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyL +kcAbmXuZVg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCd +EgETjdyAYveVqUSISnFOYFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yas +H7WLO7dDWWuwJKZtkIvEcupdM5i3y95ee++U8Rs+yskhwcWYAqqi9lt3m/V+llU0 +HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRMECDAGAQH/AgEKMAsGA1Ud +DwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJYIZIAYb4 +QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMu +Y29tL0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/ +AN9WM2K191EBkOvDP9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8 +yfFC82x/xXp8HVGIutIKPidd3i1RTtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMR +FcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+7UCmnYR0ObncHoUW2ikbhiMA +ybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW//1IMwrh3KWB +kJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 +l7+ijrRU +-----END CERTIFICATE----- + +# Issuer: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Subject: CN=DST Root CA X3 O=Digital Signature Trust Co. +# Label: "DST Root CA X3" +# Serial: 91299735575339953335919266965803778155 +# MD5 Fingerprint: 41:03:52:dc:0f:f7:50:1b:16:f0:02:8e:ba:6f:45:c5 +# SHA1 Fingerprint: da:c9:02:4f:54:d8:f6:df:94:93:5f:b1:73:26:38:ca:6a:d7:7c:13 +# SHA256 Fingerprint: 06:87:26:03:31:a7:24:03:d9:09:f1:05:e6:9b:cf:0d:32:e1:bd:24:93:ff:c6:d9:20:6d:11:bc:d6:77:07:39 +-----BEGIN CERTIFICATE----- +MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVow +PzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1cmUgVHJ1c3QgQ28uMRcwFQYDVQQD +Ew5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +AN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmTrE4O +rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEq +OLl5CjH9UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9b +xiqKqy69cK3FCxolkHRyxXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw +7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40dutolucbY38EVAjqr2m7xPi71XAicPNaD +aeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQMA0GCSqG +SIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69 +ikugdB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXr +AvHRAosZy5Q6XkjEGB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZz +R8srzJmwN0jP41ZL9c8PDHIyh8bwRLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5 +JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubSfZGL+T0yjWW06XyxV3bqxbYo +Ob8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln +biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF +MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT +d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 +76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ +bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c +6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE +emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd +MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt +MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y +MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y +FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi +aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM +gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB +qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 +lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn +8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 +45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO +UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 +O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC +bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv +GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a +77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC +hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 +92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp +Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w +ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt +Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu +IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow +RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY +U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv +Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br +YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF +nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH +6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt +eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ +c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ +MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH +HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf +jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 +5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB +rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c +wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB +AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp +WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 +xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ +2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ +IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 +aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X +em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR +dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ +OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy +tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Subject: CN=GeoTrust Primary Certification Authority O=GeoTrust Inc. +# Label: "GeoTrust Primary Certification Authority" +# Serial: 32798226551256963324313806436981982369 +# MD5 Fingerprint: 02:26:c3:01:5e:08:30:37:43:a9:d0:7d:cf:37:e6:bf +# SHA1 Fingerprint: 32:3c:11:8e:1b:f7:b8:b6:52:54:e2:e2:10:0d:d6:02:90:37:f0:96 +# SHA256 Fingerprint: 37:d5:10:06:c5:12:ea:ab:62:64:21:f1:ec:8c:92:01:3f:c5:f8:2a:e9:8e:e5:33:eb:46:19:b8:de:b4:d0:6c +-----BEGIN CERTIFICATE----- +MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBY +MQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMo +R2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEx +MjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgxCzAJBgNVBAYTAlVTMRYwFAYDVQQK +Ew1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQcmltYXJ5IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9 +AWbK7hWNb6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjA +ZIVcFU2Ix7e64HXprQU9nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE0 +7e9GceBrAqg1cmuXm2bgyxx5X9gaBGgeRwLmnWDiNpcB3841kt++Z8dtd1k7j53W +kBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGttm/81w7a4DSwDRp35+MI +mO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJ +KoZIhvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ1 +6CePbJC/kRYkRj5KTs4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl +4b7UVXGYNTq+k+qurUKykG/g/CFNNWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6K +oKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHaFloxt/m0cYASSJlyc1pZU8Fj +UjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG1riR/aYNKxoU +AT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA O=thawte, Inc. OU=Certification Services Division/(c) 2006 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA" +# Serial: 69529181992039203566298953787712940909 +# MD5 Fingerprint: 8c:ca:dc:0b:22:ce:f5:be:72:ac:41:1a:11:a8:d8:12 +# SHA1 Fingerprint: 91:c6:d6:ee:3e:8a:c8:63:84:e5:48:c2:99:29:5c:75:6c:81:7b:81 +# SHA256 Fingerprint: 8d:72:2f:81:a9:c1:13:c0:79:1d:f1:36:a2:96:6d:b2:6c:95:0a:97:1d:b4:6b:41:99:f4:ea:54:b7:8b:fb:9f +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB +qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV +BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw +NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j +LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG +A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl +IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs +W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta +3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk +6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6 +Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J +NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP +r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU +DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz +YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX +xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2 +/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/ +LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7 +jVaMaA== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2006 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G5" +# Serial: 33037644167568058970164719475676101450 +# MD5 Fingerprint: cb:17:e4:31:67:3e:e2:09:fe:45:57:93:f3:0a:fa:1c +# SHA1 Fingerprint: 4e:b6:d5:78:49:9b:1c:cf:5f:58:1e:ad:56:be:3d:9b:67:44:a5:e5 +# SHA256 Fingerprint: 9a:cf:ab:7e:43:c8:d8:80:d0:6b:26:2a:94:de:ee:e4:b4:65:99:89:c3:d0:ca:f1:9b:af:64:05:e4:1a:b7:df +-----BEGIN CERTIFICATE----- +MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB +yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW +ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvJAgIKXo1 +nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKzj/i5Vbex +t0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIz +SdhDY2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQG +BO+QueQA5N06tRn/Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+ +rCpSx4/VBEnkjWNHiDxpg8v+R70rfk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/ +NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E +BAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAH +BgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy +aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKv +MzEzMA0GCSqGSIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzE +p6B4Eq1iDkVwZMXnl2YtmAl+X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y +5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKEKQsTb47bDN0lAtukixlE0kF6BWlK +WE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiCKm0oHw0LxOXnGiYZ +4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vEZV8N +hnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Subject: CN=Network Solutions Certificate Authority O=Network Solutions L.L.C. +# Label: "Network Solutions Certificate Authority" +# Serial: 116697915152937497490437556386812487904 +# MD5 Fingerprint: d3:f3:a6:16:c0:fa:6b:1d:59:b1:2d:96:4d:0e:11:2e +# SHA1 Fingerprint: 74:f8:a3:c3:ef:e7:b3:90:06:4b:83:90:3c:21:64:60:20:e5:df:ce +# SHA256 Fingerprint: 15:f0:ba:00:a3:ac:7a:f3:ac:88:4c:07:2b:10:11:a0:77:bd:77:c0:97:f4:01:64:b2:f8:59:8a:bd:83:86:0c +-----BEGIN CERTIFICATE----- +MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBi +MQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu +MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3Jp +dHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMxMjM1OTU5WjBiMQswCQYDVQQGEwJV +UzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydO +ZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwz +c7MEL7xxjOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPP +OCwGJgl6cvf6UDL4wpPTaaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rl +mGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXTcrA/vGp97Eh/jcOrqnErU2lBUzS1sLnF +BgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc/Qzpf14Dl847ABSHJ3A4 +qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMBAAGjgZcw +gZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwu +bmV0c29sc3NsLmNvbS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3Jp +dHkuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc8 +6fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q4LqILPxFzBiwmZVRDuwduIj/ +h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/GGUsyfJj4akH +/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv +wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHN +pGxlaKFJdlxDydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GA CA O=WISeKey OU=Copyright (c) 2005/OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GA CA" +# Serial: 86718877871133159090080555911823548314 +# MD5 Fingerprint: bc:6c:51:33:a7:e9:d3:66:63:54:15:72:1b:21:92:93 +# SHA1 Fingerprint: 59:22:a1:e1:5a:ea:16:35:21:f8:98:39:6a:46:46:b0:44:1b:0f:a9 +# SHA256 Fingerprint: 41:c9:23:86:6a:b4:ca:d6:b7:ad:57:80:81:58:2e:02:07:97:a6:cb:df:4f:ff:78:ce:83:96:b3:89:37:d7:f5 +-----BEGIN CERTIFICATE----- +MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB +ijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly +aWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl +ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w +NTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G +A1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD +VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX +SVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR +VVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2 +w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF +mQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg +4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9 +4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw +EAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx +SPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2 +ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8 +vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa +hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi +Fj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ +/L7fCg0= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Subject: CN=Deutsche Telekom Root CA 2 O=Deutsche Telekom AG OU=T-TeleSec Trust Center +# Label: "Deutsche Telekom Root CA 2" +# Serial: 38 +# MD5 Fingerprint: 74:01:4a:91:b1:08:c4:58:ce:47:cd:f0:dd:11:53:08 +# SHA1 Fingerprint: 85:a4:08:c0:9c:19:3e:5d:51:58:7d:cd:d6:13:30:fd:8c:de:37:bf +# SHA256 Fingerprint: b6:19:1a:50:d0:c3:97:7f:7d:a9:9b:cd:aa:c8:6a:22:7d:ae:b9:67:9e:c7:0b:a3:b0:c9:d9:22:71:c1:70:d3 +-----BEGIN CERTIFICATE----- +MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEc +MBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2Vj +IFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENB +IDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5MjM1OTAwWjBxMQswCQYDVQQGEwJE +RTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxl +U2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290 +IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEU +ha88EOQ5bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhC +QN/Po7qCWWqSG6wcmtoIKyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1Mjwr +rFDa1sPeg5TKqAyZMg4ISFZbavva4VhYAUlfckE8FQYBjl2tqriTtM2e66foai1S +NNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aKSe5TBY8ZTNXeWHmb0moc +QqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTVjlsB9WoH +txa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAP +BgNVHRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC +AQEAlGRZrTlk5ynrE/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756Abrsp +tJh6sTtU6zkXR34ajgv8HzFZMQSyzhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpa +IzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8rZ7/gFnkm0W09juwzTkZmDLl +6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4Gdyd1Lx+4ivn+ +xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU +Cm26OWMohpLzGITY+9HPBVZkVw== +-----END CERTIFICATE----- + +# Issuer: CN=Cybertrust Global Root O=Cybertrust, Inc +# Subject: CN=Cybertrust Global Root O=Cybertrust, Inc +# Label: "Cybertrust Global Root" +# Serial: 4835703278459682877484360 +# MD5 Fingerprint: 72:e4:4a:87:e3:69:40:80:77:ea:bc:e3:f4:ff:f0:e1 +# SHA1 Fingerprint: 5f:43:e5:b1:bf:f8:78:8c:ac:1c:c7:ca:4a:9a:c6:22:2b:cc:34:c6 +# SHA256 Fingerprint: 96:0a:df:00:63:e9:63:56:75:0c:29:65:dd:0a:08:67:da:0b:9c:bd:6e:77:71:4a:ea:fb:23:49:ab:39:3d:a3 +-----BEGIN CERTIFICATE----- +MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYG +A1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2Jh +bCBSb290MB4XDTA2MTIxNTA4MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UE +ChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBS +b290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA+Mi8vRRQZhP/8NN5 +7CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW0ozS +J8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2y +HLtgwEZLAfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iP +t3sMpTjr3kfb1V05/Iin89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNz +FtApD0mpSPCzqrdsxacwOUBdrsTiXSZT8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAY +XSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/ +MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2MDSgMqAw +hi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3Js +MB8GA1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUA +A4IBAQBW7wojoFROlZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj +Wqd8BfP9IjsO0QbE2zZMcwSO5bAi5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUx +XOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2hO0j9n0Hq0V+09+zv+mKts2o +omcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+TX3EJIrduPuoc +A06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW +WL1WMRJOEcgh4LMRkWXbtKaIOM5V +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G3 O=GeoTrust Inc. OU=(c) 2008 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G3" +# Serial: 28809105769928564313984085209975885599 +# MD5 Fingerprint: b5:e8:34:36:c9:10:44:58:48:70:6d:2e:83:d4:b8:05 +# SHA1 Fingerprint: 03:9e:ed:b8:0b:e7:a0:3c:69:53:89:3b:20:d2:d9:32:3a:4c:2a:fd +# SHA256 Fingerprint: b4:78:b8:12:25:0d:f8:78:63:5c:2a:a7:ec:7d:15:5e:aa:62:5e:e8:29:16:e2:cd:29:43:61:88:6c:d1:fb:d4 +-----BEGIN CERTIFICATE----- +MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCB +mDELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsT +MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s +eTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIzNTk1OVowgZgxCzAJ +BgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg +MjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0 +BgNVBAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkg +LSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz ++uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5jK/BGvESyiaHAKAxJcCGVn2TAppMSAmUm +hsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdEc5IiaacDiGydY8hS2pgn +5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3CIShwiP/W +JmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exAL +DmKudlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZC +huOl1UcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw +HQYDVR0OBBYEFMR5yo6hTgMdHNxr2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IB +AQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9cr5HqQ6XErhK8WTTOd8lNNTB +zU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbEAp7aDHdlDkQN +kv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD +AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUH +SJsMC8tJP33st/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2G +spki4cErx5z481+oghLrGREt +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G2 O=thawte, Inc. OU=(c) 2007 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G2" +# Serial: 71758320672825410020661621085256472406 +# MD5 Fingerprint: 74:9d:ea:60:24:c4:fd:22:53:3e:cc:3a:72:d9:29:4f +# SHA1 Fingerprint: aa:db:bc:22:23:8f:c4:01:a1:27:bb:38:dd:f4:1d:db:08:9e:f0:12 +# SHA256 Fingerprint: a4:31:0d:50:af:18:a6:44:71:90:37:2a:86:af:af:8b:95:1f:fb:43:1d:83:7f:1e:56:88:b4:59:71:ed:15:57 +-----BEGIN CERTIFICATE----- +MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMp +IDIwMDcgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAi +BgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMjAeFw0wNzExMDUwMDAw +MDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh +d3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBGb3Ig +YXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9v +dCBDQSAtIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/ +BebfowJPDQfGAFG6DAJSLSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6 +papu+7qzcMBniKI11KOasf2twu8x+qi58/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmtgAMADna3+FGO6Lts6K +DPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUNG4k8VIZ3 +KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox +XZ3Krr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== +-----END CERTIFICATE----- + +# Issuer: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Subject: CN=thawte Primary Root CA - G3 O=thawte, Inc. OU=Certification Services Division/(c) 2008 thawte, Inc. - For authorized use only +# Label: "thawte Primary Root CA - G3" +# Serial: 127614157056681299805556476275995414779 +# MD5 Fingerprint: fb:1b:5d:43:8a:94:cd:44:c6:76:f2:43:4b:47:e7:31 +# SHA1 Fingerprint: f1:8b:53:8d:1b:e9:03:b6:a6:f0:56:43:5b:17:15:89:ca:f3:6b:f2 +# SHA256 Fingerprint: 4b:03:f4:58:07:ad:70:f2:1b:fc:2c:ae:71:c9:fd:e4:60:4c:06:4c:f5:ff:b6:86:ba:e5:db:aa:d7:fd:d3:4c +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCB +rjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf +Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw +MDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNV +BAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0wODA0MDIwMDAwMDBa +Fw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhhd3Rl +LCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9u +MTgwNgYDVQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXpl +ZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsr8nLPvb2FvdeHsbnndm +gcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2AtP0LMqmsywCPLLEHd5N/8 +YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC+BsUa0Lf +b1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS9 +9irY7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2S +zhkGcuYMXDhpxwTWvGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUk +OQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV +HQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJKoZIhvcNAQELBQADggEBABpA +2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweKA3rD6z8KLFIW +oCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu +t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7c +KUGRIjxpp7sC8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fM +m7v/OeZWYdMKp8RcTGB7BXcmer/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZu +MdRAGmI0Nj81Aa6sY6A= +-----END CERTIFICATE----- + +# Issuer: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Subject: CN=GeoTrust Primary Certification Authority - G2 O=GeoTrust Inc. OU=(c) 2007 GeoTrust Inc. - For authorized use only +# Label: "GeoTrust Primary Certification Authority - G2" +# Serial: 80682863203381065782177908751794619243 +# MD5 Fingerprint: 01:5e:d8:6b:bd:6f:3d:8e:a1:31:f8:12:e0:98:73:6a +# SHA1 Fingerprint: 8d:17:84:d5:37:f3:03:7d:ec:70:fe:57:8b:51:9a:99:e6:10:d7:b0 +# SHA256 Fingerprint: 5e:db:7a:c4:3b:82:a0:6a:87:61:e8:d7:be:49:79:eb:f2:61:1f:7d:d7:9b:f9:1c:1c:6b:56:6a:21:9e:d7:66 +-----BEGIN CERTIFICATE----- +MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDEL +MAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChj +KSAyMDA3IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2 +MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1OVowgZgxCzAJBgNV +BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykgMjAw +NyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNV +BAMTLUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBH +MjB2MBAGByqGSM49AgEGBSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcL +So17VDs6bl8VAsBQps8lL33KSLjHUGMcKiEIfJo22Av+0SbFWDEwKCXzXV2juLal +tJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+EVXVMAoG +CCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGT +qQ7mndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBucz +rD6ogRLQy7rQkgu2npaqBA+K +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Universal Root Certification Authority O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2008 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Universal Root Certification Authority" +# Serial: 85209574734084581917763752644031726877 +# MD5 Fingerprint: 8e:ad:b5:01:aa:4d:81:e4:8c:1d:d1:e1:14:00:95:19 +# SHA1 Fingerprint: 36:79:ca:35:66:87:72:30:4d:30:a5:fb:87:3b:0f:a7:7b:b7:0d:54 +# SHA256 Fingerprint: 23:99:56:11:27:a5:71:25:de:8c:ef:ea:61:0d:df:2f:a0:78:b5:c8:06:7f:4e:82:82:90:bf:b8:60:e8:4b:3c +-----BEGIN CERTIFICATE----- +MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCB +vTELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL +ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJp +U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYDVQQDEy9W +ZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJVUzEX +MBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0 +IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9y +IGF1dGhvcml6ZWQgdXNlIG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNh +bCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj1mCOkdeQmIN65lgZOIzF +9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGPMiJhgsWH +H26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+H +LL729fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN +/BMReYTtXlT2NJ8IAfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPT +rJ9VAMf2CGqUuV/c4DPxhGD5WycRtPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1Ud +EwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEwX6FdoFsw +WTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2Oa8PPgGrUSBgs +exkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud +DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4 +sAPmLGd75JR3Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+ +seQxIcaBlVZaDrHC1LGmWazxY8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz +4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTxP/jgdFcrGJ2BtMQo2pSXpXDrrB2+ +BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+PwGZsY6rp2aQW9IHR +lRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4mJO3 +7M2CYfE45k+XmCpajQ== +-----END CERTIFICATE----- + +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4 O=VeriSign, Inc. OU=VeriSign Trust Network/(c) 2007 VeriSign, Inc. - For authorized use only +# Label: "VeriSign Class 3 Public Primary Certification Authority - G4" +# Serial: 63143484348153506665311985501458640051 +# MD5 Fingerprint: 3a:52:e1:e7:fd:6f:3a:e3:6f:f3:6f:99:1b:f9:22:41 +# SHA1 Fingerprint: 22:d5:d8:df:8f:02:31:d1:8d:f7:9d:b7:cf:8a:2d:64:c9:3f:6c:3a +# SHA256 Fingerprint: 69:dd:d7:ea:90:bb:57:c9:3e:13:5d:c8:5e:a6:fc:d5:48:0b:60:32:39:bd:c4:54:fc:75:8b:2a:26:cf:7f:79 +-----BEGIN CERTIFICATE----- +MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjEL +MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW +ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2ln +biwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJp +U2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y +aXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjELMAkG +A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp +U2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwg +SW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2ln +biBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8Utpkmw4tXNherJI9/gHm +GUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGzrl0Bp3ve +fLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJ +aW1hZ2UvZ2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYj +aHR0cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMW +kf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMDA2gAMGUCMGYhDBgmYFo4e1ZC +4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIxAJw9SDkjOVga +FRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G2 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G2" +# Serial: 10000012 +# MD5 Fingerprint: 7c:a5:0f:f8:5b:9a:7d:6d:30:ae:54:5a:e3:42:a2:8a +# SHA1 Fingerprint: 59:af:82:79:91:86:c7:b4:75:07:cb:cf:03:57:46:eb:04:dd:b7:16 +# SHA256 Fingerprint: 66:8c:83:94:7d:a6:3b:72:4b:ec:e1:74:3c:31:a0:e6:ae:d0:db:8e:c5:b3:1b:e3:77:bb:78:4f:91:b6:71:6f +-----BEGIN CERTIFICATE----- +MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oX +DTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ5291 +qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8Sp +uOUfiUtnvWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPU +Z5uW6M7XxgpT0GtJlvOjCwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvE +pMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiile7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp +5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCROME4HYYEhLoaJXhena/M +UGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpICT0ugpTN +GmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy +5V6548r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv +6q012iDTiIJh8BIitrzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEK +eN5KzlW/HdXZt1bv8Hb/C3m1r737qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6 +B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMBAAGjgZcwgZQwDwYDVR0TAQH/ +BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcCARYxaHR0cDov +L3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV +HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqG +SIb3DQEBCwUAA4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLyS +CZa59sCrI2AGeYwRTlHSeYAz+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen +5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwjf/ST7ZwaUb7dRUG/kSS0H4zpX897 +IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaNkqbG9AclVMwWVxJK +gnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfkCpYL ++63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxL +vJxxcypFURmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkm +bEgeqmiSBeGCc1qb3AdbCG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvk +N1trSt8sV4pAWja63XVECDdCcAz+3F4hoKOKwJCcaNpQ5kUQR3i2TtJlycM33+FC +Y7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoVIPVVYpbtbZNQvOSqeK3Z +ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm66+KAQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 1 O=Hongkong Post +# Label: "Hongkong Post Root CA 1" +# Serial: 1000 +# MD5 Fingerprint: a8:0d:6f:39:78:b9:43:6d:77:42:6d:98:5a:cc:23:ca +# SHA1 Fingerprint: d6:da:a8:20:8d:09:d2:15:4d:24:b5:2f:cb:34:6e:b2:58:b2:8a:58 +# SHA256 Fingerprint: f9:e6:7d:33:6c:51:00:2a:c0:54:c6:32:02:2d:66:dd:a2:e7:e3:ff:f1:0a:d0:61:ed:31:d8:bb:b4:10:cf:b2 +-----BEGIN CERTIFICATE----- +MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsx +FjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3Qg +Um9vdCBDQSAxMB4XDTAzMDUxNTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkG +A1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdr +b25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1ApzQ +jVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEn +PzlTCeqrauh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjh +ZY4bXSNmO7ilMlHIhqqhqZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9 +nnV0ttgCXjqQesBCNnLsak3c78QA3xMYV18meMjWCnl3v/evt3a5pQuEF10Q6m/h +q5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNVHRMBAf8ECDAGAQH/AgED +MA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7ih9legYsC +mEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI3 +7piol7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clB +oiMBdDhViw+5LmeiIAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJs +EhTkYY2sEJCehFC78JZvRZ+K88psT/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpO +fMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilTc4afU9hDDl3WY4JxHYB0yvbi +AmvZWg== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 6047274297262753887 +# MD5 Fingerprint: 73:3a:74:7a:ec:bb:a3:96:a6:c2:e4:e2:c8:9b:c0:c3 +# SHA1 Fingerprint: ae:c5:fb:3f:c8:e1:bf:c4:e5:4f:03:07:5a:9a:e8:00:b7:f7:b6:fa +# SHA256 Fingerprint: 04:04:80:28:bf:1f:28:64:d4:8f:9a:d4:d8:32:94:36:6a:82:88:56:55:3f:3b:14:30:3f:90:14:7f:5d:40:ef +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEy +MzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1UdEwEB/wQIMAYBAf8CAQEwDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNHDhpkLzCBpgYD +VR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp +cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBv +ACAAZABlACAAbABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBl +AGwAbwBuAGEAIAAwADgAMAAxADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF +661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx51tkljYyGOylMnfX40S2wBEqgLk9 +am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qkR71kMrv2JYSiJ0L1 +ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaPT481 +PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS +3a/DTg4fJl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5k +SeTy36LssUzAKh3ntLFlosS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF +3dvd6qJ2gHN99ZwExEWN57kci57q13XRcrHedUTnQn3iV2t93Jm8PYMo6oCTjcVM +ZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoRsaS8I8nkvof/uZS2+F0g +StRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTDKCOM/icz +Q0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQB +jLMi6Et8Vcad+qMUu2WFbm5PEn4KPJ2V +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 +MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 +ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD +VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j +b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq +scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO +xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H +LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX +uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD +yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ +JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q +rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN +BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L +hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB +QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ +HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu +Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg +QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB +BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA +A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb +laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 +awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo +JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw +LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT +VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk +LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb +UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ +QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ +naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls +QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +# Issuer: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A. +# Label: "Chambers of Commerce Root - 2008" +# Serial: 11806822484801597146 +# MD5 Fingerprint: 5e:80:9e:84:5a:0e:65:0b:17:02:f3:55:18:2a:3e:d7 +# SHA1 Fingerprint: 78:6a:74:ac:76:ab:14:7f:9c:6a:30:50:ba:9e:a8:7e:fe:9a:ce:3c +# SHA256 Fingerprint: 06:3e:4a:fa:c4:91:df:d3:32:f3:08:9b:85:42:e9:46:17:d8:93:d7:fe:94:4e:10:a7:93:7e:e2:9d:96:93:c0 +-----BEGIN CERTIFICATE----- +MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xKTAnBgNVBAMTIENoYW1iZXJz +IG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEyMjk1MFoXDTM4MDcz +MTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBj +dXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIw +EAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEp +MCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0G +CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW9 +28sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKAXuFixrYp4YFs8r/lfTJq +VKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorjh40G072Q +DuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR +5gN/ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfL +ZEFHcpOrUMPrCXZkNNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05a +Sd+pZgvMPMZ4fKecHePOjlO+Bd5gD2vlGts/4+EhySnB8esHnFIbAURRPHsl18Tl +UlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331lubKgdaX8ZSD6e2wsWsSaR6s ++12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ0wlf2eOKNcx5 +Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj +ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAx +hduub+84Mxh2EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNV +HQ4EFgQU+SSsD7K1+HnA+mCIG8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1 ++HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpN +YWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29t +L2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVy +ZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAt +IDIwMDiCCQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRV +HSAAMCowKAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20w +DQYJKoZIhvcNAQEFBQADggIBAJASryI1wqM58C7e6bXpeHxIvj99RZJe6dqxGfwW +PJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH3qLPaYRgM+gQDROpI9CF +5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbURWpGqOt1 +glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaH +FoI6M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2 +pSB7+R5KBWIBpih1YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MD +xvbxrN8y8NmBGuScvfaAFPDRLLmF9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QG +tjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcKzBIKinmwPQN/aUv0NCB9szTq +jktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvGnrDQWzilm1De +fhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg +OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZ +d0jQ +-----END CERTIFICATE----- + +# Issuer: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Subject: CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A. +# Label: "Global Chambersign Root - 2008" +# Serial: 14541511773111788494 +# MD5 Fingerprint: 9e:80:ff:78:01:0c:2e:c1:36:bd:fe:96:90:6e:08:f3 +# SHA1 Fingerprint: 4a:bd:ee:ec:95:0d:35:9c:89:ae:c7:52:a1:2c:5b:29:f6:d6:aa:0c +# SHA256 Fingerprint: 13:63:35:43:93:34:a7:69:80:16:a0:d3:24:de:72:28:4e:07:9d:7b:52:20:bb:8f:bd:74:78:16:ee:be:ba:ca +-----BEGIN CERTIFICATE----- +MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD +VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0 +IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3 +MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD +aGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMxNDBaFw0zODA3MzEx +MjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUgY3Vy +cmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAG +A1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAl +BgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBAMDfVtPkOpt2RbQT2//BthmLN0EYlVJH6xed +KYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXfXjaOcNFccUMd2drvXNL7 +G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0ZJJ0YPP2 +zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4 +ddPB/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyG +HoiMvvKRhI9lNNgATH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2 +Id3UwD2ln58fQ1DJu7xsepeY7s2MH/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3V +yJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfeOx2YItaswTXbo6Al/3K1dh3e +beksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSFHTynyQbehP9r +6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh +wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsog +zCtLkykPAgMBAAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQW +BBS5CcqcHtvTbDprru1U8VuTBjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDpr +ru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UEBhMCRVUxQzBBBgNVBAcTOk1hZHJp +ZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJmaXJtYS5jb20vYWRk +cmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJmaXJt +YSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiC +CQDJzdPp1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCow +KAYIKwYBBQUHAgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZI +hvcNAQEFBQADggIBAICIf3DekijZBZRG/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ +UohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6ReAJ3spED8IXDneRRXoz +X1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/sdZ7LoR/x +fxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVz +a2Mg9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yyd +Yhz2rXzdpjEetrHHfoUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMd +SqlapskD7+3056huirRXhOukP9DuqqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9O +AP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETrP3iZ8ntxPjzxmKfFGBI/5rso +M0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVqc5iJWzouE4ge +v8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z +09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2011" +# Serial: 0 +# MD5 Fingerprint: 73:9f:4c:4b:73:5b:79:e9:fa:ba:1c:ef:6e:cb:d5:c9 +# SHA1 Fingerprint: fe:45:65:9b:79:03:5b:98:a1:61:b5:51:2e:ac:da:58:09:48:22:4d +# SHA256 Fingerprint: bc:10:4f:15:a4:8b:e7:09:dc:a5:42:a7:e1:d4:b9:df:6f:05:45:27:e8:02:ea:a9:2d:59:54:44:25:8a:fe:71 +-----BEGIN CERTIFICATE----- +MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1Ix +RDBCBgNVBAoTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1p +YyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFJvb3RDQSAyMDExMB4XDTExMTIw +NjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYTAkdSMUQwQgYDVQQK +EztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIENl +cnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBAKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPz +dYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJ +fel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa71HFK9+WXesyHgLacEns +bgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u8yBRQlqD +75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSP +FEDH3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNV +HRMBAf8EBTADAQH/MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp +5dgTBCPuQSUwRwYDVR0eBEAwPqA8MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQu +b3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQub3JnMA0GCSqGSIb3DQEBBQUA +A4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVtXdMiKahsog2p +6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 +TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7 +dIsXRSZMFpGD/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8Acys +Nnq/onN694/BtZqhFLKPM58N7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXI +l7WdmplNsDz4SgCbZN2fOUvRJ9e4 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: O=Trustis Limited OU=Trustis FPS Root CA +# Subject: O=Trustis Limited OU=Trustis FPS Root CA +# Label: "Trustis FPS Root CA" +# Serial: 36053640375399034304724988975563710553 +# MD5 Fingerprint: 30:c9:e7:1e:6b:e6:14:eb:65:b2:16:69:20:31:67:4d +# SHA1 Fingerprint: 3b:c0:38:0b:33:c3:f6:a6:0c:86:15:22:93:d9:df:f5:4b:81:c0:04 +# SHA256 Fingerprint: c1:b4:82:99:ab:a5:20:8f:e9:63:0a:ce:55:ca:68:a0:3e:da:5a:51:9c:88:02:a0:d3:a6:73:be:8f:8e:55:7d +-----BEGIN CERTIFICATE----- +MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBF +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQL +ExNUcnVzdGlzIEZQUyBSb290IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTEx +MzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNVBAoTD1RydXN0aXMgTGltaXRlZDEc +MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQRUN+ +AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihH +iTHcDnlkH5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjj +vSkCqPoc4Vu5g6hBSLwacY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA +0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zto3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlB +OrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEAAaNTMFEwDwYDVR0TAQH/ +BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAdBgNVHQ4E +FgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01 +GX2cGE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmW +zaD+vkAMXBJV+JOCyinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP4 +1BIy+Q7DsdwyhEQsb8tGD+pmQQ9P8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZE +f1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHVl/9D7S3B2l0pKoU/rGXuhg8F +jZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYliB6XzCGcKQEN +ZetX2fNXlrtIzYE= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Subject: CN=EE Certification Centre Root CA O=AS Sertifitseerimiskeskus +# Label: "EE Certification Centre Root CA" +# Serial: 112324828676200291871926431888494945866 +# MD5 Fingerprint: 43:5e:88:d4:7d:1a:4a:7e:fd:84:2e:52:eb:01:d4:6f +# SHA1 Fingerprint: c9:a8:b9:e7:55:80:5e:58:e3:53:77:a7:25:eb:af:c3:7b:27:cc:d7 +# SHA256 Fingerprint: 3e:84:ba:43:42:90:85:16:e7:75:73:c0:99:2f:09:79:ca:08:4e:46:85:68:1f:f1:95:cc:ba:8a:22:9b:8a:76 +-----BEGIN CERTIFICATE----- +MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1 +MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1 +czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG +CSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIwMTAxMDMwMTAxMDMwWhgPMjAzMDEy +MTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlBUyBTZXJ0aWZpdHNl +ZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRyZSBS +b290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUy +euuOF0+W2Ap7kaJjbMeMTC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvO +bntl8jixwKIy72KyaOBhU8E2lf/slLo2rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIw +WFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw93X2PaRka9ZP585ArQ/d +MtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtNP2MbRMNE +1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/ +zQas8fElyalL1BSZMEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYB +BQUHAwMGCCsGAQUFBwMEBggrBgEFBQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEF +BQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+RjxY6hUFaTlrg4wCQiZrxTFGGV +v9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqMlIpPnTX/dqQG +E5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u +uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIW +iAYLtqZLICjU3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/v +GVCJYMzpJJUPwssd8m92kMfMdcGWxZ0= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Subject: CN=E-Tugra Certification Authority O=E-Tu\u011fra EBG Bili\u015fim Teknolojileri ve Hizmetleri A.\u015e. OU=E-Tugra Sertifikasyon Merkezi +# Label: "E-Tugra Certification Authority" +# Serial: 7667447206703254355 +# MD5 Fingerprint: b8:a1:03:63:b0:bd:21:71:70:8a:6f:13:3a:bb:79:49 +# SHA1 Fingerprint: 51:c6:e7:08:49:06:6e:f3:92:d4:5c:a0:0d:6d:a3:62:8f:c3:52:39 +# SHA256 Fingerprint: b0:bf:d5:2b:b0:d7:d9:bd:92:bf:5d:4d:c1:3d:a2:55:c0:2c:54:2f:37:83:65:ea:89:39:11:f5:5e:55:f2:3c +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNV +BAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBC +aWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNV +BAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQDDB9FLVR1 +Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMwNTEyMDk0OFoXDTIz +MDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmExQDA+ +BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhp +em1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN +ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4vU/kwVRHoViVF56C/UY +B4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vdhQd2h8y/L5VMzH2nPbxH +D5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5KCKpbknSF +Q9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEo +q1+gElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3D +k14opz8n8Y4e0ypQBaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcH +fC425lAcP9tDJMW/hkd5s3kc91r0E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsut +dEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gzrt48Ue7LE3wBf4QOXVGUnhMM +ti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAqjqFGOjGY5RH8 +zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn +rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX +U8u3Zg5mTPj5dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6 +Jyr+zE7S6E5UMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5 +XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAF +Nzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAKkEh47U6YA5n+KGCR +HTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jOXKqY +GwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c +77NCR807VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3 ++GbHeJAAFS6LrVE1Uweoa2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WK +vJUawSg5TB9D0pH0clmKuVb8P7Sd2nCcdlqMQ1DujjByTd//SffGqWfZbawCEeI6 +FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEVKV0jq9BgoRJP3vQXzTLl +yb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gTDx4JnW2P +AJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpD +y4Q08ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8d +NL/+I5c30jn6PQ0GC7TbO6Orb1wdtn7os4I07QZcJA== +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 14367148294922964480859022125800977897474 +# MD5 Fingerprint: 20:f0:27:68:d1:7e:a0:9d:0e:e6:2a:ca:df:5c:89:8e +# SHA1 Fingerprint: 69:69:56:2e:40:80:f4:24:a1:e7:19:9f:14:ba:f3:ee:58:ab:6a:bb +# SHA256 Fingerprint: be:c9:49:11:c2:95:56:76:db:6c:0a:55:09:86:d7:6e:3b:a0:05:66:7c:44:2c:97:62:b4:fb:b7:73:de:22:8c +-----BEGIN CERTIFICATE----- +MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ +FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F +uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX +kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs +ewv4n4Q= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden Root CA - G3 O=Staat der Nederlanden +# Label: "Staat der Nederlanden Root CA - G3" +# Serial: 10003001 +# MD5 Fingerprint: 0b:46:67:07:db:10:2f:19:8c:35:50:60:d1:0b:f4:37 +# SHA1 Fingerprint: d8:eb:6b:41:51:92:59:e0:f3:e7:85:00:c0:3d:b6:88:97:c9:ee:fc +# SHA256 Fingerprint: 3c:4f:b0:b9:5a:b8:b3:00:32:f4:32:b8:6f:53:5f:e1:72:c1:85:d0:fd:39:86:58:37:cf:36:18:7f:a6:f4:28 +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX +DTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl +ciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv +b3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP +cPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW +IkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX +xz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy +KJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR +9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az +5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8 +6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7 +Ngzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP +bMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt +BznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt +XUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd +INyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD +U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp +LiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8 +Ipf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp +gZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh +/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw +0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A +fsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq +4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR +1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/ +QFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM +94B7IWcnMFk= +-----END CERTIFICATE----- + +# Issuer: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Subject: CN=Staat der Nederlanden EV Root CA O=Staat der Nederlanden +# Label: "Staat der Nederlanden EV Root CA" +# Serial: 10000013 +# MD5 Fingerprint: fc:06:af:7b:e8:1a:f1:9a:b4:e8:d2:70:1f:c0:f5:ba +# SHA1 Fingerprint: 76:e2:7e:c1:4f:db:82:c1:c0:a6:75:b5:05:be:3d:29:b4:ed:db:bb +# SHA256 Fingerprint: 4d:24:91:41:4c:fe:95:67:46:ec:4c:ef:a6:cf:6f:72:e2:8a:13:29:43:2f:9d:8a:90:7a:c4:cb:5d:ad:c1:5a +-----BEGIN CERTIFICATE----- +MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJO +TDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFh +dCBkZXIgTmVkZXJsYW5kZW4gRVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0y +MjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5MMR4wHAYDVQQKDBVTdGFhdCBkZXIg +TmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRlcmxhbmRlbiBFViBS +b290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkkSzrS +M4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nC +UiY4iKTWO0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3d +Z//BYY1jTw+bbRcwJu+r0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46p +rfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13l +pJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gVXJrm0w912fxBmJc+qiXb +j5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr08C+eKxC +KFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS +/ZbV0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0X +cgOPvZuM5l5Tnrmd74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH +1vI4gnPah1vlPNOePqc7nvQDs/nxfRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrP +px9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwaivsnuL8wbqg7 +MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI +eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u +2dfOWBfoqSmuc0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHS +v4ilf0X8rLiltTMMgsT7B/Zq5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTC +wPTxGfARKbalGAKb12NMcIxHowNDXLldRqANb/9Zjr7dn3LDWyvfjFvO5QxGbJKy +CqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tNf1zuacpzEPuKqf2e +vTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi5Dp6 +Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIa +Gl6I6lD4WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeL +eG9QgkRQP2YGiqtDhFZKDyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8 +FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGyeUN51q1veieQA6TqJIc/2b3Z6fJfUEkc +7uzXLg== +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. +# Subject: CN=T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5 O=T\xdcRKTRUST Bilgi \u0130leti\u015fim ve Bili\u015fim G\xfcvenli\u011fi Hizmetleri A.\u015e. +# Label: "T\xdcRKTRUST Elektronik Sertifika Hizmet Sa\u011flay\u0131c\u0131s\u0131 H5" +# Serial: 156233699172481 +# MD5 Fingerprint: da:70:8e:f0:22:df:93:26:f6:5f:9f:d3:15:06:52:4e +# SHA1 Fingerprint: c4:18:f6:4d:46:d1:df:00:3d:27:30:13:72:43:a9:12:11:c6:75:fb +# SHA256 Fingerprint: 49:35:1b:90:34:44:c1:85:cc:dc:5c:69:3d:24:d8:55:5c:b2:08:d6:a8:14:13:07:69:9f:4a:f0:63:19:9d:78 +-----BEGIN CERTIFICATE----- +MIIEJzCCAw+gAwIBAgIHAI4X/iQggTANBgkqhkiG9w0BAQsFADCBsTELMAkGA1UE +BhMCVFIxDzANBgNVBAcMBkFua2FyYTFNMEsGA1UECgxEVMOcUktUUlVTVCBCaWxn +aSDEsGxldGnFn2ltIHZlIEJpbGnFn2ltIEfDvHZlbmxpxJ9pIEhpem1ldGxlcmkg +QS7Fni4xQjBABgNVBAMMOVTDnFJLVFJVU1QgRWxla3Ryb25payBTZXJ0aWZpa2Eg +SGl6bWV0IFNhxJ9sYXnEsWPEsXPEsSBINTAeFw0xMzA0MzAwODA3MDFaFw0yMzA0 +MjgwODA3MDFaMIGxMQswCQYDVQQGEwJUUjEPMA0GA1UEBwwGQW5rYXJhMU0wSwYD +VQQKDERUw5xSS1RSVVNUIEJpbGdpIMSwbGV0acWfaW0gdmUgQmlsacWfaW0gR8O8 +dmVubGnEn2kgSGl6bWV0bGVyaSBBLsWeLjFCMEAGA1UEAww5VMOcUktUUlVTVCBF +bGVrdHJvbmlrIFNlcnRpZmlrYSBIaXptZXQgU2HEn2xhecSxY8Sxc8SxIEg1MIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCUZ4WWe60ghUEoI5RHwWrom +/4NZzkQqL/7hzmAD/I0Dpe3/a6i6zDQGn1k19uwsu537jVJp45wnEFPzpALFp/kR +Gml1bsMdi9GYjZOHp3GXDSHHmflS0yxjXVW86B8BSLlg/kJK9siArs1mep5Fimh3 +4khon6La8eHBEJ/rPCmBp+EyCNSgBbGM+42WAA4+Jd9ThiI7/PS98wl+d+yG6w8z +5UNP9FR1bSmZLmZaQ9/LXMrI5Tjxfjs1nQ/0xVqhzPMggCTTV+wVunUlm+hkS7M0 +hO8EuPbJbKoCPrZV4jI3X/xml1/N1p7HIL9Nxqw/dV8c7TKcfGkAaZHjIxhT6QID +AQABo0IwQDAdBgNVHQ4EFgQUVpkHHtOsDGlktAxQR95DLL4gwPswDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJ5FdnsX +SDLyOIspve6WSk6BGLFRRyDN0GSxDsnZAdkJzsiZ3GglE9Rc8qPoBP5yCccLqh0l +VX6Wmle3usURehnmp349hQ71+S4pL+f5bFgWV1Al9j4uPqrtd3GqqpmWRgqujuwq +URawXs3qZwQcWDD1YIq9pr1N5Za0/EKJAWv2cMhQOQwt1WbZyNKzMrcbGW3LM/nf +peYVhDfwwvJllpKQd/Ct9JDpEXjXk4nAPQu6KfTomZ1yju2dL+6SfaHx/126M2CF +Yv4HAqGEVka+lgqaE9chTLd8B59OTj+RdPsnnRHM3eaxynFNExc5JsUpISuTKWqW ++qtB4Uu2NQvAmxU= +-----END CERTIFICATE----- + +# Issuer: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Subject: CN=Certinomis - Root CA O=Certinomis OU=0002 433998903 +# Label: "Certinomis - Root CA" +# Serial: 1 +# MD5 Fingerprint: 14:0a:fd:8d:a8:28:b5:38:69:db:56:7e:61:22:03:3f +# SHA1 Fingerprint: 9d:70:bb:01:a5:a4:a0:18:11:2e:f7:1c:01:b9:32:c5:34:e7:88:a8 +# SHA256 Fingerprint: 2a:99:f5:bc:11:74:b7:3c:bb:1d:62:08:84:e0:1c:34:e5:1c:cb:39:78:da:12:5f:0e:33:26:88:83:bf:41:58 +-----BEGIN CERTIFICATE----- +MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjET +MBEGA1UEChMKQ2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAb +BgNVBAMTFENlcnRpbm9taXMgLSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMz +MTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIxEzARBgNVBAoTCkNlcnRpbm9taXMx +FzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRDZXJ0aW5vbWlzIC0g +Um9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQosP5L2 +fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJfl +LieY6pOod5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQV +WZUKxkd8aRi5pwP5ynapz8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDF +TKWrteoB4owuZH9kb/2jJZOLyKIOSY008B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb +5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09xRLWtwHkziOC/7aOgFLSc +CbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE6OXWk6Ri +wsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJ +wx3tFvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SG +m/lg0h9tkQPTYKbVPZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4 +F2iw4lNVYC2vPsKD2NkJK/DAZNuHi5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZng +WVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIB +BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I6tNxIqSSaHh0 +2TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF +AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/ +0KGRHCwPT5iVWVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWw +F6YSjNRieOpWauwK0kDDPAUwPk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZS +g081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAXlCOotQqSD7J6wWAsOMwaplv/8gzj +qh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJy29SWwNyhlCVCNSN +h4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9Iff/ +ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8V +btaw5BngDwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwj +Y/M50n92Uaf0yKHxDHYiI0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ +8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nMcyrDflOR1m749fPH0FFNjkulW+YZFzvW +gQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVrhkIGuUE= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=Certplus Root CA G1 O=Certplus +# Subject: CN=Certplus Root CA G1 O=Certplus +# Label: "Certplus Root CA G1" +# Serial: 1491911565779898356709731176965615564637713 +# MD5 Fingerprint: 7f:09:9c:f7:d9:b9:5c:69:69:56:d5:37:3e:14:0d:42 +# SHA1 Fingerprint: 22:fd:d0:b7:fd:a2:4e:0d:ac:49:2c:a0:ac:a6:7b:6a:1f:e3:f7:66 +# SHA256 Fingerprint: 15:2a:40:2b:fc:df:2c:d5:48:05:4d:22:75:b3:9c:7f:ca:3e:c0:97:80:78:b0:f0:ea:76:e5:61:a6:c7:43:3e +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgISESBVg+QtPlRWhS2DN7cs3EYRMA0GCSqGSIb3DQEBDQUA +MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy +dHBsdXMgUm9vdCBDQSBHMTAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBa +MD4xCzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2Vy +dHBsdXMgUm9vdCBDQSBHMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +ANpQh7bauKk+nWT6VjOaVj0W5QOVsjQcmm1iBdTYj+eJZJ+622SLZOZ5KmHNr49a +iZFluVj8tANfkT8tEBXgfs+8/H9DZ6itXjYj2JizTfNDnjl8KvzsiNWI7nC9hRYt +6kuJPKNxQv4c/dMcLRC4hlTqQ7jbxofaqK6AJc96Jh2qkbBIb6613p7Y1/oA/caP +0FG7Yn2ksYyy/yARujVjBYZHYEMzkPZHogNPlk2dT8Hq6pyi/jQu3rfKG3akt62f +6ajUeD94/vI4CTYd0hYCyOwqaK/1jpTvLRN6HkJKHRUxrgwEV/xhc/MxVoYxgKDE +EW4wduOU8F8ExKyHcomYxZ3MVwia9Az8fXoFOvpHgDm2z4QTd28n6v+WZxcIbekN +1iNQMLAVdBM+5S//Ds3EC0pd8NgAM0lm66EYfFkuPSi5YXHLtaW6uOrc4nBvCGrc +h2c0798wct3zyT8j/zXhviEpIDCB5BmlIOklynMxdCm+4kLV87ImZsdo/Rmz5yCT +mehd4F6H50boJZwKKSTUzViGUkAksnsPmBIgJPaQbEfIDbsYIC7Z/fyL8inqh3SV +4EJQeIQEQWGw9CEjjy3LKCHyamz0GqbFFLQ3ZU+V/YDI+HLlJWvEYLF7bY5KinPO +WftwenMGE9nTdDckQQoRb5fc5+R+ob0V8rqHDz1oihYHAgMBAAGjYzBhMA4GA1Ud +DwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSowcCbkahDFXxd +Bie0KlHYlwuBsTAfBgNVHSMEGDAWgBSowcCbkahDFXxdBie0KlHYlwuBsTANBgkq +hkiG9w0BAQ0FAAOCAgEAnFZvAX7RvUz1isbwJh/k4DgYzDLDKTudQSk0YcbX8ACh +66Ryj5QXvBMsdbRX7gp8CXrc1cqh0DQT+Hern+X+2B50ioUHj3/MeXrKls3N/U/7 +/SMNkPX0XtPGYX2eEeAC7gkE2Qfdpoq3DIMku4NQkv5gdRE+2J2winq14J2by5BS +S7CTKtQ+FjPlnsZlFT5kOwQ/2wyPX1wdaR+v8+khjPPvl/aatxm2hHSco1S1cE5j +2FddUyGbQJJD+tZ3VTNPZNX70Cxqjm0lpu+F6ALEUz65noe8zDUa3qHpimOHZR4R +Kttjd5cUvpoUmRGywO6wT/gUITJDT5+rosuoD6o7BlXGEilXCNQ314cnrUlZp5Gr +RHpejXDbl85IULFzk/bwg2D5zfHhMf1bfHEhYxQUqq/F3pN+aLHsIqKqkHWetUNy +6mSjhEv9DKgma3GX7lZjZuhCVPnHHd/Qj1vfyDBviP4NxDMcU6ij/UgQ8uQKTuEV +V/xuZDDCVRHc6qnNSlSsKWNEz0pAoNZoWRsz+e86i9sgktxChL8Bq4fA1SCC28a5 +g4VCXA9DO2pJNdWY9BW/+mGBDAkgGNLQFwzLSABQ6XaCjGTXOqAHVcweMcDvOrRl +++O/QmueD6i9a5jc2NvLi6Td11n0bt3+qsOR0C5CB8AMTVPNJLFMWx5R9N/pkvo= +-----END CERTIFICATE----- + +# Issuer: CN=Certplus Root CA G2 O=Certplus +# Subject: CN=Certplus Root CA G2 O=Certplus +# Label: "Certplus Root CA G2" +# Serial: 1492087096131536844209563509228951875861589 +# MD5 Fingerprint: a7:ee:c4:78:2d:1b:ee:2d:b9:29:ce:d6:a7:96:32:31 +# SHA1 Fingerprint: 4f:65:8e:1f:e9:06:d8:28:02:e9:54:47:41:c9:54:25:5d:69:cc:1a +# SHA256 Fingerprint: 6c:c0:50:41:e6:44:5e:74:69:6c:4c:fb:c9:f8:0f:54:3b:7e:ab:bb:44:b4:ce:6f:78:7c:6a:99:71:c4:2f:17 +-----BEGIN CERTIFICATE----- +MIICHDCCAaKgAwIBAgISESDZkc6uo+jF5//pAq/Pc7xVMAoGCCqGSM49BAMDMD4x +CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs +dXMgUm9vdCBDQSBHMjAeFw0xNDA1MjYwMDAwMDBaFw0zODAxMTUwMDAwMDBaMD4x +CzAJBgNVBAYTAkZSMREwDwYDVQQKDAhDZXJ0cGx1czEcMBoGA1UEAwwTQ2VydHBs +dXMgUm9vdCBDQSBHMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABM0PW1aC3/BFGtat +93nwHcmsltaeTpwftEIRyoa/bfuFo8XlGVzX7qY/aWfYeOKmycTbLXku54uNAm8x +Ik0G42ByRZ0OQneezs/lf4WbGOT8zC5y0xaTTsqZY1yhBSpsBqNjMGEwDgYDVR0P +AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNqDYwJ5jtpMxjwj +FNiPwyCrKGBZMB8GA1UdIwQYMBaAFNqDYwJ5jtpMxjwjFNiPwyCrKGBZMAoGCCqG +SM49BAMDA2gAMGUCMHD+sAvZ94OX7PNVHdTcswYO/jOYnYs5kGuUIe22113WTNch +p+e/IQ8rzfcq3IUHnQIxAIYUFuXcsGXCwI4Un78kFmjlvPl5adytRSv3tjFzzAal +U5ORGpOucGpnutee5WEaXw== +-----END CERTIFICATE----- + +# Issuer: CN=OpenTrust Root CA G1 O=OpenTrust +# Subject: CN=OpenTrust Root CA G1 O=OpenTrust +# Label: "OpenTrust Root CA G1" +# Serial: 1492036577811947013770400127034825178844775 +# MD5 Fingerprint: 76:00:cc:81:29:cd:55:5e:88:6a:7a:2e:f7:4d:39:da +# SHA1 Fingerprint: 79:91:e8:34:f7:e2:ee:dd:08:95:01:52:e9:55:2d:14:e9:58:d5:7e +# SHA256 Fingerprint: 56:c7:71:28:d9:8c:18:d9:1b:4c:fd:ff:bc:25:ee:91:03:d4:75:8e:a2:ab:ad:82:6a:90:f3:45:7d:46:0e:b4 +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESCzkFU5fX82bWTCp59rY45nMA0GCSqGSIb3DQEBCwUA +MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w +ZW5UcnVzdCBSb290IENBIEcxMB4XDTE0MDUyNjA4NDU1MFoXDTM4MDExNTAwMDAw +MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU +T3BlblRydXN0IFJvb3QgQ0EgRzEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQD4eUbalsUwXopxAy1wpLuwxQjczeY1wICkES3d5oeuXT2R0odsN7faYp6b +wiTXj/HbpqbfRm9RpnHLPhsxZ2L3EVs0J9V5ToybWL0iEA1cJwzdMOWo010hOHQX +/uMftk87ay3bfWAfjH1MBcLrARYVmBSO0ZB3Ij/swjm4eTrwSSTilZHcYTSSjFR0 +77F9jAHiOH3BX2pfJLKOYheteSCtqx234LSWSE9mQxAGFiQD4eCcjsZGT44ameGP +uY4zbGneWK2gDqdkVBFpRGZPTBKnjix9xNRbxQA0MMHZmf4yzgeEtE7NCv82TWLx +p2NX5Ntqp66/K7nJ5rInieV+mhxNaMbBGN4zK1FGSxyO9z0M+Yo0FMT7MzUj8czx +Kselu7Cizv5Ta01BG2Yospb6p64KTrk5M0ScdMGTHPjgniQlQ/GbI4Kq3ywgsNw2 +TgOzfALU5nsaqocTvz6hdLubDuHAk5/XpGbKuxs74zD0M1mKB3IDVedzagMxbm+W +G+Oin6+Sx+31QrclTDsTBM8clq8cIqPQqwWyTBIjUtz9GVsnnB47ev1CI9sjgBPw +vFEVVJSmdz7QdFG9URQIOTfLHzSpMJ1ShC5VkLG631UAC9hWLbFJSXKAqWLXwPYY +EQRVzXR7z2FwefR7LFxckvzluFqrTJOVoSfupb7PcSNCupt2LQIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUl0YhVyE1 +2jZVx/PxN3DlCPaTKbYwHwYDVR0jBBgwFoAUl0YhVyE12jZVx/PxN3DlCPaTKbYw +DQYJKoZIhvcNAQELBQADggIBAB3dAmB84DWn5ph76kTOZ0BP8pNuZtQ5iSas000E +PLuHIT839HEl2ku6q5aCgZG27dmxpGWX4m9kWaSW7mDKHyP7Rbr/jyTwyqkxf3kf +gLMtMrpkZ2CvuVnN35pJ06iCsfmYlIrM4LvgBBuZYLFGZdwIorJGnkSI6pN+VxbS +FXJfLkur1J1juONI5f6ELlgKn0Md/rcYkoZDSw6cMoYsYPXpSOqV7XAp8dUv/TW0 +V8/bhUiZucJvbI/NeJWsZCj9VrDDb8O+WVLhX4SPgPL0DTatdrOjteFkdjpY3H1P +XlZs5VVZV6Xf8YpmMIzUUmI4d7S+KNfKNsSbBfD4Fdvb8e80nR14SohWZ25g/4/I +i+GOvUKpMwpZQhISKvqxnUOOBZuZ2mKtVzazHbYNeS2WuOvyDEsMpZTGMKcmGS3t +TAZQMPH9WD25SxdfGbRqhFS0OE85og2WaMMolP3tLR9Ka0OWLpABEPs4poEL0L91 +09S5zvE/bw4cHjdx5RiHdRk/ULlepEU0rbDK5uUTdg8xFKmOLZTW1YVNcxVPS/Ky +Pu1svf0OnWZzsD2097+o4BGkxK51CUpjAEggpsadCwmKtODmzj7HPiY46SvepghJ +AwSQiumPv+i2tCqjI40cHLI5kqiPAlxAOXXUc0ECd97N4EOH1uS6SsNsEn/+KuYj +1oxx +-----END CERTIFICATE----- + +# Issuer: CN=OpenTrust Root CA G2 O=OpenTrust +# Subject: CN=OpenTrust Root CA G2 O=OpenTrust +# Label: "OpenTrust Root CA G2" +# Serial: 1492012448042702096986875987676935573415441 +# MD5 Fingerprint: 57:24:b6:59:24:6b:ae:c8:fe:1c:0c:20:f2:c0:4e:eb +# SHA1 Fingerprint: 79:5f:88:60:c5:ab:7c:3d:92:e6:cb:f4:8d:e1:45:cd:11:ef:60:0b +# SHA256 Fingerprint: 27:99:58:29:fe:6a:75:15:c1:bf:e8:48:f9:c4:76:1d:b1:6c:22:59:29:25:7b:f4:0d:08:94:f2:9e:a8:ba:f2 +-----BEGIN CERTIFICATE----- +MIIFbzCCA1egAwIBAgISESChaRu/vbm9UpaPI+hIvyYRMA0GCSqGSIb3DQEBDQUA +MEAxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9w +ZW5UcnVzdCBSb290IENBIEcyMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAw +MFowQDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwU +T3BlblRydXN0IFJvb3QgQ0EgRzIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQDMtlelM5QQgTJT32F+D3Y5z1zCU3UdSXqWON2ic2rxb95eolq5cSG+Ntmh +/LzubKh8NBpxGuga2F8ORAbtp+Dz0mEL4DKiltE48MLaARf85KxP6O6JHnSrT78e +CbY2albz4e6WiWYkBuTNQjpK3eCasMSCRbP+yatcfD7J6xcvDH1urqWPyKwlCm/6 +1UWY0jUJ9gNDlP7ZvyCVeYCYitmJNbtRG6Q3ffyZO6v/v6wNj0OxmXsWEH4db0fE +FY8ElggGQgT4hNYdvJGmQr5J1WqIP7wtUdGejeBSzFfdNTVY27SPJIjki9/ca1TS +gSuyzpJLHB9G+h3Ykst2Z7UJmQnlrBcUVXDGPKBWCgOz3GIZ38i1MH/1PCZ1Eb3X +G7OHngevZXHloM8apwkQHZOJZlvoPGIytbU6bumFAYueQ4xncyhZW+vj3CzMpSZy +YhK05pyDRPZRpOLAeiRXyg6lPzq1O4vldu5w5pLeFlwoW5cZJ5L+epJUzpM5ChaH +vGOz9bGTXOBut9Dq+WIyiET7vycotjCVXRIouZW+j1MY5aIYFuJWpLIsEPUdN6b4 +t/bQWVyJ98LVtZR00dX+G7bw5tYee9I8y6jj9RjzIR9u701oBnstXW5DiabA+aC/ +gh7PU3+06yzbXfZqfUAkBXKJOAGTy3HCOV0GEfZvePg3DTmEJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUajn6QiL3 +5okATV59M4PLuG53hq8wHwYDVR0jBBgwFoAUajn6QiL35okATV59M4PLuG53hq8w +DQYJKoZIhvcNAQENBQADggIBAJjLq0A85TMCl38th6aP1F5Kr7ge57tx+4BkJamz +Gj5oXScmp7oq4fBXgwpkTx4idBvpkF/wrM//T2h6OKQQbA2xx6R3gBi2oihEdqc0 +nXGEL8pZ0keImUEiyTCYYW49qKgFbdEfwFFEVn8nNQLdXpgKQuswv42hm1GqO+qT +RmTFAHneIWv2V6CG1wZy7HBGS4tz3aAhdT7cHcCP009zHIXZ/n9iyJVvttN7jLpT +wm+bREx50B1ws9efAvSyB7DH5fitIw6mVskpEndI2S9G/Tvw/HRwkqWOOAgfZDC2 +t0v7NqwQjqBSM2OdAzVWxWm9xiNaJ5T2pBL4LTM8oValX9YZ6e18CL13zSdkzJTa +TkZQh+D5wVOAHrut+0dSixv9ovneDiK3PTNZbNTe9ZUGMg1RGUFcPk8G97krgCf2 +o6p6fAbhQ8MTOWIaNr3gKC6UAuQpLmBVrkA9sHSSXvAgZJY/X0VdiLWK2gKgW0VU +3jg9CcCoSmVGFvyqv1ROTVu+OEO3KMqLM6oaJbolXCkvW0pujOotnCr2BXbgd5eA +iN1nE28daCSLT7d0geX0YJ96Vdc+N9oWaz53rK4YcJUIeSkDiv7BO7M/Gg+kO14f +WKGVyasvc0rQLW6aWQ9VGHgtPFGml4vmu7JwqkwR3v98KzfUetF3NI/n+UL3PIEM +S1IK +-----END CERTIFICATE----- + +# Issuer: CN=OpenTrust Root CA G3 O=OpenTrust +# Subject: CN=OpenTrust Root CA G3 O=OpenTrust +# Label: "OpenTrust Root CA G3" +# Serial: 1492104908271485653071219941864171170455615 +# MD5 Fingerprint: 21:37:b4:17:16:92:7b:67:46:70:a9:96:d7:a8:13:24 +# SHA1 Fingerprint: 6e:26:64:f3:56:bf:34:55:bf:d1:93:3f:7c:01:de:d8:13:da:8a:a6 +# SHA256 Fingerprint: b7:c3:62:31:70:6e:81:07:8c:36:7c:b8:96:19:8f:1e:32:08:dd:92:69:49:dd:8f:57:09:a4:10:f7:5b:62:92 +-----BEGIN CERTIFICATE----- +MIICITCCAaagAwIBAgISESDm+Ez8JLC+BUCs2oMbNGA/MAoGCCqGSM49BAMDMEAx +CzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlPcGVuVHJ1c3QxHTAbBgNVBAMMFE9wZW5U +cnVzdCBSb290IENBIEczMB4XDTE0MDUyNjAwMDAwMFoXDTM4MDExNTAwMDAwMFow +QDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCU9wZW5UcnVzdDEdMBsGA1UEAwwUT3Bl +blRydXN0IFJvb3QgQ0EgRzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARK7liuTcpm +3gY6oxH84Bjwbhy6LTAMidnW7ptzg6kjFYwvWYpa3RTqnVkrQ7cG7DK2uu5Bta1d +oYXM6h0UZqNnfkbilPPntlahFVmhTzeXuSIevRHr9LIfXsMUmuXZl5mjYzBhMA4G +A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRHd8MUi2I5 +DMlv4VBN0BBY3JWIbTAfBgNVHSMEGDAWgBRHd8MUi2I5DMlv4VBN0BBY3JWIbTAK +BggqhkjOPQQDAwNpADBmAjEAj6jcnboMBBf6Fek9LykBl7+BFjNAk2z8+e2AcG+q +j9uEwov1NcoG3GRvaBbhj5G5AjEA2Euly8LQCGzpGPta3U1fJAuwACEl74+nBCZx +4nxp5V2a+EEfOzmTk51V6s2N8fvB +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Subject: CN=LuxTrust Global Root 2 O=LuxTrust S.A. +# Label: "LuxTrust Global Root 2" +# Serial: 59914338225734147123941058376788110305822489521 +# MD5 Fingerprint: b2:e1:09:00:61:af:f7:f1:91:6f:c4:ad:8d:5e:3b:7c +# SHA1 Fingerprint: 1e:0e:56:19:0a:d1:8b:25:98:b2:04:44:ff:66:8a:04:17:99:5f:3f +# SHA256 Fingerprint: 54:45:5f:71:29:c2:0b:14:47:c4:18:f9:97:16:8f:24:c5:8f:c5:02:3b:f5:da:5b:e2:eb:6e:1d:d8:90:2e:d5 +-----BEGIN CERTIFICATE----- +MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQEL +BQAwRjELMAkGA1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNV +BAMMFkx1eFRydXN0IEdsb2JhbCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUw +MzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEWMBQGA1UECgwNTHV4VHJ1c3QgUy5B +LjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wmKb3F +ibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTem +hfY7RBi2xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1 +EMShduxq3sVs35a0VkBCwGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsn +Xpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4 +zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkmFRseTJIpgp7VkoGSQXAZ +96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niFwpN6cj5m +j5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4g +DEa/a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+ +8kPREd8vZS9kzl8UubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2j +X5t/Lax5Gw5CMZdjpPuKadUiDTSQMC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmH +hFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB/zBCBgNVHSAEOzA5MDcGByuB +KwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5Lmx1eHRydXN0 +Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT ++Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQEL +BQADggIBAGoZFO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9 +BzZAcg4atmpZ1gDlaCDdLnINH2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTO +jFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW7MM3LGVYvlcAGvI1+ut7MV3CwRI9 +loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIuZY+kt9J/Z93I055c +qqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWAVWe+ +2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/ +JEAdemrRTxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKre +zrnK+T+Tb/mjuuqlPpmt/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQf +LSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+ +x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31IiyBMz2TWuJdGsE7RKlY6 +oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-1" +# Serial: 15752444095811006489 +# MD5 Fingerprint: 6e:85:f1:dc:1a:00:d3:22:d5:b2:b2:ac:6b:37:05:45 +# SHA1 Fingerprint: ff:bd:cd:e7:82:c8:43:5e:3c:6f:26:86:5c:ca:a8:3a:45:5b:c3:0a +# SHA256 Fingerprint: d4:0e:9c:86:cd:8f:e4:68:c1:77:69:59:f4:9e:a7:74:fa:54:86:84:b6:c4:06:f3:90:92:61:f4:dc:e2:57:5c +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29y +IFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkxMjMxMTcyMzE2WjCB +pDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFuYW1h +IENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUG +A1UECwweVHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZU +cnVzdENvciBSb290Q2VydCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAv463leLCJhJrMxnHQFgKq1mqjQCj/IDHUHuO1CAmujIS2CNUSSUQIpid +RtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4pQa81QBeCQryJ3pS/C3V +seq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0JEsq1pme +9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CV +EY4hgLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorW +hnAbJN7+KIor0Gqw/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/ +DeOxCbeKyKsZn3MzUOcwHwYDVR0jBBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQAD +ggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5mDo4Nvu7Zp5I +/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf +ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZ +yonnMlo2HD6CqFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djts +L1Ac59v2Z3kf9YKVmgenFK+P3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdN +zl/HHk484IkzlQsPpTLWPFp5LBk= +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor RootCert CA-2 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor RootCert CA-2" +# Serial: 2711694510199101698 +# MD5 Fingerprint: a2:e1:f8:18:0b:ba:45:d5:c7:41:2a:bb:37:52:45:64 +# SHA1 Fingerprint: b8:be:6d:cb:56:f1:55:b9:63:d4:12:ca:4e:06:34:c7:94:b2:1c:c0 +# SHA256 Fingerprint: 07:53:e9:40:37:8c:1b:d5:e3:83:6e:39:5d:ae:a5:cb:83:9e:50:46:f1:bd:0e:ae:19:51:cf:10:fe:c7:c9:65 +-----BEGIN CERTIFICATE----- +MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEfMB0GA1UEAwwWVHJ1c3RDb3Ig +Um9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEyMzExNzI2MzlaMIGk +MQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEg +Q2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYD +VQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRy +dXN0Q29yIFJvb3RDZXJ0IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCnIG7CKqJiJJWQdsg4foDSq8GbZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+ +QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9NkRvRUqdw6VC0xK5mC8tkq +1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1oYxOdqHp +2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK +DOObXUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hape +az6LMvYHL1cEksr1/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF +3wP+TfSvPd9cW436cOGlfifHhi5qjxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88 +oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQPeSghYA2FFn3XVDjxklb9tTNM +g9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+CtgrKAmrhQhJ8Z3 +mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh +8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAd +BgNVHQ4EFgQU2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6U +nrybPZx9mCAZ5YwwYrIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYw +DQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/hOsh80QA9z+LqBrWyOrsGS2h60COX +dKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnpkpfbsEZC89NiqpX+ +MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv2wnL +/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RX +CI/hOWB3S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYa +ZH9bDTMJBzN7Bj8RpFxwPIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW +2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dvDDqPys/cA8GiCcjl/YBeyGBCARsaU1q7 +N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYURpFHmygk71dSTlxCnKr3 +Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANExdqtvArB +As8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp +5KeXRKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu +1uwJ +-----END CERTIFICATE----- + +# Issuer: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Subject: CN=TrustCor ECA-1 O=TrustCor Systems S. de R.L. OU=TrustCor Certificate Authority +# Label: "TrustCor ECA-1" +# Serial: 9548242946988625984 +# MD5 Fingerprint: 27:92:23:1d:0a:f5:40:7c:e9:e6:6b:9d:d8:f5:e7:6c +# SHA1 Fingerprint: 58:d1:df:95:95:67:6b:63:c0:f0:5b:1c:17:4d:8b:84:0b:c8:78:bd +# SHA256 Fingerprint: 5a:88:5d:b1:9c:01:d9:12:c5:75:93:88:93:8c:af:bb:df:03:1a:b2:d4:8e:91:ee:15:58:9b:42:97:1d:03:9c +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYD +VQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEk +MCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U +cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxFzAVBgNVBAMMDlRydXN0Q29y +IEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3MjgwN1owgZwxCzAJBgNV +BAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQw +IgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRy +dXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3Ig +RUNBLTEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb +3w9U73NjKYKtR8aja+3+XzP4Q1HpGjORMRegdMTUpwHmspI+ap3tDvl0mEDTPwOA +BoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23xFUfJ3zSCNV2HykVh0A5 +3ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmcp0yJF4Ou +owReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/ +wZ0+fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZF +ZtS6mFjBAgMBAAGjYzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAf +BgNVHSMEGDAWgBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/ +MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAQEABT41XBVwm8nHc2Fv +civUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u/ukZMjgDfxT2 +AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F +hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50 +soIipX1TH0XsJ5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BI +WJZpTdwHjFGTot+fDz2LYLSCjaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1Wi +tJ/X5g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- diff -Nru python-botocore-1.4.70/botocore/client.py python-botocore-1.16.19+repack/botocore/client.py --- python-botocore-1.4.70/botocore/client.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/client.py 2020-05-28 19:26:16.000000000 +0000 @@ -26,26 +26,33 @@ from botocore.paginate import Paginator from botocore.utils import CachedProperty from botocore.utils import get_service_module_name -from botocore.utils import switch_host_s3_accelerate 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.utils import S3ArnParamHandler +from botocore.utils import S3EndpointSetter from botocore.args import ClientArgsCreator -from botocore.compat import urlsplit +from botocore import UNSIGNED # Keep this imported. There's pre-existing code that uses # "from botocore.client import Config". from botocore.config import Config +from botocore.history import get_global_history_recorder +from botocore.discovery import ( + EndpointDiscoveryHandler, EndpointDiscoveryManager, + block_endpoint_discovery_required_operations +) +from botocore.retries import standard +from botocore.retries import adaptive logger = logging.getLogger(__name__) +history_recorder = get_global_history_recorder() class ClientCreator(object): """Creates client objects for a service.""" def __init__(self, loader, endpoint_resolver, user_agent, event_emitter, retry_handler_factory, retry_config_translator, - response_parser_factory=None): + response_parser_factory=None, exceptions_factory=None, + config_store=None): self._loader = loader self._endpoint_resolver = endpoint_resolver self._user_agent = user_agent @@ -53,12 +60,21 @@ self._retry_handler_factory = retry_handler_factory self._retry_config_translator = retry_config_translator self._response_parser_factory = response_parser_factory + self._exceptions_factory = exceptions_factory + # TODO: Migrate things away from scoped_config in favor of the + # config_store. The config store can pull things from both the scoped + # config and environment variables (and potentially more in the + # future). + self._config_store = config_store def create_client(self, service_name, region_name, is_secure=True, endpoint_url=None, verify=None, credentials=None, scoped_config=None, api_version=None, client_config=None): + responses = self._event_emitter.emit( + 'choose-service-name', service_name=service_name) + service_name = first_non_none_response(responses, default=service_name) service_model = self._load_service_model(service_name, api_version) cls = self._create_client_class(service_name, service_model) endpoint_bridge = ClientEndpointBridge( @@ -68,7 +84,13 @@ service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge) service_client = cls(**client_args) - self._register_s3_events(service_client, endpoint_bridge, endpoint_url) + self._register_retries(service_client) + self._register_s3_events( + service_client, endpoint_bridge, endpoint_url, client_config, + scoped_config) + self._register_endpoint_discovery( + service_client, endpoint_url, client_config + ) return service_client def create_client_class(self, service_name, api_version=None): @@ -80,9 +102,11 @@ py_name_to_operation_name = self._create_name_mapping(service_model) class_attributes['_PY_TO_OP_NAME'] = py_name_to_operation_name bases = [BaseClient] - self._event_emitter.emit('creating-client-class.%s' % service_name, - class_attributes=class_attributes, - base_classes=bases) + service_id = service_model.service_id.hyphenize() + self._event_emitter.emit( + 'creating-client-class.%s' % service_id, + class_attributes=class_attributes, + base_classes=bases) class_name = get_service_module_name(service_model) cls = type(str(class_name), tuple(bases), class_attributes) return cls @@ -91,11 +115,32 @@ json_model = self._loader.load_service_model(service_name, 'service-2', api_version=api_version) service_model = ServiceModel(json_model, service_name=service_name) - self._register_retries(service_model) return service_model - def _register_retries(self, service_model): - endpoint_prefix = service_model.endpoint_prefix + def _register_retries(self, client): + retry_mode = client.meta.config.retries['mode'] + if retry_mode == 'standard': + self._register_v2_standard_retries(client) + elif retry_mode == 'adaptive': + self._register_v2_standard_retries(client) + self._register_v2_adaptive_retries(client) + elif retry_mode == 'legacy': + self._register_legacy_retries(client) + + def _register_v2_standard_retries(self, client): + max_attempts = client.meta.config.retries.get('total_max_attempts') + kwargs = {'client': client} + if max_attempts is not None: + kwargs['max_attempts'] = max_attempts + standard.register_retry_handler(**kwargs) + + def _register_v2_adaptive_retries(self, client): + adaptive.register_retry_handler(client) + + def _register_legacy_retries(self, client): + endpoint_prefix = client.meta.service_model.endpoint_prefix + service_id = client.meta.service_model.service_id + service_event_name = service_id.hyphenize() # First, we load the entire retry config for all services, # then pull out just the information we need. @@ -103,120 +148,140 @@ if not original_config: return + retries = self._transform_legacy_retries(client.meta.config.retries) retry_config = self._retry_config_translator.build_retry_config( endpoint_prefix, original_config.get('retry', {}), - original_config.get('definitions', {})) + original_config.get('definitions', {}), + retries + ) logger.debug("Registering retry handlers for service: %s", - service_model.service_name) + client.meta.service_model.service_name) handler = self._retry_handler_factory.create_retry_handler( retry_config, endpoint_prefix) - unique_id = 'retry-config-%s' % endpoint_prefix - self._event_emitter.register('needs-retry.%s' % endpoint_prefix, - handler, unique_id=unique_id) + unique_id = 'retry-config-%s' % service_event_name + client.meta.events.register( + 'needs-retry.%s' % service_event_name, handler, + unique_id=unique_id + ) + + def _transform_legacy_retries(self, retries): + if retries is None: + return + copied_args = retries.copy() + if 'total_max_attempts' in retries: + copied_args = retries.copy() + copied_args['max_attempts'] = ( + copied_args.pop('total_max_attempts') - 1) + return copied_args + + def _get_retry_mode(self, client, config_store): + client_retries = client.meta.config.retries + if client_retries is not None and \ + client_retries.get('mode') is not None: + return client_retries['mode'] + return config_store.get_config_variable('retry_mode') or 'legacy' + + def _register_endpoint_discovery(self, client, endpoint_url, config): + if endpoint_url is not None: + # Don't register any handlers in the case of a custom endpoint url + return + # Only attach handlers if the service supports discovery + if client.meta.service_model.endpoint_discovery_operation is None: + return + events = client.meta.events + service_id = client.meta.service_model.service_id.hyphenize() + enabled = False + if config and config.endpoint_discovery_enabled is not None: + enabled = config.endpoint_discovery_enabled + elif self._config_store: + enabled = self._config_store.get_config_variable( + 'endpoint_discovery_enabled') + if enabled: + manager = EndpointDiscoveryManager(client) + handler = EndpointDiscoveryHandler(manager) + handler.register(events, service_id) + else: + events.register('before-parameter-build', + block_endpoint_discovery_required_operations) - def _register_s3_events(self, client, endpoint_bridge, endpoint_url): + def _register_s3_events(self, client, endpoint_bridge, endpoint_url, + client_config, scoped_config): 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 + S3ArnParamHandler().register(client.meta.events) + S3EndpointSetter( + endpoint_resolver=self._endpoint_resolver, + region=client.meta.region_name, + s3_config=client.meta.config.s3, + endpoint_url=endpoint_url, + partition=client.meta.partition + ).register(client.meta.events) + self._set_s3_presign_signature_version( + client.meta, client_config, scoped_config) + + def _set_s3_presign_signature_version(self, client_meta, + client_config, scoped_config): + # This will return the manually configured signature version, or None + # if none was manually set. If a customer manually sets the signature + # version, we always want to use what they set. + provided_signature_version = _get_configured_signature_version( + 's3', client_config, scoped_config) + if provided_signature_version is not None: + return - # Accelerate mode is turned on automatically if an endpoint url is - # provided that matches the accelerate scheme. - if endpoint_url is None: - return False + # Check to see if the region is a region that we know about. If we + # don't know about a region, then we can safely assume it's a new + # region that is sigv4 only, since all new S3 regions only allow sigv4. + # The only exception is aws-global. This is a pseudo-region for the + # global endpoint, we should respect the signature versions it + # supports, which includes v2. + regions = self._endpoint_resolver.get_available_endpoints( + 's3', client_meta.partition) + if client_meta.region_name != 'aws-global' and \ + client_meta.region_name not in regions: + return - # Accelerate is only valid for Amazon endpoints. - netloc = urlsplit(endpoint_url).netloc - if not netloc.endswith('amazonaws.com'): - return False + # If it is a region we know about, we want to default to sigv2, so here + # we check to see if it is available. + endpoint = self._endpoint_resolver.construct_endpoint( + 's3', client_meta.region_name) + signature_versions = endpoint['signatureVersions'] + if 's3' not in signature_versions: + return - # The first part of the url should always be s3-accelerate. - parts = netloc.split('.') - if parts[0] != 's3-accelerate': - return False + # We now know that we're in a known region that supports sigv2 and + # the customer hasn't set a signature version so we default the + # signature version to sigv2. + client_meta.events.register( + 'choose-signer.s3', self._default_s3_presign_to_sigv2) - # Url parts between 's3-accelerate' and 'amazonaws.com' which - # represent different url features. - feature_parts = parts[1:-2] + def _default_s3_presign_to_sigv2(self, signature_version, **kwargs): + """ + Returns the 's3' (sigv2) signer if presigning an s3 request. This is + intended to be used to set the default signature version for the signer + to sigv2. - # There should be no duplicate url parts. - if len(feature_parts) != len(set(feature_parts)): - return False + :type signature_version: str + :param signature_version: The current client signature version. - # Remaining parts must all be in the whitelist. - return all(p in S3_ACCELERATE_WHITELIST for p in feature_parts) + :type signing_name: str + :param signing_name: The signing name of the service. + + :return: 's3' if the request is an s3 presign request, None otherwise + """ + for suffix in ['-query', '-presign-post']: + if signature_version.endswith(suffix): + return 's3' + suffix def _get_client_args(self, service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge): args_creator = ClientArgsCreator( self._event_emitter, self._user_agent, - self._response_parser_factory, self._loader) + self._response_parser_factory, self._loader, + self._exceptions_factory, config_store=self._config_store) return args_creator.get_client_args( service_model, region_name, is_secure, endpoint_url, verify, credentials, scoped_config, client_config, endpoint_bridge) @@ -278,6 +343,7 @@ utilize "us-east-1" by default if no region can be resolved.""" DEFAULT_ENDPOINT = '{service}.{region}.amazonaws.com' + _DUALSTACK_ENABLED_SERVICES = ['s3', 's3-control'] def __init__(self, endpoint_resolver, scoped_config=None, client_config=None, default_endpoint=None, @@ -293,6 +359,15 @@ region_name = self._check_default_region(service_name, region_name) resolved = self.endpoint_resolver.construct_endpoint( service_name, region_name) + + # If we can't resolve the region, we'll attempt to get a global + # endpoint for non-regionalized services (iam, route53, etc) + if not resolved: + # TODO: fallback partition_name should be configurable in the + # future for users to define as needed. + resolved = self.endpoint_resolver.construct_endpoint( + service_name, region_name, partition_name='aws') + if resolved: return self._create_endpoint( resolved, service_name, region_name, endpoint_url, is_secure) @@ -309,13 +384,14 @@ def _create_endpoint(self, resolved, service_name, region_name, endpoint_url, is_secure): + explicit_region = region_name is not None region_name, signing_region = self._pick_region_values( resolved, region_name, endpoint_url) if endpoint_url is None: if self._is_s3_dualstack_mode(service_name): endpoint_url = self._create_dualstack_endpoint( service_name, region_name, - resolved['dnsSuffix'], is_secure) + resolved['dnsSuffix'], is_secure, explicit_region) else: # Use the sslCommonName over the hostname for Python 2.6 compat. hostname = resolved.get('sslCommonName', resolved.get('hostname')) @@ -331,7 +407,7 @@ signature_version=signature_version) def _is_s3_dualstack_mode(self, service_name): - if service_name != 's3': + if service_name not in self._DUALSTACK_ENABLED_SERVICES: return False # TODO: This normalization logic is duplicated from the # ClientArgsCreator class. Consolidate everything to @@ -351,7 +427,12 @@ return False def _create_dualstack_endpoint(self, service_name, region_name, - dns_suffix, is_secure): + dns_suffix, is_secure, explicit_region): + if not explicit_region and region_name == 'aws-global': + # If the region_name passed was not explicitly set, default to + # us-east-1 instead of the modeled default aws-global. Dualstack + # does not support aws-global + region_name = 'us-east-1' hostname = '{service}.dualstack.{region}.{dns_suffix}'.format( service=service_name, region=region_name, dns_suffix=dns_suffix) @@ -431,37 +512,22 @@ return region_name, signing_region def _resolve_signature_version(self, service_name, resolved): - # Client config overrides everything. - client = self.client_config - if client and client.signature_version is not None: - return client.signature_version - # Scoped config overrides picking from the endpoint metadata. - scoped = self.scoped_config - if scoped is not None: - service_config = scoped.get(service_name) - if service_config is not None and isinstance(service_config, dict): - version = service_config.get('signature_version') - if version: - logger.debug( - "Switching signature version for service %s " - "to version %s based on config file override.", - service_name, version) - return version + configured_version = _get_configured_signature_version( + service_name, self.client_config, self.scoped_config) + if configured_version is not None: + return configured_version + # Pick a signature version from the endpoint metadata if present. if 'signatureVersions' in resolved: potential_versions = resolved['signatureVersions'] if service_name == 's3': - # We currently prefer s3 over s3v4. - if 's3' in potential_versions: - return 's3' - elif 's3v4' in potential_versions: - return 's3v4' + return 's3v4' if 'v4' in potential_versions: return 'v4' # Now just iterate over the signature versions in order until we # find the first one that is known to Botocore. - for known in AUTH_TYPE_MAPS: - if known in potential_versions: + for known in potential_versions: + if known in AUTH_TYPE_MAPS: return known raise UnknownSignatureVersionError( signature_version=resolved.get('signatureVersions')) @@ -479,7 +545,7 @@ def __init__(self, serializer, endpoint, response_parser, event_emitter, request_signer, service_model, loader, - client_config, partition): + client_config, partition, exceptions_factory): self._serializer = serializer self._endpoint = endpoint self._response_parser = response_parser @@ -490,13 +556,32 @@ self.meta = ClientMeta(event_emitter, self._client_config, endpoint.host, service_model, self._PY_TO_OP_NAME, partition) + self._exceptions_factory = exceptions_factory + self._exceptions = None self._register_handlers() + def __getattr__(self, item): + event_name = 'getattr.%s.%s' % ( + self._service_model.service_id.hyphenize(), item + ) + handler, event_response = self.meta.events.emit_until_response( + event_name, client=self) + + if event_response is not None: + return event_response + + raise AttributeError( + "'%s' object has no attribute '%s'" % ( + self.__class__.__name__, item) + ) + def _register_handlers(self): # Register the handler required to sign requests. - self.meta.events.register('request-created.%s' % - self.meta.service_model.endpoint_prefix, - self._request_signer.handler) + service_id = self.meta.service_model.service_id.hyphenize() + self.meta.events.register( + 'request-created.%s' % service_id, + self._request_signer.handler + ) @property def _service_model(self): @@ -504,17 +589,28 @@ def _make_api_call(self, operation_name, api_params): operation_model = self._service_model.operation_model(operation_name) + service_name = self._service_model.service_name + history_recorder.record('API_CALL', { + 'service': service_name, + 'operation': operation_name, + 'params': api_params, + }) + if operation_model.deprecated: + logger.debug('Warning: %s.%s() is deprecated', + service_name, operation_name) request_context = { 'client_region': self.meta.region_name, 'client_config': self.meta.config, - 'has_streaming_input': operation_model.has_streaming_input + 'has_streaming_input': operation_model.has_streaming_input, + 'auth_type': operation_model.auth_type, } request_dict = self._convert_to_request_dict( api_params, operation_model, context=request_context) + service_id = self._service_model.service_id.hyphenize() handler, event_response = self.meta.events.emit_until_response( - 'before-call.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, + 'before-call.{service_id}.{operation_name}'.format( + service_id=service_id, operation_name=operation_name), model=operation_model, params=request_dict, request_signer=self._request_signer, context=request_context) @@ -522,24 +618,50 @@ if event_response is not None: http, parsed_response = event_response else: - http, parsed_response = self._endpoint.make_request( - operation_model, request_dict) + http, parsed_response = self._make_request( + operation_model, request_dict, request_context) self.meta.events.emit( - 'after-call.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, + 'after-call.{service_id}.{operation_name}'.format( + service_id=service_id, operation_name=operation_name), http_response=http, parsed=parsed_response, model=operation_model, context=request_context ) if http.status_code >= 300: - raise ClientError(parsed_response, operation_name) + error_code = parsed_response.get("Error", {}).get("Code") + error_class = self.exceptions.from_code(error_code) + raise error_class(parsed_response, operation_name) else: return parsed_response + def _make_request(self, operation_model, request_dict, request_context): + try: + return self._endpoint.make_request(operation_model, request_dict) + except Exception as e: + self.meta.events.emit( + 'after-call-error.{service_id}.{operation_name}'.format( + service_id=self._service_model.service_id.hyphenize(), + operation_name=operation_model.name), + exception=e, context=request_context + ) + raise + def _convert_to_request_dict(self, api_params, operation_model, context=None): + api_params = self._emit_api_params( + api_params, operation_model, context) + request_dict = self._serializer.serialize_to_request( + api_params, operation_model) + if not self._client_config.inject_host_prefix: + request_dict.pop('host_prefix', None) + prepare_request_dict(request_dict, endpoint_url=self._endpoint.host, + user_agent=self._client_config.user_agent, + context=context) + return request_dict + + def _emit_api_params(self, api_params, operation_model, context): # Given the API params provided by the user and the operation_model # we can serialize the request to a request_dict. operation_name = operation_model.name @@ -547,27 +669,22 @@ # Emit an event that allows users to modify the parameters at the # beginning of the method. It allows handlers to modify existing # parameters or return a new set of parameters to use. + service_id = self._service_model.service_id.hyphenize() responses = self.meta.events.emit( - 'provide-client-params.{endpoint_prefix}.{operation_name}'.format( - endpoint_prefix=self._service_model.endpoint_prefix, + 'provide-client-params.{service_id}.{operation_name}'.format( + service_id=service_id, operation_name=operation_name), params=api_params, model=operation_model, context=context) api_params = first_non_none_response(responses, default=api_params) event_name = ( - 'before-parameter-build.{endpoint_prefix}.{operation_name}') + 'before-parameter-build.{service_id}.{operation_name}') self.meta.events.emit( event_name.format( - endpoint_prefix=self._service_model.endpoint_prefix, + service_id=service_id, operation_name=operation_name), params=api_params, model=operation_model, context=context) - - request_dict = self._serializer.serialize_to_request( - api_params, operation_model) - prepare_request_dict(request_dict, endpoint_url=self._endpoint.host, - user_agent=self._client_config.user_agent, - context=context) - return request_dict + return api_params def get_paginator(self, operation_name): """Create a paginator for an operation. @@ -619,9 +736,11 @@ documented_paginator_cls = type( paginator_class_name, (Paginator,), {'paginate': paginate}) + operation_model = self._service_model.operation_model(actual_operation_name) paginator = documented_paginator_cls( getattr(self, operation_name), - paginator_config) + paginator_config, + operation_model) return paginator def can_paginate(self, operation_name): @@ -664,6 +783,15 @@ return self._cache['waiter_config'] def get_waiter(self, waiter_name): + """Returns an object that can wait for some condition. + + :type waiter_name: str + :param waiter_name: The name of the waiter to get. See the waiters + section of the service docs for a list of available waiters. + + :returns: The specified waiter object. + :rtype: botocore.waiter.Waiter + """ config = self._get_waiter_config() if not config: raise ValueError("Waiter does not exist: %s" % waiter_name) @@ -688,6 +816,16 @@ # which are the keys in the dict. return [xform_name(name) for name in model.waiter_names] + @property + def exceptions(self): + if self._exceptions is None: + self._exceptions = self._load_exceptions() + return self._exceptions + + def _load_exceptions(self): + return self._exceptions_factory.create_client_exceptions( + self._service_model) + class ClientMeta(object): """Holds additional client methods. @@ -734,3 +872,31 @@ @property def partition(self): return self._partition + + +def _get_configured_signature_version(service_name, client_config, + scoped_config): + """ + Gets the manually configured signature version. + + :returns: the customer configured signature version, or None if no + signature version was configured. + """ + # Client config overrides everything. + if client_config and client_config.signature_version is not None: + return client_config.signature_version + + # Scoped config overrides picking from the endpoint metadata. + if scoped_config is not None: + # A given service may have service specific configuration in the + # config file, so we need to check there as well. + service_config = scoped_config.get(service_name) + if service_config is not None and isinstance(service_config, dict): + version = service_config.get('signature_version') + if version: + logger.debug( + "Switching signature version for service %s " + "to version %s based on config file override.", + service_name, version) + return version + return None diff -Nru python-botocore-1.4.70/botocore/compat.py python-botocore-1.16.19+repack/botocore/compat.py --- python-botocore-1.4.70/botocore/compat.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/compat.py 2020-05-28 19:26:08.000000000 +0000 @@ -18,16 +18,19 @@ import warnings import hashlib import logging +import shlex +from math import floor from botocore.vendored import six from botocore.exceptions import MD5UnavailableError -from botocore.vendored.requests.packages.urllib3 import exceptions +from dateutil.tz import tzlocal +from urllib3 import exceptions logger = logging.getLogger(__name__) if six.PY3: - from six.moves import http_client + from botocore.vendored.six.moves import http_client class HTTPHeaders(http_client.HTTPMessage): pass @@ -139,42 +142,13 @@ return s raise ValueError("Expected str or unicode, received %s." % type(s)) -try: - from collections import OrderedDict -except ImportError: - # Python2.6 we use the 3rd party back port. - from ordereddict import OrderedDict +from collections import OrderedDict -if sys.version_info[:2] == (2, 6): - import simplejson as json - # In py26, invalid xml parsed by element tree - # will raise a plain old SyntaxError instead of - # a real exception, so we need to abstract this change. - XMLParseError = SyntaxError - - # Handle https://github.com/shazow/urllib3/issues/497 for py2.6. In - # python2.6, there is a known issue where sometimes we cannot read the SAN - # from an SSL cert (http://bugs.python.org/issue13034). However, newer - # versions of urllib3 will warn you when there is no SAN. While we could - # just turn off this warning in urllib3 altogether, we _do_ want warnings - # when they're legitimate warnings. This method tries to scope the warning - # filter to be as specific as possible. - def filter_ssl_san_warnings(): - warnings.filterwarnings( - 'ignore', - message="Certificate has no.*subjectAltName.*", - category=exceptions.SecurityWarning, - module=".*urllib3\.connection") -else: - import xml.etree.cElementTree - XMLParseError = xml.etree.cElementTree.ParseError - import json - - def filter_ssl_san_warnings(): - # Noop for non-py26 versions. We will parse the SAN - # appropriately. - pass + +import xml.etree.cElementTree +XMLParseError = xml.etree.cElementTree.ParseError +import json def filter_ssl_warnings(): @@ -183,8 +157,7 @@ 'ignore', message="A true SSLContext object is not available.*", category=exceptions.InsecurePlatformWarning, - module=".*urllib3\.util\.ssl_") - filter_ssl_san_warnings() + module=r".*urllib3\.util\.ssl_") @classmethod @@ -208,19 +181,9 @@ def copy_kwargs(kwargs): """ - There is a bug in Python versions < 2.6.5 that prevents you - from passing unicode keyword args (#4978). This function - takes a dictionary of kwargs and returns a copy. If you are - using Python < 2.6.5, it also encodes the keys to avoid this bug. - Oh, and version_info wasn't a namedtuple back then, either! + This used to be a compat shim for 2.6 but is now just an alias. """ - vi = sys.version_info - if vi[0] == 2 and vi[1] <= 6 and vi[3] < 5: - copy_kwargs = {} - for key in kwargs: - copy_kwargs[key.encode('utf-8')] = kwargs[key] - else: - copy_kwargs = copy.copy(kwargs) + copy_kwargs = copy.copy(kwargs) return copy_kwargs @@ -228,22 +191,12 @@ """ Returns the total seconds in a ``datetime.timedelta``. - Python 2.6 does not have ``timedelta.total_seconds()``, so we have - to calculate this ourselves. On 2.7 or better, we'll take advantage of the - built-in method. - - The math was pulled from the ``datetime`` docs - (http://docs.python.org/2.7/library/datetime.html#datetime.timedelta.total_seconds). + This used to be a compat shim for 2.6 but is now just an alias. :param delta: The timedelta object :type delta: ``datetime.timedelta`` """ - if sys.version_info[:2] != (2, 6): - return delta.total_seconds() - - day_in_seconds = delta.days * 24 * 3600.0 - micro_in_seconds = delta.microseconds / 10.0**6 - return day_in_seconds + delta.seconds + micro_in_seconds + return delta.total_seconds() # Checks to see if md5 is available on this system. A given system might not @@ -271,3 +224,124 @@ return hashlib.md5(*args, **kwargs) else: raise MD5UnavailableError() + + +def compat_shell_split(s, platform=None): + if platform is None: + platform = sys.platform + + if platform == "win32": + return _windows_shell_split(s) + else: + return shlex.split(s) + + +def _windows_shell_split(s): + """Splits up a windows command as the built-in command parser would. + + Windows has potentially bizarre rules depending on where you look. When + spawning a process via the Windows C runtime (which is what python does + when you call popen) the rules are as follows: + + https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments + + To summarize: + + * Only space and tab are valid delimiters + * Double quotes are the only valid quotes + * Backslash is interpreted literally unless it is part of a chain that + leads up to a double quote. Then the backslashes escape the backslashes, + and if there is an odd number the final backslash escapes the quote. + + :param s: The command string to split up into parts. + :return: A list of command components. + """ + if not s: + return [] + + components = [] + buff = [] + is_quoted = False + num_backslashes = 0 + for character in s: + if character == '\\': + # We can't simply append backslashes because we don't know if + # they are being used as escape characters or not. Instead we + # keep track of how many we've encountered and handle them when + # we encounter a different character. + num_backslashes += 1 + elif character == '"': + if num_backslashes > 0: + # The backslashes are in a chain leading up to a double + # quote, so they are escaping each other. + buff.append('\\' * int(floor(num_backslashes / 2))) + remainder = num_backslashes % 2 + num_backslashes = 0 + if remainder == 1: + # The number of backslashes is uneven, so they are also + # escaping the double quote, so it needs to be added to + # the current component buffer. + buff.append('"') + continue + + # We've encountered a double quote that is not escaped, + # so we toggle is_quoted. + is_quoted = not is_quoted + + # If there are quotes, then we may want an empty string. To be + # safe, we add an empty string to the buffer so that we make + # sure it sticks around if there's nothing else between quotes. + # If there is other stuff between quotes, the empty string will + # disappear during the joining process. + buff.append('') + elif character in [' ', '\t'] and not is_quoted: + # Since the backslashes aren't leading up to a quote, we put in + # the exact number of backslashes. + if num_backslashes > 0: + buff.append('\\' * num_backslashes) + num_backslashes = 0 + + # Excess whitespace is ignored, so only add the components list + # if there is anything in the buffer. + if buff: + components.append(''.join(buff)) + buff = [] + else: + # Since the backslashes aren't leading up to a quote, we put in + # the exact number of backslashes. + if num_backslashes > 0: + buff.append('\\' * num_backslashes) + num_backslashes = 0 + buff.append(character) + + # Quotes must be terminated. + if is_quoted: + raise ValueError('No closing quotation in string: %s' % s) + + # There may be some leftover backslashes, so we need to add them in. + # There's no quote so we add the exact number. + if num_backslashes > 0: + buff.append('\\' * num_backslashes) + + # Add the final component in if there is anything in the buffer. + if buff: + components.append(''.join(buff)) + + return components + + +def get_tzinfo_options(): + # Due to dateutil/dateutil#197, Windows may fail to parse times in the past + # with the system clock. We can alternatively fallback to tzwininfo when + # this happens, which will get time info from the Windows registry. + if sys.platform == 'win32': + from dateutil.tz import tzwinlocal + return (tzlocal, tzwinlocal) + else: + return (tzlocal,) + + +try: + from collections.abc import MutableMapping +except ImportError: + from collections import MutableMapping diff -Nru python-botocore-1.4.70/botocore/configloader.py python-botocore-1.16.19+repack/botocore/configloader.py --- python-botocore-1.4.70/botocore/configloader.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/configloader.py 2020-05-28 19:26:08.000000000 +0000 @@ -14,8 +14,9 @@ import os import shlex import copy +import sys -from six.moves import configparser +from botocore.compat import six import botocore.exceptions @@ -106,11 +107,30 @@ return build_profile_map(parsed) -def raw_config_parse(config_filename): +def raw_config_parse(config_filename, parse_subsections=True): """Returns the parsed INI config contents. Each section name is a top level key. + :param config_filename: The name of the INI file to parse + + :param parse_subsections: If True, parse indented blocks as + subsections that represent their own configuration dictionary. + For example, if the config file had the contents:: + + s3 = + signature_version = s3v4 + addressing_style = path + + The resulting ``raw_config_parse`` would be:: + + {'s3': {'signature_version': 's3v4', 'addressing_style': 'path'}} + + If False, do not try to parse subsections and return the indented + block as its literal value:: + + {'s3': '\nsignature_version = s3v4\naddressing_style = path'} + :returns: A dict with keys for each profile found in the config file and the value of each key being a dict containing name value pairs found in that profile. @@ -123,18 +143,19 @@ path = os.path.expandvars(path) path = os.path.expanduser(path) if not os.path.isfile(path): - raise botocore.exceptions.ConfigNotFound(path=path) - cp = configparser.RawConfigParser() + raise botocore.exceptions.ConfigNotFound(path=_unicode_path(path)) + cp = six.moves.configparser.RawConfigParser() try: - cp.read(path) - except configparser.Error: - raise botocore.exceptions.ConfigParseError(path=path) + cp.read([path]) + except (six.moves.configparser.Error, UnicodeDecodeError): + raise botocore.exceptions.ConfigParseError( + path=_unicode_path(path)) else: for section in cp.sections(): config[section] = {} for option in cp.options(section): config_value = cp.get(section, option) - if config_value.startswith('\n'): + if parse_subsections and config_value.startswith('\n'): # Then we need to parse the inner contents as # hierarchical. We support a single level # of nesting for now. @@ -142,11 +163,22 @@ config_value = _parse_nested(config_value) except ValueError: raise botocore.exceptions.ConfigParseError( - path=path) + path=_unicode_path(path)) config[section][option] = config_value return config +def _unicode_path(path): + if isinstance(path, six.text_type): + return path + # According to the documentation getfilesystemencoding can return None + # on unix in which case the default encoding is used instead. + filesystem_encoding = sys.getfilesystemencoding() + if filesystem_encoding is None: + filesystem_encoding = sys.getdefaultencoding() + return path.decode(filesystem_encoding, 'replace') + + def _parse_nested(config_value): # Given a value like this: # \n diff -Nru python-botocore-1.4.70/botocore/configprovider.py python-botocore-1.16.19+repack/botocore/configprovider.py --- python-botocore-1.4.70/botocore/configprovider.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/configprovider.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,540 @@ +# Copyright 2018 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. +"""This module contains the inteface for controlling how configuration +is loaded. +""" +import logging +import os + +from botocore import utils + + +logger = logging.getLogger(__name__) + + +#: A default dictionary that maps the logical names for session variables +#: to the specific environment variables and configuration file names +#: that contain the values for these variables. +#: When creating a new Session object, you can pass in your own dictionary +#: to remap the logical names or to add new logical names. You can then +#: get the current value for these variables by using the +#: ``get_config_variable`` method of the :class:`botocore.session.Session` +#: class. +#: These form the keys of the dictionary. The values in the dictionary +#: are tuples of (, , , +#: ). +#: The conversion func is a function that takes the configuration value +#: as an argument and returns the converted value. If this value is +#: None, then the configuration value is returned unmodified. This +#: conversion function can be used to type convert config values to +#: values other than the default values of strings. +#: The ``profile`` and ``config_file`` variables should always have a +#: None value for the first entry in the tuple because it doesn't make +#: sense to look inside the config file for the location of the config +#: file or for the default profile to use. +#: The ``config_name`` is the name to look for in the configuration file, +#: the ``env var`` is the OS environment variable (``os.environ``) to +#: use, and ``default_value`` is the value to use if no value is otherwise +#: found. +BOTOCORE_DEFAUT_SESSION_VARIABLES = { + # logical: config_file, env_var, default_value, conversion_func + 'profile': (None, ['AWS_DEFAULT_PROFILE', 'AWS_PROFILE'], None, None), + 'region': ('region', 'AWS_DEFAULT_REGION', None, None), + 'data_path': ('data_path', 'AWS_DATA_PATH', None, None), + 'config_file': (None, 'AWS_CONFIG_FILE', '~/.aws/config', None), + 'ca_bundle': ('ca_bundle', 'AWS_CA_BUNDLE', None, None), + 'api_versions': ('api_versions', None, {}, None), + + # This is the shared credentials file amongst sdks. + 'credentials_file': (None, 'AWS_SHARED_CREDENTIALS_FILE', + '~/.aws/credentials', None), + + # These variables only exist in the config file. + + # This is the number of seconds until we time out a request to + # the instance metadata service. + 'metadata_service_timeout': ( + 'metadata_service_timeout', + 'AWS_METADATA_SERVICE_TIMEOUT', 1, int), + # This is the number of request attempts we make until we give + # up trying to retrieve data from the instance metadata service. + 'metadata_service_num_attempts': ( + 'metadata_service_num_attempts', + 'AWS_METADATA_SERVICE_NUM_ATTEMPTS', 1, int), + 'parameter_validation': ('parameter_validation', None, True, None), + # Client side monitoring configurations. + # Note: These configurations are considered internal to botocore. + # Do not use them until publicly documented. + 'csm_enabled': ( + 'csm_enabled', 'AWS_CSM_ENABLED', False, utils.ensure_boolean), + 'csm_host': ('csm_host', 'AWS_CSM_HOST', '127.0.0.1', None), + 'csm_port': ('csm_port', 'AWS_CSM_PORT', 31000, int), + 'csm_client_id': ('csm_client_id', 'AWS_CSM_CLIENT_ID', '', None), + # Endpoint discovery configuration + 'endpoint_discovery_enabled': ( + 'endpoint_discovery_enabled', 'AWS_ENDPOINT_DISCOVERY_ENABLED', + False, utils.ensure_boolean), + 'sts_regional_endpoints': ( + 'sts_regional_endpoints', 'AWS_STS_REGIONAL_ENDPOINTS', 'legacy', + None + ), + 'retry_mode': ('retry_mode', 'AWS_RETRY_MODE', 'legacy', None), + # We can't have a default here for v1 because we need to defer to + # whatever the defaults are in _retry.json. + 'max_attempts': ('max_attempts', 'AWS_MAX_ATTEMPTS', None, int), +} +# A mapping for the s3 specific configuration vars. These are the configuration +# vars that typically go in the s3 section of the config file. This mapping +# follows the same schema as the previous session variable mapping. +DEFAULT_S3_CONFIG_VARS = { + 'addressing_style': ( + ('s3', 'addressing_style'), None, None, None), + 'use_accelerate_endpoint': ( + ('s3', 'use_accelerate_endpoint'), None, None, utils.ensure_boolean + ), + 'use_dualstack_endpoint': ( + ('s3', 'use_dualstack_endpoint'), None, None, utils.ensure_boolean + ), + 'payload_signing_enabled': ( + ('s3', 'payload_signing_enabled'), None, None, utils.ensure_boolean + ), + 'use_arn_region': ( + ['s3_use_arn_region', + ('s3', 'use_arn_region')], + 'AWS_S3_USE_ARN_REGION', None, utils.ensure_boolean + ), + 'us_east_1_regional_endpoint': ( + ['s3_us_east_1_regional_endpoint', + ('s3', 'us_east_1_regional_endpoint')], + 'AWS_S3_US_EAST_1_REGIONAL_ENDPOINT', None, None + ) +} + + +def create_botocore_default_config_mapping(session): + chain_builder = ConfigChainFactory(session=session) + config_mapping = _create_config_chain_mapping( + chain_builder, BOTOCORE_DEFAUT_SESSION_VARIABLES) + config_mapping['s3'] = SectionConfigProvider( + 's3', session, _create_config_chain_mapping( + chain_builder, DEFAULT_S3_CONFIG_VARS) + ) + return config_mapping + + +def _create_config_chain_mapping(chain_builder, config_variables): + mapping = {} + for logical_name, config in config_variables.items(): + mapping[logical_name] = chain_builder.create_config_chain( + instance_name=logical_name, + env_var_names=config[1], + config_property_names=config[0], + default=config[2], + conversion_func=config[3] + ) + return mapping + + +class ConfigChainFactory(object): + """Factory class to create our most common configuration chain case. + + This is a convenience class to construct configuration chains that follow + our most common pattern. This is to prevent ordering them incorrectly, + and to make the config chain construction more readable. + """ + def __init__(self, session, environ=None): + """Initialize a ConfigChainFactory. + + :type session: :class:`botocore.session.Session` + :param session: This is the session that should be used to look up + values from the config file. + + :type environ: dict + :param environ: A mapping to use for environment variables. If this + is not provided it will default to use os.environ. + """ + self._session = session + if environ is None: + environ = os.environ + self._environ = environ + + def create_config_chain(self, instance_name=None, env_var_names=None, + config_property_names=None, default=None, + conversion_func=None): + """Build a config chain following the standard botocore pattern. + + In botocore most of our config chains follow the the precendence: + session_instance_variables, environment, config_file, default_value. + + This is a convenience function for creating a chain that follow + that precendence. + + :type instance_name: str + :param instance_name: This indicates what session instance variable + corresponds to this config value. If it is None it will not be + added to the chain. + + :type env_var_names: str or list of str or None + :param env_var_names: One or more environment variable names to + search for this value. They are searched in order. If it is None + it will not be added to the chain. + + :type config_property_names: str/tuple or list of str/tuple or None + :param config_property_names: One of more strings or tuples + representing the name of the key in the config file for this + config option. They are searched in order. If it is None it will + not be added to the chain. + + :type default: Any + :param default: Any constant value to be returned. + + :type conversion_func: None or callable + :param conversion_func: If this value is None then it has no effect on + the return type. Otherwise, it is treated as a function that will + conversion_func our provided type. + + :rvalue: ConfigChain + :returns: A ConfigChain that resolves in the order env_var_names -> + config_property_name -> default. Any values that were none are + omitted form the chain. + """ + providers = [] + if instance_name is not None: + providers.append( + InstanceVarProvider( + instance_var=instance_name, + session=self._session + ) + ) + if env_var_names is not None: + providers.extend(self._get_env_providers(env_var_names)) + if config_property_names is not None: + providers.extend( + self._get_scoped_config_providers(config_property_names) + ) + if default is not None: + providers.append(ConstantProvider(value=default)) + + return ChainProvider( + providers=providers, + conversion_func=conversion_func, + ) + + def _get_env_providers(self, env_var_names): + env_var_providers = [] + if not isinstance(env_var_names, list): + env_var_names = [env_var_names] + for env_var_name in env_var_names: + env_var_providers.append( + EnvironmentProvider(name=env_var_name, env=self._environ) + ) + return env_var_providers + + def _get_scoped_config_providers(self, config_property_names): + scoped_config_providers = [] + if not isinstance(config_property_names, list): + config_property_names = [config_property_names] + for config_property_name in config_property_names: + scoped_config_providers.append( + ScopedConfigProvider( + config_var_name=config_property_name, + session=self._session, + ) + ) + return scoped_config_providers + + +class ConfigValueStore(object): + """The ConfigValueStore object stores configuration values.""" + def __init__(self, mapping=None): + """Initialize a ConfigValueStore. + + :type mapping: dict + :param mapping: The mapping parameter is a map of string to a subclass + of BaseProvider. When a config variable is asked for via the + get_config_variable method, the corresponding provider will be + invoked to load the value. + """ + self._overrides = {} + self._mapping = {} + if mapping is not None: + for logical_name, provider in mapping.items(): + self.set_config_provider(logical_name, provider) + + def get_config_variable(self, logical_name): + """ + Retrieve the value associeated with the specified logical_name + from the corresponding provider. If no value is found None will + be returned. + + :type logical_name: str + :param logical_name: The logical name of the session variable + you want to retrieve. This name will be mapped to the + appropriate environment variable name for this session as + well as the appropriate config file entry. + + :returns: value of variable or None if not defined. + """ + if logical_name in self._overrides: + return self._overrides[logical_name] + if logical_name not in self._mapping: + return None + provider = self._mapping[logical_name] + return provider.provide() + + def set_config_variable(self, logical_name, value): + """Set a configuration variable to a specific value. + + By using this method, you can override the normal lookup + process used in ``get_config_variable`` by explicitly setting + a value. Subsequent calls to ``get_config_variable`` will + use the ``value``. This gives you per-session specific + configuration values. + + :: + >>> # Assume logical name 'foo' maps to env var 'FOO' + >>> os.environ['FOO'] = 'myvalue' + >>> s.get_config_variable('foo') + 'myvalue' + >>> s.set_config_variable('foo', 'othervalue') + >>> s.get_config_variable('foo') + 'othervalue' + + :type logical_name: str + :param logical_name: The logical name of the session variable + you want to set. These are the keys in ``SESSION_VARIABLES``. + + :param value: The value to associate with the config variable. + """ + self._overrides[logical_name] = value + + def clear_config_variable(self, logical_name): + """Remove an override config variable from the session. + + :type logical_name: str + :param logical_name: The name of the parameter to clear the override + value from. + """ + self._overrides.pop(logical_name, None) + + def set_config_provider(self, logical_name, provider): + """Set the provider for a config value. + + This provides control over how a particular configuration value is + loaded. This replaces the provider for ``logical_name`` with the new + ``provider``. + + :type logical_name: str + :param logical_name: The name of the config value to change the config + provider for. + + :type provider: :class:`botocore.configprovider.BaseProvider` + :param provider: The new provider that should be responsible for + providing a value for the config named ``logical_name``. + """ + self._mapping[logical_name] = provider + + +class BaseProvider(object): + """Base class for configuration value providers. + + A configuration provider has some method of providing a configuration + value. + """ + def provide(self): + """Provide a config value.""" + raise NotImplementedError('provide') + + +class ChainProvider(BaseProvider): + """This provider wraps one or more other providers. + + Each provider in the chain is called, the first one returning a non-None + value is then returned. + """ + def __init__(self, providers=None, conversion_func=None): + """Initalize a ChainProvider. + + :type providers: list + :param providers: The initial list of providers to check for values + when invoked. + + :type conversion_func: None or callable + :param conversion_func: If this value is None then it has no affect on + the return type. Otherwise, it is treated as a function that will + transform provided value. + """ + if providers is None: + providers = [] + self._providers = providers + self._conversion_func = conversion_func + + def provide(self): + """Provide the value from the first provider to return non-None. + + Each provider in the chain has its provide method called. The first + one in the chain to return a non-None value is the returned from the + ChainProvider. When no non-None value is found, None is returned. + """ + for provider in self._providers: + value = provider.provide() + if value is not None: + return self._convert_type(value) + return None + + def _convert_type(self, value): + if self._conversion_func is not None: + return self._conversion_func(value) + return value + + def __repr__(self): + return '[%s]' % ', '.join([str(p) for p in self._providers]) + + +class InstanceVarProvider(BaseProvider): + """This class loads config values from the session instance vars.""" + def __init__(self, instance_var, session): + """Initialize InstanceVarProvider. + + :type instance_var: str + :param instance_var: The instance variable to load from the session. + + :type session: :class:`botocore.session.Session` + :param session: The botocore session to get the loaded configuration + file variables from. + """ + self._instance_var = instance_var + self._session = session + + def provide(self): + """Provide a config value from the session instance vars.""" + instance_vars = self._session.instance_variables() + value = instance_vars.get(self._instance_var) + return value + + def __repr__(self): + return 'InstanceVarProvider(instance_var=%s, session=%s)' % ( + self._instance_var, + self._session, + ) + + +class ScopedConfigProvider(BaseProvider): + def __init__(self, config_var_name, session): + """Initialize ScopedConfigProvider. + + :type config_var_name: str or tuple + :param config_var_name: The name of the config variable to load from + the configuration file. If the value is a tuple, it must only + consist of two items, where the first item represents the section + and the second item represents the config var name in the section. + + :type session: :class:`botocore.session.Session` + :param session: The botocore session to get the loaded configuration + file variables from. + """ + self._config_var_name = config_var_name + self._session = session + + def provide(self): + """Provide a value from a config file property.""" + scoped_config = self._session.get_scoped_config() + if isinstance(self._config_var_name, tuple): + section_config = scoped_config.get(self._config_var_name[0]) + if not isinstance(section_config, dict): + return None + return section_config.get(self._config_var_name[1]) + return scoped_config.get(self._config_var_name) + + def __repr__(self): + return 'ScopedConfigProvider(config_var_name=%s, session=%s)' % ( + self._config_var_name, + self._session, + ) + + +class EnvironmentProvider(BaseProvider): + """This class loads config values from environment variables.""" + def __init__(self, name, env): + """Initialize with the keys in the dictionary to check. + + :type name: str + :param name: The key with that name will be loaded and returned. + + :type env: dict + :param env: Environment variables dictionary to get variables from. + """ + self._name = name + self._env = env + + def provide(self): + """Provide a config value from a source dictionary.""" + if self._name in self._env: + return self._env[self._name] + return None + + def __repr__(self): + return 'EnvironmentProvider(name=%s, env=%s)' % (self._name, self._env) + + +class SectionConfigProvider(BaseProvider): + """Provides a dictionary from a section in the scoped config + + This is useful for retrieving scoped config variables (i.e. s3) that have + their own set of config variables and resolving logic. + """ + def __init__(self, section_name, session, override_providers=None): + self._section_name = section_name + self._session = session + self._scoped_config_provider = ScopedConfigProvider( + self._section_name, self._session) + self._override_providers = override_providers + if self._override_providers is None: + self._override_providers = {} + + def provide(self): + section_config = self._scoped_config_provider.provide() + if section_config and not isinstance(section_config, dict): + logger.debug("The %s config key is not a dictionary type, " + "ignoring its value of: %s", self._section_name, + section_config) + return None + for section_config_var, provider in self._override_providers.items(): + provider_val = provider.provide() + if provider_val is not None: + if section_config is None: + section_config = {} + section_config[section_config_var] = provider_val + return section_config + + def __repr__(self): + return ( + 'SectionConfigProvider(section_name=%s, ' + 'session=%s, override_providers=%s)' % ( + self._section_name, self._session, + self._override_providers, + ) + ) + + +class ConstantProvider(BaseProvider): + """This provider provides a constant value.""" + def __init__(self, value): + self._value = value + + def provide(self): + """Provide the constant value given during initialization.""" + return self._value + + def __repr__(self): + return 'ConstantProvider(value=%s)' % self._value diff -Nru python-botocore-1.4.70/botocore/config.py python-botocore-1.16.19+repack/botocore/config.py --- python-botocore-1.4.70/botocore/config.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/config.py 2020-05-28 19:26:08.000000000 +0000 @@ -15,6 +15,9 @@ from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS from botocore.exceptions import InvalidS3AddressingStyleError +from botocore.exceptions import InvalidRetryConfigurationError +from botocore.exceptions import InvalidMaxRetryAttemptsError +from botocore.exceptions import InvalidRetryModeError class Config(object): @@ -33,12 +36,12 @@ :param user_agent_extra: The value to append to the current User-Agent header value. - :type connect_timeout: int + :type connect_timeout: float or int :param connect_timeout: The time in seconds till a timeout exception is thrown when attempting to make a connection. The default is 60 seconds. - :type read_timeout: int + :type read_timeout: float or int :param read_timeout: The time in seconds till a timeout exception is thrown when attempting to read from a connection. The default is 60 seconds. @@ -54,6 +57,12 @@ keep in a connection pool. If this value is not set, the default value of 10 is used. + :type proxies: dict + :param proxies: A dictionary of proxy servers to use by protocol or + endpoint, e.g.: + {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. + The proxies are used on each request. + :type s3: dict :param s3: A dictionary of s3 specific configurations. Valid keys are: @@ -82,6 +91,64 @@ * path -- Addressing style is always by path. Endpoints will be addressed as such: s3.amazonaws.com/mybucket + + * 'us_east_1_regional_endpoint' - Refers to what S3 endpoint to use + when the region is configured to be us-east-1. Values must be a + string that equals: + + * regional -- Use the us-east-1.amazonaws.com endpoint if the + client is configured to use the us-east-1 region. + + * legacy -- Use the s3.amazonaws.com endpoint if the client is + configured to use the us-east-1 region. This is the default if + the configuration option is not specified. + + + :type retries: dict + :param retries: A dictionary for retry specific configurations. + Valid keys are: + + * 'total_max_attempts' -- An integer representing the maximum number of + total attempts that will be made on a single request. This includes + the initial request, so a value of 1 indicates that no requests + will be retried. If ``total_max_attempts`` and ``max_attempts`` + are both provided, ``total_max_attempts`` takes precedence. + ``total_max_attempts`` is preferred over ``max_attempts`` because + it maps to the ``AWS_MAX_ATTEMPTS`` environment variable and + the ``max_attempts`` config file value. + * 'max_attempts' -- An integer representing the maximum number of + retry attempts that will be made on a single request. For + example, setting this value to 2 will result in the request + being retried at most two times after the initial request. Setting + this value to 0 will result in no retries ever being attempted on + the initial request. If not provided, the number of retries will + default to whatever is modeled, which is typically four retries. + * 'mode' -- A string representing the type of retry mode botocore + should use. Valid values are: + * ``legacy`` - The pre-existing retry behavior. + * ``standard`` - The standardized set of retry rules. This + will also default to 3 max attempts unless overridden. + * ``adaptive`` - Retries with additional client side throttling. + + :type client_cert: str, (str, str) + :param client_cert: The path to a certificate for TLS client authentication. + + When a str is provided it is treated as a path to a client certificate + to be used when creating a TLS connection. + + If a client key is to be provided alongside the client certificate the + client_cert should be set to a tuple of length two where the first + element is the path to the client certificate and the second element is + the path to the certificate key. + + :type inject_host_prefix: bool + :param inject_host_prefix: Whether host prefix injection should occur. + + Defaults to True. + + Setting this to False disables the injection of operation parameters + into the prefix of the hostname. This is useful for clients providing + custom endpoints that should not have their host prefix modified. """ OPTION_DEFAULTS = OrderedDict([ ('region_name', None), @@ -92,7 +159,12 @@ ('read_timeout', DEFAULT_TIMEOUT), ('parameter_validation', True), ('max_pool_connections', MAX_POOL_CONNECTIONS), - ('s3', None) + ('proxies', None), + ('s3', None), + ('retries', None), + ('client_cert', None), + ('inject_host_prefix', True), + ('endpoint_discovery_enabled', None), ]) def __init__(self, *args, **kwargs): @@ -110,6 +182,8 @@ # Validate the s3 options self._validate_s3_configuration(self.s3) + self._validate_retry_configuration(self.retries) + def _record_user_provided_options(self, args, kwargs): option_order = list(self.OPTION_DEFAULTS) user_provided_options = {} @@ -150,6 +224,28 @@ raise InvalidS3AddressingStyleError( s3_addressing_style=addressing_style) + def _validate_retry_configuration(self, retries): + if retries is not None: + for key, value in retries.items(): + if key not in ['max_attempts', 'mode', 'total_max_attempts']: + raise InvalidRetryConfigurationError( + retry_config_option=key) + if key == 'max_attempts' and value < 0: + raise InvalidMaxRetryAttemptsError( + provided_max_attempts=value, + min_value=0, + ) + if key == 'total_max_attempts' and value < 1: + raise InvalidMaxRetryAttemptsError( + provided_max_attempts=value, + min_value=1, + ) + if key == 'mode' and value not in ['legacy', 'standard', + 'adaptive']: + raise InvalidRetryModeError( + provided_retry_mode=value + ) + def merge(self, other_config): """Merges the config object with another config object diff -Nru python-botocore-1.4.70/botocore/credentials.py python-botocore-1.16.19+repack/botocore/credentials.py --- python-botocore-1.4.70/botocore/credentials.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/credentials.py 2020-05-28 19:26:08.000000000 +0000 @@ -17,23 +17,32 @@ import os import getpass import threading +import json +import subprocess from collections import namedtuple +from copy import deepcopy +from hashlib import sha1 from dateutil.parser import parse from dateutil.tz import tzlocal import botocore.configloader import botocore.compat +from botocore import UNSIGNED from botocore.compat import total_seconds +from botocore.compat import compat_shell_split +from botocore.config import Config from botocore.exceptions import UnknownCredentialError from botocore.exceptions import PartialCredentialsError from botocore.exceptions import ConfigNotFound from botocore.exceptions import InvalidConfigError +from botocore.exceptions import InfiniteLoopConfigError from botocore.exceptions import RefreshWithMFAUnsupportedError from botocore.exceptions import MetadataRetrievalError from botocore.exceptions import CredentialRetrievalError from botocore.utils import InstanceMetadataFetcher, parse_key_val_file from botocore.utils import ContainerMetadataFetcher +from botocore.utils import FileWebIdentityTokenLoader logger = logging.getLogger(__name__) @@ -41,7 +50,7 @@ ['access_key', 'secret_key', 'token']) -def create_credential_resolver(session): +def create_credential_resolver(session, cache=None, region_name=None): """Create a default credential resolver. This creates a pre-configured credential resolver @@ -50,40 +59,52 @@ """ profile_name = session.get_config_variable('profile') or 'default' - credential_file = session.get_config_variable('credentials_file') - config_file = session.get_config_variable('config_file') metadata_timeout = session.get_config_variable('metadata_service_timeout') num_attempts = session.get_config_variable('metadata_service_num_attempts') + disable_env_vars = session.instance_variables().get('profile') is not None + + if cache is None: + cache = {} env_provider = EnvProvider() - providers = [ + container_provider = ContainerProvider() + instance_metadata_provider = InstanceMetadataProvider( + iam_role_fetcher=InstanceMetadataFetcher( + timeout=metadata_timeout, + num_attempts=num_attempts, + user_agent=session.user_agent()) + ) + + profile_provider_builder = ProfileProviderBuilder( + session, cache=cache, region_name=region_name) + assume_role_provider = AssumeRoleProvider( + load_config=lambda: session.full_config, + client_creator=_get_client_creator(session, region_name), + cache=cache, + profile_name=profile_name, + credential_sourcer=CanonicalNameCredentialSourcer([ + env_provider, container_provider, instance_metadata_provider + ]), + profile_provider_builder=profile_provider_builder, + ) + + pre_profile = [ env_provider, - AssumeRoleProvider( - load_config=lambda: session.full_config, - client_creator=session.create_client, - cache={}, - profile_name=profile_name, - ), - SharedCredentialProvider( - creds_filename=credential_file, - profile_name=profile_name - ), - # The new config file has precedence over the legacy - # config file. - ConfigProvider(config_filename=config_file, profile_name=profile_name), + assume_role_provider, + ] + profile_providers = profile_provider_builder.providers( + profile_name=profile_name, + disable_env_vars=disable_env_vars, + ) + post_profile = [ OriginalEC2Provider(), BotoProvider(), - ContainerProvider(), - InstanceMetadataProvider( - iam_role_fetcher=InstanceMetadataFetcher( - timeout=metadata_timeout, - num_attempts=num_attempts) - ) + container_provider, + instance_metadata_provider, ] + providers = pre_profile + profile_providers + post_profile - explicit_profile = session.get_config_variable('profile', - methods=('instance',)) - if explicit_profile is not None: + if disable_env_vars: # An explicitly provided profile will negate an EnvProvider. # We will defer to providers that understand the "profile" # concept to retrieve credentials. @@ -100,7 +121,6 @@ # EnvProvider does not return credentials, which is what we want # in this scenario. providers.remove(env_provider) - else: logger.debug('Skipping environment variable credential check' ' because profile name was explicitly set.') @@ -108,6 +128,62 @@ return resolver +class ProfileProviderBuilder(object): + """This class handles the creation of profile based providers. + + NOTE: This class is only intended for internal use. + + This class handles the creation and ordering of the various credential + providers that primarly source their configuration from the shared config. + This is needed to enable sharing between the default credential chain and + the source profile chain created by the assume role provider. + """ + def __init__(self, session, cache=None, region_name=None): + self._session = session + self._cache = cache + self._region_name = region_name + + def providers(self, profile_name, disable_env_vars=False): + return [ + self._create_web_identity_provider( + profile_name, disable_env_vars, + ), + self._create_shared_credential_provider(profile_name), + self._create_process_provider(profile_name), + self._create_config_provider(profile_name), + ] + + def _create_process_provider(self, profile_name): + return ProcessProvider( + profile_name=profile_name, + load_config=lambda: self._session.full_config, + ) + + def _create_shared_credential_provider(self, profile_name): + credential_file = self._session.get_config_variable('credentials_file') + return SharedCredentialProvider( + profile_name=profile_name, + creds_filename=credential_file, + ) + + def _create_config_provider(self, profile_name): + config_file = self._session.get_config_variable('config_file') + return ConfigProvider( + profile_name=profile_name, + config_filename=config_file, + ) + + def _create_web_identity_provider(self, profile_name, disable_env_vars): + return AssumeRoleWithWebIdentityProvider( + load_config=lambda: self._session.full_config, + client_creator=_get_client_creator( + self._session, self._region_name), + cache=self._cache, + profile_name=profile_name, + disable_env_vars=disable_env_vars, + ) + + def get_credentials(session): resolver = create_credential_resolver(session) return resolver.load_credentials() @@ -123,12 +199,25 @@ return parse(value) -def _serialize_if_needed(value): +def _serialize_if_needed(value, iso=False): if isinstance(value, datetime.datetime): + if iso: + return value.isoformat() return value.strftime('%Y-%m-%dT%H:%M:%S%Z') return value +def _get_client_creator(session, region_name): + def client_creator(service_name, **kwargs): + create_client_kwargs = { + 'region_name': region_name + } + create_client_kwargs.update(**kwargs) + return session.create_client(service_name, **create_client_kwargs) + + return client_creator + + def create_assume_role_refresher(client, params): def refresh(): response = client.assume_role(**params) @@ -144,13 +233,68 @@ return refresh -def create_mfa_serial_refresher(): - def _refresher(): - # We can explore an option in the future to support - # reprompting for MFA, but for now we just error out - # when the temp creds expire. - raise RefreshWithMFAUnsupportedError() - return _refresher +def create_mfa_serial_refresher(actual_refresh): + + class _Refresher(object): + def __init__(self, refresh): + self._refresh = refresh + self._has_been_called = False + + def __call__(self): + if self._has_been_called: + # We can explore an option in the future to support + # reprompting for MFA, but for now we just error out + # when the temp creds expire. + raise RefreshWithMFAUnsupportedError() + self._has_been_called = True + return self._refresh() + + return _Refresher(actual_refresh) + + +class JSONFileCache(object): + """JSON file cache. + This provides a dict like interface that stores JSON serializable + objects. + The objects are serialized to JSON and stored in a file. These + values can be retrieved at a later time. + """ + + CACHE_DIR = os.path.expanduser(os.path.join('~', '.aws', 'boto', 'cache')) + + def __init__(self, working_dir=CACHE_DIR): + self._working_dir = working_dir + + def __contains__(self, cache_key): + actual_key = self._convert_cache_key(cache_key) + return os.path.isfile(actual_key) + + def __getitem__(self, cache_key): + """Retrieve value from a cache key.""" + actual_key = self._convert_cache_key(cache_key) + try: + with open(actual_key) as f: + return json.load(f) + except (OSError, ValueError, IOError): + raise KeyError(cache_key) + + def __setitem__(self, cache_key, value): + full_key = self._convert_cache_key(cache_key) + try: + file_content = json.dumps(value, default=_serialize_if_needed) + except (TypeError, ValueError): + raise ValueError("Value cannot be cached, must be " + "JSON serializable: %s" % value) + if not os.path.isdir(self._working_dir): + os.makedirs(self._working_dir) + with os.fdopen(os.open(full_key, + os.O_WRONLY | os.O_CREAT, 0o600), 'w') as f: + f.truncate() + f.write(file_content) + + def _convert_cache_key(self, cache_key): + full_path = os.path.join(self._working_dir, cache_key + '.json') + return full_path class Credentials(object): @@ -197,8 +341,6 @@ Holds the credentials needed to authenticate requests. In addition, it knows how to refresh itself. - :ivar refresh_timeout: How long a given set of credentials are valid for. - Useful for credentials fetched over the network. :ivar access_key: The access key part of the credentials. :ivar secret_key: The secret key part of the credentials. :ivar token: The security token, valid only for session credentials. @@ -245,6 +387,10 @@ @property def access_key(self): + """Warning: Using this property can lead to race conditions if you + access another property subsequently along the refresh boundary. + Please use get_frozen_credentials instead. + """ self._refresh() return self._access_key @@ -254,6 +400,10 @@ @property def secret_key(self): + """Warning: Using this property can lead to race conditions if you + access another property subsequently along the refresh boundary. + Please use get_frozen_credentials instead. + """ self._refresh() return self._secret_key @@ -263,6 +413,10 @@ @property def token(self): + """Warning: Using this property can lead to race conditions if you + access another property subsequently along the refresh boundary. + Please use get_frozen_credentials instead. + """ self._refresh() return self._token @@ -361,6 +515,8 @@ # set of temporary credentials we have. return self._set_from_data(metadata) + self._frozen_credentials = ReadOnlyCredentials( + self._access_key, self._secret_key, self._token) if self._is_expired(): # We successfully refreshed credentials but for whatever # reason, our refreshing function returned credentials @@ -371,14 +527,25 @@ "refreshed credentials are still expired.") logger.warning(msg) raise RuntimeError(msg) - self._frozen_credentials = ReadOnlyCredentials( - self._access_key, self._secret_key, self._token) @staticmethod def _expiry_datetime(time_str): return parse(time_str) def _set_from_data(self, data): + expected_keys = ['access_key', 'secret_key', 'token', 'expiry_time'] + if not data: + missing_keys = expected_keys + else: + missing_keys = [k for k in expected_keys if k not in data] + + if missing_keys: + message = "Credential refresh failed, response did not contain: %s" + raise CredentialRetrievalError( + provider=self.method, + error_msg=message % ', '.join(missing_keys), + ) + self.access_key = data['access_key'] self.secret_key = data['secret_key'] self.token = data['token'] @@ -425,11 +592,297 @@ return self._frozen_credentials -class CredentialProvider(object): +class DeferredRefreshableCredentials(RefreshableCredentials): + """Refreshable credentials that don't require initial credentials. + + refresh_using will be called upon first access. + """ + def __init__(self, refresh_using, method, time_fetcher=_local_now): + self._refresh_using = refresh_using + self._access_key = None + self._secret_key = None + self._token = None + self._expiry_time = None + self._time_fetcher = time_fetcher + self._refresh_lock = threading.Lock() + self.method = method + self._frozen_credentials = None + + def refresh_needed(self, refresh_in=None): + if self._frozen_credentials is None: + return True + return super(DeferredRefreshableCredentials, self).refresh_needed( + refresh_in + ) + + +class CachedCredentialFetcher(object): + DEFAULT_EXPIRY_WINDOW_SECONDS = 60 * 15 + + def __init__(self, cache=None, expiry_window_seconds=None): + if cache is None: + cache = {} + self._cache = cache + self._cache_key = self._create_cache_key() + if expiry_window_seconds is None: + expiry_window_seconds = self.DEFAULT_EXPIRY_WINDOW_SECONDS + self._expiry_window_seconds = expiry_window_seconds + + def _create_cache_key(self): + raise NotImplementedError('_create_cache_key()') + + def _make_file_safe(self, filename): + # Replace :, path sep, and / to make it the string filename safe. + filename = filename.replace(':', '_').replace(os.path.sep, '_') + return filename.replace('/', '_') + + def _get_credentials(self): + raise NotImplementedError('_get_credentials()') + + def fetch_credentials(self): + return self._get_cached_credentials() + + def _get_cached_credentials(self): + """Get up-to-date credentials. + + This will check the cache for up-to-date credentials, calling assume + role if none are available. + """ + response = self._load_from_cache() + if response is None: + response = self._get_credentials() + self._write_to_cache(response) + else: + logger.debug("Credentials for role retrieved from cache.") + + creds = response['Credentials'] + expiration = _serialize_if_needed(creds['Expiration'], iso=True) + return { + 'access_key': creds['AccessKeyId'], + 'secret_key': creds['SecretAccessKey'], + 'token': creds['SessionToken'], + 'expiry_time': expiration, + } + + def _load_from_cache(self): + if self._cache_key in self._cache: + creds = deepcopy(self._cache[self._cache_key]) + if not self._is_expired(creds): + return creds + else: + logger.debug( + "Credentials were found in cache, but they are expired." + ) + return None + + def _write_to_cache(self, response): + self._cache[self._cache_key] = deepcopy(response) + + def _is_expired(self, credentials): + """Check if credentials are expired.""" + end_time = _parse_if_needed(credentials['Credentials']['Expiration']) + seconds = total_seconds(end_time - _local_now()) + return seconds < self._expiry_window_seconds + + +class BaseAssumeRoleCredentialFetcher(CachedCredentialFetcher): + def __init__(self, client_creator, role_arn, extra_args=None, + cache=None, expiry_window_seconds=None): + self._client_creator = client_creator + self._role_arn = role_arn + + if extra_args is None: + self._assume_kwargs = {} + else: + self._assume_kwargs = deepcopy(extra_args) + self._assume_kwargs['RoleArn'] = self._role_arn + + self._role_session_name = self._assume_kwargs.get('RoleSessionName') + self._using_default_session_name = False + if not self._role_session_name: + self._generate_assume_role_name() + + super(BaseAssumeRoleCredentialFetcher, self).__init__( + cache, expiry_window_seconds + ) + + def _generate_assume_role_name(self): + self._role_session_name = 'botocore-session-%s' % (int(time.time())) + self._assume_kwargs['RoleSessionName'] = self._role_session_name + self._using_default_session_name = True + + def _create_cache_key(self): + """Create a predictable cache key for the current configuration. + + The cache key is intended to be compatible with file names. + """ + args = deepcopy(self._assume_kwargs) + + # The role session name gets randomly generated, so we don't want it + # in the hash. + if self._using_default_session_name: + del args['RoleSessionName'] + + if 'Policy' in args: + # To have a predictable hash, the keys of the policy must be + # sorted, so we have to load it here to make sure it gets sorted + # later on. + args['Policy'] = json.loads(args['Policy']) + + args = json.dumps(args, sort_keys=True) + argument_hash = sha1(args.encode('utf-8')).hexdigest() + return self._make_file_safe(argument_hash) + + +class AssumeRoleCredentialFetcher(BaseAssumeRoleCredentialFetcher): + def __init__(self, client_creator, source_credentials, role_arn, + extra_args=None, mfa_prompter=None, cache=None, + expiry_window_seconds=None): + """ + :type client_creator: callable + :param client_creator: A callable that creates a client taking + arguments like ``Session.create_client``. + + :type source_credentials: Credentials + :param source_credentials: The credentials to use to create the + client for the call to AssumeRole. + + :type role_arn: str + :param role_arn: The ARN of the role to be assumed. + + :type extra_args: dict + :param extra_args: Any additional arguments to add to the assume + role request using the format of the botocore operation. + Possible keys include, but may not be limited to, + DurationSeconds, Policy, SerialNumber, ExternalId and + RoleSessionName. + + :type mfa_prompter: callable + :param mfa_prompter: A callable that returns input provided by the + user (i.e raw_input, getpass.getpass, etc.). + + :type cache: dict + :param cache: An object that supports ``__getitem__``, + ``__setitem__``, and ``__contains__``. An example of this is + the ``JSONFileCache`` class in aws-cli. + + :type expiry_window_seconds: int + :param expiry_window_seconds: The amount of time, in seconds, + """ + self._source_credentials = source_credentials + self._mfa_prompter = mfa_prompter + if self._mfa_prompter is None: + self._mfa_prompter = getpass.getpass + + super(AssumeRoleCredentialFetcher, self).__init__( + client_creator, role_arn, extra_args=extra_args, + cache=cache, expiry_window_seconds=expiry_window_seconds + ) + + def _get_credentials(self): + """Get credentials by calling assume role.""" + kwargs = self._assume_role_kwargs() + client = self._create_client() + return client.assume_role(**kwargs) + + def _assume_role_kwargs(self): + """Get the arguments for assume role based on current configuration.""" + assume_role_kwargs = deepcopy(self._assume_kwargs) + + mfa_serial = assume_role_kwargs.get('SerialNumber') + + if mfa_serial is not None: + prompt = 'Enter MFA code for %s: ' % mfa_serial + token_code = self._mfa_prompter(prompt) + assume_role_kwargs['TokenCode'] = token_code + + duration_seconds = assume_role_kwargs.get('DurationSeconds') + + if duration_seconds is not None: + assume_role_kwargs['DurationSeconds'] = duration_seconds + + return assume_role_kwargs + + def _create_client(self): + """Create an STS client using the source credentials.""" + frozen_credentials = self._source_credentials.get_frozen_credentials() + return self._client_creator( + 'sts', + aws_access_key_id=frozen_credentials.access_key, + aws_secret_access_key=frozen_credentials.secret_key, + aws_session_token=frozen_credentials.token, + ) + + +class AssumeRoleWithWebIdentityCredentialFetcher( + BaseAssumeRoleCredentialFetcher +): + def __init__(self, client_creator, web_identity_token_loader, role_arn, + extra_args=None, cache=None, expiry_window_seconds=None): + """ + :type client_creator: callable + :param client_creator: A callable that creates a client taking + arguments like ``Session.create_client``. + + :type web_identity_token_loader: callable + :param web_identity_token_loader: A callable that takes no arguments + and returns a web identity token str. + + :type role_arn: str + :param role_arn: The ARN of the role to be assumed. + + :type extra_args: dict + :param extra_args: Any additional arguments to add to the assume + role request using the format of the botocore operation. + Possible keys include, but may not be limited to, + DurationSeconds, Policy, SerialNumber, ExternalId and + RoleSessionName. + + :type cache: dict + :param cache: An object that supports ``__getitem__``, + ``__setitem__``, and ``__contains__``. An example of this is + the ``JSONFileCache`` class in aws-cli. + + :type expiry_window_seconds: int + :param expiry_window_seconds: The amount of time, in seconds, + """ + self._web_identity_token_loader = web_identity_token_loader + + super(AssumeRoleWithWebIdentityCredentialFetcher, self).__init__( + client_creator, role_arn, extra_args=extra_args, + cache=cache, expiry_window_seconds=expiry_window_seconds + ) + + def _get_credentials(self): + """Get credentials by calling assume role.""" + kwargs = self._assume_role_kwargs() + # Assume role with web identity does not require credentials other than + # the token, explicitly configure the client to not sign requests. + config = Config(signature_version=UNSIGNED) + client = self._client_creator('sts', config=config) + return client.assume_role_with_web_identity(**kwargs) + + def _assume_role_kwargs(self): + """Get the arguments for assume role based on current configuration.""" + assume_role_kwargs = deepcopy(self._assume_kwargs) + identity_token = self._web_identity_token_loader() + assume_role_kwargs['WebIdentityToken'] = identity_token - # Implementations must provide a method. + return assume_role_kwargs + + +class CredentialProvider(object): + # A short name to identify the provider within botocore. METHOD = None + # A name to identify the provider for use in cross-sdk features like + # assume role's `credential_source` configuration option. These names + # are to be treated in a case-insensitive way. NOTE: any providers not + # implemented in botocore MUST prefix their canonical names with + # 'custom' or we DO NOT guarantee that it will work with any features + # that this provides. + CANONICAL_NAME = None + def __init__(self, session=None): self.session = session @@ -448,7 +901,7 @@ ``access_key/secret_key/token`` themselves. :returns: Whether credentials were found & set - :rtype: boolean + :rtype: Credentials """ return True @@ -463,8 +916,79 @@ return found +class ProcessProvider(CredentialProvider): + + METHOD = 'custom-process' + + def __init__(self, profile_name, load_config, popen=subprocess.Popen): + self._profile_name = profile_name + self._load_config = load_config + self._loaded_config = None + self._popen = popen + + def load(self): + credential_process = self._credential_process + if credential_process is None: + return + + creds_dict = self._retrieve_credentials_using(credential_process) + if creds_dict.get('expiry_time') is not None: + return RefreshableCredentials.create_from_metadata( + creds_dict, + lambda: self._retrieve_credentials_using(credential_process), + self.METHOD + ) + + return Credentials( + access_key=creds_dict['access_key'], + secret_key=creds_dict['secret_key'], + token=creds_dict.get('token'), + method=self.METHOD + ) + + def _retrieve_credentials_using(self, credential_process): + # We're not using shell=True, so we need to pass the + # command and all arguments as a list. + process_list = compat_shell_split(credential_process) + p = self._popen(process_list, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + stdout, stderr = p.communicate() + if p.returncode != 0: + raise CredentialRetrievalError( + provider=self.METHOD, error_msg=stderr.decode('utf-8')) + parsed = botocore.compat.json.loads(stdout.decode('utf-8')) + version = parsed.get('Version', '') + if version != 1: + raise CredentialRetrievalError( + provider=self.METHOD, + error_msg=("Unsupported version '%s' for credential process " + "provider, supported versions: 1" % version)) + try: + return { + 'access_key': parsed['AccessKeyId'], + 'secret_key': parsed['SecretAccessKey'], + 'token': parsed.get('SessionToken'), + 'expiry_time': parsed.get('Expiration'), + } + except KeyError as e: + raise CredentialRetrievalError( + provider=self.METHOD, + error_msg="Missing required key in response: %s" % e + ) + + @property + def _credential_process(self): + if self._loaded_config is None: + self._loaded_config = self._load_config() + profile_config = self._loaded_config.get( + 'profiles', {}).get(self._profile_name, {}) + return profile_config.get('credential_process') + + class InstanceMetadataProvider(CredentialProvider): METHOD = 'iam-role' + CANONICAL_NAME = 'Ec2InstanceMetadata' def __init__(self, iam_role_fetcher): self._role_fetcher = iam_role_fetcher @@ -477,8 +1001,8 @@ metadata = fetcher.retrieve_iam_role_credentials() if not metadata: return None - logger.info('Found credentials from IAM Role: %s', - metadata['role_name']) + logger.debug('Found credentials from IAM Role: %s', + metadata['role_name']) # We manually set the data here, since we already made the request & # have it. When the expiry is hit, the credentials will auto-refresh # themselves. @@ -492,11 +1016,13 @@ class EnvProvider(CredentialProvider): METHOD = 'env' + CANONICAL_NAME = 'Environment' ACCESS_KEY = 'AWS_ACCESS_KEY_ID' SECRET_KEY = 'AWS_SECRET_ACCESS_KEY' # The token can come from either of these env var. # AWS_SESSION_TOKEN is what other AWS SDKs have standardized on. TOKENS = ['AWS_SECURITY_TOKEN', 'AWS_SESSION_TOKEN'] + EXPIRY_TIME = 'AWS_CREDENTIAL_EXPIRATION' def __init__(self, environ=None, mapping=None): """ @@ -522,6 +1048,7 @@ var_mapping['access_key'] = self.ACCESS_KEY var_mapping['secret_key'] = self.SECRET_KEY var_mapping['token'] = self.TOKENS + var_mapping['expiry_time'] = self.EXPIRY_TIME else: var_mapping['access_key'] = mapping.get( 'access_key', self.ACCESS_KEY) @@ -531,31 +1058,81 @@ 'token', self.TOKENS) if not isinstance(var_mapping['token'], list): var_mapping['token'] = [var_mapping['token']] + var_mapping['expiry_time'] = mapping.get( + 'expiry_time', self.EXPIRY_TIME) return var_mapping def load(self): """ Search for credentials in explicit environment variables. """ - if self._mapping['access_key'] in self.environ: + + access_key = self.environ.get(self._mapping['access_key'], '') + + if access_key: logger.info('Found credentials in environment variables.') - access_key, secret_key = self._extract_creds_from_mapping( - self.environ, self._mapping['access_key'], - self._mapping['secret_key']) - token = self._get_session_token() - return Credentials(access_key, secret_key, token, - method=self.METHOD) + fetcher = self._create_credentials_fetcher() + credentials = fetcher(require_expiry=False) + + expiry_time = credentials['expiry_time'] + if expiry_time is not None: + expiry_time = parse(expiry_time) + return RefreshableCredentials( + credentials['access_key'], credentials['secret_key'], + credentials['token'], expiry_time, + refresh_using=fetcher, method=self.METHOD + ) + + return Credentials( + credentials['access_key'], credentials['secret_key'], + credentials['token'], method=self.METHOD + ) else: return None - def _get_session_token(self): - for token_envvar in self._mapping['token']: - if token_envvar in self.environ: - return self.environ[token_envvar] + def _create_credentials_fetcher(self): + mapping = self._mapping + method = self.METHOD + environ = self.environ + + def fetch_credentials(require_expiry=True): + credentials = {} + + access_key = environ.get(mapping['access_key'], '') + if not access_key: + raise PartialCredentialsError( + provider=method, cred_var=mapping['access_key']) + credentials['access_key'] = access_key + + secret_key = environ.get(mapping['secret_key'], '') + if not secret_key: + raise PartialCredentialsError( + provider=method, cred_var=mapping['secret_key']) + credentials['secret_key'] = secret_key + + credentials['token'] = None + for token_env_var in mapping['token']: + token = environ.get(token_env_var, '') + if token: + credentials['token'] = token + break + + credentials['expiry_time'] = None + expiry_time = environ.get(mapping['expiry_time'], '') + if expiry_time: + credentials['expiry_time'] = expiry_time + if require_expiry and not expiry_time: + raise PartialCredentialsError( + provider=method, cred_var=mapping['expiry_time']) + + return credentials + + return fetch_credentials class OriginalEC2Provider(CredentialProvider): METHOD = 'ec2-credentials-file' + CANONICAL_NAME = 'Ec2Config' CRED_FILE_ENV = 'AWS_CREDENTIAL_FILE' ACCESS_KEY = 'AWSAccessKeyId' @@ -574,7 +1151,8 @@ Search for a credential file used by original EC2 CLI tools. """ if 'AWS_CREDENTIAL_FILE' in self._environ: - full_path = os.path.expanduser(self._environ['AWS_CREDENTIAL_FILE']) + full_path = os.path.expanduser( + self._environ['AWS_CREDENTIAL_FILE']) creds = self._parser(full_path) if self.ACCESS_KEY in creds: logger.info('Found credentials in AWS_CREDENTIAL_FILE.') @@ -588,6 +1166,7 @@ class SharedCredentialProvider(CredentialProvider): METHOD = 'shared-credentials-file' + CANONICAL_NAME = 'SharedCredentials' ACCESS_KEY = 'aws_access_key_id' SECRET_KEY = 'aws_secret_access_key' @@ -630,6 +1209,7 @@ class ConfigProvider(CredentialProvider): """INI based config provider with profile sections.""" METHOD = 'config-file' + CANONICAL_NAME = 'SharedConfig' ACCESS_KEY = 'aws_access_key_id' SECRET_KEY = 'aws_secret_access_key' @@ -683,6 +1263,7 @@ class BotoProvider(CredentialProvider): METHOD = 'boto-config' + CANONICAL_NAME = 'Boto2Config' BOTO_CONFIG_ENV = 'BOTO_CONFIG' DEFAULT_CONFIG_FILENAMES = ['/etc/boto.cfg', '~/.boto'] @@ -723,18 +1304,24 @@ class AssumeRoleProvider(CredentialProvider): - METHOD = 'assume-role' + # The AssumeRole provider is logically part of the SharedConfig and + # SharedCredentials providers. Since the purpose of the canonical name + # is to provide cross-sdk compatibility, calling code will need to be + # aware that either of those providers should be tied to the AssumeRole + # provider as much as possible. + CANONICAL_NAME = None ROLE_CONFIG_VAR = 'role_arn' + WEB_IDENTITY_TOKE_FILE_VAR = 'web_identity_token_file' # Credentials are considered expired (and will be refreshed) once the total # remaining time left until the credentials expires is less than the # EXPIRY_WINDOW. EXPIRY_WINDOW_SECONDS = 60 * 15 def __init__(self, load_config, client_creator, cache, profile_name, - prompter=getpass.getpass): + prompter=getpass.getpass, credential_sourcer=None, + profile_provider_builder=None): """ - :type load_config: callable :param load_config: A function that accepts no arguments, and when called, will return the full configuration dictionary @@ -745,10 +1332,10 @@ a client when called. Has the same interface as ``botocore.session.Session.create_client``. - :type cache: JSONFileCache + :type cache: dict :param cache: An object that supports ``__getitem__``, ``__setitem__``, and ``__contains__``. An example - of this is the ``JSONFileCache`` class. + of this is the ``JSONFileCache`` class in the CLI. :type profile_name: str :param profile_name: The name of the profile. @@ -757,6 +1344,10 @@ :param prompter: A callable that returns input provided by the user (i.e raw_input, getpass.getpass, etc.). + :type credential_sourcer: CanonicalNameCredentialSourcer + :param credential_sourcer: A credential provider that takes a + configuration, which is used to provide the source credentials + for the STS call. """ #: The cache used to first check for assumed credentials. #: This is checked before making the AssumeRole API @@ -778,162 +1369,432 @@ # to load credentials (as opposed to when the object is # instantiated). self._loaded_config = {} + self._credential_sourcer = credential_sourcer + self._profile_provider_builder = profile_provider_builder + self._visited_profiles = [self._profile_name] def load(self): self._loaded_config = self._load_config() - if self._has_assume_role_config_vars(): - return self._load_creds_via_assume_role() - - def _has_assume_role_config_vars(self): profiles = self._loaded_config.get('profiles', {}) - return self.ROLE_CONFIG_VAR in profiles.get(self._profile_name, {}) + profile = profiles.get(self._profile_name, {}) + if self._has_assume_role_config_vars(profile): + return self._load_creds_via_assume_role(self._profile_name) + + def _has_assume_role_config_vars(self, profile): + return ( + self.ROLE_CONFIG_VAR in profile and + # We need to ensure this provider doesn't look at a profile when + # the profile has configuration for web identity. Simply relying on + # the order in the credential chain is insufficient as it doesn't + # prevent the case when we're doing an assume role chain. + self.WEB_IDENTITY_TOKE_FILE_VAR not in profile + ) - def _load_creds_via_assume_role(self): - # We can get creds in one of two ways: - # * It can either be cached on disk from an pre-existing session - # * Cache doesn't have the creds (or is expired) so we need to make - # an assume role call to get temporary creds, which we then cache - # for subsequent requests. - creds = self._load_creds_from_cache() - if creds is not None: - logger.debug("Credentials for role retrieved from cache.") - return creds - else: - # We get the Credential used by botocore as well - # as the original parsed response from the server. - creds, response = self._retrieve_temp_credentials() - cache_key = self._create_cache_key() - self._write_cached_credentials(response, cache_key) - return creds + def _load_creds_via_assume_role(self, profile_name): + role_config = self._get_role_config(profile_name) + source_credentials = self._resolve_source_credentials( + role_config, profile_name + ) - def _load_creds_from_cache(self): - cache_key = self._create_cache_key() - try: - from_cache = self.cache[cache_key] - if self._is_expired(from_cache): - # Don't need to delete the cache entry, - # when we refresh via AssumeRole, we'll - # update the cache with the new entry. - logger.debug( - "Credentials were found in cache, but they are expired.") - return None - else: - return self._create_creds_from_response(from_cache) - except KeyError: - return None + extra_args = {} + role_session_name = role_config.get('role_session_name') + if role_session_name is not None: + extra_args['RoleSessionName'] = role_session_name - def _is_expired(self, credentials): - end_time = parse(credentials['Credentials']['Expiration']) - now = datetime.datetime.now(tzlocal()) - seconds = total_seconds(end_time - now) - return seconds < self.EXPIRY_WINDOW_SECONDS + external_id = role_config.get('external_id') + if external_id is not None: + extra_args['ExternalId'] = external_id + + mfa_serial = role_config.get('mfa_serial') + if mfa_serial is not None: + extra_args['SerialNumber'] = mfa_serial + + duration_seconds = role_config.get('duration_seconds') + if duration_seconds is not None: + extra_args['DurationSeconds'] = duration_seconds + + fetcher = AssumeRoleCredentialFetcher( + client_creator=self._client_creator, + source_credentials=source_credentials, + role_arn=role_config['role_arn'], + extra_args=extra_args, + mfa_prompter=self._prompter, + cache=self.cache, + ) + refresher = fetcher.fetch_credentials + if mfa_serial is not None: + refresher = create_mfa_serial_refresher(refresher) + + # The initial credentials are empty and the expiration time is set + # to now so that we can delay the call to assume role until it is + # strictly needed. + return DeferredRefreshableCredentials( + method=self.METHOD, + refresh_using=refresher, + time_fetcher=_local_now + ) - def _create_cache_key(self): - role_config = self._get_role_config_values() - # On windows, ':' is not allowed in filenames, so we'll - # replace them with '_' instead. - role_arn = role_config['role_arn'].replace(':', '_') - role_session_name = role_config.get('role_session_name') - if role_session_name: - cache_key = '%s--%s--%s' % (self._profile_name, role_arn, - role_session_name) + def _get_role_config(self, profile_name): + """Retrieves and validates the role configuration for the profile.""" + profiles = self._loaded_config.get('profiles', {}) + + profile = profiles[profile_name] + source_profile = profile.get('source_profile') + role_arn = profile['role_arn'] + credential_source = profile.get('credential_source') + mfa_serial = profile.get('mfa_serial') + external_id = profile.get('external_id') + role_session_name = profile.get('role_session_name') + duration_seconds = profile.get('duration_seconds') + + role_config = { + 'role_arn': role_arn, + 'external_id': external_id, + 'mfa_serial': mfa_serial, + 'role_session_name': role_session_name, + 'source_profile': source_profile, + 'credential_source': credential_source + } + + if duration_seconds is not None: + try: + role_config['duration_seconds'] = int(duration_seconds) + except ValueError: + pass + + # Either the credential source or the source profile must be + # specified, but not both. + if credential_source is not None and source_profile is not None: + raise InvalidConfigError( + error_msg=( + 'The profile "%s" contains both source_profile and ' + 'credential_source.' % profile_name + ) + ) + elif credential_source is None and source_profile is None: + raise PartialCredentialsError( + provider=self.METHOD, + cred_var='source_profile or credential_source' + ) + elif credential_source is not None: + self._validate_credential_source( + profile_name, credential_source) else: - cache_key = '%s--%s' % (self._profile_name, role_arn) + self._validate_source_profile(profile_name, source_profile) - return cache_key.replace('/', '-') + return role_config - def _write_cached_credentials(self, creds, cache_key): - self.cache[cache_key] = creds + def _validate_credential_source(self, parent_profile, credential_source): + if self._credential_sourcer is None: + raise InvalidConfigError(error_msg=( + 'The credential_source "%s" is specified in profile "%s", ' + 'but no source provider was configured.' % ( + credential_source, parent_profile) + )) + if not self._credential_sourcer.is_supported(credential_source): + raise InvalidConfigError(error_msg=( + 'The credential source "%s" referenced in profile "%s" is not ' + 'valid.' % (credential_source, parent_profile) + )) + + def _source_profile_has_credentials(self, profile): + return any([ + self._has_static_credentials(profile), + self._has_assume_role_config_vars(profile), + ]) - def _get_role_config_values(self): - # This returns the role related configuration. + def _validate_source_profile(self, parent_profile_name, + source_profile_name): profiles = self._loaded_config.get('profiles', {}) - try: - source_profile = profiles[self._profile_name]['source_profile'] - role_arn = profiles[self._profile_name]['role_arn'] - mfa_serial = profiles[self._profile_name].get('mfa_serial') - except KeyError as e: - raise PartialCredentialsError(provider=self.METHOD, - cred_var=str(e)) - external_id = profiles[self._profile_name].get('external_id') - role_session_name = \ - profiles[self._profile_name].get('role_session_name') - if source_profile not in profiles: + if source_profile_name not in profiles: raise InvalidConfigError( error_msg=( 'The source_profile "%s" referenced in ' 'the profile "%s" does not exist.' % ( - source_profile, self._profile_name))) - source_cred_values = profiles[source_profile] - return { - 'role_arn': role_arn, - 'external_id': external_id, - 'source_profile': source_profile, - 'mfa_serial': mfa_serial, - 'source_cred_values': source_cred_values, - 'role_session_name': role_session_name - } + source_profile_name, parent_profile_name) + ) + ) + + source_profile = profiles[source_profile_name] + + # Make sure we aren't going into an infinite loop. If we haven't + # visited the profile yet, we're good. + if source_profile_name not in self._visited_profiles: + return - def _create_creds_from_response(self, response): - config = self._get_role_config_values() - if config.get('mfa_serial') is not None: - # MFA would require getting a new TokenCode which would require - # prompting the user for a new token, so we use a different - # refresh_func. - refresh_func = create_mfa_serial_refresher() - else: - refresh_func = create_assume_role_refresher( - self._create_client_from_config(config), - self._assume_role_base_kwargs(config)) - return RefreshableCredentials( - access_key=response['Credentials']['AccessKeyId'], - secret_key=response['Credentials']['SecretAccessKey'], - token=response['Credentials']['SessionToken'], + # If we have visited the profile and the profile isn't simply + # referencing itself, that's an infinite loop. + if source_profile_name != parent_profile_name: + raise InfiniteLoopConfigError( + source_profile=source_profile_name, + visited_profiles=self._visited_profiles + ) + + # A profile is allowed to reference itself so that it can source + # static credentials and have configuration all in the same + # profile. This will only ever work for the top level assume + # role because the static credentials will otherwise take + # precedence. + if not self._has_static_credentials(source_profile): + raise InfiniteLoopConfigError( + source_profile=source_profile_name, + visited_profiles=self._visited_profiles + ) + + def _has_static_credentials(self, profile): + static_keys = ['aws_secret_access_key', 'aws_access_key_id'] + return any(static_key in profile for static_key in static_keys) + + def _resolve_source_credentials(self, role_config, profile_name): + credential_source = role_config.get('credential_source') + if credential_source is not None: + return self._resolve_credentials_from_source( + credential_source, profile_name + ) + + source_profile = role_config['source_profile'] + self._visited_profiles.append(source_profile) + return self._resolve_credentials_from_profile(source_profile) + + def _resolve_credentials_from_profile(self, profile_name): + profiles = self._loaded_config.get('profiles', {}) + profile = profiles[profile_name] + + if self._has_static_credentials(profile) and \ + not self._profile_provider_builder: + # This is only here for backwards compatibility. If this provider + # isn't given a profile provider builder we still want to be able + # handle the basic static credential case as we would before the + # provile provider builder parameter was added. + return self._resolve_static_credentials_from_profile(profile) + elif self._has_static_credentials(profile) or \ + not self._has_assume_role_config_vars(profile): + profile_providers = self._profile_provider_builder.providers( + profile_name=profile_name, + disable_env_vars=True, + ) + profile_chain = CredentialResolver(profile_providers) + credentials = profile_chain.load_credentials() + if credentials is None: + error_message = ( + 'The source profile "%s" must have credentials.' + ) + raise InvalidConfigError( + error_msg=error_message % profile_name, + ) + return credentials + + return self._load_creds_via_assume_role(profile_name) + + def _resolve_static_credentials_from_profile(self, profile): + try: + return Credentials( + access_key=profile['aws_access_key_id'], + secret_key=profile['aws_secret_access_key'], + token=profile.get('aws_session_token') + ) + except KeyError as e: + raise PartialCredentialsError( + provider=self.METHOD, cred_var=str(e)) + + def _resolve_credentials_from_source(self, credential_source, + profile_name): + credentials = self._credential_sourcer.source_credentials( + credential_source) + if credentials is None: + raise CredentialRetrievalError( + provider=credential_source, + error_msg=( + 'No credentials found in credential_source referenced ' + 'in profile %s' % profile_name + ) + ) + return credentials + + +class AssumeRoleWithWebIdentityProvider(CredentialProvider): + METHOD = 'assume-role-with-web-identity' + CANONICAL_NAME = None + _CONFIG_TO_ENV_VAR = { + 'web_identity_token_file': 'AWS_WEB_IDENTITY_TOKEN_FILE', + 'role_session_name': 'AWS_ROLE_SESSION_NAME', + 'role_arn': 'AWS_ROLE_ARN', + } + + def __init__( + self, + load_config, + client_creator, + profile_name, + cache=None, + disable_env_vars=False, + token_loader_cls=None, + ): + self.cache = cache + self._load_config = load_config + self._client_creator = client_creator + self._profile_name = profile_name + self._profile_config = None + self._disable_env_vars = disable_env_vars + if token_loader_cls is None: + token_loader_cls = FileWebIdentityTokenLoader + self._token_loader_cls = token_loader_cls + + def load(self): + return self._assume_role_with_web_identity() + + def _get_profile_config(self, key): + if self._profile_config is None: + loaded_config = self._load_config() + profiles = loaded_config.get('profiles', {}) + self._profile_config = profiles.get(self._profile_name, {}) + return self._profile_config.get(key) + + def _get_env_config(self, key): + if self._disable_env_vars: + return None + env_key = self._CONFIG_TO_ENV_VAR.get(key) + if env_key and env_key in os.environ: + return os.environ[env_key] + return None + + def _get_config(self, key): + env_value = self._get_env_config(key) + if env_value is not None: + return env_value + return self._get_profile_config(key) + + def _assume_role_with_web_identity(self): + token_path = self._get_config('web_identity_token_file') + if not token_path: + return None + token_loader = self._token_loader_cls(token_path) + + role_arn = self._get_config('role_arn') + if not role_arn: + error_msg = ( + 'The provided profile or the current environment is ' + 'configured to assume role with web identity but has no ' + 'role ARN configured. Ensure that the profile has the role_arn' + 'configuration set or the AWS_ROLE_ARN env var is set.' + ) + raise InvalidConfigError(error_msg=error_msg) + + extra_args = {} + role_session_name = self._get_config('role_session_name') + if role_session_name is not None: + extra_args['RoleSessionName'] = role_session_name + + fetcher = AssumeRoleWithWebIdentityCredentialFetcher( + client_creator=self._client_creator, + web_identity_token_loader=token_loader, + role_arn=role_arn, + extra_args=extra_args, + cache=self.cache, + ) + # The initial credentials are empty and the expiration time is set + # to now so that we can delay the call to assume role until it is + # strictly needed. + return DeferredRefreshableCredentials( method=self.METHOD, - expiry_time=_parse_if_needed( - response['Credentials']['Expiration']), - refresh_using=refresh_func) - - def _create_client_from_config(self, config): - source_cred_values = config['source_cred_values'] - client = self._client_creator( - 'sts', aws_access_key_id=source_cred_values['aws_access_key_id'], - aws_secret_access_key=source_cred_values['aws_secret_access_key'], - aws_session_token=source_cred_values.get('aws_session_token'), - ) - return client - - def _retrieve_temp_credentials(self): - logger.debug("Retrieving credentials via AssumeRole.") - config = self._get_role_config_values() - client = self._create_client_from_config(config) - - assume_role_kwargs = self._assume_role_base_kwargs(config) - - response = client.assume_role(**assume_role_kwargs) - creds = self._create_creds_from_response(response) - return creds, response - - def _assume_role_base_kwargs(self, config): - assume_role_kwargs = {'RoleArn': config['role_arn']} - if config['external_id'] is not None: - assume_role_kwargs['ExternalId'] = config['external_id'] - if config['mfa_serial'] is not None: - token_code = self._prompter("Enter MFA code: ") - assume_role_kwargs['SerialNumber'] = config['mfa_serial'] - assume_role_kwargs['TokenCode'] = token_code - if config['role_session_name'] is not None: - assume_role_kwargs['RoleSessionName'] = config['role_session_name'] - else: - role_session_name = 'AWS-CLI-session-%s' % (int(time.time())) - assume_role_kwargs['RoleSessionName'] = role_session_name - return assume_role_kwargs + refresh_using=fetcher.fetch_credentials, + ) -class ContainerProvider(CredentialProvider): +class CanonicalNameCredentialSourcer(object): + def __init__(self, providers): + self._providers = providers + + def is_supported(self, source_name): + """Validates a given source name. + + :type source_name: str + :param source_name: The value of credential_source in the config + file. This is the canonical name of the credential provider. + + :rtype: bool + :returns: True if the credential provider is supported, + False otherwise. + """ + return source_name in [p.CANONICAL_NAME for p in self._providers] + + def source_credentials(self, source_name): + """Loads source credentials based on the provided configuration. + + :type source_name: str + :param source_name: The value of credential_source in the config + file. This is the canonical name of the credential provider. + + :rtype: Credentials + """ + source = self._get_provider(source_name) + if isinstance(source, CredentialResolver): + return source.load_credentials() + return source.load() + + def _get_provider(self, canonical_name): + """Return a credential provider by its canonical name. + + :type canonical_name: str + :param canonical_name: The canonical name of the provider. + + :raises UnknownCredentialError: Raised if no + credential provider by the provided name + is found. + """ + provider = self._get_provider_by_canonical_name(canonical_name) + + # The AssumeRole provider should really be part of the SharedConfig + # provider rather than being its own thing, but it is not. It is + # effectively part of both the SharedConfig provider and the + # SharedCredentials provider now due to the way it behaves. + # Therefore if we want either of those providers we should return + # the AssumeRole provider with it. + if canonical_name.lower() in ['sharedconfig', 'sharedcredentials']: + assume_role_provider = self._get_provider_by_method('assume-role') + if assume_role_provider is not None: + # The SharedConfig or SharedCredentials provider may not be + # present if it was removed for some reason, but the + # AssumeRole provider could still be present. In that case, + # return the assume role provider by itself. + if provider is None: + return assume_role_provider + + # If both are present, return them both as a + # CredentialResolver so that calling code can treat them as + # a single entity. + return CredentialResolver([assume_role_provider, provider]) + + if provider is None: + raise UnknownCredentialError(name=canonical_name) + + return provider + def _get_provider_by_canonical_name(self, canonical_name): + """Return a credential provider by its canonical name. + + This function is strict, it does not attempt to address + compatibility issues. + """ + for provider in self._providers: + name = provider.CANONICAL_NAME + # Canonical names are case-insensitive + if name and name.lower() == canonical_name.lower(): + return provider + + def _get_provider_by_method(self, method): + """Return a credential provider by its METHOD name.""" + for provider in self._providers: + if provider.METHOD == method: + return provider + + +class ContainerProvider(CredentialProvider): METHOD = 'container-role' + CANONICAL_NAME = 'EcsContainer' ENV_VAR = 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI' + ENV_VAR_FULL = 'AWS_CONTAINER_CREDENTIALS_FULL_URI' + ENV_VAR_AUTH_TOKEN = 'AWS_CONTAINER_AUTHORIZATION_TOKEN' def __init__(self, environ=None, fetcher=None): if environ is None: @@ -944,15 +1805,18 @@ self._fetcher = fetcher def load(self): - if self.ENV_VAR not in self._environ: - # This cred provider is only triggered if the - # self.ENV_VAR is set, which only happens if you opt - # into this feature on ECS. - return None - return self._retrieve_or_fail(self._environ[self.ENV_VAR]) - - def _retrieve_or_fail(self, relative_uri): - fetcher = self._create_fetcher(relative_uri) + # This cred provider is only triggered if the self.ENV_VAR is set, + # which only happens if you opt into this feature. + if self.ENV_VAR in self._environ or self.ENV_VAR_FULL in self._environ: + return self._retrieve_or_fail() + + def _retrieve_or_fail(self): + if self._provided_relative_uri(): + full_uri = self._fetcher.full_url(self._environ[self.ENV_VAR]) + else: + full_uri = self._environ[self.ENV_VAR_FULL] + headers = self._build_headers() + fetcher = self._create_fetcher(full_uri, headers) creds = fetcher() return RefreshableCredentials( access_key=creds['access_key'], @@ -963,12 +1827,21 @@ refresh_using=fetcher, ) - def _create_fetcher(self, relative_uri): + def _build_headers(self): + headers = {} + auth_token = self._environ.get(self.ENV_VAR_AUTH_TOKEN) + if auth_token is not None: + return { + 'Authorization': auth_token + } + + def _create_fetcher(self, full_uri, headers): def fetch_creds(): try: - response = self._fetcher.retrieve_uri(relative_uri) + response = self._fetcher.retrieve_full_uri( + full_uri, headers=headers) except MetadataRetrievalError as e: - logger.debug("Error retrieving ECS metadata: %s", e, + logger.debug("Error retrieving container metadata: %s", e, exc_info=True) raise CredentialRetrievalError(provider=self.METHOD, error_msg=str(e)) @@ -978,11 +1851,14 @@ 'token': response['Token'], 'expiry_time': response['Expiration'], } + return fetch_creds + def _provided_relative_uri(self): + return self.ENV_VAR in self._environ -class CredentialResolver(object): +class CredentialResolver(object): def __init__(self, providers): """ diff -Nru python-botocore-1.4.70/botocore/data/accessanalyzer/2019-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/accessanalyzer/2019-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/accessanalyzer/2019-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/accessanalyzer/2019-11-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListAnalyzedResources": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "analyzedResources" + }, + "ListAnalyzers": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "analyzers" + }, + "ListArchiveRules": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "archiveRules" + }, + "ListFindings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "findings" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/accessanalyzer/2019-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/accessanalyzer/2019-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/accessanalyzer/2019-11-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/accessanalyzer/2019-11-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1634 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-11-01", + "endpointPrefix":"access-analyzer", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Access Analyzer", + "serviceId":"AccessAnalyzer", + "signatureVersion":"v4", + "signingName":"access-analyzer", + "uid":"accessanalyzer-2019-11-01" + }, + "operations":{ + "CreateAnalyzer":{ + "name":"CreateAnalyzer", + "http":{ + "method":"PUT", + "requestUri":"/analyzer", + "responseCode":200 + }, + "input":{"shape":"CreateAnalyzerRequest"}, + "output":{"shape":"CreateAnalyzerResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates an analyzer for your account.

", + "idempotent":true + }, + "CreateArchiveRule":{ + "name":"CreateArchiveRule", + "http":{ + "method":"PUT", + "requestUri":"/analyzer/{analyzerName}/archive-rule", + "responseCode":200 + }, + "input":{"shape":"CreateArchiveRuleRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates an archive rule for the specified analyzer. Archive rules automatically archive findings that meet the criteria you define when you create the rule.

", + "idempotent":true + }, + "DeleteAnalyzer":{ + "name":"DeleteAnalyzer", + "http":{ + "method":"DELETE", + "requestUri":"/analyzer/{analyzerName}", + "responseCode":200 + }, + "input":{"shape":"DeleteAnalyzerRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes the specified analyzer. When you delete an analyzer, Access Analyzer is disabled for the account in the current or specific Region. All findings that were generated by the analyzer are deleted. You cannot undo this action.

", + "idempotent":true + }, + "DeleteArchiveRule":{ + "name":"DeleteArchiveRule", + "http":{ + "method":"DELETE", + "requestUri":"/analyzer/{analyzerName}/archive-rule/{ruleName}", + "responseCode":200 + }, + "input":{"shape":"DeleteArchiveRuleRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes the specified archive rule.

", + "idempotent":true + }, + "GetAnalyzedResource":{ + "name":"GetAnalyzedResource", + "http":{ + "method":"GET", + "requestUri":"/analyzed-resource", + "responseCode":200 + }, + "input":{"shape":"GetAnalyzedResourceRequest"}, + "output":{"shape":"GetAnalyzedResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves information about a resource that was analyzed.

" + }, + "GetAnalyzer":{ + "name":"GetAnalyzer", + "http":{ + "method":"GET", + "requestUri":"/analyzer/{analyzerName}", + "responseCode":200 + }, + "input":{"shape":"GetAnalyzerRequest"}, + "output":{"shape":"GetAnalyzerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves information about the specified analyzer.

" + }, + "GetArchiveRule":{ + "name":"GetArchiveRule", + "http":{ + "method":"GET", + "requestUri":"/analyzer/{analyzerName}/archive-rule/{ruleName}", + "responseCode":200 + }, + "input":{"shape":"GetArchiveRuleRequest"}, + "output":{"shape":"GetArchiveRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves information about an archive rule.

" + }, + "GetFinding":{ + "name":"GetFinding", + "http":{ + "method":"GET", + "requestUri":"/finding/{id}", + "responseCode":200 + }, + "input":{"shape":"GetFindingRequest"}, + "output":{"shape":"GetFindingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves information about the specified finding.

" + }, + "ListAnalyzedResources":{ + "name":"ListAnalyzedResources", + "http":{ + "method":"POST", + "requestUri":"/analyzed-resource", + "responseCode":200 + }, + "input":{"shape":"ListAnalyzedResourcesRequest"}, + "output":{"shape":"ListAnalyzedResourcesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a list of resources of the specified type that have been analyzed by the specified analyzer..

" + }, + "ListAnalyzers":{ + "name":"ListAnalyzers", + "http":{ + "method":"GET", + "requestUri":"/analyzer", + "responseCode":200 + }, + "input":{"shape":"ListAnalyzersRequest"}, + "output":{"shape":"ListAnalyzersResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a list of analyzers.

" + }, + "ListArchiveRules":{ + "name":"ListArchiveRules", + "http":{ + "method":"GET", + "requestUri":"/analyzer/{analyzerName}/archive-rule", + "responseCode":200 + }, + "input":{"shape":"ListArchiveRulesRequest"}, + "output":{"shape":"ListArchiveRulesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a list of archive rules created for the specified analyzer.

" + }, + "ListFindings":{ + "name":"ListFindings", + "http":{ + "method":"POST", + "requestUri":"/finding", + "responseCode":200 + }, + "input":{"shape":"ListFindingsRequest"}, + "output":{"shape":"ListFindingsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a list of findings generated by the specified analyzer.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a list of tags applied to the specified resource.

" + }, + "StartResourceScan":{ + "name":"StartResourceScan", + "http":{ + "method":"POST", + "requestUri":"/resource/scan", + "responseCode":200 + }, + "input":{"shape":"StartResourceScanRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Immediately starts a scan of the policies applied to the specified resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Adds a tag to the specified resource.

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Removes a tag from the specified resource.

", + "idempotent":true + }, + "UpdateArchiveRule":{ + "name":"UpdateArchiveRule", + "http":{ + "method":"PUT", + "requestUri":"/analyzer/{analyzerName}/archive-rule/{ruleName}", + "responseCode":200 + }, + "input":{"shape":"UpdateArchiveRuleRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the criteria and values for the specified archive rule.

", + "idempotent":true + }, + "UpdateFindings":{ + "name":"UpdateFindings", + "http":{ + "method":"PUT", + "requestUri":"/finding", + "responseCode":200 + }, + "input":{"shape":"UpdateFindingsRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates the status for the specified findings.

", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ActionList":{ + "type":"list", + "member":{"shape":"String"} + }, + "AnalyzedResource":{ + "type":"structure", + "required":[ + "analyzedAt", + "createdAt", + "isPublic", + "resourceArn", + "resourceOwnerAccount", + "resourceType", + "updatedAt" + ], + "members":{ + "actions":{ + "shape":"ActionList", + "documentation":"

The actions that an external principal is granted permission to use by the policy that generated the finding.

" + }, + "analyzedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the resource was analyzed.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was created.

" + }, + "error":{ + "shape":"String", + "documentation":"

An error message.

" + }, + "isPublic":{ + "shape":"Boolean", + "documentation":"

Indicates whether the policy that generated the finding grants public access to the resource.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource that was analyzed.

" + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

The AWS account ID that owns the resource.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the resource that was analyzed.

" + }, + "sharedVia":{ + "shape":"SharedViaList", + "documentation":"

Indicates how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

" + }, + "status":{ + "shape":"FindingStatus", + "documentation":"

The current status of the finding generated from the analyzed resource.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was updated.

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

Contains details about the analyzed resource.

" + }, + "AnalyzedResourceSummary":{ + "type":"structure", + "required":[ + "resourceArn", + "resourceOwnerAccount", + "resourceType" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the analyzed resource.

" + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

The AWS account ID that owns the resource.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource that was analyzed.

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

Contains the ARN of the analyzed resource.

" + }, + "AnalyzedResourcesList":{ + "type":"list", + "member":{"shape":"AnalyzedResourceSummary"} + }, + "AnalyzerArn":{ + "type":"string", + "pattern":"^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:analyzer/.{1,255}$" + }, + "AnalyzerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "DISABLED", + "FAILED" + ] + }, + "AnalyzerSummary":{ + "type":"structure", + "required":[ + "arn", + "createdAt", + "name", + "status", + "type" + ], + "members":{ + "arn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

A timestamp for the time at which the analyzer was created.

" + }, + "lastResourceAnalyzed":{ + "shape":"String", + "documentation":"

The resource that was most recently analyzed by the analyzer.

" + }, + "lastResourceAnalyzedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the most recently analyzed resource was analyzed.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the analyzer.

" + }, + "status":{ + "shape":"AnalyzerStatus", + "documentation":"

The status of the analyzer. An Active analyzer successfully monitors supported resources and generates new findings. The analyzer is Disabled when a user action, such as removing trusted access for IAM Access Analyzer from AWS Organizations, causes the analyzer to stop generating new findings. The status is Creating when the analyzer creation is in progress and Failed when the analyzer creation has failed.

" + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

The statusReason provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed status is displayed. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

The tags added to the analyzer.

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

The type of analyzer, which corresponds to the zone of trust chosen for the analyzer.

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

Contains information about the analyzer.

" + }, + "AnalyzersList":{ + "type":"list", + "member":{"shape":"AnalyzerSummary"} + }, + "ArchiveRuleSummary":{ + "type":"structure", + "required":[ + "createdAt", + "filter", + "ruleName", + "updatedAt" + ], + "members":{ + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the archive rule was created.

" + }, + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

A filter used to define the archive rule.

" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the archive rule.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the archive rule was last updated.

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

Contains information about an archive rule.

" + }, + "ArchiveRulesList":{ + "type":"list", + "member":{"shape":"ArchiveRuleSummary"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ConditionKeyMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

The resource type.

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

A conflict exception error.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateAnalyzerRequest":{ + "type":"structure", + "required":[ + "analyzerName", + "type" + ], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer to create.

" + }, + "archiveRules":{ + "shape":"InlineArchiveRulesList", + "documentation":"

Specifies the archive rules to add for the analyzer. Archive rules automatically archive findings that meet the criteria you define for the rule.

" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

The tags to apply to the analyzer.

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

The type of analyzer to create. Only ACCOUNT analyzers are supported. You can create only one analyzer per account per Region.

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

Creates an analyzer.

" + }, + "CreateAnalyzerResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer that was created by the request.

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

The response to the request to create an analyzer.

" + }, + "CreateArchiveRuleRequest":{ + "type":"structure", + "required":[ + "analyzerName", + "filter", + "ruleName" + ], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the created analyzer.

", + "location":"uri", + "locationName":"analyzerName" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true + }, + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

The criteria for the rule.

" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the rule to create.

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

Creates an archive rule.

" + }, + "Criterion":{ + "type":"structure", + "members":{ + "contains":{ + "shape":"ValueList", + "documentation":"

A \"contains\" operator to match for the filter used to create the rule.

" + }, + "eq":{ + "shape":"ValueList", + "documentation":"

An \"equals\" operator to match for the filter used to create the rule.

" + }, + "exists":{ + "shape":"Boolean", + "documentation":"

An \"exists\" operator to match for the filter used to create the rule.

" + }, + "neq":{ + "shape":"ValueList", + "documentation":"

A \"not equals\" operator to match for the filter used to create the rule.

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

The criteria to use in the filter that defines the archive rule.

" + }, + "DeleteAnalyzerRequest":{ + "type":"structure", + "required":["analyzerName"], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer to delete.

", + "location":"uri", + "locationName":"analyzerName" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + }, + "documentation":"

Deletes an analyzer.

" + }, + "DeleteArchiveRuleRequest":{ + "type":"structure", + "required":[ + "analyzerName", + "ruleName" + ], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer that associated with the archive rule to delete.

", + "location":"uri", + "locationName":"analyzerName" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the rule to delete.

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

Deletes an archive rule.

" + }, + "FilterCriteriaMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Criterion"} + }, + "Finding":{ + "type":"structure", + "required":[ + "analyzedAt", + "condition", + "createdAt", + "id", + "resourceOwnerAccount", + "resourceType", + "status", + "updatedAt" + ], + "members":{ + "action":{ + "shape":"ActionList", + "documentation":"

The action in the analyzed policy statement that an external principal has permission to use.

" + }, + "analyzedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the resource was analyzed.

" + }, + "condition":{ + "shape":"ConditionKeyMap", + "documentation":"

The condition in the analyzed policy statement that resulted in a finding.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was generated.

" + }, + "error":{ + "shape":"String", + "documentation":"

An error.

" + }, + "id":{ + "shape":"FindingId", + "documentation":"

The ID of the finding.

" + }, + "isPublic":{ + "shape":"Boolean", + "documentation":"

Indicates whether the policy that generated the finding allows public access to the resource.

" + }, + "principal":{ + "shape":"PrincipalMap", + "documentation":"

The external principal that access to a resource within the zone of trust.

" + }, + "resource":{ + "shape":"String", + "documentation":"

The resource that an external principal has access to.

" + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

The AWS account ID that owns the resource.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the resource reported in the finding.

" + }, + "sources":{ + "shape":"FindingSourceList", + "documentation":"

The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

" + }, + "status":{ + "shape":"FindingStatus", + "documentation":"

The current status of the finding.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was updated.

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

Contains information about a finding.

" + }, + "FindingId":{"type":"string"}, + "FindingIdList":{ + "type":"list", + "member":{"shape":"FindingId"} + }, + "FindingSource":{ + "type":"structure", + "required":["type"], + "members":{ + "detail":{ + "shape":"FindingSourceDetail", + "documentation":"

Includes details about how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

" + }, + "type":{ + "shape":"FindingSourceType", + "documentation":"

Indicates the type of access that generated the finding.

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

The source of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

" + }, + "FindingSourceDetail":{ + "type":"structure", + "members":{ + "accessPointArn":{ + "shape":"String", + "documentation":"

The ARN of the access point that generated the finding.

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

Includes details about how the access that generated the finding is granted. This is populated for Amazon S3 bucket findings.

" + }, + "FindingSourceList":{ + "type":"list", + "member":{"shape":"FindingSource"} + }, + "FindingSourceType":{ + "type":"string", + "enum":[ + "BUCKET_ACL", + "POLICY", + "S3_ACCESS_POINT" + ] + }, + "FindingStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ARCHIVED", + "RESOLVED" + ] + }, + "FindingStatusUpdate":{ + "type":"string", + "enum":[ + "ACTIVE", + "ARCHIVED" + ] + }, + "FindingSummary":{ + "type":"structure", + "required":[ + "analyzedAt", + "condition", + "createdAt", + "id", + "resourceOwnerAccount", + "resourceType", + "status", + "updatedAt" + ], + "members":{ + "action":{ + "shape":"ActionList", + "documentation":"

The action in the analyzed policy statement that an external principal has permission to use.

" + }, + "analyzedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the resource-based policy that generated the finding was analyzed.

" + }, + "condition":{ + "shape":"ConditionKeyMap", + "documentation":"

The condition in the analyzed policy statement that resulted in a finding.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was created.

" + }, + "error":{ + "shape":"String", + "documentation":"

The error that resulted in an Error finding.

" + }, + "id":{ + "shape":"FindingId", + "documentation":"

The ID of the finding.

" + }, + "isPublic":{ + "shape":"Boolean", + "documentation":"

Indicates whether the finding reports a resource that has a policy that allows public access.

" + }, + "principal":{ + "shape":"PrincipalMap", + "documentation":"

The external principal that has access to a resource within the zone of trust.

" + }, + "resource":{ + "shape":"String", + "documentation":"

The resource that the external principal has access to.

" + }, + "resourceOwnerAccount":{ + "shape":"String", + "documentation":"

The AWS account ID that owns the resource.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the resource that the external principal has access to.

" + }, + "sources":{ + "shape":"FindingSourceList", + "documentation":"

The sources of the finding. This indicates how the access that generated the finding is granted. It is populated for Amazon S3 bucket findings.

" + }, + "status":{ + "shape":"FindingStatus", + "documentation":"

The status of the finding.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the finding was most recently updated.

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

Contains information about a finding.

" + }, + "FindingsList":{ + "type":"list", + "member":{"shape":"FindingSummary"} + }, + "GetAnalyzedResourceRequest":{ + "type":"structure", + "required":[ + "analyzerArn", + "resourceArn" + ], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer to retrieve information from.

", + "location":"querystring", + "locationName":"analyzerArn" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource to retrieve information about.

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

Retrieves an analyzed resource.

" + }, + "GetAnalyzedResourceResponse":{ + "type":"structure", + "members":{ + "resource":{ + "shape":"AnalyzedResource", + "documentation":"

An AnalyedResource object that contains information that Access Analyzer found when it analyzed the resource.

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

The response to the request.

" + }, + "GetAnalyzerRequest":{ + "type":"structure", + "required":["analyzerName"], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer retrieved.

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

Retrieves an analyzer.

" + }, + "GetAnalyzerResponse":{ + "type":"structure", + "required":["analyzer"], + "members":{ + "analyzer":{ + "shape":"AnalyzerSummary", + "documentation":"

An AnalyzerSummary object that contains information about the analyzer.

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

The response to the request.

" + }, + "GetArchiveRuleRequest":{ + "type":"structure", + "required":[ + "analyzerName", + "ruleName" + ], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer to retrieve rules from.

", + "location":"uri", + "locationName":"analyzerName" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the rule to retrieve.

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

Retrieves an archive rule.

" + }, + "GetArchiveRuleResponse":{ + "type":"structure", + "required":["archiveRule"], + "members":{ + "archiveRule":{"shape":"ArchiveRuleSummary"} + }, + "documentation":"

The response to the request.

" + }, + "GetFindingRequest":{ + "type":"structure", + "required":[ + "analyzerArn", + "id" + ], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer that generated the finding.

", + "location":"querystring", + "locationName":"analyzerArn" + }, + "id":{ + "shape":"FindingId", + "documentation":"

The ID of the finding to retrieve.

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

Retrieves a finding.

" + }, + "GetFindingResponse":{ + "type":"structure", + "members":{ + "finding":{ + "shape":"Finding", + "documentation":"

A finding object that contains finding details.

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

The response to the request.

" + }, + "InlineArchiveRule":{ + "type":"structure", + "required":[ + "filter", + "ruleName" + ], + "members":{ + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

The condition and values for a criterion.

" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the rule.

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

An criterion statement in an archive rule. Each archive rule may have multiple criteria.

" + }, + "InlineArchiveRulesList":{ + "type":"list", + "member":{"shape":"InlineArchiveRule"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

The seconds to wait to retry.

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

Internal server error.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListAnalyzedResourcesRequest":{ + "type":"structure", + "required":["analyzerArn"], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer to retrieve a list of analyzed resources from.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in the response.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource.

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

Retrieves a list of resources that have been analyzed.

" + }, + "ListAnalyzedResourcesResponse":{ + "type":"structure", + "required":["analyzedResources"], + "members":{ + "analyzedResources":{ + "shape":"AnalyzedResourcesList", + "documentation":"

A list of resources that were analyzed.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

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

The response to the request.

" + }, + "ListAnalyzersRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in the response.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

", + "location":"querystring", + "locationName":"nextToken" + }, + "type":{ + "shape":"Type", + "documentation":"

The type of analyzer.

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

Retrieves a list of analyzers.

" + }, + "ListAnalyzersResponse":{ + "type":"structure", + "required":["analyzers"], + "members":{ + "analyzers":{ + "shape":"AnalyzersList", + "documentation":"

The analyzers retrieved.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

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

The response to the request.

" + }, + "ListArchiveRulesRequest":{ + "type":"structure", + "required":["analyzerName"], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer to retrieve rules from.

", + "location":"uri", + "locationName":"analyzerName" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in the request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

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

Retrieves a list of archive rules created for the specified analyzer.

" + }, + "ListArchiveRulesResponse":{ + "type":"structure", + "required":["archiveRules"], + "members":{ + "archiveRules":{ + "shape":"ArchiveRulesList", + "documentation":"

A list of archive rules created for the specified analyzer.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

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

The response to the request.

" + }, + "ListFindingsRequest":{ + "type":"structure", + "required":["analyzerArn"], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer to retrieve findings from.

" + }, + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

A filter to match for the findings to return.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in the response.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

" + }, + "sort":{ + "shape":"SortCriteria", + "documentation":"

The sort order for the findings returned.

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

Retrieves a list of findings generated by the specified analyzer.

" + }, + "ListFindingsResponse":{ + "type":"structure", + "required":["findings"], + "members":{ + "findings":{ + "shape":"FindingsList", + "documentation":"

A list of findings retrieved from the analyzer that match the filter criteria specified, if any.

" + }, + "nextToken":{ + "shape":"Token", + "documentation":"

A token used for pagination of results returned.

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

The response to the request.

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The ARN of the resource to retrieve tags from.

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

Retrieves a list of tags applied to the specified resource.

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagsMap", + "documentation":"

The tags that are applied to the specified resource.

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

The response to the request.

" + }, + "Name":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[A-Za-z][A-Za-z0-9_.-]*$" + }, + "OrderBy":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "PrincipalMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "ReasonCode":{ + "type":"string", + "enum":[ + "AWS_SERVICE_ACCESS_DISABLED", + "DELEGATED_ADMINISTRATOR_DEREGISTERED", + "ORGANIZATION_DELETED", + "SERVICE_LINKED_ROLE_CREATION_FAILED" + ] + }, + "ResourceArn":{ + "type":"string", + "pattern":"arn:[^:]*:[^:]*:[^:]*:[^:]*:.*$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

The type of the resource.

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

The specified resource could not be found.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "AWS::IAM::Role", + "AWS::KMS::Key", + "AWS::Lambda::Function", + "AWS::Lambda::LayerVersion", + "AWS::S3::Bucket", + "AWS::SQS::Queue" + ] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceType" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"String", + "documentation":"

The resource ID.

" + }, + "resourceType":{ + "shape":"String", + "documentation":"

The resource type.

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

Service quote met error.

", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SharedViaList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SortCriteria":{ + "type":"structure", + "members":{ + "attributeName":{ + "shape":"String", + "documentation":"

The name of the attribute to sort on.

" + }, + "orderBy":{ + "shape":"OrderBy", + "documentation":"

The sort order, ascending or descending.

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

The criteria used to sort.

" + }, + "StartResourceScanRequest":{ + "type":"structure", + "required":[ + "analyzerArn", + "resourceArn" + ], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer to use to scan the policies applied to the specified resource.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource to scan.

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

Starts a scan of the policies applied to the specified resource.

" + }, + "StatusReason":{ + "type":"structure", + "required":["code"], + "members":{ + "code":{ + "shape":"ReasonCode", + "documentation":"

The reason code for the current status of the analyzer.

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

Provides more details about the current status of the analyzer. For example, if the creation for the analyzer fails, a Failed status is displayed. For an analyzer with organization as the type, this failure can be due to an issue with creating the service-linked roles required in the member accounts of the AWS organization.

" + }, + "String":{"type":"string"}, + "TagKeys":{ + "type":"list", + "member":{"shape":"String"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The ARN of the resource to add the tag to.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

The tags to add to the resource.

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

Adds a tag to the specified resource.

" + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response to the request.

" + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"}, + "retryAfterSeconds":{ + "shape":"Integer", + "documentation":"

The seconds to wait to retry.

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

Throttling limit exceeded error.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "Token":{"type":"string"}, + "Type":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The ARN of the resource to remove the tag from.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

The key for the tag to add.

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

Removes a tag from the specified resource.

" + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response to the request.

" + }, + "UpdateArchiveRuleRequest":{ + "type":"structure", + "required":[ + "analyzerName", + "filter", + "ruleName" + ], + "members":{ + "analyzerName":{ + "shape":"Name", + "documentation":"

The name of the analyzer to update the archive rules for.

", + "location":"uri", + "locationName":"analyzerName" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true + }, + "filter":{ + "shape":"FilterCriteriaMap", + "documentation":"

A filter to match for the rules to update. Only rules that match the filter are updated.

" + }, + "ruleName":{ + "shape":"Name", + "documentation":"

The name of the rule to update.

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

Updates the specified archive rule.

" + }, + "UpdateFindingsRequest":{ + "type":"structure", + "required":[ + "analyzerArn", + "status" + ], + "members":{ + "analyzerArn":{ + "shape":"AnalyzerArn", + "documentation":"

The ARN of the analyzer that generated the findings to update.

" + }, + "clientToken":{ + "shape":"String", + "documentation":"

A client token.

", + "idempotencyToken":true + }, + "ids":{ + "shape":"FindingIdList", + "documentation":"

The IDs of the findings to update.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource identified in the finding.

" + }, + "status":{ + "shape":"FindingStatusUpdate", + "documentation":"

The state represents the action to take to update the finding Status. Use ARCHIVE to change an Active finding to an Archived finding. Use ACTIVE to change an Archived finding to an Active finding.

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

Updates findings with the new values provided in the request.

" + }, + "ValidationException":{ + "type":"structure", + "required":[ + "message", + "reason" + ], + "members":{ + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

A list of fields that didn't validate.

" + }, + "message":{"shape":"String"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

The reason for the exception.

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

Validation exception error.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{ + "shape":"String", + "documentation":"

A message about the validation exception.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the validation exception.

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

Contains information about a validation exception.

" + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "cannotParse", + "fieldValidationFailed", + "other", + "unknownOperation" + ] + }, + "ValueList":{ + "type":"list", + "member":{"shape":"String"}, + "max":20, + "min":1 + } + }, + "documentation":"

AWS IAM Access Analyzer helps identify potential resource-access risks by enabling you to identify any policies that grant access to an external principal. It does this by using logic-based reasoning to analyze resource-based policies in your AWS environment. An external principal can be another AWS account, a root user, an IAM user or role, a federated user, an AWS service, or an anonymous user. This guide describes the AWS IAM Access Analyzer operations that you can call programmatically. For general information about Access Analyzer, see the AWS IAM Access Analyzer section of the IAM User Guide.

To start using Access Analyzer, you first need to create an analyzer.

" +} diff -Nru python-botocore-1.4.70/botocore/data/acm/2015-12-08/examples-1.json python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/examples-1.json --- python-botocore-1.4.70/botocore/data/acm/2015-12-08/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/acm/2015-12-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/acm/2015-12-08/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -8,4 +8,3 @@ } } } - diff -Nru python-botocore-1.4.70/botocore/data/acm/2015-12-08/service-2.json python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/service-2.json --- python-botocore-1.4.70/botocore/data/acm/2015-12-08/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"ACM", "serviceFullName":"AWS Certificate Manager", + "serviceId":"ACM", "signatureVersion":"v4", - "targetPrefix":"CertificateManager" + "targetPrefix":"CertificateManager", + "uid":"acm-2015-12-08" }, "operations":{ "AddTagsToCertificate":{ @@ -22,9 +24,11 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArnException"}, {"shape":"InvalidTagException"}, - {"shape":"TooManyTagsException"} + {"shape":"TooManyTagsException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"} ], - "documentation":"

Adds one or more tags to an ACM Certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM Certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM Certificates.

To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

" + "documentation":"

Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

" }, "DeleteCertificate":{ "name":"DeleteCertificate", @@ -38,7 +42,7 @@ {"shape":"ResourceInUseException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Deletes an ACM Certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list of ACM Certificates that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by other AWS services.

You cannot delete an ACM Certificate that is being used by another AWS service. To delete a certificate that is in use, the certificate association must first be removed.

" + "documentation":"

Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by AWS services integrated with ACM.

You cannot delete an ACM certificate that is being used by another AWS service. To delete a certificate that is in use, the certificate association must first be removed.

" }, "DescribeCertificate":{ "name":"DescribeCertificate", @@ -52,7 +56,22 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Returns a list of the fields contained in the specified ACM Certificate. For example, this action returns the certificate status, a flag that indicates whether the certificate is associated with any other AWS service, and the date at which the certificate request was created. You specify the ACM Certificate on input by its Amazon Resource Name (ARN).

" + "documentation":"

Returns detailed metadata about the specified ACM certificate.

" + }, + "ExportCertificate":{ + "name":"ExportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportCertificateRequest"}, + "output":{"shape":"ExportCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"RequestInProgressException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate.

" }, "GetCertificate":{ "name":"GetCertificate", @@ -67,7 +86,7 @@ {"shape":"RequestInProgressException"}, {"shape":"InvalidArnException"} ], - "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.

" + "documentation":"

Retrieves an Amazon-issued certificate and its certificate chain. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use OpenSSL to decode the certificates and inspect individual fields.

" }, "ImportCertificate":{ "name":"ImportCertificate", @@ -79,9 +98,13 @@ "output":{"shape":"ImportCertificateResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"InvalidTagException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"} ], - "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.

" + "documentation":"

Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the AWS Certificate Manager User Guide.

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

Note the following guidelines when importing third party certificates:

  • You must enter the private key that matches the certificate you are importing.

  • The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.

  • If the certificate you are importing is not self-signed, you must enter its certificate chain.

  • If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.

  • The certificate, private key, and certificate chain must be PEM-encoded.

  • The current time must be between the Not Before and Not After certificate fields.

  • The Issuer field must not be empty.

  • The OCSP authority URL, if present, must not exceed 1000 characters.

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

  • When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by file://. For example, you can specify a certificate saved in the C:\\temp folder as file://C:\\temp\\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.

  • When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.

  • The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example, if the signing CA key type is RSA, then the certificate key type must also be RSA.

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

" }, "ListCertificates":{ "name":"ListCertificates", @@ -91,7 +114,10 @@ }, "input":{"shape":"ListCertificatesRequest"}, "output":{"shape":"ListCertificatesResponse"}, - "documentation":"

Retrieves a list of ACM Certificates and the domain name for each. You can optionally filter the list to return only the certificates that match the specified status.

" + "errors":[ + {"shape":"InvalidArgsException"} + ], + "documentation":"

Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only RSA_2048 certificates. For more information, see Filters.

" }, "ListTagsForCertificate":{ "name":"ListTagsForCertificate", @@ -105,7 +131,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArnException"} ], - "documentation":"

Lists the tags that have been applied to the ACM Certificate. Use the certificate ARN to specify the certificate. To add a tag to an ACM Certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

" + "documentation":"

Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

" }, "RemoveTagsFromCertificate":{ "name":"RemoveTagsFromCertificate", @@ -117,9 +143,24 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArnException"}, - {"shape":"InvalidTagException"} + {"shape":"InvalidTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value.

To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

" + }, + "RenewCertificate":{ + "name":"RenewCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RenewCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} ], - "documentation":"

Remove one or more tags from an ACM Certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value.

To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM Certificate, use the ListTagsForCertificate action.

" + "documentation":"

Renews an eligable ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

" }, "RequestCertificate":{ "name":"RequestCertificate", @@ -131,9 +172,14 @@ "output":{"shape":"RequestCertificateResponse"}, "errors":[ {"shape":"LimitExceededException"}, - {"shape":"InvalidDomainValidationOptionsException"} + {"shape":"InvalidDomainValidationOptionsException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidTagException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"} ], - "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 a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

" }, "ResendValidationEmail":{ "name":"ResendValidationEmail", @@ -148,7 +194,22 @@ {"shape":"InvalidArnException"}, {"shape":"InvalidDomainValidationOptionsException"} ], - "documentation":"

Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM Certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM Certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate.

" + "documentation":"

Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

" + }, + "UpdateCertificateOptions":{ + "name":"UpdateCertificateOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateOptionsRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

" } }, "shapes":{ @@ -161,7 +222,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM Certificate to which the tag is to be applied. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -173,7 +234,7 @@ "type":"string", "max":2048, "min":20, - "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*" + "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*" }, "CertificateBody":{ "type":"string", @@ -202,7 +263,7 @@ "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 in the AWS General Reference.

" + "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", @@ -210,11 +271,11 @@ }, "SubjectAlternativeNames":{ "shape":"DomainList", - "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.

" + "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. This field exists only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Contains information about the initial validation of each domain name that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

" }, "Serial":{ "shape":"String", @@ -230,15 +291,15 @@ }, "CreatedAt":{ "shape":"TStamp", - "documentation":"

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

" + "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. This value exists only when the certificate type is AMAZON_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.

" + "documentation":"

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

" }, "Status":{ "shape":"CertificateStatus", @@ -246,11 +307,11 @@ }, "RevokedAt":{ "shape":"TStamp", - "documentation":"

The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

" + "documentation":"

The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

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

The reason the certificate was revoked. This value exists only when the certificate status is REVOKED.

" + "documentation":"

The reason the certificate was revoked. This value exists only when the certificate status is REVOKED.

" }, "NotBefore":{ "shape":"TStamp", @@ -262,7 +323,7 @@ }, "KeyAlgorithm":{ "shape":"KeyAlgorithm", - "documentation":"

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

" + "documentation":"

The algorithm that was used to generate the public-private key pair.

" }, "SignatureAlgorithm":{ "shape":"String", @@ -270,18 +331,52 @@ }, "InUseBy":{ "shape":"InUseList", - "documentation":"

A list of ARNs for the AWS resources that are using the certificate. A 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 certificate 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":"

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.

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

Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED.

" + }, + "KeyUsages":{ + "shape":"KeyUsageList", + "documentation":"

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

" + }, + "ExtendedKeyUsages":{ + "shape":"ExtendedKeyUsageList", + "documentation":"

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued the certificate. This has the following format:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

" + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to certificate that has not been logged by showing an error message. The logs are cryptographically secure.

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

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

" + }, + "CertificateOptions":{ + "type":"structure", + "members":{ + "CertificateTransparencyLoggingPreference":{ + "shape":"CertificateTransparencyLoggingPreference", + "documentation":"

You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

" } }, - "documentation":"

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

" + "documentation":"

Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

" }, "CertificateStatus":{ "type":"string", @@ -304,24 +399,32 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

Amazon Resource Name (ARN) of the certificate. This is of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

Amazon Resource Name (ARN) of the certificate. This is of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

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

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

" } }, - "documentation":"

This structure is returned in the response object of ListCertificates action.

" + "documentation":"

This structure is returned in the response object of ListCertificates action.

" }, "CertificateSummaryList":{ "type":"list", "member":{"shape":"CertificateSummary"} }, + "CertificateTransparencyLoggingPreference":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "CertificateType":{ "type":"string", "enum":[ "IMPORTED", - "AMAZON_ISSUED" + "AMAZON_ISSUED", + "PRIVATE" ] }, "DeleteCertificateRequest":{ @@ -330,7 +433,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM Certificate to be deleted. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -340,7 +443,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains an ACM Certificate ARN. The ARN must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -349,7 +452,7 @@ "members":{ "Certificate":{ "shape":"CertificateDetail", - "documentation":"

Contains a CertificateDetail structure that lists the fields of an ACM Certificate.

" + "documentation":"

Metadata about an ACM certificate.

" } } }, @@ -365,24 +468,44 @@ "min":1, "pattern":"^(\\*\\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" }, + "DomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "SUCCESS", + "FAILED" + ] + }, "DomainValidation":{ "type":"structure", "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainNameString", - "documentation":"

Fully Qualified Domain Name (FQDN) of the form www.example.com or example.com.

" + "documentation":"

A fully qualified domain name (FQDN) in the certificate. For example, www.example.com or example.com.

" }, "ValidationEmails":{ "shape":"ValidationEmailList", - "documentation":"

A list of contact address for the domain registrant.

" + "documentation":"

A list of email addresses that ACM used to send domain validation emails.

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

The base validation domain that acts as the suffix of the email addresses that are used to send the emails.

" + "documentation":"

The domain name that ACM used to send domain validation emails.

" + }, + "ValidationStatus":{ + "shape":"DomainStatus", + "documentation":"

The validation status of the domain name. This can be one of the following values:

  • PENDING_VALIDATION

  • SUCCESS

  • FAILED

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

Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

Note: The CNAME information that you need does not include the name of your domain. If you include
 your domain name in the DNS database CNAME record, validation fails.
 For example, if the name is \"_a79865eb4cd1a6ab990a45779b4e0b96.yourdomain.com\", only \"_a79865eb4cd1a6ab990a45779b4e0b96\" must be used.

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

Specifies the domain validation method.

" } }, - "documentation":"

Structure that contains the domain name, the base validation domain to which validation email is sent, and the email addresses used to validate the domain identity.

" + "documentation":"

Contains information about the validation of each domain name in the certificate.

" }, "DomainValidationList":{ "type":"list", @@ -399,14 +522,14 @@ "members":{ "DomainName":{ "shape":"DomainNameString", - "documentation":"

Fully Qualified Domain Name (FQDN) of the certificate being requested.

" + "documentation":"

A fully qualified domain name (FQDN) in the certificate request.

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

The domain to which validation email is sent. This is the base validation domain that will act as the suffix of the email addresses. This must be the same as the DomainName value or a superdomain of the DomainName value. For example, if you requested a certificate for site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS for the base domain and the following five addresses:

  • admin@subdomain.example.com

  • administrator@subdomain.example.com

  • hostmaster@subdomain.example.com

  • postmaster@subdomain.example.com

  • webmaster@subdomain.example.com

" + "documentation":"

The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the DomainName value or a superdomain of the DomainName value. For example, if you request a certificate for testing.example.com, you can specify example.com for this value. In that case, ACM sends domain validation emails to the following five addresses:

  • admin@example.com

  • administrator@example.com

  • hostmaster@example.com

  • postmaster@example.com

  • webmaster@example.com

" } }, - "documentation":"

This structure is used in the request object of the RequestCertificate action.

" + "documentation":"

Contains information about the domain names that you want ACM to use to send you emails that enable you to validate domain ownership.

" }, "DomainValidationOptionList":{ "type":"list", @@ -414,6 +537,79 @@ "max":100, "min":1 }, + "ExportCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Passphrase" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

" + }, + "Passphrase":{ + "shape":"PassphraseBlob", + "documentation":"

Passphrase to associate with the encrypted exported private key. If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key:

openssl rsa -in encrypted_key.pem -out decrypted_key.pem

" + } + } + }, + "ExportCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateBody", + "documentation":"

The base64 PEM-encoded certificate.

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

The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting.

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

The encrypted private key associated with the public key in the certificate. The key is output in PKCS #8 format and is base64 PEM-encoded.

" + } + } + }, + "ExtendedKeyUsage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ExtendedKeyUsageName", + "documentation":"

The name of an Extended Key Usage value.

" + }, + "OID":{ + "shape":"String", + "documentation":"

An object identifier (OID) for the extension value. OIDs are strings of numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC 5280.

  • 1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)

  • 1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)

  • 1.3.6.1.5.5.7.3.3 (CODE_SIGNING)

  • 1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)

  • 1.3.6.1.5.5.7.3.8 (TIME_STAMPING)

  • 1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)

  • 1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)

  • 1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)

  • 1.3.6.1.5.5.7.3.7 (IPSEC_USER)

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

The Extended Key Usage X.509 v3 extension defines one or more purposes for which the public key can be used. This is in addition to or in place of the basic purposes specified by the Key Usage extension.

" + }, + "ExtendedKeyUsageFilterList":{ + "type":"list", + "member":{"shape":"ExtendedKeyUsageName"} + }, + "ExtendedKeyUsageList":{ + "type":"list", + "member":{"shape":"ExtendedKeyUsage"} + }, + "ExtendedKeyUsageName":{ + "type":"string", + "enum":[ + "TLS_WEB_SERVER_AUTHENTICATION", + "TLS_WEB_CLIENT_AUTHENTICATION", + "CODE_SIGNING", + "EMAIL_PROTECTION", + "TIME_STAMPING", + "OCSP_SIGNING", + "IPSEC_END_SYSTEM", + "IPSEC_TUNNEL", + "IPSEC_USER", + "ANY", + "NONE", + "CUSTOM" + ] + }, "FailureReason":{ "type":"string", "enum":[ @@ -421,16 +617,45 @@ "ADDITIONAL_VERIFICATION_REQUIRED", "DOMAIN_NOT_ALLOWED", "INVALID_PUBLIC_DOMAIN", + "DOMAIN_VALIDATION_DENIED", + "CAA_ERROR", + "PCA_LIMIT_EXCEEDED", + "PCA_INVALID_ARN", + "PCA_INVALID_STATE", + "PCA_REQUEST_FAILED", + "PCA_NAME_CONSTRAINTS_VALIDATION", + "PCA_RESOURCE_NOT_FOUND", + "PCA_INVALID_ARGS", + "PCA_INVALID_DURATION", + "PCA_ACCESS_DENIED", "OTHER" ] }, + "Filters":{ + "type":"structure", + "members":{ + "extendedKeyUsage":{ + "shape":"ExtendedKeyUsageFilterList", + "documentation":"

Specify one or more ExtendedKeyUsage extension values.

" + }, + "keyUsage":{ + "shape":"KeyUsageFilterList", + "documentation":"

Specify one or more KeyUsage extension values.

" + }, + "keyTypes":{ + "shape":"KeyAlgorithmList", + "documentation":"

Specify one or more algorithms that can be used to generate key pairs.

Default filtering returns only RSA_2048 certificates. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048,RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

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

This structure can be used in the ListCertificates action to filter the output of the certificate list.

" + }, "GetCertificateRequest":{ "type":"structure", "required":["CertificateArn"], "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains a certificate ARN in the following format:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains a certificate ARN in the following format:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -439,11 +664,11 @@ "members":{ "Certificate":{ "shape":"CertificateBody", - "documentation":"

String that contains the ACM Certificate represented by the ARN specified at input.

" + "documentation":"

The ACM-issued certificate corresponding to the ARN specified as input.

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

The certificate chain that contains the root certificate issued by the certificate authority (CA).

" + "documentation":"

Certificates forming the requested certificate's chain of trust. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs.

" } } }, @@ -462,19 +687,23 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

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

" + "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:

  • Must be PEM-encoded.

  • Must contain a 1024-bit or 2048-bit RSA public key.

  • Must be valid at the time of import. You cannot import a certificate before its validity period begins (the certificate's NotBefore date) or after it expires (the certificate's NotAfter date).

" + "documentation":"

The certificate to import.

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

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

  • Must be PEM-encoded.

  • Must be unencrypted. You cannot import a private key that is protected by a password or passphrase.

" + "documentation":"

The private key that matches the public key in the certificate.

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

The certificate chain. It must be PEM-encoded.

" + "documentation":"

The PEM encoded certificate chain.

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

One or more resource tags to associate with the imported certificate.

Note: You cannot apply tags when reimporting a certificate.

" } } }, @@ -483,7 +712,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

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

" + "documentation":"

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

" } } }, @@ -491,6 +720,14 @@ "type":"list", "member":{"shape":"String"} }, + "InvalidArgsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

One or more of of request parameters specified is not valid.

", + "exception":true + }, "InvalidArnException":{ "type":"structure", "members":{ @@ -507,12 +744,20 @@ "documentation":"

One or more values in the DomainValidationOption structure is incorrect.

", "exception":true }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

An input parameter was invalid.

", + "exception":true + }, "InvalidStateException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, - "documentation":"

Processing has reached an invalid state. For example, this exception can occur if the specified domain is not using email validation, or the current certificate status does not permit the requested operation. See the exception message returned by ACM to determine which state is not valid.

", + "documentation":"

Processing has reached an invalid state.

", "exception":true }, "InvalidTagException":{ @@ -528,7 +773,48 @@ "enum":[ "RSA_2048", "RSA_1024", - "EC_prime256v1" + "RSA_4096", + "EC_prime256v1", + "EC_secp384r1", + "EC_secp521r1" + ] + }, + "KeyAlgorithmList":{ + "type":"list", + "member":{"shape":"KeyAlgorithm"} + }, + "KeyUsage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"KeyUsageName", + "documentation":"

A string value that contains a Key Usage extension name.

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

The Key Usage X.509 v3 extension defines the purpose of the public key contained in the certificate.

" + }, + "KeyUsageFilterList":{ + "type":"list", + "member":{"shape":"KeyUsageName"} + }, + "KeyUsageList":{ + "type":"list", + "member":{"shape":"KeyUsage"} + }, + "KeyUsageName":{ + "type":"string", + "enum":[ + "DIGITAL_SIGNATURE", + "NON_REPUDIATION", + "KEY_ENCIPHERMENT", + "DATA_ENCIPHERMENT", + "KEY_AGREEMENT", + "CERTIFICATE_SIGNING", + "CRL_SIGNING", + "ENCIPHER_ONLY", + "DECIPHER_ONLY", + "ANY", + "CUSTOM" ] }, "LimitExceededException":{ @@ -536,7 +822,7 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

An ACM limit has been exceeded. For example, you may have input more domains than are allowed or you've requested too many certificates for your account. See the exception message returned by ACM to determine which limit you have violated. For more information about ACM limits, see the Limits topic.

", + "documentation":"

An ACM quota has been exceeded.

", "exception":true }, "ListCertificatesRequest":{ @@ -544,7 +830,11 @@ "members":{ "CertificateStatuses":{ "shape":"CertificateStatuses", - "documentation":"

The status or statuses on which to filter the list of ACM Certificates.

" + "documentation":"

Filter the certificate list by status value.

" + }, + "Includes":{ + "shape":"Filters", + "documentation":"

Filter the certificate list. For more information, see the Filters structure.

" }, "NextToken":{ "shape":"NextToken", @@ -565,7 +855,7 @@ }, "CertificateSummaryList":{ "shape":"CertificateSummaryList", - "documentation":"

A list of ACM Certificates.

" + "documentation":"

A list of ACM certificates.

" } } }, @@ -575,7 +865,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM Certificate for which you want to list the tags. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } } }, @@ -595,16 +885,33 @@ }, "NextToken":{ "type":"string", - "max":320, + "max":10000, "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" }, - "PrivateKeyBlob":{ + "PassphraseBlob":{ "type":"blob", + "max":128, + "min":4, + "sensitive":true + }, + "PrivateKey":{ + "type":"string", "max":524288, "min":1, + "pattern":"-{5}BEGIN PRIVATE KEY-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END PRIVATE KEY-{5}(\\u000D?\\u000A)?", + "sensitive":true + }, + "PrivateKeyBlob":{ + "type":"blob", + "max":5120, + "min":1, "sensitive":true }, + "RecordType":{ + "type":"string", + "enum":["CNAME"] + }, "RemoveTagsFromCertificateRequest":{ "type":"structure", "required":[ @@ -614,7 +921,7 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + "documentation":"

String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -622,17 +929,74 @@ } } }, + "RenewCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

String that contains the ARN of the ACM certificate to be renewed. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + } + } + }, + "RenewalEligibility":{ + "type":"string", + "enum":[ + "ELIGIBLE", + "INELIGIBLE" + ] + }, + "RenewalStatus":{ + "type":"string", + "enum":[ + "PENDING_AUTO_RENEWAL", + "PENDING_VALIDATION", + "SUCCESS", + "FAILED" + ] + }, + "RenewalSummary":{ + "type":"structure", + "required":[ + "RenewalStatus", + "DomainValidationOptions", + "UpdatedAt" + ], + "members":{ + "RenewalStatus":{ + "shape":"RenewalStatus", + "documentation":"

The status of ACM's managed renewal of the certificate.

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

Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

" + }, + "RenewalStatusReason":{ + "shape":"FailureReason", + "documentation":"

The reason that a renewal request was unsuccessful.

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

The time at which the renewal summary was last updated.

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

Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED.

" + }, "RequestCertificateRequest":{ "type":"structure", "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainNameString", - "documentation":"

Fully qualified domain name (FQDN), such as www.example.com, of the site you want to secure with an ACM Certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

" + "documentation":"

Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

The first domain name you enter cannot exceed 64 octets, including periods. Each subsequent Subject Alternative Name (SAN), however, can be up to 253 octets in length.

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

The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation.

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

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM Certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name.

" + "documentation":"

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see Quotas.

The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

  • (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

  • (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.

  • (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

" }, "IdempotencyToken":{ "shape":"IdempotencyToken", @@ -640,7 +1004,19 @@ }, "DomainValidationOptions":{ "shape":"DomainValidationOptionList", - "documentation":"

The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the Domain value or a superdomain of the Domain value. For example, if you requested a certificate for test.example.com and specify DomainValidationOptions of example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:

  • admin@example.com

  • administrator@example.com

  • hostmaster@example.com

  • postmaster@example.com

  • webmaster@example.com

" + "documentation":"

The domain name that you want ACM to use to send you emails so that you can validate domain ownership.

" + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

One or more resource tags to associate with the certificate.

" } } }, @@ -671,11 +1047,11 @@ "members":{ "CertificateArn":{ "shape":"Arn", - "documentation":"

String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request.

The ARN must be of the form:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

" + "documentation":"

String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

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

The Fully Qualified Domain Name (FQDN) of the certificate that needs to be validated.

" + "documentation":"

The fully qualified domain name (FQDN) of the certificate that needs to be validated.

" }, "ValidationDomain":{ "shape":"DomainNameString", @@ -696,9 +1072,32 @@ "members":{ "message":{"shape":"String"} }, - "documentation":"

The specified certificate cannot be found in the caller's account, or the caller's account cannot be found.

", + "documentation":"

The specified certificate cannot be found in the caller's account or the caller's account cannot be found.

", "exception":true }, + "ResourceRecord":{ + "type":"structure", + "required":[ + "Name", + "Type", + "Value" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the DNS record to create in your domain. This is supplied by ACM.

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

The type of DNS record. Currently this can be CNAME.

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

The value of the CNAME record to add to your DNS database. This is supplied by ACM.

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

Contains a DNS record value that you can use to can use to validate ownership or control of a domain. This is used by the DescribeCertificate action.

" + }, "RevocationReason":{ "type":"string", "enum":[ @@ -743,6 +1142,14 @@ "max":50, "min":1 }, + "TagPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

A specified tag did not comply with an existing tag policy and was rejected.

", + "exception":true + }, "TagValue":{ "type":"string", "max":256, @@ -757,10 +1164,34 @@ "documentation":"

The request contains too many tags. Try the request again with fewer tags.

", "exception":true }, + "UpdateCertificateOptionsRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Options" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

ARN of the requested certificate to update. This must be of the form:

arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012

" + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

" + } + } + }, "ValidationEmailList":{ "type":"list", "member":{"shape":"String"} + }, + "ValidationMethod":{ + "type":"string", + "enum":[ + "EMAIL", + "DNS" + ] } }, - "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 .

" + "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 -Nru python-botocore-1.4.70/botocore/data/acm/2015-12-08/waiters-2.json python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/waiters-2.json --- python-botocore-1.4.70/botocore/data/acm/2015-12-08/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm/2015-12-08/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,35 @@ +{ + "version": 2, + "waiters": { + "CertificateValidated": { + "delay": 60, + "maxAttempts": 40, + "operation": "DescribeCertificate", + "acceptors": [ + { + "matcher": "pathAll", + "expected": "SUCCESS", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "success" + }, + { + "matcher": "pathAny", + "expected": "PENDING_VALIDATION", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "retry" + }, + { + "matcher": "path", + "expected": "FAILED", + "argument": "Certificate.Status", + "state": "failure" + }, + { + "matcher": "error", + "expected": "ResourceNotFoundException", + "state": "failure" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/examples-1.json python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/examples-1.json --- python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff -Nru python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/paginators-1.json python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/paginators-1.json --- python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListCertificateAuthorities": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CertificateAuthorities" + }, + "ListTags": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + }, + "ListPermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Permissions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/service-2.json python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/service-2.json --- python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1480 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-08-22", + "endpointPrefix":"acm-pca", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"ACM-PCA", + "serviceFullName":"AWS Certificate Manager Private Certificate Authority", + "serviceId":"ACM PCA", + "signatureVersion":"v4", + "targetPrefix":"ACMPrivateCA", + "uid":"acm-pca-2017-08-22" + }, + "operations":{ + "CreateCertificateAuthority":{ + "name":"CreateCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCertificateAuthorityRequest"}, + "output":{"shape":"CreateCertificateAuthorityResponse"}, + "errors":[ + {"shape":"InvalidArgsException"}, + {"shape":"InvalidPolicyException"}, + {"shape":"InvalidTagException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a root or subordinate private certificate authority (CA). You must specify the CA configuration, the certificate revocation list (CRL) configuration, the CA type, and an optional idempotency token to avoid accidental creation of multiple CAs. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses, and X.500 subject information. The CRL configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this action returns the Amazon Resource Name (ARN) of the CA.

", + "idempotent":true + }, + "CreateCertificateAuthorityAuditReport":{ + "name":"CreateCertificateAuthorityAuditReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCertificateAuthorityAuditReportRequest"}, + "output":{"shape":"CreateCertificateAuthorityAuditReportResponse"}, + "errors":[ + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidArgsException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the private key.

", + "idempotent":true + }, + "CreatePermission":{ + "name":"CreatePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePermissionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"PermissionAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Assigns permissions from a private CA to a designated AWS service. Services are specified by their service principals and can be given permission to create and retrieve certificates on a private CA. Services can also be given permission to list the active permissions that the private CA has granted. For ACM to automatically renew your private CA's certificates, you must assign all possible permissions from the CA to the ACM service principal.

At this time, you can only assign permissions to ACM (acm.amazonaws.com). Permissions can be revoked with the DeletePermission action and listed with the ListPermissions action.

" + }, + "DeleteCertificateAuthority":{ + "name":"DeleteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Deletes a private certificate authority (CA). You must provide the Amazon Resource Name (ARN) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities action.

Deleting a CA will invalidate other CAs and certificates below it in your CA hierarchy.

Before you can delete a CA that you have created and activated, you must disable it. To do this, call the UpdateCertificateAuthority action and set the CertificateAuthorityStatus parameter to DISABLED.

Additionally, you can delete a CA if you are waiting for it to be created (that is, the status of the CA is CREATING). You can also delete it if the CA has been created but you haven't yet imported the signed certificate into ACM Private CA (that is, the status of the CA is PENDING_CERTIFICATE).

When you successfully call DeleteCertificateAuthority, the CA's status changes to DELETED. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the restoration window of a private CA in the DELETED state. To restore an eligible CA, call the RestoreCertificateAuthority action.

" + }, + "DeletePermission":{ + "name":"DeletePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Revokes permissions that a private CA assigned to a designated AWS service. Permissions can be created with the CreatePermission action and listed with the ListPermissions action.

" + }, + "DescribeCertificateAuthority":{ + "name":"DescribeCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateAuthorityRequest"}, + "output":{"shape":"DescribeCertificateAuthorityResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Lists information about your private certificate authority (CA). You specify the private CA on input by its ARN (Amazon Resource Name). The output contains the status of your CA. This can be any of the following:

  • CREATING - ACM Private CA is creating your private certificate authority.

  • PENDING_CERTIFICATE - The certificate is pending. You must use your ACM Private CA-hosted or on-premises root or subordinate CA to sign your private CA CSR and then import it into PCA.

  • ACTIVE - Your private CA is active.

  • DISABLED - Your private CA has been disabled.

  • EXPIRED - Your private CA certificate has expired.

  • FAILED - Your private CA has failed. Your CA can fail because of problems such a network outage or backend AWS failure or other errors. A failed CA can never return to the pending state. You must create a new CA.

  • DELETED - Your private CA is within the restoration period, after which it is permanently deleted. The length of time remaining in the CA's restoration period is also included in this action's output.

" + }, + "DescribeCertificateAuthorityAuditReport":{ + "name":"DescribeCertificateAuthorityAuditReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateAuthorityAuditReportRequest"}, + "output":{"shape":"DescribeCertificateAuthorityAuditReportResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidArgsException"} + ], + "documentation":"

Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport action. Audit information is created every time the certificate authority (CA) private key is used. The private key is used when you call the IssueCertificate action or the RevokeCertificate action.

" + }, + "GetCertificate":{ + "name":"GetCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateRequest"}, + "output":{"shape":"GetCertificateResponse"}, + "errors":[ + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Retrieves a certificate from your private CA. The ARN of the certificate is returned when you call the IssueCertificate action. You must specify both the ARN of your private CA and the ARN of the issued certificate when calling the GetCertificate action. You can retrieve the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport action to create a report that contains information about all of the certificates issued and revoked by your private CA.

" + }, + "GetCertificateAuthorityCertificate":{ + "name":"GetCertificateAuthorityCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateAuthorityCertificateRequest"}, + "output":{"shape":"GetCertificateAuthorityCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Retrieves the certificate and certificate chain for your private certificate authority (CA). Both the certificate and the chain are base64 PEM-encoded. The chain does not include the CA certificate. Each certificate in the chain signs the one before it.

" + }, + "GetCertificateAuthorityCsr":{ + "name":"GetCertificateAuthorityCsr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateAuthorityCsrRequest"}, + "output":{"shape":"GetCertificateAuthorityCsrResponse"}, + "errors":[ + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA. Then import the signed certificate back into ACM Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a base64 PEM-encoded string.

" + }, + "ImportCertificateAuthorityCertificate":{ + "name":"ImportCertificateAuthorityCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCertificateAuthorityCertificateRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidStateException"}, + {"shape":"MalformedCertificateException"}, + {"shape":"CertificateMismatchException"} + ], + "documentation":"

Imports a signed private CA certificate into ACM Private CA. This action is used when you are using a chain of trust whose root is located outside ACM Private CA. Before you can call this action, the following preparations must in place:

  1. In ACM Private CA, call the CreateCertificateAuthority action to create the private CA that that you plan to back with the imported certificate.

  2. Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).

  3. Sign the CSR using a root or intermediate CA hosted either by an on-premises PKI hierarchy or a commercial CA..

  4. Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.

The following requirements apply when you import a CA certificate.

  • You cannot import a non-self-signed certificate for use as a root CA.

  • You cannot import a self-signed certificate for use as a subordinate CA.

  • Your certificate chain must not include the private CA certificate that you are importing.

  • Your ACM Private CA-hosted or on-premises CA certificate must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.

  • The chain must be PEM-encoded.

" + }, + "IssueCertificate":{ + "name":"IssueCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IssueCertificateRequest"}, + "output":{"shape":"IssueCertificateResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidArgsException"}, + {"shape":"MalformedCSRException"} + ], + "documentation":"

Uses your private certificate authority (CA) to issue a client certificate. This action returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate action and specifying the ARN.

You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the certificates that you issue by using ACM Private CA.

", + "idempotent":true + }, + "ListCertificateAuthorities":{ + "name":"ListCertificateAuthorities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCertificateAuthoritiesRequest"}, + "output":{"shape":"ListCertificateAuthoritiesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.

" + }, + "ListPermissions":{ + "name":"ListPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPermissionsRequest"}, + "output":{"shape":"ListPermissionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidStateException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Lists all the permissions, if any, that have been assigned by a private CA. Permissions can be granted with the CreatePermission action and revoked with the DeletePermission action.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Lists the tags, if any, that are associated with your private CA. Tags are labels that you can use to identify and organize your CAs. Each tag consists of a key and an optional value. Call the TagCertificateAuthority action to add one or more tags to your CA. Call the UntagCertificateAuthority action to remove tags.

" + }, + "RestoreCertificateAuthority":{ + "name":"RestoreCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Restores a certificate authority (CA) that is in the DELETED state. You can restore a CA during the period that you defined in the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthority action. Currently, you can specify 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, by default you can restore the CA at any time in a 30 day period. You can check the time remaining in the restoration period of a private CA in the DELETED state by calling the DescribeCertificateAuthority or ListCertificateAuthorities actions. The status of a restored CA is set to its pre-deletion status when the RestoreCertificateAuthority action returns. To change its status to ACTIVE, call the UpdateCertificateAuthority action. If the private CA was in the PENDING_CERTIFICATE state at deletion, you must use the ImportCertificateAuthorityCertificate action to import a certificate authority into the private CA before it can be activated. You cannot restore a CA after the restoration period has ended.

" + }, + "RevokeCertificate":{ + "name":"RevokeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeCertificateRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidStateException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"RequestAlreadyProcessedException"}, + {"shape":"RequestInProgressException"}, + {"shape":"RequestFailedException"} + ], + "documentation":"

Revokes a certificate that was issued inside ACM Private CA. If you enable a certificate revocation list (CRL) when you create or update your private CA, information about the revoked certificates will be included in the CRL. ACM Private CA writes the CRL to an S3 bucket that you specify. For more information about revocation, see the CrlConfiguration structure. ACM Private CA also writes revocation information to the audit report. For more information, see CreateCertificateAuthorityAuditReport.

You cannot revoke a root CA self-signed certificate.

" + }, + "TagCertificateAuthority":{ + "name":"TagCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidTagException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

Adds one or more tags to your private CA. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the private CA on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair. You can apply a tag to just one private CA if you want to identify a specific characteristic of that CA, or you can apply the same tag to multiple private CAs if you want to filter for a common relationship among those CAs. To remove one or more tags, use the UntagCertificateAuthority action. Call the ListTags action to see what tags are associated with your CA.

" + }, + "UntagCertificateAuthority":{ + "name":"UntagCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidTagException"} + ], + "documentation":"

Remove one or more tags from your private CA. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this action, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value. To add tags to a private CA, use the TagCertificateAuthority. Call the ListTags action to see what tags are associated with your CA.

" + }, + "UpdateCertificateAuthority":{ + "name":"UpdateCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateAuthorityRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgsException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidPolicyException"} + ], + "documentation":"

Updates the status or configuration of a private certificate authority (CA). Your private CA must be in the ACTIVE or DISABLED state before you can update it. You can disable a private CA that is in the ACTIVE state or make a CA that is in the DISABLED state active again.

" + } + }, + "shapes":{ + "ASN1Subject":{ + "type":"structure", + "members":{ + "Country":{ + "shape":"CountryCodeString", + "documentation":"

Two-digit code that specifies the country in which the certificate subject located.

" + }, + "Organization":{ + "shape":"String64", + "documentation":"

Legal name of the organization with which the certificate subject is affiliated.

" + }, + "OrganizationalUnit":{ + "shape":"String64", + "documentation":"

A subdivision or unit of the organization (such as sales or finance) with which the certificate subject is affiliated.

" + }, + "DistinguishedNameQualifier":{ + "shape":"DistinguishedNameQualifierString", + "documentation":"

Disambiguating information for the certificate subject.

" + }, + "State":{ + "shape":"String128", + "documentation":"

State in which the subject of the certificate is located.

" + }, + "CommonName":{ + "shape":"String64", + "documentation":"

Fully qualified domain name (FQDN) associated with the certificate subject.

" + }, + "SerialNumber":{ + "shape":"String64", + "documentation":"

The certificate serial number.

" + }, + "Locality":{ + "shape":"String128", + "documentation":"

The locality (such as a city or town) in which the certificate subject is located.

" + }, + "Title":{ + "shape":"String64", + "documentation":"

A title such as Mr. or Ms., which is pre-pended to the name to refer formally to the certificate subject.

" + }, + "Surname":{ + "shape":"String40", + "documentation":"

Family name. In the US and the UK, for example, the surname of an individual is ordered last. In Asian cultures the surname is typically ordered first.

" + }, + "GivenName":{ + "shape":"String16", + "documentation":"

First name.

" + }, + "Initials":{ + "shape":"String5", + "documentation":"

Concatenation that typically contains the first letter of the GivenName, the first letter of the middle name if one exists, and the first letter of the SurName.

" + }, + "Pseudonym":{ + "shape":"String128", + "documentation":"

Typically a shortened version of a longer GivenName. For example, Jonathan is often shortened to John. Elizabeth is often shortened to Beth, Liz, or Eliza.

" + }, + "GenerationQualifier":{ + "shape":"String3", + "documentation":"

Typically a qualifier appended to the name of an individual. Examples include Jr. for junior, Sr. for senior, and III for third.

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

Contains information about the certificate subject. The certificate can be one issued by your private certificate authority (CA) or it can be your private CA certificate. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. The DN must be unique for each entity, but your private CA can issue more than one certificate with the same DN to the same entity.

" + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]+" + }, + "ActionList":{ + "type":"list", + "member":{"shape":"ActionType"}, + "max":3, + "min":1 + }, + "ActionType":{ + "type":"string", + "enum":[ + "IssueCertificate", + "GetCertificate", + "ListPermissions" + ] + }, + "Arn":{ + "type":"string", + "max":200, + "min":5, + "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]*:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*" + }, + "AuditReportId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}" + }, + "AuditReportResponseFormat":{ + "type":"string", + "enum":[ + "JSON", + "CSV" + ] + }, + "AuditReportStatus":{ + "type":"string", + "enum":[ + "CREATING", + "SUCCESS", + "FAILED" + ] + }, + "Boolean":{"type":"boolean"}, + "CertificateAuthorities":{ + "type":"list", + "member":{"shape":"CertificateAuthority"} + }, + "CertificateAuthority":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

Amazon Resource Name (ARN) for your private certificate authority (CA). The format is 12345678-1234-1234-1234-123456789012 .

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

Date and time at which your private CA was created.

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

Date and time at which your private CA was last updated.

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

Type of your private CA.

" + }, + "Serial":{ + "shape":"String", + "documentation":"

Serial number of your private CA.

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

Status of your private CA.

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

Date and time before which your private CA certificate is not valid.

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

Date and time after which your private CA certificate is not valid.

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

Reason the request to create your private CA failed.

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

Your private CA configuration.

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

Information about the certificate revocation list (CRL) created and maintained by your private CA.

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

The period during which a deleted CA can be restored. For more information, see the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest action.

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

Contains information about your private certificate authority (CA). Your private CA can issue and revoke X.509 digital certificates. Digital certificates verify that the entity named in the certificate Subject field owns or controls the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority action to create your private CA. You must then call the GetCertificateAuthorityCertificate action to retrieve a private CA certificate signing request (CSR). Sign the CSR with your ACM Private CA-hosted or on-premises root or subordinate CA certificate. Call the ImportCertificateAuthorityCertificate action to import the signed certificate into AWS Certificate Manager (ACM).

" + }, + "CertificateAuthorityConfiguration":{ + "type":"structure", + "required":[ + "KeyAlgorithm", + "SigningAlgorithm", + "Subject" + ], + "members":{ + "KeyAlgorithm":{ + "shape":"KeyAlgorithm", + "documentation":"

Type of the public key algorithm and size, in bits, of the key pair that your CA creates when it issues a certificate. When you create a subordinate CA, you must use a key algorithm supported by the parent CA.

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

Name of the algorithm your private CA uses to sign certificate requests.

" + }, + "Subject":{ + "shape":"ASN1Subject", + "documentation":"

Structure that contains X.500 distinguished name information for your private CA.

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

Contains configuration information for your private certificate authority (CA). This includes information about the class of public key algorithm and the key pair that your private CA creates when it issues a certificate. It also includes the signature algorithm that it uses when issuing certificates, and its X.500 distinguished name. You must specify this information when you call the CreateCertificateAuthority action.

" + }, + "CertificateAuthorityStatus":{ + "type":"string", + "enum":[ + "CREATING", + "PENDING_CERTIFICATE", + "ACTIVE", + "DELETED", + "DISABLED", + "EXPIRED", + "FAILED" + ] + }, + "CertificateAuthorityType":{ + "type":"string", + "enum":[ + "ROOT", + "SUBORDINATE" + ] + }, + "CertificateBody":{"type":"string"}, + "CertificateBodyBlob":{ + "type":"blob", + "max":32768, + "min":1 + }, + "CertificateChain":{"type":"string"}, + "CertificateChainBlob":{ + "type":"blob", + "max":2097152, + "min":0 + }, + "CertificateMismatchException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The certificate authority certificate you are importing does not comply with conditions specified in the certificate that signed it.

", + "exception":true + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

A previous update to your private CA is still ongoing.

", + "exception":true + }, + "CountryCodeString":{ + "type":"string", + "pattern":"[A-Za-z]{2}" + }, + "CreateCertificateAuthorityAuditReportRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "S3BucketName", + "AuditReportResponseFormat" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the CA to be audited. This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket that will contain the audit report.

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

The format in which to create the report. This can be either JSON or CSV.

" + } + } + }, + "CreateCertificateAuthorityAuditReportResponse":{ + "type":"structure", + "members":{ + "AuditReportId":{ + "shape":"AuditReportId", + "documentation":"

An alphanumeric string that contains a report identifier.

" + }, + "S3Key":{ + "shape":"String", + "documentation":"

The key that uniquely identifies the report file in your S3 bucket.

" + } + } + }, + "CreateCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityConfiguration", + "CertificateAuthorityType" + ], + "members":{ + "CertificateAuthorityConfiguration":{ + "shape":"CertificateAuthorityConfiguration", + "documentation":"

Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information.

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

Contains a Boolean value that you can use to enable a certification revocation list (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For more information, see the CrlConfiguration structure.

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

The type of the certificate authority.

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

Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. Idempotency tokens time out after five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency token within a five minute period, ACM Private CA recognizes that you are requesting only one certificate. As a result, ACM Private CA issues only one. If you change the idempotency token for each call, however, ACM Private CA recognizes that you are requesting multiple certificates.

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

Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with

IAM to manage permissions, see Controlling Access Using IAM Tags.

" + } + } + }, + "CreateCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

If successful, the Amazon Resource Name (ARN) of the certificate authority (CA). This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + } + } + }, + "CreatePermissionRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Principal", + "Actions" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the CA that grants the permissions. You can find the ARN by calling the ListCertificateAuthorities action. This must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

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

The AWS service or identity that receives the permission. At this time, the only valid principal is acm.amazonaws.com.

" + }, + "SourceAccount":{ + "shape":"AccountId", + "documentation":"

The ID of the calling account.

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The actions that the specified AWS service principal can use. These include IssueCertificate, GetCertificate, and ListPermissions.

" + } + } + }, + "CrlConfiguration":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Boolean value that specifies whether certificate revocation lists (CRLs) are enabled. You can use this value to enable certificate revocation for a new CA when you call the CreateCertificateAuthority action or for an existing CA when you call the UpdateCertificateAuthority action.

", + "box":true + }, + "ExpirationInDays":{ + "shape":"Integer1To5000", + "documentation":"

Number of days until a certificate expires.

", + "box":true + }, + "CustomCname":{ + "shape":"String253", + "documentation":"

Name inserted into the certificate CRL Distribution Points extension that enables the use of an alias for the CRL distribution point. Use this value if you don't want the name of your S3 bucket to be public.

" + }, + "S3BucketName":{ + "shape":"String3To255", + "documentation":"

Name of the S3 bucket that contains the CRL. If you do not provide a value for the CustomCname argument, the name of your S3 bucket is placed into the CRL Distribution Points extension of the issued certificate. You can change the name of your bucket by calling the UpdateCertificateAuthority action. You must specify a bucket policy that allows ACM Private CA to write the CRL to your bucket.

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

Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. Your S3 bucket policy must give write permission to ACM Private CA.

Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed at 1/2 the age of next update or when a certificate is revoked. When a certificate is revoked, it is recorded in the next CRL that is generated and in the next audit report. Only time valid certificates are listed in the CRL. Expired certificates are not included.

CRLs contain the following fields:

  • Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1.

  • Signature Algorithm: The name of the algorithm used to sign the CRL.

  • Issuer: The X.500 distinguished name of your private CA that issued the CRL.

  • Last Update: The issue date and time of this CRL.

  • Next Update: The day and time by which the next CRL will be issued.

  • Revoked Certificates: List of revoked certificates. Each list item contains the following information.

    • Serial Number: The serial number, in hexadecimal format, of the revoked certificate.

    • Revocation Date: Date and time the certificate was revoked.

    • CRL Entry Extensions: Optional extensions for the CRL entry.

      • X509v3 CRL Reason Code: Reason the certificate was revoked.

  • CRL Extensions: Optional extensions for the CRL.

    • X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate.

    • X509v3 CRL Number:: Decimal sequence number for the CRL.

  • Signature Algorithm: Algorithm used by your private CA to sign the CRL.

  • Signature Value: Signature computed over the CRL.

Certificate revocation lists created by ACM Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL.

openssl crl -inform DER -text -in crl_path -noout

" + }, + "CsrBlob":{ + "type":"blob", + "max":32768, + "min":1 + }, + "CsrBody":{"type":"string"}, + "DeleteCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

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

The number of days to make a CA restorable after it has been deleted. This can be anywhere from 7 to 30 days, with 30 being the default.

" + } + } + }, + "DeletePermissionRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Principal" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA that issued the permissions. You can find the CA's ARN by calling the ListCertificateAuthorities action. This must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

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

The AWS service or identity that will have its CA permissions revoked. At this time, the only valid service principal is acm.amazonaws.com

" + }, + "SourceAccount":{ + "shape":"AccountId", + "documentation":"

The AWS account that calls this action.

" + } + } + }, + "DescribeCertificateAuthorityAuditReportRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "AuditReportId" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the private CA. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

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

The report ID returned by calling the CreateCertificateAuthorityAuditReport action.

" + } + } + }, + "DescribeCertificateAuthorityAuditReportResponse":{ + "type":"structure", + "members":{ + "AuditReportStatus":{ + "shape":"AuditReportStatus", + "documentation":"

Specifies whether report creation is in progress, has succeeded, or has failed.

" + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

Name of the S3 bucket that contains the report.

" + }, + "S3Key":{ + "shape":"String", + "documentation":"

S3 key that uniquely identifies the report file in your S3 bucket.

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

The date and time at which the report was created.

" + } + } + }, + "DescribeCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + } + } + }, + "DescribeCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "CertificateAuthority":{ + "shape":"CertificateAuthority", + "documentation":"

A CertificateAuthority structure that contains information about your private CA.

" + } + } + }, + "DistinguishedNameQualifierString":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[a-zA-Z0-9'()+-.?:/= ]*" + }, + "FailureReason":{ + "type":"string", + "enum":[ + "REQUEST_TIMED_OUT", + "UNSUPPORTED_ALGORITHM", + "OTHER" + ] + }, + "GetCertificateAuthorityCertificateRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of your private CA. This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + } + } + }, + "GetCertificateAuthorityCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateBody", + "documentation":"

Base64-encoded certificate authority (CA) certificate.

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

Base64-encoded certificate chain that includes any intermediate certificates and chains up to root on-premises certificate that you used to sign your private CA certificate. The chain does not include your private CA certificate. If this is a root CA, the value will be null.

" + } + } + }, + "GetCertificateAuthorityCsrRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" + } + } + }, + "GetCertificateAuthorityCsrResponse":{ + "type":"structure", + "members":{ + "Csr":{ + "shape":"CsrBody", + "documentation":"

The base64 PEM-encoded certificate signing request (CSR) for your private CA certificate.

" + } + } + }, + "GetCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "CertificateArn" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 .

" + }, + "CertificateArn":{ + "shape":"Arn", + "documentation":"

The ARN of the issued certificate. The ARN contains the certificate serial number and must be in the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245

" + } + } + }, + "GetCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateBody", + "documentation":"

The base64 PEM-encoded certificate specified by the CertificateArn parameter.

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

The base64 PEM-encoded certificate chain that chains up to the on-premises root CA certificate that you used to sign your private CA certificate.

" + } + } + }, + "IdempotencyToken":{ + "type":"string", + "max":36, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" + }, + "ImportCertificateAuthorityCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Certificate" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

The PEM-encoded certificate for a private CA. This may be a self-signed certificate in the case of a root CA, or it may be signed by another CA that you control.

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

A PEM-encoded file that contains all of your certificates, other than the certificate you're importing, chaining up to your root CA. Your ACM Private CA-hosted or on-premises root certificate is the last in the chain, and each certificate in the chain signs the one preceding.

This parameter must be supplied when you import a subordinate CA. When you import a root CA, there is no chain.

" + } + } + }, + "Integer1To5000":{ + "type":"integer", + "max":5000, + "min":1 + }, + "InvalidArgsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

One or more of the specified arguments was not valid.

", + "exception":true + }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The requested Amazon Resource Name (ARN) does not refer to an existing resource.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The token specified in the NextToken argument is not valid. Use the token returned from your previous call to ListCertificateAuthorities.

", + "exception":true + }, + "InvalidPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The S3 bucket policy is not valid. The policy must give ACM Private CA rights to read from and write to the bucket and find the bucket location.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request action cannot be performed or is prohibited.

", + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The private CA is in a state during which a report or certificate cannot be generated.

", + "exception":true + }, + "InvalidTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The tag associated with the CA is not valid. The invalid argument is contained in the message field.

", + "exception":true + }, + "IssueCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Csr", + "SigningAlgorithm", + "Validity" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" + }, + "Csr":{ + "shape":"CsrBlob", + "documentation":"

The certificate signing request (CSR) for the certificate you want to issue. You can use the following OpenSSL command to create the CSR and a 2048 bit RSA private key.

openssl req -new -newkey rsa:2048 -days 365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr

If you have a configuration file, you can use the following OpenSSL command. The usr_cert block in the configuration file contains your X509 version 3 extensions.

openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 -days -365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr

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

The name of the algorithm that will be used to sign the certificate to be issued.

" + }, + "TemplateArn":{ + "shape":"Arn", + "documentation":"

Specifies a custom configuration template to use when issuing a certificate. If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 template.

The following service-owned TemplateArn values are supported by ACM Private CA:

  • arn:aws:acm-pca:::template/EndEntityCertificate/V1

  • arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1

  • arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen1/V1

  • arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen2/V1

  • arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1

  • arn:aws:acm-pca:::template/RootCACertificate/V1

For more information, see Using Templates.

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

The type of the validity period.

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

Custom string that can be used to distinguish between calls to the IssueCertificate action. Idempotency tokens time out after one hour. Therefore, if you call IssueCertificate multiple times with the same idempotency token within 5 minutes, ACM Private CA recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, PCA recognizes that you are requesting multiple certificates.

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

The Amazon Resource Name (ARN) of the issued certificate and the certificate serial number. This is of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012/certificate/286535153982981100925020015808220737245

" + } + } + }, + "KeyAlgorithm":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_4096", + "EC_prime256v1", + "EC_secp384r1" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

An ACM Private CA limit has been exceeded. See the exception message returned to determine the limit that was exceeded.

", + "exception":true + }, + "ListCertificateAuthoritiesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of the NextToken parameter from the response you just received.

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

Use this parameter when paginating results to specify the maximum number of items to return in the response on each page. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" + } + } + }, + "ListCertificateAuthoritiesResponse":{ + "type":"structure", + "members":{ + "CertificateAuthorities":{ + "shape":"CertificateAuthorities", + "documentation":"

Summary information about each certificate authority you have created.

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

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" + } + } + }, + "ListPermissionsRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA to inspect. You can find the ARN by calling the ListCertificateAuthorities action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 You can get a private CA's ARN by running the ListCertificateAuthorities action.

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

When paginating results, use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

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

When paginating results, use this parameter to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" + } + } + }, + "ListPermissionsResponse":{ + "type":"structure", + "members":{ + "Permissions":{ + "shape":"PermissionList", + "documentation":"

Summary information about each permission assigned by the specified private CA, including the action enabled, the policy provided, and the time of creation.

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

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" + } + } + }, + "ListTagsRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

Use this parameter when paginating results in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

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

Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags associated with your private CA.

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

When the list is truncated, this value is present and should be used for the NextToken parameter in a subsequent pagination request.

" + } + } + }, + "MalformedCSRException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The certificate signing request is invalid.

", + "exception":true + }, + "MalformedCertificateException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

One or more fields in the certificate are invalid.

", + "exception":true + }, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":500, + "min":1 + }, + "PermanentDeletionTimeInDays":{ + "type":"integer", + "max":30, + "min":7 + }, + "Permission":{ + "type":"structure", + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Number (ARN) of the private CA from which the permission was issued.

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

The time at which the permission was created.

" + }, + "Principal":{ + "shape":"String", + "documentation":"

The AWS service or entity that holds the permission. At this time, the only valid principal is acm.amazonaws.com.

" + }, + "SourceAccount":{ + "shape":"String", + "documentation":"

The ID of the account that assigned the permission.

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The private CA actions that can be performed by the designated AWS service.

" + }, + "Policy":{ + "shape":"String", + "documentation":"

The name of the policy that is associated with the permission.

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

Permissions designate which private CA actions can be performed by an AWS service or entity. In order for ACM to automatically renew private certificates, you must give the ACM service principal all available permissions (IssueCertificate, GetCertificate, and ListPermissions). Permissions can be assigned with the CreatePermission action, removed with the DeletePermission action, and listed with the ListPermissions action.

" + }, + "PermissionAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The designated permission has already been given to the user.

", + "exception":true + }, + "PermissionList":{ + "type":"list", + "member":{"shape":"Permission"}, + "min":0 + }, + "PositiveLong":{ + "type":"long", + "min":1 + }, + "Principal":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^[^*]+$" + }, + "RequestAlreadyProcessedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Your request has already been completed.

", + "exception":true + }, + "RequestFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request has failed for an unspecified reason.

", + "exception":true + }, + "RequestInProgressException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Your request is already in progress.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

A resource such as a private CA, S3 bucket, certificate, or audit report cannot be found.

", + "exception":true + }, + "RestoreCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority action. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" + } + } + }, + "RevocationConfiguration":{ + "type":"structure", + "members":{ + "CrlConfiguration":{ + "shape":"CrlConfiguration", + "documentation":"

Configuration of the certificate revocation list (CRL), if any, maintained by your private CA.

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

Certificate revocation information used by the CreateCertificateAuthority and UpdateCertificateAuthority actions. Your private certificate authority (CA) can create and maintain a certificate revocation list (CRL). A CRL contains information about certificates revoked by your CA. For more information, see RevokeCertificate.

" + }, + "RevocationReason":{ + "type":"string", + "enum":[ + "UNSPECIFIED", + "KEY_COMPROMISE", + "CERTIFICATE_AUTHORITY_COMPROMISE", + "AFFILIATION_CHANGED", + "SUPERSEDED", + "CESSATION_OF_OPERATION", + "PRIVILEGE_WITHDRAWN", + "A_A_COMPROMISE" + ] + }, + "RevokeCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "CertificateSerial", + "RevocationReason" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

" + }, + "CertificateSerial":{ + "shape":"String128", + "documentation":"

Serial number of the certificate to be revoked. This must be in hexadecimal format. You can retrieve the serial number by calling GetCertificate with the Amazon Resource Name (ARN) of the certificate you want and the ARN of your private CA. The GetCertificate action retrieves the certificate in the PEM format. You can use the following OpenSSL command to list the certificate in text format and copy the hexadecimal serial number.

openssl x509 -in file_path -text -noout

You can also copy the serial number from the console or use the DescribeCertificate action in the AWS Certificate Manager API Reference.

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

Specifies why you revoked the certificate.

" + } + } + }, + "SigningAlgorithm":{ + "type":"string", + "enum":[ + "SHA256WITHECDSA", + "SHA384WITHECDSA", + "SHA512WITHECDSA", + "SHA256WITHRSA", + "SHA384WITHRSA", + "SHA512WITHRSA" + ] + }, + "String":{"type":"string"}, + "String128":{ + "type":"string", + "max":128, + "min":0 + }, + "String16":{ + "type":"string", + "max":16, + "min":0 + }, + "String253":{ + "type":"string", + "max":253, + "min":0 + }, + "String3":{ + "type":"string", + "max":3, + "min":0 + }, + "String3To255":{ + "type":"string", + "max":255, + "min":3 + }, + "String40":{ + "type":"string", + "max":40, + "min":0 + }, + "String5":{ + "type":"string", + "max":5, + "min":0 + }, + "String64":{ + "type":"string", + "max":64, + "min":0 + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

Key (name) of the tag.

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

Value of the tag.

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

Tags are labels that you can use to identify and organize your private CAs. Each tag consists of a key and an optional value. You can associate up to 50 tags with a private CA. To add one or more tags to a private CA, call the TagCertificateAuthority action. To remove a tag, call the UntagCertificateAuthority action.

" + }, + "TagCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Tags" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

List of tags to be associated with the CA.

" + } + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You can associate up to 50 tags with a private CA. Exception information is contained in the exception message field.

", + "exception":true + }, + "UntagCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "CertificateAuthorityArn", + "Tags" + ], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

List of tags to be removed from the CA.

" + } + } + }, + "UpdateCertificateAuthorityRequest":{ + "type":"structure", + "required":["CertificateAuthorityArn"], + "members":{ + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked. This must be of the form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

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

Revocation information for your private CA.

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

Status of your private CA.

" + } + } + }, + "Validity":{ + "type":"structure", + "required":[ + "Value", + "Type" + ], + "members":{ + "Value":{ + "shape":"PositiveLong", + "documentation":"

Time period.

", + "box":true + }, + "Type":{ + "shape":"ValidityPeriodType", + "documentation":"

Specifies whether the Value parameter represents days, months, or years.

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

Length of time for which the certificate issued by your private certificate authority (CA), or by the private CA itself, is valid in days, months, or years. You can issue a certificate by calling the IssueCertificate action.

" + }, + "ValidityPeriodType":{ + "type":"string", + "enum":[ + "END_DATE", + "ABSOLUTE", + "DAYS", + "MONTHS", + "YEARS" + ] + } + }, + "documentation":"

This is the ACM Private CA API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types involved in creating and managing private certificate authorities (CA) for your organization.

The documentation for each action shows the Query API request parameters and the XML response. Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

Each ACM Private CA API action has a throttling limit which determines the number of times the action can be called per second. For more information, see API Rate Limits in ACM Private CA in the ACM Private CA user guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/waiters-2.json python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/waiters-2.json --- python-botocore-1.4.70/botocore/data/acm-pca/2017-08-22/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/acm-pca/2017-08-22/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,61 @@ +{ + "version": 2, + "waiters": { + "CertificateAuthorityCSRCreated": { + "description": "Wait until a Certificate Authority CSR is created", + "operation": "GetCertificateAuthorityCsr", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "RequestInProgressException" + } + ] + }, + "CertificateIssued": { + "description": "Wait until a certificate is issued", + "operation": "GetCertificate", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "RequestInProgressException" + } + ] + }, + "AuditReportCreated": { + "description": "Wait until a Audit Report is created", + "operation": "DescribeCertificateAuthorityAuditReport", + "delay": 3, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "AuditReportStatus", + "expected": "SUCCESS" + }, + { + "state": "failure", + "matcher": "path", + "argument": "AuditReportStatus", + "expected": "FAILED" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/examples-1.json python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/examples-1.json --- python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json --- python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,82 @@ +{ + "pagination": { + "ListSkills": { + "result_key": "SkillSummaries", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchUsers": { + "result_key": "Users", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTags": { + "result_key": "Tags", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchProfiles": { + "result_key": "Profiles", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchSkillGroups": { + "result_key": "SkillGroups", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchDevices": { + "result_key": "Devices", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchRooms": { + "result_key": "Rooms", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListBusinessReportSchedules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BusinessReportSchedules" + }, + "ListConferenceProviders": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConferenceProviders" + }, + "ListDeviceEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DeviceEvents" + }, + "ListSkillsStoreCategories": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CategoryList" + }, + "ListSkillsStoreSkillsByCategory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SkillsStoreSkills" + }, + "ListSmartHomeAppliances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SmartHomeAppliances" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/service-2.json python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/service-2.json --- python-botocore-1.4.70/botocore/data/alexaforbusiness/2017-11-09/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/alexaforbusiness/2017-11-09/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,6048 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-09", + "endpointPrefix":"a4b", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Alexa For Business", + "serviceId":"Alexa For Business", + "signatureVersion":"v4", + "targetPrefix":"AlexaForBusiness", + "uid":"alexaforbusiness-2017-11-09" + }, + "operations":{ + "ApproveSkill":{ + "name":"ApproveSkill", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApproveSkillRequest"}, + "output":{"shape":"ApproveSkillResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Associates a skill with the organization under the customer's AWS account. If a skill is private, the user implicitly accepts access to this skill during enablement.

" + }, + "AssociateContactWithAddressBook":{ + "name":"AssociateContactWithAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateContactWithAddressBookRequest"}, + "output":{"shape":"AssociateContactWithAddressBookResponse"}, + "errors":[ + {"shape":"LimitExceededException"} + ], + "documentation":"

Associates a contact with a given address book.

" + }, + "AssociateDeviceWithNetworkProfile":{ + "name":"AssociateDeviceWithNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDeviceWithNetworkProfileRequest"}, + "output":{"shape":"AssociateDeviceWithNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Associates a device with the specified network profile.

" + }, + "AssociateDeviceWithRoom":{ + "name":"AssociateDeviceWithRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDeviceWithRoomRequest"}, + "output":{"shape":"AssociateDeviceWithRoomResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Associates a device with a given room. This applies all the settings from the room profile to the device, and all the skills in any skill groups added to that room. This operation requires the device to be online, or else a manual sync is required.

" + }, + "AssociateSkillGroupWithRoom":{ + "name":"AssociateSkillGroupWithRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSkillGroupWithRoomRequest"}, + "output":{"shape":"AssociateSkillGroupWithRoomResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Associates a skill group with a given room. This enables all skills in the associated skill group on all devices in the room.

" + }, + "AssociateSkillWithSkillGroup":{ + "name":"AssociateSkillWithSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSkillWithSkillGroupRequest"}, + "output":{"shape":"AssociateSkillWithSkillGroupResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"SkillNotLinkedException"} + ], + "documentation":"

Associates a skill with a skill group.

" + }, + "AssociateSkillWithUsers":{ + "name":"AssociateSkillWithUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSkillWithUsersRequest"}, + "output":{"shape":"AssociateSkillWithUsersResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Makes a private skill available for enrolled users to enable on their devices.

" + }, + "CreateAddressBook":{ + "name":"CreateAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAddressBookRequest"}, + "output":{"shape":"CreateAddressBookResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an address book with the specified details.

" + }, + "CreateBusinessReportSchedule":{ + "name":"CreateBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBusinessReportScheduleRequest"}, + "output":{"shape":"CreateBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Creates a recurring schedule for usage reports to deliver to the specified S3 location with a specified daily or weekly interval.

" + }, + "CreateConferenceProvider":{ + "name":"CreateConferenceProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConferenceProviderRequest"}, + "output":{"shape":"CreateConferenceProviderResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Adds a new conference provider under the user's AWS account.

" + }, + "CreateContact":{ + "name":"CreateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContactRequest"}, + "output":{"shape":"CreateContactResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a contact with the specified details.

" + }, + "CreateGatewayGroup":{ + "name":"CreateGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGatewayGroupRequest"}, + "output":{"shape":"CreateGatewayGroupResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a gateway group with the specified details.

" + }, + "CreateNetworkProfile":{ + "name":"CreateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkProfileRequest"}, + "output":{"shape":"CreateNetworkProfileResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidCertificateAuthorityException"}, + {"shape":"InvalidServiceLinkedRoleStateException"} + ], + "documentation":"

Creates a network profile with the specified details.

" + }, + "CreateProfile":{ + "name":"CreateProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProfileRequest"}, + "output":{"shape":"CreateProfileResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a new room profile with the specified details.

" + }, + "CreateRoom":{ + "name":"CreateRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRoomRequest"}, + "output":{"shape":"CreateRoomResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a room with the specified details.

" + }, + "CreateSkillGroup":{ + "name":"CreateSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSkillGroupRequest"}, + "output":{"shape":"CreateSkillGroupResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a skill group with a specified name and description.

" + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a user.

" + }, + "DeleteAddressBook":{ + "name":"DeleteAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAddressBookRequest"}, + "output":{"shape":"DeleteAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes an address book by the address book ARN.

" + }, + "DeleteBusinessReportSchedule":{ + "name":"DeleteBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBusinessReportScheduleRequest"}, + "output":{"shape":"DeleteBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the recurring report delivery schedule with the specified schedule ARN.

" + }, + "DeleteConferenceProvider":{ + "name":"DeleteConferenceProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConferenceProviderRequest"}, + "output":{"shape":"DeleteConferenceProviderResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes a conference provider.

" + }, + "DeleteContact":{ + "name":"DeleteContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContactRequest"}, + "output":{"shape":"DeleteContactResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a contact by the contact ARN.

" + }, + "DeleteDevice":{ + "name":"DeleteDevice", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDeviceRequest"}, + "output":{"shape":"DeleteDeviceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidCertificateAuthorityException"} + ], + "documentation":"

Removes a device from Alexa For Business.

" + }, + "DeleteDeviceUsageData":{ + "name":"DeleteDeviceUsageData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDeviceUsageDataRequest"}, + "output":{"shape":"DeleteDeviceUsageDataResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DeviceNotRegisteredException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

When this action is called for a specified shared device, it allows authorized users to delete the device's entire previous history of voice input data and associated response data. This action can be called once every 24 hours for a specific shared device.

" + }, + "DeleteGatewayGroup":{ + "name":"DeleteGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGatewayGroupRequest"}, + "output":{"shape":"DeleteGatewayGroupResponse"}, + "errors":[ + {"shape":"ResourceAssociatedException"} + ], + "documentation":"

Deletes a gateway group.

" + }, + "DeleteNetworkProfile":{ + "name":"DeleteNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkProfileRequest"}, + "output":{"shape":"DeleteNetworkProfileResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes a network profile by the network profile ARN.

" + }, + "DeleteProfile":{ + "name":"DeleteProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProfileRequest"}, + "output":{"shape":"DeleteProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a room profile by the profile ARN.

" + }, + "DeleteRoom":{ + "name":"DeleteRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRoomRequest"}, + "output":{"shape":"DeleteRoomResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a room by the room ARN.

" + }, + "DeleteRoomSkillParameter":{ + "name":"DeleteRoomSkillParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRoomSkillParameterRequest"}, + "output":{"shape":"DeleteRoomSkillParameterResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes room skill parameter details by room, skill, and parameter key ID.

" + }, + "DeleteSkillAuthorization":{ + "name":"DeleteSkillAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSkillAuthorizationRequest"}, + "output":{"shape":"DeleteSkillAuthorizationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Unlinks a third-party account from a skill.

" + }, + "DeleteSkillGroup":{ + "name":"DeleteSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSkillGroupRequest"}, + "output":{"shape":"DeleteSkillGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a skill group by skill group ARN.

" + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserRequest"}, + "output":{"shape":"DeleteUserResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a specified user by user ARN and enrollment ARN.

" + }, + "DisassociateContactFromAddressBook":{ + "name":"DisassociateContactFromAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateContactFromAddressBookRequest"}, + "output":{"shape":"DisassociateContactFromAddressBookResponse"}, + "documentation":"

Disassociates a contact from a given address book.

" + }, + "DisassociateDeviceFromRoom":{ + "name":"DisassociateDeviceFromRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDeviceFromRoomRequest"}, + "output":{"shape":"DisassociateDeviceFromRoomResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Disassociates a device from its current room. The device continues to be connected to the Wi-Fi network and is still registered to the account. The device settings and skills are removed from the room.

" + }, + "DisassociateSkillFromSkillGroup":{ + "name":"DisassociateSkillFromSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSkillFromSkillGroupRequest"}, + "output":{"shape":"DisassociateSkillFromSkillGroupResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Disassociates a skill from a skill group.

" + }, + "DisassociateSkillFromUsers":{ + "name":"DisassociateSkillFromUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSkillFromUsersRequest"}, + "output":{"shape":"DisassociateSkillFromUsersResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Makes a private skill unavailable for enrolled users and prevents them from enabling it on their devices.

" + }, + "DisassociateSkillGroupFromRoom":{ + "name":"DisassociateSkillGroupFromRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSkillGroupFromRoomRequest"}, + "output":{"shape":"DisassociateSkillGroupFromRoomResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Disassociates a skill group from a specified room. This disables all skills in the skill group on all devices in the room.

" + }, + "ForgetSmartHomeAppliances":{ + "name":"ForgetSmartHomeAppliances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ForgetSmartHomeAppliancesRequest"}, + "output":{"shape":"ForgetSmartHomeAppliancesResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Forgets smart home appliances associated to a room.

" + }, + "GetAddressBook":{ + "name":"GetAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAddressBookRequest"}, + "output":{"shape":"GetAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets address the book details by the address book ARN.

" + }, + "GetConferencePreference":{ + "name":"GetConferencePreference", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConferencePreferenceRequest"}, + "output":{"shape":"GetConferencePreferenceResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the existing conference preferences.

" + }, + "GetConferenceProvider":{ + "name":"GetConferenceProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConferenceProviderRequest"}, + "output":{"shape":"GetConferenceProviderResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets details about a specific conference provider.

" + }, + "GetContact":{ + "name":"GetContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactRequest"}, + "output":{"shape":"GetContactResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets the contact details by the contact ARN.

" + }, + "GetDevice":{ + "name":"GetDevice", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeviceRequest"}, + "output":{"shape":"GetDeviceResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets the details of a device by device ARN.

" + }, + "GetGateway":{ + "name":"GetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGatewayRequest"}, + "output":{"shape":"GetGatewayResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the details of a gateway.

" + }, + "GetGatewayGroup":{ + "name":"GetGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGatewayGroupRequest"}, + "output":{"shape":"GetGatewayGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the details of a gateway group.

" + }, + "GetInvitationConfiguration":{ + "name":"GetInvitationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInvitationConfigurationRequest"}, + "output":{"shape":"GetInvitationConfigurationResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Retrieves the configured values for the user enrollment invitation email template.

" + }, + "GetNetworkProfile":{ + "name":"GetNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNetworkProfileRequest"}, + "output":{"shape":"GetNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InvalidSecretsManagerResourceException"} + ], + "documentation":"

Gets the network profile details by the network profile ARN.

" + }, + "GetProfile":{ + "name":"GetProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetProfileRequest"}, + "output":{"shape":"GetProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets the details of a room profile by profile ARN.

" + }, + "GetRoom":{ + "name":"GetRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRoomRequest"}, + "output":{"shape":"GetRoomResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets room details by room ARN.

" + }, + "GetRoomSkillParameter":{ + "name":"GetRoomSkillParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRoomSkillParameterRequest"}, + "output":{"shape":"GetRoomSkillParameterResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets room skill parameter details by room, skill, and parameter key ARN.

" + }, + "GetSkillGroup":{ + "name":"GetSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSkillGroupRequest"}, + "output":{"shape":"GetSkillGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Gets skill group details by skill group ARN.

" + }, + "ListBusinessReportSchedules":{ + "name":"ListBusinessReportSchedules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBusinessReportSchedulesRequest"}, + "output":{"shape":"ListBusinessReportSchedulesResponse"}, + "documentation":"

Lists the details of the schedules that a user configured. A download URL of the report associated with each schedule is returned every time this action is called. A new download URL is returned each time, and is valid for 24 hours.

" + }, + "ListConferenceProviders":{ + "name":"ListConferenceProviders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConferenceProvidersRequest"}, + "output":{"shape":"ListConferenceProvidersResponse"}, + "documentation":"

Lists conference providers under a specific AWS account.

" + }, + "ListDeviceEvents":{ + "name":"ListDeviceEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeviceEventsRequest"}, + "output":{"shape":"ListDeviceEventsResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Lists the device event history, including device connection status, for up to 30 days.

" + }, + "ListGatewayGroups":{ + "name":"ListGatewayGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGatewayGroupsRequest"}, + "output":{"shape":"ListGatewayGroupsResponse"}, + "documentation":"

Retrieves a list of gateway group summaries. Use GetGatewayGroup to retrieve details of a specific gateway group.

" + }, + "ListGateways":{ + "name":"ListGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGatewaysRequest"}, + "output":{"shape":"ListGatewaysResponse"}, + "documentation":"

Retrieves a list of gateway summaries. Use GetGateway to retrieve details of a specific gateway. An optional gateway group ARN can be provided to only retrieve gateway summaries of gateways that are associated with that gateway group ARN.

" + }, + "ListSkills":{ + "name":"ListSkills", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSkillsRequest"}, + "output":{"shape":"ListSkillsResponse"}, + "documentation":"

Lists all enabled skills in a specific skill group.

" + }, + "ListSkillsStoreCategories":{ + "name":"ListSkillsStoreCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSkillsStoreCategoriesRequest"}, + "output":{"shape":"ListSkillsStoreCategoriesResponse"}, + "documentation":"

Lists all categories in the Alexa skill store.

" + }, + "ListSkillsStoreSkillsByCategory":{ + "name":"ListSkillsStoreSkillsByCategory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSkillsStoreSkillsByCategoryRequest"}, + "output":{"shape":"ListSkillsStoreSkillsByCategoryResponse"}, + "documentation":"

Lists all skills in the Alexa skill store by category.

" + }, + "ListSmartHomeAppliances":{ + "name":"ListSmartHomeAppliances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSmartHomeAppliancesRequest"}, + "output":{"shape":"ListSmartHomeAppliancesResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Lists all of the smart home appliances associated with a room.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Lists all tags for the specified resource.

" + }, + "PutConferencePreference":{ + "name":"PutConferencePreference", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConferencePreferenceRequest"}, + "output":{"shape":"PutConferencePreferenceResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Sets the conference preferences on a specific conference provider at the account level.

" + }, + "PutInvitationConfiguration":{ + "name":"PutInvitationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInvitationConfigurationRequest"}, + "output":{"shape":"PutInvitationConfigurationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Configures the email template for the user enrollment invitation with the specified attributes.

" + }, + "PutRoomSkillParameter":{ + "name":"PutRoomSkillParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRoomSkillParameterRequest"}, + "output":{"shape":"PutRoomSkillParameterResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates room skill parameter details by room, skill, and parameter key ID. Not all skills have a room skill parameter.

" + }, + "PutSkillAuthorization":{ + "name":"PutSkillAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutSkillAuthorizationRequest"}, + "output":{"shape":"PutSkillAuthorizationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Links a user's account to a third-party skill provider. If this API operation is called by an assumed IAM role, the skill being linked must be a private skill. Also, the skill must be owned by the AWS account that assumed the IAM role.

" + }, + "RegisterAVSDevice":{ + "name":"RegisterAVSDevice", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterAVSDeviceRequest"}, + "output":{"shape":"RegisterAVSDeviceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidDeviceException"} + ], + "documentation":"

Registers an Alexa-enabled device built by an Original Equipment Manufacturer (OEM) using Alexa Voice Service (AVS).

" + }, + "RejectSkill":{ + "name":"RejectSkill", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectSkillRequest"}, + "output":{"shape":"RejectSkillResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Disassociates a skill from the organization under a user's AWS account. If the skill is a private skill, it moves to an AcceptStatus of PENDING. Any private or public skill that is rejected can be added later by calling the ApproveSkill API.

" + }, + "ResolveRoom":{ + "name":"ResolveRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResolveRoomRequest"}, + "output":{"shape":"ResolveRoomResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Determines the details for the room from which a skill request was invoked. This operation is used by skill developers.

" + }, + "RevokeInvitation":{ + "name":"RevokeInvitation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeInvitationRequest"}, + "output":{"shape":"RevokeInvitationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Revokes an invitation and invalidates the enrollment URL.

" + }, + "SearchAddressBooks":{ + "name":"SearchAddressBooks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchAddressBooksRequest"}, + "output":{"shape":"SearchAddressBooksResponse"}, + "documentation":"

Searches address books and lists the ones that meet a set of filter and sort criteria.

" + }, + "SearchContacts":{ + "name":"SearchContacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchContactsRequest"}, + "output":{"shape":"SearchContactsResponse"}, + "documentation":"

Searches contacts and lists the ones that meet a set of filter and sort criteria.

" + }, + "SearchDevices":{ + "name":"SearchDevices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchDevicesRequest"}, + "output":{"shape":"SearchDevicesResponse"}, + "documentation":"

Searches devices and lists the ones that meet a set of filter criteria.

" + }, + "SearchNetworkProfiles":{ + "name":"SearchNetworkProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchNetworkProfilesRequest"}, + "output":{"shape":"SearchNetworkProfilesResponse"}, + "documentation":"

Searches network profiles and lists the ones that meet a set of filter and sort criteria.

" + }, + "SearchProfiles":{ + "name":"SearchProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchProfilesRequest"}, + "output":{"shape":"SearchProfilesResponse"}, + "documentation":"

Searches room profiles and lists the ones that meet a set of filter criteria.

" + }, + "SearchRooms":{ + "name":"SearchRooms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchRoomsRequest"}, + "output":{"shape":"SearchRoomsResponse"}, + "documentation":"

Searches rooms and lists the ones that meet a set of filter and sort criteria.

" + }, + "SearchSkillGroups":{ + "name":"SearchSkillGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSkillGroupsRequest"}, + "output":{"shape":"SearchSkillGroupsResponse"}, + "documentation":"

Searches skill groups and lists the ones that meet a set of filter and sort criteria.

" + }, + "SearchUsers":{ + "name":"SearchUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchUsersRequest"}, + "output":{"shape":"SearchUsersResponse"}, + "documentation":"

Searches users and lists the ones that meet a set of filter and sort criteria.

" + }, + "SendAnnouncement":{ + "name":"SendAnnouncement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendAnnouncementRequest"}, + "output":{"shape":"SendAnnouncementResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Triggers an asynchronous flow to send text, SSML, or audio announcements to rooms that are identified by a search or filter.

" + }, + "SendInvitation":{ + "name":"SendInvitation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendInvitationRequest"}, + "output":{"shape":"SendInvitationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InvalidUserStatusException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Sends an enrollment invitation email with a URL to a user. The URL is valid for 30 days or until you call this operation again, whichever comes first.

" + }, + "StartDeviceSync":{ + "name":"StartDeviceSync", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDeviceSyncRequest"}, + "output":{"shape":"StartDeviceSyncResponse"}, + "errors":[ + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Resets a device and its account to the known default settings. This clears all information and settings set by previous users in the following ways:

  • Bluetooth - This unpairs all bluetooth devices paired with your echo device.

  • Volume - This resets the echo device's volume to the default value.

  • Notifications - This clears all notifications from your echo device.

  • Lists - This clears all to-do items from your echo device.

  • Settings - This internally syncs the room's profile (if the device is assigned to a room), contacts, address books, delegation access for account linking, and communications (if enabled on the room profile).

" + }, + "StartSmartHomeApplianceDiscovery":{ + "name":"StartSmartHomeApplianceDiscovery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartSmartHomeApplianceDiscoveryRequest"}, + "output":{"shape":"StartSmartHomeApplianceDiscoveryResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Initiates the discovery of any smart home appliances associated with the room.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Adds metadata tags to a specified resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Removes metadata tags from a specified resource.

" + }, + "UpdateAddressBook":{ + "name":"UpdateAddressBook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAddressBookRequest"}, + "output":{"shape":"UpdateAddressBookResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates address book details by the address book ARN.

" + }, + "UpdateBusinessReportSchedule":{ + "name":"UpdateBusinessReportSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateBusinessReportScheduleRequest"}, + "output":{"shape":"UpdateBusinessReportScheduleResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates the configuration of the report delivery schedule with the specified schedule ARN.

" + }, + "UpdateConferenceProvider":{ + "name":"UpdateConferenceProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConferenceProviderRequest"}, + "output":{"shape":"UpdateConferenceProviderResponse"}, + "errors":[ + {"shape":"NotFoundException"} + ], + "documentation":"

Updates an existing conference provider's settings.

" + }, + "UpdateContact":{ + "name":"UpdateContact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContactRequest"}, + "output":{"shape":"UpdateContactResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates the contact details by the contact ARN.

" + }, + "UpdateDevice":{ + "name":"UpdateDevice", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDeviceRequest"}, + "output":{"shape":"UpdateDeviceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DeviceNotRegisteredException"} + ], + "documentation":"

Updates the device name by device ARN.

" + }, + "UpdateGateway":{ + "name":"UpdateGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGatewayRequest"}, + "output":{"shape":"UpdateGatewayResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ], + "documentation":"

Updates the details of a gateway. If any optional field is not provided, the existing corresponding value is left unmodified.

" + }, + "UpdateGatewayGroup":{ + "name":"UpdateGatewayGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGatewayGroupRequest"}, + "output":{"shape":"UpdateGatewayGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ], + "documentation":"

Updates the details of a gateway group. If any optional field is not provided, the existing corresponding value is left unmodified.

" + }, + "UpdateNetworkProfile":{ + "name":"UpdateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNetworkProfileRequest"}, + "output":{"shape":"UpdateNetworkProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidCertificateAuthorityException"}, + {"shape":"InvalidSecretsManagerResourceException"} + ], + "documentation":"

Updates a network profile by the network profile ARN.

" + }, + "UpdateProfile":{ + "name":"UpdateProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProfileRequest"}, + "output":{"shape":"UpdateProfileResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates an existing room profile by room profile ARN.

" + }, + "UpdateRoom":{ + "name":"UpdateRoom", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRoomRequest"}, + "output":{"shape":"UpdateRoomResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"} + ], + "documentation":"

Updates room details by room ARN.

" + }, + "UpdateSkillGroup":{ + "name":"UpdateSkillGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSkillGroupRequest"}, + "output":{"shape":"UpdateSkillGroupResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"NameInUseException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates skill group details by skill group ARN.

" + } + }, + "shapes":{ + "Address":{ + "type":"string", + "max":500, + "min":1 + }, + "AddressBook":{ + "type":"structure", + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book.

" + }, + "Name":{ + "shape":"AddressBookName", + "documentation":"

The name of the address book.

" + }, + "Description":{ + "shape":"AddressBookDescription", + "documentation":"

The description of the address book.

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

An address book with attributes.

" + }, + "AddressBookData":{ + "type":"structure", + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book.

" + }, + "Name":{ + "shape":"AddressBookName", + "documentation":"

The name of the address book.

" + }, + "Description":{ + "shape":"AddressBookDescription", + "documentation":"

The description of the address book.

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

Information related to an address book.

" + }, + "AddressBookDataList":{ + "type":"list", + "member":{"shape":"AddressBookData"} + }, + "AddressBookDescription":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "AddressBookName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource being created already exists.

", + "exception":true + }, + "AmazonId":{ + "type":"string", + "pattern":"[a-zA-Z0-9]{1,18}" + }, + "ApplianceDescription":{"type":"string"}, + "ApplianceFriendlyName":{"type":"string"}, + "ApplianceManufacturerName":{"type":"string"}, + "ApproveSkillRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The unique identifier of the skill.

" + } + } + }, + "ApproveSkillResponse":{ + "type":"structure", + "members":{ + } + }, + "Arn":{ + "type":"string", + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "AssociateContactWithAddressBookRequest":{ + "type":"structure", + "required":[ + "ContactArn", + "AddressBookArn" + ], + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact to associate with an address book.

" + }, + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book with which to associate the contact.

" + } + } + }, + "AssociateContactWithAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateDeviceWithNetworkProfileRequest":{ + "type":"structure", + "required":[ + "DeviceArn", + "NetworkProfileArn" + ], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The device ARN.

" + }, + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile to associate with a device.

" + } + } + }, + "AssociateDeviceWithNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateDeviceWithRoomRequest":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device to associate to a room. Required.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room with which to associate the device. Required.

" + } + } + }, + "AssociateDeviceWithRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateSkillGroupWithRoomRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group to associate with a room. Required.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room with which to associate the skill group. Required.

" + } + } + }, + "AssociateSkillGroupWithRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateSkillWithSkillGroupRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group to associate the skill to. Required.

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

The unique identifier of the skill.

" + } + } + }, + "AssociateSkillWithSkillGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateSkillWithUsersRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The private skill ID you want to make available to enrolled users.

" + } + } + }, + "AssociateSkillWithUsersResponse":{ + "type":"structure", + "members":{ + } + }, + "Audio":{ + "type":"structure", + "required":[ + "Locale", + "Location" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the audio message. Currently, en-US is supported.

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

The location of the audio file. Currently, S3 URLs are supported. Only S3 locations comprised of safe characters are valid. For more information, see Safe Characters.

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

The audio message. There is a 1 MB limit on the audio file input and the only supported format is MP3. To convert your MP3 audio files to an Alexa-friendly,

required codec version (MPEG version 2) and bit rate (48 kbps), you might use converter software. One option for this is a command-line tool, FFmpeg. For more information, see FFmpeg. The following command converts the provided <input-file> to an MP3 file that is played in the announcement:

ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>

" + }, + "AudioList":{ + "type":"list", + "member":{"shape":"Audio"}, + "max":1 + }, + "AudioLocation":{ + "type":"string", + "max":1200, + "min":0, + "pattern":"https://([A-Za-z0-9_.-]+)?(s3-[A-Za-z0-9-]+|s3\\.([A-Za-z0-9-])+|s3|s3.dualstack\\.([A-Za-z0-9-])+)+.amazonaws.com/.*" + }, + "AuthorizationResult":{ + "type":"map", + "key":{"shape":"Key"}, + "value":{"shape":"Value"}, + "sensitive":true + }, + "Boolean":{"type":"boolean"}, + "BulletPoint":{"type":"string"}, + "BulletPoints":{ + "type":"list", + "member":{"shape":"BulletPoint"} + }, + "BusinessReport":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"BusinessReportStatus", + "documentation":"

The status of the report generation execution (RUNNING, SUCCEEDED, or FAILED).

" + }, + "FailureCode":{ + "shape":"BusinessReportFailureCode", + "documentation":"

The failure code.

" + }, + "S3Location":{ + "shape":"BusinessReportS3Location", + "documentation":"

The S3 location of the output reports.

" + }, + "DeliveryTime":{ + "shape":"BusinessReportDeliveryTime", + "documentation":"

The time of report delivery.

" + }, + "DownloadUrl":{ + "shape":"BusinessReportDownloadUrl", + "documentation":"

The download link where a user can download the report.

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

Usage report with specified parameters.

" + }, + "BusinessReportContentRange":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"BusinessReportInterval", + "documentation":"

The interval of the content range.

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

The content range of the report.

" + }, + "BusinessReportDeliveryTime":{"type":"timestamp"}, + "BusinessReportDownloadUrl":{"type":"string"}, + "BusinessReportFailureCode":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "NO_SUCH_BUCKET", + "INTERNAL_FAILURE" + ] + }, + "BusinessReportFormat":{ + "type":"string", + "enum":[ + "CSV", + "CSV_ZIP" + ] + }, + "BusinessReportInterval":{ + "type":"string", + "enum":[ + "ONE_DAY", + "ONE_WEEK", + "THIRTY_DAYS" + ] + }, + "BusinessReportRecurrence":{ + "type":"structure", + "members":{ + "StartDate":{ + "shape":"Date", + "documentation":"

The start date.

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

The recurrence of the reports.

" + }, + "BusinessReportS3Location":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"BusinessReportS3Path", + "documentation":"

The path of the business report.

" + }, + "BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports.

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

The S3 location of the output reports.

" + }, + "BusinessReportS3Path":{"type":"string"}, + "BusinessReportSchedule":{ + "type":"structure", + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + }, + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports.

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

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ContentRange":{ + "shape":"BusinessReportContentRange", + "documentation":"

The content range of the reports.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports.

" + }, + "LastBusinessReport":{ + "shape":"BusinessReport", + "documentation":"

The details of the last business report delivery for a specified time interval.

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

The schedule of the usage report.

" + }, + "BusinessReportScheduleList":{ + "type":"list", + "member":{"shape":"BusinessReportSchedule"} + }, + "BusinessReportScheduleName":{ + "type":"string", + "max":64, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "BusinessReportStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "Category":{ + "type":"structure", + "members":{ + "CategoryId":{ + "shape":"CategoryId", + "documentation":"

The ID of the skill store category.

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

The name of the skill store category.

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

The skill store category that is shown. Alexa skills are assigned a specific skill category during creation, such as News, Social, and Sports.

" + }, + "CategoryId":{ + "type":"long", + "min":1 + }, + "CategoryList":{ + "type":"list", + "member":{"shape":"Category"} + }, + "CategoryName":{"type":"string"}, + "CertificateTime":{"type":"timestamp"}, + "ClientId":{ + "type":"string", + "pattern":"^\\S+{1,256}$" + }, + "ClientRequestToken":{ + "type":"string", + "documentation":"

A unique, user-specified identifier for the request that ensures idempotency.

", + "max":150, + "min":10, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "CommsProtocol":{ + "type":"string", + "enum":[ + "SIP", + "SIPS", + "H323" + ] + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

There is a concurrent modification of resources.

", + "exception":true + }, + "ConferencePreference":{ + "type":"structure", + "members":{ + "DefaultConferenceProviderArn":{ + "shape":"Arn", + "documentation":"

The ARN of the default conference provider.

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

The default conference provider that is used if no other scheduled meetings are detected.

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

The ARN of the newly created conference provider.

" + }, + "Name":{ + "shape":"ConferenceProviderName", + "documentation":"

The name of the conference provider.

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

The type of conference providers.

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

The IP endpoint and protocol for calling.

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

The information for PSTN conferencing.

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

The meeting settings for the conference provider.

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

An entity that provides a conferencing solution. Alexa for Business acts as the voice interface and mediator that connects users to their preferred conference provider. Examples of conference providers include Amazon Chime, Zoom, Cisco, and Polycom.

" + }, + "ConferenceProviderName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "ConferenceProviderType":{ + "type":"string", + "enum":[ + "CHIME", + "BLUEJEANS", + "FUZE", + "GOOGLE_HANGOUTS", + "POLYCOM", + "RINGCENTRAL", + "SKYPE_FOR_BUSINESS", + "WEBEX", + "ZOOM", + "CUSTOM" + ] + }, + "ConferenceProvidersList":{ + "type":"list", + "member":{"shape":"ConferenceProvider"} + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "ONLINE", + "OFFLINE" + ] + }, + "ConnectionStatusUpdatedTime":{"type":"timestamp"}, + "Contact":{ + "type":"structure", + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact.

" + }, + "DisplayName":{ + "shape":"ContactName", + "documentation":"

The name of the contact to display on the console.

" + }, + "FirstName":{ + "shape":"ContactName", + "documentation":"

The first name of the contact, used to call the contact on the device.

" + }, + "LastName":{ + "shape":"ContactName", + "documentation":"

The last name of the contact, used to call the contact on the device.

" + }, + "PhoneNumber":{ + "shape":"RawPhoneNumber", + "documentation":"

The phone number of the contact. The phone number type defaults to WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.

" + }, + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The list of phone numbers for the contact.

" + }, + "SipAddresses":{ + "shape":"SipAddressList", + "documentation":"

The list of SIP addresses for the contact.

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

A contact with attributes.

" + }, + "ContactData":{ + "type":"structure", + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact.

" + }, + "DisplayName":{ + "shape":"ContactName", + "documentation":"

The name of the contact to display on the console.

" + }, + "FirstName":{ + "shape":"ContactName", + "documentation":"

The first name of the contact, used to call the contact on the device.

" + }, + "LastName":{ + "shape":"ContactName", + "documentation":"

The last name of the contact, used to call the contact on the device.

" + }, + "PhoneNumber":{ + "shape":"RawPhoneNumber", + "documentation":"

The phone number of the contact. The phone number type defaults to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.

" + }, + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The list of phone numbers for the contact.

" + }, + "SipAddresses":{ + "shape":"SipAddressList", + "documentation":"

The list of SIP addresses for the contact.

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

Information related to a contact.

" + }, + "ContactDataList":{ + "type":"list", + "member":{"shape":"ContactData"} + }, + "ContactName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "Content":{ + "type":"structure", + "members":{ + "TextList":{ + "shape":"TextList", + "documentation":"

The list of text messages.

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

The list of SSML messages.

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

The list of audio messages.

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

The content definition. This can contain only one text, SSML, or audio list object.

" + }, + "CountryCode":{ + "type":"string", + "pattern":"\\d{1,3}" + }, + "CreateAddressBookRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"AddressBookName", + "documentation":"

The name of the address book.

" + }, + "Description":{ + "shape":"AddressBookDescription", + "documentation":"

The description of the address book.

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

A unique, user-specified identifier for the request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateAddressBookResponse":{ + "type":"structure", + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created address book.

" + } + } + }, + "CreateBusinessReportScheduleRequest":{ + "type":"structure", + "required":[ + "Format", + "ContentRange" + ], + "members":{ + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 bucket name of the output reports. If this isn't specified, the report can be retrieved from a download link by calling ListBusinessReportSchedule.

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

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ContentRange":{ + "shape":"BusinessReportContentRange", + "documentation":"

The content range of the reports.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports. If this isn't specified, the report will only be delivered one time when the API is called.

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

The client request token.

", + "idempotencyToken":true + } + } + }, + "CreateBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + } + } + }, + "CreateConferenceProviderRequest":{ + "type":"structure", + "required":[ + "ConferenceProviderName", + "ConferenceProviderType", + "MeetingSetting" + ], + "members":{ + "ConferenceProviderName":{ + "shape":"ConferenceProviderName", + "documentation":"

The name of the conference provider.

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

Represents a type within a list of predefined types.

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

The IP endpoint and protocol for calling.

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

The information for PSTN conferencing.

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

The meeting settings for the conference provider.

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

The request token of the client.

", + "idempotencyToken":true + } + } + }, + "CreateConferenceProviderResponse":{ + "type":"structure", + "members":{ + "ConferenceProviderArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly-created conference provider.

" + } + } + }, + "CreateContactRequest":{ + "type":"structure", + "required":["FirstName"], + "members":{ + "DisplayName":{ + "shape":"ContactName", + "documentation":"

The name of the contact to display on the console.

" + }, + "FirstName":{ + "shape":"ContactName", + "documentation":"

The first name of the contact that is used to call the contact on the device.

" + }, + "LastName":{ + "shape":"ContactName", + "documentation":"

The last name of the contact that is used to call the contact on the device.

" + }, + "PhoneNumber":{ + "shape":"RawPhoneNumber", + "documentation":"

The phone number of the contact in E.164 format. The phone number type defaults to WORK. You can specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.

" + }, + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The list of phone numbers for the contact.

" + }, + "SipAddresses":{ + "shape":"SipAddressList", + "documentation":"

The list of SIP addresses for the contact.

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

A unique, user-specified identifier for this request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateContactResponse":{ + "type":"structure", + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created address book.

" + } + } + }, + "CreateEndOfMeetingReminder":{ + "type":"structure", + "required":[ + "ReminderAtMinutes", + "ReminderType", + "Enabled" + ], + "members":{ + "ReminderAtMinutes":{ + "shape":"EndOfMeetingReminderMinutesList", + "documentation":"

A range of 3 to 15 minutes that determines when the reminder begins.

" + }, + "ReminderType":{ + "shape":"EndOfMeetingReminderType", + "documentation":"

The type of sound that users hear during the end of meeting reminder.

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

Whether an end of meeting reminder is enabled or not.

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

Creates settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + }, + "CreateGatewayGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "ClientRequestToken" + ], + "members":{ + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

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

A unique, user-specified identifier for the request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateGatewayGroupResponse":{ + "type":"structure", + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the created gateway group.

" + } + } + }, + "CreateInstantBooking":{ + "type":"structure", + "required":[ + "DurationInMinutes", + "Enabled" + ], + "members":{ + "DurationInMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

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

Whether instant booking is enabled or not.

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

Creates settings for the instant booking feature that are applied to a room profile. When users start their meeting with Alexa, Alexa automatically books the room for the configured duration if the room is available.

" + }, + "CreateMeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{ + "shape":"Boolean", + "documentation":"

Whether room utilization metrics are enabled or not.

" + }, + "EndOfMeetingReminder":{"shape":"CreateEndOfMeetingReminder"}, + "InstantBooking":{ + "shape":"CreateInstantBooking", + "documentation":"

Settings to automatically book a room for a configured duration if it's free when joining a meeting with Alexa.

" + }, + "RequireCheckIn":{ + "shape":"CreateRequireCheckIn", + "documentation":"

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

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

Creates meeting room settings of a room profile.

" + }, + "CreateNetworkProfileRequest":{ + "type":"structure", + "required":[ + "NetworkProfileName", + "Ssid", + "SecurityType", + "ClientRequestToken" + ], + "members":{ + "NetworkProfileName":{ + "shape":"NetworkProfileName", + "documentation":"

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificates of your authentication server that is installed on your devices and used to trust your authentication server during EAP negotiation.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateNetworkProfileResponse":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, + "CreateProfileRequest":{ + "type":"structure", + "required":[ + "ProfileName", + "Timezone", + "Address", + "DistanceUnit", + "TemperatureUnit", + "WakeWord" + ], + "members":{ + "ProfileName":{ + "shape":"ProfileName", + "documentation":"

The name of a room profile.

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

The time zone used by a room profile.

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

The valid address for the room.

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

The distance unit to be used by devices in the profile.

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

The temperature unit to be used by devices in the profile.

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

A wake word for Alexa, Echo, Amazon, or a computer.

" + }, + "Locale":{ + "shape":"DeviceLocale", + "documentation":"

The locale of the room profile. (This is currently only available to a limited preview audience.)

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

The user-specified token that is used during the creation of a profile.

", + "idempotencyToken":true + }, + "SetupModeDisabled":{ + "shape":"Boolean", + "documentation":"

Whether room profile setup is enabled.

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

The maximum volume limit for a room profile.

" + }, + "PSTNEnabled":{ + "shape":"Boolean", + "documentation":"

Whether PSTN calling is enabled.

" + }, + "MeetingRoomConfiguration":{ + "shape":"CreateMeetingRoomConfiguration", + "documentation":"

The meeting room settings of a room profile.

" + } + } + }, + "CreateProfileResponse":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created room profile in the response.

" + } + } + }, + "CreateRequireCheckIn":{ + "type":"structure", + "required":[ + "ReleaseAfterMinutes", + "Enabled" + ], + "members":{ + "ReleaseAfterMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

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

Whether require check in is enabled or not.

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

Creates settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

" + }, + "CreateRoomRequest":{ + "type":"structure", + "required":["RoomName"], + "members":{ + "RoomName":{ + "shape":"RoomName", + "documentation":"

The name for the room.

" + }, + "Description":{ + "shape":"RoomDescription", + "documentation":"

The description for the room.

" + }, + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The profile ARN for the room.

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

The calendar ARN for the room.

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

A unique, user-specified identifier for this request that ensures idempotency.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the room.

" + } + } + }, + "CreateRoomResponse":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created room in the response.

" + } + } + }, + "CreateSkillGroupRequest":{ + "type":"structure", + "required":["SkillGroupName"], + "members":{ + "SkillGroupName":{ + "shape":"SkillGroupName", + "documentation":"

The name for the skill group.

" + }, + "Description":{ + "shape":"SkillGroupDescription", + "documentation":"

The description for the skill group.

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

A unique, user-specified identifier for this request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateSkillGroupResponse":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created skill group in the response.

" + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"user_UserId", + "documentation":"

The ARN for the user.

" + }, + "FirstName":{ + "shape":"user_FirstName", + "documentation":"

The first name for the user.

" + }, + "LastName":{ + "shape":"user_LastName", + "documentation":"

The last name for the user.

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

The email address for the user.

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

A unique, user-specified identifier for this request that ensures idempotency.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the user.

" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "UserArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created user in the response.

" + } + } + }, + "CurrentWiFiPassword":{ + "type":"string", + "max":128, + "min":5, + "pattern":"[\\x00-\\x7F]*", + "sensitive":true + }, + "CustomerS3BucketName":{ + "type":"string", + "pattern":"[a-z0-9-\\.]{3,63}" + }, + "Date":{ + "type":"string", + "pattern":"^\\d{4}\\-(0?[1-9]|1[012])\\-(0?[1-9]|[12][0-9]|3[01])$" + }, + "DeleteAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book to delete.

" + } + } + }, + "DeleteAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteBusinessReportScheduleRequest":{ + "type":"structure", + "required":["ScheduleArn"], + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + } + } + }, + "DeleteBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteConferenceProviderRequest":{ + "type":"structure", + "required":["ConferenceProviderArn"], + "members":{ + "ConferenceProviderArn":{ + "shape":"Arn", + "documentation":"

The ARN of the conference provider.

" + } + } + }, + "DeleteConferenceProviderResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact to delete.

" + } + } + }, + "DeleteContactResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDeviceRequest":{ + "type":"structure", + "required":["DeviceArn"], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device for which to request details.

" + } + } + }, + "DeleteDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDeviceUsageDataRequest":{ + "type":"structure", + "required":[ + "DeviceArn", + "DeviceUsageType" + ], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device.

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

The type of usage data to delete.

" + } + } + }, + "DeleteDeviceUsageDataResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to delete.

" + } + } + }, + "DeleteGatewayGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, + "DeleteNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProfileRequest":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room profile to delete. Required.

" + } + } + }, + "DeleteProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRoomRequest":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room to delete. Required.

" + } + } + }, + "DeleteRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRoomSkillParameterRequest":{ + "type":"structure", + "required":[ + "SkillId", + "ParameterKey" + ], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room from which to remove the room skill parameter details.

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

The ID of the skill from which to remove the room skill parameter details.

" + }, + "ParameterKey":{ + "shape":"RoomSkillParameterKey", + "documentation":"

The room skill parameter key for which to remove details.

" + } + } + }, + "DeleteRoomSkillParameterResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSkillAuthorizationRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The unique identifier of a skill.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room that the skill is authorized for.

" + } + } + }, + "DeleteSkillAuthorizationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSkillGroupRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group to delete. Required.

" + } + } + }, + "DeleteSkillGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":["EnrollmentId"], + "members":{ + "UserArn":{ + "shape":"Arn", + "documentation":"

The ARN of the user to delete in the organization. Required.

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

The ARN of the user's enrollment in the organization. Required.

" + } + } + }, + "DeleteUserResponse":{ + "type":"structure", + "members":{ + } + }, + "DeveloperInfo":{ + "type":"structure", + "members":{ + "DeveloperName":{ + "shape":"DeveloperName", + "documentation":"

The name of the developer.

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

The URL of the privacy policy.

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

The email of the developer.

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

The website of the developer.

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

The details about the developer that published the skill.

" + }, + "DeveloperName":{"type":"string"}, + "Device":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a device.

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

The serial number of a device.

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

The type of a device.

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

The name of a device.

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

The software version of a device.

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

The MAC address of a device.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room ARN of a device.

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

The status of a device. If the status is not READY, check the DeviceStatusInfo value for details.

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

Detailed information about a device's status.

" + }, + "NetworkProfileInfo":{ + "shape":"DeviceNetworkProfileInfo", + "documentation":"

Detailed information about a device's network profile.

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

A device with attributes.

" + }, + "DeviceData":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a device.

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

The serial number of a device.

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

The type of a device.

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

The name of a device.

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

The software version of a device.

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

The MAC address of a device.

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

The status of a device.

" + }, + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

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

The name of the network profile associated with a device.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room ARN associated with a device.

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

The name of the room associated with a device.

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

Detailed information about a device's status.

" + }, + "CreatedTime":{ + "shape":"DeviceDataCreatedTime", + "documentation":"

The time (in epoch) when the device data was created.

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

Device attributes.

" + }, + "DeviceDataCreatedTime":{"type":"timestamp"}, + "DeviceDataList":{ + "type":"list", + "member":{"shape":"DeviceData"} + }, + "DeviceEvent":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"DeviceEventType", + "documentation":"

The type of device event.

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

The value of the event.

" + }, + "Timestamp":{ + "shape":"DeviceEventTime", + "documentation":"

The time (in epoch) when the event occurred.

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

The list of device events.

" + }, + "DeviceEventList":{ + "type":"list", + "member":{"shape":"DeviceEvent"} + }, + "DeviceEventTime":{"type":"timestamp"}, + "DeviceEventType":{ + "type":"string", + "enum":[ + "CONNECTION_STATUS", + "DEVICE_STATUS" + ] + }, + "DeviceEventValue":{"type":"string"}, + "DeviceLocale":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceName":{ + "type":"string", + "max":100, + "min":2, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "DeviceNetworkProfileInfo":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + }, + "CertificateArn":{ + "shape":"Arn", + "documentation":"

The ARN of the certificate associated with a device.

" + }, + "CertificateExpirationTime":{ + "shape":"CertificateTime", + "documentation":"

The time (in epoch) when the certificate expires.

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

Detailed information about a device's network profile.

" + }, + "DeviceNotRegisteredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request failed because this device is no longer registered and therefore no longer managed by this account.

", + "exception":true + }, + "DeviceSerialNumber":{ + "type":"string", + "pattern":"[a-zA-Z0-9]{1,200}" + }, + "DeviceSerialNumberForAVS":{ + "type":"string", + "pattern":"^[a-zA-Z0-9]{1,50}$" + }, + "DeviceStatus":{ + "type":"string", + "enum":[ + "READY", + "PENDING", + "WAS_OFFLINE", + "DEREGISTERED", + "FAILED" + ] + }, + "DeviceStatusDetail":{ + "type":"structure", + "members":{ + "Feature":{ + "shape":"Feature", + "documentation":"

The list of available features on the device.

" + }, + "Code":{ + "shape":"DeviceStatusDetailCode", + "documentation":"

The device status detail code.

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

Details of a device’s status.

" + }, + "DeviceStatusDetailCode":{ + "type":"string", + "enum":[ + "DEVICE_SOFTWARE_UPDATE_NEEDED", + "DEVICE_WAS_OFFLINE", + "CREDENTIALS_ACCESS_FAILURE", + "TLS_VERSION_MISMATCH", + "ASSOCIATION_REJECTION", + "AUTHENTICATION_FAILURE", + "DHCP_FAILURE", + "INTERNET_UNAVAILABLE", + "DNS_FAILURE", + "UNKNOWN_FAILURE", + "CERTIFICATE_ISSUING_LIMIT_EXCEEDED", + "INVALID_CERTIFICATE_AUTHORITY", + "NETWORK_PROFILE_NOT_FOUND", + "INVALID_PASSWORD_STATE", + "PASSWORD_NOT_FOUND" + ] + }, + "DeviceStatusDetails":{ + "type":"list", + "member":{"shape":"DeviceStatusDetail"} + }, + "DeviceStatusInfo":{ + "type":"structure", + "members":{ + "DeviceStatusDetails":{ + "shape":"DeviceStatusDetails", + "documentation":"

One or more device status detail descriptions.

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

The latest available information about the connection status of a device.

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

The time (in epoch) when the device connection status changed.

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

Detailed information about a device's status.

" + }, + "DeviceType":{ + "type":"string", + "pattern":"[a-zA-Z0-9]{1,200}" + }, + "DeviceUsageType":{ + "type":"string", + "enum":["VOICE"] + }, + "DisassociateContactFromAddressBookRequest":{ + "type":"structure", + "required":[ + "ContactArn", + "AddressBookArn" + ], + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact to disassociate from an address book.

" + }, + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address from which to disassociate the contact.

" + } + } + }, + "DisassociateContactFromAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateDeviceFromRoomRequest":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device to disassociate from a room. Required.

" + } + } + }, + "DisassociateDeviceFromRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateSkillFromSkillGroupRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The unique identifier of a skill. Required.

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

The ARN of a skill group to associate to a skill.

" + } + } + }, + "DisassociateSkillFromSkillGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateSkillFromUsersRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The private skill ID you want to make unavailable for enrolled users.

" + } + } + }, + "DisassociateSkillFromUsersResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateSkillGroupFromRoomRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group to disassociate from a room. Required.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room from which the skill group is to be disassociated. Required.

" + } + } + }, + "DisassociateSkillGroupFromRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "DistanceUnit":{ + "type":"string", + "enum":[ + "METRIC", + "IMPERIAL" + ] + }, + "Email":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([0-9a-zA-Z]([+-.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z]([-\\w]*[0-9a-zA-Z]+)*\\.)+[a-zA-Z]{2,9})" + }, + "EnablementType":{ + "type":"string", + "enum":[ + "ENABLED", + "PENDING" + ] + }, + "EnablementTypeFilter":{ + "type":"string", + "enum":[ + "ENABLED", + "PENDING" + ] + }, + "EndOfMeetingReminder":{ + "type":"structure", + "members":{ + "ReminderAtMinutes":{ + "shape":"EndOfMeetingReminderMinutesList", + "documentation":"

A range of 3 to 15 minutes that determines when the reminder begins.

" + }, + "ReminderType":{ + "shape":"EndOfMeetingReminderType", + "documentation":"

The type of sound that users hear during the end of meeting reminder.

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

Whether an end of meeting reminder is enabled or not.

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

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + }, + "EndOfMeetingReminderMinutesList":{ + "type":"list", + "member":{"shape":"Minutes"}, + "max":1, + "min":1 + }, + "EndOfMeetingReminderType":{ + "type":"string", + "enum":[ + "ANNOUNCEMENT_TIME_CHECK", + "ANNOUNCEMENT_VARIABLE_TIME_LEFT", + "CHIME", + "KNOCK" + ] + }, + "EndUserLicenseAgreement":{"type":"string"}, + "Endpoint":{ + "type":"string", + "max":256, + "min":1 + }, + "EnrollmentId":{ + "type":"string", + "max":128, + "min":0 + }, + "EnrollmentStatus":{ + "type":"string", + "enum":[ + "INITIALIZED", + "PENDING", + "REGISTERED", + "DISASSOCIATING", + "DEREGISTERING" + ] + }, + "ErrorMessage":{"type":"string"}, + "Feature":{ + "type":"string", + "enum":[ + "BLUETOOTH", + "VOLUME", + "NOTIFICATIONS", + "LISTS", + "SKILLS", + "NETWORK_PROFILE", + "SETTINGS", + "ALL" + ] + }, + "Features":{ + "type":"list", + "member":{"shape":"Feature"} + }, + "Filter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"FilterKey", + "documentation":"

The key of a filter.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

The values of a filter.

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

A filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria.

" + }, + "FilterKey":{ + "type":"string", + "max":500, + "min":1 + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":25 + }, + "FilterValue":{ + "type":"string", + "max":500, + "min":1 + }, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "max":50 + }, + "ForgetSmartHomeAppliancesRequest":{ + "type":"structure", + "required":["RoomArn"], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room that the appliances are associated with.

" + } + } + }, + "ForgetSmartHomeAppliancesResponse":{ + "type":"structure", + "members":{ + } + }, + "Gateway":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The description of the gateway.

" + }, + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group that the gateway is associated to.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The software version of the gateway. The gateway automatically updates its software version during normal operation.

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

The details of the gateway.

" + }, + "GatewayDescription":{ + "type":"string", + "max":200, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewayGroup":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

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

The details of the gateway group.

" + }, + "GatewayGroupDescription":{ + "type":"string", + "max":200, + "min":0 + }, + "GatewayGroupName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewayGroupSummaries":{ + "type":"list", + "member":{"shape":"GatewayGroupSummary"} + }, + "GatewayGroupSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The description of the gateway group.

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

The summary of a gateway group.

" + }, + "GatewayName":{ + "type":"string", + "max":253, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "GatewaySummaries":{ + "type":"list", + "member":{"shape":"GatewaySummary"} + }, + "GatewaySummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The description of the gateway.

" + }, + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group that the gateway is associated to.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The software version of the gateway. The gateway automatically updates its software version during normal operation.

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

The summary of a gateway.

" + }, + "GatewayVersion":{ + "type":"string", + "max":50, + "min":1 + }, + "GenericKeyword":{"type":"string"}, + "GenericKeywords":{ + "type":"list", + "member":{"shape":"GenericKeyword"} + }, + "GetAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book for which to request details.

" + } + } + }, + "GetAddressBookResponse":{ + "type":"structure", + "members":{ + "AddressBook":{ + "shape":"AddressBook", + "documentation":"

The details of the requested address book.

" + } + } + }, + "GetConferencePreferenceRequest":{ + "type":"structure", + "members":{ + } + }, + "GetConferencePreferenceResponse":{ + "type":"structure", + "members":{ + "Preference":{ + "shape":"ConferencePreference", + "documentation":"

The conference preference.

" + } + } + }, + "GetConferenceProviderRequest":{ + "type":"structure", + "required":["ConferenceProviderArn"], + "members":{ + "ConferenceProviderArn":{ + "shape":"Arn", + "documentation":"

The ARN of the newly created conference provider.

" + } + } + }, + "GetConferenceProviderResponse":{ + "type":"structure", + "members":{ + "ConferenceProvider":{ + "shape":"ConferenceProvider", + "documentation":"

The conference provider.

" + } + } + }, + "GetContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact for which to request details.

" + } + } + }, + "GetContactResponse":{ + "type":"structure", + "members":{ + "Contact":{ + "shape":"Contact", + "documentation":"

The details of the requested contact.

" + } + } + }, + "GetDeviceRequest":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device for which to request details. Required.

" + } + } + }, + "GetDeviceResponse":{ + "type":"structure", + "members":{ + "Device":{ + "shape":"Device", + "documentation":"

The details of the device requested. Required.

" + } + } + }, + "GetGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to get.

" + } + } + }, + "GetGatewayGroupResponse":{ + "type":"structure", + "members":{ + "GatewayGroup":{"shape":"GatewayGroup"} + } + }, + "GetGatewayRequest":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway to get.

" + } + } + }, + "GetGatewayResponse":{ + "type":"structure", + "members":{ + "Gateway":{ + "shape":"Gateway", + "documentation":"

The details of the gateway.

" + } + } + }, + "GetInvitationConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetInvitationConfigurationResponse":{ + "type":"structure", + "members":{ + "OrganizationName":{ + "shape":"OrganizationName", + "documentation":"

The name of the organization sending the enrollment invite to a user.

" + }, + "ContactEmail":{ + "shape":"Email", + "documentation":"

The email ID of the organization or individual contact that the enrolled user can use.

" + }, + "PrivateSkillIds":{ + "shape":"ShortSkillIdList", + "documentation":"

The list of private skill IDs that you want to recommend to the user to enable in the invitation.

" + } + } + }, + "GetNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

" + } + } + }, + "GetNetworkProfileResponse":{ + "type":"structure", + "members":{ + "NetworkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile associated with a device.

" + } + } + }, + "GetProfileRequest":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room profile for which to request details. Required.

" + } + } + }, + "GetProfileResponse":{ + "type":"structure", + "members":{ + "Profile":{ + "shape":"Profile", + "documentation":"

The details of the room profile requested. Required.

" + } + } + }, + "GetRoomRequest":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room for which to request details. Required.

" + } + } + }, + "GetRoomResponse":{ + "type":"structure", + "members":{ + "Room":{ + "shape":"Room", + "documentation":"

The details of the room requested.

" + } + } + }, + "GetRoomSkillParameterRequest":{ + "type":"structure", + "required":[ + "SkillId", + "ParameterKey" + ], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room from which to get the room skill parameter details.

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

The ARN of the skill from which to get the room skill parameter details. Required.

" + }, + "ParameterKey":{ + "shape":"RoomSkillParameterKey", + "documentation":"

The room skill parameter key for which to get details. Required.

" + } + } + }, + "GetRoomSkillParameterResponse":{ + "type":"structure", + "members":{ + "RoomSkillParameter":{ + "shape":"RoomSkillParameter", + "documentation":"

The details of the room skill parameter requested. Required.

" + } + } + }, + "GetSkillGroupRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group for which to get details. Required.

" + } + } + }, + "GetSkillGroupResponse":{ + "type":"structure", + "members":{ + "SkillGroup":{ + "shape":"SkillGroup", + "documentation":"

The details of the skill group requested. Required.

" + } + } + }, + "IPDialIn":{ + "type":"structure", + "required":[ + "Endpoint", + "CommsProtocol" + ], + "members":{ + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

The IP address.

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

The protocol, including SIP, SIPS, and H323.

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

The IP endpoint and protocol for calling.

" + }, + "IconUrl":{"type":"string"}, + "InstantBooking":{ + "type":"structure", + "members":{ + "DurationInMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

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

Whether instant booking is enabled or not.

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

Settings for the instant booking feature that are applied to a room profile. When users start their meeting with Alexa, Alexa automatically books the room for the configured duration if the room is available.

" + }, + "InvalidCertificateAuthorityException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The Certificate Authority can't issue or revoke a certificate.

", + "exception":true + }, + "InvalidDeviceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The device is in an invalid state.

", + "exception":true + }, + "InvalidSecretsManagerResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A password in SecretsManager is in an invalid state.

", + "exception":true + }, + "InvalidServiceLinkedRoleStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service linked role is locked for deletion.

", + "exception":true + }, + "InvalidUserStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The attempt to update a user is invalid due to the user's current status.

", + "exception":true + }, + "InvocationPhrase":{"type":"string"}, + "Key":{ + "type":"string", + "min":1 + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You are performing an action that would put you beyond your account's limits.

", + "exception":true + }, + "ListBusinessReportSchedulesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to list the remaining schedules from the previous API call.

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

The maximum number of schedules listed in the call.

" + } + } + }, + "ListBusinessReportSchedulesResponse":{ + "type":"structure", + "members":{ + "BusinessReportSchedules":{ + "shape":"BusinessReportScheduleList", + "documentation":"

The schedule of the reports.

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

The token used to list the remaining schedules from the previous API call.

" + } + } + }, + "ListConferenceProvidersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The tokens used for pagination.

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

The maximum number of conference providers to be returned, per paginated calls.

" + } + } + }, + "ListConferenceProvidersResponse":{ + "type":"structure", + "members":{ + "ConferenceProviders":{ + "shape":"ConferenceProvidersList", + "documentation":"

The conference providers.

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

The tokens used for pagination.

" + } + } + }, + "ListDeviceEventsRequest":{ + "type":"structure", + "required":["DeviceArn"], + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a device.

" + }, + "EventType":{ + "shape":"DeviceEventType", + "documentation":"

The event type to filter device events. If EventType isn't specified, this returns a list of all device events in reverse chronological order. If EventType is specified, this returns a list of device events for that EventType in reverse chronological order.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults. When the end of results is reached, the response has a value of null.

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

The maximum number of results to include in the response. The default value is 50. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + } + }, + "ListDeviceEventsResponse":{ + "type":"structure", + "members":{ + "DeviceEvents":{ + "shape":"DeviceEventList", + "documentation":"

The device events requested for the device ARN.

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

The token returned to indicate that there is more data available.

" + } + } + }, + "ListGatewayGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token used to paginate though multiple pages of gateway group summaries.

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

The maximum number of gateway group summaries to return. The default is 50.

" + } + } + }, + "ListGatewayGroupsResponse":{ + "type":"structure", + "members":{ + "GatewayGroups":{ + "shape":"GatewayGroupSummaries", + "documentation":"

The gateway groups in the list.

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

The token used to paginate though multiple pages of gateway group summaries.

" + } + } + }, + "ListGatewaysRequest":{ + "type":"structure", + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The gateway group ARN for which to list gateways.

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

The token used to paginate though multiple pages of gateway summaries.

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

The maximum number of gateway summaries to return. The default is 50.

" + } + } + }, + "ListGatewaysResponse":{ + "type":"structure", + "members":{ + "Gateways":{ + "shape":"GatewaySummaries", + "documentation":"

The gateways in the list.

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

The token used to paginate though multiple pages of gateway summaries.

" + } + } + }, + "ListSkillsRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group for which to list enabled skills.

" + }, + "EnablementType":{ + "shape":"EnablementTypeFilter", + "documentation":"

Whether the skill is enabled under the user's account.

" + }, + "SkillType":{ + "shape":"SkillTypeFilter", + "documentation":"

Whether the skill is publicly available or is a private skill.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + }, + "MaxResults":{ + "shape":"SkillListMaxResults", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + } + }, + "ListSkillsResponse":{ + "type":"structure", + "members":{ + "SkillSummaries":{ + "shape":"SkillSummaryList", + "documentation":"

The list of enabled skills requested. Required.

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

The token returned to indicate that there is more data available.

" + } + } + }, + "ListSkillsStoreCategoriesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The tokens used for pagination.

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

The maximum number of categories returned, per paginated calls.

" + } + } + }, + "ListSkillsStoreCategoriesResponse":{ + "type":"structure", + "members":{ + "CategoryList":{ + "shape":"CategoryList", + "documentation":"

The list of categories.

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

The tokens used for pagination.

" + } + } + }, + "ListSkillsStoreSkillsByCategoryRequest":{ + "type":"structure", + "required":["CategoryId"], + "members":{ + "CategoryId":{ + "shape":"CategoryId", + "documentation":"

The category ID for which the skills are being retrieved from the skill store.

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

The tokens used for pagination.

" + }, + "MaxResults":{ + "shape":"SkillListMaxResults", + "documentation":"

The maximum number of skills returned per paginated calls.

" + } + } + }, + "ListSkillsStoreSkillsByCategoryResponse":{ + "type":"structure", + "members":{ + "SkillsStoreSkills":{ + "shape":"SkillsStoreSkillList", + "documentation":"

The skill store skills.

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

The tokens used for pagination.

" + } + } + }, + "ListSmartHomeAppliancesRequest":{ + "type":"structure", + "required":["RoomArn"], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room that the appliances are associated with.

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

The maximum number of appliances to be returned, per paginated calls.

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

The tokens used for pagination.

" + } + } + }, + "ListSmartHomeAppliancesResponse":{ + "type":"structure", + "members":{ + "SmartHomeAppliances":{ + "shape":"SmartHomeApplianceList", + "documentation":"

The smart home appliances.

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

The tokens used for pagination.

" + } + } + }, + "ListTagsRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the specified resource for which to list tags.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags requested for the specified resource.

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

The token returned to indicate that there is more data available.

" + } + } + }, + "Locale":{ + "type":"string", + "enum":["en-US"] + }, + "MacAddress":{"type":"string"}, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaxVolumeLimit":{"type":"integer"}, + "MeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{ + "shape":"Boolean", + "documentation":"

Whether room utilization metrics are enabled or not.

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

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

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

Settings to automatically book the room if available for a configured duration when joining a meeting with Alexa.

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

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into. This makes the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

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

Meeting room settings of a room profile.

" + }, + "MeetingSetting":{ + "type":"structure", + "required":["RequirePin"], + "members":{ + "RequirePin":{ + "shape":"RequirePin", + "documentation":"

The values that indicate whether the pin is always required.

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

The values that indicate whether a pin is always required (YES), never required (NO), or OPTIONAL.

  • If YES, Alexa will always ask for a meeting pin.

  • If NO, Alexa will never ask for a meeting pin.

  • If OPTIONAL, Alexa will ask if you have a meeting pin and if the customer responds with yes, it will ask for the meeting pin.

" + }, + "Minutes":{"type":"integer"}, + "NameInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The name sent in the request is already in use.

", + "exception":true + }, + "NetworkEapMethod":{ + "type":"string", + "enum":["EAP_TLS"] + }, + "NetworkProfile":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

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

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificates of your authentication server, which is installed on your devices and used to trust your authentication server during EAP negotiation.

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

The network profile associated with a device.

" + }, + "NetworkProfileData":{ + "type":"structure", + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

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

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "Ssid":{ + "shape":"NetworkSsid", + "documentation":"

The SSID of the Wi-Fi network.

" + }, + "SecurityType":{ + "shape":"NetworkSecurityType", + "documentation":"

The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE, WPA2_PSK, WPA_PSK, WEP, or OPEN.

" + }, + "EapMethod":{ + "shape":"NetworkEapMethod", + "documentation":"

The authentication standard that is used in the EAP framework. Currently, EAP_TLS is supported.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

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

The data associated with a network profile.

" + }, + "NetworkProfileDataList":{ + "type":"list", + "member":{"shape":"NetworkProfileData"} + }, + "NetworkProfileDescription":{ + "type":"string", + "max":200, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "NetworkProfileName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "NetworkSecurityType":{ + "type":"string", + "enum":[ + "OPEN", + "WEP", + "WPA_PSK", + "WPA2_PSK", + "WPA2_ENTERPRISE" + ] + }, + "NetworkSsid":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "NewInThisVersionBulletPoints":{ + "type":"list", + "member":{"shape":"BulletPoint"} + }, + "NextToken":{ + "type":"string", + "max":1100, + "min":1 + }, + "NextWiFiPassword":{ + "type":"string", + "max":128, + "min":0, + "pattern":"(^$)|([\\x00-\\x7F]{5,})", + "sensitive":true + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource is not found.

", + "exception":true + }, + "OneClickIdDelay":{ + "type":"string", + "max":2, + "min":1 + }, + "OneClickPinDelay":{ + "type":"string", + "max":2, + "min":1 + }, + "OrganizationName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "OutboundPhoneNumber":{ + "type":"string", + "pattern":"\\d{10}" + }, + "PSTNDialIn":{ + "type":"structure", + "required":[ + "CountryCode", + "PhoneNumber", + "OneClickIdDelay", + "OneClickPinDelay" + ], + "members":{ + "CountryCode":{ + "shape":"CountryCode", + "documentation":"

The zip code.

" + }, + "PhoneNumber":{ + "shape":"OutboundPhoneNumber", + "documentation":"

The phone number to call to join the conference.

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

The delay duration before Alexa enters the conference ID with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.

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

The delay duration before Alexa enters the conference pin with dual-tone multi-frequency (DTMF). Each number on the dial pad corresponds to a DTMF tone, which is how we send data over the telephone network.

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

The information for public switched telephone network (PSTN) conferencing.

" + }, + "PhoneNumber":{ + "type":"structure", + "required":[ + "Number", + "Type" + ], + "members":{ + "Number":{ + "shape":"RawPhoneNumber", + "documentation":"

The raw value of the phone number.

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

The type of the phone number.

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

The phone number for the contact containing the raw number and phone number type.

" + }, + "PhoneNumberList":{ + "type":"list", + "member":{"shape":"PhoneNumber"}, + "max":3, + "min":0 + }, + "PhoneNumberType":{ + "type":"string", + "enum":[ + "MOBILE", + "WORK", + "HOME" + ], + "sensitive":true + }, + "PrivacyPolicy":{"type":"string"}, + "ProductDescription":{"type":"string"}, + "ProductId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_]{1,256}$" + }, + "Profile":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of a room profile.

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

The name of a room profile.

" + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Retrieves if the profile is default or not.

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

The address of a room profile.

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

The time zone of a room profile.

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

The distance unit of a room profile.

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

The temperature unit of a room profile.

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

The wake word of a room profile.

" + }, + "Locale":{ + "shape":"DeviceLocale", + "documentation":"

The locale of a room profile. (This is currently available only to a limited preview audience.)

" + }, + "SetupModeDisabled":{ + "shape":"Boolean", + "documentation":"

The setup mode of a room profile.

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

The max volume limit of a room profile.

" + }, + "PSTNEnabled":{ + "shape":"Boolean", + "documentation":"

The PSTN setting of a room profile.

" + }, + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the address book.

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

Meeting room settings of a room profile.

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

A room profile with attributes.

" + }, + "ProfileData":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of a room profile.

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

The name of a room profile.

" + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Retrieves if the profile data is default or not.

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

The address of a room profile.

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

The time zone of a room profile.

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

The distance unit of a room profile.

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

The temperature unit of a room profile.

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

The wake word of a room profile.

" + }, + "Locale":{ + "shape":"DeviceLocale", + "documentation":"

The locale of a room profile. (This is currently available only to a limited preview audience.)

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

The data of a room profile.

" + }, + "ProfileDataList":{ + "type":"list", + "member":{"shape":"ProfileData"} + }, + "ProfileName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "ProviderCalendarId":{ + "type":"string", + "max":100, + "min":0 + }, + "PutConferencePreferenceRequest":{ + "type":"structure", + "required":["ConferencePreference"], + "members":{ + "ConferencePreference":{ + "shape":"ConferencePreference", + "documentation":"

The conference preference of a specific conference provider.

" + } + } + }, + "PutConferencePreferenceResponse":{ + "type":"structure", + "members":{ + } + }, + "PutInvitationConfigurationRequest":{ + "type":"structure", + "required":["OrganizationName"], + "members":{ + "OrganizationName":{ + "shape":"OrganizationName", + "documentation":"

The name of the organization sending the enrollment invite to a user.

" + }, + "ContactEmail":{ + "shape":"Email", + "documentation":"

The email ID of the organization or individual contact that the enrolled user can use.

" + }, + "PrivateSkillIds":{ + "shape":"ShortSkillIdList", + "documentation":"

The list of private skill IDs that you want to recommend to the user to enable in the invitation.

" + } + } + }, + "PutInvitationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "PutRoomSkillParameterRequest":{ + "type":"structure", + "required":[ + "SkillId", + "RoomSkillParameter" + ], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room associated with the room skill parameter. Required.

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

The ARN of the skill associated with the room skill parameter. Required.

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

The updated room skill parameter. Required.

" + } + } + }, + "PutRoomSkillParameterResponse":{ + "type":"structure", + "members":{ + } + }, + "PutSkillAuthorizationRequest":{ + "type":"structure", + "required":[ + "AuthorizationResult", + "SkillId" + ], + "members":{ + "AuthorizationResult":{ + "shape":"AuthorizationResult", + "documentation":"

The authorization result specific to OAUTH code grant output. \"Code” must be populated in the AuthorizationResult map to establish the authorization.

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

The unique identifier of a skill.

" + }, + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room that the skill is authorized for.

" + } + } + }, + "PutSkillAuthorizationResponse":{ + "type":"structure", + "members":{ + } + }, + "RawPhoneNumber":{ + "type":"string", + "max":50, + "min":0, + "pattern":"^[\\+0-9\\#\\,\\(][\\+0-9\\-\\.\\/\\(\\)\\,\\#\\s]+$", + "sensitive":true + }, + "RegisterAVSDeviceRequest":{ + "type":"structure", + "required":[ + "ClientId", + "UserCode", + "ProductId", + "DeviceSerialNumber", + "AmazonId" + ], + "members":{ + "ClientId":{ + "shape":"ClientId", + "documentation":"

The client ID of the OEM used for code-based linking authorization on an AVS device.

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

The code that is obtained after your AVS device has made a POST request to LWA as a part of the Device Authorization Request component of the OAuth code-based linking specification.

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

The product ID used to identify your AVS device during authorization.

" + }, + "DeviceSerialNumber":{ + "shape":"DeviceSerialNumberForAVS", + "documentation":"

The key generated by the OEM that uniquely identifies a specified instance of your AVS device.

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

The device type ID for your AVS device generated by Amazon when the OEM creates a new product on Amazon's Developer Console.

" + } + } + }, + "RegisterAVSDeviceResponse":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device.

" + } + } + }, + "RejectSkillRequest":{ + "type":"structure", + "required":["SkillId"], + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The unique identifier of the skill.

" + } + } + }, + "RejectSkillResponse":{ + "type":"structure", + "members":{ + } + }, + "ReleaseDate":{"type":"string"}, + "RequireCheckIn":{ + "type":"structure", + "members":{ + "ReleaseAfterMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

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

Whether require check in is enabled or not.

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

Settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

" + }, + "RequirePin":{ + "type":"string", + "enum":[ + "YES", + "NO", + "OPTIONAL" + ] + }, + "ResolveRoomRequest":{ + "type":"structure", + "required":[ + "UserId", + "SkillId" + ], + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The ARN of the user. Required.

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

The ARN of the skill that was requested. Required.

" + } + } + }, + "ResolveRoomResponse":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room from which the skill request was invoked.

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

The name of the room from which the skill request was invoked.

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

Response to get the room profile request. Required.

" + } + } + }, + "ResourceAssociatedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Another resource is associated with the resource in the request.

", + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ClientRequestToken":{"shape":"ClientRequestToken"} + }, + "documentation":"

The resource in the request is already in use.

", + "exception":true + }, + "ReviewKey":{"type":"string"}, + "ReviewValue":{"type":"string"}, + "Reviews":{ + "type":"map", + "key":{"shape":"ReviewKey"}, + "value":{"shape":"ReviewValue"} + }, + "RevokeInvitationRequest":{ + "type":"structure", + "members":{ + "UserArn":{ + "shape":"Arn", + "documentation":"

The ARN of the user for whom to revoke an enrollment invitation. Required.

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

The ARN of the enrollment invitation to revoke. Required.

" + } + } + }, + "RevokeInvitationResponse":{ + "type":"structure", + "members":{ + } + }, + "Room":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of a room.

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

The name of a room.

" + }, + "Description":{ + "shape":"RoomDescription", + "documentation":"

The description of a room.

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

The provider calendar ARN of a room.

" + }, + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The profile ARN of a room.

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

A room with attributes.

" + }, + "RoomData":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of a room.

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

The name of a room.

" + }, + "Description":{ + "shape":"RoomDescription", + "documentation":"

The description of a room.

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

The provider calendar ARN of a room.

" + }, + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The profile ARN of a room.

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

The profile name of a room.

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

The data of a room.

" + }, + "RoomDataList":{ + "type":"list", + "member":{"shape":"RoomData"} + }, + "RoomDescription":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "RoomName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "RoomSkillParameter":{ + "type":"structure", + "required":[ + "ParameterKey", + "ParameterValue" + ], + "members":{ + "ParameterKey":{ + "shape":"RoomSkillParameterKey", + "documentation":"

The parameter key of a room skill parameter. ParameterKey is an enumerated type that only takes “DEFAULT” or “SCOPE” as valid values.

" + }, + "ParameterValue":{ + "shape":"RoomSkillParameterValue", + "documentation":"

The parameter value of a room skill parameter.

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

A skill parameter associated with a room.

" + }, + "RoomSkillParameterKey":{ + "type":"string", + "max":256, + "min":1 + }, + "RoomSkillParameterValue":{ + "type":"string", + "max":512, + "min":1 + }, + "RoomSkillParameters":{ + "type":"list", + "member":{"shape":"RoomSkillParameter"} + }, + "S3KeyPrefix":{ + "type":"string", + "max":100, + "min":0, + "pattern":"[A-Za-z0-9!_\\-\\.\\*'()/]*" + }, + "SampleUtterances":{ + "type":"list", + "member":{"shape":"Utterance"} + }, + "SearchAddressBooksRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of address books. The supported filter key is AddressBookName.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of address books. The supported sort key is AddressBookName.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + } + }, + "SearchAddressBooksResponse":{ + "type":"structure", + "members":{ + "AddressBooks":{ + "shape":"AddressBookDataList", + "documentation":"

The address books that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of address books returned.

" + } + } + }, + "SearchContactsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of address books. The supported filter keys are DisplayName, FirstName, LastName, and AddressBookArns.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of contacts. The supported sort keys are DisplayName, FirstName, and LastName.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response only includes results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + } + } + }, + "SearchContactsResponse":{ + "type":"structure", + "members":{ + "Contacts":{ + "shape":"ContactDataList", + "documentation":"

The contacts that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of contacts returned.

" + } + } + }, + "SearchDevicesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of devices. Supported filter keys are DeviceName, DeviceStatus, DeviceStatusDetailCode, RoomName, DeviceType, DeviceSerialNumber, UnassociatedOnly, ConnectionStatus (ONLINE and OFFLINE), NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of devices. Supported sort keys are DeviceName, DeviceStatus, RoomName, DeviceType, DeviceSerialNumber, ConnectionStatus, NetworkProfileName, NetworkProfileArn, Feature, and FailureCode.

" + } + } + }, + "SearchDevicesResponse":{ + "type":"structure", + "members":{ + "Devices":{ + "shape":"DeviceDataList", + "documentation":"

The devices that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of devices returned.

" + } + } + }, + "SearchNetworkProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of network profiles. Valid filters are NetworkProfileName, Ssid, and SecurityType.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use to list the specified set of network profiles. Valid sort criteria includes NetworkProfileName, Ssid, and SecurityType.

" + } + } + }, + "SearchNetworkProfilesResponse":{ + "type":"structure", + "members":{ + "NetworkProfiles":{ + "shape":"NetworkProfileDataList", + "documentation":"

The network profiles that meet the specified set of filter criteria, in sort order. It is a list of NetworkProfileData objects.

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

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The total number of network profiles returned.

" + } + } + }, + "SearchProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of room profiles. Supported filter keys are ProfileName and Address. Required.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of room profiles. Supported sort keys are ProfileName and Address.

" + } + } + }, + "SearchProfilesResponse":{ + "type":"structure", + "members":{ + "Profiles":{ + "shape":"ProfileDataList", + "documentation":"

The profiles that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of room profiles returned.

" + } + } + }, + "SearchRoomsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of rooms. The supported filter keys are RoomName and ProfileName.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of rooms. The supported sort keys are RoomName and ProfileName.

" + } + } + }, + "SearchRoomsResponse":{ + "type":"structure", + "members":{ + "Rooms":{ + "shape":"RoomDataList", + "documentation":"

The rooms that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of rooms returned.

" + } + } + }, + "SearchSkillGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use to list a specified set of skill groups. The supported filter key is SkillGroupName.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the specified set of skill groups. The supported sort key is SkillGroupName.

" + } + } + }, + "SearchSkillGroupsResponse":{ + "type":"structure", + "members":{ + "SkillGroups":{ + "shape":"SkillGroupDataList", + "documentation":"

The skill groups that meet the filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of skill groups returned.

" + } + } + }, + "SearchUsersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults. Required.

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

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved. Required.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters to use for listing a specific set of users. Required. Supported filter keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

" + }, + "SortCriteria":{ + "shape":"SortList", + "documentation":"

The sort order to use in listing the filtered set of users. Required. Supported sort keys are UserId, FirstName, LastName, Email, and EnrollmentStatus.

" + } + } + }, + "SearchUsersResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserDataList", + "documentation":"

The users that meet the specified set of filter criteria, in sort order.

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

The token returned to indicate that there is more data available.

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

The total number of users returned.

" + } + } + }, + "SendAnnouncementRequest":{ + "type":"structure", + "required":[ + "RoomFilters", + "Content", + "ClientRequestToken" + ], + "members":{ + "RoomFilters":{ + "shape":"FilterList", + "documentation":"

The filters to use to send an announcement to a specified list of rooms. The supported filter keys are RoomName, ProfileName, RoomArn, and ProfileArn. To send to all rooms, specify an empty RoomFilters list.

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

The announcement content. This can contain only one of the three possible announcement types (text, SSML or audio).

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

The time to live for an announcement. Default is 300. If delivery doesn't occur within this time, the announcement is not delivered.

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

The unique, user-specified identifier for the request that ensures idempotency.

", + "idempotencyToken":true + } + } + }, + "SendAnnouncementResponse":{ + "type":"structure", + "members":{ + "AnnouncementArn":{ + "shape":"Arn", + "documentation":"

The identifier of the announcement.

" + } + } + }, + "SendInvitationRequest":{ + "type":"structure", + "members":{ + "UserArn":{ + "shape":"Arn", + "documentation":"

The ARN of the user to whom to send an invitation. Required.

" + } + } + }, + "SendInvitationResponse":{ + "type":"structure", + "members":{ + } + }, + "ShortDescription":{"type":"string"}, + "ShortSkillIdList":{ + "type":"list", + "member":{"shape":"SkillId"}, + "max":3, + "min":0 + }, + "SipAddress":{ + "type":"structure", + "required":[ + "Uri", + "Type" + ], + "members":{ + "Uri":{ + "shape":"SipUri", + "documentation":"

The URI for the SIP address.

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

The type of the SIP address.

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

The SIP address for the contact containing the URI and SIP address type.

" + }, + "SipAddressList":{ + "type":"list", + "member":{"shape":"SipAddress"}, + "max":1, + "min":0 + }, + "SipType":{ + "type":"string", + "enum":["WORK"], + "sensitive":true + }, + "SipUri":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^sip[s]?:([^@:]+)\\@([^@]+)$", + "sensitive":true + }, + "SkillDetails":{ + "type":"structure", + "members":{ + "ProductDescription":{ + "shape":"ProductDescription", + "documentation":"

The description of the product.

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

The phrase used to trigger the skill.

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

The date when the skill was released.

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

The URL of the end user license agreement.

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

The generic keywords associated with the skill that can be used to find a skill.

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

The details about what the skill supports organized as bullet points.

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

The updates added in bullet points.

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

The types of skills.

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

The list of reviews for the skill, including Key and Value pair.

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

The details about the developer that published the skill.

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

Granular information about the skill.

" + }, + "SkillGroup":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of a skill group.

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

The name of a skill group.

" + }, + "Description":{ + "shape":"SkillGroupDescription", + "documentation":"

The description of a skill group.

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

A skill group with attributes.

" + }, + "SkillGroupData":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The skill group ARN of a skill group.

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

The skill group name of a skill group.

" + }, + "Description":{ + "shape":"SkillGroupDescription", + "documentation":"

The description of a skill group.

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

The attributes of a skill group.

" + }, + "SkillGroupDataList":{ + "type":"list", + "member":{"shape":"SkillGroupData"} + }, + "SkillGroupDescription":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "SkillGroupName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "SkillId":{ + "type":"string", + "pattern":"(^amzn1\\.ask\\.skill\\.[0-9a-f\\-]{1,200})|(^amzn1\\.echo-sdk-ams\\.app\\.[0-9a-f\\-]{1,200})" + }, + "SkillListMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, + "SkillName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "SkillNotLinkedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The skill must be linked to a third-party account.

", + "exception":true + }, + "SkillStoreType":{"type":"string"}, + "SkillSummary":{ + "type":"structure", + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The ARN of the skill summary.

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

The name of the skill.

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

Linking support for a skill.

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

Whether the skill is enabled under the user's account, or if it requires linking to be used.

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

Whether the skill is publicly available or is a private skill.

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

The summary of skills.

" + }, + "SkillSummaryList":{ + "type":"list", + "member":{"shape":"SkillSummary"} + }, + "SkillType":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE" + ], + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "SkillTypeFilter":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE", + "ALL" + ] + }, + "SkillTypes":{ + "type":"list", + "member":{"shape":"SkillStoreType"} + }, + "SkillsStoreSkill":{ + "type":"structure", + "members":{ + "SkillId":{ + "shape":"SkillId", + "documentation":"

The ARN of the skill.

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

The name of the skill.

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

Short description about the skill.

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

The URL where the skill icon resides.

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

Sample utterances that interact with the skill.

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

Information about the skill.

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

Linking support for a skill.

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

The detailed information about an Alexa skill.

" + }, + "SkillsStoreSkillList":{ + "type":"list", + "member":{"shape":"SkillsStoreSkill"} + }, + "SmartHomeAppliance":{ + "type":"structure", + "members":{ + "FriendlyName":{ + "shape":"ApplianceFriendlyName", + "documentation":"

The friendly name of the smart home appliance.

" + }, + "Description":{ + "shape":"ApplianceDescription", + "documentation":"

The description of the smart home appliance.

" + }, + "ManufacturerName":{ + "shape":"ApplianceManufacturerName", + "documentation":"

The name of the manufacturer of the smart home appliance.

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

A smart home appliance that can connect to a central system. Any domestic device can be a smart appliance.

" + }, + "SmartHomeApplianceList":{ + "type":"list", + "member":{"shape":"SmartHomeAppliance"} + }, + "SoftwareVersion":{"type":"string"}, + "Sort":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"SortKey", + "documentation":"

The sort key of a sort object.

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

The sort value of a sort object.

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

An object representing a sort criteria.

" + }, + "SortKey":{ + "type":"string", + "max":500, + "min":1 + }, + "SortList":{ + "type":"list", + "member":{"shape":"Sort"}, + "max":25 + }, + "SortValue":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "Ssml":{ + "type":"structure", + "required":[ + "Locale", + "Value" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the SSML message. Currently, en-US is supported.

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

The value of the SSML message in the correct SSML format. The audio tag is not supported.

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

The SSML message. For more information, see SSML Reference.

" + }, + "SsmlList":{ + "type":"list", + "member":{"shape":"Ssml"}, + "max":1 + }, + "SsmlValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "StartDeviceSyncRequest":{ + "type":"structure", + "required":["Features"], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room with which the device to sync is associated. Required.

" + }, + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device to sync. Required.

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

Request structure to start the device sync. Required.

" + } + } + }, + "StartDeviceSyncResponse":{ + "type":"structure", + "members":{ + } + }, + "StartSmartHomeApplianceDiscoveryRequest":{ + "type":"structure", + "required":["RoomArn"], + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The room where smart home appliance discovery was initiated.

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

The key of a tag. Tag keys are case-sensitive.

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

The value of a tag. Tag values are case sensitive and can be null.

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

A key-value pair that can be associated with a resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "Tags" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource to which to add metadata tags. Required.

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

The tags to be added to the specified resource. Do not provide system tags. Required.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TemperatureUnit":{ + "type":"string", + "enum":[ + "FAHRENHEIT", + "CELSIUS" + ] + }, + "Text":{ + "type":"structure", + "required":[ + "Locale", + "Value" + ], + "members":{ + "Locale":{ + "shape":"Locale", + "documentation":"

The locale of the text message. Currently, en-US is supported.

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

The value of the text message.

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

The text message.

" + }, + "TextList":{ + "type":"list", + "member":{"shape":"Text"}, + "max":1 + }, + "TextValue":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u0085\\u00A0-\\uD7FF\\uE000-\\uFFFD\\u10000-\\u10FFFF]*" + }, + "TimeToLiveInSeconds":{ + "type":"integer", + "max":3600, + "min":1 + }, + "Timezone":{ + "type":"string", + "max":100, + "min":1 + }, + "TotalCount":{"type":"integer"}, + "TrustAnchor":{ + "type":"string", + "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)?" + }, + "TrustAnchorList":{ + "type":"list", + "member":{"shape":"TrustAnchor"}, + "max":5, + "min":1 + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The caller has no permissions to operate on the resource involved in the API call.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "TagKeys" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource from which to remove metadata tags. Required.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tags to be removed from the specified resource. Do not provide system tags. Required.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAddressBookRequest":{ + "type":"structure", + "required":["AddressBookArn"], + "members":{ + "AddressBookArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room to update.

" + }, + "Name":{ + "shape":"AddressBookName", + "documentation":"

The updated name of the room.

" + }, + "Description":{ + "shape":"AddressBookDescription", + "documentation":"

The updated description of the room.

" + } + } + }, + "UpdateAddressBookResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateBusinessReportScheduleRequest":{ + "type":"structure", + "required":["ScheduleArn"], + "members":{ + "ScheduleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the business report schedule.

" + }, + "S3BucketName":{ + "shape":"CustomerS3BucketName", + "documentation":"

The S3 location of the output reports.

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

The S3 key where the report is delivered.

" + }, + "Format":{ + "shape":"BusinessReportFormat", + "documentation":"

The format of the generated report (individual CSV files or zipped files of individual files).

" + }, + "ScheduleName":{ + "shape":"BusinessReportScheduleName", + "documentation":"

The name identifier of the schedule.

" + }, + "Recurrence":{ + "shape":"BusinessReportRecurrence", + "documentation":"

The recurrence of the reports.

" + } + } + }, + "UpdateBusinessReportScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConferenceProviderRequest":{ + "type":"structure", + "required":[ + "ConferenceProviderArn", + "ConferenceProviderType", + "MeetingSetting" + ], + "members":{ + "ConferenceProviderArn":{ + "shape":"Arn", + "documentation":"

The ARN of the conference provider.

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

The type of the conference provider.

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

The IP endpoint and protocol for calling.

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

The information for PSTN conferencing.

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

The meeting settings for the conference provider.

" + } + } + }, + "UpdateConferenceProviderResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateContactRequest":{ + "type":"structure", + "required":["ContactArn"], + "members":{ + "ContactArn":{ + "shape":"Arn", + "documentation":"

The ARN of the contact to update.

" + }, + "DisplayName":{ + "shape":"ContactName", + "documentation":"

The updated display name of the contact.

" + }, + "FirstName":{ + "shape":"ContactName", + "documentation":"

The updated first name of the contact.

" + }, + "LastName":{ + "shape":"ContactName", + "documentation":"

The updated last name of the contact.

" + }, + "PhoneNumber":{ + "shape":"RawPhoneNumber", + "documentation":"

The updated phone number of the contact. The phone number type defaults to WORK. You can either specify PhoneNumber or PhoneNumbers. We recommend that you use PhoneNumbers, which lets you specify the phone number type and multiple numbers.

" + }, + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The list of phone numbers for the contact.

" + }, + "SipAddresses":{ + "shape":"SipAddressList", + "documentation":"

The list of SIP addresses for the contact.

" + } + } + }, + "UpdateContactResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDeviceRequest":{ + "type":"structure", + "members":{ + "DeviceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the device to update. Required.

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

The updated device name. Required.

" + } + } + }, + "UpdateDeviceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateEndOfMeetingReminder":{ + "type":"structure", + "members":{ + "ReminderAtMinutes":{ + "shape":"EndOfMeetingReminderMinutesList", + "documentation":"

Updates settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + }, + "ReminderType":{ + "shape":"EndOfMeetingReminderType", + "documentation":"

The type of sound that users hear during the end of meeting reminder.

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

Whether an end of meeting reminder is enabled or not.

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

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + }, + "UpdateGatewayGroupRequest":{ + "type":"structure", + "required":["GatewayGroupArn"], + "members":{ + "GatewayGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway group to update.

" + }, + "Name":{ + "shape":"GatewayGroupName", + "documentation":"

The updated name of the gateway group.

" + }, + "Description":{ + "shape":"GatewayGroupDescription", + "documentation":"

The updated description of the gateway group.

" + } + } + }, + "UpdateGatewayGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateGatewayRequest":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{ + "shape":"Arn", + "documentation":"

The ARN of the gateway to update.

" + }, + "Name":{ + "shape":"GatewayName", + "documentation":"

The updated name of the gateway.

" + }, + "Description":{ + "shape":"GatewayDescription", + "documentation":"

The updated description of the gateway.

" + }, + "SoftwareVersion":{ + "shape":"GatewayVersion", + "documentation":"

The updated software version of the gateway. The gateway automatically updates its software version during normal operation.

" + } + } + }, + "UpdateGatewayResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateInstantBooking":{ + "type":"structure", + "members":{ + "DurationInMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 15 and 240 minutes at increments of 15 that determines how long to book an available room when a meeting is started with Alexa.

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

Whether instant booking is enabled or not.

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

Updates settings for the instant booking feature that are applied to a room profile. If instant booking is enabled, Alexa automatically reserves a room if it is free when a user joins a meeting with Alexa.

" + }, + "UpdateMeetingRoomConfiguration":{ + "type":"structure", + "members":{ + "RoomUtilizationMetricsEnabled":{ + "shape":"Boolean", + "documentation":"

Whether room utilization metrics are enabled or not.

" + }, + "EndOfMeetingReminder":{ + "shape":"UpdateEndOfMeetingReminder", + "documentation":"

Settings for the end of meeting reminder feature that are applied to a room profile. The end of meeting reminder enables Alexa to remind users when a meeting is ending.

" + }, + "InstantBooking":{ + "shape":"UpdateInstantBooking", + "documentation":"

Settings to automatically book an available room available for a configured duration when joining a meeting with Alexa.

" + }, + "RequireCheckIn":{ + "shape":"UpdateRequireCheckIn", + "documentation":"

Settings for requiring a check in when a room is reserved. Alexa can cancel a room reservation if it's not checked into to make the room available for others. Users can check in by joining the meeting with Alexa or an AVS device, or by saying “Alexa, check in.”

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

Updates meeting room settings of a room profile.

" + }, + "UpdateNetworkProfileRequest":{ + "type":"structure", + "required":["NetworkProfileArn"], + "members":{ + "NetworkProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the network profile associated with a device.

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

The name of the network profile associated with a device.

" + }, + "Description":{ + "shape":"NetworkProfileDescription", + "documentation":"

Detailed information about a device's network profile.

" + }, + "CurrentPassword":{ + "shape":"CurrentWiFiPassword", + "documentation":"

The current password of the Wi-Fi network.

" + }, + "NextPassword":{ + "shape":"NextWiFiPassword", + "documentation":"

The next, or subsequent, password of the Wi-Fi network. This password is asynchronously transmitted to the device and is used when the password of the network changes to NextPassword.

" + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

The ARN of the Private Certificate Authority (PCA) created in AWS Certificate Manager (ACM). This is used to issue certificates to the devices.

" + }, + "TrustAnchors":{ + "shape":"TrustAnchorList", + "documentation":"

The root certificate(s) of your authentication server that will be installed on your devices and used to trust your authentication server during EAP negotiation.

" + } + } + }, + "UpdateNetworkProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateProfileRequest":{ + "type":"structure", + "members":{ + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room profile to update. Required.

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

The updated name for the room profile.

" + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Sets the profile as default if selected. If this is missing, no update is done to the default status.

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

The updated timezone for the room profile.

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

The updated address for the room profile.

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

The updated distance unit for the room profile.

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

The updated temperature unit for the room profile.

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

The updated wake word for the room profile.

" + }, + "Locale":{ + "shape":"DeviceLocale", + "documentation":"

The updated locale for the room profile. (This is currently only available to a limited preview audience.)

" + }, + "SetupModeDisabled":{ + "shape":"Boolean", + "documentation":"

Whether the setup mode of the profile is enabled.

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

The updated maximum volume limit for the room profile.

" + }, + "PSTNEnabled":{ + "shape":"Boolean", + "documentation":"

Whether the PSTN setting of the room profile is enabled.

" + }, + "MeetingRoomConfiguration":{ + "shape":"UpdateMeetingRoomConfiguration", + "documentation":"

The updated meeting room settings of a room profile.

" + } + } + }, + "UpdateProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateRequireCheckIn":{ + "type":"structure", + "members":{ + "ReleaseAfterMinutes":{ + "shape":"Minutes", + "documentation":"

Duration between 5 and 20 minutes to determine when to release the room if it's not checked into.

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

Whether require check in is enabled or not.

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

Updates settings for the require check in feature that are applied to a room profile. Require check in allows a meeting room’s Alexa or AVS device to prompt the user to check in; otherwise, the room will be released.

" + }, + "UpdateRoomRequest":{ + "type":"structure", + "members":{ + "RoomArn":{ + "shape":"Arn", + "documentation":"

The ARN of the room to update.

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

The updated name for the room.

" + }, + "Description":{ + "shape":"RoomDescription", + "documentation":"

The updated description for the room.

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

The updated provider calendar ARN for the room.

" + }, + "ProfileArn":{ + "shape":"Arn", + "documentation":"

The updated profile ARN for the room.

" + } + } + }, + "UpdateRoomResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSkillGroupRequest":{ + "type":"structure", + "members":{ + "SkillGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the skill group to update.

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

The updated name for the skill group.

" + }, + "Description":{ + "shape":"SkillGroupDescription", + "documentation":"

The updated description for the skill group.

" + } + } + }, + "UpdateSkillGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "Url":{"type":"string"}, + "UserCode":{ + "type":"string", + "max":128, + "min":1 + }, + "UserData":{ + "type":"structure", + "members":{ + "UserArn":{ + "shape":"Arn", + "documentation":"

The ARN of a user.

" + }, + "FirstName":{ + "shape":"user_FirstName", + "documentation":"

The first name of a user.

" + }, + "LastName":{ + "shape":"user_LastName", + "documentation":"

The last name of a user.

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

The email of a user.

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

The enrollment status of a user.

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

The enrollment ARN of a user.

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

Information related to a user.

" + }, + "UserDataList":{ + "type":"list", + "member":{"shape":"UserData"} + }, + "UserId":{ + "type":"string", + "pattern":"amzn1\\.[A-Za-z0-9+-\\/=.]{1,300}" + }, + "Utterance":{"type":"string"}, + "Value":{ + "type":"string", + "min":1 + }, + "WakeWord":{ + "type":"string", + "enum":[ + "ALEXA", + "AMAZON", + "ECHO", + "COMPUTER" + ] + }, + "boolean":{"type":"boolean"}, + "user_FirstName":{ + "type":"string", + "max":30, + "min":0, + "pattern":"([A-Za-z\\-' 0-9._]|\\p{IsLetter})*" + }, + "user_LastName":{ + "type":"string", + "max":30, + "min":0, + "pattern":"([A-Za-z\\-' 0-9._]|\\p{IsLetter})*" + }, + "user_UserId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9@_+.-]*" + } + }, + "documentation":"

Alexa for Business helps you use Alexa in your organization. Alexa for Business provides you with the tools to manage Alexa devices, enroll your users, and assign skills, at scale. You can build your own context-aware voice skills using the Alexa Skills Kit and the Alexa for Business API operations. You can also make these available as private skills for your organization. Alexa for Business makes it efficient to voice-enable your products and services, thus providing context-aware voice experiences for your customers. Device makers building with the Alexa Voice Service (AVS) can create fully integrated solutions, register their products with Alexa for Business, and manage them as shared devices in their organization.

" +} diff -Nru python-botocore-1.4.70/botocore/data/amplify/2017-07-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/amplify/2017-07-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/amplify/2017-07-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/amplify/2017-07-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListApps": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apps" + }, + "ListBranches": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "branches" + }, + "ListDomainAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "domainAssociations" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/amplify/2017-07-25/service-2.json python-botocore-1.16.19+repack/botocore/data/amplify/2017-07-25/service-2.json --- python-botocore-1.4.70/botocore/data/amplify/2017-07-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/amplify/2017-07-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3296 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-25", + "endpointPrefix":"amplify", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amplify", + "serviceFullName":"AWS Amplify", + "serviceId":"Amplify", + "signatureVersion":"v4", + "signingName":"amplify", + "uid":"amplify-2017-07-25" + }, + "operations":{ + "CreateApp":{ + "name":"CreateApp", + "http":{ + "method":"POST", + "requestUri":"/apps" + }, + "input":{"shape":"CreateAppRequest"}, + "output":{"shape":"CreateAppResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Creates a new Amplify App.

" + }, + "CreateBackendEnvironment":{ + "name":"CreateBackendEnvironment", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/backendenvironments" + }, + "input":{"shape":"CreateBackendEnvironmentRequest"}, + "output":{"shape":"CreateBackendEnvironmentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a new backend environment for an Amplify App.

" + }, + "CreateBranch":{ + "name":"CreateBranch", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/branches" + }, + "input":{"shape":"CreateBranchRequest"}, + "output":{"shape":"CreateBranchResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Creates a new Branch for an Amplify App.

" + }, + "CreateDeployment":{ + "name":"CreateDeployment", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/branches/{branchName}/deployments" + }, + "input":{"shape":"CreateDeploymentRequest"}, + "output":{"shape":"CreateDeploymentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Create a deployment for manual deploy apps. (Apps are not connected to repository)

" + }, + "CreateDomainAssociation":{ + "name":"CreateDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/domains" + }, + "input":{"shape":"CreateDomainAssociationRequest"}, + "output":{"shape":"CreateDomainAssociationResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Create a new DomainAssociation on an App

" + }, + "CreateWebhook":{ + "name":"CreateWebhook", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/webhooks" + }, + "input":{"shape":"CreateWebhookRequest"}, + "output":{"shape":"CreateWebhookResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Create a new webhook on an App.

" + }, + "DeleteApp":{ + "name":"DeleteApp", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}" + }, + "input":{"shape":"DeleteAppRequest"}, + "output":{"shape":"DeleteAppResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Delete an existing Amplify App by appId.

" + }, + "DeleteBackendEnvironment":{ + "name":"DeleteBackendEnvironment", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}/backendenvironments/{environmentName}" + }, + "input":{"shape":"DeleteBackendEnvironmentRequest"}, + "output":{"shape":"DeleteBackendEnvironmentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Delete backend environment for an Amplify App.

" + }, + "DeleteBranch":{ + "name":"DeleteBranch", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}/branches/{branchName}" + }, + "input":{"shape":"DeleteBranchRequest"}, + "output":{"shape":"DeleteBranchResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Deletes a branch for an Amplify App.

" + }, + "DeleteDomainAssociation":{ + "name":"DeleteDomainAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}/domains/{domainName}" + }, + "input":{"shape":"DeleteDomainAssociationRequest"}, + "output":{"shape":"DeleteDomainAssociationResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Deletes a DomainAssociation.

" + }, + "DeleteJob":{ + "name":"DeleteJob", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}" + }, + "input":{"shape":"DeleteJobRequest"}, + "output":{"shape":"DeleteJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Delete a job, for an Amplify branch, part of Amplify App.

" + }, + "DeleteWebhook":{ + "name":"DeleteWebhook", + "http":{ + "method":"DELETE", + "requestUri":"/webhooks/{webhookId}" + }, + "input":{"shape":"DeleteWebhookRequest"}, + "output":{"shape":"DeleteWebhookResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Deletes a webhook.

" + }, + "GenerateAccessLogs":{ + "name":"GenerateAccessLogs", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/accesslogs" + }, + "input":{"shape":"GenerateAccessLogsRequest"}, + "output":{"shape":"GenerateAccessLogsResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieve website access logs for a specific time range via a pre-signed URL.

" + }, + "GetApp":{ + "name":"GetApp", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}" + }, + "input":{"shape":"GetAppRequest"}, + "output":{"shape":"GetAppResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves an existing Amplify App by appId.

" + }, + "GetArtifactUrl":{ + "name":"GetArtifactUrl", + "http":{ + "method":"GET", + "requestUri":"/artifacts/{artifactId}" + }, + "input":{"shape":"GetArtifactUrlRequest"}, + "output":{"shape":"GetArtifactUrlResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Retrieves artifact info that corresponds to a artifactId.

" + }, + "GetBackendEnvironment":{ + "name":"GetBackendEnvironment", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/backendenvironments/{environmentName}" + }, + "input":{"shape":"GetBackendEnvironmentRequest"}, + "output":{"shape":"GetBackendEnvironmentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves a backend environment for an Amplify App.

" + }, + "GetBranch":{ + "name":"GetBranch", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/branches/{branchName}" + }, + "input":{"shape":"GetBranchRequest"}, + "output":{"shape":"GetBranchResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves a branch for an Amplify App.

" + }, + "GetDomainAssociation":{ + "name":"GetDomainAssociation", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/domains/{domainName}" + }, + "input":{"shape":"GetDomainAssociationRequest"}, + "output":{"shape":"GetDomainAssociationResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves domain info that corresponds to an appId and domainName.

" + }, + "GetJob":{ + "name":"GetJob", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}" + }, + "input":{"shape":"GetJobRequest"}, + "output":{"shape":"GetJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Get a job for a branch, part of an Amplify App.

" + }, + "GetWebhook":{ + "name":"GetWebhook", + "http":{ + "method":"GET", + "requestUri":"/webhooks/{webhookId}" + }, + "input":{"shape":"GetWebhookRequest"}, + "output":{"shape":"GetWebhookResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Retrieves webhook info that corresponds to a webhookId.

" + }, + "ListApps":{ + "name":"ListApps", + "http":{ + "method":"GET", + "requestUri":"/apps" + }, + "input":{"shape":"ListAppsRequest"}, + "output":{"shape":"ListAppsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists existing Amplify Apps.

" + }, + "ListArtifacts":{ + "name":"ListArtifacts", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts" + }, + "input":{"shape":"ListArtifactsRequest"}, + "output":{"shape":"ListArtifactsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

List artifacts with an app, a branch, a job and an artifact type.

" + }, + "ListBackendEnvironments":{ + "name":"ListBackendEnvironments", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/backendenvironments" + }, + "input":{"shape":"ListBackendEnvironmentsRequest"}, + "output":{"shape":"ListBackendEnvironmentsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists backend environments for an Amplify App.

" + }, + "ListBranches":{ + "name":"ListBranches", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/branches" + }, + "input":{"shape":"ListBranchesRequest"}, + "output":{"shape":"ListBranchesResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists branches for an Amplify App.

" + }, + "ListDomainAssociations":{ + "name":"ListDomainAssociations", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/domains" + }, + "input":{"shape":"ListDomainAssociationsRequest"}, + "output":{"shape":"ListDomainAssociationsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

List domains with an app

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

List Jobs for a branch, part of an Amplify App.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

List tags for resource.

" + }, + "ListWebhooks":{ + "name":"ListWebhooks", + "http":{ + "method":"GET", + "requestUri":"/apps/{appId}/webhooks" + }, + "input":{"shape":"ListWebhooksRequest"}, + "output":{"shape":"ListWebhooksResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

List webhooks with an app.

" + }, + "StartDeployment":{ + "name":"StartDeployment", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/branches/{branchName}/deployments/start" + }, + "input":{"shape":"StartDeploymentRequest"}, + "output":{"shape":"StartDeploymentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Start a deployment for manual deploy apps. (Apps are not connected to repository)

" + }, + "StartJob":{ + "name":"StartJob", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs" + }, + "input":{"shape":"StartJobRequest"}, + "output":{"shape":"StartJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts a new job for a branch, part of an Amplify App.

" + }, + "StopJob":{ + "name":"StopJob", + "http":{ + "method":"DELETE", + "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop" + }, + "input":{"shape":"StopJobRequest"}, + "output":{"shape":"StopJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Stop a job that is in progress, for an Amplify branch, part of Amplify App.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Tag resource with tag key and value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Untag resource with resourceArn.

" + }, + "UpdateApp":{ + "name":"UpdateApp", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}" + }, + "input":{"shape":"UpdateAppRequest"}, + "output":{"shape":"UpdateAppResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates an existing Amplify App.

" + }, + "UpdateBranch":{ + "name":"UpdateBranch", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/branches/{branchName}" + }, + "input":{"shape":"UpdateBranchRequest"}, + "output":{"shape":"UpdateBranchResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Updates a branch for an Amplify App.

" + }, + "UpdateDomainAssociation":{ + "name":"UpdateDomainAssociation", + "http":{ + "method":"POST", + "requestUri":"/apps/{appId}/domains/{domainName}" + }, + "input":{"shape":"UpdateDomainAssociationRequest"}, + "output":{"shape":"UpdateDomainAssociationResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Create a new DomainAssociation on an App

" + }, + "UpdateWebhook":{ + "name":"UpdateWebhook", + "http":{ + "method":"POST", + "requestUri":"/webhooks/{webhookId}" + }, + "input":{"shape":"UpdateWebhookRequest"}, + "output":{"shape":"UpdateWebhookResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"DependentServiceFailureException"} + ], + "documentation":"

Update a webhook.

" + } + }, + "shapes":{ + "AccessToken":{ + "type":"string", + "max":255, + "min":1 + }, + "ActiveJobId":{ + "type":"string", + "max":1000 + }, + "App":{ + "type":"structure", + "required":[ + "appId", + "appArn", + "name", + "description", + "repository", + "platform", + "createTime", + "updateTime", + "environmentVariables", + "defaultDomain", + "enableBranchAutoBuild", + "enableBasicAuth" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for the Amplify App.

" + }, + "appArn":{ + "shape":"AppArn", + "documentation":"

ARN for the Amplify App.

" + }, + "name":{ + "shape":"Name", + "documentation":"

Name for the Amplify App.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Tag for Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for the Amplify App.

" + }, + "repository":{ + "shape":"Repository", + "documentation":"

Repository for the Amplify App.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

Platform for the Amplify App.

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

Create date / time for the Amplify App.

" + }, + "updateTime":{ + "shape":"UpdateTime", + "documentation":"

Update date / time for the Amplify App.

" + }, + "iamServiceRoleArn":{ + "shape":"ServiceRoleArn", + "documentation":"

IAM service role ARN for the Amplify App.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables for the Amplify App.

" + }, + "defaultDomain":{ + "shape":"DefaultDomain", + "documentation":"

Default domain for the Amplify App.

" + }, + "enableBranchAutoBuild":{ + "shape":"EnableBranchAutoBuild", + "documentation":"

Enables auto-building of branches for the Amplify App.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Authorization for branches for the Amplify App.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for branches for the Amplify App.

" + }, + "customRules":{ + "shape":"CustomRules", + "documentation":"

Custom redirect / rewrite rules for the Amplify App.

" + }, + "productionBranch":{ + "shape":"ProductionBranch", + "documentation":"

Structure with Production Branch information.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec content for Amplify App.

" + }, + "enableAutoBranchCreation":{ + "shape":"EnableAutoBranchCreation", + "documentation":"

Enables automated branch creation for the Amplify App.

" + }, + "autoBranchCreationPatterns":{ + "shape":"AutoBranchCreationPatterns", + "documentation":"

Automated branch creation glob patterns for the Amplify App.

" + }, + "autoBranchCreationConfig":{ + "shape":"AutoBranchCreationConfig", + "documentation":"

Automated branch creation config for the Amplify App.

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

Amplify App represents different branches of a repository for building, deploying, and hosting.

" + }, + "AppArn":{ + "type":"string", + "max":1000 + }, + "AppId":{ + "type":"string", + "max":255, + "min":1 + }, + "Apps":{ + "type":"list", + "member":{"shape":"App"} + }, + "Artifact":{ + "type":"structure", + "required":[ + "artifactFileName", + "artifactId" + ], + "members":{ + "artifactFileName":{ + "shape":"ArtifactFileName", + "documentation":"

File name for the artifact.

" + }, + "artifactId":{ + "shape":"ArtifactId", + "documentation":"

Unique Id for a artifact.

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

Structure for artifact.

" + }, + "ArtifactFileName":{ + "type":"string", + "max":1000 + }, + "ArtifactId":{ + "type":"string", + "max":255 + }, + "ArtifactUrl":{ + "type":"string", + "max":1000 + }, + "Artifacts":{ + "type":"list", + "member":{"shape":"Artifact"} + }, + "ArtifactsUrl":{ + "type":"string", + "max":1000 + }, + "AssociatedResource":{ + "type":"string", + "max":2048, + "min":1 + }, + "AssociatedResources":{ + "type":"list", + "member":{"shape":"AssociatedResource"} + }, + "AutoBranchCreationConfig":{ + "type":"structure", + "members":{ + "stage":{ + "shape":"Stage", + "documentation":"

Stage for the auto created branch.

" + }, + "framework":{ + "shape":"Framework", + "documentation":"

Framework for the auto created branch.

" + }, + "enableAutoBuild":{ + "shape":"EnableAutoBuild", + "documentation":"

Enables auto building for the auto created branch.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables for the auto created branch.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for the auto created branch.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Auth for the auto created branch.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec for the auto created branch.

" + }, + "enablePullRequestPreview":{ + "shape":"EnablePullRequestPreview", + "documentation":"

Enables Pull Request Preview for auto created branch.

" + }, + "pullRequestEnvironmentName":{ + "shape":"PullRequestEnvironmentName", + "documentation":"

The Amplify Environment name for the pull request.

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

Structure with auto branch creation config.

" + }, + "AutoBranchCreationPattern":{ + "type":"string", + "max":2048, + "min":1 + }, + "AutoBranchCreationPatterns":{ + "type":"list", + "member":{"shape":"AutoBranchCreationPattern"} + }, + "BackendEnvironment":{ + "type":"structure", + "required":[ + "backendEnvironmentArn", + "environmentName", + "createTime", + "updateTime" + ], + "members":{ + "backendEnvironmentArn":{ + "shape":"BackendEnvironmentArn", + "documentation":"

Arn for a backend environment, part of an Amplify App.

" + }, + "environmentName":{ + "shape":"EnvironmentName", + "documentation":"

Name for a backend environment, part of an Amplify App.

" + }, + "stackName":{ + "shape":"StackName", + "documentation":"

CloudFormation stack name of backend environment.

" + }, + "deploymentArtifacts":{ + "shape":"DeploymentArtifacts", + "documentation":"

Name of deployment artifacts.

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

Creation date and time for a backend environment, part of an Amplify App.

" + }, + "updateTime":{ + "shape":"UpdateTime", + "documentation":"

Last updated date and time for a backend environment, part of an Amplify App.

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

Backend environment for an Amplify App.

" + }, + "BackendEnvironmentArn":{ + "type":"string", + "max":1000, + "min":1 + }, + "BackendEnvironments":{ + "type":"list", + "member":{"shape":"BackendEnvironment"} + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when a request contains unexpected data.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BasicAuthCredentials":{ + "type":"string", + "max":2000 + }, + "Branch":{ + "type":"structure", + "required":[ + "branchArn", + "branchName", + "description", + "stage", + "displayName", + "enableNotification", + "createTime", + "updateTime", + "environmentVariables", + "enableAutoBuild", + "customDomains", + "framework", + "activeJobId", + "totalNumberOfJobs", + "enableBasicAuth", + "ttl", + "enablePullRequestPreview" + ], + "members":{ + "branchArn":{ + "shape":"BranchArn", + "documentation":"

ARN for a branch, part of an Amplify App.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch, part of an Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for a branch, part of an Amplify App.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Tag for branch for Amplify App.

" + }, + "stage":{ + "shape":"Stage", + "documentation":"

Stage for a branch, part of an Amplify App.

" + }, + "displayName":{ + "shape":"DisplayName", + "documentation":"

Display name for a branch, will use as the default domain prefix.

" + }, + "enableNotification":{ + "shape":"EnableNotification", + "documentation":"

Enables notifications for a branch, part of an Amplify App.

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

Creation date and time for a branch, part of an Amplify App.

" + }, + "updateTime":{ + "shape":"UpdateTime", + "documentation":"

Last updated date and time for a branch, part of an Amplify App.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables specific to a branch, part of an Amplify App.

" + }, + "enableAutoBuild":{ + "shape":"EnableAutoBuild", + "documentation":"

Enables auto-building on push for a branch, part of an Amplify App.

" + }, + "customDomains":{ + "shape":"CustomDomains", + "documentation":"

Custom domains for a branch, part of an Amplify App.

" + }, + "framework":{ + "shape":"Framework", + "documentation":"

Framework for a branch, part of an Amplify App.

" + }, + "activeJobId":{ + "shape":"ActiveJobId", + "documentation":"

Id of the active job for a branch, part of an Amplify App.

" + }, + "totalNumberOfJobs":{ + "shape":"TotalNumberOfJobs", + "documentation":"

Total number of Jobs part of an Amplify App.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Authorization for a branch, part of an Amplify App.

" + }, + "thumbnailUrl":{ + "shape":"ThumbnailUrl", + "documentation":"

Thumbnail URL for the branch.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for a branch, part of an Amplify App.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec content for branch for Amplify App.

" + }, + "ttl":{ + "shape":"TTL", + "documentation":"

The content TTL for the website in seconds.

" + }, + "associatedResources":{ + "shape":"AssociatedResources", + "documentation":"

List of custom resources that are linked to this branch.

" + }, + "enablePullRequestPreview":{ + "shape":"EnablePullRequestPreview", + "documentation":"

Enables Pull Request Preview for this branch.

" + }, + "pullRequestEnvironmentName":{ + "shape":"PullRequestEnvironmentName", + "documentation":"

The Amplify Environment name for the pull request.

" + }, + "destinationBranch":{ + "shape":"BranchName", + "documentation":"

The destination branch if the branch is a pull request branch.

" + }, + "sourceBranch":{ + "shape":"BranchName", + "documentation":"

The source branch if the branch is a pull request branch.

" + }, + "backendEnvironmentArn":{ + "shape":"BackendEnvironmentArn", + "documentation":"

ARN for a Backend Environment, part of an Amplify App.

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

Branch for an Amplify App, which maps to a 3rd party repository branch.

" + }, + "BranchArn":{ + "type":"string", + "max":1000 + }, + "BranchName":{ + "type":"string", + "max":255, + "min":1 + }, + "Branches":{ + "type":"list", + "member":{"shape":"Branch"}, + "max":255 + }, + "BuildSpec":{ + "type":"string", + "documentation":"

BuildSpec file for Amplify app build.

", + "max":25000, + "min":1 + }, + "CertificateVerificationDNSRecord":{ + "type":"string", + "max":1000 + }, + "Code":{"type":"string"}, + "CommitId":{ + "type":"string", + "max":255 + }, + "CommitMessage":{ + "type":"string", + "max":10000 + }, + "CommitTime":{"type":"timestamp"}, + "Condition":{ + "type":"string", + "max":2048, + "min":1 + }, + "Context":{"type":"string"}, + "CreateAppRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

Name for the Amplify App

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for an Amplify App

" + }, + "repository":{ + "shape":"Repository", + "documentation":"

Repository for an Amplify App

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

Platform / framework for an Amplify App

" + }, + "iamServiceRoleArn":{ + "shape":"ServiceRoleArn", + "documentation":"

AWS IAM service role for an Amplify App

" + }, + "oauthToken":{ + "shape":"OauthToken", + "documentation":"

OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. OAuth token is not stored.

" + }, + "accessToken":{ + "shape":"AccessToken", + "documentation":"

Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. Token is not stored.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment variables map for an Amplify App.

" + }, + "enableBranchAutoBuild":{ + "shape":"EnableBranchAutoBuild", + "documentation":"

Enable the auto building of branches for an Amplify App.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enable Basic Authorization for an Amplify App, this will apply to all branches part of this App.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Credentials for Basic Authorization for an Amplify App.

" + }, + "customRules":{ + "shape":"CustomRules", + "documentation":"

Custom rewrite / redirect rules for an Amplify App.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Tag for an Amplify App

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec for an Amplify App

" + }, + "enableAutoBranchCreation":{ + "shape":"EnableAutoBranchCreation", + "documentation":"

Enables automated branch creation for the Amplify App.

" + }, + "autoBranchCreationPatterns":{ + "shape":"AutoBranchCreationPatterns", + "documentation":"

Automated branch creation glob patterns for the Amplify App.

" + }, + "autoBranchCreationConfig":{ + "shape":"AutoBranchCreationConfig", + "documentation":"

Automated branch creation config for the Amplify App.

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

Request structure used to create Apps in Amplify.

" + }, + "CreateAppResult":{ + "type":"structure", + "required":["app"], + "members":{ + "app":{"shape":"App"} + } + }, + "CreateBackendEnvironmentRequest":{ + "type":"structure", + "required":[ + "appId", + "environmentName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "environmentName":{ + "shape":"EnvironmentName", + "documentation":"

Name for the backend environment.

" + }, + "stackName":{ + "shape":"StackName", + "documentation":"

CloudFormation stack name of backend environment.

" + }, + "deploymentArtifacts":{ + "shape":"DeploymentArtifacts", + "documentation":"

Name of deployment artifacts.

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

Request structure for a backend environment create request.

" + }, + "CreateBackendEnvironmentResult":{ + "type":"structure", + "required":["backendEnvironment"], + "members":{ + "backendEnvironment":{ + "shape":"BackendEnvironment", + "documentation":"

Backend environment structure for an amplify App.

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

Result structure for create backend environment.

" + }, + "CreateBranchRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for the branch.

" + }, + "stage":{ + "shape":"Stage", + "documentation":"

Stage for the branch.

" + }, + "framework":{ + "shape":"Framework", + "documentation":"

Framework for the branch.

" + }, + "enableNotification":{ + "shape":"EnableNotification", + "documentation":"

Enables notifications for the branch.

" + }, + "enableAutoBuild":{ + "shape":"EnableAutoBuild", + "documentation":"

Enables auto building for the branch.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables for the branch.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for the branch.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Auth for the branch.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Tag for the branch.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec for the branch.

" + }, + "ttl":{ + "shape":"TTL", + "documentation":"

The content TTL for the website in seconds.

" + }, + "displayName":{ + "shape":"DisplayName", + "documentation":"

Display name for a branch, will use as the default domain prefix.

" + }, + "enablePullRequestPreview":{ + "shape":"EnablePullRequestPreview", + "documentation":"

Enables Pull Request Preview for this branch.

" + }, + "pullRequestEnvironmentName":{ + "shape":"PullRequestEnvironmentName", + "documentation":"

The Amplify Environment name for the pull request.

" + }, + "backendEnvironmentArn":{ + "shape":"BackendEnvironmentArn", + "documentation":"

ARN for a Backend Environment, part of an Amplify App.

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

Request structure for a branch create request.

" + }, + "CreateBranchResult":{ + "type":"structure", + "required":["branch"], + "members":{ + "branch":{ + "shape":"Branch", + "documentation":"

Branch structure for an Amplify App.

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

Result structure for create branch request.

" + }, + "CreateDeploymentRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "fileMap":{ + "shape":"FileMap", + "documentation":"

Optional file map that contains file name as the key and file content md5 hash as the value. If this argument is provided, the service will generate different upload url per file. Otherwise, the service will only generate a single upload url for the zipped files.

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

Request structure for create a new deployment.

" + }, + "CreateDeploymentResult":{ + "type":"structure", + "required":[ + "fileUploadUrls", + "zipUploadUrl" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The jobId for this deployment, will supply to start deployment api.

" + }, + "fileUploadUrls":{ + "shape":"FileUploadUrls", + "documentation":"

When the fileMap argument is provided in the request, the fileUploadUrls will contain a map of file names to upload url.

" + }, + "zipUploadUrl":{ + "shape":"UploadUrl", + "documentation":"

When the fileMap argument is NOT provided. This zipUploadUrl will be returned.

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

Result structure for create a new deployment.

" + }, + "CreateDomainAssociationRequest":{ + "type":"structure", + "required":[ + "appId", + "domainName", + "subDomainSettings" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

Domain name for the Domain Association.

" + }, + "enableAutoSubDomain":{ + "shape":"EnableAutoSubDomain", + "documentation":"

Enables automated creation of Subdomains for branches. (Currently not supported)

" + }, + "subDomainSettings":{ + "shape":"SubDomainSettings", + "documentation":"

Setting structure for the Subdomain.

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

Request structure for create Domain Association request.

" + }, + "CreateDomainAssociationResult":{ + "type":"structure", + "required":["domainAssociation"], + "members":{ + "domainAssociation":{ + "shape":"DomainAssociation", + "documentation":"

Domain Association structure.

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

Result structure for the create Domain Association request.

" + }, + "CreateTime":{"type":"timestamp"}, + "CreateWebhookRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch, part of an Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for a webhook.

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

Request structure for create webhook request.

" + }, + "CreateWebhookResult":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Webhook structure.

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

Result structure for the create webhook request.

" + }, + "CustomDomain":{ + "type":"string", + "max":255 + }, + "CustomDomains":{ + "type":"list", + "member":{"shape":"CustomDomain"}, + "max":255 + }, + "CustomRule":{ + "type":"structure", + "required":[ + "source", + "target" + ], + "members":{ + "source":{ + "shape":"Source", + "documentation":"

The source pattern for a URL rewrite or redirect rule.

" + }, + "target":{ + "shape":"Target", + "documentation":"

The target pattern for a URL rewrite or redirect rule.

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

The status code for a URL rewrite or redirect rule.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

The condition for a URL rewrite or redirect rule, e.g. country code.

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

Custom rewrite / redirect rule.

" + }, + "CustomRules":{ + "type":"list", + "member":{"shape":"CustomRule"} + }, + "DNSRecord":{ + "type":"string", + "max":1000 + }, + "DefaultDomain":{ + "type":"string", + "max":1000, + "min":1 + }, + "DeleteAppRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

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

Request structure for an Amplify App delete request.

" + }, + "DeleteAppResult":{ + "type":"structure", + "required":["app"], + "members":{ + "app":{"shape":"App"} + }, + "documentation":"

Result structure for an Amplify App delete request.

" + }, + "DeleteBackendEnvironmentRequest":{ + "type":"structure", + "required":[ + "appId", + "environmentName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id of an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "environmentName":{ + "shape":"EnvironmentName", + "documentation":"

Name of a backend environment of an Amplify App.

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

Request structure for delete backend environment request.

" + }, + "DeleteBackendEnvironmentResult":{ + "type":"structure", + "required":["backendEnvironment"], + "members":{ + "backendEnvironment":{ + "shape":"BackendEnvironment", + "documentation":"

Backend environment structure for an Amplify App.

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

Result structure of a delete backend environment result.

" + }, + "DeleteBranchRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch.

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

Request structure for delete branch request.

" + }, + "DeleteBranchResult":{ + "type":"structure", + "required":["branch"], + "members":{ + "branch":{ + "shape":"Branch", + "documentation":"

Branch structure for an Amplify App.

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

Result structure for delete branch request.

" + }, + "DeleteDomainAssociationRequest":{ + "type":"structure", + "required":[ + "appId", + "domainName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain.

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

Request structure for the delete Domain Association request.

" + }, + "DeleteDomainAssociationResult":{ + "type":"structure", + "required":["domainAssociation"], + "members":{ + "domainAssociation":{"shape":"DomainAssociation"} + } + }, + "DeleteJobRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName", + "jobId" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for the Job.

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

Request structure for delete job request.

" + }, + "DeleteJobResult":{ + "type":"structure", + "required":["jobSummary"], + "members":{ + "jobSummary":{"shape":"JobSummary"} + }, + "documentation":"

Result structure for the delete job request.

" + }, + "DeleteWebhookRequest":{ + "type":"structure", + "required":["webhookId"], + "members":{ + "webhookId":{ + "shape":"WebhookId", + "documentation":"

Unique Id for a webhook.

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

Request structure for the delete webhook request.

" + }, + "DeleteWebhookResult":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Webhook structure.

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

Result structure for the delete webhook request.

" + }, + "DependentServiceFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when an operation fails due to a dependent service throwing an exception.

", + "error":{"httpStatusCode":503}, + "exception":true + }, + "DeploymentArtifacts":{ + "type":"string", + "max":1000, + "min":1 + }, + "Description":{ + "type":"string", + "max":1000 + }, + "DisplayName":{ + "type":"string", + "max":255 + }, + "DomainAssociation":{ + "type":"structure", + "required":[ + "domainAssociationArn", + "domainName", + "enableAutoSubDomain", + "domainStatus", + "statusReason", + "subDomains" + ], + "members":{ + "domainAssociationArn":{ + "shape":"DomainAssociationArn", + "documentation":"

ARN for the Domain Association.

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

Name of the domain.

" + }, + "enableAutoSubDomain":{ + "shape":"EnableAutoSubDomain", + "documentation":"

Enables automated creation of Subdomains for branches. (Currently not supported)

" + }, + "domainStatus":{ + "shape":"DomainStatus", + "documentation":"

Status fo the Domain Association.

" + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

Reason for the current status of the Domain Association.

" + }, + "certificateVerificationDNSRecord":{ + "shape":"CertificateVerificationDNSRecord", + "documentation":"

DNS Record for certificate verification.

" + }, + "subDomains":{ + "shape":"SubDomains", + "documentation":"

Subdomains for the Domain Association.

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

Structure for Domain Association, which associates a custom domain with an Amplify App.

" + }, + "DomainAssociationArn":{ + "type":"string", + "max":1000 + }, + "DomainAssociations":{ + "type":"list", + "member":{"shape":"DomainAssociation"}, + "max":255 + }, + "DomainName":{ + "type":"string", + "max":255 + }, + "DomainPrefix":{ + "type":"string", + "max":255 + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VERIFICATION", + "IN_PROGRESS", + "AVAILABLE", + "PENDING_DEPLOYMENT", + "FAILED", + "CREATING", + "REQUESTING_CERTIFICATE", + "UPDATING" + ] + }, + "EnableAutoBranchCreation":{"type":"boolean"}, + "EnableAutoBuild":{"type":"boolean"}, + "EnableAutoSubDomain":{"type":"boolean"}, + "EnableBasicAuth":{"type":"boolean"}, + "EnableBranchAutoBuild":{"type":"boolean"}, + "EnableNotification":{"type":"boolean"}, + "EnablePullRequestPreview":{"type":"boolean"}, + "EndTime":{"type":"timestamp"}, + "EnvKey":{ + "type":"string", + "max":255 + }, + "EnvValue":{ + "type":"string", + "max":1000 + }, + "EnvironmentName":{ + "type":"string", + "max":255, + "min":1 + }, + "EnvironmentVariables":{ + "type":"map", + "key":{"shape":"EnvKey"}, + "value":{"shape":"EnvValue"} + }, + "ErrorMessage":{ + "type":"string", + "max":255 + }, + "FileMap":{ + "type":"map", + "key":{"shape":"FileName"}, + "value":{"shape":"MD5Hash"} + }, + "FileName":{ + "type":"string", + "max":255 + }, + "FileUploadUrls":{ + "type":"map", + "key":{"shape":"FileName"}, + "value":{"shape":"UploadUrl"} + }, + "Framework":{ + "type":"string", + "max":255 + }, + "GenerateAccessLogsRequest":{ + "type":"structure", + "required":[ + "domainName", + "appId" + ], + "members":{ + "startTime":{ + "shape":"StartTime", + "documentation":"

The time at which the logs should start, inclusive.

" + }, + "endTime":{ + "shape":"EndTime", + "documentation":"

The time at which the logs should end, inclusive.

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

Name of the domain.

" + }, + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

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

Request structure for the generate access logs request.

" + }, + "GenerateAccessLogsResult":{ + "type":"structure", + "members":{ + "logUrl":{ + "shape":"LogUrl", + "documentation":"

Pre-signed URL for the requested access logs.

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

Result structure for the generate access logs request.

" + }, + "GetAppRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

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

Request structure for get App request.

" + }, + "GetAppResult":{ + "type":"structure", + "required":["app"], + "members":{ + "app":{"shape":"App"} + } + }, + "GetArtifactUrlRequest":{ + "type":"structure", + "required":["artifactId"], + "members":{ + "artifactId":{ + "shape":"ArtifactId", + "documentation":"

Unique Id for a artifact.

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

Request structure for the get artifact request.

" + }, + "GetArtifactUrlResult":{ + "type":"structure", + "required":[ + "artifactId", + "artifactUrl" + ], + "members":{ + "artifactId":{ + "shape":"ArtifactId", + "documentation":"

Unique Id for a artifact.

" + }, + "artifactUrl":{ + "shape":"ArtifactUrl", + "documentation":"

Presigned url for the artifact.

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

Result structure for the get artifact request.

" + }, + "GetBackendEnvironmentRequest":{ + "type":"structure", + "required":[ + "appId", + "environmentName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "environmentName":{ + "shape":"EnvironmentName", + "documentation":"

Name for the backend environment.

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

Request structure for get backend environment request.

" + }, + "GetBackendEnvironmentResult":{ + "type":"structure", + "required":["backendEnvironment"], + "members":{ + "backendEnvironment":{ + "shape":"BackendEnvironment", + "documentation":"

Backend environment structure for an an Amplify App.

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

Result structure for get backend environment result.

" + }, + "GetBranchRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch.

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

Request structure for get branch request.

" + }, + "GetBranchResult":{ + "type":"structure", + "required":["branch"], + "members":{ + "branch":{"shape":"Branch"} + } + }, + "GetDomainAssociationRequest":{ + "type":"structure", + "required":[ + "appId", + "domainName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain.

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

Request structure for the get Domain Association request.

" + }, + "GetDomainAssociationResult":{ + "type":"structure", + "required":["domainAssociation"], + "members":{ + "domainAssociation":{ + "shape":"DomainAssociation", + "documentation":"

Domain Association structure.

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

Result structure for the get Domain Association request.

" + }, + "GetJobRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName", + "jobId" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for the Job.

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

Request structure for get job request.

" + }, + "GetJobResult":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{"shape":"Job"} + } + }, + "GetWebhookRequest":{ + "type":"structure", + "required":["webhookId"], + "members":{ + "webhookId":{ + "shape":"WebhookId", + "documentation":"

Unique Id for a webhook.

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

Request structure for the get webhook request.

" + }, + "GetWebhookResult":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Webhook structure.

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

Result structure for the get webhook request.

" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when the service fails to perform an operation due to an internal issue.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Job":{ + "type":"structure", + "required":[ + "summary", + "steps" + ], + "members":{ + "summary":{ + "shape":"JobSummary", + "documentation":"

Summary for an execution job for an Amplify App.

" + }, + "steps":{ + "shape":"Steps", + "documentation":"

Execution steps for an execution job, for an Amplify App.

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

Structure for an execution job for an Amplify App.

" + }, + "JobArn":{ + "type":"string", + "max":1000 + }, + "JobId":{ + "type":"string", + "max":255 + }, + "JobReason":{ + "type":"string", + "max":255 + }, + "JobStatus":{ + "type":"string", + "enum":[ + "PENDING", + "PROVISIONING", + "RUNNING", + "FAILED", + "SUCCEED", + "CANCELLING", + "CANCELLED" + ] + }, + "JobSummaries":{ + "type":"list", + "member":{"shape":"JobSummary"} + }, + "JobSummary":{ + "type":"structure", + "required":[ + "jobArn", + "jobId", + "commitId", + "commitMessage", + "commitTime", + "startTime", + "status", + "jobType" + ], + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

Arn for the Job.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for the Job.

" + }, + "commitId":{ + "shape":"CommitId", + "documentation":"

Commit Id from 3rd party repository provider for the Job.

" + }, + "commitMessage":{ + "shape":"CommitMessage", + "documentation":"

Commit message from 3rd party repository provider for the Job.

" + }, + "commitTime":{ + "shape":"CommitTime", + "documentation":"

Commit date / time for the Job.

" + }, + "startTime":{ + "shape":"StartTime", + "documentation":"

Start date / time for the Job.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

Status for the Job.

" + }, + "endTime":{ + "shape":"EndTime", + "documentation":"

End date / time for the Job.

" + }, + "jobType":{ + "shape":"JobType", + "documentation":"

Type for the Job. \\n \"RELEASE\": Manually released from source by using StartJob API. \"RETRY\": Manually retried by using StartJob API. \"WEB_HOOK\": Automatically triggered by WebHooks.

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

Structure for the summary of a Job.

" + }, + "JobType":{ + "type":"string", + "enum":[ + "RELEASE", + "RETRY", + "MANUAL", + "WEB_HOOK" + ], + "max":10 + }, + "LastDeployTime":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when a resource could not be created because of service limits.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListAppsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for an Amplify App list request.

" + }, + "ListAppsResult":{ + "type":"structure", + "required":["apps"], + "members":{ + "apps":{ + "shape":"Apps", + "documentation":"

List of Amplify Apps.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing Apps from start. If non-null pagination token is returned in a result, then pass its value in here to list more projects.

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

Result structure for an Amplify App list request.

" + }, + "ListArtifactsRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName", + "jobId" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch, part of an Amplify App.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for an Job.

", + "location":"uri", + "locationName":"jobId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing artifacts from start. If non-null pagination token is returned in a result, then pass its value in here to list more artifacts.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for the list artifacts request.

" + }, + "ListArtifactsResult":{ + "type":"structure", + "required":["artifacts"], + "members":{ + "artifacts":{ + "shape":"Artifacts", + "documentation":"

List of artifacts.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Result structure for the list artifacts request.

" + }, + "ListBackendEnvironmentsRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "environmentName":{ + "shape":"EnvironmentName", + "documentation":"

Name of the backend environment

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing backen environments from start. If a non-null pagination token is returned in a result, then pass its value in here to list more backend environments.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for list backend environments request.

" + }, + "ListBackendEnvironmentsResult":{ + "type":"structure", + "required":["backendEnvironments"], + "members":{ + "backendEnvironments":{ + "shape":"BackendEnvironments", + "documentation":"

List of backend environments for an Amplify App.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Result structure for list backend environments result.

" + }, + "ListBranchesRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing branches from start. If a non-null pagination token is returned in a result, then pass its value in here to list more branches.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for list branches request.

" + }, + "ListBranchesResult":{ + "type":"structure", + "required":["branches"], + "members":{ + "branches":{ + "shape":"Branches", + "documentation":"

List of branches for an Amplify App.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Result structure for list branches request.

" + }, + "ListDomainAssociationsRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing Apps from start. If non-null pagination token is returned in a result, then pass its value in here to list more projects.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for the list Domain Associations request.

" + }, + "ListDomainAssociationsResult":{ + "type":"structure", + "required":["domainAssociations"], + "members":{ + "domainAssociations":{ + "shape":"DomainAssociations", + "documentation":"

List of Domain Associations.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Result structure for the list Domain Association request.

" + }, + "ListJobsRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch.

", + "location":"uri", + "locationName":"branchName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing steps from start. If a non-null pagination token is returned in a result, then pass its value in here to list more steps.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for list job request.

" + }, + "ListJobsResult":{ + "type":"structure", + "required":["jobSummaries"], + "members":{ + "jobSummaries":{ + "shape":"JobSummaries", + "documentation":"

Result structure for list job result request.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Maximum number of records to list in a single response.

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

Resource arn used to list tags.

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

Request structure used to list tags for resource.

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

Tags result for response.

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

Response for list tags.

" + }, + "ListWebhooksRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing webhooks from start. If non-null pagination token is returned in a result, then pass its value in here to list more webhooks.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

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

Request structure for the list webhooks request.

" + }, + "ListWebhooksResult":{ + "type":"structure", + "required":["webhooks"], + "members":{ + "webhooks":{ + "shape":"Webhooks", + "documentation":"

List of webhooks.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

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

Result structure for the list webhooks request.

" + }, + "LogUrl":{ + "type":"string", + "max":1000 + }, + "MD5Hash":{ + "type":"string", + "max":32 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Name":{ + "type":"string", + "max":255, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2000 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when an entity has not been found during an operation.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "OauthToken":{ + "type":"string", + "max":100 + }, + "Platform":{ + "type":"string", + "enum":["WEB"] + }, + "ProductionBranch":{ + "type":"structure", + "members":{ + "lastDeployTime":{ + "shape":"LastDeployTime", + "documentation":"

Last Deploy Time of Production Branch.

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

Status of Production Branch.

" + }, + "thumbnailUrl":{ + "shape":"ThumbnailUrl", + "documentation":"

Thumbnail URL for Production Branch.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Branch Name for Production Branch.

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

Structure with Production Branch information.

" + }, + "PullRequestEnvironmentName":{ + "type":"string", + "max":20 + }, + "Repository":{ + "type":"string", + "max":1000 + }, + "ResourceArn":{ + "type":"string", + "pattern":"^arn:aws:amplify:.*" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when an operation fails due to non-existent resource.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Screenshots":{ + "type":"map", + "key":{"shape":"ThumbnailName"}, + "value":{"shape":"ThumbnailUrl"} + }, + "ServiceRoleArn":{ + "type":"string", + "max":1000, + "min":1 + }, + "Source":{ + "type":"string", + "max":2048, + "min":1 + }, + "SourceUrl":{ + "type":"string", + "max":1000 + }, + "StackName":{ + "type":"string", + "max":255, + "min":1 + }, + "Stage":{ + "type":"string", + "enum":[ + "PRODUCTION", + "BETA", + "DEVELOPMENT", + "EXPERIMENTAL", + "PULL_REQUEST" + ] + }, + "StartDeploymentRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The job id for this deployment, generated by create deployment request.

" + }, + "sourceUrl":{ + "shape":"SourceUrl", + "documentation":"

The sourceUrl for this deployment, used when calling start deployment without create deployment. SourceUrl can be any HTTP GET url that is public accessible and downloads a single zip.

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

Request structure for start a deployment.

" + }, + "StartDeploymentResult":{ + "type":"structure", + "required":["jobSummary"], + "members":{ + "jobSummary":{ + "shape":"JobSummary", + "documentation":"

Summary for the Job.

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

Result structure for start a deployment.

" + }, + "StartJobRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName", + "jobType" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for an existing job. Required for \"RETRY\" JobType.

" + }, + "jobType":{ + "shape":"JobType", + "documentation":"

Type for the Job. Available JobTypes are: \\n \"RELEASE\": Start a new job with the latest change from the specified branch. Only available for apps that have connected to a repository. \"RETRY\": Retry an existing job. JobId is required for this type of job.

" + }, + "jobReason":{ + "shape":"JobReason", + "documentation":"

Descriptive reason for starting this job.

" + }, + "commitId":{ + "shape":"CommitId", + "documentation":"

Commit Id from 3rd party repository provider for the Job.

" + }, + "commitMessage":{ + "shape":"CommitMessage", + "documentation":"

Commit message from 3rd party repository provider for the Job.

" + }, + "commitTime":{ + "shape":"CommitTime", + "documentation":"

Commit date / time for the Job.

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

Request structure for Start job request.

" + }, + "StartJobResult":{ + "type":"structure", + "required":["jobSummary"], + "members":{ + "jobSummary":{ + "shape":"JobSummary", + "documentation":"

Summary for the Job.

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

Result structure for run job request.

" + }, + "StartTime":{"type":"timestamp"}, + "Status":{ + "type":"string", + "max":7, + "min":3 + }, + "StatusReason":{ + "type":"string", + "max":1000 + }, + "Step":{ + "type":"structure", + "required":[ + "stepName", + "startTime", + "status", + "endTime" + ], + "members":{ + "stepName":{ + "shape":"StepName", + "documentation":"

Name of the execution step.

" + }, + "startTime":{ + "shape":"StartTime", + "documentation":"

Start date/ time of the execution step.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

Status of the execution step.

" + }, + "endTime":{ + "shape":"EndTime", + "documentation":"

End date/ time of the execution step.

" + }, + "logUrl":{ + "shape":"LogUrl", + "documentation":"

URL to the logs for the execution step.

" + }, + "artifactsUrl":{ + "shape":"ArtifactsUrl", + "documentation":"

URL to the artifact for the execution step.

" + }, + "testArtifactsUrl":{ + "shape":"TestArtifactsUrl", + "documentation":"

URL to the test artifact for the execution step.

" + }, + "testConfigUrl":{ + "shape":"TestConfigUrl", + "documentation":"

URL to the test config for the execution step.

" + }, + "screenshots":{ + "shape":"Screenshots", + "documentation":"

List of screenshot URLs for the execution step, if relevant.

" + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

The reason for current step status.

" + }, + "context":{ + "shape":"Context", + "documentation":"

The context for current step, will include build image if step is build.

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

Structure for an execution step for an execution job, for an Amplify App.

" + }, + "StepName":{ + "type":"string", + "max":255 + }, + "Steps":{ + "type":"list", + "member":{"shape":"Step"} + }, + "StopJobRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName", + "jobId" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch, for the Job.

", + "location":"uri", + "locationName":"branchName" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

Unique Id for the Job.

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

Request structure for stop job request.

" + }, + "StopJobResult":{ + "type":"structure", + "required":["jobSummary"], + "members":{ + "jobSummary":{ + "shape":"JobSummary", + "documentation":"

Summary for the Job.

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

Result structure for the stop job request.

" + }, + "SubDomain":{ + "type":"structure", + "required":[ + "subDomainSetting", + "verified", + "dnsRecord" + ], + "members":{ + "subDomainSetting":{ + "shape":"SubDomainSetting", + "documentation":"

Setting structure for the Subdomain.

" + }, + "verified":{ + "shape":"Verified", + "documentation":"

Verified status of the Subdomain

" + }, + "dnsRecord":{ + "shape":"DNSRecord", + "documentation":"

DNS record for the Subdomain.

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

Subdomain for the Domain Association.

" + }, + "SubDomainSetting":{ + "type":"structure", + "required":[ + "prefix", + "branchName" + ], + "members":{ + "prefix":{ + "shape":"DomainPrefix", + "documentation":"

Prefix setting for the Subdomain.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Branch name setting for the Subdomain.

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

Setting for the Subdomain.

" + }, + "SubDomainSettings":{ + "type":"list", + "member":{"shape":"SubDomainSetting"}, + "max":255 + }, + "SubDomains":{ + "type":"list", + "member":{"shape":"SubDomain"}, + "max":255 + }, + "TTL":{ + "type":"string", + "documentation":"

The content TTL for the website in seconds.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

Resource arn used to tag resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Tags used to tag resource.

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

Request structure used to tag resource.

" + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Response for tag resource.

" + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Target":{ + "type":"string", + "max":2048, + "min":1 + }, + "TestArtifactsUrl":{ + "type":"string", + "max":1000 + }, + "TestConfigUrl":{ + "type":"string", + "max":1000 + }, + "ThumbnailName":{ + "type":"string", + "max":256 + }, + "ThumbnailUrl":{ + "type":"string", + "max":2000, + "min":1 + }, + "TotalNumberOfJobs":{ + "type":"string", + "max":1000 + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown when an operation fails due to a lack of access.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

Resource arn used to untag resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

Tag keys used to untag resource.

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

Request structure used to untag resource.

" + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Response for untag resource.

" + }, + "UpdateAppRequest":{ + "type":"structure", + "required":["appId"], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "name":{ + "shape":"Name", + "documentation":"

Name for an Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for an Amplify App.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

Platform for an Amplify App.

" + }, + "iamServiceRoleArn":{ + "shape":"ServiceRoleArn", + "documentation":"

IAM service role for an Amplify App.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables for an Amplify App.

" + }, + "enableBranchAutoBuild":{ + "shape":"EnableAutoBuild", + "documentation":"

Enables branch auto-building for an Amplify App.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Authorization for an Amplify App.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for an Amplify App.

" + }, + "customRules":{ + "shape":"CustomRules", + "documentation":"

Custom redirect / rewrite rules for an Amplify App.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec for an Amplify App.

" + }, + "enableAutoBranchCreation":{ + "shape":"EnableAutoBranchCreation", + "documentation":"

Enables automated branch creation for the Amplify App.

" + }, + "autoBranchCreationPatterns":{ + "shape":"AutoBranchCreationPatterns", + "documentation":"

Automated branch creation glob patterns for the Amplify App.

" + }, + "autoBranchCreationConfig":{ + "shape":"AutoBranchCreationConfig", + "documentation":"

Automated branch creation branchConfig for the Amplify App.

" + }, + "repository":{ + "shape":"Repository", + "documentation":"

Repository for an Amplify App

" + }, + "oauthToken":{ + "shape":"OauthToken", + "documentation":"

OAuth token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. OAuth token is not stored.

" + }, + "accessToken":{ + "shape":"AccessToken", + "documentation":"

Personal Access token for 3rd party source control system for an Amplify App, used to create webhook and read-only deploy key. Token is not stored.

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

Request structure for update App request.

" + }, + "UpdateAppResult":{ + "type":"structure", + "required":["app"], + "members":{ + "app":{ + "shape":"App", + "documentation":"

App structure for the updated App.

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

Result structure for an Amplify App update request.

" + }, + "UpdateBranchRequest":{ + "type":"structure", + "required":[ + "appId", + "branchName" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for the branch.

", + "location":"uri", + "locationName":"branchName" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for the branch.

" + }, + "framework":{ + "shape":"Framework", + "documentation":"

Framework for the branch.

" + }, + "stage":{ + "shape":"Stage", + "documentation":"

Stage for the branch.

" + }, + "enableNotification":{ + "shape":"EnableNotification", + "documentation":"

Enables notifications for the branch.

" + }, + "enableAutoBuild":{ + "shape":"EnableAutoBuild", + "documentation":"

Enables auto building for the branch.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment Variables for the branch.

" + }, + "basicAuthCredentials":{ + "shape":"BasicAuthCredentials", + "documentation":"

Basic Authorization credentials for the branch.

" + }, + "enableBasicAuth":{ + "shape":"EnableBasicAuth", + "documentation":"

Enables Basic Auth for the branch.

" + }, + "buildSpec":{ + "shape":"BuildSpec", + "documentation":"

BuildSpec for the branch.

" + }, + "ttl":{ + "shape":"TTL", + "documentation":"

The content TTL for the website in seconds.

" + }, + "displayName":{ + "shape":"DisplayName", + "documentation":"

Display name for a branch, will use as the default domain prefix.

" + }, + "enablePullRequestPreview":{ + "shape":"EnablePullRequestPreview", + "documentation":"

Enables Pull Request Preview for this branch.

" + }, + "pullRequestEnvironmentName":{ + "shape":"PullRequestEnvironmentName", + "documentation":"

The Amplify Environment name for the pull request.

" + }, + "backendEnvironmentArn":{ + "shape":"BackendEnvironmentArn", + "documentation":"

ARN for a Backend Environment, part of an Amplify App.

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

Request structure for update branch request.

" + }, + "UpdateBranchResult":{ + "type":"structure", + "required":["branch"], + "members":{ + "branch":{ + "shape":"Branch", + "documentation":"

Branch structure for an Amplify App.

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

Result structure for update branch request.

" + }, + "UpdateDomainAssociationRequest":{ + "type":"structure", + "required":[ + "appId", + "domainName", + "subDomainSettings" + ], + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

Unique Id for an Amplify App.

", + "location":"uri", + "locationName":"appId" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain.

", + "location":"uri", + "locationName":"domainName" + }, + "enableAutoSubDomain":{ + "shape":"EnableAutoSubDomain", + "documentation":"

Enables automated creation of Subdomains for branches. (Currently not supported)

" + }, + "subDomainSettings":{ + "shape":"SubDomainSettings", + "documentation":"

Setting structure for the Subdomain.

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

Request structure for update Domain Association request.

" + }, + "UpdateDomainAssociationResult":{ + "type":"structure", + "required":["domainAssociation"], + "members":{ + "domainAssociation":{ + "shape":"DomainAssociation", + "documentation":"

Domain Association structure.

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

Result structure for the update Domain Association request.

" + }, + "UpdateTime":{"type":"timestamp"}, + "UpdateWebhookRequest":{ + "type":"structure", + "required":["webhookId"], + "members":{ + "webhookId":{ + "shape":"WebhookId", + "documentation":"

Unique Id for a webhook.

", + "location":"uri", + "locationName":"webhookId" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch, part of an Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for a webhook.

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

Request structure for update webhook request.

" + }, + "UpdateWebhookResult":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Webhook structure.

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

Result structure for the update webhook request.

" + }, + "UploadUrl":{ + "type":"string", + "max":1000 + }, + "Verified":{"type":"boolean"}, + "Webhook":{ + "type":"structure", + "required":[ + "webhookArn", + "webhookId", + "webhookUrl", + "branchName", + "description", + "createTime", + "updateTime" + ], + "members":{ + "webhookArn":{ + "shape":"WebhookArn", + "documentation":"

ARN for the webhook.

" + }, + "webhookId":{ + "shape":"WebhookId", + "documentation":"

Id of the webhook.

" + }, + "webhookUrl":{ + "shape":"WebhookUrl", + "documentation":"

Url of the webhook.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

Name for a branch, part of an Amplify App.

" + }, + "description":{ + "shape":"Description", + "documentation":"

Description for a webhook.

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

Create date / time for a webhook.

" + }, + "updateTime":{ + "shape":"UpdateTime", + "documentation":"

Update date / time for a webhook.

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

Structure for webhook, which associates a webhook with an Amplify App.

" + }, + "WebhookArn":{ + "type":"string", + "max":1000 + }, + "WebhookId":{ + "type":"string", + "max":255 + }, + "WebhookUrl":{ + "type":"string", + "max":1000 + }, + "Webhooks":{ + "type":"list", + "member":{"shape":"Webhook"} + } + }, + "documentation":"

Amplify is a fully managed continuous deployment and hosting service for modern web apps.

" +} diff -Nru python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/examples-1.json python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/examples-1.json --- python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/paginators-1.json python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/paginators-1.json --- python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -47,6 +47,66 @@ "output_token": "position", "limit_key": "limit", "result_key": "items" + }, + "GetUsage": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" + }, + "GetUsagePlans": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" + }, + "GetUsagePlanKeys": { + "input_token": "position", + "output_token": "position", + "limit_key": "limit", + "result_key": "items" + }, + "GetVpcLinks": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetAuthorizers": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetDocumentationParts": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetDocumentationVersions": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetGatewayResponses": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetRequestValidators": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" + }, + "GetSdkTypes": { + "input_token": "position", + "limit_key": "limit", + "output_token": "position", + "result_key": "items" } } } diff -Nru python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/service-2.json python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/service-2.json --- python-botocore-1.4.70/botocore/data/apigateway/2015-07-09/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigateway/2015-07-09/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"apigateway", "protocol":"rest-json", "serviceFullName":"Amazon API Gateway", - "signatureVersion":"v4" + "serviceId":"API Gateway", + "signatureVersion":"v4", + "uid":"apigateway-2015-07-09" }, "operations":{ "CreateApiKey":{ @@ -25,7 +27,7 @@ {"shape":"BadRequestException"}, {"shape":"ConflictException"} ], - "documentation":"

Create an ApiKey resource.

" + "documentation":"

Create an ApiKey resource.

" }, "CreateAuthorizer":{ "name":"CreateAuthorizer", @@ -43,7 +45,7 @@ {"shape":"LimitExceededException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Adds a new Authorizer resource to an existing RestApi resource.

" + "documentation":"

Adds a new Authorizer resource to an existing RestApi resource.

" }, "CreateBasePathMapping":{ "name":"CreateBasePathMapping", @@ -83,6 +85,42 @@ ], "documentation":"

Creates a Deployment resource, which makes a specified RestApi callable over the internet.

" }, + "CreateDocumentationPart":{ + "name":"CreateDocumentationPart", + "http":{ + "method":"POST", + "requestUri":"/restapis/{restapi_id}/documentation/parts", + "responseCode":201 + }, + "input":{"shape":"CreateDocumentationPartRequest"}, + "output":{"shape":"DocumentationPart"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "CreateDocumentationVersion":{ + "name":"CreateDocumentationVersion", + "http":{ + "method":"POST", + "requestUri":"/restapis/{restapi_id}/documentation/versions", + "responseCode":201 + }, + "input":{"shape":"CreateDocumentationVersionRequest"}, + "output":{"shape":"DocumentationVersion"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ] + }, "CreateDomainName":{ "name":"CreateDomainName", "http":{ @@ -119,6 +157,24 @@ ], "documentation":"

Adds a new Model resource to an existing RestApi resource.

" }, + "CreateRequestValidator":{ + "name":"CreateRequestValidator", + "http":{ + "method":"POST", + "requestUri":"/restapis/{restapi_id}/requestvalidators", + "responseCode":201 + }, + "input":{"shape":"CreateRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a ReqeustValidator of a given RestApi.

" + }, "CreateResource":{ "name":"CreateResource", "http":{ @@ -188,7 +244,8 @@ {"shape":"UnauthorizedException"}, {"shape":"TooManyRequestsException"}, {"shape":"LimitExceededException"}, - {"shape":"ConflictException"} + {"shape":"ConflictException"}, + {"shape":"NotFoundException"} ], "documentation":"

Creates a usage plan with the throttle and quota limits, as well as the associated API stages, specified in the payload.

" }, @@ -210,6 +267,22 @@ ], "documentation":"

Creates a usage plan key for adding an existing API key to a usage plan.

" }, + "CreateVpcLink":{ + "name":"CreateVpcLink", + "http":{ + "method":"POST", + "requestUri":"/vpclinks", + "responseCode":202 + }, + "input":{"shape":"CreateVpcLinkRequest"}, + "output":{"shape":"VpcLink"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

" + }, "DeleteApiKey":{ "name":"DeleteApiKey", "http":{ @@ -240,7 +313,7 @@ {"shape":"BadRequestException"}, {"shape":"ConflictException"} ], - "documentation":"

Deletes an existing Authorizer resource.

" + "documentation":"

Deletes an existing Authorizer resource.

" }, "DeleteBasePathMapping":{ "name":"DeleteBasePathMapping", @@ -253,6 +326,8 @@ "errors":[ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"}, {"shape":"TooManyRequestsException"} ], "documentation":"

Deletes the BasePathMapping resource.

" @@ -289,6 +364,38 @@ ], "documentation":"

Deletes a Deployment resource. Deleting a deployment will only succeed if there are no Stage resources associated with it.

" }, + "DeleteDocumentationPart":{ + "name":"DeleteDocumentationPart", + "http":{ + "method":"DELETE", + "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}", + "responseCode":202 + }, + "input":{"shape":"DeleteDocumentationPartRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteDocumentationVersion":{ + "name":"DeleteDocumentationVersion", + "http":{ + "method":"DELETE", + "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}", + "responseCode":202 + }, + "input":{"shape":"DeleteDocumentationVersionRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"TooManyRequestsException"} + ] + }, "DeleteDomainName":{ "name":"DeleteDomainName", "http":{ @@ -300,10 +407,28 @@ "errors":[ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} ], "documentation":"

Deletes the DomainName resource.

" }, + "DeleteGatewayResponse":{ + "name":"DeleteGatewayResponse", + "http":{ + "method":"DELETE", + "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}", + "responseCode":202 + }, + "input":{"shape":"DeleteGatewayResponseRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

" + }, "DeleteIntegration":{ "name":"DeleteIntegration", "http":{ @@ -387,6 +512,23 @@ ], "documentation":"

Deletes a model.

" }, + "DeleteRequestValidator":{ + "name":"DeleteRequestValidator", + "http":{ + "method":"DELETE", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}", + "responseCode":202 + }, + "input":{"shape":"DeleteRequestValidatorRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes a RequestValidator of a given RestApi.

" + }, "DeleteResource":{ "name":"DeleteResource", "http":{ @@ -469,6 +611,22 @@ ], "documentation":"

Deletes a usage plan key and remove the underlying API key from the associated usage plan.

" }, + "DeleteVpcLink":{ + "name":"DeleteVpcLink", + "http":{ + "method":"DELETE", + "requestUri":"/vpclinks/{vpclink_id}", + "responseCode":202 + }, + "input":{"shape":"DeleteVpcLinkRequest"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes an existing VpcLink of a specified identifier.

" + }, "FlushStageAuthorizersCache":{ "name":"FlushStageAuthorizersCache", "http":{ @@ -575,7 +733,7 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Describe an existing Authorizer resource.

" + "documentation":"

Describe an existing Authorizer resource.

" }, "GetAuthorizers":{ "name":"GetAuthorizers", @@ -591,7 +749,7 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Describe an existing Authorizers resource.

" + "documentation":"

Describe an existing Authorizers resource.

" }, "GetBasePathMapping":{ "name":"GetBasePathMapping", @@ -685,6 +843,64 @@ ], "documentation":"

Gets information about a Deployments collection.

" }, + "GetDocumentationPart":{ + "name":"GetDocumentationPart", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}" + }, + "input":{"shape":"GetDocumentationPartRequest"}, + "output":{"shape":"DocumentationPart"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "GetDocumentationParts":{ + "name":"GetDocumentationParts", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/documentation/parts" + }, + "input":{"shape":"GetDocumentationPartsRequest"}, + "output":{"shape":"DocumentationParts"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "GetDocumentationVersion":{ + "name":"GetDocumentationVersion", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}" + }, + "input":{"shape":"GetDocumentationVersionRequest"}, + "output":{"shape":"DocumentationVersion"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "GetDocumentationVersions":{ + "name":"GetDocumentationVersions", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/documentation/versions" + }, + "input":{"shape":"GetDocumentationVersionsRequest"}, + "output":{"shape":"DocumentationVersions"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetDomainName":{ "name":"GetDomainName", "http":{ @@ -729,10 +945,42 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, {"shape":"TooManyRequestsException"} ], "documentation":"

Exports a deployed version of a RestApi in a specified format.

" }, + "GetGatewayResponse":{ + "name":"GetGatewayResponse", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}" + }, + "input":{"shape":"GetGatewayResponseRequest"}, + "output":{"shape":"GatewayResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets a GatewayResponse of a specified response type on the given RestApi.

" + }, + "GetGatewayResponses":{ + "name":"GetGatewayResponses", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/gatewayresponses" + }, + "input":{"shape":"GetGatewayResponsesRequest"}, + "output":{"shape":"GatewayResponses"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

" + }, "GetIntegration":{ "name":"GetIntegration", "http":{ @@ -746,7 +994,7 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Represents a get integration.

" + "documentation":"

Get the integration settings.

" }, "GetIntegrationResponse":{ "name":"GetIntegrationResponse", @@ -840,6 +1088,37 @@ ], "documentation":"

Describes existing Models defined for a RestApi resource.

" }, + "GetRequestValidator":{ + "name":"GetRequestValidator", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}" + }, + "input":{"shape":"GetRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets a RequestValidator of a given RestApi.

" + }, + "GetRequestValidators":{ + "name":"GetRequestValidators", + "http":{ + "method":"GET", + "requestUri":"/restapis/{restapi_id}/requestvalidators" + }, + "input":{"shape":"GetRequestValidatorsRequest"}, + "output":{"shape":"RequestValidators"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets the RequestValidators collection of a given RestApi.

" + }, "GetResource":{ "name":"GetResource", "http":{ @@ -914,10 +1193,38 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, {"shape":"TooManyRequestsException"} ], "documentation":"

Generates a client SDK for a RestApi and Stage.

" }, + "GetSdkType":{ + "name":"GetSdkType", + "http":{ + "method":"GET", + "requestUri":"/sdktypes/{sdktype_id}" + }, + "input":{"shape":"GetSdkTypeRequest"}, + "output":{"shape":"SdkType"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "GetSdkTypes":{ + "name":"GetSdkTypes", + "http":{ + "method":"GET", + "requestUri":"/sdktypes" + }, + "input":{"shape":"GetSdkTypesRequest"}, + "output":{"shape":"SdkTypes"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetStage":{ "name":"GetStage", "http":{ @@ -948,6 +1255,23 @@ ], "documentation":"

Gets information about one or more Stage resources.

" }, + "GetTags":{ + "name":"GetTags", + "http":{ + "method":"GET", + "requestUri":"/tags/{resource_arn}" + }, + "input":{"shape":"GetTagsRequest"}, + "output":{"shape":"Tags"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Gets the Tags collection for a given resource.

" + }, "GetUsage":{ "name":"GetUsage", "http":{ @@ -1025,10 +1349,41 @@ {"shape":"BadRequestException"}, {"shape":"UnauthorizedException"}, {"shape":"TooManyRequestsException"}, - {"shape":"ConflictException"} + {"shape":"ConflictException"}, + {"shape":"NotFoundException"} ], "documentation":"

Gets all the usage plans of the caller's account.

" }, + "GetVpcLink":{ + "name":"GetVpcLink", + "http":{ + "method":"GET", + "requestUri":"/vpclinks/{vpclink_id}" + }, + "input":{"shape":"GetVpcLinkRequest"}, + "output":{"shape":"VpcLink"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets a specified VPC link under the caller's account in a region.

" + }, + "GetVpcLinks":{ + "name":"GetVpcLinks", + "http":{ + "method":"GET", + "requestUri":"/vpclinks" + }, + "input":{"shape":"GetVpcLinksRequest"}, + "output":{"shape":"VpcLinks"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Gets the VpcLinks collection under the caller's account in a selected region.

" + }, "ImportApiKeys":{ "name":"ImportApiKeys", "http":{ @@ -1048,6 +1403,22 @@ ], "documentation":"

Import API keys from an external source, such as a CSV-formatted file.

" }, + "ImportDocumentationParts":{ + "name":"ImportDocumentationParts", + "http":{ + "method":"PUT", + "requestUri":"/restapis/{restapi_id}/documentation/parts" + }, + "input":{"shape":"ImportDocumentationPartsRequest"}, + "output":{"shape":"DocumentationPartIds"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ] + }, "ImportRestApi":{ "name":"ImportRestApi", "http":{ @@ -1064,13 +1435,31 @@ {"shape":"TooManyRequestsException"}, {"shape":"ConflictException"} ], - "documentation":"

A feature of the Amazon API Gateway control service for creating a new API from an external API definition file.

" + "documentation":"

A feature of the API Gateway control service for creating a new API from an external API definition file.

" }, - "PutIntegration":{ - "name":"PutIntegration", + "PutGatewayResponse":{ + "name":"PutGatewayResponse", "http":{ "method":"PUT", - "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", + "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}", + "responseCode":201 + }, + "input":{"shape":"PutGatewayResponseRequest"}, + "output":{"shape":"GatewayResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

" + }, + "PutIntegration":{ + "name":"PutIntegration", + "http":{ + "method":"PUT", + "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration", "responseCode":201 }, "input":{"shape":"PutIntegrationRequest"}, @@ -1082,7 +1471,7 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Represents a put integration.

" + "documentation":"

Sets up a method's integration.

" }, "PutIntegrationResponse":{ "name":"PutIntegrationResponse", @@ -1157,7 +1546,25 @@ {"shape":"TooManyRequestsException"}, {"shape":"ConflictException"} ], - "documentation":"

A feature of the Amazon API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.

" + "documentation":"

A feature of the API Gateway control service for updating an existing API with an input of external API definitions. The update can take the form of merging the supplied definition into the existing API or overwriting the existing API.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"PUT", + "requestUri":"/tags/{resource_arn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Adds or updates a tag on a given resource.

" }, "TestInvokeAuthorizer":{ "name":"TestInvokeAuthorizer", @@ -1173,7 +1580,7 @@ {"shape":"NotFoundException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.

" + "documentation":"

Simulate the execution of an Authorizer in your RestApi with headers, parameters, and an incoming request body.

" }, "TestInvokeMethod":{ "name":"TestInvokeMethod", @@ -1191,6 +1598,23 @@ ], "documentation":"

Simulate the execution of a Method in your RestApi with headers, parameters, and an incoming request body.

" }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resource_arn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Removes a tag from a given resource.

" + }, "UpdateAccount":{ "name":"UpdateAccount", "http":{ @@ -1238,7 +1662,7 @@ {"shape":"BadRequestException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Updates an existing Authorizer resource.

" + "documentation":"

Updates an existing Authorizer resource.

" }, "UpdateBasePathMapping":{ "name":"UpdateBasePathMapping", @@ -1290,6 +1714,39 @@ ], "documentation":"

Changes information about a Deployment resource.

" }, + "UpdateDocumentationPart":{ + "name":"UpdateDocumentationPart", + "http":{ + "method":"PATCH", + "requestUri":"/restapis/{restapi_id}/documentation/parts/{part_id}" + }, + "input":{"shape":"UpdateDocumentationPartRequest"}, + "output":{"shape":"DocumentationPart"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "UpdateDocumentationVersion":{ + "name":"UpdateDocumentationVersion", + "http":{ + "method":"PATCH", + "requestUri":"/restapis/{restapi_id}/documentation/versions/{doc_version}" + }, + "input":{"shape":"UpdateDocumentationVersionRequest"}, + "output":{"shape":"DocumentationVersion"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ] + }, "UpdateDomainName":{ "name":"UpdateDomainName", "http":{ @@ -1307,6 +1764,22 @@ ], "documentation":"

Changes information about the DomainName resource.

" }, + "UpdateGatewayResponse":{ + "name":"UpdateGatewayResponse", + "http":{ + "method":"PATCH", + "requestUri":"/restapis/{restapi_id}/gatewayresponses/{response_type}" + }, + "input":{"shape":"UpdateGatewayResponseRequest"}, + "output":{"shape":"GatewayResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates a GatewayResponse of a specified response type on the given RestApi.

" + }, "UpdateIntegration":{ "name":"UpdateIntegration", "http":{ @@ -1394,6 +1867,22 @@ ], "documentation":"

Changes information about a model.

" }, + "UpdateRequestValidator":{ + "name":"UpdateRequestValidator", + "http":{ + "method":"PATCH", + "requestUri":"/restapis/{restapi_id}/requestvalidators/{requestvalidator_id}" + }, + "input":{"shape":"UpdateRequestValidatorRequest"}, + "output":{"shape":"RequestValidator"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates a RequestValidator of a given RestApi.

" + }, "UpdateResource":{ "name":"UpdateResource", "http":{ @@ -1459,7 +1948,7 @@ {"shape":"BadRequestException"}, {"shape":"NotFoundException"} ], - "documentation":"

Grants a temporary extension to the reamining quota of a usage plan associated with a specified API key.

" + "documentation":"

Grants a temporary extension to the remaining quota of a usage plan associated with a specified API key.

" }, "UpdateUsagePlan":{ "name":"UpdateUsagePlan", @@ -1477,9 +1966,40 @@ {"shape":"ConflictException"} ], "documentation":"

Updates a usage plan of a given plan Id.

" + }, + "UpdateVpcLink":{ + "name":"UpdateVpcLink", + "http":{ + "method":"PATCH", + "requestUri":"/vpclinks/{vpclink_id}" + }, + "input":{"shape":"UpdateVpcLinkRequest"}, + "output":{"shape":"VpcLink"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates an existing VpcLink of a specified identifier.

" } }, "shapes":{ + "AccessLogSettings":{ + "type":"structure", + "members":{ + "format":{ + "shape":"String", + "documentation":"

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

" + }, + "destinationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-.

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

Access log settings, including the access log format and access log destination ARN.

" + }, "Account":{ "type":"structure", "members":{ @@ -1500,7 +2020,7 @@ "documentation":"

The version of the API keys used for the account.

" } }, - "documentation":"

Represents an AWS account that is associated with Amazon API Gateway.

To view the account info, call GET on this resource.

Error Codes

The following exception may be thrown when the request fails.

  • UnauthorizedException
  • NotFoundException
  • TooManyRequestsException

For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes

Example: Get the information about an account.

Request
GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html\", \"name\": \"account\", \"templated\": true }, \"self\": { \"href\": \"/account\" }, \"account:update\": { \"href\": \"/account\" } }, \"cloudwatchRoleArn\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"throttleSettings\": { \"rateLimit\": 500, \"burstLimit\": 1000 } } 

In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.

" + "documentation":"

Represents an AWS account that is associated with API Gateway.

To view the account info, call GET on this resource.

Error Codes

The following exception may be thrown when the request fails.

  • UnauthorizedException
  • NotFoundException
  • TooManyRequestsException

For detailed error code information, including the corresponding HTTP Status Codes, see API Gateway Error Codes

Example: Get the information about an account.

Request
GET /account HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160531T184618Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/account-apigateway-{rel}.html\", \"name\": \"account\", \"templated\": true }, \"self\": { \"href\": \"/account\" }, \"account:update\": { \"href\": \"/account\" } }, \"cloudwatchRoleArn\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"throttleSettings\": { \"rateLimit\": 500, \"burstLimit\": 1000 } } 

In addition to making the REST API call directly, you can use the AWS CLI and an AWS SDK to access this resource.

" }, "ApiKey":{ "type":"structure", @@ -1517,6 +2037,10 @@ "shape":"String", "documentation":"

The name of the API Key.

" }, + "customerId":{ + "shape":"String", + "documentation":"

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

" + }, "description":{ "shape":"String", "documentation":"

The description of the API Key.

" @@ -1527,18 +2051,22 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the API Key was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the API Key was created.

" }, "lastUpdatedDate":{ "shape":"Timestamp", - "documentation":"

When the API Key was last updated, in ISO 8601 format.

" + "documentation":"

The timestamp when the API Key was last updated.

" }, "stageKeys":{ "shape":"ListOfString", "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" } }, - "documentation":"

A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.

" + "documentation":"

A resource that can be distributed to callers for executing Method resources that require an API key. API keys can be mapped to any Stage on any RestApi, which indicates that the callers with the API key can make requests to that stage.

" }, "ApiKeyIds":{ "type":"structure", @@ -1552,7 +2080,14 @@ "documentation":"

A list of warning messages.

" } }, - "documentation":"

The identifier of an API key used to reference an API key in a usage plan.

" + "documentation":"

The identifier of an ApiKey used in a UsagePlan.

" + }, + "ApiKeySourceType":{ + "type":"string", + "enum":[ + "HEADER", + "AUTHORIZER" + ] }, "ApiKeys":{ "type":"structure", @@ -1564,11 +2099,11 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfApiKey", - "documentation":"

The current page of any ApiKey resources in the collection of ApiKey resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of API keys as represented by an ApiKeys resource.

" + "documentation":"

Represents a collection of API keys as represented by an ApiKeys resource.

" }, "ApiKeysFormat":{ "type":"string", @@ -1584,6 +2119,10 @@ "stage":{ "shape":"String", "documentation":"

API stage name of the associated API stage in a usage plan.

" + }, + "throttle":{ + "shape":"MapOfApiStageThrottleSettings", + "documentation":"

Map containing method level throttling information for API stage in a usage plan.

" } }, "documentation":"

API stage name of the associated API stage in a usage plan.

" @@ -1601,44 +2140,45 @@ }, "type":{ "shape":"AuthorizerType", - "documentation":"

[Required] The type of the authorizer. Currently, the only valid type is TOKEN.

" + "documentation":"

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

" }, "providerARNs":{ "shape":"ListOfARNs", - "documentation":"

A list of the provider ARNs of the authorizer.

" + "documentation":"

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

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

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

" + "documentation":"

Optional customer-defined field, used in OpenAPI imports and exports without functional impact.

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

[Required] Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN authorizers, this must be a well-formed Lambda function URI. The URI should be of the form arn:aws:apigateway:{region}:lambda:path/{service_api}. Region is used to determine the right endpoint. In this case, path is used to indicate that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations

" + "documentation":"

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

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

Specifies the credentials required for the authorizer, if any. Two options are available. To specify an IAM role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

" + "documentation":"

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

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

[Required] The source of the identity in an incoming request. For TOKEN authorizers, this value is a mapping expression with the same syntax as integration parameter mappings. The only valid source for tokens is 'header', so the expression should match 'method.request.header.[headerName]'. The value of the header '[headerName]' will be interpreted as the incoming token.

" + "documentation":"

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

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

A validation expression for the incoming identity. For TOKEN authorizers, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.

" + "documentation":"

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

" }, "authorizerResultTtlInSeconds":{ "shape":"NullableInteger", - "documentation":"

The TTL in seconds of cached authorizer results. If greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

" + "documentation":"

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

" } }, - "documentation":"

Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.

" + "documentation":"

Represents an authorization layer for methods. If enabled on a method, API Gateway will activate the authorizer when a client calls the method.

" }, "AuthorizerType":{ "type":"string", - "documentation":"

The authorizer type. the only current value is TOKEN.

", + "documentation":"

The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

", "enum":[ "TOKEN", + "REQUEST", "COGNITO_USER_POOLS" ] }, @@ -1648,17 +2188,18 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfAuthorizer", - "documentation":"

Gets the current list of Authorizer resources in the collection.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of Authorizer resources.

" + "documentation":"

Represents a collection of Authorizer resources.

" }, "BadRequestException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, + "documentation":"

The submitted request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -1671,14 +2212,14 @@ }, "restApiId":{ "shape":"String", - "documentation":"

The name of the API.

" + "documentation":"

The string identifier of the associated RestApi.

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

The name of the API's stage.

" + "documentation":"

The name of the associated stage.

" } }, - "documentation":"

Represents the base path that callers of the API must provide as part of the URL after the domain name.

A custom domain name plus a BasePathMapping specification identifies a deployed RestApi in a given stage of the owner Account.
" + "documentation":"

Represents the base path that callers of the API must provide as part of the URL after the domain name.

A custom domain name plus a BasePathMapping specification identifies a deployed RestApi in a given stage of the owner Account.
" }, "BasePathMappings":{ "type":"structure", @@ -1686,11 +2227,11 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfBasePathMapping", - "documentation":"

The current page of any BasePathMapping resources in the collection of base path mapping resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of BasePathMapping resources.

" + "documentation":"

Represents a collection of BasePathMapping resources.

" }, "Blob":{"type":"blob"}, "Boolean":{"type":"boolean"}, @@ -1719,6 +2260,28 @@ "FLUSH_IN_PROGRESS" ] }, + "CanarySettings":{ + "type":"structure", + "members":{ + "percentTraffic":{ + "shape":"Double", + "documentation":"

The percent (0-100) of traffic diverted to a canary deployment.

" + }, + "deploymentId":{ + "shape":"String", + "documentation":"

The ID of the canary deployment.

" + }, + "stageVariableOverrides":{ + "shape":"MapOfStringToString", + "documentation":"

Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. These stage variables are represented as a string-to-string map between stage variable names and their values.

" + }, + "useStageCache":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether the canary deployment uses the stage cache or not.

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

Configuration settings of a canary deployment.

" + }, "ClientCertificate":{ "type":"structure", "members":{ @@ -1736,14 +2299,18 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the client certificate was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the client certificate was created.

" }, "expirationDate":{ "shape":"Timestamp", - "documentation":"

The date when the client certificate will expire, in ISO 8601 format.

" + "documentation":"

The timestamp when the client certificate will expire.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" } }, - "documentation":"

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used authenticate an API by the back-end server. To authenticate an API client (or user), use a custom Authorizer.
" + "documentation":"

Represents a client certificate used to configure client-side SSL authentication while sending requests to the integration endpoint.

Client certificates are used to authenticate an API by the backend server. To authenticate an API client (or user), use IAM roles and policies, a custom Authorizer or an Amazon Cognito user pool.
" }, "ClientCertificates":{ "type":"structure", @@ -1751,20 +2318,35 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfClientCertificate", - "documentation":"

The current page of any ClientCertificate resources in the collection of ClientCertificate resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of ClientCertificate resources.

" + "documentation":"

Represents a collection of ClientCertificate resources.

" }, "ConflictException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, + "documentation":"

The request configuration has conflicts. For details, see the accompanying error message.

", "error":{"httpStatusCode":409}, "exception":true }, + "ConnectionType":{ + "type":"string", + "enum":[ + "INTERNET", + "VPC_LINK" + ] + }, + "ContentHandlingStrategy":{ + "type":"string", + "enum":[ + "CONVERT_TO_BINARY", + "CONVERT_TO_TEXT" + ] + }, "CreateApiKeyRequest":{ "type":"structure", "members":{ @@ -1782,7 +2364,7 @@ }, "generateDistinctId":{ "shape":"Boolean", - "documentation":"

Specifies whether (true) or not (false) the key identifier is distinct from the created API key value.

" + "documentation":"

Specifies whether (true) or not (false) the key identifier is distinct from the created API key value. This parameter is deprecated and should not be used.

" }, "value":{ "shape":"String", @@ -1791,6 +2373,14 @@ "stageKeys":{ "shape":"ListOfStageKeys", "documentation":"

DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.

" + }, + "customerId":{ + "shape":"String", + "documentation":"

An AWS Marketplace customer identifier , when integrating with the AWS SaaS Marketplace.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" } }, "documentation":"

Request to create an ApiKey resource.

" @@ -1800,13 +2390,12 @@ "required":[ "restApiId", "name", - "type", - "identitySource" + "type" ], "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier under which the Authorizer will be created.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -1816,35 +2405,35 @@ }, "type":{ "shape":"AuthorizerType", - "documentation":"

[Required] The type of the authorizer.

" + "documentation":"

[Required] The authorizer type. Valid values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, and COGNITO_USER_POOLS for using an Amazon Cognito user pool.

" }, "providerARNs":{ "shape":"ListOfARNs", - "documentation":"

A list of the Cognito Your User Pool authorizer's provider ARNs.

" + "documentation":"

A list of the Amazon Cognito user pool ARNs for the COGNITO_USER_POOLS authorizer. Each element is of this format: arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}. For a TOKEN or REQUEST authorizer, this is not defined.

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

Optional customer-defined field, used in Swagger imports/exports. Has no functional impact.

" + "documentation":"

Optional customer-defined field, used in OpenAPI imports and exports without functional impact.

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

[Required] Specifies the authorizer's Uniform Resource Identifier (URI).

" + "documentation":"

Specifies the authorizer's Uniform Resource Identifier (URI). For TOKEN or REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form arn:aws:apigateway:{region}:lambda:path/{service_api}, where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations.

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

Specifies the credentials required for the authorizer, if any.

" + "documentation":"

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

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

[Required] The source of the identity in an incoming request.

" + "documentation":"

The identity source for which authorization is requested.

  • For a TOKEN or COGNITO_USER_POOLS authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is Auth, the header mapping expression is method.request.header.Auth.
  • For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is method.request.header.Auth, method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

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

A validation expression for the incoming identity.

" + "documentation":"

A validation expression for the incoming identity token. For TOKEN authorizers, this value is a regular expression. For COGNITO_USER_POOLS authorizers, API Gateway will match the aud field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the REQUEST authorizer.

" }, "authorizerResultTtlInSeconds":{ "shape":"NullableInteger", - "documentation":"

The TTL of cached authorizer results.

" + "documentation":"

The TTL in seconds of cached authorizer results. If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.

" } }, "documentation":"

Request to add a new Authorizer to an existing RestApi resource.

" @@ -1858,35 +2447,32 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The domain name of the BasePathMapping resource to create.

", + "documentation":"

[Required] The domain name of the BasePathMapping resource to create.

", "location":"uri", "locationName":"domain_name" }, "basePath":{ "shape":"String", - "documentation":"

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify a base path name after the domain name.

" + "documentation":"

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify a base path name after the domain name.

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

The name of the API that you want to apply this mapping to.

" + "documentation":"

[Required] The string identifier of the associated RestApi.

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

The name of the API's stage that you want to use for this mapping. Leave this blank if you do not want callers to explicitly specify the stage name after any base path name.

" + "documentation":"

The name of the API's stage that you want to use for this mapping. Specify '(none)' if you want callers to explicitly specify the stage name after any base path name.

" } }, - "documentation":"

Requests Amazon API Gateway to create a new BasePathMapping resource.

" + "documentation":"

Requests API Gateway to create a new BasePathMapping resource.

" }, "CreateDeploymentRequest":{ "type":"structure", - "required":[ - "restApiId", - "stageName" - ], + "required":["restApiId"], "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi resource identifier for the Deployment resource to create.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -1913,39 +2499,118 @@ "variables":{ "shape":"MapOfStringToString", "documentation":"

A map that defines the stage variables for the Stage resource that is associated with the new deployment. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + }, + "canarySettings":{ + "shape":"DeploymentCanarySettings", + "documentation":"

The input configuration for the canary deployment when the deployment is a canary release deployment.

" + }, + "tracingEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether active tracing with X-ray is enabled for the Stage.

" } }, - "documentation":"

Requests Amazon API Gateway to create a Deployment resource.

" + "documentation":"

Requests API Gateway to create a Deployment resource.

" }, - "CreateDomainNameRequest":{ + "CreateDocumentationPartRequest":{ "type":"structure", "required":[ - "domainName", - "certificateName", - "certificateBody", - "certificatePrivateKey", - "certificateChain" + "restApiId", + "location", + "properties" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "location":{ + "shape":"DocumentationPartLocation", + "documentation":"

[Required] The location of the targeted API entity of the to-be-created documentation part.

" + }, + "properties":{ + "shape":"String", + "documentation":"

[Required] The new documentation content map of the targeted API entity. Enclosed key-value pairs are API-specific, but only OpenAPI-compliant key-value pairs can be exported and, hence, published.

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

Creates a new documentation part of a given API.

" + }, + "CreateDocumentationVersionRequest":{ + "type":"structure", + "required":[ + "restApiId", + "documentationVersion" ], "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "documentationVersion":{ + "shape":"String", + "documentation":"

[Required] The version identifier of the new snapshot.

" + }, + "stageName":{ + "shape":"String", + "documentation":"

The stage name to be associated with the new documentation snapshot.

" + }, + "description":{ + "shape":"String", + "documentation":"

A description about the new documentation snapshot.

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

Creates a new documentation version of a given API.

" + }, + "CreateDomainNameRequest":{ + "type":"structure", + "required":["domainName"], + "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource.

" + "documentation":"

[Required] The name of the DomainName resource.

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

The name of the certificate.

" + "documentation":"

The user-friendly name of the certificate that will be used by edge-optimized endpoint for this domain name.

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

The body of the server certificate provided by your certificate authority.

" + "documentation":"

[Deprecated] The body of the server certificate that will be used by edge-optimized endpoint for this domain name provided by your certificate authority.

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

Your certificate's private key.

" + "documentation":"

[Deprecated] Your edge-optimized endpoint's domain name certificate's private key.

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

The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

" + "documentation":"

[Deprecated] The intermediate certificates and optionally the root certificate, one after the other without any blank lines, used by an edge-optimized endpoint for this domain name. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.

" + }, + "certificateArn":{ + "shape":"String", + "documentation":"

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

" + }, + "regionalCertificateName":{ + "shape":"String", + "documentation":"

The user-friendly name of the certificate that will be used by regional endpoint for this domain name.

" + }, + "regionalCertificateArn":{ + "shape":"String", + "documentation":"

The reference to an AWS-managed certificate that will be used by regional endpoint for this domain name. AWS Certificate Manager is the only supported source.

" + }, + "endpointConfiguration":{ + "shape":"EndpointConfiguration", + "documentation":"

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" + }, + "securityPolicy":{ + "shape":"SecurityPolicy", + "documentation":"

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

" } }, "documentation":"

A request to create a new domain name.

" @@ -1960,13 +2625,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier under which the Model will be created.

", + "documentation":"

[Required] The RestApi identifier under which the Model will be created.

", "location":"uri", "locationName":"restapi_id" }, "name":{ "shape":"String", - "documentation":"

The name of the model.

" + "documentation":"

[Required] The name of the model. Must be alphanumeric.

" }, "description":{ "shape":"String", @@ -1974,15 +2639,40 @@ }, "schema":{ "shape":"String", - "documentation":"

The schema for the model. For application/json models, this should be JSON-schema draft v4 model.

" + "documentation":"

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

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

The content-type for the model.

" + "documentation":"

[Required] The content-type for the model.

" } }, "documentation":"

Request to add a new Model to an existing RestApi resource.

" }, + "CreateRequestValidatorRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the to-be-created RequestValidator.

" + }, + "validateRequestBody":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether to validate request body according to the configured model schema for the method (true) or not (false).

" + }, + "validateRequestParameters":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether to validate request parameters, true, or not false.

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

Creates a RequestValidator of a given RestApi.

" + }, "CreateResourceRequest":{ "type":"structure", "required":[ @@ -1993,13 +2683,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi for the resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "parentId":{ "shape":"String", - "documentation":"

The parent resource's identifier.

", + "documentation":"

[Required] The parent resource's identifier.

", "location":"uri", "locationName":"parent_id" }, @@ -2008,7 +2698,7 @@ "documentation":"

The last path segment for this resource.

" } }, - "documentation":"

Requests Amazon API Gateway to create a Resource resource.

" + "documentation":"

Requests API Gateway to create a Resource resource.

" }, "CreateRestApiRequest":{ "type":"structure", @@ -2016,15 +2706,43 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the RestApi.

" + "documentation":"

[Required] The name of the RestApi.

" }, "description":{ "shape":"String", "documentation":"

The description of the RestApi.

" }, + "version":{ + "shape":"String", + "documentation":"

A version identifier for the API.

" + }, "cloneFrom":{ "shape":"String", "documentation":"

The ID of the RestApi that you want to clone from.

" + }, + "binaryMediaTypes":{ + "shape":"ListOfString", + "documentation":"

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

" + }, + "minimumCompressionSize":{ + "shape":"NullableInteger", + "documentation":"

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

" + }, + "apiKeySource":{ + "shape":"ApiKeySourceType", + "documentation":"

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

" + }, + "endpointConfiguration":{ + "shape":"EndpointConfiguration", + "documentation":"

The endpoint configuration of this RestApi showing the endpoint types of the API.

" + }, + "policy":{ + "shape":"String", + "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" } }, "documentation":"

The POST Request to add a new RestApi resource to your collection.

" @@ -2039,17 +2757,17 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Stage resource to create.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name for the Stage resource.

" + "documentation":"

[Required] The name for the Stage resource. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

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

The identifier of the Deployment resource for the Stage resource.

" + "documentation":"

[Required] The identifier of the Deployment resource for the Stage resource.

" }, "description":{ "shape":"String", @@ -2066,9 +2784,25 @@ "variables":{ "shape":"MapOfStringToString", "documentation":"

A map that defines the stage variables for the new Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + }, + "documentationVersion":{ + "shape":"String", + "documentation":"

The version of the associated API documentation.

" + }, + "canarySettings":{ + "shape":"CanarySettings", + "documentation":"

The canary deployment settings of this stage.

" + }, + "tracingEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether active tracing with X-ray is enabled for the Stage.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" } }, - "documentation":"

Requests Amazon API Gateway to create a Stage resource.

" + "documentation":"

Requests API Gateway to create a Stage resource.

" }, "CreateUsagePlanKeyRequest":{ "type":"structure", @@ -2080,17 +2814,17 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

", + "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-created UsagePlanKey resource representing a plan customer.

", "location":"uri", "locationName":"usageplanId" }, "keyId":{ "shape":"String", - "documentation":"

The identifier of a UsagePlanKey resource for a plan customer.

" + "documentation":"

[Required] The identifier of a UsagePlanKey resource for a plan customer.

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

The type of a UsagePlanKey resource for a plan customer.

" + "documentation":"

[Required] The type of a UsagePlanKey resource for a plan customer.

" } }, "documentation":"

The POST request to create a usage plan key for adding an existing API key to a usage plan.

" @@ -2101,7 +2835,7 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the usage plan.

" + "documentation":"

[Required] The name of the usage plan.

" }, "description":{ "shape":"String", @@ -2118,17 +2852,47 @@ "quota":{ "shape":"QuotaSettings", "documentation":"

The quota of the usage plan.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" } }, "documentation":"

The POST request to create a usage plan with the name, description, throttle limits and quota limits, as well as the associated API stages, specified in the payload.

" }, + "CreateVpcLinkRequest":{ + "type":"structure", + "required":[ + "name", + "targetArns" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

[Required] The name used to label and identify the VPC link.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the VPC link.

" + }, + "targetArns":{ + "shape":"ListOfString", + "documentation":"

[Required] The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

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

Creates a VPC link, under the caller's account in a selected region, in an asynchronous operation that typically takes 2-4 minutes to complete and become operational. The caller must have permissions to create and update VPC Endpoint services.

" + }, "DeleteApiKeyRequest":{ "type":"structure", "required":["apiKey"], "members":{ "apiKey":{ "shape":"String", - "documentation":"

The identifier of the ApiKey resource to be deleted.

", + "documentation":"

[Required] The identifier of the ApiKey resource to be deleted.

", "location":"uri", "locationName":"api_Key" } @@ -2144,13 +2908,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Authorizer resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "authorizerId":{ "shape":"String", - "documentation":"

The identifier of the Authorizer resource.

", + "documentation":"

[Required] The identifier of the Authorizer resource.

", "location":"uri", "locationName":"authorizer_id" } @@ -2166,13 +2930,13 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The domain name of the BasePathMapping resource to delete.

", + "documentation":"

[Required] The domain name of the BasePathMapping resource to delete.

", "location":"uri", "locationName":"domain_name" }, "basePath":{ "shape":"String", - "documentation":"

The base path name of the BasePathMapping resource to delete.

", + "documentation":"

[Required] The base path name of the BasePathMapping resource to delete.

To specify an empty base path, set this parameter to '(none)'.

", "location":"uri", "locationName":"base_path" } @@ -2185,7 +2949,7 @@ "members":{ "clientCertificateId":{ "shape":"String", - "documentation":"

The identifier of the ClientCertificate resource to be deleted.

", + "documentation":"

[Required] The identifier of the ClientCertificate resource to be deleted.

", "location":"uri", "locationName":"clientcertificate_id" } @@ -2201,32 +2965,98 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Deployment resource to delete.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "deploymentId":{ "shape":"String", - "documentation":"

The identifier of the Deployment resource to delete.

", + "documentation":"

[Required] The identifier of the Deployment resource to delete.

", "location":"uri", "locationName":"deployment_id" } }, - "documentation":"

Requests Amazon API Gateway to delete a Deployment resource.

" + "documentation":"

Requests API Gateway to delete a Deployment resource.

" }, - "DeleteDomainNameRequest":{ + "DeleteDocumentationPartRequest":{ "type":"structure", - "required":["domainName"], - "members":{ + "required":[ + "restApiId", + "documentationPartId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "documentationPartId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the to-be-deleted documentation part.

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

Deletes an existing documentation part of an API.

" + }, + "DeleteDocumentationVersionRequest":{ + "type":"structure", + "required":[ + "restApiId", + "documentationVersion" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "documentationVersion":{ + "shape":"String", + "documentation":"

[Required] The version identifier of a to-be-deleted documentation snapshot.

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

Deletes an existing documentation version of an API.

" + }, + "DeleteDomainNameRequest":{ + "type":"structure", + "required":["domainName"], + "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource to be deleted.

", + "documentation":"

[Required] The name of the DomainName resource to be deleted.

", "location":"uri", "locationName":"domain_name" } }, "documentation":"

A request to delete the DomainName resource.

" }, + "DeleteGatewayResponseRequest":{ + "type":"structure", + "required":[ + "restApiId", + "responseType" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "responseType":{ + "shape":"GatewayResponseType", + "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

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

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

" + }, "DeleteIntegrationRequest":{ "type":"structure", "required":[ @@ -2237,19 +3067,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a delete integration request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a delete integration request's resource identifier.

", + "documentation":"

[Required] Specifies a delete integration request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a delete integration request's HTTP method.

", + "documentation":"

[Required] Specifies a delete integration request's HTTP method.

", "location":"uri", "locationName":"http_method" } @@ -2267,25 +3097,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a delete integration response request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a delete integration response request's resource identifier.

", + "documentation":"

[Required] Specifies a delete integration response request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a delete integration response request's HTTP method.

", + "documentation":"

[Required] Specifies a delete integration response request's HTTP method.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

Specifies a delete integration response request's status code.

", + "documentation":"

[Required] Specifies a delete integration response request's status code.

", "location":"uri", "locationName":"status_code" } @@ -2302,19 +3132,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Method resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the Method resource.

", + "documentation":"

[Required] The Resource identifier for the Method resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" } @@ -2332,25 +3162,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the MethodResponse resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the MethodResponse resource.

", + "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

The status code identifier for the MethodResponse resource.

", + "documentation":"

[Required] The status code identifier for the MethodResponse resource.

", "location":"uri", "locationName":"status_code" } @@ -2366,19 +3196,41 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi under which the model will be deleted.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "modelName":{ "shape":"String", - "documentation":"

The name of the model to delete.

", + "documentation":"

[Required] The name of the model to delete.

", "location":"uri", "locationName":"model_name" } }, "documentation":"

Request to delete an existing model in an existing RestApi resource.

" }, + "DeleteRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RequestValidator to be deleted.

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

Deletes a specified RequestValidator of a given RestApi.

" + }, "DeleteResourceRequest":{ "type":"structure", "required":[ @@ -2388,13 +3240,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Resource resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The identifier of the Resource resource.

", + "documentation":"

[Required] The identifier of the Resource resource.

", "location":"uri", "locationName":"resource_id" } @@ -2407,7 +3259,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The ID of the RestApi you want to delete.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" } @@ -2423,18 +3275,18 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Stage resource to delete.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the Stage resource to delete.

", + "documentation":"

[Required] The name of the Stage resource to delete.

", "location":"uri", "locationName":"stage_name" } }, - "documentation":"

Requests Amazon API Gateway to delete a Stage resource.

" + "documentation":"

Requests API Gateway to delete a Stage resource.

" }, "DeleteUsagePlanKeyRequest":{ "type":"structure", @@ -2445,13 +3297,13 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

", + "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-deleted UsagePlanKey resource representing a plan customer.

", "location":"uri", "locationName":"usageplanId" }, "keyId":{ "shape":"String", - "documentation":"

The Id of the UsagePlanKey resource to be deleted.

", + "documentation":"

[Required] The Id of the UsagePlanKey resource to be deleted.

", "location":"uri", "locationName":"keyId" } @@ -2464,12 +3316,25 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the to-be-deleted usage plan.

", + "documentation":"

[Required] The Id of the to-be-deleted usage plan.

", "location":"uri", "locationName":"usageplanId" } }, - "documentation":"

The DELETE request to delete a uasge plan of a given plan Id.

" + "documentation":"

The DELETE request to delete a usage plan of a given plan Id.

" + }, + "DeleteVpcLinkRequest":{ + "type":"structure", + "required":["vpcLinkId"], + "members":{ + "vpcLinkId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

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

Deletes an existing VpcLink of a specified identifier.

" }, "Deployment":{ "type":"structure", @@ -2491,7 +3356,25 @@ "documentation":"

A summary of the RestApi at the date and time that the deployment resource was created.

" } }, - "documentation":"

An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.

To create a deployment, call POST on the Deployments resource of a RestApi. To view, update, or delete a deployment, call GET, PATCH, or DELETE on the specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
" + "documentation":"

An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.

To create a deployment, call POST on the Deployments resource of a RestApi. To view, update, or delete a deployment, call GET, PATCH, or DELETE on the specified deployment resource (/restapis/{restapi_id}/deployments/{deployment_id}).
" + }, + "DeploymentCanarySettings":{ + "type":"structure", + "members":{ + "percentTraffic":{ + "shape":"Double", + "documentation":"

The percentage (0.0-100.0) of traffic routed to the canary deployment.

" + }, + "stageVariableOverrides":{ + "shape":"MapOfStringToString", + "documentation":"

A stage variable overrides used for the canary release deployment. They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.

" + }, + "useStageCache":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.

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

The input configuration for a canary deployment.

" }, "Deployments":{ "type":"structure", @@ -2499,33 +3382,207 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfDeployment", - "documentation":"

The current page of any Deployment resources in the collection of deployment resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.

To create a new deployment of a RestApi, make a POST request against this resource. To view, update, or delete an existing deployment, make a GET, PATCH, or DELETE request, respectively, on a specified Deployment resource.
" + "documentation":"

Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.

To create a new deployment of a RestApi, make a POST request against this resource. To view, update, or delete an existing deployment, make a GET, PATCH, or DELETE request, respectively, on a specified Deployment resource.
" + }, + "DocumentationPart":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The DocumentationPart identifier, generated by API Gateway when the DocumentationPart is created.

" + }, + "location":{ + "shape":"DocumentationPartLocation", + "documentation":"

The location of the API entity to which the documentation applies. Valid fields depend on the targeted API entity type. All the valid location fields are not required. If not explicitly specified, a valid location field is treated as a wildcard and associated documentation content may be inherited by matching entities, unless overridden.

" + }, + "properties":{ + "shape":"String", + "documentation":"

A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., \"{ \\\"description\\\": \\\"The API does ...\\\" }\". Only OpenAPI-compliant documentation-related fields from the properties map are exported and, hence, published as part of the API entity definitions, while the original documentation parts are exported in a OpenAPI extension of x-amazon-apigateway-documentation.

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

A documentation part for a targeted API entity.

A documentation part consists of a content map (properties) and a target (location). The target specifies an API entity to which the documentation content applies. The supported API entity types are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Valid location fields depend on the API entity type. All valid fields are not required.

The content map is a JSON string of API-specific key-value pairs. Although an API can use any shape for the content map, only the OpenAPI-compliant documentation fields will be injected into the associated API entity definition in the exported OpenAPI definition file.

" + }, + "DocumentationPartIds":{ + "type":"structure", + "members":{ + "ids":{ + "shape":"ListOfString", + "documentation":"

A list of the returned documentation part identifiers.

" + }, + "warnings":{ + "shape":"ListOfString", + "documentation":"

A list of warning messages reported during import of documentation parts.

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

A collection of the imported DocumentationPart identifiers.

This is used to return the result when documentation parts in an external (e.g., OpenAPI) file are imported into API Gateway
" + }, + "DocumentationPartLocation":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"DocumentationPartType", + "documentation":"

[Required] The type of API entity to which the documentation content applies. Valid values are API, AUTHORIZER, MODEL, RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. Content inheritance does not apply to any entity of the API, AUTHORIZER, METHOD, MODEL, REQUEST_BODY, or RESOURCE type.

" + }, + "path":{ + "shape":"String", + "documentation":"

The URL path of the target. It is a valid field for the API entity types of RESOURCE, METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is / for the root resource. When an applicable child entity inherits the content of another entity of the same type with more general specifications of the other location attributes, the child entity's path attribute must match that of the parent entity as a prefix.

" + }, + "method":{ + "shape":"String", + "documentation":"

The HTTP verb of a method. It is a valid field for the API entity types of METHOD, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY, RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any method. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's method attribute must match that of the parent entity exactly.

" + }, + "statusCode":{ + "shape":"DocumentationPartLocationStatusCode", + "documentation":"

The HTTP status code of a response. It is a valid field for the API entity types of RESPONSE, RESPONSE_HEADER, and RESPONSE_BODY. The default value is * for any status code. When an applicable child entity inherits the content of an entity of the same type with more general specifications of the other location attributes, the child entity's statusCode attribute must match that of the parent entity exactly.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the targeted API entity. It is a valid and required field for the API entity types of AUTHORIZER, MODEL, PATH_PARAMETER, QUERY_PARAMETER, REQUEST_HEADER, REQUEST_BODY and RESPONSE_HEADER. It is an invalid field for any other entity type.

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

Specifies the target API entity to which the documentation applies.

" + }, + "DocumentationPartLocationStatusCode":{ + "type":"string", + "pattern":"^([1-5]\\d\\d|\\*|\\s*)$" + }, + "DocumentationPartType":{ + "type":"string", + "enum":[ + "API", + "AUTHORIZER", + "MODEL", + "RESOURCE", + "METHOD", + "PATH_PARAMETER", + "QUERY_PARAMETER", + "REQUEST_HEADER", + "REQUEST_BODY", + "RESPONSE", + "RESPONSE_HEADER", + "RESPONSE_BODY" + ] + }, + "DocumentationParts":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfDocumentationPart", + "documentation":"

The current page of elements from this collection.

", + "locationName":"item" + } + }, + "documentation":"

The collection of documentation parts of an API.

" + }, + "DocumentationVersion":{ + "type":"structure", + "members":{ + "version":{ + "shape":"String", + "documentation":"

The version identifier of the API documentation snapshot.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date when the API documentation snapshot is created.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the API documentation snapshot.

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

A snapshot of the documentation of an API.

Publishing API documentation involves creating a documentation version associated with an API stage and exporting the versioned documentation to an external (e.g., OpenAPI) file.

" + }, + "DocumentationVersions":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfDocumentationVersion", + "documentation":"

The current page of elements from this collection.

", + "locationName":"item" + } + }, + "documentation":"

The collection of documentation snapshots of an API.

Use the DocumentationVersions to manage documentation snapshots associated with various API stages.

" }, "DomainName":{ "type":"structure", "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource.

" + "documentation":"

The custom domain name as an API host name, for example, my-api.example.com.

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

The name of the certificate.

" + "documentation":"

The name of the certificate that will be used by edge-optimized endpoint for this domain name.

" + }, + "certificateArn":{ + "shape":"String", + "documentation":"

The reference to an AWS-managed certificate that will be used by edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

" }, "certificateUploadDate":{ "shape":"Timestamp", - "documentation":"

The date when the certificate was uploaded, in ISO 8601 format.

" + "documentation":"

The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.

" + }, + "regionalDomainName":{ + "shape":"String", + "documentation":"

The domain name associated with the regional endpoint for this custom domain name. You set up this association by adding a DNS record that points the custom domain name to this regional domain name. The regional domain name is returned by API Gateway when you create a regional endpoint.

" + }, + "regionalHostedZoneId":{ + "shape":"String", + "documentation":"

The region-specific Amazon Route 53 Hosted Zone ID of the regional endpoint. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

" + }, + "regionalCertificateName":{ + "shape":"String", + "documentation":"

The name of the certificate that will be used for validating the regional domain name.

" + }, + "regionalCertificateArn":{ + "shape":"String", + "documentation":"

The reference to an AWS-managed certificate that will be used for validating the regional domain name. AWS Certificate Manager is the only supported source.

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

The domain name of the Amazon CloudFront distribution. For more information, see the Amazon CloudFront documentation.

" + "documentation":"

The domain name of the Amazon CloudFront distribution associated with this custom domain name for an edge-optimized endpoint. You set up this association when adding a DNS record pointing the custom domain name to this distribution name. For more information about CloudFront distributions, see the Amazon CloudFront documentation.

" + }, + "distributionHostedZoneId":{ + "shape":"String", + "documentation":"

The region-agnostic Amazon Route 53 Hosted Zone ID of the edge-optimized endpoint. The valid value is Z2FDTNDATAQYW2 for all the regions. For more information, see Set up a Regional Custom Domain Name and AWS Regions and Endpoints for API Gateway.

" + }, + "endpointConfiguration":{ + "shape":"EndpointConfiguration", + "documentation":"

The endpoint configuration of this DomainName showing the endpoint types of the domain name.

" + }, + "domainNameStatus":{ + "shape":"DomainNameStatus", + "documentation":"

The status of the DomainName migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

" + }, + "domainNameStatusMessage":{ + "shape":"String", + "documentation":"

An optional text message containing detailed information about status of the DomainName migration.

" + }, + "securityPolicy":{ + "shape":"SecurityPolicy", + "documentation":"

The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are TLS_1_0 and TLS_1_2.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" } }, - "documentation":"

Represents a domain name that is contained in a simpler, more intuitive URL that can be called.

" + "documentation":"

Represents a custom domain name as a user-friendly host name of an API (RestApi).

When you deploy an API, API Gateway creates a default host name for the API. This default API host name is of the {restapi-id}.execute-api.{region}.amazonaws.com format. With the default host name, you can access the API's root resource with the URL of https://{restapi-id}.execute-api.{region}.amazonaws.com/{stage}/. When you set up a custom domain name of apis.example.com for this API, you can then access the same resource using the URL of the https://apis.examples.com/myApi, where myApi is the base path mapping (BasePathMapping) of your API under the custom domain name.

" + }, + "DomainNameStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "UPDATING", + "PENDING" + ] }, "DomainNames":{ "type":"structure", @@ -2533,13 +3590,36 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfDomainName", - "documentation":"

The current page of any DomainName resources in the collection of DomainName resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of DomainName resources.

" + "documentation":"

Represents a collection of DomainName resources.

" }, "Double":{"type":"double"}, + "EndpointConfiguration":{ + "type":"structure", + "members":{ + "types":{ + "shape":"ListOfEndpointType", + "documentation":"

A list of endpoint types of an API (RestApi) or its custom domain name (DomainName). For an edge-optimized API and its custom domain name, the endpoint type is \"EDGE\". For a regional API and its custom domain name, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.

" + }, + "vpcEndpointIds":{ + "shape":"ListOfString", + "documentation":"

A list of VpcEndpointIds of an API (RestApi) against which to create Route53 ALIASes. It is only supported for PRIVATE endpoint type.

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

The endpoint configuration to indicate the types of endpoints an API (RestApi) or its custom domain name (DomainName) has.

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

The endpoint type. The valid values are EDGE for edge-optimized API setup, most suitable for mobile applications; REGIONAL for regional API endpoint setup, most suitable for calling from AWS Region; and PRIVATE for private APIs.

", + "enum":[ + "REGIONAL", + "EDGE", + "PRIVATE" + ] + }, "ExportResponse":{ "type":"structure", "members":{ @@ -2572,7 +3652,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The API identifier of the stage to flush.

", + "documentation":"

The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -2594,18 +3674,81 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The API identifier of the stage to flush its cache.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the stage to flush its cache.

", + "documentation":"

[Required] The name of the stage to flush its cache.

", "location":"uri", "locationName":"stage_name" } }, - "documentation":"

Requests Amazon API Gateway to flush a stage's cache.

" + "documentation":"

Requests API Gateway to flush a stage's cache.

" + }, + "GatewayResponse":{ + "type":"structure", + "members":{ + "responseType":{ + "shape":"GatewayResponseType", + "documentation":"

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

" + }, + "statusCode":{ + "shape":"StatusCode", + "documentation":"

The HTTP status code for this GatewayResponse.

" + }, + "responseParameters":{ + "shape":"MapOfStringToString", + "documentation":"

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

" + }, + "responseTemplates":{ + "shape":"MapOfStringToString", + "documentation":"

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

" + }, + "defaultResponse":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true) or not (false). A default gateway response is one generated by API Gateway without any customization by an API developer.

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

A gateway response of a given response type and status code, with optional response parameters and mapping templates.

For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway

Example: Get a Gateway Response of a given response type

Request

This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type.

GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 

The response type is specified as a URL path.

Response

The successful operation returns the 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html\", \"name\": \"gatewayresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:delete\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" } }, \"defaultResponse\": false, \"responseParameters\": { \"gatewayresponse.header.x-request-path\": \"method.request.path.petId\", \"gatewayresponse.header.Access-Control-Allow-Origin\": \"'a.b.c'\", \"gatewayresponse.header.x-request-query\": \"method.request.querystring.q\", \"gatewayresponse.header.x-request-header\": \"method.request.header.Accept\" }, \"responseTemplates\": { \"application/json\": \"{\\n \\\"message\\\": $context.error.messageString,\\n \\\"type\\\": \\\"$context.error.responseType\\\",\\n \\\"stage\\\": \\\"$context.stage\\\",\\n \\\"resourcePath\\\": \\\"$context.resourcePath\\\",\\n \\\"stageVariables.a\\\": \\\"$stageVariables.a\\\",\\n \\\"statusCode\\\": \\\"'404'\\\"\\n}\" }, \"responseType\": \"MISSING_AUTHENTICATION_TOKEN\", \"statusCode\": \"404\" }

" + }, + "GatewayResponseType":{ + "type":"string", + "enum":[ + "DEFAULT_4XX", + "DEFAULT_5XX", + "RESOURCE_NOT_FOUND", + "UNAUTHORIZED", + "INVALID_API_KEY", + "ACCESS_DENIED", + "AUTHORIZER_FAILURE", + "AUTHORIZER_CONFIGURATION_ERROR", + "INVALID_SIGNATURE", + "EXPIRED_TOKEN", + "MISSING_AUTHENTICATION_TOKEN", + "INTEGRATION_FAILURE", + "INTEGRATION_TIMEOUT", + "API_CONFIGURATION_ERROR", + "UNSUPPORTED_MEDIA_TYPE", + "BAD_REQUEST_PARAMETERS", + "BAD_REQUEST_BODY", + "REQUEST_TOO_LARGE", + "THROTTLED", + "QUOTA_EXCEEDED" + ] + }, + "GatewayResponses":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfGatewayResponse", + "documentation":"

Returns the entire collection, because of no pagination support.

", + "locationName":"item" + } + }, + "documentation":"

The collection of the GatewayResponse instances of a RestApi as a responseType-to-GatewayResponse object map of key-value pairs. As such, pagination is not supported for querying this collection.

For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway

Example: Get the collection of gateway responses of an API

Request

This example request shows how to retrieve the GatewayResponses collection from an API.

GET /restapis/o81lxisefl/gatewayresponses HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T220604Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=59b42fe54a76a5de8adf2c67baa6d39206f8e9ad49a1d77ccc6a5da3103a398a Cache-Control: no-cache Postman-Token: 5637af27-dc29-fc5c-9dfe-0645d52cb515 

Response

The successful operation returns the 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html\", \"name\": \"gatewayresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses\" }, \"first\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses\" }, \"gatewayresponse:by-type\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"item\": [ { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" }, { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" } ] }, \"_embedded\": { \"item\": [ { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_FAILURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INTEGRATION_FAILURE\", \"statusCode\": \"504\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/RESOURCE_NOT_FOUND\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"RESOURCE_NOT_FOUND\", \"statusCode\": \"404\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/REQUEST_TOO_LARGE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"REQUEST_TOO_LARGE\", \"statusCode\": \"413\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/THROTTLED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"THROTTLED\", \"statusCode\": \"429\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNSUPPORTED_MEDIA_TYPE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"UNSUPPORTED_MEDIA_TYPE\", \"statusCode\": \"415\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_CONFIGURATION_ERROR\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"AUTHORIZER_CONFIGURATION_ERROR\", \"statusCode\": \"500\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_5XX\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"DEFAULT_5XX\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/DEFAULT_4XX\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"DEFAULT_4XX\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_PARAMETERS\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"BAD_REQUEST_PARAMETERS\", \"statusCode\": \"400\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/BAD_REQUEST_BODY\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"BAD_REQUEST_BODY\", \"statusCode\": \"400\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/EXPIRED_TOKEN\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"EXPIRED_TOKEN\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/ACCESS_DENIED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"ACCESS_DENIED\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_API_KEY\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INVALID_API_KEY\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/UNAUTHORIZED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"UNAUTHORIZED\", \"statusCode\": \"401\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/API_CONFIGURATION_ERROR\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"API_CONFIGURATION_ERROR\", \"statusCode\": \"500\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/QUOTA_EXCEEDED\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"QUOTA_EXCEEDED\", \"statusCode\": \"429\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INTEGRATION_TIMEOUT\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INTEGRATION_TIMEOUT\", \"statusCode\": \"504\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"MISSING_AUTHENTICATION_TOKEN\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/INVALID_SIGNATURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"INVALID_SIGNATURE\", \"statusCode\": \"403\" }, { \"_links\": { \"self\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" }, \"gatewayresponse:put\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/{response_type}\", \"templated\": true }, \"gatewayresponse:update\": { \"href\": \"/restapis/o81lxisefl/gatewayresponses/AUTHORIZER_FAILURE\" } }, \"defaultResponse\": true, \"responseParameters\": {}, \"responseTemplates\": { \"application/json\": \"{\\\"message\\\":$context.error.messageString}\" }, \"responseType\": \"AUTHORIZER_FAILURE\", \"statusCode\": \"500\" } ] } }

" }, "GenerateClientCertificateRequest":{ "type":"structure", @@ -2613,6 +3756,10 @@ "description":{ "shape":"String", "documentation":"

The description of the ClientCertificate.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" } }, "documentation":"

A request to generate a ClientCertificate resource.

" @@ -2621,7 +3768,7 @@ "type":"structure", "members":{ }, - "documentation":"

Requests Amazon API Gateway to get information about the current Account resource.

" + "documentation":"

Requests API Gateway to get information about the current Account resource.

" }, "GetApiKeyRequest":{ "type":"structure", @@ -2629,12 +3776,12 @@ "members":{ "apiKey":{ "shape":"String", - "documentation":"

The identifier of the ApiKey resource.

", + "documentation":"

[Required] The identifier of the ApiKey resource.

", "location":"uri", "locationName":"api_Key" }, "includeValue":{ - "shape":"Boolean", + "shape":"NullableBoolean", "documentation":"

A boolean flag to specify whether (true) or not (false) the result contains the key value.

", "location":"querystring", "locationName":"includeValue" @@ -2647,13 +3794,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current ApiKeys resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of ApiKeys to get information about.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" }, @@ -2663,8 +3810,14 @@ "location":"querystring", "locationName":"name" }, + "customerId":{ + "shape":"String", + "documentation":"

The identifier of a customer in AWS Marketplace or an external system, such as a developer portal.

", + "location":"querystring", + "locationName":"customerId" + }, "includeValues":{ - "shape":"Boolean", + "shape":"NullableBoolean", "documentation":"

A boolean flag to specify whether (true) or not (false) the result contains key values.

", "location":"querystring", "locationName":"includeValues" @@ -2681,13 +3834,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Authorizer resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "authorizerId":{ "shape":"String", - "documentation":"

The identifier of the Authorizer resource.

", + "documentation":"

[Required] The identifier of the Authorizer resource.

", "location":"uri", "locationName":"authorizer_id" } @@ -2700,19 +3853,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Authorizers resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "position":{ "shape":"String", - "documentation":"

If not all Authorizer resources in the response were present, the position will specify where to start the next page of results.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

Limit the number of Authorizer resources in the response.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } @@ -2728,13 +3881,13 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The domain name of the BasePathMapping resource to be described.

", + "documentation":"

[Required] The domain name of the BasePathMapping resource to be described.

", "location":"uri", "locationName":"domain_name" }, "basePath":{ "shape":"String", - "documentation":"

The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify any base path name after the domain name.

", + "documentation":"

[Required] The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Specify '(none)' if you do not want callers to specify any base path name after the domain name.

", "location":"uri", "locationName":"base_path" } @@ -2747,19 +3900,19 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The domain name of a BasePathMapping resource.

", + "documentation":"

[Required] The domain name of a BasePathMapping resource.

", "location":"uri", "locationName":"domain_name" }, "position":{ "shape":"String", - "documentation":"

The position of the current BasePathMapping resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of BasePathMapping resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } @@ -2772,77 +3925,201 @@ "members":{ "clientCertificateId":{ "shape":"String", - "documentation":"

The identifier of the ClientCertificate resource to be described.

", + "documentation":"

[Required] The identifier of the ClientCertificate resource to be described.

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

A request to get information about the current ClientCertificate resource.

" + }, + "GetClientCertificatesRequest":{ + "type":"structure", + "members":{ + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

A request to get information about a collection of ClientCertificate resources.

" + }, + "GetDeploymentRequest":{ + "type":"structure", + "required":[ + "restApiId", + "deploymentId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "deploymentId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the Deployment resource to get information about.

", + "location":"uri", + "locationName":"deployment_id" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter to retrieve the specified embedded resources of the returned Deployment resource in the response. In a REST API call, this embed parameter value is a list of comma-separated strings, as in GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=var1,var2. The SDK and other platform-dependent libraries might use a different format for the list. Currently, this request supports only retrieval of the embedded API summary this way. Hence, the parameter value must be a single-valued list containing only the \"apisummary\" string. For example, GET /restapis/{restapi_id}/deployments/{deployment_id}?embed=apisummary.

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

Requests API Gateway to get information about a Deployment resource.

" + }, + "GetDeploymentsRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Requests API Gateway to get information about a Deployments collection.

" + }, + "GetDocumentationPartRequest":{ + "type":"structure", + "required":[ + "restApiId", + "documentationPartId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", - "locationName":"clientcertificate_id" + "locationName":"restapi_id" + }, + "documentationPartId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"part_id" } }, - "documentation":"

A request to get information about the current ClientCertificate resource.

" + "documentation":"

Gets a specified documentation part of a given API.

" }, - "GetClientCertificatesRequest":{ + "GetDocumentationPartsRequest":{ "type":"structure", + "required":["restApiId"], "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "type":{ + "shape":"DocumentationPartType", + "documentation":"

The type of API entities of the to-be-retrieved documentation parts.

", + "location":"querystring", + "locationName":"type" + }, + "nameQuery":{ + "shape":"String", + "documentation":"

The name of API entities of the to-be-retrieved documentation parts.

", + "location":"querystring", + "locationName":"name" + }, + "path":{ + "shape":"String", + "documentation":"

The path of API entities of the to-be-retrieved documentation parts.

", + "location":"querystring", + "locationName":"path" + }, "position":{ "shape":"String", - "documentation":"

The position of the current ClientCertificate resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of ClientCertificate resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" + }, + "locationStatus":{ + "shape":"LocationStatusType", + "documentation":"

The status of the API documentation parts to retrieve. Valid values are DOCUMENTED for retrieving DocumentationPart resources with content and UNDOCUMENTED for DocumentationPart resources without content.

", + "location":"querystring", + "locationName":"locationStatus" } }, - "documentation":"

A request to get information about a collection of ClientCertificate resources.

" + "documentation":"

Gets the documentation parts of an API. The result may be filtered by the type, name, or path of API entities (targets).

" }, - "GetDeploymentRequest":{ + "GetDocumentationVersionRequest":{ "type":"structure", "required":[ "restApiId", - "deploymentId" + "documentationVersion" ], "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Deployment resource to get information about.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, - "deploymentId":{ + "documentationVersion":{ "shape":"String", - "documentation":"

The identifier of the Deployment resource to get information about.

", + "documentation":"

[Required] The version identifier of the to-be-retrieved documentation snapshot.

", "location":"uri", - "locationName":"deployment_id" + "locationName":"doc_version" } }, - "documentation":"

Requests Amazon API Gateway to get information about a Deployment resource.

" + "documentation":"

Gets a documentation snapshot of an API.

" }, - "GetDeploymentsRequest":{ + "GetDocumentationVersionsRequest":{ "type":"structure", "required":["restApiId"], "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the collection of Deployment resources to get information about.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "position":{ "shape":"String", - "documentation":"

The position of the current Deployment resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of Deployment resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } }, - "documentation":"

Requests Amazon API Gateway to get information about a Deployments collection.

" + "documentation":"

Gets the documentation versions of an API.

" }, "GetDomainNameRequest":{ "type":"structure", @@ -2850,7 +4127,7 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource.

", + "documentation":"

[Required] The name of the DomainName resource.

", "location":"uri", "locationName":"domain_name" } @@ -2862,13 +4139,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current domain names to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of DomainName resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } @@ -2885,36 +4162,83 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi to be exported.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the Stage that will be exported.

", + "documentation":"

[Required] The name of the Stage that will be exported.

", "location":"uri", "locationName":"stage_name" }, "exportType":{ "shape":"String", - "documentation":"

The type of export. Currently only 'swagger' is supported.

", + "documentation":"

[Required] The type of export. Acceptable values are 'oas30' for OpenAPI 3.0.x and 'swagger' for Swagger/OpenAPI 2.0.

", "location":"uri", "locationName":"export_type" }, "parameters":{ "shape":"MapOfStringToString", - "documentation":"

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType swagger, any combination of the following parameters are supported: integrations will export the API with x-amazon-apigateway-integration extensions. authorizers will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

", + "documentation":"

A key-value map of query string parameters that specify properties of the export, depending on the requested exportType. For exportType oas30 and swagger, any combination of the following parameters are supported: extensions='integrations' or extensions='apigateway' will export the API with x-amazon-apigateway-integration extensions. extensions='authorizers' will export the API with x-amazon-apigateway-authorizer extensions. postman will export the API with Postman extensions, allowing for import to the Postman tool

", "location":"querystring" }, "accepts":{ "shape":"String", - "documentation":"

The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType of swagger. This should be specified in the Accept header for direct API requests.

", + "documentation":"

The content-type of the export, for example application/json. Currently application/json and application/yaml are supported for exportType ofoas30 and swagger. This should be specified in the Accept header for direct API requests.

", "location":"header", "locationName":"Accept" } }, "documentation":"

Request a new export of a RestApi for a particular Stage.

" }, + "GetGatewayResponseRequest":{ + "type":"structure", + "required":[ + "restApiId", + "responseType" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "responseType":{ + "shape":"GatewayResponseType", + "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

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

Gets a GatewayResponse of a specified response type on the given RestApi.

" + }, + "GetGatewayResponsesRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set. The GatewayResponse collection does not support pagination and the position does not apply here.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500. The GatewayResponses collection does not support pagination and the limit does not apply here.

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

Gets the GatewayResponses collection on the given RestApi. If an API developer has not added any definitions for gateway responses, the result will be the API Gateway-generated default GatewayResponses collection for the supported response types.

" + }, "GetIntegrationRequest":{ "type":"structure", "required":[ @@ -2925,24 +4249,24 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a get integration request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a get integration request's resource identifier

", + "documentation":"

[Required] Specifies a get integration request's resource identifier

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a get integration request's HTTP method.

", + "documentation":"

[Required] Specifies a get integration request's HTTP method.

", "location":"uri", "locationName":"http_method" } }, - "documentation":"

Represents a get integration request.

" + "documentation":"

Represents a request to get the integration configuration.

" }, "GetIntegrationResponseRequest":{ "type":"structure", @@ -2955,25 +4279,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a get integration response request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a get integration response request's resource identifier.

", + "documentation":"

[Required] Specifies a get integration response request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a get integration response request's HTTP method.

", + "documentation":"

[Required] Specifies a get integration response request's HTTP method.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

Specifies a get integration response request's status code.

", + "documentation":"

[Required] Specifies a get integration response request's status code.

", "location":"uri", "locationName":"status_code" } @@ -2990,19 +4314,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Method resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the Method resource.

", + "documentation":"

[Required] The Resource identifier for the Method resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies the method request's HTTP method type.

", + "documentation":"

[Required] Specifies the method request's HTTP method type.

", "location":"uri", "locationName":"http_method" } @@ -3020,25 +4344,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the MethodResponse resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the MethodResponse resource.

", + "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

The status code for the MethodResponse resource.

", + "documentation":"

[Required] The status code for the MethodResponse resource.

", "location":"uri", "locationName":"status_code" } @@ -3054,13 +4378,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier under which the Model exists.

", + "documentation":"

[Required] The RestApi identifier under which the Model exists.

", "location":"uri", "locationName":"restapi_id" }, "modelName":{ "shape":"String", - "documentation":"

The name of the model as an identifier.

", + "documentation":"

[Required] The name of the model as an identifier.

", "location":"uri", "locationName":"model_name" }, @@ -3082,13 +4406,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The ID of the RestApi under which the model exists.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "modelName":{ "shape":"String", - "documentation":"

The name of the model for which to generate a template.

", + "documentation":"

[Required] The name of the model for which to generate a template.

", "location":"uri", "locationName":"model_name" } @@ -3101,25 +4425,72 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "position":{ "shape":"String", - "documentation":"

The position of the next set of results in the Models resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of models in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } }, "documentation":"

Request to list existing Models defined for a RestApi resource.

" }, + "GetRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the RequestValidator to be retrieved.

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

Gets a RequestValidator of a given RestApi.

" + }, + "GetRequestValidatorsRequest":{ + "type":"structure", + "required":["restApiId"], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the RequestValidators collection of a given RestApi.

" + }, "GetResourceRequest":{ "type":"structure", "required":[ @@ -3129,15 +4500,21 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The identifier for the Resource resource.

", + "documentation":"

[Required] The identifier for the Resource resource.

", "location":"uri", "locationName":"resource_id" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter to retrieve the specified resources embedded in the returned Resource representation in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods.

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

Request to list information about a resource.

" @@ -3148,21 +4525,27 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "position":{ "shape":"String", - "documentation":"

The position of the next set of results in the current Resources resource to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of Resource resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" + }, + "embed":{ + "shape":"ListOfString", + "documentation":"

A query parameter used to retrieve the specified resources embedded in the returned Resources resource in the response. This embed parameter value is a list of comma-separated strings. Currently, the request supports only retrieval of the embedded Method resources this way. The query parameter value must be a single-valued list and contain the \"methods\" string. For example, GET /restapis/{restapi_id}/resources?embed=methods.

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

Request to list information about a collection of resources.

" @@ -3173,7 +4556,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" } @@ -3185,13 +4568,13 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The position of the current RestApis resource in the collection to get information about.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of RestApi resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } @@ -3208,30 +4591,61 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi that the SDK will use.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the Stage that the SDK will use.

", + "documentation":"

[Required] The name of the Stage that the SDK will use.

", "location":"uri", "locationName":"stage_name" }, "sdkType":{ "shape":"String", - "documentation":"

The language for the generated SDK. Currently javascript, android, and objectivec (for iOS) are supported.

", + "documentation":"

[Required] The language for the generated SDK. Currently java, javascript, android, objectivec (for iOS), swift (for iOS), and ruby are supported.

", "location":"uri", "locationName":"sdk_type" }, "parameters":{ "shape":"MapOfStringToString", - "documentation":"

A key-value map of query string parameters that specify properties of the SDK, depending on the requested sdkType. For sdkType of objectivec, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required.

", + "documentation":"

A string-to-string key-value map of query parameters sdkType-dependent properties of the SDK. For sdkType of objectivec or swift, a parameter named classPrefix is required. For sdkType of android, parameters named groupId, artifactId, artifactVersion, and invokerPackage are required. For sdkType of java, parameters named serviceName and javaPackageName are required.

", "location":"querystring" } }, "documentation":"

Request a new generated client SDK for a RestApi and Stage.

" }, + "GetSdkTypeRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"String", + "documentation":"

[Required] The identifier of the queried SdkType instance.

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

Get an SdkType instance.

" + }, + "GetSdkTypesRequest":{ + "type":"structure", + "members":{ + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Get the SdkTypes collection.

" + }, "GetStageRequest":{ "type":"structure", "required":[ @@ -3241,18 +4655,18 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Stage resource to get information about.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the Stage resource to get information about.

", + "documentation":"

[Required] The name of the Stage resource to get information about.

", "location":"uri", "locationName":"stage_name" } }, - "documentation":"

Requests Amazon API Gateway to get information about a Stage resource.

" + "documentation":"

Requests API Gateway to get information about a Stage resource.

" }, "GetStagesRequest":{ "type":"structure", @@ -3260,7 +4674,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The stages' API identifiers.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -3271,7 +4685,32 @@ "locationName":"deploymentId" } }, - "documentation":"

Requests Amazon API Gateway to get information about one or more Stage resources.

" + "documentation":"

Requests API Gateway to get information about one or more Stage resources.

" + }, + "GetTagsRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

[Required] The ARN of a resource that can be tagged.

", + "location":"uri", + "locationName":"resource_arn" + }, + "position":{ + "shape":"String", + "documentation":"

(Not currently supported) The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

(Not currently supported) The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the Tags collection for a given resource.

" }, "GetUsagePlanKeyRequest":{ "type":"structure", @@ -3282,13 +4721,13 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", "location":"uri", "locationName":"usageplanId" }, "keyId":{ "shape":"String", - "documentation":"

The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "documentation":"

[Required] The key Id of the to-be-retrieved UsagePlanKey resource representing a plan customer.

", "location":"uri", "locationName":"keyId" } @@ -3301,19 +4740,19 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", + "documentation":"

[Required] The Id of the UsagePlan resource representing the usage plan containing the to-be-retrieved UsagePlanKey resource representing a plan customer.

", "location":"uri", "locationName":"usageplanId" }, "position":{ "shape":"String", - "documentation":"

A query parameter specifying the zero-based index specifying the position of a usage plan key.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

A query parameter specifying the maximum number usage plan keys returned by the GET request.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" }, @@ -3332,7 +4771,7 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The identifier of the UsagePlan resource to be retrieved.

", + "documentation":"

[Required] The identifier of the UsagePlan resource to be retrieved.

", "location":"uri", "locationName":"usageplanId" } @@ -3344,7 +4783,7 @@ "members":{ "position":{ "shape":"String", - "documentation":"

The zero-based array index specifying the position of the to-be-retrieved UsagePlan resource.

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, @@ -3356,7 +4795,7 @@ }, "limit":{ "shape":"NullableInteger", - "documentation":"

The number of UsagePlan resources to be returned as the result.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } @@ -3373,7 +4812,7 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the usage plan associated with the usage data.

", + "documentation":"

[Required] The Id of the usage plan associated with the usage data.

", "location":"uri", "locationName":"usageplanId" }, @@ -3385,31 +4824,62 @@ }, "startDate":{ "shape":"String", - "documentation":"

The starting date (e.g., 2016-01-01) of the usage data.

", + "documentation":"

[Required] The starting date (e.g., 2016-01-01) of the usage data.

", "location":"querystring", "locationName":"startDate" }, "endDate":{ "shape":"String", - "documentation":"

The ending date (e.g., 2016-12-31) of the usage data.

", + "documentation":"

[Required] The ending date (e.g., 2016-12-31) of the usage data.

", "location":"querystring", "locationName":"endDate" }, "position":{ "shape":"String", - "documentation":"

Position

", + "documentation":"

The current pagination position in the paged result set.

", "location":"querystring", "locationName":"position" }, "limit":{ "shape":"NullableInteger", - "documentation":"

The maximum number of results to be returned.

", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

", "location":"querystring", "locationName":"limit" } }, "documentation":"

The GET request to get the usage data of a usage plan in a specified time interval.

" }, + "GetVpcLinkRequest":{ + "type":"structure", + "required":["vpcLinkId"], + "members":{ + "vpcLinkId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

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

Gets a specified VPC link under the caller's account in a region.

" + }, + "GetVpcLinksRequest":{ + "type":"structure", + "members":{ + "position":{ + "shape":"String", + "documentation":"

The current pagination position in the paged result set.

", + "location":"querystring", + "locationName":"position" + }, + "limit":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of returned results per page. The default value is 25 and the maximum value is 500.

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

Gets the VpcLinks collection under the caller's account in a selected region.

" + }, "ImportApiKeysRequest":{ "type":"structure", "required":[ @@ -3419,7 +4889,7 @@ "members":{ "body":{ "shape":"Blob", - "documentation":"

The payload of the POST request to import API keys. For the payload format, see API Key File Format.

" + "documentation":"

The payload of the POST request to import API keys. For the payload format, see API Key File Format.

" }, "format":{ "shape":"ApiKeysFormat", @@ -3437,6 +4907,39 @@ "documentation":"

The POST request to import API keys from an external source, such as a CSV-formatted file.

", "payload":"body" }, + "ImportDocumentationPartsRequest":{ + "type":"structure", + "required":[ + "restApiId", + "body" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "mode":{ + "shape":"PutMode", + "documentation":"

A query parameter to indicate whether to overwrite (OVERWRITE) any existing DocumentationParts definition or to merge (MERGE) the new definition into the existing one. The default value is MERGE.

", + "location":"querystring", + "locationName":"mode" + }, + "failOnWarnings":{ + "shape":"Boolean", + "documentation":"

A query parameter to specify whether to rollback the documentation importation (true) or not (false) when a warning is encountered. The default value is false.

", + "location":"querystring", + "locationName":"failonwarnings" + }, + "body":{ + "shape":"Blob", + "documentation":"

[Required] Raw byte array representing the to-be-imported documentation parts. To import from an OpenAPI file, this is a JSON object.

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

Import documentation parts from an external (e.g., OpenAPI) definition file.

", + "payload":"body" + }, "ImportRestApiRequest":{ "type":"structure", "required":["body"], @@ -3449,15 +4952,15 @@ }, "parameters":{ "shape":"MapOfStringToString", - "documentation":"

Custom header parameters as part of the request.

", + "documentation":"

A key-value map of context-specific query string parameters specifying the behavior of different API importing operations. The following shows operation-specific parameters and their supported values.

To exclude DocumentationParts from the import, set parameters as ignore=documentation.

To configure the endpoint type, set parameters as endpointConfigurationTypes=EDGE, endpointConfigurationTypes=REGIONAL, or endpointConfigurationTypes=PRIVATE. The default endpoint type is EDGE.

To handle imported basepath, set parameters as basepath=ignore, basepath=prepend or basepath=split.

For example, the AWS CLI command to exclude documentation from the imported API is:

aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'

The AWS CLI command to set the regional endpoint on the imported API is:

aws apigateway import-rest-api --parameters endpointConfigurationTypes=REGIONAL --body 'file:///path/to/imported-api-body.json'
", "location":"querystring" }, "body":{ "shape":"Blob", - "documentation":"

The POST request body containing external API definitions. Currently, only Swagger definition JSON files are supported.

" + "documentation":"

[Required] The POST request body containing external API definitions. Currently, only OpenAPI definition JSON/YAML files are supported. The maximum size of the API definition file is 2MB.

" } }, - "documentation":"

A POST request to import an API to Amazon API Gateway using an input of an API definition file.

", + "documentation":"

A POST request to import an API to API Gateway using an input of an API definition file.

", "payload":"body" }, "Integer":{"type":"integer"}, @@ -3466,7 +4969,7 @@ "members":{ "type":{ "shape":"IntegrationType", - "documentation":"

Specifies the integration's type. The valid value is HTTP for integrating with an HTTP back end, AWS for any AWS service endpoints, MOCK for testing without actually invoking the back end, HTTP_PROXY for integrating with the HTTP proxy integration, or AWS_PROXY for integrating with the Lambda proxy integration type.

" + "documentation":"

Specifies an API method integration type. The valid value is one of the following:

  • AWS: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.
  • AWS_PROXY: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.
  • HTTP: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.
  • HTTP_PROXY: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.
  • MOCK: for integrating the API method request with API Gateway as a \"loop-back\" endpoint without invoking any backend.

For the HTTP and HTTP proxy integrations, each integration can specify a protocol (http/https), port and path. Standard 80 and 443 ports are supported as well as custom ports above 1024. An HTTP or HTTP proxy integration with a connectionType of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.

" }, "httpMethod":{ "shape":"String", @@ -3474,11 +4977,19 @@ }, "uri":{ "shape":"String", - "documentation":"

Specifies the integration's Uniform Resource Identifier (URI). For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification. For AWS integrations, the URI should be of the form arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}. Region, subdomain and service are used to determine the right endpoint. For AWS services that use the Action= query string parameter, service_api should be a valid action for the desired service. For RESTful AWS service APIs, path is used to indicate that the remaining substring in the URI should be treated as the path to the resource, including the initial /.

" + "documentation":"

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

" + }, + "connectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

" + }, + "connectionId":{ + "shape":"String", + "documentation":"

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

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

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\\*:user/\\*. To use resource-based permissions on supported AWS services, specify null.

" + "documentation":"

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\\*:user/\\*. To use resource-based permissions on supported AWS services, specify null.

" }, "requestParameters":{ "shape":"MapOfStringToString", @@ -3490,22 +5001,30 @@ }, "passthroughBehavior":{ "shape":"String", - "documentation":"

Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in requestTemplates. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER.

  • WHEN_NO_MATCH passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.
  • WHEN_NO_TEMPLATES passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.
  • NEVER rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
" + "documentation":"

Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation. A content type is unmapped if no mapping template is defined in the integration or the content type does not match any of the mapped content types, as specified in requestTemplates. The valid value is one of the following:

  • WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.
  • WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.
  • NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
" + }, + "contentHandling":{ + "shape":"ContentHandlingStrategy", + "documentation":"

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

" + }, + "timeoutInMillis":{ + "shape":"Integer", + "documentation":"

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

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

Specifies the integration's cache namespace.

" + "documentation":"

An API-specific tag group of related cached parameters. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

" }, "cacheKeyParameters":{ "shape":"ListOfString", - "documentation":"

Specifies the integration's cache key parameters.

" + "documentation":"

A list of request parameters whose values API Gateway caches. To be valid values for cacheKeyParameters, these parameters must also be specified for Method requestParameters.

" }, "integrationResponses":{ "shape":"MapOfIntegrationResponse", - "documentation":"

Specifies the integration's responses.

Example: Get integration responses of a method

Request

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" }

" + "documentation":"

Specifies the integration's responses.

Example: Get integration responses of a method

Request

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160607T191449Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160607/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash} 
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" }

" } }, - "documentation":"

Represents an HTTP, AWS, or Mock integration.

In the API Gateway console, the built-in Lambda integration is an AWS integration.
" + "documentation":"

Represents an HTTP, HTTP_PROXY, AWS, AWS_PROXY, or Mock integration.

In the API Gateway console, the built-in Lambda integration is an AWS integration.
" }, "IntegrationResponse":{ "type":"structure", @@ -3525,13 +5044,17 @@ "responseTemplates":{ "shape":"MapOfStringToString", "documentation":"

Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "contentHandling":{ + "shape":"ContentHandlingStrategy", + "documentation":"

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

" } }, - "documentation":"

Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.

" + "documentation":"

Represents an integration response. The status code must map to an existing MethodResponse, and parameters and templates can be used to transform the back-end response.

" }, "IntegrationType":{ "type":"string", - "documentation":"

The integration type. The valid value is HTTP for integrating with an HTTP back end, AWS for any AWS service endpoints, MOCK for testing without actually invoking the back end, HTTP_PROXY for integrating with the HTTP proxy integration, or AWS_PROXY for integrating with the Lambda proxy integration type.

", + "documentation":"

The integration type. The valid value is HTTP for integrating an API method with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing without actually invoking the backend; HTTP_PROXY for integrating with the HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.

", "enum":[ "HTTP", "AWS", @@ -3550,6 +5073,7 @@ }, "message":{"shape":"String"} }, + "documentation":"

The request exceeded the rate limit. Retry after the specified time period.

", "error":{"httpStatusCode":429}, "exception":true }, @@ -3581,10 +5105,26 @@ "type":"list", "member":{"shape":"Deployment"} }, + "ListOfDocumentationPart":{ + "type":"list", + "member":{"shape":"DocumentationPart"} + }, + "ListOfDocumentationVersion":{ + "type":"list", + "member":{"shape":"DocumentationVersion"} + }, "ListOfDomainName":{ "type":"list", "member":{"shape":"DomainName"} }, + "ListOfEndpointType":{ + "type":"list", + "member":{"shape":"EndpointType"} + }, + "ListOfGatewayResponse":{ + "type":"list", + "member":{"shape":"GatewayResponse"} + }, "ListOfLong":{ "type":"list", "member":{"shape":"Long"} @@ -3598,6 +5138,10 @@ "member":{"shape":"PatchOperation"}, "documentation":"A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list." }, + "ListOfRequestValidator":{ + "type":"list", + "member":{"shape":"RequestValidator"} + }, "ListOfResource":{ "type":"list", "member":{"shape":"Resource"} @@ -3606,6 +5150,14 @@ "type":"list", "member":{"shape":"RestApi"} }, + "ListOfSdkConfigurationProperty":{ + "type":"list", + "member":{"shape":"SdkConfigurationProperty"} + }, + "ListOfSdkType":{ + "type":"list", + "member":{"shape":"SdkType"} + }, "ListOfStage":{ "type":"list", "member":{"shape":"Stage"} @@ -3630,11 +5182,22 @@ "type":"list", "member":{"shape":"UsagePlanKey"} }, + "ListOfVpcLink":{ + "type":"list", + "member":{"shape":"VpcLink"} + }, + "LocationStatusType":{ + "type":"string", + "enum":[ + "DOCUMENTED", + "UNDOCUMENTED" + ] + }, "Long":{"type":"long"}, - "MapOfHeaderValues":{ + "MapOfApiStageThrottleSettings":{ "type":"map", "key":{"shape":"String"}, - "value":{"shape":"String"} + "value":{"shape":"ThrottleSettings"} }, "MapOfIntegrationResponse":{ "type":"map", @@ -3690,7 +5253,7 @@ }, "authorizationType":{ "shape":"String", - "documentation":"

The method's authorization type.

" + "documentation":"

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

" }, "authorizerId":{ "shape":"String", @@ -3700,9 +5263,17 @@ "shape":"NullableBoolean", "documentation":"

A boolean flag specifying whether a valid ApiKey is required to invoke this method.

" }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

The identifier of a RequestValidator for request validation.

" + }, + "operationName":{ + "shape":"String", + "documentation":"

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

" + }, "requestParameters":{ "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by Amazon API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

" + "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key is a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or templates.

" }, "requestModels":{ "shape":"MapOfStringToString", @@ -3710,14 +5281,18 @@ }, "methodResponses":{ "shape":"MapOfMethodResponse", - "documentation":"

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.

Example: Get a 200 OK response of a GET method

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.operator\": false, \"method.response.header.operand_2\": false, \"method.response.header.operand_1\": false }, \"statusCode\": \"200\" }

" + "documentation":"

Gets a method response associated with a given HTTP status code.

The collection of method responses are encapsulated in a key-value map, where the key is a response's HTTP status code and the value is a MethodResponse resource that specifies the response returned to the caller from the back end through the integration response.

Example: Get a 200 OK response of a GET method

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T215008Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.operator\": false, \"method.response.header.operand_2\": false, \"method.response.header.operand_1\": false }, \"statusCode\": \"200\" }

" }, "methodIntegration":{ "shape":"Integration", - "documentation":"

Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.

Example:

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"0cjtch\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestTemplates\": { \"application/json\": \"{\\n \\\"a\\\": \\\"$input.params('operand1')\\\",\\n \\\"b\\\": \\\"$input.params('operand2')\\\", \\n \\\"op\\\": \\\"$input.params('operator')\\\" \\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.operator\": \"integration.response.body.op\", \"method.response.header.operand_2\": \"integration.response.body.b\", \"method.response.header.operand_1\": \"integration.response.body.a\" }, \"responseTemplates\": { \"application/json\": \"#set($res = $input.path('$'))\\n{\\n \\\"result\\\": \\\"$res.a, $res.b, $res.op => $res.c\\\",\\n \\\"a\\\" : \\\"$res.a\\\",\\n \\\"b\\\" : \\\"$res.b\\\",\\n \\\"op\\\" : \\\"$res.op\\\",\\n \\\"c\\\" : \\\"$res.c\\\"\\n}\" }, \"selectionPattern\": \"\", \"statusCode\": \"200\" } } }

" + "documentation":"

Gets the method's integration responsible for passing the client-submitted request to the back end and performing necessary transformations to make the request compliant with the back end.

Example:

Request

GET /restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com Content-Length: 117 X-Amz-Date: 20160613T213210Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160613/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"0cjtch\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestTemplates\": { \"application/json\": \"{\\n \\\"a\\\": \\\"$input.params('operand1')\\\",\\n \\\"b\\\": \\\"$input.params('operand2')\\\", \\n \\\"op\\\": \\\"$input.params('operator')\\\" \\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-west-2:lambda:path//2015-03-31/functions/arn:aws:lambda:us-west-2:123456789012:function:Calc/invocations\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/uojnr9hd57/resources/0cjtch/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.operator\": \"integration.response.body.op\", \"method.response.header.operand_2\": \"integration.response.body.b\", \"method.response.header.operand_1\": \"integration.response.body.a\" }, \"responseTemplates\": { \"application/json\": \"#set($res = $input.path('$'))\\n{\\n \\\"result\\\": \\\"$res.a, $res.b, $res.op => $res.c\\\",\\n \\\"a\\\" : \\\"$res.a\\\",\\n \\\"b\\\" : \\\"$res.b\\\",\\n \\\"op\\\" : \\\"$res.op\\\",\\n \\\"c\\\" : \\\"$res.c\\\"\\n}\" }, \"selectionPattern\": \"\", \"statusCode\": \"200\" } } }

" + }, + "authorizationScopes":{ + "shape":"ListOfString", + "documentation":"

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" } }, - "documentation":"

Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.

Example: Retrive the GET method on a specified resource

Request

The following example request retrieves the information about the GET method on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": true, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\\\")\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

In the example above, the response template for the 200 OK response maps the JSON output from the ListStreams action in the back end to an XML output. The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E and the output is decoded using the $util.urlDecode() helper function.

" + "documentation":"

Represents a client-facing interface by which the client calls the API to access back-end resources. A Method resource is integrated with an Integration resource. Both consist of a request and one or more responses. The method request takes the client input that is passed to the back end through the integration request. A method response returns the output from the back end to the client through an integration response. A method request is embodied in a Method resource, whereas an integration request is embodied in an Integration resource. On the other hand, a method response is represented by a MethodResponse resource, whereas an integration response is represented by an IntegrationResponse resource.

Example: Retrive the GET method on a specified resource

Request

The following example request retrieves the information about the GET method on an API resource (3kzxbg5sa2) of an API (fugvjdxtri).

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T210259Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns a 200 OK status code and a payload similar to the following:

{ \"_links\": { \"curies\": [ { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": true, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E\\\")\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

In the example above, the response template for the 200 OK response maps the JSON output from the ListStreams action in the back end to an XML output. The mapping template is URL-encoded as %3CkinesisStreams%3E%23foreach(%24stream%20in%20%24input.path(%27%24.StreamNames%27))%3Cstream%3E%3Cname%3E%24stream%3C%2Fname%3E%3C%2Fstream%3E%23end%3C%2FkinesisStreams%3E and the output is decoded using the $util.urlDecode() helper function.

" }, "MethodResponse":{ "type":"structure", @@ -3728,14 +5303,14 @@ }, "responseParameters":{ "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. Amazon API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" + "documentation":"

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header and the value specifies whether the associated method response header is required or not. The expression of the key must match the pattern method.response.header.{name}, where name is a valid and unique header name. API Gateway passes certain integration response data to the method response headers specified here according to the mapping you prescribe in the API's IntegrationResponse. The integration response data that can be mapped include an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" }, "responseModels":{ "shape":"MapOfStringToString", "documentation":"

Specifies the Model resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a Model name as the value.

" } }, - "documentation":"

Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.

Example: A MethodResponse instance of an API

Request

The example request retrieves a MethodResponse of the 200 status code.

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" }

" + "documentation":"

Represents a method response of a given HTTP status code returned to the client. The method response is passed from the back end through the associated integration response that can be transformed using a mapping template.

Example: A MethodResponse instance of an API

Request

The example request retrieves a MethodResponse of the 200 status code.

GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200 HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160603T222952Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160603/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response

The successful response returns 200 OK status and a payload as follows:

{ \"_links\": { \"curies\": { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true }, \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" }

" }, "MethodSetting":{ "type":"structure", @@ -3746,11 +5321,11 @@ }, "loggingLevel":{ "shape":"String", - "documentation":"

Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO.

" + "documentation":"

Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/loglevel, and the available levels are OFF, ERROR, and INFO. Choose ERROR to write only error-level entries to CloudWatch Logs, or choose INFO to include all ERROR events as well as extra informational events.

" }, "dataTraceEnabled":{ "shape":"Boolean", - "documentation":"

Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

" + "documentation":"

Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is /{method_setting_key}/logging/dataTrace, and the value is a Boolean.

" }, "throttlingBurstLimit":{ "shape":"Integer", @@ -3788,7 +5363,7 @@ "members":{ "authorizationType":{ "shape":"String", - "documentation":"

Specifies the type of authorization used for the method.

" + "documentation":"

The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

" }, "apiKeyRequired":{ "shape":"Boolean", @@ -3806,7 +5381,7 @@ }, "name":{ "shape":"String", - "documentation":"

The name of the model.

" + "documentation":"

The name of the model. Must be an alphanumeric string.

" }, "description":{ "shape":"String", @@ -3814,14 +5389,14 @@ }, "schema":{ "shape":"String", - "documentation":"

The schema for the model. For application/json models, this should be JSON-schema draft v4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

" + "documentation":"

The schema for the model. For application/json models, this should be JSON schema draft 4 model. Do not include \"\\*/\" characters in the description of any properties because such \"\\*/\" characters may be interpreted as the closing marker for comments in some languages, such as Java or JavaScript, causing the installation of your API's SDK generated by API Gateway to fail.

" }, "contentType":{ "shape":"String", "documentation":"

The content-type for the model.

" } }, - "documentation":"

Represents the data structure of a method's request or response payload.

A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.

A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.

" + "documentation":"

Represents the data structure of a method's request or response payload.

A request model defines the data structure of the client-supplied request payload. A response model defines the data structure of the response payload returned by the back end. Although not required, models are useful for mapping payloads between the front end and back end.

A model is used for generating an API's SDK, validating the input request body, and creating a skeletal mapping template.

" }, "Models":{ "type":"structure", @@ -3829,17 +5404,18 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfModel", - "documentation":"

Gets the current Model resource in the collection.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of Model resources.

" + "documentation":"

Represents a collection of Model resources.

" }, "NotFoundException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, + "documentation":"

The requested resource is not found. Make sure that the request URI is correct.

", "error":{"httpStatusCode":404}, "exception":true }, @@ -3861,7 +5437,7 @@ "members":{ "op":{ "shape":"Op", - "documentation":"

An update operation to be performed with this PATCH request. The valid value can be \"add\", \"remove\", or \"replace\". Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

" + "documentation":"

An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

" }, "path":{ "shape":"String", @@ -3869,11 +5445,11 @@ }, "value":{ "shape":"String", - "documentation":"

The new target value of the update operation.

" + "documentation":"

The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{\"a\": ...}'. In a Windows shell, see Using JSON for Parameters.

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

Not supported.

" + "documentation":"

The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with \"op\":\"copy\", \"from\":\"/canarySettings/deploymentId\" and \"path\":\"/deploymentId\".

" } }, "documentation":"A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used." @@ -3884,6 +5460,40 @@ "value":{"shape":"MapOfMethodSnapshot"} }, "ProviderARN":{"type":"string"}, + "PutGatewayResponseRequest":{ + "type":"structure", + "required":[ + "restApiId", + "responseType" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "responseType":{ + "shape":"GatewayResponseType", + "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", + "location":"uri", + "locationName":"response_type" + }, + "statusCode":{ + "shape":"StatusCode", + "documentation":"The HTTP status code of the GatewayResponse." + }, + "responseParameters":{ + "shape":"MapOfStringToString", + "documentation":"

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

" + }, + "responseTemplates":{ + "shape":"MapOfStringToString", + "documentation":"

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

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

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

" + }, "PutIntegrationRequest":{ "type":"structure", "required":[ @@ -3895,34 +5505,42 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a put integration request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a put integration request's resource ID.

", + "documentation":"

[Required] Specifies a put integration request's resource ID.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a put integration request's HTTP method.

", + "documentation":"

[Required] Specifies a put integration request's HTTP method.

", "location":"uri", "locationName":"http_method" }, "type":{ "shape":"IntegrationType", - "documentation":"

Specifies a put integration input's type.

" + "documentation":"

[Required] Specifies a put integration input's type.

" }, "integrationHttpMethod":{ "shape":"String", "documentation":"

Specifies a put integration HTTP method. When the integration type is HTTP or AWS, this field is required.

", "locationName":"httpMethod" }, - "uri":{ + "uri":{ + "shape":"String", + "documentation":"

Specifies Uniform Resource Identifier (URI) of the integration endpoint.

  • For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.

  • For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}

" + }, + "connectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of the network connection to the integration endpoint. The valid value is INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and a network load balancer in a VPC. The default value is INTERNET.

" + }, + "connectionId":{ "shape":"String", - "documentation":"

Specifies a put integration input's Uniform Resource Identifier (URI). When the integration type is HTTP or AWS, this field is required. For integration with Lambda as an AWS service proxy, this value is of the 'arn:aws:apigateway:<region>:lambda:path/2015-03-31/functions/<functionArn>/invocations' format.

" + "documentation":"

The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.

" }, "credentials":{ "shape":"String", @@ -3942,14 +5560,22 @@ }, "cacheNamespace":{ "shape":"String", - "documentation":"

Specifies a put integration input's cache namespace.

" + "documentation":"

A list of request parameters whose values are to be cached.

" }, "cacheKeyParameters":{ "shape":"ListOfString", - "documentation":"

Specifies a put integration input's cache key parameters.

" + "documentation":"

An API-specific tag group of related cached parameters.

" + }, + "contentHandling":{ + "shape":"ContentHandlingStrategy", + "documentation":"

Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a request payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a request payload from a binary blob to a Base64-encoded string.

If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehavior is configured to support payload pass-through.

" + }, + "timeoutInMillis":{ + "shape":"NullableInteger", + "documentation":"

Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.

" } }, - "documentation":"

Represents a put integration request.

" + "documentation":"

Sets up a method's integration.

" }, "PutIntegrationResponseRequest":{ "type":"structure", @@ -3962,25 +5588,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a put integration response request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a put integration response request's resource identifier.

", + "documentation":"

[Required] Specifies a put integration response request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a put integration response request's HTTP method.

", + "documentation":"

[Required] Specifies a put integration response request's HTTP method.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

Specifies the status code that is used to map the integration response to an existing MethodResponse.

", + "documentation":"

[Required] Specifies the status code that is used to map the integration response to an existing MethodResponse.

", "location":"uri", "locationName":"status_code" }, @@ -3995,6 +5621,10 @@ "responseTemplates":{ "shape":"MapOfStringToString", "documentation":"

Specifies a put integration response's templates.

" + }, + "contentHandling":{ + "shape":"ContentHandlingStrategy", + "documentation":"

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

  • CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

  • CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.

" } }, "documentation":"

Represents a put integration response request.

" @@ -4010,41 +5640,53 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the new Method resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the new Method resource.

", + "documentation":"

[Required] The Resource identifier for the new Method resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies the method request's HTTP method type.

", + "documentation":"

[Required] Specifies the method request's HTTP method type.

", "location":"uri", "locationName":"http_method" }, "authorizationType":{ "shape":"String", - "documentation":"

Specifies the type of authorization used for the method.

" + "documentation":"

[Required] The method's authorization type. Valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, CUSTOM for using a custom authorizer, or COGNITO_USER_POOLS for using a Cognito user pool.

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

Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM.

" + "documentation":"

Specifies the identifier of an Authorizer to use on this Method, if the type is CUSTOM or COGNITO_USER_POOLS. The authorizer identifier is generated by API Gateway when you created the authorizer.

" }, "apiKeyRequired":{ "shape":"Boolean", "documentation":"

Specifies whether the method required a valid ApiKey.

" }, + "operationName":{ + "shape":"String", + "documentation":"

A human-friendly operation identifier for the method. For example, you can assign the operationName of ListPets for the GET /pets method in the PetStore example.

" + }, "requestParameters":{ "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by Amazon API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

" + "documentation":"

A key-value map defining required or optional method request parameters that can be accepted by API Gateway. A key defines a method request parameter name matching the pattern of method.request.{location}.{name}, where location is querystring, path, or header and name is a valid and unique parameter name. The value associated with the key is a Boolean flag indicating whether the parameter is required (true) or optional (false). The method request parameter names defined here are available in Integration to be mapped to integration request parameters or body-mapping templates.

" }, "requestModels":{ "shape":"MapOfStringToString", "documentation":"

Specifies the Model resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a Model name as the value.

" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

The identifier of a RequestValidator for validating the method request.

" + }, + "authorizationScopes":{ + "shape":"ListOfString", + "documentation":"

A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" } }, "documentation":"

Request to add a method to an existing Resource resource.

" @@ -4060,31 +5702,31 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Method resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the Method resource.

", + "documentation":"

[Required] The Resource identifier for the Method resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

The method response's status code.

", + "documentation":"

[Required] The method response's status code.

", "location":"uri", "locationName":"status_code" }, "responseParameters":{ "shape":"MapOfStringToBoolean", - "documentation":"

A key-value map specifying required or optional response parameters that Amazon API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" + "documentation":"

A key-value map specifying required or optional response parameters that API Gateway can send back to the caller. A key defines a method response header name and the associated value is a Boolean flag indicating whether the method response parameter is required or not. The method response header names must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The response parameter names defined here are available in the integration response to be mapped from an integration response header expressed in integration.response.header.{name}, a static value enclosed within a pair of single quotes (e.g., 'application/json'), or a JSON expression from the back-end response payload in the form of integration.response.body.{JSON-expression}, where JSON-expression is a valid JSON expression without the $ prefix.)

" }, "responseModels":{ "shape":"MapOfStringToString", @@ -4109,7 +5751,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi to be updated.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -4127,12 +5769,12 @@ }, "parameters":{ "shape":"MapOfStringToString", - "documentation":"

Custom headers supplied as part of the request.

", + "documentation":"

Custom header parameters as part of the request. For example, to exclude DocumentationParts from an imported API, set ignore=documentation as a parameters value, as in the AWS CLI command of aws apigateway import-rest-api --parameters ignore=documentation --body 'file:///path/to/imported-api-body.json'.

", "location":"querystring" }, "body":{ "shape":"Blob", - "documentation":"

The PUT request body containing external API definitions. Currently, only Swagger definition JSON files are supported.

" + "documentation":"

[Required] The PUT request body containing external API definitions. Currently, only OpenAPI definition JSON/YAML files are supported. The maximum size of the API definition file is 2MB.

" } }, "documentation":"

A PUT request to update an existing API, with external API definitions specified as the request body.

", @@ -4164,6 +5806,40 @@ }, "documentation":"

Quotas configured for a usage plan.

" }, + "RequestValidator":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The identifier of this RequestValidator.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of this RequestValidator

" + }, + "validateRequestBody":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether to validate a request body according to the configured Model schema.

" + }, + "validateRequestParameters":{ + "shape":"Boolean", + "documentation":"

A Boolean flag to indicate whether to validate request parameters (true) or not (false).

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

A set of validation rules for incoming Method requests.

In OpenAPI, a RequestValidator of an API is defined by the x-amazon-apigateway-request-validators.requestValidator object. It the referenced using the x-amazon-apigateway-request-validator property.

" + }, + "RequestValidators":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfRequestValidator", + "documentation":"

The current page of elements from this collection.

", + "locationName":"item" + } + }, + "documentation":"

A collection of RequestValidator resources of a given RestApi.

In OpenAPI, the RequestValidators of an API is defined by the x-amazon-apigateway-request-validators extension.

" + }, "Resource":{ "type":"structure", "members":{ @@ -4185,10 +5861,10 @@ }, "resourceMethods":{ "shape":"MapOfMethod", - "documentation":"

Gets an API resource's method of a given HTTP verb.

The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK response of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods request.

Example: Get the GET method of an API resource

Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20160608T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160608/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ \"_links\": { \"curies\": [ { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": false, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

If the OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the GET of the last path segment in the request URL with OPTIONS.

" + "documentation":"

Gets an API resource's method of a given HTTP verb.

The resource methods are a map of methods indexed by methods' HTTP verbs enabled on the resource. This method map is included in the 200 OK response of the GET /restapis/{restapi_id}/resources/{resource_id} or GET /restapis/{restapi_id}/resources/{resource_id}?embed=methods request.

Example: Get the GET method of an API resource

Request
GET /restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET HTTP/1.1 Content-Type: application/json Host: apigateway.us-east-1.amazonaws.com X-Amz-Date: 20170223T031827Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20170223/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature={sig4_hash}
Response
{ \"_links\": { \"curies\": [ { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-{rel}.html\", \"name\": \"integration\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-integration-response-{rel}.html\", \"name\": \"integrationresponse\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-{rel}.html\", \"name\": \"method\", \"templated\": true }, { \"href\": \"https://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-method-response-{rel}.html\", \"name\": \"methodresponse\", \"templated\": true } ], \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\", \"name\": \"GET\", \"title\": \"GET\" }, \"integration:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"method:integration\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"method:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"method:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET\" }, \"methodresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/{status_code}\", \"templated\": true } }, \"apiKeyRequired\": false, \"authorizationType\": \"NONE\", \"httpMethod\": \"GET\", \"_embedded\": { \"method:integration\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integration:responses\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integration:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration\" }, \"integrationresponse:put\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/{status_code}\", \"templated\": true } }, \"cacheKeyParameters\": [], \"cacheNamespace\": \"3kzxbg5sa2\", \"credentials\": \"arn:aws:iam::123456789012:role/apigAwsProxyRole\", \"httpMethod\": \"POST\", \"passthroughBehavior\": \"WHEN_NO_MATCH\", \"requestParameters\": { \"integration.request.header.Content-Type\": \"'application/x-amz-json-1.1'\" }, \"requestTemplates\": { \"application/json\": \"{\\n}\" }, \"type\": \"AWS\", \"uri\": \"arn:aws:apigateway:us-east-1:kinesis:action/ListStreams\", \"_embedded\": { \"integration:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"integrationresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" }, \"integrationresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/integration/responses/200\" } }, \"responseParameters\": { \"method.response.header.Content-Type\": \"'application/xml'\" }, \"responseTemplates\": { \"application/json\": \"$util.urlDecode(\\\"%3CkinesisStreams%3E#foreach($stream in $input.path('$.StreamNames'))%3Cstream%3E%3Cname%3E$stream%3C/name%3E%3C/stream%3E#end%3C/kinesisStreams%3E\\\")\\n\" }, \"statusCode\": \"200\" } } }, \"method:responses\": { \"_links\": { \"self\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\", \"name\": \"200\", \"title\": \"200\" }, \"methodresponse:delete\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" }, \"methodresponse:update\": { \"href\": \"/restapis/fugvjdxtri/resources/3kzxbg5sa2/methods/GET/responses/200\" } }, \"responseModels\": { \"application/json\": \"Empty\" }, \"responseParameters\": { \"method.response.header.Content-Type\": false }, \"statusCode\": \"200\" } } }

If the OPTIONS is enabled on the resource, you can follow the example here to get that method. Just replace the GET of the last path segment in the request URL with OPTIONS.

" } }, - "documentation":"

Represents an API resource.

" + "documentation":"

Represents an API resource.

" }, "Resources":{ "type":"structure", @@ -4196,18 +5872,18 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfResource", - "documentation":"

Gets the current Resource resource in the collection.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of Resource resources.

" + "documentation":"

Represents a collection of Resource resources.

" }, "RestApi":{ "type":"structure", "members":{ "id":{ "shape":"String", - "documentation":"

The API's identifier. This identifier is unique across all of your APIs in Amazon API Gateway.

" + "documentation":"

The API's identifier. This identifier is unique across all of your APIs in API Gateway.

" }, "name":{ "shape":"String", @@ -4219,14 +5895,42 @@ }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date when the API was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the API was created.

" + }, + "version":{ + "shape":"String", + "documentation":"

A version identifier for the API.

" }, "warnings":{ "shape":"ListOfString", "documentation":"

The warning messages reported when failonwarnings is turned on during API import.

" + }, + "binaryMediaTypes":{ + "shape":"ListOfString", + "documentation":"

The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.

" + }, + "minimumCompressionSize":{ + "shape":"NullableInteger", + "documentation":"

A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size.

" + }, + "apiKeySource":{ + "shape":"ApiKeySourceType", + "documentation":"

The source of the API key for metering requests according to a usage plan. Valid values are:

  • HEADER to read the API key from the X-API-Key header of a request.
  • AUTHORIZER to read the API key from the UsageIdentifierKey from a custom authorizer.

" + }, + "endpointConfiguration":{ + "shape":"EndpointConfiguration", + "documentation":"

The endpoint configuration of this RestApi showing the endpoint types of the API.

" + }, + "policy":{ + "shape":"String", + "documentation":"A stringified JSON policy document that applies to this RestApi regardless of the caller and Method configuration." + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" } }, - "documentation":"

Represents a REST API.

" + "documentation":"

Represents a REST API.

" }, "RestApis":{ "type":"structure", @@ -4234,11 +5938,37 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfRestApi", - "documentation":"

An array of links to the current page of RestApi resources.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Contains references to your APIs and links that guide you in how to interact with your collection. A collection offers a paginated view of your APIs.

" + "documentation":"

Contains references to your APIs and links that guide you in how to interact with your collection. A collection offers a paginated view of your APIs.

" + }, + "SdkConfigurationProperty":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of a an SdkType configuration property.

" + }, + "friendlyName":{ + "shape":"String", + "documentation":"

The user-friendly name of an SdkType configuration property.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of an SdkType configuration property.

" + }, + "required":{ + "shape":"Boolean", + "documentation":"

A boolean flag of an SdkType configuration property to indicate if the associated SDK configuration property is required (true) or not (false).

" + }, + "defaultValue":{ + "shape":"String", + "documentation":"

The default value of an SdkType configuration property.

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

A configuration property of an SDK type.

" }, "SdkResponse":{ "type":"structure", @@ -4263,6 +5993,47 @@ "documentation":"

The binary blob response to GetSdk, which contains the generated SDK.

", "payload":"body" }, + "SdkType":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The identifier of an SdkType instance.

" + }, + "friendlyName":{ + "shape":"String", + "documentation":"

The user-friendly name of an SdkType instance.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of an SdkType.

" + }, + "configurationProperties":{ + "shape":"ListOfSdkConfigurationProperty", + "documentation":"

A list of configuration properties of an SdkType.

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

A type of SDK that API Gateway can generate.

" + }, + "SdkTypes":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfSdkType", + "documentation":"

The current page of elements from this collection.

", + "locationName":"item" + } + }, + "documentation":"

The collection of SdkType instances.

" + }, + "SecurityPolicy":{ + "type":"string", + "enum":[ + "TLS_1_0", + "TLS_1_2" + ] + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -4273,6 +6044,7 @@ }, "message":{"shape":"String"} }, + "documentation":"

The requested service is not available. For details see the accompanying error message. Retry after the specified time period.

", "error":{"httpStatusCode":503}, "exception":true, "fault":true @@ -4290,7 +6062,7 @@ }, "stageName":{ "shape":"String", - "documentation":"

The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.

" + "documentation":"

The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" }, "description":{ "shape":"String", @@ -4316,27 +6088,51 @@ "shape":"MapOfStringToString", "documentation":"

A map that defines the stage variables for a Stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" }, + "documentationVersion":{ + "shape":"String", + "documentation":"

The version of the associated API documentation.

" + }, + "accessLogSettings":{ + "shape":"AccessLogSettings", + "documentation":"

Settings for logging access in this stage.

" + }, + "canarySettings":{ + "shape":"CanarySettings", + "documentation":"

Settings for the canary deployment in this stage.

" + }, + "tracingEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether active tracing with X-ray is enabled for the Stage.

" + }, + "webAclArn":{ + "shape":"String", + "documentation":"

The ARN of the WebAcl associated with the Stage.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" + }, "createdDate":{ "shape":"Timestamp", - "documentation":"

The date and time that the stage was created, in ISO 8601 format.

" + "documentation":"

The timestamp when the stage was created.

" }, "lastUpdatedDate":{ "shape":"Timestamp", - "documentation":"

The date and time that information about the stage was last updated, in ISO 8601 format.

" + "documentation":"

The timestamp when the stage last updated.

" } }, - "documentation":"

Represents a unique identifier for a version of a deployed RestApi that is callable by users.

" + "documentation":"

Represents a unique identifier for a version of a deployed RestApi that is callable by users.

" }, "StageKey":{ "type":"structure", "members":{ "restApiId":{ "shape":"String", - "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" + "documentation":"

The string identifier of the associated RestApi.

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

The stage name in the RestApi that the stage key references.

" + "documentation":"

The stage name associated with the stage key.

" } }, "documentation":"

A reference to a unique stage identified in the format {restApiId}/{stage}.

" @@ -4346,10 +6142,10 @@ "members":{ "item":{ "shape":"ListOfStage", - "documentation":"

An individual Stage resource.

" + "documentation":"

The current page of elements from this collection.

" } }, - "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" + "documentation":"

A list of Stage resources that are associated with the ApiKey resource.

" }, "StatusCode":{ "type":"string", @@ -4357,15 +6153,45 @@ "pattern":"[1-5]\\d\\d" }, "String":{"type":"string"}, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

[Required] The ARN of a resource that can be tagged.

", + "location":"uri", + "locationName":"resource_arn" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

[Required] The key-value map of strings. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

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

Adds or updates a tag on a given resource.

" + }, + "Tags":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

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

The collection of tags. Each tag element is associated with a given resource.

" + }, "Template":{ "type":"structure", "members":{ "value":{ "shape":"String", - "documentation":"

The Apache Velocity Template Language (VTL) template content used for the template resource.

" + "documentation":"

The Apache Velocity Template Language (VTL) template content used for the template resource.

" } }, - "documentation":"

Represents a mapping template used to transform a payload.

" + "documentation":"

Represents a mapping template used to transform a payload.

" }, "TestInvokeAuthorizerRequest":{ "type":"structure", @@ -4376,20 +6202,24 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a test invoke authorizer request's RestApi identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "authorizerId":{ "shape":"String", - "documentation":"

Specifies a test invoke authorizer request's Authorizer ID.

", + "documentation":"

[Required] Specifies a test invoke authorizer request's Authorizer ID.

", "location":"uri", "locationName":"authorizer_id" }, "headers":{ - "shape":"MapOfHeaderValues", + "shape":"MapOfStringToString", "documentation":"

[Required] A key-value map of headers to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, should be specified.

" }, + "multiValueHeaders":{ + "shape":"MapOfStringToList", + "documentation":"

[Optional] The headers as a map from string to list of values to simulate an incoming invocation request. This is where the incoming authorization token, or identity source, may be specified.

" + }, "pathWithQueryString":{ "shape":"String", "documentation":"

[Optional] The URI path, including query string, of the simulated invocation request. Use this to specify path parameters and query string parameters.

" @@ -4418,7 +6248,7 @@ }, "log":{ "shape":"String", - "documentation":"

The Amazon API Gateway execution log for the test authorizer request.

" + "documentation":"

The API Gateway execution log for the test authorizer request.

" }, "latency":{ "shape":"Long", @@ -4435,7 +6265,7 @@ "authorization":{"shape":"MapOfStringToList"}, "claims":{ "shape":"MapOfStringToString", - "documentation":"

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

" + "documentation":"

The open identity claims, with any supported custom attributes, returned from the Cognito Your User Pool configured for the API.

" } }, "documentation":"

Represents the response of the test invoke request for a custom Authorizer

" @@ -4450,19 +6280,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies a test invoke method request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies a test invoke method request's resource ID.

", + "documentation":"

[Required] Specifies a test invoke method request's resource ID.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies a test invoke method request's HTTP method.

", + "documentation":"

[Required] Specifies a test invoke method request's HTTP method.

", "location":"uri", "locationName":"http_method" }, @@ -4475,9 +6305,13 @@ "documentation":"

The simulated request body of an incoming invocation request.

" }, "headers":{ - "shape":"MapOfHeaderValues", + "shape":"MapOfStringToString", "documentation":"

A key-value map of headers to simulate an incoming invocation request.

" }, + "multiValueHeaders":{ + "shape":"MapOfStringToList", + "documentation":"

The headers as a map from string to list of values to simulate an incoming invocation request.

" + }, "clientCertificateId":{ "shape":"String", "documentation":"

A ClientCertificate identifier to use in the test invocation. API Gateway will use the certificate when making the HTTPS request to the defined back-end endpoint.

" @@ -4501,19 +6335,23 @@ "documentation":"

The body of the HTTP response.

" }, "headers":{ - "shape":"MapOfHeaderValues", + "shape":"MapOfStringToString", "documentation":"

The headers of the HTTP response.

" }, + "multiValueHeaders":{ + "shape":"MapOfStringToList", + "documentation":"

The headers of the HTTP response as a map from string to list of values.

" + }, "log":{ "shape":"String", - "documentation":"

The Amazon API Gateway execution log for the test invoke request.

" + "documentation":"

The API Gateway execution log for the test invoke request.

" }, "latency":{ "shape":"Long", "documentation":"

The execution latency of the test invoke request.

" } }, - "documentation":"

Represents the response of the test invoke request in the HTTP method.

" + "documentation":"

Represents the response of the test invoke request in the HTTP method.

" }, "ThrottleSettings":{ "type":"structure", @@ -4540,6 +6378,7 @@ }, "message":{"shape":"String"} }, + "documentation":"

The request has reached its throttling limit. Retry after the specified time period.

", "error":{"httpStatusCode":429}, "exception":true }, @@ -4556,9 +6395,32 @@ "members":{ "message":{"shape":"String"} }, + "documentation":"

The request is denied because the caller has insufficient permissions.

", "error":{"httpStatusCode":401}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

[Required] The ARN of a resource that can be tagged.

", + "location":"uri", + "locationName":"resource_arn" + }, + "tagKeys":{ + "shape":"ListOfString", + "documentation":"

[Required] The Tag keys to delete.

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

Removes a tag from a given resource.

" + }, "UpdateAccountRequest":{ "type":"structure", "members":{ @@ -4567,7 +6429,7 @@ "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

" } }, - "documentation":"

Requests Amazon API Gateway to change information about the current Account resource.

" + "documentation":"

Requests API Gateway to change information about the current Account resource.

" }, "UpdateApiKeyRequest":{ "type":"structure", @@ -4575,7 +6437,7 @@ "members":{ "apiKey":{ "shape":"String", - "documentation":"

The identifier of the ApiKey resource to be updated.

", + "documentation":"

[Required] The identifier of the ApiKey resource to be updated.

", "location":"uri", "locationName":"api_Key" }, @@ -4595,13 +6457,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Authorizer resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "authorizerId":{ "shape":"String", - "documentation":"

The identifier of the Authorizer resource.

", + "documentation":"

[Required] The identifier of the Authorizer resource.

", "location":"uri", "locationName":"authorizer_id" }, @@ -4621,13 +6483,13 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The domain name of the BasePathMapping resource to change.

", + "documentation":"

[Required] The domain name of the BasePathMapping resource to change.

", "location":"uri", "locationName":"domain_name" }, "basePath":{ "shape":"String", - "documentation":"

The base path of the BasePathMapping resource to change.

", + "documentation":"

[Required] The base path of the BasePathMapping resource to change.

To specify an empty base path, set this parameter to '(none)'.

", "location":"uri", "locationName":"base_path" }, @@ -4644,7 +6506,7 @@ "members":{ "clientCertificateId":{ "shape":"String", - "documentation":"

The identifier of the ClientCertificate resource to be updated.

", + "documentation":"

[Required] The identifier of the ClientCertificate resource to be updated.

", "location":"uri", "locationName":"clientcertificate_id" }, @@ -4664,7 +6526,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The replacement identifier of the RestApi resource for the Deployment resource to change information about.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -4679,7 +6541,59 @@ "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

" } }, - "documentation":"

Requests Amazon API Gateway to change information about a Deployment resource.

" + "documentation":"

Requests API Gateway to change information about a Deployment resource.

" + }, + "UpdateDocumentationPartRequest":{ + "type":"structure", + "required":[ + "restApiId", + "documentationPartId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "documentationPartId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the to-be-updated documentation part.

", + "location":"uri", + "locationName":"part_id" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates an existing documentation part of a given API.

" + }, + "UpdateDocumentationVersionRequest":{ + "type":"structure", + "required":[ + "restApiId", + "documentationVersion" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi..

", + "location":"uri", + "locationName":"restapi_id" + }, + "documentationVersion":{ + "shape":"String", + "documentation":"

[Required] The version identifier of the to-be-updated documentation version.

", + "location":"uri", + "locationName":"doc_version" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates an existing documentation version of an API.

" }, "UpdateDomainNameRequest":{ "type":"structure", @@ -4687,7 +6601,7 @@ "members":{ "domainName":{ "shape":"String", - "documentation":"

The name of the DomainName resource to be changed.

", + "documentation":"

[Required] The name of the DomainName resource to be changed.

", "location":"uri", "locationName":"domain_name" }, @@ -4698,6 +6612,32 @@ }, "documentation":"

A request to change information about the DomainName resource.

" }, + "UpdateGatewayResponseRequest":{ + "type":"structure", + "required":[ + "restApiId", + "responseType" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "responseType":{ + "shape":"GatewayResponseType", + "documentation":"

[Required]

The response type of the associated GatewayResponse. Valid values are

  • ACCESS_DENIED
  • API_CONFIGURATION_ERROR
  • AUTHORIZER_FAILURE
  • AUTHORIZER_CONFIGURATION_ERROR
  • BAD_REQUEST_PARAMETERS
  • BAD_REQUEST_BODY
  • DEFAULT_4XX
  • DEFAULT_5XX
  • EXPIRED_TOKEN
  • INVALID_SIGNATURE
  • INTEGRATION_FAILURE
  • INTEGRATION_TIMEOUT
  • INVALID_API_KEY
  • MISSING_AUTHENTICATION_TOKEN
  • QUOTA_EXCEEDED
  • REQUEST_TOO_LARGE
  • RESOURCE_NOT_FOUND
  • THROTTLED
  • UNAUTHORIZED
  • UNSUPPORTED_MEDIA_TYPE

", + "location":"uri", + "locationName":"response_type" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates a GatewayResponse of a specified response type on the given RestApi.

" + }, "UpdateIntegrationRequest":{ "type":"structure", "required":[ @@ -4708,19 +6648,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Represents an update integration request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Represents an update integration request's resource identifier.

", + "documentation":"

[Required] Represents an update integration request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Represents an update integration request's HTTP method.

", + "documentation":"

[Required] Represents an update integration request's HTTP method.

", "location":"uri", "locationName":"http_method" }, @@ -4742,25 +6682,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

Specifies an update integration response request's API identifier.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

Specifies an update integration response request's resource identifier.

", + "documentation":"

[Required] Specifies an update integration response request's resource identifier.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

Specifies an update integration response request's HTTP method.

", + "documentation":"

[Required] Specifies an update integration response request's HTTP method.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

Specifies an update integration response request's status code.

", + "documentation":"

[Required] Specifies an update integration response request's status code.

", "location":"uri", "locationName":"status_code" }, @@ -4781,19 +6721,19 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Method resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the Method resource.

", + "documentation":"

[Required] The Resource identifier for the Method resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" }, @@ -4815,25 +6755,25 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the MethodResponse resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The Resource identifier for the MethodResponse resource.

", + "documentation":"

[Required] The Resource identifier for the MethodResponse resource.

", "location":"uri", "locationName":"resource_id" }, "httpMethod":{ "shape":"String", - "documentation":"

The HTTP verb of the Method resource.

", + "documentation":"

[Required] The HTTP verb of the Method resource.

", "location":"uri", "locationName":"http_method" }, "statusCode":{ "shape":"StatusCode", - "documentation":"

The status code for the MethodResponse resource.

", + "documentation":"

[Required] The status code for the MethodResponse resource.

", "location":"uri", "locationName":"status_code" }, @@ -4853,13 +6793,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier under which the model exists.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "modelName":{ "shape":"String", - "documentation":"

The name of the model to update.

", + "documentation":"

[Required] The name of the model to update.

", "location":"uri", "locationName":"model_name" }, @@ -4870,6 +6810,32 @@ }, "documentation":"

Request to update an existing model in an existing RestApi resource.

" }, + "UpdateRequestValidatorRequest":{ + "type":"structure", + "required":[ + "restApiId", + "requestValidatorId" + ], + "members":{ + "restApiId":{ + "shape":"String", + "documentation":"

[Required] The string identifier of the associated RestApi.

", + "location":"uri", + "locationName":"restapi_id" + }, + "requestValidatorId":{ + "shape":"String", + "documentation":"

[Required] The identifier of RequestValidator to be updated.

", + "location":"uri", + "locationName":"requestvalidator_id" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates a RequestValidator of a given RestApi.

" + }, "UpdateResourceRequest":{ "type":"structure", "required":[ @@ -4879,13 +6845,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The RestApi identifier for the Resource resource.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "resourceId":{ "shape":"String", - "documentation":"

The identifier of the Resource resource.

", + "documentation":"

[Required] The identifier of the Resource resource.

", "location":"uri", "locationName":"resource_id" }, @@ -4902,7 +6868,7 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The ID of the RestApi you want to update.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, @@ -4922,13 +6888,13 @@ "members":{ "restApiId":{ "shape":"String", - "documentation":"

The identifier of the RestApi resource for the Stage resource to change information about.

", + "documentation":"

[Required] The string identifier of the associated RestApi.

", "location":"uri", "locationName":"restapi_id" }, "stageName":{ "shape":"String", - "documentation":"

The name of the Stage resource to change information about.

", + "documentation":"

[Required] The name of the Stage resource to change information about.

", "location":"uri", "locationName":"stage_name" }, @@ -4937,7 +6903,7 @@ "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

" } }, - "documentation":"

Requests Amazon API Gateway to change information about a Stage resource.

" + "documentation":"

Requests API Gateway to change information about a Stage resource.

" }, "UpdateUsagePlanRequest":{ "type":"structure", @@ -4945,7 +6911,7 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the to-be-updated usage plan.

", + "documentation":"

[Required] The Id of the to-be-updated usage plan.

", "location":"uri", "locationName":"usageplanId" }, @@ -4965,13 +6931,13 @@ "members":{ "usagePlanId":{ "shape":"String", - "documentation":"

The Id of the usage plan associated with the usage data.

", + "documentation":"

[Required] The Id of the usage plan associated with the usage data.

", "location":"uri", "locationName":"usageplanId" }, "keyId":{ "shape":"String", - "documentation":"

The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

", + "documentation":"

[Required] The identifier of the API key associated with the usage plan in which a temporary extension is granted to the remaining quota.

", "location":"uri", "locationName":"keyId" }, @@ -4980,7 +6946,24 @@ "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

" } }, - "documentation":"

The PATCH request to grant a temporary extension to the reamining quota of a usage plan associated with a specified API key.

" + "documentation":"

The PATCH request to grant a temporary extension to the remaining quota of a usage plan associated with a specified API key.

" + }, + "UpdateVpcLinkRequest":{ + "type":"structure", + "required":["vpcLinkId"], + "members":{ + "vpcLinkId":{ + "shape":"String", + "documentation":"

[Required] The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

", + "location":"uri", + "locationName":"vpclink_id" + }, + "patchOperations":{ + "shape":"ListOfPatchOperation", + "documentation":"

A list of update operations to be applied to the specified resource and in the order specified in this list.

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

Updates an existing VpcLink of a specified identifier.

" }, "Usage":{ "type":"structure", @@ -5004,7 +6987,7 @@ "locationName":"values" } }, - "documentation":"

Represents the usage data of a usage plan.

" + "documentation":"

Represents the usage data of a usage plan.

" }, "UsagePlan":{ "type":"structure", @@ -5032,9 +7015,17 @@ "quota":{ "shape":"QuotaSettings", "documentation":"

The maximum number of permitted requests per a given unit time interval.

" + }, + "productCode":{ + "shape":"String", + "documentation":"

The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

" } }, - "documentation":"

Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.

In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.

" + "documentation":"

Represents a usage plan than can specify who can assess associated API stages with specified request limits and quotas.

In a usage plan, you associate an API by specifying the API's Id and a stage name of the specified API. You add plan customers by adding API keys to the plan.

" }, "UsagePlanKey":{ "type":"structure", @@ -5056,7 +7047,7 @@ "documentation":"

The name of a usage plan key.

" } }, - "documentation":"

Represents a usage plan key to identify a plan customer.

To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.

\" " + "documentation":"

Represents a usage plan key to identify a plan customer.

To associate an API stage with a selected API key in a usage plan, you must create a UsagePlanKey resource to represent the selected ApiKey.

\" " }, "UsagePlanKeys":{ "type":"structure", @@ -5064,11 +7055,11 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfUsagePlanKey", - "documentation":"

Gets the current item of the usage plan keys collection.

", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents the collection of usage plan keys added to usage plans for the associated API keys and, possibly, other types of keys.

" + "documentation":"

Represents the collection of usage plan keys added to usage plans for the associated API keys and, possibly, other types of keys.

" }, "UsagePlans":{ "type":"structure", @@ -5076,12 +7067,67 @@ "position":{"shape":"String"}, "items":{ "shape":"ListOfUsagePlan", - "documentation":"

Gets the current item when enumerating the collection of UsagePlan.

", + "documentation":"

The current page of elements from this collection.

", + "locationName":"item" + } + }, + "documentation":"

Represents a collection of usage plans for an AWS account.

" + }, + "VpcLink":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The identifier of the VpcLink. It is used in an Integration to reference this VpcLink.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name used to label and identify the VPC link.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the VPC link.

" + }, + "targetArns":{ + "shape":"ListOfString", + "documentation":"

The ARN of the network load balancer of the VPC targeted by the VPC link. The network load balancer must be owned by the same AWS account of the API owner.

" + }, + "status":{ + "shape":"VpcLinkStatus", + "documentation":"

The status of the VPC link. The valid values are AVAILABLE, PENDING, DELETING, or FAILED. Deploying an API will wait if the status is PENDING and will fail if the status is DELETING.

" + }, + "statusMessage":{ + "shape":"String", + "documentation":"

A description about the VPC link status.

" + }, + "tags":{ + "shape":"MapOfStringToString", + "documentation":"

The collection of tags. Each tag element is associated with a given resource.

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

An API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).

To enable access to a resource in an Amazon Virtual Private Cloud through Amazon API Gateway, you, as an API developer, create a VpcLink resource targeted for one or more network load balancers of the VPC and then integrate an API method with a private integration that uses the VpcLink. The private integration has an integration type of HTTP or HTTP_PROXY and has a connection type of VPC_LINK. The integration uses the connectionId property to identify the VpcLink used.

" + }, + "VpcLinkStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "PENDING", + "DELETING", + "FAILED" + ] + }, + "VpcLinks":{ + "type":"structure", + "members":{ + "position":{"shape":"String"}, + "items":{ + "shape":"ListOfVpcLink", + "documentation":"

The current page of elements from this collection.

", "locationName":"item" } }, - "documentation":"

Represents a collection of usage plans for an AWS account.

" + "documentation":"

The collection of VPC links under the caller's account in a region.

" } }, - "documentation":"Amazon API Gateway

Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. Amazon API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.

" + "documentation":"Amazon API Gateway

Amazon API Gateway helps developers deliver robust, secure, and scalable mobile and web application back ends. API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.

" } diff -Nru python-botocore-1.4.70/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json python-botocore-1.16.19+repack/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json --- python-botocore-1.4.70/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,217 @@ +{ + "metadata" : { + "apiVersion" : "2018-11-29", + "endpointPrefix" : "execute-api", + "signingName" : "execute-api", + "serviceFullName" : "AmazonApiGatewayManagementApi", + "serviceId" : "ApiGatewayManagementApi", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "apigatewaymanagementapi-2018-11-29", + "signatureVersion" : "v4" + }, + "operations" : { + "DeleteConnection" : { + "name" : "DeleteConnection", + "http" : { + "method" : "DELETE", + "requestUri" : "/@connections/{connectionId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteConnectionRequest" + }, + "errors" : [ { + "shape" : "GoneException", + "documentation" : "

The connection with the provided id no longer exists.

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

The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.

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

The caller is not authorized to invoke this operation.

" + } ], + "documentation" : "

Delete the connection with the provided id.

" + }, + "GetConnection" : { + "name" : "GetConnection", + "http" : { + "method" : "GET", + "requestUri" : "/@connections/{connectionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConnectionRequest" + }, + "output" : { + "shape" : "GetConnectionResponse" + }, + "errors" : [ { + "shape" : "GoneException", + "documentation" : "

The connection with the provided id no longer exists.

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

The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.

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

The caller is not authorized to invoke this operation.

" + } ], + "documentation" : "

Get information about the connection with the provided id.

" + }, + "PostToConnection" : { + "name" : "PostToConnection", + "http" : { + "method" : "POST", + "requestUri" : "/@connections/{connectionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "PostToConnectionRequest" + }, + "errors" : [ { + "shape" : "GoneException", + "documentation" : "

The connection with the provided id no longer exists.

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

The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.

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

The data has exceeded the maximum size allowed.

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

The caller is not authorized to invoke this operation.

" + } ], + "documentation" : "

Sends the provided data to the specified connection.

" + } + }, + "shapes" : { + "Data" : { + "type" : "blob", + "max" : 131072, + "documentation" : "

The data to be sent to the client specified by its connection id.

" + }, + "DeleteConnectionRequest" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "connectionId" + } + }, + "required" : [ "ConnectionId" ] + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { }, + "documentation" : "

The caller is not authorized to invoke this operation.

", + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "GetConnectionRequest" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "connectionId" + } + }, + "required" : [ "ConnectionId" ] + }, + "GetConnectionResponse" : { + "type" : "structure", + "members" : { + "ConnectedAt" : { + "shape" : "__timestampIso8601", + "locationName" : "connectedAt", + "documentation" : "

The time in ISO 8601 format for when the connection was established.

" + }, + "Identity" : { + "shape" : "Identity", + "locationName" : "identity" + }, + "LastActiveAt" : { + "shape" : "__timestampIso8601", + "locationName" : "lastActiveAt", + "documentation" : "

The time in ISO 8601 format for when the connection was last active.

" + } + } + }, + "GoneException" : { + "type" : "structure", + "members" : { }, + "documentation" : "

The connection with the provided id no longer exists.

", + "exception" : true, + "error" : { + "httpStatusCode" : 410 + } + }, + "Identity" : { + "type" : "structure", + "members" : { + "SourceIp" : { + "shape" : "__string", + "locationName" : "sourceIp", + "documentation" : "

The source IP address of the TCP connection making the request to API Gateway.

" + }, + "UserAgent" : { + "shape" : "__string", + "locationName" : "userAgent", + "documentation" : "

The User Agent of the API caller.

" + } + }, + "required" : [ "SourceIp", "UserAgent" ] + }, + "PayloadTooLargeException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "documentation" : "

The data has exceeded the maximum size allowed.

", + "exception" : true, + "error" : { + "httpStatusCode" : 413 + } + }, + "PostToConnectionRequest" : { + "type" : "structure", + "members" : { + "Data" : { + "shape" : "Data", + "documentation" : "

The data to be sent to the client specified by its connection id.

" + }, + "ConnectionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "connectionId", + "documentation" : "

The identifier of the connection that a specific client is using.

" + } + }, + "required" : [ "ConnectionId", "Data" ], + "payload" : "Data" + }, + "LimitExceededException" : { + "type" : "structure", + "members" : { }, + "documentation" : "

The client is sending more than the allowed number of requests per unit of time or the WebSocket client side buffer is full.

", + "exception" : true, + "error" : { + "httpStatusCode" : 429 + } + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + } + }, + "documentation" : "

The Amazon API Gateway Management API allows you to directly manage runtime aspects of your deployed APIs. To use it, you must explicitly set the SDK's endpoint to point to the endpoint of your deployed API. The endpoint will be of the form https://{api-id}.execute-api.{region}.amazonaws.com/{stage}, or will be the endpoint corresponding to your API's custom domain and base path, if applicable.

" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/apigatewayv2/2018-11-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/apigatewayv2/2018-11-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/apigatewayv2/2018-11-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigatewayv2/2018-11-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,64 @@ +{ + "pagination": { + "GetApis": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetAuthorizers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetDomainNames": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetIntegrationResponses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetIntegrations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetModels": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetRouteResponses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetRoutes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + }, + "GetStages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/apigatewayv2/2018-11-29/service-2.json python-botocore-1.16.19+repack/botocore/data/apigatewayv2/2018-11-29/service-2.json --- python-botocore-1.4.70/botocore/data/apigatewayv2/2018-11-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/apigatewayv2/2018-11-29/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,8451 @@ +{ + "metadata" : { + "apiVersion" : "2018-11-29", + "endpointPrefix" : "apigateway", + "signingName" : "apigateway", + "serviceFullName" : "AmazonApiGatewayV2", + "serviceId" : "ApiGatewayV2", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "apigatewayv2-2018-11-29", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateApi" : { + "name" : "CreateApi", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApiRequest" + }, + "output" : { + "shape" : "CreateApiResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates an Api resource.

" + }, + "CreateApiMapping" : { + "name" : "CreateApiMapping", + "http" : { + "method" : "POST", + "requestUri" : "/v2/domainnames/{domainName}/apimappings", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApiMappingRequest" + }, + "output" : { + "shape" : "CreateApiMappingResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates an API mapping.

" + }, + "CreateAuthorizer" : { + "name" : "CreateAuthorizer", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/authorizers", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateAuthorizerRequest" + }, + "output" : { + "shape" : "CreateAuthorizerResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates an Authorizer for an API.

" + }, + "CreateDeployment" : { + "name" : "CreateDeployment", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/deployments", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateDeploymentRequest" + }, + "output" : { + "shape" : "CreateDeploymentResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a Deployment for an API.

" + }, + "CreateDomainName" : { + "name" : "CreateDomainName", + "http" : { + "method" : "POST", + "requestUri" : "/v2/domainnames", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateDomainNameRequest" + }, + "output" : { + "shape" : "CreateDomainNameResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

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

403 response

" + } ], + "documentation" : "

Creates a domain name.

" + }, + "CreateIntegration" : { + "name" : "CreateIntegration", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/integrations", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateIntegrationRequest" + }, + "output" : { + "shape" : "CreateIntegrationResult", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates an Integration.

" + }, + "CreateIntegrationResponse" : { + "name" : "CreateIntegrationResponse", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateIntegrationResponseRequest" + }, + "output" : { + "shape" : "CreateIntegrationResponseResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates an IntegrationResponses.

" + }, + "CreateModel" : { + "name" : "CreateModel", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/models", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateModelRequest" + }, + "output" : { + "shape" : "CreateModelResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a Model for an API.

" + }, + "CreateRoute" : { + "name" : "CreateRoute", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/routes", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateRouteRequest" + }, + "output" : { + "shape" : "CreateRouteResult", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a Route for an API.

" + }, + "CreateRouteResponse" : { + "name" : "CreateRouteResponse", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateRouteResponseRequest" + }, + "output" : { + "shape" : "CreateRouteResponseResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a RouteResponse for a Route.

" + }, + "CreateStage" : { + "name" : "CreateStage", + "http" : { + "method" : "POST", + "requestUri" : "/v2/apis/{apiId}/stages", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateStageRequest" + }, + "output" : { + "shape" : "CreateStageResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a Stage for an API.

" + }, + "CreateVpcLink" : { + "name" : "CreateVpcLink", + "http" : { + "method" : "POST", + "requestUri" : "/v2/vpclinks", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateVpcLinkRequest" + }, + "output" : { + "shape" : "CreateVpcLinkResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Creates a VPC link.

" + }, + "DeleteAccessLogSettings" : { + "name" : "DeleteAccessLogSettings", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}/accesslogsettings", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteAccessLogSettingsRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes the AccessLogSettings for a Stage. To disable access logging for a Stage, delete its AccessLogSettings.

" + }, + "DeleteApi" : { + "name" : "DeleteApi", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApiRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes an Api resource.

" + }, + "DeleteApiMapping" : { + "name" : "DeleteApiMapping", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApiMappingRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Deletes an API mapping.

" + }, + "DeleteAuthorizer" : { + "name" : "DeleteAuthorizer", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteAuthorizerRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes an Authorizer.

" + }, + "DeleteCorsConfiguration" : { + "name" : "DeleteCorsConfiguration", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/cors", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteCorsConfigurationRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a CORS configuration.

" + }, + "DeleteDeployment" : { + "name" : "DeleteDeployment", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteDeploymentRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a Deployment.

" + }, + "DeleteDomainName" : { + "name" : "DeleteDomainName", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteDomainNameRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a domain name.

" + }, + "DeleteIntegration" : { + "name" : "DeleteIntegration", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteIntegrationRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes an Integration.

" + }, + "DeleteIntegrationResponse" : { + "name" : "DeleteIntegrationResponse", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteIntegrationResponseRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes an IntegrationResponses.

" + }, + "DeleteModel" : { + "name" : "DeleteModel", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteModelRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a Model.

" + }, + "DeleteRoute" : { + "name" : "DeleteRoute", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a Route.

" + }, + "DeleteRouteRequestParameter" : { + "name" : "DeleteRouteRequestParameter", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/requestparameters/{requestParameterKey}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteRequestParameterRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a route request parameter.

" + }, + "DeleteRouteResponse" : { + "name" : "DeleteRouteResponse", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteResponseRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a RouteResponse.

" + }, + "DeleteRouteSettings" : { + "name" : "DeleteRouteSettings", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}/routesettings/{routeKey}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteRouteSettingsRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes the RouteSettings for a stage.

" + }, + "DeleteStage" : { + "name" : "DeleteStage", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteStageRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a Stage.

" + }, + "DeleteVpcLink" : { + "name" : "DeleteVpcLink", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/vpclinks/{vpcLinkId}", + "responseCode" : 202 + }, + "input" : { + "shape" : "DeleteVpcLinkRequest" + }, + "output" : { + "shape" : "DeleteVpcLinkResponse", + "documentation" : "

202 response

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Deletes a VPC link.

" + }, + "ExportApi" : { + "name" : "ExportApi", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/exports/{specification}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ExportApiRequest" + }, + "output" : { + "shape" : "ExportApiResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ] + }, + "GetApi" : { + "name" : "GetApi", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiRequest" + }, + "output" : { + "shape" : "GetApiResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets an Api resource.

" + }, + "GetApiMapping" : { + "name" : "GetApiMapping", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiMappingRequest" + }, + "output" : { + "shape" : "GetApiMappingResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets an API mapping.

" + }, + "GetApiMappings" : { + "name" : "GetApiMappings", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}/apimappings", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApiMappingsRequest" + }, + "output" : { + "shape" : "GetApiMappingsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets API mappings.

" + }, + "GetApis" : { + "name" : "GetApis", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApisRequest" + }, + "output" : { + "shape" : "GetApisResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets a collection of Api resources.

" + }, + "GetAuthorizer" : { + "name" : "GetAuthorizer", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAuthorizerRequest" + }, + "output" : { + "shape" : "GetAuthorizerResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets an Authorizer.

" + }, + "GetAuthorizers" : { + "name" : "GetAuthorizers", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/authorizers", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAuthorizersRequest" + }, + "output" : { + "shape" : "GetAuthorizersResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Authorizers for an API.

" + }, + "GetDeployment" : { + "name" : "GetDeployment", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentRequest" + }, + "output" : { + "shape" : "GetDeploymentResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a Deployment.

" + }, + "GetDeployments" : { + "name" : "GetDeployments", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentsRequest" + }, + "output" : { + "shape" : "GetDeploymentsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Deployments for an API.

" + }, + "GetDomainName" : { + "name" : "GetDomainName", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDomainNameRequest" + }, + "output" : { + "shape" : "GetDomainNameResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a domain name.

" + }, + "GetDomainNames" : { + "name" : "GetDomainNames", + "http" : { + "method" : "GET", + "requestUri" : "/v2/domainnames", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDomainNamesRequest" + }, + "output" : { + "shape" : "GetDomainNamesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the domain names for an AWS account.

" + }, + "GetIntegration" : { + "name" : "GetIntegration", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationRequest" + }, + "output" : { + "shape" : "GetIntegrationResult", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets an Integration.

" + }, + "GetIntegrationResponse" : { + "name" : "GetIntegrationResponse", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationResponseRequest" + }, + "output" : { + "shape" : "GetIntegrationResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets an IntegrationResponses.

" + }, + "GetIntegrationResponses" : { + "name" : "GetIntegrationResponses", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationResponsesRequest" + }, + "output" : { + "shape" : "GetIntegrationResponsesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the IntegrationResponses for an Integration.

" + }, + "GetIntegrations" : { + "name" : "GetIntegrations", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/integrations", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetIntegrationsRequest" + }, + "output" : { + "shape" : "GetIntegrationsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Integrations for an API.

" + }, + "GetModel" : { + "name" : "GetModel", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelRequest" + }, + "output" : { + "shape" : "GetModelResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a Model.

" + }, + "GetModelTemplate" : { + "name" : "GetModelTemplate", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}/template", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelTemplateRequest" + }, + "output" : { + "shape" : "GetModelTemplateResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a model template.

" + }, + "GetModels" : { + "name" : "GetModels", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/models", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetModelsRequest" + }, + "output" : { + "shape" : "GetModelsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Models for an API.

" + }, + "GetRoute" : { + "name" : "GetRoute", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteRequest" + }, + "output" : { + "shape" : "GetRouteResult", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a Route.

" + }, + "GetRouteResponse" : { + "name" : "GetRouteResponse", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteResponseRequest" + }, + "output" : { + "shape" : "GetRouteResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a RouteResponse.

" + }, + "GetRouteResponses" : { + "name" : "GetRouteResponses", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRouteResponsesRequest" + }, + "output" : { + "shape" : "GetRouteResponsesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the RouteResponses for a Route.

" + }, + "GetRoutes" : { + "name" : "GetRoutes", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/routes", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetRoutesRequest" + }, + "output" : { + "shape" : "GetRoutesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Routes for an API.

" + }, + "GetStage" : { + "name" : "GetStage", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetStageRequest" + }, + "output" : { + "shape" : "GetStageResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a Stage.

" + }, + "GetStages" : { + "name" : "GetStages", + "http" : { + "method" : "GET", + "requestUri" : "/v2/apis/{apiId}/stages", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetStagesRequest" + }, + "output" : { + "shape" : "GetStagesResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Gets the Stages for an API.

" + }, + "GetTags" : { + "name" : "GetTags", + "http" : { + "method" : "GET", + "requestUri" : "/v2/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetTagsRequest" + }, + "output" : { + "shape" : "GetTagsResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Gets a collection of Tag resources.

" + }, + "GetVpcLink" : { + "name" : "GetVpcLink", + "http" : { + "method" : "GET", + "requestUri" : "/v2/vpclinks/{vpcLinkId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetVpcLinkRequest" + }, + "output" : { + "shape" : "GetVpcLinkResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a VPC link.

" + }, + "GetVpcLinks" : { + "name" : "GetVpcLinks", + "http" : { + "method" : "GET", + "requestUri" : "/v2/vpclinks", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetVpcLinksRequest" + }, + "output" : { + "shape" : "GetVpcLinksResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "

One of the parameters in the request is invalid.

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

The client is sending more than the allowed number of requests per unit of time.

" + } ], + "documentation" : "

Gets a collection of VPC links.

" + }, + "ImportApi" : { + "name" : "ImportApi", + "http" : { + "method" : "PUT", + "requestUri" : "/v2/apis", + "responseCode" : 201 + }, + "input" : { + "shape" : "ImportApiRequest" + }, + "output" : { + "shape" : "ImportApiResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Imports an API.

" + }, + "ReimportApi" : { + "name" : "ReimportApi", + "http" : { + "method" : "PUT", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 201 + }, + "input" : { + "shape" : "ReimportApiRequest" + }, + "output" : { + "shape" : "ReimportApiResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Puts an Api resource.

" + }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/v2/tags/{resource-arn}", + "responseCode" : 201 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "output" : { + "shape" : "TagResourceResponse", + "documentation" : "

The request has succeeded and has resulted in the creation of a resource.

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Creates a new Tag resource to represent a tag.

" + }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/v2/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Deletes a Tag.

" + }, + "UpdateApi" : { + "name" : "UpdateApi", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApiRequest" + }, + "output" : { + "shape" : "UpdateApiResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates an Api resource.

" + }, + "UpdateApiMapping" : { + "name" : "UpdateApiMapping", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/domainnames/{domainName}/apimappings/{apiMappingId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApiMappingRequest" + }, + "output" : { + "shape" : "UpdateApiMappingResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

The API mapping.

" + }, + "UpdateAuthorizer" : { + "name" : "UpdateAuthorizer", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/authorizers/{authorizerId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateAuthorizerRequest" + }, + "output" : { + "shape" : "UpdateAuthorizerResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates an Authorizer.

" + }, + "UpdateDeployment" : { + "name" : "UpdateDeployment", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/deployments/{deploymentId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeploymentRequest" + }, + "output" : { + "shape" : "UpdateDeploymentResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a Deployment.

" + }, + "UpdateDomainName" : { + "name" : "UpdateDomainName", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/domainnames/{domainName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDomainNameRequest" + }, + "output" : { + "shape" : "UpdateDomainNameResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a domain name.

" + }, + "UpdateIntegration" : { + "name" : "UpdateIntegration", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateIntegrationRequest" + }, + "output" : { + "shape" : "UpdateIntegrationResult", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates an Integration.

" + }, + "UpdateIntegrationResponse" : { + "name" : "UpdateIntegrationResponse", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/integrations/{integrationId}/integrationresponses/{integrationResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateIntegrationResponseRequest" + }, + "output" : { + "shape" : "UpdateIntegrationResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates an IntegrationResponses.

" + }, + "UpdateModel" : { + "name" : "UpdateModel", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/models/{modelId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateModelRequest" + }, + "output" : { + "shape" : "UpdateModelResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a Model.

" + }, + "UpdateRoute" : { + "name" : "UpdateRoute", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateRouteRequest" + }, + "output" : { + "shape" : "UpdateRouteResult", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a Route.

" + }, + "UpdateRouteResponse" : { + "name" : "UpdateRouteResponse", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/routes/{routeId}/routeresponses/{routeResponseId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateRouteResponseRequest" + }, + "output" : { + "shape" : "UpdateRouteResponseResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a RouteResponse.

" + }, + "UpdateStage" : { + "name" : "UpdateStage", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/apis/{apiId}/stages/{stageName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateStageRequest" + }, + "output" : { + "shape" : "UpdateStageResponse", + "documentation" : "

Success

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

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

The resource already exists.

" + } ], + "documentation" : "

Updates a Stage.

" + }, + "UpdateVpcLink" : { + "name" : "UpdateVpcLink", + "http" : { + "method" : "PATCH", + "requestUri" : "/v2/vpclinks/{vpcLinkId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateVpcLinkRequest" + }, + "output" : { + "shape" : "UpdateVpcLinkResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

The resource specified in the request was not found.

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

The client is sending more than the allowed number of requests per unit of time.

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

One of the parameters in the request is invalid.

" + } ], + "documentation" : "

Updates a VPC link.

" + } + }, + "shapes" : { + "AccessDeniedException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "AccessLogSettings" : { + "type" : "structure", + "members" : { + "DestinationArn" : { + "shape" : "Arn", + "locationName" : "destinationArn", + "documentation" : "

The ARN of the CloudWatch Logs log group to receive access logs.

" + }, + "Format" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "format", + "documentation" : "

A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId.

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

Settings for logging access in a stage.

" + }, + "Api" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

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

Represents an API.

", + "required" : [ "RouteSelectionExpression", "Name", "ProtocolType" ] + }, + "ApiMapping" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

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

Represents an API mapping.

", + "required" : [ "Stage", "ApiId" ] + }, + "ApiMappings" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApiMapping", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of ApiMappings resources.

" + }, + "Apis" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApi", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of APIs.

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

Represents an Amazon Resource Name (ARN).

" + }, + "AuthorizationScopes" : { + "type" : "list", + "documentation" : "

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

", + "member" : { + "shape" : "StringWithLengthBetween1And64" + } + }, + "AuthorizationType" : { + "type" : "string", + "documentation" : "

The authorization type. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer. For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

", + "enum" : [ "NONE", "AWS_IAM", "CUSTOM", "JWT" ] + }, + "Authorizer" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The validation expression does not apply to the REQUEST authorizer.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

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

Represents an authorizer.

", + "required" : [ "Name" ] + }, + "AuthorizerType" : { + "type" : "string", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

", + "enum" : [ "REQUEST", "JWT" ] + }, + "Authorizers" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfAuthorizer", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of authorizers.

" + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

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

The request is not valid, for example, the input is incomplete or incorrect. See the accompanying error message for details.

", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "ConflictException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "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. See the accompanying error message for details.

", + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "ConnectionType" : { + "type" : "string", + "documentation" : "

Represents a connection type.

", + "enum" : [ "INTERNET", "VPC_LINK" ] + }, + "ContentHandlingStrategy" : { + "type" : "string", + "documentation" : "

Specifies how to handle response payload content type conversions. Supported only for WebSocket APIs.

", + "enum" : [ "CONVERT_TO_BINARY", "CONVERT_TO_TEXT" ] + }, + "Cors" : { + "type" : "structure", + "members" : { + "AllowCredentials" : { + "shape" : "__boolean", + "locationName" : "allowCredentials", + "documentation" : "

Specifies whether credentials are included in the CORS request. Supported only for HTTP APIs.

" + }, + "AllowHeaders" : { + "shape" : "CorsHeaderList", + "locationName" : "allowHeaders", + "documentation" : "

Represents a collection of allowed headers. Supported only for HTTP APIs.

" + }, + "AllowMethods" : { + "shape" : "CorsMethodList", + "locationName" : "allowMethods", + "documentation" : "

Represents a collection of allowed HTTP methods. Supported only for HTTP APIs.

" + }, + "AllowOrigins" : { + "shape" : "CorsOriginList", + "locationName" : "allowOrigins", + "documentation" : "

Represents a collection of allowed origins. Supported only for HTTP APIs.

" + }, + "ExposeHeaders" : { + "shape" : "CorsHeaderList", + "locationName" : "exposeHeaders", + "documentation" : "

Represents a collection of exposed headers. Supported only for HTTP APIs.

" + }, + "MaxAge" : { + "shape" : "IntegerWithLengthBetweenMinus1And86400", + "locationName" : "maxAge", + "documentation" : "

The number of seconds that the browser should cache preflight request results. Supported only for HTTP APIs.

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

Represents a CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

" + }, + "CorsHeaderList" : { + "type" : "list", + "documentation" : "

Represents a collection of allowed headers. Supported only for HTTP APIs.

", + "member" : { + "shape" : "__string" + } + }, + "CorsMethodList" : { + "type" : "list", + "documentation" : "

Represents a collection of methods. Supported only for HTTP APIs.

", + "member" : { + "shape" : "StringWithLengthBetween1And64" + } + }, + "CorsOriginList" : { + "type" : "list", + "documentation" : "

Represents a collection of origins. Supported only for HTTP APIs.

", + "member" : { + "shape" : "__string" + } + }, + "CreateApiInput" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

The collection of tags. Each tag element is associated with a given resource.

" + }, + "Target" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "target", + "documentation" : "

This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

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

Represents the input parameters for a CreateApi request.

", + "required" : [ "ProtocolType", "Name" ] + }, + "CreateApiMappingInput" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "The API mapping key." + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

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

Represents the input parameters for a CreateApiMapping request.

", + "required" : [ "Stage", "ApiId" ] + }, + "CreateApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "The API mapping key." + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

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

Creates a new ApiMapping resource to represent an API mapping.

", + "required" : [ "DomainName", "Stage", "ApiId" ] + }, + "CreateApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "CreateApiRequest" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs. See Configuring CORS for more information.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

The collection of tags. Each tag element is associated with a given resource.

" + }, + "Target" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "target", + "documentation" : "

This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

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

Creates a new Api resource to represent an API.

", + "required" : [ "ProtocolType", "Name" ] + }, + "CreateApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

" + } + } + }, + "CreateAuthorizerInput" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

This parameter is not used.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

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

Represents the input parameters for a CreateAuthorizer request.

", + "required" : [ "AuthorizerType", "IdentitySource", "Name" ] + }, + "CreateAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT )from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

This parameter is not used.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

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

Creates a new Authorizer resource to represent an authorizer.

", + "required" : [ "ApiId", "AuthorizerType", "IdentitySource", "Name" ] + }, + "CreateAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The validation expression does not apply to the REQUEST authorizer.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + } + } + }, + "CreateDeploymentInput" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the Stage resource for the Deployment resource to create.

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

Represents the input parameters for a CreateDeployment request.

" + }, + "CreateDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the Stage resource for the Deployment resource to create.

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

Creates a new Deployment resource to represent a deployment.

", + "required" : [ "ApiId" ] + }, + "CreateDeploymentResponse" : { + "type" : "structure", + "members" : { + "AutoDeployed" : { + "shape" : "__boolean", + "locationName" : "autoDeployed", + "documentation" : "

Specifies whether a deployment was automatically released.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "CreateDomainNameInput" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

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

The collection of tags associated with a domain name.

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

Represents the input parameters for a CreateDomainName request.

", + "required" : [ "DomainName" ] + }, + "CreateDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

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

The collection of tags associated with a domain name.

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

Creates a new DomainName resource to represent a domain name.

", + "required" : [ "DomainName" ] + }, + "CreateDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

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

The collection of tags associated with a domain name.

" + } + } + }, + "CreateIntegrationInput" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfigInput", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

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

Represents the input parameters for a CreateIntegration request.

", + "required" : [ "IntegrationType" ] + }, + "CreateIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfigInput", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

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

Creates a new Integration resource to represent an integration.

", + "required" : [ "ApiId", "IntegrationType" ] + }, + "CreateIntegrationResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration. Supported only for WebSocket APIs.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfig", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + } + } + }, + "CreateIntegrationResponseInput" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response. Supported only for WebSocket APIs.

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

Represents the input parameters for a CreateIntegrationResponse request.

", + "required" : [ "IntegrationResponseKey" ] + }, + "CreateIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where {name} is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where {name} is a valid and unique response header name and {JSON-expression} is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response. Supported only for WebSocket APIs.

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

Creates a new IntegrationResponse resource to represent an integration response.

", + "required" : [ "ApiId", "IntegrationId", "IntegrationResponseKey" ] + }, + "CreateIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "CreateModelInput" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

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

Represents the input parameters for a CreateModel request.

", + "required" : [ "Schema", "Name" ] + }, + "CreateModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

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

Creates a new Model.

", + "required" : [ "ApiId", "Schema", "Name" ] + }, + "CreateModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

" + } + } + }, + "CreateRouteInput" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

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

Represents the input parameters for a CreateRoute request.

", + "required" : [ "RouteKey" ] + }, + "CreateRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

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

Creates a new Route resource to represent a route.

", + "required" : [ "ApiId", "RouteKey" ] + }, + "CreateRouteResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "CreateRouteResponseInput" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

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

Represents the input parameters for an CreateRouteResponse request.

", + "required" : [ "RouteResponseKey" ] + }, + "CreateRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

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

Creates a new RouteResponse resource to represent a route response.

", + "required" : [ "ApiId", "RouteId", "RouteResponseKey" ] + }, + "CreateRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "CreateStageInput" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier of the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The collection of tags. Each tag element is associated with a given resource.

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

Represents the input parameters for a CreateStage request.

", + "required" : [ "StageName" ] + }, + "CreateStageRequest" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier of the API stage.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The collection of tags. Each tag element is associated with a given resource.

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

Creates a new Stage resource to represent a stage.

", + "required" : [ "ApiId", "StageName" ] + }, + "CreateStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastDeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "lastDeploymentStatusMessage", + "documentation" : "

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The collection of tags. Each tag element is associated with a given resource.

" + } + } + }, + "CreateVpcLinkInput" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

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

A list of tags.

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

Represents the input parameters for a CreateVpcLink request.

", + "required" : [ "SubnetIds", "Name" ] + }, + "CreateVpcLinkRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

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

A list of tags.

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

Creates a VPC link

", + "required" : [ "SubnetIds", "Name" ] + }, + "CreateVpcLinkResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the VPC link was created.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

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

Tags for the VPC link.

" + }, + "VpcLinkId" : { + "shape" : "Id", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + }, + "VpcLinkStatus" : { + "shape" : "VpcLinkStatus", + "locationName" : "vpcLinkStatus", + "documentation" : "

The status of the VPC link.

" + }, + "VpcLinkStatusMessage" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "vpcLinkStatusMessage", + "documentation" : "

A message summarizing the cause of the status of the VPC link.

" + }, + "VpcLinkVersion" : { + "shape" : "VpcLinkVersion", + "locationName" : "vpcLinkVersion", + "documentation" : "

The version of the VPC link.

" + } + } + }, + "DeleteAccessLogSettingsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "DeleteApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "ApiMappingId", "DomainName" ] + }, + "DeleteApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + } + }, + "required" : [ "ApiId" ] + }, + "DeleteAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + } + }, + "required" : [ "AuthorizerId", "ApiId" ] + }, + "DeleteCorsConfigurationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + } + }, + "required" : [ "ApiId" ] + }, + "DeleteDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + } + }, + "required" : [ "ApiId", "DeploymentId" ] + }, + "DeleteDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "DomainName" ] + }, + "DeleteIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + } + }, + "required" : [ "ApiId", "IntegrationId" ] + }, + "DeleteIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + } + }, + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "DeleteModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "DeleteRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "ApiId", "RouteId" ] + }, + "DeleteRouteRequestParameterRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RequestParameterKey" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "requestParameterKey", + "documentation" : "

The route request parameter key.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "RequestParameterKey", "ApiId", "RouteId" ] + }, + "DeleteRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + } + }, + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "DeleteRouteSettingsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteKey" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeKey", + "documentation" : "

The route key.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" + } + }, + "required" : [ "StageName", "RouteKey", "ApiId" ] + }, + "DeleteStageRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "DeleteVpcLinkRequest" : { + "type" : "structure", + "members" : { + "VpcLinkId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + } + }, + "required" : [ "VpcLinkId" ] + }, + "DeleteVpcLinkResponse" : { + "type" : "structure", + "members" : { } + }, + "Deployment" : { + "type" : "structure", + "members" : { + "AutoDeployed" : { + "shape" : "__boolean", + "locationName" : "autoDeployed", + "documentation" : "

Specifies whether a deployment was automatically released.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

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

An immutable representation of an API that can be called by users. A Deployment must be associated with a Stage for it to be callable over the internet.

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

Represents a deployment status.

", + "enum" : [ "PENDING", "FAILED", "DEPLOYED" ] + }, + "Deployments" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDeployment", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

A collection resource that contains zero or more references to your existing deployments, and links that guide you on how to interact with your collection. The collection offers a paginated view of the contained deployments.

" + }, + "DomainName" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

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

The collection of tags associated with a domain name.

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

Represents a domain name.

", + "required" : [ "DomainName" ] + }, + "DomainNameConfiguration" : { + "type" : "structure", + "members" : { + "ApiGatewayDomainName" : { + "shape" : "__string", + "locationName" : "apiGatewayDomainName", + "documentation" : "

A domain name for the API.

" + }, + "CertificateArn" : { + "shape" : "Arn", + "locationName" : "certificateArn", + "documentation" : "

An AWS-managed certificate that will be used by the edge-optimized endpoint for this domain name. AWS Certificate Manager is the only supported source.

" + }, + "CertificateName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "certificateName", + "documentation" : "

The user-friendly name of the certificate that will be used by the edge-optimized endpoint for this domain name.

" + }, + "CertificateUploadDate" : { + "shape" : "__timestampIso8601", + "locationName" : "certificateUploadDate", + "documentation" : "

The timestamp when the certificate that was used by edge-optimized endpoint for this domain name was uploaded.

" + }, + "DomainNameStatus" : { + "shape" : "DomainNameStatus", + "locationName" : "domainNameStatus", + "documentation" : "

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

" + }, + "DomainNameStatusMessage" : { + "shape" : "__string", + "locationName" : "domainNameStatusMessage", + "documentation" : "

An optional text message containing detailed information about status of the domain name migration.

" + }, + "EndpointType" : { + "shape" : "EndpointType", + "locationName" : "endpointType", + "documentation" : "

The endpoint type.

" + }, + "HostedZoneId" : { + "shape" : "__string", + "locationName" : "hostedZoneId", + "documentation" : "

The Amazon Route 53 Hosted Zone ID of the endpoint.

" + }, + "SecurityPolicy" : { + "shape" : "SecurityPolicy", + "locationName" : "securityPolicy", + "documentation" : "

The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.

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

The domain name configuration.

" + }, + "DomainNameConfigurations" : { + "type" : "list", + "documentation" : "

The domain name configurations.

", + "member" : { + "shape" : "DomainNameConfiguration" + } + }, + "DomainNameStatus" : { + "type" : "string", + "documentation" : "

The status of the domain name migration. The valid values are AVAILABLE and UPDATING. If the status is UPDATING, the domain cannot be modified further until the existing operation is complete. If it is AVAILABLE, the domain can be updated.

", + "enum" : [ "AVAILABLE", "UPDATING" ] + }, + "DomainNames" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDomainName", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of domain names.

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

Represents an endpoint type.

", + "enum" : [ "REGIONAL", "EDGE" ] + }, + "ExportApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ExportVersion" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "exportVersion", + "documentation" : "

The version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is 1.0.

" + }, + "IncludeExtensions" : { + "shape" : "__boolean", + "location" : "querystring", + "locationName" : "includeExtensions", + "documentation" : "

Specifies whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.

" + }, + "OutputType" : { + "shape" : "__string", + "enum" : ["YAML", "JSON"], + "location" : "querystring", + "locationName" : "outputType", + "documentation" : "

The output type of the exported definition file. Valid values are JSON and YAML.

" + }, + "Specification" : { + "shape" : "__string", + "enum" : ["OAS30"], + "location" : "uri", + "locationName" : "specification", + "documentation" : "

The version of the API specification to use. OAS30, for OpenAPI 3.0, is the only supported value.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "stageName", + "documentation" : "

The name of the API stage to export. If you don't specify this property, a representation of the latest API configuration is exported.

" + } + }, + "required" : [ "Specification", "OutputType", "ApiId" ] + }, + "ExportApiResponse" : { + "type" : "structure", + "members" : { + "body":{ + "shape":"ExportedApi" + } + }, + "payload":"body" + }, + "ExportedApi":{ + "type":"blob", + "documentation" : "

Represents an exported definition of an API in a particular output format, for example, YAML. The API is serialized to the requested specification, for example, OpenAPI 3.0.

" + }, + "GetApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "ApiMappingId", "DomainName" ] + }, + "GetApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "GetApiMappingsRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "DomainName" ] + }, + "GetApiMappingsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApiMapping", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

" + } + } + }, + "GetApisRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetApisResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfApi", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + } + }, + "required" : [ "AuthorizerId", "ApiId" ] + }, + "GetAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The validation expression does not apply to the REQUEST authorizer.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + } + } + }, + "GetAuthorizersRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetAuthorizersResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfAuthorizer", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + } + }, + "required" : [ "ApiId", "DeploymentId" ] + }, + "GetDeploymentResponse" : { + "type" : "structure", + "members" : { + "AutoDeployed" : { + "shape" : "__boolean", + "locationName" : "autoDeployed", + "documentation" : "

Specifies whether a deployment was automatically released.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "GetDeploymentsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetDeploymentsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDeployment", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + } + }, + "required" : [ "DomainName" ] + }, + "GetDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

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

The collection of tags associated with a domain name.

" + } + } + }, + "GetDomainNamesRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetDomainNamesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfDomainName", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + } + }, + "required" : [ "ApiId", "IntegrationId" ] + }, + "GetIntegrationResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration. Supported only for WebSocket APIs.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfig", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + } + } + }, + "GetIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + } + }, + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "GetIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "GetIntegrationResponsesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "IntegrationId", "ApiId" ] + }, + "GetIntegrationResponsesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegrationResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetIntegrationsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetIntegrationsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegration", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "GetModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

" + } + } + }, + "GetModelTemplateRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + } + }, + "required" : [ "ModelId", "ApiId" ] + }, + "GetModelTemplateResponse" : { + "type" : "structure", + "members" : { + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

The template value.

" + } + } + }, + "GetModelsRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetModelsResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfModel", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "ApiId", "RouteId" ] + }, + "GetRouteResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "GetRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + } + }, + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "GetRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "GetRouteResponsesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + } + }, + "required" : [ "RouteId", "ApiId" ] + }, + "GetRouteResponsesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRouteResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetRoutesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetRoutesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRoute", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetStageRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" + } + }, + "required" : [ "StageName", "ApiId" ] + }, + "GetStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastDeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "lastDeploymentStatusMessage", + "documentation" : "

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

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

The collection of tags. Each tag element is associated with a given resource.

" + } + } + }, + "GetStagesRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "required" : [ "ApiId" ] + }, + "GetStagesResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfStage", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The resource ARN for the tag.

" + } + }, + "required" : [ "ResourceArn" ] + }, + "GetTagsResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "Tags", + "locationName": "tags" + } + } + }, + "GetVpcLinkRequest" : { + "type" : "structure", + "members" : { + "VpcLinkId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + } + }, + "required" : [ "VpcLinkId" ] + }, + "GetVpcLinkResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the VPC link was created.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

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

Tags for the VPC link.

" + }, + "VpcLinkId" : { + "shape" : "Id", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + }, + "VpcLinkStatus" : { + "shape" : "VpcLinkStatus", + "locationName" : "vpcLinkStatus", + "documentation" : "

The status of the VPC link.

" + }, + "VpcLinkStatusMessage" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "vpcLinkStatusMessage", + "documentation" : "

A message summarizing the cause of the status of the VPC link.

" + }, + "VpcLinkVersion" : { + "shape" : "VpcLinkVersion", + "locationName" : "vpcLinkVersion", + "documentation" : "

The version of the VPC link.

" + } + } + }, + "GetVpcLinksRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of elements to be returned for this resource.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + } + }, + "GetVpcLinksResponse" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfVpcLink", + "locationName" : "items", + "documentation" : "

A collection of VPC links.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

The identifier.

" + }, + "IdentitySourceList" : { + "type" : "list", + "documentation" : "

The identity source for which authorization is requested. For the REQUEST authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an Auth header, a Name query string parameter are defined as identity sources, this value is $method.request.header.Auth, $method.request.querystring.Name. These parameters will be used to derive the authorization caching key and to perform runtime validation of the REQUEST authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.

", + "member" : { + "shape" : "__string" + } + }, + "ImportApiInput" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "locationName" : "body", + "documentation" : "

The OpenAPI definition. Supported only for HTTP APIs.

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

Represents the input to ImportAPI. Supported only for HTTP APIs.

", + "required" : [ "Body" ] + }, + "ImportApiRequest" : { + "type" : "structure", + "members" : { + "Basepath" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "basepath", + "documentation" : "

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

" + }, + "Body" : { + "shape" : "__string", + "locationName" : "body", + "documentation" : "

The OpenAPI definition. Supported only for HTTP APIs.

" + }, + "FailOnWarnings" : { + "shape" : "__boolean", + "location" : "querystring", + "locationName" : "failOnWarnings", + "documentation" : "

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

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

", + "required" : [ "Body" ] + }, + "ImportApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

" + } + } + }, + "IntegerWithLengthBetween0And3600" : { + "type" : "integer", + "documentation" : "

An integer with a value between [0-3600].

", + "min" : 0, + "max" : 3600 + }, + "IntegerWithLengthBetween50And30000" : { + "type" : "integer", + "documentation" : "

An integer with a value between [50-30000].

", + "min" : 50, + "max" : 30000 + }, + "IntegerWithLengthBetweenMinus1And86400" : { + "type" : "integer", + "documentation" : "

An integer with a value between -1 and 86400. Supported only for HTTP APIs.

", + "min" : -1, + "max" : 86400 + }, + "Integration" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration. Supported only for WebSocket APIs.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfig", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

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

Represents an integration.

" + }, + "IntegrationParameters" : { + "type" : "map", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween1And512" + } + }, + "IntegrationResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

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

Represents an integration response.

", + "required" : [ "IntegrationResponseKey" ] + }, + "IntegrationResponses" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegrationResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of integration responses.

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

Represents an API method integration type.

", + "enum" : [ "AWS", "HTTP", "MOCK", "HTTP_PROXY", "AWS_PROXY" ] + }, + "Integrations" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfIntegration", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of integrations.

" + }, + "JWTConfiguration" : { + "type" : "structure", + "members" : { + "Audience" : { + "shape" : "__listOf__string", + "locationName" : "audience", + "documentation" : "

A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list. See RFC 7519. Supported only for HTTP APIs.

" + }, + "Issuer" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "issuer", + "documentation" : "

The base domain of the identity provider that issues JSON Web Tokens. For example, an Amazon Cognito user pool has the following format: https://cognito-idp.{region}.amazonaws.com/{userPoolId}\n . Required for the JWT authorizer type. Supported only for HTTP APIs.

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

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "LimitExceededException" : { + "type" : "structure", + "members" : { + "LimitType" : { + "shape" : "__string", + "locationName" : "limitType", + "documentation" : "

The limit type.

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

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

A limit has been exceeded. See the accompanying error message for details.

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

The logging level.

", + "enum" : [ "ERROR", "INFO", "OFF" ] + }, + "Model" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

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

Represents a data model for an API. Supported only for WebSocket APIs. See Create Models and Mapping Templates for Request and Response Mappings.

", + "required" : [ "Name" ] + }, + "Models" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfModel", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

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

Represents a collection of data models. See Create Models and Mapping Templates for Request and Response Mappings.

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

The next page of elements from this collection. Not valid for the last element of the collection.

" + }, + "NotFoundException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + }, + "ResourceType" : { + "shape" : "__string", + "locationName" : "resourceType", + "documentation" : "

The resource type.

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

The resource specified in the request was not found. See the message field for more information.

", + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "ParameterConstraints" : { + "type" : "structure", + "members" : { + "Required" : { + "shape" : "__boolean", + "locationName" : "required", + "documentation" : "

Whether or not the parameter is required.

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

Validation constraints imposed on parameters of a request (path, query string, headers).

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

Represents passthrough behavior for an integration response. Supported only for WebSocket APIs.

", + "enum" : [ "WHEN_NO_MATCH", "NEVER", "WHEN_NO_TEMPLATES" ] + }, + "ProtocolType" : { + "type" : "string", + "documentation" : "Represents a protocol type.", + "enum" : [ "WEBSOCKET", "HTTP" ] + }, + "ReimportApiInput" : { + "type" : "structure", + "members" : { + "Body" : { + "shape" : "__string", + "locationName" : "body", + "documentation" : "

The OpenAPI definition. Supported only for HTTP APIs.

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

Overwrites the configuration of an existing API using the provided definition. Supported only for HTTP APIs.

", + "required" : [ "Body" ] + }, + "ReimportApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "Basepath" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "basepath", + "documentation" : "

Specifies how to interpret the base path of the API during import. Valid values are ignore, prepend, and split. The default value is ignore. To learn more, see Set the OpenAPI basePath Property. Supported only for HTTP APIs.

" + }, + "Body" : { + "shape" : "__string", + "locationName" : "body", + "documentation" : "

The OpenAPI definition. Supported only for HTTP APIs.

" + }, + "FailOnWarnings" : { + "shape" : "__boolean", + "location" : "querystring", + "locationName" : "failOnWarnings", + "documentation" : "

Specifies whether to rollback the API creation when a warning is encountered. By default, API creation continues if a warning is encountered.

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

", + "required" : [ "ApiId", "Body" ] + }, + "ReimportApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

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

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

" + } + } + }, + "Route" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

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

Represents a route.

", + "required" : [ "RouteKey" ] + }, + "RouteModels" : { + "type" : "map", + "documentation" : "

The route models.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween1And128" + } + }, + "RouteParameters" : { + "type" : "map", + "documentation" : "

The route parameters.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "ParameterConstraints" + } + }, + "RouteResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

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

Represents a route response.

", + "required" : [ "RouteResponseKey" ] + }, + "RouteResponses" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRouteResponse", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "documentation" : "

Represents a collection of route responses.

" + }, + "RouteSettings" : { + "type" : "structure", + "members" : { + "DataTraceEnabled" : { + "shape" : "__boolean", + "locationName" : "dataTraceEnabled", + "documentation" : "

Specifies whether (true) or not (false) data trace logging is enabled for this route. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.

" + }, + "DetailedMetricsEnabled" : { + "shape" : "__boolean", + "locationName" : "detailedMetricsEnabled", + "documentation" : "

Specifies whether detailed metrics are enabled.

" + }, + "LoggingLevel" : { + "shape" : "LoggingLevel", + "locationName" : "loggingLevel", + "documentation" : "

Specifies the logging level for this route: INFO, ERROR, or OFF. This property affects the log entries pushed to Amazon CloudWatch Logs. Supported only for WebSocket APIs.

" + }, + "ThrottlingBurstLimit" : { + "shape" : "__integer", + "locationName" : "throttlingBurstLimit", + "documentation" : "

Specifies the throttling burst limit.

" + }, + "ThrottlingRateLimit" : { + "shape" : "__double", + "locationName" : "throttlingRateLimit", + "documentation" : "

Specifies the throttling rate limit.

" + } + }, + "documentation" : "

Represents a collection of route settings.

" + }, + "RouteSettingsMap" : { + "type" : "map", + "documentation" : "

The route settings map.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "RouteSettings" + } + }, + "Routes" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfRoute", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "documentation" : "

Represents a collection of routes.

" + }, + "SecurityGroupIdList" : { + "type" : "list", + "documentation" : "

A list of security group IDs for the VPC link.

", + "member" : { + "shape" : "__string" + } + }, + "SecurityPolicy" : { + "type" : "string", + "documentation" : "

The Transport Layer Security (TLS) version of the security policy for this domain name. The valid values are TLS_1_0 and TLS_1_2.

", + "enum" : [ "TLS_1_0", "TLS_1_2" ] + }, + "SelectionExpression" : { + "type" : "string", + "documentation" : "

An expression used to extract information at runtime. See Selection Expressions for more information.

" + }, + "SelectionKey" : { + "type" : "string", + "documentation" : "

After evaluating a selection expression, the result is compared against one or more selection keys to find a matching key. See Selection Expressions for a list of expressions and each expression's associated selection key type.

" + }, + "Stage" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastDeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "lastDeploymentStatusMessage", + "documentation" : "

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

The collection of tags. Each tag element is associated with a given resource.

" + } + }, + "documentation" : "

Represents an API stage.

", + "required" : [ "StageName" ] + }, + "StageVariablesMap" : { + "type" : "map", + "documentation" : "

The stage variable map.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween0And2048" + } + }, + "Stages" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfStage", + "locationName" : "items", + "documentation" : "

The elements from this collection.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "documentation" : "

A collection of Stage resources that are associated with the ApiKey resource.

" + }, + "StringWithLengthBetween0And1024" : { + "type" : "string", + "documentation" : "

A string with a length between [0-1024].

" + }, + "StringWithLengthBetween0And2048" : { + "type" : "string", + "documentation" : "

A string with a length between [0-2048].

" + }, + "StringWithLengthBetween0And32K" : { + "type" : "string", + "documentation" : "

A string with a length between [0-32768].

" + }, + "StringWithLengthBetween1And1024" : { + "type" : "string", + "documentation" : "

A string with a length between [1-1024].

" + }, + "StringWithLengthBetween1And128" : { + "type" : "string", + "documentation" : "

A string with a length between [1-128].

" + }, + "StringWithLengthBetween1And1600" : { + "type" : "string", + "documentation" : "

A string with a length between [0-1600].

" + }, + "StringWithLengthBetween1And256" : { + "type" : "string", + "documentation" : "

A string with a length between [1-256].

" + }, + "StringWithLengthBetween1And512" : { + "type" : "string", + "documentation" : "

A string with a length between [1-512].

" + }, + "StringWithLengthBetween1And64" : { + "type" : "string", + "documentation" : "

A string with a length between [1-64].

" + }, + "SubnetIdList" : { + "type" : "list", + "documentation" : "

A list of subnet IDs to include in the VPC link.

", + "member" : { + "shape" : "__string" + } + }, + "TagResourceInput" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

The collection of tags. Each tag element is associated with a given resource.

" + } + }, + "documentation" : "

Represents the input parameters for a TagResource request.

" + }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The resource ARN for the tag.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

The collection of tags. Each tag element is associated with a given resource.

" + } + }, + "documentation" : "

Creates a new Tag resource to represent a tag.

", + "required" : [ "ResourceArn" ] + }, + "TagResourceResponse" : { + "type" : "structure", + "members" : { } + }, + "Tags" : { + "type" : "map", + "documentation" : "

Represents a collection of tags associated with the resource.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween1And1600" + } + }, + "Template" : { + "type" : "structure", + "members" : { + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

The template value.

" + } + }, + "documentation" : "

Represents a template.

" + }, + "TemplateMap" : { + "type" : "map", + "documentation" : "

A mapping of identifier keys to templates. The value is an actual template script. The key is typically a SelectionKey which is chosen based on evaluating a selection expression.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "StringWithLengthBetween0And32K" + } + }, + "TlsConfig" : { + "type" : "structure", + "members" : { + "ServerNameToVerify" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "serverNameToVerify", + "documentation" : "

If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.

" + } + }, + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + }, + "TlsConfigInput" : { + "type" : "structure", + "members" : { + "ServerNameToVerify" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "serverNameToVerify", + "documentation" : "

If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.

" + } + }, + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + }, + "TooManyRequestsException" : { + "type" : "structure", + "members" : { + "LimitType" : { + "shape" : "__string", + "locationName" : "limitType", + "documentation" : "

The limit type.

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

Describes the error encountered.

" + } + }, + "documentation" : "

A limit has been exceeded. See the accompanying error message for details.

", + "exception" : true, + "error" : { + "httpStatusCode" : 429 + } + }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The resource ARN for the tag.

" + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "

The Tag keys to delete

" + } + }, + "required" : [ "ResourceArn", "TagKeys" ] + }, + "UpdateApiInput" : { + "type" : "structure", + "members" : { + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

" + }, + "Target" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "target", + "documentation" : "

This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateApi request.

" + }, + "UpdateApiMappingInput" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateApiMapping request.

" + }, + "UpdateApiMappingRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + }, + "documentation" : "

Updates an ApiMapping.

", + "required" : [ "ApiMappingId", "ApiId", "DomainName" ] + }, + "UpdateApiMappingResponse" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiMappingId" : { + "shape" : "Id", + "locationName" : "apiMappingId", + "documentation" : "

The API mapping identifier.

" + }, + "ApiMappingKey" : { + "shape" : "SelectionKey", + "locationName" : "apiMappingKey", + "documentation" : "

The API mapping key.

" + }, + "Stage" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stage", + "documentation" : "

The API stage.

" + } + } + }, + "UpdateApiRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. If provided, this value replaces the credentials associated with the quick create integration. Supported only for HTTP APIs.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

This property is part of quick create. If not specified, the route created using quick create is kept. Otherwise, this value replaces the route key of the quick create route. Additional routes may still be added after the API is updated. Supported only for HTTP APIs.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

" + }, + "Target" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "target", + "documentation" : "

This property is part of quick create. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. The value provided updates the integration URI and integration type. You can update a quick-created target, but you can't remove it from an API. Supported only for HTTP APIs.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + } + }, + "documentation" : "

Updates an Api.

", + "required" : [ "ApiId" ] + }, + "UpdateApiResponse" : { + "type" : "structure", + "members" : { + "ApiEndpoint" : { + "shape" : "__string", + "locationName" : "apiEndpoint", + "documentation" : "

The URI of the API, of the form {api-id}.execute-api.{region}.amazonaws.com. The stage name is typically appended to this URI to form a complete path to a deployed API stage.

" + }, + "ApiId" : { + "shape" : "Id", + "locationName" : "apiId", + "documentation" : "

The API ID.

" + }, + "ApiKeySelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiKeySelectionExpression", + "documentation" : "

An API key selection expression. Supported only for WebSocket APIs. See API Key Selection Expressions.

" + }, + "CorsConfiguration" : { + "shape" : "Cors", + "locationName" : "corsConfiguration", + "documentation" : "

A CORS configuration. Supported only for HTTP APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the API was created.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the API.

" + }, + "DisableSchemaValidation" : { + "shape" : "__boolean", + "locationName" : "disableSchemaValidation", + "documentation" : "

Avoid validating models when creating a deployment. Supported only for WebSocket APIs.

" + }, + "ImportInfo" : { + "shape" : "__listOf__string", + "locationName" : "importInfo", + "documentation" : "

The validation information during API import. This may include particular properties of your OpenAPI definition which are ignored during import. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the API.

" + }, + "ProtocolType" : { + "shape" : "ProtocolType", + "locationName" : "protocolType", + "documentation" : "

The API protocol.

" + }, + "RouteSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeSelectionExpression", + "documentation" : "

The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

A collection of tags associated with the API.

" + }, + "Version" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "version", + "documentation" : "

A version identifier for the API.

" + }, + "Warnings" : { + "shape" : "__listOf__string", + "locationName" : "warnings", + "documentation" : "

The warning messages reported when failonwarnings is turned on during API import.

" + } + } + }, + "UpdateAuthorizerInput" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

This parameter is not used.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + } + }, + "documentation" : "

The input parameters for an UpdateAuthorizer request.

" + }, + "UpdateAuthorizerRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.

" + }, + "AuthorizerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). For REQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

This parameter is not used.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + } + }, + "documentation" : "

Updates an Authorizer.

", + "required" : [ "AuthorizerId", "ApiId" ] + }, + "UpdateAuthorizerResponse" : { + "type" : "structure", + "members" : { + "AuthorizerCredentialsArn" : { + "shape" : "Arn", + "locationName" : "authorizerCredentialsArn", + "documentation" : "

Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer. To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. Supported only for REQUEST authorizers.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The authorizer identifier.

" + }, + "AuthorizerResultTtlInSeconds" : { + "shape" : "IntegerWithLengthBetween0And3600", + "locationName" : "authorizerResultTtlInSeconds", + "documentation" : "

Authorizer caching is not currently supported. Don't specify this value for authorizers.

" + }, + "AuthorizerType" : { + "shape" : "AuthorizerType", + "locationName" : "authorizerType", + "documentation" : "

The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function using incoming request parameters. For HTTP APIs, specify JWT to use JSON Web Tokens.

" + }, + "AuthorizerUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "authorizerUri", + "documentation" : "

The authorizer's Uniform Resource Identifier (URI). ForREQUEST authorizers, this must be a well-formed Lambda function URI, for example, arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations. In general, the URI has this form: arn:aws:apigateway:{region}:lambda:path/{service_api}\n , where {region} is the same as the region hosting the Lambda function, path indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial /. For Lambda functions, this is usually of the form /2015-03-31/functions/[FunctionARN]/invocations. Supported only for REQUEST authorizers.

" + }, + "IdentitySource" : { + "shape" : "IdentitySourceList", + "locationName" : "identitySource", + "documentation" : "

The identity source for which authorization is requested.

For a REQUEST authorizer, this is optional. The value is a set of one or more mapping expressions of the specified request parameters. Currently, the identity source can be headers, query string parameters, stage variables, and context parameters. For example, if an Auth header and a Name query string parameter are defined as identity sources, this value is route.request.header.Auth, route.request.querystring.Name. These parameters will be used to perform runtime validation for Lambda-based authorizers by verifying all of the identity-related request parameters are present in the request, not null, and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function. Otherwise, it returns a 401 Unauthorized response without calling the Lambda function.

For JWT, a single entry that specifies where to extract the JSON Web Token (JWT) from inbound requests. Currently only header-based and query parameter-based selections are supported, for example \"$request.header.Authorization\".

" + }, + "IdentityValidationExpression" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "identityValidationExpression", + "documentation" : "

The validation expression does not apply to the REQUEST authorizer.

" + }, + "JwtConfiguration" : { + "shape" : "JWTConfiguration", + "locationName" : "jwtConfiguration", + "documentation" : "

Represents the configuration of a JWT authorizer. Required for the JWT authorizer type. Supported only for HTTP APIs.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the authorizer.

" + } + } + }, + "UpdateDeploymentInput" : { + "type" : "structure", + "members" : { + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateDeployment request.

" + }, + "UpdateDeploymentRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deploymentId", + "documentation" : "

The deployment ID.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment resource.

" + } + }, + "documentation" : "

Updates a Deployment.

", + "required" : [ "ApiId", "DeploymentId" ] + }, + "UpdateDeploymentResponse" : { + "type" : "structure", + "members" : { + "AutoDeployed" : { + "shape" : "__boolean", + "locationName" : "autoDeployed", + "documentation" : "

Specifies whether a deployment was automatically released.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The date and time when the Deployment resource was created.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier for the deployment.

" + }, + "DeploymentStatus" : { + "shape" : "DeploymentStatus", + "locationName" : "deploymentStatus", + "documentation" : "

The status of the deployment: PENDING, FAILED, or SUCCEEDED.

" + }, + "DeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "deploymentStatusMessage", + "documentation" : "

May contain additional feedback on the status of an API deployment.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the deployment.

" + } + } + }, + "UpdateDomainNameInput" : { + "type" : "structure", + "members" : { + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateDomainName request.

" + }, + "UpdateDomainNameRequest" : { + "type" : "structure", + "members" : { + "DomainName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "domainName", + "documentation" : "

The domain name.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + } + }, + "documentation" : "

Updates a DomainName.

", + "required" : [ "DomainName" ] + }, + "UpdateDomainNameResponse" : { + "type" : "structure", + "members" : { + "ApiMappingSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "apiMappingSelectionExpression", + "documentation" : "

The API mapping selection expression.

" + }, + "DomainName" : { + "shape" : "StringWithLengthBetween1And512", + "locationName" : "domainName", + "documentation" : "

The name of the DomainName resource.

" + }, + "DomainNameConfigurations" : { + "shape" : "DomainNameConfigurations", + "locationName" : "domainNameConfigurations", + "documentation" : "

The domain name configurations.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

The collection of tags associated with a domain name.

" + } + } + }, + "UpdateIntegrationInput" : { + "type" : "structure", + "members" : { + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfigInput", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateIntegration request.

" + }, + "UpdateIntegrationRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the integration

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration. For HTTP API private integrations, use an HTTP_PROXY integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfigInput", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + } + }, + "documentation" : "

Updates an Integration.

", + "required" : [ "ApiId", "IntegrationId" ] + }, + "UpdateIntegrationResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether an integration is managed by API Gateway. If you created an API using using quick create, the resulting integration is managed by API Gateway. You can update a managed integration, but you can't delete it.

" + }, + "ConnectionId" : { + "shape" : "StringWithLengthBetween1And1024", + "locationName" : "connectionId", + "documentation" : "

The ID of the VPC link for a private integration. Supported only for HTTP APIs.

" + }, + "ConnectionType" : { + "shape" : "ConnectionType", + "locationName" : "connectionType", + "documentation" : "

The type of the network connection to the integration endpoint. Specify INTERNET for connections through the public routable internet or VPC_LINK for private connections between API Gateway and resources in a VPC. The default value is INTERNET.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "CredentialsArn" : { + "shape" : "Arn", + "locationName" : "credentialsArn", + "documentation" : "

Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

Represents the description of an integration.

" + }, + "IntegrationId" : { + "shape" : "Id", + "locationName" : "integrationId", + "documentation" : "

Represents the identifier of an integration.

" + }, + "IntegrationMethod" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "integrationMethod", + "documentation" : "

Specifies the integration's HTTP method type.

" + }, + "IntegrationResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "integrationResponseSelectionExpression", + "documentation" : "

The integration response selection expression for the integration. Supported only for WebSocket APIs. See Integration Response Selection Expressions.

" + }, + "IntegrationType" : { + "shape" : "IntegrationType", + "locationName" : "integrationType", + "documentation" : "

The integration type of an integration. One of the following:

AWS: for integrating the route or method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration. Supported only for WebSocket APIs.

AWS_PROXY: for integrating the route or method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as Lambda proxy integration.

HTTP: for integrating the route or method request with an HTTP endpoint. This integration is also referred to as the HTTP custom integration. Supported only for WebSocket APIs.

HTTP_PROXY: for integrating the route or method request with an HTTP endpoint, with the client request passed through as-is. This is also referred to as HTTP proxy integration.

MOCK: for integrating the route or method request with API Gateway as a \"loopback\" endpoint without invoking any backend. Supported only for WebSocket APIs.

" + }, + "IntegrationUri" : { + "shape" : "UriWithLengthBetween1And2048", + "locationName" : "integrationUri", + "documentation" : "

For a Lambda integration, specify the URI of a Lambda function.

For an HTTP integration, specify a fully-qualified URL.

For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service. If you specify the ARN of an AWS Cloud Map service, API Gateway uses DiscoverInstances to identify resources. You can use query parameters to target specific resources. To learn more, see DiscoverInstances. For private integrations, all resources must be owned by the same AWS account.

" + }, + "PassthroughBehavior" : { + "shape" : "PassthroughBehavior", + "locationName" : "passthroughBehavior", + "documentation" : "

Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and NEVER. Supported only for WebSocket APIs.

WHEN_NO_MATCH passes the request body for unmapped content types through to the integration backend without transformation.

NEVER rejects unmapped content types with an HTTP 415 Unsupported Media Type response.

WHEN_NO_TEMPLATES allows pass-through when the integration has no content types mapped to templates. However, if there is at least one content type defined, unmapped content types will be rejected with the same HTTP 415 Unsupported Media Type response.

" + }, + "PayloadFormatVersion" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "payloadFormatVersion", + "documentation" : "

Specifies the format of the payload sent to an integration. Required for HTTP APIs.

" + }, + "RequestParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "requestParameters", + "documentation" : "

A key-value map specifying request parameters that are passed from the method request to the backend. The key is an integration request parameter name and the associated value is a method request parameter value or static value that must be enclosed within single quotes and pre-encoded as required by the backend. The method request parameter value must match the pattern of method.request.{location}.{name}\n , where \n {location}\n is querystring, path, or header; and \n {name}\n must be a valid and unique method request parameter name. Supported only for WebSocket APIs.

" + }, + "RequestTemplates" : { + "shape" : "TemplateMap", + "locationName" : "requestTemplates", + "documentation" : "

Represents a map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. The content type value is the key in this map, and the template (as a String) is the value. Supported only for WebSocket APIs.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration. Supported only for WebSocket APIs.

" + }, + "TimeoutInMillis" : { + "shape" : "IntegerWithLengthBetween50And30000", + "locationName" : "timeoutInMillis", + "documentation" : "

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.

" + }, + "TlsConfig" : { + "shape" : "TlsConfig", + "locationName" : "tlsConfig", + "documentation" : "

The TLS configuration for a private integration. If you specify a TLS configuration, private integration traffic uses the HTTPS protocol. Supported only for HTTP APIs.

" + } + } + }, + "UpdateIntegrationResponseInput" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}\n , where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}\n or integration.response.body.{JSON-expression}\n , where \n {name}\n is a valid and unique response header name and \n {JSON-expression}\n is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response. Supported only for WebSocket APIs.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateIntegrationResponse request.

" + }, + "UpdateIntegrationResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationId", + "documentation" : "

The integration ID.

" + }, + "IntegrationResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}\n , where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name}\n or integration.response.body.{JSON-expression}\n , where \n {name}\n is a valid and unique response header name and \n {JSON-expression}\n is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expression for the integration response. Supported only for WebSocket APIs.

" + } + }, + "documentation" : "

Updates an IntegrationResponses.

", + "required" : [ "ApiId", "IntegrationResponseId", "IntegrationId" ] + }, + "UpdateIntegrationResponseResponse" : { + "type" : "structure", + "members" : { + "ContentHandlingStrategy" : { + "shape" : "ContentHandlingStrategy", + "locationName" : "contentHandlingStrategy", + "documentation" : "

Supported only for WebSocket APIs. Specifies how to handle response payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT, with the following behaviors:

CONVERT_TO_BINARY: Converts a response payload from a Base64-encoded string to the corresponding binary blob.

CONVERT_TO_TEXT: Converts a response payload from a binary blob to a Base64-encoded string.

If this property is not defined, the response payload will be passed through from the integration response to the route response or method response without modification.

" + }, + "IntegrationResponseId" : { + "shape" : "Id", + "locationName" : "integrationResponseId", + "documentation" : "

The integration response ID.

" + }, + "IntegrationResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "integrationResponseKey", + "documentation" : "

The integration response key.

" + }, + "ResponseParameters" : { + "shape" : "IntegrationParameters", + "locationName" : "responseParameters", + "documentation" : "

A key-value map specifying response parameters that are passed to the method response from the backend. The key is a method response header parameter name and the mapped value is an integration response header value, a static value enclosed within a pair of single quotes, or a JSON expression from the integration response body. The mapping key must match the pattern of method.response.header.{name}, where name is a valid and unique header name. The mapped non-static value must match the pattern of integration.response.header.{name} or integration.response.body.{JSON-expression}, where name is a valid and unique response header name and JSON-expression is a valid JSON expression without the $ prefix.

" + }, + "ResponseTemplates" : { + "shape" : "TemplateMap", + "locationName" : "responseTemplates", + "documentation" : "

The collection of response templates for the integration response as a string-to-string map of key-value pairs. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.

" + }, + "TemplateSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "templateSelectionExpression", + "documentation" : "

The template selection expressions for the integration response.

" + } + } + }, + "UpdateModelInput" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateModel request. Supported only for WebSocket APIs.

" + }, + "UpdateModelRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "modelId", + "documentation" : "

The model ID.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

" + } + }, + "documentation" : "

Updates a Model.

", + "required" : [ "ModelId", "ApiId" ] + }, + "UpdateModelResponse" : { + "type" : "structure", + "members" : { + "ContentType" : { + "shape" : "StringWithLengthBetween1And256", + "locationName" : "contentType", + "documentation" : "

The content-type for the model, for example, \"application/json\".

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the model.

" + }, + "ModelId" : { + "shape" : "Id", + "locationName" : "modelId", + "documentation" : "

The model identifier.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the model. Must be alphanumeric.

" + }, + "Schema" : { + "shape" : "StringWithLengthBetween0And32K", + "locationName" : "schema", + "documentation" : "

The schema for the model. For application/json models, this should be JSON schema draft 4 model.

" + } + } + }, + "UpdateRouteInput" : { + "type" : "structure", + "members" : { + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateRoute request.

" + }, + "UpdateRouteRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for the route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

The authorization scopes supported by this route.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + }, + "documentation" : "

Updates a Route.

", + "required" : [ "ApiId", "RouteId" ] + }, + "UpdateRouteResult" : { + "type" : "structure", + "members" : { + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.

" + }, + "ApiKeyRequired" : { + "shape" : "__boolean", + "locationName" : "apiKeyRequired", + "documentation" : "

Specifies whether an API key is required for this route. Supported only for WebSocket APIs.

" + }, + "AuthorizationScopes" : { + "shape" : "AuthorizationScopes", + "locationName" : "authorizationScopes", + "documentation" : "

A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.

" + }, + "AuthorizationType" : { + "shape" : "AuthorizationType", + "locationName" : "authorizationType", + "documentation" : "

The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, or JWT for using JSON Web Tokens.

" + }, + "AuthorizerId" : { + "shape" : "Id", + "locationName" : "authorizerId", + "documentation" : "

The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route. Supported only for WebSocket APIs.

" + }, + "OperationName" : { + "shape" : "StringWithLengthBetween1And64", + "locationName" : "operationName", + "documentation" : "

The operation name for the route.

" + }, + "RequestModels" : { + "shape" : "RouteModels", + "locationName" : "requestModels", + "documentation" : "

The request models for the route. Supported only for WebSocket APIs.

" + }, + "RequestParameters" : { + "shape" : "RouteParameters", + "locationName" : "requestParameters", + "documentation" : "

The request parameters for the route. Supported only for WebSocket APIs.

" + }, + "RouteId" : { + "shape" : "Id", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteKey" : { + "shape" : "SelectionKey", + "locationName" : "routeKey", + "documentation" : "

The route key for the route.

" + }, + "RouteResponseSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "routeResponseSelectionExpression", + "documentation" : "

The route response selection expression for the route. Supported only for WebSocket APIs.

" + }, + "Target" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "target", + "documentation" : "

The target for the route.

" + } + } + }, + "UpdateRouteResponseInput" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateRouteResponse request.

" + }, + "UpdateRouteResponseRequest" : { + "type" : "structure", + "members" : { + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

The model selection expression for the route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

The response models for the route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

The route response parameters.

" + }, + "RouteId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeId", + "documentation" : "

The route ID.

" + }, + "RouteResponseId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "routeResponseId", + "documentation" : "

The route response ID.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

The route response key.

" + } + }, + "documentation" : "

Updates a RouteResponse.

", + "required" : [ "RouteResponseId", "ApiId", "RouteId" ] + }, + "UpdateRouteResponseResponse" : { + "type" : "structure", + "members" : { + "ModelSelectionExpression" : { + "shape" : "SelectionExpression", + "locationName" : "modelSelectionExpression", + "documentation" : "

Represents the model selection expression of a route response. Supported only for WebSocket APIs.

" + }, + "ResponseModels" : { + "shape" : "RouteModels", + "locationName" : "responseModels", + "documentation" : "

Represents the response models of a route response.

" + }, + "ResponseParameters" : { + "shape" : "RouteParameters", + "locationName" : "responseParameters", + "documentation" : "

Represents the response parameters of a route response.

" + }, + "RouteResponseId" : { + "shape" : "Id", + "locationName" : "routeResponseId", + "documentation" : "

Represents the identifier of a route response.

" + }, + "RouteResponseKey" : { + "shape" : "SelectionKey", + "locationName" : "routeResponseKey", + "documentation" : "

Represents the route response key of a route response.

" + } + } + }, + "UpdateStageInput" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateStage request.

" + }, + "UpdateStageRequest" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "apiId", + "documentation" : "

The API identifier.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

The default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The deployment identifier for the API stage. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description for the API stage.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage.

" + }, + "StageName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "stageName", + "documentation" : "

The stage name. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + } + }, + "documentation" : "

Updates a Stage.

", + "required" : [ "StageName", "ApiId" ] + }, + "UpdateStageResponse" : { + "type" : "structure", + "members" : { + "AccessLogSettings" : { + "shape" : "AccessLogSettings", + "locationName" : "accessLogSettings", + "documentation" : "

Settings for logging access in this stage.

" + }, + "ApiGatewayManaged" : { + "shape" : "__boolean", + "locationName" : "apiGatewayManaged", + "documentation" : "

Specifies whether a stage is managed by API Gateway. If you created an API using quick create, the $default stage is managed by API Gateway. You can't modify the $default stage.

" + }, + "AutoDeploy" : { + "shape" : "__boolean", + "locationName" : "autoDeploy", + "documentation" : "

Specifies whether updates to an API automatically trigger a new deployment. The default value is false.

" + }, + "ClientCertificateId" : { + "shape" : "Id", + "locationName" : "clientCertificateId", + "documentation" : "

The identifier of a client certificate for a Stage. Supported only for WebSocket APIs.

" + }, + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the stage was created.

" + }, + "DefaultRouteSettings" : { + "shape" : "RouteSettings", + "locationName" : "defaultRouteSettings", + "documentation" : "

Default route settings for the stage.

" + }, + "DeploymentId" : { + "shape" : "Id", + "locationName" : "deploymentId", + "documentation" : "

The identifier of the Deployment that the Stage is associated with. Can't be updated if autoDeploy is enabled.

" + }, + "Description" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "description", + "documentation" : "

The description of the stage.

" + }, + "LastDeploymentStatusMessage" : { + "shape" : "__string", + "locationName" : "lastDeploymentStatusMessage", + "documentation" : "

Describes the status of the last deployment of a stage. Supported only for stages with autoDeploy enabled.

" + }, + "LastUpdatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "lastUpdatedDate", + "documentation" : "

The timestamp when the stage was last updated.

" + }, + "RouteSettings" : { + "shape" : "RouteSettingsMap", + "locationName" : "routeSettings", + "documentation" : "

Route settings for the stage, by routeKey.

" + }, + "StageName" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "stageName", + "documentation" : "

The name of the stage.

" + }, + "StageVariables" : { + "shape" : "StageVariablesMap", + "locationName" : "stageVariables", + "documentation" : "

A map that defines the stage variables for a stage resource. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

The collection of tags. Each tag element is associated with a given resource.

" + } + } + }, + "UpdateVpcLinkInput" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + } + }, + "documentation" : "

Represents the input parameters for an UpdateVpcLink request.

" + }, + "UpdateVpcLinkRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "VpcLinkId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + } + }, + "documentation" : "

Updates a VPC link.

", + "required" : [ "VpcLinkId" ] + }, + "UpdateVpcLinkResponse" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the VPC link was created.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

Tags for the VPC link.

" + }, + "VpcLinkId" : { + "shape" : "Id", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + }, + "VpcLinkStatus" : { + "shape" : "VpcLinkStatus", + "locationName" : "vpcLinkStatus", + "documentation" : "

The status of the VPC link.

" + }, + "VpcLinkStatusMessage" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "vpcLinkStatusMessage", + "documentation" : "

A message summarizing the cause of the status of the VPC link.

" + }, + "VpcLinkVersion" : { + "shape" : "VpcLinkVersion", + "locationName" : "vpcLinkVersion", + "documentation" : "

The version of the VPC link.

" + } + } + }, + "UriWithLengthBetween1And2048" : { + "type" : "string", + "documentation" : "

A string representation of a URI with a length between [1-2048].

" + }, + "VpcLink" : { + "type" : "structure", + "members" : { + "CreatedDate" : { + "shape" : "__timestampIso8601", + "locationName" : "createdDate", + "documentation" : "

The timestamp when the VPC link was created.

" + }, + "Name" : { + "shape" : "StringWithLengthBetween1And128", + "locationName" : "name", + "documentation" : "

The name of the VPC link.

" + }, + "SecurityGroupIds" : { + "shape" : "SecurityGroupIdList", + "locationName" : "securityGroupIds", + "documentation" : "

A list of security group IDs for the VPC link.

" + }, + "SubnetIds" : { + "shape" : "SubnetIdList", + "locationName" : "subnetIds", + "documentation" : "

A list of subnet IDs to include in the VPC link.

" + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "

Tags for the VPC link.

" + }, + "VpcLinkId" : { + "shape" : "Id", + "locationName" : "vpcLinkId", + "documentation" : "

The ID of the VPC link.

" + }, + "VpcLinkStatus" : { + "shape" : "VpcLinkStatus", + "locationName" : "vpcLinkStatus", + "documentation" : "

The status of the VPC link.

" + }, + "VpcLinkStatusMessage" : { + "shape" : "StringWithLengthBetween0And1024", + "locationName" : "vpcLinkStatusMessage", + "documentation" : "

A message summarizing the cause of the status of the VPC link.

" + }, + "VpcLinkVersion" : { + "shape" : "VpcLinkVersion", + "locationName" : "vpcLinkVersion", + "documentation" : "

The version of the VPC link.

" + } + }, + "documentation" : "

Represents a VPC link.

", + "required" : [ "VpcLinkId", "SecurityGroupIds", "SubnetIds", "Name" ] + }, + "VpcLinkStatus" : { + "type" : "string", + "documentation" : "

The status of the VPC link.

", + "enum" : [ "PENDING", "AVAILABLE", "DELETING", "FAILED", "INACTIVE" ] + }, + "VpcLinkVersion" : { + "type" : "string", + "documentation" : "

The version of the VPC link.

", + "enum" : [ "V2" ] + }, + "VpcLinks" : { + "type" : "structure", + "members" : { + "Items" : { + "shape" : "__listOfVpcLink", + "locationName" : "items", + "documentation" : "

A collection of VPC links.

" + }, + "NextToken" : { + "shape" : "NextToken", + "locationName" : "nextToken", + "documentation" : "

The next page of elements from this collection. Not valid for the last element of the collection.

" + } + }, + "documentation" : "

Represents a collection of VPCLinks.

" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__listOfApi" : { + "type" : "list", + "member" : { + "shape" : "Api" + } + }, + "__listOfApiMapping" : { + "type" : "list", + "member" : { + "shape" : "ApiMapping" + } + }, + "__listOfAuthorizer" : { + "type" : "list", + "member" : { + "shape" : "Authorizer" + } + }, + "__listOfDeployment" : { + "type" : "list", + "member" : { + "shape" : "Deployment" + } + }, + "__listOfDomainName" : { + "type" : "list", + "member" : { + "shape" : "DomainName" + } + }, + "__listOfIntegration" : { + "type" : "list", + "member" : { + "shape" : "Integration" + } + }, + "__listOfIntegrationResponse" : { + "type" : "list", + "member" : { + "shape" : "IntegrationResponse" + } + }, + "__listOfModel" : { + "type" : "list", + "member" : { + "shape" : "Model" + } + }, + "__listOfRoute" : { + "type" : "list", + "member" : { + "shape" : "Route" + } + }, + "__listOfRouteResponse" : { + "type" : "list", + "member" : { + "shape" : "RouteResponse" + } + }, + "__listOfStage" : { + "type" : "list", + "member" : { + "shape" : "Stage" + } + }, + "__listOfVpcLink" : { + "type" : "list", + "member" : { + "shape" : "VpcLink" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "

Amazon API Gateway V2

" +} diff -Nru python-botocore-1.4.70/botocore/data/appconfig/2019-10-09/paginators-1.json python-botocore-1.16.19+repack/botocore/data/appconfig/2019-10-09/paginators-1.json --- python-botocore-1.4.70/botocore/data/appconfig/2019-10-09/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appconfig/2019-10-09/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/appconfig/2019-10-09/service-2.json python-botocore-1.16.19+repack/botocore/data/appconfig/2019-10-09/service-2.json --- python-botocore-1.4.70/botocore/data/appconfig/2019-10-09/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appconfig/2019-10-09/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1870 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-10-09", + "endpointPrefix":"appconfig", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AppConfig", + "serviceFullName":"Amazon AppConfig", + "serviceId":"AppConfig", + "signatureVersion":"v4", + "signingName":"appconfig", + "uid":"appconfig-2019-10-09" + }, + "operations":{ + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/applications", + "responseCode":201 + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

An application in AppConfig is a logical unit of code that provides capabilities for your customers. For example, an application can be a microservice that runs on Amazon EC2 instances, a mobile application installed by your users, a serverless application using Amazon API Gateway and AWS Lambda, or any system you run on behalf of others.

" + }, + "CreateConfigurationProfile":{ + "name":"CreateConfigurationProfile", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/configurationprofiles", + "responseCode":201 + }, + "input":{"shape":"CreateConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Information that enables AppConfig to access the configuration source. Valid configuration sources include Systems Manager (SSM) documents, SSM Parameter Store parameters, and Amazon S3 objects. A configuration profile includes the following information.

  • The Uri location of the configuration data.

  • The AWS Identity and Access Management (IAM) role that provides access to the configuration data.

  • A validator for the configuration data. Available validators include either a JSON Schema or an AWS Lambda function.

For more information, see Create a Configuration and a Configuration Profile in the AWS AppConfig User Guide.

" + }, + "CreateDeploymentStrategy":{ + "name":"CreateDeploymentStrategy", + "http":{ + "method":"POST", + "requestUri":"/deploymentstrategies", + "responseCode":201 + }, + "input":{"shape":"CreateDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

" + }, + "CreateEnvironment":{ + "name":"CreateEnvironment", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/environments", + "responseCode":201 + }, + "input":{"shape":"CreateEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

For each application, you define one or more environments. An environment is a logical deployment group of AppConfig targets, such as applications in a Beta or Production environment. You can also define environments for application subcomponents such as the Web, Mobile and Back-end components for your application. You can configure Amazon CloudWatch alarms for each environment. The system monitors alarms during a configuration deployment. If an alarm is triggered, the system rolls back the configuration.

" + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}", + "responseCode":204 + }, + "input":{"shape":"DeleteApplicationRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Delete an application. Deleting an application does not delete a configuration from a host.

" + }, + "DeleteConfigurationProfile":{ + "name":"DeleteConfigurationProfile", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":204 + }, + "input":{"shape":"DeleteConfigurationProfileRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Delete a configuration profile. Deleting a configuration profile does not delete a configuration from a host.

" + }, + "DeleteDeploymentStrategy":{ + "name":"DeleteDeploymentStrategy", + "http":{ + "method":"DELETE", + "requestUri":"/deployementstrategies/{DeploymentStrategyId}", + "responseCode":204 + }, + "input":{"shape":"DeleteDeploymentStrategyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Delete a deployment strategy. Deleting a deployment strategy does not delete a configuration from a host.

" + }, + "DeleteEnvironment":{ + "name":"DeleteEnvironment", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteEnvironmentRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Delete an environment. Deleting an environment does not delete a configuration from a host.

" + }, + "GetApplication":{ + "name":"GetApplication", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}", + "responseCode":200 + }, + "input":{"shape":"GetApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about an application.

" + }, + "GetConfiguration":{ + "name":"GetConfiguration", + "http":{ + "method":"GET", + "requestUri":"/applications/{Application}/environments/{Environment}/configurations/{Configuration}", + "responseCode":200 + }, + "input":{"shape":"GetConfigurationRequest"}, + "output":{"shape":"Configuration"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Receive information about a configuration.

AWS AppConfig uses the value of the ClientConfigurationVersion parameter to identify the configuration version on your clients. If you don’t send ClientConfigurationVersion with each call to GetConfiguration, your clients receive the current configuration. You are charged each time your clients receive a configuration.

To avoid excess charges, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. This value must be saved on your client. Subsequent calls to GetConfiguration must pass this value by using the ClientConfigurationVersion parameter.

" + }, + "GetConfigurationProfile":{ + "name":"GetConfigurationProfile", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":200 + }, + "input":{"shape":"GetConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about a configuration profile.

" + }, + "GetDeployment":{ + "name":"GetDeployment", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + "responseCode":200 + }, + "input":{"shape":"GetDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about a configuration deployment.

" + }, + "GetDeploymentStrategy":{ + "name":"GetDeploymentStrategy", + "http":{ + "method":"GET", + "requestUri":"/deploymentstrategies/{DeploymentStrategyId}", + "responseCode":200 + }, + "input":{"shape":"GetDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about a deployment strategy. A deployment strategy defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes: the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.

" + }, + "GetEnvironment":{ + "name":"GetEnvironment", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":200 + }, + "input":{"shape":"GetEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Retrieve information about an environment. An environment is a logical deployment group of AppConfig applications, such as applications in a Production environment or in an EU_Region environment. Each configuration deployment targets an environment. You can enable one or more Amazon CloudWatch alarms for an environment. If an alarm is triggered during a deployment, AppConfig roles back the configuration.

" + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"GET", + "requestUri":"/applications", + "responseCode":200 + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"Applications"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

List all applications in your AWS account.

" + }, + "ListConfigurationProfiles":{ + "name":"ListConfigurationProfiles", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/configurationprofiles", + "responseCode":200 + }, + "input":{"shape":"ListConfigurationProfilesRequest"}, + "output":{"shape":"ConfigurationProfiles"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Lists the configuration profiles for an application.

" + }, + "ListDeploymentStrategies":{ + "name":"ListDeploymentStrategies", + "http":{ + "method":"GET", + "requestUri":"/deploymentstrategies", + "responseCode":200 + }, + "input":{"shape":"ListDeploymentStrategiesRequest"}, + "output":{"shape":"DeploymentStrategies"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

List deployment strategies.

" + }, + "ListDeployments":{ + "name":"ListDeployments", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + "responseCode":200 + }, + "input":{"shape":"ListDeploymentsRequest"}, + "output":{"shape":"Deployments"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Lists the deployments for an environment.

" + }, + "ListEnvironments":{ + "name":"ListEnvironments", + "http":{ + "method":"GET", + "requestUri":"/applications/{ApplicationId}/environments", + "responseCode":200 + }, + "input":{"shape":"ListEnvironmentsRequest"}, + "output":{"shape":"Environments"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

List the environments for an application.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ResourceTags"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Retrieves the list of key-value tags assigned to the resource.

" + }, + "StartDeployment":{ + "name":"StartDeployment", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", + "responseCode":201 + }, + "input":{"shape":"StartDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts a deployment.

" + }, + "StopDeployment":{ + "name":"StopDeployment", + "http":{ + "method":"DELETE", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}/deployments/{DeploymentNumber}", + "responseCode":202 + }, + "input":{"shape":"StopDeploymentRequest"}, + "output":{"shape":"Deployment"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Stops a deployment. This API action works only on deployments that have a status of DEPLOYING. This action moves the deployment to a status of ROLLED_BACK.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Metadata to assign to an AppConfig resource. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define. You can specify a maximum of 50 tags for a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes a tag key and value from an AppConfig resource.

" + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}", + "responseCode":200 + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"Application"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates an application.

" + }, + "UpdateConfigurationProfile":{ + "name":"UpdateConfigurationProfile", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}", + "responseCode":200 + }, + "input":{"shape":"UpdateConfigurationProfileRequest"}, + "output":{"shape":"ConfigurationProfile"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates a configuration profile.

" + }, + "UpdateDeploymentStrategy":{ + "name":"UpdateDeploymentStrategy", + "http":{ + "method":"PATCH", + "requestUri":"/deploymentstrategies/{DeploymentStrategyId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDeploymentStrategyRequest"}, + "output":{"shape":"DeploymentStrategy"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates a deployment strategy.

" + }, + "UpdateEnvironment":{ + "name":"UpdateEnvironment", + "http":{ + "method":"PATCH", + "requestUri":"/applications/{ApplicationId}/environments/{EnvironmentId}", + "responseCode":200 + }, + "input":{"shape":"UpdateEnvironmentRequest"}, + "output":{"shape":"Environment"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates an environment.

" + }, + "ValidateConfiguration":{ + "name":"ValidateConfiguration", + "http":{ + "method":"POST", + "requestUri":"/applications/{ApplicationId}/configurationprofiles/{ConfigurationProfileId}/validators", + "responseCode":204 + }, + "input":{"shape":"ValidateConfigurationRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Uses the validators in a configuration profile to validate a configuration.

" + } + }, + "shapes":{ + "Application":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

The application ID.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The application name.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the application.

" + } + } + }, + "ApplicationList":{ + "type":"list", + "member":{"shape":"Application"} + }, + "Applications":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"ApplicationList", + "documentation":"

The elements from this collection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1})?:(\\d{12})?:[a-zA-Z0-9-_/:.]+" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The input fails to satisfy the constraints specified by an AWS service.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Blob":{"type":"blob"}, + "Configuration":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"Blob", + "documentation":"

The content of the configuration or the configuration data.

" + }, + "ConfigurationVersion":{ + "shape":"Version", + "documentation":"

The configuration version.

", + "location":"header", + "locationName":"Configuration-Version" + }, + "ContentType":{ + "shape":"String", + "documentation":"

A standard MIME type describing the format of the configuration content. For more information, see Content-Type.

", + "location":"header", + "locationName":"Content-Type" + } + }, + "payload":"Content" + }, + "ConfigurationProfile":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

" + }, + "Id":{ + "shape":"Id", + "documentation":"

The configuration profile ID.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the configuration profile.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The configuration profile description.

" + }, + "LocationUri":{ + "shape":"Uri", + "documentation":"

The URI location of the configuration.

" + }, + "RetrievalRoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

" + }, + "Validators":{ + "shape":"ValidatorList", + "documentation":"

A list of methods for validating the configuration.

" + } + } + }, + "ConfigurationProfileSummary":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

" + }, + "Id":{ + "shape":"Id", + "documentation":"

The ID of the configuration profile.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the configuration profile.

" + }, + "LocationUri":{ + "shape":"Uri", + "documentation":"

The URI location of the configuration.

" + }, + "ValidatorTypes":{ + "shape":"ValidatorTypeList", + "documentation":"

The types of validators in the configuration profile.

" + } + }, + "documentation":"

A summary of a configuration profile.

" + }, + "ConfigurationProfileSummaryList":{ + "type":"list", + "member":{"shape":"ConfigurationProfileSummary"} + }, + "ConfigurationProfiles":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"ConfigurationProfileSummaryList", + "documentation":"

The elements from this collection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request could not be processed because of conflict in the current state of the resource.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A name for the application.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the application.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to the application. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "CreateConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Name", + "LocationUri", + "RetrievalRoleArn" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{ + "shape":"Name", + "documentation":"

A name for the configuration profile.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the configuration profile.

" + }, + "LocationUri":{ + "shape":"Uri", + "documentation":"

A URI to locate the configuration. You can specify a Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For an SSM document, specify either the document name in the format ssm-document://<Document_name> or the Amazon Resource Name (ARN). For a parameter, specify either the parameter name in the format ssm-parameter://<Parameter_name> or the ARN. For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://my-bucket/my-app/us-east-1/my-config.json

" + }, + "RetrievalRoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

" + }, + "Validators":{ + "shape":"ValidatorList", + "documentation":"

A list of methods for validating the configuration.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to the configuration profile. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "CreateDeploymentStrategyRequest":{ + "type":"structure", + "required":[ + "Name", + "DeploymentDurationInMinutes", + "GrowthFactor", + "ReplicateTo" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A name for the deployment strategy.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the deployment strategy.

" + }, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

Total amount of time for a deployment to last.

", + "box":true + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

" + }, + "GrowthFactor":{ + "shape":"GrowthFactor", + "documentation":"

The percentage of targets to receive a deployed configuration during each interval.

", + "box":true + }, + "GrowthType":{ + "shape":"GrowthType", + "documentation":"

The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:

Linear: For this type, AppConfig processes the deployment by dividing the total number of targets by the value specified for Step percentage. For example, a linear deployment that uses a Step percentage of 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.

Exponential: For this type, AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:

2*(2^0)

2*(2^1)

2*(2^2)

Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.

" + }, + "ReplicateTo":{ + "shape":"ReplicateTo", + "documentation":"

Save the deployment strategy to a Systems Manager (SSM) document.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to the deployment strategy. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "CreateEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Name" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{ + "shape":"Name", + "documentation":"

A name for the environment.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the environment.

" + }, + "Monitors":{ + "shape":"MonitorList", + "documentation":"

Amazon CloudWatch alarms to monitor during the deployment process.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to the environment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application to delete.

", + "location":"uri", + "locationName":"ApplicationId" + } + } + }, + "DeleteConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID that includes the configuration profile you want to delete.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The ID of the configuration profile you want to delete.

", + "location":"uri", + "locationName":"ConfigurationProfileId" + } + } + }, + "DeleteDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "documentation":"

The ID of the deployment strategy you want to delete.

", + "location":"uri", + "locationName":"DeploymentStrategyId" + } + } + }, + "DeleteEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID that includes the environment you want to delete.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The ID of the environment you want to delete.

", + "location":"uri", + "locationName":"EnvironmentId" + } + } + }, + "Deployment":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application that was deployed.

" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The ID of the environment that was deployed.

" + }, + "DeploymentStrategyId":{ + "shape":"Id", + "documentation":"

The ID of the deployment strategy that was deployed.

" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The ID of the configuration profile that was deployed.

" + }, + "DeploymentNumber":{ + "shape":"Integer", + "documentation":"

The sequence number of the deployment.

" + }, + "ConfigurationName":{ + "shape":"Name", + "documentation":"

The name of the configuration.

" + }, + "ConfigurationLocationUri":{ + "shape":"Uri", + "documentation":"

Information about the source location of the configuration.

" + }, + "ConfigurationVersion":{ + "shape":"Version", + "documentation":"

The configuration version that was deployed.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the deployment.

" + }, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

Total amount of time the deployment lasted.

" + }, + "GrowthType":{ + "shape":"GrowthType", + "documentation":"

The algorithm used to define how percentage grew over time.

" + }, + "GrowthFactor":{ + "shape":"Percentage", + "documentation":"

The percentage of targets to receive a deployed configuration during each interval.

" + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

The amount of time AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

" + }, + "State":{ + "shape":"DeploymentState", + "documentation":"

The state of the deployment.

" + }, + "EventLog":{ + "shape":"DeploymentEvents", + "documentation":"

A list containing all events related to a deployment. The most recent events are displayed first.

" + }, + "PercentageComplete":{ + "shape":"Percentage", + "documentation":"

The percentage of targets for which the deployment is available.

" + }, + "StartedAt":{ + "shape":"Iso8601DateTime", + "documentation":"

The time the deployment started.

" + }, + "CompletedAt":{ + "shape":"Iso8601DateTime", + "documentation":"

The time the deployment completed.

" + } + } + }, + "DeploymentEvent":{ + "type":"structure", + "members":{ + "EventType":{ + "shape":"DeploymentEventType", + "documentation":"

The type of deployment event. Deployment event types include the start, stop, or completion of a deployment; a percentage update; the start or stop of a bake period; the start or completion of a rollback.

" + }, + "TriggeredBy":{ + "shape":"TriggeredBy", + "documentation":"

The entity that triggered the deployment event. Events can be triggered by a user, AWS AppConfig, an Amazon CloudWatch alarm, or an internal error.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the deployment event. Descriptions include, but are not limited to, the user account or the CloudWatch alarm ARN that initiated a rollback, the percentage of hosts that received the deployment, or in the case of an internal error, a recommendation to attempt a new deployment.

" + }, + "OccurredAt":{ + "shape":"Iso8601DateTime", + "documentation":"

The date and time the event occurred.

" + } + }, + "documentation":"

An object that describes a deployment event.

" + }, + "DeploymentEventType":{ + "type":"string", + "enum":[ + "PERCENTAGE_UPDATED", + "ROLLBACK_STARTED", + "ROLLBACK_COMPLETED", + "BAKE_TIME_STARTED", + "DEPLOYMENT_STARTED", + "DEPLOYMENT_COMPLETED" + ] + }, + "DeploymentEvents":{ + "type":"list", + "member":{"shape":"DeploymentEvent"} + }, + "DeploymentList":{ + "type":"list", + "member":{"shape":"DeploymentSummary"} + }, + "DeploymentState":{ + "type":"string", + "enum":[ + "BAKING", + "VALIDATING", + "DEPLOYING", + "COMPLETE", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "DeploymentStrategies":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"DeploymentStrategyList", + "documentation":"

The elements from this collection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, + "DeploymentStrategy":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

The deployment strategy ID.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the deployment strategy.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the deployment strategy.

" + }, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

Total amount of time the deployment lasted.

" + }, + "GrowthType":{ + "shape":"GrowthType", + "documentation":"

The algorithm used to define how percentage grew over time.

" + }, + "GrowthFactor":{ + "shape":"Percentage", + "documentation":"

The percentage of targets that received a deployed configuration during each interval.

" + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

The amount of time AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

" + }, + "ReplicateTo":{ + "shape":"ReplicateTo", + "documentation":"

Save the deployment strategy to a Systems Manager (SSM) document.

" + } + } + }, + "DeploymentStrategyId":{ + "type":"string", + "pattern":"([a-z0-9]{4,7}|arn:aws.*)" + }, + "DeploymentStrategyList":{ + "type":"list", + "member":{"shape":"DeploymentStrategy"} + }, + "DeploymentSummary":{ + "type":"structure", + "members":{ + "DeploymentNumber":{ + "shape":"Integer", + "documentation":"

The sequence number of the deployment.

" + }, + "ConfigurationName":{ + "shape":"Name", + "documentation":"

The name of the configuration.

" + }, + "ConfigurationVersion":{ + "shape":"Version", + "documentation":"

The version of the configuration.

" + }, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

Total amount of time the deployment lasted.

" + }, + "GrowthType":{ + "shape":"GrowthType", + "documentation":"

The algorithm used to define how percentage grows over time.

" + }, + "GrowthFactor":{ + "shape":"Percentage", + "documentation":"

The percentage of targets to receive a deployed configuration during each interval.

" + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

" + }, + "State":{ + "shape":"DeploymentState", + "documentation":"

The state of the deployment.

" + }, + "PercentageComplete":{ + "shape":"Percentage", + "documentation":"

The percentage of targets for which the deployment is available.

" + }, + "StartedAt":{ + "shape":"Iso8601DateTime", + "documentation":"

Time the deployment started.

" + }, + "CompletedAt":{ + "shape":"Iso8601DateTime", + "documentation":"

Time the deployment completed.

" + } + }, + "documentation":"

Information about the deployment.

" + }, + "Deployments":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"DeploymentList", + "documentation":"

The elements from this collection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, + "Description":{ + "type":"string", + "max":1024, + "min":0 + }, + "Environment":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

" + }, + "Id":{ + "shape":"Id", + "documentation":"

The environment ID.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the environment.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the environment.

" + }, + "State":{ + "shape":"EnvironmentState", + "documentation":"

The state of the environment. An environment can be in one of the following states: READY_FOR_DEPLOYMENT, DEPLOYING, ROLLING_BACK, or ROLLED_BACK

" + }, + "Monitors":{ + "shape":"MonitorList", + "documentation":"

Amazon CloudWatch alarms monitored during the deployment.

" + } + } + }, + "EnvironmentList":{ + "type":"list", + "member":{"shape":"Environment"} + }, + "EnvironmentState":{ + "type":"string", + "enum":[ + "READY_FOR_DEPLOYMENT", + "DEPLOYING", + "ROLLING_BACK", + "ROLLED_BACK" + ] + }, + "Environments":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"EnvironmentList", + "documentation":"

The elements from this collection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. Use this token to get the next set of results.

" + } + } + }, + "GetApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application you want to get.

", + "location":"uri", + "locationName":"ApplicationId" + } + } + }, + "GetConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application that includes the configuration profile you want to get.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The ID of the configuration profile you want to get.

", + "location":"uri", + "locationName":"ConfigurationProfileId" + } + } + }, + "GetConfigurationRequest":{ + "type":"structure", + "required":[ + "Application", + "Environment", + "Configuration", + "ClientId" + ], + "members":{ + "Application":{ + "shape":"StringWithLengthBetween1And64", + "documentation":"

The application to get. Specify either the application name or the application ID.

", + "location":"uri", + "locationName":"Application" + }, + "Environment":{ + "shape":"StringWithLengthBetween1And64", + "documentation":"

The environment to get. Specify either the environment name or the environment ID.

", + "location":"uri", + "locationName":"Environment" + }, + "Configuration":{ + "shape":"StringWithLengthBetween1And64", + "documentation":"

The configuration to get. Specify either the configuration name or the configuration ID.

", + "location":"uri", + "locationName":"Configuration" + }, + "ClientId":{ + "shape":"StringWithLengthBetween1And64", + "documentation":"

A unique ID to identify the client for the configuration. This ID enables AppConfig to deploy the configuration in intervals, as defined in the deployment strategy.

", + "location":"querystring", + "locationName":"client_id" + }, + "ClientConfigurationVersion":{ + "shape":"Version", + "documentation":"

The configuration version returned in the most recent GetConfiguration response.

AWS AppConfig uses the value of the ClientConfigurationVersion parameter to identify the configuration version on your clients. If you don’t send ClientConfigurationVersion with each call to GetConfiguration, your clients receive the current configuration. You are charged each time your clients receive a configuration.

To avoid excess charges, we recommend that you include the ClientConfigurationVersion value with every call to GetConfiguration. This value must be saved on your client. Subsequent calls to GetConfiguration must pass this value by using the ClientConfigurationVersion parameter.

For more information about working with configurations, see Retrieving the Configuration in the AWS AppConfig User Guide.

", + "location":"querystring", + "locationName":"client_configuration_version" + } + } + }, + "GetDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentNumber" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application that includes the deployment you want to get.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The ID of the environment that includes the deployment you want to get.

", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentNumber":{ + "shape":"Integer", + "documentation":"

The sequence number of the deployment.

", + "box":true, + "location":"uri", + "locationName":"DeploymentNumber" + } + } + }, + "GetDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "documentation":"

The ID of the deployment strategy to get.

", + "location":"uri", + "locationName":"DeploymentStrategyId" + } + } + }, + "GetEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The ID of the application that includes the environment you want to get.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The ID of the environment you wnat to get.

", + "location":"uri", + "locationName":"EnvironmentId" + } + } + }, + "GrowthFactor":{ + "type":"float", + "max":100.0, + "min":1.0 + }, + "GrowthType":{ + "type":"string", + "enum":[ + "LINEAR", + "EXPONENTIAL" + ] + }, + "Id":{ + "type":"string", + "pattern":"[a-z0-9]{4,7}" + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

There was an internal failure in the AppConfig service.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Iso8601DateTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListConfigurationProfilesRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListDeploymentStrategiesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListDeploymentsRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The environment ID.

", + "location":"uri", + "locationName":"EnvironmentId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListEnvironmentsRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

", + "box":true, + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to start the list. Use this token to get the next set of results.

", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The resource ARN.

", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "MinutesBetween0And24Hours":{ + "type":"integer", + "max":1440, + "min":0 + }, + "Monitor":{ + "type":"structure", + "members":{ + "AlarmArn":{ + "shape":"Arn", + "documentation":"

ARN of the Amazon CloudWatch alarm.

" + }, + "AlarmRoleArn":{ + "shape":"Arn", + "documentation":"

ARN of an IAM role for AppConfig to monitor AlarmArn.

" + } + }, + "documentation":"

Amazon CloudWatch alarms to monitor during the deployment process.

" + }, + "MonitorList":{ + "type":"list", + "member":{"shape":"Monitor"}, + "max":5, + "min":0 + }, + "Name":{ + "type":"string", + "max":64, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "Percentage":{ + "type":"float", + "max":100.0, + "min":1.0 + }, + "ReplicateTo":{ + "type":"string", + "enum":[ + "NONE", + "SSM_DOCUMENT" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceName":{"shape":"String"} + }, + "documentation":"

The requested resource could not be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceTags":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to AppConfig resources. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "StartDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentStrategyId", + "ConfigurationProfileId", + "ConfigurationVersion" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The environment ID.

", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "documentation":"

The deployment strategy ID.

" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The configuration profile ID.

" + }, + "ConfigurationVersion":{ + "shape":"Version", + "documentation":"

The configuration version to deploy.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the deployment.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

Metadata to assign to the deployment. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

" + } + } + }, + "StopDeploymentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId", + "DeploymentNumber" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The environment ID.

", + "location":"uri", + "locationName":"EnvironmentId" + }, + "DeploymentNumber":{ + "shape":"Integer", + "documentation":"

The sequence number of the deployment.

", + "box":true, + "location":"uri", + "locationName":"DeploymentNumber" + } + } + }, + "String":{"type":"string"}, + "StringWithLengthBetween0And32768":{ + "type":"string", + "max":32768, + "min":0 + }, + "StringWithLengthBetween1And64":{ + "type":"string", + "max":64, + "min":1 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource for which to retrieve tags.

", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The key-value string map. The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with aws:. The tag value can be up to 256 characters.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "TriggeredBy":{ + "type":"string", + "enum":[ + "USER", + "APPCONFIG", + "CLOUDWATCH_ALARM", + "INTERNAL_ERROR" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the resource for which to remove tags.

", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to delete.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the application.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the application.

" + } + } + }, + "UpdateConfigurationProfileRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The ID of the configuration profile.

", + "location":"uri", + "locationName":"ConfigurationProfileId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the configuration profile.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the configuration profile.

" + }, + "RetrievalRoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of an IAM role with permission to access the configuration at the specified LocationUri.

" + }, + "Validators":{ + "shape":"ValidatorList", + "documentation":"

A list of methods for validating the configuration.

" + } + } + }, + "UpdateDeploymentStrategyRequest":{ + "type":"structure", + "required":["DeploymentStrategyId"], + "members":{ + "DeploymentStrategyId":{ + "shape":"DeploymentStrategyId", + "documentation":"

The deployment strategy ID.

", + "location":"uri", + "locationName":"DeploymentStrategyId" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the deployment strategy.

" + }, + "DeploymentDurationInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

Total amount of time for a deployment to last.

", + "box":true + }, + "FinalBakeTimeInMinutes":{ + "shape":"MinutesBetween0And24Hours", + "documentation":"

The amount of time AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic roll back.

", + "box":true + }, + "GrowthFactor":{ + "shape":"GrowthFactor", + "documentation":"

The percentage of targets to receive a deployed configuration during each interval.

", + "box":true + }, + "GrowthType":{ + "shape":"GrowthType", + "documentation":"

The algorithm used to define how percentage grows over time. AWS AppConfig supports the following growth types:

Linear: For this type, AppConfig processes the deployment by increments of the growth factor evenly distributed over the deployment time. For example, a linear deployment that uses a growth factor of 20 initially makes the configuration available to 20 percent of the targets. After 1/5th of the deployment time has passed, the system updates the percentage to 40 percent. This continues until 100% of the targets are set to receive the deployed configuration.

Exponential: For this type, AppConfig processes the deployment exponentially using the following formula: G*(2^N). In this formula, G is the growth factor specified by the user and N is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:

2*(2^0)

2*(2^1)

2*(2^2)

Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.

" + } + } + }, + "UpdateEnvironmentRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "EnvironmentId" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "EnvironmentId":{ + "shape":"Id", + "documentation":"

The environment ID.

", + "location":"uri", + "locationName":"EnvironmentId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the environment.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the environment.

" + }, + "Monitors":{ + "shape":"MonitorList", + "documentation":"

Amazon CloudWatch alarms to monitor during the deployment process.

" + } + } + }, + "Uri":{ + "type":"string", + "max":2048, + "min":1 + }, + "ValidateConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "ConfigurationProfileId", + "ConfigurationVersion" + ], + "members":{ + "ApplicationId":{ + "shape":"Id", + "documentation":"

The application ID.

", + "location":"uri", + "locationName":"ApplicationId" + }, + "ConfigurationProfileId":{ + "shape":"Id", + "documentation":"

The configuration profile ID.

", + "location":"uri", + "locationName":"ConfigurationProfileId" + }, + "ConfigurationVersion":{ + "shape":"Version", + "documentation":"

The version of the configuration to validate.

", + "location":"querystring", + "locationName":"configuration_version" + } + } + }, + "Validator":{ + "type":"structure", + "required":[ + "Type", + "Content" + ], + "members":{ + "Type":{ + "shape":"ValidatorType", + "documentation":"

AppConfig supports validators of type JSON_SCHEMA and LAMBDA

" + }, + "Content":{ + "shape":"StringWithLengthBetween0And32768", + "documentation":"

Either the JSON Schema content or the Amazon Resource Name (ARN) of an AWS Lambda function.

" + } + }, + "documentation":"

A validator provides a syntactic or semantic check to ensure the configuration you want to deploy functions as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

" + }, + "ValidatorList":{ + "type":"list", + "member":{"shape":"Validator"}, + "max":2, + "min":0 + }, + "ValidatorType":{ + "type":"string", + "enum":[ + "JSON_SCHEMA", + "LAMBDA" + ] + }, + "ValidatorTypeList":{ + "type":"list", + "member":{"shape":"ValidatorType"}, + "max":2, + "min":0 + }, + "Version":{ + "type":"string", + "max":128, + "min":1 + } + }, + "documentation":"AWS AppConfig

Use AWS AppConfig, a capability of AWS Systems Manager, to create, manage, and quickly deploy application configurations. AppConfig supports controlled deployments to applications of any size and includes built-in validation checks and monitoring. You can use AppConfig with applications hosted on Amazon EC2 instances, AWS Lambda, containers, mobile applications, or IoT devices.

To prevent errors when deploying application configurations, especially for production systems where a simple typo could cause an unexpected outage, AppConfig includes validators. A validator provides a syntactic or semantic check to ensure that the configuration you want to deploy works as intended. To validate your application configuration data, you provide a schema or a Lambda function that runs against the configuration. The configuration deployment or update can only proceed when the configuration data is valid.

During a configuration deployment, AppConfig monitors the application to ensure that the deployment is successful. If the system encounters an error, AppConfig rolls back the change to minimize impact for your application users. You can configure a deployment strategy for each application or environment that includes deployment criteria, including velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment triggers an alarm, AppConfig automatically rolls back to the previous version.

AppConfig supports multiple use cases. Here are some examples.

  • Application tuning: Use AppConfig to carefully introduce changes to your application that can only be tested with production traffic.

  • Feature toggle: Use AppConfig to turn on new features that require a timely deployment, such as a product launch or announcement.

  • User membership: Use AppConfig to allow premium subscribers to access paid content.

  • Operational issues: Use AppConfig to reduce stress on your application when a dependency or other external factor impacts the system.

This reference is intended to be used with the AWS AppConfig User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/examples-1.json --- python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,257 @@ +{ + "version": "1.0", + "examples": { + "DeleteScalingPolicy": [ + { + "input": { + "PolicyName": "web-app-cpu-lt-25", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes a scaling policy for the Amazon ECS service called web-app, which is running in the default cluster.", + "id": "to-delete-a-scaling-policy-1470863892689", + "title": "To delete a scaling policy" + } + ], + "DeregisterScalableTarget": [ + { + "input": { + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a scalable target for an Amazon ECS service called web-app that is running in the default cluster.", + "id": "to-deregister-a-scalable-target-1470864164895", + "title": "To deregister a scalable target" + } + ], + "DescribeScalableTargets": [ + { + "input": { + "ServiceNamespace": "ecs" + }, + "output": { + "ScalableTargets": [ + { + "CreationTime": "2016-05-06T11:21:46.199Z", + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "service/default/web-app", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scalable targets for the ecs service namespace.", + "id": "to-describe-scalable-targets-1470864286961", + "title": "To describe scalable targets" + } + ], + "DescribeScalingActivities": [ + { + "input": { + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "output": { + "ScalingActivities": [ + { + "ActivityId": "e6c5f7d1-dbbb-4a3f-89b2-51f33e766399", + "Cause": "monitor alarm web-app-cpu-lt-25 in state ALARM triggered policy web-app-cpu-lt-25", + "Description": "Setting desired count to 1.", + "EndTime": "2016-05-06T16:04:32.111Z", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StartTime": "2016-05-06T16:03:58.171Z", + "StatusCode": "Successful", + "StatusMessage": "Successfully set desired count to 1. Change successfully fulfilled by ecs." + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling activities for an Amazon ECS service called web-app that is running in the default cluster.", + "id": "to-describe-scaling-activities-for-a-scalable-target-1470864398629", + "title": "To describe scaling activities for a scalable target" + } + ], + "DescribeScalingPolicies": [ + { + "input": { + "ServiceNamespace": "ecs" + }, + "output": { + "NextToken": "", + "ScalingPolicies": [ + { + "Alarms": [ + { + "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:web-app-cpu-gt-75", + "AlarmName": "web-app-cpu-gt-75" + } + ], + "CreationTime": "2016-05-06T12:11:39.230Z", + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/web-app-cpu-gt-75", + "PolicyName": "web-app-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 60, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling policies for the ecs service namespace.", + "id": "to-describe-scaling-policies-1470864609734", + "title": "To describe scaling policies" + } + ], + "PutScalingPolicy": [ + { + "input": { + "PolicyName": "web-app-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "service/default/web-app", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 60, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/ecs/service/default/web-app:policyName/web-app-cpu-gt-75" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example applies a scaling policy to an Amazon ECS service called web-app in the default cluster. The policy increases the desired count of the service by 200%, with a cool down period of 60 seconds.", + "id": "to-apply-a-scaling-policy-to-an-amazon-ecs-service-1470864779862", + "title": "To apply a scaling policy to an Amazon ECS service" + }, + { + "input": { + "PolicyName": "fleet-cpu-gt-75", + "PolicyType": "StepScaling", + "ResourceId": "spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3", + "ScalableDimension": "ec2:spot-fleet-request:TargetCapacity", + "ServiceNamespace": "ec2", + "StepScalingPolicyConfiguration": { + "AdjustmentType": "PercentChangeInCapacity", + "Cooldown": 180, + "StepAdjustments": [ + { + "MetricIntervalLowerBound": 0, + "ScalingAdjustment": 200 + } + ] + } + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-east-1:012345678910:scalingPolicy:89406401-0cb7-4130-b770-d97cca0e446b:resource/ec2/spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3:policyName/fleet-cpu-gt-75" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example applies a scaling policy to an Amazon EC2 Spot fleet. The policy increases the target capacity of the spot fleet by 200%, with a cool down period of 180 seconds.\",\n ", + "id": "to-apply-a-scaling-policy-to-an-amazon-ec2-spot-fleet-1472073278469", + "title": "To apply a scaling policy to an Amazon EC2 Spot fleet" + } + ], + "RegisterScalableTarget": [ + { + "input": { + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "service/default/web-app", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingECSRole", + "ScalableDimension": "ecs:service:DesiredCount", + "ServiceNamespace": "ecs" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a scalable target from an Amazon ECS service called web-app that is running on the default cluster, with a minimum desired count of 1 task and a maximum desired count of 10 tasks.", + "id": "to-register-a-new-scalable-target-1470864910380", + "title": "To register an ECS service as a scalable target" + }, + { + "input": { + "MaxCapacity": 10, + "MinCapacity": 1, + "ResourceId": "spot-fleet-request/sfr-45e69d8a-be48-4539-bbf3-3464e99c50c3", + "RoleARN": "arn:aws:iam::012345678910:role/ApplicationAutoscalingSpotRole", + "ScalableDimension": "ec2:spot-fleet-request:TargetCapacity", + "ServiceNamespace": "ec2" + }, + "output": { + }, + "comments": { + }, + "description": "This example registers a scalable target from an Amazon EC2 Spot fleet with a minimum target capacity of 1 and a maximum of 10.", + "id": "to-register-an-ec2-spot-fleet-as-a-scalable-target-1472072899649", + "title": "To register an EC2 Spot fleet as a scalable target" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -17,6 +17,12 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "ScalingPolicies" + }, + "DescribeScheduledActions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledActions" } } } diff -Nru python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/service-2.json python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/service-2.json --- python-botocore-1.4.70/botocore/data/application-autoscaling/2016-02-06/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/application-autoscaling/2016-02-06/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -2,13 +2,15 @@ "version":"2.0", "metadata":{ "apiVersion":"2016-02-06", - "endpointPrefix":"autoscaling", + "endpointPrefix":"application-autoscaling", "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Application Auto Scaling", + "serviceId":"Application Auto Scaling", "signatureVersion":"v4", "signingName":"application-autoscaling", - "targetPrefix":"AnyScaleFrontendService" + "targetPrefix":"AnyScaleFrontendService", + "uid":"application-autoscaling-2016-02-06" }, "operations":{ "DeleteScalingPolicy":{ @@ -25,7 +27,23 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Deletes an Application Auto Scaling scaling policy that was previously created. If you are no longer using a scaling policy, you can delete it with this operation.

Deleting a policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

To create a new scaling policy or update an existing one, see PutScalingPolicy.

" + "documentation":"

Deletes the specified scaling policy for an Application Auto Scaling scalable target.

Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

For more information, see Delete a Step Scaling Policy and Delete a Target Tracking Scaling Policy in the Application Auto Scaling User Guide.

" + }, + "DeleteScheduledAction":{ + "name":"DeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScheduledActionRequest"}, + "output":{"shape":"DeleteScheduledActionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes the specified scheduled action for an Application Auto Scaling scalable target.

For more information, see Delete a Scheduled Action in the Application Auto Scaling User Guide.

" }, "DeregisterScalableTarget":{ "name":"DeregisterScalableTarget", @@ -41,7 +59,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Deregisters a scalable target that was previously registered. If you are no longer using a scalable target, you can delete it with this operation. When you deregister a scalable target, all of the scaling policies that are associated with that scalable target are deleted.

To create a new scalable target or update an existing one, see RegisterScalableTarget.

" + "documentation":"

Deregisters an Application Auto Scaling scalable target when you have finished using it. To see which resources have been registered, use DescribeScalableTargets.

Deregistering a scalable target deletes the scaling policies and the scheduled actions that are associated with it.

" }, "DescribeScalableTargets":{ "name":"DescribeScalableTargets", @@ -57,7 +75,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Provides descriptive information for scalable targets with a specified service namespace.

You can filter the results in a service namespace with the ResourceIds and ScalableDimension parameters.

To create a new scalable target or update an existing one, see RegisterScalableTarget. If you are no longer using a scalable target, you can deregister it with DeregisterScalableTarget.

" + "documentation":"

Gets information about the scalable targets in the specified namespace.

You can filter the results using ResourceIds and ScalableDimension.

" }, "DescribeScalingActivities":{ "name":"DescribeScalingActivities", @@ -73,7 +91,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Provides descriptive information for scaling activities with a specified service namespace for the previous six weeks.

You can filter the results in a service namespace with the ResourceId and ScalableDimension parameters.

Scaling activities are triggered by CloudWatch alarms that are associated with scaling policies. To view the existing scaling policies for a service namespace, see DescribeScalingPolicies. To create a new scaling policy or update an existing one, see PutScalingPolicy.

" + "documentation":"

Provides descriptive information about the scaling activities in the specified namespace from the previous six weeks.

You can filter the results using ResourceId and ScalableDimension.

" }, "DescribeScalingPolicies":{ "name":"DescribeScalingPolicies", @@ -90,7 +108,23 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Provides descriptive information for scaling policies with a specified service namespace.

You can filter the results in a service namespace with the ResourceId, ScalableDimension, and PolicyNames parameters.

To create a new scaling policy or update an existing one, see PutScalingPolicy. If you are no longer using a scaling policy, you can delete it with DeleteScalingPolicy.

" + "documentation":"

Describes the Application Auto Scaling scaling policies for the specified service namespace.

You can filter the results using ResourceId, ScalableDimension, and PolicyNames.

For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

" + }, + "DescribeScheduledActions":{ + "name":"DescribeScheduledActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScheduledActionsRequest"}, + "output":{"shape":"DescribeScheduledActionsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes the Application Auto Scaling scheduled actions for the specified service namespace.

You can filter the results using the ResourceId, ScalableDimension, and ScheduledActionNames parameters.

For more information, see Scheduled Scaling in the Application Auto Scaling User Guide.

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -105,9 +139,27 @@ {"shape":"LimitExceededException"}, {"shape":"ObjectNotFoundException"}, {"shape":"ConcurrentUpdateException"}, + {"shape":"FailedResourceAccessException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Creates or updates a policy for an existing Application Auto Scaling scalable target. Each scalable target is identified by service namespace, a resource ID, and a scalable dimension, and a scaling policy applies to a scalable target that is identified by those three attributes. You cannot create a scaling policy without first registering a scalable target with RegisterScalableTarget.

To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

You can view the existing scaling policies for a service namespace with DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it with DeleteScalingPolicy.

" + "documentation":"

Creates or updates a scaling policy for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy until you have registered the resource as a scalable target.

Multiple scaling policies can be in force at the same time for the same scalable target. You can have one or more target tracking scaling policies, one or more step scaling policies, or both. However, there is a chance that multiple policies could conflict, instructing the scalable target to scale out or in at the same time. Application Auto Scaling gives precedence to the policy that provides the largest capacity for both scale out and scale in. For example, if one policy increases capacity by 3, another policy increases capacity by 200 percent, and the current capacity is 10, Application Auto Scaling uses the policy with the highest calculated capacity (200% of 10 = 20) and scales out to 30.

We recommend caution, however, when using target tracking scaling policies with step scaling policies because conflicts between these policies can cause undesirable behavior. For example, if the step scaling policy initiates a scale-in activity before the target tracking policy is ready to scale in, the scale-in activity will not be blocked. After the scale-in activity completes, the target tracking policy could instruct the scalable target to scale out again.

For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

If a scalable target is deregistered, the scalable target is no longer available to execute scaling policies. Any scaling policies that were specified for the scalable target are deleted.

" + }, + "PutScheduledAction":{ + "name":"PutScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutScheduledActionRequest"}, + "output":{"shape":"PutScheduledActionResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates or updates a scheduled action for an Application Auto Scaling scalable target.

Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scheduled action applies to the scalable target identified by those three attributes. You cannot create a scheduled action until you have registered the resource as a scalable target.

When start and end times are specified with a recurring schedule using a cron expression or rates, they form the boundaries of when the recurring action starts and stops.

To update a scheduled action, specify the parameters that you want to change. If you don't specify start and end times, the old values are deleted.

For more information, see Scheduled Scaling in the Application Auto Scaling User Guide.

If a scalable target is deregistered, the scalable target is no longer available to run scheduled actions. Any scheduled actions that were specified for the scalable target are deleted.

" }, "RegisterScalableTarget":{ "name":"RegisterScalableTarget", @@ -123,7 +175,7 @@ {"shape":"ConcurrentUpdateException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Registers or updates a scalable target. A scalable target is a resource that can be scaled out or in with Application Auto Scaling. After you have registered a scalable target, you can use this operation to update the minimum and maximum values for your scalable dimension.

After you register a scalable target with Application Auto Scaling, you can create and apply scaling policies to it with PutScalingPolicy. You can view the existing scaling policies for a service namespace with DescribeScalableTargets. If you are no longer using a scalable target, you can deregister it with DeregisterScalableTarget.

" + "documentation":"

Registers or updates a scalable target.

A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace.

When you register a new scalable target, you must specify values for minimum and maximum capacity. Application Auto Scaling scaling policies will not scale capacity to values that are outside of this range.

After you register a scalable target, you do not need to register it again to use other Application Auto Scaling operations. To see which resources have been registered, use DescribeScalableTargets. You can also view the scaling policies for a service namespace by using DescribeScalableTargets. If you no longer need a scalable target, you can deregister it by using DeregisterScalableTarget.

To update a scalable target, specify the parameters that you want to change. Include the parameters that identify the scalable target: resource ID, scalable dimension, and namespace. Any parameters that you don't specify are not changed by this update request.

" } }, "shapes":{ @@ -151,7 +203,7 @@ "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" } }, - "documentation":"

An object representing a CloudWatch alarm associated with a scaling policy.

" + "documentation":"

Represents a CloudWatch alarm associated with a scaling policy.

" }, "Alarms":{ "type":"list", @@ -166,6 +218,37 @@ "exception":true }, "Cooldown":{"type":"integer"}, + "CustomizedMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "Namespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensions", + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.

" + }, + "Statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the metric.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric.

" + } + }, + "documentation":"

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.

For information about the available metrics for a service, see AWS Services That Publish CloudWatch Metrics in the Amazon CloudWatch User Guide.

To create your customized metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases, and increase when capacity decreases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" + }, "DeleteScalingPolicyRequest":{ "type":"structure", "required":[ @@ -177,19 +260,19 @@ "members":{ "PolicyName":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The name of the scaling policy to delete.

" + "documentation":"

The name of the scaling policy.

" }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scaling policy is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scaling policy. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" } } }, @@ -198,6 +281,38 @@ "members":{ } }, + "DeleteScheduledActionRequest":{ + "type":"structure", + "required":[ + "ServiceNamespace", + "ScheduledActionName", + "ResourceId", + "ScalableDimension" + ], + "members":{ + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" + }, + "ScheduledActionName":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The name of the scheduled action.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" + } + } + }, + "DeleteScheduledActionResponse":{ + "type":"structure", + "members":{ + } + }, "DeregisterScalableTargetRequest":{ "type":"structure", "required":[ @@ -208,15 +323,15 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scalable target is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" } } }, @@ -231,23 +346,23 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scalable target is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceIds":{ "shape":"ResourceIdsMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of scalable target results returned by DescribeScalableTargets in paginated output. When this parameter is used, DescribeScalableTargets returns up to 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 DescribeScalableTargets request with the returned NextToken value. This value can be between 1 and 50. If this parameter is not used, then DescribeScalableTargets returns up to 50 results and a NextToken value, if applicable.

" + "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value returned from a previous paginated DescribeScalableTargets request. 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.

" + "documentation":"

The token for the next set of results.

" } } }, @@ -256,11 +371,11 @@ "members":{ "ScalableTargets":{ "shape":"ScalableTargets", - "documentation":"

The list of scalable targets that matches the request parameters.

" + "documentation":"

The scalable targets that match the request parameters.

" }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value to include in a future DescribeScalableTargets request. When the results of a DescribeScalableTargets 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.

" + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" } } }, @@ -270,23 +385,23 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scaling activity is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scaling activity. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of scaling activity results returned by DescribeScalingActivities in paginated output. When this parameter is used, DescribeScalingActivities returns up to 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 DescribeScalingActivities request with the returned NextToken value. This value can be between 1 and 50. If this parameter is not used, then DescribeScalingActivities returns up to 50 results and a NextToken value, if applicable.

" + "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value returned from a previous paginated DescribeScalingActivities request. 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.

" + "documentation":"

The token for the next set of results.

" } } }, @@ -299,7 +414,7 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value to include in a future DescribeScalingActivities request. When the results of a DescribeScalingActivities 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.

" + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" } } }, @@ -313,23 +428,23 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The AWS service namespace of the scalable target that the scaling policy is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The unique resource identifier string of the scalable target that the scaling policy is associated with. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension of the scalable target that the scaling policy is associated with. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request. If you specify a scalable dimension, you must also specify a resource ID.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of scaling policy results returned by DescribeScalingPolicies in paginated output. When this parameter is used, DescribeScalingPolicies returns up to 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 DescribeScalingPolicies request with the returned NextToken value. This value can be between 1 and 50. If this parameter is not used, then DescribeScalingPolicies returns up to 50 results and a NextToken value, if applicable.

" + "documentation":"

The maximum number of scalable targets. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value returned from a previous paginated DescribeScalingPolicies request. 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.

" + "documentation":"

The token for the next set of results.

" } } }, @@ -338,21 +453,65 @@ "members":{ "ScalingPolicies":{ "shape":"ScalingPolicies", - "documentation":"

A list of scaling policy objects.

" + "documentation":"

Information about the scaling policies.

" + }, + "NextToken":{ + "shape":"XmlString", + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" + } + } + }, + "DescribeScheduledActionsRequest":{ + "type":"structure", + "required":["ServiceNamespace"], + "members":{ + "ScheduledActionNames":{ + "shape":"ResourceIdsMaxLen1600", + "documentation":"

The names of the scheduled actions to describe.

" + }, + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier. If you specify a scalable dimension, you must also specify a resource ID.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of scheduled action results. This value can be between 1 and 50. The default value is 50.

If this parameter is used, the operation returns up to MaxResults results at a time, along with a NextToken value. To get the next set of results, include the NextToken value in a subsequent call. If this parameter is not used, the operation returns up to 50 results and a NextToken value, if applicable.

" }, "NextToken":{ "shape":"XmlString", - "documentation":"

The NextToken value to include in a future DescribeScalingPolicies request. When the results of a DescribeScalingPolicies 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.

" + "documentation":"

The token for the next set of results.

" } } }, + "DescribeScheduledActionsResponse":{ + "type":"structure", + "members":{ + "ScheduledActions":{ + "shape":"ScheduledActions", + "documentation":"

Information about the scheduled actions.

" + }, + "NextToken":{ + "shape":"XmlString", + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" + } + } + }, + "DisableScaleIn":{"type":"boolean"}, "ErrorMessage":{"type":"string"}, "FailedResourceAccessException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Failed access to resources caused an exception. This exception currently only applies to DescribeScalingPolicies. It is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have the proper permissions to call the CloudWatch DescribeAlarms API operation on behalf of your account.

", + "documentation":"

Failed access to resources caused an exception. This exception is thrown when Application Auto Scaling is unable to retrieve the alarms associated with a scaling policy due to a client error, for example, if the role ARN specified for a scalable target does not have permission to call the CloudWatch DescribeAlarms on your behalf.

", "exception":true }, "InternalServiceException":{ @@ -376,7 +535,7 @@ "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", + "documentation":"

A per-account resource limit is exceeded. For more information, see Application Auto Scaling Limits.

", "exception":true }, "MaxResults":{"type":"integer"}, @@ -388,14 +547,72 @@ "Maximum" ] }, + "MetricDimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MetricDimensionName", + "documentation":"

The name of the dimension.

" + }, + "Value":{ + "shape":"MetricDimensionValue", + "documentation":"

The value of the dimension.

" + } + }, + "documentation":"

Describes the dimension names and values associated with a metric.

" + }, + "MetricDimensionName":{"type":"string"}, + "MetricDimensionValue":{"type":"string"}, + "MetricDimensions":{ + "type":"list", + "member":{"shape":"MetricDimension"} + }, + "MetricName":{"type":"string"}, + "MetricNamespace":{"type":"string"}, "MetricScale":{"type":"double"}, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Average", + "Minimum", + "Maximum", + "SampleCount", + "Sum" + ] + }, + "MetricType":{ + "type":"string", + "enum":[ + "DynamoDBReadCapacityUtilization", + "DynamoDBWriteCapacityUtilization", + "ALBRequestCountPerTarget", + "RDSReaderAverageCPUUtilization", + "RDSReaderAverageDatabaseConnections", + "EC2SpotFleetRequestAverageCPUUtilization", + "EC2SpotFleetRequestAverageNetworkIn", + "EC2SpotFleetRequestAverageNetworkOut", + "SageMakerVariantInvocationsPerInstance", + "ECSServiceAverageCPUUtilization", + "ECSServiceAverageMemoryUtilization", + "AppStreamAverageCapacityUtilization", + "ComprehendInferenceUtilization", + "LambdaProvisionedConcurrencyUtilization", + "CassandraReadCapacityUtilization", + "CassandraWriteCapacityUtilization" + ] + }, + "MetricUnit":{"type":"string"}, "MinAdjustmentMagnitude":{"type":"integer"}, "ObjectNotFoundException":{ "type":"structure", "members":{ "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The specified object could not be found. For any Put or Register API operation, which depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any Delete or Deregister API operation, this exception is thrown if the resource that is to be deleted or deregistered cannot be found.

", + "documentation":"

The specified object could not be found. For any operation that depends on the existence of a scalable target, this exception is thrown if the scalable target with the specified service namespace, resource ID, and scalable dimension does not exist. For any operation that deletes or deregisters a resource, this exception is thrown if the resource cannot be found.

", "exception":true }, "PolicyName":{ @@ -406,7 +623,25 @@ }, "PolicyType":{ "type":"string", - "enum":["StepScaling"] + "enum":[ + "StepScaling", + "TargetTrackingScaling" + ] + }, + "PredefinedMetricSpecification":{ + "type":"structure", + "required":["PredefinedMetricType"], + "members":{ + "PredefinedMetricType":{ + "shape":"MetricType", + "documentation":"

The metric type. The ALBRequestCountPerTarget metric type applies only to Spot Fleet requests and ECS services.

" + }, + "ResourceLabel":{ + "shape":"ResourceLabel", + "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot Fleet request or ECS service.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" + } + }, + "documentation":"

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building Dashboards with CloudWatch in the Application Auto Scaling User Guide.

" }, "PutScalingPolicyRequest":{ "type":"structure", @@ -423,23 +658,27 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The AWS service namespace of the scalable target that this scaling policy applies to. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The unique resource identifier string for the scalable target that this scaling policy applies to. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension of the scalable target that this scaling policy applies to. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "PolicyType":{ "shape":"PolicyType", - "documentation":"

The policy type. If you are creating a new policy, this parameter is required. If you are updating an existing policy, this parameter is not required.

" + "documentation":"

The policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, or Amazon Keyspaces (for Apache Cassandra).

For more information, see Target Tracking Scaling Policies and Step Scaling Policies in the Application Auto Scaling User Guide.

" }, "StepScalingPolicyConfiguration":{ "shape":"StepScalingPolicyConfiguration", - "documentation":"

The configuration for the step scaling policy. If you are creating a new policy, this parameter is required. If you are updating an existing policy, this parameter is not required. For more information, see StepScalingPolicyConfiguration and StepAdjustment.

" + "documentation":"

A step scaling policy.

This parameter is required if you are creating a policy and the policy type is StepScaling.

" + }, + "TargetTrackingScalingPolicyConfiguration":{ + "shape":"TargetTrackingScalingPolicyConfiguration", + "documentation":"

A target tracking scaling policy. Includes support for predefined or customized metrics.

This parameter is required if you are creating a policy and the policy type is TargetTrackingScaling.

" } } }, @@ -450,9 +689,61 @@ "PolicyARN":{ "shape":"ResourceIdMaxLen1600", "documentation":"

The Amazon Resource Name (ARN) of the resulting scaling policy.

" + }, + "Alarms":{ + "shape":"Alarms", + "documentation":"

The CloudWatch alarms created for the target tracking scaling policy.

" + } + } + }, + "PutScheduledActionRequest":{ + "type":"structure", + "required":[ + "ServiceNamespace", + "ScheduledActionName", + "ResourceId", + "ScalableDimension" + ], + "members":{ + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" + }, + "Schedule":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - \"at(yyyy-mm-ddThh:mm:ss)\"

  • Rate expressions - \"rate(value unit)\"

  • Cron expressions - \"cron(fields)\"

At expressions are useful for one-time schedules. Specify the time in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

" + }, + "ScheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"

The name of the scheduled action. This name must be unique among all other scheduled actions on the specified scalable target.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

The date and time for this scheduled action to start.

" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

The date and time for the recurring schedule to end.

" + }, + "ScalableTargetAction":{ + "shape":"ScalableTargetAction", + "documentation":"

The new minimum and maximum capacity. You can set both values or just one. At the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.

" } } }, + "PutScheduledActionResponse":{ + "type":"structure", + "members":{ + } + }, "RegisterScalableTargetRequest":{ "type":"structure", "required":[ @@ -463,27 +754,31 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scalable target is associated with. For Amazon ECS services, the namespace value is ecs. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource to associate with the scalable target. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "MinCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The minimum value for this scalable target to scale in to in response to scaling activities. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.

" + "documentation":"

The minimum value that you plan to scale in to. When a scaling policy is in effect, Application Auto Scaling can scale in (contract) as needed to the minimum capacity limit in response to changing demand.

This parameter is required if you are registering a scalable target. For Lambda provisioned concurrency, the minimum value allowed is 0. For all other resources, the minimum value allowed is 1.

" }, "MaxCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The maximum value for this scalable target to scale out to in response to scaling activities. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.

" + "documentation":"

The maximum value that you plan to scale out to. When a scaling policy is in effect, Application Auto Scaling can scale out (expand) as needed to the maximum capacity limit in response to changing demand.

This parameter is required if you are registering a scalable target.

" }, "RoleARN":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The ARN of the IAM role that allows Application Auto Scaling to modify your scalable target on your behalf. This parameter is required if you are registering a new scalable target, and it is optional if you are updating an existing one.

" + "documentation":"

This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which it creates if it does not yet exist. For more information, see Application Auto Scaling IAM Roles.

" + }, + "SuspendedState":{ + "shape":"SuspendedState", + "documentation":"

An embedded object that contains attributes and attribute values that are used to suspend and resume automatic scaling. Setting the value of an attribute to true suspends the specified scaling activities. Setting it to false (default) resumes the specified scaling activities.

Suspension Outcomes

  • For DynamicScalingInSuspended, while a suspension is in effect, all scale-in activities that are triggered by a scaling policy are suspended.

  • For DynamicScalingOutSuspended, while a suspension is in effect, all scale-out activities that are triggered by a scaling policy are suspended.

  • For ScheduledScalingSuspended, while a suspension is in effect, all scaling activities that involve scheduled actions are suspended.

For more information, see Suspending and Resuming Scaling in the Application Auto Scaling User Guide.

" } } }, @@ -507,11 +802,29 @@ "type":"list", "member":{"shape":"ResourceIdMaxLen1600"} }, + "ResourceLabel":{ + "type":"string", + "max":1023, + "min":1 + }, "ScalableDimension":{ "type":"string", "enum":[ "ecs:service:DesiredCount", - "ec2:spot-fleet-request:TargetCapacity" + "ec2:spot-fleet-request:TargetCapacity", + "elasticmapreduce:instancegroup:InstanceCount", + "appstream:fleet:DesiredCapacity", + "dynamodb:table:ReadCapacityUnits", + "dynamodb:table:WriteCapacityUnits", + "dynamodb:index:ReadCapacityUnits", + "dynamodb:index:WriteCapacityUnits", + "rds:cluster:ReadReplicaCount", + "sagemaker:variant:DesiredInstanceCount", + "custom-resource:ResourceType:Property", + "comprehend:document-classifier-endpoint:DesiredInferenceUnits", + "lambda:function:ProvisionedConcurrency", + "cassandra:table:ReadCapacityUnits", + "cassandra:table:WriteCapacityUnits" ] }, "ScalableTarget":{ @@ -528,34 +841,49 @@ "members":{ "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scalable target is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource, or a custom-resource.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scalable target. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scalable target. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "MinCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The minimum value for this scalable target to scale in to in response to scaling activities.

" + "documentation":"

The minimum value to scale to in response to a scale-in activity.

" }, "MaxCapacity":{ "shape":"ResourceCapacity", - "documentation":"

The maximum value for this scalable target to scale out to in response to scaling activities.

" + "documentation":"

The maximum value to scale to in response to a scale-out activity.

" }, "RoleARN":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The ARN of the IAM role that allows Application Auto Scaling to modify your scalable target on your behalf.

" + "documentation":"

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

" }, "CreationTime":{ "shape":"TimestampType", "documentation":"

The Unix timestamp for when the scalable target was created.

" + }, + "SuspendedState":{"shape":"SuspendedState"} + }, + "documentation":"

Represents a scalable target.

" + }, + "ScalableTargetAction":{ + "type":"structure", + "members":{ + "MinCapacity":{ + "shape":"ResourceCapacity", + "documentation":"

The minimum capacity.

For Lambda provisioned concurrency, the minimum value allowed is 0. For all other resources, the minimum value allowed is 1.

" + }, + "MaxCapacity":{ + "shape":"ResourceCapacity", + "documentation":"

The maximum capacity.

" } }, - "documentation":"

An object representing a scalable target.

" + "documentation":"

Represents the minimum and maximum capacity for a scheduled action.

" }, "ScalableTargets":{ "type":"list", @@ -580,19 +908,19 @@ "members":{ "ActivityId":{ "shape":"ResourceId", - "documentation":"

The unique identifier string for the scaling activity.

" + "documentation":"

The unique identifier of the scaling activity.

" }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scaling activity is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource, or a custom-resource.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scaling activity. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scaling activity. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "Description":{ "shape":"XmlString", @@ -623,7 +951,7 @@ "documentation":"

The details about the scaling activity.

" } }, - "documentation":"

An object representing a scaling activity.

" + "documentation":"

Represents a scaling activity.

" }, "ScalingActivityStatusCode":{ "type":"string", @@ -663,15 +991,15 @@ }, "ServiceNamespace":{ "shape":"ServiceNamespace", - "documentation":"

The namespace for the AWS service that the scaling policy is associated with. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.

" + "documentation":"

The namespace of the AWS service that provides the resource, or a custom-resource.

" }, "ResourceId":{ "shape":"ResourceIdMaxLen1600", - "documentation":"

The resource type and unique identifier string for the resource associated with the scaling policy. For Amazon ECS services, the resource type is services, and the identifier is the cluster name and service name; for example, service/default/sample-webapp. For Amazon EC2 Spot fleet requests, the resource type is spot-fleet-request, and the identifier is the Spot fleet request ID; for example, spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

" + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" }, "ScalableDimension":{ "shape":"ScalableDimension", - "documentation":"

The scalable dimension associated with the scaling policy. The scalable dimension contains the service namespace, resource type, and scaling property, such as ecs:service:DesiredCount for the desired task count of an Amazon ECS service, or ec2:spot-fleet-request:TargetCapacity for the target capacity of an Amazon EC2 Spot fleet request.

" + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" }, "PolicyType":{ "shape":"PolicyType", @@ -679,24 +1007,102 @@ }, "StepScalingPolicyConfiguration":{ "shape":"StepScalingPolicyConfiguration", - "documentation":"

The configuration for the step scaling policy.

" + "documentation":"

A step scaling policy.

" + }, + "TargetTrackingScalingPolicyConfiguration":{ + "shape":"TargetTrackingScalingPolicyConfiguration", + "documentation":"

A target tracking scaling policy.

" }, "Alarms":{ "shape":"Alarms", - "documentation":"

The CloudWatch alarms that are associated with the scaling policy.

" + "documentation":"

The CloudWatch alarms associated with the scaling policy.

" }, "CreationTime":{ "shape":"TimestampType", "documentation":"

The Unix timestamp for when the scaling policy was created.

" } }, - "documentation":"

An object representing a scaling policy.

" + "documentation":"

Represents a scaling policy to use with Application Auto Scaling.

" + }, + "ScalingSuspended":{"type":"boolean"}, + "ScheduledAction":{ + "type":"structure", + "required":[ + "ScheduledActionName", + "ScheduledActionARN", + "ServiceNamespace", + "Schedule", + "ResourceId", + "CreationTime" + ], + "members":{ + "ScheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"

The name of the scheduled action.

" + }, + "ScheduledActionARN":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The Amazon Resource Name (ARN) of the scheduled action.

" + }, + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service that provides the resource, or a custom-resource.

" + }, + "Schedule":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The schedule for this action. The following formats are supported:

  • At expressions - \"at(yyyy-mm-ddThh:mm:ss)\"

  • Rate expressions - \"rate(value unit)\"

  • Cron expressions - \"cron(fields)\"

At expressions are useful for one-time schedules. Specify the time in UTC.

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information about cron expressions, see Cron Expressions in the Amazon CloudWatch Events User Guide.

For examples of using these expressions, see Scheduled Scaling in the Application Auto Scaling User Guide.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.

  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.

  • DynamoDB table - The resource type is table and the unique identifier is the table name. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the index name. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

  • Amazon SageMaker endpoint variant - The resource type is variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering.

  • Custom resources are not supported with a resource type. This parameter must specify the OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository.

  • Amazon Comprehend document classification endpoint - The resource type and unique identifier are specified using the endpoint ARN. Example: arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE.

  • Lambda provisioned concurrency - The resource type is function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST. Example: function:my-function:prod or function:my-function:1.

  • Amazon Keyspaces table - The resource type is table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.

  • appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

  • sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for an Amazon SageMaker model endpoint variant.

  • custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.

  • comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.

  • lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.

  • cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.

  • cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.

" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

The date and time that the action is scheduled to begin.

" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

The date and time that the action is scheduled to end.

" + }, + "ScalableTargetAction":{ + "shape":"ScalableTargetAction", + "documentation":"

The new minimum and maximum capacity. You can set both values or just one. At the scheduled time, if the current capacity is below the minimum capacity, Application Auto Scaling scales out to the minimum capacity. If the current capacity is above the maximum capacity, Application Auto Scaling scales in to the maximum capacity.

" + }, + "CreationTime":{ + "shape":"TimestampType", + "documentation":"

The date and time that the scheduled action was created.

" + } + }, + "documentation":"

Represents a scheduled action.

" + }, + "ScheduledActionName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"(?!((^[ ]+.*)|(.*([\\u0000-\\u001f]|[\\u007f-\\u009f]|[:/|])+.*)|(.*[ ]+$))).+" + }, + "ScheduledActions":{ + "type":"list", + "member":{"shape":"ScheduledAction"} }, "ServiceNamespace":{ "type":"string", "enum":[ "ecs", - "ec2" + "elasticmapreduce", + "ec2", + "appstream", + "dynamodb", + "rds", + "sagemaker", + "custom-resource", + "comprehend", + "lambda", + "cassandra" ] }, "StepAdjustment":{ @@ -713,10 +1119,10 @@ }, "ScalingAdjustment":{ "shape":"ScalingAdjustment", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current scalable dimension while a negative number removes from the current scalable dimension.

" + "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

" } }, - "documentation":"

An object representing a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • If you want the adjustment to be triggered when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • If you want the adjustment to be triggered when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" + "documentation":"

Represents a step adjustment for a StepScalingPolicyConfiguration. Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" }, "StepAdjustments":{ "type":"list", @@ -727,26 +1133,75 @@ "members":{ "AdjustmentType":{ "shape":"AdjustmentType", - "documentation":"

The adjustment type, which specifies how the ScalingAdjustment parameter in a StepAdjustment is interpreted.

" + "documentation":"

Specifies whether the ScalingAdjustment value in a StepAdjustment is an absolute number or a percentage of the current capacity.

AdjustmentType is required if you are adding a new step scaling policy configuration.

" }, "StepAdjustments":{ "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

" + "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

At least one step adjustment is required if you are adding a new step scaling policy configuration.

" }, "MinAdjustmentMagnitude":{ "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.

" + "documentation":"

The minimum value to scale by when scaling by percentages. For example, suppose that you create a step scaling policy to scale out an Amazon ECS service by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Application Auto Scaling scales out the service by 2 tasks.

Valid only if the adjustment type is PercentChangeInCapacity.

" }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.

For scale out policies, while Cooldown is in effect, the capacity that has been added by the previous scale out event that initiated the Cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a Cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.

For scale in policies, the Cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the Cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.

" + "documentation":"

The amount of time, in seconds, to wait for a previous scaling activity to take effect.

With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.

With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

  • ECS services

  • Spot Fleet requests

  • EMR clusters

  • AppStream 2.0 fleets

  • Aurora DB clusters

  • Amazon SageMaker endpoint variants

  • Custom resources

For all other scalable targets, the default value is 0:

  • DynamoDB tables

  • DynamoDB global secondary indexes

  • Amazon Comprehend document classification endpoints

  • Lambda provisioned concurrency

  • Amazon Keyspaces tables

" }, "MetricAggregationType":{ "shape":"MetricAggregationType", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" + "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

" + } + }, + "documentation":"

Represents a step scaling policy configuration to use with Application Auto Scaling.

" + }, + "SuspendedState":{ + "type":"structure", + "members":{ + "DynamicScalingInSuspended":{ + "shape":"ScalingSuspended", + "documentation":"

Whether scale in by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true if you don't want Application Auto Scaling to remove capacity when a scaling policy is triggered. The default is false.

" + }, + "DynamicScalingOutSuspended":{ + "shape":"ScalingSuspended", + "documentation":"

Whether scale out by a target tracking scaling policy or a step scaling policy is suspended. Set the value to true if you don't want Application Auto Scaling to add capacity when a scaling policy is triggered. The default is false.

" + }, + "ScheduledScalingSuspended":{ + "shape":"ScalingSuspended", + "documentation":"

Whether scheduled scaling is suspended. Set the value to true if you don't want Application Auto Scaling to add or remove capacity by initiating scheduled actions. The default is false.

" + } + }, + "documentation":"

Specifies whether the scaling activities for a scalable target are in a suspended state.

" + }, + "TargetTrackingScalingPolicyConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "TargetValue":{ + "shape":"MetricScale", + "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" + }, + "PredefinedMetricSpecification":{ + "shape":"PredefinedMetricSpecification", + "documentation":"

A predefined metric. You can specify either a predefined metric or a customized metric.

" + }, + "CustomizedMetricSpecification":{ + "shape":"CustomizedMetricSpecification", + "documentation":"

A customized metric. You can specify either a predefined metric or a customized metric.

" + }, + "ScaleOutCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, to wait for a previous scale-out activity to take effect.

With the scale-out cooldown period, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target tracking scaling policy, it starts to calculate the cooldown time. While the scale-out cooldown period is in effect, the capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

  • ECS services

  • Spot Fleet requests

  • EMR clusters

  • AppStream 2.0 fleets

  • Aurora DB clusters

  • Amazon SageMaker endpoint variants

  • Custom resources

For all other scalable targets, the default value is 0:

  • DynamoDB tables

  • DynamoDB global secondary indexes

  • Amazon Comprehend document classification endpoints

  • Lambda provisioned concurrency

  • Amazon Keyspaces tables

" + }, + "ScaleInCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.

With the scale-in cooldown period, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, the scale-in cooldown period stops and doesn't complete.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

  • ECS services

  • Spot Fleet requests

  • EMR clusters

  • AppStream 2.0 fleets

  • Aurora DB clusters

  • Amazon SageMaker endpoint variants

  • Custom resources

For all other scalable targets, the default value is 0:

  • DynamoDB tables

  • DynamoDB global secondary indexes

  • Amazon Comprehend document classification endpoints

  • Lambda provisioned concurrency

  • Amazon Keyspaces tables

" + }, + "DisableScaleIn":{ + "shape":"DisableScaleIn", + "documentation":"

Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy won't remove capacity from the scalable target. Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable target. The default value is false.

" } }, - "documentation":"

An object representing a step scaling policy configuration.

" + "documentation":"

Represents a target tracking scaling policy configuration to use with Application Auto Scaling.

" }, "TimestampType":{"type":"timestamp"}, "ValidationException":{ @@ -762,5 +1217,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"

Application Auto Scaling is a general purpose Auto Scaling service for supported elastic AWS resources. With Application Auto Scaling, you can automatically scale your AWS resources, with an experience similar to that of Auto Scaling.

Application Auto Scaling supports scaling the following AWS resources:

  • Amazon ECS services

  • Amazon EC2 Spot fleet instances

You can use Application Auto Scaling to accomplish the following tasks:

  • Define scaling policies for automatically adjusting your AWS resources

  • Scale your resources in response to CloudWatch alarms

  • View history of your scaling events

Application Auto Scaling is available in the following regions:

  • us-east-1

  • us-west-1

  • us-west-2

  • ap-southeast-1

  • ap-southeast-2

  • ap-northeast-1

  • eu-central-1

  • eu-west-1

" + "documentation":"

With Application Auto Scaling, you can configure automatic scaling for the following resources:

  • Amazon ECS services

  • Amazon EC2 Spot Fleet requests

  • Amazon EMR clusters

  • Amazon AppStream 2.0 fleets

  • Amazon DynamoDB tables and global secondary indexes throughput capacity

  • Amazon Aurora Replicas

  • Amazon SageMaker endpoint variants

  • Custom resources provided by your own applications or services

  • Amazon Comprehend document classification endpoints

  • AWS Lambda function provisioned concurrency

  • Amazon Keyspaces (for Apache Cassandra) tables

API Summary

The Application Auto Scaling service API includes three key sets of actions:

  • Register and manage scalable targets - Register AWS or custom resources as scalable targets (a resource that Application Auto Scaling can scale), set minimum and maximum capacity limits, and retrieve information on existing scalable targets.

  • Configure and manage automatic scaling - Define scaling policies to dynamically scale your resources in response to CloudWatch alarms, schedule one-time or recurring scaling actions, and retrieve your recent scaling activity history.

  • Suspend and resume scaling - Temporarily suspend and later resume automatic scaling by calling the RegisterScalableTarget API action for any Application Auto Scaling scalable target. You can suspend and resume (individually or in combination) scale-out activities that are triggered by a scaling policy, scale-in activities that are triggered by a scaling policy, and scheduled scaling.

To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/application-insights/2018-11-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/application-insights/2018-11-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/application-insights/2018-11-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/application-insights/2018-11-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/application-insights/2018-11-25/service-2.json python-botocore-1.16.19+repack/botocore/data/application-insights/2018-11-25/service-2.json --- python-botocore-1.4.70/botocore/data/application-insights/2018-11-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/application-insights/2018-11-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1844 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-25", + "endpointPrefix":"applicationinsights", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Application Insights", + "serviceFullName":"Amazon CloudWatch Application Insights", + "serviceId":"Application Insights", + "signatureVersion":"v4", + "signingName":"applicationinsights", + "targetPrefix":"EC2WindowsBarleyService", + "uid":"application-insights-2018-11-25" + }, + "operations":{ + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"TagsAlreadyExistException"} + ], + "documentation":"

Adds an application that is created from a resource group.

" + }, + "CreateComponent":{ + "name":"CreateComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateComponentRequest"}, + "output":{"shape":"CreateComponentResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a custom component by grouping similar standalone instances to monitor.

" + }, + "CreateLogPattern":{ + "name":"CreateLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLogPatternRequest"}, + "output":{"shape":"CreateLogPatternResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Adds an log pattern to a LogPatternSet.

" + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes the specified application from monitoring. Does not delete the application.

" + }, + "DeleteComponent":{ + "name":"DeleteComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteComponentRequest"}, + "output":{"shape":"DeleteComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Ungroups a custom component. When you ungroup custom components, all applicable monitors that are set up for the component are removed and the instances revert to their standalone status.

" + }, + "DeleteLogPattern":{ + "name":"DeleteLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLogPatternRequest"}, + "output":{"shape":"DeleteLogPatternResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes the specified log pattern from a LogPatternSet.

" + }, + "DescribeApplication":{ + "name":"DescribeApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationRequest"}, + "output":{"shape":"DescribeApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes the application.

" + }, + "DescribeComponent":{ + "name":"DescribeComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeComponentRequest"}, + "output":{"shape":"DescribeComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes a component and lists the resources that are grouped together in a component.

" + }, + "DescribeComponentConfiguration":{ + "name":"DescribeComponentConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeComponentConfigurationRequest"}, + "output":{"shape":"DescribeComponentConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes the monitoring configuration of the component.

" + }, + "DescribeComponentConfigurationRecommendation":{ + "name":"DescribeComponentConfigurationRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeComponentConfigurationRecommendationRequest"}, + "output":{"shape":"DescribeComponentConfigurationRecommendationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes the recommended monitoring configuration of the component.

" + }, + "DescribeLogPattern":{ + "name":"DescribeLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLogPatternRequest"}, + "output":{"shape":"DescribeLogPatternResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describe a specific log pattern from a LogPatternSet.

" + }, + "DescribeObservation":{ + "name":"DescribeObservation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeObservationRequest"}, + "output":{"shape":"DescribeObservationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an anomaly or error with the application.

" + }, + "DescribeProblem":{ + "name":"DescribeProblem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProblemRequest"}, + "output":{"shape":"DescribeProblemResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an application problem.

" + }, + "DescribeProblemObservations":{ + "name":"DescribeProblemObservations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProblemObservationsRequest"}, + "output":{"shape":"DescribeProblemObservationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the anomalies or errors associated with the problem.

" + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the IDs of the applications that you are monitoring.

" + }, + "ListComponents":{ + "name":"ListComponents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComponentsRequest"}, + "output":{"shape":"ListComponentsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the auto-grouped, standalone, and custom components of the application.

" + }, + "ListConfigurationHistory":{ + "name":"ListConfigurationHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConfigurationHistoryRequest"}, + "output":{"shape":"ListConfigurationHistoryResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the INFO, WARN, and ERROR events for periodic configuration updates performed by Application Insights. Examples of events represented are:

  • INFO: creating a new alarm or updating an alarm threshold.

  • WARN: alarm not created due to insufficient data points used to predict thresholds.

  • ERROR: alarm not created due to permission errors or exceeding quotas.

" + }, + "ListLogPatternSets":{ + "name":"ListLogPatternSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogPatternSetsRequest"}, + "output":{"shape":"ListLogPatternSetsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the log pattern sets in the specific application.

" + }, + "ListLogPatterns":{ + "name":"ListLogPatterns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogPatternsRequest"}, + "output":{"shape":"ListLogPatternsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the log patterns in the specific log LogPatternSet.

" + }, + "ListProblems":{ + "name":"ListProblems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProblemsRequest"}, + "output":{"shape":"ListProblemsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the problems with your application.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieve a list of the tags (keys and values) that are associated with a specified application. A tag is a label that you optionally define and associate with an application. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Add one or more tags (keys and values) to a specified application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage application in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Remove one or more tags (keys and values) from a specified application.

" + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates the application.

" + }, + "UpdateComponent":{ + "name":"UpdateComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateComponentRequest"}, + "output":{"shape":"UpdateComponentResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates the custom component name and/or the list of resources that make up the component.

" + }, + "UpdateComponentConfiguration":{ + "name":"UpdateComponentConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateComponentConfigurationRequest"}, + "output":{"shape":"UpdateComponentConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates the monitoring configurations for the component. The configuration input parameter is an escaped JSON of the configuration and should match the schema of what is returned by DescribeComponentConfigurationRecommendation.

" + }, + "UpdateLogPattern":{ + "name":"UpdateLogPattern", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLogPatternRequest"}, + "output":{"shape":"UpdateLogPatternResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Adds a log pattern to a LogPatternSet.

" + } + }, + "shapes":{ + "AffectedResource":{"type":"string"}, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "ApplicationComponent":{ + "type":"structure", + "members":{ + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type. Supported resource types include EC2 instances, Auto Scaling group, Classic ELB, Application ELB, and SQS Queue.

" + }, + "Tier":{ + "shape":"Tier", + "documentation":"

The stack tier of the application component.

" + }, + "Monitor":{ + "shape":"Monitor", + "documentation":"

Indicates whether the application component is monitored.

" + } + }, + "documentation":"

Describes a standalone resource or similarly grouped resources that the application is made up of.

" + }, + "ApplicationComponentList":{ + "type":"list", + "member":{"shape":"ApplicationComponent"} + }, + "ApplicationInfo":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group used for the application.

" + }, + "LifeCycle":{ + "shape":"LifeCycle", + "documentation":"

The lifecycle of the application.

" + }, + "OpsItemSNSTopicArn":{ + "shape":"OpsItemSNSTopicArn", + "documentation":"

The SNS topic provided to Application Insights that is associated to the created opsItems to receive SNS notifications for opsItem updates.

" + }, + "OpsCenterEnabled":{ + "shape":"OpsCenterEnabled", + "documentation":"

Indicates whether Application Insights will create opsItems for any problem detected by Application Insights for an application.

" + }, + "CWEMonitorEnabled":{ + "shape":"CWEMonitorEnabled", + "documentation":"

Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.

" + }, + "Remarks":{ + "shape":"Remarks", + "documentation":"

The issues on the user side that block Application Insights from successfully monitoring an application. Example remarks include:

  • “Configuring application, detected 1 Errors, 3 Warnings”

  • “Configuring application, detected 1 Unconfigured Components”

" + } + }, + "documentation":"

Describes the status of the application.

" + }, + "ApplicationInfoList":{ + "type":"list", + "member":{"shape":"ApplicationInfo"} + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "documentation":"

The request is not understood by the server.

", + "exception":true + }, + "CWEMonitorEnabled":{"type":"boolean"}, + "CloudWatchEventDetailType":{"type":"string"}, + "CloudWatchEventId":{"type":"string"}, + "CloudWatchEventSource":{ + "type":"string", + "enum":[ + "EC2", + "CODE_DEPLOY", + "HEALTH" + ] + }, + "CodeDeployApplication":{"type":"string"}, + "CodeDeployDeploymentGroup":{"type":"string"}, + "CodeDeployDeploymentId":{"type":"string"}, + "CodeDeployInstanceGroupId":{"type":"string"}, + "CodeDeployState":{"type":"string"}, + "ComponentConfiguration":{ + "type":"string", + "max":10000, + "min":1 + }, + "ComponentName":{"type":"string"}, + "ConfigurationEvent":{ + "type":"structure", + "members":{ + "MonitoredResourceARN":{ + "shape":"ConfigurationEventMonitoredResourceARN", + "documentation":"

The resource monitored by Application Insights.

" + }, + "EventStatus":{ + "shape":"ConfigurationEventStatus", + "documentation":"

The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

" + }, + "EventResourceType":{ + "shape":"ConfigurationEventResourceType", + "documentation":"

The resource type that Application Insights attempted to configure, for example, CLOUDWATCH_ALARM.

" + }, + "EventTime":{ + "shape":"ConfigurationEventTime", + "documentation":"

The timestamp of the event.

" + }, + "EventDetail":{ + "shape":"ConfigurationEventDetail", + "documentation":"

The details of the event in plain text.

" + }, + "EventResourceName":{ + "shape":"ConfigurationEventResourceName", + "documentation":"

The name of the resource Application Insights attempted to configure.

" + } + }, + "documentation":"

The event information.

" + }, + "ConfigurationEventDetail":{"type":"string"}, + "ConfigurationEventList":{ + "type":"list", + "member":{"shape":"ConfigurationEvent"} + }, + "ConfigurationEventMonitoredResourceARN":{"type":"string"}, + "ConfigurationEventResourceName":{"type":"string"}, + "ConfigurationEventResourceType":{ + "type":"string", + "enum":[ + "CLOUDWATCH_ALARM", + "CLOUDFORMATION", + "SSM_ASSOCIATION" + ] + }, + "ConfigurationEventStatus":{ + "type":"string", + "enum":[ + "INFO", + "WARN", + "ERROR" + ] + }, + "ConfigurationEventTime":{"type":"timestamp"}, + "CreateApplicationRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "OpsCenterEnabled":{ + "shape":"OpsCenterEnabled", + "documentation":"

When set to true, creates opsItems for any problems detected on an application.

" + }, + "CWEMonitorEnabled":{ + "shape":"CWEMonitorEnabled", + "documentation":"

Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.

" + }, + "OpsItemSNSTopicArn":{ + "shape":"OpsItemSNSTopicArn", + "documentation":"

The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

List of tags to add to the application. tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "members":{ + "ApplicationInfo":{ + "shape":"ApplicationInfo", + "documentation":"

Information about the application.

" + } + } + }, + "CreateComponentRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName", + "ResourceList" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + }, + "ResourceList":{ + "shape":"ResourceList", + "documentation":"

The list of resource ARNs that belong to the component.

" + } + } + }, + "CreateComponentResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName", + "Pattern", + "Rank" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern set.

" + }, + "PatternName":{ + "shape":"LogPatternName", + "documentation":"

The name of the log pattern.

" + }, + "Pattern":{ + "shape":"LogPatternRegex", + "documentation":"

The log pattern.

" + }, + "Rank":{ + "shape":"LogPatternRank", + "documentation":"

Rank of the log pattern.

" + } + } + }, + "CreateLogPatternResponse":{ + "type":"structure", + "members":{ + "LogPattern":{ + "shape":"LogPattern", + "documentation":"

The successfully created log pattern.

" + }, + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + } + } + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteComponentRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + } + } + }, + "DeleteComponentResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern set.

" + }, + "PatternName":{ + "shape":"LogPatternName", + "documentation":"

The name of the log pattern.

" + } + } + }, + "DeleteLogPatternResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeApplicationRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + } + } + }, + "DescribeApplicationResponse":{ + "type":"structure", + "members":{ + "ApplicationInfo":{ + "shape":"ApplicationInfo", + "documentation":"

Information about the application.

" + } + } + }, + "DescribeComponentConfigurationRecommendationRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName", + "Tier" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + }, + "Tier":{ + "shape":"Tier", + "documentation":"

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT.

" + } + } + }, + "DescribeComponentConfigurationRecommendationResponse":{ + "type":"structure", + "members":{ + "ComponentConfiguration":{ + "shape":"ComponentConfiguration", + "documentation":"

The recommended configuration settings of the component. The value is the escaped JSON of the configuration.

" + } + } + }, + "DescribeComponentConfigurationRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + } + } + }, + "DescribeComponentConfigurationResponse":{ + "type":"structure", + "members":{ + "Monitor":{ + "shape":"Monitor", + "documentation":"

Indicates whether the application component is monitored.

" + }, + "Tier":{ + "shape":"Tier", + "documentation":"

The tier of the application component. Supported tiers include DOT_NET_CORE, DOT_NET_WORKER, DOT_NET_WEB, SQL_SERVER, and DEFAULT

" + }, + "ComponentConfiguration":{ + "shape":"ComponentConfiguration", + "documentation":"

The configuration settings of the component. The value is the escaped JSON of the configuration.

" + } + } + }, + "DescribeComponentRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + } + } + }, + "DescribeComponentResponse":{ + "type":"structure", + "members":{ + "ApplicationComponent":{"shape":"ApplicationComponent"}, + "ResourceList":{ + "shape":"ResourceList", + "documentation":"

The list of resource ARNs that belong to the component.

" + } + } + }, + "DescribeLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern set.

" + }, + "PatternName":{ + "shape":"LogPatternName", + "documentation":"

The name of the log pattern.

" + } + } + }, + "DescribeLogPatternResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "LogPattern":{ + "shape":"LogPattern", + "documentation":"

The successfully created log pattern.

" + } + } + }, + "DescribeObservationRequest":{ + "type":"structure", + "required":["ObservationId"], + "members":{ + "ObservationId":{ + "shape":"ObservationId", + "documentation":"

The ID of the observation.

" + } + } + }, + "DescribeObservationResponse":{ + "type":"structure", + "members":{ + "Observation":{ + "shape":"Observation", + "documentation":"

Information about the observation.

" + } + } + }, + "DescribeProblemObservationsRequest":{ + "type":"structure", + "required":["ProblemId"], + "members":{ + "ProblemId":{ + "shape":"ProblemId", + "documentation":"

The ID of the problem.

" + } + } + }, + "DescribeProblemObservationsResponse":{ + "type":"structure", + "members":{ + "RelatedObservations":{ + "shape":"RelatedObservations", + "documentation":"

Observations related to the problem.

" + } + } + }, + "DescribeProblemRequest":{ + "type":"structure", + "required":["ProblemId"], + "members":{ + "ProblemId":{ + "shape":"ProblemId", + "documentation":"

The ID of the problem.

" + } + } + }, + "DescribeProblemResponse":{ + "type":"structure", + "members":{ + "Problem":{ + "shape":"Problem", + "documentation":"

Information about the problem.

" + } + } + }, + "Ec2State":{"type":"string"}, + "EndTime":{"type":"timestamp"}, + "ErrorMsg":{"type":"string"}, + "ExceptionMessage":{"type":"string"}, + "Feedback":{ + "type":"map", + "key":{"shape":"FeedbackKey"}, + "value":{"shape":"FeedbackValue"}, + "max":10 + }, + "FeedbackKey":{ + "type":"string", + "enum":["INSIGHTS_FEEDBACK"] + }, + "FeedbackValue":{ + "type":"string", + "enum":[ + "NOT_SPECIFIED", + "USEFUL", + "NOT_USEFUL" + ] + }, + "HealthEventArn":{"type":"string"}, + "HealthEventDescription":{"type":"string"}, + "HealthEventTypeCategory":{"type":"string"}, + "HealthEventTypeCode":{"type":"string"}, + "HealthService":{"type":"string"}, + "Insights":{"type":"string"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "documentation":"

The server encountered an internal error and is unable to complete the request.

", + "exception":true + }, + "LifeCycle":{"type":"string"}, + "LineTime":{"type":"timestamp"}, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListApplicationsResponse":{ + "type":"structure", + "members":{ + "ApplicationInfoList":{ + "shape":"ApplicationInfoList", + "documentation":"

The list of applications.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token used to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListComponentsRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListComponentsResponse":{ + "type":"structure", + "members":{ + "ApplicationComponentList":{ + "shape":"ApplicationComponentList", + "documentation":"

The list of application components.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListConfigurationHistoryRequest":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

Resource group to which the application belongs.

" + }, + "StartTime":{ + "shape":"StartTime", + "documentation":"

The start time of the event.

" + }, + "EndTime":{ + "shape":"EndTime", + "documentation":"

The end time of the event.

" + }, + "EventStatus":{ + "shape":"ConfigurationEventStatus", + "documentation":"

The status of the configuration update event. Possible values include INFO, WARN, and ERROR.

" + }, + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results returned by ListConfigurationHistory in paginated output. When this parameter is used, ListConfigurationHistory returns only MaxResults in a single page along with a NextToken response element. The remaining results of the initial request can be seen by sending another ListConfigurationHistory request with the returned NextToken value. If this parameter is not used, then ListConfigurationHistory returns all results.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The NextToken value returned from a previous paginated ListConfigurationHistory 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.

" + } + } + }, + "ListConfigurationHistoryResponse":{ + "type":"structure", + "members":{ + "EventList":{ + "shape":"ConfigurationEventList", + "documentation":"

The list of configuration events and their corresponding details.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The NextToken value to include in a future ListConfigurationHistory request. When the results of a ListConfigurationHistory 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.

" + } + } + }, + "ListLogPatternSetsRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListLogPatternSetsResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "LogPatternSets":{ + "shape":"LogPatternSetList", + "documentation":"

The list of log pattern sets.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token used to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListLogPatternsRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern set.

" + }, + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListLogPatternsResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "LogPatterns":{ + "shape":"LogPatternList", + "documentation":"

The list of log patterns.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token used to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListProblemsRequest":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "StartTime":{ + "shape":"StartTime", + "documentation":"

The time when the problem was detected, in epoch seconds. If you don't specify a time frame for the request, problems within the past seven days are returned.

" + }, + "EndTime":{ + "shape":"EndTime", + "documentation":"

The time when the problem ended, in epoch seconds. If not specified, problems within the past seven days are returned.

" + }, + "MaxResults":{ + "shape":"MaxEntities", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "ListProblemsResponse":{ + "type":"structure", + "members":{ + "ProblemList":{ + "shape":"ProblemList", + "documentation":"

The list of problems.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token used to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the application that you want to retrieve tag information for.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

An array that lists all the tags that are associated with the application. Each tag consists of a required tag key (Key) and an associated tag value (Value).

" + } + } + }, + "LogFilter":{ + "type":"string", + "enum":[ + "ERROR", + "WARN", + "INFO" + ] + }, + "LogGroup":{"type":"string"}, + "LogPattern":{ + "type":"structure", + "members":{ + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern. A log pattern name can contains at many as 30 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

" + }, + "PatternName":{ + "shape":"LogPatternName", + "documentation":"

The name of the log pattern. A log pattern name can contains at many as 50 characters, and it cannot be empty. The characters can be Unicode letters, digits or one of the following symbols: period, dash, underscore.

" + }, + "Pattern":{ + "shape":"LogPatternRegex", + "documentation":"

A regular expression that defines the log pattern. A log pattern can contains at many as 50 characters, and it cannot be empty.

" + }, + "Rank":{ + "shape":"LogPatternRank", + "documentation":"

Rank of the log pattern.

" + } + }, + "documentation":"

An object that defines the log patterns that belongs to a LogPatternSet.

" + }, + "LogPatternList":{ + "type":"list", + "member":{"shape":"LogPattern"} + }, + "LogPatternName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, + "LogPatternRank":{"type":"integer"}, + "LogPatternRegex":{ + "type":"string", + "max":50, + "min":1 + }, + "LogPatternSetList":{ + "type":"list", + "member":{"shape":"LogPatternSetName"} + }, + "LogPatternSetName":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, + "LogText":{"type":"string"}, + "MaxEntities":{ + "type":"integer", + "max":40, + "min":1 + }, + "MetricName":{"type":"string"}, + "MetricNamespace":{"type":"string"}, + "Monitor":{"type":"boolean"}, + "NewComponentName":{"type":"string"}, + "Observation":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ObservationId", + "documentation":"

The ID of the observation type.

" + }, + "StartTime":{ + "shape":"StartTime", + "documentation":"

The time when the observation was first detected, in epoch seconds.

" + }, + "EndTime":{ + "shape":"EndTime", + "documentation":"

The time when the observation ended, in epoch seconds.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The source type of the observation.

" + }, + "SourceARN":{ + "shape":"SourceARN", + "documentation":"

The source resource ARN of the observation.

" + }, + "LogGroup":{ + "shape":"LogGroup", + "documentation":"

The log group name.

" + }, + "LineTime":{ + "shape":"LineTime", + "documentation":"

The timestamp in the CloudWatch Logs that specifies when the matched line occurred.

" + }, + "LogText":{ + "shape":"LogText", + "documentation":"

The log text of the observation.

" + }, + "LogFilter":{ + "shape":"LogFilter", + "documentation":"

The log filter of the observation.

" + }, + "MetricNamespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the observation metric.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the observation metric.

" + }, + "Unit":{ + "shape":"Unit", + "documentation":"

The unit of the source observation metric.

" + }, + "Value":{ + "shape":"Value", + "documentation":"

The value of the source observation metric.

" + }, + "CloudWatchEventId":{ + "shape":"CloudWatchEventId", + "documentation":"

The ID of the CloudWatch Event-based observation related to the detected problem.

" + }, + "CloudWatchEventSource":{ + "shape":"CloudWatchEventSource", + "documentation":"

The source of the CloudWatch Event.

" + }, + "CloudWatchEventDetailType":{ + "shape":"CloudWatchEventDetailType", + "documentation":"

The detail type of the CloudWatch Event-based observation, for example, EC2 Instance State-change Notification.

" + }, + "HealthEventArn":{ + "shape":"HealthEventArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Health Event-based observation.

" + }, + "HealthService":{ + "shape":"HealthService", + "documentation":"

The service to which the AWS Health Event belongs, such as EC2.

" + }, + "HealthEventTypeCode":{ + "shape":"HealthEventTypeCode", + "documentation":"

The type of the AWS Health event, for example, AWS_EC2_POWER_CONNECTIVITY_ISSUE.

" + }, + "HealthEventTypeCategory":{ + "shape":"HealthEventTypeCategory", + "documentation":"

The category of the AWS Health event, such as issue.

" + }, + "HealthEventDescription":{ + "shape":"HealthEventDescription", + "documentation":"

The description of the AWS Health event provided by the service, such as Amazon EC2.

" + }, + "CodeDeployDeploymentId":{ + "shape":"CodeDeployDeploymentId", + "documentation":"

The deployment ID of the CodeDeploy-based observation related to the detected problem.

" + }, + "CodeDeployDeploymentGroup":{ + "shape":"CodeDeployDeploymentGroup", + "documentation":"

The deployment group to which the CodeDeploy deployment belongs.

" + }, + "CodeDeployState":{ + "shape":"CodeDeployState", + "documentation":"

The status of the CodeDeploy deployment, for example SUCCESS or FAILURE.

" + }, + "CodeDeployApplication":{ + "shape":"CodeDeployApplication", + "documentation":"

The CodeDeploy application to which the deployment belongs.

" + }, + "CodeDeployInstanceGroupId":{ + "shape":"CodeDeployInstanceGroupId", + "documentation":"

The instance group to which the CodeDeploy instance belongs.

" + }, + "Ec2State":{ + "shape":"Ec2State", + "documentation":"

The state of the instance, such as STOPPING or TERMINATING.

" + }, + "XRayFaultPercent":{ + "shape":"XRayFaultPercent", + "documentation":"

The X-Ray request fault percentage for this node.

" + }, + "XRayThrottlePercent":{ + "shape":"XRayThrottlePercent", + "documentation":"

The X-Ray request throttle percentage for this node.

" + }, + "XRayErrorPercent":{ + "shape":"XRayErrorPercent", + "documentation":"

The X-Ray request error percentage for this node.

" + }, + "XRayRequestCount":{ + "shape":"XRayRequestCount", + "documentation":"

The X-Ray request count for this node.

" + }, + "XRayRequestAverageLatency":{ + "shape":"XRayRequestAverageLatency", + "documentation":"

The X-Ray node request average latency for this node.

" + }, + "XRayNodeName":{ + "shape":"XRayNodeName", + "documentation":"

The name of the X-Ray node.

" + }, + "XRayNodeType":{ + "shape":"XRayNodeType", + "documentation":"

The type of the X-Ray node.

" + } + }, + "documentation":"

Describes an anomaly or error with the application.

" + }, + "ObservationId":{ + "type":"string", + "max":38, + "min":38, + "pattern":"o-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + }, + "ObservationList":{ + "type":"list", + "member":{"shape":"Observation"} + }, + "OpsCenterEnabled":{"type":"boolean"}, + "OpsItemSNSTopicArn":{ + "type":"string", + "max":300, + "min":20 + }, + "PaginationToken":{"type":"string"}, + "Problem":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ProblemId", + "documentation":"

The ID of the problem.

" + }, + "Title":{ + "shape":"Title", + "documentation":"

The name of the problem.

" + }, + "Insights":{ + "shape":"Insights", + "documentation":"

A detailed analysis of the problem using machine learning.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the problem.

" + }, + "AffectedResource":{ + "shape":"AffectedResource", + "documentation":"

The resource affected by the problem.

" + }, + "StartTime":{ + "shape":"StartTime", + "documentation":"

The time when the problem started, in epoch seconds.

" + }, + "EndTime":{ + "shape":"EndTime", + "documentation":"

The time when the problem ended, in epoch seconds.

" + }, + "SeverityLevel":{ + "shape":"SeverityLevel", + "documentation":"

A measure of the level of impact of the problem.

" + }, + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group affected by the problem.

" + }, + "Feedback":{ + "shape":"Feedback", + "documentation":"

Feedback provided by the user about the problem.

" + } + }, + "documentation":"

Describes a problem that is detected by correlating observations.

" + }, + "ProblemId":{ + "type":"string", + "max":38, + "min":38, + "pattern":"p-[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}" + }, + "ProblemList":{ + "type":"list", + "member":{"shape":"Problem"} + }, + "RelatedObservations":{ + "type":"structure", + "members":{ + "ObservationList":{ + "shape":"ObservationList", + "documentation":"

The list of observations related to the problem.

" + } + }, + "documentation":"

Describes observations related to the problem.

" + }, + "Remarks":{"type":"string"}, + "RemoveSNSTopic":{"type":"boolean"}, + "ResourceARN":{ + "type":"string", + "max":1011, + "min":1 + }, + "ResourceGroupName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9\\.\\-_]*" + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "documentation":"

The resource is already created or in use.

", + "exception":true + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"ResourceARN"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "documentation":"

The resource does not exist in the customer account.

", + "exception":true + }, + "ResourceType":{"type":"string"}, + "SeverityLevel":{ + "type":"string", + "enum":[ + "Low", + "Medium", + "High" + ] + }, + "SourceARN":{"type":"string"}, + "SourceType":{"type":"string"}, + "StartTime":{"type":"timestamp"}, + "Status":{ + "type":"string", + "enum":[ + "IGNORE", + "RESOLVED", + "PENDING" + ] + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don't want an application to have a specific tag value, don't specify a value for this parameter.

" + } + }, + "documentation":"

An object that defines the tags associated with an application. A tag is a label that you optionally define and associate with an application. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

  • Tag keys and values are case sensitive.

  • For each associated resource, each tag key must be unique and it can have only one value.

  • The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys or values that you define. In addition, you can't edit or remove tag keys or values that use this prefix.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the application that you want to add one or more tags to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags that to add to the application. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsAlreadyExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Tags are already registered for the specified application ARN.

", + "exception":true + }, + "Tier":{ + "type":"string", + "enum":[ + "DEFAULT", + "DOT_NET_CORE", + "DOT_NET_WORKER", + "DOT_NET_WEB", + "SQL_SERVER" + ], + "max":50, + "min":1 + }, + "Title":{"type":"string"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "ResourceName":{ + "shape":"AmazonResourceName", + "documentation":"

The name of the resource with too many tags.

" + } + }, + "documentation":"

The number of the provided tags is beyond the limit, or the number of total tags you are trying to attach to the specified resource exceeds the limit.

", + "exception":true + }, + "Unit":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the application that you want to remove one or more tags from.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value.

To remove more than one tag from the application, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["ResourceGroupName"], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "OpsCenterEnabled":{ + "shape":"OpsCenterEnabled", + "documentation":"

When set to true, creates opsItems for any problems detected on an application.

" + }, + "CWEMonitorEnabled":{ + "shape":"CWEMonitorEnabled", + "documentation":"

Indicates whether Application Insights can listen to CloudWatch events for the application resources, such as instance terminated, failed deployment, and others.

" + }, + "OpsItemSNSTopicArn":{ + "shape":"OpsItemSNSTopicArn", + "documentation":"

The SNS topic provided to Application Insights that is associated to the created opsItem. Allows you to receive notifications for updates to the opsItem.

" + }, + "RemoveSNSTopic":{ + "shape":"RemoveSNSTopic", + "documentation":"

Disassociates the SNS topic from the opsItem created for detected problems.

" + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "members":{ + "ApplicationInfo":{ + "shape":"ApplicationInfo", + "documentation":"

Information about the application.

" + } + } + }, + "UpdateComponentConfigurationRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + }, + "Monitor":{ + "shape":"Monitor", + "documentation":"

Indicates whether the application component is monitored.

" + }, + "Tier":{ + "shape":"Tier", + "documentation":"

The tier of the application component. Supported tiers include DOT_NET_WORKER, DOT_NET_WEB, DOT_NET_CORE, SQL_SERVER, and DEFAULT.

" + }, + "ComponentConfiguration":{ + "shape":"ComponentConfiguration", + "documentation":"

The configuration settings of the component. The value is the escaped JSON of the configuration. For more information about the JSON format, see Working with JSON. You can send a request to DescribeComponentConfigurationRecommendation to see the recommended configuration for a component. For the complete format of the component configuration file, see Component Configuration.

" + } + } + }, + "UpdateComponentConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateComponentRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "ComponentName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "ComponentName":{ + "shape":"ComponentName", + "documentation":"

The name of the component.

" + }, + "NewComponentName":{ + "shape":"NewComponentName", + "documentation":"

The new name of the component.

" + }, + "ResourceList":{ + "shape":"ResourceList", + "documentation":"

The list of resource ARNs that belong to the component.

" + } + } + }, + "UpdateComponentResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLogPatternRequest":{ + "type":"structure", + "required":[ + "ResourceGroupName", + "PatternSetName", + "PatternName" + ], + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "PatternSetName":{ + "shape":"LogPatternSetName", + "documentation":"

The name of the log pattern set.

" + }, + "PatternName":{ + "shape":"LogPatternName", + "documentation":"

The name of the log pattern.

" + }, + "Pattern":{ + "shape":"LogPatternRegex", + "documentation":"

The log pattern.

" + }, + "Rank":{ + "shape":"LogPatternRank", + "documentation":"

Rank of the log pattern.

" + } + } + }, + "UpdateLogPatternResponse":{ + "type":"structure", + "members":{ + "ResourceGroupName":{ + "shape":"ResourceGroupName", + "documentation":"

The name of the resource group.

" + }, + "LogPattern":{ + "shape":"LogPattern", + "documentation":"

The successfully created log pattern.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMsg"} + }, + "documentation":"

The parameter is not valid.

", + "exception":true + }, + "Value":{"type":"double"}, + "XRayErrorPercent":{"type":"integer"}, + "XRayFaultPercent":{"type":"integer"}, + "XRayNodeName":{"type":"string"}, + "XRayNodeType":{"type":"string"}, + "XRayRequestAverageLatency":{"type":"long"}, + "XRayRequestCount":{"type":"integer"}, + "XRayThrottlePercent":{"type":"integer"} + }, + "documentation":"Amazon CloudWatch Application Insights for .NET and SQL Server

Amazon CloudWatch Application Insights for .NET and SQL Server is a service that helps you detect common problems with your .NET and SQL Server-based applications. It enables you to pinpoint the source of issues in your applications (built with technologies such as Microsoft IIS, .NET, and Microsoft SQL Server), by providing key insights into detected problems.

After you onboard your application, CloudWatch Application Insights for .NET and SQL Server identifies, recommends, and sets up metrics and logs. It continuously analyzes and correlates your metrics and logs for unusual behavior to surface actionable problems with your application. For example, if your application is slow and unresponsive and leading to HTTP 500 errors in your Application Load Balancer (ALB), Application Insights informs you that a memory pressure problem with your SQL Server database is occurring. It bases this analysis on impactful metrics and log errors.

" +} diff -Nru python-botocore-1.4.70/botocore/data/appmesh/2018-10-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/appmesh/2018-10-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/appmesh/2018-10-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appmesh/2018-10-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListMeshes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "meshes" + }, + "ListRoutes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "routes" + }, + "ListVirtualNodes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualNodes" + }, + "ListVirtualRouters": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualRouters" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appmesh/2018-10-01/service-2.json python-botocore-1.16.19+repack/botocore/data/appmesh/2018-10-01/service-2.json --- python-botocore-1.4.70/botocore/data/appmesh/2018-10-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appmesh/2018-10-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2207 @@ +{ + "version": "2.0", + "metadata": { + "apiVersion": "2018-10-01", + "endpointPrefix": "appmesh", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceFullName": "AWS App Mesh", + "serviceId": "App Mesh", + "signatureVersion": "v4", + "signingName": "appmesh", + "uid": "appmesh-2018-10-01" + }, + "documentation": "

AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and\n control containerized microservices. App Mesh standardizes how your microservices\n communicate, giving you end-to-end visibility and helping to ensure high-availability for\n your applications.

\n

App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with Amazon ECS\n (using the Amazon EC2 launch type), Amazon EKS, and Kubernetes on AWS.

\n \n

App Mesh supports containerized microservice applications that use service discovery\n naming for their components. To use App Mesh, you must have a containerized application\n running on Amazon EC2 instances, hosted in either Amazon ECS, Amazon EKS, or Kubernetes on AWS. For\n more information about service discovery on Amazon ECS, see Service Discovery in the\n Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns is supported.\n For more information, see DNS\n for Services and Pods in the Kubernetes documentation.

\n
", + "operations": { + "CreateMesh": { + "name": "CreateMesh", + "http": { + "method": "PUT", + "requestUri": "/meshes", + "responseCode": 200 + }, + "input": { + "shape": "CreateMeshInput" + }, + "output": { + "shape": "CreateMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a new service mesh. A service mesh is a logical boundary for network traffic\n between the services that reside within it.

\n

After you create your service mesh, you can create virtual nodes, virtual routers, and\n routes to distribute traffic between the applications in your mesh.

", + "idempotent": true + }, + "CreateRoute": { + "name": "CreateRoute", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "CreateRouteInput" + }, + "output": { + "shape": "CreateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a new route that is associated with a virtual router.

\n

You can use the prefix parameter in your route specification for path-based\n routing of requests. For example, if your virtual router service name is\n my-service.local, and you want the route to match requests to\n my-service.local/metrics, then your prefix should be\n /metrics.

\n

If your route matches a request, you can distribute traffic to one or more target\n virtual nodes with relative weighting.

", + "idempotent": true + }, + "CreateVirtualNode": { + "name": "CreateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualNodeInput" + }, + "output": { + "shape": "CreateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a new virtual node within a service mesh.

\n

A virtual node acts as logical pointer to a particular task group, such as an Amazon ECS\n service or a Kubernetes deployment. When you create a virtual node, you must specify the\n DNS service discovery name for your task group.

\n

Any inbound traffic that your virtual node expects should be specified as a\n listener. Any outbound traffic that your virtual node expects to reach\n should be specified as a backend.

\n

The response metadata for your new virtual node contains the arn that is\n associated with the virtual node. Set this value (either the full ARN or the truncated\n resource name, for example, mesh/default/virtualNode/simpleapp, as the\n APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's Envoy\n proxy container in your task definition or pod spec. This is then mapped to the\n node.id and node.cluster Envoy parameters.

\n \n

If you require your Envoy stats or tracing to use a different name, you can override\n the node.cluster value that is set by\n APPMESH_VIRTUAL_NODE_NAME with the\n APPMESH_VIRTUAL_NODE_CLUSTER environment variable.

\n
", + "idempotent": true + }, + "CreateVirtualRouter": { + "name": "CreateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualRouterInput" + }, + "output": { + "shape": "CreateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a new virtual router within a service mesh.

\n

Virtual routers handle traffic for one or more service names within your mesh. After you\n create your virtual router, create and associate routes for your virtual router that direct\n incoming requests to different virtual nodes.

", + "idempotent": true + }, + "DeleteMesh": { + "name": "DeleteMesh", + "http": { + "method": "DELETE", + "requestUri": "/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMeshInput" + }, + "output": { + "shape": "DeleteMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing service mesh.

\n

You must delete all resources (routes, virtual routers, virtual nodes) in the service\n mesh before you can delete the mesh itself.

", + "idempotent": true + }, + "DeleteRoute": { + "name": "DeleteRoute", + "http": { + "method": "DELETE", + "requestUri": "/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteRouteInput" + }, + "output": { + "shape": "DeleteRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing route.

", + "idempotent": true + }, + "DeleteVirtualNode": { + "name": "DeleteVirtualNode", + "http": { + "method": "DELETE", + "requestUri": "/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualNodeInput" + }, + "output": { + "shape": "DeleteVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual node.

", + "idempotent": true + }, + "DeleteVirtualRouter": { + "name": "DeleteVirtualRouter", + "http": { + "method": "DELETE", + "requestUri": "/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualRouterInput" + }, + "output": { + "shape": "DeleteVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual router.

\n

You must delete any routes associated with the virtual router before you can delete the\n router itself.

", + "idempotent": true + }, + "DescribeMesh": { + "name": "DescribeMesh", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMeshInput" + }, + "output": { + "shape": "DescribeMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing service mesh.

" + }, + "DescribeRoute": { + "name": "DescribeRoute", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeRouteInput" + }, + "output": { + "shape": "DescribeRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing route.

" + }, + "DescribeVirtualNode": { + "name": "DescribeVirtualNode", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualNodeInput" + }, + "output": { + "shape": "DescribeVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual node.

" + }, + "DescribeVirtualRouter": { + "name": "DescribeVirtualRouter", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualRouterInput" + }, + "output": { + "shape": "DescribeVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual router.

" + }, + "ListMeshes": { + "name": "ListMeshes", + "http": { + "method": "GET", + "requestUri": "/meshes", + "responseCode": 200 + }, + "input": { + "shape": "ListMeshesInput" + }, + "output": { + "shape": "ListMeshesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing service meshes.

" + }, + "ListRoutes": { + "name": "ListRoutes", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "ListRoutesInput" + }, + "output": { + "shape": "ListRoutesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing routes in a service mesh.

" + }, + "ListVirtualNodes": { + "name": "ListVirtualNodes", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualNodesInput" + }, + "output": { + "shape": "ListVirtualNodesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual nodes.

" + }, + "ListVirtualRouters": { + "name": "ListVirtualRouters", + "http": { + "method": "GET", + "requestUri": "/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualRoutersInput" + }, + "output": { + "shape": "ListVirtualRoutersOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual routers in a service mesh.

" + }, + "UpdateRoute": { + "name": "UpdateRoute", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRouteInput" + }, + "output": { + "shape": "UpdateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing route for a specified service mesh and virtual router.

", + "idempotent": true + }, + "UpdateVirtualNode": { + "name": "UpdateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualNodeInput" + }, + "output": { + "shape": "UpdateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual node in a specified service mesh.

", + "idempotent": true + }, + "UpdateVirtualRouter": { + "name": "UpdateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualRouterInput" + }, + "output": { + "shape": "UpdateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual router in a specified service mesh.

", + "idempotent": true + } + }, + "shapes": { + "ServiceName": { + "type": "string" + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request processing has failed because of an unknown error, exception, or failure.

", + "exception": true, + "error": { + "code": "InternalServerErrorException", + "httpStatusCode": 500, + "fault": true + } + }, + "HealthCheckThreshold": { + "type": "integer", + "min": 2, + "max": 10 + }, + "DeleteMeshOutput": { + "type": "structure", + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The service mesh that was deleted.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "Long": { + "type": "long", + "box": true + }, + "ForbiddenException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You do not have permissions to perform this action.

", + "exception": true, + "error": { + "code": "ForbiddenException", + "httpStatusCode": 403, + "senderFault": true + } + }, + "UpdateVirtualRouterOutput": { + "type": "structure", + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

A full description of the virtual router that was updated.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "MeshStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "PortNumber": { + "type": "integer", + "min": 1, + "max": 65535 + }, + "WeightedTarget": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "ResourceName", + "documentation": "

The virtual node to associate with the weighted target.

" + }, + "weight": { + "shape": "PercentInt", + "documentation": "

The relative weight of the weighted target.

" + } + }, + "documentation": "

An object representing a target and its relative weight. Traffic is distributed across\n targets according to their relative weight. For example, a weighted target with a relative\n weight of 50 receives five times as much traffic as one with a relative weight of\n 10.

" + }, + "VirtualNodeList": { + "type": "list", + "member": { + "shape": "VirtualNodeRef" + } + }, + "CreateRouteOutput": { + "type": "structure", + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your mesh following the create call.

" + } + }, + "documentation": "", + "payload": "route" + }, + "RouteList": { + "type": "list", + "member": { + "shape": "RouteRef" + } + }, + "DeleteVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to delete the virtual node.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to delete.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "ListVirtualRoutersLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "DnsServiceDiscovery": { + "type": "structure", + "members": { + "serviceName": { + "shape": "ServiceName", + "documentation": "

The DNS service name for your virtual node.

" + } + }, + "documentation": "

The DNS service discovery information for your virtual node.

" + }, + "ConflictException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request contains a client token that was used for a previous update resource call\n with different specifications. Try the request again with a new client token.

", + "exception": true, + "error": { + "code": "ConflictException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "HealthCheckIntervalMillis": { + "type": "long", + "box": true, + "min": 5000, + "max": 300000 + }, + "VirtualNodeRef": { + "type": "structure", + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual node.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual node resides.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object representing a virtual node returned by a list operation.

" + }, + "DescribeRouteOutput": { + "type": "structure", + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your route.

" + } + }, + "documentation": "", + "payload": "route" + }, + "ServiceDiscovery": { + "type": "structure", + "members": { + "dns": { + "shape": "DnsServiceDiscovery", + "documentation": "

Specifies the DNS service name for the virtual node.

" + } + }, + "documentation": "

An object representing the service discovery information for a virtual node.

" + }, + "MeshStatus": { + "type": "structure", + "members": { + "status": { + "shape": "MeshStatusCode", + "documentation": "

The current mesh status.

" + } + }, + "documentation": "

An object representing the status of a service mesh.

" + }, + "VirtualNodeData": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual node resides.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual node.

" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The specifications of the virtual node.

" + }, + "status": { + "shape": "VirtualNodeStatus", + "documentation": "

The current status for the virtual node.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object representing a virtual node returned by a describe operation.

" + }, + "VirtualNodeSpec": { + "type": "structure", + "members": { + "backends": { + "shape": "Backends", + "documentation": "

The backends to which the virtual node is expected to send outbound traffic.

" + }, + "listeners": { + "shape": "Listeners", + "documentation": "

The listeners from which the virtual node is expected to receive inbound traffic.

" + }, + "serviceDiscovery": { + "shape": "ServiceDiscovery", + "documentation": "

The service discovery information for the virtual node.

" + } + }, + "documentation": "

An object representing the specification of a virtual node.

" + }, + "ServiceNames": { + "type": "list", + "member": { + "shape": "ServiceName" + }, + "max": 10 + }, + "MeshRef": { + "type": "structure", + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) of the service mesh.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + } + }, + "documentation": "

An object representing a service mesh returned by a list operation.

" + }, + "DescribeVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual router resides.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to describe.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "DescribeVirtualRouterOutput": { + "type": "structure", + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "LimitExceededException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You have exceeded a service limit for your account. For more information, see Service Limits in the AWS App Mesh User Guide.

", + "exception": true, + "error": { + "code": "LimitExceededException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "UpdateRouteOutput": { + "type": "structure", + "members": { + "route": { + "shape": "RouteData", + "documentation": "

A full description of the route that was updated.

" + } + }, + "documentation": "", + "payload": "route" + }, + "HttpRouteAction": { + "type": "structure", + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

The targets that traffic is routed to when a request matches the route. You can specify\n one or more targets and their relative weights with which to distribute traffic.

" + } + }, + "documentation": "

An object representing the traffic distribution requirements for matched HTTP\n requests.

" + }, + "CreateVirtualRouterOutput": { + "type": "structure", + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router following the create call.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "HealthCheckTimeoutMillis": { + "type": "long", + "box": true, + "min": 2000, + "max": 60000 + }, + "CreateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to create the virtual router.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The virtual router specification to apply.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual router.

" + } + }, + "documentation": "" + }, + "RouteStatus": { + "type": "structure", + "members": { + "status": { + "shape": "RouteStatusCode", + "documentation": "

The current status for the route.

" + } + }, + "documentation": "

An object representing the current status of a route.

" + }, + "ListMeshesInput": { + "type": "structure", + "members": { + "limit": { + "shape": "ListMeshesLimit", + "documentation": "

The maximum number of mesh results returned by ListMeshes in paginated\n output. When this parameter is used, ListMeshes only returns\n limit results in a single page along with a nextToken response\n element. The remaining results of the initial request can be seen by sending another\n ListMeshes request with the returned nextToken value. This\n value can be between 1 and 100. If this parameter is not\n used, then ListMeshes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListMeshes request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "VirtualRouterStatus": { + "type": "structure", + "members": { + "status": { + "shape": "VirtualRouterStatusCode", + "documentation": "

The current status of the virtual router.

" + } + }, + "documentation": "

An object representing the status of a virtual router.

" + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The maximum request rate permitted by the App Mesh APIs has been exceeded for your\n account. For best results, use an increasing or variable sleep interval between requests.

", + "exception": true, + "error": { + "code": "TooManyRequestsException", + "httpStatusCode": 429, + "senderFault": true + } + }, + "ListMeshesOutput": { + "type": "structure", + "required": [ + "meshes" + ], + "members": { + "meshes": { + "shape": "MeshList", + "documentation": "

The list of existing service meshes.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListMeshes\n request. When the results of a ListMeshes request exceed\n limit, this value can be used to retrieve the next page of\n results. This value is null when there are no more results to\n return.

" + } + }, + "documentation": "" + }, + "DescribeVirtualNodeOutput": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "CreateMeshOutput": { + "type": "structure", + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh following the create call.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "ResourceName": { + "type": "string", + "min": 1, + "max": 255 + }, + "RouteData": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the route resides.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the route.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The specifications of the route.

" + }, + "status": { + "shape": "RouteStatus", + "documentation": "

The status of the route.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router with which the route is associated.

" + } + }, + "documentation": "

An object representing a route returned by a describe operation.

" + }, + "Arn": { + "type": "string" + }, + "NotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The specified resource does not exist. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "NotFoundException", + "httpStatusCode": 404, + "senderFault": true + } + }, + "UpdateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual node resides.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The new virtual node specification to apply. This overwrites the existing data.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to update.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "DeleteRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to delete the route.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to delete.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router in which to delete the route.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request has failed due to a temporary failure of the service.

", + "exception": true, + "error": { + "code": "ServiceUnavailableException", + "httpStatusCode": 503, + "fault": true + } + }, + "Listeners": { + "type": "list", + "member": { + "shape": "Listener" + } + }, + "ListRoutesInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "limit": { + "shape": "ListRoutesLimit", + "documentation": "

The maximum number of mesh results returned by ListRoutes in paginated\n output. When this parameter is used, ListRoutes only returns\n limit results in a single page along with a nextToken response\n element. The remaining results of the initial request can be seen by sending another\n ListRoutes request with the returned nextToken value. This\n value can be between 1 and 100. If this parameter is not\n used, then ListRoutes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to list routes.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListRoutes request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router in which to list routes.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "HttpRoute": { + "type": "structure", + "members": { + "action": { + "shape": "HttpRouteAction", + "documentation": "

The action to take if a match is determined.

" + }, + "match": { + "shape": "HttpRouteMatch", + "documentation": "

The criteria for determining an HTTP request match.

" + } + }, + "documentation": "

An object representing the HTTP routing specification for a route.

" + }, + "Timestamp": { + "type": "timestamp" + }, + "ListRoutesOutput": { + "type": "structure", + "required": [ + "routes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListRoutes\n request. When the results of a ListRoutes request exceed\n limit, this value can be used to retrieve the next page of\n results. This value is null when there are no more results to\n return.

" + }, + "routes": { + "shape": "RouteList", + "documentation": "

The list of existing routes for the specified service mesh and virtual router.

" + } + }, + "documentation": "" + }, + "RouteSpec": { + "type": "structure", + "members": { + "httpRoute": { + "shape": "HttpRoute", + "documentation": "

The HTTP routing information for the route.

" + } + }, + "documentation": "

An object representing the specification of a route.

" + }, + "DescribeVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual node resides.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to describe.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "VirtualRouterRef": { + "type": "structure", + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual router.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual router resides.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object representing a virtual router returned by a list operation.

" + }, + "VirtualRouterStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "ListVirtualNodesOutput": { + "type": "structure", + "required": [ + "virtualNodes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualNodes\n request. When the results of a ListVirtualNodes request exceed\n limit, this value can be used to retrieve the next page of\n results. This value is null when there are no more results to\n return.

" + }, + "virtualNodes": { + "shape": "VirtualNodeList", + "documentation": "

The list of existing virtual nodes for the specified service mesh.

" + } + }, + "documentation": "" + }, + "DeleteVirtualNodeOutput": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The virtual node that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "UpdateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual router resides.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The new virtual router specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to update.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "ResourceInUseException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You cannot delete the specified resource because it is in use or required by another resource.

", + "exception": true, + "error": { + "code": "ResourceInUseException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "DescribeRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the route resides.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to describe.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router with which the route is associated.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "ListVirtualRoutersOutput": { + "type": "structure", + "required": [ + "virtualRouters" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualRouters\n request. When the results of a ListVirtualRouters request exceed\n limit, this value can be used to retrieve the next page of\n results. This value is null when there are no more results to\n return.

" + }, + "virtualRouters": { + "shape": "VirtualRouterList", + "documentation": "

The list of existing virtual routers for the specified service mesh.

" + } + }, + "documentation": "" + }, + "CreateVirtualNodeOutput": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node following the create call.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "DeleteVirtualRouterOutput": { + "type": "structure", + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The virtual router that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "ListRoutesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "PortProtocol": { + "type": "string", + "enum": [ + "http", + "tcp" + ] + }, + "MeshList": { + "type": "list", + "member": { + "shape": "MeshRef" + } + }, + "ResourceMetadata": { + "type": "structure", + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the resource.

\n \n

After you create a virtual node, set this value (either the full ARN or the\n truncated resource name, for example, mesh/default/virtualNode/simpleapp,\n as the APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's\n Envoy proxy container in your task definition or pod spec. This is then mapped to the\n node.id and node.cluster Envoy parameters.

\n

If you require your Envoy stats or tracing to use a different name, you can override\n the node.cluster value that is set by\n APPMESH_VIRTUAL_NODE_NAME with the\n APPMESH_VIRTUAL_NODE_CLUSTER environment variable.

\n
" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" + }, + "lastUpdatedAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was last updated.

" + }, + "uid": { + "shape": "String", + "documentation": "

The unique identifier for the resource.

" + }, + "version": { + "shape": "Long", + "documentation": "

The version of the resource. Resources are created at version 1, and this version is\n incremented each time they are updated.

" + } + }, + "documentation": "

An object representing metadata for a resource.

" + }, + "CreateMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name to use for the service mesh.

" + } + }, + "documentation": "" + }, + "PortMapping": { + "type": "structure", + "members": { + "port": { + "shape": "PortNumber", + "documentation": "

The port used for the port mapping.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol used for the port mapping.

" + } + }, + "documentation": "

An object representing a virtual node listener port mapping.

" + }, + "VirtualNodeStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "DeleteVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to delete the virtual router.

", + "location": "uri", + "locationName": "meshName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to delete.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "VirtualRouterSpec": { + "type": "structure", + "members": { + "serviceNames": { + "shape": "ServiceNames", + "documentation": "

The service mesh service names to associate with the virtual router.

" + } + }, + "documentation": "

An object representing the specification of a virtual router.

" + }, + "UpdateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the route resides.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to update.

", + "location": "uri", + "locationName": "routeName" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The new route specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router with which the route is associated.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "PercentInt": { + "type": "integer", + "min": 0, + "max": 100 + }, + "ListMeshesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "DescribeMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to describe.

", + "location": "uri", + "locationName": "meshName" + } + }, + "documentation": "" + }, + "DescribeMeshOutput": { + "type": "structure", + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "VirtualRouterData": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the virtual router resides.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual router.

" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The specifications of the virtual router.

" + }, + "status": { + "shape": "VirtualRouterStatus", + "documentation": "

The current status of the virtual router.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object representing a virtual router returned by a describe operation.

" + }, + "VirtualRouterList": { + "type": "list", + "member": { + "shape": "VirtualRouterRef" + } + }, + "Listener": { + "type": "structure", + "members": { + "healthCheck": { + "shape": "HealthCheckPolicy", + "documentation": "

The health check information for the listener.

" + }, + "portMapping": { + "shape": "PortMapping", + "documentation": "

The port mapping information for the listener.

" + } + }, + "documentation": "

An object representing a listener for a virtual node.

" + }, + "String": { + "type": "string" + }, + "HealthCheckPolicy": { + "type": "structure", + "required": [ + "healthyThreshold", + "intervalMillis", + "protocol", + "timeoutMillis", + "unhealthyThreshold" + ], + "members": { + "healthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive successful health checks that must occur before declaring\n listener healthy.

" + }, + "intervalMillis": { + "shape": "HealthCheckIntervalMillis", + "documentation": "

The time period in milliseconds between each health check execution.

" + }, + "path": { + "shape": "String", + "documentation": "

The destination path for the health check request. This is only required if the\n specified protocol is HTTP; if the protocol is TCP, then this parameter is ignored.

" + }, + "port": { + "shape": "PortNumber", + "documentation": "

The destination port for the health check request. This port must match the port defined\n in the PortMapping for the listener.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol for the health check request.

" + }, + "timeoutMillis": { + "shape": "HealthCheckTimeoutMillis", + "documentation": "

The amount of time to wait when receiving a response from the health check, in\n milliseconds.

" + }, + "unhealthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive failed health checks that must occur before declaring a\n virtual node unhealthy.

" + } + }, + "documentation": "

An object representing the health check policy for a virtual node's listener.

" + }, + "ListVirtualRoutersInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualRoutersLimit", + "documentation": "

The maximum number of mesh results returned by ListVirtualRouters in\n paginated output. When this parameter is used, ListVirtualRouters only returns\n limit results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListVirtualRouters request with the returned nextToken\n value. This value can be between 1 and 100. If this\n parameter is not used, then ListVirtualRouters returns up to\n 100 results and a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to list virtual routers.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualRouters request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "CreateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to create the virtual node.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The virtual node specification to apply.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual node.

" + } + }, + "documentation": "" + }, + "BadRequestException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request syntax was malformed. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "BadRequestException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "MeshData": { + "type": "structure", + "required": [ + "meshName", + "metadata" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the service mesh.

" + }, + "status": { + "shape": "MeshStatus", + "documentation": "

The status of the service mesh.

" + } + }, + "documentation": "

An object representing a service mesh returned by a describe operation.

" + }, + "ListVirtualNodesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "WeightedTargets": { + "type": "list", + "member": { + "shape": "WeightedTarget" + } + }, + "DeleteMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete.

", + "location": "uri", + "locationName": "meshName" + } + }, + "documentation": "" + }, + "HttpRouteMatch": { + "type": "structure", + "members": { + "prefix": { + "shape": "String", + "documentation": "

Specifies the path with which to match requests. This parameter must always start with\n /, which by itself matches all requests to the virtual router service name.\n You can also match for path-based routing of requests. For example, if your virtual router\n service name is my-service.local, and you want the route to match requests to\n my-service.local/metrics, then your prefix should be\n /metrics.

" + } + }, + "documentation": "

An object representing the requirements for a route to match HTTP requests for a virtual\n router.

" + }, + "DeleteRouteOutput": { + "type": "structure", + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The route that was deleted.

" + } + }, + "documentation": "", + "payload": "route" + }, + "Backends": { + "type": "list", + "member": { + "shape": "ServiceName" + } + }, + "CreateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to create the route.

", + "location": "uri", + "locationName": "meshName" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The route specification to apply.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router in which to create the route.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "VirtualNodeStatus": { + "type": "structure", + "members": { + "status": { + "shape": "VirtualNodeStatusCode", + "documentation": "

The current status of the virtual node.

" + } + }, + "documentation": "

An object representing the current status of the virtual node.

" + }, + "ListVirtualNodesInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualNodesLimit", + "documentation": "

The maximum number of mesh results returned by ListVirtualNodes in\n paginated output. When this parameter is used, ListVirtualNodes only returns\n limit results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListVirtualNodes request with the returned nextToken\n value. This value can be between 1 and 100. If this\n parameter is not used, then ListVirtualNodes returns up to\n 100 results and a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which to list virtual nodes.

", + "location": "uri", + "locationName": "meshName" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualNodes request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "RouteRef": { + "type": "structure", + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the route.

" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh in which the route resides.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router with which the route is associated.

" + } + }, + "documentation": "

An object representing a route returned by a list operation.

" + }, + "RouteStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "UpdateVirtualNodeOutput": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

A full description of the virtual node that was updated.

" + } + }, + "documentation": "", + "payload": "virtualNode" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appmesh/2019-01-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/appmesh/2019-01-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/appmesh/2019-01-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appmesh/2019-01-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListMeshes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "meshes" + }, + "ListRoutes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "routes" + }, + "ListVirtualNodes": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualNodes" + }, + "ListVirtualRouters": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualRouters" + }, + "ListVirtualServices": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "virtualServices" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appmesh/2019-01-25/service-2.json python-botocore-1.16.19+repack/botocore/data/appmesh/2019-01-25/service-2.json --- python-botocore-1.4.70/botocore/data/appmesh/2019-01-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appmesh/2019-01-25/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,4292 @@ +{ + "version": "2.0", + "metadata": { + "apiVersion": "2019-01-25", + "endpointPrefix": "appmesh", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceFullName": "AWS App Mesh", + "serviceId": "App Mesh", + "signatureVersion": "v4", + "signingName": "appmesh", + "uid": "appmesh-2019-01-25" + }, + "documentation": "

AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and\n control microservices. App Mesh standardizes how your microservices communicate, giving you\n end-to-end visibility and helping to ensure high availability for your applications.

\n

App Mesh gives you consistent visibility and network traffic controls for every\n microservice in an application. You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS,\n Kubernetes on AWS, and Amazon EC2.

\n \n

App Mesh supports microservice applications that use service discovery naming for their\n components. For more information about service discovery on Amazon ECS, see Service Discovery in the Amazon Elastic Container Service Developer Guide. Kubernetes\n kube-dns and coredns are supported. For more information,\n see DNS\n for Services and Pods in the Kubernetes documentation.

\n
", + "operations": { + "CreateMesh": { + "name": "CreateMesh", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes", + "responseCode": 200 + }, + "input": { + "shape": "CreateMeshInput" + }, + "output": { + "shape": "CreateMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a service mesh.

\n

A service mesh is a logical boundary for network traffic between services that are\n represented by resources within the mesh. After you create your service mesh, you can\n create virtual services, virtual nodes, virtual routers, and routes to distribute traffic\n between the applications in your mesh.

\n

For more information about service meshes, see Service meshes.

", + "idempotent": true + }, + "CreateRoute": { + "name": "CreateRoute", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "CreateRouteInput" + }, + "output": { + "shape": "CreateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a route that is associated with a virtual router.

\n

You can route several different protocols and define a retry policy for a route.\n Traffic can be routed to one or more virtual nodes.

\n

For more information about routes, see Routes.

", + "idempotent": true + }, + "CreateVirtualNode": { + "name": "CreateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualNodeInput" + }, + "output": { + "shape": "CreateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual node within a service mesh.

\n

A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS\n service or a Kubernetes deployment. When you create a virtual node, you can specify the\n service discovery information for your task group, and whether the proxy running in a task\n group will communicate with other proxies using Transport Layer Security (TLS).

\n

You define a listener for any inbound traffic that your virtual node\n expects. Any virtual service that your virtual node expects to communicate to is specified\n as a backend.

\n

The response metadata for your new virtual node contains the arn that is\n associated with the virtual node. Set this value (either the full ARN or the truncated\n resource name: for example, mesh/default/virtualNode/simpleapp) as the\n APPMESH_VIRTUAL_NODE_NAME environment variable for your task group's Envoy\n proxy container in your task definition or pod spec. This is then mapped to the\n node.id and node.cluster Envoy parameters.

\n \n

If you require your Envoy stats or tracing to use a different name, you can override\n the node.cluster value that is set by\n APPMESH_VIRTUAL_NODE_NAME with the\n APPMESH_VIRTUAL_NODE_CLUSTER environment variable.

\n
\n

For more information about virtual nodes, see Virtual nodes.

", + "idempotent": true + }, + "CreateVirtualRouter": { + "name": "CreateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualRouterInput" + }, + "output": { + "shape": "CreateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual router within a service mesh.

\n

Specify a listener for any inbound traffic that your virtual router\n receives. Create a virtual router for each protocol and port that you need to route.\n Virtual routers handle traffic for one or more virtual services within your mesh. After you\n create your virtual router, create and associate routes for your virtual router that direct\n incoming requests to different virtual nodes.

\n

For more information about virtual routers, see Virtual routers.

", + "idempotent": true + }, + "CreateVirtualService": { + "name": "CreateVirtualService", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices", + "responseCode": 200 + }, + "input": { + "shape": "CreateVirtualServiceInput" + }, + "output": { + "shape": "CreateVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Creates a virtual service within a service mesh.

\n

A virtual service is an abstraction of a real service that is provided by a virtual node\n directly or indirectly by means of a virtual router. Dependent services call your virtual\n service by its virtualServiceName, and those requests are routed to the\n virtual node or virtual router that is specified as the provider for the virtual\n service.

\n

For more information about virtual services, see Virtual services.

", + "idempotent": true + }, + "DeleteMesh": { + "name": "DeleteMesh", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMeshInput" + }, + "output": { + "shape": "DeleteMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing service mesh.

\n

You must delete all resources (virtual services, routes, virtual routers, and virtual\n nodes) in the service mesh before you can delete the mesh itself.

", + "idempotent": true + }, + "DeleteRoute": { + "name": "DeleteRoute", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteRouteInput" + }, + "output": { + "shape": "DeleteRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing route.

", + "idempotent": true + }, + "DeleteVirtualNode": { + "name": "DeleteVirtualNode", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualNodeInput" + }, + "output": { + "shape": "DeleteVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual node.

\n

You must delete any virtual services that list a virtual node as a service provider\n before you can delete the virtual node itself.

", + "idempotent": true + }, + "DeleteVirtualRouter": { + "name": "DeleteVirtualRouter", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualRouterInput" + }, + "output": { + "shape": "DeleteVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual router.

\n

You must delete any routes associated with the virtual router before you can delete the\n router itself.

", + "idempotent": true + }, + "DeleteVirtualService": { + "name": "DeleteVirtualService", + "http": { + "method": "DELETE", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVirtualServiceInput" + }, + "output": { + "shape": "DeleteVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ResourceInUseException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes an existing virtual service.

", + "idempotent": true + }, + "DescribeMesh": { + "name": "DescribeMesh", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMeshInput" + }, + "output": { + "shape": "DescribeMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing service mesh.

" + }, + "DescribeRoute": { + "name": "DescribeRoute", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeRouteInput" + }, + "output": { + "shape": "DescribeRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing route.

" + }, + "DescribeVirtualNode": { + "name": "DescribeVirtualNode", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualNodeInput" + }, + "output": { + "shape": "DescribeVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual node.

" + }, + "DescribeVirtualRouter": { + "name": "DescribeVirtualRouter", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualRouterInput" + }, + "output": { + "shape": "DescribeVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual router.

" + }, + "DescribeVirtualService": { + "name": "DescribeVirtualService", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeVirtualServiceInput" + }, + "output": { + "shape": "DescribeVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Describes an existing virtual service.

" + }, + "ListMeshes": { + "name": "ListMeshes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes", + "responseCode": 200 + }, + "input": { + "shape": "ListMeshesInput" + }, + "output": { + "shape": "ListMeshesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing service meshes.

" + }, + "ListRoutes": { + "name": "ListRoutes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes", + "responseCode": 200 + }, + "input": { + "shape": "ListRoutesInput" + }, + "output": { + "shape": "ListRoutesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing routes in a service mesh.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/v20190125/tags", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceInput" + }, + "output": { + "shape": "ListTagsForResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

List the tags for an App Mesh resource.

" + }, + "ListVirtualNodes": { + "name": "ListVirtualNodes", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualNodesInput" + }, + "output": { + "shape": "ListVirtualNodesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual nodes.

" + }, + "ListVirtualRouters": { + "name": "ListVirtualRouters", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualRoutersInput" + }, + "output": { + "shape": "ListVirtualRoutersOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual routers in a service mesh.

" + }, + "ListVirtualServices": { + "name": "ListVirtualServices", + "http": { + "method": "GET", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices", + "responseCode": 200 + }, + "input": { + "shape": "ListVirtualServicesInput" + }, + "output": { + "shape": "ListVirtualServicesOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Returns a list of existing virtual services in a service mesh.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "PUT", + "requestUri": "/v20190125/tag", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceInput" + }, + "output": { + "shape": "TagResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "TooManyTagsException" + } + ], + "documentation": "

Associates the specified tags to a resource with the specified resourceArn.\n If existing tags on a resource aren't specified in the request parameters, they aren't\n changed. When a resource is deleted, the tags associated with that resource are also\n deleted.

", + "idempotent": true + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "PUT", + "requestUri": "/v20190125/untag", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceInput" + }, + "output": { + "shape": "UntagResourceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Deletes specified tags from a resource.

", + "idempotent": true + }, + "UpdateMesh": { + "name": "UpdateMesh", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMeshInput" + }, + "output": { + "shape": "UpdateMeshOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing service mesh.

", + "idempotent": true + }, + "UpdateRoute": { + "name": "UpdateRoute", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouter/{virtualRouterName}/routes/{routeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRouteInput" + }, + "output": { + "shape": "UpdateRouteOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing route for a specified service mesh and virtual router.

", + "idempotent": true + }, + "UpdateVirtualNode": { + "name": "UpdateVirtualNode", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualNodes/{virtualNodeName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualNodeInput" + }, + "output": { + "shape": "UpdateVirtualNodeOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual node in a specified service mesh.

", + "idempotent": true + }, + "UpdateVirtualRouter": { + "name": "UpdateVirtualRouter", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualRouters/{virtualRouterName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualRouterInput" + }, + "output": { + "shape": "UpdateVirtualRouterOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual router in a specified service mesh.

", + "idempotent": true + }, + "UpdateVirtualService": { + "name": "UpdateVirtualService", + "http": { + "method": "PUT", + "requestUri": "/v20190125/meshes/{meshName}/virtualServices/{virtualServiceName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVirtualServiceInput" + }, + "output": { + "shape": "UpdateVirtualServiceOutput" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "LimitExceededException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "documentation": "

Updates an existing virtual service in a specified service mesh.

", + "idempotent": true + } + }, + "shapes": { + "VirtualRouterListener": { + "type": "structure", + "required": [ + "portMapping" + ], + "members": { + "portMapping": { + "shape": "PortMapping" + } + }, + "documentation": "

An object that represents a virtual router listener.

" + }, + "VirtualRouterStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "TagKeyList": { + "type": "list", + "member": { + "shape": "TagKey" + }, + "min": 0, + "max": 50 + }, + "GrpcRetryPolicy": { + "type": "structure", + "required": [ + "maxRetries", + "perRetryTimeout" + ], + "members": { + "grpcRetryEvents": { + "shape": "GrpcRetryPolicyEvents", + "documentation": "

Specify at least one of the valid values.

" + }, + "httpRetryEvents": { + "shape": "HttpRetryPolicyEvents", + "documentation": "

Specify at least one of the following values.

\n
    \n
  • \n

    \n server-error – HTTP status codes 500, 501,\n 502, 503, 504, 505, 506, 507, 508, 510, and 511

    \n
  • \n
  • \n

    \n gateway-error – HTTP status codes 502,\n 503, and 504

    \n
  • \n
  • \n

    \n client-error – HTTP status code 409

    \n
  • \n
  • \n

    \n stream-error – Retry on refused\n stream

    \n
  • \n
" + }, + "maxRetries": { + "shape": "MaxRetries", + "documentation": "

The maximum number of retry attempts.

" + }, + "perRetryTimeout": { + "shape": "Duration", + "documentation": "

An object that represents a duration of time.

" + }, + "tcpRetryEvents": { + "shape": "TcpRetryPolicyEvents", + "documentation": "

Specify a valid value.

" + } + }, + "documentation": "

An object that represents a retry policy. Specify at least one value for at least one of the types of RetryEvents, a value for maxRetries, and a value for perRetryTimeout.

" + }, + "CreateVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node following the create call.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "Logging": { + "type": "structure", + "members": { + "accessLog": { + "shape": "AccessLog", + "documentation": "

The access log configuration for a virtual node.

" + } + }, + "documentation": "

An object that represents the logging information for a virtual node.

" + }, + "Long": { + "type": "long", + "box": true + }, + "UpdateVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

A full description of the virtual router that was updated.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "ListVirtualRoutersOutput": { + "type": "structure", + "required": [ + "virtualRouters" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualRouters\n request. When the results of a ListVirtualRouters request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualRouters": { + "shape": "VirtualRouterList", + "documentation": "

The list of existing virtual routers for the specified service mesh.

" + } + }, + "documentation": "" + }, + "ResourceMetadata": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshOwner", + "resourceOwner", + "uid", + "version" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the resource.

" + }, + "createdAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was created.

" + }, + "lastUpdatedAt": { + "shape": "Timestamp", + "documentation": "

The Unix epoch timestamp in seconds for when the resource was last updated.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "uid": { + "shape": "String", + "documentation": "

The unique identifier for the resource.

" + }, + "version": { + "shape": "Long", + "documentation": "

The version of the resource. Resources are created at version 1, and this version is\n incremented each time that they're updated.

" + } + }, + "documentation": "

An object that represents metadata for a resource.

" + }, + "ResourceInUseException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You can't delete the specified resource because it's in use or required by another\n resource.

", + "exception": true, + "error": { + "code": "ResourceInUseException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "UpdateVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

A full description of the virtual node that was updated.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "ListRoutesOutput": { + "type": "structure", + "required": [ + "routes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListRoutes request.\n When the results of a ListRoutes request exceed limit, you can\n use this value to retrieve the next page of results. This value is null when\n there are no more results to return.

" + }, + "routes": { + "shape": "RouteList", + "documentation": "

The list of existing routes for the specified service mesh and virtual router.

" + } + }, + "documentation": "" + }, + "VirtualServiceBackend": { + "type": "structure", + "required": [ + "virtualServiceName" + ], + "members": { + "clientPolicy": { + "shape": "ClientPolicy", + "documentation": "

A reference to an object that represents the client policy for a backend.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service that is acting as a virtual node backend.

" + } + }, + "documentation": "

An object that represents a virtual service backend for a virtual node.

" + }, + "BadRequestException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request syntax was malformed. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "BadRequestException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "GrpcRouteMetadataList": { + "type": "list", + "member": { + "shape": "GrpcRouteMetadata" + }, + "min": 1, + "max": 10 + }, + "ListenerTlsMode": { + "type": "string", + "enum": [ + "DISABLED", + "PERMISSIVE", + "STRICT" + ] + }, + "HealthCheckPolicy": { + "type": "structure", + "required": [ + "healthyThreshold", + "intervalMillis", + "protocol", + "timeoutMillis", + "unhealthyThreshold" + ], + "members": { + "healthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive successful health checks that must occur before declaring\n listener healthy.

" + }, + "intervalMillis": { + "shape": "HealthCheckIntervalMillis", + "documentation": "

The time period in milliseconds between each health check execution.

" + }, + "path": { + "shape": "String", + "documentation": "

The destination path for the health check request. This value is only used if the\n specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.

" + }, + "port": { + "shape": "PortNumber", + "documentation": "

The destination port for the health check request. This port must match the port defined\n in the PortMapping for the listener.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol for the health check request. If you specify grpc, then your\n service must conform to the GRPC Health\n Checking Protocol.

" + }, + "timeoutMillis": { + "shape": "HealthCheckTimeoutMillis", + "documentation": "

The amount of time to wait when receiving a response from the health check, in\n milliseconds.

" + }, + "unhealthyThreshold": { + "shape": "HealthCheckThreshold", + "documentation": "

The number of consecutive failed health checks that must occur before declaring a\n virtual node unhealthy.

" + } + }, + "documentation": "

An object that represents the health check policy for a virtual node's listener.

" + }, + "EgressFilter": { + "type": "structure", + "required": [ + "type" + ], + "members": { + "type": { + "shape": "EgressFilterType", + "documentation": "

The egress filter type. By default, the type is DROP_ALL, which allows\n egress only from virtual nodes to other defined resources in the service mesh (and any\n traffic to *.amazonaws.com for AWS API calls). You can set the egress filter\n type to ALLOW_ALL to allow egress to any endpoint inside or outside of the\n service mesh.

" + } + }, + "documentation": "

An object that represents the egress filter rules for a service mesh.

" + }, + "VirtualServiceList": { + "type": "list", + "member": { + "shape": "VirtualServiceRef" + } + }, + "ClientPolicy": { + "type": "structure", + "members": { + "tls": { + "shape": "ClientPolicyTls", + "documentation": "

A reference to an object that represents a Transport Layer Security (TLS) client policy.

" + } + }, + "documentation": "

An object that represents a client policy.

" + }, + "Boolean": { + "type": "boolean", + "box": true + }, + "HttpRetryPolicyEvent": { + "type": "string", + "min": 1, + "max": 25 + }, + "DescribeVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The full description of your virtual service.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "CertificateAuthorityArns": { + "type": "list", + "member": { + "shape": "Arn" + }, + "min": 1, + "max": 3 + }, + "DescribeVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The full description of your virtual node.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "AwsCloudMapName": { + "type": "string", + "min": 1, + "max": 1024, + "pattern": "((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^.$)" + }, + "CreateRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your mesh following the create call.

" + } + }, + "documentation": "", + "payload": "route" + }, + "DnsServiceDiscovery": { + "type": "structure", + "required": [ + "hostname" + ], + "members": { + "hostname": { + "shape": "Hostname", + "documentation": "

Specifies the DNS service discovery hostname for the virtual node.

" + } + }, + "documentation": "

An object that represents the DNS service discovery information for your virtual\n node.

" + }, + "DeleteRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the route in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to delete.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to delete the route in.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "VirtualNodeData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual node.

" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The specifications of the virtual node.

" + }, + "status": { + "shape": "VirtualNodeStatus", + "documentation": "

The current status for the virtual node.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object that represents a virtual node returned by a describe operation.

" + }, + "UntagResourceOutput": { + "type": "structure", + "members": { }, + "documentation": "" + }, + "TcpRetryPolicyEvent": { + "type": "string", + "enum": [ + "connection-error" + ] + }, + "Backend": { + "type": "structure", + "members": { + "virtualService": { + "shape": "VirtualServiceBackend", + "documentation": "

Specifies a virtual service to use as a backend for a virtual node.

" + } + }, + "documentation": "

An object that represents the backends that a virtual node is expected to send outbound\n traffic to.

" + }, + "ListMeshesInput": { + "type": "structure", + "members": { + "limit": { + "shape": "ListMeshesLimit", + "documentation": "

The maximum number of results returned by ListMeshes in paginated output.\n When you use this parameter, ListMeshes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListMeshes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListMeshes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListMeshes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is used only to\n retrieve the next items in a list and not for other programmatic purposes.

\n
", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "VirtualRouterData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the virtual router.

" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The specifications of the virtual router.

" + }, + "status": { + "shape": "VirtualRouterStatus", + "documentation": "

The current status of the virtual router.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object that represents a virtual router returned by a describe operation.

" + }, + "UpdateMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to update.

", + "location": "uri", + "locationName": "meshName" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The service mesh specification to apply.

" + } + }, + "documentation": "" + }, + "CreateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual router in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The virtual router specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual router to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

", + "tags": [ + "not-preview" + ] + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual router.

" + } + }, + "documentation": "" + }, + "DescribeVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "CreateMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh following the create call.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "CreateVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The full description of your virtual router following the create call.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "VirtualServiceStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualServiceStatusCode", + "documentation": "

The current status of the virtual service.

" + } + }, + "documentation": "

An object that represents the status of a virtual service.

" + }, + "HttpRetryPolicyEvents": { + "type": "list", + "member": { + "shape": "HttpRetryPolicyEvent" + }, + "min": 1, + "max": 25 + }, + "ListenerTlsCertificate": { + "type": "structure", + "members": { + "acm": { + "shape": "ListenerTlsAcmCertificate", + "documentation": "

A reference to an object that represents an AWS Certicate Manager (ACM) certificate.

" + }, + "file": { + "shape": "ListenerTlsFileCertificate", + "documentation": "

A reference to an object that represents a local file certificate.

" + } + }, + "documentation": "

An object that represents a listener's Transport Layer Security (TLS) certificate.

" + }, + "ListMeshesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "AwsCloudMapInstanceAttributeKey": { + "type": "string", + "min": 1, + "max": 255, + "pattern": "^[a-zA-Z0-9!-~]+$" + }, + "VirtualRouterSpec": { + "type": "structure", + "members": { + "listeners": { + "shape": "VirtualRouterListeners", + "documentation": "

The listeners that the virtual router is expected to receive inbound traffic from. You\n can specify one listener.

" + } + }, + "documentation": "

An object that represents the specification of a virtual router.

" + }, + "VirtualNodeSpec": { + "type": "structure", + "members": { + "backendDefaults": { + "shape": "BackendDefaults", + "documentation": "

A reference to an object that represents the defaults for backends.

" + }, + "backends": { + "shape": "Backends", + "documentation": "

The backends that the virtual node is expected to send outbound traffic to.

" + }, + "listeners": { + "shape": "Listeners", + "documentation": "

The listener that the virtual node is expected to receive inbound traffic from. You can\n specify one listener.

" + }, + "logging": { + "shape": "Logging", + "documentation": "

The inbound and outbound access logging information for the virtual node.

" + }, + "serviceDiscovery": { + "shape": "ServiceDiscovery", + "documentation": "

The service discovery information for the virtual node. If your virtual node does not\n expect ingress traffic, you can omit this parameter. If you specify a\n listener, then you must specify service discovery information.

" + } + }, + "documentation": "

An object that represents the specification of a virtual node.

" + }, + "ListMeshesOutput": { + "type": "structure", + "required": [ + "meshes" + ], + "members": { + "meshes": { + "shape": "MeshList", + "documentation": "

The list of existing service meshes.

" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListMeshes request.\n When the results of a ListMeshes request exceed limit, you can\n use this value to retrieve the next page of results. This value is null when\n there are no more results to return.

" + } + }, + "documentation": "" + }, + "VirtualRouterListeners": { + "type": "list", + "member": { + "shape": "VirtualRouterListener" + }, + "min": 1, + "max": 1 + }, + "PortSet": { + "type": "list", + "member": { + "shape": "PortNumber" + } + }, + "HttpMethod": { + "type": "string", + "enum": [ + "CONNECT", + "DELETE", + "GET", + "HEAD", + "OPTIONS", + "PATCH", + "POST", + "PUT", + "TRACE" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request contains a client token that was used for a previous update resource call\n with different specifications. Try the request again with a new client token.

", + "exception": true, + "error": { + "code": "ConflictException", + "httpStatusCode": 409, + "senderFault": true + } + }, + "MeshList": { + "type": "list", + "member": { + "shape": "MeshRef" + } + }, + "MaxRetries": { + "type": "long", + "box": true, + "min": 0 + }, + "TlsValidationContextTrust": { + "type": "structure", + "members": { + "acm": { + "shape": "TlsValidationContextAcmTrust", + "documentation": "

A reference to an object that represents a TLS validation context trust for an AWS Certicate Manager (ACM)\n certificate.

" + }, + "file": { + "shape": "TlsValidationContextFileTrust", + "documentation": "

An object that represents a TLS validation context trust for a local file.

" + } + }, + "documentation": "

An object that represents a Transport Layer Security (TLS) validation context trust.

" + }, + "PortMapping": { + "type": "structure", + "required": [ + "port", + "protocol" + ], + "members": { + "port": { + "shape": "PortNumber", + "documentation": "

The port used for the port mapping.

" + }, + "protocol": { + "shape": "PortProtocol", + "documentation": "

The protocol used for the port mapping. Specify one protocol.

" + } + }, + "documentation": "

An object that represents a port mapping.

" + }, + "ListVirtualServicesOutput": { + "type": "structure", + "required": [ + "virtualServices" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualServices\n request. When the results of a ListVirtualServices request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualServices": { + "shape": "VirtualServiceList", + "documentation": "

The list of existing virtual services for the specified service mesh.

" + } + }, + "documentation": "" + }, + "AwsCloudMapInstanceAttributeValue": { + "type": "string", + "min": 1, + "max": 1024, + "pattern": "^([a-zA-Z0-9!-~][ ta-zA-Z0-9!-~]*){0,1}[a-zA-Z0-9!-~]{0,1}$" + }, + "WeightedTarget": { + "type": "structure", + "required": [ + "virtualNode", + "weight" + ], + "members": { + "virtualNode": { + "shape": "ResourceName", + "documentation": "

The virtual node to associate with the weighted target.

" + }, + "weight": { + "shape": "PercentInt", + "documentation": "

The relative weight of the weighted target.

" + } + }, + "documentation": "

An object that represents a target and its relative weight. Traffic is distributed\n across targets according to their relative weight. For example, a weighted target with a\n relative weight of 50 receives five times as much traffic as one with a relative weight of\n 10. The total weight for all targets combined must be less than or equal to 100.

" + }, + "RouteRef": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshName", + "meshOwner", + "resourceOwner", + "routeName", + "version", + "virtualRouterName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the route.

" + }, + "createdAt": { + "shape": "Timestamp" + }, + "lastUpdatedAt": { + "shape": "Timestamp" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "version": { + "shape": "Long" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router that the route is associated with.

" + } + }, + "documentation": "

An object that represents a route returned by a list operation.

" + }, + "DeleteVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual node in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to delete.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "RouteData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "routeName", + "spec", + "status", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the route.

" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The specifications of the route.

" + }, + "status": { + "shape": "RouteStatus", + "documentation": "

The status of the route.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The virtual router that the route is associated with.

" + } + }, + "documentation": "

An object that represents a route returned by a describe operation.

" + }, + "RouteStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request processing has failed because of an unknown error, exception, or\n failure.

", + "exception": true, + "error": { + "code": "InternalServerErrorException", + "httpStatusCode": 500, + "fault": true + } + }, + "HeaderName": { + "type": "string", + "min": 1, + "max": 50 + }, + "TagList": { + "type": "list", + "member": { + "shape": "TagRef" + }, + "min": 0, + "max": 50 + }, + "GrpcRetryPolicyEvent": { + "type": "string", + "enum": [ + "cancelled", + "deadline-exceeded", + "internal", + "resource-exhausted", + "unavailable" + ] + }, + "TlsValidationContextAcmTrust": { + "type": "structure", + "required": [ + "certificateAuthorityArns" + ], + "members": { + "certificateAuthorityArns": { + "shape": "CertificateAuthorityArns", + "documentation": "

One or more ACM Amazon Resource Name (ARN)s.

" + } + }, + "documentation": "

An object that represents a TLS validation context trust for an AWS Certicate Manager (ACM)\n certificate.

" + }, + "ForbiddenException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You don't have permissions to perform this action.

", + "exception": true, + "error": { + "code": "ForbiddenException", + "httpStatusCode": 403, + "senderFault": true + } + }, + "HeaderMatchMethod": { + "type": "structure", + "members": { + "exact": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must match the specified value exactly.

" + }, + "prefix": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must begin with the specified characters.

" + }, + "range": { + "shape": "MatchRange", + "documentation": "

An object that represents the range of values to match on.

" + }, + "regex": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must include the specified characters.

" + }, + "suffix": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must end with the specified characters.

" + } + }, + "documentation": "

An object that represents the method and value to match with the header value sent in a\n request. Specify one match method.

" + }, + "DeleteMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The service mesh that was deleted.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "EgressFilterType": { + "type": "string", + "enum": [ + "ALLOW_ALL", + "DROP_ALL" + ] + }, + "DurationValue": { + "type": "long", + "box": true, + "min": 0 + }, + "Hostname": { + "type": "string" + }, + "TagResourceInput": { + "type": "structure", + "required": [ + "resourceArn", + "tags" + ], + "members": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the resource to add tags to.

", + "location": "querystring", + "locationName": "resourceArn" + }, + "tags": { + "shape": "TagList", + "documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + } + }, + "documentation": "" + }, + "VirtualServiceProvider": { + "type": "structure", + "members": { + "virtualNode": { + "shape": "VirtualNodeServiceProvider", + "documentation": "

The virtual node associated with a virtual service.

" + }, + "virtualRouter": { + "shape": "VirtualRouterServiceProvider", + "documentation": "

The virtual router associated with a virtual service.

" + } + }, + "documentation": "

An object that represents the provider for a virtual service.

" + }, + "GrpcRouteMatch": { + "type": "structure", + "members": { + "metadata": { + "shape": "GrpcRouteMetadataList", + "documentation": "

An object that represents the data to match from the request.

" + }, + "methodName": { + "shape": "MethodName", + "documentation": "

The method name to match from the request. If you specify a name, you must also specify\n a serviceName.

" + }, + "serviceName": { + "shape": "ServiceName", + "documentation": "

The fully qualified domain name for the service to match from the request.

" + } + }, + "documentation": "

An object that represents the criteria for determining a request match.

" + }, + "AwsCloudMapServiceDiscovery": { + "type": "structure", + "required": [ + "namespaceName", + "serviceName" + ], + "members": { + "attributes": { + "shape": "AwsCloudMapInstanceAttributes", + "documentation": "

A string map that contains attributes with values that you can use to filter instances\n by any custom attribute that you specified when you registered the instance. Only instances\n that match all of the specified key/value pairs will be returned.

" + }, + "namespaceName": { + "shape": "AwsCloudMapName", + "documentation": "

The name of the AWS Cloud Map namespace to use.

" + }, + "serviceName": { + "shape": "AwsCloudMapName", + "documentation": "

The name of the AWS Cloud Map service to use.

" + } + }, + "documentation": "

An object that represents the AWS Cloud Map service discovery information for your virtual\n node.

" + }, + "UpdateVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

A full description of the virtual service that was updated.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "MeshStatus": { + "type": "structure", + "members": { + "status": { + "shape": "MeshStatusCode", + "documentation": "

The current mesh status.

" + } + }, + "documentation": "

An object that represents the status of a service mesh.

" + }, + "CreateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual node in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The virtual node specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual node to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

", + "tags": [ + "not-preview" + ] + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the virtual node.

" + } + }, + "documentation": "" + }, + "NotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The specified resource doesn't exist. Check your request syntax and try again.

", + "exception": true, + "error": { + "code": "NotFoundException", + "httpStatusCode": 404, + "senderFault": true + } + }, + "RouteSpec": { + "type": "structure", + "members": { + "grpcRoute": { + "shape": "GrpcRoute", + "documentation": "

An object that represents the specification of a gRPC route.

" + }, + "http2Route": { + "shape": "HttpRoute", + "documentation": "

An object that represents the specification of an HTTP/2 route.

" + }, + "httpRoute": { + "shape": "HttpRoute", + "documentation": "

An object that represents the specification of an HTTP route.

" + }, + "priority": { + "shape": "RoutePriority", + "documentation": "

The priority for the route. Routes are matched based on the specified value, where 0 is\n the highest priority.

" + }, + "tcpRoute": { + "shape": "TcpRoute", + "documentation": "

An object that represents the specification of a TCP route.

" + } + }, + "documentation": "

An object that represents a route specification. Specify one route type.

" + }, + "CreateVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The full description of your virtual service following the create call.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "FileAccessLog": { + "type": "structure", + "required": [ + "path" + ], + "members": { + "path": { + "shape": "FilePath", + "documentation": "

The file path to write access logs to. You can use /dev/stdout to send\n access logs to standard out and configure your Envoy container to use a log driver, such as\n awslogs, to export the access logs to a log storage service such as Amazon\n CloudWatch Logs. You can also specify a path in the Envoy container's file system to write\n the files to disk.

\n \n

The Envoy process must have write permissions to the path that you specify here.\n Otherwise, Envoy fails to bootstrap properly.

\n
" + } + }, + "documentation": "

An object that represents an access log file.

" + }, + "VirtualRouterServiceProvider": { + "type": "structure", + "required": [ + "virtualRouterName" + ], + "members": { + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that is acting as a service provider.

" + } + }, + "documentation": "

An object that represents a virtual node service provider.

" + }, + "DeleteVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual service in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to delete.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "TlsValidationContext": { + "type": "structure", + "required": [ + "trust" + ], + "members": { + "trust": { + "shape": "TlsValidationContextTrust", + "documentation": "

A reference to an object that represents a TLS validation context trust.

" + } + }, + "documentation": "

An object that represents a Transport Layer Security (TLS) validation context.

" + }, + "DeleteVirtualRouterOutput": { + "type": "structure", + "required": [ + "virtualRouter" + ], + "members": { + "virtualRouter": { + "shape": "VirtualRouterData", + "documentation": "

The virtual router that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualRouter" + }, + "TagsLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 50 + }, + "DeleteVirtualNodeOutput": { + "type": "structure", + "required": [ + "virtualNode" + ], + "members": { + "virtualNode": { + "shape": "VirtualNodeData", + "documentation": "

The virtual node that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualNode" + }, + "UpdateVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualNodeName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualNodeSpec", + "documentation": "

The new virtual node specification to apply. This overwrites the existing data.

" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to update.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "ListenerTls": { + "type": "structure", + "required": [ + "certificate", + "mode" + ], + "members": { + "certificate": { + "shape": "ListenerTlsCertificate", + "documentation": "

A reference to an object that represents a listener's TLS certificate.

" + }, + "mode": { + "shape": "ListenerTlsMode", + "documentation": "

Specify one of the following modes.

\n
    \n
  • \n

    \n STRICT – Listener only accepts connections with TLS\n enabled.

    \n
  • \n
  • \n

    \n PERMISSIVE – Listener accepts connections with or\n without TLS enabled.

    \n
  • \n
  • \n

    \n DISABLED – Listener only accepts connections without\n TLS.

    \n
  • \n
" + } + }, + "documentation": "

An object that represents the Transport Layer Security (TLS) properties for a listener.

" + }, + "DeleteMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete.

", + "location": "uri", + "locationName": "meshName" + } + }, + "documentation": "" + }, + "TcpRetryPolicyEvents": { + "type": "list", + "member": { + "shape": "TcpRetryPolicyEvent" + }, + "min": 1, + "max": 1 + }, + "CreateVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualServiceName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the virtual service in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The virtual service specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the virtual service to assist with\n categorization and organization. Each tag consists of a key and an optional value, both of\n which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

", + "tags": [ + "not-preview" + ] + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name to use for the virtual service.

" + } + }, + "documentation": "" + }, + "UpdateVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualRouterSpec", + "documentation": "

The new virtual router specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to update.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "ListTagsForResourceInput": { + "type": "structure", + "required": [ + "resourceArn" + ], + "members": { + "limit": { + "shape": "TagsLimit", + "documentation": "

The maximum number of tag results returned by ListTagsForResource in\n paginated output. When this parameter is used, ListTagsForResource returns\n only limit results in a single page along with a nextToken\n response element. You can see the remaining results of the initial request by sending\n another ListTagsForResource request with the returned nextToken\n value. This value can be between 1 and 100. If you don't use\n this parameter, ListTagsForResource returns up to 100\n results and a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListTagsForResource request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + }, + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for.

", + "location": "querystring", + "locationName": "resourceArn" + } + }, + "documentation": "" + }, + "GrpcRetryPolicyEvents": { + "type": "list", + "member": { + "shape": "GrpcRetryPolicyEvent" + }, + "min": 1, + "max": 5 + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request has failed due to a temporary failure of the service.

", + "exception": true, + "error": { + "code": "ServiceUnavailableException", + "httpStatusCode": 503, + "fault": true + } + }, + "DescribeMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData", + "documentation": "

The full description of your service mesh.

" + } + }, + "documentation": "", + "payload": "mesh" + }, + "DeleteVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to delete the virtual router in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to delete.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "DescribeRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to describe.

", + "location": "uri", + "locationName": "routeName" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that the route is associated with.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "DeleteRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The route that was deleted.

" + } + }, + "documentation": "", + "payload": "route" + }, + "Listeners": { + "type": "list", + "member": { + "shape": "Listener" + }, + "min": 0, + "max": 1 + }, + "Backends": { + "type": "list", + "member": { + "shape": "Backend" + } + }, + "PortProtocol": { + "type": "string", + "enum": [ + "grpc", + "http", + "http2", + "tcp" + ] + }, + "VirtualNodeStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "ServiceName": { + "type": "string" + }, + "UpdateVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "spec", + "virtualServiceName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The new virtual service specification to apply. This overwrites the existing\n data.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to update.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "HealthCheckThreshold": { + "type": "integer", + "min": 2, + "max": 10 + }, + "UpdateRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

A full description of the route that was updated.

" + } + }, + "documentation": "", + "payload": "route" + }, + "PercentInt": { + "type": "integer", + "min": 0, + "max": 100 + }, + "MethodName": { + "type": "string", + "min": 1, + "max": 50 + }, + "TagValue": { + "type": "string", + "min": 0, + "max": 256 + }, + "HttpRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

An object that represents the targets that traffic is routed to when a request matches the route.

" + } + }, + "documentation": "

An object that represents the action to take if a match is determined.

" + }, + "ListRoutesInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "limit": { + "shape": "ListRoutesLimit", + "documentation": "

The maximum number of results returned by ListRoutes in paginated output.\n When you use this parameter, ListRoutes returns only limit\n results in a single page along with a nextToken response element. You can see\n the remaining results of the initial request by sending another ListRoutes\n request with the returned nextToken value. This value can be between\n 1 and 100. If you don't use this parameter,\n ListRoutes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list routes in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListRoutes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to list routes in.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "VirtualServiceRef": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshName", + "meshOwner", + "resourceOwner", + "version", + "virtualServiceName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual service.

" + }, + "createdAt": { + "shape": "Timestamp" + }, + "lastUpdatedAt": { + "shape": "Timestamp" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "version": { + "shape": "Long" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service.

" + } + }, + "documentation": "

An object that represents a virtual service returned by a list operation.

" + }, + "VirtualNodeStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualNodeStatusCode", + "documentation": "

The current status of the virtual node.

" + } + }, + "documentation": "

An object that represents the current status of the virtual node.

" + }, + "VirtualRouterRef": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshName", + "meshOwner", + "resourceOwner", + "version", + "virtualRouterName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual router.

" + }, + "createdAt": { + "shape": "Timestamp" + }, + "lastUpdatedAt": { + "shape": "Timestamp" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "version": { + "shape": "Long" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router.

" + } + }, + "documentation": "

An object that represents a virtual router returned by a list operation.

" + }, + "VirtualServiceData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

" + }, + "metadata": { + "shape": "ResourceMetadata" + }, + "spec": { + "shape": "VirtualServiceSpec", + "documentation": "

The specifications of the virtual service.

" + }, + "status": { + "shape": "VirtualServiceStatus", + "documentation": "

The current status of the virtual service.

" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service.

" + } + }, + "documentation": "

An object that represents a virtual service returned by a describe operation.

" + }, + "HttpRouteHeader": { + "type": "structure", + "required": [ + "name" + ], + "members": { + "invert": { + "shape": "Boolean", + "documentation": "

Specify True to match anything except the match criteria. The default value is False.

" + }, + "match": { + "shape": "HeaderMatchMethod", + "documentation": "

The HeaderMatchMethod object.

" + }, + "name": { + "shape": "HeaderName", + "documentation": "

A name for the HTTP header in the client request that will be matched on.

" + } + }, + "documentation": "

An object that represents the HTTP header in the request.

" + }, + "FilePath": { + "type": "string", + "min": 1, + "max": 255 + }, + "AwsCloudMapInstanceAttributes": { + "type": "list", + "member": { + "shape": "AwsCloudMapInstanceAttribute" + } + }, + "VirtualNodeRef": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshName", + "meshOwner", + "resourceOwner", + "version", + "virtualNodeName" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) for the virtual node.

" + }, + "createdAt": { + "shape": "Timestamp" + }, + "lastUpdatedAt": { + "shape": "Timestamp" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "version": { + "shape": "Long" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node.

" + } + }, + "documentation": "

An object that represents a virtual node returned by a list operation.

" + }, + "CreateMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name to use for the service mesh.

" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The service mesh specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the service mesh to assist with categorization\n and organization. Each tag consists of a key and an optional value, both of which you\n define. Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

", + "tags": [ + "not-preview" + ] + } + }, + "documentation": "" + }, + "GrpcRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

An object that represents the targets that traffic is routed to when a request matches the route.

" + } + }, + "documentation": "

An object that represents the action to take if a match is determined.

" + }, + "LimitExceededException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

You have exceeded a service limit for your account. For more information, see Service\n Limits in the AWS App Mesh User Guide.

", + "exception": true, + "error": { + "code": "LimitExceededException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "UpdateMeshOutput": { + "type": "structure", + "required": [ + "mesh" + ], + "members": { + "mesh": { + "shape": "MeshData" + } + }, + "documentation": "", + "payload": "mesh" + }, + "GrpcRouteMetadataMatchMethod": { + "type": "structure", + "members": { + "exact": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must match the specified value exactly.

" + }, + "prefix": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must begin with the specified characters.

" + }, + "range": { + "shape": "MatchRange", + "documentation": "

An object that represents the range of values to match on.

" + }, + "regex": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must include the specified characters.

" + }, + "suffix": { + "shape": "HeaderMatch", + "documentation": "

The value sent by the client must end with the specified characters.

" + } + }, + "documentation": "

An object that represents the match method. Specify one of the match values.

" + }, + "DescribeVirtualServiceInput": { + "type": "structure", + "required": [ + "meshName", + "virtualServiceName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual service resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualServiceName": { + "shape": "ServiceName", + "documentation": "

The name of the virtual service to describe.

", + "location": "uri", + "locationName": "virtualServiceName" + } + }, + "documentation": "" + }, + "ListVirtualServicesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "AwsCloudMapInstanceAttribute": { + "type": "structure", + "required": [ + "key", + "value" + ], + "members": { + "key": { + "shape": "AwsCloudMapInstanceAttributeKey", + "documentation": "

The name of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service\n instance that contains the specified key and value is returned.

" + }, + "value": { + "shape": "AwsCloudMapInstanceAttributeValue", + "documentation": "

The value of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service\n instance that contains the specified key and value is returned.

" + } + }, + "documentation": "

An object that represents the AWS Cloud Map attribute information for your virtual\n node.

" + }, + "VirtualServiceSpec": { + "type": "structure", + "members": { + "provider": { + "shape": "VirtualServiceProvider", + "documentation": "

The App Mesh object that is acting as the provider for a virtual service. You can specify\n a single virtual node or virtual router.

" + } + }, + "documentation": "

An object that represents the specification of a virtual service.

" + }, + "MatchRange": { + "type": "structure", + "required": [ + "end", + "start" + ], + "members": { + "end": { + "shape": "Long", + "documentation": "

The end of the range.

" + }, + "start": { + "shape": "Long", + "documentation": "

The start of the range.

" + } + }, + "documentation": "

An object that represents the range of values to match on. The first character of the range is included in the range, though the last character is not. For example, if the range specified were 1-100, only values 1-99 would be matched.

" + }, + "ListVirtualRoutersLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "HealthCheckIntervalMillis": { + "type": "long", + "box": true, + "min": 5000, + "max": 300000 + }, + "VirtualRouterList": { + "type": "list", + "member": { + "shape": "VirtualRouterRef" + } + }, + "Arn": { + "type": "string" + }, + "TcpRoute": { + "type": "structure", + "required": [ + "action" + ], + "members": { + "action": { + "shape": "TcpRouteAction", + "documentation": "

The action to take if a match is determined.

" + } + }, + "documentation": "

An object that represents a TCP route type.

" + }, + "VirtualNodeList": { + "type": "list", + "member": { + "shape": "VirtualNodeRef" + } + }, + "ListVirtualRoutersInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualRoutersLimit", + "documentation": "

The maximum number of results returned by ListVirtualRouters in paginated\n output. When you use this parameter, ListVirtualRouters returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualRouters request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualRouters returns up to 100 results and\n a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual routers in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualRouters request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "DurationUnit": { + "type": "string", + "enum": [ + "ms", + "s" + ] + }, + "RoutePriority": { + "type": "integer", + "box": true, + "min": 0, + "max": 1000 + }, + "ListVirtualServicesInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualServicesLimit", + "documentation": "

The maximum number of results returned by ListVirtualServices in paginated\n output. When you use this parameter, ListVirtualServices returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualServices request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualServices returns up to 100 results and\n a nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual services in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualServices request where limit was used and the\n results exceeded the value of that parameter. Pagination continues from the end of the\n previous results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "AccessLog": { + "type": "structure", + "members": { + "file": { + "shape": "FileAccessLog", + "documentation": "

The file object to send virtual node access logs to.

" + } + }, + "documentation": "

An object that represents the access logging information for a virtual node.

" + }, + "ListVirtualNodesInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "limit": { + "shape": "ListVirtualNodesLimit", + "documentation": "

The maximum number of results returned by ListVirtualNodes in paginated\n output. When you use this parameter, ListVirtualNodes returns only\n limit results in a single page along with a nextToken response\n element. You can see the remaining results of the initial request by sending another\n ListVirtualNodes request with the returned nextToken value.\n This value can be between 1 and 100. If you don't use this\n parameter, ListVirtualNodes returns up to 100 results and a\n nextToken value if applicable.

", + "location": "querystring", + "locationName": "limit" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to list virtual nodes in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value returned from a previous paginated\n ListVirtualNodes request where limit was used and the results\n exceeded the value of that parameter. Pagination continues from the end of the previous\n results that returned the nextToken value.

", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "" + }, + "ListVirtualNodesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "HealthCheckTimeoutMillis": { + "type": "long", + "box": true, + "min": 2000, + "max": 60000 + }, + "ResourceName": { + "type": "string", + "min": 1, + "max": 255 + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The maximum request rate permitted by the App Mesh APIs has been exceeded for your\n account. For best results, use an increasing or variable sleep interval between\n requests.

", + "exception": true, + "error": { + "code": "TooManyRequestsException", + "httpStatusCode": 429, + "senderFault": true + } + }, + "Timestamp": { + "type": "timestamp" + }, + "HeaderMatch": { + "type": "string", + "min": 1, + "max": 255 + }, + "AccountId": { + "type": "string", + "min": 12, + "max": 12 + }, + "Duration": { + "type": "structure", + "members": { + "unit": { + "shape": "DurationUnit", + "documentation": "

A unit of time.

" + }, + "value": { + "shape": "DurationValue", + "documentation": "

A number of time units.

" + } + }, + "documentation": "

An object that represents a duration of time.

" + }, + "DescribeRouteOutput": { + "type": "structure", + "required": [ + "route" + ], + "members": { + "route": { + "shape": "RouteData", + "documentation": "

The full description of your route.

" + } + }, + "documentation": "", + "payload": "route" + }, + "HttpRouteMatch": { + "type": "structure", + "required": [ + "prefix" + ], + "members": { + "headers": { + "shape": "HttpRouteHeaders", + "documentation": "

An object that represents the client request headers to match on.

" + }, + "method": { + "shape": "HttpMethod", + "documentation": "

The client request method to match on. Specify only one.

" + }, + "prefix": { + "shape": "String", + "documentation": "

Specifies the path to match requests with. This parameter must always start with\n /, which by itself matches all requests to the virtual service name. You\n can also match for path-based routing of requests. For example, if your virtual service\n name is my-service.local and you want the route to match requests to\n my-service.local/metrics, your prefix should be\n /metrics.

" + }, + "scheme": { + "shape": "HttpScheme", + "documentation": "

The client request scheme to match on. Specify only one.

" + } + }, + "documentation": "

An object that represents the requirements for a route to match HTTP requests for a\n virtual router.

" + }, + "TagRef": { + "type": "structure", + "required": [ + "key" + ], + "members": { + "key": { + "shape": "TagKey", + "documentation": "

One part of a key-value pair that make up a tag. A key is a general label\n that acts like a category for more specific tag values.

" + }, + "value": { + "shape": "TagValue", + "documentation": "

The optional part of a key-value pair that make up a tag. A value acts as a\n descriptor within a tag category (key).

" + } + }, + "documentation": "

Optional metadata that you apply to a resource to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you define.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

" + }, + "MeshRef": { + "type": "structure", + "required": [ + "arn", + "createdAt", + "lastUpdatedAt", + "meshName", + "meshOwner", + "resourceOwner", + "version" + ], + "members": { + "arn": { + "shape": "Arn", + "documentation": "

The full Amazon Resource Name (ARN) of the service mesh.

" + }, + "createdAt": { + "shape": "Timestamp" + }, + "lastUpdatedAt": { + "shape": "Timestamp" + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "resourceOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's\n the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with Shared Meshes.

" + }, + "version": { + "shape": "Long" + } + }, + "documentation": "

An object that represents a service mesh returned by a list operation.

" + }, + "MeshStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + }, + "MeshData": { + "type": "structure", + "required": [ + "meshName", + "metadata", + "spec", + "status" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh.

" + }, + "metadata": { + "shape": "ResourceMetadata", + "documentation": "

The associated metadata for the service mesh.

" + }, + "spec": { + "shape": "MeshSpec", + "documentation": "

The associated specification for the service mesh.

" + }, + "status": { + "shape": "MeshStatus", + "documentation": "

The status of the service mesh.

" + } + }, + "documentation": "

An object that represents a service mesh returned by a describe operation.

" + }, + "VirtualRouterStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "VirtualRouterStatusCode", + "documentation": "

The current status of the virtual router.

" + } + }, + "documentation": "

An object that represents the status of a virtual router.

" + }, + "TcpRouteAction": { + "type": "structure", + "required": [ + "weightedTargets" + ], + "members": { + "weightedTargets": { + "shape": "WeightedTargets", + "documentation": "

An object that represents the targets that traffic is routed to when a request matches the route.

" + } + }, + "documentation": "

An object that represents the action to take if a match is determined.

" + }, + "DescribeVirtualNodeInput": { + "type": "structure", + "required": [ + "meshName", + "virtualNodeName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual node resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node to describe.

", + "location": "uri", + "locationName": "virtualNodeName" + } + }, + "documentation": "" + }, + "RouteStatus": { + "type": "structure", + "required": [ + "status" + ], + "members": { + "status": { + "shape": "RouteStatusCode", + "documentation": "

The current status for the route.

" + } + }, + "documentation": "

An object that represents the current status of a route.

" + }, + "Listener": { + "type": "structure", + "required": [ + "portMapping" + ], + "members": { + "healthCheck": { + "shape": "HealthCheckPolicy", + "documentation": "

The health check information for the listener.

" + }, + "portMapping": { + "shape": "PortMapping", + "documentation": "

The port mapping information for the listener.

" + }, + "tls": { + "shape": "ListenerTls", + "documentation": "

A reference to an object that represents the Transport Layer Security (TLS) properties for a listener.

" + } + }, + "documentation": "

An object that represents a listener for a virtual node.

" + }, + "GrpcRoute": { + "type": "structure", + "required": [ + "action", + "match" + ], + "members": { + "action": { + "shape": "GrpcRouteAction", + "documentation": "

An object that represents the action to take if a match is determined.

" + }, + "match": { + "shape": "GrpcRouteMatch", + "documentation": "

An object that represents the criteria for determining a request match.

" + }, + "retryPolicy": { + "shape": "GrpcRetryPolicy", + "documentation": "

An object that represents a retry policy.

" + } + }, + "documentation": "

An object that represents a gRPC route type.

" + }, + "ListRoutesLimit": { + "type": "integer", + "box": true, + "min": 1, + "max": 100 + }, + "ClientPolicyTls": { + "type": "structure", + "required": [ + "validation" + ], + "members": { + "enforce": { + "shape": "Boolean", + "box": true, + "documentation": "

Whether the policy is enforced. The default is True, if a value isn't\n specified.

" + }, + "ports": { + "shape": "PortSet", + "documentation": "

One or more ports that the policy is enforced for.

" + }, + "validation": { + "shape": "TlsValidationContext", + "documentation": "

A reference to an object that represents a TLS validation context.

" + } + }, + "documentation": "

An object that represents a Transport Layer Security (TLS) client policy.

" + }, + "DeleteVirtualServiceOutput": { + "type": "structure", + "required": [ + "virtualService" + ], + "members": { + "virtualService": { + "shape": "VirtualServiceData", + "documentation": "

The virtual service that was deleted.

" + } + }, + "documentation": "", + "payload": "virtualService" + }, + "VirtualNodeServiceProvider": { + "type": "structure", + "required": [ + "virtualNodeName" + ], + "members": { + "virtualNodeName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual node that is acting as a service provider.

" + } + }, + "documentation": "

An object that represents a virtual node service provider.

" + }, + "BackendDefaults": { + "type": "structure", + "members": { + "clientPolicy": { + "shape": "ClientPolicy", + "documentation": "

A reference to an object that represents a client policy.

" + } + }, + "documentation": "

An object that represents the default properties for a backend.

" + }, + "ListenerTlsFileCertificate": { + "type": "structure", + "required": [ + "certificateChain", + "privateKey" + ], + "members": { + "certificateChain": { + "shape": "FilePath", + "documentation": "

The certificate chain for the certificate.

" + }, + "privateKey": { + "shape": "FilePath", + "documentation": "

The private key for a certificate stored on the file system of the virtual node that the\n proxy is running on.

" + } + }, + "documentation": "

An object that represents a local file certificate.\n The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).

" + }, + "HttpRetryPolicy": { + "type": "structure", + "required": [ + "maxRetries", + "perRetryTimeout" + ], + "members": { + "httpRetryEvents": { + "shape": "HttpRetryPolicyEvents", + "documentation": "

Specify at least one of the following values.

\n
    \n
  • \n

    \n server-error – HTTP status codes 500, 501,\n 502, 503, 504, 505, 506, 507, 508, 510, and 511

    \n
  • \n
  • \n

    \n gateway-error – HTTP status codes 502,\n 503, and 504

    \n
  • \n
  • \n

    \n client-error – HTTP status code 409

    \n
  • \n
  • \n

    \n stream-error – Retry on refused\n stream

    \n
  • \n
" + }, + "maxRetries": { + "shape": "MaxRetries", + "documentation": "

The maximum number of retry attempts.

" + }, + "perRetryTimeout": { + "shape": "Duration", + "documentation": "

An object that represents a duration of time.

" + }, + "tcpRetryEvents": { + "shape": "TcpRetryPolicyEvents", + "documentation": "

Specify a valid value.

" + } + }, + "documentation": "

An object that represents a retry policy. Specify at least one value for at least one of the types of RetryEvents, a value for maxRetries, and a value for perRetryTimeout.

" + }, + "DescribeVirtualRouterInput": { + "type": "structure", + "required": [ + "meshName", + "virtualRouterName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the virtual router resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router to describe.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "TagResourceOutput": { + "type": "structure", + "members": { }, + "documentation": "" + }, + "RouteList": { + "type": "list", + "member": { + "shape": "RouteRef" + } + }, + "TooManyTagsException": { + "type": "structure", + "members": { + "message": { + "shape": "String" + } + }, + "documentation": "

The request exceeds the maximum allowed number of tags allowed per resource. The current\n limit is 50 user tags per resource. You must reduce the number of tags in the request. None\n of the tags in this request were applied.

", + "exception": true, + "error": { + "code": "TooManyTagsException", + "httpStatusCode": 400, + "senderFault": true + } + }, + "PortNumber": { + "type": "integer", + "min": 1, + "max": 65535 + }, + "TlsValidationContextFileTrust": { + "type": "structure", + "required": [ + "certificateChain" + ], + "members": { + "certificateChain": { + "shape": "FilePath", + "documentation": "

The certificate trust chain for a certificate stored on the file system of the virtual\n node that the proxy is running on.

" + } + }, + "documentation": "

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

" + }, + "GrpcRouteMetadata": { + "type": "structure", + "required": [ + "name" + ], + "members": { + "invert": { + "shape": "Boolean", + "documentation": "

Specify True to match anything except the match criteria. The default value is False.

" + }, + "match": { + "shape": "GrpcRouteMetadataMatchMethod", + "documentation": "

An object that represents the data to match from the request.

" + }, + "name": { + "shape": "HeaderName", + "documentation": "

The name of the route.

" + } + }, + "documentation": "

An object that represents the match metadata for the route.

" + }, + "CreateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to create the route in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then\n the account that you specify must share the mesh with your account before you can create \n the resource in the service mesh. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name to use for the route.

" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The route specification to apply.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

Optional metadata that you can apply to the route to assist with categorization and\n organization. Each tag consists of a key and an optional value, both of which you define.\n Tag keys can have a maximum character length of 128 characters, and tag values can have\n a maximum length of 256 characters.

", + "tags": [ + "not-preview" + ] + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router in which to create the route. If the virtual router is in\n a shared mesh, then you must be the owner of the virtual router resource.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "WeightedTargets": { + "type": "list", + "member": { + "shape": "WeightedTarget" + }, + "min": 1, + "max": 10 + }, + "HttpRouteHeaders": { + "type": "list", + "member": { + "shape": "HttpRouteHeader" + }, + "min": 1, + "max": 10 + }, + "String": { + "type": "string" + }, + "HttpScheme": { + "type": "string", + "enum": [ + "http", + "https" + ] + }, + "UpdateRouteInput": { + "type": "structure", + "required": [ + "meshName", + "routeName", + "spec", + "virtualRouterName" + ], + "members": { + "clientToken": { + "shape": "String", + "documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\nrequest. Up to 36 letters, numbers, hyphens, and underscores are allowed.

", + "idempotencyToken": true + }, + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh that the route resides in.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + }, + "routeName": { + "shape": "ResourceName", + "documentation": "

The name of the route to update.

", + "location": "uri", + "locationName": "routeName" + }, + "spec": { + "shape": "RouteSpec", + "documentation": "

The new route specification to apply. This overwrites the existing data.

" + }, + "virtualRouterName": { + "shape": "ResourceName", + "documentation": "

The name of the virtual router that the route is associated with.

", + "location": "uri", + "locationName": "virtualRouterName" + } + }, + "documentation": "" + }, + "HttpRoute": { + "type": "structure", + "required": [ + "action", + "match" + ], + "members": { + "action": { + "shape": "HttpRouteAction", + "documentation": "

An object that represents the action to take if a match is determined.

" + }, + "match": { + "shape": "HttpRouteMatch", + "documentation": "

An object that represents the criteria for determining a request match.

" + }, + "retryPolicy": { + "shape": "HttpRetryPolicy", + "documentation": "

An object that represents a retry policy.

" + } + }, + "documentation": "

An object that represents an HTTP or HTTP/2 route type.

" + }, + "DescribeMeshInput": { + "type": "structure", + "required": [ + "meshName" + ], + "members": { + "meshName": { + "shape": "ResourceName", + "documentation": "

The name of the service mesh to describe.

", + "location": "uri", + "locationName": "meshName" + }, + "meshOwner": { + "shape": "AccountId", + "documentation": "

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's\n the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with Shared Meshes.

", + "location": "querystring", + "locationName": "meshOwner" + } + }, + "documentation": "" + }, + "MeshSpec": { + "type": "structure", + "members": { + "egressFilter": { + "shape": "EgressFilter", + "documentation": "

The egress filter rules for the service mesh.

" + } + }, + "documentation": "

An object that represents the specification of a service mesh.

" + }, + "ListTagsForResourceOutput": { + "type": "structure", + "required": [ + "tags" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListTagsForResource\n request. When the results of a ListTagsForResource request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "tags": { + "shape": "TagList", + "documentation": "

The tags for the resource.

" + } + }, + "documentation": "" + }, + "ServiceDiscovery": { + "type": "structure", + "members": { + "awsCloudMap": { + "shape": "AwsCloudMapServiceDiscovery", + "documentation": "

Specifies any AWS Cloud Map information for the virtual node.

" + }, + "dns": { + "shape": "DnsServiceDiscovery", + "documentation": "

Specifies the DNS information for the virtual node.

" + } + }, + "documentation": "

An object that represents the service discovery information for a virtual node.

" + }, + "ListVirtualNodesOutput": { + "type": "structure", + "required": [ + "virtualNodes" + ], + "members": { + "nextToken": { + "shape": "String", + "documentation": "

The nextToken value to include in a future ListVirtualNodes\n request. When the results of a ListVirtualNodes request exceed\n limit, you can use this value to retrieve the next page of results. This\n value is null when there are no more results to return.

" + }, + "virtualNodes": { + "shape": "VirtualNodeList", + "documentation": "

The list of existing virtual nodes for the specified service mesh.

" + } + }, + "documentation": "" + }, + "UntagResourceInput": { + "type": "structure", + "required": [ + "resourceArn", + "tagKeys" + ], + "members": { + "resourceArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) of the resource to delete tags from.

", + "location": "querystring", + "locationName": "resourceArn" + }, + "tagKeys": { + "shape": "TagKeyList", + "documentation": "

The keys of the tags to be removed.

" + } + }, + "documentation": "" + }, + "ListenerTlsAcmCertificate": { + "type": "structure", + "required": [ + "certificateArn" + ], + "members": { + "certificateArn": { + "shape": "Arn", + "documentation": "

The Amazon Resource Name (ARN) for the certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS).

" + } + }, + "documentation": "

An object that represents an AWS Certicate Manager (ACM) certificate.

" + }, + "TagKey": { + "type": "string", + "min": 1, + "max": 128 + }, + "VirtualServiceStatusCode": { + "type": "string", + "enum": [ + "ACTIVE", + "DELETED", + "INACTIVE" + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appstream/2016-12-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/examples-1.json --- python-botocore-1.4.70/botocore/data/appstream/2016-12-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/appstream/2016-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/appstream/2016-12-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,60 @@ +{ + "pagination": { + "DescribeDirectoryConfigs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "DirectoryConfigs" + }, + "DescribeFleets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Fleets" + }, + "DescribeImageBuilders": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ImageBuilders" + }, + "DescribeImages": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Images" + }, + "DescribeSessions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Sessions" + }, + "DescribeStacks": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Stacks" + }, + "DescribeUserStackAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "UserStackAssociations" + }, + "DescribeUsers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Users" + }, + "ListAssociatedFleets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Names" + }, + "ListAssociatedStacks": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Names" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appstream/2016-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/appstream/2016-12-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3526 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-12-01", + "endpointPrefix":"appstream2", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon AppStream", + "serviceId":"AppStream", + "signatureVersion":"v4", + "signingName":"appstream", + "targetPrefix":"PhotonAdminProxyService", + "uid":"appstream-2016-12-01" + }, + "operations":{ + "AssociateFleet":{ + "name":"AssociateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateFleetRequest"}, + "output":{"shape":"AssociateFleetResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Associates the specified fleet with the specified stack.

" + }, + "BatchAssociateUserStack":{ + "name":"BatchAssociateUserStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchAssociateUserStackRequest"}, + "output":{"shape":"BatchAssociateUserStackResult"}, + "errors":[ + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Associates the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain.

" + }, + "BatchDisassociateUserStack":{ + "name":"BatchDisassociateUserStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDisassociateUserStackRequest"}, + "output":{"shape":"BatchDisassociateUserStackResult"}, + "documentation":"

Disassociates the specified users from the specified stacks.

" + }, + "CopyImage":{ + "name":"CopyImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyImageRequest"}, + "output":{"shape":"CopyImageResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"IncompatibleImageException"} + ], + "documentation":"

Copies the image within the same region or to a new region within the same AWS account. Note that any tags you added to the image will not be copied.

" + }, + "CreateDirectoryConfig":{ + "name":"CreateDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectoryConfigRequest"}, + "output":{"shape":"CreateDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"} + ], + "documentation":"

Creates a Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" + }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResult"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Creates a fleet. A fleet consists of streaming instances that run a specified image.

" + }, + "CreateImageBuilder":{ + "name":"CreateImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateImageBuilderRequest"}, + "output":{"shape":"CreateImageBuilderResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Creates an image builder. An image builder is a virtual machine that is used to create an image.

The initial state of the builder is PENDING. When it is ready, the state is RUNNING.

" + }, + "CreateImageBuilderStreamingURL":{ + "name":"CreateImageBuilderStreamingURL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateImageBuilderStreamingURLRequest"}, + "output":{"shape":"CreateImageBuilderStreamingURLResult"}, + "errors":[ + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a URL to start an image builder streaming session.

" + }, + "CreateStack":{ + "name":"CreateStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStackRequest"}, + "output":{"shape":"CreateStackResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a stack to start streaming applications to users. A stack consists of an associated fleet, user access policies, and storage configurations.

" + }, + "CreateStreamingURL":{ + "name":"CreateStreamingURL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStreamingURLRequest"}, + "output":{"shape":"CreateStreamingURLResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a temporary URL to start an AppStream 2.0 streaming session for the specified user. A streaming URL enables application streaming to be tested without user setup.

" + }, + "CreateUsageReportSubscription":{ + "name":"CreateUsageReportSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUsageReportSubscriptionRequest"}, + "output":{"shape":"CreateUsageReportSubscriptionResult"}, + "errors":[ + {"shape":"InvalidRoleException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a usage report subscription. Usage reports are generated daily.

" + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResult"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"LimitExceededException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Creates a new user in the user pool.

" + }, + "DeleteDirectoryConfig":{ + "name":"DeleteDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectoryConfigRequest"}, + "output":{"shape":"DeleteDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes the specified Directory Config object from AppStream 2.0. This object includes the information required to join streaming instances to an Active Directory domain.

" + }, + "DeleteFleet":{ + "name":"DeleteFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFleetRequest"}, + "output":{"shape":"DeleteFleetResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the specified fleet.

" + }, + "DeleteImage":{ + "name":"DeleteImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImageRequest"}, + "output":{"shape":"DeleteImageResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the specified image. You cannot delete an image when it is in use. After you delete an image, you cannot provision new capacity using the image.

" + }, + "DeleteImageBuilder":{ + "name":"DeleteImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImageBuilderRequest"}, + "output":{"shape":"DeleteImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the specified image builder and releases the capacity.

" + }, + "DeleteImagePermissions":{ + "name":"DeleteImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteImagePermissionsRequest"}, + "output":{"shape":"DeleteImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes permissions for the specified private image. After you delete permissions for an image, AWS accounts to which you previously granted these permissions can no longer use the image.

" + }, + "DeleteStack":{ + "name":"DeleteStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStackRequest"}, + "output":{"shape":"DeleteStackResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the specified stack. After the stack is deleted, the application streaming environment provided by the stack is no longer available to users. Also, any reservations made for application streaming sessions for the stack are released.

" + }, + "DeleteUsageReportSubscription":{ + "name":"DeleteUsageReportSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUsageReportSubscriptionRequest"}, + "output":{"shape":"DeleteUsageReportSubscriptionResult"}, + "errors":[ + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disables usage report generation.

" + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserRequest"}, + "output":{"shape":"DeleteUserResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a user from the user pool.

" + }, + "DescribeDirectoryConfigs":{ + "name":"DescribeDirectoryConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectoryConfigsRequest"}, + "output":{"shape":"DescribeDirectoryConfigsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes one or more specified Directory Config objects for AppStream 2.0, if the names for these objects are provided. Otherwise, all Directory Config objects in the account are described. These objects include the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

Although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" + }, + "DescribeFleets":{ + "name":"DescribeFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetsRequest"}, + "output":{"shape":"DescribeFleetsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes one or more specified fleets, if the fleet names are provided. Otherwise, all fleets in the account are described.

" + }, + "DescribeImageBuilders":{ + "name":"DescribeImageBuilders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImageBuildersRequest"}, + "output":{"shape":"DescribeImageBuildersResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes one or more specified image builders, if the image builder names are provided. Otherwise, all image builders in the account are described.

" + }, + "DescribeImagePermissions":{ + "name":"DescribeImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImagePermissionsRequest"}, + "output":{"shape":"DescribeImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes the permissions for shared AWS account IDs on a private image that you own.

" + }, + "DescribeImages":{ + "name":"DescribeImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImagesRequest"}, + "output":{"shape":"DescribeImagesResult"}, + "errors":[ + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes one or more specified images, if the image names or image ARNs are provided. Otherwise, all images in the account are described.

" + }, + "DescribeSessions":{ + "name":"DescribeSessions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSessionsRequest"}, + "output":{"shape":"DescribeSessionsResult"}, + "errors":[ + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Retrieves a list that describes the streaming sessions for a specified stack and fleet. If a UserId is provided for the stack and fleet, only streaming sessions for that user are described. If an authentication type is not provided, the default is to authenticate users using a streaming URL.

" + }, + "DescribeStacks":{ + "name":"DescribeStacks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStacksRequest"}, + "output":{"shape":"DescribeStacksResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described.

" + }, + "DescribeUsageReportSubscriptions":{ + "name":"DescribeUsageReportSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsageReportSubscriptionsRequest"}, + "output":{"shape":"DescribeUsageReportSubscriptionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccountStatusException"} + ], + "documentation":"

Retrieves a list that describes one or more usage report subscriptions.

" + }, + "DescribeUserStackAssociations":{ + "name":"DescribeUserStackAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserStackAssociationsRequest"}, + "output":{"shape":"DescribeUserStackAssociationsResult"}, + "errors":[ + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Retrieves a list that describes the UserStackAssociation objects. You must specify either or both of the following:

  • The stack name

  • The user name (email address of the user associated with the stack) and the authentication type for the user

" + }, + "DescribeUsers":{ + "name":"DescribeUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsersRequest"}, + "output":{"shape":"DescribeUsersResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Retrieves a list that describes one or more specified users in the user pool.

" + }, + "DisableUser":{ + "name":"DisableUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableUserRequest"}, + "output":{"shape":"DisableUserResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disables the specified user in the user pool. Users can't sign in to AppStream 2.0 until they are re-enabled. This action does not delete the user.

" + }, + "DisassociateFleet":{ + "name":"DisassociateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateFleetRequest"}, + "output":{"shape":"DisassociateFleetResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Disassociates the specified fleet from the specified stack.

" + }, + "EnableUser":{ + "name":"EnableUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableUserRequest"}, + "output":{"shape":"EnableUserResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccountStatusException"} + ], + "documentation":"

Enables a user in the user pool. After being enabled, users can sign in to AppStream 2.0 and open applications from the stacks to which they are assigned.

" + }, + "ExpireSession":{ + "name":"ExpireSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExpireSessionRequest"}, + "output":{"shape":"ExpireSessionResult"}, + "documentation":"

Immediately stops the specified streaming session.

" + }, + "ListAssociatedFleets":{ + "name":"ListAssociatedFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociatedFleetsRequest"}, + "output":{"shape":"ListAssociatedFleetsResult"}, + "documentation":"

Retrieves the name of the fleet that is associated with the specified stack.

" + }, + "ListAssociatedStacks":{ + "name":"ListAssociatedStacks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociatedStacksRequest"}, + "output":{"shape":"ListAssociatedStacksResult"}, + "documentation":"

Retrieves the name of the stack with which the specified fleet is associated.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves a list of all tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "StartFleet":{ + "name":"StartFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartFleetRequest"}, + "output":{"shape":"StartFleetResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"InvalidRoleException"} + ], + "documentation":"

Starts the specified fleet.

" + }, + "StartImageBuilder":{ + "name":"StartImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImageBuilderRequest"}, + "output":{"shape":"StartImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotAvailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"IncompatibleImageException"} + ], + "documentation":"

Starts the specified image builder.

" + }, + "StopFleet":{ + "name":"StopFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopFleetRequest"}, + "output":{"shape":"StopFleetResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Stops the specified fleet.

" + }, + "StopImageBuilder":{ + "name":"StopImageBuilder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopImageBuilderRequest"}, + "output":{"shape":"StopImageBuilderResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Stops the specified image builder.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds or overwrites one or more tags for the specified AppStream 2.0 resource. You can tag AppStream 2.0 image builders, images, fleets, and stacks.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, this operation updates its value.

To list the current tags for your resources, use ListTagsForResource. To disassociate tags from your resources, use UntagResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disassociates one or more specified tags from the specified AppStream 2.0 resource.

To list the current tags for your resources, use ListTagsForResource.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "UpdateDirectoryConfig":{ + "name":"UpdateDirectoryConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDirectoryConfigRequest"}, + "output":{"shape":"UpdateDirectoryConfigResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates the specified Directory Config object in AppStream 2.0. This object includes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" + }, + "UpdateFleet":{ + "name":"UpdateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFleetRequest"}, + "output":{"shape":"UpdateFleetResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"InvalidRoleException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Updates the specified fleet.

If the fleet is in the STOPPED state, you can update any attribute except the fleet name. If the fleet is in the RUNNING state, you can update the DisplayName, ComputeCapacity, ImageARN, ImageName, IdleDisconnectTimeoutInSeconds, and DisconnectTimeoutInSeconds attributes. If the fleet is in the STARTING or STOPPING state, you can't update it.

" + }, + "UpdateImagePermissions":{ + "name":"UpdateImagePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateImagePermissionsRequest"}, + "output":{"shape":"UpdateImagePermissionsResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotAvailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds or updates permissions for the specified private image.

" + }, + "UpdateStack":{ + "name":"UpdateStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStackRequest"}, + "output":{"shape":"UpdateStackResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidRoleException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccountStatusException"}, + {"shape":"IncompatibleImageException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates the specified fields for the specified stack.

" + } + }, + "shapes":{ + "AccessEndpoint":{ + "type":"structure", + "required":["EndpointType"], + "members":{ + "EndpointType":{ + "shape":"AccessEndpointType", + "documentation":"

The type of interface endpoint.

" + }, + "VpceId":{ + "shape":"String", + "documentation":"

The identifier (ID) of the VPC in which the interface endpoint is used.

" + } + }, + "documentation":"

Describes an interface VPC endpoint (interface endpoint) that lets you create a private connection between the virtual private cloud (VPC) that you specify and AppStream 2.0. When you specify an interface endpoint for a stack, users of the stack can connect to AppStream 2.0 only through that endpoint. When you specify an interface endpoint for an image builder, administrators can connect to the image builder only through that endpoint.

" + }, + "AccessEndpointList":{ + "type":"list", + "member":{"shape":"AccessEndpoint"}, + "max":4, + "min":1 + }, + "AccessEndpointType":{ + "type":"string", + "enum":["STREAMING"] + }, + "AccountName":{ + "type":"string", + "min":1, + "sensitive":true + }, + "AccountPassword":{ + "type":"string", + "max":127, + "min":1, + "sensitive":true + }, + "Action":{ + "type":"string", + "enum":[ + "CLIPBOARD_COPY_FROM_LOCAL_DEVICE", + "CLIPBOARD_COPY_TO_LOCAL_DEVICE", + "FILE_UPLOAD", + "FILE_DOWNLOAD", + "PRINTING_TO_LOCAL_DEVICE" + ] + }, + "Application":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the application.

" + }, + "DisplayName":{ + "shape":"String", + "documentation":"

The application name to display.

" + }, + "IconURL":{ + "shape":"String", + "documentation":"

The URL for the application icon. This URL might be time-limited.

" + }, + "LaunchPath":{ + "shape":"String", + "documentation":"

The path to the application executable in the instance.

" + }, + "LaunchParameters":{ + "shape":"String", + "documentation":"

The arguments that are passed to the application at launch.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

If there is a problem, the application can be disabled after image creation.

" + }, + "Metadata":{ + "shape":"Metadata", + "documentation":"

Additional attributes that describe the application.

" + } + }, + "documentation":"

Describes an application in the application catalog.

" + }, + "ApplicationSettings":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Enables or disables persistent application settings for users during their streaming sessions.

" + }, + "SettingsGroup":{ + "shape":"SettingsGroup", + "documentation":"

The path prefix for the S3 bucket where users’ persistent application settings are stored. You can allow the same persistent application settings to be used across multiple stacks by specifying the same settings group for each stack.

" + } + }, + "documentation":"

The persistent application settings for users of a stack.

" + }, + "ApplicationSettingsResponse":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether persistent application settings are enabled for users during their streaming sessions.

" + }, + "SettingsGroup":{ + "shape":"SettingsGroup", + "documentation":"

The path prefix for the S3 bucket where users’ persistent application settings are stored.

" + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

The S3 bucket where users’ persistent application settings are stored. When persistent application settings are enabled for the first time for an account in an AWS Region, an S3 bucket is created. The bucket is unique to the AWS account and the Region.

" + } + }, + "documentation":"

Describes the persistent application settings for users of a stack.

" + }, + "Applications":{ + "type":"list", + "member":{"shape":"Application"} + }, + "AppstreamAgentVersion":{ + "type":"string", + "max":100, + "min":1 + }, + "Arn":{ + "type":"string", + "pattern":"^arn:aws:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "AssociateFleetRequest":{ + "type":"structure", + "required":[ + "FleetName", + "StackName" + ], + "members":{ + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + }, + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack.

" + } + } + }, + "AssociateFleetResult":{ + "type":"structure", + "members":{ + } + }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "API", + "SAML", + "USERPOOL" + ] + }, + "AwsAccountId":{ + "type":"string", + "pattern":"^\\d+$" + }, + "AwsAccountIdList":{ + "type":"list", + "member":{"shape":"AwsAccountId"}, + "max":5, + "min":1 + }, + "BatchAssociateUserStackRequest":{ + "type":"structure", + "required":["UserStackAssociations"], + "members":{ + "UserStackAssociations":{ + "shape":"UserStackAssociationList", + "documentation":"

The list of UserStackAssociation objects.

" + } + } + }, + "BatchAssociateUserStackResult":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"UserStackAssociationErrorList", + "documentation":"

The list of UserStackAssociationError objects.

" + } + } + }, + "BatchDisassociateUserStackRequest":{ + "type":"structure", + "required":["UserStackAssociations"], + "members":{ + "UserStackAssociations":{ + "shape":"UserStackAssociationList", + "documentation":"

The list of UserStackAssociation objects.

" + } + } + }, + "BatchDisassociateUserStackResult":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"UserStackAssociationErrorList", + "documentation":"

The list of UserStackAssociationError objects.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "BooleanObject":{"type":"boolean"}, + "ComputeCapacity":{ + "type":"structure", + "required":["DesiredInstances"], + "members":{ + "DesiredInstances":{ + "shape":"Integer", + "documentation":"

The desired number of streaming instances.

" + } + }, + "documentation":"

Describes the capacity for a fleet.

" + }, + "ComputeCapacityStatus":{ + "type":"structure", + "required":["Desired"], + "members":{ + "Desired":{ + "shape":"Integer", + "documentation":"

The desired number of streaming instances.

" + }, + "Running":{ + "shape":"Integer", + "documentation":"

The total number of simultaneous streaming instances that are running.

" + }, + "InUse":{ + "shape":"Integer", + "documentation":"

The number of instances in use for streaming.

" + }, + "Available":{ + "shape":"Integer", + "documentation":"

The number of currently available instances that can be used to stream sessions.

" + } + }, + "documentation":"

Describes the capacity status for a fleet.

" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An API error occurred. Wait a few minutes and try again.

", + "exception":true + }, + "CopyImageRequest":{ + "type":"structure", + "required":[ + "SourceImageName", + "DestinationImageName", + "DestinationRegion" + ], + "members":{ + "SourceImageName":{ + "shape":"Name", + "documentation":"

The name of the image to copy.

" + }, + "DestinationImageName":{ + "shape":"Name", + "documentation":"

The name that the image will have when it is copied to the destination.

" + }, + "DestinationRegion":{ + "shape":"RegionName", + "documentation":"

The destination region to which the image will be copied. This parameter is required, even if you are copying an image within the same region.

" + }, + "DestinationImageDescription":{ + "shape":"Description", + "documentation":"

The description that the image will have when it is copied to the destination.

" + } + } + }, + "CopyImageResponse":{ + "type":"structure", + "members":{ + "DestinationImageName":{ + "shape":"Name", + "documentation":"

The name of the destination image.

" + } + } + }, + "CreateDirectoryConfigRequest":{ + "type":"structure", + "required":[ + "DirectoryName", + "OrganizationalUnitDistinguishedNames", + "ServiceAccountCredentials" + ], + "members":{ + "DirectoryName":{ + "shape":"DirectoryName", + "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" + }, + "OrganizationalUnitDistinguishedNames":{ + "shape":"OrganizationalUnitDistinguishedNamesList", + "documentation":"

The distinguished names of the organizational units for computer accounts.

" + }, + "ServiceAccountCredentials":{ + "shape":"ServiceAccountCredentials", + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" + } + } + }, + "CreateDirectoryConfigResult":{ + "type":"structure", + "members":{ + "DirectoryConfig":{ + "shape":"DirectoryConfig", + "documentation":"

Information about the directory configuration.

" + } + } + }, + "CreateFleetRequest":{ + "type":"structure", + "required":[ + "Name", + "InstanceType", + "ComputeCapacity" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A unique name for the fleet.

" + }, + "ImageName":{ + "shape":"String", + "documentation":"

The name of the image used to create the fleet.

" + }, + "ImageArn":{ + "shape":"Arn", + "documentation":"

The ARN of the public, private, or shared image to use.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" + }, + "FleetType":{ + "shape":"FleetType", + "documentation":"

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

" + }, + "ComputeCapacity":{ + "shape":"ComputeCapacity", + "documentation":"

The desired capacity for the fleet.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC configuration for the fleet.

" + }, + "MaxUserDurationInSeconds":{ + "shape":"Integer", + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" + }, + "DisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The fleet name to display.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default internet access for the fleet.

" + }, + "DomainJoinInfo":{ + "shape":"DomainJoinInfo", + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the fleet. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

For more information, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If they try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" + }, + "IamRoleArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + } + } + }, + "CreateFleetResult":{ + "type":"structure", + "members":{ + "Fleet":{ + "shape":"Fleet", + "documentation":"

Information about the fleet.

" + } + } + }, + "CreateImageBuilderRequest":{ + "type":"structure", + "required":[ + "Name", + "InstanceType" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A unique name for the image builder.

" + }, + "ImageName":{ + "shape":"String", + "documentation":"

The name of the image used to create the image builder.

" + }, + "ImageArn":{ + "shape":"Arn", + "documentation":"

The ARN of the public, private, or shared image to use.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type to use when launching the image builder. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The image builder name to display.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC configuration for the image builder. You can specify only one subnet.

" + }, + "IamRoleArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to apply to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default internet access for the image builder.

" + }, + "DomainJoinInfo":{ + "shape":"DomainJoinInfo", + "documentation":"

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

" + }, + "AppstreamAgentVersion":{ + "shape":"AppstreamAgentVersion", + "documentation":"

The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

If you do not specify a value, the value is set to an empty string.

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "AccessEndpoints":{ + "shape":"AccessEndpointList", + "documentation":"

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

" + } + } + }, + "CreateImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{ + "shape":"ImageBuilder", + "documentation":"

Information about the image builder.

" + } + } + }, + "CreateImageBuilderStreamingURLRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the image builder.

" + }, + "Validity":{ + "shape":"Long", + "documentation":"

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 3600 seconds.

" + } + } + }, + "CreateImageBuilderStreamingURLResult":{ + "type":"structure", + "members":{ + "StreamingURL":{ + "shape":"String", + "documentation":"

The URL to start the AppStream 2.0 streaming session.

" + }, + "Expires":{ + "shape":"Timestamp", + "documentation":"

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" + } + } + }, + "CreateStackRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the stack.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The stack name to display.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to enable.

" + }, + "RedirectURL":{ + "shape":"RedirectURL", + "documentation":"

The URL that users are redirected to after their streaming session ends.

" + }, + "FeedbackURL":{ + "shape":"FeedbackURL", + "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" + }, + "UserSettings":{ + "shape":"UserSettingList", + "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

" + }, + "ApplicationSettings":{ + "shape":"ApplicationSettings", + "documentation":"

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the stack. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

For more information about tags, see Tagging Your Resources in the Amazon AppStream 2.0 Administration Guide.

" + }, + "AccessEndpoints":{ + "shape":"AccessEndpointList", + "documentation":"

The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

" + }, + "EmbedHostDomains":{ + "shape":"EmbedHostDomains", + "documentation":"

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

" + } + } + }, + "CreateStackResult":{ + "type":"structure", + "members":{ + "Stack":{ + "shape":"Stack", + "documentation":"

Information about the stack.

" + } + } + }, + "CreateStreamingURLRequest":{ + "type":"structure", + "required":[ + "StackName", + "FleetName", + "UserId" + ], + "members":{ + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack.

" + }, + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + }, + "UserId":{ + "shape":"StreamingUrlUserId", + "documentation":"

The identifier of the user.

" + }, + "ApplicationId":{ + "shape":"String", + "documentation":"

The name of the application to launch after the session starts. This is the name that you specified as Name in the Image Assistant.

" + }, + "Validity":{ + "shape":"Long", + "documentation":"

The time that the streaming URL will be valid, in seconds. Specify a value between 1 and 604800 seconds. The default is 60 seconds.

" + }, + "SessionContext":{ + "shape":"String", + "documentation":"

The session context. For more information, see Session Context in the Amazon AppStream 2.0 Administration Guide.

" + } + } + }, + "CreateStreamingURLResult":{ + "type":"structure", + "members":{ + "StreamingURL":{ + "shape":"String", + "documentation":"

The URL to start the AppStream 2.0 streaming session.

" + }, + "Expires":{ + "shape":"Timestamp", + "documentation":"

The elapsed time, in seconds after the Unix epoch, when this URL expires.

" + } + } + }, + "CreateUsageReportSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "CreateUsageReportSubscriptionResult":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket where generated reports are stored.

If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.

" + }, + "Schedule":{ + "shape":"UsageReportSchedule", + "documentation":"

The schedule for generating usage reports.

" + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AuthenticationType" + ], + "members":{ + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays.

" + }, + "MessageAction":{ + "shape":"MessageAction", + "documentation":"

The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.

The temporary password in the welcome email is valid for only 7 days. If users don’t set their passwords within 7 days, you must send them a new welcome email.

" + }, + "FirstName":{ + "shape":"UserAttributeValue", + "documentation":"

The first name, or given name, of the user.

" + }, + "LastName":{ + "shape":"UserAttributeValue", + "documentation":"

The last name, or surname, of the user.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user. You must specify USERPOOL.

" + } + } + }, + "CreateUserResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteDirectoryConfigRequest":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{ + "shape":"DirectoryName", + "documentation":"

The name of the directory configuration.

" + } + } + }, + "DeleteDirectoryConfigResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteFleetRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + } + } + }, + "DeleteFleetResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the image builder.

" + } + } + }, + "DeleteImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{ + "shape":"ImageBuilder", + "documentation":"

Information about the image builder.

" + } + } + }, + "DeleteImagePermissionsRequest":{ + "type":"structure", + "required":[ + "Name", + "SharedAccountId" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the private image.

" + }, + "SharedAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The 12-digit identifier of the AWS account for which to delete image permissions.

" + } + } + }, + "DeleteImagePermissionsResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteImageRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the image.

" + } + } + }, + "DeleteImageResult":{ + "type":"structure", + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

Information about the image.

" + } + } + }, + "DeleteStackRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the stack.

" + } + } + }, + "DeleteStackResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteUsageReportSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteUsageReportSubscriptionResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AuthenticationType" + ], + "members":{ + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user. You must specify USERPOOL.

" + } + } + }, + "DeleteUserResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeDirectoryConfigsRequest":{ + "type":"structure", + "members":{ + "DirectoryNames":{ + "shape":"DirectoryNameList", + "documentation":"

The directory names.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeDirectoryConfigsResult":{ + "type":"structure", + "members":{ + "DirectoryConfigs":{ + "shape":"DirectoryConfigList", + "documentation":"

Information about the directory configurations. Note that although the response syntax in this topic includes the account password, this password is not returned in the actual response.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeFleetsRequest":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The names of the fleets to describe.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeFleetsResult":{ + "type":"structure", + "members":{ + "Fleets":{ + "shape":"FleetList", + "documentation":"

Information about the fleets.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeImageBuildersRequest":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The names of the image builders to describe.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeImageBuildersResult":{ + "type":"structure", + "members":{ + "ImageBuilders":{ + "shape":"ImageBuilderList", + "documentation":"

Information about the image builders.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeImagePermissionsRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the private image for which to describe permissions. The image must be one that you own.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum size of each page of results.

" + }, + "SharedAwsAccountIds":{ + "shape":"AwsAccountIdList", + "documentation":"

The 12-digit identifier of one or more AWS accounts with which the image is shared.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeImagePermissionsResult":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the private image.

" + }, + "SharedImagePermissionsList":{ + "shape":"SharedImagePermissionsList", + "documentation":"

The permissions for a private image that you own.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeImagesMaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":0 + }, + "DescribeImagesRequest":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The names of the public or private images to describe.

" + }, + "Arns":{ + "shape":"ArnList", + "documentation":"

The ARNs of the public, private, and shared images to describe.

" + }, + "Type":{ + "shape":"VisibilityType", + "documentation":"

The type of image (public, private, or shared) to describe.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "MaxResults":{ + "shape":"DescribeImagesMaxResults", + "documentation":"

The maximum size of each page of results.

" + } + } + }, + "DescribeImagesResult":{ + "type":"structure", + "members":{ + "Images":{ + "shape":"ImageList", + "documentation":"

Information about the images.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeSessionsRequest":{ + "type":"structure", + "required":[ + "StackName", + "FleetName" + ], + "members":{ + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack. This value is case-sensitive.

" + }, + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet. This value is case-sensitive.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The user identifier.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + }, + "Limit":{ + "shape":"Integer", + "documentation":"

The size of each page of results. The default value is 20 and the maximum value is 50.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication method. Specify API for a user authenticated using a streaming URL or SAML for a SAML federated user. The default is to authenticate users using a streaming URL.

" + } + } + }, + "DescribeSessionsResult":{ + "type":"structure", + "members":{ + "Sessions":{ + "shape":"SessionList", + "documentation":"

Information about the streaming sessions.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeStacksRequest":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The names of the stacks to describe.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeStacksResult":{ + "type":"structure", + "members":{ + "Stacks":{ + "shape":"StackList", + "documentation":"

Information about the stacks.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeUsageReportSubscriptionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeUsageReportSubscriptionsResult":{ + "type":"structure", + "members":{ + "UsageReportSubscriptions":{ + "shape":"UsageReportSubscriptionList", + "documentation":"

Information about the usage report subscription.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeUserStackAssociationsRequest":{ + "type":"structure", + "members":{ + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack that is associated with the user.

" + }, + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user who is associated with the stack. You must specify USERPOOL.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeUserStackAssociationsResult":{ + "type":"structure", + "members":{ + "UserStackAssociations":{ + "shape":"UserStackAssociationList", + "documentation":"

The UserStackAssociation objects.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "DescribeUsersRequest":{ + "type":"structure", + "required":["AuthenticationType"], + "members":{ + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the users in the user pool to describe. You must specify USERPOOL.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum size of each page of results.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "DescribeUsersResult":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserList", + "documentation":"

Information about users in the user pool.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "Description":{ + "type":"string", + "max":256 + }, + "DirectoryConfig":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{ + "shape":"DirectoryName", + "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" + }, + "OrganizationalUnitDistinguishedNames":{ + "shape":"OrganizationalUnitDistinguishedNamesList", + "documentation":"

The distinguished names of the organizational units for computer accounts.

" + }, + "ServiceAccountCredentials":{ + "shape":"ServiceAccountCredentials", + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The time the directory configuration was created.

" + } + }, + "documentation":"

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" + }, + "DirectoryConfigList":{ + "type":"list", + "member":{"shape":"DirectoryConfig"} + }, + "DirectoryName":{"type":"string"}, + "DirectoryNameList":{ + "type":"list", + "member":{"shape":"DirectoryName"} + }, + "DisableUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AuthenticationType" + ], + "members":{ + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user. You must specify USERPOOL.

" + } + } + }, + "DisableUserResult":{ + "type":"structure", + "members":{ + } + }, + "DisassociateFleetRequest":{ + "type":"structure", + "required":[ + "FleetName", + "StackName" + ], + "members":{ + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + }, + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack.

" + } + } + }, + "DisassociateFleetResult":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":100 + }, + "Domain":{ + "type":"string", + "documentation":"GSuite domain for GDrive integration.", + "max":64, + "min":1 + }, + "DomainJoinInfo":{ + "type":"structure", + "members":{ + "DirectoryName":{ + "shape":"DirectoryName", + "documentation":"

The fully qualified name of the directory (for example, corp.example.com).

" + }, + "OrganizationalUnitDistinguishedName":{ + "shape":"OrganizationalUnitDistinguishedName", + "documentation":"

The distinguished name of the organizational unit for computer accounts.

" + } + }, + "documentation":"

Describes the configuration information required to join fleets and image builders to Microsoft Active Directory domains.

" + }, + "DomainList":{ + "type":"list", + "member":{"shape":"Domain"}, + "max":10 + }, + "EmbedHostDomain":{ + "type":"string", + "documentation":"Specifies a valid domain that can embed AppStream. Valid examples include: [\"testorigin.tt--com\", \"testingorigin.com.us\", \"test.com.us\"] Invalid examples include: [\"test,com\", \".com\", \"h*llo.com\". \"\"]", + "max":128, + "pattern":"(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]" + }, + "EmbedHostDomains":{ + "type":"list", + "member":{"shape":"EmbedHostDomain"}, + "max":20, + "min":1 + }, + "EnableUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AuthenticationType" + ], + "members":{ + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive. During login, if they specify an email address that doesn't use the same capitalization as the email address specified when their user pool account was created, a \"user does not exist\" error message displays.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user. You must specify USERPOOL.

" + } + } + }, + "EnableUserResult":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{ + "type":"string", + "documentation":"

The error message in the exception.

" + }, + "ExpireSessionRequest":{ + "type":"structure", + "required":["SessionId"], + "members":{ + "SessionId":{ + "shape":"String", + "documentation":"

The identifier of the streaming session.

" + } + } + }, + "ExpireSessionResult":{ + "type":"structure", + "members":{ + } + }, + "FeedbackURL":{ + "type":"string", + "max":1000 + }, + "Fleet":{ + "type":"structure", + "required":[ + "Arn", + "Name", + "InstanceType", + "ComputeCapacityStatus", + "State" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) for the fleet.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + }, + "DisplayName":{ + "shape":"String", + "documentation":"

The fleet name to display.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to display.

" + }, + "ImageName":{ + "shape":"String", + "documentation":"

The name of the image used to create the fleet.

" + }, + "ImageArn":{ + "shape":"Arn", + "documentation":"

The ARN for the public, private, or shared image.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" + }, + "FleetType":{ + "shape":"FleetType", + "documentation":"

The fleet type.

ALWAYS_ON

Provides users with instant-on access to their apps. You are charged for all running instances in your fleet, even if no users are streaming apps.

ON_DEMAND

Provide users with access to applications after they connect, which takes one to two minutes. You are charged for instance streaming when users are connected and a small hourly fee for instances that are not streaming apps.

" + }, + "ComputeCapacityStatus":{ + "shape":"ComputeCapacityStatus", + "documentation":"

The capacity status for the fleet.

" + }, + "MaxUserDurationInSeconds":{ + "shape":"Integer", + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" + }, + "DisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If they try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" + }, + "State":{ + "shape":"FleetState", + "documentation":"

The current state for the fleet.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC configuration for the fleet.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The time the fleet was created.

" + }, + "FleetErrors":{ + "shape":"FleetErrors", + "documentation":"

The fleet errors.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether default internet access is enabled for the fleet.

" + }, + "DomainJoinInfo":{ + "shape":"DomainJoinInfo", + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" + }, + "IamRoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the IAM role that is applied to the fleet. To assume a role, the fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + } + }, + "documentation":"

Describes a fleet.

" + }, + "FleetAttribute":{ + "type":"string", + "documentation":"

The fleet attribute.

", + "enum":[ + "VPC_CONFIGURATION", + "VPC_CONFIGURATION_SECURITY_GROUP_IDS", + "DOMAIN_JOIN_INFO", + "IAM_ROLE_ARN" + ] + }, + "FleetAttributes":{ + "type":"list", + "member":{"shape":"FleetAttribute"}, + "documentation":"

The fleet attributes.

" + }, + "FleetError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"FleetErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

Describes a fleet error.

" + }, + "FleetErrorCode":{ + "type":"string", + "enum":[ + "IAM_SERVICE_ROLE_MISSING_ENI_DESCRIBE_ACTION", + "IAM_SERVICE_ROLE_MISSING_ENI_CREATE_ACTION", + "IAM_SERVICE_ROLE_MISSING_ENI_DELETE_ACTION", + "NETWORK_INTERFACE_LIMIT_EXCEEDED", + "INTERNAL_SERVICE_ERROR", + "IAM_SERVICE_ROLE_IS_MISSING", + "MACHINE_ROLE_IS_MISSING", + "STS_DISABLED_IN_REGION", + "SUBNET_HAS_INSUFFICIENT_IP_ADDRESSES", + "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SUBNET_ACTION", + "SUBNET_NOT_FOUND", + "IMAGE_NOT_FOUND", + "INVALID_SUBNET_CONFIGURATION", + "SECURITY_GROUPS_NOT_FOUND", + "IGW_NOT_ATTACHED", + "IAM_SERVICE_ROLE_MISSING_DESCRIBE_SECURITY_GROUPS_ACTION", + "DOMAIN_JOIN_ERROR_FILE_NOT_FOUND", + "DOMAIN_JOIN_ERROR_ACCESS_DENIED", + "DOMAIN_JOIN_ERROR_LOGON_FAILURE", + "DOMAIN_JOIN_ERROR_INVALID_PARAMETER", + "DOMAIN_JOIN_ERROR_MORE_DATA", + "DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN", + "DOMAIN_JOIN_ERROR_NOT_SUPPORTED", + "DOMAIN_JOIN_NERR_INVALID_WORKGROUP_NAME", + "DOMAIN_JOIN_NERR_WORKSTATION_NOT_STARTED", + "DOMAIN_JOIN_ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED", + "DOMAIN_JOIN_NERR_PASSWORD_EXPIRED", + "DOMAIN_JOIN_INTERNAL_SERVICE_ERROR" + ] + }, + "FleetErrors":{ + "type":"list", + "member":{"shape":"FleetError"} + }, + "FleetList":{ + "type":"list", + "member":{"shape":"Fleet"}, + "documentation":"

The fleets.

" + }, + "FleetState":{ + "type":"string", + "enum":[ + "STARTING", + "RUNNING", + "STOPPING", + "STOPPED" + ] + }, + "FleetType":{ + "type":"string", + "enum":[ + "ALWAYS_ON", + "ON_DEMAND" + ] + }, + "Image":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the image.

" + }, + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the image.

" + }, + "BaseImageArn":{ + "shape":"Arn", + "documentation":"

The ARN of the image from which this image was created.

" + }, + "DisplayName":{ + "shape":"String", + "documentation":"

The image name to display.

" + }, + "State":{ + "shape":"ImageState", + "documentation":"

The image starts in the PENDING state. If image creation succeeds, the state is AVAILABLE. If image creation fails, the state is FAILED.

" + }, + "Visibility":{ + "shape":"VisibilityType", + "documentation":"

Indicates whether the image is public or private.

" + }, + "ImageBuilderSupported":{ + "shape":"Boolean", + "documentation":"

Indicates whether an image builder can be launched from this image.

" + }, + "ImageBuilderName":{ + "shape":"String", + "documentation":"

The name of the image builder that was used to create the private image. If the image is shared, this value is null.

" + }, + "Platform":{ + "shape":"PlatformType", + "documentation":"

The operating system platform of the image.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to display.

" + }, + "StateChangeReason":{ + "shape":"ImageStateChangeReason", + "documentation":"

The reason why the last state change occurred.

" + }, + "Applications":{ + "shape":"Applications", + "documentation":"

The applications associated with the image.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The time the image was created.

" + }, + "PublicBaseImageReleasedDate":{ + "shape":"Timestamp", + "documentation":"

The release date of the public base image. For private images, this date is the release date of the base image from which the image was created.

" + }, + "AppstreamAgentVersion":{ + "shape":"AppstreamAgentVersion", + "documentation":"

The version of the AppStream 2.0 agent to use for instances that are launched from this image.

" + }, + "ImagePermissions":{ + "shape":"ImagePermissions", + "documentation":"

The permissions to provide to the destination AWS account for the specified image.

" + } + }, + "documentation":"

Describes an image.

" + }, + "ImageBuilder":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the image builder.

" + }, + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN for the image builder.

" + }, + "ImageArn":{ + "shape":"Arn", + "documentation":"

The ARN of the image from which this builder was created.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"String", + "documentation":"

The image builder name to display.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC configuration of the image builder.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type for the image builder. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" + }, + "Platform":{ + "shape":"PlatformType", + "documentation":"

The operating system platform of the image builder.

" + }, + "IamRoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the IAM role that is applied to the image builder. To assume a role, the image builder calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + }, + "State":{ + "shape":"ImageBuilderState", + "documentation":"

The state of the image builder.

" + }, + "StateChangeReason":{ + "shape":"ImageBuilderStateChangeReason", + "documentation":"

The reason why the last state change occurred.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp when the image builder was created.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default internet access for the image builder.

" + }, + "DomainJoinInfo":{ + "shape":"DomainJoinInfo", + "documentation":"

The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.

" + }, + "NetworkAccessConfiguration":{"shape":"NetworkAccessConfiguration"}, + "ImageBuilderErrors":{ + "shape":"ResourceErrors", + "documentation":"

The image builder errors.

" + }, + "AppstreamAgentVersion":{ + "shape":"AppstreamAgentVersion", + "documentation":"

The version of the AppStream 2.0 agent that is currently being used by the image builder.

" + }, + "AccessEndpoints":{ + "shape":"AccessEndpointList", + "documentation":"

The list of virtual private cloud (VPC) interface endpoint objects. Administrators can connect to the image builder only through the specified endpoints.

" + } + }, + "documentation":"

Describes a virtual machine that is used to create an image.

" + }, + "ImageBuilderList":{ + "type":"list", + "member":{"shape":"ImageBuilder"} + }, + "ImageBuilderState":{ + "type":"string", + "enum":[ + "PENDING", + "UPDATING_AGENT", + "RUNNING", + "STOPPING", + "STOPPED", + "REBOOTING", + "SNAPSHOTTING", + "DELETING", + "FAILED" + ] + }, + "ImageBuilderStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ImageBuilderStateChangeReasonCode", + "documentation":"

The state change reason code.

" + }, + "Message":{ + "shape":"String", + "documentation":"

The state change reason message.

" + } + }, + "documentation":"

Describes the reason why the last image builder state change occurred.

" + }, + "ImageBuilderStateChangeReasonCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "IMAGE_UNAVAILABLE" + ] + }, + "ImageList":{ + "type":"list", + "member":{"shape":"Image"} + }, + "ImagePermissions":{ + "type":"structure", + "members":{ + "allowFleet":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether the image can be used for a fleet.

" + }, + "allowImageBuilder":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether the image can be used for an image builder.

" + } + }, + "documentation":"

Describes the permissions for an image.

" + }, + "ImageState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "FAILED", + "COPYING", + "DELETING" + ] + }, + "ImageStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ImageStateChangeReasonCode", + "documentation":"

The state change reason code.

" + }, + "Message":{ + "shape":"String", + "documentation":"

The state change reason message.

" + } + }, + "documentation":"

Describes the reason why the last image state change occurred.

" + }, + "ImageStateChangeReasonCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "IMAGE_BUILDER_NOT_AVAILABLE", + "IMAGE_COPY_FAILURE" + ] + }, + "IncompatibleImageException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The image does not support storage connectors.

", + "exception":true + }, + "Integer":{"type":"integer"}, + "InvalidAccountStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource cannot be created because your AWS account is suspended. For assistance, contact AWS Support.

", + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates an incorrect combination of parameters, or a missing parameter.

", + "exception":true + }, + "InvalidRoleException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified role is invalid.

", + "exception":true + }, + "LastReportGenerationExecutionError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"UsageReportExecutionErrorCode", + "documentation":"

The error code for the error that is returned when a usage report can't be generated.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message for the error that is returned when a usage report can't be generated.

" + } + }, + "documentation":"

Describes the error that is returned when a usage report can't be generated.

" + }, + "LastReportGenerationExecutionErrors":{ + "type":"list", + "member":{"shape":"LastReportGenerationExecutionError"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested limit exceeds the permitted limit for an account.

", + "exception":true + }, + "ListAssociatedFleetsRequest":{ + "type":"structure", + "required":["StackName"], + "members":{ + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "ListAssociatedFleetsResult":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The name of the fleet.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "ListAssociatedStacksRequest":{ + "type":"structure", + "required":["FleetName"], + "members":{ + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

" + } + } + }, + "ListAssociatedStacksResult":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"StringList", + "documentation":"

The name of the stack.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The information about the tags.

" + } + } + }, + "Long":{"type":"long"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":500, + "min":0 + }, + "MessageAction":{ + "type":"string", + "enum":[ + "SUPPRESS", + "RESEND" + ] + }, + "Metadata":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "Name":{ + "type":"string", + "pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$" + }, + "NetworkAccessConfiguration":{ + "type":"structure", + "members":{ + "EniPrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IP address of the elastic network interface that is attached to instances in your VPC.

" + }, + "EniId":{ + "shape":"String", + "documentation":"

The resource identifier of the elastic network interface that is attached to instances in your VPC. All network interfaces have the eni-xxxxxxxx resource identifier.

" + } + }, + "documentation":"

Describes the network details of the fleet or image builder instance.

" + }, + "OperationNotPermittedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The attempted operation is not permitted.

", + "exception":true + }, + "OrganizationalUnitDistinguishedName":{ + "type":"string", + "max":2000 + }, + "OrganizationalUnitDistinguishedNamesList":{ + "type":"list", + "member":{"shape":"OrganizationalUnitDistinguishedName"} + }, + "Permission":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "PlatformType":{ + "type":"string", + "enum":[ + "WINDOWS", + "WINDOWS_SERVER_2016", + "WINDOWS_SERVER_2019" + ] + }, + "RedirectURL":{ + "type":"string", + "max":1000 + }, + "RegionName":{ + "type":"string", + "max":32, + "min":1 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource already exists.

", + "exception":true + }, + "ResourceError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"FleetErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + }, + "ErrorTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time the error occurred.

" + } + }, + "documentation":"

Describes a resource error.

" + }, + "ResourceErrors":{ + "type":"list", + "member":{"shape":"ResourceError"} + }, + "ResourceIdentifier":{ + "type":"string", + "documentation":"

The ARN of the resource.

", + "min":1 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is in use.

", + "exception":true + }, + "ResourceNotAvailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource exists and is not in use, but isn't available.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource was not found.

", + "exception":true + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"String"}, + "documentation":"

The security group identifiers.

", + "max":5 + }, + "ServiceAccountCredentials":{ + "type":"structure", + "required":[ + "AccountName", + "AccountPassword" + ], + "members":{ + "AccountName":{ + "shape":"AccountName", + "documentation":"

The user name of the account. This account must have the following privileges: create computer objects, join computers to the domain, and change/reset the password on descendant computer objects for the organizational units specified.

" + }, + "AccountPassword":{ + "shape":"AccountPassword", + "documentation":"

The password for the account.

" + } + }, + "documentation":"

Describes the credentials for the service account used by the fleet or image builder to connect to the directory.

" + }, + "Session":{ + "type":"structure", + "required":[ + "Id", + "UserId", + "StackName", + "FleetName", + "State" + ], + "members":{ + "Id":{ + "shape":"String", + "documentation":"

The identifier of the streaming session.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user for whom the session was created.

" + }, + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack for the streaming session.

" + }, + "FleetName":{ + "shape":"String", + "documentation":"

The name of the fleet for the streaming session.

" + }, + "State":{ + "shape":"SessionState", + "documentation":"

The current state of the streaming session.

" + }, + "ConnectionState":{ + "shape":"SessionConnectionState", + "documentation":"

Specifies whether a user is connected to the streaming session.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The time when a streaming instance is dedicated for the user.

" + }, + "MaxExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The time when the streaming session is set to expire. This time is based on the MaxUserDurationinSeconds value, which determines the maximum length of time that a streaming session can run. A streaming session might end earlier than the time specified in SessionMaxExpirationTime, when the DisconnectTimeOutInSeconds elapses or the user chooses to end his or her session. If the DisconnectTimeOutInSeconds elapses, or the user chooses to end his or her session, the streaming instance is terminated and the streaming session ends.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication method. The user is authenticated using a streaming URL (API) or SAML 2.0 federation (SAML).

" + }, + "NetworkAccessConfiguration":{ + "shape":"NetworkAccessConfiguration", + "documentation":"

The network details for the streaming session.

" + } + }, + "documentation":"

Describes a streaming session.

" + }, + "SessionConnectionState":{ + "type":"string", + "enum":[ + "CONNECTED", + "NOT_CONNECTED" + ] + }, + "SessionList":{ + "type":"list", + "member":{"shape":"Session"}, + "documentation":"

List of sessions.

" + }, + "SessionState":{ + "type":"string", + "documentation":"

Possible values for the state of a streaming session.

", + "enum":[ + "ACTIVE", + "PENDING", + "EXPIRED" + ] + }, + "SettingsGroup":{ + "type":"string", + "max":100 + }, + "SharedImagePermissions":{ + "type":"structure", + "required":[ + "sharedAccountId", + "imagePermissions" + ], + "members":{ + "sharedAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The 12-digit identifier of the AWS account with which the image is shared.

" + }, + "imagePermissions":{ + "shape":"ImagePermissions", + "documentation":"

Describes the permissions for a shared image.

" + } + }, + "documentation":"

Describes the permissions that are available to the specified AWS account for a shared image.

" + }, + "SharedImagePermissionsList":{ + "type":"list", + "member":{"shape":"SharedImagePermissions"} + }, + "Stack":{ + "type":"structure", + "required":["Name"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the stack.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the stack.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"String", + "documentation":"

The stack name to display.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The time the stack was created.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to enable.

" + }, + "RedirectURL":{ + "shape":"RedirectURL", + "documentation":"

The URL that users are redirected to after their streaming session ends.

" + }, + "FeedbackURL":{ + "shape":"FeedbackURL", + "documentation":"

The URL that users are redirected to after they click the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" + }, + "StackErrors":{ + "shape":"StackErrors", + "documentation":"

The errors for the stack.

" + }, + "UserSettings":{ + "shape":"UserSettingList", + "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default these actions are enabled.

" + }, + "ApplicationSettings":{ + "shape":"ApplicationSettingsResponse", + "documentation":"

The persistent application settings for users of the stack.

" + }, + "AccessEndpoints":{ + "shape":"AccessEndpointList", + "documentation":"

The list of virtual private cloud (VPC) interface endpoint objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

" + }, + "EmbedHostDomains":{ + "shape":"EmbedHostDomains", + "documentation":"

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

" + } + }, + "documentation":"

Describes a stack.

" + }, + "StackAttribute":{ + "type":"string", + "enum":[ + "STORAGE_CONNECTORS", + "STORAGE_CONNECTOR_HOMEFOLDERS", + "STORAGE_CONNECTOR_GOOGLE_DRIVE", + "STORAGE_CONNECTOR_ONE_DRIVE", + "REDIRECT_URL", + "FEEDBACK_URL", + "THEME_NAME", + "USER_SETTINGS", + "EMBED_HOST_DOMAINS", + "IAM_ROLE_ARN", + "ACCESS_ENDPOINTS" + ] + }, + "StackAttributes":{ + "type":"list", + "member":{"shape":"StackAttribute"} + }, + "StackError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"StackErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

Describes a stack error.

" + }, + "StackErrorCode":{ + "type":"string", + "enum":[ + "STORAGE_CONNECTOR_ERROR", + "INTERNAL_SERVICE_ERROR" + ] + }, + "StackErrors":{ + "type":"list", + "member":{"shape":"StackError"}, + "documentation":"

The stack errors.

" + }, + "StackList":{ + "type":"list", + "member":{"shape":"Stack"}, + "documentation":"

The stacks.

" + }, + "StartFleetRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + } + } + }, + "StartFleetResult":{ + "type":"structure", + "members":{ + } + }, + "StartImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the image builder.

" + }, + "AppstreamAgentVersion":{ + "shape":"AppstreamAgentVersion", + "documentation":"

The version of the AppStream 2.0 agent to use for this image builder. To use the latest version of the AppStream 2.0 agent, specify [LATEST].

" + } + } + }, + "StartImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{ + "shape":"ImageBuilder", + "documentation":"

Information about the image builder.

" + } + } + }, + "StopFleetRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the fleet.

" + } + } + }, + "StopFleetResult":{ + "type":"structure", + "members":{ + } + }, + "StopImageBuilderRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the image builder.

" + } + } + }, + "StopImageBuilderResult":{ + "type":"structure", + "members":{ + "ImageBuilder":{ + "shape":"ImageBuilder", + "documentation":"

Information about the image builder.

" + } + } + }, + "StorageConnector":{ + "type":"structure", + "required":["ConnectorType"], + "members":{ + "ConnectorType":{ + "shape":"StorageConnectorType", + "documentation":"

The type of storage connector.

" + }, + "ResourceIdentifier":{ + "shape":"ResourceIdentifier", + "documentation":"

The ARN of the storage connector.

" + }, + "Domains":{ + "shape":"DomainList", + "documentation":"

The names of the domains for the account.

" + } + }, + "documentation":"

Describes a connector that enables persistent storage for users.

" + }, + "StorageConnectorList":{ + "type":"list", + "member":{"shape":"StorageConnector"}, + "documentation":"

The storage connectors.

" + }, + "StorageConnectorType":{ + "type":"string", + "documentation":"

The type of storage connector.

", + "enum":[ + "HOMEFOLDERS", + "GOOGLE_DRIVE", + "ONE_DRIVE" + ] + }, + "StreamingUrlUserId":{ + "type":"string", + "max":32, + "min":2, + "pattern":"[\\w+=,.@-]*" + }, + "String":{ + "type":"string", + "min":1 + }, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"String"}, + "documentation":"

The subnet identifiers.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(^(?!aws:).[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=.

If you do not specify a value, the value is set to an empty string.

Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters:

_ . : / = + \\ - @

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys for the tags to disassociate.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDirectoryConfigRequest":{ + "type":"structure", + "required":["DirectoryName"], + "members":{ + "DirectoryName":{ + "shape":"DirectoryName", + "documentation":"

The name of the Directory Config object.

" + }, + "OrganizationalUnitDistinguishedNames":{ + "shape":"OrganizationalUnitDistinguishedNamesList", + "documentation":"

The distinguished names of the organizational units for computer accounts.

" + }, + "ServiceAccountCredentials":{ + "shape":"ServiceAccountCredentials", + "documentation":"

The credentials for the service account used by the fleet or image builder to connect to the directory.

" + } + } + }, + "UpdateDirectoryConfigResult":{ + "type":"structure", + "members":{ + "DirectoryConfig":{ + "shape":"DirectoryConfig", + "documentation":"

Information about the Directory Config object.

" + } + } + }, + "UpdateFleetRequest":{ + "type":"structure", + "members":{ + "ImageName":{ + "shape":"String", + "documentation":"

The name of the image used to create the fleet.

" + }, + "ImageArn":{ + "shape":"Arn", + "documentation":"

The ARN of the public, private, or shared image to use.

" + }, + "Name":{ + "shape":"String", + "documentation":"

A unique name for the fleet.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type to use when launching fleet instances. The following instance types are available:

  • stream.standard.medium

  • stream.standard.large

  • stream.compute.large

  • stream.compute.xlarge

  • stream.compute.2xlarge

  • stream.compute.4xlarge

  • stream.compute.8xlarge

  • stream.memory.large

  • stream.memory.xlarge

  • stream.memory.2xlarge

  • stream.memory.4xlarge

  • stream.memory.8xlarge

  • stream.graphics-design.large

  • stream.graphics-design.xlarge

  • stream.graphics-design.2xlarge

  • stream.graphics-design.4xlarge

  • stream.graphics-desktop.2xlarge

  • stream.graphics-pro.4xlarge

  • stream.graphics-pro.8xlarge

  • stream.graphics-pro.16xlarge

" + }, + "ComputeCapacity":{ + "shape":"ComputeCapacity", + "documentation":"

The desired capacity for the fleet.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

The VPC configuration for the fleet.

" + }, + "MaxUserDurationInSeconds":{ + "shape":"Integer", + "documentation":"

The maximum amount of time that a streaming session can remain active, in seconds. If users are still connected to a streaming instance five minutes before this limit is reached, they are prompted to save any open documents before being disconnected. After this time elapses, the instance is terminated and replaced by a new instance.

Specify a value between 600 and 360000.

" + }, + "DisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that a streaming session remains active after users disconnect. If users try to reconnect to the streaming session after a disconnection or network interruption within this time interval, they are connected to their previous session. Otherwise, they are connected to a new session with a new streaming instance.

Specify a value between 60 and 360000.

" + }, + "DeleteVpcConfig":{ + "shape":"Boolean", + "documentation":"

Deletes the VPC association for the specified fleet.

", + "deprecated":true + }, + "Description":{ + "shape":"Description", + "documentation":"

The description to display.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The fleet name to display.

" + }, + "EnableDefaultInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables default internet access for the fleet.

" + }, + "DomainJoinInfo":{ + "shape":"DomainJoinInfo", + "documentation":"

The name of the directory and organizational unit (OU) to use to join the fleet to a Microsoft Active Directory domain.

" + }, + "IdleDisconnectTimeoutInSeconds":{ + "shape":"Integer", + "documentation":"

The amount of time that users can be idle (inactive) before they are disconnected from their streaming session and the DisconnectTimeoutInSeconds time interval begins. Users are notified before they are disconnected due to inactivity. If users try to reconnect to the streaming session before the time interval specified in DisconnectTimeoutInSeconds elapses, they are connected to their previous session. Users are considered idle when they stop providing keyboard or mouse input during their streaming session. File uploads and downloads, audio in, audio out, and pixels changing do not qualify as user activity. If users continue to be idle after the time interval in IdleDisconnectTimeoutInSeconds elapses, they are disconnected.

To prevent users from being disconnected due to inactivity, specify a value of 0. Otherwise, specify a value between 60 and 3600. The default value is 0.

If you enable this feature, we recommend that you specify a value that corresponds exactly to a whole number of minutes (for example, 60, 120, and 180). If you don't do this, the value is rounded to the nearest minute. For example, if you specify a value of 70, users are disconnected after 1 minute of inactivity. If you specify a value that is at the midpoint between two different minutes, the value is rounded up. For example, if you specify a value of 90, users are disconnected after 2 minutes of inactivity.

" + }, + "AttributesToDelete":{ + "shape":"FleetAttributes", + "documentation":"

The fleet attributes to delete.

" + }, + "IamRoleArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to apply to the fleet. To assume a role, a fleet instance calls the AWS Security Token Service (STS) AssumeRole API operation and passes the ARN of the role to use. The operation creates a new session with temporary credentials. AppStream 2.0 retrieves the temporary credentials and creates the AppStream_Machine_Role credential profile on the instance.

For more information, see Using an IAM Role to Grant Permissions to Applications and Scripts Running on AppStream 2.0 Streaming Instances in the Amazon AppStream 2.0 Administration Guide.

" + } + } + }, + "UpdateFleetResult":{ + "type":"structure", + "members":{ + "Fleet":{ + "shape":"Fleet", + "documentation":"

Information about the fleet.

" + } + } + }, + "UpdateImagePermissionsRequest":{ + "type":"structure", + "required":[ + "Name", + "SharedAccountId", + "ImagePermissions" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the private image.

" + }, + "SharedAccountId":{ + "shape":"AwsAccountId", + "documentation":"

The 12-digit identifier of the AWS account for which you want add or update image permissions.

" + }, + "ImagePermissions":{ + "shape":"ImagePermissions", + "documentation":"

The permissions for the image.

" + } + } + }, + "UpdateImagePermissionsResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateStackRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The stack name to display.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description to display.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the stack.

" + }, + "StorageConnectors":{ + "shape":"StorageConnectorList", + "documentation":"

The storage connectors to enable.

" + }, + "DeleteStorageConnectors":{ + "shape":"Boolean", + "documentation":"

Deletes the storage connectors currently enabled for the stack.

", + "deprecated":true + }, + "RedirectURL":{ + "shape":"RedirectURL", + "documentation":"

The URL that users are redirected to after their streaming session ends.

" + }, + "FeedbackURL":{ + "shape":"FeedbackURL", + "documentation":"

The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.

" + }, + "AttributesToDelete":{ + "shape":"StackAttributes", + "documentation":"

The stack attributes to delete.

" + }, + "UserSettings":{ + "shape":"UserSettingList", + "documentation":"

The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.

" + }, + "ApplicationSettings":{ + "shape":"ApplicationSettings", + "documentation":"

The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.

" + }, + "AccessEndpoints":{ + "shape":"AccessEndpointList", + "documentation":"

The list of interface VPC endpoint (interface endpoint) objects. Users of the stack can connect to AppStream 2.0 only through the specified endpoints.

" + }, + "EmbedHostDomains":{ + "shape":"EmbedHostDomains", + "documentation":"

The domains where AppStream 2.0 streaming sessions can be embedded in an iframe. You must approve the domains that you want to host embedded AppStream 2.0 streaming sessions.

" + } + } + }, + "UpdateStackResult":{ + "type":"structure", + "members":{ + "Stack":{ + "shape":"Stack", + "documentation":"

Information about the stack.

" + } + } + }, + "UsageReportExecutionErrorCode":{ + "type":"string", + "enum":[ + "RESOURCE_NOT_FOUND", + "ACCESS_DENIED", + "INTERNAL_SERVICE_ERROR" + ] + }, + "UsageReportSchedule":{ + "type":"string", + "enum":["DAILY"] + }, + "UsageReportSubscription":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket where generated reports are stored.

If you enabled on-instance session scripts and Amazon S3 logging for your session script configuration, AppStream 2.0 created an S3 bucket to store the script output. The bucket is unique to your account and Region. When you enable usage reporting in this case, AppStream 2.0 uses the same bucket to store your usage reports. If you haven't already enabled on-instance session scripts, when you enable usage reports, AppStream 2.0 creates a new S3 bucket.

" + }, + "Schedule":{ + "shape":"UsageReportSchedule", + "documentation":"

The schedule for generating usage reports.

" + }, + "LastGeneratedReportDate":{ + "shape":"Timestamp", + "documentation":"

The time when the last usage report was generated.

" + }, + "SubscriptionErrors":{ + "shape":"LastReportGenerationExecutionErrors", + "documentation":"

The errors that were returned if usage reports couldn't be generated.

" + } + }, + "documentation":"

Describes information about the usage report subscription.

" + }, + "UsageReportSubscriptionList":{ + "type":"list", + "member":{"shape":"UsageReportSubscription"} + }, + "User":{ + "type":"structure", + "required":["AuthenticationType"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the user.

" + }, + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user.

Users' email addresses are case-sensitive.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether the user in the user pool is enabled.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the user in the user pool. The status can be one of the following:

  • UNCONFIRMED – The user is created but not confirmed.

  • CONFIRMED – The user is confirmed.

  • ARCHIVED – The user is no longer active.

  • COMPROMISED – The user is disabled because of a potential security threat.

  • UNKNOWN – The user status is not known.

" + }, + "FirstName":{ + "shape":"UserAttributeValue", + "documentation":"

The first name, or given name, of the user.

" + }, + "LastName":{ + "shape":"UserAttributeValue", + "documentation":"

The last name, or surname, of the user.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the user was created in the user pool.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user.

" + } + }, + "documentation":"

Describes a user in the user pool.

" + }, + "UserAttributeValue":{ + "type":"string", + "max":2048, + "pattern":"^[A-Za-z0-9_\\-\\s]+$", + "sensitive":true + }, + "UserId":{ + "type":"string", + "max":32, + "min":2 + }, + "UserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "UserSetting":{ + "type":"structure", + "required":[ + "Action", + "Permission" + ], + "members":{ + "Action":{ + "shape":"Action", + "documentation":"

The action that is enabled or disabled.

" + }, + "Permission":{ + "shape":"Permission", + "documentation":"

Indicates whether the action is enabled or disabled.

" + } + }, + "documentation":"

Describes an action and whether the action is enabled or disabled for users during their streaming sessions.

" + }, + "UserSettingList":{ + "type":"list", + "member":{"shape":"UserSetting"}, + "min":1 + }, + "UserStackAssociation":{ + "type":"structure", + "required":[ + "StackName", + "UserName", + "AuthenticationType" + ], + "members":{ + "StackName":{ + "shape":"String", + "documentation":"

The name of the stack that is associated with the user.

" + }, + "UserName":{ + "shape":"Username", + "documentation":"

The email address of the user who is associated with the stack.

Users' email addresses are case-sensitive.

" + }, + "AuthenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type for the user.

" + }, + "SendEmailNotification":{ + "shape":"Boolean", + "documentation":"

Specifies whether a welcome email is sent to a user after the user is created in the user pool.

" + } + }, + "documentation":"

Describes a user in the user pool and the associated stack.

" + }, + "UserStackAssociationError":{ + "type":"structure", + "members":{ + "UserStackAssociation":{ + "shape":"UserStackAssociation", + "documentation":"

Information about the user and associated stack.

" + }, + "ErrorCode":{ + "shape":"UserStackAssociationErrorCode", + "documentation":"

The error code for the error that is returned when a user can’t be associated with or disassociated from a stack.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message for the error that is returned when a user can’t be associated with or disassociated from a stack.

" + } + }, + "documentation":"

Describes the error that is returned when a user can’t be associated with or disassociated from a stack.

" + }, + "UserStackAssociationErrorCode":{ + "type":"string", + "enum":[ + "STACK_NOT_FOUND", + "USER_NAME_NOT_FOUND", + "INTERNAL_ERROR" + ] + }, + "UserStackAssociationErrorList":{ + "type":"list", + "member":{"shape":"UserStackAssociationError"} + }, + "UserStackAssociationList":{ + "type":"list", + "member":{"shape":"UserStackAssociation"}, + "max":25, + "min":1 + }, + "Username":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+", + "sensitive":true + }, + "VisibilityType":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE", + "SHARED" + ] + }, + "VpcConfig":{ + "type":"structure", + "members":{ + "SubnetIds":{ + "shape":"SubnetIdList", + "documentation":"

The identifiers of the subnets to which a network interface is attached from the fleet instance or image builder instance. Fleet instances use one or more subnets. Image builder instances use one subnet.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

The identifiers of the security groups for the fleet or image builder.

" + } + }, + "documentation":"

Describes VPC configuration information for fleets and image builders.

" + } + }, + "documentation":"Amazon AppStream 2.0

This is the Amazon AppStream 2.0 API Reference. This documentation provides descriptions and syntax for each of the actions and data types in AppStream 2.0. AppStream 2.0 is a fully managed, secure application streaming service that lets you stream desktop applications to users without rewriting applications. AppStream 2.0 manages the AWS resources that are required to host and run your applications, scales automatically, and provides access to your users on demand.

You can call the AppStream 2.0 API operations by using an interface VPC endpoint (interface endpoint). For more information, see Access AppStream 2.0 API Operations and CLI Commands Through an Interface VPC Endpoint in the Amazon AppStream 2.0 Administration Guide.

To learn more about AppStream 2.0, see the following resources:

" +} diff -Nru python-botocore-1.4.70/botocore/data/appstream/2016-12-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/appstream/2016-12-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appstream/2016-12-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,55 @@ +{ + "version": 2, + "waiters": { + "FleetStarted": { + "delay": 30, + "maxAttempts": 40, + "operation": "DescribeFleets", + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "Fleets[].State", + "expected": "ACTIVE" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Fleets[].State", + "expected": "PENDING_DEACTIVATE" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Fleets[].State", + "expected": "INACTIVE" + } + ] + }, + "FleetStopped": { + "delay": 30, + "maxAttempts": 40, + "operation": "DescribeFleets", + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "Fleets[].State", + "expected": "INACTIVE" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Fleets[].State", + "expected": "PENDING_ACTIVATE" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Fleets[].State", + "expected": "ACTIVE" + } + ] + } + } +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/appsync/2017-07-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/examples-1.json --- python-botocore-1.4.70/botocore/data/appsync/2017-07-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/appsync/2017-07-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/appsync/2017-07-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,46 @@ +{ + "pagination": { + "ListApiKeys": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apiKeys" + }, + "ListDataSources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "dataSources" + }, + "ListFunctions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "functions" + }, + "ListGraphqlApis": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "graphqlApis" + }, + "ListResolvers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resolvers" + }, + "ListResolversByFunction": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resolvers" + }, + "ListTypes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "types" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/appsync/2017-07-25/service-2.json python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/service-2.json --- python-botocore-1.4.70/botocore/data/appsync/2017-07-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/appsync/2017-07-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3108 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-25", + "endpointPrefix":"appsync", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWSAppSync", + "serviceFullName":"AWS AppSync", + "serviceId":"AppSync", + "signatureVersion":"v4", + "signingName":"appsync", + "uid":"appsync-2017-07-25" + }, + "operations":{ + "CreateApiCache":{ + "name":"CreateApiCache", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/ApiCaches" + }, + "input":{"shape":"CreateApiCacheRequest"}, + "output":{"shape":"CreateApiCacheResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a cache for the GraphQL API.

" + }, + "CreateApiKey":{ + "name":"CreateApiKey", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/apikeys" + }, + "input":{"shape":"CreateApiKeyRequest"}, + "output":{"shape":"CreateApiKeyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ApiKeyLimitExceededException"}, + {"shape":"ApiKeyValidityOutOfBoundsException"} + ], + "documentation":"

Creates a unique key that you can distribute to clients who are executing your API.

" + }, + "CreateDataSource":{ + "name":"CreateDataSource", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/datasources" + }, + "input":{"shape":"CreateDataSourceRequest"}, + "output":{"shape":"CreateDataSourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a DataSource object.

" + }, + "CreateFunction":{ + "name":"CreateFunction", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/functions" + }, + "input":{"shape":"CreateFunctionRequest"}, + "output":{"shape":"CreateFunctionResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a Function object.

A function is a reusable entity. Multiple functions can be used to compose the resolver logic.

" + }, + "CreateGraphqlApi":{ + "name":"CreateGraphqlApi", + "http":{ + "method":"POST", + "requestUri":"/v1/apis" + }, + "input":{"shape":"CreateGraphqlApiRequest"}, + "output":{"shape":"CreateGraphqlApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ApiLimitExceededException"} + ], + "documentation":"

Creates a GraphqlApi object.

" + }, + "CreateResolver":{ + "name":"CreateResolver", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" + }, + "input":{"shape":"CreateResolverRequest"}, + "output":{"shape":"CreateResolverResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a Resolver object.

A resolver converts incoming requests into a format that a data source can understand and converts the data source's responses into GraphQL.

" + }, + "CreateType":{ + "name":"CreateType", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/types" + }, + "input":{"shape":"CreateTypeRequest"}, + "output":{"shape":"CreateTypeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a Type object.

" + }, + "DeleteApiCache":{ + "name":"DeleteApiCache", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/ApiCaches" + }, + "input":{"shape":"DeleteApiCacheRequest"}, + "output":{"shape":"DeleteApiCacheResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes an ApiCache object.

" + }, + "DeleteApiKey":{ + "name":"DeleteApiKey", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/apikeys/{id}" + }, + "input":{"shape":"DeleteApiKeyRequest"}, + "output":{"shape":"DeleteApiKeyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes an API key.

" + }, + "DeleteDataSource":{ + "name":"DeleteDataSource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/datasources/{name}" + }, + "input":{"shape":"DeleteDataSourceRequest"}, + "output":{"shape":"DeleteDataSourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a DataSource object.

" + }, + "DeleteFunction":{ + "name":"DeleteFunction", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/functions/{functionId}" + }, + "input":{"shape":"DeleteFunctionRequest"}, + "output":{"shape":"DeleteFunctionResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a Function.

" + }, + "DeleteGraphqlApi":{ + "name":"DeleteGraphqlApi", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}" + }, + "input":{"shape":"DeleteGraphqlApiRequest"}, + "output":{"shape":"DeleteGraphqlApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Deletes a GraphqlApi object.

" + }, + "DeleteResolver":{ + "name":"DeleteResolver", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" + }, + "input":{"shape":"DeleteResolverRequest"}, + "output":{"shape":"DeleteResolverResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a Resolver object.

" + }, + "DeleteType":{ + "name":"DeleteType", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/types/{typeName}" + }, + "input":{"shape":"DeleteTypeRequest"}, + "output":{"shape":"DeleteTypeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a Type object.

" + }, + "FlushApiCache":{ + "name":"FlushApiCache", + "http":{ + "method":"DELETE", + "requestUri":"/v1/apis/{apiId}/FlushCache" + }, + "input":{"shape":"FlushApiCacheRequest"}, + "output":{"shape":"FlushApiCacheResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Flushes an ApiCache object.

" + }, + "GetApiCache":{ + "name":"GetApiCache", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/ApiCaches" + }, + "input":{"shape":"GetApiCacheRequest"}, + "output":{"shape":"GetApiCacheResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves an ApiCache object.

" + }, + "GetDataSource":{ + "name":"GetDataSource", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/datasources/{name}" + }, + "input":{"shape":"GetDataSourceRequest"}, + "output":{"shape":"GetDataSourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves a DataSource object.

" + }, + "GetFunction":{ + "name":"GetFunction", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/functions/{functionId}" + }, + "input":{"shape":"GetFunctionRequest"}, + "output":{"shape":"GetFunctionResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Get a Function.

" + }, + "GetGraphqlApi":{ + "name":"GetGraphqlApi", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}" + }, + "input":{"shape":"GetGraphqlApiRequest"}, + "output":{"shape":"GetGraphqlApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves a GraphqlApi object.

" + }, + "GetIntrospectionSchema":{ + "name":"GetIntrospectionSchema", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/schema" + }, + "input":{"shape":"GetIntrospectionSchemaRequest"}, + "output":{"shape":"GetIntrospectionSchemaResponse"}, + "errors":[ + {"shape":"GraphQLSchemaException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves the introspection schema for a GraphQL API.

" + }, + "GetResolver":{ + "name":"GetResolver", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" + }, + "input":{"shape":"GetResolverRequest"}, + "output":{"shape":"GetResolverResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Retrieves a Resolver object.

" + }, + "GetSchemaCreationStatus":{ + "name":"GetSchemaCreationStatus", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/schemacreation" + }, + "input":{"shape":"GetSchemaCreationStatusRequest"}, + "output":{"shape":"GetSchemaCreationStatusResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves the current status of a schema creation operation.

" + }, + "GetType":{ + "name":"GetType", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/types/{typeName}" + }, + "input":{"shape":"GetTypeRequest"}, + "output":{"shape":"GetTypeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Retrieves a Type object.

" + }, + "ListApiKeys":{ + "name":"ListApiKeys", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/apikeys" + }, + "input":{"shape":"ListApiKeysRequest"}, + "output":{"shape":"ListApiKeysResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the API keys for a given API.

API keys are deleted automatically sometime after they expire. However, they may still be included in the response until they have actually been deleted. You can safely call DeleteApiKey to manually delete a key before it's automatically deleted.

" + }, + "ListDataSources":{ + "name":"ListDataSources", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/datasources" + }, + "input":{"shape":"ListDataSourcesRequest"}, + "output":{"shape":"ListDataSourcesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the data sources for a given API.

" + }, + "ListFunctions":{ + "name":"ListFunctions", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/functions" + }, + "input":{"shape":"ListFunctionsRequest"}, + "output":{"shape":"ListFunctionsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

List multiple functions.

" + }, + "ListGraphqlApis":{ + "name":"ListGraphqlApis", + "http":{ + "method":"GET", + "requestUri":"/v1/apis" + }, + "input":{"shape":"ListGraphqlApisRequest"}, + "output":{"shape":"ListGraphqlApisResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists your GraphQL APIs.

" + }, + "ListResolvers":{ + "name":"ListResolvers", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers" + }, + "input":{"shape":"ListResolversRequest"}, + "output":{"shape":"ListResolversResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the resolvers for a given API and type.

" + }, + "ListResolversByFunction":{ + "name":"ListResolversByFunction", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/functions/{functionId}/resolvers" + }, + "input":{"shape":"ListResolversByFunctionRequest"}, + "output":{"shape":"ListResolversByFunctionResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

List the resolvers that are associated with a specific function.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists the tags for a resource.

" + }, + "ListTypes":{ + "name":"ListTypes", + "http":{ + "method":"GET", + "requestUri":"/v1/apis/{apiId}/types" + }, + "input":{"shape":"ListTypesRequest"}, + "output":{"shape":"ListTypesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the types for a given API.

" + }, + "StartSchemaCreation":{ + "name":"StartSchemaCreation", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/schemacreation" + }, + "input":{"shape":"StartSchemaCreationRequest"}, + "output":{"shape":"StartSchemaCreationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Adds a new schema to your GraphQL API.

This operation is asynchronous. Use to determine when it has completed.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Tags a resource with user-supplied tags.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Untags a resource.

" + }, + "UpdateApiCache":{ + "name":"UpdateApiCache", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/ApiCaches/update" + }, + "input":{"shape":"UpdateApiCacheRequest"}, + "output":{"shape":"UpdateApiCacheResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the cache for the GraphQL API.

" + }, + "UpdateApiKey":{ + "name":"UpdateApiKey", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/apikeys/{id}" + }, + "input":{"shape":"UpdateApiKeyRequest"}, + "output":{"shape":"UpdateApiKeyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ApiKeyValidityOutOfBoundsException"} + ], + "documentation":"

Updates an API key.

" + }, + "UpdateDataSource":{ + "name":"UpdateDataSource", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/datasources/{name}" + }, + "input":{"shape":"UpdateDataSourceRequest"}, + "output":{"shape":"UpdateDataSourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a DataSource object.

" + }, + "UpdateFunction":{ + "name":"UpdateFunction", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/functions/{functionId}" + }, + "input":{"shape":"UpdateFunctionRequest"}, + "output":{"shape":"UpdateFunctionResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a Function object.

" + }, + "UpdateGraphqlApi":{ + "name":"UpdateGraphqlApi", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}" + }, + "input":{"shape":"UpdateGraphqlApiRequest"}, + "output":{"shape":"UpdateGraphqlApiResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates a GraphqlApi object.

" + }, + "UpdateResolver":{ + "name":"UpdateResolver", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/types/{typeName}/resolvers/{fieldName}" + }, + "input":{"shape":"UpdateResolverRequest"}, + "output":{"shape":"UpdateResolverResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a Resolver object.

" + }, + "UpdateType":{ + "name":"UpdateType", + "http":{ + "method":"POST", + "requestUri":"/v1/apis/{apiId}/types/{typeName}" + }, + "input":{"shape":"UpdateTypeRequest"}, + "output":{"shape":"UpdateTypeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a Type object.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You do not have access to perform this operation on this resource.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AdditionalAuthenticationProvider":{ + "type":"structure", + "members":{ + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

" + }, + "openIDConnectConfig":{ + "shape":"OpenIDConnectConfig", + "documentation":"

The OpenID Connect configuration.

" + }, + "userPoolConfig":{ + "shape":"CognitoUserPoolConfig", + "documentation":"

The Amazon Cognito user pool configuration.

" + } + }, + "documentation":"

Describes an additional authentication provider.

" + }, + "AdditionalAuthenticationProviders":{ + "type":"list", + "member":{"shape":"AdditionalAuthenticationProvider"} + }, + "ApiCache":{ + "type":"structure", + "members":{ + "ttl":{ + "shape":"Long", + "documentation":"

TTL in seconds for cache entries.

Valid values are between 1 and 3600 seconds.

" + }, + "apiCachingBehavior":{ + "shape":"ApiCachingBehavior", + "documentation":"

Caching behavior.

  • FULL_REQUEST_CACHING: All requests are fully cached.

  • PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.

" + }, + "transitEncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

Transit encryption flag when connecting to cache. This setting cannot be updated after creation.

" + }, + "atRestEncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

At rest encryption flag for cache. This setting cannot be updated after creation.

" + }, + "type":{ + "shape":"ApiCacheType", + "documentation":"

The cache instance type.

  • T2_SMALL: A t2.small instance type.

  • T2_MEDIUM: A t2.medium instance type.

  • R4_LARGE: A r4.large instance type.

  • R4_XLARGE: A r4.xlarge instance type.

  • R4_2XLARGE: A r4.2xlarge instance type.

  • R4_4XLARGE: A r4.4xlarge instance type.

  • R4_8XLARGE: A r4.8xlarge instance type.

" + }, + "status":{ + "shape":"ApiCacheStatus", + "documentation":"

The cache instance status.

  • AVAILABLE: The instance is available for use.

  • CREATING: The instance is currently creating.

  • DELETING: The instance is currently deleting.

  • MODIFYING: The instance is currently modifying.

  • FAILED: The instance has failed creation.

" + } + }, + "documentation":"

The ApiCache object.

" + }, + "ApiCacheStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "CREATING", + "DELETING", + "MODIFYING", + "FAILED" + ] + }, + "ApiCacheType":{ + "type":"string", + "enum":[ + "T2_SMALL", + "T2_MEDIUM", + "R4_LARGE", + "R4_XLARGE", + "R4_2XLARGE", + "R4_4XLARGE", + "R4_8XLARGE" + ] + }, + "ApiCachingBehavior":{ + "type":"string", + "enum":[ + "FULL_REQUEST_CACHING", + "PER_RESOLVER_CACHING" + ] + }, + "ApiKey":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The API key ID.

" + }, + "description":{ + "shape":"String", + "documentation":"

A description of the purpose of the API key.

" + }, + "expires":{ + "shape":"Long", + "documentation":"

The time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour.

" + } + }, + "documentation":"

Describes an API key.

Customers invoke AWS AppSync GraphQL API operations with API keys as an identity mechanism. There are two key versions:

da1: This version was introduced at launch in November 2017. These keys always expire after 7 days. Key expiration is managed by Amazon DynamoDB TTL. The keys ceased to be valid after February 21, 2018 and should not be used after that date.

  • ListApiKeys returns the expiration time in milliseconds.

  • CreateApiKey returns the expiration time in milliseconds.

  • UpdateApiKey is not available for this key version.

  • DeleteApiKey deletes the item from the table.

  • Expiration is stored in Amazon DynamoDB as milliseconds. This results in a bug where keys are not automatically deleted because DynamoDB expects the TTL to be stored in seconds. As a one-time action, we will delete these keys from the table after February 21, 2018.

da2: This version was introduced in February 2018 when AppSync added support to extend key expiration.

  • ListApiKeys returns the expiration time in seconds.

  • CreateApiKey returns the expiration time in seconds and accepts a user-provided expiration time in seconds.

  • UpdateApiKey returns the expiration time in seconds and accepts a user-provided expiration time in seconds. Key expiration can only be updated while the key has not expired.

  • DeleteApiKey deletes the item from the table.

  • Expiration is stored in Amazon DynamoDB as seconds.

" + }, + "ApiKeyLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The API key exceeded a limit. Try your request again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ApiKeyValidityOutOfBoundsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The API key expiration must be set to a value between 1 and 365 days from creation (for CreateApiKey) or from update (for UpdateApiKey).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ApiKeys":{ + "type":"list", + "member":{"shape":"ApiKey"} + }, + "ApiLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The GraphQL API exceeded a limit. Try your request again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "API_KEY", + "AWS_IAM", + "AMAZON_COGNITO_USER_POOLS", + "OPENID_CONNECT" + ] + }, + "AuthorizationConfig":{ + "type":"structure", + "required":["authorizationType"], + "members":{ + "authorizationType":{ + "shape":"AuthorizationType", + "documentation":"

The authorization type required by the HTTP endpoint.

  • AWS_IAM: The authorization type is Sigv4.

" + }, + "awsIamConfig":{ + "shape":"AwsIamConfig", + "documentation":"

The AWS IAM settings.

" + } + }, + "documentation":"

The authorization config in case the HTTP endpoint requires authorization.

" + }, + "AuthorizationType":{ + "type":"string", + "enum":["AWS_IAM"] + }, + "AwsIamConfig":{ + "type":"structure", + "members":{ + "signingRegion":{ + "shape":"String", + "documentation":"

The signing region for AWS IAM authorization.

" + }, + "signingServiceName":{ + "shape":"String", + "documentation":"

The signing service name for AWS IAM authorization.

" + } + }, + "documentation":"

The AWS IAM configuration.

" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Blob":{"type":"blob"}, + "Boolean":{"type":"boolean"}, + "BooleanValue":{"type":"boolean"}, + "CachingConfig":{ + "type":"structure", + "members":{ + "ttl":{ + "shape":"Long", + "documentation":"

The TTL in seconds for a resolver that has caching enabled.

Valid values are between 1 and 3600 seconds.

" + }, + "cachingKeys":{ + "shape":"CachingKeys", + "documentation":"

The caching keys for a resolver that has caching enabled.

Valid values are entries from the $context.identity and $context.arguments maps.

" + } + }, + "documentation":"

The caching configuration for a resolver that has caching enabled.

" + }, + "CachingKeys":{ + "type":"list", + "member":{"shape":"String"} + }, + "CognitoUserPoolConfig":{ + "type":"structure", + "required":[ + "userPoolId", + "awsRegion" + ], + "members":{ + "userPoolId":{ + "shape":"String", + "documentation":"

The user pool ID.

" + }, + "awsRegion":{ + "shape":"String", + "documentation":"

The AWS Region in which the user pool was created.

" + }, + "appIdClientRegex":{ + "shape":"String", + "documentation":"

A regular expression for validating the incoming Amazon Cognito user pool app client ID.

" + } + }, + "documentation":"

Describes an Amazon Cognito user pool configuration.

" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Another modification is in progress at this time and it must complete before you can make your change.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ConflictDetectionType":{ + "type":"string", + "enum":[ + "VERSION", + "NONE" + ] + }, + "ConflictHandlerType":{ + "type":"string", + "enum":[ + "OPTIMISTIC_CONCURRENCY", + "LAMBDA", + "AUTOMERGE", + "NONE" + ] + }, + "CreateApiCacheRequest":{ + "type":"structure", + "required":[ + "apiId", + "ttl", + "apiCachingBehavior", + "type" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API Id.

", + "location":"uri", + "locationName":"apiId" + }, + "ttl":{ + "shape":"Long", + "documentation":"

TTL in seconds for cache entries.

Valid values are between 1 and 3600 seconds.

" + }, + "transitEncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

Transit encryption flag when connecting to cache. This setting cannot be updated after creation.

" + }, + "atRestEncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

At rest encryption flag for cache. This setting cannot be updated after creation.

" + }, + "apiCachingBehavior":{ + "shape":"ApiCachingBehavior", + "documentation":"

Caching behavior.

  • FULL_REQUEST_CACHING: All requests are fully cached.

  • PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.

" + }, + "type":{ + "shape":"ApiCacheType", + "documentation":"

The cache instance type.

  • T2_SMALL: A t2.small instance type.

  • T2_MEDIUM: A t2.medium instance type.

  • R4_LARGE: A r4.large instance type.

  • R4_XLARGE: A r4.xlarge instance type.

  • R4_2XLARGE: A r4.2xlarge instance type.

  • R4_4XLARGE: A r4.4xlarge instance type.

  • R4_8XLARGE: A r4.8xlarge instance type.

" + } + }, + "documentation":"

Represents the input of a CreateApiCache operation.

" + }, + "CreateApiCacheResponse":{ + "type":"structure", + "members":{ + "apiCache":{ + "shape":"ApiCache", + "documentation":"

The ApiCache object.

" + } + }, + "documentation":"

Represents the output of a CreateApiCache operation.

" + }, + "CreateApiKeyRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The ID for your GraphQL API.

", + "location":"uri", + "locationName":"apiId" + }, + "description":{ + "shape":"String", + "documentation":"

A description of the purpose of the API key.

" + }, + "expires":{ + "shape":"Long", + "documentation":"

The time from creation time after which the API key expires. The date is represented as seconds since the epoch, rounded down to the nearest hour. The default value for this parameter is 7 days from creation time. For more information, see .

" + } + } + }, + "CreateApiKeyResponse":{ + "type":"structure", + "members":{ + "apiKey":{ + "shape":"ApiKey", + "documentation":"

The API key.

" + } + } + }, + "CreateDataSourceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name", + "type" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID for the GraphQL API for the DataSource.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

A user-supplied name for the DataSource.

" + }, + "description":{ + "shape":"String", + "documentation":"

A description of the DataSource.

" + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

The type of the DataSource.

" + }, + "serviceRoleArn":{ + "shape":"String", + "documentation":"

The AWS IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" + }, + "dynamodbConfig":{ + "shape":"DynamodbDataSourceConfig", + "documentation":"

Amazon DynamoDB settings.

" + }, + "lambdaConfig":{ + "shape":"LambdaDataSourceConfig", + "documentation":"

AWS Lambda settings.

" + }, + "elasticsearchConfig":{ + "shape":"ElasticsearchDataSourceConfig", + "documentation":"

Amazon Elasticsearch Service settings.

" + }, + "httpConfig":{ + "shape":"HttpDataSourceConfig", + "documentation":"

HTTP endpoint settings.

" + }, + "relationalDatabaseConfig":{ + "shape":"RelationalDatabaseDataSourceConfig", + "documentation":"

Relational database settings.

" + } + } + }, + "CreateDataSourceResponse":{ + "type":"structure", + "members":{ + "dataSource":{ + "shape":"DataSource", + "documentation":"

The DataSource object.

" + } + } + }, + "CreateFunctionRequest":{ + "type":"structure", + "required":[ + "apiId", + "name", + "dataSourceName", + "requestMappingTemplate", + "functionVersion" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The Function name. The function name does not have to be unique.

" + }, + "description":{ + "shape":"String", + "documentation":"

The Function description.

" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The Function DataSource name.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function response mapping template.

" + }, + "functionVersion":{ + "shape":"String", + "documentation":"

The version of the request mapping template. Currently the supported value is 2018-05-29.

" + } + } + }, + "CreateFunctionResponse":{ + "type":"structure", + "members":{ + "functionConfiguration":{ + "shape":"FunctionConfiguration", + "documentation":"

The Function object.

" + } + } + }, + "CreateGraphqlApiRequest":{ + "type":"structure", + "required":[ + "name", + "authenticationType" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

A user-supplied name for the GraphqlApi.

" + }, + "logConfig":{ + "shape":"LogConfig", + "documentation":"

The Amazon CloudWatch Logs configuration.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type: API key, AWS IAM, OIDC, or Amazon Cognito user pools.

" + }, + "userPoolConfig":{ + "shape":"UserPoolConfig", + "documentation":"

The Amazon Cognito user pool configuration.

" + }, + "openIDConnectConfig":{ + "shape":"OpenIDConnectConfig", + "documentation":"

The OpenID Connect configuration.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" + }, + "xrayEnabled":{ + "shape":"Boolean", + "documentation":"

A flag indicating whether to enable X-Ray tracing for the GraphqlApi.

" + } + } + }, + "CreateGraphqlApiResponse":{ + "type":"structure", + "members":{ + "graphqlApi":{ + "shape":"GraphqlApi", + "documentation":"

The GraphqlApi.

" + } + } + }, + "CreateResolverRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "fieldName", + "requestMappingTemplate" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The ID for the GraphQL API for which the resolver is being created.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The name of the Type.

", + "location":"uri", + "locationName":"typeName" + }, + "fieldName":{ + "shape":"ResourceName", + "documentation":"

The name of the field to attach the resolver to.

" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the data source for which the resolver is being created.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The mapping template to be used for requests.

A resolver uses a request mapping template to convert a GraphQL expression into a format that a data source can understand. Mapping templates are written in Apache Velocity Template Language (VTL).

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The mapping template to be used for responses from the data source.

" + }, + "kind":{ + "shape":"ResolverKind", + "documentation":"

The resolver type.

  • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source.

  • PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources.

" + }, + "pipelineConfig":{ + "shape":"PipelineConfig", + "documentation":"

The PipelineConfig.

" + }, + "syncConfig":{ + "shape":"SyncConfig", + "documentation":"

The SyncConfig for a resolver attached to a versioned datasource.

" + }, + "cachingConfig":{ + "shape":"CachingConfig", + "documentation":"

The caching configuration for the resolver.

" + } + } + }, + "CreateResolverResponse":{ + "type":"structure", + "members":{ + "resolver":{ + "shape":"Resolver", + "documentation":"

The Resolver object.

" + } + } + }, + "CreateTypeRequest":{ + "type":"structure", + "required":[ + "apiId", + "definition", + "format" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "definition":{ + "shape":"String", + "documentation":"

The type definition, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" + }, + "format":{ + "shape":"TypeDefinitionFormat", + "documentation":"

The type format: SDL or JSON.

" + } + } + }, + "CreateTypeResponse":{ + "type":"structure", + "members":{ + "type":{ + "shape":"Type", + "documentation":"

The Type object.

" + } + } + }, + "DataSource":{ + "type":"structure", + "members":{ + "dataSourceArn":{ + "shape":"String", + "documentation":"

The data source ARN.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the data source.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the data source.

" + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

The type of the data source.

  • AMAZON_DYNAMODB: The data source is an Amazon DynamoDB table.

  • AMAZON_ELASTICSEARCH: The data source is an Amazon Elasticsearch Service domain.

  • AWS_LAMBDA: The data source is an AWS Lambda function.

  • NONE: There is no data source. This type is used when you wish to invoke a GraphQL operation without connecting to a data source, such as performing data transformation with resolvers or triggering a subscription to be invoked from a mutation.

  • HTTP: The data source is an HTTP endpoint.

  • RELATIONAL_DATABASE: The data source is a relational database.

" + }, + "serviceRoleArn":{ + "shape":"String", + "documentation":"

The AWS IAM service role ARN for the data source. The system assumes this role when accessing the data source.

" + }, + "dynamodbConfig":{ + "shape":"DynamodbDataSourceConfig", + "documentation":"

Amazon DynamoDB settings.

" + }, + "lambdaConfig":{ + "shape":"LambdaDataSourceConfig", + "documentation":"

AWS Lambda settings.

" + }, + "elasticsearchConfig":{ + "shape":"ElasticsearchDataSourceConfig", + "documentation":"

Amazon Elasticsearch Service settings.

" + }, + "httpConfig":{ + "shape":"HttpDataSourceConfig", + "documentation":"

HTTP endpoint settings.

" + }, + "relationalDatabaseConfig":{ + "shape":"RelationalDatabaseDataSourceConfig", + "documentation":"

Relational database settings.

" + } + }, + "documentation":"

Describes a data source.

" + }, + "DataSourceType":{ + "type":"string", + "enum":[ + "AWS_LAMBDA", + "AMAZON_DYNAMODB", + "AMAZON_ELASTICSEARCH", + "NONE", + "HTTP", + "RELATIONAL_DATABASE" + ] + }, + "DataSources":{ + "type":"list", + "member":{"shape":"DataSource"} + }, + "DefaultAction":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "DeleteApiCacheRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + } + }, + "documentation":"

Represents the input of a DeleteApiCache operation.

" + }, + "DeleteApiCacheResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DeleteApiCache operation.

" + }, + "DeleteApiKeyRequest":{ + "type":"structure", + "required":[ + "apiId", + "id" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "id":{ + "shape":"String", + "documentation":"

The ID for the API key.

", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteApiKeyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDataSourceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the data source.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteDataSourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteFunctionRequest":{ + "type":"structure", + "required":[ + "apiId", + "functionId" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "functionId":{ + "shape":"ResourceName", + "documentation":"

The Function ID.

", + "location":"uri", + "locationName":"functionId" + } + } + }, + "DeleteFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGraphqlApiRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + } + } + }, + "DeleteGraphqlApiResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteResolverRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "fieldName" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The name of the resolver type.

", + "location":"uri", + "locationName":"typeName" + }, + "fieldName":{ + "shape":"ResourceName", + "documentation":"

The resolver field name.

", + "location":"uri", + "locationName":"fieldName" + } + } + }, + "DeleteResolverResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTypeRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The type name.

", + "location":"uri", + "locationName":"typeName" + } + } + }, + "DeleteTypeResponse":{ + "type":"structure", + "members":{ + } + }, + "DeltaSyncConfig":{ + "type":"structure", + "members":{ + "baseTableTTL":{ + "shape":"Long", + "documentation":"

The number of minutes an Item is stored in the datasource.

" + }, + "deltaSyncTableName":{ + "shape":"String", + "documentation":"

The Delta Sync table name.

" + }, + "deltaSyncTableTTL":{ + "shape":"Long", + "documentation":"

The number of minutes a Delta Sync log entry is stored in the Delta Sync table.

" + } + }, + "documentation":"

Describes a Delta Sync configuration.

" + }, + "DynamodbDataSourceConfig":{ + "type":"structure", + "required":[ + "tableName", + "awsRegion" + ], + "members":{ + "tableName":{ + "shape":"String", + "documentation":"

The table name.

" + }, + "awsRegion":{ + "shape":"String", + "documentation":"

The AWS Region.

" + }, + "useCallerCredentials":{ + "shape":"Boolean", + "documentation":"

Set to TRUE to use Amazon Cognito credentials with this data source.

" + }, + "deltaSyncConfig":{ + "shape":"DeltaSyncConfig", + "documentation":"

The DeltaSyncConfig for a versioned datasource.

" + }, + "versioned":{ + "shape":"Boolean", + "documentation":"

Set to TRUE to use Conflict Detection and Resolution with this data source.

" + } + }, + "documentation":"

Describes an Amazon DynamoDB data source configuration.

" + }, + "ElasticsearchDataSourceConfig":{ + "type":"structure", + "required":[ + "endpoint", + "awsRegion" + ], + "members":{ + "endpoint":{ + "shape":"String", + "documentation":"

The endpoint.

" + }, + "awsRegion":{ + "shape":"String", + "documentation":"

The AWS Region.

" + } + }, + "documentation":"

Describes an Elasticsearch data source configuration.

" + }, + "ErrorMessage":{"type":"string"}, + "FieldLogLevel":{ + "type":"string", + "enum":[ + "NONE", + "ERROR", + "ALL" + ] + }, + "FlushApiCacheRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + } + }, + "documentation":"

Represents the input of a FlushApiCache operation.

" + }, + "FlushApiCacheResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a FlushApiCache operation.

" + }, + "FunctionConfiguration":{ + "type":"structure", + "members":{ + "functionId":{ + "shape":"String", + "documentation":"

A unique ID representing the Function object.

" + }, + "functionArn":{ + "shape":"String", + "documentation":"

The ARN of the Function object.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the Function object.

" + }, + "description":{ + "shape":"String", + "documentation":"

The Function description.

" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the DataSource.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function response mapping template.

" + }, + "functionVersion":{ + "shape":"String", + "documentation":"

The version of the request mapping template. Currently only the 2018-05-29 version of the template is supported.

" + } + }, + "documentation":"

A function is a reusable entity. Multiple functions can be used to compose the resolver logic.

" + }, + "Functions":{ + "type":"list", + "member":{"shape":"FunctionConfiguration"} + }, + "FunctionsIds":{ + "type":"list", + "member":{"shape":"String"} + }, + "GetApiCacheRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + } + }, + "documentation":"

Represents the input of a GetApiCache operation.

" + }, + "GetApiCacheResponse":{ + "type":"structure", + "members":{ + "apiCache":{ + "shape":"ApiCache", + "documentation":"

The ApiCache object.

" + } + }, + "documentation":"

Represents the output of a GetApiCache operation.

" + }, + "GetDataSourceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the data source.

", + "location":"uri", + "locationName":"name" + } + } + }, + "GetDataSourceResponse":{ + "type":"structure", + "members":{ + "dataSource":{ + "shape":"DataSource", + "documentation":"

The DataSource object.

" + } + } + }, + "GetFunctionRequest":{ + "type":"structure", + "required":[ + "apiId", + "functionId" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "functionId":{ + "shape":"ResourceName", + "documentation":"

The Function ID.

", + "location":"uri", + "locationName":"functionId" + } + } + }, + "GetFunctionResponse":{ + "type":"structure", + "members":{ + "functionConfiguration":{ + "shape":"FunctionConfiguration", + "documentation":"

The Function object.

" + } + } + }, + "GetGraphqlApiRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID for the GraphQL API.

", + "location":"uri", + "locationName":"apiId" + } + } + }, + "GetGraphqlApiResponse":{ + "type":"structure", + "members":{ + "graphqlApi":{ + "shape":"GraphqlApi", + "documentation":"

The GraphqlApi object.

" + } + } + }, + "GetIntrospectionSchemaRequest":{ + "type":"structure", + "required":[ + "apiId", + "format" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "format":{ + "shape":"OutputType", + "documentation":"

The schema format: SDL or JSON.

", + "location":"querystring", + "locationName":"format" + }, + "includeDirectives":{ + "shape":"BooleanValue", + "documentation":"

A flag that specifies whether the schema introspection should contain directives.

", + "location":"querystring", + "locationName":"includeDirectives" + } + } + }, + "GetIntrospectionSchemaResponse":{ + "type":"structure", + "members":{ + "schema":{ + "shape":"Blob", + "documentation":"

The schema, in GraphQL Schema Definition Language (SDL) format.

For more information, see the GraphQL SDL documentation.

" + } + }, + "payload":"schema" + }, + "GetResolverRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "fieldName" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The resolver type name.

", + "location":"uri", + "locationName":"typeName" + }, + "fieldName":{ + "shape":"ResourceName", + "documentation":"

The resolver field name.

", + "location":"uri", + "locationName":"fieldName" + } + } + }, + "GetResolverResponse":{ + "type":"structure", + "members":{ + "resolver":{ + "shape":"Resolver", + "documentation":"

The Resolver object.

" + } + } + }, + "GetSchemaCreationStatusRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + } + } + }, + "GetSchemaCreationStatusResponse":{ + "type":"structure", + "members":{ + "status":{ + "shape":"SchemaStatus", + "documentation":"

The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When the schema is in the ACTIVE state, you can add data.

" + }, + "details":{ + "shape":"String", + "documentation":"

Detailed information about the status of the schema creation operation.

" + } + } + }, + "GetTypeRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "format" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The type name.

", + "location":"uri", + "locationName":"typeName" + }, + "format":{ + "shape":"TypeDefinitionFormat", + "documentation":"

The type format: SDL or JSON.

", + "location":"querystring", + "locationName":"format" + } + } + }, + "GetTypeResponse":{ + "type":"structure", + "members":{ + "type":{ + "shape":"Type", + "documentation":"

The Type object.

" + } + } + }, + "GraphQLSchemaException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The GraphQL schema is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "GraphqlApi":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The API name.

" + }, + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The authentication type.

" + }, + "logConfig":{ + "shape":"LogConfig", + "documentation":"

The Amazon CloudWatch Logs configuration.

" + }, + "userPoolConfig":{ + "shape":"UserPoolConfig", + "documentation":"

The Amazon Cognito user pool configuration.

" + }, + "openIDConnectConfig":{ + "shape":"OpenIDConnectConfig", + "documentation":"

The OpenID Connect configuration.

" + }, + "arn":{ + "shape":"String", + "documentation":"

The ARN.

" + }, + "uris":{ + "shape":"MapOfStringToString", + "documentation":"

The URIs.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" + }, + "xrayEnabled":{ + "shape":"Boolean", + "documentation":"

A flag representing whether X-Ray tracing is enabled for this GraphqlApi.

" + } + }, + "documentation":"

Describes a GraphQL API.

" + }, + "GraphqlApis":{ + "type":"list", + "member":{"shape":"GraphqlApi"} + }, + "HttpDataSourceConfig":{ + "type":"structure", + "members":{ + "endpoint":{ + "shape":"String", + "documentation":"

The HTTP URL endpoint. You can either specify the domain name or IP, and port combination, and the URL scheme must be HTTP or HTTPS. If the port is not specified, AWS AppSync uses the default port 80 for the HTTP endpoint and port 443 for HTTPS endpoints.

" + }, + "authorizationConfig":{ + "shape":"AuthorizationConfig", + "documentation":"

The authorization config in case the HTTP endpoint requires authorization.

" + } + }, + "documentation":"

Describes an HTTP data source configuration.

" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

An internal AWS AppSync error occurred. Try your request again.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LambdaConflictHandlerConfig":{ + "type":"structure", + "members":{ + "lambdaConflictHandlerArn":{ + "shape":"String", + "documentation":"

The Arn for the Lambda function to use as the Conflict Handler.

" + } + }, + "documentation":"

The LambdaConflictHandlerConfig object when configuring LAMBDA as the Conflict Handler.

" + }, + "LambdaDataSourceConfig":{ + "type":"structure", + "required":["lambdaFunctionArn"], + "members":{ + "lambdaFunctionArn":{ + "shape":"String", + "documentation":"

The ARN for the Lambda function.

" + } + }, + "documentation":"

Describes an AWS Lambda data source configuration.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request exceeded a limit. Try your request again.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListApiKeysRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListApiKeysResponse":{ + "type":"structure", + "members":{ + "apiKeys":{ + "shape":"ApiKeys", + "documentation":"

The ApiKey objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" + } + } + }, + "ListDataSourcesRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDataSourcesResponse":{ + "type":"structure", + "members":{ + "dataSources":{ + "shape":"DataSources", + "documentation":"

The DataSource objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" + } + } + }, + "ListFunctionsRequest":{ + "type":"structure", + "required":["apiId"], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListFunctionsResponse":{ + "type":"structure", + "members":{ + "functions":{ + "shape":"Functions", + "documentation":"

A list of Function objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListGraphqlApisRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListGraphqlApisResponse":{ + "type":"structure", + "members":{ + "graphqlApis":{ + "shape":"GraphqlApis", + "documentation":"

The GraphqlApi objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" + } + } + }, + "ListResolversByFunctionRequest":{ + "type":"structure", + "required":[ + "apiId", + "functionId" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "functionId":{ + "shape":"String", + "documentation":"

The Function ID.

", + "location":"uri", + "locationName":"functionId" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which you can use to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListResolversByFunctionResponse":{ + "type":"structure", + "members":{ + "resolvers":{ + "shape":"Resolvers", + "documentation":"

The list of resolvers.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that can be used to return the next set of items in the list.

" + } + } + }, + "ListResolversRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"String", + "documentation":"

The type name.

", + "location":"uri", + "locationName":"typeName" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListResolversResponse":{ + "type":"structure", + "members":{ + "resolvers":{ + "shape":"Resolvers", + "documentation":"

The Resolver objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + } + } + }, + "ListTypesRequest":{ + "type":"structure", + "required":[ + "apiId", + "format" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "format":{ + "shape":"TypeDefinitionFormat", + "documentation":"

The type format: SDL or JSON.

", + "location":"querystring", + "locationName":"format" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results you want the request to return.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListTypesResponse":{ + "type":"structure", + "members":{ + "types":{ + "shape":"TypeList", + "documentation":"

The Type objects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be passed in the next request to this operation to return the next set of items in the list.

" + } + } + }, + "LogConfig":{ + "type":"structure", + "required":[ + "fieldLogLevel", + "cloudWatchLogsRoleArn" + ], + "members":{ + "fieldLogLevel":{ + "shape":"FieldLogLevel", + "documentation":"

The field logging level. Values can be NONE, ERROR, or ALL.

  • NONE: No field-level logs are captured.

  • ERROR: Logs the following information only for the fields that are in error:

    • The error section in the server response.

    • Field-level errors.

    • The generated request/response functions that got resolved for error fields.

  • ALL: The following information is logged for all fields in the query:

    • Field-level tracing information.

    • The generated request/response functions that got resolved for each field.

" + }, + "cloudWatchLogsRoleArn":{ + "shape":"String", + "documentation":"

The service role that AWS AppSync will assume to publish to Amazon CloudWatch logs in your account.

" + }, + "excludeVerboseContent":{ + "shape":"Boolean", + "documentation":"

Set to TRUE to exclude sections that contain information such as headers, context, and evaluated mapping templates, regardless of logging level.

" + } + }, + "documentation":"

The CloudWatch Logs configuration.

" + }, + "Long":{"type":"long"}, + "MapOfStringToString":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "MappingTemplate":{ + "type":"string", + "max":65536, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":25, + "min":0 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource specified in the request was not found. Check the resource, and then try again.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "OpenIDConnectConfig":{ + "type":"structure", + "required":["issuer"], + "members":{ + "issuer":{ + "shape":"String", + "documentation":"

The issuer for the OpenID Connect configuration. The issuer returned by discovery must exactly match the value of iss in the ID token.

" + }, + "clientId":{ + "shape":"String", + "documentation":"

The client identifier of the Relying party at the OpenID identity provider. This identifier is typically obtained when the Relying party is registered with the OpenID identity provider. You can specify a regular expression so the AWS AppSync can validate against multiple client identifiers at a time.

" + }, + "iatTTL":{ + "shape":"Long", + "documentation":"

The number of milliseconds a token is valid after being issued to a user.

" + }, + "authTTL":{ + "shape":"Long", + "documentation":"

The number of milliseconds a token is valid after being authenticated.

" + } + }, + "documentation":"

Describes an OpenID Connect configuration.

" + }, + "OutputType":{ + "type":"string", + "enum":[ + "SDL", + "JSON" + ] + }, + "PaginationToken":{ + "type":"string", + "max":65536, + "min":1, + "pattern":"[\\\\S]+" + }, + "PipelineConfig":{ + "type":"structure", + "members":{ + "functions":{ + "shape":"FunctionsIds", + "documentation":"

A list of Function objects.

" + } + }, + "documentation":"

The pipeline configuration for a resolver of kind PIPELINE.

" + }, + "RdsHttpEndpointConfig":{ + "type":"structure", + "members":{ + "awsRegion":{ + "shape":"String", + "documentation":"

AWS Region for RDS HTTP endpoint.

" + }, + "dbClusterIdentifier":{ + "shape":"String", + "documentation":"

Amazon RDS cluster identifier.

" + }, + "databaseName":{ + "shape":"String", + "documentation":"

Logical database name.

" + }, + "schema":{ + "shape":"String", + "documentation":"

Logical schema name.

" + }, + "awsSecretStoreArn":{ + "shape":"String", + "documentation":"

AWS secret store ARN for database credentials.

" + } + }, + "documentation":"

The Amazon RDS HTTP endpoint configuration.

" + }, + "RelationalDatabaseDataSourceConfig":{ + "type":"structure", + "members":{ + "relationalDatabaseSourceType":{ + "shape":"RelationalDatabaseSourceType", + "documentation":"

Source type for the relational database.

  • RDS_HTTP_ENDPOINT: The relational database source type is an Amazon RDS HTTP endpoint.

" + }, + "rdsHttpEndpointConfig":{ + "shape":"RdsHttpEndpointConfig", + "documentation":"

Amazon RDS HTTP endpoint settings.

" + } + }, + "documentation":"

Describes a relational database data source configuration.

" + }, + "RelationalDatabaseSourceType":{ + "type":"string", + "enum":["RDS_HTTP_ENDPOINT"] + }, + "Resolver":{ + "type":"structure", + "members":{ + "typeName":{ + "shape":"ResourceName", + "documentation":"

The resolver type name.

" + }, + "fieldName":{ + "shape":"ResourceName", + "documentation":"

The resolver field name.

" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The resolver data source name.

" + }, + "resolverArn":{ + "shape":"String", + "documentation":"

The resolver ARN.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The request mapping template.

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The response mapping template.

" + }, + "kind":{ + "shape":"ResolverKind", + "documentation":"

The resolver type.

  • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source.

  • PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources.

" + }, + "pipelineConfig":{ + "shape":"PipelineConfig", + "documentation":"

The PipelineConfig.

" + }, + "syncConfig":{ + "shape":"SyncConfig", + "documentation":"

The SyncConfig for a resolver attached to a versioned datasource.

" + }, + "cachingConfig":{ + "shape":"CachingConfig", + "documentation":"

The caching configuration for the resolver.

" + } + }, + "documentation":"

Describes a resolver.

" + }, + "ResolverKind":{ + "type":"string", + "enum":[ + "UNIT", + "PIPELINE" + ] + }, + "Resolvers":{ + "type":"list", + "member":{"shape":"Resolver"} + }, + "ResourceArn":{ + "type":"string", + "max":75, + "min":70, + "pattern":"^arn:aws:appsync:[A-Za-z0-9_/.-]{0,63}:\\d{12}:apis/[0-9A-Za-z_-]{26}$" + }, + "ResourceName":{ + "type":"string", + "max":65536, + "min":1, + "pattern":"[_A-Za-z][_0-9A-Za-z]*" + }, + "SchemaStatus":{ + "type":"string", + "enum":[ + "PROCESSING", + "ACTIVE", + "DELETING", + "FAILED", + "SUCCESS", + "NOT_APPLICABLE" + ] + }, + "StartSchemaCreationRequest":{ + "type":"structure", + "required":[ + "apiId", + "definition" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "definition":{ + "shape":"Blob", + "documentation":"

The schema definition, in GraphQL schema language format.

" + } + } + }, + "StartSchemaCreationResponse":{ + "type":"structure", + "members":{ + "status":{ + "shape":"SchemaStatus", + "documentation":"

The current state of the schema (PROCESSING, FAILED, SUCCESS, or NOT_APPLICABLE). When the schema is in the ACTIVE state, you can add data.

" + } + } + }, + "String":{"type":"string"}, + "SyncConfig":{ + "type":"structure", + "members":{ + "conflictHandler":{ + "shape":"ConflictHandlerType", + "documentation":"

The Conflict Resolution strategy to perform in the event of a conflict.

  • OPTIMISTIC_CONCURRENCY: Resolve conflicts by rejecting mutations when versions do not match the latest version at the server.

  • AUTOMERGE: Resolve conflicts with the Automerge conflict resolution strategy.

  • LAMBDA: Resolve conflicts with a Lambda function supplied in the LambdaConflictHandlerConfig.

" + }, + "conflictDetection":{ + "shape":"ConflictDetectionType", + "documentation":"

The Conflict Detection strategy to use.

  • VERSION: Detect conflicts based on object versions for this resolver.

  • NONE: Do not detect conflicts when executing this resolver.

" + }, + "lambdaConflictHandlerConfig":{ + "shape":"LambdaConflictHandlerConfig", + "documentation":"

The LambdaConflictHandlerConfig when configuring LAMBDA as the Conflict Handler.

" + } + }, + "documentation":"

Describes a Sync configuration for a resolver.

Contains information on which Conflict Detection as well as Resolution strategy should be performed when the resolver is invoked.

" + }, + "TagKey":{ + "type":"string", + "documentation":"

The key for the tag.

", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "documentation":"

A map with keys of TagKey objects and values of TagValue objects.

", + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A TagMap object.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "documentation":"

The value for the tag.

", + "max":256 + }, + "Type":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The type name.

" + }, + "description":{ + "shape":"String", + "documentation":"

The type description.

" + }, + "arn":{ + "shape":"String", + "documentation":"

The type ARN.

" + }, + "definition":{ + "shape":"String", + "documentation":"

The type definition.

" + }, + "format":{ + "shape":"TypeDefinitionFormat", + "documentation":"

The type format: SDL or JSON.

" + } + }, + "documentation":"

Describes a type.

" + }, + "TypeDefinitionFormat":{ + "type":"string", + "enum":[ + "SDL", + "JSON" + ] + }, + "TypeList":{ + "type":"list", + "member":{"shape":"Type"} + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You are not authorized to perform this operation.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The GraphqlApi ARN.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of TagKey objects.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApiCacheRequest":{ + "type":"structure", + "required":[ + "apiId", + "ttl", + "apiCachingBehavior", + "type" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API Id.

", + "location":"uri", + "locationName":"apiId" + }, + "ttl":{ + "shape":"Long", + "documentation":"

TTL in seconds for cache entries.

Valid values are between 1 and 3600 seconds.

" + }, + "apiCachingBehavior":{ + "shape":"ApiCachingBehavior", + "documentation":"

Caching behavior.

  • FULL_REQUEST_CACHING: All requests are fully cached.

  • PER_RESOLVER_CACHING: Individual resovlers that you specify are cached.

" + }, + "type":{ + "shape":"ApiCacheType", + "documentation":"

The cache instance type.

  • T2_SMALL: A t2.small instance type.

  • T2_MEDIUM: A t2.medium instance type.

  • R4_LARGE: A r4.large instance type.

  • R4_XLARGE: A r4.xlarge instance type.

  • R4_2XLARGE: A r4.2xlarge instance type.

  • R4_4XLARGE: A r4.4xlarge instance type.

  • R4_8XLARGE: A r4.8xlarge instance type.

" + } + }, + "documentation":"

Represents the input of a UpdateApiCache operation.

" + }, + "UpdateApiCacheResponse":{ + "type":"structure", + "members":{ + "apiCache":{ + "shape":"ApiCache", + "documentation":"

The ApiCache object.

" + } + }, + "documentation":"

Represents the output of a UpdateApiCache operation.

" + }, + "UpdateApiKeyRequest":{ + "type":"structure", + "required":[ + "apiId", + "id" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The ID for the GraphQL API.

", + "location":"uri", + "locationName":"apiId" + }, + "id":{ + "shape":"String", + "documentation":"

The API key ID.

", + "location":"uri", + "locationName":"id" + }, + "description":{ + "shape":"String", + "documentation":"

A description of the purpose of the API key.

" + }, + "expires":{ + "shape":"Long", + "documentation":"

The time from update time after which the API key expires. The date is represented as seconds since the epoch. For more information, see .

" + } + } + }, + "UpdateApiKeyResponse":{ + "type":"structure", + "members":{ + "apiKey":{ + "shape":"ApiKey", + "documentation":"

The API key.

" + } + } + }, + "UpdateDataSourceRequest":{ + "type":"structure", + "required":[ + "apiId", + "name", + "type" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The new name for the data source.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"String", + "documentation":"

The new description for the data source.

" + }, + "type":{ + "shape":"DataSourceType", + "documentation":"

The new data source type.

" + }, + "serviceRoleArn":{ + "shape":"String", + "documentation":"

The new service role ARN for the data source.

" + }, + "dynamodbConfig":{ + "shape":"DynamodbDataSourceConfig", + "documentation":"

The new Amazon DynamoDB configuration.

" + }, + "lambdaConfig":{ + "shape":"LambdaDataSourceConfig", + "documentation":"

The new AWS Lambda configuration.

" + }, + "elasticsearchConfig":{ + "shape":"ElasticsearchDataSourceConfig", + "documentation":"

The new Elasticsearch Service configuration.

" + }, + "httpConfig":{ + "shape":"HttpDataSourceConfig", + "documentation":"

The new HTTP endpoint configuration.

" + }, + "relationalDatabaseConfig":{ + "shape":"RelationalDatabaseDataSourceConfig", + "documentation":"

The new relational database configuration.

" + } + } + }, + "UpdateDataSourceResponse":{ + "type":"structure", + "members":{ + "dataSource":{ + "shape":"DataSource", + "documentation":"

The updated DataSource object.

" + } + } + }, + "UpdateFunctionRequest":{ + "type":"structure", + "required":[ + "apiId", + "name", + "functionId", + "dataSourceName", + "requestMappingTemplate", + "functionVersion" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The GraphQL API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The Function name.

" + }, + "description":{ + "shape":"String", + "documentation":"

The Function description.

" + }, + "functionId":{ + "shape":"ResourceName", + "documentation":"

The function ID.

", + "location":"uri", + "locationName":"functionId" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The Function DataSource name.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function request mapping template. Functions support only the 2018-05-29 version of the request mapping template.

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The Function request mapping template.

" + }, + "functionVersion":{ + "shape":"String", + "documentation":"

The version of the request mapping template. Currently the supported value is 2018-05-29.

" + } + } + }, + "UpdateFunctionResponse":{ + "type":"structure", + "members":{ + "functionConfiguration":{ + "shape":"FunctionConfiguration", + "documentation":"

The Function object.

" + } + } + }, + "UpdateGraphqlApiRequest":{ + "type":"structure", + "required":[ + "apiId", + "name" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "name":{ + "shape":"String", + "documentation":"

The new name for the GraphqlApi object.

" + }, + "logConfig":{ + "shape":"LogConfig", + "documentation":"

The Amazon CloudWatch Logs configuration for the GraphqlApi object.

" + }, + "authenticationType":{ + "shape":"AuthenticationType", + "documentation":"

The new authentication type for the GraphqlApi object.

" + }, + "userPoolConfig":{ + "shape":"UserPoolConfig", + "documentation":"

The new Amazon Cognito user pool configuration for the GraphqlApi object.

" + }, + "openIDConnectConfig":{ + "shape":"OpenIDConnectConfig", + "documentation":"

The OpenID Connect configuration for the GraphqlApi object.

" + }, + "additionalAuthenticationProviders":{ + "shape":"AdditionalAuthenticationProviders", + "documentation":"

A list of additional authentication providers for the GraphqlApi API.

" + }, + "xrayEnabled":{ + "shape":"Boolean", + "documentation":"

A flag indicating whether to enable X-Ray tracing for the GraphqlApi.

" + } + } + }, + "UpdateGraphqlApiResponse":{ + "type":"structure", + "members":{ + "graphqlApi":{ + "shape":"GraphqlApi", + "documentation":"

The updated GraphqlApi object.

" + } + } + }, + "UpdateResolverRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "fieldName", + "requestMappingTemplate" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The new type name.

", + "location":"uri", + "locationName":"typeName" + }, + "fieldName":{ + "shape":"ResourceName", + "documentation":"

The new field name.

", + "location":"uri", + "locationName":"fieldName" + }, + "dataSourceName":{ + "shape":"ResourceName", + "documentation":"

The new data source name.

" + }, + "requestMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The new request mapping template.

" + }, + "responseMappingTemplate":{ + "shape":"MappingTemplate", + "documentation":"

The new response mapping template.

" + }, + "kind":{ + "shape":"ResolverKind", + "documentation":"

The resolver type.

  • UNIT: A UNIT resolver type. A UNIT resolver is the default resolver type. A UNIT resolver enables you to execute a GraphQL query against a single data source.

  • PIPELINE: A PIPELINE resolver type. A PIPELINE resolver enables you to execute a series of Function in a serial manner. You can use a pipeline resolver to execute a GraphQL query against multiple data sources.

" + }, + "pipelineConfig":{ + "shape":"PipelineConfig", + "documentation":"

The PipelineConfig.

" + }, + "syncConfig":{ + "shape":"SyncConfig", + "documentation":"

The SyncConfig for a resolver attached to a versioned datasource.

" + }, + "cachingConfig":{ + "shape":"CachingConfig", + "documentation":"

The caching configuration for the resolver.

" + } + } + }, + "UpdateResolverResponse":{ + "type":"structure", + "members":{ + "resolver":{ + "shape":"Resolver", + "documentation":"

The updated Resolver object.

" + } + } + }, + "UpdateTypeRequest":{ + "type":"structure", + "required":[ + "apiId", + "typeName", + "format" + ], + "members":{ + "apiId":{ + "shape":"String", + "documentation":"

The API ID.

", + "location":"uri", + "locationName":"apiId" + }, + "typeName":{ + "shape":"ResourceName", + "documentation":"

The new type name.

", + "location":"uri", + "locationName":"typeName" + }, + "definition":{ + "shape":"String", + "documentation":"

The new definition.

" + }, + "format":{ + "shape":"TypeDefinitionFormat", + "documentation":"

The new type format: SDL or JSON.

" + } + } + }, + "UpdateTypeResponse":{ + "type":"structure", + "members":{ + "type":{ + "shape":"Type", + "documentation":"

The updated Type object.

" + } + } + }, + "UserPoolConfig":{ + "type":"structure", + "required":[ + "userPoolId", + "awsRegion", + "defaultAction" + ], + "members":{ + "userPoolId":{ + "shape":"String", + "documentation":"

The user pool ID.

" + }, + "awsRegion":{ + "shape":"String", + "documentation":"

The AWS Region in which the user pool was created.

" + }, + "defaultAction":{ + "shape":"DefaultAction", + "documentation":"

The action that you want your GraphQL API to take when a request that uses Amazon Cognito user pool authentication doesn't match the Amazon Cognito user pool configuration.

" + }, + "appIdClientRegex":{ + "shape":"String", + "documentation":"

A regular expression for validating the incoming Amazon Cognito user pool app client ID.

" + } + }, + "documentation":"

Describes an Amazon Cognito user pool configuration.

" + } + }, + "documentation":"

AWS AppSync provides API actions for creating and interacting with data sources using GraphQL from your application.

" +} diff -Nru python-botocore-1.4.70/botocore/data/athena/2017-05-18/examples-1.json python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/examples-1.json --- python-botocore-1.4.70/botocore/data/athena/2017-05-18/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/athena/2017-05-18/paginators-1.json python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/paginators-1.json --- python-botocore-1.4.70/botocore/data/athena/2017-05-18/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,26 @@ +{ + "pagination": { + "ListNamedQueries": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "NamedQueryIds" + }, + "ListQueryExecutions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "QueryExecutionIds" + }, + "GetQueryResults": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ResultSet.Rows", + "non_aggregate_keys": [ + "ResultSet.ResultSetMetadata", + "UpdateCount" + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/athena/2017-05-18/service-2.json python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/service-2.json --- python-botocore-1.4.70/botocore/data/athena/2017-05-18/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/athena/2017-05-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1456 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-05-18", + "endpointPrefix":"athena", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Athena", + "serviceId":"Athena", + "signatureVersion":"v4", + "targetPrefix":"AmazonAthena", + "uid":"athena-2017-05-18" + }, + "operations":{ + "BatchGetNamedQuery":{ + "name":"BatchGetNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetNamedQueryInput"}, + "output":{"shape":"BatchGetNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the details of a single named query or a list of up to 50 queries, which you provide as an array of query ID strings. Requires you to have access to the workgroup in which the queries were saved. Use ListNamedQueriesInput to get the list of named query IDs in the specified workgroup. If information could not be retrieved for a submitted query ID, information about the query ID submitted is listed under UnprocessedNamedQueryId. Named queries differ from executed queries. Use BatchGetQueryExecutionInput to get details about each unique query execution, and ListQueryExecutionsInput to get a list of query execution IDs.

" + }, + "BatchGetQueryExecution":{ + "name":"BatchGetQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetQueryExecutionInput"}, + "output":{"shape":"BatchGetQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries.

" + }, + "CreateNamedQuery":{ + "name":"CreateNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNamedQueryInput"}, + "output":{"shape":"CreateNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates a named query in the specified workgroup. Requires that you have access to the workgroup.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "CreateWorkGroup":{ + "name":"CreateWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkGroupInput"}, + "output":{"shape":"CreateWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates a workgroup with the specified name.

" + }, + "DeleteNamedQuery":{ + "name":"DeleteNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamedQueryInput"}, + "output":{"shape":"DeleteNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the named query if you have access to the workgroup in which the query was saved.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "DeleteWorkGroup":{ + "name":"DeleteWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkGroupInput"}, + "output":{"shape":"DeleteWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.

", + "idempotent":true + }, + "GetNamedQuery":{ + "name":"GetNamedQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamedQueryInput"}, + "output":{"shape":"GetNamedQueryOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about a single query. Requires that you have access to the workgroup in which the query was saved.

" + }, + "GetQueryExecution":{ + "name":"GetQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueryExecutionInput"}, + "output":{"shape":"GetQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about a single execution of a query if you have access to the workgroup in which the query ran. Each time a query executes, information about the query execution is saved with a unique ID.

" + }, + "GetQueryResults":{ + "name":"GetQueryResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueryResultsInput"}, + "output":{"shape":"GetQueryResultsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Streams the results of a single query execution specified by QueryExecutionId from the Athena query results location in Amazon S3. For more information, see Query Results in the Amazon Athena User Guide. This request does not execute the query but returns results. Use StartQueryExecution to run a query.

To stream query results successfully, the IAM principal with permission to call GetQueryResults also must have permissions to the Amazon S3 GetObject action for the Athena query results location.

IAM principals with permission to the Amazon S3 GetObject action for the query results location are able to retrieve query results from Amazon S3 even if permission to the GetQueryResults action is denied. To restrict user or role access, ensure that Amazon S3 permissions to the Athena query location are denied.

" + }, + "GetWorkGroup":{ + "name":"GetWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkGroupInput"}, + "output":{"shape":"GetWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about the workgroup with the specified name.

" + }, + "ListNamedQueries":{ + "name":"ListNamedQueries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNamedQueriesInput"}, + "output":{"shape":"ListNamedQueriesOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" + }, + "ListQueryExecutions":{ + "name":"ListQueryExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQueryExecutionsInput"}, + "output":{"shape":"ListQueryExecutionsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Provides a list of available query execution IDs for the queries in the specified workgroup. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags associated with this workgroup.

" + }, + "ListWorkGroups":{ + "name":"ListWorkGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkGroupsInput"}, + "output":{"shape":"ListWorkGroupsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Lists available workgroups for the account.

" + }, + "StartQueryExecution":{ + "name":"StartQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartQueryExecutionInput"}, + "output":{"shape":"StartQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Runs the SQL query statements contained in the Query. Requires you to have access to the workgroup in which the query ran.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "StopQueryExecution":{ + "name":"StopQueryExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopQueryExecutionInput"}, + "output":{"shape":"StopQueryExecutionOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Stops a query execution. Requires you to have access to the workgroup in which the query ran.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds one or more tags to the resource, such as a workgroup. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize resources (workgroups) in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. For best practices, see AWS Tagging Strategies. The key length is from 1 (minimum) to 128 (maximum) Unicode characters in UTF-8. The tag value length is from 0 (minimum) to 256 (maximum) Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one, separate them by commas.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes one or more tags from the workgroup resource. Takes as an input a list of TagKey Strings separated by commas, and removes their tags at the same time.

" + }, + "UpdateWorkGroup":{ + "name":"UpdateWorkGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWorkGroupInput"}, + "output":{"shape":"UpdateWorkGroupOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates the workgroup with the specified name. The workgroup's name cannot be changed.

" + } + }, + "shapes":{ + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "BatchGetNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryIds"], + "members":{ + "NamedQueryIds":{ + "shape":"NamedQueryIdList", + "documentation":"

An array of query IDs.

" + } + } + }, + "BatchGetNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQueries":{ + "shape":"NamedQueryList", + "documentation":"

Information about the named query IDs submitted.

" + }, + "UnprocessedNamedQueryIds":{ + "shape":"UnprocessedNamedQueryIdList", + "documentation":"

Information about provided query IDs.

" + } + } + }, + "BatchGetQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionIds"], + "members":{ + "QueryExecutionIds":{ + "shape":"QueryExecutionIdList", + "documentation":"

An array of query execution IDs.

" + } + } + }, + "BatchGetQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecutions":{ + "shape":"QueryExecutionList", + "documentation":"

Information about a query execution.

" + }, + "UnprocessedQueryExecutionIds":{ + "shape":"UnprocessedQueryExecutionIdList", + "documentation":"

Information about the query executions that failed to run.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "BoxedBoolean":{"type":"boolean"}, + "BytesScannedCutoffValue":{ + "type":"long", + "min":10000000 + }, + "ColumnInfo":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "CatalogName":{ + "shape":"String", + "documentation":"

The catalog to which the query results belong.

" + }, + "SchemaName":{ + "shape":"String", + "documentation":"

The schema name (database name) to which the query results belong.

" + }, + "TableName":{ + "shape":"String", + "documentation":"

The table name for the query results.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the column.

" + }, + "Label":{ + "shape":"String", + "documentation":"

A column label.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The data type of the column.

" + }, + "Precision":{ + "shape":"Integer", + "documentation":"

For DECIMAL data types, specifies the total number of digits, up to 38. For performance reasons, we recommend up to 18 digits.

" + }, + "Scale":{ + "shape":"Integer", + "documentation":"

For DECIMAL data types, specifies the total number of digits in the fractional part of the value. Defaults to 0.

" + }, + "Nullable":{ + "shape":"ColumnNullable", + "documentation":"

Indicates the column's nullable status.

" + }, + "CaseSensitive":{ + "shape":"Boolean", + "documentation":"

Indicates whether values in the column are case-sensitive.

" + } + }, + "documentation":"

Information about the columns in a query execution result.

" + }, + "ColumnInfoList":{ + "type":"list", + "member":{"shape":"ColumnInfo"} + }, + "ColumnNullable":{ + "type":"string", + "enum":[ + "NOT_NULL", + "NULLABLE", + "UNKNOWN" + ] + }, + "CreateNamedQueryInput":{ + "type":"structure", + "required":[ + "Name", + "Database", + "QueryString" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The query name.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The query description.

" + }, + "Database":{ + "shape":"DatabaseString", + "documentation":"

The database to which the query belongs.

" + }, + "QueryString":{ + "shape":"QueryString", + "documentation":"

The contents of the query with all query statements.

" + }, + "ClientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another CreateNamedQuery request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned.

This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail.

", + "idempotencyToken":true + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup in which the named query is being created.

" + } + } + }, + "CreateNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query.

" + } + } + }, + "CreateWorkGroupInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The workgroup name.

" + }, + "Configuration":{ + "shape":"WorkGroupConfiguration", + "documentation":"

The configuration for the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption configuration, if any, used for encrypting query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, the limit for the amount of bytes scanned (cutoff) per query, if it is specified, and whether workgroup's settings (specified with EnforceWorkGroupConfiguration) in the WorkGroupConfiguration override client-side settings. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags, separated by commas, that you want to attach to the workgroup as you create it.

" + } + } + }, + "CreateWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "DatabaseString":{ + "type":"string", + "max":255, + "min":1 + }, + "Date":{"type":"timestamp"}, + "Datum":{ + "type":"structure", + "members":{ + "VarCharValue":{ + "shape":"datumString", + "documentation":"

The value of the datum.

" + } + }, + "documentation":"

A piece of data (a field in the table).

" + }, + "DeleteNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryId"], + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query to delete.

", + "idempotencyToken":true + } + } + }, + "DeleteNamedQueryOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The unique name of the workgroup to delete.

" + }, + "RecursiveDeleteOption":{ + "shape":"BoxedBoolean", + "documentation":"

The option to delete the workgroup and its contents even if the workgroup contains any named queries.

" + } + } + }, + "DeleteWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "DescriptionString":{ + "type":"string", + "max":1024, + "min":1 + }, + "EncryptionConfiguration":{ + "type":"structure", + "required":["EncryptionOption"], + "members":{ + "EncryptionOption":{ + "shape":"EncryptionOption", + "documentation":"

Indicates whether Amazon S3 server-side encryption with Amazon S3-managed keys (SSE-S3), server-side encryption with KMS-managed keys (SSE-KMS), or client-side encryption with KMS-managed keys (CSE-KMS) is used.

If a query runs in a workgroup and the workgroup overrides client-side settings, then the workgroup's setting for encryption is used. It specifies whether query results must be encrypted, for all queries that run in this workgroup.

" + }, + "KmsKey":{ + "shape":"String", + "documentation":"

For SSE-KMS and CSE-KMS, this is the KMS key ARN or ID.

" + } + }, + "documentation":"

If query results are encrypted in Amazon S3, indicates the encryption option used (for example, SSE-KMS or CSE-KMS) and key information.

" + }, + "EncryptionOption":{ + "type":"string", + "enum":[ + "SSE_S3", + "SSE_KMS", + "CSE_KMS" + ] + }, + "ErrorCode":{ + "type":"string", + "documentation":"

The error code returned when the query execution failed to process, or when the processing request for the named query failed.

", + "max":256, + "min":1 + }, + "ErrorMessage":{"type":"string"}, + "GetNamedQueryInput":{ + "type":"structure", + "required":["NamedQueryId"], + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique ID of the query. Use ListNamedQueries to get query IDs.

" + } + } + }, + "GetNamedQueryOutput":{ + "type":"structure", + "members":{ + "NamedQuery":{ + "shape":"NamedQuery", + "documentation":"

Information about the query.

" + } + } + }, + "GetQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution.

" + } + } + }, + "GetQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecution":{ + "shape":"QueryExecution", + "documentation":"

Information about the query execution.

" + } + } + }, + "GetQueryResultsInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxQueryResults", + "documentation":"

The maximum number of results (rows) to return in this request.

" + } + } + }, + "GetQueryResultsOutput":{ + "type":"structure", + "members":{ + "UpdateCount":{ + "shape":"Long", + "documentation":"

The number of rows inserted with a CREATE TABLE AS SELECT statement.

" + }, + "ResultSet":{ + "shape":"ResultSet", + "documentation":"

The results of the query execution.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "GetWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup.

" + } + } + }, + "GetWorkGroupOutput":{ + "type":"structure", + "members":{ + "WorkGroup":{ + "shape":"WorkGroup", + "documentation":"

Information about the workgroup.

" + } + } + }, + "IdempotencyToken":{ + "type":"string", + "max":128, + "min":32 + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates a platform issue, which may be due to a transient condition or outage.

", + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "AthenaErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Indicates that something is wrong with the input to the request. For example, a required parameter may be missing or out of range.

", + "exception":true + }, + "ListNamedQueriesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxNamedQueriesCount", + "documentation":"

The maximum number of queries to return in this request.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup from which the named queries are returned. If a workgroup is not specified, the saved queries for the primary workgroup are returned.

" + } + } + }, + "ListNamedQueriesOutput":{ + "type":"structure", + "members":{ + "NamedQueryIds":{ + "shape":"NamedQueryIdList", + "documentation":"

The list of unique query IDs.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "ListQueryExecutionsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

The token that specifies where to start pagination if a previous request was truncated.

" + }, + "MaxResults":{ + "shape":"MaxQueryExecutionsCount", + "documentation":"

The maximum number of query executions to return in this request.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup from which queries are returned. If a workgroup is not specified, a list of available query execution IDs for the queries in the primary workgroup is returned.

" + } + } + }, + "ListQueryExecutionsOutput":{ + "type":"structure", + "members":{ + "QueryExecutionIds":{ + "shape":"QueryExecutionIdList", + "documentation":"

The unique IDs of each query execution as an array of strings.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Lists the tags for the workgroup resource with the specified ARN.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

The token for the next set of results, or null if there are no additional results for this request, where the request lists the tags for the workgroup resource with the specified ARN.

" + }, + "MaxResults":{ + "shape":"MaxTagsCount", + "documentation":"

The maximum number of results to be returned per request that lists the tags for the workgroup resource.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags associated with this workgroup.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "ListWorkGroupsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + }, + "MaxResults":{ + "shape":"MaxWorkGroupsCount", + "documentation":"

The maximum number of workgroups to return in this request.

" + } + } + }, + "ListWorkGroupsOutput":{ + "type":"structure", + "members":{ + "WorkGroups":{ + "shape":"WorkGroupsList", + "documentation":"

The list of workgroups, including their names, descriptions, creation times, and states.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A token to be used by the next request if this request is truncated.

" + } + } + }, + "Long":{"type":"long"}, + "MaxNamedQueriesCount":{ + "type":"integer", + "box":true, + "max":50, + "min":0 + }, + "MaxQueryExecutionsCount":{ + "type":"integer", + "box":true, + "max":50, + "min":0 + }, + "MaxQueryResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "MaxTagsCount":{ + "type":"integer", + "box":true, + "min":75 + }, + "MaxWorkGroupsCount":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "NameString":{ + "type":"string", + "max":128, + "min":1 + }, + "NamedQuery":{ + "type":"structure", + "required":[ + "Name", + "Database", + "QueryString" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The query name.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The query description.

" + }, + "Database":{ + "shape":"DatabaseString", + "documentation":"

The database to which the query belongs.

" + }, + "QueryString":{ + "shape":"QueryString", + "documentation":"

The SQL query statements that comprise the query.

" + }, + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique identifier of the query.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup that contains the named query.

" + } + }, + "documentation":"

A query, where QueryString is the list of SQL query statements that comprise the query.

" + }, + "NamedQueryId":{"type":"string"}, + "NamedQueryIdList":{ + "type":"list", + "member":{"shape":"NamedQueryId"}, + "max":50, + "min":1 + }, + "NamedQueryList":{ + "type":"list", + "member":{"shape":"NamedQuery"} + }, + "QueryExecution":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique identifier for each query execution.

" + }, + "Query":{ + "shape":"QueryString", + "documentation":"

The SQL query statements which the query execution ran.

" + }, + "StatementType":{ + "shape":"StatementType", + "documentation":"

The type of query statement that was run. DDL indicates DDL query statements. DML indicates DML (Data Manipulation Language) query statements, such as CREATE TABLE AS SELECT. UTILITY indicates query statements other than DDL and DML, such as SHOW CREATE TABLE, or DESCRIBE <table>.

" + }, + "ResultConfiguration":{ + "shape":"ResultConfiguration", + "documentation":"

The location in Amazon S3 where query results were stored and the encryption option, if any, used for query results. These are known as \"client-side settings\". If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup.

" + }, + "QueryExecutionContext":{ + "shape":"QueryExecutionContext", + "documentation":"

The database in which the query execution occurred.

" + }, + "Status":{ + "shape":"QueryExecutionStatus", + "documentation":"

The completion date, current state, submission time, and state change reason (if applicable) for the query execution.

" + }, + "Statistics":{ + "shape":"QueryExecutionStatistics", + "documentation":"

Query execution statistics, such as the amount of data scanned, the amount of time that the query took to process, and the type of statement that was run.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup in which the query ran.

" + } + }, + "documentation":"

Information about a single instance of a query execution.

" + }, + "QueryExecutionContext":{ + "type":"structure", + "members":{ + "Database":{ + "shape":"DatabaseString", + "documentation":"

The name of the database.

" + } + }, + "documentation":"

The database in which the query execution occurs.

" + }, + "QueryExecutionId":{"type":"string"}, + "QueryExecutionIdList":{ + "type":"list", + "member":{"shape":"QueryExecutionId"}, + "max":50, + "min":1 + }, + "QueryExecutionList":{ + "type":"list", + "member":{"shape":"QueryExecution"} + }, + "QueryExecutionState":{ + "type":"string", + "enum":[ + "QUEUED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "QueryExecutionStatistics":{ + "type":"structure", + "members":{ + "EngineExecutionTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that the query took to execute.

" + }, + "DataScannedInBytes":{ + "shape":"Long", + "documentation":"

The number of bytes in the data that was queried.

" + }, + "DataManifestLocation":{ + "shape":"String", + "documentation":"

The location and file name of a data manifest file. The manifest file is saved to the Athena query results location in Amazon S3. The manifest file tracks files that the query wrote to Amazon S3. If the query fails, the manifest file also tracks files that the query intended to write. The manifest is useful for identifying orphaned files resulting from a failed query. For more information, see Working with Query Results, Output Files, and Query History in the Amazon Athena User Guide.

" + }, + "TotalExecutionTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that Athena took to run the query.

" + }, + "QueryQueueTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that the query was in your query queue waiting for resources. Note that if transient errors occur, Athena might automatically add the query back to the queue.

" + }, + "QueryPlanningTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that Athena took to plan the query processing flow. This includes the time spent retrieving table partitions from the data source. Note that because the query engine performs the query planning, query planning time is a subset of engine processing time.

" + }, + "ServiceProcessingTimeInMillis":{ + "shape":"Long", + "documentation":"

The number of milliseconds that Athena took to finalize and publish the query results after the query engine finished running the query.

" + } + }, + "documentation":"

The amount of data scanned during the query execution and the amount of time that it took to execute, and the type of statement that was run.

" + }, + "QueryExecutionStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"QueryExecutionState", + "documentation":"

The state of query execution. QUEUED indicates that the query has been submitted to the service, and Athena will execute the query as soon as resources are available. RUNNING indicates that the query is in execution phase. SUCCEEDED indicates that the query completed without errors. FAILED indicates that the query experienced an error and did not complete processing. CANCELLED indicates that a user input interrupted query execution.

" + }, + "StateChangeReason":{ + "shape":"String", + "documentation":"

Further detail about the status of the query.

" + }, + "SubmissionDateTime":{ + "shape":"Date", + "documentation":"

The date and time that the query was submitted.

" + }, + "CompletionDateTime":{ + "shape":"Date", + "documentation":"

The date and time that the query completed.

" + } + }, + "documentation":"

The completion date, current state, submission time, and state change reason (if applicable) for the query execution.

" + }, + "QueryString":{ + "type":"string", + "max":262144, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

A resource, such as a workgroup, was not found.

", + "exception":true + }, + "ResultConfiguration":{ + "type":"structure", + "members":{ + "OutputLocation":{ + "shape":"String", + "documentation":"

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. To run the query, you must specify the query results location using one of the ways: either for individual queries using either this setting (client-side), or in the workgroup, using WorkGroupConfiguration. If none of them is set, Athena issues an error that no output location is provided. For more information, see Query Results. If workgroup settings override client-side settings, then the query uses the settings specified for the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

If query results are encrypted in Amazon S3, indicates the encryption option used (for example, SSE-KMS or CSE-KMS) and key information. This is a client-side setting. If workgroup settings override client-side settings, then the query uses the encryption configuration that is specified for the workgroup, and also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

" + } + }, + "documentation":"

The location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. These are known as \"client-side settings\". If workgroup settings override client-side settings, then the query uses the workgroup settings.

" + }, + "ResultConfigurationUpdates":{ + "type":"structure", + "members":{ + "OutputLocation":{ + "shape":"String", + "documentation":"

The location in Amazon S3 where your query results are stored, such as s3://path/to/query/bucket/. For more information, see Query Results If workgroup settings override client-side settings, then the query uses the location for the query results and the encryption configuration that are specified for the workgroup. The \"workgroup settings override\" is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "RemoveOutputLocation":{ + "shape":"BoxedBoolean", + "documentation":"

If set to \"true\", indicates that the previously-specified query results location (also known as a client-side setting) for queries in this workgroup should be ignored and set to null. If set to \"false\" or not set, and a value is present in the OutputLocation in ResultConfigurationUpdates (the client-side setting), the OutputLocation in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration for the query results.

" + }, + "RemoveEncryptionConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

If set to \"true\", indicates that the previously-specified encryption configuration (also known as the client-side setting) for queries in this workgroup should be ignored and set to null. If set to \"false\" or not set, and a value is present in the EncryptionConfiguration in ResultConfigurationUpdates (the client-side setting), the EncryptionConfiguration in the workgroup's ResultConfiguration will be updated with the new value. For more information, see Workgroup Settings Override Client-Side Settings.

" + } + }, + "documentation":"

The information about the updates in the query results, such as output location and encryption configuration for the query results.

" + }, + "ResultSet":{ + "type":"structure", + "members":{ + "Rows":{ + "shape":"RowList", + "documentation":"

The rows in the table.

" + }, + "ResultSetMetadata":{ + "shape":"ResultSetMetadata", + "documentation":"

The metadata that describes the column structure and data types of a table of query results.

" + } + }, + "documentation":"

The metadata and rows that comprise a query result set. The metadata describes the column structure and data types.

" + }, + "ResultSetMetadata":{ + "type":"structure", + "members":{ + "ColumnInfo":{ + "shape":"ColumnInfoList", + "documentation":"

Information about the columns returned in a query result metadata.

" + } + }, + "documentation":"

The metadata that describes the column structure and data types of a table of query results.

" + }, + "Row":{ + "type":"structure", + "members":{ + "Data":{ + "shape":"datumList", + "documentation":"

The data that populates a row in a query result table.

" + } + }, + "documentation":"

The rows that comprise a query result table.

" + }, + "RowList":{ + "type":"list", + "member":{"shape":"Row"} + }, + "StartQueryExecutionInput":{ + "type":"structure", + "required":["QueryString"], + "members":{ + "QueryString":{ + "shape":"QueryString", + "documentation":"

The SQL query statements to be executed.

" + }, + "ClientRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique case-sensitive string used to ensure the request to create the query is idempotent (executes only once). If another StartQueryExecution request is received, the same response is returned and another query is not created. If a parameter has changed, for example, the QueryString, an error is returned.

This token is listed as not required because AWS SDKs (for example the AWS SDK for Java) auto-generate the token for users. If you are not using the AWS SDK or the AWS CLI, you must provide this token or the action will fail.

", + "idempotencyToken":true + }, + "QueryExecutionContext":{ + "shape":"QueryExecutionContext", + "documentation":"

The database within which the query executes.

" + }, + "ResultConfiguration":{ + "shape":"ResultConfiguration", + "documentation":"

Specifies information about where and how to save the results of the query execution. If the query runs in a workgroup, then workgroup's settings may override query settings. This affects the query results location. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup in which the query is being started.

" + } + } + }, + "StartQueryExecutionOutput":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query that ran as a result of this request.

" + } + } + }, + "StatementType":{ + "type":"string", + "enum":[ + "DDL", + "DML", + "UTILITY" + ] + }, + "StopQueryExecutionInput":{ + "type":"structure", + "required":["QueryExecutionId"], + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique ID of the query execution to stop.

", + "idempotencyToken":true + } + } + }, + "StopQueryExecutionOutput":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A tag key. The tag key length is from 1 to 128 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys are case-sensitive and must be unique per resource.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A tag value. The tag value length is from 0 to 256 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag values are case-sensitive.

" + } + }, + "documentation":"

A tag that you can add to a resource. A tag is a label that you assign to an AWS Athena resource (a workgroup). Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize workgroups in Athena, for example, by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups in your account. The maximum tag key length is 128 Unicode characters in UTF-8. The maximum tag value length is 256 Unicode characters in UTF-8. You can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Requests that one or more tags are added to the resource (such as a workgroup) for the specified ARN.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags, separated by commas, to be added to the resource, such as a workgroup.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottleReason":{ + "type":"string", + "documentation":"

The reason for the query throttling, for example, when it exceeds the concurrent query limit.

", + "enum":["CONCURRENT_QUERY_LIMIT_EXCEEDED"] + }, + "Token":{ + "type":"string", + "max":1024, + "min":1 + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Reason":{"shape":"ThrottleReason"} + }, + "documentation":"

Indicates that the request was throttled.

", + "exception":true + }, + "UnprocessedNamedQueryId":{ + "type":"structure", + "members":{ + "NamedQueryId":{ + "shape":"NamedQueryId", + "documentation":"

The unique identifier of the named query.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code returned when the processing request for the named query failed, if applicable.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The error message returned when the processing request for the named query failed, if applicable.

" + } + }, + "documentation":"

Information about a named query ID that could not be processed.

" + }, + "UnprocessedNamedQueryIdList":{ + "type":"list", + "member":{"shape":"UnprocessedNamedQueryId"} + }, + "UnprocessedQueryExecutionId":{ + "type":"structure", + "members":{ + "QueryExecutionId":{ + "shape":"QueryExecutionId", + "documentation":"

The unique identifier of the query execution.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code returned when the query execution failed to process, if applicable.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The error message returned when the query execution failed to process, if applicable.

" + } + }, + "documentation":"

Describes a query execution that failed to process.

" + }, + "UnprocessedQueryExecutionIdList":{ + "type":"list", + "member":{"shape":"UnprocessedQueryExecutionId"} + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

Removes one or more tags from the workgroup resource for the specified ARN.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

Removes the tags associated with one or more tag keys from the workgroup resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateWorkGroupInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{ + "shape":"WorkGroupName", + "documentation":"

The specified workgroup that will be updated.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "ConfigurationUpdates":{ + "shape":"WorkGroupConfigurationUpdates", + "documentation":"

The workgroup configuration that will be updated for the given workgroup.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The workgroup state that will be updated for the given workgroup.

" + } + } + }, + "UpdateWorkGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "WorkGroup":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The workgroup name.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The state of the workgroup: ENABLED or DISABLED.

" + }, + "Configuration":{ + "shape":"WorkGroupConfiguration", + "documentation":"

The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption configuration, if any, used for query results; whether the Amazon CloudWatch Metrics are enabled for the workgroup; whether workgroup settings override client-side settings; and the data usage limits for the amount of data scanned per query or per workgroup. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The date and time the workgroup was created.

" + } + }, + "documentation":"

A workgroup, which contains a name, description, creation time, state, and other configuration, listed under WorkGroup$Configuration. Each workgroup enables you to isolate queries for you or your group of users from other queries in the same account, to configure the query results location and the encryption configuration (known as workgroup settings), to enable sending query metrics to Amazon CloudWatch, and to establish per-query data usage control limits for all queries in a workgroup. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "WorkGroupConfiguration":{ + "type":"structure", + "members":{ + "ResultConfiguration":{ + "shape":"ResultConfiguration", + "documentation":"

The configuration for the workgroup, which includes the location in Amazon S3 where query results are stored and the encryption option, if any, used for query results. To run the query, you must specify the query results location using one of the ways: either in the workgroup using this setting, or for individual queries (client-side), using ResultConfiguration$OutputLocation. If none of them is set, Athena issues an error that no output location is provided. For more information, see Query Results.

" + }, + "EnforceWorkGroupConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

If set to \"true\", the settings for the workgroup override client-side settings. If set to \"false\", client-side settings are used. For more information, see Workgroup Settings Override Client-Side Settings.

" + }, + "PublishCloudWatchMetricsEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

Indicates that the Amazon CloudWatch metrics are enabled for the workgroup.

" + }, + "BytesScannedCutoffPerQuery":{ + "shape":"BytesScannedCutoffValue", + "documentation":"

The upper data usage limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.

" + }, + "RequesterPaysEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

If set to true, allows members assigned to a workgroup to reference Amazon S3 Requester Pays buckets in queries. If set to false, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is false. For more information about Requester Pays buckets, see Requester Pays Buckets in the Amazon Simple Storage Service Developer Guide.

" + } + }, + "documentation":"

The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup and whether workgroup settings override query settings, and the data usage limits for the amount of data scanned per query or per workgroup. The workgroup settings override is specified in EnforceWorkGroupConfiguration (true/false) in the WorkGroupConfiguration. See WorkGroupConfiguration$EnforceWorkGroupConfiguration.

" + }, + "WorkGroupConfigurationUpdates":{ + "type":"structure", + "members":{ + "EnforceWorkGroupConfiguration":{ + "shape":"BoxedBoolean", + "documentation":"

If set to \"true\", the settings for the workgroup override client-side settings. If set to \"false\" client-side settings are used. For more information, see Workgroup Settings Override Client-Side Settings.

" + }, + "ResultConfigurationUpdates":{ + "shape":"ResultConfigurationUpdates", + "documentation":"

The result configuration information about the queries in this workgroup that will be updated. Includes the updated results location and an updated option for encrypting query results.

" + }, + "PublishCloudWatchMetricsEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

Indicates whether this workgroup enables publishing metrics to Amazon CloudWatch.

" + }, + "BytesScannedCutoffPerQuery":{ + "shape":"BytesScannedCutoffValue", + "documentation":"

The upper limit (cutoff) for the amount of bytes a single query in a workgroup is allowed to scan.

" + }, + "RemoveBytesScannedCutoffPerQuery":{ + "shape":"BoxedBoolean", + "documentation":"

Indicates that the data usage control limit per query is removed. WorkGroupConfiguration$BytesScannedCutoffPerQuery

" + }, + "RequesterPaysEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

If set to true, allows members assigned to a workgroup to specify Amazon S3 Requester Pays buckets in queries. If set to false, workgroup members cannot query data from Requester Pays buckets, and queries that retrieve data from Requester Pays buckets cause an error. The default is false. For more information about Requester Pays buckets, see Requester Pays Buckets in the Amazon Simple Storage Service Developer Guide.

" + } + }, + "documentation":"

The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified.

" + }, + "WorkGroupDescriptionString":{ + "type":"string", + "max":1024, + "min":0 + }, + "WorkGroupName":{ + "type":"string", + "pattern":"[a-zA-z0-9._-]{1,128}" + }, + "WorkGroupState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "WorkGroupSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"WorkGroupName", + "documentation":"

The name of the workgroup.

" + }, + "State":{ + "shape":"WorkGroupState", + "documentation":"

The state of the workgroup.

" + }, + "Description":{ + "shape":"WorkGroupDescriptionString", + "documentation":"

The workgroup description.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The workgroup creation date and time.

" + } + }, + "documentation":"

The summary information for the workgroup, which includes its name, state, description, and the date and time it was created.

" + }, + "WorkGroupsList":{ + "type":"list", + "member":{"shape":"WorkGroupSummary"}, + "max":50, + "min":0 + }, + "datumList":{ + "type":"list", + "member":{"shape":"Datum"} + }, + "datumString":{"type":"string"} + }, + "documentation":"

Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see What is Amazon Athena in the Amazon Athena User Guide.

If you connect to Athena using the JDBC driver, use version 1.1.0 of the driver or later with the Amazon Athena API. Earlier version drivers do not support the API. For more information and to download the driver, see Accessing Amazon Athena with JDBC.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/examples-1.json --- python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1396 @@ +{ + "version": "1.0", + "examples": { + "AttachInstances": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified instance to the specified Auto Scaling group.", + "id": "autoscaling-attach-instances-1", + "title": "To attach an instance to an Auto Scaling group" + } + ], + "AttachLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified target group to the specified Auto Scaling group.", + "id": "autoscaling-attach-load-balancer-target-groups-1", + "title": "To attach a target group to an Auto Scaling group" + } + ], + "AttachLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified load balancer to the specified Auto Scaling group.", + "id": "autoscaling-attach-load-balancers-1", + "title": "To attach a load balancer to an Auto Scaling group" + } + ], + "CompleteLifecycleAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleActionResult": "CONTINUE", + "LifecycleActionToken": "bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example notifies Auto Scaling that the specified lifecycle action is complete so that it can finish launching or terminating the instance.", + "id": "autoscaling-complete-lifecycle-action-1", + "title": "To complete the lifecycle action" + } + ], + "CreateAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LaunchConfigurationName": "my-launch-config", + "MaxSize": 3, + "MinSize": 1, + "VPCZoneIdentifier": "subnet-4176792c" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group.", + "id": "autoscaling-create-auto-scaling-group-1", + "title": "To create an Auto Scaling group" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZones": [ + "us-west-2c" + ], + "HealthCheckGracePeriod": 120, + "HealthCheckType": "ELB", + "LaunchConfigurationName": "my-launch-config", + "LoadBalancerNames": [ + "my-load-balancer" + ], + "MaxSize": 3, + "MinSize": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group and attaches the specified Classic Load Balancer.", + "id": "autoscaling-create-auto-scaling-group-2", + "title": "To create an Auto Scaling group with an attached load balancer" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "HealthCheckGracePeriod": 120, + "HealthCheckType": "ELB", + "LaunchConfigurationName": "my-launch-config", + "MaxSize": 3, + "MinSize": 1, + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ], + "VPCZoneIdentifier": "subnet-4176792c, subnet-65ea5f08" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Auto Scaling group and attaches the specified target group.", + "id": "autoscaling-create-auto-scaling-group-3", + "title": "To create an Auto Scaling group with an attached target group" + } + ], + "CreateLaunchConfiguration": [ + { + "input": { + "IamInstanceProfile": "my-iam-role", + "ImageId": "ami-12345678", + "InstanceType": "m3.medium", + "LaunchConfigurationName": "my-launch-config", + "SecurityGroups": [ + "sg-eb2af88e" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a launch configuration.", + "id": "autoscaling-create-launch-configuration-1", + "title": "To create a launch configuration" + } + ], + "CreateOrUpdateTags": [ + { + "input": { + "Tags": [ + { + "Key": "Role", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "WebServer" + }, + { + "Key": "Dept", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds two tags to the specified Auto Scaling group.", + "id": "autoscaling-create-or-update-tags-1", + "title": "To create or update tags for an Auto Scaling group" + } + ], + "DeleteAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling group.", + "id": "autoscaling-delete-auto-scaling-group-1", + "title": "To delete an Auto Scaling group" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ForceDelete": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling group and all its instances.", + "id": "autoscaling-delete-auto-scaling-group-2", + "title": "To delete an Auto Scaling group and all its instances" + } + ], + "DeleteLaunchConfiguration": [ + { + "input": { + "LaunchConfigurationName": "my-launch-config" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch configuration.", + "id": "autoscaling-delete-launch-configuration-1", + "title": "To delete a launch configuration" + } + ], + "DeleteLifecycleHook": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified lifecycle hook.", + "id": "autoscaling-delete-lifecycle-hook-1", + "title": "To delete a lifecycle hook" + } + ], + "DeleteNotificationConfiguration": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified notification from the specified Auto Scaling group.", + "id": "autoscaling-delete-notification-configuration-1", + "title": "To delete an Auto Scaling notification" + } + ], + "DeletePolicy": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyName": "ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Auto Scaling policy.", + "id": "autoscaling-delete-policy-1", + "title": "To delete an Auto Scaling policy" + } + ], + "DeleteScheduledAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScheduledActionName": "my-scheduled-action" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified scheduled action from the specified Auto Scaling group.", + "id": "autoscaling-delete-scheduled-action-1", + "title": "To delete a scheduled action from an Auto Scaling group" + } + ], + "DeleteTags": [ + { + "input": { + "Tags": [ + { + "Key": "Dept", + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified tag from the specified Auto Scaling group.", + "id": "autoscaling-delete-tags-1", + "title": "To delete a tag from an Auto Scaling group" + } + ], + "DescribeAccountLimits": [ + { + "output": { + "MaxNumberOfAutoScalingGroups": 20, + "MaxNumberOfLaunchConfigurations": 100, + "NumberOfAutoScalingGroups": 3, + "NumberOfLaunchConfigurations": 5 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Auto Scaling limits for your AWS account.", + "id": "autoscaling-describe-account-limits-1", + "title": "To describe your Auto Scaling account limits" + } + ], + "DescribeAdjustmentTypes": [ + { + "output": { + "AdjustmentTypes": [ + { + "AdjustmentType": "ChangeInCapacity" + }, + { + "AdjustmentType": "ExactCapcity" + }, + { + "AdjustmentType": "PercentChangeInCapacity" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available adjustment types.", + "id": "autoscaling-describe-adjustment-types-1", + "title": "To describe the Auto Scaling adjustment types" + } + ], + "DescribeAutoScalingGroups": [ + { + "input": { + "AutoScalingGroupNames": [ + "my-auto-scaling-group" + ] + }, + "output": { + "AutoScalingGroups": [ + { + "AutoScalingGroupARN": "arn:aws:autoscaling:us-west-2:123456789012:autoScalingGroup:930d940e-891e-4781-a11a-7b0acd480f03:autoScalingGroupName/my-auto-scaling-group", + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZones": [ + "us-west-2c" + ], + "CreatedTime": "2013-08-19T20:53:25.584Z", + "DefaultCooldown": 300, + "DesiredCapacity": 1, + "EnabledMetrics": [ + + ], + "HealthCheckGracePeriod": 300, + "HealthCheckType": "EC2", + "Instances": [ + { + "AvailabilityZone": "us-west-2c", + "HealthStatus": "Healthy", + "InstanceId": "i-4ba0837f", + "LaunchConfigurationName": "my-launch-config", + "LifecycleState": "InService", + "ProtectedFromScaleIn": false + } + ], + "LaunchConfigurationName": "my-launch-config", + "LoadBalancerNames": [ + + ], + "MaxSize": 1, + "MinSize": 0, + "NewInstancesProtectedFromScaleIn": false, + "SuspendedProcesses": [ + + ], + "Tags": [ + + ], + "TerminationPolicies": [ + "Default" + ], + "VPCZoneIdentifier": "subnet-12345678" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Auto Scaling group.", + "id": "autoscaling-describe-auto-scaling-groups-1", + "title": "To describe an Auto Scaling group" + } + ], + "DescribeAutoScalingInstances": [ + { + "input": { + "InstanceIds": [ + "i-4ba0837f" + ] + }, + "output": { + "AutoScalingInstances": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "AvailabilityZone": "us-west-2c", + "HealthStatus": "HEALTHY", + "InstanceId": "i-4ba0837f", + "LaunchConfigurationName": "my-launch-config", + "LifecycleState": "InService", + "ProtectedFromScaleIn": false + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Auto Scaling instance.", + "id": "autoscaling-describe-auto-scaling-instances-1", + "title": "To describe one or more Auto Scaling instances" + } + ], + "DescribeAutoScalingNotificationTypes": [ + { + "output": { + "AutoScalingNotificationTypes": [ + "autoscaling:EC2_INSTANCE_LAUNCH", + "autoscaling:EC2_INSTANCE_LAUNCH_ERROR", + "autoscaling:EC2_INSTANCE_TERMINATE", + "autoscaling:EC2_INSTANCE_TERMINATE_ERROR", + "autoscaling:TEST_NOTIFICATION" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available notification types.", + "id": "autoscaling-describe-auto-scaling-notification-types-1", + "title": "To describe the Auto Scaling notification types" + } + ], + "DescribeLaunchConfigurations": [ + { + "input": { + "LaunchConfigurationNames": [ + "my-launch-config" + ] + }, + "output": { + "LaunchConfigurations": [ + { + "AssociatePublicIpAddress": true, + "BlockDeviceMappings": [ + + ], + "CreatedTime": "2014-05-07T17:39:28.599Z", + "EbsOptimized": false, + "ImageId": "ami-043a5034", + "InstanceMonitoring": { + "Enabled": true + }, + "InstanceType": "t1.micro", + "LaunchConfigurationARN": "arn:aws:autoscaling:us-west-2:123456789012:launchConfiguration:98d3b196-4cf9-4e88-8ca1-8547c24ced8b:launchConfigurationName/my-launch-config", + "LaunchConfigurationName": "my-launch-config", + "SecurityGroups": [ + "sg-67ef0308" + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified launch configuration.", + "id": "autoscaling-describe-launch-configurations-1", + "title": "To describe Auto Scaling launch configurations" + } + ], + "DescribeLifecycleHookTypes": [ + { + "output": { + "LifecycleHookTypes": [ + "autoscaling:EC2_INSTANCE_LAUNCHING", + "autoscaling:EC2_INSTANCE_TERMINATING" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available lifecycle hook types.", + "id": "autoscaling-describe-lifecycle-hook-types-1", + "title": "To describe the available types of lifecycle hooks" + } + ], + "DescribeLifecycleHooks": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LifecycleHooks": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "DefaultResult": "ABANDON", + "GlobalTimeout": 172800, + "HeartbeatTimeout": 3600, + "LifecycleHookName": "my-lifecycle-hook", + "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", + "NotificationTargetARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic", + "RoleARN": "arn:aws:iam::123456789012:role/my-auto-scaling-role" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the lifecycle hooks for the specified Auto Scaling group.", + "id": "autoscaling-describe-lifecycle-hooks-1", + "title": "To describe your lifecycle hooks" + } + ], + "DescribeLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LoadBalancerTargetGroups": [ + { + "LoadBalancerTargetGroupARN": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "State": "Added" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the target groups attached to the specified Auto Scaling group.", + "id": "autoscaling-describe-load-balancer-target-groups-1", + "title": "To describe the target groups for an Auto Scaling group" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "LoadBalancers": [ + { + "LoadBalancerName": "my-load-balancer", + "State": "Added" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the load balancers attached to the specified Auto Scaling group.", + "id": "autoscaling-describe-load-balancers-1", + "title": "To describe the load balancers for an Auto Scaling group" + } + ], + "DescribeMetricCollectionTypes": [ + { + "output": { + "Granularities": [ + { + "Granularity": "1Minute" + } + ], + "Metrics": [ + { + "Metric": "GroupMinSize" + }, + { + "Metric": "GroupMaxSize" + }, + { + "Metric": "GroupDesiredCapacity" + }, + { + "Metric": "GroupInServiceInstances" + }, + { + "Metric": "GroupPendingInstances" + }, + { + "Metric": "GroupTerminatingInstances" + }, + { + "Metric": "GroupStandbyInstances" + }, + { + "Metric": "GroupTotalInstances" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available metric collection types.", + "id": "autoscaling-describe-metric-collection-types-1", + "title": "To describe the Auto Scaling metric collection types" + } + ], + "DescribeNotificationConfigurations": [ + { + "input": { + "AutoScalingGroupNames": [ + "my-auto-scaling-group" + ] + }, + "output": { + "NotificationConfigurations": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationType": "autoscaling:TEST_NOTIFICATION", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic-2" + }, + { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationType": "autoscaling:TEST_NOTIFICATION", + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the notification configurations for the specified Auto Scaling group.", + "id": "autoscaling-describe-notification-configurations-1", + "title": "To describe Auto Scaling notification configurations" + } + ], + "DescribePolicies": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "ScalingPolicies": [ + { + "AdjustmentType": "ChangeInCapacity", + "Alarms": [ + + ], + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2233f3d7-6290-403b-b632-93c553560106:autoScalingGroupName/my-auto-scaling-group:policyName/ScaleIn", + "PolicyName": "ScaleIn", + "ScalingAdjustment": -1 + }, + { + "AdjustmentType": "PercentChangeInCapacity", + "Alarms": [ + + ], + "AutoScalingGroupName": "my-auto-scaling-group", + "Cooldown": 60, + "MinAdjustmentStep": 2, + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2b435159-cf77-4e89-8c0e-d63b497baad7:autoScalingGroupName/my-auto-scaling-group:policyName/ScalePercentChange", + "PolicyName": "ScalePercentChange", + "ScalingAdjustment": 25 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the policies for the specified Auto Scaling group.", + "id": "autoscaling-describe-policies-1", + "title": "To describe Auto Scaling policies" + } + ], + "DescribeScalingActivities": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "Activities": [ + { + "ActivityId": "f9f2d65b-f1f2-43e7-b46d-d86756459699", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2013-08-19T20:53:25Z a user request created an AutoScalingGroup changing the desired capacity from 0 to 1. At 2013-08-19T20:53:29Z an instance was started in response to a difference between desired and actual capacity, increasing the capacity from 0 to 1.", + "Description": "Launching a new EC2 instance: i-4ba0837f", + "Details": "details", + "EndTime": "2013-08-19T20:54:02Z", + "Progress": 100, + "StartTime": "2013-08-19T20:53:29.930Z", + "StatusCode": "Successful" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scaling activities for the specified Auto Scaling group.", + "id": "autoscaling-describe-scaling-activities-1", + "title": "To describe the scaling activities for an Auto Scaling group" + } + ], + "DescribeScalingProcessTypes": [ + { + "output": { + "Processes": [ + { + "ProcessName": "AZRebalance" + }, + { + "ProcessName": "AddToLoadBalancer" + }, + { + "ProcessName": "AlarmNotification" + }, + { + "ProcessName": "HealthCheck" + }, + { + "ProcessName": "Launch" + }, + { + "ProcessName": "ReplaceUnhealthy" + }, + { + "ProcessName": "ScheduledActions" + }, + { + "ProcessName": "Terminate" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Auto Scaling process types.", + "id": "autoscaling-describe-scaling-process-types-1", + "title": "To describe the Auto Scaling process types" + } + ], + "DescribeScheduledActions": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group" + }, + "output": { + "ScheduledUpdateGroupActions": [ + { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 4, + "MaxSize": 6, + "MinSize": 2, + "Recurrence": "30 0 1 12 0", + "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-auto-scaling-group:scheduledActionName/my-scheduled-action", + "ScheduledActionName": "my-scheduled-action", + "StartTime": "2016-12-01T00:30:00Z", + "Time": "2016-12-01T00:30:00Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the scheduled actions for the specified Auto Scaling group.", + "id": "autoscaling-describe-scheduled-actions-1", + "title": "To describe scheduled actions" + } + ], + "DescribeTags": [ + { + "input": { + "Filters": [ + { + "Name": "auto-scaling-group", + "Values": [ + "my-auto-scaling-group" + ] + } + ] + }, + "output": { + "Tags": [ + { + "Key": "Dept", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "Research" + }, + { + "Key": "Role", + "PropagateAtLaunch": true, + "ResourceId": "my-auto-scaling-group", + "ResourceType": "auto-scaling-group", + "Value": "WebServer" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags for the specified Auto Scaling group.", + "id": "autoscaling-describe-tags-1", + "title": "To describe tags" + } + ], + "DescribeTerminationPolicyTypes": [ + { + "output": { + "TerminationPolicyTypes": [ + "ClosestToNextInstanceHour", + "Default", + "NewestInstance", + "OldestInstance", + "OldestLaunchConfiguration" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the available termination policy types.", + "id": "autoscaling-describe-termination-policy-types-1", + "title": "To describe termination policy types" + } + ], + "DetachInstances": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ShouldDecrementDesiredCapacity": true + }, + "output": { + "Activities": [ + { + "ActivityId": "5091cb52-547a-47ce-a236-c9ccbc2cb2c9", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:02:16Z instance i-93633f9b was detached in response to a user request, shrinking the capacity from 2 to 1.", + "Description": "Detaching EC2 instance: i-93633f9b", + "Details": "details", + "Progress": 50, + "StartTime": "2015-04-12T15:02:16.179Z", + "StatusCode": "InProgress" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified instance from the specified Auto Scaling group.", + "id": "autoscaling-detach-instances-1", + "title": "To detach an instance from an Auto Scaling group" + } + ], + "DetachLoadBalancerTargetGroups": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "TargetGroupARNs": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified target group from the specified Auto Scaling group", + "id": "autoscaling-detach-load-balancer-target-groups-1", + "title": "To detach a target group from an Auto Scaling group" + } + ], + "DetachLoadBalancers": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified load balancer from the specified Auto Scaling group.", + "id": "autoscaling-detach-load-balancers-1", + "title": "To detach a load balancer from an Auto Scaling group" + } + ], + "DisableMetricsCollection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "Metrics": [ + "GroupDesiredCapacity" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables collecting data for the GroupDesiredCapacity metric for the specified Auto Scaling group.", + "id": "autoscaling-disable-metrics-collection-1", + "title": "To disable metrics collection for an Auto Scaling group" + } + ], + "EnableMetricsCollection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "Granularity": "1Minute" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables data collection for the specified Auto Scaling group.", + "id": "autoscaling-enable-metrics-collection-1", + "title": "To enable metrics collection for an Auto Scaling group" + } + ], + "EnterStandby": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ShouldDecrementDesiredCapacity": true + }, + "output": { + "Activities": [ + { + "ActivityId": "ffa056b4-6ed3-41ba-ae7c-249dfae6eba1", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:10:23Z instance i-93633f9b was moved to standby in response to a user request, shrinking the capacity from 2 to 1.", + "Description": "Moving EC2 instance to Standby: i-93633f9b", + "Details": "details", + "Progress": 50, + "StartTime": "2015-04-12T15:10:23.640Z", + "StatusCode": "InProgress" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example puts the specified instance into standby mode.", + "id": "autoscaling-enter-standby-1", + "title": "To move instances into standby mode" + } + ], + "ExecutePolicy": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "HonorCooldown": true, + "PolicyName": "ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example executes the specified Auto Scaling policy for the specified Auto Scaling group.", + "id": "autoscaling-execute-policy-1", + "title": "To execute an Auto Scaling policy" + } + ], + "ExitStandby": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ] + }, + "output": { + "Activities": [ + { + "ActivityId": "142928e1-a2dc-453a-9b24-b85ad6735928", + "AutoScalingGroupName": "my-auto-scaling-group", + "Cause": "At 2015-04-12T15:14:29Z instance i-93633f9b was moved out of standby in response to a user request, increasing the capacity from 1 to 2.", + "Description": "Moving EC2 instance out of Standby: i-93633f9b", + "Details": "details", + "Progress": 30, + "StartTime": "2015-04-12T15:14:29.886Z", + "StatusCode": "PreInService" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example moves the specified instance out of standby mode.", + "id": "autoscaling-exit-standby-1", + "title": "To move instances out of standby mode" + } + ], + "PutLifecycleHook": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleHookName": "my-lifecycle-hook", + "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", + "NotificationTargetARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn", + "RoleARN": "arn:aws:iam::123456789012:role/my-auto-scaling-role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a lifecycle hook.", + "id": "autoscaling-put-lifecycle-hook-1", + "title": "To create a lifecycle hook" + } + ], + "PutNotificationConfiguration": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "NotificationTypes": [ + "autoscaling:TEST_NOTIFICATION" + ], + "TopicARN": "arn:aws:sns:us-west-2:123456789012:my-sns-topic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified notification to the specified Auto Scaling group.", + "id": "autoscaling-put-notification-configuration-1", + "title": "To add an Auto Scaling notification" + } + ], + "PutScalingPolicy": [ + { + "input": { + "AdjustmentType": "ChangeInCapacity", + "AutoScalingGroupName": "my-auto-scaling-group", + "PolicyName": "ScaleIn", + "ScalingAdjustment": -1 + }, + "output": { + "PolicyARN": "arn:aws:autoscaling:us-west-2:123456789012:scalingPolicy:2233f3d7-6290-403b-b632-93c553560106:autoScalingGroupName/my-auto-scaling-group:policyName/ScaleIn" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified policy to the specified Auto Scaling group.", + "id": "autoscaling-put-scaling-policy-1", + "title": "To add a scaling policy to an Auto Scaling group" + } + ], + "PutScheduledUpdateGroupAction": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 4, + "EndTime": "2014-05-12T08:00:00Z", + "MaxSize": 6, + "MinSize": 2, + "ScheduledActionName": "my-scheduled-action", + "StartTime": "2014-05-12T08:00:00Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified scheduled action to the specified Auto Scaling group.", + "id": "autoscaling-put-scheduled-update-group-action-1", + "title": "To add a scheduled action to an Auto Scaling group" + } + ], + "RecordLifecycleActionHeartbeat": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LifecycleActionToken": "bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635", + "LifecycleHookName": "my-lifecycle-hook" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example records a lifecycle action heartbeat to keep the instance in a pending state.", + "id": "autoscaling-record-lifecycle-action-heartbeat-1", + "title": "To record a lifecycle action heartbeat" + } + ], + "ResumeProcesses": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScalingProcesses": [ + "AlarmNotification" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resumes the specified suspended scaling process for the specified Auto Scaling group.", + "id": "autoscaling-resume-processes-1", + "title": "To resume Auto Scaling processes" + } + ], + "SetDesiredCapacity": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "DesiredCapacity": 2, + "HonorCooldown": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the desired capacity for the specified Auto Scaling group.", + "id": "autoscaling-set-desired-capacity-1", + "title": "To set the desired capacity for an Auto Scaling group" + } + ], + "SetInstanceHealth": [ + { + "input": { + "HealthStatus": "Unhealthy", + "InstanceId": "i-93633f9b" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the health status of the specified instance to Unhealthy.", + "id": "autoscaling-set-instance-health-1", + "title": "To set the health status of an instance" + } + ], + "SetInstanceProtection": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ProtectedFromScaleIn": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables instance protection for the specified instance.", + "id": "autoscaling-set-instance-protection-1", + "title": "To enable instance protection for an instance" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "InstanceIds": [ + "i-93633f9b" + ], + "ProtectedFromScaleIn": false + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables instance protection for the specified instance.", + "id": "autoscaling-set-instance-protection-2", + "title": "To disable instance protection for an instance" + } + ], + "SuspendProcesses": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "ScalingProcesses": [ + "AlarmNotification" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example suspends the specified scaling process for the specified Auto Scaling group.", + "id": "autoscaling-suspend-processes-1", + "title": "To suspend Auto Scaling processes" + } + ], + "TerminateInstanceInAutoScalingGroup": [ + { + "input": { + "InstanceId": "i-93633f9b", + "ShouldDecrementDesiredCapacity": false + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates the specified instance from the specified Auto Scaling group without updating the size of the group. Auto Scaling launches a replacement instance after the specified instance terminates.", + "id": "autoscaling-terminate-instance-in-auto-scaling-group-1", + "title": "To terminate an instance in an Auto Scaling group" + } + ], + "UpdateAutoScalingGroup": [ + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "LaunchConfigurationName": "new-launch-config" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the launch configuration of the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-1", + "title": "To update the launch configuration" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "MaxSize": 3, + "MinSize": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the minimum size and maximum size of the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-2", + "title": "To update the minimum and maximum size" + }, + { + "input": { + "AutoScalingGroupName": "my-auto-scaling-group", + "NewInstancesProtectedFromScaleIn": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables instance protection for the specified Auto Scaling group.", + "id": "autoscaling-update-auto-scaling-group-3", + "title": "To enable instance protection" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -47,6 +47,18 @@ "output_token": "NextToken", "limit_key": "MaxRecords", "result_key": "Tags" + }, + "DescribeLoadBalancerTargetGroups": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "LoadBalancerTargetGroups" + }, + "DescribeLoadBalancers": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "LoadBalancers" } } } diff -Nru python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/autoscaling/2011-01-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling/2011-01-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"autoscaling", "protocol":"query", "serviceFullName":"Auto Scaling", + "serviceId":"Auto Scaling", "signatureVersion":"v4", + "uid":"autoscaling-2011-01-01", "xmlNamespace":"http://autoscaling.amazonaws.com/doc/2011-01-01/" }, "operations":{ @@ -17,9 +19,10 @@ }, "input":{"shape":"AttachInstancesQuery"}, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic load balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Attaches one or more EC2 instances to the specified Auto Scaling group.

When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity of the group by the number of instances being attached. If the number of instances being attached plus the desired capacity of the group exceeds the maximum size of the group, the operation fails.

If there is a Classic Load Balancer attached to your Auto Scaling group, the instances are also registered with the load balancer. If there are target groups attached to your Auto Scaling group, the instances are also registered with the target groups.

For more information, see Attach EC2 Instances to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "AttachLoadBalancerTargetGroups":{ "name":"AttachLoadBalancerTargetGroups", @@ -33,9 +36,10 @@ "resultWrapper":"AttachLoadBalancerTargetGroupsResult" }, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Attaches one or more target groups to the specified Auto Scaling group.

To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups API.

With Application Load Balancers and Network Load Balancers, instances are registered as targets with a target group. With Classic Load Balancers, instances are registered with the load balancer. For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "AttachLoadBalancers":{ "name":"AttachLoadBalancers", @@ -49,9 +53,44 @@ "resultWrapper":"AttachLoadBalancersResult" }, "errors":[ + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} + ], + "documentation":"

To attach an Application Load Balancer or a Network Load Balancer, use the AttachLoadBalancerTargetGroups API operation instead.

Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon EC2 Auto Scaling registers the running instances with these Classic Load Balancers.

To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers API. To detach the load balancer from the Auto Scaling group, call the DetachLoadBalancers API.

For more information, see Attaching a Load Balancer to Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + }, + "BatchDeleteScheduledAction":{ + "name":"BatchDeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteScheduledActionType"}, + "output":{ + "shape":"BatchDeleteScheduledActionAnswer", + "resultWrapper":"BatchDeleteScheduledActionResult" + }, + "errors":[ + {"shape":"ResourceContentionFault"} + ], + "documentation":"

Deletes one or more scheduled actions for the specified Auto Scaling group.

" + }, + "BatchPutScheduledUpdateGroupAction":{ + "name":"BatchPutScheduledUpdateGroupAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchPutScheduledUpdateGroupActionType"}, + "output":{ + "shape":"BatchPutScheduledUpdateGroupActionAnswer", + "resultWrapper":"BatchPutScheduledUpdateGroupActionResult" + }, + "errors":[ + {"shape":"AlreadyExistsFault"}, + {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Attaches one or more Classic load balancers to the specified Auto Scaling group.

To attach an Application load balancer instead, see AttachLoadBalancerTargetGroups.

To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.

For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Creates or updates one or more scheduled scaling actions for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

" }, "CompleteLifecycleAction":{ "name":"CompleteLifecycleAction", @@ -67,7 +106,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Completes the lifecycle action for the specified token or instance with the specified result.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateAutoScalingGroup":{ "name":"CreateAutoScalingGroup", @@ -79,9 +118,10 @@ "errors":[ {"shape":"AlreadyExistsFault"}, {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Auto Scaling Groups in the Auto Scaling User Guide.

" + "documentation":"

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide.

For introductory exercises for creating an Auto Scaling group, see Getting Started with Amazon EC2 Auto Scaling and Tutorial: Set Up a Scaled and Load-Balanced Application in the Amazon EC2 Auto Scaling User Guide. For more information, see Auto Scaling Groups in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateLaunchConfiguration":{ "name":"CreateLaunchConfiguration", @@ -95,7 +135,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.

For more information, see Launch Configurations in the Auto Scaling User Guide.

" + "documentation":"

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, the call fails. To query this limit, call the DescribeAccountLimits API. For information about updating this limit, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide.

For more information, see Launch Configurations in the Amazon EC2 Auto Scaling User Guide.

" }, "CreateOrUpdateTags":{ "name":"CreateOrUpdateTags", @@ -107,9 +147,10 @@ "errors":[ {"shape":"LimitExceededFault"}, {"shape":"AlreadyExistsFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ResourceInUseFault"} ], - "documentation":"

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.

" + "documentation":"

Creates or updates tags for the specified Auto Scaling group.

When you specify a tag with a key that already exists, the operation overwrites the previous tag definition, and you do not get an error message.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "DeleteAutoScalingGroup":{ "name":"DeleteAutoScalingGroup", @@ -123,7 +164,7 @@ {"shape":"ResourceInUseFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity so that Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.

" + "documentation":"

Deletes the specified Auto Scaling group.

If the group has instances or scaling activities in progress, you must specify the option to force the deletion in order for it to succeed.

If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.

To remove instances from the Auto Scaling group before deleting it, call the DetachInstances API with the list of instances and the option to decrement the desired capacity. This ensures that Amazon EC2 Auto Scaling does not launch replacement instances.

To terminate all instances before deleting the Auto Scaling group, call the UpdateAutoScalingGroup API and set the minimum size and desired capacity of the Auto Scaling group to zero.

" }, "DeleteLaunchConfiguration":{ "name":"DeleteLaunchConfiguration", @@ -174,9 +215,10 @@ }, "input":{"shape":"DeletePolicyType"}, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Deletes the specified Auto Scaling policy.

Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

" + "documentation":"

Deletes the specified scaling policy.

Deleting either a step scaling policy or a simple scaling policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.

For more information, see Deleting a Scaling Policy in the Amazon EC2 Auto Scaling User Guide.

" }, "DeleteScheduledAction":{ "name":"DeleteScheduledAction", @@ -198,7 +240,8 @@ }, "input":{"shape":"DeleteTagsType"}, "errors":[ - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ResourceInUseFault"} ], "documentation":"

Deletes the specified tags.

" }, @@ -215,7 +258,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference.

" + "documentation":"

Describes the current Amazon EC2 Auto Scaling resource quotas for your AWS account.

For information about requesting an increase, see Amazon EC2 Auto Scaling Service Quotas in the Amazon EC2 Auto Scaling User Guide.

" }, "DescribeAdjustmentTypes":{ "name":"DescribeAdjustmentTypes", @@ -230,7 +273,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the policy adjustment types for use with PutScalingPolicy.

" + "documentation":"

Describes the available adjustment types for Amazon EC2 Auto Scaling scaling policies. These settings apply to step scaling policies and simple scaling policies; they do not apply to target tracking scaling policies.

The following adjustment types are supported:

  • ChangeInCapacity

  • ExactCapacity

  • PercentChangeInCapacity

" }, "DescribeAutoScalingGroups":{ "name":"DescribeAutoScalingGroups", @@ -279,7 +322,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the notification types that are supported by Auto Scaling.

" + "documentation":"

Describes the notification types that are supported by Amazon EC2 Auto Scaling.

" }, "DescribeLaunchConfigurations":{ "name":"DescribeLaunchConfigurations", @@ -311,7 +354,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the available types of lifecycle hooks.

" + "documentation":"

Describes the available types of lifecycle hooks.

The following hook types are supported:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" }, "DescribeLifecycleHooks":{ "name":"DescribeLifecycleHooks", @@ -359,7 +402,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the load balancers for the specified Auto Scaling group.

Note that this operation describes only Classic load balancers. If you have Application load balancers, use DescribeLoadBalancerTargetGroups instead.

" + "documentation":"

Describes the load balancers for the specified Auto Scaling group.

This operation describes only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use the DescribeLoadBalancerTargetGroups API instead.

" }, "DescribeMetricCollectionTypes":{ "name":"DescribeMetricCollectionTypes", @@ -374,7 +417,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the available CloudWatch metrics for Auto Scaling.

Note that the GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling EnableMetricsCollection.

" + "documentation":"

Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.

The GroupStandbyInstances metric is not returned by default. You must explicitly request this metric when calling the EnableMetricsCollection API.

" }, "DescribeNotificationConfigurations":{ "name":"DescribeNotificationConfigurations", @@ -406,7 +449,8 @@ }, "errors":[ {"shape":"InvalidNextToken"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], "documentation":"

Describes the policies for the specified Auto Scaling group.

" }, @@ -440,7 +484,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.

" + "documentation":"

Describes the scaling process types for use with the ResumeProcesses and SuspendProcesses APIs.

" }, "DescribeScheduledActions":{ "name":"DescribeScheduledActions", @@ -457,7 +501,7 @@ {"shape":"InvalidNextToken"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the actions scheduled for your Auto Scaling group that haven't run. To describe the actions that have already run, use DescribeScalingActivities.

" + "documentation":"

Describes the actions scheduled for your Auto Scaling group that haven't run or that have not reached their end time. To describe the actions that have already run, call the DescribeScalingActivities API.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -474,7 +518,7 @@ {"shape":"InvalidNextToken"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned.

" + "documentation":"

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "DescribeTerminationPolicyTypes":{ "name":"DescribeTerminationPolicyTypes", @@ -489,7 +533,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Describes the termination policies supported by Auto Scaling.

" + "documentation":"

Describes the termination policies supported by Amazon EC2 Auto Scaling.

For more information, see Controlling Which Auto Scaling Instances Terminate During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "DetachInstances":{ "name":"DetachInstances", @@ -505,7 +549,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independently from the rest of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic load balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

Removes one or more instances from the specified Auto Scaling group.

After the instances are detached, you can manage them independent of the Auto Scaling group.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are detached.

If there is a Classic Load Balancer attached to the Auto Scaling group, the instances are deregistered from the load balancer. If there are target groups attached to the Auto Scaling group, the instances are deregistered from the target groups.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "DetachLoadBalancerTargetGroups":{ "name":"DetachLoadBalancerTargetGroups", @@ -537,7 +581,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Detaches one or more Classic load balancers from the specified Auto Scaling group.

Note that this operation detaches only Classic load balancers. If you have Application load balancers, use DetachLoadBalancerTargetGroups instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using DescribeLoadBalancers. Note that the instances remain running.

" + "documentation":"

Detaches one or more Classic Load Balancers from the specified Auto Scaling group.

This operation detaches only Classic Load Balancers. If you have Application Load Balancers or Network Load Balancers, use the DetachLoadBalancerTargetGroups API instead.

When you detach a load balancer, it enters the Removing state while deregistering the instances in the group. When all instances are deregistered, then you can no longer describe the load balancer using the DescribeLoadBalancers API call. The instances remain running.

" }, "DisableMetricsCollection":{ "name":"DisableMetricsCollection", @@ -561,7 +605,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Auto Scaling User Guide.

" + "documentation":"

Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "EnterStandby":{ "name":"EnterStandby", @@ -577,7 +621,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances into Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances into the standby state.

If you choose to decrement the desired capacity of the Auto Scaling group, the instances can enter standby as long as the desired capacity of the Auto Scaling group after the instances are placed into standby is equal to or greater than the minimum capacity of the group.

If you choose not to decrement the desired capacity of the Auto Scaling group, the Auto Scaling group launches new instances to replace the instances on standby.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "ExecutePolicy":{ "name":"ExecutePolicy", @@ -606,7 +650,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Moves the specified instances out of Standby mode.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Moves the specified instances out of the standby state.

After you put the instances back in service, the desired capacity is incremented.

For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "PutLifecycleHook":{ "name":"PutLifecycleHook", @@ -623,7 +667,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates or updates a lifecycle hook for the specified Auto Scaling Group.

A lifecycle hook tells Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle Hooks in the Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" + "documentation":"

Creates or updates a lifecycle hook for the specified Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state using the RecordLifecycleActionHeartbeat API call.

  5. If you finish before the timeout period ends, complete the lifecycle action using the CompleteLifecycleAction API call.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto Scaling group, the call fails.

You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks API call. If you are no longer using a lifecycle hook, you can delete it by calling the DeleteLifecycleHook API.

" }, "PutNotificationConfiguration":{ "name":"PutNotificationConfiguration", @@ -634,9 +678,10 @@ "input":{"shape":"PutNotificationConfigurationType"}, "errors":[ {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information see Getting SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.

" + "documentation":"

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to the specified topic can have messages delivered to an endpoint such as a web server or an email address.

This configuration overwrites any existing configuration.

For more information, see Getting Amazon SNS Notifications When Your Auto Scaling Group Scales in the Amazon EC2 Auto Scaling User Guide.

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -651,9 +696,10 @@ }, "errors":[ {"shape":"LimitExceededFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.

" + "documentation":"

Creates or updates a scaling policy for an Auto Scaling group.

For more information about using scaling policies to scale your Auto Scaling group, see Target Tracking Scaling Policies and Step and Simple Scaling Policies in the Amazon EC2 Auto Scaling User Guide.

" }, "PutScheduledUpdateGroupAction":{ "name":"PutScheduledUpdateGroupAction", @@ -667,7 +713,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Auto Scaling User Guide.

" + "documentation":"

Creates or updates a scheduled scaling action for an Auto Scaling group. If you leave a parameter unspecified when updating a scheduled scaling action, the corresponding value remains unchanged.

For more information, see Scheduled Scaling in the Amazon EC2 Auto Scaling User Guide.

" }, "RecordLifecycleActionHeartbeat":{ "name":"RecordLifecycleActionHeartbeat", @@ -683,7 +729,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using PutLifecycleHook.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Records a heartbeat for the lifecycle action associated with the specified token or instance. This extends the timeout by the length of time defined using the PutLifecycleHook API call.

This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Auto Scaling Lifecycle in the Amazon EC2 Auto Scaling User Guide.

" }, "ResumeProcesses":{ "name":"ResumeProcesses", @@ -696,7 +742,7 @@ {"shape":"ResourceInUseFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Resumes the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.

" + "documentation":"

Resumes the specified suspended automatic scaling processes, or all suspended process, for the specified Auto Scaling group.

For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "SetDesiredCapacity":{ "name":"SetDesiredCapacity", @@ -709,7 +755,7 @@ {"shape":"ScalingActivityInProgressFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Sets the size of the specified Auto Scaling group.

For more information about desired capacity, see What Is Auto Scaling? in the Auto Scaling User Guide.

" + "documentation":"

Sets the size of the specified Auto Scaling group.

If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

For more information, see Manual Scaling in the Amazon EC2 Auto Scaling User Guide.

" }, "SetInstanceHealth":{ "name":"SetInstanceHealth", @@ -721,7 +767,7 @@ "errors":[ {"shape":"ResourceContentionFault"} ], - "documentation":"

Sets the health status of the specified instance.

For more information, see Health Checks in the Auto Scaling User Guide.

" + "documentation":"

Sets the health status of the specified instance.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "SetInstanceProtection":{ "name":"SetInstanceProtection", @@ -738,7 +784,7 @@ {"shape":"LimitExceededFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Updates the instance protection settings of the specified instances.

For more information, see Instance Protection in the Auto Scaling User Guide.

" + "documentation":"

Updates the instance protection settings of the specified instances.

For more information about preventing instances that are part of an Auto Scaling group from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" }, "SuspendProcesses":{ "name":"SuspendProcesses", @@ -751,7 +797,7 @@ {"shape":"ResourceInUseFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group.

Note that if you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.

" + "documentation":"

Suspends the specified automatic scaling processes, or all processes, for the specified Auto Scaling group.

If you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly. For more information, see Suspending and Resuming Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

To resume processes that have been suspended, call the ResumeProcesses API.

" }, "TerminateInstanceInAutoScalingGroup":{ "name":"TerminateInstanceInAutoScalingGroup", @@ -768,7 +814,7 @@ {"shape":"ScalingActivityInProgressFault"}, {"shape":"ResourceContentionFault"} ], - "documentation":"

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately.

" + "documentation":"

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instance is not terminated immediately. When an instance is terminated, the instance status changes to terminated. You can't connect to or start an instance after you've terminated it.

If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto Scaling launches instances to replace the ones that are terminated.

By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones. If you decrement the desired capacity, your Auto Scaling group can become unbalanced between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group, and rebalancing might terminate instances in other zones. For more information, see Rebalancing Activities in the Amazon EC2 Auto Scaling User Guide.

" }, "UpdateAutoScalingGroup":{ "name":"UpdateAutoScalingGroup", @@ -779,9 +825,10 @@ "input":{"shape":"UpdateAutoScalingGroupType"}, "errors":[ {"shape":"ScalingActivityInProgressFault"}, - {"shape":"ResourceContentionFault"} + {"shape":"ResourceContentionFault"}, + {"shape":"ServiceLinkedRoleFailure"} ], - "documentation":"

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to False, you must first disable the collection of group metrics. Otherwise, you will get an error. If you have previously enabled the collection of group metrics, you can disable it using DisableMetricsCollection.

The new settings are registered upon the completion of this call. Any launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't affected.

Note the following:

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MinSize.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, we implicitly call SetDesiredCapacity to set the size of the group to the new value of MaxSize.

  • All other optional parameters are left unchanged if not specified.

" + "documentation":"

Updates the configuration for the specified Auto Scaling group.

To update an Auto Scaling group, specify the name of the group and the parameter that you want to change. Any parameters that you don't specify are not changed by this update request. The new settings take effect on any scaling activities after this call returns.

If you associate a new launch configuration or template with an Auto Scaling group, all new instances will get the updated configuration. Existing instances continue to run with the configuration that they were originally launched with. When you update a group to specify a mixed instances policy instead of a launch configuration or template, existing instances may be replaced to match the new purchasing options that you specified in the policy. For example, if the group currently has 100% On-Demand capacity and the policy specifies 50% Spot capacity, this means that half of your instances will be gradually terminated and relaunched as Spot Instances. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones, so that updating your group does not compromise the performance or availability of your application.

Note the following about changing DesiredCapacity, MaxSize, or MinSize:

  • If a scale-in activity occurs as a result of a new DesiredCapacity value that is lower than the current size of the group, the Auto Scaling group uses its termination policy to determine which instances to terminate.

  • If you specify a new value for MinSize without specifying a value for DesiredCapacity, and the new MinSize is larger than the current size of the group, this sets the group's DesiredCapacity to the new MinSize value.

  • If you specify a new value for MaxSize without specifying a value for DesiredCapacity, and the new MaxSize is smaller than the current size of the group, this sets the group's DesiredCapacity to the new MaxSize value.

To see which parameters have been set, call the DescribeAutoScalingGroups API. To view the scaling policies for an Auto Scaling group, call the DescribePolicies API. If the group has scaling policies, you can update them by calling the PutScalingPolicy API.

" } }, "shapes":{ @@ -799,10 +846,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeScalingActivities.

" + } }, "Activity":{ "type":"structure", @@ -868,8 +914,7 @@ "shape":"Activity", "documentation":"

A scaling activity.

" } - }, - "documentation":"

Contains the output of TerminateInstancesInAutoScalingGroup.

" + } }, "AdjustmentType":{ "type":"structure", @@ -879,7 +924,7 @@ "documentation":"

The policy adjustment type. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" } }, - "documentation":"

Describes a policy adjustment type.

For more information, see Dynamic Scaling in the Auto Scaling User Guide.

" + "documentation":"

Describes a policy adjustment type.

" }, "AdjustmentTypes":{ "type":"list", @@ -932,14 +977,13 @@ "members":{ "InstanceIds":{ "shape":"InstanceIds", - "documentation":"

One or more instance IDs.

" + "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" } - }, - "documentation":"

Contains the parameters for AttachInstances.

" + } }, "AttachLoadBalancerTargetGroupsResultType":{ "type":"structure", @@ -959,16 +1003,14 @@ }, "TargetGroupARNs":{ "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" + "documentation":"

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" } - }, - "documentation":"

Contains the parameters for AttachLoadBalancerTargetGroups.

" + } }, "AttachLoadBalancersResultType":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of AttachLoadBalancers.

" + } }, "AttachLoadBalancersType":{ "type":"structure", @@ -979,14 +1021,13 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "LoadBalancerNames":{ "shape":"LoadBalancerNames", - "documentation":"

One or more load balancer names.

" + "documentation":"

The names of the load balancers. You can specify up to 10 load balancers.

" } - }, - "documentation":"

Contains the parameters for AttachLoadBalancers.

" + } }, "AutoScalingGroup":{ "type":"structure", @@ -1003,16 +1044,24 @@ "members":{ "AutoScalingGroupName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "AutoScalingGroupARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the group.

" + "documentation":"

The Amazon Resource Name (ARN) of the Auto Scaling group.

" }, "LaunchConfigurationName":{ "shape":"XmlStringMaxLen255", "documentation":"

The name of the associated launch configuration.

" }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template for the group.

" + }, + "MixedInstancesPolicy":{ + "shape":"MixedInstancesPolicy", + "documentation":"

The mixed instances policy for the group.

" + }, "MinSize":{ "shape":"AutoScalingGroupMinSize", "documentation":"

The minimum size of the group.

" @@ -1043,11 +1092,11 @@ }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service.

" + "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service.

" }, "Instances":{ "shape":"Instances", @@ -1063,11 +1112,11 @@ }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

One or more subnet IDs, if applicable, separated by commas.

If you specify VPCZoneIdentifier and AvailabilityZones, ensure that the Availability Zones of the subnets match the values for AvailabilityZones.

" + "documentation":"

One or more subnet IDs, if applicable, separated by commas.

" }, "EnabledMetrics":{ "shape":"EnabledMetrics", @@ -1075,7 +1124,7 @@ }, "Status":{ "shape":"XmlStringMaxLen255", - "documentation":"

The current state of the group when DeleteAutoScalingGroup is in progress.

" + "documentation":"

The current state of the group when the DeleteAutoScalingGroup operation is in progress.

" }, "Tags":{ "shape":"TagDescriptionList", @@ -1087,7 +1136,15 @@ }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

" + }, + "ServiceLinkedRoleARN":{ + "shape":"ResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf.

" + }, + "MaxInstanceLifetime":{ + "shape":"MaxInstanceLifetime", + "documentation":"

The maximum amount of time, in seconds, that an instance can be in service.

Valid Range: Minimum value of 0.

" } }, "documentation":"

Describes an Auto Scaling group.

" @@ -1104,7 +1161,7 @@ "members":{ "AutoScalingGroupNames":{ "shape":"AutoScalingGroupNames", - "documentation":"

The group names. If you omit this parameter, all Auto Scaling groups are described.

" + "documentation":"

The names of the Auto Scaling groups. Each name can be a maximum of 1600 characters. By default, you can only specify up to 50 names. You can optionally increase this limit using the MaxRecords parameter.

If you omit this parameter, all Auto Scaling groups are described.

" }, "NextToken":{ "shape":"XmlString", @@ -1112,10 +1169,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeAutoScalingGroups.

" + } }, "AutoScalingGroups":{ "type":"list", @@ -1131,10 +1187,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output for DescribeAutoScalingGroups.

" + } }, "AutoScalingInstanceDetails":{ "type":"structure", @@ -1144,7 +1199,6 @@ "AvailabilityZone", "LifecycleState", "HealthStatus", - "LaunchConfigurationName", "ProtectedFromScaleIn" ], "members":{ @@ -1152,9 +1206,13 @@ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" }, + "InstanceType":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The instance type of the EC2 instance.

" + }, "AutoScalingGroupName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group associated with the instance.

" + "documentation":"

The name of the Auto Scaling group for the instance.

" }, "AvailabilityZone":{ "shape":"XmlStringMaxLen255", @@ -1162,19 +1220,27 @@ }, "LifecycleState":{ "shape":"XmlStringMaxLen32", - "documentation":"

The lifecycle state for the instance. For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

The lifecycle state for the instance.

" }, "HealthStatus":{ "shape":"XmlStringMaxLen32", - "documentation":"

The last reported health status of this instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and Auto Scaling should terminate and replace it.

" + "documentation":"

The last reported health status of this instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and Amazon EC2 Auto Scaling should terminate and replace it.

" }, "LaunchConfigurationName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The launch configuration associated with the instance.

" + "documentation":"

The launch configuration used to launch the instance. This value is not available if you attached the instance to the Auto Scaling group.

" + }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template for the instance.

" }, "ProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" + }, + "WeightedCapacity":{ + "shape":"XmlStringMaxLen32", + "documentation":"

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

" } }, "documentation":"

Describes an EC2 instance associated with an Auto Scaling group.

" @@ -1192,10 +1258,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeAutoScalingInstances.

" + } }, "AutoScalingNotificationTypes":{ "type":"list", @@ -1206,6 +1271,58 @@ "member":{"shape":"XmlStringMaxLen255"}, "min":1 }, + "BatchDeleteScheduledActionAnswer":{ + "type":"structure", + "members":{ + "FailedScheduledActions":{ + "shape":"FailedScheduledUpdateGroupActionRequests", + "documentation":"

The names of the scheduled actions that could not be deleted, including an error message.

" + } + } + }, + "BatchDeleteScheduledActionType":{ + "type":"structure", + "required":[ + "AutoScalingGroupName", + "ScheduledActionNames" + ], + "members":{ + "AutoScalingGroupName":{ + "shape":"ResourceName", + "documentation":"

The name of the Auto Scaling group.

" + }, + "ScheduledActionNames":{ + "shape":"ScheduledActionNames", + "documentation":"

The names of the scheduled actions to delete. The maximum number allowed is 50.

" + } + } + }, + "BatchPutScheduledUpdateGroupActionAnswer":{ + "type":"structure", + "members":{ + "FailedScheduledUpdateGroupActions":{ + "shape":"FailedScheduledUpdateGroupActionRequests", + "documentation":"

The names of the scheduled actions that could not be created or updated, including an error message.

" + } + } + }, + "BatchPutScheduledUpdateGroupActionType":{ + "type":"structure", + "required":[ + "AutoScalingGroupName", + "ScheduledUpdateGroupActions" + ], + "members":{ + "AutoScalingGroupName":{ + "shape":"ResourceName", + "documentation":"

The name of the Auto Scaling group.

" + }, + "ScheduledUpdateGroupActions":{ + "shape":"ScheduledUpdateGroupActionRequests", + "documentation":"

One or more scheduled actions. The maximum number allowed is 50.

" + } + } + }, "BlockDeviceEbsDeleteOnTermination":{"type":"boolean"}, "BlockDeviceEbsEncrypted":{"type":"boolean"}, "BlockDeviceEbsIops":{ @@ -1229,19 +1346,19 @@ "members":{ "VirtualName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the virtual device (for example, ephemeral0).

" + "documentation":"

The name of the virtual device (for example, ephemeral0).

You can specify either VirtualName or Ebs, but not both.

" }, "DeviceName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh).

" + "documentation":"

The device name exposed to the EC2 instance (for example, /dev/sdh or xvdh). For more information, see Device Naming on Linux Instances in the Amazon EC2 User Guide for Linux Instances.

" }, "Ebs":{ "shape":"Ebs", - "documentation":"

The information about the Amazon EBS volume.

" + "documentation":"

Parameters used to automatically set up EBS volumes when an instance is launched.

You can specify either VirtualName or Ebs, but not both.

" }, "NoDevice":{ "shape":"NoDevice", - "documentation":"

Suppresses a device mapping.

If this parameter is true for the root device, the instance might fail the EC2 health check. Auto Scaling launches a replacement instance if the instance fails the health check.

" + "documentation":"

Setting this value to true suppresses the specified device included in the block device mapping of the AMI.

If NoDevice is true for the root device, instances might fail the EC2 health check. In that case, Amazon EC2 Auto Scaling launches replacement instances.

If you specify NoDevice, you cannot specify Ebs.

" } }, "documentation":"

Describes a block device mapping.

" @@ -1257,8 +1374,7 @@ "CompleteLifecycleActionAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of CompleteLifecycleAction.

" + } }, "CompleteLifecycleActionType":{ "type":"structure", @@ -1274,11 +1390,11 @@ }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group for the lifecycle hook.

" + "documentation":"

The name of the Auto Scaling group.

" }, "LifecycleActionToken":{ "shape":"LifecycleActionToken", - "documentation":"

A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.

" + "documentation":"

A universally unique identifier (UUID) that identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.

" }, "LifecycleActionResult":{ "shape":"LifecycleActionResult", @@ -1288,8 +1404,7 @@ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" } - }, - "documentation":"

Contains the parameters for CompleteLifecycleAction.

" + } }, "Cooldown":{"type":"integer"}, "CreateAutoScalingGroupType":{ @@ -1302,15 +1417,23 @@ "members":{ "AutoScalingGroupName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the group. This name must be unique within the scope of your AWS account.

" + "documentation":"

The name of the Auto Scaling group. This name must be unique per Region per account.

" }, "LaunchConfigurationName":{ "shape":"ResourceName", - "documentation":"

The name of the launch configuration. Alternatively, specify an EC2 instance instead of a launch configuration.

" + "documentation":"

The name of the launch configuration to use when an instance is launched. To get the launch configuration name, use the DescribeLaunchConfigurations API operation. New launch configurations can be created with the CreateLaunchConfiguration API.

You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.

" + }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

Parameters used to specify the launch template and version to use when an instance is launched.

For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API Reference.

You can alternatively associate a launch template to the Auto Scaling group by using the MixedInstancesPolicy parameter.

You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.

" + }, + "MixedInstancesPolicy":{ + "shape":"MixedInstancesPolicy", + "documentation":"

An embedded object that specifies a mixed instances policy. The required parameters must be specified. If optional parameters are unspecified, their default values are used.

The policy includes parameters that not only define the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacity, but also the parameters that specify the instance configuration information—the launch template and instance types.

For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.

" }, "InstanceId":{ "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance used to create a launch configuration for the group. Alternatively, specify a launch configuration instead of an EC2 instance.

When you specify an ID of an instance, Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, with the exception of the block device mapping.

For more information, see Create an Auto Scaling Group Using an EC2 Instance in the Auto Scaling User Guide.

" + "documentation":"

The ID of the instance used to create a launch configuration for the group. To get the instance ID, use the Amazon EC2 DescribeInstances API operation.

When you specify an ID of an instance, Amazon EC2 Auto Scaling creates a new launch configuration and associates it with the group. This launch configuration derives its attributes from the specified instance, except for the block device mapping.

You must specify one of the following parameters in your request: LaunchConfigurationName, LaunchTemplate, InstanceId, or MixedInstancesPolicy.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -1318,58 +1441,69 @@ }, "MaxSize":{ "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" + "documentation":"

The maximum size of the group.

With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more than your maximum instance weight (weights that define how many capacity units each instance contributes to the capacity of the group).

" }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

" + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group at the time of its creation and the capacity it attempts to maintain. It can scale beyond this capacity if you configure automatic scaling.

This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group. If you do not specify a desired capacity, the default is the minimum size of the group.

" }, "DefaultCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets.

" + "documentation":"

One or more Availability Zones for the group. This parameter is optional if you specify one or more subnets for VPCZoneIdentifier.

Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into EC2-Classic.

" }, "LoadBalancerNames":{ "shape":"LoadBalancerNames", - "documentation":"

One or more Classic load balancers. To specify an Application load balancer, use TargetGroupARNs instead.

For more information, see Using a Load Balancer With an Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

A list of Classic Load Balancers associated with this Auto Scaling group. For Application Load Balancers and Network Load Balancers, specify a list of target groups using the TargetGroupARNs property instead.

For more information, see Using a Load Balancer with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "TargetGroupARNs":{ "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" + "documentation":"

The Amazon Resource Names (ARN) of the target groups to associate with the Auto Scaling group. Instances are registered as targets in a target group, and traffic is routed to the target group.

For more information, see Using a Load Balancer with an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

By default, health checks use Amazon EC2 instance status checks to determine the health of an instance. For more information, see Health Checks in the Auto Scaling User Guide.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. The default value is EC2. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

For more information, see Health Checks for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default is 0.

This parameter is required if you are adding an ELB health check.

For more information, see Health Checks in the Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. During this time, any health check failures for the instance are ignored. The default value is 0.

For more information, see Health Check Grace Period in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you are adding an ELB health check.

" }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

A comma-separated list of subnet identifiers for your virtual private cloud (VPC).

If you specify subnets and Availability Zones with this call, ensure that the subnets' Availability Zones match the Availability Zones specified.

For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

" + "documentation":"

A comma-separated list of subnet IDs for your virtual private cloud (VPC).

If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones.

Conditional: If your account supports EC2-Classic and VPC, this parameter is required to launch instances into a VPC.

" }, "TerminationPolicies":{ "shape":"TerminationPolicies", - "documentation":"

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" + "documentation":"

One or more termination policies used to select the instance to terminate. These policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" + }, + "LifecycleHookSpecificationList":{ + "shape":"LifecycleHookSpecifications", + "documentation":"

One or more lifecycle hooks.

" }, "Tags":{ "shape":"Tags", - "documentation":"

One or more tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.

" + "documentation":"

One or more tags. You can tag your Auto Scaling group and propagate the tags to the Amazon EC2 instances it launches.

Tags are not propagated to Amazon EBS volumes. To add tags to Amazon EBS volumes, specify the tags in a launch template but use caution. If the launch template specifies an instance tag with a key that is also specified for the Auto Scaling group, Amazon EC2 Auto Scaling overrides the value of that instance tag with the value specified by the Auto Scaling group.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" + }, + "ServiceLinkedRoleARN":{ + "shape":"ResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. By default, Amazon EC2 Auto Scaling uses a service-linked role named AWSServiceRoleForAutoScaling, which it creates if it does not exist. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.

" + }, + "MaxInstanceLifetime":{ + "shape":"MaxInstanceLifetime", + "documentation":"

The maximum amount of time, in seconds, that an instance can be in service. The default is null.

This parameter is optional, but if you specify a value for it, you must specify a value of at least 604,800 seconds (7 days). To clear a previously set value, specify a new value of 0.

For more information, see Replacing Auto Scaling Instances Based on Maximum Instance Lifetime in the Amazon EC2 Auto Scaling User Guide.

Valid Range: Minimum value of 0.

" } - }, - "documentation":"

Contains the parameters for CreateAutoScalingGroup.

" + } }, "CreateLaunchConfigurationType":{ "type":"structure", @@ -1377,39 +1511,39 @@ "members":{ "LaunchConfigurationName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the launch configuration. This name must be unique within the scope of your AWS account.

" + "documentation":"

The name of the launch configuration. This name must be unique per Region per account.

" }, "ImageId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances. For more information, see Finding an AMI in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of the Amazon Machine Image (AMI) that was assigned during registration. For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances.

If you do not specify InstanceId, you must specify ImageId.

" }, "KeyName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the key pair. For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

One or more security groups with which to associate the instances.

If your instances are launched in EC2-Classic, you can either specify security group names or the security group IDs. For more information about security groups for EC2-Classic, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide.

If your instances are launched into a VPC, specify security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" + "documentation":"

A list that contains the security groups to assign to the instances in the Auto Scaling group.

[EC2-VPC] Specify the security group IDs. For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

[EC2-Classic] Specify either the security group names or the security group IDs. For more information, see Amazon EC2 Security Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "ClassicLinkVPCId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter is supported only if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

This parameter can only be used if you are launching EC2-Classic instances.

" }, "ClassicLinkVPCSecurityGroups":{ "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the specified ClassicLink-enabled VPC. This parameter is required if you specify a ClassicLink-enabled VPC, and is not supported otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The IDs of one or more security groups for the specified ClassicLink-enabled VPC. For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify the ClassicLinkVPCId parameter, you must specify this parameter.

" }, "UserData":{ "shape":"XmlStringUserData", - "documentation":"

The user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The Base64-encoded user data to make available to the launched EC2 instances. For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceId":{ "shape":"XmlStringMaxLen19", - "documentation":"

The ID of the instance to use to create the launch configuration.

The new launch configuration derives attributes from the instance, with the exception of the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Auto Scaling User Guide.

" + "documentation":"

The ID of the instance to use to create the launch configuration. The new launch configuration derives attributes from the instance, except for the block device mapping.

To create a launch configuration with a block device mapping or override any other instance attributes, specify them as part of the same request.

For more information, see Create a Launch Configuration Using an EC2 Instance in the Amazon EC2 Auto Scaling User Guide.

If you do not specify InstanceId, you must specify both ImageId and InstanceType.

" }, "InstanceType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The instance type of the EC2 instance. For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies the instance type of the EC2 instance.

For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances.

If you do not specify InstanceId, you must specify InstanceType.

" }, "KernelId":{ "shape":"XmlStringMaxLen255", @@ -1417,38 +1551,37 @@ }, "RamdiskId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the RAM disk associated with the AMI.

" + "documentation":"

The ID of the RAM disk to select.

" }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappings", - "documentation":"

One or more mappings that specify how block devices are exposed to the instance. For more information, see Block Device Mapping in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

A block device mapping, which specifies the block devices for the instance. You can specify virtual devices and EBS volumes. For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceMonitoring":{ "shape":"InstanceMonitoring", - "documentation":"

Enables detailed monitoring (true) or basic monitoring (false) for the Auto Scaling instances.

" + "documentation":"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

The default value is true (enabled).

When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "SpotPrice":{ "shape":"SpotPrice", - "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot market price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Auto Scaling User Guide.

" + "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price. For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

When you change your maximum price by creating a new launch configuration, running instances will continue to run as long as the maximum price for those running instances is higher than the current Spot price.

" }, "IamInstanceProfile":{ "shape":"XmlStringMaxLen1600", - "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

EC2 instances launched with an IAM role will automatically have AWS security credentials available. You can use IAM roles with Auto Scaling to automatically enable applications running on your EC2 instances to securely access other AWS resources. For more information, see Launch Auto Scaling Instances with an IAM Role in the Auto Scaling User Guide.

" + "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.

For more information, see IAM Role for Applications That Run on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "EbsOptimized":{ "shape":"EbsOptimized", - "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. By default, the instance is not optimized for EBS I/O. The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional usage charges apply. For more information, see Amazon EBS-Optimized Instances in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false). The optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization is not available with all instance types. Additional fees are incurred when you enable EBS optimization for an instance type that is not EBS-optimized by default. For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.

The default value is false.

" }, "AssociatePublicIpAddress":{ "shape":"AssociatePublicIpAddress", - "documentation":"

Used for groups that launch instances into a virtual private cloud (VPC). Specifies whether to assign a public IP address to each instance. For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

If you specify this parameter, be sure to specify at least one subnet when you create your group.

Default: If the instance is launched into a default subnet, the default is true. If the instance is launched into a nondefault subnet, the default is false. For more information, see Supported Platforms in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

For Auto Scaling groups that are running in a virtual private cloud (VPC), specifies whether to assign a public IP address to the group's instances. If you specify true, each instance in the Auto Scaling group receives a unique public IP address. For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

If you specify this parameter, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

If the instance is launched into a default subnet, the default is to assign a public IP address, unless you disabled the option to assign a public IP address on the subnet. If the instance is launched into a nondefault subnet, the default is not to assign a public IP address, unless you enabled the option to assign a public IP address on the subnet.

" }, "PlacementTenancy":{ "shape":"XmlStringMaxLen64", - "documentation":"

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware and can only be launched into a VPC.

You must set the value of this parameter to dedicated if want to launch Dedicated Instances into a shared tenancy VPC (VPC with instance placement tenancy attribute set to default).

If you specify this parameter, be sure to specify at least one subnet when you create your group.

For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

Valid values: default | dedicated

" + "documentation":"

The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

To launch dedicated instances into a shared tenancy VPC (a VPC with the instance placement tenancy attribute set to default), you must set the value of this parameter to dedicated.

If you specify PlacementTenancy, you must specify at least one subnet for VPCZoneIdentifier when you create your group.

For more information, see Instance Placement Tenancy in the Amazon EC2 Auto Scaling User Guide.

Valid Values: default | dedicated

" } - }, - "documentation":"

Contains the parameters for CreateLaunchConfiguration.

" + } }, "CreateOrUpdateTagsType":{ "type":"structure", @@ -1458,8 +1591,38 @@ "shape":"Tags", "documentation":"

One or more tags.

" } + } + }, + "CustomizedMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "Namespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensions", + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your scaling policy.

" + }, + "Statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the metric.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric.

" + } }, - "documentation":"

Contains the parameters for CreateOrUpdateTags.

" + "documentation":"

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

To create your customized metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" }, "DeleteAutoScalingGroupType":{ "type":"structure", @@ -1467,20 +1630,18 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group to delete.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ForceDelete":{ "shape":"ForceDelete", - "documentation":"

Specifies that the group will be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This parameter also deletes any lifecycle actions associated with the group.

" + "documentation":"

Specifies that the group is to be deleted along with all instances associated with the group, without waiting for all instances to be terminated. This parameter also deletes any lifecycle actions associated with the group.

" } - }, - "documentation":"

Contains the parameters for DeleteAutoScalingGroup.

" + } }, "DeleteLifecycleHookAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteLifecycleHook.

" + } }, "DeleteLifecycleHookType":{ "type":"structure", @@ -1495,10 +1656,9 @@ }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group for the lifecycle hook.

" + "documentation":"

The name of the Auto Scaling group.

" } - }, - "documentation":"

Contains the parameters for DeleteLifecycleHook.

" + } }, "DeleteNotificationConfigurationType":{ "type":"structure", @@ -1513,10 +1673,9 @@ }, "TopicARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

" } - }, - "documentation":"

Contains the parameters for DeleteNotificationConfiguration.

" + } }, "DeletePolicyType":{ "type":"structure", @@ -1530,8 +1689,7 @@ "shape":"ResourceName", "documentation":"

The name or Amazon Resource Name (ARN) of the policy.

" } - }, - "documentation":"

Contains the parameters for DeletePolicy.

" + } }, "DeleteScheduledActionType":{ "type":"structure", @@ -1548,8 +1706,7 @@ "shape":"ResourceName", "documentation":"

The name of the action to delete.

" } - }, - "documentation":"

Contains the parameters for DeleteScheduledAction.

" + } }, "DeleteTagsType":{ "type":"structure", @@ -1559,19 +1716,18 @@ "shape":"Tags", "documentation":"

One or more tags.

" } - }, - "documentation":"

Contains the parameters for DeleteTags.

" + } }, "DescribeAccountLimitsAnswer":{ "type":"structure", "members":{ "MaxNumberOfAutoScalingGroups":{ "shape":"MaxNumberOfAutoScalingGroups", - "documentation":"

The maximum number of groups allowed for your AWS account. The default limit is 20 per region.

" + "documentation":"

The maximum number of groups allowed for your AWS account. The default is 200 groups per AWS Region.

" }, "MaxNumberOfLaunchConfigurations":{ "shape":"MaxNumberOfLaunchConfigurations", - "documentation":"

The maximum number of launch configurations allowed for your AWS account. The default limit is 100 per region.

" + "documentation":"

The maximum number of launch configurations allowed for your AWS account. The default is 200 launch configurations per AWS Region.

" }, "NumberOfAutoScalingGroups":{ "shape":"NumberOfAutoScalingGroups", @@ -1581,8 +1737,7 @@ "shape":"NumberOfLaunchConfigurations", "documentation":"

The current number of launch configurations for your AWS account.

" } - }, - "documentation":"

Contains the parameters for DescribeAccountLimits.

" + } }, "DescribeAdjustmentTypesAnswer":{ "type":"structure", @@ -1591,26 +1746,24 @@ "shape":"AdjustmentTypes", "documentation":"

The policy adjustment types.

" } - }, - "documentation":"

Contains the parameters for DescribeAdjustmentTypes.

" + } }, "DescribeAutoScalingInstancesType":{ "type":"structure", "members":{ "InstanceIds":{ "shape":"InstanceIds", - "documentation":"

The instances to describe; up to 50 instance IDs. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.

" + "documentation":"

The IDs of the instances. You can specify up to MaxRecords IDs. If you omit this parameter, all Auto Scaling instances are described. If you specify an ID that does not exist, it is ignored with no error.

" }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 50.

" }, "NextToken":{ "shape":"XmlString", "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" } - }, - "documentation":"

Contains the parameters for DescribeAutoScalingInstances.

" + } }, "DescribeAutoScalingNotificationTypesAnswer":{ "type":"structure", @@ -1619,8 +1772,7 @@ "shape":"AutoScalingNotificationTypes", "documentation":"

The notification types.

" } - }, - "documentation":"

Contains the output of DescribeAutoScalingNotificationTypes.

" + } }, "DescribeLifecycleHookTypesAnswer":{ "type":"structure", @@ -1629,8 +1781,7 @@ "shape":"AutoScalingNotificationTypes", "documentation":"

The lifecycle hook types.

" } - }, - "documentation":"

Contains the output of DescribeLifecycleHookTypes.

" + } }, "DescribeLifecycleHooksAnswer":{ "type":"structure", @@ -1639,8 +1790,7 @@ "shape":"LifecycleHooks", "documentation":"

The lifecycle hooks for the specified group.

" } - }, - "documentation":"

Contains the output of DescribeLifecycleHooks.

" + } }, "DescribeLifecycleHooksType":{ "type":"structure", @@ -1648,14 +1798,13 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "LifecycleHookNames":{ "shape":"LifecycleHookNames", "documentation":"

The names of one or more lifecycle hooks. If you omit this parameter, all lifecycle hooks are described.

" } - }, - "documentation":"

Contains the parameters for DescribeLifecycleHooks.

" + } }, "DescribeLoadBalancerTargetGroupsRequest":{ "type":"structure", @@ -1671,10 +1820,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerTargetGroups.

" + } }, "DescribeLoadBalancerTargetGroupsResponse":{ "type":"structure", @@ -1685,10 +1833,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancerTargetGroups.

" + } }, "DescribeLoadBalancersRequest":{ "type":"structure", @@ -1696,7 +1843,7 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "NextToken":{ "shape":"XmlString", @@ -1704,10 +1851,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancers.

" + } }, "DescribeLoadBalancersResponse":{ "type":"structure", @@ -1718,10 +1864,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancers.

" + } }, "DescribeMetricCollectionTypesAnswer":{ "type":"structure", @@ -1734,8 +1879,7 @@ "shape":"MetricGranularityTypes", "documentation":"

The granularities for the metrics.

" } - }, - "documentation":"

Contains the output of DescribeMetricsCollectionTypes.

" + } }, "DescribeNotificationConfigurationsAnswer":{ "type":"structure", @@ -1747,17 +1891,16 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output from DescribeNotificationConfigurations.

" + } }, "DescribeNotificationConfigurationsType":{ "type":"structure", "members":{ "AutoScalingGroupNames":{ "shape":"AutoScalingGroupNames", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "NextToken":{ "shape":"XmlString", @@ -1765,25 +1908,24 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeNotificationConfigurations.

" + } }, "DescribePoliciesType":{ "type":"structure", "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "PolicyNames":{ "shape":"PolicyNames", - "documentation":"

One or more policy names or policy ARNs to be described. If you omit this parameter, all policy names are described. If an group name is provided, the results are limited to that group. This list is limited to 50 items. If you specify an unknown policy name, it is ignored with no error.

" + "documentation":"

The names of one or more policies. If you omit this parameter, all policies are described. If a group name is provided, the results are limited to that group. This list is limited to 50 items. If you specify an unknown policy name, it is ignored with no error.

" }, "PolicyTypes":{ "shape":"PolicyTypes", - "documentation":"

One or more policy types. Valid values are SimpleScaling and StepScaling.

" + "documentation":"

One or more policy types. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling.

" }, "NextToken":{ "shape":"XmlString", @@ -1791,43 +1933,41 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to be returned with each call.

" + "documentation":"

The maximum number of items to be returned with each call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribePolicies.

" + } }, "DescribeScalingActivitiesType":{ "type":"structure", "members":{ "ActivityIds":{ "shape":"ActivityIds", - "documentation":"

The activity IDs of the desired scaling activities. If you omit this parameter, all activities for the past six weeks are described. If you specify an Auto Scaling group, the results are limited to that group. The list of requested activities cannot contain more than 50 items. If unknown activities are requested, they are ignored with no error.

" + "documentation":"

The activity IDs of the desired scaling activities. You can specify up to 50 IDs. If you omit this parameter, all activities for the past six weeks are described. If unknown activities are requested, they are ignored with no error. If you specify an Auto Scaling group, the results are limited to that group.

" }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 100 and the maximum value is 100.

" }, "NextToken":{ "shape":"XmlString", "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" } - }, - "documentation":"

Contains the parameters for DescribeScalingActivities.

" + } }, "DescribeScheduledActionsType":{ "type":"structure", "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ScheduledActionNames":{ "shape":"ScheduledActionNames", - "documentation":"

Describes one or more scheduled actions. If you omit this parameter, all scheduled actions are described. If you specify an unknown scheduled action, it is ignored with no error.

You can describe up to a maximum of 50 instances with a single call. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token.

" + "documentation":"

The names of one or more scheduled actions. You can specify up to 50 actions. If you omit this parameter, all scheduled actions are described. If you specify an unknown scheduled action, it is ignored with no error.

" }, "StartTime":{ "shape":"TimestampType", @@ -1843,17 +1983,16 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeScheduledActions.

" + } }, "DescribeTagsType":{ "type":"structure", "members":{ "Filters":{ "shape":"Filters", - "documentation":"

A filter used to scope the tags to return.

" + "documentation":"

One or more filters to scope the tags to return. The maximum number of filters per filter type (for example, auto-scaling-group) is 1000.

" }, "NextToken":{ "shape":"XmlString", @@ -1861,20 +2000,18 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeTags.

" + } }, "DescribeTerminationPolicyTypesAnswer":{ "type":"structure", "members":{ "TerminationPolicyTypes":{ "shape":"TerminationPolicies", - "documentation":"

The termination policies supported by Auto Scaling (OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, and Default).

" + "documentation":"

The termination policies supported by Amazon EC2 Auto Scaling: OldestInstance, OldestLaunchConfiguration, NewestInstance, ClosestToNextInstanceHour, Default, OldestLaunchTemplate, and AllocationStrategy.

" } - }, - "documentation":"

Contains the output of DescribeTerminationPolicyTypes.

" + } }, "DetachInstancesAnswer":{ "type":"structure", @@ -1883,8 +2020,7 @@ "shape":"Activities", "documentation":"

The activities related to detaching the instances from the Auto Scaling group.

" } - }, - "documentation":"

Contains the output of DetachInstances.

" + } }, "DetachInstancesQuery":{ "type":"structure", @@ -1895,18 +2031,17 @@ "members":{ "InstanceIds":{ "shape":"InstanceIds", - "documentation":"

One or more instance IDs.

" + "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ShouldDecrementDesiredCapacity":{ "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

If True, the Auto Scaling group decrements the desired capacity value by the number of instances detached.

" + "documentation":"

Indicates whether the Auto Scaling group decrements the desired capacity value by the number of instances detached.

" } - }, - "documentation":"

Contains the parameters for DetachInstances.

" + } }, "DetachLoadBalancerTargetGroupsResultType":{ "type":"structure", @@ -1926,15 +2061,14 @@ }, "TargetGroupARNs":{ "shape":"TargetGroupARNs", - "documentation":"

The Amazon Resource Names (ARN) of the target groups.

" + "documentation":"

The Amazon Resource Names (ARN) of the target groups. You can specify up to 10 target groups.

" } } }, "DetachLoadBalancersResultType":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output for DetachLoadBalancers.

" + } }, "DetachLoadBalancersType":{ "type":"structure", @@ -1949,10 +2083,9 @@ }, "LoadBalancerNames":{ "shape":"LoadBalancerNames", - "documentation":"

One or more load balancer names.

" + "documentation":"

The names of the load balancers. You can specify up to 10 load balancers.

" } - }, - "documentation":"

Contains the parameters for DetachLoadBalancers.

" + } }, "DisableMetricsCollectionQuery":{ "type":"structure", @@ -1960,44 +2093,44 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or Amazon Resource Name (ARN) of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "Metrics":{ "shape":"Metrics", - "documentation":"

One or more of the following metrics. If you omit this parameter, all metrics are disabled.

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" + "documentation":"

Specifies one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

If you omit this parameter, all metrics are disabled.

" } - }, - "documentation":"

Contains the parameters for DisableMetricsCollection.

" + } }, + "DisableScaleIn":{"type":"boolean"}, "Ebs":{ "type":"structure", "members":{ "SnapshotId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the snapshot.

" + "documentation":"

The snapshot ID of the volume to use.

Conditional: This parameter is optional if you specify a volume size. If you specify both SnapshotId and VolumeSize, VolumeSize must be equal or greater than the size of the snapshot.

" }, "VolumeSize":{ "shape":"BlockDeviceEbsVolumeSize", - "documentation":"

The volume size, in GiB. For standard volumes, specify a value from 1 to 1,024. For io1 volumes, specify a value from 4 to 16,384. For gp2 volumes, specify a value from 1 to 16,384. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.

" + "documentation":"

The volume size, in Gibibytes (GiB).

This can be a number from 1-1,024 for standard, 4-16,384 for io1, 1-16,384 for gp2, and 500-16,384 for st1 and sc1. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you create a volume from a snapshot and you don't specify a volume size, the default is the snapshot size.

At least one of VolumeSize or SnapshotId is required.

" }, "VolumeType":{ "shape":"BlockDeviceEbsVolumeType", - "documentation":"

The volume type. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Valid values: standard | io1 | gp2

Default: standard

" + "documentation":"

The volume type, which can be standard for Magnetic, io1 for Provisioned IOPS SSD, gp2 for General Purpose SSD, st1 for Throughput Optimized HDD, or sc1 for Cold HDD. For more information, see Amazon EBS Volume Types in the Amazon EC2 User Guide for Linux Instances.

Valid Values: standard | io1 | gp2 | st1 | sc1

" }, "DeleteOnTermination":{ "shape":"BlockDeviceEbsDeleteOnTermination", - "documentation":"

Indicates whether the volume is deleted on instance termination.

Default: true

" + "documentation":"

Indicates whether the volume is deleted on instance termination. For Amazon EC2 Auto Scaling, the default value is true.

" }, "Iops":{ "shape":"BlockDeviceEbsIops", - "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume.

Constraint: Required when the volume type is io1.

" + "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume. The maximum ratio of IOPS to volume size (in GiB) is 50:1. For more information, see Amazon EBS Volume Types in the Amazon EC2 User Guide for Linux Instances.

Conditional: This parameter is required when the volume type is io1. (Not used with standard, gp2, st1, or sc1 volumes.)

" }, "Encrypted":{ "shape":"BlockDeviceEbsEncrypted", - "documentation":"

Indicates whether the volume should be encrypted. Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are automatically encrypted. There is no way to create an encrypted volume from an unencrypted snapshot or an unencrypted volume from an encrypted snapshot. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

Specifies whether the volume should be encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types. If your AMI uses encrypted volumes, you can also only launch it on supported instance types.

If you are creating a volume from a snapshot, you cannot specify an encryption value. Volumes that are created from encrypted snapshots are automatically encrypted, and volumes that are created from unencrypted snapshots are automatically unencrypted. By default, encrypted snapshots use the AWS managed CMK that is used for EBS encryption, but you can specify a custom CMK when you create the snapshot. The ability to encrypt a snapshot during copying also allows you to apply a new CMK to an already-encrypted snapshot. Volumes restored from the resulting copy are only accessible using the new CMK.

Enabling encryption by default results in all EBS volumes being encrypted with the AWS managed CMK or a customer managed CMK, whether or not the snapshot was encrypted.

For more information, see Using Encryption with EBS-Backed AMIs in the Amazon EC2 User Guide for Linux Instances and Required CMK Key Policy for Use with Encrypted Volumes in the Amazon EC2 Auto Scaling User Guide.

" } }, - "documentation":"

Describes an Amazon EBS volume.

" + "documentation":"

Describes information used to set up an Amazon EBS volume specified in a block device mapping.

" }, "EbsOptimized":{"type":"boolean"}, "EnableMetricsCollectionQuery":{ @@ -2009,25 +2142,24 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or ARN of the Auto Scaling group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "Metrics":{ "shape":"Metrics", - "documentation":"

One or more of the following metrics. If you omit this parameter, all metrics are enabled.

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" + "documentation":"

Specifies which group-level metrics to start collecting. You can specify one or more of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

The instance weighting feature supports the following additional metrics:

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

If you omit this parameter, all metrics are enabled.

" }, "Granularity":{ "shape":"XmlStringMaxLen255", "documentation":"

The granularity to associate with the metrics to collect. The only valid value is 1Minute.

" } - }, - "documentation":"

Contains the parameters for EnableMetricsCollection.

" + } }, "EnabledMetric":{ "type":"structure", "members":{ "Metric":{ "shape":"XmlStringMaxLen255", - "documentation":"

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

" + "documentation":"

One of the following metrics:

  • GroupMinSize

  • GroupMaxSize

  • GroupDesiredCapacity

  • GroupInServiceInstances

  • GroupPendingInstances

  • GroupStandbyInstances

  • GroupTerminatingInstances

  • GroupTotalInstances

  • GroupInServiceCapacity

  • GroupPendingCapacity

  • GroupStandbyCapacity

  • GroupTerminatingCapacity

  • GroupTotalCapacity

" }, "Granularity":{ "shape":"XmlStringMaxLen255", @@ -2047,8 +2179,7 @@ "shape":"Activities", "documentation":"

The activities related to moving instances into Standby mode.

" } - }, - "documentation":"

Contains the output of EnterStandby.

" + } }, "EnterStandbyQuery":{ "type":"structure", @@ -2059,7 +2190,7 @@ "members":{ "InstanceIds":{ "shape":"InstanceIds", - "documentation":"

One or more instances to move into Standby mode. You must specify at least one instance ID.

" + "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" }, "AutoScalingGroupName":{ "shape":"ResourceName", @@ -2067,10 +2198,9 @@ }, "ShouldDecrementDesiredCapacity":{ "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

Specifies whether the instances moved to Standby mode count as part of the Auto Scaling group's desired capacity. If set, the desired capacity for the Auto Scaling group decrements by the number of instances moved to Standby mode.

" + "documentation":"

Indicates whether to decrement the desired capacity of the Auto Scaling group by the number of instances moved to Standby mode.

" } - }, - "documentation":"

Contains the parameters for EnteStandby.

" + } }, "EstimatedInstanceWarmup":{"type":"integer"}, "ExecutePolicyType":{ @@ -2079,7 +2209,7 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or Amazon Resource Name (ARN) of the Auto Scaling group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "PolicyName":{ "shape":"ResourceName", @@ -2087,18 +2217,17 @@ }, "HonorCooldown":{ "shape":"HonorCooldown", - "documentation":"

If this parameter is true, Auto Scaling waits for the cooldown period to complete before executing the policy. Otherwise, Auto Scaling executes the policy without waiting for the cooldown period to complete.

This parameter is not supported if the policy type is StepScaling.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

" + "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before executing the policy.

This parameter is not supported if the policy type is StepScaling or TargetTrackingScaling.

For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "MetricValue":{ "shape":"MetricScale", - "documentation":"

The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.

If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

The metric value to compare to BreachThreshold. This enables you to execute a policy of type StepScaling and determine which step adjustment to use. For example, if the breach threshold is 50 and you want to use a step adjustment with a lower bound of 0 and an upper bound of 10, you can set the metric value to 59.

If you specify a metric value that doesn't correspond to a step adjustment for the policy, the call returns an error.

Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.

" }, "BreachThreshold":{ "shape":"MetricScale", - "documentation":"

The breach threshold for the alarm.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

The breach threshold for the alarm.

Conditional: This parameter is required if the policy type is StepScaling and not supported otherwise.

" } - }, - "documentation":"

Contains the parameters for ExecutePolicy.

" + } }, "ExitStandbyAnswer":{ "type":"structure", @@ -2107,8 +2236,7 @@ "shape":"Activities", "documentation":"

The activities related to moving instances out of Standby mode.

" } - }, - "documentation":"

Contains the parameters for ExitStandby.

" + } }, "ExitStandbyQuery":{ "type":"structure", @@ -2116,28 +2244,50 @@ "members":{ "InstanceIds":{ "shape":"InstanceIds", - "documentation":"

One or more instance IDs. You must specify at least one instance ID.

" + "documentation":"

The IDs of the instances. You can specify up to 20 instances.

" }, "AutoScalingGroupName":{ "shape":"ResourceName", "documentation":"

The name of the Auto Scaling group.

" } + } + }, + "FailedScheduledUpdateGroupActionRequest":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The name of the scheduled action.

" + }, + "ErrorCode":{ + "shape":"XmlStringMaxLen64", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"XmlString", + "documentation":"

The error message accompanying the error code.

" + } }, - "documentation":"

Contains the parameters for ExitStandby.

" + "documentation":"

Describes a scheduled action that could not be created, updated, or deleted.

" + }, + "FailedScheduledUpdateGroupActionRequests":{ + "type":"list", + "member":{"shape":"FailedScheduledUpdateGroupActionRequest"} }, "Filter":{ "type":"structure", "members":{ "Name":{ "shape":"XmlString", - "documentation":"

The name of the filter. The valid values are: \"auto-scaling-group\", \"key\", \"value\", and \"propagate-at-launch\".

" + "documentation":"

The name of the filter. The valid values are: auto-scaling-group, key, value, and propagate-at-launch.

" }, "Values":{ "shape":"Values", - "documentation":"

The value of the filter.

" + "documentation":"

One or more filter values. Filter values are case-sensitive.

" } }, - "documentation":"

Describes a filter.

" + "documentation":"

Describes a filter that is used to return a more specific list of results when describing tags.

For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "Filters":{ "type":"list", @@ -2155,7 +2305,6 @@ "AvailabilityZone", "LifecycleState", "HealthStatus", - "LaunchConfigurationName", "ProtectedFromScaleIn" ], "members":{ @@ -2163,25 +2312,37 @@ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" }, + "InstanceType":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The instance type of the EC2 instance.

" + }, "AvailabilityZone":{ "shape":"XmlStringMaxLen255", "documentation":"

The Availability Zone in which the instance is running.

" }, "LifecycleState":{ "shape":"LifecycleState", - "documentation":"

A description of the current lifecycle state. Note that the Quarantined state is not used.

" + "documentation":"

A description of the current lifecycle state. The Quarantined state is not used.

" }, "HealthStatus":{ "shape":"XmlStringMaxLen32", - "documentation":"

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and Auto Scaling should terminate and replace it.

" + "documentation":"

The last reported health status of the instance. \"Healthy\" means that the instance is healthy and should remain in service. \"Unhealthy\" means that the instance is unhealthy and that Amazon EC2 Auto Scaling should terminate and replace it.

" }, "LaunchConfigurationName":{ "shape":"XmlStringMaxLen255", "documentation":"

The launch configuration associated with the instance.

" }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template for the instance.

" + }, "ProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" + }, + "WeightedCapacity":{ + "shape":"XmlStringMaxLen32", + "documentation":"

The number of capacity units contributed by the instance based on its instance type.

Valid Range: Minimum value of 1. Maximum value of 999.

" } }, "documentation":"

Describes an EC2 instance.

" @@ -2195,16 +2356,46 @@ "members":{ "Enabled":{ "shape":"MonitoringEnabled", - "documentation":"

If True, instance monitoring is enabled.

" + "documentation":"

If true, detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

" } }, - "documentation":"

Describes whether instance monitoring is enabled.

" + "documentation":"

Describes whether detailed monitoring is enabled for the Auto Scaling instances.

" }, "InstanceProtected":{"type":"boolean"}, "Instances":{ "type":"list", "member":{"shape":"Instance"} }, + "InstancesDistribution":{ + "type":"structure", + "members":{ + "OnDemandAllocationStrategy":{ + "shape":"XmlString", + "documentation":"

Indicates how to allocate instance types to fulfill On-Demand capacity.

The only valid value is prioritized, which is also the default value. This strategy uses the order of instance type overrides for the LaunchTemplate to define the launch priority of each instance type. The first instance type in the array is prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled using your highest priority instance, then the Auto Scaling groups launches the remaining capacity using the second priority instance type, and so on.

" + }, + "OnDemandBaseCapacity":{ + "shape":"OnDemandBaseCapacity", + "documentation":"

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand Instances. This base portion is provisioned first as your group scales.

Default if not set is 0. If you leave it set to 0, On-Demand Instances are launched as a percentage of the Auto Scaling group's desired capacity, per the OnDemandPercentageAboveBaseCapacity setting.

An update to this setting means a gradual replacement of instances to maintain the specified number of On-Demand Instances for your base capacity. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones.

" + }, + "OnDemandPercentageAboveBaseCapacity":{ + "shape":"OnDemandPercentageAboveBaseCapacity", + "documentation":"

Controls the percentages of On-Demand Instances and Spot Instances for your additional capacity beyond OnDemandBaseCapacity.

Default if not set is 100. If you leave it set to 100, the percentages are 100% for On-Demand Instances and 0% for Spot Instances.

An update to this setting means a gradual replacement of instances to maintain the percentage of On-Demand Instances for your additional capacity above the base capacity. When replacing instances, Amazon EC2 Auto Scaling launches new instances before terminating the old ones.

Valid Range: Minimum value of 0. Maximum value of 100.

" + }, + "SpotAllocationStrategy":{ + "shape":"XmlString", + "documentation":"

Indicates how to allocate instances across Spot Instance pools.

If the allocation strategy is lowest-price, the Auto Scaling group launches instances using the Spot pools with the lowest price, and evenly allocates your instances across the number of Spot pools that you specify. If the allocation strategy is capacity-optimized, the Auto Scaling group launches instances using Spot pools that are optimally chosen based on the available Spot capacity.

The default Spot allocation strategy for calls that you make through the API, the AWS CLI, or the AWS SDKs is lowest-price. The default Spot allocation strategy for the AWS Management Console is capacity-optimized.

Valid values: lowest-price | capacity-optimized

" + }, + "SpotInstancePools":{ + "shape":"SpotInstancePools", + "documentation":"

The number of Spot Instance pools across which to allocate your Spot Instances. The Spot pools are determined from the different instance types in the Overrides array of LaunchTemplate. Default if not set is 2.

Used only when the Spot allocation strategy is lowest-price.

Valid Range: Minimum value of 1. Maximum value of 20.

" + }, + "SpotMaxPrice":{ + "shape":"MixedInstanceSpotPrice", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. If you leave the value of this parameter blank (which is the default), the maximum Spot price is set at the On-Demand price.

To remove a value that you previously set, include the parameter but leave the value blank.

" + } + }, + "documentation":"

Describes an instances distribution for an Auto Scaling group with MixedInstancesPolicy.

The instances distribution specifies the distribution of On-Demand Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacity.

When you update SpotAllocationStrategy, SpotInstancePools, or SpotMaxPrice, this update action does not deploy any changes across the running Amazon EC2 instances in the group. Your existing Spot Instances continue to run as long as the maximum price for those instances is higher than the current Spot price. When scale out occurs, Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

" + }, "InvalidNextToken":{ "type":"structure", "members":{ @@ -2240,31 +2431,31 @@ }, "ImageId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of the Amazon Machine Image (AMI).

" + "documentation":"

The ID of the Amazon Machine Image (AMI) to use to launch your EC2 instances.

For more information, see Finding an AMI in the Amazon EC2 User Guide for Linux Instances.

" }, "KeyName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the key pair.

" + "documentation":"

The name of the key pair.

For more information, see Amazon EC2 Key Pairs in the Amazon EC2 User Guide for Linux Instances.

" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

The security groups to associate with the instances.

" + "documentation":"

A list that contains the security groups to assign to the instances in the Auto Scaling group.

For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" }, "ClassicLinkVPCId":{ "shape":"XmlStringMaxLen255", - "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to. This parameter can only be used if you are launching EC2-Classic instances. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The ID of a ClassicLink-enabled VPC to link your EC2-Classic instances to.

For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

" }, "ClassicLinkVPCSecurityGroups":{ "shape":"ClassicLinkVPCSecurityGroups", - "documentation":"

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId. This parameter is required if you specify a ClassicLink-enabled VPC, and cannot be used otherwise. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The IDs of one or more security groups for the VPC specified in ClassicLinkVPCId.

For more information, see ClassicLink in the Amazon EC2 User Guide for Linux Instances and Linking EC2-Classic Instances to a VPC in the Amazon EC2 Auto Scaling User Guide.

" }, "UserData":{ "shape":"XmlStringUserData", - "documentation":"

The user data available to the instances.

" + "documentation":"

The Base64-encoded user data to make available to the launched EC2 instances.

For more information, see Instance Metadata and User Data in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The instance type for the instances.

" + "documentation":"

The instance type for the instances.

For information about available instance types, see Available Instance Types in the Amazon EC2 User Guide for Linux Instances.

" }, "KernelId":{ "shape":"XmlStringMaxLen255", @@ -2276,19 +2467,19 @@ }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappings", - "documentation":"

A block device mapping, which specifies the block devices for the instance.

" + "documentation":"

A block device mapping, which specifies the block devices for the instance.

For more information, see Block Device Mapping in the Amazon EC2 User Guide for Linux Instances.

" }, "InstanceMonitoring":{ "shape":"InstanceMonitoring", - "documentation":"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

" + "documentation":"

Controls whether instances in this group are launched with detailed (true) or basic (false) monitoring.

For more information, see Configure Monitoring for Auto Scaling Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "SpotPrice":{ "shape":"SpotPrice", - "documentation":"

The price to bid when launching Spot Instances.

" + "documentation":"

The maximum hourly price to be paid for any Spot Instance launched to fulfill the request. Spot Instances are launched when the price you specify exceeds the current Spot price.

For more information, see Launching Spot Instances in Your Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "IamInstanceProfile":{ "shape":"XmlStringMaxLen1600", - "documentation":"

The name or Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance.

" + "documentation":"

The name or the Amazon Resource Name (ARN) of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.

For more information, see IAM Role for Applications That Run on Amazon EC2 Instances in the Amazon EC2 Auto Scaling User Guide.

" }, "CreatedTime":{ "shape":"TimestampType", @@ -2296,15 +2487,15 @@ }, "EbsOptimized":{ "shape":"EbsOptimized", - "documentation":"

Controls whether the instance is optimized for EBS I/O (true) or not (false).

" + "documentation":"

Specifies whether the launch configuration is optimized for EBS I/O (true) or not (false).

For more information, see Amazon EBS-Optimized Instances in the Amazon EC2 User Guide for Linux Instances.

" }, "AssociatePublicIpAddress":{ "shape":"AssociatePublicIpAddress", - "documentation":"

[EC2-VPC] Indicates whether to assign a public IP address to each instance.

" + "documentation":"

For Auto Scaling groups that are running in a VPC, specifies whether to assign a public IP address to the group's instances.

For more information, see Launching Auto Scaling Instances in a VPC in the Amazon EC2 Auto Scaling User Guide.

" }, "PlacementTenancy":{ "shape":"XmlStringMaxLen64", - "documentation":"

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs in an isolated, single-tenant hardware and can only be launched into a VPC.

" + "documentation":"

The tenancy of the instance, either default or dedicated. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

For more information, see Instance Placement Tenancy in the Amazon EC2 Auto Scaling User Guide.

" } }, "documentation":"

Describes a launch configuration.

" @@ -2317,8 +2508,7 @@ "shape":"ResourceName", "documentation":"

The name of the launch configuration.

" } - }, - "documentation":"

Contains the parameters for DeleteLaunchConfiguration.

" + } }, "LaunchConfigurationNames":{ "type":"list", @@ -2337,10 +2527,9 @@ }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

The maximum number of items to return with this call. The default is 100.

" + "documentation":"

The maximum number of items to return with this call. The default value is 50 and the maximum value is 100.

" } - }, - "documentation":"

Contains the parameters for DescribeLaunchConfigurations.

" + } }, "LaunchConfigurations":{ "type":"list", @@ -2356,10 +2545,61 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" + } + } + }, + "LaunchTemplate":{ + "type":"structure", + "members":{ + "LaunchTemplateSpecification":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" + }, + "Overrides":{ + "shape":"Overrides", + "documentation":"

Any parameters that you specify override the same parameters in the launch template. Currently, the only supported override is instance type. You can specify between 1 and 20 instance types.

If not provided, Amazon EC2 Auto Scaling will use the instance type specified in the launch template to launch instances.

" + } + }, + "documentation":"

Describes a launch template and overrides.

The overrides are used to override the instance type specified by the launch template with multiple instance types that can be used to launch On-Demand Instances and Spot Instances.

When you update the launch template or overrides, existing Amazon EC2 instances continue to run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination policies.

" + }, + "LaunchTemplateName":{ + "type":"string", + "max":128, + "min":3, + "pattern":"[a-zA-Z0-9\\(\\)\\.-/_]+" + }, + "LaunchTemplateOverrides":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The instance type. You must use an instance type that is supported in your requested Region and Availability Zones.

For information about available instance types, see Available Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + }, + "WeightedCapacity":{ + "shape":"XmlStringMaxLen32", + "documentation":"

The number of capacity units, which gives the instance type a proportional weight to other instance types. For example, larger instance types are generally weighted more than smaller instance types. These are the same units that you chose to set the desired capacity in terms of instances, or a performance attribute such as vCPUs, memory, or I/O.

For more information, see Instance Weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

Valid Range: Minimum value of 1. Maximum value of 999.

" + } + }, + "documentation":"

Describes an override for a launch template. Currently, the only supported override is instance type.

The maximum number of instance type overrides that can be associated with an Auto Scaling group is 20.

" + }, + "LaunchTemplateSpecification":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The ID of the launch template. To get the template ID, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

You must specify either a template ID or a template name.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. To get the template name, use the Amazon EC2 DescribeLaunchTemplates API operation. New launch templates can be created using the Amazon EC2 CreateLaunchTemplate API.

You must specify either a template ID or a template name.

" + }, + "Version":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The version number, $Latest, or $Default. To get the version number, use the Amazon EC2 DescribeLaunchTemplateVersions API operation. New launch template versions can be created using the Amazon EC2 CreateLaunchTemplateVersion API.

If the value is $Latest, Amazon EC2 Auto Scaling selects the latest version of the launch template when launching instances. If the value is $Default, Amazon EC2 Auto Scaling selects the default version of the launch template when launching instances. The default value is $Default.

" } }, - "documentation":"

Contains the output of DescribeLaunchConfigurations.

" + "documentation":"

Describes the Amazon EC2 launch template and the launch template version that can be used by an Auto Scaling group to configure Amazon EC2 instances.

The launch template that is specified must be configured for use with an Auto Scaling group. For more information, see Creating a Launch Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" }, "LifecycleActionResult":{"type":"string"}, "LifecycleActionToken":{ @@ -2380,11 +2620,11 @@ }, "LifecycleTransition":{ "shape":"LifecycleTransition", - "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

" + "documentation":"

The state of the EC2 instance to which to attach the lifecycle hook. The following are possible values:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" }, "NotificationTargetARN":{ "shape":"ResourceName", - "documentation":"

The ARN of the notification target that Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic. The notification message sent to the target includes the following:

  • Lifecycle action token

  • User account ID

  • Name of the Auto Scaling group

  • Lifecycle hook name

  • EC2 instance ID

  • Lifecycle transition

  • Notification metadata

" + "documentation":"

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

" }, "RoleARN":{ "shape":"ResourceName", @@ -2392,11 +2632,11 @@ }, "NotificationMetadata":{ "shape":"XmlStringMaxLen1023", - "documentation":"

Additional information that you want to include any time Auto Scaling sends a message to the notification target.

" + "documentation":"

Additional information that is included any time Amazon EC2 Auto Scaling sends a message to the notification target.

" }, "HeartbeatTimeout":{ "shape":"HeartbeatTimeout", - "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The default is 3600 seconds (1 hour). When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter.

" }, "GlobalTimeout":{ "shape":"GlobalTimeout", @@ -2404,14 +2644,57 @@ }, "DefaultResult":{ "shape":"LifecycleActionResult", - "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is CONTINUE.

" + "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The possible values are CONTINUE and ABANDON.

" } }, - "documentation":"

Describes a lifecycle hook, which tells Auto Scaling that you want to perform an action when an instance launches or terminates. When you have a lifecycle hook in place, the Auto Scaling group will either:

  • Pause the instance after it launches, but before it is put into service

  • Pause the instance as it terminates, but before it is fully terminated

For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.

" + "documentation":"

Describes a lifecycle hook, which tells Amazon EC2 Auto Scaling that you want to perform an action whenever it launches instances or terminates instances.

" }, "LifecycleHookNames":{ "type":"list", - "member":{"shape":"AsciiStringMaxLen255"} + "member":{"shape":"AsciiStringMaxLen255"}, + "max":50 + }, + "LifecycleHookSpecification":{ + "type":"structure", + "required":[ + "LifecycleHookName", + "LifecycleTransition" + ], + "members":{ + "LifecycleHookName":{ + "shape":"AsciiStringMaxLen255", + "documentation":"

The name of the lifecycle hook.

" + }, + "LifecycleTransition":{ + "shape":"LifecycleTransition", + "documentation":"

The state of the EC2 instance to which you want to attach the lifecycle hook. The valid values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

" + }, + "NotificationMetadata":{ + "shape":"XmlStringMaxLen1023", + "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" + }, + "HeartbeatTimeout":{ + "shape":"HeartbeatTimeout", + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out.

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat.

" + }, + "DefaultResult":{ + "shape":"LifecycleActionResult", + "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The valid values are CONTINUE and ABANDON. The default value is ABANDON.

" + }, + "NotificationTargetARN":{ + "shape":"NotificationTargetResourceName", + "documentation":"

The ARN of the target that Amazon EC2 Auto Scaling sends notifications to when an instance is in the transition state for the lifecycle hook. The notification target can be either an SQS queue or an SNS topic.

" + }, + "RoleARN":{ + "shape":"ResourceName", + "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

" + } + }, + "documentation":"

Describes information used to specify a lifecycle hook for an Auto Scaling group.

A lifecycle hook tells Amazon EC2 Auto Scaling to perform an action on an instance when the instance launches (before it is put into service) or as the instance terminates (before it is fully terminated).

This step is a part of the procedure for creating a lifecycle hook for an Auto Scaling group:

  1. (Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Amazon EC2 Auto Scaling launches or terminates instances.

  2. (Optional) Create a notification target and an IAM role. The target can be either an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling to publish lifecycle notifications to the target.

  3. Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.

  4. If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.

  5. If you finish before the timeout period ends, complete the lifecycle action.

For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.

" + }, + "LifecycleHookSpecifications":{ + "type":"list", + "member":{"shape":"LifecycleHookSpecification"} }, "LifecycleHooks":{ "type":"list", @@ -2444,7 +2727,7 @@ "documentation":"

" } }, - "documentation":"

You have already reached a limit for your Auto Scaling resources (for example, groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.

", + "documentation":"

You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example, Auto Scaling groups, launch configurations, or lifecycle hooks). For more information, see DescribeAccountLimits in the Amazon EC2 Auto Scaling API Reference.

", "error":{ "code":"LimitExceeded", "httpStatusCode":400, @@ -2468,7 +2751,7 @@ "documentation":"

One of the following load balancer states:

  • Adding - The instances in the group are being registered with the load balancer.

  • Added - All instances in the group are registered with the load balancer.

  • InService - At least one instance in the group passed an ELB health check.

  • Removing - The instances in the group are being deregistered from the load balancer. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.

  • Removed - All instances in the group are deregistered from the load balancer.

" } }, - "documentation":"

Describes the state of a Classic load balancer.

If you specify a load balancer when creating the Auto Scaling group, the state of the load balancer is InService.

If you attach a load balancer to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all instances in the group are registered with the load balancer. If ELB health checks are enabled for the load balancer, the state transitions to InService after at least one instance in the group passes the health check. If EC2 health checks are enabled instead, the load balancer remains in the Added state.

" + "documentation":"

Describes the state of a Classic Load Balancer.

If you specify a load balancer when creating the Auto Scaling group, the state of the load balancer is InService.

If you attach a load balancer to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all instances in the group are registered with the load balancer. If Elastic Load Balancing health checks are enabled for the load balancer, the state transitions to InService after at least one instance in the group passes the health check. If EC2 health checks are enabled instead, the load balancer remains in the Added state.

" }, "LoadBalancerStates":{ "type":"list", @@ -2486,12 +2769,13 @@ "documentation":"

The state of the target group.

  • Adding - The Auto Scaling instances are being registered with the target group.

  • Added - All Auto Scaling instances are registered with the target group.

  • InService - At least one Auto Scaling instance passed an ELB health check.

  • Removing - The Auto Scaling instances are being deregistered from the target group. If connection draining is enabled, Elastic Load Balancing waits for in-flight requests to complete before deregistering the instances.

  • Removed - All Auto Scaling instances are deregistered from the target group.

" } }, - "documentation":"

Describes the state of a target group.

If you attach a target group to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all Auto Scaling instances are registered with the target group. If ELB health checks are enabled, the state transitions to InService after at least one Auto Scaling instance passes the health check. If EC2 health checks are enabled instead, the target group remains in the Added state.

" + "documentation":"

Describes the state of a target group.

If you attach a target group to an existing Auto Scaling group, the initial state is Adding. The state transitions to Added after all Auto Scaling instances are registered with the target group. If Elastic Load Balancing health checks are enabled, the state transitions to InService after at least one Auto Scaling instance passes the health check. If EC2 health checks are enabled instead, the target group remains in the Added state.

" }, "LoadBalancerTargetGroupStates":{ "type":"list", "member":{"shape":"LoadBalancerTargetGroupState"} }, + "MaxInstanceLifetime":{"type":"integer"}, "MaxNumberOfAutoScalingGroups":{"type":"integer"}, "MaxNumberOfLaunchConfigurations":{"type":"integer"}, "MaxRecords":{"type":"integer"}, @@ -2509,6 +2793,30 @@ "type":"list", "member":{"shape":"MetricCollectionType"} }, + "MetricDimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MetricDimensionName", + "documentation":"

The name of the dimension.

" + }, + "Value":{ + "shape":"MetricDimensionValue", + "documentation":"

The value of the dimension.

" + } + }, + "documentation":"

Describes the dimension of a metric.

" + }, + "MetricDimensionName":{"type":"string"}, + "MetricDimensionValue":{"type":"string"}, + "MetricDimensions":{ + "type":"list", + "member":{"shape":"MetricDimension"} + }, "MetricGranularityType":{ "type":"structure", "members":{ @@ -2523,7 +2831,29 @@ "type":"list", "member":{"shape":"MetricGranularityType"} }, + "MetricName":{"type":"string"}, + "MetricNamespace":{"type":"string"}, "MetricScale":{"type":"double"}, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Average", + "Minimum", + "Maximum", + "SampleCount", + "Sum" + ] + }, + "MetricType":{ + "type":"string", + "enum":[ + "ASGAverageCPUUtilization", + "ASGAverageNetworkIn", + "ASGAverageNetworkOut", + "ALBRequestCountPerTarget" + ] + }, + "MetricUnit":{"type":"string"}, "Metrics":{ "type":"list", "member":{"shape":"XmlStringMaxLen255"} @@ -2533,6 +2863,25 @@ "type":"integer", "deprecated":true }, + "MixedInstanceSpotPrice":{ + "type":"string", + "max":255, + "min":0 + }, + "MixedInstancesPolicy":{ + "type":"structure", + "members":{ + "LaunchTemplate":{ + "shape":"LaunchTemplate", + "documentation":"

The launch template and instance types (overrides).

This parameter must be specified when creating a mixed instances policy.

" + }, + "InstancesDistribution":{ + "shape":"InstancesDistribution", + "documentation":"

The instances distribution to use.

If you leave this parameter unspecified, the value for each parameter in InstancesDistribution uses a default value.

" + } + }, + "documentation":"

Describes a mixed instances policy for an Auto Scaling group. With mixed instances, your Auto Scaling group can provision a combination of On-Demand Instances and Spot Instances across multiple instance types. For more information, see Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

You can create a mixed instances policy for a new Auto Scaling group, or you can create it for an existing group by updating the group to specify MixedInstancesPolicy as the top-level parameter instead of a launch configuration or template. For more information, see CreateAutoScalingGroup and UpdateAutoScalingGroup.

" + }, "MonitoringEnabled":{"type":"boolean"}, "NoDevice":{"type":"boolean"}, "NotificationConfiguration":{ @@ -2540,11 +2889,11 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "TopicARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

" }, "NotificationType":{ "shape":"XmlStringMaxLen255", @@ -2565,6 +2914,12 @@ }, "NumberOfAutoScalingGroups":{"type":"integer"}, "NumberOfLaunchConfigurations":{"type":"integer"}, + "OnDemandBaseCapacity":{"type":"integer"}, + "OnDemandPercentageAboveBaseCapacity":{"type":"integer"}, + "Overrides":{ + "type":"list", + "member":{"shape":"LaunchTemplateOverrides"} + }, "PoliciesType":{ "type":"structure", "members":{ @@ -2574,10 +2929,9 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribePolicies.

" + } }, "PolicyARNType":{ "type":"structure", @@ -2585,6 +2939,10 @@ "PolicyARN":{ "shape":"ResourceName", "documentation":"

The Amazon Resource Name (ARN) of the policy.

" + }, + "Alarms":{ + "shape":"Alarms", + "documentation":"

The CloudWatch alarms created for the target tracking scaling policy.

" } }, "documentation":"

Contains the output of PutScalingPolicy.

" @@ -2598,6 +2956,21 @@ "type":"list", "member":{"shape":"XmlStringMaxLen64"} }, + "PredefinedMetricSpecification":{ + "type":"structure", + "required":["PredefinedMetricType"], + "members":{ + "PredefinedMetricType":{ + "shape":"MetricType", + "documentation":"

The metric type. The following predefined metrics are available:

  • ASGAverageCPUUtilization - Average CPU utilization of the Auto Scaling group.

  • ASGAverageNetworkIn - Average number of bytes received on all network interfaces by the Auto Scaling group.

  • ASGAverageNetworkOut - Average number of bytes sent out on all network interfaces by the Auto Scaling group.

  • ALBRequestCountPerTarget - Number of requests completed per target in an Application Load Balancer target group.

" + }, + "ResourceLabel":{ + "shape":"XmlStringMaxLen1023", + "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Auto Scaling group.

The format is app/load-balancer-name/load-balancer-id/targetgroup/target-group-name/target-group-id , where

  • app/load-balancer-name/load-balancer-id is the final portion of the load balancer ARN, and

  • targetgroup/target-group-name/target-group-id is the final portion of the target group ARN.

" + } + }, + "documentation":"

Represents a predefined metric for a target tracking scaling policy to use with Amazon EC2 Auto Scaling.

" + }, "ProcessNames":{ "type":"list", "member":{"shape":"XmlStringMaxLen255"} @@ -2611,7 +2984,7 @@ "documentation":"

One of the following processes:

  • Launch

  • Terminate

  • AddToLoadBalancer

  • AlarmNotification

  • AZRebalance

  • HealthCheck

  • ReplaceUnhealthy

  • ScheduledActions

" } }, - "documentation":"

Describes a process type.

For more information, see Auto Scaling Processes in the Auto Scaling User Guide.

" + "documentation":"

Describes a process type.

For more information, see Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "Processes":{ "type":"list", @@ -2624,8 +2997,7 @@ "shape":"Processes", "documentation":"

The names of the process types.

" } - }, - "documentation":"

Contains the output of DescribeScalingProcessTypes.

" + } }, "Progress":{"type":"integer"}, "PropagateAtLaunch":{"type":"boolean"}, @@ -2633,8 +3005,7 @@ "PutLifecycleHookAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of PutLifecycleHook.

" + } }, "PutLifecycleHookType":{ "type":"structure", @@ -2649,34 +3020,33 @@ }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group to which you want to assign the lifecycle hook.

" + "documentation":"

The name of the Auto Scaling group.

" }, "LifecycleTransition":{ "shape":"LifecycleTransition", - "documentation":"

The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see DescribeLifecycleHookTypes.

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" + "documentation":"

The instance state to which you want to attach the lifecycle hook. The valid values are:

  • autoscaling:EC2_INSTANCE_LAUNCHING

  • autoscaling:EC2_INSTANCE_TERMINATING

Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" }, "RoleARN":{ "shape":"ResourceName", - "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.

This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" + "documentation":"

The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target, for example, an Amazon SNS topic or an Amazon SQS queue.

Conditional: This parameter is required for new lifecycle hooks, but optional when updating existing hooks.

" }, "NotificationTargetARN":{ "shape":"NotificationTargetResourceName", - "documentation":"

The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic. If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key/value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Auto Scaling sends it a test message. Test messages contains the following additional key/value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" + "documentation":"

The ARN of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. This target can be either an SQS queue or an SNS topic.

If you specify an empty string, this overrides the current ARN.

This operation uses the JSON format when sending notifications to an Amazon SQS queue, and an email key-value pair format when sending notifications to an Amazon SNS topic.

When you specify a notification target, Amazon EC2 Auto Scaling sends it a test message. Test messages contain the following additional key-value pair: \"Event\": \"autoscaling:TEST_NOTIFICATION\".

" }, "NotificationMetadata":{ "shape":"XmlStringMaxLen1023", - "documentation":"

Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.

" + "documentation":"

Additional information that you want to include any time Amazon EC2 Auto Scaling sends a message to the notification target.

" }, "HeartbeatTimeout":{ "shape":"HeartbeatTimeout", - "documentation":"

The amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the default action. You can prevent the lifecycle hook from timing out by calling RecordLifecycleActionHeartbeat. The default is 3600 seconds (1 hour).

" + "documentation":"

The maximum time, in seconds, that can elapse before the lifecycle hook times out. The range is from 30 to 7200 seconds. The default value is 3600 seconds (1 hour).

If the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult parameter. You can prevent the lifecycle hook from timing out by calling the RecordLifecycleActionHeartbeat API.

" }, "DefaultResult":{ "shape":"LifecycleActionResult", "documentation":"

Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. This parameter can be either CONTINUE or ABANDON. The default value is ABANDON.

" } - }, - "documentation":"

Contains the parameters for PutLifecycleHook.

" + } }, "PutNotificationConfigurationType":{ "type":"structure", @@ -2692,26 +3062,24 @@ }, "TopicARN":{ "shape":"ResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (Amazon SNS) topic.

" }, "NotificationTypes":{ "shape":"AutoScalingNotificationTypes", - "documentation":"

The type of event that will cause the notification to be sent. For details about notification types supported by Auto Scaling, see DescribeAutoScalingNotificationTypes.

" + "documentation":"

The type of event that causes the notification to be sent. To query the notification types supported by Amazon EC2 Auto Scaling, call the DescribeAutoScalingNotificationTypes API.

" } - }, - "documentation":"

Contains the parameters for PutNotificationConfiguration.

" + } }, "PutScalingPolicyType":{ "type":"structure", "required":[ "AutoScalingGroupName", - "PolicyName", - "AdjustmentType" + "PolicyName" ], "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or ARN of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "PolicyName":{ "shape":"XmlStringMaxLen255", @@ -2719,11 +3087,11 @@ }, "PolicyType":{ "shape":"XmlStringMaxLen64", - "documentation":"

The policy type. Valid values are SimpleScaling and StepScaling. If the policy type is null, the value is treated as SimpleScaling.

" + "documentation":"

The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling. If the policy type is null, the value is treated as SimpleScaling.

" }, "AdjustmentType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

For more information, see Dynamic Scaling in the Auto Scaling User Guide.

" + "documentation":"

Specifies whether the ScalingAdjustment parameter is an absolute number or a percentage of the current capacity. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

Valid only if the policy type is StepScaling or SimpleScaling. For more information, see Scaling Adjustment Types in the Amazon EC2 Auto Scaling User Guide.

" }, "MinAdjustmentStep":{ "shape":"MinAdjustmentStep", @@ -2731,30 +3099,37 @@ }, "MinAdjustmentMagnitude":{ "shape":"MinAdjustmentMagnitude", - "documentation":"

The minimum number of instances to scale. If the value of AdjustmentType is PercentChangeInCapacity, the scaling policy changes the DesiredCapacity of the Auto Scaling group by at least this many instances. Otherwise, the error is ValidationError.

" + "documentation":"

The minimum value to scale by when scaling by percentages. For example, suppose that you create a step scaling policy to scale out an Auto Scaling group by 25 percent and you specify a MinAdjustmentMagnitude of 2. If the group has 4 instances and the scaling policy is performed, 25 percent of 4 is 1. However, because you specified a MinAdjustmentMagnitude of 2, Amazon EC2 Auto Scaling scales out the group by 2 instances.

Valid only if the policy type is StepScaling or SimpleScaling and the adjustment type is PercentChangeInCapacity. For more information, see Scaling Adjustment Types in the Amazon EC2 Auto Scaling User Guide.

" }, "ScalingAdjustment":{ "shape":"PolicyIncrement", - "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

This parameter is required if the policy type is SimpleScaling and not supported otherwise.

" + "documentation":"

The amount by which a simple scaling policy scales the Auto Scaling group in response to an alarm breach. The adjustment is based on the value that you specified in the AdjustmentType parameter (either an absolute number or a percentage). A positive value adds to the current capacity and a negative value subtracts from the current capacity. For exact capacity, you must specify a positive value.

Conditional: If you specify SimpleScaling for the policy type, you must specify this parameter. (Not used with any other policy type.)

" }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start. If this parameter is not specified, the default cooldown period for the group applies.

This parameter is not supported unless the policy type is SimpleScaling.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start. If this parameter is not specified, the default cooldown period for the group applies.

Valid only if the policy type is SimpleScaling. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "MetricAggregationType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

This parameter is not supported if the policy type is SimpleScaling.

" + "documentation":"

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average. If the aggregation type is null, the value is treated as Average.

Valid only if the policy type is StepScaling.

" }, "StepAdjustments":{ "shape":"StepAdjustments", - "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

This parameter is required if the policy type is StepScaling and not supported otherwise.

" + "documentation":"

A set of adjustments that enable you to scale based on the size of the alarm breach.

Conditional: If you specify StepScaling for the policy type, you must specify this parameter. (Not used with any other policy type.)

" }, "EstimatedInstanceWarmup":{ "shape":"EstimatedInstanceWarmup", - "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. The default is to use the value specified for the default cooldown period for the group.

This parameter is not supported if the policy type is SimpleScaling.

" + "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. The default is to use the value specified for the default cooldown period for the group.

Valid only if the policy type is StepScaling or TargetTrackingScaling.

" + }, + "TargetTrackingConfiguration":{ + "shape":"TargetTrackingConfiguration", + "documentation":"

A target tracking scaling policy. Includes support for predefined or customized metrics.

For more information, see TargetTrackingConfiguration in the Amazon EC2 Auto Scaling API Reference.

Conditional: If you specify TargetTrackingScaling for the policy type, you must specify this parameter. (Not used with any other policy type.)

" + }, + "Enabled":{ + "shape":"ScalingPolicyEnabled", + "documentation":"

Indicates whether the scaling policy is enabled or disabled. The default is enabled. For more information, see Disabling a Scaling Policy for an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" } - }, - "documentation":"

Contains the parameters for PutScalingPolicy.

" + } }, "PutScheduledUpdateGroupActionType":{ "type":"structure", @@ -2765,7 +3140,7 @@ "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or Amazon Resource Name (ARN) of the Auto Scaling group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ScheduledActionName":{ "shape":"XmlStringMaxLen255", @@ -2773,40 +3148,38 @@ }, "Time":{ "shape":"TimestampType", - "documentation":"

This parameter is deprecated.

" + "documentation":"

This parameter is no longer used.

" }, "StartTime":{ "shape":"TimestampType", - "documentation":"

The time for this action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z).

If you specify Recurrence and StartTime, Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule your action in the past, Auto Scaling returns an error message.

" + "documentation":"

The date and time for this action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, \"2019-06-01T00:00:00Z\").

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an error message.

" }, "EndTime":{ "shape":"TimestampType", - "documentation":"

The time for the recurring schedule to end. Auto Scaling does not perform the action after this time.

" + "documentation":"

The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the action after this time.

" }, "Recurrence":{ "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for this action, in Unix cron syntax format. For more information, see Cron in Wikipedia.

" + "documentation":"

The recurring schedule for this action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size for the Auto Scaling group.

" + "documentation":"

The minimum size of the Auto Scaling group.

" }, "MaxSize":{ "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size for the Auto Scaling group.

" + "documentation":"

The maximum size of the Auto Scaling group.

" }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the group.

" + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain. It can scale beyond this capacity if you add more scaling conditions.

" } - }, - "documentation":"

Contains the parameters for PutScheduledUpdateGroupAction.

" + } }, "RecordLifecycleActionHeartbeatAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of RecordLifecycleActionHeartBeat.

" + } }, "RecordLifecycleActionHeartbeatType":{ "type":"structure", @@ -2821,18 +3194,17 @@ }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the Auto Scaling group for the hook.

" + "documentation":"

The name of the Auto Scaling group.

" }, "LifecycleActionToken":{ "shape":"LifecycleActionToken", - "documentation":"

A token that uniquely identifies a specific lifecycle action associated with an instance. Auto Scaling sends this token to the notification target you specified when you created the lifecycle hook.

" + "documentation":"

A token that uniquely identifies a specific lifecycle action associated with an instance. Amazon EC2 Auto Scaling sends this token to the notification target that you specified when you created the lifecycle hook.

" }, "InstanceId":{ "shape":"XmlStringMaxLen19", "documentation":"

The ID of the instance.

" } - }, - "documentation":"

Contains the parameters for RecordLifecycleActionHeartbeat.

" + } }, "ResourceContentionFault":{ "type":"structure", @@ -2842,7 +3214,7 @@ "documentation":"

" } }, - "documentation":"

You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load balancer).

", + "documentation":"

You already have a pending update to an Amazon EC2 Auto Scaling resource (for example, an Auto Scaling group, instance, or load balancer).

", "error":{ "code":"ResourceContention", "httpStatusCode":500, @@ -2914,7 +3286,7 @@ "members":{ "AutoScalingGroupName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the Auto Scaling group associated with this scaling policy.

" + "documentation":"

The name of the Auto Scaling group.

" }, "PolicyName":{ "shape":"XmlStringMaxLen255", @@ -2926,11 +3298,11 @@ }, "PolicyType":{ "shape":"XmlStringMaxLen64", - "documentation":"

The policy type. Valid values are SimpleScaling and StepScaling.

" + "documentation":"

The policy type. The valid values are SimpleScaling, StepScaling, and TargetTrackingScaling.

" }, "AdjustmentType":{ "shape":"XmlStringMaxLen255", - "documentation":"

The adjustment type, which specifies how ScalingAdjustment is interpreted. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" + "documentation":"

The adjustment type, which specifies how ScalingAdjustment is interpreted. The valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.

" }, "MinAdjustmentStep":{ "shape":"MinAdjustmentStep", @@ -2946,7 +3318,7 @@ }, "Cooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further dynamic scaling activities can start.

" }, "StepAdjustments":{ "shape":"StepAdjustments", @@ -2954,7 +3326,7 @@ }, "MetricAggregationType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.

" + "documentation":"

The aggregation type for the CloudWatch metrics. The valid values are Minimum, Maximum, and Average.

" }, "EstimatedInstanceWarmup":{ "shape":"EstimatedInstanceWarmup", @@ -2963,24 +3335,32 @@ "Alarms":{ "shape":"Alarms", "documentation":"

The CloudWatch alarms related to the policy.

" + }, + "TargetTrackingConfiguration":{ + "shape":"TargetTrackingConfiguration", + "documentation":"

A target tracking scaling policy.

" + }, + "Enabled":{ + "shape":"ScalingPolicyEnabled", + "documentation":"

Indicates whether the policy is enabled (true) or disabled (false).

" } }, "documentation":"

Describes a scaling policy.

" }, + "ScalingPolicyEnabled":{"type":"boolean"}, "ScalingProcessQuery":{ "type":"structure", "required":["AutoScalingGroupName"], "members":{ "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name or Amazon Resource Name (ARN) of the Auto Scaling group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ScalingProcesses":{ "shape":"ProcessNames", "documentation":"

One or more of the following processes. If you omit this parameter, all processes are specified.

  • Launch

  • Terminate

  • HealthCheck

  • ReplaceUnhealthy

  • AZRebalance

  • AlarmNotification

  • ScheduledActions

  • AddToLoadBalancer

" } - }, - "documentation":"

Contains the parameters for SuspendProcesses and ResumeProcesses.

" + } }, "ScheduledActionNames":{ "type":"list", @@ -2995,17 +3375,16 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeScheduledActions.

" + } }, "ScheduledUpdateGroupAction":{ "type":"structure", "members":{ "AutoScalingGroupName":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ScheduledActionName":{ "shape":"XmlStringMaxLen255", @@ -3017,34 +3396,73 @@ }, "Time":{ "shape":"TimestampType", - "documentation":"

This parameter is deprecated.

" + "documentation":"

This parameter is no longer used.

" }, "StartTime":{ "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to begin. This date and time can be up to one month in the future.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action will start and stop.

" + "documentation":"

The date and time in UTC for this action to start. For example, \"2019-06-01T00:00:00Z\".

" }, "EndTime":{ "shape":"TimestampType", - "documentation":"

The date and time that the action is scheduled to end. This date and time can be up to one month in the future.

" + "documentation":"

The date and time in UTC for the recurring schedule to end. For example, \"2019-06-01T00:00:00Z\".

" }, "Recurrence":{ "shape":"XmlStringMaxLen255", - "documentation":"

The recurring schedule for the action.

" + "documentation":"

The recurring schedule for the action, in Unix cron syntax format.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", - "documentation":"

The minimum size of the group.

" + "documentation":"

The minimum size of the Auto Scaling group.

" }, "MaxSize":{ "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the group.

" + "documentation":"

The maximum size of the Auto Scaling group.

" }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of instances you prefer to maintain in the group.

" + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.

" } }, - "documentation":"

Describes a scheduled update to an Auto Scaling group.

" + "documentation":"

Describes a scheduled scaling action.

" + }, + "ScheduledUpdateGroupActionRequest":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The name of the scaling action.

" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

The date and time for the action to start, in YYYY-MM-DDThh:mm:ssZ format in UTC/GMT only and in quotes (for example, \"2019-06-01T00:00:00Z\").

If you specify Recurrence and StartTime, Amazon EC2 Auto Scaling performs the action at this time, and then performs the action based on the specified recurrence.

If you try to schedule the action in the past, Amazon EC2 Auto Scaling returns an error message.

" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

The date and time for the recurring schedule to end. Amazon EC2 Auto Scaling does not perform the action after this time.

" + }, + "Recurrence":{ + "shape":"XmlStringMaxLen255", + "documentation":"

The recurring schedule for the action, in Unix cron syntax format. This format consists of five fields separated by white spaces: [Minute] [Hour] [Day_of_Month] [Month_of_Year] [Day_of_Week]. The value must be in quotes (for example, \"30 0 1 1,6,12 *\"). For more information about this format, see Crontab.

When StartTime and EndTime are specified with Recurrence, they form the boundaries of when the recurring action starts and stops.

" + }, + "MinSize":{ + "shape":"AutoScalingGroupMinSize", + "documentation":"

The minimum size of the Auto Scaling group.

" + }, + "MaxSize":{ + "shape":"AutoScalingGroupMaxSize", + "documentation":"

The maximum size of the Auto Scaling group.

" + }, + "DesiredCapacity":{ + "shape":"AutoScalingGroupDesiredCapacity", + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group after the scheduled action runs and the capacity it attempts to maintain.

" + } + }, + "documentation":"

Describes information used for one or more scheduled scaling action updates in a BatchPutScheduledUpdateGroupAction operation.

When updating a scheduled scaling action, all optional parameters are left unchanged if not specified.

" + }, + "ScheduledUpdateGroupActionRequests":{ + "type":"list", + "member":{"shape":"ScheduledUpdateGroupActionRequest"} }, "ScheduledUpdateGroupActions":{ "type":"list", @@ -3054,6 +3472,19 @@ "type":"list", "member":{"shape":"XmlString"} }, + "ServiceLinkedRoleFailure":{ + "type":"structure", + "members":{ + "message":{"shape":"XmlStringMaxLen255"} + }, + "documentation":"

The service-linked role is not yet ready for use.

", + "error":{ + "code":"ServiceLinkedRoleFailure", + "httpStatusCode":500, + "senderFault":true + }, + "exception":true + }, "SetDesiredCapacityType":{ "type":"structure", "required":[ @@ -3067,14 +3498,13 @@ }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the Auto Scaling group.

" + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the capacity it attempts to maintain.

" }, "HonorCooldown":{ "shape":"HonorCooldown", - "documentation":"

By default, SetDesiredCapacity overrides any cooldown period associated with the Auto Scaling group. Specify True to make Auto Scaling to wait for the cool-down period associated with the Auto Scaling group to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity.

" + "documentation":"

Indicates whether Amazon EC2 Auto Scaling waits for the cooldown period to complete before initiating a scaling activity to set your Auto Scaling group to its new capacity. By default, Amazon EC2 Auto Scaling does not honor the cooldown period during manual scaling activities.

" } - }, - "documentation":"

Contains the parameters for SetDesiredCapacity.

" + } }, "SetInstanceHealthQuery":{ "type":"structure", @@ -3089,20 +3519,18 @@ }, "HealthStatus":{ "shape":"XmlStringMaxLen32", - "documentation":"

The health status of the instance. Set to Healthy if you want the instance to remain in service. Set to Unhealthy if you want the instance to be out of service. Auto Scaling will terminate and replace the unhealthy instance.

" + "documentation":"

The health status of the instance. Set to Healthy to have the instance remain in service. Set to Unhealthy to have the instance be out of service. Amazon EC2 Auto Scaling terminates and replaces the unhealthy instance.

" }, "ShouldRespectGracePeriod":{ "shape":"ShouldRespectGracePeriod", - "documentation":"

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call will respect the grace period. Set this to False, if you do not want the call to respect the grace period associated with the group.

For more information, see the description of the health check grace period for CreateAutoScalingGroup.

" + "documentation":"

If the Auto Scaling group of the specified instance has a HealthCheckGracePeriod specified for the group, by default, this call respects the grace period. Set this to False, to have the call not respect the grace period associated with the group.

For more information about the health check grace period, see CreateAutoScalingGroup in the Amazon EC2 Auto Scaling API Reference.

" } - }, - "documentation":"

Contains the parameters for SetInstanceHealth.

" + } }, "SetInstanceProtectionAnswer":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of SetInstanceProtection.

" + } }, "SetInstanceProtectionQuery":{ "type":"structure", @@ -3118,17 +3546,17 @@ }, "AutoScalingGroupName":{ "shape":"ResourceName", - "documentation":"

The name of the group.

" + "documentation":"

The name of the Auto Scaling group.

" }, "ProtectedFromScaleIn":{ "shape":"ProtectedFromScaleIn", - "documentation":"

Indicates whether the instance is protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether the instance is protected from termination by Amazon EC2 Auto Scaling when scaling in.

" } - }, - "documentation":"

Contains the parameters for SetInstanceProtection.

" + } }, "ShouldDecrementDesiredCapacity":{"type":"boolean"}, "ShouldRespectGracePeriod":{"type":"boolean"}, + "SpotInstancePools":{"type":"integer"}, "SpotPrice":{ "type":"string", "max":255, @@ -3151,7 +3579,7 @@ "documentation":"

The amount by which to scale, based on the specified adjustment type. A positive value adds to the current capacity while a negative number removes from the current capacity.

" } }, - "documentation":"

Describes an adjustment based on the difference between the value of the aggregated CloudWatch metric and the breach threshold that you've defined for the alarm.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • If you want the adjustment to be triggered when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • If you want the adjustment to be triggered when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

" + "documentation":"

Describes information used to create a step adjustment for a step scaling policy.

For the following examples, suppose that you have an alarm with a breach threshold of 50:

  • To trigger the adjustment when the metric is greater than or equal to 50 and less than 60, specify a lower bound of 0 and an upper bound of 10.

  • To trigger the adjustment when the metric is greater than 40 and less than or equal to 50, specify a lower bound of -10 and an upper bound of 0.

There are a few rules for the step adjustments for your step policy:

  • The ranges of your step adjustments can't overlap or have a gap.

  • At most, one step adjustment can have a null lower bound. If one step adjustment has a negative lower bound, then there must be a step adjustment with a null lower bound.

  • At most, one step adjustment can have a null upper bound. If one step adjustment has a positive upper bound, then there must be a step adjustment with a null upper bound.

  • The upper and lower bound can't be null in the same step adjustment.

For more information, see Step Adjustments in the Amazon EC2 Auto Scaling User Guide.

" }, "StepAdjustments":{ "type":"list", @@ -3169,7 +3597,7 @@ "documentation":"

The reason that the process was suspended.

" } }, - "documentation":"

Describes an Auto Scaling process that has been suspended. For more information, see ProcessType.

" + "documentation":"

Describes an automatic scaling process that has been suspended.

For more information, see Scaling Processes in the Amazon EC2 Auto Scaling User Guide.

" }, "SuspendedProcesses":{ "type":"list", @@ -3257,15 +3685,37 @@ }, "NextToken":{ "shape":"XmlString", - "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

" + "documentation":"

A string that indicates that the response contains more items than can be returned in a single response. To receive additional items, specify this string for the NextToken value when requesting the next set of items. This value is null when there are no more items to return.

" } - }, - "documentation":"

Contains the output of DescribeTags.

" + } }, "TargetGroupARNs":{ "type":"list", "member":{"shape":"XmlStringMaxLen511"} }, + "TargetTrackingConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "PredefinedMetricSpecification":{ + "shape":"PredefinedMetricSpecification", + "documentation":"

A predefined metric. You must specify either a predefined metric or a customized metric.

" + }, + "CustomizedMetricSpecification":{ + "shape":"CustomizedMetricSpecification", + "documentation":"

A customized metric. You must specify either a predefined metric or a customized metric.

" + }, + "TargetValue":{ + "shape":"MetricScale", + "documentation":"

The target value for the metric.

" + }, + "DisableScaleIn":{ + "shape":"DisableScaleIn", + "documentation":"

Indicates whether scaling in by the target tracking scaling policy is disabled. If scaling in is disabled, the target tracking scaling policy doesn't remove instances from the Auto Scaling group. Otherwise, the target tracking scaling policy can remove instances from the Auto Scaling group. The default is false.

" + } + }, + "documentation":"

Represents a target tracking scaling policy configuration to use with Amazon EC2 Auto Scaling.

" + }, "TerminateInstanceInAutoScalingGroupType":{ "type":"structure", "required":[ @@ -3279,10 +3729,9 @@ }, "ShouldDecrementDesiredCapacity":{ "shape":"ShouldDecrementDesiredCapacity", - "documentation":"

If true, terminating the instance also decrements the size of the Auto Scaling group.

" + "documentation":"

Indicates whether terminating the instance also decrements the size of the Auto Scaling group.

" } - }, - "documentation":"

Contains the parameters for TerminateInstanceInAutoScalingGroup.

" + } }, "TerminationPolicies":{ "type":"list", @@ -3299,7 +3748,15 @@ }, "LaunchConfigurationName":{ "shape":"ResourceName", - "documentation":"

The name of the launch configuration.

" + "documentation":"

The name of the launch configuration. If you specify LaunchConfigurationName in your update request, you can't specify LaunchTemplate or MixedInstancesPolicy.

" + }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template and version to use to specify the updates. If you specify LaunchTemplate in your update request, you can't specify LaunchConfigurationName or MixedInstancesPolicy.

For more information, see LaunchTemplateSpecification in the Amazon EC2 Auto Scaling API Reference.

" + }, + "MixedInstancesPolicy":{ + "shape":"MixedInstancesPolicy", + "documentation":"

An embedded object that specifies a mixed instances policy.

In your call to UpdateAutoScalingGroup, you can make changes to the policy that is specified. All optional parameters are left unchanged if not specified.

For more information, see MixedInstancesPolicy in the Amazon EC2 Auto Scaling API Reference and Auto Scaling Groups with Multiple Instance Types and Purchase Options in the Amazon EC2 Auto Scaling User Guide.

" }, "MinSize":{ "shape":"AutoScalingGroupMinSize", @@ -3307,15 +3764,15 @@ }, "MaxSize":{ "shape":"AutoScalingGroupMaxSize", - "documentation":"

The maximum size of the Auto Scaling group.

" + "documentation":"

The maximum size of the Auto Scaling group.

With a mixed instances policy that uses instance weighting, Amazon EC2 Auto Scaling may need to go above MaxSize to meet your capacity requirements. In this event, Amazon EC2 Auto Scaling will never go above MaxSize by more than your maximum instance weight (weights that define how many capacity units each instance contributes to the capacity of the group).

" }, "DesiredCapacity":{ "shape":"AutoScalingGroupDesiredCapacity", - "documentation":"

The number of EC2 instances that should be running in the Auto Scaling group. This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

" + "documentation":"

The desired capacity is the initial capacity of the Auto Scaling group after this operation completes and the capacity it attempts to maintain.

This number must be greater than or equal to the minimum size of the group and less than or equal to the maximum size of the group.

" }, "DefaultCooldown":{ "shape":"Cooldown", - "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default is 300.

For more information, see Auto Scaling Cooldowns in the Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, after a scaling activity completes before another scaling activity can start. The default value is 300. This cooldown period is not used when a scaling-specific cooldown is specified.

Cooldown periods are not supported for target tracking scaling policies, step scaling policies, or scheduled scaling. For more information, see Scaling Cooldowns in the Amazon EC2 Auto Scaling User Guide.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", @@ -3323,30 +3780,37 @@ }, "HealthCheckType":{ "shape":"XmlStringMaxLen32", - "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB.

" + "documentation":"

The service to use for the health checks. The valid values are EC2 and ELB. If you configure an Auto Scaling group to use ELB health checks, it considers the instance unhealthy if it fails either the EC2 status checks or the load balancer health checks.

" }, "HealthCheckGracePeriod":{ "shape":"HealthCheckGracePeriod", - "documentation":"

The amount of time, in seconds, that Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default is 0.

For more information, see Health Checks in the Auto Scaling User Guide.

" + "documentation":"

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before checking the health status of an EC2 instance that has come into service. The default value is 0.

For more information, see Health Check Grace Period in the Amazon EC2 Auto Scaling User Guide.

Conditional: This parameter is required if you are adding an ELB health check.

" }, "PlacementGroup":{ "shape":"XmlStringMaxLen255", - "documentation":"

The name of the placement group into which you'll launch your instances, if any. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + "documentation":"

The name of the placement group into which to launch your instances, if any. A placement group is a logical grouping of instances within a single Availability Zone. You cannot specify multiple Availability Zones and a placement group. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" }, "VPCZoneIdentifier":{ "shape":"XmlStringMaxLen2047", - "documentation":"

The ID of the subnet, if you are launching into a VPC. You can specify several subnets in a comma-separated list.

When you specify VPCZoneIdentifier with AvailabilityZones, ensure that the subnets' Availability Zones match the values you specify for AvailabilityZones.

For more information, see Launching Auto Scaling Instances in a VPC in the Auto Scaling User Guide.

" + "documentation":"

A comma-separated list of subnet IDs for virtual private cloud (VPC).

If you specify VPCZoneIdentifier with AvailabilityZones, the subnets that you specify for this parameter must reside in those Availability Zones.

" }, "TerminationPolicies":{ "shape":"TerminationPolicies", - "documentation":"

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Auto Scaling User Guide.

" + "documentation":"

A standalone termination policy or a list of termination policies used to select the instance to terminate. The policies are executed in the order that they are listed.

For more information, see Controlling Which Instances Auto Scaling Terminates During Scale In in the Amazon EC2 Auto Scaling User Guide.

" }, "NewInstancesProtectedFromScaleIn":{ "shape":"InstanceProtected", - "documentation":"

Indicates whether newly launched instances are protected from termination by Auto Scaling when scaling in.

" + "documentation":"

Indicates whether newly launched instances are protected from termination by Amazon EC2 Auto Scaling when scaling in.

For more information about preventing instances from terminating on scale in, see Instance Protection in the Amazon EC2 Auto Scaling User Guide.

" + }, + "ServiceLinkedRoleARN":{ + "shape":"ResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group uses to call other AWS services on your behalf. For more information, see Service-Linked Roles in the Amazon EC2 Auto Scaling User Guide.

" + }, + "MaxInstanceLifetime":{ + "shape":"MaxInstanceLifetime", + "documentation":"

The maximum amount of time, in seconds, that an instance can be in service. The default is null.

This parameter is optional, but if you specify a value for it, you must specify a value of at least 604,800 seconds (7 days). To clear a previously set value, specify a new value of 0.

For more information, see Replacing Auto Scaling Instances Based on Maximum Instance Lifetime in the Amazon EC2 Auto Scaling User Guide.

Valid Range: Minimum value of 0.

" } - }, - "documentation":"

Contains the parameters for UpdateAutoScalingGroup.

" + } }, "Values":{ "type":"list", @@ -3410,5 +3874,5 @@ "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" } }, - "documentation":"Auto Scaling

Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.

" + "documentation":"Amazon EC2 Auto Scaling

Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined scaling policies, scheduled actions, and health checks. Use this service with AWS Auto Scaling, Amazon CloudWatch, and Elastic Load Balancing.

For more information, including information about granting IAM users required permissions for Amazon EC2 Auto Scaling actions, see the Amazon EC2 Auto Scaling User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/examples-1.json --- python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "DescribeScalingPlanResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScalingPlanResources" + }, + "DescribeScalingPlans": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScalingPlans" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/service-2.json python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/service-2.json --- python-botocore-1.4.70/botocore/data/autoscaling-plans/2018-01-06/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/autoscaling-plans/2018-01-06/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,967 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-01-06", + "endpointPrefix":"autoscaling-plans", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Auto Scaling Plans", + "serviceId":"Auto Scaling Plans", + "signatureVersion":"v4", + "signingName":"autoscaling-plans", + "targetPrefix":"AnyScaleScalingPlannerFrontendService", + "uid":"autoscaling-plans-2018-01-06" + }, + "operations":{ + "CreateScalingPlan":{ + "name":"CreateScalingPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScalingPlanRequest"}, + "output":{"shape":"CreateScalingPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a scaling plan.

" + }, + "DeleteScalingPlan":{ + "name":"DeleteScalingPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScalingPlanRequest"}, + "output":{"shape":"DeleteScalingPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes the specified scaling plan.

Deleting a scaling plan deletes the underlying ScalingInstruction for all of the scalable resources that are covered by the plan.

If the plan has launched resources or has scaling activities in progress, you must delete those resources separately.

" + }, + "DescribeScalingPlanResources":{ + "name":"DescribeScalingPlanResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScalingPlanResourcesRequest"}, + "output":{"shape":"DescribeScalingPlanResourcesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes the scalable resources in the specified scaling plan.

" + }, + "DescribeScalingPlans":{ + "name":"DescribeScalingPlans", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScalingPlansRequest"}, + "output":{"shape":"DescribeScalingPlansResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes one or more of your scaling plans.

" + }, + "GetScalingPlanResourceForecastData":{ + "name":"GetScalingPlanResourceForecastData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetScalingPlanResourceForecastDataRequest"}, + "output":{"shape":"GetScalingPlanResourceForecastDataResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves the forecast data for a scalable resource.

Capacity forecasts are represented as predicted values, or data points, that are calculated using historical data points from a specified CloudWatch load metric. Data points are available for up to 56 days.

" + }, + "UpdateScalingPlan":{ + "name":"UpdateScalingPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateScalingPlanRequest"}, + "output":{"shape":"UpdateScalingPlanResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConcurrentUpdateException"}, + {"shape":"InternalServiceException"}, + {"shape":"ObjectNotFoundException"} + ], + "documentation":"

Updates the specified scaling plan.

You cannot update a scaling plan if it is in the process of being created, updated, or deleted.

" + } + }, + "shapes":{ + "ApplicationSource":{ + "type":"structure", + "members":{ + "CloudFormationStackARN":{ + "shape":"XmlString", + "documentation":"

The Amazon Resource Name (ARN) of a AWS CloudFormation stack.

" + }, + "TagFilters":{ + "shape":"TagFilters", + "documentation":"

A set of tags (up to 50).

" + } + }, + "documentation":"

Represents an application source.

" + }, + "ApplicationSources":{ + "type":"list", + "member":{"shape":"ApplicationSource"} + }, + "ConcurrentUpdateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Concurrent updates caused an exception, for example, if you request an update to a scaling plan that already has a pending update.

", + "exception":true + }, + "Cooldown":{"type":"integer"}, + "CreateScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ApplicationSource", + "ScalingInstructions" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.

" + }, + "ApplicationSource":{ + "shape":"ApplicationSource", + "documentation":"

A CloudFormation stack or set of tags. You can create one scaling plan per application source.

" + }, + "ScalingInstructions":{ + "shape":"ScalingInstructions", + "documentation":"

The scaling instructions.

" + } + } + }, + "CreateScalingPlanResponse":{ + "type":"structure", + "required":["ScalingPlanVersion"], + "members":{ + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan. This value is always 1.

Currently, you cannot specify multiple scaling plan versions.

" + } + } + }, + "CustomizedLoadMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "Namespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensions", + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your customized load metric specification.

" + }, + "Statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the metric. Currently, the value must always be Sum.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric.

" + } + }, + "documentation":"

Represents a CloudWatch metric of your choosing that can be used for predictive scaling.

For predictive scaling to work with a customized load metric specification, AWS Auto Scaling needs access to the Sum and Average statistics that CloudWatch computes from metric data. Statistics are calculations used to aggregate data over specified time periods.

When you choose a load metric, make sure that the required Sum and Average statistics for your metric are available in CloudWatch and that they provide relevant data for predictive scaling. The Sum statistic must represent the total load on the resource, and the Average statistic must represent the average load per capacity unit of the resource. For example, there is a metric that counts the number of requests processed by your Auto Scaling group. If the Sum statistic represents the total request count processed by the group, then the Average statistic for the specified metric must represent the average request count processed by each instance of the group.

For information about terminology, available metrics, or how to publish new metrics, see Amazon CloudWatch Concepts in the Amazon CloudWatch User Guide.

" + }, + "CustomizedScalingMetricSpecification":{ + "type":"structure", + "required":[ + "MetricName", + "Namespace", + "Statistic" + ], + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "Namespace":{ + "shape":"MetricNamespace", + "documentation":"

The namespace of the metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensions", + "documentation":"

The dimensions of the metric.

Conditional: If you published your metric with dimensions, you must specify the same dimensions in your customized scaling metric specification.

" + }, + "Statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the metric.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric.

" + } + }, + "documentation":"

Represents a CloudWatch metric of your choosing that can be used for dynamic scaling as part of a target tracking scaling policy.

To create your customized scaling metric specification:

  • Add values for each required parameter from CloudWatch. You can use an existing metric, or a new metric that you create. To use your own metric, you must first publish the metric to CloudWatch. For more information, see Publish Custom Metrics in the Amazon CloudWatch User Guide.

  • Choose a metric that changes proportionally with capacity. The value of the metric should increase or decrease in inverse proportion to the number of capacity units. That is, the value of the metric should decrease when capacity increases.

For more information about CloudWatch, see Amazon CloudWatch Concepts.

" + }, + "Datapoint":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"TimestampType", + "documentation":"

The time stamp for the data point in UTC format.

" + }, + "Value":{ + "shape":"MetricScale", + "documentation":"

The value of the data point.

" + } + }, + "documentation":"

Represents a single value in the forecast data used for predictive scaling.

" + }, + "Datapoints":{ + "type":"list", + "member":{"shape":"Datapoint"} + }, + "DeleteScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + } + } + }, + "DeleteScalingPlanResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeScalingPlanResourcesRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of scalable resources to return. The value must be between 1 and 50. The default value is 50.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + } + } + }, + "DescribeScalingPlanResourcesResponse":{ + "type":"structure", + "members":{ + "ScalingPlanResources":{ + "shape":"ScalingPlanResources", + "documentation":"

Information about the scalable resources.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" + } + } + }, + "DescribeScalingPlansRequest":{ + "type":"structure", + "members":{ + "ScalingPlanNames":{ + "shape":"ScalingPlanNames", + "documentation":"

The names of the scaling plans (up to 10). If you specify application sources, you cannot specify scaling plan names.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan. If you specify a scaling plan version, you must also specify a scaling plan name.

" + }, + "ApplicationSources":{ + "shape":"ApplicationSources", + "documentation":"

The sources for the applications (up to 10). If you specify scaling plan names, you cannot specify application sources.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of scalable resources to return. This value can be between 1 and 50. The default value is 50.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + } + } + }, + "DescribeScalingPlansResponse":{ + "type":"structure", + "members":{ + "ScalingPlans":{ + "shape":"ScalingPlans", + "documentation":"

Information about the scaling plans.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token required to get the next set of results. This value is null if there are no more results to return.

" + } + } + }, + "DisableDynamicScaling":{"type":"boolean"}, + "DisableScaleIn":{"type":"boolean"}, + "ErrorMessage":{"type":"string"}, + "ForecastDataType":{ + "type":"string", + "enum":[ + "CapacityForecast", + "LoadForecast", + "ScheduledActionMinCapacity", + "ScheduledActionMaxCapacity" + ] + }, + "GetScalingPlanResourceForecastDataRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion", + "ServiceNamespace", + "ResourceId", + "ScalableDimension", + "ForecastDataType", + "StartTime", + "EndTime" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + }, + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service.

" + }, + "ResourceId":{ + "shape":"XmlString", + "documentation":"

The ID of the resource. This string consists of the resource type and unique identifier.

  • Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension for the resource.

" + }, + "ForecastDataType":{ + "shape":"ForecastDataType", + "documentation":"

The type of forecast data to get.

  • LoadForecast: The load metric forecast.

  • CapacityForecast: The capacity forecast.

  • ScheduledActionMinCapacity: The minimum capacity for each scheduled scaling action. This data is calculated as the larger of two values: the capacity forecast or the minimum capacity in the scaling instruction.

  • ScheduledActionMaxCapacity: The maximum capacity for each scheduled scaling action. The calculation used is determined by the predictive scaling maximum capacity behavior setting in the scaling instruction.

" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

The inclusive start time of the time range for the forecast data to get. The date and time can be at most 56 days before the current date and time.

" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

The exclusive end time of the time range for the forecast data to get. The maximum time duration between the start and end time is seven days.

Although this parameter can accept a date and time that is more than two days in the future, the availability of forecast data has limits. AWS Auto Scaling only issues forecasts for periods of two days in advance.

" + } + } + }, + "GetScalingPlanResourceForecastDataResponse":{ + "type":"structure", + "required":["Datapoints"], + "members":{ + "Datapoints":{ + "shape":"Datapoints", + "documentation":"

The data points to return.

" + } + } + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service encountered an internal error.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The token provided is not valid.

", + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Your account exceeded a limit. This exception is thrown when a per-account resource limit is exceeded.

", + "exception":true + }, + "LoadMetricType":{ + "type":"string", + "enum":[ + "ASGTotalCPUUtilization", + "ASGTotalNetworkIn", + "ASGTotalNetworkOut", + "ALBTargetGroupRequestCount" + ] + }, + "MaxResults":{"type":"integer"}, + "MetricDimension":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MetricDimensionName", + "documentation":"

The name of the dimension.

" + }, + "Value":{ + "shape":"MetricDimensionValue", + "documentation":"

The value of the dimension.

" + } + }, + "documentation":"

Represents a dimension for a customized metric.

" + }, + "MetricDimensionName":{"type":"string"}, + "MetricDimensionValue":{"type":"string"}, + "MetricDimensions":{ + "type":"list", + "member":{"shape":"MetricDimension"} + }, + "MetricName":{"type":"string"}, + "MetricNamespace":{"type":"string"}, + "MetricScale":{"type":"double"}, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Average", + "Minimum", + "Maximum", + "SampleCount", + "Sum" + ] + }, + "MetricUnit":{"type":"string"}, + "NextToken":{"type":"string"}, + "ObjectNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified object could not be found.

", + "exception":true + }, + "PolicyName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"\\p{Print}+" + }, + "PolicyType":{ + "type":"string", + "enum":["TargetTrackingScaling"] + }, + "PredefinedLoadMetricSpecification":{ + "type":"structure", + "required":["PredefinedLoadMetricType"], + "members":{ + "PredefinedLoadMetricType":{ + "shape":"LoadMetricType", + "documentation":"

The metric type.

" + }, + "ResourceLabel":{ + "shape":"ResourceLabel", + "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group for an Application Load Balancer attached to the Auto Scaling group.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN.

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" + } + }, + "documentation":"

Represents a predefined metric that can be used for predictive scaling.

" + }, + "PredefinedScalingMetricSpecification":{ + "type":"structure", + "required":["PredefinedScalingMetricType"], + "members":{ + "PredefinedScalingMetricType":{ + "shape":"ScalingMetricType", + "documentation":"

The metric type. The ALBRequestCountPerTarget metric type applies only to Auto Scaling groups, Spot Fleet requests, and ECS services.

" + }, + "ResourceLabel":{ + "shape":"ResourceLabel", + "documentation":"

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group for an Application Load Balancer attached to the Auto Scaling group, Spot Fleet request, or ECS service.

The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

  • app/<load-balancer-name>/<load-balancer-id> is the final portion of the load balancer ARN.

  • targetgroup/<target-group-name>/<target-group-id> is the final portion of the target group ARN.

" + } + }, + "documentation":"

Represents a predefined metric that can be used for dynamic scaling as part of a target tracking scaling policy.

" + }, + "PredictiveScalingMaxCapacityBehavior":{ + "type":"string", + "enum":[ + "SetForecastCapacityToMaxCapacity", + "SetMaxCapacityToForecastCapacity", + "SetMaxCapacityAboveForecastCapacity" + ] + }, + "PredictiveScalingMode":{ + "type":"string", + "enum":[ + "ForecastAndScale", + "ForecastOnly" + ] + }, + "ResourceCapacity":{"type":"integer"}, + "ResourceIdMaxLen1600":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "ResourceLabel":{ + "type":"string", + "max":1023, + "min":1 + }, + "ScalableDimension":{ + "type":"string", + "enum":[ + "autoscaling:autoScalingGroup:DesiredCapacity", + "ecs:service:DesiredCount", + "ec2:spot-fleet-request:TargetCapacity", + "rds:cluster:ReadReplicaCount", + "dynamodb:table:ReadCapacityUnits", + "dynamodb:table:WriteCapacityUnits", + "dynamodb:index:ReadCapacityUnits", + "dynamodb:index:WriteCapacityUnits" + ] + }, + "ScalingInstruction":{ + "type":"structure", + "required":[ + "ServiceNamespace", + "ResourceId", + "ScalableDimension", + "MinCapacity", + "MaxCapacity", + "TargetTrackingConfigurations" + ], + "members":{ + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The ID of the resource. This string consists of the resource type and unique identifier.

  • Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension associated with the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

" + }, + "MinCapacity":{ + "shape":"ResourceCapacity", + "documentation":"

The minimum capacity of the resource.

" + }, + "MaxCapacity":{ + "shape":"ResourceCapacity", + "documentation":"

The maximum capacity of the resource. The exception to this upper limit is if you specify a non-default setting for PredictiveScalingMaxCapacityBehavior.

" + }, + "TargetTrackingConfigurations":{ + "shape":"TargetTrackingConfigurations", + "documentation":"

The structure that defines new target tracking configurations (up to 10). Each of these structures includes a specific scaling metric and a target value for the metric, along with various parameters to use with dynamic scaling.

With predictive scaling and dynamic scaling, the resource scales based on the target tracking configuration that provides the largest capacity for both scale in and scale out.

Condition: The scaling metric must be unique across target tracking configurations.

" + }, + "PredefinedLoadMetricSpecification":{ + "shape":"PredefinedLoadMetricSpecification", + "documentation":"

The predefined load metric to use for predictive scaling. This parameter or a CustomizedLoadMetricSpecification is required when configuring predictive scaling, and cannot be used otherwise.

" + }, + "CustomizedLoadMetricSpecification":{ + "shape":"CustomizedLoadMetricSpecification", + "documentation":"

The customized load metric to use for predictive scaling. This parameter or a PredefinedLoadMetricSpecification is required when configuring predictive scaling, and cannot be used otherwise.

" + }, + "ScheduledActionBufferTime":{ + "shape":"ScheduledActionBufferTime", + "documentation":"

The amount of time, in seconds, to buffer the run time of scheduled scaling actions when scaling out. For example, if the forecast says to add capacity at 10:00 AM, and the buffer time is 5 minutes, then the run time of the corresponding scheduled scaling action will be 9:55 AM. The intention is to give resources time to be provisioned. For example, it can take a few minutes to launch an EC2 instance. The actual amount of time required depends on several factors, such as the size of the instance and whether there are startup scripts to complete.

The value must be less than the forecast interval duration of 3600 seconds (60 minutes). The default is 300 seconds.

Only valid when configuring predictive scaling.

" + }, + "PredictiveScalingMaxCapacityBehavior":{ + "shape":"PredictiveScalingMaxCapacityBehavior", + "documentation":"

Defines the behavior that should be applied if the forecast capacity approaches or exceeds the maximum capacity specified for the resource. The default value is SetForecastCapacityToMaxCapacity.

The following are possible values:

  • SetForecastCapacityToMaxCapacity - AWS Auto Scaling cannot scale resource capacity higher than the maximum capacity. The maximum capacity is enforced as a hard limit.

  • SetMaxCapacityToForecastCapacity - AWS Auto Scaling may scale resource capacity higher than the maximum capacity to equal but not exceed forecast capacity.

  • SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling may scale resource capacity higher than the maximum capacity by a specified buffer value. The intention is to give the target tracking scaling policy extra capacity if unexpected traffic occurs.

Only valid when configuring predictive scaling.

" + }, + "PredictiveScalingMaxCapacityBuffer":{ + "shape":"ResourceCapacity", + "documentation":"

The size of the capacity buffer to use when the forecast capacity is close to or exceeds the maximum capacity. The value is specified as a percentage relative to the forecast capacity. For example, if the buffer is 10, this means a 10 percent buffer, such that if the forecast capacity is 50, and the maximum capacity is 40, then the effective maximum capacity is 55.

Only valid when configuring predictive scaling. Required if the PredictiveScalingMaxCapacityBehavior is set to SetMaxCapacityAboveForecastCapacity, and cannot be used otherwise.

The range is 1-100.

" + }, + "PredictiveScalingMode":{ + "shape":"PredictiveScalingMode", + "documentation":"

The predictive scaling mode. The default value is ForecastAndScale. Otherwise, AWS Auto Scaling forecasts capacity but does not create any scheduled scaling actions based on the capacity forecast.

" + }, + "ScalingPolicyUpdateBehavior":{ + "shape":"ScalingPolicyUpdateBehavior", + "documentation":"

Controls whether a resource's externally created scaling policies are kept or replaced.

The default value is KeepExternalPolicies. If the parameter is set to ReplaceExternalPolicies, any scaling policies that are external to AWS Auto Scaling are deleted and new target tracking scaling policies created.

Only valid when configuring dynamic scaling.

Condition: The number of existing policies to be replaced must be less than or equal to 50. If there are more than 50 policies to be replaced, AWS Auto Scaling keeps all existing policies and does not create new ones.

" + }, + "DisableDynamicScaling":{ + "shape":"DisableDynamicScaling", + "documentation":"

Controls whether dynamic scaling by AWS Auto Scaling is disabled. When dynamic scaling is enabled, AWS Auto Scaling creates target tracking scaling policies based on the specified target tracking configurations.

The default is enabled (false).

" + } + }, + "documentation":"

Describes a scaling instruction for a scalable resource.

The scaling instruction is used in combination with a scaling plan, which is a set of instructions for configuring dynamic scaling and predictive scaling for the scalable resources in your application. Each scaling instruction applies to one resource.

AWS Auto Scaling creates target tracking scaling policies based on the scaling instructions. Target tracking scaling policies adjust the capacity of your scalable resource as required to maintain resource utilization at the target value that you specified.

AWS Auto Scaling also configures predictive scaling for your Amazon EC2 Auto Scaling groups using a subset of parameters, including the load metric, the scaling metric, the target value for the scaling metric, the predictive scaling mode (forecast and scale or forecast only), and the desired behavior when the forecast capacity exceeds the maximum capacity of the resource. With predictive scaling, AWS Auto Scaling generates forecasts with traffic predictions for the two days ahead and schedules scaling actions that proactively add and remove resource capacity to match the forecast.

We recommend waiting a minimum of 24 hours after creating an Auto Scaling group to configure predictive scaling. At minimum, there must be 24 hours of historical data to generate a forecast.

For more information, see Getting Started with AWS Auto Scaling.

" + }, + "ScalingInstructions":{ + "type":"list", + "member":{"shape":"ScalingInstruction"} + }, + "ScalingMetricType":{ + "type":"string", + "enum":[ + "ASGAverageCPUUtilization", + "ASGAverageNetworkIn", + "ASGAverageNetworkOut", + "DynamoDBReadCapacityUtilization", + "DynamoDBWriteCapacityUtilization", + "ECSServiceAverageCPUUtilization", + "ECSServiceAverageMemoryUtilization", + "ALBRequestCountPerTarget", + "RDSReaderAverageCPUUtilization", + "RDSReaderAverageDatabaseConnections", + "EC2SpotFleetRequestAverageCPUUtilization", + "EC2SpotFleetRequestAverageNetworkIn", + "EC2SpotFleetRequestAverageNetworkOut" + ] + }, + "ScalingPlan":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion", + "ApplicationSource", + "ScalingInstructions", + "StatusCode" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + }, + "ApplicationSource":{ + "shape":"ApplicationSource", + "documentation":"

The application source.

" + }, + "ScalingInstructions":{ + "shape":"ScalingInstructions", + "documentation":"

The scaling instructions.

" + }, + "StatusCode":{ + "shape":"ScalingPlanStatusCode", + "documentation":"

The status of the scaling plan.

  • Active - The scaling plan is active.

  • ActiveWithProblems - The scaling plan is active, but the scaling configuration for one or more resources could not be applied.

  • CreationInProgress - The scaling plan is being created.

  • CreationFailed - The scaling plan could not be created.

  • DeletionInProgress - The scaling plan is being deleted.

  • DeletionFailed - The scaling plan could not be deleted.

  • UpdateInProgress - The scaling plan is being updated.

  • UpdateFailed - The scaling plan could not be updated.

" + }, + "StatusMessage":{ + "shape":"XmlString", + "documentation":"

A simple message about the current status of the scaling plan.

" + }, + "StatusStartTime":{ + "shape":"TimestampType", + "documentation":"

The Unix time stamp when the scaling plan entered the current status.

" + }, + "CreationTime":{ + "shape":"TimestampType", + "documentation":"

The Unix time stamp when the scaling plan was created.

" + } + }, + "documentation":"

Represents a scaling plan.

" + }, + "ScalingPlanName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{Print}&&[^|:/]]+" + }, + "ScalingPlanNames":{ + "type":"list", + "member":{"shape":"ScalingPlanName"} + }, + "ScalingPlanResource":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion", + "ServiceNamespace", + "ResourceId", + "ScalableDimension", + "ScalingStatusCode" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + }, + "ServiceNamespace":{ + "shape":"ServiceNamespace", + "documentation":"

The namespace of the AWS service.

" + }, + "ResourceId":{ + "shape":"ResourceIdMaxLen1600", + "documentation":"

The ID of the resource. This string consists of the resource type and unique identifier.

  • Auto Scaling group - The resource type is autoScalingGroup and the unique identifier is the name of the Auto Scaling group. Example: autoScalingGroup/my-asg.

  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.

  • Spot Fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.

  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.

  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.

  • Aurora DB cluster - The resource type is cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster.

" + }, + "ScalableDimension":{ + "shape":"ScalableDimension", + "documentation":"

The scalable dimension for the resource.

  • autoscaling:autoScalingGroup:DesiredCapacity - The desired capacity of an Auto Scaling group.

  • ecs:service:DesiredCount - The desired task count of an ECS service.

  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet request.

  • dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.

  • dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.

  • dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.

  • dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.

  • rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.

" + }, + "ScalingPolicies":{ + "shape":"ScalingPolicies", + "documentation":"

The scaling policies.

" + }, + "ScalingStatusCode":{ + "shape":"ScalingStatusCode", + "documentation":"

The scaling status of the resource.

  • Active - The scaling configuration is active.

  • Inactive - The scaling configuration is not active because the scaling plan is being created or the scaling configuration could not be applied. Check the status message for more information.

  • PartiallyActive - The scaling configuration is partially active because the scaling plan is being created or deleted or the scaling configuration could not be fully applied. Check the status message for more information.

" + }, + "ScalingStatusMessage":{ + "shape":"XmlString", + "documentation":"

A simple message about the current scaling status of the resource.

" + } + }, + "documentation":"

Represents a scalable resource.

" + }, + "ScalingPlanResources":{ + "type":"list", + "member":{"shape":"ScalingPlanResource"} + }, + "ScalingPlanStatusCode":{ + "type":"string", + "enum":[ + "Active", + "ActiveWithProblems", + "CreationInProgress", + "CreationFailed", + "DeletionInProgress", + "DeletionFailed", + "UpdateInProgress", + "UpdateFailed" + ] + }, + "ScalingPlanVersion":{"type":"long"}, + "ScalingPlans":{ + "type":"list", + "member":{"shape":"ScalingPlan"} + }, + "ScalingPolicies":{ + "type":"list", + "member":{"shape":"ScalingPolicy"} + }, + "ScalingPolicy":{ + "type":"structure", + "required":[ + "PolicyName", + "PolicyType" + ], + "members":{ + "PolicyName":{ + "shape":"PolicyName", + "documentation":"

The name of the scaling policy.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The type of scaling policy.

" + }, + "TargetTrackingConfiguration":{ + "shape":"TargetTrackingConfiguration", + "documentation":"

The target tracking scaling policy. Includes support for predefined or customized metrics.

" + } + }, + "documentation":"

Represents a scaling policy.

" + }, + "ScalingPolicyUpdateBehavior":{ + "type":"string", + "enum":[ + "KeepExternalPolicies", + "ReplaceExternalPolicies" + ] + }, + "ScalingStatusCode":{ + "type":"string", + "enum":[ + "Inactive", + "PartiallyActive", + "Active" + ] + }, + "ScheduledActionBufferTime":{ + "type":"integer", + "min":0 + }, + "ServiceNamespace":{ + "type":"string", + "enum":[ + "autoscaling", + "ecs", + "ec2", + "rds", + "dynamodb" + ] + }, + "TagFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"XmlStringMaxLen128", + "documentation":"

The tag key.

" + }, + "Values":{ + "shape":"TagValues", + "documentation":"

The tag values (0 to 20).

" + } + }, + "documentation":"

Represents a tag.

" + }, + "TagFilters":{ + "type":"list", + "member":{"shape":"TagFilter"} + }, + "TagValues":{ + "type":"list", + "member":{"shape":"XmlStringMaxLen256"} + }, + "TargetTrackingConfiguration":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "PredefinedScalingMetricSpecification":{ + "shape":"PredefinedScalingMetricSpecification", + "documentation":"

A predefined metric. You can specify either a predefined metric or a customized metric.

" + }, + "CustomizedScalingMetricSpecification":{ + "shape":"CustomizedScalingMetricSpecification", + "documentation":"

A customized metric. You can specify either a predefined metric or a customized metric.

" + }, + "TargetValue":{ + "shape":"MetricScale", + "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" + }, + "DisableScaleIn":{ + "shape":"DisableScaleIn", + "documentation":"

Indicates whether scale in by the target tracking scaling policy is disabled. If the value is true, scale in is disabled and the target tracking scaling policy doesn't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking scaling policy can remove capacity from the scalable resource.

The default value is false.

" + }, + "ScaleOutCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, after a scale-out activity completes before another scale-out activity can start. This value is not used if the scalable resource is an Auto Scaling group.

While the cooldown period is in effect, the capacity that has been added by the previous scale-out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.

" + }, + "ScaleInCooldown":{ + "shape":"Cooldown", + "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. This value is not used if the scalable resource is an Auto Scaling group.

The cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale-out policy during the cooldown period after a scale-in, AWS Auto Scaling scales out your scalable target immediately.

" + }, + "EstimatedInstanceWarmup":{ + "shape":"Cooldown", + "documentation":"

The estimated time, in seconds, until a newly launched instance can contribute to the CloudWatch metrics. This value is used only if the resource is an Auto Scaling group.

" + } + }, + "documentation":"

Describes a target tracking configuration to use with AWS Auto Scaling. Used with ScalingInstruction and ScalingPolicy.

" + }, + "TargetTrackingConfigurations":{ + "type":"list", + "member":{"shape":"TargetTrackingConfiguration"} + }, + "TimestampType":{"type":"timestamp"}, + "UpdateScalingPlanRequest":{ + "type":"structure", + "required":[ + "ScalingPlanName", + "ScalingPlanVersion" + ], + "members":{ + "ScalingPlanName":{ + "shape":"ScalingPlanName", + "documentation":"

The name of the scaling plan.

" + }, + "ScalingPlanVersion":{ + "shape":"ScalingPlanVersion", + "documentation":"

The version number of the scaling plan.

" + }, + "ApplicationSource":{ + "shape":"ApplicationSource", + "documentation":"

A CloudFormation stack or set of tags.

" + }, + "ScalingInstructions":{ + "shape":"ScalingInstructions", + "documentation":"

The scaling instructions.

" + } + } + }, + "UpdateScalingPlanResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An exception was thrown for a validation issue. Review the parameters provided.

", + "exception":true + }, + "XmlString":{ + "type":"string", + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "XmlStringMaxLen128":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "XmlStringMaxLen256":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + } + }, + "documentation":"AWS Auto Scaling

Use AWS Auto Scaling to quickly discover all the scalable AWS resources for your application and configure dynamic scaling and predictive scaling for your resources using scaling plans. Use this service in conjunction with the Amazon EC2 Auto Scaling, Application Auto Scaling, Amazon CloudWatch, and AWS CloudFormation services.

Currently, predictive scaling is only available for Amazon EC2 Auto Scaling groups.

For more information about AWS Auto Scaling, including information about granting IAM users required permissions for AWS Auto Scaling actions, see the AWS Auto Scaling User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/backup/2018-11-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/backup/2018-11-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/backup/2018-11-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/backup/2018-11-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/backup/2018-11-15/service-2.json python-botocore-1.16.19+repack/botocore/data/backup/2018-11-15/service-2.json --- python-botocore-1.4.70/botocore/data/backup/2018-11-15/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/backup/2018-11-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3491 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-15", + "endpointPrefix":"backup", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Backup", + "serviceId":"Backup", + "signatureVersion":"v4", + "uid":"backup-2018-11-15" + }, + "operations":{ + "CreateBackupPlan":{ + "name":"CreateBackupPlan", + "http":{ + "method":"PUT", + "requestUri":"/backup/plans/" + }, + "input":{"shape":"CreateBackupPlanInput"}, + "output":{"shape":"CreateBackupPlanOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Backup plans are documents that contain information that AWS Backup uses to schedule tasks that create recovery points of resources.

If you call CreateBackupPlan with a plan that already exists, an AlreadyExistsException is returned.

", + "idempotent":true + }, + "CreateBackupSelection":{ + "name":"CreateBackupSelection", + "http":{ + "method":"PUT", + "requestUri":"/backup/plans/{backupPlanId}/selections/" + }, + "input":{"shape":"CreateBackupSelectionInput"}, + "output":{"shape":"CreateBackupSelectionOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a JSON document that specifies a set of resources to assign to a backup plan. Resources can be included by specifying patterns for a ListOfTags and selected Resources.

For example, consider the following patterns:

  • Resources: \"arn:aws:ec2:region:account-id:volume/volume-id\"

  • ConditionKey:\"department\"

    ConditionValue:\"finance\"

    ConditionType:\"STRINGEQUALS\"

  • ConditionKey:\"importance\"

    ConditionValue:\"critical\"

    ConditionType:\"STRINGEQUALS\"

Using these patterns would back up all Amazon Elastic Block Store (Amazon EBS) volumes that are tagged as \"department=finance\", \"importance=critical\", in addition to an EBS volume with the specified volume Id.

Resources and conditions are additive in that all resources that match the pattern are selected. This shouldn't be confused with a logical AND, where all conditions must match. The matching patterns are logically 'put together using the OR operator. In other words, all patterns that match are selected for backup.

", + "idempotent":true + }, + "CreateBackupVault":{ + "name":"CreateBackupVault", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"CreateBackupVaultInput"}, + "output":{"shape":"CreateBackupVaultOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Creates a logical container where backups are stored. A CreateBackupVault request includes a name, optionally one or more resource tags, an encryption key, and a request ID.

Sensitive data, such as passport numbers, should not be included the name of a backup vault.

", + "idempotent":true + }, + "DeleteBackupPlan":{ + "name":"DeleteBackupPlan", + "http":{ + "method":"DELETE", + "requestUri":"/backup/plans/{backupPlanId}" + }, + "input":{"shape":"DeleteBackupPlanInput"}, + "output":{"shape":"DeleteBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes a backup plan. A backup plan can only be deleted after all associated selections of resources have been deleted. Deleting a backup plan deletes the current version of a backup plan. Previous versions, if any, will still exist.

" + }, + "DeleteBackupSelection":{ + "name":"DeleteBackupSelection", + "http":{ + "method":"DELETE", + "requestUri":"/backup/plans/{backupPlanId}/selections/{selectionId}" + }, + "input":{"shape":"DeleteBackupSelectionInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the resource selection associated with a backup plan that is specified by the SelectionId.

" + }, + "DeleteBackupVault":{ + "name":"DeleteBackupVault", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"DeleteBackupVaultInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the backup vault identified by its name. A vault can be deleted only if it is empty.

" + }, + "DeleteBackupVaultAccessPolicy":{ + "name":"DeleteBackupVaultAccessPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"DeleteBackupVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the policy document that manages permissions on a backup vault.

", + "idempotent":true + }, + "DeleteBackupVaultNotifications":{ + "name":"DeleteBackupVaultNotifications", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"DeleteBackupVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes event notifications for the specified backup vault.

", + "idempotent":true + }, + "DeleteRecoveryPoint":{ + "name":"DeleteRecoveryPoint", + "http":{ + "method":"DELETE", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"DeleteRecoveryPointInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the recovery point specified by a recovery point ID.

", + "idempotent":true + }, + "DescribeBackupJob":{ + "name":"DescribeBackupJob", + "http":{ + "method":"GET", + "requestUri":"/backup-jobs/{backupJobId}" + }, + "input":{"shape":"DescribeBackupJobInput"}, + "output":{"shape":"DescribeBackupJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DependencyFailureException"} + ], + "documentation":"

Returns metadata associated with creating a backup of a resource.

", + "idempotent":true + }, + "DescribeBackupVault":{ + "name":"DescribeBackupVault", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}" + }, + "input":{"shape":"DescribeBackupVaultInput"}, + "output":{"shape":"DescribeBackupVaultOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata about a backup vault specified by its name.

", + "idempotent":true + }, + "DescribeCopyJob":{ + "name":"DescribeCopyJob", + "http":{ + "method":"GET", + "requestUri":"/copy-jobs/{copyJobId}" + }, + "input":{"shape":"DescribeCopyJobInput"}, + "output":{"shape":"DescribeCopyJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata associated with creating a copy of a resource.

", + "idempotent":true + }, + "DescribeProtectedResource":{ + "name":"DescribeProtectedResource", + "http":{ + "method":"GET", + "requestUri":"/resources/{resourceArn}" + }, + "input":{"shape":"DescribeProtectedResourceInput"}, + "output":{"shape":"DescribeProtectedResourceOutput"}, + "errors":[ + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a saved resource, including the last time it was backed up, its Amazon Resource Name (ARN), and the AWS service type of the saved resource.

", + "idempotent":true + }, + "DescribeRecoveryPoint":{ + "name":"DescribeRecoveryPoint", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"DescribeRecoveryPointInput"}, + "output":{"shape":"DescribeRecoveryPointOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata associated with a recovery point, including ID, status, encryption, and lifecycle.

", + "idempotent":true + }, + "DescribeRegionSettings":{ + "name":"DescribeRegionSettings", + "http":{ + "method":"GET", + "requestUri":"/account-settings" + }, + "input":{"shape":"DescribeRegionSettingsInput"}, + "output":{"shape":"DescribeRegionSettingsOutput"}, + "errors":[ + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the current service opt-in settings for the region. If the service has a value set to true, AWS Backup will attempt to protect that service's resources in this region, when included in an on-demand backup or scheduled backup plan. If the value is set to false for a service, AWS Backup will not attempt to protect that service's resources in this region.

" + }, + "DescribeRestoreJob":{ + "name":"DescribeRestoreJob", + "http":{ + "method":"GET", + "requestUri":"/restore-jobs/{restoreJobId}" + }, + "input":{"shape":"DescribeRestoreJobInput"}, + "output":{"shape":"DescribeRestoreJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DependencyFailureException"} + ], + "documentation":"

Returns metadata associated with a restore job that is specified by a job ID.

", + "idempotent":true + }, + "ExportBackupPlanTemplate":{ + "name":"ExportBackupPlanTemplate", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/toTemplate/" + }, + "input":{"shape":"ExportBackupPlanTemplateInput"}, + "output":{"shape":"ExportBackupPlanTemplateOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the backup plan that is specified by the plan ID as a backup template.

" + }, + "GetBackupPlan":{ + "name":"GetBackupPlan", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/" + }, + "input":{"shape":"GetBackupPlanInput"}, + "output":{"shape":"GetBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the body of a backup plan in JSON format, in addition to plan metadata.

", + "idempotent":true + }, + "GetBackupPlanFromJSON":{ + "name":"GetBackupPlanFromJSON", + "http":{ + "method":"POST", + "requestUri":"/backup/template/json/toPlan" + }, + "input":{"shape":"GetBackupPlanFromJSONInput"}, + "output":{"shape":"GetBackupPlanFromJSONOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns a valid JSON document specifying a backup plan or an error.

" + }, + "GetBackupPlanFromTemplate":{ + "name":"GetBackupPlanFromTemplate", + "http":{ + "method":"GET", + "requestUri":"/backup/template/plans/{templateId}/toPlan" + }, + "input":{"shape":"GetBackupPlanFromTemplateInput"}, + "output":{"shape":"GetBackupPlanFromTemplateOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the template specified by its templateId as a backup plan.

" + }, + "GetBackupSelection":{ + "name":"GetBackupSelection", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/selections/{selectionId}" + }, + "input":{"shape":"GetBackupSelectionInput"}, + "output":{"shape":"GetBackupSelectionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns selection metadata and a document in JSON format that specifies a list of resources that are associated with a backup plan.

", + "idempotent":true + }, + "GetBackupVaultAccessPolicy":{ + "name":"GetBackupVaultAccessPolicy", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"GetBackupVaultAccessPolicyInput"}, + "output":{"shape":"GetBackupVaultAccessPolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the access policy document that is associated with the named backup vault.

", + "idempotent":true + }, + "GetBackupVaultNotifications":{ + "name":"GetBackupVaultNotifications", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"GetBackupVaultNotificationsInput"}, + "output":{"shape":"GetBackupVaultNotificationsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns event notifications for the specified backup vault.

", + "idempotent":true + }, + "GetRecoveryPointRestoreMetadata":{ + "name":"GetRecoveryPointRestoreMetadata", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata" + }, + "input":{"shape":"GetRecoveryPointRestoreMetadataInput"}, + "output":{"shape":"GetRecoveryPointRestoreMetadataOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a set of metadata key-value pairs that were used to create the backup.

", + "idempotent":true + }, + "GetSupportedResourceTypes":{ + "name":"GetSupportedResourceTypes", + "http":{ + "method":"GET", + "requestUri":"/supported-resource-types" + }, + "output":{"shape":"GetSupportedResourceTypesOutput"}, + "errors":[ + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the AWS resource types supported by AWS Backup.

" + }, + "ListBackupJobs":{ + "name":"ListBackupJobs", + "http":{ + "method":"GET", + "requestUri":"/backup-jobs/" + }, + "input":{"shape":"ListBackupJobsInput"}, + "output":{"shape":"ListBackupJobsOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata about your backup jobs.

", + "idempotent":true + }, + "ListBackupPlanTemplates":{ + "name":"ListBackupPlanTemplates", + "http":{ + "method":"GET", + "requestUri":"/backup/template/plans" + }, + "input":{"shape":"ListBackupPlanTemplatesInput"}, + "output":{"shape":"ListBackupPlanTemplatesOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns metadata of your saved backup plan templates, including the template ID, name, and the creation and deletion dates.

" + }, + "ListBackupPlanVersions":{ + "name":"ListBackupPlanVersions", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/versions/" + }, + "input":{"shape":"ListBackupPlanVersionsInput"}, + "output":{"shape":"ListBackupPlanVersionsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns version metadata of your backup plans, including Amazon Resource Names (ARNs), backup plan IDs, creation and deletion dates, plan names, and version IDs.

", + "idempotent":true + }, + "ListBackupPlans":{ + "name":"ListBackupPlans", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/" + }, + "input":{"shape":"ListBackupPlansInput"}, + "output":{"shape":"ListBackupPlansOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata of your saved backup plans, including Amazon Resource Names (ARNs), plan IDs, creation and deletion dates, version IDs, plan names, and creator request IDs.

", + "idempotent":true + }, + "ListBackupSelections":{ + "name":"ListBackupSelections", + "http":{ + "method":"GET", + "requestUri":"/backup/plans/{backupPlanId}/selections/" + }, + "input":{"shape":"ListBackupSelectionsInput"}, + "output":{"shape":"ListBackupSelectionsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns an array containing metadata of the resources associated with the target backup plan.

", + "idempotent":true + }, + "ListBackupVaults":{ + "name":"ListBackupVaults", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/" + }, + "input":{"shape":"ListBackupVaultsInput"}, + "output":{"shape":"ListBackupVaultsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of recovery point storage containers along with information about them.

", + "idempotent":true + }, + "ListCopyJobs":{ + "name":"ListCopyJobs", + "http":{ + "method":"GET", + "requestUri":"/copy-jobs/" + }, + "input":{"shape":"ListCopyJobsInput"}, + "output":{"shape":"ListCopyJobsOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns metadata about your copy jobs.

" + }, + "ListProtectedResources":{ + "name":"ListProtectedResources", + "http":{ + "method":"GET", + "requestUri":"/resources/" + }, + "input":{"shape":"ListProtectedResourcesInput"}, + "output":{"shape":"ListProtectedResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns an array of resources successfully backed up by AWS Backup, including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

", + "idempotent":true + }, + "ListRecoveryPointsByBackupVault":{ + "name":"ListRecoveryPointsByBackupVault", + "http":{ + "method":"GET", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/" + }, + "input":{"shape":"ListRecoveryPointsByBackupVaultInput"}, + "output":{"shape":"ListRecoveryPointsByBackupVaultOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns detailed information about the recovery points stored in a backup vault.

", + "idempotent":true + }, + "ListRecoveryPointsByResource":{ + "name":"ListRecoveryPointsByResource", + "http":{ + "method":"GET", + "requestUri":"/resources/{resourceArn}/recovery-points/" + }, + "input":{"shape":"ListRecoveryPointsByResourceInput"}, + "output":{"shape":"ListRecoveryPointsByResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns detailed information about recovery points of the type specified by a resource Amazon Resource Name (ARN).

", + "idempotent":true + }, + "ListRestoreJobs":{ + "name":"ListRestoreJobs", + "http":{ + "method":"GET", + "requestUri":"/restore-jobs/" + }, + "input":{"shape":"ListRestoreJobsInput"}, + "output":{"shape":"ListRestoreJobsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of jobs that AWS Backup initiated to restore a saved resource, including metadata about the recovery process.

", + "idempotent":true + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}/" + }, + "input":{"shape":"ListTagsInput"}, + "output":{"shape":"ListTagsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of key-value pairs assigned to a target recovery point, backup plan, or backup vault.

ListTags are currently only supported with Amazon EFS backups.

", + "idempotent":true + }, + "PutBackupVaultAccessPolicy":{ + "name":"PutBackupVaultAccessPolicy", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/access-policy" + }, + "input":{"shape":"PutBackupVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets a resource-based policy that is used to manage access permissions on the target backup vault. Requires a backup vault name and an access policy document in JSON format.

", + "idempotent":true + }, + "PutBackupVaultNotifications":{ + "name":"PutBackupVaultNotifications", + "http":{ + "method":"PUT", + "requestUri":"/backup-vaults/{backupVaultName}/notification-configuration" + }, + "input":{"shape":"PutBackupVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Turns on notifications on a backup vault for the specified topic and events.

", + "idempotent":true + }, + "StartBackupJob":{ + "name":"StartBackupJob", + "http":{ + "method":"PUT", + "requestUri":"/backup-jobs" + }, + "input":{"shape":"StartBackupJobInput"}, + "output":{"shape":"StartBackupJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts a job to create a one-time backup of the specified resource.

", + "idempotent":true + }, + "StartCopyJob":{ + "name":"StartCopyJob", + "http":{ + "method":"PUT", + "requestUri":"/copy-jobs" + }, + "input":{"shape":"StartCopyJobInput"}, + "output":{"shape":"StartCopyJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts a job to create a one-time copy of the specified resource.

", + "idempotent":true + }, + "StartRestoreJob":{ + "name":"StartRestoreJob", + "http":{ + "method":"PUT", + "requestUri":"/restore-jobs" + }, + "input":{"shape":"StartRestoreJobInput"}, + "output":{"shape":"StartRestoreJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Recovers the saved resource identified by an Amazon Resource Name (ARN).

If the resource ARN is included in the request, then the last complete backup of that resource is recovered. If the ARN of a recovery point is supplied, then that recovery point is restored.

", + "idempotent":true + }, + "StopBackupJob":{ + "name":"StopBackupJob", + "http":{ + "method":"POST", + "requestUri":"/backup-jobs/{backupJobId}" + }, + "input":{"shape":"StopBackupJobInput"}, + "errors":[ + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Attempts to cancel a job to create a one-time backup of a resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Assigns a set of key-value pairs to a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN).

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untag/{resourceArn}" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Removes a set of key-value pairs from a recovery point, backup plan, or backup vault identified by an Amazon Resource Name (ARN)

", + "idempotent":true + }, + "UpdateBackupPlan":{ + "name":"UpdateBackupPlan", + "http":{ + "method":"POST", + "requestUri":"/backup/plans/{backupPlanId}" + }, + "input":{"shape":"UpdateBackupPlanInput"}, + "output":{"shape":"UpdateBackupPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Replaces the body of a saved backup plan identified by its backupPlanId with the input document in JSON format. The new version is uniquely identified by a VersionId.

", + "idempotent":true + }, + "UpdateRecoveryPointLifecycle":{ + "name":"UpdateRecoveryPointLifecycle", + "http":{ + "method":"POST", + "requestUri":"/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}" + }, + "input":{"shape":"UpdateRecoveryPointLifecycleInput"}, + "output":{"shape":"UpdateRecoveryPointLifecycleOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets the transition lifecycle of a recovery point.

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

", + "idempotent":true + }, + "UpdateRegionSettings":{ + "name":"UpdateRegionSettings", + "http":{ + "method":"PUT", + "requestUri":"/account-settings" + }, + "input":{"shape":"UpdateRegionSettingsInput"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Updates the current service opt-in settings for the region. If the service has a value set to true, AWS Backup will attempt to protect that service's resources in this region, when included in an on-demand backup or scheduled backup plan. If the value is set to false for a service, AWS Backup will not attempt to protect that service's resources in this region.

" + } + }, + "shapes":{ + "ARN":{"type":"string"}, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

" + }, + "Arn":{ + "shape":"string", + "documentation":"

" + }, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

The required resource already exists.

", + "exception":true + }, + "BackupJob":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "State":{ + "shape":"BackupJobState", + "documentation":"

The current state of a resource recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to back up a resource.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.

" + }, + "ExpectedCompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "StartBy":{ + "shape":"timestamp", + "documentation":"

Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "BytesTransferred":{ + "shape":"Long", + "documentation":"

The size in bytes transferred to a backup vault at the time that the job status was queried.

" + } + }, + "documentation":"

Contains detailed information about a backup job.

" + }, + "BackupJobState":{ + "type":"string", + "enum":[ + "CREATED", + "PENDING", + "RUNNING", + "ABORTING", + "ABORTED", + "COMPLETED", + "FAILED", + "EXPIRED" + ] + }, + "BackupJobsList":{ + "type":"list", + "member":{"shape":"BackupJob"} + }, + "BackupPlan":{ + "type":"structure", + "required":[ + "BackupPlanName", + "Rules" + ], + "members":{ + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a backup plan.

" + }, + "Rules":{ + "shape":"BackupRules", + "documentation":"

An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.

" + } + }, + "documentation":"

Contains an optional backup plan display name and an array of BackupRule objects, each of which specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a different selection of AWS resources.

" + }, + "BackupPlanInput":{ + "type":"structure", + "required":[ + "BackupPlanName", + "Rules" + ], + "members":{ + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a backup plan.

" + }, + "Rules":{ + "shape":"BackupRulesInput", + "documentation":"

An array of BackupRule objects, each of which specifies a scheduled task that is used to back up a selection of resources.

" + } + }, + "documentation":"

Contains an optional backup plan display name and an array of BackupRule objects, each of which specifies a backup rule. Each rule in a backup plan is a separate scheduled task and can back up a different selection of AWS resources.

" + }, + "BackupPlanName":{"type":"string"}, + "BackupPlanTemplatesList":{ + "type":"list", + "member":{"shape":"BackupPlanTemplatesListMember"} + }, + "BackupPlanTemplatesListMember":{ + "type":"structure", + "members":{ + "BackupPlanTemplateId":{ + "shape":"string", + "documentation":"

Uniquely identifies a stored backup plan template.

" + }, + "BackupPlanTemplateName":{ + "shape":"string", + "documentation":"

The optional display name of a backup plan template.

" + } + }, + "documentation":"

An object specifying metadata associated with a backup plan template.

" + }, + "BackupPlanVersionsList":{ + "type":"list", + "member":{"shape":"BackupPlansListMember"} + }, + "BackupPlansList":{ + "type":"list", + "member":{"shape":"BackupPlansListMember"} + }, + "BackupPlansListMember":{ + "type":"structure", + "members":{ + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a resource backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of DeletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

" + }, + "BackupPlanName":{ + "shape":"BackupPlanName", + "documentation":"

The display name of a saved backup plan.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "LastExecutionDate":{ + "shape":"timestamp", + "documentation":"

The last time a job to back up resources was executed with this rule. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

Contains metadata about a backup plan.

" + }, + "BackupRule":{ + "type":"structure", + "required":[ + "RuleName", + "TargetBackupVaultName" + ], + "members":{ + "RuleName":{ + "shape":"BackupRuleName", + "documentation":"

An optional display name for a backup rule.

" + }, + "TargetBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ScheduleExpression":{ + "shape":"CronExpression", + "documentation":"

A CRON expression specifying when AWS Backup initiates a backup job.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

" + }, + "CompletionWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

An array of key-value pair strings that are assigned to resources that are associated with this rule when restored from backup.

" + }, + "RuleId":{ + "shape":"string", + "documentation":"

Uniquely identifies a rule that is used to schedule the backup of a selection of resources.

" + }, + "CopyActions":{ + "shape":"CopyActions", + "documentation":"

An array of CopyAction objects, which contains the details of the copy operation.

" + } + }, + "documentation":"

Specifies a scheduled task used to back up a selection of resources.

" + }, + "BackupRuleInput":{ + "type":"structure", + "required":[ + "RuleName", + "TargetBackupVaultName" + ], + "members":{ + "RuleName":{ + "shape":"BackupRuleName", + "documentation":"

An optional display name for a backup rule.

" + }, + "TargetBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ScheduleExpression":{ + "shape":"CronExpression", + "documentation":"

A CRON expression specifying when AWS Backup initiates a backup job.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

" + }, + "CompletionWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

" + }, + "CopyActions":{ + "shape":"CopyActions", + "documentation":"

An array of CopyAction objects, which contains the details of the copy operation.

" + } + }, + "documentation":"

Specifies a scheduled task used to back up a selection of resources.

" + }, + "BackupRuleName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "BackupRules":{ + "type":"list", + "member":{"shape":"BackupRule"} + }, + "BackupRulesInput":{ + "type":"list", + "member":{"shape":"BackupRuleInput"} + }, + "BackupSelection":{ + "type":"structure", + "required":[ + "SelectionName", + "IamRoleArn" + ], + "members":{ + "SelectionName":{ + "shape":"BackupSelectionName", + "documentation":"

The display name of a resource selection document.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The ARN of the IAM role that AWS Backup uses to authenticate when restoring the target resource; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Resources":{ + "shape":"ResourceArns", + "documentation":"

An array of strings that contain Amazon Resource Names (ARNs) of resources to assign to a backup plan.

" + }, + "ListOfTags":{ + "shape":"ListOfTags", + "documentation":"

An array of conditions used to specify a set of resources to assign to a backup plan; for example, \"STRINGEQUALS\": {\"ec2:ResourceTag/Department\": \"accounting\".

" + } + }, + "documentation":"

Used to specify a set of resources to a backup plan.

" + }, + "BackupSelectionName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "BackupSelectionsList":{ + "type":"list", + "member":{"shape":"BackupSelectionsListMember"} + }, + "BackupSelectionsListMember":{ + "type":"structure", + "members":{ + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to assign a set of resources to a backup plan.

" + }, + "SelectionName":{ + "shape":"BackupSelectionName", + "documentation":"

The display name of a resource selection document.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role Amazon Resource Name (ARN) to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + } + }, + "documentation":"

Contains metadata about a BackupSelection object.

" + }, + "BackupVaultEvent":{ + "type":"string", + "enum":[ + "BACKUP_JOB_STARTED", + "BACKUP_JOB_COMPLETED", + "BACKUP_JOB_SUCCESSFUL", + "BACKUP_JOB_FAILED", + "BACKUP_JOB_EXPIRED", + "RESTORE_JOB_STARTED", + "RESTORE_JOB_COMPLETED", + "RESTORE_JOB_SUCCESSFUL", + "RESTORE_JOB_FAILED", + "COPY_JOB_STARTED", + "COPY_JOB_SUCCESSFUL", + "COPY_JOB_FAILED", + "RECOVERY_POINT_MODIFIED", + "BACKUP_PLAN_CREATED", + "BACKUP_PLAN_MODIFIED" + ] + }, + "BackupVaultEvents":{ + "type":"list", + "member":{"shape":"BackupVaultEvent"} + }, + "BackupVaultList":{ + "type":"list", + "member":{"shape":"BackupVaultListMember"} + }, + "BackupVaultListMember":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a resource backup is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "NumberOfRecoveryPoints":{ + "shape":"long", + "documentation":"

The number of recovery points that are stored in a backup vault.

" + } + }, + "documentation":"

Contains metadata about a backup vault.

" + }, + "BackupVaultName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "Boolean":{"type":"boolean"}, + "CalculatedLifecycle":{ + "type":"structure", + "members":{ + "MoveToColdStorageAt":{ + "shape":"timestamp", + "documentation":"

A timestamp that specifies when to transition a recovery point to cold storage.

" + }, + "DeleteAt":{ + "shape":"timestamp", + "documentation":"

A timestamp that specifies when to delete a recovery point.

" + } + }, + "documentation":"

Contains DeleteAt and MoveToColdStorageAt timestamps, which are used to specify a lifecycle for a recovery point.

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "Condition":{ + "type":"structure", + "required":[ + "ConditionType", + "ConditionKey", + "ConditionValue" + ], + "members":{ + "ConditionType":{ + "shape":"ConditionType", + "documentation":"

An operation, such as STRINGEQUALS, that is applied to a key-value pair used to filter resources in a selection.

" + }, + "ConditionKey":{ + "shape":"ConditionKey", + "documentation":"

The key in a key-value pair. For example, in \"ec2:ResourceTag/Department\": \"accounting\", \"ec2:ResourceTag/Department\" is the key.

" + }, + "ConditionValue":{ + "shape":"ConditionValue", + "documentation":"

The value in a key-value pair. For example, in \"ec2:ResourceTag/Department\": \"accounting\", \"accounting\" is the value.

" + } + }, + "documentation":"

Contains an array of triplets made up of a condition type (such as STRINGEQUALS), a key, and a value. Conditions are used to filter resources in a selection that is assigned to a backup plan.

" + }, + "ConditionKey":{"type":"string"}, + "ConditionType":{ + "type":"string", + "enum":["STRINGEQUALS"] + }, + "ConditionValue":{"type":"string"}, + "CopyAction":{ + "type":"structure", + "required":["DestinationBackupVaultArn"], + "members":{ + "Lifecycle":{"shape":"Lifecycle"}, + "DestinationBackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies the destination backup vault for the copied backup. For example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + } + }, + "documentation":"

The details of the copy operation.

" + }, + "CopyActions":{ + "type":"list", + "member":{"shape":"CopyAction"} + }, + "CopyJob":{ + "type":"structure", + "members":{ + "CopyJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a copy job.

" + }, + "SourceBackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a source copy vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "SourceRecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a source recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "DestinationBackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "DestinationRecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a destination recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

The AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a copy job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a copy job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "State":{ + "shape":"CopyJobState", + "documentation":"

The current state of a copy job.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to copy a resource.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a copy job.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "CreatedBy":{"shape":"RecoveryPointCreator"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to be copied; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + } + }, + "documentation":"

Contains detailed information about a copy job.

" + }, + "CopyJobState":{ + "type":"string", + "enum":[ + "CREATED", + "RUNNING", + "COMPLETED", + "FAILED" + ] + }, + "CopyJobsList":{ + "type":"list", + "member":{"shape":"CopyJob"} + }, + "CreateBackupPlanInput":{ + "type":"structure", + "required":["BackupPlan"], + "members":{ + "BackupPlan":{ + "shape":"BackupPlanInput", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + }, + "BackupPlanTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair. The specified tags are assigned to all backups created with this plan.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

Identifies the request and allows failed requests to be retried without the risk of executing the operation twice. If the request includes a CreatorRequestId that matches an existing backup plan, that plan is returned. This parameter is optional.

" + } + } + }, + "CreateBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited.

" + } + } + }, + "CreateBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "BackupSelection" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies the backup plan to be associated with the selection of resources.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "BackupSelection":{ + "shape":"BackupSelection", + "documentation":"

Specifies the body of a request to assign a set of resources to a backup plan.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "CreateBackupSelectionOutput":{ + "type":"structure", + "members":{ + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "CreateBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "BackupVaultTags":{ + "shape":"Tags", + "documentation":"

Metadata that you can assign to help organize the resources that you create. Each tag is a key-value pair.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "CreateBackupVaultOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "CronExpression":{"type":"string"}, + "DeleteBackupPlanInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + } + } + }, + "DeleteBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version Ids cannot be edited.

" + } + } + }, + "DeleteBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "SelectionId" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

", + "location":"uri", + "locationName":"selectionId" + } + } + }, + "DeleteBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteBackupVaultNotificationsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DeleteRecoveryPointInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "DependencyFailureException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A dependent AWS service or resource returned an error to the AWS Backup service, and the action cannot be completed.

", + "exception":true, + "fault":true + }, + "DescribeBackupJobInput":{ + "type":"structure", + "required":["BackupJobId"], + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

", + "location":"uri", + "locationName":"backupJobId" + } + } + }, + "DescribeBackupJobOutput":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to create a backup job is completed, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "State":{ + "shape":"BackupJobState", + "documentation":"

The current state of a resource recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to back up a resource.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage that is complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a backup job, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to be backed up; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "BytesTransferred":{ + "shape":"Long", + "documentation":"

The size in bytes transferred to a backup vault at the time that the job status was queried.

" + }, + "ExpectedCompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "StartBy":{ + "shape":"timestamp", + "documentation":"

Specifies the time in Unix format and Coordinated Universal Time (UTC) when a backup job must be started before it is canceled. The value is calculated by adding the start window to the scheduled time. So if the scheduled time were 6:00 PM and the start window is 2 hours, the StartBy time would be 8:00 PM on the date specified. The value of StartBy is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "DescribeBackupVaultOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"string", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup vault is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "NumberOfRecoveryPoints":{ + "shape":"long", + "documentation":"

The number of recovery points that are stored in a backup vault.

" + } + } + }, + "DescribeCopyJobInput":{ + "type":"structure", + "required":["CopyJobId"], + "members":{ + "CopyJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a copy job.

", + "location":"uri", + "locationName":"copyJobId" + } + } + }, + "DescribeCopyJobOutput":{ + "type":"structure", + "members":{ + "CopyJob":{ + "shape":"CopyJob", + "documentation":"

Contains detailed information about a copy job.

" + } + } + }, + "DescribeProtectedResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "DescribeProtectedResourceOutput":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource saved as a recovery point; for example, an EBS volume or an Amazon RDS database.

" + }, + "LastBackupTime":{ + "shape":"timestamp", + "documentation":"

The date and time that a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeRecoveryPointInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "DescribeRecoveryPointOutput":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource to save as a recovery point; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan used to create it.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

A partial status indicates that the recovery point was not successfully re-created and must be retried.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to create a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups that are transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "IsEncrypted":{ + "shape":"boolean", + "documentation":"

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

" + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

Specifies the storage class of the recovery point. Valid values are WARM or COLD.

" + }, + "LastRestoreTime":{ + "shape":"timestamp", + "documentation":"

The date and time that a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "DescribeRegionSettingsInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeRegionSettingsOutput":{ + "type":"structure", + "members":{ + "ResourceTypeOptInPreference":{ + "shape":"ResourceTypeOptInPreference", + "documentation":"

Returns a list of all services along with the opt-in preferences in the region.

" + } + } + }, + "DescribeRestoreJobInput":{ + "type":"structure", + "required":["RestoreJobId"], + "members":{ + "RestoreJobId":{ + "shape":"RestoreJobId", + "documentation":"

Uniquely identifies the job that restores a recovery point.

", + "location":"uri", + "locationName":"restoreJobId" + } + } + }, + "DescribeRestoreJobOutput":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RestoreJobStatus", + "documentation":"

Status code specifying the state of the job that is initiated by AWS Backup to restore a recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of a job to restore a recovery point.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage that is complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of the restored resource.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "ExpectedCompletionTimeMinutes":{ + "shape":"Long", + "documentation":"

The amount of time in minutes that a job restoring a recovery point is expected to take.

" + }, + "CreatedResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource whose recovery point is being restored. The format of the ARN depends on the resource type of the backed-up resource.

" + } + } + }, + "ExportBackupPlanTemplateInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + } + } + }, + "ExportBackupPlanTemplateOutput":{ + "type":"structure", + "members":{ + "BackupPlanTemplateJson":{ + "shape":"string", + "documentation":"

The body of a backup plan template in JSON format.

This is a signed JSON document that cannot be modified before being passed to GetBackupPlanFromJSON.

" + } + } + }, + "GetBackupPlanFromJSONInput":{ + "type":"structure", + "required":["BackupPlanTemplateJson"], + "members":{ + "BackupPlanTemplateJson":{ + "shape":"string", + "documentation":"

A customer-supplied backup plan document in JSON format.

" + } + } + }, + "GetBackupPlanFromJSONOutput":{ + "type":"structure", + "members":{ + "BackupPlan":{ + "shape":"BackupPlan", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + } + } + }, + "GetBackupPlanFromTemplateInput":{ + "type":"structure", + "required":["BackupPlanTemplateId"], + "members":{ + "BackupPlanTemplateId":{ + "shape":"string", + "documentation":"

Uniquely identifies a stored backup plan template.

", + "location":"uri", + "locationName":"templateId" + } + } + }, + "GetBackupPlanFromTemplateOutput":{ + "type":"structure", + "members":{ + "BackupPlanDocument":{ + "shape":"BackupPlan", + "documentation":"

Returns the body of a backup plan based on the target template, including the name, rules, and backup vault of the plan.

" + } + } + }, + "GetBackupPlanInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "GetBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlan":{ + "shape":"BackupPlan", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version IDs cannot be edited.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "DeletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup plan is deleted, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "LastExecutionDate":{ + "shape":"timestamp", + "documentation":"

The last time a job to back up resources was executed with this backup plan. A date and time, in Unix format and Coordinated Universal Time (UTC). The value of LastExecutionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "GetBackupSelectionInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "SelectionId" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

", + "location":"uri", + "locationName":"selectionId" + } + } + }, + "GetBackupSelectionOutput":{ + "type":"structure", + "members":{ + "BackupSelection":{ + "shape":"BackupSelection", + "documentation":"

Specifies the body of a request to assign a set of resources to a backup plan.

" + }, + "SelectionId":{ + "shape":"string", + "documentation":"

Uniquely identifies the body of a request to assign a set of resources to a backup plan.

" + }, + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup selection is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CreatorRequestId":{ + "shape":"string", + "documentation":"

A unique string that identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

" + } + } + }, + "GetBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "GetBackupVaultAccessPolicyOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "Policy":{ + "shape":"IAMPolicy", + "documentation":"

The backup vault access policy document in JSON format.

" + } + } + }, + "GetBackupVaultNotificationsInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + } + } + }, + "GetBackupVaultNotificationsOutput":{ + "type":"structure", + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "SNSTopicArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies an Amazon Simple Notification Service (Amazon SNS) topic; for example, arn:aws:sns:us-west-2:111122223333:MyTopic.

" + }, + "BackupVaultEvents":{ + "shape":"BackupVaultEvents", + "documentation":"

An array of events that indicate the status of jobs to back up resources to the backup vault.

" + } + } + }, + "GetRecoveryPointRestoreMetadataInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + } + } + }, + "GetRecoveryPointRestoreMetadataOutput":{ + "type":"structure", + "members":{ + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "RestoreMetadata":{ + "shape":"Metadata", + "documentation":"

The set of metadata key-value pairs that describes the original configuration of the backed-up resource. These values vary depending on the service that is being restored.

" + } + } + }, + "GetSupportedResourceTypesOutput":{ + "type":"structure", + "members":{ + "ResourceTypes":{ + "shape":"ResourceTypes", + "documentation":"

Contains a string with the supported AWS resource types:

  • EBS for Amazon Elastic Block Store

  • Storage Gateway for AWS Storage Gateway

  • RDS for Amazon Relational Database Service

  • DDB for Amazon DynamoDB

  • EFS for Amazon Elastic File System

" + } + } + }, + "IAMPolicy":{"type":"string"}, + "IAMRoleArn":{"type":"string"}, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that something is wrong with a parameter's value. For example, the value is out of range.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that something is wrong with the input to the request. For example, a parameter is of the wrong type.

", + "exception":true + }, + "IsEnabled":{"type":"boolean"}, + "Lifecycle":{ + "type":"structure", + "members":{ + "MoveToColdStorageAfterDays":{ + "shape":"Long", + "documentation":"

Specifies the number of days after creation that a recovery point is moved to cold storage.

" + }, + "DeleteAfterDays":{ + "shape":"Long", + "documentation":"

Specifies the number of days after creation that a recovery point is deleted. Must be greater than 90 days plus MoveToColdStorageAfterDays.

" + } + }, + "documentation":"

Contains an array of Transition objects specifying how long in days before a recovery point transitions to cold storage or is deleted.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A limit in the request has been exceeded; for example, a maximum number of items allowed in a request.

", + "exception":true + }, + "ListBackupJobsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "ByResourceArn":{ + "shape":"ARN", + "documentation":"

Returns only backup jobs that match the specified resource Amazon Resource Name (ARN).

", + "location":"querystring", + "locationName":"resourceArn" + }, + "ByState":{ + "shape":"BackupJobState", + "documentation":"

Returns only backup jobs that are in the specified state.

", + "location":"querystring", + "locationName":"state" + }, + "ByBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

Returns only backup jobs that will be stored in the specified backup vault. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"querystring", + "locationName":"backupVaultName" + }, + "ByCreatedBefore":{ + "shape":"timestamp", + "documentation":"

Returns only backup jobs that were created before the specified date.

", + "location":"querystring", + "locationName":"createdBefore" + }, + "ByCreatedAfter":{ + "shape":"timestamp", + "documentation":"

Returns only backup jobs that were created after the specified date.

", + "location":"querystring", + "locationName":"createdAfter" + }, + "ByResourceType":{ + "shape":"ResourceType", + "documentation":"

Returns only backup jobs for the specified resources:

  • DynamoDB for Amazon DynamoDB

  • EBS for Amazon Elastic Block Store

  • EFS for Amazon Elastic File System

  • RDS for Amazon Relational Database Service

  • Storage Gateway for AWS Storage Gateway

", + "location":"querystring", + "locationName":"resourceType" + } + } + }, + "ListBackupJobsOutput":{ + "type":"structure", + "members":{ + "BackupJobs":{ + "shape":"BackupJobsList", + "documentation":"

An array of structures containing metadata about your backup jobs returned in JSON format.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListBackupPlanTemplatesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupPlanTemplatesOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlanTemplatesList":{ + "shape":"BackupPlanTemplatesList", + "documentation":"

An array of template list items containing metadata about your saved templates.

" + } + } + }, + "ListBackupPlanVersionsInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupPlanVersionsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlanVersionsList":{ + "shape":"BackupPlanVersionsList", + "documentation":"

An array of version list items containing metadata about your backup plans.

" + } + } + }, + "ListBackupPlansInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "IncludeDeleted":{ + "shape":"Boolean", + "documentation":"

A Boolean value with a default value of FALSE that returns deleted backup plans when set to TRUE.

", + "location":"querystring", + "locationName":"includeDeleted" + } + } + }, + "ListBackupPlansOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupPlansList":{ + "shape":"BackupPlansList", + "documentation":"

An array of backup plan list items containing metadata about your saved backup plans.

" + } + } + }, + "ListBackupSelectionsInput":{ + "type":"structure", + "required":["BackupPlanId"], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupSelectionsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "BackupSelectionsList":{ + "shape":"BackupSelectionsList", + "documentation":"

An array of backup selection list items containing metadata about each resource in the list.

" + } + } + }, + "ListBackupVaultsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListBackupVaultsOutput":{ + "type":"structure", + "members":{ + "BackupVaultList":{ + "shape":"BackupVaultList", + "documentation":"

An array of backup vault list members containing vault metadata, including Amazon Resource Name (ARN), display name, creation date, number of saved recovery points, and encryption information if the resources saved in the backup vault are encrypted.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListCopyJobsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "ByResourceArn":{ + "shape":"ARN", + "documentation":"

Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).

", + "location":"querystring", + "locationName":"resourceArn" + }, + "ByState":{ + "shape":"CopyJobState", + "documentation":"

Returns only copy jobs that are in the specified state.

", + "location":"querystring", + "locationName":"state" + }, + "ByCreatedBefore":{ + "shape":"timestamp", + "documentation":"

Returns only copy jobs that were created before the specified date.

", + "location":"querystring", + "locationName":"createdBefore" + }, + "ByCreatedAfter":{ + "shape":"timestamp", + "documentation":"

Returns only copy jobs that were created after the specified date.

", + "location":"querystring", + "locationName":"createdAfter" + }, + "ByResourceType":{ + "shape":"ResourceType", + "documentation":"

Returns only backup jobs for the specified resources:

  • EBS for Amazon Elastic Block Store

  • EFS for Amazon Elastic File System

  • RDS for Amazon Relational Database Service

  • Storage Gateway for AWS Storage Gateway

", + "location":"querystring", + "locationName":"resourceType" + }, + "ByDestinationVaultArn":{ + "shape":"string", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

", + "location":"querystring", + "locationName":"destinationVaultArn" + } + } + }, + "ListCopyJobsOutput":{ + "type":"structure", + "members":{ + "CopyJobs":{ + "shape":"CopyJobsList", + "documentation":"

An array of structures containing metadata about your copy jobs returned in JSON format.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListOfTags":{ + "type":"list", + "member":{"shape":"Condition"} + }, + "ListProtectedResourcesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProtectedResourcesOutput":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"ProtectedResourcesList", + "documentation":"

An array of resources successfully backed up by AWS Backup including the time the resource was saved, an Amazon Resource Name (ARN) of the resource, and a resource type.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListRecoveryPointsByBackupVaultInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "ByResourceArn":{ + "shape":"ARN", + "documentation":"

Returns only recovery points that match the specified resource Amazon Resource Name (ARN).

", + "location":"querystring", + "locationName":"resourceArn" + }, + "ByResourceType":{ + "shape":"ResourceType", + "documentation":"

Returns only recovery points that match the specified resource type.

", + "location":"querystring", + "locationName":"resourceType" + }, + "ByBackupPlanId":{ + "shape":"string", + "documentation":"

Returns only recovery points that match the specified backup plan ID.

", + "location":"querystring", + "locationName":"backupPlanId" + }, + "ByCreatedBefore":{ + "shape":"timestamp", + "documentation":"

Returns only recovery points that were created before the specified timestamp.

", + "location":"querystring", + "locationName":"createdBefore" + }, + "ByCreatedAfter":{ + "shape":"timestamp", + "documentation":"

Returns only recovery points that were created after the specified timestamp.

", + "location":"querystring", + "locationName":"createdAfter" + } + } + }, + "ListRecoveryPointsByBackupVaultOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "RecoveryPoints":{ + "shape":"RecoveryPointByBackupVaultList", + "documentation":"

An array of objects that contain detailed information about recovery points saved in a backup vault.

" + } + } + }, + "ListRecoveryPointsByResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

", + "location":"uri", + "locationName":"resourceArn" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRecoveryPointsByResourceOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "RecoveryPoints":{ + "shape":"RecoveryPointByResourceList", + "documentation":"

An array of objects that contain detailed information about recovery points of the specified resource type.

" + } + } + }, + "ListRestoreJobsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRestoreJobsOutput":{ + "type":"structure", + "members":{ + "RestoreJobs":{ + "shape":"RestoreJobsList", + "documentation":"

An array of objects that contain detailed information about jobs to restore saved resources.

" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + } + }, + "ListTagsInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the type of resource. Valid targets for ListTags are recovery points, backup plans, and backup vaults.

", + "location":"uri", + "locationName":"resourceArn" + }, + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to be returned.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListTagsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"string", + "documentation":"

The next item following a partial list of returned items. For example, if a request is made to return maxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources you create. Each tag is a key-value pair.

" + } + } + }, + "Long":{"type":"long"}, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Metadata":{ + "type":"map", + "key":{"shape":"MetadataKey"}, + "value":{"shape":"MetadataValue"}, + "sensitive":true + }, + "MetadataKey":{"type":"string"}, + "MetadataValue":{"type":"string"}, + "MissingParameterValueException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

Indicates that a required parameter is missing.

", + "exception":true + }, + "ProtectedResource":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "LastBackupTime":{ + "shape":"timestamp", + "documentation":"

The date and time a resource was last backed up, in Unix format and Coordinated Universal Time (UTC). The value of LastBackupTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

A structure that contains information about a backed-up resource.

" + }, + "ProtectedResourcesList":{ + "type":"list", + "member":{"shape":"ProtectedResource"} + }, + "PutBackupVaultAccessPolicyInput":{ + "type":"structure", + "required":["BackupVaultName"], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "Policy":{ + "shape":"IAMPolicy", + "documentation":"

The backup vault access policy document in JSON format.

" + } + } + }, + "PutBackupVaultNotificationsInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "SNSTopicArn", + "BackupVaultEvents" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "SNSTopicArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) that specifies the topic for a backup vault’s events; for example, arn:aws:sns:us-west-2:111122223333:MyVaultTopic.

" + }, + "BackupVaultEvents":{ + "shape":"BackupVaultEvents", + "documentation":"

An array of events that indicate the status of jobs to back up resources to the backup vault.

" + } + } + }, + "RecoveryPointByBackupVault":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource saved as a recovery point; for example, an Amazon Elastic Block Store (Amazon EBS) volume or an Amazon Relational Database Service (Amazon RDS) database.

" + }, + "CreatedBy":{ + "shape":"RecoveryPointCreator", + "documentation":"

Contains identifying information about the creation of a recovery point, including the BackupPlanArn, BackupPlanId, BackupPlanVersion, and BackupRuleId of the backup plan that is used to create it.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "IsEncrypted":{ + "shape":"boolean", + "documentation":"

A Boolean value that is returned as TRUE if the specified recovery point is encrypted, or FALSE if the recovery point is not encrypted.

" + }, + "LastRestoreTime":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point was last restored, in Unix format and Coordinated Universal Time (UTC). The value of LastRestoreTime is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + }, + "documentation":"

Contains detailed information about the recovery points stored in a backup vault.

" + }, + "RecoveryPointByBackupVaultList":{ + "type":"list", + "member":{"shape":"RecoveryPointByBackupVault"} + }, + "RecoveryPointByResource":{ + "type":"structure", + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a recovery point is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RecoveryPointStatus", + "documentation":"

A status code specifying the state of the recovery point.

" + }, + "EncryptionKeyArn":{ + "shape":"ARN", + "documentation":"

The server-side encryption key that is used to protect your backups; for example, arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + }, + "BackupSizeBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of a backup.

" + }, + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + } + }, + "documentation":"

Contains detailed information about a saved recovery point.

" + }, + "RecoveryPointByResourceList":{ + "type":"list", + "member":{"shape":"RecoveryPointByResource"} + }, + "RecoveryPointCreator":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "BackupPlanVersion":{ + "shape":"string", + "documentation":"

Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited.

" + }, + "BackupRuleId":{ + "shape":"string", + "documentation":"

Uniquely identifies a rule used to schedule the backup of a selection of resources.

" + } + }, + "documentation":"

Contains information about the backup plan and rule that AWS Backup used to initiate the recovery point backup.

" + }, + "RecoveryPointStatus":{ + "type":"string", + "enum":[ + "COMPLETED", + "PARTIAL", + "DELETING", + "EXPIRED" + ] + }, + "ResourceArns":{ + "type":"list", + "member":{"shape":"ARN"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

A resource that is required for the action doesn't exist.

", + "exception":true + }, + "ResourceType":{ + "type":"string", + "pattern":"^[a-zA-Z0-9\\-\\_\\.]{1,50}$" + }, + "ResourceTypeOptInPreference":{ + "type":"map", + "key":{"shape":"ResourceType"}, + "value":{"shape":"IsEnabled"} + }, + "ResourceTypes":{ + "type":"list", + "member":{"shape":"ResourceType"} + }, + "RestoreJobId":{"type":"string"}, + "RestoreJobStatus":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "COMPLETED", + "ABORTED", + "FAILED" + ] + }, + "RestoreJobsList":{ + "type":"list", + "member":{"shape":"RestoreJobsListMember"} + }, + "RestoreJobsListMember":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a restore job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "CompletionDate":{ + "shape":"timestamp", + "documentation":"

The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "Status":{ + "shape":"RestoreJobStatus", + "documentation":"

A status code specifying the state of the job initiated by AWS Backup to restore a recovery point.

" + }, + "StatusMessage":{ + "shape":"string", + "documentation":"

A detailed message explaining the status of the job to restore a recovery point.

" + }, + "PercentDone":{ + "shape":"string", + "documentation":"

Contains an estimated percentage complete of a job at the time the job status was queried.

" + }, + "BackupSizeInBytes":{ + "shape":"Long", + "documentation":"

The size, in bytes, of the restored resource.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "ExpectedCompletionTimeMinutes":{ + "shape":"Long", + "documentation":"

The amount of time in minutes that a job restoring a recovery point is expected to take.

" + }, + "CreatedResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + } + }, + "documentation":"

Contains metadata about a restore job.

" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Code":{"shape":"string"}, + "Message":{"shape":"string"}, + "Type":{ + "shape":"string", + "documentation":"

" + }, + "Context":{ + "shape":"string", + "documentation":"

" + } + }, + "documentation":"

The request failed due to a temporary failure of the server.

", + "exception":true, + "fault":true + }, + "StartBackupJobInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "ResourceArn", + "IamRoleArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "IdempotencyToken":{ + "shape":"string", + "documentation":"

A customer chosen string that can be used to distinguish between calls to StartBackupJob.

" + }, + "StartWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional.

" + }, + "CompleteWindowMinutes":{ + "shape":"WindowMinutes", + "documentation":"

A value in minutes after a backup job is successfully started before it must be completed or it will be canceled by AWS Backup. This value is optional.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup will transition and expire backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "RecoveryPointTags":{ + "shape":"Tags", + "documentation":"

To help organize your resources, you can assign your own metadata to the resources that you create. Each tag is a key-value pair.

" + } + } + }, + "StartBackupJobOutput":{ + "type":"structure", + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a backup job is started, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "StartCopyJobInput":{ + "type":"structure", + "required":[ + "RecoveryPointArn", + "SourceBackupVaultName", + "DestinationBackupVaultArn", + "IamRoleArn" + ], + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point to use for the copy job; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "SourceBackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical source container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

" + }, + "DestinationBackupVaultArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a destination backup vault to copy to; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "IdempotencyToken":{ + "shape":"string", + "documentation":"

A customer chosen string that can be used to distinguish between calls to StartCopyJob.

" + }, + "Lifecycle":{"shape":"Lifecycle"} + } + }, + "StartCopyJobOutput":{ + "type":"structure", + "members":{ + "CopyJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a copy job.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time that a copy job is started, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + } + } + }, + "StartRestoreJobInput":{ + "type":"structure", + "required":[ + "RecoveryPointArn", + "Metadata", + "IamRoleArn" + ], + "members":{ + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "Metadata":{ + "shape":"Metadata", + "documentation":"

A set of metadata key-value pairs. Contains information, such as a resource name, required to restore a recovery point.

You can get configuration metadata about a resource at the time it was backed up by calling GetRecoveryPointRestoreMetadata. However, values in addition to those provided by GetRecoveryPointRestoreMetadata might be required to restore a resource. For example, you might need to provide a new resource name if the original already exists.

You need to specify specific metadata to restore an Amazon Elastic File System (Amazon EFS) instance:

  • file-system-id: ID of the Amazon EFS file system that is backed up by AWS Backup. Returned in GetRecoveryPointRestoreMetadata.

  • Encrypted: A Boolean value that, if true, specifies that the file system is encrypted. If KmsKeyId is specified, Encrypted must be set to true.

  • KmsKeyId: Specifies the AWS KMS key that is used to encrypt the restored file system.

  • PerformanceMode: Specifies the throughput mode of the file system.

  • CreationToken: A user-supplied value that ensures the uniqueness (idempotency) of the request.

  • newFileSystem: A Boolean value that, if true, specifies that the recovery point is restored to a new Amazon EFS file system.

" + }, + "IamRoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that AWS Backup uses to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

" + }, + "IdempotencyToken":{ + "shape":"string", + "documentation":"

A customer chosen string that can be used to distinguish between calls to StartRestoreJob.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Starts a job to restore a recovery point for one of the following resources:

  • EBS for Amazon Elastic Block Store

  • Storage Gateway for AWS Storage Gateway

  • RDS for Amazon Relational Database Service

  • DDB for Amazon DynamoDB

  • EFS for Amazon Elastic File System

" + } + } + }, + "StartRestoreJobOutput":{ + "type":"structure", + "members":{ + "RestoreJobId":{ + "shape":"RestoreJobId", + "documentation":"

Uniquely identifies the job that restores a recovery point.

" + } + } + }, + "StopBackupJobInput":{ + "type":"structure", + "required":["BackupJobId"], + "members":{ + "BackupJobId":{ + "shape":"string", + "documentation":"

Uniquely identifies a request to AWS Backup to back up a resource.

", + "location":"uri", + "locationName":"backupJobId" + } + } + }, + "StorageClass":{ + "type":"string", + "enum":[ + "WARM", + "COLD", + "DELETED" + ] + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"string"}, + "sensitive":true + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Key-value pairs that are used to help organize your resources. You can assign your own metadata to the resources you create.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "sensitive":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeyList" + ], + "members":{ + "ResourceArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a resource. The format of the ARN depends on the type of the tagged resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeyList":{ + "shape":"TagKeyList", + "documentation":"

A list of keys to identify which key-value tags to remove from a resource.

" + } + } + }, + "UpdateBackupPlanInput":{ + "type":"structure", + "required":[ + "BackupPlanId", + "BackupPlan" + ], + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

", + "location":"uri", + "locationName":"backupPlanId" + }, + "BackupPlan":{ + "shape":"BackupPlanInput", + "documentation":"

Specifies the body of a backup plan. Includes a BackupPlanName and one or more sets of Rules.

" + } + } + }, + "UpdateBackupPlanOutput":{ + "type":"structure", + "members":{ + "BackupPlanId":{ + "shape":"string", + "documentation":"

Uniquely identifies a backup plan.

" + }, + "BackupPlanArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example, arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" + }, + "CreationDate":{ + "shape":"timestamp", + "documentation":"

The date and time a backup plan is updated, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

" + }, + "VersionId":{ + "shape":"string", + "documentation":"

Unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. Version Ids cannot be edited.

" + } + } + }, + "UpdateRecoveryPointLifecycleInput":{ + "type":"structure", + "required":[ + "BackupVaultName", + "RecoveryPointArn" + ], + "members":{ + "BackupVaultName":{ + "shape":"BackupVaultName", + "documentation":"

The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the AWS Region where they are created. They consist of lowercase letters, numbers, and hyphens.

", + "location":"uri", + "locationName":"backupVaultName" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

", + "location":"uri", + "locationName":"recoveryPointArn" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + } + } + }, + "UpdateRecoveryPointLifecycleOutput":{ + "type":"structure", + "members":{ + "BackupVaultArn":{ + "shape":"ARN", + "documentation":"

An ARN that uniquely identifies a backup vault; for example, arn:aws:backup:us-east-1:123456789012:vault:aBackupVault.

" + }, + "RecoveryPointArn":{ + "shape":"ARN", + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" + }, + "Lifecycle":{ + "shape":"Lifecycle", + "documentation":"

The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. AWS Backup transitions and expires backups automatically according to the lifecycle that you define.

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

" + }, + "CalculatedLifecycle":{ + "shape":"CalculatedLifecycle", + "documentation":"

A CalculatedLifecycle object containing DeleteAt and MoveToColdStorageAt timestamps.

" + } + } + }, + "UpdateRegionSettingsInput":{ + "type":"structure", + "members":{ + "ResourceTypeOptInPreference":{ + "shape":"ResourceTypeOptInPreference", + "documentation":"

Updates the list of services along with the opt-in preferences for the region.

" + } + } + }, + "WindowMinutes":{"type":"long"}, + "boolean":{"type":"boolean"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"AWS Backup

AWS Backup is a unified backup service designed to protect AWS services and their associated data. AWS Backup simplifies the creation, migration, restoration, and deletion of backups, while also providing reporting and auditing.

" +} diff -Nru python-botocore-1.4.70/botocore/data/batch/2016-08-10/examples-1.json python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/examples-1.json --- python-botocore-1.4.70/botocore/data/batch/2016-08-10/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,589 @@ +{ + "version": "1.0", + "examples": { + "CancelJob": [ + { + "input": { + "jobId": "1d828f65-7a4d-42e8-996d-3b900ed59dc4", + "reason": "Cancelling job." + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels a job with the specified job ID.", + "id": "to-cancel-a-job-1481152314733", + "title": "To cancel a job" + } + ], + "CreateComputeEnvironment": [ + { + "input": { + "type": "MANAGED", + "computeEnvironmentName": "C4OnDemand", + "computeResources": { + "type": "EC2", + "desiredvCpus": 48, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "c4.large", + "c4.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - C4OnDemand" + } + }, + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand", + "computeEnvironmentName": "C4OnDemand" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a managed compute environment with specific C4 instance types that are launched on demand. The compute environment is called C4OnDemand.", + "id": "to-create-a-managed-ec2-compute-environment-1481152600017", + "title": "To create a managed EC2 compute environment" + }, + { + "input": { + "type": "MANAGED", + "computeEnvironmentName": "M4Spot", + "computeResources": { + "type": "SPOT", + "bidPercentage": 20, + "desiredvCpus": 4, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "m4" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "spotIamFleetRole": "arn:aws:iam::012345678910:role/aws-ec2-spot-fleet-role", + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - M4Spot" + } + }, + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/M4Spot", + "computeEnvironmentName": "M4Spot" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a managed compute environment with the M4 instance type that is launched when the Spot bid price is at or below 20% of the On-Demand price for the instance type. The compute environment is called M4Spot.", + "id": "to-create-a-managed-ec2-spot-compute-environment-1481152844190", + "title": "To create a managed EC2 Spot compute environment" + } + ], + "CreateJobQueue": [ + { + "input": { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "M4Spot", + "order": 1 + } + ], + "jobQueueName": "LowPriority", + "priority": 1, + "state": "ENABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/LowPriority", + "jobQueueName": "LowPriority" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a job queue called LowPriority that uses the M4Spot compute environment.", + "id": "to-create-a-job-queue-with-a-single-compute-environment-1481152967946", + "title": "To create a job queue with a single compute environment" + }, + { + "input": { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "C4OnDemand", + "order": 1 + }, + { + "computeEnvironment": "M4Spot", + "order": 2 + } + ], + "jobQueueName": "HighPriority", + "priority": 10, + "state": "ENABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "jobQueueName": "HighPriority" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a job queue called HighPriority that uses the C4OnDemand compute environment with an order of 1 and the M4Spot compute environment with an order of 2.", + "id": "to-create-a-job-queue-with-multiple-compute-environments-1481153027051", + "title": "To create a job queue with multiple compute environments" + } + ], + "DeleteComputeEnvironment": [ + { + "input": { + "computeEnvironment": "P2OnDemand" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the P2OnDemand compute environment.", + "id": "to-delete-a-compute-environment-1481153105644", + "title": "To delete a compute environment" + } + ], + "DeleteJobQueue": [ + { + "input": { + "jobQueue": "GPGPU" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the GPGPU job queue.", + "id": "to-delete-a-job-queue-1481153508134", + "title": "To delete a job queue" + } + ], + "DeregisterJobDefinition": [ + { + "input": { + "jobDefinition": "sleep10" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a job definition called sleep10.", + "id": "to-deregister-a-job-definition-1481153579565", + "title": "To deregister a job definition" + } + ], + "DescribeComputeEnvironments": [ + { + "input": { + "computeEnvironments": [ + "P2OnDemand" + ] + }, + "output": { + "computeEnvironments": [ + { + "type": "MANAGED", + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", + "computeEnvironmentName": "P2OnDemand", + "computeResources": { + "type": "EC2", + "desiredvCpus": 48, + "ec2KeyPair": "id_rsa", + "instanceRole": "ecsInstanceRole", + "instanceTypes": [ + "p2" + ], + "maxvCpus": 128, + "minvCpus": 0, + "securityGroupIds": [ + "sg-cf5093b2" + ], + "subnets": [ + "subnet-220c0e0a", + "subnet-1a95556d", + "subnet-978f6dce" + ], + "tags": { + "Name": "Batch Instance - P2OnDemand" + } + }, + "ecsClusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/P2OnDemand_Batch_2c06f29d-d1fe-3a49-879d-42394c86effc", + "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", + "state": "ENABLED", + "status": "VALID", + "statusReason": "ComputeEnvironment Healthy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the P2OnDemand compute environment.", + "id": "to-describe-a-compute-environment-1481153713334", + "title": "To describe a compute environment" + } + ], + "DescribeJobDefinitions": [ + { + "input": { + "status": "ACTIVE" + }, + "output": { + "jobDefinitions": [ + { + "type": "container", + "containerProperties": { + "command": [ + "sleep", + "60" + ], + "environment": [ + + ], + "image": "busybox", + "memory": 128, + "mountPoints": [ + + ], + "ulimits": [ + + ], + "vcpus": 1, + "volumes": [ + + ] + }, + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1", + "jobDefinitionName": "sleep60", + "revision": 1, + "status": "ACTIVE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all of your active job definitions.", + "id": "to-describe-active-job-definitions-1481153895831", + "title": "To describe active job definitions" + } + ], + "DescribeJobQueues": [ + { + "input": { + "jobQueues": [ + "HighPriority" + ] + }, + "output": { + "jobQueues": [ + { + "computeEnvironmentOrder": [ + { + "computeEnvironment": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand", + "order": 1 + } + ], + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "jobQueueName": "HighPriority", + "priority": 1, + "state": "ENABLED", + "status": "VALID", + "statusReason": "JobQueue Healthy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the HighPriority job queue.", + "id": "to-describe-a-job-queue-1481153995804", + "title": "To describe a job queue" + } + ], + "DescribeJobs": [ + { + "input": { + "jobs": [ + "24fa2d7a-64c4-49d2-8b47-f8da4fbde8e9" + ] + }, + "output": { + "jobs": [ + { + "container": { + "command": [ + "sleep", + "60" + ], + "containerInstanceArn": "arn:aws:ecs:us-east-1:012345678910:container-instance/5406d7cd-58bd-4b8f-9936-48d7c6b1526c", + "environment": [ + + ], + "exitCode": 0, + "image": "busybox", + "memory": 128, + "mountPoints": [ + + ], + "ulimits": [ + + ], + "vcpus": 1, + "volumes": [ + + ] + }, + "createdAt": 1480460782010, + "dependsOn": [ + + ], + "jobDefinition": "sleep60", + "jobId": "24fa2d7a-64c4-49d2-8b47-f8da4fbde8e9", + "jobName": "example", + "jobQueue": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", + "parameters": { + }, + "startedAt": 1480460816500, + "status": "SUCCEEDED", + "stoppedAt": 1480460880699 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a job with the specified job ID.", + "id": "to-describe-a-specific-job-1481154090490", + "title": "To describe a specific job" + } + ], + "ListJobs": [ + { + "input": { + "jobQueue": "HighPriority" + }, + "output": { + "jobSummaryList": [ + { + "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb", + "jobName": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the running jobs in the HighPriority job queue.", + "id": "to-list-running-jobs-1481154202164", + "title": "To list running jobs" + }, + { + "input": { + "jobQueue": "HighPriority", + "jobStatus": "SUBMITTED" + }, + "output": { + "jobSummaryList": [ + { + "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786", + "jobName": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists jobs in the HighPriority job queue that are in the SUBMITTED job status.", + "id": "to-list-submitted-jobs-1481154251623", + "title": "To list submitted jobs" + } + ], + "RegisterJobDefinition": [ + { + "input": { + "type": "container", + "containerProperties": { + "command": [ + "sleep", + "10" + ], + "image": "busybox", + "memory": 128, + "vcpus": 1 + }, + "jobDefinitionName": "sleep10" + }, + "output": { + "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep10:1", + "jobDefinitionName": "sleep10", + "revision": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a job definition for a simple container job.", + "id": "to-register-a-job-definition-1481154325325", + "title": "To register a job definition" + } + ], + "SubmitJob": [ + { + "input": { + "jobDefinition": "sleep60", + "jobName": "example", + "jobQueue": "HighPriority" + }, + "output": { + "jobId": "876da822-4198-45f2-a252-6cea32512ea8", + "jobName": "example" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example submits a simple container job called example to the HighPriority job queue.", + "id": "to-submit-a-job-to-a-queue-1481154481673", + "title": "To submit a job to a queue" + } + ], + "TerminateJob": [ + { + "input": { + "jobId": "61e743ed-35e4-48da-b2de-5c8333821c84", + "reason": "Terminating job." + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates a job with the specified job ID.", + "id": "to-terminate-a-job-1481154558276", + "title": "To terminate a job" + } + ], + "UpdateComputeEnvironment": [ + { + "input": { + "computeEnvironment": "P2OnDemand", + "state": "DISABLED" + }, + "output": { + "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", + "computeEnvironmentName": "P2OnDemand" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables the P2OnDemand compute environment so it can be deleted.", + "id": "to-update-a-compute-environment-1481154702731", + "title": "To update a compute environment" + } + ], + "UpdateJobQueue": [ + { + "input": { + "jobQueue": "GPGPU", + "state": "DISABLED" + }, + "output": { + "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", + "jobQueueName": "GPGPU" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables a job queue so that it can be deleted.", + "id": "to-update-a-job-queue-1481154806981", + "title": "To update a job queue" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/batch/2016-08-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/batch/2016-08-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "DescribeComputeEnvironments": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "computeEnvironments" + }, + "DescribeJobDefinitions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobDefinitions" + }, + "DescribeJobQueues": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobQueues" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobSummaryList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/batch/2016-08-10/service-2.json python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/service-2.json --- python-botocore-1.4.70/botocore/data/batch/2016-08-10/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/batch/2016-08-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1963 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-08-10", + "endpointPrefix":"batch", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWS Batch", + "serviceFullName":"AWS Batch", + "serviceId":"Batch", + "signatureVersion":"v4", + "uid":"batch-2016-08-10" + }, + "operations":{ + "CancelJob":{ + "name":"CancelJob", + "http":{ + "method":"POST", + "requestUri":"/v1/canceljob" + }, + "input":{"shape":"CancelJobRequest"}, + "output":{"shape":"CancelJobResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Cancels a job in an AWS Batch job queue. Jobs that are in the SUBMITTED, PENDING, or RUNNABLE state are cancelled. Jobs that have progressed to STARTING or RUNNING are not cancelled (but the API operation still succeeds, even if no job is cancelled); these jobs must be terminated with the TerminateJob operation.

" + }, + "CreateComputeEnvironment":{ + "name":"CreateComputeEnvironment", + "http":{ + "method":"POST", + "requestUri":"/v1/createcomputeenvironment" + }, + "input":{"shape":"CreateComputeEnvironmentRequest"}, + "output":{"shape":"CreateComputeEnvironmentResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Creates an AWS Batch compute environment. You can create MANAGED or UNMANAGED compute environments.

In a managed compute environment, AWS Batch manages the capacity and instance types of the compute resources within the environment. This is based on the compute resource specification that you define or the launch template that you specify when you create the compute environment. You can choose to use Amazon EC2 On-Demand Instances or Spot Instances in your managed compute environment. You can optionally set a maximum price so that Spot Instances only launch when the Spot Instance price is below a specified percentage of the On-Demand price.

Multi-node parallel jobs are not supported on Spot Instances.

In an unmanaged compute environment, you can manage your own compute resources. This provides more compute resource configuration options, such as using a custom AMI, but you must ensure that your AMI meets the Amazon ECS container instance AMI specification. For more information, see Container Instance AMIs in the Amazon Elastic Container Service Developer Guide. After you have created your unmanaged compute environment, you can use the DescribeComputeEnvironments operation to find the Amazon ECS cluster that is associated with it. Then, manually launch your container instances into that Amazon ECS cluster. For more information, see Launching an Amazon ECS Container Instance in the Amazon Elastic Container Service Developer Guide.

AWS Batch does not upgrade the AMIs in a compute environment after it is created (for example, when a newer version of the Amazon ECS-optimized AMI is available). You are responsible for the management of the guest operating system (including updates and security patches) and any additional application software or utilities that you install on the compute resources. To use a new AMI for your AWS Batch jobs:

  1. Create a new compute environment with the new AMI.

  2. Add the compute environment to an existing job queue.

  3. Remove the old compute environment from your job queue.

  4. Delete the old compute environment.

" + }, + "CreateJobQueue":{ + "name":"CreateJobQueue", + "http":{ + "method":"POST", + "requestUri":"/v1/createjobqueue" + }, + "input":{"shape":"CreateJobQueueRequest"}, + "output":{"shape":"CreateJobQueueResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Creates an AWS Batch job queue. When you create a job queue, you associate one or more compute environments to the queue and assign an order of preference for the compute environments.

You also set a priority to the job queue that determines the order in which the AWS Batch scheduler places jobs onto its associated compute environments. For example, if a compute environment is associated with more than one job queue, the job queue with a higher priority is given preference for scheduling jobs to that compute environment.

" + }, + "DeleteComputeEnvironment":{ + "name":"DeleteComputeEnvironment", + "http":{ + "method":"POST", + "requestUri":"/v1/deletecomputeenvironment" + }, + "input":{"shape":"DeleteComputeEnvironmentRequest"}, + "output":{"shape":"DeleteComputeEnvironmentResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Deletes an AWS Batch compute environment.

Before you can delete a compute environment, you must set its state to DISABLED with the UpdateComputeEnvironment API operation and disassociate it from any job queues with the UpdateJobQueue API operation.

" + }, + "DeleteJobQueue":{ + "name":"DeleteJobQueue", + "http":{ + "method":"POST", + "requestUri":"/v1/deletejobqueue" + }, + "input":{"shape":"DeleteJobQueueRequest"}, + "output":{"shape":"DeleteJobQueueResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Deletes the specified job queue. You must first disable submissions for a queue with the UpdateJobQueue operation. All jobs in the queue are terminated when you delete a job queue.

It is not necessary to disassociate compute environments from a queue before submitting a DeleteJobQueue request.

" + }, + "DeregisterJobDefinition":{ + "name":"DeregisterJobDefinition", + "http":{ + "method":"POST", + "requestUri":"/v1/deregisterjobdefinition" + }, + "input":{"shape":"DeregisterJobDefinitionRequest"}, + "output":{"shape":"DeregisterJobDefinitionResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Deregisters an AWS Batch job definition. Job definitions will be permanently deleted after 180 days.

" + }, + "DescribeComputeEnvironments":{ + "name":"DescribeComputeEnvironments", + "http":{ + "method":"POST", + "requestUri":"/v1/describecomputeenvironments" + }, + "input":{"shape":"DescribeComputeEnvironmentsRequest"}, + "output":{"shape":"DescribeComputeEnvironmentsResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Describes one or more of your compute environments.

If you are using an unmanaged compute environment, you can use the DescribeComputeEnvironment operation to determine the ecsClusterArn that you should launch your Amazon ECS container instances into.

" + }, + "DescribeJobDefinitions":{ + "name":"DescribeJobDefinitions", + "http":{ + "method":"POST", + "requestUri":"/v1/describejobdefinitions" + }, + "input":{"shape":"DescribeJobDefinitionsRequest"}, + "output":{"shape":"DescribeJobDefinitionsResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Describes a list of job definitions. You can specify a status (such as ACTIVE) to only return job definitions that match that status.

" + }, + "DescribeJobQueues":{ + "name":"DescribeJobQueues", + "http":{ + "method":"POST", + "requestUri":"/v1/describejobqueues" + }, + "input":{"shape":"DescribeJobQueuesRequest"}, + "output":{"shape":"DescribeJobQueuesResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Describes one or more of your job queues.

" + }, + "DescribeJobs":{ + "name":"DescribeJobs", + "http":{ + "method":"POST", + "requestUri":"/v1/describejobs" + }, + "input":{"shape":"DescribeJobsRequest"}, + "output":{"shape":"DescribeJobsResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Describes a list of AWS Batch jobs.

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"POST", + "requestUri":"/v1/listjobs" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Returns a list of AWS Batch jobs.

You must specify only one of the following:

  • a job queue ID to return a list of jobs in that job queue

  • a multi-node parallel job ID to return a list of that job's nodes

  • an array job ID to return a list of that job's children

You can filter the results by job status with the jobStatus parameter. If you do not specify a status, only RUNNING jobs are returned.

" + }, + "RegisterJobDefinition":{ + "name":"RegisterJobDefinition", + "http":{ + "method":"POST", + "requestUri":"/v1/registerjobdefinition" + }, + "input":{"shape":"RegisterJobDefinitionRequest"}, + "output":{"shape":"RegisterJobDefinitionResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Registers an AWS Batch job definition.

" + }, + "SubmitJob":{ + "name":"SubmitJob", + "http":{ + "method":"POST", + "requestUri":"/v1/submitjob" + }, + "input":{"shape":"SubmitJobRequest"}, + "output":{"shape":"SubmitJobResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Submits an AWS Batch job from a job definition. Parameters specified during SubmitJob override parameters defined in the job definition.

" + }, + "TerminateJob":{ + "name":"TerminateJob", + "http":{ + "method":"POST", + "requestUri":"/v1/terminatejob" + }, + "input":{"shape":"TerminateJobRequest"}, + "output":{"shape":"TerminateJobResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Terminates a job in a job queue. Jobs that are in the STARTING or RUNNING state are terminated, which causes them to transition to FAILED. Jobs that have not progressed to the STARTING state are cancelled.

" + }, + "UpdateComputeEnvironment":{ + "name":"UpdateComputeEnvironment", + "http":{ + "method":"POST", + "requestUri":"/v1/updatecomputeenvironment" + }, + "input":{"shape":"UpdateComputeEnvironmentRequest"}, + "output":{"shape":"UpdateComputeEnvironmentResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Updates an AWS Batch compute environment.

" + }, + "UpdateJobQueue":{ + "name":"UpdateJobQueue", + "http":{ + "method":"POST", + "requestUri":"/v1/updatejobqueue" + }, + "input":{"shape":"UpdateJobQueueRequest"}, + "output":{"shape":"UpdateJobQueueResponse"}, + "errors":[ + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Updates a job queue.

" + } + }, + "shapes":{ + "ArrayJobDependency":{ + "type":"string", + "enum":[ + "N_TO_N", + "SEQUENTIAL" + ] + }, + "ArrayJobStatusSummary":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Integer"} + }, + "ArrayProperties":{ + "type":"structure", + "members":{ + "size":{ + "shape":"Integer", + "documentation":"

The size of the array job.

" + } + }, + "documentation":"

An object representing an AWS Batch array job.

" + }, + "ArrayPropertiesDetail":{ + "type":"structure", + "members":{ + "statusSummary":{ + "shape":"ArrayJobStatusSummary", + "documentation":"

A summary of the number of array job children in each available job status. This parameter is returned for parent array jobs.

" + }, + "size":{ + "shape":"Integer", + "documentation":"

The size of the array job. This parameter is returned for parent array jobs.

" + }, + "index":{ + "shape":"Integer", + "documentation":"

The job index within the array that is associated with this job. This parameter is returned for array job children.

" + } + }, + "documentation":"

An object representing the array properties of a job.

" + }, + "ArrayPropertiesSummary":{ + "type":"structure", + "members":{ + "size":{ + "shape":"Integer", + "documentation":"

The size of the array job. This parameter is returned for parent array jobs.

" + }, + "index":{ + "shape":"Integer", + "documentation":"

The job index within the array that is associated with this job. This parameter is returned for children of array jobs.

" + } + }, + "documentation":"

An object representing the array properties of a job.

" + }, + "AttemptContainerDetail":{ + "type":"structure", + "members":{ + "containerInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS container instance that hosts the job attempt.

" + }, + "taskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the job attempt. Each container attempt receives a task ARN when they reach the STARTING status.

" + }, + "exitCode":{ + "shape":"Integer", + "documentation":"

The exit code for the job attempt. A non-zero exit code is considered a failure.

" + }, + "reason":{ + "shape":"String", + "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" + }, + "logStreamName":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

" + }, + "networkInterfaces":{ + "shape":"NetworkInterfaceList", + "documentation":"

The network interfaces associated with the job attempt.

" + } + }, + "documentation":"

An object representing the details of a container that is part of a job attempt.

" + }, + "AttemptDetail":{ + "type":"structure", + "members":{ + "container":{ + "shape":"AttemptContainerDetail", + "documentation":"

Details about the container in this job attempt.

" + }, + "startedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp (in seconds and milliseconds) for when the attempt was started (when the attempt transitioned from the STARTING state to the RUNNING state).

" + }, + "stoppedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp (in seconds and milliseconds) for when the attempt was stopped (when the attempt transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

A short, human-readable string to provide additional details about the current status of the job attempt.

" + } + }, + "documentation":"

An object representing a job attempt.

" + }, + "AttemptDetails":{ + "type":"list", + "member":{"shape":"AttemptDetail"} + }, + "Boolean":{"type":"boolean"}, + "CEState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "CEStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "DELETED", + "VALID", + "INVALID" + ] + }, + "CEType":{ + "type":"string", + "enum":[ + "MANAGED", + "UNMANAGED" + ] + }, + "CRAllocationStrategy":{ + "type":"string", + "enum":[ + "BEST_FIT", + "BEST_FIT_PROGRESSIVE", + "SPOT_CAPACITY_OPTIMIZED" + ] + }, + "CRType":{ + "type":"string", + "enum":[ + "EC2", + "SPOT" + ] + }, + "CancelJobRequest":{ + "type":"structure", + "required":[ + "jobId", + "reason" + ], + "members":{ + "jobId":{ + "shape":"String", + "documentation":"

The AWS Batch job ID of the job to cancel.

" + }, + "reason":{ + "shape":"String", + "documentation":"

A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

" + } + } + }, + "CancelJobResponse":{ + "type":"structure", + "members":{ + } + }, + "ClientException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ComputeEnvironmentDetail":{ + "type":"structure", + "required":[ + "computeEnvironmentName", + "computeEnvironmentArn", + "ecsClusterArn" + ], + "members":{ + "computeEnvironmentName":{ + "shape":"String", + "documentation":"

The name of the compute environment.

" + }, + "computeEnvironmentArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" + }, + "ecsClusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster used by the compute environment.

" + }, + "type":{ + "shape":"CEType", + "documentation":"

The type of the compute environment.

" + }, + "state":{ + "shape":"CEState", + "documentation":"

The state of the compute environment. The valid values are ENABLED or DISABLED.

If the state is ENABLED, then the AWS Batch scheduler can attempt to place jobs from an associated job queue on the compute resources within the environment. If the compute environment is managed, then it can scale its instances out or in automatically, based on the job queue demand.

If the state is DISABLED, then the AWS Batch scheduler does not attempt to place jobs within the environment. Jobs in a STARTING or RUNNING state continue to progress normally. Managed compute environments in the DISABLED state do not scale out. However, they scale in to minvCpus value after instances become idle.

" + }, + "status":{ + "shape":"CEStatus", + "documentation":"

The current status of the compute environment (for example, CREATING or VALID).

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

A short, human-readable string to provide additional details about the current status of the compute environment.

" + }, + "computeResources":{ + "shape":"ComputeResource", + "documentation":"

The compute resources defined for the compute environment.

" + }, + "serviceRole":{ + "shape":"String", + "documentation":"

The service role associated with the compute environment that allows AWS Batch to make calls to AWS API operations on your behalf.

" + } + }, + "documentation":"

An object representing an AWS Batch compute environment.

" + }, + "ComputeEnvironmentDetailList":{ + "type":"list", + "member":{"shape":"ComputeEnvironmentDetail"} + }, + "ComputeEnvironmentOrder":{ + "type":"structure", + "required":[ + "order", + "computeEnvironment" + ], + "members":{ + "order":{ + "shape":"Integer", + "documentation":"

The order of the compute environment.

" + }, + "computeEnvironment":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" + } + }, + "documentation":"

The order in which compute environments are tried for job placement within a queue. Compute environments are tried in ascending order. For example, if two compute environments are associated with a job queue, the compute environment with a lower order integer value is tried for job placement first.

" + }, + "ComputeEnvironmentOrders":{ + "type":"list", + "member":{"shape":"ComputeEnvironmentOrder"} + }, + "ComputeResource":{ + "type":"structure", + "required":[ + "type", + "minvCpus", + "maxvCpus", + "instanceTypes", + "subnets", + "instanceRole" + ], + "members":{ + "type":{ + "shape":"CRType", + "documentation":"

The type of compute environment: EC2 or SPOT.

" + }, + "allocationStrategy":{ + "shape":"CRAllocationStrategy", + "documentation":"

The allocation strategy to use for the compute resource in case not enough instances of the best fitting instance type can be allocated. This could be due to availability of the instance type in the region or Amazon EC2 service limits. If this is not specified, the default is BEST_FIT, which will use only the best fitting instance type, waiting for additional capacity if it's not available. This allocation strategy keeps costs lower but can limit scaling. If you are using Spot Fleets with BEST_FIT then the Spot Fleet IAM Role must be specified. BEST_FIT_PROGRESSIVE will select additional instance types that are large enough to meet the requirements of the jobs in the queue, with a preference for instance types with a lower cost per vCPU. SPOT_CAPACITY_OPTIMIZED is only available for Spot Instance compute resources and will select additional instance types that are large enough to meet the requirements of the jobs in the queue, with a preference for instance types that are less likely to be interrupted. For more information, see Allocation Strategies in the AWS Batch User Guide.

" + }, + "minvCpus":{ + "shape":"Integer", + "documentation":"

The minimum number of Amazon EC2 vCPUs that an environment should maintain (even if the compute environment is DISABLED).

" + }, + "maxvCpus":{ + "shape":"Integer", + "documentation":"

The maximum number of Amazon EC2 vCPUs that an environment can reach.

" + }, + "desiredvCpus":{ + "shape":"Integer", + "documentation":"

The desired number of Amazon EC2 vCPUS in the compute environment.

" + }, + "instanceTypes":{ + "shape":"StringList", + "documentation":"

The instances types that may be launched. You can specify instance families to launch any instance type within those families (for example, c5 or p3), or you can specify specific sizes within a family (such as c5.8xlarge). You can also choose optimal to pick instance types (from the C, M, and R instance families) on the fly that match the demand of your job queues.

" + }, + "imageId":{ + "shape":"String", + "documentation":"

The Amazon Machine Image (AMI) ID used for instances launched in the compute environment.

" + }, + "subnets":{ + "shape":"StringList", + "documentation":"

The VPC subnets into which the compute resources are launched. For more information, see VPCs and Subnets in the Amazon VPC User Guide.

" + }, + "securityGroupIds":{ + "shape":"StringList", + "documentation":"

The Amazon EC2 security groups associated with instances launched in the compute environment. One or more security groups must be specified, either in securityGroupIds or using a launch template referenced in launchTemplate. If security groups are specified using both securityGroupIds and launchTemplate, the values in securityGroupIds will be used.

" + }, + "ec2KeyPair":{ + "shape":"String", + "documentation":"

The Amazon EC2 key pair that is used for instances launched in the compute environment.

" + }, + "instanceRole":{ + "shape":"String", + "documentation":"

The Amazon ECS instance profile applied to Amazon EC2 instances in a compute environment. You can specify the short name or full Amazon Resource Name (ARN) of an instance profile. For example, ecsInstanceRole or arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole . For more information, see Amazon ECS Instance Role in the AWS Batch User Guide.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Key-value pair tags to be applied to resources that are launched in the compute environment. For AWS Batch, these take the form of \"String1\": \"String2\", where String1 is the tag key and String2 is the tag value—for example, { \"Name\": \"AWS Batch Instance - C4OnDemand\" }.

" + }, + "placementGroup":{ + "shape":"String", + "documentation":"

The Amazon EC2 placement group to associate with your compute resources. If you intend to submit multi-node parallel jobs to your compute environment, you should consider creating a cluster placement group and associate it with your compute resources. This keeps your multi-node parallel job on a logical grouping of instances within a single Availability Zone with high network flow potential. For more information, see Placement Groups in the Amazon EC2 User Guide for Linux Instances.

" + }, + "bidPercentage":{ + "shape":"Integer", + "documentation":"

The maximum percentage that a Spot Instance price can be when compared with the On-Demand price for that instance type before instances are launched. For example, if your maximum percentage is 20%, then the Spot price must be below 20% of the current On-Demand price for that Amazon EC2 instance. You always pay the lowest (market) price and never more than your maximum percentage. If you leave this field empty, the default value is 100% of the On-Demand price.

" + }, + "spotIamFleetRole":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role applied to a SPOT compute environment. This role is required if the allocation strategy set to BEST_FIT or if the allocation strategy is not specified. For more information, see Amazon EC2 Spot Fleet Role in the AWS Batch User Guide.

" + }, + "launchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template to use for your compute resources. Any other compute resource parameters that you specify in a CreateComputeEnvironment API operation override the same parameters in the launch template. You must specify either the launch template ID or launch template name in the request, but not both. For more information, see Launch Template Support in the AWS Batch User Guide.

" + } + }, + "documentation":"

An object representing an AWS Batch compute resource.

" + }, + "ComputeResourceUpdate":{ + "type":"structure", + "members":{ + "minvCpus":{ + "shape":"Integer", + "documentation":"

The minimum number of Amazon EC2 vCPUs that an environment should maintain.

" + }, + "maxvCpus":{ + "shape":"Integer", + "documentation":"

The maximum number of Amazon EC2 vCPUs that an environment can reach.

" + }, + "desiredvCpus":{ + "shape":"Integer", + "documentation":"

The desired number of Amazon EC2 vCPUS in the compute environment.

" + } + }, + "documentation":"

An object representing the attributes of a compute environment that can be updated.

" + }, + "ContainerDetail":{ + "type":"structure", + "members":{ + "image":{ + "shape":"String", + "documentation":"

The image used to start the container.

" + }, + "vcpus":{ + "shape":"Integer", + "documentation":"

The number of VCPUs allocated for the job.

" + }, + "memory":{ + "shape":"Integer", + "documentation":"

The number of MiB of memory reserved for the job.

" + }, + "command":{ + "shape":"StringList", + "documentation":"

The command that is passed to the container.

" + }, + "jobRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) associated with the job upon execution.

" + }, + "volumes":{ + "shape":"Volumes", + "documentation":"

A list of volumes associated with the job.

" + }, + "environment":{ + "shape":"EnvironmentVariables", + "documentation":"

The environment variables to pass to a container.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" + }, + "mountPoints":{ + "shape":"MountPoints", + "documentation":"

The mount points for data volumes in your container.

" + }, + "readonlyRootFilesystem":{ + "shape":"Boolean", + "documentation":"

When this parameter is true, the container is given read-only access to its root file system.

" + }, + "ulimits":{ + "shape":"Ulimits", + "documentation":"

A list of ulimit values to set in the container.

" + }, + "privileged":{ + "shape":"Boolean", + "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user).

" + }, + "user":{ + "shape":"String", + "documentation":"

The user name to use inside the container.

" + }, + "exitCode":{ + "shape":"Integer", + "documentation":"

The exit code to return upon completion.

" + }, + "reason":{ + "shape":"String", + "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" + }, + "containerInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the container instance on which the container is running.

" + }, + "taskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon ECS task that is associated with the container job. Each container attempt receives a task ARN when they reach the STARTING status.

" + }, + "logStreamName":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log stream associated with the container. The log group for AWS Batch jobs is /aws/batch/job. Each container attempt receives a log stream name when they reach the RUNNING status.

" + }, + "instanceType":{ + "shape":"String", + "documentation":"

The instance type of the underlying host infrastructure of a multi-node parallel job.

" + }, + "networkInterfaces":{ + "shape":"NetworkInterfaceList", + "documentation":"

The network interfaces associated with the job.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource is GPU.

" + }, + "linuxParameters":{ + "shape":"LinuxParameters", + "documentation":"

Linux-specific modifications that are applied to the container, such as details for device mappings.

" + } + }, + "documentation":"

An object representing the details of a container that is part of a job.

" + }, + "ContainerOverrides":{ + "type":"structure", + "members":{ + "vcpus":{ + "shape":"Integer", + "documentation":"

The number of vCPUs to reserve for the container. This value overrides the value set in the job definition.

" + }, + "memory":{ + "shape":"Integer", + "documentation":"

The number of MiB of memory reserved for the job. This value overrides the value set in the job definition.

" + }, + "command":{ + "shape":"StringList", + "documentation":"

The command to send to the container that overrides the default command from the Docker image or the job definition.

" + }, + "instanceType":{ + "shape":"String", + "documentation":"

The instance type to use for a multi-node parallel job. This parameter is not valid for single-node container jobs.

" + }, + "environment":{ + "shape":"EnvironmentVariables", + "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the job definition.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. This value overrides the value set in the job definition. Currently, the only supported resource is GPU.

" + } + }, + "documentation":"

The overrides that should be sent to a container.

" + }, + "ContainerProperties":{ + "type":"structure", + "members":{ + "image":{ + "shape":"String", + "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in Amazon ECR repositories use the full registry and repository URI (for example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>).

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" + }, + "vcpus":{ + "shape":"Integer", + "documentation":"

The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run. Each vCPU is equivalent to 1,024 CPU shares. You must specify at least one vCPU.

" + }, + "memory":{ + "shape":"Integer", + "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run. You must specify at least 4 MiB of memory for a job.

If you are trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory Management in the AWS Batch User Guide.

" + }, + "command":{ + "shape":"StringList", + "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" + }, + "jobRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions.

" + }, + "volumes":{ + "shape":"Volumes", + "documentation":"

A list of data volumes used in a job.

" + }, + "environment":{ + "shape":"EnvironmentVariables", + "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

Environment variables must not start with AWS_BATCH; this naming convention is reserved for variables that are set by the AWS Batch service.

" + }, + "mountPoints":{ + "shape":"MountPoints", + "documentation":"

The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" + }, + "readonlyRootFilesystem":{ + "shape":"Boolean", + "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

" + }, + "privileged":{ + "shape":"Boolean", + "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

" + }, + "ulimits":{ + "shape":"Ulimits", + "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run.

" + }, + "user":{ + "shape":"String", + "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

" + }, + "instanceType":{ + "shape":"String", + "documentation":"

The instance type to use for a multi-node parallel job. Currently all node groups in a multi-node parallel job must use the same instance type. This parameter is not valid for single-node container jobs.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource is GPU.

" + }, + "linuxParameters":{ + "shape":"LinuxParameters", + "documentation":"

Linux-specific modifications that are applied to the container, such as details for device mappings.

" + } + }, + "documentation":"

Container properties are used in job definitions to describe the container that is launched as part of a job.

" + }, + "ContainerSummary":{ + "type":"structure", + "members":{ + "exitCode":{ + "shape":"Integer", + "documentation":"

The exit code to return upon completion.

" + }, + "reason":{ + "shape":"String", + "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" + } + }, + "documentation":"

An object representing summary details of a container within a job.

" + }, + "CreateComputeEnvironmentRequest":{ + "type":"structure", + "required":[ + "computeEnvironmentName", + "type", + "serviceRole" + ], + "members":{ + "computeEnvironmentName":{ + "shape":"String", + "documentation":"

The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + }, + "type":{ + "shape":"CEType", + "documentation":"

The type of the compute environment. For more information, see Compute Environments in the AWS Batch User Guide.

" + }, + "state":{ + "shape":"CEState", + "documentation":"

The state of the compute environment. If the state is ENABLED, then the compute environment accepts jobs from a queue and can scale out automatically based on queues.

" + }, + "computeResources":{ + "shape":"ComputeResource", + "documentation":"

Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. For more information, see Compute Environments in the AWS Batch User Guide.

" + }, + "serviceRole":{ + "shape":"String", + "documentation":"

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

" + } + } + }, + "CreateComputeEnvironmentResponse":{ + "type":"structure", + "members":{ + "computeEnvironmentName":{ + "shape":"String", + "documentation":"

The name of the compute environment.

" + }, + "computeEnvironmentArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" + } + } + }, + "CreateJobQueueRequest":{ + "type":"structure", + "required":[ + "jobQueueName", + "priority", + "computeEnvironmentOrder" + ], + "members":{ + "jobQueueName":{ + "shape":"String", + "documentation":"

The name of the job queue.

" + }, + "state":{ + "shape":"JQState", + "documentation":"

The state of the job queue. If the job queue state is ENABLED, it is able to accept jobs.

" + }, + "priority":{ + "shape":"Integer", + "documentation":"

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

" + }, + "computeEnvironmentOrder":{ + "shape":"ComputeEnvironmentOrders", + "documentation":"

The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment should execute a given job. Compute environments must be in the VALID state before you can associate them with a job queue. You can associate up to three compute environments with a job queue.

" + } + } + }, + "CreateJobQueueResponse":{ + "type":"structure", + "required":[ + "jobQueueName", + "jobQueueArn" + ], + "members":{ + "jobQueueName":{ + "shape":"String", + "documentation":"

The name of the job queue.

" + }, + "jobQueueArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" + } + } + }, + "DeleteComputeEnvironmentRequest":{ + "type":"structure", + "required":["computeEnvironment"], + "members":{ + "computeEnvironment":{ + "shape":"String", + "documentation":"

The name or Amazon Resource Name (ARN) of the compute environment to delete.

" + } + } + }, + "DeleteComputeEnvironmentResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteJobQueueRequest":{ + "type":"structure", + "required":["jobQueue"], + "members":{ + "jobQueue":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the queue to delete.

" + } + } + }, + "DeleteJobQueueResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterJobDefinitionRequest":{ + "type":"structure", + "required":["jobDefinition"], + "members":{ + "jobDefinition":{ + "shape":"String", + "documentation":"

The name and revision (name:revision) or full Amazon Resource Name (ARN) of the job definition to deregister.

" + } + } + }, + "DeregisterJobDefinitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeComputeEnvironmentsRequest":{ + "type":"structure", + "members":{ + "computeEnvironments":{ + "shape":"StringList", + "documentation":"

A list of up to 100 compute environment names or full Amazon Resource Name (ARN) entries.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of cluster results returned by DescribeComputeEnvironments in paginated output. When this parameter is used, DescribeComputeEnvironments 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 DescribeComputeEnvironments request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeComputeEnvironments returns up to 100 results and a nextToken value if applicable.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated DescribeComputeEnvironments 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + } + } + }, + "DescribeComputeEnvironmentsResponse":{ + "type":"structure", + "members":{ + "computeEnvironments":{ + "shape":"ComputeEnvironmentDetailList", + "documentation":"

The list of compute environments.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future DescribeComputeEnvironments request. When the results of a DescribeJobDefinitions 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.

" + } + } + }, + "DescribeJobDefinitionsRequest":{ + "type":"structure", + "members":{ + "jobDefinitions":{ + "shape":"StringList", + "documentation":"

A list of up to 100 job definition names or full Amazon Resource Name (ARN) entries.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results returned by DescribeJobDefinitions in paginated output. When this parameter is used, DescribeJobDefinitions 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 DescribeJobDefinitions request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobDefinitions returns up to 100 results and a nextToken value if applicable.

" + }, + "jobDefinitionName":{ + "shape":"String", + "documentation":"

The name of the job definition to describe.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status with which to filter job definitions.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated DescribeJobDefinitions 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + } + } + }, + "DescribeJobDefinitionsResponse":{ + "type":"structure", + "members":{ + "jobDefinitions":{ + "shape":"JobDefinitionList", + "documentation":"

The list of job definitions.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future DescribeJobDefinitions request. When the results of a DescribeJobDefinitions 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.

" + } + } + }, + "DescribeJobQueuesRequest":{ + "type":"structure", + "members":{ + "jobQueues":{ + "shape":"StringList", + "documentation":"

A list of up to 100 queue names or full queue Amazon Resource Name (ARN) entries.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results returned by DescribeJobQueues in paginated output. When this parameter is used, DescribeJobQueues 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 DescribeJobQueues request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeJobQueues returns up to 100 results and a nextToken value if applicable.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated DescribeJobQueues 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + } + } + }, + "DescribeJobQueuesResponse":{ + "type":"structure", + "members":{ + "jobQueues":{ + "shape":"JobQueueDetailList", + "documentation":"

The list of job queues.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future DescribeJobQueues request. When the results of a DescribeJobQueues 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.

" + } + } + }, + "DescribeJobsRequest":{ + "type":"structure", + "required":["jobs"], + "members":{ + "jobs":{ + "shape":"StringList", + "documentation":"

A list of up to 100 job IDs.

" + } + } + }, + "DescribeJobsResponse":{ + "type":"structure", + "members":{ + "jobs":{ + "shape":"JobDetailList", + "documentation":"

The list of jobs.

" + } + } + }, + "Device":{ + "type":"structure", + "required":["hostPath"], + "members":{ + "hostPath":{ + "shape":"String", + "documentation":"

The path for the device on the host container instance.

" + }, + "containerPath":{ + "shape":"String", + "documentation":"

The path inside the container at which to expose the host device. By default the hostPath value is used.

" + }, + "permissions":{ + "shape":"DeviceCgroupPermissions", + "documentation":"

The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device.

" + } + }, + "documentation":"

An object representing a container instance host device.

" + }, + "DeviceCgroupPermission":{ + "type":"string", + "enum":[ + "READ", + "WRITE", + "MKNOD" + ] + }, + "DeviceCgroupPermissions":{ + "type":"list", + "member":{"shape":"DeviceCgroupPermission"} + }, + "DevicesList":{ + "type":"list", + "member":{"shape":"Device"} + }, + "EnvironmentVariables":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, + "Host":{ + "type":"structure", + "members":{ + "sourcePath":{ + "shape":"String", + "documentation":"

The path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

" + } + }, + "documentation":"

Determine whether your data volume persists on the host container instance and where it is stored. If this parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

" + }, + "Integer":{"type":"integer"}, + "JQState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "JQStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "DELETED", + "VALID", + "INVALID" + ] + }, + "JobDefinition":{ + "type":"structure", + "required":[ + "jobDefinitionName", + "jobDefinitionArn", + "revision", + "type" + ], + "members":{ + "jobDefinitionName":{ + "shape":"String", + "documentation":"

The name of the job definition.

" + }, + "jobDefinitionArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the job definition.

" + }, + "revision":{ + "shape":"Integer", + "documentation":"

The revision of the job definition.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the job definition.

" + }, + "type":{ + "shape":"String", + "documentation":"

The type of job definition.

" + }, + "parameters":{ + "shape":"ParametersMap", + "documentation":"

Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job Definition Parameters in the AWS Batch User Guide.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs that are submitted with this job definition.

" + }, + "containerProperties":{ + "shape":"ContainerProperties", + "documentation":"

An object with various properties specific to container-based jobs.

" + }, + "timeout":{ + "shape":"JobTimeout", + "documentation":"

The timeout configuration for jobs that are submitted with this job definition. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished.

" + }, + "nodeProperties":{ + "shape":"NodeProperties", + "documentation":"

An object with various properties specific to multi-node parallel jobs.

" + } + }, + "documentation":"

An object representing an AWS Batch job definition.

" + }, + "JobDefinitionList":{ + "type":"list", + "member":{"shape":"JobDefinition"} + }, + "JobDefinitionType":{ + "type":"string", + "enum":[ + "container", + "multinode" + ] + }, + "JobDependency":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"String", + "documentation":"

The job ID of the AWS Batch job associated with this dependency.

" + }, + "type":{ + "shape":"ArrayJobDependency", + "documentation":"

The type of the job dependency.

" + } + }, + "documentation":"

An object representing an AWS Batch job dependency.

" + }, + "JobDependencyList":{ + "type":"list", + "member":{"shape":"JobDependency"} + }, + "JobDetail":{ + "type":"structure", + "required":[ + "jobName", + "jobId", + "jobQueue", + "status", + "startedAt", + "jobDefinition" + ], + "members":{ + "jobName":{ + "shape":"String", + "documentation":"

The name of the job.

" + }, + "jobId":{ + "shape":"String", + "documentation":"

The ID for the job.

" + }, + "jobQueue":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the job queue with which the job is associated.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

The current status for the job.

If your jobs do not progress to STARTING, see Jobs Stuck in RUNNABLE Status in the troubleshooting section of the AWS Batch User Guide.

" + }, + "attempts":{ + "shape":"AttemptDetails", + "documentation":"

A list of job attempts associated with this job.

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

A short, human-readable string to provide additional details about the current status of the job.

" + }, + "createdAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp (in seconds and milliseconds) for when the job was created. For non-array jobs and parent array jobs, this is when the job entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, this is when the child job was spawned by its parent and entered the PENDING state.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for this job if an attempt fails.

" + }, + "startedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp (in seconds and milliseconds) for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

" + }, + "stoppedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp (in seconds and milliseconds) for when the job was stopped (when the job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" + }, + "dependsOn":{ + "shape":"JobDependencyList", + "documentation":"

A list of job IDs on which this job depends.

" + }, + "jobDefinition":{ + "shape":"String", + "documentation":"

The job definition that is used by this job.

" + }, + "parameters":{ + "shape":"ParametersMap", + "documentation":"

Additional parameters passed to the job that replace parameter substitution placeholders or override any corresponding parameter defaults from the job definition.

" + }, + "container":{ + "shape":"ContainerDetail", + "documentation":"

An object representing the details of the container that is associated with the job.

" + }, + "nodeDetails":{ + "shape":"NodeDetails", + "documentation":"

An object representing the details of a node that is associated with a multi-node parallel job.

" + }, + "nodeProperties":{ + "shape":"NodeProperties", + "documentation":"

An object representing the node properties of a multi-node parallel job.

" + }, + "arrayProperties":{ + "shape":"ArrayPropertiesDetail", + "documentation":"

The array properties of the job, if it is an array job.

" + }, + "timeout":{ + "shape":"JobTimeout", + "documentation":"

The timeout configuration for the job.

" + } + }, + "documentation":"

An object representing an AWS Batch job.

" + }, + "JobDetailList":{ + "type":"list", + "member":{"shape":"JobDetail"} + }, + "JobQueueDetail":{ + "type":"structure", + "required":[ + "jobQueueName", + "jobQueueArn", + "state", + "priority", + "computeEnvironmentOrder" + ], + "members":{ + "jobQueueName":{ + "shape":"String", + "documentation":"

The name of the job queue.

" + }, + "jobQueueArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" + }, + "state":{ + "shape":"JQState", + "documentation":"

Describes the ability of the queue to accept new jobs.

" + }, + "status":{ + "shape":"JQStatus", + "documentation":"

The status of the job queue (for example, CREATING or VALID).

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

A short, human-readable string to provide additional details about the current status of the job queue.

" + }, + "priority":{ + "shape":"Integer", + "documentation":"

The priority of the job queue.

" + }, + "computeEnvironmentOrder":{ + "shape":"ComputeEnvironmentOrders", + "documentation":"

The compute environments that are attached to the job queue and the order in which job placement is preferred. Compute environments are selected for job placement in ascending order.

" + } + }, + "documentation":"

An object representing the details of an AWS Batch job queue.

" + }, + "JobQueueDetailList":{ + "type":"list", + "member":{"shape":"JobQueueDetail"} + }, + "JobStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "PENDING", + "RUNNABLE", + "STARTING", + "RUNNING", + "SUCCEEDED", + "FAILED" + ] + }, + "JobSummary":{ + "type":"structure", + "required":[ + "jobId", + "jobName" + ], + "members":{ + "jobId":{ + "shape":"String", + "documentation":"

The ID of the job.

" + }, + "jobName":{ + "shape":"String", + "documentation":"

The name of the job.

" + }, + "createdAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp for when the job was created. For non-array jobs and parent array jobs, this is when the job entered the SUBMITTED state (at the time SubmitJob was called). For array child jobs, this is when the child job was spawned by its parent and entered the PENDING state.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

The current status for the job.

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

A short, human-readable string to provide additional details about the current status of the job.

" + }, + "startedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp for when the job was started (when the job transitioned from the STARTING state to the RUNNING state).

" + }, + "stoppedAt":{ + "shape":"Long", + "documentation":"

The Unix timestamp for when the job was stopped (when the job transitioned from the RUNNING state to a terminal state, such as SUCCEEDED or FAILED).

" + }, + "container":{ + "shape":"ContainerSummary", + "documentation":"

An object representing the details of the container that is associated with the job.

" + }, + "arrayProperties":{ + "shape":"ArrayPropertiesSummary", + "documentation":"

The array properties of the job, if it is an array job.

" + }, + "nodeProperties":{ + "shape":"NodePropertiesSummary", + "documentation":"

The node properties for a single node in a job summary list.

" + } + }, + "documentation":"

An object representing summary details of a job.

" + }, + "JobSummaryList":{ + "type":"list", + "member":{"shape":"JobSummary"} + }, + "JobTimeout":{ + "type":"structure", + "members":{ + "attemptDurationSeconds":{ + "shape":"Integer", + "documentation":"

The time duration in seconds (measured from the job attempt's startedAt timestamp) after which AWS Batch terminates your jobs if they have not finished.

" + } + }, + "documentation":"

An object representing a job timeout configuration.

" + }, + "KeyValuePair":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the key-value pair. For environment variables, this is the name of the environment variable.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the key-value pair. For environment variables, this is the value of the environment variable.

" + } + }, + "documentation":"

A key-value pair object.

" + }, + "LaunchTemplateSpecification":{ + "type":"structure", + "members":{ + "launchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template.

" + }, + "launchTemplateName":{ + "shape":"String", + "documentation":"

The name of the launch template.

" + }, + "version":{ + "shape":"String", + "documentation":"

The version number of the launch template.

Default: The default version of the launch template.

" + } + }, + "documentation":"

An object representing a launch template associated with a compute resource. You must specify either the launch template ID or launch template name in the request, but not both.

" + }, + "LinuxParameters":{ + "type":"structure", + "members":{ + "devices":{ + "shape":"DevicesList", + "documentation":"

Any host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run.

" + } + }, + "documentation":"

Linux-specific modifications that are applied to the container, such as details for device mappings.

" + }, + "ListJobsRequest":{ + "type":"structure", + "members":{ + "jobQueue":{ + "shape":"String", + "documentation":"

The name or full Amazon Resource Name (ARN) of the job queue with which to list jobs.

" + }, + "arrayJobId":{ + "shape":"String", + "documentation":"

The job ID for an array job. Specifying an array job ID with this parameter lists all child jobs from within the specified array.

" + }, + "multiNodeJobId":{ + "shape":"String", + "documentation":"

The job ID for a multi-node parallel job. Specifying a multi-node parallel job ID with this parameter lists all nodes that are associated with the specified job.

" + }, + "jobStatus":{ + "shape":"JobStatus", + "documentation":"

The job status with which to filter jobs in the specified queue. If you do not specify a status, only RUNNING jobs are returned.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results returned by ListJobs in paginated output. When this parameter is used, ListJobs 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 ListJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListJobs returns up to 100 results and a nextToken value if applicable.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListJobs 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + } + } + }, + "ListJobsResponse":{ + "type":"structure", + "required":["jobSummaryList"], + "members":{ + "jobSummaryList":{ + "shape":"JobSummaryList", + "documentation":"

A list of job summaries that match the request.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListJobs request. When the results of a ListJobs 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.

" + } + } + }, + "Long":{"type":"long"}, + "MountPoint":{ + "type":"structure", + "members":{ + "containerPath":{ + "shape":"String", + "documentation":"

The path on the container at which to mount the host volume.

" + }, + "readOnly":{ + "shape":"Boolean", + "documentation":"

If this value is true, the container has read-only access to the volume; otherwise, the container can write to the volume. The default value is false.

" + }, + "sourceVolume":{ + "shape":"String", + "documentation":"

The name of the volume to mount.

" + } + }, + "documentation":"

Details on a Docker volume mount point that is used in a job's container properties. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" + }, + "MountPoints":{ + "type":"list", + "member":{"shape":"MountPoint"} + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "attachmentId":{ + "shape":"String", + "documentation":"

The attachment ID for the network interface.

" + }, + "ipv6Address":{ + "shape":"String", + "documentation":"

The private IPv6 address for the network interface.

" + }, + "privateIpv4Address":{ + "shape":"String", + "documentation":"

The private IPv4 address for the network interface.

" + } + }, + "documentation":"

An object representing the elastic network interface for a multi-node parallel job node.

" + }, + "NetworkInterfaceList":{ + "type":"list", + "member":{"shape":"NetworkInterface"} + }, + "NodeDetails":{ + "type":"structure", + "members":{ + "nodeIndex":{ + "shape":"Integer", + "documentation":"

The node index for the node. Node index numbering begins at zero. This index is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment variable.

" + }, + "isMainNode":{ + "shape":"Boolean", + "documentation":"

Specifies whether the current node is the main node for a multi-node parallel job.

" + } + }, + "documentation":"

An object representing the details of a multi-node parallel job node.

" + }, + "NodeOverrides":{ + "type":"structure", + "members":{ + "numNodes":{ + "shape":"Integer", + "documentation":"

The number of nodes to use with a multi-node parallel job. This value overrides the number of nodes that are specified in the job definition. To use this override:

  • There must be at least one node range in your job definition that has an open upper boundary (such as : or n:).

  • The lower boundary of the node range specified in the job definition must be fewer than the number of nodes specified in the override.

  • The main node index specified in the job definition must be fewer than the number of nodes specified in the override.

" + }, + "nodePropertyOverrides":{ + "shape":"NodePropertyOverrides", + "documentation":"

The node property overrides for the job.

" + } + }, + "documentation":"

Object representing any node overrides to a job definition that is used in a SubmitJob API operation.

" + }, + "NodeProperties":{ + "type":"structure", + "required":[ + "numNodes", + "mainNode", + "nodeRangeProperties" + ], + "members":{ + "numNodes":{ + "shape":"Integer", + "documentation":"

The number of nodes associated with a multi-node parallel job.

" + }, + "mainNode":{ + "shape":"Integer", + "documentation":"

Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.

" + }, + "nodeRangeProperties":{ + "shape":"NodeRangeProperties", + "documentation":"

A list of node ranges and their properties associated with a multi-node parallel job.

" + } + }, + "documentation":"

An object representing the node properties of a multi-node parallel job.

" + }, + "NodePropertiesSummary":{ + "type":"structure", + "members":{ + "isMainNode":{ + "shape":"Boolean", + "documentation":"

Specifies whether the current node is the main node for a multi-node parallel job.

" + }, + "numNodes":{ + "shape":"Integer", + "documentation":"

The number of nodes associated with a multi-node parallel job.

" + }, + "nodeIndex":{ + "shape":"Integer", + "documentation":"

The node index for the node. Node index numbering begins at zero. This index is also available on the node with the AWS_BATCH_JOB_NODE_INDEX environment variable.

" + } + }, + "documentation":"

An object representing the properties of a node that is associated with a multi-node parallel job.

" + }, + "NodePropertyOverride":{ + "type":"structure", + "required":["targetNodes"], + "members":{ + "targetNodes":{ + "shape":"String", + "documentation":"

The range of nodes, using node index values, with which to override. A range of 0:3 indicates nodes with index values of 0 through 3. If the starting range value is omitted (:n), then 0 is used to start the range. If the ending range value is omitted (n:), then the highest possible node index is used to end the range.

" + }, + "containerOverrides":{ + "shape":"ContainerOverrides", + "documentation":"

The overrides that should be sent to a node range.

" + } + }, + "documentation":"

Object representing any node overrides to a job definition that is used in a SubmitJob API operation.

" + }, + "NodePropertyOverrides":{ + "type":"list", + "member":{"shape":"NodePropertyOverride"} + }, + "NodeRangeProperties":{ + "type":"list", + "member":{"shape":"NodeRangeProperty"} + }, + "NodeRangeProperty":{ + "type":"structure", + "required":["targetNodes"], + "members":{ + "targetNodes":{ + "shape":"String", + "documentation":"

The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3. If the starting range value is omitted (:n), then 0 is used to start the range. If the ending range value is omitted (n:), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes (0:n). You may nest node ranges, for example 0:10 and 4:5, in which case the 4:5 range properties override the 0:10 properties.

" + }, + "container":{ + "shape":"ContainerProperties", + "documentation":"

The container details for the node range.

" + } + }, + "documentation":"

An object representing the properties of the node range for a multi-node parallel job.

" + }, + "ParametersMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "RegisterJobDefinitionRequest":{ + "type":"structure", + "required":[ + "jobDefinitionName", + "type" + ], + "members":{ + "jobDefinitionName":{ + "shape":"String", + "documentation":"

The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + }, + "type":{ + "shape":"JobDefinitionType", + "documentation":"

The type of job definition.

" + }, + "parameters":{ + "shape":"ParametersMap", + "documentation":"

Default parameter substitution placeholders to set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" + }, + "containerProperties":{ + "shape":"ContainerProperties", + "documentation":"

An object with various properties specific to single-node container-based jobs. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.

" + }, + "nodeProperties":{ + "shape":"NodeProperties", + "documentation":"

An object with various properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see Multi-node Parallel Jobs in the AWS Batch User Guide. If the job definition's type parameter is container, then you must specify either containerProperties or nodeProperties.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that is specified during a SubmitJob operation overrides the retry strategy defined here. If a job is terminated due to a timeout, it is not retried.

" + }, + "timeout":{ + "shape":"JobTimeout", + "documentation":"

The timeout configuration for jobs that are submitted with this job definition, after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that is specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" + } + } + }, + "RegisterJobDefinitionResponse":{ + "type":"structure", + "required":[ + "jobDefinitionName", + "jobDefinitionArn", + "revision" + ], + "members":{ + "jobDefinitionName":{ + "shape":"String", + "documentation":"

The name of the job definition.

" + }, + "jobDefinitionArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the job definition.

" + }, + "revision":{ + "shape":"Integer", + "documentation":"

The revision of the job definition.

" + } + } + }, + "ResourceRequirement":{ + "type":"structure", + "required":[ + "value", + "type" + ], + "members":{ + "value":{ + "shape":"String", + "documentation":"

The number of physical GPUs to reserve for the container. The number of GPUs reserved for all containers in a job should not exceed the number of available GPUs on the compute resource that the job is launched on.

" + }, + "type":{ + "shape":"ResourceType", + "documentation":"

The type of resource to assign to a container. Currently, the only supported resource type is GPU.

" + } + }, + "documentation":"

The type and amount of a resource to assign to a container. Currently, the only supported resource type is GPU.

" + }, + "ResourceRequirements":{ + "type":"list", + "member":{"shape":"ResourceRequirement"} + }, + "ResourceType":{ + "type":"string", + "enum":["GPU"] + }, + "RetryStrategy":{ + "type":"structure", + "members":{ + "attempts":{ + "shape":"Integer", + "documentation":"

The number of times to move a job to the RUNNABLE status. You may specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.

" + } + }, + "documentation":"

The retry strategy associated with a job.

" + }, + "ServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

These errors are usually caused by a server issue.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubmitJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "jobQueue", + "jobDefinition" + ], + "members":{ + "jobName":{ + "shape":"String", + "documentation":"

The name of the job. The first character must be alphanumeric, and up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + }, + "jobQueue":{ + "shape":"String", + "documentation":"

The job queue into which the job is submitted. You can specify either the name or the Amazon Resource Name (ARN) of the queue.

" + }, + "arrayProperties":{ + "shape":"ArrayProperties", + "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. For more information, see Array Jobs in the AWS Batch User Guide.

" + }, + "dependsOn":{ + "shape":"JobDependencyList", + "documentation":"

A list of dependencies for the job. A job can depend upon a maximum of 20 jobs. You can specify a SEQUENTIAL type dependency without specifying a job ID for array jobs so that each child array job completes sequentially, starting at index 0. You can also specify an N_TO_N type dependency with a job ID for array jobs. In that case, each index child of this job must wait for the corresponding index child of each dependency to complete before it can begin.

" + }, + "jobDefinition":{ + "shape":"String", + "documentation":"

The job definition used by this job. This value can be one of name, name:revision, or the Amazon Resource Name (ARN) for the job definition. If name is specified without a revision then the latest active revision is used.

" + }, + "parameters":{ + "shape":"ParametersMap", + "documentation":"

Additional parameters passed to the job that replace parameter substitution placeholders that are set in the job definition. Parameters are specified as a key and value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition.

" + }, + "containerOverrides":{ + "shape":"ContainerOverrides", + "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified job definition and the overrides it should receive. You can override the default command for a container (that is specified in the job definition or the Docker image) with a command override. You can also override existing environment variables (that are specified in the job definition or Docker image) on a container or add new environment variables to it with an environment override.

" + }, + "nodeOverrides":{ + "shape":"NodeOverrides", + "documentation":"

A list of node overrides in JSON format that specify the node range to target and the container overrides for that node range.

" + }, + "retryStrategy":{ + "shape":"RetryStrategy", + "documentation":"

The retry strategy to use for failed jobs from this SubmitJob operation. When a retry strategy is specified here, it overrides the retry strategy defined in the job definition.

" + }, + "timeout":{ + "shape":"JobTimeout", + "documentation":"

The timeout configuration for this SubmitJob operation. You can specify a timeout duration after which AWS Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it is not retried. The minimum value for the timeout is 60 seconds. This configuration overrides any timeout configuration specified in the job definition. For array jobs, child jobs have the same timeout configuration as the parent job. For more information, see Job Timeouts in the Amazon Elastic Container Service Developer Guide.

" + } + } + }, + "SubmitJobResponse":{ + "type":"structure", + "required":[ + "jobName", + "jobId" + ], + "members":{ + "jobName":{ + "shape":"String", + "documentation":"

The name of the job.

" + }, + "jobId":{ + "shape":"String", + "documentation":"

The unique identifier for the job.

" + } + } + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "TerminateJobRequest":{ + "type":"structure", + "required":[ + "jobId", + "reason" + ], + "members":{ + "jobId":{ + "shape":"String", + "documentation":"

The AWS Batch job ID of the job to terminate.

" + }, + "reason":{ + "shape":"String", + "documentation":"

A message to attach to the job that explains the reason for canceling it. This message is returned by future DescribeJobs operations on the job. This message is also recorded in the AWS Batch activity logs.

" + } + } + }, + "TerminateJobResponse":{ + "type":"structure", + "members":{ + } + }, + "Ulimit":{ + "type":"structure", + "required":[ + "hardLimit", + "name", + "softLimit" + ], + "members":{ + "hardLimit":{ + "shape":"Integer", + "documentation":"

The hard limit for the ulimit type.

" + }, + "name":{ + "shape":"String", + "documentation":"

The type of the ulimit.

" + }, + "softLimit":{ + "shape":"Integer", + "documentation":"

The soft limit for the ulimit type.

" + } + }, + "documentation":"

The ulimit settings to pass to the container.

" + }, + "Ulimits":{ + "type":"list", + "member":{"shape":"Ulimit"} + }, + "UpdateComputeEnvironmentRequest":{ + "type":"structure", + "required":["computeEnvironment"], + "members":{ + "computeEnvironment":{ + "shape":"String", + "documentation":"

The name or full Amazon Resource Name (ARN) of the compute environment to update.

" + }, + "state":{ + "shape":"CEState", + "documentation":"

The state of the compute environment. Compute environments in the ENABLED state can accept jobs from a queue and scale in or out automatically based on the workload demand of its associated queues.

" + }, + "computeResources":{ + "shape":"ComputeResourceUpdate", + "documentation":"

Details of the compute resources managed by the compute environment. Required for a managed compute environment.

" + }, + "serviceRole":{ + "shape":"String", + "documentation":"

The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path.

Depending on how you created your AWS Batch service role, its ARN may contain the service-role path prefix. When you only specify the name of the service role, AWS Batch assumes that your ARN does not use the service-role path prefix. Because of this, we recommend that you specify the full ARN of your service role when you create compute environments.

" + } + } + }, + "UpdateComputeEnvironmentResponse":{ + "type":"structure", + "members":{ + "computeEnvironmentName":{ + "shape":"String", + "documentation":"

The name of the compute environment.

" + }, + "computeEnvironmentArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the compute environment.

" + } + } + }, + "UpdateJobQueueRequest":{ + "type":"structure", + "required":["jobQueue"], + "members":{ + "jobQueue":{ + "shape":"String", + "documentation":"

The name or the Amazon Resource Name (ARN) of the job queue.

" + }, + "state":{ + "shape":"JQState", + "documentation":"

Describes the queue's ability to accept new jobs.

" + }, + "priority":{ + "shape":"Integer", + "documentation":"

The priority of the job queue. Job queues with a higher priority (or a higher integer value for the priority parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order, for example, a job queue with a priority value of 10 is given scheduling preference over a job queue with a priority value of 1.

" + }, + "computeEnvironmentOrder":{ + "shape":"ComputeEnvironmentOrders", + "documentation":"

Details the set of compute environments mapped to a job queue and their order relative to each other. This is one of the parameters used by the job scheduler to determine which compute environment should execute a given job.

" + } + } + }, + "UpdateJobQueueResponse":{ + "type":"structure", + "members":{ + "jobQueueName":{ + "shape":"String", + "documentation":"

The name of the job queue.

" + }, + "jobQueueArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the job queue.

" + } + } + }, + "Volume":{ + "type":"structure", + "members":{ + "host":{ + "shape":"Host", + "documentation":"

The contents of the host parameter determine whether your data volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop running.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" + } + }, + "documentation":"

A data volume used in a job's container properties.

" + }, + "Volumes":{ + "type":"list", + "member":{"shape":"Volume"} + } + }, + "documentation":"

AWS Batch enables you to run batch computing workloads on the AWS Cloud. Batch computing is a common way for developers, scientists, and engineers to access large amounts of compute resources, and AWS Batch removes the undifferentiated heavy lifting of configuring and managing the required infrastructure. AWS Batch will be familiar to users of traditional batch computing software. This service can efficiently provision resources in response to jobs submitted in order to eliminate capacity constraints, reduce compute costs, and deliver results quickly.

As a fully managed service, AWS Batch enables developers, scientists, and engineers to run batch computing workloads of any scale. AWS Batch automatically provisions compute resources and optimizes the workload distribution based on the quantity and scale of the workloads. With AWS Batch, there is no need to install or manage batch computing software, which allows you to focus on analyzing results and solving problems. AWS Batch reduces operational complexities, saves time, and reduces costs, which makes it easy for developers, scientists, and engineers to run their batch jobs in the AWS Cloud.

" +} diff -Nru python-botocore-1.4.70/botocore/data/budgets/2016-10-20/examples-1.json python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/examples-1.json --- python-botocore-1.4.70/botocore/data/budgets/2016-10-20/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/budgets/2016-10-20/paginators-1.json python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/paginators-1.json --- python-botocore-1.4.70/botocore/data/budgets/2016-10-20/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeBudgets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Budgets" + }, + "DescribeNotificationsForBudget": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Notifications" + }, + "DescribeSubscribersForNotification": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Subscribers" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/budgets/2016-10-20/service-2.json python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/service-2.json --- python-botocore-1.4.70/botocore/data/budgets/2016-10-20/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/budgets/2016-10-20/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"AWSBudgets", "serviceFullName":"AWS Budgets", + "serviceId":"Budgets", "signatureVersion":"v4", - "targetPrefix":"AWSBudgetServiceGateway" + "targetPrefix":"AWSBudgetServiceGateway", + "uid":"budgets-2016-10-20" }, "operations":{ "CreateBudget":{ @@ -23,9 +25,10 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} + {"shape":"DuplicateRecordException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Create a new budget" + "documentation":"

Creates a budget and, if included, notifications and subscribers.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "CreateNotification":{ "name":"CreateNotification", @@ -40,9 +43,10 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"}, {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} + {"shape":"DuplicateRecordException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Create a new Notification with subscribers for a budget" + "documentation":"

Creates a notification. You must create the budget before you create the associated notification.

" }, "CreateSubscriber":{ "name":"CreateSubscriber", @@ -56,9 +60,11 @@ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"CreationLimitExceededException"}, - {"shape":"DuplicateRecordException"} + {"shape":"DuplicateRecordException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Create a new Subscriber for a notification" + "documentation":"

Creates a subscriber. You must create the associated budget and notification before you create the subscriber.

" }, "DeleteBudget":{ "name":"DeleteBudget", @@ -71,9 +77,10 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Delete a budget and related notifications" + "documentation":"

Deletes a budget. You can delete your budget at any time.

Deleting a budget also deletes the notifications and subscribers that are associated with that budget.

" }, "DeleteNotification":{ "name":"DeleteNotification", @@ -86,9 +93,10 @@ "errors":[ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Delete a notification and related subscribers" + "documentation":"

Deletes a notification.

Deleting a notification also deletes the subscribers that are associated with the notification.

" }, "DeleteSubscriber":{ "name":"DeleteSubscriber", @@ -101,9 +109,10 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Delete a Subscriber for a notification" + "documentation":"

Deletes a subscriber.

Deleting the last subscriber to a notification also deletes the notification.

" }, "DescribeBudget":{ "name":"DescribeBudget", @@ -116,9 +125,28 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Get a single budget" + "documentation":"

Describes a budget.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" + }, + "DescribeBudgetPerformanceHistory":{ + "name":"DescribeBudgetPerformanceHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBudgetPerformanceHistoryRequest"}, + "output":{"shape":"DescribeBudgetPerformanceHistoryResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ExpiredNextTokenException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Describes the history for DAILY, MONTHLY, and QUARTERLY budgets. Budget history isn't available for ANNUAL budgets.

" }, "DescribeBudgets":{ "name":"DescribeBudgets", @@ -133,9 +161,10 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"}, {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} + {"shape":"ExpiredNextTokenException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Get all budgets for an account" + "documentation":"

Lists the budgets that are associated with an account.

The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "DescribeNotificationsForBudget":{ "name":"DescribeNotificationsForBudget", @@ -150,9 +179,10 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"}, {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} + {"shape":"ExpiredNextTokenException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Get notifications of a budget" + "documentation":"

Lists the notifications that are associated with a budget.

" }, "DescribeSubscribersForNotification":{ "name":"DescribeSubscribersForNotification", @@ -167,9 +197,10 @@ {"shape":"NotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidNextTokenException"}, - {"shape":"ExpiredNextTokenException"} + {"shape":"ExpiredNextTokenException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Get subscribers of a notification" + "documentation":"

Lists the subscribers that are associated with a notification.

" }, "UpdateBudget":{ "name":"UpdateBudget", @@ -182,9 +213,10 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Update the information of a budget already created" + "documentation":"

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

" }, "UpdateNotification":{ "name":"UpdateNotification", @@ -197,9 +229,11 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"DuplicateRecordException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Update the information about a notification already created" + "documentation":"

Updates a notification.

" }, "UpdateSubscriber":{ "name":"UpdateSubscriber", @@ -212,71 +246,165 @@ "errors":[ {"shape":"InternalErrorException"}, {"shape":"InvalidParameterException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"DuplicateRecordException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"Update a subscriber" + "documentation":"

Updates a subscriber.

" } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

You are not authorized to use this operation with the given parameters.

", + "exception":true + }, "AccountId":{ "type":"string", - "documentation":"Account Id of the customer. It should be a 12 digit number.", + "documentation":"

The account ID of the user. It should be a 12-digit number.

", "max":12, - "min":12 + "min":12, + "pattern":"\\d{12}" }, "Budget":{ "type":"structure", "required":[ "BudgetName", - "BudgetLimit", - "CostTypes", "TimeUnit", - "TimePeriod", "BudgetType" ], "members":{ - "BudgetName":{"shape":"BudgetName"}, - "BudgetLimit":{"shape":"Spend"}, - "CostFilters":{"shape":"CostFilters"}, - "CostTypes":{"shape":"CostTypes"}, - "TimeUnit":{"shape":"TimeUnit"}, - "TimePeriod":{"shape":"TimePeriod"}, - "CalculatedSpend":{"shape":"CalculatedSpend"}, - "BudgetType":{"shape":"BudgetType"} + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of a budget. The name must be unique within an account. The : and \\ characters aren't allowed in BudgetName.

" + }, + "BudgetLimit":{ + "shape":"Spend", + "documentation":"

The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100, which is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

" + }, + "PlannedBudgetLimits":{ + "shape":"PlannedBudgetLimits", + "documentation":"

A map containing multiple BudgetLimit, including current or future limits.

PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

" + }, + "CostFilters":{ + "shape":"CostFilters", + "documentation":"

The cost filters, such as service or tag, that are applied to a budget.

AWS Budgets supports the following services as a filter for RI budgets:

  • Amazon Elastic Compute Cloud - Compute

  • Amazon Redshift

  • Amazon Relational Database Service

  • Amazon ElastiCache

  • Amazon Elasticsearch Service

" + }, + "CostTypes":{ + "shape":"CostTypes", + "documentation":"

The types of costs that are included in this COST budget.

USAGE, RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, and Savings_Plans_Coverage budgets do not have CostTypes.

" + }, + "TimeUnit":{ + "shape":"TimeUnit", + "documentation":"

The length of time until a budget resets the actual and forecasted spend. DAILY is available only for RI_UTILIZATION, RI_COVERAGE, Savings_Plans_Utilization, and Savings_Plans_Coverage budgets.

" + }, + "TimePeriod":{ + "shape":"TimePeriod", + "documentation":"

The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change either date with the UpdateBudget operation.

After the end date, AWS deletes the budget and all associated notifications and subscribers.

" + }, + "CalculatedSpend":{ + "shape":"CalculatedSpend", + "documentation":"

The actual and forecasted cost or usage that the budget tracks.

" + }, + "BudgetType":{ + "shape":"BudgetType", + "documentation":"

Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

" + }, + "LastUpdatedTime":{ + "shape":"GenericTimestamp", + "documentation":"

The last time that you updated this budget.

" + } }, - "documentation":"AWS Budget model" + "documentation":"

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

This is the ARN pattern for a budget:

arn:aws:budgetservice::AccountId:budget/budgetName

" }, "BudgetName":{ "type":"string", - "documentation":"A string represents the budget name. No \":\" character is allowed.", + "documentation":"

A string that represents the budget name. The \":\" and \"\\\" characters aren't allowed.

", "max":100, - "pattern":"[^:]+" + "min":1, + "pattern":"[^:\\\\]+" + }, + "BudgetPerformanceHistory":{ + "type":"structure", + "members":{ + "BudgetName":{"shape":"BudgetName"}, + "BudgetType":{"shape":"BudgetType"}, + "CostFilters":{ + "shape":"CostFilters", + "documentation":"

The history of the cost filters for a budget during the specified time period.

" + }, + "CostTypes":{ + "shape":"CostTypes", + "documentation":"

The history of the cost types for a budget during the specified time period.

" + }, + "TimeUnit":{"shape":"TimeUnit"}, + "BudgetedAndActualAmountsList":{ + "shape":"BudgetedAndActualAmountsList", + "documentation":"

A list of amounts of cost or usage that you created budgets for, compared to your actual costs or usage.

" + } + }, + "documentation":"

A history of the state of a budget at the end of the budget's specified time period.

" }, "BudgetType":{ "type":"string", - "documentation":"The type of a budget. Can be COST or USAGE.", + "documentation":"

The type of a budget. It must be one of the following types:

COST, USAGE, RI_UTILIZATION, or RI_COVERAGE.

", "enum":[ "USAGE", - "COST" + "COST", + "RI_UTILIZATION", + "RI_COVERAGE", + "SAVINGS_PLANS_UTILIZATION", + "SAVINGS_PLANS_COVERAGE" ] }, + "BudgetedAndActualAmounts":{ + "type":"structure", + "members":{ + "BudgetedAmount":{ + "shape":"Spend", + "documentation":"

The amount of cost or usage that you created the budget for.

" + }, + "ActualAmount":{ + "shape":"Spend", + "documentation":"

Your actual costs or usage for a budget period.

" + }, + "TimePeriod":{ + "shape":"TimePeriod", + "documentation":"

The time period covered by this budget comparison.

" + } + }, + "documentation":"

The amount of cost or usage that you created the budget for, compared to your actual costs or usage.

" + }, + "BudgetedAndActualAmountsList":{ + "type":"list", + "member":{"shape":"BudgetedAndActualAmounts"} + }, "Budgets":{ "type":"list", "member":{"shape":"Budget"}, - "documentation":"A list of budgets" + "documentation":"

A list of budgets.

" }, "CalculatedSpend":{ "type":"structure", "required":["ActualSpend"], "members":{ - "ActualSpend":{"shape":"Spend"}, - "ForecastedSpend":{"shape":"Spend"} + "ActualSpend":{ + "shape":"Spend", + "documentation":"

The amount of cost, usage, or RI units that you have used.

" + }, + "ForecastedSpend":{ + "shape":"Spend", + "documentation":"

The amount of cost, usage, or RI units that you are forecasted to use.

" + } }, - "documentation":"A structure holds the actual and forecasted spend for a budget." + "documentation":"

The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, or RI units, and the forecastedSpend tracks how much you are predicted to spend if your current usage remains steady.

For example, if it is the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.

" }, "ComparisonOperator":{ "type":"string", - "documentation":"The comparison operator of a notification. Currently we support less than, equal to and greater than.", + "documentation":"

The comparison operator of a notification. Currently the service supports the following operators:

GREATER_THAN, LESS_THAN, EQUAL_TO

", "enum":[ "GREATER_THAN", "LESS_THAN", @@ -287,21 +415,57 @@ "type":"map", "key":{"shape":"GenericString"}, "value":{"shape":"DimensionValues"}, - "documentation":"A map represents the cost filters applied to the budget." + "documentation":"

A map that represents the cost filters that are applied to the budget.

" }, "CostTypes":{ "type":"structure", - "required":[ - "IncludeTax", - "IncludeSubscription", - "UseBlended" - ], "members":{ - "IncludeTax":{"shape":"GenericBoolean"}, - "IncludeSubscription":{"shape":"GenericBoolean"}, - "UseBlended":{"shape":"GenericBoolean"} + "IncludeTax":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes taxes.

The default value is true.

" + }, + "IncludeSubscription":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes subscriptions.

The default value is true.

" + }, + "UseBlended":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget uses a blended rate.

The default value is false.

" + }, + "IncludeRefund":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes refunds.

The default value is true.

" + }, + "IncludeCredit":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes credits.

The default value is true.

" + }, + "IncludeUpfront":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes upfront RI costs.

The default value is true.

" + }, + "IncludeRecurring":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes recurring fees such as monthly RI fees.

The default value is true.

" + }, + "IncludeOtherSubscription":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes non-RI subscription costs.

The default value is true.

" + }, + "IncludeSupport":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes support subscription fees.

The default value is true.

" + }, + "IncludeDiscount":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget includes discounts.

The default value is true.

" + }, + "UseAmortized":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether a budget uses the amortized rate.

The default value is false.

" + } }, - "documentation":"This includes the options for getting the cost of a budget." + "documentation":"

The types of cost that are included in a COST budget, such as tax and subscriptions.

USAGE, RI_UTILIZATION, and RI_COVERAGE budgets do not have CostTypes.

" }, "CreateBudgetRequest":{ "type":"structure", @@ -310,17 +474,26 @@ "Budget" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "Budget":{"shape":"Budget"}, - "NotificationsWithSubscribers":{"shape":"NotificationWithSubscribersList"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget.

" + }, + "Budget":{ + "shape":"Budget", + "documentation":"

The budget object that you want to create.

" + }, + "NotificationsWithSubscribers":{ + "shape":"NotificationWithSubscribersList", + "documentation":"

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, AWS creates the notifications and subscribers for you.

" + } }, - "documentation":"Request of CreateBudget" + "documentation":"

Request of CreateBudget

" }, "CreateBudgetResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of CreateBudget" + "documentation":"

Response of CreateBudget

" }, "CreateNotificationRequest":{ "type":"structure", @@ -331,18 +504,30 @@ "Subscribers" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"}, - "Subscribers":{"shape":"Subscribers"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget that you want to create a notification for.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification that you want to create.

" + }, + "Subscribers":{ + "shape":"Subscribers", + "documentation":"

A list of subscribers that you want to associate with the notification. Each notification can have one SNS subscriber and up to 10 email subscribers.

" + } }, - "documentation":"Request of CreateNotification" + "documentation":"

Request of CreateNotification

" }, "CreateNotificationResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of CreateNotification" + "documentation":"

Response of CreateNotification

" }, "CreateSubscriberRequest":{ "type":"structure", @@ -353,25 +538,37 @@ "Subscriber" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"}, - "Subscriber":{"shape":"Subscriber"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget that you want to create a subscriber for.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget that you want to subscribe to. Budget names must be unique within an account.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification that you want to create a subscriber for.

" + }, + "Subscriber":{ + "shape":"Subscriber", + "documentation":"

The subscriber that you want to associate with a budget notification.

" + } }, - "documentation":"Request of CreateSubscriber" + "documentation":"

Request of CreateSubscriber

" }, "CreateSubscriberResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of CreateSubscriber" + "documentation":"

Response of CreateSubscriber

" }, "CreationLimitExceededException":{ "type":"structure", "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"The exception is thrown when customer tries to create a record (e.g. budget), but the number this record already exceeds the limitation.", + "documentation":"

You've exceeded the notification or subscriber limit.

", "exception":true }, "DeleteBudgetRequest":{ @@ -381,16 +578,22 @@ "BudgetName" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget that you want to delete.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget that you want to delete.

" + } }, - "documentation":"Request of DeleteBudget" + "documentation":"

Request of DeleteBudget

" }, "DeleteBudgetResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of DeleteBudget" + "documentation":"

Response of DeleteBudget

" }, "DeleteNotificationRequest":{ "type":"structure", @@ -400,17 +603,26 @@ "Notification" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose notification you want to delete.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose notification you want to delete.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification that you want to delete.

" + } }, - "documentation":"Request of DeleteNotification" + "documentation":"

Request of DeleteNotification

" }, "DeleteNotificationResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of DeleteNotification" + "documentation":"

Response of DeleteNotification

" }, "DeleteSubscriberRequest":{ "type":"structure", @@ -421,20 +633,32 @@ "Subscriber" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"}, - "Subscriber":{"shape":"Subscriber"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose subscriber you want to delete.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose subscriber you want to delete.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification whose subscriber you want to delete.

" + }, + "Subscriber":{ + "shape":"Subscriber", + "documentation":"

The subscriber that you want to delete.

" + } }, - "documentation":"Request of DeleteSubscriber" + "documentation":"

Request of DeleteSubscriber

" }, "DeleteSubscriberResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of DeleteSubscriber" + "documentation":"

Response of DeleteSubscriber

" }, - "DescribeBudgetRequest":{ + "DescribeBudgetPerformanceHistoryRequest":{ "type":"structure", "required":[ "AccountId", @@ -442,34 +666,85 @@ ], "members":{ "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"} + "BudgetName":{"shape":"BudgetName"}, + "TimePeriod":{ + "shape":"TimePeriod", + "documentation":"

Retrieves how often the budget went into an ALARM state for the specified time period.

" + }, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetPerformanceHistoryResponse":{ + "type":"structure", + "members":{ + "BudgetPerformanceHistory":{ + "shape":"BudgetPerformanceHistory", + "documentation":"

The history of how often the budget has gone into an ALARM state.

For DAILY budgets, the history saves the state of the budget for the last 60 days. For MONTHLY budgets, the history saves the state of the budget for the current month plus the last 12 months. For QUARTERLY budgets, the history saves the state of the budget for the last four quarters.

" + }, + "NextToken":{"shape":"GenericString"} + } + }, + "DescribeBudgetRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BudgetName" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget that you want a description of.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget that you want a description of.

" + } }, - "documentation":"Request of DescribeBudget" + "documentation":"

Request of DescribeBudget

" }, "DescribeBudgetResponse":{ "type":"structure", "members":{ - "Budget":{"shape":"Budget"} + "Budget":{ + "shape":"Budget", + "documentation":"

The description of the budget.

" + } }, - "documentation":"Response of DescribeBudget" + "documentation":"

Response of DescribeBudget

" }, "DescribeBudgetsRequest":{ "type":"structure", "required":["AccountId"], "members":{ - "AccountId":{"shape":"AccountId"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"GenericString"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budgets that you want descriptions of.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

An optional integer that represents how many entries a paginated response contains. The maximum is 100.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

" + } }, - "documentation":"Request of DescribeBudgets" + "documentation":"

Request of DescribeBudgets

" }, "DescribeBudgetsResponse":{ "type":"structure", "members":{ - "Budgets":{"shape":"Budgets"}, - "NextToken":{"shape":"GenericString"} + "Budgets":{ + "shape":"Budgets", + "documentation":"

A list of budgets.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token in the service response that indicates the next set of results that you can retrieve.

" + } }, - "documentation":"Response of DescribeBudgets" + "documentation":"

Response of DescribeBudgets

" }, "DescribeNotificationsForBudgetRequest":{ "type":"structure", @@ -478,20 +753,38 @@ "BudgetName" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"GenericString"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose notifications you want descriptions of.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose notifications you want descriptions of.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

An optional integer that represents how many entries a paginated response contains. The maximum is 100.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

" + } }, - "documentation":"Request of DescribeNotificationsForBudget" + "documentation":"

Request of DescribeNotificationsForBudget

" }, "DescribeNotificationsForBudgetResponse":{ "type":"structure", "members":{ - "Notifications":{"shape":"Notifications"}, - "NextToken":{"shape":"GenericString"} + "Notifications":{ + "shape":"Notifications", + "documentation":"

A list of notifications that are associated with a budget.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token in the service response that indicates the next set of results that you can retrieve.

" + } }, - "documentation":"Response of GetNotificationsForBudget" + "documentation":"

Response of GetNotificationsForBudget

" }, "DescribeSubscribersForNotificationRequest":{ "type":"structure", @@ -501,21 +794,42 @@ "Notification" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"}, - "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"GenericString"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose subscribers you want descriptions of.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose subscribers you want descriptions of.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification whose subscribers you want to list.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

An optional integer that represents how many entries a paginated response contains. The maximum is 100.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token that you include in your request to indicate the next set of results that you want to retrieve.

" + } }, - "documentation":"Request of DescribeSubscribersForNotification" + "documentation":"

Request of DescribeSubscribersForNotification

" }, "DescribeSubscribersForNotificationResponse":{ "type":"structure", "members":{ - "Subscribers":{"shape":"Subscribers"}, - "NextToken":{"shape":"GenericString"} + "Subscribers":{ + "shape":"Subscribers", + "documentation":"

A list of subscribers that are associated with a notification.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The pagination token in the service response that indicates the next set of results that you can retrieve.

" + } }, - "documentation":"Response of DescribeSubscribersForNotification" + "documentation":"

Response of DescribeSubscribersForNotification

" }, "DimensionValues":{ "type":"list", @@ -526,7 +840,7 @@ "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"The exception is thrown when customer tries to create a record (e.g. budget) that already exists.", + "documentation":"

The budget name already exists. Budget names must be unique within an account.

", "exception":true }, "ExpiredNextTokenException":{ @@ -534,27 +848,26 @@ "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"This exception is thrown if the paging token is expired - past its TTL", + "documentation":"

The pagination token expired.

", "exception":true }, - "GenericBoolean":{ - "type":"boolean", - "documentation":"A generic boolean value." - }, "GenericString":{ "type":"string", - "documentation":"A generic String." + "documentation":"

A generic string.

", + "max":2147483647, + "min":0, + "pattern":".*" }, "GenericTimestamp":{ "type":"timestamp", - "documentation":"A generic timestamp. In Java it is transformed to a Date object." + "documentation":"

A generic time stamp. In Java, it is transformed to a Date object.

" }, "InternalErrorException":{ "type":"structure", "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"This exception is thrown on an unknown internal failure.", + "documentation":"

An error on the server occurred during the processing of your request. Try again later.

", "exception":true }, "InvalidNextTokenException":{ @@ -562,7 +875,7 @@ "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"This exception is thrown if paging token signature didn't match the token, or the paging token isn't for this request", + "documentation":"

The pagination token is invalid.

", "exception":true }, "InvalidParameterException":{ @@ -570,12 +883,12 @@ "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"This exception is thrown if any request is given an invalid parameter. E.g., if a required Date field is null.", + "documentation":"

An error on the client occurred. Typically, the cause is an invalid input value.

", "exception":true }, "MaxResults":{ "type":"integer", - "documentation":"An integer to represent how many entries should a pagianted response contains. Maxium is set to 100.", + "documentation":"

An integer that represents how many entries a paginated response contains. The maximum is 100.

", "box":true, "max":100, "min":1 @@ -585,7 +898,7 @@ "members":{ "Message":{"shape":"errorMessage"} }, - "documentation":"This exception is thrown if a requested entity is not found. E.g., if a budget id doesn't exist for an account ID.", + "documentation":"

We can’t locate the resource that you specified.

", "exception":true }, "Notification":{ @@ -596,21 +909,45 @@ "Threshold" ], "members":{ - "NotificationType":{"shape":"NotificationType"}, - "ComparisonOperator":{"shape":"ComparisonOperator"}, - "Threshold":{"shape":"NotificationThreshold"} + "NotificationType":{ + "shape":"NotificationType", + "documentation":"

Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

" + }, + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

The comparison that is used for this notification.

" + }, + "Threshold":{ + "shape":"NotificationThreshold", + "documentation":"

The threshold that is associated with a notification. Thresholds are always a percentage.

" + }, + "ThresholdType":{ + "shape":"ThresholdType", + "documentation":"

The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, AWS notifies you when you go over 160 dollars.

" + }, + "NotificationState":{ + "shape":"NotificationState", + "documentation":"

Whether this notification is in alarm. If a budget notification is in the ALARM state, you have passed the set threshold for the budget.

" + } }, - "documentation":"Notification model. Each budget may contain multiple notifications with different settings." + "documentation":"

A notification that is associated with a budget. A budget can have up to five notifications.

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

  • A notificationType of ACTUAL

  • A thresholdType of PERCENTAGE

  • A comparisonOperator of GREATER_THAN

  • A notification threshold of 80

" + }, + "NotificationState":{ + "type":"string", + "enum":[ + "OK", + "ALARM" + ] }, "NotificationThreshold":{ "type":"double", - "documentation":"The threshold of the a notification. It should be a number between 0 and 100.", - "max":100, - "min":0.1 + "documentation":"

The threshold of a notification. It must be a number between 0 and 1,000,000,000.

", + "max":1000000000, + "min":0 }, "NotificationType":{ "type":"string", - "documentation":"The type of a notification. It should be ACTUAL or FORECASTED.", + "documentation":"

The type of a notification. It must be ACTUAL or FORECASTED.

", "enum":[ "ACTUAL", "FORECASTED" @@ -623,26 +960,43 @@ "Subscribers" ], "members":{ - "Notification":{"shape":"Notification"}, - "Subscribers":{"shape":"Subscribers"} + "Notification":{ + "shape":"Notification", + "documentation":"

The notification that is associated with a budget.

" + }, + "Subscribers":{ + "shape":"Subscribers", + "documentation":"

A list of subscribers who are subscribed to this notification.

" + } }, - "documentation":"A structure to relate notification and a list of subscribers who belong to the notification." + "documentation":"

A notification with subscribers. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

" }, "NotificationWithSubscribersList":{ "type":"list", "member":{"shape":"NotificationWithSubscribers"}, - "documentation":"A list of Notifications, each with a list of subscribers.", + "documentation":"

A list of notifications, each with a list of subscribers.

", "max":5 }, "Notifications":{ "type":"list", "member":{"shape":"Notification"}, - "documentation":"A list of notifications." + "documentation":"

A list of notifications.

" + }, + "NullableBoolean":{ + "type":"boolean", + "box":true }, "NumericValue":{ "type":"string", - "documentation":"A string to represent NumericValue.", - "pattern":"[0-9]+(\\.)?[0-9]*" + "documentation":"

A string that represents a numeric value.

", + "max":2147483647, + "min":1, + "pattern":"([0-9]*\\.)?[0-9]+" + }, + "PlannedBudgetLimits":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"Spend"} }, "Spend":{ "type":"structure", @@ -651,10 +1005,16 @@ "Unit" ], "members":{ - "Amount":{"shape":"NumericValue"}, - "Unit":{"shape":"GenericString"} + "Amount":{ + "shape":"NumericValue", + "documentation":"

The cost or usage amount that is associated with a budget forecast, actual spend, or budget threshold.

" + }, + "Unit":{ + "shape":"UnitValue", + "documentation":"

The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

" + } }, - "documentation":"A structure represent either a cost spend or usage spend. Contains an amount and a unit." + "documentation":"

The amount of cost or usage that is measured for a budget.

For example, a Spend for 3 GB of S3 usage would have the following parameters:

  • An Amount of 3

  • A unit of GB

" }, "Subscriber":{ "type":"structure", @@ -663,47 +1023,79 @@ "Address" ], "members":{ - "SubscriptionType":{"shape":"SubscriptionType"}, - "Address":{"shape":"GenericString"} + "SubscriptionType":{ + "shape":"SubscriptionType", + "documentation":"

The type of notification that AWS sends to a subscriber.

" + }, + "Address":{ + "shape":"SubscriberAddress", + "documentation":"

The address that AWS sends budget notifications to, either an SNS topic or an email.

When you create a subscriber, the value of Address can't contain line breaks.

" + } }, - "documentation":"Subscriber model. Each notification may contain multiple subscribers with different addresses." + "documentation":"

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

For example, an email subscriber would have the following parameters:

  • A subscriptionType of EMAIL

  • An address of example@example.com

" + }, + "SubscriberAddress":{ + "type":"string", + "documentation":"

A string that contains an email address or SNS topic for the subscriber's address.

", + "max":2147483647, + "min":1, + "pattern":"(.*[\\n\\r\\t\\f\\ ]?)*", + "sensitive":true }, "Subscribers":{ "type":"list", "member":{"shape":"Subscriber"}, - "documentation":"A list of subscribers.", + "documentation":"

A list of subscribers.

", "max":11, "min":1 }, "SubscriptionType":{ "type":"string", - "documentation":"The subscription type of the subscriber. It can be SMS or EMAIL.", + "documentation":"

The subscription type of the subscriber. It can be SMS or EMAIL.

", "enum":[ "SNS", "EMAIL" ] }, + "ThresholdType":{ + "type":"string", + "documentation":"

The type of threshold for a notification. It can be PERCENTAGE or ABSOLUTE_VALUE.

", + "enum":[ + "PERCENTAGE", + "ABSOLUTE_VALUE" + ] + }, "TimePeriod":{ "type":"structure", - "required":[ - "Start", - "End" - ], "members":{ - "Start":{"shape":"GenericTimestamp"}, - "End":{"shape":"GenericTimestamp"} + "Start":{ + "shape":"GenericTimestamp", + "documentation":"

The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

You can change your start date with the UpdateBudget operation.

" + }, + "End":{ + "shape":"GenericTimestamp", + "documentation":"

The end date for a budget. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

" + } }, - "documentation":"A time period indicated the start date and end date of a budget." + "documentation":"

The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

" }, "TimeUnit":{ "type":"string", - "documentation":"The time unit of the budget. e.g. weekly, monthly, etc.", + "documentation":"

The time unit of the budget, such as MONTHLY or QUARTERLY.

", "enum":[ + "DAILY", "MONTHLY", "QUARTERLY", "ANNUALLY" ] }, + "UnitValue":{ + "type":"string", + "documentation":"

A string that represents the spend unit of a budget. It can't be null or empty.

", + "max":2147483647, + "min":1, + "pattern":".*" + }, "UpdateBudgetRequest":{ "type":"structure", "required":[ @@ -711,16 +1103,22 @@ "NewBudget" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "NewBudget":{"shape":"Budget"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget that you want to update.

" + }, + "NewBudget":{ + "shape":"Budget", + "documentation":"

The budget that you want to update your budget to.

" + } }, - "documentation":"Request of UpdateBudget" + "documentation":"

Request of UpdateBudget

" }, "UpdateBudgetResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of UpdateBudget" + "documentation":"

Response of UpdateBudget

" }, "UpdateNotificationRequest":{ "type":"structure", @@ -731,18 +1129,30 @@ "NewNotification" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "OldNotification":{"shape":"Notification"}, - "NewNotification":{"shape":"Notification"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose notification you want to update.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose notification you want to update.

" + }, + "OldNotification":{ + "shape":"Notification", + "documentation":"

The previous notification that is associated with a budget.

" + }, + "NewNotification":{ + "shape":"Notification", + "documentation":"

The updated notification to be associated with a budget.

" + } }, - "documentation":"Request of UpdateNotification" + "documentation":"

Request of UpdateNotification

" }, "UpdateNotificationResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of UpdateNotification" + "documentation":"

Response of UpdateNotification

" }, "UpdateSubscriberRequest":{ "type":"structure", @@ -754,24 +1164,39 @@ "NewSubscriber" ], "members":{ - "AccountId":{"shape":"AccountId"}, - "BudgetName":{"shape":"BudgetName"}, - "Notification":{"shape":"Notification"}, - "OldSubscriber":{"shape":"Subscriber"}, - "NewSubscriber":{"shape":"Subscriber"} + "AccountId":{ + "shape":"AccountId", + "documentation":"

The accountId that is associated with the budget whose subscriber you want to update.

" + }, + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

The name of the budget whose subscriber you want to update.

" + }, + "Notification":{ + "shape":"Notification", + "documentation":"

The notification whose subscriber you want to update.

" + }, + "OldSubscriber":{ + "shape":"Subscriber", + "documentation":"

The previous subscriber that is associated with a budget notification.

" + }, + "NewSubscriber":{ + "shape":"Subscriber", + "documentation":"

The updated subscriber that is associated with a budget notification.

" + } }, - "documentation":"Request of UpdateSubscriber" + "documentation":"

Request of UpdateSubscriber

" }, "UpdateSubscriberResponse":{ "type":"structure", "members":{ }, - "documentation":"Response of UpdateSubscriber" + "documentation":"

Response of UpdateSubscriber

" }, "errorMessage":{ "type":"string", - "documentation":"The error message the exception carries." + "documentation":"

The error message the exception carries.

" } }, - "documentation":"All public APIs for AWS Budgets" + "documentation":"

The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets.

Budgets provide you with a way to see the following information:

  • How close your plan is to your budgeted amount or to the free tier limits

  • Your usage-to-date, including how much you've used of your Reserved Instances (RIs)

  • Your current estimated charges from AWS, and how much your predicted usage will accrue in charges by the end of the month

  • How much of your budget has been used

AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

  • Cost budgets - Plan how much you want to spend on a service.

  • Usage budgets - Plan how much you want to use one or more services.

  • RI utilization budgets - Define a utilization threshold, and receive alerts when your RI usage falls below that threshold. This lets you see if your RIs are unused or under-utilized.

  • RI coverage budgets - Define a coverage threshold, and receive alerts when the number of your instance hours that are covered by RIs fall below that threshold. This lets you see how much of your instance usage is covered by a reservation.

Service Endpoint

The AWS Budgets API provides the following endpoint:

  • https://budgets.amazonaws.com

For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing.

" } diff -Nru python-botocore-1.4.70/botocore/data/ce/2017-10-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/examples-1.json --- python-botocore-1.4.70/botocore/data/ce/2017-10-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/ce/2017-10-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/ce/2017-10-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/ce/2017-10-25/service-2.json python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/service-2.json --- python-botocore-1.4.70/botocore/data/ce/2017-10-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ce/2017-10-25/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3000 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-25", + "endpointPrefix":"ce", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWS Cost Explorer", + "serviceFullName":"AWS Cost Explorer Service", + "serviceId":"Cost Explorer", + "signatureVersion":"v4", + "signingName":"ce", + "targetPrefix":"AWSInsightsIndexService", + "uid":"ce-2017-10-25" + }, + "operations":{ + "CreateCostCategoryDefinition":{ + "name":"CreateCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCostCategoryDefinitionRequest"}, + "output":{"shape":"CreateCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a new Cost Category with the requested name and rules.

" + }, + "DeleteCostCategoryDefinition":{ + "name":"DeleteCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCostCategoryDefinitionRequest"}, + "output":{"shape":"DeleteCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Deletes a Cost Category. Expenses from this month going forward will no longer be categorized with this Cost Category.

" + }, + "DescribeCostCategoryDefinition":{ + "name":"DescribeCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCostCategoryDefinitionRequest"}, + "output":{"shape":"DescribeCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Returns the name, ARN, rules, definition, and effective dates of a Cost Category that's defined in the account.

You have the option to use EffectiveOn to return a Cost Category that is active on a specific date. If there is no EffectiveOn specified, you’ll see a Cost Category that is effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response.

" + }, + "GetCostAndUsage":{ + "name":"GetCostAndUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCostAndUsageRequest"}, + "output":{"shape":"GetCostAndUsageResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} + ], + "documentation":"

Retrieves cost and usage metrics for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts.

" + }, + "GetCostAndUsageWithResources":{ + "name":"GetCostAndUsageWithResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCostAndUsageWithResourcesRequest"}, + "output":{"shape":"GetCostAndUsageWithResourcesResponse"}, + "errors":[ + {"shape":"DataUnavailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} + ], + "documentation":"

Retrieves cost and usage metrics with resources for your account. You can specify which cost and usage-related metric, such as BlendedCosts or UsageQuantity, that you want the request to return. You can also filter and group your data by various dimensions, such as SERVICE or AZ, in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues operation. Master accounts in an organization in AWS Organizations have access to all member accounts. This API is currently available for the Amazon Elastic Compute Cloud – Compute service only.

This is an opt-in only feature. You can enable this feature from the Cost Explorer Settings page. For information on how to access the Settings page, see Controlling Access for Cost Explorer in the AWS Billing and Cost Management User Guide.

" + }, + "GetCostForecast":{ + "name":"GetCostForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCostForecastRequest"}, + "output":{"shape":"GetCostForecastResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"} + ], + "documentation":"

Retrieves a forecast for how much Amazon Web Services predicts that you will spend over the forecast time period that you select, based on your past costs.

" + }, + "GetDimensionValues":{ + "name":"GetDimensionValues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDimensionValuesRequest"}, + "output":{"shape":"GetDimensionValuesResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} + ], + "documentation":"

Retrieves all available filter values for a specified filter over a period of time. You can search the dimension values for an arbitrary string.

" + }, + "GetReservationCoverage":{ + "name":"GetReservationCoverage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservationCoverageRequest"}, + "output":{"shape":"GetReservationCoverageResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves the reservation coverage for your account. This enables you to see how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database Service, or Amazon Redshift usage is covered by a reservation. An organization's master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data about reservation usage by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

To determine valid values for a dimension, use the GetDimensionValues operation.

" + }, + "GetReservationPurchaseRecommendation":{ + "name":"GetReservationPurchaseRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservationPurchaseRecommendationRequest"}, + "output":{"shape":"GetReservationPurchaseRecommendationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets recommendations for which reservations to purchase. These recommendations could help you reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared to On-Demand pricing.

AWS generates your recommendations by identifying your On-Demand usage during a specific time period and collecting your usage into categories that are eligible for a reservation. After AWS has these categories, it simulates every combination of reservations in each category of usage to identify the best number of each type of RI to purchase to maximize your estimated savings.

For example, AWS automatically aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you buy size-flexible regional reservations to apply to the c4 family usage. AWS recommends the smallest size instance in an instance family. This makes it easier to purchase a size-flexible RI. AWS also shows the equal number of normalized units so that you can purchase any instance size that you want. For this example, your RI recommendation would be for c4.large because that is the smallest size instance in the c4 instance family.

" + }, + "GetReservationUtilization":{ + "name":"GetReservationUtilization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservationUtilizationRequest"}, + "output":{"shape":"GetReservationUtilizationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves the reservation utilization for your account. Master accounts in an organization have access to member accounts. You can filter data by dimensions in a time period. You can use GetDimensionValues to determine the possible dimension values. Currently, you can group only by SUBSCRIPTION_ID.

" + }, + "GetRightsizingRecommendation":{ + "name":"GetRightsizingRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRightsizingRecommendationRequest"}, + "output":{"shape":"GetRightsizingRecommendationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Creates recommendations that helps you save cost by identifying idle and underutilized Amazon EC2 instances.

Recommendations are generated to either downsize or terminate instances, along with providing savings detail and metrics. For details on calculation and function, see Optimizing Your Cost with Rightsizing Recommendations.

" + }, + "GetSavingsPlansCoverage":{ + "name":"GetSavingsPlansCoverage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSavingsPlansCoverageRequest"}, + "output":{"shape":"GetSavingsPlansCoverageResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s master account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

  • LINKED_ACCOUNT

  • REGION

  • SERVICE

  • INSTANCE_FAMILY

To determine valid values for a dimension, use the GetDimensionValues operation.

" + }, + "GetSavingsPlansPurchaseRecommendation":{ + "name":"GetSavingsPlansPurchaseRecommendation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSavingsPlansPurchaseRecommendationRequest"}, + "output":{"shape":"GetSavingsPlansPurchaseRecommendationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves your request parameters, Savings Plan Recommendations Summary and Details.

" + }, + "GetSavingsPlansUtilization":{ + "name":"GetSavingsPlansUtilization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSavingsPlansUtilizationRequest"}, + "output":{"shape":"GetSavingsPlansUtilizationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"} + ], + "documentation":"

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Master accounts in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

You cannot group by any dimension values for GetSavingsPlansUtilization.

" + }, + "GetSavingsPlansUtilizationDetails":{ + "name":"GetSavingsPlansUtilizationDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSavingsPlansUtilizationDetailsRequest"}, + "output":{"shape":"GetSavingsPlansUtilizationDetailsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

" + }, + "GetTags":{ + "name":"GetTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagsRequest"}, + "output":{"shape":"GetTagsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"BillExpirationException"}, + {"shape":"DataUnavailableException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"RequestChangedException"} + ], + "documentation":"

Queries for available tag keys and tag values for a specified period. You can search the tag values for an arbitrary string.

" + }, + "GetUsageForecast":{ + "name":"GetUsageForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUsageForecastRequest"}, + "output":{"shape":"GetUsageForecastResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"DataUnavailableException"}, + {"shape":"UnresolvableUsageUnitException"} + ], + "documentation":"

Retrieves a forecast for how much Amazon Web Services predicts that you will use over the forecast time period that you select, based on your past usage.

" + }, + "ListCostCategoryDefinitions":{ + "name":"ListCostCategoryDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCostCategoryDefinitionsRequest"}, + "output":{"shape":"ListCostCategoryDefinitionsResponse"}, + "errors":[ + {"shape":"LimitExceededException"} + ], + "documentation":"

Returns the name, ARN, NumberOfRules and effective dates of all Cost Categories defined in the account. You have the option to use EffectiveOn to return a list of Cost Categories that were active on a specific date. If there is no EffectiveOn specified, you’ll see Cost Categories that are effective on the current date. If Cost Category is still effective, EffectiveEnd is omitted in the response. ListCostCategoryDefinitions supports pagination. The request can have a MaxResults range up to 100.

" + }, + "UpdateCostCategoryDefinition":{ + "name":"UpdateCostCategoryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCostCategoryDefinitionRequest"}, + "output":{"shape":"UpdateCostCategoryDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Updates an existing Cost Category. Changes made to the Cost Category rules will be used to categorize the current month’s expenses and future expenses. This won’t change categorization for the previous months.

" + } + }, + "shapes":{ + "AccountScope":{ + "type":"string", + "enum":[ + "PAYER", + "LINKED" + ] + }, + "AmortizedRecurringFee":{"type":"string"}, + "AmortizedUpfrontFee":{"type":"string"}, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+" + }, + "AttributeType":{"type":"string"}, + "AttributeValue":{"type":"string"}, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeType"}, + "value":{"shape":"AttributeValue"} + }, + "BillExpirationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested report expired. Update the date interval and try again.

", + "exception":true + }, + "Context":{ + "type":"string", + "enum":[ + "COST_AND_USAGE", + "RESERVATIONS", + "SAVINGS_PLANS" + ] + }, + "CostCategory":{ + "type":"structure", + "required":[ + "CostCategoryArn", + "EffectiveStart", + "Name", + "RuleVersion", + "Rules" + ], + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + }, + "EffectiveStart":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective start date.

" + }, + "EffectiveEnd":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective end date.

" + }, + "Name":{"shape":"CostCategoryName"}, + "RuleVersion":{"shape":"CostCategoryRuleVersion"}, + "Rules":{ + "shape":"CostCategoryRulesList", + "documentation":"

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

" + } + }, + "documentation":"

The structure of Cost Categories. This includes detailed metadata and the set of rules for the CostCategory object.

" + }, + "CostCategoryMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "CostCategoryName":{ + "type":"string", + "documentation":"

The unique name of the Cost Category.

", + "max":255, + "min":1, + "pattern":"^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(? The unique identifier for your Cost Category.

" + }, + "Name":{"shape":"CostCategoryName"}, + "EffectiveStart":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective start date.

" + }, + "EffectiveEnd":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective end date.

" + }, + "NumberOfRules":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of rules associated with a specific Cost Category.

" + } + }, + "documentation":"

A reference to a Cost Category containing only enough information to identify the Cost Category.

You can use this information to retrieve the full Cost Category information using DescribeCostCategory.

" + }, + "CostCategoryReferencesList":{ + "type":"list", + "member":{"shape":"CostCategoryReference"} + }, + "CostCategoryRule":{ + "type":"structure", + "required":[ + "Value", + "Rule" + ], + "members":{ + "Value":{"shape":"CostCategoryValue"}, + "Rule":{ + "shape":"Expression", + "documentation":"

An Expression object used to categorize costs. This supports dimensions, Tags, and nested expressions. Currently the only dimensions supported are LINKED_ACCOUNT, SERVICE_CODE, RECORD_TYPE, and LINKED_ACCOUNT_NAME.

Root level OR is not supported. We recommend that you create a separate rule instead.

RECORD_TYPE is a dimension used for Cost Explorer APIs, and is also supported for Cost Category expressions. This dimension uses different terms, depending on whether you're using the console or API/JSON editor. For a detailed comparison, see Term Comparisons in the AWS Billing and Cost Management User Guide.

" + } + }, + "documentation":"

Rules are processed in order. If there are multiple rules that match the line item, then the first rule to match is used to determine that Cost Category value.

" + }, + "CostCategoryRuleVersion":{ + "type":"string", + "documentation":"

The rule schema version in this particular Cost Category.

", + "enum":["CostCategoryExpression.v1"] + }, + "CostCategoryRulesList":{ + "type":"list", + "member":{"shape":"CostCategoryRule"}, + "max":500, + "min":1 + }, + "CostCategoryValue":{ + "type":"string", + "documentation":"

The value a line item will be categorized as, if it matches the rule.

", + "max":255, + "min":1, + "pattern":"^(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?The specific value of the Cost Category.

" + } + }, + "documentation":"

The Cost Categories values used for filtering the costs.

" + }, + "Coverage":{ + "type":"structure", + "members":{ + "CoverageHours":{ + "shape":"CoverageHours", + "documentation":"

The amount of instance usage that the reservation covered, in hours.

" + }, + "CoverageNormalizedUnits":{ + "shape":"CoverageNormalizedUnits", + "documentation":"

The amount of instance usage that the reservation covered, in normalized units.

" + }, + "CoverageCost":{ + "shape":"CoverageCost", + "documentation":"

The amount of cost that the reservation covered.

" + } + }, + "documentation":"

The amount of instance usage that a reservation covered.

" + }, + "CoverageByTime":{ + "type":"structure", + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The period that this coverage was used over.

" + }, + "Groups":{ + "shape":"ReservationCoverageGroups", + "documentation":"

The groups of instances that the reservation covered.

" + }, + "Total":{ + "shape":"Coverage", + "documentation":"

The total reservation coverage, in hours.

" + } + }, + "documentation":"

Reservation coverage for a specified period, in hours.

" + }, + "CoverageCost":{ + "type":"structure", + "members":{ + "OnDemandCost":{ + "shape":"OnDemandCost", + "documentation":"

How much an On-Demand Instance costs.

" + } + }, + "documentation":"

How much it costs to run an instance.

" + }, + "CoverageHours":{ + "type":"structure", + "members":{ + "OnDemandHours":{ + "shape":"OnDemandHours", + "documentation":"

The number of instance running hours that On-Demand Instances covered.

" + }, + "ReservedHours":{ + "shape":"ReservedHours", + "documentation":"

The number of instance running hours that reservations covered.

" + }, + "TotalRunningHours":{ + "shape":"TotalRunningHours", + "documentation":"

The total instance usage, in hours.

" + }, + "CoverageHoursPercentage":{ + "shape":"CoverageHoursPercentage", + "documentation":"

The percentage of instance hours that a reservation covered.

" + } + }, + "documentation":"

How long a running instance either used a reservation or was On-Demand.

" + }, + "CoverageHoursPercentage":{"type":"string"}, + "CoverageNormalizedUnits":{ + "type":"structure", + "members":{ + "OnDemandNormalizedUnits":{ + "shape":"OnDemandNormalizedUnits", + "documentation":"

The number of normalized units that are covered by On-Demand Instances instead of a reservation.

" + }, + "ReservedNormalizedUnits":{ + "shape":"ReservedNormalizedUnits", + "documentation":"

The number of normalized units that a reservation covers.

" + }, + "TotalRunningNormalizedUnits":{ + "shape":"TotalRunningNormalizedUnits", + "documentation":"

The total number of normalized units that you used.

" + }, + "CoverageNormalizedUnitsPercentage":{ + "shape":"CoverageNormalizedUnitsPercentage", + "documentation":"

The percentage of your used instance normalized units that a reservation covers.

" + } + }, + "documentation":"

The amount of instance usage, in normalized units. Normalized units enable you to see your EC2 usage for multiple sizes of instances in a uniform way. For example, suppose you run an xlarge instance and a 2xlarge instance. If you run both instances for the same amount of time, the 2xlarge instance uses twice as much of your reservation as the xlarge instance, even though both instances show only one instance-hour. Using normalized units instead of instance-hours, the xlarge instance used 8 normalized units, and the 2xlarge instance used 16 normalized units.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

" + }, + "CoverageNormalizedUnitsPercentage":{"type":"string"}, + "CoveragesByTime":{ + "type":"list", + "member":{"shape":"CoverageByTime"} + }, + "CreateCostCategoryDefinitionRequest":{ + "type":"structure", + "required":[ + "Name", + "RuleVersion", + "Rules" + ], + "members":{ + "Name":{"shape":"CostCategoryName"}, + "RuleVersion":{"shape":"CostCategoryRuleVersion"}, + "Rules":{ + "shape":"CostCategoryRulesList", + "documentation":"

The Cost Category rules used to categorize costs. For more information, see CostCategoryRule.

" + } + } + }, + "CreateCostCategoryDefinitionResponse":{ + "type":"structure", + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your newly created Cost Category.

" + }, + "EffectiveStart":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective start date.

" + } + } + }, + "CurrentInstance":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"GenericString", + "documentation":"

Resource ID of the current instance.

" + }, + "Tags":{ + "shape":"TagValuesList", + "documentation":"

Cost allocation resource tags applied to the instance.

" + }, + "ResourceDetails":{ + "shape":"ResourceDetails", + "documentation":"

Details about the resource and utilization.

" + }, + "ResourceUtilization":{ + "shape":"ResourceUtilization", + "documentation":"

Utilization information of the current instance during the lookback period.

" + }, + "ReservationCoveredHoursInLookbackPeriod":{ + "shape":"GenericString", + "documentation":"

Number of hours during the lookback period covered by reservations.

" + }, + "SavingsPlansCoveredHoursInLookbackPeriod":{ + "shape":"GenericString", + "documentation":"

Number of hours during the lookback period covered by Savings Plans.

" + }, + "OnDemandHoursInLookbackPeriod":{ + "shape":"GenericString", + "documentation":"

Number of hours during the lookback period billed at On Demand rates.

" + }, + "TotalRunningHoursInLookbackPeriod":{ + "shape":"GenericString", + "documentation":"

The total number of hours the instance ran during the lookback period.

" + }, + "MonthlyCost":{ + "shape":"GenericString", + "documentation":"

Current On Demand cost of operating this instance on a monthly basis.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code that Amazon Web Services used to calculate the costs for this instance.

" + } + }, + "documentation":"

Context about the current instance.

" + }, + "DataUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested data is unavailable.

", + "exception":true + }, + "DateInterval":{ + "type":"structure", + "required":[ + "Start", + "End" + ], + "members":{ + "Start":{ + "shape":"YearMonthDay", + "documentation":"

The beginning of the time period that you want the usage and costs for. The start date is inclusive. For example, if start is 2017-01-01, AWS retrieves cost and usage data starting at 2017-01-01 up to the end date.

" + }, + "End":{ + "shape":"YearMonthDay", + "documentation":"

The end of the time period that you want the usage and costs for. The end date is exclusive. For example, if end is 2017-05-01, AWS retrieves cost and usage data from the start date up to, but not including, 2017-05-01.

" + } + }, + "documentation":"

The time period that you want the usage and costs for.

" + }, + "DeleteCostCategoryDefinitionRequest":{ + "type":"structure", + "required":["CostCategoryArn"], + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + } + } + }, + "DeleteCostCategoryDefinitionResponse":{ + "type":"structure", + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + }, + "EffectiveEnd":{ + "shape":"ZonedDateTime", + "documentation":"

The effective end date of the Cost Category as a result of deleting it. No costs after this date will be categorized by the deleted Cost Category.

" + } + } + }, + "DescribeCostCategoryDefinitionRequest":{ + "type":"structure", + "required":["CostCategoryArn"], + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + }, + "EffectiveOn":{ + "shape":"ZonedDateTime", + "documentation":"

The date when the Cost Category was effective.

" + } + } + }, + "DescribeCostCategoryDefinitionResponse":{ + "type":"structure", + "members":{ + "CostCategory":{"shape":"CostCategory"} + } + }, + "Dimension":{ + "type":"string", + "enum":[ + "AZ", + "INSTANCE_TYPE", + "LINKED_ACCOUNT", + "LINKED_ACCOUNT_NAME", + "OPERATION", + "PURCHASE_TYPE", + "REGION", + "SERVICE", + "SERVICE_CODE", + "USAGE_TYPE", + "USAGE_TYPE_GROUP", + "RECORD_TYPE", + "OPERATING_SYSTEM", + "TENANCY", + "SCOPE", + "PLATFORM", + "SUBSCRIPTION_ID", + "LEGAL_ENTITY_NAME", + "DEPLOYMENT_OPTION", + "DATABASE_ENGINE", + "CACHE_ENGINE", + "INSTANCE_TYPE_FAMILY", + "BILLING_ENTITY", + "RESERVATION_ID", + "RESOURCE_ID", + "RIGHTSIZING_TYPE", + "SAVINGS_PLANS_TYPE", + "SAVINGS_PLAN_ARN", + "PAYMENT_OPTION" + ] + }, + "DimensionValues":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"Dimension", + "documentation":"

The names of the metadata types that you can use to filter and group your results. For example, AZ returns a list of Availability Zones.

" + }, + "Values":{ + "shape":"Values", + "documentation":"

The metadata values that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" + }, + "MatchOptions":{ + "shape":"MatchOptions", + "documentation":"

The match options that you can use to filter your results. MatchOptions is only applicable for actions related to Cost Category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE.

" + } + }, + "documentation":"

The metadata that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" + }, + "DimensionValuesWithAttributes":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Value", + "documentation":"

The value of a dimension with a specific attribute.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attribute that applies to a specific Dimension.

" + } + }, + "documentation":"

The metadata of a specific type that you can use to filter and group your results. You can use GetDimensionValues to find specific values.

" + }, + "DimensionValuesWithAttributesList":{ + "type":"list", + "member":{"shape":"DimensionValuesWithAttributes"} + }, + "EC2InstanceDetails":{ + "type":"structure", + "members":{ + "Family":{ + "shape":"GenericString", + "documentation":"

The instance family of the recommended reservation.

" + }, + "InstanceType":{ + "shape":"GenericString", + "documentation":"

The type of instance that AWS recommends.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The AWS Region of the recommended reservation.

" + }, + "AvailabilityZone":{ + "shape":"GenericString", + "documentation":"

The Availability Zone of the recommended reservation.

" + }, + "Platform":{ + "shape":"GenericString", + "documentation":"

The platform of the recommended reservation. The platform is the specific combination of operating system, license model, and software on an instance.

" + }, + "Tenancy":{ + "shape":"GenericString", + "documentation":"

Whether the recommended reservation is dedicated or shared.

" + }, + "CurrentGeneration":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommendation is for a current-generation instance.

" + }, + "SizeFlexEligible":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommended reservation is size flexible.

" + } + }, + "documentation":"

Details about the Amazon EC2 instances that AWS recommends that you purchase.

" + }, + "EC2ResourceDetails":{ + "type":"structure", + "members":{ + "HourlyOnDemandRate":{ + "shape":"GenericString", + "documentation":"

Hourly public On Demand rate for the instance type.

" + }, + "InstanceType":{ + "shape":"GenericString", + "documentation":"

The type of Amazon Web Services instance.

" + }, + "Platform":{ + "shape":"GenericString", + "documentation":"

The platform of the Amazon Web Services instance. The platform is the specific combination of operating system, license model, and software on an instance.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The Amazon Web Services Region of the instance.

" + }, + "Sku":{ + "shape":"GenericString", + "documentation":"

The SKU of the product.

" + }, + "Memory":{ + "shape":"GenericString", + "documentation":"

Memory capacity of Amazon Web Services instance.

" + }, + "NetworkPerformance":{ + "shape":"GenericString", + "documentation":"

Network performance capacity of the Amazon Web Services instance.

" + }, + "Storage":{ + "shape":"GenericString", + "documentation":"

The disk storage of the Amazon Web Services instance (Not EBS storage).

" + }, + "Vcpu":{ + "shape":"GenericString", + "documentation":"

Number of VCPU cores in the Amazon Web Services instance type.

" + } + }, + "documentation":"

Details on the Amazon EC2 Resource.

" + }, + "EC2ResourceUtilization":{ + "type":"structure", + "members":{ + "MaxCpuUtilizationPercentage":{ + "shape":"GenericString", + "documentation":"

Maximum observed or expected CPU utilization of the instance.

" + }, + "MaxMemoryUtilizationPercentage":{ + "shape":"GenericString", + "documentation":"

Maximum observed or expected memory utilization of the instance.

" + }, + "MaxStorageUtilizationPercentage":{ + "shape":"GenericString", + "documentation":"

Maximum observed or expected storage utilization of the instance (does not measure EBS storage).

" + } + }, + "documentation":"

Utilization metrics of the instance.

" + }, + "EC2Specification":{ + "type":"structure", + "members":{ + "OfferingClass":{ + "shape":"OfferingClass", + "documentation":"

Whether you want a recommendation for standard or convertible reservations.

" + } + }, + "documentation":"

The Amazon EC2 hardware specifications that you want AWS to provide recommendations for.

" + }, + "ESInstanceDetails":{ + "type":"structure", + "members":{ + "InstanceClass":{ + "shape":"GenericString", + "documentation":"

The class of instance that AWS recommends.

" + }, + "InstanceSize":{ + "shape":"GenericString", + "documentation":"

The size of instance that AWS recommends.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The AWS Region of the recommended reservation.

" + }, + "CurrentGeneration":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommendation is for a current-generation instance.

" + }, + "SizeFlexEligible":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommended reservation is size flexible.

" + } + }, + "documentation":"

Details about the Amazon ES instances that AWS recommends that you purchase.

" + }, + "ElastiCacheInstanceDetails":{ + "type":"structure", + "members":{ + "Family":{ + "shape":"GenericString", + "documentation":"

The instance family of the recommended reservation.

" + }, + "NodeType":{ + "shape":"GenericString", + "documentation":"

The type of node that AWS recommends.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The AWS Region of the recommended reservation.

" + }, + "ProductDescription":{ + "shape":"GenericString", + "documentation":"

The description of the recommended reservation.

" + }, + "CurrentGeneration":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommendation is for a current generation instance.

" + }, + "SizeFlexEligible":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommended reservation is size flexible.

" + } + }, + "documentation":"

Details about the Amazon ElastiCache instances that AWS recommends that you purchase.

" + }, + "Entity":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "Estimated":{"type":"boolean"}, + "Expression":{ + "type":"structure", + "members":{ + "Or":{ + "shape":"Expressions", + "documentation":"

Return results that match either Dimension object.

" + }, + "And":{ + "shape":"Expressions", + "documentation":"

Return results that match both Dimension objects.

" + }, + "Not":{ + "shape":"Expression", + "documentation":"

Return results that don't match a Dimension object.

" + }, + "Dimensions":{ + "shape":"DimensionValues", + "documentation":"

The specific Dimension to use for Expression.

" + }, + "Tags":{ + "shape":"TagValues", + "documentation":"

The specific Tag to use for Expression.

" + }, + "CostCategories":{ + "shape":"CostCategoryValues", + "documentation":"

The filter based on CostCategory values.

" + } + }, + "documentation":"

Use Expression to filter by cost or by usage. There are two patterns:

  • Simple dimension values - You can set the dimension name and values for the filters that you plan to use. For example, you can filter for REGION==us-east-1 OR REGION==us-west-1. The Expression for that looks like this:

    { \"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", “us-west-1” ] } }

    The list of dimension values are OR'd together to retrieve cost or usage data. You can create Expression and DimensionValues objects using either with* methods or set* methods in multiple lines.

  • Compound dimension values with logical operations - You can use multiple Expression types and the logical operators AND/OR/NOT to create a list of one or more Expression objects. This allows you to filter on more advanced options. For example, you can filter on ((REGION == us-east-1 OR REGION == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer). The Expression for that looks like this:

    { \"And\": [ {\"Or\": [ {\"Dimensions\": { \"Key\": \"REGION\", \"Values\": [ \"us-east-1\", \"us-west-1\" ] }}, {\"Tags\": { \"Key\": \"TagName\", \"Values\": [\"Value1\"] } } ]}, {\"Not\": {\"Dimensions\": { \"Key\": \"USAGE_TYPE\", \"Values\": [\"DataTransfer\"] }}} ] }

    Because each Expression can have only one operator, the service returns an error if more than one is specified. The following example shows an Expression object that creates an error.

    { \"And\": [ ... ], \"DimensionValues\": { \"Dimension\": \"USAGE_TYPE\", \"Values\": [ \"DataTransfer\" ] } }

For GetRightsizingRecommendation action, a combination of OR and NOT is not supported. OR is not supported between different dimensions, or dimensions and tags. NOT operators aren't supported. Dimensions are also limited to LINKED_ACCOUNT, REGION, or RIGHTSIZING_TYPE.

" + }, + "Expressions":{ + "type":"list", + "member":{"shape":"Expression"} + }, + "ForecastResult":{ + "type":"structure", + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The period of time that the forecast covers.

" + }, + "MeanValue":{ + "shape":"GenericString", + "documentation":"

The mean value of the forecast.

" + }, + "PredictionIntervalLowerBound":{ + "shape":"GenericString", + "documentation":"

The lower limit for the prediction interval.

" + }, + "PredictionIntervalUpperBound":{ + "shape":"GenericString", + "documentation":"

The upper limit for the prediction interval.

" + } + }, + "documentation":"

The forecast created for your query.

" + }, + "ForecastResultsByTime":{ + "type":"list", + "member":{"shape":"ForecastResult"} + }, + "GenericBoolean":{"type":"boolean"}, + "GenericString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "GetCostAndUsageRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

Sets the start and end dates for retrieving AWS costs. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

Sets the AWS cost granularity to MONTHLY or DAILY, or HOURLY. If Granularity isn't set, the response object doesn't include the Granularity, either MONTHLY or DAILY, or HOURLY.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters AWS costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated with that account's usage of that service. You can nest Expression objects to define any combination of dimension filters. For more information, see Expression.

" + }, + "Metrics":{ + "shape":"MetricNames", + "documentation":"

Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?.

Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

If you return the UsageQuantity metric, the service aggregates all usage numbers without taking into account the units. For example, if you aggregate usageQuantity across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups.

Metrics is required for GetCostAndUsage requests.

" + }, + "GroupBy":{ + "shape":"GroupDefinitions", + "documentation":"

You can group AWS costs using up to two different groups, either dimensions, tag keys, or both.

When you group by tag key, you get all tag values, including empty strings.

Valid values are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TAGS, TENANCY, RECORD_TYPE, and USAGE_TYPE.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetCostAndUsageResponse":{ + "type":"structure", + "members":{ + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "GroupDefinitions":{ + "shape":"GroupDefinitions", + "documentation":"

The groups that are specified by the Filter or GroupBy parameters in the request.

" + }, + "ResultsByTime":{ + "shape":"ResultsByTime", + "documentation":"

The time period that is covered by the results in the response.

" + } + } + }, + "GetCostAndUsageWithResourcesRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

Sets the start and end dates for retrieving Amazon Web Services costs. The range must be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

Sets the AWS cost granularity to MONTHLY, DAILY, or HOURLY. If Granularity isn't set, the response object doesn't include the Granularity, MONTHLY, DAILY, or HOURLY.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT and get the costs that are associated with that account's usage of that service. You can nest Expression objects to define any combination of dimension filters. For more information, see Expression.

The GetCostAndUsageWithResources operation requires that you either group by or filter by a ResourceId.

" + }, + "Metrics":{ + "shape":"MetricNames", + "documentation":"

Which metrics are returned in the query. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?.

Valid values are AmortizedCost, BlendedCost, NetAmortizedCost, NetUnblendedCost, NormalizedUsageAmount, UnblendedCost, and UsageQuantity.

If you return the UsageQuantity metric, the service aggregates all usage numbers without taking the units into account. For example, if you aggregate usageQuantity across all of Amazon EC2, the results aren't meaningful because Amazon EC2 compute hours and data transfer are measured in different units (for example, hours vs. GB). To get more meaningful UsageQuantity metrics, filter by UsageType or UsageTypeGroups.

Metrics is required for GetCostAndUsageWithResources requests.

" + }, + "GroupBy":{ + "shape":"GroupDefinitions", + "documentation":"

You can group Amazon Web Services costs using up to two different groups: either dimensions, tag keys, or both.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetCostAndUsageWithResourcesResponse":{ + "type":"structure", + "members":{ + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "GroupDefinitions":{ + "shape":"GroupDefinitions", + "documentation":"

The groups that are specified by the Filter or GroupBy parameters in the request.

" + }, + "ResultsByTime":{ + "shape":"ResultsByTime", + "documentation":"

The time period that is covered by the results in the response.

" + } + } + }, + "GetCostForecastRequest":{ + "type":"structure", + "required":[ + "TimePeriod", + "Metric", + "Granularity" + ], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The period of time that you want the forecast to cover.

" + }, + "Metric":{ + "shape":"Metric", + "documentation":"

Which metric Cost Explorer uses to create your forecast. For more information about blended and unblended rates, see Why does the \"blended\" annotation appear on some line items in my bill?.

Valid values for a GetCostForecast call are the following:

  • AMORTIZED_COST

  • BLENDED_COST

  • NET_AMORTIZED_COST

  • NET_UNBLENDED_COST

  • UNBLENDED_COST

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

The GetCostForecast operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

" + }, + "PredictionIntervalLevel":{ + "shape":"PredictionIntervalLevel", + "documentation":"

Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals.

" + } + } + }, + "GetCostForecastResponse":{ + "type":"structure", + "members":{ + "Total":{ + "shape":"MetricValue", + "documentation":"

How much you are forecasted to spend over the forecast period, in USD.

" + }, + "ForecastResultsByTime":{ + "shape":"ForecastResultsByTime", + "documentation":"

The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, this is a list of months.

" + } + } + }, + "GetDimensionValuesRequest":{ + "type":"structure", + "required":[ + "TimePeriod", + "Dimension" + ], + "members":{ + "SearchString":{ + "shape":"SearchString", + "documentation":"

The value that you want to search the filter values for.

" + }, + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "Dimension":{ + "shape":"Dimension", + "documentation":"

The name of the dimension. Each Dimension is available for a different Context. For more information, see Context.

" + }, + "Context":{ + "shape":"Context", + "documentation":"

The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. The default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values can be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE, the resulting dimension values can be used in the GetCostAndUsage operation.

If you set the context to COST_AND_USAGE, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

  • LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

  • OPERATION - The action performed. Examples include RunInstance and CreateBucket.

  • PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.

  • SERVICE - The AWS service such as Amazon DynamoDB.

  • USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation includes a unit attribute. Examples include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.

  • RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

  • RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

  • REGION - The AWS Region.

  • SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

  • TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

  • TENANCY - The tenancy of a resource. Examples are shared or dedicated.

If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

  • PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

  • REGION - The AWS Region.

  • INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetDimensionValuesResponse":{ + "type":"structure", + "required":[ + "DimensionValues", + "ReturnSize", + "TotalSize" + ], + "members":{ + "DimensionValues":{ + "shape":"DimensionValuesWithAttributesList", + "documentation":"

The filters that you used to filter your request. Some dimensions are available only for a specific context.

If you set the context to COST_AND_USAGE, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are Aurora or MySQL.

  • INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

  • LEGAL_ENTITY_NAME - The name of the organization that sells you AWS services, such as Amazon Web Services.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • OPERATING_SYSTEM - The operating system. Examples are Windows or Linux.

  • OPERATION - The action performed. Examples include RunInstance and CreateBucket.

  • PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

  • PURCHASE_TYPE - The reservation type of the purchase to which this usage is related. Examples include On-Demand Instances and Standard Reserved Instances.

  • SERVICE - The AWS service such as Amazon DynamoDB.

  • USAGE_TYPE - The type of usage. An example is DataTransfer-In-Bytes. The response for the GetDimensionValues operation includes a unit attribute. Examples include GB and Hrs.

  • USAGE_TYPE_GROUP - The grouping of common usage types. An example is Amazon EC2: CloudWatch – Alarms. The response for this operation includes a unit attribute.

  • RECORD_TYPE - The different types of charges such as RI fees, usage costs, tax refunds, and credits.

  • RESOURCE_ID - The unique identifier of the resource. ResourceId is an opt-in feature only available for last 14 days for EC2-Compute Service.

If you set the context to RESERVATIONS, you can use the following dimensions for searching:

  • AZ - The Availability Zone. An example is us-east-1a.

  • CACHE_ENGINE - The Amazon ElastiCache operating system. Examples are Windows or Linux.

  • DEPLOYMENT_OPTION - The scope of Amazon Relational Database Service deployments. Valid values are SingleAZ and MultiAZ.

  • INSTANCE_TYPE - The type of Amazon EC2 instance. An example is m4.xlarge.

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • PLATFORM - The Amazon EC2 operating system. Examples are Windows or Linux.

  • REGION - The AWS Region.

  • SCOPE (Utilization only) - The scope of a Reserved Instance (RI). Values are regional or a single Availability Zone.

  • TAG (Coverage only) - The tags that are associated with a Reserved Instance (RI).

  • TENANCY - The tenancy of a resource. Examples are shared or dedicated.

If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

  • SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance or Compute)

  • PAYMENT_OPTION - Payment option for the given Savings Plans (for example, All Upfront)

  • REGION - The AWS Region.

  • INSTANCE_TYPE_FAMILY - The family of instances (For example, m5)

  • LINKED_ACCOUNT - The description in the attribute map that includes the full name of the member account. The value field contains the AWS ID of the member account.

  • SAVINGS_PLAN_ARN - The unique identifier for your Savings Plan

" + }, + "ReturnSize":{ + "shape":"PageSize", + "documentation":"

The number of results that AWS returned at one time.

" + }, + "TotalSize":{ + "shape":"PageSize", + "documentation":"

The total number of search results.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetReservationCoverageRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The start and end dates of the period that you want to retrieve data about reservation coverage for. You can retrieve data for a maximum of 13 months: the last 12 months and the current month. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "GroupBy":{ + "shape":"GroupDefinitions", + "documentation":"

You can group the data by the following attributes:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • TENANCY

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

The granularity of the AWS cost data for the reservation. Valid values are MONTHLY and DAILY.

If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY.

The GetReservationCoverage operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters utilization data by dimensions. You can filter by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DATABASE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • TAG

  • TENANCY

GetReservationCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. You can nest only one level deep. If there are multiple values for a dimension, they are OR'd together.

If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

Cost category is also supported.

" + }, + "Metrics":{ + "shape":"MetricNames", + "documentation":"

The measurement that you want your reservation coverage reported in.

Valid values are Hour, Unit, and Cost. You can use multiple values in a request.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + }, + "documentation":"

You can use the following request parameters to query for how much of your instance usage a reservation covered.

" + }, + "GetReservationCoverageResponse":{ + "type":"structure", + "required":["CoveragesByTime"], + "members":{ + "CoveragesByTime":{ + "shape":"CoveragesByTime", + "documentation":"

The amount of time that your reservations covered.

" + }, + "Total":{ + "shape":"Coverage", + "documentation":"

The total amount of instance usage that a reservation covered.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetReservationPurchaseRecommendationRequest":{ + "type":"structure", + "required":["Service"], + "members":{ + "AccountId":{ + "shape":"GenericString", + "documentation":"

The account ID that is associated with the recommendation.

" + }, + "Service":{ + "shape":"GenericString", + "documentation":"

The specific service that you want recommendations for.

" + }, + "AccountScope":{ + "shape":"AccountScope", + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + }, + "LookbackPeriodInDays":{ + "shape":"LookbackPeriodInDays", + "documentation":"

The number of previous days that you want AWS to consider when it calculates your recommendations.

" + }, + "TermInYears":{ + "shape":"TermInYears", + "documentation":"

The reservation term that you want recommendations for.

" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The reservation purchase option that you want recommendations for.

" + }, + "ServiceSpecification":{ + "shape":"ServiceSpecification", + "documentation":"

The hardware specifications for the service instances that you want recommendations for, such as standard or convertible Amazon EC2 instances.

" + }, + "PageSize":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of recommendations that you want returned in a single response object.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" + } + } + }, + "GetReservationPurchaseRecommendationResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"ReservationPurchaseRecommendationMetadata", + "documentation":"

Information about this specific recommendation call, such as the time stamp for when Cost Explorer generated this recommendation.

" + }, + "Recommendations":{ + "shape":"ReservationPurchaseRecommendations", + "documentation":"

Recommendations for reservations to purchase.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The pagination token for the next set of retrievable results.

" + } + } + }, + "GetReservationUtilizationRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

Sets the start and end dates for retrieving RI utilization. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "GroupBy":{ + "shape":"GroupDefinitions", + "documentation":"

Groups only by SUBSCRIPTION_ID. Metadata is included.

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

If GroupBy is set, Granularity can't be set. If Granularity isn't set, the response object doesn't include Granularity, either MONTHLY or DAILY. If both GroupBy and Granularity aren't set, GetReservationUtilization defaults to DAILY.

The GetReservationUtilization operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters utilization data by dimensions. You can filter by the following dimensions:

  • AZ

  • CACHE_ENGINE

  • DEPLOYMENT_OPTION

  • INSTANCE_TYPE

  • LINKED_ACCOUNT

  • OPERATING_SYSTEM

  • PLATFORM

  • REGION

  • SERVICE

  • SCOPE

  • TENANCY

GetReservationUtilization uses the same Expression object as the other operations, but only AND is supported among each dimension, and nesting is supported up to only one level deep. If there are multiple values for a dimension, they are OR'd together.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetReservationUtilizationResponse":{ + "type":"structure", + "required":["UtilizationsByTime"], + "members":{ + "UtilizationsByTime":{ + "shape":"UtilizationsByTime", + "documentation":"

The amount of time that you used your RIs.

" + }, + "Total":{ + "shape":"ReservationAggregates", + "documentation":"

The total amount of time that you used your RIs.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetRightsizingRecommendationRequest":{ + "type":"structure", + "required":["Service"], + "members":{ + "Filter":{"shape":"Expression"}, + "Configuration":{ + "shape":"RightsizingRecommendationConfiguration", + "documentation":"

Enables you to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings associated with recommendations with consideration of existing Savings Plans or RI benefits, or niether.

" + }, + "Service":{ + "shape":"GenericString", + "documentation":"

The specific service that you want recommendations for. The only valid value for GetRightsizingRecommendation is \"AmazonEC2\".

" + }, + "PageSize":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of recommendations that you want returned in a single response object.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The pagination token that indicates the next set of results that you want to retrieve.

" + } + } + }, + "GetRightsizingRecommendationResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"RightsizingRecommendationMetadata", + "documentation":"

Information regarding this specific recommendation set.

" + }, + "Summary":{ + "shape":"RightsizingRecommendationSummary", + "documentation":"

Summary of this recommendation set.

" + }, + "RightsizingRecommendations":{ + "shape":"RightsizingRecommendationList", + "documentation":"

Recommendations to rightsize resources.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results.

" + }, + "Configuration":{ + "shape":"RightsizingRecommendationConfiguration", + "documentation":"

Enables you to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings associated with recommendations with consideration of existing Savings Plans or RI benefits, or niether.

" + } + } + }, + "GetSavingsPlansCoverageRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

" + }, + "GroupBy":{ + "shape":"GroupDefinitions", + "documentation":"

You can group the data using the attributes INSTANCE_FAMILY, REGION, or SERVICE.

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

The granularity of the Amazon Web Services cost data for your Savings Plans. Granularity can't be set if GroupBy is set.

The GetSavingsPlansCoverage operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

  • LINKED_ACCOUNT

  • REGION

  • SERVICE

  • INSTANCE_FAMILY

GetSavingsPlansCoverage uses the same Expression object as the other operations, but only AND is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.

Cost category is also supported.

" + }, + "Metrics":{ + "shape":"MetricNames", + "documentation":"

The measurement that you want your Savings Plans coverage reported in. The only valid value is SpendCoveredBySavingsPlans.

" + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to be returned in a response. The default is 20, with a minimum value of 1.

", + "box":true + } + } + }, + "GetSavingsPlansCoverageResponse":{ + "type":"structure", + "required":["SavingsPlansCoverages"], + "members":{ + "SavingsPlansCoverages":{ + "shape":"SavingsPlansCoverages", + "documentation":"

The amount of spend that your Savings Plans covered.

" + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetSavingsPlansPurchaseRecommendationRequest":{ + "type":"structure", + "required":[ + "SavingsPlansType", + "TermInYears", + "PaymentOption", + "LookbackPeriodInDays" + ], + "members":{ + "SavingsPlansType":{ + "shape":"SupportedSavingsPlansType", + "documentation":"

The Savings Plans recommendation type requested.

" + }, + "TermInYears":{ + "shape":"TermInYears", + "documentation":"

The savings plan recommendation term used to generated these recommendations.

" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option used to generate these recommendations.

" + }, + "AccountScope":{ + "shape":"AccountScope", + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "PageSize":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of recommendations that you want returned in a single response object.

" + }, + "LookbackPeriodInDays":{ + "shape":"LookbackPeriodInDays", + "documentation":"

The lookback period used to generate the recommendation.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

You can filter your recommendations by Account ID with the LINKED_ACCOUNT dimension. To filter your recommendations by Account ID, specify Key as LINKED_ACCOUNT and Value as the comma-separated Acount ID(s) for which you want to see Savings Plans purchase recommendations.

For GetSavingsPlansPurchaseRecommendation, the Filter does not include CostCategories or Tags. It only includes Dimensions. With Dimensions, Key must be LINKED_ACCOUNT and Value can be a single Account ID or multiple comma-separated Account IDs for which you want to see Savings Plans Purchase Recommendations. AND and OR operators are not supported.

" + } + } + }, + "GetSavingsPlansPurchaseRecommendationResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"SavingsPlansPurchaseRecommendationMetadata", + "documentation":"

Information regarding this specific recommendation set.

" + }, + "SavingsPlansPurchaseRecommendation":{ + "shape":"SavingsPlansPurchaseRecommendation", + "documentation":"

Contains your request parameters, Savings Plan Recommendations Summary, and Details.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetSavingsPlansUtilizationDetailsRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

  • LINKED_ACCOUNT

  • SAVINGS_PLAN_ARN

  • REGION

  • PAYMENT_OPTION

  • INSTANCE_TYPE_FAMILY

GetSavingsPlansUtilizationDetails uses the same Expression object as the other operations, but only AND is supported among each dimension.

" + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to be returned in a response. The default is 20, with a minimum value of 1.

", + "box":true + } + } + }, + "GetSavingsPlansUtilizationDetailsResponse":{ + "type":"structure", + "required":[ + "SavingsPlansUtilizationDetails", + "TimePeriod" + ], + "members":{ + "SavingsPlansUtilizationDetails":{ + "shape":"SavingsPlansUtilizationDetails", + "documentation":"

Retrieves a single daily or monthly Savings Plans utilization rate and details for your account.

" + }, + "Total":{ + "shape":"SavingsPlansUtilizationAggregates", + "documentation":"

The total Savings Plans utilization, regardless of time period.

" + }, + "TimePeriod":{"shape":"DateInterval"}, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetSavingsPlansUtilizationRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The time period that you want the usage and costs for. The Start date must be within 13 months. The End date must be after the Start date, and before the current date. Future dates can't be used as an End date.

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

The granularity of the Amazon Web Services utillization data for your Savings Plans.

The GetSavingsPlansUtilization operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

  • LINKED_ACCOUNT

  • SAVINGS_PLAN_ARN

  • SAVINGS_PLANS_TYPE

  • REGION

  • PAYMENT_OPTION

  • INSTANCE_TYPE_FAMILY

GetSavingsPlansUtilization uses the same Expression object as the other operations, but only AND is supported among each dimension.

" + } + } + }, + "GetSavingsPlansUtilizationResponse":{ + "type":"structure", + "required":["Total"], + "members":{ + "SavingsPlansUtilizationsByTime":{ + "shape":"SavingsPlansUtilizationsByTime", + "documentation":"

The amount of cost/commitment you used your Savings Plans. This allows you to specify date ranges.

" + }, + "Total":{ + "shape":"SavingsPlansUtilizationAggregates", + "documentation":"

The total amount of cost/commitment that you used your Savings Plans, regardless of date ranges.

" + } + } + }, + "GetTagsRequest":{ + "type":"structure", + "required":["TimePeriod"], + "members":{ + "SearchString":{ + "shape":"SearchString", + "documentation":"

The value that you want to search for.

" + }, + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The start and end dates for retrieving the dimension values. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "TagKey":{ + "shape":"TagKey", + "documentation":"

The key of the tag that you want to return values for.

" + }, + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "GetTagsResponse":{ + "type":"structure", + "required":[ + "Tags", + "ReturnSize", + "TotalSize" + ], + "members":{ + "NextPageToken":{ + "shape":"NextPageToken", + "documentation":"

The token for the next set of retrievable results. AWS provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags that match your request.

" + }, + "ReturnSize":{ + "shape":"PageSize", + "documentation":"

The number of query results that AWS returns at a time.

" + }, + "TotalSize":{ + "shape":"PageSize", + "documentation":"

The total number of query results.

" + } + } + }, + "GetUsageForecastRequest":{ + "type":"structure", + "required":[ + "TimePeriod", + "Metric", + "Granularity" + ], + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The start and end dates of the period that you want to retrieve usage forecast for. The start date is inclusive, but the end date is exclusive. For example, if start is 2017-01-01 and end is 2017-05-01, then the cost and usage data is retrieved from 2017-01-01 up to and including 2017-04-30 but not including 2017-05-01.

" + }, + "Metric":{ + "shape":"Metric", + "documentation":"

Which metric Cost Explorer uses to create your forecast.

Valid values for a GetUsageForecast call are the following:

  • USAGE_QUANTITY

  • NORMALIZED_USAGE_AMOUNT

" + }, + "Granularity":{ + "shape":"Granularity", + "documentation":"

How granular you want the forecast to be. You can get 3 months of DAILY forecasts or 12 months of MONTHLY forecasts.

The GetUsageForecast operation supports only DAILY and MONTHLY granularities.

" + }, + "Filter":{ + "shape":"Expression", + "documentation":"

The filters that you want to use to filter your forecast. Cost Explorer API supports all of the Cost Explorer filters.

" + }, + "PredictionIntervalLevel":{ + "shape":"PredictionIntervalLevel", + "documentation":"

Cost Explorer always returns the mean forecast as a single point. You can request a prediction interval around the mean by specifying a confidence level. The higher the confidence level, the more confident Cost Explorer is about the actual value falling in the prediction interval. Higher confidence levels result in wider prediction intervals.

" + } + } + }, + "GetUsageForecastResponse":{ + "type":"structure", + "members":{ + "Total":{ + "shape":"MetricValue", + "documentation":"

How much you're forecasted to use over the forecast period.

" + }, + "ForecastResultsByTime":{ + "shape":"ForecastResultsByTime", + "documentation":"

The forecasts for your query, in order. For DAILY forecasts, this is a list of days. For MONTHLY forecasts, this is a list of months.

" + } + } + }, + "Granularity":{ + "type":"string", + "enum":[ + "DAILY", + "MONTHLY", + "HOURLY" + ] + }, + "Group":{ + "type":"structure", + "members":{ + "Keys":{ + "shape":"Keys", + "documentation":"

The keys that are included in this group.

" + }, + "Metrics":{ + "shape":"Metrics", + "documentation":"

The metrics that are included in this group.

" + } + }, + "documentation":"

One level of grouped data in the results.

" + }, + "GroupDefinition":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"GroupDefinitionType", + "documentation":"

The string that represents the type of group.

" + }, + "Key":{ + "shape":"GroupDefinitionKey", + "documentation":"

The string that represents a key for a specified group.

" + } + }, + "documentation":"

Represents a group when you specify a group by criteria or in the response to a query with a specific grouping.

" + }, + "GroupDefinitionKey":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "GroupDefinitionType":{ + "type":"string", + "enum":[ + "DIMENSION", + "TAG", + "COST_CATEGORY" + ] + }, + "GroupDefinitions":{ + "type":"list", + "member":{"shape":"GroupDefinition"} + }, + "Groups":{ + "type":"list", + "member":{"shape":"Group"} + }, + "InstanceDetails":{ + "type":"structure", + "members":{ + "EC2InstanceDetails":{ + "shape":"EC2InstanceDetails", + "documentation":"

The Amazon EC2 instances that AWS recommends that you purchase.

" + }, + "RDSInstanceDetails":{ + "shape":"RDSInstanceDetails", + "documentation":"

The Amazon RDS instances that AWS recommends that you purchase.

" + }, + "RedshiftInstanceDetails":{ + "shape":"RedshiftInstanceDetails", + "documentation":"

The Amazon Redshift instances that AWS recommends that you purchase.

" + }, + "ElastiCacheInstanceDetails":{ + "shape":"ElastiCacheInstanceDetails", + "documentation":"

The ElastiCache instances that AWS recommends that you purchase.

" + }, + "ESInstanceDetails":{ + "shape":"ESInstanceDetails", + "documentation":"

The Amazon ES instances that AWS recommends that you purchase.

" + } + }, + "documentation":"

Details about the instances that AWS recommends that you purchase.

" + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The pagination token is invalid. Try again without a pagination token.

", + "exception":true + }, + "Key":{"type":"string"}, + "Keys":{ + "type":"list", + "member":{"shape":"Key"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You made too many calls in a short period of time. Try again later.

", + "exception":true + }, + "ListCostCategoryDefinitionsRequest":{ + "type":"structure", + "members":{ + "EffectiveOn":{ + "shape":"ZonedDateTime", + "documentation":"

The date when the Cost Category was effective.

" + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + }, + "MaxResults":{ + "shape":"CostCategoryMaxResults", + "documentation":"

The number of entries a paginated response contains.

", + "box":true + } + } + }, + "ListCostCategoryDefinitionsResponse":{ + "type":"structure", + "members":{ + "CostCategoryReferences":{ + "shape":"CostCategoryReferencesList", + "documentation":"

A reference to a Cost Category containing enough information to identify the Cost Category.

" + }, + "NextToken":{ + "shape":"NextPageToken", + "documentation":"

The token to retrieve the next set of results. Amazon Web Services provides the token when the response from a previous call has more results than the maximum page size.

" + } + } + }, + "LookbackPeriodInDays":{ + "type":"string", + "enum":[ + "SEVEN_DAYS", + "THIRTY_DAYS", + "SIXTY_DAYS" + ] + }, + "MatchOption":{ + "type":"string", + "enum":[ + "EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS", + "CASE_SENSITIVE", + "CASE_INSENSITIVE" + ] + }, + "MatchOptions":{ + "type":"list", + "member":{"shape":"MatchOption"} + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "Metric":{ + "type":"string", + "enum":[ + "BLENDED_COST", + "UNBLENDED_COST", + "AMORTIZED_COST", + "NET_UNBLENDED_COST", + "NET_AMORTIZED_COST", + "USAGE_QUANTITY", + "NORMALIZED_USAGE_AMOUNT" + ] + }, + "MetricAmount":{"type":"string"}, + "MetricName":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "MetricNames":{ + "type":"list", + "member":{"shape":"MetricName"} + }, + "MetricUnit":{"type":"string"}, + "MetricValue":{ + "type":"structure", + "members":{ + "Amount":{ + "shape":"MetricAmount", + "documentation":"

The actual number that represents the metric.

" + }, + "Unit":{ + "shape":"MetricUnit", + "documentation":"

The unit that the metric is given in.

" + } + }, + "documentation":"

The aggregated value for a metric.

" + }, + "Metrics":{ + "type":"map", + "key":{"shape":"MetricName"}, + "value":{"shape":"MetricValue"} + }, + "ModifyRecommendationDetail":{ + "type":"structure", + "members":{ + "TargetInstances":{ + "shape":"TargetInstancesList", + "documentation":"

Identifies whether this instance type is the Amazon Web Services default recommendation.

" + } + }, + "documentation":"

Details on the modification recommendation.

" + }, + "NetRISavings":{"type":"string"}, + "NextPageToken":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"[\\S\\s]*" + }, + "NonNegativeInteger":{ + "type":"integer", + "min":0 + }, + "OfferingClass":{ + "type":"string", + "enum":[ + "STANDARD", + "CONVERTIBLE" + ] + }, + "OnDemandCost":{"type":"string"}, + "OnDemandCostOfRIHoursUsed":{"type":"string"}, + "OnDemandHours":{"type":"string"}, + "OnDemandNormalizedUnits":{"type":"string"}, + "PageSize":{"type":"integer"}, + "PaymentOption":{ + "type":"string", + "enum":[ + "NO_UPFRONT", + "PARTIAL_UPFRONT", + "ALL_UPFRONT", + "LIGHT_UTILIZATION", + "MEDIUM_UTILIZATION", + "HEAVY_UTILIZATION" + ] + }, + "PredictionIntervalLevel":{ + "type":"integer", + "max":99, + "min":51 + }, + "PurchasedHours":{"type":"string"}, + "PurchasedUnits":{"type":"string"}, + "RDSInstanceDetails":{ + "type":"structure", + "members":{ + "Family":{ + "shape":"GenericString", + "documentation":"

The instance family of the recommended reservation.

" + }, + "InstanceType":{ + "shape":"GenericString", + "documentation":"

The type of instance that AWS recommends.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The AWS Region of the recommended reservation.

" + }, + "DatabaseEngine":{ + "shape":"GenericString", + "documentation":"

The database engine that the recommended reservation supports.

" + }, + "DatabaseEdition":{ + "shape":"GenericString", + "documentation":"

The database edition that the recommended reservation supports.

" + }, + "DeploymentOption":{ + "shape":"GenericString", + "documentation":"

Whether the recommendation is for a reservation in a single Availability Zone or a reservation with a backup in a second Availability Zone.

" + }, + "LicenseModel":{ + "shape":"GenericString", + "documentation":"

The license model that the recommended reservation supports.

" + }, + "CurrentGeneration":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommendation is for a current-generation instance.

" + }, + "SizeFlexEligible":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommended reservation is size flexible.

" + } + }, + "documentation":"

Details about the Amazon RDS instances that AWS recommends that you purchase.

" + }, + "RecommendationTarget":{ + "type":"string", + "enum":[ + "SAME_INSTANCE_FAMILY", + "CROSS_INSTANCE_FAMILY" + ] + }, + "RedshiftInstanceDetails":{ + "type":"structure", + "members":{ + "Family":{ + "shape":"GenericString", + "documentation":"

The instance family of the recommended reservation.

" + }, + "NodeType":{ + "shape":"GenericString", + "documentation":"

The type of node that AWS recommends.

" + }, + "Region":{ + "shape":"GenericString", + "documentation":"

The AWS Region of the recommended reservation.

" + }, + "CurrentGeneration":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommendation is for a current-generation instance.

" + }, + "SizeFlexEligible":{ + "shape":"GenericBoolean", + "documentation":"

Whether the recommended reservation is size flexible.

" + } + }, + "documentation":"

Details about the Amazon Redshift instances that AWS recommends that you purchase.

" + }, + "RequestChangedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Your request parameters changed between pages. Try again with the old parameters or without a pagination token.

", + "exception":true + }, + "ReservationAggregates":{ + "type":"structure", + "members":{ + "UtilizationPercentage":{ + "shape":"UtilizationPercentage", + "documentation":"

The percentage of reservation time that you used.

" + }, + "UtilizationPercentageInUnits":{ + "shape":"UtilizationPercentageInUnits", + "documentation":"

The percentage of Amazon EC2 reservation time that you used, converted to normalized units. Normalized units are available only for Amazon EC2 usage after November 11, 2017.

" + }, + "PurchasedHours":{ + "shape":"PurchasedHours", + "documentation":"

How many reservation hours that you purchased.

" + }, + "PurchasedUnits":{ + "shape":"PurchasedUnits", + "documentation":"

How many Amazon EC2 reservation hours that you purchased, converted to normalized units. Normalized units are available only for Amazon EC2 usage after November 11, 2017.

" + }, + "TotalActualHours":{ + "shape":"TotalActualHours", + "documentation":"

The total number of reservation hours that you used.

" + }, + "TotalActualUnits":{ + "shape":"TotalActualUnits", + "documentation":"

The total number of Amazon EC2 reservation hours that you used, converted to normalized units. Normalized units are available only for Amazon EC2 usage after November 11, 2017.

" + }, + "UnusedHours":{ + "shape":"UnusedHours", + "documentation":"

The number of reservation hours that you didn't use.

" + }, + "UnusedUnits":{ + "shape":"UnusedUnits", + "documentation":"

The number of Amazon EC2 reservation hours that you didn't use, converted to normalized units. Normalized units are available only for Amazon EC2 usage after November 11, 2017.

" + }, + "OnDemandCostOfRIHoursUsed":{ + "shape":"OnDemandCostOfRIHoursUsed", + "documentation":"

How much your reservation would cost if charged On-Demand rates.

" + }, + "NetRISavings":{ + "shape":"NetRISavings", + "documentation":"

How much you saved due to purchasing and utilizing reservation. AWS calculates this by subtracting TotalAmortizedFee from OnDemandCostOfRIHoursUsed.

" + }, + "TotalPotentialRISavings":{ + "shape":"TotalPotentialRISavings", + "documentation":"

How much you could save if you use your entire reservation.

" + }, + "AmortizedUpfrontFee":{ + "shape":"AmortizedUpfrontFee", + "documentation":"

The upfront cost of your reservation, amortized over the reservation period.

" + }, + "AmortizedRecurringFee":{ + "shape":"AmortizedRecurringFee", + "documentation":"

The monthly cost of your reservation, amortized over the reservation period.

" + }, + "TotalAmortizedFee":{ + "shape":"TotalAmortizedFee", + "documentation":"

The total cost of your reservation, amortized over the reservation period.

" + } + }, + "documentation":"

The aggregated numbers for your reservation usage.

" + }, + "ReservationCoverageGroup":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attributes for this group of reservations.

" + }, + "Coverage":{ + "shape":"Coverage", + "documentation":"

How much instance usage this group of reservations covered.

" + } + }, + "documentation":"

A group of reservations that share a set of attributes.

" + }, + "ReservationCoverageGroups":{ + "type":"list", + "member":{"shape":"ReservationCoverageGroup"} + }, + "ReservationGroupKey":{"type":"string"}, + "ReservationGroupValue":{"type":"string"}, + "ReservationPurchaseRecommendation":{ + "type":"structure", + "members":{ + "AccountScope":{ + "shape":"AccountScope", + "documentation":"

The account scope that AWS recommends that you purchase this instance for. For example, you can purchase this reservation for an entire organization in AWS Organizations.

" + }, + "LookbackPeriodInDays":{ + "shape":"LookbackPeriodInDays", + "documentation":"

How many days of previous usage that AWS considers when making this recommendation.

" + }, + "TermInYears":{ + "shape":"TermInYears", + "documentation":"

The term of the reservation that you want recommendations for, in years.

" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option for the reservation. For example, AllUpfront or NoUpfront.

" + }, + "ServiceSpecification":{ + "shape":"ServiceSpecification", + "documentation":"

Hardware specifications for the service that you want recommendations for.

" + }, + "RecommendationDetails":{ + "shape":"ReservationPurchaseRecommendationDetails", + "documentation":"

Details about the recommended purchases.

" + }, + "RecommendationSummary":{ + "shape":"ReservationPurchaseRecommendationSummary", + "documentation":"

A summary about the recommended purchase.

" + } + }, + "documentation":"

A specific reservation that AWS recommends for purchase.

" + }, + "ReservationPurchaseRecommendationDetail":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"GenericString", + "documentation":"

The account that this RI recommendation is for.

" + }, + "InstanceDetails":{ + "shape":"InstanceDetails", + "documentation":"

Details about the instances that AWS recommends that you purchase.

" + }, + "RecommendedNumberOfInstancesToPurchase":{ + "shape":"GenericString", + "documentation":"

The number of instances that AWS recommends that you purchase.

" + }, + "RecommendedNormalizedUnitsToPurchase":{ + "shape":"GenericString", + "documentation":"

The number of normalized units that AWS recommends that you purchase.

" + }, + "MinimumNumberOfInstancesUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The minimum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "MinimumNormalizedUnitsUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The minimum number of normalized units that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "MaximumNumberOfInstancesUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The maximum number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "MaximumNormalizedUnitsUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The maximum number of normalized units that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "AverageNumberOfInstancesUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The average number of instances that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "AverageNormalizedUnitsUsedPerHour":{ + "shape":"GenericString", + "documentation":"

The average number of normalized units that you used in an hour during the historical period. AWS uses this to calculate your recommended reservation purchases.

" + }, + "AverageUtilization":{ + "shape":"GenericString", + "documentation":"

The average utilization of your instances. AWS uses this to calculate your recommended reservation purchases.

" + }, + "EstimatedBreakEvenInMonths":{ + "shape":"GenericString", + "documentation":"

How long AWS estimates that it takes for this instance to start saving you money, in months.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code that AWS used to calculate the costs for this instance.

" + }, + "EstimatedMonthlySavingsAmount":{ + "shape":"GenericString", + "documentation":"

How much AWS estimates that this specific recommendation could save you in a month.

" + }, + "EstimatedMonthlySavingsPercentage":{ + "shape":"GenericString", + "documentation":"

How much AWS estimates that this specific recommendation could save you in a month, as a percentage of your overall costs.

" + }, + "EstimatedMonthlyOnDemandCost":{ + "shape":"GenericString", + "documentation":"

How much AWS estimates that you spend on On-Demand Instances in a month.

" + }, + "EstimatedReservationCostForLookbackPeriod":{ + "shape":"GenericString", + "documentation":"

How much AWS estimates that you would have spent for all usage during the specified historical period if you had a reservation.

" + }, + "UpfrontCost":{ + "shape":"GenericString", + "documentation":"

How much purchasing this instance costs you upfront.

" + }, + "RecurringStandardMonthlyCost":{ + "shape":"GenericString", + "documentation":"

How much purchasing this instance costs you on a monthly basis.

" + } + }, + "documentation":"

Details about your recommended reservation purchase.

" + }, + "ReservationPurchaseRecommendationDetails":{ + "type":"list", + "member":{"shape":"ReservationPurchaseRecommendationDetail"} + }, + "ReservationPurchaseRecommendationMetadata":{ + "type":"structure", + "members":{ + "RecommendationId":{ + "shape":"GenericString", + "documentation":"

The ID for this specific recommendation.

" + }, + "GenerationTimestamp":{ + "shape":"GenericString", + "documentation":"

The timestamp for when AWS made this recommendation.

" + } + }, + "documentation":"

Information about this specific recommendation, such as the timestamp for when AWS made a specific recommendation.

" + }, + "ReservationPurchaseRecommendationSummary":{ + "type":"structure", + "members":{ + "TotalEstimatedMonthlySavingsAmount":{ + "shape":"GenericString", + "documentation":"

The total amount that AWS estimates that this recommendation could save you in a month.

" + }, + "TotalEstimatedMonthlySavingsPercentage":{ + "shape":"GenericString", + "documentation":"

The total amount that AWS estimates that this recommendation could save you in a month, as a percentage of your costs.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code used for this recommendation.

" + } + }, + "documentation":"

A summary about this recommendation, such as the currency code, the amount that AWS estimates that you could save, and the total amount of reservation to purchase.

" + }, + "ReservationPurchaseRecommendations":{ + "type":"list", + "member":{"shape":"ReservationPurchaseRecommendation"} + }, + "ReservationUtilizationGroup":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"ReservationGroupKey", + "documentation":"

The key for a specific reservation attribute.

" + }, + "Value":{ + "shape":"ReservationGroupValue", + "documentation":"

The value of a specific reservation attribute.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attributes for this group of reservations.

" + }, + "Utilization":{ + "shape":"ReservationAggregates", + "documentation":"

How much you used this group of reservations.

" + } + }, + "documentation":"

A group of reservations that share a set of attributes.

" + }, + "ReservationUtilizationGroups":{ + "type":"list", + "member":{"shape":"ReservationUtilizationGroup"} + }, + "ReservedHours":{"type":"string"}, + "ReservedNormalizedUnits":{"type":"string"}, + "ResourceDetails":{ + "type":"structure", + "members":{ + "EC2ResourceDetails":{ + "shape":"EC2ResourceDetails", + "documentation":"

Details on the Amazon EC2 resource.

" + } + }, + "documentation":"

Details on the resource.

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified ARN in the request doesn't exist.

", + "exception":true + }, + "ResourceUtilization":{ + "type":"structure", + "members":{ + "EC2ResourceUtilization":{ + "shape":"EC2ResourceUtilization", + "documentation":"

Utilization of current Amazon EC2 Instance

" + } + }, + "documentation":"

Resource utilization of current resource.

" + }, + "ResultByTime":{ + "type":"structure", + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The time period that the result covers.

" + }, + "Total":{ + "shape":"Metrics", + "documentation":"

The total amount of cost or usage accrued during the time period.

" + }, + "Groups":{ + "shape":"Groups", + "documentation":"

The groups that this time period includes.

" + }, + "Estimated":{ + "shape":"Estimated", + "documentation":"

Whether the result is estimated.

" + } + }, + "documentation":"

The result that is associated with a time period.

" + }, + "ResultsByTime":{ + "type":"list", + "member":{"shape":"ResultByTime"} + }, + "RightsizingRecommendation":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"GenericString", + "documentation":"

The account that this recommendation is for.

" + }, + "CurrentInstance":{ + "shape":"CurrentInstance", + "documentation":"

Context regarding the current instance.

" + }, + "RightsizingType":{ + "shape":"RightsizingType", + "documentation":"

Recommendation to either terminate or modify the resource.

" + }, + "ModifyRecommendationDetail":{ + "shape":"ModifyRecommendationDetail", + "documentation":"

Details for modification recommendations.

" + }, + "TerminateRecommendationDetail":{ + "shape":"TerminateRecommendationDetail", + "documentation":"

Details for termination recommendations.

" + } + }, + "documentation":"

Recommendations to rightsize resources.

" + }, + "RightsizingRecommendationConfiguration":{ + "type":"structure", + "required":[ + "RecommendationTarget", + "BenefitsConsidered" + ], + "members":{ + "RecommendationTarget":{ + "shape":"RecommendationTarget", + "documentation":"

The option to see recommendations within the same instance family, or recommendations for instances across other families. The default value is SAME_INSTANCE_FAMILY.

" + }, + "BenefitsConsidered":{ + "shape":"GenericBoolean", + "documentation":"

The option to consider RI or Savings Plans discount benefits in your savings calculation. The default value is TRUE.

" + } + }, + "documentation":"

Enables you to customize recommendations across two attributes. You can choose to view recommendations for instances within the same instance families or across different instance families. You can also choose to view your estimated savings associated with recommendations with consideration of existing Savings Plans or RI benefits, or niether.

" + }, + "RightsizingRecommendationList":{ + "type":"list", + "member":{"shape":"RightsizingRecommendation"} + }, + "RightsizingRecommendationMetadata":{ + "type":"structure", + "members":{ + "RecommendationId":{ + "shape":"GenericString", + "documentation":"

The ID for this specific recommendation.

" + }, + "GenerationTimestamp":{ + "shape":"GenericString", + "documentation":"

The time stamp for when Amazon Web Services made this recommendation.

" + }, + "LookbackPeriodInDays":{ + "shape":"LookbackPeriodInDays", + "documentation":"

How many days of previous usage that Amazon Web Services considers when making this recommendation.

" + } + }, + "documentation":"

Metadata for this recommendation set.

" + }, + "RightsizingRecommendationSummary":{ + "type":"structure", + "members":{ + "TotalRecommendationCount":{ + "shape":"GenericString", + "documentation":"

Total number of instance recommendations.

" + }, + "EstimatedTotalMonthlySavingsAmount":{ + "shape":"GenericString", + "documentation":"

Estimated total savings resulting from modifications, on a monthly basis.

" + }, + "SavingsCurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code that Amazon Web Services used to calculate the savings.

" + }, + "SavingsPercentage":{ + "shape":"GenericString", + "documentation":"

Savings percentage based on the recommended modifications, relative to the total On Demand costs associated with these instances.

" + } + }, + "documentation":"

Summary of rightsizing recommendations

" + }, + "RightsizingType":{ + "type":"string", + "enum":[ + "TERMINATE", + "MODIFY" + ] + }, + "SavingsPlanArn":{"type":"string"}, + "SavingsPlansAmortizedCommitment":{ + "type":"structure", + "members":{ + "AmortizedRecurringCommitment":{ + "shape":"GenericString", + "documentation":"

The amortized amount of your Savings Plans commitment that was purchased with either a Partial or a NoUpfront.

" + }, + "AmortizedUpfrontCommitment":{ + "shape":"GenericString", + "documentation":"

The amortized amount of your Savings Plans commitment that was purchased with an Upfront or PartialUpfront Savings Plans.

" + }, + "TotalAmortizedCommitment":{ + "shape":"GenericString", + "documentation":"

The total amortized amount of your Savings Plans commitment, regardless of your Savings Plans purchase method.

" + } + }, + "documentation":"

The amortized amount of Savings Plans purchased in a specific account during a specific time interval.

" + }, + "SavingsPlansCoverage":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attribute that applies to a specific Dimension.

" + }, + "Coverage":{ + "shape":"SavingsPlansCoverageData", + "documentation":"

The amount of Savings Plans eligible usage that the Savings Plans covered.

" + }, + "TimePeriod":{"shape":"DateInterval"} + }, + "documentation":"

The amount of Savings Plans eligible usage that is covered by Savings Plans. All calculations consider the On-Demand equivalent of your Savings Plans usage.

" + }, + "SavingsPlansCoverageData":{ + "type":"structure", + "members":{ + "SpendCoveredBySavingsPlans":{ + "shape":"GenericString", + "documentation":"

The amount of your Amazon Web Services usage that is covered by a Savings Plans.

" + }, + "OnDemandCost":{ + "shape":"GenericString", + "documentation":"

The cost of your Amazon Web Services usage at the public On-Demand rate.

" + }, + "TotalCost":{ + "shape":"GenericString", + "documentation":"

The total cost of your Amazon Web Services usage, regardless of your purchase option.

" + }, + "CoveragePercentage":{ + "shape":"GenericString", + "documentation":"

The percentage of your existing Savings Plans covered usage, divided by all of your eligible Savings Plans usage in an account(or set of accounts).

" + } + }, + "documentation":"

Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and total Savings Plans costs for an account.

" + }, + "SavingsPlansCoverages":{ + "type":"list", + "member":{"shape":"SavingsPlansCoverage"} + }, + "SavingsPlansDetails":{ + "type":"structure", + "members":{ + "Region":{ + "shape":"GenericString", + "documentation":"

A collection of AWS resources in a geographic area. Each AWS Region is isolated and independent of the other Regions.

" + }, + "InstanceFamily":{ + "shape":"GenericString", + "documentation":"

A group of instance types that Savings Plans applies to.

" + }, + "OfferingId":{ + "shape":"GenericString", + "documentation":"

The unique ID used to distinguish Savings Plans from one another.

" + } + }, + "documentation":"

Attribute details on a specific Savings Plan.

" + }, + "SavingsPlansPurchaseRecommendation":{ + "type":"structure", + "members":{ + "AccountScope":{ + "shape":"AccountScope", + "documentation":"

The account scope that you want your recommendations for. Amazon Web Services calculates recommendations including the payer account and linked accounts if the value is set to PAYER. If the value is LINKED, recommendations are calculated for individual linked accounts only.

" + }, + "SavingsPlansType":{ + "shape":"SupportedSavingsPlansType", + "documentation":"

The requested Savings Plans recommendation type.

" + }, + "TermInYears":{ + "shape":"TermInYears", + "documentation":"

The Savings Plans recommendation term in years, used to generate the recommendation.

" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option used to generate the recommendation.

" + }, + "LookbackPeriodInDays":{ + "shape":"LookbackPeriodInDays", + "documentation":"

The lookback period in days, used to generate the recommendation.

" + }, + "SavingsPlansPurchaseRecommendationDetails":{ + "shape":"SavingsPlansPurchaseRecommendationDetailList", + "documentation":"

Details for the Savings Plans we recommend that you purchase to cover existing Savings Plans eligible workloads.

" + }, + "SavingsPlansPurchaseRecommendationSummary":{ + "shape":"SavingsPlansPurchaseRecommendationSummary", + "documentation":"

Summary metrics for your Savings Plans Recommendations.

" + } + }, + "documentation":"

Contains your request parameters, Savings Plan Recommendations Summary, and Details.

" + }, + "SavingsPlansPurchaseRecommendationDetail":{ + "type":"structure", + "members":{ + "SavingsPlansDetails":{ + "shape":"SavingsPlansDetails", + "documentation":"

Details for your recommended Savings Plans.

" + }, + "AccountId":{ + "shape":"GenericString", + "documentation":"

The AccountID the recommendation is generated for.

" + }, + "UpfrontCost":{ + "shape":"GenericString", + "documentation":"

The upfront cost of the recommended Savings Plans, based on the selected payment option.

" + }, + "EstimatedROI":{ + "shape":"GenericString", + "documentation":"

The estimated return on investment based on the recommended Savings Plans purchased. This is calculated as estimatedSavingsAmount/ estimatedSPCost*100.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code Amazon Web Services used to generate the recommendations and present potential savings.

" + }, + "EstimatedSPCost":{ + "shape":"GenericString", + "documentation":"

The cost of the recommended Savings Plans over the length of the lookback period.

" + }, + "EstimatedOnDemandCost":{ + "shape":"GenericString", + "documentation":"

The remaining On-Demand cost estimated to not be covered by the recommended Savings Plans, over the length of the lookback period.

" + }, + "EstimatedOnDemandCostWithCurrentCommitment":{ + "shape":"GenericString", + "documentation":"

The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.

" + }, + "EstimatedSavingsAmount":{ + "shape":"GenericString", + "documentation":"

The estimated savings amount based on the recommended Savings Plans over the length of the lookback period.

" + }, + "EstimatedSavingsPercentage":{ + "shape":"GenericString", + "documentation":"

The estimated savings percentage relative to the total cost of applicable On-Demand usage over the lookback period.

" + }, + "HourlyCommitmentToPurchase":{ + "shape":"GenericString", + "documentation":"

The recommended hourly commitment level for the Savings Plans type, and configuration based on the usage during the lookback period.

" + }, + "EstimatedAverageUtilization":{ + "shape":"GenericString", + "documentation":"

The estimated utilization of the recommended Savings Plans.

" + }, + "EstimatedMonthlySavingsAmount":{ + "shape":"GenericString", + "documentation":"

The estimated monthly savings amount, based on the recommended Savings Plans.

" + }, + "CurrentMinimumHourlyOnDemandSpend":{ + "shape":"GenericString", + "documentation":"

The lowest value of hourly On-Demand spend over the lookback period of the applicable usage type.

" + }, + "CurrentMaximumHourlyOnDemandSpend":{ + "shape":"GenericString", + "documentation":"

The highest value of hourly On-Demand spend over the lookback period of the applicable usage type.

" + }, + "CurrentAverageHourlyOnDemandSpend":{ + "shape":"GenericString", + "documentation":"

The average value of hourly On-Demand spend over the lookback period of the applicable usage type.

" + } + }, + "documentation":"

Details for your recommended Savings Plans.

" + }, + "SavingsPlansPurchaseRecommendationDetailList":{ + "type":"list", + "member":{"shape":"SavingsPlansPurchaseRecommendationDetail"} + }, + "SavingsPlansPurchaseRecommendationMetadata":{ + "type":"structure", + "members":{ + "RecommendationId":{ + "shape":"GenericString", + "documentation":"

The unique identifier for the recommendation set.

" + }, + "GenerationTimestamp":{ + "shape":"GenericString", + "documentation":"

The timestamp showing when the recommendations were generated.

" + } + }, + "documentation":"

Metadata about your Savings Plans Purchase Recommendations.

" + }, + "SavingsPlansPurchaseRecommendationSummary":{ + "type":"structure", + "members":{ + "EstimatedROI":{ + "shape":"GenericString", + "documentation":"

The estimated return on investment based on the recommended Savings Plans and estimated savings.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code Amazon Web Services used to generate the recommendations and present potential savings.

" + }, + "EstimatedTotalCost":{ + "shape":"GenericString", + "documentation":"

The estimated total cost of the usage after purchasing the recommended Savings Plans. This is a sum of the cost of Savings Plans during this term, and the remaining On-Demand usage.

" + }, + "CurrentOnDemandSpend":{ + "shape":"GenericString", + "documentation":"

The current total on demand spend of the applicable usage types over the lookback period.

" + }, + "EstimatedSavingsAmount":{ + "shape":"GenericString", + "documentation":"

The estimated total savings over the lookback period, based on the purchase of the recommended Savings Plans.

" + }, + "TotalRecommendationCount":{ + "shape":"GenericString", + "documentation":"

The aggregate number of Savings Plans recommendations that exist for your account.

" + }, + "DailyCommitmentToPurchase":{ + "shape":"GenericString", + "documentation":"

The recommended Savings Plans cost on a daily (24 hourly) basis.

" + }, + "HourlyCommitmentToPurchase":{ + "shape":"GenericString", + "documentation":"

The recommended hourly commitment based on the recommendation parameters.

" + }, + "EstimatedSavingsPercentage":{ + "shape":"GenericString", + "documentation":"

The estimated savings relative to the total cost of On-Demand usage, over the lookback period. This is calculated as estimatedSavingsAmount/ CurrentOnDemandSpend*100.

" + }, + "EstimatedMonthlySavingsAmount":{ + "shape":"GenericString", + "documentation":"

The estimated monthly savings amount, based on the recommended Savings Plans purchase.

" + }, + "EstimatedOnDemandCostWithCurrentCommitment":{ + "shape":"GenericString", + "documentation":"

The estimated On-Demand costs you would expect with no additional commitment, based on your usage of the selected time period and the Savings Plans you own.

" + } + }, + "documentation":"

Summary metrics for your Savings Plans Purchase Recommendations.

" + }, + "SavingsPlansSavings":{ + "type":"structure", + "members":{ + "NetSavings":{ + "shape":"GenericString", + "documentation":"

The savings amount that you are accumulating for the usage that is covered by a Savings Plans, when compared to the On-Demand equivalent of the same usage.

" + }, + "OnDemandCostEquivalent":{ + "shape":"GenericString", + "documentation":"

How much the amount that the usage would have cost if it was accrued at the On-Demand rate.

" + } + }, + "documentation":"

The amount of savings you're accumulating, against the public On-Demand rate of the usage accrued in an account.

" + }, + "SavingsPlansUtilization":{ + "type":"structure", + "members":{ + "TotalCommitment":{ + "shape":"GenericString", + "documentation":"

The total amount of Savings Plans commitment that's been purchased in an account (or set of accounts).

" + }, + "UsedCommitment":{ + "shape":"GenericString", + "documentation":"

The amount of your Savings Plans commitment that was consumed from Savings Plans eligible usage in a specific period.

" + }, + "UnusedCommitment":{ + "shape":"GenericString", + "documentation":"

The amount of your Savings Plans commitment that was not consumed from Savings Plans eligible usage in a specific period.

" + }, + "UtilizationPercentage":{ + "shape":"GenericString", + "documentation":"

The amount of UsedCommitment divided by the TotalCommitment for your Savings Plans.

" + } + }, + "documentation":"

The measurement of how well you are using your existing Savings Plans.

" + }, + "SavingsPlansUtilizationAggregates":{ + "type":"structure", + "required":["Utilization"], + "members":{ + "Utilization":{ + "shape":"SavingsPlansUtilization", + "documentation":"

A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

" + }, + "Savings":{ + "shape":"SavingsPlansSavings", + "documentation":"

The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans, as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

" + }, + "AmortizedCommitment":{ + "shape":"SavingsPlansAmortizedCommitment", + "documentation":"

The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

" + } + }, + "documentation":"

The aggregated utilization metrics for your Savings Plans usage.

" + }, + "SavingsPlansUtilizationByTime":{ + "type":"structure", + "required":[ + "TimePeriod", + "Utilization" + ], + "members":{ + "TimePeriod":{"shape":"DateInterval"}, + "Utilization":{ + "shape":"SavingsPlansUtilization", + "documentation":"

A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

" + }, + "Savings":{ + "shape":"SavingsPlansSavings", + "documentation":"

The amount saved by using existing Savings Plans. Savings returns both net savings from Savings Plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

" + }, + "AmortizedCommitment":{ + "shape":"SavingsPlansAmortizedCommitment", + "documentation":"

The total amortized commitment for a Savings Plans. This includes the sum of the upfront and recurring Savings Plans fees.

" + } + }, + "documentation":"

The amount of Savings Plans utilization, in hours.

" + }, + "SavingsPlansUtilizationDetail":{ + "type":"structure", + "members":{ + "SavingsPlanArn":{ + "shape":"SavingsPlanArn", + "documentation":"

The unique Amazon Resource Name (ARN) for a particular Savings Plan.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

The attribute that applies to a specific Dimension.

" + }, + "Utilization":{ + "shape":"SavingsPlansUtilization", + "documentation":"

A ratio of your effectiveness of using existing Savings Plans to apply to workloads that are Savings Plans eligible.

" + }, + "Savings":{ + "shape":"SavingsPlansSavings", + "documentation":"

The amount saved by using existing Savings Plans. Savings returns both net savings from savings plans as well as the onDemandCostEquivalent of the Savings Plans when considering the utilization rate.

" + }, + "AmortizedCommitment":{ + "shape":"SavingsPlansAmortizedCommitment", + "documentation":"

The total amortized commitment for a Savings Plans. Includes the sum of the upfront and recurring Savings Plans fees.

" + } + }, + "documentation":"

A single daily or monthly Savings Plans utilization rate, and details for your account. Master accounts in an organization have access to member accounts. You can use GetDimensionValues to determine the possible dimension values.

" + }, + "SavingsPlansUtilizationDetails":{ + "type":"list", + "member":{"shape":"SavingsPlansUtilizationDetail"} + }, + "SavingsPlansUtilizationsByTime":{ + "type":"list", + "member":{"shape":"SavingsPlansUtilizationByTime"} + }, + "SearchString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You've reached the limit on the number of resources you can create, or exceeded the size of an individual resources.

", + "exception":true + }, + "ServiceSpecification":{ + "type":"structure", + "members":{ + "EC2Specification":{ + "shape":"EC2Specification", + "documentation":"

The Amazon EC2 hardware specifications that you want AWS to provide recommendations for.

" + } + }, + "documentation":"

Hardware specifications for the service that you want recommendations for.

" + }, + "SupportedSavingsPlansType":{ + "type":"string", + "enum":[ + "COMPUTE_SP", + "EC2_INSTANCE_SP" + ] + }, + "TagKey":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Entity"} + }, + "TagValues":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key for the tag.

" + }, + "Values":{ + "shape":"Values", + "documentation":"

The specific value of the tag.

" + }, + "MatchOptions":{ + "shape":"MatchOptions", + "documentation":"

The match options that you can use to filter your results. MatchOptions is only applicable for only applicable for actions related to Cost Category. The default values for MatchOptions is EQUALS and CASE_SENSITIVE.

" + } + }, + "documentation":"

The values that are available for a tag.

" + }, + "TagValuesList":{ + "type":"list", + "member":{"shape":"TagValues"} + }, + "TargetInstance":{ + "type":"structure", + "members":{ + "EstimatedMonthlyCost":{ + "shape":"GenericString", + "documentation":"

Expected cost to operate this instance type on a monthly basis.

" + }, + "EstimatedMonthlySavings":{ + "shape":"GenericString", + "documentation":"

Estimated savings resulting from modification, on a monthly basis.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code that Amazon Web Services used to calculate the costs for this instance.

" + }, + "DefaultTargetInstance":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether or not this recommendation is the defaulted Amazon Web Services recommendation.

" + }, + "ResourceDetails":{ + "shape":"ResourceDetails", + "documentation":"

Details on the target instance type.

" + }, + "ExpectedResourceUtilization":{ + "shape":"ResourceUtilization", + "documentation":"

Expected utilization metrics for target instance type.

" + } + }, + "documentation":"

Details on recommended instance.

" + }, + "TargetInstancesList":{ + "type":"list", + "member":{"shape":"TargetInstance"} + }, + "TermInYears":{ + "type":"string", + "enum":[ + "ONE_YEAR", + "THREE_YEARS" + ] + }, + "TerminateRecommendationDetail":{ + "type":"structure", + "members":{ + "EstimatedMonthlySavings":{ + "shape":"GenericString", + "documentation":"

Estimated savings resulting from modification, on a monthly basis.

" + }, + "CurrencyCode":{ + "shape":"GenericString", + "documentation":"

The currency code that Amazon Web Services used to calculate the costs for this instance.

" + } + }, + "documentation":"

Details on termination recommendation.

" + }, + "TotalActualHours":{"type":"string"}, + "TotalActualUnits":{"type":"string"}, + "TotalAmortizedFee":{"type":"string"}, + "TotalPotentialRISavings":{"type":"string"}, + "TotalRunningHours":{"type":"string"}, + "TotalRunningNormalizedUnits":{"type":"string"}, + "UnresolvableUsageUnitException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup filter selections that contain matching units, for example: hours.

", + "exception":true + }, + "UnusedHours":{"type":"string"}, + "UnusedUnits":{"type":"string"}, + "UpdateCostCategoryDefinitionRequest":{ + "type":"structure", + "required":[ + "CostCategoryArn", + "RuleVersion", + "Rules" + ], + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + }, + "RuleVersion":{"shape":"CostCategoryRuleVersion"}, + "Rules":{ + "shape":"CostCategoryRulesList", + "documentation":"

The Expression object used to categorize costs. For more information, see CostCategoryRule .

" + } + } + }, + "UpdateCostCategoryDefinitionResponse":{ + "type":"structure", + "members":{ + "CostCategoryArn":{ + "shape":"Arn", + "documentation":"

The unique identifier for your Cost Category.

" + }, + "EffectiveStart":{ + "shape":"ZonedDateTime", + "documentation":"

The Cost Category's effective start date.

" + } + } + }, + "UtilizationByTime":{ + "type":"structure", + "members":{ + "TimePeriod":{ + "shape":"DateInterval", + "documentation":"

The period of time that this utilization was used for.

" + }, + "Groups":{ + "shape":"ReservationUtilizationGroups", + "documentation":"

The groups that this utilization result uses.

" + }, + "Total":{ + "shape":"ReservationAggregates", + "documentation":"

The total number of reservation hours that were used.

" + } + }, + "documentation":"

The amount of utilization, in hours.

" + }, + "UtilizationPercentage":{"type":"string"}, + "UtilizationPercentageInUnits":{"type":"string"}, + "UtilizationsByTime":{ + "type":"list", + "member":{"shape":"UtilizationByTime"} + }, + "Value":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"[\\S\\s]*" + }, + "Values":{ + "type":"list", + "member":{"shape":"Value"} + }, + "YearMonthDay":{ + "type":"string", + "max":40, + "min":0, + "pattern":"(\\d{4}-\\d{2}-\\d{2})(T\\d{2}:\\d{2}:\\d{2}Z)?" + }, + "ZonedDateTime":{ + "type":"string", + "documentation":"

The time period that you want the usage and costs for.

", + "max":25, + "min":20, + "pattern":"^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(([+-]\\d\\d:\\d\\d)|Z)$" + } + }, + "documentation":"

The Cost Explorer API enables you to programmatically query your cost and usage data. You can query for aggregated data such as total monthly costs or total daily usage. You can also query for granular data, such as the number of daily write operations for Amazon DynamoDB database tables in your production environment.

Service Endpoint

The Cost Explorer API provides the following endpoint:

  • https://ce.us-east-1.amazonaws.com

For information about costs associated with the Cost Explorer API, see AWS Cost Management Pricing.

" +} diff -Nru python-botocore-1.4.70/botocore/data/chime/2018-05-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/chime/2018-05-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/chime/2018-05-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/chime/2018-05-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListAccounts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Accounts" + }, + "ListUsers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Users" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/chime/2018-05-01/service-2.json python-botocore-1.16.19+repack/botocore/data/chime/2018-05-01/service-2.json --- python-botocore-1.4.70/botocore/data/chime/2018-05-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/chime/2018-05-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,7210 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-01", + "endpointPrefix":"chime", + "protocol":"rest-json", + "serviceFullName":"Amazon Chime", + "serviceId":"Chime", + "signatureVersion":"v4", + "uid":"chime-2018-05-01" + }, + "operations":{ + "AssociatePhoneNumberWithUser":{ + "name":"AssociatePhoneNumberWithUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=associate-phone-number", + "responseCode":200 + }, + "input":{"shape":"AssociatePhoneNumberWithUserRequest"}, + "output":{"shape":"AssociatePhoneNumberWithUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates a phone number with the specified Amazon Chime user.

" + }, + "AssociatePhoneNumbersWithVoiceConnector":{ + "name":"AssociatePhoneNumbersWithVoiceConnector", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}?operation=associate-phone-numbers", + "responseCode":200 + }, + "input":{"shape":"AssociatePhoneNumbersWithVoiceConnectorRequest"}, + "output":{"shape":"AssociatePhoneNumbersWithVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates phone numbers with the specified Amazon Chime Voice Connector.

" + }, + "AssociatePhoneNumbersWithVoiceConnectorGroup":{ + "name":"AssociatePhoneNumbersWithVoiceConnectorGroup", + "http":{ + "method":"POST", + "requestUri":"/voice-connector-groups/{voiceConnectorGroupId}?operation=associate-phone-numbers", + "responseCode":200 + }, + "input":{"shape":"AssociatePhoneNumbersWithVoiceConnectorGroupRequest"}, + "output":{"shape":"AssociatePhoneNumbersWithVoiceConnectorGroupResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates phone numbers with the specified Amazon Chime Voice Connector group.

" + }, + "AssociateSigninDelegateGroupsWithAccount":{ + "name":"AssociateSigninDelegateGroupsWithAccount", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}?operation=associate-signin-delegate-groups", + "responseCode":200 + }, + "input":{"shape":"AssociateSigninDelegateGroupsWithAccountRequest"}, + "output":{"shape":"AssociateSigninDelegateGroupsWithAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Associates the specified sign-in delegate groups with the specified Amazon Chime account.

" + }, + "BatchCreateAttendee":{ + "name":"BatchCreateAttendee", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/attendees?operation=batch-create", + "responseCode":201 + }, + "input":{"shape":"BatchCreateAttendeeRequest"}, + "output":{"shape":"BatchCreateAttendeeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates up to 100 new attendees for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "BatchCreateRoomMembership":{ + "name":"BatchCreateRoomMembership", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/memberships?operation=batch-create", + "responseCode":201 + }, + "input":{"shape":"BatchCreateRoomMembershipRequest"}, + "output":{"shape":"BatchCreateRoomMembershipResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds up to 50 members to a chat room in an Amazon Chime Enterprise account. Members can be either users or bots. The member role designates whether the member is a chat room administrator or a general chat room member.

" + }, + "BatchDeletePhoneNumber":{ + "name":"BatchDeletePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers?operation=batch-delete", + "responseCode":200 + }, + "input":{"shape":"BatchDeletePhoneNumberRequest"}, + "output":{"shape":"BatchDeletePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Moves phone numbers into the Deletion queue. Phone numbers must be disassociated from any users or Amazon Chime Voice Connectors before they can be deleted.

Phone numbers remain in the Deletion queue for 7 days before they are deleted permanently.

" + }, + "BatchSuspendUser":{ + "name":"BatchSuspendUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users?operation=suspend", + "responseCode":200 + }, + "input":{"shape":"BatchSuspendUserRequest"}, + "output":{"shape":"BatchSuspendUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Suspends up to 50 users from a Team or EnterpriseLWA Amazon Chime account. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Users suspended from a Team account are disassociated from the account, but they can continue to use Amazon Chime as free users. To remove the suspension from suspended Team account users, invite them to the Team account again. You can use the InviteUsers action to do so.

Users suspended from an EnterpriseLWA account are immediately signed out of Amazon Chime and can no longer sign in. To remove the suspension from suspended EnterpriseLWA account users, use the BatchUnsuspendUser action.

To sign out users without suspending them, use the LogoutUser action.

" + }, + "BatchUnsuspendUser":{ + "name":"BatchUnsuspendUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users?operation=unsuspend", + "responseCode":200 + }, + "input":{"shape":"BatchUnsuspendUserRequest"}, + "output":{"shape":"BatchUnsuspendUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Removes the suspension from up to 50 previously suspended users for the specified Amazon Chime EnterpriseLWA account. Only users on EnterpriseLWA accounts can be unsuspended using this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

Previously suspended users who are unsuspended using this action are returned to Registered status. Users who are not previously suspended are ignored.

" + }, + "BatchUpdatePhoneNumber":{ + "name":"BatchUpdatePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers?operation=batch-update", + "responseCode":200 + }, + "input":{"shape":"BatchUpdatePhoneNumberRequest"}, + "output":{"shape":"BatchUpdatePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates phone number product types or calling names. You can update one attribute at a time for each UpdatePhoneNumberRequestItem. For example, you can update either the product type or the calling name.

For product types, choose from Amazon Chime Business Calling and Amazon Chime Voice Connector. For toll-free numbers, you must use the Amazon Chime Voice Connector product type.

Updates to outbound calling names can take up to 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.

" + }, + "BatchUpdateUser":{ + "name":"BatchUpdateUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users", + "responseCode":200 + }, + "input":{"shape":"BatchUpdateUserRequest"}, + "output":{"shape":"BatchUpdateUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates user details within the UpdateUserRequestItem object for up to 20 users for the specified Amazon Chime account. Currently, only LicenseType updates are supported for this action.

" + }, + "CreateAccount":{ + "name":"CreateAccount", + "http":{ + "method":"POST", + "requestUri":"/accounts", + "responseCode":201 + }, + "input":{"shape":"CreateAccountRequest"}, + "output":{"shape":"CreateAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an Amazon Chime account under the administrator's AWS account. Only Team account types are currently supported for this action. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + }, + "CreateAttendee":{ + "name":"CreateAttendee", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/attendees", + "responseCode":201 + }, + "input":{"shape":"CreateAttendeeRequest"}, + "output":{"shape":"CreateAttendeeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates a new attendee for an active Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "CreateBot":{ + "name":"CreateBot", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots", + "responseCode":201 + }, + "input":{"shape":"CreateBotRequest"}, + "output":{"shape":"CreateBotResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"} + ], + "documentation":"

Creates a bot for an Amazon Chime Enterprise account.

" + }, + "CreateMeeting":{ + "name":"CreateMeeting", + "http":{ + "method":"POST", + "requestUri":"/meetings", + "responseCode":201 + }, + "input":{"shape":"CreateMeetingRequest"}, + "output":{"shape":"CreateMeetingResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates a new Amazon Chime SDK meeting in the specified media Region with no initial attendees. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "CreatePhoneNumberOrder":{ + "name":"CreatePhoneNumberOrder", + "http":{ + "method":"POST", + "requestUri":"/phone-number-orders", + "responseCode":201 + }, + "input":{"shape":"CreatePhoneNumberOrderRequest"}, + "output":{"shape":"CreatePhoneNumberOrderResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an order for phone numbers to be provisioned. Choose from Amazon Chime Business Calling and Amazon Chime Voice Connector product types. For toll-free numbers, you must use the Amazon Chime Voice Connector product type.

" + }, + "CreateProxySession":{ + "name":"CreateProxySession", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/proxy-sessions", + "responseCode":201 + }, + "input":{"shape":"CreateProxySessionRequest"}, + "output":{"shape":"CreateProxySessionResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates a proxy session on the specified Amazon Chime Voice Connector for the specified participant phone numbers.

" + }, + "CreateRoom":{ + "name":"CreateRoom", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms", + "responseCode":201 + }, + "input":{"shape":"CreateRoomRequest"}, + "output":{"shape":"CreateRoomResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates a chat room for the specified Amazon Chime Enterprise account.

" + }, + "CreateRoomMembership":{ + "name":"CreateRoomMembership", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/memberships", + "responseCode":201 + }, + "input":{"shape":"CreateRoomMembershipRequest"}, + "output":{"shape":"CreateRoomMembershipResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds a member to a chat room in an Amazon Chime Enterprise account. A member can be either a user or a bot. The member role designates whether the member is a chat room administrator or a general chat room member.

" + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users?operation=create", + "responseCode":201 + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates a user under the specified Amazon Chime account.

" + }, + "CreateVoiceConnector":{ + "name":"CreateVoiceConnector", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors", + "responseCode":201 + }, + "input":{"shape":"CreateVoiceConnectorRequest"}, + "output":{"shape":"CreateVoiceConnectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an Amazon Chime Voice Connector under the administrator's AWS account. You can choose to create an Amazon Chime Voice Connector in a specific AWS Region.

Enabling CreateVoiceConnectorRequest$RequireEncryption configures your Amazon Chime Voice Connector to use TLS transport for SIP signaling and Secure RTP (SRTP) for media. Inbound calls use TLS transport, and unencrypted outbound calls are blocked.

" + }, + "CreateVoiceConnectorGroup":{ + "name":"CreateVoiceConnectorGroup", + "http":{ + "method":"POST", + "requestUri":"/voice-connector-groups", + "responseCode":201 + }, + "input":{"shape":"CreateVoiceConnectorGroupRequest"}, + "output":{"shape":"CreateVoiceConnectorGroupResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an Amazon Chime Voice Connector group under the administrator's AWS account. You can associate Amazon Chime Voice Connectors with the Amazon Chime Voice Connector group by including VoiceConnectorItems in the request.

You can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events.

" + }, + "DeleteAccount":{ + "name":"DeleteAccount", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{accountId}", + "responseCode":204 + }, + "input":{"shape":"DeleteAccountRequest"}, + "output":{"shape":"DeleteAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnprocessableEntityException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified Amazon Chime account. You must suspend all users before deleting a Team account. You can use the BatchSuspendUser action to do so.

For EnterpriseLWA and EnterpriseAD accounts, you must release the claimed domains for your Amazon Chime account before deletion. As soon as you release the domain, all users under that account are suspended.

Deleted accounts appear in your Disabled accounts list for 90 days. To restore a deleted account from your Disabled accounts list, you must contact AWS Support.

After 90 days, deleted accounts are permanently removed from your Disabled accounts list.

" + }, + "DeleteAttendee":{ + "name":"DeleteAttendee", + "http":{ + "method":"DELETE", + "requestUri":"/meetings/{meetingId}/attendees/{attendeeId}", + "responseCode":204 + }, + "input":{"shape":"DeleteAttendeeRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes an attendee from the specified Amazon Chime SDK meeting and deletes their JoinToken. Attendees are automatically deleted when a Amazon Chime SDK meeting is deleted. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "DeleteEventsConfiguration":{ + "name":"DeleteEventsConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteEventsConfigurationRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"} + ], + "documentation":"

Deletes the events configuration that allows a bot to receive outgoing events.

" + }, + "DeleteMeeting":{ + "name":"DeleteMeeting", + "http":{ + "method":"DELETE", + "requestUri":"/meetings/{meetingId}", + "responseCode":204 + }, + "input":{"shape":"DeleteMeetingRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified Amazon Chime SDK meeting. When a meeting is deleted, its attendees are also deleted and clients can no longer join it. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "DeletePhoneNumber":{ + "name":"DeletePhoneNumber", + "http":{ + "method":"DELETE", + "requestUri":"/phone-numbers/{phoneNumberId}", + "responseCode":204 + }, + "input":{"shape":"DeletePhoneNumberRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Moves the specified phone number into the Deletion queue. A phone number must be disassociated from any users or Amazon Chime Voice Connectors before it can be deleted.

Deleted phone numbers remain in the Deletion queue for 7 days before they are deleted permanently.

" + }, + "DeleteProxySession":{ + "name":"DeleteProxySession", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/proxy-sessions/{proxySessionId}", + "responseCode":204 + }, + "input":{"shape":"DeleteProxySessionRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified proxy session from the specified Amazon Chime Voice Connector.

" + }, + "DeleteRoom":{ + "name":"DeleteRoom", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{accountId}/rooms/{roomId}", + "responseCode":204 + }, + "input":{"shape":"DeleteRoomRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes a chat room in an Amazon Chime Enterprise account.

" + }, + "DeleteRoomMembership":{ + "name":"DeleteRoomMembership", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/memberships/{memberId}", + "responseCode":204 + }, + "input":{"shape":"DeleteRoomMembershipRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Removes a member from a chat room in an Amazon Chime Enterprise account.

" + }, + "DeleteVoiceConnector":{ + "name":"DeleteVoiceConnector", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified Amazon Chime Voice Connector. Any phone numbers associated with the Amazon Chime Voice Connector must be disassociated from it before it can be deleted.

" + }, + "DeleteVoiceConnectorGroup":{ + "name":"DeleteVoiceConnectorGroup", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connector-groups/{voiceConnectorGroupId}", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorGroupRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified Amazon Chime Voice Connector group. Any VoiceConnectorItems and phone numbers associated with the group must be removed before it can be deleted.

" + }, + "DeleteVoiceConnectorOrigination":{ + "name":"DeleteVoiceConnectorOrigination", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorOriginationRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the origination settings for the specified Amazon Chime Voice Connector.

" + }, + "DeleteVoiceConnectorProxy":{ + "name":"DeleteVoiceConnectorProxy", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/programmable-numbers/proxy", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorProxyRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the proxy configuration from the specified Amazon Chime Voice Connector.

" + }, + "DeleteVoiceConnectorStreamingConfiguration":{ + "name":"DeleteVoiceConnectorStreamingConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/streaming-configuration", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorStreamingConfigurationRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the streaming configuration for the specified Amazon Chime Voice Connector.

" + }, + "DeleteVoiceConnectorTermination":{ + "name":"DeleteVoiceConnectorTermination", + "http":{ + "method":"DELETE", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorTerminationRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the termination settings for the specified Amazon Chime Voice Connector.

" + }, + "DeleteVoiceConnectorTerminationCredentials":{ + "name":"DeleteVoiceConnectorTerminationCredentials", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials?operation=delete", + "responseCode":204 + }, + "input":{"shape":"DeleteVoiceConnectorTerminationCredentialsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified SIP credentials used by your equipment to authenticate during call termination.

" + }, + "DisassociatePhoneNumberFromUser":{ + "name":"DisassociatePhoneNumberFromUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=disassociate-phone-number", + "responseCode":200 + }, + "input":{"shape":"DisassociatePhoneNumberFromUserRequest"}, + "output":{"shape":"DisassociatePhoneNumberFromUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Disassociates the primary provisioned phone number from the specified Amazon Chime user.

" + }, + "DisassociatePhoneNumbersFromVoiceConnector":{ + "name":"DisassociatePhoneNumbersFromVoiceConnector", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}?operation=disassociate-phone-numbers", + "responseCode":200 + }, + "input":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorRequest"}, + "output":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector.

" + }, + "DisassociatePhoneNumbersFromVoiceConnectorGroup":{ + "name":"DisassociatePhoneNumbersFromVoiceConnectorGroup", + "http":{ + "method":"POST", + "requestUri":"/voice-connector-groups/{voiceConnectorGroupId}?operation=disassociate-phone-numbers", + "responseCode":200 + }, + "input":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorGroupRequest"}, + "output":{"shape":"DisassociatePhoneNumbersFromVoiceConnectorGroupResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Disassociates the specified phone numbers from the specified Amazon Chime Voice Connector group.

" + }, + "DisassociateSigninDelegateGroupsFromAccount":{ + "name":"DisassociateSigninDelegateGroupsFromAccount", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}?operation=disassociate-signin-delegate-groups", + "responseCode":200 + }, + "input":{"shape":"DisassociateSigninDelegateGroupsFromAccountRequest"}, + "output":{"shape":"DisassociateSigninDelegateGroupsFromAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Disassociates the specified sign-in delegate groups from the specified Amazon Chime account.

" + }, + "GetAccount":{ + "name":"GetAccount", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}" + }, + "input":{"shape":"GetAccountRequest"}, + "output":{"shape":"GetAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified Amazon Chime account, such as account type and supported licenses.

" + }, + "GetAccountSettings":{ + "name":"GetAccountSettings", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/settings" + }, + "input":{"shape":"GetAccountSettingsRequest"}, + "output":{"shape":"GetAccountSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves account settings for the specified Amazon Chime account ID, such as remote control and dial out settings. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "GetAttendee":{ + "name":"GetAttendee", + "http":{ + "method":"GET", + "requestUri":"/meetings/{meetingId}/attendees/{attendeeId}", + "responseCode":200 + }, + "input":{"shape":"GetAttendeeRequest"}, + "output":{"shape":"GetAttendeeResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Gets the Amazon Chime SDK attendee details for a specified meeting ID and attendee ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "GetBot":{ + "name":"GetBot", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots/{botId}", + "responseCode":200 + }, + "input":{"shape":"GetBotRequest"}, + "output":{"shape":"GetBotResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"} + ], + "documentation":"

Retrieves details for the specified bot, such as bot email address, bot type, status, and display name.

" + }, + "GetEventsConfiguration":{ + "name":"GetEventsConfiguration", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":200 + }, + "input":{"shape":"GetEventsConfigurationRequest"}, + "output":{"shape":"GetEventsConfigurationResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Gets details for an events configuration that allows a bot to receive outgoing events, such as an HTTPS endpoint or Lambda function ARN.

" + }, + "GetGlobalSettings":{ + "name":"GetGlobalSettings", + "http":{ + "method":"GET", + "requestUri":"/settings", + "responseCode":200 + }, + "output":{"shape":"GetGlobalSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings.

" + }, + "GetMeeting":{ + "name":"GetMeeting", + "http":{ + "method":"GET", + "requestUri":"/meetings/{meetingId}", + "responseCode":200 + }, + "input":{"shape":"GetMeetingRequest"}, + "output":{"shape":"GetMeetingResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Gets the Amazon Chime SDK meeting details for the specified meeting ID. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "GetPhoneNumber":{ + "name":"GetPhoneNumber", + "http":{ + "method":"GET", + "requestUri":"/phone-numbers/{phoneNumberId}" + }, + "input":{"shape":"GetPhoneNumberRequest"}, + "output":{"shape":"GetPhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified phone number ID, such as associations, capabilities, and product type.

" + }, + "GetPhoneNumberOrder":{ + "name":"GetPhoneNumberOrder", + "http":{ + "method":"GET", + "requestUri":"/phone-number-orders/{phoneNumberOrderId}", + "responseCode":200 + }, + "input":{"shape":"GetPhoneNumberOrderRequest"}, + "output":{"shape":"GetPhoneNumberOrderResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified phone number order, such as order creation timestamp, phone numbers in E.164 format, product type, and order status.

" + }, + "GetPhoneNumberSettings":{ + "name":"GetPhoneNumberSettings", + "http":{ + "method":"GET", + "requestUri":"/settings/phone-number", + "responseCode":200 + }, + "output":{"shape":"GetPhoneNumberSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves the phone number settings for the administrator's AWS account, such as the default outbound calling name.

" + }, + "GetProxySession":{ + "name":"GetProxySession", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/proxy-sessions/{proxySessionId}", + "responseCode":200 + }, + "input":{"shape":"GetProxySessionRequest"}, + "output":{"shape":"GetProxySessionResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Gets the specified proxy session details for the specified Amazon Chime Voice Connector.

" + }, + "GetRetentionSettings":{ + "name":"GetRetentionSettings", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/retention-settings" + }, + "input":{"shape":"GetRetentionSettingsRequest"}, + "output":{"shape":"GetRetentionSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Gets the retention settings for the specified Amazon Chime Enterprise account. For more information about retention settings, see Managing Chat Retention Policies in the Amazon Chime Administration Guide.

" + }, + "GetRoom":{ + "name":"GetRoom", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/rooms/{roomId}", + "responseCode":200 + }, + "input":{"shape":"GetRoomRequest"}, + "output":{"shape":"GetRoomResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves room details, such as the room name, for a room in an Amazon Chime Enterprise account.

" + }, + "GetUser":{ + "name":"GetUser", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/users/{userId}", + "responseCode":200 + }, + "input":{"shape":"GetUserRequest"}, + "output":{"shape":"GetUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified user ID, such as primary email address, license type, and personal meeting PIN.

To retrieve user details with an email address instead of a user ID, use the ListUsers action, and then filter by email address.

" + }, + "GetUserSettings":{ + "name":"GetUserSettings", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/users/{userId}/settings", + "responseCode":200 + }, + "input":{"shape":"GetUserSettingsRequest"}, + "output":{"shape":"GetUserSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves settings for the specified user ID, such as any associated phone number settings.

" + }, + "GetVoiceConnector":{ + "name":"GetVoiceConnector", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorRequest"}, + "output":{"shape":"GetVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified Amazon Chime Voice Connector, such as timestamps, name, outbound host, and encryption requirements.

" + }, + "GetVoiceConnectorGroup":{ + "name":"GetVoiceConnectorGroup", + "http":{ + "method":"GET", + "requestUri":"/voice-connector-groups/{voiceConnectorGroupId}", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorGroupRequest"}, + "output":{"shape":"GetVoiceConnectorGroupResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves details for the specified Amazon Chime Voice Connector group, such as timestamps, name, and associated VoiceConnectorItems.

" + }, + "GetVoiceConnectorLoggingConfiguration":{ + "name":"GetVoiceConnectorLoggingConfiguration", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/logging-configuration", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorLoggingConfigurationRequest"}, + "output":{"shape":"GetVoiceConnectorLoggingConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves the logging configuration details for the specified Amazon Chime Voice Connector. Shows whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.

" + }, + "GetVoiceConnectorOrigination":{ + "name":"GetVoiceConnectorOrigination", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorOriginationRequest"}, + "output":{"shape":"GetVoiceConnectorOriginationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves origination setting details for the specified Amazon Chime Voice Connector.

" + }, + "GetVoiceConnectorProxy":{ + "name":"GetVoiceConnectorProxy", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/programmable-numbers/proxy", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorProxyRequest"}, + "output":{"shape":"GetVoiceConnectorProxyResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Gets the proxy configuration details for the specified Amazon Chime Voice Connector.

" + }, + "GetVoiceConnectorStreamingConfiguration":{ + "name":"GetVoiceConnectorStreamingConfiguration", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/streaming-configuration", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorStreamingConfigurationRequest"}, + "output":{"shape":"GetVoiceConnectorStreamingConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves the streaming configuration details for the specified Amazon Chime Voice Connector. Shows whether media streaming is enabled for sending to Amazon Kinesis. It also shows the retention period, in hours, for the Amazon Kinesis data.

" + }, + "GetVoiceConnectorTermination":{ + "name":"GetVoiceConnectorTermination", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorTerminationRequest"}, + "output":{"shape":"GetVoiceConnectorTerminationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves termination setting details for the specified Amazon Chime Voice Connector.

" + }, + "GetVoiceConnectorTerminationHealth":{ + "name":"GetVoiceConnectorTerminationHealth", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/health", + "responseCode":200 + }, + "input":{"shape":"GetVoiceConnectorTerminationHealthRequest"}, + "output":{"shape":"GetVoiceConnectorTerminationHealthResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves information about the last time a SIP OPTIONS ping was received from your SIP infrastructure for the specified Amazon Chime Voice Connector.

" + }, + "InviteUsers":{ + "name":"InviteUsers", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users?operation=add", + "responseCode":201 + }, + "input":{"shape":"InviteUsersRequest"}, + "output":{"shape":"InviteUsersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Sends email to a maximum of 50 users, inviting them to the specified Amazon Chime Team account. Only Team account types are currently supported for this action.

" + }, + "ListAccounts":{ + "name":"ListAccounts", + "http":{ + "method":"GET", + "requestUri":"/accounts" + }, + "input":{"shape":"ListAccountsRequest"}, + "output":{"shape":"ListAccountsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the Amazon Chime accounts under the administrator's AWS account. You can filter accounts by account name prefix. To find out which Amazon Chime account a user belongs to, you can filter by the user's email address, which returns one account result.

" + }, + "ListAttendeeTags":{ + "name":"ListAttendeeTags", + "http":{ + "method":"GET", + "requestUri":"/meetings/{meetingId}/attendees/{attendeeId}/tags", + "responseCode":200 + }, + "input":{"shape":"ListAttendeeTagsRequest"}, + "output":{"shape":"ListAttendeeTagsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the tags applied to an Amazon Chime SDK attendee resource.

" + }, + "ListAttendees":{ + "name":"ListAttendees", + "http":{ + "method":"GET", + "requestUri":"/meetings/{meetingId}/attendees", + "responseCode":200 + }, + "input":{"shape":"ListAttendeesRequest"}, + "output":{"shape":"ListAttendeesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the attendees for the specified Amazon Chime SDK meeting. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "ListBots":{ + "name":"ListBots", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/bots", + "responseCode":200 + }, + "input":{"shape":"ListBotsRequest"}, + "output":{"shape":"ListBotsResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"} + ], + "documentation":"

Lists the bots associated with the administrator's Amazon Chime Enterprise account ID.

" + }, + "ListMeetingTags":{ + "name":"ListMeetingTags", + "http":{ + "method":"GET", + "requestUri":"/meetings/{meetingId}/tags", + "responseCode":200 + }, + "input":{"shape":"ListMeetingTagsRequest"}, + "output":{"shape":"ListMeetingTagsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the tags applied to an Amazon Chime SDK meeting resource.

" + }, + "ListMeetings":{ + "name":"ListMeetings", + "http":{ + "method":"GET", + "requestUri":"/meetings", + "responseCode":200 + }, + "input":{"shape":"ListMeetingsRequest"}, + "output":{"shape":"ListMeetingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists up to 100 active Amazon Chime SDK meetings. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

" + }, + "ListPhoneNumberOrders":{ + "name":"ListPhoneNumberOrders", + "http":{ + "method":"GET", + "requestUri":"/phone-number-orders", + "responseCode":200 + }, + "input":{"shape":"ListPhoneNumberOrdersRequest"}, + "output":{"shape":"ListPhoneNumberOrdersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the phone number orders for the administrator's Amazon Chime account.

" + }, + "ListPhoneNumbers":{ + "name":"ListPhoneNumbers", + "http":{ + "method":"GET", + "requestUri":"/phone-numbers" + }, + "input":{"shape":"ListPhoneNumbersRequest"}, + "output":{"shape":"ListPhoneNumbersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the phone numbers for the specified Amazon Chime account, Amazon Chime user, Amazon Chime Voice Connector, or Amazon Chime Voice Connector group.

" + }, + "ListProxySessions":{ + "name":"ListProxySessions", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/proxy-sessions", + "responseCode":200 + }, + "input":{"shape":"ListProxySessionsRequest"}, + "output":{"shape":"ListProxySessionsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the proxy sessions for the specified Amazon Chime Voice Connector.

" + }, + "ListRoomMemberships":{ + "name":"ListRoomMemberships", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/memberships", + "responseCode":200 + }, + "input":{"shape":"ListRoomMembershipsRequest"}, + "output":{"shape":"ListRoomMembershipsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the membership details for the specified room in an Amazon Chime Enterprise account, such as the members' IDs, email addresses, and names.

" + }, + "ListRooms":{ + "name":"ListRooms", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/rooms", + "responseCode":200 + }, + "input":{"shape":"ListRoomsRequest"}, + "output":{"shape":"ListRoomsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the room details for the specified Amazon Chime Enterprise account. Optionally, filter the results by a member ID (user ID or bot ID) to see a list of rooms that the member belongs to.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the tags applied to an Amazon Chime SDK meeting resource.

" + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"GET", + "requestUri":"/accounts/{accountId}/users", + "responseCode":200 + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the users that belong to the specified Amazon Chime account. You can specify an email address to list only the user that the email address belongs to.

" + }, + "ListVoiceConnectorGroups":{ + "name":"ListVoiceConnectorGroups", + "http":{ + "method":"GET", + "requestUri":"/voice-connector-groups", + "responseCode":200 + }, + "input":{"shape":"ListVoiceConnectorGroupsRequest"}, + "output":{"shape":"ListVoiceConnectorGroupsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the Amazon Chime Voice Connector groups for the administrator's AWS account.

" + }, + "ListVoiceConnectorTerminationCredentials":{ + "name":"ListVoiceConnectorTerminationCredentials", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials", + "responseCode":200 + }, + "input":{"shape":"ListVoiceConnectorTerminationCredentialsRequest"}, + "output":{"shape":"ListVoiceConnectorTerminationCredentialsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the SIP credentials for the specified Amazon Chime Voice Connector.

" + }, + "ListVoiceConnectors":{ + "name":"ListVoiceConnectors", + "http":{ + "method":"GET", + "requestUri":"/voice-connectors", + "responseCode":200 + }, + "input":{"shape":"ListVoiceConnectorsRequest"}, + "output":{"shape":"ListVoiceConnectorsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the Amazon Chime Voice Connectors for the administrator's AWS account.

" + }, + "LogoutUser":{ + "name":"LogoutUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=logout", + "responseCode":204 + }, + "input":{"shape":"LogoutUserRequest"}, + "output":{"shape":"LogoutUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Logs out the specified user from all of the devices they are currently logged into.

" + }, + "PutEventsConfiguration":{ + "name":"PutEventsConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/bots/{botId}/events-configuration", + "responseCode":201 + }, + "input":{"shape":"PutEventsConfigurationRequest"}, + "output":{"shape":"PutEventsConfigurationResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Creates an events configuration that allows a bot to receive outgoing events sent by Amazon Chime. Choose either an HTTPS endpoint or a Lambda function ARN. For more information, see Bot.

" + }, + "PutRetentionSettings":{ + "name":"PutRetentionSettings", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/retention-settings", + "responseCode":204 + }, + "input":{"shape":"PutRetentionSettingsRequest"}, + "output":{"shape":"PutRetentionSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Puts retention settings for the specified Amazon Chime Enterprise account. We recommend using AWS CloudTrail to monitor usage of this API for your account. For more information, see Logging Amazon Chime API Calls with AWS CloudTrail in the Amazon Chime Administration Guide.

To turn off existing retention settings, remove the number of days from the corresponding RetentionDays field in the RetentionSettings object. For more information about retention settings, see Managing Chat Retention Policies in the Amazon Chime Administration Guide.

" + }, + "PutVoiceConnectorLoggingConfiguration":{ + "name":"PutVoiceConnectorLoggingConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/logging-configuration", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorLoggingConfigurationRequest"}, + "output":{"shape":"PutVoiceConnectorLoggingConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds a logging configuration for the specified Amazon Chime Voice Connector. The logging configuration specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.

" + }, + "PutVoiceConnectorOrigination":{ + "name":"PutVoiceConnectorOrigination", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/origination", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorOriginationRequest"}, + "output":{"shape":"PutVoiceConnectorOriginationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds origination settings for the specified Amazon Chime Voice Connector.

" + }, + "PutVoiceConnectorProxy":{ + "name":"PutVoiceConnectorProxy", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/programmable-numbers/proxy" + }, + "input":{"shape":"PutVoiceConnectorProxyRequest"}, + "output":{"shape":"PutVoiceConnectorProxyResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Puts the specified proxy configuration to the specified Amazon Chime Voice Connector.

" + }, + "PutVoiceConnectorStreamingConfiguration":{ + "name":"PutVoiceConnectorStreamingConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/streaming-configuration", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorStreamingConfigurationRequest"}, + "output":{"shape":"PutVoiceConnectorStreamingConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds a streaming configuration for the specified Amazon Chime Voice Connector. The streaming configuration specifies whether media streaming is enabled for sending to Amazon Kinesis. It also sets the retention period, in hours, for the Amazon Kinesis data.

" + }, + "PutVoiceConnectorTermination":{ + "name":"PutVoiceConnectorTermination", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination", + "responseCode":200 + }, + "input":{"shape":"PutVoiceConnectorTerminationRequest"}, + "output":{"shape":"PutVoiceConnectorTerminationResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds termination settings for the specified Amazon Chime Voice Connector.

" + }, + "PutVoiceConnectorTerminationCredentials":{ + "name":"PutVoiceConnectorTerminationCredentials", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/termination/credentials?operation=put", + "responseCode":204 + }, + "input":{"shape":"PutVoiceConnectorTerminationCredentialsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds termination SIP credentials for the specified Amazon Chime Voice Connector.

" + }, + "RedactConversationMessage":{ + "name":"RedactConversationMessage", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/conversations/{conversationId}/messages/{messageId}?operation=redact", + "responseCode":200 + }, + "input":{"shape":"RedactConversationMessageRequest"}, + "output":{"shape":"RedactConversationMessageResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"BadRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Redacts the specified message from the specified Amazon Chime conversation.

" + }, + "RedactRoomMessage":{ + "name":"RedactRoomMessage", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/messages/{messageId}?operation=redact", + "responseCode":200 + }, + "input":{"shape":"RedactRoomMessageRequest"}, + "output":{"shape":"RedactRoomMessageResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"BadRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Redacts the specified message from the specified Amazon Chime chat room.

" + }, + "RegenerateSecurityToken":{ + "name":"RegenerateSecurityToken", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots/{botId}?operation=regenerate-security-token", + "responseCode":200 + }, + "input":{"shape":"RegenerateSecurityTokenRequest"}, + "output":{"shape":"RegenerateSecurityTokenResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"} + ], + "documentation":"

Regenerates the security token for a bot.

" + }, + "ResetPersonalPIN":{ + "name":"ResetPersonalPIN", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}?operation=reset-personal-pin", + "responseCode":200 + }, + "input":{"shape":"ResetPersonalPINRequest"}, + "output":{"shape":"ResetPersonalPINResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Resets the personal meeting PIN for the specified user on an Amazon Chime account. Returns the User object with the updated personal meeting PIN.

" + }, + "RestorePhoneNumber":{ + "name":"RestorePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers/{phoneNumberId}?operation=restore", + "responseCode":200 + }, + "input":{"shape":"RestorePhoneNumberRequest"}, + "output":{"shape":"RestorePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Moves a phone number from the Deletion queue back into the phone number Inventory.

" + }, + "SearchAvailablePhoneNumbers":{ + "name":"SearchAvailablePhoneNumbers", + "http":{ + "method":"GET", + "requestUri":"/search?type=phone-numbers" + }, + "input":{"shape":"SearchAvailablePhoneNumbersRequest"}, + "output":{"shape":"SearchAvailablePhoneNumbersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Searches phone numbers that can be ordered.

" + }, + "TagAttendee":{ + "name":"TagAttendee", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/attendees/{attendeeId}/tags?operation=add", + "responseCode":204 + }, + "input":{"shape":"TagAttendeeRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Applies the specified tags to the specified Amazon Chime SDK attendee.

" + }, + "TagMeeting":{ + "name":"TagMeeting", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/tags?operation=add", + "responseCode":204 + }, + "input":{"shape":"TagMeetingRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ThrottledClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Applies the specified tags to the specified Amazon Chime SDK meeting.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags?operation=tag-resource", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Applies the specified tags to the specified Amazon Chime SDK meeting resource.

" + }, + "UntagAttendee":{ + "name":"UntagAttendee", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/attendees/{attendeeId}/tags?operation=delete", + "responseCode":204 + }, + "input":{"shape":"UntagAttendeeRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Untags the specified tags from the specified Amazon Chime SDK attendee.

" + }, + "UntagMeeting":{ + "name":"UntagMeeting", + "http":{ + "method":"POST", + "requestUri":"/meetings/{meetingId}/tags?operation=delete", + "responseCode":204 + }, + "input":{"shape":"UntagMeetingRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Untags the specified tags from the specified Amazon Chime SDK meeting.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/tags?operation=untag-resource", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Untags the specified tags from the specified Amazon Chime SDK meeting resource.

" + }, + "UpdateAccount":{ + "name":"UpdateAccount", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}", + "responseCode":200 + }, + "input":{"shape":"UpdateAccountRequest"}, + "output":{"shape":"UpdateAccountResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates account details for the specified Amazon Chime account. Currently, only account name updates are supported for this action.

" + }, + "UpdateAccountSettings":{ + "name":"UpdateAccountSettings", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateAccountSettingsRequest"}, + "output":{"shape":"UpdateAccountSettingsResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the settings for the specified Amazon Chime account. You can update settings for remote control of shared screens, or for the dial-out option. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "UpdateBot":{ + "name":"UpdateBot", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/bots/{botId}", + "responseCode":200 + }, + "input":{"shape":"UpdateBotRequest"}, + "output":{"shape":"UpdateBotResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ThrottledClientException"} + ], + "documentation":"

Updates the status of the specified bot, such as starting or stopping the bot from running in your Amazon Chime Enterprise account.

" + }, + "UpdateGlobalSettings":{ + "name":"UpdateGlobalSettings", + "http":{ + "method":"PUT", + "requestUri":"/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateGlobalSettingsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates global settings for the administrator's AWS account, such as Amazon Chime Business Calling and Amazon Chime Voice Connector settings.

" + }, + "UpdatePhoneNumber":{ + "name":"UpdatePhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/phone-numbers/{phoneNumberId}", + "responseCode":200 + }, + "input":{"shape":"UpdatePhoneNumberRequest"}, + "output":{"shape":"UpdatePhoneNumberResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates phone number details, such as product type or calling name, for the specified phone number ID. You can update one phone number detail at a time. For example, you can update either the product type or the calling name in one action.

For toll-free numbers, you must use the Amazon Chime Voice Connector product type.

Updates to outbound calling names can take up to 72 hours to complete. Pending updates to outbound calling names must be complete before you can request another update.

" + }, + "UpdatePhoneNumberSettings":{ + "name":"UpdatePhoneNumberSettings", + "http":{ + "method":"PUT", + "requestUri":"/settings/phone-number", + "responseCode":204 + }, + "input":{"shape":"UpdatePhoneNumberSettingsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the phone number settings for the administrator's AWS account, such as the default outbound calling name. You can update the default outbound calling name once every seven days. Outbound calling names can take up to 72 hours to update.

" + }, + "UpdateProxySession":{ + "name":"UpdateProxySession", + "http":{ + "method":"POST", + "requestUri":"/voice-connectors/{voiceConnectorId}/proxy-sessions/{proxySessionId}", + "responseCode":201 + }, + "input":{"shape":"UpdateProxySessionRequest"}, + "output":{"shape":"UpdateProxySessionResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the specified proxy session details, such as voice or SMS capabilities.

" + }, + "UpdateRoom":{ + "name":"UpdateRoom", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms/{roomId}", + "responseCode":200 + }, + "input":{"shape":"UpdateRoomRequest"}, + "output":{"shape":"UpdateRoomResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates room details, such as the room name, for a room in an Amazon Chime Enterprise account.

" + }, + "UpdateRoomMembership":{ + "name":"UpdateRoomMembership", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/rooms/{roomId}/memberships/{memberId}", + "responseCode":200 + }, + "input":{"shape":"UpdateRoomMembershipRequest"}, + "output":{"shape":"UpdateRoomMembershipResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates room membership details, such as the member role, for a room in an Amazon Chime Enterprise account. The member role designates whether the member is a chat room administrator or a general chat room member. The member role can be updated only for user IDs.

" + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{accountId}/users/{userId}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates user details for a specified user ID. Currently, only LicenseType updates are supported for this action.

" + }, + "UpdateUserSettings":{ + "name":"UpdateUserSettings", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{accountId}/users/{userId}/settings", + "responseCode":204 + }, + "input":{"shape":"UpdateUserSettingsRequest"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the settings for the specified user, such as phone number settings.

" + }, + "UpdateVoiceConnector":{ + "name":"UpdateVoiceConnector", + "http":{ + "method":"PUT", + "requestUri":"/voice-connectors/{voiceConnectorId}", + "responseCode":200 + }, + "input":{"shape":"UpdateVoiceConnectorRequest"}, + "output":{"shape":"UpdateVoiceConnectorResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates details for the specified Amazon Chime Voice Connector.

" + }, + "UpdateVoiceConnectorGroup":{ + "name":"UpdateVoiceConnectorGroup", + "http":{ + "method":"PUT", + "requestUri":"/voice-connector-groups/{voiceConnectorGroupId}", + "responseCode":202 + }, + "input":{"shape":"UpdateVoiceConnectorGroupRequest"}, + "output":{"shape":"UpdateVoiceConnectorGroupResponse"}, + "errors":[ + {"shape":"UnauthorizedClientException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottledClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates details for the specified Amazon Chime Voice Connector group, such as the name and Amazon Chime Voice Connector priority ranking.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

You don't have permissions to perform the requested operation.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "Account":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AccountId", + "Name" + ], + "members":{ + "AwsAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID.

" + }, + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The Amazon Chime account name.

" + }, + "AccountType":{ + "shape":"AccountType", + "documentation":"

The Amazon Chime account type. For more information about different account types, see Managing Your Amazon Chime Accounts in the Amazon Chime Administration Guide.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The Amazon Chime account creation timestamp, in ISO 8601 format.

" + }, + "DefaultLicense":{ + "shape":"License", + "documentation":"

The default license for the Amazon Chime account.

" + }, + "SupportedLicenses":{ + "shape":"LicenseList", + "documentation":"

Supported licenses for the Amazon Chime account.

" + }, + "SigninDelegateGroups":{ + "shape":"SigninDelegateGroupList", + "documentation":"

The sign-in delegate groups associated with the account.

" + } + }, + "documentation":"

The Amazon Chime account details. An AWS account can have multiple Amazon Chime accounts.

" + }, + "AccountList":{ + "type":"list", + "member":{"shape":"Account"} + }, + "AccountName":{ + "type":"string", + "max":100, + "min":1, + "pattern":".*\\S.*" + }, + "AccountSettings":{ + "type":"structure", + "members":{ + "DisableRemoteControl":{ + "shape":"Boolean", + "documentation":"

Setting that stops or starts remote control of shared screens during meetings.

" + }, + "EnableDialOut":{ + "shape":"Boolean", + "documentation":"

Setting that allows meeting participants to choose the Call me at a phone number option. For more information, see Join a Meeting without the Amazon Chime App.

" + } + }, + "documentation":"

Settings related to the Amazon Chime account. This includes settings that start or stop remote control of shared screens, or start or stop the dial-out option in the Amazon Chime web application. For more information about these settings, see Use the Policies Page in the Amazon Chime Administration Guide.

" + }, + "AccountType":{ + "type":"string", + "enum":[ + "Team", + "EnterpriseDirectory", + "EnterpriseLWA", + "EnterpriseOIDC" + ] + }, + "AlexaForBusinessMetadata":{ + "type":"structure", + "members":{ + "IsAlexaForBusinessEnabled":{ + "shape":"Boolean", + "documentation":"

Starts or stops Alexa for Business.

" + }, + "AlexaForBusinessRoomArn":{ + "shape":"SensitiveString", + "documentation":"

The ARN of the room resource.

" + } + }, + "documentation":"

The Alexa for Business metadata associated with an Amazon Chime user, used to integrate Alexa for Business with a device.

" + }, + "AreaCode":{ + "type":"string", + "pattern":"^$|^[0-9]{3,3}$" + }, + "Arn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^arn[\\/\\:\\-\\_\\.a-zA-Z0-9]+$", + "sensitive":true + }, + "AssociatePhoneNumberWithUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId", + "E164PhoneNumber" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + }, + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + } + } + }, + "AssociatePhoneNumberWithUserResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociatePhoneNumbersWithVoiceConnectorGroupRequest":{ + "type":"structure", + "required":["VoiceConnectorGroupId"], + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

", + "location":"uri", + "locationName":"voiceConnectorGroupId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + }, + "ForceAssociate":{ + "shape":"NullableBoolean", + "documentation":"

If true, associates the provided phone numbers with the provided Amazon Chime Voice Connector Group and removes any previously existing associations. If false, does not associate any phone numbers that have previously existing associations.

" + } + } + }, + "AssociatePhoneNumbersWithVoiceConnectorGroupResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "AssociatePhoneNumbersWithVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + }, + "ForceAssociate":{ + "shape":"NullableBoolean", + "documentation":"

If true, associates the provided phone numbers with the provided Amazon Chime Voice Connector and removes any previously existing associations. If false, does not associate any phone numbers that have previously existing associations.

" + } + } + }, + "AssociatePhoneNumbersWithVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "AssociateSigninDelegateGroupsWithAccountRequest":{ + "type":"structure", + "required":[ + "AccountId", + "SigninDelegateGroups" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "SigninDelegateGroups":{ + "shape":"SigninDelegateGroupList", + "documentation":"

The sign-in delegate groups.

" + } + } + }, + "AssociateSigninDelegateGroupsWithAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "Attendee":{ + "type":"structure", + "members":{ + "ExternalUserId":{ + "shape":"ExternalUserIdType", + "documentation":"

The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

" + }, + "JoinToken":{ + "shape":"JoinTokenString", + "documentation":"

The join token used by the Amazon Chime SDK attendee.

" + } + }, + "documentation":"

An Amazon Chime SDK meeting attendee. Includes a unique AttendeeId and JoinToken. The JoinToken allows a client to authenticate and join as the specified attendee. The JoinToken expires when the meeting ends or when DeleteAttendee is called. After that, the attendee is unable to join the meeting.

We recommend securely transferring each JoinToken from your server application to the client so that no other client has access to the token except for the one authorized to represent the attendee.

" + }, + "AttendeeList":{ + "type":"list", + "member":{"shape":"Attendee"} + }, + "AttendeeTagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":10, + "min":1 + }, + "AttendeeTagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":10, + "min":1 + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The input parameters don't match the service's restrictions.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BatchCreateAttendeeErrorList":{ + "type":"list", + "member":{"shape":"CreateAttendeeError"} + }, + "BatchCreateAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "Attendees" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "Attendees":{ + "shape":"CreateAttendeeRequestItemList", + "documentation":"

The request containing the attendees to create.

" + } + } + }, + "BatchCreateAttendeeResponse":{ + "type":"structure", + "members":{ + "Attendees":{ + "shape":"AttendeeList", + "documentation":"

The attendee information, including attendees IDs and join tokens.

" + }, + "Errors":{ + "shape":"BatchCreateAttendeeErrorList", + "documentation":"

If the action fails for one or more of the attendees in the request, a list of the attendees is returned, along with error codes and error messages.

" + } + } + }, + "BatchCreateRoomMembershipRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId", + "MembershipItemList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MembershipItemList":{ + "shape":"MembershipItemList", + "documentation":"

The list of membership items.

" + } + } + }, + "BatchCreateRoomMembershipResponse":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"MemberErrorList", + "documentation":"

If the action fails for one or more of the member IDs in the request, a list of the member IDs is returned, along with error codes and error messages.

" + } + } + }, + "BatchDeletePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberIds"], + "members":{ + "PhoneNumberIds":{ + "shape":"NonEmptyStringList", + "documentation":"

List of phone number IDs.

" + } + } + }, + "BatchDeletePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "BatchSuspendUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserIdList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserIdList":{ + "shape":"UserIdList", + "documentation":"

The request containing the user IDs to suspend.

" + } + } + }, + "BatchSuspendUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchSuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "BatchUnsuspendUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserIdList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserIdList":{ + "shape":"UserIdList", + "documentation":"

The request containing the user IDs to unsuspend.

" + } + } + }, + "BatchUnsuspendUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchUnsuspendUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "BatchUpdatePhoneNumberRequest":{ + "type":"structure", + "required":["UpdatePhoneNumberRequestItems"], + "members":{ + "UpdatePhoneNumberRequestItems":{ + "shape":"UpdatePhoneNumberRequestItemList", + "documentation":"

The request containing the phone number IDs and product types or calling names to update.

" + } + } + }, + "BatchUpdatePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "BatchUpdateUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UpdateUserRequestItems" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UpdateUserRequestItems":{ + "shape":"UpdateUserRequestItemList", + "documentation":"

The request containing the user IDs and details to update.

" + } + } + }, + "BatchUpdateUserResponse":{ + "type":"structure", + "members":{ + "UserErrors":{ + "shape":"UserErrorList", + "documentation":"

If the BatchUpdateUser action fails for one or more of the user IDs in the request, a list of the user IDs is returned, along with error codes and error messages.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "Bot":{ + "type":"structure", + "members":{ + "BotId":{ + "shape":"String", + "documentation":"

The bot ID.

" + }, + "UserId":{ + "shape":"String", + "documentation":"

The unique ID for the bot user.

" + }, + "DisplayName":{ + "shape":"SensitiveString", + "documentation":"

The bot display name.

" + }, + "BotType":{ + "shape":"BotType", + "documentation":"

The bot type.

" + }, + "Disabled":{ + "shape":"NullableBoolean", + "documentation":"

When true, the bot is stopped from running in your account.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The bot creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated bot timestamp, in ISO 8601 format.

" + }, + "BotEmail":{ + "shape":"SensitiveString", + "documentation":"

The bot email address.

" + }, + "SecurityToken":{ + "shape":"SensitiveString", + "documentation":"

The security token used to authenticate Amazon Chime with the outgoing event endpoint.

" + } + }, + "documentation":"

A resource that allows Enterprise account administrators to configure an interface to receive events from Amazon Chime.

" + }, + "BotList":{ + "type":"list", + "member":{"shape":"Bot"} + }, + "BotType":{ + "type":"string", + "enum":["ChatBot"] + }, + "BusinessCallingSettings":{ + "type":"structure", + "members":{ + "CdrBucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket designated for call detail record storage.

", + "box":true + } + }, + "documentation":"

The Amazon Chime Business Calling settings for the administrator's AWS account. Includes any Amazon S3 buckets designated for storing call detail records.

" + }, + "CallingName":{ + "type":"string", + "pattern":"^$|^[a-zA-Z0-9 ]{2,15}$", + "sensitive":true + }, + "CallingNameStatus":{ + "type":"string", + "enum":[ + "Unassigned", + "UpdateInProgress", + "UpdateSucceeded", + "UpdateFailed" + ] + }, + "CallingRegion":{"type":"string"}, + "CallingRegionList":{ + "type":"list", + "member":{"shape":"CallingRegion"} + }, + "Capability":{ + "type":"string", + "enum":[ + "Voice", + "SMS" + ] + }, + "CapabilityList":{ + "type":"list", + "member":{"shape":"Capability"} + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":2, + "pattern":"[-_a-zA-Z0-9]*", + "sensitive":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request could not be processed because of conflict in the current state of the resource.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ConversationRetentionSettings":{ + "type":"structure", + "members":{ + "RetentionDays":{ + "shape":"RetentionDays", + "documentation":"

The number of days for which to retain chat conversation messages.

" + } + }, + "documentation":"

The retention settings that determine how long to retain chat conversation messages for an Amazon Chime Enterprise account.

" + }, + "Country":{ + "type":"string", + "pattern":"^$|^[A-Z]{2,2}$" + }, + "CountryList":{ + "type":"list", + "member":{"shape":"Country"}, + "max":100, + "min":1 + }, + "CpsLimit":{ + "type":"integer", + "min":1 + }, + "CreateAccountRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"AccountName", + "documentation":"

The name of the Amazon Chime account.

" + } + } + }, + "CreateAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

The Amazon Chime account details.

" + } + } + }, + "CreateAttendeeError":{ + "type":"structure", + "members":{ + "ExternalUserId":{ + "shape":"ExternalUserIdType", + "documentation":"

The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

The list of errors returned when errors are encountered during the BatchCreateAttendee and CreateAttendee actions. This includes external user IDs, error codes, and error messages.

" + }, + "CreateAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "ExternalUserId" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "ExternalUserId":{ + "shape":"ExternalUserIdType", + "documentation":"

The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

" + }, + "Tags":{ + "shape":"AttendeeTagList", + "documentation":"

The tag key-value pairs.

" + } + } + }, + "CreateAttendeeRequestItem":{ + "type":"structure", + "required":["ExternalUserId"], + "members":{ + "ExternalUserId":{ + "shape":"ExternalUserIdType", + "documentation":"

The Amazon Chime SDK external user ID. Links the attendee to an identity managed by a builder application.

" + }, + "Tags":{ + "shape":"AttendeeTagList", + "documentation":"

The tag key-value pairs.

" + } + }, + "documentation":"

The Amazon Chime SDK attendee fields to create, used with the BatchCreateAttendee action.

" + }, + "CreateAttendeeRequestItemList":{ + "type":"list", + "member":{"shape":"CreateAttendeeRequestItem"} + }, + "CreateAttendeeResponse":{ + "type":"structure", + "members":{ + "Attendee":{ + "shape":"Attendee", + "documentation":"

The attendee information, including attendee ID and join token.

" + } + } + }, + "CreateBotRequest":{ + "type":"structure", + "required":[ + "DisplayName", + "AccountId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "DisplayName":{ + "shape":"SensitiveString", + "documentation":"

The bot display name.

" + }, + "Domain":{ + "shape":"NonEmptyString", + "documentation":"

The domain of the Amazon Chime Enterprise account.

" + } + } + }, + "CreateBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The bot details.

" + } + } + }, + "CreateMeetingRequest":{ + "type":"structure", + "required":["ClientRequestToken"], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for the client request. Use a different token for different meetings.

", + "idempotencyToken":true + }, + "ExternalMeetingId":{ + "shape":"ExternalMeetingIdType", + "documentation":"

The external meeting ID.

" + }, + "MeetingHostId":{ + "shape":"ExternalUserIdType", + "documentation":"

Reserved.

" + }, + "MediaRegion":{ + "shape":"String", + "documentation":"

The Region in which to create the meeting. Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

" + }, + "Tags":{ + "shape":"MeetingTagList", + "documentation":"

The tag key-value pairs.

" + }, + "NotificationsConfiguration":{ + "shape":"MeetingNotificationConfiguration", + "documentation":"

The configuration for resource targets to receive notifications when meeting and attendee events occur.

" + } + } + }, + "CreateMeetingResponse":{ + "type":"structure", + "members":{ + "Meeting":{ + "shape":"Meeting", + "documentation":"

The meeting information, including the meeting ID and MediaPlacement.

" + } + } + }, + "CreatePhoneNumberOrderRequest":{ + "type":"structure", + "required":[ + "ProductType", + "E164PhoneNumbers" + ], + "members":{ + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "CreatePhoneNumberOrderResponse":{ + "type":"structure", + "members":{ + "PhoneNumberOrder":{ + "shape":"PhoneNumberOrder", + "documentation":"

The phone number order details.

" + } + } + }, + "CreateProxySessionRequest":{ + "type":"structure", + "required":[ + "ParticipantPhoneNumbers", + "Capabilities", + "VoiceConnectorId" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "ParticipantPhoneNumbers":{ + "shape":"ParticipantPhoneNumberList", + "documentation":"

The participant phone numbers.

" + }, + "Name":{ + "shape":"ProxySessionNameString", + "documentation":"

The name of the proxy session.

" + }, + "ExpiryMinutes":{ + "shape":"PositiveInteger", + "documentation":"

The number of minutes allowed for the proxy session.

" + }, + "Capabilities":{ + "shape":"CapabilityList", + "documentation":"

The proxy session capabilities.

" + }, + "NumberSelectionBehavior":{ + "shape":"NumberSelectionBehavior", + "documentation":"

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

" + }, + "GeoMatchLevel":{ + "shape":"GeoMatchLevel", + "documentation":"

The preference for matching the country or area code of the proxy phone number with that of the first participant.

" + }, + "GeoMatchParams":{ + "shape":"GeoMatchParams", + "documentation":"

The country and area code for the proxy phone number.

" + } + } + }, + "CreateProxySessionResponse":{ + "type":"structure", + "members":{ + "ProxySession":{ + "shape":"ProxySession", + "documentation":"

The proxy session details.

" + } + } + }, + "CreateRoomMembershipRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId", + "MemberId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime member ID (user ID or bot ID).

" + }, + "Role":{ + "shape":"RoomMembershipRole", + "documentation":"

The role of the member.

" + } + } + }, + "CreateRoomMembershipResponse":{ + "type":"structure", + "members":{ + "RoomMembership":{ + "shape":"RoomMembership", + "documentation":"

The room membership details.

" + } + } + }, + "CreateRoomRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "Name":{ + "shape":"SensitiveString", + "documentation":"

The room name.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The idempotency token for the request.

", + "idempotencyToken":true + } + } + }, + "CreateRoomResponse":{ + "type":"structure", + "members":{ + "Room":{ + "shape":"Room", + "documentation":"

The room details.

" + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "Username":{ + "shape":"String", + "documentation":"

The user name.

" + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

The user's email address.

" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"User"} + } + }, + "CreateVoiceConnectorGroupRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"VoiceConnectorGroupName", + "documentation":"

The name of the Amazon Chime Voice Connector group.

" + }, + "VoiceConnectorItems":{ + "shape":"VoiceConnectorItemList", + "documentation":"

The Amazon Chime Voice Connectors to route inbound calls to.

" + } + } + }, + "CreateVoiceConnectorGroupResponse":{ + "type":"structure", + "members":{ + "VoiceConnectorGroup":{ + "shape":"VoiceConnectorGroup", + "documentation":"

The Amazon Chime Voice Connector group details.

" + } + } + }, + "CreateVoiceConnectorRequest":{ + "type":"structure", + "required":[ + "Name", + "RequireEncryption" + ], + "members":{ + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "AwsRegion":{ + "shape":"VoiceConnectorAwsRegion", + "documentation":"

The AWS Region in which the Amazon Chime Voice Connector is created. Default value: us-east-1.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

When enabled, requires encryption for the Amazon Chime Voice Connector.

" + } + } + }, + "CreateVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The Amazon Chime Voice Connector details.

" + } + } + }, + "Credential":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"SensitiveString", + "documentation":"

The RFC2617 compliant user name associated with the SIP credentials, in US-ASCII format.

" + }, + "Password":{ + "shape":"SensitiveString", + "documentation":"

The RFC2617 compliant password associated with the SIP credentials, in US-ASCII format.

" + } + }, + "documentation":"

The SIP credentials used to authenticate requests to your Amazon Chime Voice Connector.

" + }, + "CredentialList":{ + "type":"list", + "member":{"shape":"Credential"} + }, + "DataRetentionInHours":{ + "type":"integer", + "min":0 + }, + "DeleteAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "DeleteAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "AttendeeId" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

", + "location":"uri", + "locationName":"attendeeId" + } + } + }, + "DeleteEventsConfigurationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "DeleteMeetingRequest":{ + "type":"structure", + "required":["MeetingId"], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + } + } + }, + "DeletePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "DeleteProxySessionRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "ProxySessionId" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "ProxySessionId":{ + "shape":"NonEmptyString128", + "documentation":"

The proxy session ID.

", + "location":"uri", + "locationName":"proxySessionId" + } + } + }, + "DeleteRoomMembershipRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId", + "MemberId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The member ID (user ID or bot ID).

", + "location":"uri", + "locationName":"memberId" + } + } + }, + "DeleteRoomRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The chat room ID.

", + "location":"uri", + "locationName":"roomId" + } + } + }, + "DeleteVoiceConnectorGroupRequest":{ + "type":"structure", + "required":["VoiceConnectorGroupId"], + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

", + "location":"uri", + "locationName":"voiceConnectorGroupId" + } + } + }, + "DeleteVoiceConnectorOriginationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorProxyRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorStreamingConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DeleteVoiceConnectorTerminationCredentialsRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Usernames":{ + "shape":"SensitiveStringList", + "documentation":"

The RFC2617 compliant username associated with the SIP credentials, in US-ASCII format.

" + } + } + }, + "DeleteVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "DisassociatePhoneNumberFromUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "DisassociatePhoneNumberFromUserResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorGroupRequest":{ + "type":"structure", + "required":["VoiceConnectorGroupId"], + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

", + "location":"uri", + "locationName":"voiceConnectorGroupId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorGroupResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "DisassociatePhoneNumbersFromVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "PhoneNumberErrors":{ + "shape":"PhoneNumberErrorList", + "documentation":"

If the action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + } + } + }, + "DisassociateSigninDelegateGroupsFromAccountRequest":{ + "type":"structure", + "required":[ + "AccountId", + "GroupNames" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "GroupNames":{ + "shape":"NonEmptyStringList", + "documentation":"

The sign-in delegate group names.

" + } + } + }, + "DisassociateSigninDelegateGroupsFromAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "E164PhoneNumber":{ + "type":"string", + "pattern":"^\\+?[1-9]\\d{1,14}$", + "sensitive":true + }, + "E164PhoneNumberList":{ + "type":"list", + "member":{"shape":"E164PhoneNumber"} + }, + "EmailAddress":{ + "type":"string", + "pattern":".+@.+\\..+", + "sensitive":true + }, + "EmailStatus":{ + "type":"string", + "enum":[ + "NotSent", + "Sent", + "Failed" + ] + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "BadRequest", + "Conflict", + "Forbidden", + "NotFound", + "PreconditionFailed", + "ResourceLimitExceeded", + "ServiceFailure", + "AccessDenied", + "ServiceUnavailable", + "Throttled", + "Unauthorized", + "Unprocessable", + "VoiceConnectorGroupAssociationsExist", + "PhoneNumberAssociationsExist" + ] + }, + "EventsConfiguration":{ + "type":"structure", + "members":{ + "BotId":{ + "shape":"String", + "documentation":"

The bot ID.

" + }, + "OutboundEventsHTTPSEndpoint":{ + "shape":"SensitiveString", + "documentation":"

HTTPS endpoint that allows a bot to receive outgoing events.

" + }, + "LambdaFunctionArn":{ + "shape":"SensitiveString", + "documentation":"

Lambda function ARN that allows a bot to receive outgoing events.

" + } + }, + "documentation":"

The configuration that allows a bot to receive outgoing events. Can be either an HTTPS endpoint or a Lambda function ARN.

" + }, + "ExternalMeetingIdType":{ + "type":"string", + "max":64, + "min":2, + "sensitive":true + }, + "ExternalUserIdType":{ + "type":"string", + "max":64, + "min":2, + "sensitive":true + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The client is permanently forbidden from making the request. For example, when a user tries to create an account from an unsupported Region.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "GeoMatchLevel":{ + "type":"string", + "enum":[ + "Country", + "AreaCode" + ] + }, + "GeoMatchParams":{ + "type":"structure", + "required":[ + "Country", + "AreaCode" + ], + "members":{ + "Country":{ + "shape":"Country", + "documentation":"

The country.

" + }, + "AreaCode":{ + "shape":"AreaCode", + "documentation":"

The area code.

" + } + }, + "documentation":"

The country and area code for a proxy phone number in a proxy phone session.

" + }, + "GetAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "GetAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

The Amazon Chime account details.

" + } + } + }, + "GetAccountSettingsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "GetAccountSettingsResponse":{ + "type":"structure", + "members":{ + "AccountSettings":{ + "shape":"AccountSettings", + "documentation":"

The Amazon Chime account settings.

" + } + } + }, + "GetAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "AttendeeId" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

", + "location":"uri", + "locationName":"attendeeId" + } + } + }, + "GetAttendeeResponse":{ + "type":"structure", + "members":{ + "Attendee":{ + "shape":"Attendee", + "documentation":"

The Amazon Chime SDK attendee information.

" + } + } + }, + "GetBotRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "GetBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The chat bot details.

" + } + } + }, + "GetEventsConfigurationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "GetEventsConfigurationResponse":{ + "type":"structure", + "members":{ + "EventsConfiguration":{ + "shape":"EventsConfiguration", + "documentation":"

The events configuration details.

" + } + } + }, + "GetGlobalSettingsResponse":{ + "type":"structure", + "members":{ + "BusinessCalling":{ + "shape":"BusinessCallingSettings", + "documentation":"

The Amazon Chime Business Calling settings.

" + }, + "VoiceConnector":{ + "shape":"VoiceConnectorSettings", + "documentation":"

The Amazon Chime Voice Connector settings.

" + } + } + }, + "GetMeetingRequest":{ + "type":"structure", + "required":["MeetingId"], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + } + } + }, + "GetMeetingResponse":{ + "type":"structure", + "members":{ + "Meeting":{ + "shape":"Meeting", + "documentation":"

The Amazon Chime SDK meeting information.

" + } + } + }, + "GetPhoneNumberOrderRequest":{ + "type":"structure", + "required":["PhoneNumberOrderId"], + "members":{ + "PhoneNumberOrderId":{ + "shape":"GuidString", + "documentation":"

The ID for the phone number order.

", + "location":"uri", + "locationName":"phoneNumberOrderId" + } + } + }, + "GetPhoneNumberOrderResponse":{ + "type":"structure", + "members":{ + "PhoneNumberOrder":{ + "shape":"PhoneNumberOrder", + "documentation":"

The phone number order details.

" + } + } + }, + "GetPhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "GetPhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number details.

" + } + } + }, + "GetPhoneNumberSettingsResponse":{ + "type":"structure", + "members":{ + "CallingName":{ + "shape":"CallingName", + "documentation":"

The default outbound calling name for the account.

" + }, + "CallingNameUpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated outbound calling name timestamp, in ISO 8601 format.

" + } + } + }, + "GetProxySessionRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "ProxySessionId" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "ProxySessionId":{ + "shape":"NonEmptyString128", + "documentation":"

The proxy session ID.

", + "location":"uri", + "locationName":"proxySessionId" + } + } + }, + "GetProxySessionResponse":{ + "type":"structure", + "members":{ + "ProxySession":{ + "shape":"ProxySession", + "documentation":"

The proxy session details.

" + } + } + }, + "GetRetentionSettingsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "GetRetentionSettingsResponse":{ + "type":"structure", + "members":{ + "RetentionSettings":{ + "shape":"RetentionSettings", + "documentation":"

The retention settings.

" + }, + "InitiateDeletionTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

" + } + } + }, + "GetRoomRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + } + } + }, + "GetRoomResponse":{ + "type":"structure", + "members":{ + "Room":{ + "shape":"Room", + "documentation":"

The room details.

" + } + } + }, + "GetUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "GetUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user details.

" + } + } + }, + "GetUserSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "GetUserSettingsResponse":{ + "type":"structure", + "members":{ + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

The user settings.

" + } + } + }, + "GetVoiceConnectorGroupRequest":{ + "type":"structure", + "required":["VoiceConnectorGroupId"], + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

", + "location":"uri", + "locationName":"voiceConnectorGroupId" + } + } + }, + "GetVoiceConnectorGroupResponse":{ + "type":"structure", + "members":{ + "VoiceConnectorGroup":{ + "shape":"VoiceConnectorGroup", + "documentation":"

The Amazon Chime Voice Connector group details.

" + } + } + }, + "GetVoiceConnectorLoggingConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

The logging configuration details.

" + } + } + }, + "GetVoiceConnectorOriginationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorOriginationResponse":{ + "type":"structure", + "members":{ + "Origination":{ + "shape":"Origination", + "documentation":"

The origination setting details.

" + } + } + }, + "GetVoiceConnectorProxyRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorProxyResponse":{ + "type":"structure", + "members":{ + "Proxy":{ + "shape":"Proxy", + "documentation":"

The proxy configuration details.

" + } + } + }, + "GetVoiceConnectorRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The Amazon Chime Voice Connector details.

" + } + } + }, + "GetVoiceConnectorStreamingConfigurationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorStreamingConfigurationResponse":{ + "type":"structure", + "members":{ + "StreamingConfiguration":{ + "shape":"StreamingConfiguration", + "documentation":"

The streaming configuration details.

" + } + } + }, + "GetVoiceConnectorTerminationHealthRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorTerminationHealthResponse":{ + "type":"structure", + "members":{ + "TerminationHealth":{ + "shape":"TerminationHealth", + "documentation":"

The termination health details.

" + } + } + }, + "GetVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "GetVoiceConnectorTerminationResponse":{ + "type":"structure", + "members":{ + "Termination":{ + "shape":"Termination", + "documentation":"

The termination setting details.

" + } + } + }, + "GuidString":{ + "type":"string", + "pattern":"[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}" + }, + "Integer":{"type":"integer"}, + "Invite":{ + "type":"structure", + "members":{ + "InviteId":{ + "shape":"String", + "documentation":"

The invite ID.

" + }, + "Status":{ + "shape":"InviteStatus", + "documentation":"

The status of the invite.

" + }, + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The email address to which the invite is sent.

" + }, + "EmailStatus":{ + "shape":"EmailStatus", + "documentation":"

The status of the invite email.

" + } + }, + "documentation":"

Invitation object returned after emailing users to invite them to join the Amazon Chime Team account.

" + }, + "InviteList":{ + "type":"list", + "member":{"shape":"Invite"} + }, + "InviteStatus":{ + "type":"string", + "enum":[ + "Pending", + "Accepted", + "Failed" + ] + }, + "InviteUsersRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserEmailList" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserEmailList":{ + "shape":"UserEmailList", + "documentation":"

The user email addresses to which to send the email invitation.

" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

" + } + } + }, + "InviteUsersResponse":{ + "type":"structure", + "members":{ + "Invites":{ + "shape":"InviteList", + "documentation":"

The email invitation details.

" + } + } + }, + "Iso8601Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "JoinTokenString":{ + "type":"string", + "max":2048, + "min":2, + "sensitive":true + }, + "License":{ + "type":"string", + "enum":[ + "Basic", + "Plus", + "Pro", + "ProTrial" + ] + }, + "LicenseList":{ + "type":"list", + "member":{"shape":"License"} + }, + "ListAccountsRequest":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AccountName", + "documentation":"

Amazon Chime account name prefix with which to filter results.

", + "location":"querystring", + "locationName":"name" + }, + "UserEmail":{ + "shape":"EmailAddress", + "documentation":"

User email address with which to filter results.

", + "location":"querystring", + "locationName":"user-email" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ProfileServiceMaxResults", + "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListAccountsResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"AccountList", + "documentation":"

List of Amazon Chime accounts and account details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListAttendeeTagsRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "AttendeeId" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

", + "location":"uri", + "locationName":"attendeeId" + } + } + }, + "ListAttendeeTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key-value pairs.

" + } + } + }, + "ListAttendeesRequest":{ + "type":"structure", + "required":["MeetingId"], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListAttendeesResponse":{ + "type":"structure", + "members":{ + "Attendees":{ + "shape":"AttendeeList", + "documentation":"

The Amazon Chime SDK attendee information.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListBotsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call. The default is 10.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListBotsResponse":{ + "type":"structure", + "members":{ + "Bots":{ + "shape":"BotList", + "documentation":"

List of bots and bot details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListMeetingTagsRequest":{ + "type":"structure", + "required":["MeetingId"], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + } + } + }, + "ListMeetingTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key-value pairs.

" + } + } + }, + "ListMeetingsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListMeetingsResponse":{ + "type":"structure", + "members":{ + "Meetings":{ + "shape":"MeetingList", + "documentation":"

The Amazon Chime SDK meeting information.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListPhoneNumberOrdersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListPhoneNumberOrdersResponse":{ + "type":"structure", + "members":{ + "PhoneNumberOrders":{ + "shape":"PhoneNumberOrderList", + "documentation":"

The phone number order details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListPhoneNumbersRequest":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"PhoneNumberStatus", + "documentation":"

The phone number status.

", + "location":"querystring", + "locationName":"status" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

", + "location":"querystring", + "locationName":"product-type" + }, + "FilterName":{ + "shape":"PhoneNumberAssociationName", + "documentation":"

The filter to use to limit the number of results.

", + "location":"querystring", + "locationName":"filter-name" + }, + "FilterValue":{ + "shape":"String", + "documentation":"

The value to use for the filter.

", + "location":"querystring", + "locationName":"filter-value" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListPhoneNumbersResponse":{ + "type":"structure", + "members":{ + "PhoneNumbers":{ + "shape":"PhoneNumberList", + "documentation":"

The phone number details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListProxySessionsRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Status":{ + "shape":"ProxySessionStatus", + "documentation":"

The proxy session status.

", + "location":"querystring", + "locationName":"status" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListProxySessionsResponse":{ + "type":"structure", + "members":{ + "ProxySessions":{ + "shape":"ProxySessions", + "documentation":"

The proxy session details.

" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListRoomMembershipsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListRoomMembershipsResponse":{ + "type":"structure", + "members":{ + "RoomMemberships":{ + "shape":"RoomMembershipList", + "documentation":"

The room membership details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListRoomsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "MemberId":{ + "shape":"String", + "documentation":"

The member ID (user ID or bot ID).

", + "location":"querystring", + "locationName":"member-id" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListRoomsResponse":{ + "type":"structure", + "members":{ + "Rooms":{ + "shape":"RoomList", + "documentation":"

The room details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The resource ARN.

", + "location":"querystring", + "locationName":"arn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag-key value pairs.

" + } + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserEmail":{ + "shape":"EmailAddress", + "documentation":"

Optional. The user email address used to filter results. Maximum 1.

", + "location":"querystring", + "locationName":"user-email" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

", + "location":"querystring", + "locationName":"user-type" + }, + "MaxResults":{ + "shape":"ProfileServiceMaxResults", + "documentation":"

The maximum number of results to return in a single call. Defaults to 100.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserList", + "documentation":"

List of users and user details.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListVoiceConnectorGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListVoiceConnectorGroupsResponse":{ + "type":"structure", + "members":{ + "VoiceConnectorGroups":{ + "shape":"VoiceConnectorGroupList", + "documentation":"

The details of the Amazon Chime Voice Connector groups.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "ListVoiceConnectorTerminationCredentialsRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + } + } + }, + "ListVoiceConnectorTerminationCredentialsResponse":{ + "type":"structure", + "members":{ + "Usernames":{ + "shape":"SensitiveStringList", + "documentation":"

A list of user names.

" + } + } + }, + "ListVoiceConnectorsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"ResultMax", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListVoiceConnectorsResponse":{ + "type":"structure", + "members":{ + "VoiceConnectors":{ + "shape":"VoiceConnectorList", + "documentation":"

The details of the Amazon Chime Voice Connectors.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "LoggingConfiguration":{ + "type":"structure", + "members":{ + "EnableSIPLogs":{ + "shape":"Boolean", + "documentation":"

When true, enables SIP message logs for sending to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

The logging configuration associated with an Amazon Chime Voice Connector. Specifies whether SIP message logs are enabled for sending to Amazon CloudWatch Logs.

" + }, + "LogoutUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "LogoutUserResponse":{ + "type":"structure", + "members":{ + } + }, + "MediaPlacement":{ + "type":"structure", + "members":{ + "AudioHostUrl":{ + "shape":"UriType", + "documentation":"

The audio host URL.

" + }, + "AudioFallbackUrl":{ + "shape":"UriType", + "documentation":"

The audio fallback URL.

" + }, + "ScreenDataUrl":{ + "shape":"UriType", + "documentation":"

The screen data URL.

" + }, + "ScreenSharingUrl":{ + "shape":"UriType", + "documentation":"

The screen sharing URL.

" + }, + "ScreenViewingUrl":{ + "shape":"UriType", + "documentation":"

The screen viewing URL.

" + }, + "SignalingUrl":{ + "shape":"UriType", + "documentation":"

The signaling URL.

" + }, + "TurnControlUrl":{ + "shape":"UriType", + "documentation":"

The turn control URL.

" + } + }, + "documentation":"

A set of endpoints used by clients to connect to the media service group for a Amazon Chime SDK meeting.

" + }, + "Meeting":{ + "type":"structure", + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

" + }, + "ExternalMeetingId":{ + "shape":"ExternalMeetingIdType", + "documentation":"

The external meeting ID.

" + }, + "MediaPlacement":{ + "shape":"MediaPlacement", + "documentation":"

The media placement for the meeting.

" + }, + "MediaRegion":{ + "shape":"String", + "documentation":"

The Region in which to create the meeting. Available values: ap-northeast-1, ap-southeast-1, ap-southeast-2, ca-central-1, eu-central-1, eu-north-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2.

" + } + }, + "documentation":"

A meeting created using the Amazon Chime SDK.

" + }, + "MeetingList":{ + "type":"list", + "member":{"shape":"Meeting"} + }, + "MeetingNotificationConfiguration":{ + "type":"structure", + "members":{ + "SnsTopicArn":{ + "shape":"Arn", + "documentation":"

The SNS topic ARN.

" + }, + "SqsQueueArn":{ + "shape":"Arn", + "documentation":"

The SQS queue ARN.

" + } + }, + "documentation":"

The configuration for resource targets to receive notifications when Amazon Chime SDK meeting and attendee events occur.

" + }, + "MeetingTagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "MeetingTagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "Member":{ + "type":"structure", + "members":{ + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The member ID (user ID or bot ID).

" + }, + "MemberType":{ + "shape":"MemberType", + "documentation":"

The member type.

" + }, + "Email":{ + "shape":"SensitiveString", + "documentation":"

The member email address.

" + }, + "FullName":{ + "shape":"SensitiveString", + "documentation":"

The member name.

" + }, + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

" + } + }, + "documentation":"

The member details, such as email address, name, member ID, and member type.

" + }, + "MemberError":{ + "type":"structure", + "members":{ + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The member ID.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

The list of errors returned when a member action results in an error.

" + }, + "MemberErrorList":{ + "type":"list", + "member":{"shape":"MemberError"} + }, + "MemberType":{ + "type":"string", + "enum":[ + "User", + "Bot", + "Webhook" + ] + }, + "MembershipItem":{ + "type":"structure", + "members":{ + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The member ID.

" + }, + "Role":{ + "shape":"RoomMembershipRole", + "documentation":"

The member role.

" + } + }, + "documentation":"

Membership details, such as member ID and member role.

" + }, + "MembershipItemList":{ + "type":"list", + "member":{"shape":"MembershipItem"}, + "max":50 + }, + "NextTokenString":{ + "type":"string", + "max":65535 + }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "NonEmptyString128":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "NonEmptyStringList":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

One or more of the resources in the request does not exist in the system.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NotificationTarget":{ + "type":"string", + "enum":[ + "EventBridge", + "SNS", + "SQS" + ] + }, + "NullableBoolean":{"type":"boolean"}, + "NumberSelectionBehavior":{ + "type":"string", + "enum":[ + "PreferSticky", + "AvoidSticky" + ] + }, + "OrderedPhoneNumber":{ + "type":"structure", + "members":{ + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + }, + "Status":{ + "shape":"OrderedPhoneNumberStatus", + "documentation":"

The phone number status.

" + } + }, + "documentation":"

A phone number for which an order has been placed.

" + }, + "OrderedPhoneNumberList":{ + "type":"list", + "member":{"shape":"OrderedPhoneNumber"} + }, + "OrderedPhoneNumberStatus":{ + "type":"string", + "enum":[ + "Processing", + "Acquired", + "Failed" + ] + }, + "Origination":{ + "type":"structure", + "members":{ + "Routes":{ + "shape":"OriginationRouteList", + "documentation":"

The call distribution properties defined for your SIP hosts. Valid range: Minimum value of 1. Maximum value of 20.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When origination settings are disabled, inbound calls are not enabled for your Amazon Chime Voice Connector.

" + } + }, + "documentation":"

Origination settings enable your SIP hosts to receive inbound calls using your Amazon Chime Voice Connector.

" + }, + "OriginationRoute":{ + "type":"structure", + "members":{ + "Host":{ + "shape":"String", + "documentation":"

The FQDN or IP address to contact for origination traffic.

" + }, + "Port":{ + "shape":"Port", + "documentation":"

The designated origination route port. Defaults to 5060.

" + }, + "Protocol":{ + "shape":"OriginationRouteProtocol", + "documentation":"

The protocol to use for the origination route. Encryption-enabled Amazon Chime Voice Connectors use TCP protocol by default.

" + }, + "Priority":{ + "shape":"OriginationRoutePriority", + "documentation":"

The priority associated with the host, with 1 being the highest priority. Higher priority hosts are attempted first.

" + }, + "Weight":{ + "shape":"OriginationRouteWeight", + "documentation":"

The weight associated with the host. If hosts are equal in priority, calls are distributed among them based on their relative weight.

" + } + }, + "documentation":"

Origination routes define call distribution properties for your SIP hosts to receive inbound calls using your Amazon Chime Voice Connector. Limit: Ten origination routes for each Amazon Chime Voice Connector.

" + }, + "OriginationRouteList":{ + "type":"list", + "member":{"shape":"OriginationRoute"} + }, + "OriginationRoutePriority":{ + "type":"integer", + "max":100, + "min":1 + }, + "OriginationRouteProtocol":{ + "type":"string", + "enum":[ + "TCP", + "UDP" + ] + }, + "OriginationRouteWeight":{ + "type":"integer", + "max":100, + "min":1 + }, + "Participant":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The participant's phone number.

" + }, + "ProxyPhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The participant's proxy phone number.

" + } + }, + "documentation":"

The phone number and proxy phone number for a participant in an Amazon Chime Voice Connector proxy session.

" + }, + "ParticipantPhoneNumberList":{ + "type":"list", + "member":{"shape":"E164PhoneNumber"}, + "max":2, + "min":2 + }, + "Participants":{ + "type":"list", + "member":{"shape":"Participant"} + }, + "PhoneNumber":{ + "type":"structure", + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

" + }, + "E164PhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number, in E.164 format.

" + }, + "Type":{ + "shape":"PhoneNumberType", + "documentation":"

The phone number type.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number product type.

" + }, + "Status":{ + "shape":"PhoneNumberStatus", + "documentation":"

The phone number status.

" + }, + "Capabilities":{ + "shape":"PhoneNumberCapabilities", + "documentation":"

The phone number capabilities.

" + }, + "Associations":{ + "shape":"PhoneNumberAssociationList", + "documentation":"

The phone number associations.

" + }, + "CallingName":{ + "shape":"CallingName", + "documentation":"

The outbound calling name associated with the phone number.

" + }, + "CallingNameStatus":{ + "shape":"CallingNameStatus", + "documentation":"

The outbound calling name status.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The phone number creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated phone number timestamp, in ISO 8601 format.

" + }, + "DeletionTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The deleted phone number timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

A phone number used for Amazon Chime Business Calling or an Amazon Chime Voice Connector.

" + }, + "PhoneNumberAssociation":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

Contains the ID for the entity specified in Name.

" + }, + "Name":{ + "shape":"PhoneNumberAssociationName", + "documentation":"

Defines the association with an Amazon Chime account ID, user ID, Amazon Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.

" + }, + "AssociatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp of the phone number association, in ISO 8601 format.

" + } + }, + "documentation":"

The phone number associations, such as Amazon Chime account ID, Amazon Chime user ID, Amazon Chime Voice Connector ID, or Amazon Chime Voice Connector group ID.

" + }, + "PhoneNumberAssociationList":{ + "type":"list", + "member":{"shape":"PhoneNumberAssociation"} + }, + "PhoneNumberAssociationName":{ + "type":"string", + "enum":[ + "AccountId", + "UserId", + "VoiceConnectorId", + "VoiceConnectorGroupId" + ] + }, + "PhoneNumberCapabilities":{ + "type":"structure", + "members":{ + "InboundCall":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound calling for the specified phone number.

" + }, + "OutboundCall":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound calling for the specified phone number.

" + }, + "InboundSMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound SMS messaging for the specified phone number.

" + }, + "OutboundSMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound SMS messaging for the specified phone number.

" + }, + "InboundMMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies inbound MMS messaging for the specified phone number.

" + }, + "OutboundMMS":{ + "shape":"NullableBoolean", + "documentation":"

Allows or denies outbound MMS messaging for the specified phone number.

" + } + }, + "documentation":"

The phone number capabilities for Amazon Chime Business Calling phone numbers, such as enabled inbound and outbound calling and text messaging.

" + }, + "PhoneNumberError":{ + "type":"structure", + "members":{ + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number ID for which the action failed.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

If the phone number action fails for one or more of the phone numbers in the request, a list of the phone numbers is returned, along with error codes and error messages.

" + }, + "PhoneNumberErrorList":{ + "type":"list", + "member":{"shape":"PhoneNumberError"} + }, + "PhoneNumberList":{ + "type":"list", + "member":{"shape":"PhoneNumber"} + }, + "PhoneNumberMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "PhoneNumberOrder":{ + "type":"structure", + "members":{ + "PhoneNumberOrderId":{ + "shape":"GuidString", + "documentation":"

The phone number order ID.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The phone number order product type.

" + }, + "Status":{ + "shape":"PhoneNumberOrderStatus", + "documentation":"

The status of the phone number order.

" + }, + "OrderedPhoneNumbers":{ + "shape":"OrderedPhoneNumberList", + "documentation":"

The ordered phone number details, such as the phone number in E.164 format and the phone number status.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The phone number order creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated phone number order timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The details of a phone number order created for Amazon Chime.

" + }, + "PhoneNumberOrderList":{ + "type":"list", + "member":{"shape":"PhoneNumberOrder"} + }, + "PhoneNumberOrderStatus":{ + "type":"string", + "enum":[ + "Processing", + "Successful", + "Failed", + "Partial" + ] + }, + "PhoneNumberProductType":{ + "type":"string", + "enum":[ + "BusinessCalling", + "VoiceConnector" + ] + }, + "PhoneNumberStatus":{ + "type":"string", + "enum":[ + "AcquireInProgress", + "AcquireFailed", + "Unassigned", + "Assigned", + "ReleaseInProgress", + "DeleteInProgress", + "ReleaseFailed", + "DeleteFailed" + ] + }, + "PhoneNumberType":{ + "type":"string", + "enum":[ + "Local", + "TollFree" + ] + }, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "PositiveInteger":{ + "type":"integer", + "min":1 + }, + "ProfileServiceMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, + "Proxy":{ + "type":"structure", + "members":{ + "DefaultSessionExpiryMinutes":{ + "shape":"Integer", + "documentation":"

The default number of minutes allowed for proxy sessions.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

" + }, + "FallBackPhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number to route calls to after a proxy session expires.

" + }, + "PhoneNumberCountries":{ + "shape":"StringList", + "documentation":"

The countries for proxy phone numbers to be selected from.

" + } + }, + "documentation":"

The proxy configuration for an Amazon Chime Voice Connector.

" + }, + "ProxySession":{ + "type":"structure", + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

" + }, + "ProxySessionId":{ + "shape":"NonEmptyString128", + "documentation":"

The proxy session ID.

" + }, + "Name":{ + "shape":"String128", + "documentation":"

The name of the proxy session.

" + }, + "Status":{ + "shape":"ProxySessionStatus", + "documentation":"

The status of the proxy session.

" + }, + "ExpiryMinutes":{ + "shape":"PositiveInteger", + "documentation":"

The number of minutes allowed for the proxy session.

" + }, + "Capabilities":{ + "shape":"CapabilityList", + "documentation":"

The proxy session capabilities.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The created timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated timestamp, in ISO 8601 format.

" + }, + "EndedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The ended timestamp, in ISO 8601 format.

" + }, + "Participants":{ + "shape":"Participants", + "documentation":"

The proxy session participants.

" + }, + "NumberSelectionBehavior":{ + "shape":"NumberSelectionBehavior", + "documentation":"

The preference for proxy phone number reuse, or stickiness, between the same participants across sessions.

" + }, + "GeoMatchLevel":{ + "shape":"GeoMatchLevel", + "documentation":"

The preference for matching the country or area code of the proxy phone number with that of the first participant.

" + }, + "GeoMatchParams":{ + "shape":"GeoMatchParams", + "documentation":"

The country and area code for the proxy phone number.

" + } + }, + "documentation":"

The proxy session for an Amazon Chime Voice Connector.

" + }, + "ProxySessionNameString":{ + "type":"string", + "pattern":"^$|^[a-zA-Z0-9 ]{0,30}$", + "sensitive":true + }, + "ProxySessionStatus":{ + "type":"string", + "enum":[ + "Open", + "InProgress", + "Closed" + ] + }, + "ProxySessions":{ + "type":"list", + "member":{"shape":"ProxySession"} + }, + "PutEventsConfigurationRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + }, + "OutboundEventsHTTPSEndpoint":{ + "shape":"SensitiveString", + "documentation":"

HTTPS endpoint that allows the bot to receive outgoing events.

" + }, + "LambdaFunctionArn":{ + "shape":"SensitiveString", + "documentation":"

Lambda function ARN that allows the bot to receive outgoing events.

" + } + } + }, + "PutEventsConfigurationResponse":{ + "type":"structure", + "members":{ + "EventsConfiguration":{"shape":"EventsConfiguration"} + } + }, + "PutRetentionSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RetentionSettings" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RetentionSettings":{ + "shape":"RetentionSettings", + "documentation":"

The retention settings.

" + } + } + }, + "PutRetentionSettingsResponse":{ + "type":"structure", + "members":{ + "RetentionSettings":{ + "shape":"RetentionSettings", + "documentation":"

The retention settings.

" + }, + "InitiateDeletionTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp representing the time at which the specified items are permanently deleted, in ISO 8601 format.

" + } + } + }, + "PutVoiceConnectorLoggingConfigurationRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "LoggingConfiguration" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

The logging configuration details to add.

" + } + } + }, + "PutVoiceConnectorLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

The updated logging configuration details.

" + } + } + }, + "PutVoiceConnectorOriginationRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Origination" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Origination":{ + "shape":"Origination", + "documentation":"

The origination setting details to add.

" + } + } + }, + "PutVoiceConnectorOriginationResponse":{ + "type":"structure", + "members":{ + "Origination":{ + "shape":"Origination", + "documentation":"

The updated origination setting details.

" + } + } + }, + "PutVoiceConnectorProxyRequest":{ + "type":"structure", + "required":[ + "DefaultSessionExpiryMinutes", + "PhoneNumberPoolCountries", + "VoiceConnectorId" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "DefaultSessionExpiryMinutes":{ + "shape":"Integer", + "documentation":"

The default number of minutes allowed for proxy sessions.

" + }, + "PhoneNumberPoolCountries":{ + "shape":"CountryList", + "documentation":"

The countries for proxy phone numbers to be selected from.

" + }, + "FallBackPhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The phone number to route calls to after a proxy session expires.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When true, stops proxy sessions from being created on the specified Amazon Chime Voice Connector.

" + } + } + }, + "PutVoiceConnectorProxyResponse":{ + "type":"structure", + "members":{ + "Proxy":{ + "shape":"Proxy", + "documentation":"

The proxy configuration details.

" + } + } + }, + "PutVoiceConnectorStreamingConfigurationRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "StreamingConfiguration" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "StreamingConfiguration":{ + "shape":"StreamingConfiguration", + "documentation":"

The streaming configuration details to add.

" + } + } + }, + "PutVoiceConnectorStreamingConfigurationResponse":{ + "type":"structure", + "members":{ + "StreamingConfiguration":{ + "shape":"StreamingConfiguration", + "documentation":"

The updated streaming configuration details.

" + } + } + }, + "PutVoiceConnectorTerminationCredentialsRequest":{ + "type":"structure", + "required":["VoiceConnectorId"], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Credentials":{ + "shape":"CredentialList", + "documentation":"

The termination SIP credentials.

" + } + } + }, + "PutVoiceConnectorTerminationRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Termination" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Termination":{ + "shape":"Termination", + "documentation":"

The termination setting details to add.

" + } + } + }, + "PutVoiceConnectorTerminationResponse":{ + "type":"structure", + "members":{ + "Termination":{ + "shape":"Termination", + "documentation":"

The updated termination setting details.

" + } + } + }, + "RedactConversationMessageRequest":{ + "type":"structure", + "required":[ + "AccountId", + "ConversationId", + "MessageId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "ConversationId":{ + "shape":"NonEmptyString", + "documentation":"

The conversation ID.

", + "location":"uri", + "locationName":"conversationId" + }, + "MessageId":{ + "shape":"NonEmptyString", + "documentation":"

The message ID.

", + "location":"uri", + "locationName":"messageId" + } + } + }, + "RedactConversationMessageResponse":{ + "type":"structure", + "members":{ + } + }, + "RedactRoomMessageRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId", + "MessageId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MessageId":{ + "shape":"NonEmptyString", + "documentation":"

The message ID.

", + "location":"uri", + "locationName":"messageId" + } + } + }, + "RedactRoomMessageResponse":{ + "type":"structure", + "members":{ + } + }, + "RegenerateSecurityTokenRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + } + } + }, + "RegenerateSecurityTokenResponse":{ + "type":"structure", + "members":{ + "Bot":{"shape":"Bot"} + } + }, + "RegistrationStatus":{ + "type":"string", + "enum":[ + "Unregistered", + "Registered", + "Suspended" + ] + }, + "ResetPersonalPINRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "ResetPersonalPINResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The user details and new personal meeting PIN.

" + } + } + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request exceeds the resource limit.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "RestorePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number.

", + "location":"uri", + "locationName":"phoneNumberId" + } + } + }, + "RestorePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number details.

" + } + } + }, + "ResultMax":{ + "type":"integer", + "max":99, + "min":1 + }, + "RetentionDays":{ + "type":"integer", + "max":5475, + "min":1 + }, + "RetentionSettings":{ + "type":"structure", + "members":{ + "RoomRetentionSettings":{ + "shape":"RoomRetentionSettings", + "documentation":"

The chat room retention settings.

" + }, + "ConversationRetentionSettings":{ + "shape":"ConversationRetentionSettings", + "documentation":"

The chat conversation retention settings.

" + } + }, + "documentation":"

The retention settings for an Amazon Chime Enterprise account that determine how long to retain items such as chat room messages and chat conversation messages.

" + }, + "Room":{ + "type":"structure", + "members":{ + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

" + }, + "Name":{ + "shape":"SensitiveString", + "documentation":"

The room name.

" + }, + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

" + }, + "CreatedBy":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the room creator.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The room creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The room update timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The Amazon Chime chat room details.

" + }, + "RoomList":{ + "type":"list", + "member":{"shape":"Room"} + }, + "RoomMembership":{ + "type":"structure", + "members":{ + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

" + }, + "Member":{"shape":"Member"}, + "Role":{ + "shape":"RoomMembershipRole", + "documentation":"

The membership role.

" + }, + "InvitedBy":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the user that invited the room member.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The room membership update timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The room membership details.

" + }, + "RoomMembershipList":{ + "type":"list", + "member":{"shape":"RoomMembership"} + }, + "RoomMembershipRole":{ + "type":"string", + "enum":[ + "Administrator", + "Member" + ] + }, + "RoomRetentionSettings":{ + "type":"structure", + "members":{ + "RetentionDays":{ + "shape":"RetentionDays", + "documentation":"

The number of days for which to retain chat room messages.

" + } + }, + "documentation":"

The retention settings that determine how long to retain chat room messages for an Amazon Chime Enterprise account.

" + }, + "SearchAvailablePhoneNumbersRequest":{ + "type":"structure", + "members":{ + "AreaCode":{ + "shape":"String", + "documentation":"

The area code used to filter results.

", + "location":"querystring", + "locationName":"area-code" + }, + "City":{ + "shape":"String", + "documentation":"

The city used to filter results.

", + "location":"querystring", + "locationName":"city" + }, + "Country":{ + "shape":"String", + "documentation":"

The country used to filter results.

", + "location":"querystring", + "locationName":"country" + }, + "State":{ + "shape":"String", + "documentation":"

The state used to filter results.

", + "location":"querystring", + "locationName":"state" + }, + "TollFreePrefix":{ + "shape":"TollFreePrefix", + "documentation":"

The toll-free prefix that you use to filter results.

", + "location":"querystring", + "locationName":"toll-free-prefix" + }, + "MaxResults":{ + "shape":"PhoneNumberMaxResults", + "documentation":"

The maximum number of results to return in a single call.

", + "location":"querystring", + "locationName":"max-results" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "location":"querystring", + "locationName":"next-token" + } + } + }, + "SearchAvailablePhoneNumbersResponse":{ + "type":"structure", + "members":{ + "E164PhoneNumbers":{ + "shape":"E164PhoneNumberList", + "documentation":"

List of phone numbers, in E.164 format.

" + } + } + }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, + "SensitiveStringList":{ + "type":"list", + "member":{"shape":"SensitiveString"} + }, + "ServiceFailureException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The service encountered an unexpected error.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The service is currently unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SigninDelegateGroup":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"NonEmptyString", + "documentation":"

The group name.

" + } + }, + "documentation":"

An Active Directory (AD) group whose members are granted permission to act as delegates.

" + }, + "SigninDelegateGroupList":{ + "type":"list", + "member":{"shape":"SigninDelegateGroup"} + }, + "StreamingConfiguration":{ + "type":"structure", + "required":["DataRetentionInHours"], + "members":{ + "DataRetentionInHours":{ + "shape":"DataRetentionInHours", + "documentation":"

The retention period, in hours, for the Amazon Kinesis data.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When true, media streaming to Amazon Kinesis is turned off.

" + }, + "StreamingNotificationTargets":{ + "shape":"StreamingNotificationTargetList", + "documentation":"

The streaming notification targets.

" + } + }, + "documentation":"

The streaming configuration associated with an Amazon Chime Voice Connector. Specifies whether media streaming is enabled for sending to Amazon Kinesis, and shows the retention period for the Amazon Kinesis data, in hours.

" + }, + "StreamingNotificationTarget":{ + "type":"structure", + "required":["NotificationTarget"], + "members":{ + "NotificationTarget":{ + "shape":"NotificationTarget", + "documentation":"

The streaming notification target.

" + } + }, + "documentation":"

The targeted recipient for a streaming configuration notification.

" + }, + "StreamingNotificationTargetList":{ + "type":"list", + "member":{"shape":"StreamingNotificationTarget"}, + "max":3, + "min":1 + }, + "String":{"type":"string"}, + "String128":{ + "type":"string", + "max":128 + }, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the tag.

" + } + }, + "documentation":"

Describes a tag applied to a resource.

" + }, + "TagAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "AttendeeId", + "Tags" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

", + "location":"uri", + "locationName":"attendeeId" + }, + "Tags":{ + "shape":"AttendeeTagList", + "documentation":"

The tag key-value pairs.

" + } + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagMeetingRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "Tags" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "Tags":{ + "shape":"MeetingTagList", + "documentation":"

The tag key-value pairs.

" + } + } + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The resource ARN.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tag key-value pairs.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "TelephonySettings":{ + "type":"structure", + "required":[ + "InboundCalling", + "OutboundCalling", + "SMS" + ], + "members":{ + "InboundCalling":{ + "shape":"Boolean", + "documentation":"

Allows or denies inbound calling.

" + }, + "OutboundCalling":{ + "shape":"Boolean", + "documentation":"

Allows or denies outbound calling.

" + }, + "SMS":{ + "shape":"Boolean", + "documentation":"

Allows or denies SMS messaging.

" + } + }, + "documentation":"

Settings that allow management of telephony permissions for an Amazon Chime user, such as inbound and outbound calling and text messaging.

" + }, + "Termination":{ + "type":"structure", + "members":{ + "CpsLimit":{ + "shape":"CpsLimit", + "documentation":"

The limit on calls per second. Max value based on account service quota. Default value of 1.

" + }, + "DefaultPhoneNumber":{ + "shape":"E164PhoneNumber", + "documentation":"

The default caller ID phone number.

" + }, + "CallingRegions":{ + "shape":"CallingRegionList", + "documentation":"

The countries to which calls are allowed, in ISO 3166-1 alpha-2 format. Required.

" + }, + "CidrAllowedList":{ + "shape":"StringList", + "documentation":"

The IP addresses allowed to make calls, in CIDR format. Required.

" + }, + "Disabled":{ + "shape":"Boolean", + "documentation":"

When termination settings are disabled, outbound calls can not be made.

" + } + }, + "documentation":"

Termination settings enable your SIP hosts to make outbound calls using your Amazon Chime Voice Connector.

" + }, + "TerminationHealth":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The timestamp, in ISO 8601 format.

" + }, + "Source":{ + "shape":"String", + "documentation":"

The source IP address.

" + } + }, + "documentation":"

The termination health details, including the source IP address and timestamp of the last successful SIP OPTIONS message from your SIP infrastructure.

" + }, + "ThrottledClientException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The client exceeded its request rate limit.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TollFreePrefix":{ + "type":"string", + "max":3, + "min":3, + "pattern":"^8(00|33|44|55|66|77|88)$" + }, + "UnauthorizedClientException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The client is not currently authorized to make the request.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "UnprocessableEntityException":{ + "type":"structure", + "members":{ + "Code":{"shape":"ErrorCode"}, + "Message":{"shape":"String"} + }, + "documentation":"

The request was well-formed but was unable to be followed due to semantic errors.

", + "error":{"httpStatusCode":422}, + "exception":true + }, + "UntagAttendeeRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "TagKeys", + "AttendeeId" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "AttendeeId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK attendee ID.

", + "location":"uri", + "locationName":"attendeeId" + }, + "TagKeys":{ + "shape":"AttendeeTagKeyList", + "documentation":"

The tag keys.

" + } + } + }, + "UntagMeetingRequest":{ + "type":"structure", + "required":[ + "MeetingId", + "TagKeys" + ], + "members":{ + "MeetingId":{ + "shape":"GuidString", + "documentation":"

The Amazon Chime SDK meeting ID.

", + "location":"uri", + "locationName":"meetingId" + }, + "TagKeys":{ + "shape":"MeetingTagKeyList", + "documentation":"

The tag keys.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The resource ARN.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys.

" + } + } + }, + "UpdateAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "Name":{ + "shape":"AccountName", + "documentation":"

The new name for the specified Amazon Chime account.

" + } + } + }, + "UpdateAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

The updated Amazon Chime account details.

" + } + } + }, + "UpdateAccountSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "AccountSettings" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "AccountSettings":{ + "shape":"AccountSettings", + "documentation":"

The Amazon Chime account settings to update.

" + } + } + }, + "UpdateAccountSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateBotRequest":{ + "type":"structure", + "required":[ + "AccountId", + "BotId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "BotId":{ + "shape":"NonEmptyString", + "documentation":"

The bot ID.

", + "location":"uri", + "locationName":"botId" + }, + "Disabled":{ + "shape":"NullableBoolean", + "documentation":"

When true, stops the specified bot from running in your account.

" + } + } + }, + "UpdateBotResponse":{ + "type":"structure", + "members":{ + "Bot":{ + "shape":"Bot", + "documentation":"

The updated bot details.

" + } + } + }, + "UpdateGlobalSettingsRequest":{ + "type":"structure", + "required":[ + "BusinessCalling", + "VoiceConnector" + ], + "members":{ + "BusinessCalling":{ + "shape":"BusinessCallingSettings", + "documentation":"

The Amazon Chime Business Calling settings.

" + }, + "VoiceConnector":{ + "shape":"VoiceConnectorSettings", + "documentation":"

The Amazon Chime Voice Connector settings.

" + } + } + }, + "UpdatePhoneNumberRequest":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"String", + "documentation":"

The phone number ID.

", + "location":"uri", + "locationName":"phoneNumberId" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The product type.

" + }, + "CallingName":{ + "shape":"CallingName", + "documentation":"

The outbound calling name associated with the phone number.

" + } + } + }, + "UpdatePhoneNumberRequestItem":{ + "type":"structure", + "required":["PhoneNumberId"], + "members":{ + "PhoneNumberId":{ + "shape":"NonEmptyString", + "documentation":"

The phone number ID to update.

" + }, + "ProductType":{ + "shape":"PhoneNumberProductType", + "documentation":"

The product type to update.

" + }, + "CallingName":{ + "shape":"CallingName", + "documentation":"

The outbound calling name to update.

" + } + }, + "documentation":"

The phone number ID, product type, or calling name fields to update, used with the BatchUpdatePhoneNumber and UpdatePhoneNumber actions.

" + }, + "UpdatePhoneNumberRequestItemList":{ + "type":"list", + "member":{"shape":"UpdatePhoneNumberRequestItem"} + }, + "UpdatePhoneNumberResponse":{ + "type":"structure", + "members":{ + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The updated phone number details.

" + } + } + }, + "UpdatePhoneNumberSettingsRequest":{ + "type":"structure", + "required":["CallingName"], + "members":{ + "CallingName":{ + "shape":"CallingName", + "documentation":"

The default outbound calling name for the account.

" + } + } + }, + "UpdateProxySessionRequest":{ + "type":"structure", + "required":[ + "Capabilities", + "VoiceConnectorId", + "ProxySessionId" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString128", + "documentation":"

The Amazon Chime voice connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "ProxySessionId":{ + "shape":"NonEmptyString128", + "documentation":"

The proxy session ID.

", + "location":"uri", + "locationName":"proxySessionId" + }, + "Capabilities":{ + "shape":"CapabilityList", + "documentation":"

The proxy session capabilities.

" + }, + "ExpiryMinutes":{ + "shape":"PositiveInteger", + "documentation":"

The number of minutes allowed for the proxy session.

" + } + } + }, + "UpdateProxySessionResponse":{ + "type":"structure", + "members":{ + "ProxySession":{ + "shape":"ProxySession", + "documentation":"

The proxy session details.

" + } + } + }, + "UpdateRoomMembershipRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId", + "MemberId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "MemberId":{ + "shape":"NonEmptyString", + "documentation":"

The member ID.

", + "location":"uri", + "locationName":"memberId" + }, + "Role":{ + "shape":"RoomMembershipRole", + "documentation":"

The role of the member.

" + } + } + }, + "UpdateRoomMembershipResponse":{ + "type":"structure", + "members":{ + "RoomMembership":{ + "shape":"RoomMembership", + "documentation":"

The room membership details.

" + } + } + }, + "UpdateRoomRequest":{ + "type":"structure", + "required":[ + "AccountId", + "RoomId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "RoomId":{ + "shape":"NonEmptyString", + "documentation":"

The room ID.

", + "location":"uri", + "locationName":"roomId" + }, + "Name":{ + "shape":"SensitiveString", + "documentation":"

The room name.

" + } + } + }, + "UpdateRoomResponse":{ + "type":"structure", + "members":{ + "Room":{ + "shape":"Room", + "documentation":"

The room details.

" + } + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId" + ], + "members":{ + "AccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + }, + "LicenseType":{ + "shape":"License", + "documentation":"

The user license type to update. This must be a supported license type for the Amazon Chime account that the user belongs to.

" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

" + }, + "AlexaForBusinessMetadata":{ + "shape":"AlexaForBusinessMetadata", + "documentation":"

The Alexa for Business metadata.

" + } + } + }, + "UpdateUserRequestItem":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID.

" + }, + "LicenseType":{ + "shape":"License", + "documentation":"

The user license type.

" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

" + }, + "AlexaForBusinessMetadata":{ + "shape":"AlexaForBusinessMetadata", + "documentation":"

The Alexa for Business metadata.

" + } + }, + "documentation":"

The user ID and user fields to update, used with the BatchUpdateUser action.

" + }, + "UpdateUserRequestItemList":{ + "type":"list", + "member":{"shape":"UpdateUserRequestItem"}, + "max":20 + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

The updated user details.

" + } + } + }, + "UpdateUserSettingsRequest":{ + "type":"structure", + "required":[ + "AccountId", + "UserId", + "UserSettings" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

", + "location":"uri", + "locationName":"accountId" + }, + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

", + "location":"uri", + "locationName":"userId" + }, + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

The user settings to update.

" + } + } + }, + "UpdateVoiceConnectorGroupRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorGroupId", + "Name", + "VoiceConnectorItems" + ], + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

", + "location":"uri", + "locationName":"voiceConnectorGroupId" + }, + "Name":{ + "shape":"VoiceConnectorGroupName", + "documentation":"

The name of the Amazon Chime Voice Connector group.

" + }, + "VoiceConnectorItems":{ + "shape":"VoiceConnectorItemList", + "documentation":"

The VoiceConnectorItems to associate with the group.

" + } + } + }, + "UpdateVoiceConnectorGroupResponse":{ + "type":"structure", + "members":{ + "VoiceConnectorGroup":{ + "shape":"VoiceConnectorGroup", + "documentation":"

The updated Amazon Chime Voice Connector group details.

" + } + } + }, + "UpdateVoiceConnectorRequest":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Name", + "RequireEncryption" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

", + "location":"uri", + "locationName":"voiceConnectorId" + }, + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

When enabled, requires encryption for the Amazon Chime Voice Connector.

" + } + } + }, + "UpdateVoiceConnectorResponse":{ + "type":"structure", + "members":{ + "VoiceConnector":{ + "shape":"VoiceConnector", + "documentation":"

The updated Amazon Chime Voice Connector details.

" + } + } + }, + "UriType":{ + "type":"string", + "max":4096 + }, + "User":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"String", + "documentation":"

The user ID.

" + }, + "AccountId":{ + "shape":"String", + "documentation":"

The Amazon Chime account ID.

" + }, + "PrimaryEmail":{ + "shape":"EmailAddress", + "documentation":"

The primary email address of the user.

" + }, + "PrimaryProvisionedNumber":{ + "shape":"SensitiveString", + "documentation":"

The primary phone number associated with the user.

" + }, + "DisplayName":{ + "shape":"SensitiveString", + "documentation":"

The display name of the user.

" + }, + "LicenseType":{ + "shape":"License", + "documentation":"

The license type for the user.

" + }, + "UserType":{ + "shape":"UserType", + "documentation":"

The user type.

" + }, + "UserRegistrationStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The user registration status.

" + }, + "UserInvitationStatus":{ + "shape":"InviteStatus", + "documentation":"

The user invite status.

" + }, + "RegisteredOn":{ + "shape":"Iso8601Timestamp", + "documentation":"

Date and time when the user is registered, in ISO 8601 format.

" + }, + "InvitedOn":{ + "shape":"Iso8601Timestamp", + "documentation":"

Date and time when the user is invited to the Amazon Chime account, in ISO 8601 format.

" + }, + "AlexaForBusinessMetadata":{ + "shape":"AlexaForBusinessMetadata", + "documentation":"

The Alexa for Business metadata.

" + }, + "PersonalPIN":{ + "shape":"String", + "documentation":"

The user's personal meeting PIN.

" + } + }, + "documentation":"

The user on the Amazon Chime account.

" + }, + "UserEmailList":{ + "type":"list", + "member":{"shape":"EmailAddress"}, + "max":50 + }, + "UserError":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

The user ID for which the action failed.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message.

" + } + }, + "documentation":"

The list of errors returned when errors are encountered during the BatchSuspendUser, BatchUnsuspendUser, or BatchUpdateUser actions. This includes user IDs, error codes, and error messages.

" + }, + "UserErrorList":{ + "type":"list", + "member":{"shape":"UserError"} + }, + "UserIdList":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":50 + }, + "UserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "UserSettings":{ + "type":"structure", + "required":["Telephony"], + "members":{ + "Telephony":{ + "shape":"TelephonySettings", + "documentation":"

The telephony settings associated with the user.

" + } + }, + "documentation":"

Settings associated with an Amazon Chime user, including inbound and outbound calling and text messaging.

" + }, + "UserType":{ + "type":"string", + "enum":[ + "PrivateUser", + "SharedDevice" + ] + }, + "VoiceConnector":{ + "type":"structure", + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

" + }, + "AwsRegion":{ + "shape":"VoiceConnectorAwsRegion", + "documentation":"

The AWS Region in which the Amazon Chime Voice Connector is created. Default: us-east-1.

" + }, + "Name":{ + "shape":"VoiceConnectorName", + "documentation":"

The name of the Amazon Chime Voice Connector.

" + }, + "OutboundHostName":{ + "shape":"String", + "documentation":"

The outbound host name for the Amazon Chime Voice Connector.

" + }, + "RequireEncryption":{ + "shape":"Boolean", + "documentation":"

Designates whether encryption is required for the Amazon Chime Voice Connector.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The Amazon Chime Voice Connector creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated Amazon Chime Voice Connector timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The Amazon Chime Voice Connector configuration, including outbound host name and encryption settings.

" + }, + "VoiceConnectorAwsRegion":{ + "type":"string", + "enum":[ + "us-east-1", + "us-west-2" + ] + }, + "VoiceConnectorGroup":{ + "type":"structure", + "members":{ + "VoiceConnectorGroupId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector group ID.

" + }, + "Name":{ + "shape":"VoiceConnectorGroupName", + "documentation":"

The name of the Amazon Chime Voice Connector group.

" + }, + "VoiceConnectorItems":{ + "shape":"VoiceConnectorItemList", + "documentation":"

The Amazon Chime Voice Connectors to which to route inbound calls.

" + }, + "CreatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The Amazon Chime Voice Connector group creation timestamp, in ISO 8601 format.

" + }, + "UpdatedTimestamp":{ + "shape":"Iso8601Timestamp", + "documentation":"

The updated Amazon Chime Voice Connector group timestamp, in ISO 8601 format.

" + } + }, + "documentation":"

The Amazon Chime Voice Connector group configuration, including associated Amazon Chime Voice Connectors. You can include Amazon Chime Voice Connectors from different AWS Regions in your group. This creates a fault tolerant mechanism for fallback in case of availability events.

" + }, + "VoiceConnectorGroupList":{ + "type":"list", + "member":{"shape":"VoiceConnectorGroup"} + }, + "VoiceConnectorGroupName":{ + "type":"string", + "max":256, + "min":1 + }, + "VoiceConnectorItem":{ + "type":"structure", + "required":[ + "VoiceConnectorId", + "Priority" + ], + "members":{ + "VoiceConnectorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Chime Voice Connector ID.

" + }, + "Priority":{ + "shape":"VoiceConnectorItemPriority", + "documentation":"

The priority associated with the Amazon Chime Voice Connector, with 1 being the highest priority. Higher priority Amazon Chime Voice Connectors are attempted first.

" + } + }, + "documentation":"

For Amazon Chime Voice Connector groups, the Amazon Chime Voice Connectors to which to route inbound calls. Includes priority configuration settings. Limit: 3 VoiceConnectorItems per Amazon Chime Voice Connector group.

" + }, + "VoiceConnectorItemList":{ + "type":"list", + "member":{"shape":"VoiceConnectorItem"} + }, + "VoiceConnectorItemPriority":{ + "type":"integer", + "max":99, + "min":1 + }, + "VoiceConnectorList":{ + "type":"list", + "member":{"shape":"VoiceConnector"} + }, + "VoiceConnectorName":{ + "type":"string", + "max":256, + "min":1 + }, + "VoiceConnectorSettings":{ + "type":"structure", + "members":{ + "CdrBucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket designated for call detail record storage.

", + "box":true + } + }, + "documentation":"

The Amazon Chime Voice Connector settings. Includes any Amazon S3 buckets designated for storing call detail records.

" + } + }, + "documentation":"

The Amazon Chime API (application programming interface) is designed for developers to perform key tasks, such as creating and managing Amazon Chime accounts, users, and Voice Connectors. This guide provides detailed information about the Amazon Chime API, including operations, types, inputs and outputs, and error codes. It also includes some server-side API actions to use with the Amazon Chime SDK. For more information about the Amazon Chime SDK, see Using the Amazon Chime SDK in the Amazon Chime Developer Guide.

You can use an AWS SDK, the AWS Command Line Interface (AWS CLI), or the REST API to make API calls. We recommend using an AWS SDK or the AWS CLI. Each API operation includes links to information about using it with a language-specific AWS SDK or the AWS CLI.

Using an AWS SDK

You don't need to write code to calculate a signature for request authentication. The SDK clients authenticate your requests by using access keys that you provide. For more information about AWS SDKs, see the AWS Developer Center.

Using the AWS CLI

Use your access keys with the AWS CLI to make API calls. For information about setting up the AWS CLI, see Installing the AWS Command Line Interface in the AWS Command Line Interface User Guide. For a list of available Amazon Chime commands, see the Amazon Chime commands in the AWS CLI Command Reference.

Using REST API

If you use REST to make API calls, you must authenticate your request by providing a signature. Amazon Chime supports signature version 4. For more information, see Signature Version 4 Signing Process in the Amazon Web Services General Reference.

When making REST API calls, use the service name chime and REST endpoint https://service.chime.aws.amazon.com.

Administrative permissions are controlled using AWS Identity and Access Management (IAM). For more information, see Identity and Access Management for Amazon Chime in the Amazon Chime Administration Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/examples-1.json --- python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,308 @@ +{ + "version": "1.0", + "examples": { + "CreateEnvironmentEC2": [ + { + "input": { + "name": "my-demo-environment", + "automaticStopTimeMinutes": 60, + "description": "This is my demonstration environment.", + "instanceType": "t2.micro", + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "subnetId": "subnet-1fab8aEX" + }, + "output": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "createenvironmentec2-1516821730547", + "title": "CreateEnvironmentEC2" + } + ], + "CreateEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + "membership": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "createenvironmentmembership-1516822583452", + "title": "CreateEnvironmentMembership" + } + ], + "DeleteEnvironment": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "deleteenvironment-1516822903149", + "title": "DeleteEnvironment" + } + ], + "DeleteEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "deleteenvironmentmembership-1516822975655", + "title": "DeleteEnvironmentMembership" + } + ], + "DescribeEnvironmentMemberships": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + "memberships": [ + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-write", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + }, + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about all of the environment members for the specified AWS Cloud9 development environment.", + "id": "describeenvironmentmemberships1-1516823070453", + "title": "DescribeEnvironmentMemberships1" + }, + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": [ + "owner" + ] + }, + "output": { + "memberships": [ + { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about the owner of the specified AWS Cloud9 development environment.", + "id": "describeenvironmentmemberships2-1516823191355", + "title": "DescribeEnvironmentMemberships2" + }, + { + "input": { + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser" + }, + "output": { + "memberships": [ + { + "environmentId": "10a75714bd494714929e7f5ec4125aEX", + "lastAccess": "2018-01-19T11:06:13Z", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + }, + { + "environmentId": "12bfc3cd537f41cb9776f8af5525c9EX", + "lastAccess": "2018-01-19T11:39:19Z", + "permissions": "owner", + "userArn": "arn:aws:iam::123456789012:user/MyDemoUser", + "userId": "AIDAJNUEDQAQWFELJDLEX" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets AWS Cloud9 development environment membership information for the specified user.", + "id": "describeenvironmentmemberships3-1516823268793", + "title": "DescribeEnvironmentMemberships3" + } + ], + "DescribeEnvironmentStatus": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + "message": "Environment is ready to use", + "status": "ready" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "describeenvironmentstatus-1516823462133", + "title": "DescribeEnvironmentStatus" + } + ], + "DescribeEnvironments": [ + { + "input": { + "environmentIds": [ + "8d9967e2f0624182b74e7690ad69ebEX", + "349c86d4579e4e7298d500ff57a6b2EX" + ] + }, + "output": { + "environments": [ + { + "name": "my-demo-environment", + "type": "ec2", + "arn": "arn:aws:cloud9:us-east-2:123456789012:environment:8d9967e2f0624182b74e7690ad69ebEX", + "description": "This is my demonstration environment.", + "id": "8d9967e2f0624182b74e7690ad69ebEX", + "ownerArn": "arn:aws:iam::123456789012:user/MyDemoUser" + }, + { + "name": "another-demo-environment", + "type": "ssh", + "arn": "arn:aws:cloud9:us-east-2:123456789012:environment:349c86d4579e4e7298d500ff57a6b2EX", + "id": "349c86d4579e4e7298d500ff57a6b2EX", + "ownerArn": "arn:aws:sts::123456789012:assumed-role/AnotherDemoUser/AnotherDemoUser" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "describeenvironments-1516823568291", + "title": "DescribeEnvironments" + } + ], + "ListEnvironments": [ + { + "input": { + }, + "output": { + "environmentIds": [ + "349c86d4579e4e7298d500ff57a6b2EX", + "45a3da47af0840f2b0c0824f5ee232EX" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "listenvironments-1516823687205", + "title": "ListEnvironments" + } + ], + "UpdateEnvironment": [ + { + "input": { + "name": "my-changed-demo-environment", + "description": "This is my changed demonstration environment.", + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "updateenvironment-1516823781910", + "title": "UpdateEnvironment" + } + ], + "UpdateEnvironmentMembership": [ + { + "input": { + "environmentId": "8d9967e2f0624182b74e7690ad69ebEX", + "permissions": "read-only", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser" + }, + "output": { + "membership": { + "environmentId": "8d9967e2f0624182b74e7690ad69eb31", + "permissions": "read-only", + "userArn": "arn:aws:iam::123456789012:user/AnotherDemoUser", + "userId": "AIDAJ3BA6O2FMJWCWXHEX" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "updateenvironmentmembership-1516823876645", + "title": "UpdateEnvironmentMembership" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "DescribeEnvironmentMemberships": { + "result_key": "memberships", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListEnvironments": { + "result_key": "environmentIds", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/service-2.json python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/service-2.json --- python-botocore-1.4.70/botocore/data/cloud9/2017-09-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloud9/2017-09-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,885 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-23", + "endpointPrefix":"cloud9", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Cloud9", + "serviceId":"Cloud9", + "signatureVersion":"v4", + "targetPrefix":"AWSCloud9WorkspaceManagementService", + "uid":"cloud9-2017-09-23" + }, + "operations":{ + "CreateEnvironmentEC2":{ + "name":"CreateEnvironmentEC2", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEnvironmentEC2Request"}, + "output":{"shape":"CreateEnvironmentEC2Result"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then connects from the instance to the environment.

", + "idempotent":true + }, + "CreateEnvironmentMembership":{ + "name":"CreateEnvironmentMembership", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEnvironmentMembershipRequest"}, + "output":{"shape":"CreateEnvironmentMembershipResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Adds an environment member to an AWS Cloud9 development environment.

", + "idempotent":true + }, + "DeleteEnvironment":{ + "name":"DeleteEnvironment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEnvironmentRequest"}, + "output":{"shape":"DeleteEnvironmentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes an AWS Cloud9 development environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

", + "idempotent":true + }, + "DeleteEnvironmentMembership":{ + "name":"DeleteEnvironmentMembership", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEnvironmentMembershipRequest"}, + "output":{"shape":"DeleteEnvironmentMembershipResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes an environment member from an AWS Cloud9 development environment.

", + "idempotent":true + }, + "DescribeEnvironmentMemberships":{ + "name":"DescribeEnvironmentMemberships", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEnvironmentMembershipsRequest"}, + "output":{"shape":"DescribeEnvironmentMembershipsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Gets information about environment members for an AWS Cloud9 development environment.

" + }, + "DescribeEnvironmentStatus":{ + "name":"DescribeEnvironmentStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEnvironmentStatusRequest"}, + "output":{"shape":"DescribeEnvironmentStatusResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Gets status information for an AWS Cloud9 development environment.

" + }, + "DescribeEnvironments":{ + "name":"DescribeEnvironments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEnvironmentsRequest"}, + "output":{"shape":"DescribeEnvironmentsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Gets information about AWS Cloud9 development environments.

" + }, + "ListEnvironments":{ + "name":"ListEnvironments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEnvironmentsRequest"}, + "output":{"shape":"ListEnvironmentsResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Gets a list of AWS Cloud9 development environment identifiers.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets a list of the tags associated with an AWS Cloud9 development environment.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Adds tags to an AWS Cloud9 development environment.

Tags that you add to an AWS Cloud9 environment by using this method will NOT be automatically propagated to underlying resources.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Removes tags from an AWS Cloud9 development environment.

" + }, + "UpdateEnvironment":{ + "name":"UpdateEnvironment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEnvironmentRequest"}, + "output":{"shape":"UpdateEnvironmentResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Changes the settings of an existing AWS Cloud9 development environment.

", + "idempotent":true + }, + "UpdateEnvironmentMembership":{ + "name":"UpdateEnvironmentMembership", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEnvironmentMembershipRequest"}, + "output":{"shape":"UpdateEnvironmentMembershipResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"NotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Changes the settings of an existing environment member for an AWS Cloud9 development environment.

", + "idempotent":true + } + }, + "shapes":{ + "AutomaticStopTimeMinutes":{ + "type":"integer", + "box":true, + "max":20160 + }, + "BadRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target request is invalid.

", + "exception":true + }, + "BoundedEnvironmentIdList":{ + "type":"list", + "member":{"shape":"EnvironmentId"}, + "max":25, + "min":1 + }, + "ClientRequestToken":{ + "type":"string", + "pattern":"[\\x20-\\x7E]{10,128}" + }, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A conflict occurred.

", + "exception":true + }, + "CreateEnvironmentEC2Request":{ + "type":"structure", + "required":[ + "name", + "instanceType" + ], + "members":{ + "name":{ + "shape":"EnvironmentName", + "documentation":"

The name of the environment to create.

This name is visible to other AWS IAM users in the same AWS account.

" + }, + "description":{ + "shape":"EnvironmentDescription", + "documentation":"

The description of the environment to create.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time.

For more information, see Client Tokens in the Amazon EC2 API Reference.

" + }, + "instanceType":{ + "shape":"InstanceType", + "documentation":"

The type of instance to connect to the environment (for example, t2.micro).

" + }, + "subnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazon EC2 instance.

" + }, + "automaticStopTimeMinutes":{ + "shape":"AutomaticStopTimeMinutes", + "documentation":"

The number of minutes until the running instance is shut down after the environment has last been used.

" + }, + "ownerArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the environment owner. This ARN can be the ARN of any AWS IAM principal. If this value is not specified, the ARN defaults to this environment's creator.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

An array of key-value pairs that will be associated with the new AWS Cloud9 development environment.

" + } + } + }, + "CreateEnvironmentEC2Result":{ + "type":"structure", + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment that was created.

" + } + } + }, + "CreateEnvironmentMembershipRequest":{ + "type":"structure", + "required":[ + "environmentId", + "userArn", + "permissions" + ], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment that contains the environment member you want to add.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the environment member you want to add.

" + }, + "permissions":{ + "shape":"MemberPermissions", + "documentation":"

The type of environment member permissions you want to associate with this environment member. Available values include:

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" + } + } + }, + "CreateEnvironmentMembershipResult":{ + "type":"structure", + "members":{ + "membership":{ + "shape":"EnvironmentMember", + "documentation":"

Information about the environment member that was added.

" + } + } + }, + "DeleteEnvironmentMembershipRequest":{ + "type":"structure", + "required":[ + "environmentId", + "userArn" + ], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment to delete the environment member from.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the environment member to delete from the environment.

" + } + } + }, + "DeleteEnvironmentMembershipResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteEnvironmentRequest":{ + "type":"structure", + "required":["environmentId"], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment to delete.

" + } + } + }, + "DeleteEnvironmentResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeEnvironmentMembershipsRequest":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of an individual environment member to get information about. If no value is specified, information about all environment members are returned.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment to get environment member information about.

" + }, + "permissions":{ + "shape":"PermissionsList", + "documentation":"

The type of environment member permissions to get information about. Available values include:

  • owner: Owns the environment.

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

If no value is specified, information about all environment members are returned.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of environment members to get information about.

" + } + } + }, + "DescribeEnvironmentMembershipsResult":{ + "type":"structure", + "members":{ + "memberships":{ + "shape":"EnvironmentMembersList", + "documentation":"

Information about the environment members for the environment.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" + } + } + }, + "DescribeEnvironmentStatusRequest":{ + "type":"structure", + "required":["environmentId"], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment to get status information about.

" + } + } + }, + "DescribeEnvironmentStatusResult":{ + "type":"structure", + "members":{ + "status":{ + "shape":"EnvironmentStatus", + "documentation":"

The status of the environment. Available values include:

  • connecting: The environment is connecting.

  • creating: The environment is being created.

  • deleting: The environment is being deleted.

  • error: The environment is in an error state.

  • ready: The environment is ready.

  • stopped: The environment is stopped.

  • stopping: The environment is stopping.

" + }, + "message":{ + "shape":"String", + "documentation":"

Any informational message about the status of the environment.

" + } + } + }, + "DescribeEnvironmentsRequest":{ + "type":"structure", + "required":["environmentIds"], + "members":{ + "environmentIds":{ + "shape":"BoundedEnvironmentIdList", + "documentation":"

The IDs of individual environments to get information about.

" + } + } + }, + "DescribeEnvironmentsResult":{ + "type":"structure", + "members":{ + "environments":{ + "shape":"EnvironmentList", + "documentation":"

Information about the environments that are returned.

" + } + } + }, + "Environment":{ + "type":"structure", + "members":{ + "id":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment.

" + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

The name of the environment.

" + }, + "description":{ + "shape":"EnvironmentDescription", + "documentation":"

The description for the environment.

" + }, + "type":{ + "shape":"EnvironmentType", + "documentation":"

The type of environment. Valid values include the following:

  • ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance connects to the environment.

  • ssh: Your own server connects to the environment.

" + }, + "arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the environment.

" + }, + "ownerArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the environment owner.

" + }, + "lifecycle":{ + "shape":"EnvironmentLifecycle", + "documentation":"

The state of the environment in its creation or deletion lifecycle.

" + } + }, + "documentation":"

Information about an AWS Cloud9 development environment.

" + }, + "EnvironmentArn":{ + "type":"string", + "pattern":"arn:aws:cloud9:([a-z]{2}-[a-z]+-\\d{1}):[0-9]{12}:environment:[a-zA-Z0-9]{8,32}" + }, + "EnvironmentDescription":{ + "type":"string", + "max":200, + "sensitive":true + }, + "EnvironmentId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9]{8,32}$" + }, + "EnvironmentIdList":{ + "type":"list", + "member":{"shape":"EnvironmentId"} + }, + "EnvironmentLifecycle":{ + "type":"structure", + "members":{ + "status":{ + "shape":"EnvironmentLifecycleStatus", + "documentation":"

The current creation or deletion lifecycle state of the environment.

  • CREATING: The environment is in the process of being created.

  • CREATED: The environment was successfully created.

  • CREATE_FAILED: The environment failed to be created.

  • DELETING: The environment is in the process of being deleted.

  • DELETE_FAILED: The environment failed to delete.

" + }, + "reason":{ + "shape":"String", + "documentation":"

Any informational message about the lifecycle state of the environment.

" + }, + "failureResource":{ + "shape":"String", + "documentation":"

If the environment failed to delete, the Amazon Resource Name (ARN) of the related AWS resource.

" + } + }, + "documentation":"

Information about the current creation or deletion lifecycle state of an AWS Cloud9 development environment.

" + }, + "EnvironmentLifecycleStatus":{ + "type":"string", + "enum":[ + "CREATING", + "CREATED", + "CREATE_FAILED", + "DELETING", + "DELETE_FAILED" + ] + }, + "EnvironmentList":{ + "type":"list", + "member":{"shape":"Environment"} + }, + "EnvironmentMember":{ + "type":"structure", + "members":{ + "permissions":{ + "shape":"Permissions", + "documentation":"

The type of environment member permissions associated with this environment member. Available values include:

  • owner: Owns the environment.

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" + }, + "userId":{ + "shape":"String", + "documentation":"

The user ID in AWS Identity and Access Management (AWS IAM) of the environment member.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the environment member.

" + }, + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment for the environment member.

" + }, + "lastAccess":{ + "shape":"Timestamp", + "documentation":"

The time, expressed in epoch time format, when the environment member last opened the environment.

" + } + }, + "documentation":"

Information about an environment member for an AWS Cloud9 development environment.

" + }, + "EnvironmentMembersList":{ + "type":"list", + "member":{"shape":"EnvironmentMember"} + }, + "EnvironmentName":{ + "type":"string", + "max":60, + "min":1 + }, + "EnvironmentStatus":{ + "type":"string", + "enum":[ + "error", + "creating", + "connecting", + "ready", + "stopping", + "stopped", + "deleting" + ] + }, + "EnvironmentType":{ + "type":"string", + "enum":[ + "ssh", + "ec2" + ] + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An access permissions issue occurred.

", + "exception":true + }, + "InstanceType":{ + "type":"string", + "max":20, + "min":5, + "pattern":"^[a-z][1-9][.][a-z0-9]+$" + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An internal server error occurred.

", + "exception":true, + "fault":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A service limit was exceeded.

", + "exception":true + }, + "ListEnvironmentsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, if there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of environments to get identifiers for.

" + } + } + }, + "ListEnvironmentsResult":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

If there are more than 25 items in the list, only the first 25 items are returned, along with a unique string called a next token. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" + }, + "environmentIds":{ + "shape":"EnvironmentIdList", + "documentation":"

The list of environment identifiers.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"EnvironmentArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to get the tags for.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags associated with the AWS Cloud9 development environment.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":0 + }, + "MemberPermissions":{ + "type":"string", + "enum":[ + "read-write", + "read-only" + ] + }, + "NotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target resource cannot be found.

", + "exception":true + }, + "Permissions":{ + "type":"string", + "enum":[ + "owner", + "read-write", + "read-only" + ] + }, + "PermissionsList":{ + "type":"list", + "member":{"shape":"Permissions"} + }, + "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "max":30, + "min":5 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The name part of a tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value part of a tag.

" + } + }, + "documentation":"

Metadata that is associated with AWS resources. In particular, a name-value pair that can be associated with an AWS Cloud9 development environment. There are two types of tags: user tags and system tags. A user tag is created by the user. A system tag is automatically created by AWS services. A system tag is prefixed with \"aws:\" and cannot be modified by the user.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"EnvironmentArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to add tags to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags to add to the given AWS Cloud9 development environment.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Too many service requests were made over the given time period.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"EnvironmentArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Cloud9 development environment to remove tags from.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag names of the tags to remove from the given AWS Cloud9 development environment.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateEnvironmentMembershipRequest":{ + "type":"structure", + "required":[ + "environmentId", + "userArn", + "permissions" + ], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment for the environment member whose settings you want to change.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the environment member whose settings you want to change.

" + }, + "permissions":{ + "shape":"MemberPermissions", + "documentation":"

The replacement type of environment member permissions you want to associate with this environment member. Available values include:

  • read-only: Has read-only access to the environment.

  • read-write: Has read-write access to the environment.

" + } + } + }, + "UpdateEnvironmentMembershipResult":{ + "type":"structure", + "members":{ + "membership":{ + "shape":"EnvironmentMember", + "documentation":"

Information about the environment member whose settings were changed.

" + } + } + }, + "UpdateEnvironmentRequest":{ + "type":"structure", + "required":["environmentId"], + "members":{ + "environmentId":{ + "shape":"EnvironmentId", + "documentation":"

The ID of the environment to change settings.

" + }, + "name":{ + "shape":"EnvironmentName", + "documentation":"

A replacement name for the environment.

" + }, + "description":{ + "shape":"EnvironmentDescription", + "documentation":"

Any new or replacement description for the environment.

" + } + } + }, + "UpdateEnvironmentResult":{ + "type":"structure", + "members":{ + } + }, + "UserArn":{ + "type":"string", + "pattern":"^arn:aws:(iam|sts)::\\d+:(root|(user\\/[\\w+=/:,.@-]{1,64}|federated-user\\/[\\w+=/:,.@-]{2,32}|assumed-role\\/[\\w+=:,.@-]{1,64}\\/[\\w+=,.@-]{1,64}))$" + } + }, + "documentation":"AWS Cloud9

AWS Cloud9 is a collection of tools that you can use to code, build, run, test, debug, and release software in the cloud.

For more information about AWS Cloud9, see the AWS Cloud9 User Guide.

AWS Cloud9 supports these operations:

  • CreateEnvironmentEC2: Creates an AWS Cloud9 development environment, launches an Amazon EC2 instance, and then connects from the instance to the environment.

  • CreateEnvironmentMembership: Adds an environment member to an environment.

  • DeleteEnvironment: Deletes an environment. If an Amazon EC2 instance is connected to the environment, also terminates the instance.

  • DeleteEnvironmentMembership: Deletes an environment member from an environment.

  • DescribeEnvironmentMemberships: Gets information about environment members for an environment.

  • DescribeEnvironments: Gets information about environments.

  • DescribeEnvironmentStatus: Gets status information for an environment.

  • ListEnvironments: Gets a list of environment identifiers.

  • ListTagsForResource: Gets the tags for an environment.

  • TagResource: Adds tags to an environment.

  • UntagResource: Removes tags from an environment.

  • UpdateEnvironment: Changes the settings of an existing environment.

  • UpdateEnvironmentMembership: Changes the settings of an existing environment member for an environment.

" +} diff -Nru python-botocore-1.4.70/botocore/data/clouddirectory/2016-05-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/clouddirectory/2016-05-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/clouddirectory/2016-05-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/clouddirectory/2016-05-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,100 @@ +{ + "pagination": { + "ListObjectParentPaths": { + "result_key": "PathToObjectIdentifiersList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListFacetNames": { + "result_key": "FacetNames", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListPublishedSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDirectories": { + "result_key": "Directories", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDevelopmentSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTypedLinkFacetNames": { + "result_key": "FacetNames", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListIndex": { + "result_key": "IndexAttachments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListFacetAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListObjectPolicies": { + "result_key": "AttachedPolicyIds", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTagsForResource": { + "result_key": "Tags", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAttachedIndices": { + "result_key": "IndexAttachments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "LookupPolicy": { + "result_key": "PolicyToPathList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListPolicyAttachments": { + "result_key": "ObjectIdentifiers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListObjectAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAppliedSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTypedLinkFacetAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/clouddirectory/2016-05-10/service-2.json python-botocore-1.16.19+repack/botocore/data/clouddirectory/2016-05-10/service-2.json --- python-botocore-1.4.70/botocore/data/clouddirectory/2016-05-10/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/clouddirectory/2016-05-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5924 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-05-10", + "endpointPrefix":"clouddirectory", + "protocol":"rest-json", + "serviceFullName":"Amazon CloudDirectory", + "serviceId":"CloudDirectory", + "signatureVersion":"v4", + "signingName":"clouddirectory", + "uid":"clouddirectory-2016-05-10" + }, + "operations":{ + "AddFacetToObject":{ + "name":"AddFacetToObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/facets", + "responseCode":200 + }, + "input":{"shape":"AddFacetToObjectRequest"}, + "output":{"shape":"AddFacetToObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Adds a new Facet to an object. An object can have more than one facet applied on it.

" + }, + "ApplySchema":{ + "name":"ApplySchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/apply", + "responseCode":200 + }, + "input":{"shape":"ApplySchemaRequest"}, + "output":{"shape":"ApplySchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"} + ], + "documentation":"

Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.

" + }, + "AttachObject":{ + "name":"AttachObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attach", + "responseCode":200 + }, + "input":{"shape":"AttachObjectRequest"}, + "output":{"shape":"AttachObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" + }, + "AttachPolicy":{ + "name":"AttachPolicy", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/attach", + "responseCode":200 + }, + "input":{"shape":"AttachPolicyRequest"}, + "output":{"shape":"AttachPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "AttachToIndex":{ + "name":"AttachToIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index/attach", + "responseCode":200 + }, + "input":{"shape":"AttachToIndexRequest"}, + "output":{"shape":"AttachToIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"IndexedAttributeMissingException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Attaches the specified object to the specified index.

" + }, + "AttachTypedLink":{ + "name":"AttachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attach", + "responseCode":200 + }, + "input":{"shape":"AttachTypedLinkRequest"}, + "output":{"shape":"AttachTypedLinkResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + }, + "BatchRead":{ + "name":"BatchRead", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/batchread", + "responseCode":200 + }, + "input":{"shape":"BatchReadRequest"}, + "output":{"shape":"BatchReadResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"} + ], + "documentation":"

Performs all the read operations in a batch.

" + }, + "BatchWrite":{ + "name":"BatchWrite", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/batchwrite", + "responseCode":200 + }, + "input":{"shape":"BatchWriteRequest"}, + "output":{"shape":"BatchWriteResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"BatchWriteException"} + ], + "documentation":"

Performs all the write operations in a batch. Either all the operations succeed or none.

" + }, + "CreateDirectory":{ + "name":"CreateDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/create", + "responseCode":200 + }, + "input":{"shape":"CreateDirectoryRequest"}, + "output":{"shape":"CreateDirectoryResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

" + }, + "CreateFacet":{ + "name":"CreateFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/create", + "responseCode":200 + }, + "input":{"shape":"CreateFacetRequest"}, + "output":{"shape":"CreateFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetAlreadyExistsException"}, + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

" + }, + "CreateIndex":{ + "name":"CreateIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index", + "responseCode":200 + }, + "input":{"shape":"CreateIndexRequest"}, + "output":{"shape":"CreateIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"UnsupportedIndexTypeException"} + ], + "documentation":"

Creates an index object. See Indexing for more information.

" + }, + "CreateObject":{ + "name":"CreateObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object", + "responseCode":200 + }, + "input":{"shape":"CreateObjectRequest"}, + "output":{"shape":"CreateObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"UnsupportedIndexTypeException"} + ], + "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" + }, + "CreateSchema":{ + "name":"CreateSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/create", + "responseCode":200 + }, + "input":{"shape":"CreateSchemaRequest"}, + "output":{"shape":"CreateSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"SchemaAlreadyExistsException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

" + }, + "CreateTypedLinkFacet":{ + "name":"CreateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/create", + "responseCode":200 + }, + "input":{"shape":"CreateTypedLinkFacetRequest"}, + "output":{"shape":"CreateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetAlreadyExistsException"}, + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Creates a TypedLinkFacet. For more information, see Typed link.

" + }, + "DeleteDirectory":{ + "name":"DeleteDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory", + "responseCode":200 + }, + "input":{"shape":"DeleteDirectoryRequest"}, + "output":{"shape":"DeleteDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryNotDisabledException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

" + }, + "DeleteFacet":{ + "name":"DeleteFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteFacetRequest"}, + "output":{"shape":"DeleteFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"FacetInUseException"} + ], + "documentation":"

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

" + }, + "DeleteObject":{ + "name":"DeleteObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteObjectRequest"}, + "output":{"shape":"DeleteObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ObjectNotDetachedException"} + ], + "documentation":"

Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted.

" + }, + "DeleteSchema":{ + "name":"DeleteSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema", + "responseCode":200 + }, + "input":{"shape":"DeleteSchemaRequest"}, + "output":{"shape":"DeleteSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"StillContainsLinksException"} + ], + "documentation":"

Deletes a given schema. Schemas in a development and published state can only be deleted.

" + }, + "DeleteTypedLinkFacet":{ + "name":"DeleteTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteTypedLinkFacetRequest"}, + "output":{"shape":"DeleteTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Deletes a TypedLinkFacet. For more information, see Typed link.

" + }, + "DetachFromIndex":{ + "name":"DetachFromIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index/detach", + "responseCode":200 + }, + "input":{"shape":"DetachFromIndexRequest"}, + "output":{"shape":"DetachFromIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ObjectAlreadyDetachedException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Detaches the specified object from the specified index.

" + }, + "DetachObject":{ + "name":"DetachObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/detach", + "responseCode":200 + }, + "input":{"shape":"DetachObjectRequest"}, + "output":{"shape":"DetachObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotNodeException"} + ], + "documentation":"

Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.

" + }, + "DetachPolicy":{ + "name":"DetachPolicy", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/detach", + "responseCode":200 + }, + "input":{"shape":"DetachPolicyRequest"}, + "output":{"shape":"DetachPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Detaches a policy from an object.

" + }, + "DetachTypedLink":{ + "name":"DetachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/detach", + "responseCode":200 + }, + "input":{"shape":"DetachTypedLinkRequest"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + }, + "DisableDirectory":{ + "name":"DisableDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/disable", + "responseCode":200 + }, + "input":{"shape":"DisableDirectoryRequest"}, + "output":{"shape":"DisableDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

" + }, + "EnableDirectory":{ + "name":"EnableDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/enable", + "responseCode":200 + }, + "input":{"shape":"EnableDirectoryRequest"}, + "output":{"shape":"EnableDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

" + }, + "GetAppliedSchemaVersion":{ + "name":"GetAppliedSchemaVersion", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/getappliedschema", + "responseCode":200 + }, + "input":{"shape":"GetAppliedSchemaVersionRequest"}, + "output":{"shape":"GetAppliedSchemaVersionResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns current applied schema version ARN, including the minor version in use.

" + }, + "GetDirectory":{ + "name":"GetDirectory", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/get", + "responseCode":200 + }, + "input":{"shape":"GetDirectoryRequest"}, + "output":{"shape":"GetDirectoryResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves metadata about a directory.

" + }, + "GetFacet":{ + "name":"GetFacet", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet", + "responseCode":200 + }, + "input":{"shape":"GetFacetRequest"}, + "output":{"shape":"GetFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" + }, + "GetLinkAttributes":{ + "name":"GetLinkAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/get", + "responseCode":200 + }, + "input":{"shape":"GetLinkAttributesRequest"}, + "output":{"shape":"GetLinkAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Retrieves attributes that are associated with a typed link.

" + }, + "GetObjectAttributes":{ + "name":"GetObjectAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes/get", + "responseCode":200 + }, + "input":{"shape":"GetObjectAttributesRequest"}, + "output":{"shape":"GetObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "GetObjectInformation":{ + "name":"GetObjectInformation", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/information", + "responseCode":200 + }, + "input":{"shape":"GetObjectInformationRequest"}, + "output":{"shape":"GetObjectInformationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves metadata about an object.

" + }, + "GetSchemaAsJson":{ + "name":"GetSchemaAsJson", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", + "responseCode":200 + }, + "input":{"shape":"GetSchemaAsJsonRequest"}, + "output":{"shape":"GetSchemaAsJsonResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

" + }, + "GetTypedLinkFacetInformation":{ + "name":"GetTypedLinkFacetInformation", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/get", + "responseCode":200 + }, + "input":{"shape":"GetTypedLinkFacetInformationRequest"}, + "output":{"shape":"GetTypedLinkFacetInformationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed link.

" + }, + "ListAppliedSchemaArns":{ + "name":"ListAppliedSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/applied", + "responseCode":200 + }, + "input":{"shape":"ListAppliedSchemaArnsRequest"}, + "output":{"shape":"ListAppliedSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

" + }, + "ListAttachedIndices":{ + "name":"ListAttachedIndices", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/indices", + "responseCode":200 + }, + "input":{"shape":"ListAttachedIndicesRequest"}, + "output":{"shape":"ListAttachedIndicesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists indices attached to the specified object.

" + }, + "ListDevelopmentSchemaArns":{ + "name":"ListDevelopmentSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/development", + "responseCode":200 + }, + "input":{"shape":"ListDevelopmentSchemaArnsRequest"}, + "output":{"shape":"ListDevelopmentSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

" + }, + "ListDirectories":{ + "name":"ListDirectories", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/list", + "responseCode":200 + }, + "input":{"shape":"ListDirectoriesRequest"}, + "output":{"shape":"ListDirectoriesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists directories created within an account.

" + }, + "ListFacetAttributes":{ + "name":"ListFacetAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/attributes", + "responseCode":200 + }, + "input":{"shape":"ListFacetAttributesRequest"}, + "output":{"shape":"ListFacetAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves attributes attached to the facet.

" + }, + "ListFacetNames":{ + "name":"ListFacetNames", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/list", + "responseCode":200 + }, + "input":{"shape":"ListFacetNamesRequest"}, + "output":{"shape":"ListFacetNamesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves the names of facets that exist in a schema.

" + }, + "ListIncomingTypedLinks":{ + "name":"ListIncomingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/incoming", + "responseCode":200 + }, + "input":{"shape":"ListIncomingTypedLinksRequest"}, + "output":{"shape":"ListIncomingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "ListIndex":{ + "name":"ListIndex", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/index/targets", + "responseCode":200 + }, + "input":{"shape":"ListIndexRequest"}, + "output":{"shape":"ListIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"FacetValidationException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListObjectAttributes":{ + "name":"ListObjectAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes", + "responseCode":200 + }, + "input":{"shape":"ListObjectAttributesRequest"}, + "output":{"shape":"ListObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "name":"ListObjectChildren", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/children", + "responseCode":200 + }, + "input":{"shape":"ListObjectChildrenRequest"}, + "output":{"shape":"ListObjectChildrenResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NotNodeException"} + ], + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "ListObjectParentPaths":{ + "name":"ListObjectParentPaths", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/parentpaths", + "responseCode":200 + }, + "input":{"shape":"ListObjectParentPathsRequest"}, + "output":{"shape":"ListObjectParentPathsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

" + }, + "ListObjectParents":{ + "name":"ListObjectParents", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/parent", + "responseCode":200 + }, + "input":{"shape":"ListObjectParentsRequest"}, + "output":{"shape":"ListObjectParentsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"CannotListParentOfRootException"} + ], + "documentation":"

Lists parent objects that are associated with a given object in pagination fashion.

" + }, + "ListObjectPolicies":{ + "name":"ListObjectPolicies", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/policy", + "responseCode":200 + }, + "input":{"shape":"ListObjectPoliciesRequest"}, + "output":{"shape":"ListObjectPoliciesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListOutgoingTypedLinks":{ + "name":"ListOutgoingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/outgoing", + "responseCode":200 + }, + "input":{"shape":"ListOutgoingTypedLinksRequest"}, + "output":{"shape":"ListOutgoingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "ListPolicyAttachments":{ + "name":"ListPolicyAttachments", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/attachment", + "responseCode":200 + }, + "input":{"shape":"ListPolicyAttachmentsRequest"}, + "output":{"shape":"ListPolicyAttachmentsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "ListPublishedSchemaArns":{ + "name":"ListPublishedSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/published", + "responseCode":200 + }, + "input":{"shape":"ListPublishedSchemaArnsRequest"}, + "output":{"shape":"ListPublishedSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/tags", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.

" + }, + "ListTypedLinkFacetAttributes":{ + "name":"ListTypedLinkFacetAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetAttributesRequest"}, + "output":{"shape":"ListTypedLinkFacetAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed link.

" + }, + "ListTypedLinkFacetNames":{ + "name":"ListTypedLinkFacetNames", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/list", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetNamesRequest"}, + "output":{"shape":"ListTypedLinkFacetNamesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed link.

" + }, + "LookupPolicy":{ + "name":"LookupPolicy", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/lookup", + "responseCode":200 + }, + "input":{"shape":"LookupPolicyRequest"}, + "output":{"shape":"LookupPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "PublishSchema":{ + "name":"PublishSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/publish", + "responseCode":200 + }, + "input":{"shape":"PublishSchemaRequest"}, + "output":{"shape":"PublishSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"SchemaAlreadyPublishedException"} + ], + "documentation":"

Publishes a development schema with a major version and a recommended minor version.

" + }, + "PutSchemaFromJson":{ + "name":"PutSchemaFromJson", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", + "responseCode":200 + }, + "input":{"shape":"PutSchemaFromJsonRequest"}, + "output":{"shape":"PutSchemaFromJsonResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidSchemaDocException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

" + }, + "RemoveFacetFromObject":{ + "name":"RemoveFacetFromObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/facets/delete", + "responseCode":200 + }, + "input":{"shape":"RemoveFacetFromObjectRequest"}, + "output":{"shape":"RemoveFacetFromObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Removes the specified facet from the specified object.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/tags/add", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

An API operation for adding tags to a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/tags/remove", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

An API operation for removing tags from a resource.

" + }, + "UpdateFacet":{ + "name":"UpdateFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet", + "responseCode":200 + }, + "input":{"shape":"UpdateFacetRequest"}, + "output":{"shape":"UpdateFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidFacetUpdateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" + }, + "UpdateLinkAttributes":{ + "name":"UpdateLinkAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/update", + "responseCode":200 + }, + "input":{"shape":"UpdateLinkAttributesRequest"}, + "output":{"shape":"UpdateLinkAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.

" + }, + "UpdateObjectAttributes":{ + "name":"UpdateObjectAttributes", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/update", + "responseCode":200 + }, + "input":{"shape":"UpdateObjectAttributesRequest"}, + "output":{"shape":"UpdateObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Updates a given object's attributes.

" + }, + "UpdateSchema":{ + "name":"UpdateSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/update", + "responseCode":200 + }, + "input":{"shape":"UpdateSchemaRequest"}, + "output":{"shape":"UpdateSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the schema name with a new name. Only development schema names can be updated.

" + }, + "UpdateTypedLinkFacet":{ + "name":"UpdateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet", + "responseCode":200 + }, + "input":{"shape":"UpdateTypedLinkFacetRequest"}, + "output":{"shape":"UpdateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"FacetValidationException"}, + {"shape":"InvalidFacetUpdateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Updates a TypedLinkFacet. For more information, see Typed link.

" + }, + "UpgradeAppliedSchema":{ + "name":"UpgradeAppliedSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradeapplied", + "responseCode":200 + }, + "input":{"shape":"UpgradeAppliedSchemaRequest"}, + "output":{"shape":"UpgradeAppliedSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"IncompatibleSchemaException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"} + ], + "documentation":"

Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.

" + }, + "UpgradePublishedSchema":{ + "name":"UpgradePublishedSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradepublished", + "responseCode":200 + }, + "input":{"shape":"UpgradePublishedSchemaRequest"}, + "output":{"shape":"UpgradePublishedSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"IncompatibleSchemaException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Access denied. Check your permissions.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AddFacetToObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

Attributes on the facet that you are adding to the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object you are adding the specified facet to.

" + } + } + }, + "AddFacetToObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "ApplySchemaRequest":{ + "type":"structure", + "required":[ + "PublishedSchemaArn", + "DirectoryArn" + ], + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "ApplySchemaResponse":{ + "type":"structure", + "members":{ + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

The applied schema ARN that is associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" + } + } + }, + "Arn":{"type":"string"}, + "Arns":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "AttachObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ParentReference", + "ChildReference", + "LinkName" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent object reference.

" + }, + "ChildReference":{ + "shape":"ObjectReference", + "documentation":"

The child object reference to be attached to the object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The link name with which the child object is attached to the parent.

" + } + } + }, + "AttachObjectResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The attached ObjectIdentifier, which is the child ObjectIdentifier.

" + } + } + }, + "AttachPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that is associated with the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object to which the policy will be attached.

" + } + } + }, + "AttachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "AttachToIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where the object and index exist.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index that you are attaching the object to.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that you are attaching to the index.

" + } + } + }, + "AttachToIndexResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + } + } + }, + "AttachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "Attributes":{ + "shape":"AttributeNameAndValueList", + "documentation":"

A set of attributes that are associated with the typed link.

" + } + } + }, + "AttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Returns a typed link specifier as output.

" + } + } + }, + "AttributeKey":{ + "type":"structure", + "required":[ + "SchemaArn", + "FacetName", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.

" + }, + "FacetName":{ + "shape":"FacetName", + "documentation":"

The name of the facet that the attribute exists within.

" + }, + "Name":{ + "shape":"AttributeName", + "documentation":"

The name of the attribute.

" + } + }, + "documentation":"

A unique identifier for an attribute.

" + }, + "AttributeKeyAndValue":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute.

" + }, + "Value":{ + "shape":"TypedAttributeValue", + "documentation":"

The value of the attribute.

" + } + }, + "documentation":"

The combination of an attribute key and an attribute value.

" + }, + "AttributeKeyAndValueList":{ + "type":"list", + "member":{"shape":"AttributeKeyAndValue"} + }, + "AttributeKeyList":{ + "type":"list", + "member":{"shape":"AttributeKey"} + }, + "AttributeName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "AttributeNameAndValue":{ + "type":"structure", + "required":[ + "AttributeName", + "Value" + ], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The attribute name of the typed link.

" + }, + "Value":{ + "shape":"TypedAttributeValue", + "documentation":"

The value for the typed link.

" + } + }, + "documentation":"

Identifies the attribute name and value for a typed link.

" + }, + "AttributeNameAndValueList":{ + "type":"list", + "member":{"shape":"AttributeNameAndValue"} + }, + "AttributeNameList":{ + "type":"list", + "member":{"shape":"AttributeName"} + }, + "BatchAddFacetToObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectAttributeList", + "ObjectReference" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Represents the facet being added to the object.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes to set on the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being mutated.

" + } + }, + "documentation":"

Represents the output of a batch add facet to object operation.

" + }, + "BatchAddFacetToObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The result of a batch add facet to object operation.

" + }, + "BatchAttachObject":{ + "type":"structure", + "required":[ + "ParentReference", + "ChildReference", + "LinkName" + ], + "members":{ + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent object reference.

" + }, + "ChildReference":{ + "shape":"ObjectReference", + "documentation":"

The child object reference that is to be attached to the object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + } + }, + "documentation":"

Represents the output of an AttachObject operation.

" + }, + "BatchAttachObjectResponse":{ + "type":"structure", + "members":{ + "attachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that has been attached.

" + } + }, + "documentation":"

Represents the output batch AttachObject response operation.

" + }, + "BatchAttachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that is associated with the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object to which the policy will be attached.

" + } + }, + "documentation":"

Attaches a policy object to a regular object inside a BatchRead operation. For more information, see AttachPolicy and BatchReadRequest$Operations.

" + }, + "BatchAttachPolicyResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of an AttachPolicy response operation.

" + }, + "BatchAttachToIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index that you are attaching the object to.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that you are attaching to the index.

" + } + }, + "documentation":"

Attaches the specified object to the specified index inside a BatchRead operation. For more information, see AttachToIndex and BatchReadRequest$Operations.

" + }, + "BatchAttachToIndexResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + } + }, + "documentation":"

Represents the output of a AttachToIndex response operation.

" + }, + "BatchAttachTypedLink":{ + "type":"structure", + "required":[ + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "Attributes":{ + "shape":"AttributeNameAndValueList", + "documentation":"

A set of attributes that are associated with the typed link.

" + } + }, + "documentation":"

Attaches a typed link to a specified source and target object inside a BatchRead operation. For more information, see AttachTypedLink and BatchReadRequest$Operations.

" + }, + "BatchAttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Returns a typed link specifier as output.

" + } + }, + "documentation":"

Represents the output of a AttachTypedLink response operation.

" + }, + "BatchCreateIndex":{ + "type":"structure", + "required":[ + "OrderedIndexedAttributeList", + "IsUnique" + ], + "members":{ + "OrderedIndexedAttributeList":{ + "shape":"AttributeKeyList", + "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" + }, + "IsUnique":{ + "shape":"Bool", + "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the parent object that contains the index object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link between the parent object and the index object.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Batches for more information.

" + } + }, + "documentation":"

Creates an index object inside of a BatchRead operation. For more information, see CreateIndex and BatchReadRequest$Operations.

" + }, + "BatchCreateIndexResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the index created by this operation.

" + } + }, + "documentation":"

Represents the output of a CreateIndex response operation.

" + }, + "BatchCreateObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectAttributeList" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacetList", + "documentation":"

A list of FacetArns that will be associated with the object. For more information, see arns.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

If specified, the parent reference to which this object will be attached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Batches for more information.

" + } + }, + "documentation":"

Represents the output of a CreateObject operation.

" + }, + "BatchCreateObjectResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ID that is associated with the object.

" + } + }, + "documentation":"

Represents the output of a CreateObject response operation.

" + }, + "BatchDeleteObject":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object.

" + } + }, + "documentation":"

Represents the output of a DeleteObject operation.

" + }, + "BatchDeleteObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DeleteObject response operation.

" + }, + "BatchDetachFromIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index object.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being detached from the index.

" + } + }, + "documentation":"

Detaches the specified object from the specified index inside a BatchRead operation. For more information, see DetachFromIndex and BatchReadRequest$Operations.

" + }, + "BatchDetachFromIndexResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" + } + }, + "documentation":"

Represents the output of a DetachFromIndex response operation.

" + }, + "BatchDetachObject":{ + "type":"structure", + "required":[ + "ParentReference", + "LinkName" + ], + "members":{ + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

Parent reference from which the object with the specified link name is detached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Batches for more information.

" + } + }, + "documentation":"

Represents the output of a DetachObject operation.

" + }, + "BatchDetachObjectResponse":{ + "type":"structure", + "members":{ + "detachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the detached object.

" + } + }, + "documentation":"

Represents the output of a DetachObject response operation.

" + }, + "BatchDetachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policy object will be detached.

" + } + }, + "documentation":"

Detaches the specified policy from the specified directory inside a BatchWrite operation. For more information, see DetachPolicy and BatchWriteRequest$Operations.

" + }, + "BatchDetachPolicyResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DetachPolicy response operation.

" + }, + "BatchDetachTypedLink":{ + "type":"structure", + "required":["TypedLinkSpecifier"], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Used to accept a typed link specifier as input.

" + } + }, + "documentation":"

Detaches a typed link from a specified source and target object inside a BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations.

" + }, + "BatchDetachTypedLinkResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DetachTypedLink response operation.

" + }, + "BatchGetLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

A list of attribute names whose values will be retrieved.

" + } + }, + "documentation":"

Retrieves attributes that are associated with a typed link inside a BatchRead operation. For more information, see GetLinkAttributes and BatchReadRequest$Operations.

" + }, + "BatchGetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the typed link.

" + } + }, + "documentation":"

Represents the output of a GetLinkAttributes response operation.

" + }, + "BatchGetObjectAttributes":{ + "type":"structure", + "required":[ + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

List of attribute names whose values will be retrieved.

" + } + }, + "documentation":"

Retrieves attributes within a facet that are associated with an object inside an BatchRead operation. For more information, see GetObjectAttributes and BatchReadRequest$Operations.

" + }, + "BatchGetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attribute values that are associated with an object.

" + } + }, + "documentation":"

Represents the output of a GetObjectAttributes response operation.

" + }, + "BatchGetObjectInformation":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object.

" + } + }, + "documentation":"

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

" + }, + "BatchGetObjectInformationResponse":{ + "type":"structure", + "members":{ + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

The facets attached to the specified object.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the specified object.

" + } + }, + "documentation":"

Represents the output of a GetObjectInformation response operation.

" + }, + "BatchListAttachedIndices":{ + "type":"structure", + "required":["TargetReference"], + "members":{ + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that has indices attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

" + }, + "BatchListAttachedIndicesResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The indices attached to the specified object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListAttachedIndices response operation.

" + }, + "BatchListIncomingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks and BatchReadRequest$Operations.

" + }, + "BatchListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns one or more typed link specifiers as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListIncomingTypedLinks response operation.

" + }, + "BatchListIndex":{ + "type":"structure", + "required":["IndexReference"], + "members":{ + "RangesOnIndexedValues":{ + "shape":"ObjectAttributeRangeList", + "documentation":"

Specifies the ranges of indexed values that you want to query.

" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

The reference to the index to list.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Lists objects attached to the specified index inside a BatchRead operation. For more information, see ListIndex and BatchReadRequest$Operations.

" + }, + "BatchListIndexResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The objects and indexed values attached to the index.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListIndex response operation.

" + }, + "BatchListObjectAttributes":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference of the object whose attributes need to be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" + } + }, + "documentation":"

Represents the output of a ListObjectAttributes operation.

" + }, + "BatchListObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectAttributes response operation.

" + }, + "BatchListObjectChildren":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference of the object for which child objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + }, + "documentation":"

Represents the output of a ListObjectChildren operation.

" + }, + "BatchListObjectChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"LinkNameToObjectIdentifierMap", + "documentation":"

The children structure, which is a map with the key as the LinkName and ObjectIdentifier as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectChildren response operation.

" + }, + "BatchListObjectParentPaths":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a BatchRead operation. For more information, see ListObjectParentPaths and BatchReadRequest$Operations.

" + }, + "BatchListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{ + "shape":"PathToObjectIdentifiersList", + "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectParentPaths response operation.

" + }, + "BatchListObjectPolicies":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns policies attached to an object in pagination fashion inside a BatchRead operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations.

" + }, + "BatchListObjectPoliciesResponse":{ + "type":"structure", + "members":{ + "AttachedPolicyIds":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectPolicies response operation.

" + }, + "BatchListOutgoingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

" + }, + "BatchListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns a typed link specifier as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListOutgoingTypedLinks response operation.

" + }, + "BatchListPolicyAttachments":{ + "type":"structure", + "required":["PolicyReference"], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the policy object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

" + }, + "BatchListPolicyAttachmentsResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListPolicyAttachments response operation.

" + }, + "BatchLookupPolicy":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policies will be looked up.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

" + }, + "BatchLookupPolicyResponse":{ + "type":"structure", + "members":{ + "PolicyToPathList":{ + "shape":"PolicyToPathList", + "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a LookupPolicy response operation.

" + }, + "BatchOperationIndex":{"type":"integer"}, + "BatchReadException":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"BatchReadExceptionType", + "documentation":"

A type of exception, such as InvalidArnException.

" + }, + "Message":{ + "shape":"ExceptionMessage", + "documentation":"

An exception message that is associated with the failure.

" + } + }, + "documentation":"

The batch read exception structure, which contains the exception type and message.

" + }, + "BatchReadExceptionType":{ + "type":"string", + "enum":[ + "ValidationException", + "InvalidArnException", + "ResourceNotFoundException", + "InvalidNextTokenException", + "AccessDeniedException", + "NotNodeException", + "FacetValidationException", + "CannotListParentOfRootException", + "NotIndexException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "InternalServiceException" + ] + }, + "BatchReadOperation":{ + "type":"structure", + "members":{ + "ListObjectAttributes":{ + "shape":"BatchListObjectAttributes", + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "shape":"BatchListObjectChildren", + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "ListAttachedIndices":{ + "shape":"BatchListAttachedIndices", + "documentation":"

Lists indices attached to an object.

" + }, + "ListObjectParentPaths":{ + "shape":"BatchListObjectParentPaths", + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + }, + "GetObjectInformation":{ + "shape":"BatchGetObjectInformation", + "documentation":"

Retrieves metadata about an object.

" + }, + "GetObjectAttributes":{ + "shape":"BatchGetObjectAttributes", + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "ListObjectPolicies":{ + "shape":"BatchListObjectPolicies", + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListPolicyAttachments":{ + "shape":"BatchListPolicyAttachments", + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "LookupPolicy":{ + "shape":"BatchLookupPolicy", + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "ListIndex":{ + "shape":"BatchListIndex", + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListOutgoingTypedLinks":{ + "shape":"BatchListOutgoingTypedLinks", + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "ListIncomingTypedLinks":{ + "shape":"BatchListIncomingTypedLinks", + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "GetLinkAttributes":{ + "shape":"BatchGetLinkAttributes", + "documentation":"

Retrieves attributes that are associated with a typed link.

" + } + }, + "documentation":"

Represents the output of a BatchRead operation.

" + }, + "BatchReadOperationList":{ + "type":"list", + "member":{"shape":"BatchReadOperation"} + }, + "BatchReadOperationResponse":{ + "type":"structure", + "members":{ + "SuccessfulResponse":{ + "shape":"BatchReadSuccessfulResponse", + "documentation":"

Identifies which operation in a batch has succeeded.

" + }, + "ExceptionResponse":{ + "shape":"BatchReadException", + "documentation":"

Identifies which operation in a batch has failed.

" + } + }, + "documentation":"

Represents the output of a BatchRead response operation.

" + }, + "BatchReadOperationResponseList":{ + "type":"list", + "member":{"shape":"BatchReadOperationResponse"} + }, + "BatchReadRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Operations" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Operations":{ + "shape":"BatchReadOperationList", + "documentation":"

A list of operations that are part of the batch.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "BatchReadResponse":{ + "type":"structure", + "members":{ + "Responses":{ + "shape":"BatchReadOperationResponseList", + "documentation":"

A list of all the responses for each batch read.

" + } + } + }, + "BatchReadSuccessfulResponse":{ + "type":"structure", + "members":{ + "ListObjectAttributes":{ + "shape":"BatchListObjectAttributesResponse", + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "shape":"BatchListObjectChildrenResponse", + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "GetObjectInformation":{ + "shape":"BatchGetObjectInformationResponse", + "documentation":"

Retrieves metadata about an object.

" + }, + "GetObjectAttributes":{ + "shape":"BatchGetObjectAttributesResponse", + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "ListAttachedIndices":{ + "shape":"BatchListAttachedIndicesResponse", + "documentation":"

Lists indices attached to an object.

" + }, + "ListObjectParentPaths":{ + "shape":"BatchListObjectParentPathsResponse", + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + }, + "ListObjectPolicies":{ + "shape":"BatchListObjectPoliciesResponse", + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListPolicyAttachments":{ + "shape":"BatchListPolicyAttachmentsResponse", + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "LookupPolicy":{ + "shape":"BatchLookupPolicyResponse", + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "ListIndex":{ + "shape":"BatchListIndexResponse", + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListOutgoingTypedLinks":{ + "shape":"BatchListOutgoingTypedLinksResponse", + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "ListIncomingTypedLinks":{ + "shape":"BatchListIncomingTypedLinksResponse", + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed link.

" + }, + "GetLinkAttributes":{ + "shape":"BatchGetLinkAttributesResponse", + "documentation":"

The list of attributes to retrieve from the typed link.

" + } + }, + "documentation":"

Represents the output of a BatchRead success response operation.

" + }, + "BatchReferenceName":{"type":"string"}, + "BatchRemoveFacetFromObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

The facet to remove from the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object whose facet will be removed.

" + } + }, + "documentation":"

A batch operation to remove a facet from an object.

" + }, + "BatchRemoveFacetFromObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

An empty result that represents success.

" + }, + "BatchUpdateLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeUpdates":{ + "shape":"LinkAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + }, + "documentation":"

Updates a given typed link’s attributes inside a BatchRead operation. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder. For more information, see UpdateLinkAttributes and BatchReadRequest$Operations.

" + }, + "BatchUpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a UpdateLinkAttributes response operation.

" + }, + "BatchUpdateObjectAttributes":{ + "type":"structure", + "required":[ + "ObjectReference", + "AttributeUpdates" + ], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object.

" + }, + "AttributeUpdates":{ + "shape":"ObjectAttributeUpdateList", + "documentation":"

Attributes update structure.

" + } + }, + "documentation":"

Represents the output of a BatchUpdate operation.

" + }, + "BatchUpdateObjectAttributesResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

ID that is associated with the object.

" + } + }, + "documentation":"

Represents the output of a BatchUpdate response operation.

" + }, + "BatchWriteException":{ + "type":"structure", + "members":{ + "Index":{"shape":"BatchOperationIndex"}, + "Type":{"shape":"BatchWriteExceptionType"}, + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A BatchWrite exception has occurred.

", + "exception":true + }, + "BatchWriteExceptionType":{ + "type":"string", + "enum":[ + "InternalServiceException", + "ValidationException", + "InvalidArnException", + "LinkNameAlreadyInUseException", + "StillContainsLinksException", + "FacetValidationException", + "ObjectNotDetachedException", + "ResourceNotFoundException", + "AccessDeniedException", + "InvalidAttachmentException", + "NotIndexException", + "NotNodeException", + "IndexedAttributeMissingException", + "ObjectAlreadyDetachedException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "UnsupportedIndexTypeException" + ] + }, + "BatchWriteOperation":{ + "type":"structure", + "members":{ + "CreateObject":{ + "shape":"BatchCreateObject", + "documentation":"

Creates an object.

" + }, + "AttachObject":{ + "shape":"BatchAttachObject", + "documentation":"

Attaches an object to a Directory.

" + }, + "DetachObject":{ + "shape":"BatchDetachObject", + "documentation":"

Detaches an object from a Directory.

" + }, + "UpdateObjectAttributes":{ + "shape":"BatchUpdateObjectAttributes", + "documentation":"

Updates a given object's attributes.

" + }, + "DeleteObject":{ + "shape":"BatchDeleteObject", + "documentation":"

Deletes an object in a Directory.

" + }, + "AddFacetToObject":{ + "shape":"BatchAddFacetToObject", + "documentation":"

A batch operation that adds a facet to an object.

" + }, + "RemoveFacetFromObject":{ + "shape":"BatchRemoveFacetFromObject", + "documentation":"

A batch operation that removes a facet from an object.

" + }, + "AttachPolicy":{ + "shape":"BatchAttachPolicy", + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "DetachPolicy":{ + "shape":"BatchDetachPolicy", + "documentation":"

Detaches a policy from a Directory.

" + }, + "CreateIndex":{ + "shape":"BatchCreateIndex", + "documentation":"

Creates an index object. See Indexing for more information.

" + }, + "AttachToIndex":{ + "shape":"BatchAttachToIndex", + "documentation":"

Attaches the specified object to the specified index.

" + }, + "DetachFromIndex":{ + "shape":"BatchDetachFromIndex", + "documentation":"

Detaches the specified object from the specified index.

" + }, + "AttachTypedLink":{ + "shape":"BatchAttachTypedLink", + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + }, + "DetachTypedLink":{ + "shape":"BatchDetachTypedLink", + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + }, + "UpdateLinkAttributes":{ + "shape":"BatchUpdateLinkAttributes", + "documentation":"

Updates a given object's attributes.

" + } + }, + "documentation":"

Represents the output of a BatchWrite operation.

" + }, + "BatchWriteOperationList":{ + "type":"list", + "member":{"shape":"BatchWriteOperation"} + }, + "BatchWriteOperationResponse":{ + "type":"structure", + "members":{ + "CreateObject":{ + "shape":"BatchCreateObjectResponse", + "documentation":"

Creates an object in a Directory.

" + }, + "AttachObject":{ + "shape":"BatchAttachObjectResponse", + "documentation":"

Attaches an object to a Directory.

" + }, + "DetachObject":{ + "shape":"BatchDetachObjectResponse", + "documentation":"

Detaches an object from a Directory.

" + }, + "UpdateObjectAttributes":{ + "shape":"BatchUpdateObjectAttributesResponse", + "documentation":"

Updates a given object’s attributes.

" + }, + "DeleteObject":{ + "shape":"BatchDeleteObjectResponse", + "documentation":"

Deletes an object in a Directory.

" + }, + "AddFacetToObject":{ + "shape":"BatchAddFacetToObjectResponse", + "documentation":"

The result of an add facet to object batch operation.

" + }, + "RemoveFacetFromObject":{ + "shape":"BatchRemoveFacetFromObjectResponse", + "documentation":"

The result of a batch remove facet from object operation.

" + }, + "AttachPolicy":{ + "shape":"BatchAttachPolicyResponse", + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "DetachPolicy":{ + "shape":"BatchDetachPolicyResponse", + "documentation":"

Detaches a policy from a Directory.

" + }, + "CreateIndex":{ + "shape":"BatchCreateIndexResponse", + "documentation":"

Creates an index object. See Indexing for more information.

" + }, + "AttachToIndex":{ + "shape":"BatchAttachToIndexResponse", + "documentation":"

Attaches the specified object to the specified index.

" + }, + "DetachFromIndex":{ + "shape":"BatchDetachFromIndexResponse", + "documentation":"

Detaches the specified object from the specified index.

" + }, + "AttachTypedLink":{ + "shape":"BatchAttachTypedLinkResponse", + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed link.

" + }, + "DetachTypedLink":{ + "shape":"BatchDetachTypedLinkResponse", + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed link.

" + }, + "UpdateLinkAttributes":{ + "shape":"BatchUpdateLinkAttributesResponse", + "documentation":"

Represents the output of a BatchWrite response operation.

" + } + }, + "documentation":"

Represents the output of a BatchWrite response operation.

" + }, + "BatchWriteOperationResponseList":{ + "type":"list", + "member":{"shape":"BatchWriteOperationResponse"} + }, + "BatchWriteRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Operations" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Operations":{ + "shape":"BatchWriteOperationList", + "documentation":"

A list of operations that are part of the batch.

" + } + } + }, + "BatchWriteResponse":{ + "type":"structure", + "members":{ + "Responses":{ + "shape":"BatchWriteOperationResponseList", + "documentation":"

A list of all the responses for each batch write.

" + } + } + }, + "BinaryAttributeValue":{"type":"blob"}, + "Bool":{"type":"boolean"}, + "BooleanAttributeValue":{"type":"boolean"}, + "CannotListParentOfRootException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Cannot list the parents of a Directory root.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ConsistencyLevel":{ + "type":"string", + "enum":[ + "SERIALIZABLE", + "EVENTUAL" + ] + }, + "CreateDirectoryRequest":{ + "type":"structure", + "required":[ + "Name", + "SchemaArn" + ], + "members":{ + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the Directory. Should be unique per account, per region.

" + }, + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "CreateDirectoryResponse":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Name", + "ObjectIdentifier", + "AppliedSchemaArn" + ], + "members":{ + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" + }, + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the Directory.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The root object node of the created directory.

" + }, + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see arns.

" + } + } + }, + "CreateFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name", + "ObjectType" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The schema ARN in which the new Facet will be created. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the Facet, which is unique for a given schema.

" + }, + "Attributes":{ + "shape":"FacetAttributeList", + "documentation":"

The attributes that are associated with the Facet.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

  • Node: Can have multiple children but one parent.

  • Leaf node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" + } + } + }, + "CreateFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "OrderedIndexedAttributeList", + "IsUnique" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory where the index should be created.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "OrderedIndexedAttributeList":{ + "shape":"AttributeKeyList", + "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" + }, + "IsUnique":{ + "shape":"Bool", + "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the parent object that contains the index object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link between the parent object and the index object.

" + } + } + }, + "CreateIndexResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the index created by this operation.

" + } + } + }, + "CreateObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacets" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attribute map whose attribute ARN contains the key and attribute value as the map value.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

If specified, the parent reference to which this object will be attached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of link that is used to attach this object to a parent.

" + } + } + }, + "CreateObjectResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The identifier that is associated with the object.

" + } + } + }, + "CreateSchemaRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"SchemaName", + "documentation":"

The name that is associated with the schema. This is unique to each account and in each region.

" + } + } + }, + "CreateSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" + } + } + }, + "CreateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Facet" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Facet":{ + "shape":"TypedLinkFacet", + "documentation":"

Facet structure that is associated with the typed link facet.

" + } + } + }, + "CreateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "Date":{"type":"timestamp"}, + "DatetimeAttributeValue":{"type":"timestamp"}, + "DeleteDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to delete.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DeleteDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the deleted directory.

" + } + } + }, + "DeleteFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet to delete.

" + } + } + }, + "DeleteFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference that identifies the object.

" + } + } + }, + "DeleteObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSchemaRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DeleteSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The input ARN that is returned as part of the response. For more information, see arns.

" + } + } + }, + "DeleteTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "DeleteTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "DetachFromIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory the index and object exist in.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index object.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being detached from the index.

" + } + } + }, + "DetachFromIndexResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" + } + } + }, + "DetachObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ParentReference", + "LinkName" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent reference from which the object with the specified link name is detached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The link name associated with the object that needs to be detached.

" + } + } + }, + "DetachObjectResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier that was detached from the object.

" + } + } + }, + "DetachPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policy object will be detached.

" + } + } + }, + "DetachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DetachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Used to accept a typed link specifier as input.

" + } + } + }, + "Directory":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the directory.

" + }, + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the directory. For more information, see arns.

" + }, + "State":{ + "shape":"DirectoryState", + "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" + }, + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The date and time when the directory was created.

" + } + }, + "documentation":"

Directory structure that includes the directory name and directory ARN.

" + }, + "DirectoryAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a Directory could not be created due to a naming conflict. Choose a different name and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryArn":{"type":"string"}, + "DirectoryDeletedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A directory that has been deleted and to which access has been attempted. Note: The requested resource will eventually cease to exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryList":{ + "type":"list", + "member":{"shape":"Directory"} + }, + "DirectoryName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "DirectoryNotDisabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An operation can only operate on a disabled directory.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryNotEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Operations are only permitted on enabled directories.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "DELETED" + ] + }, + "DisableDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to disable.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DisableDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that has been disabled.

" + } + } + }, + "EnableDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to enable.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "EnableDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the enabled directory.

" + } + } + }, + "ExceptionMessage":{"type":"string"}, + "Facet":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the Facet.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + } + }, + "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes. See Facets for more information.

" + }, + "FacetAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A facet with the same name already exists.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetAttribute":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

The name of the facet attribute.

" + }, + "AttributeDefinition":{ + "shape":"FacetAttributeDefinition", + "documentation":"

A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information.

" + }, + "AttributeReference":{ + "shape":"FacetAttributeReference", + "documentation":"

An attribute reference that is associated with the attribute. See Attribute References for more information.

" + }, + "RequiredBehavior":{ + "shape":"RequiredAttributeBehavior", + "documentation":"

The required behavior of the FacetAttribute.

" + } + }, + "documentation":"

An attribute that is associated with the Facet.

" + }, + "FacetAttributeDefinition":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"FacetAttributeType", + "documentation":"

The type of the attribute.

" + }, + "DefaultValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The default value of the attribute (if configured).

" + }, + "IsImmutable":{ + "shape":"Bool", + "documentation":"

Whether the attribute is mutable or not.

" + }, + "Rules":{ + "shape":"RuleMap", + "documentation":"

Validation rules attached to the attribute definition.

" + } + }, + "documentation":"

A facet attribute definition. See Attribute References for more information.

" + }, + "FacetAttributeList":{ + "type":"list", + "member":{"shape":"FacetAttribute"} + }, + "FacetAttributeReference":{ + "type":"structure", + "required":[ + "TargetFacetName", + "TargetAttributeName" + ], + "members":{ + "TargetFacetName":{ + "shape":"FacetName", + "documentation":"

The target facet name that is associated with the facet reference. See Attribute References for more information.

" + }, + "TargetAttributeName":{ + "shape":"AttributeName", + "documentation":"

The target attribute name that is associated with the facet reference. See Attribute References for more information.

" + } + }, + "documentation":"

The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.

" + }, + "FacetAttributeType":{ + "type":"string", + "enum":[ + "STRING", + "BINARY", + "BOOLEAN", + "NUMBER", + "DATETIME" + ] + }, + "FacetAttributeUpdate":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"FacetAttribute", + "documentation":"

The attribute to update.

" + }, + "Action":{ + "shape":"UpdateActionType", + "documentation":"

The action to perform when updating the attribute.

" + } + }, + "documentation":"

A structure that contains information used to update an attribute.

" + }, + "FacetAttributeUpdateList":{ + "type":"list", + "member":{"shape":"FacetAttributeUpdate"} + }, + "FacetInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a different facet.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "FacetNameList":{ + "type":"list", + "member":{"shape":"FacetName"} + }, + "FacetNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified Facet could not be found.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The Facet that you provided was not well formed or could not be validated with the schema.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "GetAppliedSchemaVersionRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the applied schema.

" + } + } + }, + "GetAppliedSchemaVersionResponse":{ + "type":"structure", + "members":{ + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

Current applied schema ARN, including the minor version in use if one was provided.

" + } + } + }, + "GetDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The ARN of the directory.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "GetDirectoryResponse":{ + "type":"structure", + "required":["Directory"], + "members":{ + "Directory":{ + "shape":"Directory", + "documentation":"

Metadata about the directory.

" + } + } + }, + "GetFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet to retrieve.

" + } + } + }, + "GetFacetResponse":{ + "type":"structure", + "members":{ + "Facet":{ + "shape":"Facet", + "documentation":"

The Facet structure that is associated with the facet.

" + } + } + }, + "GetLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

A list of attribute names whose values will be retrieved.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the attributes on a typed link.

" + } + } + }, + "GetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the typed link.

" + } + } + }, + "GetObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the attributes on an object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

List of attribute names whose values will be retrieved.

" + } + } + }, + "GetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the object.

" + } + } + }, + "GetObjectInformationRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory being retrieved.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the object information.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "GetObjectInformationResponse":{ + "type":"structure", + "members":{ + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the specified object.

" + } + } + }, + "GetSchemaAsJsonRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to retrieve.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "GetSchemaAsJsonResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"SchemaName", + "documentation":"

The name of the retrieved schema.

" + }, + "Document":{ + "shape":"SchemaJsonDocument", + "documentation":"

The JSON representation of the schema document.

" + } + } + }, + "GetTypedLinkFacetInformationRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "GetTypedLinkFacetInformationResponse":{ + "type":"structure", + "members":{ + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" + } + } + }, + "IncompatibleSchemaException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates a failure occurred while performing a check for backward compatibility between the specified schema and the schema that is currently applied to the directory.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IndexAttachment":{ + "type":"structure", + "members":{ + "IndexedAttributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The indexed attribute values.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

" + } + }, + "documentation":"

Represents an index and an attached object.

" + }, + "IndexAttachmentList":{ + "type":"list", + "member":{"shape":"IndexAttachment"} + }, + "IndexedAttributeMissingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An object has been attempted to be attached to an object that does not have the appropriate attribute value.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates a problem that must be resolved by Amazon Web Services. This might be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any operational issues with the service.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the provided ARN value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidAttachmentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that an attempt to attach an object with the same link name or to apply a schema with the same name has occurred. Rename the link or the schema and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidFacetUpdateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An attempt to modify a Facet resulted in an invalid schema exception.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the NextToken value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRuleException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when any of the rule parameter keys or values are invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidSchemaDocException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTaggingRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that limits are exceeded. See Limits for more information.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LinkAttributeAction":{ + "type":"structure", + "members":{ + "AttributeActionType":{ + "shape":"UpdateActionType", + "documentation":"

A type that can be either UPDATE_OR_CREATE or DELETE.

" + }, + "AttributeUpdateValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value that you want to update to.

" + } + }, + "documentation":"

The action to take on a typed link attribute value. Updates are only supported for attributes which don’t contribute to link identity.

" + }, + "LinkAttributeUpdate":{ + "type":"structure", + "members":{ + "AttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute being updated.

" + }, + "AttributeAction":{ + "shape":"LinkAttributeAction", + "documentation":"

The action to perform as part of the attribute update.

" + } + }, + "documentation":"

Structure that contains attribute update information.

" + }, + "LinkAttributeUpdateList":{ + "type":"list", + "member":{"shape":"LinkAttributeUpdate"} + }, + "LinkName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" + }, + "LinkNameAlreadyInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a link could not be created due to a naming conflict. Choose a different name and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LinkNameToObjectIdentifierMap":{ + "type":"map", + "key":{"shape":"LinkName"}, + "value":{"shape":"ObjectIdentifier"} + }, + "ListAppliedSchemaArnsRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory you are listing.

" + }, + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListAppliedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of schemas that are applied to the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListAttachedIndicesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that has indices attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to use for this operation.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListAttachedIndicesResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The indices attached to the specified object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListDevelopmentSchemaArnsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListDevelopmentSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of retrieved development schemas.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListDirectoriesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "state":{ + "shape":"DirectoryState", + "documentation":"

The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.

" + } + } + }, + "ListDirectoriesResponse":{ + "type":"structure", + "required":["Directories"], + "members":{ + "Directories":{ + "shape":"DirectoryList", + "documentation":"

Lists all directories that are associated with your account in pagination fashion.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListFacetAttributesRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema where the facet resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet whose attributes will be retrieved.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListFacetAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"FacetAttributeList", + "documentation":"

The attributes attached to the facet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListFacetNamesRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) to retrieve facet names from.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListFacetNamesResponse":{ + "type":"structure", + "members":{ + "FacetNames":{ + "shape":"FacetNameList", + "documentation":"

The names of facets that exist within the schema.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListIncomingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

" + } + } + }, + "ListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns one or more typed link specifiers as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that the index exists in.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "RangesOnIndexedValues":{ + "shape":"ObjectAttributeRangeList", + "documentation":"

Specifies the ranges of indexed values that you want to query.

" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

The reference to the index to list.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of objects in a single page to retrieve from the index during a request. For more information, see AWS Directory Service Limits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListIndexResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The objects and indexed values attached to the index.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" + } + } + }, + "ListObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectChildrenRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object for which child objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListObjectChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"LinkNameToObjectIdentifierMap", + "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectParentPathsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to which the parent path applies.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose parent paths are listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + } + }, + "ListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{ + "shape":"PathToObjectIdentifiersList", + "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectParentsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object for which parent objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListObjectParentsResponse":{ + "type":"structure", + "members":{ + "Parents":{ + "shape":"ObjectIdentifierToLinkNameMap", + "documentation":"

The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectPoliciesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object for which policies will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListObjectPoliciesResponse":{ + "type":"structure", + "members":{ + "AttachedPolicyIds":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListOutgoingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

" + } + } + }, + "ListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns a typed link specifier as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListPolicyAttachmentsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the policy object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListPolicyAttachmentsResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListPublishedSchemaArnsRequest":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListPublishedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of published schemas.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token. This is for future use. Currently pagination is not supported for tagging.

" + }, + "MaxResults":{ + "shape":"TagsNumberResults", + "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key value pairs that are associated with the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListTypedLinkFacetAttributesRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

An ordered set of attributes associate with the typed link.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListTypedLinkFacetNamesRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetNamesResponse":{ + "type":"structure", + "members":{ + "FacetNames":{ + "shape":"TypedLinkNameList", + "documentation":"

The names of typed link facets that exist within the schema.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "LookupPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policies will be looked up.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + } + }, + "LookupPolicyResponse":{ + "type":"structure", + "members":{ + "PolicyToPathList":{ + "shape":"PolicyToPathList", + "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "NextToken":{"type":"string"}, + "NotIndexException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation can only operate on index objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotNodeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when any invalid operations are performed on an object that is not a node, such as calling ListObjectChildren for a leaf node object.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotPolicyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation can only operate on policy objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NumberAttributeValue":{"type":"string"}, + "NumberResults":{ + "type":"integer", + "min":1 + }, + "ObjectAlreadyDetachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the object is not attached to the index.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ObjectAttributeAction":{ + "type":"structure", + "members":{ + "ObjectAttributeActionType":{ + "shape":"UpdateActionType", + "documentation":"

A type that can be either Update or Delete.

" + }, + "ObjectAttributeUpdateValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value that you want to update to.

" + } + }, + "documentation":"

The action to take on the object attribute.

" + }, + "ObjectAttributeRange":{ + "type":"structure", + "members":{ + "AttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute that the attribute range covers.

" + }, + "Range":{ + "shape":"TypedAttributeValueRange", + "documentation":"

The range of attribute values being selected.

" + } + }, + "documentation":"

A range of attributes.

" + }, + "ObjectAttributeRangeList":{ + "type":"list", + "member":{"shape":"ObjectAttributeRange"} + }, + "ObjectAttributeUpdate":{ + "type":"structure", + "members":{ + "ObjectAttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute being updated.

" + }, + "ObjectAttributeAction":{ + "shape":"ObjectAttributeAction", + "documentation":"

The action to perform as part of the attribute update.

" + } + }, + "documentation":"

Structure that contains attribute update information.

" + }, + "ObjectAttributeUpdateList":{ + "type":"list", + "member":{"shape":"ObjectAttributeUpdate"} + }, + "ObjectIdentifier":{"type":"string"}, + "ObjectIdentifierList":{ + "type":"list", + "member":{"shape":"ObjectIdentifier"} + }, + "ObjectIdentifierToLinkNameMap":{ + "type":"map", + "key":{"shape":"ObjectIdentifier"}, + "value":{"shape":"LinkName"} + }, + "ObjectNotDetachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation cannot be completed because the object has not been detached from the tree.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ObjectReference":{ + "type":"structure", + "members":{ + "Selector":{ + "shape":"SelectorObjectReference", + "documentation":"

A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Accessing Objects. You can identify an object in one of the following ways:

  • $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" + } + }, + "documentation":"

The reference that identifies an object.

" + }, + "ObjectType":{ + "type":"string", + "enum":[ + "NODE", + "LEAF_NODE", + "POLICY", + "INDEX" + ] + }, + "PathString":{"type":"string"}, + "PathToObjectIdentifiers":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"PathString", + "documentation":"

The path that is used to identify the object starting from directory root.

" + }, + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

Lists ObjectIdentifiers starting from directory root to the object in the request.

" + } + }, + "documentation":"

Returns the path to the ObjectIdentifiers that is associated with the directory.

" + }, + "PathToObjectIdentifiersList":{ + "type":"list", + "member":{"shape":"PathToObjectIdentifiers"} + }, + "PolicyAttachment":{ + "type":"structure", + "members":{ + "PolicyId":{ + "shape":"ObjectIdentifier", + "documentation":"

The ID of PolicyAttachment.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier that is associated with PolicyAttachment.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The type of policy that can be associated with PolicyAttachment.

" + } + }, + "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached. For more information, see Policies.

" + }, + "PolicyAttachmentList":{ + "type":"list", + "member":{"shape":"PolicyAttachment"} + }, + "PolicyToPath":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"PathString", + "documentation":"

The path that is referenced from the root.

" + }, + "Policies":{ + "shape":"PolicyAttachmentList", + "documentation":"

List of policy objects.

" + } + }, + "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies that are associated with that object and the parent to that object.

" + }, + "PolicyToPathList":{ + "type":"list", + "member":{"shape":"PolicyToPath"} + }, + "PolicyType":{"type":"string"}, + "PublishSchemaRequest":{ + "type":"structure", + "required":[ + "DevelopmentSchemaArn", + "Version" + ], + "members":{ + "DevelopmentSchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Version":{ + "shape":"Version", + "documentation":"

The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

" + }, + "MinorVersion":{ + "shape":"Version", + "documentation":"

The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

" + }, + "Name":{ + "shape":"SchemaName", + "documentation":"

The new name under which the schema will be published. If this is not provided, the development schema is considered.

" + } + } + }, + "PublishSchemaResponse":{ + "type":"structure", + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the published schema. For more information, see arns.

" + } + } + }, + "PutSchemaFromJsonRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Document" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to update.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Document":{ + "shape":"SchemaJsonDocument", + "documentation":"

The replacement JSON schema.

" + } + } + }, + "PutSchemaFromJsonResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to update.

" + } + } + }, + "RangeMode":{ + "type":"string", + "enum":[ + "FIRST", + "LAST", + "LAST_BEFORE_MISSING_VALUES", + "INCLUSIVE", + "EXCLUSIVE" + ] + }, + "RemoveFacetFromObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory in which the object resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

The facet to remove. See SchemaFacet for details.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object to remove the facet from.

" + } + } + }, + "RemoveFacetFromObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "RequiredAttributeBehavior":{ + "type":"string", + "enum":[ + "REQUIRED_ALWAYS", + "NOT_REQUIRED" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified resource could not be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetryableConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when a conflict with a previous successful write is detected. For example, if a write operation occurs on an object and then an attempt is made to read the object using “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "Rule":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RuleType", + "documentation":"

The type of attribute validation rule.

" + }, + "Parameters":{ + "shape":"RuleParameterMap", + "documentation":"

The minimum and maximum parameters that are associated with the rule.

" + } + }, + "documentation":"

Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.

" + }, + "RuleKey":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "RuleMap":{ + "type":"map", + "key":{"shape":"RuleKey"}, + "value":{"shape":"Rule"} + }, + "RuleParameterKey":{"type":"string"}, + "RuleParameterMap":{ + "type":"map", + "key":{"shape":"RuleParameterKey"}, + "value":{"shape":"RuleParameterValue"} + }, + "RuleParameterValue":{"type":"string"}, + "RuleType":{ + "type":"string", + "enum":[ + "BINARY_LENGTH", + "NUMBER_COMPARISON", + "STRING_FROM_SET", + "STRING_LENGTH" + ] + }, + "SchemaAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a schema could not be created due to a naming conflict. Please select a different name and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SchemaAlreadyPublishedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a schema is already published.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SchemaFacet":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

" + }, + "FacetName":{ + "shape":"FacetName", + "documentation":"

The name of the facet.

" + } + }, + "documentation":"

A facet.

" + }, + "SchemaFacetList":{ + "type":"list", + "member":{"shape":"SchemaFacet"} + }, + "SchemaJsonDocument":{"type":"string"}, + "SchemaName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "SelectorObjectReference":{"type":"string"}, + "StillContainsLinksException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The object could not be deleted because links still exist. Remove the links and then try the operation again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "StringAttributeValue":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key that is associated with the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value that is associated with the tag.

" + } + }, + "documentation":"

The tag structure that contains a tag key and value.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key-value pairs.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "TagsNumberResults":{ + "type":"integer", + "min":50 + }, + "TypedAttributeValue":{ + "type":"structure", + "members":{ + "StringValue":{ + "shape":"StringAttributeValue", + "documentation":"

A string data value.

" + }, + "BinaryValue":{ + "shape":"BinaryAttributeValue", + "documentation":"

A binary data value.

" + }, + "BooleanValue":{ + "shape":"BooleanAttributeValue", + "documentation":"

A Boolean data value.

" + }, + "NumberValue":{ + "shape":"NumberAttributeValue", + "documentation":"

A number data value.

" + }, + "DatetimeValue":{ + "shape":"DatetimeAttributeValue", + "documentation":"

A date and time value.

" + } + }, + "documentation":"

Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.

" + }, + "TypedAttributeValueRange":{ + "type":"structure", + "required":[ + "StartMode", + "EndMode" + ], + "members":{ + "StartMode":{ + "shape":"RangeMode", + "documentation":"

The inclusive or exclusive range start.

" + }, + "StartValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value to start the range at.

" + }, + "EndMode":{ + "shape":"RangeMode", + "documentation":"

The inclusive or exclusive range end.

" + }, + "EndValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The attribute value to terminate the range at.

" + } + }, + "documentation":"

A range of attribute values. For more information, see Range Filters.

" + }, + "TypedLinkAttributeDefinition":{ + "type":"structure", + "required":[ + "Name", + "Type", + "RequiredBehavior" + ], + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

" + }, + "Type":{ + "shape":"FacetAttributeType", + "documentation":"

The type of the attribute.

" + }, + "DefaultValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The default value of the attribute (if configured).

" + }, + "IsImmutable":{ + "shape":"Bool", + "documentation":"

Whether the attribute is mutable or not.

" + }, + "Rules":{ + "shape":"RuleMap", + "documentation":"

Validation rules that are attached to the attribute definition.

" + }, + "RequiredBehavior":{ + "shape":"RequiredAttributeBehavior", + "documentation":"

The required behavior of the TypedLinkAttributeDefinition.

" + } + }, + "documentation":"

A typed link attribute definition.

" + }, + "TypedLinkAttributeDefinitionList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeDefinition"} + }, + "TypedLinkAttributeRange":{ + "type":"structure", + "required":["Range"], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

" + }, + "Range":{ + "shape":"TypedAttributeValueRange", + "documentation":"

The range of attribute values that are being selected.

" + } + }, + "documentation":"

Identifies the range of attributes that are used by a specified filter.

" + }, + "TypedLinkAttributeRangeList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeRange"} + }, + "TypedLinkFacet":{ + "type":"structure", + "required":[ + "Name", + "Attributes", + "IdentityAttributeOrder" + ], + "members":{ + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

" + } + }, + "documentation":"

Defines the typed links structure and its attributes. To create a typed link facet, use the CreateTypedLinkFacet API.

" + }, + "TypedLinkFacetAttributeUpdate":{ + "type":"structure", + "required":[ + "Attribute", + "Action" + ], + "members":{ + "Attribute":{ + "shape":"TypedLinkAttributeDefinition", + "documentation":"

The attribute to update.

" + }, + "Action":{ + "shape":"UpdateActionType", + "documentation":"

The action to perform when updating the attribute.

" + } + }, + "documentation":"

A typed link facet attribute update.

" + }, + "TypedLinkFacetAttributeUpdateList":{ + "type":"list", + "member":{"shape":"TypedLinkFacetAttributeUpdate"} + }, + "TypedLinkName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "TypedLinkNameList":{ + "type":"list", + "member":{"shape":"TypedLinkName"} + }, + "TypedLinkSchemaAndFacetName":{ + "type":"structure", + "required":[ + "SchemaArn", + "TypedLinkName" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" + }, + "TypedLinkName":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + }, + "documentation":"

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

" + }, + "TypedLinkSpecifier":{ + "type":"structure", + "required":[ + "TypedLinkFacet", + "SourceObjectReference", + "TargetObjectReference", + "IdentityAttributeValues" + ], + "members":{ + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "IdentityAttributeValues":{ + "shape":"AttributeNameAndValueList", + "documentation":"

Identifies the attribute value to update.

" + } + }, + "documentation":"

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

" + }, + "TypedLinkSpecifierList":{ + "type":"list", + "member":{"shape":"TypedLinkSpecifier"} + }, + "UnsupportedIndexTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested index type is not supported.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

Keys of the tag that need to be removed from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateActionType":{ + "type":"string", + "enum":[ + "CREATE_OR_UPDATE", + "DELETE" + ] + }, + "UpdateFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet.

" + }, + "AttributeUpdates":{ + "shape":"FacetAttributeUpdateList", + "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + } + } + }, + "UpdateFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeUpdates":{ + "shape":"LinkAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + } + }, + "UpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference", + "AttributeUpdates" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object.

" + }, + "AttributeUpdates":{ + "shape":"ObjectAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + } + }, + "UpdateObjectAttributesResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the updated object.

" + } + } + }, + "UpdateSchemaRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"SchemaName", + "documentation":"

The name of the schema.

" + } + } + }, + "UpdateSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the updated schema. For more information, see arns.

" + } + } + }, + "UpdateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name", + "AttributeUpdates", + "IdentityAttributeOrder" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "AttributeUpdates":{ + "shape":"TypedLinkFacetAttributeUpdateList", + "documentation":"

Attributes update structure.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed link.

" + } + } + }, + "UpdateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpgradeAppliedSchemaRequest":{ + "type":"structure", + "required":[ + "PublishedSchemaArn", + "DirectoryArn" + ], + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The revision of the published schema to upgrade the directory to.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN for the directory to which the upgraded schema will be applied.

" + }, + "DryRun":{ + "shape":"Bool", + "documentation":"

Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

" + } + } + }, + "UpgradeAppliedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that is returned as part of the response.

" + } + } + }, + "UpgradePublishedSchemaRequest":{ + "type":"structure", + "required":[ + "DevelopmentSchemaArn", + "PublishedSchemaArn", + "MinorVersion" + ], + "members":{ + "DevelopmentSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the development schema with the changes used for the upgrade.

" + }, + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the published schema to be upgraded.

" + }, + "MinorVersion":{ + "shape":"Version", + "documentation":"

Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

" + }, + "DryRun":{ + "shape":"Bool", + "documentation":"

Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

" + } + } + }, + "UpgradePublishedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that your request is malformed in some manner. See the exception message.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Version":{ + "type":"string", + "max":10, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + } + }, + "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/examples-1.json python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/examples-1.json --- python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/paginators-1.json python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/paginators-1.json --- python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,118 @@ +{ + "pagination": { + "ListObjectParentPaths": { + "result_key": "PathToObjectIdentifiersList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListFacetNames": { + "result_key": "FacetNames", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListPublishedSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDirectories": { + "result_key": "Directories", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDevelopmentSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTypedLinkFacetNames": { + "result_key": "FacetNames", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListIndex": { + "result_key": "IndexAttachments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListFacetAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListObjectPolicies": { + "result_key": "AttachedPolicyIds", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTagsForResource": { + "result_key": "Tags", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAttachedIndices": { + "result_key": "IndexAttachments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "LookupPolicy": { + "result_key": "PolicyToPathList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListPolicyAttachments": { + "result_key": "ObjectIdentifiers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListObjectAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAppliedSchemaArns": { + "result_key": "SchemaArns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTypedLinkFacetAttributes": { + "result_key": "Attributes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListIncomingTypedLinks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LinkSpecifiers" + }, + "ListManagedSchemaArns": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SchemaArns" + }, + "ListOutgoingTypedLinks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TypedLinkSpecifiers" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/service-2.json python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/service-2.json --- python-botocore-1.4.70/botocore/data/clouddirectory/2017-01-11/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/clouddirectory/2017-01-11/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,6035 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-11", + "endpointPrefix":"clouddirectory", + "protocol":"rest-json", + "serviceFullName":"Amazon CloudDirectory", + "serviceId":"CloudDirectory", + "signatureVersion":"v4", + "signingName":"clouddirectory", + "uid":"clouddirectory-2017-01-11" + }, + "operations":{ + "AddFacetToObject":{ + "name":"AddFacetToObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/facets", + "responseCode":200 + }, + "input":{"shape":"AddFacetToObjectRequest"}, + "output":{"shape":"AddFacetToObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Adds a new Facet to an object. An object can have more than one facet applied on it.

" + }, + "ApplySchema":{ + "name":"ApplySchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/apply", + "responseCode":200 + }, + "input":{"shape":"ApplySchemaRequest"}, + "output":{"shape":"ApplySchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"SchemaAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"} + ], + "documentation":"

Copies the input published schema, at the specified version, into the Directory with the same name and version as that of the published schema.

" + }, + "AttachObject":{ + "name":"AttachObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attach", + "responseCode":200 + }, + "input":{"shape":"AttachObjectRequest"}, + "output":{"shape":"AttachObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Attaches an existing object to another object. An object can be accessed in two ways:

  1. Using the path

  2. Using ObjectIdentifier

" + }, + "AttachPolicy":{ + "name":"AttachPolicy", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/attach", + "responseCode":200 + }, + "input":{"shape":"AttachPolicyRequest"}, + "output":{"shape":"AttachPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "AttachToIndex":{ + "name":"AttachToIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index/attach", + "responseCode":200 + }, + "input":{"shape":"AttachToIndexRequest"}, + "output":{"shape":"AttachToIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"IndexedAttributeMissingException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Attaches the specified object to the specified index.

" + }, + "AttachTypedLink":{ + "name":"AttachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attach", + "responseCode":200 + }, + "input":{"shape":"AttachTypedLinkRequest"}, + "output":{"shape":"AttachTypedLinkResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"ValidationException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed Links.

" + }, + "BatchRead":{ + "name":"BatchRead", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/batchread", + "responseCode":200 + }, + "input":{"shape":"BatchReadRequest"}, + "output":{"shape":"BatchReadResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"} + ], + "documentation":"

Performs all the read operations in a batch.

" + }, + "BatchWrite":{ + "name":"BatchWrite", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/batchwrite", + "responseCode":200 + }, + "input":{"shape":"BatchWriteRequest"}, + "output":{"shape":"BatchWriteResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"BatchWriteException"} + ], + "documentation":"

Performs all the write operations in a batch. Either all the operations succeed or none.

" + }, + "CreateDirectory":{ + "name":"CreateDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/create", + "responseCode":200 + }, + "input":{"shape":"CreateDirectoryRequest"}, + "output":{"shape":"CreateDirectoryResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a Directory by copying the published schema into the directory. A directory cannot be created without a schema.

You can also quickly create a directory using a managed schema, called the QuickStartSchema. For more information, see Managed Schema in the Amazon Cloud Directory Developer Guide.

" + }, + "CreateFacet":{ + "name":"CreateFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/create", + "responseCode":200 + }, + "input":{"shape":"CreateFacetRequest"}, + "output":{"shape":"CreateFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetAlreadyExistsException"}, + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Creates a new Facet in a schema. Facet creation is allowed only in development or applied schemas.

" + }, + "CreateIndex":{ + "name":"CreateIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index", + "responseCode":200 + }, + "input":{"shape":"CreateIndexRequest"}, + "output":{"shape":"CreateIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"UnsupportedIndexTypeException"} + ], + "documentation":"

Creates an index object. See Indexing and search for more information.

" + }, + "CreateObject":{ + "name":"CreateObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object", + "responseCode":200 + }, + "input":{"shape":"CreateObjectRequest"}, + "output":{"shape":"CreateObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"UnsupportedIndexTypeException"} + ], + "documentation":"

Creates an object in a Directory. Additionally attaches the object to a parent, if a parent reference and LinkName is specified. An object is simply a collection of Facet attributes. You can also use this API call to create a policy object, if the facet from which you create the object is a policy facet.

" + }, + "CreateSchema":{ + "name":"CreateSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/create", + "responseCode":200 + }, + "input":{"shape":"CreateSchemaRequest"}, + "output":{"shape":"CreateSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"SchemaAlreadyExistsException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates a new schema in a development state. A schema can exist in three phases:

  • Development: This is a mutable phase of the schema. All new schemas are in the development phase. Once the schema is finalized, it can be published.

  • Published: Published schemas are immutable and have a version associated with them.

  • Applied: Applied schemas are mutable in a way that allows you to add new schema facets. You can also add new, nonrequired attributes to existing schema facets. You can apply only published schemas to directories.

" + }, + "CreateTypedLinkFacet":{ + "name":"CreateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/create", + "responseCode":200 + }, + "input":{"shape":"CreateTypedLinkFacetRequest"}, + "output":{"shape":"CreateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetAlreadyExistsException"}, + {"shape":"InvalidRuleException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Creates a TypedLinkFacet. For more information, see Typed Links.

" + }, + "DeleteDirectory":{ + "name":"DeleteDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory", + "responseCode":200 + }, + "input":{"shape":"DeleteDirectoryRequest"}, + "output":{"shape":"DeleteDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryNotDisabledException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Deletes a directory. Only disabled directories can be deleted. A deleted directory cannot be undone. Exercise extreme caution when deleting directories.

" + }, + "DeleteFacet":{ + "name":"DeleteFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteFacetRequest"}, + "output":{"shape":"DeleteFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"FacetInUseException"} + ], + "documentation":"

Deletes a given Facet. All attributes and Rules that are associated with the facet will be deleted. Only development schema facets are allowed deletion.

" + }, + "DeleteObject":{ + "name":"DeleteObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteObjectRequest"}, + "output":{"shape":"DeleteObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ObjectNotDetachedException"} + ], + "documentation":"

Deletes an object and its associated attributes. Only objects with no children and no parents can be deleted. The maximum number of attributes that can be deleted during an object deletion is 30. For more information, see Amazon Cloud Directory Limits.

" + }, + "DeleteSchema":{ + "name":"DeleteSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema", + "responseCode":200 + }, + "input":{"shape":"DeleteSchemaRequest"}, + "output":{"shape":"DeleteSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"StillContainsLinksException"} + ], + "documentation":"

Deletes a given schema. Schemas in a development and published state can only be deleted.

" + }, + "DeleteTypedLinkFacet":{ + "name":"DeleteTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteTypedLinkFacetRequest"}, + "output":{"shape":"DeleteTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Deletes a TypedLinkFacet. For more information, see Typed Links.

" + }, + "DetachFromIndex":{ + "name":"DetachFromIndex", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/index/detach", + "responseCode":200 + }, + "input":{"shape":"DetachFromIndexRequest"}, + "output":{"shape":"DetachFromIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ObjectAlreadyDetachedException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Detaches the specified object from the specified index.

" + }, + "DetachObject":{ + "name":"DetachObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/detach", + "responseCode":200 + }, + "input":{"shape":"DetachObjectRequest"}, + "output":{"shape":"DetachObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotNodeException"} + ], + "documentation":"

Detaches a given object from the parent object. The object that is to be detached from the parent is specified by the link name.

" + }, + "DetachPolicy":{ + "name":"DetachPolicy", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/detach", + "responseCode":200 + }, + "input":{"shape":"DetachPolicyRequest"}, + "output":{"shape":"DetachPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Detaches a policy from an object.

" + }, + "DetachTypedLink":{ + "name":"DetachTypedLink", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/detach", + "responseCode":200 + }, + "input":{"shape":"DetachTypedLinkRequest"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed Links.

" + }, + "DisableDirectory":{ + "name":"DisableDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/disable", + "responseCode":200 + }, + "input":{"shape":"DisableDirectoryRequest"}, + "output":{"shape":"DisableDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Disables the specified directory. Disabled directories cannot be read or written to. Only enabled directories can be disabled. Disabled directories may be reenabled.

" + }, + "EnableDirectory":{ + "name":"EnableDirectory", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/enable", + "responseCode":200 + }, + "input":{"shape":"EnableDirectoryRequest"}, + "output":{"shape":"EnableDirectoryResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DirectoryDeletedException"}, + {"shape":"InternalServiceException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RetryableConflictException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Enables the specified directory. Only disabled directories can be enabled. Once enabled, the directory can then be read and written to.

" + }, + "GetAppliedSchemaVersion":{ + "name":"GetAppliedSchemaVersion", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/getappliedschema", + "responseCode":200 + }, + "input":{"shape":"GetAppliedSchemaVersionRequest"}, + "output":{"shape":"GetAppliedSchemaVersionResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns current applied schema version ARN, including the minor version in use.

" + }, + "GetDirectory":{ + "name":"GetDirectory", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/get", + "responseCode":200 + }, + "input":{"shape":"GetDirectoryRequest"}, + "output":{"shape":"GetDirectoryResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves metadata about a directory.

" + }, + "GetFacet":{ + "name":"GetFacet", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet", + "responseCode":200 + }, + "input":{"shape":"GetFacetRequest"}, + "output":{"shape":"GetFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Gets details of the Facet, such as facet name, attributes, Rules, or ObjectType. You can call this on all kinds of schema facets -- published, development, or applied.

" + }, + "GetLinkAttributes":{ + "name":"GetLinkAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/get", + "responseCode":200 + }, + "input":{"shape":"GetLinkAttributesRequest"}, + "output":{"shape":"GetLinkAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Retrieves attributes that are associated with a typed link.

" + }, + "GetObjectAttributes":{ + "name":"GetObjectAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes/get", + "responseCode":200 + }, + "input":{"shape":"GetObjectAttributesRequest"}, + "output":{"shape":"GetObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "GetObjectInformation":{ + "name":"GetObjectInformation", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/information", + "responseCode":200 + }, + "input":{"shape":"GetObjectInformationRequest"}, + "output":{"shape":"GetObjectInformationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves metadata about an object.

" + }, + "GetSchemaAsJson":{ + "name":"GetSchemaAsJson", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", + "responseCode":200 + }, + "input":{"shape":"GetSchemaAsJsonRequest"}, + "output":{"shape":"GetSchemaAsJsonResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieves a JSON representation of the schema. See JSON Schema Format for more information.

" + }, + "GetTypedLinkFacetInformation":{ + "name":"GetTypedLinkFacetInformation", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/get", + "responseCode":200 + }, + "input":{"shape":"GetTypedLinkFacetInformationRequest"}, + "output":{"shape":"GetTypedLinkFacetInformationResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetNotFoundException"} + ], + "documentation":"

Returns the identity attribute order for a specific TypedLinkFacet. For more information, see Typed Links.

" + }, + "ListAppliedSchemaArns":{ + "name":"ListAppliedSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/applied", + "responseCode":200 + }, + "input":{"shape":"ListAppliedSchemaArnsRequest"}, + "output":{"shape":"ListAppliedSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists schema major versions applied to a directory. If SchemaArn is provided, lists the minor version.

" + }, + "ListAttachedIndices":{ + "name":"ListAttachedIndices", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/indices", + "responseCode":200 + }, + "input":{"shape":"ListAttachedIndicesRequest"}, + "output":{"shape":"ListAttachedIndicesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists indices attached to the specified object.

" + }, + "ListDevelopmentSchemaArns":{ + "name":"ListDevelopmentSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/development", + "responseCode":200 + }, + "input":{"shape":"ListDevelopmentSchemaArnsRequest"}, + "output":{"shape":"ListDevelopmentSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves each Amazon Resource Name (ARN) of schemas in the development state.

" + }, + "ListDirectories":{ + "name":"ListDirectories", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/directory/list", + "responseCode":200 + }, + "input":{"shape":"ListDirectoriesRequest"}, + "output":{"shape":"ListDirectoriesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists directories created within an account.

" + }, + "ListFacetAttributes":{ + "name":"ListFacetAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/attributes", + "responseCode":200 + }, + "input":{"shape":"ListFacetAttributesRequest"}, + "output":{"shape":"ListFacetAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves attributes attached to the facet.

" + }, + "ListFacetNames":{ + "name":"ListFacetNames", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/facet/list", + "responseCode":200 + }, + "input":{"shape":"ListFacetNamesRequest"}, + "output":{"shape":"ListFacetNamesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves the names of facets that exist in a schema.

" + }, + "ListIncomingTypedLinks":{ + "name":"ListIncomingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/incoming", + "responseCode":200 + }, + "input":{"shape":"ListIncomingTypedLinksRequest"}, + "output":{"shape":"ListIncomingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "ListIndex":{ + "name":"ListIndex", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/index/targets", + "responseCode":200 + }, + "input":{"shape":"ListIndexRequest"}, + "output":{"shape":"ListIndexResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"FacetValidationException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotIndexException"} + ], + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListManagedSchemaArns":{ + "name":"ListManagedSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/managed", + "responseCode":200 + }, + "input":{"shape":"ListManagedSchemaArnsRequest"}, + "output":{"shape":"ListManagedSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists the major version families of each managed schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" + }, + "ListObjectAttributes":{ + "name":"ListObjectAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/attributes", + "responseCode":200 + }, + "input":{"shape":"ListObjectAttributesRequest"}, + "output":{"shape":"ListObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "name":"ListObjectChildren", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/children", + "responseCode":200 + }, + "input":{"shape":"ListObjectChildrenRequest"}, + "output":{"shape":"ListObjectChildrenResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NotNodeException"} + ], + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "ListObjectParentPaths":{ + "name":"ListObjectParentPaths", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/parentpaths", + "responseCode":200 + }, + "input":{"shape":"ListObjectParentPathsRequest"}, + "output":{"shape":"ListObjectParentPathsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

Use this API to evaluate all parents for an object. The call returns all objects from the root of the directory up to the requested object. The API returns the number of paths based on user-defined MaxResults, in case there are multiple paths to the parent. The order of the paths and nodes returned is consistent among multiple API calls unless the objects are deleted or moved. Paths not leading to the directory root are ignored from the target object.

" + }, + "ListObjectParents":{ + "name":"ListObjectParents", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/parent", + "responseCode":200 + }, + "input":{"shape":"ListObjectParentsRequest"}, + "output":{"shape":"ListObjectParentsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"CannotListParentOfRootException"} + ], + "documentation":"

Lists parent objects that are associated with a given object in pagination fashion.

" + }, + "ListObjectPolicies":{ + "name":"ListObjectPolicies", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/object/policy", + "responseCode":200 + }, + "input":{"shape":"ListObjectPoliciesRequest"}, + "output":{"shape":"ListObjectPoliciesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListOutgoingTypedLinks":{ + "name":"ListOutgoingTypedLinks", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/outgoing", + "responseCode":200 + }, + "input":{"shape":"ListOutgoingTypedLinksRequest"}, + "output":{"shape":"ListOutgoingTypedLinksResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "ListPolicyAttachments":{ + "name":"ListPolicyAttachments", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/attachment", + "responseCode":200 + }, + "input":{"shape":"ListPolicyAttachmentsRequest"}, + "output":{"shape":"ListPolicyAttachmentsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotPolicyException"} + ], + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "ListPublishedSchemaArns":{ + "name":"ListPublishedSchemaArns", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/published", + "responseCode":200 + }, + "input":{"shape":"ListPublishedSchemaArnsRequest"}, + "output":{"shape":"ListPublishedSchemaArnsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists the major version families of each published schema. If a major version ARN is provided as SchemaArn, the minor version revisions in that family are listed instead.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/tags", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

Returns tags for a resource. Tagging is currently supported only for directories with a limit of 50 tags per directory. All 50 tags are returned for a given directory with this API call.

" + }, + "ListTypedLinkFacetAttributes":{ + "name":"ListTypedLinkFacetAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/attributes", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetAttributesRequest"}, + "output":{"shape":"ListTypedLinkFacetAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of all attribute definitions for a particular TypedLinkFacet. For more information, see Typed Links.

" + }, + "ListTypedLinkFacetNames":{ + "name":"ListTypedLinkFacetNames", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet/list", + "responseCode":200 + }, + "input":{"shape":"ListTypedLinkFacetNamesRequest"}, + "output":{"shape":"ListTypedLinkFacetNamesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a paginated list of TypedLink facet names for a particular schema. For more information, see Typed Links.

" + }, + "LookupPolicy":{ + "name":"LookupPolicy", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/policy/lookup", + "responseCode":200 + }, + "input":{"shape":"LookupPolicyRequest"}, + "output":{"shape":"LookupPolicyResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "PublishSchema":{ + "name":"PublishSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/publish", + "responseCode":200 + }, + "input":{"shape":"PublishSchemaRequest"}, + "output":{"shape":"PublishSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"SchemaAlreadyPublishedException"} + ], + "documentation":"

Publishes a development schema with a major version and a recommended minor version.

" + }, + "PutSchemaFromJson":{ + "name":"PutSchemaFromJson", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/json", + "responseCode":200 + }, + "input":{"shape":"PutSchemaFromJsonRequest"}, + "output":{"shape":"PutSchemaFromJsonResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidSchemaDocException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Allows a schema to be updated using JSON upload. Only available for development schemas. See JSON Schema Format for more information.

" + }, + "RemoveFacetFromObject":{ + "name":"RemoveFacetFromObject", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/facets/delete", + "responseCode":200 + }, + "input":{"shape":"RemoveFacetFromObjectRequest"}, + "output":{"shape":"RemoveFacetFromObjectResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Removes the specified facet from the specified object.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/tags/add", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

An API operation for adding tags to a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/tags/remove", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTaggingRequestException"} + ], + "documentation":"

An API operation for removing tags from a resource.

" + }, + "UpdateFacet":{ + "name":"UpdateFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/facet", + "responseCode":200 + }, + "input":{"shape":"UpdateFacetRequest"}, + "output":{"shape":"UpdateFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidFacetUpdateException"}, + {"shape":"FacetValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Does the following:

  1. Adds new Attributes, Rules, or ObjectTypes.

  2. Updates existing Attributes, Rules, or ObjectTypes.

  3. Deletes existing Attributes, Rules, or ObjectTypes.

" + }, + "UpdateLinkAttributes":{ + "name":"UpdateLinkAttributes", + "http":{ + "method":"POST", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/attributes/update", + "responseCode":200 + }, + "input":{"shape":"UpdateLinkAttributesRequest"}, + "output":{"shape":"UpdateLinkAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Updates a given typed link’s attributes. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder.

" + }, + "UpdateObjectAttributes":{ + "name":"UpdateObjectAttributes", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/object/update", + "responseCode":200 + }, + "input":{"shape":"UpdateObjectAttributesRequest"}, + "output":{"shape":"UpdateObjectAttributesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"DirectoryNotEnabledException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LinkNameAlreadyInUseException"}, + {"shape":"FacetValidationException"} + ], + "documentation":"

Updates a given object's attributes.

" + }, + "UpdateSchema":{ + "name":"UpdateSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/update", + "responseCode":200 + }, + "input":{"shape":"UpdateSchemaRequest"}, + "output":{"shape":"UpdateSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the schema name with a new name. Only development schema names can be updated.

" + }, + "UpdateTypedLinkFacet":{ + "name":"UpdateTypedLinkFacet", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/typedlink/facet", + "responseCode":200 + }, + "input":{"shape":"UpdateTypedLinkFacetRequest"}, + "output":{"shape":"UpdateTypedLinkFacetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"FacetValidationException"}, + {"shape":"InvalidFacetUpdateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"FacetNotFoundException"}, + {"shape":"InvalidRuleException"} + ], + "documentation":"

Updates a TypedLinkFacet. For more information, see Typed Links.

" + }, + "UpgradeAppliedSchema":{ + "name":"UpgradeAppliedSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradeapplied", + "responseCode":200 + }, + "input":{"shape":"UpgradeAppliedSchemaRequest"}, + "output":{"shape":"UpgradeAppliedSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"IncompatibleSchemaException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"SchemaAlreadyExistsException"} + ], + "documentation":"

Upgrades a single directory in-place using the PublishedSchemaArn with schema updates found in MinorVersion. Backwards-compatible minor version upgrades are instantaneously available for readers on all objects in the directory. Note: This is a synchronous API call and upgrades only one schema on a given directory per call. To upgrade multiple directories from one schema, you would need to call this API on each directory.

" + }, + "UpgradePublishedSchema":{ + "name":"UpgradePublishedSchema", + "http":{ + "method":"PUT", + "requestUri":"/amazonclouddirectory/2017-01-11/schema/upgradepublished", + "responseCode":200 + }, + "input":{"shape":"UpgradePublishedSchemaRequest"}, + "output":{"shape":"UpgradePublishedSchemaResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidArnException"}, + {"shape":"RetryableConflictException"}, + {"shape":"ValidationException"}, + {"shape":"IncompatibleSchemaException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAttachmentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Upgrades a published schema under a new minor version revision using the current contents of DevelopmentSchemaArn.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Access denied. Check your permissions.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AddFacetToObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifiers for the facet that you are adding to the object. See SchemaFacet for details.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

Attributes on the facet that you are adding to the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object you are adding the specified facet to.

" + } + } + }, + "AddFacetToObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "ApplySchemaRequest":{ + "type":"structure", + "required":[ + "PublishedSchemaArn", + "DirectoryArn" + ], + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

Published schema Amazon Resource Name (ARN) that needs to be copied. For more information, see arns.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory into which the schema is copied. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "ApplySchemaResponse":{ + "type":"structure", + "members":{ + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

The applied schema ARN that is associated with the copied schema in the Directory. You can use this ARN to describe the schema information applied on this directory. For more information, see arns.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" + } + } + }, + "Arn":{"type":"string"}, + "Arns":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "AttachObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ParentReference", + "ChildReference", + "LinkName" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent object reference.

" + }, + "ChildReference":{ + "shape":"ObjectReference", + "documentation":"

The child object reference to be attached to the object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The link name with which the child object is attached to the parent.

" + } + } + }, + "AttachObjectResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The attached ObjectIdentifier, which is the child ObjectIdentifier.

" + } + } + }, + "AttachPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that is associated with the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object to which the policy will be attached.

" + } + } + }, + "AttachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "AttachToIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where the object and index exist.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index that you are attaching the object to.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that you are attaching to the index.

" + } + } + }, + "AttachToIndexResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + } + } + }, + "AttachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to attach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "Attributes":{ + "shape":"AttributeNameAndValueList", + "documentation":"

A set of attributes that are associated with the typed link.

" + } + } + }, + "AttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Returns a typed link specifier as output.

" + } + } + }, + "AttributeKey":{ + "type":"structure", + "required":[ + "SchemaArn", + "FacetName", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema that contains the facet and attribute.

" + }, + "FacetName":{ + "shape":"FacetName", + "documentation":"

The name of the facet that the attribute exists within.

" + }, + "Name":{ + "shape":"AttributeName", + "documentation":"

The name of the attribute.

" + } + }, + "documentation":"

A unique identifier for an attribute.

" + }, + "AttributeKeyAndValue":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute.

" + }, + "Value":{ + "shape":"TypedAttributeValue", + "documentation":"

The value of the attribute.

" + } + }, + "documentation":"

The combination of an attribute key and an attribute value.

" + }, + "AttributeKeyAndValueList":{ + "type":"list", + "member":{"shape":"AttributeKeyAndValue"} + }, + "AttributeKeyList":{ + "type":"list", + "member":{"shape":"AttributeKey"} + }, + "AttributeName":{ + "type":"string", + "max":230, + "min":1, + "pattern":"^[a-zA-Z0-9._:-]*$" + }, + "AttributeNameAndValue":{ + "type":"structure", + "required":[ + "AttributeName", + "Value" + ], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The attribute name of the typed link.

" + }, + "Value":{ + "shape":"TypedAttributeValue", + "documentation":"

The value for the typed link.

" + } + }, + "documentation":"

Identifies the attribute name and value for a typed link.

" + }, + "AttributeNameAndValueList":{ + "type":"list", + "member":{"shape":"AttributeNameAndValue"} + }, + "AttributeNameList":{ + "type":"list", + "member":{"shape":"AttributeName"} + }, + "BatchAddFacetToObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectAttributeList", + "ObjectReference" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Represents the facet being added to the object.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes to set on the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being mutated.

" + } + }, + "documentation":"

Represents the output of a batch add facet to object operation.

" + }, + "BatchAddFacetToObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The result of a batch add facet to object operation.

" + }, + "BatchAttachObject":{ + "type":"structure", + "required":[ + "ParentReference", + "ChildReference", + "LinkName" + ], + "members":{ + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent object reference.

" + }, + "ChildReference":{ + "shape":"ObjectReference", + "documentation":"

The child object reference that is to be attached to the object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + } + }, + "documentation":"

Represents the output of an AttachObject operation.

" + }, + "BatchAttachObjectResponse":{ + "type":"structure", + "members":{ + "attachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that has been attached.

" + } + }, + "documentation":"

Represents the output batch AttachObject response operation.

" + }, + "BatchAttachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that is associated with the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object to which the policy will be attached.

" + } + }, + "documentation":"

Attaches a policy object to a regular object inside a BatchRead operation. For more information, see AttachPolicy and BatchReadRequest$Operations.

" + }, + "BatchAttachPolicyResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of an AttachPolicy response operation.

" + }, + "BatchAttachToIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index that you are attaching the object to.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that you are attaching to the index.

" + } + }, + "documentation":"

Attaches the specified object to the specified index inside a BatchRead operation. For more information, see AttachToIndex and BatchReadRequest$Operations.

" + }, + "BatchAttachToIndexResponse":{ + "type":"structure", + "members":{ + "AttachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was attached to the index.

" + } + }, + "documentation":"

Represents the output of a AttachToIndex response operation.

" + }, + "BatchAttachTypedLink":{ + "type":"structure", + "required":[ + "SourceObjectReference", + "TargetObjectReference", + "TypedLinkFacet", + "Attributes" + ], + "members":{ + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "Attributes":{ + "shape":"AttributeNameAndValueList", + "documentation":"

A set of attributes that are associated with the typed link.

" + } + }, + "documentation":"

Attaches a typed link to a specified source and target object inside a BatchRead operation. For more information, see AttachTypedLink and BatchReadRequest$Operations.

" + }, + "BatchAttachTypedLinkResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Returns a typed link specifier as output.

" + } + }, + "documentation":"

Represents the output of a AttachTypedLink response operation.

" + }, + "BatchCreateIndex":{ + "type":"structure", + "required":[ + "OrderedIndexedAttributeList", + "IsUnique" + ], + "members":{ + "OrderedIndexedAttributeList":{ + "shape":"AttributeKeyList", + "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" + }, + "IsUnique":{ + "shape":"Bool", + "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the parent object that contains the index object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link between the parent object and the index object.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Transaction Support for more information.

" + } + }, + "documentation":"

Creates an index object inside of a BatchRead operation. For more information, see CreateIndex and BatchReadRequest$Operations.

" + }, + "BatchCreateIndexResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the index created by this operation.

" + } + }, + "documentation":"

Represents the output of a CreateIndex response operation.

" + }, + "BatchCreateObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectAttributeList" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacetList", + "documentation":"

A list of FacetArns that will be associated with the object. For more information, see arns.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

An attribute map, which contains an attribute ARN as the key and attribute value as the map value.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

If specified, the parent reference to which this object will be attached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Transaction Support for more information.

" + } + }, + "documentation":"

Represents the output of a CreateObject operation.

" + }, + "BatchCreateObjectResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ID that is associated with the object.

" + } + }, + "documentation":"

Represents the output of a CreateObject response operation.

" + }, + "BatchDeleteObject":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object.

" + } + }, + "documentation":"

Represents the output of a DeleteObject operation.

" + }, + "BatchDeleteObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DeleteObject response operation.

" + }, + "BatchDetachFromIndex":{ + "type":"structure", + "required":[ + "IndexReference", + "TargetReference" + ], + "members":{ + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index object.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being detached from the index.

" + } + }, + "documentation":"

Detaches the specified object from the specified index inside a BatchRead operation. For more information, see DetachFromIndex and BatchReadRequest$Operations.

" + }, + "BatchDetachFromIndexResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" + } + }, + "documentation":"

Represents the output of a DetachFromIndex response operation.

" + }, + "BatchDetachObject":{ + "type":"structure", + "required":[ + "ParentReference", + "LinkName" + ], + "members":{ + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

Parent reference from which the object with the specified link name is detached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link.

" + }, + "BatchReferenceName":{ + "shape":"BatchReferenceName", + "documentation":"

The batch reference name. See Transaction Support for more information.

" + } + }, + "documentation":"

Represents the output of a DetachObject operation.

" + }, + "BatchDetachObjectResponse":{ + "type":"structure", + "members":{ + "detachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the detached object.

" + } + }, + "documentation":"

Represents the output of a DetachObject response operation.

" + }, + "BatchDetachPolicy":{ + "type":"structure", + "required":[ + "PolicyReference", + "ObjectReference" + ], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policy object will be detached.

" + } + }, + "documentation":"

Detaches the specified policy from the specified directory inside a BatchWrite operation. For more information, see DetachPolicy and BatchWriteRequest$Operations.

" + }, + "BatchDetachPolicyResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DetachPolicy response operation.

" + }, + "BatchDetachTypedLink":{ + "type":"structure", + "required":["TypedLinkSpecifier"], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Used to accept a typed link specifier as input.

" + } + }, + "documentation":"

Detaches a typed link from a specified source and target object inside a BatchRead operation. For more information, see DetachTypedLink and BatchReadRequest$Operations.

" + }, + "BatchDetachTypedLinkResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a DetachTypedLink response operation.

" + }, + "BatchGetLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

A list of attribute names whose values will be retrieved.

" + } + }, + "documentation":"

Retrieves attributes that are associated with a typed link inside a BatchRead operation. For more information, see GetLinkAttributes and BatchReadRequest$Operations.

" + }, + "BatchGetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the typed link.

" + } + }, + "documentation":"

Represents the output of a GetLinkAttributes response operation.

" + }, + "BatchGetObjectAttributes":{ + "type":"structure", + "required":[ + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

List of attribute names whose values will be retrieved.

" + } + }, + "documentation":"

Retrieves attributes within a facet that are associated with an object inside an BatchRead operation. For more information, see GetObjectAttributes and BatchReadRequest$Operations.

" + }, + "BatchGetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attribute values that are associated with an object.

" + } + }, + "documentation":"

Represents the output of a GetObjectAttributes response operation.

" + }, + "BatchGetObjectInformation":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object.

" + } + }, + "documentation":"

Retrieves metadata about an object inside a BatchRead operation. For more information, see GetObjectInformation and BatchReadRequest$Operations.

" + }, + "BatchGetObjectInformationResponse":{ + "type":"structure", + "members":{ + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

The facets attached to the specified object.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the specified object.

" + } + }, + "documentation":"

Represents the output of a GetObjectInformation response operation.

" + }, + "BatchListAttachedIndices":{ + "type":"structure", + "required":["TargetReference"], + "members":{ + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that has indices attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Lists indices attached to an object inside a BatchRead operation. For more information, see ListAttachedIndices and BatchReadRequest$Operations.

" + }, + "BatchListAttachedIndicesResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The indices attached to the specified object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListAttachedIndices response operation.

" + }, + "BatchListIncomingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListIncomingTypedLinks and BatchReadRequest$Operations.

" + }, + "BatchListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns one or more typed link specifiers as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListIncomingTypedLinks response operation.

" + }, + "BatchListIndex":{ + "type":"structure", + "required":["IndexReference"], + "members":{ + "RangesOnIndexedValues":{ + "shape":"ObjectAttributeRangeList", + "documentation":"

Specifies the ranges of indexed values that you want to query.

" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

The reference to the index to list.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Lists objects attached to the specified index inside a BatchRead operation. For more information, see ListIndex and BatchReadRequest$Operations.

" + }, + "BatchListIndexResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The objects and indexed values attached to the index.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListIndex response operation.

" + }, + "BatchListObjectAttributes":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference of the object whose attributes need to be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" + } + }, + "documentation":"

Represents the output of a ListObjectAttributes operation.

" + }, + "BatchListObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes map that is associated with the object. AttributeArn is the key; attribute value is the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectAttributes response operation.

" + }, + "BatchListObjectChildren":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference of the object for which child objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

Maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + }, + "documentation":"

Represents the output of a ListObjectChildren operation.

" + }, + "BatchListObjectChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"LinkNameToObjectIdentifierMap", + "documentation":"

The children structure, which is a map with the key as the LinkName and ObjectIdentifier as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectChildren response operation.

" + }, + "BatchListObjectParentPaths":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects inside a BatchRead operation. For more information, see ListObjectParentPaths and BatchReadRequest$Operations.

" + }, + "BatchListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{ + "shape":"PathToObjectIdentifiersList", + "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectParentPaths response operation.

" + }, + "BatchListObjectParents":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{"shape":"ObjectReference"}, + "NextToken":{"shape":"NextToken"}, + "MaxResults":{"shape":"NumberResults"} + } + }, + "BatchListObjectParentsResponse":{ + "type":"structure", + "members":{ + "ParentLinks":{"shape":"ObjectIdentifierAndLinkNameList"}, + "NextToken":{"shape":"NextToken"} + } + }, + "BatchListObjectPolicies":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns policies attached to an object in pagination fashion inside a BatchRead operation. For more information, see ListObjectPolicies and BatchReadRequest$Operations.

" + }, + "BatchListObjectPoliciesResponse":{ + "type":"structure", + "members":{ + "AttachedPolicyIds":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListObjectPolicies response operation.

" + }, + "BatchListOutgoingTypedLinks":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object inside a BatchRead operation. For more information, see ListOutgoingTypedLinks and BatchReadRequest$Operations.

" + }, + "BatchListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns a typed link specifier as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListOutgoingTypedLinks response operation.

" + }, + "BatchListPolicyAttachments":{ + "type":"structure", + "required":["PolicyReference"], + "members":{ + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the policy object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached inside a BatchRead operation. For more information, see ListPolicyAttachments and BatchReadRequest$Operations.

" + }, + "BatchListPolicyAttachmentsResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a ListPolicyAttachments response operation.

" + }, + "BatchLookupPolicy":{ + "type":"structure", + "required":["ObjectReference"], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policies will be looked up.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + }, + "documentation":"

Lists all policies from the root of the Directory to the object specified inside a BatchRead operation. For more information, see LookupPolicy and BatchReadRequest$Operations.

" + }, + "BatchLookupPolicyResponse":{ + "type":"structure", + "members":{ + "PolicyToPathList":{ + "shape":"PolicyToPathList", + "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + }, + "documentation":"

Represents the output of a LookupPolicy response operation.

" + }, + "BatchOperationIndex":{"type":"integer"}, + "BatchReadException":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"BatchReadExceptionType", + "documentation":"

A type of exception, such as InvalidArnException.

" + }, + "Message":{ + "shape":"ExceptionMessage", + "documentation":"

An exception message that is associated with the failure.

" + } + }, + "documentation":"

The batch read exception structure, which contains the exception type and message.

" + }, + "BatchReadExceptionType":{ + "type":"string", + "enum":[ + "ValidationException", + "InvalidArnException", + "ResourceNotFoundException", + "InvalidNextTokenException", + "AccessDeniedException", + "NotNodeException", + "FacetValidationException", + "CannotListParentOfRootException", + "NotIndexException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "InternalServiceException" + ] + }, + "BatchReadOperation":{ + "type":"structure", + "members":{ + "ListObjectAttributes":{ + "shape":"BatchListObjectAttributes", + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "shape":"BatchListObjectChildren", + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "ListAttachedIndices":{ + "shape":"BatchListAttachedIndices", + "documentation":"

Lists indices attached to an object.

" + }, + "ListObjectParentPaths":{ + "shape":"BatchListObjectParentPaths", + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + }, + "GetObjectInformation":{ + "shape":"BatchGetObjectInformation", + "documentation":"

Retrieves metadata about an object.

" + }, + "GetObjectAttributes":{ + "shape":"BatchGetObjectAttributes", + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "ListObjectParents":{"shape":"BatchListObjectParents"}, + "ListObjectPolicies":{ + "shape":"BatchListObjectPolicies", + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListPolicyAttachments":{ + "shape":"BatchListPolicyAttachments", + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "LookupPolicy":{ + "shape":"BatchLookupPolicy", + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "ListIndex":{ + "shape":"BatchListIndex", + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListOutgoingTypedLinks":{ + "shape":"BatchListOutgoingTypedLinks", + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "ListIncomingTypedLinks":{ + "shape":"BatchListIncomingTypedLinks", + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "GetLinkAttributes":{ + "shape":"BatchGetLinkAttributes", + "documentation":"

Retrieves attributes that are associated with a typed link.

" + } + }, + "documentation":"

Represents the output of a BatchRead operation.

" + }, + "BatchReadOperationList":{ + "type":"list", + "member":{"shape":"BatchReadOperation"} + }, + "BatchReadOperationResponse":{ + "type":"structure", + "members":{ + "SuccessfulResponse":{ + "shape":"BatchReadSuccessfulResponse", + "documentation":"

Identifies which operation in a batch has succeeded.

" + }, + "ExceptionResponse":{ + "shape":"BatchReadException", + "documentation":"

Identifies which operation in a batch has failed.

" + } + }, + "documentation":"

Represents the output of a BatchRead response operation.

" + }, + "BatchReadOperationResponseList":{ + "type":"list", + "member":{"shape":"BatchReadOperationResponse"} + }, + "BatchReadRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Operations" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Operations":{ + "shape":"BatchReadOperationList", + "documentation":"

A list of operations that are part of the batch.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "BatchReadResponse":{ + "type":"structure", + "members":{ + "Responses":{ + "shape":"BatchReadOperationResponseList", + "documentation":"

A list of all the responses for each batch read.

" + } + } + }, + "BatchReadSuccessfulResponse":{ + "type":"structure", + "members":{ + "ListObjectAttributes":{ + "shape":"BatchListObjectAttributesResponse", + "documentation":"

Lists all attributes that are associated with an object.

" + }, + "ListObjectChildren":{ + "shape":"BatchListObjectChildrenResponse", + "documentation":"

Returns a paginated list of child objects that are associated with a given object.

" + }, + "GetObjectInformation":{ + "shape":"BatchGetObjectInformationResponse", + "documentation":"

Retrieves metadata about an object.

" + }, + "GetObjectAttributes":{ + "shape":"BatchGetObjectAttributesResponse", + "documentation":"

Retrieves attributes within a facet that are associated with an object.

" + }, + "ListAttachedIndices":{ + "shape":"BatchListAttachedIndicesResponse", + "documentation":"

Lists indices attached to an object.

" + }, + "ListObjectParentPaths":{ + "shape":"BatchListObjectParentPathsResponse", + "documentation":"

Retrieves all available parent paths for any object type such as node, leaf node, policy node, and index node objects. For more information about objects, see Directory Structure.

" + }, + "ListObjectPolicies":{ + "shape":"BatchListObjectPoliciesResponse", + "documentation":"

Returns policies attached to an object in pagination fashion.

" + }, + "ListPolicyAttachments":{ + "shape":"BatchListPolicyAttachmentsResponse", + "documentation":"

Returns all of the ObjectIdentifiers to which a given policy is attached.

" + }, + "LookupPolicy":{ + "shape":"BatchLookupPolicyResponse", + "documentation":"

Lists all policies from the root of the Directory to the object specified. If there are no policies present, an empty list is returned. If policies are present, and if some objects don't have the policies attached, it returns the ObjectIdentifier for such objects. If policies are present, it returns ObjectIdentifier, policyId, and policyType. Paths that don't lead to the root from the target object are ignored. For more information, see Policies.

" + }, + "ListIndex":{ + "shape":"BatchListIndexResponse", + "documentation":"

Lists objects attached to the specified index.

" + }, + "ListOutgoingTypedLinks":{ + "shape":"BatchListOutgoingTypedLinksResponse", + "documentation":"

Returns a paginated list of all the outgoing TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "ListIncomingTypedLinks":{ + "shape":"BatchListIncomingTypedLinksResponse", + "documentation":"

Returns a paginated list of all the incoming TypedLinkSpecifier information for an object. It also supports filtering by typed link facet and identity attributes. For more information, see Typed Links.

" + }, + "GetLinkAttributes":{ + "shape":"BatchGetLinkAttributesResponse", + "documentation":"

The list of attributes to retrieve from the typed link.

" + }, + "ListObjectParents":{"shape":"BatchListObjectParentsResponse"} + }, + "documentation":"

Represents the output of a BatchRead success response operation.

" + }, + "BatchReferenceName":{"type":"string"}, + "BatchRemoveFacetFromObject":{ + "type":"structure", + "required":[ + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

The facet to remove from the object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object whose facet will be removed.

" + } + }, + "documentation":"

A batch operation to remove a facet from an object.

" + }, + "BatchRemoveFacetFromObjectResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

An empty result that represents success.

" + }, + "BatchUpdateLinkAttributes":{ + "type":"structure", + "required":[ + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeUpdates":{ + "shape":"LinkAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + }, + "documentation":"

Updates a given typed link’s attributes inside a BatchRead operation. Attributes to be updated must not contribute to the typed link’s identity, as defined by its IdentityAttributeOrder. For more information, see UpdateLinkAttributes and BatchReadRequest$Operations.

" + }, + "BatchUpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the output of a UpdateLinkAttributes response operation.

" + }, + "BatchUpdateObjectAttributes":{ + "type":"structure", + "required":[ + "ObjectReference", + "AttributeUpdates" + ], + "members":{ + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object.

" + }, + "AttributeUpdates":{ + "shape":"ObjectAttributeUpdateList", + "documentation":"

Attributes update structure.

" + } + }, + "documentation":"

Represents the output of a BatchUpdate operation.

" + }, + "BatchUpdateObjectAttributesResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

ID that is associated with the object.

" + } + }, + "documentation":"

Represents the output of a BatchUpdate response operation.

" + }, + "BatchWriteException":{ + "type":"structure", + "members":{ + "Index":{"shape":"BatchOperationIndex"}, + "Type":{"shape":"BatchWriteExceptionType"}, + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A BatchWrite exception has occurred.

", + "exception":true + }, + "BatchWriteExceptionType":{ + "type":"string", + "enum":[ + "InternalServiceException", + "ValidationException", + "InvalidArnException", + "LinkNameAlreadyInUseException", + "StillContainsLinksException", + "FacetValidationException", + "ObjectNotDetachedException", + "ResourceNotFoundException", + "AccessDeniedException", + "InvalidAttachmentException", + "NotIndexException", + "NotNodeException", + "IndexedAttributeMissingException", + "ObjectAlreadyDetachedException", + "NotPolicyException", + "DirectoryNotEnabledException", + "LimitExceededException", + "UnsupportedIndexTypeException" + ] + }, + "BatchWriteOperation":{ + "type":"structure", + "members":{ + "CreateObject":{ + "shape":"BatchCreateObject", + "documentation":"

Creates an object.

" + }, + "AttachObject":{ + "shape":"BatchAttachObject", + "documentation":"

Attaches an object to a Directory.

" + }, + "DetachObject":{ + "shape":"BatchDetachObject", + "documentation":"

Detaches an object from a Directory.

" + }, + "UpdateObjectAttributes":{ + "shape":"BatchUpdateObjectAttributes", + "documentation":"

Updates a given object's attributes.

" + }, + "DeleteObject":{ + "shape":"BatchDeleteObject", + "documentation":"

Deletes an object in a Directory.

" + }, + "AddFacetToObject":{ + "shape":"BatchAddFacetToObject", + "documentation":"

A batch operation that adds a facet to an object.

" + }, + "RemoveFacetFromObject":{ + "shape":"BatchRemoveFacetFromObject", + "documentation":"

A batch operation that removes a facet from an object.

" + }, + "AttachPolicy":{ + "shape":"BatchAttachPolicy", + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "DetachPolicy":{ + "shape":"BatchDetachPolicy", + "documentation":"

Detaches a policy from a Directory.

" + }, + "CreateIndex":{ + "shape":"BatchCreateIndex", + "documentation":"

Creates an index object. See Indexing and search for more information.

" + }, + "AttachToIndex":{ + "shape":"BatchAttachToIndex", + "documentation":"

Attaches the specified object to the specified index.

" + }, + "DetachFromIndex":{ + "shape":"BatchDetachFromIndex", + "documentation":"

Detaches the specified object from the specified index.

" + }, + "AttachTypedLink":{ + "shape":"BatchAttachTypedLink", + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed Links.

" + }, + "DetachTypedLink":{ + "shape":"BatchDetachTypedLink", + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed Links.

" + }, + "UpdateLinkAttributes":{ + "shape":"BatchUpdateLinkAttributes", + "documentation":"

Updates a given object's attributes.

" + } + }, + "documentation":"

Represents the output of a BatchWrite operation.

" + }, + "BatchWriteOperationList":{ + "type":"list", + "member":{"shape":"BatchWriteOperation"} + }, + "BatchWriteOperationResponse":{ + "type":"structure", + "members":{ + "CreateObject":{ + "shape":"BatchCreateObjectResponse", + "documentation":"

Creates an object in a Directory.

" + }, + "AttachObject":{ + "shape":"BatchAttachObjectResponse", + "documentation":"

Attaches an object to a Directory.

" + }, + "DetachObject":{ + "shape":"BatchDetachObjectResponse", + "documentation":"

Detaches an object from a Directory.

" + }, + "UpdateObjectAttributes":{ + "shape":"BatchUpdateObjectAttributesResponse", + "documentation":"

Updates a given object’s attributes.

" + }, + "DeleteObject":{ + "shape":"BatchDeleteObjectResponse", + "documentation":"

Deletes an object in a Directory.

" + }, + "AddFacetToObject":{ + "shape":"BatchAddFacetToObjectResponse", + "documentation":"

The result of an add facet to object batch operation.

" + }, + "RemoveFacetFromObject":{ + "shape":"BatchRemoveFacetFromObjectResponse", + "documentation":"

The result of a batch remove facet from object operation.

" + }, + "AttachPolicy":{ + "shape":"BatchAttachPolicyResponse", + "documentation":"

Attaches a policy object to a regular object. An object can have a limited number of attached policies.

" + }, + "DetachPolicy":{ + "shape":"BatchDetachPolicyResponse", + "documentation":"

Detaches a policy from a Directory.

" + }, + "CreateIndex":{ + "shape":"BatchCreateIndexResponse", + "documentation":"

Creates an index object. See Indexing and search for more information.

" + }, + "AttachToIndex":{ + "shape":"BatchAttachToIndexResponse", + "documentation":"

Attaches the specified object to the specified index.

" + }, + "DetachFromIndex":{ + "shape":"BatchDetachFromIndexResponse", + "documentation":"

Detaches the specified object from the specified index.

" + }, + "AttachTypedLink":{ + "shape":"BatchAttachTypedLinkResponse", + "documentation":"

Attaches a typed link to a specified source and target object. For more information, see Typed Links.

" + }, + "DetachTypedLink":{ + "shape":"BatchDetachTypedLinkResponse", + "documentation":"

Detaches a typed link from a specified source and target object. For more information, see Typed Links.

" + }, + "UpdateLinkAttributes":{ + "shape":"BatchUpdateLinkAttributesResponse", + "documentation":"

Represents the output of a BatchWrite response operation.

" + } + }, + "documentation":"

Represents the output of a BatchWrite response operation.

" + }, + "BatchWriteOperationResponseList":{ + "type":"list", + "member":{"shape":"BatchWriteOperationResponse"} + }, + "BatchWriteRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Operations" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Operations":{ + "shape":"BatchWriteOperationList", + "documentation":"

A list of operations that are part of the batch.

" + } + } + }, + "BatchWriteResponse":{ + "type":"structure", + "members":{ + "Responses":{ + "shape":"BatchWriteOperationResponseList", + "documentation":"

A list of all the responses for each batch write.

" + } + } + }, + "BinaryAttributeValue":{"type":"blob"}, + "Bool":{"type":"boolean"}, + "BooleanAttributeValue":{"type":"boolean"}, + "CannotListParentOfRootException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Cannot list the parents of a Directory root.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ConsistencyLevel":{ + "type":"string", + "enum":[ + "SERIALIZABLE", + "EVENTUAL" + ] + }, + "CreateDirectoryRequest":{ + "type":"structure", + "required":[ + "Name", + "SchemaArn" + ], + "members":{ + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the Directory. Should be unique per account, per region.

" + }, + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the published schema that will be copied into the data Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "CreateDirectoryResponse":{ + "type":"structure", + "required":[ + "DirectoryArn", + "Name", + "ObjectIdentifier", + "AppliedSchemaArn" + ], + "members":{ + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The ARN that is associated with the Directory. For more information, see arns.

" + }, + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the Directory.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The root object node of the created directory.

" + }, + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the published schema in the Directory. Once a published schema is copied into the directory, it has its own ARN, which is referred to applied schema ARN. For more information, see arns.

" + } + } + }, + "CreateFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The schema ARN in which the new Facet will be created. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the Facet, which is unique for a given schema.

" + }, + "Attributes":{ + "shape":"FacetAttributeList", + "documentation":"

The attributes that are associated with the Facet.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

Specifies whether a given object created from this facet is of type node, leaf node, policy or index.

  • Node: Can have multiple children but one parent.

  • Leaf node: Cannot have children but can have multiple parents.

  • Policy: Allows you to store a policy document and policy type. For more information, see Policies.

  • Index: Can be created with the Index API.

" + }, + "FacetStyle":{ + "shape":"FacetStyle", + "documentation":"

There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

" + } + } + }, + "CreateFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "OrderedIndexedAttributeList", + "IsUnique" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory where the index should be created.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "OrderedIndexedAttributeList":{ + "shape":"AttributeKeyList", + "documentation":"

Specifies the attributes that should be indexed on. Currently only a single attribute is supported.

" + }, + "IsUnique":{ + "shape":"Bool", + "documentation":"

Indicates whether the attribute that is being indexed has unique values or not.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the parent object that contains the index object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link between the parent object and the index object.

" + } + } + }, + "CreateIndexResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the index created by this operation.

" + } + } + }, + "CreateObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacets" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory in which the object will be created. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

A list of schema facets to be associated with the object. Do not provide minor version components. See SchemaFacet for details.

" + }, + "ObjectAttributeList":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attribute map whose attribute ARN contains the key and attribute value as the map value.

" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

If specified, the parent reference to which this object will be attached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of link that is used to attach this object to a parent.

" + } + } + }, + "CreateObjectResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The identifier that is associated with the object.

" + } + } + }, + "CreateSchemaRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"SchemaName", + "documentation":"

The name that is associated with the schema. This is unique to each account and in each region.

" + } + } + }, + "CreateSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" + } + } + }, + "CreateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Facet" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Facet":{ + "shape":"TypedLinkFacet", + "documentation":"

Facet structure that is associated with the typed link facet.

" + } + } + }, + "CreateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "Date":{"type":"timestamp"}, + "DatetimeAttributeValue":{"type":"timestamp"}, + "DeleteDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to delete.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DeleteDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the deleted directory.

" + } + } + }, + "DeleteFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet to delete.

" + } + } + }, + "DeleteFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference that identifies the object.

" + } + } + }, + "DeleteObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSchemaRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DeleteSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The input ARN that is returned as part of the response. For more information, see arns.

" + } + } + }, + "DeleteTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "DeleteTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "DetachFromIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory the index and object exist in.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the index object.

" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object being detached from the index.

" + } + } + }, + "DetachFromIndexResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the object that was detached from the index.

" + } + } + }, + "DetachObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ParentReference", + "LinkName" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ParentReference":{ + "shape":"ObjectReference", + "documentation":"

The parent reference from which the object with the specified link name is detached.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The link name associated with the object that needs to be detached.

" + } + } + }, + "DetachObjectResponse":{ + "type":"structure", + "members":{ + "DetachedObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier that was detached from the object.

" + } + } + }, + "DetachPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where both objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the policy object.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policy object will be detached.

" + } + } + }, + "DetachPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DetachTypedLinkRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to detach the typed link.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Used to accept a typed link specifier as input.

" + } + } + }, + "Directory":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DirectoryName", + "documentation":"

The name of the directory.

" + }, + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the directory. For more information, see arns.

" + }, + "State":{ + "shape":"DirectoryState", + "documentation":"

The state of the directory. Can be either Enabled, Disabled, or Deleted.

" + }, + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The date and time when the directory was created.

" + } + }, + "documentation":"

Directory structure that includes the directory name and directory ARN.

" + }, + "DirectoryAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a Directory could not be created due to a naming conflict. Choose a different name and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryArn":{"type":"string"}, + "DirectoryDeletedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A directory that has been deleted and to which access has been attempted. Note: The requested resource will eventually cease to exist.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryList":{ + "type":"list", + "member":{"shape":"Directory"} + }, + "DirectoryName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "DirectoryNotDisabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An operation can only operate on a disabled directory.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryNotEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Operations are only permitted on enabled directories.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DirectoryState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "DELETED" + ] + }, + "DisableDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to disable.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "DisableDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that has been disabled.

" + } + } + }, + "EnableDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to enable.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "EnableDirectoryResponse":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the enabled directory.

" + } + } + }, + "ExceptionMessage":{"type":"string"}, + "Facet":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the Facet.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + }, + "FacetStyle":{ + "shape":"FacetStyle", + "documentation":"

There are two different styles that you can define on any given facet, Static and Dynamic. For static facets, all attributes must be defined in the schema. For dynamic facets, attributes can be defined during data plane operations.

" + } + }, + "documentation":"

A structure that contains Name, ARN, Attributes, Rules, and ObjectTypes. See Facets for more information.

" + }, + "FacetAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A facet with the same name already exists.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetAttribute":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

The name of the facet attribute.

" + }, + "AttributeDefinition":{ + "shape":"FacetAttributeDefinition", + "documentation":"

A facet attribute consists of either a definition or a reference. This structure contains the attribute definition. See Attribute References for more information.

" + }, + "AttributeReference":{ + "shape":"FacetAttributeReference", + "documentation":"

An attribute reference that is associated with the attribute. See Attribute References for more information.

" + }, + "RequiredBehavior":{ + "shape":"RequiredAttributeBehavior", + "documentation":"

The required behavior of the FacetAttribute.

" + } + }, + "documentation":"

An attribute that is associated with the Facet.

" + }, + "FacetAttributeDefinition":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"FacetAttributeType", + "documentation":"

The type of the attribute.

" + }, + "DefaultValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The default value of the attribute (if configured).

" + }, + "IsImmutable":{ + "shape":"Bool", + "documentation":"

Whether the attribute is mutable or not.

" + }, + "Rules":{ + "shape":"RuleMap", + "documentation":"

Validation rules attached to the attribute definition.

" + } + }, + "documentation":"

A facet attribute definition. See Attribute References for more information.

" + }, + "FacetAttributeList":{ + "type":"list", + "member":{"shape":"FacetAttribute"} + }, + "FacetAttributeReference":{ + "type":"structure", + "required":[ + "TargetFacetName", + "TargetAttributeName" + ], + "members":{ + "TargetFacetName":{ + "shape":"FacetName", + "documentation":"

The target facet name that is associated with the facet reference. See Attribute References for more information.

" + }, + "TargetAttributeName":{ + "shape":"AttributeName", + "documentation":"

The target attribute name that is associated with the facet reference. See Attribute References for more information.

" + } + }, + "documentation":"

The facet attribute reference that specifies the attribute definition that contains the attribute facet name and attribute name.

" + }, + "FacetAttributeType":{ + "type":"string", + "enum":[ + "STRING", + "BINARY", + "BOOLEAN", + "NUMBER", + "DATETIME", + "VARIANT" + ] + }, + "FacetAttributeUpdate":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"FacetAttribute", + "documentation":"

The attribute to update.

" + }, + "Action":{ + "shape":"UpdateActionType", + "documentation":"

The action to perform when updating the attribute.

" + } + }, + "documentation":"

A structure that contains information used to update an attribute.

" + }, + "FacetAttributeUpdateList":{ + "type":"list", + "member":{"shape":"FacetAttributeUpdate"} + }, + "FacetInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when deleting a facet that contains an attribute that is a target to an attribute reference in a different facet.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "FacetNameList":{ + "type":"list", + "member":{"shape":"FacetName"} + }, + "FacetNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified Facet could not be found.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FacetStyle":{ + "type":"string", + "enum":[ + "STATIC", + "DYNAMIC" + ] + }, + "FacetValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The Facet that you provided was not well formed or could not be validated with the schema.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "GetAppliedSchemaVersionRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the applied schema.

" + } + } + }, + "GetAppliedSchemaVersionResponse":{ + "type":"structure", + "members":{ + "AppliedSchemaArn":{ + "shape":"Arn", + "documentation":"

Current applied schema ARN, including the minor version in use if one was provided.

" + } + } + }, + "GetDirectoryRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"DirectoryArn", + "documentation":"

The ARN of the directory.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "GetDirectoryResponse":{ + "type":"structure", + "required":["Directory"], + "members":{ + "Directory":{ + "shape":"Directory", + "documentation":"

Metadata about the directory.

" + } + } + }, + "GetFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet to retrieve.

" + } + } + }, + "GetFacetResponse":{ + "type":"structure", + "members":{ + "Facet":{ + "shape":"Facet", + "documentation":"

The Facet structure that is associated with the facet.

" + } + } + }, + "GetLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the typed link resides. For more information, see arns or Typed Links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

A list of attribute names whose values will be retrieved.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the attributes on a typed link.

" + } + } + }, + "GetLinkAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the typed link.

" + } + } + }, + "GetObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference", + "SchemaFacet", + "AttributeNames" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be retrieved.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the attributes on an object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

Identifier for the facet whose attributes will be retrieved. See SchemaFacet for details.

" + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

List of attribute names whose values will be retrieved.

" + } + } + }, + "GetObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The attributes that are associated with the object.

" + } + } + }, + "GetObjectInformationRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory being retrieved.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level at which to retrieve the object information.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "GetObjectInformationResponse":{ + "type":"structure", + "members":{ + "SchemaFacets":{ + "shape":"SchemaFacetList", + "documentation":"

The facets attached to the specified object. Although the response does not include minor version information, the most recently applied minor version of each Facet is in effect. See GetAppliedSchemaVersion for details.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the specified object.

" + } + } + }, + "GetSchemaAsJsonRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to retrieve.

", + "location":"header", + "locationName":"x-amz-data-partition" + } + } + }, + "GetSchemaAsJsonResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"SchemaName", + "documentation":"

The name of the retrieved schema.

" + }, + "Document":{ + "shape":"SchemaJsonDocument", + "documentation":"

The JSON representation of the schema document.

" + } + } + }, + "GetTypedLinkFacetInformationRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + } + }, + "GetTypedLinkFacetInformationResponse":{ + "type":"structure", + "members":{ + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed Links.

" + } + } + }, + "IncompatibleSchemaException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates a failure occurred while performing a check for backward compatibility between the specified schema and the schema that is currently applied to the directory.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IndexAttachment":{ + "type":"structure", + "members":{ + "IndexedAttributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

The indexed attribute values.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

In response to ListIndex, the ObjectIdentifier of the object attached to the index. In response to ListAttachedIndices, the ObjectIdentifier of the index attached to the object. This field will always contain the ObjectIdentifier of the object on the opposite side of the attachment specified in the query.

" + } + }, + "documentation":"

Represents an index and an attached object.

" + }, + "IndexAttachmentList":{ + "type":"list", + "member":{"shape":"IndexAttachment"} + }, + "IndexedAttributeMissingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An object has been attempted to be attached to an object that does not have the appropriate attribute value.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates a problem that must be resolved by Amazon Web Services. This might be a transient error in which case you can retry your request until it succeeds. Otherwise, go to the AWS Service Health Dashboard site to see if there are any operational issues with the service.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the provided ARN value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidAttachmentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that an attempt to make an attachment was invalid. For example, attaching two nodes with a link type that is not applicable to the nodes or attempting to apply a schema to a directory a second time.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidFacetUpdateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An attempt to modify a Facet resulted in an invalid schema exception.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the NextToken value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRuleException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when any of the rule parameter keys or values are invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidSchemaDocException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the provided SchemaDoc value is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTaggingRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Can occur for multiple reasons such as when you tag a resource that doesn’t exist or if you specify a higher number of tags for a resource than the allowed limit. Allowed limit is 50 tags per resource.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that limits are exceeded. See Limits for more information.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LinkAttributeAction":{ + "type":"structure", + "members":{ + "AttributeActionType":{ + "shape":"UpdateActionType", + "documentation":"

A type that can be either UPDATE_OR_CREATE or DELETE.

" + }, + "AttributeUpdateValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value that you want to update to.

" + } + }, + "documentation":"

The action to take on a typed link attribute value. Updates are only supported for attributes which don’t contribute to link identity.

" + }, + "LinkAttributeUpdate":{ + "type":"structure", + "members":{ + "AttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute being updated.

" + }, + "AttributeAction":{ + "shape":"LinkAttributeAction", + "documentation":"

The action to perform as part of the attribute update.

" + } + }, + "documentation":"

Structure that contains attribute update information.

" + }, + "LinkAttributeUpdateList":{ + "type":"list", + "member":{"shape":"LinkAttributeUpdate"} + }, + "LinkName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[^\\/\\[\\]\\(\\):\\{\\}#@!?\\s\\\\;]+" + }, + "LinkNameAlreadyInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a link could not be created due to a naming conflict. Choose a different name and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LinkNameToObjectIdentifierMap":{ + "type":"map", + "key":{"shape":"LinkName"}, + "value":{"shape":"ObjectIdentifier"} + }, + "ListAppliedSchemaArnsRequest":{ + "type":"structure", + "required":["DirectoryArn"], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory you are listing.

" + }, + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The response for ListAppliedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListAppliedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of schemas that are applied to the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListAttachedIndicesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TargetReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TargetReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object that has indices attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to use for this operation.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListAttachedIndicesResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The indices attached to the specified object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListDevelopmentSchemaArnsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListDevelopmentSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of retrieved development schemas.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListDirectoriesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "state":{ + "shape":"DirectoryState", + "documentation":"

The state of the directories in the list. Can be either Enabled, Disabled, or Deleted.

" + } + } + }, + "ListDirectoriesResponse":{ + "type":"structure", + "required":["Directories"], + "members":{ + "Directories":{ + "shape":"DirectoryList", + "documentation":"

Lists all directories that are associated with your account in pagination fashion.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListFacetAttributesRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema where the facet resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet whose attributes will be retrieved.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListFacetAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"FacetAttributeList", + "documentation":"

The attributes attached to the facet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListFacetNamesRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) to retrieve facet names from.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListFacetNamesResponse":{ + "type":"structure", + "members":{ + "FacetNames":{ + "shape":"FacetNameList", + "documentation":"

The names of facets that exist within the schema.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListIncomingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

" + } + } + }, + "ListIncomingTypedLinksResponse":{ + "type":"structure", + "members":{ + "LinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns one or more typed link specifiers as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListIndexRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "IndexReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that the index exists in.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "RangesOnIndexedValues":{ + "shape":"ObjectAttributeRangeList", + "documentation":"

Specifies the ranges of indexed values that you want to query.

" + }, + "IndexReference":{ + "shape":"ObjectReference", + "documentation":"

The reference to the index to list.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of objects in a single page to retrieve from the index during a request. For more information, see Amazon Cloud Directory Limits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListIndexResponse":{ + "type":"structure", + "members":{ + "IndexAttachments":{ + "shape":"IndexAttachmentList", + "documentation":"

The objects and indexed values attached to the index.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListManagedSchemaArnsRequest":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The response for ListManagedSchemaArns. When this parameter is used, all minor version ARNs for a major version are listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListManagedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs for all AWS managed schemas.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose attributes will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "FacetFilter":{ + "shape":"SchemaFacet", + "documentation":"

Used to filter the list of object attributes that are associated with a certain facet.

" + } + } + }, + "ListObjectAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AttributeKeyAndValueList", + "documentation":"

Attributes map that is associated with the object. AttributeArn is the key, and attribute value is the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectChildrenRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object for which child objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListObjectChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"LinkNameToObjectIdentifierMap", + "documentation":"

Children structure, which is a map with key as the LinkName and ObjectIdentifier as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectParentPathsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory to which the parent path applies.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object whose parent paths are listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + } + }, + "ListObjectParentPathsResponse":{ + "type":"structure", + "members":{ + "PathToObjectIdentifiersList":{ + "shape":"PathToObjectIdentifiersList", + "documentation":"

Returns the path to the ObjectIdentifiers that are associated with the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListObjectParentsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object for which parent objects are being listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + }, + "IncludeAllLinksToEachParent":{ + "shape":"Bool", + "documentation":"

When set to True, returns all ListObjectParentsResponse$ParentLinks. There could be multiple links between a parent-child pair.

" + } + } + }, + "ListObjectParentsResponse":{ + "type":"structure", + "members":{ + "Parents":{ + "shape":"ObjectIdentifierToLinkNameMap", + "documentation":"

The parent structure, which is a map with key as the ObjectIdentifier and LinkName as the value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "ParentLinks":{ + "shape":"ObjectIdentifierAndLinkNameList", + "documentation":"

Returns a list of parent reference and LinkName Tuples.

" + } + } + }, + "ListObjectPoliciesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object for which policies will be listed.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListObjectPoliciesResponse":{ + "type":"structure", + "members":{ + "AttachedPolicyIds":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of policy ObjectIdentifiers, that are attached to the object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListOutgoingTypedLinksRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the directory where you want to list the typed links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference that identifies the object whose attributes will be listed.

" + }, + "FilterAttributeRanges":{ + "shape":"TypedLinkAttributeRangeList", + "documentation":"

Provides range filters for multiple attributes. When providing ranges to typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range.

" + }, + "FilterTypedLink":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Filters are interpreted in the order of the attributes defined on the typed link facet, not the order they are supplied to any API calls.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

The consistency level to execute the request at.

" + } + } + }, + "ListOutgoingTypedLinksResponse":{ + "type":"structure", + "members":{ + "TypedLinkSpecifiers":{ + "shape":"TypedLinkSpecifierList", + "documentation":"

Returns a typed link specifier as output.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListPolicyAttachmentsRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "PolicyReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where objects reside. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "PolicyReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the policy object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + }, + "ConsistencyLevel":{ + "shape":"ConsistencyLevel", + "documentation":"

Represents the manner and timing in which the successful write or update of an object is reflected in a subsequent read operation of that same object.

", + "location":"header", + "locationName":"x-amz-consistency-level" + } + } + }, + "ListPolicyAttachmentsResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

A list of ObjectIdentifiers to which the policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListPublishedSchemaArnsRequest":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The response for ListPublishedSchemaArns when this parameter is used will list all minor version ARNs for a major version.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListPublishedSchemaArnsResponse":{ + "type":"structure", + "members":{ + "SchemaArns":{ + "shape":"Arns", + "documentation":"

The ARNs of published schemas.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token. This is for future use. Currently pagination is not supported for tagging.

" + }, + "MaxResults":{ + "shape":"TagsNumberResults", + "documentation":"

The MaxResults parameter sets the maximum number of results returned in a single page. This is for future use and is not supported currently.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key value pairs that are associated with the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListTypedLinkFacetAttributesRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

An ordered set of attributes associate with the typed link.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "ListTypedLinkFacetNamesRequest":{ + "type":"structure", + "required":["SchemaArn"], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of results to retrieve.

" + } + } + }, + "ListTypedLinkFacetNamesResponse":{ + "type":"structure", + "members":{ + "FacetNames":{ + "shape":"TypedLinkNameList", + "documentation":"

The names of typed link facets that exist within the schema.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "LookupPolicyRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Reference that identifies the object whose policies will be looked up.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"NumberResults", + "documentation":"

The maximum number of items to be retrieved in a single call. This is an approximate number.

" + } + } + }, + "LookupPolicyResponse":{ + "type":"structure", + "members":{ + "PolicyToPathList":{ + "shape":"PolicyToPathList", + "documentation":"

Provides list of path to policies. Policies contain PolicyId, ObjectIdentifier, and PolicyType. For more information, see Policies.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token.

" + } + } + }, + "NextToken":{"type":"string"}, + "NotIndexException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation can only operate on index objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotNodeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when any invalid operations are performed on an object that is not a node, such as calling ListObjectChildren for a leaf node object.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotPolicyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation can only operate on policy objects.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NumberAttributeValue":{"type":"string"}, + "NumberResults":{ + "type":"integer", + "min":1 + }, + "ObjectAlreadyDetachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the object is not attached to the index.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ObjectAttributeAction":{ + "type":"structure", + "members":{ + "ObjectAttributeActionType":{ + "shape":"UpdateActionType", + "documentation":"

A type that can be either Update or Delete.

" + }, + "ObjectAttributeUpdateValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value that you want to update to.

" + } + }, + "documentation":"

The action to take on the object attribute.

" + }, + "ObjectAttributeRange":{ + "type":"structure", + "members":{ + "AttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute that the attribute range covers.

" + }, + "Range":{ + "shape":"TypedAttributeValueRange", + "documentation":"

The range of attribute values being selected.

" + } + }, + "documentation":"

A range of attributes.

" + }, + "ObjectAttributeRangeList":{ + "type":"list", + "member":{"shape":"ObjectAttributeRange"} + }, + "ObjectAttributeUpdate":{ + "type":"structure", + "members":{ + "ObjectAttributeKey":{ + "shape":"AttributeKey", + "documentation":"

The key of the attribute being updated.

" + }, + "ObjectAttributeAction":{ + "shape":"ObjectAttributeAction", + "documentation":"

The action to perform as part of the attribute update.

" + } + }, + "documentation":"

Structure that contains attribute update information.

" + }, + "ObjectAttributeUpdateList":{ + "type":"list", + "member":{"shape":"ObjectAttributeUpdate"} + }, + "ObjectIdentifier":{"type":"string"}, + "ObjectIdentifierAndLinkNameList":{ + "type":"list", + "member":{"shape":"ObjectIdentifierAndLinkNameTuple"} + }, + "ObjectIdentifierAndLinkNameTuple":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ID that is associated with the object.

" + }, + "LinkName":{ + "shape":"LinkName", + "documentation":"

The name of the link between the parent and the child object.

" + } + }, + "documentation":"

A pair of ObjectIdentifier and LinkName.

" + }, + "ObjectIdentifierList":{ + "type":"list", + "member":{"shape":"ObjectIdentifier"} + }, + "ObjectIdentifierToLinkNameMap":{ + "type":"map", + "key":{"shape":"ObjectIdentifier"}, + "value":{"shape":"LinkName"} + }, + "ObjectNotDetachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested operation cannot be completed because the object has not been detached from the tree.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ObjectReference":{ + "type":"structure", + "members":{ + "Selector":{ + "shape":"SelectorObjectReference", + "documentation":"

A path selector supports easy selection of an object by the parent/child links leading to it from the directory root. Use the link names from each parent/child link to construct the path. Path selectors start with a slash (/) and link names are separated by slashes. For more information about paths, see Access Objects. You can identify an object in one of the following ways:

  • $ObjectIdentifier - An object identifier is an opaque string provided by Amazon Cloud Directory. When creating objects, the system will provide you with the identifier of the created object. An object’s identifier is immutable and no two objects will ever share the same object identifier

  • /some/path - Identifies the object based on path

  • #SomeBatchReference - Identifies the object in a batch call

" + } + }, + "documentation":"

The reference that identifies an object.

" + }, + "ObjectType":{ + "type":"string", + "enum":[ + "NODE", + "LEAF_NODE", + "POLICY", + "INDEX" + ] + }, + "PathString":{"type":"string"}, + "PathToObjectIdentifiers":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"PathString", + "documentation":"

The path that is used to identify the object starting from directory root.

" + }, + "ObjectIdentifiers":{ + "shape":"ObjectIdentifierList", + "documentation":"

Lists ObjectIdentifiers starting from directory root to the object in the request.

" + } + }, + "documentation":"

Returns the path to the ObjectIdentifiers that is associated with the directory.

" + }, + "PathToObjectIdentifiersList":{ + "type":"list", + "member":{"shape":"PathToObjectIdentifiers"} + }, + "PolicyAttachment":{ + "type":"structure", + "members":{ + "PolicyId":{ + "shape":"ObjectIdentifier", + "documentation":"

The ID of PolicyAttachment.

" + }, + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier that is associated with PolicyAttachment.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The type of policy that can be associated with PolicyAttachment.

" + } + }, + "documentation":"

Contains the PolicyType, PolicyId, and the ObjectIdentifier to which it is attached. For more information, see Policies.

" + }, + "PolicyAttachmentList":{ + "type":"list", + "member":{"shape":"PolicyAttachment"} + }, + "PolicyToPath":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"PathString", + "documentation":"

The path that is referenced from the root.

" + }, + "Policies":{ + "shape":"PolicyAttachmentList", + "documentation":"

List of policy objects.

" + } + }, + "documentation":"

Used when a regular object exists in a Directory and you want to find all of the policies that are associated with that object and the parent to that object.

" + }, + "PolicyToPathList":{ + "type":"list", + "member":{"shape":"PolicyToPath"} + }, + "PolicyType":{"type":"string"}, + "PublishSchemaRequest":{ + "type":"structure", + "required":[ + "DevelopmentSchemaArn", + "Version" + ], + "members":{ + "DevelopmentSchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Version":{ + "shape":"Version", + "documentation":"

The major version under which the schema will be published. Schemas have both a major and minor version associated with them.

" + }, + "MinorVersion":{ + "shape":"Version", + "documentation":"

The minor version under which the schema will be published. This parameter is recommended. Schemas have both a major and minor version associated with them.

" + }, + "Name":{ + "shape":"SchemaName", + "documentation":"

The new name under which the schema will be published. If this is not provided, the development schema is considered.

" + } + } + }, + "PublishSchemaResponse":{ + "type":"structure", + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the published schema. For more information, see arns.

" + } + } + }, + "PutSchemaFromJsonRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Document" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to update.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Document":{ + "shape":"SchemaJsonDocument", + "documentation":"

The replacement JSON schema.

" + } + } + }, + "PutSchemaFromJsonResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to update.

" + } + } + }, + "RangeMode":{ + "type":"string", + "enum":[ + "FIRST", + "LAST", + "LAST_BEFORE_MISSING_VALUES", + "INCLUSIVE", + "EXCLUSIVE" + ] + }, + "RemoveFacetFromObjectRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "SchemaFacet", + "ObjectReference" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory in which the object resides.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "SchemaFacet":{ + "shape":"SchemaFacet", + "documentation":"

The facet to remove. See SchemaFacet for details.

" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

A reference to the object to remove the facet from.

" + } + } + }, + "RemoveFacetFromObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "RequiredAttributeBehavior":{ + "type":"string", + "enum":[ + "REQUIRED_ALWAYS", + "NOT_REQUIRED" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified resource could not be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetryableConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Occurs when a conflict with a previous successful write is detected. For example, if a write operation occurs on an object and then an attempt is made to read the object using “SERIALIZABLE” consistency, this exception may result. This generally occurs when the previous write did not have time to propagate to the host serving the current request. A retry (with appropriate backoff logic) is the recommended response to this exception.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "Rule":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RuleType", + "documentation":"

The type of attribute validation rule.

" + }, + "Parameters":{ + "shape":"RuleParameterMap", + "documentation":"

The minimum and maximum parameters that are associated with the rule.

" + } + }, + "documentation":"

Contains an Amazon Resource Name (ARN) and parameters that are associated with the rule.

" + }, + "RuleKey":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "RuleMap":{ + "type":"map", + "key":{"shape":"RuleKey"}, + "value":{"shape":"Rule"} + }, + "RuleParameterKey":{"type":"string"}, + "RuleParameterMap":{ + "type":"map", + "key":{"shape":"RuleParameterKey"}, + "value":{"shape":"RuleParameterValue"} + }, + "RuleParameterValue":{"type":"string"}, + "RuleType":{ + "type":"string", + "enum":[ + "BINARY_LENGTH", + "NUMBER_COMPARISON", + "STRING_FROM_SET", + "STRING_LENGTH" + ] + }, + "SchemaAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a schema could not be created due to a naming conflict. Please select a different name and then try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SchemaAlreadyPublishedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that a schema is already published.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SchemaFacet":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema that contains the facet with no minor component. See arns and In-Place Schema Upgrade for a description of when to provide minor versions.

" + }, + "FacetName":{ + "shape":"FacetName", + "documentation":"

The name of the facet.

" + } + }, + "documentation":"

A facet.

" + }, + "SchemaFacetList":{ + "type":"list", + "member":{"shape":"SchemaFacet"} + }, + "SchemaJsonDocument":{"type":"string"}, + "SchemaName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "SelectorObjectReference":{"type":"string"}, + "StillContainsLinksException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The object could not be deleted because links still exist. Remove the links and then try the operation again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "StringAttributeValue":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key that is associated with the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value that is associated with the tag.

" + } + }, + "documentation":"

The tag structure that contains a tag key and value.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key-value pairs.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "TagsNumberResults":{ + "type":"integer", + "min":50 + }, + "TypedAttributeValue":{ + "type":"structure", + "members":{ + "StringValue":{ + "shape":"StringAttributeValue", + "documentation":"

A string data value.

" + }, + "BinaryValue":{ + "shape":"BinaryAttributeValue", + "documentation":"

A binary data value.

" + }, + "BooleanValue":{ + "shape":"BooleanAttributeValue", + "documentation":"

A Boolean data value.

" + }, + "NumberValue":{ + "shape":"NumberAttributeValue", + "documentation":"

A number data value.

" + }, + "DatetimeValue":{ + "shape":"DatetimeAttributeValue", + "documentation":"

A date and time value.

" + } + }, + "documentation":"

Represents the data for a typed attribute. You can set one, and only one, of the elements. Each attribute in an item is a name-value pair. Attributes have a single value.

" + }, + "TypedAttributeValueRange":{ + "type":"structure", + "required":[ + "StartMode", + "EndMode" + ], + "members":{ + "StartMode":{ + "shape":"RangeMode", + "documentation":"

The inclusive or exclusive range start.

" + }, + "StartValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The value to start the range at.

" + }, + "EndMode":{ + "shape":"RangeMode", + "documentation":"

The inclusive or exclusive range end.

" + }, + "EndValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The attribute value to terminate the range at.

" + } + }, + "documentation":"

A range of attribute values. For more information, see Range Filters.

" + }, + "TypedLinkAttributeDefinition":{ + "type":"structure", + "required":[ + "Name", + "Type", + "RequiredBehavior" + ], + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

" + }, + "Type":{ + "shape":"FacetAttributeType", + "documentation":"

The type of the attribute.

" + }, + "DefaultValue":{ + "shape":"TypedAttributeValue", + "documentation":"

The default value of the attribute (if configured).

" + }, + "IsImmutable":{ + "shape":"Bool", + "documentation":"

Whether the attribute is mutable or not.

" + }, + "Rules":{ + "shape":"RuleMap", + "documentation":"

Validation rules that are attached to the attribute definition.

" + }, + "RequiredBehavior":{ + "shape":"RequiredAttributeBehavior", + "documentation":"

The required behavior of the TypedLinkAttributeDefinition.

" + } + }, + "documentation":"

A typed link attribute definition.

" + }, + "TypedLinkAttributeDefinitionList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeDefinition"} + }, + "TypedLinkAttributeRange":{ + "type":"structure", + "required":["Range"], + "members":{ + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The unique name of the typed link attribute.

" + }, + "Range":{ + "shape":"TypedAttributeValueRange", + "documentation":"

The range of attribute values that are being selected.

" + } + }, + "documentation":"

Identifies the range of attributes that are used by a specified filter.

" + }, + "TypedLinkAttributeRangeList":{ + "type":"list", + "member":{"shape":"TypedLinkAttributeRange"} + }, + "TypedLinkFacet":{ + "type":"structure", + "required":[ + "Name", + "Attributes", + "IdentityAttributeOrder" + ], + "members":{ + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "Attributes":{ + "shape":"TypedLinkAttributeDefinitionList", + "documentation":"

A set of key-value pairs associated with the typed link. Typed link attributes are used when you have data values that are related to the link itself, and not to one of the two objects being linked. Identity attributes also serve to distinguish the link from others of the same type between the same objects.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The set of attributes that distinguish links made from this facet from each other, in the order of significance. Listing typed links can filter on the values of these attributes. See ListOutgoingTypedLinks and ListIncomingTypedLinks for details.

" + } + }, + "documentation":"

Defines the typed links structure and its attributes. To create a typed link facet, use the CreateTypedLinkFacet API.

" + }, + "TypedLinkFacetAttributeUpdate":{ + "type":"structure", + "required":[ + "Attribute", + "Action" + ], + "members":{ + "Attribute":{ + "shape":"TypedLinkAttributeDefinition", + "documentation":"

The attribute to update.

" + }, + "Action":{ + "shape":"UpdateActionType", + "documentation":"

The action to perform when updating the attribute.

" + } + }, + "documentation":"

A typed link facet attribute update.

" + }, + "TypedLinkFacetAttributeUpdateList":{ + "type":"list", + "member":{"shape":"TypedLinkFacetAttributeUpdate"} + }, + "TypedLinkName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "TypedLinkNameList":{ + "type":"list", + "member":{"shape":"TypedLinkName"} + }, + "TypedLinkSchemaAndFacetName":{ + "type":"structure", + "required":[ + "SchemaArn", + "TypedLinkName" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

" + }, + "TypedLinkName":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + } + }, + "documentation":"

Identifies the schema Amazon Resource Name (ARN) and facet name for the typed link.

" + }, + "TypedLinkSpecifier":{ + "type":"structure", + "required":[ + "TypedLinkFacet", + "SourceObjectReference", + "TargetObjectReference", + "IdentityAttributeValues" + ], + "members":{ + "TypedLinkFacet":{ + "shape":"TypedLinkSchemaAndFacetName", + "documentation":"

Identifies the typed link facet that is associated with the typed link.

" + }, + "SourceObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the source object that the typed link will attach to.

" + }, + "TargetObjectReference":{ + "shape":"ObjectReference", + "documentation":"

Identifies the target object that the typed link will attach to.

" + }, + "IdentityAttributeValues":{ + "shape":"AttributeNameAndValueList", + "documentation":"

Identifies the attribute value to update.

" + } + }, + "documentation":"

Contains all the information that is used to uniquely identify a typed link. The parameters discussed in this topic are used to uniquely specify the typed link being operated on. The AttachTypedLink API returns a typed link specifier while the DetachTypedLink API accepts one as input. Similarly, the ListIncomingTypedLinks and ListOutgoingTypedLinks API operations provide typed link specifiers as output. You can also construct a typed link specifier from scratch.

" + }, + "TypedLinkSpecifierList":{ + "type":"list", + "member":{"shape":"TypedLinkSpecifier"} + }, + "UnsupportedIndexTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that the requested index type is not supported.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. Tagging is only supported for directories.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

Keys of the tag that need to be removed from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateActionType":{ + "type":"string", + "enum":[ + "CREATE_OR_UPDATE", + "DELETE" + ] + }, + "UpdateFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Facet. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"FacetName", + "documentation":"

The name of the facet.

" + }, + "AttributeUpdates":{ + "shape":"FacetAttributeUpdateList", + "documentation":"

List of attributes that need to be updated in a given schema Facet. Each attribute is followed by AttributeAction, which specifies the type of update operation to perform.

" + }, + "ObjectType":{ + "shape":"ObjectType", + "documentation":"

The object type that is associated with the facet. See CreateFacetRequest$ObjectType for more details.

" + } + } + }, + "UpdateFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLinkAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "TypedLinkSpecifier", + "AttributeUpdates" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the updated typed link resides. For more information, see arns or Typed Links.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "TypedLinkSpecifier":{ + "shape":"TypedLinkSpecifier", + "documentation":"

Allows a typed link specifier to be accepted as input.

" + }, + "AttributeUpdates":{ + "shape":"LinkAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + } + }, + "UpdateLinkAttributesResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateObjectAttributesRequest":{ + "type":"structure", + "required":[ + "DirectoryArn", + "ObjectReference", + "AttributeUpdates" + ], + "members":{ + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the Directory where the object resides. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "ObjectReference":{ + "shape":"ObjectReference", + "documentation":"

The reference that identifies the object.

" + }, + "AttributeUpdates":{ + "shape":"ObjectAttributeUpdateList", + "documentation":"

The attributes update structure.

" + } + } + }, + "UpdateObjectAttributesResponse":{ + "type":"structure", + "members":{ + "ObjectIdentifier":{ + "shape":"ObjectIdentifier", + "documentation":"

The ObjectIdentifier of the updated object.

" + } + } + }, + "UpdateSchemaRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the development schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"SchemaName", + "documentation":"

The name of the schema.

" + } + } + }, + "UpdateSchemaResponse":{ + "type":"structure", + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN that is associated with the updated schema. For more information, see arns.

" + } + } + }, + "UpdateTypedLinkFacetRequest":{ + "type":"structure", + "required":[ + "SchemaArn", + "Name", + "AttributeUpdates", + "IdentityAttributeOrder" + ], + "members":{ + "SchemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that is associated with the schema. For more information, see arns.

", + "location":"header", + "locationName":"x-amz-data-partition" + }, + "Name":{ + "shape":"TypedLinkName", + "documentation":"

The unique name of the typed link facet.

" + }, + "AttributeUpdates":{ + "shape":"TypedLinkFacetAttributeUpdateList", + "documentation":"

Attributes update structure.

" + }, + "IdentityAttributeOrder":{ + "shape":"AttributeNameList", + "documentation":"

The order of identity attributes for the facet, from most significant to least significant. The ability to filter typed links considers the order that the attributes are defined on the typed link facet. When providing ranges to a typed link selection, any inexact ranges must be specified at the end. Any attributes that do not have a range specified are presumed to match the entire range. Filters are interpreted in the order of the attributes on the typed link facet, not the order in which they are supplied to any API calls. For more information about identity attributes, see Typed Links.

" + } + } + }, + "UpdateTypedLinkFacetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpgradeAppliedSchemaRequest":{ + "type":"structure", + "required":[ + "PublishedSchemaArn", + "DirectoryArn" + ], + "members":{ + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The revision of the published schema to upgrade the directory to.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN for the directory to which the upgraded schema will be applied.

" + }, + "DryRun":{ + "shape":"Bool", + "documentation":"

Used for testing whether the major version schemas are backward compatible or not. If schema compatibility fails, an exception would be thrown else the call would succeed but no changes will be saved. This parameter is optional.

" + } + } + }, + "UpgradeAppliedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" + }, + "DirectoryArn":{ + "shape":"Arn", + "documentation":"

The ARN of the directory that is returned as part of the response.

" + } + } + }, + "UpgradePublishedSchemaRequest":{ + "type":"structure", + "required":[ + "DevelopmentSchemaArn", + "PublishedSchemaArn", + "MinorVersion" + ], + "members":{ + "DevelopmentSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the development schema with the changes used for the upgrade.

" + }, + "PublishedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the published schema to be upgraded.

" + }, + "MinorVersion":{ + "shape":"Version", + "documentation":"

Identifies the minor version of the published schema that will be created. This parameter is NOT optional.

" + }, + "DryRun":{ + "shape":"Bool", + "documentation":"

Used for testing whether the Development schema provided is backwards compatible, or not, with the publish schema provided by the user to be upgraded. If schema compatibility fails, an exception would be thrown else the call would succeed. This parameter is optional and defaults to false.

" + } + } + }, + "UpgradePublishedSchemaResponse":{ + "type":"structure", + "members":{ + "UpgradedSchemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upgraded schema that is returned as part of the response.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Indicates that your request is malformed in some manner. See the exception message.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Version":{ + "type":"string", + "max":10, + "min":1, + "pattern":"^[a-zA-Z0-9._-]*$" + } + }, + "documentation":"Amazon Cloud Directory

Amazon Cloud Directory is a component of the AWS Directory Service that simplifies the development and management of cloud-scale web, mobile, and IoT applications. This guide describes the Cloud Directory operations that you can call programmatically and includes detailed information on data types and errors. For information about Cloud Directory features, see AWS Directory Service and the Amazon Cloud Directory Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,5 +1,31 @@ { "pagination": { + "DescribeAccountLimits": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "AccountLimits" + }, + "DescribeChangeSet": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Changes", + "non_aggregate_keys": [ + "ChangeSetName", + "ChangeSetId", + "StackId", + "StackName", + "Description", + "Parameters", + "CreationTime", + "ExecutionStatus", + "Status", + "StatusReason", + "NotificationARNs", + "RollbackConfiguration", + "Capabilities", + "Tags" + ] + }, "DescribeStackEvents": { "input_token": "NextToken", "output_token": "NextToken", @@ -10,6 +36,17 @@ "output_token": "NextToken", "result_key": "Stacks" }, + "ListChangeSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Summaries" + }, + "ListStackInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, "ListStackResources": { "input_token": "NextToken", "output_token": "NextToken", @@ -19,6 +56,34 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "StackSummaries" + }, + "ListStackSetOperationResults": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, + "ListStackSetOperations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, + "ListStackSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Summaries" + }, + "ListExports": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Exports" + }, + "ListImports": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Imports" } } } diff -Nru python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/service-2.json --- python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"cloudformation", "protocol":"query", "serviceFullName":"AWS CloudFormation", + "serviceId":"CloudFormation", "signatureVersion":"v4", + "uid":"cloudformation-2010-05-15", "xmlNamespace":"http://cloudformation.amazonaws.com/doc/2010-05-15/" }, "operations":{ @@ -16,6 +18,9 @@ "requestUri":"/" }, "input":{"shape":"CancelUpdateStackInput"}, + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], "documentation":"

Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.

You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.

" }, "ContinueUpdateRollback":{ @@ -29,7 +34,10 @@ "shape":"ContinueUpdateRollbackOutput", "resultWrapper":"ContinueUpdateRollbackResult" }, - "documentation":"

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

" + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], + "documentation":"

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

" }, "CreateChangeSet":{ "name":"CreateChangeSet", @@ -47,7 +55,7 @@ {"shape":"InsufficientCapabilitiesException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a list of changes for a stack. AWS CloudFormation generates the change set by comparing the template's information with the information that you submit. A change set can help you understand which resources AWS CloudFormation will change, and how it will change them, before you update your stack. Change sets allow you to check before making a change to avoid deleting or replacing critical resources.

AWS CloudFormation doesn't make any changes to the stack when you create a change set. To make the specified changes, you must execute the change set by using the ExecuteChangeSet action.

After the call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set, use the DescribeChangeSet action.

" + "documentation":"

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.

To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. To create a change set for an import operation, specify IMPORT for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.

When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set.

" }, "CreateStack":{ "name":"CreateStack", @@ -63,10 +71,50 @@ "errors":[ {"shape":"LimitExceededException"}, {"shape":"AlreadyExistsException"}, + {"shape":"TokenAlreadyExistsException"}, {"shape":"InsufficientCapabilitiesException"} ], "documentation":"

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.

" }, + "CreateStackInstances":{ + "name":"CreateStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStackInstancesInput"}, + "output":{ + "shape":"CreateStackInstancesOutput", + "resultWrapper":"CreateStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates stack instances for the specified accounts, within the specified Regions. A stack instance refers to a stack in a specific account and Region. You must specify at least one value for either Accounts or DeploymentTargets, and you must specify at least one value for Regions.

" + }, + "CreateStackSet":{ + "name":"CreateStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStackSetInput"}, + "output":{ + "shape":"CreateStackSetOutput", + "resultWrapper":"CreateStackSetResult" + }, + "errors":[ + {"shape":"NameAlreadyExistsException"}, + {"shape":"CreatedButModifiedException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a stack set.

" + }, "DeleteChangeSet":{ "name":"DeleteChangeSet", "http":{ @@ -90,8 +138,66 @@ "requestUri":"/" }, "input":{"shape":"DeleteStackInput"}, + "errors":[ + {"shape":"TokenAlreadyExistsException"} + ], "documentation":"

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.

" }, + "DeleteStackInstances":{ + "name":"DeleteStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStackInstancesInput"}, + "output":{ + "shape":"DeleteStackInstancesOutput", + "resultWrapper":"DeleteStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

Deletes stack instances for the specified accounts, in the specified Regions.

" + }, + "DeleteStackSet":{ + "name":"DeleteStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStackSetInput"}, + "output":{ + "shape":"DeleteStackSetOutput", + "resultWrapper":"DeleteStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotEmptyException"}, + {"shape":"OperationInProgressException"} + ], + "documentation":"

Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances.

" + }, + "DeregisterType":{ + "name":"DeregisterType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterTypeInput"}, + "output":{ + "shape":"DeregisterTypeOutput", + "resultWrapper":"DeregisterTypeResult" + }, + "errors":[ + {"shape":"CFNRegistryException"}, + {"shape":"TypeNotFoundException"} + ], + "documentation":"

Removes a type or type version from active use in the CloudFormation registry. If a type or type version is deregistered, it cannot be used in CloudFormation operations.

To deregister a type, you must individually deregister all registered versions of that type. If a type has only a single registered version, deregistering that version results in the type itself being deregistered.

You cannot deregister the default version of a type, unless it is the only registered version of that type, in which case the type itself is deregistered as well.

", + "idempotent":true + }, "DescribeAccountLimits":{ "name":"DescribeAccountLimits", "http":{ @@ -103,7 +209,7 @@ "shape":"DescribeAccountLimitsOutput", "resultWrapper":"DescribeAccountLimitsResult" }, - "documentation":"

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.

" + "documentation":"

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide.

" }, "DescribeChangeSet":{ "name":"DescribeChangeSet", @@ -119,7 +225,20 @@ "errors":[ {"shape":"ChangeSetNotFoundException"} ], - "documentation":"

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

" + "documentation":"

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

" + }, + "DescribeStackDriftDetectionStatus":{ + "name":"DescribeStackDriftDetectionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackDriftDetectionStatusInput"}, + "output":{ + "shape":"DescribeStackDriftDetectionStatusOutput", + "resultWrapper":"DescribeStackDriftDetectionStatusResult" + }, + "documentation":"

Returns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information on stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns a StackDriftDetectionId you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

" }, "DescribeStackEvents":{ "name":"DescribeStackEvents", @@ -132,7 +251,24 @@ "shape":"DescribeStackEventsOutput", "resultWrapper":"DescribeStackEventsResult" }, - "documentation":"

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

" + "documentation":"

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

" + }, + "DescribeStackInstance":{ + "name":"DescribeStackInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackInstanceInput"}, + "output":{ + "shape":"DescribeStackInstanceOutput", + "resultWrapper":"DescribeStackInstanceResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"StackInstanceNotFoundException"} + ], + "documentation":"

Returns the stack instance that's associated with the specified stack set, AWS account, and Region.

For a list of stack instances that are associated with a specific stack set, use ListStackInstances.

" }, "DescribeStackResource":{ "name":"DescribeStackResource", @@ -147,6 +283,19 @@ }, "documentation":"

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

" }, + "DescribeStackResourceDrifts":{ + "name":"DescribeStackResourceDrifts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackResourceDriftsInput"}, + "output":{ + "shape":"DescribeStackResourceDriftsOutput", + "resultWrapper":"DescribeStackResourceDriftsResult" + }, + "documentation":"

Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.

" + }, "DescribeStackResources":{ "name":"DescribeStackResources", "http":{ @@ -158,7 +307,40 @@ "shape":"DescribeStackResourcesOutput", "resultWrapper":"DescribeStackResourcesResult" }, - "documentation":"

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

" + "documentation":"

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

" + }, + "DescribeStackSet":{ + "name":"DescribeStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackSetInput"}, + "output":{ + "shape":"DescribeStackSetOutput", + "resultWrapper":"DescribeStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ], + "documentation":"

Returns the description of the specified stack set.

" + }, + "DescribeStackSetOperation":{ + "name":"DescribeStackSetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStackSetOperationInput"}, + "output":{ + "shape":"DescribeStackSetOperationOutput", + "resultWrapper":"DescribeStackSetOperationResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"} + ], + "documentation":"

Returns the description of the specified stack set operation.

" }, "DescribeStacks":{ "name":"DescribeStacks", @@ -173,6 +355,85 @@ }, "documentation":"

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

" }, + "DescribeType":{ + "name":"DescribeType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTypeInput"}, + "output":{ + "shape":"DescribeTypeOutput", + "resultWrapper":"DescribeTypeResult" + }, + "errors":[ + {"shape":"CFNRegistryException"}, + {"shape":"TypeNotFoundException"} + ], + "documentation":"

Returns detailed information about a type that has been registered.

If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version.

", + "idempotent":true + }, + "DescribeTypeRegistration":{ + "name":"DescribeTypeRegistration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTypeRegistrationInput"}, + "output":{ + "shape":"DescribeTypeRegistrationOutput", + "resultWrapper":"DescribeTypeRegistrationResult" + }, + "errors":[ + {"shape":"CFNRegistryException"} + ], + "documentation":"

Returns information about a type's registration, including its current status and type and version identifiers.

When you initiate a registration request using RegisterType , you can then use DescribeTypeRegistration to monitor the progress of that registration request.

Once the registration request has completed, use DescribeType to return detailed informaiton about a type.

", + "idempotent":true + }, + "DetectStackDrift":{ + "name":"DetectStackDrift", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectStackDriftInput"}, + "output":{ + "shape":"DetectStackDriftOutput", + "resultWrapper":"DetectStackDriftResult" + }, + "documentation":"

Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackDrift to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.

For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.

DetectStackDrift can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.

When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift directly on the nested stack itself.

" + }, + "DetectStackResourceDrift":{ + "name":"DetectStackResourceDrift", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectStackResourceDriftInput"}, + "output":{ + "shape":"DetectStackResourceDriftOutput", + "resultWrapper":"DetectStackResourceDriftResult" + }, + "documentation":"

Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" + }, + "DetectStackSetDrift":{ + "name":"DetectStackSetDrift", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectStackSetDriftInput"}, + "output":{ + "shape":"DetectStackSetDriftOutput", + "resultWrapper":"DetectStackSetDriftResult" + }, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"OperationInProgressException"}, + {"shape":"StackSetNotFoundException"} + ], + "documentation":"

Detect drift on a stack set. When CloudFormation performs drift detection on a stack set, it performs drift detection on the stack associated with each stack instance in the stack set. For more information, see How CloudFormation Performs Drift Detection on a Stack Set.

DetectStackSetDrift returns the OperationId of the stack set drift detection operation. Use this operation id with DescribeStackSetOperation to monitor the progress of the drift detection operation. The drift detection operation may take some time, depending on the number of stack instances included in the stack set, as well as the number of resources included in each stack.

Once the operation has completed, use the following actions to return drift information:

  • Use DescribeStackSet to return detailed informaiton about the stack set, including detailed information about the last completed drift operation performed on the stack set. (Information about drift operations that are in progress is not included.)

  • Use ListStackInstances to return a list of stack instances belonging to the stack set, including the drift status and last drift time checked of each instance.

  • Use DescribeStackInstance to return detailed information about a specific stack instance, including its drift status and last drift time checked.

For more information on performing a drift detection operation on a stack set, see Detecting Unmanaged Changes in Stack Sets.

You can only run a single drift detection operation on a given stack set at one time.

To stop a drift detection stack set operation, use StopStackSetOperation .

" + }, "EstimateTemplateCost":{ "name":"EstimateTemplateCost", "http":{ @@ -199,7 +460,9 @@ }, "errors":[ {"shape":"InvalidChangeSetStatusException"}, - {"shape":"ChangeSetNotFoundException"} + {"shape":"ChangeSetNotFoundException"}, + {"shape":"InsufficientCapabilitiesException"}, + {"shape":"TokenAlreadyExistsException"} ], "documentation":"

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

" }, @@ -227,6 +490,9 @@ "shape":"GetTemplateOutput", "resultWrapper":"GetTemplateResult" }, + "errors":[ + {"shape":"ChangeSetNotFoundException"} + ], "documentation":"

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

If the template does not exist, a ValidationError is returned.

" }, "GetTemplateSummary":{ @@ -240,7 +506,10 @@ "shape":"GetTemplateSummaryOutput", "resultWrapper":"GetTemplateSummaryResult" }, - "documentation":"

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

" + "errors":[ + {"shape":"StackSetNotFoundException"} + ], + "documentation":"

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

" }, "ListChangeSets":{ "name":"ListChangeSets", @@ -266,7 +535,36 @@ "shape":"ListExportsOutput", "resultWrapper":"ListExportsResult" }, - "documentation":"

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

" + "documentation":"

Lists all exported output values in the account and Region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

" + }, + "ListImports":{ + "name":"ListImports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListImportsInput"}, + "output":{ + "shape":"ListImportsOutput", + "resultWrapper":"ListImportsResult" + }, + "documentation":"

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

" + }, + "ListStackInstances":{ + "name":"ListStackInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackInstancesInput"}, + "output":{ + "shape":"ListStackInstancesOutput", + "resultWrapper":"ListStackInstancesResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ], + "documentation":"

Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or Region.

" }, "ListStackResources":{ "name":"ListStackResources", @@ -281,6 +579,52 @@ }, "documentation":"

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

" }, + "ListStackSetOperationResults":{ + "name":"ListStackSetOperationResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetOperationResultsInput"}, + "output":{ + "shape":"ListStackSetOperationResultsOutput", + "resultWrapper":"ListStackSetOperationResultsResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"} + ], + "documentation":"

Returns summary information about the results of a stack set operation.

" + }, + "ListStackSetOperations":{ + "name":"ListStackSetOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetOperationsInput"}, + "output":{ + "shape":"ListStackSetOperationsOutput", + "resultWrapper":"ListStackSetOperationsResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"} + ], + "documentation":"

Returns summary information about operations performed on a stack set.

" + }, + "ListStackSets":{ + "name":"ListStackSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackSetsInput"}, + "output":{ + "shape":"ListStackSetsOutput", + "resultWrapper":"ListStackSetsResult" + }, + "documentation":"

Returns summary information about stack sets that are associated with the user.

" + }, "ListStacks":{ "name":"ListStacks", "http":{ @@ -294,6 +638,92 @@ }, "documentation":"

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

" }, + "ListTypeRegistrations":{ + "name":"ListTypeRegistrations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTypeRegistrationsInput"}, + "output":{ + "shape":"ListTypeRegistrationsOutput", + "resultWrapper":"ListTypeRegistrationsResult" + }, + "errors":[ + {"shape":"CFNRegistryException"} + ], + "documentation":"

Returns a list of registration tokens for the specified type(s).

", + "idempotent":true + }, + "ListTypeVersions":{ + "name":"ListTypeVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTypeVersionsInput"}, + "output":{ + "shape":"ListTypeVersionsOutput", + "resultWrapper":"ListTypeVersionsResult" + }, + "errors":[ + {"shape":"CFNRegistryException"} + ], + "documentation":"

Returns summary information about the versions of a type.

", + "idempotent":true + }, + "ListTypes":{ + "name":"ListTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTypesInput"}, + "output":{ + "shape":"ListTypesOutput", + "resultWrapper":"ListTypesResult" + }, + "errors":[ + {"shape":"CFNRegistryException"} + ], + "documentation":"

Returns summary information about types that have been registered with CloudFormation.

", + "idempotent":true + }, + "RecordHandlerProgress":{ + "name":"RecordHandlerProgress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RecordHandlerProgressInput"}, + "output":{ + "shape":"RecordHandlerProgressOutput", + "resultWrapper":"RecordHandlerProgressResult" + }, + "errors":[ + {"shape":"InvalidStateTransitionException"}, + {"shape":"OperationStatusCheckFailedException"} + ], + "documentation":"

Reports progress of a resource handler to CloudFormation.

Reserved for use by the CloudFormation CLI. Do not use this API in your code.

", + "idempotent":true + }, + "RegisterType":{ + "name":"RegisterType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterTypeInput"}, + "output":{ + "shape":"RegisterTypeOutput", + "resultWrapper":"RegisterTypeResult" + }, + "errors":[ + {"shape":"CFNRegistryException"} + ], + "documentation":"

Registers a type with the CloudFormation service. Registering a type makes it available for use in CloudFormation templates in your AWS account, and includes:

  • Validating the resource schema

  • Determining which handlers have been specified for the resource

  • Making the resource type available for use in your account

For more information on how to develop types and ready them for registeration, see Creating Resource Providers in the CloudFormation CLI User Guide.

You can have a maximum of 50 resource type versions registered at a time. This maximum is per account and per region. Use DeregisterType to deregister specific resource type versions if necessary.

Once you have initiated a registration request using RegisterType , you can use DescribeTypeRegistration to monitor the progress of the registration request.

", + "idempotent":true + }, "SetStackPolicy":{ "name":"SetStackPolicy", "http":{ @@ -303,6 +733,24 @@ "input":{"shape":"SetStackPolicyInput"}, "documentation":"

Sets a stack policy for a specified stack.

" }, + "SetTypeDefaultVersion":{ + "name":"SetTypeDefaultVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetTypeDefaultVersionInput"}, + "output":{ + "shape":"SetTypeDefaultVersionOutput", + "resultWrapper":"SetTypeDefaultVersionResult" + }, + "errors":[ + {"shape":"CFNRegistryException"}, + {"shape":"TypeNotFoundException"} + ], + "documentation":"

Specify the default version of a type. The default version of a type will be used in CloudFormation operations.

", + "idempotent":true + }, "SignalResource":{ "name":"SignalResource", "http":{ @@ -312,6 +760,24 @@ "input":{"shape":"SignalResourceInput"}, "documentation":"

Sends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.

" }, + "StopStackSetOperation":{ + "name":"StopStackSetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopStackSetOperationInput"}, + "output":{ + "shape":"StopStackSetOperationOutput", + "resultWrapper":"StopStackSetOperationResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationNotFoundException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

Stops an in-progress operation on a stack set and its associated stack instances.

" + }, "UpdateStack":{ "name":"UpdateStack", "http":{ @@ -324,43 +790,130 @@ "resultWrapper":"UpdateStackResult" }, "errors":[ - {"shape":"InsufficientCapabilitiesException"} + {"shape":"InsufficientCapabilitiesException"}, + {"shape":"TokenAlreadyExistsException"} ], - "documentation":"

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

" + "documentation":"

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

" }, - "ValidateTemplate":{ - "name":"ValidateTemplate", + "UpdateStackInstances":{ + "name":"UpdateStackInstances", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ValidateTemplateInput"}, + "input":{"shape":"UpdateStackInstancesInput"}, "output":{ - "shape":"ValidateTemplateOutput", - "resultWrapper":"ValidateTemplateResult" + "shape":"UpdateStackInstancesOutput", + "resultWrapper":"UpdateStackInstancesResult" }, - "documentation":"

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

" - } - }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"StackInstanceNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

Updates the parameter values for stack instances for the specified accounts, within the specified Regions. A stack instance refers to a stack in a specific account and Region.

You can only update stack instances in Regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.

During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value.

You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" + }, + "UpdateStackSet":{ + "name":"UpdateStackSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStackSetInput"}, + "output":{ + "shape":"UpdateStackSetOutput", + "resultWrapper":"UpdateStackSetResult" + }, + "errors":[ + {"shape":"StackSetNotFoundException"}, + {"shape":"OperationInProgressException"}, + {"shape":"OperationIdAlreadyExistsException"}, + {"shape":"StaleRequestException"}, + {"shape":"InvalidOperationException"}, + {"shape":"StackInstanceNotFoundException"} + ], + "documentation":"

Updates the stack set, and associated stack instances in the specified accounts and Regions.

Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.

" + }, + "UpdateTerminationProtection":{ + "name":"UpdateTerminationProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTerminationProtectionInput"}, + "output":{ + "shape":"UpdateTerminationProtectionOutput", + "resultWrapper":"UpdateTerminationProtectionResult" + }, + "documentation":"

Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

" + }, + "ValidateTemplate":{ + "name":"ValidateTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ValidateTemplateInput"}, + "output":{ + "shape":"ValidateTemplateOutput", + "resultWrapper":"ValidateTemplateResult" + }, + "documentation":"

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

" + } + }, "shapes":{ + "Account":{ + "type":"string", + "pattern":"^[0-9]{12}$" + }, + "AccountGateResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"AccountGateStatus", + "documentation":"

The status of the account gate function.

  • SUCCEEDED: The account gate function has determined that the account and Region passes any requirements for a stack set operation to occur. AWS CloudFormation proceeds with the stack operation in that account and Region.

  • FAILED: The account gate function has determined that the account and Region does not meet the requirements for a stack set operation to occur. AWS CloudFormation cancels the stack set operation in that account and Region, and sets the stack set operation result status for that account and Region to FAILED.

  • SKIPPED: AWS CloudFormation has skipped calling the account gate function for this account and Region, for one of the following reasons:

    • An account gate function has not been specified for the account and Region. AWS CloudFormation proceeds with the stack set operation in this account and Region.

    • The AWSCloudFormationStackSetExecutionRole of the stack set adminstration account lacks permissions to invoke the function. AWS CloudFormation proceeds with the stack set operation in this account and Region.

    • Either no action is necessary, or no action is possible, on the stack. AWS CloudFormation skips the stack set operation in this account and Region.

" + }, + "StatusReason":{ + "shape":"AccountGateStatusReason", + "documentation":"

The reason for the account gate status assigned to this account and Region for the stack set operation.

" + } + }, + "documentation":"

Structure that contains the results of the account gate function which AWS CloudFormation invokes, if present, before proceeding with a stack set operation in an account and Region.

For each account and Region, AWS CloudFormation lets you specify a Lamdba function that encapsulates any requirements that must be met before CloudFormation can proceed with a stack set operation in that account and Region. CloudFormation invokes the function each time a stack set operation is requested for that account and Region; if the function returns FAILED, CloudFormation cancels the operation in that account and Region, and sets the stack set operation result status for that account and Region to FAILED.

For more information, see Configuring a target account gate.

" + }, + "AccountGateStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "SKIPPED" + ] + }, + "AccountGateStatusReason":{"type":"string"}, "AccountLimit":{ "type":"structure", "members":{ "Name":{ "shape":"LimitName", - "documentation":"

The name of the account limit. Currently, the only account limit is StackLimit.

" + "documentation":"

The name of the account limit.

Values: ConcurrentResourcesLimit | StackLimit | StackOutputsLimit

" }, "Value":{ "shape":"LimitValue", "documentation":"

The value that is associated with the account limit name.

" } }, - "documentation":"

The AccountLimit data type.

" + "documentation":"

The AccountLimit data type.

CloudFormation has the following limits per account:

  • Number of concurrent resources

  • Number of stacks

  • Number of stack outputs

For more information about these account limits, and other CloudFormation limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide.

" }, "AccountLimitList":{ "type":"list", "member":{"shape":"AccountLimit"} }, + "AccountList":{ + "type":"list", + "member":{"shape":"Account"} + }, "AllowedValue":{"type":"string"}, "AllowedValues":{ "type":"list", @@ -370,7 +923,7 @@ "type":"structure", "members":{ }, - "documentation":"

Resource with the name requested already exists.

", + "documentation":"

The resource with the name requested already exists.

", "error":{ "code":"AlreadyExistsException", "httpStatusCode":400, @@ -378,6 +931,45 @@ }, "exception":true }, + "Arn":{"type":"string"}, + "AutoDeployment":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"AutoDeploymentNullable", + "documentation":"

If set to true, StackSets automatically deploys additional stack instances to AWS Organizations accounts that are added to a target organization or organizational unit (OU) in the specified Regions. If an account is removed from a target organization or OU, StackSets deletes stack instances from the account in the specified Regions.

" + }, + "RetainStacksOnAccountRemoval":{ + "shape":"RetainStacksOnAccountRemovalNullable", + "documentation":"

If set to true, stack resources are retained when an account is removed from a target organization or OU. If set to false, stack resources are deleted. Specify only if Enabled is set to True.

" + } + }, + "documentation":"

[Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

" + }, + "AutoDeploymentNullable":{"type":"boolean"}, + "BoxedInteger":{ + "type":"integer", + "box":true + }, + "BoxedMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "CFNRegistryException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An error occurred during a CloudFormation registry operation.

", + "error":{ + "code":"CFNRegistryException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "CancelUpdateStackInput":{ "type":"structure", "required":["StackName"], @@ -385,6 +977,10 @@ "StackName":{ "shape":"StackName", "documentation":"

The name or the unique stack ID that is associated with the stack.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this CancelUpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to cancel an update on a stack with the same name. You might retry CancelUpdateStack requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the CancelUpdateStack action.

" @@ -398,7 +994,8 @@ "type":"string", "enum":[ "CAPABILITY_IAM", - "CAPABILITY_NAMED_IAM" + "CAPABILITY_NAMED_IAM", + "CAPABILITY_AUTO_EXPAND" ] }, "CausingEntity":{"type":"string"}, @@ -421,7 +1018,8 @@ "enum":[ "Add", "Modify", - "Remove" + "Remove", + "Import" ] }, "ChangeSetId":{ @@ -514,7 +1112,8 @@ "type":"string", "enum":[ "CREATE", - "UPDATE" + "UPDATE", + "IMPORT" ] }, "ChangeSource":{ @@ -535,6 +1134,12 @@ "type":"list", "member":{"shape":"Change"} }, + "ClientRequestToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][-a-zA-Z0-9]*" + }, "ClientToken":{ "type":"string", "max":128, @@ -554,7 +1159,11 @@ }, "ResourcesToSkip":{ "shape":"ResourcesToSkip", - "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID. You can specify a nested stack resource (the logical ID of an AWS::CloudFormation::Stack resource) only if it's in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

" + "documentation":"

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To skip resources that are part of nested stacks, use the following format: NestedStackName.ResourceLogicalID. If you want to specify the logical ID of a stack resource (Type: AWS::CloudFormation::Stack) in the ResourcesToSkip list, then its corresponding embedded stack must be in one of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or DELETE_FAILED.

Don't confuse a child stack's name with its corresponding logical ID defined in the parent stack. For an example of a continue update rollback operation with nested stacks, see Using ResourcesToSkip to recover a nested stacks hierarchy.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this ContinueUpdateRollback request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to continue the rollback to a stack with the same name. You might retry ContinueUpdateRollback requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the ContinueUpdateRollback action.

" @@ -590,19 +1199,23 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that specify input parameters for the change set. For more information, see the Parameter data type.

" }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    This capacity does not apply to creating change sets, and specifying it when creating change sets has no effect.

    Also, change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create or update the stack directly from the template using the CreateStack or UpdateStack action, and specifying this capability.

    For more information on macros, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

" + "documentation":"

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

" }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" + }, + "RollbackConfiguration":{ + "shape":"RollbackConfiguration", + "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" }, "NotificationARNs":{ "shape":"NotificationARNs", @@ -610,7 +1223,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 10 tags.

" + "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 50 tags.

" }, "ChangeSetName":{ "shape":"ChangeSetName", @@ -626,7 +1239,11 @@ }, "ChangeSetType":{ "shape":"ChangeSetType", - "documentation":"

The type of change set operation. Valid values are CREATE and UPDATE:

  • CREATE - Specify for a change set for a stack that does not yet exist. The stack has an expected unique ID, but no template or resources. It can include multiple change sets.

  • UPDATE - Specify for a change set for an existing stack.

" + "documentation":"

The type of change set operation. To create a change set for a new stack, specify CREATE. To create a change set for an existing stack, specify UPDATE. To create a change set for an import operation, specify IMPORT.

If you create a change set for a new stack, AWS Cloudformation creates a stack with a unique stack ID, but no template or resources. The stack will be in the REVIEW_IN_PROGRESS state until you execute the change set.

By default, AWS CloudFormation specifies UPDATE. You can't use the UPDATE type to create a change set for a new stack or the CREATE type to create a change set for an existing stack.

" + }, + "ResourcesToImport":{ + "shape":"ResourcesToImport", + "documentation":"

The resources to import into your stack.

" } }, "documentation":"

The input for the CreateChangeSet action.

" @@ -651,39 +1268,43 @@ "members":{ "StackName":{ "shape":"StackName", - "documentation":"

The name that is associated with the stack. The name must be unique in the region in which you are creating the stack.

A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

" + "documentation":"

The name that is associated with the stack. The name must be unique in the Region in which you are creating the stack.

A stack name can contain only alphanumeric characters (case sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

" }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to the Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" }, "DisableRollback":{ "shape":"DisableRollback", "documentation":"

Set to true to disable rollback of the stack if stack creation failed. You can specify either DisableRollback or OnFailure, but not both.

Default: false

" }, + "RollbackConfiguration":{ + "shape":"RollbackConfiguration", + "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" + }, "TimeoutInMinutes":{ "shape":"TimeoutMinutes", "documentation":"

The amount of time that can pass before the stack status becomes CREATE_FAILED; if DisableRollback is not set or is set to false, the stack will be rolled back.

" }, "NotificationARNs":{ "shape":"NotificationARNs", - "documentation":"

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).

" + "documentation":"

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You can find your SNS topic ARNs using the SNS console or your Command Line Interface (CLI).

" }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can create certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually creating the stack. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to create a stack from a stack template that contains macros and nested stacks, you must create the stack directly from the template using this capability.

    You should only create stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" + "documentation":"

The template resource types that you have permissions to work with for this create stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance. Use the following syntax to describe template resource types: AWS::* (for all AWS resource), Custom::* (for all custom resources), Custom::logical_ID (for a specific custom resource), AWS::service_name::* (for all resources of a particular AWS service), and AWS::service_name::resource_logical_ID (for a specific AWS resource).

If the list of resource types doesn't include a resource that you're creating, the stack creation fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" }, "RoleARN":{ "shape":"RoleARN", @@ -695,19 +1316,74 @@ }, "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" }, "StackPolicyURL":{ "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" }, "Tags":{ "shape":"Tags", - "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 10 tags can be specified.

" + "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to the resources created in the stack. A maximum number of 50 tags can be specified.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this CreateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create a stack with the same name. You might retry CreateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" + }, + "EnableTerminationProtection":{ + "shape":"EnableTerminationProtection", + "documentation":"

Whether to enable termination protection on the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide. Termination protection is disabled on stacks by default.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

" } }, "documentation":"

The input for CreateStack action.

" }, + "CreateStackInstancesInput":{ + "type":"structure", + "required":[ + "StackSetName", + "Regions" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to create stack instances from.

" + }, + "Accounts":{ + "shape":"AccountList", + "documentation":"

[Self-managed permissions] The names of one or more AWS accounts that you want to create stack instances in the specified Region(s) for.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "DeploymentTargets":{ + "shape":"DeploymentTargets", + "documentation":"

[Service-managed permissions] The AWS Organizations accounts for which to create stack instances in the specified Regions.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "Regions":{ + "shape":"RegionList", + "documentation":"

The names of one or more Regions where you want to create stack instances using the specified AWS account(s).

" + }, + "ParameterOverrides":{ + "shape":"Parameters", + "documentation":"

A list of stack set parameters whose values you want to override in the selected stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and Regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" + }, + "OperationPreferences":{ + "shape":"StackSetOperationPreferences", + "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "idempotencyToken":true + } + } + }, + "CreateStackInstancesOutput":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

" + } + } + }, "CreateStackOutput":{ "type":"structure", "members":{ @@ -718,6 +1394,82 @@ }, "documentation":"

The output for a CreateStack action.

" }, + "CreateStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name to associate with the stack set. The name must be unique in the Region where you create your stack set.

A stack name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can't be longer than 128 characters.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the stack set. You can use the description to identify the stack set's purpose or other important information.

" + }, + "TemplateBody":{ + "shape":"TemplateBody", + "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + }, + "TemplateURL":{ + "shape":"TemplateURL", + "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

The input parameters for the stack set template.

" + }, + "Capabilities":{ + "shape":"Capabilities", + "documentation":"

In some cases, you must explicitly acknowledge that your stack set template contains certain capabilities in order for AWS CloudFormation to create the stack set and related stack instances.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stack sets, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some templates contain macros. If your stack template contains one or more macros, and you choose to create a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

    Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. A maximum number of 50 tags can be specified.

If you specify tags as part of a CreateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you don't, the entire CreateStackSet action fails with an access denied error, and the stack set is not created.

" + }, + "AdministrationRoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

" + }, + "ExecutionRoleName":{ + "shape":"ExecutionRoleName", + "documentation":"

The name of the IAM execution role to use to create the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets.

" + }, + "PermissionModel":{ + "shape":"PermissionModels", + "documentation":"

Describes how the IAM roles required for stack set operations are created. By default, SELF-MANAGED is specified.

" + }, + "AutoDeployment":{ + "shape":"AutoDeployment", + "documentation":"

Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to the target organization or organizational unit (OU). Specify only if PermissionModel is SERVICE_MANAGED.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this CreateStackSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another stack set with the same name. You might retry CreateStackSet requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", + "idempotencyToken":true + } + } + }, + "CreateStackSetOutput":{ + "type":"structure", + "members":{ + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The ID of the stack set that you're creating.

" + } + } + }, + "CreatedButModifiedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource exists, but has been changed.

", + "error":{ + "code":"CreatedButModifiedException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, "CreationTime":{"type":"timestamp"}, "DeleteChangeSetInput":{ "type":"structure", @@ -755,11 +1507,125 @@ "RoleARN":{ "shape":"RoleARN", "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to delete the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this DeleteStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to delete a stack with the same name. You might retry DeleteStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" } }, "documentation":"

The input for DeleteStack action.

" }, + "DeleteStackInstancesInput":{ + "type":"structure", + "required":[ + "StackSetName", + "Regions", + "RetainStacks" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to delete stack instances for.

" + }, + "Accounts":{ + "shape":"AccountList", + "documentation":"

[Self-managed permissions] The names of the AWS accounts that you want to delete stack instances for.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "DeploymentTargets":{ + "shape":"DeploymentTargets", + "documentation":"

[Service-managed permissions] The AWS Organizations accounts from which to delete stack instances.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "Regions":{ + "shape":"RegionList", + "documentation":"

The Regions where you want to delete stack set instances.

" + }, + "OperationPreferences":{ + "shape":"StackSetOperationPreferences", + "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" + }, + "RetainStacks":{ + "shape":"RetainStacks", + "documentation":"

Removes the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack or add an existing, saved stack to a new stack set.

For more information, see Stack set operation options.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

If you don't specify an operation ID, the SDK generates one automatically.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You can retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "idempotencyToken":true + } + } + }, + "DeleteStackInstancesOutput":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

" + } + } + }, + "DeleteStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you're deleting. You can obtain this value by running ListStackSets.

" + } + } + }, + "DeleteStackSetOutput":{ + "type":"structure", + "members":{ + } + }, "DeletionTime":{"type":"timestamp"}, + "DeploymentTargets":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"AccountList", + "documentation":"

The names of one or more AWS accounts for which you want to deploy stack set updates.

" + }, + "OrganizationalUnitIds":{ + "shape":"OrganizationalUnitIdList", + "documentation":"

The organization root ID or organizational unit (OU) IDs to which StackSets deploys.

" + } + }, + "documentation":"

[Service-managed permissions] The AWS Organizations accounts to which StackSets deploys. StackSets does not deploy stack instances to the organization master account, even if the master account is in your organization or in an OU in your organization.

For update operations, you can specify either Accounts or OrganizationalUnitIds. For create and delete operations, specify OrganizationalUnitIds.

" + }, + "DeprecatedStatus":{ + "type":"string", + "enum":[ + "LIVE", + "DEPRECATED" + ] + }, + "DeregisterTypeInput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"PrivateTypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Currently the only valid value is RESOURCE.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "VersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

" + } + } + }, + "DeregisterTypeOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeAccountLimitsInput":{ "type":"structure", "members":{ @@ -828,7 +1694,7 @@ }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

" }, "CreationTime":{ "shape":"CreationTime", @@ -850,6 +1716,10 @@ "shape":"NotificationARNs", "documentation":"

The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set.

" }, + "RollbackConfiguration":{ + "shape":"RollbackConfiguration", + "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" + }, "Capabilities":{ "shape":"Capabilities", "documentation":"

If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.

" @@ -869,6 +1739,55 @@ }, "documentation":"

The output for the DescribeChangeSet action.

" }, + "DescribeStackDriftDetectionStatusInput":{ + "type":"structure", + "required":["StackDriftDetectionId"], + "members":{ + "StackDriftDetectionId":{ + "shape":"StackDriftDetectionId", + "documentation":"

The ID of the drift detection results of this operation.

AWS CloudFormation generates new results, with a new drift detection ID, each time this operation is run. However, the number of drift results AWS CloudFormation retains for any given stack, and for how long, may vary.

" + } + } + }, + "DescribeStackDriftDetectionStatusOutput":{ + "type":"structure", + "required":[ + "StackId", + "StackDriftDetectionId", + "DetectionStatus", + "Timestamp" + ], + "members":{ + "StackId":{ + "shape":"StackId", + "documentation":"

The ID of the stack.

" + }, + "StackDriftDetectionId":{ + "shape":"StackDriftDetectionId", + "documentation":"

The ID of the drift detection results of this operation.

AWS CloudFormation generates new results, with a new drift detection ID, each time this operation is run. However, the number of reports AWS CloudFormation retains for any given stack, and for how long, may vary.

" + }, + "StackDriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack's actual configuration compared to its expected configuration.

  • DRIFTED: The stack differs from its expected template configuration. A stack is considered to have drifted if one or more of its resources have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its expected template configuration.

  • IN_SYNC: The stack's actual configuration matches its expected template configuration.

  • UNKNOWN: This value is reserved for future use.

" + }, + "DetectionStatus":{ + "shape":"StackDriftDetectionStatus", + "documentation":"

The status of the stack drift detection operation.

  • DETECTION_COMPLETE: The stack drift detection operation has successfully completed for all resources in the stack that support drift detection. (Resources that do not currently support stack detection remain unchecked.)

    If you specified logical resource IDs for AWS CloudFormation to use as a filter for the stack drift detection operation, only the resources with those logical IDs are checked for drift.

  • DETECTION_FAILED: The stack drift detection operation has failed for at least one resource in the stack. Results will be available for resources on which AWS CloudFormation successfully completed drift detection.

  • DETECTION_IN_PROGRESS: The stack drift detection operation is currently in progress.

" + }, + "DetectionStatusReason":{ + "shape":"StackDriftDetectionStatusReason", + "documentation":"

The reason the stack drift detection operation has its current status.

" + }, + "DriftedStackResourceCount":{ + "shape":"BoxedInteger", + "documentation":"

Total number of stack resources that have drifted. This is NULL until the drift detection operation reaches a status of DETECTION_COMPLETE. This value will be 0 for stacks whose drift status is IN_SYNC.

" + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

Time at which the stack drift detection operation was initiated.

" + } + } + }, "DescribeStackEventsInput":{ "type":"structure", "members":{ @@ -897,6 +1816,73 @@ }, "documentation":"

The output for a DescribeStackEvents action.

" }, + "DescribeStackInstanceInput":{ + "type":"structure", + "required":[ + "StackSetName", + "StackInstanceAccount", + "StackInstanceRegion" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or the unique stack ID of the stack set that you want to get stack instance information for.

" + }, + "StackInstanceAccount":{ + "shape":"Account", + "documentation":"

The ID of an AWS account that's associated with this stack instance.

" + }, + "StackInstanceRegion":{ + "shape":"Region", + "documentation":"

The name of a Region that's associated with this stack instance.

" + } + } + }, + "DescribeStackInstanceOutput":{ + "type":"structure", + "members":{ + "StackInstance":{ + "shape":"StackInstance", + "documentation":"

The stack instance that matches the specified request parameters.

" + } + } + }, + "DescribeStackResourceDriftsInput":{ + "type":"structure", + "required":["StackName"], + "members":{ + "StackName":{ + "shape":"StackNameOrId", + "documentation":"

The name of the stack for which you want drift information.

" + }, + "StackResourceDriftStatusFilters":{ + "shape":"StackResourceDriftStatusFilters", + "documentation":"

The resource drift status values to use as filters for the resource drift results returned.

  • DELETED: The resource differs from its expected template configuration in that the resource has been deleted.

  • MODIFIED: One or more resource properties differ from their expected template values.

  • IN_SYNC: The resources's actual configuration matches its expected template configuration.

  • NOT_CHECKED: AWS CloudFormation does not currently return this value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A string that identifies the next page of stack resource drift results.

" + }, + "MaxResults":{ + "shape":"BoxedMaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + } + }, + "DescribeStackResourceDriftsOutput":{ + "type":"structure", + "required":["StackResourceDrifts"], + "members":{ + "StackResourceDrifts":{ + "shape":"StackResourceDrifts", + "documentation":"

Drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call DescribeStackResourceDrifts again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, "DescribeStackResourceInput":{ "type":"structure", "required":[ @@ -953,6 +1939,51 @@ }, "documentation":"

The output for a DescribeStackResources action.

" }, + "DescribeStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set whose description you want.

" + } + } + }, + "DescribeStackSetOperationInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or the unique stack ID of the stack set for the stack operation.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique ID of the stack set operation.

" + } + } + }, + "DescribeStackSetOperationOutput":{ + "type":"structure", + "members":{ + "StackSetOperation":{ + "shape":"StackSetOperation", + "documentation":"

The specified stack set operation.

" + } + } + }, + "DescribeStackSetOutput":{ + "type":"structure", + "members":{ + "StackSet":{ + "shape":"StackSet", + "documentation":"

The specified stack set.

" + } + } + }, "DescribeStacksInput":{ "type":"structure", "members":{ @@ -981,22 +2012,237 @@ }, "documentation":"

The output for a DescribeStacks action.

" }, - "Description":{ - "type":"string", - "max":1024, + "DescribeTypeInput":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Currently the only valid value is RESOURCE.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "Arn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "VersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

If you specify a VersionId, DescribeType returns information about that specific type version. Otherwise, it returns information about the default type version.

" + } + } + }, + "DescribeTypeOutput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type.

" + }, + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Currently the only valid value is RESOURCE.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the registered type.

" + }, + "DefaultVersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of the default version of the type. The default version is used when the type version is not specified.

To set the default version of a type, use SetTypeDefaultVersion .

" + }, + "IsDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

Whether the specified type version is set as the default version.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the registered type.

" + }, + "Schema":{ + "shape":"TypeSchema", + "documentation":"

The schema that defines the type.

For more information on type schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

" + }, + "ProvisioningType":{ + "shape":"ProvisioningType", + "documentation":"

The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

Valid values include:

  • FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

  • IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

  • NON_PROVISIONABLE: The type does not include all of the following handlers, and therefore cannot actually be provisioned.

    • create

    • read

    • delete

" + }, + "DeprecatedStatus":{ + "shape":"DeprecatedStatus", + "documentation":"

The deprecation status of the type.

Valid values include:

  • LIVE: The type is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

  • DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

" + }, + "LoggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

Contains logging configuration information for a type.

" + }, + "ExecutionRoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM execution role used to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.

" + }, + "Visibility":{ + "shape":"Visibility", + "documentation":"

The scope at which the type is visible and usable in CloudFormation operations.

Valid values include:

  • PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE.

  • PUBLIC: The type is publically visible and usable within any Amazon account.

" + }, + "SourceUrl":{ + "shape":"OptionalSecureUrl", + "documentation":"

The URL of the source code for the type.

" + }, + "DocumentationUrl":{ + "shape":"OptionalSecureUrl", + "documentation":"

The URL of a page providing detailed documentation for this type.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

When the specified type version was registered.

" + }, + "TimeCreated":{ + "shape":"Timestamp", + "documentation":"

When the specified type version was registered.

" + } + } + }, + "DescribeTypeRegistrationInput":{ + "type":"structure", + "required":["RegistrationToken"], + "members":{ + "RegistrationToken":{ + "shape":"RegistrationToken", + "documentation":"

The identifier for this registration request.

This registration token is generated by CloudFormation when you initiate a registration request using RegisterType .

" + } + } + }, + "DescribeTypeRegistrationOutput":{ + "type":"structure", + "members":{ + "ProgressStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The current status of the type registration request.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the type registration request.

" + }, + "TypeArn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type being registered.

For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

" + }, + "TypeVersionArn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of this specific version of the type being registered.

For registration requests with a ProgressStatus of other than COMPLETE, this will be null.

" + } + } + }, + "Description":{ + "type":"string", + "max":1024, "min":1 }, + "DetectStackDriftInput":{ + "type":"structure", + "required":["StackName"], + "members":{ + "StackName":{ + "shape":"StackNameOrId", + "documentation":"

The name of the stack for which you want to detect drift.

" + }, + "LogicalResourceIds":{ + "shape":"LogicalResourceIds", + "documentation":"

The logical names of any resources you want to use as filters.

" + } + } + }, + "DetectStackDriftOutput":{ + "type":"structure", + "required":["StackDriftDetectionId"], + "members":{ + "StackDriftDetectionId":{ + "shape":"StackDriftDetectionId", + "documentation":"

The ID of the drift detection results of this operation.

AWS CloudFormation generates new results, with a new drift detection ID, each time this operation is run. However, the number of drift results AWS CloudFormation retains for any given stack, and for how long, may vary.

" + } + } + }, + "DetectStackResourceDriftInput":{ + "type":"structure", + "required":[ + "StackName", + "LogicalResourceId" + ], + "members":{ + "StackName":{ + "shape":"StackNameOrId", + "documentation":"

The name of the stack to which the resource belongs.

" + }, + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

The logical name of the resource for which to return drift information.

" + } + } + }, + "DetectStackResourceDriftOutput":{ + "type":"structure", + "required":["StackResourceDrift"], + "members":{ + "StackResourceDrift":{ + "shape":"StackResourceDrift", + "documentation":"

Information about whether the resource's actual configuration has drifted from its expected template configuration, including actual and expected property values and any differences detected.

" + } + } + }, + "DetectStackSetDriftInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetNameOrId", + "documentation":"

The name of the stack set on which to perform the drift detection operation.

" + }, + "OperationPreferences":{"shape":"StackSetOperationPreferences"}, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The ID of the stack set operation.

", + "idempotencyToken":true + } + } + }, + "DetectStackSetDriftOutput":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The ID of the drift detection stack set operation.

you can use this operation id with DescribeStackSetOperation to monitor the progress of the drift detection operation.

" + } + } + }, + "DifferenceType":{ + "type":"string", + "enum":[ + "ADD", + "REMOVE", + "NOT_EQUAL" + ] + }, "DisableRollback":{"type":"boolean"}, + "DriftedStackInstancesCount":{ + "type":"integer", + "min":0 + }, + "EnableTerminationProtection":{"type":"boolean"}, + "ErrorMessage":{ + "type":"string", + "max":255, + "min":1 + }, "EstimateTemplateCostInput":{ "type":"structure", "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must pass TemplateBody or TemplateURL. If both are passed, only TemplateBody is used.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" }, "Parameters":{ "shape":"Parameters", @@ -1034,6 +2280,10 @@ "StackName":{ "shape":"StackNameOrId", "documentation":"

If you specified the name of a change set, specify the stack name or ID (ARN) that is associated with the change set you want to execute.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this ExecuteChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to execute a change set to update a stack with the same name. You might retry ExecuteChangeSet requests to ensure that AWS CloudFormation successfully received them.

" } }, "documentation":"

The input for the ExecuteChangeSet action.

" @@ -1044,6 +2294,12 @@ }, "documentation":"

The output for the ExecuteChangeSet action.

" }, + "ExecutionRoleName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z_0-9+=,.@-]+" + }, "ExecutionStatus":{ "type":"string", "enum":[ @@ -1079,6 +2335,19 @@ "type":"list", "member":{"shape":"Export"} }, + "FailedStackInstancesCount":{ + "type":"integer", + "min":0 + }, + "FailureToleranceCount":{ + "type":"integer", + "min":0 + }, + "FailureTolerancePercentage":{ + "type":"integer", + "max":100, + "min":0 + }, "GetStackPolicyInput":{ "type":"structure", "required":["StackName"], @@ -1095,7 +2364,7 @@ "members":{ "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide.)

" + "documentation":"

Structure containing the stack policy body. (For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide.)

" } }, "documentation":"

The output for the GetStackPolicy action.

" @@ -1109,11 +2378,11 @@ }, "ChangeSetName":{ "shape":"ChangeSetNameOrId", - "documentation":"

Returns the template for a change set using the Amazon Resource Name (ARN) or name of the change set. If you specify a name, you must also specify the StackName.

" + "documentation":"

The name or Amazon Resource Name (ARN) of a change set for which AWS CloudFormation returns the associated template. If you specify a name, you must also specify the StackName.

" }, "TemplateStage":{ "shape":"TemplateStage", - "documentation":"

The stage of the template that is returned. Valid values are Original and Processed:

  • Original - Use to return the specified pre-transform template.

  • Processed - Use to return the template after all transforms have been processed.

" + "documentation":"

For templates that include transforms, the stage of the template that AWS CloudFormation returns. To get the user-submitted template, specify Original. To get the template after AWS CloudFormation has processed all transforms, specify Processed.

If the template doesn't include transforms, Original and Processed return the same template. By default, AWS CloudFormation specifies Original.

" } }, "documentation":"

The input for a GetTemplate action.

" @@ -1123,11 +2392,11 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

" + "documentation":"

Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

AWS CloudFormation returns the same template that was used when the stack was created.

" }, "StagesAvailable":{ "shape":"StageList", - "documentation":"

The available template type. For stacks, both the Original and Processed template types are always available. For change sets, the Original template is always available. After the transforms are processed, the Processed template becomes available.

" + "documentation":"

The stage of the template that you can retrieve. For stacks, the Original and Processed templates are always available. For change sets, the Original template is always available. After AWS CloudFormation finishes creating the change set, the Processed template becomes available.

" } }, "documentation":"

The output for GetTemplate action.

" @@ -1137,15 +2406,19 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" }, "StackName":{ "shape":"StackNameOrId", - "documentation":"

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, TemplateBody, or TemplateURL.

" + "documentation":"

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" + }, + "StackSetName":{ + "shape":"StackSetNameOrId", + "documentation":"

The name or unique ID of the stack set from which the stack was created.

Conditional: You must specify only one of the following parameters: StackName, StackSetName, TemplateBody, or TemplateURL.

" } }, "documentation":"

The input for the GetTemplateSummary action.

" @@ -1163,7 +2436,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" }, "CapabilitiesReason":{ "shape":"CapabilitiesReason", @@ -1183,16 +2456,51 @@ }, "DeclaredTransforms":{ "shape":"TransformsList", - "documentation":"

A list of the transforms that have been declared in the template.

" + "documentation":"

A list of the transforms that are declared in the template.

" + }, + "ResourceIdentifierSummaries":{ + "shape":"ResourceIdentifierSummaries", + "documentation":"

A list of resource identifier summaries that describe the target resources of an import operation and the properties you can provide during the import to identify the target resources. For example, BucketName is a possible identifier property for an AWS::S3::Bucket resource.

" } }, "documentation":"

The output for the GetTemplateSummary action.

" }, + "HandlerErrorCode":{ + "type":"string", + "enum":[ + "NotUpdatable", + "InvalidRequest", + "AccessDenied", + "InvalidCredentials", + "AlreadyExists", + "NotFound", + "ResourceConflict", + "Throttling", + "ServiceLimitExceeded", + "NotStabilized", + "GeneralServiceException", + "ServiceInternalError", + "NetworkFailure", + "InternalFailure" + ] + }, + "Imports":{ + "type":"list", + "member":{"shape":"StackName"} + }, + "InProgressStackInstancesCount":{ + "type":"integer", + "min":0 + }, + "InSyncStackInstancesCount":{ + "type":"integer", + "min":0 + }, "InsufficientCapabilitiesException":{ "type":"structure", "members":{ }, - "documentation":"

The template contains resources with capabilities that were not specified in the Capabilities parameter.

", + "documentation":"

The template contains resources with capabilities that weren't specified in the Capabilities parameter.

", "error":{ "code":"InsufficientCapabilitiesException", "httpStatusCode":400, @@ -1204,7 +2512,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified change set cannot be used to update the stack. For example, the change set status might be CREATE_IN_PROGRESS or the stack status might be UPDATE_IN_PROGRESS.

", + "documentation":"

The specified change set can't be used to update the stack. For example, the change set status might be CREATE_IN_PROGRESS, or the stack status might be UPDATE_IN_PROGRESS.

", "error":{ "code":"InvalidChangeSetStatus", "httpStatusCode":400, @@ -1212,12 +2520,38 @@ }, "exception":true }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified operation isn't valid.

", + "error":{ + "code":"InvalidOperationException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidStateTransitionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Error reserved for use by the CloudFormation CLI. CloudFormation does not return this error to users.

", + "error":{ + "code":"InvalidStateTransition", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "IsDefaultVersion":{"type":"boolean"}, + "Key":{"type":"string"}, "LastUpdatedTime":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ }, - "documentation":"

Quota for the resource has already been reached.

", + "documentation":"

The quota for the resource has already been reached.

For information on resource and stack limitations, see Limits in the AWS CloudFormation User Guide.

", "error":{ "code":"LimitExceededException", "httpStatusCode":400, @@ -1278,6 +2612,72 @@ } } }, + "ListImportsInput":{ + "type":"structure", + "required":["ExportName"], + "members":{ + "ExportName":{ + "shape":"ExportName", + "documentation":"

The name of the exported output value. AWS CloudFormation returns the stack names that are importing this value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A string (provided by the ListImports response output) that identifies the next page of stacks that are importing the specified exported output value.

" + } + } + }, + "ListImportsOutput":{ + "type":"structure", + "members":{ + "Imports":{ + "shape":"Imports", + "documentation":"

A list of stack names that are importing the specified exported output value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A string that identifies the next page of exports. If there is no additional page, this value is null.

" + } + } + }, + "ListStackInstancesInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to list stack instances for.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous request didn't return all of the remaining results, the response's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + }, + "StackInstanceAccount":{ + "shape":"Account", + "documentation":"

The name of the AWS account that you want to list stack instances for.

" + }, + "StackInstanceRegion":{ + "shape":"Region", + "documentation":"

The name of the Region where you want to list stack instances.

" + } + } + }, + "ListStackInstancesOutput":{ + "type":"structure", + "members":{ + "Summaries":{ + "shape":"StackInstanceSummaries", + "documentation":"

A list of StackInstanceSummary structures that contain information about the specified stack instances.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, "ListStackResourcesInput":{ "type":"structure", "required":["StackName"], @@ -1307,6 +2707,105 @@ }, "documentation":"

The output for a ListStackResources action.

" }, + "ListStackSetOperationResultsInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to get operation results for.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The ID of the stack set operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + } + }, + "ListStackSetOperationResultsOutput":{ + "type":"structure", + "members":{ + "Summaries":{ + "shape":"StackSetOperationResultSummaries", + "documentation":"

A list of StackSetOperationResultSummary structures that contain information about the specified operation results, for accounts and Regions that are included in the operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

" + } + } + }, + "ListStackSetOperationsInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to get operation summaries for.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSetOperations again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + } + }, + "ListStackSetOperationsOutput":{ + "type":"structure", + "members":{ + "Summaries":{ + "shape":"StackSetOperationSummaries", + "documentation":"

A list of StackSetOperationSummary structures that contain summary information about operations for the specified stack set.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all results, NextToken is set to a token. To retrieve the next set of results, call ListOperationResults again and assign that token to the request object's NextToken parameter. If there are no remaining results, NextToken is set to null.

" + } + } + }, + "ListStackSetsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call ListStackSets again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + }, + "Status":{ + "shape":"StackSetStatus", + "documentation":"

The status of the stack sets that you want to get summary information about.

" + } + } + }, + "ListStackSetsOutput":{ + "type":"structure", + "members":{ + "Summaries":{ + "shape":"StackSetSummaries", + "documentation":"

A list of StackSetSummary structures that contain information about the user's stack sets.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call ListStackInstances again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, "ListStacksInput":{ "type":"structure", "members":{ @@ -1335,32 +2834,284 @@ }, "documentation":"

The output for ListStacks action.

" }, - "LogicalResourceId":{"type":"string"}, - "Metadata":{"type":"string"}, - "NextToken":{ - "type":"string", - "max":1024, - "min":1 - }, - "NoEcho":{"type":"boolean"}, - "NotificationARN":{"type":"string"}, - "NotificationARNs":{ - "type":"list", - "member":{"shape":"NotificationARN"}, - "max":5 - }, - "OnFailure":{ - "type":"string", - "enum":[ - "DO_NOTHING", - "ROLLBACK", - "DELETE" - ] - }, - "Output":{ + "ListTypeRegistrationsInput":{ "type":"structure", "members":{ - "OutputKey":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Currently the only valid value is RESOURCE.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeArn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "RegistrationStatusFilter":{ + "shape":"RegistrationStatus", + "documentation":"

The current status of the type registration request.

The default is IN_PROGRESS.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + } + } + }, + "ListTypeRegistrationsOutput":{ + "type":"structure", + "members":{ + "RegistrationTokenList":{ + "shape":"RegistrationTokenList", + "documentation":"

A list of type registration tokens.

Use DescribeTypeRegistration to return detailed information about a type registration request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, + "ListTypeVersionsInput":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of the type.

Currently the only valid value is RESOURCE.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type for which you want version summary information.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "Arn":{ + "shape":"PrivateTypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type for which you want version summary information.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + }, + "DeprecatedStatus":{ + "shape":"DeprecatedStatus", + "documentation":"

The deprecation status of the type versions that you want to get summary information about.

Valid values include:

  • LIVE: The type version is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

  • DEPRECATED: The type version has been deregistered and can no longer be used in CloudFormation operations.

The default is LIVE.

" + } + } + }, + "ListTypeVersionsOutput":{ + "type":"structure", + "members":{ + "TypeVersionSummaries":{ + "shape":"TypeVersionSummaries", + "documentation":"

A list of TypeVersionSummary structures that contain information about the specified type's versions.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, + "ListTypesInput":{ + "type":"structure", + "members":{ + "Visibility":{ + "shape":"Visibility", + "documentation":"

The scope at which the type is visible and usable in CloudFormation operations.

Valid values include:

  • PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you create as PRIVATE.

  • PUBLIC: The type is publically visible and usable within any Amazon account.

The default is PRIVATE.

" + }, + "ProvisioningType":{ + "shape":"ProvisioningType", + "documentation":"

The provisioning behavior of the type. AWS CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted.

Valid values include:

  • FULLY_MUTABLE: The type includes an update handler to process updates to the type during stack update operations.

  • IMMUTABLE: The type does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

  • NON_PROVISIONABLE: The type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

" + }, + "DeprecatedStatus":{ + "shape":"DeprecatedStatus", + "documentation":"

The deprecation status of the types that you want to get summary information about.

Valid values include:

  • LIVE: The type is registered for use in CloudFormation operations.

  • DEPRECATED: The type has been deregistered and can no longer be used in CloudFormation operations.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

" + } + } + }, + "ListTypesOutput":{ + "type":"structure", + "members":{ + "TypeSummaries":{ + "shape":"TypeSummaries", + "documentation":"

A list of TypeSummary structures that contain information about the specified types.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

" + } + } + }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "LoggingConfig":{ + "type":"structure", + "required":[ + "LogRoleArn", + "LogGroupName" + ], + "members":{ + "LogRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.

" + }, + "LogGroupName":{ + "shape":"LogGroupName", + "documentation":"

The Amazon CloudWatch log group to which CloudFormation sends error logging information when invoking the type's handlers.

" + } + }, + "documentation":"

Contains logging configuration information for a type.

" + }, + "LogicalResourceId":{"type":"string"}, + "LogicalResourceIds":{ + "type":"list", + "member":{"shape":"LogicalResourceId"}, + "max":200, + "min":1 + }, + "MaxConcurrentCount":{ + "type":"integer", + "min":1 + }, + "MaxConcurrentPercentage":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Metadata":{"type":"string"}, + "MonitoringTimeInMinutes":{ + "type":"integer", + "max":180, + "min":0 + }, + "NameAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified name is already in use.

", + "error":{ + "code":"NameAlreadyExistsException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "NextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "NoEcho":{"type":"boolean"}, + "NotificationARN":{"type":"string"}, + "NotificationARNs":{ + "type":"list", + "member":{"shape":"NotificationARN"}, + "max":5 + }, + "OnFailure":{ + "type":"string", + "enum":[ + "DO_NOTHING", + "ROLLBACK", + "DELETE" + ] + }, + "OperationIdAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified operation ID already exists.

", + "error":{ + "code":"OperationIdAlreadyExistsException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "OperationInProgressException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Another operation is currently in progress for this stack set. Only one operation can be performed for a stack set at a given time.

", + "error":{ + "code":"OperationInProgressException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "OperationNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ID refers to an operation that doesn't exist.

", + "error":{ + "code":"OperationNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "OperationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "SUCCESS", + "FAILED" + ] + }, + "OperationStatusCheckFailedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Error reserved for use by the CloudFormation CLI. CloudFormation does not return this error to users.

", + "error":{ + "code":"ConditionalCheckFailed", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "OptionalSecureUrl":{ + "type":"string", + "max":4096 + }, + "OrganizationalUnitId":{ + "type":"string", + "pattern":"^(ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}|r-[a-z0-9]{4,32})$" + }, + "OrganizationalUnitIdList":{ + "type":"list", + "member":{"shape":"OrganizationalUnitId"} + }, + "Output":{ + "type":"structure", + "members":{ + "OutputKey":{ "shape":"OutputKey", "documentation":"

The key associated with the output.

" }, @@ -1371,6 +3122,10 @@ "Description":{ "shape":"Description", "documentation":"

User defined description associated with the output.

" + }, + "ExportName":{ + "shape":"ExportName", + "documentation":"

The name of the export associated with the output.

" } }, "documentation":"

The Output data type.

" @@ -1390,11 +3145,15 @@ }, "ParameterValue":{ "shape":"ParameterValue", - "documentation":"

The value associated with the parameter.

" + "documentation":"

The input value associated with the parameter.

" }, "UsePreviousValue":{ "shape":"UsePreviousValue", "documentation":"

During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify true, do not specify a parameter value.

" + }, + "ResolvedValue":{ + "shape":"ParameterValue", + "documentation":"

Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSM parameter types in the template.

" } }, "documentation":"

The Parameter data type.

" @@ -1450,8 +3209,201 @@ "type":"list", "member":{"shape":"Parameter"} }, + "PermissionModels":{ + "type":"string", + "enum":[ + "SERVICE_MANAGED", + "SELF_MANAGED" + ] + }, "PhysicalResourceId":{"type":"string"}, + "PhysicalResourceIdContext":{ + "type":"list", + "member":{"shape":"PhysicalResourceIdContextKeyValuePair"}, + "max":5 + }, + "PhysicalResourceIdContextKeyValuePair":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"Key", + "documentation":"

The resource context key.

" + }, + "Value":{ + "shape":"Value", + "documentation":"

The resource context value.

" + } + }, + "documentation":"

Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a resource that contains the targeted resource.

" + }, + "PrivateTypeArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:[0-9]{12}:type/.+" + }, + "Properties":{"type":"string"}, + "PropertyDifference":{ + "type":"structure", + "required":[ + "PropertyPath", + "ExpectedValue", + "ActualValue", + "DifferenceType" + ], + "members":{ + "PropertyPath":{ + "shape":"PropertyPath", + "documentation":"

The fully-qualified path to the resource property.

" + }, + "ExpectedValue":{ + "shape":"PropertyValue", + "documentation":"

The expected property value of the resource property, as defined in the stack template and any values specified as template parameters.

" + }, + "ActualValue":{ + "shape":"PropertyValue", + "documentation":"

The actual property value of the resource property.

" + }, + "DifferenceType":{ + "shape":"DifferenceType", + "documentation":"

The type of property difference.

  • ADD: A value has been added to a resource property that is an array or list data type.

  • REMOVE: The property has been removed from the current resource configuration.

  • NOT_EQUAL: The current property value differs from its expected value (as defined in the stack template and any values specified as template parameters).

" + } + }, + "documentation":"

Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + }, + "PropertyDifferences":{ + "type":"list", + "member":{"shape":"PropertyDifference"} + }, "PropertyName":{"type":"string"}, + "PropertyPath":{"type":"string"}, + "PropertyValue":{"type":"string"}, + "ProvisioningType":{ + "type":"string", + "enum":[ + "NON_PROVISIONABLE", + "IMMUTABLE", + "FULLY_MUTABLE" + ] + }, + "Reason":{"type":"string"}, + "RecordHandlerProgressInput":{ + "type":"structure", + "required":[ + "BearerToken", + "OperationStatus" + ], + "members":{ + "BearerToken":{ + "shape":"ClientToken", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "OperationStatus":{ + "shape":"OperationStatus", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "CurrentOperationStatus":{ + "shape":"OperationStatus", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "ErrorCode":{ + "shape":"HandlerErrorCode", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "ResourceModel":{ + "shape":"ResourceModel", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Reserved for use by the CloudFormation CLI.

" + } + } + }, + "RecordHandlerProgressOutput":{ + "type":"structure", + "members":{ + } + }, + "Region":{ + "type":"string", + "pattern":"^[a-zA-Z0-9-]{1,128}$" + }, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"} + }, + "RegisterTypeInput":{ + "type":"structure", + "required":[ + "TypeName", + "SchemaHandlerPackage" + ], + "members":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Currently, the only valid value is RESOURCE.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type being registered.

We recommend that type names adhere to the following pattern: company_or_organization::service::type.

The following organization namespaces are reserved and cannot be used in your resource type names:

  • Alexa

  • AMZN

  • Amazon

  • AWS

  • Custom

  • Dev

" + }, + "SchemaHandlerPackage":{ + "shape":"S3Url", + "documentation":"

A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register.

For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide.

As part of registering a resource provider type, CloudFormation must be able to access the S3 bucket which contains the schema handler package for that resource provider. For more information, see IAM Permissions for Registering a Resource Provider in the AWS CloudFormation User Guide.

" + }, + "LoggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

Specifies logging configuration information for a type.

" + }, + "ExecutionRoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials.

" + }, + "ClientRequestToken":{ + "shape":"RequestToken", + "documentation":"

A unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of a type from the same registeration request, even if the request is submitted multiple times.

" + } + } + }, + "RegisterTypeOutput":{ + "type":"structure", + "members":{ + "RegistrationToken":{ + "shape":"RegistrationToken", + "documentation":"

The identifier for this registration request.

Use this registration token when calling DescribeTypeRegistration , which returns information about the status and IDs of the type registration.

" + } + } + }, + "RegistrationStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "IN_PROGRESS", + "FAILED" + ] + }, + "RegistrationToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][-a-zA-Z0-9]*" + }, + "RegistrationTokenList":{ + "type":"list", + "member":{"shape":"RegistrationToken"} + }, + "RegistryType":{ + "type":"string", + "enum":["RESOURCE"] + }, "Replacement":{ "type":"string", "enum":[ @@ -1460,6 +3412,12 @@ "Conditional" ] }, + "RequestToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][-a-zA-Z0-9]*" + }, "RequiresRecreation":{ "type":"string", "enum":[ @@ -1539,13 +3497,61 @@ "type":"list", "member":{"shape":"ResourceChangeDetail"} }, - "ResourceProperties":{"type":"string"}, - "ResourceSignalStatus":{ - "type":"string", - "enum":[ - "SUCCESS", - "FAILURE" - ] + "ResourceIdentifierProperties":{ + "type":"map", + "key":{"shape":"ResourceIdentifierPropertyKey"}, + "value":{"shape":"ResourceIdentifierPropertyValue"}, + "max":256, + "min":1 + }, + "ResourceIdentifierPropertyKey":{ + "type":"string", + "max":2048, + "min":1 + }, + "ResourceIdentifierPropertyValue":{ + "type":"string", + "max":2048, + "min":1 + }, + "ResourceIdentifierSummaries":{ + "type":"list", + "member":{"shape":"ResourceIdentifierSummary"} + }, + "ResourceIdentifierSummary":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The template resource type of the target resources, such as AWS::S3::Bucket.

" + }, + "LogicalResourceIds":{ + "shape":"LogicalResourceIds", + "documentation":"

The logical IDs of the target resources of the specified ResourceType, as defined in the import template.

" + }, + "ResourceIdentifiers":{ + "shape":"ResourceIdentifiers", + "documentation":"

The resource properties you can provide during the import to identify your target resources. For example, BucketName is a possible identifier property for AWS::S3::Bucket resources.

" + } + }, + "documentation":"

Describes the target resources of a specific type in your import template (for example, all AWS::S3::Bucket resources) and the properties you can provide during the import to identify resources of that type.

" + }, + "ResourceIdentifiers":{ + "type":"list", + "member":{"shape":"ResourceIdentifierPropertyKey"} + }, + "ResourceModel":{ + "type":"string", + "max":16384, + "min":1 + }, + "ResourceProperties":{"type":"string"}, + "ResourceSignalStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILURE" + ] }, "ResourceSignalUniqueId":{ "type":"string", @@ -1564,7 +3570,13 @@ "DELETE_SKIPPED", "UPDATE_IN_PROGRESS", "UPDATE_FAILED", - "UPDATE_COMPLETE" + "UPDATE_COMPLETE", + "IMPORT_FAILED", + "IMPORT_COMPLETE", + "IMPORT_IN_PROGRESS", + "IMPORT_ROLLBACK_IN_PROGRESS", + "IMPORT_ROLLBACK_FAILED", + "IMPORT_ROLLBACK_COMPLETE" ] }, "ResourceStatusReason":{"type":"string"}, @@ -1581,11 +3593,34 @@ }, "RequiresRecreation":{ "shape":"RequiresRecreation", - "documentation":"

If the Attribute value is Properties, indicates whether a change to this property causes the resource to be recreated. The value can be Never, Always, or Conditionally. To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

" + "documentation":"

If the Attribute value is Properties, indicates whether a change to this property causes the resource to be recreated. The value can be Never, Always, or Conditionally. To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

" } }, "documentation":"

The field that AWS CloudFormation will change, such as the name of a resource's property, and whether the resource will be recreated.

" }, + "ResourceToImport":{ + "type":"structure", + "required":[ + "ResourceType", + "LogicalResourceId", + "ResourceIdentifier" + ], + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to import into your stack, such as AWS::S3::Bucket.

" + }, + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

The logical ID of the target resource as specified in the template.

" + }, + "ResourceIdentifier":{ + "shape":"ResourceIdentifierProperties", + "documentation":"

A key-value pair that identifies the target resource. The key is an identifier property (for example, BucketName for AWS::S3::Bucket resources) and the value is the actual property value (for example, MyS3Bucket).

" + } + }, + "documentation":"

Describes the target resource of an import operation.

" + }, "ResourceToSkip":{ "type":"string", "pattern":"[a-zA-Z0-9]+|[a-zA-Z][-a-zA-Z0-9]*\\.[a-zA-Z0-9]+" @@ -1599,6 +3634,11 @@ "type":"list", "member":{"shape":"ResourceType"} }, + "ResourcesToImport":{ + "type":"list", + "member":{"shape":"ResourceToImport"}, + "max":200 + }, "ResourcesToSkip":{ "type":"list", "member":{"shape":"ResourceToSkip"} @@ -1607,11 +3647,62 @@ "type":"list", "member":{"shape":"LogicalResourceId"} }, + "RetainStacks":{"type":"boolean"}, + "RetainStacksNullable":{"type":"boolean"}, + "RetainStacksOnAccountRemovalNullable":{"type":"boolean"}, "RoleARN":{ "type":"string", "max":2048, "min":20 }, + "RoleArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:.+:iam::[0-9]{12}:role/.+" + }, + "RollbackConfiguration":{ + "type":"structure", + "members":{ + "RollbackTriggers":{ + "shape":"RollbackTriggers", + "documentation":"

The triggers to monitor during stack creation or update actions.

By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:

  • To use the rollback triggers previously specified for this stack, if any, don't specify this parameter.

  • To specify new or updated rollback triggers, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.

  • To remove all currently specified triggers, specify an empty list for this parameter.

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" + }, + "MonitoringTimeInMinutes":{ + "shape":"MonitoringTimeInMinutes", + "documentation":"

The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources.

The default is 0 minutes.

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources after update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

" + } + }, + "documentation":"

Structure containing the rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

Rollback triggers enable you to have AWS CloudFormation monitor the state of your application during stack creation and updating, and to roll back that operation if the application breaches the threshold of any of the alarms you've specified. For more information, see Monitor and Roll Back Stack Operations.

" + }, + "RollbackTrigger":{ + "type":"structure", + "required":[ + "Arn", + "Type" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the rollback trigger.

If a specified trigger is missing, the entire stack operation fails and is rolled back.

" + }, + "Type":{ + "shape":"Type", + "documentation":"

The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

" + } + }, + "documentation":"

A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALARM state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

" + }, + "RollbackTriggers":{ + "type":"list", + "member":{"shape":"RollbackTrigger"}, + "max":5 + }, + "S3Url":{ + "type":"string", + "max":4096, + "min":1 + }, "Scope":{ "type":"list", "member":{"shape":"ResourceAttribute"} @@ -1626,15 +3717,41 @@ }, "StackPolicyBody":{ "shape":"StackPolicyBody", - "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Structure containing the stack policy body. For more information, go to Prevent Updates to Stack Resources in the AWS CloudFormation User Guide. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" }, "StackPolicyURL":{ "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" + "documentation":"

Location of a file containing the stack policy. The URL must point to a policy (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

" } }, "documentation":"

The input for the SetStackPolicy action.

" }, + "SetTypeDefaultVersionInput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"PrivateTypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type for which you want version summary information.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

Conditional: You must specify either TypeName and Type, or Arn.

" + }, + "VersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

" + } + } + }, + "SetTypeDefaultVersionOutput":{ + "type":"structure", + "members":{ + } + }, "SignalResourceInput":{ "type":"structure", "required":[ @@ -1695,10 +3812,18 @@ "shape":"CreationTime", "documentation":"

The time at which the stack was created.

" }, + "DeletionTime":{ + "shape":"DeletionTime", + "documentation":"

The time the stack was deleted.

" + }, "LastUpdatedTime":{ "shape":"LastUpdatedTime", "documentation":"

The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

" }, + "RollbackConfiguration":{ + "shape":"RollbackConfiguration", + "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" + }, "StackStatus":{ "shape":"StackStatus", "documentation":"

Current status of the stack.

" @@ -1734,10 +3859,79 @@ "Tags":{ "shape":"Tags", "documentation":"

A list of Tags that specify information about the stack.

" + }, + "EnableTerminationProtection":{ + "shape":"EnableTerminationProtection", + "documentation":"

Whether termination protection is enabled for the stack.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

" + }, + "ParentId":{ + "shape":"StackId", + "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" + }, + "RootId":{ + "shape":"StackId", + "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" + }, + "DriftInformation":{ + "shape":"StackDriftInformation", + "documentation":"

Information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The Stack data type.

" }, + "StackDriftDetectionId":{ + "type":"string", + "max":36, + "min":1 + }, + "StackDriftDetectionStatus":{ + "type":"string", + "enum":[ + "DETECTION_IN_PROGRESS", + "DETECTION_FAILED", + "DETECTION_COMPLETE" + ] + }, + "StackDriftDetectionStatusReason":{"type":"string"}, + "StackDriftInformation":{ + "type":"structure", + "required":["StackDriftStatus"], + "members":{ + "StackDriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack's actual configuration compared to its expected template configuration.

  • DRIFTED: The stack differs from its expected template configuration. A stack is considered to have drifted if one or more of its resources have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its expected template configuration.

  • IN_SYNC: The stack's actual configuration matches its expected template configuration.

  • UNKNOWN: This value is reserved for future use.

" + }, + "LastCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when a drift detection operation was initiated on the stack, or any of its individual resources that support drift detection.

" + } + }, + "documentation":"

Contains information about whether the stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted.

" + }, + "StackDriftInformationSummary":{ + "type":"structure", + "required":["StackDriftStatus"], + "members":{ + "StackDriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack's actual configuration compared to its expected template configuration.

  • DRIFTED: The stack differs from its expected template configuration. A stack is considered to have drifted if one or more of its resources have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked if the stack differs from its expected template configuration.

  • IN_SYNC: The stack's actual configuration matches its expected template configuration.

  • UNKNOWN: This value is reserved for future use.

" + }, + "LastCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when a drift detection operation was initiated on the stack, or any of its individual resources that support drift detection.

" + } + }, + "documentation":"

Contains information about whether the stack's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted.

" + }, + "StackDriftStatus":{ + "type":"string", + "enum":[ + "DRIFTED", + "IN_SYNC", + "UNKNOWN", + "NOT_CHECKED" + ] + }, "StackEvent":{ "type":"structure", "required":[ @@ -1769,7 +3963,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "Timestamp":{ "shape":"Timestamp", @@ -1786,6 +3980,10 @@ "ResourceProperties":{ "shape":"ResourceProperties", "documentation":"

BLOB of the properties used to create the resource.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The token passed to the operation that generated this event.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" } }, "documentation":"

The StackEvent data type.

" @@ -1795,6 +3993,118 @@ "member":{"shape":"StackEvent"} }, "StackId":{"type":"string"}, + "StackInstance":{ + "type":"structure", + "members":{ + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The name or unique ID of the stack set that the stack instance is associated with.

" + }, + "Region":{ + "shape":"Region", + "documentation":"

The name of the AWS Region that the stack instance is associated with.

" + }, + "Account":{ + "shape":"Account", + "documentation":"

[Self-managed permissions] The name of the AWS account that the stack instance is associated with.

" + }, + "StackId":{ + "shape":"StackId", + "documentation":"

The ID of the stack instance.

" + }, + "ParameterOverrides":{ + "shape":"Parameters", + "documentation":"

A list of parameters from the stack set template whose values have been overridden in this stack instance.

" + }, + "Status":{ + "shape":"StackInstanceStatus", + "documentation":"

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" + }, + "StatusReason":{ + "shape":"Reason", + "documentation":"

The explanation for the specific status code that is assigned to this stack instance.

" + }, + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

Reserved for internal use. No data returned.

" + }, + "DriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.

  • DRIFTED: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from its expected stack set configuration.

  • IN_SYNC: The stack instance's actual configuration matches its expected stack set configuration.

  • UNKNOWN: This value is reserved for future use.

" + }, + "LastDriftCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be NULL for any stack instance on which drift detection has not yet been performed.

" + } + }, + "documentation":"

An AWS CloudFormation stack, in a specific account and Region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given Region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

" + }, + "StackInstanceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified stack instance doesn't exist.

", + "error":{ + "code":"StackInstanceNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "StackInstanceStatus":{ + "type":"string", + "enum":[ + "CURRENT", + "OUTDATED", + "INOPERABLE" + ] + }, + "StackInstanceSummaries":{ + "type":"list", + "member":{"shape":"StackInstanceSummary"} + }, + "StackInstanceSummary":{ + "type":"structure", + "members":{ + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The name or unique ID of the stack set that the stack instance is associated with.

" + }, + "Region":{ + "shape":"Region", + "documentation":"

The name of the AWS Region that the stack instance is associated with.

" + }, + "Account":{ + "shape":"Account", + "documentation":"

[Self-managed permissions] The name of the AWS account that the stack instance is associated with.

" + }, + "StackId":{ + "shape":"StackId", + "documentation":"

The ID of the stack instance.

" + }, + "Status":{ + "shape":"StackInstanceStatus", + "documentation":"

The status of the stack instance, in terms of its synchronization with its associated stack set.

  • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

  • OUTDATED: The stack isn't currently up to date with the stack set because:

    • The associated stack failed during a CreateStackSet or UpdateStackSet operation.

    • The stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

  • CURRENT: The stack is currently up to date with the stack set.

" + }, + "StatusReason":{ + "shape":"Reason", + "documentation":"

The explanation for the specific status code assigned to this stack instance.

" + }, + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

Reserved for internal use. No data returned.

" + }, + "DriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack instance's actual configuration compared to the expected template and parameter configuration of the stack set to which it belongs.

  • DRIFTED: The stack differs from the expected template and parameter configuration of the stack set to which it belongs. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked if the stack instance differs from its expected stack set configuration.

  • IN_SYNC: The stack instance's actual configuration matches its expected stack set configuration.

  • UNKNOWN: This value is reserved for future use.

" + }, + "LastDriftCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when CloudFormation performed a drift detection operation on the stack instance. This value will be NULL for any stack instance on which drift detection has not yet been performed.

" + } + }, + "documentation":"

The structure that contains summary information about a stack instance.

" + }, "StackName":{"type":"string"}, "StackNameOrId":{ "type":"string", @@ -1848,7 +4158,7 @@ }, "ResourceType":{ "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" }, "Timestamp":{ "shape":"Timestamp", @@ -1865,6 +4175,10 @@ "Description":{ "shape":"Description", "documentation":"

User defined description associated with the resource.

" + }, + "DriftInformation":{ + "shape":"StackResourceDriftInformation", + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The StackResource data type.

" @@ -1878,92 +4192,578 @@ "ResourceStatus" ], "members":{ - "StackName":{ - "shape":"StackName", - "documentation":"

The name associated with the stack.

" + "StackName":{ + "shape":"StackName", + "documentation":"

The name associated with the stack.

" + }, + "StackId":{ + "shape":"StackId", + "documentation":"

Unique identifier of the stack.

" + }, + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

The logical name of the resource specified in the template.

" + }, + "PhysicalResourceId":{ + "shape":"PhysicalResourceId", + "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + }, + "LastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

Time the status was updated.

" + }, + "ResourceStatus":{ + "shape":"ResourceStatus", + "documentation":"

Current status of the resource.

" + }, + "ResourceStatusReason":{ + "shape":"ResourceStatusReason", + "documentation":"

Success/failure message associated with the resource.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

User defined description associated with the resource.

" + }, + "Metadata":{ + "shape":"Metadata", + "documentation":"

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" + }, + "DriftInformation":{ + "shape":"StackResourceDriftInformation", + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + } + }, + "documentation":"

Contains detailed information about the specified stack resource.

" + }, + "StackResourceDrift":{ + "type":"structure", + "required":[ + "StackId", + "LogicalResourceId", + "ResourceType", + "StackResourceDriftStatus", + "Timestamp" + ], + "members":{ + "StackId":{ + "shape":"StackId", + "documentation":"

The ID of the stack.

" + }, + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

The logical name of the resource specified in the template.

" + }, + "PhysicalResourceId":{ + "shape":"PhysicalResourceId", + "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

" + }, + "PhysicalResourceIdContext":{ + "shape":"PhysicalResourceIdContext", + "documentation":"

Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a unique resource that contains the targeted resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the resource.

" + }, + "ExpectedProperties":{ + "shape":"Properties", + "documentation":"

A JSON structure containing the expected property values of the stack resource, as defined in the stack template and any values specified as template parameters.

For resources whose StackResourceDriftStatus is DELETED, this structure will not be present.

" + }, + "ActualProperties":{ + "shape":"Properties", + "documentation":"

A JSON structure containing the actual property values of the stack resource.

For resources whose StackResourceDriftStatus is DELETED, this structure will not be present.

" + }, + "PropertyDifferences":{ + "shape":"PropertyDifferences", + "documentation":"

A collection of the resource properties whose actual values differ from their expected values. These will be present only for resources whose StackResourceDriftStatus is MODIFIED.

" + }, + "StackResourceDriftStatus":{ + "shape":"StackResourceDriftStatus", + "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected template configuration because the resource has been deleted.

  • MODIFIED: One or more resource properties differ from their expected values (as defined in the stack template and any values specified as template parameters).

  • IN_SYNC: The resources's actual configuration matches its expected template configuration.

  • NOT_CHECKED: AWS CloudFormation does not currently return this value.

" + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

Time at which AWS CloudFormation performed drift detection on the stack resource.

" + } + }, + "documentation":"

Contains the drift information for a resource that has been checked for drift. This includes actual and expected property values for resources in which AWS CloudFormation has detected drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

" + }, + "StackResourceDriftInformation":{ + "type":"structure", + "required":["StackResourceDriftStatus"], + "members":{ + "StackResourceDriftStatus":{ + "shape":"StackResourceDriftStatus", + "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" + }, + "LastCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

When AWS CloudFormation last checked if the resource had drifted from its expected configuration.

" + } + }, + "documentation":"

Contains information about whether the resource's actual configuration differs, or has drifted, from its expected configuration.

" + }, + "StackResourceDriftInformationSummary":{ + "type":"structure", + "required":["StackResourceDriftStatus"], + "members":{ + "StackResourceDriftStatus":{ + "shape":"StackResourceDriftStatus", + "documentation":"

Status of the resource's actual configuration compared to its expected configuration

  • DELETED: The resource differs from its expected configuration in that it has been deleted.

  • MODIFIED: The resource differs from its expected configuration.

  • NOT_CHECKED: AWS CloudFormation has not checked if the resource differs from its expected configuration.

    Any resources that do not currently support drift detection have a status of NOT_CHECKED. For more information, see Resources that Support Drift Detection. If you performed an ContinueUpdateRollback operation on a stack, any resources included in ResourcesToSkip will also have a status of NOT_CHECKED. For more information on skipping resources during rollback operations, see Continue Rolling Back an Update in the AWS CloudFormation User Guide.

  • IN_SYNC: The resources's actual configuration matches its expected configuration.

" + }, + "LastCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

When AWS CloudFormation last checked if the resource had drifted from its expected configuration.

" + } + }, + "documentation":"

Summarizes information about whether the resource's actual configuration differs, or has drifted, from its expected configuration.

" + }, + "StackResourceDriftStatus":{ + "type":"string", + "enum":[ + "IN_SYNC", + "MODIFIED", + "DELETED", + "NOT_CHECKED" + ] + }, + "StackResourceDriftStatusFilters":{ + "type":"list", + "member":{"shape":"StackResourceDriftStatus"}, + "max":4, + "min":1 + }, + "StackResourceDrifts":{ + "type":"list", + "member":{"shape":"StackResourceDrift"} + }, + "StackResourceSummaries":{ + "type":"list", + "member":{"shape":"StackResourceSummary"} + }, + "StackResourceSummary":{ + "type":"structure", + "required":[ + "LogicalResourceId", + "ResourceType", + "LastUpdatedTimestamp", + "ResourceStatus" + ], + "members":{ + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

The logical name of the resource specified in the template.

" + }, + "PhysicalResourceId":{ + "shape":"PhysicalResourceId", + "documentation":"

The name or unique identifier that corresponds to a physical instance ID of the resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + }, + "LastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

Time the status was updated.

" + }, + "ResourceStatus":{ + "shape":"ResourceStatus", + "documentation":"

Current status of the resource.

" + }, + "ResourceStatusReason":{ + "shape":"ResourceStatusReason", + "documentation":"

Success/failure message associated with the resource.

" + }, + "DriftInformation":{ + "shape":"StackResourceDriftInformationSummary", + "documentation":"

Information about whether the resource's actual configuration differs, or has drifted, from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" + } + }, + "documentation":"

Contains high-level information about the specified stack resource.

" + }, + "StackResources":{ + "type":"list", + "member":{"shape":"StackResource"} + }, + "StackSet":{ + "type":"structure", + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name that's associated with the stack set.

" + }, + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The ID of the stack set.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the stack set that you specify when the stack set is created or updated.

" + }, + "Status":{ + "shape":"StackSetStatus", + "documentation":"

The status of the stack set.

" + }, + "TemplateBody":{ + "shape":"TemplateBody", + "documentation":"

The structure that contains the body of the template that was used to create or update the stack set.

" + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

A list of input parameters for a stack set.

" + }, + "Capabilities":{ + "shape":"Capabilities", + "documentation":"

The capabilities that are allowed in the stack set. Some stack set templates might include resources that can affect permissions in your AWS account—for example, by creating new AWS Identity and Access Management (IAM) users. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags that specify information about the stack set. A maximum number of 50 tags can be specified.

" + }, + "StackSetARN":{ + "shape":"StackSetARN", + "documentation":"

The Amazon Resource Number (ARN) of the stack set.

" + }, + "AdministrationRoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Number (ARN) of the IAM role used to create or update the stack set.

Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

" + }, + "ExecutionRoleName":{ + "shape":"ExecutionRoleName", + "documentation":"

The name of the IAM execution role used to create or update the stack set.

Use customized execution roles to control which stack resources users and groups can include in their stack sets.

" + }, + "StackSetDriftDetectionDetails":{ + "shape":"StackSetDriftDetectionDetails", + "documentation":"

Detailed information about the drift status of the stack set.

For stack sets, contains information about the last completed drift operation performed on the stack set. Information about drift operations currently in progress is not included.

" + }, + "AutoDeployment":{ + "shape":"AutoDeployment", + "documentation":"

[Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

" + }, + "PermissionModel":{ + "shape":"PermissionModels", + "documentation":"

Describes how the IAM roles required for stack set operations are created.

" + }, + "OrganizationalUnitIds":{ + "shape":"OrganizationalUnitIdList", + "documentation":"

Reserved for internal use. No data returned.

" + } + }, + "documentation":"

A structure that contains information about a stack set. A stack set enables you to provision stacks into AWS accounts and across Regions by using a single CloudFormation template. In the stack set, you specify the template to use, as well as any parameters and capabilities that the template requires.

" + }, + "StackSetARN":{"type":"string"}, + "StackSetDriftDetectionDetails":{ + "type":"structure", + "members":{ + "DriftStatus":{ + "shape":"StackSetDriftStatus", + "documentation":"

Status of the stack set's actual configuration compared to its expected template and parameter configuration. A stack set is considered to have drifted if one or more of its stack instances have drifted from their expected template and parameter configuration.

  • DRIFTED: One or more of the stack instances belonging to the stack set stack differs from the expected template and parameter configuration. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

  • IN_SYNC: All of the stack instances belonging to the stack set stack match from the expected template and parameter configuration.

" + }, + "DriftDetectionStatus":{ + "shape":"StackSetDriftDetectionStatus", + "documentation":"

The status of the stack set drift detection operation.

  • COMPLETED: The drift detection operation completed without failing on any stack instances.

  • FAILED: The drift detection operation exceeded the specified failure tolerance.

  • PARTIAL_SUCCESS: The drift detection operation completed without exceeding the failure tolerance for the operation.

  • IN_PROGRESS: The drift detection operation is currently being performed.

  • STOPPED: The user has cancelled the drift detection operation.

" + }, + "LastDriftCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when CloudFormation performed a drift detection operation on the stack set. This value will be NULL for any stack set on which drift detection has not yet been performed.

" + }, + "TotalStackInstancesCount":{ + "shape":"TotalStackInstancesCount", + "documentation":"

The total number of stack instances belonging to this stack set.

The total number of stack instances is equal to the total of:

  • Stack instances that match the stack set configuration.

  • Stack instances that have drifted from the stack set configuration.

  • Stack instances where the drift detection operation has failed.

  • Stack instances currently being checked for drift.

" + }, + "DriftedStackInstancesCount":{ + "shape":"DriftedStackInstancesCount", + "documentation":"

The number of stack instances that have drifted from the expected template and parameter configuration of the stack set. A stack instance is considered to have drifted if one or more of the resources in the associated stack do not match their expected configuration.

" + }, + "InSyncStackInstancesCount":{ + "shape":"InSyncStackInstancesCount", + "documentation":"

The number of stack instances which match the expected template and parameter configuration of the stack set.

" + }, + "InProgressStackInstancesCount":{ + "shape":"InProgressStackInstancesCount", + "documentation":"

The number of stack instances that are currently being checked for drift.

" + }, + "FailedStackInstancesCount":{ + "shape":"FailedStackInstancesCount", + "documentation":"

The number of stack instances for which the drift detection operation failed.

" + } + }, + "documentation":"

Detailed information about the drift status of the stack set.

For stack sets, contains information about the last completed drift operation performed on the stack set. Information about drift operations in-progress is not included.

For stack set operations, includes information about drift operations currently being performed on the stack set.

For more information, see Detecting Unmanaged Changes in Stack Sets in the AWS CloudFormation User Guide.

" + }, + "StackSetDriftDetectionStatus":{ + "type":"string", + "enum":[ + "COMPLETED", + "FAILED", + "PARTIAL_SUCCESS", + "IN_PROGRESS", + "STOPPED" + ] + }, + "StackSetDriftStatus":{ + "type":"string", + "enum":[ + "DRIFTED", + "IN_SYNC", + "NOT_CHECKED" + ] + }, + "StackSetId":{"type":"string"}, + "StackSetName":{"type":"string"}, + "StackSetNameOrId":{ + "type":"string", + "pattern":"[a-zA-Z][-a-zA-Z0-9]*(?::[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12})?" + }, + "StackSetNotEmptyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You can't yet delete this stack set, because it still contains one or more stack instances. Delete all stack instances from the stack set before deleting the stack set.

", + "error":{ + "code":"StackSetNotEmptyException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "StackSetNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified stack set doesn't exist.

", + "error":{ + "code":"StackSetNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "StackSetOperation":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique ID of a stack set operation.

" + }, + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The ID of the stack set.

" + }, + "Action":{ + "shape":"StackSetOperationAction", + "documentation":"

The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack set instances that are associated with the specified stack set. Update operations affect both the stack set itself, as well as all associated stack set instances.

" + }, + "Status":{ + "shape":"StackSetOperationStatus", + "documentation":"

The status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining Regions.

  • QUEUED: [Service-managed permissions] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

" + }, + "OperationPreferences":{ + "shape":"StackSetOperationPreferences", + "documentation":"

The preferences for how AWS CloudFormation performs this stack set operation.

" + }, + "RetainStacks":{ + "shape":"RetainStacksNullable", + "documentation":"

For stack set operations of action type DELETE, specifies whether to remove the stack instances from the specified stack set, but doesn't delete the stacks. You can't reassociate a retained stack, or add an existing, saved stack to a new stack set.

" + }, + "AdministrationRoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Number (ARN) of the IAM role used to perform this stack set operation.

Use customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Define Permissions for Multiple Administrators in the AWS CloudFormation User Guide.

" + }, + "ExecutionRoleName":{ + "shape":"ExecutionRoleName", + "documentation":"

The name of the IAM execution role used to create or update the stack set.

Use customized execution roles to control which stack resources users and groups can include in their stack sets.

" + }, + "CreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.

" + }, + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.

" + }, + "DeploymentTargets":{ + "shape":"DeploymentTargets", + "documentation":"

[Service-managed permissions] The AWS Organizations accounts affected by the stack operation.

" + }, + "StackSetDriftDetectionDetails":{ + "shape":"StackSetDriftDetectionDetails", + "documentation":"

Detailed information about the drift status of the stack set. This includes information about drift operations currently being performed on the stack set.

this information will only be present for stack set operations whose Action type is DETECT_DRIFT.

For more information, see Detecting Unmanaged Changes in Stack Sets in the AWS CloudFormation User Guide.

" + } + }, + "documentation":"

The structure that contains information about a stack set operation.

" + }, + "StackSetOperationAction":{ + "type":"string", + "enum":[ + "CREATE", + "UPDATE", + "DELETE", + "DETECT_DRIFT" + ] + }, + "StackSetOperationPreferences":{ + "type":"structure", + "members":{ + "RegionOrder":{ + "shape":"RegionList", + "documentation":"

The order of the Regions in where you want to perform the stack operation.

" + }, + "FailureToleranceCount":{ + "shape":"FailureToleranceCount", + "documentation":"

The number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. If the operation is stopped in a Region, AWS CloudFormation doesn't attempt the operation in any subsequent Regions.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage (but not both).

" + }, + "FailureTolerancePercentage":{ + "shape":"FailureTolerancePercentage", + "documentation":"

The percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. If the operation is stopped in a Region, AWS CloudFormation doesn't attempt the operation in any subsequent Regions.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number.

Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, but not both.

" + }, + "MaxConcurrentCount":{ + "shape":"MaxConcurrentCount", + "documentation":"

The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of FailureToleranceCountMaxConcurrentCount is at most one more than the FailureToleranceCount .

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" + }, + "MaxConcurrentPercentage":{ + "shape":"MaxConcurrentPercentage", + "documentation":"

The maximum percentage of accounts in which to perform this operation at one time.

When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, CloudFormation sets the number as one instead.

Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, but not both.

" + } + }, + "documentation":"

The user-specified preferences for how AWS CloudFormation performs a stack set operation.

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" + }, + "StackSetOperationResultStatus":{ + "type":"string", + "enum":[ + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED", + "CANCELLED" + ] + }, + "StackSetOperationResultSummaries":{ + "type":"list", + "member":{"shape":"StackSetOperationResultSummary"} + }, + "StackSetOperationResultSummary":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

[Self-managed permissions] The name of the AWS account for this operation result.

" }, - "StackId":{ - "shape":"StackId", - "documentation":"

Unique identifier of the stack.

" + "Region":{ + "shape":"Region", + "documentation":"

The name of the AWS Region for this operation result.

" }, - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" + "Status":{ + "shape":"StackSetOperationResultStatus", + "documentation":"

The result status of the stack set operation for the given account in the given Region.

  • CANCELLED: The operation in the specified account and Region has been cancelled. This is either because a user has stopped the stack set operation, or because the failure tolerance of the stack set operation has been exceeded.

  • FAILED: The operation in the specified account and Region failed.

    If the stack set operation fails in enough accounts within a Region, the failure tolerance for the stack set operation as a whole might be exceeded.

  • RUNNING: The operation in the specified account and Region is currently in progress.

  • PENDING: The operation in the specified account and Region has yet to start.

  • SUCCEEDED: The operation in the specified account and Region completed successfully.

" }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

" + "StatusReason":{ + "shape":"Reason", + "documentation":"

The reason for the assigned result status.

" }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "AccountGateResult":{ + "shape":"AccountGateResult", + "documentation":"

The results of the account gate function AWS CloudFormation invokes, if present, before proceeding with stack set operations in an account

" }, - "LastUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

Reserved for internal use. No data returned.

" + } + }, + "documentation":"

The structure that contains information about a specified operation's results for a given account in a given Region.

" + }, + "StackSetOperationStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "FAILED", + "STOPPING", + "STOPPED", + "QUEUED" + ] + }, + "StackSetOperationSummaries":{ + "type":"list", + "member":{"shape":"StackSetOperationSummary"} + }, + "StackSetOperationSummary":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique ID of the stack set operation.

" }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" + "Action":{ + "shape":"StackSetOperationAction", + "documentation":"

The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations affect only the specified stack instances that are associated with the specified stack set. Update operations affect both the stack set itself as well as all associated stack set instances.

" }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" + "Status":{ + "shape":"StackSetOperationStatus", + "documentation":"

The overall status of the operation.

  • FAILED: The operation exceeded the specified failure tolerance. The failure tolerance value that you've set for an operation is applied for each Region during stack create and update operations. If the number of failed stacks within a Region exceeds the failure tolerance, the status of the operation in the Region is set to FAILED. This in turn sets the status of the operation as a whole to FAILED, and AWS CloudFormation cancels the operation in any remaining Regions.

  • QUEUED: [Service-managed permissions] For automatic deployments that require a sequence of operations, the operation is queued to be performed. For more information, see the stack set operation status codes in the AWS CloudFormation User Guide.

  • RUNNING: The operation is currently being performed.

  • STOPPED: The user has cancelled the operation.

  • STOPPING: The operation is in the process of stopping, at user request.

  • SUCCEEDED: The operation completed creating or updating all the specified stacks without exceeding the failure tolerance for the operation.

" }, - "Description":{ - "shape":"Description", - "documentation":"

User defined description associated with the resource.

" + "CreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time at which the operation was initiated. Note that the creation times for the stack set operation might differ from the creation time of the individual stacks themselves. This is because AWS CloudFormation needs to perform preparatory work for the operation, such as dispatching the work to the requested Regions, before actually creating the first stacks.

" }, - "Metadata":{ - "shape":"Metadata", - "documentation":"

The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

" + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time at which the stack set operation ended, across all accounts and Regions specified. Note that this doesn't necessarily mean that the stack set operation was successful, or even attempted, in each account or Region.

" } }, - "documentation":"

Contains detailed information about the specified stack resource.

" + "documentation":"

The structures that contain summary information about the specified operation.

" }, - "StackResourceSummaries":{ + "StackSetStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "DELETED" + ] + }, + "StackSetSummaries":{ "type":"list", - "member":{"shape":"StackResourceSummary"} + "member":{"shape":"StackSetSummary"} }, - "StackResourceSummary":{ + "StackSetSummary":{ "type":"structure", - "required":[ - "LogicalResourceId", - "ResourceType", - "LastUpdatedTimestamp", - "ResourceStatus" - ], "members":{ - "LogicalResourceId":{ - "shape":"LogicalResourceId", - "documentation":"

The logical name of the resource specified in the template.

" + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name of the stack set.

" }, - "PhysicalResourceId":{ - "shape":"PhysicalResourceId", - "documentation":"

The name or unique identifier that corresponds to a physical instance ID of the resource.

" + "StackSetId":{ + "shape":"StackSetId", + "documentation":"

The ID of the stack set.

" }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

" + "Description":{ + "shape":"Description", + "documentation":"

A description of the stack set that you specify when the stack set is created or updated.

" }, - "LastUpdatedTimestamp":{ - "shape":"Timestamp", - "documentation":"

Time the status was updated.

" + "Status":{ + "shape":"StackSetStatus", + "documentation":"

The status of the stack set.

" }, - "ResourceStatus":{ - "shape":"ResourceStatus", - "documentation":"

Current status of the resource.

" + "AutoDeployment":{ + "shape":"AutoDeployment", + "documentation":"

[Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organizational unit (OU).

" + }, + "PermissionModel":{ + "shape":"PermissionModels", + "documentation":"

Describes how the IAM roles required for stack set operations are created.

" + }, + "DriftStatus":{ + "shape":"StackDriftStatus", + "documentation":"

Status of the stack set's actual configuration compared to its expected template and parameter configuration. A stack set is considered to have drifted if one or more of its stack instances have drifted from their expected template and parameter configuration.

  • DRIFTED: One or more of the stack instances belonging to the stack set stack differs from the expected template and parameter configuration. A stack instance is considered to have drifted if one or more of the resources in the associated stack have drifted.

  • NOT_CHECKED: AWS CloudFormation has not checked the stack set for drift.

  • IN_SYNC: All of the stack instances belonging to the stack set stack match from the expected template and parameter configuration.

  • UNKNOWN: This value is reserved for future use.

" }, - "ResourceStatusReason":{ - "shape":"ResourceStatusReason", - "documentation":"

Success/failure message associated with the resource.

" + "LastDriftCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

Most recent time when CloudFormation performed a drift detection operation on the stack set. This value will be NULL for any stack set on which drift detection has not yet been performed.

" } }, - "documentation":"

Contains high-level information about the specified stack resource.

" - }, - "StackResources":{ - "type":"list", - "member":{"shape":"StackResource"} + "documentation":"

The structures that contain summary information about the specified stack set.

" }, "StackStatus":{ "type":"string", @@ -1984,7 +4784,12 @@ "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_ROLLBACK_COMPLETE", - "REVIEW_IN_PROGRESS" + "REVIEW_IN_PROGRESS", + "IMPORT_IN_PROGRESS", + "IMPORT_COMPLETE", + "IMPORT_ROLLBACK_IN_PROGRESS", + "IMPORT_ROLLBACK_FAILED", + "IMPORT_ROLLBACK_COMPLETE" ] }, "StackStatusFilter":{ @@ -2035,6 +4840,18 @@ "StackStatusReason":{ "shape":"StackStatusReason", "documentation":"

Success/Failure message associated with the stack status.

" + }, + "ParentId":{ + "shape":"StackId", + "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the direct parent of this stack. For the first level of nested stacks, the root stack is also the parent stack.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" + }, + "RootId":{ + "shape":"StackId", + "documentation":"

For nested stacks--stacks created as resources for another stack--the stack ID of the top-level stack to which the nested stack ultimately belongs.

For more information, see Working with Nested Stacks in the AWS CloudFormation User Guide.

" + }, + "DriftInformation":{ + "shape":"StackDriftInformationSummary", + "documentation":"

Summarizes information on whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

" } }, "documentation":"

The StackSummary Data Type

" @@ -2047,8 +4864,50 @@ "type":"list", "member":{"shape":"TemplateStage"} }, + "StaleRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Another operation has been performed on this stack set since the specified operation was performed.

", + "error":{ + "code":"StaleRequestException", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "StatusMessage":{ + "type":"string", + "max":1024 + }, + "StopStackSetOperationInput":{ + "type":"structure", + "required":[ + "StackSetName", + "OperationId" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to stop the operation for.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The ID of the stack operation.

" + } + } + }, + "StopStackSetOperationOutput":{ + "type":"structure", + "members":{ + } + }, "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ "Key":{ "shape":"TagKey", @@ -2061,11 +4920,20 @@ }, "documentation":"

The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.

" }, - "TagKey":{"type":"string"}, - "TagValue":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, "Tags":{ "type":"list", - "member":{"shape":"Tag"} + "member":{"shape":"Tag"}, + "max":50 }, "TemplateBody":{ "type":"string", @@ -2115,11 +4983,134 @@ "min":1 }, "Timestamp":{"type":"timestamp"}, + "TokenAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A client request token already exists.

", + "error":{ + "code":"TokenAlreadyExistsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TotalStackInstancesCount":{ + "type":"integer", + "min":0 + }, "TransformName":{"type":"string"}, "TransformsList":{ "type":"list", "member":{"shape":"TransformName"} }, + "Type":{"type":"string"}, + "TypeArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:([0-9]{12})?:type/.+" + }, + "TypeName":{ + "type":"string", + "max":196, + "min":10, + "pattern":"[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}" + }, + "TypeNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified type does not exist in the CloudFormation registry.

", + "error":{ + "code":"TypeNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "TypeSchema":{ + "type":"string", + "max":16777216, + "min":1 + }, + "TypeSummaries":{ + "type":"list", + "member":{"shape":"TypeSummary"} + }, + "TypeSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

" + }, + "DefaultVersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of the default version of the type. The default version is used when the type version is not specified.

To set the default version of a type, use SetTypeDefaultVersion .

" + }, + "TypeArn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

When the current default version of the type was registered.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the type.

" + } + }, + "documentation":"

Contains summary information about the specified CloudFormation type.

" + }, + "TypeVersionId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[A-Za-z0-9-]+" + }, + "TypeVersionSummaries":{ + "type":"list", + "member":{"shape":"TypeVersionSummary"} + }, + "TypeVersionSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RegistryType", + "documentation":"

The kind of type.

" + }, + "TypeName":{ + "shape":"TypeName", + "documentation":"

The name of the type.

" + }, + "VersionId":{ + "shape":"TypeVersionId", + "documentation":"

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

" + }, + "IsDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

Whether the specified type version is set as the default version.

" + }, + "Arn":{ + "shape":"TypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the type version.

" + }, + "TimeCreated":{ + "shape":"Timestamp", + "documentation":"

When the version was registered.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the type version.

" + } + }, + "documentation":"

Contains summary information about a specific version of a CloudFormation type.

" + }, "UpdateStackInput":{ "type":"structure", "required":["StackName"], @@ -2130,15 +5121,15 @@ }, "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but not both.

" + "documentation":"

Location of file containing the template body. The URL must point to a template that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "UsePreviousTemplate":{ "shape":"UsePreviousTemplate", - "documentation":"

Reuse the existing template that is associated with the stack that you are updating.

" + "documentation":"

Reuse the existing template that is associated with the stack that you are updating.

Conditional: You must specify only one of the following parameters: TemplateBody, TemplateURL, or set the UsePreviousTemplate to true.

" }, "StackPolicyDuringUpdateBody":{ "shape":"StackPolicyDuringUpdateBody", @@ -2146,31 +5137,35 @@ }, "StackPolicyDuringUpdateURL":{ "shape":"StackPolicyDuringUpdateURL", - "documentation":"

Location of a file containing the temporary overriding stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both.

If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.

" + "documentation":"

Location of a file containing the temporary overriding stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can specify either the StackPolicyDuringUpdateBody or the StackPolicyDuringUpdateURL parameter, but not both.

If you want to update protected resources, specify a temporary overriding stack policy during this update. If you do not specify a stack policy, the current policy that is associated with the stack will be used.

" }, "Parameters":{ "shape":"Parameters", - "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" + "documentation":"

A list of Parameter structures that specify input parameters for the stack. For more information, see the Parameter data type.

" }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM. The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM. If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some template contain macros. Macros perform custom processing on templates; this can include simple actions like find-and-replace operations, all the way to extensive transformations of entire templates. Because of this, users typically create a change set from the processed template, so that they can review the changes resulting from the macros before actually updating the stack. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.

    Change sets do not currently support nested stacks. If you want to update a stack from a stack template that contains macros and nested stacks, you must update the stack directly from the template using this capability.

    You should only update stacks directly from a stack template that contains macros if you know what processing the macro performs.

    Each macro relies on an underlying Lambda service function for processing stack templates. Be aware that the Lambda function owner can update the function operation without AWS CloudFormation being notified.

    For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

" }, "ResourceTypes":{ "shape":"ResourceTypes", - "documentation":"

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" + "documentation":"

The template resource types that you have permissions to work with for this update stack action, such as AWS::EC2::Instance, AWS::EC2::*, or Custom::MyCustomInstance.

If the list of resource types doesn't include a resource that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for AWS CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with AWS Identity and Access Management.

" }, "RoleARN":{ "shape":"RoleARN", "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to update the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

" }, + "RollbackConfiguration":{ + "shape":"RollbackConfiguration", + "documentation":"

The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

" + }, "StackPolicyBody":{ "shape":"StackPolicyBody", "documentation":"

Structure containing a new stack policy body. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.

" }, "StackPolicyURL":{ "shape":"StackPolicyURL", - "documentation":"

Location of a file containing the updated stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.

" + "documentation":"

Location of a file containing the updated stack policy. The URL must point to a policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can specify either the StackPolicyBody or the StackPolicyURL parameter, but not both.

You might update the stack policy, for example, in order to protect a new resource that you created during a stack update. If you do not specify a stack policy, the current policy that is associated with the stack is unchanged.

" }, "NotificationARNs":{ "shape":"NotificationARNs", @@ -2178,11 +5173,62 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 10 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

" + "documentation":"

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to supported resources in the stack. You can specify a maximum number of 50 tags.

If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags. If you specify an empty value, AWS CloudFormation removes all associated tags.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique identifier for this UpdateStack request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to update a stack with the same name. You might retry UpdateStack requests to ensure that AWS CloudFormation successfully received them.

All events triggered by a given stack operation are assigned the same client request token, which you can use to track operations. For example, if you execute a CreateStack operation with the token token1, then all the StackEvents generated by that operation will have ClientRequestToken set as token1.

In the console, stack operations display the client request token on the Events tab. Stack operations that are initiated from the console use the token format Console-StackOperation-ID, which helps you easily identify the stack operation . For example, if you create a stack using the console, each stack event would be assigned the same token in the following format: Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" } }, "documentation":"

The input for an UpdateStack action.

" }, + "UpdateStackInstancesInput":{ + "type":"structure", + "required":[ + "StackSetName", + "Regions" + ], + "members":{ + "StackSetName":{ + "shape":"StackSetNameOrId", + "documentation":"

The name or unique ID of the stack set associated with the stack instances.

" + }, + "Accounts":{ + "shape":"AccountList", + "documentation":"

[Self-managed permissions] The names of one or more AWS accounts for which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and Regions.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "DeploymentTargets":{ + "shape":"DeploymentTargets", + "documentation":"

[Service-managed permissions] The AWS Organizations accounts for which you want to update parameter values for stack instances. If your update targets OUs, the overridden parameter values only apply to the accounts that are currently in the target OUs and their child OUs. Accounts added to the target OUs and their child OUs in the future won't use the overridden values.

You can specify Accounts or DeploymentTargets, but not both.

" + }, + "Regions":{ + "shape":"RegionList", + "documentation":"

The names of one or more Regions in which you want to update parameter values for stack instances. The overridden parameter values will be applied to all stack instances in the specified accounts and Regions.

" + }, + "ParameterOverrides":{ + "shape":"Parameters", + "documentation":"

A list of input parameters whose values you want to update for the specified stack instances.

Any overridden parameter values will be applied to all stack instances in the specified accounts and Regions. When specifying parameters and their values, be aware of how AWS CloudFormation sets parameter values during stack instance update operations:

  • To override the current value for a parameter, include the parameter and specify its value.

  • To leave a parameter set to its present value, you can do one of the following:

    • Do not include the parameter in the list.

    • Include the parameter and specify UsePreviousValue as true. (You cannot specify both a value and set UsePreviousValue to true.)

  • To set all overridden parameter back to the values specified in the stack set, specify a parameter list but do not include any parameters.

  • To leave all parameters set to their present values, do not specify this property at all.

During stack set updates, any parameter values overridden for a stack instance are not updated, but retain their overridden value.

You can only override the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances.

" + }, + "OperationPreferences":{ + "shape":"StackSetOperationPreferences", + "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, the SDK generates one automatically.

", + "idempotencyToken":true + } + } + }, + "UpdateStackInstancesOutput":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique identifier for this stack set operation.

" + } + } + }, "UpdateStackOutput":{ "type":"structure", "members":{ @@ -2193,6 +5239,116 @@ }, "documentation":"

The output for an UpdateStack action.

" }, + "UpdateStackSetInput":{ + "type":"structure", + "required":["StackSetName"], + "members":{ + "StackSetName":{ + "shape":"StackSetName", + "documentation":"

The name or unique ID of the stack set that you want to update.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A brief description of updates that you are making.

" + }, + "TemplateBody":{ + "shape":"TemplateBody", + "documentation":"

The structure that contains the template body, with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" + }, + "TemplateURL":{ + "shape":"TemplateURL", + "documentation":"

The location of the file that contains the template body. The URL must point to a template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" + }, + "UsePreviousTemplate":{ + "shape":"UsePreviousTemplate", + "documentation":"

Use the existing template that's associated with the stack set that you're updating.

Conditional: You must specify only one of the following parameters: TemplateBody or TemplateURL—or set UsePreviousTemplate to true.

" + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

A list of input parameters for the stack set template.

" + }, + "Capabilities":{ + "shape":"Capabilities", + "documentation":"

In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to update the stack set and its associated stack instances.

  • CAPABILITY_IAM and CAPABILITY_NAMED_IAM

    Some stack templates might include resources that can affect permissions in your AWS account; for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks sets, you must explicitly acknowledge this by specifying one of these capabilities.

    The following IAM resources require you to specify either the CAPABILITY_IAM or CAPABILITY_NAMED_IAM capability.

    • If you have IAM resources, you can specify either capability.

    • If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

    • If you don't specify either of these capabilities, AWS CloudFormation returns an InsufficientCapabilities error.

    If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

    For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • CAPABILITY_AUTO_EXPAND

    Some templates contain macros. If your stack template contains one or more macros, and you choose to update a stack directly from the processed template, without first reviewing the resulting changes in a change set, you must acknowledge this capability. For more information, see Using AWS CloudFormation Macros to Perform Custom Processing on Templates.

    Stack sets do not currently support macros in stack templates. (This includes the AWS::Include and AWS::Serverless transforms, which are macros hosted by AWS CloudFormation.) Even if you specify this capability, if you include a macro in your template the stack set operation will fail.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value pairs to associate with this stack set and the stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the stacks. You can specify a maximum number of 50 tags.

If you specify tags for this parameter, those tags replace any list of tags that are currently associated with this stack set. This means:

  • If you don't specify this parameter, AWS CloudFormation doesn't modify the stack's tags.

  • If you specify any tags using this parameter, you must specify all the tags that you want associated with this stack set, even tags you've specifed before (for example, when creating the stack set or during a previous update of the stack set.). Any tags that you don't include in the updated list of tags are removed from the stack set, and therefore from the stacks and resources as well.

  • If you specify an empty value, AWS CloudFormation removes all currently associated tags.

If you specify new tags as part of an UpdateStackSet action, AWS CloudFormation checks to see if you have the required IAM permission to tag resources. If you omit tags that are currently associated with the stack set from the list of tags you specify, AWS CloudFormation assumes that you want to remove those tags from the stack set, and checks to see if you have permission to untag resources. If you don't have the necessary permission(s), the entire UpdateStackSet action fails with an access denied error, and the stack set is not updated.

" + }, + "OperationPreferences":{ + "shape":"StackSetOperationPreferences", + "documentation":"

Preferences for how AWS CloudFormation performs this stack set operation.

" + }, + "AdministrationRoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

Specify an IAM role only if you are using customized administrator roles to control which users or groups can manage specific stack sets within the same administrator account. For more information, see Granting Permissions for Stack Set Operations in the AWS CloudFormation User Guide.

If you specified a customized administrator role when you created the stack set, you must specify a customized administrator role, even if it is the same customized administrator role used with this stack set previously.

" + }, + "ExecutionRoleName":{ + "shape":"ExecutionRoleName", + "documentation":"

The name of the IAM execution role to use to update the stack set. If you do not specify an execution role, AWS CloudFormation uses the AWSCloudFormationStackSetExecutionRole role for the stack set operation.

Specify an IAM role only if you are using customized execution roles to control which stack resources users and groups can include in their stack sets.

If you specify a customized execution role, AWS CloudFormation uses that role to update the stack. If you do not specify a customized execution role, AWS CloudFormation performs the update using the role previously associated with the stack set, so long as you have permissions to perform operations on the stack set.

" + }, + "DeploymentTargets":{ + "shape":"DeploymentTargets", + "documentation":"

[Service-managed permissions] The AWS Organizations accounts in which to update associated stack instances.

To update all the stack instances associated with this stack set, do not specify DeploymentTargets or Regions.

If the stack set update includes changes to the template (that is, if TemplateBody or TemplateURL is specified), or the Parameters, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

" + }, + "PermissionModel":{ + "shape":"PermissionModels", + "documentation":"

Describes how the IAM roles required for stack set operations are created. You cannot modify PermissionModel if there are stack instances associated with your stack set.

" + }, + "AutoDeployment":{ + "shape":"AutoDeployment", + "documentation":"

[Service-managed permissions] Describes whether StackSets automatically deploys to AWS Organizations accounts that are added to a target organization or organizational unit (OU).

If you specify AutoDeployment, do not specify DeploymentTargets or Regions.

" + }, + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique ID for this stack set operation.

The operation ID also functions as an idempotency token, to ensure that AWS CloudFormation performs the stack set operation only once, even if you retry the request multiple times. You might retry stack set operation requests to ensure that AWS CloudFormation successfully received them.

If you don't specify an operation ID, AWS CloudFormation generates one automatically.

Repeating this stack set operation with a new operation ID retries all stack instances whose status is OUTDATED.

", + "idempotencyToken":true + }, + "Accounts":{ + "shape":"AccountList", + "documentation":"

[Self-managed permissions] The accounts in which to update associated stack instances. If you specify accounts, you must also specify the Regions in which to update stack set instances.

To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties.

If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

" + }, + "Regions":{ + "shape":"RegionList", + "documentation":"

The Regions in which to update associated stack instances. If you specify Regions, you must also specify accounts in which to update stack set instances.

To update all the stack instances associated with this stack set, do not specify the Accounts or Regions properties.

If the stack set update includes changes to the template (that is, if the TemplateBody or TemplateURL properties are specified), or the Parameters property, AWS CloudFormation marks all stack instances with a status of OUTDATED prior to updating the stack instances in the specified accounts and Regions. If the stack set update does not include changes to the template or parameters, AWS CloudFormation updates the stack instances in the specified accounts and Regions, while leaving all other stack instances with their existing stack instance status.

" + } + } + }, + "UpdateStackSetOutput":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"ClientRequestToken", + "documentation":"

The unique ID for this stack set operation.

" + } + } + }, + "UpdateTerminationProtectionInput":{ + "type":"structure", + "required":[ + "EnableTerminationProtection", + "StackName" + ], + "members":{ + "EnableTerminationProtection":{ + "shape":"EnableTerminationProtection", + "documentation":"

Whether to enable termination protection on the specified stack.

" + }, + "StackName":{ + "shape":"StackNameOrId", + "documentation":"

The name or unique ID of the stack for which you want to set termination protection.

" + } + } + }, + "UpdateTerminationProtectionOutput":{ + "type":"structure", + "members":{ + "StackId":{ + "shape":"StackId", + "documentation":"

The unique ID of the stack.

" + } + } + }, "Url":{"type":"string"}, "UsePreviousTemplate":{"type":"boolean"}, "UsePreviousValue":{"type":"boolean"}, @@ -2201,11 +5357,11 @@ "members":{ "TemplateBody":{ "shape":"TemplateBody", - "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" }, "TemplateURL":{ "shape":"TemplateURL", - "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" + "documentation":"

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody. If both are passed, only TemplateBody is used.

" } }, "documentation":"

The input for ValidateTemplate action.

" @@ -2223,7 +5379,7 @@ }, "Capabilities":{ "shape":"Capabilities", - "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" + "documentation":"

The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

" }, "CapabilitiesReason":{ "shape":"CapabilitiesReason", @@ -2231,12 +5387,20 @@ }, "DeclaredTransforms":{ "shape":"TransformsList", - "documentation":"

A list of the transforms that have been declared in the template.

" + "documentation":"

A list of the transforms that are declared in the template.

" } }, "documentation":"

The output for ValidateTemplate action.

" }, - "Version":{"type":"string"} + "Value":{"type":"string"}, + "Version":{"type":"string"}, + "Visibility":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE" + ] + } }, - "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at http://docs.aws.amazon.com/.

" + "documentation":"AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com.

" } diff -Nru python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudformation/2010-05-15/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudformation/2010-05-15/waiters-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -104,13 +104,19 @@ }, { "argument": "Stacks[].StackStatus", + "expected": "UPDATE_ROLLBACK_IN_PROGRESS", + "matcher": "pathAny", + "state": "failure" + }, + { + "argument": "Stacks[].StackStatus", "expected": "UPDATE_ROLLBACK_FAILED", "matcher": "pathAny", "state": "failure" }, { "argument": "Stacks[].StackStatus", - "expected": "UPDATE_ROLLBACK_IN_PROGRESS", + "expected": "UPDATE_ROLLBACK_COMPLETE", "matcher": "pathAny", "state": "failure" } @@ -152,6 +158,137 @@ "state": "failure" } ] + }, + "StackImportComplete": { + "delay": 30, + "maxAttempts": 120, + "operation": "DescribeStacks", + "description": "Wait until stack status is IMPORT_COMPLETE.", + "acceptors": [ + { + "argument": "Stacks[].StackStatus", + "expected": "IMPORT_COMPLETE", + "matcher": "pathAll", + "state": "success" + }, + { + "expected": "ROLLBACK_COMPLETE", + "matcher": "pathAny", + "state": "failure", + "argument": "Stacks[].StackStatus" + }, + { + "expected": "ROLLBACK_FAILED", + "matcher": "pathAny", + "state": "failure", + "argument": "Stacks[].StackStatus" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "IMPORT_ROLLBACK_IN_PROGRESS", + "matcher": "pathAny", + "state": "failure" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "IMPORT_ROLLBACK_FAILED", + "matcher": "pathAny", + "state": "failure" + }, + { + "expected": "IMPORT_ROLLBACK_COMPLETE", + "matcher": "pathAny", + "state": "failure", + "argument": "Stacks[].StackStatus" + }, + { + "expected": "ValidationError", + "matcher": "error", + "state": "failure" + } + ] + }, + "StackRollbackComplete": { + "delay": 30, + "operation": "DescribeStacks", + "maxAttempts": 120, + "description": "Wait until stack status is UPDATE_ROLLBACK_COMPLETE.", + "acceptors": [ + { + "argument": "Stacks[].StackStatus", + "expected": "UPDATE_ROLLBACK_COMPLETE", + "matcher": "pathAll", + "state": "success" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "UPDATE_FAILED", + "matcher": "pathAny", + "state": "failure" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "UPDATE_ROLLBACK_FAILED", + "matcher": "pathAny", + "state": "failure" + }, + { + "argument": "Stacks[].StackStatus", + "expected": "DELETE_FAILED", + "matcher": "pathAny", + "state": "failure" + }, + { + "expected": "ValidationError", + "matcher": "error", + "state": "failure" + } + ] + }, + "ChangeSetCreateComplete": { + "delay": 30, + "operation": "DescribeChangeSet", + "maxAttempts": 120, + "description": "Wait until change set status is CREATE_COMPLETE.", + "acceptors": [ + { + "argument": "Status", + "expected": "CREATE_COMPLETE", + "matcher": "path", + "state": "success" + }, + { + "argument": "Status", + "expected": "FAILED", + "matcher": "path", + "state": "failure" + }, + { + "expected": "ValidationError", + "matcher": "error", + "state": "failure" + } + ] + }, + "TypeRegistrationComplete": { + "delay": 30, + "operation": "DescribeTypeRegistration", + "maxAttempts": 120, + "description": "Wait until type registration is COMPLETE.", + "acceptors": [ + { + "argument": "ProgressStatus", + "expected": "COMPLETE", + "matcher": "path", + "state": "success" + }, + { + "argument": "ProgressStatus", + "expected": "FAILED", + "matcher": "path", + "state": "failure" + } + ] } } } diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2014-05-31/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-05-31/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2014-05-31/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-05-31/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "globalEndpoint":"cloudfront.amazonaws.com", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4", "protocol":"rest-xml" }, diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2014-10-21/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-10-21/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2014-10-21/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-10-21/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "globalEndpoint":"cloudfront.amazonaws.com", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4", "protocol":"rest-xml" }, diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2014-11-06/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-11-06/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2014-11-06/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2014-11-06/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "globalEndpoint":"cloudfront.amazonaws.com", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4", "protocol":"rest-xml" }, diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2015-04-17/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-04-17/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2015-04-17/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-04-17/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "globalEndpoint":"cloudfront.amazonaws.com", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4", "protocol":"rest-xml" }, diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2015-07-27/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-07-27/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2015-07-27/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-07-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "globalEndpoint":"cloudfront.amazonaws.com", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4", "protocol":"rest-xml" }, diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2015-09-17/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-09-17/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2015-09-17/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2015-09-17/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-01-13/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-01-13/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-01-13/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-01-13/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-01-28/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-01-28/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-01-28/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-01-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-08-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-08-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-08-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-08-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-08-20/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-08-20/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-08-20/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-08-20/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-09-07/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-09-07/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-09-07/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-09-07/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-09-29/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-09-29/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-09-29/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-09-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,6 +7,7 @@ "protocol":"rest-xml", "serviceAbbreviation":"CloudFront", "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", "signatureVersion":"v4" }, "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3578 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-25", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2016-11-25" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2016_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"} + ], + "documentation":"

Creates a new web distribution. Send a GET request to the /CloudFront API version/distribution/distribution ID resource.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2016_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2016_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"DELETE", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"DELETE", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"DELETE", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2016_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2016_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2016_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2016_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2016_11_25", + "http":{ + "method":"GET", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"POST", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"PUT", + "requestUri":"/2016-11-25/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_11_25", + "http":{ + "method":"PUT", + "requestUri":"/2016-11-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"} + ], + "documentation":"

Update a distribution.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2016_11_25", + "http":{ + "method":"PUT", + "requestUri":"/2016-11-25/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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + } + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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-11-25/"} + } + }, + "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-11-25/"} + } + }, + "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-11-25/"} + } + }, + "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-11-25/"} + } + }, + "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-11-25/"} + } + }, + "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-11-25/"} + } + }, + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + } + }, + "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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you do not want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    If you configure CloudFront to forward all headers to your origin, CloudFront doesn't cache the objects associated with this cache behavior. Instead, it sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want to forward, and specify the header names in Name elements. CloudFront caches your objects based on the values in all of the specified headers. CloudFront also forwards the headers that it forwards by default, but it caches your objects based only on the headers that you specify.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

" + }, + "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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "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.

" + }, + "LambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "LambdaFunctionARN":{ + "shape":"string", + "documentation":"

The ARN of the Lambda function.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. Valid values are:

  • viewer-request

  • origin-request

  • viewer-response

  • origin-response

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, do not specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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-11-25/"} + } + }, + "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 + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "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-11-25/"} + } + }, + "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-11-25/"} + }, + "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-11-25/"} + }, + "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-11-25/"} + }, + "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"}, + "IAMCertificateId":{"shape":"string"}, + "ACMCertificateArn":{"shape":"string"}, + "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:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you must request permission to use this feature, and you incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

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:

  • If you specify <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>, the minimum SSL protocol version is TLSv1 and can't be changed.

  • If you're using a custom certificate (if you specify a value for ACMCertificateArn or for IAMCertificateId) and if you're using SNI (if you specify sni-only for SSLSupportMethod), you must specify TLSv1 for MinimumProtocolVersion.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

Include one of these values to specify the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

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:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

    If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

    • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

    • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

    You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

    • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

    • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

    For more information, see Using Alternate Domain Names and HTTPS in the Amazon CloudFront Developer Guide.

", + "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:

  • Which SSL/TLS certificate to use when viewers request objects using HTTPS

  • Whether you want CloudFront to use dedicated IP addresses or SNI when you're using alternate domain names in your object names

  • The minimum protocol version that you want CloudFront to use when communicating with viewers

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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2016-11-25/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2016-11-25/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3654 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-25", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2017-03-25" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"CreateDistribution2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"} + ], + "documentation":"

Creates a new web distribution. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"CreateStreamingDistribution2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"CreateStreamingDistributionWithTags2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"DeleteCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/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":"DeleteDistribution2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteServiceLinkedRole":{ + "name":"DeleteServiceLinkedRole2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/service-linked-role/{RoleName}", + "responseCode":204 + }, + "input":{"shape":"DeleteServiceLinkedRoleRequest"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"AccessDenied"}, + {"shape":"ResourceInUse"}, + {"shape":"NoSuchResource"} + ] + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2017_03_25", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-25/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":"GetCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"GetCloudFrontOriginAccessIdentityConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"GetDistribution2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"GetStreamingDistribution2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"GetStreamingDistributionConfig2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"ListCloudFrontOriginAccessIdentities2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"ListInvalidations2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2017_03_25", + "http":{ + "method":"GET", + "requestUri":"/2017-03-25/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":"TagResource2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"UntagResource2017_03_25", + "http":{ + "method":"POST", + "requestUri":"/2017-03-25/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":"UpdateCloudFrontOriginAccessIdentity2017_03_25", + "http":{ + "method":"PUT", + "requestUri":"/2017-03-25/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":"UpdateDistribution2017_03_25", + "http":{ + "method":"PUT", + "requestUri":"/2017-03-25/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"} + ], + "documentation":"

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    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 distribution. 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 you're actually specifying.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2017_03_25", + "http":{ + "method":"PUT", + "requestUri":"/2017-03-25/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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + } + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + } + }, + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you don't 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.

" + }, + "DeleteServiceLinkedRoleRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{ + "shape":"string", + "location":"uri", + "locationName":"RoleName" + } + } + }, + "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, d111111abcdef8.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. Don't 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 don't 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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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":"

From this field, you can enable or disable the selected distribution.

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, don't 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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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, d111111abcdef8.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 don't 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" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "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 base caching on 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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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 on 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 base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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 don't 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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "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 + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "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.

" + }, + "LambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "LambdaFunctionARN":{ + "shape":"string", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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 don't 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 don't 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 don't 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", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "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:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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]+:.*" + }, + "ResourceInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "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:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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, d111111abcdef8.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 don't 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 don't 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/2017-03-25/"} + } + }, + "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 + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "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 don't 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/2017-03-25/"} + } + }, + "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/2017-03-25/"} + }, + "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/2017-03-25/"} + }, + "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/2017-03-25/"} + }, + "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":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$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:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't 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 security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS 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:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the 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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-03-25/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-03-25/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -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": 30, + "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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5187 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-30", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2017-10-30" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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":"CreateDistribution2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Creates a new web distribution. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateFieldLevelEncryptionConfig":{ + "name":"CreateFieldLevelEncryptionConfig2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/field-level-encryption", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, + {"shape":"TooManyFieldLevelEncryptionConfigs"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Create a new field-level encryption configuration.

" + }, + "CreateFieldLevelEncryptionProfile":{ + "name":"CreateFieldLevelEncryptionProfile2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/field-level-encryption-profile", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionProfiles"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Create a field-level encryption profile.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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.

" + }, + "CreatePublicKey":{ + "name":"CreatePublicKey2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/public-key", + "responseCode":201 + }, + "input":{"shape":"CreatePublicKeyRequest"}, + "output":{"shape":"CreatePublicKeyResult"}, + "errors":[ + {"shape":"PublicKeyAlreadyExists"}, + {"shape":"InvalidArgument"}, + {"shape":"TooManyPublicKeys"} + ], + "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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":"CreateStreamingDistributionWithTags2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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":"DeleteCloudFrontOriginAccessIdentity2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/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":"DeleteDistribution2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/field-level-encryption/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ], + "documentation":"

Remove a field-level encryption configuration.

" + }, + "DeleteFieldLevelEncryptionProfile":{ + "name":"DeleteFieldLevelEncryptionProfile2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileInUse"} + ], + "documentation":"

Remove a field-level encryption profile.

" + }, + "DeletePublicKey":{ + "name":"DeletePublicKey2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/public-key/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeletePublicKeyRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"PublicKeyInUse"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Remove a public key you previously added to CloudFront.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2017_10_30", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-30/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":"GetCloudFrontOriginAccessIdentity2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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":"GetCloudFrontOriginAccessIdentityConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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":"GetDistribution2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetFieldLevelEncryption":{ + "name":"GetFieldLevelEncryption2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionRequest"}, + "output":{"shape":"GetFieldLevelEncryptionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionConfig":{ + "name":"GetFieldLevelEncryptionConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionProfile":{ + "name":"GetFieldLevelEncryptionProfile2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile information.

" + }, + "GetFieldLevelEncryptionProfileConfig":{ + "name":"GetFieldLevelEncryptionProfileConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile configuration information.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/public-key/{Id}" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Get the public key information.

" + }, + "GetPublicKeyConfig":{ + "name":"GetPublicKeyConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/public-key/{Id}/config" + }, + "input":{"shape":"GetPublicKeyConfigRequest"}, + "output":{"shape":"GetPublicKeyConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Return public key configuration informaation

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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":"GetStreamingDistributionConfig2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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":"ListCloudFrontOriginAccessIdentities2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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.

" + }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" + }, + "ListFieldLevelEncryptionProfiles":{ + "name":"ListFieldLevelEncryptionProfiles2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/field-level-encryption-profile" + }, + "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, + "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListPublicKeys":{ + "name":"ListPublicKeys2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all public keys that have been added to CloudFront for this account.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2017_10_30", + "http":{ + "method":"GET", + "requestUri":"/2017-10-30/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":"TagResource2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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":"UntagResource2017_10_30", + "http":{ + "method":"POST", + "requestUri":"/2017-10-30/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":"UpdateCloudFrontOriginAccessIdentity2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/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":"UpdateDistribution2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Updates the configuration for a web distribution. Perform the following steps.

For information about updating a distribution using the CloudFront console, see Creating or Updating a Web Distribution Using the CloudFront Console in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you need to get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include the desired changes. You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into the existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

    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 distribution. 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 you're actually specifying.

" + }, + "UpdateFieldLevelEncryptionConfig":{ + "name":"UpdateFieldLevelEncryptionConfig2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/field-level-encryption/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Update a field-level encryption configuration.

" + }, + "UpdateFieldLevelEncryptionProfile":{ + "name":"UpdateFieldLevelEncryptionProfile2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Update a field-level encryption profile.

" + }, + "UpdatePublicKey":{ + "name":"UpdatePublicKey2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/public-key/{Id}/config" + }, + "input":{"shape":"UpdatePublicKeyRequest"}, + "output":{"shape":"UpdatePublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CannotChangeImmutablePublicKeyFields"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"IllegalUpdate"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Update public key information. Note that the only value you can change is the comment.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2017_10_30", + "http":{ + "method":"PUT", + "requestUri":"/2017-10-30/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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{"shape":"string"} + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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.

" + }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You can't change the value of a public key.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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" + } + }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{ + "shape":"Format", + "documentation":"

The format for a field-level encryption content type-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" + }, + "ContentType":{ + "shape":"string", + "documentation":"

The content type for a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

A field-level encryption content type profile.

" + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{ + "shape":"boolean", + "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" + }, + "ContentTypeProfiles":{ + "shape":"ContentTypeProfiles", + "documentation":"

The configuration for a field-level encryption content type-profile.

" + } + }, + "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption content type-profile mappings.

" + }, + "Items":{ + "shape":"ContentTypeProfileList", + "documentation":"

Items in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Field-level encryption content type-profile.

" + }, + "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/2017-10-30/"} + } + }, + "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/2017-10-30/"} + } + }, + "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/2017-10-30/"} + } + }, + "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" + }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

The request to create a new field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Returned when you create a new field-level encryption configuration.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

The request to create a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Returned when you create a new field-level encryption profile.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "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/2017-10-30/"} + } + }, + "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" + }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

The request to add a public key to CloudFront.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Returned when you add a public key.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2017-10-30/"} + } + }, + "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/2017-10-30/"} + } + }, + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{"shape":"string"} + }, + "documentation":"

A complex type that describes the default cache behavior if you don't 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.

" + }, + "DeleteFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeletePublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the public key you want to remove from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "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, d111111abcdef8.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. Don't 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 don't 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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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":"

From this field, you can enable or disable the selected distribution.

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, don't 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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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, d111111abcdef8.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 don't 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" + } + }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" + }, + "Items":{ + "shape":"EncryptionEntityList", + "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{ + "shape":"string", + "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" + }, + "ProviderId":{ + "shape":"string", + "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" + }, + "FieldPatterns":{ + "shape":"FieldPatterns", + "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption configuration was changed.

" + }, + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the configuration.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of elements you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption items.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionSummaryList", + "documentation":"

An array of field-level encryption items.

" + } + }, + "documentation":"

List of field-level encrpytion configurations.

" + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption profile was updated.

" + }, + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" + } + }, + "documentation":"

A complex data type for field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{ + "shape":"string", + "documentation":"

Profile name for the field-level encryption profile.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + } + }, + "documentation":"

A complex data type of profiles for the field-level encryption.

" + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption profiles.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionProfileSummaryList", + "documentation":"

The field-level encryption profile items.

" + } + }, + "documentation":"

List of field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for the field-level encryption profile summary.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The time when the the field-level encryption profile summary was last updated.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for the field-level encryption profile summary.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile summary.

" + } + }, + "documentation":"

The field-level encryption profile summary.

" + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID of a field-level encryption item.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time that the summary of field-level encryption items was modified.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the field-level encryption item.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A summary of a query argument-profile mapping.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A summary of a content type-profile mapping.

" + } + }, + "documentation":"

A summary of a field-level encryption item.

" + }, + "FieldLevelEncryptionSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionSummary", + "locationName":"FieldLevelEncryptionSummary" + } + }, + "FieldPatternList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"FieldPattern" + } + }, + "FieldPatterns":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption field patterns.

" + }, + "Items":{ + "shape":"FieldPatternList", + "documentation":"

An array of the field-level encryption field patterns.

" + } + }, + "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, + "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 base caching on 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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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 on 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" + }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Return the field-level encryption profile configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the field-level encryption profile information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "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" + }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key configuration.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Return the result for the public key configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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 base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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" + ] + }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 don't 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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "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 + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "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.

" + }, + "LambdaFunctionARN":{"type":"string"}, + "LambdaFunctionAssociation":{ + "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], + "members":{ + "LambdaFunctionARN":{ + "shape":"LambdaFunctionARN", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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" + }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations 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 configuration on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{ + "shape":"FieldLevelEncryptionList", + "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles 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 profile on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{ + "shape":"FieldLevelEncryptionProfileList", + "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionProfileList" + }, + "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" + }, + "ListPublicKeysRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys 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 public key on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of public keys you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListPublicKeysResult":{ + "type":"structure", + "members":{ + "PublicKeyList":{ + "shape":"PublicKeyList", + "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "payload":"PublicKeyList" + }, + "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 don't 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 don't 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 don't 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", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "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 + }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption doesn't 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 + }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key doesn't exist.

", + "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:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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" + ] + }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

A time you added a public key to CloudFront.

" + }, + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Name":{ + "shape":"string", + "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about a public key.

" + } + }, + "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of public keys you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" + }, + "Items":{ + "shape":"PublicKeySummaryList", + "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for public key information summary.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for public key information summary.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

Creation time for public key information summary.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

Encoded key for public key information summary.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Comment for public key information summary.

" + } + }, + "documentation":"

Public key information summary.

" + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{ + "shape":"string", + "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{ + "shape":"boolean", + "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" + }, + "QueryArgProfiles":{ + "shape":"QueryArgProfiles", + "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No profile specified for the field-level encryption query argument.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" + }, + "Items":{ + "shape":"QueryArgProfileList", + "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "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:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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, d111111abcdef8.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 don't 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 don't 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/2017-10-30/"} + } + }, + "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 + }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of configurations for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "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 + }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", + "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 don't 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/2017-10-30/"} + } + }, + "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/2017-10-30/"} + }, + "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/2017-10-30/"} + }, + "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" + }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Request to update a field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to update.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the results of updating the configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Request to update a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the field-level encryption profile request.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the results of updating the profile.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The result of the field-level encryption profile request.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Request to update public key information.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2017-10-30/"} + }, + "Id":{ + "shape":"string", + "documentation":"

ID of the public key to be updated.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the results of updating the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2017-10-30/"} + }, + "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":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$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:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't 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 security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS 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:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the 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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2017-10-30/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2017-10-30/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -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": 30, + "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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5197 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-18", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2018-06-18" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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":"CreateDistribution2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

If you are using Adobe Flash Media Server's RTMP protocol, you set up a different kind of CloudFront distribution. For more information, see CreateStreamingDistribution.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateFieldLevelEncryptionConfig":{ + "name":"CreateFieldLevelEncryptionConfig2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/field-level-encryption", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, + {"shape":"TooManyFieldLevelEncryptionConfigs"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Create a new field-level encryption configuration.

" + }, + "CreateFieldLevelEncryptionProfile":{ + "name":"CreateFieldLevelEncryptionProfile2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/field-level-encryption-profile", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionProfiles"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Create a field-level encryption profile.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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.

" + }, + "CreatePublicKey":{ + "name":"CreatePublicKey2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/public-key", + "responseCode":201 + }, + "input":{"shape":"CreatePublicKeyRequest"}, + "output":{"shape":"CreatePublicKeyResult"}, + "errors":[ + {"shape":"PublicKeyAlreadyExists"}, + {"shape":"InvalidArgument"}, + {"shape":"TooManyPublicKeys"} + ], + "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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":"CreateStreamingDistributionWithTags2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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":"DeleteCloudFrontOriginAccessIdentity2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/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":"DeleteDistribution2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/field-level-encryption/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ], + "documentation":"

Remove a field-level encryption configuration.

" + }, + "DeleteFieldLevelEncryptionProfile":{ + "name":"DeleteFieldLevelEncryptionProfile2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileInUse"} + ], + "documentation":"

Remove a field-level encryption profile.

" + }, + "DeletePublicKey":{ + "name":"DeletePublicKey2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/public-key/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeletePublicKeyRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"PublicKeyInUse"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Remove a public key you previously added to CloudFront.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2018_06_18", + "http":{ + "method":"DELETE", + "requestUri":"/2018-06-18/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":"GetCloudFrontOriginAccessIdentity2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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":"GetCloudFrontOriginAccessIdentityConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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":"GetDistribution2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetFieldLevelEncryption":{ + "name":"GetFieldLevelEncryption2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionRequest"}, + "output":{"shape":"GetFieldLevelEncryptionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionConfig":{ + "name":"GetFieldLevelEncryptionConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionProfile":{ + "name":"GetFieldLevelEncryptionProfile2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile information.

" + }, + "GetFieldLevelEncryptionProfileConfig":{ + "name":"GetFieldLevelEncryptionProfileConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile configuration information.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/public-key/{Id}" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Get the public key information.

" + }, + "GetPublicKeyConfig":{ + "name":"GetPublicKeyConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/public-key/{Id}/config" + }, + "input":{"shape":"GetPublicKeyConfigRequest"}, + "output":{"shape":"GetPublicKeyConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Return public key configuration informaation

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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":"GetStreamingDistributionConfig2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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":"ListCloudFrontOriginAccessIdentities2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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.

" + }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" + }, + "ListFieldLevelEncryptionProfiles":{ + "name":"ListFieldLevelEncryptionProfiles2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/field-level-encryption-profile" + }, + "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, + "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListPublicKeys":{ + "name":"ListPublicKeys2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all public keys that have been added to CloudFront for this account.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2018_06_18", + "http":{ + "method":"GET", + "requestUri":"/2018-06-18/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":"TagResource2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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":"UntagResource2018_06_18", + "http":{ + "method":"POST", + "requestUri":"/2018-06-18/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":"UpdateCloudFrontOriginAccessIdentity2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/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":"UpdateDistribution2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.

For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you must get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes.

    When you edit the XML file, be aware of the following:

    • You must strip out the ETag parameter that is returned.

    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    • The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

" + }, + "UpdateFieldLevelEncryptionConfig":{ + "name":"UpdateFieldLevelEncryptionConfig2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/field-level-encryption/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Update a field-level encryption configuration.

" + }, + "UpdateFieldLevelEncryptionProfile":{ + "name":"UpdateFieldLevelEncryptionProfile2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Update a field-level encryption profile.

" + }, + "UpdatePublicKey":{ + "name":"UpdatePublicKey2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/public-key/{Id}/config" + }, + "input":{"shape":"UpdatePublicKeyRequest"}, + "output":{"shape":"UpdatePublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CannotChangeImmutablePublicKeyFields"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"IllegalUpdate"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Update public key information. Note that the only value you can change is the comment.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2018_06_18", + "http":{ + "method":"PUT", + "requestUri":"/2018-06-18/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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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 in your distribution.

" + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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.

" + }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You can't change the value of a public key.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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" + } + }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{ + "shape":"Format", + "documentation":"

The format for a field-level encryption content type-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" + }, + "ContentType":{ + "shape":"string", + "documentation":"

The content type for a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

A field-level encryption content type profile.

" + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{ + "shape":"boolean", + "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" + }, + "ContentTypeProfiles":{ + "shape":"ContentTypeProfiles", + "documentation":"

The configuration for a field-level encryption content type-profile.

" + } + }, + "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption content type-profile mappings.

" + }, + "Items":{ + "shape":"ContentTypeProfileList", + "documentation":"

Items in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Field-level encryption content type-profile.

" + }, + "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/2018-06-18/"} + } + }, + "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/2018-06-18/"} + } + }, + "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/2018-06-18/"} + } + }, + "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" + }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

The request to create a new field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Returned when you create a new field-level encryption configuration.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

The request to create a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Returned when you create a new field-level encryption profile.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "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/2018-06-18/"} + } + }, + "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" + }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

The request to add a public key to CloudFront.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Returned when you add a public key.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2018-06-18/"} + } + }, + "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/2018-06-18/"} + } + }, + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "documentation":"

A customer origin or an Amazon S3 bucket configured as a website endpoint.

" + }, + "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 in your distribution.

" + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you don't 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.

" + }, + "DeleteFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeletePublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the public key you want to remove from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "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, d111111abcdef8.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. Don't 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 don't 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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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 (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing. For price class information, scroll down to see the table at the bottom of the page.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

From this field, you can enable or disable the selected distribution.

" + }, + "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, don't 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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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, d111111abcdef8.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 don't 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" + } + }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" + }, + "Items":{ + "shape":"EncryptionEntityList", + "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{ + "shape":"string", + "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" + }, + "ProviderId":{ + "shape":"string", + "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" + }, + "FieldPatterns":{ + "shape":"FieldPatterns", + "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption configuration was changed.

" + }, + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the configuration.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of elements you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption items.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionSummaryList", + "documentation":"

An array of field-level encryption items.

" + } + }, + "documentation":"

List of field-level encrpytion configurations.

" + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption profile was updated.

" + }, + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" + } + }, + "documentation":"

A complex data type for field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{ + "shape":"string", + "documentation":"

Profile name for the field-level encryption profile.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + } + }, + "documentation":"

A complex data type of profiles for the field-level encryption.

" + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption profiles.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionProfileSummaryList", + "documentation":"

The field-level encryption profile items.

" + } + }, + "documentation":"

List of field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for the field-level encryption profile summary.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The time when the the field-level encryption profile summary was last updated.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for the field-level encryption profile summary.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile summary.

" + } + }, + "documentation":"

The field-level encryption profile summary.

" + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID of a field-level encryption item.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time that the summary of field-level encryption items was modified.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the field-level encryption item.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A summary of a query argument-profile mapping.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A summary of a content type-profile mapping.

" + } + }, + "documentation":"

A summary of a field-level encryption item.

" + }, + "FieldLevelEncryptionSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionSummary", + "locationName":"FieldLevelEncryptionSummary" + } + }, + "FieldPatternList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"FieldPattern" + } + }, + "FieldPatterns":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption field patterns.

" + }, + "Items":{ + "shape":"FieldPatternList", + "documentation":"

An array of the field-level encryption field patterns.

" + } + }, + "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, + "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 base caching on 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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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 on 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" + }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Return the field-level encryption profile configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the field-level encryption profile information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "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" + }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key configuration.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Return the result for the public key configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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 base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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" + ] + }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 don't 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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "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 + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "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.

" + }, + "LambdaFunctionARN":{"type":"string"}, + "LambdaFunctionAssociation":{ + "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], + "members":{ + "LambdaFunctionARN":{ + "shape":"LambdaFunctionARN", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + }, + "IncludeBody":{ + "shape":"boolean", + "documentation":"

A flag that allows a Lambda function to have read access to the body content. For more information, see Accessing the Request Body by Choosing the Include Body Option in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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" + }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations 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 configuration on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{ + "shape":"FieldLevelEncryptionList", + "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles 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 profile on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{ + "shape":"FieldLevelEncryptionProfileList", + "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionProfileList" + }, + "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" + }, + "ListPublicKeysRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys 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 public key on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of public keys you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListPublicKeysResult":{ + "type":"structure", + "members":{ + "PublicKeyList":{ + "shape":"PublicKeyList", + "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "payload":"PublicKeyList" + }, + "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 don't 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 don't 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 don't 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", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "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 + }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption doesn't 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 + }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key doesn't exist.

", + "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. If you set up your bucket to be configured as a website endpoint, enter the Amazon S3 static website hosting endpoint for the bucket.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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" + ] + }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

A time you added a public key to CloudFront.

" + }, + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Name":{ + "shape":"string", + "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about a public key.

" + } + }, + "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of public keys you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" + }, + "Items":{ + "shape":"PublicKeySummaryList", + "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for public key information summary.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for public key information summary.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

Creation time for public key information summary.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

Encoded key for public key information summary.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Comment for public key information summary.

" + } + }, + "documentation":"

Public key information summary.

" + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{ + "shape":"string", + "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{ + "shape":"boolean", + "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" + }, + "QueryArgProfiles":{ + "shape":"QueryArgProfiles", + "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No profile specified for the field-level encryption query argument.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" + }, + "Items":{ + "shape":"QueryArgProfileList", + "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "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:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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, d111111abcdef8.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 don't 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 don't 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/2018-06-18/"} + } + }, + "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 + }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of configurations for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "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 + }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", + "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 don't 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/2018-06-18/"} + } + }, + "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/2018-06-18/"} + }, + "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/2018-06-18/"} + }, + "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" + }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Request to update a field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to update.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the results of updating the configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Request to update a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the field-level encryption profile request.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the results of updating the profile.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The result of the field-level encryption profile request.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Request to update public key information.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-06-18/"} + }, + "Id":{ + "shape":"string", + "documentation":"

ID of the public key to be updated.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the results of updating the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2018-06-18/"} + }, + "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":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$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:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't 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 security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS 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:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the 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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-06-18/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-06-18/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -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": 30, + "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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5368 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-05", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2018-11-05" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"CreateDistribution2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

If you are using Adobe Flash Media Server's RTMP protocol, you set up a different kind of CloudFront distribution. For more information, see CreateStreamingDistribution.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateFieldLevelEncryptionConfig":{ + "name":"CreateFieldLevelEncryptionConfig2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/field-level-encryption", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, + {"shape":"TooManyFieldLevelEncryptionConfigs"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Create a new field-level encryption configuration.

" + }, + "CreateFieldLevelEncryptionProfile":{ + "name":"CreateFieldLevelEncryptionProfile2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/field-level-encryption-profile", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionProfiles"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Create a field-level encryption profile.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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.

" + }, + "CreatePublicKey":{ + "name":"CreatePublicKey2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/public-key", + "responseCode":201 + }, + "input":{"shape":"CreatePublicKeyRequest"}, + "output":{"shape":"CreatePublicKeyResult"}, + "errors":[ + {"shape":"PublicKeyAlreadyExists"}, + {"shape":"InvalidArgument"}, + {"shape":"TooManyPublicKeys"} + ], + "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"CreateStreamingDistributionWithTags2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"DeleteCloudFrontOriginAccessIdentity2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/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":"DeleteDistribution2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/field-level-encryption/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ], + "documentation":"

Remove a field-level encryption configuration.

" + }, + "DeleteFieldLevelEncryptionProfile":{ + "name":"DeleteFieldLevelEncryptionProfile2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/field-level-encryption-profile/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileInUse"} + ], + "documentation":"

Remove a field-level encryption profile.

" + }, + "DeletePublicKey":{ + "name":"DeletePublicKey2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/public-key/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeletePublicKeyRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"PublicKeyInUse"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Remove a public key you previously added to CloudFront.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2018_11_05", + "http":{ + "method":"DELETE", + "requestUri":"/2018-11-05/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":"GetCloudFrontOriginAccessIdentity2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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":"GetCloudFrontOriginAccessIdentityConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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":"GetDistribution2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetFieldLevelEncryption":{ + "name":"GetFieldLevelEncryption2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionRequest"}, + "output":{"shape":"GetFieldLevelEncryptionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionConfig":{ + "name":"GetFieldLevelEncryptionConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionProfile":{ + "name":"GetFieldLevelEncryptionProfile2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption-profile/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile information.

" + }, + "GetFieldLevelEncryptionProfileConfig":{ + "name":"GetFieldLevelEncryptionProfileConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile configuration information.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/public-key/{Id}" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Get the public key information.

" + }, + "GetPublicKeyConfig":{ + "name":"GetPublicKeyConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/public-key/{Id}/config" + }, + "input":{"shape":"GetPublicKeyConfigRequest"}, + "output":{"shape":"GetPublicKeyConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Return public key configuration informaation

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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":"GetStreamingDistributionConfig2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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":"ListCloudFrontOriginAccessIdentities2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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.

" + }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" + }, + "ListFieldLevelEncryptionProfiles":{ + "name":"ListFieldLevelEncryptionProfiles2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/field-level-encryption-profile" + }, + "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, + "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListPublicKeys":{ + "name":"ListPublicKeys2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all public keys that have been added to CloudFront for this account.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2018_11_05", + "http":{ + "method":"GET", + "requestUri":"/2018-11-05/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":"TagResource2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"UntagResource2018_11_05", + "http":{ + "method":"POST", + "requestUri":"/2018-11-05/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":"UpdateCloudFrontOriginAccessIdentity2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/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":"UpdateDistribution2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.

For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you must get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes.

    When you edit the XML file, be aware of the following:

    • You must strip out the ETag parameter that is returned.

    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    • The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

" + }, + "UpdateFieldLevelEncryptionConfig":{ + "name":"UpdateFieldLevelEncryptionConfig2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/field-level-encryption/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Update a field-level encryption configuration.

" + }, + "UpdateFieldLevelEncryptionProfile":{ + "name":"UpdateFieldLevelEncryptionProfile2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Update a field-level encryption profile.

" + }, + "UpdatePublicKey":{ + "name":"UpdatePublicKey2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/public-key/{Id}/config" + }, + "input":{"shape":"UpdatePublicKeyRequest"}, + "output":{"shape":"UpdatePublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CannotChangeImmutablePublicKeyFields"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"IllegalUpdate"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Update public key information. Note that the only value you can change is the comment.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2018_11_05", + "http":{ + "method":"PUT", + "requestUri":"/2018-11-05/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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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 in your distribution.

" + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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.

" + }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You can't change the value of a public key.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 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 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" + } + }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{ + "shape":"Format", + "documentation":"

The format for a field-level encryption content type-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" + }, + "ContentType":{ + "shape":"string", + "documentation":"

The content type for a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

A field-level encryption content type profile.

" + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{ + "shape":"boolean", + "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" + }, + "ContentTypeProfiles":{ + "shape":"ContentTypeProfiles", + "documentation":"

The configuration for a field-level encryption content type-profile.

" + } + }, + "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption content type-profile mappings.

" + }, + "Items":{ + "shape":"ContentTypeProfileList", + "documentation":"

Items in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Field-level encryption content type-profile.

" + }, + "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/2018-11-05/"} + } + }, + "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/2018-11-05/"} + } + }, + "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/2018-11-05/"} + } + }, + "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" + }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

The request to create a new field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Returned when you create a new field-level encryption configuration.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

The request to create a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Returned when you create a new field-level encryption profile.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "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/2018-11-05/"} + } + }, + "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" + }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

The request to add a public key to CloudFront.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Returned when you add a public key.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2018-11-05/"} + } + }, + "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/2018-11-05/"} + } + }, + "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", + "documentation":"

The current version of the distribution created.

", + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "documentation":"

A customer origin or an Amazon S3 bucket configured as a website endpoint.

" + }, + "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 in your distribution.

" + }, + "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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you don't 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.

" + }, + "DeleteFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeletePublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the public key you want to remove from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "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, d111111abcdef8.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 that you already sent in a previous request to create a distribution, 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. Don't 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.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't 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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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 (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing. For price class information, scroll down to see the table at the bottom of the page.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

From this field, you can enable or disable the selected distribution.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

" + }, + "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, don't 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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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, d111111abcdef8.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.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't 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", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept user requests for content.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

" + }, + "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" + } + }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" + }, + "Items":{ + "shape":"EncryptionEntityList", + "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{ + "shape":"string", + "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" + }, + "ProviderId":{ + "shape":"string", + "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" + }, + "FieldPatterns":{ + "shape":"FieldPatterns", + "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption configuration was changed.

" + }, + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the configuration.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of elements you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption items.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionSummaryList", + "documentation":"

An array of field-level encryption items.

" + } + }, + "documentation":"

List of field-level encrpytion configurations.

" + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption profile was updated.

" + }, + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" + } + }, + "documentation":"

A complex data type for field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{ + "shape":"string", + "documentation":"

Profile name for the field-level encryption profile.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + } + }, + "documentation":"

A complex data type of profiles for the field-level encryption.

" + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption profiles.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionProfileSummaryList", + "documentation":"

The field-level encryption profile items.

" + } + }, + "documentation":"

List of field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for the field-level encryption profile summary.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The time when the the field-level encryption profile summary was last updated.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for the field-level encryption profile summary.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile summary.

" + } + }, + "documentation":"

The field-level encryption profile summary.

" + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID of a field-level encryption item.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time that the summary of field-level encryption items was modified.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the field-level encryption item.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A summary of a query argument-profile mapping.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A summary of a content type-profile mapping.

" + } + }, + "documentation":"

A summary of a field-level encryption item.

" + }, + "FieldLevelEncryptionSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionSummary", + "locationName":"FieldLevelEncryptionSummary" + } + }, + "FieldPatternList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"FieldPattern" + } + }, + "FieldPatterns":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption field patterns.

" + }, + "Items":{ + "shape":"FieldPatternList", + "documentation":"

An array of the field-level encryption field patterns.

" + } + }, + "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, + "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 base caching on 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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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 on 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" + }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Return the field-level encryption profile configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the field-level encryption profile information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "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" + }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key configuration.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Return the result for the public key configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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 base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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" + ] + }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 don't 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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "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 + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "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", + "documentation":"

The time that an invalidation request was created.

" + }, + "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.

" + }, + "LambdaFunctionARN":{"type":"string"}, + "LambdaFunctionAssociation":{ + "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], + "members":{ + "LambdaFunctionARN":{ + "shape":"LambdaFunctionARN", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + }, + "IncludeBody":{ + "shape":"boolean", + "documentation":"

A flag that allows a Lambda function to have read access to the body content. For more information, see Accessing the Request Body by Choosing the Include Body Option in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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" + }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations 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 configuration on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{ + "shape":"FieldLevelEncryptionList", + "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles 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 profile on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{ + "shape":"FieldLevelEncryptionProfileList", + "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionProfileList" + }, + "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" + }, + "ListPublicKeysRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys 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 public key on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of public keys you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListPublicKeysResult":{ + "type":"structure", + "members":{ + "PublicKeyList":{ + "shape":"PublicKeyList", + "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "payload":"PublicKeyList" + }, + "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 don't 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 don't 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 don't 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", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "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 + }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption doesn't 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 + }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key doesn't exist.

", + "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 or origin group. 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. If you set up your bucket to be configured as a website endpoint, enter the Amazon S3 static website hosting endpoint for the bucket.

For more information about specifying this value for different types of origins, see Origin Domain Name in the Amazon CloudFront Developer Guide.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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, HTTP server (for example, a web server), Amazon MediaStore, or other server from which CloudFront gets your files. This can also be an origin group, if you've created an origin group. You must specify at least one origin or origin group.

For the current limit on the number of origins or origin groups that you can specify 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" + } + }, + "OriginGroup":{ + "type":"structure", + "required":[ + "Id", + "FailoverCriteria", + "Members" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The origin group's ID.

" + }, + "FailoverCriteria":{ + "shape":"OriginGroupFailoverCriteria", + "documentation":"

A complex type that contains information about the failover criteria for an origin group.

" + }, + "Members":{ + "shape":"OriginGroupMembers", + "documentation":"

A complex type that contains information about the origins in an origin group.

" + } + }, + "documentation":"

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specifiy the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

" + }, + "OriginGroupFailoverCriteria":{ + "type":"structure", + "required":["StatusCodes"], + "members":{ + "StatusCodes":{ + "shape":"StatusCodes", + "documentation":"

The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.

" + } + }, + "documentation":"

A complex data type that includes information about the failover criteria for an origin group, including the status codes for which CloudFront will failover from the primary origin to the second origin.

" + }, + "OriginGroupList":{ + "type":"list", + "member":{ + "shape":"OriginGroup", + "locationName":"OriginGroup" + }, + "documentation":"

List of origin groups for a distribution.

" + }, + "OriginGroupMember":{ + "type":"structure", + "required":["OriginId"], + "members":{ + "OriginId":{ + "shape":"string", + "documentation":"

The ID for an origin in an origin group.

" + } + }, + "documentation":"

An origin in an origin group.

" + }, + "OriginGroupMemberList":{ + "type":"list", + "member":{ + "shape":"OriginGroupMember", + "locationName":"OriginGroupMember" + }, + "documentation":"

List of origins in an origin group.

", + "max":2, + "min":2 + }, + "OriginGroupMembers":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins in an origin group.

" + }, + "Items":{ + "shape":"OriginGroupMemberList", + "documentation":"

Items (origins) in an origin group.

" + } + }, + "documentation":"

A complex data type for the origins included in an origin group.

" + }, + "OriginGroups":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origin groups.

" + }, + "Items":{ + "shape":"OriginGroupList", + "documentation":"

The items (origin groups) in a distribution.

" + } + }, + "documentation":"

A complex data type for the origin groups specified for a distribution.

" + }, + "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", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins or origin groups for this distribution.

" + }, + "Items":{ + "shape":"OriginList", + "documentation":"

A complex type that contains origins or origin groups for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about origins and origin groups 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" + ] + }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

A time you added a public key to CloudFront.

" + }, + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Name":{ + "shape":"string", + "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about a public key.

" + } + }, + "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of public keys you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" + }, + "Items":{ + "shape":"PublicKeySummaryList", + "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for public key information summary.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for public key information summary.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

Creation time for public key information summary.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

Encoded key for public key information summary.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Comment for public key information summary.

" + } + }, + "documentation":"

A complex data type for public key information.

" + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{ + "shape":"string", + "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{ + "shape":"boolean", + "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" + }, + "QueryArgProfiles":{ + "shape":"QueryArgProfiles", + "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No profile specified for the field-level encryption query argument.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" + }, + "Items":{ + "shape":"QueryArgProfileList", + "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "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:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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" + } + }, + "StatusCodeList":{ + "type":"list", + "member":{ + "shape":"integer", + "locationName":"StatusCode" + }, + "documentation":"

List of status codes for origin failover.

", + "min":1 + }, + "StatusCodes":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of status codes.

" + }, + "Items":{ + "shape":"StatusCodeList", + "documentation":"

The items (status codes) for an origin group.

" + } + }, + "documentation":"

A complex data type for the status codes that you specify that, when returned by a primary origin, trigger CloudFront to failover to a second origin.

" + }, + "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", + "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 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 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 StreamingDistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value that you already sent in a previous request to create a distribution, 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, d111111abcdef8.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", + "documentation":"

" + }, + "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 don't 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 don't 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/2018-11-05/"} + } + }, + "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 + }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of configurations for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginCustomHeaders":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginGroupsPerDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin groups allowed.

", + "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 + }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", + "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 don't 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/2018-11-05/"} + } + }, + "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/2018-11-05/"} + }, + "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/2018-11-05/"} + }, + "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" + }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Request to update a field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to update.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the results of updating the configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Request to update a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the field-level encryption profile request.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the results of updating the profile.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The result of the field-level encryption profile request.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Request to update public key information.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2018-11-05/"} + }, + "Id":{ + "shape":"string", + "documentation":"

ID of the public key to be updated.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the results of updating the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2018-11-05/"} + }, + "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":"

For information about how and when to use CloudFrontDefaultCertificate, see ViewerCertificate.

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

For information about how and when to use IAMCertificateId, see ViewerCertificate.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

For information about how and when to use ACMCertificateArn, see ViewerCertificate.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If you specify a value for ViewerCertificate$ACMCertificateArn or for ViewerCertificate$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:

  • vip: CloudFront uses dedicated IP addresses for your content and can respond to HTTPS requests from any viewer. However, you will incur additional monthly charges.

  • sni-only: CloudFront can respond to HTTPS requests from viewers that support Server Name Indication (SNI). All modern browsers support SNI, but some browsers still in use don't support SNI. If some of your users' browsers don't support SNI, we recommend that you do one of the following:

    • Use the vip option (dedicated IP addresses) instead of sni-only.

    • Use the CloudFront SSL/TLS certificate instead of a custom certificate. This requires that you use the CloudFront domain name of your distribution in the URLs for your objects, for example, https://d111111abcdef8.cloudfront.net/logo.png.

    • If you can control which browser your users use, upgrade the browser to one that supports SNI.

    • Use HTTP instead of HTTPS.

Don't 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 security policy that you want CloudFront to use for HTTPS connections. A security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront uses to communicate with viewers

  • The cipher that CloudFront uses to encrypt the content that it returns to viewers

On the CloudFront console, this setting is called Security policy.

We recommend that you specify TLSv1.1_2016 unless your users are using browsers or devices that do not support TLSv1.1 or later.

When both of the following are true, you must specify TLSv1 or later for the security policy:

  • You're using a custom certificate: you specified a value for ACMCertificateArn or for IAMCertificateId

  • You're using SNI: you specified sni-only for SSLSupportMethod

If you specify true for CloudFrontDefaultCertificate, CloudFront automatically sets the security policy to TLSv1 regardless of the value that you specify for MinimumProtocolVersion.

For information about the relationship between the security policy that you choose and the protocols and ciphers that CloudFront uses to communicate with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field has been deprecated. Use one of the following fields instead:

", + "deprecated":true + } + }, + "documentation":"

A complex type that specifies the following:

  • Whether you want viewers to use HTTP or HTTPS to request your objects.

  • If you want viewers to use HTTPS, whether you're using an alternate domain name such as example.com or the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net.

  • If you're using an alternate domain name, whether AWS Certificate Manager (ACM) provided the certificate, or you purchased a certificate from a third-party certificate authority and imported it into ACM or uploaded it to the IAM certificate store.

You must specify only one of the following values:

Don't specify false for CloudFrontDefaultCertificate.

If you want viewers to use HTTP instead of HTTPS 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:

  • If you're using an alternate domain name, such as example.com: Specify one of the following values, depending on whether ACM provided your certificate or you purchased your certificate from third-party certificate authority:

    • <ACMCertificateArn>ARN for ACM SSL/TLS certificate<ACMCertificateArn> where ARN for ACM SSL/TLS certificate is the ARN for the ACM SSL/TLS certificate that you want to use for this distribution.

    • <IAMCertificateId>IAM certificate ID<IAMCertificateId> where IAM certificate ID is the ID that IAM returned when you added the certificate to the IAM certificate store.

    If you specify ACMCertificateArn or IAMCertificateId, you must also specify a value for SSLSupportMethod.

    If you choose to use an ACM certificate or a certificate in the IAM certificate store, we recommend that you use only an alternate domain name in your object URLs (https://example.com/logo.jpg). If you use the domain name that is associated with your CloudFront distribution (such as https://d111111abcdef8.cloudfront.net/logo.jpg) and the viewer supports SNI, then CloudFront behaves normally. However, if the browser does not support SNI, the user's experience depends on the value that you choose for SSLSupportMethod:

    • vip: The viewer displays a warning because there is a mismatch between the CloudFront domain name and the domain name in your SSL/TLS certificate.

    • sni-only: CloudFront drops the connection with the browser without returning the object.

  • If you're using the CloudFront domain name for your distribution, such as d111111abcdef8.cloudfront.net : Specify the following value:

    <CloudFrontDefaultCertificate>true<CloudFrontDefaultCertificate>

If you want viewers to use HTTPS, you must also specify one of the following values in your cache behaviors:

  • <ViewerProtocolPolicy>https-only<ViewerProtocolPolicy>

  • <ViewerProtocolPolicy>redirect-to-https<ViewerProtocolPolicy>

You can also optionally require that CloudFront use HTTPS to communicate with your origin by specifying one of the following values for the applicable origins:

  • <OriginProtocolPolicy>https-only<OriginProtocolPolicy>

  • <OriginProtocolPolicy>match-viewer<OriginProtocolPolicy>

For more information, see Using Alternate Domain Names and HTTPS in the 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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2018-11-05/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2018-11-05/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -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": 30, + "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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -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 -Nru python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/service-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5440 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-03-26", + "endpointPrefix":"cloudfront", + "globalEndpoint":"cloudfront.amazonaws.com", + "protocol":"rest-xml", + "serviceAbbreviation":"CloudFront", + "serviceFullName":"Amazon CloudFront", + "serviceId":"CloudFront", + "signatureVersion":"v4", + "uid":"cloudfront-2019-03-26" + }, + "operations":{ + "CreateCloudFrontOriginAccessIdentity":{ + "name":"CreateCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"CreateDistribution2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Creates a new web distribution. You create a CloudFront distribution to tell CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery. Send a POST request to the /CloudFront API version/distribution/distribution ID resource.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using UpdateDistribution, follow the steps included in the documentation to get the current configuration and then make your updates. This helps to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

" + }, + "CreateDistributionWithTags":{ + "name":"CreateDistributionWithTags2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Create a new distribution with tags.

" + }, + "CreateFieldLevelEncryptionConfig":{ + "name":"CreateFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/field-level-encryption", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"FieldLevelEncryptionConfigAlreadyExists"}, + {"shape":"TooManyFieldLevelEncryptionConfigs"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Create a new field-level encryption configuration.

" + }, + "CreateFieldLevelEncryptionProfile":{ + "name":"CreateFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/field-level-encryption-profile", + "responseCode":201 + }, + "input":{"shape":"CreateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"CreateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionProfiles"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Create a field-level encryption profile.

" + }, + "CreateInvalidation":{ + "name":"CreateInvalidation2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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.

" + }, + "CreatePublicKey":{ + "name":"CreatePublicKey2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/public-key", + "responseCode":201 + }, + "input":{"shape":"CreatePublicKeyRequest"}, + "output":{"shape":"CreatePublicKeyResult"}, + "errors":[ + {"shape":"PublicKeyAlreadyExists"}, + {"shape":"InvalidArgument"}, + {"shape":"TooManyPublicKeys"} + ], + "documentation":"

Add a new public key to CloudFront to use, for example, for field-level encryption. You can add a maximum of 10 public keys with one AWS account.

" + }, + "CreateStreamingDistribution":{ + "name":"CreateStreamingDistribution2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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 RTMP 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 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":"CreateStreamingDistributionWithTags2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"DeleteCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/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":"DeleteDistribution2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/distribution/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteDistributionRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"DistributionNotDisabled"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchDistribution"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Delete a distribution.

" + }, + "DeleteFieldLevelEncryptionConfig":{ + "name":"DeleteFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/field-level-encryption/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionConfigRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionConfigInUse"} + ], + "documentation":"

Remove a field-level encryption configuration.

" + }, + "DeleteFieldLevelEncryptionProfile":{ + "name":"DeleteFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeleteFieldLevelEncryptionProfileRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileInUse"} + ], + "documentation":"

Remove a field-level encryption profile.

" + }, + "DeletePublicKey":{ + "name":"DeletePublicKey2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/public-key/{Id}", + "responseCode":204 + }, + "input":{"shape":"DeletePublicKeyRequest"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"PublicKeyInUse"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Remove a public key you previously added to CloudFront.

" + }, + "DeleteStreamingDistribution":{ + "name":"DeleteStreamingDistribution2019_03_26", + "http":{ + "method":"DELETE", + "requestUri":"/2019-03-26/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":"GetCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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":"GetCloudFrontOriginAccessIdentityConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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":"GetDistribution2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{Id}" + }, + "input":{"shape":"GetDistributionRequest"}, + "output":{"shape":"GetDistributionResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about a distribution.

" + }, + "GetDistributionConfig":{ + "name":"GetDistributionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{Id}/config" + }, + "input":{"shape":"GetDistributionConfigRequest"}, + "output":{"shape":"GetDistributionConfigResult"}, + "errors":[ + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the configuration information about a distribution.

" + }, + "GetFieldLevelEncryption":{ + "name":"GetFieldLevelEncryption2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionRequest"}, + "output":{"shape":"GetFieldLevelEncryptionResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionConfig":{ + "name":"GetFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"} + ], + "documentation":"

Get the field-level encryption configuration information.

" + }, + "GetFieldLevelEncryptionProfile":{ + "name":"GetFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile information.

" + }, + "GetFieldLevelEncryptionProfileConfig":{ + "name":"GetFieldLevelEncryptionProfileConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"GetFieldLevelEncryptionProfileConfigRequest"}, + "output":{"shape":"GetFieldLevelEncryptionProfileConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"} + ], + "documentation":"

Get the field-level encryption profile configuration information.

" + }, + "GetInvalidation":{ + "name":"GetInvalidation2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{DistributionId}/invalidation/{Id}" + }, + "input":{"shape":"GetInvalidationRequest"}, + "output":{"shape":"GetInvalidationResult"}, + "errors":[ + {"shape":"NoSuchInvalidation"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Get the information about an invalidation.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key/{Id}" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Get the public key information.

" + }, + "GetPublicKeyConfig":{ + "name":"GetPublicKeyConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key/{Id}/config" + }, + "input":{"shape":"GetPublicKeyConfigRequest"}, + "output":{"shape":"GetPublicKeyConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"NoSuchPublicKey"} + ], + "documentation":"

Return public key configuration informaation

" + }, + "GetStreamingDistribution":{ + "name":"GetStreamingDistribution2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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":"GetStreamingDistributionConfig2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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":"ListCloudFrontOriginAccessIdentities2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/origin-access-identity/cloudfront" + }, + "input":{"shape":"ListCloudFrontOriginAccessIdentitiesRequest"}, + "output":{"shape":"ListCloudFrontOriginAccessIdentitiesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Lists origin access identities.

" + }, + "ListDistributions":{ + "name":"ListDistributions2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution" + }, + "input":{"shape":"ListDistributionsRequest"}, + "output":{"shape":"ListDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List CloudFront distributions.

" + }, + "ListDistributionsByWebACLId":{ + "name":"ListDistributionsByWebACLId2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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.

" + }, + "ListFieldLevelEncryptionConfigs":{ + "name":"ListFieldLevelEncryptionConfigs2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption" + }, + "input":{"shape":"ListFieldLevelEncryptionConfigsRequest"}, + "output":{"shape":"ListFieldLevelEncryptionConfigsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all field-level encryption configurations that have been created in CloudFront for this account.

" + }, + "ListFieldLevelEncryptionProfiles":{ + "name":"ListFieldLevelEncryptionProfiles2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/field-level-encryption-profile" + }, + "input":{"shape":"ListFieldLevelEncryptionProfilesRequest"}, + "output":{"shape":"ListFieldLevelEncryptionProfilesResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

Request a list of field-level encryption profiles that have been created in CloudFront for this account.

" + }, + "ListInvalidations":{ + "name":"ListInvalidations2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/distribution/{DistributionId}/invalidation" + }, + "input":{"shape":"ListInvalidationsRequest"}, + "output":{"shape":"ListInvalidationsResult"}, + "errors":[ + {"shape":"InvalidArgument"}, + {"shape":"NoSuchDistribution"}, + {"shape":"AccessDenied"} + ], + "documentation":"

Lists invalidation batches.

" + }, + "ListPublicKeys":{ + "name":"ListPublicKeys2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/public-key" + }, + "input":{"shape":"ListPublicKeysRequest"}, + "output":{"shape":"ListPublicKeysResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List all public keys that have been added to CloudFront for this account.

" + }, + "ListStreamingDistributions":{ + "name":"ListStreamingDistributions2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/streaming-distribution" + }, + "input":{"shape":"ListStreamingDistributionsRequest"}, + "output":{"shape":"ListStreamingDistributionsResult"}, + "errors":[ + {"shape":"InvalidArgument"} + ], + "documentation":"

List streaming distributions.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource2019_03_26", + "http":{ + "method":"GET", + "requestUri":"/2019-03-26/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":"TagResource2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"UntagResource2019_03_26", + "http":{ + "method":"POST", + "requestUri":"/2019-03-26/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":"UpdateCloudFrontOriginAccessIdentity2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/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":"UpdateDistribution2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/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":"TooManyOriginGroupsPerDistribution"}, + {"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"}, + {"shape":"TooManyDistributionsWithLambdaAssociations"}, + {"shape":"TooManyLambdaFunctionAssociations"}, + {"shape":"InvalidLambdaFunctionAssociation"}, + {"shape":"InvalidOriginReadTimeout"}, + {"shape":"InvalidOriginKeepaliveTimeout"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior"}, + {"shape":"TooManyDistributionsAssociatedToFieldLevelEncryptionConfig"} + ], + "documentation":"

Updates the configuration for a web distribution.

When you update a distribution, there are more required fields than when you create a distribution. When you update your distribution by using this API action, follow the steps here to get the current configuration and then make your updates, to make sure that you include all of the required fields. To view a summary, see Required Fields for Create Distribution and Update Distribution in the Amazon CloudFront Developer Guide.

The update process includes getting the current distribution configuration, updating the XML document that is returned to make your changes, and then submitting an UpdateDistribution request to make the updates.

For information about updating a distribution using the CloudFront console instead, see Creating a Distribution in the Amazon CloudFront Developer Guide.

To update a web distribution using the CloudFront API

  1. Submit a GetDistributionConfig request to get the current configuration and an Etag header for the distribution.

    If you update the distribution again, you must get a new Etag header.

  2. Update the XML document that was returned in the response to your GetDistributionConfig request to include your changes.

    When you edit the XML file, be aware of the following:

    • You must strip out the ETag parameter that is returned.

    • Additional fields are required when you update a distribution. There may be fields included in the XML file for features that you haven't configured for your distribution. This is expected and required to successfully update the distribution.

    • You can't change the value of CallerReference. If you try to change this value, CloudFront returns an IllegalUpdate error.

    • The new configuration replaces the existing configuration; the values that you specify in an UpdateDistribution request are not merged into your existing configuration. When you add, delete, or replace values in an element that allows multiple values (for example, CNAME), you must specify all of the values that you want to appear in the updated distribution. In addition, you must update the corresponding Quantity element.

  3. Submit an UpdateDistribution request to update the configuration for your distribution:

    • In the request body, include the XML document that you updated in Step 2. The request body must include an XML document with a DistributionConfig element.

    • Set the value of the HTTP If-Match header to the value of the ETag header that CloudFront returned when you submitted the GetDistributionConfig request in Step 1.

  4. Review the response to the UpdateDistribution request to confirm that the configuration was successfully updated.

  5. Optional: Submit a GetDistribution request to confirm that your changes have propagated. When propagation is complete, the value of Status is Deployed.

" + }, + "UpdateFieldLevelEncryptionConfig":{ + "name":"UpdateFieldLevelEncryptionConfig2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/field-level-encryption/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionConfigRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionConfigResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"NoSuchFieldLevelEncryptionConfig"}, + {"shape":"PreconditionFailed"}, + {"shape":"TooManyFieldLevelEncryptionQueryArgProfiles"}, + {"shape":"TooManyFieldLevelEncryptionContentTypeProfiles"}, + {"shape":"QueryArgProfileEmpty"} + ], + "documentation":"

Update a field-level encryption configuration.

" + }, + "UpdateFieldLevelEncryptionProfile":{ + "name":"UpdateFieldLevelEncryptionProfile2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/field-level-encryption-profile/{Id}/config" + }, + "input":{"shape":"UpdateFieldLevelEncryptionProfileRequest"}, + "output":{"shape":"UpdateFieldLevelEncryptionProfileResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"FieldLevelEncryptionProfileAlreadyExists"}, + {"shape":"IllegalUpdate"}, + {"shape":"InconsistentQuantities"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"NoSuchFieldLevelEncryptionProfile"}, + {"shape":"PreconditionFailed"}, + {"shape":"FieldLevelEncryptionProfileSizeExceeded"}, + {"shape":"TooManyFieldLevelEncryptionEncryptionEntities"}, + {"shape":"TooManyFieldLevelEncryptionFieldPatterns"} + ], + "documentation":"

Update a field-level encryption profile.

" + }, + "UpdatePublicKey":{ + "name":"UpdatePublicKey2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/public-key/{Id}/config" + }, + "input":{"shape":"UpdatePublicKeyRequest"}, + "output":{"shape":"UpdatePublicKeyResult"}, + "errors":[ + {"shape":"AccessDenied"}, + {"shape":"CannotChangeImmutablePublicKeyFields"}, + {"shape":"InvalidArgument"}, + {"shape":"InvalidIfMatchVersion"}, + {"shape":"IllegalUpdate"}, + {"shape":"NoSuchPublicKey"}, + {"shape":"PreconditionFailed"} + ], + "documentation":"

Update public key information. Note that the only value you can change is the comment.

" + }, + "UpdateStreamingDistribution":{ + "name":"UpdateStreamingDistribution2019_03_26", + "http":{ + "method":"PUT", + "requestUri":"/2019-03-26/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 distribution have active CloudFront key pairs. If not, Enabled is false.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of trusted signers specified in the TrustedSigners complex type.

" + }, + "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.

" + } + }, + "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.

" + }, + "AliasICPRecordal":{ + "type":"structure", + "members":{ + "CNAME":{ + "shape":"string", + "documentation":"

A domain name associated with a distribution.

" + }, + "ICPRecordalStatus":{ + "shape":"ICPRecordalStatus", + "documentation":"

The Internet Content Provider (ICP) recordal status for a CNAME. The ICPRecordalStatus is set to APPROVED for all CNAMEs (aliases) in regions outside of China.

The status values returned are the following:

  • APPROVED indicates that the associated CNAME has a valid ICP recordal number. Multiple CNAMEs can be associated with a distribution, and CNAMEs can correspond to different ICP recordals. To be marked as APPROVED, that is, valid to use with China region, a CNAME must have one ICP recordal number associated with it.

  • SUSPENDED indicates that the associated CNAME does not have a valid ICP recordal number.

  • PENDING indicates that CloudFront can't determine the ICP recordal status of the CNAME associated with the distribution because there was an error in trying to determine the status. You can try again to see if the error is resolved in which case CloudFront returns an APPROVED or SUSPENDED status.

" + } + }, + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions. The status is returned in the CloudFront response; you can't configure it yourself.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + }, + "AliasICPRecordals":{ + "type":"list", + "member":{ + "shape":"AliasICPRecordal", + "locationName":"AliasICPRecordal" + } + }, + "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:

  • CloudFront forwards only GET and HEAD requests.

  • CloudFront forwards only GET, HEAD, and OPTIONS requests.

  • CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests.

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"} + }, + "documentation":"

Invalidation batch specified is too large.

", + "error":{"httpStatusCode":413}, + "exception":true + }, + "CNAMEAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The CNAME specified is already defined for CloudFront.

", + "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 in your distribution.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" + }, + "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 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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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 Managing How Long Content Stays in an 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 Managing How Long Content Stays in an Edge Cache (Expiration) in the 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 Managing How Long Content Stays in an 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 Managing How Long Content Stays in an 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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "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:

  • CloudFront caches responses to GET and HEAD requests.

  • CloudFront caches responses to GET, HEAD, and OPTIONS requests.

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.

" + }, + "CannotChangeImmutablePublicKeyFields":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

You can't change the value of a public key.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 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 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"} + }, + "documentation":"

The Origin Access Identity specified is already in use.

", + "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" + } + }, + "CommentType":{ + "type":"string", + "sensitive":true + }, + "ContentTypeProfile":{ + "type":"structure", + "required":[ + "Format", + "ContentType" + ], + "members":{ + "Format":{ + "shape":"Format", + "documentation":"

The format for a field-level encryption content type-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

The profile ID for a field-level encryption content type-profile mapping.

" + }, + "ContentType":{ + "shape":"string", + "documentation":"

The content type for a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

A field-level encryption content type profile.

" + }, + "ContentTypeProfileConfig":{ + "type":"structure", + "required":["ForwardWhenContentTypeIsUnknown"], + "members":{ + "ForwardWhenContentTypeIsUnknown":{ + "shape":"boolean", + "documentation":"

The setting in a field-level encryption content type-profile mapping that specifies what to do when an unknown content type is provided for the profile. If true, content is forwarded without being encrypted when the content type is unknown. If false (the default), an error is returned when the content type is unknown.

" + }, + "ContentTypeProfiles":{ + "shape":"ContentTypeProfiles", + "documentation":"

The configuration for a field-level encryption content type-profile.

" + } + }, + "documentation":"

The configuration for a field-level encryption content type-profile mapping.

" + }, + "ContentTypeProfileList":{ + "type":"list", + "member":{ + "shape":"ContentTypeProfile", + "locationName":"ContentTypeProfile" + } + }, + "ContentTypeProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption content type-profile mappings.

" + }, + "Items":{ + "shape":"ContentTypeProfileList", + "documentation":"

Items in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Field-level encryption content type-profile.

" + }, + "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. The value must equal the number of items that are in the Items field.

When you set Forward = whitelist (in the CookiePreferences object), this value must be 1 or higher.

" + }, + "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. It must contain the same number of items that is specified in the Quantity field.

When you set Forward = whitelist (in the CookiePreferences object), this field must contain at least one item.

" + } + }, + "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 Caching Content Based on Request Headers 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 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 Caching Content Based on 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/2019-03-26/"} + } + }, + "documentation":"

The request to create a new origin access identity (OAI). An origin access identity is a special CloudFront user that you can associate with Amazon S3 origins, so that you can secure all or just some of your Amazon S3 content. For more information, see Restricting Access to Amazon S3 Content by Using an Origin Access Identity in the Amazon CloudFront Developer Guide.

", + "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/2019-03-26/"} + } + }, + "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/2019-03-26/"} + } + }, + "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" + }, + "CreateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionConfig"], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

The request to create a new field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "CreateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Returned when you create a new field-level encryption configuration.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new configuration resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "CreateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["FieldLevelEncryptionProfileConfig"], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

The request to create a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "CreateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Returned when you create a new field-level encryption profile.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new profile resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "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/2019-03-26/"} + } + }, + "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" + }, + "CreatePublicKeyRequest":{ + "type":"structure", + "required":["PublicKeyConfig"], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

The request to add a public key to CloudFront.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + } + }, + "payload":"PublicKeyConfig" + }, + "CreatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Returned when you add a public key.

" + }, + "Location":{ + "shape":"string", + "documentation":"

The fully qualified URI of the new public key resource just created. For example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5.

", + "location":"header", + "locationName":"Location" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2019-03-26/"} + } + }, + "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/2019-03-26/"} + } + }, + "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", + "documentation":"

The current version of the distribution created.

", + "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:

  • The value of PathPattern matches the path to your custom error messages. For example, suppose you saved custom error pages for 4xx errors in an Amazon S3 bucket in a directory named /4xx-errors. Your distribution must include a cache behavior for which the path pattern routes requests for your custom error pages to that location, for example, /4xx-errors/*.

  • The value of TargetOriginId specifies the value of the ID element for the origin that contains your custom error pages.

If you specify a value for ResponsePagePath, you must also specify a value for ResponseCode.

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:

  • Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer. If you substitute 200, the response typically won't be intercepted.

  • If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.

  • You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath.

" + }, + "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.

For more information, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that controls:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

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.

" + }, + "OriginReadTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom origin read timeout. All timeout units are in seconds. The default origin read timeout is 30 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 4 seconds; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + }, + "OriginKeepaliveTimeout":{ + "shape":"integer", + "documentation":"

You can create a custom keep-alive timeout. All timeout units are in seconds. The default keep-alive timeout is 5 seconds, but you can configure custom timeout lengths using the CloudFront API. The minimum timeout length is 1 second; the maximum is 60 seconds.

If you need to increase the maximum time limit, contact the AWS Support Center.

" + } + }, + "documentation":"

A custom origin or an Amazon S3 bucket configured as a website endpoint.

" + }, + "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 in your distribution.

" + }, + "ForwardedValues":{ + "shape":"ForwardedValues", + "documentation":"

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" + }, + "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 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:

  • allow-all: Viewers can use HTTP or HTTPS.

  • redirect-to-https: If a viewer submits an HTTP request, CloudFront returns an HTTP status code of 301 (Moved Permanently) to the viewer along with the HTTPS URL. The viewer then resubmits the request using the new URL.

  • https-only: If a viewer sends an HTTP request, CloudFront returns an HTTP status code of 403 (Forbidden).

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 Managing How Long Content Stays in an 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 Managing How Long Content Stays in an Edge Cache (Expiration) in the 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 Managing How Long Content Stays in an 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 Managing How Long Content Stays in an 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.

" + }, + "LambdaFunctionAssociations":{ + "shape":"LambdaFunctionAssociations", + "documentation":"

A complex type that contains zero or more Lambda function associations for a cache behavior.

" + }, + "FieldLevelEncryptionId":{ + "shape":"string", + "documentation":"

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for a cache behavior or for the default cache behavior in your distribution.

" + } + }, + "documentation":"

A complex type that describes the default cache behavior if you don't 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.

" + }, + "DeleteFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeleteFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID of the profile you want to delete from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "DeletePublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID of the public key you want to remove from CloudFront.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key identity to delete. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + } + }, + "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, d111111abcdef8.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.

" + }, + "AliasICPRecordals":{ + "shape":"AliasICPRecordals", + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + } + }, + "documentation":"

A distribution tells CloudFront where you want content to be delivered from, and the details about how to track and manage content delivery.

" + }, + "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 that you already sent in a previous request to create a distribution, 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. Don't 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.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't 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:

  • Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range with custom error messages before returning the response to the viewer.

  • How long CloudFront caches HTTP status codes in the 4xx and 5xx range.

For more information about custom error pages, see Customizing Error Responses in the Amazon CloudFront Developer Guide.

" + }, + "Comment":{ + "shape":"CommentType", + "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 (such as Price Class 100) map to CloudFront regions, see Amazon CloudFront Pricing. For price class information, scroll down to see the table at the bottom of the page.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

From this field, you can enable or disable the selected distribution.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

A complex type that determines the distribution’s SSL/TLS configuration for communicating with viewers.

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "WebACLId":{ + "shape":"string", + "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.

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, don't 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:

  • You enable IPv6 for the distribution

  • You're using alternate domain names in the URLs for your objects

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"} + }, + "documentation":"

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

", + "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, d111111abcdef8.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.

" + }, + "OriginGroups":{ + "shape":"OriginGroups", + "documentation":"

A complex type that contains information about origin groups for this distribution.

" + }, + "DefaultCacheBehavior":{ + "shape":"DefaultCacheBehavior", + "documentation":"

A complex type that describes the default cache behavior if you don't 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", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept user requests for content.

" + }, + "ViewerCertificate":{ + "shape":"ViewerCertificate", + "documentation":"

A complex type that determines the distribution’s SSL/TLS configuration for communicating with viewers.

" + }, + "Restrictions":{ + "shape":"Restrictions", + "documentation":"

A complex type that identifies ways in which you want to restrict distribution of your content.

" + }, + "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.

" + }, + "AliasICPRecordals":{ + "shape":"AliasICPRecordals", + "documentation":"

AWS services in China customers must file for an Internet Content Provider (ICP) recordal if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.

For more information about ICP recordals, see Signup, Accounts, and Credentials in Getting Started with AWS services in China.

" + } + }, + "documentation":"

A summary of the information about a CloudFront distribution.

" + }, + "DistributionSummaryList":{ + "type":"list", + "member":{ + "shape":"DistributionSummary", + "locationName":"DistributionSummary" + } + }, + "EncryptionEntities":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of field pattern items in a field-level encryption content type-profile mapping.

" + }, + "Items":{ + "shape":"EncryptionEntityList", + "documentation":"

An array of field patterns in a field-level encryption content type-profile mapping.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes all of the encryption entities.

" + }, + "EncryptionEntity":{ + "type":"structure", + "required":[ + "PublicKeyId", + "ProviderId", + "FieldPatterns" + ], + "members":{ + "PublicKeyId":{ + "shape":"string", + "documentation":"

The public key associated with a set of field-level encryption patterns, to be used when encrypting the fields that match the patterns.

" + }, + "ProviderId":{ + "shape":"string", + "documentation":"

The provider associated with the public key being used for encryption. This value must also be provided with the private key for applications to be able to decrypt data.

" + }, + "FieldPatterns":{ + "shape":"FieldPatterns", + "documentation":"

Field patterns in a field-level encryption content type profile specify the fields that you want to be encrypted. You can provide the full field name, or any beginning characters followed by a wildcard (*). You can't overlap field patterns. For example, you can't have both ABC* and AB*. Note that field patterns are case-sensitive.

" + } + }, + "documentation":"

Complex data type for field-level encryption profiles that includes the encryption key and field pattern specifications.

" + }, + "EncryptionEntityList":{ + "type":"list", + "member":{ + "shape":"EncryptionEntity", + "locationName":"EncryptionEntity" + } + }, + "EventType":{ + "type":"string", + "enum":[ + "viewer-request", + "viewer-response", + "origin-request", + "origin-response" + ] + }, + "FieldLevelEncryption":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The configuration ID for a field-level encryption configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption configuration was changed.

" + }, + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations and other options specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfig":{ + "type":"structure", + "required":["CallerReference"], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the configuration.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a profile isn't found and the profile that can be provided as a query argument in a request.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A complex data type that specifies when to forward content if a content type isn't recognized and profiles to use as by default in a request if a query argument doesn't specify a profile to use.

" + } + }, + "documentation":"

A complex data type that includes the profile configurations specified for field-level encryption.

" + }, + "FieldLevelEncryptionConfigAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionConfigInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your configurations where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of elements you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption items.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionSummaryList", + "documentation":"

An array of field-level encryption items.

" + } + }, + "documentation":"

List of field-level encrpytion configurations.

" + }, + "FieldLevelEncryptionProfile":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "FieldLevelEncryptionProfileConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The ID for a field-level encryption profile configuration which includes a set of profiles that specify certain selected data fields to be encrypted by specific public keys.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time the field-level encryption profile was updated.

" + }, + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

A complex data type that includes the profile name and the encryption entities for the field-level encryption profile.

" + } + }, + "documentation":"

A complex data type for field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileConfig":{ + "type":"structure", + "required":[ + "Name", + "CallerReference", + "EncryptionEntities" + ], + "members":{ + "Name":{ + "shape":"string", + "documentation":"

Profile name for the field-level encryption profile.

" + }, + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + } + }, + "documentation":"

A complex data type of profiles for the field-level encryption.

" + }, + "FieldLevelEncryptionProfileInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "FieldLevelEncryptionProfileList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your profiles where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption profiles.

" + }, + "Items":{ + "shape":"FieldLevelEncryptionProfileSummaryList", + "documentation":"

The field-level encryption profile items.

" + } + }, + "documentation":"

List of field-level encryption profiles.

" + }, + "FieldLevelEncryptionProfileSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum size of a profile for field-level encryption was exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "FieldLevelEncryptionProfileSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime", + "Name", + "EncryptionEntities" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for the field-level encryption profile summary.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The time when the the field-level encryption profile summary was last updated.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for the field-level encryption profile summary.

" + }, + "EncryptionEntities":{ + "shape":"EncryptionEntities", + "documentation":"

A complex data type of encryption entities for the field-level encryption profile that include the public key ID, provider, and field patterns for specifying which fields to encrypt with this key.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment for the field-level encryption profile summary.

" + } + }, + "documentation":"

The field-level encryption profile summary.

" + }, + "FieldLevelEncryptionProfileSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionProfileSummary", + "locationName":"FieldLevelEncryptionProfileSummary" + } + }, + "FieldLevelEncryptionSummary":{ + "type":"structure", + "required":[ + "Id", + "LastModifiedTime" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The unique ID of a field-level encryption item.

" + }, + "LastModifiedTime":{ + "shape":"timestamp", + "documentation":"

The last time that the summary of field-level encryption items was modified.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about the field-level encryption item.

" + }, + "QueryArgProfileConfig":{ + "shape":"QueryArgProfileConfig", + "documentation":"

A summary of a query argument-profile mapping.

" + }, + "ContentTypeProfileConfig":{ + "shape":"ContentTypeProfileConfig", + "documentation":"

A summary of a content type-profile mapping.

" + } + }, + "documentation":"

A summary of a field-level encryption item.

" + }, + "FieldLevelEncryptionSummaryList":{ + "type":"list", + "member":{ + "shape":"FieldLevelEncryptionSummary", + "locationName":"FieldLevelEncryptionSummary" + } + }, + "FieldPatternList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"FieldPattern" + } + }, + "FieldPatterns":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of field-level encryption field patterns.

" + }, + "Items":{ + "shape":"FieldPatternList", + "documentation":"

An array of the field-level encryption field patterns.

" + } + }, + "documentation":"

A complex data type that includes the field patterns to match for field-level encryption.

" + }, + "Format":{ + "type":"string", + "enum":["URLEncoded"] + }, + "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 forward to the origin for this cache behavior (whitelisted headers). For the headers that you specify, CloudFront also caches separate versions of a specified object that is based on the header values in viewer requests.

For more information, see Caching Content Based on Request Headers in the Amazon CloudFront Developer Guide.

" + }, + "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, cookies, and HTTP headers.

" + }, + "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:

  • none: No geo restriction is enabled, meaning access to content is not restricted by client geo location.

  • blacklist: The Location elements specify the countries in which you don't want CloudFront to distribute your content.

  • whitelist: The Location elements specify the countries in which you want CloudFront to distribute your content.

" + }, + "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 on 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 CloudFrontOriginAccessIdentityConfig.

" + }, + "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. If the ID is empty, an empty distribution configuration is returned.

", + "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. If the ID is empty, an empty distribution configuration is returned.

", + "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" + }, + "GetFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "GetFieldLevelEncryptionProfileConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Return the field-level encryption profile configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field-level encryption profile configuration result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "GetFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Get the ID for the field-level encryption profile information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the field-level encryption profile information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "GetFieldLevelEncryptionRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the field-level encryption configuration information.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetFieldLevelEncryptionResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the field-level encryption configuration information.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the field level encryption configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "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" + }, + "GetPublicKeyConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key configuration.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyConfigResult":{ + "type":"structure", + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Return the result for the public key configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKeyConfig" + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

Request the ID for the public key.

", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetPublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the public key. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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 base caching on for this cache behavior. You can configure each cache behavior in a web distribution to do one of the following:

  • Forward all headers to your origin: Specify 1 for Quantity and * for Name.

    CloudFront doesn't cache the objects that are associated with this cache behavior. Instead, CloudFront sends every request to the origin.

  • Forward a whitelist of headers you specify: Specify the number of headers that you want CloudFront to base caching on. Then specify the header names in Name elements. CloudFront caches your objects based on the values in the specified headers.

  • Forward only the default headers: Specify 0 for Quantity and omit Items. In this configuration, CloudFront doesn't cache based on the values in the request headers.

Regardless of which option you choose, CloudFront forwards headers to your origin based on whether the origin is an S3 bucket or a custom origin. See the following documentation:

" + }, + "Items":{ + "shape":"HeaderList", + "documentation":"

A list that contains one Name element for each header that you want CloudFront to use for caching in this cache behavior. If Quantity is 0, omit Items.

" + } + }, + "documentation":"

A complex type that specifies the request headers, if any, that you want CloudFront to base caching on for this cache behavior.

For the headers that you specify, CloudFront 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" + ] + }, + "ICPRecordalStatus":{ + "type":"string", + "enum":[ + "APPROVED", + "SUSPENDED", + "PENDING" + ] + }, + "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption can't be associated with the specified cache behavior.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "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 don't 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"} + }, + "documentation":"

An invalid error code was specified.

", + "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"} + }, + "documentation":"

The specified geo restriction parameter is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidHeadersForS3Origin":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The headers specified are not valid for an Amazon S3 origin.

", + "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 + }, + "InvalidLambdaFunctionAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified Lambda function association is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidLocationCode":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The location code specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidMinimumProtocolVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The minimum protocol version specified is not valid.

", + "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 + }, + "InvalidOriginKeepaliveTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The keep alive timeout specified for the origin is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidOriginReadTimeout":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The read timeout specified for the origin is not valid.

", + "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"} + }, + "documentation":"

The query string parameters specified are not valid.

", + "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"} + }, + "documentation":"

A response code is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTTLOrder":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The TTL order specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTagging":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The tagging specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidViewerCertificate":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A viewer certificate specified is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidWebACLId":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A web ACL ID specified is not valid. To specify a web ACL created using the latest version of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 473e64fd-f30b-4765-81a0-62ad96dd167a.

", + "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", + "documentation":"

The time that an invalidation request was created.

" + }, + "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.

" + }, + "LambdaFunctionARN":{"type":"string"}, + "LambdaFunctionAssociation":{ + "type":"structure", + "required":[ + "LambdaFunctionARN", + "EventType" + ], + "members":{ + "LambdaFunctionARN":{ + "shape":"LambdaFunctionARN", + "documentation":"

The ARN of the Lambda function. You must specify the ARN of a function version; you can't specify a Lambda alias or $LATEST.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

Specifies the event type that triggers a Lambda function invocation. You can specify the following values:

  • viewer-request: The function executes when CloudFront receives a request from a viewer and before it checks to see whether the requested object is in the edge cache.

  • origin-request: The function executes only when CloudFront forwards a request to your origin. When the requested object is in the edge cache, the function doesn't execute.

  • origin-response: The function executes after CloudFront receives a response from the origin and before it caches the object in the response. When the requested object is in the edge cache, the function doesn't execute.

  • viewer-response: The function executes before CloudFront returns the requested object to the viewer. The function executes regardless of whether the object was already in the edge cache.

    If the origin returns an HTTP status code other than HTTP 200 (OK), the function doesn't execute.

" + }, + "IncludeBody":{ + "shape":"boolean", + "documentation":"

A flag that allows a Lambda function to have read access to the body content. For more information, see Accessing the Request Body by Choosing the Include Body Option in the Amazon CloudFront Developer Guide.

" + } + }, + "documentation":"

A complex type that contains a Lambda function association.

" + }, + "LambdaFunctionAssociationList":{ + "type":"list", + "member":{ + "shape":"LambdaFunctionAssociation", + "locationName":"LambdaFunctionAssociation" + } + }, + "LambdaFunctionAssociations":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of Lambda function associations for this cache behavior.

" + }, + "Items":{ + "shape":"LambdaFunctionAssociationList", + "documentation":"

Optional: A complex type that contains LambdaFunctionAssociation items for this cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that specifies a list of Lambda functions associations for a cache behavior.

If you want to invoke one or more Lambda functions triggered by requests that match the PathPattern of the cache behavior, specify the applicable values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation items in this list (one for each possible value of EventType) and each EventType can be associated with the Lambda function only once.

If you don't want to invoke any Lambda functions for the requests that match PathPattern, specify 0 for Quantity and omit Items.

" + }, + "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" + }, + "ListFieldLevelEncryptionConfigsRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of configurations. The results include configurations 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 configuration on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption configurations you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionConfigsResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionList":{ + "shape":"FieldLevelEncryptionList", + "documentation":"

Returns a list of all field-level encryption configurations that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionList" + }, + "ListFieldLevelEncryptionProfilesRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of profiles. The results include profiles 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 profile on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of field-level encryption profiles you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFieldLevelEncryptionProfilesResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfileList":{ + "shape":"FieldLevelEncryptionProfileList", + "documentation":"

Returns a list of the field-level encryption profiles that have been created in CloudFront for this account.

" + } + }, + "payload":"FieldLevelEncryptionProfileList" + }, + "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" + }, + "ListPublicKeysRequest":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"string", + "documentation":"

Use this when paginating results to indicate where to begin in your list of public keys. The results include public keys 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 public key on that page).

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"string", + "documentation":"

The maximum number of public keys you want in the response body.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListPublicKeysResult":{ + "type":"structure", + "members":{ + "PublicKeyList":{ + "shape":"PublicKeyList", + "documentation":"

Returns a list of all public keys that have been added to CloudFront for this account.

" + } + }, + "payload":"PublicKeyList" + }, + "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 don't 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 don't 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 don't 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", + "TLSv1_2016", + "TLSv1.1_2016", + "TLSv1.2_2018" + ] + }, + "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 + }, + "NoSuchFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified configuration for field-level encryption doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchFieldLevelEncryptionProfile":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified profile for field-level encryption doesn't 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 + }, + "NoSuchPublicKey":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key doesn't exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchResource":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

A resource that was specified is not valid.

", + "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 or origin group. 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. If you set up your bucket to be configured as a website endpoint, enter the Amazon S3 static website hosting endpoint for the bucket.

For more information about specifying this value for different types of origins, see Origin Domain Name in the Amazon CloudFront Developer Guide.

Constraints for Amazon S3 origins:

  • If you configured Amazon S3 Transfer Acceleration for your bucket, don't specify the s3-accelerate endpoint for DomainName.

  • The bucket name must be between 3 and 63 characters long (inclusive).

  • The bucket name must contain only lowercase characters, numbers, periods, underscores, and dashes.

  • The bucket name must not contain adjacent periods.

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:

  • DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, dot (.), hyphen (-), or underscore (_) characters.

  • The name cannot exceed 128 characters.

" + }, + "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:

  • DomainName: An Amazon S3 bucket named myawsbucket.

  • OriginPath: /production

  • CNAME: example.com

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, HTTP server (for example, a web server), Amazon MediaStore, or other server from which CloudFront gets your files. This can also be an origin group, if you've created an origin group. You must specify at least one origin or origin group.

For the current limit on the number of origins or origin groups that you can specify 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 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" + } + }, + "OriginGroup":{ + "type":"structure", + "required":[ + "Id", + "FailoverCriteria", + "Members" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

The origin group's ID.

" + }, + "FailoverCriteria":{ + "shape":"OriginGroupFailoverCriteria", + "documentation":"

A complex type that contains information about the failover criteria for an origin group.

" + }, + "Members":{ + "shape":"OriginGroupMembers", + "documentation":"

A complex type that contains information about the origins in an origin group.

" + } + }, + "documentation":"

An origin group includes two origins (a primary origin and a second origin to failover to) and a failover criteria that you specify. You create an origin group to support origin failover in CloudFront. When you create or update a distribution, you can specifiy the origin group instead of a single origin, and CloudFront will failover from the primary origin to the second origin under the failover conditions that you've chosen.

" + }, + "OriginGroupFailoverCriteria":{ + "type":"structure", + "required":["StatusCodes"], + "members":{ + "StatusCodes":{ + "shape":"StatusCodes", + "documentation":"

The status codes that, when returned from the primary origin, will trigger CloudFront to failover to the second origin.

" + } + }, + "documentation":"

A complex data type that includes information about the failover criteria for an origin group, including the status codes for which CloudFront will failover from the primary origin to the second origin.

" + }, + "OriginGroupList":{ + "type":"list", + "member":{ + "shape":"OriginGroup", + "locationName":"OriginGroup" + }, + "documentation":"

List of origin groups for a distribution.

" + }, + "OriginGroupMember":{ + "type":"structure", + "required":["OriginId"], + "members":{ + "OriginId":{ + "shape":"string", + "documentation":"

The ID for an origin in an origin group.

" + } + }, + "documentation":"

An origin in an origin group.

" + }, + "OriginGroupMemberList":{ + "type":"list", + "member":{ + "shape":"OriginGroupMember", + "locationName":"OriginGroupMember" + }, + "documentation":"

List of origins in an origin group.

", + "max":2, + "min":2 + }, + "OriginGroupMembers":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins in an origin group.

" + }, + "Items":{ + "shape":"OriginGroupMemberList", + "documentation":"

Items (origins) in an origin group.

" + } + }, + "documentation":"

A complex data type for the origins included in an origin group.

" + }, + "OriginGroups":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origin groups.

" + }, + "Items":{ + "shape":"OriginGroupList", + "documentation":"

The items (origin groups) in a distribution.

" + } + }, + "documentation":"

A complex data type for the origin groups specified for a distribution.

" + }, + "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", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of origins or origin groups for this distribution.

" + }, + "Items":{ + "shape":"OriginList", + "documentation":"

A complex type that contains origins or origin groups for this distribution.

" + } + }, + "documentation":"

A complex type that contains information about origins and origin groups for this distribution.

" + }, + "PathList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Path" + } + }, + "Paths":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of invalidation paths specified for the 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" + ] + }, + "PublicKey":{ + "type":"structure", + "required":[ + "Id", + "CreatedTime", + "PublicKeyConfig" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

A unique ID assigned to a public key you've added to CloudFront.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

A time you added a public key to CloudFront.

" + }, + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

A complex data type for a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A complex data type of public keys you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "Name", + "EncodedKey" + ], + "members":{ + "CallerReference":{ + "shape":"string", + "documentation":"

A unique number that ensures that the request can't be replayed.

" + }, + "Name":{ + "shape":"string", + "documentation":"

The name for a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

The encoded public key that you want to add to CloudFront to use with features like field-level encryption.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

An optional comment about a public key.

" + } + }, + "documentation":"

Information about a public key you add to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeyInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The specified public key is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "PublicKeyList":{ + "type":"structure", + "required":[ + "MaxItems", + "Quantity" + ], + "members":{ + "NextMarker":{ + "shape":"string", + "documentation":"

If there are more elements to be listed, this element is present and contains the value that you can use for the Marker request parameter to continue listing your public keys where you left off.

" + }, + "MaxItems":{ + "shape":"integer", + "documentation":"

The maximum number of public keys you want in the response body.

" + }, + "Quantity":{ + "shape":"integer", + "documentation":"

The number of public keys you added to CloudFront to use with features like field-level encryption.

" + }, + "Items":{ + "shape":"PublicKeySummaryList", + "documentation":"

An array of information about a public key you add to CloudFront to use with features like field-level encryption.

" + } + }, + "documentation":"

A list of public keys you've added to CloudFront to use with features like field-level encryption.

" + }, + "PublicKeySummary":{ + "type":"structure", + "required":[ + "Id", + "Name", + "CreatedTime", + "EncodedKey" + ], + "members":{ + "Id":{ + "shape":"string", + "documentation":"

ID for public key information summary.

" + }, + "Name":{ + "shape":"string", + "documentation":"

Name for public key information summary.

" + }, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

Creation time for public key information summary.

" + }, + "EncodedKey":{ + "shape":"string", + "documentation":"

Encoded key for public key information summary.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

Comment for public key information summary.

" + } + }, + "documentation":"

A complex data type for public key information.

" + }, + "PublicKeySummaryList":{ + "type":"list", + "member":{ + "shape":"PublicKeySummary", + "locationName":"PublicKeySummary" + } + }, + "QueryArgProfile":{ + "type":"structure", + "required":[ + "QueryArg", + "ProfileId" + ], + "members":{ + "QueryArg":{ + "shape":"string", + "documentation":"

Query argument for field-level encryption query argument-profile mapping.

" + }, + "ProfileId":{ + "shape":"string", + "documentation":"

ID of profile to use for field-level encryption query argument-profile mapping

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileConfig":{ + "type":"structure", + "required":["ForwardWhenQueryArgProfileIsUnknown"], + "members":{ + "ForwardWhenQueryArgProfileIsUnknown":{ + "shape":"boolean", + "documentation":"

Flag to set if you want a request to be forwarded to the origin even if the profile specified by the field-level encryption query argument, fle-profile, is unknown.

" + }, + "QueryArgProfiles":{ + "shape":"QueryArgProfiles", + "documentation":"

Profiles specified for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Configuration for query argument-profile mapping for field-level encryption.

" + }, + "QueryArgProfileEmpty":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

No profile specified for the field-level encryption query argument.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "QueryArgProfileList":{ + "type":"list", + "member":{ + "shape":"QueryArgProfile", + "locationName":"QueryArgProfile" + } + }, + "QueryArgProfiles":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

Number of profiles for query argument-profile mapping for field-level encryption.

" + }, + "Items":{ + "shape":"QueryArgProfileList", + "documentation":"

Number of items for query argument-profile mapping for field-level encryption.

" + } + }, + "documentation":"

Query argument-profile mapping for field-level encryption.

" + }, + "QueryStringCacheKeys":{ + "type":"structure", + "required":["Quantity"], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of whitelisted query string parameters for a cache behavior.

" + }, + "Items":{ + "shape":"QueryStringCacheKeysList", + "documentation":"

A list that contains the query string parameters that you want CloudFront to use as a basis for caching for a cache behavior. If Quantity is 0, you can omit Items.

" + } + }, + "documentation":"

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for a cache behavior.

" + }, + "QueryStringCacheKeysList":{ + "type":"list", + "member":{ + "shape":"string", + "locationName":"Name" + } + }, + "ResourceARN":{ + "type":"string", + "pattern":"arn:aws(-cn)?:cloudfront::[0-9]+:.*" + }, + "Restrictions":{ + "type":"structure", + "required":["GeoRestriction"], + "members":{ + "GeoRestriction":{ + "shape":"GeoRestriction", + "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.

" + } + }, + "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 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 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 distribution. Valid values include:

  • self, which is the AWS account used to create the distribution.

  • An AWS account number.

" + }, + "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" + } + }, + "StatusCodeList":{ + "type":"list", + "member":{ + "shape":"integer", + "locationName":"StatusCode" + }, + "documentation":"

List of status codes for origin failover.

", + "min":1 + }, + "StatusCodes":{ + "type":"structure", + "required":[ + "Quantity", + "Items" + ], + "members":{ + "Quantity":{ + "shape":"integer", + "documentation":"

The number of status codes.

" + }, + "Items":{ + "shape":"StatusCodeList", + "documentation":"

The items (status codes) for an origin group.

" + } + }, + "documentation":"

A complex data type for the status codes that you specify that, when returned by a primary origin, trigger CloudFront to failover to a second origin.

" + }, + "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", + "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 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 tells CloudFront where you want RTMP content to be delivered from, and the details about how to track and manage content delivery.

" + }, + "StreamingDistributionAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The caller reference you attempted to create the streaming distribution with is associated with another distribution

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "StreamingDistributionConfig":{ + "type":"structure", + "required":[ + "CallerReference", + "S3Origin", + "Comment", + "TrustedSigners", + "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 StreamingDistributionConfig object), CloudFront creates a new distribution.

If CallerReference is a value that you already sent in a previous request to create a distribution, 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"} + }, + "documentation":"

The specified CloudFront distribution is not disabled. You must disable the distribution before you can delete it.

", + "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, d111111abcdef8.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.

For more information, see Serving Private Content through CloudFront in the Amazon CloudFront Developer Guide.

" + }, + "Comment":{ + "shape":"string", + "documentation":"

The comment originally specified when this distribution was created.

" + }, + "PriceClass":{ + "shape":"PriceClass", + "documentation":"

A complex type that contains information about price class for this streaming distribution.

" + }, + "Enabled":{ + "shape":"boolean", + "documentation":"

Whether the distribution is enabled to accept end user requests for content.

" + } + }, + "documentation":"

A summary of the information for a 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 don't 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 don't 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/2019-03-26/"} + } + }, + "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 + }, + "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of distributions have been associated with the specified configuration for field-level encryption.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyDistributionsWithLambdaAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause the maximum number of distributions with Lambda function associations per owner to be exceeded.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionConfigs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of configurations for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionContentTypeProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of content type profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionEncryptionEntities":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of encryption entities for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionFieldPatterns":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of field patterns for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyFieldLevelEncryptionQueryArgProfiles":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of query arg profiles for field-level encryption have been created.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyHeadersInForwardedValues":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many headers in forwarded values.

", + "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 + }, + "TooManyLambdaFunctionAssociations":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more Lambda function associations than are allowed per distribution.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginCustomHeaders":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many origin custom headers.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyOriginGroupsPerDistribution":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Processing your request would cause you to exceed the maximum number of origin groups allowed.

", + "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 + }, + "TooManyPublicKeys":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

The maximum number of public keys for field-level encryption have been created. To create a new public key, delete one of the existing keys.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyQueryStringParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains too many query string parameters.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyStreamingDistributionCNAMEs":{ + "type":"structure", + "members":{ + "Message":{"shape":"string"} + }, + "documentation":"

Your request contains more CNAMEs than are allowed per distribution.

", + "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 don't 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 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 in the Amazon CloudFront API Reference.

" + }, + "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/2019-03-26/"} + } + }, + "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/2019-03-26/"} + }, + "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/2019-03-26/"} + }, + "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" + }, + "UpdateFieldLevelEncryptionConfigRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionConfig":{ + "shape":"FieldLevelEncryptionConfig", + "documentation":"

Request to update a field-level encryption configuration.

", + "locationName":"FieldLevelEncryptionConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the configuration you want to update.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the configuration identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionConfig" + }, + "UpdateFieldLevelEncryptionConfigResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryption":{ + "shape":"FieldLevelEncryption", + "documentation":"

Return the results of updating the configuration.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when updating the configuration. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryption" + }, + "UpdateFieldLevelEncryptionProfileRequest":{ + "type":"structure", + "required":[ + "FieldLevelEncryptionProfileConfig", + "Id" + ], + "members":{ + "FieldLevelEncryptionProfileConfig":{ + "shape":"FieldLevelEncryptionProfileConfig", + "documentation":"

Request to update a field-level encryption profile.

", + "locationName":"FieldLevelEncryptionProfileConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

The ID of the field-level encryption profile request.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the profile identity to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"FieldLevelEncryptionProfileConfig" + }, + "UpdateFieldLevelEncryptionProfileResult":{ + "type":"structure", + "members":{ + "FieldLevelEncryptionProfile":{ + "shape":"FieldLevelEncryptionProfile", + "documentation":"

Return the results of updating the profile.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The result of the field-level encryption profile request.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"FieldLevelEncryptionProfile" + }, + "UpdatePublicKeyRequest":{ + "type":"structure", + "required":[ + "PublicKeyConfig", + "Id" + ], + "members":{ + "PublicKeyConfig":{ + "shape":"PublicKeyConfig", + "documentation":"

Request to update public key information.

", + "locationName":"PublicKeyConfig", + "xmlNamespace":{"uri":"http://cloudfront.amazonaws.com/doc/2019-03-26/"} + }, + "Id":{ + "shape":"string", + "documentation":"

ID of the public key to be updated.

", + "location":"uri", + "locationName":"Id" + }, + "IfMatch":{ + "shape":"string", + "documentation":"

The value of the ETag header that you received when retrieving the public key to update. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"If-Match" + } + }, + "payload":"PublicKeyConfig" + }, + "UpdatePublicKeyResult":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

Return the results of updating the public key.

" + }, + "ETag":{ + "shape":"string", + "documentation":"

The current version of the update public key result. For example: E2QWRUHAPOMQZL.

", + "location":"header", + "locationName":"ETag" + } + }, + "payload":"PublicKey" + }, + "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/2019-03-26/"} + }, + "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 the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, set this field to true.

If the distribution uses Aliases (alternate domain names or CNAMEs), set this field to false and specify values for the following fields:

  • ACMCertificateArn or IAMCertificateId (specify a value for one, not both)

  • MinimumProtocolVersion

  • SSLSupportMethod

" + }, + "IAMCertificateId":{ + "shape":"string", + "documentation":"

If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in AWS Identity and Access Management (AWS IAM), provide the ID of the IAM certificate.

If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVerison and SSLSupportMethod.

" + }, + "ACMCertificateArn":{ + "shape":"string", + "documentation":"

If the distribution uses Aliases (alternate domain names or CNAMEs) and the SSL/TLS certificate is stored in AWS Certificate Manager (ACM), provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront only supports ACM certificates in the US East (N. Virginia) Region (us-east-1).

If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVerison and SSLSupportMethod.

" + }, + "SSLSupportMethod":{ + "shape":"SSLSupportMethod", + "documentation":"

If the distribution uses Aliases (alternate domain names or CNAMEs), specify which viewers the distribution accepts HTTPS connections from.

  • sni-only – The distribution accepts HTTPS connections from only viewers that support server name indication (SNI). This is recommended. Most browsers and clients released after 2010 support SNI.

  • vip – The distribution accepts HTTPS connections from all viewers including those that don’t support SNI. This is not recommended, and results in additional monthly charges from CloudFront.

If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, don’t set a value for this field.

" + }, + "MinimumProtocolVersion":{ + "shape":"MinimumProtocolVersion", + "documentation":"

If the distribution uses Aliases (alternate domain names or CNAMEs), specify the security policy that you want CloudFront to use for HTTPS connections with viewers. The security policy determines two settings:

  • The minimum SSL/TLS protocol that CloudFront can use to communicate with viewers.

  • The ciphers that CloudFront can use to encrypt the content that it returns to viewers.

For more information, see Security Policy and Supported Protocols and Ciphers Between Viewers and CloudFront in the Amazon CloudFront Developer Guide.

On the CloudFront console, this setting is called Security Policy.

We recommend that you specify TLSv1.2_2018 unless your viewers are using browsers or devices that don’t support TLSv1.2.

When you’re using SNI only (you set SSLSupportMethod to sni-only), you must specify TLSv1 or higher.

If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net (you set CloudFrontDefaultCertificate to true), CloudFront automatically sets the security policy to TLSv1 regardless of the value that you set here.

" + }, + "Certificate":{ + "shape":"string", + "documentation":"

This field is deprecated. Use one of the following fields instead:

  • ACMCertificateArn

  • IAMCertificateId

  • CloudFrontDefaultCertificate

", + "deprecated":true + }, + "CertificateSource":{ + "shape":"CertificateSource", + "documentation":"

This field is deprecated. Use one of the following fields instead:

  • ACMCertificateArn

  • IAMCertificateId

  • CloudFrontDefaultCertificate

", + "deprecated":true + } + }, + "documentation":"

A complex type that determines the distribution’s SSL/TLS configuration for communicating with viewers.

If the distribution doesn’t use Aliases (also known as alternate domain names or CNAMEs)—that is, if the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate to true and leave all other fields empty.

If the distribution uses Aliases (alternate domain names or CNAMEs), use the fields in this type to specify the following settings:

  • Which viewers the distribution accepts HTTPS connections from: only viewers that support server name indication (SNI) (recommended), or all viewers including those that don’t support SNI.

    • To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod to sni-only. This is recommended. Most browsers and clients released after 2010 support SNI.

    • To accept HTTPS connections from all viewers, including those that don’t support SNI, set SSLSupportMethod to vip. This is not recommended, and results in additional monthly charges from CloudFront.

  • The minimum SSL/TLS protocol version that the distribution can use to communicate with viewers. To specify a minimum version, choose a value for MinimumProtocolVersion. For more information, see Security Policy in the Amazon CloudFront Developer Guide.

  • The location of the SSL/TLS certificate, AWS Certificate Manager (ACM) (recommended) or AWS Identity and Access Management (AWS IAM). You specify the location by setting a value in one of the following fields (not both):

    • ACMCertificateArn

    • IAMCertificateId

All distributions support HTTPS connections from viewers. To require viewers to use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy in the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should use SSL/TLS to communicate with your custom origin, use CustomOriginConfig.

For more information, see Using HTTPS with CloudFront and Using Alternate Domain Names and HTTPS in the 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 CloudFront API actions, data types, and errors. For detailed information about CloudFront features, see the Amazon CloudFront Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudfront/2019-03-26/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudfront/2019-03-26/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,47 @@ +{ + "version": 2, + "waiters": { + "DistributionDeployed": { + "delay": 60, + "operation": "GetDistribution", + "maxAttempts": 35, + "description": "Wait until a distribution is deployed.", + "acceptors": [ + { + "expected": "Deployed", + "matcher": "path", + "state": "success", + "argument": "Distribution.Status" + } + ] + }, + "InvalidationCompleted": { + "delay": 20, + "operation": "GetInvalidation", + "maxAttempts": 30, + "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 -Nru python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,19 @@ +{ + "pagination": { + "ListHapgs": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "HapgList" + }, + "ListHsms": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "HsmList" + }, + "ListLunaClients": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ClientList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/service-2.json --- python-botocore-1.4.70/botocore/data/cloudhsm/2014-05-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsm/2014-05-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"CloudHSM", "serviceFullName":"Amazon CloudHSM", + "serviceId":"CloudHSM", "signatureVersion":"v4", - "targetPrefix":"CloudHsmFrontendService" + "targetPrefix":"CloudHsmFrontendService", + "uid":"cloudhsm-2014-05-30" }, "operations":{ "AddTagsToResource":{ @@ -24,7 +26,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Adds or overwrites one or more tags for the specified AWS CloudHSM resource.

Each tag consists of a key and a value. Tag keys must be unique to each resource.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Adds or overwrites one or more tags for the specified AWS CloudHSM resource.

Each tag consists of a key and a value. Tag keys must be unique to each resource.

" }, "CreateHapg":{ "name":"CreateHapg", @@ -39,7 +41,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates a high-availability partition group. A high-availability partition group is a group of partitions that spans multiple physical HSMs.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates a high-availability partition group. A high-availability partition group is a group of partitions that spans multiple physical HSMs.

" }, "CreateHsm":{ "name":"CreateHsm", @@ -54,7 +56,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates an uninitialized HSM instance.

There is an upfront fee charged for each HSM instance that you create with the CreateHsm operation. If you accidentally provision an HSM and want to request a refund, delete the instance using the DeleteHsm operation, go to the AWS Support Center, create a new case, and select Account and Billing Support.

It can take up to 20 minutes to create and provision an HSM. You can monitor the status of the HSM with the DescribeHsm operation. The HSM is ready to be initialized when the status changes to RUNNING.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates an uninitialized HSM instance.

There is an upfront fee charged for each HSM instance that you create with the CreateHsm operation. If you accidentally provision an HSM and want to request a refund, delete the instance using the DeleteHsm operation, go to the AWS Support Center, create a new case, and select Account and Billing Support.

It can take up to 20 minutes to create and provision an HSM. You can monitor the status of the HSM with the DescribeHsm operation. The HSM is ready to be initialized when the status changes to RUNNING.

" }, "CreateLunaClient":{ "name":"CreateLunaClient", @@ -69,7 +71,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates an HSM client.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Creates an HSM client.

" }, "DeleteHapg":{ "name":"DeleteHapg", @@ -84,7 +86,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes a high-availability partition group.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes a high-availability partition group.

" }, "DeleteHsm":{ "name":"DeleteHsm", @@ -99,7 +101,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes an HSM. After completion, this operation cannot be undone and your key material cannot be recovered.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes an HSM. After completion, this operation cannot be undone and your key material cannot be recovered.

" }, "DeleteLunaClient":{ "name":"DeleteLunaClient", @@ -114,7 +116,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Deletes a client.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Deletes a client.

" }, "DescribeHapg":{ "name":"DescribeHapg", @@ -129,7 +131,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves information about a high-availability partition group.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about a high-availability partition group.

" }, "DescribeHsm":{ "name":"DescribeHsm", @@ -144,7 +146,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about an HSM. You can identify the HSM by its ARN or its serial number.

" }, "DescribeLunaClient":{ "name":"DescribeLunaClient", @@ -159,7 +161,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves information about an HSM client.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves information about an HSM client.

" }, "GetConfig":{ "name":"GetConfig", @@ -174,7 +176,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Gets the configuration files necessary to connect to all high availability partition groups the client is associated with.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Gets the configuration files necessary to connect to all high availability partition groups the client is associated with.

" }, "ListAvailableZones":{ "name":"ListAvailableZones", @@ -189,7 +191,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Lists the Availability Zones that have available AWS CloudHSM capacity.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists the Availability Zones that have available AWS CloudHSM capacity.

" }, "ListHapgs":{ "name":"ListHapgs", @@ -204,7 +206,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Lists the high-availability partition groups for the account.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHapgs to retrieve the next set of items.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists the high-availability partition groups for the account.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHapgs to retrieve the next set of items.

" }, "ListHsms":{ "name":"ListHsms", @@ -219,7 +221,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Retrieves the identifiers of all of the HSMs provisioned for the current customer.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHsms to retrieve the next set of items.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Retrieves the identifiers of all of the HSMs provisioned for the current customer.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListHsms to retrieve the next set of items.

" }, "ListLunaClients":{ "name":"ListLunaClients", @@ -234,7 +236,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Lists all of the clients.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListLunaClients to retrieve the next set of items.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Lists all of the clients.

This operation supports pagination with the use of the NextToken member. If more results are available, the NextToken member of the response contains a token that you pass in the next call to ListLunaClients to retrieve the next set of items.

" }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -249,7 +251,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Returns a list of all tags for the specified AWS CloudHSM resource.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Returns a list of all tags for the specified AWS CloudHSM resource.

" }, "ModifyHapg":{ "name":"ModifyHapg", @@ -264,7 +266,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Modifies an existing high-availability partition group.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies an existing high-availability partition group.

" }, "ModifyHsm":{ "name":"ModifyHsm", @@ -279,7 +281,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Modifies an HSM.

This operation can result in the HSM being offline for up to 15 minutes while the AWS CloudHSM service is reconfigured. If you are modifying a production HSM, you should ensure that your AWS CloudHSM service is configured for high availability, and consider executing this operation during a maintenance window.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies an HSM.

This operation can result in the HSM being offline for up to 15 minutes while the AWS CloudHSM service is reconfigured. If you are modifying a production HSM, you should ensure that your AWS CloudHSM service is configured for high availability, and consider executing this operation during a maintenance window.

" }, "ModifyLunaClient":{ "name":"ModifyLunaClient", @@ -292,7 +294,7 @@ "errors":[ {"shape":"CloudHsmServiceException"} ], - "documentation":"

Modifies the certificate used by the client.

This action can potentially start a workflow to install the new certificate on the client's HSMs.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Modifies the certificate used by the client.

This action can potentially start a workflow to install the new certificate on the client's HSMs.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -307,7 +309,7 @@ {"shape":"CloudHsmInternalException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Removes one or more tags from the specified AWS CloudHSM resource.

To remove a tag, specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource.

" + "documentation":"

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

Removes one or more tags from the specified AWS CloudHSM resource.

To remove a tag, specify only the tag key to remove (not the value). To overwrite the value for an existing tag, use AddTagsToResource.

" } }, "shapes":{ @@ -463,7 +465,7 @@ }, "ExternalId":{ "shape":"ExternalId", - "documentation":"

The external ID from IamRoleArn, if present.

", + "documentation":"

The external ID from IamRoleArn, if present.

", "locationName":"ExternalId" }, "SubscriptionType":{ @@ -481,7 +483,7 @@ "locationName":"SyslogIp" } }, - "documentation":"

Contains the inputs for the CreateHsm operation.

", + "documentation":"

Contains the inputs for the CreateHsm operation.

", "locationName":"CreateHsmRequest" }, "CreateHsmResponse":{ @@ -492,7 +494,7 @@ "documentation":"

The ARN of the HSM.

" } }, - "documentation":"

Contains the output of the CreateHsm operation.

" + "documentation":"

Contains the output of the CreateHsm operation.

" }, "CreateLunaClientRequest":{ "type":"structure", @@ -607,9 +609,18 @@ "shape":"String", "documentation":"

The serial number of the high-availability partition group.

" }, - "HsmsLastActionFailed":{"shape":"HsmList"}, - "HsmsPendingDeletion":{"shape":"HsmList"}, - "HsmsPendingRegistration":{"shape":"HsmList"}, + "HsmsLastActionFailed":{ + "shape":"HsmList", + "documentation":"

" + }, + "HsmsPendingDeletion":{ + "shape":"HsmList", + "documentation":"

" + }, + "HsmsPendingRegistration":{ + "shape":"HsmList", + "documentation":"

" + }, "Label":{ "shape":"Label", "documentation":"

The label for the high-availability partition group.

" @@ -634,14 +645,14 @@ "members":{ "HsmArn":{ "shape":"HsmArn", - "documentation":"

The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.

" + "documentation":"

The ARN of the HSM. Either the HsmArn or the SerialNumber parameter must be specified.

" }, "HsmSerialNumber":{ "shape":"HsmSerialNumber", - "documentation":"

The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified.

" + "documentation":"

The serial number of the HSM. Either the HsmArn or the HsmSerialNumber parameter must be specified.

" } }, - "documentation":"

Contains the inputs for the DescribeHsm operation.

" + "documentation":"

Contains the inputs for the DescribeHsm operation.

" }, "DescribeHsmResponse":{ "type":"structure", @@ -888,7 +899,7 @@ "members":{ "NextToken":{ "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListHapgs. Pass null if this is the first call.

" + "documentation":"

The NextToken value from a previous call to ListHapgs. Pass null if this is the first call.

" } } }, @@ -902,7 +913,7 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this value to ListHapgs to retrieve the next set of items.

" + "documentation":"

If not null, more results are available. Pass this value to ListHapgs to retrieve the next set of items.

" } } }, @@ -911,7 +922,7 @@ "members":{ "NextToken":{ "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListHsms. Pass null if this is the first call.

" + "documentation":"

The NextToken value from a previous call to ListHsms. Pass null if this is the first call.

" } } }, @@ -924,17 +935,17 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this value to ListHsms to retrieve the next set of items.

" + "documentation":"

If not null, more results are available. Pass this value to ListHsms to retrieve the next set of items.

" } }, - "documentation":"

Contains the output of the ListHsms operation.

" + "documentation":"

Contains the output of the ListHsms operation.

" }, "ListLunaClientsRequest":{ "type":"structure", "members":{ "NextToken":{ "shape":"PaginationToken", - "documentation":"

The NextToken value from a previous call to ListLunaClients. Pass null if this is the first call.

" + "documentation":"

The NextToken value from a previous call to ListLunaClients. Pass null if this is the first call.

" } } }, @@ -948,7 +959,7 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

If not null, more results are available. Pass this to ListLunaClients to retrieve the next set of items.

" + "documentation":"

If not null, more results are available. Pass this to ListLunaClients to retrieve the next set of items.

" } } }, @@ -1134,7 +1145,7 @@ }, "SubscriptionType":{ "type":"string", - "documentation":"

Specifies the type of subscription for the HSM.

  • PRODUCTION - The HSM is being used in a production environment.
  • TRIAL - The HSM is being used in a product trial.
", + "documentation":"

Specifies the type of subscription for the HSM.

  • PRODUCTION - The HSM is being used in a production environment.

  • TRIAL - The HSM is being used in a product trial.

", "enum":["PRODUCTION"] }, "Tag":{ @@ -1182,5 +1193,5 @@ "pattern":"vpc-[0-9a-f]{8}" } }, - "documentation":"AWS CloudHSM Service" + "documentation":"AWS CloudHSM Service

This is documentation for AWS CloudHSM Classic. For more information, see AWS CloudHSM Classic FAQs, the AWS CloudHSM Classic User Guide, and the AWS CloudHSM Classic API Reference.

For information about the current version of AWS CloudHSM, see AWS CloudHSM, the AWS CloudHSM User Guide, and the AWS CloudHSM API Reference.

" } diff -Nru python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeBackups": { + "result_key": "Backups", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeClusters": { + "result_key": "Clusters", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTags": { + "result_key": "TagList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/service-2.json --- python-botocore-1.4.70/botocore/data/cloudhsmv2/2017-04-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudhsmv2/2017-04-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1030 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-28", + "endpointPrefix":"cloudhsmv2", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"CloudHSM V2", + "serviceFullName":"AWS CloudHSM V2", + "serviceId":"CloudHSM V2", + "signatureVersion":"v4", + "signingName":"cloudhsm", + "targetPrefix":"BaldrApiService", + "uid":"cloudhsmv2-2017-04-28" + }, + "operations":{ + "CopyBackupToRegion":{ + "name":"CopyBackupToRegion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyBackupToRegionRequest"}, + "output":{"shape":"CopyBackupToRegionResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Copy an AWS CloudHSM cluster backup to a different region.

" + }, + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Creates a new AWS CloudHSM cluster.

" + }, + "CreateHsm":{ + "name":"CreateHsm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHsmRequest"}, + "output":{"shape":"CreateHsmResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmAccessDeniedException"} + ], + "documentation":"

Creates a new hardware security module (HSM) in the specified AWS CloudHSM cluster.

" + }, + "DeleteBackup":{ + "name":"DeleteBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBackupRequest"}, + "output":{"shape":"DeleteBackupResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"} + ], + "documentation":"

Deletes a specified AWS CloudHSM backup. A backup can be restored up to 7 days after the DeleteBackup request is made. For more information on restoring a backup, see RestoreBackup.

" + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Deletes the specified AWS CloudHSM cluster. Before you can delete a cluster, you must delete all HSMs in the cluster. To see if the cluster contains any HSMs, use DescribeClusters. To delete an HSM, use DeleteHsm.

" + }, + "DeleteHsm":{ + "name":"DeleteHsm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteHsmRequest"}, + "output":{"shape":"DeleteHsmResponse"}, + "errors":[ + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmAccessDeniedException"} + ], + "documentation":"

Deletes the specified HSM. To specify an HSM, you can use its identifier (ID), the IP address of the HSM's elastic network interface (ENI), or the ID of the HSM's ENI. You need to specify only one of these values. To find these values, use DescribeClusters.

" + }, + "DescribeBackups":{ + "name":"DescribeBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBackupsRequest"}, + "output":{"shape":"DescribeBackupsResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Gets information about backups of AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the backups. When the response contains only a subset of backups, it includes a NextToken value. Use this value in a subsequent DescribeBackups request to get more backups. When you receive a response with no NextToken (or an empty or null value), that means there are no more backups to get.

" + }, + "DescribeClusters":{ + "name":"DescribeClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClustersRequest"}, + "output":{"shape":"DescribeClustersResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Gets information about AWS CloudHSM clusters.

This is a paginated operation, which means that each response might contain only a subset of all the clusters. When the response contains only a subset of clusters, it includes a NextToken value. Use this value in a subsequent DescribeClusters request to get more clusters. When you receive a response with no NextToken (or an empty or null value), that means there are no more clusters to get.

" + }, + "InitializeCluster":{ + "name":"InitializeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InitializeClusterRequest"}, + "output":{"shape":"InitializeClusterResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"} + ], + "documentation":"

Claims an AWS CloudHSM cluster by submitting the cluster certificate issued by your issuing certificate authority (CA) and the CA's root certificate. Before you can claim a cluster, you must sign the cluster's certificate signing request (CSR) with your issuing CA. To get the cluster's CSR, use DescribeClusters.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Gets a list of tags for the specified AWS CloudHSM cluster.

This is a paginated operation, which means that each response might contain only a subset of all the tags. When the response contains only a subset of tags, it includes a NextToken value. Use this value in a subsequent ListTags request to get more tags. When you receive a response with no NextToken (or an empty or null value), that means there are no more tags to get.

" + }, + "RestoreBackup":{ + "name":"RestoreBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreBackupRequest"}, + "output":{"shape":"RestoreBackupResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"} + ], + "documentation":"

Restores a specified AWS CloudHSM backup that is in the PENDING_DELETION state. For mor information on deleting a backup, see DeleteBackup.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Adds or overwrites one or more tags for the specified AWS CloudHSM cluster.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"CloudHsmAccessDeniedException"}, + {"shape":"CloudHsmInternalFailureException"}, + {"shape":"CloudHsmInvalidRequestException"}, + {"shape":"CloudHsmResourceNotFoundException"}, + {"shape":"CloudHsmServiceException"}, + {"shape":"CloudHsmTagException"} + ], + "documentation":"

Removes the specified tag or tags from the specified AWS CloudHSM cluster.

" + } + }, + "shapes":{ + "Backup":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The identifier (ID) of the backup.

" + }, + "BackupState":{ + "shape":"BackupState", + "documentation":"

The state of the backup.

" + }, + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster that was backed up.

" + }, + "CreateTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the backup was created.

" + }, + "CopyTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the backup was copied from a source backup.

" + }, + "SourceRegion":{ + "shape":"Region", + "documentation":"

The AWS region that contains the source backup from which the new backup was copied.

" + }, + "SourceBackup":{ + "shape":"BackupId", + "documentation":"

The identifier (ID) of the source backup from which the new backup was copied.

" + }, + "SourceCluster":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster containing the source backup from which the new backup was copied. .

" + }, + "DeleteTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the backup will be permanently deleted.

" + }, + "TagList":{"shape":"TagList"} + }, + "documentation":"

Contains information about a backup of an AWS CloudHSM cluster. All backup objects contain the BackupId, BackupState, ClusterId, and CreateTimestamp parameters. Backups that were copied into a destination region additionally contain the CopyTimestamp, SourceBackup, SourceCluster, and SourceRegion paramters. A backup that is pending deletion will include the DeleteTimestamp parameter.

" + }, + "BackupId":{ + "type":"string", + "pattern":"backup-[2-7a-zA-Z]{11,16}" + }, + "BackupPolicy":{ + "type":"string", + "enum":["DEFAULT"] + }, + "BackupState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "READY", + "DELETED", + "PENDING_DELETION" + ] + }, + "Backups":{ + "type":"list", + "member":{"shape":"Backup"} + }, + "Boolean":{"type":"boolean"}, + "Cert":{ + "type":"string", + "max":5000, + "pattern":"[a-zA-Z0-9+-/=\\s]*" + }, + "Certificates":{ + "type":"structure", + "members":{ + "ClusterCsr":{ + "shape":"Cert", + "documentation":"

The cluster's certificate signing request (CSR). The CSR exists only when the cluster's state is UNINITIALIZED.

" + }, + "HsmCertificate":{ + "shape":"Cert", + "documentation":"

The HSM certificate issued (signed) by the HSM hardware.

" + }, + "AwsHardwareCertificate":{ + "shape":"Cert", + "documentation":"

The HSM hardware certificate issued (signed) by AWS CloudHSM.

" + }, + "ManufacturerHardwareCertificate":{ + "shape":"Cert", + "documentation":"

The HSM hardware certificate issued (signed) by the hardware manufacturer.

" + }, + "ClusterCertificate":{ + "shape":"Cert", + "documentation":"

The cluster certificate issued (signed) by the issuing certificate authority (CA) of the cluster's owner.

" + } + }, + "documentation":"

Contains one or more certificates or a certificate signing request (CSR).

" + }, + "CloudHsmAccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

The request was rejected because the requester does not have permission to perform the requested operation.

", + "exception":true + }, + "CloudHsmInternalFailureException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

The request was rejected because of an AWS CloudHSM internal failure. The request can be retried.

", + "exception":true, + "fault":true + }, + "CloudHsmInvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

The request was rejected because it is not a valid request.

", + "exception":true + }, + "CloudHsmResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

The request was rejected because it refers to a resource that cannot be found.

", + "exception":true + }, + "CloudHsmServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

The request was rejected because an error occurred.

", + "exception":true + }, + "CloudHsmTagException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "exception":true + }, + "Cluster":{ + "type":"structure", + "members":{ + "BackupPolicy":{ + "shape":"BackupPolicy", + "documentation":"

The cluster's backup policy.

" + }, + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The cluster's identifier (ID).

" + }, + "CreateTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the cluster was created.

" + }, + "Hsms":{ + "shape":"Hsms", + "documentation":"

Contains information about the HSMs in the cluster.

" + }, + "HsmType":{ + "shape":"HsmType", + "documentation":"

The type of HSM that the cluster contains.

" + }, + "PreCoPassword":{ + "shape":"PreCoPassword", + "documentation":"

The default password for the cluster's Pre-Crypto Officer (PRECO) user.

" + }, + "SecurityGroup":{ + "shape":"SecurityGroup", + "documentation":"

The identifier (ID) of the cluster's security group.

" + }, + "SourceBackupId":{ + "shape":"BackupId", + "documentation":"

The identifier (ID) of the backup used to create the cluster. This value exists only when the cluster was created from a backup.

" + }, + "State":{ + "shape":"ClusterState", + "documentation":"

The cluster's state.

" + }, + "StateMessage":{ + "shape":"StateMessage", + "documentation":"

A description of the cluster's state.

" + }, + "SubnetMapping":{ + "shape":"ExternalSubnetMapping", + "documentation":"

A map from availability zone to the cluster’s subnet in that availability zone.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The identifier (ID) of the virtual private cloud (VPC) that contains the cluster.

" + }, + "Certificates":{ + "shape":"Certificates", + "documentation":"

Contains one or more certificates or a certificate signing request (CSR).

" + }, + "TagList":{"shape":"TagList"} + }, + "documentation":"

Contains information about an AWS CloudHSM cluster.

" + }, + "ClusterId":{ + "type":"string", + "pattern":"cluster-[2-7a-zA-Z]{11,16}" + }, + "ClusterState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "UNINITIALIZED", + "INITIALIZE_IN_PROGRESS", + "INITIALIZED", + "ACTIVE", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "DEGRADED" + ] + }, + "Clusters":{ + "type":"list", + "member":{"shape":"Cluster"} + }, + "CopyBackupToRegionRequest":{ + "type":"structure", + "required":[ + "DestinationRegion", + "BackupId" + ], + "members":{ + "DestinationRegion":{ + "shape":"Region", + "documentation":"

The AWS region that will contain your copied CloudHSM cluster backup.

" + }, + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup that will be copied to the destination region.

" + }, + "TagList":{"shape":"TagList"} + } + }, + "CopyBackupToRegionResponse":{ + "type":"structure", + "members":{ + "DestinationBackup":{ + "shape":"DestinationBackup", + "documentation":"

Information on the backup that will be copied to the destination region, including CreateTimestamp, SourceBackup, SourceCluster, and Source Region. CreateTimestamp of the destination backup will be the same as that of the source backup.

You will need to use the sourceBackupID returned in this operation to use the DescribeBackups operation on the backup that will be copied to the destination region.

" + } + } + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "SubnetIds", + "HsmType" + ], + "members":{ + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

The identifiers (IDs) of the subnets where you are creating the cluster. You must specify at least one subnet. If you specify multiple subnets, they must meet the following criteria:

  • All subnets must be in the same virtual private cloud (VPC).

  • You can specify only one subnet per Availability Zone.

" + }, + "HsmType":{ + "shape":"HsmType", + "documentation":"

The type of HSM to use in the cluster. Currently the only allowed value is hsm1.medium.

" + }, + "SourceBackupId":{ + "shape":"BackupId", + "documentation":"

The identifier (ID) of the cluster backup to restore. Use this value to restore the cluster from a backup instead of creating a new cluster. To find the backup ID, use DescribeBackups.

" + }, + "TagList":{"shape":"TagList"} + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

Information about the cluster that was created.

" + } + } + }, + "CreateHsmRequest":{ + "type":"structure", + "required":[ + "ClusterId", + "AvailabilityZone" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the HSM's cluster. To find the cluster ID, use DescribeClusters.

" + }, + "AvailabilityZone":{ + "shape":"ExternalAz", + "documentation":"

The Availability Zone where you are creating the HSM. To find the cluster's Availability Zones, use DescribeClusters.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

The HSM's IP address. If you specify an IP address, use an available address from the subnet that maps to the Availability Zone where you are creating the HSM. If you don't specify an IP address, one is chosen for you from that subnet.

" + } + } + }, + "CreateHsmResponse":{ + "type":"structure", + "members":{ + "Hsm":{ + "shape":"Hsm", + "documentation":"

Information about the HSM that was created.

" + } + } + }, + "DeleteBackupRequest":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup to be deleted. To find the ID of a backup, use the DescribeBackups operation.

" + } + } + }, + "DeleteBackupResponse":{ + "type":"structure", + "members":{ + "Backup":{ + "shape":"Backup", + "documentation":"

Information on the Backup object deleted.

" + } + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster that you are deleting. To find the cluster ID, use DescribeClusters.

" + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

Information about the cluster that was deleted.

" + } + } + }, + "DeleteHsmRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster that contains the HSM that you are deleting.

" + }, + "HsmId":{ + "shape":"HsmId", + "documentation":"

The identifier (ID) of the HSM that you are deleting.

" + }, + "EniId":{ + "shape":"EniId", + "documentation":"

The identifier (ID) of the elastic network interface (ENI) of the HSM that you are deleting.

" + }, + "EniIp":{ + "shape":"IpAddress", + "documentation":"

The IP address of the elastic network interface (ENI) of the HSM that you are deleting.

" + } + } + }, + "DeleteHsmResponse":{ + "type":"structure", + "members":{ + "HsmId":{ + "shape":"HsmId", + "documentation":"

The identifier (ID) of the HSM that was deleted.

" + } + } + }, + "DescribeBackupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The NextToken value that you received in the previous response. Use this value to get more backups.

" + }, + "MaxResults":{ + "shape":"MaxSize", + "documentation":"

The maximum number of backups to return in the response. When there are more backups than the number you specify, the response contains a NextToken value.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

One or more filters to limit the items returned in the response.

Use the backupIds filter to return only the specified backups. Specify backups by their backup identifier (ID).

Use the sourceBackupIds filter to return only the backups created from a source backup. The sourceBackupID of a source backup is returned by the CopyBackupToRegion operation.

Use the clusterIds filter to return only the backups for the specified clusters. Specify clusters by their cluster identifier (ID).

Use the states filter to return only backups that match the specified state.

" + }, + "SortAscending":{ + "shape":"Boolean", + "documentation":"

Designates whether or not to sort the return backups by ascending chronological order of generation.

" + } + } + }, + "DescribeBackupsResponse":{ + "type":"structure", + "members":{ + "Backups":{ + "shape":"Backups", + "documentation":"

A list of backups.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates that the response contains only a subset of backups. Use this value in a subsequent DescribeBackups request to get more backups.

" + } + } + }, + "DescribeClustersRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"Filters", + "documentation":"

One or more filters to limit the items returned in the response.

Use the clusterIds filter to return only the specified clusters. Specify clusters by their cluster identifier (ID).

Use the vpcIds filter to return only the clusters in the specified virtual private clouds (VPCs). Specify VPCs by their VPC identifier (ID).

Use the states filter to return only clusters that match the specified state.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The NextToken value that you received in the previous response. Use this value to get more clusters.

" + }, + "MaxResults":{ + "shape":"MaxSize", + "documentation":"

The maximum number of clusters to return in the response. When there are more clusters than the number you specify, the response contains a NextToken value.

" + } + } + }, + "DescribeClustersResponse":{ + "type":"structure", + "members":{ + "Clusters":{ + "shape":"Clusters", + "documentation":"

A list of clusters.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates that the response contains only a subset of clusters. Use this value in a subsequent DescribeClusters request to get more clusters.

" + } + } + }, + "DestinationBackup":{ + "type":"structure", + "members":{ + "CreateTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when both the source backup was created.

" + }, + "SourceRegion":{ + "shape":"Region", + "documentation":"

The AWS region that contains the source backup from which the new backup was copied.

" + }, + "SourceBackup":{ + "shape":"BackupId", + "documentation":"

The identifier (ID) of the source backup from which the new backup was copied.

" + }, + "SourceCluster":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster containing the source backup from which the new backup was copied.

" + } + }, + "documentation":"

Contains information about the backup that will be copied and created by the CopyBackupToRegion operation.

" + }, + "EniId":{ + "type":"string", + "pattern":"eni-[0-9a-fA-F]{8,17}" + }, + "ExternalAz":{ + "type":"string", + "pattern":"[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d[a-z]" + }, + "ExternalSubnetMapping":{ + "type":"map", + "key":{"shape":"ExternalAz"}, + "value":{"shape":"SubnetId"} + }, + "Field":{ + "type":"string", + "pattern":"[a-zA-Z0-9_-]+" + }, + "Filters":{ + "type":"map", + "key":{"shape":"Field"}, + "value":{"shape":"Strings"} + }, + "Hsm":{ + "type":"structure", + "required":["HsmId"], + "members":{ + "AvailabilityZone":{ + "shape":"ExternalAz", + "documentation":"

The Availability Zone that contains the HSM.

" + }, + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster that contains the HSM.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The subnet that contains the HSM's elastic network interface (ENI).

" + }, + "EniId":{ + "shape":"EniId", + "documentation":"

The identifier (ID) of the HSM's elastic network interface (ENI).

" + }, + "EniIp":{ + "shape":"IpAddress", + "documentation":"

The IP address of the HSM's elastic network interface (ENI).

" + }, + "HsmId":{ + "shape":"HsmId", + "documentation":"

The HSM's identifier (ID).

" + }, + "State":{ + "shape":"HsmState", + "documentation":"

The HSM's state.

" + }, + "StateMessage":{ + "shape":"String", + "documentation":"

A description of the HSM's state.

" + } + }, + "documentation":"

Contains information about a hardware security module (HSM) in an AWS CloudHSM cluster.

" + }, + "HsmId":{ + "type":"string", + "pattern":"hsm-[2-7a-zA-Z]{11,16}" + }, + "HsmState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "ACTIVE", + "DEGRADED", + "DELETE_IN_PROGRESS", + "DELETED" + ] + }, + "HsmType":{ + "type":"string", + "pattern":"(hsm1\\.medium)" + }, + "Hsms":{ + "type":"list", + "member":{"shape":"Hsm"} + }, + "InitializeClusterRequest":{ + "type":"structure", + "required":[ + "ClusterId", + "SignedCert", + "TrustAnchor" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The identifier (ID) of the cluster that you are claiming. To find the cluster ID, use DescribeClusters.

" + }, + "SignedCert":{ + "shape":"Cert", + "documentation":"

The cluster certificate issued (signed) by your issuing certificate authority (CA). The certificate must be in PEM format and can contain a maximum of 5000 characters.

" + }, + "TrustAnchor":{ + "shape":"Cert", + "documentation":"

The issuing certificate of the issuing certificate authority (CA) that issued (signed) the cluster certificate. You must use a self-signed certificate. The certificate used to sign the HSM CSR must be directly available, and thus must be the root certificate. The certificate must be in PEM format and can contain a maximum of 5000 characters.

" + } + } + }, + "InitializeClusterResponse":{ + "type":"structure", + "members":{ + "State":{ + "shape":"ClusterState", + "documentation":"

The cluster's state.

" + }, + "StateMessage":{ + "shape":"StateMessage", + "documentation":"

A description of the cluster's state.

" + } + } + }, + "IpAddress":{ + "type":"string", + "pattern":"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}" + }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The cluster identifier (ID) for the cluster whose tags you are getting. To find the cluster ID, use DescribeClusters.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The NextToken value that you received in the previous response. Use this value to get more tags.

" + }, + "MaxResults":{ + "shape":"MaxSize", + "documentation":"

The maximum number of tags to return in the response. When there are more tags than the number you specify, the response contains a NextToken value.

" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "required":["TagList"], + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

A list of tags.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates that the response contains only a subset of tags. Use this value in a subsequent ListTags request to get more tags.

" + } + } + }, + "MaxSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "PreCoPassword":{ + "type":"string", + "max":32, + "min":7 + }, + "Region":{ + "type":"string", + "pattern":"[a-z]{2}(-(gov))?-(east|west|north|south|central){1,2}-\\d" + }, + "ResourceId":{ + "type":"string", + "pattern":"(?:cluster|backup)-[2-7a-zA-Z]{11,16}" + }, + "RestoreBackupRequest":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup to be restored. To find the ID of a backup, use the DescribeBackups operation.

" + } + } + }, + "RestoreBackupResponse":{ + "type":"structure", + "members":{ + "Backup":{ + "shape":"Backup", + "documentation":"

Information on the Backup object created.

" + } + } + }, + "SecurityGroup":{ + "type":"string", + "pattern":"sg-[0-9a-fA-F]{8,17}" + }, + "StateMessage":{ + "type":"string", + "max":300, + "pattern":".*" + }, + "String":{"type":"string"}, + "Strings":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetId":{ + "type":"string", + "pattern":"subnet-[0-9a-fA-F]{8,17}" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":10, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the tag.

" + } + }, + "documentation":"

Contains a tag. A tag is a key-value pair.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagList" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The cluster identifier (ID) for the cluster that you are tagging. To find the cluster ID, use DescribeClusters.

" + }, + "TagList":{ + "shape":"TagList", + "documentation":"

A list of one or more tags.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagKeyList" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The cluster identifier (ID) for the cluster whose tags you are removing. To find the cluster ID, use DescribeClusters.

" + }, + "TagKeyList":{ + "shape":"TagKeyList", + "documentation":"

A list of one or more tag keys for the tags that you are removing. Specify only the tag keys, not the tag values.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "VpcId":{ + "type":"string", + "pattern":"vpc-[0-9a-fA-F]" + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

For more information about AWS CloudHSM, see AWS CloudHSM and the AWS CloudHSM User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cloudsearch/2011-02-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudsearch/2011-02-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudsearch/2011-02-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudsearch/2011-02-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -4,6 +4,7 @@ "apiVersion":"2011-02-01", "endpointPrefix":"cloudsearch", "serviceFullName":"Amazon CloudSearch", + "serviceId":"CloudSearch", "signatureVersion":"v4", "xmlNamespace":"http://cloudsearch.amazonaws.com/doc/2011-02-01/", "protocol":"query" diff -Nru python-botocore-1.4.70/botocore/data/cloudsearch/2013-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudsearch/2013-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudsearch/2013-01-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudsearch/2013-01-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/cloudsearch/2013-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudsearch/2013-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudsearch/2013-01-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudsearch/2013-01-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -3,12 +3,13 @@ "metadata":{ "apiVersion":"2013-01-01", "endpointPrefix":"cloudsearch", + "protocol":"query", "serviceFullName":"Amazon CloudSearch", + "serviceId":"CloudSearch", "signatureVersion":"v4", - "xmlNamespace":"http://cloudsearch.amazonaws.com/doc/2013-01-01/", - "protocol":"query" + "uid":"cloudsearch-2013-01-01", + "xmlNamespace":"http://cloudsearch.amazonaws.com/doc/2013-01-01/" }, - "documentation":"Amazon CloudSearch Configuration Service

You use the Amazon CloudSearch configuration service to create, configure, and manage search domains. Configuration service requests are submitted using the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action.

The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

", "operations":{ "BuildSuggesters":{ "name":"BuildSuggesters", @@ -16,40 +17,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"BuildSuggestersRequest", - "documentation":"

Container for the parameters to the BuildSuggester operation. Specifies the name of the domain you want to update.

" - }, + "input":{"shape":"BuildSuggestersRequest"}, "output":{ "shape":"BuildSuggestersResponse", - "documentation":"

The result of a BuildSuggester request. Contains a list of the fields used for suggestions.

", "resultWrapper":"BuildSuggestersResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Indexes the search suggestions. For more information, see Configuring Suggesters in the Amazon CloudSearch Developer Guide.

" }, @@ -59,40 +35,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"CreateDomainRequest", - "documentation":"

Container for the parameters to the CreateDomain operation. Specifies a name for the new search domain.

" - }, + "input":{"shape":"CreateDomainRequest"}, "output":{ "shape":"CreateDomainResponse", - "documentation":"

The result of a CreateDomainRequest. Contains the status of a newly created domain.

", "resultWrapper":"CreateDomainResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"} ], "documentation":"

Creates a new search domain. For more information, see Creating a Search Domain in the Amazon CloudSearch Developer Guide.

" }, @@ -102,60 +53,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DefineAnalysisSchemeRequest", - "documentation":"

Container for the parameters to the DefineAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme configuration.

" - }, + "input":{"shape":"DefineAnalysisSchemeRequest"}, "output":{ "shape":"DefineAnalysisSchemeResponse", - "documentation":"

The result of a DefineAnalysisScheme request. Contains the status of the newly-configured analysis scheme.

", "resultWrapper":"DefineAnalysisSchemeResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Configures an analysis scheme that can be applied to a text or text-array field to define language-specific text processing options. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" }, @@ -165,60 +73,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DefineExpressionRequest", - "documentation":"

Container for the parameters to the DefineExpression operation. Specifies the name of the domain you want to update and the expression you want to configure.

" - }, + "input":{"shape":"DefineExpressionRequest"}, "output":{ "shape":"DefineExpressionResponse", - "documentation":"

The result of a DefineExpression request. Contains the status of the newly-configured expression.

", "resultWrapper":"DefineExpressionResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Configures an Expression for the search domain. Used to create new expressions and modify existing ones. If the expression exists, the new configuration replaces the old one. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" }, @@ -228,60 +93,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DefineIndexFieldRequest", - "documentation":"

Container for the parameters to the DefineIndexField operation. Specifies the name of the domain you want to update and the index field configuration.

" - }, + "input":{"shape":"DefineIndexFieldRequest"}, "output":{ "shape":"DefineIndexFieldResponse", - "documentation":"

The result of a DefineIndexField request. Contains the status of the newly-configured index field.

", "resultWrapper":"DefineIndexFieldResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Configures an IndexField for the search domain. Used to create new fields and modify existing ones. You must specify the name of the domain you are configuring and an index field configuration. The index field configuration specifies a unique name, the index field type, and the options you want to configure for the field. The options you can specify depend on the IndexFieldType. If the field exists, the new configuration replaces the old one. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" }, @@ -291,60 +113,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DefineSuggesterRequest", - "documentation":"

Container for the parameters to the DefineSuggester operation. Specifies the name of the domain you want to update and the suggester configuration.

" - }, + "input":{"shape":"DefineSuggesterRequest"}, "output":{ "shape":"DefineSuggesterResponse", - "documentation":"

The result of a DefineSuggester request. Contains the status of the newly-configured suggester.

", "resultWrapper":"DefineSuggesterResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Configures a suggester for a domain. A suggester enables you to display possible matches before users finish typing their queries. When you configure a suggester, you must specify the name of the text field you want to search for possible matches and a unique name for the suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" }, @@ -354,50 +133,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteAnalysisSchemeRequest", - "documentation":"

Container for the parameters to the DeleteAnalysisScheme operation. Specifies the name of the domain you want to update and the analysis scheme you want to delete.

" - }, + "input":{"shape":"DeleteAnalysisSchemeRequest"}, "output":{ "shape":"DeleteAnalysisSchemeResponse", - "documentation":"

The result of a DeleteAnalysisScheme request. Contains the status of the deleted analysis scheme.

", "resultWrapper":"DeleteAnalysisSchemeResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Deletes an analysis scheme. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" }, @@ -407,30 +152,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteDomainRequest", - "documentation":"

Container for the parameters to the DeleteDomain operation. Specifies the name of the domain you want to delete.

" - }, + "input":{"shape":"DeleteDomainRequest"}, "output":{ "shape":"DeleteDomainResponse", - "documentation":"

The result of a DeleteDomain request. Contains the status of a newly deleted domain, or no status if the domain has already been completely deleted.

", "resultWrapper":"DeleteDomainResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"} ], "documentation":"

Permanently deletes a search domain and all of its data. Once a domain has been deleted, it cannot be recovered. For more information, see Deleting a Search Domain in the Amazon CloudSearch Developer Guide.

" }, @@ -440,50 +169,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteExpressionRequest", - "documentation":"

Container for the parameters to the DeleteExpression operation. Specifies the name of the domain you want to update and the name of the expression you want to delete.

" - }, + "input":{"shape":"DeleteExpressionRequest"}, "output":{ "shape":"DeleteExpressionResponse", - "documentation":"

The result of a DeleteExpression request. Specifies the expression being deleted.

", "resultWrapper":"DeleteExpressionResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Removes an Expression from the search domain. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" }, @@ -493,50 +188,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteIndexFieldRequest", - "documentation":"

Container for the parameters to the DeleteIndexField operation. Specifies the name of the domain you want to update and the name of the index field you want to delete.

" - }, + "input":{"shape":"DeleteIndexFieldRequest"}, "output":{ "shape":"DeleteIndexFieldResponse", - "documentation":"

The result of a DeleteIndexField request.

", "resultWrapper":"DeleteIndexFieldResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Removes an IndexField from the search domain. For more information, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" }, @@ -546,50 +207,16 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteSuggesterRequest", - "documentation":"

Container for the parameters to the DeleteSuggester operation. Specifies the name of the domain you want to update and name of the suggester you want to delete.

" - }, + "input":{"shape":"DeleteSuggesterRequest"}, "output":{ "shape":"DeleteSuggesterResponse", - "documentation":"

The result of a DeleteSuggester request. Contains the status of the deleted suggester.

", "resultWrapper":"DeleteSuggesterResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Deletes a suggester. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" }, @@ -599,40 +226,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeAnalysisSchemesRequest", - "documentation":"

Container for the parameters to the DescribeAnalysisSchemes operation. Specifies the name of the domain you want to describe. To limit the response to particular analysis schemes, specify the names of the analysis schemes you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeAnalysisSchemesRequest"}, "output":{ "shape":"DescribeAnalysisSchemesResponse", - "documentation":"

The result of a DescribeAnalysisSchemes request. Contains the analysis schemes configured for the domain specified in the request.

", "resultWrapper":"DescribeAnalysisSchemesResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets the analysis schemes configured for a domain. An analysis scheme defines language-specific text processing options for a text field. Can be limited to specific analysis schemes by name. By default, shows all analysis schemes and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Analysis Schemes in the Amazon CloudSearch Developer Guide.

" }, @@ -642,103 +244,55 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the DescribeAvailabilityOptions operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeAvailabilityOptionsRequest"}, "output":{ "shape":"DescribeAvailabilityOptionsResponse", - "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

", "resultWrapper":"DescribeAvailabilityOptionsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"} ], "documentation":"

Gets the availability options configured for a domain. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" }, + "DescribeDomainEndpointOptions":{ + "name":"DescribeDomainEndpointOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDomainEndpointOptionsRequest"}, + "output":{ + "shape":"DescribeDomainEndpointOptionsResponse", + "resultWrapper":"DescribeDomainEndpointOptionsResult" + }, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

Returns the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see Configuring Domain Endpoint Options in the Amazon CloudSearch Developer Guide.

" + }, "DescribeDomains":{ "name":"DescribeDomains", "http":{ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeDomainsRequest", - "documentation":"

Container for the parameters to the DescribeDomains operation. By default shows the status of all domains. To restrict the response to particular domains, specify the names of the domains you want to describe.

" - }, + "input":{"shape":"DescribeDomainsRequest"}, "output":{ "shape":"DescribeDomainsResponse", - "documentation":"

The result of a DescribeDomains request. Contains the status of the domains specified in the request or all domains owned by the account.

", "resultWrapper":"DescribeDomainsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"} ], "documentation":"

Gets information about the search domains owned by this account. Can be limited to specific domains. Shows all domains by default. To get the number of searchable documents in a domain, use the console or submit a matchall request to your domain's search endpoint: q=matchall&amp;q.parser=structured&amp;size=0. For more information, see Getting Information about a Search Domain in the Amazon CloudSearch Developer Guide.

" }, @@ -748,40 +302,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeExpressionsRequest", - "documentation":"

Container for the parameters to the DescribeDomains operation. Specifies the name of the domain you want to describe. To restrict the response to particular expressions, specify the names of the expressions you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeExpressionsRequest"}, "output":{ "shape":"DescribeExpressionsResponse", - "documentation":"

The result of a DescribeExpressions request. Contains the expressions configured for the domain specified in the request.

", "resultWrapper":"DescribeExpressionsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets the expressions configured for the search domain. Can be limited to specific expressions by name. By default, shows all expressions and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" }, @@ -791,40 +320,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeIndexFieldsRequest", - "documentation":"

Container for the parameters to the DescribeIndexFields operation. Specifies the name of the domain you want to describe. To restrict the response to particular index fields, specify the names of the index fields you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeIndexFieldsRequest"}, "output":{ "shape":"DescribeIndexFieldsResponse", - "documentation":"

The result of a DescribeIndexFields request. Contains the index fields configured for the domain specified in the request.

", "resultWrapper":"DescribeIndexFieldsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets information about the index fields configured for the search domain. Can be limited to specific fields by name. By default, shows all fields and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Domain Information in the Amazon CloudSearch Developer Guide.

" }, @@ -834,40 +338,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeScalingParametersRequest", - "documentation":"

Container for the parameters to the DescribeScalingParameters operation. Specifies the name of the domain you want to describe.

" - }, + "input":{"shape":"DescribeScalingParametersRequest"}, "output":{ "shape":"DescribeScalingParametersResponse", - "documentation":"

The result of a DescribeScalingParameters request. Contains the scaling parameters configured for the domain specified in the request.

", "resultWrapper":"DescribeScalingParametersResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets the scaling parameters configured for a domain. A domain's scaling parameters specify the desired search instance type and replication count. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide.

" }, @@ -877,40 +356,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeServiceAccessPoliciesRequest", - "documentation":"

Container for the parameters to the DescribeServiceAccessPolicies operation. Specifies the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeServiceAccessPoliciesRequest"}, "output":{ "shape":"DescribeServiceAccessPoliciesResponse", - "documentation":"

The result of a DescribeServiceAccessPolicies request.

", "resultWrapper":"DescribeServiceAccessPoliciesResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets information about the access policies that control access to the domain's document and search endpoints. By default, shows the configuration with any pending changes. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Configuring Access for a Search Domain in the Amazon CloudSearch Developer Guide.

" }, @@ -920,40 +374,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeSuggestersRequest", - "documentation":"

Container for the parameters to the DescribeSuggester operation. Specifies the name of the domain you want to describe. To restrict the response to particular suggesters, specify the names of the suggesters you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" - }, + "input":{"shape":"DescribeSuggestersRequest"}, "output":{ "shape":"DescribeSuggestersResponse", - "documentation":"

The result of a DescribeSuggesters request.

", "resultWrapper":"DescribeSuggestersResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Gets the suggesters configured for a domain. A suggester enables you to display possible matches before users finish typing their queries. Can be limited to specific suggesters by name. By default, shows all suggesters and includes any pending changes to the configuration. Set the Deployed option to true to show the active configuration and exclude pending changes. For more information, see Getting Search Suggestions in the Amazon CloudSearch Developer Guide.

" }, @@ -963,40 +392,15 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"IndexDocumentsRequest", - "documentation":"

Container for the parameters to the IndexDocuments operation. Specifies the name of the domain you want to re-index.

" - }, + "input":{"shape":"IndexDocumentsRequest"}, "output":{ "shape":"IndexDocumentsResponse", - "documentation":"

The result of an IndexDocuments request. Contains the status of the indexing operation, including the fields being indexed.

", "resultWrapper":"IndexDocumentsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], "documentation":"

Tells the search domain to start indexing its documents using the latest indexing options. This operation must be invoked to activate options whose OptionStatus is RequiresIndexDocuments.

" }, @@ -1008,15 +412,10 @@ }, "output":{ "shape":"ListDomainNamesResponse", - "documentation":"

The result of a ListDomainNames request. Contains a list of the domains owned by an account.

", "resultWrapper":"ListDomainNamesResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - } + {"shape":"BaseException"} ], "documentation":"

Lists all search domains owned by an account.

" }, @@ -1026,133 +425,61 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateAvailabilityOptionsRequest", - "documentation":"

Container for the parameters to the UpdateAvailabilityOptions operation. Specifies the name of the domain you want to update and the Multi-AZ availability option.

" - }, + "input":{"shape":"UpdateAvailabilityOptionsRequest"}, "output":{ "shape":"UpdateAvailabilityOptionsResponse", - "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

", "resultWrapper":"UpdateAvailabilityOptionsResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"DisabledOperationException", - "error":{ - "code":"DisabledAction", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"} ], "documentation":"

Configures the availability options for a domain. Enabling the Multi-AZ option expands an Amazon CloudSearch domain to an additional Availability Zone in the same Region to increase fault tolerance in the event of a service disruption. Changes to the Multi-AZ option can take about half an hour to become active. For more information, see Configuring Availability Options in the Amazon CloudSearch Developer Guide.

" }, + "UpdateDomainEndpointOptions":{ + "name":"UpdateDomainEndpointOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDomainEndpointOptionsRequest"}, + "output":{ + "shape":"UpdateDomainEndpointOptionsResponse", + "resultWrapper":"UpdateDomainEndpointOptionsResult" + }, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates the domain's endpoint options, specifically whether all requests to the domain must arrive over HTTPS. For more information, see Configuring Domain Endpoint Options in the Amazon CloudSearch Developer Guide.

" + }, "UpdateScalingParameters":{ "name":"UpdateScalingParameters", "http":{ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateScalingParametersRequest", - "documentation":"

Container for the parameters to the UpdateScalingParameters operation. Specifies the name of the domain you want to update and the scaling parameters you want to configure.

" - }, + "input":{"shape":"UpdateScalingParametersRequest"}, "output":{ "shape":"UpdateScalingParametersResponse", - "documentation":"

The result of a UpdateScalingParameters request. Contains the status of the newly-configured scaling parameters.

", "resultWrapper":"UpdateScalingParametersResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTypeException"} ], "documentation":"

Configures scaling parameters for a domain. A domain's scaling parameters specify the desired search instance type and replication count. Amazon CloudSearch will still automatically scale your domain based on the volume of data and traffic, but not below the desired instance type and replication count. If the Multi-AZ option is enabled, these values control the resources used per Availability Zone. For more information, see Configuring Scaling Options in the Amazon CloudSearch Developer Guide.

" }, @@ -1162,60 +489,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"UpdateServiceAccessPoliciesRequest", - "documentation":"

Container for the parameters to the UpdateServiceAccessPolicies operation. Specifies the name of the domain you want to update and the access rules you want to configure.

" - }, + "input":{"shape":"UpdateServiceAccessPoliciesRequest"}, "output":{ "shape":"UpdateServiceAccessPoliciesResponse", - "documentation":"

The result of an UpdateServiceAccessPolicies request. Contains the new access policies.

", "resultWrapper":"UpdateServiceAccessPoliciesResult" }, "errors":[ - { - "shape":"BaseException", - "exception":true, - "documentation":"

An error occurred while processing the request.

" - }, - { - "shape":"InternalException", - "error":{ - "code":"InternalException", - "httpStatusCode":500 - }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" - }, - { - "shape":"LimitExceededException", - "error":{ - "code":"LimitExceeded", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{ - "code":"ResourceNotFound", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" - }, - { - "shape":"InvalidTypeException", - "error":{ - "code":"InvalidType", - "httpStatusCode":409, - "senderFault":true - }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" - } + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidTypeException"} ], "documentation":"

Configures the access rules that control access to the domain's document and search endpoints. For more information, see Configuring Access for an Amazon CloudSearch Domain.

" } @@ -1291,6 +575,7 @@ }, "AnalysisSchemeLanguage":{ "type":"string", + "documentation":"

An IETF RFC 4646 language code or mul for multiple languages.

", "enum":[ "ar", "bg", @@ -1327,8 +612,7 @@ "tr", "zh-Hans", "zh-Hant" - ], - "documentation":"

An IETF RFC 4646 language code or mul for multiple languages.

" + ] }, "AnalysisSchemeStatus":{ "type":"structure", @@ -1368,8 +652,8 @@ "Code":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "exception":true, - "documentation":"

An error occurred while processing the request.

" + "documentation":"

An error occurred while processing the request.

", + "exception":true }, "Boolean":{"type":"boolean"}, "BuildSuggestersRequest":{ @@ -1718,6 +1002,31 @@ }, "documentation":"

The result of a DescribeAvailabilityOptions request. Indicates whether or not the Multi-AZ option is enabled for the domain specified in the request.

" }, + "DescribeDomainEndpointOptionsRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

A string that represents the name of a domain.

" + }, + "Deployed":{ + "shape":"Boolean", + "documentation":"

Whether to retrieve the latest configuration (which might be in a Processing state) or the current, active configuration. Defaults to false.

" + } + }, + "documentation":"

Container for the parameters to the DescribeDomainEndpointOptions operation. Specify the name of the domain you want to describe. To show the active configuration and exclude any pending changes, set the Deployed option to true.

" + }, + "DescribeDomainEndpointOptionsResponse":{ + "type":"structure", + "members":{ + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptionsStatus", + "documentation":"

The status and configuration of a search domain's endpoint options.

" + } + }, + "documentation":"

The result of a DescribeDomainEndpointOptions request. Contains the status and configuration of a search domain's endpoint options.

" + }, "DescribeDomainsRequest":{ "type":"structure", "members":{ @@ -1872,13 +1181,13 @@ "type":"structure", "members":{ }, + "documentation":"

The request was rejected because it attempted an operation which is not enabled.

", "error":{ "code":"DisabledAction", "httpStatusCode":409, "senderFault":true }, - "exception":true, - "documentation":"

The request was rejected because it attempted an operation which is not enabled.

" + "exception":true }, "DocumentSuggesterOptions":{ "type":"structure", @@ -1899,18 +1208,50 @@ }, "documentation":"

Options for a search suggester.

" }, + "DomainEndpointOptions":{ + "type":"structure", + "members":{ + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"

Whether the domain is HTTPS only enabled.

" + }, + "TLSSecurityPolicy":{ + "shape":"TLSSecurityPolicy", + "documentation":"

The minimum required TLS version

" + } + }, + "documentation":"

The domain's endpoint options.

" + }, + "DomainEndpointOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"DomainEndpointOptions", + "documentation":"

The domain endpoint options configured for the domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

The status of the configured domain endpoint options.

" + } + }, + "documentation":"

The configuration and status of the domain's endpoint options.

" + }, "DomainId":{ "type":"string", - "min":1, + "documentation":"

An internally generated unique identifier for a domain.

", "max":64, - "documentation":"

An internally generated unique identifier for a domain.

" + "min":1 }, "DomainName":{ "type":"string", - "min":3, + "documentation":"

A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

", "max":28, - "pattern":"[a-z][a-z0-9\\-]+", - "documentation":"

A string that represents the name of a domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" }, "DomainNameList":{ "type":"list", @@ -2038,8 +1379,8 @@ }, "DynamicFieldName":{ "type":"string", - "min":1, "max":64, + "min":1, "pattern":"([a-z][a-z0-9_]*\\*?|\\*[a-z0-9_]*)" }, "DynamicFieldNameList":{ @@ -2088,16 +1429,16 @@ }, "ExpressionValue":{ "type":"string", - "min":1, + "documentation":"

The expression to evaluate for sorting while processing a search request. The Expression syntax is based on JavaScript expressions. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

", "max":10240, - "documentation":"

The expression to evaluate for sorting while processing a search request. The Expression syntax is based on JavaScript expressions. For more information, see Configuring Expressions in the Amazon CloudSearch Developer Guide.

" + "min":1 }, "FieldName":{ "type":"string", - "min":1, + "documentation":"

A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.

Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin or end with a wildcard (*). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.

The name score is reserved and cannot be used as a field name. To reference a document's ID, you can use the name _id.

", "max":64, - "pattern":"[a-z][a-z0-9_]*", - "documentation":"

A string that represents the name of an index field. CloudSearch supports regular index fields as well as dynamic fields. A dynamic field's name defines a pattern that begins or ends with a wildcard. Any document fields that don't map to a regular index field but do match a dynamic field's pattern are configured with the dynamic field's indexing options.

Regular field names begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Dynamic field names must begin or end with a wildcard (*). The wildcard can also be the only character in a dynamic field name. Multiple wildcards, and wildcards embedded within a string are not supported.

The name score is reserved and cannot be used as a field name. To reference a document's ID, you can use the name _id.

" + "min":1, + "pattern":"[a-z][a-z0-9_]*" }, "FieldNameCommaList":{ "type":"string", @@ -2110,9 +1451,9 @@ }, "FieldValue":{ "type":"string", - "min":0, + "documentation":"

The value of a field attribute.

", "max":1024, - "documentation":"

The value of a field attribute.

" + "min":0 }, "IndexDocumentsRequest":{ "type":"structure", @@ -2177,6 +1518,7 @@ }, "IndexFieldType":{ "type":"string", + "documentation":"

The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

", "enum":[ "int", "double", @@ -2189,8 +1531,7 @@ "literal-array", "text-array", "date-array" - ], - "documentation":"

The type of field. The valid options for a field depend on the field type. For more information about the supported field types, see Configuring Index Fields in the Amazon CloudSearch Developer Guide.

" + ] }, "InstanceCount":{ "type":"integer", @@ -2256,24 +1597,24 @@ "type":"structure", "members":{ }, + "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

", "error":{ "code":"InternalException", "httpStatusCode":500 }, - "exception":true, - "documentation":"

An internal error occurred while processing the request. If this problem persists, report an issue from the Service Health Dashboard.

" + "exception":true }, "InvalidTypeException":{ "type":"structure", "members":{ }, + "documentation":"

The request was rejected because it specified an invalid type definition.

", "error":{ "code":"InvalidType", "httpStatusCode":409, "senderFault":true }, - "exception":true, - "documentation":"

The request was rejected because it specified an invalid type definition.

" + "exception":true }, "LatLonOptions":{ "type":"structure", @@ -2306,13 +1647,13 @@ "type":"structure", "members":{ }, + "documentation":"

The request was rejected because a resource limit has already been met.

", "error":{ "code":"LimitExceeded", "httpStatusCode":409, "senderFault":true }, - "exception":true, - "documentation":"

The request was rejected because a resource limit has already been met.

" + "exception":true }, "Limits":{ "type":"structure", @@ -2400,13 +1741,13 @@ "MultiAZ":{"type":"boolean"}, "OptionState":{ "type":"string", + "documentation":"

The state of processing a change to an option. One of:

  • RequiresIndexDocuments: The option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: The option's latest value is in the process of being activated.
  • Active: The option's latest value is fully deployed.
  • FailedToValidate: The option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
", "enum":[ "RequiresIndexDocuments", "Processing", "Active", "FailedToValidate" - ], - "documentation":"

The state of processing a change to an option. One of:

  • RequiresIndexDocuments: The option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: The option's latest value is in the process of being activated.
  • Active: The option's latest value is fully deployed.
  • FailedToValidate: The option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
" + ] }, "OptionStatus":{ "type":"structure", @@ -2430,7 +1771,7 @@ }, "State":{ "shape":"OptionState", - "documentation":"

The state of processing a change to an option. Possible values:

  • RequiresIndexDocuments: the option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: the option's latest value is in the process of being activated.
  • Active: the option's latest value is completely deployed.
  • FailedToValidate: the option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
" + "documentation":"

The state of processing a change to an option. Possible values:

  • RequiresIndexDocuments: the option's latest value will not be deployed until IndexDocuments has been called and indexing is complete.
  • Processing: the option's latest value is in the process of being activated.
  • Active: the option's latest value is completely deployed.
  • FailedToValidate: the option value is not compatible with the domain's data and cannot be used to index the data. You must either modify the option value or update or remove the incompatible documents.
" }, "PendingDeletion":{ "shape":"Boolean", @@ -2441,11 +1782,12 @@ }, "PartitionCount":{ "type":"integer", - "min":1, - "documentation":"

The number of partitions used to hold the domain's index.

" + "documentation":"

The number of partitions used to hold the domain's index.

", + "min":1 }, "PartitionInstanceType":{ "type":"string", + "documentation":"

The instance type (such as search.m1.small) on which an index partition is hosted.

", "enum":[ "search.m1.small", "search.m1.large", @@ -2455,8 +1797,7 @@ "search.m3.large", "search.m3.xlarge", "search.m3.2xlarge" - ], - "documentation":"

The instance type (such as search.m1.small) on which an index partition is hosted.

" + ] }, "PolicyDocument":{ "type":"string", @@ -2466,13 +1807,13 @@ "type":"structure", "members":{ }, + "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

", "error":{ "code":"ResourceNotFound", "httpStatusCode":409, "senderFault":true }, - "exception":true, - "documentation":"

The request was rejected because it attempted to reference a resource that does not exist.

" + "exception":true }, "ScalingParameters":{ "type":"structure", @@ -2521,10 +1862,10 @@ }, "StandardName":{ "type":"string", - "min":1, + "documentation":"

Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore).

", "max":64, - "pattern":"[a-z][a-z0-9_]*", - "documentation":"

Names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore).

" + "min":1, + "pattern":"[a-z][a-z0-9_]*" }, "StandardNameList":{ "type":"list", @@ -2568,6 +1909,14 @@ "member":{"shape":"SuggesterStatus"}, "documentation":"

Contains the status of multiple suggesters.

" }, + "TLSSecurityPolicy":{ + "type":"string", + "documentation":"

The minimum required TLS version.

", + "enum":[ + "Policy-Min-TLS-1-0-2019-07", + "Policy-Min-TLS-1-2-2019-07" + ] + }, "TextArrayOptions":{ "type":"structure", "members":{ @@ -2650,6 +1999,34 @@ }, "documentation":"

The result of a UpdateAvailabilityOptions request. Contains the status of the domain's availability options.

" }, + "UpdateDomainEndpointOptionsRequest":{ + "type":"structure", + "required":[ + "DomainName", + "DomainEndpointOptions" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

A string that represents the name of a domain.

" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"

Whether to require that all requests to the domain arrive over HTTPS. We recommend Policy-Min-TLS-1-2-2019-07 for TLSSecurityPolicy. For compatibility with older clients, the default is Policy-Min-TLS-1-0-2019-07.

" + } + }, + "documentation":"

Container for the parameters to the UpdateDomainEndpointOptions operation. Specifies the name of the domain you want to update and the domain endpoint options.

" + }, + "UpdateDomainEndpointOptionsResponse":{ + "type":"structure", + "members":{ + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptionsStatus", + "documentation":"

The newly-configured domain endpoint options.

" + } + }, + "documentation":"

The result of a UpdateDomainEndpointOptions request. Contains the configuration and status of the domain's endpoint options.

" + }, "UpdateScalingParametersRequest":{ "type":"structure", "required":[ @@ -2697,9 +2074,17 @@ "documentation":"

The result of an UpdateServiceAccessPolicies request. Contains the new access policies.

" }, "UpdateTimestamp":{"type":"timestamp"}, + "ValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request was rejected because it has invalid parameters.

", + "exception":true + }, "Word":{ "type":"string", "pattern":"[\\S]+" } - } + }, + "documentation":"Amazon CloudSearch Configuration Service

You use the Amazon CloudSearch configuration service to create, configure, and manage search domains. Configuration service requests are submitted using the AWS Query protocol. AWS Query requests are HTTP or HTTPS requests submitted via HTTP GET or POST with a query parameter named Action.

The endpoint for configuration service requests is region-specific: cloudsearch.region.amazonaws.com. For example, cloudsearch.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

" } diff -Nru python-botocore-1.4.70/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudsearchdomain/2013-01-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudsearchdomain/2013-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudsearchdomain/2013-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudsearchdomain/2013-01-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudsearchdomain/2013-01-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"rest-json", "serviceFullName":"Amazon CloudSearch Domain", + "serviceId":"CloudSearch Domain", "signatureVersion":"v4", - "signingName":"cloudsearch" + "signingName":"cloudsearch", + "uid":"cloudsearchdomain-2013-01-01" }, "operations":{ "Search":{ diff -Nru python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,25 @@ +{ + "pagination": { + "LookupEvents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Events" + }, + "ListPublicKeys": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "PublicKeyList" + }, + "ListTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ResourceTagList" + }, + "ListTrails": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Trails" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudtrail/2013-11-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudtrail/2013-11-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"CloudTrail", "serviceFullName":"AWS CloudTrail", + "serviceId":"CloudTrail", "signatureVersion":"v4", - "targetPrefix":"com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101" + "targetPrefix":"com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101", + "uid":"cloudtrail-2013-11-01" }, "operations":{ "AddTags":{ @@ -27,9 +29,10 @@ {"shape":"InvalidTrailNameException"}, {"shape":"InvalidTagParameterException"}, {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"} ], - "documentation":"

Adds one or more tags to a trail, up to a limit of 10. Tags must be unique per trail. Overwrites an existing tag's value when a new value is specified for an existing tag key. If you specify a key without a value, the tag will be created with the specified key and a value of null. You can tag a trail that applies to all regions only from the region in which the trail was created (that is, from its home region).

", + "documentation":"

Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing tag's value when a new value is specified for an existing tag key. Tag key names must be unique for a trail; you cannot have two keys with the same name but different values. If you specify a key without a value, the tag will be created with the specified key and a value of null. You can tag a trail that applies to all AWS Regions only from the Region in which the trail was created (also known as its home region).

", "idempotent":true }, "CreateTrail":{ @@ -60,10 +63,16 @@ {"shape":"InvalidCloudWatchLogsLogGroupArnException"}, {"shape":"InvalidCloudWatchLogsRoleArnException"}, {"shape":"CloudWatchLogsDeliveryUnavailableException"}, + {"shape":"InvalidTagParameterException"}, {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"} ], - "documentation":"

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created.

", + "documentation":"

Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.

", "idempotent":true }, "DeleteTrail":{ @@ -77,7 +86,11 @@ "errors":[ {"shape":"TrailNotFoundException"}, {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} + {"shape":"InvalidHomeRegionException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "documentation":"

Deletes a trail. This operation must be called from the region in which the trail was created. DeleteTrail cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", "idempotent":true @@ -92,9 +105,62 @@ "output":{"shape":"DescribeTrailsResponse"}, "errors":[ {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"InvalidTrailNameException"} + ], + "documentation":"

Retrieves settings for one or more trails associated with the current region for your account.

", + "idempotent":true + }, + "GetEventSelectors":{ + "name":"GetEventSelectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEventSelectorsRequest"}, + "output":{"shape":"GetEventSelectorsResponse"}, + "errors":[ + {"shape":"TrailNotFoundException"}, + {"shape":"InvalidTrailNameException"}, + {"shape":"UnsupportedOperationException"}, {"shape":"OperationNotPermittedException"} ], - "documentation":"

Retrieves settings for the trail associated with the current region for your account.

", + "documentation":"

Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

  • If your event selector includes read-only events, write-only events, or all events. This applies to both management events and data events.

  • If your event selector includes management events.

  • If your event selector includes data events, the Amazon S3 objects or AWS Lambda functions that you are logging for data events.

For more information, see Logging Data and Management Events for Trails in the AWS CloudTrail User Guide.

", + "idempotent":true + }, + "GetInsightSelectors":{ + "name":"GetInsightSelectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInsightSelectorsRequest"}, + "output":{"shape":"GetInsightSelectorsResponse"}, + "errors":[ + {"shape":"TrailNotFoundException"}, + {"shape":"InvalidTrailNameException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"InsightNotEnabledException"} + ], + "documentation":"

Describes the settings for the Insights event selectors that you configured for your trail. GetInsightSelectors shows if CloudTrail Insights event logging is enabled on the trail, and if it is, which insight types are enabled. If you run GetInsightSelectors on a trail that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException

For more information, see Logging CloudTrail Insights Events for Trails in the AWS CloudTrail User Guide.

", + "idempotent":true + }, + "GetTrail":{ + "name":"GetTrail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTrailRequest"}, + "output":{"shape":"GetTrailResponse"}, + "errors":[ + {"shape":"TrailNotFoundException"}, + {"shape":"InvalidTrailNameException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Returns settings information for a specified trail.

", "idempotent":true }, "GetTrailStatus":{ @@ -107,7 +173,9 @@ "output":{"shape":"GetTrailStatusResponse"}, "errors":[ {"shape":"TrailNotFoundException"}, - {"shape":"InvalidTrailNameException"} + {"shape":"InvalidTrailNameException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} ], "documentation":"

Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns trail status from a single region. To return trail status from all regions, you must call the operation on each region.

", "idempotent":true @@ -149,6 +217,21 @@ "documentation":"

Lists the tags for the trail in the current region.

", "idempotent":true }, + "ListTrails":{ + "name":"ListTrails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrailsRequest"}, + "output":{"shape":"ListTrailsResponse"}, + "errors":[ + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Lists trails that are in the current account.

", + "idempotent":true + }, "LookupEvents":{ "name":"LookupEvents", "http":{ @@ -161,9 +244,55 @@ {"shape":"InvalidLookupAttributesException"}, {"shape":"InvalidTimeRangeException"}, {"shape":"InvalidMaxResultsException"}, - {"shape":"InvalidNextTokenException"} + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidEventCategoryException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Looks up management events or CloudTrail Insights events that are captured by CloudTrail. You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:

  • AWS access key

  • Event ID

  • Event name

  • Event source

  • Read only

  • Resource name

  • Resource type

  • User name

Lookup supports the following attributes for Insights events:

  • Event ID

  • Event name

  • Event source

All attributes are optional. The default number of results returned is 50, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to two per second per account. If this limit is exceeded, a throttling error occurs.

", + "idempotent":true + }, + "PutEventSelectors":{ + "name":"PutEventSelectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutEventSelectorsRequest"}, + "output":{"shape":"PutEventSelectorsResponse"}, + "errors":[ + {"shape":"TrailNotFoundException"}, + {"shape":"InvalidTrailNameException"}, + {"shape":"InvalidHomeRegionException"}, + {"shape":"InvalidEventSelectorsException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"} + ], + "documentation":"

Configures an event selector for your trail. Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events.

When an event occurs in your account, CloudTrail evaluates the event selectors in all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging Data and Management Events for Trails and Limits in AWS CloudTrail in the AWS CloudTrail User Guide.

", + "idempotent":true + }, + "PutInsightSelectors":{ + "name":"PutInsightSelectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInsightSelectorsRequest"}, + "output":{"shape":"PutInsightSelectorsResponse"}, + "errors":[ + {"shape":"TrailNotFoundException"}, + {"shape":"InvalidTrailNameException"}, + {"shape":"InvalidHomeRegionException"}, + {"shape":"InvalidInsightSelectorsException"}, + {"shape":"InsufficientS3BucketPolicyException"}, + {"shape":"InsufficientEncryptionPolicyException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"} ], - "documentation":"

Looks up API activity events captured by CloudTrail that create, update, or delete resources in your account. Events for a region can be looked up for the times in which you had CloudTrail turned on in that region during the last seven days. Lookup supports five different attributes: time range (defined by a start time and end time), user name, event name, resource type, and resource name. All attributes are optional. The maximum number of attributes that can be specified in any one lookup request are time range and one other attribute. The default number of results returned is 10, with a maximum of 50 possible. The response includes a token that you can use to get the next page of results.

The rate of lookup requests is limited to one per second per account. If this limit is exceeded, a throttling error occurs.

Events that occurred during the selected time range will not be available for lookup if CloudTrail logging was not enabled when the events occurred.

", + "documentation":"

Lets you enable Insights event logging by specifying the Insights selectors that you want to enable on an existing trail. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of insight types. In this release, only ApiCallRateInsight is supported as an Insights selector.

", "idempotent":true }, "RemoveTags":{ @@ -181,7 +310,8 @@ {"shape":"InvalidTrailNameException"}, {"shape":"InvalidTagParameterException"}, {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"} ], "documentation":"

Removes the specified tags from a trail.

", "idempotent":true @@ -197,7 +327,11 @@ "errors":[ {"shape":"TrailNotFoundException"}, {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} + {"shape":"InvalidHomeRegionException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "documentation":"

Starts the recording of AWS API calls and log file delivery for a trail. For a trail that is enabled in all regions, this operation must be called from the region in which the trail was created. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.

", "idempotent":true @@ -213,7 +347,11 @@ "errors":[ {"shape":"TrailNotFoundException"}, {"shape":"InvalidTrailNameException"}, - {"shape":"InvalidHomeRegionException"} + {"shape":"InvalidHomeRegionException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"} ], "documentation":"

Suspends the recording of AWS API calls and log file delivery for the specified trail. Under most circumstances, there is no need to use this action. You can update a trail without stopping it first. This action is the only way to stop recording. For a trail enabled in all regions, this operation must be called from the region in which the trail was created, or an InvalidHomeRegionException will occur. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail enabled in all regions.

", "idempotent":true @@ -238,6 +376,7 @@ {"shape":"InvalidKmsKeyIdException"}, {"shape":"InvalidTrailNameException"}, {"shape":"TrailNotProvidedException"}, + {"shape":"InvalidEventSelectorsException"}, {"shape":"InvalidParameterCombinationException"}, {"shape":"InvalidHomeRegionException"}, {"shape":"KmsKeyNotFoundException"}, @@ -247,7 +386,12 @@ {"shape":"InvalidCloudWatchLogsRoleArnException"}, {"shape":"CloudWatchLogsDeliveryUnavailableException"}, {"shape":"UnsupportedOperationException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"CloudTrailAccessNotEnabledException"}, + {"shape":"InsufficientDependencyServiceAccessPermissionException"}, + {"shape":"OrganizationsNotInUseException"}, + {"shape":"NotOrganizationMasterAccountException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"} ], "documentation":"

Updates the settings that specify delivery of log files. Changes to a trail do not require stopping the CloudTrail service. Use this action to designate an existing bucket for log delivery. If the existing bucket has previously been a target for CloudTrail log files, an IAM policy exists for the bucket. UpdateTrail must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

", "idempotent":true @@ -260,11 +404,11 @@ "members":{ "ResourceId":{ "shape":"String", - "documentation":"

Specifies the ARN of the trail to which one or more tags will be added. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the ARN of the trail to which one or more tags will be added. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "TagsList":{ "shape":"TagsList", - "documentation":"

Contains a list of CloudTrail tags, up to a limit of 10.

" + "documentation":"

Contains a list of CloudTrail tags, up to a limit of 50

" } }, "documentation":"

Specifies the tags to add to a trail.

" @@ -281,7 +425,14 @@ "type":"structure", "members":{ }, - "documentation":"

This exception is thrown when an operation is called with an invalid trail ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

", + "documentation":"

This exception is thrown when an operation is called with an invalid trail ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

", + "exception":true + }, + "CloudTrailAccessNotEnabledException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when trusted access has not been enabled between AWS CloudTrail and AWS Organizations. For more information, see Enabling Trusted Access with Other AWS Services and Prepare For Creating a Trail For Your Organization.

", "exception":true }, "CloudWatchLogsDeliveryUnavailableException":{ @@ -304,11 +455,11 @@ }, "S3BucketName":{ "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" + "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" }, "S3KeyPrefix":{ "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" + "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" }, "SnsTopicName":{ "shape":"String", @@ -320,7 +471,7 @@ }, "IsMultiRegionTrail":{ "shape":"Boolean", - "documentation":"

Specifies whether the trail is created in the current region or in all regions. The default is false.

" + "documentation":"

Specifies whether the trail is created in the current region or in all regions. The default is false, which creates a trail only in the region where you are signed in. As a best practice, consider creating trails that log events in all regions.

" }, "EnableLogFileValidation":{ "shape":"Boolean", @@ -336,8 +487,13 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be a an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" - } + "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" + }, + "IsOrganizationTrail":{ + "shape":"Boolean", + "documentation":"

Specifies whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations.

" + }, + "TagsList":{"shape":"TagsList"} }, "documentation":"

Specifies the settings for each trail.

" }, @@ -354,16 +510,16 @@ }, "S3KeyPrefix":{ "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" + "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" }, "SnsTopicName":{ "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", + "documentation":"

This field is no longer in use. Use SnsTopicARN.

", "deprecated":true }, "SnsTopicARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" + "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-2:123456789012:MyTopic

" }, "IncludeGlobalServiceEvents":{ "shape":"Boolean", @@ -375,7 +531,7 @@ }, "TrailARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the trail that was created. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the ARN of the trail that was created. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "LogFileValidationEnabled":{ "shape":"Boolean", @@ -391,11 +547,37 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

" + }, + "IsOrganizationTrail":{ + "shape":"Boolean", + "documentation":"

Specifies whether the trail is an organization trail.

" } }, "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" }, + "DataResource":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The resource type in which you want to log data events. You can specify AWS::S3::Object or AWS::Lambda::Function resources.

" + }, + "Values":{ + "shape":"DataResourceValues", + "documentation":"

An array of Amazon Resource Name (ARN) strings or partial ARN strings for the specified objects.

  • To log data events for all objects in all S3 buckets in your AWS account, specify the prefix as arn:aws:s3:::.

    This will also enable logging of data event activity performed by any user or role in your AWS account, even if that activity is performed on a bucket that belongs to another AWS account.

  • To log data events for all objects in an S3 bucket, specify the bucket and an empty object prefix such as arn:aws:s3:::bucket-1/. The trail logs data events for all objects in this S3 bucket.

  • To log data events for specific objects, specify the S3 bucket and object prefix such as arn:aws:s3:::bucket-1/example-images. The trail logs data events for objects in this S3 bucket that match the prefix.

  • To log data events for all functions in your AWS account, specify the prefix as arn:aws:lambda.

    This will also enable logging of Invoke activity performed by any user or role in your AWS account, even if that activity is performed on a function that belongs to another AWS account.

  • To log data events for a specific Lambda function, specify the function ARN.

    Lambda function ARNs are exact. For example, if you specify a function ARN arn:aws:lambda:us-west-2:111111111111:function:helloworld, data events will only be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld. They will not be logged for arn:aws:lambda:us-west-2:111111111111:function:helloworld2.

" + } + }, + "documentation":"

The Amazon S3 buckets or AWS Lambda functions that you specify in your event selectors for your trail to log data events. Data events provide information about the resource operations performed on or within a resource itself. These are also known as data plane operations. You can specify up to 250 data resources for a trail.

The total number of allowed data resources is 250. This number can be distributed between 1 and 5 event selectors, but the total cannot exceed 250 across all selectors.

The following example demonstrates how logging works when you configure logging of all data events for an S3 bucket named bucket-1. In this example, the CloudTrail user specified an empty prefix, and the option to log both Read and Write data events.

  1. A user uploads an image file to bucket-1.

  2. The PutObject API operation is an Amazon S3 object-level API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified an S3 bucket with an empty prefix, events that occur on any object in that bucket are logged. The trail processes and logs the event.

  3. A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2.

  4. The PutObject API operation occurred for an object in an S3 bucket that the CloudTrail user didn't specify for the trail. The trail doesn’t log the event.

The following example demonstrates how logging works when you configure logging of AWS Lambda data events for a Lambda function named MyLambdaFunction, but not for all AWS Lambda functions.

  1. A user runs a script that includes a call to the MyLambdaFunction function and the MyOtherLambdaFunction function.

  2. The Invoke API operation on MyLambdaFunction is an AWS Lambda API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified logging data events for MyLambdaFunction, any invocations of that function are logged. The trail processes and logs the event.

  3. The Invoke API operation on MyOtherLambdaFunction is an AWS Lambda API. Because the CloudTrail user did not specify logging data events for all Lambda functions, the Invoke operation for MyOtherLambdaFunction does not match the function specified for the trail. The trail doesn’t log the event.

" + }, + "DataResourceValues":{ + "type":"list", + "member":{"shape":"String"} + }, + "DataResources":{ + "type":"list", + "member":{"shape":"DataResource"} + }, "Date":{"type":"timestamp"}, "DeleteTrailRequest":{ "type":"structure", @@ -403,7 +585,7 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail to be deleted. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the name or the CloudTrail ARN of the trail to be deleted. The format of a trail ARN is: arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" } }, "documentation":"

The request that specifies the name of a trail to delete.

" @@ -419,11 +601,11 @@ "members":{ "trailNameList":{ "shape":"TrailNameList", - "documentation":"

Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

If an empty list is specified, information for the trail in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is false, then information for all trails in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned.

If one or more trail names are specified, information is returned only if the names match the names of trails belonging only to the current region. To return information about a trail in another region, you must specify its trail ARN.

" + "documentation":"

Specifies a list of trail names, trail ARNs, or both, of the trails to describe. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

If an empty list is specified, information for the trail in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is false, then information for all trails in the current region is returned.

  • If an empty list is specified and IncludeShadowTrails is null or true, then information for all trails in the current region and any associated shadow trails in other regions is returned.

If one or more trail names are specified, information is returned only if the names match the names of trails belonging only to the current region. To return information about a trail in another region, you must specify its trail ARN.

" }, "includeShadowTrails":{ "shape":"Boolean", - "documentation":"

Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region. The default is true.

" + "documentation":"

Specifies whether to include shadow trails in the response. A shadow trail is the replication in a region of a trail that was created in a different region, or in the case of an organization trail, the replication of an organization trail in member accounts. If you do not include shadow trails, organization trails in a member account and region replication trails will not be returned. The default is true.

" } }, "documentation":"

Returns information about the trail.

" @@ -433,7 +615,7 @@ "members":{ "trailList":{ "shape":"TrailList", - "documentation":"

The list of trail objects.

" + "documentation":"

The list of trail objects. Trail objects with string values are only returned if values for the objects exist in a trail's configuration. For example, SNSTopicName and SNSTopicARN are only returned in results if a trail is configured to send SNS notifications. Similarly, KMSKeyId only appears in results if a trail's log files are encrypted with AWS KMS-managed keys.

" } }, "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" @@ -449,10 +631,22 @@ "shape":"String", "documentation":"

The name of the event returned.

" }, + "ReadOnly":{ + "shape":"String", + "documentation":"

Information about whether the event is a write event or a read event.

" + }, + "AccessKeyId":{ + "shape":"String", + "documentation":"

The AWS access key ID that was used to sign the request. If the request was made with temporary security credentials, this is the access key ID of the temporary credentials.

" + }, "EventTime":{ "shape":"Date", "documentation":"

The date and time of the event returned.

" }, + "EventSource":{ + "shape":"String", + "documentation":"

The AWS service that the request was made to.

" + }, "Username":{ "shape":"String", "documentation":"

A user name or role name of the requester that called the API in the event returned.

" @@ -468,17 +662,113 @@ }, "documentation":"

Contains information about an event that was returned by a lookup request. The result includes a representation of a CloudTrail event.

" }, + "EventCategory":{ + "type":"string", + "enum":["insight"] + }, + "EventSelector":{ + "type":"structure", + "members":{ + "ReadWriteType":{ + "shape":"ReadWriteType", + "documentation":"

Specify if you want your trail to log read-only events, write-only events, or all. For example, the EC2 GetConsoleOutput is a read-only API operation and RunInstances is a write-only API operation.

By default, the value is All.

" + }, + "IncludeManagementEvents":{ + "shape":"Boolean", + "documentation":"

Specify if you want your event selector to include management events for your trail.

For more information, see Management Events in the AWS CloudTrail User Guide.

By default, the value is true.

" + }, + "DataResources":{ + "shape":"DataResources", + "documentation":"

CloudTrail supports data event logging for Amazon S3 objects and AWS Lambda functions. You can specify up to 250 resources for an individual event selector, but the total number of data resources cannot exceed 250 across all event selectors in a trail. This limit does not apply if you configure resource logging for all data events.

For more information, see Data Events and Limits in AWS CloudTrail in the AWS CloudTrail User Guide.

" + }, + "ExcludeManagementEventSources":{ + "shape":"ExcludeManagementEventSources", + "documentation":"

An optional list of service event sources from which you do not want management events to be logged on your trail. In this release, the list can be empty (disables the filter), or it can filter out AWS Key Management Service events by containing \"kms.amazonaws.com\". By default, ExcludeManagementEventSources is empty, and AWS KMS events are included in events that are logged to your trail.

" + } + }, + "documentation":"

Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for all trails. For each trail, if the event matches any event selector, the trail processes and logs the event. If the event doesn't match any event selector, the trail doesn't log the event.

You can configure up to five event selectors for a trail.

" + }, + "EventSelectors":{ + "type":"list", + "member":{"shape":"EventSelector"} + }, "EventsList":{ "type":"list", "member":{"shape":"Event"} }, + "ExcludeManagementEventSources":{ + "type":"list", + "member":{"shape":"String"} + }, + "GetEventSelectorsRequest":{ + "type":"structure", + "required":["TrailName"], + "members":{ + "TrailName":{ + "shape":"String", + "documentation":"

Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are not valid.

  • Not be in IP address format (for example, 192.168.5.4)

If you specify a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" + } + } + }, + "GetEventSelectorsResponse":{ + "type":"structure", + "members":{ + "TrailARN":{ + "shape":"String", + "documentation":"

The specified trail ARN that has the event selectors.

" + }, + "EventSelectors":{ + "shape":"EventSelectors", + "documentation":"

The event selectors that are configured for the trail.

" + } + } + }, + "GetInsightSelectorsRequest":{ + "type":"structure", + "required":["TrailName"], + "members":{ + "TrailName":{ + "shape":"String", + "documentation":"

Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are not valid.

  • Not be in IP address format (for example, 192.168.5.4)

If you specify a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" + } + } + }, + "GetInsightSelectorsResponse":{ + "type":"structure", + "members":{ + "TrailARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of a trail for which you want to get Insights selectors.

" + }, + "InsightSelectors":{ + "shape":"InsightSelectors", + "documentation":"

A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

" + } + } + }, + "GetTrailRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name or the Amazon Resource Name (ARN) of the trail for which you want to retrieve settings information.

" + } + } + }, + "GetTrailResponse":{ + "type":"structure", + "members":{ + "Trail":{"shape":"Trail"} + } + }, "GetTrailStatusRequest":{ "type":"structure", "required":["Name"], "members":{ "Name":{ "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which you are requesting status. To get the status of a shadow trail (a replication of the trail in another region), you must specify its ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which you are requesting status. To get the status of a shadow trail (a replication of the trail in another region), you must specify its ARN. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" } }, "documentation":"

The name of a trail about which you want the current status.

" @@ -492,11 +782,11 @@ }, "LatestDeliveryError":{ "shape":"String", - "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" + "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver log files to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" }, "LatestNotificationError":{ "shape":"String", - "documentation":"

Displays any Amazon SNS error that CloudTrail encountered when attempting to send a notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide.

" + "documentation":"

Displays any Amazon SNS error that CloudTrail encountered when attempting to send a notification. For more information about Amazon SNS errors, see the Amazon SNS Developer Guide.

" }, "LatestDeliveryTime":{ "shape":"Date", @@ -528,35 +818,67 @@ }, "LatestDigestDeliveryError":{ "shape":"String", - "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest file to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" + "documentation":"

Displays any Amazon S3 error that CloudTrail encountered when attempting to deliver a digest file to the designated bucket. For more information see the topic Error Responses in the Amazon S3 API Reference.

This error occurs only when there is a problem with the destination S3 bucket and will not occur for timeouts. To resolve the issue, create a new bucket and call UpdateTrail to specify the new bucket, or fix the existing objects so that CloudTrail can again write to the bucket.

" }, "LatestDeliveryAttemptTime":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" }, "LatestNotificationAttemptTime":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" }, "LatestNotificationAttemptSucceeded":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" }, "LatestDeliveryAttemptSucceeded":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" }, "TimeLoggingStarted":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" }, "TimeLoggingStopped":{ "shape":"String", - "documentation":"

This field is deprecated.

" + "documentation":"

This field is no longer in use.

" } }, "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" }, + "InsightNotEnabledException":{ + "type":"structure", + "members":{ + }, + "documentation":"

If you run GetInsightSelectors on a trail that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException.

", + "exception":true + }, + "InsightSelector":{ + "type":"structure", + "members":{ + "InsightType":{ + "shape":"InsightType", + "documentation":"

The type of insights to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

" + } + }, + "documentation":"

A JSON string that contains a list of insight types that are logged on a trail.

" + }, + "InsightSelectors":{ + "type":"list", + "member":{"shape":"InsightSelector"} + }, + "InsightType":{ + "type":"string", + "enum":["ApiCallRateInsight"] + }, + "InsufficientDependencyServiceAccessPermissionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when the IAM user or role that is used to create the organization trail is lacking one or more required permissions for creating an organization trail in a required service. For more information, see Prepare For Creating a Trail For Your Organization.

", + "exception":true + }, "InsufficientEncryptionPolicyException":{ "type":"structure", "members":{ @@ -592,6 +914,20 @@ "documentation":"

This exception is thrown when the provided role is not valid.

", "exception":true }, + "InvalidEventCategoryException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Occurs if an event category that is not valid is specified as a value of EventCategory.

", + "exception":true + }, + "InvalidEventSelectorsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when the PutEventSelectors operation is called with a number of event selectors or data resources that is not valid. The combination of event selectors and data resources is not valid. A trail can have up to 5 event selectors. A trail is limited to 250 data resources. These data resources can be distributed across event selectors, but the overall total cannot exceed 250.

You can:

  • Specify a valid number of event selectors (1 to 5) for a trail.

  • Specify a valid number of data resources (1 to 250) for an event selector. The limit of number of resources on an individual event selector is configurable up to 250. However, this upper limit is allowed only if the total number of data resources does not exceed 250 across all event selectors for a trail.

  • Specify a valid value for a parameter. For example, specifying the ReadWriteType parameter with a value of read-only is invalid.

", + "exception":true + }, "InvalidHomeRegionException":{ "type":"structure", "members":{ @@ -599,6 +935,13 @@ "documentation":"

This exception is thrown when an operation is called on a trail from a region other than the region in which the trail was created.

", "exception":true }, + "InvalidInsightSelectorsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The formatting or syntax of the InsightSelectors JSON statement in your PutInsightSelectors or GetInsightSelectors request is not valid, or the specified insight type in the InsightSelectors statement is not a valid insight type.

", + "exception":true + }, "InvalidKmsKeyIdException":{ "type":"structure", "members":{ @@ -659,7 +1002,7 @@ "type":"structure", "members":{ }, - "documentation":"

This exception is thrown when the key or value specified for the tag does not match the regular expression ^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-@]*)$.

", + "documentation":"

This exception is thrown when the specified tag key or values are not valid. It can also occur if there are duplicate tags or too many tags on the resource.

", "exception":true }, "InvalidTimeRangeException":{ @@ -694,7 +1037,7 @@ "type":"structure", "members":{ }, - "documentation":"

This exception is deprecated.

", + "documentation":"

This exception is no longer in use.

", "deprecated":true, "exception":true }, @@ -743,7 +1086,7 @@ "members":{ "ResourceIdList":{ "shape":"ResourceIdList", - "documentation":"

Specifies a list of trail ARNs whose tags will be listed. The list has a limit of 20 ARNs. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies a list of trail ARNs whose tags will be listed. The list has a limit of 20 ARNs. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "NextToken":{ "shape":"String", @@ -755,7 +1098,10 @@ "ListTagsResponse":{ "type":"structure", "members":{ - "ResourceTagList":{"shape":"ResourceTagList"}, + "ResourceTagList":{ + "shape":"ResourceTagList", + "documentation":"

A list of resource tags.

" + }, "NextToken":{ "shape":"String", "documentation":"

Reserved for future use.

" @@ -763,6 +1109,28 @@ }, "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" }, + "ListTrailsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to get the next page of results after a previous API call. This token must be passed in with the same parameters that were specified in the the original call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

" + } + } + }, + "ListTrailsResponse":{ + "type":"structure", + "members":{ + "Trails":{ + "shape":"Trails", + "documentation":"

Returns the name, ARN, and home region of trails in the current account.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to get the next page of results after a previous API call. If the token does not appear, there are no more results to return. The token must be passed in with the same parameters as the previous call. For example, if the original call specified an AttributeKey of 'Username' with a value of 'root', the call with NextToken should include those same parameters.

" + } + } + }, "LookupAttribute":{ "type":"structure", "required":[ @@ -786,9 +1154,12 @@ "enum":[ "EventId", "EventName", + "ReadOnly", "Username", "ResourceType", - "ResourceName" + "ResourceName", + "EventSource", + "AccessKeyId" ] }, "LookupAttributesList":{ @@ -810,9 +1181,13 @@ "shape":"Date", "documentation":"

Specifies that only events that occur before or at the specified time are returned. If the specified end time is before the specified start time, an error is returned.

" }, + "EventCategory":{ + "shape":"EventCategory", + "documentation":"

Specifies the event category. If you do not specify an event category, events of the category are not returned in the response. For example, if you do not specify insight as the value of EventCategory, no Insights events are returned.

" + }, "MaxResults":{ "shape":"MaxResults", - "documentation":"

The number of events to return. Possible values are 1 through 50. The default is 10.

" + "documentation":"

The number of events to return. Possible values are 1 through 50. The default is 50.

" }, "NextToken":{ "shape":"NextToken", @@ -848,6 +1223,13 @@ "exception":true }, "NextToken":{"type":"string"}, + "NotOrganizationMasterAccountException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when the AWS account making the request to create or update an organization trail is not the master account for an organization in AWS Organizations. For more information, see Prepare For Creating a Trail For Your Organization.

", + "exception":true + }, "OperationNotPermittedException":{ "type":"structure", "members":{ @@ -855,6 +1237,20 @@ "documentation":"

This exception is thrown when the requested operation is not permitted.

", "exception":true }, + "OrganizationNotInAllFeaturesModeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when AWS Organizations is not configured to support all features. All features must be enabled in AWS Organization to support creating an organization trail. For more information, see Prepare For Creating a Trail For Your Organization.

", + "exception":true + }, + "OrganizationsNotInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This exception is thrown when the request is made from an AWS account that is not a member of an organization. To make this request, sign in using the credentials of an account that belongs to an organization.

", + "exception":true + }, "PublicKey":{ "type":"structure", "members":{ @@ -881,13 +1277,81 @@ "type":"list", "member":{"shape":"PublicKey"} }, + "PutEventSelectorsRequest":{ + "type":"structure", + "required":[ + "TrailName", + "EventSelectors" + ], + "members":{ + "TrailName":{ + "shape":"String", + "documentation":"

Specifies the name of the trail or trail ARN. If you specify a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If you specify a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" + }, + "EventSelectors":{ + "shape":"EventSelectors", + "documentation":"

Specifies the settings for your event selectors. You can configure up to five event selectors for a trail.

" + } + } + }, + "PutEventSelectorsResponse":{ + "type":"structure", + "members":{ + "TrailARN":{ + "shape":"String", + "documentation":"

Specifies the ARN of the trail that was updated with event selectors. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" + }, + "EventSelectors":{ + "shape":"EventSelectors", + "documentation":"

Specifies the event selectors configured for your trail.

" + } + } + }, + "PutInsightSelectorsRequest":{ + "type":"structure", + "required":[ + "TrailName", + "InsightSelectors" + ], + "members":{ + "TrailName":{ + "shape":"String", + "documentation":"

The name of the CloudTrail trail for which you want to change or add Insights selectors.

" + }, + "InsightSelectors":{ + "shape":"InsightSelectors", + "documentation":"

A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

" + } + } + }, + "PutInsightSelectorsResponse":{ + "type":"structure", + "members":{ + "TrailARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of a trail for which you want to change or add Insights selectors.

" + }, + "InsightSelectors":{ + "shape":"InsightSelectors", + "documentation":"

A JSON string that contains the insight types you want to log on a trail. In this release, only ApiCallRateInsight is supported as an insight type.

" + } + } + }, + "ReadWriteType":{ + "type":"string", + "enum":[ + "ReadOnly", + "WriteOnly", + "All" + ] + }, "RemoveTagsRequest":{ "type":"structure", "required":["ResourceId"], "members":{ "ResourceId":{ "shape":"String", - "documentation":"

Specifies the ARN of the trail from which tags should be removed. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the ARN of the trail from which tags should be removed. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "TagsList":{ "shape":"TagsList", @@ -907,7 +1371,7 @@ "members":{ "ResourceType":{ "shape":"String", - "documentation":"

The type of a resource referenced by the event returned. When the resource type cannot be determined, null is returned. Some examples of resource types are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM. For a list of resource types supported for event lookup, see Resource Types Supported for Event Lookup.

" + "documentation":"

The type of a resource referenced by the event returned. When the resource type cannot be determined, null is returned. Some examples of resource types are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM. To learn more about how to look up and filter events by the resource types supported for a service, see Filtering CloudTrail Events.

" }, "ResourceName":{ "shape":"String", @@ -939,14 +1403,16 @@ "shape":"String", "documentation":"

Specifies the ARN of the resource.

" }, - "TagsList":{"shape":"TagsList"} + "TagsList":{ + "shape":"TagsList", + "documentation":"

A list of tags.

" + } }, "documentation":"

A resource tag.

" }, "ResourceTagList":{ "type":"list", - "member":{"shape":"ResourceTag"}, - "documentation":"

A list of resource tags.

" + "member":{"shape":"ResourceTag"} }, "ResourceTypeNotSupportedException":{ "type":"structure", @@ -968,7 +1434,7 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail logs AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" } }, "documentation":"

The request to CloudTrail to start logging AWS API calls for an account.

" @@ -985,7 +1451,7 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail will stop logging AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the name or the CloudTrail ARN of the trail for which CloudTrail will stop logging AWS API calls. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" } }, "documentation":"

Passes the request to CloudTrail to stop logging AWS API calls for the specified account.

" @@ -1016,7 +1482,7 @@ "type":"structure", "members":{ }, - "documentation":"

The number of tags per trail has exceeded the permitted amount. Currently, the limit is 10.

", + "documentation":"

The number of tags per trail has exceeded the permitted amount. Currently, the limit is 50.

", "exception":true }, "TagsList":{ @@ -1033,20 +1499,20 @@ }, "S3BucketName":{ "shape":"String", - "documentation":"

Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.

" + "documentation":"

Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.

" }, "S3KeyPrefix":{ "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

" + "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

" }, "SnsTopicName":{ "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", + "documentation":"

This field is no longer in use. Use SnsTopicARN.

", "deprecated":true }, "SnsTopicARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" + "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-2:123456789012:MyTopic

" }, "IncludeGlobalServiceEvents":{ "shape":"Boolean", @@ -1054,7 +1520,7 @@ }, "IsMultiRegionTrail":{ "shape":"Boolean", - "documentation":"

Specifies whether the trail belongs only to one region or exists in all regions.

" + "documentation":"

Specifies whether the trail exists only in one region or exists in all regions.

" }, "HomeRegion":{ "shape":"String", @@ -1062,7 +1528,7 @@ }, "TrailARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the trail. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the ARN of the trail. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "LogFileValidationEnabled":{ "shape":"Boolean", @@ -1078,7 +1544,19 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

" + }, + "HasCustomEventSelectors":{ + "shape":"Boolean", + "documentation":"

Specifies if the trail has custom event selectors.

" + }, + "HasInsightSelectors":{ + "shape":"Boolean", + "documentation":"

Specifies whether a trail has insight types specified in an InsightSelector list.

" + }, + "IsOrganizationTrail":{ + "shape":"Boolean", + "documentation":"

Specifies whether the trail is an organization trail.

" } }, "documentation":"

The settings for a trail.

" @@ -1090,6 +1568,24 @@ "documentation":"

This exception is thrown when the specified trail already exists.

", "exception":true }, + "TrailInfo":{ + "type":"structure", + "members":{ + "TrailARN":{ + "shape":"String", + "documentation":"

The ARN of a trail.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of a trail.

" + }, + "HomeRegion":{ + "shape":"String", + "documentation":"

The AWS region in which a trail was created.

" + } + }, + "documentation":"

Information about a CloudTrail trail, including the trail's name, home region, and Amazon Resource Name (ARN).

" + }, "TrailList":{ "type":"list", "member":{"shape":"Trail"} @@ -1109,9 +1605,13 @@ "type":"structure", "members":{ }, - "documentation":"

This exception is deprecated.

", + "documentation":"

This exception is no longer in use.

", "exception":true }, + "Trails":{ + "type":"list", + "member":{"shape":"TrailInfo"} + }, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -1125,15 +1625,15 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

Specifies the name of the trail or trail ARN. If Name is a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If Name is a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the name of the trail or trail ARN. If Name is a trail name, the string must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)

  • Start with a letter or number, and end with a letter or number

  • Be between 3 and 128 characters

  • Have no adjacent periods, underscores or dashes. Names like my-_namespace and my--namespace are invalid.

  • Not be in IP address format (for example, 192.168.5.4)

If Name is a trail ARN, it must be in the format:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "S3BucketName":{ "shape":"String", - "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" + "documentation":"

Specifies the name of the Amazon S3 bucket designated for publishing log files. See Amazon S3 Bucket Naming Requirements.

" }, "S3KeyPrefix":{ "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" + "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files. The maximum length is 200 characters.

" }, "SnsTopicName":{ "shape":"String", @@ -1145,7 +1645,7 @@ }, "IsMultiRegionTrail":{ "shape":"Boolean", - "documentation":"

Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted.

" + "documentation":"

Specifies whether the trail applies only to the current region or to all regions. The default is false. If the trail exists only in the current region and this value is set to true, shadow trails (replications of the trail) will be created in the other regions. If the trail exists in all regions and this value is set to false, the trail will remain in the region where it was created, and its shadow trails in other regions will be deleted. As a best practice, consider using trails that log events in all regions.

" }, "EnableLogFileValidation":{ "shape":"Boolean", @@ -1161,7 +1661,11 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be a an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID to use to encrypt the logs delivered by CloudTrail. The value can be an alias name prefixed by \"alias/\", a fully specified ARN to an alias, a fully specified ARN to a key, or a globally unique identifier.

Examples:

  • alias/MyAliasName

  • arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

  • arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

  • 12345678-1234-1234-1234-123456789012

" + }, + "IsOrganizationTrail":{ + "shape":"Boolean", + "documentation":"

Specifies whether the trail is applied to all accounts in an organization in AWS Organizations, or only for the current AWS account. The default is false, and cannot be true unless the call is made on behalf of an AWS account that is the master account for an organization in AWS Organizations. If the trail is not an organization trail and this is set to true, the trail will be created in all AWS accounts that belong to the organization. If the trail is an organization trail and this is set to false, the trail will remain in the current AWS account but be deleted from all member accounts in the organization.

" } }, "documentation":"

Specifies settings to update for the trail.

" @@ -1179,16 +1683,16 @@ }, "S3KeyPrefix":{ "shape":"String", - "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" + "documentation":"

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.

" }, "SnsTopicName":{ "shape":"String", - "documentation":"

This field is deprecated. Use SnsTopicARN.

", + "documentation":"

This field is no longer in use. Use SnsTopicARN.

", "deprecated":true }, "SnsTopicARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-1:123456789012:MyTopic

" + "documentation":"

Specifies the ARN of the Amazon SNS topic that CloudTrail uses to send notifications when log files are delivered. The format of a topic ARN is:

arn:aws:sns:us-east-2:123456789012:MyTopic

" }, "IncludeGlobalServiceEvents":{ "shape":"Boolean", @@ -1200,7 +1704,7 @@ }, "TrailARN":{ "shape":"String", - "documentation":"

Specifies the ARN of the trail that was updated. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-1:123456789012:trail/MyTrail

" + "documentation":"

Specifies the ARN of the trail that was updated. The format of a trail ARN is:

arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail

" }, "LogFileValidationEnabled":{ "shape":"Boolean", @@ -1216,11 +1720,15 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

" + "documentation":"

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

arn:aws:kms:us-east-2:123456789012:key/12345678-1234-1234-1234-123456789012

" + }, + "IsOrganizationTrail":{ + "shape":"Boolean", + "documentation":"

Specifies whether the trail is an organization trail.

" } }, "documentation":"

Returns the objects or data listed below if successful. Otherwise, returns an error.

" } }, - "documentation":"AWS CloudTrail

This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service.

As an alternative to the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

See the CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files.

" + "documentation":"AWS CloudTrail

This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service.

As an alternative to the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

See the AWS CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files.

" } diff -Nru python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/examples-1.json --- python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -10,12 +10,29 @@ "input_token": "NextToken", "output_token": "NextToken", "limit_key": "MaxRecords", - "result_key": "MetricAlarms" + "result_key": [ + "MetricAlarms", + "CompositeAlarms" + ] + }, + "ListDashboards": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "DashboardEntries" }, "ListMetrics": { "input_token": "NextToken", "output_token": "NextToken", "result_key": "Metrics" + }, + "GetMetricData": { + "input_token": "NextToken", + "limit_key": "MaxDatapoints", + "output_token": "NextToken", + "result_key": [ + "MetricDataResults", + "Messages" + ] } } } diff -Nru python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/service-2.json python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/service-2.json --- python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,7 +6,9 @@ "protocol":"query", "serviceAbbreviation":"CloudWatch", "serviceFullName":"Amazon CloudWatch", + "serviceId":"CloudWatch", "signatureVersion":"v4", + "uid":"monitoring-2010-08-01", "xmlNamespace":"http://monitoring.amazonaws.com/doc/2010-08-01/" }, "operations":{ @@ -20,7 +22,61 @@ "errors":[ {"shape":"ResourceNotFound"} ], - "documentation":"

Deletes all specified alarms. In the event of an error, no alarms are deleted.

" + "documentation":"

Deletes the specified alarms. You can delete up to 100 alarms in one operation. However, this total can include no more than one composite alarm. For example, you could delete 99 metric alarms and one composite alarms with one operation, but you can't delete two composite alarms with one operation.

In the event of an error, no alarms are deleted.

It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete.

To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False.

Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path.

" + }, + "DeleteAnomalyDetector":{ + "name":"DeleteAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAnomalyDetectorInput"}, + "output":{ + "shape":"DeleteAnomalyDetectorOutput", + "resultWrapper":"DeleteAnomalyDetectorResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ], + "documentation":"

Deletes the specified anomaly detection model from your account.

" + }, + "DeleteDashboards":{ + "name":"DeleteDashboards", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDashboardsInput"}, + "output":{ + "shape":"DeleteDashboardsOutput", + "resultWrapper":"DeleteDashboardsResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"DashboardNotFoundError"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Deletes all dashboards that you specify. You may specify up to 100 dashboards to delete. If there is an error during this call, no dashboards are deleted.

" + }, + "DeleteInsightRules":{ + "name":"DeleteInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInsightRulesInput"}, + "output":{ + "shape":"DeleteInsightRulesOutput", + "resultWrapper":"DeleteInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ], + "documentation":"

Permanently deletes the specified Contributor Insights rules.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available.

" }, "DescribeAlarmHistory":{ "name":"DescribeAlarmHistory", @@ -36,7 +92,7 @@ "errors":[ {"shape":"InvalidNextToken"} ], - "documentation":"

Retrieves history for the specified alarm. Filter alarms by date range or item type. If an alarm name is not specified, Amazon CloudWatch returns histories for all of the owner's alarms.

Amazon CloudWatch retains the history of an alarm for two weeks, whether or not you delete the alarm.

" + "documentation":"

Retrieves the history for the specified alarm. You can filter the results by date range or item type. If an alarm name is not specified, the histories for either all metric alarms or all composite alarms are returned.

CloudWatch retains the history of an alarm even if you delete the alarm.

" }, "DescribeAlarms":{ "name":"DescribeAlarms", @@ -52,7 +108,7 @@ "errors":[ {"shape":"InvalidNextToken"} ], - "documentation":"

Retrieves alarms with the specified names. If no name is specified, all alarms for the user are returned. Alarms can be retrieved by using only a prefix for the alarm name, the alarm state, or a prefix for any action.

" + "documentation":"

Retrieves the specified alarms. You can filter the results by specifying a a prefix for the alarm name, the alarm state, or a prefix for any action.

" }, "DescribeAlarmsForMetric":{ "name":"DescribeAlarmsForMetric", @@ -65,7 +121,41 @@ "shape":"DescribeAlarmsForMetricOutput", "resultWrapper":"DescribeAlarmsForMetricResult" }, - "documentation":"

Retrieves all alarms for a single metric. Specify a statistic, period, or unit to filter the set of alarms further.

" + "documentation":"

Retrieves the alarms for the specified metric. To filter the results, specify a statistic, period, or unit.

" + }, + "DescribeAnomalyDetectors":{ + "name":"DescribeAnomalyDetectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAnomalyDetectorsInput"}, + "output":{ + "shape":"DescribeAnomalyDetectorsOutput", + "resultWrapper":"DescribeAnomalyDetectorsResult" + }, + "errors":[ + {"shape":"InvalidNextToken"}, + {"shape":"InternalServiceFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Lists the anomaly detection models that you have created in your account. You can list all models in your account or filter the results to only the models that are related to a certain namespace, metric name, or metric dimension.

" + }, + "DescribeInsightRules":{ + "name":"DescribeInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInsightRulesInput"}, + "output":{ + "shape":"DescribeInsightRulesOutput", + "resultWrapper":"DescribeInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidNextToken"} + ], + "documentation":"

Returns a list of all the Contributor Insights rules in your account. All rules in your account are returned with a single operation.

For more information about Contributor Insights, see Using Contributor Insights to Analyze High-Cardinality Data.

" }, "DisableAlarmActions":{ "name":"DisableAlarmActions", @@ -74,7 +164,24 @@ "requestUri":"/" }, "input":{"shape":"DisableAlarmActionsInput"}, - "documentation":"

Disables actions for the specified alarms. When an alarm's actions are disabled the alarm's state may change, but none of the alarm's actions will execute.

" + "documentation":"

Disables the actions for the specified alarms. When an alarm's actions are disabled, the alarm actions do not execute when the alarm state changes.

" + }, + "DisableInsightRules":{ + "name":"DisableInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableInsightRulesInput"}, + "output":{ + "shape":"DisableInsightRulesOutput", + "resultWrapper":"DisableInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ], + "documentation":"

Disables the specified Contributor Insights rules. When rules are disabled, they do not analyze log groups and do not incur costs.

" }, "EnableAlarmActions":{ "name":"EnableAlarmActions", @@ -83,7 +190,77 @@ "requestUri":"/" }, "input":{"shape":"EnableAlarmActionsInput"}, - "documentation":"

Enables actions for the specified alarms.

" + "documentation":"

Enables the actions for the specified alarms.

" + }, + "EnableInsightRules":{ + "name":"EnableInsightRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableInsightRulesInput"}, + "output":{ + "shape":"EnableInsightRulesOutput", + "resultWrapper":"EnableInsightRulesResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Enables the specified Contributor Insights rules. When rules are enabled, they immediately begin analyzing log data.

" + }, + "GetDashboard":{ + "name":"GetDashboard", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDashboardInput"}, + "output":{ + "shape":"GetDashboardOutput", + "resultWrapper":"GetDashboardResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"DashboardNotFoundError"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Displays the details of the dashboard that you specify.

To copy an existing dashboard, use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard to create the copy.

" + }, + "GetInsightRuleReport":{ + "name":"GetInsightRuleReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInsightRuleReportInput"}, + "output":{ + "shape":"GetInsightRuleReportOutput", + "resultWrapper":"GetInsightRuleReportResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

This operation returns the time series data collected by a Contributor Insights rule. The data includes the identity and number of contributors to the log group.

You can also optionally return one or more statistics about each data point in the time series. These statistics can include the following:

  • UniqueContributors -- the number of unique contributors for each data point.

  • MaxContributorValue -- the value of the top contributor for each data point. The identity of the contributor may change for each data point in the graph.

    If this rule aggregates by COUNT, the top contributor for each data point is the contributor with the most occurrences in that period. If the rule aggregates by SUM, the top contributor is the contributor with the highest sum in the log field specified by the rule's Value, during that period.

  • SampleCount -- the number of data points matched by the rule.

  • Sum -- the sum of the values from all contributors during the time period represented by that data point.

  • Minimum -- the minimum value from a single observation during the time period represented by that data point.

  • Maximum -- the maximum value from a single observation during the time period represented by that data point.

  • Average -- the average value from all contributors during the time period represented by that data point.

" + }, + "GetMetricData":{ + "name":"GetMetricData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMetricDataInput"}, + "output":{ + "shape":"GetMetricDataOutput", + "resultWrapper":"GetMetricDataResult" + }, + "errors":[ + {"shape":"InvalidNextToken"} + ], + "documentation":"

You can use the GetMetricData API to retrieve as many as 500 different metrics in a single request, with a total of as many as 100,800 data points. You can also optionally perform math expressions on the values of the returned statistics, to create new time series that represent new insights into your data. For example, using Lambda metrics, you could divide the Errors metric by the Invocations metric to get an error rate time series. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Calls to the GetMetricData API have a different pricing structure than calls to GetMetricStatistics. For more information about pricing, see Amazon CloudWatch Pricing.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

If you omit Unit in your request, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

" }, "GetMetricStatistics":{ "name":"GetMetricStatistics", @@ -102,7 +279,37 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Gets statistics for the specified metric.

The maximum number of data points that can be queried is 50,850, whereas the maximum number of data points returned from a single GetMetricStatistics request is 1,440. If you make a request that generates more than 1,440 data points, Amazon CloudWatch returns an error. In such a case, you can alter the request by narrowing the specified time range or increasing the specified period. A period can be as short as one minute (60 seconds) or as long as one day (86,400 seconds). Alternatively, you can make multiple requests across adjacent time ranges. GetMetricStatistics does not return the data in chronological order.

Amazon CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-minute granularity, Amazon CloudWatch aggregates data points with time stamps that fall within the same one-minute period. In such a case, the data points queried can greatly outnumber the data points returned.

The following examples show various statistics allowed by the data point query maximum of 50,850 when you call GetMetricStatistics on Amazon EC2 instances with detailed (one-minute) monitoring enabled:

  • Statistics for up to 400 instances for a span of one hour

  • Statistics for up to 35 instances over a span of 24 hours

  • Statistics for up to 2 instances over a span of 2 weeks

For information about the namespace, metric names, and dimensions that other Amazon Web Services products use to send metrics to CloudWatch, go to Amazon CloudWatch Metrics, Namespaces, and Dimensions Reference in the Amazon CloudWatch Developer Guide.

" + "documentation":"

Gets statistics for the specified metric.

The maximum number of data points returned from a single call is 1,440. If you request more than 1,440 data points, CloudWatch returns an error. To reduce the number of data points, you can narrow the specified time range and make multiple requests across adjacent time ranges, or you can increase the specified period. Data points are not returned in chronological order.

CloudWatch aggregates data points based on the length of the period that you specify. For example, if you request statistics with a one-hour period, CloudWatch aggregates all data points with time stamps that fall within each one-hour period. Therefore, the number of values aggregated by CloudWatch is larger than the number of data points returned.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1.

  • The Min and the Max values of the statistic set are equal.

Percentile statistics are not available for metrics when any of the metric values are negative numbers.

Amazon CloudWatch retains metric data as follows:

  • Data points with a period of less than 60 seconds are available for 3 hours. These data points are high-resolution metrics and are available only for custom metrics that have been defined with a StorageResolution of 1.

  • Data points with a period of 60 seconds (1-minute) are available for 15 days.

  • Data points with a period of 300 seconds (5-minute) are available for 63 days.

  • Data points with a period of 3600 seconds (1 hour) are available for 455 days (15 months).

Data points that are initially published with a shorter period are aggregated together for long-term storage. For example, if you collect data using a period of 1 minute, the data remains available for 15 days with 1-minute resolution. After 15 days, this data is still available, but is aggregated and retrievable only with a resolution of 5 minutes. After 63 days, the data is further aggregated and is available with a resolution of 1 hour.

CloudWatch started retaining 5-minute and 1-hour metric data as of July 9, 2016.

For information about metrics and dimensions supported by AWS services, see the Amazon CloudWatch Metrics and Dimensions Reference in the Amazon CloudWatch User Guide.

" + }, + "GetMetricWidgetImage":{ + "name":"GetMetricWidgetImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMetricWidgetImageInput"}, + "output":{ + "shape":"GetMetricWidgetImageOutput", + "resultWrapper":"GetMetricWidgetImageResult" + }, + "documentation":"

You can use the GetMetricWidgetImage API to retrieve a snapshot graph of one or more Amazon CloudWatch metrics as a bitmap image. You can then embed this image into your services and products, such as wiki pages, reports, and documents. You could also retrieve images regularly, such as every minute, and create your own custom live dashboard.

The graph you retrieve can include all CloudWatch metric graph features, including metric math and horizontal and vertical annotations.

There is a limit of 20 transactions per second for this API. Each GetMetricWidgetImage action has the following limits:

  • As many as 100 metrics in the graph.

  • Up to 100 KB uncompressed payload.

" + }, + "ListDashboards":{ + "name":"ListDashboards", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDashboardsInput"}, + "output":{ + "shape":"ListDashboardsOutput", + "resultWrapper":"ListDashboardsResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Returns a list of the dashboards for your account. If you include DashboardNamePrefix, only those dashboards with names starting with the prefix are listed. Otherwise, all dashboards in your account are listed.

ListDashboards returns up to 1000 results on one page. If there are more than 1000 dashboards, you can call ListDashboards again and include the value you received for NextToken in the first call, to receive the next 1000 results.

" }, "ListMetrics":{ "name":"ListMetrics", @@ -119,7 +326,91 @@ {"shape":"InternalServiceFault"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns a list of valid metrics stored for the AWS account owner. Returned metrics can be used with GetMetricStatistics to obtain statistical data for a given metric.

Up to 500 results are returned for any one call. To retrieve further results, use returned NextToken values with subsequent ListMetrics operations.

If you create a metric with PutMetricData, allow up to fifteen minutes for the metric to appear in calls to ListMetrics. Statistics about the metric, however, are available sooner using GetMetricStatistics.

" + "documentation":"

List the specified metrics. You can use the returned metrics with GetMetricData or GetMetricStatistics to obtain statistical data.

Up to 500 results are returned for any one call. To retrieve additional results, use the returned token with subsequent calls.

After you create a metric, allow up to fifteen minutes before the metric appears. Statistics about the metric, however, are available sooner using GetMetricData or GetMetricStatistics.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{ + "shape":"ListTagsForResourceOutput", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Displays the tags associated with a CloudWatch resource. Currently, alarms and Contributor Insights rules support tagging.

" + }, + "PutAnomalyDetector":{ + "name":"PutAnomalyDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAnomalyDetectorInput"}, + "output":{ + "shape":"PutAnomalyDetectorOutput", + "resultWrapper":"PutAnomalyDetectorResult" + }, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"} + ], + "documentation":"

Creates an anomaly detection model for a CloudWatch metric. You can use the model to display a band of expected normal values when the metric is graphed.

For more information, see CloudWatch Anomaly Detection.

" + }, + "PutCompositeAlarm":{ + "name":"PutCompositeAlarm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutCompositeAlarmInput"}, + "errors":[ + {"shape":"LimitExceededFault"} + ], + "documentation":"

Creates or updates a composite alarm. When you create a composite alarm, you specify a rule expression for the alarm that takes into account the alarm states of other alarms that you have created. The composite alarm goes into ALARM state only if all conditions of the rule are met.

The alarms specified in a composite alarm's rule expression can include metric alarms and other composite alarms.

Using composite alarms can reduce alarm noise. You can create multiple metric alarms, and also create a composite alarm and set up alerts only for the composite alarm. For example, you could create a composite alarm that goes into ALARM state only when more than one of the underlying metric alarms are in ALARM state.

Currently, the only alarm actions that can be taken by composite alarms are notifying SNS topics.

It is possible to create a loop or cycle of composite alarms, where composite alarm A depends on composite alarm B, and composite alarm B also depends on composite alarm A. In this scenario, you can't delete any composite alarm that is part of the cycle because there is always still a composite alarm that depends on that alarm that you want to delete.

To get out of such a situation, you must break the cycle by changing the rule of one of the composite alarms in the cycle to remove a dependency that creates the cycle. The simplest change to make to break a cycle is to change the AlarmRule of one of the alarms to False.

Additionally, the evaluation of composite alarms stops if CloudWatch detects a cycle in the evaluation path.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. For a composite alarm, this initial time after creation is the only time that the alarm can be in INSUFFICIENT_DATA state.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

" + }, + "PutDashboard":{ + "name":"PutDashboard", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutDashboardInput"}, + "output":{ + "shape":"PutDashboardOutput", + "resultWrapper":"PutDashboardResult" + }, + "errors":[ + {"shape":"DashboardInvalidInputError"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Creates a dashboard if it does not already exist, or updates an existing dashboard. If you update a dashboard, the entire contents are replaced with what you specify here.

All dashboards in your account are global, not region-specific.

A simple way to create a dashboard using PutDashboard is to copy an existing dashboard. To copy an existing dashboard using the console, you can load the dashboard and then use the View/edit source command in the Actions menu to display the JSON block for that dashboard. Another way to copy a dashboard is to use GetDashboard, and then use the data returned within DashboardBody as the template for the new dashboard when you call PutDashboard.

When you create a dashboard with PutDashboard, a good practice is to add a text widget at the top of the dashboard with a message that the dashboard was created by script and should not be changed in the console. This message could also point console users to the location of the DashboardBody script or the CloudFormation template used to create the dashboard.

" + }, + "PutInsightRule":{ + "name":"PutInsightRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInsightRuleInput"}, + "output":{ + "shape":"PutInsightRuleOutput", + "resultWrapper":"PutInsightRuleResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a Contributor Insights rule. Rules evaluate log events in a CloudWatch Logs log group, enabling you to find contributor data for the log events in that log group. For more information, see Using Contributor Insights to Analyze High-Cardinality Data.

If you create a rule, delete it, and then re-create it with the same name, historical data from the first time the rule was created may or may not be available.

" }, "PutMetricAlarm":{ "name":"PutMetricAlarm", @@ -131,7 +422,7 @@ "errors":[ {"shape":"LimitExceededFault"} ], - "documentation":"

Creates or updates an alarm and associates it with the specified Amazon CloudWatch metric. Optionally, this operation can associate one or more Amazon SNS resources with the alarm.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is evaluated and its StateValue is set appropriately. Any actions associated with the StateValue are then executed.

When updating an existing alarm, its StateValue is left unchanged, but it completely overwrites the alarm's previous configuration.

If you are using an AWS Identity and Access Management (IAM) account to create or modify an alarm, you must have the following Amazon EC2 permissions:

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on Amazon EC2 instance status metrics.

  • ec2:StopInstances for alarms with stop actions.

  • ec2:TerminateInstances for alarms with terminate actions.

  • ec2:DescribeInstanceRecoveryAttribute, and ec2:RecoverInstances for alarms with recover actions.

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm but the stop or terminate actions won't be performed on the Amazon EC2 instance. However, if you are later granted permission to use the associated Amazon EC2 APIs, the alarm actions you created earlier will be performed. For more information about IAM permissions, see Permissions and Policies in Using IAM.

If you are using an IAM role (e.g., an Amazon EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using the AWS Security Token Service (AWS STS), you cannot stop or terminate an Amazon EC2 instance using alarm actions.

" + "documentation":"

Creates or updates an alarm and associates it with the specified metric, metric math expression, or anomaly detection model.

Alarms based on anomaly detection models cannot have Auto Scaling actions.

When this operation creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm.

If you are an IAM user, you must have Amazon EC2 permissions for some alarm operations:

  • iam:CreateServiceLinkedRole for all alarms with EC2 actions

  • ec2:DescribeInstanceStatus and ec2:DescribeInstances for all alarms on EC2 instance status metrics

  • ec2:StopInstances for alarms with stop actions

  • ec2:TerminateInstances for alarms with terminate actions

  • No specific permissions are needed for alarms with recover actions

If you have read/write permissions for Amazon CloudWatch but not for Amazon EC2, you can still create an alarm, but the stop or terminate actions are not performed. However, if you are later granted the required permissions, the alarm actions that you created earlier are performed.

If you are using an IAM role (for example, an EC2 instance profile), you cannot stop or terminate the instance using alarm actions. However, you can still see the alarm state and perform any other actions such as Amazon SNS notifications or Auto Scaling policies.

If you are using temporary security credentials granted using AWS STS, you cannot stop or terminate an EC2 instance using alarm actions.

The first time you create an alarm in the AWS Management Console, the CLI, or by using the PutMetricAlarm API, CloudWatch creates the necessary service-linked role for you. The service-linked role is called AWSServiceRoleForCloudWatchEvents. For more information, see AWS service-linked role.

" }, "PutMetricData":{ "name":"PutMetricData", @@ -146,7 +437,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InternalServiceFault"} ], - "documentation":"

Publishes metric data points to Amazon CloudWatch. Amazon CloudWatch associates the data points with the specified metric. If the specified metric does not exist, Amazon CloudWatch creates the metric. When Amazon CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

Each PutMetricData request is limited to 8 KB in size for HTTP GET requests and is limited to 40 KB in size for HTTP POST requests.

Although the Value parameter accepts numbers of type Double, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.

Data that is timestamped 24 hours or more in the past may take in excess of 48 hours to become available from submission time using GetMetricStatistics.

" + "documentation":"

Publishes metric data points to Amazon CloudWatch. CloudWatch associates the data points with the specified metric. If the specified metric does not exist, CloudWatch creates the metric. When CloudWatch creates a metric, it can take up to fifteen minutes for the metric to appear in calls to ListMetrics.

You can publish either individual data points in the Value field, or arrays of values and the number of times each value occurred during the period by using the Values and Counts fields in the MetricDatum structure. Using the Values and Counts method enables you to publish up to 150 values per metric with one PutMetricData request, and supports retrieving percentile statistics on this data.

Each PutMetricData request is limited to 40 KB in size for HTTP POST requests. You can send a payload compressed by gzip. Each request is also limited to no more than 20 different metrics.

Although the Value parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

You can use up to 10 dimensions per metric to further clarify what data the metric collects. Each dimension consists of a Name and Value pair. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

Data points with time stamps from 24 hours ago or longer can take at least 48 hours to become available for GetMetricData or GetMetricStatistics from the time they are submitted. Data points with time stamps between 3 and 24 hours ago can take as much as 2 hours to become available for for GetMetricData or GetMetricStatistics.

CloudWatch needs raw data points to calculate percentile statistics. If you publish data using a statistic set instead, you can only retrieve percentile statistics for this data if one of the following conditions is true:

  • The SampleCount value of the statistic set is 1 and Min, Max, and Sum are all equal.

  • The Min and Max are equal, and Sum is equal to Min multiplied by SampleCount.

" }, "SetAlarmState":{ "name":"SetAlarmState", @@ -159,7 +450,45 @@ {"shape":"ResourceNotFound"}, {"shape":"InvalidFormatFault"} ], - "documentation":"

Temporarily sets the state of an alarm for testing purposes. When the updated StateValue differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm's state to ALARM sends an Amazon SNS message. The alarm returns to its actual state (often within seconds). Because the alarm state change happens very quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

" + "documentation":"

Temporarily sets the state of an alarm for testing purposes. When the updated state differs from the previous value, the action configured for the appropriate state is invoked. For example, if your alarm is configured to send an Amazon SNS message when an alarm is triggered, temporarily changing the alarm state to ALARM sends an SNS message.

Metric alarms returns to their actual state quickly, often within seconds. Because the metric alarm state change happens quickly, it is typically only visible in the alarm's History tab in the Amazon CloudWatch console or through DescribeAlarmHistory.

If you use SetAlarmState on a composite alarm, the composite alarm is not guaranteed to return to its actual state. It will return to its actual state only once any of its children alarms change state. It is also re-evaluated if you update its configuration.

If an alarm triggers EC2 Auto Scaling policies or application Auto Scaling policies, you must include information in the StateReasonData parameter to enable the policy to take the correct action.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{ + "shape":"TagResourceOutput", + "resultWrapper":"TagResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Assigns one or more tags (key-value pairs) to the specified CloudWatch resource. Currently, the only CloudWatch resources that can be tagged are alarms and Contributor Insights rules.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a CloudWatch resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{ + "shape":"UntagResourceOutput", + "resultWrapper":"UntagResourceResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalServiceFault"} + ], + "documentation":"

Removes one or more tags from the specified resource.

" } }, "shapes":{ @@ -186,6 +515,10 @@ "shape":"AlarmName", "documentation":"

The descriptive name for the alarm.

" }, + "AlarmType":{ + "shape":"AlarmType", + "documentation":"

The type of alarm, either metric alarm or composite alarm.

" + }, "Timestamp":{ "shape":"Timestamp", "documentation":"

The time stamp for the alarm history item.

" @@ -196,14 +529,14 @@ }, "HistorySummary":{ "shape":"HistorySummary", - "documentation":"

A human-readable summary of the alarm history.

" + "documentation":"

A summary of the alarm history, in text format.

" }, "HistoryData":{ "shape":"HistoryData", - "documentation":"

Machine-readable data about the alarm in JSON format.

" + "documentation":"

Data about the alarm, in JSON format.

" } }, - "documentation":"

The AlarmHistoryItem data type contains descriptive information about the history of a specific alarm. If you call DescribeAlarmHistory, Amazon CloudWatch returns this data type as part of the DescribeAlarmHistoryResult data type.

" + "documentation":"

Represents the history of a specific alarm.

" }, "AlarmHistoryItems":{ "type":"list", @@ -224,49 +557,324 @@ "member":{"shape":"AlarmName"}, "max":100 }, + "AlarmRule":{ + "type":"string", + "max":10240, + "min":1 + }, + "AlarmType":{ + "type":"string", + "enum":[ + "CompositeAlarm", + "MetricAlarm" + ] + }, + "AlarmTypes":{ + "type":"list", + "member":{"shape":"AlarmType"} + }, + "AmazonResourceName":{ + "type":"string", + "max":1024, + "min":1 + }, + "AnomalyDetector":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

The namespace of the metric associated with the anomaly detection model.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric associated with the anomaly detection model.

" + }, + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

The metric dimensions associated with the anomaly detection model.

" + }, + "Stat":{ + "shape":"AnomalyDetectorMetricStat", + "documentation":"

The statistic associated with the anomaly detection model.

" + }, + "Configuration":{ + "shape":"AnomalyDetectorConfiguration", + "documentation":"

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude from use for training the model, and the time zone to use for the metric.

" + }, + "StateValue":{ + "shape":"AnomalyDetectorStateValue", + "documentation":"

The current status of the anomaly detector's training. The possible values are TRAINED | PENDING_TRAINING | TRAINED_INSUFFICIENT_DATA

" + } + }, + "documentation":"

An anomaly detection model associated with a particular CloudWatch metric and statistic. You can use the model to display a band of expected normal values when the metric is graphed.

" + }, + "AnomalyDetectorConfiguration":{ + "type":"structure", + "members":{ + "ExcludedTimeRanges":{ + "shape":"AnomalyDetectorExcludedTimeRanges", + "documentation":"

An array of time ranges to exclude from use when the anomaly detection model is trained. Use this to make sure that events that could cause unusual values for the metric, such as deployments, aren't used when CloudWatch creates the model.

" + }, + "MetricTimezone":{ + "shape":"AnomalyDetectorMetricTimezone", + "documentation":"

The time zone to use for the metric. This is useful to enable the model to automatically account for daylight savings time changes if the metric is sensitive to such time changes.

To specify a time zone, use the name of the time zone as specified in the standard tz database. For more information, see tz database.

" + } + }, + "documentation":"

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude from use for training the model and the time zone to use for the metric.

" + }, + "AnomalyDetectorExcludedTimeRanges":{ + "type":"list", + "member":{"shape":"Range"} + }, + "AnomalyDetectorMetricStat":{ + "type":"string", + "pattern":"(SampleCount|Average|Sum|Minimum|Maximum|p(\\d{1,2}|100)(\\.\\d{0,2})?|[ou]\\d+(\\.\\d*)?)(_E|_L|_H)?" + }, + "AnomalyDetectorMetricTimezone":{ + "type":"string", + "max":50, + "pattern":".*" + }, + "AnomalyDetectorStateValue":{ + "type":"string", + "enum":[ + "PENDING_TRAINING", + "TRAINED_INSUFFICIENT_DATA", + "TRAINED" + ] + }, + "AnomalyDetectors":{ + "type":"list", + "member":{"shape":"AnomalyDetector"} + }, "AwsQueryErrorMessage":{"type":"string"}, + "BatchFailures":{ + "type":"list", + "member":{"shape":"PartialFailure"} + }, "ComparisonOperator":{ "type":"string", "enum":[ "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", - "LessThanOrEqualToThreshold" + "LessThanOrEqualToThreshold", + "LessThanLowerOrGreaterThanUpperThreshold", + "LessThanLowerThreshold", + "GreaterThanUpperThreshold" ] }, + "CompositeAlarm":{ + "type":"structure", + "members":{ + "ActionsEnabled":{ + "shape":"ActionsEnabled", + "documentation":"

Indicates whether actions should be executed during any changes to the alarm state.

" + }, + "AlarmActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" + }, + "AlarmArn":{ + "shape":"AlarmArn", + "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" + }, + "AlarmConfigurationUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time stamp of the last update to the alarm configuration.

" + }, + "AlarmDescription":{ + "shape":"AlarmDescription", + "documentation":"

The description of the alarm.

" + }, + "AlarmName":{ + "shape":"AlarmName", + "documentation":"

The name of the alarm.

" + }, + "AlarmRule":{ + "shape":"AlarmRule", + "documentation":"

The rule that this alarm uses to evaluate its alarm state.

" + }, + "InsufficientDataActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" + }, + "OKActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

An explanation for the alarm state, in text format.

" + }, + "StateReasonData":{ + "shape":"StateReasonData", + "documentation":"

An explanation for the alarm state, in JSON format.

" + }, + "StateUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time stamp of the last update to the alarm state.

" + }, + "StateValue":{ + "shape":"StateValue", + "documentation":"

The state value for the alarm.

" + } + }, + "documentation":"

The details about a composite alarm.

", + "xmlOrder":[ + "ActionsEnabled", + "AlarmActions", + "AlarmArn", + "AlarmConfigurationUpdatedTimestamp", + "AlarmDescription", + "AlarmName", + "AlarmRule", + "InsufficientDataActions", + "OKActions", + "StateReason", + "StateReasonData", + "StateUpdatedTimestamp", + "StateValue" + ] + }, + "CompositeAlarms":{ + "type":"list", + "member":{"shape":"CompositeAlarm"} + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

More than one process tried to modify a resource at the same time.

", + "error":{ + "code":"ConcurrentModificationException", + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Counts":{ + "type":"list", + "member":{"shape":"DatapointValue"} + }, + "DashboardArn":{"type":"string"}, + "DashboardBody":{"type":"string"}, + "DashboardEntries":{ + "type":"list", + "member":{"shape":"DashboardEntry"} + }, + "DashboardEntry":{ + "type":"structure", + "members":{ + "DashboardName":{ + "shape":"DashboardName", + "documentation":"

The name of the dashboard.

" + }, + "DashboardArn":{ + "shape":"DashboardArn", + "documentation":"

The Amazon Resource Name (ARN) of the dashboard.

" + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

The time stamp of when the dashboard was last modified, either by an API call or through the console. This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" + }, + "Size":{ + "shape":"Size", + "documentation":"

The size of the dashboard, in bytes.

" + } + }, + "documentation":"

Represents a specific dashboard.

" + }, + "DashboardErrorMessage":{"type":"string"}, + "DashboardInvalidInputError":{ + "type":"structure", + "members":{ + "message":{"shape":"DashboardErrorMessage"}, + "dashboardValidationMessages":{"shape":"DashboardValidationMessages"} + }, + "documentation":"

Some part of the dashboard data is invalid.

", + "error":{ + "code":"InvalidParameterInput", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DashboardName":{"type":"string"}, + "DashboardNamePrefix":{"type":"string"}, + "DashboardNames":{ + "type":"list", + "member":{"shape":"DashboardName"} + }, + "DashboardNotFoundError":{ + "type":"structure", + "members":{ + "message":{"shape":"DashboardErrorMessage"} + }, + "documentation":"

The specified dashboard does not exist.

", + "error":{ + "code":"ResourceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DashboardValidationMessage":{ + "type":"structure", + "members":{ + "DataPath":{ + "shape":"DataPath", + "documentation":"

The data path related to the message.

" + }, + "Message":{ + "shape":"Message", + "documentation":"

A message describing the error or warning.

" + } + }, + "documentation":"

An error or warning for the operation.

" + }, + "DashboardValidationMessages":{ + "type":"list", + "member":{"shape":"DashboardValidationMessage"} + }, + "DataPath":{"type":"string"}, "Datapoint":{ "type":"structure", "members":{ "Timestamp":{ "shape":"Timestamp", - "documentation":"

The time stamp used for the datapoint.

" + "documentation":"

The time stamp used for the data point.

" }, "SampleCount":{ "shape":"DatapointValue", - "documentation":"

The number of metric values that contributed to the aggregate value of this datapoint.

" + "documentation":"

The number of metric values that contributed to the aggregate value of this data point.

" }, "Average":{ "shape":"DatapointValue", - "documentation":"

The average of metric values that correspond to the datapoint.

" + "documentation":"

The average of the metric values that correspond to the data point.

" }, "Sum":{ "shape":"DatapointValue", - "documentation":"

The sum of metric values used for the datapoint.

" + "documentation":"

The sum of the metric values for the data point.

" }, "Minimum":{ "shape":"DatapointValue", - "documentation":"

The minimum metric value used for the datapoint.

" + "documentation":"

The minimum metric value for the data point.

" }, "Maximum":{ "shape":"DatapointValue", - "documentation":"

The maximum of the metric value used for the datapoint.

" + "documentation":"

The maximum metric value for the data point.

" }, "Unit":{ "shape":"StandardUnit", - "documentation":"

The standard unit used for the datapoint.

" + "documentation":"

The standard unit for the data point.

" + }, + "ExtendedStatistics":{ + "shape":"DatapointValueMap", + "documentation":"

The percentile statistic for the data point.

" } }, - "documentation":"

The Datapoint data type encapsulates the statistical data that Amazon CloudWatch computes from metric data.

", + "documentation":"

Encapsulates the statistical data that CloudWatch computes from metric data.

", "xmlOrder":[ "Timestamp", "SampleCount", @@ -274,24 +882,102 @@ "Sum", "Minimum", "Maximum", - "Unit" + "Unit", + "ExtendedStatistics" ] }, "DatapointValue":{"type":"double"}, + "DatapointValueMap":{ + "type":"map", + "key":{"shape":"ExtendedStatistic"}, + "value":{"shape":"DatapointValue"} + }, + "DatapointValues":{ + "type":"list", + "member":{"shape":"DatapointValue"} + }, "Datapoints":{ "type":"list", "member":{"shape":"Datapoint"} }, + "DatapointsToAlarm":{ + "type":"integer", + "min":1 + }, "DeleteAlarmsInput":{ "type":"structure", "required":["AlarmNames"], "members":{ "AlarmNames":{ "shape":"AlarmNames", - "documentation":"

A list of alarms to be deleted.

" + "documentation":"

The alarms to be deleted.

" } - }, - "documentation":"

Describes the inputs for DeleteAlarms.

" + } + }, + "DeleteAnomalyDetectorInput":{ + "type":"structure", + "required":[ + "Namespace", + "MetricName", + "Stat" + ], + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

The namespace associated with the anomaly detection model to delete.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

The metric name associated with the anomaly detection model to delete.

" + }, + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

The metric dimensions associated with the anomaly detection model to delete.

" + }, + "Stat":{ + "shape":"AnomalyDetectorMetricStat", + "documentation":"

The statistic associated with the anomaly detection model to delete.

" + } + } + }, + "DeleteAnomalyDetectorOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteDashboardsInput":{ + "type":"structure", + "required":["DashboardNames"], + "members":{ + "DashboardNames":{ + "shape":"DashboardNames", + "documentation":"

The dashboards to be deleted. This parameter is required.

" + } + } + }, + "DeleteDashboardsOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{ + "shape":"InsightRuleNames", + "documentation":"

An array of the rule names to delete. If you need to find out the names of your rules, use DescribeInsightRules.

" + } + } + }, + "DeleteInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{ + "shape":"BatchFailures", + "documentation":"

An array listing the rules that could not be deleted. You cannot delete built-in rules.

" + } + } }, "DescribeAlarmHistoryInput":{ "type":"structure", @@ -300,6 +986,10 @@ "shape":"AlarmName", "documentation":"

The name of the alarm.

" }, + "AlarmTypes":{ + "shape":"AlarmTypes", + "documentation":"

Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, only metric alarms are returned.

" + }, "HistoryItemType":{ "shape":"HistoryItemType", "documentation":"

The type of alarm histories to retrieve.

" @@ -319,23 +1009,25 @@ "NextToken":{ "shape":"NextToken", "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + }, + "ScanBy":{ + "shape":"ScanBy", + "documentation":"

Specified whether to return the newest or oldest alarm history first. Specify TimestampDescending to have the newest event history returned first, and specify TimestampAscending to have the oldest history returned first.

" } - }, - "documentation":"

Describes the inputs for DescribeAlarmHistory.

" + } }, "DescribeAlarmHistoryOutput":{ "type":"structure", "members":{ "AlarmHistoryItems":{ "shape":"AlarmHistoryItems", - "documentation":"

A list of alarm histories in JSON format.

" + "documentation":"

The alarm histories, in JSON format.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

A string that marks the start of the next batch of returned results.

" + "documentation":"

The token that marks the start of the next batch of returned results.

" } - }, - "documentation":"

The output for DescribeAlarmHistory.

" + } }, "DescribeAlarmsForMetricInput":{ "type":"structure", @@ -354,76 +1046,156 @@ }, "Statistic":{ "shape":"Statistic", - "documentation":"

The statistic for the metric.

" + "documentation":"

The statistic for the metric, other than percentiles. For percentile statistics, use ExtendedStatistics.

" + }, + "ExtendedStatistic":{ + "shape":"ExtendedStatistic", + "documentation":"

The percentile statistic for the metric. Specify a value between p0.0 and p100.

" }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

The list of dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the DescribeAlarmsForMetric to succeed.

" + "documentation":"

The dimensions associated with the metric. If the metric has any associated dimensions, you must specify them in order for the call to succeed.

" }, "Period":{ "shape":"Period", - "documentation":"

The period in seconds over which the statistic is applied.

" + "documentation":"

The period, in seconds, over which the statistic is applied.

" }, "Unit":{ "shape":"StandardUnit", "documentation":"

The unit for the metric.

" } - }, - "documentation":"

Describes the inputs for DescribeAlarmsForMetric.

" + } }, "DescribeAlarmsForMetricOutput":{ "type":"structure", "members":{ "MetricAlarms":{ "shape":"MetricAlarms", - "documentation":"

A list of information for each alarm with the specified metric.

" + "documentation":"

The information for each alarm with the specified metric.

" } - }, - "documentation":"

The output for DescribeAlarmsForMetric.

" + } }, "DescribeAlarmsInput":{ "type":"structure", "members":{ "AlarmNames":{ "shape":"AlarmNames", - "documentation":"

A list of alarm names to retrieve information for.

" + "documentation":"

The names of the alarms to retrieve information about.

" }, "AlarmNamePrefix":{ "shape":"AlarmNamePrefix", - "documentation":"

The alarm name prefix. AlarmNames cannot be specified if this parameter is specified.

" + "documentation":"

An alarm name prefix. If you specify this parameter, you receive information about all alarms that have names that start with this prefix.

If this parameter is specified, you cannot specify AlarmNames.

" + }, + "AlarmTypes":{ + "shape":"AlarmTypes", + "documentation":"

Use this parameter to specify whether you want the operation to return metric alarms or composite alarms. If you omit this parameter, only metric alarms are returned.

" + }, + "ChildrenOfAlarmName":{ + "shape":"AlarmName", + "documentation":"

If you use this parameter and specify the name of a composite alarm, the operation returns information about the \"children\" alarms of the alarm you specify. These are the metric alarms and composite alarms referenced in the AlarmRule field of the composite alarm that you specify in ChildrenOfAlarmName. Information about the composite alarm that you name in ChildrenOfAlarmName is not returned.

If you specify ChildrenOfAlarmName, you cannot specify any other parameters in the request except for MaxRecords and NextToken. If you do so, you will receive a validation error.

Only the Alarm Name, ARN, StateValue (OK/ALARM/INSUFFICIENT_DATA), and StateUpdatedTimestamp information are returned by this operation when you use this parameter. To get complete information about these alarms, perform another DescribeAlarms operation and specify the parent alarm names in the AlarmNames parameter.

" + }, + "ParentsOfAlarmName":{ + "shape":"AlarmName", + "documentation":"

If you use this parameter and specify the name of a metric or composite alarm, the operation returns information about the \"parent\" alarms of the alarm you specify. These are the composite alarms that have AlarmRule parameters that reference the alarm named in ParentsOfAlarmName. Information about the alarm that you specify in ParentsOfAlarmName is not returned.

If you specify ParentsOfAlarmName, you cannot specify any other parameters in the request except for MaxRecords and NextToken. If you do so, you will receive a validation error.

Only the Alarm Name and ARN are returned by this operation when you use this parameter. To get complete information about these alarms, perform another DescribeAlarms operation and specify the parent alarm names in the AlarmNames parameter.

" }, "StateValue":{ "shape":"StateValue", - "documentation":"

The state value to be used in matching alarms.

" + "documentation":"

Specify this parameter to receive information only about alarms that are currently in the state that you specify.

" + }, + "ActionPrefix":{ + "shape":"ActionPrefix", + "documentation":"

Use this parameter to filter the results of the operation to only those alarms that use a certain alarm action. For example, you could specify the ARN of an SNS topic to find all alarms that send notifications to that topic.

" + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

The maximum number of alarm descriptions to retrieve.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + } + } + }, + "DescribeAlarmsOutput":{ + "type":"structure", + "members":{ + "CompositeAlarms":{ + "shape":"CompositeAlarms", + "documentation":"

The information about any composite alarms returned by the operation.

" + }, + "MetricAlarms":{ + "shape":"MetricAlarms", + "documentation":"

The information about any metric alarms returned by the operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that marks the start of the next batch of returned results.

" + } + } + }, + "DescribeAnomalyDetectorsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use the token returned by the previous operation to request the next page of results.

" + }, + "MaxResults":{ + "shape":"MaxReturnedResultsCount", + "documentation":"

The maximum number of results to return in one operation. The maximum value that you can specify is 100.

To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

Limits the results to only the anomaly detection models that are associated with the specified namespace.

" }, - "ActionPrefix":{ - "shape":"ActionPrefix", - "documentation":"

The action name prefix.

" + "MetricName":{ + "shape":"MetricName", + "documentation":"

Limits the results to only the anomaly detection models that are associated with the specified metric name. If there are multiple metrics with this name in different namespaces that have anomaly detection models, they're all returned.

" }, - "MaxRecords":{ - "shape":"MaxRecords", - "documentation":"

The maximum number of alarm descriptions to retrieve.

" + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

Limits the results to only the anomaly detection models that are associated with the specified metric dimensions. If there are multiple metrics that have these dimensions and have anomaly detection models associated, they're all returned.

" + } + } + }, + "DescribeAnomalyDetectorsOutput":{ + "type":"structure", + "members":{ + "AnomalyDetectors":{ + "shape":"AnomalyDetectors", + "documentation":"

The list of anomaly detection models returned by the operation.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

A token that you can use in a subsequent operation to retrieve the next set of results.

" } - }, - "documentation":"

Describes the inputs for DescribeAlarms.

" + } }, - "DescribeAlarmsOutput":{ + "DescribeInsightRulesInput":{ "type":"structure", "members":{ - "MetricAlarms":{ - "shape":"MetricAlarms", - "documentation":"

A list of information for the specified alarms.

" + "NextToken":{ + "shape":"NextToken", + "documentation":"

Reserved for future use.

" }, + "MaxResults":{ + "shape":"InsightRuleMaxResults", + "documentation":"

This parameter is not currently used. Reserved for future use. If it is used in the future, the maximum value may be different.

" + } + } + }, + "DescribeInsightRulesOutput":{ + "type":"structure", + "members":{ "NextToken":{ "shape":"NextToken", - "documentation":"

A string that marks the start of the next batch of returned results.

" + "documentation":"

Reserved for future use.

" + }, + "InsightRules":{ + "shape":"InsightRules", + "documentation":"

The rules returned by the operation.

" } - }, - "documentation":"

The output for DescribeAlarms.

" + } }, "Dimension":{ "type":"structure", @@ -438,10 +1210,10 @@ }, "Value":{ "shape":"DimensionValue", - "documentation":"

The value representing the dimension measurement

" + "documentation":"

The value representing the dimension measurement.

" } }, - "documentation":"

The Dimension data type further expands on the identity of a metric using a Name, Value pair.

For examples that use one or more dimensions, see PutMetricData.

", + "documentation":"

Expands the identity of a metric.

", "xmlOrder":[ "Name", "Value" @@ -457,10 +1229,10 @@ }, "Value":{ "shape":"DimensionValue", - "documentation":"

The value of the dimension to be matched.

Specifying a Name without specifying a Value returns all values associated with that Name.

" + "documentation":"

The value of the dimension to be matched.

" } }, - "documentation":"

The DimensionFilter data type is used to filter ListMetrics results.

" + "documentation":"

Represents filters for a dimension.

" }, "DimensionFilters":{ "type":"list", @@ -488,10 +1260,28 @@ "members":{ "AlarmNames":{ "shape":"AlarmNames", - "documentation":"

The names of the alarms to disable actions for.

" + "documentation":"

The names of the alarms.

" } - }, - "documentation":"

" + } + }, + "DisableInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{ + "shape":"InsightRuleNames", + "documentation":"

An array of the rule names to disable. If you need to find out the names of your rules, use DescribeInsightRules.

" + } + } + }, + "DisableInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{ + "shape":"BatchFailures", + "documentation":"

An array listing the rules that could not be disabled. You cannot disable built-in rules.

" + } + } }, "EnableAlarmActionsInput":{ "type":"structure", @@ -499,21 +1289,205 @@ "members":{ "AlarmNames":{ "shape":"AlarmNames", - "documentation":"

The names of the alarms to enable actions for.

" + "documentation":"

The names of the alarms.

" } - }, - "documentation":"

Describes the inputs for EnableAlarmActions.

" + } + }, + "EnableInsightRulesInput":{ + "type":"structure", + "required":["RuleNames"], + "members":{ + "RuleNames":{ + "shape":"InsightRuleNames", + "documentation":"

An array of the rule names to enable. If you need to find out the names of your rules, use DescribeInsightRules.

" + } + } + }, + "EnableInsightRulesOutput":{ + "type":"structure", + "members":{ + "Failures":{ + "shape":"BatchFailures", + "documentation":"

An array listing the rules that could not be enabled. You cannot disable or enable built-in rules.

" + } + } }, "ErrorMessage":{ "type":"string", "max":255, "min":1 }, + "EvaluateLowSampleCountPercentile":{ + "type":"string", + "max":255, + "min":1 + }, "EvaluationPeriods":{ "type":"integer", "min":1 }, + "ExceptionType":{"type":"string"}, + "ExtendedStatistic":{ + "type":"string", + "pattern":"p(\\d{1,2}(\\.\\d{0,2})?|100)" + }, + "ExtendedStatistics":{ + "type":"list", + "member":{"shape":"ExtendedStatistic"}, + "max":10, + "min":1 + }, + "FailureCode":{"type":"string"}, + "FailureDescription":{"type":"string"}, + "FailureResource":{"type":"string"}, "FaultDescription":{"type":"string"}, + "GetDashboardInput":{ + "type":"structure", + "required":["DashboardName"], + "members":{ + "DashboardName":{ + "shape":"DashboardName", + "documentation":"

The name of the dashboard to be described.

" + } + } + }, + "GetDashboardOutput":{ + "type":"structure", + "members":{ + "DashboardArn":{ + "shape":"DashboardArn", + "documentation":"

The Amazon Resource Name (ARN) of the dashboard.

" + }, + "DashboardBody":{ + "shape":"DashboardBody", + "documentation":"

The detailed information about the dashboard, including what widgets are included and their location on the dashboard. For more information about the DashboardBody syntax, see Dashboard Body Structure and Syntax.

" + }, + "DashboardName":{ + "shape":"DashboardName", + "documentation":"

The name of the dashboard.

" + } + } + }, + "GetInsightRuleReportInput":{ + "type":"structure", + "required":[ + "RuleName", + "StartTime", + "EndTime", + "Period" + ], + "members":{ + "RuleName":{ + "shape":"InsightRuleName", + "documentation":"

The name of the rule that you want to see data from.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The end time of the data to use in the report. When used in a raw HTTP Query API, it is formatted as yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

" + }, + "Period":{ + "shape":"Period", + "documentation":"

The period, in seconds, to use for the statistics in the InsightRuleMetricDatapoint results.

" + }, + "MaxContributorCount":{ + "shape":"InsightRuleUnboundInteger", + "documentation":"

The maximum number of contributors to include in the report. The range is 1 to 100. If you omit this, the default of 10 is used.

" + }, + "Metrics":{ + "shape":"InsightRuleMetricList", + "documentation":"

Specifies which metrics to use for aggregation of contributor values for the report. You can specify one or more of the following metrics:

  • UniqueContributors -- the number of unique contributors for each data point.

  • MaxContributorValue -- the value of the top contributor for each data point. The identity of the contributor may change for each data point in the graph.

    If this rule aggregates by COUNT, the top contributor for each data point is the contributor with the most occurrences in that period. If the rule aggregates by SUM, the top contributor is the contributor with the highest sum in the log field specified by the rule's Value, during that period.

  • SampleCount -- the number of data points matched by the rule.

  • Sum -- the sum of the values from all contributors during the time period represented by that data point.

  • Minimum -- the minimum value from a single observation during the time period represented by that data point.

  • Maximum -- the maximum value from a single observation during the time period represented by that data point.

  • Average -- the average value from all contributors during the time period represented by that data point.

" + }, + "OrderBy":{ + "shape":"InsightRuleOrderBy", + "documentation":"

Determines what statistic to use to rank the contributors. Valid values are SUM and MAXIMUM.

" + } + } + }, + "GetInsightRuleReportOutput":{ + "type":"structure", + "members":{ + "KeyLabels":{ + "shape":"InsightRuleContributorKeyLabels", + "documentation":"

An array of the strings used as the keys for this rule. The keys are the dimensions used to classify contributors. If the rule contains more than one key, then each unique combination of values for the keys is counted as a unique contributor.

" + }, + "AggregationStatistic":{ + "shape":"InsightRuleAggregationStatistic", + "documentation":"

Specifies whether this rule aggregates contributor data by COUNT or SUM.

" + }, + "AggregateValue":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The sum of the values from all individual contributors that match the rule.

" + }, + "ApproximateUniqueCount":{ + "shape":"InsightRuleUnboundLong", + "documentation":"

An approximate count of the unique contributors found by this rule in this time period.

" + }, + "Contributors":{ + "shape":"InsightRuleContributors", + "documentation":"

An array of the unique contributors found by this rule in this time period. If the rule contains multiple keys, each combination of values for the keys counts as a unique contributor.

" + }, + "MetricDatapoints":{ + "shape":"InsightRuleMetricDatapoints", + "documentation":"

A time series of metric data points that matches the time period in the rule request.

" + } + } + }, + "GetMetricDataInput":{ + "type":"structure", + "required":[ + "MetricDataQueries", + "StartTime", + "EndTime" + ], + "members":{ + "MetricDataQueries":{ + "shape":"MetricDataQueries", + "documentation":"

The metric queries to be returned. A single GetMetricData call can include as many as 500 MetricDataQuery structures. Each of these structures can specify either a metric to retrieve, or a math expression to perform on retrieved data.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp indicating the earliest data to be returned.

The value specified is inclusive; results include data points with the specified time stamp.

CloudWatch rounds the specified time stamp as follows:

  • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

  • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

  • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as StartTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the StartTime.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp indicating the latest data to be returned.

The value specified is exclusive; results include data points up to the specified time stamp.

For better performance, specify StartTime and EndTime values that align with the value of the metric's Period and sync up with the beginning and end of an hour. For example, if the Period of a metric is 5 minutes, specifying 12:05 or 12:30 as EndTime can get a faster response from CloudWatch than setting 12:07 or 12:29 as the EndTime.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Include this value, if it was returned by the previous call, to get the next set of data points.

" + }, + "ScanBy":{ + "shape":"ScanBy", + "documentation":"

The order in which data points should be returned. TimestampDescending returns the newest data first and paginates when the MaxDatapoints limit is reached. TimestampAscending returns the oldest data first and paginates when the MaxDatapoints limit is reached.

" + }, + "MaxDatapoints":{ + "shape":"GetMetricDataMaxDatapoints", + "documentation":"

The maximum number of data points the request should return before paginating. If you omit this, the default of 100,800 is used.

" + } + } + }, + "GetMetricDataMaxDatapoints":{"type":"integer"}, + "GetMetricDataOutput":{ + "type":"structure", + "members":{ + "MetricDataResults":{ + "shape":"MetricDataResults", + "documentation":"

The metrics that are returned, including the metric name, namespace, and dimensions.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that marks the next batch of returned results.

" + }, + "Messages":{ + "shape":"MetricDataResultMessages", + "documentation":"

Contains a message about this GetMetricData operation, if the operation results in such a message. An example of a message that may be returned is Maximum number of allowed metrics exceeded. If there is a message, as much of the operation as possible is still executed.

A message appears here only if it is related to the global GetMetricData operation. Any message about a specific metric returned by the operation appears in the MetricDataResult object returned for that metric.

" + } + } + }, "GetMetricStatisticsInput":{ "type":"structure", "required":[ @@ -521,8 +1495,7 @@ "MetricName", "StartTime", "EndTime", - "Period", - "Statistics" + "Period" ], "members":{ "Namespace":{ @@ -535,44 +1508,69 @@ }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

A list of dimensions describing qualities of the metric.

" + "documentation":"

The dimensions. If the metric contains multiple dimensions, you must include a value for each dimension. CloudWatch treats each unique combination of dimensions as a separate metric. If a specific combination of dimensions was not published, you can't retrieve statistics for it. You must specify the same dimensions that were used when the metrics were created. For an example, see Dimension Combinations in the Amazon CloudWatch User Guide. For more information about specifying dimensions, see Publishing Metrics in the Amazon CloudWatch User Guide.

" }, "StartTime":{ "shape":"Timestamp", - "documentation":"

The time stamp to use for determining the first datapoint to return. The value specified is inclusive; results include datapoints with the time stamp specified. The time stamp must be in ISO 8601 UTC format (e.g., 2014-09-03T23:00:00Z).

The specified start time is rounded down to the nearest value. Datapoints are returned for start times up to two weeks in the past. Specified start times that are more than two weeks in the past will not return datapoints for metrics that are older than two weeks.

Data that is timestamped 24 hours or more in the past may take in excess of 48 hours to become available from submission time using GetMetricStatistics.

" + "documentation":"

The time stamp that determines the first data point to return. Start times are evaluated relative to the time that CloudWatch receives the request.

The value specified is inclusive; results include data points with the specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-03T23:00:00Z).

CloudWatch rounds the specified time stamp as follows:

  • Start time less than 15 days ago - Round down to the nearest whole minute. For example, 12:32:34 is rounded down to 12:32:00.

  • Start time between 15 and 63 days ago - Round down to the nearest 5-minute clock interval. For example, 12:32:34 is rounded down to 12:30:00.

  • Start time greater than 63 days ago - Round down to the nearest 1-hour clock interval. For example, 12:32:34 is rounded down to 12:00:00.

If you set Period to 5, 10, or 30, the start time of your request is rounded down to the nearest time that corresponds to even 5-, 10-, or 30-second divisions of a minute. For example, if you make a query at (HH:mm:ss) 01:05:23 for the previous 10-second period, the start time of your request is rounded down and you receive data from 01:05:10 to 01:05:20. If you make a query at 15:07:17 for the previous 5 minutes of data, using a period of 5 seconds, you receive data timestamped between 15:02:15 and 15:07:15.

" }, "EndTime":{ "shape":"Timestamp", - "documentation":"

The time stamp to use for determining the last datapoint to return. The value specified is exclusive; results will include datapoints up to the time stamp specified. The time stamp must be in ISO 8601 UTC format (e.g., 2014-09-03T23:00:00Z).

" + "documentation":"

The time stamp that determines the last data point to return.

The value specified is exclusive; results include data points up to the specified time stamp. In a raw HTTP query, the time stamp must be in ISO 8601 UTC format (for example, 2016-10-10T23:00:00Z).

" }, "Period":{ "shape":"Period", - "documentation":"

The granularity, in seconds, of the returned datapoints. A Period can be as short as one minute (60 seconds) or as long as one day (86,400 seconds), and must be a multiple of 60. The default value is 60.

" + "documentation":"

The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:

  • Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

  • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

  • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

" }, "Statistics":{ "shape":"Statistics", - "documentation":"

The metric statistics to return. For information about specific statistics returned by GetMetricStatistics, see Statistics in the Amazon CloudWatch Developer Guide.

" + "documentation":"

The metric statistics, other than percentile. For percentile statistics, use ExtendedStatistics. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both.

" + }, + "ExtendedStatistics":{ + "shape":"ExtendedStatistics", + "documentation":"

The percentile statistics. Specify values between p0.0 and p100. When calling GetMetricStatistics, you must specify either Statistics or ExtendedStatistics, but not both. Percentile statistics are not available for metrics when any of the metric values are negative numbers.

" }, "Unit":{ "shape":"StandardUnit", - "documentation":"

The specific unit for a given metric. Metrics may be reported in multiple units. Not supplying a unit results in all units being returned. If the metric only ever reports one unit, specifying a unit will have no effect.

" + "documentation":"

The unit for a given metric. If you omit Unit, all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

" } - }, - "documentation":"

Describes the inputs for GetMetricStatistics.

" + } }, "GetMetricStatisticsOutput":{ "type":"structure", "members":{ "Label":{ "shape":"MetricLabel", - "documentation":"

A label describing the specified metric.

" + "documentation":"

A label for the specified metric.

" }, "Datapoints":{ "shape":"Datapoints", - "documentation":"

The datapoints for the specified metric.

" + "documentation":"

The data points for the specified metric.

" } - }, - "documentation":"

The output for GetMetricStatistics.

" + } + }, + "GetMetricWidgetImageInput":{ + "type":"structure", + "required":["MetricWidget"], + "members":{ + "MetricWidget":{ + "shape":"MetricWidget", + "documentation":"

A JSON string that defines the bitmap graph to be retrieved. The string includes the metrics to include in the graph, statistics, annotations, title, axis limits, and so on. You can include only one MetricWidget parameter in each GetMetricWidgetImage call.

For more information about the syntax of MetricWidget see GetMetricWidgetImage: Metric Widget Structure and Syntax.

If any metric on the graph could not load all the requested data points, an orange triangle with an exclamation point appears next to the graph legend.

" + }, + "OutputFormat":{ + "shape":"OutputFormat", + "documentation":"

The format of the resulting image. Only PNG images are supported.

The default is png. If you specify png, the API returns an HTTP response with the content-type set to text/xml. The image data is in a MetricWidgetImage field. For example:

<GetMetricWidgetImageResponse xmlns=<URLstring>>

<GetMetricWidgetImageResult>

<MetricWidgetImage>

iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQEAYAAAAip...

</MetricWidgetImage>

</GetMetricWidgetImageResult>

<ResponseMetadata>

<RequestId>6f0d4192-4d42-11e8-82c1-f539a07e0e3b</RequestId>

</ResponseMetadata>

</GetMetricWidgetImageResponse>

The image/png setting is intended only for custom HTTP requests. For most use cases, and all actions using an AWS SDK, you should use png. If you specify image/png, the HTTP response has a content-type set to image/png, and the body of the response is a PNG image.

" + } + } + }, + "GetMetricWidgetImageOutput":{ + "type":"structure", + "members":{ + "MetricWidgetImage":{ + "shape":"MetricWidgetImage", + "documentation":"

The image of the graph, in the output format specified.

" + } + } }, "HistoryData":{ "type":"string", @@ -592,6 +1590,188 @@ "max":255, "min":1 }, + "InsightRule":{ + "type":"structure", + "required":[ + "Name", + "State", + "Schema", + "Definition" + ], + "members":{ + "Name":{ + "shape":"InsightRuleName", + "documentation":"

The name of the rule.

" + }, + "State":{ + "shape":"InsightRuleState", + "documentation":"

Indicates whether the rule is enabled or disabled.

" + }, + "Schema":{ + "shape":"InsightRuleSchema", + "documentation":"

For rules that you create, this is always {\"Name\": \"CloudWatchLogRule\", \"Version\": 1}. For built-in rules, this is {\"Name\": \"ServiceLogRule\", \"Version\": 1}

" + }, + "Definition":{ + "shape":"InsightRuleDefinition", + "documentation":"

The definition of the rule, as a JSON object. The definition contains the keywords used to define contributors, the value to aggregate on if this rule returns a sum instead of a count, and the filters. For details on the valid syntax, see Contributor Insights Rule Syntax.

" + } + }, + "documentation":"

This structure contains the definition for a Contributor Insights rule.

" + }, + "InsightRuleAggregationStatistic":{"type":"string"}, + "InsightRuleContributor":{ + "type":"structure", + "required":[ + "Keys", + "ApproximateAggregateValue", + "Datapoints" + ], + "members":{ + "Keys":{ + "shape":"InsightRuleContributorKeys", + "documentation":"

One of the log entry field keywords that is used to define contributors for this rule.

" + }, + "ApproximateAggregateValue":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

An approximation of the aggregate value that comes from this contributor.

" + }, + "Datapoints":{ + "shape":"InsightRuleContributorDatapoints", + "documentation":"

An array of the data points where this contributor is present. Only the data points when this contributor appeared are included in the array.

" + } + }, + "documentation":"

One of the unique contributors found by a Contributor Insights rule. If the rule contains multiple keys, then a unique contributor is a unique combination of values from all the keys in the rule.

If the rule contains a single key, then each unique contributor is each unique value for this key.

For more information, see GetInsightRuleReport.

" + }, + "InsightRuleContributorDatapoint":{ + "type":"structure", + "required":[ + "Timestamp", + "ApproximateValue" + ], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp of the data point.

" + }, + "ApproximateValue":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The approximate value that this contributor added during this timestamp.

" + } + }, + "documentation":"

One data point related to one contributor.

For more information, see GetInsightRuleReport and InsightRuleContributor.

" + }, + "InsightRuleContributorDatapoints":{ + "type":"list", + "member":{"shape":"InsightRuleContributorDatapoint"} + }, + "InsightRuleContributorKey":{"type":"string"}, + "InsightRuleContributorKeyLabel":{"type":"string"}, + "InsightRuleContributorKeyLabels":{ + "type":"list", + "member":{"shape":"InsightRuleContributorKeyLabel"} + }, + "InsightRuleContributorKeys":{ + "type":"list", + "member":{"shape":"InsightRuleContributorKey"} + }, + "InsightRuleContributors":{ + "type":"list", + "member":{"shape":"InsightRuleContributor"} + }, + "InsightRuleDefinition":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"[\\x00-\\x7F]+" + }, + "InsightRuleMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "InsightRuleMetricDatapoint":{ + "type":"structure", + "required":["Timestamp"], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp of the data point.

" + }, + "UniqueContributors":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The number of unique contributors who published data during this timestamp.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "MaxContributorValue":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The maximum value provided by one contributor during this timestamp. Each timestamp is evaluated separately, so the identity of the max contributor could be different for each timestamp.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "SampleCount":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The number of occurrences that matched the rule during this data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "Average":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The average value from all contributors during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "Sum":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The sum of the values from all contributors during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "Minimum":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The minimum value from a single contributor during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + }, + "Maximum":{ + "shape":"InsightRuleUnboundDouble", + "documentation":"

The maximum value from a single occurence from a single contributor during the time period represented by that data point.

This statistic is returned only if you included it in the Metrics array in your request.

" + } + }, + "documentation":"

One data point from the metric time series returned in a Contributor Insights rule report.

For more information, see GetInsightRuleReport.

" + }, + "InsightRuleMetricDatapoints":{ + "type":"list", + "member":{"shape":"InsightRuleMetricDatapoint"} + }, + "InsightRuleMetricList":{ + "type":"list", + "member":{"shape":"InsightRuleMetricName"} + }, + "InsightRuleMetricName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleNames":{ + "type":"list", + "member":{"shape":"InsightRuleName"} + }, + "InsightRuleOrderBy":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleSchema":{"type":"string"}, + "InsightRuleState":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\x20-\\x7E]+" + }, + "InsightRuleUnboundDouble":{"type":"double"}, + "InsightRuleUnboundInteger":{"type":"integer"}, + "InsightRuleUnboundLong":{"type":"long"}, + "InsightRules":{ + "type":"list", + "member":{"shape":"InsightRule"} + }, "InternalServiceFault":{ "type":"structure", "members":{ @@ -600,7 +1780,7 @@ "documentation":"

" } }, - "documentation":"

Indicates that the request processing has failed due to some unknown error, exception, or failure.

", + "documentation":"

Request processing has failed due to some unknown error, exception, or failure.

", "error":{ "code":"InternalServiceError", "httpStatusCode":500 @@ -648,13 +1828,14 @@ "documentation":"

" } }, - "documentation":"

Parameters that must not be used together were used together.

", + "documentation":"

Parameters were used together that cannot be used together.

", "error":{ "code":"InvalidParameterCombination", "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true, + "synthetic":true }, "InvalidParameterValueException":{ "type":"structure", @@ -664,12 +1845,26 @@ "documentation":"

" } }, - "documentation":"

Bad or out-of-range value was supplied for the input parameter.

", + "documentation":"

The value of an input parameter is bad or out-of-range.

", "error":{ "code":"InvalidParameterValue", "httpStatusCode":400, "senderFault":true }, + "exception":true, + "synthetic":true + }, + "LastModified":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The operation exceeded one or more limits.

", + "error":{ + "code":"LimitExceededException", + "httpStatusCode":400, + "senderFault":true + }, "exception":true }, "LimitExceededFault":{ @@ -688,6 +1883,32 @@ }, "exception":true }, + "ListDashboardsInput":{ + "type":"structure", + "members":{ + "DashboardNamePrefix":{ + "shape":"DashboardNamePrefix", + "documentation":"

If you specify this parameter, only the dashboards with names starting with the specified string are listed. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \".\", \"-\", and \"_\".

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + } + } + }, + "ListDashboardsOutput":{ + "type":"structure", + "members":{ + "DashboardEntries":{ + "shape":"DashboardEntries", + "documentation":"

The list of matching dashboards.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that marks the start of the next batch of returned results.

" + } + } + }, "ListMetricsInput":{ "type":"structure", "members":{ @@ -701,38 +1922,76 @@ }, "Dimensions":{ "shape":"DimensionFilters", - "documentation":"

A list of dimensions to filter against.

" + "documentation":"

The dimensions to filter against.

" }, "NextToken":{ "shape":"NextToken", "documentation":"

The token returned by a previous call to indicate that there is more data available.

" } - }, - "documentation":"

Describes the inputs for ListMetrics.

" + } }, "ListMetricsOutput":{ "type":"structure", "members":{ "Metrics":{ "shape":"Metrics", - "documentation":"

A list of metrics used to generate statistics for an AWS account.

" + "documentation":"

The metrics.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

A string that marks the start of the next batch of returned results.

" + "documentation":"

The token that marks the start of the next batch of returned results.

" } }, - "documentation":"

The output for ListMetrics.

", "xmlOrder":[ "Metrics", "NextToken" ] }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you want to view tags for.

The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name

The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name

For more information on ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tag keys and values associated with the resource you specified.

" + } + } + }, "MaxRecords":{ "type":"integer", - "max":100, + "max":100, + "min":1 + }, + "MaxReturnedResultsCount":{ + "type":"integer", "min":1 }, + "Message":{"type":"string"}, + "MessageData":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"MessageDataCode", + "documentation":"

The error code or status code associated with the message.

" + }, + "Value":{ + "shape":"MessageDataValue", + "documentation":"

The message text.

" + } + }, + "documentation":"

A message returned by the GetMetricDataAPI, including a code and a description.

" + }, + "MessageDataCode":{"type":"string"}, + "MessageDataValue":{"type":"string"}, "Metric":{ "type":"structure", "members":{ @@ -742,14 +2001,14 @@ }, "MetricName":{ "shape":"MetricName", - "documentation":"

The name of the metric.

" + "documentation":"

The name of the metric. This is a required field.

" }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

A list of dimensions associated with the metric.

" + "documentation":"

The dimensions for the metric.

" } }, - "documentation":"

The Metric data type contains information about a specific metric. If you call ListMetrics, Amazon CloudWatch returns information contained by this data type.

The example in the Examples section publishes two metrics named buffers and latency. Both metrics are in the examples namespace. Both metrics have two dimensions, InstanceID and InstanceType.

", + "documentation":"

Represents a specific metric.

", "xmlOrder":[ "Namespace", "MetricName", @@ -769,7 +2028,7 @@ }, "AlarmDescription":{ "shape":"AlarmDescription", - "documentation":"

The description for the alarm.

" + "documentation":"

The description of the alarm.

" }, "AlarmConfigurationUpdatedTimestamp":{ "shape":"Timestamp", @@ -777,19 +2036,19 @@ }, "ActionsEnabled":{ "shape":"ActionsEnabled", - "documentation":"

Indicates whether actions should be executed during any changes to the alarm's state.

" + "documentation":"

Indicates whether actions should be executed during any changes to the alarm state.

" }, "OKActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" + "documentation":"

The actions to execute when this alarm transitions to the OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" }, "AlarmActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" }, "InsufficientDataActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

The current WSDL lists this attribute as UnknownActions.

" + "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

" }, "StateValue":{ "shape":"StateValue", @@ -797,54 +2056,78 @@ }, "StateReason":{ "shape":"StateReason", - "documentation":"

A human-readable explanation for the alarm's state.

" + "documentation":"

An explanation for the alarm state, in text format.

" }, "StateReasonData":{ "shape":"StateReasonData", - "documentation":"

An explanation for the alarm's state in machine-readable JSON format

" + "documentation":"

An explanation for the alarm state, in JSON format.

" }, "StateUpdatedTimestamp":{ "shape":"Timestamp", - "documentation":"

The time stamp of the last update to the alarm's state.

" + "documentation":"

The time stamp of the last update to the alarm state.

" }, "MetricName":{ "shape":"MetricName", - "documentation":"

The name of the alarm's metric.

" + "documentation":"

The name of the metric associated with the alarm, if this is an alarm based on a single metric.

" }, "Namespace":{ "shape":"Namespace", - "documentation":"

The namespace of alarm's associated metric.

" + "documentation":"

The namespace of the metric associated with the alarm.

" }, "Statistic":{ "shape":"Statistic", - "documentation":"

The statistic to apply to the alarm's associated metric.

" + "documentation":"

The statistic for the metric associated with the alarm, other than percentile. For percentile statistics, use ExtendedStatistic.

" + }, + "ExtendedStatistic":{ + "shape":"ExtendedStatistic", + "documentation":"

The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.

" }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

The list of dimensions associated with the alarm's associated metric.

" + "documentation":"

The dimensions for the metric associated with the alarm.

" }, "Period":{ "shape":"Period", - "documentation":"

The period in seconds over which the statistic is applied.

" + "documentation":"

The period, in seconds, over which the statistic is applied.

" }, "Unit":{ "shape":"StandardUnit", - "documentation":"

The unit of the alarm's associated metric.

" + "documentation":"

The unit of the metric associated with the alarm.

" }, "EvaluationPeriods":{ "shape":"EvaluationPeriods", "documentation":"

The number of periods over which data is compared to the specified threshold.

" }, + "DatapointsToAlarm":{ + "shape":"DatapointsToAlarm", + "documentation":"

The number of data points that must be breaching to trigger the alarm.

" + }, "Threshold":{ "shape":"Threshold", - "documentation":"

The value against which the specified statistic is compared.

" + "documentation":"

The value to compare with the specified statistic.

" }, "ComparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand.

" + "documentation":"

The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.

" + }, + "TreatMissingData":{ + "shape":"TreatMissingData", + "documentation":"

Sets how this alarm is to handle missing data points. If this parameter is omitted, the default behavior of missing is used.

" + }, + "EvaluateLowSampleCountPercentile":{ + "shape":"EvaluateLowSampleCountPercentile", + "documentation":"

Used only for alarms based on percentiles. If ignore, the alarm state does not change during periods with too few data points to be statistically significant. If evaluate or this parameter is not used, the alarm is always evaluated and possibly changes state no matter how many data points are available.

" + }, + "Metrics":{ + "shape":"MetricDataQueries", + "documentation":"

An array of MetricDataQuery structures, used in an alarm based on a metric math expression. Each structure either retrieves a metric or performs a math expression. One item in the Metrics array is the math expression that the alarm watches. This expression by designated by having ReturnValue set to true.

" + }, + "ThresholdMetricId":{ + "shape":"MetricId", + "documentation":"

In an alarm based on an anomaly detection model, this is the ID of the ANOMALY_DETECTION_BAND function used as the threshold for the alarm.

" } }, - "documentation":"

The MetricAlarm data type represents an alarm. You can use PutMetricAlarm to create or update an alarm.

", + "documentation":"

The details about a metric alarm.

", "xmlOrder":[ "AlarmName", "AlarmArn", @@ -866,7 +2149,13 @@ "Unit", "EvaluationPeriods", "Threshold", - "ComparisonOperator" + "ComparisonOperator", + "ExtendedStatistic", + "TreatMissingData", + "EvaluateLowSampleCountPercentile", + "DatapointsToAlarm", + "Metrics", + "ThresholdMetricId" ] }, "MetricAlarms":{ @@ -877,6 +2166,79 @@ "type":"list", "member":{"shape":"MetricDatum"} }, + "MetricDataQueries":{ + "type":"list", + "member":{"shape":"MetricDataQuery"} + }, + "MetricDataQuery":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"MetricId", + "documentation":"

A short name used to tie this object to the results in the response. This name must be unique within a single call to GetMetricData. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

" + }, + "MetricStat":{ + "shape":"MetricStat", + "documentation":"

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

Within one MetricDataQuery object, you must specify either Expression or MetricStat but not both.

" + }, + "Expression":{ + "shape":"MetricExpression", + "documentation":"

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the Id of the other metrics to refer to those metrics, and can also use the Id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Within each MetricDataQuery object, you must specify either Expression or MetricStat but not both.

" + }, + "Label":{ + "shape":"MetricLabel", + "documentation":"

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents. If the metric or expression is shown in a CloudWatch dashboard widget, the label is shown. If Label is omitted, CloudWatch generates a default.

" + }, + "ReturnData":{ + "shape":"ReturnData", + "documentation":"

When used in GetMetricData, this option indicates whether to return the timestamps and raw data values of this metric. If you are performing this call just to do math expressions and do not also need the raw data returned, you can specify False. If you omit this, the default of True is used.

When used in PutMetricAlarm, specify True for the one expression result to use as the alarm. For all other metrics and expressions in the same PutMetricAlarm operation, specify ReturnData as False.

" + }, + "Period":{ + "shape":"Period", + "documentation":"

The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData operation that includes a StorageResolution of 1 second.

" + } + }, + "documentation":"

This structure is used in both GetMetricData and PutMetricAlarm. The supported use of this structure is different for those two operations.

When used in GetMetricData, it indicates the metric data to return, and whether this call is just retrieving a batch set of data for one metric, or is performing a math expression on metric data. A single GetMetricData call can include up to 500 MetricDataQuery structures.

When used in PutMetricAlarm, it enables you to create an alarm based on a metric math expression. Each MetricDataQuery in the array specifies either a metric to retrieve, or a math expression to be performed on retrieved metrics. A single PutMetricAlarm call can include up to 20 MetricDataQuery structures in the array. The 20 structures can include as many as 10 structures that contain a MetricStat parameter to retrieve a metric, and as many as 10 structures that contain the Expression parameter to perform a math expression. Of those Expression structures, one must have True as the value for ReturnData. The result of this expression is the value the alarm watches.

Any expression used in a PutMetricAlarm operation must return a single time series. For more information, see Metric Math Syntax and Functions in the Amazon CloudWatch User Guide.

Some of the parameters of this structure also have different uses whether you are using this structure in a GetMetricData operation or a PutMetricAlarm operation. These differences are explained in the following parameter list.

" + }, + "MetricDataResult":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"MetricId", + "documentation":"

The short name you specified to represent this metric.

" + }, + "Label":{ + "shape":"MetricLabel", + "documentation":"

The human-readable label associated with the data.

" + }, + "Timestamps":{ + "shape":"Timestamps", + "documentation":"

The timestamps for the data points, formatted in Unix timestamp format. The number of timestamps always matches the number of values and the value for Timestamps[x] is Values[x].

" + }, + "Values":{ + "shape":"DatapointValues", + "documentation":"

The data points for the metric corresponding to Timestamps. The number of values always matches the number of timestamps and the timestamp for Values[x] is Timestamps[x].

" + }, + "StatusCode":{ + "shape":"StatusCode", + "documentation":"

The status of the returned data. Complete indicates that all data points in the requested time range were returned. PartialData means that an incomplete set of data points were returned. You can use the NextToken value that was returned and repeat your request to get more data points. NextToken is not returned if you are performing a math expression. InternalError indicates that an error occurred. Retry your request using NextToken, if present.

" + }, + "Messages":{ + "shape":"MetricDataResultMessages", + "documentation":"

A list of messages with additional information about the data returned.

" + } + }, + "documentation":"

A GetMetricData call returns an array of MetricDataResult structures. Each of these structures includes the data points for that metric, along with the timestamps of those data points and other identifying information.

" + }, + "MetricDataResultMessages":{ + "type":"list", + "member":{"shape":"MessageData"} + }, + "MetricDataResults":{ + "type":"list", + "member":{"shape":"MetricDataResult"} + }, "MetricDatum":{ "type":"structure", "required":["MetricName"], @@ -887,26 +2249,48 @@ }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

A list of dimensions associated with the metric. Note, when using the Dimensions value in a query, you need to append .member.N to it (e.g., Dimensions.member.N).

" + "documentation":"

The dimensions associated with the metric.

" }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

The time stamp used for the metric in ISO 8601 Universal Coordinated Time (UTC) format. If not specified, the default value is set to the time the metric data was received.

" + "documentation":"

The time the metric data was received, expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

" }, "Value":{ "shape":"DatapointValue", - "documentation":"

The value for the metric.

Although the Value parameter accepts numbers of type Double, Amazon CloudWatch rejects values that are either too small or too large. Values must be in the range of 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2). In addition, special values (e.g., NaN, +Infinity, -Infinity) are not supported.

" + "documentation":"

The value for the metric.

Although the parameter accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

" }, "StatisticValues":{ "shape":"StatisticSet", - "documentation":"

A set of statistical values describing the metric.

" + "documentation":"

The statistical values for the metric.

" + }, + "Values":{ + "shape":"Values", + "documentation":"

Array of numbers representing the values for the metric during the period. Each unique value is listed just once in this array, and the corresponding number in the Counts array specifies the number of times that value occurred during the period. You can include up to 150 unique values in each PutMetricData action that specifies a Values array.

Although the Values array accepts numbers of type Double, CloudWatch rejects values that are either too small or too large. Values must be in the range of -2^360 to 2^360. In addition, special values (for example, NaN, +Infinity, -Infinity) are not supported.

" + }, + "Counts":{ + "shape":"Counts", + "documentation":"

Array of numbers that is used along with the Values array. Each number in the Count array is the number of times the corresponding value in the Values array occurred during the period.

If you omit the Counts array, the default of 1 is used as the value for each count. If you include a Counts array, it must include the same amount of values as the Values array.

" }, "Unit":{ "shape":"StandardUnit", - "documentation":"

The unit of the metric.

" + "documentation":"

When you are using a Put operation, this defines what unit you want to use when storing the metric.

In a Get operation, this displays the unit that is used for the metric.

" + }, + "StorageResolution":{ + "shape":"StorageResolution", + "documentation":"

Valid values are 1 and 60. Setting this to 1 specifies this metric as a high-resolution metric, so that CloudWatch stores the metric with sub-minute resolution down to one second. Setting this to 60 specifies this metric as a regular-resolution metric, which CloudWatch stores at 1-minute resolution. Currently, high resolution is available only for custom metrics. For more information about high-resolution metrics, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

This field is optional, if you do not specify it the default of 60 is used.

" } }, - "documentation":"

The MetricDatum data type encapsulates the information sent with PutMetricData to either create a new metric or add new values to be aggregated into an existing metric.

" + "documentation":"

Encapsulates the information sent to either create a metric or add new values to be aggregated into an existing metric.

" + }, + "MetricExpression":{ + "type":"string", + "max":1024, + "min":1 + }, + "MetricId":{ + "type":"string", + "max":255, + "min":1 }, "MetricLabel":{"type":"string"}, "MetricName":{ @@ -914,6 +2298,35 @@ "max":255, "min":1 }, + "MetricStat":{ + "type":"structure", + "required":[ + "Metric", + "Period", + "Stat" + ], + "members":{ + "Metric":{ + "shape":"Metric", + "documentation":"

The metric to return, including the metric name, namespace, and dimensions.

" + }, + "Period":{ + "shape":"Period", + "documentation":"

The granularity, in seconds, of the returned data points. For metrics with regular resolution, a period can be as short as one minute (60 seconds) and must be a multiple of 60. For high-resolution metrics that are collected at intervals of less than one minute, the period can be 1, 5, 10, 30, 60, or any multiple of 60. High-resolution metrics are those metrics stored by a PutMetricData call that includes a StorageResolution of 1 second.

If the StartTime parameter specifies a time stamp that is greater than 3 hours ago, you must specify the period as follows or no data points in that time range is returned:

  • Start time between 3 hours and 15 days ago - Use a multiple of 60 seconds (1 minute).

  • Start time between 15 and 63 days ago - Use a multiple of 300 seconds (5 minutes).

  • Start time greater than 63 days ago - Use a multiple of 3600 seconds (1 hour).

" + }, + "Stat":{ + "shape":"Stat", + "documentation":"

The statistic to return. It can include any CloudWatch statistic or extended statistic.

" + }, + "Unit":{ + "shape":"StandardUnit", + "documentation":"

When you are using a Put operation, this defines what unit you want to use when storing the metric.

In a Get operation, if you omit Unit then all data that was collected with any unit is returned, along with the corresponding units that were specified when the data was reported to CloudWatch. If you specify a unit, the operation returns only data data that was collected with that unit specified. If you specify a unit that does not match the data collected, the results of the operation are null. CloudWatch does not perform unit conversions.

" + } + }, + "documentation":"

This structure defines the metric to be returned, along with the statistics, period, and units.

" + }, + "MetricWidget":{"type":"string"}, + "MetricWidgetImage":{"type":"blob"}, "Metrics":{ "type":"list", "member":{"shape":"Metric"} @@ -926,13 +2339,14 @@ "documentation":"

" } }, - "documentation":"

An input parameter that is mandatory for processing the request is not supplied.

", + "documentation":"

An input parameter that is required is missing.

", "error":{ "code":"MissingParameter", "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true, + "synthetic":true }, "Namespace":{ "type":"string", @@ -940,31 +2354,177 @@ "min":1, "pattern":"[^:].*" }, - "NextToken":{ - "type":"string", - "max":1024, - "min":0 + "NextToken":{"type":"string"}, + "OutputFormat":{"type":"string"}, + "PartialFailure":{ + "type":"structure", + "members":{ + "FailureResource":{ + "shape":"FailureResource", + "documentation":"

The specified rule that could not be deleted.

" + }, + "ExceptionType":{ + "shape":"ExceptionType", + "documentation":"

The type of error.

" + }, + "FailureCode":{ + "shape":"FailureCode", + "documentation":"

The code of the error.

" + }, + "FailureDescription":{ + "shape":"FailureDescription", + "documentation":"

A description of the error.

" + } + }, + "documentation":"

This array is empty if the API operation was successful for all the rules specified in the request. If the operation could not process one of the rules, the following data is returned for each of those rules.

" }, "Period":{ "type":"integer", - "min":60 + "min":1 + }, + "PutAnomalyDetectorInput":{ + "type":"structure", + "required":[ + "Namespace", + "MetricName", + "Stat" + ], + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

The namespace of the metric to create the anomaly detection model for.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric to create the anomaly detection model for.

" + }, + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

The metric dimensions to create the anomaly detection model for.

" + }, + "Stat":{ + "shape":"AnomalyDetectorMetricStat", + "documentation":"

The statistic to use for the metric and the anomaly detection model.

" + }, + "Configuration":{ + "shape":"AnomalyDetectorConfiguration", + "documentation":"

The configuration specifies details about how the anomaly detection model is to be trained, including time ranges to exclude when training and updating the model. You can specify as many as 10 time ranges.

The configuration can also include the time zone to use for the metric.

You can in

" + } + } + }, + "PutAnomalyDetectorOutput":{ + "type":"structure", + "members":{ + } + }, + "PutCompositeAlarmInput":{ + "type":"structure", + "required":[ + "AlarmName", + "AlarmRule" + ], + "members":{ + "ActionsEnabled":{ + "shape":"ActionsEnabled", + "documentation":"

Indicates whether actions should be executed during any changes to the alarm state of the composite alarm. The default is TRUE.

" + }, + "AlarmActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

" + }, + "AlarmDescription":{ + "shape":"AlarmDescription", + "documentation":"

The description for the composite alarm.

" + }, + "AlarmName":{ + "shape":"AlarmName", + "documentation":"

The name for the composite alarm. This name must be unique within your AWS account.

" + }, + "AlarmRule":{ + "shape":"AlarmRule", + "documentation":"

An expression that specifies which other alarms are to be evaluated to determine this composite alarm's state. For each alarm that you reference, you designate a function that specifies whether that alarm needs to be in ALARM state, OK state, or INSUFFICIENT_DATA state. You can use operators (AND, OR and NOT) to combine multiple functions in a single expression. You can use parenthesis to logically group the functions in your expression.

You can use either alarm names or ARNs to reference the other alarms that are to be evaluated.

Functions can include the following:

  • ALARM(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in ALARM state.

  • OK(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in OK state.

  • INSUFFICIENT_DATA(\"alarm-name or alarm-ARN\") is TRUE if the named alarm is in INSUFFICIENT_DATA state.

  • TRUE always evaluates to TRUE.

  • FALSE always evaluates to FALSE.

TRUE and FALSE are useful for testing a complex AlarmRule structure, and for testing your alarm actions.

Alarm names specified in AlarmRule can be surrounded with double-quotes (\"), but do not have to be.

The following are some examples of AlarmRule:

  • ALARM(CPUUtilizationTooHigh) AND ALARM(DiskReadOpsTooHigh) specifies that the composite alarm goes into ALARM state only if both CPUUtilizationTooHigh and DiskReadOpsTooHigh alarms are in ALARM state.

  • ALARM(CPUUtilizationTooHigh) AND NOT ALARM(DeploymentInProgress) specifies that the alarm goes to ALARM state if CPUUtilizationTooHigh is in ALARM state and DeploymentInProgress is not in ALARM state. This example reduces alarm noise during a known deployment window.

  • (ALARM(CPUUtilizationTooHigh) OR ALARM(DiskReadOpsTooHigh)) AND OK(NetworkOutTooHigh) goes into ALARM state if CPUUtilizationTooHigh OR DiskReadOpsTooHigh is in ALARM state, and if NetworkOutTooHigh is in OK state. This provides another example of using a composite alarm to prevent noise. This rule ensures that you are not notified with an alarm action on high CPU or disk usage if a known network problem is also occurring.

The AlarmRule can specify as many as 100 \"children\" alarms. The AlarmRule expression can have as many as 500 elements. Elements are child alarms, TRUE or FALSE statements, and parentheses.

" + }, + "InsufficientDataActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

" + }, + "OKActions":{ + "shape":"ResourceList", + "documentation":"

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:sns:region:account-id:sns-topic-name

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to associate with the composite alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

" + } + } + }, + "PutDashboardInput":{ + "type":"structure", + "required":[ + "DashboardName", + "DashboardBody" + ], + "members":{ + "DashboardName":{ + "shape":"DashboardName", + "documentation":"

The name of the dashboard. If a dashboard with this name already exists, this call modifies that dashboard, replacing its current contents. Otherwise, a new dashboard is created. The maximum length is 255, and valid characters are A-Z, a-z, 0-9, \"-\", and \"_\". This parameter is required.

" + }, + "DashboardBody":{ + "shape":"DashboardBody", + "documentation":"

The detailed information about the dashboard in JSON format, including the widgets to include and their location on the dashboard. This parameter is required.

For more information about the syntax, see Dashboard Body Structure and Syntax.

" + } + } + }, + "PutDashboardOutput":{ + "type":"structure", + "members":{ + "DashboardValidationMessages":{ + "shape":"DashboardValidationMessages", + "documentation":"

If the input for PutDashboard was correct and the dashboard was successfully created or modified, this result is empty.

If this result includes only warning messages, then the input was valid enough for the dashboard to be created or modified, but some elements of the dashboard may not render.

If this result includes error messages, the input was not valid and the operation failed.

" + } + } + }, + "PutInsightRuleInput":{ + "type":"structure", + "required":[ + "RuleName", + "RuleDefinition" + ], + "members":{ + "RuleName":{ + "shape":"InsightRuleName", + "documentation":"

A unique name for the rule.

" + }, + "RuleState":{ + "shape":"InsightRuleState", + "documentation":"

The state of the rule. Valid values are ENABLED and DISABLED.

" + }, + "RuleDefinition":{ + "shape":"InsightRuleDefinition", + "documentation":"

The definition of the rule, as a JSON object. For details on the valid syntax, see Contributor Insights Rule Syntax.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to associate with the Contributor Insights rule. You can associate as many as 50 tags with a rule.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only the resources that have certain tag values.

To be able to associate tags with a rule, you must have the cloudwatch:TagResource permission in addition to the cloudwatch:PutInsightRule permission.

If you are using this operation to update an existing Contributor Insights rule, any tags you specify in this parameter are ignored. To change the tags of an existing rule, use TagResource.

" + } + } + }, + "PutInsightRuleOutput":{ + "type":"structure", + "members":{ + } }, "PutMetricAlarmInput":{ "type":"structure", "required":[ "AlarmName", - "MetricName", - "Namespace", - "Statistic", - "Period", "EvaluationPeriods", - "Threshold", "ComparisonOperator" ], "members":{ "AlarmName":{ "shape":"AlarmName", - "documentation":"

The descriptive name for the alarm. This name must be unique within the user's AWS account

" + "documentation":"

The name for the alarm. This name must be unique within your AWS account.

" }, "AlarmDescription":{ "shape":"AlarmDescription", @@ -972,58 +2532,85 @@ }, "ActionsEnabled":{ "shape":"ActionsEnabled", - "documentation":"

Indicates whether or not actions should be executed during any changes to the alarm's state.

" + "documentation":"

Indicates whether actions should be executed during any changes to the alarm state. The default is TRUE.

" }, "OKActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region (e.g., us-east-1):ec2:stop | arn:aws:automate:region (e.g., us-east-1):ec2:terminate | arn:aws:automate:region (e.g., us-east-1):ec2:recover

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Note: You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.

" + "documentation":"

The actions to execute when this alarm transitions to an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" }, "AlarmActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region (e.g., us-east-1):ec2:stop | arn:aws:automate:region (e.g., us-east-1):ec2:terminate | arn:aws:automate:region (e.g., us-east-1):ec2:recover

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Note: You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.

" + "documentation":"

The actions to execute when this alarm transitions to the ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" }, "InsufficientDataActions":{ "shape":"ResourceList", - "documentation":"

The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region (e.g., us-east-1):ec2:stop | arn:aws:automate:region (e.g., us-east-1):ec2:terminate | arn:aws:automate:region (e.g., us-east-1):ec2:recover

Valid Values (for use with IAM roles): arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:us-east-1:{customer-account}:action/actions/AWS_EC2.InstanceId.Reboot/1.0

Note: You must create at least one stop, terminate, or reboot alarm using the Amazon EC2 or CloudWatch console to create the EC2ActionsAccess IAM role for the first time. After this IAM role is created, you can create stop, terminate, or reboot alarms using the CLI.

" + "documentation":"

The actions to execute when this alarm transitions to the INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).

Valid Values: arn:aws:automate:region:ec2:stop | arn:aws:automate:region:ec2:terminate | arn:aws:automate:region:ec2:recover | arn:aws:automate:region:ec2:reboot | arn:aws:sns:region:account-id:sns-topic-name | arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:autoScalingGroupName/group-friendly-name:policyName/policy-friendly-name

Valid Values (for use with IAM roles): >arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Stop/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Terminate/1.0 | arn:aws:swf:region:account-id:action/actions/AWS_EC2.InstanceId.Reboot/1.0

" }, "MetricName":{ "shape":"MetricName", - "documentation":"

The name for the alarm's associated metric.

" + "documentation":"

The name for the metric associated with the alarm. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array.

If you are creating an alarm based on a math expression, you cannot specify this parameter, or any of the Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters. Instead, you specify all this information in the Metrics array.

" }, "Namespace":{ "shape":"Namespace", - "documentation":"

The namespace for the alarm's associated metric.

" + "documentation":"

The namespace for the metric associated specified in MetricName.

" }, "Statistic":{ "shape":"Statistic", - "documentation":"

The statistic to apply to the alarm's associated metric.

" + "documentation":"

The statistic for the metric specified in MetricName, other than percentile. For percentile statistics, use ExtendedStatistic. When you call PutMetricAlarm and specify a MetricName, you must specify either Statistic or ExtendedStatistic, but not both.

" + }, + "ExtendedStatistic":{ + "shape":"ExtendedStatistic", + "documentation":"

The percentile statistic for the metric specified in MetricName. Specify a value between p0.0 and p100. When you call PutMetricAlarm and specify a MetricName, you must specify either Statistic or ExtendedStatistic, but not both.

" }, "Dimensions":{ "shape":"Dimensions", - "documentation":"

The dimensions for the alarm's associated metric.

" + "documentation":"

The dimensions for the metric specified in MetricName.

" }, "Period":{ "shape":"Period", - "documentation":"

The period in seconds over which the specified statistic is applied.

" + "documentation":"

The length, in seconds, used each time the metric specified in MetricName is evaluated. Valid values are 10, 30, and any multiple of 60.

Period is required for alarms based on static thresholds. If you are creating an alarm based on a metric math expression, you specify the period for each metric within the objects in the Metrics array.

Be sure to specify 10 or 30 only for metrics that are stored by a PutMetricData call with a StorageResolution of 1. If you specify a period of 10 or 30 for a metric that does not have sub-minute resolution, the alarm still attempts to gather data at the period rate that you specify. In this case, it does not receive data for the attempts that do not correspond to a one-minute data resolution, and the alarm may often lapse into INSUFFICENT_DATA status. Specifying 10 or 30 also sets this alarm as a high-resolution alarm, which has a higher charge than other alarms. For more information about pricing, see Amazon CloudWatch Pricing.

An alarm's total current evaluation period can be no longer than one day, so Period multiplied by EvaluationPeriods cannot be more than 86,400 seconds.

" }, "Unit":{ "shape":"StandardUnit", - "documentation":"

The statistic's unit of measure. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

Note: If you specify a unit, you must use a unit that is appropriate for the metric. Otherwise, this can cause an Amazon CloudWatch alarm to get stuck in the INSUFFICIENT DATA state.

" + "documentation":"

The unit of measure for the statistic. For example, the units for the Amazon EC2 NetworkIn metric are Bytes because NetworkIn tracks the number of bytes that an instance receives on all network interfaces. You can also specify a unit when you create a custom metric. Units help provide conceptual meaning to your data. Metric data points that specify a unit of measure, such as Percent, are aggregated separately.

If you don't specify Unit, CloudWatch retrieves all unit types that have been published for the metric and attempts to evaluate the alarm. Usually metrics are published with only one unit, so the alarm will work as intended.

However, if the metric is published with multiple types of units and you don't specify a unit, the alarm's behavior is not defined and will behave un-predictably.

We recommend omitting Unit so that you don't inadvertently specify an incorrect unit that is not published for this metric. Doing so causes the alarm to be stuck in the INSUFFICIENT DATA state.

" }, "EvaluationPeriods":{ "shape":"EvaluationPeriods", - "documentation":"

The number of periods over which data is compared to the specified threshold.

" + "documentation":"

The number of periods over which data is compared to the specified threshold. If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies that number. If you are setting an \"M out of N\" alarm, this value is the N.

An alarm's total current evaluation period can be no longer than one day, so this number multiplied by Period cannot be more than 86,400 seconds.

" + }, + "DatapointsToAlarm":{ + "shape":"DatapointsToAlarm", + "documentation":"

The number of data points that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.

" }, "Threshold":{ "shape":"Threshold", - "documentation":"

The value against which the specified statistic is compared.

" + "documentation":"

The value against which the specified statistic is compared.

This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.

" }, "ComparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand.

" + "documentation":"

The arithmetic operation to use when comparing the specified statistic and threshold. The specified statistic value is used as the first operand.

The values LessThanLowerOrGreaterThanUpperThreshold, LessThanLowerThreshold, and GreaterThanUpperThreshold are used only for alarms based on anomaly detection models.

" + }, + "TreatMissingData":{ + "shape":"TreatMissingData", + "documentation":"

Sets how this alarm is to handle missing data points. If TreatMissingData is omitted, the default behavior of missing is used. For more information, see Configuring How CloudWatch Alarms Treats Missing Data.

Valid Values: breaching | notBreaching | ignore | missing

" + }, + "EvaluateLowSampleCountPercentile":{ + "shape":"EvaluateLowSampleCountPercentile", + "documentation":"

Used only for alarms based on percentiles. If you specify ignore, the alarm state does not change during periods with too few data points to be statistically significant. If you specify evaluate or omit this parameter, the alarm is always evaluated and possibly changes state no matter how many data points are available. For more information, see Percentile-Based CloudWatch Alarms and Low Data Samples.

Valid Values: evaluate | ignore

" + }, + "Metrics":{ + "shape":"MetricDataQueries", + "documentation":"

An array of MetricDataQuery structures that enable you to create an alarm based on the result of a metric math expression. For each PutMetricAlarm operation, you must specify either MetricName or a Metrics array.

Each item in the Metrics array either retrieves a metric or performs a math expression.

One item in the Metrics array is the expression that the alarm watches. You designate this expression by setting ReturnValue to true for this object in the array. For more information, see MetricDataQuery.

If you use the Metrics parameter, you cannot include the MetricName, Dimensions, Period, Namespace, Statistic, or ExtendedStatistic parameters of PutMetricAlarm in the same operation. Instead, you retrieve the metrics you are using in your math expression as part of the Metrics array.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to associate with the alarm. You can associate as many as 50 tags with an alarm.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

" + }, + "ThresholdMetricId":{ + "shape":"MetricId", + "documentation":"

If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.

For an example of how to use this parameter, see the Anomaly Detection Model Alarm example on this page.

If your alarm uses this parameter, it cannot have Auto Scaling actions.

" } - }, - "documentation":"

Describes the inputs for PutMetricAlarm.

" + } }, "PutMetricDataInput":{ "type":"structure", @@ -1034,15 +2621,37 @@ "members":{ "Namespace":{ "shape":"Namespace", - "documentation":"

The namespace for the metric data.

You cannot specify a namespace that begins with \"AWS/\". Namespaces that begin with \"AWS/\" are reserved for other Amazon Web Services products that send metrics to Amazon CloudWatch.

" + "documentation":"

The namespace for the metric data.

To avoid conflicts with AWS service namespaces, you should not specify a namespace that begins with AWS/

" }, "MetricData":{ "shape":"MetricData", - "documentation":"

A list of data describing the metric.

" + "documentation":"

The data for the metric. The array can include no more than 20 metrics per call.

" + } + } + }, + "Range":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The end time of the range to exclude. The format is yyyy-MM-dd'T'HH:mm:ss. For example, 2019-07-01T23:59:59.

" } }, - "documentation":"

Describes the inputs for PutMetricData.

" + "documentation":"

Specifies one range of days or times to exclude from use for training an anomaly detection model.

", + "xmlOrder":[ + "StartTime", + "EndTime" + ] }, + "ResourceId":{"type":"string"}, "ResourceList":{ "type":"list", "member":{"shape":"ResourceName"}, @@ -1069,6 +2678,29 @@ }, "exception":true }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "ResourceId":{"shape":"ResourceId"} + }, + "documentation":"

The named resource does not exist.

", + "error":{ + "code":"ResourceNotFoundException", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{"type":"string"}, + "ReturnData":{"type":"boolean"}, + "ScanBy":{ + "type":"string", + "enum":[ + "TimestampDescending", + "TimestampAscending" + ] + }, "SetAlarmStateInput":{ "type":"structure", "required":[ @@ -1079,7 +2711,7 @@ "members":{ "AlarmName":{ "shape":"AlarmName", - "documentation":"

The descriptive name for the alarm. This name must be unique within the user's AWS account. The maximum length is 255 characters.

" + "documentation":"

The name for the alarm. This name must be unique within the AWS account. The maximum length is 255 characters.

" }, "StateValue":{ "shape":"StateValue", @@ -1087,15 +2719,15 @@ }, "StateReason":{ "shape":"StateReason", - "documentation":"

The reason that this alarm is set to this specific state (in human-readable text format)

" + "documentation":"

The reason that this alarm is set to this specific state, in text format.

" }, "StateReasonData":{ "shape":"StateReasonData", - "documentation":"

The reason that this alarm is set to this specific state (in machine-readable JSON format)

" + "documentation":"

The reason that this alarm is set to this specific state, in JSON format.

For SNS or EC2 alarm actions, this is just informational. But for EC2 Auto Scaling or application Auto Scaling alarm actions, the Auto Scaling policy uses the information in this field to take the correct action.

" } - }, - "documentation":"

Describes the inputs for SetAlarmState.

" + } }, + "Size":{"type":"long"}, "StandardUnit":{ "type":"string", "enum":[ @@ -1128,6 +2760,7 @@ "None" ] }, + "Stat":{"type":"string"}, "StateReason":{ "type":"string", "max":1023, @@ -1182,7 +2815,7 @@ "documentation":"

The maximum value of the sample set.

" } }, - "documentation":"

The StatisticSet data type describes the StatisticValues component of MetricDatum, and represents a set of statistics that describes a specific metric.

" + "documentation":"

Represents a set of statistics that describes a specific metric.

" }, "Statistics":{ "type":"list", @@ -1190,8 +2823,113 @@ "max":5, "min":1 }, + "StatusCode":{ + "type":"string", + "enum":[ + "Complete", + "InternalError", + "PartialData" + ] + }, + "StorageResolution":{ + "type":"integer", + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value for the specified tag key.

" + } + }, + "documentation":"

A key-value pair associated with a CloudWatch resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you're adding tags to.

The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name

The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name

For more information on ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the alarm.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Threshold":{"type":"double"}, - "Timestamp":{"type":"timestamp"} + "Timestamp":{"type":"timestamp"}, + "Timestamps":{ + "type":"list", + "member":{"shape":"Timestamp"} + }, + "TreatMissingData":{ + "type":"string", + "max":255, + "min":1 + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the CloudWatch resource that you're removing tags from.

The ARN format of an alarm is arn:aws:cloudwatch:Region:account-id:alarm:alarm-name

The ARN format of a Contributor Insights rule is arn:aws:cloudwatch:Region:account-id:insight-rule:insight-rule-name

For more information on ARN format, see Resource Types Defined by Amazon CloudWatch in the Amazon Web Services General Reference.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to remove from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "Values":{ + "type":"list", + "member":{"shape":"DatapointValue"} + } }, - "documentation":"

Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real-time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications.

CloudWatch alarms send notifications or automatically make changes to the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon Elastic Compute Cloud (Amazon EC2) instances and then use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.

In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

" + "documentation":"

Amazon CloudWatch monitors your Amazon Web Services (AWS) resources and the applications you run on AWS in real time. You can use CloudWatch to collect and track metrics, which are the variables you want to measure for your resources and applications.

CloudWatch alarms send notifications or automatically change the resources you are monitoring based on rules that you define. For example, you can monitor the CPU usage and disk reads and writes of your Amazon EC2 instances. Then, use this data to determine whether you should launch additional instances to handle increased load. You can also use this data to stop under-used instances to save money.

In addition to monitoring the built-in metrics that come with AWS, you can monitor your own custom metrics. With CloudWatch, you gain system-wide visibility into resource utilization, application performance, and operational health.

" } diff -Nru python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/cloudwatch/2010-08-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cloudwatch/2010-08-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,31 @@ +{ + "version": 2, + "waiters": { + "AlarmExists": { + "delay": 5, + "maxAttempts": 40, + "operation": "DescribeAlarms", + "acceptors": [ + { + "matcher": "path", + "expected": true, + "argument": "length(MetricAlarms[]) > `0`", + "state": "success" + } + ] + }, + "CompositeAlarmExists": { + "delay": 5, + "maxAttempts": 40, + "operation": "DescribeAlarms", + "acceptors": [ + { + "matcher": "path", + "expected": true, + "argument": "length(CompositeAlarms[]) > `0`", + "state": "success" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/examples-1.json --- python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,281 @@ +{ + "version": "1.0", + "examples": { + "BatchGetBuilds": [ + { + "input": { + "ids": [ + "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX" + ] + }, + "output": { + "builds": [ + { + "arn": "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "artifacts": { + "location": "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project" + }, + "buildComplete": true, + "buildStatus": "SUCCEEDED", + "currentPhase": "COMPLETED", + "endTime": 1479832474.764, + "environment": { + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + + ], + "image": "aws/codebuild/java:openjdk-8", + "privilegedMode": false + }, + "id": "codebuild-demo-project:9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "initiator": "MyDemoUser", + "logs": { + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=9b0ac37f-d19e-4254-9079-f47e9a389eEX", + "groupName": "/aws/codebuild/codebuild-demo-project", + "streamName": "9b0ac37f-d19e-4254-9079-f47e9a389eEX" + }, + "phases": [ + { + "durationInSeconds": 0, + "endTime": 1479832342.23, + "phaseStatus": "SUCCEEDED", + "phaseType": "SUBMITTED", + "startTime": 1479832341.854 + }, + { + "contexts": [ + + ], + "durationInSeconds": 72, + "endTime": 1479832415.064, + "phaseStatus": "SUCCEEDED", + "phaseType": "PROVISIONING", + "startTime": 1479832342.23 + }, + { + "contexts": [ + + ], + "durationInSeconds": 46, + "endTime": 1479832461.261, + "phaseStatus": "SUCCEEDED", + "phaseType": "DOWNLOAD_SOURCE", + "startTime": 1479832415.064 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832461.354, + "phaseStatus": "SUCCEEDED", + "phaseType": "INSTALL", + "startTime": 1479832461.261 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832461.448, + "phaseStatus": "SUCCEEDED", + "phaseType": "PRE_BUILD", + "startTime": 1479832461.354 + }, + { + "contexts": [ + + ], + "durationInSeconds": 9, + "endTime": 1479832471.115, + "phaseStatus": "SUCCEEDED", + "phaseType": "BUILD", + "startTime": 1479832461.448 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832471.224, + "phaseStatus": "SUCCEEDED", + "phaseType": "POST_BUILD", + "startTime": 1479832471.115 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479832471.791, + "phaseStatus": "SUCCEEDED", + "phaseType": "UPLOAD_ARTIFACTS", + "startTime": 1479832471.224 + }, + { + "contexts": [ + + ], + "durationInSeconds": 2, + "endTime": 1479832474.764, + "phaseStatus": "SUCCEEDED", + "phaseType": "FINALIZING", + "startTime": 1479832471.791 + }, + { + "phaseType": "COMPLETED", + "startTime": 1479832474.764 + } + ], + "projectName": "codebuild-demo-project", + "source": { + "type": "S3", + "buildspec": "", + "location": "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip" + }, + "startTime": 1479832341.854, + "timeoutInMinutes": 60 + }, + { + "arn": "arn:aws:codebuild:us-east-1:123456789012:build/codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", + "artifacts": { + "location": "arn:aws:s3:::codebuild-123456789012-output-bucket/codebuild-demo-project" + }, + "buildComplete": true, + "buildStatus": "SUCCEEDED", + "currentPhase": "COMPLETED", + "endTime": 1479401214.239, + "environment": { + "type": "LINUX_CONTAINER", + "computeType": "BUILD_GENERAL1_SMALL", + "environmentVariables": [ + + ], + "image": "aws/codebuild/java:openjdk-8", + "privilegedMode": false + }, + "id": "codebuild-demo-project:b79a46f7-1473-4636-a23f-da9c45c208EX", + "initiator": "MyDemoUser", + "logs": { + "deepLink": "https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logEvent:group=/aws/codebuild/codebuild-demo-project;stream=b79a46f7-1473-4636-a23f-da9c45c208EX", + "groupName": "/aws/codebuild/codebuild-demo-project", + "streamName": "b79a46f7-1473-4636-a23f-da9c45c208EX" + }, + "phases": [ + { + "durationInSeconds": 0, + "endTime": 1479401082.342, + "phaseStatus": "SUCCEEDED", + "phaseType": "SUBMITTED", + "startTime": 1479401081.869 + }, + { + "contexts": [ + + ], + "durationInSeconds": 71, + "endTime": 1479401154.129, + "phaseStatus": "SUCCEEDED", + "phaseType": "PROVISIONING", + "startTime": 1479401082.342 + }, + { + "contexts": [ + + ], + "durationInSeconds": 45, + "endTime": 1479401199.136, + "phaseStatus": "SUCCEEDED", + "phaseType": "DOWNLOAD_SOURCE", + "startTime": 1479401154.129 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401199.236, + "phaseStatus": "SUCCEEDED", + "phaseType": "INSTALL", + "startTime": 1479401199.136 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401199.345, + "phaseStatus": "SUCCEEDED", + "phaseType": "PRE_BUILD", + "startTime": 1479401199.236 + }, + { + "contexts": [ + + ], + "durationInSeconds": 9, + "endTime": 1479401208.68, + "phaseStatus": "SUCCEEDED", + "phaseType": "BUILD", + "startTime": 1479401199.345 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401208.783, + "phaseStatus": "SUCCEEDED", + "phaseType": "POST_BUILD", + "startTime": 1479401208.68 + }, + { + "contexts": [ + + ], + "durationInSeconds": 0, + "endTime": 1479401209.463, + "phaseStatus": "SUCCEEDED", + "phaseType": "UPLOAD_ARTIFACTS", + "startTime": 1479401208.783 + }, + { + "contexts": [ + + ], + "durationInSeconds": 4, + "endTime": 1479401214.239, + "phaseStatus": "SUCCEEDED", + "phaseType": "FINALIZING", + "startTime": 1479401209.463 + }, + { + "phaseType": "COMPLETED", + "startTime": 1479401214.239 + } + ], + "projectName": "codebuild-demo-project", + "source": { + "type": "S3", + "location": "arn:aws:s3:::codebuild-123456789012-input-bucket/MessageUtil.zip" + }, + "startTime": 1479401081.869, + "timeoutInMinutes": 60 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets information about builds with the specified build IDs.", + "id": "to-get-information-about-builds-1501187184588", + "title": "To get information about builds" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,55 @@ +{ + "pagination": { + "ListBuilds": { + "output_token": "nextToken", + "input_token": "nextToken", + "result_key": "ids" + }, + "ListProjects": { + "output_token": "nextToken", + "input_token": "nextToken", + "result_key": "projects" + }, + "ListBuildsForProject": { + "output_token": "nextToken", + "input_token": "nextToken", + "result_key": "ids" + }, + "DescribeTestCases": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "testCases" + }, + "ListReportGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "reportGroups" + }, + "ListReports": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "reports" + }, + "ListReportsForReportGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "reports" + }, + "ListSharedProjects": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "projects" + }, + "ListSharedReportGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "reportGroups" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/service-2.json python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/service-2.json --- python-botocore-1.4.70/botocore/data/codebuild/2016-10-06/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codebuild/2016-10-06/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3115 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-10-06", + "endpointPrefix":"codebuild", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS CodeBuild", + "serviceId":"CodeBuild", + "signatureVersion":"v4", + "targetPrefix":"CodeBuild_20161006", + "uid":"codebuild-2016-10-06" + }, + "operations":{ + "BatchDeleteBuilds":{ + "name":"BatchDeleteBuilds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteBuildsInput"}, + "output":{"shape":"BatchDeleteBuildsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes one or more builds.

" + }, + "BatchGetBuilds":{ + "name":"BatchGetBuilds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetBuildsInput"}, + "output":{"shape":"BatchGetBuildsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets information about one or more builds.

" + }, + "BatchGetProjects":{ + "name":"BatchGetProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetProjectsInput"}, + "output":{"shape":"BatchGetProjectsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets information about one or more build projects.

" + }, + "BatchGetReportGroups":{ + "name":"BatchGetReportGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetReportGroupsInput"}, + "output":{"shape":"BatchGetReportGroupsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns an array of report groups.

" + }, + "BatchGetReports":{ + "name":"BatchGetReports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetReportsInput"}, + "output":{"shape":"BatchGetReportsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns an array of reports.

" + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProjectInput"}, + "output":{"shape":"CreateProjectOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"AccountLimitExceededException"} + ], + "documentation":"

Creates a build project.

" + }, + "CreateReportGroup":{ + "name":"CreateReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateReportGroupInput"}, + "output":{"shape":"CreateReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"AccountLimitExceededException"} + ], + "documentation":"

Creates a report group. A report group contains a collection of reports.

" + }, + "CreateWebhook":{ + "name":"CreateWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebhookInput"}, + "output":{"shape":"CreateWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OAuthProviderException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

" + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProjectInput"}, + "output":{"shape":"DeleteProjectOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes a build project. When you delete a project, its builds are not deleted.

" + }, + "DeleteReport":{ + "name":"DeleteReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteReportInput"}, + "output":{"shape":"DeleteReportOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes a report.

" + }, + "DeleteReportGroup":{ + "name":"DeleteReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteReportGroupInput"}, + "output":{"shape":"DeleteReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

DeleteReportGroup: Deletes a report group. Before you delete a report group, you must delete its reports. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call DeleteReportGroup for a report group that contains one or more reports, an exception is thrown.

" + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyInput"}, + "output":{"shape":"DeleteResourcePolicyOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes a resource policy that is identified by its resource ARN.

" + }, + "DeleteSourceCredentials":{ + "name":"DeleteSourceCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSourceCredentialsInput"}, + "output":{"shape":"DeleteSourceCredentialsOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.

" + }, + "DeleteWebhook":{ + "name":"DeleteWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebhookInput"}, + "output":{"shape":"DeleteWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OAuthProviderException"} + ], + "documentation":"

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository.

" + }, + "DescribeTestCases":{ + "name":"DescribeTestCases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTestCasesInput"}, + "output":{"shape":"DescribeTestCasesOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of details about test cases for a report.

" + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyInput"}, + "output":{"shape":"GetResourcePolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a resource policy that is identified by its resource ARN.

" + }, + "ImportSourceCredentials":{ + "name":"ImportSourceCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportSourceCredentialsInput"}, + "output":{"shape":"ImportSourceCredentialsOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccountLimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

" + }, + "InvalidateProjectCache":{ + "name":"InvalidateProjectCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InvalidateProjectCacheInput"}, + "output":{"shape":"InvalidateProjectCacheOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Resets the cache for a project.

" + }, + "ListBuilds":{ + "name":"ListBuilds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBuildsInput"}, + "output":{"shape":"ListBuildsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a list of build IDs, with each build ID representing a single build.

" + }, + "ListBuildsForProject":{ + "name":"ListBuildsForProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBuildsForProjectInput"}, + "output":{"shape":"ListBuildsForProjectOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

" + }, + "ListCuratedEnvironmentImages":{ + "name":"ListCuratedEnvironmentImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCuratedEnvironmentImagesInput"}, + "output":{"shape":"ListCuratedEnvironmentImagesOutput"}, + "documentation":"

Gets information about Docker images that are managed by AWS CodeBuild.

" + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProjectsInput"}, + "output":{"shape":"ListProjectsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a list of build project names, with each build project name representing a single build project.

" + }, + "ListReportGroups":{ + "name":"ListReportGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportGroupsInput"}, + "output":{"shape":"ListReportGroupsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a list ARNs for the report groups in the current AWS account.

" + }, + "ListReports":{ + "name":"ListReports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportsInput"}, + "output":{"shape":"ListReportsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of ARNs for the reports in the current AWS account.

" + }, + "ListReportsForReportGroup":{ + "name":"ListReportsForReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReportsForReportGroupInput"}, + "output":{"shape":"ListReportsForReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of ARNs for the reports that belong to a ReportGroup.

" + }, + "ListSharedProjects":{ + "name":"ListSharedProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSharedProjectsInput"}, + "output":{"shape":"ListSharedProjectsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a list of projects that are shared with other AWS accounts or users.

" + }, + "ListSharedReportGroups":{ + "name":"ListSharedReportGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSharedReportGroupsInput"}, + "output":{"shape":"ListSharedReportGroupsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Gets a list of report groups that are shared with other AWS accounts or users.

" + }, + "ListSourceCredentials":{ + "name":"ListSourceCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSourceCredentialsInput"}, + "output":{"shape":"ListSourceCredentialsOutput"}, + "documentation":"

Returns a list of SourceCredentialsInfo objects.

" + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyInput"}, + "output":{"shape":"PutResourcePolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Stores a resource policy for the ARN of a Project or ReportGroup object.

" + }, + "StartBuild":{ + "name":"StartBuild", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartBuildInput"}, + "output":{"shape":"StartBuildOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccountLimitExceededException"} + ], + "documentation":"

Starts running a build.

" + }, + "StopBuild":{ + "name":"StopBuild", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopBuildInput"}, + "output":{"shape":"StopBuildOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Attempts to stop running a build.

" + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProjectInput"}, + "output":{"shape":"UpdateProjectOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Changes the settings of a build project.

" + }, + "UpdateReportGroup":{ + "name":"UpdateReportGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateReportGroupInput"}, + "output":{"shape":"UpdateReportGroupOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates a report group.

" + }, + "UpdateWebhook":{ + "name":"UpdateWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebhookInput"}, + "output":{"shape":"UpdateWebhookOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OAuthProviderException"} + ], + "documentation":"

Updates the webhook associated with an AWS CodeBuild build project.

If you use Bitbucket for your repository, rotateSecret is ignored.

" + } + }, + "shapes":{ + "AccountLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An AWS service limit was exceeded for the calling AWS account.

", + "exception":true + }, + "ArtifactNamespace":{ + "type":"string", + "enum":[ + "NONE", + "BUILD_ID" + ] + }, + "ArtifactPackaging":{ + "type":"string", + "enum":[ + "NONE", + "ZIP" + ] + }, + "ArtifactsType":{ + "type":"string", + "enum":[ + "CODEPIPELINE", + "S3", + "NO_ARTIFACTS" + ] + }, + "AuthType":{ + "type":"string", + "enum":[ + "OAUTH", + "BASIC_AUTH", + "PERSONAL_ACCESS_TOKEN" + ] + }, + "BatchDeleteBuildsInput":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{ + "shape":"BuildIds", + "documentation":"

The IDs of the builds to delete.

" + } + } + }, + "BatchDeleteBuildsOutput":{ + "type":"structure", + "members":{ + "buildsDeleted":{ + "shape":"BuildIds", + "documentation":"

The IDs of the builds that were successfully deleted.

" + }, + "buildsNotDeleted":{ + "shape":"BuildsNotDeleted", + "documentation":"

Information about any builds that could not be successfully deleted.

" + } + } + }, + "BatchGetBuildsInput":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{ + "shape":"BuildIds", + "documentation":"

The IDs of the builds.

" + } + } + }, + "BatchGetBuildsOutput":{ + "type":"structure", + "members":{ + "builds":{ + "shape":"Builds", + "documentation":"

Information about the requested builds.

" + }, + "buildsNotFound":{ + "shape":"BuildIds", + "documentation":"

The IDs of builds for which information could not be found.

" + } + } + }, + "BatchGetProjectsInput":{ + "type":"structure", + "required":["names"], + "members":{ + "names":{ + "shape":"ProjectNames", + "documentation":"

The names or ARNs of the build projects. To get information about a project shared with your AWS account, its ARN must be specified. You cannot specify a shared project using its name.

" + } + } + }, + "BatchGetProjectsOutput":{ + "type":"structure", + "members":{ + "projects":{ + "shape":"Projects", + "documentation":"

Information about the requested build projects.

" + }, + "projectsNotFound":{ + "shape":"ProjectNames", + "documentation":"

The names of build projects for which information could not be found.

" + } + } + }, + "BatchGetReportGroupsInput":{ + "type":"structure", + "required":["reportGroupArns"], + "members":{ + "reportGroupArns":{ + "shape":"ReportGroupArns", + "documentation":"

An array of report group ARNs that identify the report groups to return.

" + } + } + }, + "BatchGetReportGroupsOutput":{ + "type":"structure", + "members":{ + "reportGroups":{ + "shape":"ReportGroups", + "documentation":"

The array of report groups returned by BatchGetReportGroups.

" + }, + "reportGroupsNotFound":{ + "shape":"ReportGroupArns", + "documentation":"

An array of ARNs passed to BatchGetReportGroups that are not associated with a ReportGroup.

" + } + } + }, + "BatchGetReportsInput":{ + "type":"structure", + "required":["reportArns"], + "members":{ + "reportArns":{ + "shape":"ReportArns", + "documentation":"

An array of ARNs that identify the Report objects to return.

" + } + } + }, + "BatchGetReportsOutput":{ + "type":"structure", + "members":{ + "reports":{ + "shape":"Reports", + "documentation":"

The array of Report objects returned by BatchGetReports.

" + }, + "reportsNotFound":{ + "shape":"ReportArns", + "documentation":"

An array of ARNs passed to BatchGetReportGroups that are not associated with a Report.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "Build":{ + "type":"structure", + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The unique ID for the build.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the build.

" + }, + "buildNumber":{ + "shape":"WrapperLong", + "documentation":"

The number of the build. For each project, the buildNumber of its first build is 1. The buildNumber of each subsequent build is incremented by 1. If a build is deleted, the buildNumber of other builds does not change.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

When the build process started, expressed in Unix time format.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

When the build process ended, expressed in Unix time format.

" + }, + "currentPhase":{ + "shape":"String", + "documentation":"

The current build phase.

" + }, + "buildStatus":{ + "shape":"StatusType", + "documentation":"

The current status of the build. Valid values include:

  • FAILED: The build failed.

  • FAULT: The build faulted.

  • IN_PROGRESS: The build is still in progress.

  • STOPPED: The build stopped.

  • SUCCEEDED: The build succeeded.

  • TIMED_OUT: The build timed out.

" + }, + "sourceVersion":{ + "shape":"NonEmptyString", + "documentation":"

Any version identifier for the version of the source code to be built. If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "resolvedSourceVersion":{ + "shape":"NonEmptyString", + "documentation":"

An identifier for the version of this build's source code.

  • For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID.

  • For AWS CodePipeline, the source revision provided by AWS CodePipeline.

  • For Amazon Simple Storage Service (Amazon S3), this does not apply.

" + }, + "projectName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the AWS CodeBuild project.

" + }, + "phases":{ + "shape":"BuildPhases", + "documentation":"

Information about all previous build phases that are complete and information about any current build phase that is not yet complete.

" + }, + "source":{ + "shape":"ProjectSource", + "documentation":"

Information about the source code to be built.

" + }, + "secondarySources":{ + "shape":"ProjectSources", + "documentation":"

An array of ProjectSource objects.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example, pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

" + }, + "artifacts":{ + "shape":"BuildArtifacts", + "documentation":"

Information about the output artifacts for the build.

" + }, + "secondaryArtifacts":{ + "shape":"BuildArtifactsList", + "documentation":"

An array of ProjectArtifacts objects.

" + }, + "cache":{ + "shape":"ProjectCache", + "documentation":"

Information about the cache for the build.

" + }, + "environment":{ + "shape":"ProjectEnvironment", + "documentation":"

Information about the build environment for this build.

" + }, + "serviceRole":{ + "shape":"NonEmptyString", + "documentation":"

The name of a service role used for this build.

" + }, + "logs":{ + "shape":"LogsLocation", + "documentation":"

Information about the build's logs in Amazon CloudWatch Logs.

" + }, + "timeoutInMinutes":{ + "shape":"WrapperInt", + "documentation":"

How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed.

" + }, + "queuedTimeoutInMinutes":{ + "shape":"WrapperInt", + "documentation":"

The number of minutes a build is allowed to be queued before it times out.

" + }, + "buildComplete":{ + "shape":"Boolean", + "documentation":"

Whether the build is complete. True if complete; otherwise, false.

" + }, + "initiator":{ + "shape":"String", + "documentation":"

The entity that started the build. Valid values include:

  • If AWS CodePipeline started the build, the pipeline's name (for example, codepipeline/my-demo-pipeline).

  • If an AWS Identity and Access Management (IAM) user started the build, the user's name (for example, MyUserName).

  • If the Jenkins plugin for AWS CodeBuild started the build, the string CodeBuild-Jenkins-Plugin.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide this parameter that identifies the VPC ID and the list of security group IDs and subnet IDs. The security groups and subnets must belong to the same VPC. You must provide at least one security group and one subnet ID.

" + }, + "networkInterface":{ + "shape":"NetworkInterface", + "documentation":"

Describes a network interface.

" + }, + "encryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + }, + "exportedEnvironmentVariables":{ + "shape":"ExportedEnvironmentVariables", + "documentation":"

A list of exported environment variables for this build.

" + }, + "reportArns":{ + "shape":"BuildReportArns", + "documentation":"

An array of the ARNs associated with this build's reports.

" + }, + "fileSystemLocations":{ + "shape":"ProjectFileSystemLocations", + "documentation":"

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

" + } + }, + "documentation":"

Information about a build.

" + }, + "BuildArtifacts":{ + "type":"structure", + "members":{ + "location":{ + "shape":"String", + "documentation":"

Information about the location of the build artifacts.

" + }, + "sha256sum":{ + "shape":"String", + "documentation":"

The SHA-256 hash of the build artifact.

You can use this hash along with a checksum tool to confirm file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

" + }, + "md5sum":{ + "shape":"String", + "documentation":"

The MD5 hash of the build artifact.

You can use this hash along with a checksum tool to confirm file integrity and authenticity.

This value is available only if the build project's packaging value is set to ZIP.

" + }, + "overrideArtifactName":{ + "shape":"WrapperBoolean", + "documentation":"

If this flag is set, a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell Command Language. For example, you can append a date and time to your artifact name so that it is always unique.

" + }, + "encryptionDisabled":{ + "shape":"WrapperBoolean", + "documentation":"

Information that tells you if encryption for build artifacts is disabled.

" + }, + "artifactIdentifier":{ + "shape":"String", + "documentation":"

An identifier for this artifact definition.

" + } + }, + "documentation":"

Information about build output artifacts.

" + }, + "BuildArtifactsList":{ + "type":"list", + "member":{"shape":"BuildArtifacts"}, + "max":12, + "min":0 + }, + "BuildIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "BuildNotDeleted":{ + "type":"structure", + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the build that could not be successfully deleted.

" + }, + "statusCode":{ + "shape":"String", + "documentation":"

Additional information about the build that could not be successfully deleted.

" + } + }, + "documentation":"

Information about a build that could not be successfully deleted.

" + }, + "BuildPhase":{ + "type":"structure", + "members":{ + "phaseType":{ + "shape":"BuildPhaseType", + "documentation":"

The name of the build phase. Valid values include:

  • BUILD: Core build activities typically occur in this build phase.

  • COMPLETED: The build has been completed.

  • DOWNLOAD_SOURCE: Source code is being downloaded in this build phase.

  • FINALIZING: The build process is completing in this build phase.

  • INSTALL: Installation activities typically occur in this build phase.

  • POST_BUILD: Post-build activities typically occur in this build phase.

  • PRE_BUILD: Pre-build activities typically occur in this build phase.

  • PROVISIONING: The build environment is being set up.

  • QUEUED: The build has been submitted and is queued behind other submitted builds.

  • SUBMITTED: The build has been submitted.

  • UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output location.

" + }, + "phaseStatus":{ + "shape":"StatusType", + "documentation":"

The current status of the build phase. Valid values include:

  • FAILED: The build phase failed.

  • FAULT: The build phase faulted.

  • IN_PROGRESS: The build phase is still in progress.

  • QUEUED: The build has been submitted and is queued behind other submitted builds.

  • STOPPED: The build phase stopped.

  • SUCCEEDED: The build phase succeeded.

  • TIMED_OUT: The build phase timed out.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

When the build phase started, expressed in Unix time format.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

When the build phase ended, expressed in Unix time format.

" + }, + "durationInSeconds":{ + "shape":"WrapperLong", + "documentation":"

How long, in seconds, between the starting and ending times of the build's phase.

" + }, + "contexts":{ + "shape":"PhaseContexts", + "documentation":"

Additional information about a build phase, especially to help troubleshoot a failed build.

" + } + }, + "documentation":"

Information about a stage for a build.

" + }, + "BuildPhaseType":{ + "type":"string", + "enum":[ + "SUBMITTED", + "QUEUED", + "PROVISIONING", + "DOWNLOAD_SOURCE", + "INSTALL", + "PRE_BUILD", + "BUILD", + "POST_BUILD", + "UPLOAD_ARTIFACTS", + "FINALIZING", + "COMPLETED" + ] + }, + "BuildPhases":{ + "type":"list", + "member":{"shape":"BuildPhase"} + }, + "BuildReportArns":{ + "type":"list", + "member":{"shape":"String"} + }, + "Builds":{ + "type":"list", + "member":{"shape":"Build"} + }, + "BuildsNotDeleted":{ + "type":"list", + "member":{"shape":"BuildNotDeleted"} + }, + "CacheMode":{ + "type":"string", + "enum":[ + "LOCAL_DOCKER_LAYER_CACHE", + "LOCAL_SOURCE_CACHE", + "LOCAL_CUSTOM_CACHE" + ] + }, + "CacheType":{ + "type":"string", + "enum":[ + "NO_CACHE", + "S3", + "LOCAL" + ] + }, + "CloudWatchLogsConfig":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"LogsConfigStatusType", + "documentation":"

The current status of the logs in Amazon CloudWatch Logs for a build project. Valid values are:

  • ENABLED: Amazon CloudWatch Logs are enabled for this build project.

  • DISABLED: Amazon CloudWatch Logs are not enabled for this build project.

" + }, + "groupName":{ + "shape":"String", + "documentation":"

The group name of the logs in Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" + }, + "streamName":{ + "shape":"String", + "documentation":"

The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

" + } + }, + "documentation":"

Information about Amazon CloudWatch Logs for a build project.

" + }, + "ComputeType":{ + "type":"string", + "enum":[ + "BUILD_GENERAL1_SMALL", + "BUILD_GENERAL1_MEDIUM", + "BUILD_GENERAL1_LARGE", + "BUILD_GENERAL1_2XLARGE" + ] + }, + "CreateProjectInput":{ + "type":"structure", + "required":[ + "name", + "source", + "artifacts", + "environment", + "serviceRole" + ], + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

The name of the build project.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

A description that makes the build project easy to identify.

" + }, + "source":{ + "shape":"ProjectSource", + "documentation":"

Information about the build input source code for the build project.

" + }, + "secondarySources":{ + "shape":"ProjectSources", + "documentation":"

An array of ProjectSource objects.

" + }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

" + }, + "artifacts":{ + "shape":"ProjectArtifacts", + "documentation":"

Information about the build output artifacts for the build project.

" + }, + "secondaryArtifacts":{ + "shape":"ProjectArtifactsList", + "documentation":"

An array of ProjectArtifacts objects.

" + }, + "cache":{ + "shape":"ProjectCache", + "documentation":"

Stores recently used information so that it can be quickly accessed at a later time.

" + }, + "environment":{ + "shape":"ProjectEnvironment", + "documentation":"

Information about the build environment for the build project.

" + }, + "serviceRole":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" + }, + "timeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before it times out any build that has not been marked as completed. The default is 60 minutes.

" + }, + "queuedTimeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

The number of minutes a build is allowed to be queued before it times out.

" + }, + "encryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag key and value pairs associated with this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" + }, + "badgeEnabled":{ + "shape":"WrapperBoolean", + "documentation":"

Set this to true to generate a publicly accessible URL for your project's build badge.

" + }, + "logsConfig":{ + "shape":"LogsConfig", + "documentation":"

Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.

" + }, + "fileSystemLocations":{ + "shape":"ProjectFileSystemLocations", + "documentation":"

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

" + } + } + }, + "CreateProjectOutput":{ + "type":"structure", + "members":{ + "project":{ + "shape":"Project", + "documentation":"

Information about the build project that was created.

" + } + } + }, + "CreateReportGroupInput":{ + "type":"structure", + "required":[ + "name", + "type", + "exportConfig" + ], + "members":{ + "name":{ + "shape":"ReportGroupName", + "documentation":"

The name of the report group.

" + }, + "type":{ + "shape":"ReportType", + "documentation":"

The type of report group.

" + }, + "exportConfig":{ + "shape":"ReportExportConfig", + "documentation":"

A ReportExportConfig object that contains information about where the report group test results are exported.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag key and value pairs associated with this report group.

These tags are available for use by AWS services that support AWS CodeBuild report group tags.

" + } + } + }, + "CreateReportGroupOutput":{ + "type":"structure", + "members":{ + "reportGroup":{ + "shape":"ReportGroup", + "documentation":"

Information about the report group that was created.

" + } + } + }, + "CreateWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the AWS CodeBuild project.

" + }, + "branchFilter":{ + "shape":"String", + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" + } + } + }, + "CreateWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Information about a webhook that connects repository events to a build project in AWS CodeBuild.

" + } + } + }, + "CredentialProviderType":{ + "type":"string", + "enum":["SECRETS_MANAGER"] + }, + "DeleteProjectInput":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the build project.

" + } + } + }, + "DeleteProjectOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteReportGroupInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report group to delete.

" + } + } + }, + "DeleteReportGroupOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteReportInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report to delete.

" + } + } + }, + "DeleteReportOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourcePolicyInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the resource that is associated with the resource policy.

" + } + } + }, + "DeleteResourcePolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteSourceCredentialsInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the token.

" + } + } + }, + "DeleteSourceCredentialsOutput":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the token.

" + } + } + }, + "DeleteWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the AWS CodeBuild project.

" + } + } + }, + "DeleteWebhookOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeTestCasesInput":{ + "type":"structure", + "required":["reportArn"], + "members":{ + "reportArn":{ + "shape":"String", + "documentation":"

The ARN of the report for which test cases are returned.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated test cases returned per response. Use nextToken to iterate pages in the list of returned TestCase objects. The default value is 100.

" + }, + "filter":{ + "shape":"TestCaseFilter", + "documentation":"

A TestCaseFilter object used to filter the returned reports.

" + } + } + }, + "DescribeTestCasesOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "testCases":{ + "shape":"TestCases", + "documentation":"

The returned list of test cases.

" + } + } + }, + "EnvironmentImage":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Docker image.

" + }, + "description":{ + "shape":"String", + "documentation":"

The description of the Docker image.

" + }, + "versions":{ + "shape":"ImageVersions", + "documentation":"

A list of environment image versions.

" + } + }, + "documentation":"

Information about a Docker image that is managed by AWS CodeBuild.

" + }, + "EnvironmentImages":{ + "type":"list", + "member":{"shape":"EnvironmentImage"} + }, + "EnvironmentLanguage":{ + "type":"structure", + "members":{ + "language":{ + "shape":"LanguageType", + "documentation":"

The programming language for the Docker images.

" + }, + "images":{ + "shape":"EnvironmentImages", + "documentation":"

The list of Docker images that are related by the specified programming language.

" + } + }, + "documentation":"

A set of Docker images that are related by programming language and are managed by AWS CodeBuild.

" + }, + "EnvironmentLanguages":{ + "type":"list", + "member":{"shape":"EnvironmentLanguage"} + }, + "EnvironmentPlatform":{ + "type":"structure", + "members":{ + "platform":{ + "shape":"PlatformType", + "documentation":"

The platform's name.

" + }, + "languages":{ + "shape":"EnvironmentLanguages", + "documentation":"

The list of programming languages that are available for the specified platform.

" + } + }, + "documentation":"

A set of Docker images that are related by platform and are managed by AWS CodeBuild.

" + }, + "EnvironmentPlatforms":{ + "type":"list", + "member":{"shape":"EnvironmentPlatform"} + }, + "EnvironmentType":{ + "type":"string", + "enum":[ + "WINDOWS_CONTAINER", + "LINUX_CONTAINER", + "LINUX_GPU_CONTAINER", + "ARM_CONTAINER" + ] + }, + "EnvironmentVariable":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name or key of the environment variable.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the environment variable.

We strongly discourage the use of PLAINTEXT environment variables to store sensitive values, especially AWS secret key IDs and secret access keys. PLAINTEXT environment variables can be displayed in plain text using the AWS CodeBuild console and the AWS Command Line Interface (AWS CLI). For sensitive values, we recommend you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER.

" + }, + "type":{ + "shape":"EnvironmentVariableType", + "documentation":"

The type of environment variable. Valid values include:

" + } + }, + "documentation":"

Information about an environment variable for a build project or a build.

" + }, + "EnvironmentVariableType":{ + "type":"string", + "enum":[ + "PLAINTEXT", + "PARAMETER_STORE", + "SECRETS_MANAGER" + ] + }, + "EnvironmentVariables":{ + "type":"list", + "member":{"shape":"EnvironmentVariable"} + }, + "ExportedEnvironmentVariable":{ + "type":"structure", + "members":{ + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of this exported environment variable.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value assigned to this exported environment variable.

During a build, the value of a variable is available starting with the install phase. It can be updated between the start of the install phase and the end of the post_build phase. After the post_build phase ends, the value of exported variables cannot change.

" + } + }, + "documentation":"

Information about an exported environment variable.

" + }, + "ExportedEnvironmentVariables":{ + "type":"list", + "member":{"shape":"ExportedEnvironmentVariable"} + }, + "FileSystemType":{ + "type":"string", + "enum":["EFS"] + }, + "FilterGroup":{ + "type":"list", + "member":{"shape":"WebhookFilter"} + }, + "FilterGroups":{ + "type":"list", + "member":{"shape":"FilterGroup"} + }, + "GetResourcePolicyInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the resource that is associated with the resource policy.

" + } + } + }, + "GetResourcePolicyOutput":{ + "type":"structure", + "members":{ + "policy":{ + "shape":"NonEmptyString", + "documentation":"

The resource policy for the resource identified by the input ARN parameter.

" + } + } + }, + "GitCloneDepth":{ + "type":"integer", + "min":0 + }, + "GitSubmodulesConfig":{ + "type":"structure", + "required":["fetchSubmodules"], + "members":{ + "fetchSubmodules":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true to fetch Git submodules for your AWS CodeBuild build project.

" + } + }, + "documentation":"

Information about the Git submodules configuration for an AWS CodeBuild build project.

" + }, + "ImagePullCredentialsType":{ + "type":"string", + "enum":[ + "CODEBUILD", + "SERVICE_ROLE" + ] + }, + "ImageVersions":{ + "type":"list", + "member":{"shape":"String"} + }, + "ImportSourceCredentialsInput":{ + "type":"structure", + "required":[ + "token", + "serverType", + "authType" + ], + "members":{ + "username":{ + "shape":"NonEmptyString", + "documentation":"

The Bitbucket username when the authType is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.

" + }, + "token":{ + "shape":"SensitiveNonEmptyString", + "documentation":"

For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, this is the app password.

" + }, + "serverType":{ + "shape":"ServerType", + "documentation":"

The source provider used for this project.

" + }, + "authType":{ + "shape":"AuthType", + "documentation":"

The type of authentication used to connect to a GitHub, GitHub Enterprise, or Bitbucket repository. An OAUTH connection is not supported by the API and must be created using the AWS CodeBuild console.

" + }, + "shouldOverwrite":{ + "shape":"WrapperBoolean", + "documentation":"

Set to false to prevent overwriting the repository source credentials. Set to true to overwrite the repository source credentials. The default value is true.

" + } + } + }, + "ImportSourceCredentialsOutput":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the token.

" + } + } + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The input value that was provided is not valid.

", + "exception":true + }, + "InvalidateProjectCacheInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the AWS CodeBuild build project that the cache is reset for.

" + } + } + }, + "InvalidateProjectCacheOutput":{ + "type":"structure", + "members":{ + } + }, + "KeyInput":{ + "type":"string", + "max":127, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$" + }, + "LanguageType":{ + "type":"string", + "enum":[ + "JAVA", + "PYTHON", + "NODE_JS", + "RUBY", + "GOLANG", + "DOCKER", + "ANDROID", + "DOTNET", + "BASE", + "PHP" + ] + }, + "ListBuildsForProjectInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the AWS CodeBuild project.

" + }, + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

The order to list build IDs. Valid values include:

  • ASCENDING: List the build IDs in ascending order by build ID.

  • DESCENDING: List the build IDs in descending order by build ID.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + } + } + }, + "ListBuildsForProjectOutput":{ + "type":"structure", + "members":{ + "ids":{ + "shape":"BuildIds", + "documentation":"

A list of build IDs for the specified build project, with each build ID representing a single build.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" + } + } + }, + "ListBuildsInput":{ + "type":"structure", + "members":{ + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

The order to list build IDs. Valid values include:

  • ASCENDING: List the build IDs in ascending order by build ID.

  • DESCENDING: List the build IDs in descending order by build ID.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + } + } + }, + "ListBuildsOutput":{ + "type":"structure", + "members":{ + "ids":{ + "shape":"BuildIds", + "documentation":"

A list of build IDs, with each build ID representing a single build.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" + } + } + }, + "ListCuratedEnvironmentImagesInput":{ + "type":"structure", + "members":{ + } + }, + "ListCuratedEnvironmentImagesOutput":{ + "type":"structure", + "members":{ + "platforms":{ + "shape":"EnvironmentPlatforms", + "documentation":"

Information about supported platforms for Docker images that are managed by AWS CodeBuild.

" + } + } + }, + "ListProjectsInput":{ + "type":"structure", + "members":{ + "sortBy":{ + "shape":"ProjectSortByType", + "documentation":"

The criterion to be used to list build project names. Valid values include:

  • CREATED_TIME: List based on when each build project was created.

  • LAST_MODIFIED_TIME: List based on when information about each build project was last changed.

  • NAME: List based on each build project's name.

Use sortOrder to specify in what order to list the build project names based on the preceding criteria.

" + }, + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

The order in which to list build projects. Valid values include:

  • ASCENDING: List in ascending order.

  • DESCENDING: List in descending order.

Use sortBy to specify the criterion to be used to list build project names.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

During a previous call, if there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + } + } + }, + "ListProjectsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

If there are more than 100 items in the list, only the first 100 items are returned, along with a unique string called a nextToken. To get the next batch of items in the list, call this operation again, adding the next token to the call.

" + }, + "projects":{ + "shape":"ProjectNames", + "documentation":"

The list of build project names, with each build project name representing a single build project.

" + } + } + }, + "ListReportGroupsInput":{ + "type":"structure", + "members":{ + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

Used to specify the order to sort the list of returned report groups. Valid values are ASCENDING and DESCENDING.

" + }, + "sortBy":{ + "shape":"ReportGroupSortByType", + "documentation":"

The criterion to be used to list build report groups. Valid values include:

  • CREATED_TIME: List based on when each report group was created.

  • LAST_MODIFIED_TIME: List based on when each report group was last changed.

  • NAME: List based on each report group's name.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated report groups returned per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100.

" + } + } + }, + "ListReportGroupsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "reportGroups":{ + "shape":"ReportGroupArns", + "documentation":"

The list of ARNs for the report groups in the current AWS account.

" + } + } + }, + "ListReportsForReportGroupInput":{ + "type":"structure", + "required":["reportGroupArn"], + "members":{ + "reportGroupArn":{ + "shape":"String", + "documentation":"

The ARN of the report group for which you want to return report ARNs.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

Use to specify whether the results are returned in ascending or descending order.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated reports in this report group returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

" + }, + "filter":{ + "shape":"ReportFilter", + "documentation":"

A ReportFilter object used to filter the returned reports.

" + } + } + }, + "ListReportsForReportGroupOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "reports":{ + "shape":"ReportArns", + "documentation":"

The list of returned report group ARNs.

" + } + } + }, + "ListReportsInput":{ + "type":"structure", + "members":{ + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

Specifies the sort order for the list of returned reports. Valid values are:

  • ASCENDING: return reports in chronological order based on their creation date.

  • DESCENDING: return reports in the reverse chronological order based on their creation date.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated reports returned per response. Use nextToken to iterate pages in the list of returned Report objects. The default value is 100.

" + }, + "filter":{ + "shape":"ReportFilter", + "documentation":"

A ReportFilter object used to filter the returned reports.

" + } + } + }, + "ListReportsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "reports":{ + "shape":"ReportArns", + "documentation":"

The list of returned ARNs for the reports in the current AWS account.

" + } + } + }, + "ListSharedProjectsInput":{ + "type":"structure", + "members":{ + "sortBy":{ + "shape":"SharedResourceSortByType", + "documentation":"

The criterion to be used to list build projects shared with the current AWS account or user. Valid values include:

  • ARN: List based on the ARN.

  • MODIFIED_TIME: List based on when information about the shared project was last changed.

" + }, + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

The order in which to list shared build projects. Valid values include:

  • ASCENDING: List in ascending order.

  • DESCENDING: List in descending order.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated shared build projects returned per response. Use nextToken to iterate pages in the list of returned Project objects. The default value is 100.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + } + } + }, + "ListSharedProjectsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "projects":{ + "shape":"ProjectArns", + "documentation":"

The list of ARNs for the build projects shared with the current AWS account or user.

" + } + } + }, + "ListSharedReportGroupsInput":{ + "type":"structure", + "members":{ + "sortOrder":{ + "shape":"SortOrderType", + "documentation":"

The order in which to list shared report groups. Valid values include:

  • ASCENDING: List in ascending order.

  • DESCENDING: List in descending order.

" + }, + "sortBy":{ + "shape":"SharedResourceSortByType", + "documentation":"

The criterion to be used to list report groups shared with the current AWS account or user. Valid values include:

  • ARN: List based on the ARN.

  • MODIFIED_TIME: List based on when information about the shared report group was last changed.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of paginated shared report groups per response. Use nextToken to iterate pages in the list of returned ReportGroup objects. The default value is 100.

" + } + } + }, + "ListSharedReportGroupsOutput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

During a previous call, the maximum number of items that can be returned is the value specified in maxResults. If there more items in the list, then a unique string called a nextToken is returned. To get the next batch of items in the list, call this operation again, adding the next token to the call. To get all of the items in the list, keep calling this operation with each subsequent next token that is returned, until no more next tokens are returned.

" + }, + "reportGroups":{ + "shape":"ReportGroupArns", + "documentation":"

The list of ARNs for the report groups shared with the current AWS account or user.

" + } + } + }, + "ListSourceCredentialsInput":{ + "type":"structure", + "members":{ + } + }, + "ListSourceCredentialsOutput":{ + "type":"structure", + "members":{ + "sourceCredentialsInfos":{ + "shape":"SourceCredentialsInfos", + "documentation":"

A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object includes the authentication type, token ARN, and type of source provider for one set of credentials.

" + } + } + }, + "LogsConfig":{ + "type":"structure", + "members":{ + "cloudWatchLogs":{ + "shape":"CloudWatchLogsConfig", + "documentation":"

Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch Logs are enabled by default.

" + }, + "s3Logs":{ + "shape":"S3LogsConfig", + "documentation":"

Information about logs built to an S3 bucket for a build project. S3 logs are not enabled by default.

" + } + }, + "documentation":"

Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a specified S3 bucket, or both.

" + }, + "LogsConfigStatusType":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "LogsLocation":{ + "type":"structure", + "members":{ + "groupName":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs group for the build logs.

" + }, + "streamName":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs stream for the build logs.

" + }, + "deepLink":{ + "shape":"String", + "documentation":"

The URL to an individual build log in Amazon CloudWatch Logs.

" + }, + "s3DeepLink":{ + "shape":"String", + "documentation":"

The URL to a build log in an S3 bucket.

" + }, + "cloudWatchLogsArn":{ + "shape":"String", + "documentation":"

The ARN of Amazon CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}. For more information, see Resources Defined by Amazon CloudWatch Logs.

" + }, + "s3LogsArn":{ + "shape":"String", + "documentation":"

The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}. For more information, see Resources Defined by Amazon S3.

" + }, + "cloudWatchLogs":{ + "shape":"CloudWatchLogsConfig", + "documentation":"

Information about Amazon CloudWatch Logs for a build project.

" + }, + "s3Logs":{ + "shape":"S3LogsConfig", + "documentation":"

Information about S3 logs for a build project.

" + } + }, + "documentation":"

Information about build logs in Amazon CloudWatch Logs.

" + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "subnetId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the subnet.

" + }, + "networkInterfaceId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the network interface.

" + } + }, + "documentation":"

Describes a network interface.

" + }, + "NonEmptyString":{ + "type":"string", + "min":1 + }, + "OAuthProviderException":{ + "type":"structure", + "members":{ + }, + "documentation":"

There was a problem with the underlying OAuth provider.

", + "exception":true + }, + "PageSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "PhaseContext":{ + "type":"structure", + "members":{ + "statusCode":{ + "shape":"String", + "documentation":"

The status code for the context of the build phase.

" + }, + "message":{ + "shape":"String", + "documentation":"

An explanation of the build phase's context. This might include a command ID and an exit code.

" + } + }, + "documentation":"

Additional information about a build phase that has an error. You can use this information for troubleshooting.

" + }, + "PhaseContexts":{ + "type":"list", + "member":{"shape":"PhaseContext"} + }, + "PlatformType":{ + "type":"string", + "enum":[ + "DEBIAN", + "AMAZON_LINUX", + "UBUNTU", + "WINDOWS_SERVER" + ] + }, + "Project":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

The name of the build project.

" + }, + "arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the build project.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

A description that makes the build project easy to identify.

" + }, + "source":{ + "shape":"ProjectSource", + "documentation":"

Information about the build input source code for this build project.

" + }, + "secondarySources":{ + "shape":"ProjectSources", + "documentation":"

An array of ProjectSource objects.

" + }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

" + }, + "artifacts":{ + "shape":"ProjectArtifacts", + "documentation":"

Information about the build output artifacts for the build project.

" + }, + "secondaryArtifacts":{ + "shape":"ProjectArtifactsList", + "documentation":"

An array of ProjectArtifacts objects.

" + }, + "cache":{ + "shape":"ProjectCache", + "documentation":"

Information about the cache for the build project.

" + }, + "environment":{ + "shape":"ProjectEnvironment", + "documentation":"

Information about the build environment for this build project.

" + }, + "serviceRole":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" + }, + "timeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed. The default is 60 minutes.

" + }, + "queuedTimeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

The number of minutes a build is allowed to be queued before it times out.

" + }, + "encryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag key and value pairs associated with this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" + }, + "created":{ + "shape":"Timestamp", + "documentation":"

When the build project was created, expressed in Unix time format.

" + }, + "lastModified":{ + "shape":"Timestamp", + "documentation":"

When the build project's settings were last modified, expressed in Unix time format.

" + }, + "webhook":{ + "shape":"Webhook", + "documentation":"

Information about a webhook that connects repository events to a build project in AWS CodeBuild.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Information about the VPC configuration that AWS CodeBuild accesses.

" + }, + "badge":{ + "shape":"ProjectBadge", + "documentation":"

Information about the build badge for the build project.

" + }, + "logsConfig":{ + "shape":"LogsConfig", + "documentation":"

Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.

" + }, + "fileSystemLocations":{ + "shape":"ProjectFileSystemLocations", + "documentation":"

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

" + } + }, + "documentation":"

Information about a build project.

" + }, + "ProjectArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ProjectArtifacts":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"ArtifactsType", + "documentation":"

The type of build output artifact. Valid values include:

  • CODEPIPELINE: The build project has build output generated through AWS CodePipeline.

    The CODEPIPELINE type is not supported for secondaryArtifacts.

  • NO_ARTIFACTS: The build project does not produce any build output.

  • S3: The build project stores build output in Amazon Simple Storage Service (Amazon S3).

" + }, + "location":{ + "shape":"String", + "documentation":"

Information about the build output artifact location:

  • If type is set to CODEPIPELINE, AWS CodePipeline ignores this value if specified. This is because AWS CodePipeline manages its build output locations instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, this value is ignored if specified, because no build output is produced.

  • If type is set to S3, this is the name of the output bucket.

" + }, + "path":{ + "shape":"String", + "documentation":"

Along with namespaceType and name, the pattern that AWS CodeBuild uses to name and store the output artifact:

  • If type is set to CODEPIPELINE, AWS CodePipeline ignores this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, this value is ignored if specified, because no build output is produced.

  • If type is set to S3, this is the path to the output artifact. If path is not specified, path is not used.

For example, if path is set to MyArtifacts, namespaceType is set to NONE, and name is set to MyArtifact.zip, the output artifact is stored in the output bucket at MyArtifacts/MyArtifact.zip.

" + }, + "namespaceType":{ + "shape":"ArtifactNamespace", + "documentation":"

Along with path and name, the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:

  • If type is set to CODEPIPELINE, AWS CodePipeline ignores this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, this value is ignored if specified, because no build output is produced.

  • If type is set to S3, valid values include:

    • BUILD_ID: Include the build ID in the location of the build output artifact.

    • NONE: Do not include the build ID. This is the default if namespaceType is not specified.

For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip.

" + }, + "name":{ + "shape":"String", + "documentation":"

Along with path and namespaceType, the pattern that AWS CodeBuild uses to name and store the output artifact:

  • If type is set to CODEPIPELINE, AWS CodePipeline ignores this value if specified. This is because AWS CodePipeline manages its build output names instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, this value is ignored if specified, because no build output is produced.

  • If type is set to S3, this is the name of the output artifact object. If you set the name to be a forward slash (\"/\"), the artifact is stored in the root of the output bucket.

For example:

  • If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip.

  • If path is empty, namespaceType is set to NONE, and name is set to \"/\", the output artifact is stored in the root of the output bucket.

  • If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to \"/\", the output artifact is stored in MyArtifacts/build-ID .

" + }, + "packaging":{ + "shape":"ArtifactPackaging", + "documentation":"

The type of build output artifact to create:

  • If type is set to CODEPIPELINE, AWS CodePipeline ignores this value if specified. This is because AWS CodePipeline manages its build output artifacts instead of AWS CodeBuild.

  • If type is set to NO_ARTIFACTS, this value is ignored if specified, because no build output is produced.

  • If type is set to S3, valid values include:

    • NONE: AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default if packaging is not specified.

    • ZIP: AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.

" + }, + "overrideArtifactName":{ + "shape":"WrapperBoolean", + "documentation":"

If this flag is set, a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell Command Language. For example, you can append a date and time to your artifact name so that it is always unique.

" + }, + "encryptionDisabled":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an invalidInputException is thrown.

" + }, + "artifactIdentifier":{ + "shape":"String", + "documentation":"

An identifier for this artifact definition.

" + } + }, + "documentation":"

Information about the build output artifacts for the build project.

" + }, + "ProjectArtifactsList":{ + "type":"list", + "member":{"shape":"ProjectArtifacts"}, + "max":12, + "min":0 + }, + "ProjectBadge":{ + "type":"structure", + "members":{ + "badgeEnabled":{ + "shape":"Boolean", + "documentation":"

Set this to true to generate a publicly accessible URL for your project's build badge.

" + }, + "badgeRequestUrl":{ + "shape":"String", + "documentation":"

The publicly-accessible URL through which you can access the build badge for your project.

The publicly accessible URL through which you can access the build badge for your project.

" + } + }, + "documentation":"

Information about the build badge for the build project.

" + }, + "ProjectCache":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"CacheType", + "documentation":"

The type of cache used by the build project. Valid values include:

  • NO_CACHE: The build project does not use any cache.

  • S3: The build project reads and writes from and to S3.

  • LOCAL: The build project stores a cache locally on a build host that is only available to that build host.

" + }, + "location":{ + "shape":"String", + "documentation":"

Information about the cache location:

  • NO_CACHE or LOCAL: This value is ignored.

  • S3: This is the S3 bucket name/prefix.

" + }, + "modes":{ + "shape":"ProjectCacheModes", + "documentation":"

If you use a LOCAL cache, the local cache mode. You can use one or more local cache modes at the same time.

  • LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.

  • LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.

    • You can use a Docker layer cache in the Linux environment only.

    • The privileged flag must be set so that your project has the required Docker permissions.

    • You should consider the security implications before you use a Docker layer cache.

  • LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:

    • Only directories can be specified for caching. You cannot specify individual files.

    • Symlinks are used to reference cached directories.

    • Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.

" + } + }, + "documentation":"

Information about the cache for the build project.

" + }, + "ProjectCacheModes":{ + "type":"list", + "member":{"shape":"CacheMode"} + }, + "ProjectDescription":{ + "type":"string", + "max":255, + "min":0 + }, + "ProjectEnvironment":{ + "type":"structure", + "required":[ + "type", + "image", + "computeType" + ], + "members":{ + "type":{ + "shape":"EnvironmentType", + "documentation":"

The type of build environment to use for related builds.

  • The environment type ARM_CONTAINER is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt).

  • The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia).

  • The environment type LINUX_GPU_CONTAINER is available only in regions US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and China (Ningxia).

" + }, + "image":{ + "shape":"NonEmptyString", + "documentation":"

The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:

  • For an image tag: registry/repository:tag. For example, to specify an image with the tag \"latest,\" use registry/repository:latest.

  • For an image digest: registry/repository@digest. For example, to specify an image with the digest \"sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,\" use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.

" + }, + "computeType":{ + "shape":"ComputeType", + "documentation":"

Information about the compute resources the build project uses. Available values include:

  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds.

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds.

  • BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds, depending on your environment type.

  • BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB of SSD storage for builds. This compute type supports Docker images up to 100 GB uncompressed.

If you use BUILD_GENERAL1_LARGE:

  • For environment type LINUX_CONTAINER, you can use up to 15 GB memory and 8 vCPUs for builds.

  • For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory, 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.

  • For environment type ARM_CONTAINER, you can use up to 16 GB memory and 8 vCPUs on ARM-based processors for builds.

For more information, see Build Environment Compute Types in the AWS CodeBuild User Guide.

" + }, + "environmentVariables":{ + "shape":"EnvironmentVariables", + "documentation":"

A set of environment variables to make available to builds for this build project.

" + }, + "privilegedMode":{ + "shape":"WrapperBoolean", + "documentation":"

Enables running the Docker daemon inside a Docker container. Set to true only if the build project is used to build Docker images. Otherwise, a build that attempts to interact with the Docker daemon fails. The default setting is false.

You can initialize the Docker daemon during the install phase of your build by adding one of the following sets of commands to the install phase of your buildspec file:

If the operating system's base image is Ubuntu Linux:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout 15 sh -c \"until docker info; do echo .; sleep 1; done\"

If the operating system's base image is Alpine Linux and the previous command does not work, add the -t argument to timeout:

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375 --storage-driver=overlay&

- timeout -t 15 sh -c \"until docker info; do echo .; sleep 1; done\"

" + }, + "certificate":{ + "shape":"String", + "documentation":"

The certificate to use with this build project.

" + }, + "registryCredential":{ + "shape":"RegistryCredential", + "documentation":"

The credentials for access to a private registry.

" + }, + "imagePullCredentialsType":{ + "shape":"ImagePullCredentialsType", + "documentation":"

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

  • CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal.

  • SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role.

When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" + } + }, + "documentation":"

Information about the build environment of the build project.

" + }, + "ProjectFileSystemLocation":{ + "type":"structure", + "members":{ + "type":{ + "shape":"FileSystemType", + "documentation":"

The type of the file system. The one supported type is EFS.

" + }, + "location":{ + "shape":"String", + "documentation":"

A string that specifies the location of the file system created by Amazon EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name of file system when you view it in the AWS EFS console. The directory path is a path to a directory in the file system that CodeBuild mounts. For example, if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com, and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory.

The directory path in the format efs-dns-name:/directory-path is optional. If you do not specify a directory path, the location is only the DNS name and CodeBuild mounts the entire file system.

" + }, + "mountPoint":{ + "shape":"String", + "documentation":"

The location in the container where you mount the file system.

" + }, + "identifier":{ + "shape":"String", + "documentation":"

The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.

The identifier is used to mount your file system.

" + }, + "mountOptions":{ + "shape":"String", + "documentation":"

The mount options for a file system created by AWS EFS. The default mount options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. For more information, see Recommended NFS Mount Options.

" + } + }, + "documentation":"

Information about a file system created by Amazon Elastic File System (EFS). For more information, see What Is Amazon Elastic File System?

" + }, + "ProjectFileSystemLocations":{ + "type":"list", + "member":{"shape":"ProjectFileSystemLocation"} + }, + "ProjectName":{ + "type":"string", + "max":255, + "min":2, + "pattern":"[A-Za-z0-9][A-Za-z0-9\\-_]{1,254}" + }, + "ProjectNames":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ProjectSecondarySourceVersions":{ + "type":"list", + "member":{"shape":"ProjectSourceVersion"}, + "max":12, + "min":0 + }, + "ProjectSortByType":{ + "type":"string", + "enum":[ + "NAME", + "CREATED_TIME", + "LAST_MODIFIED_TIME" + ] + }, + "ProjectSource":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"SourceType", + "documentation":"

The type of repository that contains the source code to be built. Valid values include:

  • BITBUCKET: The source code is in a Bitbucket repository.

  • CODECOMMIT: The source code is in an AWS CodeCommit repository.

  • CODEPIPELINE: The source code settings are specified in the source action of a pipeline in AWS CodePipeline.

  • GITHUB: The source code is in a GitHub repository.

  • GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise repository.

  • NO_SOURCE: The project does not have input source code.

  • S3: The source code is in an Amazon Simple Storage Service (Amazon S3) input bucket.

" + }, + "location":{ + "shape":"String", + "documentation":"

Information about the location of the source code to be built. Valid values include:

  • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

  • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the buildspec file (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

  • For source code in an Amazon Simple Storage Service (Amazon S3) input bucket, one of the following.

    • The path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).

    • The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).

  • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your GitHub account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with GitHub, on the GitHub Authorize application page, for Organization access, choose Request access next to each repository you want to allow AWS CodeBuild to have access to, and then choose Authorize application. (After you have connected to your GitHub account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

  • For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the buildspec file. You must connect your AWS account to your Bitbucket account. Use the AWS CodeBuild console to start creating a build project. When you use the console to connect (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your account page, choose Grant access. (After you have connected to your Bitbucket account, you do not need to finish creating the build project. You can leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this connection, in the source object, set the auth object's type value to OAUTH.

" + }, + "gitCloneDepth":{ + "shape":"GitCloneDepth", + "documentation":"

Information about the Git clone depth for the build project.

" + }, + "gitSubmodulesConfig":{ + "shape":"GitSubmodulesConfig", + "documentation":"

Information about the Git submodules configuration for the build project.

" + }, + "buildspec":{ + "shape":"String", + "documentation":"

The buildspec file declaration to use for the builds in this build project.

If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

" + }, + "auth":{ + "shape":"SourceAuth", + "documentation":"

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly.

" + }, + "reportBuildStatus":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true to report the status of a build's start and finish to your source provider. This option is valid only when your source provider is GitHub, GitHub Enterprise, or Bitbucket. If this is set and you use a different source provider, an invalidInputException is thrown.

The status of a build triggered by a webhook is always reported to your source provider.

" + }, + "insecureSsl":{ + "shape":"WrapperBoolean", + "documentation":"

Enable this flag to ignore SSL warnings while connecting to the project source code.

" + }, + "sourceIdentifier":{ + "shape":"String", + "documentation":"

An identifier for this project source.

" + } + }, + "documentation":"

Information about the build input source code for the build project.

" + }, + "ProjectSourceVersion":{ + "type":"structure", + "required":[ + "sourceIdentifier", + "sourceVersion" + ], + "members":{ + "sourceIdentifier":{ + "shape":"String", + "documentation":"

An identifier for a source in the build project.

" + }, + "sourceVersion":{ + "shape":"String", + "documentation":"

The source version for the corresponding source identifier. If specified, must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example, pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + } + }, + "documentation":"

A source identifier and its corresponding version.

" + }, + "ProjectSources":{ + "type":"list", + "member":{"shape":"ProjectSource"}, + "max":12, + "min":0 + }, + "Projects":{ + "type":"list", + "member":{"shape":"Project"} + }, + "PutResourcePolicyInput":{ + "type":"structure", + "required":[ + "policy", + "resourceArn" + ], + "members":{ + "policy":{ + "shape":"NonEmptyString", + "documentation":"

A JSON-formatted resource policy. For more information, see Sharing a Project and Sharing a Report Group in the AWS CodeBuild User Guide.

" + }, + "resourceArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the Project or ReportGroup resource you want to associate with a resource policy.

" + } + } + }, + "PutResourcePolicyOutput":{ + "type":"structure", + "members":{ + "resourceArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the Project or ReportGroup resource that is associated with a resource policy.

" + } + } + }, + "RegistryCredential":{ + "type":"structure", + "required":[ + "credential", + "credentialProvider" + ], + "members":{ + "credential":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

The credential can use the name of the credentials only if they exist in your current AWS Region.

" + }, + "credentialProvider":{ + "shape":"CredentialProviderType", + "documentation":"

The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

" + } + }, + "documentation":"

Information about credentials that provide access to a private Docker registry. When this is set:

  • imagePullCredentialsType must be set to SERVICE_ROLE.

  • images cannot be curated or an Amazon ECR image.

For more information, see Private Registry with AWS Secrets Manager Sample for AWS CodeBuild.

" + }, + "Report":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report run.

" + }, + "type":{ + "shape":"ReportType", + "documentation":"

The type of the report that was run.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the report that was run.

" + }, + "reportGroupArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report group associated with this report.

" + }, + "executionId":{ + "shape":"String", + "documentation":"

The ARN of the build run that generated this report.

" + }, + "status":{ + "shape":"ReportStatusType", + "documentation":"

The status of this report.

" + }, + "created":{ + "shape":"Timestamp", + "documentation":"

The date and time this report run occurred.

" + }, + "expired":{ + "shape":"Timestamp", + "documentation":"

The date and time a report expires. A report expires 30 days after it is created. An expired report is not available to view in CodeBuild.

" + }, + "exportConfig":{ + "shape":"ReportExportConfig", + "documentation":"

Information about where the raw data used to generate this report was exported.

" + }, + "truncated":{ + "shape":"WrapperBoolean", + "documentation":"

A boolean that specifies if this report run is truncated. The list of test cases is truncated after the maximum number of test cases is reached.

" + }, + "testSummary":{ + "shape":"TestReportSummary", + "documentation":"

A TestReportSummary object that contains information about this test report.

" + } + }, + "documentation":"

Information about the results from running a series of test cases during the run of a build project. The test cases are specified in the buildspec for the build project using one or more paths to the test case files. You can specify any type of tests you want, such as unit tests, integration tests, and functional tests.

" + }, + "ReportArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ReportExportConfig":{ + "type":"structure", + "members":{ + "exportConfigType":{ + "shape":"ReportExportConfigType", + "documentation":"

The export configuration type. Valid values are:

  • S3: The report results are exported to an S3 bucket.

  • NO_EXPORT: The report results are not exported.

" + }, + "s3Destination":{ + "shape":"S3ReportExportConfig", + "documentation":"

A S3ReportExportConfig object that contains information about the S3 bucket where the run of a report is exported.

" + } + }, + "documentation":"

Information about the location where the run of a report is exported.

" + }, + "ReportExportConfigType":{ + "type":"string", + "enum":[ + "S3", + "NO_EXPORT" + ] + }, + "ReportFilter":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ReportStatusType", + "documentation":"

The status used to filter reports. You can filter using one status only.

" + } + }, + "documentation":"

A filter used to return reports with the status specified by the input status parameter.

" + }, + "ReportGroup":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of a ReportGroup.

" + }, + "name":{ + "shape":"ReportGroupName", + "documentation":"

The name of a ReportGroup.

" + }, + "type":{ + "shape":"ReportType", + "documentation":"

The type of the ReportGroup. The one valid value is TEST.

" + }, + "exportConfig":{ + "shape":"ReportExportConfig", + "documentation":"

Information about the destination where the raw data of this ReportGroup is exported.

" + }, + "created":{ + "shape":"Timestamp", + "documentation":"

The date and time this ReportGroup was created.

" + }, + "lastModified":{ + "shape":"Timestamp", + "documentation":"

The date and time this ReportGroup was last modified.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag key and value pairs associated with this report group.

These tags are available for use by AWS services that support AWS CodeBuild report group tags.

" + } + }, + "documentation":"

A series of reports. Each report contains information about the results from running a series of test cases. You specify the test cases for a report group in the buildspec for a build project using one or more paths to the test case files.

" + }, + "ReportGroupArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":1 + }, + "ReportGroupName":{ + "type":"string", + "max":128, + "min":2 + }, + "ReportGroupSortByType":{ + "type":"string", + "enum":[ + "NAME", + "CREATED_TIME", + "LAST_MODIFIED_TIME" + ] + }, + "ReportGroups":{ + "type":"list", + "member":{"shape":"ReportGroup"}, + "max":100, + "min":1 + }, + "ReportPackagingType":{ + "type":"string", + "enum":[ + "ZIP", + "NONE" + ] + }, + "ReportStatusCounts":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"WrapperInt"} + }, + "ReportStatusType":{ + "type":"string", + "enum":[ + "GENERATING", + "SUCCEEDED", + "FAILED", + "INCOMPLETE", + "DELETING" + ] + }, + "ReportType":{ + "type":"string", + "enum":["TEST"] + }, + "Reports":{ + "type":"list", + "member":{"shape":"Report"}, + "max":100, + "min":1 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified AWS resource cannot be created, because an AWS resource with the same settings already exists.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified AWS resource cannot be found.

", + "exception":true + }, + "S3LogsConfig":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"LogsConfigStatusType", + "documentation":"

The current status of the S3 build logs. Valid values are:

  • ENABLED: S3 build logs are enabled for this build project.

  • DISABLED: S3 build logs are not enabled for this build project.

" + }, + "location":{ + "shape":"String", + "documentation":"

The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is my-bucket, and your path prefix is build-log, then acceptable formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log.

" + }, + "encryptionDisabled":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.

" + } + }, + "documentation":"

Information about S3 logs for a build project.

" + }, + "S3ReportExportConfig":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"NonEmptyString", + "documentation":"

The name of the S3 bucket where the raw data of a report are exported.

" + }, + "path":{ + "shape":"String", + "documentation":"

The path to the exported report's raw data results.

" + }, + "packaging":{ + "shape":"ReportPackagingType", + "documentation":"

The type of build output artifact to create. Valid values include:

  • NONE: AWS CodeBuild creates the raw data in the output bucket. This is the default if packaging is not specified.

  • ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output bucket.

" + }, + "encryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

The encryption key for the report's encrypted raw data.

" + }, + "encryptionDisabled":{ + "shape":"WrapperBoolean", + "documentation":"

A boolean value that specifies if the results of a report are encrypted.

" + } + }, + "documentation":"

Information about the S3 bucket where the raw data of a report are exported.

" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":5 + }, + "SensitiveNonEmptyString":{ + "type":"string", + "min":1, + "sensitive":true + }, + "ServerType":{ + "type":"string", + "enum":[ + "GITHUB", + "BITBUCKET", + "GITHUB_ENTERPRISE" + ] + }, + "SharedResourceSortByType":{ + "type":"string", + "enum":[ + "ARN", + "MODIFIED_TIME" + ] + }, + "SortOrderType":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SourceAuth":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"SourceAuthType", + "documentation":"

This data type is deprecated and is no longer accurate or used.

The authorization type to use. The only valid value is OAUTH, which represents the OAuth authorization type.

" + }, + "resource":{ + "shape":"String", + "documentation":"

The resource value that applies to the specified authorization type.

" + } + }, + "documentation":"

Information about the authorization settings for AWS CodeBuild to access the source code to be built.

This information is for the AWS CodeBuild console's use only. Your code should not get or set this information directly.

" + }, + "SourceAuthType":{ + "type":"string", + "enum":["OAUTH"] + }, + "SourceCredentialsInfo":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the token.

" + }, + "serverType":{ + "shape":"ServerType", + "documentation":"

The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, or BITBUCKET.

" + }, + "authType":{ + "shape":"AuthType", + "documentation":"

The type of authentication used by the credentials. Valid options are OAUTH, BASIC_AUTH, or PERSONAL_ACCESS_TOKEN.

" + } + }, + "documentation":"

Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket repository.

" + }, + "SourceCredentialsInfos":{ + "type":"list", + "member":{"shape":"SourceCredentialsInfo"} + }, + "SourceType":{ + "type":"string", + "enum":[ + "CODECOMMIT", + "CODEPIPELINE", + "GITHUB", + "S3", + "BITBUCKET", + "GITHUB_ENTERPRISE", + "NO_SOURCE" + ] + }, + "StartBuildInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the AWS CodeBuild build project to start running a build.

" + }, + "secondarySourcesOverride":{ + "shape":"ProjectSources", + "documentation":"

An array of ProjectSource objects.

" + }, + "secondarySourcesVersionOverride":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects that specify one or more versions of the project's secondary sources to be used for this build only.

" + }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built, for this build only. If not specified, the latest version is used. If specified, must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the project level, then this sourceVersion (at the build level) takes precedence.

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "artifactsOverride":{ + "shape":"ProjectArtifacts", + "documentation":"

Build output artifact settings that override, for this build only, the latest ones already defined in the build project.

" + }, + "secondaryArtifactsOverride":{ + "shape":"ProjectArtifactsList", + "documentation":"

An array of ProjectArtifacts objects.

" + }, + "environmentVariablesOverride":{ + "shape":"EnvironmentVariables", + "documentation":"

A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.

" + }, + "sourceTypeOverride":{ + "shape":"SourceType", + "documentation":"

A source input type, for this build, that overrides the source input defined in the build project.

" + }, + "sourceLocationOverride":{ + "shape":"String", + "documentation":"

A location that overrides, for this build, the source location for the one defined in the build project.

" + }, + "sourceAuthOverride":{ + "shape":"SourceAuth", + "documentation":"

An authorization type for this build that overrides the one defined in the build project. This override applies only if the build project's source is BitBucket or GitHub.

" + }, + "gitCloneDepthOverride":{ + "shape":"GitCloneDepth", + "documentation":"

The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.

" + }, + "gitSubmodulesConfigOverride":{ + "shape":"GitSubmodulesConfig", + "documentation":"

Information about the Git submodules configuration for this build of an AWS CodeBuild build project.

" + }, + "buildspecOverride":{ + "shape":"String", + "documentation":"

A buildspec file declaration that overrides, for this build only, the latest one already defined in the build project.

If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

" + }, + "insecureSslOverride":{ + "shape":"WrapperBoolean", + "documentation":"

Enable this flag to override the insecure SSL setting that is specified in the build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build's source is GitHub Enterprise.

" + }, + "reportBuildStatusOverride":{ + "shape":"WrapperBoolean", + "documentation":"

Set to true to report to your source provider the status of a build's start and completion. If you use this option with a source provider other than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.

The status of a build triggered by a webhook is always reported to your source provider.

" + }, + "environmentTypeOverride":{ + "shape":"EnvironmentType", + "documentation":"

A container type for this build that overrides the one specified in the build project.

" + }, + "imageOverride":{ + "shape":"NonEmptyString", + "documentation":"

The name of an image for this build that overrides the one specified in the build project.

" + }, + "computeTypeOverride":{ + "shape":"ComputeType", + "documentation":"

The name of a compute type for this build that overrides the one specified in the build project.

" + }, + "certificateOverride":{ + "shape":"String", + "documentation":"

The name of a certificate for this build that overrides the one specified in the build project.

" + }, + "cacheOverride":{ + "shape":"ProjectCache", + "documentation":"

A ProjectCache object specified for this build that overrides the one defined in the build project.

" + }, + "serviceRoleOverride":{ + "shape":"NonEmptyString", + "documentation":"

The name of a service role for this build that overrides the one specified in the build project.

" + }, + "privilegedModeOverride":{ + "shape":"WrapperBoolean", + "documentation":"

Enable this flag to override privileged mode in the build project.

" + }, + "timeoutInMinutesOverride":{ + "shape":"TimeOut", + "documentation":"

The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this build only, the latest setting already defined in the build project.

" + }, + "queuedTimeoutInMinutesOverride":{ + "shape":"TimeOut", + "documentation":"

The number of minutes a build is allowed to be queued before it times out.

" + }, + "encryptionKeyOverride":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build project. The CMK key encrypts the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + }, + "idempotencyToken":{ + "shape":"String", + "documentation":"

A unique, case sensitive identifier you provide to ensure the idempotency of the StartBuild request. The token is included in the StartBuild request and is valid for 12 hours. If you repeat the StartBuild request with the same token, but change a parameter, AWS CodeBuild returns a parameter mismatch error.

" + }, + "logsConfigOverride":{ + "shape":"LogsConfig", + "documentation":"

Log settings for this build that override the log settings defined in the build project.

" + }, + "registryCredentialOverride":{ + "shape":"RegistryCredential", + "documentation":"

The credentials for access to a private registry.

" + }, + "imagePullCredentialsTypeOverride":{ + "shape":"ImagePullCredentialsType", + "documentation":"

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

  • CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal.

  • SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role.

When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" + } + } + }, + "StartBuildOutput":{ + "type":"structure", + "members":{ + "build":{ + "shape":"Build", + "documentation":"

Information about the build to be run.

" + } + } + }, + "StatusType":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "FAILED", + "FAULT", + "TIMED_OUT", + "IN_PROGRESS", + "STOPPED" + ] + }, + "StopBuildInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the build.

" + } + } + }, + "StopBuildOutput":{ + "type":"structure", + "members":{ + "build":{ + "shape":"Build", + "documentation":"

Information about the build.

" + } + } + }, + "String":{"type":"string"}, + "Subnets":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":16 + }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"KeyInput", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"ValueInput", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A tag, consisting of a key and a value.

This tag is available for use by AWS services that support tags in AWS CodeBuild.

" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TestCase":{ + "type":"structure", + "members":{ + "reportArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report to which the test case belongs.

" + }, + "testRawDataPath":{ + "shape":"String", + "documentation":"

The path to the raw data file that contains the test result.

" + }, + "prefix":{ + "shape":"String", + "documentation":"

A string that is applied to a series of related test cases. CodeBuild generates the prefix. The prefix depends on the framework used to generate the tests.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the test case.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status returned by the test case after it was run. Valid statuses are SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN.

" + }, + "durationInNanoSeconds":{ + "shape":"WrapperLong", + "documentation":"

The number of nanoseconds it took to run this test case.

" + }, + "message":{ + "shape":"String", + "documentation":"

A message associated with a test case. For example, an error message or stack trace.

" + }, + "expired":{ + "shape":"Timestamp", + "documentation":"

The date and time a test case expires. A test case expires 30 days after it is created. An expired test case is not available to view in CodeBuild.

" + } + }, + "documentation":"

Information about a test case created using a framework such as NUnit or Cucumber. A test case might be a unit test or a configuration test.

" + }, + "TestCaseFilter":{ + "type":"structure", + "members":{ + "status":{ + "shape":"String", + "documentation":"

The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status.

" + } + }, + "documentation":"

A filter used to return specific types of test cases.

" + }, + "TestCases":{ + "type":"list", + "member":{"shape":"TestCase"} + }, + "TestReportSummary":{ + "type":"structure", + "required":[ + "total", + "statusCounts", + "durationInNanoSeconds" + ], + "members":{ + "total":{ + "shape":"WrapperInt", + "documentation":"

The number of test cases in this TestReportSummary. The total includes truncated test cases.

" + }, + "statusCounts":{ + "shape":"ReportStatusCounts", + "documentation":"

A map that contains the number of each type of status returned by the test results in this TestReportSummary.

" + }, + "durationInNanoSeconds":{ + "shape":"WrapperLong", + "documentation":"

The number of nanoseconds it took to run all of the test cases in this report.

" + } + }, + "documentation":"

Information about a test report.

" + }, + "TimeOut":{ + "type":"integer", + "max":480, + "min":5 + }, + "Timestamp":{"type":"timestamp"}, + "UpdateProjectInput":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the build project.

You cannot change a build project's name.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

A new or replacement description of the build project.

" + }, + "source":{ + "shape":"ProjectSource", + "documentation":"

Information to be changed about the build input source code for the build project.

" + }, + "secondarySources":{ + "shape":"ProjectSources", + "documentation":"

An array of ProjectSource objects.

" + }, + "sourceVersion":{ + "shape":"String", + "documentation":"

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

  • For AWS CodeCommit: the commit ID, branch, or Git tag to use.

  • For GitHub: the commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID (for example pr/25). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Bitbucket: the commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.

  • For Amazon Simple Storage Service (Amazon S3): the version ID of the object that represents the build input ZIP file to use.

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

" + }, + "secondarySourceVersions":{ + "shape":"ProjectSecondarySourceVersions", + "documentation":"

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

" + }, + "artifacts":{ + "shape":"ProjectArtifacts", + "documentation":"

Information to be changed about the build output artifacts for the build project.

" + }, + "secondaryArtifacts":{ + "shape":"ProjectArtifactsList", + "documentation":"

An array of ProjectSource objects.

" + }, + "cache":{ + "shape":"ProjectCache", + "documentation":"

Stores recently used information so that it can be quickly accessed at a later time.

" + }, + "environment":{ + "shape":"ProjectEnvironment", + "documentation":"

Information to be changed about the build environment for the build project.

" + }, + "serviceRole":{ + "shape":"NonEmptyString", + "documentation":"

The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" + }, + "timeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait before timing out any related build that did not get marked as completed.

" + }, + "queuedTimeoutInMinutes":{ + "shape":"TimeOut", + "documentation":"

The number of minutes a build is allowed to be queued before it times out.

" + }, + "encryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

An updated list of tag key and value pairs associated with this build project.

These tags are available for use by AWS services that support AWS CodeBuild build project tags.

" + }, + "vpcConfig":{ + "shape":"VpcConfig", + "documentation":"

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" + }, + "badgeEnabled":{ + "shape":"WrapperBoolean", + "documentation":"

Set this to true to generate a publicly accessible URL for your project's build badge.

" + }, + "logsConfig":{ + "shape":"LogsConfig", + "documentation":"

Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, logs in an S3 bucket, or both.

" + }, + "fileSystemLocations":{ + "shape":"ProjectFileSystemLocations", + "documentation":"

An array of ProjectFileSystemLocation objects for a CodeBuild build project. A ProjectFileSystemLocation object specifies the identifier, location, mountOptions, mountPoint, and type of a file system created using Amazon Elastic File System.

" + } + } + }, + "UpdateProjectOutput":{ + "type":"structure", + "members":{ + "project":{ + "shape":"Project", + "documentation":"

Information about the build project that was changed.

" + } + } + }, + "UpdateReportGroupInput":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the report group to update.

" + }, + "exportConfig":{ + "shape":"ReportExportConfig", + "documentation":"

Used to specify an updated export type. Valid values are:

  • S3: The report results are exported to an S3 bucket.

  • NO_EXPORT: The report results are not exported.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

An updated list of tag key and value pairs associated with this report group.

These tags are available for use by AWS services that support AWS CodeBuild report group tags.

" + } + } + }, + "UpdateReportGroupOutput":{ + "type":"structure", + "members":{ + "reportGroup":{ + "shape":"ReportGroup", + "documentation":"

Information about the updated report group.

" + } + } + }, + "UpdateWebhookInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the AWS CodeBuild project.

" + }, + "branchFilter":{ + "shape":"String", + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" + }, + "rotateSecret":{ + "shape":"Boolean", + "documentation":"

A boolean value that specifies whether the associated GitHub repository's secret token should be updated. If you use Bitbucket for your repository, rotateSecret is ignored.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine if a webhook event can trigger a build. A filter group must contain at least one EVENT WebhookFilter.

" + } + } + }, + "UpdateWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{ + "shape":"Webhook", + "documentation":"

Information about a repository's webhook that is associated with a project in AWS CodeBuild.

" + } + } + }, + "ValueInput":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=@+\\-]*)$" + }, + "VpcConfig":{ + "type":"structure", + "members":{ + "vpcId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the Amazon VPC.

" + }, + "subnets":{ + "shape":"Subnets", + "documentation":"

A list of one or more subnet IDs in your Amazon VPC.

" + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

A list of one or more security groups IDs in your Amazon VPC.

" + } + }, + "documentation":"

Information about the VPC configuration that AWS CodeBuild accesses.

" + }, + "Webhook":{ + "type":"structure", + "members":{ + "url":{ + "shape":"NonEmptyString", + "documentation":"

The URL to the webhook.

" + }, + "payloadUrl":{ + "shape":"NonEmptyString", + "documentation":"

The AWS CodeBuild endpoint where webhook events are sent.

" + }, + "secret":{ + "shape":"NonEmptyString", + "documentation":"

The secret token of the associated repository.

A Bitbucket webhook does not support secret.

" + }, + "branchFilter":{ + "shape":"String", + "documentation":"

A regular expression used to determine which repository branches are built when a webhook is triggered. If the name of a branch matches the regular expression, then it is built. If branchFilter is empty, then all branches are built.

It is recommended that you use filterGroups instead of branchFilter.

" + }, + "filterGroups":{ + "shape":"FilterGroups", + "documentation":"

An array of arrays of WebhookFilter objects used to determine which webhooks are triggered. At least one WebhookFilter in the array must specify EVENT as its type.

For a build to be triggered, at least one filter group in the filterGroups array must pass. For a filter group to pass, each of its filters must pass.

" + }, + "lastModifiedSecret":{ + "shape":"Timestamp", + "documentation":"

A timestamp that indicates the last time a repository's secret token was modified.

" + } + }, + "documentation":"

Information about a webhook that connects repository events to a build project in AWS CodeBuild.

" + }, + "WebhookFilter":{ + "type":"structure", + "required":[ + "type", + "pattern" + ], + "members":{ + "type":{ + "shape":"WebhookFilterType", + "documentation":"

The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID, HEAD_REF, BASE_REF, and FILE_PATH.

EVENT

A webhook event triggers a build when the provided pattern matches one of five event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED, and PULL_REQUEST_MERGED. The EVENT patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters all push, pull request created, and pull request updated events.

The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only.

ACTOR_ACCOUNT_ID

A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern.

HEAD_REF

A webhook event triggers a build when the head reference matches the regular expression pattern. For example, refs/heads/branch-name and refs/tags/tag-name.

Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.

BASE_REF

A webhook event triggers a build when the base reference matches the regular expression pattern. For example, refs/heads/branch-name.

Works with pull request events only.

FILE_PATH

A webhook triggers a build when the path of a changed file matches the regular expression pattern.

Works with GitHub and GitHub Enterprise push events only.

" + }, + "pattern":{ + "shape":"String", + "documentation":"

For a WebHookFilter that uses EVENT type, a comma-separated string that specifies one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED allows all push, pull request created, and pull request updated events to trigger a build.

For a WebHookFilter that uses any of the other filter types, a regular expression pattern. For example, a WebHookFilter that uses HEAD_REF for its type and the pattern ^refs/heads/ triggers a build when the head reference is a branch with a reference name refs/heads/branch-name.

" + }, + "excludeMatchedPattern":{ + "shape":"WrapperBoolean", + "documentation":"

Used to indicate that the pattern determines which webhook events do not trigger a build. If true, then a webhook event that does not match the pattern triggers a build. If false, then a webhook event that matches the pattern triggers a build.

" + } + }, + "documentation":"

A filter used to determine which webhooks trigger a build.

" + }, + "WebhookFilterType":{ + "type":"string", + "enum":[ + "EVENT", + "BASE_REF", + "HEAD_REF", + "ACTOR_ACCOUNT_ID", + "FILE_PATH", + "COMMIT_MESSAGE" + ] + }, + "WrapperBoolean":{"type":"boolean"}, + "WrapperInt":{"type":"integer"}, + "WrapperLong":{"type":"long"} + }, + "documentation":"AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests. You pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

  • BatchDeleteBuilds: Deletes one or more builds.

  • BatchGetBuilds: Gets information about one or more builds.

  • BatchGetProjects: Gets information about one or more build projects. A build project defines how AWS CodeBuild runs a build. This includes information such as where to get the source code to build, the build environment to use, the build commands to run, and where to store the build output. A build environment is a representation of operating system, programming language runtime, and tools that AWS CodeBuild uses to run a build. You can add tags to build projects to help manage your resources and costs.

  • BatchGetReportGroups: Returns an array of report groups.

  • BatchGetReports: Returns an array of reports.

  • CreateProject: Creates a build project.

  • CreateReportGroup: Creates a report group. A report group contains a collection of reports.

  • CreateWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

  • DeleteProject: Deletes a build project.

  • DeleteReport: Deletes a report.

  • DeleteReportGroup: Deletes a report group.

  • DeleteResourcePolicy: Deletes a resource policy that is identified by its resource ARN.

  • DeleteSourceCredentials: Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.

  • DeleteWebhook: For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository.

  • DescribeTestCases: Returns a list of details about test cases for a report.

  • GetResourcePolicy: Gets a resource policy that is identified by its resource ARN.

  • ImportSourceCredentials: Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

  • InvalidateProjectCache: Resets the cache for a project.

  • ListBuilds: Gets a list of build IDs, with each build ID representing a single build.

  • ListBuildsForProject: Gets a list of build IDs for the specified build project, with each build ID representing a single build.

  • ListCuratedEnvironmentImages: Gets information about Docker images that are managed by AWS CodeBuild.

  • ListProjects: Gets a list of build project names, with each build project name representing a single build project.

  • ListReportGroups: Gets a list ARNs for the report groups in the current AWS account.

  • ListReports: Gets a list ARNs for the reports in the current AWS account.

  • ListReportsForReportGroup: Returns a list of ARNs for the reports that belong to a ReportGroup.

  • ListSharedProjects: Gets a list of ARNs associated with projects shared with the current AWS account or user.

  • ListSharedReportGroups: Gets a list of ARNs associated with report groups shared with the current AWS account or user

  • ListSourceCredentials: Returns a list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object includes the authentication type, token ARN, and type of source provider for one set of credentials.

  • PutResourcePolicy: Stores a resource policy for the ARN of a Project or ReportGroup object.

  • StartBuild: Starts running a build.

  • StopBuild: Attempts to stop running a build.

  • UpdateProject: Changes the settings of an existing build project.

  • UpdateReportGroup: Changes a report group.

  • UpdateWebhook: Changes the settings of an existing webhook.

" +} diff -Nru python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/examples-1.json python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/examples-1.json --- python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/paginators-1.json --- python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,14 +1,44 @@ { - "pagination": { - "ListBranches": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "branches" - }, - "ListRepositories": { - "input_token": "nextToken", - "output_token": "nextToken", - "result_key": "repositories" - } + "pagination": { + "ListBranches": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "branches" + }, + "ListRepositories": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "repositories" + }, + "GetCommentsForComparedCommit": { + "result_key": "commentsForComparedCommitData", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "DescribePullRequestEvents": { + "result_key": "pullRequestEvents", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetCommentsForPullRequest": { + "result_key": "commentsForPullRequestData", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListPullRequests": { + "result_key": "pullRequestIds", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetDifferences": { + "result_key": "differences", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" } -} \ No newline at end of file + } +} diff -Nru python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/service-2.json python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/service-2.json --- python-botocore-1.4.70/botocore/data/codecommit/2015-04-13/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codecommit/2015-04-13/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,10 +7,134 @@ "protocol":"json", "serviceAbbreviation":"CodeCommit", "serviceFullName":"AWS CodeCommit", + "serviceId":"CodeCommit", "signatureVersion":"v4", - "targetPrefix":"CodeCommit_20150413" + "targetPrefix":"CodeCommit_20150413", + "uid":"codecommit-2015-04-13" }, "operations":{ + "AssociateApprovalRuleTemplateWithRepository":{ + "name":"AssociateApprovalRuleTemplateWithRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateApprovalRuleTemplateWithRepositoryInput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"MaximumRuleTemplatesAssociatedWithRepositoryException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Creates an association between an approval rule template and a specified repository. Then, the next time a pull request is created in the repository where the destination reference (if specified) matches the destination reference (branch) for the pull request, an approval rule that matches the template conditions is automatically created for that pull request. If no destination references are specified in the template, an approval rule that matches the template contents is created for all pull requests in that repository.

" + }, + "BatchAssociateApprovalRuleTemplateWithRepositories":{ + "name":"BatchAssociateApprovalRuleTemplateWithRepositories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchAssociateApprovalRuleTemplateWithRepositoriesInput"}, + "output":{"shape":"BatchAssociateApprovalRuleTemplateWithRepositoriesOutput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"RepositoryNamesRequiredException"}, + {"shape":"MaximumRepositoryNamesExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Creates an association between an approval rule template and one or more specified repositories.

" + }, + "BatchDescribeMergeConflicts":{ + "name":"BatchDescribeMergeConflicts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDescribeMergeConflictsInput"}, + "output":{"shape":"BatchDescribeMergeConflictsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidMaxConflictFilesException"}, + {"shape":"InvalidMaxMergeHunksException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy.

" + }, + "BatchDisassociateApprovalRuleTemplateFromRepositories":{ + "name":"BatchDisassociateApprovalRuleTemplateFromRepositories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDisassociateApprovalRuleTemplateFromRepositoriesInput"}, + "output":{"shape":"BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"RepositoryNamesRequiredException"}, + {"shape":"MaximumRepositoryNamesExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Removes the association between an approval rule template and one or more specified repositories.

" + }, + "BatchGetCommits":{ + "name":"BatchGetCommits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetCommitsInput"}, + "output":{"shape":"BatchGetCommitsOutput"}, + "errors":[ + {"shape":"CommitIdsListRequiredException"}, + {"shape":"CommitIdsLimitExceededException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about the contents of one or more commits in a repository.

" + }, "BatchGetRepositories":{ "name":"BatchGetRepositories", "http":{ @@ -29,7 +153,26 @@ {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Returns information about one or more repositories.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" + "documentation":"

Returns information about one or more repositories.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

" + }, + "CreateApprovalRuleTemplate":{ + "name":"CreateApprovalRuleTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateApprovalRuleTemplateInput"}, + "output":{"shape":"CreateApprovalRuleTemplateOutput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateNameAlreadyExistsException"}, + {"shape":"ApprovalRuleTemplateContentRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateContentException"}, + {"shape":"InvalidApprovalRuleTemplateDescriptionException"}, + {"shape":"NumberOfRuleTemplatesExceededException"} + ], + "documentation":"

Creates a template for approval rules that can then be associated with one or more repositories in your AWS account. When you associate a template with a repository, AWS CodeCommit creates an approval rule that matches the conditions of the template for all pull requests that meet the conditions of the template. For more information, see AssociateApprovalRuleTemplateWithRepository.

" }, "CreateBranch":{ "name":"CreateBranch", @@ -54,840 +197,6546 @@ {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Creates a new branch in a repository and points the branch to a commit.

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

" + "documentation":"

Creates a branch in a repository and points the branch to a commit.

Calling the create branch operation does not set a repository's default branch. To do this, call the update default branch operation.

" }, - "CreateRepository":{ - "name":"CreateRepository", + "CreateCommit":{ + "name":"CreateCommit", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"CreateRepositoryInput"}, - "output":{"shape":"CreateRepositoryOutput"}, + "input":{"shape":"CreateCommitInput"}, + "output":{"shape":"CreateCommitOutput"}, "errors":[ - {"shape":"RepositoryNameExistsException"}, {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"InvalidRepositoryDescriptionException"}, - {"shape":"RepositoryLimitExceededException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"ParentCommitIdRequiredException"}, + {"shape":"InvalidParentCommitIdException"}, + {"shape":"ParentCommitDoesNotExistException"}, + {"shape":"ParentCommitIdOutdatedException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"FileEntryRequiredException"}, + {"shape":"MaximumFileEntriesExceededException"}, + {"shape":"PutFileEntryConflictException"}, + {"shape":"SourceFileOrContentRequiredException"}, + {"shape":"FileContentAndSourceFileSpecifiedException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"SamePathRequestException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"InvalidDeletionParameterException"}, + {"shape":"RestrictedSourceFileException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"NoChangeException"}, + {"shape":"FileNameConflictsWithDirectoryNameException"}, + {"shape":"DirectoryNameConflictsWithFileNameException"}, + {"shape":"FilePathConflictsWithSubmodulePathException"} ], - "documentation":"

Creates a new, empty repository.

" + "documentation":"

Creates a commit for a repository on the tip of a specified branch.

" }, - "DeleteRepository":{ - "name":"DeleteRepository", + "CreatePullRequest":{ + "name":"CreatePullRequest", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DeleteRepositoryInput"}, - "output":{"shape":"DeleteRepositoryOutput"}, + "input":{"shape":"CreatePullRequestInput"}, + "output":{"shape":"CreatePullRequestOutput"}, "errors":[ {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"ReferenceNameRequiredException"}, + {"shape":"InvalidReferenceNameException"}, + {"shape":"ReferenceDoesNotExistException"}, + {"shape":"ReferenceTypeNotSupportedException"}, + {"shape":"TitleRequiredException"}, + {"shape":"InvalidTitleException"}, + {"shape":"InvalidDescriptionException"}, + {"shape":"TargetsRequiredException"}, + {"shape":"InvalidTargetsException"}, + {"shape":"TargetRequiredException"}, + {"shape":"InvalidTargetException"}, + {"shape":"MultipleRepositoriesInPullRequestException"}, + {"shape":"MaximumOpenPullRequestsExceededException"}, + {"shape":"SourceAndDestinationAreSameException"} + ], + "documentation":"

Creates a pull request in the specified repository.

" + }, + "CreatePullRequestApprovalRule":{ + "name":"CreatePullRequestApprovalRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePullRequestApprovalRuleInput"}, + "output":{"shape":"CreatePullRequestApprovalRuleOutput"}, + "errors":[ + {"shape":"ApprovalRuleNameRequiredException"}, + {"shape":"InvalidApprovalRuleNameException"}, + {"shape":"ApprovalRuleNameAlreadyExistsException"}, + {"shape":"ApprovalRuleContentRequiredException"}, + {"shape":"InvalidApprovalRuleContentException"}, + {"shape":"NumberOfRulesExceededException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"PullRequestAlreadyClosedException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Deletes a repository. If a specified repository was already deleted, a null repository ID will be returned.

Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository will fail." + "documentation":"

Creates an approval rule for a pull request.

" }, - "GetBranch":{ - "name":"GetBranch", + "CreateRepository":{ + "name":"CreateRepository", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetBranchInput"}, - "output":{"shape":"GetBranchOutput"}, + "input":{"shape":"CreateRepositoryInput"}, + "output":{"shape":"CreateRepositoryOutput"}, "errors":[ + {"shape":"RepositoryNameExistsException"}, {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"BranchDoesNotExistException"}, + {"shape":"InvalidRepositoryDescriptionException"}, + {"shape":"RepositoryLimitExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"} + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"InvalidTagsMapException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} ], - "documentation":"

Returns information about a repository branch, including its name and the last commit ID.

" + "documentation":"

Creates a new, empty repository.

" }, - "GetCommit":{ - "name":"GetCommit", + "CreateUnreferencedMergeCommit":{ + "name":"CreateUnreferencedMergeCommit", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetCommitInput"}, - "output":{"shape":"GetCommitOutput"}, + "input":{"shape":"CreateUnreferencedMergeCommitInput"}, + "output":{"shape":"CreateUnreferencedMergeCommitOutput"}, "errors":[ {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, {"shape":"RepositoryDoesNotExistException"}, - {"shape":"CommitIdRequiredException"}, - {"shape":"InvalidCommitIdException"}, - {"shape":"CommitIdDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Returns information about a commit, including commit message and committer information.

" + "documentation":"

Creates an unreferenced commit that represents the result of merging two branches using a specified merge strategy. This can help you determine the outcome of a potential merge. This API cannot be used with the fast-forward merge strategy because that strategy does not create a merge commit.

This unreferenced merge commit can only be accessed using the GetCommit API or through git commands such as git fetch. To retrieve this commit, you must specify its commit ID or otherwise reference it.

" }, - "GetRepository":{ - "name":"GetRepository", + "DeleteApprovalRuleTemplate":{ + "name":"DeleteApprovalRuleTemplate", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetRepositoryInput"}, - "output":{"shape":"GetRepositoryOutput"}, + "input":{"shape":"DeleteApprovalRuleTemplateInput"}, + "output":{"shape":"DeleteApprovalRuleTemplateOutput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateInUseException"} + ], + "documentation":"

Deletes a specified approval rule template. Deleting a template does not remove approval rules on pull requests already created with the template.

" + }, + "DeleteBranch":{ + "name":"DeleteBranch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBranchInput"}, + "output":{"shape":"DeleteBranchOutput"}, "errors":[ {"shape":"RepositoryNameRequiredException"}, {"shape":"RepositoryDoesNotExistException"}, {"shape":"InvalidRepositoryNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"DefaultBranchCannotBeDeletedException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Returns information about a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" + "documentation":"

Deletes a branch from a repository, unless that branch is the default branch for the repository.

" }, - "GetRepositoryTriggers":{ - "name":"GetRepositoryTriggers", + "DeleteCommentContent":{ + "name":"DeleteCommentContent", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetRepositoryTriggersInput"}, - "output":{"shape":"GetRepositoryTriggersOutput"}, + "input":{"shape":"DeleteCommentContentInput"}, + "output":{"shape":"DeleteCommentContentOutput"}, + "errors":[ + {"shape":"CommentDoesNotExistException"}, + {"shape":"CommentIdRequiredException"}, + {"shape":"InvalidCommentIdException"}, + {"shape":"CommentDeletedException"} + ], + "documentation":"

Deletes the content of a comment made on a change, file, or commit in a repository.

" + }, + "DeleteFile":{ + "name":"DeleteFile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFileInput"}, + "output":{"shape":"DeleteFileOutput"}, "errors":[ {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, {"shape":"RepositoryDoesNotExistException"}, + {"shape":"ParentCommitIdRequiredException"}, + {"shape":"InvalidParentCommitIdException"}, + {"shape":"ParentCommitDoesNotExistException"}, + {"shape":"ParentCommitIdOutdatedException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Gets information about triggers configured for a repository.

" + "documentation":"

Deletes a specified file from a specified branch. A commit is created on the branch that contains the revision. The file still exists in the commits earlier to the commit that contains the deletion.

" }, - "ListBranches":{ - "name":"ListBranches", + "DeletePullRequestApprovalRule":{ + "name":"DeletePullRequestApprovalRule", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListBranchesInput"}, - "output":{"shape":"ListBranchesOutput"}, + "input":{"shape":"DeletePullRequestApprovalRuleInput"}, + "output":{"shape":"DeletePullRequestApprovalRuleOutput"}, "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"ApprovalRuleNameRequiredException"}, + {"shape":"InvalidApprovalRuleNameException"}, + {"shape":"CannotDeleteApprovalRuleFromTemplateException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, - {"shape":"EncryptionKeyUnavailableException"}, - {"shape":"InvalidContinuationTokenException"} + {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Gets information about one or more branches in a repository.

" + "documentation":"

Deletes an approval rule from a specified pull request. Approval rules can be deleted from a pull request only if the pull request is open, and if the approval rule was created specifically for a pull request and not generated from an approval rule template associated with the repository where the pull request was created. You cannot delete an approval rule from a merged or closed pull request.

" }, - "ListRepositories":{ - "name":"ListRepositories", + "DeleteRepository":{ + "name":"DeleteRepository", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListRepositoriesInput"}, - "output":{"shape":"ListRepositoriesOutput"}, + "input":{"shape":"DeleteRepositoryInput"}, + "output":{"shape":"DeleteRepositoryOutput"}, "errors":[ - {"shape":"InvalidSortByException"}, - {"shape":"InvalidOrderException"}, - {"shape":"InvalidContinuationTokenException"} + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Gets information about one or more repositories.

" + "documentation":"

Deletes a repository. If a specified repository was already deleted, a null repository ID is returned.

Deleting a repository also deletes all associated objects and metadata. After a repository is deleted, all future push calls to the deleted repository fail.

" }, - "PutRepositoryTriggers":{ - "name":"PutRepositoryTriggers", + "DescribeMergeConflicts":{ + "name":"DescribeMergeConflicts", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PutRepositoryTriggersInput"}, - "output":{"shape":"PutRepositoryTriggersOutput"}, + "input":{"shape":"DescribeMergeConflictsInput"}, + "output":{"shape":"DescribeMergeConflictsOutput"}, "errors":[ - {"shape":"RepositoryDoesNotExistException"}, {"shape":"RepositoryNameRequiredException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryTriggersListRequiredException"}, - {"shape":"MaximumRepositoryTriggersExceededException"}, - {"shape":"InvalidRepositoryTriggerNameException"}, - {"shape":"InvalidRepositoryTriggerDestinationArnException"}, - {"shape":"InvalidRepositoryTriggerRegionException"}, - {"shape":"InvalidRepositoryTriggerCustomDataException"}, - {"shape":"MaximumBranchesExceededException"}, - {"shape":"InvalidRepositoryTriggerBranchNameException"}, - {"shape":"InvalidRepositoryTriggerEventsException"}, - {"shape":"RepositoryTriggerNameRequiredException"}, - {"shape":"RepositoryTriggerDestinationArnRequiredException"}, - {"shape":"RepositoryTriggerBranchNameListRequiredException"}, - {"shape":"RepositoryTriggerEventsListRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"InvalidMaxMergeHunksException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Replaces all triggers for a repository. This can be used to create or delete triggers.

" + "documentation":"

Returns information about one or more merge conflicts in the attempted merge of two commit specifiers using the squash or three-way merge strategy. If the merge option for the attempted merge is specified as FAST_FORWARD_MERGE, an exception is thrown.

" }, - "TestRepositoryTriggers":{ - "name":"TestRepositoryTriggers", + "DescribePullRequestEvents":{ + "name":"DescribePullRequestEvents", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"TestRepositoryTriggersInput"}, - "output":{"shape":"TestRepositoryTriggersOutput"}, + "input":{"shape":"DescribePullRequestEventsInput"}, + "output":{"shape":"DescribePullRequestEventsOutput"}, "errors":[ - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"RepositoryTriggersListRequiredException"}, - {"shape":"MaximumRepositoryTriggersExceededException"}, - {"shape":"InvalidRepositoryTriggerNameException"}, - {"shape":"InvalidRepositoryTriggerDestinationArnException"}, - {"shape":"InvalidRepositoryTriggerRegionException"}, - {"shape":"InvalidRepositoryTriggerCustomDataException"}, - {"shape":"MaximumBranchesExceededException"}, - {"shape":"InvalidRepositoryTriggerBranchNameException"}, - {"shape":"InvalidRepositoryTriggerEventsException"}, - {"shape":"RepositoryTriggerNameRequiredException"}, - {"shape":"RepositoryTriggerDestinationArnRequiredException"}, - {"shape":"RepositoryTriggerBranchNameListRequiredException"}, - {"shape":"RepositoryTriggerEventsListRequiredException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestEventTypeException"}, + {"shape":"InvalidActorArnException"}, + {"shape":"ActorDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test will send data from the last commit. If no data is available, sample data will be generated.

" + "documentation":"

Returns information about one or more pull request events.

" }, - "UpdateDefaultBranch":{ - "name":"UpdateDefaultBranch", + "DisassociateApprovalRuleTemplateFromRepository":{ + "name":"DisassociateApprovalRuleTemplateFromRepository", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateDefaultBranchInput"}, + "input":{"shape":"DisassociateApprovalRuleTemplateFromRepositoryInput"}, "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, {"shape":"InvalidRepositoryNameException"}, - {"shape":"BranchNameRequiredException"}, - {"shape":"InvalidBranchNameException"}, - {"shape":"BranchDoesNotExistException"}, + {"shape":"RepositoryDoesNotExistException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Sets or changes the default branch name for the specified repository.

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

" + "documentation":"

Removes the association between a template and a repository so that approval rules based on the template are not automatically created when pull requests are created in the specified repository. This does not delete any approval rules previously created for pull requests through the template association.

" }, - "UpdateRepositoryDescription":{ - "name":"UpdateRepositoryDescription", + "EvaluatePullRequestApprovalRules":{ + "name":"EvaluatePullRequestApprovalRules", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateRepositoryDescriptionInput"}, + "input":{"shape":"EvaluatePullRequestApprovalRulesInput"}, + "output":{"shape":"EvaluatePullRequestApprovalRulesOutput"}, "errors":[ - {"shape":"RepositoryNameRequiredException"}, - {"shape":"RepositoryDoesNotExistException"}, - {"shape":"InvalidRepositoryNameException"}, - {"shape":"InvalidRepositoryDescriptionException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidRevisionIdException"}, + {"shape":"RevisionIdRequiredException"}, + {"shape":"RevisionNotCurrentException"}, {"shape":"EncryptionIntegrityChecksFailedException"}, {"shape":"EncryptionKeyAccessDeniedException"}, {"shape":"EncryptionKeyDisabledException"}, {"shape":"EncryptionKeyNotFoundException"}, {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Sets or changes the comment or description for a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" + "documentation":"

Evaluates whether a pull request has met all the conditions specified in its associated approval rules.

" }, - "UpdateRepositoryName":{ - "name":"UpdateRepositoryName", + "GetApprovalRuleTemplate":{ + "name":"GetApprovalRuleTemplate", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateRepositoryNameInput"}, + "input":{"shape":"GetApprovalRuleTemplateInput"}, + "output":{"shape":"GetApprovalRuleTemplateOutput"}, "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"} + ], + "documentation":"

Returns information about a specified approval rule template.

" + }, + "GetBlob":{ + "name":"GetBlob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetBlobInput"}, + "output":{"shape":"GetBlobOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, {"shape":"RepositoryDoesNotExistException"}, - {"shape":"RepositoryNameExistsException"}, + {"shape":"BlobIdRequiredException"}, + {"shape":"InvalidBlobIdException"}, + {"shape":"BlobIdDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"FileTooLargeException"} + ], + "documentation":"

Returns the base-64 encoded content of an individual blob in a repository.

" + }, + "GetBranch":{ + "name":"GetBranch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetBranchInput"}, + "output":{"shape":"GetBranchOutput"}, + "errors":[ {"shape":"RepositoryNameRequiredException"}, - {"shape":"InvalidRepositoryNameException"} + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} ], - "documentation":"

Renames a repository. The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix \".git\" is prohibited. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide.

" - } - }, - "shapes":{ - "AccountId":{"type":"string"}, - "AdditionalData":{"type":"string"}, - "Arn":{"type":"string"}, - "BatchGetRepositoriesInput":{ + "documentation":"

Returns information about a repository branch, including its name and the last commit ID.

" + }, + "GetComment":{ + "name":"GetComment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCommentInput"}, + "output":{"shape":"GetCommentOutput"}, + "errors":[ + {"shape":"CommentDoesNotExistException"}, + {"shape":"CommentIdRequiredException"}, + {"shape":"InvalidCommentIdException"}, + {"shape":"CommentDeletedException"} + ], + "documentation":"

Returns the content of a comment made on a change, file, or commit in a repository.

" + }, + "GetCommentsForComparedCommit":{ + "name":"GetCommentsForComparedCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCommentsForComparedCommitInput"}, + "output":{"shape":"GetCommentsForComparedCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about comments made on the comparison between two commits.

" + }, + "GetCommentsForPullRequest":{ + "name":"GetCommentsForPullRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCommentsForPullRequestInput"}, + "output":{"shape":"GetCommentsForPullRequestOutput"}, + "errors":[ + {"shape":"PullRequestIdRequiredException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns comments made on a pull request.

" + }, + "GetCommit":{ + "name":"GetCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCommitInput"}, + "output":{"shape":"GetCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"CommitIdDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about a commit, including commit message and committer information.

" + }, + "GetDifferences":{ + "name":"GetDifferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDifferencesInput"}, + "output":{"shape":"GetDifferencesOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidPathException"}, + {"shape":"PathDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results can be limited to a specified path.

" + }, + "GetFile":{ + "name":"GetFile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFileInput"}, + "output":{"shape":"GetFileOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"FileTooLargeException"} + ], + "documentation":"

Returns the base-64 encoded contents of a specified file and its metadata.

" + }, + "GetFolder":{ + "name":"GetFolder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFolderInput"}, + "output":{"shape":"GetFolderOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FolderDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns the contents of a specified folder in a repository.

" + }, + "GetMergeCommit":{ + "name":"GetMergeCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMergeCommitInput"}, + "output":{"shape":"GetMergeCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about a specified merge commit.

" + }, + "GetMergeConflicts":{ + "name":"GetMergeConflicts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMergeConflictsInput"}, + "output":{"shape":"GetMergeConflictsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"MergeOptionRequiredException"}, + {"shape":"InvalidMergeOptionException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidMaxConflictFilesException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidDestinationCommitSpecifierException"}, + {"shape":"InvalidSourceCommitSpecifierException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about merge conflicts between the before and after commit IDs for a pull request in a repository.

" + }, + "GetMergeOptions":{ + "name":"GetMergeOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMergeOptionsInput"}, + "output":{"shape":"GetMergeOptionsOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"CommitRequiredException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidCommitException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about the merge options available for merging two specified branches. For details about why a merge option is not available, use GetMergeConflicts or DescribeMergeConflicts.

" + }, + "GetPullRequest":{ + "name":"GetPullRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPullRequestInput"}, + "output":{"shape":"GetPullRequestOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Gets information about a pull request in a specified repository.

" + }, + "GetPullRequestApprovalStates":{ + "name":"GetPullRequestApprovalStates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPullRequestApprovalStatesInput"}, + "output":{"shape":"GetPullRequestApprovalStatesOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidRevisionIdException"}, + {"shape":"RevisionIdRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Gets information about the approval states for a specified pull request. Approval states only apply to pull requests that have one or more approval rules applied to them.

" + }, + "GetPullRequestOverrideState":{ + "name":"GetPullRequestOverrideState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPullRequestOverrideStateInput"}, + "output":{"shape":"GetPullRequestOverrideStateOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidRevisionIdException"}, + {"shape":"RevisionIdRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about whether approval rules have been set aside (overridden) for a pull request, and if so, the Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request.

" + }, + "GetRepository":{ + "name":"GetRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositoryInput"}, + "output":{"shape":"GetRepositoryOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns information about a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

" + }, + "GetRepositoryTriggers":{ + "name":"GetRepositoryTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRepositoryTriggersInput"}, + "output":{"shape":"GetRepositoryTriggersOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Gets information about triggers configured for a repository.

" + }, + "ListApprovalRuleTemplates":{ + "name":"ListApprovalRuleTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListApprovalRuleTemplatesInput"}, + "output":{"shape":"ListApprovalRuleTemplatesOutput"}, + "errors":[ + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"} + ], + "documentation":"

Lists all approval rule templates in the specified AWS Region in your AWS account. If an AWS Region is not specified, the AWS Region where you are signed in is used.

" + }, + "ListAssociatedApprovalRuleTemplatesForRepository":{ + "name":"ListAssociatedApprovalRuleTemplatesForRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociatedApprovalRuleTemplatesForRepositoryInput"}, + "output":{"shape":"ListAssociatedApprovalRuleTemplatesForRepositoryOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Lists all approval rule templates that are associated with a specified repository.

" + }, + "ListBranches":{ + "name":"ListBranches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBranchesInput"}, + "output":{"shape":"ListBranchesOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"InvalidContinuationTokenException"} + ], + "documentation":"

Gets information about one or more branches in a repository.

" + }, + "ListPullRequests":{ + "name":"ListPullRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPullRequestsInput"}, + "output":{"shape":"ListPullRequestsOutput"}, + "errors":[ + {"shape":"InvalidPullRequestStatusException"}, + {"shape":"InvalidAuthorArnException"}, + {"shape":"AuthorDoesNotExistException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Returns a list of pull requests for a specified repository. The return list can be refined by pull request status or pull request author ARN.

" + }, + "ListRepositories":{ + "name":"ListRepositories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositoriesInput"}, + "output":{"shape":"ListRepositoriesOutput"}, + "errors":[ + {"shape":"InvalidSortByException"}, + {"shape":"InvalidOrderException"}, + {"shape":"InvalidContinuationTokenException"} + ], + "documentation":"

Gets information about one or more repositories.

" + }, + "ListRepositoriesForApprovalRuleTemplate":{ + "name":"ListRepositoriesForApprovalRuleTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRepositoriesForApprovalRuleTemplateInput"}, + "output":{"shape":"ListRepositoriesForApprovalRuleTemplateOutput"}, + "errors":[ + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"InvalidContinuationTokenException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Lists all repositories associated with the specified approval rule template.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"} + ], + "documentation":"

Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, + "MergeBranchesByFastForward":{ + "name":"MergeBranchesByFastForward", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergeBranchesByFastForwardInput"}, + "output":{"shape":"MergeBranchesByFastForwardOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Merges two branches using the fast-forward merge strategy.

" + }, + "MergeBranchesBySquash":{ + "name":"MergeBranchesBySquash", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergeBranchesBySquashInput"}, + "output":{"shape":"MergeBranchesBySquashOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Merges two branches using the squash merge strategy.

" + }, + "MergeBranchesByThreeWay":{ + "name":"MergeBranchesByThreeWay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergeBranchesByThreeWayInput"}, + "output":{"shape":"MergeBranchesByThreeWayOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"CommitRequiredException"}, + {"shape":"InvalidCommitException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidTargetBranchException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"FileModeRequiredException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Merges two specified branches using the three-way merge strategy.

" + }, + "MergePullRequestByFastForward":{ + "name":"MergePullRequestByFastForward", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestByFastForwardInput"}, + "output":{"shape":"MergePullRequestByFastForwardOutput"}, + "errors":[ + {"shape":"ManualMergeRequiredException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"ReferenceDoesNotExistException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"PullRequestApprovalRulesNotSatisfiedException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the fast-forward merge strategy. If the merge is successful, it closes the pull request.

" + }, + "MergePullRequestBySquash":{ + "name":"MergePullRequestBySquash", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestBySquashInput"}, + "output":{"shape":"MergePullRequestBySquashOutput"}, + "errors":[ + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"PullRequestApprovalRulesNotSatisfiedException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the squash merge strategy. If the merge is successful, it closes the pull request.

" + }, + "MergePullRequestByThreeWay":{ + "name":"MergePullRequestByThreeWay", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MergePullRequestByThreeWayInput"}, + "output":{"shape":"MergePullRequestByThreeWayOutput"}, + "errors":[ + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"ManualMergeRequiredException"}, + {"shape":"TipOfSourceReferenceIsDifferentException"}, + {"shape":"TipsDivergenceExceededException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"InvalidConflictDetailLevelException"}, + {"shape":"InvalidConflictResolutionStrategyException"}, + {"shape":"InvalidConflictResolutionException"}, + {"shape":"ReplacementTypeRequiredException"}, + {"shape":"InvalidReplacementTypeException"}, + {"shape":"MultipleConflictResolutionEntriesException"}, + {"shape":"ReplacementContentRequiredException"}, + {"shape":"MaximumConflictResolutionEntriesExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"InvalidReplacementContentException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"MaximumFileContentToLoadExceededException"}, + {"shape":"MaximumItemsToCompareExceededException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"ConcurrentReferenceUpdateException"}, + {"shape":"PullRequestApprovalRulesNotSatisfiedException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Attempts to merge the source commit of a pull request into the specified destination branch for that pull request at the specified commit using the three-way merge strategy. If the merge is successful, it closes the pull request.

" + }, + "OverridePullRequestApprovalRules":{ + "name":"OverridePullRequestApprovalRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"OverridePullRequestApprovalRulesInput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidRevisionIdException"}, + {"shape":"RevisionIdRequiredException"}, + {"shape":"InvalidOverrideStatusException"}, + {"shape":"OverrideStatusRequiredException"}, + {"shape":"OverrideAlreadySetException"}, + {"shape":"RevisionNotCurrentException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Sets aside (overrides) all approval rule requirements for a specified pull request.

" + }, + "PostCommentForComparedCommit":{ + "name":"PostCommentForComparedCommit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PostCommentForComparedCommitInput"}, + "output":{"shape":"PostCommentForComparedCommitOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"InvalidFileLocationException"}, + {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidFilePositionException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidPathException"}, + {"shape":"PathDoesNotExistException"} + ], + "documentation":"

Posts a comment on the comparison between two commits.

", + "idempotent":true + }, + "PostCommentForPullRequest":{ + "name":"PostCommentForPullRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PostCommentForPullRequestInput"}, + "output":{"shape":"PostCommentForPullRequestOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"RepositoryNotAssociatedWithPullRequestException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"InvalidFileLocationException"}, + {"shape":"InvalidRelativeFileVersionEnumException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidFilePositionException"}, + {"shape":"CommitIdRequiredException"}, + {"shape":"InvalidCommitIdException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"CommitDoesNotExistException"}, + {"shape":"InvalidPathException"}, + {"shape":"PathDoesNotExistException"}, + {"shape":"PathRequiredException"}, + {"shape":"BeforeCommitIdAndAfterCommitIdAreSameException"} + ], + "documentation":"

Posts a comment on a pull request.

", + "idempotent":true + }, + "PostCommentReply":{ + "name":"PostCommentReply", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PostCommentReplyInput"}, + "output":{"shape":"PostCommentReplyOutput"}, + "errors":[ + {"shape":"ClientRequestTokenRequiredException"}, + {"shape":"InvalidClientRequestTokenException"}, + {"shape":"IdempotencyParameterMismatchException"}, + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"CommentDoesNotExistException"}, + {"shape":"CommentIdRequiredException"}, + {"shape":"InvalidCommentIdException"} + ], + "documentation":"

Posts a comment in reply to an existing comment on a comparison between commits or a pull request.

", + "idempotent":true + }, + "PutFile":{ + "name":"PutFile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutFileInput"}, + "output":{"shape":"PutFileOutput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"ParentCommitIdRequiredException"}, + {"shape":"InvalidParentCommitIdException"}, + {"shape":"ParentCommitDoesNotExistException"}, + {"shape":"ParentCommitIdOutdatedException"}, + {"shape":"FileContentRequiredException"}, + {"shape":"FileContentSizeLimitExceededException"}, + {"shape":"FolderContentSizeLimitExceededException"}, + {"shape":"PathRequiredException"}, + {"shape":"InvalidPathException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"BranchNameIsTagNameException"}, + {"shape":"InvalidFileModeException"}, + {"shape":"NameLengthExceededException"}, + {"shape":"InvalidEmailException"}, + {"shape":"CommitMessageLengthExceededException"}, + {"shape":"InvalidDeletionParameterException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"}, + {"shape":"SameFileContentException"}, + {"shape":"FileNameConflictsWithDirectoryNameException"}, + {"shape":"DirectoryNameConflictsWithFileNameException"}, + {"shape":"FilePathConflictsWithSubmodulePathException"} + ], + "documentation":"

Adds or updates a file in a branch in an AWS CodeCommit repository, and generates a commit for the addition in the specified branch.

" + }, + "PutRepositoryTriggers":{ + "name":"PutRepositoryTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRepositoryTriggersInput"}, + "output":{"shape":"PutRepositoryTriggersOutput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryTriggersListRequiredException"}, + {"shape":"MaximumRepositoryTriggersExceededException"}, + {"shape":"InvalidRepositoryTriggerNameException"}, + {"shape":"InvalidRepositoryTriggerDestinationArnException"}, + {"shape":"InvalidRepositoryTriggerRegionException"}, + {"shape":"InvalidRepositoryTriggerCustomDataException"}, + {"shape":"MaximumBranchesExceededException"}, + {"shape":"InvalidRepositoryTriggerBranchNameException"}, + {"shape":"InvalidRepositoryTriggerEventsException"}, + {"shape":"RepositoryTriggerNameRequiredException"}, + {"shape":"RepositoryTriggerDestinationArnRequiredException"}, + {"shape":"RepositoryTriggerBranchNameListRequiredException"}, + {"shape":"RepositoryTriggerEventsListRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Replaces all triggers for a repository. Used to create or delete triggers.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"}, + {"shape":"TagsMapRequiredException"}, + {"shape":"InvalidTagsMapException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Adds or updates tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, + "TestRepositoryTriggers":{ + "name":"TestRepositoryTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestRepositoryTriggersInput"}, + "output":{"shape":"TestRepositoryTriggersOutput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"RepositoryTriggersListRequiredException"}, + {"shape":"MaximumRepositoryTriggersExceededException"}, + {"shape":"InvalidRepositoryTriggerNameException"}, + {"shape":"InvalidRepositoryTriggerDestinationArnException"}, + {"shape":"InvalidRepositoryTriggerRegionException"}, + {"shape":"InvalidRepositoryTriggerCustomDataException"}, + {"shape":"MaximumBranchesExceededException"}, + {"shape":"InvalidRepositoryTriggerBranchNameException"}, + {"shape":"InvalidRepositoryTriggerEventsException"}, + {"shape":"RepositoryTriggerNameRequiredException"}, + {"shape":"RepositoryTriggerDestinationArnRequiredException"}, + {"shape":"RepositoryTriggerBranchNameListRequiredException"}, + {"shape":"RepositoryTriggerEventsListRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test sends data from the last commit. If no data is available, sample data is generated.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"ResourceArnRequiredException"}, + {"shape":"InvalidResourceArnException"}, + {"shape":"TagKeysListRequiredException"}, + {"shape":"InvalidTagKeysListException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidSystemTagUsageException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Removes tags for a resource in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

" + }, + "UpdateApprovalRuleTemplateContent":{ + "name":"UpdateApprovalRuleTemplateContent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApprovalRuleTemplateContentInput"}, + "output":{"shape":"UpdateApprovalRuleTemplateContentOutput"}, + "errors":[ + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"InvalidApprovalRuleTemplateContentException"}, + {"shape":"InvalidRuleContentSha256Exception"}, + {"shape":"ApprovalRuleTemplateContentRequiredException"} + ], + "documentation":"

Updates the content of an approval rule template. You can change the number of required approvals, the membership of the approval rule, and whether an approval pool is defined.

" + }, + "UpdateApprovalRuleTemplateDescription":{ + "name":"UpdateApprovalRuleTemplateDescription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApprovalRuleTemplateDescriptionInput"}, + "output":{"shape":"UpdateApprovalRuleTemplateDescriptionOutput"}, + "errors":[ + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"InvalidApprovalRuleTemplateDescriptionException"} + ], + "documentation":"

Updates the description for a specified approval rule template.

" + }, + "UpdateApprovalRuleTemplateName":{ + "name":"UpdateApprovalRuleTemplateName", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApprovalRuleTemplateNameInput"}, + "output":{"shape":"UpdateApprovalRuleTemplateNameOutput"}, + "errors":[ + {"shape":"InvalidApprovalRuleTemplateNameException"}, + {"shape":"ApprovalRuleTemplateNameRequiredException"}, + {"shape":"ApprovalRuleTemplateDoesNotExistException"}, + {"shape":"ApprovalRuleTemplateNameAlreadyExistsException"} + ], + "documentation":"

Updates the name of a specified approval rule template.

" + }, + "UpdateComment":{ + "name":"UpdateComment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCommentInput"}, + "output":{"shape":"UpdateCommentOutput"}, + "errors":[ + {"shape":"CommentContentRequiredException"}, + {"shape":"CommentContentSizeLimitExceededException"}, + {"shape":"CommentDoesNotExistException"}, + {"shape":"CommentIdRequiredException"}, + {"shape":"InvalidCommentIdException"}, + {"shape":"CommentNotCreatedByCallerException"}, + {"shape":"CommentDeletedException"} + ], + "documentation":"

Replaces the contents of a comment.

" + }, + "UpdateDefaultBranch":{ + "name":"UpdateDefaultBranch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDefaultBranchInput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"BranchNameRequiredException"}, + {"shape":"InvalidBranchNameException"}, + {"shape":"BranchDoesNotExistException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Sets or changes the default branch name for the specified repository.

If you use this operation to change the default branch name to the current default branch name, a success message is returned even though the default branch did not change.

" + }, + "UpdatePullRequestApprovalRuleContent":{ + "name":"UpdatePullRequestApprovalRuleContent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullRequestApprovalRuleContentInput"}, + "output":{"shape":"UpdatePullRequestApprovalRuleContentOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"ApprovalRuleNameRequiredException"}, + {"shape":"InvalidApprovalRuleNameException"}, + {"shape":"ApprovalRuleDoesNotExistException"}, + {"shape":"InvalidRuleContentSha256Exception"}, + {"shape":"ApprovalRuleContentRequiredException"}, + {"shape":"InvalidApprovalRuleContentException"}, + {"shape":"CannotModifyApprovalRuleFromTemplateException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Updates the structure of an approval rule created specifically for a pull request. For example, you can change the number of required approvers and the approval pool for approvers.

" + }, + "UpdatePullRequestApprovalState":{ + "name":"UpdatePullRequestApprovalState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullRequestApprovalStateInput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidRevisionIdException"}, + {"shape":"RevisionIdRequiredException"}, + {"shape":"InvalidApprovalStateException"}, + {"shape":"ApprovalStateRequiredException"}, + {"shape":"PullRequestCannotBeApprovedByAuthorException"}, + {"shape":"RevisionNotCurrentException"}, + {"shape":"PullRequestAlreadyClosedException"}, + {"shape":"MaximumNumberOfApprovalsExceededException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Updates the state of a user's approval on a pull request. The user is derived from the signed-in account when the request is made.

" + }, + "UpdatePullRequestDescription":{ + "name":"UpdatePullRequestDescription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullRequestDescriptionInput"}, + "output":{"shape":"UpdatePullRequestDescriptionOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidDescriptionException"}, + {"shape":"PullRequestAlreadyClosedException"} + ], + "documentation":"

Replaces the contents of the description of a pull request.

" + }, + "UpdatePullRequestStatus":{ + "name":"UpdatePullRequestStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullRequestStatusInput"}, + "output":{"shape":"UpdatePullRequestStatusOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"InvalidPullRequestStatusUpdateException"}, + {"shape":"InvalidPullRequestStatusException"}, + {"shape":"PullRequestStatusRequiredException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Updates the status of a pull request.

" + }, + "UpdatePullRequestTitle":{ + "name":"UpdatePullRequestTitle", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePullRequestTitleInput"}, + "output":{"shape":"UpdatePullRequestTitleOutput"}, + "errors":[ + {"shape":"PullRequestDoesNotExistException"}, + {"shape":"InvalidPullRequestIdException"}, + {"shape":"PullRequestIdRequiredException"}, + {"shape":"TitleRequiredException"}, + {"shape":"InvalidTitleException"}, + {"shape":"PullRequestAlreadyClosedException"} + ], + "documentation":"

Replaces the title of a pull request.

" + }, + "UpdateRepositoryDescription":{ + "name":"UpdateRepositoryDescription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryDescriptionInput"}, + "errors":[ + {"shape":"RepositoryNameRequiredException"}, + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"InvalidRepositoryNameException"}, + {"shape":"InvalidRepositoryDescriptionException"}, + {"shape":"EncryptionIntegrityChecksFailedException"}, + {"shape":"EncryptionKeyAccessDeniedException"}, + {"shape":"EncryptionKeyDisabledException"}, + {"shape":"EncryptionKeyNotFoundException"}, + {"shape":"EncryptionKeyUnavailableException"} + ], + "documentation":"

Sets or changes the comment or description for a repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

" + }, + "UpdateRepositoryName":{ + "name":"UpdateRepositoryName", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRepositoryNameInput"}, + "errors":[ + {"shape":"RepositoryDoesNotExistException"}, + {"shape":"RepositoryNameExistsException"}, + {"shape":"RepositoryNameRequiredException"}, + {"shape":"InvalidRepositoryNameException"} + ], + "documentation":"

Renames a repository. The repository name must be unique across the calling AWS account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. The suffix .git is prohibited. For more information about the limits on repository names, see Limits in the AWS CodeCommit User Guide.

" + } + }, + "shapes":{ + "AccountId":{"type":"string"}, + "ActorDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Amazon Resource Name (ARN) does not exist in the AWS account.

", + "exception":true + }, + "AdditionalData":{"type":"string"}, + "Approval":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user.

" + }, + "approvalState":{ + "shape":"ApprovalState", + "documentation":"

The state of the approval, APPROVE or REVOKE. REVOKE states are not stored.

" + } + }, + "documentation":"

Returns information about a specific approval on a pull request.

" + }, + "ApprovalList":{ + "type":"list", + "member":{"shape":"Approval"} + }, + "ApprovalRule":{ + "type":"structure", + "members":{ + "approvalRuleId":{ + "shape":"ApprovalRuleId", + "documentation":"

The system-generated ID of the approval rule.

" + }, + "approvalRuleName":{ + "shape":"ApprovalRuleName", + "documentation":"

The name of the approval rule.

" + }, + "approvalRuleContent":{ + "shape":"ApprovalRuleContent", + "documentation":"

The content of the approval rule.

" + }, + "ruleContentSha256":{ + "shape":"RuleContentSha256", + "documentation":"

The SHA-256 hash signature for the content of the approval rule.

" + }, + "lastModifiedDate":{ + "shape":"LastModifiedDate", + "documentation":"

The date the approval rule was most recently changed, in timestamp format.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date the approval rule was created, in timestamp format.

" + }, + "lastModifiedUser":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user who made the most recent changes to the approval rule.

" + }, + "originApprovalRuleTemplate":{ + "shape":"OriginApprovalRuleTemplate", + "documentation":"

The approval rule template used to create the rule.

" + } + }, + "documentation":"

Returns information about an approval rule.

" + }, + "ApprovalRuleContent":{ + "type":"string", + "max":3000, + "min":1 + }, + "ApprovalRuleContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The content for the approval rule is empty. You must provide some content for an approval rule. The content cannot be null.

", + "exception":true + }, + "ApprovalRuleDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified approval rule does not exist.

", + "exception":true + }, + "ApprovalRuleEventMetadata":{ + "type":"structure", + "members":{ + "approvalRuleName":{ + "shape":"ApprovalRuleName", + "documentation":"

The name of the approval rule.

" + }, + "approvalRuleId":{ + "shape":"ApprovalRuleId", + "documentation":"

The system-generated ID of the approval rule.

" + }, + "approvalRuleContent":{ + "shape":"ApprovalRuleContent", + "documentation":"

The content of the approval rule.

" + } + }, + "documentation":"

Returns information about an event for an approval rule.

" + }, + "ApprovalRuleId":{"type":"string"}, + "ApprovalRuleName":{ + "type":"string", + "max":100, + "min":1 + }, + "ApprovalRuleNameAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An approval rule with that name already exists. Approval rule names must be unique within the scope of a pull request.

", + "exception":true + }, + "ApprovalRuleNameRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An approval rule name is required, but was not specified.

", + "exception":true + }, + "ApprovalRuleOverriddenEventMetadata":{ + "type":"structure", + "members":{ + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The revision ID of the pull request when the override event occurred.

" + }, + "overrideStatus":{ + "shape":"OverrideStatus", + "documentation":"

The status of the override event.

" + } + }, + "documentation":"

Returns information about an override event for approval rules for a pull request.

" + }, + "ApprovalRuleTemplate":{ + "type":"structure", + "members":{ + "approvalRuleTemplateId":{ + "shape":"ApprovalRuleTemplateId", + "documentation":"

The system-generated ID of the approval rule template.

" + }, + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template.

" + }, + "approvalRuleTemplateDescription":{ + "shape":"ApprovalRuleTemplateDescription", + "documentation":"

The description of the approval rule template.

" + }, + "approvalRuleTemplateContent":{ + "shape":"ApprovalRuleTemplateContent", + "documentation":"

The content of the approval rule template.

" + }, + "ruleContentSha256":{ + "shape":"RuleContentSha256", + "documentation":"

The SHA-256 hash signature for the content of the approval rule template.

" + }, + "lastModifiedDate":{ + "shape":"LastModifiedDate", + "documentation":"

The date the approval rule template was most recently changed, in timestamp format.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date the approval rule template was created, in timestamp format.

" + }, + "lastModifiedUser":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user who made the most recent changes to the approval rule template.

" + } + }, + "documentation":"

Returns information about an approval rule template.

" + }, + "ApprovalRuleTemplateContent":{ + "type":"string", + "max":3000, + "min":1 + }, + "ApprovalRuleTemplateContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The content for the approval rule template is empty. You must provide some content for an approval rule template. The content cannot be null.

", + "exception":true + }, + "ApprovalRuleTemplateDescription":{ + "type":"string", + "max":1000, + "min":0 + }, + "ApprovalRuleTemplateDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified approval rule template does not exist. Verify that the name is correct and that you are signed in to the AWS Region where the template was created, and then try again.

", + "exception":true + }, + "ApprovalRuleTemplateId":{"type":"string"}, + "ApprovalRuleTemplateInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The approval rule template is associated with one or more repositories. You cannot delete a template that is associated with a repository. Remove all associations, and then try again.

", + "exception":true + }, + "ApprovalRuleTemplateName":{ + "type":"string", + "max":100, + "min":1 + }, + "ApprovalRuleTemplateNameAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot create an approval rule template with that name because a template with that name already exists in this AWS Region for your AWS account. Approval rule template names must be unique.

", + "exception":true + }, + "ApprovalRuleTemplateNameList":{ + "type":"list", + "member":{"shape":"ApprovalRuleTemplateName"} + }, + "ApprovalRuleTemplateNameRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An approval rule template name is required, but was not specified.

", + "exception":true + }, + "ApprovalRulesList":{ + "type":"list", + "member":{"shape":"ApprovalRule"} + }, + "ApprovalRulesNotSatisfiedList":{ + "type":"list", + "member":{"shape":"ApprovalRuleName"} + }, + "ApprovalRulesSatisfiedList":{ + "type":"list", + "member":{"shape":"ApprovalRuleName"} + }, + "ApprovalState":{ + "type":"string", + "enum":[ + "APPROVE", + "REVOKE" + ] + }, + "ApprovalStateChangedEventMetadata":{ + "type":"structure", + "members":{ + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The revision ID of the pull request when the approval state changed.

" + }, + "approvalStatus":{ + "shape":"ApprovalState", + "documentation":"

The approval status for the pull request.

" + } + }, + "documentation":"

Returns information about a change in the approval state for a pull request.

" + }, + "ApprovalStateRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An approval state is required, but was not specified.

", + "exception":true + }, + "Approved":{"type":"boolean"}, + "Arn":{"type":"string"}, + "AssociateApprovalRuleTemplateWithRepositoryInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "repositoryName" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name for the approval rule template.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that you want to associate with the template.

" + } + } + }, + "AuthorDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Amazon Resource Name (ARN) does not exist in the AWS account.

", + "exception":true + }, + "BatchAssociateApprovalRuleTemplateWithRepositoriesError":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the association was not made.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

An error code that specifies whether the repository name was not valid or not found.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

An error message that provides details about why the repository name was not found or not valid.

" + } + }, + "documentation":"

Returns information about errors in a BatchAssociateApprovalRuleTemplateWithRepositories operation.

" + }, + "BatchAssociateApprovalRuleTemplateWithRepositoriesErrorsList":{ + "type":"list", + "member":{"shape":"BatchAssociateApprovalRuleTemplateWithRepositoriesError"} + }, + "BatchAssociateApprovalRuleTemplateWithRepositoriesInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "repositoryNames" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the template you want to associate with one or more repositories.

" + }, + "repositoryNames":{ + "shape":"RepositoryNameList", + "documentation":"

The names of the repositories you want to associate with the template.

The length constraint limit is for each string in the array. The array itself can be empty.

" + } + } + }, + "BatchAssociateApprovalRuleTemplateWithRepositoriesOutput":{ + "type":"structure", + "required":[ + "associatedRepositoryNames", + "errors" + ], + "members":{ + "associatedRepositoryNames":{ + "shape":"RepositoryNameList", + "documentation":"

A list of names of the repositories that have been associated with the template.

" + }, + "errors":{ + "shape":"BatchAssociateApprovalRuleTemplateWithRepositoriesErrorsList", + "documentation":"

A list of any errors that might have occurred while attempting to create the association between the template and the repositories.

" + } + } + }, + "BatchDescribeMergeConflictsError":{ + "type":"structure", + "required":[ + "filePath", + "exceptionName", + "message" + ], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The path to the file.

" + }, + "exceptionName":{ + "shape":"ExceptionName", + "documentation":"

The name of the exception.

" + }, + "message":{ + "shape":"Message", + "documentation":"

The message provided by the exception.

" + } + }, + "documentation":"

Returns information about errors in a BatchDescribeMergeConflicts operation.

" + }, + "BatchDescribeMergeConflictsErrors":{ + "type":"list", + "member":{"shape":"BatchDescribeMergeConflictsError"} + }, + "BatchDescribeMergeConflictsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "destinationCommitSpecifier", + "sourceCommitSpecifier", + "mergeOption" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the merge conflicts you want to review.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "maxMergeHunks":{ + "shape":"MaxResults", + "documentation":"

The maximum number of merge hunks to include in the output.

" + }, + "maxConflictFiles":{ + "shape":"MaxResults", + "documentation":"

The maximum number of files to include in the output.

" + }, + "filePaths":{ + "shape":"FilePaths", + "documentation":"

The path of the target files used to describe the conflicts. If not specified, the default is all conflict files.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "BatchDescribeMergeConflictsOutput":{ + "type":"structure", + "required":[ + "conflicts", + "destinationCommitId", + "sourceCommitId" + ], + "members":{ + "conflicts":{ + "shape":"Conflicts", + "documentation":"

A list of conflicts for each file, including the conflict metadata and the hunks of the differences between the files.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + }, + "errors":{ + "shape":"BatchDescribeMergeConflictsErrors", + "documentation":"

A list of any errors returned while describing the merge conflicts for each file.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + } + } + }, + "BatchDisassociateApprovalRuleTemplateFromRepositoriesError":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the association with the template was not able to be removed.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

An error code that specifies whether the repository name was not valid or not found.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

An error message that provides details about why the repository name was either not found or not valid.

" + } + }, + "documentation":"

Returns information about errors in a BatchDisassociateApprovalRuleTemplateFromRepositories operation.

" + }, + "BatchDisassociateApprovalRuleTemplateFromRepositoriesErrorsList":{ + "type":"list", + "member":{"shape":"BatchDisassociateApprovalRuleTemplateFromRepositoriesError"} + }, + "BatchDisassociateApprovalRuleTemplateFromRepositoriesInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "repositoryNames" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the template that you want to disassociate from one or more repositories.

" + }, + "repositoryNames":{ + "shape":"RepositoryNameList", + "documentation":"

The repository names that you want to disassociate from the approval rule template.

The length constraint limit is for each string in the array. The array itself can be empty.

" + } + } + }, + "BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput":{ + "type":"structure", + "required":[ + "disassociatedRepositoryNames", + "errors" + ], + "members":{ + "disassociatedRepositoryNames":{ + "shape":"RepositoryNameList", + "documentation":"

A list of repository names that have had their association with the template removed.

" + }, + "errors":{ + "shape":"BatchDisassociateApprovalRuleTemplateFromRepositoriesErrorsList", + "documentation":"

A list of any errors that might have occurred while attempting to remove the association between the template and the repositories.

" + } + } + }, + "BatchGetCommitsError":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

A commit ID that either could not be found or was not in a valid format.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

An error code that specifies whether the commit ID was not valid or not found.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

An error message that provides detail about why the commit ID either was not found or was not valid.

" + } + }, + "documentation":"

Returns information about errors in a BatchGetCommits operation.

" + }, + "BatchGetCommitsErrorsList":{ + "type":"list", + "member":{"shape":"BatchGetCommitsError"} + }, + "BatchGetCommitsInput":{ + "type":"structure", + "required":[ + "commitIds", + "repositoryName" + ], + "members":{ + "commitIds":{ + "shape":"CommitIdsInputList", + "documentation":"

The full commit IDs of the commits to get information about.

You must supply the full SHA IDs of each commit. You cannot use shortened SHA IDs.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the commits.

" + } + } + }, + "BatchGetCommitsOutput":{ + "type":"structure", + "members":{ + "commits":{ + "shape":"CommitObjectsList", + "documentation":"

An array of commit data type objects, each of which contains information about a specified commit.

" + }, + "errors":{ + "shape":"BatchGetCommitsErrorsList", + "documentation":"

Returns any commit IDs for which information could not be found. For example, if one of the commit IDs was a shortened SHA ID or that commit was not found in the specified repository, the ID returns an error object with more information.

" + } + } + }, + "BatchGetRepositoriesInput":{ + "type":"structure", + "required":["repositoryNames"], + "members":{ + "repositoryNames":{ + "shape":"RepositoryNameList", + "documentation":"

The names of the repositories to get information about.

The length constraint limit is for each string in the array. The array itself can be empty.

" + } + }, + "documentation":"

Represents the input of a batch get repositories operation.

" + }, + "BatchGetRepositoriesOutput":{ + "type":"structure", + "members":{ + "repositories":{ + "shape":"RepositoryMetadataList", + "documentation":"

A list of repositories returned by the batch get repositories operation.

" + }, + "repositoriesNotFound":{ + "shape":"RepositoryNotFoundList", + "documentation":"

Returns a list of repository names for which information could not be found.

" + } + }, + "documentation":"

Represents the output of a batch get repositories operation.

" + }, + "BeforeCommitIdAndAfterCommitIdAreSameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The before commit ID and the after commit ID are the same, which is not valid. The before commit ID and the after commit ID must be different commit IDs.

", + "exception":true + }, + "BlobIdDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified blob does not exist.

", + "exception":true + }, + "BlobIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A blob ID is required, but was not specified.

", + "exception":true + }, + "BlobMetadata":{ + "type":"structure", + "members":{ + "blobId":{ + "shape":"ObjectId", + "documentation":"

The full ID of the blob.

" + }, + "path":{ + "shape":"Path", + "documentation":"

The path to the blob and associated file name, if any.

" + }, + "mode":{ + "shape":"Mode", + "documentation":"

The file mode permissions of the blob. File mode permission codes include:

  • 100644 indicates read/write

  • 100755 indicates read/write/execute

  • 160000 indicates a submodule

  • 120000 indicates a symlink

" + } + }, + "documentation":"

Returns information about a specific Git blob object.

" + }, + "BranchDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified branch does not exist.

", + "exception":true + }, + "BranchInfo":{ + "type":"structure", + "members":{ + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch.

" + }, + "commitId":{ + "shape":"CommitId", + "documentation":"

The ID of the last commit made to the branch.

" + } + }, + "documentation":"

Returns information about a branch.

" + }, + "BranchName":{ + "type":"string", + "max":256, + "min":1 + }, + "BranchNameExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified branch name already exists.

", + "exception":true + }, + "BranchNameIsTagNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified branch name is not valid because it is a tag name. Enter the name of a branch in the repository. For a list of valid branch names, use ListBranches.

", + "exception":true + }, + "BranchNameList":{ + "type":"list", + "member":{"shape":"BranchName"} + }, + "BranchNameRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A branch name is required, but was not specified.

", + "exception":true + }, + "CannotDeleteApprovalRuleFromTemplateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The approval rule cannot be deleted from the pull request because it was created by an approval rule template and applied to the pull request automatically.

", + "exception":true + }, + "CannotModifyApprovalRuleFromTemplateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The approval rule cannot be modified for the pull request because it was created by an approval rule template and applied to the pull request automatically.

", + "exception":true + }, + "CapitalBoolean":{"type":"boolean"}, + "ChangeTypeEnum":{ + "type":"string", + "enum":[ + "A", + "M", + "D" + ] + }, + "ClientRequestToken":{"type":"string"}, + "ClientRequestTokenRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A client request token is required. A client request token is an unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

", + "exception":true + }, + "CloneUrlHttp":{"type":"string"}, + "CloneUrlSsh":{"type":"string"}, + "Comment":{ + "type":"structure", + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

The system-generated comment ID.

" + }, + "content":{ + "shape":"Content", + "documentation":"

The content of the comment.

" + }, + "inReplyTo":{ + "shape":"CommentId", + "documentation":"

The ID of the comment for which this comment is a reply, if any.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date and time the comment was created, in timestamp format.

" + }, + "lastModifiedDate":{ + "shape":"LastModifiedDate", + "documentation":"

The date and time the comment was most recently modified, in timestamp format.

" + }, + "authorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the person who posted the comment.

" + }, + "deleted":{ + "shape":"IsCommentDeleted", + "documentation":"

A Boolean value indicating whether the comment has been deleted.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

" + } + }, + "documentation":"

Returns information about a specific comment.

" + }, + "CommentContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The comment is empty. You must provide some content for a comment. The content cannot be null.

", + "exception":true + }, + "CommentContentSizeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The comment is too large. Comments are limited to 1,000 characters.

", + "exception":true + }, + "CommentDeletedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This comment has already been deleted. You cannot edit or delete a deleted comment.

", + "exception":true + }, + "CommentDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

No comment exists with the provided ID. Verify that you have used the correct ID, and then try again.

", + "exception":true + }, + "CommentId":{"type":"string"}, + "CommentIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The comment ID is missing or null. A comment ID is required.

", + "exception":true + }, + "CommentNotCreatedByCallerException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot modify or delete this comment. Only comment authors can modify or delete their comments.

", + "exception":true + }, + "Comments":{ + "type":"list", + "member":{"shape":"Comment"} + }, + "CommentsForComparedCommit":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the compared commits.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit used to establish the before of the comparison.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit used to establish the after of the comparison.

" + }, + "beforeBlobId":{ + "shape":"ObjectId", + "documentation":"

The full blob ID of the commit used to establish the before of the comparison.

" + }, + "afterBlobId":{ + "shape":"ObjectId", + "documentation":"

The full blob ID of the commit used to establish the after of the comparison.

" + }, + "location":{ + "shape":"Location", + "documentation":"

Location information about the comment on the comparison, including the file name, line number, and whether the version of the file where the comment was made is BEFORE or AFTER.

" + }, + "comments":{ + "shape":"Comments", + "documentation":"

An array of comment objects. Each comment object contains information about a comment on the comparison between commits.

" + } + }, + "documentation":"

Returns information about comments on the comparison between two commits.

" + }, + "CommentsForComparedCommitData":{ + "type":"list", + "member":{"shape":"CommentsForComparedCommit"} + }, + "CommentsForPullRequest":{ + "type":"structure", + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the pull request.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit that was the tip of the destination branch when the pull request was created. This commit is superceded by the after commit in the source branch when and if you merge the source branch into the destination branch.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit that was the tip of the source branch at the time the comment was made.

" + }, + "beforeBlobId":{ + "shape":"ObjectId", + "documentation":"

The full blob ID of the file on which you want to comment on the destination commit.

" + }, + "afterBlobId":{ + "shape":"ObjectId", + "documentation":"

The full blob ID of the file on which you want to comment on the source commit.

" + }, + "location":{ + "shape":"Location", + "documentation":"

Location information about the comment on the pull request, including the file name, line number, and whether the version of the file where the comment was made is BEFORE (destination branch) or AFTER (source branch).

" + }, + "comments":{ + "shape":"Comments", + "documentation":"

An array of comment objects. Each comment object contains information about a comment on the pull request.

" + } + }, + "documentation":"

Returns information about comments on a pull request.

" + }, + "CommentsForPullRequestData":{ + "type":"list", + "member":{"shape":"CommentsForPullRequest"} + }, + "Commit":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full SHA ID of the specified commit.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

Tree information for the specified commit.

" + }, + "parents":{ + "shape":"ParentList", + "documentation":"

A list of parent commits for the specified commit. Each parent commit ID is the full commit ID.

" + }, + "message":{ + "shape":"Message", + "documentation":"

The commit message associated with the specified commit.

" + }, + "author":{ + "shape":"UserInfo", + "documentation":"

Information about the author of the specified commit. Information includes the date in timestamp format with GMT offset, the name of the author, and the email address for the author, as configured in Git.

" + }, + "committer":{ + "shape":"UserInfo", + "documentation":"

Information about the person who committed the specified commit, also known as the committer. Information includes the date in timestamp format with GMT offset, the name of the committer, and the email address for the committer, as configured in Git.

For more information about the difference between an author and a committer in Git, see Viewing the Commit History in Pro Git by Scott Chacon and Ben Straub.

" + }, + "additionalData":{ + "shape":"AdditionalData", + "documentation":"

Any other data associated with the specified commit.

" + } + }, + "documentation":"

Returns information about a specific commit.

" + }, + "CommitDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified commit does not exist or no commit was specified, and the specified repository has no default branch.

", + "exception":true + }, + "CommitId":{"type":"string"}, + "CommitIdDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified commit ID does not exist.

", + "exception":true + }, + "CommitIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A commit ID was not specified.

", + "exception":true + }, + "CommitIdsInputList":{ + "type":"list", + "member":{"shape":"ObjectId"} + }, + "CommitIdsLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of allowed commit IDs in a batch request is 100. Verify that your batch requests contains no more than 100 commit IDs, and then try again.

", + "exception":true + }, + "CommitIdsListRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A list of commit IDs is required, but was either not specified or the list was empty.

", + "exception":true + }, + "CommitMessageLengthExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit message is too long. Provide a shorter string.

", + "exception":true + }, + "CommitName":{"type":"string"}, + "CommitObjectsList":{ + "type":"list", + "member":{"shape":"Commit"} + }, + "CommitRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A commit was not specified.

", + "exception":true + }, + "ConcurrentReferenceUpdateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The merge cannot be completed because the target branch has been modified. Another user might have modified the target branch while the merge was in progress. Wait a few minutes, and then try again.

", + "exception":true + }, + "Conflict":{ + "type":"structure", + "members":{ + "conflictMetadata":{ + "shape":"ConflictMetadata", + "documentation":"

Metadata about a conflict in a merge operation.

" + }, + "mergeHunks":{ + "shape":"MergeHunks", + "documentation":"

A list of hunks that contain the differences between files or lines causing the conflict.

" + } + }, + "documentation":"

Information about conflicts in a merge operation.

" + }, + "ConflictDetailLevelTypeEnum":{ + "type":"string", + "enum":[ + "FILE_LEVEL", + "LINE_LEVEL" + ] + }, + "ConflictMetadata":{ + "type":"structure", + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The path of the file that contains conflicts.

" + }, + "fileSizes":{ + "shape":"FileSizes", + "documentation":"

The file sizes of the file in the source, destination, and base of the merge.

" + }, + "fileModes":{ + "shape":"FileModes", + "documentation":"

The file modes of the file in the source, destination, and base of the merge.

" + }, + "objectTypes":{ + "shape":"ObjectTypes", + "documentation":"

Information about any object type conflicts in a merge operation.

" + }, + "numberOfConflicts":{ + "shape":"NumberOfConflicts", + "documentation":"

The number of conflicts, including both hunk conflicts and metadata conflicts.

" + }, + "isBinaryFile":{ + "shape":"IsBinaryFile", + "documentation":"

A boolean value (true or false) indicating whether the file is binary or textual in the source, destination, and base of the merge.

" + }, + "contentConflict":{ + "shape":"IsContentConflict", + "documentation":"

A boolean value indicating whether there are conflicts in the content of a file.

" + }, + "fileModeConflict":{ + "shape":"IsFileModeConflict", + "documentation":"

A boolean value indicating whether there are conflicts in the file mode of a file.

" + }, + "objectTypeConflict":{ + "shape":"IsObjectTypeConflict", + "documentation":"

A boolean value (true or false) indicating whether there are conflicts between the branches in the object type of a file, folder, or submodule.

" + }, + "mergeOperations":{ + "shape":"MergeOperations", + "documentation":"

Whether an add, modify, or delete operation caused the conflict between the source and destination of the merge.

" + } + }, + "documentation":"

Information about the metadata for a conflict in a merge operation.

" + }, + "ConflictMetadataList":{ + "type":"list", + "member":{"shape":"ConflictMetadata"} + }, + "ConflictResolution":{ + "type":"structure", + "members":{ + "replaceContents":{ + "shape":"ReplaceContentEntries", + "documentation":"

Files to have content replaced as part of the merge conflict resolution.

" + }, + "deleteFiles":{ + "shape":"DeleteFileEntries", + "documentation":"

Files to be deleted as part of the merge conflict resolution.

" + }, + "setFileModes":{ + "shape":"SetFileModeEntries", + "documentation":"

File modes that are set as part of the merge conflict resolution.

" + } + }, + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" + }, + "ConflictResolutionStrategyTypeEnum":{ + "type":"string", + "enum":[ + "NONE", + "ACCEPT_SOURCE", + "ACCEPT_DESTINATION", + "AUTOMERGE" + ] + }, + "Conflicts":{ + "type":"list", + "member":{"shape":"Conflict"} + }, + "Content":{"type":"string"}, + "CreateApprovalRuleTemplateInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "approvalRuleTemplateContent" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template. Provide descriptive names, because this name is applied to the approval rules created automatically in associated repositories.

" + }, + "approvalRuleTemplateContent":{ + "shape":"ApprovalRuleTemplateContent", + "documentation":"

The content of the approval rule that is created on pull requests in associated repositories. If you specify one or more destination references (branches), approval rules are created in an associated repository only if their destination references (branches) match those specified in the template.

When you create the content of the approval rule template, you can specify approvers in an approval pool in one of two ways:

  • CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following are counted as approvals coming from that user:

    • An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major)

    • A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)

    This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major).

  • Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role.

For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide.

" + }, + "approvalRuleTemplateDescription":{ + "shape":"ApprovalRuleTemplateDescription", + "documentation":"

The description of the approval rule template. Consider providing a description that explains what this template does and when it might be appropriate to associate it with repositories.

" + } + } + }, + "CreateApprovalRuleTemplateOutput":{ + "type":"structure", + "required":["approvalRuleTemplate"], + "members":{ + "approvalRuleTemplate":{ + "shape":"ApprovalRuleTemplate", + "documentation":"

The content and structure of the created approval rule template.

" + } + } + }, + "CreateBranchInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName", + "commitId" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository in which you want to create the new branch.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the new branch to create.

" + }, + "commitId":{ + "shape":"CommitId", + "documentation":"

The ID of the commit to point the new branch to.

" + } + }, + "documentation":"

Represents the input of a create branch operation.

" + }, + "CreateCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you create the commit.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch where you create the commit.

" + }, + "parentCommitId":{ + "shape":"CommitId", + "documentation":"

The ID of the commit that is the parent of the commit you create. Not required if this is an empty repository.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information is used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person who created the commit.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message you want to include in the commit. Commit messages are limited to 256 KB. If no message is specified, a default message is used.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a ..gitkeep file is created for empty folders. The default is false.

" + }, + "putFiles":{ + "shape":"PutFileEntries", + "documentation":"

The files to add or update in this commit.

" + }, + "deleteFiles":{ + "shape":"DeleteFileEntries", + "documentation":"

The files to delete in this commit. These files still exist in earlier commits.

" + }, + "setFileModes":{ + "shape":"SetFileModeEntries", + "documentation":"

The file modes to update for files in this commit.

" + } + } + }, + "CreateCommitOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains your committed file changes.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the commited file changes.

" + }, + "filesAdded":{ + "shape":"FilesMetadata", + "documentation":"

The files added as part of the committed file changes.

" + }, + "filesUpdated":{ + "shape":"FilesMetadata", + "documentation":"

The files updated as part of the commited file changes.

" + }, + "filesDeleted":{ + "shape":"FilesMetadata", + "documentation":"

The files deleted as part of the committed file changes.

" + } + } + }, + "CreatePullRequestApprovalRuleInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "approvalRuleName", + "approvalRuleContent" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request for which you want to create the approval rule.

" + }, + "approvalRuleName":{ + "shape":"ApprovalRuleName", + "documentation":"

The name for the approval rule.

" + }, + "approvalRuleContent":{ + "shape":"ApprovalRuleContent", + "documentation":"

The content of the approval rule, including the number of approvals needed and the structure of an approval pool defined for approvals, if any. For more information about approval pools, see the AWS CodeCommit User Guide.

When you create the content of the approval rule, you can specify approvers in an approval pool in one of two ways:

  • CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following would be counted as approvals coming from that user:

    • An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major)

    • A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)

    This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major).

  • Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role.

For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide.

" + } + } + }, + "CreatePullRequestApprovalRuleOutput":{ + "type":"structure", + "required":["approvalRule"], + "members":{ + "approvalRule":{ + "shape":"ApprovalRule", + "documentation":"

Information about the created approval rule.

" + } + } + }, + "CreatePullRequestInput":{ + "type":"structure", + "required":[ + "title", + "targets" + ], + "members":{ + "title":{ + "shape":"Title", + "documentation":"

The title of the pull request. This title is used to identify the pull request to other users in the repository.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the pull request.

" + }, + "targets":{ + "shape":"TargetList", + "documentation":"

The targets for the pull request, including the source of the code to be reviewed (the source branch) and the destination where the creator of the pull request intends the code to be merged after the pull request is closed (the destination branch).

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, an idempotency token is created for you.

", + "idempotencyToken":true + } + } + }, + "CreatePullRequestOutput":{ + "type":"structure", + "required":["pullRequest"], + "members":{ + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the newly created pull request.

" + } + } + }, + "CreateRepositoryInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the new repository to be created.

The repository name must be unique across the calling AWS account. Repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For more information about the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix .git is prohibited.

" + }, + "repositoryDescription":{ + "shape":"RepositoryDescription", + "documentation":"

A comment or description about the new repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a webpage can expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a webpage.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

One or more tag key-value pairs to use when tagging this repository.

" + } + }, + "documentation":"

Represents the input of a create repository operation.

" + }, + "CreateRepositoryOutput":{ + "type":"structure", + "members":{ + "repositoryMetadata":{ + "shape":"RepositoryMetadata", + "documentation":"

Information about the newly created repository.

" + } + }, + "documentation":"

Represents the output of a create repository operation.

" + }, + "CreateUnreferencedMergeCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier", + "mergeOption" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to create the unreferenced merge commit.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the unreferenced commit. This information is used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address for the person who created the unreferenced commit.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message for the unreferenced commit.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file is created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" + } + } + }, + "CreateUnreferencedMergeCommitOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains your merge results.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the merge results.

" + } + } + }, + "CreationDate":{"type":"timestamp"}, + "Date":{"type":"string"}, + "DefaultBranchCannotBeDeletedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified branch is the default branch for the repository, and cannot be deleted. To delete this branch, you must first set another branch as the default branch.

", + "exception":true + }, + "DeleteApprovalRuleTemplateInput":{ + "type":"structure", + "required":["approvalRuleTemplateName"], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template to delete.

" + } + } + }, + "DeleteApprovalRuleTemplateOutput":{ + "type":"structure", + "required":["approvalRuleTemplateId"], + "members":{ + "approvalRuleTemplateId":{ + "shape":"ApprovalRuleTemplateId", + "documentation":"

The system-generated ID of the deleted approval rule template. If the template has been previously deleted, the only response is a 200 OK.

" + } + } + }, + "DeleteBranchInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the branch to be deleted.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch to delete.

" + } + }, + "documentation":"

Represents the input of a delete branch operation.

" + }, + "DeleteBranchOutput":{ + "type":"structure", + "members":{ + "deletedBranch":{ + "shape":"BranchInfo", + "documentation":"

Information about the branch deleted by the operation, including the branch name and the commit ID that was the tip of the branch.

" + } + }, + "documentation":"

Represents the output of a delete branch operation.

" + }, + "DeleteCommentContentInput":{ + "type":"structure", + "required":["commentId"], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" + } + } + }, + "DeleteCommentContentOutput":{ + "type":"structure", + "members":{ + "comment":{ + "shape":"Comment", + "documentation":"

Information about the comment you just deleted.

" + } + } + }, + "DeleteFileEntries":{ + "type":"list", + "member":{"shape":"DeleteFileEntry"} + }, + "DeleteFileEntry":{ + "type":"structure", + "required":["filePath"], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path of the file to be deleted, including the name of the file.

" + } + }, + "documentation":"

A file that is deleted as part of a commit.

" + }, + "DeleteFileInput":{ + "type":"structure", + "required":[ + "repositoryName", + "branchName", + "filePath", + "parentCommitId" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the file to delete.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch where the commit that deletes the file is made.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the file that to be deleted, including the full name and extension of that file. For example, /examples/file.md is a fully qualified path to a file named file.md in a folder named examples.

" + }, + "parentCommitId":{ + "shape":"CommitId", + "documentation":"

The ID of the commit that is the tip of the branch where you want to create the commit that deletes the file. This must be the HEAD commit for the branch. The commit that deletes the file is created from this commit ID.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If a file is the only object in the folder or directory, specifies whether to delete the folder or directory that contains the file. By default, empty folders are deleted. This includes empty folders that are part of the directory structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and dir2 and dir3 are empty, deleting the last file in dir4 also deletes the empty folders dir4, dir3, and dir2.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message you want to include as part of deleting the file. Commit messages are limited to 256 KB. If no message is specified, a default message is used.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the author of the commit that deletes the file. If no name is specified, the user's ARN is used as the author name and committer name.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address for the commit that deletes the file. If no email address is specified, the email address is left blank.

" + } + } + }, + "DeleteFileOutput":{ + "type":"structure", + "required":[ + "commitId", + "blobId", + "treeId", + "filePath" + ], + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains the change that deletes the file.

" + }, + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID removed from the tree as part of deleting the file.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the delete file change.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the file to be deleted, including the full name and extension of that file.

" + } + } + }, + "DeletePullRequestApprovalRuleInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "approvalRuleName" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request that contains the approval rule you want to delete.

" + }, + "approvalRuleName":{ + "shape":"ApprovalRuleName", + "documentation":"

The name of the approval rule you want to delete.

" + } + } + }, + "DeletePullRequestApprovalRuleOutput":{ + "type":"structure", + "required":["approvalRuleId"], + "members":{ + "approvalRuleId":{ + "shape":"ApprovalRuleId", + "documentation":"

The ID of the deleted approval rule.

If the approval rule was deleted in an earlier API call, the response is 200 OK without content.

" + } + } + }, + "DeleteRepositoryInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to delete.

" + } + }, + "documentation":"

Represents the input of a delete repository operation.

" + }, + "DeleteRepositoryOutput":{ + "type":"structure", + "members":{ + "repositoryId":{ + "shape":"RepositoryId", + "documentation":"

The ID of the repository that was deleted.

" + } + }, + "documentation":"

Represents the output of a delete repository operation.

" + }, + "DescribeMergeConflictsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "destinationCommitSpecifier", + "sourceCommitSpecifier", + "mergeOption", + "filePath" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to get information about a merge conflict.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "maxMergeHunks":{ + "shape":"MaxResults", + "documentation":"

The maximum number of merge hunks to include in the output.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The path of the target files used to describe the conflicts.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "DescribeMergeConflictsOutput":{ + "type":"structure", + "required":[ + "conflictMetadata", + "mergeHunks", + "destinationCommitId", + "sourceCommitId" + ], + "members":{ + "conflictMetadata":{ + "shape":"ConflictMetadata", + "documentation":"

Contains metadata about the conflicts found in the merge.

" + }, + "mergeHunks":{ + "shape":"MergeHunks", + "documentation":"

A list of merge hunks of the differences between the files or lines.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + } + } + }, + "DescribePullRequestEventsInput":{ + "type":"structure", + "required":["pullRequestId"], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "pullRequestEventType":{ + "shape":"PullRequestEventType", + "documentation":"

Optional. The pull request event type about which you want to return information.

" + }, + "actorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user whose actions resulted in the event. Examples include updating the pull request with more commits or changing the status of a pull request.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results. The default is 100 events, which is also the maximum number of events that can be returned in a result.

" + } + } + }, + "DescribePullRequestEventsOutput":{ + "type":"structure", + "required":["pullRequestEvents"], + "members":{ + "pullRequestEvents":{ + "shape":"PullRequestEventList", + "documentation":"

Information about the pull request events.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "Description":{ + "type":"string", + "max":10240 + }, + "Difference":{ + "type":"structure", + "members":{ + "beforeBlob":{ + "shape":"BlobMetadata", + "documentation":"

Information about a beforeBlob data type object, including the ID, the file mode permission code, and the path.

" + }, + "afterBlob":{ + "shape":"BlobMetadata", + "documentation":"

Information about an afterBlob data type object, including the ID, the file mode permission code, and the path.

" + }, + "changeType":{ + "shape":"ChangeTypeEnum", + "documentation":"

Whether the change type of the difference is an addition (A), deletion (D), or modification (M).

" + } + }, + "documentation":"

Returns information about a set of differences for a commit specifier.

" + }, + "DifferenceList":{ + "type":"list", + "member":{"shape":"Difference"} + }, + "DirectoryNameConflictsWithFileNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A file cannot be added to the repository because the specified path name has the same name as a file that already exists in this repository. Either provide a different name for the file, or specify a different path for the file.

", + "exception":true + }, + "DisassociateApprovalRuleTemplateFromRepositoryInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "repositoryName" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template to disassociate from a specified repository.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository you want to disassociate from the template.

" + } + } + }, + "Email":{"type":"string"}, + "EncryptionIntegrityChecksFailedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An encryption integrity check failed.

", + "exception":true, + "fault":true + }, + "EncryptionKeyAccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An encryption key could not be accessed.

", + "exception":true + }, + "EncryptionKeyDisabledException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The encryption key is disabled.

", + "exception":true + }, + "EncryptionKeyNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

No encryption key was found.

", + "exception":true + }, + "EncryptionKeyUnavailableException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The encryption key is not available.

", + "exception":true + }, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "EvaluatePullRequestApprovalRulesInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "revisionId" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request you want to evaluate.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated ID for the pull request revision. To retrieve the most recent revision ID for a pull request, use GetPullRequest.

" + } + } + }, + "EvaluatePullRequestApprovalRulesOutput":{ + "type":"structure", + "required":["evaluation"], + "members":{ + "evaluation":{ + "shape":"Evaluation", + "documentation":"

The result of the evaluation, including the names of the rules whose conditions have been met (if any), the names of the rules whose conditions have not been met (if any), whether the pull request is in the approved state, and whether the pull request approval rule has been set aside by an override.

" + } + } + }, + "Evaluation":{ + "type":"structure", + "members":{ + "approved":{ + "shape":"Approved", + "documentation":"

Whether the state of the pull request is approved.

" + }, + "overridden":{ + "shape":"Overridden", + "documentation":"

Whether the approval rule requirements for the pull request have been overridden and no longer need to be met.

" + }, + "approvalRulesSatisfied":{ + "shape":"ApprovalRulesSatisfiedList", + "documentation":"

The names of the approval rules that have had their conditions met.

" + }, + "approvalRulesNotSatisfied":{ + "shape":"ApprovalRulesNotSatisfiedList", + "documentation":"

The names of the approval rules that have not had their conditions met.

" + } + }, + "documentation":"

Returns information about the approval rules applied to a pull request and whether conditions have been met.

" + }, + "EventDate":{"type":"timestamp"}, + "ExceptionName":{"type":"string"}, + "File":{ + "type":"structure", + "members":{ + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID that contains the file information.

" + }, + "absolutePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the file in the repository.

" + }, + "relativePath":{ + "shape":"Path", + "documentation":"

The relative path of the file from the folder where the query originated.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

" + } + }, + "documentation":"

Returns information about a file in a repository.

" + }, + "FileContent":{ + "type":"blob", + "max":6291456 + }, + "FileContentAndSourceFileSpecifiedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because both a source file and file content have been specified for the same file. You cannot provide both. Either specify a source file or provide the file content directly.

", + "exception":true + }, + "FileContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The file cannot be added because it is empty. Empty files cannot be added to the repository with this API.

", + "exception":true + }, + "FileContentSizeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The file cannot be added because it is too large. The maximum file size is 6 MB, and the combined file content change size is 7 MB. Consider making these changes using a Git client.

", + "exception":true + }, + "FileDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified file does not exist. Verify that you have used the correct file name, full path, and extension.

", + "exception":true + }, + "FileEntryRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no files have been specified as added, updated, or changed (PutFile or DeleteFile) for the commit.

", + "exception":true + }, + "FileList":{ + "type":"list", + "member":{"shape":"File"} + }, + "FileMetadata":{ + "type":"structure", + "members":{ + "absolutePath":{ + "shape":"Path", + "documentation":"

The full path to the file to be added or updated, including the name of the file.

" + }, + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID that contains the file information.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

" + } + }, + "documentation":"

A file to be added, updated, or deleted as part of a commit.

" + }, + "FileModeRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no file mode has been specified. A file mode is required to update mode permissions for a file.

", + "exception":true + }, + "FileModeTypeEnum":{ + "type":"string", + "enum":[ + "EXECUTABLE", + "NORMAL", + "SYMLINK" + ] + }, + "FileModes":{ + "type":"structure", + "members":{ + "source":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about file modes in a merge or pull request.

" + }, + "FileNameConflictsWithDirectoryNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A file cannot be added to the repository because the specified file name has the same name as a directory in this repository. Either provide another name for the file, or add the file in a directory that does not match the file name.

", + "exception":true + }, + "FilePathConflictsWithSubmodulePathException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because a specified file path points to a submodule. Verify that the destination files have valid file paths that do not point to a submodule.

", + "exception":true + }, + "FilePaths":{ + "type":"list", + "member":{"shape":"Path"} + }, + "FileSize":{"type":"long"}, + "FileSizes":{ + "type":"structure", + "members":{ + "source":{ + "shape":"FileSize", + "documentation":"

The size of a file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"FileSize", + "documentation":"

The size of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"FileSize", + "documentation":"

The size of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about the size of files in a merge or pull request.

" + }, + "FileTooLargeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified file exceeds the file size limit for AWS CodeCommit. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", + "exception":true + }, + "FilesMetadata":{ + "type":"list", + "member":{"shape":"FileMetadata"} + }, + "Folder":{ + "type":"structure", + "members":{ + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the folder.

" + }, + "absolutePath":{ + "shape":"Path", + "documentation":"

The fully qualified path of the folder in the repository.

" + }, + "relativePath":{ + "shape":"Path", + "documentation":"

The relative path of the specified folder from the folder where the query originated.

" + } + }, + "documentation":"

Returns information about a folder in a repository.

" + }, + "FolderContentSizeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because at least one of the overall changes in the commit results in a folder whose contents exceed the limit of 6 MB. Either reduce the number and size of your changes, or split the changes across multiple folders.

", + "exception":true + }, + "FolderDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified folder does not exist. Either the folder name is not correct, or you did not enter the full path to the folder.

", + "exception":true + }, + "FolderList":{ + "type":"list", + "member":{"shape":"Folder"} + }, + "GetApprovalRuleTemplateInput":{ + "type":"structure", + "required":["approvalRuleTemplateName"], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template for which you want to get information.

" + } + } + }, + "GetApprovalRuleTemplateOutput":{ + "type":"structure", + "required":["approvalRuleTemplate"], + "members":{ + "approvalRuleTemplate":{ + "shape":"ApprovalRuleTemplate", + "documentation":"

The content and structure of the approval rule template.

" + } + } + }, + "GetBlobInput":{ + "type":"structure", + "required":[ + "repositoryName", + "blobId" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the blob.

" + }, + "blobId":{ + "shape":"ObjectId", + "documentation":"

The ID of the blob, which is its SHA-1 pointer.

" + } + }, + "documentation":"

Represents the input of a get blob operation.

" + }, + "GetBlobOutput":{ + "type":"structure", + "required":["content"], + "members":{ + "content":{ + "shape":"blob", + "documentation":"

The content of the blob, usually a file.

" + } + }, + "documentation":"

Represents the output of a get blob operation.

" + }, + "GetBranchInput":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the branch for which you want to retrieve information.

" + }, + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch for which you want to retrieve information.

" + } + }, + "documentation":"

Represents the input of a get branch operation.

" + }, + "GetBranchOutput":{ + "type":"structure", + "members":{ + "branch":{ + "shape":"BranchInfo", + "documentation":"

The name of the branch.

" + } + }, + "documentation":"

Represents the output of a get branch operation.

" + }, + "GetCommentInput":{ + "type":"structure", + "required":["commentId"], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" + } + } + }, + "GetCommentOutput":{ + "type":"structure", + "members":{ + "comment":{ + "shape":"Comment", + "documentation":"

The contents of the comment.

" + } + } + }, + "GetCommentsForComparedCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "afterCommitId" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to compare commits.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

To establish the directionality of the comparison, the full commit ID of the before commit.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

To establish the directionality of the comparison, the full commit ID of the after commit.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results. The default is 100 comments, but you can configure up to 500.

" + } + } + }, + "GetCommentsForComparedCommitOutput":{ + "type":"structure", + "members":{ + "commentsForComparedCommitData":{ + "shape":"CommentsForComparedCommitData", + "documentation":"

A list of comment objects on the compared commit.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "GetCommentsForPullRequestInput":{ + "type":"structure", + "required":["pullRequestId"], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the pull request.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the source branch that was the tip of the branch at the time the comment was made.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results. The default is 100 comments. You can return up to 500 comments with a single request.

" + } + } + }, + "GetCommentsForPullRequestOutput":{ + "type":"structure", + "members":{ + "commentsForPullRequestData":{ + "shape":"CommentsForPullRequestData", + "documentation":"

An array of comment objects on the pull request.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "GetCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "commitId" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to which the commit was made.

" + }, + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID. Commit IDs are the full SHA ID of the commit.

" + } + }, + "documentation":"

Represents the input of a get commit operation.

" + }, + "GetCommitOutput":{ + "type":"structure", + "required":["commit"], + "members":{ + "commit":{ + "shape":"Commit", + "documentation":"

A commit data type object that contains information about the specified commit.

" + } + }, + "documentation":"

Represents the output of a get commit operation.

" + }, + "GetDifferencesInput":{ + "type":"structure", + "required":[ + "repositoryName", + "afterCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to get differences.

" + }, + "beforeCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, the full commit ID). Optional. If not specified, all changes before the afterCommitSpecifier value are shown. If you do not use beforeCommitSpecifier in your request, consider limiting the results with maxResults.

" + }, + "afterCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit.

" + }, + "beforePath":{ + "shape":"Path", + "documentation":"

The file path in which to check for differences. Limits the results to this path. Can also be used to specify the previous name of a directory or folder. If beforePath and afterPath are not specified, differences are shown for all paths.

" + }, + "afterPath":{ + "shape":"Path", + "documentation":"

The file path in which to check differences. Limits the results to this path. Can also be used to specify the changed name of a directory or folder, if it has changed. If not specified, differences are shown for all paths.

" + }, + "MaxResults":{ + "shape":"Limit", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "GetDifferencesOutput":{ + "type":"structure", + "members":{ + "differences":{ + "shape":"DifferenceList", + "documentation":"

A data type object that contains information about the differences, including whether the difference is added, modified, or deleted (A, D, M).

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "GetFileInput":{ + "type":"structure", + "required":[ + "repositoryName", + "filePath" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the file.

" + }, + "commitSpecifier":{ + "shape":"CommitName", + "documentation":"

The fully quaified reference that identifies the commit that contains the file. For example, you can specify a full commit ID, a tag, a branch name, or a reference such as refs/heads/master. If none is provided, the head commit is used.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the file, including the full name and extension of the file. For example, /examples/file.md is the fully qualified path to a file named file.md in a folder named examples.

" + } + } + }, + "GetFileOutput":{ + "type":"structure", + "required":[ + "commitId", + "blobId", + "filePath", + "fileMode", + "fileSize", + "fileContent" + ], + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the commit that contains the content returned by GetFile.

" + }, + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID of the object that represents the file content.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the specified file. Returns the name and extension of the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions of the blob. Valid values include strings such as EXECUTABLE and not numeric values.

The file mode permissions returned by this API are not the standard file mode permission values, such as 100644, but rather extrapolated values. See the supported return values.

" + }, + "fileSize":{ + "shape":"ObjectSize", + "documentation":"

The size of the contents of the file, in bytes.

" + }, + "fileContent":{ + "shape":"FileContent", + "documentation":"

The base-64 encoded binary data object that represents the content of the file.

" + } + } + }, + "GetFolderInput":{ + "type":"structure", + "required":[ + "repositoryName", + "folderPath" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository.

" + }, + "commitSpecifier":{ + "shape":"CommitName", + "documentation":"

A fully qualified reference used to identify a commit that contains the version of the folder's content to return. A fully qualified reference can be a commit ID, branch name, tag, or reference such as HEAD. If no specifier is provided, the folder content is returned as it exists in the HEAD commit.

" + }, + "folderPath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the folder whose contents are returned, including the folder name. For example, /examples is a fully-qualified path to a folder named examples that was created off of the root directory (/) of a repository.

" + } + } + }, + "GetFolderOutput":{ + "type":"structure", + "required":[ + "commitId", + "folderPath" + ], + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID used as a reference for the returned version of the folder content.

" + }, + "folderPath":{ + "shape":"Path", + "documentation":"

The fully qualified path of the folder whose contents are returned.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains the folder.

" + }, + "subFolders":{ + "shape":"FolderList", + "documentation":"

The list of folders that exist under the specified folder, if any.

" + }, + "files":{ + "shape":"FileList", + "documentation":"

The list of files in the specified folder, if any.

" + }, + "symbolicLinks":{ + "shape":"SymbolicLinkList", + "documentation":"

The list of symbolic links to other files and folders in the specified folder, if any.

" + }, + "subModules":{ + "shape":"SubModuleList", + "documentation":"

The list of submodules in the specified folder, if any.

" + } + } + }, + "GetMergeCommitInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the merge commit about which you want to get information.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + } + } + }, + "GetMergeCommitOutput":{ + "type":"structure", + "members":{ + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + }, + "mergedCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID for the merge commit created when the source branch was merged into the destination branch. If the fast-forward merge strategy was used, there is no merge commit.

" + } + } + }, + "GetMergeConflictsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "destinationCommitSpecifier", + "sourceCommitSpecifier", + "mergeOption" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge option or strategy you want to use to merge the code.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "maxConflictFiles":{ + "shape":"MaxResults", + "documentation":"

The maximum number of files to include in the output.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "GetMergeConflictsOutput":{ + "type":"structure", + "required":[ + "mergeable", + "destinationCommitId", + "sourceCommitId", + "conflictMetadataList" + ], + "members":{ + "mergeable":{ + "shape":"IsMergeable", + "documentation":"

A Boolean value that indicates whether the code is mergeable by the specified merge option.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + }, + "conflictMetadataList":{ + "shape":"ConflictMetadataList", + "documentation":"

A list of metadata for any conflicting files. If the specified merge strategy is FAST_FORWARD_MERGE, this list is always empty.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "GetMergeOptionsInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the commits about which you want to get merge options.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + } + } + }, + "GetMergeOptionsOutput":{ + "type":"structure", + "required":[ + "mergeOptions", + "sourceCommitId", + "destinationCommitId", + "baseCommitId" + ], + "members":{ + "mergeOptions":{ + "shape":"MergeOptions", + "documentation":"

The merge option or strategy used to merge the code.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the source commit specifier that was used in the merge evaluation.

" + }, + "destinationCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the destination commit specifier that was used in the merge evaluation.

" + }, + "baseCommitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge base.

" + } + } + }, + "GetPullRequestApprovalStatesInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "revisionId" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID for the pull request.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated ID for the pull request revision.

" + } + } + }, + "GetPullRequestApprovalStatesOutput":{ + "type":"structure", + "members":{ + "approvals":{ + "shape":"ApprovalList", + "documentation":"

Information about users who have approved the pull request.

" + } + } + }, + "GetPullRequestInput":{ + "type":"structure", + "required":["pullRequestId"], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + } + } + }, + "GetPullRequestOutput":{ + "type":"structure", + "required":["pullRequest"], + "members":{ + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the specified pull request.

" + } + } + }, + "GetPullRequestOverrideStateInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "revisionId" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The ID of the pull request for which you want to get information about whether approval rules have been set aside (overridden).

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated ID of the revision for the pull request. To retrieve the most recent revision ID, use GetPullRequest.

" + } + } + }, + "GetPullRequestOverrideStateOutput":{ + "type":"structure", + "members":{ + "overridden":{ + "shape":"Overridden", + "documentation":"

A Boolean value that indicates whether a pull request has had its rules set aside (TRUE) or whether all approval rules still apply (FALSE).

" + }, + "overrider":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user or identity that overrode the rules and their requirements for the pull request.

" + } + } + }, + "GetRepositoryInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to get information about.

" + } + }, + "documentation":"

Represents the input of a get repository operation.

" + }, + "GetRepositoryOutput":{ + "type":"structure", + "members":{ + "repositoryMetadata":{ + "shape":"RepositoryMetadata", + "documentation":"

Information about the repository.

" + } + }, + "documentation":"

Represents the output of a get repository operation.

" + }, + "GetRepositoryTriggersInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository for which the trigger is configured.

" + } + }, + "documentation":"

Represents the input of a get repository triggers operation.

" + }, + "GetRepositoryTriggersOutput":{ + "type":"structure", + "members":{ + "configurationId":{ + "shape":"RepositoryTriggersConfigurationId", + "documentation":"

The system-generated unique ID for the trigger.

" + }, + "triggers":{ + "shape":"RepositoryTriggersList", + "documentation":"

The JSON block of configuration information for each trigger.

" + } + }, + "documentation":"

Represents the output of a get repository triggers operation.

" + }, + "HunkContent":{"type":"string"}, + "IdempotencyParameterMismatchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The client request token is not valid. Either the token is not in a valid format, or the token has been used in a previous request and cannot be reused.

", + "exception":true + }, + "InvalidActorArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon Resource Name (ARN) is not valid. Make sure that you have provided the full ARN for the user who initiated the change for the pull request, and then try again.

", + "exception":true + }, + "InvalidApprovalRuleContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The content for the approval rule is not valid.

", + "exception":true + }, + "InvalidApprovalRuleNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The name for the approval rule is not valid.

", + "exception":true + }, + "InvalidApprovalRuleTemplateContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The content of the approval rule template is not valid.

", + "exception":true + }, + "InvalidApprovalRuleTemplateDescriptionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The description for the approval rule template is not valid because it exceeds the maximum characters allowed for a description. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", + "exception":true + }, + "InvalidApprovalRuleTemplateNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The name of the approval rule template is not valid. Template names must be between 1 and 100 valid characters in length. For more information about limits in AWS CodeCommit, see AWS CodeCommit User Guide.

", + "exception":true + }, + "InvalidApprovalStateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state for the approval is not valid. Valid values include APPROVE and REVOKE.

", + "exception":true + }, + "InvalidAuthorArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon Resource Name (ARN) is not valid. Make sure that you have provided the full ARN for the author of the pull request, and then try again.

", + "exception":true + }, + "InvalidBlobIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified blob is not valid.

", + "exception":true + }, + "InvalidBranchNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified reference name is not valid.

", + "exception":true + }, + "InvalidClientRequestTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The client request token is not valid.

", + "exception":true + }, + "InvalidCommentIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The comment ID is not in a valid format. Make sure that you have provided the full comment ID.

", + "exception":true + }, + "InvalidCommitException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified commit is not valid.

", + "exception":true + }, + "InvalidCommitIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified commit ID is not valid.

", + "exception":true + }, + "InvalidConflictDetailLevelException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict detail level is not valid.

", + "exception":true + }, + "InvalidConflictResolutionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict resolution list is not valid.

", + "exception":true + }, + "InvalidConflictResolutionStrategyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified conflict resolution strategy is not valid.

", + "exception":true + }, + "InvalidContinuationTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified continuation token is not valid.

", + "exception":true + }, + "InvalidDeletionParameterException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified deletion parameter is not valid.

", + "exception":true + }, + "InvalidDescriptionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request description is not valid. Descriptions cannot be more than 1,000 characters.

", + "exception":true + }, + "InvalidDestinationCommitSpecifierException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The destination commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

", + "exception":true + }, + "InvalidEmailException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified email address either contains one or more characters that are not allowed, or it exceeds the maximum number of characters allowed for an email address.

", + "exception":true + }, + "InvalidFileLocationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The location of the file is not valid. Make sure that you include the file name and extension.

", + "exception":true + }, + "InvalidFileModeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified file mode permission is not valid. For a list of valid file mode permissions, see PutFile.

", + "exception":true + }, + "InvalidFilePositionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The position is not valid. Make sure that the line number exists in the version of the file you want to comment on.

", + "exception":true + }, + "InvalidMaxConflictFilesException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified value for the number of conflict files to return is not valid.

", + "exception":true + }, + "InvalidMaxMergeHunksException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified value for the number of merge hunks to return is not valid.

", + "exception":true + }, + "InvalidMaxResultsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified number of maximum results is not valid.

", + "exception":true + }, + "InvalidMergeOptionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified merge option is not valid for this operation. Not all merge strategies are supported for all operations.

", + "exception":true + }, + "InvalidOrderException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified sort order is not valid.

", + "exception":true + }, + "InvalidOverrideStatusException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The override status is not valid. Valid statuses are OVERRIDE and REVOKE.

", + "exception":true + }, + "InvalidParentCommitIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The parent commit ID is not valid. The commit ID cannot be empty, and must match the head commit ID for the branch of the repository where you want to add or update a file.

", + "exception":true + }, + "InvalidPathException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified path is not valid.

", + "exception":true + }, + "InvalidPullRequestEventTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request event type is not valid.

", + "exception":true + }, + "InvalidPullRequestIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request ID is not valid. Make sure that you have provided the full ID and that the pull request is in the specified repository, and then try again.

", + "exception":true + }, + "InvalidPullRequestStatusException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request status is not valid. The only valid values are OPEN and CLOSED.

", + "exception":true + }, + "InvalidPullRequestStatusUpdateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request status update is not valid. The only valid update is from OPEN to CLOSED.

", + "exception":true + }, + "InvalidReferenceNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified reference name format is not valid. Reference names must conform to the Git references format (for example, refs/heads/master). For more information, see Git Internals - Git References or consult your Git documentation.

", + "exception":true + }, + "InvalidRelativeFileVersionEnumException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Either the enum is not in a valid format, or the specified file version enum is not valid in respect to the current file version.

", + "exception":true + }, + "InvalidReplacementContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Automerge was specified for resolving the conflict, but the replacement type is not valid or content is missing.

", + "exception":true + }, + "InvalidReplacementTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Automerge was specified for resolving the conflict, but the specified replacement type is not valid.

", + "exception":true + }, + "InvalidRepositoryDescriptionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified repository description is not valid.

", + "exception":true + }, + "InvalidRepositoryNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A specified repository name is not valid.

This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

", + "exception":true + }, + "InvalidRepositoryTriggerBranchNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

One or more branch names specified for the trigger is not valid.

", + "exception":true + }, + "InvalidRepositoryTriggerCustomDataException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The custom data provided for the trigger is not valid.

", + "exception":true + }, + "InvalidRepositoryTriggerDestinationArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.

", + "exception":true + }, + "InvalidRepositoryTriggerEventsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.

", + "exception":true + }, + "InvalidRepositoryTriggerNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The name of the trigger is not valid.

", + "exception":true + }, + "InvalidRepositoryTriggerRegionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The AWS Region for the trigger target does not match the AWS Region for the repository. Triggers must be created in the same Region as the target for the trigger.

", + "exception":true + }, + "InvalidResourceArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The value for the resource ARN is not valid. For more information about resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

", + "exception":true + }, + "InvalidRevisionIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The revision ID is not valid. Use GetPullRequest to determine the value.

", + "exception":true + }, + "InvalidRuleContentSha256Exception":{ + "type":"structure", + "members":{ + }, + "documentation":"

The SHA-256 hash signature for the rule content is not valid.

", + "exception":true + }, + "InvalidSortByException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified sort by value is not valid.

", + "exception":true + }, + "InvalidSourceCommitSpecifierException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The source commit specifier is not valid. You must provide a valid branch name, tag, or full commit ID.

", + "exception":true + }, + "InvalidSystemTagUsageException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified tag is not valid. Key names cannot be prefixed with aws:.

", + "exception":true + }, + "InvalidTagKeysListException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The list of tags is not valid.

", + "exception":true + }, + "InvalidTagsMapException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The map of tags is not valid.

", + "exception":true + }, + "InvalidTargetBranchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified target branch is not valid.

", + "exception":true + }, + "InvalidTargetException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target for the pull request is not valid. A target must contain the full values for the repository name, source branch, and destination branch for the pull request.

", + "exception":true + }, + "InvalidTargetsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The targets for the pull request is not valid or not in a valid format. Targets are a list of target objects. Each target object must contain the full values for the repository name, source branch, and destination branch for a pull request.

", + "exception":true + }, + "InvalidTitleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The title of the pull request is not valid. Pull request titles cannot exceed 100 characters in length.

", + "exception":true + }, + "IsBinaryFile":{ + "type":"structure", + "members":{ + "source":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of file in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of a file in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"CapitalBoolean", + "documentation":"

The binary or non-binary status of a file in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about whether a file is binary or textual in a merge or pull request operation.

" + }, + "IsCommentDeleted":{"type":"boolean"}, + "IsContentConflict":{"type":"boolean"}, + "IsFileModeConflict":{"type":"boolean"}, + "IsHunkConflict":{"type":"boolean"}, + "IsMergeable":{"type":"boolean"}, + "IsMerged":{"type":"boolean"}, + "IsMove":{"type":"boolean"}, + "IsObjectTypeConflict":{"type":"boolean"}, + "KeepEmptyFolders":{"type":"boolean"}, + "LastModifiedDate":{"type":"timestamp"}, + "Limit":{ + "type":"integer", + "box":true + }, + "LineNumber":{"type":"integer"}, + "ListApprovalRuleTemplatesInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results.

" + } + } + }, + "ListApprovalRuleTemplatesOutput":{ + "type":"structure", + "members":{ + "approvalRuleTemplateNames":{ + "shape":"ApprovalRuleTemplateNameList", + "documentation":"

The names of all the approval rule templates found in the AWS Region for your AWS account.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "ListAssociatedApprovalRuleTemplatesForRepositoryInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository for which you want to list all associated approval rule templates.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results.

" + } + } + }, + "ListAssociatedApprovalRuleTemplatesForRepositoryOutput":{ + "type":"structure", + "members":{ + "approvalRuleTemplateNames":{ + "shape":"ApprovalRuleTemplateNameList", + "documentation":"

The names of all approval rule templates associated with the repository.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "ListBranchesInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the branches.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the results.

" + } + }, + "documentation":"

Represents the input of a list branches operation.

" + }, + "ListBranchesOutput":{ + "type":"structure", + "members":{ + "branches":{ + "shape":"BranchNameList", + "documentation":"

The list of branch names.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that returns the batch of the results.

" + } + }, + "documentation":"

Represents the output of a list branches operation.

" + }, + "ListPullRequestsInput":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository for which you want to list pull requests.

" + }, + "authorArn":{ + "shape":"Arn", + "documentation":"

Optional. The Amazon Resource Name (ARN) of the user who created the pull request. If used, this filters the results to pull requests created by that user.

" + }, + "pullRequestStatus":{ + "shape":"PullRequestStatusEnum", + "documentation":"

Optional. The status of the pull request. If used, this refines the results to the pull requests that match the specified status.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results.

" + } + } + }, + "ListPullRequestsOutput":{ + "type":"structure", + "required":["pullRequestIds"], + "members":{ + "pullRequestIds":{ + "shape":"PullRequestIdList", + "documentation":"

The system-generated IDs of the pull requests.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "ListRepositoriesForApprovalRuleTemplateInput":{ + "type":"structure", + "required":["approvalRuleTemplateName"], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template for which you want to list repositories that are associated with that template.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

A non-zero, non-negative integer used to limit the number of returned results.

" + } + } + }, + "ListRepositoriesForApprovalRuleTemplateOutput":{ "type":"structure", - "required":["repositoryNames"], "members":{ "repositoryNames":{ "shape":"RepositoryNameList", - "documentation":"

The names of the repositories to get information about.

" + "documentation":"

A list of repository names that are associated with the specified approval rule template.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "ListRepositoriesInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" + }, + "sortBy":{ + "shape":"SortByEnum", + "documentation":"

The criteria used to sort the results of a list repositories operation.

" + }, + "order":{ + "shape":"OrderEnum", + "documentation":"

The order in which to sort the results of a list repositories operation.

" + } + }, + "documentation":"

Represents the input of a list repositories operation.

" + }, + "ListRepositoriesOutput":{ + "type":"structure", + "members":{ + "repositories":{ + "shape":"RepositoryNameIdPairList", + "documentation":"

Lists the repositories called by the list repositories operation.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" + } + }, + "documentation":"

Represents the output of a list repositories operation.

" + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagsMap", + "documentation":"

A list of tag key and value pairs associated with the specified resource.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that allows the operation to batch the next results of the operation.

" + } + } + }, + "Location":{ + "type":"structure", + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The name of the file being compared, including its extension and subdirectory, if any.

" + }, + "filePosition":{ + "shape":"Position", + "documentation":"

The position of a change in a compared file, in line number format.

" + }, + "relativeFileVersion":{ + "shape":"RelativeFileVersionEnum", + "documentation":"

In a comparison of commits or a pull request, whether the change is in the before or after of that comparison.

" + } + }, + "documentation":"

Returns information about the location of a change or comment in the comparison between two commits or a pull request.

" + }, + "ManualMergeRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The pull request cannot be merged automatically into the destination branch. You must manually merge the branches and resolve any conflicts.

", + "exception":true + }, + "MaxResults":{"type":"integer"}, + "MaximumBranchesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of branches for the trigger was exceeded.

", + "exception":true + }, + "MaximumConflictResolutionEntriesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of allowed conflict resolution entries was exceeded.

", + "exception":true + }, + "MaximumFileContentToLoadExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of files to load exceeds the allowed limit.

", + "exception":true + }, + "MaximumFileEntriesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of specified files to change as part of this commit exceeds the maximum number of files that can be changed in a single commit. Consider using a Git client for these changes.

", + "exception":true + }, + "MaximumItemsToCompareExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of items to compare between the source or destination branches and the merge base has exceeded the maximum allowed.

", + "exception":true + }, + "MaximumNumberOfApprovalsExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of approvals required for the approval rule exceeds the maximum number allowed.

", + "exception":true + }, + "MaximumOpenPullRequestsExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot create the pull request because the repository has too many open pull requests. The maximum number of open pull requests for a repository is 1,000. Close one or more open pull requests, and then try again.

", + "exception":true + }, + "MaximumRepositoryNamesExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of allowed repository names was exceeded. Currently, this number is 100.

", + "exception":true + }, + "MaximumRepositoryTriggersExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of triggers allowed for the repository was exceeded.

", + "exception":true + }, + "MaximumRuleTemplatesAssociatedWithRepositoryException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of approval rule templates for a repository has been exceeded. You cannot associate more than 25 approval rule templates with a repository.

", + "exception":true + }, + "MergeBranchesByFastForwardInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge is applied.

" + } + } + }, + "MergeBranchesByFastForwardOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeBranchesBySquashInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge is applied.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information is used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information is used in the commit information for the merge.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If this is specified as true, a .gitkeep file is created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" + } + } + }, + "MergeBranchesBySquashOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeBranchesByThreeWayInput":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceCommitSpecifier", + "destinationCommitSpecifier" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to merge two branches.

" + }, + "sourceCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "destinationCommitSpecifier":{ + "shape":"CommitName", + "documentation":"

The branch, tag, HEAD, or other fully qualified reference used to identify a commit (for example, a branch name or a full commit ID).

" + }, + "targetBranch":{ + "shape":"BranchName", + "documentation":"

The branch where the merge is applied.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information is used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information is used in the commit information for the merge.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message to include in the commit information for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" + } + } + }, + "MergeBranchesByThreeWayOutput":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID of the merge in the destination or target branch.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The tree ID of the merge in the destination or target branch.

" + } + } + }, + "MergeHunk":{ + "type":"structure", + "members":{ + "isConflict":{ + "shape":"IsHunkConflict", + "documentation":"

A Boolean value indicating whether a combination of hunks contains a conflict. Conflicts occur when the same file or the same lines in a file were modified in both the source and destination of a merge or pull request. Valid values include true, false, and null. True when the hunk represents a conflict and one or more files contains a line conflict. File mode conflicts in a merge do not set this to true.

" + }, + "source":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the source of a merge or pull request.

" + }, + "destination":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the destination of a merge or pull request.

" + }, + "base":{ + "shape":"MergeHunkDetail", + "documentation":"

Information about the merge hunk in the base of a merge or pull request.

" + } + }, + "documentation":"

Information about merge hunks in a merge or pull request operation.

" + }, + "MergeHunkDetail":{ + "type":"structure", + "members":{ + "startLine":{ + "shape":"LineNumber", + "documentation":"

The start position of the hunk in the merge result.

" + }, + "endLine":{ + "shape":"LineNumber", + "documentation":"

The end position of the hunk in the merge result.

" + }, + "hunkContent":{ + "shape":"HunkContent", + "documentation":"

The base-64 encoded content of the hunk merged region that might contain a conflict.

" + } + }, + "documentation":"

Information about the details of a merge hunk that contains a conflict in a merge or pull request operation.

" + }, + "MergeHunks":{ + "type":"list", + "member":{"shape":"MergeHunk"} + }, + "MergeMetadata":{ + "type":"structure", + "members":{ + "isMerged":{ + "shape":"IsMerged", + "documentation":"

A Boolean value indicating whether the merge has been made.

" + }, + "mergedBy":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user who merged the branches.

" + }, + "mergeCommitId":{ + "shape":"CommitId", + "documentation":"

The commit ID for the merge commit, if any.

" + }, + "mergeOption":{ + "shape":"MergeOptionTypeEnum", + "documentation":"

The merge strategy used in the merge.

" } }, - "documentation":"

Represents the input of a batch get repositories operation.

" + "documentation":"

Returns information about a merge or potential merge between a source reference and a destination reference in a pull request.

" }, - "BatchGetRepositoriesOutput":{ + "MergeOperations":{ "type":"structure", "members":{ - "repositories":{ - "shape":"RepositoryMetadataList", - "documentation":"

A list of repositories returned by the batch get repositories operation.

" + "source":{ + "shape":"ChangeTypeEnum", + "documentation":"

The operation (add, modify, or delete) on a file in the source of a merge or pull request.

" }, - "repositoriesNotFound":{ - "shape":"RepositoryNotFoundList", - "documentation":"

Returns a list of repository names for which information could not be found.

" + "destination":{ + "shape":"ChangeTypeEnum", + "documentation":"

The operation on a file in the destination of a merge or pull request.

" } }, - "documentation":"

Represents the output of a batch get repositories operation.

" + "documentation":"

Information about the file operation conflicts in a merge operation.

" }, - "BranchDoesNotExistException":{ + "MergeOptionRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

The specified branch does not exist.

", + "documentation":"

A merge option or stategy is required, and none was provided.

", "exception":true }, - "BranchInfo":{ + "MergeOptionTypeEnum":{ + "type":"string", + "enum":[ + "FAST_FORWARD_MERGE", + "SQUASH_MERGE", + "THREE_WAY_MERGE" + ] + }, + "MergeOptions":{ + "type":"list", + "member":{"shape":"MergeOptionTypeEnum"} + }, + "MergePullRequestByFastForwardInput":{ "type":"structure", + "required":[ + "pullRequestId", + "repositoryName" + ], "members":{ - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch.

" + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" }, - "commitId":{ - "shape":"CommitId", - "documentation":"

The ID of the last commit made to the branch.

" + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" } - }, - "documentation":"

Returns information about a branch.

" - }, - "BranchName":{ - "type":"string", - "max":100, - "min":1 + } }, - "BranchNameExistsException":{ + "MergePullRequestByFastForwardOutput":{ "type":"structure", "members":{ - }, - "documentation":"

The specified branch name already exists.

", - "exception":true + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the specified pull request, including the merge.

" + } + } }, - "BranchNameList":{ - "type":"list", - "member":{"shape":"BranchName"} + "MergePullRequestBySquashInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "repositoryName" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ + "shape":"ObjectId", + "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" + }, + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" + }, + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

The commit message to include in the commit information for the merge.

" + }, + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information is used as both the author and committer for the commit.

" + }, + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information is used in the commit information for the merge.

" + }, + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" + } + } }, - "BranchNameRequiredException":{ + "MergePullRequestBySquashOutput":{ "type":"structure", "members":{ - }, - "documentation":"

A branch name is required but was not specified.

", - "exception":true + "pullRequest":{"shape":"PullRequest"} + } }, - "CloneUrlHttp":{"type":"string"}, - "CloneUrlSsh":{"type":"string"}, - "Commit":{ + "MergePullRequestByThreeWayInput":{ "type":"structure", + "required":[ + "pullRequestId", + "repositoryName" + ], "members":{ - "treeId":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ "shape":"ObjectId", - "documentation":"

Tree information for the specified commit.

" + "documentation":"

The full commit ID of the original or updated commit in the pull request source branch. Pass this value if you want an exception thrown if the current commit ID of the tip of the source branch does not match this commit ID.

" }, - "parents":{ - "shape":"ParentList", - "documentation":"

The parent list for the specified commit.

" + "conflictDetailLevel":{ + "shape":"ConflictDetailLevelTypeEnum", + "documentation":"

The level of conflict detail to use. If unspecified, the default FILE_LEVEL is used, which returns a not-mergeable result if the same file has differences in both branches. If LINE_LEVEL is specified, a conflict is considered not mergeable if the same file in both branches has differences on the same line.

" }, - "message":{ + "conflictResolutionStrategy":{ + "shape":"ConflictResolutionStrategyTypeEnum", + "documentation":"

Specifies which branch to use when resolving conflicts, or whether to attempt automatically merging two versions of a file. The default is NONE, which requires any conflicts to be resolved manually before the merge operation is successful.

" + }, + "commitMessage":{ "shape":"Message", - "documentation":"

The message associated with the specified commit.

" + "documentation":"

The commit message to include in the commit information for the merge.

" }, - "author":{ - "shape":"UserInfo", - "documentation":"

Information about the author of the specified commit.

" + "authorName":{ + "shape":"Name", + "documentation":"

The name of the author who created the commit. This information is used as both the author and committer for the commit.

" }, - "committer":{ - "shape":"UserInfo", - "documentation":"

Information about the person who committed the specified commit, also known as the committer. For more information about the difference between an author and a committer in Git, see Viewing the Commit History in Pro Git by Scott Chacon and Ben Straub.

" + "email":{ + "shape":"Email", + "documentation":"

The email address of the person merging the branches. This information is used in the commit information for the merge.

" }, - "additionalData":{ - "shape":"AdditionalData", - "documentation":"

Any additional data associated with the specified commit.

" + "keepEmptyFolders":{ + "shape":"KeepEmptyFolders", + "documentation":"

If the commit contains deletions, whether to keep a folder or folder structure if the changes leave the folders empty. If true, a .gitkeep file is created for empty folders. The default is false.

" + }, + "conflictResolution":{ + "shape":"ConflictResolution", + "documentation":"

If AUTOMERGE is the conflict resolution strategy, a list of inputs to use when resolving conflicts during a merge.

" } - }, - "documentation":"

Returns information about a specific commit.

" + } }, - "CommitDoesNotExistException":{ + "MergePullRequestByThreeWayOutput":{ + "type":"structure", + "members":{ + "pullRequest":{"shape":"PullRequest"} + } + }, + "Message":{"type":"string"}, + "Mode":{"type":"string"}, + "MultipleConflictResolutionEntriesException":{ "type":"structure", "members":{ }, - "documentation":"

The specified commit does not exist or no commit was specified, and the specified repository has no default branch.

", + "documentation":"

More than one conflict resolution entries exists for the conflict. A conflict can have only one conflict resolution entry.

", "exception":true }, - "CommitId":{"type":"string"}, - "CommitIdDoesNotExistException":{ + "MultipleRepositoriesInPullRequestException":{ "type":"structure", "members":{ }, - "documentation":"

The specified commit ID does not exist.

", + "documentation":"

You cannot include more than one repository in a pull request. Make sure you have specified only one repository name in your request, and then try again.

", "exception":true }, - "CommitIdRequiredException":{ + "Name":{"type":"string"}, + "NameLengthExceededException":{ "type":"structure", "members":{ }, - "documentation":"

A commit ID was not specified.

", + "documentation":"

The user name is not valid because it has exceeded the character limit for author names.

", "exception":true }, - "CreateBranchInput":{ + "NextToken":{"type":"string"}, + "NoChangeException":{ "type":"structure", - "required":[ - "repositoryName", - "branchName", - "commitId" - ], "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository in which you want to create the new branch.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the new branch to create.

" - }, - "commitId":{ - "shape":"CommitId", - "documentation":"

The ID of the commit to point the new branch to.

" - } }, - "documentation":"

Represents the input of a create branch operation.

" + "documentation":"

The commit cannot be created because no changes will be made to the repository as a result of this commit. A commit must contain at least one change.

", + "exception":true }, - "CreateRepositoryInput":{ + "NumberOfConflicts":{"type":"integer"}, + "NumberOfRuleTemplatesExceededException":{ "type":"structure", - "required":["repositoryName"], "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the new repository to be created.

The repository name must be unique across the calling AWS account. In addition, repository names are limited to 100 alphanumeric, dash, and underscore characters, and cannot include certain characters. For a full description of the limits on repository names, see Limits in the AWS CodeCommit User Guide. The suffix \".git\" is prohibited.

" - }, - "repositoryDescription":{ - "shape":"RepositoryDescription", - "documentation":"

A comment or description about the new repository.

The description field for a repository accepts all HTML characters and all valid Unicode characters. Applications that do not HTML-encode the description and display it in a web page could expose users to potentially malicious code. Make sure that you HTML-encode the description field in any application that uses this API to display the repository description on a web page.

" - } }, - "documentation":"

Represents the input of a create repository operation.

" + "documentation":"

The maximum number of approval rule templates has been exceeded for this AWS Region.

", + "exception":true }, - "CreateRepositoryOutput":{ + "NumberOfRulesExceededException":{ "type":"structure", "members":{ - "repositoryMetadata":{ - "shape":"RepositoryMetadata", - "documentation":"

Information about the newly created repository.

" - } }, - "documentation":"

Represents the output of a create repository operation.

" + "documentation":"

The approval rule cannot be added. The pull request has the maximum number of approval rules associated with it.

", + "exception":true }, - "CreationDate":{"type":"timestamp"}, - "Date":{"type":"string"}, - "DeleteRepositoryInput":{ + "ObjectId":{"type":"string"}, + "ObjectSize":{"type":"long"}, + "ObjectTypeEnum":{ + "type":"string", + "enum":[ + "FILE", + "DIRECTORY", + "GIT_LINK", + "SYMBOLIC_LINK" + ] + }, + "ObjectTypes":{ "type":"structure", - "required":["repositoryName"], "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository to delete.

" + "source":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the source branch.

" + }, + "destination":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the destination branch.

" + }, + "base":{ + "shape":"ObjectTypeEnum", + "documentation":"

The type of the object in the base commit of the merge.

" } }, - "documentation":"

Represents the input of a delete repository operation.

" + "documentation":"

Information about the type of an object in a merge operation.

" }, - "DeleteRepositoryOutput":{ + "OrderEnum":{ + "type":"string", + "enum":[ + "ascending", + "descending" + ] + }, + "OriginApprovalRuleTemplate":{ "type":"structure", "members":{ - "repositoryId":{ - "shape":"RepositoryId", - "documentation":"

The ID of the repository that was deleted.

" + "approvalRuleTemplateId":{ + "shape":"ApprovalRuleTemplateId", + "documentation":"

The ID of the template that created the approval rule.

" + }, + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the template that created the approval rule.

" } }, - "documentation":"

Represents the output of a delete repository operation.

" + "documentation":"

Returns information about the template that created the approval rule for a pull request.

" }, - "Email":{"type":"string"}, - "EncryptionIntegrityChecksFailedException":{ + "Overridden":{"type":"boolean"}, + "OverrideAlreadySetException":{ "type":"structure", "members":{ }, - "documentation":"

An encryption integrity check failed.

", - "exception":true, - "fault":true + "documentation":"

The pull request has already had its approval rules set to override.

", + "exception":true }, - "EncryptionKeyAccessDeniedException":{ + "OverridePullRequestApprovalRulesInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "revisionId", + "overrideStatus" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request for which you want to override all approval rule requirements. To get this information, use GetPullRequest.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated ID of the most recent revision of the pull request. You cannot override approval rules for anything but the most recent revision of a pull request. To get the revision ID, use GetPullRequest.

" + }, + "overrideStatus":{ + "shape":"OverrideStatus", + "documentation":"

Whether you want to set aside approval rule requirements for the pull request (OVERRIDE) or revoke a previous override and apply approval rule requirements (REVOKE). REVOKE status is not stored.

" + } + } + }, + "OverrideStatus":{ + "type":"string", + "enum":[ + "OVERRIDE", + "REVOKE" + ] + }, + "OverrideStatusRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

An encryption key could not be accessed.

", + "documentation":"

An override status is required, but no value was provided. Valid values include OVERRIDE and REVOKE.

", "exception":true }, - "EncryptionKeyDisabledException":{ + "ParentCommitDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The encryption key is disabled.

", + "documentation":"

The parent commit ID is not valid because it does not exist. The specified parent commit ID does not exist in the specified branch of the repository.

", "exception":true }, - "EncryptionKeyNotFoundException":{ + "ParentCommitIdOutdatedException":{ "type":"structure", "members":{ }, - "documentation":"

No encryption key was found.

", + "documentation":"

The file could not be added because the provided parent commit ID is not the current tip of the specified branch. To view the full commit ID of the current head of the branch, use GetBranch.

", "exception":true }, - "EncryptionKeyUnavailableException":{ + "ParentCommitIdRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

The encryption key is not available.

", + "documentation":"

A parent commit ID is required. To view the full commit ID of a branch in a repository, use GetBranch or a Git command (for example, git pull or git log).

", "exception":true }, - "GetBranchInput":{ + "ParentList":{ + "type":"list", + "member":{"shape":"ObjectId"} + }, + "Path":{"type":"string"}, + "PathDoesNotExistException":{ "type":"structure", "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the branch for which you want to retrieve information.

" - }, - "branchName":{ - "shape":"BranchName", - "documentation":"

The name of the branch for which you want to retrieve information.

" - } }, - "documentation":"

Represents the input of a get branch operation.

" + "documentation":"

The specified path does not exist.

", + "exception":true }, - "GetBranchOutput":{ + "PathRequiredException":{ "type":"structure", "members":{ - "branch":{ - "shape":"BranchInfo", - "documentation":"

The name of the branch.

" - } }, - "documentation":"

Represents the output of a get branch operation.

" + "documentation":"

The folderPath for a location cannot be null.

", + "exception":true }, - "GetCommitInput":{ + "Position":{"type":"long"}, + "PostCommentForComparedCommitInput":{ "type":"structure", "required":[ "repositoryName", - "commitId" + "afterCommitId", + "content" ], "members":{ "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository to which the commit was made.

" + "documentation":"

The name of the repository where you want to post a comment on the comparison between commits.

" }, - "commitId":{ + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

To establish the directionality of the comparison, the full commit ID of the before commit. Required for commenting on any commit unless that commit is the initial commit.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

To establish the directionality of the comparison, the full commit ID of the after commit.

" + }, + "location":{ + "shape":"Location", + "documentation":"

The location of the comparison where you want to comment.

" + }, + "content":{ + "shape":"Content", + "documentation":"

The content of the comment you want to make.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

", + "idempotencyToken":true + } + } + }, + "PostCommentForComparedCommitOutput":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you posted a comment on the comparison between commits.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

In the directionality you established, the full commit ID of the before commit.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

In the directionality you established, the full commit ID of the after commit.

" + }, + "beforeBlobId":{ + "shape":"ObjectId", + "documentation":"

In the directionality you established, the blob ID of the before blob.

" + }, + "afterBlobId":{ "shape":"ObjectId", - "documentation":"

The commit ID.

" + "documentation":"

In the directionality you established, the blob ID of the after blob.

" + }, + "location":{ + "shape":"Location", + "documentation":"

The location of the comment in the comparison between the two commits.

" + }, + "comment":{ + "shape":"Comment", + "documentation":"

The content of the comment you posted.

" } - }, - "documentation":"

Represents the input of a get commit operation.

" + } }, - "GetCommitOutput":{ + "PostCommentForPullRequestInput":{ "type":"structure", - "required":["commit"], + "required":[ + "pullRequestId", + "repositoryName", + "beforeCommitId", + "afterCommitId", + "content" + ], "members":{ - "commit":{ - "shape":"Commit", - "documentation":"

Information about the specified commit.

" + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to post a comment on a pull request.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was created.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the source branch that is the current tip of the branch for the pull request when you post the comment.

" + }, + "location":{ + "shape":"Location", + "documentation":"

The location of the change where you want to post your comment. If no location is provided, the comment is posted as a general comment on the pull request difference between the before commit ID and the after commit ID.

" + }, + "content":{ + "shape":"Content", + "documentation":"

The content of your comment on the change.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

", + "idempotencyToken":true } - }, - "documentation":"

Represents the output of a get commit operation.

" + } }, - "GetRepositoryInput":{ + "PostCommentForPullRequestOutput":{ "type":"structure", - "required":["repositoryName"], "members":{ "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository to get information about.

" + "documentation":"

The name of the repository where you posted a comment on a pull request.

" + }, + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the source branch used to create the pull request, or in the case of an updated pull request, the full commit ID of the commit used to update the pull request.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the destination branch where the pull request is merged.

" + }, + "beforeBlobId":{ + "shape":"ObjectId", + "documentation":"

In the directionality of the pull request, the blob ID of the before blob.

" + }, + "afterBlobId":{ + "shape":"ObjectId", + "documentation":"

In the directionality of the pull request, the blob ID of the after blob.

" + }, + "location":{ + "shape":"Location", + "documentation":"

The location of the change where you posted your comment.

" + }, + "comment":{ + "shape":"Comment", + "documentation":"

The content of the comment you posted.

" } - }, - "documentation":"

Represents the input of a get repository operation.

" + } }, - "GetRepositoryOutput":{ + "PostCommentReplyInput":{ "type":"structure", + "required":[ + "inReplyTo", + "content" + ], "members":{ - "repositoryMetadata":{ - "shape":"RepositoryMetadata", - "documentation":"

Information about the repository.

" + "inReplyTo":{ + "shape":"CommentId", + "documentation":"

The system-generated ID of the comment to which you want to reply. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

", + "idempotencyToken":true + }, + "content":{ + "shape":"Content", + "documentation":"

The contents of your reply to a comment.

" } - }, - "documentation":"

Represents the output of a get repository operation.

" + } }, - "GetRepositoryTriggersInput":{ + "PostCommentReplyOutput":{ "type":"structure", "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository for which the trigger is configured.

" + "comment":{ + "shape":"Comment", + "documentation":"

Information about the reply to a comment.

" } - }, - "documentation":"

Represents the input of a get repository triggers operation.

" + } }, - "GetRepositoryTriggersOutput":{ + "PullRequest":{ "type":"structure", "members":{ - "configurationId":{ - "shape":"RepositoryTriggersConfigurationId", - "documentation":"

The system-generated unique ID for the trigger.

" + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" }, - "triggers":{ - "shape":"RepositoryTriggersList", - "documentation":"

The JSON block of configuration information for each trigger.

" + "title":{ + "shape":"Title", + "documentation":"

The user-defined title of the pull request. This title is displayed in the list of pull requests to other repository users.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The user-defined description of the pull request. This description can be used to clarify what should be reviewed and other details of the request.

" + }, + "lastActivityDate":{ + "shape":"LastModifiedDate", + "documentation":"

The day and time of the last user or system activity on the pull request, in timestamp format.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date and time the pull request was originally created, in timestamp format.

" + }, + "pullRequestStatus":{ + "shape":"PullRequestStatusEnum", + "documentation":"

The status of the pull request. Pull request status can only change from OPEN to CLOSED.

" + }, + "authorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user who created the pull request.

" + }, + "pullRequestTargets":{ + "shape":"PullRequestTargetList", + "documentation":"

The targets of the pull request, including the source branch and destination branch for the pull request.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request is received with the same parameters and a token is included, the request returns information about the initial request that used that token.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated revision ID for the pull request.

" + }, + "approvalRules":{ + "shape":"ApprovalRulesList", + "documentation":"

The approval rules applied to the pull request.

" } }, - "documentation":"

Represents the output of a get repository triggers operation.

" + "documentation":"

Returns information about a pull request.

" }, - "InvalidBranchNameException":{ + "PullRequestAlreadyClosedException":{ "type":"structure", "members":{ }, - "documentation":"

The specified branch name is not valid.

", + "documentation":"

The pull request status cannot be updated because it is already closed.

", "exception":true }, - "InvalidCommitIdException":{ + "PullRequestApprovalRulesNotSatisfiedException":{ "type":"structure", "members":{ }, - "documentation":"

The specified commit ID is not valid.

", + "documentation":"

The pull request cannot be merged because one or more approval rules applied to the pull request have conditions that have not been met.

", "exception":true }, - "InvalidContinuationTokenException":{ + "PullRequestCannotBeApprovedByAuthorException":{ "type":"structure", "members":{ }, - "documentation":"

The specified continuation token is not valid.

", + "documentation":"

The approval cannot be applied because the user approving the pull request matches the user who created the pull request. You cannot approve a pull request that you created.

", "exception":true }, - "InvalidOrderException":{ + "PullRequestCreatedEventMetadata":{ "type":"structure", "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "sourceCommitId":{ + "shape":"CommitId", + "documentation":"

The commit ID on the source branch used when the pull request was created.

" + }, + "destinationCommitId":{ + "shape":"CommitId", + "documentation":"

The commit ID of the tip of the branch specified as the destination branch when the pull request was created.

" + }, + "mergeBase":{ + "shape":"CommitId", + "documentation":"

The commit ID of the most recent commit that the source branch and the destination branch have in common.

" + } }, - "documentation":"

The specified sort order is not valid.

", - "exception":true + "documentation":"

Metadata about the pull request that is used when comparing the pull request source with its destination.

" }, - "InvalidRepositoryDescriptionException":{ + "PullRequestDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The specified repository description is not valid.

", + "documentation":"

The pull request ID could not be found. Make sure that you have specified the correct repository name and pull request ID, and then try again.

", "exception":true }, - "InvalidRepositoryNameException":{ + "PullRequestEvent":{ "type":"structure", "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" + }, + "eventDate":{ + "shape":"EventDate", + "documentation":"

The day and time of the pull request event, in timestamp format.

" + }, + "pullRequestEventType":{ + "shape":"PullRequestEventType", + "documentation":"

The type of the pull request event (for example, a status change event (PULL_REQUEST_STATUS_CHANGED) or update event (PULL_REQUEST_SOURCE_REFERENCE_UPDATED)).

" + }, + "actorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the user whose actions resulted in the event. Examples include updating the pull request with more commits or changing the status of a pull request.

" + }, + "pullRequestCreatedEventMetadata":{ + "shape":"PullRequestCreatedEventMetadata", + "documentation":"

Information about the source and destination branches for the pull request.

" + }, + "pullRequestStatusChangedEventMetadata":{ + "shape":"PullRequestStatusChangedEventMetadata", + "documentation":"

Information about the change in status for the pull request event.

" + }, + "pullRequestSourceReferenceUpdatedEventMetadata":{ + "shape":"PullRequestSourceReferenceUpdatedEventMetadata", + "documentation":"

Information about the updated source branch for the pull request event.

" + }, + "pullRequestMergedStateChangedEventMetadata":{ + "shape":"PullRequestMergedStateChangedEventMetadata", + "documentation":"

Information about the change in mergability state for the pull request event.

" + }, + "approvalRuleEventMetadata":{ + "shape":"ApprovalRuleEventMetadata", + "documentation":"

Information about a pull request event.

" + }, + "approvalStateChangedEventMetadata":{ + "shape":"ApprovalStateChangedEventMetadata", + "documentation":"

Information about an approval state change for a pull request.

" + }, + "approvalRuleOverriddenEventMetadata":{ + "shape":"ApprovalRuleOverriddenEventMetadata", + "documentation":"

Information about an approval rule override event for a pull request.

" + } }, - "documentation":"

At least one specified repository name is not valid.

This exception only occurs when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

", - "exception":true + "documentation":"

Returns information about a pull request event.

" }, - "InvalidRepositoryTriggerBranchNameException":{ + "PullRequestEventList":{ + "type":"list", + "member":{"shape":"PullRequestEvent"} + }, + "PullRequestEventType":{ + "type":"string", + "enum":[ + "PULL_REQUEST_CREATED", + "PULL_REQUEST_STATUS_CHANGED", + "PULL_REQUEST_SOURCE_REFERENCE_UPDATED", + "PULL_REQUEST_MERGE_STATE_CHANGED", + "PULL_REQUEST_APPROVAL_RULE_CREATED", + "PULL_REQUEST_APPROVAL_RULE_UPDATED", + "PULL_REQUEST_APPROVAL_RULE_DELETED", + "PULL_REQUEST_APPROVAL_RULE_OVERRIDDEN", + "PULL_REQUEST_APPROVAL_STATE_CHANGED" + ] + }, + "PullRequestId":{"type":"string"}, + "PullRequestIdList":{ + "type":"list", + "member":{"shape":"PullRequestId"} + }, + "PullRequestIdRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

One or more branch names specified for the trigger is not valid.

", + "documentation":"

A pull request ID is required, but none was provided.

", "exception":true }, - "InvalidRepositoryTriggerCustomDataException":{ + "PullRequestMergedStateChangedEventMetadata":{ "type":"structure", "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was created.

" + }, + "destinationReference":{ + "shape":"ReferenceName", + "documentation":"

The name of the branch that the pull request is merged into.

" + }, + "mergeMetadata":{ + "shape":"MergeMetadata", + "documentation":"

Information about the merge state change event.

" + } }, - "documentation":"

The custom data provided for the trigger is not valid.

", - "exception":true + "documentation":"

Returns information about the change in the merge state for a pull request event.

" }, - "InvalidRepositoryTriggerDestinationArnException":{ + "PullRequestSourceReferenceUpdatedEventMetadata":{ "type":"structure", "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where the pull request was updated.

" + }, + "beforeCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the destination branch that was the tip of the branch at the time the pull request was updated.

" + }, + "afterCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the commit in the source branch that was the tip of the branch at the time the pull request was updated.

" + }, + "mergeBase":{ + "shape":"CommitId", + "documentation":"

The commit ID of the most recent commit that the source branch and the destination branch have in common.

" + } }, - "documentation":"

The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.

", - "exception":true + "documentation":"

Information about an update to the source branch of a pull request.

" }, - "InvalidRepositoryTriggerEventsException":{ + "PullRequestStatusChangedEventMetadata":{ "type":"structure", "members":{ + "pullRequestStatus":{ + "shape":"PullRequestStatusEnum", + "documentation":"

The changed status of the pull request.

" + } }, - "documentation":"

One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.

", - "exception":true + "documentation":"

Information about a change to the status of a pull request.

" }, - "InvalidRepositoryTriggerNameException":{ + "PullRequestStatusEnum":{ + "type":"string", + "enum":[ + "OPEN", + "CLOSED" + ] + }, + "PullRequestStatusRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

The name of the trigger is not valid.

", + "documentation":"

A pull request status is required, but none was provided.

", "exception":true }, - "InvalidRepositoryTriggerRegionException":{ + "PullRequestTarget":{ + "type":"structure", + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the pull request source and destination branches.

" + }, + "sourceReference":{ + "shape":"ReferenceName", + "documentation":"

The branch of the repository that contains the changes for the pull request. Also known as the source branch.

" + }, + "destinationReference":{ + "shape":"ReferenceName", + "documentation":"

The branch of the repository where the pull request changes are merged. Also known as the destination branch.

" + }, + "destinationCommit":{ + "shape":"CommitId", + "documentation":"

The full commit ID that is the tip of the destination branch. This is the commit where the pull request was or will be merged.

" + }, + "sourceCommit":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the tip of the source branch used to create the pull request. If the pull request branch is updated by a push while the pull request is open, the commit ID changes to reflect the new tip of the branch.

" + }, + "mergeBase":{ + "shape":"CommitId", + "documentation":"

The commit ID of the most recent commit that the source branch and the destination branch have in common.

" + }, + "mergeMetadata":{ + "shape":"MergeMetadata", + "documentation":"

Returns metadata about the state of the merge, including whether the merge has been made.

" + } + }, + "documentation":"

Returns information about a pull request target.

" + }, + "PullRequestTargetList":{ + "type":"list", + "member":{"shape":"PullRequestTarget"} + }, + "PutFileEntries":{ + "type":"list", + "member":{"shape":"PutFileEntry"} + }, + "PutFileEntry":{ "type":"structure", + "required":["filePath"], "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file in the repository, including the name of the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The extrapolated file mode permissions for the file. Valid values include EXECUTABLE and NORMAL.

" + }, + "fileContent":{ + "shape":"FileContent", + "documentation":"

The content of the file, if a source file is not specified.

" + }, + "sourceFile":{ + "shape":"SourceFileSpecifier", + "documentation":"

The name and full path of the file that contains the changes you want to make as part of the commit, if you are not providing the file content directly.

" + } }, - "documentation":"

The region for the trigger target does not match the region for the repository. Triggers must be created in the same region as the target for the trigger.

", - "exception":true + "documentation":"

Information about a file added or updated as part of a commit.

" }, - "InvalidSortByException":{ + "PutFileEntryConflictException":{ "type":"structure", "members":{ }, - "documentation":"

The specified sort by value is not valid.

", + "documentation":"

The commit cannot be created because one or more files specified in the commit reference both a file and a folder.

", "exception":true }, - "LastModifiedDate":{"type":"timestamp"}, - "ListBranchesInput":{ + "PutFileInput":{ "type":"structure", - "required":["repositoryName"], + "required":[ + "repositoryName", + "branchName", + "fileContent", + "filePath" + ], "members":{ "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository that contains the branches.

" + "documentation":"

The name of the repository where you want to add or update the file.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results.

" + "branchName":{ + "shape":"BranchName", + "documentation":"

The name of the branch where you want to add or update the file. If this is an empty repository, this branch is created.

" + }, + "fileContent":{ + "shape":"FileContent", + "documentation":"

The content of the file, in binary object format.

" + }, + "filePath":{ + "shape":"Path", + "documentation":"

The name of the file you want to add or update, including the relative path to the file in the repository.

If the path does not currently exist in the repository, the path is created as part of adding the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode permissions of the blob. Valid file mode permissions are listed here.

" + }, + "parentCommitId":{ + "shape":"CommitId", + "documentation":"

The full commit ID of the head commit in the branch where you want to add or update the file. If this is an empty repository, no commit ID is required. If this is not an empty repository, a commit ID is required.

The commit ID must match the ID of the head commit at the time of the operation. Otherwise, an error occurs, and the file is not added or updated.

" + }, + "commitMessage":{ + "shape":"Message", + "documentation":"

A message about why this file was added or updated. Although it is optional, a message makes the commit history for your repository more useful.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the person adding or updating the file. Although it is optional, a name makes the commit history for your repository more useful.

" + }, + "email":{ + "shape":"Email", + "documentation":"

An email address for the person adding or updating the file.

" } - }, - "documentation":"

Represents the input of a list branches operation.

" + } }, - "ListBranchesOutput":{ + "PutFileOutput":{ "type":"structure", + "required":[ + "commitId", + "blobId", + "treeId" + ], "members":{ - "branches":{ - "shape":"BranchNameList", - "documentation":"

The list of branch names.

" + "commitId":{ + "shape":"ObjectId", + "documentation":"

The full SHA ID of the commit that contains this file change.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that returns the batch of the results.

" + "blobId":{ + "shape":"ObjectId", + "documentation":"

The ID of the blob, which is its SHA-1 pointer.

" + }, + "treeId":{ + "shape":"ObjectId", + "documentation":"

The full SHA-1 pointer of the tree information for the commit that contains this file change.

" } - }, - "documentation":"

Represents the output of a list branches operation.

" + } }, - "ListRepositoriesInput":{ + "PutRepositoryTriggersInput":{ "type":"structure", + "required":[ + "repositoryName", + "triggers" + ], "members":{ - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" - }, - "sortBy":{ - "shape":"SortByEnum", - "documentation":"

The criteria used to sort the results of a list repositories operation.

" + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository where you want to create or update the trigger.

" }, - "order":{ - "shape":"OrderEnum", - "documentation":"

The order in which to sort the results of a list repositories operation.

" + "triggers":{ + "shape":"RepositoryTriggersList", + "documentation":"

The JSON block of configuration information for each trigger.

" } }, - "documentation":"

Represents the input of a list repositories operation.

" + "documentation":"

Represents the input of a put repository triggers operation.

" }, - "ListRepositoriesOutput":{ + "PutRepositoryTriggersOutput":{ "type":"structure", "members":{ - "repositories":{ - "shape":"RepositoryNameIdPairList", - "documentation":"

Lists the repositories called by the list repositories operation.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

An enumeration token that allows the operation to batch the results of the operation. Batch sizes are 1,000 for list repository operations. When the client sends the token back to AWS CodeCommit, another page of 1,000 records is retrieved.

" + "configurationId":{ + "shape":"RepositoryTriggersConfigurationId", + "documentation":"

The system-generated unique ID for the create or update operation.

" } }, - "documentation":"

Represents the output of a list repositories operation.

" + "documentation":"

Represents the output of a put repository triggers operation.

" }, - "MaximumBranchesExceededException":{ + "ReferenceDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The number of branches for the trigger was exceeded.

", + "documentation":"

The specified reference does not exist. You must provide a full commit ID.

", "exception":true }, - "MaximumRepositoryNamesExceededException":{ + "ReferenceName":{"type":"string"}, + "ReferenceNameRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

The maximum number of allowed repository names was exceeded. Currently, this number is 25.

", + "documentation":"

A reference name is required, but none was provided.

", "exception":true }, - "MaximumRepositoryTriggersExceededException":{ + "ReferenceTypeNotSupportedException":{ "type":"structure", "members":{ }, - "documentation":"

The number of triggers allowed for the repository was exceeded.

", + "documentation":"

The specified reference is not a supported type.

", "exception":true }, - "Message":{"type":"string"}, - "Name":{"type":"string"}, - "NextToken":{"type":"string"}, - "ObjectId":{"type":"string"}, - "OrderEnum":{ + "RelativeFileVersionEnum":{ "type":"string", "enum":[ - "ascending", - "descending" + "BEFORE", + "AFTER" ] }, - "ParentList":{ + "ReplaceContentEntries":{ "type":"list", - "member":{"shape":"ObjectId"} + "member":{"shape":"ReplaceContentEntry"} }, - "PutRepositoryTriggersInput":{ + "ReplaceContentEntry":{ "type":"structure", + "required":[ + "filePath", + "replacementType" + ], "members":{ - "repositoryName":{ - "shape":"RepositoryName", - "documentation":"

The name of the repository where you want to create or update the trigger.

" - }, - "triggers":{ - "shape":"RepositoryTriggersList", - "documentation":"

The JSON block of configuration information for each trigger.

" + "filePath":{ + "shape":"Path", + "documentation":"

The path of the conflicting file.

" + }, + "replacementType":{ + "shape":"ReplacementTypeEnum", + "documentation":"

The replacement type to use when determining how to resolve the conflict.

" + }, + "content":{ + "shape":"FileContent", + "documentation":"

The base-64 encoded content to use when the replacement type is USE_NEW_CONTENT.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode to apply during conflict resoltion.

" } }, - "documentation":"

Represents the input ofa put repository triggers operation.

" + "documentation":"

Information about a replacement content entry in the conflict of a merge or pull request operation.

" + }, + "ReplacementContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

USE_NEW_CONTENT was specified, but no replacement content has been provided.

", + "exception":true + }, + "ReplacementTypeEnum":{ + "type":"string", + "enum":[ + "KEEP_BASE", + "KEEP_SOURCE", + "KEEP_DESTINATION", + "USE_NEW_CONTENT" + ] }, - "PutRepositoryTriggersOutput":{ + "ReplacementTypeRequiredException":{ "type":"structure", "members":{ - "configurationId":{ - "shape":"RepositoryTriggersConfigurationId", - "documentation":"

The system-generated unique ID for the create or update operation.

" - } }, - "documentation":"

Represents the output of a put repository triggers operation.

" + "documentation":"

A replacement type is required.

", + "exception":true }, "RepositoryDescription":{ "type":"string", @@ -962,7 +6811,7 @@ "type":"string", "max":100, "min":1, - "pattern":"[\\\\w\\\\.-]+" + "pattern":"[\\w\\.-]+" }, "RepositoryNameExistsException":{ "type":"structure", @@ -997,14 +6846,21 @@ "type":"structure", "members":{ }, - "documentation":"

A repository name is required but was not specified.

", + "documentation":"

A repository name is required, but was not specified.

", "exception":true }, "RepositoryNamesRequiredException":{ "type":"structure", "members":{ }, - "documentation":"

A repository names object is required but was not specified.

", + "documentation":"

At least one repository name object is required, but was not specified.

", + "exception":true + }, + "RepositoryNotAssociatedWithPullRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The repository does not contain any pull requests with that pull request ID. Use GetPullRequest to verify the correct repository name for the pull request ID.

", "exception":true }, "RepositoryNotFoundList":{ @@ -1013,6 +6869,11 @@ }, "RepositoryTrigger":{ "type":"structure", + "required":[ + "name", + "destinationArn", + "events" + ], "members":{ "name":{ "shape":"RepositoryTriggerName", @@ -1020,19 +6881,19 @@ }, "destinationArn":{ "shape":"Arn", - "documentation":"

The ARN of the resource that is the target for a trigger. For example, the ARN of a topic in Amazon Simple Notification Service (SNS).

" + "documentation":"

The ARN of the resource that is the target for a trigger (for example, the ARN of a topic in Amazon SNS).

" }, "customData":{ "shape":"RepositoryTriggerCustomData", - "documentation":"

Any custom data associated with the trigger that will be included in the information sent to the target of the trigger.

" + "documentation":"

Any custom data associated with the trigger to be included in the information sent to the target of the trigger.

" }, "branches":{ "shape":"BranchNameList", - "documentation":"

The branches that will be included in the trigger configuration. If no branches are specified, the trigger will apply to all branches.

" + "documentation":"

The branches to be included in the trigger configuration. If you specify an empty array, the trigger applies to all branches.

Although no content is required in the array, you must include the array itself.

" }, "events":{ "shape":"RepositoryTriggerEventList", - "documentation":"

The repository events that will cause the trigger to run actions in another service, such as sending a notification through Amazon Simple Notification Service (SNS). If no events are specified, the trigger will run for all repository events.

" + "documentation":"

The repository events that cause the trigger to run actions in another service, such as sending a notification through Amazon SNS.

The valid value \"all\" cannot be used with any other values.

" } }, "documentation":"

Information about a trigger for a repository.

" @@ -1041,7 +6902,7 @@ "type":"structure", "members":{ }, - "documentation":"

At least one branch name is required but was not specified in the trigger configuration.

", + "documentation":"

At least one branch name is required, but was not specified in the trigger configuration.

", "exception":true }, "RepositoryTriggerCustomData":{"type":"string"}, @@ -1049,7 +6910,7 @@ "type":"structure", "members":{ }, - "documentation":"

A destination ARN for the target service for the trigger is required but was not specified.

", + "documentation":"

A destination ARN for the target service for the trigger is required, but was not specified.

", "exception":true }, "RepositoryTriggerEventEnum":{ @@ -1069,7 +6930,7 @@ "type":"structure", "members":{ }, - "documentation":"

At least one event for the trigger is required but was not specified.

", + "documentation":"

At least one event for the trigger is required, but was not specified.

", "exception":true }, "RepositoryTriggerExecutionFailure":{ @@ -1081,7 +6942,7 @@ }, "failureMessage":{ "shape":"RepositoryTriggerExecutionFailureMessage", - "documentation":"

Additional message information about the trigger that did not run.

" + "documentation":"

Message information about the trigger that did not run.

" } }, "documentation":"

A trigger failed to run.

" @@ -1100,7 +6961,7 @@ "type":"structure", "members":{ }, - "documentation":"

A name for the trigger is required but was not specified.

", + "documentation":"

A name for the trigger is required, but was not specified.

", "exception":true }, "RepositoryTriggersConfigurationId":{"type":"string"}, @@ -1112,9 +6973,76 @@ "type":"structure", "members":{ }, - "documentation":"

The list of triggers for the repository is required but was not specified.

", + "documentation":"

The list of triggers for the repository is required, but was not specified.

", + "exception":true + }, + "ResourceArn":{"type":"string"}, + "ResourceArnRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required. For a list of valid resources in AWS CodeCommit, see CodeCommit Resources and Operations in the AWS CodeCommit User Guide.

", + "exception":true + }, + "RestrictedSourceFileException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because one of the changes specifies copying or moving a .gitkeep file.

", + "exception":true + }, + "RevisionId":{"type":"string"}, + "RevisionIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A revision ID is required, but was not provided.

", + "exception":true + }, + "RevisionNotCurrentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The revision ID provided in the request does not match the current revision ID. Use GetPullRequest to retrieve the current revision ID.

", "exception":true }, + "RuleContentSha256":{"type":"string"}, + "SameFileContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The file was not added or updated because the content of the file is exactly the same as the content of that file in the repository and branch that you specified.

", + "exception":true + }, + "SamePathRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because one or more changes in this commit duplicate actions in the same file path. For example, you cannot make the same delete request to the same file in the same file path twice, or make a delete request and a move request to the same file as part of the same commit.

", + "exception":true + }, + "SetFileModeEntries":{ + "type":"list", + "member":{"shape":"SetFileModeEntry"} + }, + "SetFileModeEntry":{ + "type":"structure", + "required":[ + "filePath", + "fileMode" + ], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file, including the name of the file.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode for the file.

" + } + }, + "documentation":"

Information about the file mode changes.

" + }, "SortByEnum":{ "type":"string", "enum":[ @@ -1122,8 +7050,186 @@ "lastModifiedDate" ] }, + "SourceAndDestinationAreSameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The source branch and destination branch for the pull request are the same. You must specify different branches for the source and destination.

", + "exception":true + }, + "SourceFileOrContentRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The commit cannot be created because no source files or file content have been specified for the commit.

", + "exception":true + }, + "SourceFileSpecifier":{ + "type":"structure", + "required":["filePath"], + "members":{ + "filePath":{ + "shape":"Path", + "documentation":"

The full path to the file, including the name of the file.

" + }, + "isMove":{ + "shape":"IsMove", + "documentation":"

Whether to remove the source file from the parent commit.

" + } + }, + "documentation":"

Information about a source file that is part of changes made in a commit.

" + }, + "SubModule":{ + "type":"structure", + "members":{ + "commitId":{ + "shape":"ObjectId", + "documentation":"

The commit ID that contains the reference to the submodule.

" + }, + "absolutePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the folder that contains the reference to the submodule.

" + }, + "relativePath":{ + "shape":"Path", + "documentation":"

The relative path of the submodule from the folder where the query originated.

" + } + }, + "documentation":"

Returns information about a submodule reference in a repository folder.

" + }, + "SubModuleList":{ + "type":"list", + "member":{"shape":"SubModule"} + }, + "SymbolicLink":{ + "type":"structure", + "members":{ + "blobId":{ + "shape":"ObjectId", + "documentation":"

The blob ID that contains the information about the symbolic link.

" + }, + "absolutePath":{ + "shape":"Path", + "documentation":"

The fully qualified path to the folder that contains the symbolic link.

" + }, + "relativePath":{ + "shape":"Path", + "documentation":"

The relative path of the symbolic link from the folder where the query originated.

" + }, + "fileMode":{ + "shape":"FileModeTypeEnum", + "documentation":"

The file mode permissions of the blob that cotains information about the symbolic link.

" + } + }, + "documentation":"

Returns information about a symbolic link in a repository folder.

" + }, + "SymbolicLinkList":{ + "type":"list", + "member":{"shape":"SymbolicLink"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeysList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeysListRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A list of tag keys is required. The list cannot be empty or null.

", + "exception":true + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The tag policy is not valid.

", + "exception":true + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

The key-value pair to use when tagging this repository.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TagsMapRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A map of tags is required.

", + "exception":true + }, + "Target":{ + "type":"structure", + "required":[ + "repositoryName", + "sourceReference" + ], + "members":{ + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the pull request.

" + }, + "sourceReference":{ + "shape":"ReferenceName", + "documentation":"

The branch of the repository that contains the changes for the pull request. Also known as the source branch.

" + }, + "destinationReference":{ + "shape":"ReferenceName", + "documentation":"

The branch of the repository where the pull request changes are merged. Also known as the destination branch.

" + } + }, + "documentation":"

Returns information about a target for a pull request.

" + }, + "TargetList":{ + "type":"list", + "member":{"shape":"Target"} + }, + "TargetRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A pull request target is required. It cannot be empty or null. A pull request target must contain the full values for the repository name, source branch, and destination branch for the pull request.

", + "exception":true + }, + "TargetsRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An array of target objects is required. It cannot be empty or null.

", + "exception":true + }, "TestRepositoryTriggersInput":{ "type":"structure", + "required":[ + "repositoryName", + "triggers" + ], "members":{ "repositoryName":{ "shape":"RepositoryName", @@ -1145,11 +7251,168 @@ }, "failedExecutions":{ "shape":"RepositoryTriggerExecutionFailureList", - "documentation":"

The list of triggers that were not able to be tested. This list provides the names of the triggers that could not be tested, separated by commas.

" + "documentation":"

The list of triggers that were not tested. This list provides the names of the triggers that could not be tested, separated by commas.

" } }, "documentation":"

Represents the output of a test repository triggers operation.

" }, + "TipOfSourceReferenceIsDifferentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The tip of the source branch in the destination repository does not match the tip of the source branch specified in your request. The pull request might have been updated. Make sure that you have the latest changes.

", + "exception":true + }, + "TipsDivergenceExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The divergence between the tips of the provided commit specifiers is too great to determine whether there might be any merge conflicts. Locally compare the specifiers using git diff or a diff tool.

", + "exception":true + }, + "Title":{ + "type":"string", + "max":150 + }, + "TitleRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A pull request title is required. It cannot be empty or null.

", + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of tags for an AWS CodeCommit resource has been exceeded.

", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to remove tags.

" + }, + "tagKeys":{ + "shape":"TagKeysList", + "documentation":"

The tag key for each tag that you want to remove from the resource.

" + } + } + }, + "UpdateApprovalRuleTemplateContentInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "newRuleContent" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the approval rule template where you want to update the content of the rule.

" + }, + "newRuleContent":{ + "shape":"ApprovalRuleTemplateContent", + "documentation":"

The content that replaces the existing content of the rule. Content statements must be complete. You cannot provide only the changes.

" + }, + "existingRuleContentSha256":{ + "shape":"RuleContentSha256", + "documentation":"

The SHA-256 hash signature for the content of the approval rule. You can retrieve this information by using GetPullRequest.

" + } + } + }, + "UpdateApprovalRuleTemplateContentOutput":{ + "type":"structure", + "required":["approvalRuleTemplate"], + "members":{ + "approvalRuleTemplate":{"shape":"ApprovalRuleTemplate"} + } + }, + "UpdateApprovalRuleTemplateDescriptionInput":{ + "type":"structure", + "required":[ + "approvalRuleTemplateName", + "approvalRuleTemplateDescription" + ], + "members":{ + "approvalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The name of the template for which you want to update the description.

" + }, + "approvalRuleTemplateDescription":{ + "shape":"ApprovalRuleTemplateDescription", + "documentation":"

The updated description of the approval rule template.

" + } + } + }, + "UpdateApprovalRuleTemplateDescriptionOutput":{ + "type":"structure", + "required":["approvalRuleTemplate"], + "members":{ + "approvalRuleTemplate":{ + "shape":"ApprovalRuleTemplate", + "documentation":"

The structure and content of the updated approval rule template.

" + } + } + }, + "UpdateApprovalRuleTemplateNameInput":{ + "type":"structure", + "required":[ + "oldApprovalRuleTemplateName", + "newApprovalRuleTemplateName" + ], + "members":{ + "oldApprovalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The current name of the approval rule template.

" + }, + "newApprovalRuleTemplateName":{ + "shape":"ApprovalRuleTemplateName", + "documentation":"

The new name you want to apply to the approval rule template.

" + } + } + }, + "UpdateApprovalRuleTemplateNameOutput":{ + "type":"structure", + "required":["approvalRuleTemplate"], + "members":{ + "approvalRuleTemplate":{ + "shape":"ApprovalRuleTemplate", + "documentation":"

The structure and content of the updated approval rule template.

" + } + } + }, + "UpdateCommentInput":{ + "type":"structure", + "required":[ + "commentId", + "content" + ], + "members":{ + "commentId":{ + "shape":"CommentId", + "documentation":"

The system-generated ID of the comment you want to update. To get this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.

" + }, + "content":{ + "shape":"Content", + "documentation":"

The updated content to replace the existing content of the comment.

" + } + } + }, + "UpdateCommentOutput":{ + "type":"structure", + "members":{ + "comment":{ + "shape":"Comment", + "documentation":"

Information about the updated comment.

" + } + } + }, "UpdateDefaultBranchInput":{ "type":"structure", "required":[ @@ -1168,6 +7431,145 @@ }, "documentation":"

Represents the input of an update default branch operation.

" }, + "UpdatePullRequestApprovalRuleContentInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "approvalRuleName", + "newRuleContent" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" + }, + "approvalRuleName":{ + "shape":"ApprovalRuleName", + "documentation":"

The name of the approval rule you want to update.

" + }, + "existingRuleContentSha256":{ + "shape":"RuleContentSha256", + "documentation":"

The SHA-256 hash signature for the content of the approval rule. You can retrieve this information by using GetPullRequest.

" + }, + "newRuleContent":{ + "shape":"ApprovalRuleContent", + "documentation":"

The updated content for the approval rule.

When you update the content of the approval rule, you can specify approvers in an approval pool in one of two ways:

  • CodeCommitApprovers: This option only requires an AWS account and a resource. It can be used for both IAM users and federated access users whose name matches the provided resource name. This is a very powerful option that offers a great deal of flexibility. For example, if you specify the AWS account 123456789012 and Mary_Major, all of the following are counted as approvals coming from that user:

    • An IAM user in the account (arn:aws:iam::123456789012:user/Mary_Major)

    • A federated user identified in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)

    This option does not recognize an active session of someone assuming the role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major) unless you include a wildcard (*Mary_Major).

  • Fully qualified ARN: This option allows you to specify the fully qualified Amazon Resource Name (ARN) of the IAM user or role.

For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers in the IAM User Guide.

" + } + } + }, + "UpdatePullRequestApprovalRuleContentOutput":{ + "type":"structure", + "required":["approvalRule"], + "members":{ + "approvalRule":{ + "shape":"ApprovalRule", + "documentation":"

Information about the updated approval rule.

" + } + } + }, + "UpdatePullRequestApprovalStateInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "revisionId", + "approvalState" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

The system-generated ID of the revision.

" + }, + "approvalState":{ + "shape":"ApprovalState", + "documentation":"

The approval state to associate with the user on the pull request.

" + } + } + }, + "UpdatePullRequestDescriptionInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "description" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The updated content of the description for the pull request. This content replaces the existing description.

" + } + } + }, + "UpdatePullRequestDescriptionOutput":{ + "type":"structure", + "required":["pullRequest"], + "members":{ + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the updated pull request.

" + } + } + }, + "UpdatePullRequestStatusInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "pullRequestStatus" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "pullRequestStatus":{ + "shape":"PullRequestStatusEnum", + "documentation":"

The status of the pull request. The only valid operations are to update the status from OPEN to OPEN, OPEN to CLOSED or from CLOSED to CLOSED.

" + } + } + }, + "UpdatePullRequestStatusOutput":{ + "type":"structure", + "required":["pullRequest"], + "members":{ + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the pull request.

" + } + } + }, + "UpdatePullRequestTitleInput":{ + "type":"structure", + "required":[ + "pullRequestId", + "title" + ], + "members":{ + "pullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The system-generated ID of the pull request. To get this ID, use ListPullRequests.

" + }, + "title":{ + "shape":"Title", + "documentation":"

The updated title of the pull request. This replaces the existing title.

" + } + } + }, + "UpdatePullRequestTitleOutput":{ + "type":"structure", + "required":["pullRequest"], + "members":{ + "pullRequest":{ + "shape":"PullRequest", + "documentation":"

Information about the updated pull request.

" + } + } + }, "UpdateRepositoryDescriptionInput":{ "type":"structure", "required":["repositoryName"], @@ -1192,7 +7594,7 @@ "members":{ "oldName":{ "shape":"RepositoryName", - "documentation":"

The existing name of the repository.

" + "documentation":"

The current name of the repository.

" }, "newName":{ "shape":"RepositoryName", @@ -1214,11 +7616,12 @@ }, "date":{ "shape":"Date", - "documentation":"

The date when the specified commit was pushed to the repository.

" + "documentation":"

The date when the specified commit was commited, in timestamp format with GMT offset.

" } }, "documentation":"

Information about the user who made a specified commit.

" - } + }, + "blob":{"type":"blob"} }, - "documentation":"AWS CodeCommit

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API.

You can use the AWS CodeCommit API to work with the following objects:

  • Repositories, by calling the following:
    • BatchGetRepositories, which returns information about one or more repositories associated with your AWS account
    • CreateRepository, which creates an AWS CodeCommit repository
    • DeleteRepository, which deletes an AWS CodeCommit repository
    • GetRepository, which returns information about a specified repository
    • ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account
    • UpdateRepositoryDescription, which sets or updates the description of the repository
    • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository will be able to access it until you send them the new HTTPS or SSH URL to use.
  • Branches, by calling the following:
    • CreateBranch, which creates a new branch in a specified repository
    • GetBranch, which returns information about a specified branch
    • ListBranches, which lists all branches for a specified repository
    • UpdateDefaultBranch, which changes the default branch for a repository
  • Information about committed code in a repository, by calling the following:
    • GetCommit, which returns information about a commit, including commit messages and committer information.
  • Triggers, by calling the following:
    • GetRepositoryTriggers, which returns information about triggers configured for a repository
    • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers
    • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

" + "documentation":"AWS CodeCommit

This is the AWS CodeCommit API Reference. This reference provides descriptions of the operations and data types for AWS CodeCommit API along with usage examples.

You can use the AWS CodeCommit API to work with the following objects:

Repositories, by calling the following:

  • BatchGetRepositories, which returns information about one or more repositories associated with your AWS account.

  • CreateRepository, which creates an AWS CodeCommit repository.

  • DeleteRepository, which deletes an AWS CodeCommit repository.

  • GetRepository, which returns information about a specified repository.

  • ListRepositories, which lists all AWS CodeCommit repositories associated with your AWS account.

  • UpdateRepositoryDescription, which sets or updates the description of the repository.

  • UpdateRepositoryName, which changes the name of the repository. If you change the name of a repository, no other users of that repository can access it until you send them the new HTTPS or SSH URL to use.

Branches, by calling the following:

  • CreateBranch, which creates a branch in a specified repository.

  • DeleteBranch, which deletes the specified branch in a repository unless it is the default branch.

  • GetBranch, which returns information about a specified branch.

  • ListBranches, which lists all branches for a specified repository.

  • UpdateDefaultBranch, which changes the default branch for a repository.

Files, by calling the following:

  • DeleteFile, which deletes the content of a specified file from a specified branch.

  • GetBlob, which returns the base-64 encoded content of an individual Git blob object in a repository.

  • GetFile, which returns the base-64 encoded content of a specified file.

  • GetFolder, which returns the contents of a specified folder or directory.

  • PutFile, which adds or modifies a single file in a specified repository and branch.

Commits, by calling the following:

  • BatchGetCommits, which returns information about one or more commits in a repository.

  • CreateCommit, which creates a commit for changes to a repository.

  • GetCommit, which returns information about a commit, including commit messages and author and committer information.

  • GetDifferences, which returns information about the differences in a valid commit specifier (such as a branch, tag, HEAD, commit ID, or other fully qualified reference).

Merges, by calling the following:

  • BatchDescribeMergeConflicts, which returns information about conflicts in a merge between commits in a repository.

  • CreateUnreferencedMergeCommit, which creates an unreferenced commit between two branches or commits for the purpose of comparing them and identifying any potential conflicts.

  • DescribeMergeConflicts, which returns information about merge conflicts between the base, source, and destination versions of a file in a potential merge.

  • GetMergeCommit, which returns information about the merge between a source and destination commit.

  • GetMergeConflicts, which returns information about merge conflicts between the source and destination branch in a pull request.

  • GetMergeOptions, which returns information about the available merge options between two branches or commit specifiers.

  • MergeBranchesByFastForward, which merges two branches using the fast-forward merge option.

  • MergeBranchesBySquash, which merges two branches using the squash merge option.

  • MergeBranchesByThreeWay, which merges two branches using the three-way merge option.

Pull requests, by calling the following:

Approval rule templates, by calling the following:

Comments in a repository, by calling the following:

Tags used to tag resources in AWS CodeCommit (not Git tags), by calling the following:

  • ListTagsForResource, which gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS CodeCommit.

  • TagResource, which adds or updates tags for a resource in AWS CodeCommit.

  • UntagResource, which removes tags for a resource in AWS CodeCommit.

Triggers, by calling the following:

  • GetRepositoryTriggers, which returns information about triggers configured for a repository.

  • PutRepositoryTriggers, which replaces all triggers for a repository and can be used to create or delete triggers.

  • TestRepositoryTriggers, which tests the functionality of a repository trigger by sending data to the trigger target.

For information about how to use AWS CodeCommit, see the AWS CodeCommit User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/examples-1.json --- python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,49 @@ +{ + "pagination": { + "ListApplicationRevisions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "revisions" + }, + "ListApplications": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "applications" + }, + "ListDeploymentConfigs": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deploymentConfigsList" + }, + "ListDeploymentGroups": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deploymentGroups" + }, + "ListDeploymentInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "instancesList" + }, + "ListDeployments": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "deployments" + }, + "ListDeploymentTargets": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "targetIds" + }, + "ListGitHubAccountTokenNames": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "tokenNameList" + }, + "ListOnPremisesInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "instanceNames" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/service-2.json python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/service-2.json --- python-botocore-1.4.70/botocore/data/codedeploy/2014-10-06/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codedeploy/2014-10-06/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,9 +7,10 @@ "protocol":"json", "serviceAbbreviation":"CodeDeploy", "serviceFullName":"AWS CodeDeploy", + "serviceId":"CodeDeploy", "signatureVersion":"v4", "targetPrefix":"CodeDeploy_20141006", - "timestampFormat":"unixTimestamp" + "uid":"codedeploy-2014-10-06" }, "operations":{ "AddTagsToOnPremisesInstances":{ @@ -21,6 +22,7 @@ "input":{"shape":"AddTagsToOnPremisesInstancesInput"}, "errors":[ {"shape":"InstanceNameRequiredException"}, + {"shape":"InvalidInstanceNameException"}, {"shape":"TagRequiredException"}, {"shape":"InvalidTagException"}, {"shape":"TagLimitExceededException"}, @@ -45,7 +47,7 @@ {"shape":"InvalidRevisionException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more application revisions.

" + "documentation":"

Gets information about one or more application revisions. The maximum number of application revisions that can be returned is 25.

" }, "BatchGetApplications":{ "name":"BatchGetApplications", @@ -61,7 +63,7 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more applications.

" + "documentation":"

Gets information about one or more applications. The maximum number of applications that can be returned is 100.

" }, "BatchGetDeploymentGroups":{ "name":"BatchGetDeploymentGroups", @@ -77,9 +79,10 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"DeploymentGroupNameRequiredException"}, {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"BatchLimitExceededException"} + {"shape":"BatchLimitExceededException"}, + {"shape":"DeploymentConfigDoesNotExistException"} ], - "documentation":"

Get information about one or more deployment groups.

" + "documentation":"

Gets information about one or more deployment groups.

" }, "BatchGetDeploymentInstances":{ "name":"BatchGetDeploymentInstances", @@ -95,9 +98,33 @@ {"shape":"InstanceIdRequiredException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"InvalidInstanceNameException"}, - {"shape":"BatchLimitExceededException"} + {"shape":"BatchLimitExceededException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

This method works, but is deprecated. Use BatchGetDeploymentTargets instead.

Returns an array of one or more instances associated with a deployment. This method works with EC2/On-premises and AWS Lambda compute platforms. The newer BatchGetDeploymentTargets works with all compute platforms. The maximum number of instances that can be returned is 25.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use BatchGetDeploymentTargets instead." + }, + "BatchGetDeploymentTargets":{ + "name":"BatchGetDeploymentTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetDeploymentTargetsInput"}, + "output":{"shape":"BatchGetDeploymentTargetsOutput"}, + "errors":[ + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, + {"shape":"DeploymentTargetIdRequiredException"}, + {"shape":"InvalidDeploymentTargetIdException"}, + {"shape":"DeploymentTargetDoesNotExistException"}, + {"shape":"DeploymentTargetListSizeExceededException"}, + {"shape":"InstanceDoesNotExistException"} ], - "documentation":"

Gets information about one or more instance that are part of a deployment group.

" + "documentation":"

Returns an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25.

The type of targets returned depends on the deployment's compute platform or deployment method:

  • EC2/On-premises: Information about EC2 instance targets.

  • AWS Lambda: Information about Lambda functions targets.

  • Amazon ECS: Information about Amazon ECS service targets.

  • CloudFormation: Information about targets of blue/green deployments initiated by a CloudFormation stack update.

" }, "BatchGetDeployments":{ "name":"BatchGetDeployments", @@ -112,7 +139,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more deployments.

" + "documentation":"

Gets information about one or more deployments. The maximum number of deployments that can be returned is 25.

" }, "BatchGetOnPremisesInstances":{ "name":"BatchGetOnPremisesInstances", @@ -127,7 +154,26 @@ {"shape":"InvalidInstanceNameException"}, {"shape":"BatchLimitExceededException"} ], - "documentation":"

Gets information about one or more on-premises instances.

" + "documentation":"

Gets information about one or more on-premises instances. The maximum number of on-premises instances that can be returned is 25.

" + }, + "ContinueDeployment":{ + "name":"ContinueDeployment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ContinueDeploymentInput"}, + "errors":[ + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentAlreadyCompletedException"}, + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentIsNotInReadyStateException"}, + {"shape":"UnsupportedActionForDeploymentTypeException"}, + {"shape":"InvalidDeploymentWaitTypeException"}, + {"shape":"InvalidDeploymentStatusException"} + ], + "documentation":"

For a blue/green deployment, starts the process of rerouting traffic from instances in the original environment to instances in the replacement environment without waiting for a specified wait time to elapse. (Traffic rerouting, which is achieved by registering instances in the replacement environment with the load balancer, can start as soon as all instances have a status of Ready.)

" }, "CreateApplication":{ "name":"CreateApplication", @@ -141,7 +187,9 @@ {"shape":"ApplicationNameRequiredException"}, {"shape":"InvalidApplicationNameException"}, {"shape":"ApplicationAlreadyExistsException"}, - {"shape":"ApplicationLimitExceededException"} + {"shape":"ApplicationLimitExceededException"}, + {"shape":"InvalidComputePlatformException"}, + {"shape":"InvalidTagsToAddException"} ], "documentation":"

Creates an application.

" }, @@ -167,7 +215,17 @@ {"shape":"DeploymentConfigDoesNotExistException"}, {"shape":"DescriptionTooLongException"}, {"shape":"DeploymentLimitExceededException"}, - {"shape":"InvalidAutoRollbackConfigException"} + {"shape":"InvalidTargetInstancesException"}, + {"shape":"InvalidAutoRollbackConfigException"}, + {"shape":"InvalidLoadBalancerInfoException"}, + {"shape":"InvalidFileExistsBehaviorException"}, + {"shape":"InvalidRoleException"}, + {"shape":"InvalidAutoScalingGroupException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidUpdateOutdatedInstancesOnlyValueException"}, + {"shape":"InvalidIgnoreApplicationStopFailuresValueException"}, + {"shape":"InvalidGitHubAccountTokenException"}, + {"shape":"InvalidTrafficRoutingConfigurationException"} ], "documentation":"

Deploys an application revision through the specified deployment group.

" }, @@ -184,9 +242,11 @@ {"shape":"DeploymentConfigNameRequiredException"}, {"shape":"DeploymentConfigAlreadyExistsException"}, {"shape":"InvalidMinimumHealthyHostValueException"}, - {"shape":"DeploymentConfigLimitExceededException"} + {"shape":"DeploymentConfigLimitExceededException"}, + {"shape":"InvalidComputePlatformException"}, + {"shape":"InvalidTrafficRoutingConfigurationException"} ], - "documentation":"

Creates a deployment configuration.

" + "documentation":"

Creates a deployment configuration.

" }, "CreateDeploymentGroup":{ "name":"CreateDeploymentGroup", @@ -216,9 +276,22 @@ {"shape":"TriggerTargetsLimitExceededException"}, {"shape":"InvalidAlarmConfigException"}, {"shape":"AlarmsLimitExceededException"}, - {"shape":"InvalidAutoRollbackConfigException"} + {"shape":"InvalidAutoRollbackConfigException"}, + {"shape":"InvalidLoadBalancerInfoException"}, + {"shape":"InvalidDeploymentStyleException"}, + {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, + {"shape":"InvalidEC2TagCombinationException"}, + {"shape":"InvalidOnPremisesTagCombinationException"}, + {"shape":"TagSetListLimitExceededException"}, + {"shape":"InvalidInputException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidECSServiceException"}, + {"shape":"InvalidTargetGroupPairException"}, + {"shape":"ECSServiceMappingLimitExceededException"}, + {"shape":"InvalidTagsToAddException"}, + {"shape":"InvalidTrafficRoutingConfigurationException"} ], - "documentation":"

Creates a deployment group to which application revisions will be deployed.

" + "documentation":"

Creates a deployment group to which application revisions are deployed.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -229,7 +302,8 @@ "input":{"shape":"DeleteApplicationInput"}, "errors":[ {"shape":"ApplicationNameRequiredException"}, - {"shape":"InvalidApplicationNameException"} + {"shape":"InvalidApplicationNameException"}, + {"shape":"InvalidRoleException"} ], "documentation":"

Deletes an application.

" }, @@ -265,6 +339,34 @@ ], "documentation":"

Deletes a deployment group.

" }, + "DeleteGitHubAccountToken":{ + "name":"DeleteGitHubAccountToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGitHubAccountTokenInput"}, + "output":{"shape":"DeleteGitHubAccountTokenOutput"}, + "errors":[ + {"shape":"GitHubAccountTokenNameRequiredException"}, + {"shape":"GitHubAccountTokenDoesNotExistException"}, + {"shape":"InvalidGitHubAccountTokenNameException"}, + {"shape":"ResourceValidationException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

Deletes a GitHub account connection.

" + }, + "DeleteResourcesByExternalId":{ + "name":"DeleteResourcesByExternalId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcesByExternalIdInput"}, + "output":{"shape":"DeleteResourcesByExternalIdOutput"}, + "errors":[], + "documentation":"

Deletes resources linked to an external ID.

" + }, "DeregisterOnPremisesInstance":{ "name":"DeregisterOnPremisesInstance", "http":{ @@ -324,7 +426,7 @@ {"shape":"InvalidDeploymentIdException"}, {"shape":"DeploymentDoesNotExistException"} ], - "documentation":"

Gets information about a deployment.

" + "documentation":"

Gets information about a deployment.

The content property of the appSpecContent object in the returned revision is always null. Use GetApplicationRevision and the sha256 property of the returned appSpecContent object to get the content of the deployment’s AppSpec file.

" }, "GetDeploymentConfig":{ "name":"GetDeploymentConfig", @@ -337,7 +439,8 @@ "errors":[ {"shape":"InvalidDeploymentConfigNameException"}, {"shape":"DeploymentConfigNameRequiredException"}, - {"shape":"DeploymentConfigDoesNotExistException"} + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"InvalidComputePlatformException"} ], "documentation":"

Gets information about a deployment configuration.

" }, @@ -355,7 +458,8 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"DeploymentGroupNameRequiredException"}, {"shape":"InvalidDeploymentGroupNameException"}, - {"shape":"DeploymentGroupDoesNotExistException"} + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"} ], "documentation":"

Gets information about a deployment group.

" }, @@ -373,9 +477,32 @@ {"shape":"InstanceIdRequiredException"}, {"shape":"InvalidDeploymentIdException"}, {"shape":"InstanceDoesNotExistException"}, + {"shape":"InvalidInstanceNameException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

Gets information about an instance as part of a deployment.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use GetDeploymentTarget instead." + }, + "GetDeploymentTarget":{ + "name":"GetDeploymentTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeploymentTargetInput"}, + "output":{"shape":"GetDeploymentTargetOutput"}, + "errors":[ + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, + {"shape":"DeploymentTargetIdRequiredException"}, + {"shape":"InvalidDeploymentTargetIdException"}, + {"shape":"DeploymentTargetDoesNotExistException"}, {"shape":"InvalidInstanceNameException"} ], - "documentation":"

Gets information about an instance as part of a deployment.

" + "documentation":"

Returns information about a deployment target.

" }, "GetOnPremisesInstance":{ "name":"GetOnPremisesInstance", @@ -390,7 +517,7 @@ {"shape":"InstanceNotRegisteredException"}, {"shape":"InvalidInstanceNameException"} ], - "documentation":"

Gets information about an on-premises instance.

" + "documentation":"

Gets information about an on-premises instance.

" }, "ListApplicationRevisions":{ "name":"ListApplicationRevisions", @@ -425,7 +552,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the applications registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the applications registered with the IAM user or AWS account.

" }, "ListDeploymentConfigs":{ "name":"ListDeploymentConfigs", @@ -438,7 +565,7 @@ "errors":[ {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the deployment configurations with the applicable IAM user or AWS account.

" + "documentation":"

Lists the deployment configurations with the IAM user or AWS account.

" }, "ListDeploymentGroups":{ "name":"ListDeploymentGroups", @@ -454,7 +581,7 @@ {"shape":"ApplicationDoesNotExistException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Lists the deployment groups for an application registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the deployment groups for an application registered with the IAM user or AWS account.

" }, "ListDeploymentInstances":{ "name":"ListDeploymentInstances", @@ -470,9 +597,35 @@ {"shape":"DeploymentNotStartedException"}, {"shape":"InvalidNextTokenException"}, {"shape":"InvalidDeploymentIdException"}, - {"shape":"InvalidInstanceStatusException"} + {"shape":"InvalidInstanceStatusException"}, + {"shape":"InvalidInstanceTypeException"}, + {"shape":"InvalidDeploymentInstanceTypeException"}, + {"shape":"InvalidTargetFilterNameException"}, + {"shape":"InvalidComputePlatformException"} + ], + "documentation":"

The newer BatchGetDeploymentTargets should be used instead because it works with all compute types. ListDeploymentInstances throws an exception if it is used with a compute platform other than EC2/On-premises or AWS Lambda.

Lists the instance for a deployment associated with the IAM user or AWS account.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use ListDeploymentTargets instead." + }, + "ListDeploymentTargets":{ + "name":"ListDeploymentTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeploymentTargetsInput"}, + "output":{"shape":"ListDeploymentTargetsOutput"}, + "errors":[ + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentNotStartedException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidDeploymentIdException"}, + {"shape":"InvalidInstanceStatusException"}, + {"shape":"InvalidInstanceTypeException"}, + {"shape":"InvalidDeploymentInstanceTypeException"} ], - "documentation":"

Lists the instance for a deployment associated with the applicable IAM user or AWS account.

" + "documentation":"

Returns an array of target IDs that are associated a deployment.

" }, "ListDeployments":{ "name":"ListDeployments", @@ -491,9 +644,26 @@ {"shape":"DeploymentGroupNameRequiredException"}, {"shape":"InvalidTimeRangeException"}, {"shape":"InvalidDeploymentStatusException"}, - {"shape":"InvalidNextTokenException"} + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidExternalIdException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Lists the deployments in a deployment group for an application registered with the IAM user or AWS account.

" + }, + "ListGitHubAccountTokenNames":{ + "name":"ListGitHubAccountTokenNames", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGitHubAccountTokenNamesInput"}, + "output":{"shape":"ListGitHubAccountTokenNamesOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceValidationException"}, + {"shape":"OperationNotSupportedException"} ], - "documentation":"

Lists the deployments in a deployment group for an application registered with the applicable IAM user or AWS account.

" + "documentation":"

Lists the names of stored connections to GitHub accounts.

" }, "ListOnPremisesInstances":{ "name":"ListOnPremisesInstances", @@ -508,7 +678,41 @@ {"shape":"InvalidTagFilterException"}, {"shape":"InvalidNextTokenException"} ], - "documentation":"

Gets a list of names for one or more on-premises instances.

Unless otherwise specified, both registered and deregistered on-premises instance names will be listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.

" + "documentation":"

Gets a list of names for one or more on-premises instances.

Unless otherwise specified, both registered and deregistered on-premises instance names are listed. To list only registered or deregistered on-premises instance names, use the registration status parameter.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"}, + {"shape":"ResourceArnRequiredException"} + ], + "documentation":"

Returns a list of tags for the resource identified by a specified Amazon Resource Name (ARN). Tags are used to organize and categorize your CodeDeploy resources.

" + }, + "PutLifecycleEventHookExecutionStatus":{ + "name":"PutLifecycleEventHookExecutionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLifecycleEventHookExecutionStatusInput"}, + "output":{"shape":"PutLifecycleEventHookExecutionStatusOutput"}, + "errors":[ + {"shape":"InvalidLifecycleEventHookExecutionStatusException"}, + {"shape":"InvalidLifecycleEventHookExecutionIdException"}, + {"shape":"LifecycleEventAlreadyCompletedException"}, + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"InvalidDeploymentIdException"}, + {"shape":"UnsupportedActionForDeploymentTypeException"} + ], + "documentation":"

Sets the result of a Lambda validation function. The function validates lifecycle hooks during a deployment that uses the AWS Lambda or Amazon ECS compute platform. For AWS Lambda deployments, the available lifecycle hooks are BeforeAllowTraffic and AfterAllowTraffic. For Amazon ECS deployments, the available lifecycle hooks are BeforeInstall, AfterInstall, AfterAllowTestTraffic, BeforeAllowTraffic, and AfterAllowTraffic. Lambda validation functions return Succeeded or Failed. For more information, see AppSpec 'hooks' Section for an AWS Lambda Deployment and AppSpec 'hooks' Section for an Amazon ECS Deployment.

" }, "RegisterApplicationRevision":{ "name":"RegisterApplicationRevision", @@ -536,13 +740,17 @@ "input":{"shape":"RegisterOnPremisesInstanceInput"}, "errors":[ {"shape":"InstanceNameAlreadyRegisteredException"}, + {"shape":"IamArnRequiredException"}, + {"shape":"IamSessionArnAlreadyRegisteredException"}, {"shape":"IamUserArnAlreadyRegisteredException"}, {"shape":"InstanceNameRequiredException"}, {"shape":"IamUserArnRequiredException"}, {"shape":"InvalidInstanceNameException"}, - {"shape":"InvalidIamUserArnException"} + {"shape":"InvalidIamSessionArnException"}, + {"shape":"InvalidIamUserArnException"}, + {"shape":"MultipleIamArnsProvidedException"} ], - "documentation":"

Registers an on-premises instance.

" + "documentation":"

Registers an on-premises instance.

Only one IAM ARN (an IAM session ARN or IAM user ARN) is supported in the request. You cannot use both.

" }, "RemoveTagsFromOnPremisesInstances":{ "name":"RemoveTagsFromOnPremisesInstances", @@ -553,6 +761,7 @@ "input":{"shape":"RemoveTagsFromOnPremisesInstancesInput"}, "errors":[ {"shape":"InstanceNameRequiredException"}, + {"shape":"InvalidInstanceNameException"}, {"shape":"TagRequiredException"}, {"shape":"InvalidTagException"}, {"shape":"TagLimitExceededException"}, @@ -561,6 +770,25 @@ ], "documentation":"

Removes one or more tags from one or more on-premises instances.

" }, + "SkipWaitTimeForInstanceTermination":{ + "name":"SkipWaitTimeForInstanceTermination", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SkipWaitTimeForInstanceTerminationInput"}, + "errors":[ + {"shape":"DeploymentIdRequiredException"}, + {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentAlreadyCompletedException"}, + {"shape":"InvalidDeploymentIdException"}, + {"shape":"DeploymentNotStartedException"}, + {"shape":"UnsupportedActionForDeploymentTypeException"} + ], + "documentation":"

In a blue/green deployment, overrides any specified wait time and starts terminating instances immediately after the traffic routing is complete.

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use ContinueDeployment with DeploymentWaitType instead." + }, "StopDeployment":{ "name":"StopDeployment", "http":{ @@ -572,11 +800,53 @@ "errors":[ {"shape":"DeploymentIdRequiredException"}, {"shape":"DeploymentDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, {"shape":"DeploymentAlreadyCompletedException"}, - {"shape":"InvalidDeploymentIdException"} + {"shape":"InvalidDeploymentIdException"}, + {"shape":"UnsupportedActionForDeploymentTypeException"} ], "documentation":"

Attempts to stop an ongoing deployment.

" }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ResourceArnRequiredException"}, + {"shape":"ApplicationDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"TagRequiredException"}, + {"shape":"InvalidTagsToAddException"}, + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Associates the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ResourceArnRequiredException"}, + {"shape":"ApplicationDoesNotExistException"}, + {"shape":"DeploymentGroupDoesNotExistException"}, + {"shape":"DeploymentConfigDoesNotExistException"}, + {"shape":"TagRequiredException"}, + {"shape":"InvalidTagsToAddException"}, + {"shape":"ArnNotSupportedException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Disassociates a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identified by the list of keys in the TagKeys input parameter.

" + }, "UpdateApplication":{ "name":"UpdateApplication", "http":{ @@ -619,7 +889,19 @@ {"shape":"TriggerTargetsLimitExceededException"}, {"shape":"InvalidAlarmConfigException"}, {"shape":"AlarmsLimitExceededException"}, - {"shape":"InvalidAutoRollbackConfigException"} + {"shape":"InvalidAutoRollbackConfigException"}, + {"shape":"InvalidLoadBalancerInfoException"}, + {"shape":"InvalidDeploymentStyleException"}, + {"shape":"InvalidBlueGreenDeploymentConfigurationException"}, + {"shape":"InvalidEC2TagCombinationException"}, + {"shape":"InvalidOnPremisesTagCombinationException"}, + {"shape":"TagSetListLimitExceededException"}, + {"shape":"InvalidInputException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidECSServiceException"}, + {"shape":"InvalidTargetGroupPairException"}, + {"shape":"ECSServiceMappingLimitExceededException"}, + {"shape":"InvalidTrafficRoutingConfigurationException"} ], "documentation":"

Changes information about a deployment group.

" } @@ -643,6 +925,11 @@ }, "documentation":"

Represents the input of, and adds tags to, an on-premises instance operation.

" }, + "AdditionalDeploymentStatusInfo":{ + "type":"string", + "deprecated":true, + "deprecatedMessage":"AdditionalDeploymentStatusInfo is deprecated, use DeploymentStatusMessageList instead." + }, "Alarm":{ "type":"structure", "members":{ @@ -662,7 +949,7 @@ }, "ignorePollAlarmFailure":{ "shape":"Boolean", - "documentation":"

Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

  • true: The deployment will proceed even if alarm status information can't be retrieved from Amazon CloudWatch.

  • false: The deployment will stop if alarm status information can't be retrieved from Amazon CloudWatch.

" + "documentation":"

Indicates whether a deployment should continue if information about the current state of alarms cannot be retrieved from Amazon CloudWatch. The default value is false.

  • true: The deployment proceeds even if alarm status information can't be retrieved from Amazon CloudWatch.

  • false: The deployment stops if alarm status information can't be retrieved from Amazon CloudWatch.

" }, "alarms":{ "shape":"AlarmList", @@ -683,18 +970,32 @@ "documentation":"

The maximum number of alarms for a deployment group (10) was exceeded.

", "exception":true }, + "AppSpecContent":{ + "type":"structure", + "members":{ + "content":{ + "shape":"RawStringContent", + "documentation":"

The YAML-formatted or JSON-formatted revision string.

For an AWS Lambda deployment, the content includes a Lambda function name, the alias for its original version, and the alias for its replacement version. The deployment shifts traffic from the original version of the Lambda function to the replacement version.

For an Amazon ECS deployment, the content includes the task name, information about the load balancer that serves traffic to the container, and more.

For both types of deployments, the content can specify Lambda functions that run at specified hooks, such as BeforeInstall, during a deployment.

" + }, + "sha256":{ + "shape":"RawStringSha256", + "documentation":"

The SHA256 hash value of the revision content.

" + } + }, + "documentation":"

A revision for an AWS Lambda or Amazon ECS deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda and Amazon ECS deployments, the revision is the same as the AppSpec file. This method replaces the deprecated RawString data type.

" + }, "ApplicationAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

An application with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

An application with the specified name with the IAM user or AWS account already exists.

", "exception":true }, "ApplicationDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The application does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The application does not exist with the IAM user or AWS account.

", "exception":true }, "ApplicationId":{"type":"string"}, @@ -715,7 +1016,15 @@ }, "linkedToGitHub":{ "shape":"Boolean", - "documentation":"

True if the user has authenticated with GitHub for the specified application; otherwise, false.

" + "documentation":"

True if the user has authenticated with GitHub for the specified application. Otherwise, false.

" + }, + "gitHubAccountName":{ + "shape":"GitHubAccountTokenName", + "documentation":"

The name for a connection to a GitHub account.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for deployment of the application (Lambda or Server).

" } }, "documentation":"

Information about an application.

" @@ -755,6 +1064,18 @@ "type":"list", "member":{"shape":"ApplicationName"} }, + "Arn":{ + "type":"string", + "max":1011, + "min":1 + }, + "ArnNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ARN is not supported. For example, it might be an ARN for a resource that is not expected.

", + "exception":true + }, "AutoRollbackConfiguration":{ "type":"structure", "members":{ @@ -767,7 +1088,7 @@ "documentation":"

The event type or types that trigger a rollback.

" } }, - "documentation":"

Information about a configuration for automatically rolling back to a previous version of an application revision when a deployment doesn't complete successfully.

" + "documentation":"

Information about a configuration for automatically rolling back to a previous version of an application revision when a deployment is not completed successfully.

" }, "AutoRollbackEvent":{ "type":"string", @@ -818,10 +1139,10 @@ }, "revisions":{ "shape":"RevisionLocationList", - "documentation":"

Information to get about the application revisions, including type and location.

" + "documentation":"

An array of RevisionLocation objects that specify information to get about the application revisions, including type and location. The maximum number of RevisionLocation objects you can specify is 25.

" } }, - "documentation":"

Represents the input of a batch get application revisions operation.

" + "documentation":"

Represents the input of a BatchGetApplicationRevisions operation.

" }, "BatchGetApplicationRevisionsOutput":{ "type":"structure", @@ -832,24 +1153,25 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" }, "revisions":{ "shape":"RevisionInfoList", "documentation":"

Additional information about the revisions, including the type and location.

" } }, - "documentation":"

Represents the output of a batch get application revisions operation.

" + "documentation":"

Represents the output of a BatchGetApplicationRevisions operation.

" }, "BatchGetApplicationsInput":{ "type":"structure", + "required":["applicationNames"], "members":{ "applicationNames":{ "shape":"ApplicationsList", - "documentation":"

A list of application names separated by spaces.

" + "documentation":"

A list of application names separated by spaces. The maximum number of application names you can specify is 100.

" } }, - "documentation":"

Represents the input of a batch get applications operation.

" + "documentation":"

Represents the input of a BatchGetApplications operation.

" }, "BatchGetApplicationsOutput":{ "type":"structure", @@ -859,7 +1181,7 @@ "documentation":"

Information about the applications.

" } }, - "documentation":"

Represents the output of a batch get applications operation.

" + "documentation":"

Represents the output of a BatchGetApplications operation.

" }, "BatchGetDeploymentGroupsInput":{ "type":"structure", @@ -874,10 +1196,10 @@ }, "deploymentGroupNames":{ "shape":"DeploymentGroupsList", - "documentation":"

The deployment groups' names.

" + "documentation":"

The names of the deployment groups.

" } }, - "documentation":"

Represents the input of a batch get deployment groups operation.

" + "documentation":"

Represents the input of a BatchGetDeploymentGroups operation.

" }, "BatchGetDeploymentGroupsOutput":{ "type":"structure", @@ -888,10 +1210,10 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" } }, - "documentation":"

Represents the output of a batch get deployment groups operation.

" + "documentation":"

Represents the output of a BatchGetDeploymentGroups operation.

" }, "BatchGetDeploymentInstancesInput":{ "type":"structure", @@ -902,14 +1224,14 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceIds":{ "shape":"InstancesList", - "documentation":"

The unique IDs of instances in the deployment group.

" + "documentation":"

The unique IDs of instances used in the deployment. The maximum number of instance IDs you can specify is 25.

" } }, - "documentation":"

Represents the input of a batch get deployment instances operation.

" + "documentation":"

Represents the input of a BatchGetDeploymentInstances operation.

" }, "BatchGetDeploymentInstancesOutput":{ "type":"structure", @@ -920,40 +1242,64 @@ }, "errorMessage":{ "shape":"ErrorMessage", - "documentation":"

Information about errors that may have occurred during the API call.

" + "documentation":"

Information about errors that might have occurred during the API call.

" } }, - "documentation":"

Represents the output of a batch get deployment instance operation.

" + "documentation":"

Represents the output of a BatchGetDeploymentInstances operation.

" + }, + "BatchGetDeploymentTargetsInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetIds":{ + "shape":"TargetIdList", + "documentation":"

The unique IDs of the deployment targets. The compute platform of the deployment determines the type of the targets and their formats. The maximum number of deployment target IDs you can specify is 25.

  • For deployments that use the EC2/On-premises compute platform, the target IDs are EC2 or on-premises instances IDs, and their target type is instanceTarget.

  • For deployments that use the AWS Lambda compute platform, the target IDs are the names of Lambda functions, and their target type is instanceTarget.

  • For deployments that use the Amazon ECS compute platform, the target IDs are pairs of Amazon ECS clusters and services specified using the format <clustername>:<servicename>. Their target type is ecsTarget.

  • For deployments that are deployed with AWS CloudFormation, the target IDs are CloudFormation stack IDs. Their target type is cloudFormationTarget.

" + } + } + }, + "BatchGetDeploymentTargetsOutput":{ + "type":"structure", + "members":{ + "deploymentTargets":{ + "shape":"DeploymentTargetList", + "documentation":"

A list of target objects for a deployment. Each target object contains details about the target, such as its status and lifecycle events. The type of the target objects depends on the deployment' compute platform.

  • EC2/On-premises: Each target object is an EC2 or on-premises instance.

  • AWS Lambda: The target object is a specific version of an AWS Lambda function.

  • Amazon ECS: The target object is an Amazon ECS service.

  • CloudFormation: The target object is an AWS CloudFormation blue/green deployment.

" + } + } }, "BatchGetDeploymentsInput":{ "type":"structure", + "required":["deploymentIds"], "members":{ "deploymentIds":{ "shape":"DeploymentsList", - "documentation":"

A list of deployment IDs, separated by spaces.

" + "documentation":"

A list of deployment IDs, separated by spaces. The maximum number of deployment IDs you can specify is 25.

" } }, - "documentation":"

Represents the input of a batch get deployments operation.

" + "documentation":"

Represents the input of a BatchGetDeployments operation.

" }, "BatchGetDeploymentsOutput":{ "type":"structure", "members":{ "deploymentsInfo":{ "shape":"DeploymentsInfoList", - "documentation":"

Information about the deployments.

" + "documentation":"

Information about the deployments.

" } }, - "documentation":"

Represents the output of a batch get deployments operation.

" + "documentation":"

Represents the output of a BatchGetDeployments operation.

" }, "BatchGetOnPremisesInstancesInput":{ "type":"structure", + "required":["instanceNames"], "members":{ "instanceNames":{ "shape":"InstanceNameList", - "documentation":"

The names of the on-premises instances about which to get information.

" + "documentation":"

The names of the on-premises instances about which to get information. The maximum number of instance names you can specify is 25.

" } }, - "documentation":"

Represents the input of a batch get on-premises instances operation.

" + "documentation":"

Represents the input of a BatchGetOnPremisesInstances operation.

" }, "BatchGetOnPremisesInstancesOutput":{ "type":"structure", @@ -963,7 +1309,7 @@ "documentation":"

Information about the on-premises instances.

" } }, - "documentation":"

Represents the output of a batch get on-premises instances operation.

" + "documentation":"

Represents the output of a BatchGetOnPremisesInstances operation.

" }, "BatchLimitExceededException":{ "type":"structure", @@ -972,6 +1318,38 @@ "documentation":"

The maximum number of names or IDs allowed for this request (100) was exceeded.

", "exception":true }, + "BlueGreenDeploymentConfiguration":{ + "type":"structure", + "members":{ + "terminateBlueInstancesOnDeploymentSuccess":{ + "shape":"BlueInstanceTerminationOption", + "documentation":"

Information about whether to terminate instances in the original fleet during a blue/green deployment.

" + }, + "deploymentReadyOption":{ + "shape":"DeploymentReadyOption", + "documentation":"

Information about the action to take when newly provisioned instances are ready to receive traffic in a blue/green deployment.

" + }, + "greenFleetProvisioningOption":{ + "shape":"GreenFleetProvisioningOption", + "documentation":"

Information about how instances are provisioned for a replacement environment in a blue/green deployment.

" + } + }, + "documentation":"

Information about blue/green deployment options for a deployment group.

" + }, + "BlueInstanceTerminationOption":{ + "type":"structure", + "members":{ + "action":{ + "shape":"InstanceAction", + "documentation":"

The action to take on instances in the original environment after a successful blue/green deployment.

  • TERMINATE: Instances are terminated after a specified wait time.

  • KEEP_ALIVE: Instances are left running after they are deregistered from the load balancer and removed from the deployment group.

" + }, + "terminationWaitTimeInMinutes":{ + "shape":"Duration", + "documentation":"

For an Amazon EC2 deployment, the number of minutes to wait after a successful blue/green deployment before terminating instances from the original environment.

For an Amazon ECS deployment, the number of minutes before deleting the original (blue) task set. During an Amazon ECS deployment, CodeDeploy shifts traffic from the original (blue) task set to a replacement (green) task set.

The maximum setting is 2880 minutes (2 days).

" + } + }, + "documentation":"

Information about whether instances in the original environment are terminated when a blue/green deployment is successful. BlueInstanceTerminationOption does not apply to Lambda deployments.

" + }, "Boolean":{"type":"boolean"}, "BucketNameFilterRequiredException":{ "type":"structure", @@ -985,10 +1363,68 @@ "enum":[ "tar", "tgz", - "zip" + "zip", + "YAML", + "JSON" ] }, + "CloudFormationResourceType":{"type":"string"}, + "CloudFormationTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of an AWS CloudFormation blue/green deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of CloudFormationTarget.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target application was updated by an AWS CloudFormation blue/green deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the AWS CloudFormation blue/green deployment to this target application.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status of an AWS CloudFormation blue/green deployment's target application.

" + }, + "resourceType":{ + "shape":"CloudFormationResourceType", + "documentation":"

The resource type for the AWS CloudFormation blue/green deployment.

" + }, + "targetVersionWeight":{ + "shape":"TrafficWeight", + "documentation":"

The percentage of production traffic that the target version of an AWS CloudFormation blue/green deployment receives.

" + } + }, + "documentation":"

Information about the target to be updated by an AWS CloudFormation blue/green deployment. This target type is used for all deployments initiated by a CloudFormation stack update.

" + }, "CommitId":{"type":"string"}, + "ComputePlatform":{ + "type":"string", + "enum":[ + "Server", + "Lambda", + "ECS" + ] + }, + "ContinueDeploymentInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a blue/green deployment for which you want to start rerouting traffic to the replacement environment.

" + }, + "deploymentWaitType":{ + "shape":"DeploymentWaitType", + "documentation":"

The status of the deployment's waiting period. READY_WAIT indicates that the deployment is ready to start shifting traffic. TERMINATION_WAIT indicates that the traffic is shifted, but the original target is not terminated.

" + } + } + }, "CreateApplicationInput":{ "type":"structure", "required":["applicationName"], @@ -996,9 +1432,17 @@ "applicationName":{ "shape":"ApplicationName", "documentation":"

The name of the application. This name must be unique with the applicable IAM user or AWS account.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The metadata that you apply to CodeDeploy applications to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.

" } }, - "documentation":"

Represents the input of a create application operation.

" + "documentation":"

Represents the input of a CreateApplication operation.

" }, "CreateApplicationOutput":{ "type":"structure", @@ -1008,7 +1452,7 @@ "documentation":"

A unique application ID.

" } }, - "documentation":"

Represents the output of a create application operation.

" + "documentation":"

Represents the output of a CreateApplication operation.

" }, "CreateDeploymentConfigInput":{ "type":"structure", @@ -1020,10 +1464,18 @@ }, "minimumHealthyHosts":{ "shape":"MinimumHealthyHosts", - "documentation":"

The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.

The type parameter takes either of the following values:

  • HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.

  • FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instance and rounds up fractional instances.

The value parameter takes an integer.

For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.

" + "documentation":"

The minimum number of healthy instances that should be available at any time during the deployment. There are two parameters expected in the input: type and value.

The type parameter takes either of the following values:

  • HOST_COUNT: The value parameter represents the minimum number of healthy instances as an absolute value.

  • FLEET_PERCENT: The value parameter represents the minimum number of healthy instances as a percentage of the total number of instances in the deployment. If you specify FLEET_PERCENT, at the start of the deployment, AWS CodeDeploy converts the percentage to the equivalent number of instances and rounds up fractional instances.

The value parameter takes an integer.

For example, to set a minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a value of 95.

" + }, + "trafficRoutingConfig":{ + "shape":"TrafficRoutingConfig", + "documentation":"

The configuration that specifies how the deployment traffic is routed.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" } }, - "documentation":"

Represents the input of a create deployment configuration operation.

" + "documentation":"

Represents the input of a CreateDeploymentConfig operation.

" }, "CreateDeploymentConfigOutput":{ "type":"structure", @@ -1033,7 +1485,7 @@ "documentation":"

A unique deployment configuration ID.

" } }, - "documentation":"

Represents the output of a create deployment configuration operation.

" + "documentation":"

Represents the output of a CreateDeploymentConfig operation.

" }, "CreateDeploymentGroupInput":{ "type":"structure", @@ -1045,7 +1497,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1053,38 +1505,66 @@ }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or the deployment group.

The predefined deployment configurations include the following:

  • CodeDeployDefault.AllAtOnce attempts to deploy an application revision to as many instances as possible at once. The status of the overall deployment will be displayed as Succeeded if the application revision is deployed to one or more of the instances. The status of the overall deployment will be displayed as Failed if the application revision is not deployed to any of the instances. Using an example of nine instances, CodeDeployDefault.AllAtOnce will attempt to deploy to all nine instances at once. The overall deployment will succeed if deployment to even a single instance is successful; it will fail only if deployments to all nine instances fail.

  • CodeDeployDefault.HalfAtATime deploys to up to half of the instances at a time (with fractions rounded down). The overall deployment succeeds if the application revision is deployed to at least half of the instances (with fractions rounded up); otherwise, the deployment fails. In the example of nine instances, it will deploy to up to four instances at a time. The overall deployment succeeds if deployment to five or more instances succeed; otherwise, the deployment fails. The deployment may be successfully deployed to some instances even if the overall deployment fails.

  • CodeDeployDefault.OneAtATime deploys the application revision to only one instance at a time.

    For deployment groups that contain more than one instance:

    • The overall deployment succeeds if the application revision is deployed to all of the instances. The exception to this rule is if deployment to the last instance fails, the overall deployment still succeeds. This is because AWS CodeDeploy allows only one instance at a time to be taken offline with the CodeDeployDefault.OneAtATime configuration.

    • The overall deployment fails as soon as the application revision fails to be deployed to any but the last instance. The deployment may be successfully deployed to some instances even if the overall deployment fails.

    • In an example using nine instances, it will deploy to one instance at a time. The overall deployment succeeds if deployment to the first eight instances is successful; the overall deployment fails if deployment to any of the first eight instances fails.

    For deployment groups that contain only one instance, the overall deployment is successful only if deployment to the single instance is successful

" + "documentation":"

If specified, the deployment configuration name can be either one of the predefined configurations provided with AWS CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.

CodeDeployDefault.OneAtATime is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.

For more information about the predefined deployment configurations in AWS CodeDeploy, see Working with Deployment Configurations in CodeDeploy in the AWS CodeDeploy User Guide.

" }, "ec2TagFilters":{ "shape":"EC2TagFilterList", - "documentation":"

The Amazon EC2 tags on which to filter.

" + "documentation":"

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.

" }, "onPremisesInstanceTagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter.

" + "documentation":"

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as OnPremisesTagSet.

" }, "autoScalingGroups":{ "shape":"AutoScalingGroupNameList", - "documentation":"

A list of associated Auto Scaling groups.

" + "documentation":"

A list of associated Amazon EC2 Auto Scaling groups.

" }, "serviceRoleArn":{ "shape":"Role", - "documentation":"

A service role ARN that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.

" + "documentation":"

A service role Amazon Resource Name (ARN) that allows AWS CodeDeploy to act on the user's behalf when interacting with AWS services.

" }, "triggerConfigurations":{ "shape":"TriggerConfigList", - "documentation":"

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.

" + "documentation":"

Information about triggers to create when the deployment group is created. For examples, see Create a Trigger for an AWS CodeDeploy Event in the AWS CodeDeploy User Guide.

" }, "alarmConfiguration":{ "shape":"AlarmConfiguration", - "documentation":"

Information to add about Amazon CloudWatch alarms when the deployment group is created.

" + "documentation":"

Information to add about Amazon CloudWatch alarms when the deployment group is created.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", "documentation":"

Configuration information for an automatic rollback that is added when a deployment group is created.

" + }, + "deploymentStyle":{ + "shape":"DeploymentStyle", + "documentation":"

Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.

" + }, + "blueGreenDeploymentConfiguration":{ + "shape":"BlueGreenDeploymentConfiguration", + "documentation":"

Information about blue/green deployment options for a deployment group.

" + }, + "loadBalancerInfo":{ + "shape":"LoadBalancerInfo", + "documentation":"

Information about the load balancer used in a deployment.

" + }, + "ec2TagSet":{ + "shape":"EC2TagSet", + "documentation":"

Information about groups of tags applied to EC2 instances. The deployment group includes only EC2 instances identified by all the tag groups. Cannot be used in the same call as ec2TagFilters.

" + }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + }, + "onPremisesTagSet":{ + "shape":"OnPremisesTagSet", + "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.

" } }, - "documentation":"

Represents the input of a create deployment group operation.

" + "documentation":"

Represents the input of a CreateDeploymentGroup operation.

" }, "CreateDeploymentGroupOutput":{ "type":"structure", @@ -1094,7 +1574,7 @@ "documentation":"

A unique deployment group ID.

" } }, - "documentation":"

Represents the output of a create deployment group operation.

" + "documentation":"

Represents the output of a CreateDeploymentGroup operation.

" }, "CreateDeploymentInput":{ "type":"structure", @@ -1102,7 +1582,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", @@ -1110,11 +1590,11 @@ }, "revision":{ "shape":"RevisionLocation", - "documentation":"

The type and location of the revision to deploy.

" + "documentation":"

The type and location of the revision to deploy.

" }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

If not specified, the value configured in the deployment group will be used as the default. If the deployment group does not have a deployment configuration associated with it, then CodeDeployDefault.OneAtATime will be used by default.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

If not specified, the value configured in the deployment group is used as the default. If the deployment group does not have a deployment configuration associated with it, CodeDeployDefault.OneAtATime is used by default.

" }, "description":{ "shape":"Description", @@ -1122,7 +1602,11 @@ }, "ignoreApplicationStopFailures":{ "shape":"Boolean", - "documentation":"

If set to true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If set to false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to fail to an instance, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" + "documentation":"

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the AWS CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

" + }, + "targetInstances":{ + "shape":"TargetInstances", + "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1130,20 +1614,24 @@ }, "updateOutdatedInstancesOnly":{ "shape":"Boolean", - "documentation":"

Indicates whether to deploy to all instances or only to instances that are not running the latest application revision.

" + "documentation":"

Indicates whether to deploy to all instances or only to instances that are not running the latest application revision.

" + }, + "fileExistsBehavior":{ + "shape":"FileExistsBehavior", + "documentation":"

Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.

The fileExistsBehavior parameter takes any of the following values:

  • DISALLOW: The deployment fails. This is also the default behavior if no option is specified.

  • OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance.

  • RETAIN: The version of the file already on the instance is kept and used as part of the new deployment.

" } }, - "documentation":"

Represents the input of a create deployment operation.

" + "documentation":"

Represents the input of a CreateDeployment operation.

" }, "CreateDeploymentOutput":{ "type":"structure", "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

A unique deployment ID.

" + "documentation":"

The unique ID of a deployment.

" } }, - "documentation":"

Represents the output of a create deployment operation.

" + "documentation":"

Represents the output of a CreateDeployment operation.

" }, "DeleteApplicationInput":{ "type":"structure", @@ -1151,10 +1639,10 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a delete application operation.

" + "documentation":"

Represents the input of a DeleteApplication operation.

" }, "DeleteDeploymentConfigInput":{ "type":"structure", @@ -1162,10 +1650,10 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a delete deployment configuration operation.

" + "documentation":"

Represents the input of a DeleteDeploymentConfig operation.

" }, "DeleteDeploymentGroupInput":{ "type":"structure", @@ -1176,14 +1664,14 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

" } }, - "documentation":"

Represents the input of a delete deployment group operation.

" + "documentation":"

Represents the input of a DeleteDeploymentGroup operation.

" }, "DeleteDeploymentGroupOutput":{ "type":"structure", @@ -1193,7 +1681,41 @@ "documentation":"

If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the Amazon EC2 instances in the Auto Scaling group.

" } }, - "documentation":"

Represents the output of a delete deployment group operation.

" + "documentation":"

Represents the output of a DeleteDeploymentGroup operation.

" + }, + "DeleteGitHubAccountTokenInput":{ + "type":"structure", + "members":{ + "tokenName":{ + "shape":"GitHubAccountTokenName", + "documentation":"

The name of the GitHub account connection to delete.

" + } + }, + "documentation":"

Represents the input of a DeleteGitHubAccount operation.

" + }, + "DeleteGitHubAccountTokenOutput":{ + "type":"structure", + "members":{ + "tokenName":{ + "shape":"GitHubAccountTokenName", + "documentation":"

The name of the GitHub account connection that was deleted.

" + } + }, + "documentation":"

Represents the output of a DeleteGitHubAccountToken operation.

" + }, + "DeleteResourcesByExternalIdInput":{ + "type":"structure", + "members":{ + "externalId":{ + "shape":"ExternalId", + "documentation":"

The unique ID of an external resource (for example, a CloudFormation stack ID) that is linked to one or more CodeDeploy resources.

" + } + } + }, + "DeleteResourcesByExternalIdOutput":{ + "type":"structure", + "members":{ + } }, "DeploymentAlreadyCompletedException":{ "type":"structure", @@ -1202,18 +1724,25 @@ "documentation":"

The deployment is already complete.

", "exception":true }, + "DeploymentAlreadyStartedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A deployment to a target was attempted while another deployment was in progress.

", + "exception":true + }, "DeploymentConfigAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

A deployment configuration with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

A deployment configuration with the specified name with the IAM user or AWS account already exists.

", "exception":true }, "DeploymentConfigDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The deployment configuration does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The deployment configuration does not exist with the IAM user or AWS account.

", "exception":true }, "DeploymentConfigId":{"type":"string"}, @@ -1242,6 +1771,14 @@ "createTime":{ "shape":"Timestamp", "documentation":"

The time at which the deployment configuration was created.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" + }, + "trafficRoutingConfig":{ + "shape":"TrafficRoutingConfig", + "documentation":"

The configuration that specifies how the deployment traffic is routed. Used for deployments with a Lambda or ECS compute platform only.

" } }, "documentation":"

Information about a deployment configuration.

" @@ -1274,28 +1811,31 @@ "enum":[ "user", "autoscaling", - "codeDeployRollback" + "codeDeployRollback", + "CodeDeploy", + "CloudFormation", + "CloudFormationRollback" ] }, "DeploymentDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The deployment does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The deployment with the IAM user or AWS account does not exist.

", "exception":true }, "DeploymentGroupAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

A deployment group with the specified name already exists with the applicable IAM user or AWS account.

", + "documentation":"

A deployment group with the specified name with the IAM user or AWS account already exists.

", "exception":true }, "DeploymentGroupDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The named deployment group does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The named deployment group with the IAM user or AWS account does not exist.

", "exception":true }, "DeploymentGroupId":{"type":"string"}, @@ -1320,11 +1860,11 @@ }, "ec2TagFilters":{ "shape":"EC2TagFilterList", - "documentation":"

The Amazon EC2 tags on which to filter.

" + "documentation":"

The Amazon EC2 tags on which to filter. The deployment group includes EC2 instances with any of the specified tags.

" }, "onPremisesInstanceTagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags on which to filter.

" + "documentation":"

The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags.

" }, "autoScalingGroups":{ "shape":"AutoScalingGroupList", @@ -1332,7 +1872,7 @@ }, "serviceRoleArn":{ "shape":"Role", - "documentation":"

A service role ARN.

" + "documentation":"

A service role Amazon Resource Name (ARN) that grants CodeDeploy permission to make calls to AWS services on your behalf. For more information, see Create a Service Role for AWS CodeDeploy in the AWS CodeDeploy User Guide.

" }, "targetRevision":{ "shape":"RevisionLocation", @@ -1349,6 +1889,42 @@ "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", "documentation":"

Information about the automatic rollback configuration associated with the deployment group.

" + }, + "deploymentStyle":{ + "shape":"DeploymentStyle", + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + }, + "blueGreenDeploymentConfiguration":{ + "shape":"BlueGreenDeploymentConfiguration", + "documentation":"

Information about blue/green deployment options for a deployment group.

" + }, + "loadBalancerInfo":{ + "shape":"LoadBalancerInfo", + "documentation":"

Information about the load balancer to use in a deployment.

" + }, + "lastSuccessfulDeployment":{ + "shape":"LastDeploymentInfo", + "documentation":"

Information about the most recent successful deployment to the deployment group.

" + }, + "lastAttemptedDeployment":{ + "shape":"LastDeploymentInfo", + "documentation":"

Information about the most recent attempted deployment to the deployment group.

" + }, + "ec2TagSet":{ + "shape":"EC2TagSet", + "documentation":"

Information about groups of tags applied to an EC2 instance. The deployment group includes only EC2 instances identified by all of the tag groups. Cannot be used in the same call as ec2TagFilters.

" + }, + "onPremisesTagSet":{ + "shape":"OnPremisesTagSet", + "documentation":"

Information about groups of tags applied to an on-premises instance. The deployment group includes only on-premises instances identified by all the tag groups. Cannot be used in the same call as onPremisesInstanceTagFilters.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" + }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" } }, "documentation":"

Information about a deployment group.

" @@ -1397,15 +1973,19 @@ }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The deployment group name.

" + "documentation":"

The deployment group name.

" }, "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The deployment configuration name.

" + "documentation":"

The deployment configuration name.

" }, "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID.

" + "documentation":"

The unique ID of a deployment.

" + }, + "previousRevision":{ + "shape":"RevisionLocation", + "documentation":"

Information about the application revision that was deployed to the deployment group before the most recent successful deployment.

" }, "revision":{ "shape":"RevisionLocation", @@ -1421,15 +2001,15 @@ }, "createTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was created.

" + "documentation":"

A timestamp that indicates when the deployment was created.

" }, "startTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was deployed to the deployment group.

In some cases, the reported value of the start time may be later than the complete time. This is due to differences in the clock settings of back-end servers that participate in the deployment process.

" + "documentation":"

A timestamp that indicates when the deployment was deployed to the deployment group.

In some cases, the reported value of the start time might be later than the complete time. This is due to differences in the clock settings of backend servers that participate in the deployment process.

" }, "completeTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment was complete.

" + "documentation":"

A timestamp that indicates when the deployment was complete.

" }, "deploymentOverview":{ "shape":"DeploymentOverview", @@ -1441,11 +2021,11 @@ }, "creator":{ "shape":"DeploymentCreator", - "documentation":"

The means by which the deployment was created:

  • user: A user created the deployment.

  • autoscaling: Auto Scaling created the deployment.

  • codeDeployRollback: A rollback process created the deployment.

" + "documentation":"

The means by which the deployment was created:

  • user: A user created the deployment.

  • autoscaling: Amazon EC2 Auto Scaling created the deployment.

  • codeDeployRollback: A rollback process created the deployment.

" }, "ignoreApplicationStopFailures":{ "shape":"Boolean", - "documentation":"

If true, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will not be considered to have failed at that point and will continue on to the BeforeInstall deployment lifecycle event.

If false or not specified, then if the deployment causes the ApplicationStop deployment lifecycle event to an instance to fail, the deployment to that instance will stop, and the deployment to that instance will be considered to have failed.

" + "documentation":"

If true, then if an ApplicationStop, BeforeBlockTraffic, or AfterBlockTraffic deployment lifecycle event to an instance fails, then the deployment continues to the next deployment lifecycle event. For example, if ApplicationStop fails, the deployment continues with DownloadBundle. If BeforeBlockTraffic fails, the deployment continues with BlockTraffic. If AfterBlockTraffic fails, the deployment continues with ApplicationStop.

If false or not specified, then if a lifecycle event fails during a deployment to an instance, that deployment fails. If deployment to that instance is part of an overall deployment and the number of healthy hosts is not less than the minimum number of healthy hosts, then a deployment to the next instance is attempted.

During a deployment, the AWS CodeDeploy agent runs the scripts specified for ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic in the AppSpec file from the previous successful deployment. (All other scripts are run from the AppSpec file in the current deployment.) If one of these scripts contains an error and does not run successfully, the deployment can fail.

If the cause of the failure is a script from the last successful deployment that will never run successfully, create a new deployment and use ignoreApplicationStopFailures to specify that the ApplicationStop, BeforeBlockTraffic, and AfterBlockTraffic failures should be ignored.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", @@ -1458,10 +2038,57 @@ "rollbackInfo":{ "shape":"RollbackInfo", "documentation":"

Information about a deployment rollback.

" + }, + "deploymentStyle":{ + "shape":"DeploymentStyle", + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + }, + "targetInstances":{ + "shape":"TargetInstances", + "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" + }, + "instanceTerminationWaitTimeStarted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the wait period set for the termination of instances in the original environment has started. Status is 'false' if the KEEP_ALIVE option is specified. Otherwise, 'true' as soon as the termination wait period starts.

" + }, + "blueGreenDeploymentConfiguration":{ + "shape":"BlueGreenDeploymentConfiguration", + "documentation":"

Information about blue/green deployment options for this deployment.

" + }, + "loadBalancerInfo":{ + "shape":"LoadBalancerInfo", + "documentation":"

Information about the load balancer used in the deployment.

" + }, + "additionalDeploymentStatusInfo":{ + "shape":"AdditionalDeploymentStatusInfo", + "documentation":"

Provides information about the results of a deployment, such as whether instances in the original environment in a blue/green deployment were not terminated.

" + }, + "fileExistsBehavior":{ + "shape":"FileExistsBehavior", + "documentation":"

Information about how AWS CodeDeploy handles files that already exist in a deployment target location but weren't part of the previous successful deployment.

  • DISALLOW: The deployment fails. This is also the default behavior if no option is specified.

  • OVERWRITE: The version of the file from the application revision currently being deployed replaces the version already on the instance.

  • RETAIN: The version of the file already on the instance is kept and used as part of the new deployment.

" + }, + "deploymentStatusMessages":{ + "shape":"DeploymentStatusMessageList", + "documentation":"

Messages that contain information about the status of a deployment.

" + }, + "computePlatform":{ + "shape":"ComputePlatform", + "documentation":"

The destination platform type for the deployment (Lambda, Server, or ECS).

" + }, + "externalId":{ + "shape":"ExternalId", + "documentation":"

The unique ID for an external resource (for example, a CloudFormation stack ID) that is linked to this deployment.

" } }, "documentation":"

Information about a deployment.

" }, + "DeploymentIsNotInReadyStateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The deployment does not have a status of Ready and can't continue yet.

", + "exception":true + }, "DeploymentLimitExceededException":{ "type":"structure", "members":{ @@ -1476,6 +2103,13 @@ "documentation":"

The specified deployment has not started.

", "exception":true }, + "DeploymentOption":{ + "type":"string", + "enum":[ + "WITH_TRAFFIC_CONTROL", + "WITHOUT_TRAFFIC_CONTROL" + ] + }, "DeploymentOverview":{ "type":"structure", "members":{ @@ -1498,25 +2132,141 @@ "Skipped":{ "shape":"InstanceCount", "documentation":"

The number of instances in the deployment in a skipped state.

" + }, + "Ready":{ + "shape":"InstanceCount", + "documentation":"

The number of instances in a replacement environment ready to receive traffic in a blue/green deployment.

" } }, "documentation":"

Information about the deployment status of the instances in the deployment.

" }, + "DeploymentReadyAction":{ + "type":"string", + "enum":[ + "CONTINUE_DEPLOYMENT", + "STOP_DEPLOYMENT" + ] + }, + "DeploymentReadyOption":{ + "type":"structure", + "members":{ + "actionOnTimeout":{ + "shape":"DeploymentReadyAction", + "documentation":"

Information about when to reroute traffic from an original environment to a replacement environment in a blue/green deployment.

  • CONTINUE_DEPLOYMENT: Register new instances with the load balancer immediately after the new application revision is installed on the instances in the replacement environment.

  • STOP_DEPLOYMENT: Do not register new instances with a load balancer unless traffic rerouting is started using ContinueDeployment. If traffic rerouting is not started before the end of the specified wait period, the deployment status is changed to Stopped.

" + }, + "waitTimeInMinutes":{ + "shape":"Duration", + "documentation":"

The number of minutes to wait before the status of a blue/green deployment is changed to Stopped if rerouting is not started manually. Applies only to the STOP_DEPLOYMENT option for actionOnTimeout.

" + } + }, + "documentation":"

Information about how traffic is rerouted to instances in a replacement environment in a blue/green deployment.

" + }, "DeploymentStatus":{ "type":"string", "enum":[ "Created", "Queued", "InProgress", + "Baking", "Succeeded", "Failed", - "Stopped" + "Stopped", + "Ready" ] }, "DeploymentStatusList":{ "type":"list", "member":{"shape":"DeploymentStatus"} }, + "DeploymentStatusMessageList":{ + "type":"list", + "member":{"shape":"ErrorMessage"} + }, + "DeploymentStyle":{ + "type":"structure", + "members":{ + "deploymentType":{ + "shape":"DeploymentType", + "documentation":"

Indicates whether to run an in-place deployment or a blue/green deployment.

" + }, + "deploymentOption":{ + "shape":"DeploymentOption", + "documentation":"

Indicates whether to route deployment traffic behind a load balancer.

" + } + }, + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + }, + "DeploymentTarget":{ + "type":"structure", + "members":{ + "deploymentTargetType":{ + "shape":"DeploymentTargetType", + "documentation":"

The deployment type that is specific to the deployment's compute platform or deployments initiated by a CloudFormation stack update.

" + }, + "instanceTarget":{ + "shape":"InstanceTarget", + "documentation":"

Information about the target for a deployment that uses the EC2/On-premises compute platform.

" + }, + "lambdaTarget":{ + "shape":"LambdaTarget", + "documentation":"

Information about the target for a deployment that uses the AWS Lambda compute platform.

" + }, + "ecsTarget":{ + "shape":"ECSTarget", + "documentation":"

Information about the target for a deployment that uses the Amazon ECS compute platform.

" + }, + "cloudFormationTarget":{"shape":"CloudFormationTarget"} + }, + "documentation":"

Information about the deployment target.

" + }, + "DeploymentTargetDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The provided target ID does not belong to the attempted deployment.

", + "exception":true + }, + "DeploymentTargetIdRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A deployment target ID was not provided.

", + "exception":true + }, + "DeploymentTargetList":{ + "type":"list", + "member":{"shape":"DeploymentTarget"} + }, + "DeploymentTargetListSizeExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The maximum number of targets that can be associated with an Amazon ECS or AWS Lambda deployment was exceeded. The target list of both types of deployments must have exactly one item. This exception does not apply to EC2/On-premises deployments.

", + "exception":true + }, + "DeploymentTargetType":{ + "type":"string", + "enum":[ + "InstanceTarget", + "LambdaTarget", + "ECSTarget", + "CloudFormationTarget" + ] + }, + "DeploymentType":{ + "type":"string", + "enum":[ + "IN_PLACE", + "BLUE_GREEN" + ] + }, + "DeploymentWaitType":{ + "type":"string", + "enum":[ + "READY_WAIT", + "TERMINATION_WAIT" + ] + }, "DeploymentsInfoList":{ "type":"list", "member":{"shape":"DeploymentInfo"} @@ -1534,7 +2284,7 @@ "documentation":"

The name of the on-premises instance to deregister.

" } }, - "documentation":"

Represents the input of a deregister on-premises instance operation.

" + "documentation":"

Represents the input of a DeregisterOnPremisesInstance operation.

" }, "Description":{"type":"string"}, "DescriptionTooLongException":{ @@ -1566,6 +2316,7 @@ }, "documentation":"

Diagnostic information about executable scripts that are part of a deployment.

" }, + "Duration":{"type":"integer"}, "EC2TagFilter":{ "type":"structure", "members":{ @@ -1579,10 +2330,10 @@ }, "Type":{ "shape":"EC2TagFilterType", - "documentation":"

The tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" + "documentation":"

The tag filter type:

  • KEY_ONLY: Key only.

  • VALUE_ONLY: Value only.

  • KEY_AND_VALUE: Key and value.

" } }, - "documentation":"

Information about a tag filter.

" + "documentation":"

Information about an EC2 tag filter.

" }, "EC2TagFilterList":{ "type":"list", @@ -1596,28 +2347,179 @@ "KEY_AND_VALUE" ] }, + "EC2TagSet":{ + "type":"structure", + "members":{ + "ec2TagSetList":{ + "shape":"EC2TagSetList", + "documentation":"

A list that contains other lists of EC2 instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.

" + } + }, + "documentation":"

Information about groups of EC2 instance tags.

" + }, + "EC2TagSetList":{ + "type":"list", + "member":{"shape":"EC2TagFilterList"} + }, + "ECSClusterName":{"type":"string"}, + "ECSService":{ + "type":"structure", + "members":{ + "serviceName":{ + "shape":"ECSServiceName", + "documentation":"

The name of the target Amazon ECS service.

" + }, + "clusterName":{ + "shape":"ECSClusterName", + "documentation":"

The name of the cluster that the Amazon ECS service is associated with.

" + } + }, + "documentation":"

Contains the service and cluster names used to identify an Amazon ECS deployment's target.

" + }, + "ECSServiceList":{ + "type":"list", + "member":{"shape":"ECSService"} + }, + "ECSServiceMappingLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon ECS service is associated with more than one deployment groups. An Amazon ECS service can be associated with only one deployment group.

", + "exception":true + }, + "ECSServiceName":{"type":"string"}, + "ECSTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of ecsTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The Amazon Resource Name (ARN) of the target.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target Amazon ECS application was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target Amazon ECS application.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an Amazon ECS deployment's target ECS application.

" + }, + "taskSetsInfo":{ + "shape":"ECSTaskSetList", + "documentation":"

The ECSTaskSet objects associated with the ECS target.

" + } + }, + "documentation":"

Information about the target of an Amazon ECS deployment.

" + }, + "ECSTaskSet":{ + "type":"structure", + "members":{ + "identifer":{ + "shape":"ECSTaskSetIdentifier", + "documentation":"

A unique ID of an ECSTaskSet.

" + }, + "desiredCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in a task set. During a deployment that uses the Amazon ECS compute type, CodeDeploy instructs Amazon ECS to create a new task set and uses this value to determine how many tasks to create. After the updated task set is created, CodeDeploy shifts traffic to the new task set.

" + }, + "pendingCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in the task set that are in the PENDING status during an Amazon ECS deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time, or when it is restarted after being in the STOPPED state.

" + }, + "runningCount":{ + "shape":"ECSTaskSetCount", + "documentation":"

The number of tasks in the task set that are in the RUNNING status during an Amazon ECS deployment. A task in the RUNNING state is running and ready for use.

" + }, + "status":{ + "shape":"ECSTaskSetStatus", + "documentation":"

The status of the task set. There are three valid task set statuses:

  • PRIMARY: Indicates the task set is serving production traffic.

  • ACTIVE: Indicates the task set is not serving production traffic.

  • DRAINING: Indicates the tasks in the task set are being stopped and their corresponding targets are being deregistered from their target group.

" + }, + "trafficWeight":{ + "shape":"TrafficWeight", + "documentation":"

The percentage of traffic served by this task set.

" + }, + "targetGroup":{ + "shape":"TargetGroupInfo", + "documentation":"

The target group associated with the task set. The target group is used by AWS CodeDeploy to manage traffic to a task set.

" + }, + "taskSetLabel":{ + "shape":"TargetLabel", + "documentation":"

A label that identifies whether the ECS task set is an original target (BLUE) or a replacement target (GREEN).

" + } + }, + "documentation":"

Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic. An AWS CodeDeploy application that uses the Amazon ECS compute platform deploys a containerized application in an Amazon ECS service as a task set.

" + }, + "ECSTaskSetCount":{"type":"long"}, + "ECSTaskSetIdentifier":{"type":"string"}, + "ECSTaskSetList":{ + "type":"list", + "member":{"shape":"ECSTaskSet"} + }, + "ECSTaskSetStatus":{"type":"string"}, + "ELBInfo":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ELBName", + "documentation":"

For blue/green deployments, the name of the load balancer that is used to route traffic from original instances to replacement instances in a blue/green deployment. For in-place deployments, the name of the load balancer that instances are deregistered from so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

" + } + }, + "documentation":"

Information about a load balancer in Elastic Load Balancing to use in a deployment. Instances are registered directly with a load balancer, and traffic is routed to the load balancer.

" + }, + "ELBInfoList":{ + "type":"list", + "member":{"shape":"ELBInfo"} + }, + "ELBName":{"type":"string"}, "ETag":{"type":"string"}, "ErrorCode":{ "type":"string", "enum":[ - "DEPLOYMENT_GROUP_MISSING", + "AGENT_ISSUE", + "ALARM_ACTIVE", "APPLICATION_MISSING", - "REVISION_MISSING", + "AUTOSCALING_VALIDATION_ERROR", + "AUTO_SCALING_CONFIGURATION", + "AUTO_SCALING_IAM_ROLE_PERMISSIONS", + "CODEDEPLOY_RESOURCE_CANNOT_BE_FOUND", + "CUSTOMER_APPLICATION_UNHEALTHY", + "DEPLOYMENT_GROUP_MISSING", + "ECS_UPDATE_ERROR", + "ELASTIC_LOAD_BALANCING_INVALID", + "ELB_INVALID_INSTANCE", + "HEALTH_CONSTRAINTS", + "HEALTH_CONSTRAINTS_INVALID", + "HOOK_EXECUTION_FAILURE", "IAM_ROLE_MISSING", "IAM_ROLE_PERMISSIONS", + "INTERNAL_ERROR", + "INVALID_ECS_SERVICE", + "INVALID_LAMBDA_CONFIGURATION", + "INVALID_LAMBDA_FUNCTION", + "INVALID_REVISION", + "MANUAL_STOP", + "MISSING_BLUE_GREEN_DEPLOYMENT_CONFIGURATION", + "MISSING_ELB_INFORMATION", + "MISSING_GITHUB_TOKEN", "NO_EC2_SUBSCRIPTION", - "OVER_MAX_INSTANCES", "NO_INSTANCES", - "TIMEOUT", - "HEALTH_CONSTRAINTS_INVALID", - "HEALTH_CONSTRAINTS", - "INTERNAL_ERROR", + "OVER_MAX_INSTANCES", + "RESOURCE_LIMIT_EXCEEDED", + "REVISION_MISSING", "THROTTLED", - "ALARM_ACTIVE", - "AGENT_ISSUE", - "AUTO_SCALING_IAM_ROLE_PERMISSIONS", - "AUTO_SCALING_CONFIGURATION", - "MANUAL_STOP" + "TIMEOUT", + "CLOUDFORMATION_STACK_FAILURE" ] }, "ErrorInformation":{ @@ -1625,7 +2527,7 @@ "members":{ "code":{ "shape":"ErrorCode", - "documentation":"

The error code:

  • APPLICATION_MISSING: The application was missing. This error code will most likely be raised if the application is deleted after the deployment is created but before it is started.

  • DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code will most likely be raised if the deployment group is deleted after the deployment is created but before it is started.

  • HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.

  • HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.

  • IAM_ROLE_MISSING: The service role cannot be accessed.

  • IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.

  • INTERNAL_ERROR: There was an internal error.

  • NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the Amazon EC2 service.

  • NO_INSTANCES: No instance were specified, or no instance can be found.

  • OVER_MAX_INSTANCES: The maximum number of instance was exceeded.

  • THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.

  • TIMEOUT: The deployment has timed out.

  • REVISION_MISSING: The revision ID was missing. This error code will most likely be raised if the revision is deleted after the deployment is created but before it is started.

" + "documentation":"

For more information, see Error Codes for AWS CodeDeploy in the AWS CodeDeploy User Guide.

The error code:

  • APPLICATION_MISSING: The application was missing. This error code is most likely raised if the application is deleted after the deployment is created, but before it is started.

  • DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error code is most likely raised if the deployment group is deleted after the deployment is created, but before it is started.

  • HEALTH_CONSTRAINTS: The deployment failed on too many instances to be successfully deployed within the instance health constraints specified.

  • HEALTH_CONSTRAINTS_INVALID: The revision cannot be successfully deployed within the instance health constraints specified.

  • IAM_ROLE_MISSING: The service role cannot be accessed.

  • IAM_ROLE_PERMISSIONS: The service role does not have the correct permissions.

  • INTERNAL_ERROR: There was an internal error.

  • NO_EC2_SUBSCRIPTION: The calling account is not subscribed to Amazon EC2.

  • NO_INSTANCES: No instances were specified, or no instances can be found.

  • OVER_MAX_INSTANCES: The maximum number of instances was exceeded.

  • THROTTLED: The operation was throttled because the calling account exceeded the throttling limits of one or more AWS services.

  • TIMEOUT: The deployment has timed out.

  • REVISION_MISSING: The revision ID was missing. This error code is most likely raised if the revision is deleted after the deployment is created, but before it is started.

" }, "message":{ "shape":"ErrorMessage", @@ -1635,6 +2537,20 @@ "documentation":"

Information about a deployment error.

" }, "ErrorMessage":{"type":"string"}, + "ExternalId":{"type":"string"}, + "FileExistsBehavior":{ + "type":"string", + "enum":[ + "DISALLOW", + "OVERWRITE", + "RETAIN" + ] + }, + "FilterValue":{"type":"string"}, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, "GenericRevisionInfo":{ "type":"structure", "members":{ @@ -1667,10 +2583,10 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get application operation.

" + "documentation":"

Represents the input of a GetApplication operation.

" }, "GetApplicationOutput":{ "type":"structure", @@ -1680,7 +2596,7 @@ "documentation":"

Information about the application.

" } }, - "documentation":"

Represents the output of a get application operation.

" + "documentation":"

Represents the output of a GetApplication operation.

" }, "GetApplicationRevisionInput":{ "type":"structure", @@ -1698,7 +2614,7 @@ "documentation":"

Information about the application revision to get, including type and location.

" } }, - "documentation":"

Represents the input of a get application revision operation.

" + "documentation":"

Represents the input of a GetApplicationRevision operation.

" }, "GetApplicationRevisionOutput":{ "type":"structure", @@ -1716,7 +2632,7 @@ "documentation":"

General information about the revision.

" } }, - "documentation":"

Represents the output of a get application revision operation.

" + "documentation":"

Represents the output of a GetApplicationRevision operation.

" }, "GetDeploymentConfigInput":{ "type":"structure", @@ -1724,10 +2640,10 @@ "members":{ "deploymentConfigName":{ "shape":"DeploymentConfigName", - "documentation":"

The name of a deployment configuration associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of a deployment configuration associated with the IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get deployment configuration operation.

" + "documentation":"

Represents the input of a GetDeploymentConfig operation.

" }, "GetDeploymentConfigOutput":{ "type":"structure", @@ -1737,7 +2653,7 @@ "documentation":"

Information about the deployment configuration.

" } }, - "documentation":"

Represents the output of a get deployment configuration operation.

" + "documentation":"

Represents the output of a GetDeploymentConfig operation.

" }, "GetDeploymentGroupInput":{ "type":"structure", @@ -1748,14 +2664,14 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

" } }, - "documentation":"

Represents the input of a get deployment group operation.

" + "documentation":"

Represents the input of a GetDeploymentGroup operation.

" }, "GetDeploymentGroupOutput":{ "type":"structure", @@ -1765,7 +2681,7 @@ "documentation":"

Information about the deployment group.

" } }, - "documentation":"

Represents the output of a get deployment group operation.

" + "documentation":"

Represents the output of a GetDeploymentGroup operation.

" }, "GetDeploymentInput":{ "type":"structure", @@ -1773,10 +2689,10 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

A deployment ID associated with the applicable IAM user or AWS account.

" + "documentation":"

The unique ID of a deployment associated with the IAM user or AWS account.

" } }, - "documentation":"

Represents the input of a get deployment operation.

" + "documentation":"

Represents the input of a GetDeployment operation.

" }, "GetDeploymentInstanceInput":{ "type":"structure", @@ -1787,24 +2703,24 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceId":{ "shape":"InstanceId", - "documentation":"

The unique ID of an instance in the deployment group.

" + "documentation":"

The unique ID of an instance in the deployment group.

" } }, - "documentation":"

Represents the input of a get deployment instance operation.

" + "documentation":"

Represents the input of a GetDeploymentInstance operation.

" }, "GetDeploymentInstanceOutput":{ "type":"structure", "members":{ "instanceSummary":{ "shape":"InstanceSummary", - "documentation":"

Information about the instance.

" + "documentation":"

Information about the instance.

" } }, - "documentation":"

Represents the output of a get deployment instance operation.

" + "documentation":"

Represents the output of a GetDeploymentInstance operation.

" }, "GetDeploymentOutput":{ "type":"structure", @@ -1814,7 +2730,29 @@ "documentation":"

Information about the deployment.

" } }, - "documentation":"

Represents the output of a get deployment operation.

" + "documentation":"

Represents the output of a GetDeployment operation.

" + }, + "GetDeploymentTargetInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target.

" + } + } + }, + "GetDeploymentTargetOutput":{ + "type":"structure", + "members":{ + "deploymentTarget":{ + "shape":"DeploymentTarget", + "documentation":"

A deployment target that contains information about a deployment such as its status, lifecycle events, and when it was last updated. It also contains metadata about the deployment target. The deployment target metadata depends on the deployment target's type (instanceTarget, lambdaTarget, or ecsTarget).

" + } + } }, "GetOnPremisesInstanceInput":{ "type":"structure", @@ -1822,20 +2760,39 @@ "members":{ "instanceName":{ "shape":"InstanceName", - "documentation":"

The name of the on-premises instance about which to get information.

" + "documentation":"

The name of the on-premises instance about which to get information.

" } }, - "documentation":"

Represents the input of a get on-premises instance operation.

" + "documentation":"

Represents the input of a GetOnPremisesInstance operation.

" }, "GetOnPremisesInstanceOutput":{ "type":"structure", "members":{ "instanceInfo":{ "shape":"InstanceInfo", - "documentation":"

Information about the on-premises instance.

" + "documentation":"

Information about the on-premises instance.

" } }, - "documentation":"

Represents the output of a get on-premises instance operation.

" + "documentation":"

Represents the output of a GetOnPremisesInstance operation.

" + }, + "GitHubAccountTokenDoesNotExistException":{ + "type":"structure", + "members":{ + }, + "documentation":"

No GitHub account connection exists with the named specified in the call.

", + "exception":true + }, + "GitHubAccountTokenName":{"type":"string"}, + "GitHubAccountTokenNameList":{ + "type":"list", + "member":{"shape":"GitHubAccountTokenName"} + }, + "GitHubAccountTokenNameRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The call is missing a required GitHub account connection name.

", + "exception":true }, "GitHubLocation":{ "type":"structure", @@ -1851,6 +2808,38 @@ }, "documentation":"

Information about the location of application artifacts stored in GitHub.

" }, + "GreenFleetProvisioningAction":{ + "type":"string", + "enum":[ + "DISCOVER_EXISTING", + "COPY_AUTO_SCALING_GROUP" + ] + }, + "GreenFleetProvisioningOption":{ + "type":"structure", + "members":{ + "action":{ + "shape":"GreenFleetProvisioningAction", + "documentation":"

The method used to add instances to a replacement environment.

  • DISCOVER_EXISTING: Use instances that already exist or will be created manually.

  • COPY_AUTO_SCALING_GROUP: Use settings from a specified Auto Scaling group to define and create instances in a new Auto Scaling group.

" + } + }, + "documentation":"

Information about the instances that belong to the replacement environment in a blue/green deployment.

" + }, + "IamArnRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

No IAM ARN was included in the request. You must use an IAM session ARN or IAM user ARN in the request.

", + "exception":true + }, + "IamSessionArn":{"type":"string"}, + "IamSessionArnAlreadyRegisteredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request included an IAM session ARN that has already been used to register a different instance.

", + "exception":true + }, "IamUserArn":{"type":"string"}, "IamUserArnAlreadyRegisteredException":{ "type":"structure", @@ -1866,6 +2855,13 @@ "documentation":"

An IAM user ARN was not specified.

", "exception":true }, + "InstanceAction":{ + "type":"string", + "enum":[ + "TERMINATE", + "KEEP_ALIVE" + ] + }, "InstanceArn":{"type":"string"}, "InstanceCount":{"type":"long"}, "InstanceDoesNotExistException":{ @@ -1873,6 +2869,8 @@ "members":{ }, "documentation":"

The specified instance does not exist in the deployment group.

", + "deprecated":true, + "deprecatedMessage":"This exception is deprecated, use DeploymentTargetDoesNotExistException instead.", "exception":true }, "InstanceId":{"type":"string"}, @@ -1881,6 +2879,8 @@ "members":{ }, "documentation":"

The instance ID was not specified.

", + "deprecated":true, + "deprecatedMessage":"This exception is deprecated, use DeploymentTargetIdRequiredException instead.", "exception":true }, "InstanceInfo":{ @@ -1890,6 +2890,10 @@ "shape":"InstanceName", "documentation":"

The name of the on-premises instance.

" }, + "iamSessionArn":{ + "shape":"IamSessionArn", + "documentation":"

The ARN of the IAM session associated with the on-premises instance.

" + }, "iamUserArn":{ "shape":"IamUserArn", "documentation":"

The IAM user ARN associated with the on-premises instance.

" @@ -1952,13 +2956,16 @@ }, "InstanceStatus":{ "type":"string", + "deprecated":true, + "deprecatedMessage":"InstanceStatus is deprecated, use TargetStatus instead.", "enum":[ "Pending", "InProgress", "Succeeded", "Failed", "Skipped", - "Unknown" + "Unknown", + "Ready" ] }, "InstanceStatusList":{ @@ -1970,7 +2977,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The deployment ID.

" + "documentation":"

The unique ID of a deployment.

" }, "instanceId":{ "shape":"InstanceId", @@ -1978,23 +2985,74 @@ }, "status":{ "shape":"InstanceStatus", - "documentation":"

The deployment status for this instance:

  • Pending: The deployment is pending for this instance.

  • In Progress: The deployment is in progress for this instance.

  • Succeeded: The deployment has succeeded for this instance.

  • Failed: The deployment has failed for this instance.

  • Skipped: The deployment has been skipped for this instance.

  • Unknown: The deployment status is unknown for this instance.

" + "documentation":"

The deployment status for this instance:

  • Pending: The deployment is pending for this instance.

  • In Progress: The deployment is in progress for this instance.

  • Succeeded: The deployment has succeeded for this instance.

  • Failed: The deployment has failed for this instance.

  • Skipped: The deployment has been skipped for this instance.

  • Unknown: The deployment status is unknown for this instance.

" }, "lastUpdatedAt":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the instance information was last updated.

" + "documentation":"

A timestamp that indicates when the instance information was last updated.

" }, "lifecycleEvents":{ "shape":"LifecycleEventList", "documentation":"

A list of lifecycle events for this instance.

" + }, + "instanceType":{ + "shape":"InstanceType", + "documentation":"

Information about which environment an instance belongs to in a blue/green deployment.

  • BLUE: The instance is part of the original environment.

  • GREEN: The instance is part of the replacement environment.

" } }, - "documentation":"

Information about an instance in a deployment.

" + "documentation":"

Information about an instance in a deployment.

", + "deprecated":true, + "deprecatedMessage":"InstanceSummary is deprecated, use DeploymentTarget instead." }, "InstanceSummaryList":{ "type":"list", "member":{"shape":"InstanceSummary"} }, + "InstanceTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of instanceTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The Amazon Resource Name (ARN) of the target.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an EC2/On-premises deployment's target instance.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target instance was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target instance.

" + }, + "instanceLabel":{ + "shape":"TargetLabel", + "documentation":"

A label that identifies whether the instance is an original target (BLUE) or a replacement target (GREEN).

" + } + }, + "documentation":"

A target Amazon EC2 or on-premises instance during a deployment that uses the EC2/On-premises compute platform.

" + }, + "InstanceType":{ + "type":"string", + "enum":[ + "Blue", + "Green" + ] + }, + "InstanceTypeList":{ + "type":"list", + "member":{"shape":"InstanceType"} + }, "InstancesList":{ "type":"list", "member":{"shape":"InstanceId"} @@ -2003,7 +3061,7 @@ "type":"structure", "members":{ }, - "documentation":"

The format of the alarm configuration is invalid. Possible causes include:

  • The alarm list is null.

  • The alarm object is null.

  • The alarm name is empty or null or exceeds the 255 character limit.

  • Two alarms with the same name have been specified.

  • The alarm configuration is enabled but the alarm list is empty.

", + "documentation":"

The format of the alarm configuration is invalid. Possible causes include:

  • The alarm list is null.

  • The alarm object is null.

  • The alarm name is empty or null or exceeds the limit of 255 characters.

  • Two alarms with the same name have been specified.

  • The alarm configuration is enabled, but the alarm list is empty.

", "exception":true }, "InvalidApplicationNameException":{ @@ -2013,11 +3071,18 @@ "documentation":"

The application name was specified in an invalid format.

", "exception":true }, + "InvalidArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ARN is not in a valid format.

", + "exception":true + }, "InvalidAutoRollbackConfigException":{ "type":"structure", "members":{ }, - "documentation":"

The automatic rollback configuration was specified in an invalid format. For example, automatic rollback is enabled but an invalid triggering event type or no event types were listed.

", + "documentation":"

The automatic rollback configuration was specified in an invalid format. For example, automatic rollback is enabled, but an invalid triggering event type or no event types were listed.

", "exception":true }, "InvalidAutoScalingGroupException":{ @@ -2027,6 +3092,13 @@ "documentation":"

The Auto Scaling group was specified in an invalid format or does not exist.

", "exception":true }, + "InvalidBlueGreenDeploymentConfigurationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The configuration for the blue/green deployment group was provided in an invalid format. For information about deployment configuration format, see CreateDeploymentConfig.

", + "exception":true + }, "InvalidBucketNameFilterException":{ "type":"structure", "members":{ @@ -2034,6 +3106,13 @@ "documentation":"

The bucket name either doesn't exist or was specified in an invalid format.

", "exception":true }, + "InvalidComputePlatformException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The computePlatform is invalid. The computePlatform should be Lambda, Server, or ECS.

", + "exception":true + }, "InvalidDeployedStateFilterException":{ "type":"structure", "members":{ @@ -2041,6 +3120,13 @@ "documentation":"

The deployed state filter was specified in an invalid format.

", "exception":true }, + "InvalidDeploymentConfigIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The ID of the deployment configuration is invalid.

", + "exception":true + }, "InvalidDeploymentConfigNameException":{ "type":"structure", "members":{ @@ -2062,6 +3148,13 @@ "documentation":"

At least one of the deployment IDs was specified in an invalid format.

", "exception":true }, + "InvalidDeploymentInstanceTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An instance type was specified for an in-place deployment. Instance types are supported for blue/green deployments only.

", + "exception":true + }, "InvalidDeploymentStatusException":{ "type":"structure", "members":{ @@ -2069,6 +3162,34 @@ "documentation":"

The specified deployment status doesn't exist or cannot be determined.

", "exception":true }, + "InvalidDeploymentStyleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid deployment style was specified. Valid deployment types include \"IN_PLACE\" and \"BLUE_GREEN.\" Valid deployment options include \"WITH_TRAFFIC_CONTROL\" and \"WITHOUT_TRAFFIC_CONTROL.\"

", + "exception":true + }, + "InvalidDeploymentTargetIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target ID provided was not valid.

", + "exception":true + }, + "InvalidDeploymentWaitTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The wait type is invalid.

", + "exception":true + }, + "InvalidEC2TagCombinationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A call was submitted that specified both Ec2TagFilters and Ec2TagSet, but only one of these data types can be used in a single call.

", + "exception":true + }, "InvalidEC2TagException":{ "type":"structure", "members":{ @@ -2076,6 +3197,48 @@ "documentation":"

The tag was specified in an invalid format.

", "exception":true }, + "InvalidECSServiceException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon ECS service identifier is not valid.

", + "exception":true + }, + "InvalidExternalIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The external ID was specified in an invalid format.

", + "exception":true + }, + "InvalidFileExistsBehaviorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid fileExistsBehavior option was specified to determine how AWS CodeDeploy handles files or directories that already exist in a deployment target location, but weren't part of the previous successful deployment. Valid values include \"DISALLOW,\" \"OVERWRITE,\" and \"RETAIN.\"

", + "exception":true + }, + "InvalidGitHubAccountTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The GitHub token is not valid.

", + "exception":true + }, + "InvalidGitHubAccountTokenNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The format of the specified GitHub account connection name is invalid.

", + "exception":true + }, + "InvalidIamSessionArnException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The IAM session ARN was specified in an invalid format.

", + "exception":true + }, "InvalidIamUserArnException":{ "type":"structure", "members":{ @@ -2083,11 +3246,32 @@ "documentation":"

The IAM user ARN was specified in an invalid format.

", "exception":true }, + "InvalidIgnoreApplicationStopFailuresValueException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The IgnoreApplicationStopFailures value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The input was specified in an invalid format.

", + "exception":true + }, + "InvalidInstanceIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

", + "exception":true + }, "InvalidInstanceNameException":{ "type":"structure", "members":{ }, - "documentation":"

The specified on-premises instance name was specified in an invalid format.

", + "documentation":"

The on-premises instance name was specified in an invalid format.

", "exception":true }, "InvalidInstanceStatusException":{ @@ -2097,6 +3281,13 @@ "documentation":"

The specified instance status does not exist.

", "exception":true }, + "InvalidInstanceTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid instance type was specified for instances in a blue/green deployment. Valid values include \"Blue\" for an original environment and \"Green\" for a replacement environment.

", + "exception":true + }, "InvalidKeyPrefixFilterException":{ "type":"structure", "members":{ @@ -2104,6 +3295,27 @@ "documentation":"

The specified key prefix filter was specified in an invalid format.

", "exception":true }, + "InvalidLifecycleEventHookExecutionIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A lifecycle event hook is invalid. Review the hooks section in your AppSpec file to ensure the lifecycle events and hooks functions are valid.

", + "exception":true + }, + "InvalidLifecycleEventHookExecutionStatusException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The result of a Lambda validation function that verifies a lifecycle event is invalid. It should return Succeeded or Failed.

", + "exception":true + }, + "InvalidLoadBalancerInfoException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid load balancer name, or no load balancer name, was specified.

", + "exception":true + }, "InvalidMinimumHealthyHostValueException":{ "type":"structure", "members":{ @@ -2118,6 +3330,13 @@ "documentation":"

The next token was specified in an invalid format.

", "exception":true }, + "InvalidOnPremisesTagCombinationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A call was submitted that specified both OnPremisesTagFilters and OnPremisesTagSet, but only one of these data types can be used in a single call.

", + "exception":true + }, "InvalidOperationException":{ "type":"structure", "members":{ @@ -2143,7 +3362,7 @@ "type":"structure", "members":{ }, - "documentation":"

The service role ARN was specified in an invalid format. Or, if an Auto Scaling group was specified, the specified service role does not grant the appropriate permissions to Auto Scaling.

", + "documentation":"

The service role ARN was specified in an invalid format. Or, if an Auto Scaling group was specified, the specified service role does not grant the appropriate permissions to Amazon EC2 Auto Scaling.

", "exception":true }, "InvalidSortByException":{ @@ -2164,14 +3383,49 @@ "type":"structure", "members":{ }, - "documentation":"

The specified tag was specified in an invalid format.

", + "documentation":"

The tag was specified in an invalid format.

", "exception":true }, "InvalidTagFilterException":{ "type":"structure", "members":{ }, - "documentation":"

The specified tag filter was specified in an invalid format.

", + "documentation":"

The tag filter was specified in an invalid format.

", + "exception":true + }, + "InvalidTagsToAddException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified tags are not valid.

", + "exception":true + }, + "InvalidTargetException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A target is not valid.

", + "exception":true + }, + "InvalidTargetFilterNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target filter name is invalid.

", + "exception":true + }, + "InvalidTargetGroupPairException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A target group pair associated with this deployment is not valid.

", + "exception":true + }, + "InvalidTargetInstancesException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The target instance configuration is invalid. Possible causes include:

  • Configuration data for target instances was entered for an in-place deployment.

  • The limit of 10 tags for a tag type was exceeded.

  • The combined length of the tag names exceeded the limit.

  • A specified tag is not currently applied to any instances.

", "exception":true }, "InvalidTimeRangeException":{ @@ -2181,14 +3435,112 @@ "documentation":"

The specified time range was specified in an invalid format.

", "exception":true }, + "InvalidTrafficRoutingConfigurationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The configuration that specifies how traffic is routed during a deployment is invalid.

", + "exception":true + }, "InvalidTriggerConfigException":{ "type":"structure", "members":{ }, - "documentation":"

The trigger was specified in an invalid format.

", - "exception":true + "documentation":"

The trigger was specified in an invalid format.

", + "exception":true + }, + "InvalidUpdateOutdatedInstancesOnlyValueException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The UpdateOutdatedInstancesOnly value is invalid. For AWS Lambda deployments, false is expected. For EC2/On-premises deployments, true or false is expected.

", + "exception":true + }, + "Key":{"type":"string"}, + "LambdaFunctionAlias":{"type":"string"}, + "LambdaFunctionInfo":{ + "type":"structure", + "members":{ + "functionName":{ + "shape":"LambdaFunctionName", + "documentation":"

The name of a Lambda function.

" + }, + "functionAlias":{ + "shape":"LambdaFunctionAlias", + "documentation":"

The alias of a Lambda function. For more information, see AWS Lambda Function Aliases in the AWS Lambda Developer Guide.

" + }, + "currentVersion":{ + "shape":"Version", + "documentation":"

The version of a Lambda function that production traffic points to.

" + }, + "targetVersion":{ + "shape":"Version", + "documentation":"

The version of a Lambda function that production traffic points to after the Lambda function is deployed.

" + }, + "targetVersionWeight":{ + "shape":"TrafficWeight", + "documentation":"

The percentage of production traffic that the target version of a Lambda function receives.

" + } + }, + "documentation":"

Information about a Lambda function specified in a deployment.

" + }, + "LambdaFunctionName":{"type":"string"}, + "LambdaTarget":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "targetId":{ + "shape":"TargetId", + "documentation":"

The unique ID of a deployment target that has a type of lambdaTarget.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The Amazon Resource Name (ARN) of the target.

" + }, + "status":{ + "shape":"TargetStatus", + "documentation":"

The status an AWS Lambda deployment's target Lambda function.

" + }, + "lastUpdatedAt":{ + "shape":"Time", + "documentation":"

The date and time when the target Lambda function was updated by a deployment.

" + }, + "lifecycleEvents":{ + "shape":"LifecycleEventList", + "documentation":"

The lifecycle events of the deployment to this target Lambda function.

" + }, + "lambdaFunctionInfo":{ + "shape":"LambdaFunctionInfo", + "documentation":"

A LambdaFunctionInfo object that describes a target Lambda function.

" + } + }, + "documentation":"

Information about the target AWS Lambda function during an AWS Lambda deployment.

" + }, + "LastDeploymentInfo":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

The status of the most recent deployment.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

A timestamp that indicates when the most recent deployment to the deployment group was complete.

" + }, + "createTime":{ + "shape":"Timestamp", + "documentation":"

A timestamp that indicates when the most recent deployment to the deployment group started.

" + } + }, + "documentation":"

Information about the most recent attempted or successful deployment to a deployment group.

" }, - "Key":{"type":"string"}, "LifecycleErrorCode":{ "type":"string", "enum":[ @@ -2205,7 +3557,7 @@ "members":{ "lifecycleEventName":{ "shape":"LifecycleEventName", - "documentation":"

The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.

" + "documentation":"

The deployment lifecycle event name, such as ApplicationStop, BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.

" }, "diagnostics":{ "shape":"Diagnostics", @@ -2213,11 +3565,11 @@ }, "startTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event started.

" + "documentation":"

A timestamp that indicates when the deployment lifecycle event started.

" }, "endTime":{ "shape":"Timestamp", - "documentation":"

A timestamp indicating when the deployment lifecycle event ended.

" + "documentation":"

A timestamp that indicates when the deployment lifecycle event ended.

" }, "status":{ "shape":"LifecycleEventStatus", @@ -2226,6 +3578,14 @@ }, "documentation":"

Information about a deployment lifecycle event.

" }, + "LifecycleEventAlreadyCompletedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An attempt to return the status of an already completed lifecycle event occurred.

", + "exception":true + }, + "LifecycleEventHookExecutionId":{"type":"string"}, "LifecycleEventList":{ "type":"list", "member":{"shape":"LifecycleEvent"} @@ -2256,34 +3616,34 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "sortBy":{ "shape":"ApplicationRevisionSortBy", - "documentation":"

The column name to use to sort the list results:

  • registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.

  • firstUsedTime: Sort by the time the revisions were first used in a deployment.

  • lastUsedTime: Sort by the time the revisions were last used in a deployment.

If not specified or set to null, the results will be returned in an arbitrary order.

" + "documentation":"

The column name to use to sort the list results:

  • registerTime: Sort by the time the revisions were registered with AWS CodeDeploy.

  • firstUsedTime: Sort by the time the revisions were first used in a deployment.

  • lastUsedTime: Sort by the time the revisions were last used in a deployment.

If not specified or set to null, the results are returned in an arbitrary order.

" }, "sortOrder":{ "shape":"SortOrder", - "documentation":"

The order in which to sort the list results:

  • ascending: ascending order.

  • descending: descending order.

If not specified, the results will be sorted in ascending order.

If set to null, the results will be sorted in an arbitrary order.

" + "documentation":"

The order in which to sort the list results:

  • ascending: ascending order.

  • descending: descending order.

If not specified, the results are sorted in ascending order.

If set to null, the results are sorted in an arbitrary order.

" }, "s3Bucket":{ "shape":"S3Bucket", - "documentation":"

An Amazon S3 bucket name to limit the search for revisions.

If set to null, all of the user's buckets will be searched.

" + "documentation":"

An Amazon S3 bucket name to limit the search for revisions.

If set to null, all of the user's buckets are searched.

" }, "s3KeyPrefix":{ "shape":"S3Key", - "documentation":"

A key prefix for the set of Amazon S3 objects to limit the search for revisions.

" + "documentation":"

A key prefix for the set of Amazon S3 objects to limit the search for revisions.

" }, "deployed":{ "shape":"ListStateFilterAction", - "documentation":"

Whether to list revisions based on whether the revision is the target revision of an deployment group:

  • include: List revisions that are target revisions of a deployment group.

  • exclude: Do not list revisions that are target revisions of a deployment group.

  • ignore: List all revisions.

" + "documentation":"

Whether to list revisions based on whether the revision is the target revision of a deployment group:

  • include: List revisions that are target revisions of a deployment group.

  • exclude: Do not list revisions that are target revisions of a deployment group.

  • ignore: List all revisions.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

An identifier returned from the previous list application revisions call. It can be used to return the next set of applications in the list.

" + "documentation":"

An identifier returned from the previous ListApplicationRevisions call. It can be used to return the next set of applications in the list.

" } }, - "documentation":"

Represents the input of a list application revisions operation.

" + "documentation":"

Represents the input of a ListApplicationRevisions operation.

" }, "ListApplicationRevisionsOutput":{ "type":"structure", @@ -2294,10 +3654,10 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier will also be returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" } }, - "documentation":"

Represents the output of a list application revisions operation.

" + "documentation":"

Represents the output of a ListApplicationRevisions operation.

" }, "ListApplicationsInput":{ "type":"structure", @@ -2307,7 +3667,7 @@ "documentation":"

An identifier returned from the previous list applications call. It can be used to return the next set of applications in the list.

" } }, - "documentation":"

Represents the input of a list applications operation.

" + "documentation":"

Represents the input of a ListApplications operation.

" }, "ListApplicationsOutput":{ "type":"structure", @@ -2318,34 +3678,34 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications, will also be returned. in the list.

" + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list applications call to return the next set of applications in the list.

" } }, - "documentation":"

Represents the output of a list applications operation.

" + "documentation":"

Represents the output of a ListApplications operation.

" }, "ListDeploymentConfigsInput":{ "type":"structure", "members":{ "nextToken":{ "shape":"NextToken", - "documentation":"

An identifier returned from the previous list deployment configurations call. It can be used to return the next set of deployment configurations in the list.

" + "documentation":"

An identifier returned from the previous ListDeploymentConfigs call. It can be used to return the next set of deployment configurations in the list.

" } }, - "documentation":"

Represents the input of a list deployment configurations operation.

" + "documentation":"

Represents the input of a ListDeploymentConfigs operation.

" }, "ListDeploymentConfigsOutput":{ "type":"structure", "members":{ "deploymentConfigsList":{ "shape":"DeploymentConfigsList", - "documentation":"

A list of deployment configurations, including built-in configurations such as CodeDeployDefault.OneAtATime.

" + "documentation":"

A list of deployment configurations, including built-in configurations such as CodeDeployDefault.OneAtATime.

" }, "nextToken":{ "shape":"NextToken", "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment configurations call to return the next set of deployment configurations in the list.

" } }, - "documentation":"

Represents the output of a list deployment configurations operation.

" + "documentation":"

Represents the output of a ListDeploymentConfigs operation.

" }, "ListDeploymentGroupsInput":{ "type":"structure", @@ -2353,14 +3713,14 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "nextToken":{ "shape":"NextToken", "documentation":"

An identifier returned from the previous list deployment groups call. It can be used to return the next set of deployment groups in the list.

" } }, - "documentation":"

Represents the input of a list deployment groups operation.

" + "documentation":"

Represents the input of a ListDeploymentGroups operation.

" }, "ListDeploymentGroupsOutput":{ "type":"structure", @@ -2371,14 +3731,14 @@ }, "deploymentGroups":{ "shape":"DeploymentGroupsList", - "documentation":"

A list of corresponding deployment group names.

" + "documentation":"

A list of deployment group names.

" }, "nextToken":{ "shape":"NextToken", "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment groups call to return the next set of deployment groups in the list.

" } }, - "documentation":"

Represents the output of a list deployment groups operation.

" + "documentation":"

Represents the output of a ListDeploymentGroups operation.

" }, "ListDeploymentInstancesInput":{ "type":"structure", @@ -2386,7 +3746,7 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "nextToken":{ "shape":"NextToken", @@ -2394,10 +3754,14 @@ }, "instanceStatusFilter":{ "shape":"InstanceStatusList", - "documentation":"

A subset of instances to list by status:

  • Pending: Include those instance with pending deployments.

  • InProgress: Include those instance where deployments are still in progress.

  • Succeeded: Include those instances with successful deployments.

  • Failed: Include those instance with failed deployments.

  • Skipped: Include those instance with skipped deployments.

  • Unknown: Include those instance with deployments in an unknown state.

" + "documentation":"

A subset of instances to list by status:

  • Pending: Include those instances with pending deployments.

  • InProgress: Include those instances where deployments are still in progress.

  • Succeeded: Include those instances with successful deployments.

  • Failed: Include those instances with failed deployments.

  • Skipped: Include those instances with skipped deployments.

  • Unknown: Include those instances with deployments in an unknown state.

" + }, + "instanceTypeFilter":{ + "shape":"InstanceTypeList", + "documentation":"

The set of instances in a blue/green deployment, either those in the original environment (\"BLUE\") or those in the replacement environment (\"GREEN\"), for which you want to view instance information.

" } }, - "documentation":"

Represents the input of a list deployment instances operation.

" + "documentation":"

Represents the input of a ListDeploymentInstances operation.

" }, "ListDeploymentInstancesOutput":{ "type":"structure", @@ -2411,22 +3775,56 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployment instances call to return the next set of deployment instances in the list.

" } }, - "documentation":"

Represents the output of a list deployment instances operation.

" + "documentation":"

Represents the output of a ListDeploymentInstances operation.

" + }, + "ListDeploymentTargetsInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token identifier returned from the previous ListDeploymentTargets call. It can be used to return the next set of deployment targets in the list.

" + }, + "targetFilters":{ + "shape":"TargetFilters", + "documentation":"

A key used to filter the returned targets. The two valid values are:

  • TargetStatus - A TargetStatus filter string can be Failed, InProgress, Pending, Ready, Skipped, Succeeded, or Unknown.

  • ServerInstanceLabel - A ServerInstanceLabel filter string can be Blue or Green.

" + } + } + }, + "ListDeploymentTargetsOutput":{ + "type":"structure", + "members":{ + "targetIds":{ + "shape":"TargetIdList", + "documentation":"

The unique IDs of deployment targets.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, a token identifier is also returned. It can be used in a subsequent ListDeploymentTargets call to return the next set of deployment targets in the list.

" + } + } }, "ListDeploymentsInput":{ "type":"structure", "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

If applicationName is specified, then deploymentGroupName must be specified. If it is not specified, then deploymentGroupName must not be specified.

" }, "deploymentGroupName":{ "shape":"DeploymentGroupName", - "documentation":"

The name of an existing deployment group for the specified application.

" + "documentation":"

The name of a deployment group for the specified application.

If deploymentGroupName is specified, then applicationName must be specified. If it is not specified, then applicationName must not be specified.

" + }, + "externalId":{ + "shape":"ExternalId", + "documentation":"

The unique ID of an external resource for returning deployments linked to the external resource.

" }, "includeOnlyStatuses":{ "shape":"DeploymentStatusList", - "documentation":"

A subset of deployments to list by status:

  • Created: Include created deployments in the resulting list.

  • Queued: Include queued deployments in the resulting list.

  • In Progress: Include in-progress deployments in the resulting list.

  • Succeeded: Include successful deployments in the resulting list.

  • Failed: Include failed deployments in the resulting list.

  • Stopped: Include stopped deployments in the resulting list.

" + "documentation":"

A subset of deployments to list by status:

  • Created: Include created deployments in the resulting list.

  • Queued: Include queued deployments in the resulting list.

  • In Progress: Include in-progress deployments in the resulting list.

  • Succeeded: Include successful deployments in the resulting list.

  • Failed: Include failed deployments in the resulting list.

  • Stopped: Include stopped deployments in the resulting list.

" }, "createTimeRange":{ "shape":"TimeRange", @@ -2437,7 +3835,7 @@ "documentation":"

An identifier returned from the previous list deployments call. It can be used to return the next set of deployments in the list.

" } }, - "documentation":"

Represents the input of a list deployments operation.

" + "documentation":"

Represents the input of a ListDeployments operation.

" }, "ListDeploymentsOutput":{ "type":"structure", @@ -2451,25 +3849,49 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list deployments call to return the next set of deployments in the list.

" } }, - "documentation":"

Represents the output of a list deployments operation.

" + "documentation":"

Represents the output of a ListDeployments operation.

" + }, + "ListGitHubAccountTokenNamesInput":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

An identifier returned from the previous ListGitHubAccountTokenNames call. It can be used to return the next set of names in the list.

" + } + }, + "documentation":"

Represents the input of a ListGitHubAccountTokenNames operation.

" + }, + "ListGitHubAccountTokenNamesOutput":{ + "type":"structure", + "members":{ + "tokenNameList":{ + "shape":"GitHubAccountTokenNameList", + "documentation":"

A list of names of connections to GitHub accounts.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent ListGitHubAccountTokenNames call to return the next set of names in the list.

" + } + }, + "documentation":"

Represents the output of a ListGitHubAccountTokenNames operation.

" }, "ListOnPremisesInstancesInput":{ "type":"structure", "members":{ "registrationStatus":{ "shape":"RegistrationStatus", - "documentation":"

The registration status of the on-premises instances:

  • Deregistered: Include deregistered on-premises instances in the resulting list.

  • Registered: Include registered on-premises instances in the resulting list.

" + "documentation":"

The registration status of the on-premises instances:

  • Deregistered: Include deregistered on-premises instances in the resulting list.

  • Registered: Include registered on-premises instances in the resulting list.

" }, "tagFilters":{ "shape":"TagFilterList", - "documentation":"

The on-premises instance tags that will be used to restrict the corresponding on-premises instance names returned.

" + "documentation":"

The on-premises instance tags that are used to restrict the on-premises instance names returned.

" }, "nextToken":{ "shape":"NextToken", "documentation":"

An identifier returned from the previous list on-premises instances call. It can be used to return the next set of on-premises instances in the list.

" } }, - "documentation":"

Represents the input of a list on-premises instances operation.

" + "documentation":"

Represents the input of a ListOnPremisesInstances operation.

" }, "ListOnPremisesInstancesOutput":{ "type":"structure", @@ -2483,7 +3905,7 @@ "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list on-premises instances call to return the next set of on-premises instances in the list.

" } }, - "documentation":"

Represents the output of list on-premises instances operation.

" + "documentation":"

Represents the output of the list on-premises instances operation.

" }, "ListStateFilterAction":{ "type":"string", @@ -2493,6 +3915,56 @@ "ignore" ] }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a CodeDeploy resource. ListTagsForResource returns all the tags associated with the resource that is identified by the ResourceArn.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An identifier returned from the previous ListTagsForResource call. It can be used to return the next set of applications in the list.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags returned by ListTagsForResource. The tags are associated with the resource identified by the input ResourceArn parameter.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If a large amount of information is returned, an identifier is also returned. It can be used in a subsequent list application revisions call to return the next set of application revisions in the list.

" + } + } + }, + "ListenerArn":{"type":"string"}, + "ListenerArnList":{ + "type":"list", + "member":{"shape":"ListenerArn"} + }, + "LoadBalancerInfo":{ + "type":"structure", + "members":{ + "elbInfoList":{ + "shape":"ELBInfoList", + "documentation":"

An array that contains information about the load balancer to use for load balancing in a deployment. In Elastic Load Balancing, load balancers are used with Classic Load Balancers.

Adding more than one load balancer to the array is not supported.

" + }, + "targetGroupInfoList":{ + "shape":"TargetGroupInfoList", + "documentation":"

An array that contains information about the target group to use for load balancing in a deployment. In Elastic Load Balancing, target groups are used with Application Load Balancers.

Adding more than one target group to the array is not supported.

" + }, + "targetGroupPairInfoList":{ + "shape":"TargetGroupPairInfoList", + "documentation":"

The target group pair information. This is an array of TargeGroupPairInfo objects with a maximum size of one.

" + } + }, + "documentation":"

Information about the Elastic Load Balancing load balancer or target group used in a deployment.

" + }, "LogTail":{"type":"string"}, "Message":{"type":"string"}, "MinimumHealthyHosts":{ @@ -2504,7 +3976,7 @@ }, "type":{ "shape":"MinimumHealthyHostsType", - "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instance as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instance as a percentage of the total number of instance in the deployment.

In an example of nine instance, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment will be successful if six or more instances are deployed to successfully; otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instance at a time. The deployment will be successful if four or more instance are deployed to successfully; otherwise, the deployment fails.

In a call to the get deployment configuration operation, CodeDeployDefault.OneAtATime will return a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy will try to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment still succeeds.

" + "documentation":"

The minimum healthy instance type:

  • HOST_COUNT: The minimum number of healthy instances as an absolute value.

  • FLEET_PERCENT: The minimum number of healthy instances as a percentage of the total number of instances in the deployment.

In an example of nine instances, if a HOST_COUNT of six is specified, deploy to up to three instances at a time. The deployment is successful if six or more instances are deployed to successfully. Otherwise, the deployment fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five instances at a time. The deployment is successful if four or more instances are deployed to successfully. Otherwise, the deployment fails.

In a call to the GetDeploymentConfig, CodeDeployDefault.OneAtATime returns a minimum healthy instance type of MOST_CONCURRENCY and a value of 1. This means a deployment to only one instance at a time. (You cannot set the type to MOST_CONCURRENCY, only to HOST_COUNT or FLEET_PERCENT.) In addition, with CodeDeployDefault.OneAtATime, AWS CodeDeploy attempts to ensure that all instances but one are kept in a healthy state during the deployment. Although this allows one instance at a time to be taken offline for a new deployment, it also means that if the deployment to the last instance fails, the overall deployment is still successful.

For more information, see AWS CodeDeploy Instance Health in the AWS CodeDeploy User Guide.

" } }, "documentation":"

Information about minimum healthy instance.

" @@ -2517,8 +3989,81 @@ ] }, "MinimumHealthyHostsValue":{"type":"integer"}, + "MultipleIamArnsProvidedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Both an IAM user ARN and an IAM session ARN were included in the request. Use only one ARN type.

", + "exception":true + }, "NextToken":{"type":"string"}, "NullableBoolean":{"type":"boolean"}, + "OnPremisesTagSet":{ + "type":"structure", + "members":{ + "onPremisesTagSetList":{ + "shape":"OnPremisesTagSetList", + "documentation":"

A list that contains other lists of on-premises instance tag groups. For an instance to be included in the deployment group, it must be identified by all of the tag groups in the list.

" + } + }, + "documentation":"

Information about groups of on-premises instance tags.

" + }, + "OnPremisesTagSetList":{ + "type":"list", + "member":{"shape":"TagFilterList"} + }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The API used does not support the deployment.

", + "exception":true + }, + "Percentage":{"type":"integer"}, + "PutLifecycleEventHookExecutionStatusInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a deployment. Pass this ID to a Lambda function that validates a deployment lifecycle event.

" + }, + "lifecycleEventHookExecutionId":{ + "shape":"LifecycleEventHookExecutionId", + "documentation":"

The execution ID of a deployment's lifecycle hook. A deployment lifecycle hook is specified in the hooks section of the AppSpec file.

" + }, + "status":{ + "shape":"LifecycleEventStatus", + "documentation":"

The result of a Lambda function that validates a deployment lifecycle event (Succeeded or Failed).

" + } + } + }, + "PutLifecycleEventHookExecutionStatusOutput":{ + "type":"structure", + "members":{ + "lifecycleEventHookExecutionId":{ + "shape":"LifecycleEventHookExecutionId", + "documentation":"

The execution ID of the lifecycle event hook. A hook is specified in the hooks section of the deployment's AppSpec file.

" + } + } + }, + "RawString":{ + "type":"structure", + "members":{ + "content":{ + "shape":"RawStringContent", + "documentation":"

The YAML-formatted or JSON-formatted revision string. It includes information about which Lambda function to update and optional Lambda functions that validate deployment lifecycle events.

" + }, + "sha256":{ + "shape":"RawStringSha256", + "documentation":"

The SHA256 hash value of the revision content.

" + } + }, + "documentation":"

A revision for an AWS Lambda deployment that is a YAML-formatted or JSON-formatted string. For AWS Lambda deployments, the revision is the same as the AppSpec file.

", + "deprecated":true, + "deprecatedMessage":"RawString and String revision type are deprecated, use AppSpecContent type instead." + }, + "RawStringContent":{"type":"string"}, + "RawStringSha256":{"type":"string"}, "RegisterApplicationRevisionInput":{ "type":"structure", "required":[ @@ -2528,7 +4073,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The name of an AWS CodeDeploy application associated with the applicable IAM user or AWS account.

" + "documentation":"

The name of an AWS CodeDeploy application associated with the IAM user or AWS account.

" }, "description":{ "shape":"Description", @@ -2539,19 +4084,20 @@ "documentation":"

Information about the application revision to register, including type and location.

" } }, - "documentation":"

Represents the input of a register application revision operation.

" + "documentation":"

Represents the input of a RegisterApplicationRevision operation.

" }, "RegisterOnPremisesInstanceInput":{ "type":"structure", - "required":[ - "instanceName", - "iamUserArn" - ], + "required":["instanceName"], "members":{ "instanceName":{ "shape":"InstanceName", "documentation":"

The name of the on-premises instance to register.

" }, + "iamSessionArn":{ + "shape":"IamSessionArn", + "documentation":"

The ARN of the IAM session to associate with the on-premises instance.

" + }, "iamUserArn":{ "shape":"IamUserArn", "documentation":"

The ARN of the IAM user to associate with the on-premises instance.

" @@ -2582,21 +4128,41 @@ "documentation":"

The names of the on-premises instances from which to remove tags.

" } }, - "documentation":"

Represents the input of a remove tags from on-premises instances operation.

" + "documentation":"

Represents the input of a RemoveTagsFromOnPremisesInstances operation.

" }, "Repository":{"type":"string"}, + "ResourceArnRequiredException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The ARN of a resource is required, but was not found.

", + "exception":true + }, + "ResourceValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource could not be validated.

", + "exception":true + }, "RevisionDoesNotExistException":{ "type":"structure", "members":{ }, - "documentation":"

The named revision does not exist with the applicable IAM user or AWS account.

", + "documentation":"

The named revision does not exist with the IAM user or AWS account.

", "exception":true }, "RevisionInfo":{ "type":"structure", "members":{ - "revisionLocation":{"shape":"RevisionLocation"}, - "genericRevisionInfo":{"shape":"GenericRevisionInfo"} + "revisionLocation":{ + "shape":"RevisionLocation", + "documentation":"

Information about the location and type of an application revision.

" + }, + "genericRevisionInfo":{ + "shape":"GenericRevisionInfo", + "documentation":"

Information about an application revision, including usage details and associated deployment groups.

" + } }, "documentation":"

Information about an application revision.

" }, @@ -2609,10 +4175,24 @@ "members":{ "revisionType":{ "shape":"RevisionLocationType", - "documentation":"

The type of application revision:

  • S3: An application revision stored in Amazon S3.

  • GitHub: An application revision stored in GitHub.

" + "documentation":"

The type of application revision:

  • S3: An application revision stored in Amazon S3.

  • GitHub: An application revision stored in GitHub (EC2/On-premises deployments only).

  • String: A YAML-formatted or JSON-formatted string (AWS Lambda deployments only).

  • AppSpecContent: An AppSpecContent object that contains the contents of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML stored as a RawString.

" }, - "s3Location":{"shape":"S3Location"}, - "gitHubLocation":{"shape":"GitHubLocation"} + "s3Location":{ + "shape":"S3Location", + "documentation":"

Information about the location of a revision stored in Amazon S3.

" + }, + "gitHubLocation":{ + "shape":"GitHubLocation", + "documentation":"

Information about the location of application artifacts stored in GitHub.

" + }, + "string":{ + "shape":"RawString", + "documentation":"

Information about the location of an AWS Lambda deployment revision stored as a RawString.

" + }, + "appSpecContent":{ + "shape":"AppSpecContent", + "documentation":"

The content of an AppSpec file for an AWS Lambda or Amazon ECS deployment. The content is formatted as JSON or YAML and stored as a RawString.

" + } }, "documentation":"

Information about the location of an application revision.

" }, @@ -2624,7 +4204,9 @@ "type":"string", "enum":[ "S3", - "GitHub" + "GitHub", + "String", + "AppSpecContent" ] }, "RevisionRequiredException":{ @@ -2655,7 +4237,7 @@ }, "rollbackMessage":{ "shape":"Description", - "documentation":"

Information describing the status of a deployment rollback; for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded.

" + "documentation":"

Information that describes the status of a deployment rollback (for example, whether the deployment can't be rolled back, is in progress, failed, or succeeded).

" } }, "documentation":"

Information about a deployment rollback.

" @@ -2675,20 +4257,29 @@ }, "bundleType":{ "shape":"BundleType", - "documentation":"

The file type of the application revision. Must be one of the following:

  • tar: A tar archive file.

  • tgz: A compressed tar archive file.

  • zip: A zip archive file.

" + "documentation":"

The file type of the application revision. Must be one of the following:

  • tar: A tar archive file.

  • tgz: A compressed tar archive file.

  • zip: A zip archive file.

" }, "version":{ "shape":"VersionId", - "documentation":"

A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the version is not specified, the system will use the most recent version by default.

" + "documentation":"

A specific version of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the version is not specified, the system uses the most recent version by default.

" }, "eTag":{ "shape":"ETag", - "documentation":"

The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the ETag is not specified as an input parameter, ETag validation of the object will be skipped.

" + "documentation":"

The ETag of the Amazon S3 object that represents the bundled artifacts for the application revision.

If the ETag is not specified as an input parameter, ETag validation of the object is skipped.

" } }, "documentation":"

Information about the location of application artifacts stored in Amazon S3.

" }, "ScriptName":{"type":"string"}, + "SkipWaitTimeForInstanceTerminationInput":{ + "type":"structure", + "members":{ + "deploymentId":{ + "shape":"DeploymentId", + "documentation":"

The unique ID of a blue/green deployment for which you want to skip the instance termination wait time.

" + } + } + }, "SortOrder":{ "type":"string", "enum":[ @@ -2702,14 +4293,14 @@ "members":{ "deploymentId":{ "shape":"DeploymentId", - "documentation":"

The unique ID of a deployment.

" + "documentation":"

The unique ID of a deployment.

" }, "autoRollbackEnabled":{ "shape":"NullableBoolean", - "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" + "documentation":"

Indicates, when a deployment is stopped, whether instances that have been updated should be rolled back to the previous version of the application revision.

" } }, - "documentation":"

Represents the input of a stop deployment operation.

" + "documentation":"

Represents the input of a StopDeployment operation.

" }, "StopDeploymentOutput":{ "type":"structure", @@ -2723,7 +4314,7 @@ "documentation":"

An accompanying status message.

" } }, - "documentation":"

Represents the output of a stop deployment operation.

" + "documentation":"

Represents the output of a StopDeployment operation.

" }, "StopStatus":{ "type":"string", @@ -2776,6 +4367,10 @@ "KEY_AND_VALUE" ] }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"Key"} + }, "TagLimitExceededException":{ "type":"structure", "members":{ @@ -2794,6 +4389,163 @@ "documentation":"

A tag was not specified.

", "exception":true }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The ARN of a resource, such as a CodeDeploy application or deployment group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags that TagResource associates with a resource. The resource is identified by the ResourceArn input parameter.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagSetListLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of tag groups included in the tag set list exceeded the maximum allowed limit of 3.

", + "exception":true + }, + "TargetArn":{"type":"string"}, + "TargetFilterName":{ + "type":"string", + "enum":[ + "TargetStatus", + "ServerInstanceLabel" + ] + }, + "TargetFilters":{ + "type":"map", + "key":{"shape":"TargetFilterName"}, + "value":{"shape":"FilterValueList"} + }, + "TargetGroupInfo":{ + "type":"structure", + "members":{ + "name":{ + "shape":"TargetGroupName", + "documentation":"

For blue/green deployments, the name of the target group that instances in the original environment are deregistered from, and instances in the replacement environment are registered with. For in-place deployments, the name of the target group that instances are deregistered from, so they are not serving traffic during a deployment, and then re-registered with after the deployment is complete.

" + } + }, + "documentation":"

Information about a target group in Elastic Load Balancing to use in a deployment. Instances are registered as targets in a target group, and traffic is routed to the target group.

" + }, + "TargetGroupInfoList":{ + "type":"list", + "member":{"shape":"TargetGroupInfo"} + }, + "TargetGroupName":{"type":"string"}, + "TargetGroupPairInfo":{ + "type":"structure", + "members":{ + "targetGroups":{ + "shape":"TargetGroupInfoList", + "documentation":"

One pair of target groups. One is associated with the original task set. The second is associated with the task set that serves traffic after the deployment is complete.

" + }, + "prodTrafficRoute":{ + "shape":"TrafficRoute", + "documentation":"

The path used by a load balancer to route production traffic when an Amazon ECS deployment is complete.

" + }, + "testTrafficRoute":{ + "shape":"TrafficRoute", + "documentation":"

An optional path used by a load balancer to route test traffic after an Amazon ECS deployment. Validation can occur while test traffic is served during a deployment.

" + } + }, + "documentation":"

Information about two target groups and how traffic is routed during an Amazon ECS deployment. An optional test traffic route can be specified.

" + }, + "TargetGroupPairInfoList":{ + "type":"list", + "member":{"shape":"TargetGroupPairInfo"} + }, + "TargetId":{"type":"string"}, + "TargetIdList":{ + "type":"list", + "member":{"shape":"TargetId"} + }, + "TargetInstances":{ + "type":"structure", + "members":{ + "tagFilters":{ + "shape":"EC2TagFilterList", + "documentation":"

The tag filter key, type, and value used to identify Amazon EC2 instances in a replacement environment for a blue/green deployment. Cannot be used in the same call as ec2TagSet.

" + }, + "autoScalingGroups":{ + "shape":"AutoScalingGroupNameList", + "documentation":"

The names of one or more Auto Scaling groups to identify a replacement environment for a blue/green deployment.

" + }, + "ec2TagSet":{ + "shape":"EC2TagSet", + "documentation":"

Information about the groups of EC2 instance tags that an instance must be identified by in order for it to be included in the replacement environment for a blue/green deployment. Cannot be used in the same call as tagFilters.

" + } + }, + "documentation":"

Information about the instances to be used in the replacement environment in a blue/green deployment.

" + }, + "TargetLabel":{ + "type":"string", + "enum":[ + "Blue", + "Green" + ] + }, + "TargetStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "Skipped", + "Unknown", + "Ready" + ] + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An API function was called too frequently.

", + "exception":true + }, + "Time":{"type":"timestamp"}, + "TimeBasedCanary":{ + "type":"structure", + "members":{ + "canaryPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of traffic to shift in the first increment of a TimeBasedCanary deployment.

" + }, + "canaryInterval":{ + "shape":"WaitTimeInMins", + "documentation":"

The number of minutes between the first and second traffic shifts of a TimeBasedCanary deployment.

" + } + }, + "documentation":"

A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

" + }, + "TimeBasedLinear":{ + "type":"structure", + "members":{ + "linearPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of traffic that is shifted at the start of each increment of a TimeBasedLinear deployment.

" + }, + "linearInterval":{ + "shape":"WaitTimeInMins", + "documentation":"

The number of minutes between each incremental traffic shift of a TimeBasedLinear deployment.

" + } + }, + "documentation":"

A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

" + }, "TimeRange":{ "type":"structure", "members":{ @@ -2809,6 +4561,43 @@ "documentation":"

Information about a time range.

" }, "Timestamp":{"type":"timestamp"}, + "TrafficRoute":{ + "type":"structure", + "members":{ + "listenerArns":{ + "shape":"ListenerArnList", + "documentation":"

The Amazon Resource Name (ARN) of one listener. The listener identifies the route between a target group and a load balancer. This is an array of strings with a maximum size of one.

" + } + }, + "documentation":"

Information about a listener. The listener contains the path used to route traffic that is received from the load balancer to a target group.

" + }, + "TrafficRoutingConfig":{ + "type":"structure", + "members":{ + "type":{ + "shape":"TrafficRoutingType", + "documentation":"

The type of traffic shifting (TimeBasedCanary or TimeBasedLinear) used by a deployment configuration.

" + }, + "timeBasedCanary":{ + "shape":"TimeBasedCanary", + "documentation":"

A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in two increments. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

" + }, + "timeBasedLinear":{ + "shape":"TimeBasedLinear", + "documentation":"

A configuration that shifts traffic from one version of a Lambda function or ECS task set to another in equal increments, with an equal number of minutes between each increment. The original and target Lambda function versions or ECS task sets are specified in the deployment's AppSpec file.

" + } + }, + "documentation":"

The configuration that specifies how traffic is shifted from one version of a Lambda function to another version during an AWS Lambda deployment, or from one Amazon ECS task set to another during an Amazon ECS deployment.

" + }, + "TrafficRoutingType":{ + "type":"string", + "enum":[ + "TimeBasedCanary", + "TimeBasedLinear", + "AllAtOnce" + ] + }, + "TrafficWeight":{"type":"double"}, "TriggerConfig":{ "type":"structure", "members":{ @@ -2818,7 +4607,7 @@ }, "triggerTargetArn":{ "shape":"TriggerTargetArn", - "documentation":"

The ARN of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic through which notifications about deployment or instance events are sent.

" }, "triggerEvents":{ "shape":"TriggerEventTypeList", @@ -2839,9 +4628,11 @@ "DeploymentFailure", "DeploymentStop", "DeploymentRollback", + "DeploymentReady", "InstanceStart", "InstanceSuccess", - "InstanceFailure" + "InstanceFailure", + "InstanceReady" ] }, "TriggerEventTypeList":{ @@ -2857,6 +4648,35 @@ "documentation":"

The maximum allowed number of triggers was exceeded.

", "exception":true }, + "UnsupportedActionForDeploymentTypeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A call was submitted that is not supported for the specified deployment type.

", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that specifies from which resource to disassociate the tags with the keys in the TagKeys input parameter.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of keys of Tag objects. The Tag objects identified by the keys are disassociated from the resource specified by the ResourceArn input parameter.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationInput":{ "type":"structure", "members":{ @@ -2869,7 +4689,7 @@ "documentation":"

The new name to give the application.

" } }, - "documentation":"

Represents the input of an update application operation.

" + "documentation":"

Represents the input of an UpdateApplication operation.

" }, "UpdateDeploymentGroupInput":{ "type":"structure", @@ -2880,7 +4700,7 @@ "members":{ "applicationName":{ "shape":"ApplicationName", - "documentation":"

The application name corresponding to the deployment group to update.

" + "documentation":"

The application name that corresponds to the deployment group to update.

" }, "currentDeploymentGroupName":{ "shape":"DeploymentGroupName", @@ -2912,18 +4732,42 @@ }, "triggerConfigurations":{ "shape":"TriggerConfigList", - "documentation":"

Information about triggers to change when the deployment group is updated. For examples, see Modify Triggers in an AWS CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.

" + "documentation":"

Information about triggers to change when the deployment group is updated. For examples, see Edit a Trigger in a CodeDeploy Deployment Group in the AWS CodeDeploy User Guide.

" }, "alarmConfiguration":{ "shape":"AlarmConfiguration", - "documentation":"

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

" + "documentation":"

Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.

" }, "autoRollbackConfiguration":{ "shape":"AutoRollbackConfiguration", "documentation":"

Information for an automatic rollback configuration that is added or changed when a deployment group is updated.

" + }, + "deploymentStyle":{ + "shape":"DeploymentStyle", + "documentation":"

Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.

" + }, + "blueGreenDeploymentConfiguration":{ + "shape":"BlueGreenDeploymentConfiguration", + "documentation":"

Information about blue/green deployment options for a deployment group.

" + }, + "loadBalancerInfo":{ + "shape":"LoadBalancerInfo", + "documentation":"

Information about the load balancer used in a deployment.

" + }, + "ec2TagSet":{ + "shape":"EC2TagSet", + "documentation":"

Information about groups of tags applied to on-premises instances. The deployment group includes only EC2 instances identified by all the tag groups.

" + }, + "ecsServices":{ + "shape":"ECSServiceList", + "documentation":"

The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <clustername>:<servicename>.

" + }, + "onPremisesTagSet":{ + "shape":"OnPremisesTagSet", + "documentation":"

Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.

" } }, - "documentation":"

Represents the input of an update deployment group operation.

" + "documentation":"

Represents the input of an UpdateDeploymentGroup operation.

" }, "UpdateDeploymentGroupOutput":{ "type":"structure", @@ -2933,10 +4777,12 @@ "documentation":"

If the output contains no data, and the corresponding deployment group contained at least one Auto Scaling group, AWS CodeDeploy successfully removed all corresponding Auto Scaling lifecycle event hooks from the AWS account. If the output contains data, AWS CodeDeploy could not remove some Auto Scaling lifecycle event hooks from the AWS account.

" } }, - "documentation":"

Represents the output of an update deployment group operation.

" + "documentation":"

Represents the output of an UpdateDeploymentGroup operation.

" }, "Value":{"type":"string"}, - "VersionId":{"type":"string"} + "Version":{"type":"string"}, + "VersionId":{"type":"string"}, + "WaitTimeInMins":{"type":"integer"} }, - "documentation":"AWS CodeDeploy

Overview

This reference guide provides descriptions of the AWS CodeDeploy APIs. For more information about AWS CodeDeploy, see the AWS CodeDeploy User Guide.

Using the APIs

You can use the AWS CodeDeploy APIs to work with the following:

  • Applications are unique identifiers used by AWS CodeDeploy to ensure the correct combinations of revisions, deployment configurations, and deployment groups are being referenced during deployments.

    You can use the AWS CodeDeploy APIs to create, delete, get, list, and update applications.

  • Deployment configurations are sets of deployment rules and success and failure conditions used by AWS CodeDeploy during deployments.

    You can use the AWS CodeDeploy APIs to create, delete, get, and list deployment configurations.

  • Deployment groups are groups of instances to which application revisions can be deployed.

    You can use the AWS CodeDeploy APIs to create, delete, get, list, and update deployment groups.

  • Instances represent Amazon EC2 instances to which application revisions are deployed. Instances are identified by their Amazon EC2 tags or Auto Scaling group names. Instances belong to deployment groups.

    You can use the AWS CodeDeploy APIs to get and list instance.

  • Deployments represent the process of deploying revisions to instances.

    You can use the AWS CodeDeploy APIs to create, get, list, and stop deployments.

  • Application revisions are archive files stored in Amazon S3 buckets or GitHub repositories. These revisions contain source content (such as source code, web pages, executable files, and deployment scripts) along with an application specification (AppSpec) file. (The AppSpec file is unique to AWS CodeDeploy; it defines the deployment actions you want AWS CodeDeploy to execute.) For application revisions stored in Amazon S3 buckets, an application revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For application revisions stored in GitHub repositories, an application revision is uniquely identified by its repository name and commit ID. Application revisions are deployed through deployment groups.

    You can use the AWS CodeDeploy APIs to get, list, and register application revisions.

" + "documentation":"AWS CodeDeploy

AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances, on-premises instances running in your own facility, serverless AWS Lambda functions, or applications in an Amazon ECS service.

You can deploy a nearly unlimited variety of application content, such as an updated Lambda function, updated applications in an Amazon ECS service, code, web and configuration files, executables, packages, scripts, multimedia files, and so on. AWS CodeDeploy can deploy application content stored in Amazon S3 buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes to your existing code before you can use AWS CodeDeploy.

AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications, without many of the risks associated with error-prone manual deployments.

AWS CodeDeploy Components

Use the information in this guide to help you work with the following AWS CodeDeploy components:

  • Application: A name that uniquely identifies the application you want to deploy. AWS CodeDeploy uses this name, which functions as a container, to ensure the correct combination of revision, deployment configuration, and deployment group are referenced during a deployment.

  • Deployment group: A set of individual instances, CodeDeploy Lambda deployment configuration settings, or an Amazon ECS service and network details. A Lambda deployment group specifies how to route traffic to a new version of a Lambda function. An Amazon ECS deployment group specifies the service created in Amazon ECS to deploy, a load balancer, and a listener to reroute production traffic to an updated containerized application. An EC2/On-premises deployment group contains individually tagged instances, Amazon EC2 instances in Amazon EC2 Auto Scaling groups, or both. All deployment groups can specify optional trigger, alarm, and rollback settings.

  • Deployment configuration: A set of deployment rules and deployment success and failure conditions used by AWS CodeDeploy during a deployment.

  • Deployment: The process and the components used when updating a Lambda function, a containerized application in an Amazon ECS service, or of installing content on one or more instances.

  • Application revisions: For an AWS Lambda deployment, this is an AppSpec file that specifies the Lambda function to be updated and one or more functions to validate deployment lifecycle events. For an Amazon ECS deployment, this is an AppSpec file that specifies the Amazon ECS task definition, container, and port where production traffic is rerouted. For an EC2/On-premises deployment, this is an archive file that contains source content—source code, webpages, executable files, and deployment scripts—along with an AppSpec file. Revisions are stored in Amazon S3 buckets or GitHub repositories. For Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely identified by its commit ID.

This guide also contains information to help you get details about the instances in your deployments, to make on-premises instances available for AWS CodeDeploy deployments, to get details about a Lambda function deployment, and to get details about Amazon ECS service deployments.

AWS CodeDeploy Information Resources

" } diff -Nru python-botocore-1.4.70/botocore/data/codeguruprofiler/2019-07-18/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codeguruprofiler/2019-07-18/paginators-1.json --- python-botocore-1.4.70/botocore/data/codeguruprofiler/2019-07-18/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codeguruprofiler/2019-07-18/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListProfileTimes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "profileTimes" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codeguruprofiler/2019-07-18/service-2.json python-botocore-1.16.19+repack/botocore/data/codeguruprofiler/2019-07-18/service-2.json --- python-botocore-1.4.70/botocore/data/codeguruprofiler/2019-07-18/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codeguruprofiler/2019-07-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,996 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-07-18", + "endpointPrefix":"codeguru-profiler", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon CodeGuru Profiler", + "serviceId":"CodeGuruProfiler", + "signatureVersion":"v4", + "signingName":"codeguru-profiler", + "uid":"codeguruprofiler-2019-07-18" + }, + "operations":{ + "ConfigureAgent":{ + "name":"ConfigureAgent", + "http":{ + "method":"POST", + "requestUri":"/profilingGroups/{profilingGroupName}/configureAgent", + "responseCode":200 + }, + "input":{"shape":"ConfigureAgentRequest"}, + "output":{"shape":"ConfigureAgentResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

" + }, + "CreateProfilingGroup":{ + "name":"CreateProfilingGroup", + "http":{ + "method":"POST", + "requestUri":"/profilingGroups", + "responseCode":201 + }, + "input":{"shape":"CreateProfilingGroupRequest"}, + "output":{"shape":"CreateProfilingGroupResponse"}, + "errors":[ + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a profiling group.

", + "idempotent":true + }, + "DeleteProfilingGroup":{ + "name":"DeleteProfilingGroup", + "http":{ + "method":"DELETE", + "requestUri":"/profilingGroups/{profilingGroupName}", + "responseCode":204 + }, + "input":{"shape":"DeleteProfilingGroupRequest"}, + "output":{"shape":"DeleteProfilingGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a profiling group.

", + "idempotent":true + }, + "DescribeProfilingGroup":{ + "name":"DescribeProfilingGroup", + "http":{ + "method":"GET", + "requestUri":"/profilingGroups/{profilingGroupName}", + "responseCode":200 + }, + "input":{"shape":"DescribeProfilingGroupRequest"}, + "output":{"shape":"DescribeProfilingGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a profiling group.

" + }, + "GetPolicy":{ + "name":"GetPolicy", + "http":{ + "method":"GET", + "requestUri":"/profilingGroups/{profilingGroupName}/policy", + "responseCode":200 + }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the profiling group policy.

" + }, + "GetProfile":{ + "name":"GetProfile", + "http":{ + "method":"GET", + "requestUri":"/profilingGroups/{profilingGroupName}/profile", + "responseCode":200 + }, + "input":{"shape":"GetProfileRequest"}, + "output":{"shape":"GetProfileResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the aggregated profile of a profiling group for the specified time range. If the requested time range does not align with the available aggregated profiles, it is expanded to attain alignment. If aggregated profiles are available only for part of the period requested, the profile is returned from the earliest available to the latest within the requested time range.

For example, if the requested time range is from 00:00 to 00:20 and the available profiles are from 00:15 to 00:25, the returned profile will be from 00:15 to 00:20.

You must specify exactly two of the following parameters: startTime, period, and endTime.

" + }, + "ListProfileTimes":{ + "name":"ListProfileTimes", + "http":{ + "method":"GET", + "requestUri":"/profilingGroups/{profilingGroupName}/profileTimes", + "responseCode":200 + }, + "input":{"shape":"ListProfileTimesRequest"}, + "output":{"shape":"ListProfileTimesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

List the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range.

" + }, + "ListProfilingGroups":{ + "name":"ListProfilingGroups", + "http":{ + "method":"GET", + "requestUri":"/profilingGroups", + "responseCode":200 + }, + "input":{"shape":"ListProfilingGroupsRequest"}, + "output":{"shape":"ListProfilingGroupsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists profiling groups.

" + }, + "PostAgentProfile":{ + "name":"PostAgentProfile", + "http":{ + "method":"POST", + "requestUri":"/profilingGroups/{profilingGroupName}/agentProfile", + "responseCode":204 + }, + "input":{"shape":"PostAgentProfileRequest"}, + "output":{"shape":"PostAgentProfileResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

" + }, + "PutPermission":{ + "name":"PutPermission", + "http":{ + "method":"PUT", + "requestUri":"/profilingGroups/{profilingGroupName}/policy/{actionGroup}", + "responseCode":200 + }, + "input":{"shape":"PutPermissionRequest"}, + "output":{"shape":"PutPermissionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Provides permission to the principals. This overwrites the existing permissions, and is not additive.

", + "idempotent":true + }, + "RemovePermission":{ + "name":"RemovePermission", + "http":{ + "method":"DELETE", + "requestUri":"/profilingGroups/{profilingGroupName}/policy/{actionGroup}", + "responseCode":200 + }, + "input":{"shape":"RemovePermissionRequest"}, + "output":{"shape":"RemovePermissionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes statement for the provided action group from the policy.

" + }, + "UpdateProfilingGroup":{ + "name":"UpdateProfilingGroup", + "http":{ + "method":"PUT", + "requestUri":"/profilingGroups/{profilingGroupName}", + "responseCode":200 + }, + "input":{"shape":"UpdateProfilingGroupRequest"}, + "output":{"shape":"UpdateProfilingGroupResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates a profiling group.

", + "idempotent":true + } + }, + "shapes":{ + "ActionGroup":{ + "type":"string", + "enum":["agentPermissions"] + }, + "AgentConfiguration":{ + "type":"structure", + "required":[ + "periodInSeconds", + "shouldProfile" + ], + "members":{ + "periodInSeconds":{ + "shape":"Integer", + "documentation":"

" + }, + "shouldProfile":{ + "shape":"Boolean", + "documentation":"

" + } + }, + "documentation":"

" + }, + "AgentOrchestrationConfig":{ + "type":"structure", + "required":["profilingEnabled"], + "members":{ + "profilingEnabled":{ + "shape":"Boolean", + "documentation":"

" + } + }, + "documentation":"

" + }, + "AgentProfile":{"type":"blob"}, + "AggregatedProfile":{"type":"blob"}, + "AggregatedProfileTime":{ + "type":"structure", + "members":{ + "period":{ + "shape":"AggregationPeriod", + "documentation":"

The time period.

" + }, + "start":{ + "shape":"Timestamp", + "documentation":"

The start time.

" + } + }, + "documentation":"

Information about the time range of the latest available aggregated profile.

" + }, + "AggregationPeriod":{ + "type":"string", + "enum":[ + "P1D", + "PT1H", + "PT5M" + ] + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w-]+$" + }, + "ConfigureAgentRequest":{ + "type":"structure", + "required":["profilingGroupName"], + "members":{ + "fleetInstanceId":{ + "shape":"FleetInstanceId", + "documentation":"

" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the configureAgentRequest.

" + }, + "ConfigureAgentResponse":{ + "type":"structure", + "required":["configuration"], + "members":{ + "configuration":{ + "shape":"AgentConfiguration", + "documentation":"

" + } + }, + "documentation":"

The structure representing the configureAgentResponse.

", + "payload":"configuration" + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "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.

", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateProfilingGroupRequest":{ + "type":"structure", + "required":[ + "clientToken", + "profilingGroupName" + ], + "members":{ + "agentOrchestrationConfig":{ + "shape":"AgentOrchestrationConfig", + "documentation":"

The agent orchestration configuration.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

This parameter specifies a unique identifier for the new profiling group that helps ensure idempotency.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

" + } + }, + "documentation":"

The structure representing the createProfiliingGroupRequest.

" + }, + "CreateProfilingGroupResponse":{ + "type":"structure", + "required":["profilingGroup"], + "members":{ + "profilingGroup":{ + "shape":"ProfilingGroupDescription", + "documentation":"

Information about the new profiling group

" + } + }, + "documentation":"

The structure representing the createProfilingGroupResponse.

", + "payload":"profilingGroup" + }, + "DeleteProfilingGroupRequest":{ + "type":"structure", + "required":["profilingGroupName"], + "members":{ + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The profiling group name to delete.

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the deleteProfilingGroupRequest.

" + }, + "DeleteProfilingGroupResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The structure representing the deleteProfilingGroupResponse.

" + }, + "DescribeProfilingGroupRequest":{ + "type":"structure", + "required":["profilingGroupName"], + "members":{ + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The profiling group name.

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the describeProfilingGroupRequest.

" + }, + "DescribeProfilingGroupResponse":{ + "type":"structure", + "required":["profilingGroup"], + "members":{ + "profilingGroup":{ + "shape":"ProfilingGroupDescription", + "documentation":"

Information about a profiling group.

" + } + }, + "documentation":"

The structure representing the describeProfilingGroupResponse.

", + "payload":"profilingGroup" + }, + "FleetInstanceId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w-.:/]+$" + }, + "GetPolicyRequest":{ + "type":"structure", + "required":["profilingGroupName"], + "members":{ + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the getPolicyRequest.

" + }, + "GetPolicyResponse":{ + "type":"structure", + "required":[ + "policy", + "revisionId" + ], + "members":{ + "policy":{ + "shape":"String", + "documentation":"

The resource-based policy attached to the ProfilingGroup.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

A unique identifier for the current revision of the policy.

" + } + }, + "documentation":"

The structure representing the getPolicyResponse.

" + }, + "GetProfileRequest":{ + "type":"structure", + "required":["profilingGroupName"], + "members":{ + "accept":{ + "shape":"String", + "documentation":"

The format of the profile to return. You can choose application/json or the default application/x-amzn-ion.

", + "location":"header", + "locationName":"Accept" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

You must specify exactly two of the following parameters: startTime, period, and endTime.

", + "location":"querystring", + "locationName":"endTime" + }, + "maxDepth":{ + "shape":"MaxDepth", + "documentation":"

The maximum depth of the graph.

", + "location":"querystring", + "locationName":"maxDepth" + }, + "period":{ + "shape":"Period", + "documentation":"

The period of the profile to get. The time range must be in the past and not longer than one week.

You must specify exactly two of the following parameters: startTime, period, and endTime.

", + "location":"querystring", + "locationName":"period" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group to get.

", + "location":"uri", + "locationName":"profilingGroupName" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the profile to get.

You must specify exactly two of the following parameters: startTime, period, and endTime.

", + "location":"querystring", + "locationName":"startTime" + } + }, + "documentation":"

The structure representing the getProfileRequest.

" + }, + "GetProfileResponse":{ + "type":"structure", + "required":[ + "contentType", + "profile" + ], + "members":{ + "contentEncoding":{ + "shape":"String", + "documentation":"

The content encoding of the profile.

", + "location":"header", + "locationName":"Content-Encoding" + }, + "contentType":{ + "shape":"String", + "documentation":"

The content type of the profile in the payload. It is either application/json or the default application/x-amzn-ion.

", + "location":"header", + "locationName":"Content-Type" + }, + "profile":{ + "shape":"AggregatedProfile", + "documentation":"

Information about the profile.

" + } + }, + "documentation":"

The structure representing the getProfileResponse.

", + "payload":"profile" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The server encountered an internal error and is unable to complete the request.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListProfileTimesRequest":{ + "type":"structure", + "required":[ + "endTime", + "period", + "profilingGroupName", + "startTime" + ], + "members":{ + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end time of the time range from which to list the profiles.

", + "location":"querystring", + "locationName":"endTime" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of profile time results returned by ListProfileTimes in paginated output. When this parameter is used, ListProfileTimes only returns maxResults results in a single page with a nextToken response element. The remaining results of the initial request can be seen by sending another ListProfileTimes request with the returned nextToken value.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The nextToken value returned from a previous paginated ListProfileTimes 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 token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", + "location":"querystring", + "locationName":"nextToken" + }, + "orderBy":{ + "shape":"OrderBy", + "documentation":"

The order (ascending or descending by start time of the profile) to use when listing profiles. Defaults to TIMESTAMP_DESCENDING.

", + "location":"querystring", + "locationName":"orderBy" + }, + "period":{ + "shape":"AggregationPeriod", + "documentation":"

The aggregation period.

", + "location":"querystring", + "locationName":"period" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

", + "location":"uri", + "locationName":"profilingGroupName" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the time range from which to list the profiles.

", + "location":"querystring", + "locationName":"startTime" + } + }, + "documentation":"

The structure representing the listProfileTimesRequest.

" + }, + "ListProfileTimesResponse":{ + "type":"structure", + "required":["profileTimes"], + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The nextToken value to include in a future ListProfileTimes request. When the results of a ListProfileTimes 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.

" + }, + "profileTimes":{ + "shape":"ProfileTimes", + "documentation":"

The list of start times of the available profiles for the aggregation period in the specified time range.

" + } + }, + "documentation":"

The structure representing the listProfileTimesResponse.

" + }, + "ListProfilingGroupsRequest":{ + "type":"structure", + "members":{ + "includeDescription":{ + "shape":"Boolean", + "documentation":"

A Boolean value indicating whether to include a description.

", + "location":"querystring", + "locationName":"includeDescription" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of profiling groups results returned by ListProfilingGroups in paginated output. When this parameter is used, ListProfilingGroups 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 ListProfilingGroups request with the returned nextToken value.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The nextToken value returned from a previous paginated ListProfilingGroups 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 token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

The structure representing the listProfilingGroupsRequest.

" + }, + "ListProfilingGroupsResponse":{ + "type":"structure", + "required":["profilingGroupNames"], + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The nextToken value to include in a future ListProfilingGroups request. When the results of a ListProfilingGroups 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.

" + }, + "profilingGroupNames":{ + "shape":"ProfilingGroupNames", + "documentation":"

Information about profiling group names.

" + }, + "profilingGroups":{ + "shape":"ProfilingGroupDescriptions", + "documentation":"

Information about profiling groups.

" + } + }, + "documentation":"

The structure representing the listProfilingGroupsResponse.

" + }, + "MaxDepth":{ + "type":"integer", + "box":true, + "max":10000, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "OrderBy":{ + "type":"string", + "enum":[ + "TimestampAscending", + "TimestampDescending" + ] + }, + "PaginationToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w-]+$" + }, + "Period":{ + "type":"string", + "max":64, + "min":1 + }, + "PostAgentProfileRequest":{ + "type":"structure", + "required":[ + "agentProfile", + "contentType", + "profilingGroupName" + ], + "members":{ + "agentProfile":{ + "shape":"AgentProfile", + "documentation":"

" + }, + "contentType":{ + "shape":"String", + "documentation":"

", + "location":"header", + "locationName":"Content-Type" + }, + "profileToken":{ + "shape":"ClientToken", + "documentation":"

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"profileToken" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the postAgentProfileRequest.

", + "payload":"agentProfile" + }, + "PostAgentProfileResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The structure representing the postAgentProfileResponse.

" + }, + "Principal":{"type":"string"}, + "Principals":{ + "type":"list", + "member":{"shape":"Principal"}, + "max":50, + "min":1 + }, + "ProfileTime":{ + "type":"structure", + "members":{ + "start":{ + "shape":"Timestamp", + "documentation":"

The start time of the profile.

" + } + }, + "documentation":"

Information about the profile time.

" + }, + "ProfileTimes":{ + "type":"list", + "member":{"shape":"ProfileTime"} + }, + "ProfilingGroupArn":{"type":"string"}, + "ProfilingGroupDescription":{ + "type":"structure", + "members":{ + "agentOrchestrationConfig":{ + "shape":"AgentOrchestrationConfig", + "documentation":"

" + }, + "arn":{ + "shape":"ProfilingGroupArn", + "documentation":"

The Amazon Resource Name (ARN) identifying the profiling group.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time, in milliseconds since the epoch, when the profiling group was created.

" + }, + "name":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

" + }, + "profilingStatus":{ + "shape":"ProfilingStatus", + "documentation":"

The status of the profiling group.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The time, in milliseconds since the epoch, when the profiling group was last updated.

" + } + }, + "documentation":"

The description of a profiling group.

" + }, + "ProfilingGroupDescriptions":{ + "type":"list", + "member":{"shape":"ProfilingGroupDescription"} + }, + "ProfilingGroupName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w-]+$" + }, + "ProfilingGroupNames":{ + "type":"list", + "member":{"shape":"ProfilingGroupName"} + }, + "ProfilingStatus":{ + "type":"structure", + "members":{ + "latestAgentOrchestratedAt":{ + "shape":"Timestamp", + "documentation":"

The time, in milliseconds since the epoch, when the latest agent was orchestrated.

" + }, + "latestAgentProfileReportedAt":{ + "shape":"Timestamp", + "documentation":"

The time, in milliseconds since the epoch, when the latest agent was reported..

" + }, + "latestAggregatedProfile":{ + "shape":"AggregatedProfileTime", + "documentation":"

The latest aggregated profile

" + } + }, + "documentation":"

Information about the profiling status.

" + }, + "PutPermissionRequest":{ + "type":"structure", + "required":[ + "actionGroup", + "principals", + "profilingGroupName" + ], + "members":{ + "actionGroup":{ + "shape":"ActionGroup", + "documentation":"

The list of actions that the users and roles can perform on the profiling group.

", + "location":"uri", + "locationName":"actionGroup" + }, + "principals":{ + "shape":"Principals", + "documentation":"

The list of role and user ARNs or the accountId that needs access (wildcards are not allowed).

" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

", + "location":"uri", + "locationName":"profilingGroupName" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

A unique identifier for the current revision of the policy. This is required, if a policy exists for the profiling group. This is not required when creating the policy for the first time.

" + } + }, + "documentation":"

The structure representing the putPermissionRequest.

" + }, + "PutPermissionResponse":{ + "type":"structure", + "required":[ + "policy", + "revisionId" + ], + "members":{ + "policy":{ + "shape":"String", + "documentation":"

The resource-based policy.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

A unique identifier for the current revision of the policy.

" + } + }, + "documentation":"

The structure representing the putPermissionResponse.

" + }, + "RemovePermissionRequest":{ + "type":"structure", + "required":[ + "actionGroup", + "profilingGroupName", + "revisionId" + ], + "members":{ + "actionGroup":{ + "shape":"ActionGroup", + "documentation":"

The list of actions that the users and roles can perform on the profiling group.

", + "location":"uri", + "locationName":"actionGroup" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group.

", + "location":"uri", + "locationName":"profilingGroupName" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

A unique identifier for the current revision of the policy.

", + "location":"querystring", + "locationName":"revisionId" + } + }, + "documentation":"

The structure representing the removePermissionRequest.

" + }, + "RemovePermissionResponse":{ + "type":"structure", + "required":[ + "policy", + "revisionId" + ], + "members":{ + "policy":{ + "shape":"String", + "documentation":"

The resource-based policy.

" + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

A unique identifier for the current revision of the policy.

" + } + }, + "documentation":"

The structure representing the removePermissionResponse.

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource specified in the request does not exist.

", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RevisionId":{ + "type":"string", + "pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

You have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.

", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "UpdateProfilingGroupRequest":{ + "type":"structure", + "required":[ + "agentOrchestrationConfig", + "profilingGroupName" + ], + "members":{ + "agentOrchestrationConfig":{ + "shape":"AgentOrchestrationConfig", + "documentation":"

" + }, + "profilingGroupName":{ + "shape":"ProfilingGroupName", + "documentation":"

The name of the profiling group to update.

", + "location":"uri", + "locationName":"profilingGroupName" + } + }, + "documentation":"

The structure representing the updateProfilingGroupRequest.

" + }, + "UpdateProfilingGroupResponse":{ + "type":"structure", + "required":["profilingGroup"], + "members":{ + "profilingGroup":{ + "shape":"ProfilingGroupDescription", + "documentation":"

Updated information about the profiling group.

" + } + }, + "documentation":"

The structure representing the updateProfilingGroupResponse.

", + "payload":"profilingGroup" + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The parameter is not valid.

", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"

This section provides documentation for the Amazon CodeGuru Profiler API operations.

" +} diff -Nru python-botocore-1.4.70/botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json --- python-botocore-1.4.70/botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListRepositoryAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "RepositoryAssociationSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codeguru-reviewer/2019-09-19/service-2.json python-botocore-1.16.19+repack/botocore/data/codeguru-reviewer/2019-09-19/service-2.json --- python-botocore-1.4.70/botocore/data/codeguru-reviewer/2019-09-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codeguru-reviewer/2019-09-19/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1160 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-09-19", + "endpointPrefix":"codeguru-reviewer", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"CodeGuruReviewer", + "serviceFullName":"Amazon CodeGuru Reviewer", + "serviceId":"CodeGuru Reviewer", + "signatureVersion":"v4", + "signingName":"codeguru-reviewer", + "uid":"codeguru-reviewer-2019-09-19" + }, + "operations":{ + "AssociateRepository":{ + "name":"AssociateRepository", + "http":{ + "method":"POST", + "requestUri":"/associations" + }, + "input":{"shape":"AssociateRepositoryRequest"}, + "output":{"shape":"AssociateRepositoryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Associates an AWS CodeCommit repository with Amazon CodeGuru Reviewer. When you associate an AWS CodeCommit repository with Amazon CodeGuru Reviewer, Amazon CodeGuru Reviewer will provide recommendations for each pull request raised within the repository. You can view recommendations in the AWS CodeCommit repository.

You can associate a GitHub repository using the Amazon CodeGuru Reviewer console.

" + }, + "DescribeCodeReview":{ + "name":"DescribeCodeReview", + "http":{ + "method":"GET", + "requestUri":"/codereviews/{CodeReviewArn}" + }, + "input":{"shape":"DescribeCodeReviewRequest"}, + "output":{"shape":"DescribeCodeReviewResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the metadaata associated with the code review along with its status.

" + }, + "DescribeRecommendationFeedback":{ + "name":"DescribeRecommendationFeedback", + "http":{ + "method":"GET", + "requestUri":"/feedback/{CodeReviewArn}" + }, + "input":{"shape":"DescribeRecommendationFeedbackRequest"}, + "output":{"shape":"DescribeRecommendationFeedbackResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Describes the customer feedback for a CodeGuru Reviewer recommendation.

" + }, + "DescribeRepositoryAssociation":{ + "name":"DescribeRepositoryAssociation", + "http":{ + "method":"GET", + "requestUri":"/associations/{AssociationArn}" + }, + "input":{"shape":"DescribeRepositoryAssociationRequest"}, + "output":{"shape":"DescribeRepositoryAssociationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Describes a repository association.

" + }, + "DisassociateRepository":{ + "name":"DisassociateRepository", + "http":{ + "method":"DELETE", + "requestUri":"/associations/{AssociationArn}" + }, + "input":{"shape":"DisassociateRepositoryRequest"}, + "output":{"shape":"DisassociateRepositoryResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Removes the association between Amazon CodeGuru Reviewer and a repository.

" + }, + "ListCodeReviews":{ + "name":"ListCodeReviews", + "http":{ + "method":"GET", + "requestUri":"/codereviews" + }, + "input":{"shape":"ListCodeReviewsRequest"}, + "output":{"shape":"ListCodeReviewsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Lists all the code reviews that the customer has created in the past 90 days.

" + }, + "ListRecommendationFeedback":{ + "name":"ListRecommendationFeedback", + "http":{ + "method":"GET", + "requestUri":"/feedback/{CodeReviewArn}/RecommendationFeedback" + }, + "input":{"shape":"ListRecommendationFeedbackRequest"}, + "output":{"shape":"ListRecommendationFeedbackResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists the customer feedback for a CodeGuru Reviewer recommendation for all users. This API will be used from the console to extract the previously given feedback by the user to pre-populate the feedback emojis for all recommendations.

" + }, + "ListRecommendations":{ + "name":"ListRecommendations", + "http":{ + "method":"GET", + "requestUri":"/codereviews/{CodeReviewArn}/Recommendations" + }, + "input":{"shape":"ListRecommendationsRequest"}, + "output":{"shape":"ListRecommendationsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the list of all recommendations for a completed code review.

" + }, + "ListRepositoryAssociations":{ + "name":"ListRepositoryAssociations", + "http":{ + "method":"GET", + "requestUri":"/associations" + }, + "input":{"shape":"ListRepositoryAssociationsRequest"}, + "output":{"shape":"ListRepositoryAssociationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists repository associations. You can optionally filter on one or more of the following recommendation properties: provider types, states, names, and owners.

" + }, + "PutRecommendationFeedback":{ + "name":"PutRecommendationFeedback", + "http":{ + "method":"PUT", + "requestUri":"/feedback" + }, + "input":{"shape":"PutRecommendationFeedbackRequest"}, + "output":{"shape":"PutRecommendationFeedbackResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Stores customer feedback for a CodeGuru-Reviewer recommendation. When this API is called again with different reactions the previous feedback is overwritten.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "Arn":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"^arn:aws[^:\\s]*:codeguru-reviewer:[^:\\s]+:[\\d]{12}:[a-z-]+:[\\w-]+$" + }, + "AssociateRepositoryRequest":{ + "type":"structure", + "required":["Repository"], + "members":{ + "Repository":{ + "shape":"Repository", + "documentation":"

The repository to associate.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

To add a new repository association, this parameter specifies a unique identifier for the new repository association that helps ensure idempotency.

If you use the AWS CLI or one of the AWS SDKs to call this operation, you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, you must generate a ClientRequestToken yourself for new versions and include that value in the request.

You typically interact with this value if you implement your own retry logic and want to ensure that a given repository association is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified repository association.

Amazon CodeGuru Reviewer uses this value to prevent the accidental creation of duplicate repository associations if there are failures and retries.

", + "idempotencyToken":true + } + } + }, + "AssociateRepositoryResponse":{ + "type":"structure", + "members":{ + "RepositoryAssociation":{ + "shape":"RepositoryAssociation", + "documentation":"

Information about the repository association.

" + } + } + }, + "AssociationId":{ + "type":"string", + "max":64, + "min":1 + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[\\w-]+$" + }, + "CodeCommitRepository":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the AWS CodeCommit repository.

" + } + }, + "documentation":"

Information about an AWS CodeCommit repository.

" + }, + "CodeReview":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the code review.

" + }, + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the code review to describe.

" + }, + "RepositoryName":{ + "shape":"Name", + "documentation":"

The name of the repository.

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

The owner of the repository.

" + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The provider type of the repository association.

" + }, + "State":{ + "shape":"JobState", + "documentation":"

The state of the code review.

" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the state of the code review.

" + }, + "CreatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the code review was created.

" + }, + "LastUpdatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the code review was last updated.

" + }, + "Type":{ + "shape":"Type", + "documentation":"

The type of code review.

" + }, + "PullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The pull request ID for the code review.

" + }, + "SourceCodeType":{ + "shape":"SourceCodeType", + "documentation":"

The type of the source code for the code review.

" + }, + "Metrics":{ + "shape":"Metrics", + "documentation":"

The statistics from the code review.

" + } + }, + "documentation":"

Information about a code review.

" + }, + "CodeReviewSummaries":{ + "type":"list", + "member":{"shape":"CodeReviewSummary"} + }, + "CodeReviewSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the code review.

" + }, + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the code review to describe.

" + }, + "RepositoryName":{ + "shape":"Name", + "documentation":"

The name of the repository.

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

The owner of the repository.

" + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The provider type of the repository association.

" + }, + "State":{ + "shape":"JobState", + "documentation":"

The state of the code review.

" + }, + "CreatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the code review was created.

" + }, + "LastUpdatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the code review was last updated.

" + }, + "Type":{ + "shape":"Type", + "documentation":"

The type of the code review.

" + }, + "PullRequestId":{ + "shape":"PullRequestId", + "documentation":"

The pull request ID for the code review.

" + }, + "MetricsSummary":{ + "shape":"MetricsSummary", + "documentation":"

The statistics from the code review.

" + } + }, + "documentation":"

Information about the summary of the code review.

" + }, + "CommitDiffSourceCodeType":{ + "type":"structure", + "members":{ + "SourceCommit":{ + "shape":"CommitId", + "documentation":"

Source Commit SHA.

" + }, + "DestinationCommit":{ + "shape":"CommitId", + "documentation":"

Destination Commit SHA

" + } + }, + "documentation":"

The commit diff for the pull request.

" + }, + "CommitId":{ + "type":"string", + "max":64, + "min":6 + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "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.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ConnectionArn":{ + "type":"string", + "max":256, + "min":0, + "pattern":"arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" + }, + "DescribeCodeReviewRequest":{ + "type":"structure", + "required":["CodeReviewArn"], + "members":{ + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the code review to describe.

", + "location":"uri", + "locationName":"CodeReviewArn" + } + } + }, + "DescribeCodeReviewResponse":{ + "type":"structure", + "members":{ + "CodeReview":{ + "shape":"CodeReview", + "documentation":"

Information about the code review.

" + } + } + }, + "DescribeRecommendationFeedbackRequest":{ + "type":"structure", + "required":[ + "CodeReviewArn", + "RecommendationId" + ], + "members":{ + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the code review.

", + "location":"uri", + "locationName":"CodeReviewArn" + }, + "RecommendationId":{ + "shape":"RecommendationId", + "documentation":"

The recommendation ID that can be used to track the provided recommendations and then to collect the feedback.

", + "location":"querystring", + "locationName":"RecommendationId" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

Optional parameter to describe the feedback for a given user. If this is not supplied, it defaults to the user making the request.

", + "location":"querystring", + "locationName":"UserId" + } + } + }, + "DescribeRecommendationFeedbackResponse":{ + "type":"structure", + "members":{ + "RecommendationFeedback":{ + "shape":"RecommendationFeedback", + "documentation":"

The recommendation feedback given by the user.

" + } + } + }, + "DescribeRepositoryAssociationRequest":{ + "type":"structure", + "required":["AssociationArn"], + "members":{ + "AssociationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) identifying the association. You can retrieve this ARN by calling ListRepositories.

", + "location":"uri", + "locationName":"AssociationArn" + } + } + }, + "DescribeRepositoryAssociationResponse":{ + "type":"structure", + "members":{ + "RepositoryAssociation":{ + "shape":"RepositoryAssociation", + "documentation":"

Information about the repository association.

" + } + } + }, + "DisassociateRepositoryRequest":{ + "type":"structure", + "required":["AssociationArn"], + "members":{ + "AssociationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) identifying the association.

", + "location":"uri", + "locationName":"AssociationArn" + } + } + }, + "DisassociateRepositoryResponse":{ + "type":"structure", + "members":{ + "RepositoryAssociation":{ + "shape":"RepositoryAssociation", + "documentation":"

Information about the disassociated repository.

" + } + } + }, + "ErrorMessage":{"type":"string"}, + "FilePath":{ + "type":"string", + "max":1024, + "min":1 + }, + "FindingsCount":{"type":"long"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The server encountered an internal error and is unable to complete the request.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "JobState":{ + "type":"string", + "enum":[ + "Completed", + "Pending", + "Failed", + "Deleting" + ] + }, + "JobStates":{ + "type":"list", + "member":{"shape":"JobState"}, + "max":3, + "min":1 + }, + "LineNumber":{"type":"integer"}, + "ListCodeReviewsMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "ListCodeReviewsRequest":{ + "type":"structure", + "required":["Type"], + "members":{ + "ProviderTypes":{ + "shape":"ProviderTypes", + "documentation":"

List of provider types for filtering that needs to be applied before displaying the result. For example, \"providerTypes=[GitHub]\" will list code reviews from GitHub.

", + "location":"querystring", + "locationName":"ProviderTypes" + }, + "States":{ + "shape":"JobStates", + "documentation":"

List of states for filtering that needs to be applied before displaying the result. For example, \"states=[Pending]\" will list code reviews in the Pending state.

", + "location":"querystring", + "locationName":"States" + }, + "RepositoryNames":{ + "shape":"RepositoryNames", + "documentation":"

List of repository names for filtering that needs to be applied before displaying the result.

", + "location":"querystring", + "locationName":"RepositoryNames" + }, + "Type":{ + "shape":"Type", + "documentation":"

The type of code reviews to list in the response.

", + "location":"querystring", + "locationName":"Type" + }, + "MaxResults":{ + "shape":"ListCodeReviewsMaxResults", + "documentation":"

The maximum number of results that are returned per call. The default is 100.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListCodeReviewsResponse":{ + "type":"structure", + "members":{ + "CodeReviewSummaries":{ + "shape":"CodeReviewSummaries", + "documentation":"

A list of code reviews that meet the criteria of the request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListRecommendationFeedbackRequest":{ + "type":"structure", + "required":["CodeReviewArn"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results that are returned per call. The default is 100.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the code review.

", + "location":"uri", + "locationName":"CodeReviewArn" + }, + "UserIds":{ + "shape":"UserIds", + "documentation":"

Filter on userIds that need to be applied before displaying the result. This can be used to query all the recommendation feedback for a code review from a given user.

", + "location":"querystring", + "locationName":"UserIds" + }, + "RecommendationIds":{ + "shape":"RecommendationIds", + "documentation":"

Filter on recommendationIds that need to be applied before displaying the result. This can be used to query all the recommendation feedback for a given recommendation.

", + "location":"querystring", + "locationName":"RecommendationIds" + } + } + }, + "ListRecommendationFeedbackResponse":{ + "type":"structure", + "members":{ + "RecommendationFeedbackSummaries":{ + "shape":"RecommendationFeedbackSummaries", + "documentation":"

Recommendation feedback summaries corresponding to the code reivew ARN.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

" + } + } + }, + "ListRecommendationsRequest":{ + "type":"structure", + "required":["CodeReviewArn"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token.

", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results that are returned per call. The default is 100.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the code review to describe.

", + "location":"uri", + "locationName":"CodeReviewArn" + } + } + }, + "ListRecommendationsResponse":{ + "type":"structure", + "members":{ + "RecommendationSummaries":{ + "shape":"RecommendationSummaries", + "documentation":"

List of recommendations for the requested code review.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListRepositoryAssociationsRequest":{ + "type":"structure", + "members":{ + "ProviderTypes":{ + "shape":"ProviderTypes", + "documentation":"

List of provider types to use as a filter.

", + "location":"querystring", + "locationName":"ProviderType" + }, + "States":{ + "shape":"RepositoryAssociationStates", + "documentation":"

List of states to use as a filter.

", + "location":"querystring", + "locationName":"State" + }, + "Names":{ + "shape":"Names", + "documentation":"

List of repository names to use as a filter.

", + "location":"querystring", + "locationName":"Name" + }, + "Owners":{ + "shape":"Owners", + "documentation":"

List of owners to use as a filter. For GitHub, this is name of the GitHub account that was used to associate the repository. For AWS CodeCommit, it is the name of the CodeCommit account that was used to associate the repository.

", + "location":"querystring", + "locationName":"Owner" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of repository association results returned by ListRepositoryAssociations in paginated output. When this parameter is used, ListRepositoryAssociations only returns maxResults results in a single page with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRepositoryAssociations request with the returned nextToken value. This value can be between 1 and 25. If this parameter is not used, ListRepositoryAssociations returns up to 25 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated ListRepositoryAssociations 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.

Treat this token as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListRepositoryAssociationsResponse":{ + "type":"structure", + "members":{ + "RepositoryAssociationSummaries":{ + "shape":"RepositoryAssociationSummaries", + "documentation":"

A list of repository associations that meet the criteria of the request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future ListRecommendations request. When the results of a ListRecommendations 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.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MeteredLinesOfCodeCount":{"type":"long"}, + "Metrics":{ + "type":"structure", + "members":{ + "MeteredLinesOfCodeCount":{ + "shape":"MeteredLinesOfCodeCount", + "documentation":"

Lines of code metered in the code review.

" + }, + "FindingsCount":{ + "shape":"FindingsCount", + "documentation":"

Total number of recommendations found in the code review.

" + } + }, + "documentation":"

Information about the statistics from the code review.

" + }, + "MetricsSummary":{ + "type":"structure", + "members":{ + "MeteredLinesOfCodeCount":{ + "shape":"MeteredLinesOfCodeCount", + "documentation":"

Lines of code metered in the code review.

" + }, + "FindingsCount":{ + "shape":"FindingsCount", + "documentation":"

Total number of recommendations found in the code review.

" + } + }, + "documentation":"

Information about metrics summaries.

" + }, + "Name":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S[\\w.-]*$" + }, + "Names":{ + "type":"list", + "member":{"shape":"Name"}, + "max":3, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource specified in the request was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Owner":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S(.*\\S)?$" + }, + "Owners":{ + "type":"list", + "member":{"shape":"Owner"}, + "max":3, + "min":1 + }, + "ProviderType":{ + "type":"string", + "enum":[ + "CodeCommit", + "GitHub", + "Bitbucket" + ] + }, + "ProviderTypes":{ + "type":"list", + "member":{"shape":"ProviderType"}, + "max":3, + "min":1 + }, + "PullRequestId":{ + "type":"string", + "max":64, + "min":1 + }, + "PutRecommendationFeedbackRequest":{ + "type":"structure", + "required":[ + "CodeReviewArn", + "RecommendationId", + "Reactions" + ], + "members":{ + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the code review.

" + }, + "RecommendationId":{ + "shape":"RecommendationId", + "documentation":"

The recommendation ID that can be used to track the provided recommendations and then to collect the feedback.

" + }, + "Reactions":{ + "shape":"Reactions", + "documentation":"

List for storing reactions. Reactions are utf-8 text code for emojis. If you send an empty list it clears all your feedback.

" + } + } + }, + "PutRecommendationFeedbackResponse":{ + "type":"structure", + "members":{ + } + }, + "Reaction":{ + "type":"string", + "enum":[ + "ThumbsUp", + "ThumbsDown" + ] + }, + "Reactions":{ + "type":"list", + "member":{"shape":"Reaction"}, + "max":1, + "min":0 + }, + "RecommendationFeedback":{ + "type":"structure", + "members":{ + "CodeReviewArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the code review.

" + }, + "RecommendationId":{ + "shape":"RecommendationId", + "documentation":"

The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback.

" + }, + "Reactions":{ + "shape":"Reactions", + "documentation":"

List for storing reactions. Reactions are utf-8 text code for emojis. You can send an empty list to clear off all your feedback.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The user principal that made the API call.

" + }, + "CreatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time at which the feedback was created.

" + }, + "LastUpdatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time at which the feedback was last updated.

" + } + }, + "documentation":"

Information about the recommendation feedback.

" + }, + "RecommendationFeedbackSummaries":{ + "type":"list", + "member":{"shape":"RecommendationFeedbackSummary"} + }, + "RecommendationFeedbackSummary":{ + "type":"structure", + "members":{ + "RecommendationId":{ + "shape":"RecommendationId", + "documentation":"

The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback.

" + }, + "Reactions":{ + "shape":"Reactions", + "documentation":"

List for storing reactions. Reactions are utf-8 text code for emojis.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier for the user that gave the feedback.

" + } + }, + "documentation":"

Information about recommendation feedback summaries.

" + }, + "RecommendationId":{ + "type":"string", + "max":64, + "min":1 + }, + "RecommendationIds":{ + "type":"list", + "member":{"shape":"RecommendationId"}, + "max":100, + "min":1 + }, + "RecommendationSummaries":{ + "type":"list", + "member":{"shape":"RecommendationSummary"} + }, + "RecommendationSummary":{ + "type":"structure", + "members":{ + "FilePath":{ + "shape":"FilePath", + "documentation":"

Name of the file on which a recommendation is provided.

" + }, + "RecommendationId":{ + "shape":"RecommendationId", + "documentation":"

The recommendation ID that can be used to track the provided recommendations. Later on it can be used to collect the feedback.

" + }, + "StartLine":{ + "shape":"LineNumber", + "documentation":"

Start line from where the recommendation is applicable in the source commit or source branch.

" + }, + "EndLine":{ + "shape":"LineNumber", + "documentation":"

Last line where the recommendation is applicable in the source commit or source branch. For a single line comment the start line and end line values will be the same.

" + }, + "Description":{ + "shape":"Text", + "documentation":"

A description of the recommendation generated by CodeGuru Reviewer for the lines of code between the start line and the end line.

" + } + }, + "documentation":"

Information about recommendations.

" + }, + "Repository":{ + "type":"structure", + "members":{ + "CodeCommit":{ + "shape":"CodeCommitRepository", + "documentation":"

Information about an AWS CodeCommit repository.

" + }, + "Bitbucket":{ + "shape":"ThirdPartySourceRepository", + "documentation":"

Information about a Bitbucket Cloud repository.

" + } + }, + "documentation":"

Information about a repository.

" + }, + "RepositoryAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

The ID of the repository association.

" + }, + "AssociationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) identifying the repository association.

" + }, + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) identifying the repository connection.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the repository.

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

The owner of the repository.

" + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The provider type of the repository association.

" + }, + "State":{ + "shape":"RepositoryAssociationState", + "documentation":"

The state of the repository association.

" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

A description of why the repository association is in the current state.

" + }, + "LastUpdatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the repository association was last updated.

" + }, + "CreatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, when the repository association was created.

" + } + }, + "documentation":"

Information about a repository association.

" + }, + "RepositoryAssociationState":{ + "type":"string", + "enum":[ + "Associated", + "Associating", + "Failed", + "Disassociating" + ] + }, + "RepositoryAssociationStates":{ + "type":"list", + "member":{"shape":"RepositoryAssociationState"}, + "max":3, + "min":1 + }, + "RepositoryAssociationSummaries":{ + "type":"list", + "member":{"shape":"RepositoryAssociationSummary"} + }, + "RepositoryAssociationSummary":{ + "type":"structure", + "members":{ + "AssociationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) identifying the repository association.

" + }, + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) identifying the repository connection.

" + }, + "LastUpdatedTimeStamp":{ + "shape":"TimeStamp", + "documentation":"

The time, in milliseconds since the epoch, since the repository association was last updated.

" + }, + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

The repository association ID.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the repository association.

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

The owner of the repository association.

" + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The provider type of the repository association.

" + }, + "State":{ + "shape":"RepositoryAssociationState", + "documentation":"

The state of the repository association.

Associated

Amazon CodeGuru Reviewer is associated with the repository.

Associating

The association is in progress.

Failed

The association failed.

Disassociating

Amazon CodeGuru Reviewer is in the process of disassociating with the repository.

" + } + }, + "documentation":"

Information about a repository association.

" + }, + "RepositoryNames":{ + "type":"list", + "member":{"shape":"Name"}, + "max":100, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource specified in the request was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SourceCodeType":{ + "type":"structure", + "members":{ + "CommitDiff":{ + "shape":"CommitDiffSourceCodeType", + "documentation":"

The commit diff for the pull request.

" + } + }, + "documentation":"

Information about the source code type.

" + }, + "StateReason":{ + "type":"string", + "max":256, + "min":0 + }, + "Text":{ + "type":"string", + "max":2048, + "min":1 + }, + "ThirdPartySourceRepository":{ + "type":"structure", + "required":[ + "Name", + "ConnectionArn", + "Owner" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the third party source repository.

" + }, + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) identifying the repository connection.

" + }, + "Owner":{ + "shape":"Owner", + "documentation":"

The username of the owner of the repository.

" + } + }, + "documentation":"

Information about a third party source repository connected through CodeStar Connections.

" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimeStamp":{"type":"timestamp"}, + "Type":{ + "type":"string", + "enum":["PullRequest"] + }, + "UserId":{ + "type":"string", + "max":256, + "min":1 + }, + "UserIds":{ + "type":"list", + "member":{"shape":"UserId"}, + "max":100, + "min":1 + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The input fails to satisfy the specified constraints.

", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

This section provides documentation for the Amazon CodeGuru Reviewer API operations. Amazon CodeGuru Reviewer is a service that uses program analysis and machine learning to detect potential defects that are difficult for developers to find and recommends fixes in your Java code.

By proactively detecting and providing recommendations for addressing code defects and implementing best practices, CodeGuru Reviewer improves the overall quality and maintainability of your code base during the code review stage. For more information about CodeGuru Reviewer, see the Amazon CodeGuru Reviewer User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/examples-1.json python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/examples-1.json --- python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/paginators-1.json --- python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,38 @@ +{ + "pagination": { + "ListActionTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "actionTypes" + }, + "ListPipelineExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "pipelineExecutionSummaries" + }, + "ListPipelines": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "pipelines" + }, + "ListWebhooks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "webhooks" + }, + "ListActionExecutions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "actionExecutionDetails" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/service-2.json python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/service-2.json --- python-botocore-1.4.70/botocore/data/codepipeline/2015-07-09/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codepipeline/2015-07-09/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"CodePipeline", "serviceFullName":"AWS CodePipeline", + "serviceId":"CodePipeline", "signatureVersion":"v4", - "targetPrefix":"CodePipeline_20150709" + "targetPrefix":"CodePipeline_20150709", + "uid":"codepipeline-2015-07-09" }, "operations":{ "AcknowledgeJob":{ @@ -24,7 +26,7 @@ {"shape":"InvalidNonceException"}, {"shape":"JobNotFoundException"} ], - "documentation":"

Returns information about a specified job and whether that job has been received by the job worker. Only used for custom actions.

" + "documentation":"

Returns information about a specified job and whether that job has been received by the job worker. Used for custom actions only.

" }, "AcknowledgeThirdPartyJob":{ "name":"AcknowledgeThirdPartyJob", @@ -40,7 +42,7 @@ {"shape":"JobNotFoundException"}, {"shape":"InvalidClientTokenException"} ], - "documentation":"

Confirms a job worker has received the specified job. Only used for partner actions.

" + "documentation":"

Confirms a job worker has received the specified job. Used for partner actions only.

" }, "CreateCustomActionType":{ "name":"CreateCustomActionType", @@ -52,7 +54,10 @@ "output":{"shape":"CreateCustomActionTypeOutput"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.

" }, @@ -71,9 +76,12 @@ {"shape":"InvalidActionDeclarationException"}, {"shape":"InvalidBlockerDeclarationException"}, {"shape":"InvalidStructureException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Creates a pipeline.

" + "documentation":"

Creates a pipeline.

In the pipeline structure, you must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

" }, "DeleteCustomActionType":{ "name":"DeleteCustomActionType", @@ -83,9 +91,10 @@ }, "input":{"shape":"DeleteCustomActionTypeInput"}, "errors":[ - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Marks a custom action as deleted. PollForJobs for the custom action will fail after the action is marked for deletion. Only used for custom actions.

You cannot recreate a custom action after it has been deleted unless you increase the version number of the action.

" + "documentation":"

Marks a custom action as deleted. PollForJobs for the custom action fails after the action is marked for deletion. Used for custom actions only.

To re-create a custom action after it has been deleted you must use a string in the version field that has never been used before. This string can be an incremented version number, for example. To restore a deleted custom action, use a JSON file that is identical to the deleted action, including the original string in the version field.

" }, "DeletePipeline":{ "name":"DeletePipeline", @@ -95,10 +104,39 @@ }, "input":{"shape":"DeletePipelineInput"}, "errors":[ - {"shape":"ValidationException"} + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} ], "documentation":"

Deletes the specified pipeline.

" }, + "DeleteWebhook":{ + "name":"DeleteWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebhookInput"}, + "output":{"shape":"DeleteWebhookOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a previously created webhook by name. Deleting the webhook stops AWS CodePipeline from starting a pipeline every time an external event occurs. The API returns successfully when trying to delete a webhook that is already deleted. If a deleted webhook is re-created by calling PutWebhook with the same name, it will have a different URL.

" + }, + "DeregisterWebhookWithThirdParty":{ + "name":"DeregisterWebhookWithThirdParty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterWebhookWithThirdPartyInput"}, + "output":{"shape":"DeregisterWebhookWithThirdPartyOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"WebhookNotFoundException"} + ], + "documentation":"

Removes the connection between the webhook that was created by CodePipeline and the external tool with events to be detected. Currently supported only for webhooks that target an action type of GitHub.

" + }, "DisableStageTransition":{ "name":"DisableStageTransition", "http":{ @@ -139,7 +177,7 @@ {"shape":"ValidationException"}, {"shape":"JobNotFoundException"} ], - "documentation":"

Returns information about a job. Only used for custom actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" + "documentation":"

Returns information about a job. Used for custom actions only.

When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action.

" }, "GetPipeline":{ "name":"GetPipeline", @@ -183,7 +221,7 @@ {"shape":"ValidationException"}, {"shape":"PipelineNotFoundException"} ], - "documentation":"

Returns information about the state of a pipeline, including the stages and actions.

" + "documentation":"

Returns information about the state of a pipeline, including the stages and actions.

Values returned in the revisionId and revisionUrl fields indicate the source revision information, such as the commit ID, for the current state.

" }, "GetThirdPartyJobDetails":{ "name":"GetThirdPartyJobDetails", @@ -199,7 +237,23 @@ {"shape":"InvalidClientTokenException"}, {"shape":"InvalidJobException"} ], - "documentation":"

Requests the details of a job for a third party action. Only used for partner actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" + "documentation":"

Requests the details of a job for a third party action. Used for partner actions only.

When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action.

" + }, + "ListActionExecutions":{ + "name":"ListActionExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListActionExecutionsInput"}, + "output":{"shape":"ListActionExecutionsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"PipelineExecutionNotFoundException"} + ], + "documentation":"

Lists the action executions that have occurred in a pipeline.

" }, "ListActionTypes":{ "name":"ListActionTypes", @@ -215,6 +269,21 @@ ], "documentation":"

Gets a summary of all AWS CodePipeline action types associated with your account.

" }, + "ListPipelineExecutions":{ + "name":"ListPipelineExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPipelineExecutionsInput"}, + "output":{"shape":"ListPipelineExecutionsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets a summary of the most recent executions for a pipeline.

" + }, "ListPipelines":{ "name":"ListPipelines", "http":{ @@ -224,10 +293,41 @@ "input":{"shape":"ListPipelinesInput"}, "output":{"shape":"ListPipelinesOutput"}, "errors":[ + {"shape":"ValidationException"}, {"shape":"InvalidNextTokenException"} ], "documentation":"

Gets a summary of all of the pipelines associated with your account.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

Gets the set of key-value pairs (metadata) that are used to manage the resource.

" + }, + "ListWebhooks":{ + "name":"ListWebhooks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWebhooksInput"}, + "output":{"shape":"ListWebhooksOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets a listing of all the webhooks in this AWS Region for this account. The output lists all webhooks and includes the webhook URL and ARN and the configuration for each webhook.

" + }, "PollForJobs":{ "name":"PollForJobs", "http":{ @@ -240,7 +340,7 @@ {"shape":"ValidationException"}, {"shape":"ActionTypeNotFoundException"} ], - "documentation":"

Returns information about any jobs for AWS CodePipeline to act upon.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts. Additionally, this API returns any secret values defined for the action.

" + "documentation":"

Returns information about any jobs for AWS CodePipeline to act on. PollForJobs is valid only for action types with \"Custom\" in the owner field. If the action type contains \"AWS\" or \"ThirdParty\" in the owner field, the PollForJobs action returns an error.

When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts. This API also returns any secret values defined for the action.

" }, "PollForThirdPartyJobs":{ "name":"PollForThirdPartyJobs", @@ -254,7 +354,7 @@ {"shape":"ActionTypeNotFoundException"}, {"shape":"ValidationException"} ], - "documentation":"

Determines whether there are any third party jobs for a job worker to act on. Only used for partner actions.

When this API is called, AWS CodePipeline returns temporary credentials for the Amazon S3 bucket used to store artifacts for the pipeline, if the action requires access to that Amazon S3 bucket for input or output artifacts.

" + "documentation":"

Determines whether there are any third party jobs for a job worker to act on. Used for partner actions only.

When this API is called, AWS CodePipeline returns temporary credentials for the S3 bucket used to store artifacts for the pipeline, if the action requires access to that S3 bucket for input or output artifacts.

" }, "PutActionRevision":{ "name":"PutActionRevision", @@ -302,7 +402,7 @@ {"shape":"JobNotFoundException"}, {"shape":"InvalidJobStateException"} ], - "documentation":"

Represents the failure of a job as returned to the pipeline by a job worker. Only used for custom actions.

" + "documentation":"

Represents the failure of a job as returned to the pipeline by a job worker. Used for custom actions only.

" }, "PutJobSuccessResult":{ "name":"PutJobSuccessResult", @@ -314,9 +414,10 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"JobNotFoundException"}, - {"shape":"InvalidJobStateException"} + {"shape":"InvalidJobStateException"}, + {"shape":"OutputVariablesSizeExceededException"} ], - "documentation":"

Represents the success of a job as returned to the pipeline by a job worker. Only used for custom actions.

" + "documentation":"

Represents the success of a job as returned to the pipeline by a job worker. Used for custom actions only.

" }, "PutThirdPartyJobFailureResult":{ "name":"PutThirdPartyJobFailureResult", @@ -331,7 +432,7 @@ {"shape":"InvalidJobStateException"}, {"shape":"InvalidClientTokenException"} ], - "documentation":"

Represents the failure of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

" + "documentation":"

Represents the failure of a third party job as returned to the pipeline by a job worker. Used for partner actions only.

" }, "PutThirdPartyJobSuccessResult":{ "name":"PutThirdPartyJobSuccessResult", @@ -346,7 +447,41 @@ {"shape":"InvalidJobStateException"}, {"shape":"InvalidClientTokenException"} ], - "documentation":"

Represents the success of a third party job as returned to the pipeline by a job worker. Only used for partner actions.

" + "documentation":"

Represents the success of a third party job as returned to the pipeline by a job worker. Used for partner actions only.

" + }, + "PutWebhook":{ + "name":"PutWebhook", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutWebhookInput"}, + "output":{"shape":"PutWebhookOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidWebhookFilterPatternException"}, + {"shape":"InvalidWebhookAuthenticationParametersException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Defines a webhook and returns a unique webhook URL generated by CodePipeline. This URL can be supplied to third party source hosting providers to call every time there's a code change. When CodePipeline receives a POST request on this URL, the pipeline defined in the webhook is started as long as the POST request satisfied the authentication and filtering requirements supplied when defining the webhook. RegisterWebhookWithThirdParty and DeregisterWebhookWithThirdParty APIs can be used to automatically configure supported third parties to call the generated webhook URL.

" + }, + "RegisterWebhookWithThirdParty":{ + "name":"RegisterWebhookWithThirdParty", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterWebhookWithThirdPartyInput"}, + "output":{"shape":"RegisterWebhookWithThirdPartyOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"WebhookNotFoundException"} + ], + "documentation":"

Configures a connection between the webhook that was created and the external tool with events to be detected.

" }, "RetryStageExecution":{ "name":"RetryStageExecution", @@ -363,7 +498,7 @@ {"shape":"StageNotRetryableException"}, {"shape":"NotLatestPipelineExecutionException"} ], - "documentation":"

Resumes the pipeline execution by retrying the last failed actions in a stage.

" + "documentation":"

Resumes the pipeline execution by retrying the last failed actions in a stage. You can retry a stage immediately if any of the actions in the stage fail. When you retry, all actions that are still in progress continue working, and failed actions are triggered again.

" }, "StartPipelineExecution":{ "name":"StartPipelineExecution", @@ -379,6 +514,57 @@ ], "documentation":"

Starts the specified pipeline. Specifically, it begins processing the latest commit to the source location specified as part of the pipeline.

" }, + "StopPipelineExecution":{ + "name":"StopPipelineExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopPipelineExecutionInput"}, + "output":{"shape":"StopPipelineExecutionOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"PipelineNotFoundException"}, + {"shape":"PipelineExecutionNotStoppableException"}, + {"shape":"DuplicatedStopRequestException"} + ], + "documentation":"

Stops the specified pipeline execution. You choose to either stop the pipeline execution by completing in-progress actions without starting subsequent actions, or by abandoning in-progress actions. While completing or abandoning in-progress actions, the pipeline execution is in a Stopping state. After all in-progress actions are completed or abandoned, the pipeline execution is in a Stopped state.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes tags from an AWS resource.

" + }, "UpdatePipeline":{ "name":"UpdatePipeline", "http":{ @@ -392,12 +578,18 @@ {"shape":"InvalidStageDeclarationException"}, {"shape":"InvalidActionDeclarationException"}, {"shape":"InvalidBlockerDeclarationException"}, - {"shape":"InvalidStructureException"} + {"shape":"InvalidStructureException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure in conjunction with UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

" + "documentation":"

Updates a specified pipeline with edits or changes to its structure. Use a JSON file with the pipeline structure and UpdatePipeline to provide the full structure of the pipeline. Updating the pipeline increases the version number of the pipeline by 1.

" } }, "shapes":{ + "AWSRegionName":{ + "type":"string", + "max":30, + "min":4 + }, "AWSSessionCredentials":{ "type":"structure", "required":[ @@ -419,7 +611,7 @@ "documentation":"

The token for the session.

" } }, - "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the Amazon S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

", + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

", "sensitive":true }, "AccessKeyId":{"type":"string"}, @@ -440,10 +632,10 @@ }, "nonce":{ "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

" + "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response of the PollForJobs request that returned this job.

" } }, - "documentation":"

Represents the input of an acknowledge job action.

" + "documentation":"

Represents the input of an AcknowledgeJob action.

" }, "AcknowledgeJobOutput":{ "type":"structure", @@ -453,7 +645,7 @@ "documentation":"

Whether the job worker has received the specified job.

" } }, - "documentation":"

Represents the output of an acknowledge job action.

" + "documentation":"

Represents the output of an AcknowledgeJob action.

" }, "AcknowledgeThirdPartyJobInput":{ "type":"structure", @@ -469,14 +661,14 @@ }, "nonce":{ "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

" + "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Get this number from the response to a GetThirdPartyJobDetails request.

" }, "clientToken":{ "shape":"ClientToken", "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" } }, - "documentation":"

Represents the input of an acknowledge third party job action.

" + "documentation":"

Represents the input of an AcknowledgeThirdPartyJob action.

" }, "AcknowledgeThirdPartyJobOutput":{ "type":"structure", @@ -486,7 +678,7 @@ "documentation":"

The status information for the third party job, if any.

" } }, - "documentation":"

Represents the output of an acknowledge third party job action.

" + "documentation":"

Represents the output of an AcknowledgeThirdPartyJob action.

" }, "ActionCategory":{ "type":"string", @@ -542,15 +734,15 @@ }, "secret":{ "shape":"Boolean", - "documentation":"

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action will preserve the prior value of the secret.

" + "documentation":"

Whether the configuration property is secret. Secrets are hidden from all calls except for GetJobDetails, GetThirdPartyJobDetails, PollForJobs, and PollForThirdPartyJobs.

When updating a pipeline, passing * * * * * without changing any other values of the action preserves the previous value of the secret.

" }, "queryable":{ "shape":"Boolean", - "documentation":"

Indicates that the proprety will be used in conjunction with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to additional restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

" + "documentation":"

Indicates that the property is used with PollForJobs. When creating a custom action, an action can have up to one queryable property. If it has one, that property must be both required and not secret.

If you create a pipeline with a custom action type, and that custom action contains a queryable property, the value for that configuration property is subject to other restrictions. The value must be less than or equal to twenty (20) characters. The value can contain only alphanumeric characters, underscores, and hyphens.

" }, "description":{ "shape":"Description", - "documentation":"

The description of the action configuration property that will be displayed to users.

" + "documentation":"

The description of the action configuration property that is displayed to users.

" }, "type":{ "shape":"ActionConfigurationPropertyType", @@ -574,13 +766,13 @@ }, "ActionConfigurationQueryableValue":{ "type":"string", - "max":20, + "max":50, "min":1, "pattern":"[a-zA-Z0-9_-]+" }, "ActionConfigurationValue":{ "type":"string", - "max":500, + "max":1000, "min":1 }, "ActionContext":{ @@ -588,10 +780,14 @@ "members":{ "name":{ "shape":"ActionName", - "documentation":"

The name of the action within the context of a job.

" + "documentation":"

The name of the action in the context of a job.

" + }, + "actionExecutionId":{ + "shape":"ActionExecutionId", + "documentation":"

The system-generated unique ID that corresponds to an action's execution.

" } }, - "documentation":"

Represents the context of an action within the stage of a pipeline to a job worker.

" + "documentation":"

Represents the context of an action in the stage of a pipeline to a job worker.

" }, "ActionDeclaration":{ "type":"structure", @@ -606,7 +802,7 @@ }, "actionTypeId":{ "shape":"ActionTypeId", - "documentation":"

The configuration information for the action type.

" + "documentation":"

Specifies the action type and the provider of the action.

" }, "runOrder":{ "shape":"ActionRunOrder", @@ -614,7 +810,7 @@ }, "configuration":{ "shape":"ActionConfigurationMap", - "documentation":"

The action declaration's configuration.

" + "documentation":"

The action's configuration. These are key-value pairs that specify input values for an action. For more information, see Action Structure Requirements in CodePipeline. For the list of configuration properties for the AWS CloudFormation action type in CodePipeline, see Configuration Properties Reference in the AWS CloudFormation User Guide. For template snippets with examples, see Using Parameter Override Functions with CodePipeline Pipelines in the AWS CloudFormation User Guide.

The values can be represented in either JSON or YAML format. For example, the JSON configuration item format is as follows:

JSON:

\"Configuration\" : { Key : Value },

" }, "outputArtifacts":{ "shape":"OutputArtifactList", @@ -626,7 +822,15 @@ }, "roleArn":{ "shape":"RoleArn", - "documentation":"

The ARN of the IAM service role that will perform the declared action. This is assumed through the roleArn for the pipeline.

" + "documentation":"

The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.

" + }, + "region":{ + "shape":"AWSRegionName", + "documentation":"

The action declaration's AWS Region, such as us-east-1.

" + }, + "namespace":{ + "shape":"ActionNamespace", + "documentation":"

The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.

" } }, "documentation":"

Represents information about an action declaration.

" @@ -648,7 +852,7 @@ }, "token":{ "shape":"ActionExecutionToken", - "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState command and is used to validate that the approval request corresponding to this token is still valid.

" + "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState command. It is used to validate that the approval request corresponding to this token is still valid.

" }, "lastUpdatedBy":{ "shape":"LastUpdatedBy", @@ -660,7 +864,7 @@ }, "externalExecutionUrl":{ "shape":"Url", - "documentation":"

The URL of a resource external to AWS that will be used when running the action, for example an external repository URL.

" + "documentation":"

The URL of a resource external to AWS that is used when running the action (for example, an external repository URL).

" }, "percentComplete":{ "shape":"Percentage", @@ -673,10 +877,139 @@ }, "documentation":"

Represents information about the run of an action.

" }, + "ActionExecutionDetail":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The pipeline execution ID for the action execution.

" + }, + "actionExecutionId":{ + "shape":"ActionExecutionId", + "documentation":"

The action execution ID.

" + }, + "pipelineVersion":{ + "shape":"PipelineVersion", + "documentation":"

The version of the pipeline where the action was run.

" + }, + "stageName":{ + "shape":"StageName", + "documentation":"

The name of the stage that contains the action.

" + }, + "actionName":{ + "shape":"ActionName", + "documentation":"

The name of the action.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time of the action execution.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last update time of the action execution.

" + }, + "status":{ + "shape":"ActionExecutionStatus", + "documentation":"

The status of the action execution. Status categories are InProgress, Succeeded, and Failed.

" + }, + "input":{ + "shape":"ActionExecutionInput", + "documentation":"

Input details for the action execution, such as role ARN, Region, and input artifacts.

" + }, + "output":{ + "shape":"ActionExecutionOutput", + "documentation":"

Output details for the action execution, such as the action execution result.

" + } + }, + "documentation":"

Returns information about an execution of an action, including the action execution ID, and the name, version, and timing of the action.

" + }, + "ActionExecutionDetailList":{ + "type":"list", + "member":{"shape":"ActionExecutionDetail"} + }, + "ActionExecutionFilter":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The pipeline execution ID used to filter action execution history.

" + } + }, + "documentation":"

Filter values for the action execution.

" + }, + "ActionExecutionId":{"type":"string"}, + "ActionExecutionInput":{ + "type":"structure", + "members":{ + "actionTypeId":{"shape":"ActionTypeId"}, + "configuration":{ + "shape":"ActionConfigurationMap", + "documentation":"

Configuration data for an action execution.

" + }, + "resolvedConfiguration":{ + "shape":"ResolvedActionConfigurationMap", + "documentation":"

Configuration data for an action execution with all variable references replaced with their real values for the execution.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.

" + }, + "region":{ + "shape":"AWSRegionName", + "documentation":"

The AWS Region for the action, such as us-east-1.

" + }, + "inputArtifacts":{ + "shape":"ArtifactDetailList", + "documentation":"

Details of input artifacts of the action that correspond to the action execution.

" + }, + "namespace":{ + "shape":"ActionNamespace", + "documentation":"

The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.

" + } + }, + "documentation":"

Input information used for an action execution.

" + }, + "ActionExecutionOutput":{ + "type":"structure", + "members":{ + "outputArtifacts":{ + "shape":"ArtifactDetailList", + "documentation":"

Details of output artifacts of the action that correspond to the action execution.

" + }, + "executionResult":{ + "shape":"ActionExecutionResult", + "documentation":"

Execution result information listed in the output details for an action execution.

" + }, + "outputVariables":{ + "shape":"OutputVariablesMap", + "documentation":"

The outputVariables field shows the key-value pairs that were output as part of that execution.

" + } + }, + "documentation":"

Output details listed for an action execution, such as the action execution result.

" + }, + "ActionExecutionResult":{ + "type":"structure", + "members":{ + "externalExecutionId":{ + "shape":"ExternalExecutionId", + "documentation":"

The action provider's external ID for the action execution.

" + }, + "externalExecutionSummary":{ + "shape":"ExternalExecutionSummary", + "documentation":"

The action provider's summary for the action execution.

" + }, + "externalExecutionUrl":{ + "shape":"Url", + "documentation":"

The deepest external link to the external resource (for example, a repository URL or deployment endpoint) that is used when running the action.

" + } + }, + "documentation":"

Execution result information, such as the external execution ID.

" + }, "ActionExecutionStatus":{ "type":"string", "enum":[ "InProgress", + "Abandoned", "Succeeded", "Failed" ] @@ -688,6 +1021,12 @@ "min":1, "pattern":"[A-Za-z0-9.@\\-_]+" }, + "ActionNamespace":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[A-Za-z0-9@\\-_]+" + }, "ActionNotFoundException":{ "type":"structure", "members":{ @@ -723,7 +1062,7 @@ }, "revisionChangeId":{ "shape":"RevisionChangeIdentifier", - "documentation":"

The unique identifier of the change that set the state to this revision, for example a deployment ID or timestamp.

" + "documentation":"

The unique identifier of the change that set the state to this revision (for example, a deployment ID or timestamp).

" }, "created":{ "shape":"Timestamp", @@ -744,8 +1083,14 @@ "shape":"ActionName", "documentation":"

The name of the action.

" }, - "currentRevision":{"shape":"ActionRevision"}, - "latestExecution":{"shape":"ActionExecution"}, + "currentRevision":{ + "shape":"ActionRevision", + "documentation":"

Represents information about the version (or revision) of an action.

" + }, + "latestExecution":{ + "shape":"ActionExecution", + "documentation":"

Represents information about the run of an action.

" + }, "entityUrl":{ "shape":"Url", "documentation":"

A URL link for more information about the state of the action, such as a deployment group details page.

" @@ -769,7 +1114,10 @@ "outputArtifactDetails" ], "members":{ - "id":{"shape":"ActionTypeId"}, + "id":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "settings":{ "shape":"ActionTypeSettings", "documentation":"

The settings for the action type.

" @@ -800,7 +1148,7 @@ "members":{ "category":{ "shape":"ActionCategory", - "documentation":"

A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the values below.

" + "documentation":"

A category defines what kind of action can be taken in the stage, and constrains the provider type for the action. Valid categories are limited to one of the following values.

" }, "owner":{ "shape":"ActionOwner", @@ -808,11 +1156,11 @@ }, "provider":{ "shape":"ActionProvider", - "documentation":"

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy.

" + "documentation":"

The provider of the service being called by the action. Valid providers are determined by the action category. For example, an action in the Deploy category type might have a provider of AWS CodeDeploy, which would be specified as CodeDeploy. For more information, see Valid Action Types and Providers in CodePipeline.

" }, "version":{ "shape":"Version", - "documentation":"

A string that identifies the action type.

" + "documentation":"

A string that describes the action version.

" } }, "documentation":"

Represents information about an action type.

" @@ -837,11 +1185,11 @@ }, "entityUrlTemplate":{ "shape":"UrlTemplate", - "documentation":"

The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for an AWS CodeDeploy deployment group. This link is provided as part of the action display within the pipeline.

" + "documentation":"

The URL returned to the AWS CodePipeline console that provides a deep link to the resources of the external system, such as the configuration page for an AWS CodeDeploy deployment group. This link is provided as part of the action display in the pipeline.

" }, "executionUrlTemplate":{ "shape":"UrlTemplate", - "documentation":"

The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system, such as console page for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS CodePipeline console and provides a link to the execution entity of the external action.

" + "documentation":"

The URL returned to the AWS CodePipeline console that contains a link to the top-level landing page for the external system, such as the console page for AWS CodeDeploy. This link is shown on the pipeline view page in the AWS CodePipeline console and provides a link to the execution entity of the external action.

" }, "revisionUrlTemplate":{ "shape":"UrlTemplate", @@ -907,7 +1255,25 @@ "documentation":"

The location of an artifact.

" } }, - "documentation":"

Represents information about an artifact that will be worked upon by actions in the pipeline.

" + "documentation":"

Represents information about an artifact that is worked on by actions in the pipeline.

" + }, + "ArtifactDetail":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ArtifactName", + "documentation":"

The artifact object name for the action execution.

" + }, + "s3location":{ + "shape":"S3Location", + "documentation":"

The Amazon S3 artifact location for the action execution.

" + } + }, + "documentation":"

Artifact details for the action execution, such as the artifact location.

" + }, + "ArtifactDetailList":{ + "type":"list", + "member":{"shape":"ArtifactDetail"} }, "ArtifactDetails":{ "type":"structure", @@ -940,7 +1306,7 @@ }, "s3Location":{ "shape":"S3ArtifactLocation", - "documentation":"

The Amazon S3 bucket that contains the artifact.

" + "documentation":"

The S3 bucket that contains the artifact.

" } }, "documentation":"

Represents information about the location of an artifact.

" @@ -960,7 +1326,7 @@ "members":{ "name":{ "shape":"ArtifactName", - "documentation":"

The name of an artifact. This name might be system-generated, such as \"MyApp\", or might be defined by the user when an action is created.

" + "documentation":"

The name of an artifact. This name might be system-generated, such as \"MyApp\", or defined by the user when an action is created.

" }, "revisionId":{ "shape":"Revision", @@ -1002,14 +1368,14 @@ }, "location":{ "shape":"ArtifactStoreLocation", - "documentation":"

The location for storing the artifacts for a pipeline, such as an S3 bucket or folder.

" + "documentation":"

The S3 bucket used for storing the artifacts for a pipeline. You can specify the name of an S3 bucket but not a folder in the bucket. A folder to contain the pipeline artifacts is created for you based on the name of the pipeline. You can use any S3 bucket in the same AWS Region as the pipeline to store your pipeline artifacts.

" }, "encryptionKey":{ "shape":"EncryptionKey", "documentation":"

The encryption key used to encrypt the data in the artifact store, such as an AWS Key Management Service (AWS KMS) key. If this is undefined, the default key for Amazon S3 is used.

" } }, - "documentation":"

The Amazon S3 location where artifacts are stored for the pipeline. If this Amazon S3 bucket is created manually, it must meet the requirements for AWS CodePipeline. For more information, see the Concepts.

" + "documentation":"

The S3 bucket where artifacts for the pipeline are stored.

You must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

" }, "ArtifactStoreLocation":{ "type":"string", @@ -1017,6 +1383,11 @@ "min":3, "pattern":"[a-zA-Z0-9\\-\\.]+" }, + "ArtifactStoreMap":{ + "type":"map", + "key":{"shape":"AWSRegionName"}, + "value":{"shape":"ArtifactStore"} + }, "ArtifactStoreType":{ "type":"string", "enum":["S3"] @@ -1053,9 +1424,31 @@ "type":"string", "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" }, - "ClientToken":{"type":"string"}, + "ClientRequestToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "ClientToken":{ + "type":"string", + "max":256, + "min":1 + }, "Code":{"type":"string"}, - "ContinuationToken":{"type":"string"}, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

Unable to modify the tag due to a simultaneous update request.

", + "exception":true + }, + "ContinuationToken":{ + "type":"string", + "max":2048, + "min":1 + }, "CreateCustomActionTypeInput":{ "type":"structure", "required":[ @@ -1068,7 +1461,7 @@ "members":{ "category":{ "shape":"ActionCategory", - "documentation":"

The category of the custom action, such as a build action or a test action.

Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

" + "documentation":"

The category of the custom action, such as a build action or a test action.

Although Source and Approval are listed as valid values, they are not currently functional. These values are reserved for future use.

" }, "provider":{ "shape":"ActionProvider", @@ -1078,38 +1471,72 @@ "shape":"Version", "documentation":"

The version identifier of the custom action.

" }, - "settings":{"shape":"ActionTypeSettings"}, + "settings":{ + "shape":"ActionTypeSettings", + "documentation":"

URLs that provide users information about this custom action.

" + }, "configurationProperties":{ "shape":"ActionConfigurationPropertyList", - "documentation":"

The configuration properties for the custom action.

You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

" + "documentation":"

The configuration properties for the custom action.

You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.

" + }, + "inputArtifactDetails":{ + "shape":"ArtifactDetails", + "documentation":"

The details of the input artifact for the action, such as its commit ID.

" + }, + "outputArtifactDetails":{ + "shape":"ArtifactDetails", + "documentation":"

The details of the output artifact of the action, such as its commit ID.

" }, - "inputArtifactDetails":{"shape":"ArtifactDetails"}, - "outputArtifactDetails":{"shape":"ArtifactDetails"} + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the custom action.

" + } }, - "documentation":"

Represents the input of a create custom action operation.

" + "documentation":"

Represents the input of a CreateCustomActionType operation.

" }, "CreateCustomActionTypeOutput":{ "type":"structure", "required":["actionType"], "members":{ - "actionType":{"shape":"ActionType"} + "actionType":{ + "shape":"ActionType", + "documentation":"

Returns information about the details of an action type.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the custom action.

" + } }, - "documentation":"

Represents the output of a create custom action operation.

" + "documentation":"

Represents the output of a CreateCustomActionType operation.

" }, "CreatePipelineInput":{ "type":"structure", "required":["pipeline"], "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the pipeline.

" + } }, - "documentation":"

Represents the input of a create pipeline action.

" + "documentation":"

Represents the input of a CreatePipeline action.

" }, "CreatePipelineOutput":{ "type":"structure", "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the pipeline.

" + } }, - "documentation":"

Represents the output of a create pipeline action.

" + "documentation":"

Represents the output of a CreatePipeline action.

" }, "CurrentRevision":{ "type":"structure", @@ -1158,7 +1585,7 @@ "documentation":"

The version of the custom action to delete.

" } }, - "documentation":"

Represents the input of a delete custom action operation. The custom action will be marked as deleted.

" + "documentation":"

Represents the input of a DeleteCustomActionType operation. The custom action will be marked as deleted.

" }, "DeletePipelineInput":{ "type":"structure", @@ -1169,23 +1596,52 @@ "documentation":"

The name of the pipeline to be deleted.

" } }, - "documentation":"

Represents the input of a delete pipeline action.

" - }, - "Description":{ - "type":"string", - "max":2048, - "min":1 + "documentation":"

Represents the input of a DeletePipeline action.

" }, - "DisableStageTransitionInput":{ + "DeleteWebhookInput":{ "type":"structure", - "required":[ - "pipelineName", - "stageName", - "transitionType", - "reason" - ], + "required":["name"], "members":{ - "pipelineName":{ + "name":{ + "shape":"WebhookName", + "documentation":"

The name of the webhook you want to delete.

" + } + } + }, + "DeleteWebhookOutput":{ + "type":"structure", + "members":{ + } + }, + "DeregisterWebhookWithThirdPartyInput":{ + "type":"structure", + "members":{ + "webhookName":{ + "shape":"WebhookName", + "documentation":"

The name of the webhook you want to deregister.

" + } + } + }, + "DeregisterWebhookWithThirdPartyOutput":{ + "type":"structure", + "members":{ + } + }, + "Description":{ + "type":"string", + "max":160, + "min":1 + }, + "DisableStageTransitionInput":{ + "type":"structure", + "required":[ + "pipelineName", + "stageName", + "transitionType", + "reason" + ], + "members":{ + "pipelineName":{ "shape":"PipelineName", "documentation":"

The name of the pipeline in which you want to disable the flow of artifacts from one stage to another.

" }, @@ -1195,14 +1651,14 @@ }, "transitionType":{ "shape":"StageTransitionType", - "documentation":"

Specifies whether artifacts will be prevented from transitioning into the stage and being processed by the actions in that stage (inbound), or prevented from transitioning from the stage after they have been processed by the actions in that stage (outbound).

" + "documentation":"

Specifies whether artifacts are prevented from transitioning into the stage and being processed by the actions in that stage (inbound), or prevented from transitioning from the stage after they have been processed by the actions in that stage (outbound).

" }, "reason":{ "shape":"DisabledReason", - "documentation":"

The reason given to the user why a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.

" + "documentation":"

The reason given to the user that a stage is disabled, such as waiting for manual approval or manual tests. This message is displayed in the pipeline console UI.

" } }, - "documentation":"

Represents the input of a disable stage transition input action.

" + "documentation":"

Represents the input of a DisableStageTransition action.

" }, "DisabledReason":{ "type":"string", @@ -1210,6 +1666,14 @@ "min":1, "pattern":"[a-zA-Z0-9!@ \\(\\)\\.\\*\\?\\-]+" }, + "DuplicatedStopRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The pipeline execution is already in a Stopping state. If you already chose to stop and wait, you cannot make that request again. You can choose to stop and abandon now, but be aware that this option can lead to failed tasks or out of sequence tasks. If you already chose to stop and abandon, you cannot make that request again.

", + "exception":true + }, "EnableStageTransitionInput":{ "type":"structure", "required":[ @@ -1228,10 +1692,10 @@ }, "transitionType":{ "shape":"StageTransitionType", - "documentation":"

Specifies whether artifacts will be allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already-processed artifacts will be allowed to transition to the next stage (outbound).

" + "documentation":"

Specifies whether artifacts are allowed to enter the stage and be processed by the actions in that stage (inbound) or whether already processed artifacts are allowed to transition to the next stage (outbound).

" } }, - "documentation":"

Represents the input of an enable stage transition action.

" + "documentation":"

Represents the input of an EnableStageTransition action.

" }, "Enabled":{"type":"boolean"}, "EncryptionKey":{ @@ -1243,7 +1707,7 @@ "members":{ "id":{ "shape":"EncryptionKeyId", - "documentation":"

The ID used to identify the key. For an AWS KMS key, this is the key ID or key ARN.

" + "documentation":"

The ID used to identify the key. For an AWS KMS key, you can use the key ID, the key ARN, or the alias ARN.

Aliases are recognized only in the account that created the customer master key (CMK). For cross-account actions, you can only use the key ID or key ARN to identify the key.

" }, "type":{ "shape":"EncryptionKeyType", @@ -1266,7 +1730,7 @@ "members":{ "code":{ "shape":"Code", - "documentation":"

The system ID or error number code of the error.

" + "documentation":"

The system ID or number code of the error.

" }, "message":{ "shape":"Message", @@ -1288,7 +1752,7 @@ }, "percentComplete":{ "shape":"Percentage", - "documentation":"

The percentage of work completed on the action, represented on a scale of zero to one hundred percent.

" + "documentation":"

The percentage of work completed on the action, represented on a scale of 0 to 100 percent.

" } }, "documentation":"

The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

" @@ -1298,7 +1762,27 @@ "max":1500, "min":1 }, - "ExecutionSummary":{"type":"string"}, + "ExecutionSummary":{ + "type":"string", + "max":2048, + "min":1 + }, + "ExecutionTrigger":{ + "type":"structure", + "members":{ + "triggerType":{ + "shape":"TriggerType", + "documentation":"

The type of change-detection method, command, or user interaction that started a pipeline execution.

" + }, + "triggerDetail":{ + "shape":"TriggerDetail", + "documentation":"

Detail related to the event that started a pipeline execution, such as the webhook ARN of the webhook that triggered the pipeline execution or the user ARN for a user-initiated start-pipeline-execution CLI command.

" + } + }, + "documentation":"

The interaction or event that started a pipeline execution.

" + }, + "ExternalExecutionId":{"type":"string"}, + "ExternalExecutionSummary":{"type":"string"}, "FailureDetails":{ "type":"structure", "required":[ @@ -1341,17 +1825,17 @@ "documentation":"

The unique system-generated ID for the job.

" } }, - "documentation":"

Represents the input of a get job details action.

" + "documentation":"

Represents the input of a GetJobDetails action.

" }, "GetJobDetailsOutput":{ "type":"structure", "members":{ "jobDetails":{ "shape":"JobDetails", - "documentation":"

The details of the job.

If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

" + "documentation":"

The details of the job.

If AWSSessionCredentials is used, a long-running job can call GetJobDetails again to obtain new credentials.

" } }, - "documentation":"

Represents the output of a get job details action.

" + "documentation":"

Represents the output of a GetJobDetails action.

" }, "GetPipelineExecutionInput":{ "type":"structure", @@ -1369,7 +1853,7 @@ "documentation":"

The ID of the pipeline execution about which you want to get execution details.

" } }, - "documentation":"

Represents the input of a get pipeline execution action.

" + "documentation":"

Represents the input of a GetPipelineExecution action.

" }, "GetPipelineExecutionOutput":{ "type":"structure", @@ -1379,7 +1863,7 @@ "documentation":"

Represents information about the execution of a pipeline.

" } }, - "documentation":"

Represents the output of a get pipeline execution action.

" + "documentation":"

Represents the output of a GetPipelineExecution action.

" }, "GetPipelineInput":{ "type":"structure", @@ -1387,21 +1871,28 @@ "members":{ "name":{ "shape":"PipelineName", - "documentation":"

The name of the pipeline for which you want to get information. Pipeline names must be unique under an Amazon Web Services (AWS) user account.

" + "documentation":"

The name of the pipeline for which you want to get information. Pipeline names must be unique under an AWS user account.

" }, "version":{ "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline. If you do not specify a version, defaults to the most current version.

" + "documentation":"

The version number of the pipeline. If you do not specify a version, defaults to the current version.

" } }, - "documentation":"

Represents the input of a get pipeline action.

" + "documentation":"

Represents the input of a GetPipeline action.

" }, "GetPipelineOutput":{ "type":"structure", "members":{ - "pipeline":{"shape":"PipelineDeclaration"} + "pipeline":{ + "shape":"PipelineDeclaration", + "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" + }, + "metadata":{ + "shape":"PipelineMetadata", + "documentation":"

Represents the pipeline metadata information returned as part of the output of a GetPipeline action.

" + } }, - "documentation":"

Represents the output of a get pipeline action.

" + "documentation":"

Represents the output of a GetPipeline action.

" }, "GetPipelineStateInput":{ "type":"structure", @@ -1412,7 +1903,7 @@ "documentation":"

The name of the pipeline about which you want to get information.

" } }, - "documentation":"

Represents the input of a get pipeline state action.

" + "documentation":"

Represents the input of a GetPipelineState action.

" }, "GetPipelineStateOutput":{ "type":"structure", @@ -1423,7 +1914,7 @@ }, "pipelineVersion":{ "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline.

A newly-created pipeline is always assigned a version number of 1.

" + "documentation":"

The version number of the pipeline.

A newly created pipeline is always assigned a version number of 1.

" }, "stageStates":{ "shape":"StageStateList", @@ -1438,7 +1929,7 @@ "documentation":"

The date and time the pipeline was last updated, in timestamp format.

" } }, - "documentation":"

Represents the output of a get pipeline state action.

" + "documentation":"

Represents the output of a GetPipelineState action.

" }, "GetThirdPartyJobDetailsInput":{ "type":"structure", @@ -1456,7 +1947,7 @@ "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" } }, - "documentation":"

Represents the input of a get third party job details action.

" + "documentation":"

Represents the input of a GetThirdPartyJobDetails action.

" }, "GetThirdPartyJobDetailsOutput":{ "type":"structure", @@ -1466,7 +1957,7 @@ "documentation":"

The details of the job, including any protected values defined for the job.

" } }, - "documentation":"

Represents the output of a get third party job details action.

" + "documentation":"

Represents the output of a GetThirdPartyJobDetails action.

" }, "InputArtifact":{ "type":"structure", @@ -1474,7 +1965,7 @@ "members":{ "name":{ "shape":"ArtifactName", - "documentation":"

The name of the artifact to be worked on, for example, \"My App\".

The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

" + "documentation":"

The name of the artifact to be worked on (for example, \"My App\").

The input artifact of an action must exactly match the output artifact declared in a preceding action, but the input artifact does not have to be the next action in strict sequence from the action that provided the output artifact. Actions in parallel can declare different output artifacts, which are in turn consumed by different following actions.

" } }, "documentation":"

Represents information about an artifact to be worked on, such as a test or build artifact.

" @@ -1487,7 +1978,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified action declaration was specified in an invalid format.

", + "documentation":"

The action declaration was specified in an invalid format.

", "exception":true }, "InvalidApprovalTokenException":{ @@ -1497,6 +1988,14 @@ "documentation":"

The approval request already received a response or has expired.

", "exception":true }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The specified resource ARN is invalid.

", + "exception":true + }, "InvalidBlockerDeclarationException":{ "type":"structure", "members":{ @@ -1515,42 +2014,64 @@ "type":"structure", "members":{ }, - "documentation":"

The specified job was specified in an invalid format or cannot be found.

", + "documentation":"

The job was specified in an invalid format or cannot be found.

", "exception":true }, "InvalidJobStateException":{ "type":"structure", "members":{ }, - "documentation":"

The specified job state was specified in an invalid format.

", + "documentation":"

The job state was specified in an invalid format.

", "exception":true }, "InvalidNextTokenException":{ "type":"structure", "members":{ }, - "documentation":"

The next token was specified in an invalid format. Make sure that the next token you provided is the token returned by a previous call.

", + "documentation":"

The next token was specified in an invalid format. Make sure that the next token you provide is the token returned by a previous call.

", "exception":true }, "InvalidNonceException":{ "type":"structure", "members":{ }, - "documentation":"

The specified nonce was specified in an invalid format.

", + "documentation":"

The nonce was specified in an invalid format.

", "exception":true }, "InvalidStageDeclarationException":{ "type":"structure", "members":{ }, - "documentation":"

The specified stage declaration was specified in an invalid format.

", + "documentation":"

The stage declaration was specified in an invalid format.

", "exception":true }, "InvalidStructureException":{ "type":"structure", "members":{ }, - "documentation":"

The specified structure was specified in an invalid format.

", + "documentation":"

The structure was specified in an invalid format.

", + "exception":true + }, + "InvalidTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The specified resource tags are invalid.

", + "exception":true + }, + "InvalidWebhookAuthenticationParametersException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified authentication type is in an invalid format.

", + "exception":true + }, + "InvalidWebhookFilterPatternException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified event filter rule is in an invalid format.

", "exception":true }, "Job":{ @@ -1562,11 +2083,11 @@ }, "data":{ "shape":"JobData", - "documentation":"

Additional data about a job.

" + "documentation":"

Other data about a job.

" }, "nonce":{ "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

" + "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeJob request.

" }, "accountId":{ "shape":"AccountId", @@ -1578,9 +2099,18 @@ "JobData":{ "type":"structure", "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, - "actionConfiguration":{"shape":"ActionConfiguration"}, - "pipelineContext":{"shape":"PipelineContext"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, + "actionConfiguration":{ + "shape":"ActionConfiguration", + "documentation":"

Represents information about an action configuration.

" + }, + "pipelineContext":{ + "shape":"PipelineContext", + "documentation":"

Represents information about a pipeline to a job worker.

Includes pipelineArn and pipelineExecutionId for custom jobs.

" + }, "inputArtifacts":{ "shape":"ArtifactList", "documentation":"

The artifact supplied to the job.

" @@ -1589,14 +2119,20 @@ "shape":"ArtifactList", "documentation":"

The output of the job.

" }, - "artifactCredentials":{"shape":"AWSSessionCredentials"}, + "artifactCredentials":{ + "shape":"AWSSessionCredentials", + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the S3 bucket used to store artifacts for the pipeline in AWS CodePipeline.

" + }, "continuationToken":{ "shape":"ContinuationToken", - "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

" + "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, required by a job to continue the job asynchronously.

" }, - "encryptionKey":{"shape":"EncryptionKey"} + "encryptionKey":{ + "shape":"EncryptionKey", + "documentation":"

Represents information about the key used to encrypt data in the artifact store, such as an AWS Key Management Service (AWS KMS) key.

" + } }, - "documentation":"

Represents additional information about a job required for a job worker to complete the job.

" + "documentation":"

Represents other information about a job required for a job worker to complete the job.

" }, "JobDetails":{ "type":"structure", @@ -1605,7 +2141,10 @@ "shape":"JobId", "documentation":"

The unique system-generated ID of the job.

" }, - "data":{"shape":"JobData"}, + "data":{ + "shape":"JobData", + "documentation":"

Represents other information about a job required for a job worker to complete the job.

" + }, "accountId":{ "shape":"AccountId", "documentation":"

The AWS account ID associated with the job.

" @@ -1625,7 +2164,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified job was specified in an invalid format or cannot be found.

", + "documentation":"

The job was specified in an invalid format or cannot be found.

", "exception":true }, "JobStatus":{ @@ -1640,6 +2179,11 @@ "Failed" ] }, + "JsonPath":{ + "type":"string", + "max":150, + "min":1 + }, "LastChangedAt":{"type":"timestamp"}, "LastChangedBy":{"type":"string"}, "LastUpdatedBy":{"type":"string"}, @@ -1650,6 +2194,41 @@ "documentation":"

The number of pipelines associated with the AWS account has exceeded the limit allowed for the account.

", "exception":true }, + "ListActionExecutionsInput":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline for which you want to list action execution history.

" + }, + "filter":{ + "shape":"ActionExecutionFilter", + "documentation":"

Input information used to filter action execution history.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Action execution history is retained for up to 12 months, based on action execution start times. Default value is 100.

Detailed execution history is available for executions run on or after February 21, 2019.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous ListActionExecutions call, which can be used to return the next set of action executions in the list.

" + } + } + }, + "ListActionExecutionsOutput":{ + "type":"structure", + "members":{ + "actionExecutionDetails":{ + "shape":"ActionExecutionDetailList", + "documentation":"

The details for a list of recent executions, such as action execution ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListActionExecutions call to return the next set of action executions in the list.

" + } + } + }, "ListActionTypesInput":{ "type":"structure", "members":{ @@ -1662,7 +2241,7 @@ "documentation":"

An identifier that was returned from the previous list action types call, which can be used to return the next set of action types in the list.

" } }, - "documentation":"

Represents the input of a list action types action.

" + "documentation":"

Represents the input of a ListActionTypes action.

" }, "ListActionTypesOutput":{ "type":"structure", @@ -1674,20 +2253,53 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list action types call to return the next set of action types in the list.

" + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned. It can be used in a subsequent list action types call to return the next set of action types in the list.

" + } + }, + "documentation":"

Represents the output of a ListActionTypes action.

" + }, + "ListPipelineExecutionsInput":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline for which you want to get execution summary information.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value. Pipeline history is limited to the most recent 12 months, based on pipeline execution start times. Default value is 100.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous ListPipelineExecutions call, which can be used to return the next set of pipeline executions in the list.

" + } + }, + "documentation":"

Represents the input of a ListPipelineExecutions action.

" + }, + "ListPipelineExecutionsOutput":{ + "type":"structure", + "members":{ + "pipelineExecutionSummaries":{ + "shape":"PipelineExecutionSummaryList", + "documentation":"

A list of executions in the history of a pipeline.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used in the next ListPipelineExecutions call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" } }, - "documentation":"

Represents the output of a list action types action.

" + "documentation":"

Represents the output of a ListPipelineExecutions action.

" }, "ListPipelinesInput":{ "type":"structure", "members":{ "nextToken":{ "shape":"NextToken", - "documentation":"

An identifier that was returned from the previous list pipelines call, which can be used to return the next set of pipelines in the list.

" + "documentation":"

An identifier that was returned from the previous list pipelines call. It can be used to return the next set of pipelines in the list.

" } }, - "documentation":"

Represents the input of a list pipelines action.

" + "documentation":"

Represents the input of a ListPipelines action.

" }, "ListPipelinesOutput":{ "type":"structure", @@ -1698,28 +2310,145 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

If the amount of returned information is significantly large, an identifier is also returned which can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

" + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned. It can be used in a subsequent list pipelines call to return the next set of pipelines in the list.

" } }, - "documentation":"

Represents the output of a list pipelines action.

" + "documentation":"

Represents the output of a ListPipelines action.

" + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to get tags for.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous API call, which would be used to return the next page of the list. The ListTagsforResource call lists all available tags in one call and does not use pagination.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent API call to return the next page of the list. The ListTagsforResource call lists all available tags in one call and does not use pagination.

" + } + } + }, + "ListWebhookItem":{ + "type":"structure", + "required":[ + "definition", + "url" + ], + "members":{ + "definition":{ + "shape":"WebhookDefinition", + "documentation":"

The detail returned for each webhook, such as the webhook authentication type and filter rules.

" + }, + "url":{ + "shape":"WebhookUrl", + "documentation":"

A unique URL generated by CodePipeline. When a POST request is made to this URL, the defined pipeline is started as long as the body of the post request satisfies the defined authentication and filtering conditions. Deleting and re-creating a webhook makes the old URL invalid and generates a new one.

" + }, + "errorMessage":{ + "shape":"WebhookErrorMessage", + "documentation":"

The text of the error message about the webhook.

" + }, + "errorCode":{ + "shape":"WebhookErrorCode", + "documentation":"

The number code of the error.

" + }, + "lastTriggered":{ + "shape":"WebhookLastTriggered", + "documentation":"

The date and time a webhook was last successfully triggered, in timestamp format.

" + }, + "arn":{ + "shape":"WebhookArn", + "documentation":"

The Amazon Resource Name (ARN) of the webhook.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the webhook.

" + } + }, + "documentation":"

The detail returned for each webhook after listing webhooks, such as the webhook URL, the webhook name, and the webhook ARN.

" + }, + "ListWebhooksInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous ListWebhooks call, which can be used to return the next set of webhooks in the list.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "ListWebhooksOutput":{ + "type":"structure", + "members":{ + "webhooks":{ + "shape":"WebhookList", + "documentation":"

The JSON detail returned for each webhook in the list output for the ListWebhooks call.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the amount of returned information is significantly large, an identifier is also returned and can be used in a subsequent ListWebhooks call to return the next set of webhooks in the list.

" + } + } + }, + "MatchEquals":{ + "type":"string", + "max":150, + "min":1 }, "MaxBatchSize":{ "type":"integer", "min":1 }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "MaximumArtifactCount":{ "type":"integer", "max":5, "min":0 }, - "Message":{"type":"string"}, + "Message":{ + "type":"string", + "max":5000, + "min":1 + }, "MinimumArtifactCount":{ "type":"integer", "max":5, "min":0 }, - "NextToken":{"type":"string"}, - "Nonce":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "Nonce":{ + "type":"string", + "max":50, + "min":1 + }, "NotLatestPipelineExecutionException":{ "type":"structure", "members":{ @@ -1742,11 +2471,33 @@ "type":"list", "member":{"shape":"OutputArtifact"} }, + "OutputVariablesKey":{ + "type":"string", + "pattern":"[A-Za-z0-9@\\-_]+" + }, + "OutputVariablesMap":{ + "type":"map", + "key":{"shape":"OutputVariablesKey"}, + "value":{"shape":"OutputVariablesValue"} + }, + "OutputVariablesSizeExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

Exceeded the total size limit for all variables in the pipeline.

", + "exception":true + }, + "OutputVariablesValue":{"type":"string"}, "Percentage":{ "type":"integer", "max":100, "min":0 }, + "PipelineArn":{ + "type":"string", + "pattern":"arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+" + }, "PipelineContext":{ "type":"structure", "members":{ @@ -1758,16 +2509,26 @@ "shape":"StageContext", "documentation":"

The stage of the pipeline.

" }, - "action":{"shape":"ActionContext"} + "action":{ + "shape":"ActionContext", + "documentation":"

The context of an action to a job worker in the stage of a pipeline.

" + }, + "pipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The execution ID of the pipeline.

" + } }, - "documentation":"

Represents information about a pipeline to a job worker.

" + "documentation":"

Represents information about a pipeline to a job worker.

PipelineContext contains pipelineArn and pipelineExecutionId for custom action jobs. The pipelineArn and pipelineExecutionId fields are not populated for ThirdParty action jobs.

" }, "PipelineDeclaration":{ "type":"structure", "required":[ "name", "roleArn", - "artifactStore", "stages" ], "members":{ @@ -1777,16 +2538,23 @@ }, "roleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" + "documentation":"

The Amazon Resource Name (ARN) for AWS CodePipeline to use to either perform actions with no actionRoleArn, or to use to assume roles for actions with an actionRoleArn.

" + }, + "artifactStore":{ + "shape":"ArtifactStore", + "documentation":"

Represents information about the S3 bucket where artifacts are stored for the pipeline.

You must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

" + }, + "artifactStores":{ + "shape":"ArtifactStoreMap", + "documentation":"

A mapping of artifactStore objects and their corresponding AWS Regions. There must be an artifact store for the pipeline Region and for each cross-region action in the pipeline.

You must include either artifactStore or artifactStores in your pipeline, but you cannot use both. If you create a cross-region action in your pipeline, you must use artifactStores.

" }, - "artifactStore":{"shape":"ArtifactStore"}, "stages":{ "shape":"PipelineStageDeclarationList", "documentation":"

The stage in which to perform the action.

" }, "version":{ "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline. A new pipeline always has a version number of 1. This number is automatically incremented when a pipeline is updated.

" + "documentation":"

The version number of the pipeline. A new pipeline always has a version number of 1. This number is incremented when a pipeline is updated.

" } }, "documentation":"

Represents the structure of actions and stages to be performed in the pipeline.

" @@ -1796,11 +2564,11 @@ "members":{ "pipelineName":{ "shape":"PipelineName", - "documentation":"

The name of the pipeline that was executed.

" + "documentation":"

The name of the pipeline with the specified pipeline execution.

" }, "pipelineVersion":{ "shape":"PipelineVersion", - "documentation":"

The version number of the pipeline that was executed.

" + "documentation":"

The version number of the pipeline with the specified pipeline execution.

" }, "pipelineExecutionId":{ "shape":"PipelineExecutionId", @@ -1808,11 +2576,11 @@ }, "status":{ "shape":"PipelineExecutionStatus", - "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Succeeded: The pipeline execution completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution caught up and continued through the pipeline instead.

  • Failed: The pipeline did not complete successfully.

" + "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Stopped: The pipeline execution was manually stopped. For more information, see Stopped Executions.

  • Stopping: The pipeline execution received a request to be manually stopped. Depending on the selected stop mode, the execution is either completing or abandoning in-progress actions. For more information, see Stopped Executions.

  • Succeeded: The pipeline execution was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead. For more information, see Superseded Executions.

  • Failed: The pipeline execution was not completed successfully.

" }, "artifactRevisions":{ "shape":"ArtifactRevisionList", - "documentation":"

A list of ArtifactRevision objects included in a pipeline execution.

" + "documentation":"

A list of ArtifactRevision objects included in a pipeline execution.

" } }, "documentation":"

Represents information about an execution of a pipeline.

" @@ -1828,19 +2596,85 @@ "documentation":"

The pipeline execution was specified in an invalid format or cannot be found, or an execution ID does not belong to the specified pipeline.

", "exception":true }, + "PipelineExecutionNotStoppableException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

Unable to stop the pipeline execution. The execution might already be in a Stopped state, or it might no longer be in progress.

", + "exception":true + }, "PipelineExecutionStatus":{ "type":"string", "enum":[ "InProgress", + "Stopped", + "Stopping", "Succeeded", "Superseded", "Failed" ] }, + "PipelineExecutionSummary":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The ID of the pipeline execution.

" + }, + "status":{ + "shape":"PipelineExecutionStatus", + "documentation":"

The status of the pipeline execution.

  • InProgress: The pipeline execution is currently running.

  • Stopped: The pipeline execution was manually stopped. For more information, see Stopped Executions.

  • Stopping: The pipeline execution received a request to be manually stopped. Depending on the selected stop mode, the execution is either completing or abandoning in-progress actions. For more information, see Stopped Executions.

  • Succeeded: The pipeline execution was completed successfully.

  • Superseded: While this pipeline execution was waiting for the next stage to be completed, a newer pipeline execution advanced and continued through the pipeline instead. For more information, see Superseded Executions.

  • Failed: The pipeline execution was not completed successfully.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the pipeline execution began, in timestamp format.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the last change to the pipeline execution, in timestamp format.

" + }, + "sourceRevisions":{ + "shape":"SourceRevisionList", + "documentation":"

A list of the source artifact revisions that initiated a pipeline execution.

" + }, + "trigger":{ + "shape":"ExecutionTrigger", + "documentation":"

The interaction or event that started a pipeline execution, such as automated change detection or a StartPipelineExecution API call.

" + }, + "stopTrigger":{ + "shape":"StopExecutionTrigger", + "documentation":"

The interaction that stopped a pipeline execution.

" + } + }, + "documentation":"

Summary information about a pipeline execution.

" + }, + "PipelineExecutionSummaryList":{ + "type":"list", + "member":{"shape":"PipelineExecutionSummary"} + }, "PipelineList":{ "type":"list", "member":{"shape":"PipelineSummary"} }, + "PipelineMetadata":{ + "type":"structure", + "members":{ + "pipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the pipeline.

" + }, + "created":{ + "shape":"Timestamp", + "documentation":"

The date and time the pipeline was created, in timestamp format.

" + }, + "updated":{ + "shape":"Timestamp", + "documentation":"

The date and time the pipeline was last updated, in timestamp format.

" + } + }, + "documentation":"

Information about a pipeline.

" + }, "PipelineName":{ "type":"string", "max":100, @@ -1858,7 +2692,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified pipeline was specified in an invalid format or cannot be found.

", + "documentation":"

The pipeline was specified in an invalid format or cannot be found.

", "exception":true }, "PipelineStageDeclarationList":{ @@ -1895,24 +2729,27 @@ "type":"structure", "members":{ }, - "documentation":"

The specified pipeline version was specified in an invalid format or cannot be found.

", + "documentation":"

The pipeline version was specified in an invalid format or cannot be found.

", "exception":true }, "PollForJobsInput":{ "type":"structure", "required":["actionTypeId"], "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "maxBatchSize":{ "shape":"MaxBatchSize", "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" }, "queryParam":{ "shape":"QueryParamMap", - "documentation":"

A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value will be returned.

" + "documentation":"

A map of property names and values. For an action type with no queryable properties, this value must be null or an empty map. For an action type with a queryable property, you must supply that property as a key in the map. Only jobs whose action configuration matches the mapped value are returned.

" } }, - "documentation":"

Represents the input of a poll for jobs action.

" + "documentation":"

Represents the input of a PollForJobs action.

" }, "PollForJobsOutput":{ "type":"structure", @@ -1922,19 +2759,22 @@ "documentation":"

Information about the jobs to take action on.

" } }, - "documentation":"

Represents the output of a poll for jobs action.

" + "documentation":"

Represents the output of a PollForJobs action.

" }, "PollForThirdPartyJobsInput":{ "type":"structure", "required":["actionTypeId"], "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, "maxBatchSize":{ "shape":"MaxBatchSize", "documentation":"

The maximum number of jobs to return in a poll for jobs call.

" } }, - "documentation":"

Represents the input of a poll for third party jobs action.

" + "documentation":"

Represents the input of a PollForThirdPartyJobs action.

" }, "PollForThirdPartyJobsOutput":{ "type":"structure", @@ -1944,7 +2784,7 @@ "documentation":"

Information about the jobs to take action on.

" } }, - "documentation":"

Represents the output of a poll for third party jobs action.

" + "documentation":"

Represents the output of a PollForThirdPartyJobs action.

" }, "PutActionRevisionInput":{ "type":"structure", @@ -1957,19 +2797,22 @@ "members":{ "pipelineName":{ "shape":"PipelineName", - "documentation":"

The name of the pipeline that will start processing the revision to the source.

" + "documentation":"

The name of the pipeline that starts processing the revision to the source.

" }, "stageName":{ "shape":"StageName", - "documentation":"

The name of the stage that contains the action that will act upon the revision.

" + "documentation":"

The name of the stage that contains the action that acts on the revision.

" }, "actionName":{ "shape":"ActionName", - "documentation":"

The name of the action that will process the revision.

" + "documentation":"

The name of the action that processes the revision.

" }, - "actionRevision":{"shape":"ActionRevision"} + "actionRevision":{ + "shape":"ActionRevision", + "documentation":"

Represents information about the version (or revision) of an action.

" + } }, - "documentation":"

Represents the input of a put action revision action.

" + "documentation":"

Represents the input of a PutActionRevision action.

" }, "PutActionRevisionOutput":{ "type":"structure", @@ -1983,7 +2826,7 @@ "documentation":"

The ID of the current workflow state of the pipeline.

" } }, - "documentation":"

Represents the output of a put action revision action.

" + "documentation":"

Represents the output of a PutActionRevision action.

" }, "PutApprovalResultInput":{ "type":"structure", @@ -2013,10 +2856,10 @@ }, "token":{ "shape":"ApprovalToken", - "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action and is used to validate that the approval request corresponding to this token is still valid.

" + "documentation":"

The system-generated token used to identify a unique approval request. The token for each open approval request can be obtained using the GetPipelineState action. It is used to validate that the approval request corresponding to this token is still valid.

" } }, - "documentation":"

Represents the input of a put approval result action.

" + "documentation":"

Represents the input of a PutApprovalResult action.

" }, "PutApprovalResultOutput":{ "type":"structure", @@ -2026,7 +2869,7 @@ "documentation":"

The timestamp showing when the approval or rejection was submitted.

" } }, - "documentation":"

Represents the output of a put approval result action.

" + "documentation":"

Represents the output of a PutApprovalResult action.

" }, "PutJobFailureResultInput":{ "type":"structure", @@ -2037,14 +2880,14 @@ "members":{ "jobId":{ "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

" + "documentation":"

The unique system-generated ID of the job that failed. This is the same ID returned from PollForJobs.

" }, "failureDetails":{ "shape":"FailureDetails", "documentation":"

The details about the failure of a job.

" } }, - "documentation":"

Represents the input of a put job failure result action.

" + "documentation":"

Represents the input of a PutJobFailureResult action.

" }, "PutJobSuccessResultInput":{ "type":"structure", @@ -2052,22 +2895,26 @@ "members":{ "jobId":{ "shape":"JobId", - "documentation":"

The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

" + "documentation":"

The unique system-generated ID of the job that succeeded. This is the same ID returned from PollForJobs.

" }, "currentRevision":{ "shape":"CurrentRevision", - "documentation":"

The ID of the current revision of the artifact successfully worked upon by the job.

" + "documentation":"

The ID of the current revision of the artifact successfully worked on by the job.

" }, "continuationToken":{ "shape":"ContinuationToken", - "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a custom action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the custom action. When the action is complete, no continuation token should be supplied.

" + "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a custom action in progress. Future jobs use this token to identify the running instance of the action. It can be reused to return more information about the progress of the custom action. When the action is complete, no continuation token should be supplied.

" }, "executionDetails":{ "shape":"ExecutionDetails", "documentation":"

The execution details of the successful job, such as the actions taken by the job worker.

" + }, + "outputVariables":{ + "shape":"OutputVariablesMap", + "documentation":"

Key-value pairs produced as output by a job worker that can be made available to a downstream action configuration. outputVariables can be included only when there is no continuation token on the request.

" } }, - "documentation":"

Represents the input of a put job success result action.

" + "documentation":"

Represents the input of a PutJobSuccessResult action.

" }, "PutThirdPartyJobFailureResultInput":{ "type":"structure", @@ -2079,15 +2926,18 @@ "members":{ "jobId":{ "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

" + "documentation":"

The ID of the job that failed. This is the same ID returned from PollForThirdPartyJobs.

" }, "clientToken":{ "shape":"ClientToken", "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, - "failureDetails":{"shape":"FailureDetails"} + "failureDetails":{ + "shape":"FailureDetails", + "documentation":"

Represents information about failure details.

" + } }, - "documentation":"

Represents the input of a third party job failure result action.

" + "documentation":"

Represents the input of a PutThirdPartyJobFailureResult action.

" }, "PutThirdPartyJobSuccessResultInput":{ "type":"structure", @@ -2098,20 +2948,49 @@ "members":{ "jobId":{ "shape":"ThirdPartyJobId", - "documentation":"

The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

" + "documentation":"

The ID of the job that successfully completed. This is the same ID returned from PollForThirdPartyJobs.

" }, "clientToken":{ "shape":"ClientToken", "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, - "currentRevision":{"shape":"CurrentRevision"}, + "currentRevision":{ + "shape":"CurrentRevision", + "documentation":"

Represents information about a current revision.

" + }, "continuationToken":{ "shape":"ContinuationToken", - "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs will use this token in order to identify the running instance of the action. It can be reused to return additional information about the progress of the partner action. When the action is complete, no continuation token should be supplied.

" + "documentation":"

A token generated by a job worker, such as an AWS CodeDeploy deployment ID, that a successful job provides to identify a partner action in progress. Future jobs use this token to identify the running instance of the action. It can be reused to return more information about the progress of the partner action. When the action is complete, no continuation token should be supplied.

" }, - "executionDetails":{"shape":"ExecutionDetails"} + "executionDetails":{ + "shape":"ExecutionDetails", + "documentation":"

The details of the actions taken and results produced on an artifact as it passes through stages in the pipeline.

" + } }, - "documentation":"

Represents the input of a put third party job success result action.

" + "documentation":"

Represents the input of a PutThirdPartyJobSuccessResult action.

" + }, + "PutWebhookInput":{ + "type":"structure", + "required":["webhook"], + "members":{ + "webhook":{ + "shape":"WebhookDefinition", + "documentation":"

The detail provided in an input file to create the webhook, such as the webhook name, the pipeline name, and the action name. Give the webhook a unique name that helps you identify it. You might name the webhook after the pipeline and action it targets so that you can easily recognize what it's used for later.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the webhook.

" + } + } + }, + "PutWebhookOutput":{ + "type":"structure", + "members":{ + "webhook":{ + "shape":"ListWebhookItem", + "documentation":"

The detail returned from creating the webhook, such as the webhook name, webhook URL, and webhook ARN.

" + } + } }, "QueryParamMap":{ "type":"map", @@ -2120,6 +2999,36 @@ "max":1, "min":0 }, + "RegisterWebhookWithThirdPartyInput":{ + "type":"structure", + "members":{ + "webhookName":{ + "shape":"WebhookName", + "documentation":"

The name of an existing webhook created with PutWebhook to register with a supported third party.

" + } + } + }, + "RegisterWebhookWithThirdPartyOutput":{ + "type":"structure", + "members":{ + } + }, + "ResolvedActionConfigurationMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "ResourceArn":{ + "type":"string", + "pattern":"arn:aws(-[\\w]+)*:codepipeline:.+:[0-9]{12}:.+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The resource was specified in an invalid format.

", + "exception":true + }, "RetryStageExecutionInput":{ "type":"structure", "required":[ @@ -2146,7 +3055,7 @@ "documentation":"

The scope of the retry attempt. Currently, the only supported value is FAILED_ACTIONS.

" } }, - "documentation":"

Represents the input of a retry stage execution action.

" + "documentation":"

Represents the input of a RetryStageExecution action.

" }, "RetryStageExecutionOutput":{ "type":"structure", @@ -2156,7 +3065,7 @@ "documentation":"

The ID of the current workflow execution in the failed stage.

" } }, - "documentation":"

Represents the output of a retry stage execution action.

" + "documentation":"

Represents the output of a RetryStageExecution action.

" }, "Revision":{ "type":"string", @@ -2187,19 +3096,70 @@ "members":{ "bucketName":{ "shape":"S3BucketName", - "documentation":"

The name of the Amazon S3 bucket.

" + "documentation":"

The name of the S3 bucket.

" }, "objectKey":{ "shape":"S3ObjectKey", - "documentation":"

The key of the object in the Amazon S3 bucket, which uniquely identifies the object in the bucket.

" + "documentation":"

The key of the object in the S3 bucket, which uniquely identifies the object in the bucket.

" } }, - "documentation":"

The location of the Amazon S3 bucket that contains a revision.

" + "documentation":"

The location of the S3 bucket that contains a revision.

" + }, + "S3Bucket":{ + "type":"string", + "max":63, + "min":3 }, "S3BucketName":{"type":"string"}, + "S3Key":{ + "type":"string", + "max":100, + "min":1 + }, + "S3Location":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"S3Bucket", + "documentation":"

The Amazon S3 artifact bucket for an action's artifacts.

" + }, + "key":{ + "shape":"S3Key", + "documentation":"

The artifact name.

" + } + }, + "documentation":"

The Amazon S3 artifact location for an action's artifacts.

" + }, "S3ObjectKey":{"type":"string"}, "SecretAccessKey":{"type":"string"}, "SessionToken":{"type":"string"}, + "SourceRevision":{ + "type":"structure", + "required":["actionName"], + "members":{ + "actionName":{ + "shape":"ActionName", + "documentation":"

The name of the action that processed the revision to the source artifact.

" + }, + "revisionId":{ + "shape":"Revision", + "documentation":"

The system-generated unique ID that identifies the revision number of the artifact.

" + }, + "revisionSummary":{ + "shape":"RevisionSummary", + "documentation":"

Summary information about the most recent revision of the artifact. For GitHub and AWS CodeCommit repositories, the commit message. For Amazon S3 buckets or actions, the user-provided content of a codepipeline-artifact-revision-summary key specified in the object metadata.

" + }, + "revisionUrl":{ + "shape":"Url", + "documentation":"

The commit ID for the artifact revision. For artifacts stored in GitHub or AWS CodeCommit repositories, the commit ID is linked to a commit details page.

" + } + }, + "documentation":"

Information about the version (or revision) of a source artifact that initiated a pipeline execution.

" + }, + "SourceRevisionList":{ + "type":"list", + "member":{"shape":"SourceRevision"} + }, "StageActionDeclarationList":{ "type":"list", "member":{"shape":"ActionDeclaration"} @@ -2263,6 +3223,8 @@ "enum":[ "InProgress", "Failed", + "Stopped", + "Stopping", "Succeeded" ] }, @@ -2276,14 +3238,14 @@ "type":"structure", "members":{ }, - "documentation":"

The specified stage was specified in an invalid format or cannot be found.

", + "documentation":"

The stage was specified in an invalid format or cannot be found.

", "exception":true }, "StageNotRetryableException":{ "type":"structure", "members":{ }, - "documentation":"

The specified stage can't be retried because the pipeline structure or stage state changed after the stage was not completed; the stage contains no failed actions; one or more actions are still in progress; or another retry attempt is already in progress.

", + "documentation":"

Unable to retry. The pipeline structure or stage state might have changed while actions awaited retry, or the stage contains no failed actions.

", "exception":true }, "StageRetryMode":{ @@ -2330,9 +3292,14 @@ "name":{ "shape":"PipelineName", "documentation":"

The name of the pipeline to start.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The system-generated unique ID used to identify a unique execution request.

", + "idempotencyToken":true } }, - "documentation":"

Represents the input of a start pipeline execution action.

" + "documentation":"

Represents the input of a StartPipelineExecution action.

" }, "StartPipelineExecutionOutput":{ "type":"structure", @@ -2342,40 +3309,159 @@ "documentation":"

The unique system-generated ID of the pipeline execution that was started.

" } }, - "documentation":"

Represents the output of a start pipeline execution action.

" + "documentation":"

Represents the output of a StartPipelineExecution action.

" + }, + "StopExecutionTrigger":{ + "type":"structure", + "members":{ + "reason":{ + "shape":"StopPipelineExecutionReason", + "documentation":"

The user-specified reason the pipeline was stopped.

" + } + }, + "documentation":"

The interaction that stopped a pipeline execution.

" + }, + "StopPipelineExecutionInput":{ + "type":"structure", + "required":[ + "pipelineName", + "pipelineExecutionId" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline to stop.

" + }, + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The ID of the pipeline execution to be stopped in the current stage. Use the GetPipelineState action to retrieve the current pipelineExecutionId.

" + }, + "abandon":{ + "shape":"Boolean", + "documentation":"

Use this option to stop the pipeline execution by abandoning, rather than finishing, in-progress actions.

This option can lead to failed or out-of-sequence tasks.

" + }, + "reason":{ + "shape":"StopPipelineExecutionReason", + "documentation":"

Use this option to enter comments, such as the reason the pipeline was stopped.

" + } + } + }, + "StopPipelineExecutionOutput":{ + "type":"structure", + "members":{ + "pipelineExecutionId":{ + "shape":"PipelineExecutionId", + "documentation":"

The unique system-generated ID of the pipeline execution that was stopped.

" + } + } + }, + "StopPipelineExecutionReason":{ + "type":"string", + "max":200 + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A tag is a key-value pair that is used to manage the resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource you want to add tags to.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags you want to modify or add to the resource.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 }, "ThirdPartyJob":{ "type":"structure", "members":{ "clientId":{ "shape":"ClientId", - "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" + "documentation":"

The clientToken portion of the clientId and clientToken pair used to verify that the calling entity is allowed access to the job and its details.

" }, "jobId":{ "shape":"JobId", "documentation":"

The identifier used to identify the job in AWS CodePipeline.

" } }, - "documentation":"

A response to a PollForThirdPartyJobs request returned by AWS CodePipeline when there is a job to be worked upon by a partner action.

" + "documentation":"

A response to a PollForThirdPartyJobs request returned by AWS CodePipeline when there is a job to be worked on by a partner action.

" }, "ThirdPartyJobData":{ "type":"structure", "members":{ - "actionTypeId":{"shape":"ActionTypeId"}, - "actionConfiguration":{"shape":"ActionConfiguration"}, - "pipelineContext":{"shape":"PipelineContext"}, + "actionTypeId":{ + "shape":"ActionTypeId", + "documentation":"

Represents information about an action type.

" + }, + "actionConfiguration":{ + "shape":"ActionConfiguration", + "documentation":"

Represents information about an action configuration.

" + }, + "pipelineContext":{ + "shape":"PipelineContext", + "documentation":"

Represents information about a pipeline to a job worker.

Does not include pipelineArn and pipelineExecutionId for ThirdParty jobs.

" + }, "inputArtifacts":{ "shape":"ArtifactList", - "documentation":"

The name of the artifact that will be worked upon by the action, if any. This name might be system-generated, such as \"MyApp\", or might be defined by the user when the action is created. The input artifact name must match the name of an output artifact generated by an action in an earlier action or stage of the pipeline.

" + "documentation":"

The name of the artifact that is worked on by the action, if any. This name might be system-generated, such as \"MyApp\", or it might be defined by the user when the action is created. The input artifact name must match the name of an output artifact generated by an action in an earlier action or stage of the pipeline.

" }, "outputArtifacts":{ "shape":"ArtifactList", - "documentation":"

The name of the artifact that will be the result of the action, if any. This name might be system-generated, such as \"MyBuiltApp\", or might be defined by the user when the action is created.

" + "documentation":"

The name of the artifact that is the result of the action, if any. This name might be system-generated, such as \"MyBuiltApp\", or it might be defined by the user when the action is created.

" + }, + "artifactCredentials":{ + "shape":"AWSSessionCredentials", + "documentation":"

Represents an AWS session credentials object. These credentials are temporary credentials that are issued by AWS Secure Token Service (STS). They can be used to access input and output artifacts in the S3 bucket used to store artifact for the pipeline in AWS CodePipeline.

" }, - "artifactCredentials":{"shape":"AWSSessionCredentials"}, "continuationToken":{ "shape":"ContinuationToken", - "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires in order to continue the job asynchronously.

" + "documentation":"

A system-generated token, such as a AWS CodeDeploy deployment ID, that a job requires to continue the job asynchronously.

" }, "encryptionKey":{ "shape":"EncryptionKey", @@ -2397,10 +3483,10 @@ }, "nonce":{ "shape":"Nonce", - "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. This number must be returned in the response.

" + "documentation":"

A system-generated random number that AWS CodePipeline uses to ensure that the job is being worked on by only one job worker. Use this number in an AcknowledgeThirdPartyJob request.

" } }, - "documentation":"

The details of a job sent in response to a GetThirdPartyJobDetails request.

" + "documentation":"

The details of a job sent in response to a GetThirdPartyJobDetails request.

" }, "ThirdPartyJobId":{ "type":"string", @@ -2413,6 +3499,14 @@ }, "Time":{"type":"timestamp"}, "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The tags limit for a resource has been exceeded.

", + "exception":true + }, "TransitionState":{ "type":"structure", "members":{ @@ -2435,6 +3529,44 @@ }, "documentation":"

Represents information about the state of transitions between one stage and another stage.

" }, + "TriggerDetail":{ + "type":"string", + "max":1024, + "min":0 + }, + "TriggerType":{ + "type":"string", + "enum":[ + "CreatePipeline", + "StartPipelineExecution", + "PollForSourceChanges", + "Webhook", + "CloudWatchEvent", + "PutActionRevision" + ] + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove tags from.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of keys for the tags to be removed from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, "UpdatePipelineInput":{ "type":"structure", "required":["pipeline"], @@ -2444,7 +3576,7 @@ "documentation":"

The name of the pipeline to be updated.

" } }, - "documentation":"

Represents the input of an update pipeline action.

" + "documentation":"

Represents the input of an UpdatePipeline action.

" }, "UpdatePipelineOutput":{ "type":"structure", @@ -2454,7 +3586,7 @@ "documentation":"

The structure of the updated pipeline.

" } }, - "documentation":"

Represents the output of an update pipeline action.

" + "documentation":"

Represents the output of an UpdatePipeline action.

" }, "Url":{ "type":"string", @@ -2478,7 +3610,123 @@ "max":9, "min":1, "pattern":"[0-9A-Za-z_-]+" + }, + "WebhookArn":{"type":"string"}, + "WebhookAuthConfiguration":{ + "type":"structure", + "members":{ + "AllowedIPRange":{ + "shape":"WebhookAuthConfigurationAllowedIPRange", + "documentation":"

The property used to configure acceptance of webhooks in an IP address range. For IP, only the AllowedIPRange property must be set. This property must be set to a valid CIDR range.

" + }, + "SecretToken":{ + "shape":"WebhookAuthConfigurationSecretToken", + "documentation":"

The property used to configure GitHub authentication. For GITHUB_HMAC, only the SecretToken property must be set.

" + } + }, + "documentation":"

The authentication applied to incoming webhook trigger requests.

" + }, + "WebhookAuthConfigurationAllowedIPRange":{ + "type":"string", + "max":100, + "min":1 + }, + "WebhookAuthConfigurationSecretToken":{ + "type":"string", + "max":100, + "min":1 + }, + "WebhookAuthenticationType":{ + "type":"string", + "enum":[ + "GITHUB_HMAC", + "IP", + "UNAUTHENTICATED" + ] + }, + "WebhookDefinition":{ + "type":"structure", + "required":[ + "name", + "targetPipeline", + "targetAction", + "filters", + "authentication", + "authenticationConfiguration" + ], + "members":{ + "name":{ + "shape":"WebhookName", + "documentation":"

The name of the webhook.

" + }, + "targetPipeline":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline you want to connect to the webhook.

" + }, + "targetAction":{ + "shape":"ActionName", + "documentation":"

The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.

" + }, + "filters":{ + "shape":"WebhookFilters", + "documentation":"

A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.

" + }, + "authentication":{ + "shape":"WebhookAuthenticationType", + "documentation":"

Supported options are GITHUB_HMAC, IP, and UNAUTHENTICATED.

  • For information about the authentication scheme implemented by GITHUB_HMAC, see Securing your webhooks on the GitHub Developer website.

  • IP rejects webhooks trigger requests unless they originate from an IP address in the IP range whitelisted in the authentication configuration.

  • UNAUTHENTICATED accepts all webhook trigger requests regardless of origin.

" + }, + "authenticationConfiguration":{ + "shape":"WebhookAuthConfiguration", + "documentation":"

Properties that configure the authentication applied to incoming webhook trigger requests. The required properties depend on the authentication type. For GITHUB_HMAC, only the SecretToken property must be set. For IP, only the AllowedIPRange property must be set to a valid CIDR range. For UNAUTHENTICATED, no properties can be set.

" + } + }, + "documentation":"

Represents information about a webhook and its definition.

" + }, + "WebhookErrorCode":{"type":"string"}, + "WebhookErrorMessage":{"type":"string"}, + "WebhookFilterRule":{ + "type":"structure", + "required":["jsonPath"], + "members":{ + "jsonPath":{ + "shape":"JsonPath", + "documentation":"

A JsonPath expression that is applied to the body/payload of the webhook. The value selected by the JsonPath expression must match the value specified in the MatchEquals field. Otherwise, the request is ignored. For more information, see Java JsonPath implementation in GitHub.

" + }, + "matchEquals":{ + "shape":"MatchEquals", + "documentation":"

The value selected by the JsonPath expression must match what is supplied in the MatchEquals field. Otherwise, the request is ignored. Properties from the target action configuration can be included as placeholders in this value by surrounding the action configuration key with curly brackets. For example, if the value supplied here is \"refs/heads/{Branch}\" and the target action has an action configuration property called \"Branch\" with a value of \"master\", the MatchEquals value is evaluated as \"refs/heads/master\". For a list of action configuration properties for built-in action types, see Pipeline Structure Reference Action Requirements.

" + } + }, + "documentation":"

The event criteria that specify when a webhook notification is sent to your URL.

" + }, + "WebhookFilters":{ + "type":"list", + "member":{"shape":"WebhookFilterRule"}, + "max":5 + }, + "WebhookLastTriggered":{"type":"timestamp"}, + "WebhookList":{ + "type":"list", + "member":{"shape":"ListWebhookItem"} + }, + "WebhookName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[A-Za-z0-9.@\\-_]+" + }, + "WebhookNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified webhook was entered in an invalid format or cannot be found.

", + "exception":true + }, + "WebhookUrl":{ + "type":"string", + "max":1000, + "min":1 } }, - "documentation":"AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline is only configurable through the API. For additional information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, gates, and transitions, as described below.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of actions, gates, and stages.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely-named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about a pipeline structure.

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • StartPipelineExecution, which runs the the most recent revision of an artifact through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages, which are which are logical groupings of gates and actions. Each stage contains one or more actions that must complete before the next stage begins. A stage will result in success or failure. If a stage fails, then the pipeline stops at that stage and will remain stopped until either a new version of an artifact appears in the source location, or a user takes action to re-run the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, also refer to the AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions, which are categorized into categories such as source or build actions performed within a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState.

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. In order to integrate with AWS CodePipeline, developers will need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

" + "documentation":"AWS CodePipeline

Overview

This is the AWS CodePipeline API Reference. This guide provides descriptions of the actions and data types for AWS CodePipeline. Some functionality for your pipeline can only be configured through the API. For more information, see the AWS CodePipeline User Guide.

You can use the AWS CodePipeline API to work with pipelines, stages, actions, and transitions.

Pipelines are models of automated release processes. Each pipeline is uniquely named, and consists of stages, actions, and transitions.

You can work with pipelines by calling:

  • CreatePipeline, which creates a uniquely named pipeline.

  • DeletePipeline, which deletes the specified pipeline.

  • GetPipeline, which returns information about the pipeline structure and pipeline metadata, including the pipeline Amazon Resource Name (ARN).

  • GetPipelineExecution, which returns information about a specific execution of a pipeline.

  • GetPipelineState, which returns information about the current state of the stages and actions of a pipeline.

  • ListActionExecutions, which returns action-level details for past executions. The details include full stage and action-level details, including individual action duration, status, any errors that occurred during the execution, and input and output artifact location details.

  • ListPipelines, which gets a summary of all of the pipelines associated with your account.

  • ListPipelineExecutions, which gets a summary of the most recent executions for a pipeline.

  • StartPipelineExecution, which runs the most recent revision of an artifact through the pipeline.

  • StopPipelineExecution, which stops the specified pipeline execution from continuing through the pipeline.

  • UpdatePipeline, which updates a pipeline with edits or changes to the structure of the pipeline.

Pipelines include stages. Each stage contains one or more actions that must complete before the next stage begins. A stage results in success or failure. If a stage fails, the pipeline stops at that stage and remains stopped until either a new version of an artifact appears in the source location, or a user takes action to rerun the most recent artifact through the pipeline. You can call GetPipelineState, which displays the status of a pipeline, including the status of stages in the pipeline, or GetPipeline, which returns the entire structure of the pipeline, including the stages of that pipeline. For more information about the structure of stages and actions, see AWS CodePipeline Pipeline Structure Reference.

Pipeline stages include actions that are categorized into categories such as source or build actions performed in a stage of a pipeline. For example, you can use a source action to import artifacts into a pipeline from a source such as Amazon S3. Like stages, you do not work with actions directly in most cases, but you do define and interact with actions when working with pipeline operations such as CreatePipeline and GetPipelineState. Valid action categories are:

  • Source

  • Build

  • Test

  • Deploy

  • Approval

  • Invoke

Pipelines also include transitions, which allow the transition of artifacts from one stage to the next in a pipeline after the actions in one stage complete.

You can work with transitions by calling:

Using the API to integrate with AWS CodePipeline

For third-party integrators or developers who want to create their own integrations with AWS CodePipeline, the expected sequence varies from the standard API user. To integrate with AWS CodePipeline, developers need to work with the following items:

Jobs, which are instances of an action. For example, a job for a source action might import a revision of an artifact from a source.

You can work with jobs by calling:

Third party jobs, which are instances of an action created by a partner action and integrated into AWS CodePipeline. Partner actions are created by members of the AWS Partner Network.

You can work with third party jobs by calling:

" } diff -Nru python-botocore-1.4.70/botocore/data/codestar/2017-04-19/examples-1.json python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/examples-1.json --- python-botocore-1.4.70/botocore/data/codestar/2017-04-19/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/codestar/2017-04-19/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/paginators-1.json --- python-botocore-1.4.70/botocore/data/codestar/2017-04-19/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListProjects": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "projects" + }, + "ListResources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resources" + }, + "ListTeamMembers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "teamMembers" + }, + "ListUserProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "userProfiles" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codestar/2017-04-19/service-2.json python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/service-2.json --- python-botocore-1.4.70/botocore/data/codestar/2017-04-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar/2017-04-19/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1456 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"codestar", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"CodeStar", + "serviceFullName":"AWS CodeStar", + "serviceId":"CodeStar", + "signatureVersion":"v4", + "targetPrefix":"CodeStar_20170419", + "uid":"codestar-2017-04-19" + }, + "operations":{ + "AssociateTeamMember":{ + "name":"AssociateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateTeamMemberRequest"}, + "output":{"shape":"AssociateTeamMemberResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ProjectNotFoundException"}, + {"shape":"TeamMemberAlreadyAssociatedException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds an IAM user to the team for an AWS CodeStar project.

" + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResult"}, + "errors":[ + {"shape":"ProjectAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ProjectCreationFailedException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a project, including project resources. This action creates a project based on a submitted project request. A set of source code files and a toolchain template file can be included with the project request. If these are not provided, an empty project is created.

" + }, + "CreateUserProfile":{ + "name":"CreateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserProfileRequest"}, + "output":{"shape":"CreateUserProfileResult"}, + "errors":[ + {"shape":"UserProfileAlreadyExistsException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates a profile for a user that includes user preferences, such as the display name and email address assocciated with the user, in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResult"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"} + ], + "documentation":"

Deletes a project, including project resources. Does not delete users associated with the project, but does delete the IAM roles that allowed access to the project.

" + }, + "DeleteUserProfile":{ + "name":"DeleteUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserProfileRequest"}, + "output":{"shape":"DeleteUserProfileResult"}, + "errors":[ + {"shape":"ValidationException"} + ], + "documentation":"

Deletes a user profile in AWS CodeStar, including all personal preference data associated with that profile, such as display name and email address. It does not delete the history of that user, for example the history of commits made by that user.

" + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Describes a project and its resources.

" + }, + "DescribeUserProfile":{ + "name":"DescribeUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserProfileRequest"}, + "output":{"shape":"DescribeUserProfileResult"}, + "errors":[ + {"shape":"UserProfileNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Describes a user in AWS CodeStar and the user attributes across all projects.

" + }, + "DisassociateTeamMember":{ + "name":"DisassociateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTeamMemberRequest"}, + "output":{"shape":"DisassociateTeamMemberResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes a user from a project. Removing a user from a project also removes the IAM policies from that user that allowed access to the project and its resources. Disassociating a team member does not remove that user's profile from AWS CodeStar. It does not remove the user from IAM.

" + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all projects in AWS CodeStar associated with your AWS account.

" + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists resources associated with a project in AWS CodeStar.

" + }, + "ListTagsForProject":{ + "name":"ListTagsForProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForProjectRequest"}, + "output":{"shape":"ListTagsForProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets the tags for a project.

" + }, + "ListTeamMembers":{ + "name":"ListTeamMembers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTeamMembersRequest"}, + "output":{"shape":"ListTeamMembersResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all team members associated with a project.

" + }, + "ListUserProfiles":{ + "name":"ListUserProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUserProfilesRequest"}, + "output":{"shape":"ListUserProfilesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all the user profiles configured for your AWS account in AWS CodeStar.

" + }, + "TagProject":{ + "name":"TagProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagProjectRequest"}, + "output":{"shape":"TagProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds tags to a project.

" + }, + "UntagProject":{ + "name":"UntagProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagProjectRequest"}, + "output":{"shape":"UntagProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes tags from a project.

" + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResult"}, + "errors":[ + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates a project in AWS CodeStar.

" + }, + "UpdateTeamMember":{ + "name":"UpdateTeamMember", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTeamMemberRequest"}, + "output":{"shape":"UpdateTeamMemberResult"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ProjectNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidServiceRoleException"}, + {"shape":"ProjectConfigurationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"TeamMemberNotFoundException"} + ], + "documentation":"

Updates a team member's attributes in an AWS CodeStar project. For example, you can change a team member's role in the project, or change whether they have remote access to project resources.

" + }, + "UpdateUserProfile":{ + "name":"UpdateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserProfileRequest"}, + "output":{"shape":"UpdateUserProfileResult"}, + "errors":[ + {"shape":"UserProfileNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates a user's profile in AWS CodeStar. The user profile is not project-specific. Information in the user profile is displayed wherever the user's information appears to other users in AWS CodeStar.

" + } + }, + "shapes":{ + "AssociateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn", + "projectRole" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to which you will add the IAM user.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested the team member association to the project. This token can be used to repeat the request.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) for the IAM user you want to add to the AWS CodeStar project.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The AWS CodeStar project role that will apply to this user. This role determines what actions a user can take in an AWS CodeStar project.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether the team member is allowed to use an SSH public/private key pair to remotely access project resources, for example Amazon EC2 instances.

", + "box":true + } + } + }, + "AssociateTeamMemberResult":{ + "type":"structure", + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

The user- or system-generated token from the initial request that can be used to repeat the request.

" + } + } + }, + "BucketKey":{"type":"string"}, + "BucketName":{ + "type":"string", + "max":63, + "min":3 + }, + "ClientRequestToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\w:/-]+$" + }, + "Code":{ + "type":"structure", + "required":[ + "source", + "destination" + ], + "members":{ + "source":{ + "shape":"CodeSource", + "documentation":"

The location where the source code files provided with the project request are stored. AWS CodeStar retrieves the files during project creation.

" + }, + "destination":{ + "shape":"CodeDestination", + "documentation":"

The repository to be created in AWS CodeStar. Valid values are AWS CodeCommit or GitHub. After AWS CodeStar provisions the new repository, the source code files provided with the project request are placed in the repository.

" + } + }, + "documentation":"

Location and destination information about the source code files provided with the project request. The source code is uploaded to the new project source repository after project creation.

" + }, + "CodeCommitCodeDestination":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"RepositoryName", + "documentation":"

The name of the AWS CodeCommit repository to be created in AWS CodeStar.

" + } + }, + "documentation":"

Information about the AWS CodeCommit repository to be created in AWS CodeStar. This is where the source code files provided with the project request will be uploaded after project creation.

" + }, + "CodeDestination":{ + "type":"structure", + "members":{ + "codeCommit":{ + "shape":"CodeCommitCodeDestination", + "documentation":"

Information about the AWS CodeCommit repository to be created in AWS CodeStar. This is where the source code files provided with the project request will be uploaded after project creation.

" + }, + "gitHub":{ + "shape":"GitHubCodeDestination", + "documentation":"

Information about the GitHub repository to be created in AWS CodeStar. This is where the source code files provided with the project request will be uploaded after project creation.

" + } + }, + "documentation":"

The repository to be created in AWS CodeStar. Valid values are AWS CodeCommit or GitHub. After AWS CodeStar provisions the new repository, the source code files provided with the project request are placed in the repository.

" + }, + "CodeSource":{ + "type":"structure", + "required":["s3"], + "members":{ + "s3":{ + "shape":"S3Location", + "documentation":"

Information about the Amazon S3 location where the source code files provided with the project request are stored.

" + } + }, + "documentation":"

The location where the source code files provided with the project request are stored. AWS CodeStar retrieves the files during project creation.

" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Another modification is being made. That modification must complete before you can make your change.

", + "exception":true + }, + "CreateProjectRequest":{ + "type":"structure", + "required":[ + "name", + "id" + ], + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

The display name for the project to be created in AWS CodeStar.

" + }, + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to be created in AWS CodeStar.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

The description of the project, if any.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project creation. This token can be used to repeat the request.

" + }, + "sourceCode":{ + "shape":"SourceCode", + "documentation":"

A list of the Code objects submitted with the project request. If this parameter is specified, the request must also include the toolchain parameter.

" + }, + "toolchain":{ + "shape":"Toolchain", + "documentation":"

The name of the toolchain template file submitted with the project request. If this parameter is specified, the request must also include the sourceCode parameter.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The tags created for the project.

" + } + } + }, + "CreateProjectResult":{ + "type":"structure", + "required":[ + "id", + "arn" + ], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "arn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) of the created project.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project creation.

" + }, + "projectTemplateId":{ + "shape":"ProjectTemplateId", + "documentation":"

Reserved for future use.

" + } + } + }, + "CreateUserProfileRequest":{ + "type":"structure", + "required":[ + "userArn", + "displayName", + "emailAddress" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that will be displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that will be displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + } + }, + "CreateUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date the user profile was created, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date the user profile was last modified, in timestamp format.

" + } + } + }, + "CreatedTimestamp":{"type":"timestamp"}, + "DeleteProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to be deleted in AWS CodeStar.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project deletion. This token can be used to repeat the request.

" + }, + "deleteStack":{ + "shape":"DeleteStack", + "documentation":"

Whether to send a delete request for the primary stack in AWS CloudFormation originally used to generate the project and its resources. This option will delete all AWS resources for the project (except for any buckets in Amazon S3) as well as deleting the project itself. Recommended for most use cases.

" + } + } + }, + "DeleteProjectResult":{ + "type":"structure", + "members":{ + "stackId":{ + "shape":"StackId", + "documentation":"

The ID of the primary stack in AWS CloudFormation that will be deleted as part of deleting the project and its resources.

" + }, + "projectArn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted project.

" + } + } + }, + "DeleteStack":{"type":"boolean"}, + "DeleteUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user to delete from AWS CodeStar.

" + } + } + }, + "DeleteUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user deleted from AWS CodeStar.

" + } + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + } + } + }, + "DescribeProjectResult":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

The display name for the project.

" + }, + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "arn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) for the project.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

The description of the project, if any.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A user- or system-generated token that identifies the entity that requested project creation.

" + }, + "createdTimeStamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date and time the project was created, in timestamp format.

" + }, + "stackId":{ + "shape":"StackId", + "documentation":"

The ID of the primary stack in AWS CloudFormation used to generate resources for the project.

" + }, + "projectTemplateId":{ + "shape":"ProjectTemplateId", + "documentation":"

The ID for the AWS CodeStar project template used to create the project.

" + }, + "status":{ + "shape":"ProjectStatus", + "documentation":"

The project creation or deletion status.

" + } + } + }, + "DescribeUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user.

" + } + } + }, + "DescribeUserProfileResult":{ + "type":"structure", + "required":[ + "userArn", + "createdTimestamp", + "lastModifiedTimestamp" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The display name shown for the user in AWS CodeStar projects. For example, this could be set to both first and last name (\"Mary Major\") or a single name (\"Mary\"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example \"Mary Jane Major\") would generate an initial icon using the first character and the first character after the space (\"MJ\", not \"MM\").

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address for the user. Optional.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user. This SSH public key is associated with the user profile, and can be used in conjunction with the associated private key for access to project resources, such as Amazon EC2 instances, if a project owner grants remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date and time when the user profile was created in AWS CodeStar, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date and time when the user profile was last modified, in timestamp format.

" + } + } + }, + "DisassociateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the AWS CodeStar project from which you want to remove a team member.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM user or group whom you want to remove from the project.

" + } + } + }, + "DisassociateTeamMemberResult":{ + "type":"structure", + "members":{ + } + }, + "Email":{ + "type":"string", + "max":128, + "min":3, + "pattern":"^[\\w-.+]+@[\\w-.+]+$", + "sensitive":true + }, + "GitHubCodeDestination":{ + "type":"structure", + "required":[ + "name", + "type", + "owner", + "privateRepository", + "issuesEnabled", + "token" + ], + "members":{ + "name":{ + "shape":"RepositoryName", + "documentation":"

Name of the GitHub repository to be created in AWS CodeStar.

" + }, + "description":{ + "shape":"RepositoryDescription", + "documentation":"

Description for the GitHub repository to be created in AWS CodeStar. This description displays in GitHub after the repository is created.

" + }, + "type":{ + "shape":"RepositoryType", + "documentation":"

The type of GitHub repository to be created in AWS CodeStar. Valid values are User or Organization.

" + }, + "owner":{ + "shape":"RepositoryOwner", + "documentation":"

The GitHub username for the owner of the GitHub repository to be created in AWS CodeStar. If this repository should be owned by a GitHub organization, provide its name.

" + }, + "privateRepository":{ + "shape":"RepositoryIsPrivate", + "documentation":"

Whether the GitHub repository is to be a private repository.

" + }, + "issuesEnabled":{ + "shape":"RepositoryEnableIssues", + "documentation":"

Whether to enable issues for the GitHub repository.

" + }, + "token":{ + "shape":"GitHubPersonalToken", + "documentation":"

The GitHub user's personal access token for the GitHub repository.

" + } + }, + "documentation":"

Information about the GitHub repository to be created in AWS CodeStar. This is where the source code files provided with the project request will be uploaded after project creation.

" + }, + "GitHubPersonalToken":{ + "type":"string", + "min":1, + "sensitive":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The next token is not valid.

", + "exception":true + }, + "InvalidServiceRoleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The service role is not valid.

", + "exception":true + }, + "LastModifiedTimestamp":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A resource limit has been exceeded.

", + "exception":true + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to be used to return the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum amount of data that can be contained in a single set of results.

", + "box":true + } + } + }, + "ListProjectsResult":{ + "type":"structure", + "required":["projects"], + "members":{ + "projects":{ + "shape":"ProjectsList", + "documentation":"

A list of projects.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListResourcesRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum amount of data that can be contained in a single set of results.

", + "box":true + } + } + }, + "ListResourcesResult":{ + "type":"structure", + "members":{ + "resources":{ + "shape":"ResourcesResult", + "documentation":"

An array of resources associated with the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListTagsForProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to get tags for.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Reserved for future use.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Reserved for future use.

", + "box":true + } + } + }, + "ListTagsForProjectResult":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The tags for the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Reserved for future use.

" + } + } + }, + "ListTeamMembersRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project for which you want to list team members.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of team members you want returned in a response.

", + "box":true + } + } + }, + "ListTeamMembersResult":{ + "type":"structure", + "required":["teamMembers"], + "members":{ + "teamMembers":{ + "shape":"TeamMemberResult", + "documentation":"

A list of team member objects for the project.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "ListUserProfilesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token for the next set of results, if the results cannot be returned in one response.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a response.

", + "box":true + } + } + }, + "ListUserProfilesResult":{ + "type":"structure", + "required":["userProfiles"], + "members":{ + "userProfiles":{ + "shape":"UserProfilesList", + "documentation":"

All the user profiles configured in AWS CodeStar for an AWS account.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The continuation token to use when requesting the next set of results, if there are more results to be returned.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[\\w/+=]+$" + }, + "ProjectAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An AWS CodeStar project with the same ID already exists in this region for the AWS account. AWS CodeStar project IDs must be unique within a region for the AWS account.

", + "exception":true + }, + "ProjectArn":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:codestar:[^:\\s]+:[0-9]{12}:project\\/[a-z]([a-z0-9|-])+$" + }, + "ProjectConfigurationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Project configuration information is required but not specified.

", + "exception":true + }, + "ProjectCreationFailedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The project creation request was valid, but a nonspecific exception or error occurred during project creation. The project could not be created in AWS CodeStar.

", + "exception":true + }, + "ProjectDescription":{ + "type":"string", + "max":1024, + "pattern":"^$|^\\S(.*\\S)?$", + "sensitive":true + }, + "ProjectId":{ + "type":"string", + "max":15, + "min":2, + "pattern":"^[a-z][a-z0-9-]+$" + }, + "ProjectName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S(.*\\S)?$", + "sensitive":true + }, + "ProjectNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified AWS CodeStar project was not found.

", + "exception":true + }, + "ProjectStatus":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{ + "shape":"State", + "documentation":"

The phase of completion for a project creation or deletion.

" + }, + "reason":{ + "shape":"Reason", + "documentation":"

In the case of a project creation or deletion failure, a reason for the failure.

" + } + }, + "documentation":"

An indication of whether a project creation or deletion is failed or successful.

" + }, + "ProjectSummary":{ + "type":"structure", + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "projectArn":{ + "shape":"ProjectArn", + "documentation":"

The Amazon Resource Name (ARN) of the project.

" + } + }, + "documentation":"

Information about the metadata for a project.

" + }, + "ProjectTemplateId":{ + "type":"string", + "min":1, + "pattern":"^arn:aws[^:\\s]{0,5}:codestar:[^:\\s]+::project-template(\\/(github|codecommit))?\\/[a-z0-9-]+$" + }, + "ProjectsList":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "Reason":{ + "type":"string", + "max":1024, + "pattern":"^$|^\\S(.*\\S)?$" + }, + "RemoteAccessAllowed":{"type":"boolean"}, + "RepositoryDescription":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^\\S(.*\\S)?$" + }, + "RepositoryEnableIssues":{"type":"boolean"}, + "RepositoryIsPrivate":{"type":"boolean"}, + "RepositoryName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S[\\w.-]*$" + }, + "RepositoryOwner":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S(.*\\S)?$" + }, + "RepositoryType":{ + "type":"string", + "pattern":"^(user|organization|User|Organization)$" + }, + "Resource":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ResourceId", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + } + }, + "documentation":"

Information about a resource for a project.

" + }, + "ResourceId":{ + "type":"string", + "min":11, + "pattern":"^arn\\:aws\\:\\S.*\\:.*" + }, + "ResourcesResult":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "Role":{ + "type":"string", + "pattern":"^(Owner|Viewer|Contributor)$" + }, + "RoleArn":{ + "type":"string", + "max":1224, + "min":1 + }, + "S3Location":{ + "type":"structure", + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

The Amazon S3 bucket name where the source code files provided with the project request are stored.

" + }, + "bucketKey":{ + "shape":"BucketKey", + "documentation":"

The Amazon S3 object key where the source code files provided with the project request are stored.

" + } + }, + "documentation":"

The Amazon S3 location where the source code files provided with the project request are stored.

" + }, + "SourceCode":{ + "type":"list", + "member":{"shape":"Code"} + }, + "SshPublicKey":{ + "type":"string", + "max":16384, + "pattern":"^[\\t\\r\\n\\u0020-\\u00FF]*$" + }, + "StackId":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:cloudformation:[^:\\s]+:[0-9]{12}:stack\\/[^:\\s]+\\/[^:\\s]+$" + }, + "State":{ + "type":"string", + "pattern":"^(CreateInProgress|CreateComplete|CreateFailed|DeleteComplete|DeleteFailed|DeleteInProgress|UpdateComplete|UpdateInProgress|UpdateFailed|Unknown)$" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagProjectRequest":{ + "type":"structure", + "required":[ + "id", + "tags" + ], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project you want to add a tag to.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The tags you want to add to the project.

" + } + } + }, + "TagProjectResult":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The tags for the project.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TeamMember":{ + "type":"structure", + "required":[ + "userArn", + "projectRole" + ], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether the user is allowed to remotely access project resources using an SSH public/private key pair.

", + "box":true + } + }, + "documentation":"

Information about a team member in a project.

" + }, + "TeamMemberAlreadyAssociatedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The team member is already associated with a role in this project.

", + "exception":true + }, + "TeamMemberNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified team member was not found.

", + "exception":true + }, + "TeamMemberResult":{ + "type":"list", + "member":{"shape":"TeamMember"} + }, + "TemplateParameterKey":{ + "type":"string", + "max":30, + "min":1, + "pattern":"^\\S(.*\\S)?$" + }, + "TemplateParameterMap":{ + "type":"map", + "key":{"shape":"TemplateParameterKey"}, + "value":{"shape":"TemplateParameterValue"}, + "max":25 + }, + "TemplateParameterValue":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^\\S(.*\\S)?$", + "sensitive":true + }, + "Toolchain":{ + "type":"structure", + "required":["source"], + "members":{ + "source":{ + "shape":"ToolchainSource", + "documentation":"

The Amazon S3 location where the toolchain template file provided with the project request is stored. AWS CodeStar retrieves the file during project creation.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The service role ARN for AWS CodeStar to use for the toolchain template during stack provisioning.

" + }, + "stackParameters":{ + "shape":"TemplateParameterMap", + "documentation":"

The list of parameter overrides to be passed into the toolchain template during stack provisioning, if any.

" + } + }, + "documentation":"

The toolchain template file provided with the project request. AWS CodeStar uses the template to provision the toolchain stack in AWS CloudFormation.

" + }, + "ToolchainSource":{ + "type":"structure", + "required":["s3"], + "members":{ + "s3":{ + "shape":"S3Location", + "documentation":"

The Amazon S3 bucket where the toolchain template file provided with the project request is stored.

" + } + }, + "documentation":"

The Amazon S3 location where the toolchain template file provided with the project request is stored. AWS CodeStar retrieves the file during project creation.

" + }, + "UntagProjectRequest":{ + "type":"structure", + "required":[ + "id", + "tags" + ], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project to remove tags from.

" + }, + "tags":{ + "shape":"TagKeys", + "documentation":"

The tags to remove from the project.

" + } + } + }, + "UntagProjectResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ProjectId", + "documentation":"

The ID of the project you want to update.

" + }, + "name":{ + "shape":"ProjectName", + "documentation":"

The name of the project you want to update.

" + }, + "description":{ + "shape":"ProjectDescription", + "documentation":"

The description of the project, if any.

" + } + } + }, + "UpdateProjectResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateTeamMemberRequest":{ + "type":"structure", + "required":[ + "projectId", + "userArn" + ], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

The ID of the project.

" + }, + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user for whom you want to change team membership attributes.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The role assigned to the user in the project. Project roles have different levels of access. For more information, see Working with Teams in the AWS CodeStar User Guide.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile. Even if this is set to True, the user must associate a public key with their profile before the user can access resources.

", + "box":true + } + } + }, + "UpdateTeamMemberResult":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user whose team membership attributes were updated.

" + }, + "projectRole":{ + "shape":"Role", + "documentation":"

The project role granted to the user.

" + }, + "remoteAccessAllowed":{ + "shape":"RemoteAccessAllowed", + "documentation":"

Whether a team member is allowed to remotely access project resources using the SSH public key associated with the user's profile.

", + "box":true + } + } + }, + "UpdateUserProfileRequest":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The name that will be displayed as the friendly name for the user in AWS CodeStar.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + } + }, + "UpdateUserProfileResult":{ + "type":"structure", + "required":["userArn"], + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The name that is displayed as the friendly name for the user in AWS CodeStar.

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address that is displayed as part of the user's profile in AWS CodeStar.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. This is the public portion of the public/private keypair the user can use to access project resources if a project owner allows the user remote access to those resources.

" + }, + "createdTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date the user profile was created, in timestamp format.

" + }, + "lastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date the user profile was last modified, in timestamp format.

" + } + } + }, + "UserArn":{ + "type":"string", + "max":95, + "min":32, + "pattern":"^arn:aws:iam::\\d{12}:user(?:(\\u002F)|(\\u002F[\\u0021-\\u007E]+\\u002F))[\\w+=,.@-]+$" + }, + "UserProfileAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A user profile with that name already exists in this region for the AWS account. AWS CodeStar user profile names must be unique within a region for the AWS account.

", + "exception":true + }, + "UserProfileDisplayName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^\\S(.*\\S)?$", + "sensitive":true + }, + "UserProfileNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The user profile was not found.

", + "exception":true + }, + "UserProfileSummary":{ + "type":"structure", + "members":{ + "userArn":{ + "shape":"UserArn", + "documentation":"

The Amazon Resource Name (ARN) of the user in IAM.

" + }, + "displayName":{ + "shape":"UserProfileDisplayName", + "documentation":"

The display name of a user in AWS CodeStar. For example, this could be set to both first and last name (\"Mary Major\") or a single name (\"Mary\"). The display name is also used to generate the initial icon associated with the user in AWS CodeStar projects. If spaces are included in the display name, the first character that appears after the space will be used as the second character in the user initial icon. The initial icon displays a maximum of two characters, so a display name with more than one space (for example \"Mary Jane Major\") would generate an initial icon using the first character and the first character after the space (\"MJ\", not \"MM\").

" + }, + "emailAddress":{ + "shape":"Email", + "documentation":"

The email address associated with the user.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

The SSH public key associated with the user in AWS CodeStar. If a project owner allows the user remote access to project resources, this public key will be used along with the user's private key for SSH access.

" + } + }, + "documentation":"

Information about a user's profile in AWS CodeStar.

" + }, + "UserProfilesList":{ + "type":"list", + "member":{"shape":"UserProfileSummary"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified input is either not valid, or it could not be validated.

", + "exception":true + } + }, + "documentation":"AWS CodeStar

This is the API reference for AWS CodeStar. This reference provides descriptions of the operations and data types for the AWS CodeStar API along with usage examples.

You can use the AWS CodeStar API to work with:

Projects and their resources, by calling the following:

  • DeleteProject, which deletes a project.

  • DescribeProject, which lists the attributes of a project.

  • ListProjects, which lists all projects associated with your AWS account.

  • ListResources, which lists the resources associated with a project.

  • ListTagsForProject, which lists the tags associated with a project.

  • TagProject, which adds tags to a project.

  • UntagProject, which removes tags from a project.

  • UpdateProject, which updates the attributes of a project.

Teams and team members, by calling the following:

  • AssociateTeamMember, which adds an IAM user to the team for a project.

  • DisassociateTeamMember, which removes an IAM user from the team for a project.

  • ListTeamMembers, which lists all the IAM users in the team for a project, including their roles and attributes.

  • UpdateTeamMember, which updates a team member's attributes in a project.

Users, by calling the following:

  • CreateUserProfile, which creates a user profile that contains data associated with the user across all projects.

  • DeleteUserProfile, which deletes all user profile information across all projects.

  • DescribeUserProfile, which describes the profile of a user.

  • ListUserProfiles, which lists all user profiles.

  • UpdateUserProfile, which updates the profile for a user.

" +} diff -Nru python-botocore-1.4.70/botocore/data/codestar-connections/2019-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codestar-connections/2019-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/codestar-connections/2019-12-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar-connections/2019-12-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/codestar-connections/2019-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/codestar-connections/2019-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/codestar-connections/2019-12-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar-connections/2019-12-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,405 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-01", + "endpointPrefix":"codestar-connections", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"AWS CodeStar connections", + "serviceId":"CodeStar connections", + "signatureVersion":"v4", + "signingName":"codestar-connections", + "targetPrefix":"com.amazonaws.codestar.connections.CodeStar_connections_20191201", + "uid":"codestar-connections-2019-12-01" + }, + "operations":{ + "CreateConnection":{ + "name":"CreateConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConnectionInput"}, + "output":{"shape":"CreateConnectionOutput"}, + "errors":[ + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a connection that can then be given to other AWS services like CodePipeline so that it can access third-party code repositories. The connection is in pending status until the third-party connection handshake is completed from the console.

" + }, + "DeleteConnection":{ + "name":"DeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConnectionInput"}, + "output":{"shape":"DeleteConnectionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

The connection to be deleted.

" + }, + "GetConnection":{ + "name":"GetConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionInput"}, + "output":{"shape":"GetConnectionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the connection ARN and details such as status, owner, and provider type.

" + }, + "ListConnections":{ + "name":"ListConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConnectionsInput"}, + "output":{"shape":"ListConnectionsOutput"}, + "documentation":"

Lists the connections associated with your account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the set of key-value pairs (metadata) that are used to manage the resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes tags from an AWS resource.

" + } + }, + "shapes":{ + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]{12}" + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "Connection":{ + "type":"structure", + "members":{ + "ConnectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection. Connection names must be unique in an AWS user account.

" + }, + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) of the connection. The ARN is used as the connection reference when the connection is shared between AWS services.

The ARN is never reused if the connection is deleted.

" + }, + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The name of the external provider where your third-party code repository is configured. Currently, the valid provider type is Bitbucket.

" + }, + "OwnerAccountId":{ + "shape":"AccountId", + "documentation":"

The identifier of the external provider where your third-party code repository is configured. For Bitbucket, this is the account ID of the owner of the Bitbucket repository.

" + }, + "ConnectionStatus":{ + "shape":"ConnectionStatus", + "documentation":"

The current status of the connection.

" + } + }, + "documentation":"

The AWS::CodeStarConnections::Connection resource can be used to connect external source providers with services like AWS CodePipeline.

Note: A connection created through CloudFormation is in `PENDING` status by default. You can make its status `AVAILABLE` by editing the connection in the CodePipeline console.

" + }, + "ConnectionArn":{ + "type":"string", + "max":256, + "min":0, + "pattern":"arn:aws(-[\\w]+)*:.+:.+:[0-9]{12}:.+" + }, + "ConnectionList":{ + "type":"list", + "member":{"shape":"Connection"} + }, + "ConnectionName":{ + "type":"string", + "max":32, + "min":1 + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "ERROR" + ] + }, + "CreateConnectionInput":{ + "type":"structure", + "required":[ + "ProviderType", + "ConnectionName" + ], + "members":{ + "ProviderType":{ + "shape":"ProviderType", + "documentation":"

The name of the external provider where your third-party code repository is configured. Currently, the valid provider type is Bitbucket.

" + }, + "ConnectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection to be created. The name must be unique in the calling AWS account.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair to use when tagging the resource.

" + } + } + }, + "CreateConnectionOutput":{ + "type":"structure", + "required":["ConnectionArn"], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) of the connection to be created. The ARN is used as the connection reference when the connection is shared between AWS services.

The ARN is never reused if the connection is deleted.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Specifies the tags applied to the resource.

" + } + } + }, + "DeleteConnectionInput":{ + "type":"structure", + "required":["ConnectionArn"], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) of the connection to be deleted.

The ARN is never reused if the connection is deleted.

" + } + } + }, + "DeleteConnectionOutput":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{ + "type":"string", + "max":600 + }, + "GetConnectionInput":{ + "type":"structure", + "required":["ConnectionArn"], + "members":{ + "ConnectionArn":{ + "shape":"ConnectionArn", + "documentation":"

The Amazon Resource Name (ARN) of a connection.

" + } + } + }, + "GetConnectionOutput":{ + "type":"structure", + "members":{ + "Connection":{ + "shape":"Connection", + "documentation":"

The connection details, such as status, owner, and provider type.

" + } + } + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exceeded the maximum limit for connections.

", + "exception":true + }, + "ListConnectionsInput":{ + "type":"structure", + "members":{ + "ProviderTypeFilter":{ + "shape":"ProviderType", + "documentation":"

Filters the list of connections to those associated with a specified provider, such as Bitbucket.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token that was returned from the previous ListConnections call, which can be used to return the next set of connections in the list.

" + } + } + }, + "ListConnectionsOutput":{ + "type":"structure", + "members":{ + "Connections":{ + "shape":"ConnectionList", + "documentation":"

A list of connections and the details for each connection, such as status, owner, and provider type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used in the next ListConnections call. To view all items in the list, continue to call this operation with each subsequent token until no more nextToken values are returned.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want to get information about tags, if any.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag key and value pairs associated with the specified resource.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":5000, + "min":0 + }, + "NextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "ProviderType":{ + "type":"string", + "enum":["Bitbucket"] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Resource not found. Verify the connection resource ARN and try again.

", + "exception":true + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A tag is a key-value pair that is used to manage the resource.

This tag is available for use by AWS services that support tags.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to add or update tags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags you want to modify or add to the resource.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove tags from.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of keys for the tags to be removed from the resource.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"

This AWS CodeStar Connections API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Connections API. You can use the Connections API to work with connections and installations.

Connections are configurations that you use to connect AWS resources to external code repositories. Each connection is a resource that can be given to services such as CodePipeline to connect to a third-party repository such as Bitbucket. For example, you can add the connection in CodePipeline so that it triggers your pipeline when a code change is made to your third-party code repository. Each connection is named and associated with a unique ARN that is used to reference the connection.

When you create a connection, the console initiates a third-party connection handshake. Installations are the apps that are used to conduct this handshake. For example, the installation for the Bitbucket provider type is the Bitbucket Cloud app. When you create a connection, you can choose an existing installation or create one.

You can work with connections by calling:

  • CreateConnection, which creates a uniquely named connection that can be referenced by services such as CodePipeline.

  • DeleteConnection, which deletes the specified connection.

  • GetConnection, which returns information about the connection, including the connection status.

  • ListConnections, which lists the connections associated with your account.

For information about how to use AWS CodeStar Connections, see the AWS CodePipeline User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/codestar-notifications/2019-10-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/codestar-notifications/2019-10-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/codestar-notifications/2019-10-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar-notifications/2019-10-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListEventTypes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EventTypes" + }, + "ListNotificationRules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NotificationRules" + }, + "ListTargets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Targets" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/codestar-notifications/2019-10-15/service-2.json python-botocore-1.16.19+repack/botocore/data/codestar-notifications/2019-10-15/service-2.json --- python-botocore-1.4.70/botocore/data/codestar-notifications/2019-10-15/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/codestar-notifications/2019-10-15/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,973 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-10-15", + "endpointPrefix":"codestar-notifications", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS CodeStar Notifications", + "serviceId":"codestar notifications", + "signatureVersion":"v4", + "signingName":"codestar-notifications", + "uid":"codestar-notifications-2019-10-15" + }, + "operations":{ + "CreateNotificationRule":{ + "name":"CreateNotificationRule", + "http":{ + "method":"POST", + "requestUri":"/createNotificationRule" + }, + "input":{"shape":"CreateNotificationRuleRequest"}, + "output":{"shape":"CreateNotificationRuleResult"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConfigurationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates a notification rule for a resource. The rule specifies the events you want notifications about and the targets (such as SNS topics) where you want to receive them.

" + }, + "DeleteNotificationRule":{ + "name":"DeleteNotificationRule", + "http":{ + "method":"POST", + "requestUri":"/deleteNotificationRule" + }, + "input":{"shape":"DeleteNotificationRuleRequest"}, + "output":{"shape":"DeleteNotificationRuleResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a notification rule for a resource.

" + }, + "DeleteTarget":{ + "name":"DeleteTarget", + "http":{ + "method":"POST", + "requestUri":"/deleteTarget" + }, + "input":{"shape":"DeleteTargetRequest"}, + "output":{"shape":"DeleteTargetResult"}, + "errors":[ + {"shape":"ValidationException"} + ], + "documentation":"

Deletes a specified target for notifications.

" + }, + "DescribeNotificationRule":{ + "name":"DescribeNotificationRule", + "http":{ + "method":"POST", + "requestUri":"/describeNotificationRule" + }, + "input":{"shape":"DescribeNotificationRuleRequest"}, + "output":{"shape":"DescribeNotificationRuleResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns information about a specified notification rule.

" + }, + "ListEventTypes":{ + "name":"ListEventTypes", + "http":{ + "method":"POST", + "requestUri":"/listEventTypes" + }, + "input":{"shape":"ListEventTypesRequest"}, + "output":{"shape":"ListEventTypesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns information about the event types available for configuring notifications.

" + }, + "ListNotificationRules":{ + "name":"ListNotificationRules", + "http":{ + "method":"POST", + "requestUri":"/listNotificationRules" + }, + "input":{"shape":"ListNotificationRulesRequest"}, + "output":{"shape":"ListNotificationRulesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of the notification rules for an AWS account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/listTagsForResource" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of the tags associated with a notification rule.

" + }, + "ListTargets":{ + "name":"ListTargets", + "http":{ + "method":"POST", + "requestUri":"/listTargets" + }, + "input":{"shape":"ListTargetsRequest"}, + "output":{"shape":"ListTargetsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of the notification rule targets for an AWS account.

" + }, + "Subscribe":{ + "name":"Subscribe", + "http":{ + "method":"POST", + "requestUri":"/subscribe" + }, + "input":{"shape":"SubscribeRequest"}, + "output":{"shape":"SubscribeResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates an association between a notification rule and an SNS topic so that the associated target can receive notifications when the events described in the rule are triggered.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tagResource" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Associates a set of provided tags with a notification rule.

" + }, + "Unsubscribe":{ + "name":"Unsubscribe", + "http":{ + "method":"POST", + "requestUri":"/unsubscribe" + }, + "input":{"shape":"UnsubscribeRequest"}, + "output":{"shape":"UnsubscribeResult"}, + "errors":[ + {"shape":"ValidationException"} + ], + "documentation":"

Removes an association between a notification rule and an Amazon SNS topic so that subscribers to that topic stop receiving notifications when the events described in the rule are triggered.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untagResource" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes the association between one or more provided tags and a notification rule.

" + }, + "UpdateNotificationRule":{ + "name":"UpdateNotificationRule", + "http":{ + "method":"POST", + "requestUri":"/updateNotificationRule" + }, + "input":{"shape":"UpdateNotificationRuleRequest"}, + "output":{"shape":"UpdateNotificationRuleResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates a notification rule for a resource. You can change the events that trigger the notification rule, the status of the rule, and the targets that receive the notifications.

To add or remove tags for a notification rule, you must use TagResource and UntagResource.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

AWS CodeStar Notifications can't create the notification rule because you do not have sufficient permissions.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ClientRequestToken":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\w:/-]+$" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

AWS CodeStar Notifications can't complete the request because the resource is being modified by another process. Wait a few minutes and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ConfigurationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

Some or all of the configuration is incomplete, missing, or not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "CreateNotificationRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "EventTypeIds", + "Resource", + "Targets", + "DetailType" + ], + "members":{ + "Name":{ + "shape":"NotificationRuleName", + "documentation":"

The name for the notification rule. Notifictaion rule names must be unique in your AWS account.

" + }, + "EventTypeIds":{ + "shape":"EventTypeIds", + "documentation":"

A list of event types associated with this notification rule. For a list of allowed events, see EventTypeSummary.

" + }, + "Resource":{ + "shape":"NotificationRuleResource", + "documentation":"

The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in AWS CodePipeline, repositories in AWS CodeCommit, and build projects in AWS CodeBuild.

" + }, + "Targets":{ + "shape":"Targets", + "documentation":"

A list of Amazon Resource Names (ARNs) of SNS topics to associate with the notification rule.

" + }, + "DetailType":{ + "shape":"DetailType", + "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a token is included, the request returns information about the initial request that used that token.

The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK, an idempotency token is created for you.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags to apply to this notification rule. Key names cannot start with \"aws\".

" + }, + "Status":{ + "shape":"NotificationRuleStatus", + "documentation":"

The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule.

" + } + } + }, + "CreateNotificationRuleResult":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + } + } + }, + "CreatedTimestamp":{"type":"timestamp"}, + "DeleteNotificationRuleRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule you want to delete.

" + } + } + }, + "DeleteNotificationRuleResult":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted notification rule.

" + } + } + }, + "DeleteTargetRequest":{ + "type":"structure", + "required":["TargetAddress"], + "members":{ + "TargetAddress":{ + "shape":"TargetAddress", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic to delete.

" + }, + "ForceUnsubscribeAll":{ + "shape":"ForceUnsubscribeAll", + "documentation":"

A Boolean value that can be used to delete all associations with this SNS topic. The default value is FALSE. If set to TRUE, all associations between that target and every notification rule in your AWS account are deleted.

" + } + } + }, + "DeleteTargetResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeNotificationRuleRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + } + } + }, + "DescribeNotificationRuleResult":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + }, + "Name":{ + "shape":"NotificationRuleName", + "documentation":"

The name of the notification rule.

" + }, + "EventTypes":{ + "shape":"EventTypeBatch", + "documentation":"

A list of the event types associated with the notification rule.

" + }, + "Resource":{ + "shape":"NotificationRuleResource", + "documentation":"

The Amazon Resource Name (ARN) of the resource associated with the notification rule.

" + }, + "Targets":{ + "shape":"TargetsBatch", + "documentation":"

A list of the SNS topics associated with the notification rule.

" + }, + "DetailType":{ + "shape":"DetailType", + "documentation":"

The level of detail included in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + }, + "CreatedBy":{ + "shape":"NotificationRuleCreatedBy", + "documentation":"

The name or email alias of the person who created the notification rule.

" + }, + "Status":{ + "shape":"NotificationRuleStatus", + "documentation":"

The status of the notification rule. Valid statuses are on (sending notifications) or off (not sending notifications).

" + }, + "CreatedTimestamp":{ + "shape":"CreatedTimestamp", + "documentation":"

The date and time the notification rule was created, in timestamp format.

" + }, + "LastModifiedTimestamp":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date and time the notification rule was most recently updated, in timestamp format.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags associated with the notification rule.

" + } + } + }, + "DetailType":{ + "type":"string", + "enum":[ + "BASIC", + "FULL" + ] + }, + "EventTypeBatch":{ + "type":"list", + "member":{"shape":"EventTypeSummary"} + }, + "EventTypeId":{ + "type":"string", + "max":200, + "min":1 + }, + "EventTypeIds":{ + "type":"list", + "member":{"shape":"EventTypeId"} + }, + "EventTypeName":{"type":"string"}, + "EventTypeSummary":{ + "type":"structure", + "members":{ + "EventTypeId":{ + "shape":"EventTypeId", + "documentation":"

The system-generated ID of the event.

" + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

The name of the service for which the event applies.

" + }, + "EventTypeName":{ + "shape":"EventTypeName", + "documentation":"

The name of the event.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type of the event.

" + } + }, + "documentation":"

Returns information about an event that has triggered a notification rule.

" + }, + "ForceUnsubscribeAll":{"type":"boolean"}, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The value for the enumeration token used in the request to return the next batch of the results is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LastModifiedTimestamp":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

One of the AWS CodeStar Notifications limits has been exceeded. Limits apply to accounts, notification rules, notifications, resources, and targets. For more information, see Limits.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListEventTypesFilter":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"ListEventTypesFilterName", + "documentation":"

The system-generated name of the filter type you want to filter by.

" + }, + "Value":{ + "shape":"ListEventTypesFilterValue", + "documentation":"

The name of the resource type (for example, pipeline) or service name (for example, CodePipeline) that you want to filter by.

" + } + }, + "documentation":"

Information about a filter to apply to the list of returned event types. You can filter by resource type or service name.

" + }, + "ListEventTypesFilterName":{ + "type":"string", + "enum":[ + "RESOURCE_TYPE", + "SERVICE_NAME" + ] + }, + "ListEventTypesFilterValue":{"type":"string"}, + "ListEventTypesFilters":{ + "type":"list", + "member":{"shape":"ListEventTypesFilter"} + }, + "ListEventTypesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ListEventTypesFilters", + "documentation":"

The filters to use to return information by service or resource type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

A non-negative integer used to limit the number of returned results. The default number is 50. The maximum number of results that can be returned is 100.

", + "box":true + } + } + }, + "ListEventTypesResult":{ + "type":"structure", + "members":{ + "EventTypes":{ + "shape":"EventTypeBatch", + "documentation":"

Information about each event, including service name, resource type, event ID, and event name.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + } + } + }, + "ListNotificationRulesFilter":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"ListNotificationRulesFilterName", + "documentation":"

The name of the attribute you want to use to filter the returned notification rules.

" + }, + "Value":{ + "shape":"ListNotificationRulesFilterValue", + "documentation":"

The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE in Name, you might specify the ARN of a pipeline in AWS CodePipeline for the value.

" + } + }, + "documentation":"

Information about a filter to apply to the list of returned notification rules. You can filter by event type, owner, resource, or target.

" + }, + "ListNotificationRulesFilterName":{ + "type":"string", + "enum":[ + "EVENT_TYPE_ID", + "CREATED_BY", + "RESOURCE", + "TARGET_ADDRESS" + ] + }, + "ListNotificationRulesFilterValue":{"type":"string"}, + "ListNotificationRulesFilters":{ + "type":"list", + "member":{"shape":"ListNotificationRulesFilter"} + }, + "ListNotificationRulesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ListNotificationRulesFilters", + "documentation":"

The filters to use to return information by service or resource type. For valid values, see ListNotificationRulesFilter.

A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100.

", + "box":true + } + } + }, + "ListNotificationRulesResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of the results.

" + }, + "NotificationRules":{ + "shape":"NotificationRuleBatch", + "documentation":"

The list of notification rules for the AWS account, by Amazon Resource Name (ARN) and ID.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) for the notification rule.

" + } + } + }, + "ListTagsForResourceResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The tags associated with the notification rule.

" + } + } + }, + "ListTargetsFilter":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"ListTargetsFilterName", + "documentation":"

The name of the attribute you want to use to filter the returned targets.

" + }, + "Value":{ + "shape":"ListTargetsFilterValue", + "documentation":"

The value of the attribute you want to use to filter the returned targets. For example, if you specify SNS for the Target type, you could specify an Amazon Resource Name (ARN) for a topic as the value.

" + } + }, + "documentation":"

Information about a filter to apply to the list of returned targets. You can filter by target type, address, or status. For example, to filter results to notification rules that have active Amazon SNS topics as targets, you could specify a ListTargetsFilter Name as TargetType and a Value of SNS, and a Name of TARGET_STATUS and a Value of ACTIVE.

" + }, + "ListTargetsFilterName":{ + "type":"string", + "enum":[ + "TARGET_TYPE", + "TARGET_ADDRESS", + "TARGET_STATUS" + ] + }, + "ListTargetsFilterValue":{"type":"string"}, + "ListTargetsFilters":{ + "type":"list", + "member":{"shape":"ListTargetsFilter"} + }, + "ListTargetsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ListTargetsFilters", + "documentation":"

The filters to use to return information by service or resource type. Valid filters include target type, target address, and target status.

A filter with the same name can appear more than once when used with OR statements. Filters with different names should be applied with AND statements.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100.

", + "box":true + } + } + }, + "ListTargetsResult":{ + "type":"structure", + "members":{ + "Targets":{ + "shape":"TargetsBatch", + "documentation":"

The list of notification rule targets.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An enumeration token that can be used in a request to return the next batch of results.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Message":{ + "type":"string", + "min":1 + }, + "NextToken":{ + "type":"string", + "pattern":"^[\\w/+=]+$" + }, + "NotificationRuleArn":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:codestar-notifications:[^:\\s]+:\\d{12}:notificationrule\\/(.*\\S)?$" + }, + "NotificationRuleBatch":{ + "type":"list", + "member":{"shape":"NotificationRuleSummary"} + }, + "NotificationRuleCreatedBy":{ + "type":"string", + "min":1 + }, + "NotificationRuleId":{ + "type":"string", + "max":40, + "min":1 + }, + "NotificationRuleName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9\\-_ ]+$", + "sensitive":true + }, + "NotificationRuleResource":{ + "type":"string", + "pattern":"^arn:aws[^:\\s]*:[^:\\s]*:[^:\\s]*:[0-9]{12}:[^\\s]+$" + }, + "NotificationRuleStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "NotificationRuleSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"NotificationRuleId", + "documentation":"

The unique ID of the notification rule.

" + }, + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + } + }, + "documentation":"

Information about a specified notification rule.

" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

A resource with the same name or ID already exists. Notification rule names must be unique in your AWS account.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

AWS CodeStar Notifications can't find a resource that matches the provided ARN.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceType":{ + "type":"string", + "min":1, + "pattern":"^([a-zA-Z0-9-])+$" + }, + "ServiceName":{"type":"string"}, + "SubscribeRequest":{ + "type":"structure", + "required":[ + "Arn", + "Target" + ], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule for which you want to create the association.

" + }, + "Target":{"shape":"Target"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

An enumeration token that, when provided in a request, returns the next batch of the results.

" + } + } + }, + "SubscribeResult":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule for which you have created assocations.

" + } + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "Tags" + ], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule to tag.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The list of tags to associate with the resource. Tag key names cannot start with \"aws\".

" + } + } + }, + "TagResourceResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The list of tags associated with the resource.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "Target":{ + "type":"structure", + "members":{ + "TargetType":{ + "shape":"TargetType", + "documentation":"

The target type. Can be an Amazon SNS topic.

" + }, + "TargetAddress":{ + "shape":"TargetAddress", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic.

" + } + }, + "documentation":"

Information about the SNS topics associated with a notification rule.

" + }, + "TargetAddress":{ + "type":"string", + "max":320, + "min":1, + "sensitive":true + }, + "TargetStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "UNREACHABLE", + "INACTIVE", + "DEACTIVATED" + ] + }, + "TargetSummary":{ + "type":"structure", + "members":{ + "TargetAddress":{ + "shape":"TargetAddress", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic.

" + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

The type of the target (for example, SNS).

" + }, + "TargetStatus":{ + "shape":"TargetStatus", + "documentation":"

The status of the target.

" + } + }, + "documentation":"

Information about the targets specified for a notification rule.

" + }, + "TargetType":{ + "type":"string", + "pattern":"^[A-Za-z]+$" + }, + "Targets":{ + "type":"list", + "member":{"shape":"Target"}, + "max":10 + }, + "TargetsBatch":{ + "type":"list", + "member":{"shape":"TargetSummary"} + }, + "UnsubscribeRequest":{ + "type":"structure", + "required":[ + "Arn", + "TargetAddress" + ], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + }, + "TargetAddress":{ + "shape":"TargetAddress", + "documentation":"

The ARN of the SNS topic to unsubscribe from the notification rule.

" + } + } + }, + "UnsubscribeResult":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the the notification rule from which you have removed a subscription.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "TagKeys" + ], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule from which to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

The key names of the tags to remove.

" + } + } + }, + "UntagResourceResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateNotificationRuleRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"NotificationRuleArn", + "documentation":"

The Amazon Resource Name (ARN) of the notification rule.

" + }, + "Name":{ + "shape":"NotificationRuleName", + "documentation":"

The name of the notification rule.

" + }, + "Status":{ + "shape":"NotificationRuleStatus", + "documentation":"

The status of the notification rule. Valid statuses include enabled (sending notifications) or disabled (not sending notifications).

" + }, + "EventTypeIds":{ + "shape":"EventTypeIds", + "documentation":"

A list of event types associated with this notification rule.

" + }, + "Targets":{ + "shape":"Targets", + "documentation":"

The address and type of the targets to receive notifications from this notification rule.

" + }, + "DetailType":{ + "shape":"DetailType", + "documentation":"

The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in AWS CloudWatch. FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.

" + } + } + }, + "UpdateNotificationRuleResult":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

One or more parameter values are not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

This AWS CodeStar Notifications API Reference provides descriptions and usage examples of the operations and data types for the AWS CodeStar Notifications API. You can use the AWS CodeStar Notifications API to work with the following objects:

Notification rules, by calling the following:

Targets, by calling the following:

  • DeleteTarget, which removes a notification rule target (SNS topic) from a notification rule.

  • ListTargets, which lists the targets associated with a notification rule.

Events, by calling the following:

  • ListEventTypes, which lists the event types you can include in a notification rule.

Tags, by calling the following:

  • ListTagsForResource, which lists the tags already associated with a notification rule in your account.

  • TagResource, which associates a tag you provide with a notification rule in your account.

  • UntagResource, which removes a tag from a notification rule in your account.

For information about how to use AWS CodeStar Notifications, see link in the CodeStarNotifications User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/examples-1.json --- python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListIdentityPools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "IdentityPools" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/service-2.json python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/service-2.json --- python-botocore-1.4.70/botocore/data/cognito-identity/2014-06-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-identity/2014-06-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Cognito Identity", + "serviceId":"Cognito Identity", "signatureVersion":"v4", - "targetPrefix":"AWSCognitoIdentityService" + "targetPrefix":"AWSCognitoIdentityService", + "uid":"cognito-identity-2014-06-30" }, "operations":{ "CreateIdentityPool":{ @@ -26,7 +28,7 @@ {"shape":"InternalErrorException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The limit on identity pools is 60 per account. The keys for SupportedLoginProviders are as follows:

  • Facebook: graph.facebook.com
  • Google: accounts.google.com
  • Amazon: www.amazon.com
  • Twitter: api.twitter.com
  • Digits: www.digits.com
You must use AWS Developer credentials to call this API.

" + "documentation":"

Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The keys for SupportedLoginProviders are as follows:

  • Facebook: graph.facebook.com

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

You must use AWS Developer credentials to call this API.

" }, "DeleteIdentities":{ "name":"DeleteIdentities", @@ -41,7 +43,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete.

You must use AWS Developer credentials to call this API.

" }, "DeleteIdentityPool":{ "name":"DeleteIdentityPool", @@ -57,7 +59,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Deletes a user pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Deletes an identity pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

" }, "DescribeIdentity":{ "name":"DescribeIdentity", @@ -74,7 +76,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Returns metadata related to the given identity, including when the identity was created and any associated linked logins.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Returns metadata related to the given identity, including when the identity was created and any associated linked logins.

You must use AWS Developer credentials to call this API.

" }, "DescribeIdentityPool":{ "name":"DescribeIdentityPool", @@ -91,7 +93,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users.

You must use AWS Developer credentials to call this API.

" }, "GetCredentialsForIdentity":{ "name":"GetCredentialsForIdentity", @@ -111,7 +113,7 @@ {"shape":"InternalErrorException"}, {"shape":"ExternalServiceException"} ], - "documentation":"

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token.

This is a public API. You do not need any credentials to call this API.

" + "documentation":"

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token.

This is a public API. You do not need any credentials to call this API.

" }, "GetId":{ "name":"GetId", @@ -131,7 +133,7 @@ {"shape":"LimitExceededException"}, {"shape":"ExternalServiceException"} ], - "documentation":"

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account.

This is a public API. You do not need any credentials to call this API.

" + "documentation":"

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account.

This is a public API. You do not need any credentials to call this API.

" }, "GetIdentityPoolRoles":{ "name":"GetIdentityPoolRoles", @@ -149,7 +151,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Gets the roles for an identity pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Gets the roles for an identity pool.

You must use AWS Developer credentials to call this API.

" }, "GetOpenIdToken":{ "name":"GetOpenIdToken", @@ -168,7 +170,7 @@ {"shape":"InternalErrorException"}, {"shape":"ExternalServiceException"} ], - "documentation":"

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 15 minutes.

This is a public API. You do not need any credentials to call this API.

" + "documentation":"

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 10 minutes.

This is a public API. You do not need any credentials to call this API.

" }, "GetOpenIdTokenForDeveloperIdentity":{ "name":"GetOpenIdTokenForDeveloperIdentity", @@ -187,7 +189,7 @@ {"shape":"InternalErrorException"}, {"shape":"DeveloperUserAlreadyRegisteredException"} ], - "documentation":"

Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the \"domain\" by which Cognito will refer to your users.

You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the \"domain\" by which Cognito will refer to your users.

You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId.

You must use AWS Developer credentials to call this API.

" }, "ListIdentities":{ "name":"ListIdentities", @@ -204,7 +206,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Lists the identities in a pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Lists the identities in an identity pool.

You must use AWS Developer credentials to call this API.

" }, "ListIdentityPools":{ "name":"ListIdentityPools", @@ -218,9 +220,27 @@ {"shape":"InvalidParameterException"}, {"shape":"NotAuthorizedException"}, {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Lists the tags that are assigned to an Amazon Cognito identity pool.

A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

You can use this action up to 10 times per second, per account.

" }, "LookupDeveloperIdentity":{ "name":"LookupDeveloperIdentity", @@ -238,7 +258,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifiers associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifier values associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

LookupDeveloperIdentity is intended for low-throughput control plane operations: for example, to enable customer service to locate an identity ID by username. If you are using it for higher-volume operations such as user authentication, your requests are likely to be throttled. GetOpenIdTokenForDeveloperIdentity is a better option for higher-volume operations for user authentication.

You must use AWS Developer credentials to call this API.

" }, "MergeDeveloperIdentities":{ "name":"MergeDeveloperIdentities", @@ -256,7 +276,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

The number of linked logins is limited to 20. So, the number of linked logins for the source user, SourceUserIdentifier, and the destination user, DestinationUserIdentifier, together should not be larger than 20. Otherwise, an exception will be thrown.

You must use AWS Developer credentials to call this API.

" }, "SetIdentityPoolRoles":{ "name":"SetIdentityPoolRoles", @@ -274,7 +294,24 @@ {"shape":"InternalErrorException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Assigns a set of tags to an Amazon Cognito identity pool. A tag is a label that you can use to categorize and manage identity pools in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of an identity pool, one for testing and another for production, you might assign an Environment tag key to both identity pools. The value of this key might be Test for one identity pool and Production for the other.

Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your identity pools. In an IAM policy, you can constrain permissions for identity pools based on specific tags or tag values.

You can use this action up to 5 times per second, per account. An identity pool can have as many as 50 tags.

" }, "UnlinkDeveloperIdentity":{ "name":"UnlinkDeveloperIdentity", @@ -291,7 +328,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible.

You must use AWS Developer credentials to call this API.

" }, "UnlinkIdentity":{ "name":"UnlinkIdentity", @@ -309,7 +346,24 @@ {"shape":"InternalErrorException"}, {"shape":"ExternalServiceException"} ], - "documentation":"

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

" + "documentation":"

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Removes the specified tags from an Amazon Cognito identity pool. You can use this action up to 5 times per second, per account

" }, "UpdateIdentityPool":{ "name":"UpdateIdentityPool", @@ -329,7 +383,7 @@ {"shape":"ConcurrentModificationException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Updates a user pool.

You must use AWS Developer credentials to call this API.

" + "documentation":"

Updates an identity pool.

You must use AWS Developer credentials to call this API.

" } }, "shapes":{ @@ -345,19 +399,43 @@ "min":1, "pattern":"\\d+" }, + "AmbiguousRoleResolutionType":{ + "type":"string", + "enum":[ + "AuthenticatedRole", + "Deny" + ] + }, + "ClaimName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "ClaimValue":{ + "type":"string", + "max":128, + "min":1 + }, + "ClassicFlow":{"type":"boolean"}, "CognitoIdentityProvider":{ "type":"structure", "members":{ "ProviderName":{ "shape":"CognitoIdentityProviderName", - "documentation":"

The provider name for an Amazon Cognito Identity User Pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

" + "documentation":"

The provider name for an Amazon Cognito user pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

" }, "ClientId":{ "shape":"CognitoIdentityProviderClientId", - "documentation":"

The client ID for the Amazon Cognito Identity User Pool.

" + "documentation":"

The client ID for the Amazon Cognito user pool.

" + }, + "ServerSideTokenCheck":{ + "shape":"CognitoIdentityProviderTokenCheck", + "documentation":"

TRUE if server-side token validation is enabled for the identity provider’s token.

Once you set ServerSideTokenCheck to TRUE for an identity pool, that identity pool will check with the integrated user pools to make sure that the user has not been globally signed out or deleted before the identity pool provides an OIDC token or AWS credentials for the user.

If the user is signed out or deleted, the identity pool will return a 400 Not Authorized error.

", + "box":true } }, - "documentation":"

A provider representing an Amazon Cognito Identity User Pool and its client ID.

" + "documentation":"

A provider representing an Amazon Cognito user pool and its client ID.

" }, "CognitoIdentityProviderClientId":{ "type":"string", @@ -375,6 +453,7 @@ "min":1, "pattern":"[\\w._:/-]+" }, + "CognitoIdentityProviderTokenCheck":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", "members":{ @@ -401,6 +480,10 @@ "shape":"IdentityPoolUnauthenticated", "documentation":"

TRUE if the identity pool supports unauthenticated logins.

" }, + "AllowClassicFlow":{ + "shape":"ClassicFlow", + "documentation":"

Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

" + }, "SupportedLoginProviders":{ "shape":"IdentityProviders", "documentation":"

Optional key:value pairs mapping provider names to provider app IDs.

" @@ -415,11 +498,15 @@ }, "CognitoIdentityProviders":{ "shape":"CognitoIdentityProviderList", - "documentation":"

An array of Amazon Cognito Identity user pools.

" + "documentation":"

An array of Amazon Cognito user pools and their client IDs.

" }, "SamlProviderARNs":{ "shape":"SAMLProviderList", "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" + }, + "IdentityPoolTags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" } }, "documentation":"

Input to the CreateIdentityPool action.

" @@ -474,7 +561,7 @@ "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" } }, "documentation":"

Input to the DeleteIdentityPool action.

" @@ -496,10 +583,10 @@ "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" } }, - "documentation":"Input to the DescribeIdentityPool action." + "documentation":"

Input to the DescribeIdentityPool action.

" }, "DeveloperProviderName":{ "type":"string", @@ -521,8 +608,7 @@ "DeveloperUserIdentifier":{ "type":"string", "max":1024, - "min":1, - "pattern":"[\\w.@_-]+" + "min":1 }, "DeveloperUserIdentifierList":{ "type":"list", @@ -556,7 +642,7 @@ }, "Logins":{ "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The name-value pair will follow the syntax \"provider_name\": \"provider_user_identifier\".

Logins should not be specified when trying to get credentials for an unauthenticated identity.

The Logins parameter is required when using identities associated with external identity providers such as FaceBook. For examples of Logins maps, see the code examples in the External Identity Providers section of the Amazon Cognito Developer Guide.

" }, "CustomRoleArn":{ "shape":"ARNString", @@ -585,28 +671,28 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"A standard AWS account ID (9+ digits)." + "documentation":"

A standard AWS account ID (9+ digits).

" }, "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" }, "Logins":{ "shape":"LoginsMap", - "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com
  • Google: accounts.google.com
  • Amazon: www.amazon.com
  • Twitter: api.twitter.com
  • Digits: www.digits.com

" + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com

  • Amazon Cognito user pool: cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>, for example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

  • Google: accounts.google.com

  • Amazon: www.amazon.com

  • Twitter: api.twitter.com

  • Digits: www.digits.com

" } }, - "documentation":"Input to the GetId action." + "documentation":"

Input to the GetId action.

" }, "GetIdResponse":{ "type":"structure", "members":{ "IdentityId":{ "shape":"IdentityId", - "documentation":"A unique identifier in the format REGION:GUID." + "documentation":"

A unique identifier in the format REGION:GUID.

" } }, - "documentation":"Returned in response to a GetId request." + "documentation":"

Returned in response to a GetId request.

" }, "GetIdentityPoolRolesInput":{ "type":"structure", @@ -629,6 +715,10 @@ "Roles":{ "shape":"RolesMap", "documentation":"

The map of roles associated with this pool. Currently only authenticated and unauthenticated roles are supported.

" + }, + "RoleMappings":{ + "shape":"RoleMappingMap", + "documentation":"

How users for a specific identity provider are to mapped to roles. This is a String-to-RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

" } }, "documentation":"

Returned in response to a successful GetIdentityPoolRoles operation.

" @@ -654,7 +744,7 @@ }, "TokenDuration":{ "shape":"TokenDuration", - "documentation":"

The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration.

" + "documentation":"

The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration.

Please provide for a small grace period, usually no more than 5 minutes, to account for clock skew.

" } }, "documentation":"

Input to the GetOpenIdTokenForDeveloperIdentity action.

" @@ -679,28 +769,28 @@ "members":{ "IdentityId":{ "shape":"IdentityId", - "documentation":"A unique identifier in the format REGION:GUID." + "documentation":"

A unique identifier in the format REGION:GUID.

" }, "Logins":{ "shape":"LoginsMap", - "documentation":"A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com or any other OpenId Connect provider, always include the id_token." + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito user pool provider, or any other OpenId Connect provider, always include the id_token.

" } }, - "documentation":"Input to the GetOpenIdToken action." + "documentation":"

Input to the GetOpenIdToken action.

" }, "GetOpenIdTokenResponse":{ "type":"structure", "members":{ "IdentityId":{ "shape":"IdentityId", - "documentation":"A unique identifier in the format REGION:GUID. Note that the IdentityId returned may not match the one passed on input." + "documentation":"

A unique identifier in the format REGION:GUID. Note that the IdentityId returned may not match the one passed on input.

" }, "Token":{ "shape":"OIDCToken", - "documentation":"An OpenID token, valid for 15 minutes." + "documentation":"

An OpenID token, valid for 10 minutes.

" } }, - "documentation":"Returned in response to a successful GetOpenIdToken request." + "documentation":"

Returned in response to a successful GetOpenIdToken request.

" }, "HideDisabled":{"type":"boolean"}, "IdentitiesList":{ @@ -712,11 +802,11 @@ "members":{ "IdentityId":{ "shape":"IdentityId", - "documentation":"A unique identifier in the format REGION:GUID." + "documentation":"

A unique identifier in the format REGION:GUID.

" }, "Logins":{ "shape":"LoginsList", - "documentation":"A set of optional name-value pairs that map provider names to provider tokens." + "documentation":"

The provider names.

" }, "CreationDate":{ "shape":"DateType", @@ -727,7 +817,7 @@ "documentation":"

Date on which the identity was last modified.

" } }, - "documentation":"A description of the identity." + "documentation":"

A description of the identity.

" }, "IdentityId":{ "type":"string", @@ -751,7 +841,7 @@ "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" }, "IdentityPoolName":{ "shape":"IdentityPoolName", @@ -759,7 +849,11 @@ }, "AllowUnauthenticatedIdentities":{ "shape":"IdentityPoolUnauthenticated", - "documentation":"TRUE if the identity pool supports unauthenticated logins." + "documentation":"

TRUE if the identity pool supports unauthenticated logins.

" + }, + "AllowClassicFlow":{ + "shape":"ClassicFlow", + "documentation":"

Enables or disables the Basic (Classic) authentication flow. For more information, see Identity Pools (Federated Identities) Authentication Flow in the Amazon Cognito Developer Guide.

" }, "SupportedLoginProviders":{ "shape":"IdentityProviders", @@ -775,14 +869,18 @@ }, "CognitoIdentityProviders":{ "shape":"CognitoIdentityProviderList", - "documentation":"

A list representing an Amazon Cognito Identity User Pool and its client ID.

" + "documentation":"

A list representing an Amazon Cognito user pool and its client ID.

" }, "SamlProviderARNs":{ "shape":"SAMLProviderList", "documentation":"

An array of Amazon Resource Names (ARNs) of the SAML provider for your identity pool.

" + }, + "IdentityPoolTags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags that are assigned to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" } }, - "documentation":"An object representing a Cognito identity pool." + "documentation":"

An object representing an Amazon Cognito identity pool.

" }, "IdentityPoolId":{ "type":"string", @@ -794,21 +892,30 @@ "type":"string", "max":128, "min":1, - "pattern":"[\\w ]+" + "pattern":"[\\w\\s+=,.@-]+" }, "IdentityPoolShortDescription":{ "type":"structure", "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" }, "IdentityPoolName":{ "shape":"IdentityPoolName", - "documentation":"A string that you provide." + "documentation":"

A string that you provide.

" } }, - "documentation":"A description of the identity pool." + "documentation":"

A description of the identity pool.

" + }, + "IdentityPoolTagsListType":{ + "type":"list", + "member":{"shape":"TagKeysType"} + }, + "IdentityPoolTagsType":{ + "type":"map", + "key":{"shape":"TagKeysType"}, + "value":{"shape":"TagValueType"} }, "IdentityPoolUnauthenticated":{"type":"boolean"}, "IdentityPoolsList":{ @@ -842,10 +949,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by an InternalErrorException." + "documentation":"

The message returned by an InternalErrorException.

" } }, - "documentation":"Thrown when the service encounters an error during processing the request.", + "documentation":"

Thrown when the service encounters an error during processing the request.

", "exception":true, "fault":true }, @@ -854,7 +961,7 @@ "members":{ "message":{ "shape":"String", - "documentation":"

The message returned for an InvalidIdentityPoolConfigurationException

" + "documentation":"

The message returned for an InvalidIdentityPoolConfigurationException

" } }, "documentation":"

Thrown if the identity pool has no role associated for the given auth type (auth/unauth) or if the AssumeRole fails.

", @@ -865,10 +972,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by an InvalidParameterException." + "documentation":"

The message returned by an InvalidParameterException.

" } }, - "documentation":"Thrown for missing or bad input parameter(s).", + "documentation":"

Thrown for missing or bad input parameter(s).

", "exception":true }, "LimitExceededException":{ @@ -876,10 +983,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by a LimitExceededException." + "documentation":"

The message returned by a LimitExceededException.

" } }, - "documentation":"Thrown when the total number of user pools has exceeded a preset limit.", + "documentation":"

Thrown when the total number of user pools has exceeded a preset limit.

", "exception":true }, "ListIdentitiesInput":{ @@ -891,40 +998,40 @@ "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" }, "MaxResults":{ "shape":"QueryLimit", - "documentation":"The maximum number of identities to return." + "documentation":"

The maximum number of identities to return.

" }, "NextToken":{ "shape":"PaginationKey", - "documentation":"A pagination token." + "documentation":"

A pagination token.

" }, "HideDisabled":{ "shape":"HideDisabled", "documentation":"

An optional boolean parameter that allows you to hide disabled identities. If omitted, the ListIdentities API will include disabled identities in the response.

" } }, - "documentation":"Input to the ListIdentities action." + "documentation":"

Input to the ListIdentities action.

" }, "ListIdentitiesResponse":{ "type":"structure", "members":{ "IdentityPoolId":{ "shape":"IdentityPoolId", - "documentation":"An identity pool ID in the format REGION:GUID." + "documentation":"

An identity pool ID in the format REGION:GUID.

" }, "Identities":{ "shape":"IdentitiesList", - "documentation":"An object containing a set of identities and associated mappings." + "documentation":"

An object containing a set of identities and associated mappings.

" }, "NextToken":{ "shape":"PaginationKey", - "documentation":"A pagination token." + "documentation":"

A pagination token.

" } }, - "documentation":"The response to a ListIdentities request." + "documentation":"

The response to a ListIdentities request.

" }, "ListIdentityPoolsInput":{ "type":"structure", @@ -932,28 +1039,47 @@ "members":{ "MaxResults":{ "shape":"QueryLimit", - "documentation":"The maximum number of identities to return." + "documentation":"

The maximum number of identities to return.

" }, "NextToken":{ "shape":"PaginationKey", - "documentation":"A pagination token." + "documentation":"

A pagination token.

" } }, - "documentation":"Input to the ListIdentityPools action." + "documentation":"

Input to the ListIdentityPools action.

" }, "ListIdentityPoolsResponse":{ "type":"structure", "members":{ "IdentityPools":{ "shape":"IdentityPoolsList", - "documentation":"The identity pools returned by the ListIdentityPools action." + "documentation":"

The identity pools returned by the ListIdentityPools action.

" }, "NextToken":{ "shape":"PaginationKey", - "documentation":"A pagination token." + "documentation":"

A pagination token.

" } }, - "documentation":"The result of a successful ListIdentityPools action." + "documentation":"

The result of a successful ListIdentityPools action.

" + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags that are assigned to the identity pool.

" + } + } }, "LoginsList":{ "type":"list", @@ -1010,6 +1136,49 @@ }, "documentation":"

Returned in response to a successful LookupDeveloperIdentity action.

" }, + "MappingRule":{ + "type":"structure", + "required":[ + "Claim", + "MatchType", + "Value", + "RoleARN" + ], + "members":{ + "Claim":{ + "shape":"ClaimName", + "documentation":"

The claim name that must be present in the token, for example, \"isAdmin\" or \"paid\".

" + }, + "MatchType":{ + "shape":"MappingRuleMatchType", + "documentation":"

The match condition that specifies how closely the claim value in the IdP token must match Value.

" + }, + "Value":{ + "shape":"ClaimValue", + "documentation":"

A brief string that the claim must match, for example, \"paid\" or \"yes\".

" + }, + "RoleARN":{ + "shape":"ARNString", + "documentation":"

The role ARN.

" + } + }, + "documentation":"

A rule that maps a claim name, a claim value, and a match type to a role ARN.

" + }, + "MappingRuleMatchType":{ + "type":"string", + "enum":[ + "Equals", + "Contains", + "StartsWith", + "NotEqual" + ] + }, + "MappingRulesList":{ + "type":"list", + "member":{"shape":"MappingRule"}, + "max":25, + "min":1 + }, "MergeDeveloperIdentitiesInput":{ "type":"structure", "required":[ @@ -1053,10 +1222,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by a NotAuthorizedException" + "documentation":"

The message returned by a NotAuthorizedException

" } }, - "documentation":"Thrown when a user is not authorized to access the requested resource.", + "documentation":"

Thrown when a user is not authorized to access the requested resource.

", "exception":true }, "OIDCProviderList":{ @@ -1079,10 +1248,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by a ResourceConflictException." + "documentation":"

The message returned by a ResourceConflictException.

" } }, - "documentation":"Thrown when a user tries to use a login which is already linked to another account.", + "documentation":"

Thrown when a user tries to use a login which is already linked to another account.

", "exception":true }, "ResourceNotFoundException":{ @@ -1090,12 +1259,44 @@ "members":{ "message":{ "shape":"String", - "documentation":"The message returned by a ResourceNotFoundException." + "documentation":"

The message returned by a ResourceNotFoundException.

" } }, - "documentation":"Thrown when the requested resource (for example, a dataset or record) does not exist.", + "documentation":"

Thrown when the requested resource (for example, a dataset or record) does not exist.

", "exception":true }, + "RoleMapping":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"RoleMappingType", + "documentation":"

The role mapping type. Token will use cognito:roles and cognito:preferred_role claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.

" + }, + "AmbiguousRoleResolution":{ + "shape":"AmbiguousRoleResolutionType", + "documentation":"

If you specify Token or Rules as the Type, AmbiguousRoleResolution is required.

Specifies the action to be taken if either no rules match the claim value for the Rules type, or there is no cognito:preferred_role claim and there are multiple cognito:roles matches for the Token type.

" + }, + "RulesConfiguration":{ + "shape":"RulesConfigurationType", + "documentation":"

The rules to be used for mapping users to roles.

If you specify Rules as the role mapping type, RulesConfiguration is required.

" + } + }, + "documentation":"

A role mapping.

" + }, + "RoleMappingMap":{ + "type":"map", + "key":{"shape":"IdentityProviderName"}, + "value":{"shape":"RoleMapping"}, + "max":10 + }, + "RoleMappingType":{ + "type":"string", + "enum":[ + "Token", + "Rules" + ] + }, "RoleType":{ "type":"string", "pattern":"(un)?authenticated" @@ -1106,6 +1307,17 @@ "value":{"shape":"ARNString"}, "max":2 }, + "RulesConfigurationType":{ + "type":"structure", + "required":["Rules"], + "members":{ + "Rules":{ + "shape":"MappingRulesList", + "documentation":"

An array of rules. You can specify up to 25 rules per identity provider.

Rules are evaluated in order. The first one to match specifies the role.

" + } + }, + "documentation":"

A container for rules.

" + }, "SAMLProviderList":{ "type":"list", "member":{"shape":"ARNString"} @@ -1126,11 +1338,47 @@ "Roles":{ "shape":"RolesMap", "documentation":"

The map of roles associated with this pool. For a given role, the key will be either \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN.

" + }, + "RoleMappings":{ + "shape":"RoleMappingMap", + "documentation":"

How users for a specific identity provider are to mapped to roles. This is a string to RoleMapping object map. The string identifies the identity provider, for example, \"graph.facebook.com\" or \"cognito-idp-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id\".

Up to 25 rules can be specified per identity provider.

" } }, "documentation":"

Input to the SetIdentityPoolRoles action.

" }, "String":{"type":"string"}, + "TagKeysType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool to assign the tags to.

" + }, + "Tags":{ + "shape":"IdentityPoolTagsType", + "documentation":"

The tags to assign to the identity pool.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, "TokenDuration":{ "type":"long", "max":86400, @@ -1141,10 +1389,10 @@ "members":{ "message":{ "shape":"String", - "documentation":"Message returned by a TooManyRequestsException" + "documentation":"

Message returned by a TooManyRequestsException

" } }, - "documentation":"Thrown when a request is throttled.", + "documentation":"

Thrown when a request is throttled.

", "exception":true }, "UnlinkDeveloperIdentityInput":{ @@ -1170,7 +1418,7 @@ }, "DeveloperUserIdentifier":{ "shape":"DeveloperUserIdentifier", - "documentation":"A unique ID used by your backend authentication process to identify a user." + "documentation":"

A unique ID used by your backend authentication process to identify a user.

" } }, "documentation":"

Input to the UnlinkDeveloperIdentity action.

" @@ -1185,18 +1433,18 @@ "members":{ "IdentityId":{ "shape":"IdentityId", - "documentation":"A unique identifier in the format REGION:GUID." + "documentation":"

A unique identifier in the format REGION:GUID.

" }, "Logins":{ "shape":"LoginsMap", - "documentation":"A set of optional name-value pairs that map provider names to provider tokens." + "documentation":"

A set of optional name-value pairs that map provider names to provider tokens.

" }, "LoginsToRemove":{ "shape":"LoginsList", - "documentation":"Provider names to unlink from this identity." + "documentation":"

Provider names to unlink from this identity.

" } }, - "documentation":"Input to the UnlinkIdentity action." + "documentation":"

Input to the UnlinkIdentity action.

" }, "UnprocessedIdentityId":{ "type":"structure", @@ -1216,7 +1464,29 @@ "type":"list", "member":{"shape":"UnprocessedIdentityId"}, "max":60 + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ARNString", + "documentation":"

The Amazon Resource Name (ARN) of the identity pool that the tags are assigned to.

" + }, + "TagKeys":{ + "shape":"IdentityPoolTagsListType", + "documentation":"

The keys of the tags to remove from the user pool.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } } }, - "documentation":"Amazon Cognito

Amazon Cognito is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. Amazon Cognito uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon), and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

To provide end-user credentials, first make an unsigned call to GetId. If the end user is authenticated with one of the supported identity providers, set the Logins map with the identity provider token. GetId returns a unique identifier for the user.

Next, make an unsigned call to GetCredentialsForIdentity. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. Assuming your identity pool has been configured via the SetIdentityPoolRoles operation, GetCredentialsForIdentity will return AWS credentials for your use. If your pool has not been configured with SetIdentityPoolRoles, or if you want to follow legacy flow, make an unsigned call to GetOpenIdToken, which returns the OpenID token necessary to call STS and retrieve AWS credentials. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. The token returned by GetOpenIdToken can be passed to the STS operation AssumeRoleWithWebIdentity to retrieve AWS credentials.

If you want to use Amazon Cognito in an Android, iOS, or Unity application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the AWS Mobile SDK Developer Guide.

" + "documentation":"Amazon Cognito Federated Identities

Amazon Cognito Federated Identities is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. It uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito Federated Identities, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon Cognito user pool, and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

For a description of the authentication flow from the Amazon Cognito Developer Guide see Authentication Flow.

For more information see Amazon Cognito Federated Identities.

" } diff -Nru python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/examples-1.json python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/examples-1.json --- python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/paginators-1.json --- python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "AdminListGroupsForUser": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Groups" + }, + "AdminListUserAuthEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AuthEvents" + }, + "ListGroups": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Groups" + }, + "ListIdentityProviders": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Providers" + }, + "ListResourceServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceServers" + }, + "ListUserPoolClients": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserPoolClients" + }, + "ListUserPools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserPools" + }, + "ListUsersInGroup": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Users" + }, + "ListUsers": { + "input_token": "PaginationToken", + "limit_key": "Limit", + "output_token": "PaginationToken", + "result_key": "Users" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/service-2.json python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/service-2.json --- python-botocore-1.4.70/botocore/data/cognito-idp/2016-04-18/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-idp/2016-04-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Cognito Identity Provider", + "serviceId":"Cognito Identity Provider", "signatureVersion":"v4", - "targetPrefix":"AWSCognitoIdentityProviderService" + "targetPrefix":"AWSCognitoIdentityProviderService", + "uid":"cognito-idp-2016-04-18" }, "operations":{ "AddCustomAttributes":{ @@ -28,6 +30,23 @@ ], "documentation":"

Adds additional user attributes to the user pool schema.

" }, + "AdminAddUserToGroup":{ + "name":"AdminAddUserToGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminAddUserToGroupRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Adds the specified user to the specified group.

Calling this action requires developer credentials.

" + }, "AdminConfirmSignUp":{ "name":"AdminConfirmSignUp", "http":{ @@ -49,7 +68,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Confirms user registration as an admin without using a confirmation code. Works on any user.

" + "documentation":"

Confirms user registration as an admin without using a confirmation code. Works on any user.

Calling this action requires developer credentials.

" }, "AdminCreateUser":{ "name":"AdminCreateUser", @@ -77,7 +96,7 @@ {"shape":"UnsupportedUserStateException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

" + "documentation":"

Creates a new user in the specified user pool.

If MessageAction is not set, the default is to send a welcome message via email or phone (SMS).

This message is based on a template that you configured in your call to or . This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the MessageAction parameter, and Amazon Cognito will not send any email.

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

AdminCreateUser requires developer credentials.

" }, "AdminDeleteUser":{ "name":"AdminDeleteUser", @@ -94,7 +113,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Deletes a user as an administrator. Works on any user.

" + "documentation":"

Deletes a user as an administrator. Works on any user.

Calling this action requires developer credentials.

" }, "AdminDeleteUserAttributes":{ "name":"AdminDeleteUserAttributes", @@ -112,7 +131,26 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Deletes the user attributes in a user pool as an administrator. Works on any user.

" + "documentation":"

Deletes the user attributes in a user pool as an administrator. Works on any user.

Calling this action requires developer credentials.

" + }, + "AdminDisableProviderForUser":{ + "name":"AdminDisableProviderForUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminDisableProviderForUserRequest"}, + "output":{"shape":"AdminDisableProviderForUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"AliasExistsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Cognito User Pools native username + password user, they are not permitted to use their password to sign-in. If the user to disable is a linked external IdP user, any link between that user and an existing user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. See .

This action is enabled only for admin access and requires developer credentials.

The ProviderName must match the value specified when creating an IdP for the pool.

To disable a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject, with the ProviderAttributeValue being the name that is used in the user pool for the user.

The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact subject that was used when the user was originally linked as a source user.

For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign-in, the ProviderAttributeName and ProviderAttributeValue must be the same values that were used for the SourceUser when the identities were originally linked in the call. (If the linking was done with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion.

" }, "AdminDisableUser":{ "name":"AdminDisableUser", @@ -130,7 +168,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Disables the specified user as an administrator. Works on any user.

" + "documentation":"

Disables the specified user.

Calling this action requires developer credentials.

" }, "AdminEnableUser":{ "name":"AdminEnableUser", @@ -148,7 +186,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Enables the specified user as an administrator. Works on any user.

" + "documentation":"

Enables the specified user as an administrator. Works on any user.

Calling this action requires developer credentials.

" }, "AdminForgetDevice":{ "name":"AdminForgetDevice", @@ -166,7 +204,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Forgets the device, as an administrator.

" + "documentation":"

Forgets the device, as an administrator.

Calling this action requires developer credentials.

" }, "AdminGetDevice":{ "name":"AdminGetDevice", @@ -184,7 +222,7 @@ {"shape":"InternalErrorException"}, {"shape":"NotAuthorizedException"} ], - "documentation":"

Gets the device, as an administrator.

" + "documentation":"

Gets the device, as an administrator.

Calling this action requires developer credentials.

" }, "AdminGetUser":{ "name":"AdminGetUser", @@ -202,7 +240,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Gets the specified user by user name in a user pool as an administrator. Works on any user.

" + "documentation":"

Gets the specified user by user name in a user pool as an administrator. Works on any user.

Calling this action requires developer credentials.

" }, "AdminInitiateAuth":{ "name":"AdminInitiateAuth", @@ -229,7 +267,26 @@ {"shape":"UserNotFoundException"}, {"shape":"UserNotConfirmedException"} ], - "documentation":"

Initiates the authentication flow, as an administrator.

" + "documentation":"

Initiates the authentication flow, as an administrator.

Calling this action requires developer credentials.

" + }, + "AdminLinkProviderForUser":{ + "name":"AdminLinkProviderForUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminLinkProviderForUserRequest"}, + "output":{"shape":"AdminLinkProviderForUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"AliasExistsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Links an existing user account in a user pool (DestinationUser) to an identity from an external identity provider (SourceUser) based on a specified attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not yet been used to sign in, so that the federated user identity can be used to sign in as the existing user account.

For example, if there is an existing user with a username and password, this API links that user to a federated user identity, so that when the federated user identity is used, the user signs in as the existing user account.

Because this API allows a user with an external federated identity to sign in as an existing user in the user pool, it is critical that it only be used with external identity providers and provider attributes that have been trusted by the application owner.

See also .

This action is enabled only for admin access and requires developer credentials.

" }, "AdminListDevices":{ "name":"AdminListDevices", @@ -247,7 +304,61 @@ {"shape":"InternalErrorException"}, {"shape":"NotAuthorizedException"} ], - "documentation":"

Lists devices, as an administrator.

" + "documentation":"

Lists devices, as an administrator.

Calling this action requires developer credentials.

" + }, + "AdminListGroupsForUser":{ + "name":"AdminListGroupsForUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminListGroupsForUserRequest"}, + "output":{"shape":"AdminListGroupsForUserResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the groups that the user belongs to.

Calling this action requires developer credentials.

" + }, + "AdminListUserAuthEvents":{ + "name":"AdminListUserAuthEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminListUserAuthEventsRequest"}, + "output":{"shape":"AdminListUserAuthEventsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserPoolAddOnNotEnabledException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists a history of user activity and any risks detected as part of Amazon Cognito advanced security.

" + }, + "AdminRemoveUserFromGroup":{ + "name":"AdminRemoveUserFromGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminRemoveUserFromGroupRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Removes the specified user from the specified group.

Calling this action requires developer credentials.

" }, "AdminResetUserPassword":{ "name":"AdminResetUserPassword", @@ -267,9 +378,12 @@ {"shape":"TooManyRequestsException"}, {"shape":"LimitExceededException"}, {"shape":"UserNotFoundException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidEmailRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

" + "documentation":"

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

Calling this action requires developer credentials.

" }, "AdminRespondToAuthChallenge":{ "name":"AdminRespondToAuthChallenge", @@ -298,9 +412,48 @@ {"shape":"AliasExistsException"}, {"shape":"PasswordResetRequiredException"}, {"shape":"UserNotFoundException"}, - {"shape":"UserNotConfirmedException"} + {"shape":"UserNotConfirmedException"}, + {"shape":"SoftwareTokenMFANotFoundException"} + ], + "documentation":"

Responds to an authentication challenge, as an administrator.

Calling this action requires developer credentials.

" + }, + "AdminSetUserMFAPreference":{ + "name":"AdminSetUserMFAPreference", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminSetUserMFAPreferenceRequest"}, + "output":{"shape":"AdminSetUserMFAPreferenceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"PasswordResetRequiredException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserNotConfirmedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Sets the user's multi-factor authentication (MFA) preference, including which MFA options are enabled and if any are preferred. Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are enabled. If multiple options are enabled and no preference is set, a challenge to choose an MFA option will be returned during sign in.

" + }, + "AdminSetUserPassword":{ + "name":"AdminSetUserPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminSetUserPasswordRequest"}, + "output":{"shape":"AdminSetUserPasswordResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalErrorException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPasswordException"} ], - "documentation":"

Responds to an authentication challenge, as an administrator.

" + "documentation":"

Sets the specified user's password in a user pool as an administrator. Works on any user.

The password can be temporary or permanent. If it is temporary, the user status will be placed into the FORCE_CHANGE_PASSWORD state. When the user next tries to sign in, the InitiateAuth/AdminInitiateAuth response will contain the NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before it expires, the user will not be able to sign in and their password will need to be reset by an administrator.

Once the user has set a new password, or the password is permanent, the user status will be set to Confirmed.

" }, "AdminSetUserSettings":{ "name":"AdminSetUserSettings", @@ -317,7 +470,26 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Sets all the user settings for a specified user name. Works on any user.

" + "documentation":"

This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either type of MFA, use the AdminSetUserMFAPreference action instead.

" + }, + "AdminUpdateAuthEventFeedback":{ + "name":"AdminUpdateAuthEventFeedback", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdminUpdateAuthEventFeedbackRequest"}, + "output":{"shape":"AdminUpdateAuthEventFeedbackResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserPoolAddOnNotEnabledException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Provides feedback for an authentication event as to whether it was from a valid user. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security.

" }, "AdminUpdateDeviceStatus":{ "name":"AdminUpdateDeviceStatus", @@ -336,7 +508,7 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Updates the device status as an administrator.

" + "documentation":"

Updates the device status as an administrator.

Calling this action requires developer credentials.

" }, "AdminUpdateUserAttributes":{ "name":"AdminUpdateUserAttributes", @@ -356,9 +528,12 @@ {"shape":"TooManyRequestsException"}, {"shape":"NotAuthorizedException"}, {"shape":"UserNotFoundException"}, - {"shape":"InternalErrorException"} + {"shape":"InternalErrorException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidEmailRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"} ], - "documentation":"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

" + "documentation":"

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

For custom attributes, you must prepend the custom: prefix to the attribute name.

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

Calling this action requires developer credentials.

" }, "AdminUserGlobalSignOut":{ "name":"AdminUserGlobalSignOut", @@ -376,7 +551,24 @@ {"shape":"UserNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Signs out users from all devices, as an administrator.

" + "documentation":"

Signs out users from all devices, as an administrator. It also invalidates all refresh tokens issued to a user. The user's current access and Id tokens remain valid until their expiry. Access and Id tokens expire one hour after they are issued.

Calling this action requires developer credentials.

" + }, + "AssociateSoftwareToken":{ + "name":"AssociateSoftwareToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSoftwareTokenRequest"}, + "output":{"shape":"AssociateSoftwareTokenResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"}, + {"shape":"SoftwareTokenMFANotFoundException"} + ], + "documentation":"

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

" }, "ChangePassword":{ "name":"ChangePassword", @@ -423,7 +615,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Confirms tracking of the device. This API call is the call that beings device tracking.

" + "documentation":"

Confirms tracking of the device. This API call is the call that begins device tracking.

" }, "ConfirmForgotPassword":{ "name":"ConfirmForgotPassword", @@ -450,7 +642,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Allows a user to enter a code provided when they reset their password to update their password.

", + "documentation":"

Allows a user to enter a confirmation code to reset a forgotten password.

", "authtype":"none" }, "ConfirmSignUp":{ @@ -480,6 +672,62 @@ "documentation":"

Confirms registration of a user and handles the existing alias from a previous user.

", "authtype":"none" }, + "CreateGroup":{ + "name":"CreateGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGroupRequest"}, + "output":{"shape":"CreateGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"GroupExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates a new group in the specified user pool.

Calling this action requires developer credentials.

" + }, + "CreateIdentityProvider":{ + "name":"CreateIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIdentityProviderRequest"}, + "output":{"shape":"CreateIdentityProviderResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DuplicateProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates an identity provider for a user pool.

" + }, + "CreateResourceServer":{ + "name":"CreateResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResourceServerRequest"}, + "output":{"shape":"CreateResourceServerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates a new OAuth2.0 resource server and defines custom scopes in it.

" + }, "CreateUserImportJob":{ "name":"CreateUserImportJob", "http":{ @@ -515,6 +763,7 @@ {"shape":"InvalidSmsRoleTrustRelationshipException"}, {"shape":"InvalidEmailRoleAccessPolicyException"}, {"shape":"NotAuthorizedException"}, + {"shape":"UserPoolTaggingException"}, {"shape":"InternalErrorException"} ], "documentation":"

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

" @@ -533,10 +782,78 @@ {"shape":"TooManyRequestsException"}, {"shape":"LimitExceededException"}, {"shape":"NotAuthorizedException"}, + {"shape":"ScopeDoesNotExistException"}, + {"shape":"InvalidOAuthFlowException"}, {"shape":"InternalErrorException"} ], "documentation":"

Creates the user pool client.

" }, + "CreateUserPoolDomain":{ + "name":"CreateUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserPoolDomainRequest"}, + "output":{"shape":"CreateUserPoolDomainResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Creates a new domain for a user pool.

" + }, + "DeleteGroup":{ + "name":"DeleteGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGroupRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes a group. Currently only groups with no members can be deleted.

Calling this action requires developer credentials.

" + }, + "DeleteIdentityProvider":{ + "name":"DeleteIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIdentityProviderRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedIdentityProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes an identity provider for a user pool.

" + }, + "DeleteResourceServer":{ + "name":"DeleteResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceServerRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes a resource server.

" + }, "DeleteUser":{ "name":"DeleteUser", "http":{ @@ -554,7 +871,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Allows a user to delete one's self.

", + "documentation":"

Allows a user to delete himself or herself.

", "authtype":"none" }, "DeleteUserAttributes":{ @@ -611,59 +928,144 @@ ], "documentation":"

Allows the developer to delete the user pool client.

" }, - "DescribeUserImportJob":{ - "name":"DescribeUserImportJob", + "DeleteUserPoolDomain":{ + "name":"DeleteUserPoolDomain", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeUserImportJobRequest"}, - "output":{"shape":"DescribeUserImportJobResponse"}, + "input":{"shape":"DeleteUserPoolDomainRequest"}, + "output":{"shape":"DeleteUserPoolDomainResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, {"shape":"NotAuthorizedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Describes the user import job.

" + "documentation":"

Deletes a domain for a user pool.

" }, - "DescribeUserPool":{ - "name":"DescribeUserPool", + "DescribeIdentityProvider":{ + "name":"DescribeIdentityProvider", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeUserPoolRequest"}, - "output":{"shape":"DescribeUserPoolResponse"}, + "input":{"shape":"DescribeIdentityProviderRequest"}, + "output":{"shape":"DescribeIdentityProviderResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Returns the configuration information and metadata of the specified user pool.

" + "documentation":"

Gets information about a specific identity provider.

" }, - "DescribeUserPoolClient":{ - "name":"DescribeUserPoolClient", + "DescribeResourceServer":{ + "name":"DescribeResourceServer", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeUserPoolClientRequest"}, - "output":{"shape":"DescribeUserPoolClientResponse"}, + "input":{"shape":"DescribeResourceServerRequest"}, + "output":{"shape":"DescribeResourceServerResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, - {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Client method for returning the configuration information and metadata of the specified user pool client.

" + "documentation":"

Describes a resource server.

" }, - "ForgetDevice":{ - "name":"ForgetDevice", + "DescribeRiskConfiguration":{ + "name":"DescribeRiskConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRiskConfigurationRequest"}, + "output":{"shape":"DescribeRiskConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserPoolAddOnNotEnabledException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Describes the risk configuration.

" + }, + "DescribeUserImportJob":{ + "name":"DescribeUserImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserImportJobRequest"}, + "output":{"shape":"DescribeUserImportJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Describes the user import job.

" + }, + "DescribeUserPool":{ + "name":"DescribeUserPool", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserPoolRequest"}, + "output":{"shape":"DescribeUserPoolResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserPoolTaggingException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns the configuration information and metadata of the specified user pool.

" + }, + "DescribeUserPoolClient":{ + "name":"DescribeUserPoolClient", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserPoolClientRequest"}, + "output":{"shape":"DescribeUserPoolClientResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Client method for returning the configuration information and metadata of the specified user pool app client.

" + }, + "DescribeUserPoolDomain":{ + "name":"DescribeUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserPoolDomainRequest"}, + "output":{"shape":"DescribeUserPoolDomainResponse"}, + "errors":[ + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets information about a domain.

" + }, + "ForgetDevice":{ + "name":"ForgetDevice", "http":{ "method":"POST", "requestUri":"/" @@ -707,7 +1109,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Retrieves the password for the specified client ID or username.

", + "documentation":"

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the specified AccountRecoverySetting. For more information, see Recovering User Accounts in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, an InvalidParameterException is thrown. To use the confirmation code for resetting the password, call .

", "authtype":"none" }, "GetCSVHeader":{ @@ -748,6 +1150,72 @@ ], "documentation":"

Gets the device.

" }, + "GetGroup":{ + "name":"GetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGroupRequest"}, + "output":{"shape":"GetGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets a group.

Calling this action requires developer credentials.

" + }, + "GetIdentityProviderByIdentifier":{ + "name":"GetIdentityProviderByIdentifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIdentityProviderByIdentifierRequest"}, + "output":{"shape":"GetIdentityProviderByIdentifierResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets the specified identity provider.

" + }, + "GetSigningCertificate":{ + "name":"GetSigningCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSigningCertificateRequest"}, + "output":{"shape":"GetSigningCertificateResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

This method takes a user pool ID, and returns the signing certificate.

" + }, + "GetUICustomization":{ + "name":"GetUICustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUICustomizationRequest"}, + "output":{"shape":"GetUICustomizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets the UI Customization information for a particular app client's app UI, if there is something set. If nothing is set for the particular client, but there is an existing pool level customization (app clientId will be ALL), then that is returned. If nothing is present, then an empty shape is returned.

" + }, "GetUser":{ "name":"GetUser", "http":{ @@ -798,6 +1266,23 @@ "documentation":"

Gets the user attribute verification code for the specified attribute name.

", "authtype":"none" }, + "GetUserPoolMfaConfig":{ + "name":"GetUserPoolMfaConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUserPoolMfaConfigRequest"}, + "output":{"shape":"GetUserPoolMfaConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Gets the user pool multi-factor authentication (MFA) configuration.

" + }, "GlobalSignOut":{ "name":"GlobalSignOut", "http":{ @@ -815,7 +1300,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Signs out users from all devices.

" + "documentation":"

Signs out users from all devices. It also invalidates all refresh tokens issued to a user. The user's current access and Id tokens remain valid until their expiry. Access and Id tokens expire one hour after they are issued.

" }, "InitiateAuth":{ "name":"InitiateAuth", @@ -837,7 +1322,9 @@ {"shape":"PasswordResetRequiredException"}, {"shape":"UserNotFoundException"}, {"shape":"UserNotConfirmedException"}, - {"shape":"InternalErrorException"} + {"shape":"InternalErrorException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"} ], "documentation":"

Initiates the authentication flow.

" }, @@ -862,6 +1349,74 @@ ], "documentation":"

Lists the devices.

" }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupsRequest"}, + "output":{"shape":"ListGroupsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the groups associated with a user pool.

Calling this action requires developer credentials.

" + }, + "ListIdentityProviders":{ + "name":"ListIdentityProviders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIdentityProvidersRequest"}, + "output":{"shape":"ListIdentityProvidersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists information about all identity providers for a user pool.

" + }, + "ListResourceServers":{ + "name":"ListResourceServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceServersRequest"}, + "output":{"shape":"ListResourceServersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the resource servers for a user pool.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the tags that are assigned to an Amazon Cognito user pool.

A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

You can use this action up to 10 times per second, per account.

" + }, "ListUserImportJobs":{ "name":"ListUserImportJobs", "http":{ @@ -929,6 +1484,23 @@ ], "documentation":"

Lists the users in the Amazon Cognito user pool.

" }, + "ListUsersInGroup":{ + "name":"ListUsersInGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsersInGroupRequest"}, + "output":{"shape":"ListUsersInGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the users in the specified group.

Calling this action requires developer credentials.

" + }, "ResendConfirmationCode":{ "name":"ResendConfirmationCode", "http":{ @@ -983,10 +1555,86 @@ {"shape":"InvalidSmsRoleAccessPolicyException"}, {"shape":"InvalidSmsRoleTrustRelationshipException"}, {"shape":"AliasExistsException"}, - {"shape":"InternalErrorException"} + {"shape":"InternalErrorException"}, + {"shape":"SoftwareTokenMFANotFoundException"} ], "documentation":"

Responds to the authentication challenge.

" }, + "SetRiskConfiguration":{ + "name":"SetRiskConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetRiskConfigurationRequest"}, + "output":{"shape":"SetRiskConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserPoolAddOnNotEnabledException"}, + {"shape":"CodeDeliveryFailureException"}, + {"shape":"InvalidEmailRoleAccessPolicyException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Configures actions on detected risks. To delete the risk configuration for UserPoolId or ClientId, pass null values for all four configuration types.

To enable Amazon Cognito advanced security features, update the user pool to include the UserPoolAddOns keyAdvancedSecurityMode.

See .

" + }, + "SetUICustomization":{ + "name":"SetUICustomization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetUICustomizationRequest"}, + "output":{"shape":"SetUICustomizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Sets the UI customization information for a user pool's built-in app UI.

You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ALL). If you specify ALL, the default configuration will be used for every client that has no UI customization set previously. If you specify UI customization settings for a particular client, it will no longer fall back to the ALL configuration.

To use this API, your user pool must have a domain associated with it. Otherwise, there is no place to host the app's pages, and the service will throw an error.

" + }, + "SetUserMFAPreference":{ + "name":"SetUserMFAPreference", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetUserMFAPreferenceRequest"}, + "output":{"shape":"SetUserMFAPreferenceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"PasswordResetRequiredException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserNotConfirmedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Set the user's multi-factor authentication (MFA) method preference, including which MFA factors are enabled and if any are preferred. Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are enabled. If multiple options are enabled and no preference is set, a challenge to choose an MFA option will be returned during sign in.

" + }, + "SetUserPoolMfaConfig":{ + "name":"SetUserPoolMfaConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetUserPoolMfaConfigRequest"}, + "output":{"shape":"SetUserPoolMfaConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidSmsRoleAccessPolicyException"}, + {"shape":"InvalidSmsRoleTrustRelationshipException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Set the user pool multi-factor authentication (MFA) configuration.

" + }, "SetUserSettings":{ "name":"SetUserSettings", "http":{ @@ -1004,7 +1652,7 @@ {"shape":"UserNotConfirmedException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Sets the user settings like multi-factor authentication (MFA). If MFA is to be removed for a particular attribute pass the attribute with code delivery as null. If null list is passed, all MFA options are removed.

", + "documentation":"

This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either type of MFA, use the SetUserMFAPreference action instead.

", "authtype":"none" }, "SignUp":{ @@ -1070,16 +1718,69 @@ ], "documentation":"

Stops the user import job.

" }, - "UpdateDeviceStatus":{ - "name":"UpdateDeviceStatus", + "TagResource":{ + "name":"TagResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateDeviceStatusRequest"}, - "output":{"shape":"UpdateDeviceStatusResponse"}, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, "errors":[ - {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of a user pool, one for testing and another for production, you might assign an Environment tag key to both user pools. The value of this key might be Test for one user pool and Production for the other.

Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with your user pools. In an IAM policy, you can constrain permissions for user pools based on specific tags or tag values.

You can use this action up to 5 times per second, per account. A user pool can have as many as 50 tags.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Removes the specified tags from an Amazon Cognito user pool. You can use this action up to 5 times per second, per account

" + }, + "UpdateAuthEventFeedback":{ + "name":"UpdateAuthEventFeedback", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAuthEventFeedbackRequest"}, + "output":{"shape":"UpdateAuthEventFeedbackResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserPoolAddOnNotEnabledException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Provides the feedback for an authentication event whether it was from a valid user or not. This feedback is used for improving the risk evaluation decision for the user pool as part of Amazon Cognito advanced security.

" + }, + "UpdateDeviceStatus":{ + "name":"UpdateDeviceStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDeviceStatusRequest"}, + "output":{"shape":"UpdateDeviceStatusResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, {"shape":"ResourceNotFoundException"}, {"shape":"NotAuthorizedException"}, {"shape":"InvalidUserPoolConfigurationException"}, @@ -1091,6 +1792,58 @@ ], "documentation":"

Updates the device status.

" }, + "UpdateGroup":{ + "name":"UpdateGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGroupRequest"}, + "output":{"shape":"UpdateGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates the specified group with the specified attributes.

Calling this action requires developer credentials.

If you don't provide a value for an attribute, it will be set to the default value.

" + }, + "UpdateIdentityProvider":{ + "name":"UpdateIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIdentityProviderRequest"}, + "output":{"shape":"UpdateIdentityProviderResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedIdentityProviderException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates identity provider information for a user pool.

" + }, + "UpdateResourceServer":{ + "name":"UpdateResourceServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResourceServerRequest"}, + "output":{"shape":"UpdateResourceServerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates the name and scopes of resource server. All other fields are read-only.

If you don't provide a value for an attribute, it will be set to the default value.

" + }, "UpdateUserAttributes":{ "name":"UpdateUserAttributes", "http":{ @@ -1140,9 +1893,10 @@ {"shape":"InternalErrorException"}, {"shape":"InvalidSmsRoleAccessPolicyException"}, {"shape":"InvalidSmsRoleTrustRelationshipException"}, + {"shape":"UserPoolTaggingException"}, {"shape":"InvalidEmailRoleAccessPolicyException"} ], - "documentation":"

Updates the specified user pool with the specified attributes.

" + "documentation":"

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings with .

If you don't provide a value for an attribute, it will be set to the default value.

" }, "UpdateUserPoolClient":{ "name":"UpdateUserPoolClient", @@ -1155,11 +1909,56 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"TooManyRequestsException"}, {"shape":"NotAuthorizedException"}, + {"shape":"ScopeDoesNotExistException"}, + {"shape":"InvalidOAuthFlowException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings with .

If you don't provide a value for an attribute, it will be set to the default value.

" + }, + "UpdateUserPoolDomain":{ + "name":"UpdateUserPoolDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserPoolDomainRequest"}, + "output":{"shape":"UpdateUserPoolDomainResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, {"shape":"InternalErrorException"} ], - "documentation":"

Allows the developer to update the specified user pool client and password policy.

" + "documentation":"

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the domain for a user pool.

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you manage with AWS Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, and your custom domain uses the new certificate automatically.

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide this ARN to Amazon Cognito.

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the AWS Region.

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + }, + "VerifySoftwareToken":{ + "name":"VerifySoftwareToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"VerifySoftwareTokenRequest"}, + "output":{"shape":"VerifySoftwareTokenResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidUserPoolConfigurationException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"PasswordResetRequiredException"}, + {"shape":"UserNotFoundException"}, + {"shape":"UserNotConfirmedException"}, + {"shape":"InternalErrorException"}, + {"shape":"EnableSoftwareTokenMFAException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"SoftwareTokenMFANotFoundException"}, + {"shape":"CodeMismatchException"} + ], + "documentation":"

Use this API to register a user's entered TOTP code and mark the user's software token MFA status as \"verified\" if successful. The request takes an access token or a session string, but not both.

" }, "VerifyUserAttribute":{ "name":"VerifyUserAttribute", @@ -1187,6 +1986,78 @@ } }, "shapes":{ + "AWSAccountIdType":{"type":"string"}, + "AccountRecoverySettingType":{ + "type":"structure", + "members":{ + "RecoveryMechanisms":{ + "shape":"RecoveryMechanismsType", + "documentation":"

The list of RecoveryOptionTypes.

" + } + }, + "documentation":"

The data type for AccountRecoverySetting.

" + }, + "AccountTakeoverActionNotifyType":{"type":"boolean"}, + "AccountTakeoverActionType":{ + "type":"structure", + "required":[ + "Notify", + "EventAction" + ], + "members":{ + "Notify":{ + "shape":"AccountTakeoverActionNotifyType", + "documentation":"

Flag specifying whether to send a notification.

" + }, + "EventAction":{ + "shape":"AccountTakeoverEventActionType", + "documentation":"

The event action.

  • BLOCK Choosing this action will block the request.

  • MFA_IF_CONFIGURED Throw MFA challenge if user has configured it, else allow the request.

  • MFA_REQUIRED Throw MFA challenge if user has configured it, else block the request.

  • NO_ACTION Allow the user sign-in.

" + } + }, + "documentation":"

Account takeover action type.

" + }, + "AccountTakeoverActionsType":{ + "type":"structure", + "members":{ + "LowAction":{ + "shape":"AccountTakeoverActionType", + "documentation":"

Action to take for a low risk.

" + }, + "MediumAction":{ + "shape":"AccountTakeoverActionType", + "documentation":"

Action to take for a medium risk.

" + }, + "HighAction":{ + "shape":"AccountTakeoverActionType", + "documentation":"

Action to take for a high risk.

" + } + }, + "documentation":"

Account takeover actions type.

" + }, + "AccountTakeoverEventActionType":{ + "type":"string", + "enum":[ + "BLOCK", + "MFA_IF_CONFIGURED", + "MFA_REQUIRED", + "NO_ACTION" + ] + }, + "AccountTakeoverRiskConfigurationType":{ + "type":"structure", + "required":["Actions"], + "members":{ + "NotifyConfiguration":{ + "shape":"NotifyConfigurationType", + "documentation":"

The notify configuration used to construct email notifications.

" + }, + "Actions":{ + "shape":"AccountTakeoverActionsType", + "documentation":"

Account takeover risk configuration actions

" + } + }, + "documentation":"

Configuration for mitigation actions and notification for different levels of risk detected for a potential account takeover.

" + }, "AddCustomAttributesRequest":{ "type":"structure", "required":[ @@ -1211,6 +2082,28 @@ }, "documentation":"

Represents the response from the server for the request to add custom attributes.

" }, + "AdminAddUserToGroupRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "GroupName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The username for the user.

" + }, + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The group name.

" + } + } + }, "AdminConfirmSignUpRequest":{ "type":"structure", "required":[ @@ -1225,6 +2118,10 @@ "Username":{ "shape":"UsernameType", "documentation":"

The user name for which you want to confirm user registration.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the AWS Lambda function that is specified for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in AWS Lambda, you can process the ClientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to confirm user registration.

" @@ -1240,18 +2137,18 @@ "members":{ "AllowAdminCreateUserOnly":{ "shape":"BooleanType", - "documentation":"

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

" + "documentation":"

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

" }, "UnusedAccountValidityDays":{ "shape":"AdminCreateUserUnusedAccountValidityDaysType", - "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" + "documentation":"

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter. The default value for this parameter is 7.

If you set a value for TemporaryPasswordValidityDays in PasswordPolicy, that value will be used and UnusedAccountValidityDays will be deprecated for that user pool.

" }, "InviteMessageTemplate":{ "shape":"MessageTemplateType", - "documentation":"

The message template to be used for the welcome message to new users.

" + "documentation":"

The message template to be used for the welcome message to new users.

See also Customizing User Invitation Messages.

" } }, - "documentation":"

The type of configuration for creating a new user profile.

" + "documentation":"

The configuration for creating a new user profile.

" }, "AdminCreateUserRequest":{ "type":"structure", @@ -1270,7 +2167,7 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in CreateUserPool or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You cannot do this by calling other operations such as AdminUpdateUserAttributes.)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter.

" + "documentation":"

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

For custom attributes, you must prepend the custom: prefix to the attribute name.

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You can also do this by calling .)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if \"EMAIL\" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if \"SMS\" is specified in the DesiredDeliveryMediums parameter.

" }, "ValidationData":{ "shape":"AttributeListType", @@ -1278,19 +2175,23 @@ }, "TemporaryPassword":{ "shape":"PasswordType", - "documentation":"

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" + "documentation":"

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" }, "ForceAliasCreation":{ "shape":"ForceAliasCreation", - "documentation":"

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

" + "documentation":"

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

" }, "MessageAction":{ "shape":"MessageActionType", - "documentation":"

Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.

" + "documentation":"

Set to \"RESEND\" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to \"SUPPRESS\" to suppress sending the message. Only one value can be specified.

" }, "DesiredDeliveryMediums":{ "shape":"DeliveryMediumListType", - "documentation":"

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified.

" + "documentation":"

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". More than one value can be specified.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to create a user in the specified user pool.

" @@ -1300,14 +2201,14 @@ "members":{ "User":{ "shape":"UserType", - "documentation":"

The user returned in the request to create a new user.

" + "documentation":"

The newly created user.

" } }, "documentation":"

Represents the response from the server to the request to create the user.

" }, "AdminCreateUserUnusedAccountValidityDaysType":{ "type":"integer", - "max":90, + "max":365, "min":0 }, "AdminDeleteUserAttributesRequest":{ @@ -1328,7 +2229,7 @@ }, "UserAttributeNames":{ "shape":"AttributeNameListType", - "documentation":"

An array of strings representing the user attribute names you wish to delete.

" + "documentation":"

An array of strings representing the user attribute names you wish to delete.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" } }, "documentation":"

Represents the request to delete user attributes as an administrator.

" @@ -1357,6 +2258,28 @@ }, "documentation":"

Represents the request to delete a user as an administrator.

" }, + "AdminDisableProviderForUserRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "User" + ], + "members":{ + "UserPoolId":{ + "shape":"StringType", + "documentation":"

The user pool ID for the user pool.

" + }, + "User":{ + "shape":"ProviderUserIdentifierType", + "documentation":"

The user to be disabled.

" + } + } + }, + "AdminDisableProviderForUserResponse":{ + "type":"structure", + "members":{ + } + }, "AdminDisableUserRequest":{ "type":"structure", "required":[ @@ -1394,7 +2317,7 @@ }, "Username":{ "shape":"UsernameType", - "documentation":"

The user name of the user you wish to ebable.

" + "documentation":"

The user name of the user you wish to enable.

" } }, "documentation":"

Represents the request that enables the user as an administrator.

" @@ -1506,11 +2429,19 @@ }, "UserStatus":{ "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" + "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

  • RESET_REQUIRED - User is confirmed, but the user must request a code and reset his or her password before he or she can sign in.

  • FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change his or her password to a new value before doing anything else.

" }, "MFAOptions":{ "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" + "documentation":"

This response parameter is no longer supported. It provides information only about SMS MFA configurations. It doesn't provide information about TOTP software token MFA configurations. To look up information about either type of MFA configuration, use the AdminGetUserResponse$UserMFASettingList response instead.

" + }, + "PreferredMfaSetting":{ + "shape":"StringType", + "documentation":"

The user's preferred MFA setting.

" + }, + "UserMFASettingList":{ + "shape":"UserMFASettingListType", + "documentation":"

The MFA options that are enabled for the user. The possible values in this list are SMS_MFA and SOFTWARE_TOKEN_MFA.

" } }, "documentation":"

Represents the response from the server from the request to get the specified user as an administrator.

" @@ -1529,19 +2460,27 @@ }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client app ID.

" + "documentation":"

The app client ID.

" }, "AuthFlow":{ "shape":"AuthFlowType", - "documentation":"

The authentication flow.

" + "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution.

  • USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

  • ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can pass in the USERNAME and PASSWORD directly if the flow is enabled for calling the app client.

  • USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool.

  • ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow, Cognito receives the password in the request instead of using the SRP process to verify passwords.

" }, "AuthParameters":{ "shape":"AuthParametersType", - "documentation":"

The authentication parameters.

" + "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For ADMIN_NO_SRP_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), PASSWORD (required), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" }, "ClientMetadata":{ "shape":"ClientMetadataType", - "documentation":"

The client app metadata.

" + "documentation":"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth calls.

" + }, + "ContextData":{ + "shape":"ContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "documentation":"

Initiates the authorization request, as an administrator.

" @@ -1551,20 +2490,50 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

  • MFA_SETUP: If MFA is required, users who do not have at least one of the MFA methods set up are presented with an MFA_SETUP challenge. The user must set up at least one MFA type to continue to authenticate.

  • SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME and PASSWORD directly. An app client must be enabled to use this flow.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If AdminInitiateAuth or AdminRespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next AdminRespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. These are returned to you in the AdminInitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (AdminRespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

The value of the USER_ID_FOR_SRP attribute will be the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute cannot be an alias.

" }, - "AuthenticationResult":{"shape":"AuthenticationResultType"} + "AuthenticationResult":{ + "shape":"AuthenticationResultType", + "documentation":"

The result of the authentication response. This is only returned if the caller does not need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session are returned.

" + } }, "documentation":"

Initiates the authentication response, as an administrator.

" }, + "AdminLinkProviderForUserRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "DestinationUser", + "SourceUser" + ], + "members":{ + "UserPoolId":{ + "shape":"StringType", + "documentation":"

The user pool ID for the user pool.

" + }, + "DestinationUser":{ + "shape":"ProviderUserIdentifierType", + "documentation":"

The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Cognito User Pools user or a federated user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider attribute) signs in.

For a native username + password user, the ProviderAttributeValue for the DestinationUser should be the username in the user pool. For a federated user, it should be the provider-specific user_id.

The ProviderAttributeName of the DestinationUser is ignored.

The ProviderName should be set to Cognito for users in Cognito user pools.

" + }, + "SourceUser":{ + "shape":"ProviderUserIdentifierType", + "documentation":"

An external identity provider account for a user who does not currently exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user.

If the SourceUser is a federated social identity provider user (Facebook, Google, or Login with Amazon), you must set the ProviderAttributeName to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token.

For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you wish to link SAML users based on the subject of the SAML assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, Cognito will automatically parse the default unique identifier found in the subject from the SAML token.

" + } + } + }, + "AdminLinkProviderForUserResponse":{ + "type":"structure", + "members":{ + } + }, "AdminListDevicesRequest":{ "type":"structure", "required":[ @@ -1605,79 +2574,257 @@ }, "documentation":"

Lists the device's response, as an administrator.

" }, - "AdminResetUserPasswordRequest":{ + "AdminListGroupsForUserRequest":{ "type":"structure", "required":[ - "UserPoolId", - "Username" + "Username", + "UserPoolId" ], "members":{ + "Username":{ + "shape":"UsernameType", + "documentation":"

The username for the user.

" + }, "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to reset the user's password.

" + "documentation":"

The user pool ID for the user pool.

" }, - "Username":{ - "shape":"UsernameType", - "documentation":"

The user name of the user whose password you wish to reset.

" + "Limit":{ + "shape":"QueryLimitType", + "documentation":"

The limit of the request to list groups.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } - }, - "documentation":"

Represents the request to reset a user's password as an administrator.

" + } }, - "AdminResetUserPasswordResponse":{ + "AdminListGroupsForUserResponse":{ "type":"structure", "members":{ - }, - "documentation":"

Represents the response from the server to reset a user password as an administrator.

" + "Groups":{ + "shape":"GroupListType", + "documentation":"

The groups that the user belongs to.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } }, - "AdminRespondToAuthChallengeRequest":{ + "AdminListUserAuthEventsRequest":{ "type":"structure", "required":[ "UserPoolId", - "ClientId", - "ChallengeName" + "Username" ], "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The ID of the Amazon Cognito user pool.

" - }, - "ClientId":{ - "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The user pool ID.

" }, - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "Username":{ + "shape":"UsernameType", + "documentation":"

The user pool username or an alias.

" }, - "ChallengeResponses":{ - "shape":"ChallengeResponsesType", - "documentation":"

The challenge response.

" + "MaxResults":{ + "shape":"QueryLimitType", + "documentation":"

The maximum number of authentication events to return.

" }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session.

" + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

A pagination token.

" } - }, - "documentation":"

The request to respond to the authentication challenge, as an administrator.

" + } }, - "AdminRespondToAuthChallengeResponse":{ + "AdminListUserAuthEventsResponse":{ "type":"structure", "members":{ - "ChallengeName":{ - "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" - }, - "Session":{ - "shape":"SessionType", - "documentation":"

The session.

" + "AuthEvents":{ + "shape":"AuthEventsType", + "documentation":"

The response object. It includes the EventID, EventType, CreationDate, EventRisk, and EventResponse.

" }, - "ChallengeParameters":{ - "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" - }, - "AuthenticationResult":{"shape":"AuthenticationResultType"} - }, - "documentation":"

Responds to the authentication challenge, as an administrator.

" + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

A pagination token.

" + } + } + }, + "AdminRemoveUserFromGroupRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "GroupName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The username for the user.

" + }, + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The group name.

" + } + } + }, + "AdminResetUserPasswordRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool where you want to reset the user's password.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The user name of the user whose password you wish to reset.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminResetUserPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" + } + }, + "documentation":"

Represents the request to reset a user's password as an administrator.

" + }, + "AdminResetUserPasswordResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the response from the server to reset a user password as an administrator.

" + }, + "AdminRespondToAuthChallengeRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ClientId", + "ChallengeName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The ID of the Amazon Cognito user pool.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The app client ID.

" + }, + "ChallengeName":{ + "shape":"ChallengeNameType", + "documentation":"

The challenge name. For more information, see .

" + }, + "ChallengeResponses":{ + "shape":"ChallengeResponsesType", + "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

  • SMS_MFA: SMS_MFA_CODE, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured with client secret).

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME, SECRET_HASH (if app client is configured with client secret).

The value of the USERNAME attribute must be the user's actual username, not an alias (such as email address or phone number). To make this easier, the AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in your call to AdminInitiateAuth.

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge calls.

" + }, + "ContextData":{ + "shape":"ContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, post authentication, user migration, pre token generation, define auth challenge, create auth challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" + } + }, + "documentation":"

The request to respond to the authentication challenge, as an administrator.

" + }, + "AdminRespondToAuthChallengeResponse":{ + "type":"structure", + "members":{ + "ChallengeName":{ + "shape":"ChallengeNameType", + "documentation":"

The name of the challenge. For more information, see .

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" + }, + "ChallengeParameters":{ + "shape":"ChallengeParametersType", + "documentation":"

The challenge parameters. For more information, see .

" + }, + "AuthenticationResult":{ + "shape":"AuthenticationResultType", + "documentation":"

The result returned by the server in response to the authentication request.

" + } + }, + "documentation":"

Responds to the authentication challenge, as an administrator.

" + }, + "AdminSetUserMFAPreferenceRequest":{ + "type":"structure", + "required":[ + "Username", + "UserPoolId" + ], + "members":{ + "SMSMfaSettings":{ + "shape":"SMSMfaSettingsType", + "documentation":"

The SMS text message MFA settings.

" + }, + "SoftwareTokenMfaSettings":{ + "shape":"SoftwareTokenMfaSettingsType", + "documentation":"

The time-based one-time password software token MFA settings.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The user pool username or alias.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + } + }, + "AdminSetUserMFAPreferenceResponse":{ + "type":"structure", + "members":{ + } + }, + "AdminSetUserPasswordRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "Password" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool where you want to set the user's password.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The user name of the user whose password you wish to set.

" + }, + "Password":{ + "shape":"PasswordType", + "documentation":"

The password for the user.

" + }, + "Permanent":{ + "shape":"BooleanType", + "documentation":"

True if the password is permanent, False if it is temporary.

" + } + } + }, + "AdminSetUserPasswordResponse":{ + "type":"structure", + "members":{ + } }, "AdminSetUserSettingsRequest":{ "type":"structure", @@ -1689,18 +2836,18 @@ "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID for the user pool where you want to set the user's settings, such as MFA options.

" + "documentation":"

The ID of the user pool that contains the user that you are setting options for.

" }, "Username":{ "shape":"UsernameType", - "documentation":"

The user name of the user for whom you wish to set user settings.

" + "documentation":"

The user name of the user that you are setting options for.

" }, "MFAOptions":{ "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" + "documentation":"

You can use this parameter only to set an SMS configuration that uses SMS for delivery.

" } }, - "documentation":"

Represents the request to set user settings as an administrator.

" + "documentation":"

You can use this parameter to set an MFA configuration that uses the SMS delivery medium.

" }, "AdminSetUserSettingsResponse":{ "type":"structure", @@ -1708,6 +2855,38 @@ }, "documentation":"

Represents the response from the server to set user settings as an administrator.

" }, + "AdminUpdateAuthEventFeedbackRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "EventId", + "FeedbackValue" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The user pool username.

" + }, + "EventId":{ + "shape":"EventIdType", + "documentation":"

The authentication event ID.

" + }, + "FeedbackValue":{ + "shape":"FeedbackValueType", + "documentation":"

The authentication event feedback value.

" + } + } + }, + "AdminUpdateAuthEventFeedbackResponse":{ + "type":"structure", + "members":{ + } + }, "AdminUpdateDeviceStatusRequest":{ "type":"structure", "required":[ @@ -1718,7 +2897,7 @@ "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID>

" + "documentation":"

The user pool ID.

" }, "Username":{ "shape":"UsernameType", @@ -1759,7 +2938,11 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminUpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to update the user's attributes as an administrator.

" @@ -1794,6 +2977,14 @@ }, "documentation":"

The global sign-out response, as an administrator.

" }, + "AdvancedSecurityModeType":{ + "type":"string", + "enum":[ + "OFF", + "AUDIT", + "ENFORCED" + ] + }, "AliasAttributeType":{ "type":"string", "enum":[ @@ -1817,12 +3008,75 @@ "documentation":"

This exception is thrown when a user tries to confirm the account with an email or phone number that has already been supplied as an alias from a different account. This exception tells user that an account with this email or phone already exists.

", "exception":true }, + "AnalyticsConfigurationType":{ + "type":"structure", + "required":[ + "ApplicationId", + "RoleArn", + "ExternalId" + ], + "members":{ + "ApplicationId":{ + "shape":"HexStringType", + "documentation":"

The application ID for an Amazon Pinpoint application.

" + }, + "RoleArn":{ + "shape":"ArnType", + "documentation":"

The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.

" + }, + "ExternalId":{ + "shape":"StringType", + "documentation":"

The external ID.

" + }, + "UserDataShared":{ + "shape":"BooleanType", + "documentation":"

If UserDataShared is true, Amazon Cognito will include user data in the events it publishes to Amazon Pinpoint analytics.

" + } + }, + "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for a user pool.

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

" + }, + "AnalyticsMetadataType":{ + "type":"structure", + "members":{ + "AnalyticsEndpointId":{ + "shape":"StringType", + "documentation":"

The endpoint ID.

" + } + }, + "documentation":"

An Amazon Pinpoint analytics endpoint.

An endpoint uniquely identifies a mobile device, email address, or phone number that can receive messages from Amazon Pinpoint analytics.

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

" + }, "ArnType":{ "type":"string", "max":2048, "min":20, "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:([\\w+=/,.@-]*)?:[0-9]+:[\\w+=/,.@-]+(:[\\w+=/,.@-]+)?(:[\\w+=/,.@-]+)?" }, + "AssociateSoftwareTokenRequest":{ + "type":"structure", + "members":{ + "AccessToken":{ + "shape":"TokenModelType", + "documentation":"

The access token.

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" + } + } + }, + "AssociateSoftwareTokenResponse":{ + "type":"structure", + "members":{ + "SecretCode":{ + "shape":"SecretCodeType", + "documentation":"

A unique generated shared secret code that is used in the TOTP algorithm to generate a one time code.

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" + } + } + }, "AttributeDataType":{ "type":"string", "enum":[ @@ -1836,6 +3090,16 @@ "type":"list", "member":{"shape":"AttributeType"} }, + "AttributeMappingKeyType":{ + "type":"string", + "max":32, + "min":1 + }, + "AttributeMappingType":{ + "type":"map", + "key":{"shape":"AttributeMappingKeyType"}, + "value":{"shape":"StringType"} + }, "AttributeNameListType":{ "type":"list", "member":{"shape":"AttributeNameType"} @@ -1866,6 +3130,48 @@ "max":2048, "sensitive":true }, + "AuthEventType":{ + "type":"structure", + "members":{ + "EventId":{ + "shape":"StringType", + "documentation":"

The event ID.

" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

The event type.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The creation date

" + }, + "EventResponse":{ + "shape":"EventResponseType", + "documentation":"

The event response.

" + }, + "EventRisk":{ + "shape":"EventRiskType", + "documentation":"

The event risk.

" + }, + "ChallengeResponses":{ + "shape":"ChallengeResponseListType", + "documentation":"

The challenge responses.

" + }, + "EventContextData":{ + "shape":"EventContextDataType", + "documentation":"

The user context data captured at the time of an event request. It provides additional information about the client from which event the request is received.

" + }, + "EventFeedback":{ + "shape":"EventFeedbackType", + "documentation":"

A flag specifying the user feedback captured at the time of an event request is good or bad.

" + } + }, + "documentation":"

The authentication event type.

" + }, + "AuthEventsType":{ + "type":"list", + "member":{"shape":"AuthEventType"} + }, "AuthFlowType":{ "type":"string", "enum":[ @@ -1873,49 +3179,78 @@ "REFRESH_TOKEN_AUTH", "REFRESH_TOKEN", "CUSTOM_AUTH", - "ADMIN_NO_SRP_AUTH" + "ADMIN_NO_SRP_AUTH", + "USER_PASSWORD_AUTH", + "ADMIN_USER_PASSWORD_AUTH" ] }, "AuthParametersType":{ "type":"map", "key":{"shape":"StringType"}, - "value":{"shape":"StringType"} + "value":{"shape":"AuthParametersValueType"} + }, + "AuthParametersValueType":{ + "type":"string", + "sensitive":true }, "AuthenticationResultType":{ "type":"structure", "members":{ "AccessToken":{ "shape":"TokenModelType", - "documentation":"

The access token of the authentication result.

" + "documentation":"

The access token.

" }, "ExpiresIn":{ "shape":"IntegerType", - "documentation":"

The expiration period of the authentication result.

" + "documentation":"

The expiration period of the authentication result in seconds.

" }, "TokenType":{ "shape":"StringType", - "documentation":"

The token type of the authentication result.

" + "documentation":"

The token type.

" }, "RefreshToken":{ "shape":"TokenModelType", - "documentation":"

The refresh token of the authentication result.

" + "documentation":"

The refresh token.

" }, "IdToken":{ "shape":"TokenModelType", - "documentation":"

The ID token of the authentication result.

" + "documentation":"

The ID token.

" }, "NewDeviceMetadata":{ "shape":"NewDeviceMetadataType", "documentation":"

The new device metadata from an authentication result.

" } }, - "documentation":"

The result type of the authentication result.

" + "documentation":"

The authentication result.

" + }, + "BlockedIPRangeListType":{ + "type":"list", + "member":{"shape":"StringType"}, + "max":20 }, "BooleanType":{"type":"boolean"}, + "CSSType":{"type":"string"}, + "CSSVersionType":{"type":"string"}, + "CallbackURLsListType":{ + "type":"list", + "member":{"shape":"RedirectUrlType"}, + "max":100, + "min":0 + }, + "ChallengeName":{ + "type":"string", + "enum":[ + "Password", + "Mfa" + ] + }, "ChallengeNameType":{ "type":"string", "enum":[ "SMS_MFA", + "SOFTWARE_TOKEN_MFA", + "SELECT_MFA_TYPE", + "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", @@ -1929,6 +3264,31 @@ "key":{"shape":"StringType"}, "value":{"shape":"StringType"} }, + "ChallengeResponse":{ + "type":"string", + "enum":[ + "Success", + "Failure" + ] + }, + "ChallengeResponseListType":{ + "type":"list", + "member":{"shape":"ChallengeResponseType"} + }, + "ChallengeResponseType":{ + "type":"structure", + "members":{ + "ChallengeName":{ + "shape":"ChallengeName", + "documentation":"

The challenge name

" + }, + "ChallengeResponse":{ + "shape":"ChallengeResponse", + "documentation":"

The challenge response.

" + } + }, + "documentation":"

The challenge response type.

" + }, "ChallengeResponsesType":{ "type":"map", "key":{"shape":"StringType"}, @@ -1938,20 +3298,21 @@ "type":"structure", "required":[ "PreviousPassword", - "ProposedPassword" + "ProposedPassword", + "AccessToken" ], "members":{ "PreviousPassword":{ "shape":"PasswordType", - "documentation":"

The old password in the change password request.

" + "documentation":"

The old password.

" }, "ProposedPassword":{ "shape":"PasswordType", - "documentation":"

The new password in the change password request.

" + "documentation":"

The new password.

" }, "AccessToken":{ "shape":"TokenModelType", - "documentation":"

The access token in the change password request.

" + "documentation":"

The access token.

" } }, "documentation":"

Represents the request to change a user password.

" @@ -2013,10 +3374,10 @@ }, "AttributeName":{ "shape":"AttributeNameType", - "documentation":"

The name of the attribute in the code delivery details type.

" + "documentation":"

The attribute name.

" } }, - "documentation":"

The type of code delivery details being returned from the server.

" + "documentation":"

The code delivery details being returned from the server.

" }, "CodeDeliveryFailureException":{ "type":"structure", @@ -2046,18 +3407,51 @@ "min":1, "pattern":"[\\w]+" }, - "ConcurrentModificationException":{ + "CompromisedCredentialsActionsType":{ "type":"structure", + "required":["EventAction"], "members":{ - "message":{ - "shape":"MessageType", - "documentation":"

The message provided when the concurrent exception is thrown.

" + "EventAction":{ + "shape":"CompromisedCredentialsEventActionType", + "documentation":"

The event action.

" } }, - "documentation":"

This exception is thrown if two or more modifications are happening concurrently.

", - "exception":true + "documentation":"

The compromised credentials actions type

" }, - "ConfirmDeviceRequest":{ + "CompromisedCredentialsEventActionType":{ + "type":"string", + "enum":[ + "BLOCK", + "NO_ACTION" + ] + }, + "CompromisedCredentialsRiskConfigurationType":{ + "type":"structure", + "required":["Actions"], + "members":{ + "EventFilter":{ + "shape":"EventFiltersType", + "documentation":"

Perform the action for these events. The default is to perform all events if no event filter is specified.

" + }, + "Actions":{ + "shape":"CompromisedCredentialsActionsType", + "documentation":"

The compromised credentials risk configuration actions.

" + } + }, + "documentation":"

The compromised credentials risk configuration type.

" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"MessageType", + "documentation":"

The message provided when the concurrent exception is thrown.

" + } + }, + "documentation":"

This exception is thrown if two or more modifications are happening concurrently.

", + "exception":true + }, + "ConfirmDeviceRequest":{ "type":"structure", "required":[ "AccessToken", @@ -2104,7 +3498,7 @@ "members":{ "ClientId":{ "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" + "documentation":"

The app client ID of the app associated with the user pool.

" }, "SecretHash":{ "shape":"SecretHashType", @@ -2116,11 +3510,23 @@ }, "ConfirmationCode":{ "shape":"ConfirmationCodeType", - "documentation":"

The confirmation code sent by a user's request to retrieve a forgotten password.

" + "documentation":"

The confirmation code sent by a user's request to retrieve a forgotten password. For more information, see

" }, "Password":{ "shape":"PasswordType", - "documentation":"

The password sent by sent by a user's request to retrieve a forgotten password.

" + "documentation":"

The password sent by a user's request to retrieve a forgotten password.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmForgotPassword calls.

" + }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

The request representing the confirmation for a password reset.

" @@ -2141,7 +3547,7 @@ "members":{ "ClientId":{ "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" + "documentation":"

The ID of the app client associated with the user pool.

" }, "SecretHash":{ "shape":"SecretHashType", @@ -2157,7 +3563,19 @@ }, "ForceAliasCreation":{ "shape":"ForceAliasCreation", - "documentation":"

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

" + "documentation":"

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmSignUp calls.

" + }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to confirm registration of a user.

" @@ -2174,6 +3592,157 @@ "min":1, "pattern":"[\\S]+" }, + "ContextDataType":{ + "type":"structure", + "required":[ + "IpAddress", + "ServerName", + "ServerPath", + "HttpHeaders" + ], + "members":{ + "IpAddress":{ + "shape":"StringType", + "documentation":"

Source IP address of your user.

" + }, + "ServerName":{ + "shape":"StringType", + "documentation":"

Your server endpoint where this API is invoked.

" + }, + "ServerPath":{ + "shape":"StringType", + "documentation":"

Your server path where this API is invoked.

" + }, + "HttpHeaders":{ + "shape":"HttpHeaderList", + "documentation":"

HttpHeaders received on your server in same order.

" + }, + "EncodedData":{ + "shape":"StringType", + "documentation":"

Encoded data containing device fingerprinting details, collected using the Amazon Cognito context data collection library.

" + } + }, + "documentation":"

Contextual user data type used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "CreateGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "UserPoolId" + ], + "members":{ + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group. Must be unique.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

A string containing the description of the group.

" + }, + "RoleArn":{ + "shape":"ArnType", + "documentation":"

The role ARN for the group.

" + }, + "Precedence":{ + "shape":"PrecedenceType", + "documentation":"

A nonnegative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. Zero is the highest precedence value. Groups with lower Precedence values take precedence over groups with higher or null Precedence values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN will be used in the cognito:roles and cognito:preferred_role claims in the user's tokens.

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim is not set in users' tokens.

The default Precedence value is null.

" + } + } + }, + "CreateGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"GroupType", + "documentation":"

The group object for the group.

" + } + } + }, + "CreateIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName", + "ProviderType", + "ProviderDetails" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameTypeV1", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google, Facebook and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

    • authorize_scopes

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignout optional

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

A mapping of identity provider attributes to standard and custom user pool attributes.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + } + } + }, + "CreateIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The newly created identity provider object.

" + } + } + }, + "CreateResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier", + "Name" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Identifier":{ + "shape":"ResourceServerIdentifierType", + "documentation":"

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example, https://my-weather-api.example.com.

" + }, + "Name":{ + "shape":"ResourceServerNameType", + "documentation":"

A friendly name for the resource server.

" + }, + "Scopes":{ + "shape":"ResourceServerScopeListType", + "documentation":"

A list of scopes. Each scope is map, where the keys are name and description.

" + } + } + }, + "CreateResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{ + "shape":"ResourceServerType", + "documentation":"

The newly created resource server.

" + } + } + }, "CreateUserImportJobRequest":{ "type":"structure", "required":[ @@ -2228,7 +3797,7 @@ }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

Refreshes the token validity.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -2236,11 +3805,47 @@ }, "WriteAttributes":{ "shape":"ClientPermissionListType", - "documentation":"

The write attributes.

" + "documentation":"

The user pool attributes that the app client can write to.

If your app client allows users to sign in through an identity provider, this array must include all attributes that are mapped to identity provider attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If your app client lacks write access to a mapped attribute, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see Specifying Identity Provider Attribute Mappings for Your User Pool.

" }, "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", - "documentation":"

The explicit authentication flows.

" + "documentation":"

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client. The following are supported: COGNITO, Facebook, Google and LoginWithAmazon.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list of allowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

The allowed OAuth flows.

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination of client and client_secret.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to true if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

" + }, + "AnalyticsConfiguration":{ + "shape":"AnalyticsConfigurationType", + "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

" + }, + "PreventUserExistenceErrors":{ + "shape":"PreventUserExistenceErrorTypes", + "documentation":"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

This setting affects the behavior of following APIs:

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

" } }, "documentation":"

Represents the request to create a user pool client.

" @@ -2255,6 +3860,36 @@ }, "documentation":"

Represents the response from the server to create a user pool client.

" }, + "CreateUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "CustomDomainConfig":{ + "shape":"CustomDomainConfigType", + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

Provide this parameter only if you want to use a custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead.

For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

" + } + } + }, + "CreateUserPoolDomainResponse":{ + "type":"structure", + "members":{ + "CloudFrontDomain":{ + "shape":"DomainType", + "documentation":"

The Amazon CloudFront endpoint that you use as the target of the alias that you set up with your Domain Name Service (DNS) provider.

" + } + } + }, "CreateUserPoolRequest":{ "type":"structure", "required":["PoolName"], @@ -2269,7 +3904,7 @@ }, "LambdaConfig":{ "shape":"LambdaConfigType", - "documentation":"

The Lambda trigger configuration information for the new user pool.

" + "documentation":"

The Lambda trigger configuration information for the new user pool.

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you will need to make an extra call to add permission for these event sources to invoke your Lambda function.

For more information on using the Lambda API to add permission, see AddPermission .

For adding permission using the AWS CLI, see add-permission .

" }, "AutoVerifiedAttributes":{ "shape":"VerifiedAttributesListType", @@ -2279,6 +3914,10 @@ "shape":"AliasAttributesListType", "documentation":"

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

" }, + "UsernameAttributes":{ + "shape":"UsernameAttributesListType", + "documentation":"

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

" + }, "SmsVerificationMessage":{ "shape":"SmsVerificationMessageType", "documentation":"

A string representing the SMS verification message.

" @@ -2291,6 +3930,10 @@ "shape":"EmailVerificationSubjectType", "documentation":"

A string representing the email verification subject.

" }, + "VerificationMessageTemplate":{ + "shape":"VerificationMessageTemplateType", + "documentation":"

The template for the verification message that the user sees when the app requests permission to access the user's information.

" + }, "SmsAuthenticationMessage":{ "shape":"SmsVerificationMessageType", "documentation":"

A string representing the SMS authentication message.

" @@ -2311,9 +3954,29 @@ "shape":"SmsConfigurationType", "documentation":"

The SMS configuration.

" }, + "UserPoolTags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

" + }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" + }, + "Schema":{ + "shape":"SchemaAttributesListType", + "documentation":"

An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

" + }, + "UserPoolAddOns":{ + "shape":"UserPoolAddOnsType", + "documentation":"

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" + }, + "UsernameConfiguration":{ + "shape":"UsernameConfigurationType", + "documentation":"

You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to False, users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set. For more information, see .

" + }, + "AccountRecoverySetting":{ + "shape":"AccountRecoverySettingType", + "documentation":"

Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.

Starting February 1, 2020, the value of AccountRecoverySetting will default to verified_email first and verified_phone_number as the second option for newly created user pools if no value is provided.

" } }, "documentation":"

Represents the request to create a user pool.

" @@ -2340,14 +4003,86 @@ "max":25, "min":1 }, + "CustomDomainConfigType":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

" + } + }, + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" + }, "DateType":{"type":"timestamp"}, + "DefaultEmailOptionType":{ + "type":"string", + "enum":[ + "CONFIRM_WITH_LINK", + "CONFIRM_WITH_CODE" + ] + }, + "DeleteGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "UserPoolId" + ], + "members":{ + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + } + } + }, + "DeleteIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + } + } + }, + "DeleteResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool that hosts the resource server.

" + }, + "Identifier":{ + "shape":"ResourceServerIdentifierType", + "documentation":"

The identifier for the resource server.

" + } + } + }, "DeleteUserAttributesRequest":{ "type":"structure", - "required":["UserAttributeNames"], + "required":[ + "UserAttributeNames", + "AccessToken" + ], "members":{ "UserAttributeNames":{ "shape":"AttributeNameListType", - "documentation":"

An array of strings representing the user attribute names you wish to delete.

" + "documentation":"

An array of strings representing the user attribute names you wish to delete.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "AccessToken":{ "shape":"TokenModelType", @@ -2375,11 +4110,33 @@ }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" + "documentation":"

The app client ID of the app associated with the user pool.

" } }, "documentation":"

Represents the request to delete a user pool client.

" }, + "DeleteUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + } + }, + "DeleteUserPoolDomainResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -2393,6 +4150,7 @@ }, "DeleteUserRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -2412,6 +4170,84 @@ "EMAIL" ] }, + "DescribeIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + } + } + }, + "DescribeIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider that was deleted.

" + } + } + }, + "DescribeResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool that hosts the resource server.

" + }, + "Identifier":{ + "shape":"ResourceServerIdentifierType", + "documentation":"

The identifier for the resource server

" + } + } + }, + "DescribeResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{ + "shape":"ResourceServerType", + "documentation":"

The resource server.

" + } + } + }, + "DescribeRiskConfigurationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The app client ID.

" + } + } + }, + "DescribeRiskConfigurationResponse":{ + "type":"structure", + "required":["RiskConfiguration"], + "members":{ + "RiskConfiguration":{ + "shape":"RiskConfigurationType", + "documentation":"

The risk configuration.

" + } + } + }, "DescribeUserImportJobRequest":{ "type":"structure", "required":[ @@ -2453,7 +4289,7 @@ }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The ID of the client associated with the user pool.

" + "documentation":"

The app client ID of the app associated with the user pool.

" } }, "documentation":"

Represents the request to describe a user pool client.

" @@ -2468,6 +4304,25 @@ }, "documentation":"

Represents the response from the server from a request to describe the user pool client.

" }, + "DescribeUserPoolDomainRequest":{ + "type":"structure", + "required":["Domain"], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + } + } + }, + "DescribeUserPoolDomainResponse":{ + "type":"structure", + "members":{ + "DomainDescription":{ + "shape":"DomainDescriptionType", + "documentation":"

A domain description object containing information about the domain.

" + } + } + }, "DescribeUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -2489,6 +4344,10 @@ }, "documentation":"

Represents the response to describe the user pool.

" }, + "DescriptionType":{ + "type":"string", + "max":2048 + }, "DeviceConfigurationType":{ "type":"structure", "members":{ @@ -2501,7 +4360,7 @@ "documentation":"

If true, a device is only remembered on user prompt.

" } }, - "documentation":"

The type of configuration for the user pool's device tracking.

" + "documentation":"

The configuration for the user pool's device tracking.

" }, "DeviceKeyType":{ "type":"string", @@ -2565,36 +4424,253 @@ }, "documentation":"

The device type.

" }, - "EmailAddressType":{ - "type":"string", - "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+@[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" - }, - "EmailConfigurationType":{ + "DomainDescriptionType":{ "type":"structure", "members":{ - "SourceArn":{ - "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the email source.

" + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" }, - "ReplyToEmailAddress":{ - "shape":"EmailAddressType", - "documentation":"

The REPLY-TO email address.

" - } - }, + "AWSAccountId":{ + "shape":"AWSAccountIdType", + "documentation":"

The AWS account ID for the user pool owner.

" + }, + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain string.

" + }, + "S3Bucket":{ + "shape":"S3BucketType", + "documentation":"

The S3 bucket where the static files for this domain are stored.

" + }, + "CloudFrontDistribution":{ + "shape":"StringType", + "documentation":"

The ARN of the CloudFront distribution.

" + }, + "Version":{ + "shape":"DomainVersionType", + "documentation":"

The app version.

" + }, + "Status":{ + "shape":"DomainStatusType", + "documentation":"

The domain status.

" + }, + "CustomDomainConfig":{ + "shape":"CustomDomainConfigType", + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" + } + }, + "documentation":"

A container for information about a domain.

" + }, + "DomainStatusType":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "UPDATING", + "ACTIVE", + "FAILED" + ] + }, + "DomainType":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,61}[a-z0-9])?$" + }, + "DomainVersionType":{ + "type":"string", + "max":20, + "min":1 + }, + "DuplicateProviderException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the provider is already supported by the user pool.

", + "exception":true + }, + "EmailAddressType":{ + "type":"string", + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+@[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "EmailConfigurationType":{ + "type":"structure", + "members":{ + "SourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email address is used in one of the following ways, depending on the value that you specify for the EmailSendingAccount parameter:

  • If you specify COGNITO_DEFAULT, Amazon Cognito uses this address as the custom FROM address when it emails your users by using its built-in email account.

  • If you specify DEVELOPER, Amazon Cognito emails your users with this address by calling Amazon SES on your behalf.

" + }, + "ReplyToEmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

The destination to which the receiver of the email should reply to.

" + }, + "EmailSendingAccount":{ + "shape":"EmailSendingAccountType", + "documentation":"

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon SES email configuration. Specify one of the following values:

COGNITO_DEFAULT

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is below the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration.

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito Developer Guide.

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

DEVELOPER

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account.

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a service-linked role, which is a type of IAM role, in your AWS account. This role contains the permissions that allow Amazon Cognito to access Amazon SES and send email messages with your address. For more information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the Amazon Cognito Developer Guide.

" + }, + "From":{ + "shape":"StringType", + "documentation":"

Identifies either the sender’s email address or the sender’s name with their email address. For example, testuser@example.com or Test User <testuser@example.com>. This address will appear before the body of the email.

" + }, + "ConfigurationSet":{ + "shape":"SESConfigurationSet", + "documentation":"

The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:

  • Event publishing – Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.

  • IP pool management – When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.

" + } + }, "documentation":"

The email configuration type.

" }, + "EmailNotificationBodyType":{ + "type":"string", + "max":20000, + "min":6, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]+" + }, + "EmailNotificationSubjectType":{ + "type":"string", + "max":140, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" + }, + "EmailSendingAccountType":{ + "type":"string", + "enum":[ + "COGNITO_DEFAULT", + "DEVELOPER" + ] + }, + "EmailVerificationMessageByLinkType":{ + "type":"string", + "max":20000, + "min":6, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{##[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*##\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" + }, "EmailVerificationMessageType":{ "type":"string", - "max":2048, + "max":20000, "min":6, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*\\{####\\}[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s*]*" }, + "EmailVerificationSubjectByLinkType":{ + "type":"string", + "max":140, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" + }, "EmailVerificationSubjectType":{ "type":"string", "max":140, "min":1, "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\s]+" }, + "EnableSoftwareTokenMFAException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when there is a code mismatch and the service fails to configure the software token TOTP multi-factor authentication (MFA).

", + "exception":true + }, + "EventContextDataType":{ + "type":"structure", + "members":{ + "IpAddress":{ + "shape":"StringType", + "documentation":"

The user's IP address.

" + }, + "DeviceName":{ + "shape":"StringType", + "documentation":"

The user's device name.

" + }, + "Timezone":{ + "shape":"StringType", + "documentation":"

The user's time zone.

" + }, + "City":{ + "shape":"StringType", + "documentation":"

The user's city.

" + }, + "Country":{ + "shape":"StringType", + "documentation":"

The user's country.

" + } + }, + "documentation":"

Specifies the user context data captured at the time of an event request.

" + }, + "EventFeedbackType":{ + "type":"structure", + "required":[ + "FeedbackValue", + "Provider" + ], + "members":{ + "FeedbackValue":{ + "shape":"FeedbackValueType", + "documentation":"

The event feedback value.

" + }, + "Provider":{ + "shape":"StringType", + "documentation":"

The provider.

" + }, + "FeedbackDate":{ + "shape":"DateType", + "documentation":"

The event feedback date.

" + } + }, + "documentation":"

Specifies the event feedback type.

" + }, + "EventFilterType":{ + "type":"string", + "enum":[ + "SIGN_IN", + "PASSWORD_CHANGE", + "SIGN_UP" + ] + }, + "EventFiltersType":{ + "type":"list", + "member":{"shape":"EventFilterType"} + }, + "EventIdType":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[\\w+-]+" + }, + "EventResponseType":{ + "type":"string", + "enum":[ + "Success", + "Failure" + ] + }, + "EventRiskType":{ + "type":"structure", + "members":{ + "RiskDecision":{ + "shape":"RiskDecisionType", + "documentation":"

The risk decision.

" + }, + "RiskLevel":{ + "shape":"RiskLevelType", + "documentation":"

The risk level.

" + }, + "CompromisedCredentialsDetected":{ + "shape":"WrappedBooleanType", + "documentation":"

Indicates whether compromised credentials were detected during an authentication event.

" + } + }, + "documentation":"

The event risk type.

" + }, + "EventType":{ + "type":"string", + "enum":[ + "SignIn", + "SignUp", + "ForgotPassword" + ] + }, "ExpiredCodeException":{ "type":"structure", "members":{ @@ -2614,7 +4690,20 @@ "type":"string", "enum":[ "ADMIN_NO_SRP_AUTH", - "CUSTOM_AUTH_FLOW_ONLY" + "CUSTOM_AUTH_FLOW_ONLY", + "USER_PASSWORD_AUTH", + "ALLOW_ADMIN_USER_PASSWORD_AUTH", + "ALLOW_CUSTOM_AUTH", + "ALLOW_USER_PASSWORD_AUTH", + "ALLOW_USER_SRP_AUTH", + "ALLOW_REFRESH_TOKEN_AUTH" + ] + }, + "FeedbackValueType":{ + "type":"string", + "enum":[ + "Valid", + "Invalid" ] }, "ForceAliasCreation":{"type":"boolean"}, @@ -2648,9 +4737,21 @@ "shape":"SecretHashType", "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, "Username":{ "shape":"UsernameType", - "documentation":"

The user name of the user for whom you want to enter a code to retrieve a forgotten password.

" + "documentation":"

The user name of the user for whom you want to enter a code to reset a forgotten password.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ForgotPassword calls.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ForgotPassword API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ForgotPassword request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to reset a user's password.

" @@ -2658,7 +4759,10 @@ "ForgotPasswordResponse":{ "type":"structure", "members":{ - "CodeDeliveryDetails":{"shape":"CodeDeliveryDetailsType"} + "CodeDeliveryDetails":{ + "shape":"CodeDeliveryDetailsType", + "documentation":"

The code delivery details returned by the server in response to the request to reset a password.

" + } }, "documentation":"

Respresents the response from the server regarding the request to reset a password.

" }, @@ -2714,9 +4818,110 @@ }, "documentation":"

Gets the device response.

" }, + "GetGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "UserPoolId" + ], + "members":{ + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + } + } + }, + "GetGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"GroupType", + "documentation":"

The group object for the group.

" + } + } + }, + "GetIdentityProviderByIdentifierRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "IdpIdentifier" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "IdpIdentifier":{ + "shape":"IdpIdentifierType", + "documentation":"

The identity provider ID.

" + } + } + }, + "GetIdentityProviderByIdentifierResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider object.

" + } + } + }, + "GetSigningCertificateRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + }, + "documentation":"

Request to get a signing certificate from Cognito.

" + }, + "GetSigningCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"StringType", + "documentation":"

The signing certificate.

" + } + }, + "documentation":"

Response from Cognito for a signing certificate request.

" + }, + "GetUICustomizationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The client ID for the client app.

" + } + } + }, + "GetUICustomizationResponse":{ + "type":"structure", + "required":["UICustomization"], + "members":{ + "UICustomization":{ + "shape":"UICustomizationType", + "documentation":"

The UI customization information.

" + } + } + }, "GetUserAttributeVerificationCodeRequest":{ "type":"structure", - "required":["AttributeName"], + "required":[ + "AccessToken", + "AttributeName" + ], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -2725,6 +4930,10 @@ "AttributeName":{ "shape":"AttributeNameType", "documentation":"

The attribute name returned by the server response to get the user attribute verification code.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to get user attribute verification.

" @@ -2734,13 +4943,41 @@ "members":{ "CodeDeliveryDetails":{ "shape":"CodeDeliveryDetailsType", - "documentation":"

The code delivery details returned by the server response to get the user attribute verification code.

" + "documentation":"

The code delivery details returned by the server in response to the request to get the user attribute verification code.

" } }, "documentation":"

The verification code response returned by the server response to get the user attribute verification code.

" }, + "GetUserPoolMfaConfigRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + } + } + }, + "GetUserPoolMfaConfigResponse":{ + "type":"structure", + "members":{ + "SmsMfaConfiguration":{ + "shape":"SmsMfaConfigType", + "documentation":"

The SMS text message multi-factor (MFA) configuration.

" + }, + "SoftwareTokenMfaConfiguration":{ + "shape":"SoftwareTokenMfaConfigType", + "documentation":"

The software token multi-factor (MFA) configuration.

" + }, + "MfaConfiguration":{ + "shape":"UserPoolMfaType", + "documentation":"

The multi-factor (MFA) configuration. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

" + } + } + }, "GetUserRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", @@ -2762,31 +4999,177 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "MFAOptions":{ "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" + "documentation":"

This response parameter is no longer supported. It provides information only about SMS MFA configurations. It doesn't provide information about TOTP software token MFA configurations. To look up information about either type of MFA configuration, use the use the GetUserResponse$UserMFASettingList response instead.

" + }, + "PreferredMfaSetting":{ + "shape":"StringType", + "documentation":"

The user's preferred MFA setting.

" + }, + "UserMFASettingList":{ + "shape":"UserMFASettingListType", + "documentation":"

The MFA options that are enabled for the user. The possible values in this list are SMS_MFA and SOFTWARE_TOKEN_MFA.

" } }, "documentation":"

Represents the response from the server from the request to get information about the user.

" }, "GlobalSignOutRequest":{ "type":"structure", + "required":["AccessToken"], "members":{ "AccessToken":{ "shape":"TokenModelType", "documentation":"

The access token.

" } }, - "documentation":"

Represents the request to sign out all devices.

" + "documentation":"

Represents the request to sign out all devices.

" + }, + "GlobalSignOutResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response to the request to sign out all devices.

" + }, + "GroupExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when Amazon Cognito encounters a group that already exists in the user pool.

", + "exception":true + }, + "GroupListType":{ + "type":"list", + "member":{"shape":"GroupType"} + }, + "GroupNameType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "GroupType":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

A string containing the description of the group.

" + }, + "RoleArn":{ + "shape":"ArnType", + "documentation":"

The role ARN for the group.

" + }, + "Precedence":{ + "shape":"PrecedenceType", + "documentation":"

A nonnegative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. If a user belongs to two or more groups, it is the group with the highest precedence whose role ARN will be used in the cognito:roles and cognito:preferred_role claims in the user's tokens. Groups with higher Precedence values take precedence over groups with lower Precedence values or with null Precedence values.

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim is not set in users' tokens.

The default Precedence value is null.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the group was last modified.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date the group was created.

" + } + }, + "documentation":"

The group type.

" + }, + "HexStringType":{ + "type":"string", + "pattern":"^[0-9a-fA-F]+$" + }, + "HttpHeader":{ + "type":"structure", + "members":{ + "headerName":{ + "shape":"StringType", + "documentation":"

The header name

" + }, + "headerValue":{ + "shape":"StringType", + "documentation":"

The header value.

" + } + }, + "documentation":"

The HTTP header.

" }, - "GlobalSignOutResponse":{ + "HttpHeaderList":{ + "type":"list", + "member":{"shape":"HttpHeader"} + }, + "IdentityProviderType":{ "type":"structure", "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details. The following list describes the provider detail keys for each identity provider type.

  • For Google, Facebook and Login with Amazon:

    • client_id

    • client_secret

    • authorize_scopes

  • For Sign in with Apple:

    • client_id

    • team_id

    • key_id

    • private_key

    • authorize_scopes

  • For OIDC providers:

    • client_id

    • client_secret

    • attributes_request_method

    • oidc_issuer

    • authorize_scopes

    • authorize_url if not available from discovery URL specified by oidc_issuer key

    • token_url if not available from discovery URL specified by oidc_issuer key

    • attributes_url if not available from discovery URL specified by oidc_issuer key

    • jwks_uri if not available from discovery URL specified by oidc_issuer key

    • authorize_scopes

  • For SAML providers:

    • MetadataFile OR MetadataURL

    • IDPSignOut optional

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

A mapping of identity provider attributes to standard and custom user pool attributes.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the identity provider was last modified.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date the identity provider was created.

" + } }, - "documentation":"

The response to the request to sign out all devices.

" + "documentation":"

A container for information about an identity provider.

" + }, + "IdentityProviderTypeType":{ + "type":"string", + "enum":[ + "SAML", + "Facebook", + "Google", + "LoginWithAmazon", + "SignInWithApple", + "OIDC" + ] + }, + "IdpIdentifierType":{ + "type":"string", + "max":40, + "min":1, + "pattern":"[\\w\\s+=.@-]+" + }, + "IdpIdentifiersListType":{ + "type":"list", + "member":{"shape":"IdpIdentifierType"}, + "max":50, + "min":0 }, + "ImageFileType":{"type":"blob"}, + "ImageUrlType":{"type":"string"}, "InitiateAuthRequest":{ "type":"structure", "required":[ @@ -2796,19 +5179,27 @@ "members":{ "AuthFlow":{ "shape":"AuthFlowType", - "documentation":"

The authentication flow.

" + "documentation":"

The authentication flow for this call to execute. The API action will depend on this value. For example:

  • REFRESH_TOKEN_AUTH will take in a valid refresh token and return new tokens.

  • USER_SRP_AUTH will take in USERNAME and SRP_A and return the SRP variables to be used for next challenge execution.

  • USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next challenge or tokens.

Valid values include:

  • USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) protocol.

  • REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access token and ID token by supplying a valid refresh token.

  • CUSTOM_AUTH: Custom authentication flow.

  • USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is set, this flow will invoke the user migration Lambda if the USERNAME is not found in the user pool.

  • ADMIN_USER_PASSWORD_AUTH: Admin-based user password authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this flow, Cognito receives the password in the request instead of using the SRP process to verify passwords.

ADMIN_NO_SRP_AUTH is not a valid value.

" }, "AuthParameters":{ "shape":"AuthParametersType", - "documentation":"

The authentication parameters.

" + "documentation":"

The authentication parameters. These are inputs corresponding to the AuthFlow that you are invoking. The required values depend on the value of AuthFlow:

  • For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For REFRESH_TOKEN_AUTH/REFRESH_TOKEN: REFRESH_TOKEN (required), SECRET_HASH (required if the app client is configured with a client secret), DEVICE_KEY

  • For CUSTOM_AUTH: USERNAME (required), SECRET_HASH (if app client is configured with client secret), DEVICE_KEY

" }, "ClientMetadata":{ "shape":"ClientMetadataType", - "documentation":"

The client app's metadata.

" + "documentation":"

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the AWS Lambda functions that are specified for various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

  • Pre signup

  • Pre authentication

  • User migration

When Amazon Cognito invokes the functions for these triggers, it passes a JSON payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your InitiateAuth request. In your function code in AWS Lambda, you can process the validationData value to enhance your workflow for your specific needs.

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it does not provide the ClientMetadata value as input:

  • Post authentication

  • Custom message

  • Pre token generation

  • Create auth challenge

  • Define auth challenge

  • Verify auth challenge

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" }, "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The app client ID.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth calls.

" + }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "documentation":"

Initiates the authentication request.

" @@ -2818,17 +5209,20 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The name of the challenge which you are responding to with this call. This is returned to you in the AdminInitiateAuth response if you need to pass another challenge.

Valid values include the following. Note that all of these challenges require USERNAME and SECRET_HASH (if applicable) in the parameters.

  • SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered via SMS.

  • PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP calculations.

  • CUSTOM_CHALLENGE: This is returned if your custom authentication flow determines that the user should pass another challenge before tokens are issued.

  • DEVICE_SRP_AUTH: If device tracking was enabled on your user pool and the previous challenges were passed, this challenge is returned so that Amazon Cognito can start tracking this device.

  • DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only.

  • NEW_PASSWORD_REQUIRED: For users which are required to change their passwords after successful first login. This challenge should be passed with NEW_PASSWORD and any other required attributes.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. These are returned to you in the InitiateAuth response if you need to pass another challenge. The responses in this parameter should be used to compute inputs to the next call (RespondToAuthChallenge).

All challenges require USERNAME and SECRET_HASH (if applicable).

" }, - "AuthenticationResult":{"shape":"AuthenticationResultType"} + "AuthenticationResult":{ + "shape":"AuthenticationResultType", + "documentation":"

The result of the authentication response. This is only returned if the caller does not need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session are returned.

" + } }, "documentation":"

Initiates the authentication response.

" }, @@ -2867,6 +5261,14 @@ "documentation":"

This exception is thrown when the Amazon Cognito service encounters an invalid AWS Lambda response.

", "exception":true }, + "InvalidOAuthFlowException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the specified OAuth flow is invalid.

", + "exception":true + }, "InvalidParameterException":{ "type":"structure", "members":{ @@ -2956,9 +5358,17 @@ "VerifyAuthChallengeResponse":{ "shape":"ArnType", "documentation":"

Verifies the authentication challenge response.

" + }, + "PreTokenGeneration":{ + "shape":"ArnType", + "documentation":"

A Lambda trigger that is invoked before token generation.

" + }, + "UserMigration":{ + "shape":"ArnType", + "documentation":"

The user migration Lambda config type.

" } }, - "documentation":"

Specifies the type of configuration for AWS Lambda triggers.

" + "documentation":"

Specifies the configuration for AWS Lambda triggers.

" }, "LimitExceededException":{ "type":"structure", @@ -3004,10 +5414,134 @@ }, "documentation":"

Represents the response to list devices.

" }, + "ListGroupsRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Limit":{ + "shape":"QueryLimitType", + "documentation":"

The limit of the request to list groups.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListGroupsResponse":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupListType", + "documentation":"

The group objects for the groups.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListIdentityProvidersRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "MaxResults":{ + "shape":"ListProvidersLimitType", + "documentation":"

The maximum number of identity providers to return.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, + "ListIdentityProvidersResponse":{ + "type":"structure", + "required":["Providers"], + "members":{ + "Providers":{ + "shape":"ProvidersListType", + "documentation":"

A list of identity provider objects.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, "ListOfStringTypes":{ "type":"list", "member":{"shape":"StringType"} }, + "ListProvidersLimitType":{ + "type":"integer", + "max":60, + "min":0 + }, + "ListResourceServersLimitType":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListResourceServersRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "MaxResults":{ + "shape":"ListResourceServersLimitType", + "documentation":"

The maximum number of resource servers to return.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, + "ListResourceServersResponse":{ + "type":"structure", + "required":["ResourceServers"], + "members":{ + "ResourceServers":{ + "shape":"ResourceServersListType", + "documentation":"

The resource servers.

" + }, + "NextToken":{ + "shape":"PaginationKeyType", + "documentation":"

A pagination token.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tags that are assigned to the user pool.

" + } + } + }, "ListUserImportJobsRequest":{ "type":"structure", "required":[ @@ -3025,7 +5559,7 @@ }, "PaginationToken":{ "shape":"PaginationKeyType", - "documentation":"

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

" + "documentation":"

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

" } }, "documentation":"

Represents the request to list the user import jobs.

" @@ -3106,21 +5640,59 @@ }, "documentation":"

Represents the response to list user pools.

" }, + "ListUsersInGroupRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "GroupName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + }, + "Limit":{ + "shape":"QueryLimitType", + "documentation":"

The limit of the request to list users.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListUsersInGroupResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UsersListType", + "documentation":"

The users returned in the request to list users.

" + }, + "NextToken":{ + "shape":"PaginationKey", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, "ListUsersRequest":{ "type":"structure", "required":["UserPoolId"], "members":{ "UserPoolId":{ "shape":"UserPoolIdType", - "documentation":"

The user pool ID for which you want to list users.

" + "documentation":"

The user pool ID for the user pool on which the search should be performed.

" }, "AttributesToGet":{ "shape":"SearchedAttributeNamesListType", - "documentation":"

The attributes to get from the request to list users.

" + "documentation":"

An array of strings, where each string is the name of a user attribute to be returned for each user in the search results. If the array is null, all attributes are returned.

" }, "Limit":{ "shape":"QueryLimitType", - "documentation":"

The limit of the request to list users.

" + "documentation":"

Maximum number of users to be returned.

" }, "PaginationToken":{ "shape":"SearchPaginationTokenType", @@ -3128,7 +5700,7 @@ }, "Filter":{ "shape":"UserFilterType", - "documentation":"

The filter for the list users request.

" + "documentation":"

A filter string of the form \"AttributeName Filter-Type \"AttributeValue\"\". Quotation marks within the filter string must be escaped using the backslash (\\) character. For example, \"family_name = \\\"Reddy\\\"\".

  • AttributeName: The name of the attribute to search for. You can only search for one attribute at a time.

  • Filter-Type: For an exact match, use =, for example, \"given_name = \\\"Jon\\\"\". For a prefix (\"starts with\") match, use ^=, for example, \"given_name ^= \\\"Jon\\\"\".

  • AttributeValue: The attribute value that must be matched for each user.

If the filter string is empty, ListUsers returns all users in the user pool.

You can only search for the following standard attributes:

  • username (case-sensitive)

  • email

  • phone_number

  • name

  • given_name

  • family_name

  • preferred_username

  • cognito:user_status (called Status in the Console) (case-insensitive)

  • status (called Enabled in the Console) (case-sensitive)

  • sub

Custom attributes are not searchable.

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito Developer Guide.

" } }, "documentation":"

Represents the request to list users.

" @@ -3147,6 +5719,12 @@ }, "documentation":"

The response from the request to list users.

" }, + "LogoutURLsListType":{ + "type":"list", + "member":{"shape":"RedirectUrlType"}, + "max":100, + "min":0 + }, "LongType":{"type":"long"}, "MFAMethodNotFoundException":{ "type":"structure", @@ -3168,14 +5746,14 @@ "members":{ "DeliveryMedium":{ "shape":"DeliveryMediumType", - "documentation":"

The delivery medium (email message or SMS message) to send the MFA code.

" + "documentation":"

The delivery medium to send the MFA code. You can use this parameter to set only the SMS delivery medium value.

" }, "AttributeName":{ "shape":"AttributeNameType", - "documentation":"

The attribute name of the MFA option type.

" + "documentation":"

The attribute name of the MFA option type. The only valid value is phone_number.

" } }, - "documentation":"

Specifies the different settings for multi-factor authentication (MFA).

" + "documentation":"

This data type is no longer supported. You can use it only for SMS MFA configurations. You can't use it for TOTP software token MFA configurations.

To set either type of MFA configuration, use the AdminSetUserMFAPreference or SetUserMFAPreference actions.

To look up information about either type of MFA configuration, use the AdminGetUserResponse$UserMFASettingList or GetUserResponse$UserMFASettingList responses.

" }, "MessageActionType":{ "type":"string", @@ -3225,9 +5803,59 @@ "documentation":"

The message returned when the Amazon Cognito service returns a not authorized exception.

" } }, - "documentation":"

This exception gets thrown when a user is not authorized.

", + "documentation":"

This exception is thrown when a user is not authorized.

", "exception":true }, + "NotifyConfigurationType":{ + "type":"structure", + "required":["SourceArn"], + "members":{ + "From":{ + "shape":"StringType", + "documentation":"

The email address that is sending the email. It must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

" + }, + "ReplyTo":{ + "shape":"StringType", + "documentation":"

The destination to which the receiver of an email should reply to.

" + }, + "SourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. It permits Amazon Cognito to send for the email address specified in the From parameter.

" + }, + "BlockEmail":{ + "shape":"NotifyEmailType", + "documentation":"

Email template used when a detected risk event is blocked.

" + }, + "NoActionEmail":{ + "shape":"NotifyEmailType", + "documentation":"

The email template used when a detected risk event is allowed.

" + }, + "MfaEmail":{ + "shape":"NotifyEmailType", + "documentation":"

The MFA email template used when MFA is challenged as part of a detected risk.

" + } + }, + "documentation":"

The notify configuration type.

" + }, + "NotifyEmailType":{ + "type":"structure", + "required":["Subject"], + "members":{ + "Subject":{ + "shape":"EmailNotificationSubjectType", + "documentation":"

The subject.

" + }, + "HtmlBody":{ + "shape":"EmailNotificationBodyType", + "documentation":"

The HTML body.

" + }, + "TextBody":{ + "shape":"EmailNotificationBodyType", + "documentation":"

The text body.

" + } + }, + "documentation":"

The notify email type.

" + }, "NumberAttributeConstraintsType":{ "type":"structure", "members":{ @@ -3242,6 +5870,20 @@ }, "documentation":"

The minimum and maximum value of an attribute that is of the number data type.

" }, + "OAuthFlowType":{ + "type":"string", + "enum":[ + "code", + "implicit", + "client_credentials" + ] + }, + "OAuthFlowsType":{ + "type":"list", + "member":{"shape":"OAuthFlowType"}, + "max":3, + "min":0 + }, "PaginationKey":{ "type":"string", "min":1, @@ -3279,6 +5921,10 @@ "RequireSymbols":{ "shape":"BooleanType", "documentation":"

In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

" + }, + "TemporaryPasswordValidityDays":{ + "shape":"TemporaryPasswordValidityDaysType", + "documentation":"

In the password policy you have set, refers to the number of days a temporary password is valid. If the user does not sign-in during this time, their password will need to be reset by an administrator.

When you set TemporaryPasswordValidityDays for a user pool, you will no longer be able to set the deprecated UnusedAccountValidityDays value for that user pool.

" } }, "documentation":"

The password policy type.

" @@ -3311,6 +5957,10 @@ "max":2048, "min":0 }, + "PrecedenceType":{ + "type":"integer", + "min":0 + }, "PreconditionNotMetException":{ "type":"structure", "members":{ @@ -3319,18 +5969,131 @@ "documentation":"

The message returned when a precondition is not met.

" } }, - "documentation":"

This exception is thrown when a precondition is not met.

", - "exception":true - }, - "QueryLimit":{ - "type":"integer", - "max":60, - "min":1 + "documentation":"

This exception is thrown when a precondition is not met.

", + "exception":true + }, + "PreventUserExistenceErrorTypes":{ + "type":"string", + "enum":[ + "LEGACY", + "ENABLED" + ] + }, + "PriorityType":{ + "type":"integer", + "max":2, + "min":1 + }, + "ProviderDescription":{ + "type":"structure", + "members":{ + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderType":{ + "shape":"IdentityProviderTypeType", + "documentation":"

The identity provider type.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the provider was last modified.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date the provider was added to the user pool.

" + } + }, + "documentation":"

A container for identity provider details.

" + }, + "ProviderDetailsType":{ + "type":"map", + "key":{"shape":"StringType"}, + "value":{"shape":"StringType"} + }, + "ProviderNameType":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "ProviderNameTypeV1":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+" + }, + "ProviderUserIdentifierType":{ + "type":"structure", + "members":{ + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The name of the provider, for example, Facebook, Google, or Login with Amazon.

" + }, + "ProviderAttributeName":{ + "shape":"StringType", + "documentation":"

The name of the provider attribute to link to, for example, NameID.

" + }, + "ProviderAttributeValue":{ + "shape":"StringType", + "documentation":"

The value of the provider attribute to link to, for example, xxxxx_account.

" + } + }, + "documentation":"

A container for information about an identity provider for a user pool.

" + }, + "ProvidersListType":{ + "type":"list", + "member":{"shape":"ProviderDescription"}, + "max":50, + "min":0 + }, + "QueryLimit":{ + "type":"integer", + "max":60, + "min":1 + }, + "QueryLimitType":{ + "type":"integer", + "max":60, + "min":0 + }, + "RecoveryMechanismsType":{ + "type":"list", + "member":{"shape":"RecoveryOptionType"}, + "max":2, + "min":1 + }, + "RecoveryOptionNameType":{ + "type":"string", + "enum":[ + "verified_email", + "verified_phone_number", + "admin_only" + ] + }, + "RecoveryOptionType":{ + "type":"structure", + "required":[ + "Priority", + "Name" + ], + "members":{ + "Priority":{ + "shape":"PriorityType", + "documentation":"

A positive integer specifying priority of a method with 1 being the highest priority.

" + }, + "Name":{ + "shape":"RecoveryOptionNameType", + "documentation":"

Specifies the recovery method for a user.

" + } + }, + "documentation":"

A map containing a priority as a key, and recovery method name as a value.

" }, - "QueryLimitType":{ - "type":"integer", - "max":60, - "min":0 + "RedirectUrlType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" }, "RefreshTokenValidityType":{ "type":"integer", @@ -3352,9 +6115,21 @@ "shape":"SecretHashType", "documentation":"

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, "Username":{ "shape":"UsernameType", "documentation":"

The user name of the user to whom you wish to resend a confirmation code.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for ResendConfirmationCode calls.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to resend the confirmation code.

" @@ -3362,9 +6137,12 @@ "ResendConfirmationCodeResponse":{ "type":"structure", "members":{ - "CodeDeliveryDetails":{"shape":"CodeDeliveryDetailsType"} + "CodeDeliveryDetails":{ + "shape":"CodeDeliveryDetailsType", + "documentation":"

The code delivery details returned by the server in response to the request to resend the confirmation code.

" + } }, - "documentation":"

The response from the server when the Amazon Cognito service makes the request to resend a confirmation code.

" + "documentation":"

The response from the server when the Amazon Cognito Your User Pools service makes the request to resend a confirmation code.

" }, "ResourceNotFoundException":{ "type":"structure", @@ -3377,6 +6155,78 @@ "documentation":"

This exception is thrown when the Amazon Cognito service cannot find the requested resource.

", "exception":true }, + "ResourceServerIdentifierType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" + }, + "ResourceServerNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\s+=,.@-]+" + }, + "ResourceServerScopeDescriptionType":{ + "type":"string", + "max":256, + "min":1 + }, + "ResourceServerScopeListType":{ + "type":"list", + "member":{"shape":"ResourceServerScopeType"}, + "max":100 + }, + "ResourceServerScopeNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x2E\\x30-\\x5B\\x5D-\\x7E]+" + }, + "ResourceServerScopeType":{ + "type":"structure", + "required":[ + "ScopeName", + "ScopeDescription" + ], + "members":{ + "ScopeName":{ + "shape":"ResourceServerScopeNameType", + "documentation":"

The name of the scope.

" + }, + "ScopeDescription":{ + "shape":"ResourceServerScopeDescriptionType", + "documentation":"

A description of the scope.

" + } + }, + "documentation":"

A resource server scope.

" + }, + "ResourceServerType":{ + "type":"structure", + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool that hosts the resource server.

" + }, + "Identifier":{ + "shape":"ResourceServerIdentifierType", + "documentation":"

The identifier for the resource server.

" + }, + "Name":{ + "shape":"ResourceServerNameType", + "documentation":"

The name of the resource server.

" + }, + "Scopes":{ + "shape":"ResourceServerScopeListType", + "documentation":"

A list of scopes that are defined for the resource server.

" + } + }, + "documentation":"

A container for information about a resource server for a user pool.

" + }, + "ResourceServersListType":{ + "type":"list", + "member":{"shape":"ResourceServerType"} + }, "RespondToAuthChallengeRequest":{ "type":"structure", "required":[ @@ -3386,19 +6236,31 @@ "members":{ "ClientId":{ "shape":"ClientIdType", - "documentation":"

The client ID.

" + "documentation":"

The app client ID.

" }, "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The name of the challenge.

" + "documentation":"

The challenge name. For more information, see .

ADMIN_NO_SRP_AUTH is not a valid value.

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeResponses":{ "shape":"ChallengeResponsesType", - "documentation":"

The responses to the authentication challenge.

" + "documentation":"

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

SECRET_HASH (if app client is configured with client secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA).

  • SMS_MFA: SMS_MFA_CODE, USERNAME.

  • PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME.

  • NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, USERNAME.

  • SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes.

  • DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH).

  • DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires plus DEVICE_KEY.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for RespondToAuthChallenge calls.

" + }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions that are assigned to the following triggers: post authentication, pre token generation, define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

The request to respond to an authentication challenge.

" @@ -3408,20 +6270,109 @@ "members":{ "ChallengeName":{ "shape":"ChallengeNameType", - "documentation":"

The challenge name.

" + "documentation":"

The challenge name. For more information, see .

" }, "Session":{ "shape":"SessionType", - "documentation":"

The session.

" + "documentation":"

The session which should be passed both ways in challenge-response calls to the service. If the or API call determines that the caller needs to go through another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge API call.

" }, "ChallengeParameters":{ "shape":"ChallengeParametersType", - "documentation":"

The challenge parameters.

" + "documentation":"

The challenge parameters. For more information, see .

" }, - "AuthenticationResult":{"shape":"AuthenticationResultType"} + "AuthenticationResult":{ + "shape":"AuthenticationResultType", + "documentation":"

The result returned by the server in response to the request to respond to the authentication challenge.

" + } }, "documentation":"

The response to respond to the authentication challenge.

" }, + "RiskConfigurationType":{ + "type":"structure", + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The app client ID.

" + }, + "CompromisedCredentialsRiskConfiguration":{ + "shape":"CompromisedCredentialsRiskConfigurationType", + "documentation":"

The compromised credentials risk configuration object including the EventFilter and the EventAction

" + }, + "AccountTakeoverRiskConfiguration":{ + "shape":"AccountTakeoverRiskConfigurationType", + "documentation":"

The account takeover risk configuration object including the NotifyConfiguration object and Actions to take in the case of an account takeover.

" + }, + "RiskExceptionConfiguration":{ + "shape":"RiskExceptionConfigurationType", + "documentation":"

The configuration to override the risk decision.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The last modified date.

" + } + }, + "documentation":"

The risk configuration type.

" + }, + "RiskDecisionType":{ + "type":"string", + "enum":[ + "NoRisk", + "AccountTakeover", + "Block" + ] + }, + "RiskExceptionConfigurationType":{ + "type":"structure", + "members":{ + "BlockedIPRangeList":{ + "shape":"BlockedIPRangeListType", + "documentation":"

Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation: a compact representation of an IP address and its associated routing prefix.

" + }, + "SkippedIPRangeList":{ + "shape":"SkippedIPRangeListType", + "documentation":"

Risk detection is not performed on the IP addresses in the range list. The IP range is in CIDR notation.

" + } + }, + "documentation":"

The type of the configuration to override the risk decision.

" + }, + "RiskLevelType":{ + "type":"string", + "enum":[ + "Low", + "Medium", + "High" + ] + }, + "S3BucketType":{ + "type":"string", + "max":1024, + "min":3, + "pattern":"^[0-9A-Za-z\\.\\-_]*(?Specifies whether SMS text message MFA is enabled.

" + }, + "PreferredMfa":{ + "shape":"BooleanType", + "documentation":"

Specifies whether SMS is the preferred MFA method.

" + } + }, + "documentation":"

The type used for enabling SMS MFA at the user level.

" + }, "SchemaAttributeType":{ "type":"structure", "members":{ @@ -3435,15 +6386,18 @@ }, "DeveloperOnlyAttribute":{ "shape":"BooleanType", - "documentation":"

Specifies whether the attribute type is developer only.

" + "documentation":"

We recommend that you use WriteAttributes in the user pool client to control how attributes can be mutated for new use cases instead of using DeveloperOnlyAttribute.

Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token. For example, DeveloperOnlyAttribute can be modified using the API but cannot be updated using the API.

", + "box":true }, "Mutable":{ "shape":"BooleanType", - "documentation":"

Specifies whether the attribute can be changed once it has been created.

" + "documentation":"

Specifies whether the value of the attribute can be changed.

For any user pool attribute that's mapped to an identity provider attribute, you must set this parameter to true. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see Specifying Identity Provider Attribute Mappings for Your User Pool.

", + "box":true }, "Required":{ "shape":"BooleanType", - "documentation":"

Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

" + "documentation":"

Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

", + "box":true }, "NumberAttributeConstraints":{ "shape":"NumberAttributeConstraintsType", @@ -3462,6 +6416,25 @@ "max":50, "min":1 }, + "ScopeDoesNotExistException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the specified scope does not exist.

", + "exception":true + }, + "ScopeListType":{ + "type":"list", + "member":{"shape":"ScopeType"}, + "max":50 + }, + "ScopeType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\x21\\x23-\\x5B\\x5D-\\x7E]+" + }, "SearchPaginationTokenType":{ "type":"string", "min":1, @@ -3471,6 +6444,12 @@ "type":"list", "member":{"shape":"AttributeNameType"} }, + "SecretCodeType":{ + "type":"string", + "min":16, + "pattern":"[A-Za-z0-9]+", + "sensitive":true + }, "SecretHashType":{ "type":"string", "max":128, @@ -3483,6 +6462,136 @@ "max":2048, "min":20 }, + "SetRiskConfigurationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The app client ID. If ClientId is null, then the risk configuration is mapped to userPoolId. When the client ID is null, the same risk configuration is applied to all the clients in the userPool.

Otherwise, ClientId is mapped to the client. When the client ID is not null, the user pool configuration is overridden and the risk configuration for the client is used instead.

" + }, + "CompromisedCredentialsRiskConfiguration":{ + "shape":"CompromisedCredentialsRiskConfigurationType", + "documentation":"

The compromised credentials risk configuration.

" + }, + "AccountTakeoverRiskConfiguration":{ + "shape":"AccountTakeoverRiskConfigurationType", + "documentation":"

The account takeover risk configuration.

" + }, + "RiskExceptionConfiguration":{ + "shape":"RiskExceptionConfigurationType", + "documentation":"

The configuration to override the risk decision.

" + } + } + }, + "SetRiskConfigurationResponse":{ + "type":"structure", + "required":["RiskConfiguration"], + "members":{ + "RiskConfiguration":{ + "shape":"RiskConfigurationType", + "documentation":"

The risk configuration.

" + } + } + }, + "SetUICustomizationRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The client ID for the client app.

" + }, + "CSS":{ + "shape":"CSSType", + "documentation":"

The CSS values in the UI customization.

" + }, + "ImageFile":{ + "shape":"ImageFileType", + "documentation":"

The uploaded logo image for the UI customization.

" + } + } + }, + "SetUICustomizationResponse":{ + "type":"structure", + "required":["UICustomization"], + "members":{ + "UICustomization":{ + "shape":"UICustomizationType", + "documentation":"

The UI customization information.

" + } + } + }, + "SetUserMFAPreferenceRequest":{ + "type":"structure", + "required":["AccessToken"], + "members":{ + "SMSMfaSettings":{ + "shape":"SMSMfaSettingsType", + "documentation":"

The SMS text message multi-factor authentication (MFA) settings.

" + }, + "SoftwareTokenMfaSettings":{ + "shape":"SoftwareTokenMfaSettingsType", + "documentation":"

The time-based one-time password software token MFA settings.

" + }, + "AccessToken":{ + "shape":"TokenModelType", + "documentation":"

The access token for the user.

" + } + } + }, + "SetUserMFAPreferenceResponse":{ + "type":"structure", + "members":{ + } + }, + "SetUserPoolMfaConfigRequest":{ + "type":"structure", + "required":["UserPoolId"], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "SmsMfaConfiguration":{ + "shape":"SmsMfaConfigType", + "documentation":"

The SMS text message MFA configuration.

" + }, + "SoftwareTokenMfaConfiguration":{ + "shape":"SoftwareTokenMfaConfigType", + "documentation":"

The software token MFA configuration.

" + }, + "MfaConfiguration":{ + "shape":"UserPoolMfaType", + "documentation":"

The MFA configuration. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

" + } + } + }, + "SetUserPoolMfaConfigResponse":{ + "type":"structure", + "members":{ + "SmsMfaConfiguration":{ + "shape":"SmsMfaConfigType", + "documentation":"

The SMS text message MFA configuration.

" + }, + "SoftwareTokenMfaConfiguration":{ + "shape":"SoftwareTokenMfaConfigType", + "documentation":"

The software token MFA configuration.

" + }, + "MfaConfiguration":{ + "shape":"UserPoolMfaType", + "documentation":"

The MFA configuration. Valid values include:

  • OFF MFA will not be used for any users.

  • ON MFA is required for all users to sign in.

  • OPTIONAL MFA will be required only for individual users who have an MFA factor enabled.

" + } + } + }, "SetUserSettingsRequest":{ "type":"structure", "required":[ @@ -3496,7 +6605,7 @@ }, "MFAOptions":{ "shape":"MFAOptionListType", - "documentation":"

Specifies the options for MFA (e.g., email or phone number).

" + "documentation":"

You can use this parameter only to set an SMS configuration that uses SMS for delivery.

" } }, "documentation":"

Represents the request to set user settings.

" @@ -3533,39 +6642,82 @@ }, "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "ValidationData":{ "shape":"AttributeListType", "documentation":"

The validation data in the request to register a user.

" + }, + "AnalyticsMetadata":{ + "shape":"AnalyticsMetadataType", + "documentation":"

The Amazon Pinpoint analytics metadata for collecting metrics for SignUp calls.

" + }, + "UserContextData":{ + "shape":"UserContextDataType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your SignUp request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to register a user.

" }, "SignUpResponse":{ "type":"structure", + "required":[ + "UserConfirmed", + "UserSub" + ], "members":{ "UserConfirmed":{ "shape":"BooleanType", "documentation":"

A response from the server indicating that a user registration has been confirmed.

" }, - "CodeDeliveryDetails":{"shape":"CodeDeliveryDetailsType"} + "CodeDeliveryDetails":{ + "shape":"CodeDeliveryDetailsType", + "documentation":"

The code delivery details returned by the server response to the user registration request.

" + }, + "UserSub":{ + "shape":"StringType", + "documentation":"

The UUID of the authenticated user. This is not the same as username.

" + } }, "documentation":"

The response from the server for a registration request.

" }, + "SkippedIPRangeListType":{ + "type":"list", + "member":{"shape":"StringType"}, + "max":20 + }, "SmsConfigurationType":{ "type":"structure", + "required":["SnsCallerArn"], "members":{ "SnsCallerArn":{ "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

" + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller. This is the ARN of the IAM role in your AWS account which Cognito will use to send SMS messages.

" }, "ExternalId":{ "shape":"StringType", - "documentation":"

The external ID.

" + "documentation":"

The external ID is a value that we recommend you use to add security to your IAM role which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, the Cognito User Pool will include it when attempting to assume your IAM role, so that you can set your roles trust policy to require the ExternalID. If you use the Cognito Management Console to create a role for SMS MFA, Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

" + } + }, + "documentation":"

The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your AWS account. The Cognito User Pool makes the request to the Amazon SNS Service by using an AWS IAM role that you provide for your AWS account.

" + }, + "SmsMfaConfigType":{ + "type":"structure", + "members":{ + "SmsAuthenticationMessage":{ + "shape":"SmsVerificationMessageType", + "documentation":"

The SMS authentication message that will be sent to users with the code they need to sign in. The message must contain the ‘{####}’ placeholder, which will be replaced with the code. If the message is not included, and default message will be used.

" + }, + "SmsConfiguration":{ + "shape":"SmsConfigurationType", + "documentation":"

The SMS configuration.

" } }, - "documentation":"

The SMS configuratoin type.

" + "documentation":"

The SMS text message multi-factor authentication (MFA) configuration type.

" }, "SmsVerificationMessageType":{ "type":"string", @@ -3573,6 +6725,44 @@ "min":6, "pattern":".*\\{####\\}.*" }, + "SoftwareTokenMFANotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the software token TOTP multi-factor authentication (MFA) is not enabled for the user pool.

", + "exception":true + }, + "SoftwareTokenMFAUserCodeType":{ + "type":"string", + "max":6, + "min":6, + "pattern":"[0-9]+" + }, + "SoftwareTokenMfaConfigType":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"BooleanType", + "documentation":"

Specifies whether software token MFA is enabled.

" + } + }, + "documentation":"

The type used for enabling software token MFA at the user pool level.

" + }, + "SoftwareTokenMfaSettingsType":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"BooleanType", + "documentation":"

Specifies whether software token MFA is enabled.

" + }, + "PreferredMfa":{ + "shape":"BooleanType", + "documentation":"

Specifies whether software token MFA is the preferred MFA method.

" + } + }, + "documentation":"

The type used for enabling software token MFA at the user level.

" + }, "StartUserImportJobRequest":{ "type":"structure", "required":[ @@ -3641,16 +6831,57 @@ "members":{ "MinLength":{ "shape":"StringType", - "documentation":"

The minimum length of an attribute value of the string type.

" + "documentation":"

The minimum length.

" }, "MaxLength":{ "shape":"StringType", - "documentation":"

The maximum length of an attribute value of the string type.

" + "documentation":"

The maximum length.

" } }, - "documentation":"

The type of constraints associated with an attribute of the string type.

" + "documentation":"

The constraints associated with a string attribute.

" + }, + "StringType":{"type":"string"}, + "SupportedIdentityProvidersListType":{ + "type":"list", + "member":{"shape":"ProviderNameType"} + }, + "TagKeysType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool to assign the tags to.

" + }, + "Tags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tags to assign to the user pool.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, + "TemporaryPasswordValidityDaysType":{ + "type":"integer", + "max":365, + "min":0 }, - "StringType":{"type":"string"}, "TokenModelType":{ "type":"string", "pattern":"[A-Za-z0-9-_=.]+", @@ -3664,7 +6895,7 @@ "documentation":"

The message returned when the Amazon Cognito service returns a too many failed attempts exception.

" } }, - "documentation":"

This exception gets thrown when the user has made too many failed attempts for a given action (e.g., sign in).

", + "documentation":"

This exception is thrown when the user has made too many failed attempts for a given action (e.g., sign in).

", "exception":true }, "TooManyRequestsException":{ @@ -3675,9 +6906,43 @@ "documentation":"

The message returned when the Amazon Cognito service returns a too many requests exception.

" } }, - "documentation":"

This exception gets thrown when the user has made too many requests for a given operation.

", + "documentation":"

This exception is thrown when the user has made too many requests for a given operation.

", "exception":true }, + "UICustomizationType":{ + "type":"structure", + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "ClientId":{ + "shape":"ClientIdType", + "documentation":"

The client ID for the client app.

" + }, + "ImageUrl":{ + "shape":"ImageUrlType", + "documentation":"

The logo image for the UI customization.

" + }, + "CSS":{ + "shape":"CSSType", + "documentation":"

The CSS values in the UI customization.

" + }, + "CSSVersion":{ + "shape":"CSSVersionType", + "documentation":"

The CSS version number.

" + }, + "LastModifiedDate":{ + "shape":"DateType", + "documentation":"

The last-modified date for the UI customization.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The creation date for the UI customization.

" + } + }, + "documentation":"

A container for the UI customization information for a user pool's built-in app UI.

" + }, "UnexpectedLambdaException":{ "type":"structure", "members":{ @@ -3686,7 +6951,15 @@ "documentation":"

The message returned when the Amazon Cognito service returns an unexpected AWS Lambda exception.

" } }, - "documentation":"

This exception gets thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

", + "documentation":"

This exception is thrown when the Amazon Cognito service encounters an unexpected exception with the AWS Lambda service.

", + "exception":true + }, + "UnsupportedIdentityProviderException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when the specified identifier is not supported.

", "exception":true }, "UnsupportedUserStateException":{ @@ -3700,6 +6973,65 @@ "documentation":"

The request failed because the user is in an unsupported state.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) of the user pool that the tags are assigned to.

" + }, + "TagKeys":{ + "shape":"UserPoolTagsListType", + "documentation":"

The keys of the tags to remove from the user pool.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAuthEventFeedbackRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Username", + "EventId", + "FeedbackToken", + "FeedbackValue" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

The user pool username.

" + }, + "EventId":{ + "shape":"EventIdType", + "documentation":"

The event ID.

" + }, + "FeedbackToken":{ + "shape":"TokenModelType", + "documentation":"

The feedback token.

" + }, + "FeedbackValue":{ + "shape":"FeedbackValueType", + "documentation":"

The authentication event feedback value.

" + } + } + }, + "UpdateAuthEventFeedbackResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateDeviceStatusRequest":{ "type":"structure", "required":[ @@ -3728,17 +7060,137 @@ }, "documentation":"

The response to the request to update the device status.

" }, + "UpdateGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "UserPoolId" + ], + "members":{ + "GroupName":{ + "shape":"GroupNameType", + "documentation":"

The name of the group.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

A string containing the new description of the group.

" + }, + "RoleArn":{ + "shape":"ArnType", + "documentation":"

The new role ARN for the group. This is used for setting the cognito:roles and cognito:preferred_role claims in the token.

" + }, + "Precedence":{ + "shape":"PrecedenceType", + "documentation":"

The new precedence value for the group. For more information about this parameter, see .

" + } + } + }, + "UpdateGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"GroupType", + "documentation":"

The group object for the group.

" + } + } + }, + "UpdateIdentityProviderRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "ProviderName" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID.

" + }, + "ProviderName":{ + "shape":"ProviderNameType", + "documentation":"

The identity provider name.

" + }, + "ProviderDetails":{ + "shape":"ProviderDetailsType", + "documentation":"

The identity provider details to be updated, such as MetadataURL and MetadataFile.

" + }, + "AttributeMapping":{ + "shape":"AttributeMappingType", + "documentation":"

The identity provider attribute mapping to be changed.

" + }, + "IdpIdentifiers":{ + "shape":"IdpIdentifiersListType", + "documentation":"

A list of identity provider identifiers.

" + } + } + }, + "UpdateIdentityProviderResponse":{ + "type":"structure", + "required":["IdentityProvider"], + "members":{ + "IdentityProvider":{ + "shape":"IdentityProviderType", + "documentation":"

The identity provider object.

" + } + } + }, + "UpdateResourceServerRequest":{ + "type":"structure", + "required":[ + "UserPoolId", + "Identifier", + "Name" + ], + "members":{ + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The user pool ID for the user pool.

" + }, + "Identifier":{ + "shape":"ResourceServerIdentifierType", + "documentation":"

The identifier for the resource server.

" + }, + "Name":{ + "shape":"ResourceServerNameType", + "documentation":"

The name of the resource server.

" + }, + "Scopes":{ + "shape":"ResourceServerScopeListType", + "documentation":"

The scope values to be set for the resource server.

" + } + } + }, + "UpdateResourceServerResponse":{ + "type":"structure", + "required":["ResourceServer"], + "members":{ + "ResourceServer":{ + "shape":"ResourceServerType", + "documentation":"

The resource server.

" + } + } + }, "UpdateUserAttributesRequest":{ "type":"structure", - "required":["UserAttributes"], + "required":[ + "UserAttributes", + "AccessToken" + ], "members":{ "UserAttributes":{ "shape":"AttributeListType", - "documentation":"

An array of name-value pairs representing user attributes.

" + "documentation":"

An array of name-value pairs representing user attributes.

For custom attributes, you must prepend the custom: prefix to the attribute name.

" }, "AccessToken":{ "shape":"TokenModelType", "documentation":"

The access token for the request to update user attributes.

" + }, + "ClientMetadata":{ + "shape":"ClientMetadataType", + "documentation":"

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in AWS Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

For more information, see Customizing User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

Take the following limitations into consideration when you use the ClientMetadata parameter:

  • Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.

  • Amazon Cognito does not validate the ClientMetadata value.

  • Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.

" } }, "documentation":"

Represents the request to update user attributes.

" @@ -3774,7 +7226,7 @@ }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

The validity of the refresh token.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -3786,7 +7238,43 @@ }, "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", - "documentation":"

Explicit authentication flows.

" + "documentation":"

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list of allowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

The allowed OAuth flows.

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination of client and client_secret.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to true if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

" + }, + "AnalyticsConfiguration":{ + "shape":"AnalyticsConfigurationType", + "documentation":"

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

" + }, + "PreventUserExistenceErrors":{ + "shape":"PreventUserExistenceErrorTypes", + "documentation":"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

This setting affects the behavior of following APIs:

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

" } }, "documentation":"

Represents the request to update the user pool client.

" @@ -3801,6 +7289,39 @@ }, "documentation":"

Represents the response from the server to the request to update the user pool client.

" }, + "UpdateUserPoolDomainRequest":{ + "type":"structure", + "required":[ + "Domain", + "UserPoolId", + "CustomDomainConfig" + ], + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. For example: auth.example.com.

This string can include only lowercase letters, numbers, and hyphens. Do not use a hyphen for the first or last character. Use periods to separate subdomain names.

" + }, + "UserPoolId":{ + "shape":"UserPoolIdType", + "documentation":"

The ID of the user pool that is associated with the custom domain that you are updating the certificate for.

" + }, + "CustomDomainConfig":{ + "shape":"CustomDomainConfigType", + "documentation":"

The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.

" + } + }, + "documentation":"

The UpdateUserPoolDomain request input.

" + }, + "UpdateUserPoolDomainResponse":{ + "type":"structure", + "members":{ + "CloudFrontDomain":{ + "shape":"DomainType", + "documentation":"

The Amazon CloudFront endpoint that Amazon Cognito set up when you added the custom domain to your user pool.

" + } + }, + "documentation":"

The UpdateUserPoolDomain response output.

" + }, "UpdateUserPoolRequest":{ "type":"structure", "required":["UserPoolId"], @@ -3831,7 +7352,11 @@ }, "EmailVerificationSubject":{ "shape":"EmailVerificationSubjectType", - "documentation":"

The subject of the email verfication message.

" + "documentation":"

The subject of the email verification message.

" + }, + "VerificationMessageTemplate":{ + "shape":"VerificationMessageTemplateType", + "documentation":"

The template for verification messages.

" }, "SmsAuthenticationMessage":{ "shape":"SmsVerificationMessageType", @@ -3853,9 +7378,21 @@ "shape":"SmsConfigurationType", "documentation":"

SMS configuration.

" }, + "UserPoolTags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

" + }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" + }, + "UserPoolAddOns":{ + "shape":"UserPoolAddOnsType", + "documentation":"

Used to enable advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" + }, + "AccountRecoverySetting":{ + "shape":"AccountRecoverySettingType", + "documentation":"

Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.

" } }, "documentation":"

Represents the request to update the user pool.

" @@ -3866,6 +7403,16 @@ }, "documentation":"

Represents the response from the server when you make a request to update the user pool.

" }, + "UserContextDataType":{ + "type":"structure", + "members":{ + "EncodedData":{ + "shape":"StringType", + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + } + }, + "documentation":"

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" + }, "UserFilterType":{ "type":"string", "max":256 @@ -3923,11 +7470,11 @@ }, "PreSignedUrl":{ "shape":"PreSignedUrlType", - "documentation":"

The pre-signed URL to be used to upload the .csv file.

" + "documentation":"

The pre-signed URL to be used to upload the .csv file.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The date when the user import job was created.

" + "documentation":"

The date the user import job was created.

" }, "StartDate":{ "shape":"DateType", @@ -3935,11 +7482,11 @@ }, "CompletionDate":{ "shape":"DateType", - "documentation":"

The date when the user imoprt job was completed.

" + "documentation":"

The date when the user import job was completed.

" }, "Status":{ "shape":"UserImportJobStatusType", - "documentation":"

The status of the user import job. One of the following:

  • Created - The job was created but not started.

  • Pending - A transition state. You have started the job, but it has not begun importing users yet.

  • InProgress - The job has started, and users are being imported.

  • Stopping - You have stopped the job, but the job has not stopped importing users yet.

  • Stopped - You have stopped the job, and the job has stopped importing users.

  • Succeeded - The job has completed successfully.

  • Failed - The job has stopped due to an error.

  • Expired - You created a job, but did not start the job within 24-48 hours. All data associated with the job was deleted, and the job cannot be started.

" + "documentation":"

The status of the user import job. One of the following:

  • Created - The job was created but not started.

  • Pending - A transition state. You have started the job, but it has not begun importing users yet.

  • InProgress - The job has started, and users are being imported.

  • Stopping - You have stopped the job, but the job has not stopped importing users yet.

  • Stopped - You have stopped the job, and the job has stopped importing users.

  • Succeeded - The job has completed successfully.

  • Failed - The job has stopped due to an error.

  • Expired - You created a job, but did not start the job within 24-48 hours. All data associated with the job was deleted, and the job cannot be started.

" }, "CloudWatchLogsRoleArn":{ "shape":"ArnType", @@ -3978,9 +7525,13 @@ "documentation":"

The message returned when the Amazon Cognito service returns a user validation exception with the AWS Lambda service.

" } }, - "documentation":"

This exception gets thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

", + "documentation":"

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the AWS Lambda service.

", "exception":true }, + "UserMFASettingListType":{ + "type":"list", + "member":{"shape":"StringType"} + }, "UserNotConfirmedException":{ "type":"structure", "members":{ @@ -4003,6 +7554,25 @@ "documentation":"

This exception is thrown when a user is not found.

", "exception":true }, + "UserPoolAddOnNotEnabledException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when user pool add-ons are not enabled.

", + "exception":true + }, + "UserPoolAddOnsType":{ + "type":"structure", + "required":["AdvancedSecurityMode"], + "members":{ + "AdvancedSecurityMode":{ + "shape":"AdvancedSecurityModeType", + "documentation":"

The advanced security mode.

" + } + }, + "documentation":"

The user pool add-ons type.

" + }, "UserPoolClientDescription":{ "type":"structure", "members":{ @@ -4019,7 +7589,7 @@ "documentation":"

The client name from the user pool client description.

" } }, - "documentation":"

The description of the user poool client.

" + "documentation":"

The description of the user pool client.

" }, "UserPoolClientListType":{ "type":"list", @@ -4046,15 +7616,15 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date from the user pool request of the client type.

" + "documentation":"

The date the user pool client was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date from the user pool request of the client type.

" + "documentation":"

The date the user pool client was created.

" }, "RefreshTokenValidity":{ "shape":"RefreshTokenValidityType", - "documentation":"

The validity of the refresh token.

" + "documentation":"

The time limit, in days, after which the refresh token is no longer valid and cannot be used.

" }, "ReadAttributes":{ "shape":"ClientPermissionListType", @@ -4066,10 +7636,47 @@ }, "ExplicitAuthFlows":{ "shape":"ExplicitAuthFlowsListType", - "documentation":"

The explicit authentication flows.

" + "documentation":"

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ prefix. Note that values with ALLOW_ prefix cannot be used along with values without ALLOW_ prefix.

Valid values include:

  • ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication flow, Cognito receives the password in the request instead of using the SRP (Secure Remote Password protocol) protocol to verify passwords.

  • ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication.

  • ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this flow, Cognito receives the password in the request instead of using the SRP protocol to verify passwords.

  • ALLOW_USER_SRP_AUTH: Enable SRP based authentication.

  • ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens.

" + }, + "SupportedIdentityProviders":{ + "shape":"SupportedIdentityProvidersListType", + "documentation":"

A list of provider names for the identity providers that are supported on this client.

" + }, + "CallbackURLs":{ + "shape":"CallbackURLsListType", + "documentation":"

A list of allowed redirect (callback) URLs for the identity providers.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "LogoutURLs":{ + "shape":"LogoutURLsListType", + "documentation":"

A list of allowed logout URLs for the identity providers.

" + }, + "DefaultRedirectURI":{ + "shape":"RedirectUrlType", + "documentation":"

The default redirect URI. Must be in the CallbackURLs list.

A redirect URI must:

  • Be an absolute URI.

  • Be registered with the authorization server.

  • Not include a fragment component.

See OAuth 2.0 - Redirection Endpoint.

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

App callback URLs such as myapp://example are also supported.

" + }, + "AllowedOAuthFlows":{ + "shape":"OAuthFlowsType", + "documentation":"

The allowed OAuth flows.

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination of client and client_secret.

" + }, + "AllowedOAuthScopes":{ + "shape":"ScopeListType", + "documentation":"

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values provided by AWS are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

" + }, + "AllowedOAuthFlowsUserPoolClient":{ + "shape":"BooleanType", + "documentation":"

Set to true if the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.

", + "box":true + }, + "AnalyticsConfiguration":{ + "shape":"AnalyticsConfigurationType", + "documentation":"

The Amazon Pinpoint analytics configuration for the user pool client.

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the region in which the user pool resides.

" + }, + "PreventUserExistenceErrors":{ + "shape":"PreventUserExistenceErrorTypes", + "documentation":"

Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ENABLED and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs will return a UserNotFoundException exception if the user does not exist in the user pool.

Valid values include:

  • ENABLED - This prevents user existence-related errors.

  • LEGACY - This represents the old behavior of Cognito where user existence related errors are not prevented.

This setting affects the behavior of following APIs:

After February 15th 2020, the value of PreventUserExistenceErrors will default to ENABLED for newly created user pool clients if no value is provided.

" } }, - "documentation":"

A user pool of the client type.

" + "documentation":"

Contains information about a user pool client.

" }, "UserPoolDescriptionType":{ "type":"structure", @@ -4092,11 +7699,11 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date in a user pool description.

" + "documentation":"

The date the user pool description was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date in a user pool description.

" + "documentation":"

The date the user pool description was created.

" } }, "documentation":"

A user pool description.

" @@ -4130,10 +7737,27 @@ "members":{ "PasswordPolicy":{ "shape":"PasswordPolicyType", - "documentation":"

A container with information about the user pool password policy.

" + "documentation":"

The password policy.

" } }, - "documentation":"

The type of policy in a user pool.

" + "documentation":"

The policy associated with a user pool.

" + }, + "UserPoolTaggingException":{ + "type":"structure", + "members":{ + "message":{"shape":"MessageType"} + }, + "documentation":"

This exception is thrown when a user pool tag cannot be set or updated.

", + "exception":true + }, + "UserPoolTagsListType":{ + "type":"list", + "member":{"shape":"TagKeysType"} + }, + "UserPoolTagsType":{ + "type":"map", + "key":{"shape":"TagKeysType"}, + "value":{"shape":"TagValueType"} }, "UserPoolType":{ "type":"structure", @@ -4148,11 +7772,11 @@ }, "Policies":{ "shape":"UserPoolPolicyType", - "documentation":"

A container describing the policies associated with a user pool.

" + "documentation":"

The policies associated with the user pool.

" }, "LambdaConfig":{ "shape":"LambdaConfigType", - "documentation":"

A container describing the AWS Lambda triggers associated with a user pool.

" + "documentation":"

The AWS Lambda triggers associated with the user pool.

" }, "Status":{ "shape":"StatusType", @@ -4160,11 +7784,11 @@ }, "LastModifiedDate":{ "shape":"DateType", - "documentation":"

The last modified date of a user pool.

" + "documentation":"

The date the user pool was last modified.

" }, "CreationDate":{ "shape":"DateType", - "documentation":"

The creation date of a user pool.

" + "documentation":"

The date the user pool was created.

" }, "SchemaAttributes":{ "shape":"SchemaAttributesListType", @@ -4178,6 +7802,10 @@ "shape":"AliasAttributesListType", "documentation":"

Specifies the attributes that are aliased in a user pool.

" }, + "UsernameAttributes":{ + "shape":"UsernameAttributesListType", + "documentation":"

Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up.

" + }, "SmsVerificationMessage":{ "shape":"SmsVerificationMessageType", "documentation":"

The contents of the SMS verification message.

" @@ -4190,6 +7818,10 @@ "shape":"EmailVerificationSubjectType", "documentation":"

The subject of the email verification message.

" }, + "VerificationMessageTemplate":{ + "shape":"VerificationMessageTemplateType", + "documentation":"

The template for verification messages.

" + }, "SmsAuthenticationMessage":{ "shape":"SmsVerificationMessageType", "documentation":"

The contents of the SMS authentication message.

" @@ -4214,20 +7846,48 @@ "shape":"SmsConfigurationType", "documentation":"

The SMS configuration.

" }, + "UserPoolTags":{ + "shape":"UserPoolTagsType", + "documentation":"

The tags that are assigned to the user pool. A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

" + }, "SmsConfigurationFailure":{ "shape":"StringType", - "documentation":"

The reason why the SMS configuration cannot send the message(s) to your users.

" + "documentation":"

The reason why the SMS configuration cannot send the messages to your users.

" }, "EmailConfigurationFailure":{ "shape":"StringType", "documentation":"

The reason why the email configuration cannot send the messages to your users.

" }, + "Domain":{ + "shape":"DomainType", + "documentation":"

Holds the domain prefix if the user pool has a domain associated with it.

" + }, + "CustomDomain":{ + "shape":"DomainType", + "documentation":"

A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. For example: auth.example.com.

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + }, "AdminCreateUserConfig":{ "shape":"AdminCreateUserConfigType", - "documentation":"

The configuration for AdminCreateUser requests.

" + "documentation":"

The configuration for AdminCreateUser requests.

" + }, + "UserPoolAddOns":{ + "shape":"UserPoolAddOnsType", + "documentation":"

The user pool add-ons.

" + }, + "UsernameConfiguration":{ + "shape":"UsernameConfigurationType", + "documentation":"

You can choose to enable case sensitivity on the username input for the selected sign-in option. For example, when this is set to False, users will be able to sign in using either \"username\" or \"Username\". This configuration is immutable once it has been set. For more information, see .

" + }, + "Arn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name (ARN) for the user pool.

" + }, + "AccountRecoverySetting":{ + "shape":"AccountRecoverySettingType", + "documentation":"

Use this setting to define which verified available method a user can use to recover their password when they call ForgotPassword. It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.

" } }, - "documentation":"

A container with information about the user pool type.

" + "documentation":"

A container for information about the user pool.

" }, "UserStatusType":{ "type":"string", @@ -4266,7 +7926,7 @@ }, "UserStatus":{ "shape":"UserStatusType", - "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

" + "documentation":"

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

  • RESET_REQUIRED - User is confirmed, but the user must request a code and reset his or her password before he or she can sign in.

  • FORCE_CHANGE_PASSWORD - The user is confirmed and the user can sign in using a temporary password, but on first sign-in, the user must change his or her password to a new value before doing anything else.

" }, "MFAOptions":{ "shape":"MFAOptionListType", @@ -4275,6 +7935,28 @@ }, "documentation":"

The user type.

" }, + "UsernameAttributeType":{ + "type":"string", + "enum":[ + "phone_number", + "email" + ] + }, + "UsernameAttributesListType":{ + "type":"list", + "member":{"shape":"UsernameAttributeType"} + }, + "UsernameConfigurationType":{ + "type":"structure", + "required":["CaseSensitive"], + "members":{ + "CaseSensitive":{ + "shape":"WrappedBooleanType", + "documentation":"

Specifies whether username case sensitivity will be applied for all users in the user pool through Cognito APIs.

Valid values include:

  • True : Enables case sensitivity for all username input. When this option is set to True, users must sign in using the exact capitalization of their given username. For example, “UserName”. This is the default value.

  • False : Enables case insensitivity for all username input. For example, when this option is set to False, users will be able to sign in using either \"username\" or \"Username\". This option also enables both preferred_username and email alias to be case insensitive, in addition to the username attribute.

" + } + }, + "documentation":"

The username configuration type.

" + }, "UsernameExistsException":{ "type":"structure", "members":{ @@ -4297,6 +7979,36 @@ "type":"list", "member":{"shape":"UserType"} }, + "VerificationMessageTemplateType":{ + "type":"structure", + "members":{ + "SmsMessage":{ + "shape":"SmsVerificationMessageType", + "documentation":"

The SMS message template.

" + }, + "EmailMessage":{ + "shape":"EmailVerificationMessageType", + "documentation":"

The email message template.

" + }, + "EmailSubject":{ + "shape":"EmailVerificationSubjectType", + "documentation":"

The subject line for the email message template.

" + }, + "EmailMessageByLink":{ + "shape":"EmailVerificationMessageByLinkType", + "documentation":"

The email message template for sending a confirmation link to the user.

" + }, + "EmailSubjectByLink":{ + "shape":"EmailVerificationSubjectByLinkType", + "documentation":"

The subject line for the email message template for sending a confirmation link to the user.

" + }, + "DefaultEmailOption":{ + "shape":"DefaultEmailOptionType", + "documentation":"

The default email option.

" + } + }, + "documentation":"

The template for verification messages.

" + }, "VerifiedAttributeType":{ "type":"string", "enum":[ @@ -4308,9 +8020,52 @@ "type":"list", "member":{"shape":"VerifiedAttributeType"} }, + "VerifySoftwareTokenRequest":{ + "type":"structure", + "required":["UserCode"], + "members":{ + "AccessToken":{ + "shape":"TokenModelType", + "documentation":"

The access token.

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service.

" + }, + "UserCode":{ + "shape":"SoftwareTokenMFAUserCodeType", + "documentation":"

The one time password computed using the secret code returned by

" + }, + "FriendlyDeviceName":{ + "shape":"StringType", + "documentation":"

The friendly device name.

" + } + } + }, + "VerifySoftwareTokenResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"VerifySoftwareTokenResponseType", + "documentation":"

The status of the verify software token.

" + }, + "Session":{ + "shape":"SessionType", + "documentation":"

The session which should be passed both ways in challenge-response calls to the service.

" + } + } + }, + "VerifySoftwareTokenResponseType":{ + "type":"string", + "enum":[ + "SUCCESS", + "ERROR" + ] + }, "VerifyUserAttributeRequest":{ "type":"structure", "required":[ + "AccessToken", "AttributeName", "Code" ], @@ -4335,7 +8090,8 @@ "members":{ }, "documentation":"

A container representing the response from the server from the request to verify user attributes.

" - } + }, + "WrappedBooleanType":{"type":"boolean"} }, - "documentation":"

Using the Amazon Cognito Your User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito Your User Pools.

For more information, see the Amazon Cognito Documentation.

" + "documentation":"

Using the Amazon Cognito User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito User Pools.

For more information, see the Amazon Cognito Documentation.

" } diff -Nru python-botocore-1.4.70/botocore/data/cognito-sync/2014-06-30/service-2.json python-botocore-1.16.19+repack/botocore/data/cognito-sync/2014-06-30/service-2.json --- python-botocore-1.4.70/botocore/data/cognito-sync/2014-06-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cognito-sync/2014-06-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,8 +5,10 @@ "endpointPrefix":"cognito-sync", "jsonVersion":"1.1", "serviceFullName":"Amazon Cognito Sync", + "serviceId":"Cognito Sync", "signatureVersion":"v4", - "protocol":"rest-json" + "protocol":"rest-json", + "uid":"cognito-sync-2014-06-30" }, "documentation":"Amazon Cognito Sync

Amazon Cognito Sync provides an AWS service and client library that enable cross-device syncing of application-related user data. High-level client libraries are available for both iOS and Android. You can use these libraries to persist data locally so that it's available even if the device is offline. Developer credentials don't need to be stored on the mobile device to access the service. You can use Amazon Cognito to obtain a normalized user ID and credentials. User data is persisted in a dataset that can store up to 1 MB of key-value pairs, and you can have up to 20 datasets per user identity.

With Amazon Cognito Sync, the data stored for each identity is accessible only to credentials assigned to that identity. In order to use the Cognito Sync service, you need to make API calls using credentials retrieved with Amazon Cognito Identity service.

If you want to use Cognito Sync in an Android or iOS application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the Developer Guide for Android and the Developer Guide for iOS.

", "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/examples-1.json python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/examples-1.json --- python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,52 @@ +{ + "pagination": { + "ListTopicsDetectionJobs": { + "result_key": "TopicsDetectionJobPropertiesList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListDocumentClassificationJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentClassificationJobPropertiesList" + }, + "ListDocumentClassifiers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentClassifierPropertiesList" + }, + "ListDominantLanguageDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DominantLanguageDetectionJobPropertiesList" + }, + "ListEntitiesDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EntitiesDetectionJobPropertiesList" + }, + "ListEntityRecognizers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EntityRecognizerPropertiesList" + }, + "ListKeyPhrasesDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "KeyPhrasesDetectionJobPropertiesList" + }, + "ListSentimentDetectionJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SentimentDetectionJobPropertiesList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/service-2.json python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/service-2.json --- python-botocore-1.4.70/botocore/data/comprehend/2017-11-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/comprehend/2017-11-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,4083 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-27", + "endpointPrefix":"comprehend", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Comprehend", + "serviceId":"Comprehend", + "signatureVersion":"v4", + "signingName":"comprehend", + "targetPrefix":"Comprehend_20171127", + "uid":"comprehend-2017-11-27" + }, + "operations":{ + "BatchDetectDominantLanguage":{ + "name":"BatchDetectDominantLanguage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectDominantLanguageRequest"}, + "output":{"shape":"BatchDetectDominantLanguageResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Determines the dominant language of the input text for a batch of documents. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" + }, + "BatchDetectEntities":{ + "name":"BatchDetectEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectEntitiesRequest"}, + "output":{"shape":"BatchDetectEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects the text of a batch of documents for named entities and returns information about them. For more information about named entities, see how-entities

" + }, + "BatchDetectKeyPhrases":{ + "name":"BatchDetectKeyPhrases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectKeyPhrasesRequest"}, + "output":{"shape":"BatchDetectKeyPhrasesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Detects the key noun phrases found in a batch of documents.

" + }, + "BatchDetectSentiment":{ + "name":"BatchDetectSentiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectSentimentRequest"}, + "output":{"shape":"BatchDetectSentimentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects a batch of documents and returns an inference of the prevailing sentiment, POSITIVE, NEUTRAL, MIXED, or NEGATIVE, in each one.

" + }, + "BatchDetectSyntax":{ + "name":"BatchDetectSyntax", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDetectSyntaxRequest"}, + "output":{"shape":"BatchDetectSyntaxResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"BatchSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects the text of a batch of documents for the syntax and part of speech of the words in the document and returns information about them. For more information, see how-syntax.

" + }, + "ClassifyDocument":{ + "name":"ClassifyDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ClassifyDocumentRequest"}, + "output":{"shape":"ClassifyDocumentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new document classification request to analyze a single document in real-time, using a previously created and trained custom model and an endpoint.

" + }, + "CreateDocumentClassifier":{ + "name":"CreateDocumentClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDocumentClassifierRequest"}, + "output":{"shape":"CreateDocumentClassifierResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new document classifier that you can use to categorize documents. To create a classifier you provide a set of training documents that labeled with the categories that you want to use. After the classifier is trained you can use it to categorize a set of labeled documents into the categories. For more information, see how-document-classification.

" + }, + "CreateEndpoint":{ + "name":"CreateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEndpointRequest"}, + "output":{"shape":"CreateEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a model-specific endpoint for synchronous inference for a previously trained custom model

" + }, + "CreateEntityRecognizer":{ + "name":"CreateEntityRecognizer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEntityRecognizerRequest"}, + "output":{"shape":"CreateEntityRecognizerResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates an entity recognizer using submitted files. After your CreateEntityRecognizer request is submitted, you can check job status using the API.

" + }, + "DeleteDocumentClassifier":{ + "name":"DeleteDocumentClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDocumentClassifierRequest"}, + "output":{"shape":"DeleteDocumentClassifierResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes a previously created document classifier

Only those classifiers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the classifier into a DELETING state, and it is then removed by a background job. Once removed, the classifier disappears from your account and is no longer available for use.

" + }, + "DeleteEndpoint":{ + "name":"DeleteEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEndpointRequest"}, + "output":{"shape":"DeleteEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes a model-specific endpoint for a previously-trained custom model. All endpoints must be deleted in order for the model to be deleted.

" + }, + "DeleteEntityRecognizer":{ + "name":"DeleteEntityRecognizer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEntityRecognizerRequest"}, + "output":{"shape":"DeleteEntityRecognizerResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an entity recognizer.

Only those recognizers that are in terminated states (IN_ERROR, TRAINED) will be deleted. If an active inference job is using the model, a ResourceInUseException will be returned.

This is an asynchronous action that puts the recognizer into a DELETING state, and it is then removed by a background job. Once removed, the recognizer disappears from your account and is no longer available for use.

" + }, + "DescribeDocumentClassificationJob":{ + "name":"DescribeDocumentClassificationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDocumentClassificationJobRequest"}, + "output":{"shape":"DescribeDocumentClassificationJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a document classification job. Use this operation to get the status of a classification job.

" + }, + "DescribeDocumentClassifier":{ + "name":"DescribeDocumentClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDocumentClassifierRequest"}, + "output":{"shape":"DescribeDocumentClassifierResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a document classifier.

" + }, + "DescribeDominantLanguageDetectionJob":{ + "name":"DescribeDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDominantLanguageDetectionJobRequest"}, + "output":{"shape":"DescribeDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a dominant language detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeEndpoint":{ + "name":"DescribeEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointRequest"}, + "output":{"shape":"DescribeEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a specific endpoint. Use this operation to get the status of an endpoint.

" + }, + "DescribeEntitiesDetectionJob":{ + "name":"DescribeEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntitiesDetectionJobRequest"}, + "output":{"shape":"DescribeEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with an entities detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeEntityRecognizer":{ + "name":"DescribeEntityRecognizer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntityRecognizerRequest"}, + "output":{"shape":"DescribeEntityRecognizerResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Provides details about an entity recognizer including status, S3 buckets containing training data, recognizer metadata, metrics, and so on.

" + }, + "DescribeKeyPhrasesDetectionJob":{ + "name":"DescribeKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"DescribeKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a key phrases detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeSentimentDetectionJob":{ + "name":"DescribeSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSentimentDetectionJobRequest"}, + "output":{"shape":"DescribeSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a sentiment detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeTopicsDetectionJob":{ + "name":"DescribeTopicsDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTopicsDetectionJobRequest"}, + "output":{"shape":"DescribeTopicsDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a topic detection job. Use this operation to get the status of a detection job.

" + }, + "DetectDominantLanguage":{ + "name":"DetectDominantLanguage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectDominantLanguageRequest"}, + "output":{"shape":"DetectDominantLanguageResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Determines the dominant language of the input text. For a list of languages that Amazon Comprehend can detect, see Amazon Comprehend Supported Languages.

" + }, + "DetectEntities":{ + "name":"DetectEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectEntitiesRequest"}, + "output":{"shape":"DetectEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects text for named entities, and returns information about them. For more information, about named entities, see how-entities.

" + }, + "DetectKeyPhrases":{ + "name":"DetectKeyPhrases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectKeyPhrasesRequest"}, + "output":{"shape":"DetectKeyPhrasesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Detects the key noun phrases found in the text.

" + }, + "DetectSentiment":{ + "name":"DetectSentiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectSentimentRequest"}, + "output":{"shape":"DetectSentimentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects text and returns an inference of the prevailing sentiment (POSITIVE, NEUTRAL, MIXED, or NEGATIVE).

" + }, + "DetectSyntax":{ + "name":"DetectSyntax", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectSyntaxRequest"}, + "output":{"shape":"DetectSyntaxResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"UnsupportedLanguageException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Inspects text for syntax and the part of speech of words in the document. For more information, how-syntax.

" + }, + "ListDocumentClassificationJobs":{ + "name":"ListDocumentClassificationJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDocumentClassificationJobsRequest"}, + "output":{"shape":"ListDocumentClassificationJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the documentation classification jobs that you have submitted.

" + }, + "ListDocumentClassifiers":{ + "name":"ListDocumentClassifiers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDocumentClassifiersRequest"}, + "output":{"shape":"ListDocumentClassifiersResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the document classifiers that you have created.

" + }, + "ListDominantLanguageDetectionJobs":{ + "name":"ListDominantLanguageDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDominantLanguageDetectionJobsRequest"}, + "output":{"shape":"ListDominantLanguageDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the dominant language detection jobs that you have submitted.

" + }, + "ListEndpoints":{ + "name":"ListEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEndpointsRequest"}, + "output":{"shape":"ListEndpointsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of all existing endpoints that you've created.

" + }, + "ListEntitiesDetectionJobs":{ + "name":"ListEntitiesDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEntitiesDetectionJobsRequest"}, + "output":{"shape":"ListEntitiesDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the entity detection jobs that you have submitted.

" + }, + "ListEntityRecognizers":{ + "name":"ListEntityRecognizers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEntityRecognizersRequest"}, + "output":{"shape":"ListEntityRecognizersResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the properties of all entity recognizers that you created, including recognizers currently in training. Allows you to filter the list of recognizers based on criteria such as status and submission time. This call returns up to 500 entity recognizers in the list, with a default number of 100 recognizers in the list.

The results of this list are not in any particular order. Please get the list and sort locally if needed.

" + }, + "ListKeyPhrasesDetectionJobs":{ + "name":"ListKeyPhrasesDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListKeyPhrasesDetectionJobsRequest"}, + "output":{"shape":"ListKeyPhrasesDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Get a list of key phrase detection jobs that you have submitted.

" + }, + "ListSentimentDetectionJobs":{ + "name":"ListSentimentDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSentimentDetectionJobsRequest"}, + "output":{"shape":"ListSentimentDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of sentiment detection jobs that you have submitted.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists all tags associated with a given Amazon Comprehend resource.

" + }, + "ListTopicsDetectionJobs":{ + "name":"ListTopicsDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTopicsDetectionJobsRequest"}, + "output":{"shape":"ListTopicsDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of the topic detection jobs that you have submitted.

" + }, + "StartDocumentClassificationJob":{ + "name":"StartDocumentClassificationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDocumentClassificationJobRequest"}, + "output":{"shape":"StartDocumentClassificationJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous document classification job. Use the operation to track the progress of the job.

" + }, + "StartDominantLanguageDetectionJob":{ + "name":"StartDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDominantLanguageDetectionJobRequest"}, + "output":{"shape":"StartDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous dominant language detection job for a collection of documents. Use the operation to track the status of a job.

" + }, + "StartEntitiesDetectionJob":{ + "name":"StartEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartEntitiesDetectionJobRequest"}, + "output":{"shape":"StartEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous entity detection job for a collection of documents. Use the operation to track the status of a job.

This API can be used for either standard entity detection or custom entity recognition. In order to be used for custom entity recognition, the optional EntityRecognizerArn must be used in order to provide access to the recognizer being used to detect the custom entity.

" + }, + "StartKeyPhrasesDetectionJob":{ + "name":"StartKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"StartKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous key phrase detection job for a collection of documents. Use the operation to track the status of a job.

" + }, + "StartSentimentDetectionJob":{ + "name":"StartSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartSentimentDetectionJobRequest"}, + "output":{"shape":"StartSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous sentiment detection job for a collection of documents. use the operation to track the status of a job.

" + }, + "StartTopicsDetectionJob":{ + "name":"StartTopicsDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTopicsDetectionJobRequest"}, + "output":{"shape":"StartTopicsDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"KmsKeyValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous topic detection job. Use the DescribeTopicDetectionJob operation to track the status of a job.

" + }, + "StopDominantLanguageDetectionJob":{ + "name":"StopDominantLanguageDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDominantLanguageDetectionJobRequest"}, + "output":{"shape":"StopDominantLanguageDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a dominant language detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" + }, + "StopEntitiesDetectionJob":{ + "name":"StopEntitiesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopEntitiesDetectionJobRequest"}, + "output":{"shape":"StopEntitiesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops an entities detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" + }, + "StopKeyPhrasesDetectionJob":{ + "name":"StopKeyPhrasesDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopKeyPhrasesDetectionJobRequest"}, + "output":{"shape":"StopKeyPhrasesDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a key phrases detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" + }, + "StopSentimentDetectionJob":{ + "name":"StopSentimentDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopSentimentDetectionJobRequest"}, + "output":{"shape":"StopSentimentDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"JobNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a sentiment detection job in progress.

If the job state is IN_PROGRESS the job is marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state; otherwise the job is be stopped and put into the STOPPED state.

If the job is in the COMPLETED or FAILED state when you call the StopDominantLanguageDetectionJob operation, the operation returns a 400 Internal Request Exception.

When a job is stopped, any documents already processed are written to the output location.

" + }, + "StopTrainingDocumentClassifier":{ + "name":"StopTrainingDocumentClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTrainingDocumentClassifierRequest"}, + "output":{"shape":"StopTrainingDocumentClassifierResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a document classifier training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and put into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "StopTrainingEntityRecognizer":{ + "name":"StopTrainingEntityRecognizer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTrainingEntityRecognizerRequest"}, + "output":{"shape":"StopTrainingEntityRecognizerResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops an entity recognizer training job while in progress.

If the training job state is TRAINING, the job is marked for termination and put into the STOP_REQUESTED state. If the training job completes before it can be stopped, it is put into the TRAINED; otherwise the training job is stopped and putted into the STOPPED state and the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Associates a specific tag with an Amazon Comprehend resource. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"TooManyTagKeysException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes a specific tag associated with an Amazon Comprehend resource.

" + }, + "UpdateEndpoint":{ + "name":"UpdateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEndpointRequest"}, + "output":{"shape":"UpdateEndpointResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates information about the specified endpoint.

" + } + }, + "shapes":{ + "AnyLengthString":{"type":"string"}, + "BatchDetectDominantLanguageItemResult":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "Languages":{ + "shape":"ListOfDominantLanguages", + "documentation":"

One or more DominantLanguage objects describing the dominant languages in the document.

" + } + }, + "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" + }, + "BatchDetectDominantLanguageRequest":{ + "type":"structure", + "required":["TextList"], + "members":{ + "TextList":{ + "shape":"StringList", + "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document should contain at least 20 characters and must contain fewer than 5,000 bytes of UTF-8 encoded characters.

" + } + } + }, + "BatchDetectDominantLanguageResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{ + "shape":"ListOfDetectDominantLanguageResult", + "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" + }, + "ErrorList":{ + "shape":"BatchItemErrorList", + "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" + } + } + }, + "BatchDetectEntitiesItemResult":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "Entities":{ + "shape":"ListOfEntities", + "documentation":"

One or more Entity objects, one for each entity detected in the document.

" + } + }, + "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" + }, + "BatchDetectEntitiesRequest":{ + "type":"structure", + "required":[ + "TextList", + "LanguageCode" + ], + "members":{ + "TextList":{ + "shape":"StringList", + "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer than 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "BatchDetectEntitiesResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{ + "shape":"ListOfDetectEntitiesResult", + "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" + }, + "ErrorList":{ + "shape":"BatchItemErrorList", + "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" + } + } + }, + "BatchDetectKeyPhrasesItemResult":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "KeyPhrases":{ + "shape":"ListOfKeyPhrases", + "documentation":"

One or more KeyPhrase objects, one for each key phrase detected in the document.

" + } + }, + "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" + }, + "BatchDetectKeyPhrasesRequest":{ + "type":"structure", + "required":[ + "TextList", + "LanguageCode" + ], + "members":{ + "TextList":{ + "shape":"StringList", + "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "BatchDetectKeyPhrasesResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{ + "shape":"ListOfDetectKeyPhrasesResult", + "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" + }, + "ErrorList":{ + "shape":"BatchItemErrorList", + "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" + } + } + }, + "BatchDetectSentimentItemResult":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "Sentiment":{ + "shape":"SentimentType", + "documentation":"

The sentiment detected in the document.

" + }, + "SentimentScore":{ + "shape":"SentimentScore", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its sentiment detection.

" + } + }, + "documentation":"

The result of calling the operation. The operation returns one object for each document that is successfully processed by the operation.

" + }, + "BatchDetectSentimentRequest":{ + "type":"structure", + "required":[ + "TextList", + "LanguageCode" + ], + "members":{ + "TextList":{ + "shape":"StringList", + "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "BatchDetectSentimentResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{ + "shape":"ListOfDetectSentimentResult", + "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" + }, + "ErrorList":{ + "shape":"BatchItemErrorList", + "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" + } + } + }, + "BatchDetectSyntaxItemResult":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "SyntaxTokens":{ + "shape":"ListOfSyntaxTokens", + "documentation":"

The syntax tokens for the words in the document, one token for each word.

" + } + }, + "documentation":"

The result of calling the operation. The operation returns one object that is successfully processed by the operation.

" + }, + "BatchDetectSyntaxRequest":{ + "type":"structure", + "required":[ + "TextList", + "LanguageCode" + ], + "members":{ + "TextList":{ + "shape":"StringList", + "documentation":"

A list containing the text of the input documents. The list can contain a maximum of 25 documents. Each document must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"SyntaxLanguageCode", + "documentation":"

The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

" + } + } + }, + "BatchDetectSyntaxResponse":{ + "type":"structure", + "required":[ + "ResultList", + "ErrorList" + ], + "members":{ + "ResultList":{ + "shape":"ListOfDetectSyntaxResult", + "documentation":"

A list of objects containing the results of the operation. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If all of the documents contain an error, the ResultList is empty.

" + }, + "ErrorList":{ + "shape":"BatchItemErrorList", + "documentation":"

A list containing one object for each document that contained an error. The results are sorted in ascending order by the Index field and match the order of the documents in the input list. If there are no errors in the batch, the ErrorList is empty.

" + } + } + }, + "BatchItemError":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"Integer", + "documentation":"

The zero-based index of the document in the input list.

" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

The numeric error code of the error.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

A text description of the error.

" + } + }, + "documentation":"

Describes an error that occurred while processing a document in a batch. The operation returns on BatchItemError object for each document that contained an error.

" + }, + "BatchItemErrorList":{ + "type":"list", + "member":{"shape":"BatchItemError"} + }, + "BatchSizeLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The number of documents in the request exceeds the limit of 25. Try your request again with fewer documents.

", + "exception":true + }, + "ClassifierEvaluationMetrics":{ + "type":"structure", + "members":{ + "Accuracy":{ + "shape":"Double", + "documentation":"

The fraction of the labels that were correct recognized. It is computed by dividing the number of labels in the test documents that were correctly recognized by the total number of labels in the test documents.

" + }, + "Precision":{ + "shape":"Double", + "documentation":"

A measure of the usefulness of the classifier results in the test data. High precision means that the classifier returned substantially more relevant results than irrelevant ones.

" + }, + "Recall":{ + "shape":"Double", + "documentation":"

A measure of how complete the classifier results are for the test data. High recall means that the classifier returned most of the relevant results.

" + }, + "F1Score":{ + "shape":"Double", + "documentation":"

A measure of how accurate the classifier results are for the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

" + }, + "MicroPrecision":{ + "shape":"Double", + "documentation":"

A measure of the usefulness of the recognizer results in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones. Unlike the Precision metric which comes from averaging the precision of all available labels, this is based on the overall score of all precision scores added together.

" + }, + "MicroRecall":{ + "shape":"Double", + "documentation":"

A measure of how complete the classifier results are for the test data. High recall means that the classifier returned most of the relevant results. Specifically, this indicates how many of the correct categories in the text that the model can predict. It is a percentage of correct categories in the text that can found. Instead of averaging the recall scores of all labels (as with Recall), micro Recall is based on the overall score of all recall scores added together.

" + }, + "MicroF1Score":{ + "shape":"Double", + "documentation":"

A measure of how accurate the classifier results are for the test data. It is a combination of the Micro Precision and Micro Recall values. The Micro F1Score is the harmonic mean of the two scores. The highest score is 1, and the worst score is 0.

" + }, + "HammingLoss":{ + "shape":"Double", + "documentation":"

Indicates the fraction of labels that are incorrectly predicted. Also seen as the fraction of wrong labels compared to the total number of labels. Scores closer to zero are better.

" + } + }, + "documentation":"

Describes the result metrics for the test data associated with an documentation classifier.

" + }, + "ClassifierMetadata":{ + "type":"structure", + "members":{ + "NumberOfLabels":{ + "shape":"Integer", + "documentation":"

The number of labels in the input data.

" + }, + "NumberOfTrainedDocuments":{ + "shape":"Integer", + "documentation":"

The number of documents in the input data that were used to train the classifier. Typically this is 80 to 90 percent of the input documents.

" + }, + "NumberOfTestDocuments":{ + "shape":"Integer", + "documentation":"

The number of documents in the input data that were used to test the classifier. Typically this is 10 to 20 percent of the input documents.

" + }, + "EvaluationMetrics":{ + "shape":"ClassifierEvaluationMetrics", + "documentation":"

Describes the result metrics for the test data associated with an documentation classifier.

" + } + }, + "documentation":"

Provides information about a document classifier.

" + }, + "ClassifyDocumentRequest":{ + "type":"structure", + "required":[ + "Text", + "EndpointArn" + ], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

The document text to be analyzed.

" + }, + "EndpointArn":{ + "shape":"DocumentClassifierEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint.

" + } + } + }, + "ClassifyDocumentResponse":{ + "type":"structure", + "members":{ + "Classes":{ + "shape":"ListOfClasses", + "documentation":"

The classes used by the document being analyzed. These are used for multi-class trained models. Individual classes are mutually exclusive and each document is expected to have only a single class assigned to it. For example, an animal can be a dog or a cat, but not both at the same time.

" + }, + "Labels":{ + "shape":"ListOfLabels", + "documentation":"

The labels used the document being analyzed. These are used for multi-label trained models. Individual labels represent different categories that are related in some manner and are not multually exclusive. For example, a movie can be just an action movie, or it can be an action movie, a science fiction movie, and a comedy, all at the same time.

" + } + } + }, + "ClientRequestTokenString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "ComprehendArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:[a-zA-Z0-9-]{1,64}/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ComprehendArnName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ComprehendEndpointArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ComprehendEndpointName":{ + "type":"string", + "max":40, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ComprehendModelArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Concurrent modification of the tags associated with an Amazon Comprehend resource is not supported.

", + "exception":true + }, + "CreateDocumentClassifierRequest":{ + "type":"structure", + "required":[ + "DocumentClassifierName", + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" + ], + "members":{ + "DocumentClassifierName":{ + "shape":"ComprehendArnName", + "documentation":"

The name of the document classifier.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to be associated with the document classifier being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, + "InputDataConfig":{ + "shape":"DocumentClassifierInputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"DocumentClassifierOutputDataConfig", + "documentation":"

Enables the addition of output results configuration parameters for custom classifier jobs.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC.

" + }, + "Mode":{ + "shape":"DocumentClassifierMode", + "documentation":"

Indicates the mode in which the classifier will be trained. The classifier can be trained in multi-class mode, which identifies one and only one class for each document, or multi-label mode, which identifies one or more labels for each document. In multi-label mode, multiple labels for an individual document are separated by a delimiter. The default delimiter between labels is a pipe (|).

" + } + } + }, + "CreateDocumentClassifierResponse":{ + "type":"structure", + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier.

" + } + } + }, + "CreateEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointName", + "ModelArn", + "DesiredInferenceUnits" + ], + "members":{ + "EndpointName":{ + "shape":"ComprehendEndpointName", + "documentation":"

This is the descriptive suffix that becomes part of the EndpointArn used for all subsequent requests to this resource.

" + }, + "ModelArn":{ + "shape":"ComprehendModelArn", + "documentation":"

The Amazon Resource Number (ARN) of the model to which the endpoint will be attached.

" + }, + "DesiredInferenceUnits":{ + "shape":"InferenceUnitsInteger", + "documentation":"

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

An idempotency token provided by the customer. If this token matches a previous endpoint creation request, Amazon Comprehend will not return a ResourceInUseException.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags associated with the endpoint being created. A tag is a key-value pair that adds metadata to the endpoint. For example, a tag with \"Sales\" as the key might be added to an endpoint to indicate its use by the sales department.

" + } + } + }, + "CreateEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointArn":{ + "shape":"ComprehendEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint being created.

" + } + } + }, + "CreateEntityRecognizerRequest":{ + "type":"structure", + "required":[ + "RecognizerName", + "DataAccessRoleArn", + "InputDataConfig", + "LanguageCode" + ], + "members":{ + "RecognizerName":{ + "shape":"ComprehendArnName", + "documentation":"

The name given to the newly created recognizer. Recognizer names can be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The name must be unique in the account/region.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to be associated with the entity recognizer being created. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + }, + "InputDataConfig":{ + "shape":"EntityRecognizerInputDataConfig", + "documentation":"

Specifies the format and location of the input data. The S3 bucket containing the input data must be located in the same region as the entity recognizer being created.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

" + } + } + }, + "CreateEntityRecognizerResponse":{ + "type":"structure", + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer.

" + } + } + }, + "DeleteDocumentClassifierRequest":{ + "type":"structure", + "required":["DocumentClassifierArn"], + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier.

" + } + } + }, + "DeleteDocumentClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteEndpointRequest":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"ComprehendEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint being deleted.

" + } + } + }, + "DeleteEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteEntityRecognizerRequest":{ + "type":"structure", + "required":["EntityRecognizerArn"], + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer.

" + } + } + }, + "DeleteEntityRecognizerResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeDocumentClassificationJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" + } + } + }, + "DescribeDocumentClassificationJobResponse":{ + "type":"structure", + "members":{ + "DocumentClassificationJobProperties":{ + "shape":"DocumentClassificationJobProperties", + "documentation":"

An object that describes the properties associated with the document classification job.

" + } + } + }, + "DescribeDocumentClassifierRequest":{ + "type":"structure", + "required":["DocumentClassifierArn"], + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier. The operation returns this identifier in its response.

" + } + } + }, + "DescribeDocumentClassifierResponse":{ + "type":"structure", + "members":{ + "DocumentClassifierProperties":{ + "shape":"DocumentClassifierProperties", + "documentation":"

An object that contains the properties associated with a document classifier.

" + } + } + }, + "DescribeDominantLanguageDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" + } + } + }, + "DescribeDominantLanguageDetectionJobResponse":{ + "type":"structure", + "members":{ + "DominantLanguageDetectionJobProperties":{ + "shape":"DominantLanguageDetectionJobProperties", + "documentation":"

An object that contains the properties associated with a dominant language detection job.

" + } + } + }, + "DescribeEndpointRequest":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"ComprehendEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint being described.

" + } + } + }, + "DescribeEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointProperties":{ + "shape":"EndpointProperties", + "documentation":"

Describes information associated with the specific endpoint.

" + } + } + }, + "DescribeEntitiesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" + } + } + }, + "DescribeEntitiesDetectionJobResponse":{ + "type":"structure", + "members":{ + "EntitiesDetectionJobProperties":{ + "shape":"EntitiesDetectionJobProperties", + "documentation":"

An object that contains the properties associated with an entities detection job.

" + } + } + }, + "DescribeEntityRecognizerRequest":{ + "type":"structure", + "required":["EntityRecognizerArn"], + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer.

" + } + } + }, + "DescribeEntityRecognizerResponse":{ + "type":"structure", + "members":{ + "EntityRecognizerProperties":{ + "shape":"EntityRecognizerProperties", + "documentation":"

Describes information associated with an entity recognizer.

" + } + } + }, + "DescribeKeyPhrasesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" + } + } + }, + "DescribeKeyPhrasesDetectionJobResponse":{ + "type":"structure", + "members":{ + "KeyPhrasesDetectionJobProperties":{ + "shape":"KeyPhrasesDetectionJobProperties", + "documentation":"

An object that contains the properties associated with a key phrases detection job.

" + } + } + }, + "DescribeSentimentDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend generated for the job. The operation returns this identifier in its response.

" + } + } + }, + "DescribeSentimentDetectionJobResponse":{ + "type":"structure", + "members":{ + "SentimentDetectionJobProperties":{ + "shape":"SentimentDetectionJobProperties", + "documentation":"

An object that contains the properties associated with a sentiment detection job.

" + } + } + }, + "DescribeTopicsDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned by the user to the detection job.

" + } + } + }, + "DescribeTopicsDetectionJobResponse":{ + "type":"structure", + "members":{ + "TopicsDetectionJobProperties":{ + "shape":"TopicsDetectionJobProperties", + "documentation":"

The list of properties for the requested job.

" + } + } + }, + "DetectDominantLanguageRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

A UTF-8 text string. Each string should contain at least 20 characters and must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + } + } + }, + "DetectDominantLanguageResponse":{ + "type":"structure", + "members":{ + "Languages":{ + "shape":"ListOfDominantLanguages", + "documentation":"

The languages that Amazon Comprehend detected in the input text. For each language, the response returns the RFC 5646 language code and the level of confidence that Amazon Comprehend has in the accuracy of its inference. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

" + } + } + }, + "DetectEntitiesRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "DetectEntitiesResponse":{ + "type":"structure", + "members":{ + "Entities":{ + "shape":"ListOfEntities", + "documentation":"

A collection of entities identified in the input text. For each entity, the response provides the entity text, entity type, where the entity text begins and ends, and the level of confidence that Amazon Comprehend has in the detection. For a list of entity types, see how-entities.

" + } + } + }, + "DetectKeyPhrasesRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "DetectKeyPhrasesResponse":{ + "type":"structure", + "members":{ + "KeyPhrases":{ + "shape":"ListOfKeyPhrases", + "documentation":"

A collection of key phrases that Amazon Comprehend identified in the input text. For each key phrase, the response provides the text of the key phrase, where the key phrase begins and ends, and the level of confidence that Amazon Comprehend has in the accuracy of the detection.

" + } + } + }, + "DetectSentimentRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

A UTF-8 text string. Each string must contain fewer that 5,000 bytes of UTF-8 encoded characters.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + } + } + }, + "DetectSentimentResponse":{ + "type":"structure", + "members":{ + "Sentiment":{ + "shape":"SentimentType", + "documentation":"

The inferred sentiment that Amazon Comprehend has the highest level of confidence in.

" + }, + "SentimentScore":{ + "shape":"SentimentScore", + "documentation":"

An object that lists the sentiments, and their corresponding confidence levels.

" + } + } + }, + "DetectSyntaxRequest":{ + "type":"structure", + "required":[ + "Text", + "LanguageCode" + ], + "members":{ + "Text":{ + "shape":"String", + "documentation":"

A UTF-8 string. Each string must contain fewer that 5,000 bytes of UTF encoded characters.

" + }, + "LanguageCode":{ + "shape":"SyntaxLanguageCode", + "documentation":"

The language code of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\").

" + } + } + }, + "DetectSyntaxResponse":{ + "type":"structure", + "members":{ + "SyntaxTokens":{ + "shape":"ListOfSyntaxTokens", + "documentation":"

A collection of syntax tokens describing the text. For each token, the response provides the text, the token type, where the text begins and ends, and the level of confidence that Amazon Comprehend has that the token is correct. For a list of token types, see how-syntax.

" + } + } + }, + "DocumentClass":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the class.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The confidence score that Amazon Comprehend has this class correctly attributed.

" + } + }, + "documentation":"

Specifies the class that categorizes the document being analyzed

" + }, + "DocumentClassificationJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of document classification jobs. For more information, see the operation. You can provide only one filter parameter in each request.

" + }, + "DocumentClassificationJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the document classification job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned to the document classification job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the document classification job. If the status is FAILED, the Message field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of the job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the document classification job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the document classification job completed.

" + }, + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the document classification job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the document classification job.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about a document classification job.

" + }, + "DocumentClassificationJobPropertiesList":{ + "type":"list", + "member":{"shape":"DocumentClassificationJobProperties"} + }, + "DocumentClassifierArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "DocumentClassifierEndpointArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:document-classifier-endpoint/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "DocumentClassifierFilter":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ModelStatus", + "documentation":"

Filters the list of classifiers based on status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of classifiers based on the time that the classifier was submitted for processing. Returns only classifiers submitted before the specified time. Classifiers are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of classifiers based on the time that the classifier was submitted for processing. Returns only classifiers submitted after the specified time. Classifiers are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of document classifiers. You can only specify one filtering parameter in a request. For more information, see the operation.

" + }, + "DocumentClassifierInputDataConfig":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

The Amazon S3 URI for the input data. The S3 bucket must be in the same region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of input files.

For example, if you use the URI S3://bucketName/prefix, if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.

" + }, + "LabelDelimiter":{ + "shape":"LabelDelimiter", + "documentation":"

Indicates the delimiter used to separate each label for training a multi-label classifier. The default delimiter between labels is a pipe (|). You can use a different character as a delimiter (if it's an allowed character) by specifying it under Delimiter for labels. If the training documents use a delimiter other than the default or the delimiter you specify, the labels on that line will be combined to make a single unique label, such as LABELLABELLABEL.

" + } + }, + "documentation":"

The input properties for training a document classifier.

For more information on how the input file is formatted, see how-document-classification-training-data.

" + }, + "DocumentClassifierMode":{ + "type":"string", + "enum":[ + "MULTI_CLASS", + "MULTI_LABEL" + ] + }, + "DocumentClassifierOutputDataConfig":{ + "type":"structure", + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

When you use the OutputDataConfig object while creating a custom classifier, you specify the Amazon S3 location where you want to write the confusion matrix. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of this output file.

When the custom classifier job is finished, the service creates the output file in a directory specific to the job. The S3Uri field contains the location of the output file, called output.tar.gz. It is a compressed archive that contains the confusion matrix.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • KMS Key Alias: \"alias/ExampleAlias\"

  • ARN of a KMS Key Alias: \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

" + } + }, + "documentation":"

Provides output results configuration parameters for custom classifier jobs.

" + }, + "DocumentClassifierProperties":{ + "type":"structure", + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language code for the language of the documents that the classifier was trained on.

" + }, + "Status":{ + "shape":"ModelStatus", + "documentation":"

The status of the document classifier. If the status is TRAINED the classifier is ready to use. If the status is FAILED you can see additional information about why the classifier wasn't trained in the Message field.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

Additional information about the status of the classifier.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the document classifier was submitted for training.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that training the document classifier completed.

" + }, + "TrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

Indicates the time when the training starts on documentation classifiers. You are billed for the time interval between this time and the value of TrainingEndTime.

" + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

The time that training of the document classifier was completed. Indicates the time when the training completes on documentation classifiers. You are billed for the time interval between this time and the value of TrainingStartTime.

" + }, + "InputDataConfig":{ + "shape":"DocumentClassifierInputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the document classifier for training.

" + }, + "OutputDataConfig":{ + "shape":"DocumentClassifierOutputDataConfig", + "documentation":"

Provides output results configuration parameters for custom classifier jobs.

" + }, + "ClassifierMetadata":{ + "shape":"ClassifierMetadata", + "documentation":"

Information about the document classifier, including the number of documents used for training the classifier, the number of documents used for test the classifier, and an accuracy rating.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom classifier. For more information, see Amazon VPC.

" + }, + "Mode":{ + "shape":"DocumentClassifierMode", + "documentation":"

Indicates the mode in which the specific classifier was trained. This also indicates the format of input documents and the format of the confusion matrix. Each classifier can only be trained in one mode and this cannot be changed once the classifier is trained.

" + } + }, + "documentation":"

Provides information about a document classifier.

" + }, + "DocumentClassifierPropertiesList":{ + "type":"list", + "member":{"shape":"DocumentClassifierProperties"} + }, + "DocumentLabel":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the label.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The confidence score that Amazon Comprehend has this label correctly attributed.

" + } + }, + "documentation":"

Specifies one of the label or labels that categorize the document being analyzed.

" + }, + "DominantLanguage":{ + "type":"structure", + "members":{ + "LanguageCode":{ + "shape":"String", + "documentation":"

The RFC 5646 language code for the dominant language. For more information about RFC 5646, see Tags for Identifying Languages on the IETF Tools web site.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" + } + }, + "documentation":"

Returns the code for the dominant language in the input text and the level of confidence that Amazon Comprehend has in the accuracy of the detection.

" + }, + "DominantLanguageDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" + }, + "DominantLanguageDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the dominant language detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned to the dominant language detection job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the dominant language detection job. If the status is FAILED, the Message field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description for the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the dominant language detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the dominant language detection job completed.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the dominant language detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the dominant language detection job.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about a dominant language detection job.

" + }, + "DominantLanguageDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"DominantLanguageDetectionJobProperties"} + }, + "Double":{"type":"double"}, + "EndpointFilter":{ + "type":"structure", + "members":{ + "ModelArn":{ + "shape":"ComprehendModelArn", + "documentation":"

The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

" + }, + "Status":{ + "shape":"EndpointStatus", + "documentation":"

Specifies the status of the endpoint being returned. Possible values are: Creating, Ready, Updating, Deleting, Failed.

" + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Specifies a date before which the returned endpoint or endpoints were created.

" + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Specifies a date after which the returned endpoint or endpoints were created.

" + } + }, + "documentation":"

The filter used to determine which endpoints are are returned. You can filter jobs on their name, model, status, or the date and time that they were created. You can only set one filter at a time.

" + }, + "EndpointProperties":{ + "type":"structure", + "members":{ + "EndpointArn":{ + "shape":"ComprehendEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint.

" + }, + "Status":{ + "shape":"EndpointStatus", + "documentation":"

Specifies the status of the endpoint. Because the endpoint updates and creation are asynchronous, so customers will need to wait for the endpoint to be Ready status before making inference requests.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

Specifies a reason for failure in cases of Failed status.

" + }, + "ModelArn":{ + "shape":"ComprehendModelArn", + "documentation":"

The Amazon Resource Number (ARN) of the model to which the endpoint is attached.

" + }, + "DesiredInferenceUnits":{ + "shape":"InferenceUnitsInteger", + "documentation":"

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

" + }, + "CurrentInferenceUnits":{ + "shape":"InferenceUnitsInteger", + "documentation":"

The number of inference units currently used by the model using this endpoint.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The creation date and time of the endpoint.

" + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the endpoint was last modified.

" + } + }, + "documentation":"

Specifies information about the specified endpoint.

" + }, + "EndpointPropertiesList":{ + "type":"list", + "member":{"shape":"EndpointProperties"} + }, + "EndpointStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "FAILED", + "IN_SERVICE", + "UPDATING" + ] + }, + "EntitiesDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" + }, + "EntitiesDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the entities detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned the entities detection job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the entities detection job. If the status is FAILED, the Message field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the entities detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the entities detection job completed

" + }, + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the entities detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the entities detection job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language code of the input documents.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about an entities detection job.

" + }, + "EntitiesDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"EntitiesDetectionJobProperties"} + }, + "Entity":{ + "type":"structure", + "members":{ + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" + }, + "Type":{ + "shape":"EntityType", + "documentation":"

The entity's type.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The text of the entity.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

A character offset in the input text that shows where the entity begins (the first character is at position 0). The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

A character offset in the input text that shows where the entity ends. The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" + } + }, + "documentation":"

Provides information about an entity.

" + }, + "EntityRecognizerAnnotations":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

Specifies the Amazon S3 location where the annotations for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

" + } + }, + "documentation":"

Describes the annotations associated with a entity recognizer.

" + }, + "EntityRecognizerArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws(-[^:]+)?:comprehend:[a-zA-Z0-9-]*:[0-9]{12}:entity-recognizer/[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "EntityRecognizerDocuments":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

Specifies the Amazon S3 location where the training documents for an entity recognizer are located. The URI must be in the same region as the API endpoint that you are calling.

" + } + }, + "documentation":"

Describes the training documents submitted with an entity recognizer.

" + }, + "EntityRecognizerEntityList":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

Specifies the Amazon S3 location where the entity list is located. The URI must be in the same region as the API endpoint that you are calling.

" + } + }, + "documentation":"

Describes the entity recognizer submitted with an entity recognizer.

" + }, + "EntityRecognizerEvaluationMetrics":{ + "type":"structure", + "members":{ + "Precision":{ + "shape":"Double", + "documentation":"

A measure of the usefulness of the recognizer results in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

" + }, + "Recall":{ + "shape":"Double", + "documentation":"

A measure of how complete the recognizer results are for the test data. High recall means that the recognizer returned most of the relevant results.

" + }, + "F1Score":{ + "shape":"Double", + "documentation":"

A measure of how accurate the recognizer results are for the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

" + } + }, + "documentation":"

Detailed information about the accuracy of an entity recognizer.

" + }, + "EntityRecognizerFilter":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ModelStatus", + "documentation":"

The status of an entity recognizer.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of entities based on the time that the list was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

" + } + }, + "documentation":"

Provides information for filtering a list of entity recognizers. You can only specify one filtering parameter in a request. For more information, see the operation./>

" + }, + "EntityRecognizerInputDataConfig":{ + "type":"structure", + "required":[ + "EntityTypes", + "Documents" + ], + "members":{ + "EntityTypes":{ + "shape":"EntityTypesList", + "documentation":"

The entity types in the input data for an entity recognizer. A maximum of 12 entity types can be used at one time to train an entity recognizer.

" + }, + "Documents":{ + "shape":"EntityRecognizerDocuments", + "documentation":"

S3 location of the documents folder for an entity recognizer

" + }, + "Annotations":{ + "shape":"EntityRecognizerAnnotations", + "documentation":"

S3 location of the annotations file for an entity recognizer.

" + }, + "EntityList":{ + "shape":"EntityRecognizerEntityList", + "documentation":"

S3 location of the entity list for an entity recognizer.

" + } + }, + "documentation":"

Specifies the format and location of the input data.

" + }, + "EntityRecognizerMetadata":{ + "type":"structure", + "members":{ + "NumberOfTrainedDocuments":{ + "shape":"Integer", + "documentation":"

The number of documents in the input data that were used to train the entity recognizer. Typically this is 80 to 90 percent of the input documents.

" + }, + "NumberOfTestDocuments":{ + "shape":"Integer", + "documentation":"

The number of documents in the input data that were used to test the entity recognizer. Typically this is 10 to 20 percent of the input documents.

" + }, + "EvaluationMetrics":{ + "shape":"EntityRecognizerEvaluationMetrics", + "documentation":"

Detailed information about the accuracy of an entity recognizer.

" + }, + "EntityTypes":{ + "shape":"EntityRecognizerMetadataEntityTypesList", + "documentation":"

Entity types from the metadata of an entity recognizer.

" + } + }, + "documentation":"

Detailed information about an entity recognizer.

" + }, + "EntityRecognizerMetadataEntityTypesList":{ + "type":"list", + "member":{"shape":"EntityRecognizerMetadataEntityTypesListItem"} + }, + "EntityRecognizerMetadataEntityTypesListItem":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"AnyLengthString", + "documentation":"

Type of entity from the list of entity types in the metadata of an entity recognizer.

" + }, + "EvaluationMetrics":{ + "shape":"EntityTypesEvaluationMetrics", + "documentation":"

Detailed information about the accuracy of the entity recognizer for a specific item on the list of entity types.

" + }, + "NumberOfTrainMentions":{ + "shape":"Integer", + "documentation":"

Indicates the number of times the given entity type was seen in the training data.

" + } + }, + "documentation":"

Individual item from the list of entity types in the metadata of an entity recognizer.

" + }, + "EntityRecognizerProperties":{ + "type":"structure", + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

" + }, + "Status":{ + "shape":"ModelStatus", + "documentation":"

Provides the status of the entity recognizer.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of the recognizer.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the recognizer was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the recognizer creation completed.

" + }, + "TrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

The time that training of the entity recognizer started.

" + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

The time that training of the entity recognizer was completed.

" + }, + "InputDataConfig":{ + "shape":"EntityRecognizerInputDataConfig", + "documentation":"

The input data properties of an entity recognizer.

" + }, + "RecognizerMetadata":{ + "shape":"EntityRecognizerMetadata", + "documentation":"

Provides information about an entity recognizer.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your custom entity recognizer. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Describes information about an entity recognizer.

" + }, + "EntityRecognizerPropertiesList":{ + "type":"list", + "member":{"shape":"EntityRecognizerProperties"} + }, + "EntityType":{ + "type":"string", + "enum":[ + "PERSON", + "LOCATION", + "ORGANIZATION", + "COMMERCIAL_ITEM", + "EVENT", + "DATE", + "QUANTITY", + "TITLE", + "OTHER" + ] + }, + "EntityTypeName":{ + "type":"string", + "max":64, + "pattern":"[_A-Z0-9]+" + }, + "EntityTypesEvaluationMetrics":{ + "type":"structure", + "members":{ + "Precision":{ + "shape":"Double", + "documentation":"

A measure of the usefulness of the recognizer results for a specific entity type in the test data. High precision means that the recognizer returned substantially more relevant results than irrelevant ones.

" + }, + "Recall":{ + "shape":"Double", + "documentation":"

A measure of how complete the recognizer results are for a specific entity type in the test data. High recall means that the recognizer returned most of the relevant results.

" + }, + "F1Score":{ + "shape":"Double", + "documentation":"

A measure of how accurate the recognizer results are for for a specific entity type in the test data. It is derived from the Precision and Recall values. The F1Score is the harmonic average of the two scores. The highest score is 1, and the worst score is 0.

" + } + }, + "documentation":"

Detailed information about the accuracy of an entity recognizer for a specific entity type.

" + }, + "EntityTypesList":{ + "type":"list", + "member":{"shape":"EntityTypesListItem"} + }, + "EntityTypesListItem":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"EntityTypeName", + "documentation":"

Entity type of an item on an entity type list.

" + } + }, + "documentation":"

Information about an individual item on a list of entity types.

" + }, + "Float":{"type":"float"}, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" + }, + "InferenceUnitsInteger":{ + "type":"integer", + "min":1 + }, + "InputDataConfig":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

The Amazon S3 URI for the input data. The URI must be in same region as the API endpoint that you are calling. The URI can point to a single input file or it can provide the prefix for a collection of data files.

For example, if you use the URI S3://bucketName/prefix, if the prefix is a single file, Amazon Comprehend uses that file as input. If more than one file begins with the prefix, Amazon Comprehend uses all of them as input.

" + }, + "InputFormat":{ + "shape":"InputFormat", + "documentation":"

Specifies how the text in an input file should be processed:

  • ONE_DOC_PER_FILE - Each file is considered a separate document. Use this option when you are processing large documents, such as newspaper articles or scientific papers.

  • ONE_DOC_PER_LINE - Each line in a file is considered a separate document. Use this option when you are processing many short documents, such as text messages.

" + } + }, + "documentation":"

The input properties for a topic detection job.

" + }, + "InputFormat":{ + "type":"string", + "enum":[ + "ONE_DOC_PER_FILE", + "ONE_DOC_PER_LINE" + ] + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

An internal server error occurred. Retry your request.

", + "exception":true, + "fault":true + }, + "InvalidFilterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The filter specified for the operation is invalid. Specify a different filter.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request is invalid.

", + "exception":true + }, + "JobId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified job was not found. Check the job ID and try again.

", + "exception":true + }, + "JobStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "STOP_REQUESTED", + "STOPPED" + ] + }, + "KeyPhrase":{ + "type":"structure", + "members":{ + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of the detection.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The text of a key noun phrase.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

A character offset in the input text that shows where the key phrase begins (the first character is at position 0). The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

A character offset in the input text where the key phrase ends. The offset returns the position of each UTF-8 code point in the string. A code point is the abstract character from a particular graphical representation. For example, a multi-byte UTF-8 character maps to a single code point.

" + } + }, + "documentation":"

Describes a key noun phrase.

" + }, + "KeyPhrasesDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" + }, + "KeyPhrasesDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the key phrases detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned the key phrases detection job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the key phrases detection job. If the status is FAILED, the Message field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the key phrases detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the key phrases detection job completed.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the key phrases detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the key phrases detection job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language code of the input documents.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about a key phrases detection job.

" + }, + "KeyPhrasesDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"KeyPhrasesDetectionJobProperties"} + }, + "KmsKeyId":{ + "type":"string", + "max":2048 + }, + "KmsKeyValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The KMS customer managed key (CMK) entered cannot be validated. Verify the key and re-enter it.

", + "exception":true + }, + "LabelDelimiter":{ + "type":"string", + "max":1, + "min":1, + "pattern":"^[ ~!@#$%^*\\-_+=|\\\\:;\\t>?/]$" + }, + "LanguageCode":{ + "type":"string", + "enum":[ + "en", + "es", + "fr", + "de", + "it", + "pt", + "ar", + "hi", + "ja", + "ko", + "zh", + "zh-TW" + ] + }, + "ListDocumentClassificationJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"DocumentClassificationJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListDocumentClassificationJobsResponse":{ + "type":"structure", + "members":{ + "DocumentClassificationJobPropertiesList":{ + "shape":"DocumentClassificationJobPropertiesList", + "documentation":"

A list containing the properties of each job returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListDocumentClassifiersRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"DocumentClassifierFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListDocumentClassifiersResponse":{ + "type":"structure", + "members":{ + "DocumentClassifierPropertiesList":{ + "shape":"DocumentClassifierPropertiesList", + "documentation":"

A list containing the properties of each job returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListDominantLanguageDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"DominantLanguageDetectionJobFilter", + "documentation":"

Filters that jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListDominantLanguageDetectionJobsResponse":{ + "type":"structure", + "members":{ + "DominantLanguageDetectionJobPropertiesList":{ + "shape":"DominantLanguageDetectionJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListEndpointsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"EndpointFilter", + "documentation":"

Filters the endpoints that are returned. You can filter endpoints on their name, model, status, or the date and time that they were created. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListEndpointsResponse":{ + "type":"structure", + "members":{ + "EndpointPropertiesList":{ + "shape":"EndpointPropertiesList", + "documentation":"

Displays a list of endpoint properties being retrieved by the service in response to the request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListEntitiesDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"EntitiesDetectionJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListEntitiesDetectionJobsResponse":{ + "type":"structure", + "members":{ + "EntitiesDetectionJobPropertiesList":{ + "shape":"EntitiesDetectionJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListEntityRecognizersRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"EntityRecognizerFilter", + "documentation":"

Filters the list of entities returned. You can filter on Status, SubmitTimeBefore, or SubmitTimeAfter. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return on each page. The default is 100.

" + } + } + }, + "ListEntityRecognizersResponse":{ + "type":"structure", + "members":{ + "EntityRecognizerPropertiesList":{ + "shape":"EntityRecognizerPropertiesList", + "documentation":"

The list of properties of an entity recognizer.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListKeyPhrasesDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"KeyPhrasesDetectionJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListKeyPhrasesDetectionJobsResponse":{ + "type":"structure", + "members":{ + "KeyPhrasesDetectionJobPropertiesList":{ + "shape":"KeyPhrasesDetectionJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListOfClasses":{ + "type":"list", + "member":{"shape":"DocumentClass"} + }, + "ListOfDetectDominantLanguageResult":{ + "type":"list", + "member":{"shape":"BatchDetectDominantLanguageItemResult"} + }, + "ListOfDetectEntitiesResult":{ + "type":"list", + "member":{"shape":"BatchDetectEntitiesItemResult"} + }, + "ListOfDetectKeyPhrasesResult":{ + "type":"list", + "member":{"shape":"BatchDetectKeyPhrasesItemResult"} + }, + "ListOfDetectSentimentResult":{ + "type":"list", + "member":{"shape":"BatchDetectSentimentItemResult"} + }, + "ListOfDetectSyntaxResult":{ + "type":"list", + "member":{"shape":"BatchDetectSyntaxItemResult"} + }, + "ListOfDominantLanguages":{ + "type":"list", + "member":{"shape":"DominantLanguage"} + }, + "ListOfEntities":{ + "type":"list", + "member":{"shape":"Entity"} + }, + "ListOfKeyPhrases":{ + "type":"list", + "member":{"shape":"KeyPhrase"} + }, + "ListOfLabels":{ + "type":"list", + "member":{"shape":"DocumentLabel"} + }, + "ListOfSyntaxTokens":{ + "type":"list", + "member":{"shape":"SyntaxToken"} + }, + "ListSentimentDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"SentimentDetectionJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs on their name, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListSentimentDetectionJobsResponse":{ + "type":"structure", + "members":{ + "SentimentDetectionJobPropertiesList":{ + "shape":"SentimentDetectionJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource you are querying.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags associated with the Amazon Comprehend resource being queried. A tag is a key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department.

" + } + } + }, + "ListTopicsDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"TopicsDetectionJobFilter", + "documentation":"

Filters the jobs that are returned. Jobs can be filtered on their name, status, or the date and time that they were submitted. You can set only one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListTopicsDetectionJobsResponse":{ + "type":"structure", + "members":{ + "TopicsDetectionJobPropertiesList":{ + "shape":"TopicsDetectionJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "MaxResultsInteger":{ + "type":"integer", + "max":500, + "min":1 + }, + "ModelStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "TRAINING", + "DELETING", + "STOP_REQUESTED", + "STOPPED", + "IN_ERROR", + "TRAINED" + ] + }, + "NumberOfTopicsInteger":{ + "type":"integer", + "max":100, + "min":1 + }, + "OutputDataConfig":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

When you use the OutputDataConfig object with asynchronous operations, you specify the Amazon S3 location where you want to write the output data. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of the output file.

When the topic detection job is finished, the service creates an output file in a directory specific to the job. The S3Uri field contains the location of the output file, called output.tar.gz. It is a compressed archive that contains the ouput of the operation.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt the output results from an analysis job. The KmsKeyId can be one of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

  • KMS Key Alias: \"alias/ExampleAlias\"

  • ARN of a KMS Key Alias: \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

" + } + }, + "documentation":"

Provides configuration parameters for the output of topic detection jobs.

" + }, + "PartOfSpeechTag":{ + "type":"structure", + "members":{ + "Tag":{ + "shape":"PartOfSpeechTagType", + "documentation":"

Identifies the part of speech that the token represents.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The confidence that Amazon Comprehend has that the part of speech was correctly identified.

" + } + }, + "documentation":"

Identifies the part of speech represented by the token and gives the confidence that Amazon Comprehend has that the part of speech was correctly identified. For more information about the parts of speech that Amazon Comprehend can identify, see how-syntax.

" + }, + "PartOfSpeechTagType":{ + "type":"string", + "enum":[ + "ADJ", + "ADP", + "ADV", + "AUX", + "CONJ", + "CCONJ", + "DET", + "INTJ", + "NOUN", + "NUM", + "O", + "PART", + "PRON", + "PROPN", + "PUNCT", + "SCONJ", + "SYM", + "VERB" + ] + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified name is already in use. Use a different name and try your request again.

", + "exception":true + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The maximum number of recognizers per account has been exceeded. Review the recognizers, perform cleanup, and then try your request again.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified resource ARN was not found. Check the ARN and try your request again.

", + "exception":true + }, + "ResourceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The specified resource is not available. Check to see if the resource is in the TRAINED state and try your request again.

", + "exception":true + }, + "S3Uri":{ + "type":"string", + "max":1024, + "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" + }, + "SecurityGroupId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "SentimentDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of dominant language detection jobs. For more information, see the operation.

" + }, + "SentimentDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the sentiment detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned to the sentiment detection job

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the sentiment detection job. If the status is FAILED, the Messages field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the sentiment detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the sentiment detection job ended.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the sentiment detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the sentiment detection job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language code of the input documents.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend read access to your input data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about a sentiment detection job.

" + }, + "SentimentDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"SentimentDetectionJobProperties"} + }, + "SentimentScore":{ + "type":"structure", + "members":{ + "Positive":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the POSITIVE sentiment.

" + }, + "Negative":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEGATIVE sentiment.

" + }, + "Neutral":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the NEUTRAL sentiment.

" + }, + "Mixed":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend has in the accuracy of its detection of the MIXED sentiment.

" + } + }, + "documentation":"

Describes the level of confidence that Amazon Comprehend has in the accuracy of its detection of sentiments.

" + }, + "SentimentType":{ + "type":"string", + "enum":[ + "POSITIVE", + "NEGATIVE", + "NEUTRAL", + "MIXED" + ] + }, + "StartDocumentClassificationJobRequest":{ + "type":"structure", + "required":[ + "DocumentClassifierArn", + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn" + ], + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) of the document classifier to use to process the job.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your document classification job. For more information, see Amazon VPC.

" + } + } + }, + "StartDocumentClassificationJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of the job, use this identifier with the operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job:

  • SUBMITTED - The job has been received and queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. For details, use the operation.

  • STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is processing the request.

  • STOPPED - The job was successfully stopped without completing.

" + } + } + }, + "StartDominantLanguageDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

An identifier for the job.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your dominant language detection job. For more information, see Amazon VPC.

" + } + } + }, + "StartDominantLanguageDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" + } + } + }, + "StartEntitiesDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the specific entity recognizer to be used by the StartEntitiesDetectionJob. This ARN is optional and is only used for a custom entity recognition job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language. You can specify any of the languages supported by Amazon Comprehend. If custom entities recognition is used, this parameter is ignored and the language used for training the model is used instead.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your entity detection job. For more information, see Amazon VPC.

" + } + } + }, + "StartEntitiesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of job, use this identifier with the operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

  • STOP_REQUESTED - Amazon Comprehend has received a stop request for the job and is processing the request.

  • STOPPED - The job was successfully stopped without completing.

" + } + } + }, + "StartKeyPhrasesDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your key phrases detection job. For more information, see Amazon VPC.

" + } + } + }, + "StartKeyPhrasesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" + } + } + }, + "StartSentimentDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your sentiment detection job. For more information, see Amazon VPC.

" + } + } + }, + "StartSentimentDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job.

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the operation.

" + } + } + }, + "StartTopicsDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files. The output is a compressed archive with two files, topic-terms.csv that lists the terms associated with each topic, and doc-topics.csv that lists the documents associated with each topic

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend read access to your input data. For more information, see https://docs.aws.amazon.com/comprehend/latest/dg/access-control-managing-permissions.html#auth-role-permissions.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "NumberOfTopics":{ + "shape":"NumberOfTopicsInteger", + "documentation":"

The number of topics to detect.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you do not set the client request token, Amazon Comprehend generates one.

", + "idempotencyToken":true + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC.

" + } + } + }, + "StartTopicsDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of the job, use this identifier with the DescribeTopicDetectionJob operation.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The status of the job:

  • SUBMITTED - The job has been received and is queued for processing.

  • IN_PROGRESS - Amazon Comprehend is processing the job.

  • COMPLETED - The job was successfully completed and the output is available.

  • FAILED - The job did not complete. To get details, use the DescribeTopicDetectionJob operation.

" + } + } + }, + "StopDominantLanguageDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the dominant language detection job to stop.

" + } + } + }, + "StopDominantLanguageDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the dominant language detection job to stop.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopDominantLanguageDetectionJob operation.

" + } + } + }, + "StopEntitiesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the entities detection job to stop.

" + } + } + }, + "StopEntitiesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the entities detection job to stop.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopEntitiesDetectionJob operation.

" + } + } + }, + "StopKeyPhrasesDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the key phrases detection job to stop.

" + } + } + }, + "StopKeyPhrasesDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the key phrases detection job to stop.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopKeyPhrasesDetectionJob operation.

" + } + } + }, + "StopSentimentDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the sentiment detection job to stop.

" + } + } + }, + "StopSentimentDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the sentiment detection job to stop.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Either STOP_REQUESTED if the job is currently running, or STOPPED if the job was previously stopped with the StopSentimentDetectionJob operation.

" + } + } + }, + "StopTrainingDocumentClassifierRequest":{ + "type":"structure", + "required":["DocumentClassifierArn"], + "members":{ + "DocumentClassifierArn":{ + "shape":"DocumentClassifierArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the document classifier currently being trained.

" + } + } + }, + "StopTrainingDocumentClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "StopTrainingEntityRecognizerRequest":{ + "type":"structure", + "required":["EntityRecognizerArn"], + "members":{ + "EntityRecognizerArn":{ + "shape":"EntityRecognizerArn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the entity recognizer currently being trained.

" + } + } + }, + "StopTrainingEntityRecognizerResponse":{ + "type":"structure", + "members":{ + } + }, + "String":{ + "type":"string", + "min":1 + }, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[-0-9a-zA-Z]+" + }, + "Subnets":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, + "SyntaxLanguageCode":{ + "type":"string", + "enum":[ + "en", + "es", + "fr", + "de", + "it", + "pt" + ] + }, + "SyntaxToken":{ + "type":"structure", + "members":{ + "TokenId":{ + "shape":"Integer", + "documentation":"

A unique identifier for a token.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The word that was recognized in the source text.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The zero-based offset from the beginning of the source text to the first character in the word.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The zero-based offset from the beginning of the source text to the last character in the word.

" + }, + "PartOfSpeech":{ + "shape":"PartOfSpeechTag", + "documentation":"

Provides the part of speech label and the confidence level that Amazon Comprehend has that the part of speech was correctly identified. For more information, see how-syntax.

" + } + }, + "documentation":"

Represents a work in the input text that was recognized and assigned a part of speech. There is one syntax token record for each word in the source text.

" + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The initial part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the key portion of the pair, with multiple possible values such as “sales,” “legal,” and “administration.”

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The second part of a key-value pair that forms a tag associated with a given resource. For instance, if you want to show which resources are used by which departments, you might use “Department” as the initial (key) portion of the pair, with a value of “sales” to indicate the sales department.

" + } + }, + "documentation":"

A key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a tag with the key-value pair ‘Department’:’Sales’ might be added to a resource to indicate its use by a particular department.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource to which you want to associate the tags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags being associated with a specific Amazon Comprehend resource. There can be a maximum of 50 tags (both existing and pending) associated with a specific resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TextSizeLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The size of the input text exceeds the limit. Use a smaller document.

", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The number of requests exceeds the limit. Resubmit your request later.

", + "exception":true + }, + "TooManyTagKeysException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request contains more tag keys than can be associated with a resource (50 tag keys per resource).

", + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request contains more tags than can be associated with a resource (50 tags per resource). The maximum number of tags includes both existing tags and those included in your current request.

", + "exception":true + }, + "TopicsDetectionJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of topic detection jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Only returns jobs submitted before the specified time. Jobs are returned in descending order, newest to oldest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Only returns jobs submitted after the specified time. Jobs are returned in ascending order, oldest to newest.

" + } + }, + "documentation":"

Provides information for filtering topic detection jobs. For more information, see .

" + }, + "TopicsDetectionJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the topic detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name of the topic detection job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the topic detection job. If the status is Failed, the reason for the failure is shown in the Message field.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description for the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the topic detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the topic detection job was completed.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration supplied when you created the topic detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration supplied when you created the topic detection job.

" + }, + "NumberOfTopics":{ + "shape":"Integer", + "documentation":"

The number of topics to detect supplied when you created the topic detection job. The default is 10.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that grants Amazon Comprehend read access to your job data.

" + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt data on the storage volume attached to the ML compute instance(s) that process the analysis job. The VolumeKmsKeyId can be either of the following formats:

  • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

  • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

Configuration parameters for a private Virtual Private Cloud (VPC) containing the resources you are using for your topic detection job. For more information, see Amazon VPC.

" + } + }, + "documentation":"

Provides information about a topic detection job.

" + }, + "TopicsDetectionJobPropertiesList":{ + "type":"list", + "member":{"shape":"TopicsDetectionJobProperties"} + }, + "UnsupportedLanguageException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Amazon Comprehend can't process the language of the input text. For all custom entity recognition APIs (such as CreateEntityRecognizer), only English is accepted. For most other APIs, such as those for Custom Classification, Amazon Comprehend accepts text in all supported languages. For a list of supported languages, see supported-languages.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ComprehendArn", + "documentation":"

The Amazon Resource Name (ARN) of the given Amazon Comprehend resource from which you want to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The initial part of a key-value pair that forms a tag being removed from a given resource. For example, a tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales department. Keys must be unique and cannot be duplicated for a particular resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointArn", + "DesiredInferenceUnits" + ], + "members":{ + "EndpointArn":{ + "shape":"ComprehendEndpointArn", + "documentation":"

The Amazon Resource Number (ARN) of the endpoint being updated.

" + }, + "DesiredInferenceUnits":{ + "shape":"InferenceUnitsInteger", + "documentation":"

The desired number of inference units to be used by the model using this endpoint. Each inference unit represents of a throughput of 100 characters per second.

" + } + } + }, + "UpdateEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "VpcConfig":{ + "type":"structure", + "required":[ + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The ID number for a security group on an instance of your private VPC. Security groups on your VPC function serve as a virtual firewall to control inbound and outbound traffic and provides security for the resources that you’ll be accessing on the VPC. This ID number is preceded by \"sg-\", for instance: \"sg-03b388029b0a285ea\". For more information, see Security Groups for your VPC.

" + }, + "Subnets":{ + "shape":"Subnets", + "documentation":"

The ID for each subnet being used in your private VPC. This subnet is a subset of the a range of IPv4 addresses used by the VPC and is specific to a given availability zone in the VPC’s region. This ID number is preceded by \"subnet-\", for instance: \"subnet-04ccf456919e69055\". For more information, see VPCs and Subnets.

" + } + }, + "documentation":"

Configuration parameters for an optional private Virtual Private Cloud (VPC) containing the resources you are using for the job. For For more information, see Amazon VPC.

" + } + }, + "documentation":"

Amazon Comprehend is an AWS service for gaining insight into the content of documents. Use these actions to determine the topics contained in your documents, the topics they discuss, the predominant sentiment expressed in them, the predominant language used, and more.

" +} diff -Nru python-botocore-1.4.70/botocore/data/comprehendmedical/2018-10-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/comprehendmedical/2018-10-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/comprehendmedical/2018-10-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/comprehendmedical/2018-10-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/comprehendmedical/2018-10-30/service-2.json python-botocore-1.16.19+repack/botocore/data/comprehendmedical/2018-10-30/service-2.json --- python-botocore-1.4.70/botocore/data/comprehendmedical/2018-10-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/comprehendmedical/2018-10-30/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1790 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-30", + "endpointPrefix":"comprehendmedical", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"ComprehendMedical", + "serviceFullName":"AWS Comprehend Medical", + "serviceId":"ComprehendMedical", + "signatureVersion":"v4", + "signingName":"comprehendmedical", + "targetPrefix":"ComprehendMedical_20181030", + "uid":"comprehendmedical-2018-10-30" + }, + "operations":{ + "DescribeEntitiesDetectionV2Job":{ + "name":"DescribeEntitiesDetectionV2Job", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntitiesDetectionV2JobRequest"}, + "output":{"shape":"DescribeEntitiesDetectionV2JobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a medical entities detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeICD10CMInferenceJob":{ + "name":"DescribeICD10CMInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeICD10CMInferenceJobRequest"}, + "output":{"shape":"DescribeICD10CMInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with an InferICD10CM job. Use this operation to get the status of an inference job.

" + }, + "DescribePHIDetectionJob":{ + "name":"DescribePHIDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePHIDetectionJobRequest"}, + "output":{"shape":"DescribePHIDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with a protected health information (PHI) detection job. Use this operation to get the status of a detection job.

" + }, + "DescribeRxNormInferenceJob":{ + "name":"DescribeRxNormInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRxNormInferenceJobRequest"}, + "output":{"shape":"DescribeRxNormInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the properties associated with an InferRxNorm job. Use this operation to get the status of an inference job.

" + }, + "DetectEntities":{ + "name":"DetectEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectEntitiesRequest"}, + "output":{"shape":"DetectEntitiesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidEncodingException"}, + {"shape":"TextSizeLimitExceededException"} + ], + "documentation":"

The DetectEntities operation is deprecated. You should use the DetectEntitiesV2 operation instead.

Inspects the clinical text for a variety of medical entities and returns specific information about them such as entity category, location, and confidence score on that information .

", + "deprecated":true, + "deprecatedMessage":"This operation is deprecated, use DetectEntitiesV2 instead." + }, + "DetectEntitiesV2":{ + "name":"DetectEntitiesV2", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectEntitiesV2Request"}, + "output":{"shape":"DetectEntitiesV2Response"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidEncodingException"}, + {"shape":"TextSizeLimitExceededException"} + ], + "documentation":"

Inspects the clinical text for a variety of medical entities and returns specific information about them such as entity category, location, and confidence score on that information. Amazon Comprehend Medical only detects medical entities in English language texts.

The DetectEntitiesV2 operation replaces the DetectEntities operation. This new action uses a different model for determining the entities in your medical text and changes the way that some entities are returned in the output. You should use the DetectEntitiesV2 operation in all new applications.

The DetectEntitiesV2 operation returns the Acuity and Direction entities as attributes instead of types.

" + }, + "DetectPHI":{ + "name":"DetectPHI", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectPHIRequest"}, + "output":{"shape":"DetectPHIResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidEncodingException"}, + {"shape":"TextSizeLimitExceededException"} + ], + "documentation":"

Inspects the clinical text for protected health information (PHI) entities and returns the entity category, location, and confidence score for each entity. Amazon Comprehend Medical only detects entities in English language texts.

" + }, + "InferICD10CM":{ + "name":"InferICD10CM", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InferICD10CMRequest"}, + "output":{"shape":"InferICD10CMResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidEncodingException"}, + {"shape":"TextSizeLimitExceededException"} + ], + "documentation":"

InferICD10CM detects medical conditions as entities listed in a patient record and links those entities to normalized concept identifiers in the ICD-10-CM knowledge base from the Centers for Disease Control. Amazon Comprehend Medical only detects medical entities in English language texts.

" + }, + "InferRxNorm":{ + "name":"InferRxNorm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InferRxNormRequest"}, + "output":{"shape":"InferRxNormResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidEncodingException"}, + {"shape":"TextSizeLimitExceededException"} + ], + "documentation":"

InferRxNorm detects medications as entities listed in a patient record and links to the normalized concept identifiers in the RxNorm database from the National Library of Medicine. Amazon Comprehend Medical only detects medical entities in English language texts.

" + }, + "ListEntitiesDetectionV2Jobs":{ + "name":"ListEntitiesDetectionV2Jobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEntitiesDetectionV2JobsRequest"}, + "output":{"shape":"ListEntitiesDetectionV2JobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of medical entity detection jobs that you have submitted.

" + }, + "ListICD10CMInferenceJobs":{ + "name":"ListICD10CMInferenceJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListICD10CMInferenceJobsRequest"}, + "output":{"shape":"ListICD10CMInferenceJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of InferICD10CM jobs that you have submitted.

" + }, + "ListPHIDetectionJobs":{ + "name":"ListPHIDetectionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPHIDetectionJobsRequest"}, + "output":{"shape":"ListPHIDetectionJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of protected health information (PHI) detection jobs that you have submitted.

" + }, + "ListRxNormInferenceJobs":{ + "name":"ListRxNormInferenceJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRxNormInferenceJobsRequest"}, + "output":{"shape":"ListRxNormInferenceJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of InferRxNorm jobs that you have submitted.

" + }, + "StartEntitiesDetectionV2Job":{ + "name":"StartEntitiesDetectionV2Job", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartEntitiesDetectionV2JobRequest"}, + "output":{"shape":"StartEntitiesDetectionV2JobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous medical entity detection job for a collection of documents. Use the DescribeEntitiesDetectionV2Job operation to track the status of a job.

" + }, + "StartICD10CMInferenceJob":{ + "name":"StartICD10CMInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartICD10CMInferenceJobRequest"}, + "output":{"shape":"StartICD10CMInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous job to detect medical conditions and link them to the ICD-10-CM ontology. Use the DescribeICD10CMInferenceJob operation to track the status of a job.

" + }, + "StartPHIDetectionJob":{ + "name":"StartPHIDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartPHIDetectionJobRequest"}, + "output":{"shape":"StartPHIDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous job to detect protected health information (PHI). Use the DescribePHIDetectionJob operation to track the status of a job.

" + }, + "StartRxNormInferenceJob":{ + "name":"StartRxNormInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartRxNormInferenceJobRequest"}, + "output":{"shape":"StartRxNormInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts an asynchronous job to detect medication entities and link them to the RxNorm ontology. Use the DescribeRxNormInferenceJob operation to track the status of a job.

" + }, + "StopEntitiesDetectionV2Job":{ + "name":"StopEntitiesDetectionV2Job", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopEntitiesDetectionV2JobRequest"}, + "output":{"shape":"StopEntitiesDetectionV2JobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a medical entities detection job in progress.

" + }, + "StopICD10CMInferenceJob":{ + "name":"StopICD10CMInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopICD10CMInferenceJobRequest"}, + "output":{"shape":"StopICD10CMInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops an InferICD10CM inference job in progress.

" + }, + "StopPHIDetectionJob":{ + "name":"StopPHIDetectionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopPHIDetectionJobRequest"}, + "output":{"shape":"StopPHIDetectionJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a protected health information (PHI) detection job in progress.

" + }, + "StopRxNormInferenceJob":{ + "name":"StopRxNormInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopRxNormInferenceJobRequest"}, + "output":{"shape":"StopRxNormInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops an InferRxNorm inference job in progress.

" + } + }, + "shapes":{ + "AnyLengthString":{"type":"string"}, + "Attribute":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"EntitySubType", + "documentation":"

The type of attribute.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized as an attribute.

" + }, + "RelationshipScore":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this entity.

" + }, + "RelationshipType":{ + "shape":"RelationshipType", + "documentation":"

The type of relationship between the entity and attribute. Type for the relationship is OVERLAP, indicating that the entity occurred at the same time as the Date_Expression.

" + }, + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute ends. The offset returns the UTF-8 code point in the string.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The segment of input text extracted as this attribute.

" + }, + "Category":{ + "shape":"EntityType", + "documentation":"

The category of attribute.

" + }, + "Traits":{ + "shape":"TraitList", + "documentation":"

Contextual information for this attribute.

" + } + }, + "documentation":"

An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the dosage of a medication taken. It contains information about the attribute such as id, begin and end offset within the input text, and the segment of the input text.

" + }, + "AttributeList":{ + "type":"list", + "member":{"shape":"Attribute"} + }, + "AttributeName":{ + "type":"string", + "enum":[ + "SIGN", + "SYMPTOM", + "DIAGNOSIS", + "NEGATION" + ] + }, + "BoundedLengthString":{ + "type":"string", + "max":20000, + "min":1 + }, + "ClientRequestTokenString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "ComprehendMedicalAsyncJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

Filters on the name of the job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

Filters the list of jobs based on job status. Returns only jobs with the specified status.

" + }, + "SubmitTimeBefore":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

" + }, + "SubmitTimeAfter":{ + "shape":"Timestamp", + "documentation":"

Filters the list of jobs based on the time that the job was submitted for processing. Returns only jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

" + } + }, + "documentation":"

Provides information for filtering a list of detection jobs.

" + }, + "ComprehendMedicalAsyncJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier assigned to the detection job.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The name that you assigned to the detection job.

" + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

The current status of the detection job. If the status is FAILED, the Message field shows the reason for the failure.

" + }, + "Message":{ + "shape":"AnyLengthString", + "documentation":"

A description of the status of a job.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The time that the detection job was submitted for processing.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The time that the detection job completed.

" + }, + "ExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that job metadata is deleted from the server. Output files in your S3 bucket will not be deleted. After the metadata is deleted, the job will no longer appear in the results of the ListEntitiesDetectionV2Job or the ListPHIDetectionJobs operation.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

The input data configuration that you supplied when you created the detection job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

The output data configuration that you supplied when you created the detection job.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language code of the input documents.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) that gives Amazon Comprehend Medical read access to your input data.

" + }, + "ManifestFilePath":{ + "shape":"ManifestFilePath", + "documentation":"

The path to the file that describes the results of a batch job.

" + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

The AWS Key Management Service key, if any, used to encrypt the output files.

" + }, + "ModelVersion":{ + "shape":"ModelVersion", + "documentation":"

The version of the model used to analyze the documents. The version number looks like X.X.X. You can use this information to track the model used for a particular batch of documents.

" + } + }, + "documentation":"

Provides information about a detection job.

" + }, + "ComprehendMedicalAsyncJobPropertiesList":{ + "type":"list", + "member":{"shape":"ComprehendMedicalAsyncJobProperties"} + }, + "DescribeEntitiesDetectionV2JobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend Medical generated for the job. The StartEntitiesDetectionV2Job operation returns this identifier in its response.

" + } + } + }, + "DescribeEntitiesDetectionV2JobResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobProperties":{ + "shape":"ComprehendMedicalAsyncJobProperties", + "documentation":"

An object that contains the properties associated with a detection job.

" + } + } + }, + "DescribeICD10CMInferenceJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend Medical generated for the job. The StartICD10CMInferenceJob operation returns this identifier in its response.

" + } + } + }, + "DescribeICD10CMInferenceJobResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobProperties":{ + "shape":"ComprehendMedicalAsyncJobProperties", + "documentation":"

An object that contains the properties associated with a detection job.

" + } + } + }, + "DescribePHIDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend Medical generated for the job. The StartPHIDetectionJob operation returns this identifier in its response.

" + } + } + }, + "DescribePHIDetectionJobResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobProperties":{ + "shape":"ComprehendMedicalAsyncJobProperties", + "documentation":"

An object that contains the properties associated with a detection job.

" + } + } + }, + "DescribeRxNormInferenceJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier that Amazon Comprehend Medical generated for the job. The StartRxNormInferenceJob operation returns this identifier in its response.

" + } + } + }, + "DescribeRxNormInferenceJobResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobProperties":{ + "shape":"ComprehendMedicalAsyncJobProperties", + "documentation":"

An object that contains the properties associated with a detection job.

" + } + } + }, + "DetectEntitiesRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"BoundedLengthString", + "documentation":"

A UTF-8 text string containing the clinical content being examined for entities. Each string must contain fewer than 20,000 bytes of characters.

" + } + } + }, + "DetectEntitiesResponse":{ + "type":"structure", + "required":[ + "Entities", + "ModelVersion" + ], + "members":{ + "Entities":{ + "shape":"EntityList", + "documentation":"

The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned.

" + }, + "UnmappedAttributes":{ + "shape":"UnmappedAttributeList", + "documentation":"

Attributes extracted from the input text that we were unable to relate to an entity.

" + }, + "PaginationToken":{ + "shape":"String", + "documentation":"

If the result of the previous request to DetectEntities was truncated, include the PaginationToken to fetch the next page of entities.

" + }, + "ModelVersion":{ + "shape":"String", + "documentation":"

The version of the model used to analyze the documents. The version number looks like X.X.X. You can use this information to track the model used for a particular batch of documents.

" + } + } + }, + "DetectEntitiesV2Request":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"BoundedLengthString", + "documentation":"

A UTF-8 string containing the clinical content being examined for entities. Each string must contain fewer than 20,000 bytes of characters.

" + } + } + }, + "DetectEntitiesV2Response":{ + "type":"structure", + "required":[ + "Entities", + "ModelVersion" + ], + "members":{ + "Entities":{ + "shape":"EntityList", + "documentation":"

The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence in the detection and analysis. Attributes and traits of the entity are also returned.

" + }, + "UnmappedAttributes":{ + "shape":"UnmappedAttributeList", + "documentation":"

Attributes extracted from the input text that couldn't be related to an entity.

" + }, + "PaginationToken":{ + "shape":"String", + "documentation":"

If the result to the DetectEntitiesV2 operation was truncated, include the PaginationToken to fetch the next page of entities.

" + }, + "ModelVersion":{ + "shape":"String", + "documentation":"

The version of the model used to analyze the documents. The version number looks like X.X.X. You can use this information to track the model used for a particular batch of documents.

" + } + } + }, + "DetectPHIRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"BoundedLengthString", + "documentation":"

A UTF-8 text string containing the clinical content being examined for PHI entities. Each string must contain fewer than 20,000 bytes of characters.

" + } + } + }, + "DetectPHIResponse":{ + "type":"structure", + "required":[ + "Entities", + "ModelVersion" + ], + "members":{ + "Entities":{ + "shape":"EntityList", + "documentation":"

The collection of PHI entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in its detection.

" + }, + "PaginationToken":{ + "shape":"String", + "documentation":"

If the result of the previous request to DetectPHI was truncated, include the PaginationToken to fetch the next page of PHI entities.

" + }, + "ModelVersion":{ + "shape":"String", + "documentation":"

The version of the model used to analyze the documents. The version number looks like X.X.X. You can use this information to track the model used for a particular batch of documents.

" + } + } + }, + "Entity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity ends. The offset returns the UTF-8 code point in the string.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The segment of input text extracted as this entity.

" + }, + "Category":{ + "shape":"EntityType", + "documentation":"

The category of the entity.

" + }, + "Type":{ + "shape":"EntitySubType", + "documentation":"

Describes the specific type of entity with category of entities.

" + }, + "Traits":{ + "shape":"TraitList", + "documentation":"

Contextual information for the entity.

" + }, + "Attributes":{ + "shape":"AttributeList", + "documentation":"

The extracted attributes that relate to this entity.

" + } + }, + "documentation":"

Provides information about an extracted medical entity.

" + }, + "EntityList":{ + "type":"list", + "member":{"shape":"Entity"} + }, + "EntitySubType":{ + "type":"string", + "enum":[ + "NAME", + "DOSAGE", + "ROUTE_OR_MODE", + "FORM", + "FREQUENCY", + "DURATION", + "GENERIC_NAME", + "BRAND_NAME", + "STRENGTH", + "RATE", + "ACUITY", + "TEST_NAME", + "TEST_VALUE", + "TEST_UNITS", + "PROCEDURE_NAME", + "TREATMENT_NAME", + "DATE", + "AGE", + "CONTACT_POINT", + "EMAIL", + "IDENTIFIER", + "URL", + "ADDRESS", + "PROFESSION", + "SYSTEM_ORGAN_SITE", + "DIRECTION", + "QUALITY", + "QUANTITY", + "TIME_EXPRESSION", + "TIME_TO_MEDICATION_NAME", + "TIME_TO_DX_NAME", + "TIME_TO_TEST_NAME", + "TIME_TO_PROCEDURE_NAME", + "TIME_TO_TREATMENT_NAME" + ] + }, + "EntityType":{ + "type":"string", + "enum":[ + "MEDICATION", + "MEDICAL_CONDITION", + "PROTECTED_HEALTH_INFORMATION", + "TEST_TREATMENT_PROCEDURE", + "ANATOMY", + "TIME_EXPRESSION" + ] + }, + "Float":{"type":"float"}, + "ICD10CMAttribute":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ICD10CMAttributeType", + "documentation":"

The type of attribute. InferICD10CM detects entities of the type DX_NAME.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized as an attribute.

" + }, + "RelationshipScore":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that this attribute is correctly related to this entity.

" + }, + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute ends. The offset returns the UTF-8 code point in the string.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The segment of input text which contains the detected attribute.

" + }, + "Traits":{ + "shape":"ICD10CMTraitList", + "documentation":"

The contextual information for the attribute. The traits recognized by InferICD10CM are DIAGNOSIS, SIGN, SYMPTOM, and NEGATION.

" + } + }, + "documentation":"

The detected attributes that relate to an entity. This includes an extracted segment of the text that is an attribute of an entity, or otherwise related to an entity. InferICD10CM detects the following attributes: Direction, System, Organ or Site, and Acuity.

" + }, + "ICD10CMAttributeList":{ + "type":"list", + "member":{"shape":"ICD10CMAttribute"} + }, + "ICD10CMAttributeType":{ + "type":"string", + "enum":[ + "ACUITY", + "DIRECTION", + "SYSTEM_ORGAN_SITE", + "QUALITY", + "QUANTITY" + ] + }, + "ICD10CMConcept":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The long description of the ICD-10-CM code in the ontology.

" + }, + "Code":{ + "shape":"String", + "documentation":"

The ICD-10-CM code that identifies the concept found in the knowledge base from the Centers for Disease Control.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the entity is accurately linked to an ICD-10-CM concept.

" + } + }, + "documentation":"

The ICD-10-CM concepts that the entity could refer to, along with a score indicating the likelihood of the match.

" + }, + "ICD10CMConceptList":{ + "type":"list", + "member":{"shape":"ICD10CMConcept"} + }, + "ICD10CMEntity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "Text":{ + "shape":"OntologyLinkingBoundedLengthString", + "documentation":"

The segment of input text that is matched to the detected entity.

" + }, + "Category":{ + "shape":"ICD10CMEntityCategory", + "documentation":"

The category of the entity. InferICD10CM detects entities in the MEDICAL_CONDITION category.

" + }, + "Type":{ + "shape":"ICD10CMEntityType", + "documentation":"

Describes the specific type of entity with category of entities. InferICD10CM detects entities of the type DX_NAME.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has in the accuracy of the detection.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity ends. The offset returns the UTF-8 code point in the string.

" + }, + "Attributes":{ + "shape":"ICD10CMAttributeList", + "documentation":"

The detected attributes that relate to the entity. An extracted segment of the text that is an attribute of an entity, or otherwise related to an entity, such as the nature of a medical condition.

" + }, + "Traits":{ + "shape":"ICD10CMTraitList", + "documentation":"

Provides Contextual information for the entity. The traits recognized by InferICD10CM are DIAGNOSIS, SIGN, SYMPTOM, and NEGATION.

" + }, + "ICD10CMConcepts":{ + "shape":"ICD10CMConceptList", + "documentation":"

The ICD-10-CM concepts that the entity could refer to, along with a score indicating the likelihood of the match.

" + } + }, + "documentation":"

The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned.

" + }, + "ICD10CMEntityCategory":{ + "type":"string", + "enum":["MEDICAL_CONDITION"] + }, + "ICD10CMEntityList":{ + "type":"list", + "member":{"shape":"ICD10CMEntity"} + }, + "ICD10CMEntityType":{ + "type":"string", + "enum":["DX_NAME"] + }, + "ICD10CMTrait":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ICD10CMTraitName", + "documentation":"

Provides a name or contextual description about the trait.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the segment of text is correctly recognized as a trait.

" + } + }, + "documentation":"

Contextual information for the entity. The traits recognized by InferICD10CM are DIAGNOSIS, SIGN, SYMPTOM, and NEGATION.

" + }, + "ICD10CMTraitList":{ + "type":"list", + "member":{"shape":"ICD10CMTrait"} + }, + "ICD10CMTraitName":{ + "type":"string", + "enum":[ + "NEGATION", + "DIAGNOSIS", + "SIGN", + "SYMPTOM" + ] + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" + }, + "InferICD10CMRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"OntologyLinkingBoundedLengthString", + "documentation":"

The input text used for analysis. The input for InferICD10CM is a string from 1 to 10000 characters.

" + } + } + }, + "InferICD10CMResponse":{ + "type":"structure", + "required":["Entities"], + "members":{ + "Entities":{ + "shape":"ICD10CMEntityList", + "documentation":"

The medical conditions detected in the text linked to ICD-10-CM concepts. If the action is successful, the service sends back an HTTP 200 response, as well as the entities detected.

" + }, + "PaginationToken":{ + "shape":"String", + "documentation":"

If the result of the previous request to InferICD10CM was truncated, include the PaginationToken to fetch the next page of medical condition entities.

" + }, + "ModelVersion":{ + "shape":"String", + "documentation":"

The version of the model used to analyze the documents, in the format n.n.n You can use this information to track the model used for a particular batch of documents.

" + } + } + }, + "InferRxNormRequest":{ + "type":"structure", + "required":["Text"], + "members":{ + "Text":{ + "shape":"OntologyLinkingBoundedLengthString", + "documentation":"

The input text used for analysis. The input for InferRxNorm is a string from 1 to 10000 characters.

" + } + } + }, + "InferRxNormResponse":{ + "type":"structure", + "required":["Entities"], + "members":{ + "Entities":{ + "shape":"RxNormEntityList", + "documentation":"

The medication entities detected in the text linked to RxNorm concepts. If the action is successful, the service sends back an HTTP 200 response, as well as the entities detected.

" + }, + "PaginationToken":{ + "shape":"String", + "documentation":"

If the result of the previous request to InferRxNorm was truncated, include the PaginationToken to fetch the next page of medication entities.

" + }, + "ModelVersion":{ + "shape":"String", + "documentation":"

The version of the model used to analyze the documents, in the format n.n.n You can use this information to track the model used for a particular batch of documents.

" + } + } + }, + "InputDataConfig":{ + "type":"structure", + "required":["S3Bucket"], + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

The URI of the S3 bucket that contains the input data. The bucket must be in the same region as the API endpoint that you are calling.

Each file in the document collection must be less than 40 KB. You can store a maximum of 30 GB in the bucket.

" + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"

The path to the input data files in the S3 bucket.

" + } + }, + "documentation":"

The input properties for an entities detection job. This includes the name of the S3 bucket and the path to the files to be analyzed. See batch-manifest for more information.

" + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

An internal server error occurred. Retry your request.

", + "exception":true, + "fault":true + }, + "InvalidEncodingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The input text was not in valid UTF-8 character encoding. Check your text then retry your request.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request that you made is invalid. Check your request to determine why it's invalid and then retry the request.

", + "exception":true + }, + "JobId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "IN_PROGRESS", + "COMPLETED", + "PARTIAL_SUCCESS", + "FAILED", + "STOP_REQUESTED", + "STOPPED" + ] + }, + "KMSKey":{ + "type":"string", + "max":2048, + "min":1, + "pattern":".*" + }, + "LanguageCode":{ + "type":"string", + "enum":["en"] + }, + "ListEntitiesDetectionV2JobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"ComprehendMedicalAsyncJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListEntitiesDetectionV2JobsResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobPropertiesList":{ + "shape":"ComprehendMedicalAsyncJobPropertiesList", + "documentation":"

A list containing the properties of each job returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListICD10CMInferenceJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"ComprehendMedicalAsyncJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListICD10CMInferenceJobsResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobPropertiesList":{ + "shape":"ComprehendMedicalAsyncJobPropertiesList", + "documentation":"

A list containing the properties of each job that is returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListPHIDetectionJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"ComprehendMedicalAsyncJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + } + } + }, + "ListPHIDetectionJobsResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobPropertiesList":{ + "shape":"ComprehendMedicalAsyncJobPropertiesList", + "documentation":"

A list containing the properties of each job returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListRxNormInferenceJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"ComprehendMedicalAsyncJobFilter", + "documentation":"

Filters the jobs that are returned. You can filter jobs based on their names, status, or the date and time that they were submitted. You can only set one filter at a time.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ListRxNormInferenceJobsResponse":{ + "type":"structure", + "members":{ + "ComprehendMedicalAsyncJobPropertiesList":{ + "shape":"ComprehendMedicalAsyncJobPropertiesList", + "documentation":"

The maximum number of results to return in each page. The default is 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Identifies the next page of results to return.

" + } + } + }, + "ManifestFilePath":{ + "type":"string", + "max":4096, + "min":1 + }, + "MaxResultsInteger":{ + "type":"integer", + "max":500, + "min":1 + }, + "ModelVersion":{"type":"string"}, + "OntologyLinkingBoundedLengthString":{ + "type":"string", + "max":10000, + "min":1 + }, + "OutputDataConfig":{ + "type":"structure", + "required":["S3Bucket"], + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

When you use the OutputDataConfig object with asynchronous operations, you specify the Amazon S3 location where you want to write the output data. The URI must be in the same region as the API endpoint that you are calling. The location is used as the prefix for the actual location of the output.

" + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"

The path to the output data files in the S3 bucket. Amazon Comprehend Medical creates an output directory using the job ID so that the output from one job does not overwrite the output of another.

" + } + }, + "documentation":"

The output properties for a detection job.

" + }, + "RelationshipType":{ + "type":"string", + "enum":[ + "EVERY", + "WITH_DOSAGE", + "ADMINISTERED_VIA", + "FOR", + "NEGATIVE", + "OVERLAP", + "DOSAGE", + "ROUTE_OR_MODE", + "FORM", + "FREQUENCY", + "DURATION", + "STRENGTH", + "RATE", + "ACUITY", + "TEST_VALUE", + "TEST_UNITS", + "DIRECTION" + ] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The resource identified by the specified Amazon Resource Name (ARN) was not found. Check the ARN and try your request again.

", + "exception":true + }, + "RxNormAttribute":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RxNormAttributeType", + "documentation":"

The type of attribute. The types of attributes recognized by InferRxNorm are BRAND_NAME and GENERIC_NAME.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Comprehend Medical has that the segment of text is correctly recognized as an attribute.

" + }, + "RelationshipScore":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the attribute is accurately linked to an entity.

" + }, + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for this attribute. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the attribute ends. The offset returns the UTF-8 code point in the string.

" + }, + "Text":{ + "shape":"String", + "documentation":"

The segment of input text which corresponds to the detected attribute.

" + }, + "Traits":{ + "shape":"RxNormTraitList", + "documentation":"

Contextual information for the attribute. InferRxNorm recognizes the trait NEGATION for attributes, i.e. that the patient is not taking a specific dose or form of a medication.

" + } + }, + "documentation":"

The extracted attributes that relate to this entity. The attributes recognized by InferRxNorm are DOSAGE, DURATION, FORM, FREQUENCY, RATE, ROUTE_OR_MODE.

" + }, + "RxNormAttributeList":{ + "type":"list", + "member":{"shape":"RxNormAttribute"} + }, + "RxNormAttributeType":{ + "type":"string", + "enum":[ + "DOSAGE", + "DURATION", + "FORM", + "FREQUENCY", + "RATE", + "ROUTE_OR_MODE", + "STRENGTH" + ] + }, + "RxNormConcept":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the RxNorm concept.

" + }, + "Code":{ + "shape":"String", + "documentation":"

RxNorm concept ID, also known as the RxCUI.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has that the entity is accurately linked to the reported RxNorm concept.

" + } + }, + "documentation":"

The RxNorm concept that the entity could refer to, along with a score indicating the likelihood of the match.

" + }, + "RxNormConceptList":{ + "type":"list", + "member":{"shape":"RxNormConcept"} + }, + "RxNormEntity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Integer", + "documentation":"

The numeric identifier for the entity. This is a monotonically increasing id unique within this response rather than a global unique identifier.

" + }, + "Text":{ + "shape":"OntologyLinkingBoundedLengthString", + "documentation":"

The segment of input text extracted from which the entity was detected.

" + }, + "Category":{ + "shape":"RxNormEntityCategory", + "documentation":"

The category of the entity. The recognized categories are GENERIC or BRAND_NAME.

" + }, + "Type":{ + "shape":"RxNormEntityType", + "documentation":"

Describes the specific type of entity. For InferRxNorm, the recognized entity type is MEDICATION.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has in the accuracy of the detected entity.

" + }, + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity begins. The offset returns the UTF-8 code point in the string.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The 0-based character offset in the input text that shows where the entity ends. The offset returns the UTF-8 code point in the string.

" + }, + "Attributes":{ + "shape":"RxNormAttributeList", + "documentation":"

The extracted attributes that relate to the entity. The attributes recognized by InferRxNorm are DOSAGE, DURATION, FORM, FREQUENCY, RATE, ROUTE_OR_MODE, and STRENGTH.

" + }, + "Traits":{ + "shape":"RxNormTraitList", + "documentation":"

Contextual information for the entity.

" + }, + "RxNormConcepts":{ + "shape":"RxNormConceptList", + "documentation":"

The RxNorm concepts that the entity could refer to, along with a score indicating the likelihood of the match.

" + } + }, + "documentation":"

The collection of medical entities extracted from the input text and their associated information. For each entity, the response provides the entity text, the entity category, where the entity text begins and ends, and the level of confidence that Amazon Comprehend Medical has in the detection and analysis. Attributes and traits of the entity are also returned.

" + }, + "RxNormEntityCategory":{ + "type":"string", + "enum":["MEDICATION"] + }, + "RxNormEntityList":{ + "type":"list", + "member":{"shape":"RxNormEntity"} + }, + "RxNormEntityType":{ + "type":"string", + "enum":[ + "BRAND_NAME", + "GENERIC_NAME" + ] + }, + "RxNormTrait":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"RxNormTraitName", + "documentation":"

Provides a name or contextual description about the trait.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has in the accuracy of the detected trait.

" + } + }, + "documentation":"

The contextual information for the entity. InferRxNorm recognizes the trait NEGATION, which is any indication that the patient is not taking a medication.

" + }, + "RxNormTraitList":{ + "type":"list", + "member":{"shape":"RxNormTrait"} + }, + "RxNormTraitName":{ + "type":"string", + "enum":["NEGATION"] + }, + "S3Bucket":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^[0-9a-z\\.\\-_]*(?!\\.)$" + }, + "S3Key":{ + "type":"string", + "max":1024, + "pattern":".*" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The Amazon Comprehend Medical service is temporarily unavailable. Please wait and then retry your request.

", + "exception":true + }, + "StartEntitiesDetectionV2JobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.

", + "idempotencyToken":true + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language.

" + } + } + }, + "StartEntitiesDetectionV2JobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the DescribeEntitiesDetectionV2Job operation.

" + } + } + }, + "StartICD10CMInferenceJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.

", + "idempotencyToken":true + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language.

" + } + } + }, + "StartICD10CMInferenceJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the StartICD10CMInferenceJob operation.

" + } + } + }, + "StartPHIDetectionJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.

", + "idempotencyToken":true + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language.

" + } + } + }, + "StartPHIDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of a job, use this identifier with the DescribePHIDetectionJob operation.

" + } + } + }, + "StartRxNormInferenceJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "LanguageCode" + ], + "members":{ + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Specifies the format and location of the input data for the job.

" + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

Specifies where to send the output files.

" + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants Amazon Comprehend Medical read access to your input data. For more information, see Role-Based Permissions Required for Asynchronous Operations.

" + }, + "JobName":{ + "shape":"JobName", + "documentation":"

The identifier of the job.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique identifier for the request. If you don't set the client request token, Amazon Comprehend Medical generates one.

", + "idempotencyToken":true + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

An AWS Key Management Service key to encrypt your output files. If you do not specify a key, the files are written in plain text.

" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

The language of the input documents. All documents must be in the same language.

" + } + } + }, + "StartRxNormInferenceJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the job.

" + } + } + }, + "StopEntitiesDetectionV2JobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the medical entities job to stop.

" + } + } + }, + "StopEntitiesDetectionV2JobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the medical entities detection job that was stopped.

" + } + } + }, + "StopICD10CMInferenceJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the job.

" + } + } + }, + "StopICD10CMInferenceJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of job, use this identifier with the DescribeICD10CMInferenceJob operation.

" + } + } + }, + "StopPHIDetectionJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the PHI detection job to stop.

" + } + } + }, + "StopPHIDetectionJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the PHI detection job that was stopped.

" + } + } + }, + "StopRxNormInferenceJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier of the job.

" + } + } + }, + "StopRxNormInferenceJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

The identifier generated for the job. To get the status of job, use this identifier with the DescribeRxNormInferenceJob operation.

" + } + } + }, + "String":{ + "type":"string", + "min":1 + }, + "TextSizeLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The size of the text you submitted exceeds the size limit. Reduce the size of the text or use a smaller document and then retry your request.

", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

You have made too many requests within a short period of time. Wait for a short time and then try your request again. Contact customer support for more information about a service limit increase.

", + "exception":true + }, + "Trait":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AttributeName", + "documentation":"

Provides a name or contextual description about the trait.

" + }, + "Score":{ + "shape":"Float", + "documentation":"

The level of confidence that Amazon Comprehend Medical has in the accuracy of this trait.

" + } + }, + "documentation":"

Provides contextual information about the extracted entity.

" + }, + "TraitList":{ + "type":"list", + "member":{"shape":"Trait"} + }, + "UnmappedAttribute":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"EntityType", + "documentation":"

The type of the attribute, could be one of the following values: \"MEDICATION\", \"MEDICAL_CONDITION\", \"ANATOMY\", \"TEST_AND_TREATMENT_PROCEDURE\" or \"PROTECTED_HEALTH_INFORMATION\".

" + }, + "Attribute":{ + "shape":"Attribute", + "documentation":"

The specific attribute that has been extracted but not mapped to an entity.

" + } + }, + "documentation":"

An attribute that we extracted, but were unable to relate to an entity.

" + }, + "UnmappedAttributeList":{ + "type":"list", + "member":{"shape":"UnmappedAttribute"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The filter that you specified for the operation is invalid. Check the filter values that you entered and try your request again.

", + "exception":true + } + }, + "documentation":"

Amazon Comprehend Medical extracts structured information from unstructured clinical text. Use these actions to gain insight in your documents.

" +} diff -Nru python-botocore-1.4.70/botocore/data/compute-optimizer/2019-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/compute-optimizer/2019-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/compute-optimizer/2019-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/compute-optimizer/2019-11-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/compute-optimizer/2019-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/compute-optimizer/2019-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/compute-optimizer/2019-11-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/compute-optimizer/2019-11-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,857 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-11-01", + "endpointPrefix":"compute-optimizer", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"AWS Compute Optimizer", + "serviceId":"Compute Optimizer", + "signatureVersion":"v4", + "signingName":"compute-optimizer", + "targetPrefix":"ComputeOptimizerService", + "uid":"compute-optimizer-2019-11-01" + }, + "operations":{ + "GetAutoScalingGroupRecommendations":{ + "name":"GetAutoScalingGroupRecommendations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAutoScalingGroupRecommendationsRequest"}, + "output":{"shape":"GetAutoScalingGroupRecommendationsResponse"}, + "errors":[ + {"shape":"OptInRequiredException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns Auto Scaling group recommendations.

AWS Compute Optimizer currently generates recommendations for Auto Scaling groups that are configured to run instances of the M, C, R, T, and X instance families. The service does not generate recommendations for Auto Scaling groups that have a scaling policy attached to them, or that do not have the same values for desired, minimum, and maximum capacity. In order for Compute Optimizer to analyze your Auto Scaling groups, they must be of a fixed size. For more information, see the AWS Compute Optimizer User Guide.

" + }, + "GetEC2InstanceRecommendations":{ + "name":"GetEC2InstanceRecommendations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEC2InstanceRecommendationsRequest"}, + "output":{"shape":"GetEC2InstanceRecommendationsResponse"}, + "errors":[ + {"shape":"OptInRequiredException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns Amazon EC2 instance recommendations.

AWS Compute Optimizer currently generates recommendations for Amazon Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It generates recommendations for M, C, R, T, and X instance families. For more information, see the AWS Compute Optimizer User Guide.

" + }, + "GetEC2RecommendationProjectedMetrics":{ + "name":"GetEC2RecommendationProjectedMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEC2RecommendationProjectedMetricsRequest"}, + "output":{"shape":"GetEC2RecommendationProjectedMetricsResponse"}, + "errors":[ + {"shape":"OptInRequiredException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the projected utilization metrics of Amazon EC2 instance recommendations.

" + }, + "GetEnrollmentStatus":{ + "name":"GetEnrollmentStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEnrollmentStatusRequest"}, + "output":{"shape":"GetEnrollmentStatusResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the enrollment (opt in) status of an account to the AWS Compute Optimizer service.

If the account is a master account of an organization, this operation also confirms the enrollment status of member accounts within the organization.

" + }, + "GetRecommendationSummaries":{ + "name":"GetRecommendationSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRecommendationSummariesRequest"}, + "output":{"shape":"GetRecommendationSummariesResponse"}, + "errors":[ + {"shape":"OptInRequiredException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the optimization findings for an account.

For example, it returns the number of Amazon EC2 instances in an account that are under-provisioned, over-provisioned, or optimized. It also returns the number of Auto Scaling groups in an account that are not optimized, or optimized.

" + }, + "UpdateEnrollmentStatus":{ + "name":"UpdateEnrollmentStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEnrollmentStatusRequest"}, + "output":{"shape":"UpdateEnrollmentStatusResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingAuthenticationToken"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the enrollment (opt in) status of an account to the AWS Compute Optimizer service.

If the account is a master account of an organization, this operation can also enroll member accounts within the organization.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "exception":true, + "synthetic":true + }, + "AccountId":{"type":"string"}, + "AccountIds":{ + "type":"list", + "member":{"shape":"AccountId"} + }, + "AutoScalingGroupArn":{"type":"string"}, + "AutoScalingGroupArns":{ + "type":"list", + "member":{"shape":"AutoScalingGroupArn"} + }, + "AutoScalingGroupConfiguration":{ + "type":"structure", + "members":{ + "desiredCapacity":{ + "shape":"DesiredCapacity", + "documentation":"

The desired capacity, or number of instances, for the Auto Scaling group.

" + }, + "minSize":{ + "shape":"MinSize", + "documentation":"

The minimum size, or minimum number of instances, for the Auto Scaling group.

" + }, + "maxSize":{ + "shape":"MaxSize", + "documentation":"

The maximum size, or maximum number of instances, for the Auto Scaling group.

" + }, + "instanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type for the Auto Scaling group.

" + } + }, + "documentation":"

Describes the configuration of an Auto Scaling group.

" + }, + "AutoScalingGroupName":{"type":"string"}, + "AutoScalingGroupRecommendation":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountId", + "documentation":"

The AWS account ID of the Auto Scaling group.

" + }, + "autoScalingGroupArn":{ + "shape":"AutoScalingGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the Auto Scaling group.

" + }, + "autoScalingGroupName":{ + "shape":"AutoScalingGroupName", + "documentation":"

The name of the Auto Scaling group.

" + }, + "finding":{ + "shape":"Finding", + "documentation":"

The finding classification for the Auto Scaling group.

Findings for Auto Scaling groups include:

  • NotOptimized —An Auto Scaling group is considered not optimized when AWS Compute Optimizer identifies a recommendation that can provide better performance for your workload.

  • Optimized —An Auto Scaling group is considered optimized when Compute Optimizer determines that the group is correctly provisioned to run your workload based on the chosen instance type. For optimized resources, Compute Optimizer might recommend a new generation instance type.

The values that are returned might be NOT_OPTIMIZED or OPTIMIZED.

" + }, + "utilizationMetrics":{ + "shape":"UtilizationMetrics", + "documentation":"

An array of objects that describe the utilization metrics of the Auto Scaling group.

" + }, + "lookBackPeriodInDays":{ + "shape":"LookBackPeriodInDays", + "documentation":"

The number of days for which utilization metrics were analyzed for the Auto Scaling group.

" + }, + "currentConfiguration":{ + "shape":"AutoScalingGroupConfiguration", + "documentation":"

An array of objects that describe the current configuration of the Auto Scaling group.

" + }, + "recommendationOptions":{ + "shape":"AutoScalingGroupRecommendationOptions", + "documentation":"

An array of objects that describe the recommendation options for the Auto Scaling group.

" + }, + "lastRefreshTimestamp":{ + "shape":"LastRefreshTimestamp", + "documentation":"

The time stamp of when the Auto Scaling group recommendation was last refreshed.

" + } + }, + "documentation":"

Describes an Auto Scaling group recommendation.

" + }, + "AutoScalingGroupRecommendationOption":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"AutoScalingGroupConfiguration", + "documentation":"

An array of objects that describe an Auto Scaling group configuration.

" + }, + "projectedUtilizationMetrics":{ + "shape":"ProjectedUtilizationMetrics", + "documentation":"

An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.

" + }, + "performanceRisk":{ + "shape":"PerformanceRisk", + "documentation":"

The performance risk of the Auto Scaling group configuration recommendation.

Performance risk is the likelihood of the recommended instance type not meeting the performance requirement of your workload.

The lowest performance risk is categorized as 0, and the highest as 5.

" + }, + "rank":{ + "shape":"Rank", + "documentation":"

The rank of the Auto Scaling group recommendation option.

The top recommendation option is ranked as 1.

" + } + }, + "documentation":"

Describes a recommendation option for an Auto Scaling group.

" + }, + "AutoScalingGroupRecommendationOptions":{ + "type":"list", + "member":{"shape":"AutoScalingGroupRecommendationOption"} + }, + "AutoScalingGroupRecommendations":{ + "type":"list", + "member":{"shape":"AutoScalingGroupRecommendation"} + }, + "Code":{"type":"string"}, + "CurrentInstanceType":{"type":"string"}, + "DesiredCapacity":{"type":"integer"}, + "ErrorMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

Specify Finding to filter the results to a specific findings classification.

Specify RecommendationSourceType to filter the results to a specific resource type.

" + }, + "values":{ + "shape":"FilterValues", + "documentation":"

The value of the filter.

If you specify the name parameter as Finding, and you're recommendations for an instance, then the valid values are Underprovisioned, Overprovisioned, NotOptimized, or Optimized.

If you specify the name parameter as Finding, and you're recommendations for an Auto Scaling group, then the valid values are Optimized, or NotOptimized.

If you specify the name parameter as RecommendationSourceType, then the valid values are EC2Instance, or AutoScalingGroup.

" + } + }, + "documentation":"

Describes a filter that returns a more specific list of recommendations.

" + }, + "FilterName":{ + "type":"string", + "enum":[ + "Finding", + "RecommendationSourceType" + ] + }, + "FilterValue":{"type":"string"}, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "Finding":{ + "type":"string", + "enum":[ + "Underprovisioned", + "Overprovisioned", + "Optimized", + "NotOptimized" + ] + }, + "GetAutoScalingGroupRecommendationsRequest":{ + "type":"structure", + "members":{ + "accountIds":{ + "shape":"AccountIds", + "documentation":"

The AWS account IDs for which to return Auto Scaling group recommendations.

Only one account ID can be specified per request.

" + }, + "autoScalingGroupArns":{ + "shape":"AutoScalingGroupArns", + "documentation":"

The Amazon Resource Name (ARN) of the Auto Scaling groups for which to return recommendations.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to advance to the next page of Auto Scaling group recommendations.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of Auto Scaling group recommendations to return with a single call.

To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "filters":{ + "shape":"Filters", + "documentation":"

An array of objects that describe a filter that returns a more specific list of Auto Scaling group recommendations.

" + } + } + }, + "GetAutoScalingGroupRecommendationsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to advance to the next page of Auto Scaling group recommendations.

This value is null when there are no more pages of Auto Scaling group recommendations to return.

" + }, + "autoScalingGroupRecommendations":{ + "shape":"AutoScalingGroupRecommendations", + "documentation":"

An array of objects that describe Auto Scaling group recommendations.

" + }, + "errors":{ + "shape":"GetRecommendationErrors", + "documentation":"

An array of objects that describe errors of the request.

For example, an error is returned if you request recommendations for an unsupported Auto Scaling group.

" + } + } + }, + "GetEC2InstanceRecommendationsRequest":{ + "type":"structure", + "members":{ + "instanceArns":{ + "shape":"InstanceArns", + "documentation":"

The Amazon Resource Name (ARN) of the instances for which to return recommendations.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to advance to the next page of instance recommendations.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of instance recommendations to return with a single call.

To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "filters":{ + "shape":"Filters", + "documentation":"

An array of objects that describe a filter that returns a more specific list of instance recommendations.

" + }, + "accountIds":{ + "shape":"AccountIds", + "documentation":"

The AWS account IDs for which to return instance recommendations.

Only one account ID can be specified per request.

" + } + } + }, + "GetEC2InstanceRecommendationsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to advance to the next page of instance recommendations.

This value is null when there are no more pages of instance recommendations to return.

" + }, + "instanceRecommendations":{ + "shape":"InstanceRecommendations", + "documentation":"

An array of objects that describe instance recommendations.

" + }, + "errors":{ + "shape":"GetRecommendationErrors", + "documentation":"

An array of objects that describe errors of the request.

For example, an error is returned if you request recommendations for an instance of an unsupported instance family.

" + } + } + }, + "GetEC2RecommendationProjectedMetricsRequest":{ + "type":"structure", + "required":[ + "instanceArn", + "stat", + "period", + "startTime", + "endTime" + ], + "members":{ + "instanceArn":{ + "shape":"InstanceArn", + "documentation":"

The Amazon Resource Name (ARN) of the instances for which to return recommendation projected metrics.

" + }, + "stat":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the projected metrics.

" + }, + "period":{ + "shape":"Period", + "documentation":"

The granularity, in seconds, of the projected metrics data points.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp of the first projected metrics data point to return.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp of the last projected metrics data point to return.

" + } + } + }, + "GetEC2RecommendationProjectedMetricsResponse":{ + "type":"structure", + "members":{ + "recommendedOptionProjectedMetrics":{ + "shape":"RecommendedOptionProjectedMetrics", + "documentation":"

An array of objects that describe a projected metrics.

" + } + } + }, + "GetEnrollmentStatusRequest":{ + "type":"structure", + "members":{ + } + }, + "GetEnrollmentStatusResponse":{ + "type":"structure", + "members":{ + "status":{ + "shape":"Status", + "documentation":"

The enrollment status of the account.

" + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

The reason for the enrollment status of the account.

For example, an account might show a status of Pending because member accounts of an organization require more time to be enrolled in the service.

" + }, + "memberAccountsEnrolled":{ + "shape":"MemberAccountsEnrolled", + "documentation":"

Confirms the enrollment status of member accounts within the organization, if the account is a master account of an organization.

" + } + } + }, + "GetRecommendationError":{ + "type":"structure", + "members":{ + "identifier":{ + "shape":"Identifier", + "documentation":"

The ID of the error.

" + }, + "code":{ + "shape":"Code", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"Message", + "documentation":"

The message, or reason, for the error.

" + } + }, + "documentation":"

Describes an error experienced when getting recommendations.

For example, an error is returned if you request recommendations for an unsupported Auto Scaling group, or if you request recommendations for an instance of an unsupported instance family.

" + }, + "GetRecommendationErrors":{ + "type":"list", + "member":{"shape":"GetRecommendationError"} + }, + "GetRecommendationSummariesRequest":{ + "type":"structure", + "members":{ + "accountIds":{ + "shape":"AccountIds", + "documentation":"

The AWS account IDs for which to return recommendation summaries.

Only one account ID can be specified per request.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to advance to the next page of recommendation summaries.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of recommendation summaries to return with a single call.

To retrieve the remaining results, make another call with the returned NextToken value.

" + } + } + }, + "GetRecommendationSummariesResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to advance to the next page of recommendation summaries.

This value is null when there are no more pages of recommendation summaries to return.

" + }, + "recommendationSummaries":{ + "shape":"RecommendationSummaries", + "documentation":"

An array of objects that summarize a recommendation.

" + } + } + }, + "Identifier":{"type":"string"}, + "IncludeMemberAccounts":{"type":"boolean"}, + "InstanceArn":{"type":"string"}, + "InstanceArns":{ + "type":"list", + "member":{"shape":"InstanceArn"} + }, + "InstanceName":{"type":"string"}, + "InstanceRecommendation":{ + "type":"structure", + "members":{ + "instanceArn":{ + "shape":"InstanceArn", + "documentation":"

The Amazon Resource Name (ARN) of the current instance.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The AWS account ID of the instance recommendation.

" + }, + "instanceName":{ + "shape":"InstanceName", + "documentation":"

The name of the current instance.

" + }, + "currentInstanceType":{ + "shape":"CurrentInstanceType", + "documentation":"

The instance type of the current instance.

" + }, + "finding":{ + "shape":"Finding", + "documentation":"

The finding classification for the instance.

Findings for instances include:

  • Underprovisioned —An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance.

  • Overprovisioned —An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost.

  • Optimized —An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. An optimized instance runs your workloads with optimal performance and infrastructure cost. For optimized resources, AWS Compute Optimizer might recommend a new generation instance type.

The values that are returned might be UNDER_PROVISIONED, OVER_PROVISIONED, or OPTIMIZED.

" + }, + "utilizationMetrics":{ + "shape":"UtilizationMetrics", + "documentation":"

An array of objects that describe the utilization metrics of the instance.

" + }, + "lookBackPeriodInDays":{ + "shape":"LookBackPeriodInDays", + "documentation":"

The number of days for which utilization metrics were analyzed for the instance.

" + }, + "recommendationOptions":{ + "shape":"RecommendationOptions", + "documentation":"

An array of objects that describe the recommendation options for the instance.

" + }, + "recommendationSources":{ + "shape":"RecommendationSources", + "documentation":"

An array of objects that describe the source resource of the recommendation.

" + }, + "lastRefreshTimestamp":{ + "shape":"LastRefreshTimestamp", + "documentation":"

The time stamp of when the instance recommendation was last refreshed.

" + } + }, + "documentation":"

Describes an Amazon EC2 instance recommendation.

" + }, + "InstanceRecommendationOption":{ + "type":"structure", + "members":{ + "instanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type of the instance recommendation.

" + }, + "projectedUtilizationMetrics":{ + "shape":"ProjectedUtilizationMetrics", + "documentation":"

An array of objects that describe the projected utilization metrics of the instance recommendation option.

" + }, + "performanceRisk":{ + "shape":"PerformanceRisk", + "documentation":"

The performance risk of the instance recommendation option.

Performance risk is the likelihood of the recommended instance type not meeting the performance requirement of your workload.

The lowest performance risk is categorized as 0, and the highest as 5.

" + }, + "rank":{ + "shape":"Rank", + "documentation":"

The rank of the instance recommendation option.

The top recommendation option is ranked as 1.

" + } + }, + "documentation":"

Describes a recommendation option for an Amazon EC2 instance.

" + }, + "InstanceRecommendations":{ + "type":"list", + "member":{"shape":"InstanceRecommendation"} + }, + "InstanceType":{"type":"string"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request processing has failed because of an unknown error, exception, or failure.

", + "exception":true, + "fault":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

An invalid or out-of-range value was supplied for the input parameter.

", + "exception":true, + "synthetic":true + }, + "LastRefreshTimestamp":{"type":"timestamp"}, + "LookBackPeriodInDays":{"type":"double"}, + "MaxResults":{ + "type":"integer", + "box":true + }, + "MaxSize":{"type":"integer"}, + "MemberAccountsEnrolled":{"type":"boolean"}, + "Message":{"type":"string"}, + "MetricName":{ + "type":"string", + "enum":[ + "Cpu", + "Memory" + ] + }, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Maximum", + "Average" + ] + }, + "MetricValue":{"type":"double"}, + "MetricValues":{ + "type":"list", + "member":{"shape":"MetricValue"} + }, + "MinSize":{"type":"integer"}, + "MissingAuthenticationToken":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request must contain either a valid (registered) AWS access key ID or X.509 certificate.

", + "exception":true, + "synthetic":true + }, + "NextToken":{"type":"string"}, + "OptInRequiredException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You must opt in to the service to perform this action.

", + "exception":true, + "synthetic":true + }, + "PerformanceRisk":{ + "type":"double", + "max":5, + "min":0 + }, + "Period":{"type":"integer"}, + "ProjectedMetric":{ + "type":"structure", + "members":{ + "name":{ + "shape":"MetricName", + "documentation":"

The name of the projected utilization metric.

Memory metrics are only returned for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" + }, + "timestamps":{ + "shape":"Timestamps", + "documentation":"

The time stamps of the projected utilization metric.

" + }, + "values":{ + "shape":"MetricValues", + "documentation":"

The values of the projected utilization metrics.

" + } + }, + "documentation":"

Describes a projected utilization metric of a recommendation option, such as an Amazon EC2 instance.

" + }, + "ProjectedMetrics":{ + "type":"list", + "member":{"shape":"ProjectedMetric"} + }, + "ProjectedUtilizationMetrics":{ + "type":"list", + "member":{"shape":"UtilizationMetric"} + }, + "Rank":{"type":"integer"}, + "RecommendationOptions":{ + "type":"list", + "member":{"shape":"InstanceRecommendationOption"} + }, + "RecommendationSource":{ + "type":"structure", + "members":{ + "recommendationSourceArn":{ + "shape":"RecommendationSourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the recommendation source.

" + }, + "recommendationSourceType":{ + "shape":"RecommendationSourceType", + "documentation":"

The resource type of the recommendation source.

" + } + }, + "documentation":"

Describes the source of a recommendation, such as an Amazon EC2 instance or Auto Scaling group.

" + }, + "RecommendationSourceArn":{"type":"string"}, + "RecommendationSourceType":{ + "type":"string", + "enum":[ + "Ec2Instance", + "AutoScalingGroup" + ] + }, + "RecommendationSources":{ + "type":"list", + "member":{"shape":"RecommendationSource"} + }, + "RecommendationSummaries":{ + "type":"list", + "member":{"shape":"RecommendationSummary"} + }, + "RecommendationSummary":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"Summaries", + "documentation":"

An array of objects that describe a recommendation summary.

" + }, + "recommendationResourceType":{ + "shape":"RecommendationSourceType", + "documentation":"

The resource type of the recommendation.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The AWS account ID of the recommendation summary.

" + } + }, + "documentation":"

A summary of a recommendation.

" + }, + "RecommendedInstanceType":{"type":"string"}, + "RecommendedOptionProjectedMetric":{ + "type":"structure", + "members":{ + "recommendedInstanceType":{ + "shape":"RecommendedInstanceType", + "documentation":"

The recommended instance type.

" + }, + "rank":{ + "shape":"Rank", + "documentation":"

The rank of the recommendation option projected metric.

The top recommendation option is ranked as 1.

The projected metric rank correlates to the recommendation option rank. For example, the projected metric ranked as 1 is related to the recommendation option that is also ranked as 1 in the same response.

" + }, + "projectedMetrics":{ + "shape":"ProjectedMetrics", + "documentation":"

An array of objects that describe a projected utilization metric.

" + } + }, + "documentation":"

Describes a projected utilization metric of a recommendation option.

" + }, + "RecommendedOptionProjectedMetrics":{ + "type":"list", + "member":{"shape":"RecommendedOptionProjectedMetric"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource was not found.

", + "exception":true, + "synthetic":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request has failed due to a temporary failure of the server.

", + "exception":true, + "fault":true + }, + "Status":{ + "type":"string", + "enum":[ + "Active", + "Inactive", + "Pending", + "Failed" + ] + }, + "StatusReason":{"type":"string"}, + "Summaries":{ + "type":"list", + "member":{"shape":"Summary"} + }, + "Summary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Finding", + "documentation":"

The finding classification of the recommendation.

" + }, + "value":{ + "shape":"SummaryValue", + "documentation":"

The value of the recommendation summary.

" + } + }, + "documentation":"

The summary of a recommendation.

" + }, + "SummaryValue":{"type":"double"}, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of requests per second was exceeded.

", + "exception":true, + "synthetic":true + }, + "Timestamp":{"type":"timestamp"}, + "Timestamps":{ + "type":"list", + "member":{"shape":"Timestamp"} + }, + "UpdateEnrollmentStatusRequest":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"Status", + "documentation":"

The new enrollment status of the account.

Accepted options are Active or Inactive. You will get an error if Pending or Failed are specified.

" + }, + "includeMemberAccounts":{ + "shape":"IncludeMemberAccounts", + "documentation":"

Indicates whether to enroll member accounts within the organization, if the account is a master account of an organization.

" + } + } + }, + "UpdateEnrollmentStatusResponse":{ + "type":"structure", + "members":{ + "status":{ + "shape":"Status", + "documentation":"

The enrollment status of the account.

" + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

The reason for the enrollment status of the account. For example, an account might show a status of Pending because member accounts of an organization require more time to be enrolled in the service.

" + } + } + }, + "UtilizationMetric":{ + "type":"structure", + "members":{ + "name":{ + "shape":"MetricName", + "documentation":"

The name of the utilization metric.

Memory metrics are only returned for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.

" + }, + "statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic of the utilization metric.

" + }, + "value":{ + "shape":"MetricValue", + "documentation":"

The value of the utilization metric.

" + } + }, + "documentation":"

Describes a utilization metric of a resource, such as an Amazon EC2 instance.

" + }, + "UtilizationMetrics":{ + "type":"list", + "member":{"shape":"UtilizationMetric"} + } + }, + "documentation":"

AWS Compute Optimizer is a service that analyzes the configuration and utilization metrics of your AWS resources, such as EC2 instances and Auto Scaling groups. It reports whether your resources are optimal, and generates optimization recommendations to reduce the cost and improve the performance of your workloads. Compute Optimizer also provides recent utilization metric data, as well as projected utilization metric data for the recommendations, which you can use to evaluate which recommendation provides the best price-performance trade-off. The analysis of your usage patterns can help you decide when to move or resize your running resources, and still meet your performance and capacity requirements. For more information about Compute Optimizer, see the AWS Compute Optimizer User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/config/2014-11-12/examples-1.json python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/examples-1.json --- python-botocore-1.4.70/botocore/data/config/2014-11-12/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/config/2014-11-12/paginators-1.json python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/paginators-1.json --- python-botocore-1.4.70/botocore/data/config/2014-11-12/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,99 @@ +{ + "pagination": { + "DescribeComplianceByConfigRule": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ComplianceByConfigRules" + }, + "DescribeComplianceByResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ComplianceByResources" + }, + "DescribeConfigRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ConfigRules" + }, + "GetComplianceDetailsByConfigRule": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "EvaluationResults" + }, + "GetComplianceDetailsByResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "EvaluationResults" + }, + "GetResourceConfigHistory": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "configurationItems", + "limit_key": "limit" + }, + "ListDiscoveredResources": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "resourceIdentifiers" + }, + "DescribeAggregateComplianceByConfigRules": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregateComplianceByConfigRules" + }, + "DescribeAggregationAuthorizations": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregationAuthorizations" + }, + "DescribeConfigRuleEvaluationStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ConfigRulesEvaluationStatus" + }, + "DescribeConfigurationAggregatorSourcesStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregatedSourceStatusList" + }, + "DescribeConfigurationAggregators": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ConfigurationAggregators" + }, + "DescribePendingAggregationRequests": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "PendingAggregationRequests" + }, + "DescribeRetentionConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "RetentionConfigurations" + }, + "GetAggregateComplianceDetailsByConfigRule": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "AggregateEvaluationResults" + }, + "ListAggregateDiscoveredResources": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ResourceIdentifiers" + }, + "DescribeRemediationExecutionStatus": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "RemediationExecutionStatuses" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/config/2014-11-12/service-2.json python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/service-2.json --- python-botocore-1.4.70/botocore/data/config/2014-11-12/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/config/2014-11-12/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,10 +7,52 @@ "protocol":"json", "serviceAbbreviation":"Config Service", "serviceFullName":"AWS Config", + "serviceId":"Config Service", "signatureVersion":"v4", - "targetPrefix":"StarlingDoveService" + "targetPrefix":"StarlingDoveService", + "uid":"config-2014-11-12" }, "operations":{ + "BatchGetAggregateResourceConfig":{ + "name":"BatchGetAggregateResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetAggregateResourceConfigRequest"}, + "output":{"shape":"BatchGetAggregateResourceConfigResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Returns the current configuration items for resources that are present in your AWS Config aggregator. The operation also returns a list of resources that are not processed in the current request. If there are no unprocessed resources, the operation returns an empty unprocessedResourceIdentifiers list.

  • The API does not return results for deleted resources.

  • The API does not return tags and relationships.

" + }, + "BatchGetResourceConfig":{ + "name":"BatchGetResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetResourceConfigRequest"}, + "output":{"shape":"BatchGetResourceConfigResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NoAvailableConfigurationRecorderException"} + ], + "documentation":"

Returns the current configuration for one or more requested resources. The operation also returns a list of resources that are not processed in the current request. If there are no unprocessed resources, the operation returns an empty unprocessedResourceKeys list.

  • The API does not return results for deleted resources.

  • The API does not return any tags for the requested resources. This information is filtered out of the supplementaryConfiguration section of the API response.

" + }, + "DeleteAggregationAuthorization":{ + "name":"DeleteAggregationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAggregationAuthorizationRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Deletes the authorization granted to the specified configuration aggregator account in a specified region.

" + }, "DeleteConfigRule":{ "name":"DeleteConfigRule", "http":{ @@ -24,6 +66,18 @@ ], "documentation":"

Deletes the specified AWS Config rule and all of its evaluation results.

AWS Config sets the state of a rule to DELETING until the deletion is complete. You cannot update a rule while it is in this state. If you make a PutConfigRule or DeleteConfigRule request for the rule, you will receive a ResourceInUseException.

You can check the state of a rule by using the DescribeConfigRules request.

" }, + "DeleteConfigurationAggregator":{ + "name":"DeleteConfigurationAggregator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConfigurationAggregatorRequest"}, + "errors":[ + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Deletes the specified configuration aggregator and the aggregated data associated with the aggregator.

" + }, "DeleteConfigurationRecorder":{ "name":"DeleteConfigurationRecorder", "http":{ @@ -36,6 +90,19 @@ ], "documentation":"

Deletes the configuration recorder.

After the configuration recorder is deleted, AWS Config will not record resource configuration changes until you create a new configuration recorder.

This action does not delete the configuration information that was previously recorded. You will be able to access the previously recorded information by using the GetResourceConfigHistory action, but you will not be able to access this information in the AWS Config console until you create a new configuration recorder.

" }, + "DeleteConformancePack":{ + "name":"DeleteConformancePack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConformancePackRequest"}, + "errors":[ + {"shape":"NoSuchConformancePackException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes the specified conformance pack and all the AWS Config rules, remediation actions, and all evaluation results within that conformance pack.

AWS Config sets the conformance pack to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a conformance pack while it is in this state.

" + }, "DeleteDeliveryChannel":{ "name":"DeleteDeliveryChannel", "http":{ @@ -61,7 +128,101 @@ {"shape":"NoSuchConfigRuleException"}, {"shape":"ResourceInUseException"} ], - "documentation":"

Deletes the evaluation results for the specified Config rule. You can specify one Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule.

" + "documentation":"

Deletes the evaluation results for the specified AWS Config rule. You can specify one AWS Config rule per request. After you delete the evaluation results, you can call the StartConfigRulesEvaluation API to start evaluating your AWS resources against the rule.

" + }, + "DeleteOrganizationConfigRule":{ + "name":"DeleteOrganizationConfigRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOrganizationConfigRuleRequest"}, + "errors":[ + {"shape":"NoSuchOrganizationConfigRuleException"}, + {"shape":"ResourceInUseException"}, + {"shape":"OrganizationAccessDeniedException"} + ], + "documentation":"

Deletes the specified organization config rule and all of its evaluation results from all member accounts in that organization. Only a master account can delete an organization config rule.

AWS Config sets the state of a rule to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a rule while it is in this state.

" + }, + "DeleteOrganizationConformancePack":{ + "name":"DeleteOrganizationConformancePack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOrganizationConformancePackRequest"}, + "errors":[ + {"shape":"NoSuchOrganizationConformancePackException"}, + {"shape":"ResourceInUseException"}, + {"shape":"OrganizationAccessDeniedException"} + ], + "documentation":"

Deletes the specified organization conformance pack and all of the config rules and remediation actions from all member accounts in that organization. Only a master account can delete an organization conformance pack.

AWS Config sets the state of a conformance pack to DELETE_IN_PROGRESS until the deletion is complete. You cannot update a conformance pack while it is in this state.

" + }, + "DeletePendingAggregationRequest":{ + "name":"DeletePendingAggregationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePendingAggregationRequestRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Deletes pending authorization requests for a specified aggregator account in a specified region.

" + }, + "DeleteRemediationConfiguration":{ + "name":"DeleteRemediationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRemediationConfigurationRequest"}, + "output":{"shape":"DeleteRemediationConfigurationResponse"}, + "errors":[ + {"shape":"NoSuchRemediationConfigurationException"}, + {"shape":"RemediationInProgressException"}, + {"shape":"InsufficientPermissionsException"} + ], + "documentation":"

Deletes the remediation configuration.

" + }, + "DeleteRemediationExceptions":{ + "name":"DeleteRemediationExceptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRemediationExceptionsRequest"}, + "output":{"shape":"DeleteRemediationExceptionsResponse"}, + "errors":[ + {"shape":"NoSuchRemediationExceptionException"} + ], + "documentation":"

Deletes one or more remediation exceptions mentioned in the resource keys.

" + }, + "DeleteResourceConfig":{ + "name":"DeleteResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceConfigRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NoRunningConfigurationRecorderException"} + ], + "documentation":"

Records the configuration state for a custom resource that has been deleted. This API records a new ConfigurationItem with a ResourceDeleted status. You can retrieve the ConfigurationItems recorded for this resource in your AWS Config History.

" + }, + "DeleteRetentionConfiguration":{ + "name":"DeleteRetentionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRetentionConfigurationRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchRetentionConfigurationException"} + ], + "documentation":"

Deletes the retention configuration.

" }, "DeliverConfigSnapshot":{ "name":"DeliverConfigSnapshot", @@ -76,7 +237,38 @@ {"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.

  • Notification of starting the delivery.

  • Notification of delivery completed, if the delivery was successfully completed.

  • Notification of delivery failure, if the delivery failed to complete.

" + "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 the following notifications using an Amazon SNS topic that you have specified.

  • Notification of the start of the delivery.

  • Notification of the completion of the delivery, if the delivery was successfully completed.

  • Notification of delivery failure, if the delivery failed.

" + }, + "DescribeAggregateComplianceByConfigRules":{ + "name":"DescribeAggregateComplianceByConfigRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregateComplianceByConfigRulesRequest"}, + "output":{"shape":"DescribeAggregateComplianceByConfigRulesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Returns a list of compliant and noncompliant rules with the number of resources for compliant and noncompliant rules.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" + }, + "DescribeAggregationAuthorizations":{ + "name":"DescribeAggregationAuthorizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregationAuthorizationsRequest"}, + "output":{"shape":"DescribeAggregationAuthorizationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ], + "documentation":"

Returns a list of authorizations granted to various aggregator accounts and regions.

" }, "DescribeComplianceByConfigRule":{ "name":"DescribeComplianceByConfigRule", @@ -88,9 +280,10 @@ "output":{"shape":"DescribeComplianceByConfigRuleResponse"}, "errors":[ {"shape":"InvalidParameterValueException"}, - {"shape":"NoSuchConfigRuleException"} + {"shape":"NoSuchConfigRuleException"}, + {"shape":"InvalidNextTokenException"} ], - "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:

  • AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime.

  • The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role that you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission.

  • The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope.

" + "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. 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:

  • AWS Config has never invoked an evaluation for the rule. To check whether it has, use the DescribeConfigRuleEvaluationStatus action to get the LastSuccessfulInvocationTime and LastFailedInvocationTime.

  • The rule's AWS Lambda function is failing to send evaluation results to AWS Config. Verify that the role you assigned to your configuration recorder includes the config:PutEvaluations permission. If the rule is a custom rule, verify that the AWS Lambda execution role includes the config:PutEvaluations permission.

  • The rule's AWS Lambda function has returned NOT_APPLICABLE for all evaluation results. This can occur if the resources were deleted or removed from the rule's scope.

" }, "DescribeComplianceByResource":{ "name":"DescribeComplianceByResource", @@ -115,7 +308,9 @@ "input":{"shape":"DescribeConfigRuleEvaluationStatusRequest"}, "output":{"shape":"DescribeConfigRuleEvaluationStatusResponse"}, "errors":[ - {"shape":"NoSuchConfigRuleException"} + {"shape":"NoSuchConfigRuleException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidNextTokenException"} ], "documentation":"

Returns status information for each of your AWS managed Config rules. The status includes information such as the last time AWS Config invoked the rule, the last time AWS Config failed to invoke the rule, and the related error for the last failure.

" }, @@ -128,10 +323,43 @@ "input":{"shape":"DescribeConfigRulesRequest"}, "output":{"shape":"DescribeConfigRulesResponse"}, "errors":[ - {"shape":"NoSuchConfigRuleException"} + {"shape":"NoSuchConfigRuleException"}, + {"shape":"InvalidNextTokenException"} ], "documentation":"

Returns details about your AWS Config rules.

" }, + "DescribeConfigurationAggregatorSourcesStatus":{ + "name":"DescribeConfigurationAggregatorSourcesStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConfigurationAggregatorSourcesStatusRequest"}, + "output":{"shape":"DescribeConfigurationAggregatorSourcesStatusResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ], + "documentation":"

Returns status information for sources within an aggregator. The status includes information about the last time AWS Config verified authorization between the source account and an aggregator account. In case of a failure, the status contains the related error code or message.

" + }, + "DescribeConfigurationAggregators":{ + "name":"DescribeConfigurationAggregators", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConfigurationAggregatorsRequest"}, + "output":{"shape":"DescribeConfigurationAggregatorsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"} + ], + "documentation":"

Returns the details of one or more configuration aggregators. If the configuration aggregator is not specified, this action returns the details for all the configuration aggregators associated with the account.

" + }, "DescribeConfigurationRecorderStatus":{ "name":"DescribeConfigurationRecorderStatus", "http":{ @@ -143,7 +371,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 region in your 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 recorders associated with the account.

Currently, you can specify only one configuration recorder per region in your account.

" }, "DescribeConfigurationRecorders":{ "name":"DescribeConfigurationRecorders", @@ -158,6 +386,52 @@ ], "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.

" }, + "DescribeConformancePackCompliance":{ + "name":"DescribeConformancePackCompliance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConformancePackComplianceRequest"}, + "output":{"shape":"DescribeConformancePackComplianceResponse"}, + "errors":[ + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchConfigRuleInConformancePackException"}, + {"shape":"NoSuchConformancePackException"} + ], + "documentation":"

Returns compliance details for each rule in that conformance pack.

You must provide exact rule names.

" + }, + "DescribeConformancePackStatus":{ + "name":"DescribeConformancePackStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConformancePackStatusRequest"}, + "output":{"shape":"DescribeConformancePackStatusResponse"}, + "errors":[ + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Provides one or more conformance packs deployment status.

If there are no conformance packs then you will see an empty result.

" + }, + "DescribeConformancePacks":{ + "name":"DescribeConformancePacks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConformancePacksRequest"}, + "output":{"shape":"DescribeConformancePacksResponse"}, + "errors":[ + {"shape":"NoSuchConformancePackException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of one or more conformance packs.

" + }, "DescribeDeliveryChannelStatus":{ "name":"DescribeDeliveryChannelStatus", "http":{ @@ -184,1674 +458,5435 @@ ], "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", + "DescribeOrganizationConfigRuleStatuses":{ + "name":"DescribeOrganizationConfigRuleStatuses", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetComplianceDetailsByConfigRuleRequest"}, - "output":{"shape":"GetComplianceDetailsByConfigRuleResponse"}, + "input":{"shape":"DescribeOrganizationConfigRuleStatusesRequest"}, + "output":{"shape":"DescribeOrganizationConfigRuleStatusesResponse"}, "errors":[ - {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchOrganizationConfigRuleException"}, + {"shape":"InvalidLimitException"}, {"shape":"InvalidNextTokenException"}, - {"shape":"NoSuchConfigRuleException"} + {"shape":"OrganizationAccessDeniedException"} ], - "documentation":"

Returns the evaluation results for the specified AWS Config rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule.

" + "documentation":"

Provides organization config rule deployment status for an organization.

The status is not considered successful until organization config rule is successfully deployed in all the member accounts with an exception of excluded accounts.

When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization config rule names. It is only applicable, when you request all the organization config rules.

Only a master account can call this API.

" }, - "GetComplianceDetailsByResource":{ - "name":"GetComplianceDetailsByResource", + "DescribeOrganizationConfigRules":{ + "name":"DescribeOrganizationConfigRules", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetComplianceDetailsByResourceRequest"}, - "output":{"shape":"GetComplianceDetailsByResourceResponse"}, + "input":{"shape":"DescribeOrganizationConfigRulesRequest"}, + "output":{"shape":"DescribeOrganizationConfigRulesResponse"}, "errors":[ - {"shape":"InvalidParameterValueException"} + {"shape":"NoSuchOrganizationConfigRuleException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"}, + {"shape":"OrganizationAccessDeniedException"} ], - "documentation":"

Returns the evaluation results for the specified AWS resource. The results indicate which AWS Config rules were used to evaluate the resource, when each rule was last used, and whether the resource complies with each rule.

" + "documentation":"

Returns a list of organization config rules.

When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization config rule names. It is only applicable, when you request all the organization config rules.

Only a master account can call this API.

" }, - "GetComplianceSummaryByConfigRule":{ - "name":"GetComplianceSummaryByConfigRule", + "DescribeOrganizationConformancePackStatuses":{ + "name":"DescribeOrganizationConformancePackStatuses", "http":{ "method":"POST", "requestUri":"/" }, - "output":{"shape":"GetComplianceSummaryByConfigRuleResponse"}, - "documentation":"

Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each.

" + "input":{"shape":"DescribeOrganizationConformancePackStatusesRequest"}, + "output":{"shape":"DescribeOrganizationConformancePackStatusesResponse"}, + "errors":[ + {"shape":"NoSuchOrganizationConformancePackException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"OrganizationAccessDeniedException"} + ], + "documentation":"

Provides organization conformance pack deployment status for an organization.

The status is not considered successful until organization conformance pack is successfully deployed in all the member accounts with an exception of excluded accounts.

When you specify the limit and the next token, you receive a paginated response. Limit and next token are not applicable if you specify organization conformance pack names. They are only applicable, when you request all the organization conformance packs.

Only a master account can call this API.

" }, - "GetComplianceSummaryByResourceType":{ - "name":"GetComplianceSummaryByResourceType", + "DescribeOrganizationConformancePacks":{ + "name":"DescribeOrganizationConformancePacks", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetComplianceSummaryByResourceTypeRequest"}, - "output":{"shape":"GetComplianceSummaryByResourceTypeResponse"}, + "input":{"shape":"DescribeOrganizationConformancePacksRequest"}, + "output":{"shape":"DescribeOrganizationConformancePacksResponse"}, "errors":[ - {"shape":"InvalidParameterValueException"} + {"shape":"NoSuchOrganizationConformancePackException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidLimitException"}, + {"shape":"OrganizationAccessDeniedException"} ], - "documentation":"

Returns the number of resources that are compliant and the number that are noncompliant. You can specify one or more resource types to get these numbers for each resource type. The maximum number returned is 100.

" + "documentation":"

Returns a list of organization conformance packs.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you specify organization conformance packs names. They are only applicable, when you request all the organization conformance packs.

Only a master account can call this API.

" }, - "GetResourceConfigHistory":{ - "name":"GetResourceConfigHistory", + "DescribePendingAggregationRequests":{ + "name":"DescribePendingAggregationRequests", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetResourceConfigHistoryRequest"}, - "output":{"shape":"GetResourceConfigHistoryResponse"}, + "input":{"shape":"DescribePendingAggregationRequestsRequest"}, + "output":{"shape":"DescribePendingAggregationRequestsResponse"}, "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidTimeRangeException"}, - {"shape":"InvalidLimitException"}, + {"shape":"InvalidParameterValueException"}, {"shape":"InvalidNextTokenException"}, - {"shape":"NoAvailableConfigurationRecorderException"}, - {"shape":"ResourceNotDiscoveredException"} + {"shape":"InvalidLimitException"} ], - "documentation":"

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval.

The response is paginated, and by default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string, and to get the next page of results, run the request again and enter this string for the nextToken parameter.

Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken.

" + "documentation":"

Returns a list of all pending aggregation requests.

" }, - "ListDiscoveredResources":{ - "name":"ListDiscoveredResources", + "DescribeRemediationConfigurations":{ + "name":"DescribeRemediationConfigurations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListDiscoveredResourcesRequest"}, - "output":{"shape":"ListDiscoveredResourcesResponse"}, - "errors":[ - {"shape":"ValidationException"}, - {"shape":"InvalidLimitException"}, - {"shape":"InvalidNextTokenException"}, - {"shape":"NoAvailableConfigurationRecorderException"} - ], - "documentation":"

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name but not both in the same request.

The response is paginated, and by default AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string, and to get the next page of results, run the request again and enter this string for the nextToken parameter.

" + "input":{"shape":"DescribeRemediationConfigurationsRequest"}, + "output":{"shape":"DescribeRemediationConfigurationsResponse"}, + "documentation":"

Returns the details of one or more remediation configurations.

" }, - "PutConfigRule":{ - "name":"PutConfigRule", + "DescribeRemediationExceptions":{ + "name":"DescribeRemediationExceptions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PutConfigRuleRequest"}, + "input":{"shape":"DescribeRemediationExceptionsRequest"}, + "output":{"shape":"DescribeRemediationExceptionsResponse"}, "errors":[ - {"shape":"InvalidParameterValueException"}, - {"shape":"MaxNumberOfConfigRulesExceededException"}, - {"shape":"ResourceInUseException"}, - {"shape":"InsufficientPermissionsException"}, - {"shape":"NoAvailableConfigurationRecorderException"} + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterValueException"} ], - "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.

" + "documentation":"

Returns the details of one or more remediation exceptions. A detailed view of a remediation exception for a set of resources that includes an explanation of an exception and the time when the exception will be deleted. When you specify the limit and the next token, you receive a paginated response.

When you specify the limit and the next token, you receive a paginated response.

Limit and next token are not applicable if you request resources in batch. It is only applicable, when you request all resources.

" }, - "PutConfigurationRecorder":{ - "name":"PutConfigurationRecorder", + "DescribeRemediationExecutionStatus":{ + "name":"DescribeRemediationExecutionStatus", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PutConfigurationRecorderRequest"}, + "input":{"shape":"DescribeRemediationExecutionStatusRequest"}, + "output":{"shape":"DescribeRemediationExecutionStatusResponse"}, "errors":[ - {"shape":"MaxNumberOfConfigurationRecordersExceededException"}, - {"shape":"InvalidConfigurationRecorderNameException"}, - {"shape":"InvalidRoleException"}, - {"shape":"InvalidRecordingGroupException"} + {"shape":"NoSuchRemediationConfigurationException"}, + {"shape":"InvalidNextTokenException"} ], - "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.

" + "documentation":"

Provides a detailed view of a Remediation Execution for a set of resources including state, timestamps for when steps for the remediation execution occur, and any error messages for steps that have failed. When you specify the limit and the next token, you receive a paginated response.

" }, - "PutDeliveryChannel":{ - "name":"PutDeliveryChannel", + "DescribeRetentionConfigurations":{ + "name":"DescribeRetentionConfigurations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PutDeliveryChannelRequest"}, + "input":{"shape":"DescribeRetentionConfigurationsRequest"}, + "output":{"shape":"DescribeRetentionConfigurationsResponse"}, "errors":[ - {"shape":"MaxNumberOfDeliveryChannelsExceededException"}, - {"shape":"NoAvailableConfigurationRecorderException"}, - {"shape":"InvalidDeliveryChannelNameException"}, - {"shape":"NoSuchBucketException"}, - {"shape":"InvalidS3KeyPrefixException"}, - {"shape":"InvalidSNSTopicARNException"}, - {"shape":"InsufficientDeliveryPolicyException"} + {"shape":"InvalidParameterValueException"}, + {"shape":"NoSuchRetentionConfigurationException"}, + {"shape":"InvalidNextTokenException"} ], - "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.

" + "documentation":"

Returns the details of one or more retention configurations. If the retention configuration name is not specified, this action returns the details for all the retention configurations for that account.

Currently, AWS Config supports only one retention configuration per region in your account.

" }, - "PutEvaluations":{ - "name":"PutEvaluations", + "GetAggregateComplianceDetailsByConfigRule":{ + "name":"GetAggregateComplianceDetailsByConfigRule", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"PutEvaluationsRequest"}, - "output":{"shape":"PutEvaluationsResponse"}, + "input":{"shape":"GetAggregateComplianceDetailsByConfigRuleRequest"}, + "output":{"shape":"GetAggregateComplianceDetailsByConfigRuleResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Returns the evaluation results for the specified AWS Config rule for a specific resource in a rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule.

The results can return an empty result page. But if you have a nextToken, the results are displayed on the next page.

" + }, + "GetAggregateConfigRuleComplianceSummary":{ + "name":"GetAggregateConfigRuleComplianceSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAggregateConfigRuleComplianceSummaryRequest"}, + "output":{"shape":"GetAggregateConfigRuleComplianceSummaryResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

The results can return an empty result page, but if you have a nextToken, the results are displayed on the next page.

" + }, + "GetAggregateDiscoveredResourceCounts":{ + "name":"GetAggregateDiscoveredResourceCounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAggregateDiscoveredResourceCountsRequest"}, + "output":{"shape":"GetAggregateDiscoveredResourceCountsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Returns the resource counts across accounts and regions that are present in your AWS Config aggregator. You can request the resource counts by providing filters and GroupByKey.

For example, if the input contains accountID 12345678910 and region us-east-1 in filters, the API returns the count of resources in account ID 12345678910 and region us-east-1. If the input contains ACCOUNT_ID as a GroupByKey, the API returns resource counts for all source accounts that are present in your aggregator.

" + }, + "GetAggregateResourceConfig":{ + "name":"GetAggregateResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAggregateResourceConfigRequest"}, + "output":{"shape":"GetAggregateResourceConfigResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"OversizedConfigurationItemException"}, + {"shape":"ResourceNotDiscoveredException"} + ], + "documentation":"

Returns configuration item that is aggregated for your specific resource in a specific source account and region.

" + }, + "GetComplianceDetailsByConfigRule":{ + "name":"GetComplianceDetailsByConfigRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceDetailsByConfigRuleRequest"}, + "output":{"shape":"GetComplianceDetailsByConfigRuleResponse"}, "errors":[ {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidResultTokenException"}, + {"shape":"InvalidNextTokenException"}, {"shape":"NoSuchConfigRuleException"} ], - "documentation":"

Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule.

" + "documentation":"

Returns the evaluation results for the specified AWS Config rule. The results indicate which AWS resources were evaluated by the rule, when each resource was last evaluated, and whether each resource complies with the rule.

" }, - "StartConfigRulesEvaluation":{ - "name":"StartConfigRulesEvaluation", + "GetComplianceDetailsByResource":{ + "name":"GetComplianceDetailsByResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"StartConfigRulesEvaluationRequest"}, - "output":{"shape":"StartConfigRulesEvaluationResponse"}, + "input":{"shape":"GetComplianceDetailsByResourceRequest"}, + "output":{"shape":"GetComplianceDetailsByResourceResponse"}, "errors":[ - {"shape":"NoSuchConfigRuleException"}, - {"shape":"LimitExceededException"}, - {"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":"

Returns the evaluation results for the specified AWS resource. The results indicate which AWS Config rules were used to evaluate the resource, when each rule was last used, and whether the resource complies with each rule.

" }, - "StartConfigurationRecorder":{ - "name":"StartConfigurationRecorder", + "GetComplianceSummaryByConfigRule":{ + "name":"GetComplianceSummaryByConfigRule", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"StartConfigurationRecorderRequest"}, + "output":{"shape":"GetComplianceSummaryByConfigRuleResponse"}, + "documentation":"

Returns the number of AWS Config rules that are compliant and noncompliant, up to a maximum of 25 for each.

" + }, + "GetComplianceSummaryByResourceType":{ + "name":"GetComplianceSummaryByResourceType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceSummaryByResourceTypeRequest"}, + "output":{"shape":"GetComplianceSummaryByResourceTypeResponse"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"}, - {"shape":"NoAvailableDeliveryChannelException"} + {"shape":"InvalidParameterValueException"} ], - "documentation":"

Starts recording configurations of the AWS resources you have selected to record in your AWS account.

You must have created at least one delivery channel to successfully start the configuration recorder.

" + "documentation":"

Returns the number of resources that are compliant and the number that are noncompliant. You can specify one or more resource types to get these numbers for each resource type. The maximum number returned is 100.

" }, - "StopConfigurationRecorder":{ - "name":"StopConfigurationRecorder", + "GetConformancePackComplianceDetails":{ + "name":"GetConformancePackComplianceDetails", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"StopConfigurationRecorderRequest"}, + "input":{"shape":"GetConformancePackComplianceDetailsRequest"}, + "output":{"shape":"GetConformancePackComplianceDetailsResponse"}, "errors":[ - {"shape":"NoSuchConfigurationRecorderException"} + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConformancePackException"}, + {"shape":"NoSuchConfigRuleInConformancePackException"}, + {"shape":"InvalidParameterValueException"} ], - "documentation":"

Stops recording configurations of the AWS resources you have selected to record in your AWS account.

" - } - }, - "shapes":{ - "ARN":{"type":"string"}, - "AccountId":{"type":"string"}, - "AllSupported":{"type":"boolean"}, - "AvailabilityZone":{"type":"string"}, - "AwsRegion":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "ChannelName":{ - "type":"string", - "max":256, - "min":1 + "documentation":"

Returns compliance details of a conformance pack for all AWS resources that are monitered by conformance pack.

" }, - "ChronologicalOrder":{ - "type":"string", - "enum":[ - "Reverse", - "Forward" - ] + "GetConformancePackComplianceSummary":{ + "name":"GetConformancePackComplianceSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConformancePackComplianceSummaryRequest"}, + "output":{"shape":"GetConformancePackComplianceSummaryResponse"}, + "errors":[ + {"shape":"NoSuchConformancePackException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns compliance details for the conformance pack based on the cumulative compliance results of all the rules in that conformance pack.

" }, - "Compliance":{ - "type":"structure", + "GetDiscoveredResourceCounts":{ + "name":"GetDiscoveredResourceCounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiscoveredResourceCountsRequest"}, + "output":{"shape":"GetDiscoveredResourceCountsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the resource types, the number of each resource type, and the total number of resources that AWS Config is recording in this region for your AWS account.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets.

  2. You make a call to the GetDiscoveredResourceCounts action and specify that you want all resource types.

  3. AWS Config returns the following:

    • The resource types (EC2 instances, IAM users, and S3 buckets).

    • The number of each resource type (25, 20, and 15).

    • The total number of all resources (60).

The response is paginated. By default, AWS Config lists 100 ResourceCount objects on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

If you make a call to the GetDiscoveredResourceCounts action, you might not immediately receive resource counts in the following situations:

  • You are a new AWS Config customer.

  • You just enabled resource recording.

It might take a few minutes for AWS Config to record and count your resources. Wait a few minutes and then retry the GetDiscoveredResourceCounts action.

" + }, + "GetOrganizationConfigRuleDetailedStatus":{ + "name":"GetOrganizationConfigRuleDetailedStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOrganizationConfigRuleDetailedStatusRequest"}, + "output":{"shape":"GetOrganizationConfigRuleDetailedStatusResponse"}, + "errors":[ + {"shape":"NoSuchOrganizationConfigRuleException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"OrganizationAccessDeniedException"} + ], + "documentation":"

Returns detailed status for each member account within an organization for a given organization config rule.

Only a master account can call this API.

" + }, + "GetOrganizationConformancePackDetailedStatus":{ + "name":"GetOrganizationConformancePackDetailedStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOrganizationConformancePackDetailedStatusRequest"}, + "output":{"shape":"GetOrganizationConformancePackDetailedStatusResponse"}, + "errors":[ + {"shape":"NoSuchOrganizationConformancePackException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"OrganizationAccessDeniedException"} + ], + "documentation":"

Returns detailed status for each member account within an organization for a given organization conformance pack.

Only a master account can call this API.

" + }, + "GetResourceConfigHistory":{ + "name":"GetResourceConfigHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourceConfigHistoryRequest"}, + "output":{"shape":"GetResourceConfigHistoryResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidTimeRangeException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoAvailableConfigurationRecorderException"}, + {"shape":"ResourceNotDiscoveredException"} + ], + "documentation":"

Returns a list of configuration items for the specified resource. The list contains details about each state of the resource during the specified time interval. If you specified a retention period to retain your ConfigurationItems between a minimum of 30 days and a maximum of 7 years (2557 days), AWS Config returns the ConfigurationItems for the specified retention period.

The response is paginated. By default, AWS Config returns a limit of 10 configuration items per page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

Each call to the API is limited to span a duration of seven days. It is likely that the number of records returned is smaller than the specified limit. In such cases, you can make another call, using the nextToken.

" + }, + "ListAggregateDiscoveredResources":{ + "name":"ListAggregateDiscoveredResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAggregateDiscoveredResourcesRequest"}, + "output":{"shape":"ListAggregateDiscoveredResourcesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoSuchConfigurationAggregatorException"} + ], + "documentation":"

Accepts a resource type and returns a list of resource identifiers that are aggregated for a specific resource type across accounts and regions. A resource identifier includes the resource type, ID, (if available) the custom resource name, source account, and source region. You can narrow the results to include only resources that have specific resource IDs, or a resource name, or source account ID, or source region.

For example, if the input consists of accountID 12345678910 and the region is us-east-1 for resource type AWS::EC2::Instance then the API returns all the EC2 instance identifiers of accountID 12345678910 and region us-east-1.

" + }, + "ListDiscoveredResources":{ + "name":"ListDiscoveredResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDiscoveredResourcesRequest"}, + "output":{"shape":"ListDiscoveredResourcesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"NoAvailableConfigurationRecorderException"} + ], + "documentation":"

Accepts a resource type and returns a list of resource identifiers for the resources of that type. A resource identifier includes the resource type, ID, and (if available) the custom resource name. The results consist of resources that AWS Config has discovered, including those that AWS Config is not currently recording. You can narrow the results to include only resources that have specific resource IDs or a resource name.

You can specify either resource IDs or a resource name, but not both, in the same request.

The response is paginated. By default, AWS Config lists 100 resource identifiers on each page. You can customize this number with the limit parameter. The response includes a nextToken string. To get the next page of results, run the request again and specify the string for the nextToken parameter.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

List the tags for AWS Config resource.

" + }, + "PutAggregationAuthorization":{ + "name":"PutAggregationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAggregationAuthorizationRequest"}, + "output":{"shape":"PutAggregationAuthorizationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Authorizes the aggregator account and region to collect data from the source account and region.

" + }, + "PutConfigRule":{ + "name":"PutConfigRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConfigRuleRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MaxNumberOfConfigRulesExceededException"}, + {"shape":"ResourceInUseException"}, + {"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 AWS Config rules and AWS managed Config rules. A custom AWS 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 AWS 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 an AWS managed Config rule, specify the rule's identifier for the SourceIdentifier key. To reference AWS managed Config rule identifiers, see About 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 150.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + }, + "PutConfigurationAggregator":{ + "name":"PutConfigurationAggregator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConfigurationAggregatorRequest"}, + "output":{"shape":"PutConfigurationAggregatorResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRoleException"}, + {"shape":"OrganizationAccessDeniedException"}, + {"shape":"NoAvailableOrganizationException"}, + {"shape":"OrganizationAllFeaturesNotEnabledException"} + ], + "documentation":"

Creates and updates the configuration aggregator with the selected source accounts and regions. The source account can be individual account(s) or an organization.

AWS Config should be enabled in source accounts and regions you want to aggregate.

If your source type is an organization, you must be signed in to the master account and all features must be enabled in your organization. AWS Config calls EnableAwsServiceAccess API to enable integration between AWS Config and AWS Organizations.

" + }, + "PutConfigurationRecorder":{ + "name":"PutConfigurationRecorder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConfigurationRecorderRequest"}, + "errors":[ + {"shape":"MaxNumberOfConfigurationRecordersExceededException"}, + {"shape":"InvalidConfigurationRecorderNameException"}, + {"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 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.

" + }, + "PutConformancePack":{ + "name":"PutConformancePack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConformancePackRequest"}, + "output":{"shape":"PutConformancePackResponse"}, + "errors":[ + {"shape":"InsufficientPermissionsException"}, + {"shape":"ConformancePackTemplateValidationException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MaxNumberOfConformancePacksExceededException"} + ], + "documentation":"

Creates or updates a conformance pack. A conformance pack is a collection of AWS Config rules that can be easily deployed in an account and a region and across AWS Organization.

This API creates a service linked role AWSServiceRoleForConfigConforms in your account. The service linked role is created only when the role does not exist in your account. AWS Config verifies the existence of role with GetRole action.

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

" + }, + "PutDeliveryChannel":{ + "name":"PutDeliveryChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutDeliveryChannelRequest"}, + "errors":[ + {"shape":"MaxNumberOfDeliveryChannelsExceededException"}, + {"shape":"NoAvailableConfigurationRecorderException"}, + {"shape":"InvalidDeliveryChannelNameException"}, + {"shape":"NoSuchBucketException"}, + {"shape":"InvalidS3KeyPrefixException"}, + {"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 region in your account.

" + }, + "PutEvaluations":{ + "name":"PutEvaluations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutEvaluationsRequest"}, + "output":{"shape":"PutEvaluationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidResultTokenException"}, + {"shape":"NoSuchConfigRuleException"} + ], + "documentation":"

Used by an AWS Lambda function to deliver evaluation results to AWS Config. This action is required in every AWS Lambda function that is invoked by an AWS Config rule.

" + }, + "PutOrganizationConfigRule":{ + "name":"PutOrganizationConfigRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutOrganizationConfigRuleRequest"}, + "output":{"shape":"PutOrganizationConfigRuleResponse"}, + "errors":[ + {"shape":"MaxNumberOfOrganizationConfigRulesExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ValidationException"}, + {"shape":"OrganizationAccessDeniedException"}, + {"shape":"NoAvailableOrganizationException"}, + {"shape":"OrganizationAllFeaturesNotEnabledException"}, + {"shape":"InsufficientPermissionsException"} + ], + "documentation":"

Adds or updates organization config rule for your entire organization evaluating whether your AWS resources comply with your desired configurations. Only a master account can create or update an organization config rule.

This API enables organization service access through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. The service linked role is created only when the role does not exist in the master account. AWS Config verifies the existence of role with GetRole action.

You can use this action to create both custom AWS Config rules and AWS managed Config rules. If you are adding a new custom AWS Config rule, you must first create AWS Lambda function in the master account that the rule invokes to evaluate your resources. When you use the PutOrganizationConfigRule action to add the rule to AWS Config, you must specify the Amazon Resource Name (ARN) that AWS Lambda assigns to the function. If you are adding an AWS managed Config rule, specify the rule's identifier for the RuleIdentifier key.

The maximum number of organization config rules that AWS Config supports is 150.

Specify either OrganizationCustomRuleMetadata or OrganizationManagedRuleMetadata.

" + }, + "PutOrganizationConformancePack":{ + "name":"PutOrganizationConformancePack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutOrganizationConformancePackRequest"}, + "output":{"shape":"PutOrganizationConformancePackResponse"}, + "errors":[ + {"shape":"MaxNumberOfOrganizationConformancePacksExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ValidationException"}, + {"shape":"OrganizationAccessDeniedException"}, + {"shape":"InsufficientPermissionsException"}, + {"shape":"OrganizationConformancePackTemplateValidationException"}, + {"shape":"OrganizationAllFeaturesNotEnabledException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

Deploys conformance packs across member accounts in an AWS Organization.

This API enables organization service access for config-multiaccountsetup.amazonaws.com through the EnableAWSServiceAccess action and creates a service linked role AWSServiceRoleForConfigMultiAccountSetup in the master account of your organization. The service linked role is created only when the role does not exist in the master account. AWS Config verifies the existence of role with GetRole action.

You must specify either the TemplateS3Uri or the TemplateBody parameter, but not both. If you provide both AWS Config uses the TemplateS3Uri parameter and ignores the TemplateBody parameter.

AWS Config sets the state of a conformance pack to CREATE_IN_PROGRESS and UPDATE_IN_PROGRESS until the confomance pack is created or updated. You cannot update a conformance pack while it is in this state.

You can create 6 conformance packs with 25 AWS Config rules in each pack.

" + }, + "PutRemediationConfigurations":{ + "name":"PutRemediationConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRemediationConfigurationsRequest"}, + "output":{"shape":"PutRemediationConfigurationsResponse"}, + "errors":[ + {"shape":"InsufficientPermissionsException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Adds or updates the remediation configuration with a specific AWS Config rule with the selected target or action. The API creates the RemediationConfiguration object for the AWS Config rule. The AWS Config rule must already exist for you to add a remediation configuration. The target (SSM document) must exist and have permissions to use the target.

" + }, + "PutRemediationExceptions":{ + "name":"PutRemediationExceptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRemediationExceptionsRequest"}, + "output":{"shape":"PutRemediationExceptionsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

A remediation exception is when a specific resource is no longer considered for auto-remediation. This API adds a new exception or updates an exisiting exception for a specific resource with a specific AWS Config rule.

" + }, + "PutResourceConfig":{ + "name":"PutResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourceConfigRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InsufficientPermissionsException"}, + {"shape":"NoRunningConfigurationRecorderException"}, + {"shape":"MaxActiveResourcesExceededException"} + ], + "documentation":"

Records the configuration state for the resource provided in the request. The configuration state of a resource is represented in AWS Config as Configuration Items. Once this API records the configuration item, you can retrieve the list of configuration items for the custom resource type using existing AWS Config APIs.

The custom resource type must be registered with AWS CloudFormation. This API accepts the configuration item registered with AWS CloudFormation.

When you call this API, AWS Config only stores configuration state of the resource provided in the request. This API does not change or remediate the configuration of the resource.

" + }, + "PutRetentionConfiguration":{ + "name":"PutRetentionConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRetentionConfigurationRequest"}, + "output":{"shape":"PutRetentionConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MaxNumberOfRetentionConfigurationsExceededException"} + ], + "documentation":"

Creates and updates the retention configuration with details about retention period (number of days) that AWS Config stores your historical information. The API creates the RetentionConfiguration object and names the object as default. When you have a RetentionConfiguration object named default, calling the API modifies the default object.

Currently, AWS Config supports only one retention configuration per region in your account.

" + }, + "SelectAggregateResourceConfig":{ + "name":"SelectAggregateResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SelectAggregateResourceConfigRequest"}, + "output":{"shape":"SelectAggregateResourceConfigResponse"}, + "errors":[ + {"shape":"InvalidExpressionException"}, + {"shape":"NoSuchConfigurationAggregatorException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Accepts a structured query language (SQL) SELECT command and an aggregator to query configuration state of AWS resources across multiple accounts and regions, performs the corresponding search, and returns resource configurations matching the properties.

For more information about query components, see the Query Components section in the AWS Config Developer Guide.

" + }, + "SelectResourceConfig":{ + "name":"SelectResourceConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SelectResourceConfigRequest"}, + "output":{"shape":"SelectResourceConfigResponse"}, + "errors":[ + {"shape":"InvalidExpressionException"}, + {"shape":"InvalidLimitException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Accepts a structured query language (SQL) SELECT command, performs the corresponding search, and returns resource configurations matching the properties.

For more information about query components, see the Query Components section in the AWS Config Developer Guide.

" + }, + "StartConfigRulesEvaluation":{ + "name":"StartConfigRulesEvaluation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartConfigRulesEvaluationRequest"}, + "output":{"shape":"StartConfigRulesEvaluationResponse"}, + "errors":[ + {"shape":"NoSuchConfigRuleException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Runs an on-demand evaluation for the specified AWS Config rules against the last known configuration state of the resources. Use StartConfigRulesEvaluation when you want to test that a rule you updated is working as expected. StartConfigRulesEvaluation does not re-record the latest configuration state for your resources. It re-runs an evaluation against the last known state of your resources.

You can specify up to 25 AWS Config rules per request.

An existing StartConfigRulesEvaluation call for the specified rules must complete 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 rule, AWS Config evaluates your resources against the rule automatically.

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", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartConfigurationRecorderRequest"}, + "errors":[ + {"shape":"NoSuchConfigurationRecorderException"}, + {"shape":"NoAvailableDeliveryChannelException"} + ], + "documentation":"

Starts recording configurations of the AWS resources you have selected to record in your AWS account.

You must have created at least one delivery channel to successfully start the configuration recorder.

" + }, + "StartRemediationExecution":{ + "name":"StartRemediationExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartRemediationExecutionRequest"}, + "output":{"shape":"StartRemediationExecutionResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InsufficientPermissionsException"}, + {"shape":"NoSuchRemediationConfigurationException"} + ], + "documentation":"

Runs an on-demand remediation for the specified AWS Config rules against the last known remediation configuration. It runs an execution against the current state of your resources. Remediation execution is asynchronous.

You can specify up to 100 resource keys per request. An existing StartRemediationExecution call for the specified resource keys must complete before you can call the API again.

" + }, + "StopConfigurationRecorder":{ + "name":"StopConfigurationRecorder", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopConfigurationRecorderRequest"}, + "errors":[ + {"shape":"NoSuchConfigurationRecorderException"} + ], + "documentation":"

Stops recording configurations of the AWS resources you have selected to record in your AWS account.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes specified tags from a resource.

" + } + }, + "shapes":{ + "ARN":{"type":"string"}, + "AccountAggregationSource":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountAggregationSourceAccountList", + "documentation":"

The 12-digit account ID of the account being aggregated.

" + }, + "AllAwsRegions":{ + "shape":"Boolean", + "documentation":"

If true, aggregate existing AWS Config regions and future regions.

" + }, + "AwsRegions":{ + "shape":"AggregatorRegionList", + "documentation":"

The source regions being aggregated.

" + } + }, + "documentation":"

A collection of accounts and regions.

" + }, + "AccountAggregationSourceAccountList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "min":1 + }, + "AccountAggregationSourceList":{ + "type":"list", + "member":{"shape":"AccountAggregationSource"}, + "max":1, + "min":0 + }, + "AccountId":{ + "type":"string", + "pattern":"\\d{12}" + }, + "AggregateComplianceByConfigRule":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "Compliance":{ + "shape":"Compliance", + "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region from where the data is aggregated.

" + } + }, + "documentation":"

Indicates whether an AWS Config rule is compliant based on account ID, region, compliance, and rule name.

A rule is compliant if all of the resources that the rule evaluated comply with it. It is noncompliant if any of these resources do not comply.

" + }, + "AggregateComplianceByConfigRuleList":{ + "type":"list", + "member":{"shape":"AggregateComplianceByConfigRule"} + }, + "AggregateComplianceCount":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"StringWithCharLimit256", + "documentation":"

The 12-digit account ID or region based on the GroupByKey value.

" + }, + "ComplianceSummary":{ + "shape":"ComplianceSummary", + "documentation":"

The number of compliant and noncompliant AWS Config rules.

" + } + }, + "documentation":"

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

" + }, + "AggregateComplianceCountList":{ + "type":"list", + "member":{"shape":"AggregateComplianceCount"} + }, + "AggregateEvaluationResult":{ + "type":"structure", + "members":{ + "EvaluationResultIdentifier":{ + "shape":"EvaluationResultIdentifier", + "documentation":"

Uniquely identifies the evaluation result.

" + }, + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

The resource compliance status.

For the AggregationEvaluationResult data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA value.

" + }, + "ResultRecordedTime":{ + "shape":"Date", + "documentation":"

The time when AWS Config recorded the aggregate evaluation result.

" + }, + "ConfigRuleInvokedTime":{ + "shape":"Date", + "documentation":"

The time when the AWS Config rule evaluated the AWS resource.

" + }, + "Annotation":{ + "shape":"StringWithCharLimit256", + "documentation":"

Supplementary information about how the agrregate evaluation determined the compliance.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region from where the data is aggregated.

" + } + }, + "documentation":"

The details of an AWS Config evaluation for an account ID and region in an aggregator. Provides the AWS resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.

" + }, + "AggregateEvaluationResultList":{ + "type":"list", + "member":{"shape":"AggregateEvaluationResult"} + }, + "AggregateResourceIdentifier":{ + "type":"structure", + "required":[ + "SourceAccountId", + "SourceRegion", + "ResourceId", + "ResourceType" + ], + "members":{ + "SourceAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "SourceRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region where data is aggregated.

" + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the AWS resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the AWS resource.

" + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the AWS resource.

" + } + }, + "documentation":"

The details that identify a resource that is collected by AWS Config aggregator, including the resource type, ID, (if available) the custom resource name, the source account, and source region.

" + }, + "AggregatedSourceStatus":{ + "type":"structure", + "members":{ + "SourceId":{ + "shape":"String", + "documentation":"

The source account ID or an organization.

" + }, + "SourceType":{ + "shape":"AggregatedSourceType", + "documentation":"

The source account or an organization.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region authorized to collect aggregated data.

" + }, + "LastUpdateStatus":{ + "shape":"AggregatedSourceStatusType", + "documentation":"

Filters the last updated status type.

  • Valid value FAILED indicates errors while moving data.

  • Valid value SUCCEEDED indicates the data was successfully moved.

  • Valid value OUTDATED indicates the data is not the most recent.

" + }, + "LastUpdateTime":{ + "shape":"Date", + "documentation":"

The time of the last update.

" + }, + "LastErrorCode":{ + "shape":"String", + "documentation":"

The error code that AWS Config returned when the source account aggregation last failed.

" + }, + "LastErrorMessage":{ + "shape":"String", + "documentation":"

The message indicating that the source account aggregation failed due to an error.

" + } + }, + "documentation":"

The current sync status between the source and the aggregator account.

" + }, + "AggregatedSourceStatusList":{ + "type":"list", + "member":{"shape":"AggregatedSourceStatus"} + }, + "AggregatedSourceStatusType":{ + "type":"string", + "enum":[ + "FAILED", + "SUCCEEDED", + "OUTDATED" + ] + }, + "AggregatedSourceStatusTypeList":{ + "type":"list", + "member":{"shape":"AggregatedSourceStatusType"}, + "min":1 + }, + "AggregatedSourceType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION" + ] + }, + "AggregationAuthorization":{ + "type":"structure", + "members":{ + "AggregationAuthorizationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the aggregation object.

" + }, + "AuthorizedAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" + }, + "AuthorizedAwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region authorized to collect aggregated data.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The time stamp when the aggregation authorization was created.

" + } + }, + "documentation":"

An object that represents the authorizations granted to aggregator accounts and regions.

" + }, + "AggregationAuthorizationList":{ + "type":"list", + "member":{"shape":"AggregationAuthorization"} + }, + "AggregatorRegionList":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 + }, + "AllSupported":{"type":"boolean"}, + "AmazonResourceName":{ + "type":"string", + "max":1000, + "min":1 + }, + "Annotation":{ + "type":"string", + "max":256, + "min":0 + }, + "AutoRemediationAttemptSeconds":{ + "type":"long", + "box":true, + "max":2678000, + "min":1 + }, + "AutoRemediationAttempts":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "AvailabilityZone":{"type":"string"}, + "AwsRegion":{ + "type":"string", + "max":64, + "min":1 + }, + "BaseConfigurationItem":{ + "type":"structure", + "members":{ + "version":{ + "shape":"Version", + "documentation":"

The version number of the resource configuration.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit AWS account ID associated with the resource.

" + }, + "configurationItemCaptureTime":{ + "shape":"ConfigurationItemCaptureTime", + "documentation":"

The time when the configuration recording was initiated.

" + }, + "configurationItemStatus":{ + "shape":"ConfigurationItemStatus", + "documentation":"

The configuration item status.

" + }, + "configurationStateId":{ + "shape":"ConfigurationStateId", + "documentation":"

An identifier that indicates the ordering of the configuration items of a resource.

" + }, + "arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource.

" + }, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + }, + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The custom name of the resource, if available.

" + }, + "awsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region where the resource resides.

" + }, + "availabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

The Availability Zone associated with the resource.

" + }, + "resourceCreationTime":{ + "shape":"ResourceCreationTime", + "documentation":"

The time stamp when the resource was created.

" + }, + "configuration":{ + "shape":"Configuration", + "documentation":"

The description of the resource configuration.

" + }, + "supplementaryConfiguration":{ + "shape":"SupplementaryConfiguration", + "documentation":"

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" + } + }, + "documentation":"

The detailed configuration of a specified resource.

" + }, + "BaseConfigurationItems":{ + "type":"list", + "member":{"shape":"BaseConfigurationItem"} + }, + "BaseResourceId":{ + "type":"string", + "max":768, + "min":1 + }, + "BatchGetAggregateResourceConfigRequest":{ + "type":"structure", + "required":[ + "ConfigurationAggregatorName", + "ResourceIdentifiers" + ], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "ResourceIdentifiers":{ + "shape":"ResourceIdentifiersList", + "documentation":"

A list of aggregate ResourceIdentifiers objects.

" + } + } + }, + "BatchGetAggregateResourceConfigResponse":{ + "type":"structure", + "members":{ + "BaseConfigurationItems":{ + "shape":"BaseConfigurationItems", + "documentation":"

A list that contains the current configuration of one or more resources.

" + }, + "UnprocessedResourceIdentifiers":{ + "shape":"UnprocessedResourceIdentifierList", + "documentation":"

A list of resource identifiers that were not processed with current scope. The list is empty if all the resources are processed.

" + } + } + }, + "BatchGetResourceConfigRequest":{ + "type":"structure", + "required":["resourceKeys"], + "members":{ + "resourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" + } + } + }, + "BatchGetResourceConfigResponse":{ + "type":"structure", + "members":{ + "baseConfigurationItems":{ + "shape":"BaseConfigurationItems", + "documentation":"

A list that contains the current configuration of one or more resources.

" + }, + "unprocessedResourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys that were not processed with the current response. The unprocessesResourceKeys value is in the same form as ResourceKeys, so the value can be directly provided to a subsequent BatchGetResourceConfig operation. If there are no unprocessed resource keys, the response contains an empty unprocessedResourceKeys list.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "ChannelName":{ + "type":"string", + "max":256, + "min":1 + }, + "ChronologicalOrder":{ + "type":"string", + "enum":[ + "Reverse", + "Forward" + ] + }, + "Compliance":{ + "type":"structure", + "members":{ + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant.

A resource is compliant if it complies with all of the AWS Config rules that evaluate it. A resource is noncompliant if it does not comply with one or more of these rules.

A rule is compliant if all of the resources that the rule evaluates comply with it. A rule is noncompliant if any of these resources do not comply.

AWS Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the AWS resource or AWS Config rule.

For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE value for the Compliance data type.

" + }, + "ComplianceContributorCount":{ + "shape":"ComplianceContributorCount", + "documentation":"

The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT, up to a maximum number.

" + } + }, + "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

" + }, + "ComplianceByConfigRule":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of the AWS Config rule.

" + }, + "Compliance":{ + "shape":"Compliance", + "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. A rule is noncompliant if any of these resources do not comply.

" + }, + "ComplianceByConfigRules":{ + "type":"list", + "member":{"shape":"ComplianceByConfigRule"} + }, + "ComplianceByResource":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of the AWS resource that was evaluated.

" + }, + "ResourceId":{ + "shape":"BaseResourceId", + "documentation":"

The ID of the AWS resource that was evaluated.

" + }, + "Compliance":{ + "shape":"Compliance", + "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. A resource is noncompliant if it does not comply with one or more of these rules.

" + }, + "ComplianceByResources":{ + "type":"list", + "member":{"shape":"ComplianceByResource"} + }, + "ComplianceContributorCount":{ + "type":"structure", + "members":{ + "CappedCount":{ + "shape":"Integer", + "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item.

" + }, + "CapExceeded":{ + "shape":"Boolean", + "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.

" + }, + "ComplianceResourceTypes":{ + "type":"list", + "member":{"shape":"StringWithCharLimit256"}, + "max":100, + "min":0 + }, + "ComplianceSummariesByResourceType":{ + "type":"list", + "member":{"shape":"ComplianceSummaryByResourceType"} + }, + "ComplianceSummary":{ + "type":"structure", + "members":{ + "CompliantResourceCount":{ + "shape":"ComplianceContributorCount", + "documentation":"

The number of AWS Config rules or AWS resources that are compliant, up to a maximum of 25 for rules and 100 for resources.

" + }, + "NonCompliantResourceCount":{ + "shape":"ComplianceContributorCount", + "documentation":"

The number of AWS Config rules or AWS resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources.

" + }, + "ComplianceSummaryTimestamp":{ + "shape":"Date", + "documentation":"

The time that AWS Config created the compliance summary.

" + } + }, + "documentation":"

The number of AWS Config rules or AWS resources that are compliant and noncompliant.

" + }, + "ComplianceSummaryByResourceType":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of AWS resource.

" + }, + "ComplianceSummary":{ + "shape":"ComplianceSummary", + "documentation":"

The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each.

" + } + }, + "documentation":"

The number of AWS resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each.

" + }, + "ComplianceType":{ + "type":"string", + "enum":[ + "COMPLIANT", + "NON_COMPLIANT", + "NOT_APPLICABLE", + "INSUFFICIENT_DATA" + ] + }, + "ComplianceTypes":{ + "type":"list", + "member":{"shape":"ComplianceType"}, + "max":3, + "min":0 + }, + "ConfigExportDeliveryInfo":{ + "type":"structure", + "members":{ + "lastStatus":{ + "shape":"DeliveryStatus", + "documentation":"

Status of the last attempted delivery.

" + }, + "lastErrorCode":{ + "shape":"String", + "documentation":"

The error code from the last attempted delivery.

" + }, + "lastErrorMessage":{ + "shape":"String", + "documentation":"

The error message from the last attempted delivery.

" + }, + "lastAttemptTime":{ + "shape":"Date", + "documentation":"

The time of the last attempted delivery.

" + }, + "lastSuccessfulTime":{ + "shape":"Date", + "documentation":"

The time of the last successful delivery.

" + }, + "nextDeliveryTime":{ + "shape":"Date", + "documentation":"

The time that the next delivery occurs.

" + } + }, + "documentation":"

Provides status of the delivery of the snapshot or the configuration history to the specified Amazon S3 bucket. Also provides the status of notifications about the Amazon S3 delivery to the specified Amazon SNS topic.

" + }, + "ConfigRule":{ + "type":"structure", + "required":["Source"], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name that you assign to the AWS Config rule. The name is required if you are adding a new rule.

" + }, + "ConfigRuleArn":{ + "shape":"StringWithCharLimit256", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" + }, + "ConfigRuleId":{ + "shape":"StringWithCharLimit64", + "documentation":"

The ID of the AWS Config rule.

" + }, + "Description":{ + "shape":"EmptiableStringWithCharLimit256", + "documentation":"

The description that you provide for the AWS Config rule.

" + }, + "Scope":{ + "shape":"Scope", + "documentation":"

Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.

" + }, + "Source":{ + "shape":"Source", + "documentation":"

Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.

" + }, + "InputParameters":{ + "shape":"StringWithCharLimit1024", + "documentation":"

A string, in JSON format, that is passed to the AWS Config rule Lambda function.

" + }, + "MaximumExecutionFrequency":{ + "shape":"MaximumExecutionFrequency", + "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

  • You are using an AWS managed rule that is triggered at a periodic frequency.

  • Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" + }, + "ConfigRuleState":{ + "shape":"ConfigRuleState", + "documentation":"

Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the AWS Config rule.

AWS Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the AWS Config rule.

AWS Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the AWS Config rule.

AWS Config temporarily sets the state of a rule to DELETING after you use the DeleteConfigRule request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.

" + }, + "CreatedBy":{ + "shape":"StringWithCharLimit256", + "documentation":"

Service principal name of the service that created the rule.

The field is populated only if the service linked rule is created by a service. The field is empty if you create your own rule.

" + } + }, + "documentation":"

An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).

You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

For more information about developing and using AWS Config rules, see Evaluating AWS Resource Configurations with AWS Config in the AWS Config Developer Guide.

" + }, + "ConfigRuleComplianceFilters":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

The rule compliance status.

For the ConfigRuleComplianceFilters data type, AWS Config supports only COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and the INSUFFICIENT_DATA values.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region where the data is aggregated.

" + } + }, + "documentation":"

Filters the compliance results based on account ID, region, compliance type, and rule name.

" + }, + "ConfigRuleComplianceSummaryFilters":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region where the data is aggregated.

" + } + }, + "documentation":"

Filters the results based on the account IDs and regions.

" + }, + "ConfigRuleComplianceSummaryGroupKey":{ + "type":"string", + "enum":[ + "ACCOUNT_ID", + "AWS_REGION" + ] + }, + "ConfigRuleEvaluationStatus":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "ConfigRuleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" + }, + "ConfigRuleId":{ + "shape":"String", + "documentation":"

The ID of the AWS Config rule.

" + }, + "LastSuccessfulInvocationTime":{ + "shape":"Date", + "documentation":"

The time that AWS Config last successfully invoked the AWS Config rule to evaluate your AWS resources.

" + }, + "LastFailedInvocationTime":{ + "shape":"Date", + "documentation":"

The time that AWS Config last failed to invoke the AWS Config rule to evaluate your AWS resources.

" + }, + "LastSuccessfulEvaluationTime":{ + "shape":"Date", + "documentation":"

The time that AWS Config last successfully evaluated your AWS resources against the rule.

" + }, + "LastFailedEvaluationTime":{ + "shape":"Date", + "documentation":"

The time that AWS Config last failed to evaluate your AWS resources against the rule.

" + }, + "FirstActivatedTime":{ + "shape":"Date", + "documentation":"

The time that you first activated the AWS Config rule.

" + }, + "LastDeactivatedTime":{"shape":"Date"}, + "LastErrorCode":{ + "shape":"String", + "documentation":"

The error code that AWS Config returned when the rule last failed.

" + }, + "LastErrorMessage":{ + "shape":"String", + "documentation":"

The error message that AWS Config returned when the rule last failed.

" + }, + "FirstEvaluationStarted":{ + "shape":"Boolean", + "documentation":"

Indicates whether AWS Config has evaluated your resources against the rule at least once.

  • true - AWS Config has evaluated your AWS resources against the rule at least once.

  • false - AWS Config has not once finished evaluating your AWS resources against the rule.

" + } + }, + "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 AWS Config rules.

" + }, + "ConfigRuleEvaluationStatusList":{ + "type":"list", + "member":{"shape":"ConfigRuleEvaluationStatus"} + }, + "ConfigRuleName":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "ConfigRuleNames":{ + "type":"list", + "member":{"shape":"ConfigRuleName"}, + "max":25, + "min":0 + }, + "ConfigRuleState":{ + "type":"string", + "enum":[ + "ACTIVE", + "DELETING", + "DELETING_RESULTS", + "EVALUATING" + ] + }, + "ConfigRules":{ + "type":"list", + "member":{"shape":"ConfigRule"} + }, + "ConfigSnapshotDeliveryProperties":{ + "type":"structure", + "members":{ + "deliveryFrequency":{ + "shape":"MaximumExecutionFrequency", + "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.

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:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often AWS Config delivers configuration snapshots. This value also sets how often AWS Config invokes evaluations for AWS Config rules.

  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which AWS Config invokes evaluations for the rule. For more information, see ConfigRule.

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.

" + }, + "lastErrorCode":{ + "shape":"String", + "documentation":"

The error code from the last attempted delivery.

" + }, + "lastErrorMessage":{ + "shape":"String", + "documentation":"

The error message from the last attempted delivery.

" + }, + "lastStatusChangeTime":{ + "shape":"Date", + "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.

" + }, + "Configuration":{"type":"string"}, + "ConfigurationAggregator":{ + "type":"structure", + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the aggregator.

" + }, + "ConfigurationAggregatorArn":{ + "shape":"ConfigurationAggregatorArn", + "documentation":"

The Amazon Resource Name (ARN) of the aggregator.

" + }, + "AccountAggregationSources":{ + "shape":"AccountAggregationSourceList", + "documentation":"

Provides a list of source accounts and regions to be aggregated.

" + }, + "OrganizationAggregationSource":{ + "shape":"OrganizationAggregationSource", + "documentation":"

Provides an organization and list of regions to be aggregated.

" + }, + "CreationTime":{ + "shape":"Date", + "documentation":"

The time stamp when the configuration aggregator was created.

" + }, + "LastUpdatedTime":{ + "shape":"Date", + "documentation":"

The time of the last update.

" + } + }, + "documentation":"

The details about the configuration aggregator, including information about source accounts, regions, and metadata of the aggregator.

" + }, + "ConfigurationAggregatorArn":{ + "type":"string", + "pattern":"arn:aws[a-z\\-]*:config:[a-z\\-\\d]+:\\d+:config-aggregator/config-aggregator-[a-z\\d]+" + }, + "ConfigurationAggregatorList":{ + "type":"list", + "member":{"shape":"ConfigurationAggregator"} + }, + "ConfigurationAggregatorName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\-]+" + }, + "ConfigurationAggregatorNameList":{ + "type":"list", + "member":{"shape":"ConfigurationAggregatorName"}, + "max":10, + "min":0 + }, + "ConfigurationItem":{ + "type":"structure", + "members":{ + "version":{ + "shape":"Version", + "documentation":"

The version number of the resource configuration.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit AWS account ID associated with the resource.

" + }, + "configurationItemCaptureTime":{ + "shape":"ConfigurationItemCaptureTime", + "documentation":"

The time when the configuration recording was initiated.

" + }, + "configurationItemStatus":{ + "shape":"ConfigurationItemStatus", + "documentation":"

The configuration item status.

" + }, + "configurationStateId":{ + "shape":"ConfigurationStateId", + "documentation":"

An identifier that indicates the ordering of the configuration items of a resource.

" + }, + "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.

" + }, + "arn":{ + "shape":"ARN", + "documentation":"

accoun

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of AWS resource.

" + }, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource (for example, sg-xxxxxx).

" + }, + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The custom name of the resource, if available.

" + }, + "awsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region where the resource resides.

" + }, + "availabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

The Availability Zone associated with the resource.

" + }, + "resourceCreationTime":{ + "shape":"ResourceCreationTime", + "documentation":"

The time stamp when the resource was created.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

A mapping of key value tags associated with the resource.

" + }, + "relatedEvents":{ + "shape":"RelatedEventList", + "documentation":"

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What Is AWS CloudTrail.

An empty field indicates that the current configuration was not initiated by any event. As of Version 1.3, the relatedEvents field is empty. You can access the LookupEvents API in the AWS CloudTrail API Reference to retrieve the events for the resource.

" + }, + "relationships":{ + "shape":"RelationshipList", + "documentation":"

A list of related AWS resources.

" + }, + "configuration":{ + "shape":"Configuration", + "documentation":"

The description of the resource configuration.

" + }, + "supplementaryConfiguration":{ + "shape":"SupplementaryConfiguration", + "documentation":"

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" + } + }, + "documentation":"

A list that contains detailed configurations of a specified resource.

" + }, + "ConfigurationItemCaptureTime":{"type":"timestamp"}, + "ConfigurationItemList":{ + "type":"list", + "member":{"shape":"ConfigurationItem"} + }, + "ConfigurationItemMD5Hash":{"type":"string"}, + "ConfigurationItemStatus":{ + "type":"string", + "enum":[ + "OK", + "ResourceDiscovered", + "ResourceNotRecorded", + "ResourceDeleted", + "ResourceDeletedNotRecorded" + ] + }, + "ConfigurationRecorder":{ + "type":"structure", + "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.

" + }, + "roleARN":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources associated with the account.

" + }, + "recordingGroup":{ + "shape":"RecordingGroup", + "documentation":"

Specifies the types of AWS resources for which AWS Config records configuration changes.

" + } + }, + "documentation":"

An object that represents the recording of configuration changes of an AWS resource.

" + }, + "ConfigurationRecorderList":{ + "type":"list", + "member":{"shape":"ConfigurationRecorder"} + }, + "ConfigurationRecorderNameList":{ + "type":"list", + "member":{"shape":"RecorderName"} + }, + "ConfigurationRecorderStatus":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the configuration recorder.

" + }, + "lastStartTime":{ + "shape":"Date", + "documentation":"

The time the recorder was last started.

" + }, + "lastStopTime":{ + "shape":"Date", + "documentation":"

The time the recorder was last stopped.

" + }, + "recording":{ + "shape":"Boolean", + "documentation":"

Specifies whether or not the recorder is currently recording.

" + }, + "lastStatus":{ + "shape":"RecorderStatus", + "documentation":"

The last (previous) status of the recorder.

" + }, + "lastErrorCode":{ + "shape":"String", + "documentation":"

The error code indicating that the recording failed.

" + }, + "lastErrorMessage":{ + "shape":"String", + "documentation":"

The message indicating that the recording failed due to an error.

" + }, + "lastStatusChangeTime":{ + "shape":"Date", + "documentation":"

The time when the status was last changed.

" + } + }, + "documentation":"

The current status of the configuration recorder.

" + }, + "ConfigurationRecorderStatusList":{ + "type":"list", + "member":{"shape":"ConfigurationRecorderStatus"} + }, + "ConfigurationStateId":{"type":"string"}, + "ConformancePackArn":{ + "type":"string", + "max":2048, + "min":1 + }, + "ConformancePackComplianceFilters":{ + "type":"structure", + "members":{ + "ConfigRuleNames":{ + "shape":"ConformancePackConfigRuleNames", + "documentation":"

Filters the results by AWS Config rule names.

" + }, + "ComplianceType":{ + "shape":"ConformancePackComplianceType", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" + } + }, + "documentation":"

Filters the conformance pack by compliance types and AWS Config rule names.

" + }, + "ConformancePackComplianceResourceIds":{ + "type":"list", + "member":{"shape":"StringWithCharLimit256"}, + "max":5, + "min":0 + }, + "ConformancePackComplianceSummary":{ + "type":"structure", + "required":[ + "ConformancePackName", + "ConformancePackComplianceStatus" + ], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

The name of the conformance pack name.

" + }, + "ConformancePackComplianceStatus":{ + "shape":"ConformancePackComplianceType", + "documentation":"

The status of the conformance pack. The allowed values are COMPLIANT and NON_COMPLIANT.

" + } + }, + "documentation":"

Summary includes the name and status of the conformance pack.

" + }, + "ConformancePackComplianceSummaryList":{ + "type":"list", + "member":{"shape":"ConformancePackComplianceSummary"}, + "max":5, + "min":1 + }, + "ConformancePackComplianceType":{ + "type":"string", + "enum":[ + "COMPLIANT", + "NON_COMPLIANT" + ] + }, + "ConformancePackConfigRuleNames":{ + "type":"list", + "member":{"shape":"StringWithCharLimit64"}, + "max":10, + "min":0 + }, + "ConformancePackDetail":{ + "type":"structure", + "required":[ + "ConformancePackName", + "ConformancePackArn", + "ConformancePackId", + "DeliveryS3Bucket" + ], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "ConformancePackArn":{ + "shape":"ConformancePackArn", + "documentation":"

Amazon Resource Name (ARN) of the conformance pack.

" + }, + "ConformancePackId":{ + "shape":"ConformancePackId", + "documentation":"

ID of the conformance pack.

" + }, + "DeliveryS3Bucket":{ + "shape":"DeliveryS3Bucket", + "documentation":"

Conformance pack template that is used to create a pack. The delivery bucket name should start with awsconfigconforms. For example: \"Resource\": \"arn:aws:s3:::your_bucket_name/*\".

" + }, + "DeliveryS3KeyPrefix":{ + "shape":"DeliveryS3KeyPrefix", + "documentation":"

The prefix for the Amazon S3 bucket.

" + }, + "ConformancePackInputParameters":{ + "shape":"ConformancePackInputParameters", + "documentation":"

A list of ConformancePackInputParameter objects.

" + }, + "LastUpdateRequestedTime":{ + "shape":"Date", + "documentation":"

Last time when conformation pack update was requested.

" + }, + "CreatedBy":{ + "shape":"StringWithCharLimit256", + "documentation":"

AWS service that created the conformance pack.

" + } + }, + "documentation":"

Returns details of a conformance pack. A conformance pack is a collection of AWS Config rules and remediation actions that can be easily deployed in an account and a region.

" + }, + "ConformancePackDetailList":{ + "type":"list", + "member":{"shape":"ConformancePackDetail"}, + "max":25, + "min":0 + }, + "ConformancePackEvaluationFilters":{ + "type":"structure", + "members":{ + "ConfigRuleNames":{ + "shape":"ConformancePackConfigRuleNames", + "documentation":"

Filters the results by AWS Config rule names.

" + }, + "ComplianceType":{ + "shape":"ConformancePackComplianceType", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" + }, + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

Filters the results by the resource type (for example, \"AWS::EC2::Instance\").

" + }, + "ResourceIds":{ + "shape":"ConformancePackComplianceResourceIds", + "documentation":"

Filters the results by resource IDs.

This is valid only when you provide resource type. If there is no resource type, you will see an error.

" + } + }, + "documentation":"

Filters a conformance pack by AWS Config rule names, compliance types, AWS resource types, and resource IDs.

" + }, + "ConformancePackEvaluationResult":{ + "type":"structure", + "required":[ + "ComplianceType", + "EvaluationResultIdentifier", + "ConfigRuleInvokedTime", + "ResultRecordedTime" + ], + "members":{ + "ComplianceType":{ + "shape":"ConformancePackComplianceType", + "documentation":"

The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT.

" + }, + "EvaluationResultIdentifier":{"shape":"EvaluationResultIdentifier"}, + "ConfigRuleInvokedTime":{ + "shape":"Date", + "documentation":"

The time when AWS Config rule evaluated AWS resource.

" + }, + "ResultRecordedTime":{ + "shape":"Date", + "documentation":"

The time when AWS Config recorded the evaluation result.

" + }, + "Annotation":{ + "shape":"Annotation", + "documentation":"

Supplementary information about how the evaluation determined the compliance.

" + } + }, + "documentation":"

The details of a conformance pack evaluation. Provides AWS Config rule and AWS resource type that was evaluated, the compliance of the conformance pack, related time stamps, and supplementary information.

" + }, + "ConformancePackId":{ + "type":"string", + "max":1024, + "min":1 + }, + "ConformancePackInputParameter":{ + "type":"structure", + "required":[ + "ParameterName", + "ParameterValue" + ], + "members":{ + "ParameterName":{ + "shape":"ParameterName", + "documentation":"

One part of a key-value pair.

" + }, + "ParameterValue":{ + "shape":"ParameterValue", + "documentation":"

Another part of the key-value pair.

" + } + }, + "documentation":"

Input parameters in the form of key-value pairs for the conformance pack, both of which you define. Keys can have a maximum character length of 128 characters, and values can have a maximum length of 256 characters.

" + }, + "ConformancePackInputParameters":{ + "type":"list", + "member":{"shape":"ConformancePackInputParameter"}, + "max":60, + "min":0 + }, + "ConformancePackName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z][-a-zA-Z0-9]*" + }, + "ConformancePackNamesList":{ + "type":"list", + "member":{"shape":"ConformancePackName"}, + "max":25, + "min":0 + }, + "ConformancePackNamesToSummarizeList":{ + "type":"list", + "member":{"shape":"ConformancePackName"}, + "max":5, + "min":1 + }, + "ConformancePackRuleCompliance":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

Name of the config rule.

" + }, + "ComplianceType":{ + "shape":"ConformancePackComplianceType", + "documentation":"

Compliance of the AWS Config rule

The allowed values are COMPLIANT and NON_COMPLIANT.

" + } + }, + "documentation":"

Compliance information of one or more AWS Config rules within a conformance pack. You can filter using AWS Config rule names and compliance types.

" + }, + "ConformancePackRuleComplianceList":{ + "type":"list", + "member":{"shape":"ConformancePackRuleCompliance"}, + "max":1000, + "min":0 + }, + "ConformancePackRuleEvaluationResultsList":{ + "type":"list", + "member":{"shape":"ConformancePackEvaluationResult"}, + "max":100, + "min":0 + }, + "ConformancePackState":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED", + "DELETE_IN_PROGRESS", + "DELETE_FAILED" + ] + }, + "ConformancePackStatusDetail":{ + "type":"structure", + "required":[ + "ConformancePackName", + "ConformancePackId", + "ConformancePackArn", + "ConformancePackState", + "StackArn", + "LastUpdateRequestedTime" + ], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "ConformancePackId":{ + "shape":"ConformancePackId", + "documentation":"

ID of the conformance pack.

" + }, + "ConformancePackArn":{ + "shape":"ConformancePackArn", + "documentation":"

Amazon Resource Name (ARN) of comformance pack.

" + }, + "ConformancePackState":{ + "shape":"ConformancePackState", + "documentation":"

Indicates deployment status of conformance pack.

AWS Config sets the state of the conformance pack to:

  • CREATE_IN_PROGRESS when a conformance pack creation is in progress for an account.

  • CREATE_COMPLETE when a conformance pack has been successfully created in your account.

  • CREATE_FAILED when a conformance pack creation failed in your account.

  • DELETE_IN_PROGRESS when a conformance pack deletion is in progress.

  • DELETE_FAILED when a conformance pack deletion failed in your account.

" + }, + "StackArn":{ + "shape":"StackArn", + "documentation":"

Amazon Resource Name (ARN) of AWS CloudFormation stack.

" + }, + "ConformancePackStatusReason":{ + "shape":"ConformancePackStatusReason", + "documentation":"

The reason of conformance pack creation failure.

" + }, + "LastUpdateRequestedTime":{ + "shape":"Date", + "documentation":"

Last time when conformation pack creation and update was requested.

" + }, + "LastUpdateCompletedTime":{ + "shape":"Date", + "documentation":"

Last time when conformation pack creation and update was successful.

" + } + }, + "documentation":"

Status details of a conformance pack.

" + }, + "ConformancePackStatusDetailsList":{ + "type":"list", + "member":{"shape":"ConformancePackStatusDetail"}, + "max":25, + "min":0 + }, + "ConformancePackStatusReason":{ + "type":"string", + "max":2000, + "min":0 + }, + "ConformancePackTemplateValidationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have specified a template that is not valid or supported.

", + "exception":true + }, + "CosmosPageLimit":{ + "type":"integer", + "max":100, + "min":0 + }, + "Date":{"type":"timestamp"}, + "DeleteAggregationAuthorizationRequest":{ + "type":"structure", + "required":[ + "AuthorizedAccountId", + "AuthorizedAwsRegion" + ], + "members":{ + "AuthorizedAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" + }, + "AuthorizedAwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region authorized to collect aggregated data.

" + } + } + }, + "DeleteConfigRuleRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule that you want to delete.

" + } + }, + "documentation":"

" + }, + "DeleteConfigurationAggregatorRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + } + } + }, + "DeleteConfigurationRecorderRequest":{ + "type":"structure", + "required":["ConfigurationRecorderName"], + "members":{ + "ConfigurationRecorderName":{ + "shape":"RecorderName", + "documentation":"

The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action.

" + } + }, + "documentation":"

The request object for the DeleteConfigurationRecorder action.

" + }, + "DeleteConformancePackRequest":{ + "type":"structure", + "required":["ConformancePackName"], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack you want to delete.

" + } + } + }, + "DeleteDeliveryChannelRequest":{ + "type":"structure", + "required":["DeliveryChannelName"], + "members":{ + "DeliveryChannelName":{ + "shape":"ChannelName", + "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.

" + }, + "DeleteEvaluationResultsRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of the AWS Config rule for which you want to delete the evaluation results.

" + } + }, + "documentation":"

" + }, + "DeleteEvaluationResultsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output when you delete the evaluation results for the specified AWS Config rule.

" + }, + "DeleteOrganizationConfigRuleRequest":{ + "type":"structure", + "required":["OrganizationConfigRuleName"], + "members":{ + "OrganizationConfigRuleName":{ + "shape":"OrganizationConfigRuleName", + "documentation":"

The name of organization config rule that you want to delete.

" + } + } + }, + "DeleteOrganizationConformancePackRequest":{ + "type":"structure", + "required":["OrganizationConformancePackName"], + "members":{ + "OrganizationConformancePackName":{ + "shape":"OrganizationConformancePackName", + "documentation":"

The name of organization conformance pack that you want to delete.

" + } + } + }, + "DeletePendingAggregationRequestRequest":{ + "type":"structure", + "required":[ + "RequesterAccountId", + "RequesterAwsRegion" + ], + "members":{ + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the account requesting to aggregate data.

" + }, + "RequesterAwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region requesting to aggregate data.

" + } + } + }, + "DeleteRemediationConfigurationRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule for which you want to delete remediation configuration.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The type of a resource.

" + } + } + }, + "DeleteRemediationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRemediationExceptionsRequest":{ + "type":"structure", + "required":[ + "ConfigRuleName", + "ResourceKeys" + ], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule for which you want to delete remediation exception configuration.

" + }, + "ResourceKeys":{ + "shape":"RemediationExceptionResourceKeys", + "documentation":"

An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

" + } + } + }, + "DeleteRemediationExceptionsResponse":{ + "type":"structure", + "members":{ + "FailedBatches":{ + "shape":"FailedDeleteRemediationExceptionsBatches", + "documentation":"

Returns a list of failed delete remediation exceptions batch objects. Each object in the batch consists of a list of failed items and failure messages.

" + } + } + }, + "DeleteResourceConfigRequest":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceId" + ], + "members":{ + "ResourceType":{ + "shape":"ResourceTypeString", + "documentation":"

The type of the resource.

" + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

Unique identifier of the resource.

" + } + } + }, + "DeleteRetentionConfigurationRequest":{ + "type":"structure", + "required":["RetentionConfigurationName"], + "members":{ + "RetentionConfigurationName":{ + "shape":"RetentionConfigurationName", + "documentation":"

The name of the retention configuration to delete.

" + } + } + }, + "DeliverConfigSnapshotRequest":{ + "type":"structure", + "required":["deliveryChannelName"], + "members":{ + "deliveryChannelName":{ + "shape":"ChannelName", + "documentation":"

The name of the delivery channel through which the snapshot is delivered.

" + } + }, + "documentation":"

The input for the DeliverConfigSnapshot action.

" + }, + "DeliverConfigSnapshotResponse":{ + "type":"structure", + "members":{ + "configSnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot that is being created.

" + } + }, + "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.

" + }, + "s3BucketName":{ + "shape":"String", + "documentation":"

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

" + }, + "s3KeyPrefix":{ + "shape":"String", + "documentation":"

The prefix for the specified Amazon S3 bucket.

" + }, + "snsTopicARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" + }, + "configSnapshotDeliveryProperties":{ + "shape":"ConfigSnapshotDeliveryProperties", + "documentation":"

The options for how often AWS Config delivers configuration snapshots to the Amazon S3 bucket.

" + } + }, + "documentation":"

The channel through which AWS Config delivers notifications and updated configuration states.

" + }, + "DeliveryChannelList":{ + "type":"list", + "member":{"shape":"DeliveryChannel"} + }, + "DeliveryChannelNameList":{ + "type":"list", + "member":{"shape":"ChannelName"} + }, + "DeliveryChannelStatus":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the delivery channel.

" + }, + "configSnapshotDeliveryInfo":{ + "shape":"ConfigExportDeliveryInfo", + "documentation":"

A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

" + }, + "configHistoryDeliveryInfo":{ + "shape":"ConfigExportDeliveryInfo", + "documentation":"

A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

" + }, + "configStreamDeliveryInfo":{ + "shape":"ConfigStreamDeliveryInfo", + "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

" + }, + "DeliveryChannelStatusList":{ + "type":"list", + "member":{"shape":"DeliveryChannelStatus"} + }, + "DeliveryS3Bucket":{ + "type":"string", + "max":63, + "min":3 + }, + "DeliveryS3KeyPrefix":{ + "type":"string", + "max":1024, + "min":1 + }, + "DeliveryStatus":{ + "type":"string", + "enum":[ + "Success", + "Failure", + "Not_Applicable" + ] + }, + "DescribeAggregateComplianceByConfigRulesRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "Filters":{ + "shape":"ConfigRuleComplianceFilters", + "documentation":"

Filters the results by ConfigRuleComplianceFilters object.

" + }, + "Limit":{ + "shape":"GroupByAPILimit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeAggregateComplianceByConfigRulesResponse":{ + "type":"structure", + "members":{ + "AggregateComplianceByConfigRules":{ + "shape":"AggregateComplianceByConfigRuleList", + "documentation":"

Returns a list of AggregateComplianceByConfigRule object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeAggregationAuthorizationsRequest":{ + "type":"structure", + "members":{ + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeAggregationAuthorizationsResponse":{ + "type":"structure", + "members":{ + "AggregationAuthorizations":{ + "shape":"AggregationAuthorizationList", + "documentation":"

Returns a list of authorizations granted to various aggregator accounts and regions.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeComplianceByConfigRuleRequest":{ + "type":"structure", + "members":{ + "ConfigRuleNames":{ + "shape":"ConfigRuleNames", + "documentation":"

Specify one or more AWS Config rule names to filter the results by rule.

" + }, + "ComplianceTypes":{ + "shape":"ComplianceTypes", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT and NON_COMPLIANT.

" + }, + "NextToken":{ + "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", + "members":{ + "ComplianceByConfigRules":{ + "shape":"ComplianceByConfigRules", + "documentation":"

Indicates whether each of the specified AWS Config rules is compliant.

" + }, + "NextToken":{ + "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", + "members":{ + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The types of AWS resources for which you want compliance information (for example, AWS::EC2::Instance). For this action, you can specify that the resource type is an AWS account by specifying AWS::::Account.

" + }, + "ResourceId":{ + "shape":"BaseResourceId", + "documentation":"

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

" + }, + "ComplianceTypes":{ + "shape":"ComplianceTypes", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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", + "members":{ + "ComplianceByResources":{ + "shape":"ComplianceByResources", + "documentation":"

Indicates whether the specified AWS resource complies with all of the AWS Config rules that evaluate it.

" + }, + "NextToken":{ + "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.

" + }, + "NextToken":{ + "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.

" + }, + "Limit":{ + "shape":"RuleLimit", + "documentation":"

The number of rule evaluation results that you want returned.

This parameter is required if the rule limit for your account is more than the default of 150 rules.

For information about requesting a rule limit increase, see AWS Config Limits in the AWS General Reference Guide.

" + } + }, + "documentation":"

" + }, + "DescribeConfigRuleEvaluationStatusResponse":{ + "type":"structure", + "members":{ + "ConfigRulesEvaluationStatus":{ + "shape":"ConfigRuleEvaluationStatusList", + "documentation":"

Status information about your AWS managed Config rules.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + } + }, + "documentation":"

" + }, + "DescribeConfigRulesRequest":{ + "type":"structure", + "members":{ + "ConfigRuleNames":{ + "shape":"ConfigRuleNames", + "documentation":"

The names of the AWS Config rules for which you want details. If you do not specify any names, AWS Config returns details for all your rules.

" + }, + "NextToken":{ + "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", + "members":{ + "ConfigRules":{ + "shape":"ConfigRules", + "documentation":"

The details about your AWS Config rules.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + } + }, + "documentation":"

" + }, + "DescribeConfigurationAggregatorSourcesStatusRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "UpdateStatus":{ + "shape":"AggregatedSourceStatusTypeList", + "documentation":"

Filters the status type.

  • Valid value FAILED indicates errors while moving data.

  • Valid value SUCCEEDED indicates the data was successfully moved.

  • Valid value OUTDATED indicates the data is not the most recent.

" + }, + "NextToken":{ + "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.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + } + } + }, + "DescribeConfigurationAggregatorSourcesStatusResponse":{ + "type":"structure", + "members":{ + "AggregatedSourceStatusList":{ + "shape":"AggregatedSourceStatusList", + "documentation":"

Returns an AggregatedSourceStatus object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeConfigurationAggregatorsRequest":{ + "type":"structure", + "members":{ + "ConfigurationAggregatorNames":{ + "shape":"ConfigurationAggregatorNameList", + "documentation":"

The name of the configuration aggregators.

" + }, + "NextToken":{ + "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.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + } + } + }, + "DescribeConfigurationAggregatorsResponse":{ + "type":"structure", + "members":{ + "ConfigurationAggregators":{ + "shape":"ConfigurationAggregatorList", + "documentation":"

Returns a ConfigurationAggregators object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "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 input for the DescribeConfigurationRecorderStatus action.

" + }, + "DescribeConfigurationRecorderStatusResponse":{ + "type":"structure", + "members":{ + "ConfigurationRecordersStatus":{ + "shape":"ConfigurationRecorderStatusList", + "documentation":"

A list that contains status of the specified recorders.

" + } + }, + "documentation":"

The output for the DescribeConfigurationRecorderStatus action, in JSON format.

" + }, + "DescribeConfigurationRecordersRequest":{ + "type":"structure", + "members":{ + "ConfigurationRecorderNames":{ + "shape":"ConfigurationRecorderNameList", + "documentation":"

A list of configuration recorder names.

" + } + }, + "documentation":"

The input for the DescribeConfigurationRecorders action.

" + }, + "DescribeConfigurationRecordersResponse":{ + "type":"structure", + "members":{ + "ConfigurationRecorders":{ + "shape":"ConfigurationRecorderList", + "documentation":"

A list that contains the descriptions of the specified configuration recorders.

" + } + }, + "documentation":"

The output for the DescribeConfigurationRecorders action.

" + }, + "DescribeConformancePackComplianceLimit":{ + "type":"integer", + "max":1000, + "min":0 + }, + "DescribeConformancePackComplianceRequest":{ + "type":"structure", + "required":["ConformancePackName"], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "Filters":{ + "shape":"ConformancePackComplianceFilters", + "documentation":"

A ConformancePackComplianceFilters object.

" + }, + "Limit":{ + "shape":"DescribeConformancePackComplianceLimit", + "documentation":"

The maximum number of AWS Config rules within a conformance pack are returned on each page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeConformancePackComplianceResponse":{ + "type":"structure", + "required":[ + "ConformancePackName", + "ConformancePackRuleComplianceList" + ], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "ConformancePackRuleComplianceList":{ + "shape":"ConformancePackRuleComplianceList", + "documentation":"

Returns a list of ConformancePackRuleCompliance objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeConformancePackStatusRequest":{ + "type":"structure", + "members":{ + "ConformancePackNames":{ + "shape":"ConformancePackNamesList", + "documentation":"

Comma-separated list of conformance pack names.

" + }, + "Limit":{ + "shape":"PageSizeLimit", + "documentation":"

The maximum number of conformance packs status returned on each page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeConformancePackStatusResponse":{ + "type":"structure", + "members":{ + "ConformancePackStatusDetails":{ + "shape":"ConformancePackStatusDetailsList", + "documentation":"

A list of ConformancePackStatusDetail objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeConformancePacksRequest":{ + "type":"structure", + "members":{ + "ConformancePackNames":{ + "shape":"ConformancePackNamesList", + "documentation":"

Comma-separated list of conformance pack names for which you want details. If you do not specify any names, AWS Config returns details for all your conformance packs.

" + }, + "Limit":{ + "shape":"PageSizeLimit", + "documentation":"

The maximum number of conformance packs returned on each page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeConformancePacksResponse":{ + "type":"structure", + "members":{ + "ConformancePackDetails":{ + "shape":"ConformancePackDetailList", + "documentation":"

Returns a list of ConformancePackDetail objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeDeliveryChannelStatusRequest":{ + "type":"structure", + "members":{ + "DeliveryChannelNames":{ + "shape":"DeliveryChannelNameList", + "documentation":"

A list of delivery channel names.

" + } + }, + "documentation":"

The input for the DeliveryChannelStatus action.

" + }, + "DescribeDeliveryChannelStatusResponse":{ + "type":"structure", + "members":{ + "DeliveryChannelsStatus":{ + "shape":"DeliveryChannelStatusList", + "documentation":"

A list that contains the status of a specified delivery channel.

" + } + }, + "documentation":"

The output for the DescribeDeliveryChannelStatus action.

" + }, + "DescribeDeliveryChannelsRequest":{ + "type":"structure", + "members":{ + "DeliveryChannelNames":{ + "shape":"DeliveryChannelNameList", + "documentation":"

A list of delivery channel names.

" + } + }, + "documentation":"

The input for the DescribeDeliveryChannels action.

" + }, + "DescribeDeliveryChannelsResponse":{ + "type":"structure", + "members":{ + "DeliveryChannels":{ + "shape":"DeliveryChannelList", + "documentation":"

A list that contains the descriptions of the specified delivery channel.

" + } + }, + "documentation":"

The output for the DescribeDeliveryChannels action.

" + }, + "DescribeOrganizationConfigRuleStatusesRequest":{ + "type":"structure", + "members":{ + "OrganizationConfigRuleNames":{ + "shape":"OrganizationConfigRuleNames", + "documentation":"

The names of organization config rules for which you want status details. If you do not specify any names, AWS Config returns details for all your organization AWS Confg rules.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of OrganizationConfigRuleStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConfigRuleStatusesResponse":{ + "type":"structure", + "members":{ + "OrganizationConfigRuleStatuses":{ + "shape":"OrganizationConfigRuleStatuses", + "documentation":"

A list of OrganizationConfigRuleStatus objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConfigRulesRequest":{ + "type":"structure", + "members":{ + "OrganizationConfigRuleNames":{ + "shape":"OrganizationConfigRuleNames", + "documentation":"

The names of organization config rules for which you want details. If you do not specify any names, AWS Config returns details for all your organization config rules.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of organization config rules returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConfigRulesResponse":{ + "type":"structure", + "members":{ + "OrganizationConfigRules":{ + "shape":"OrganizationConfigRules", + "documentation":"

Returns a list of OrganizationConfigRule objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConformancePackStatusesRequest":{ + "type":"structure", + "members":{ + "OrganizationConformancePackNames":{ + "shape":"OrganizationConformancePackNames", + "documentation":"

The names of organization conformance packs for which you want status details. If you do not specify any names, AWS Config returns details for all your organization conformance packs.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of OrganizationConformancePackStatuses returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConformancePackStatusesResponse":{ + "type":"structure", + "members":{ + "OrganizationConformancePackStatuses":{ + "shape":"OrganizationConformancePackStatuses", + "documentation":"

A list of OrganizationConformancePackStatus objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConformancePacksRequest":{ + "type":"structure", + "members":{ + "OrganizationConformancePackNames":{ + "shape":"OrganizationConformancePackNames", + "documentation":"

The name that you assign to an organization conformance pack.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of organization config packs returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeOrganizationConformancePacksResponse":{ + "type":"structure", + "members":{ + "OrganizationConformancePacks":{ + "shape":"OrganizationConformancePacks", + "documentation":"

Returns a list of OrganizationConformancePacks objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribePendingAggregationRequestsLimit":{ + "type":"integer", + "max":20, + "min":0 + }, + "DescribePendingAggregationRequestsRequest":{ + "type":"structure", + "members":{ + "Limit":{ + "shape":"DescribePendingAggregationRequestsLimit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribePendingAggregationRequestsResponse":{ + "type":"structure", + "members":{ + "PendingAggregationRequests":{ + "shape":"PendingAggregationRequestList", + "documentation":"

Returns a PendingAggregationRequests object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeRemediationConfigurationsRequest":{ + "type":"structure", + "required":["ConfigRuleNames"], + "members":{ + "ConfigRuleNames":{ + "shape":"ConfigRuleNames", + "documentation":"

A list of AWS Config rule names of remediation configurations for which you want details.

" + } + } + }, + "DescribeRemediationConfigurationsResponse":{ + "type":"structure", + "members":{ + "RemediationConfigurations":{ + "shape":"RemediationConfigurations", + "documentation":"

Returns a remediation configuration object.

" + } + } + }, + "DescribeRemediationExceptionsRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "ResourceKeys":{ + "shape":"RemediationExceptionResourceKeys", + "documentation":"

An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of RemediationExceptionResourceKey returned on each page. The default is 25. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeRemediationExceptionsResponse":{ + "type":"structure", + "members":{ + "RemediationExceptions":{ + "shape":"RemediationExceptions", + "documentation":"

Returns a list of remediation exception objects.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "DescribeRemediationExecutionStatusRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

A list of AWS Config rule names.

" + }, + "ResourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of RemediationExecutionStatuses returned on each page. The default is maximum. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeRemediationExecutionStatusResponse":{ + "type":"structure", + "members":{ + "RemediationExecutionStatuses":{ + "shape":"RemediationExecutionStatuses", + "documentation":"

Returns a list of remediation execution statuses objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeRetentionConfigurationsRequest":{ + "type":"structure", + "members":{ + "RetentionConfigurationNames":{ + "shape":"RetentionConfigurationNameList", + "documentation":"

A list of names of retention configurations for which you want details. If you do not specify a name, AWS Config returns details for all the retention configurations for that account.

Currently, AWS Config supports only one retention configuration per region in your account.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DescribeRetentionConfigurationsResponse":{ + "type":"structure", + "members":{ + "RetentionConfigurations":{ + "shape":"RetentionConfigurationList", + "documentation":"

Returns a retention configuration object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "DiscoveredResourceIdentifierList":{ + "type":"list", + "member":{"shape":"AggregateResourceIdentifier"} + }, + "EarlierTime":{"type":"timestamp"}, + "EmptiableStringWithCharLimit256":{ + "type":"string", + "max":256, + "min":0 + }, + "Evaluation":{ + "type":"structure", + "required":[ + "ComplianceResourceType", + "ComplianceResourceId", + "ComplianceType", + "OrderingTimestamp" + ], + "members":{ + "ComplianceResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of AWS resource that was evaluated.

" + }, + "ComplianceResourceId":{ + "shape":"BaseResourceId", + "documentation":"

The ID of the AWS resource that was evaluated.

" + }, + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against.

For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type.

Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom AWS Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config.

" + }, + "Annotation":{ + "shape":"StringWithCharLimit256", + "documentation":"

Supplementary information about how the evaluation determined the compliance.

" + }, + "OrderingTimestamp":{ + "shape":"OrderingTimestamp", + "documentation":"

The time of the event in AWS Config that triggered the evaluation. For event-based evaluations, the time indicates when AWS Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when AWS Config triggered the evaluation at the frequency that you specified (for example, every 24 hours).

" + } + }, + "documentation":"

Identifies an AWS resource and indicates whether it complies with the AWS Config rule that it was evaluated against.

" + }, + "EvaluationResult":{ + "type":"structure", + "members":{ + "EvaluationResultIdentifier":{ + "shape":"EvaluationResultIdentifier", + "documentation":"

Uniquely identifies the evaluation result.

" + }, + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that evaluated it.

For the EvaluationResult data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for the EvaluationResult data type.

" + }, + "ResultRecordedTime":{ + "shape":"Date", + "documentation":"

The time when AWS Config recorded the evaluation result.

" + }, + "ConfigRuleInvokedTime":{ + "shape":"Date", + "documentation":"

The time when the AWS Config rule evaluated the AWS resource.

" + }, + "Annotation":{ + "shape":"StringWithCharLimit256", + "documentation":"

Supplementary information about how the evaluation determined the compliance.

" + }, + "ResultToken":{ + "shape":"String", + "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 time stamps, and supplementary information.

" + }, + "EvaluationResultIdentifier":{ + "type":"structure", + "members":{ + "EvaluationResultQualifier":{ + "shape":"EvaluationResultQualifier", + "documentation":"

Identifies an AWS Config rule used to evaluate an AWS resource, and provides the type and ID of the evaluated resource.

" + }, + "OrderingTimestamp":{ + "shape":"Date", + "documentation":"

The time of the event that triggered the evaluation of your AWS resources. The time can indicate when AWS Config delivered a configuration item change notification, or it can indicate when AWS Config delivered the configuration snapshot, depending on which event triggered the evaluation.

" + } + }, + "documentation":"

Uniquely identifies an evaluation result.

" + }, + "EvaluationResultQualifier":{ + "type":"structure", + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule that was used in the evaluation.

" + }, + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of AWS resource that was evaluated.

" + }, + "ResourceId":{ + "shape":"BaseResourceId", + "documentation":"

The ID of the evaluated AWS resource.

" + } + }, + "documentation":"

Identifies an AWS Config rule that evaluated an AWS resource, and provides the type and ID of the resource that the rule evaluated.

" + }, + "EvaluationResults":{ + "type":"list", + "member":{"shape":"EvaluationResult"} + }, + "Evaluations":{ + "type":"list", + "member":{"shape":"Evaluation"}, + "max":100, + "min":0 + }, + "EventSource":{ + "type":"string", + "enum":["aws.config"] + }, + "ExcludedAccounts":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":1000, + "min":0 + }, + "ExecutionControls":{ + "type":"structure", + "members":{ + "SsmControls":{ + "shape":"SsmControls", + "documentation":"

A SsmControls object.

" + } + }, + "documentation":"

The controls that AWS Config uses for executing remediations.

" + }, + "Expression":{ + "type":"string", + "max":4096, + "min":1 + }, + "FailedDeleteRemediationExceptionsBatch":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message for delete remediation exception. For example, AWS Config creates an exception due to an internal error.

" + }, + "FailedItems":{ + "shape":"RemediationExceptionResourceKeys", + "documentation":"

Returns remediation exception resource key object of the failed items.

" + } + }, + "documentation":"

List of each of the failed delete remediation exceptions with specific reasons.

" + }, + "FailedDeleteRemediationExceptionsBatches":{ + "type":"list", + "member":{"shape":"FailedDeleteRemediationExceptionsBatch"} + }, + "FailedRemediationBatch":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message. For example, the resource is already compliant.

" + }, + "FailedItems":{ + "shape":"RemediationConfigurations", + "documentation":"

Returns remediation configurations of the failed items.

" + } + }, + "documentation":"

List of each of the failed remediations with specific reasons.

" + }, + "FailedRemediationBatches":{ + "type":"list", + "member":{"shape":"FailedRemediationBatch"} + }, + "FailedRemediationExceptionBatch":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message. For example, the auto-remediation has failed.

" + }, + "FailedItems":{ + "shape":"RemediationExceptions", + "documentation":"

Returns remediation exception resource key object of the failed items.

" + } + }, + "documentation":"

List of each of the failed remediation exceptions with specific reasons.

" + }, + "FailedRemediationExceptionBatches":{ + "type":"list", + "member":{"shape":"FailedRemediationExceptionBatch"} + }, + "FieldInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FieldName", + "documentation":"

Name of the field.

" + } + }, + "documentation":"

Details about the fields such as name of the field.

" + }, + "FieldInfoList":{ + "type":"list", + "member":{"shape":"FieldInfo"} + }, + "FieldName":{"type":"string"}, + "GetAggregateComplianceDetailsByConfigRuleRequest":{ + "type":"structure", + "required":[ + "ConfigurationAggregatorName", + "ConfigRuleName", + "AccountId", + "AwsRegion" + ], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule for which you want compliance information.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the source account.

" + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The source region from where the data is aggregated.

" + }, + "ComplianceType":{ + "shape":"ComplianceType", + "documentation":"

The resource compliance status.

For the GetAggregateComplianceDetailsByConfigRuleRequest data type, AWS Config supports only the COMPLIANT and NON_COMPLIANT. AWS Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA values.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is 50. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateComplianceDetailsByConfigRuleResponse":{ + "type":"structure", + "members":{ + "AggregateEvaluationResults":{ + "shape":"AggregateEvaluationResultList", + "documentation":"

Returns an AggregateEvaluationResults object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateConfigRuleComplianceSummaryRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "Filters":{ + "shape":"ConfigRuleComplianceSummaryFilters", + "documentation":"

Filters the results based on the ConfigRuleComplianceSummaryFilters object.

" + }, + "GroupByKey":{ + "shape":"ConfigRuleComplianceSummaryGroupKey", + "documentation":"

Groups the result based on ACCOUNT_ID or AWS_REGION.

" + }, + "Limit":{ + "shape":"GroupByAPILimit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateConfigRuleComplianceSummaryResponse":{ + "type":"structure", + "members":{ + "GroupByKey":{ + "shape":"StringWithCharLimit256", + "documentation":"

Groups the result based on ACCOUNT_ID or AWS_REGION.

" + }, + "AggregateComplianceCounts":{ + "shape":"AggregateComplianceCountList", + "documentation":"

Returns a list of AggregateComplianceCounts object.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateDiscoveredResourceCountsRequest":{ + "type":"structure", + "required":["ConfigurationAggregatorName"], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "Filters":{ + "shape":"ResourceCountFilters", + "documentation":"

Filters the results based on the ResourceCountFilters object.

" + }, + "GroupByKey":{ + "shape":"ResourceCountGroupKey", + "documentation":"

The key to group the resource counts.

" + }, + "Limit":{ + "shape":"GroupByAPILimit", + "documentation":"

The maximum number of GroupedResourceCount objects returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateDiscoveredResourceCountsResponse":{ + "type":"structure", + "required":["TotalDiscoveredResources"], + "members":{ + "TotalDiscoveredResources":{ + "shape":"Long", + "documentation":"

The total number of resources that are present in an aggregator with the filters that you provide.

" + }, + "GroupByKey":{ + "shape":"StringWithCharLimit256", + "documentation":"

The key passed into the request object. If GroupByKey is not provided, the result will be empty.

" + }, + "GroupedResourceCounts":{ + "shape":"GroupedResourceCountList", + "documentation":"

Returns a list of GroupedResourceCount objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetAggregateResourceConfigRequest":{ + "type":"structure", + "required":[ + "ConfigurationAggregatorName", + "ResourceIdentifier" + ], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "ResourceIdentifier":{ + "shape":"AggregateResourceIdentifier", + "documentation":"

An object that identifies aggregate resource.

" + } + } + }, + "GetAggregateResourceConfigResponse":{ + "type":"structure", + "members":{ + "ConfigurationItem":{ + "shape":"ConfigurationItem", + "documentation":"

Returns a ConfigurationItem object.

" + } + } + }, + "GetComplianceDetailsByConfigRuleRequest":{ + "type":"structure", + "required":["ConfigRuleName"], + "members":{ + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of the AWS Config rule for which you want compliance information.

" + }, + "ComplianceTypes":{ + "shape":"ComplianceTypes", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" + }, + "NextToken":{ + "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", + "members":{ + "EvaluationResults":{ + "shape":"EvaluationResults", + "documentation":"

Indicates whether the AWS resource complies with the specified AWS Config rule.

" + }, + "NextToken":{ + "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", + "required":[ + "ResourceType", + "ResourceId" + ], + "members":{ + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of the AWS resource for which you want compliance information.

" + }, + "ResourceId":{ + "shape":"BaseResourceId", + "documentation":"

The ID of the AWS resource for which you want compliance information.

" + }, + "ComplianceTypes":{ + "shape":"ComplianceTypes", + "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" + }, + "NextToken":{ + "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", + "members":{ + "EvaluationResults":{ + "shape":"EvaluationResults", + "documentation":"

Indicates whether the specified AWS resource complies each AWS Config rule.

" + }, + "NextToken":{ + "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", + "members":{ + "ComplianceSummary":{ + "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", + "members":{ + "ResourceTypes":{ + "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. You can specify that the resource type is an AWS account by specifying AWS::::Account.

" + } + }, + "documentation":"

" + }, + "GetComplianceSummaryByResourceTypeResponse":{ + "type":"structure", + "members":{ + "ComplianceSummariesByResourceType":{ + "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":"

" + }, + "GetConformancePackComplianceDetailsLimit":{ + "type":"integer", + "max":100, + "min":0 + }, + "GetConformancePackComplianceDetailsRequest":{ + "type":"structure", + "required":["ConformancePackName"], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "Filters":{ + "shape":"ConformancePackEvaluationFilters", + "documentation":"

A ConformancePackEvaluationFilters object.

" + }, + "Limit":{ + "shape":"GetConformancePackComplianceDetailsLimit", + "documentation":"

The maximum number of evaluation results returned on each page. If you do no specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "GetConformancePackComplianceDetailsResponse":{ + "type":"structure", + "required":["ConformancePackName"], + "members":{ + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack.

" + }, + "ConformancePackRuleEvaluationResults":{ + "shape":"ConformancePackRuleEvaluationResultsList", + "documentation":"

Returns a list of ConformancePackEvaluationResult objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "GetConformancePackComplianceSummaryRequest":{ + "type":"structure", + "required":["ConformancePackNames"], + "members":{ + "ConformancePackNames":{ + "shape":"ConformancePackNamesToSummarizeList", + "documentation":"

Names of conformance packs.

" + }, + "Limit":{ + "shape":"PageSizeLimit", + "documentation":"

The maximum number of conformance packs returned on each page.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetConformancePackComplianceSummaryResponse":{ + "type":"structure", + "members":{ + "ConformancePackComplianceSummaryList":{ + "shape":"ConformancePackComplianceSummaryList", + "documentation":"

A list of ConformancePackComplianceSummary objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetDiscoveredResourceCountsRequest":{ + "type":"structure", + "members":{ + "resourceTypes":{ + "shape":"ResourceTypes", + "documentation":"

The comma-separated list that specifies the resource types that you want AWS Config to return (for example, \"AWS::EC2::Instance\", \"AWS::IAM::User\").

If a value for resourceTypes is not specified, AWS Config returns all resource types that AWS Config is recording in the region for your account.

If the configuration recorder is turned off, AWS Config returns an empty list of ResourceCount objects. If the configuration recorder is not recording a specific resource type (for example, S3 buckets), that resource type is not returned in the list of ResourceCount objects.

" + }, + "limit":{ + "shape":"Limit", + "documentation":"

The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" + }, + "nextToken":{ + "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.

" + } + } + }, + "GetDiscoveredResourceCountsResponse":{ + "type":"structure", + "members":{ + "totalDiscoveredResources":{ + "shape":"Long", + "documentation":"

The total number of resources that AWS Config is recording in the region for your account. If you specify resource types in the request, AWS Config returns only the total number of resources for those resource types.

Example

  1. AWS Config is recording three resource types in the US East (Ohio) Region for your account: 25 EC2 instances, 20 IAM users, and 15 S3 buckets, for a total of 60 resources.

  2. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, \"AWS::EC2::Instances\", in the request.

  3. AWS Config returns 25 for totalDiscoveredResources.

" + }, + "resourceCounts":{ + "shape":"ResourceCounts", + "documentation":"

The list of ResourceCount objects. Each object is listed in descending order by the number of resources.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + } + } + }, + "GetOrganizationConfigRuleDetailedStatusRequest":{ + "type":"structure", + "required":["OrganizationConfigRuleName"], + "members":{ + "OrganizationConfigRuleName":{ + "shape":"OrganizationConfigRuleName", + "documentation":"

The name of organization config rule for which you want status details for member accounts.

" + }, + "Filters":{ + "shape":"StatusDetailFilters", + "documentation":"

A StatusDetailFilters object.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of OrganizationConfigRuleDetailedStatus returned on each page. If you do not specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetOrganizationConfigRuleDetailedStatusResponse":{ + "type":"structure", + "members":{ + "OrganizationConfigRuleDetailedStatus":{ + "shape":"OrganizationConfigRuleDetailedStatus", + "documentation":"

A list of MemberAccountStatus objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetOrganizationConformancePackDetailedStatusRequest":{ + "type":"structure", + "required":["OrganizationConformancePackName"], + "members":{ + "OrganizationConformancePackName":{ + "shape":"OrganizationConformancePackName", + "documentation":"

The name of organization conformance pack for which you want status details for member accounts.

" + }, + "Filters":{ + "shape":"OrganizationResourceDetailedStatusFilters", + "documentation":"

An OrganizationResourceDetailedStatusFilters object.

" + }, + "Limit":{ + "shape":"CosmosPageLimit", + "documentation":"

The maximum number of OrganizationConformancePackDetailedStatuses returned on each page. If you do not specify a number, AWS Config uses the default. The default is 100.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetOrganizationConformancePackDetailedStatusResponse":{ + "type":"structure", + "members":{ + "OrganizationConformancePackDetailedStatuses":{ + "shape":"OrganizationConformancePackDetailedStatuses", + "documentation":"

A list of OrganizationConformancePackDetailedStatus objects.

" + }, + "NextToken":{ + "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.

" + } + } + }, + "GetResourceConfigHistoryRequest":{ + "type":"structure", + "required":[ + "resourceType", + "resourceId" + ], "members":{ - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether an AWS resource or AWS Config rule is compliant.

A resource is compliant if it complies with all of the AWS Config rules that evaluate it, and it is noncompliant if it does not comply with one or more of these rules.

A rule is compliant if all of the resources that the rule evaluates comply with it, and it is noncompliant if any of these resources do not comply.

AWS Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the AWS resource or Config rule.

For the Compliance data type, AWS Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. AWS Config does not support the NOT_APPLICABLE value for the Compliance data type.

" + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type.

" }, - "ComplianceContributorCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS resources or AWS Config rules that cause a result of NON_COMPLIANT, up to a maximum number.

" + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + }, + "laterTime":{ + "shape":"LaterTime", + "documentation":"

The time stamp that indicates a later time. If not specified, current time is taken.

" + }, + "earlierTime":{ + "shape":"EarlierTime", + "documentation":"

The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start when the first configuration item was recorded.

" + }, + "chronologicalOrder":{ + "shape":"ChronologicalOrder", + "documentation":"

The chronological order for configuration items listed. By default, the results are listed in reverse chronological order.

" + }, + "limit":{ + "shape":"Limit", + "documentation":"

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" + }, + "nextToken":{ + "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":"

Indicates whether an AWS resource or AWS Config rule is compliant and provides the number of contributors that affect the compliance.

" + "documentation":"

The input for the GetResourceConfigHistory action.

" }, - "ComplianceByConfigRule":{ + "GetResourceConfigHistoryResponse":{ "type":"structure", "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule.

" + "configurationItems":{ + "shape":"ConfigurationItemList", + "documentation":"

A list that contains the configuration history of one or more resources.

" }, - "Compliance":{ - "shape":"Compliance", - "documentation":"

Indicates whether the AWS Config rule is compliant.

" + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } }, - "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":"

The output for the GetResourceConfigHistory action.

" }, - "ComplianceByConfigRules":{ - "type":"list", - "member":{"shape":"ComplianceByConfigRule"} + "GroupByAPILimit":{ + "type":"integer", + "max":1000, + "min":0 }, - "ComplianceByResource":{ + "GroupedResourceCount":{ "type":"structure", + "required":[ + "GroupName", + "ResourceCount" + ], "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of the AWS resource that was evaluated.

" - }, - "ResourceId":{ + "GroupName":{ "shape":"StringWithCharLimit256", - "documentation":"

The ID of the AWS resource that was evaluated.

" + "documentation":"

The name of the group that can be region, account ID, or resource type. For example, region1, region2 if the region was chosen as GroupByKey.

" }, - "Compliance":{ - "shape":"Compliance", - "documentation":"

Indicates whether the AWS resource complies with all of the AWS Config rules that evaluated it.

" + "ResourceCount":{ + "shape":"Long", + "documentation":"

The number of resources in the group.

" } }, - "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":"

The count of resources that are grouped by the group name.

" }, - "ComplianceByResources":{ + "GroupedResourceCountList":{ "type":"list", - "member":{"shape":"ComplianceByResource"} + "member":{"shape":"GroupedResourceCount"} }, - "ComplianceContributorCount":{ + "IncludeGlobalResourceTypes":{"type":"boolean"}, + "InsufficientDeliveryPolicyException":{ "type":"structure", "members":{ - "CappedCount":{ - "shape":"Integer", - "documentation":"

The number of AWS resources or AWS Config rules responsible for the current compliance of the item.

" - }, - "CapExceeded":{ - "shape":"Boolean", - "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.

" - }, - "ComplianceResourceTypes":{ - "type":"list", - "member":{"shape":"StringWithCharLimit256"}, - "max":100, - "min":0 - }, - "ComplianceSummariesByResourceType":{ - "type":"list", - "member":{"shape":"ComplianceSummaryByResourceType"} + "documentation":"

Your Amazon S3 bucket policy does not permit AWS Config to write to it.

", + "exception":true }, - "ComplianceSummary":{ + "InsufficientPermissionsException":{ "type":"structure", "members":{ - "CompliantResourceCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS Config rules or AWS resources that are compliant, up to a maximum of 25 for rules and 100 for resources.

" - }, - "NonCompliantResourceCount":{ - "shape":"ComplianceContributorCount", - "documentation":"

The number of AWS Config rules or AWS resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources.

" - }, - "ComplianceSummaryTimestamp":{ - "shape":"Date", - "documentation":"

The time that AWS Config created the compliance summary.

" - } }, - "documentation":"

The number of AWS Config rules or AWS resources that are compliant and noncompliant, up to a maximum.

" + "documentation":"

Indicates one of the following errors:

  • For PutConfigRule, the rule cannot be created because the IAM role assigned to AWS Config lacks permissions to perform the config:Put* action.

  • For PutConfigRule, the AWS Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

  • For PutOrganizationConfigRule, organization config rule cannot be created because you do not have permissions to call IAM GetRole action or create a service linked role.

  • For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have permissions:

    • To call IAM GetRole action or create a service linked role.

    • To read Amazon S3 bucket.

", + "exception":true }, - "ComplianceSummaryByResourceType":{ + "Integer":{"type":"integer"}, + "InvalidConfigurationRecorderNameException":{ "type":"structure", "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource.

" - }, - "ComplianceSummary":{ - "shape":"ComplianceSummary", - "documentation":"

The number of AWS resources that are compliant or noncompliant, up to a maximum of 100 for each compliance.

" - } }, - "documentation":"

The number of AWS resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each compliance.

" + "documentation":"

You have provided a configuration recorder name that is not valid.

", + "exception":true }, - "ComplianceType":{ - "type":"string", - "enum":[ - "COMPLIANT", - "NON_COMPLIANT", - "NOT_APPLICABLE", - "INSUFFICIENT_DATA" - ] + "InvalidDeliveryChannelNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified delivery channel name is not valid.

", + "exception":true }, - "ComplianceTypes":{ - "type":"list", - "member":{"shape":"ComplianceType"}, - "max":3, - "min":0 + "InvalidExpressionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The syntax of the query is incorrect.

", + "exception":true }, - "ConfigExportDeliveryInfo":{ + "InvalidLimitException":{ "type":"structure", "members":{ - "lastStatus":{ - "shape":"DeliveryStatus", - "documentation":"

Status of the last attempted delivery.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code from the last attempted delivery.

" - }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The error message from the last attempted delivery.

" - }, - "lastAttemptTime":{ - "shape":"Date", - "documentation":"

The time of the last attempted delivery.

" - }, - "lastSuccessfulTime":{ - "shape":"Date", - "documentation":"

The time of the last successful delivery.

" - }, - "nextDeliveryTime":{ - "shape":"Date", - "documentation":"

The time that the next delivery occurs.

" - } }, - "documentation":"

A list that contains the status of the delivery of either the snapshot or the configuration history to the specified Amazon S3 bucket.

" + "documentation":"

The specified limit is outside the allowable range.

", + "exception":true }, - "ConfigRule":{ + "InvalidNextTokenException":{ "type":"structure", - "required":["Source"], "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name that you assign to the AWS Config rule. The name is required if you are adding a new rule.

" - }, - "ConfigRuleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" - }, - "ConfigRuleId":{ - "shape":"String", - "documentation":"

The ID of the AWS Config rule.

" - }, - "Description":{ - "shape":"EmptiableStringWithCharLimit256", - "documentation":"

The description that you provide for the AWS Config rule.

" - }, - "Scope":{ - "shape":"Scope", - "documentation":"

Defines which resources can trigger an evaluation for the rule. The scope can include one or more resource types, a combination of one resource type and one resource ID, or a combination of a tag key and value. Specify a scope to constrain the resources that can trigger an evaluation for the rule. If you do not specify a scope, evaluations are triggered when any resource in the recording group changes.

" - }, - "Source":{ - "shape":"Source", - "documentation":"

Provides the rule owner (AWS or customer), the rule identifier, and the notifications that cause the function to evaluate your AWS resources.

" - }, - "InputParameters":{ - "shape":"StringWithCharLimit256", - "documentation":"

A string in JSON format that is passed to the AWS Config rule Lambda function.

" - }, - "MaximumExecutionFrequency":{ - "shape":"MaximumExecutionFrequency", - "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

  • You are using an AWS managed rule that is triggered at a periodic frequency.

  • Your custom rule is triggered when AWS Config delivers the configuration snapshot.

For more information, see ConfigSnapshotDeliveryProperties.

" - }, - "ConfigRuleState":{ - "shape":"ConfigRuleState", - "documentation":"

Indicates whether the AWS Config rule is active or is currently being deleted by AWS Config. It can also indicate the evaluation status for the Config rule.

AWS Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the Config rule.

AWS Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the Config rule.

AWS Config sets the state of a rule to DELETING temporarily after you use the DeleteConfigRule request to delete the rule. After AWS Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.

" - } }, - "documentation":"

An AWS Config rule represents an AWS Lambda function that you create for a custom rule or a predefined function for an AWS managed rule. The function evaluates configuration items to assess whether your AWS resources comply with your desired configurations. This function can run when AWS Config detects a configuration change to an AWS resource and at a periodic frequency that you choose (for example, every 24 hours).

You can use the AWS CLI and AWS SDKs if you want to create a rule that triggers evaluations for your resources when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

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":"

The specified next token is invalid. Specify the nextToken string that was returned in the previous response to get the next page of results.

", + "exception":true }, - "ConfigRuleEvaluationStatus":{ + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + }, + "documentation":"

One or more of the specified parameters are invalid. Verify that your parameters are valid and try again.

", + "exception":true + }, + "InvalidRecordingGroupException":{ "type":"structure", "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule.

" - }, - "ConfigRuleArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS Config rule.

" - }, - "ConfigRuleId":{ - "shape":"String", - "documentation":"

The ID of the AWS Config rule.

" - }, - "LastSuccessfulInvocationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last successfully invoked the AWS Config rule to evaluate your AWS resources.

" - }, - "LastFailedInvocationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last failed to invoke the AWS Config rule to evaluate your AWS resources.

" - }, - "LastSuccessfulEvaluationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last successfully evaluated your AWS resources against the rule.

" - }, - "LastFailedEvaluationTime":{ - "shape":"Date", - "documentation":"

The time that AWS Config last failed to evaluate your AWS resources against the rule.

" - }, - "FirstActivatedTime":{ - "shape":"Date", - "documentation":"

The time that you first activated the AWS Config rule.

" - }, - "LastErrorCode":{ - "shape":"String", - "documentation":"

The error code that AWS Config returned when the rule last failed.

" - }, - "LastErrorMessage":{ - "shape":"String", - "documentation":"

The error message that AWS Config returned when the rule last failed.

" - }, - "FirstEvaluationStarted":{ - "shape":"Boolean", - "documentation":"

Indicates whether AWS Config has evaluated your resources against the rule at least once.

  • true - AWS Config has evaluated your AWS resources against the rule at least once.

  • false - AWS Config has not once finished evaluating your AWS resources against the rule.

" - } }, - "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.

" + "documentation":"

AWS Config throws an exception if the recording group does not contain a valid list of resource types. Invalid values might also be incorrectly formatted.

", + "exception":true }, - "ConfigRuleEvaluationStatusList":{ - "type":"list", - "member":{"shape":"ConfigRuleEvaluationStatus"} + "InvalidResultTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ResultToken is invalid.

", + "exception":true }, - "ConfigRuleNames":{ - "type":"list", - "member":{"shape":"StringWithCharLimit64"}, - "max":25, - "min":0 + "InvalidRoleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have provided a null or empty role ARN.

", + "exception":true }, - "ConfigRuleState":{ - "type":"string", - "enum":[ - "ACTIVE", - "DELETING", - "DELETING_RESULTS", - "EVALUATING" - ] + "InvalidS3KeyPrefixException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Amazon S3 key prefix is not valid.

", + "exception":true }, - "ConfigRules":{ - "type":"list", - "member":{"shape":"ConfigRule"} + "InvalidSNSTopicARNException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Amazon SNS topic does not exist.

", + "exception":true }, - "ConfigSnapshotDeliveryProperties":{ + "InvalidTimeRangeException":{ "type":"structure", "members":{ - "deliveryFrequency":{ - "shape":"MaximumExecutionFrequency", - "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:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often AWS Config delivers configuration snapshots. This value also sets how often AWS Config invokes evaluations for Config rules.

  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which AWS Config invokes evaluations for the rule. For more information, see ConfigRule.

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":"

The specified time range is not valid. The earlier time is not chronologically before the later time.

", + "exception":true }, - "ConfigStreamDeliveryInfo":{ + "LastDeliveryChannelDeleteFailedException":{ "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.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code from the last attempted delivery.

" - }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The error message from the last attempted delivery.

" - }, - "lastStatusChangeTime":{ - "shape":"Date", - "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":"

You cannot delete the delivery channel you specified because the configuration recorder is running.

", + "exception":true }, - "Configuration":{"type":"string"}, - "ConfigurationItem":{ + "LaterTime":{"type":"timestamp"}, + "Limit":{ + "type":"integer", + "max":100, + "min":0 + }, + "LimitExceededException":{ "type":"structure", "members":{ - "version":{ - "shape":"Version", - "documentation":"

The version number of the resource configuration.

" - }, - "accountId":{ - "shape":"AccountId", - "documentation":"

The 12 digit AWS account ID associated with the resource.

" - }, - "configurationItemCaptureTime":{ - "shape":"ConfigurationItemCaptureTime", - "documentation":"

The time when the configuration recording was initiated.

" + }, + "documentation":"

For StartConfigRulesEvaluation API, this exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

For PutConfigurationAggregator API, this exception is thrown if the number of accounts and aggregators exceeds the limit.

", + "exception":true + }, + "ListAggregateDiscoveredResourcesRequest":{ + "type":"structure", + "required":[ + "ConfigurationAggregatorName", + "ResourceType" + ], + "members":{ + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" }, - "configurationItemStatus":{ - "shape":"ConfigurationItemStatus", - "documentation":"

The configuration item status.

" + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resources that you want AWS Config to list in the response.

" }, - "configurationStateId":{ - "shape":"ConfigurationStateId", - "documentation":"

An identifier that indicates the ordering of the configuration items of a resource.

" + "Filters":{ + "shape":"ResourceFilters", + "documentation":"

Filters the results based on the ResourceFilters object.

" }, - "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.

" + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" }, - "arn":{ - "shape":"ARN", - "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + "NextToken":{ + "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.

" + } + } + }, + "ListAggregateDiscoveredResourcesResponse":{ + "type":"structure", + "members":{ + "ResourceIdentifiers":{ + "shape":"DiscoveredResourceIdentifierList", + "documentation":"

Returns a list of ResourceIdentifiers objects.

" }, + "NextToken":{ + "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.

" + } + } + }, + "ListDiscoveredResourcesRequest":{ + "type":"structure", + "required":["resourceType"], + "members":{ "resourceType":{ "shape":"ResourceType", - "documentation":"

The type of AWS resource.

" + "documentation":"

The type of resources that you want AWS Config to list in the response.

" }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + "resourceIds":{ + "shape":"ResourceIdList", + "documentation":"

The IDs of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" }, "resourceName":{ "shape":"ResourceName", - "documentation":"

The custom name of the resource, if available.

" - }, - "awsRegion":{ - "shape":"AwsRegion", - "documentation":"

The region where the resource resides.

" - }, - "availabilityZone":{ - "shape":"AvailabilityZone", - "documentation":"

The Availability Zone associated with the resource.

" - }, - "resourceCreationTime":{ - "shape":"ResourceCreationTime", - "documentation":"

The time stamp when the resource was created.

" - }, - "tags":{ - "shape":"Tags", - "documentation":"

A mapping of key value tags associated with the resource.

" - }, - "relatedEvents":{ - "shape":"RelatedEventList", - "documentation":"

A list of CloudTrail event IDs.

A populated field indicates that the current configuration was initiated by the events recorded in the CloudTrail log. For more information about CloudTrail, see What is AWS CloudTrail?.

An empty field indicates that the current configuration was not initiated by any event.

" + "documentation":"

The custom name of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" }, - "relationships":{ - "shape":"RelationshipList", - "documentation":"

A list of related AWS resources.

" + "limit":{ + "shape":"Limit", + "documentation":"

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, AWS Config uses the default.

" }, - "configuration":{ - "shape":"Configuration", - "documentation":"

The description of the resource configuration.

" + "includeDeletedResources":{ + "shape":"Boolean", + "documentation":"

Specifies whether AWS Config includes deleted resources in the results. By default, deleted resources are not included.

" }, - "supplementaryConfiguration":{ - "shape":"SupplementaryConfiguration", - "documentation":"

Configuration attributes that AWS Config returns for certain resource types to supplement the information returned for the configuration parameter.

" + "nextToken":{ + "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":"

A list that contains detailed configurations of a specified resource.

Currently, the list does not contain information about non-AWS components (for example, applications on your Amazon EC2 instances).

" - }, - "ConfigurationItemCaptureTime":{"type":"timestamp"}, - "ConfigurationItemList":{ - "type":"list", - "member":{"shape":"ConfigurationItem"} - }, - "ConfigurationItemMD5Hash":{"type":"string"}, - "ConfigurationItemStatus":{ - "type":"string", - "enum":[ - "Ok", - "Failed", - "Discovered", - "Deleted" - ] + "documentation":"

" }, - "ConfigurationRecorder":{ + "ListDiscoveredResourcesResponse":{ "type":"structure", "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.

" - }, - "roleARN":{ - "shape":"String", - "documentation":"

Amazon Resource Name (ARN) of the IAM role used to describe the AWS resources associated with the account.

" + "resourceIdentifiers":{ + "shape":"ResourceIdentifierList", + "documentation":"

The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name.

" }, - "recordingGroup":{ - "shape":"RecordingGroup", - "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

" + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" } }, - "documentation":"

An object that represents the recording of configuration changes of an AWS resource.

" - }, - "ConfigurationRecorderList":{ - "type":"list", - "member":{"shape":"ConfigurationRecorder"} - }, - "ConfigurationRecorderNameList":{ - "type":"list", - "member":{"shape":"RecorderName"} + "documentation":"

" }, - "ConfigurationRecorderStatus":{ + "ListTagsForResourceRequest":{ "type":"structure", + "required":["ResourceArn"], "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the configuration recorder.

" - }, - "lastStartTime":{ - "shape":"Date", - "documentation":"

The time the recorder was last started.

" - }, - "lastStopTime":{ - "shape":"Date", - "documentation":"

The time the recorder was last stopped.

" - }, - "recording":{ - "shape":"Boolean", - "documentation":"

Specifies whether the recorder is currently recording or not.

" - }, - "lastStatus":{ - "shape":"RecorderStatus", - "documentation":"

The last (previous) status of the recorder.

" - }, - "lastErrorCode":{ - "shape":"String", - "documentation":"

The error code indicating that the recording failed.

" + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" }, - "lastErrorMessage":{ - "shape":"String", - "documentation":"

The message indicating that the recording failed due to an error.

" + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, AWS Config uses the default.

" }, - "lastStatusChangeTime":{ - "shape":"Date", - "documentation":"

The time when the status was last changed.

" + "NextToken":{ + "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":"

The current status of the configuration recorder.

" - }, - "ConfigurationRecorderStatusList":{ - "type":"list", - "member":{"shape":"ConfigurationRecorderStatus"} + } }, - "ConfigurationStateId":{"type":"string"}, - "Date":{"type":"timestamp"}, - "DeleteConfigRuleRequest":{ + "ListTagsForResourceResponse":{ "type":"structure", - "required":["ConfigRuleName"], "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule that you want to delete.

" + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + }, + "NextToken":{ + "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.

" } + } + }, + "Long":{"type":"long"}, + "MaxActiveResourcesExceededException":{ + "type":"structure", + "members":{ }, - "documentation":"

" + "documentation":"

You have reached the limit (100,000) of active custom resource types in your account. Delete unused resources using DeleteResourceConfig.

", + "exception":true }, - "DeleteConfigurationRecorderRequest":{ + "MaxNumberOfConfigRulesExceededException":{ "type":"structure", - "required":["ConfigurationRecorderName"], "members":{ - "ConfigurationRecorderName":{ - "shape":"RecorderName", - "documentation":"

The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action.

" - } }, - "documentation":"

The request object for the DeleteConfigurationRecorder action.

" + "documentation":"

Failed to add the AWS Config rule because the account already contains the maximum number of 150 rules. Consider deleting any deactivated rules before you add new rules.

", + "exception":true }, - "DeleteDeliveryChannelRequest":{ + "MaxNumberOfConfigurationRecordersExceededException":{ "type":"structure", - "required":["DeliveryChannelName"], "members":{ - "DeliveryChannelName":{ - "shape":"ChannelName", - "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":"

You have reached the limit of the number of recorders you can create.

", + "exception":true }, - "DeleteEvaluationResultsRequest":{ + "MaxNumberOfConformancePacksExceededException":{ "type":"structure", - "required":["ConfigRuleName"], "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the Config rule for which you want to delete the evaluation results.

" - } }, - "documentation":"

" + "documentation":"

You have reached the limit (6) of the number of conformance packs in an account (6 conformance pack with 25 AWS Config rules per pack).

", + "exception":true }, - "DeleteEvaluationResultsResponse":{ + "MaxNumberOfDeliveryChannelsExceededException":{ "type":"structure", "members":{ }, - "documentation":"

The output when you delete the evaluation results for the specified Config rule.

" + "documentation":"

You have reached the limit of the number of delivery channels you can create.

", + "exception":true }, - "DeliverConfigSnapshotRequest":{ + "MaxNumberOfOrganizationConfigRulesExceededException":{ "type":"structure", - "required":["deliveryChannelName"], "members":{ - "deliveryChannelName":{ - "shape":"ChannelName", - "documentation":"

The name of the delivery channel through which the snapshot is delivered.

" - } }, - "documentation":"

The input for the DeliverConfigSnapshot action.

" + "documentation":"

You have reached the limit of the number of organization config rules you can create.

", + "exception":true }, - "DeliverConfigSnapshotResponse":{ + "MaxNumberOfOrganizationConformancePacksExceededException":{ "type":"structure", "members":{ - "configSnapshotId":{ - "shape":"String", - "documentation":"

The ID of the snapshot that is being created.

" - } }, - "documentation":"

The output for the DeliverConfigSnapshot action in JSON format.

" + "documentation":"

You have reached the limit (6) of the number of organization conformance packs in an account (6 conformance pack with 25 AWS Config rules per pack per account).

", + "exception":true }, - "DeliveryChannel":{ + "MaxNumberOfRetentionConfigurationsExceededException":{ "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.

" - }, - "s3BucketName":{ - "shape":"String", - "documentation":"

The name of the Amazon S3 bucket to which AWS Config delivers configuration snapshots and configuration history files.

If you specify a bucket that belongs to another AWS account, that bucket must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon S3 Bucket in the AWS Config Developer Guide.

" - }, - "s3KeyPrefix":{ - "shape":"String", - "documentation":"

The prefix for the specified Amazon S3 bucket.

" - }, - "snsTopicARN":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic to which AWS Config sends notifications about configuration changes.

If you choose a topic from another account, the topic must have policies that grant access permissions to AWS Config. For more information, see Permissions for the Amazon SNS Topic in the AWS Config Developer Guide.

" - }, - "configSnapshotDeliveryProperties":{"shape":"ConfigSnapshotDeliveryProperties"} }, - "documentation":"

The channel through which AWS Config delivers notifications and updated configuration states.

" + "documentation":"

Failed to add the retention configuration because a retention configuration with that name already exists.

", + "exception":true }, - "DeliveryChannelList":{ - "type":"list", - "member":{"shape":"DeliveryChannel"} + "MaximumExecutionFrequency":{ + "type":"string", + "enum":[ + "One_Hour", + "Three_Hours", + "Six_Hours", + "Twelve_Hours", + "TwentyFour_Hours" + ] }, - "DeliveryChannelNameList":{ - "type":"list", - "member":{"shape":"ChannelName"} + "MemberAccountRuleStatus":{ + "type":"string", + "enum":[ + "CREATE_SUCCESSFUL", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "DELETE_SUCCESSFUL", + "DELETE_FAILED", + "DELETE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED" + ] }, - "DeliveryChannelStatus":{ + "MemberAccountStatus":{ "type":"structure", + "required":[ + "AccountId", + "ConfigRuleName", + "MemberAccountRuleStatus" + ], "members":{ - "name":{ - "shape":"String", - "documentation":"

The name of the delivery channel.

" + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of a member account.

" }, - "configSnapshotDeliveryInfo":{ - "shape":"ConfigExportDeliveryInfo", - "documentation":"

A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

" + "ConfigRuleName":{ + "shape":"StringWithCharLimit64", + "documentation":"

The name of config rule deployed in the member account.

" }, - "configHistoryDeliveryInfo":{ - "shape":"ConfigExportDeliveryInfo", - "documentation":"

A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

" + "MemberAccountRuleStatus":{ + "shape":"MemberAccountRuleStatus", + "documentation":"

Indicates deployment status for config rule in the member account. When master account calls PutOrganizationConfigRule action for the first time, config rule status is created in the member account. When master account calls PutOrganizationConfigRule action for the second time, config rule status is updated in the member account. Config rule status is deleted when the master account deletes OrganizationConfigRule and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the rule to:

  • CREATE_SUCCESSFUL when config rule has been created in the member account.

  • CREATE_IN_PROGRESS when config rule is being created in the member account.

  • CREATE_FAILED when config rule creation has failed in the member account.

  • DELETE_FAILED when config rule deletion has failed in the member account.

  • DELETE_IN_PROGRESS when config rule is being deleted in the member account.

  • DELETE_SUCCESSFUL when config rule has been deleted in the member account.

  • UPDATE_SUCCESSFUL when config rule has been updated in the member account.

  • UPDATE_IN_PROGRESS when config rule is being updated in the member account.

  • UPDATE_FAILED when config rule deletion has failed in the member account.

" }, - "configStreamDeliveryInfo":{ - "shape":"ConfigStreamDeliveryInfo", - "documentation":"

A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic.

" + "ErrorCode":{ + "shape":"String", + "documentation":"

An error code that is returned when config rule creation or deletion failed in the member account.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message indicating that config rule account creation or deletion has failed due to an error in the member account.

" + }, + "LastUpdateTime":{ + "shape":"Date", + "documentation":"

The timestamp of the last status update.

" } }, - "documentation":"

The status of a specified delivery channel.

Valid values: Success | Failure

" - }, - "DeliveryChannelStatusList":{ - "type":"list", - "member":{"shape":"DeliveryChannelStatus"} + "documentation":"

Organization config rule creation or deletion status in each member account. This includes the name of the rule, the status, error code and error message when the rule creation or deletion failed.

" }, - "DeliveryStatus":{ + "MessageType":{ "type":"string", "enum":[ - "Success", - "Failure", - "Not_Applicable" + "ConfigurationItemChangeNotification", + "ConfigurationSnapshotDeliveryCompleted", + "ScheduledNotification", + "OversizedConfigurationItemChangeNotification" ] }, - "DescribeComplianceByConfigRuleRequest":{ + "Name":{"type":"string"}, + "NextToken":{"type":"string"}, + "NoAvailableConfigurationRecorderException":{ "type":"structure", "members":{ - "ConfigRuleNames":{ - "shape":"ConfigRuleNames", - "documentation":"

Specify one or more AWS Config rule names to filter the results by rule.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" - }, - "NextToken":{ - "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":"

" + "documentation":"

There are no configuration recorders available to provide the role needed to describe your resources. Create a configuration recorder.

", + "exception":true }, - "DescribeComplianceByConfigRuleResponse":{ + "NoAvailableDeliveryChannelException":{ "type":"structure", "members":{ - "ComplianceByConfigRules":{ - "shape":"ComplianceByConfigRules", - "documentation":"

Indicates whether each of the specified AWS Config rules is compliant.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } }, - "documentation":"

" + "documentation":"

There is no delivery channel available to record configurations.

", + "exception":true }, - "DescribeComplianceByResourceRequest":{ + "NoAvailableOrganizationException":{ "type":"structure", "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The types of AWS resources for which you want compliance information; for example, AWS::EC2::Instance. For this action, you can specify that the resource type is an AWS account by specifying AWS::::Account.

" - }, - "ResourceId":{ - "shape":"StringWithCharLimit256", - "documentation":"

The ID of the AWS resource for which you want compliance information. You can specify only one resource ID. If you specify a resource ID, you must also specify a type for ResourceType.

" - }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA.

" - }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" - }, - "NextToken":{ - "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":"

" + "documentation":"

Organization is no longer available.

", + "exception":true }, - "DescribeComplianceByResourceResponse":{ + "NoRunningConfigurationRecorderException":{ "type":"structure", "members":{ - "ComplianceByResources":{ - "shape":"ComplianceByResources", - "documentation":"

Indicates whether the specified AWS resource complies with all of the AWS Config rules that evaluate it.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } }, - "documentation":"

" + "documentation":"

There is no configuration recorder running.

", + "exception":true }, - "DescribeConfigRuleEvaluationStatusRequest":{ + "NoSuchBucketException":{ "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":"

" + "documentation":"

The specified Amazon S3 bucket does not exist.

", + "exception":true }, - "DescribeConfigRuleEvaluationStatusResponse":{ + "NoSuchConfigRuleException":{ "type":"structure", "members":{ - "ConfigRulesEvaluationStatus":{ - "shape":"ConfigRuleEvaluationStatusList", - "documentation":"

Status information about your AWS managed Config rules.

" - } }, - "documentation":"

" + "documentation":"

One or more AWS Config rules in the request are invalid. Verify that the rule names are correct and try again.

", + "exception":true }, - "DescribeConfigRulesRequest":{ + "NoSuchConfigRuleInConformancePackException":{ "type":"structure", "members":{ - "ConfigRuleNames":{ - "shape":"ConfigRuleNames", - "documentation":"

The names of the AWS Config rules for which you want details. If you do not specify any names, AWS Config returns details for all your rules.

" - }, - "NextToken":{ - "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":"

" + "documentation":"

AWS Config rule that you passed in the filter does not exist.

", + "exception":true }, - "DescribeConfigRulesResponse":{ + "NoSuchConfigurationAggregatorException":{ "type":"structure", "members":{ - "ConfigRules":{ - "shape":"ConfigRules", - "documentation":"

The details about your AWS Config rules.

" - }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } }, - "documentation":"

" + "documentation":"

You have specified a configuration aggregator that does not exist.

", + "exception":true }, - "DescribeConfigurationRecorderStatusRequest":{ + "NoSuchConfigurationRecorderException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have specified a configuration recorder that does not exist.

", + "exception":true + }, + "NoSuchConformancePackException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You specified one or more conformance packs that do not exist.

", + "exception":true + }, + "NoSuchDeliveryChannelException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have specified a delivery channel that does not exist.

", + "exception":true + }, + "NoSuchOrganizationConfigRuleException":{ "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 input for the DescribeConfigurationRecorderStatus action.

" + "documentation":"

You specified one or more organization config rules that do not exist.

", + "exception":true }, - "DescribeConfigurationRecorderStatusResponse":{ + "NoSuchOrganizationConformancePackException":{ "type":"structure", "members":{ - "ConfigurationRecordersStatus":{ - "shape":"ConfigurationRecorderStatusList", - "documentation":"

A list that contains status of the specified recorders.

" - } }, - "documentation":"

The output for the DescribeConfigurationRecorderStatus action in JSON format.

" + "documentation":"

AWS Config organization conformance pack that you passed in the filter does not exist.

For DeleteOrganizationConformancePack, you tried to delete an organization conformance pack that does not exist.

", + "exception":true }, - "DescribeConfigurationRecordersRequest":{ + "NoSuchRemediationConfigurationException":{ "type":"structure", "members":{ - "ConfigurationRecorderNames":{ - "shape":"ConfigurationRecorderNameList", - "documentation":"

A list of configuration recorder names.

" - } }, - "documentation":"

The input for the DescribeConfigurationRecorders action.

" + "documentation":"

You specified an AWS Config rule without a remediation configuration.

", + "exception":true }, - "DescribeConfigurationRecordersResponse":{ + "NoSuchRemediationExceptionException":{ "type":"structure", "members":{ - "ConfigurationRecorders":{ - "shape":"ConfigurationRecorderList", - "documentation":"

A list that contains the descriptions of the specified configuration recorders.

" - } }, - "documentation":"

The output for the DescribeConfigurationRecorders action.

" + "documentation":"

You tried to delete a remediation exception that does not exist.

", + "exception":true }, - "DescribeDeliveryChannelStatusRequest":{ + "NoSuchRetentionConfigurationException":{ "type":"structure", "members":{ - "DeliveryChannelNames":{ - "shape":"DeliveryChannelNameList", - "documentation":"

A list of delivery channel names.

" - } }, - "documentation":"

The input for the DeliveryChannelStatus action.

" + "documentation":"

You have specified a retention configuration that does not exist.

", + "exception":true }, - "DescribeDeliveryChannelStatusResponse":{ + "OrderingTimestamp":{"type":"timestamp"}, + "OrganizationAccessDeniedException":{ "type":"structure", "members":{ - "DeliveryChannelsStatus":{ - "shape":"DeliveryChannelStatusList", - "documentation":"

A list that contains the status of a specified delivery channel.

" - } }, - "documentation":"

The output for the DescribeDeliveryChannelStatus action.

" + "documentation":"

For PutConfigAggregator API, no permission to call EnableAWSServiceAccess API.

For all OrganizationConfigRule and OrganizationConformancePack APIs, AWS Config throws an exception if APIs are called from member accounts. All APIs must be called from organization master account.

", + "exception":true }, - "DescribeDeliveryChannelsRequest":{ + "OrganizationAggregationSource":{ "type":"structure", + "required":["RoleArn"], "members":{ - "DeliveryChannelNames":{ - "shape":"DeliveryChannelNameList", - "documentation":"

A list of delivery channel names.

" + "RoleArn":{ + "shape":"String", + "documentation":"

ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.

" + }, + "AwsRegions":{ + "shape":"AggregatorRegionList", + "documentation":"

The source regions being aggregated.

" + }, + "AllAwsRegions":{ + "shape":"Boolean", + "documentation":"

If true, aggregate existing AWS Config regions and future regions.

" } }, - "documentation":"

The input for the DescribeDeliveryChannels action.

" + "documentation":"

This object contains regions to set up the aggregator and an IAM role to retrieve organization details.

" }, - "DescribeDeliveryChannelsResponse":{ + "OrganizationAllFeaturesNotEnabledException":{ "type":"structure", "members":{ - "DeliveryChannels":{ - "shape":"DeliveryChannelList", - "documentation":"

A list that contains the descriptions of the specified delivery channel.

" - } }, - "documentation":"

The output for the DescribeDeliveryChannels action.

" - }, - "EarlierTime":{"type":"timestamp"}, - "EmptiableStringWithCharLimit256":{ - "type":"string", - "max":256, - "min":0 + "documentation":"

AWS Config resource cannot be created because your organization does not have all features enabled.

", + "exception":true }, - "Evaluation":{ + "OrganizationConfigRule":{ "type":"structure", "required":[ - "ComplianceResourceType", - "ComplianceResourceId", - "ComplianceType", - "OrderingTimestamp" + "OrganizationConfigRuleName", + "OrganizationConfigRuleArn" ], "members":{ - "ComplianceResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource that was evaluated.

" + "OrganizationConfigRuleName":{ + "shape":"OrganizationConfigRuleName", + "documentation":"

The name that you assign to organization config rule.

" }, - "ComplianceResourceId":{ + "OrganizationConfigRuleArn":{ "shape":"StringWithCharLimit256", - "documentation":"

The ID of the AWS resource that was evaluated.

" + "documentation":"

Amazon Resource Name (ARN) of organization config rule.

" }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that it was evaluated against.

For the Evaluation data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for this data type.

Similarly, AWS Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an AWS Lambda function for a custom Config rule cannot pass an INSUFFICIENT_DATA value to AWS Config.

" + "OrganizationManagedRuleMetadata":{ + "shape":"OrganizationManagedRuleMetadata", + "documentation":"

An OrganizationManagedRuleMetadata object.

" }, - "Annotation":{ - "shape":"StringWithCharLimit256", - "documentation":"

Supplementary information about how the evaluation determined the compliance.

" + "OrganizationCustomRuleMetadata":{ + "shape":"OrganizationCustomRuleMetadata", + "documentation":"

An OrganizationCustomRuleMetadata object.

" }, - "OrderingTimestamp":{ - "shape":"OrderingTimestamp", - "documentation":"

The time of the event in AWS Config that triggered the evaluation. For event-based evaluations, the time indicates when AWS Config created the configuration item that triggered the evaluation. For periodic evaluations, the time indicates when AWS Config delivered the configuration snapshot that triggered the evaluation.

" + "ExcludedAccounts":{ + "shape":"ExcludedAccounts", + "documentation":"

A comma-separated list of accounts excluded from organization config rule.

" + }, + "LastUpdateTime":{ + "shape":"Date", + "documentation":"

The timestamp of the last update.

" } }, - "documentation":"

Identifies an AWS resource and indicates whether it complies with the AWS Config rule that it was evaluated against.

" + "documentation":"

An organization config rule that has information about config rules that AWS Config creates in member accounts.

" }, - "EvaluationResult":{ + "OrganizationConfigRuleDetailedStatus":{ + "type":"list", + "member":{"shape":"MemberAccountStatus"} + }, + "OrganizationConfigRuleName":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*\\S.*" + }, + "OrganizationConfigRuleNames":{ + "type":"list", + "member":{"shape":"StringWithCharLimit64"}, + "max":25, + "min":0 + }, + "OrganizationConfigRuleStatus":{ "type":"structure", + "required":[ + "OrganizationConfigRuleName", + "OrganizationRuleStatus" + ], "members":{ - "EvaluationResultIdentifier":{ - "shape":"EvaluationResultIdentifier", - "documentation":"

Uniquely identifies the evaluation result.

" + "OrganizationConfigRuleName":{ + "shape":"OrganizationConfigRuleName", + "documentation":"

The name that you assign to organization config rule.

" + }, + "OrganizationRuleStatus":{ + "shape":"OrganizationRuleStatus", + "documentation":"

Indicates deployment status of an organization config rule. When master account calls PutOrganizationConfigRule action for the first time, config rule status is created in all the member accounts. When master account calls PutOrganizationConfigRule action for the second time, config rule status is updated in all the member accounts. Additionally, config rule status is updated when one or more member accounts join or leave an organization. Config rule status is deleted when the master account deletes OrganizationConfigRule in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the rule to:

  • CREATE_SUCCESSFUL when an organization config rule has been successfully created in all the member accounts.

  • CREATE_IN_PROGRESS when an organization config rule creation is in progress.

  • CREATE_FAILED when an organization config rule creation failed in one or more member accounts within that organization.

  • DELETE_FAILED when an organization config rule deletion failed in one or more member accounts within that organization.

  • DELETE_IN_PROGRESS when an organization config rule deletion is in progress.

  • DELETE_SUCCESSFUL when an organization config rule has been successfully deleted from all the member accounts.

  • UPDATE_SUCCESSFUL when an organization config rule has been successfully updated in all the member accounts.

  • UPDATE_IN_PROGRESS when an organization config rule update is in progress.

  • UPDATE_FAILED when an organization config rule update failed in one or more member accounts within that organization.

" }, - "ComplianceType":{ - "shape":"ComplianceType", - "documentation":"

Indicates whether the AWS resource complies with the AWS Config rule that evaluated it.

For the EvaluationResult data type, AWS Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. AWS Config does not support the INSUFFICIENT_DATA value for the EvaluationResult data type.

" + "ErrorCode":{ + "shape":"String", + "documentation":"

An error code that is returned when organization config rule creation or deletion has failed.

" }, - "ResultRecordedTime":{ - "shape":"Date", - "documentation":"

The time when AWS Config recorded the evaluation result.

" + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message indicating that organization config rule creation or deletion failed due to an error.

" }, - "ConfigRuleInvokedTime":{ + "LastUpdateTime":{ "shape":"Date", - "documentation":"

The time when the AWS Config rule evaluated the AWS resource.

" - }, - "Annotation":{ - "shape":"StringWithCharLimit256", - "documentation":"

Supplementary information about how the evaluation determined the compliance.

" - }, - "ResultToken":{ - "shape":"String", - "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 timestamp of the last update.

" } }, - "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":"

Returns the status for an organization config rule in an organization.

" }, - "EvaluationResultIdentifier":{ + "OrganizationConfigRuleStatuses":{ + "type":"list", + "member":{"shape":"OrganizationConfigRuleStatus"} + }, + "OrganizationConfigRuleTriggerType":{ + "type":"string", + "enum":[ + "ConfigurationItemChangeNotification", + "OversizedConfigurationItemChangeNotification", + "ScheduledNotification" + ] + }, + "OrganizationConfigRuleTriggerTypes":{ + "type":"list", + "member":{"shape":"OrganizationConfigRuleTriggerType"} + }, + "OrganizationConfigRules":{ + "type":"list", + "member":{"shape":"OrganizationConfigRule"} + }, + "OrganizationConformancePack":{ "type":"structure", + "required":[ + "OrganizationConformancePackName", + "OrganizationConformancePackArn", + "DeliveryS3Bucket", + "LastUpdateTime" + ], "members":{ - "EvaluationResultQualifier":{ - "shape":"EvaluationResultQualifier", - "documentation":"

Identifies an AWS Config rule used to evaluate an AWS resource, and provides the type and ID of the evaluated resource.

" + "OrganizationConformancePackName":{ + "shape":"OrganizationConformancePackName", + "documentation":"

The name you assign to an organization conformance pack.

" }, - "OrderingTimestamp":{ + "OrganizationConformancePackArn":{ + "shape":"StringWithCharLimit256", + "documentation":"

Amazon Resource Name (ARN) of organization conformance pack.

" + }, + "DeliveryS3Bucket":{ + "shape":"DeliveryS3Bucket", + "documentation":"

Location of an Amazon S3 bucket where AWS Config can deliver evaluation results and conformance pack template that is used to create a pack.

" + }, + "DeliveryS3KeyPrefix":{ + "shape":"DeliveryS3KeyPrefix", + "documentation":"

Any folder structure you want to add to an Amazon S3 bucket.

" + }, + "ConformancePackInputParameters":{ + "shape":"ConformancePackInputParameters", + "documentation":"

A list of ConformancePackInputParameter objects.

" + }, + "ExcludedAccounts":{ + "shape":"ExcludedAccounts", + "documentation":"

A comma-separated list of accounts excluded from organization conformance pack.

" + }, + "LastUpdateTime":{ "shape":"Date", - "documentation":"

The time of the event that triggered the evaluation of your AWS resources. The time can indicate when AWS Config delivered a configuration item change notification, or it can indicate when AWS Config delivered the configuration snapshot, depending on which event triggered the evaluation.

" + "documentation":"

Last time when organization conformation pack was updated.

" } }, - "documentation":"

Uniquely identifies an evaluation result.

" + "documentation":"

An organization conformance pack that has information about conformance packs that AWS Config creates in member accounts.

" }, - "EvaluationResultQualifier":{ + "OrganizationConformancePackDetailedStatus":{ "type":"structure", + "required":[ + "AccountId", + "ConformancePackName", + "Status" + ], "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule that was used in the evaluation.

" + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of a member account.

" }, - "ResourceType":{ + "ConformancePackName":{ "shape":"StringWithCharLimit256", - "documentation":"

The type of AWS resource that was evaluated.

" + "documentation":"

The name of conformance pack deployed in the member account.

" }, - "ResourceId":{ - "shape":"StringWithCharLimit256", - "documentation":"

The ID of the evaluated AWS resource.

" + "Status":{ + "shape":"OrganizationResourceDetailedStatus", + "documentation":"

Indicates deployment status for conformance pack in a member account. When master account calls PutOrganizationConformancePack action for the first time, conformance pack status is created in the member account. When master account calls PutOrganizationConformancePack action for the second time, conformance pack status is updated in the member account. Conformance pack status is deleted when the master account deletes OrganizationConformancePack and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the conformance pack to:

  • CREATE_SUCCESSFUL when conformance pack has been created in the member account.

  • CREATE_IN_PROGRESS when conformance pack is being created in the member account.

  • CREATE_FAILED when conformance pack creation has failed in the member account.

  • DELETE_FAILED when conformance pack deletion has failed in the member account.

  • DELETE_IN_PROGRESS when conformance pack is being deleted in the member account.

  • DELETE_SUCCESSFUL when conformance pack has been deleted in the member account.

  • UPDATE_SUCCESSFUL when conformance pack has been updated in the member account.

  • UPDATE_IN_PROGRESS when conformance pack is being updated in the member account.

  • UPDATE_FAILED when conformance pack deletion has failed in the member account.

" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

An error code that is returned when conformance pack creation or deletion failed in the member account.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message indicating that conformance pack account creation or deletion has failed due to an error in the member account.

" + }, + "LastUpdateTime":{ + "shape":"Date", + "documentation":"

The timestamp of the last status update.

" } }, - "documentation":"

Identifies an AWS Config rule that evaluated an AWS resource, and provides the type and ID of the resource that the rule evaluated.

" + "documentation":"

Organization conformance pack creation or deletion status in each member account. This includes the name of the conformance pack, the status, error code and error message when the conformance pack creation or deletion failed.

" }, - "EvaluationResults":{ + "OrganizationConformancePackDetailedStatuses":{ "type":"list", - "member":{"shape":"EvaluationResult"} + "member":{"shape":"OrganizationConformancePackDetailedStatus"} }, - "Evaluations":{ + "OrganizationConformancePackName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z][-a-zA-Z0-9]*" + }, + "OrganizationConformancePackNames":{ "type":"list", - "member":{"shape":"Evaluation"}, - "max":100, + "member":{"shape":"OrganizationConformancePackName"}, + "max":25, "min":0 }, - "EventSource":{ - "type":"string", - "enum":["aws.config"] - }, - "GetComplianceDetailsByConfigRuleRequest":{ + "OrganizationConformancePackStatus":{ "type":"structure", - "required":["ConfigRuleName"], + "required":[ + "OrganizationConformancePackName", + "Status" + ], "members":{ - "ConfigRuleName":{ - "shape":"StringWithCharLimit64", - "documentation":"

The name of the AWS Config rule for which you want compliance information.

" + "OrganizationConformancePackName":{ + "shape":"OrganizationConformancePackName", + "documentation":"

The name that you assign to organization conformance pack.

" + }, + "Status":{ + "shape":"OrganizationResourceStatus", + "documentation":"

Indicates deployment status of an organization conformance pack. When master account calls PutOrganizationConformancePack for the first time, conformance pack status is created in all the member accounts. When master account calls PutOrganizationConformancePack for the second time, conformance pack status is updated in all the member accounts. Additionally, conformance pack status is updated when one or more member accounts join or leave an organization. Conformance pack status is deleted when the master account deletes OrganizationConformancePack in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the conformance pack to:

  • CREATE_SUCCESSFUL when an organization conformance pack has been successfully created in all the member accounts.

  • CREATE_IN_PROGRESS when an organization conformance pack creation is in progress.

  • CREATE_FAILED when an organization conformance pack creation failed in one or more member accounts within that organization.

  • DELETE_FAILED when an organization conformance pack deletion failed in one or more member accounts within that organization.

  • DELETE_IN_PROGRESS when an organization conformance pack deletion is in progress.

  • DELETE_SUCCESSFUL when an organization conformance pack has been successfully deleted from all the member accounts.

  • UPDATE_SUCCESSFUL when an organization conformance pack has been successfully updated in all the member accounts.

  • UPDATE_IN_PROGRESS when an organization conformance pack update is in progress.

  • UPDATE_FAILED when an organization conformance pack update failed in one or more member accounts within that organization.

" }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" + "ErrorCode":{ + "shape":"String", + "documentation":"

An error code that is returned when organization conformance pack creation or deletion has failed in a member account.

" }, - "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of evaluation results returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message indicating that organization conformance pack creation or deletion failed due to an error.

" }, - "NextToken":{ - "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.

" + "LastUpdateTime":{ + "shape":"Date", + "documentation":"

The timestamp of the last update.

" } }, - "documentation":"

" + "documentation":"

Returns the status for an organization conformance pack in an organization.

" }, - "GetComplianceDetailsByConfigRuleResponse":{ + "OrganizationConformancePackStatuses":{ + "type":"list", + "member":{"shape":"OrganizationConformancePackStatus"} + }, + "OrganizationConformancePackTemplateValidationException":{ "type":"structure", "members":{ - "EvaluationResults":{ - "shape":"EvaluationResults", - "documentation":"

Indicates whether the AWS resource complies with the specified AWS Config rule.

" - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" - } }, - "documentation":"

" + "documentation":"

You have specified a template that is not valid or supported.

", + "exception":true }, - "GetComplianceDetailsByResourceRequest":{ + "OrganizationConformancePacks":{ + "type":"list", + "member":{"shape":"OrganizationConformancePack"} + }, + "OrganizationCustomRuleMetadata":{ "type":"structure", "required":[ - "ResourceType", - "ResourceId" + "LambdaFunctionArn", + "OrganizationConfigRuleTriggerTypes" ], "members":{ - "ResourceType":{ - "shape":"StringWithCharLimit256", - "documentation":"

The type of the AWS resource for which you want compliance information.

" + "Description":{ + "shape":"StringWithCharLimit256Min0", + "documentation":"

The description that you provide for organization config rule.

" }, - "ResourceId":{ + "LambdaFunctionArn":{ "shape":"StringWithCharLimit256", - "documentation":"

The ID of the AWS resource for which you want compliance information.

" + "documentation":"

The lambda function ARN.

" }, - "ComplianceTypes":{ - "shape":"ComplianceTypes", - "documentation":"

Filters the results by compliance.

The allowed values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

" + "OrganizationConfigRuleTriggerTypes":{ + "shape":"OrganizationConfigRuleTriggerTypes", + "documentation":"

The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

  • ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.

  • OversizedConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

  • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

" }, - "NextToken":{ - "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.

" + "InputParameters":{ + "shape":"StringWithCharLimit2048", + "documentation":"

A string, in JSON format, that is passed to organization config rule Lambda function.

" + }, + "MaximumExecutionFrequency":{ + "shape":"MaximumExecutionFrequency", + "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. Your custom rule is triggered when AWS Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" + }, + "ResourceTypesScope":{ + "shape":"ResourceTypesScope", + "documentation":"

The type of the AWS resource that was evaluated.

" + }, + "ResourceIdScope":{ + "shape":"StringWithCharLimit768", + "documentation":"

The ID of the AWS resource that was evaluated.

" + }, + "TagKeyScope":{ + "shape":"StringWithCharLimit128", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "TagValueScope":{ + "shape":"StringWithCharLimit256", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" } }, - "documentation":"

" + "documentation":"

An object that specifies organization custom rule metadata such as resource type, resource ID of AWS resource, Lamdba function ARN, and organization trigger types that trigger AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.

" }, - "GetComplianceDetailsByResourceResponse":{ + "OrganizationManagedRuleMetadata":{ "type":"structure", + "required":["RuleIdentifier"], "members":{ - "EvaluationResults":{ - "shape":"EvaluationResults", - "documentation":"

Indicates whether the specified AWS resource complies each AWS Config rule.

" + "Description":{ + "shape":"StringWithCharLimit256Min0", + "documentation":"

The description that you provide for organization config rule.

" }, - "NextToken":{ - "shape":"String", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + "RuleIdentifier":{ + "shape":"StringWithCharLimit256", + "documentation":"

For organization 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.

" + }, + "InputParameters":{ + "shape":"StringWithCharLimit2048", + "documentation":"

A string, in JSON format, that is passed to organization config rule Lambda function.

" + }, + "MaximumExecutionFrequency":{ + "shape":"MaximumExecutionFrequency", + "documentation":"

The maximum frequency with which AWS Config runs evaluations for a rule. You are using an AWS managed rule that is triggered at a periodic frequency.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

" + }, + "ResourceTypesScope":{ + "shape":"ResourceTypesScope", + "documentation":"

The type of the AWS resource that was evaluated.

" + }, + "ResourceIdScope":{ + "shape":"StringWithCharLimit768", + "documentation":"

The ID of the AWS resource that was evaluated.

" + }, + "TagKeyScope":{ + "shape":"StringWithCharLimit128", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "TagValueScope":{ + "shape":"StringWithCharLimit256", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" } }, - "documentation":"

" + "documentation":"

An object that specifies organization managed rule metadata such as resource type and ID of AWS resource along with the rule identifier. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic.

" }, - "GetComplianceSummaryByConfigRuleResponse":{ + "OrganizationResourceDetailedStatus":{ + "type":"string", + "enum":[ + "CREATE_SUCCESSFUL", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "DELETE_SUCCESSFUL", + "DELETE_FAILED", + "DELETE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED" + ] + }, + "OrganizationResourceDetailedStatusFilters":{ "type":"structure", "members":{ - "ComplianceSummary":{ - "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.

" + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the member account within an organization.

" + }, + "Status":{ + "shape":"OrganizationResourceDetailedStatus", + "documentation":"

Indicates deployment status for conformance pack in a member account. When master account calls PutOrganizationConformancePack action for the first time, conformance pack status is created in the member account. When master account calls PutOrganizationConformancePack action for the second time, conformance pack status is updated in the member account. Conformance pack status is deleted when the master account deletes OrganizationConformancePack and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the conformance pack to:

  • CREATE_SUCCESSFUL when conformance pack has been created in the member account.

  • CREATE_IN_PROGRESS when conformance pack is being created in the member account.

  • CREATE_FAILED when conformance pack creation has failed in the member account.

  • DELETE_FAILED when conformance pack deletion has failed in the member account.

  • DELETE_IN_PROGRESS when conformance pack is being deleted in the member account.

  • DELETE_SUCCESSFUL when conformance pack has been deleted in the member account.

  • UPDATE_SUCCESSFUL when conformance pack has been updated in the member account.

  • UPDATE_IN_PROGRESS when conformance pack is being updated in the member account.

  • UPDATE_FAILED when conformance pack deletion has failed in the member account.

" } }, - "documentation":"

" + "documentation":"

Status filter object to filter results based on specific member account ID or status type for an organization conformance pack.

" }, - "GetComplianceSummaryByResourceTypeRequest":{ + "OrganizationResourceStatus":{ + "type":"string", + "enum":[ + "CREATE_SUCCESSFUL", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "DELETE_SUCCESSFUL", + "DELETE_FAILED", + "DELETE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED" + ] + }, + "OrganizationRuleStatus":{ + "type":"string", + "enum":[ + "CREATE_SUCCESSFUL", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "DELETE_SUCCESSFUL", + "DELETE_FAILED", + "DELETE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED" + ] + }, + "OversizedConfigurationItemException":{ "type":"structure", "members":{ - "ResourceTypes":{ - "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":"

" + "documentation":"

The configuration item size is outside the allowable range.

", + "exception":true }, - "GetComplianceSummaryByResourceTypeResponse":{ + "Owner":{ + "type":"string", + "enum":[ + "CUSTOM_LAMBDA", + "AWS" + ] + }, + "PageSizeLimit":{ + "type":"integer", + "max":20, + "min":0 + }, + "ParameterName":{ + "type":"string", + "max":255, + "min":0 + }, + "ParameterValue":{ + "type":"string", + "max":4096, + "min":0 + }, + "PendingAggregationRequest":{ "type":"structure", "members":{ - "ComplianceSummariesByResourceType":{ - "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.

" + "RequesterAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the account requesting to aggregate data.

" + }, + "RequesterAwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region requesting to aggregate data.

" } }, - "documentation":"

" + "documentation":"

An object that represents the account ID and region of an aggregator account that is requesting authorization but is not yet authorized.

" }, - "GetResourceConfigHistoryRequest":{ + "PendingAggregationRequestList":{ + "type":"list", + "member":{"shape":"PendingAggregationRequest"} + }, + "Percentage":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "PutAggregationAuthorizationRequest":{ "type":"structure", "required":[ - "resourceType", - "resourceId" + "AuthorizedAccountId", + "AuthorizedAwsRegion" ], "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type.

" - }, - "resourceId":{ - "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" - }, - "laterTime":{ - "shape":"LaterTime", - "documentation":"

The time stamp that indicates a later time. If not specified, current time is taken.

" - }, - "earlierTime":{ - "shape":"EarlierTime", - "documentation":"

The time stamp that indicates an earlier time. If not specified, the action returns paginated results that contain configuration items that start from when the first configuration item was recorded.

" - }, - "chronologicalOrder":{ - "shape":"ChronologicalOrder", - "documentation":"

The chronological order for configuration items listed. By default the results are listed in reverse chronological order.

" + "AuthorizedAccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the account authorized to aggregate data.

" }, - "limit":{ - "shape":"Limit", - "documentation":"

The maximum number of configuration items returned on each page. The default is 10. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" + "AuthorizedAwsRegion":{ + "shape":"AwsRegion", + "documentation":"

The region authorized to collect aggregated data.

" }, - "nextToken":{ - "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.

" + "Tags":{ + "shape":"TagsList", + "documentation":"

An array of tag object.

" } - }, - "documentation":"

The input for the GetResourceConfigHistory action.

" + } }, - "GetResourceConfigHistoryResponse":{ + "PutAggregationAuthorizationResponse":{ "type":"structure", "members":{ - "configurationItems":{ - "shape":"ConfigurationItemList", - "documentation":"

A list that contains the configuration history of one or more resources.

" - }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + "AggregationAuthorization":{ + "shape":"AggregationAuthorization", + "documentation":"

Returns an AggregationAuthorization object.

" } - }, - "documentation":"

The output for the GetResourceConfigHistory action.

" + } }, - "IncludeGlobalResourceTypes":{"type":"boolean"}, - "InsufficientDeliveryPolicyException":{ + "PutConfigRuleRequest":{ "type":"structure", + "required":["ConfigRule"], "members":{ - }, - "documentation":"

Your Amazon S3 bucket policy does not permit AWS Config to write to it.

", - "exception":true + "ConfigRule":{ + "shape":"ConfigRule", + "documentation":"

The rule that you want to add to your account.

" + }, + "Tags":{ + "shape":"TagsList", + "documentation":"

An array of tag object.

" + } + } }, - "InsufficientPermissionsException":{ + "PutConfigurationAggregatorRequest":{ "type":"structure", + "required":["ConfigurationAggregatorName"], "members":{ - }, - "documentation":"

Indicates one of the following errors:

  • The rule cannot be created because the IAM role assigned to AWS Config lacks permissions to perform the config:Put* action.

  • The AWS Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.

", - "exception":true + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "AccountAggregationSources":{ + "shape":"AccountAggregationSourceList", + "documentation":"

A list of AccountAggregationSource object.

" + }, + "OrganizationAggregationSource":{ + "shape":"OrganizationAggregationSource", + "documentation":"

An OrganizationAggregationSource object.

" + }, + "Tags":{ + "shape":"TagsList", + "documentation":"

An array of tag object.

" + } + } }, - "Integer":{"type":"integer"}, - "InvalidConfigurationRecorderNameException":{ + "PutConfigurationAggregatorResponse":{ "type":"structure", "members":{ - }, - "documentation":"

You have provided a configuration recorder name that is not valid.

", - "exception":true + "ConfigurationAggregator":{ + "shape":"ConfigurationAggregator", + "documentation":"

Returns a ConfigurationAggregator object.

" + } + } }, - "InvalidDeliveryChannelNameException":{ + "PutConfigurationRecorderRequest":{ "type":"structure", + "required":["ConfigurationRecorder"], "members":{ + "ConfigurationRecorder":{ + "shape":"ConfigurationRecorder", + "documentation":"

The configuration recorder object that records each configuration change made to the resources.

" + } }, - "documentation":"

The specified delivery channel name is not valid.

", - "exception":true + "documentation":"

The input for the PutConfigurationRecorder action.

" }, - "InvalidLimitException":{ + "PutConformancePackRequest":{ "type":"structure", + "required":[ + "ConformancePackName", + "DeliveryS3Bucket" + ], "members":{ - }, - "documentation":"

The specified limit is outside the allowable range.

", - "exception":true + "ConformancePackName":{ + "shape":"ConformancePackName", + "documentation":"

Name of the conformance pack you want to create.

" + }, + "TemplateS3Uri":{ + "shape":"TemplateS3Uri", + "documentation":"

Location of file containing the template body (s3://bucketname/prefix). The uri must point to the conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same region as the conformance pack.

You must have access to read Amazon S3 bucket.

" + }, + "TemplateBody":{ + "shape":"TemplateBody", + "documentation":"

A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

You can only use a YAML template with one resource type, that is, config rule and a remediation action.

" + }, + "DeliveryS3Bucket":{ + "shape":"DeliveryS3Bucket", + "documentation":"

AWS Config stores intermediate files while processing conformance pack template.

" + }, + "DeliveryS3KeyPrefix":{ + "shape":"DeliveryS3KeyPrefix", + "documentation":"

The prefix for the Amazon S3 bucket.

" + }, + "ConformancePackInputParameters":{ + "shape":"ConformancePackInputParameters", + "documentation":"

A list of ConformancePackInputParameter objects.

" + } + } }, - "InvalidNextTokenException":{ + "PutConformancePackResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The specified next token is invalid. Specify the nextToken string that was returned in the previous response to get the next page of results.

", - "exception":true + "ConformancePackArn":{ + "shape":"ConformancePackArn", + "documentation":"

ARN of the conformance pack.

" + } + } }, - "InvalidParameterValueException":{ + "PutDeliveryChannelRequest":{ "type":"structure", + "required":["DeliveryChannel"], "members":{ + "DeliveryChannel":{ + "shape":"DeliveryChannel", + "documentation":"

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic.

" + } }, - "documentation":"

One or more of the specified parameters are invalid. Verify that your parameters are valid and try again.

", - "exception":true + "documentation":"

The input for the PutDeliveryChannel action.

" }, - "InvalidRecordingGroupException":{ + "PutEvaluationsRequest":{ "type":"structure", + "required":["ResultToken"], "members":{ + "Evaluations":{ + "shape":"Evaluations", + "documentation":"

The assessments that the AWS Lambda function performs. Each evaluation identifies an AWS resource and indicates whether it complies with the AWS Config rule that invokes the AWS Lambda function.

" + }, + "ResultToken":{ + "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.

" + }, + "TestMode":{ + "shape":"Boolean", + "documentation":"

Use this parameter to specify a test run for PutEvaluations. You can verify whether your AWS Lambda function will deliver evaluation results to AWS Config. No updates occur to your existing evaluations, and evaluation results are not sent to AWS Config.

When TestMode is true, PutEvaluations doesn't require a valid value for the ResultToken parameter, but the value cannot be null.

" + } }, - "documentation":"

AWS Config throws an exception if the recording group does not contain a valid list of resource types. Invalid values could also be incorrectly formatted.

", - "exception":true + "documentation":"

" }, - "InvalidResultTokenException":{ + "PutEvaluationsResponse":{ "type":"structure", "members":{ + "FailedEvaluations":{ + "shape":"Evaluations", + "documentation":"

Requests that failed because of a client or server error.

" + } }, - "documentation":"

The result token is invalid.

", - "exception":true + "documentation":"

" }, - "InvalidRoleException":{ + "PutOrganizationConfigRuleRequest":{ "type":"structure", + "required":["OrganizationConfigRuleName"], "members":{ - }, - "documentation":"

You have provided a null or empty role ARN.

", - "exception":true + "OrganizationConfigRuleName":{ + "shape":"OrganizationConfigRuleName", + "documentation":"

The name that you assign to an organization config rule.

" + }, + "OrganizationManagedRuleMetadata":{ + "shape":"OrganizationManagedRuleMetadata", + "documentation":"

An OrganizationManagedRuleMetadata object.

" + }, + "OrganizationCustomRuleMetadata":{ + "shape":"OrganizationCustomRuleMetadata", + "documentation":"

An OrganizationCustomRuleMetadata object.

" + }, + "ExcludedAccounts":{ + "shape":"ExcludedAccounts", + "documentation":"

A comma-separated list of accounts that you want to exclude from an organization config rule.

" + } + } }, - "InvalidS3KeyPrefixException":{ + "PutOrganizationConfigRuleResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The specified Amazon S3 key prefix is not valid.

", - "exception":true + "OrganizationConfigRuleArn":{ + "shape":"StringWithCharLimit256", + "documentation":"

The Amazon Resource Name (ARN) of an organization config rule.

" + } + } }, - "InvalidSNSTopicARNException":{ + "PutOrganizationConformancePackRequest":{ "type":"structure", + "required":[ + "OrganizationConformancePackName", + "DeliveryS3Bucket" + ], "members":{ - }, - "documentation":"

The specified Amazon SNS topic does not exist.

", - "exception":true + "OrganizationConformancePackName":{ + "shape":"OrganizationConformancePackName", + "documentation":"

Name of the organization conformance pack you want to create.

" + }, + "TemplateS3Uri":{ + "shape":"TemplateS3Uri", + "documentation":"

Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).

You must have access to read Amazon S3 bucket.

" + }, + "TemplateBody":{ + "shape":"TemplateBody", + "documentation":"

A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

" + }, + "DeliveryS3Bucket":{ + "shape":"DeliveryS3Bucket", + "documentation":"

Location of an Amazon S3 bucket where AWS Config can deliver evaluation results. AWS Config stores intermediate files while processing conformance pack template.

The delivery bucket name should start with awsconfigconforms. For example: \"Resource\": \"arn:aws:s3:::your_bucket_name/*\". For more information, see Permissions for cross account bucket access.

" + }, + "DeliveryS3KeyPrefix":{ + "shape":"DeliveryS3KeyPrefix", + "documentation":"

The prefix for the Amazon S3 bucket.

" + }, + "ConformancePackInputParameters":{ + "shape":"ConformancePackInputParameters", + "documentation":"

A list of ConformancePackInputParameter objects.

" + }, + "ExcludedAccounts":{ + "shape":"ExcludedAccounts", + "documentation":"

A list of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack.

" + } + } }, - "InvalidTimeRangeException":{ + "PutOrganizationConformancePackResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The specified time range is not valid. The earlier time is not chronologically before the later time.

", - "exception":true + "OrganizationConformancePackArn":{ + "shape":"StringWithCharLimit256", + "documentation":"

ARN of the organization conformance pack.

" + } + } }, - "LastDeliveryChannelDeleteFailedException":{ + "PutRemediationConfigurationsRequest":{ "type":"structure", + "required":["RemediationConfigurations"], "members":{ - }, - "documentation":"

You cannot delete the delivery channel you specified because the configuration recorder is running.

", - "exception":true - }, - "LaterTime":{"type":"timestamp"}, - "Limit":{ - "type":"integer", - "max":100, - "min":0 + "RemediationConfigurations":{ + "shape":"RemediationConfigurations", + "documentation":"

A list of remediation configuration objects.

" + } + } }, - "LimitExceededException":{ + "PutRemediationConfigurationsResponse":{ "type":"structure", "members":{ - }, - "documentation":"

This exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

", - "exception":true + "FailedBatches":{ + "shape":"FailedRemediationBatches", + "documentation":"

Returns a list of failed remediation batch objects.

" + } + } }, - "ListDiscoveredResourcesRequest":{ + "PutRemediationExceptionsRequest":{ "type":"structure", - "required":["resourceType"], + "required":[ + "ConfigRuleName", + "ResourceKeys" + ], "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The type of resources that you want AWS Config to list in the response.

" - }, - "resourceIds":{ - "shape":"ResourceIdList", - "documentation":"

The IDs of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" - }, - "resourceName":{ - "shape":"ResourceName", - "documentation":"

The custom name of only those resources that you want AWS Config to list in the response. If you do not specify this parameter, AWS Config lists all resources of the specified type that it has discovered.

" - }, - "limit":{ - "shape":"Limit", - "documentation":"

The maximum number of resource identifiers returned on each page. The default is 100. You cannot specify a limit greater than 100. If you specify 0, AWS Config uses the default.

" + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule for which you want to create remediation exception.

" }, - "includeDeletedResources":{ - "shape":"Boolean", - "documentation":"

Specifies whether AWS Config includes deleted resources in the results. By default, deleted resources are not included.

" + "ResourceKeys":{ + "shape":"RemediationExceptionResourceKeys", + "documentation":"

An exception list of resource exception keys to be processed with the current request. AWS Config adds exception for each resource key. For example, AWS Config adds 3 exceptions for 3 resource keys.

" + }, + "Message":{ + "shape":"StringWithCharLimit1024", + "documentation":"

The message contains an explanation of the exception.

" }, - "nextToken":{ - "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.

" + "ExpirationTime":{ + "shape":"Date", + "documentation":"

The exception is automatically deleted after the expiration date.

" } - }, - "documentation":"

" + } + }, + "PutRemediationExceptionsResponse":{ + "type":"structure", + "members":{ + "FailedBatches":{ + "shape":"FailedRemediationExceptionBatches", + "documentation":"

Returns a list of failed remediation exceptions batch objects. Each object in the batch consists of a list of failed items and failure messages.

" + } + } }, - "ListDiscoveredResourcesResponse":{ + "PutResourceConfigRequest":{ "type":"structure", + "required":[ + "ResourceType", + "SchemaVersionId", + "ResourceId", + "Configuration" + ], "members":{ - "resourceIdentifiers":{ - "shape":"ResourceIdentifierList", - "documentation":"

The details that identify a resource that is discovered by AWS Config, including the resource type, ID, and (if available) the custom resource name.

" + "ResourceType":{ + "shape":"ResourceTypeString", + "documentation":"

The type of the resource. The custom resource type must be registered with AWS CloudFormation.

You cannot use the organization names “aws”, “amzn”, “amazon”, “alexa”, “custom” with custom resource types. It is the first part of the ResourceType up to the first ::.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The string that you use in a subsequent request to get the next page of results in a paginated response.

" + "SchemaVersionId":{ + "shape":"SchemaVersionId", + "documentation":"

Version of the schema registered for the ResourceType in AWS CloudFormation.

" + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

Unique identifier of the resource.

" + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

Name of the resource.

" + }, + "Configuration":{ + "shape":"Configuration", + "documentation":"

The configuration object of the resource in valid JSON format. It must match the schema registered with AWS CloudFormation.

The configuration JSON must not exceed 64 KB.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Tags associated with the resource.

" } - }, - "documentation":"

" + } }, - "MaxNumberOfConfigRulesExceededException":{ + "PutRetentionConfigurationRequest":{ "type":"structure", + "required":["RetentionPeriodInDays"], "members":{ - }, - "documentation":"

Failed to add the AWS Config rule because the account already contains the maximum number of 25 rules. Consider deleting any deactivated rules before adding new rules.

", - "exception":true + "RetentionPeriodInDays":{ + "shape":"RetentionPeriodInDays", + "documentation":"

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

" + } + } }, - "MaxNumberOfConfigurationRecordersExceededException":{ + "PutRetentionConfigurationResponse":{ "type":"structure", "members":{ - }, - "documentation":"

You have reached the limit on the number of recorders you can create.

", - "exception":true + "RetentionConfiguration":{ + "shape":"RetentionConfiguration", + "documentation":"

Returns a retention configuration object.

" + } + } }, - "MaxNumberOfDeliveryChannelsExceededException":{ + "QueryInfo":{ "type":"structure", "members":{ + "SelectFields":{ + "shape":"FieldInfoList", + "documentation":"

Returns a FieldInfo object.

" + } }, - "documentation":"

You have reached the limit on the number of delivery channels you can create.

", - "exception":true + "documentation":"

Details about the query.

" }, - "MaximumExecutionFrequency":{ + "RecorderName":{ "type":"string", - "enum":[ - "One_Hour", - "Three_Hours", - "Six_Hours", - "Twelve_Hours", - "TwentyFour_Hours" - ] + "max":256, + "min":1 }, - "MessageType":{ + "RecorderStatus":{ "type":"string", "enum":[ - "ConfigurationItemChangeNotification", - "ConfigurationSnapshotDeliveryCompleted", - "ScheduledNotification" + "Pending", + "Success", + "Failure" ] }, - "Name":{"type":"string"}, - "NextToken":{"type":"string"}, - "NoAvailableConfigurationRecorderException":{ + "RecordingGroup":{ "type":"structure", "members":{ + "allSupported":{ + "shape":"AllSupported", + "documentation":"

Specifies whether AWS Config records configuration changes for every supported type of regional resource.

If you set this option to true, when AWS Config adds support for a new type of regional resource, it starts recording resources of that type automatically.

If you set this option to true, you cannot enumerate a list of resourceTypes.

" + }, + "includeGlobalResourceTypes":{ + "shape":"IncludeGlobalResourceTypes", + "documentation":"

Specifies whether AWS Config includes all supported types of global resources (for example, IAM resources) with the resources that it records.

Before you can set this option to true, you must set the allSupported option to true.

If you set this option to true, when AWS Config adds support for a new type of global resource, it starts recording resources of that type automatically.

The configuration details for any global resource are the same in all regions. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources.

" + }, + "resourceTypes":{ + "shape":"ResourceTypeList", + "documentation":"

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" + } }, - "documentation":"

There are no configuration recorders available to provide the role needed to describe your resources. Create a configuration recorder.

", - "exception":true + "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

By default, AWS Config records configuration changes for all supported types of regional resources that AWS Config discovers in the region in which it is running. Regional resources are tied to a region and can be used only in that region. Examples of regional resources are EC2 instances and EBS volumes.

You can also have AWS Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

The configuration details for any global resource are the same in all regions. If you customize AWS Config in multiple regions to record global resources, it will create multiple configuration items each time a global resource changes: one configuration item for each region. These configuration items will contain identical data. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources, unless you want the configuration items to be available in multiple regions.

If you don't want AWS Config to record all resources, you can specify which types of resources it will record with the resourceTypes parameter.

For a list of supported resource types, see Supported Resource Types.

For more information, see Selecting Which Resources AWS Config Records.

" }, - "NoAvailableDeliveryChannelException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no delivery channel available to record configurations.

", - "exception":true + "ReevaluateConfigRuleNames":{ + "type":"list", + "member":{"shape":"ConfigRuleName"}, + "max":25, + "min":1 }, - "NoRunningConfigurationRecorderException":{ - "type":"structure", - "members":{ - }, - "documentation":"

There is no configuration recorder running.

", - "exception":true + "RelatedEvent":{"type":"string"}, + "RelatedEventList":{ + "type":"list", + "member":{"shape":"RelatedEvent"} }, - "NoSuchBucketException":{ + "Relationship":{ "type":"structure", "members":{ + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type of the related resource.

" + }, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the related resource (for example, sg-xxxxxx).

" + }, + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The custom name of the related resource, if available.

" + }, + "relationshipName":{ + "shape":"RelationshipName", + "documentation":"

The type of relationship with the related resource.

" + } }, - "documentation":"

The specified Amazon S3 bucket does not exist.

", - "exception":true + "documentation":"

The relationship of the related resource to the main resource.

" }, - "NoSuchConfigRuleException":{ + "RelationshipList":{ + "type":"list", + "member":{"shape":"Relationship"} + }, + "RelationshipName":{"type":"string"}, + "RemediationConfiguration":{ "type":"structure", + "required":[ + "ConfigRuleName", + "TargetType", + "TargetId" + ], "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "TargetType":{ + "shape":"RemediationTargetType", + "documentation":"

The type of the target. Target executes remediation. For example, SSM document.

" + }, + "TargetId":{ + "shape":"StringWithCharLimit256", + "documentation":"

Target ID is the name of the public document.

" + }, + "TargetVersion":{ + "shape":"String", + "documentation":"

Version of the target. For example, version of the SSM document.

" + }, + "Parameters":{ + "shape":"RemediationParameters", + "documentation":"

An object of the RemediationParameterValue.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The type of a resource.

" + }, + "Automatic":{ + "shape":"Boolean", + "documentation":"

The remediation is triggered automatically.

" + }, + "ExecutionControls":{ + "shape":"ExecutionControls", + "documentation":"

An ExecutionControls object.

" + }, + "MaximumAutomaticAttempts":{ + "shape":"AutoRemediationAttempts", + "documentation":"

The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.

For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptsSeconds as 50 seconds, AWS Config throws an exception after the 5th failed attempt within 50 seconds.

" + }, + "RetryAttemptSeconds":{ + "shape":"AutoRemediationAttemptSeconds", + "documentation":"

Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.

For example, if you specify RetryAttemptsSeconds as 50 seconds and MaximumAutomaticAttempts as 5, AWS Config will run auto-remediations 5 times within 50 seconds before throwing an exception.

" + }, + "Arn":{ + "shape":"StringWithCharLimit1024", + "documentation":"

Amazon Resource Name (ARN) of remediation configuration.

" + }, + "CreatedByService":{ + "shape":"StringWithCharLimit1024", + "documentation":"

Name of the service that owns the service linked rule, if applicable.

" + } }, - "documentation":"

One or more AWS Config rules in the request are invalid. Verify that the rule names are correct and try again.

", - "exception":true + "documentation":"

An object that represents the details about the remediation configuration that includes the remediation action, parameters, and data to execute the action.

" }, - "NoSuchConfigurationRecorderException":{ + "RemediationConfigurations":{ + "type":"list", + "member":{"shape":"RemediationConfiguration"}, + "max":25, + "min":0 + }, + "RemediationException":{ "type":"structure", + "required":[ + "ConfigRuleName", + "ResourceType", + "ResourceId" + ], "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The name of the AWS Config rule.

" + }, + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of a resource.

" + }, + "ResourceId":{ + "shape":"StringWithCharLimit1024", + "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + }, + "Message":{ + "shape":"StringWithCharLimit1024", + "documentation":"

An explanation of an remediation exception.

" + }, + "ExpirationTime":{ + "shape":"Date", + "documentation":"

The time when the remediation exception will be deleted.

" + } }, - "documentation":"

You have specified a configuration recorder that does not exist.

", - "exception":true + "documentation":"

An object that represents the details about the remediation exception. The details include the rule name, an explanation of an exception, the time when the exception will be deleted, the resource ID, and resource type.

" }, - "NoSuchDeliveryChannelException":{ + "RemediationExceptionResourceKey":{ "type":"structure", "members":{ + "ResourceType":{ + "shape":"StringWithCharLimit256", + "documentation":"

The type of a resource.

" + }, + "ResourceId":{ + "shape":"StringWithCharLimit1024", + "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + } }, - "documentation":"

You have specified a delivery channel that does not exist.

", - "exception":true + "documentation":"

The details that identify a resource within AWS Config, including the resource type and resource ID.

" }, - "OrderingTimestamp":{"type":"timestamp"}, - "Owner":{ + "RemediationExceptionResourceKeys":{ + "type":"list", + "member":{"shape":"RemediationExceptionResourceKey"}, + "max":100, + "min":1 + }, + "RemediationExceptions":{ + "type":"list", + "member":{"shape":"RemediationException"}, + "max":25, + "min":0 + }, + "RemediationExecutionState":{ "type":"string", "enum":[ - "CUSTOM_LAMBDA", - "AWS" + "QUEUED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" ] }, - "PutConfigRuleRequest":{ + "RemediationExecutionStatus":{ "type":"structure", - "required":["ConfigRule"], "members":{ - "ConfigRule":{"shape":"ConfigRule"} + "ResourceKey":{"shape":"ResourceKey"}, + "State":{ + "shape":"RemediationExecutionState", + "documentation":"

ENUM of the values.

" + }, + "StepDetails":{ + "shape":"RemediationExecutionSteps", + "documentation":"

Details of every step.

" + }, + "InvocationTime":{ + "shape":"Date", + "documentation":"

Start time when the remediation was executed.

" + }, + "LastUpdatedTime":{ + "shape":"Date", + "documentation":"

The time when the remediation execution was last updated.

" + } }, - "documentation":"

" + "documentation":"

Provides details of the current status of the invoked remediation action for that resource.

" }, - "PutConfigurationRecorderRequest":{ + "RemediationExecutionStatuses":{ + "type":"list", + "member":{"shape":"RemediationExecutionStatus"} + }, + "RemediationExecutionStep":{ "type":"structure", - "required":["ConfigurationRecorder"], "members":{ - "ConfigurationRecorder":{ - "shape":"ConfigurationRecorder", - "documentation":"

The configuration recorder object that records each configuration change made to the resources.

" + "Name":{ + "shape":"String", + "documentation":"

The details of the step.

" + }, + "State":{ + "shape":"RemediationExecutionStepState", + "documentation":"

The valid status of the step.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

An error message if the step was interrupted during execution.

" + }, + "StartTime":{ + "shape":"Date", + "documentation":"

The time when the step started.

" + }, + "StopTime":{ + "shape":"Date", + "documentation":"

The time when the step stopped.

" } }, - "documentation":"

The input for the PutConfigurationRecorder action.

" + "documentation":"

Name of the step from the SSM document.

" }, - "PutDeliveryChannelRequest":{ + "RemediationExecutionStepState":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "PENDING", + "FAILED" + ] + }, + "RemediationExecutionSteps":{ + "type":"list", + "member":{"shape":"RemediationExecutionStep"} + }, + "RemediationInProgressException":{ "type":"structure", - "required":["DeliveryChannel"], "members":{ - "DeliveryChannel":{ - "shape":"DeliveryChannel", - "documentation":"

The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket, and to an Amazon SNS topic.

" - } }, - "documentation":"

The input for the PutDeliveryChannel action.

" + "documentation":"

Remediation action is in progress. You can either cancel execution in AWS Systems Manager or wait and try again later.

", + "exception":true }, - "PutEvaluationsRequest":{ + "RemediationParameterValue":{ "type":"structure", - "required":["ResultToken"], "members":{ - "Evaluations":{ - "shape":"Evaluations", - "documentation":"

The assessments that the AWS Lambda function performs. Each evaluation identifies an AWS resource and indicates whether it complies with the AWS Config rule that invokes the AWS Lambda function.

" + "ResourceValue":{ + "shape":"ResourceValue", + "documentation":"

The value is dynamic and changes at run-time.

" }, - "ResultToken":{ - "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

" + "StaticValue":{ + "shape":"StaticValue", + "documentation":"

The value is static and does not change at run-time.

" } }, - "documentation":"

" + "documentation":"

The value is either a dynamic (resource) value or a static value. You must select either a dynamic value or a static value.

" }, - "PutEvaluationsResponse":{ + "RemediationParameters":{ + "type":"map", + "key":{"shape":"StringWithCharLimit256"}, + "value":{"shape":"RemediationParameterValue"}, + "max":25, + "min":0 + }, + "RemediationTargetType":{ + "type":"string", + "enum":["SSM_DOCUMENT"] + }, + "ResourceCount":{ "type":"structure", "members":{ - "FailedEvaluations":{ - "shape":"Evaluations", - "documentation":"

Requests that failed because of a client or server error.

" + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (for example, \"AWS::EC2::Instance\").

" + }, + "count":{ + "shape":"Long", + "documentation":"

The number of resources.

" } }, - "documentation":"

" - }, - "RecorderName":{ - "type":"string", - "max":256, - "min":1 - }, - "RecorderStatus":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failure" - ] + "documentation":"

An object that contains the resource type and the number of resources.

" }, - "RecordingGroup":{ + "ResourceCountFilters":{ "type":"structure", "members":{ - "allSupported":{ - "shape":"AllSupported", - "documentation":"

Specifies whether AWS Config records configuration changes for every supported type of regional resource.

If you set this option to true, when AWS Config adds support for a new type of regional resource, it automatically starts recording resources of that type.

If you set this option to true, you cannot enumerate a list of resourceTypes.

" + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the AWS resource.

" }, - "includeGlobalResourceTypes":{ - "shape":"IncludeGlobalResourceTypes", - "documentation":"

Specifies whether AWS Config includes all supported types of global resources (for example, IAM resources) with the resources that it records.

Before you can set this option to true, you must set the allSupported option to true.

If you set this option to true, when AWS Config adds support for a new type of global resource, it automatically starts recording resources of that type.

The configuration details for any global resource are the same in all regions. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources.

" + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit ID of the account.

" }, - "resourceTypes":{ - "shape":"ResourceTypeList", - "documentation":"

A comma-separated list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, AWS::EC2::Instance or AWS::CloudTrail::Trail).

Before you can set this option to true, you must set the allSupported option to false.

If you set this option to true, when AWS Config adds support for a new type of resource, it will not record resources of that type unless you manually add that type to your recording group.

For a list of valid resourceTypes values, see the resourceType Value column in Supported AWS Resource Types.

" + "Region":{ + "shape":"AwsRegion", + "documentation":"

The region where the account is located.

" } }, - "documentation":"

Specifies the types of AWS resource for which AWS Config records configuration changes.

In the recording group, you specify whether all supported types or specific types of resources are recorded.

By default, AWS Config records configuration changes for all supported types of regional resources that AWS Config discovers in the region in which it is running. Regional resources are tied to a region and can be used only in that region. Examples of regional resources are EC2 instances and EBS volumes.

You can also have AWS Config record configuration changes for supported types of global resources (for example, IAM resources). Global resources are not tied to an individual region and can be used in all regions.

The configuration details for any global resource are the same in all regions. If you customize AWS Config in multiple regions to record global resources, it will create multiple configuration items each time a global resource changes: one configuration item for each region. These configuration items will contain identical data. To prevent duplicate configuration items, you should consider customizing AWS Config in only one region to record global resources, unless you want the configuration items to be available in multiple regions.

If you don't want AWS Config to record all resources, you can specify which types of resources it will record with the resourceTypes parameter.

For a list of supported resource types, see Supported resource types.

For more information, see Selecting Which Resources AWS Config Records.

" + "documentation":"

Filters the resource count based on account ID, region, and resource type.

" }, - "ReevaluateConfigRuleNames":{ - "type":"list", - "member":{"shape":"StringWithCharLimit64"}, - "max":25, - "min":1 + "ResourceCountGroupKey":{ + "type":"string", + "enum":[ + "RESOURCE_TYPE", + "ACCOUNT_ID", + "AWS_REGION" + ] }, - "RelatedEvent":{"type":"string"}, - "RelatedEventList":{ + "ResourceCounts":{ "type":"list", - "member":{"shape":"RelatedEvent"} + "member":{"shape":"ResourceCount"} }, - "Relationship":{ + "ResourceCreationTime":{"type":"timestamp"}, + "ResourceDeletionTime":{"type":"timestamp"}, + "ResourceFilters":{ "type":"structure", "members":{ - "resourceType":{ - "shape":"ResourceType", - "documentation":"

The resource type of the related resource.

" + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit source account ID.

" }, - "resourceId":{ + "ResourceId":{ "shape":"ResourceId", - "documentation":"

The ID of the related resource (for example, sg-xxxxxx).

" + "documentation":"

The ID of the resource.

" }, - "resourceName":{ + "ResourceName":{ "shape":"ResourceName", - "documentation":"

The custom name of the related resource, if available.

" + "documentation":"

The name of the resource.

" }, - "relationshipName":{ - "shape":"RelationshipName", - "documentation":"

The type of relationship with the related resource.

" + "Region":{ + "shape":"AwsRegion", + "documentation":"

The source region.

" } }, - "documentation":"

The relationship of the related resource to the main resource.

" + "documentation":"

Filters the results by resource account ID, region, resource ID, and resource name.

" }, - "RelationshipList":{ - "type":"list", - "member":{"shape":"Relationship"} + "ResourceId":{ + "type":"string", + "max":768, + "min":1 }, - "RelationshipName":{"type":"string"}, - "ResourceCreationTime":{"type":"timestamp"}, - "ResourceDeletionTime":{"type":"timestamp"}, - "ResourceId":{"type":"string"}, "ResourceIdList":{ "type":"list", "member":{"shape":"ResourceId"} @@ -1865,7 +5900,7 @@ }, "resourceId":{ "shape":"ResourceId", - "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + "documentation":"

The ID of the resource (for example, sg-xxxxxx).

" }, "resourceName":{ "shape":"ResourceName", @@ -1882,13 +5917,43 @@ "type":"list", "member":{"shape":"ResourceIdentifier"} }, + "ResourceIdentifiersList":{ + "type":"list", + "member":{"shape":"AggregateResourceIdentifier"}, + "max":100, + "min":1 + }, "ResourceInUseException":{ "type":"structure", "members":{ }, - "documentation":"

The rule is currently being deleted or the rule is deleting your evaluation results. Try your request again later.

", + "documentation":"

You see this exception in the following cases:

  • For DeleteConfigRule, AWS Config is deleting this rule. Try your request again later.

  • For DeleteConfigRule, the rule is deleting your evaluation results. Try your request again later.

  • For DeleteConfigRule, a remediation action is associated with the rule and AWS Config cannot delete this rule. Delete the remediation action associated with the rule before deleting the rule and try your request again later.

  • For PutConfigOrganizationRule, organization config rule deletion is in progress. Try your request again later.

  • For DeleteOrganizationConfigRule, organization config rule creation is in progress. Try your request again later.

  • For PutConformancePack and PutOrganizationConformancePack, a conformance pack creation, update, and deletion is in progress. Try your request again later.

  • For DeleteConformancePack, a conformance pack creation, update, and deletion is in progress. Try your request again later.

", "exception":true }, + "ResourceKey":{ + "type":"structure", + "required":[ + "resourceType", + "resourceId" + ], + "members":{ + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type.

" + }, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource (for example., sg-xxxxxx).

" + } + }, + "documentation":"

The details that identify a resource within AWS Config, including the resource type and resource ID.

" + }, + "ResourceKeys":{ + "type":"list", + "member":{"shape":"ResourceKey"}, + "max":100, + "min":1 + }, "ResourceName":{"type":"string"}, "ResourceNotDiscoveredException":{ "type":"structure", @@ -1897,6 +5962,13 @@ "documentation":"

You have specified a resource that is either unknown or has not been discovered.

", "exception":true }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have specified a resource that does not exist.

", + "exception":true + }, "ResourceType":{ "type":"string", "enum":[ @@ -1915,30 +5987,173 @@ "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", + "AWS::EC2::RegisteredHAInstance", + "AWS::EC2::NatGateway", + "AWS::EC2::EgressOnlyInternetGateway", + "AWS::EC2::VPCEndpoint", + "AWS::EC2::VPCEndpointService", + "AWS::EC2::FlowLog", + "AWS::EC2::VPCPeeringConnection", + "AWS::Elasticsearch::Domain", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", + "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", + "AWS::RDS::DBCluster", + "AWS::RDS::DBClusterSnapshot", "AWS::RDS::EventSubscription", - "AWS::ElasticLoadBalancingV2::LoadBalancer", - "AWS::S3::Bucket" + "AWS::S3::Bucket", + "AWS::S3::AccountPublicAccessBlock", + "AWS::Redshift::Cluster", + "AWS::Redshift::ClusterSnapshot", + "AWS::Redshift::ClusterParameterGroup", + "AWS::Redshift::ClusterSecurityGroup", + "AWS::Redshift::ClusterSubnetGroup", + "AWS::Redshift::EventSubscription", + "AWS::SSM::ManagedInstanceInventory", + "AWS::CloudWatch::Alarm", + "AWS::CloudFormation::Stack", + "AWS::ElasticLoadBalancing::LoadBalancer", + "AWS::AutoScaling::AutoScalingGroup", + "AWS::AutoScaling::LaunchConfiguration", + "AWS::AutoScaling::ScalingPolicy", + "AWS::AutoScaling::ScheduledAction", + "AWS::DynamoDB::Table", + "AWS::CodeBuild::Project", + "AWS::WAF::RateBasedRule", + "AWS::WAF::Rule", + "AWS::WAF::RuleGroup", + "AWS::WAF::WebACL", + "AWS::WAFRegional::RateBasedRule", + "AWS::WAFRegional::Rule", + "AWS::WAFRegional::RuleGroup", + "AWS::WAFRegional::WebACL", + "AWS::CloudFront::Distribution", + "AWS::CloudFront::StreamingDistribution", + "AWS::Lambda::Function", + "AWS::ElasticBeanstalk::Application", + "AWS::ElasticBeanstalk::ApplicationVersion", + "AWS::ElasticBeanstalk::Environment", + "AWS::WAFv2::WebACL", + "AWS::WAFv2::RuleGroup", + "AWS::WAFv2::IPSet", + "AWS::WAFv2::RegexPatternSet", + "AWS::WAFv2::ManagedRuleSet", + "AWS::XRay::EncryptionConfig", + "AWS::SSM::AssociationCompliance", + "AWS::SSM::PatchCompliance", + "AWS::Shield::Protection", + "AWS::ShieldRegional::Protection", + "AWS::Config::ResourceCompliance", + "AWS::ApiGateway::Stage", + "AWS::ApiGateway::RestApi", + "AWS::ApiGatewayV2::Stage", + "AWS::ApiGatewayV2::Api", + "AWS::CodePipeline::Pipeline", + "AWS::ServiceCatalog::CloudFormationProvisionedProduct", + "AWS::ServiceCatalog::CloudFormationProduct", + "AWS::ServiceCatalog::Portfolio", + "AWS::SQS::Queue", + "AWS::KMS::Key", + "AWS::QLDB::Ledger" ] }, "ResourceTypeList":{ "type":"list", "member":{"shape":"ResourceType"} }, + "ResourceTypeString":{ + "type":"string", + "max":196, + "min":1 + }, "ResourceTypes":{ "type":"list", "member":{"shape":"StringWithCharLimit256"}, "max":20, "min":0 }, + "ResourceTypesScope":{ + "type":"list", + "member":{"shape":"StringWithCharLimit256"}, + "max":100, + "min":0 + }, + "ResourceValue":{ + "type":"structure", + "required":["Value"], + "members":{ + "Value":{ + "shape":"ResourceValueType", + "documentation":"

The value is a resource ID.

" + } + }, + "documentation":"

The dynamic value of the resource.

" + }, + "ResourceValueType":{ + "type":"string", + "enum":["RESOURCE_ID"] + }, + "Results":{ + "type":"list", + "member":{"shape":"String"} + }, + "RetentionConfiguration":{ + "type":"structure", + "required":[ + "Name", + "RetentionPeriodInDays" + ], + "members":{ + "Name":{ + "shape":"RetentionConfigurationName", + "documentation":"

The name of the retention configuration object.

" + }, + "RetentionPeriodInDays":{ + "shape":"RetentionPeriodInDays", + "documentation":"

Number of days AWS Config stores your historical information.

Currently, only applicable to the configuration item history.

" + } + }, + "documentation":"

An object with the name of the retention configuration and the retention period in days. The object stores the configuration for data retention in AWS Config.

" + }, + "RetentionConfigurationList":{ + "type":"list", + "member":{"shape":"RetentionConfiguration"} + }, + "RetentionConfigurationName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\-]+" + }, + "RetentionConfigurationNameList":{ + "type":"list", + "member":{"shape":"RetentionConfigurationName"}, + "max":1, + "min":0 + }, + "RetentionPeriodInDays":{ + "type":"integer", + "max":2557, + "min":30 + }, + "RuleLimit":{ + "type":"integer", + "max":50, + "min":0 + }, + "SchemaVersionId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[A-Za-z0-9-]+" + }, "Scope":{ "type":"structure", "members":{ @@ -1948,21 +6163,100 @@ }, "TagKey":{ "shape":"StringWithCharLimit128", - "documentation":"

The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.

" + "documentation":"

The tag key that is applied to only those AWS resources that you want to trigger an evaluation for the rule.

" }, "TagValue":{ "shape":"StringWithCharLimit256", "documentation":"

The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule. If you specify a value for TagValue, you must also specify a value for TagKey.

" }, "ComplianceResourceId":{ - "shape":"StringWithCharLimit256", - "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.

" + "shape":"BaseResourceId", + "documentation":"

The ID 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.

" }, + "SelectAggregateResourceConfigRequest":{ + "type":"structure", + "required":[ + "Expression", + "ConfigurationAggregatorName" + ], + "members":{ + "Expression":{ + "shape":"Expression", + "documentation":"

The SQL query SELECT command.

" + }, + "ConfigurationAggregatorName":{ + "shape":"ConfigurationAggregatorName", + "documentation":"

The name of the configuration aggregator.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of query results returned on each page.

" + }, + "MaxResults":{"shape":"Limit"}, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "SelectAggregateResourceConfigResponse":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"Results", + "documentation":"

Returns the results for the SQL query.

" + }, + "QueryInfo":{"shape":"QueryInfo"}, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "SelectResourceConfigRequest":{ + "type":"structure", + "required":["Expression"], + "members":{ + "Expression":{ + "shape":"Expression", + "documentation":"

The SQL query SELECT command.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of query results returned on each page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, + "SelectResourceConfigResponse":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"Results", + "documentation":"

Returns the results for the SQL query.

" + }, + "QueryInfo":{ + "shape":"QueryInfo", + "documentation":"

Returns the QueryInfo object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

" + } + } + }, "Source":{ "type":"structure", + "required":[ + "Owner", + "SourceIdentifier" + ], "members":{ "Owner":{ "shape":"Owner", @@ -1970,7 +6264,7 @@ }, "SourceIdentifier":{ "shape":"StringWithCharLimit256", - "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.

" + "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-2:123456789012:function:custom_rule_name.

" }, "SourceDetails":{ "shape":"SourceDetails", @@ -1988,11 +6282,11 @@ }, "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 for a rule. You can specify the following notification types:

  • ConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.

  • OversizedConfigurationItemChangeNotification - Triggers an evaluation when AWS Config delivers an oversized configuration item. AWS Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.

  • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.

  • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.

If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

" }, "MaximumExecutionFrequency":{ "shape":"MaximumExecutionFrequency", - "documentation":"

The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

" + "documentation":"

The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

Based on the valid value you choose, AWS Config runs evaluations once for each valid value. For example, if you choose Three_Hours, AWS Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

" } }, "documentation":"

Provides the source and the message types that trigger AWS Config to evaluate your AWS resources against a rule. It also provides the frequency with which you want AWS Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

" @@ -2003,12 +6297,31 @@ "max":25, "min":0 }, + "SsmControls":{ + "type":"structure", + "members":{ + "ConcurrentExecutionRatePercentage":{ + "shape":"Percentage", + "documentation":"

The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.

" + }, + "ErrorPercentage":{ + "shape":"Percentage", + "documentation":"

The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.

" + } + }, + "documentation":"

AWS Systems Manager (SSM) specific remediation controls.

" + }, + "StackArn":{ + "type":"string", + "max":2048, + "min":1 + }, "StartConfigRulesEvaluationRequest":{ "type":"structure", "members":{ "ConfigRuleNames":{ "shape":"ReevaluateConfigRuleNames", - "documentation":"

The list of names of Config rules that you want to run evaluations for.

" + "documentation":"

The list of names of AWS Config rules that you want to run evaluations for.

" } }, "documentation":"

" @@ -2017,7 +6330,7 @@ "type":"structure", "members":{ }, - "documentation":"

The output when you start the evaluation for the specified Config rule.

" + "documentation":"

The output when you start the evaluation for the specified AWS Config rule.

" }, "StartConfigurationRecorderRequest":{ "type":"structure", @@ -2030,6 +6343,67 @@ }, "documentation":"

The input for the StartConfigurationRecorder action.

" }, + "StartRemediationExecutionRequest":{ + "type":"structure", + "required":[ + "ConfigRuleName", + "ResourceKeys" + ], + "members":{ + "ConfigRuleName":{ + "shape":"ConfigRuleName", + "documentation":"

The list of names of AWS Config rules that you want to run remediation execution for.

" + }, + "ResourceKeys":{ + "shape":"ResourceKeys", + "documentation":"

A list of resource keys to be processed with the current request. Each element in the list consists of the resource type and resource ID.

" + } + } + }, + "StartRemediationExecutionResponse":{ + "type":"structure", + "members":{ + "FailureMessage":{ + "shape":"String", + "documentation":"

Returns a failure message. For example, the resource is already compliant.

" + }, + "FailedItems":{ + "shape":"ResourceKeys", + "documentation":"

For resources that have failed to start execution, the API returns a resource key object.

" + } + } + }, + "StaticParameterValues":{ + "type":"list", + "member":{"shape":"StringWithCharLimit256"}, + "max":25, + "min":0 + }, + "StaticValue":{ + "type":"structure", + "required":["Values"], + "members":{ + "Values":{ + "shape":"StaticParameterValues", + "documentation":"

A list of values. For example, the ARN of the assumed role.

" + } + }, + "documentation":"

The static value of the resource.

" + }, + "StatusDetailFilters":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The 12-digit account ID of the member account within an organization.

" + }, + "MemberAccountRuleStatus":{ + "shape":"MemberAccountRuleStatus", + "documentation":"

Indicates deployment status for config rule in the member account. When master account calls PutOrganizationConfigRule action for the first time, config rule status is created in the member account. When master account calls PutOrganizationConfigRule action for the second time, config rule status is updated in the member account. Config rule status is deleted when the master account deletes OrganizationConfigRule and disables service access for config-multiaccountsetup.amazonaws.com.

AWS Config sets the state of the rule to:

  • CREATE_SUCCESSFUL when config rule has been created in the member account.

  • CREATE_IN_PROGRESS when config rule is being created in the member account.

  • CREATE_FAILED when config rule creation has failed in the member account.

  • DELETE_FAILED when config rule deletion has failed in the member account.

  • DELETE_IN_PROGRESS when config rule is being deleted in the member account.

  • DELETE_SUCCESSFUL when config rule has been deleted in the member account.

  • UPDATE_SUCCESSFUL when config rule has been updated in the member account.

  • UPDATE_IN_PROGRESS when config rule is being updated in the member account.

  • UPDATE_FAILED when config rule deletion has failed in the member account.

" + } + }, + "documentation":"

Status filter object to filter results based on specific member account ID or status type for an organization config rule.

" + }, "StopConfigurationRecorderRequest":{ "type":"structure", "required":["ConfigurationRecorderName"], @@ -2042,21 +6416,41 @@ "documentation":"

The input for the StopConfigurationRecorder action.

" }, "String":{"type":"string"}, + "StringWithCharLimit1024":{ + "type":"string", + "max":1024, + "min":1 + }, "StringWithCharLimit128":{ "type":"string", "max":128, "min":1 }, + "StringWithCharLimit2048":{ + "type":"string", + "max":2048, + "min":1 + }, "StringWithCharLimit256":{ "type":"string", "max":256, "min":1 }, + "StringWithCharLimit256Min0":{ + "type":"string", + "max":256, + "min":0 + }, "StringWithCharLimit64":{ "type":"string", "max":64, "min":1 }, + "StringWithCharLimit768":{ + "type":"string", + "max":768, + "min":1 + }, "SupplementaryConfiguration":{ "type":"map", "key":{"shape":"SupplementaryConfigurationName"}, @@ -2064,11 +6458,109 @@ }, "SupplementaryConfigurationName":{"type":"string"}, "SupplementaryConfigurationValue":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The tags for the resource. The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of tag object.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Tags":{ "type":"map", "key":{"shape":"Name"}, "value":{"shape":"Value"} }, + "TagsList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TemplateBody":{ + "type":"string", + "max":51200, + "min":1 + }, + "TemplateS3Uri":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"s3://.*" + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have reached the limit of the number of tags you can use. You have more than 50 tags.

", + "exception":true + }, + "UnprocessedResourceIdentifierList":{ + "type":"list", + "member":{"shape":"AggregateResourceIdentifier"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, "ValidationException":{ "type":"structure", "members":{ @@ -2079,5 +6571,5 @@ "Value":{"type":"string"}, "Version":{"type":"string"} }, - "documentation":"AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an Elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config

This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config.

The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process.

For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config? in the AWS Config Developer Guide.

" + "documentation":"AWS Config

AWS Config provides a way to keep track of the configurations of all the AWS resources associated with your AWS account. You can use AWS Config to get the current and historical configurations of each AWS resource and also to get information about the relationship between the resources. An AWS resource can be an Amazon Compute Cloud (Amazon EC2) instance, an Elastic Block Store (EBS) volume, an elastic network Interface (ENI), or a security group. For a complete list of resources currently supported by AWS Config, see Supported AWS Resources.

You can access and manage AWS Config through the AWS Management Console, the AWS Command Line Interface (AWS CLI), the AWS Config API, or the AWS SDKs for AWS Config. This reference guide contains documentation for the AWS Config API and the AWS CLI commands that you can use to manage AWS Config. The AWS Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about AWS Config features and their associated actions or commands, as well as how to work with AWS Management Console, see What Is AWS Config in the AWS Config Developer Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/connect/2017-08-08/examples-1.json python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/examples-1.json --- python-botocore-1.4.70/botocore/data/connect/2017-08-08/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/connect/2017-08-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/connect/2017-08-08/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "GetMetricData": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MetricResults" + }, + "ListRoutingProfiles": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RoutingProfileSummaryList" + }, + "ListSecurityProfiles": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecurityProfileSummaryList" + }, + "ListUserHierarchyGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserHierarchyGroupSummaryList" + }, + "ListUsers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UserSummaryList" + }, + "ListContactFlows": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ContactFlowSummaryList" + }, + "ListHoursOfOperations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "HoursOfOperationSummaryList" + }, + "ListPhoneNumbers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PhoneNumberSummaryList" + }, + "ListQueues": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "QueueSummaryList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/connect/2017-08-08/service-2.json python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/service-2.json --- python-botocore-1.4.70/botocore/data/connect/2017-08-08/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/connect/2017-08-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2783 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-08-08", + "endpointPrefix":"connect", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon Connect", + "serviceFullName":"Amazon Connect Service", + "serviceId":"Connect", + "signatureVersion":"v4", + "signingName":"connect", + "uid":"connect-2017-08-08" + }, + "operations":{ + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"PUT", + "requestUri":"/users/{InstanceId}" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a user account for the specified Amazon Connect instance.

" + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"DELETE", + "requestUri":"/users/{InstanceId}/{UserId}" + }, + "input":{"shape":"DeleteUserRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes a user account from the specified Amazon Connect instance.

" + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"GET", + "requestUri":"/users/{InstanceId}/{UserId}" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes the specified user account. You can find the instance ID in the console (it’s the final part of the ARN). The console does not display the user IDs. Instead, list the users and note the IDs provided in the output.

" + }, + "DescribeUserHierarchyGroup":{ + "name":"DescribeUserHierarchyGroup", + "http":{ + "method":"GET", + "requestUri":"/user-hierarchy-groups/{InstanceId}/{HierarchyGroupId}" + }, + "input":{"shape":"DescribeUserHierarchyGroupRequest"}, + "output":{"shape":"DescribeUserHierarchyGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes the specified hierarchy group.

" + }, + "DescribeUserHierarchyStructure":{ + "name":"DescribeUserHierarchyStructure", + "http":{ + "method":"GET", + "requestUri":"/user-hierarchy-structure/{InstanceId}" + }, + "input":{"shape":"DescribeUserHierarchyStructureRequest"}, + "output":{"shape":"DescribeUserHierarchyStructureResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Describes the hierarchy structure of the specified Amazon Connect instance.

" + }, + "GetContactAttributes":{ + "name":"GetContactAttributes", + "http":{ + "method":"GET", + "requestUri":"/contact/attributes/{InstanceId}/{InitialContactId}" + }, + "input":{"shape":"GetContactAttributesRequest"}, + "output":{"shape":"GetContactAttributesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves the contact attributes for the specified contact.

" + }, + "GetCurrentMetricData":{ + "name":"GetCurrentMetricData", + "http":{ + "method":"POST", + "requestUri":"/metrics/current/{InstanceId}" + }, + "input":{"shape":"GetCurrentMetricDataRequest"}, + "output":{"shape":"GetCurrentMetricDataResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the real-time metric data from the specified Amazon Connect instance.

For more information, see Real-time Metrics Reports in the Amazon Connect Administrator Guide.

" + }, + "GetFederationToken":{ + "name":"GetFederationToken", + "http":{ + "method":"GET", + "requestUri":"/user/federate/{InstanceId}" + }, + "input":{"shape":"GetFederationTokenRequest"}, + "output":{"shape":"GetFederationTokenResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UserNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"DuplicateResourceException"} + ], + "documentation":"

Retrieves a token for federation.

" + }, + "GetMetricData":{ + "name":"GetMetricData", + "http":{ + "method":"POST", + "requestUri":"/metrics/historical/{InstanceId}" + }, + "input":{"shape":"GetMetricDataRequest"}, + "output":{"shape":"GetMetricDataResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets historical metric data from the specified Amazon Connect instance.

For more information, see Historical Metrics Reports in the Amazon Connect Administrator Guide.

" + }, + "ListContactFlows":{ + "name":"ListContactFlows", + "http":{ + "method":"GET", + "requestUri":"/contact-flows-summary/{InstanceId}" + }, + "input":{"shape":"ListContactFlowsRequest"}, + "output":{"shape":"ListContactFlowsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides information about the contact flows for the specified Amazon Connect instance.

" + }, + "ListHoursOfOperations":{ + "name":"ListHoursOfOperations", + "http":{ + "method":"GET", + "requestUri":"/hours-of-operations-summary/{InstanceId}" + }, + "input":{"shape":"ListHoursOfOperationsRequest"}, + "output":{"shape":"ListHoursOfOperationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides information about the hours of operation for the specified Amazon Connect instance.

" + }, + "ListPhoneNumbers":{ + "name":"ListPhoneNumbers", + "http":{ + "method":"GET", + "requestUri":"/phone-numbers-summary/{InstanceId}" + }, + "input":{"shape":"ListPhoneNumbersRequest"}, + "output":{"shape":"ListPhoneNumbersResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides information about the phone numbers for the specified Amazon Connect instance.

" + }, + "ListQueues":{ + "name":"ListQueues", + "http":{ + "method":"GET", + "requestUri":"/queues-summary/{InstanceId}" + }, + "input":{"shape":"ListQueuesRequest"}, + "output":{"shape":"ListQueuesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides information about the queues for the specified Amazon Connect instance.

" + }, + "ListRoutingProfiles":{ + "name":"ListRoutingProfiles", + "http":{ + "method":"GET", + "requestUri":"/routing-profiles-summary/{InstanceId}" + }, + "input":{"shape":"ListRoutingProfilesRequest"}, + "output":{"shape":"ListRoutingProfilesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides summary information about the routing profiles for the specified Amazon Connect instance.

" + }, + "ListSecurityProfiles":{ + "name":"ListSecurityProfiles", + "http":{ + "method":"GET", + "requestUri":"/security-profiles-summary/{InstanceId}" + }, + "input":{"shape":"ListSecurityProfilesRequest"}, + "output":{"shape":"ListSecurityProfilesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides summary information about the security profiles for the specified Amazon Connect instance.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists the tags for the specified resource.

" + }, + "ListUserHierarchyGroups":{ + "name":"ListUserHierarchyGroups", + "http":{ + "method":"GET", + "requestUri":"/user-hierarchy-groups-summary/{InstanceId}" + }, + "input":{"shape":"ListUserHierarchyGroupsRequest"}, + "output":{"shape":"ListUserHierarchyGroupsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides summary information about the hierarchy groups for the specified Amazon Connect instance.

" + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"GET", + "requestUri":"/users-summary/{InstanceId}" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Provides summary information about the users for the specified Amazon Connect instance.

" + }, + "StartChatContact":{ + "name":"StartChatContact", + "http":{ + "method":"PUT", + "requestUri":"/contact/chat" + }, + "input":{"shape":"StartChatContactRequest"}, + "output":{"shape":"StartChatContactResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Initiates a contact flow to start a new chat for the customer. Response of this API provides a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

When a new chat contact is successfully created, clients need to subscribe to the participant’s connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

" + }, + "StartOutboundVoiceContact":{ + "name":"StartOutboundVoiceContact", + "http":{ + "method":"PUT", + "requestUri":"/contact/outbound-voice" + }, + "input":{"shape":"StartOutboundVoiceContactRequest"}, + "output":{"shape":"StartOutboundVoiceContactResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"LimitExceededException"}, + {"shape":"DestinationNotAllowedException"}, + {"shape":"OutboundContactNotPermittedException"} + ], + "documentation":"

Initiates a contact flow to place an outbound call to a customer.

There is a 60 second dialing timeout for this operation. If the call is not connected after 60 seconds, it fails.

" + }, + "StopContact":{ + "name":"StopContact", + "http":{ + "method":"POST", + "requestUri":"/contact/stop" + }, + "input":{"shape":"StopContactRequest"}, + "output":{"shape":"StopContactResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ContactNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Ends the specified contact.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Adds the specified tags to the specified resource.

The supported resource type is users.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Removes the specified tags from the specified resource.

" + }, + "UpdateContactAttributes":{ + "name":"UpdateContactAttributes", + "http":{ + "method":"POST", + "requestUri":"/contact/attributes" + }, + "input":{"shape":"UpdateContactAttributesRequest"}, + "output":{"shape":"UpdateContactAttributesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates or updates the contact attributes associated with the specified contact.

You can add or update attributes for both ongoing and completed contacts. For example, you can update the customer's name or the reason the customer called while the call is active, or add notes about steps that the agent took during the call that are displayed to the next agent that takes the call. You can also update attributes for a contact using data from your CRM application and save the data with the contact in Amazon Connect. You could also flag calls for additional analysis, such as legal review or identifying abusive callers.

Contact attributes are available in Amazon Connect for 24 months, and are then deleted.

Important: You cannot use the operation to update attributes for contacts that occurred prior to the release of the API, September 12, 2018. You can update attributes only for contacts that started after the release of the API. If you attempt to update attributes for a contact that occurred prior to the release of the API, a 400 error is returned. This applies also to queued callbacks that were initiated prior to the release of the API but are still active in your instance.

" + }, + "UpdateUserHierarchy":{ + "name":"UpdateUserHierarchy", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/hierarchy" + }, + "input":{"shape":"UpdateUserHierarchyRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Assigns the specified hierarchy group to the specified user.

" + }, + "UpdateUserIdentityInfo":{ + "name":"UpdateUserIdentityInfo", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/identity-info" + }, + "input":{"shape":"UpdateUserIdentityInfoRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates the identity information for the specified user.

" + }, + "UpdateUserPhoneConfig":{ + "name":"UpdateUserPhoneConfig", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/phone-config" + }, + "input":{"shape":"UpdateUserPhoneConfigRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates the phone configuration settings for the specified user.

" + }, + "UpdateUserRoutingProfile":{ + "name":"UpdateUserRoutingProfile", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/routing-profile" + }, + "input":{"shape":"UpdateUserRoutingProfileRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Assigns the specified routing profile to the specified user.

" + }, + "UpdateUserSecurityProfiles":{ + "name":"UpdateUserSecurityProfiles", + "http":{ + "method":"POST", + "requestUri":"/users/{InstanceId}/{UserId}/security-profiles" + }, + "input":{"shape":"UpdateUserSecurityProfilesRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Assigns the specified security profiles to the specified user.

" + } + }, + "shapes":{ + "ARN":{"type":"string"}, + "AfterContactWorkTimeLimit":{ + "type":"integer", + "min":0 + }, + "AgentFirstName":{ + "type":"string", + "max":100, + "min":1 + }, + "AgentLastName":{ + "type":"string", + "max":100, + "min":1 + }, + "AgentUsername":{ + "type":"string", + "max":100, + "min":1 + }, + "AttributeName":{ + "type":"string", + "max":32767, + "min":1 + }, + "AttributeValue":{ + "type":"string", + "max":32767, + "min":0 + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "AutoAccept":{"type":"boolean"}, + "Channel":{ + "type":"string", + "enum":[ + "VOICE", + "CHAT" + ] + }, + "Channels":{ + "type":"list", + "member":{"shape":"Channel"}, + "max":1 + }, + "ChatContent":{ + "type":"string", + "max":1024, + "min":1 + }, + "ChatContentType":{ + "type":"string", + "max":100, + "min":1 + }, + "ChatMessage":{ + "type":"structure", + "required":[ + "ContentType", + "Content" + ], + "members":{ + "ContentType":{ + "shape":"ChatContentType", + "documentation":"

The type of the content. Supported types are text/plain.

" + }, + "Content":{ + "shape":"ChatContent", + "documentation":"

The content of the chat message.

" + } + }, + "documentation":"

A chat message.

" + }, + "ClientToken":{ + "type":"string", + "max":500 + }, + "Comparison":{ + "type":"string", + "enum":["LT"] + }, + "ContactFlowId":{ + "type":"string", + "max":500 + }, + "ContactFlowName":{"type":"string"}, + "ContactFlowSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ContactFlowId", + "documentation":"

The identifier of the contact flow.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the contact flow.

" + }, + "Name":{ + "shape":"ContactFlowName", + "documentation":"

The name of the contact flow.

" + }, + "ContactFlowType":{ + "shape":"ContactFlowType", + "documentation":"

The type of contact flow.

" + } + }, + "documentation":"

Contains summary information about a contact flow.

" + }, + "ContactFlowSummaryList":{ + "type":"list", + "member":{"shape":"ContactFlowSummary"} + }, + "ContactFlowType":{ + "type":"string", + "enum":[ + "CONTACT_FLOW", + "CUSTOMER_QUEUE", + "CUSTOMER_HOLD", + "CUSTOMER_WHISPER", + "AGENT_HOLD", + "AGENT_WHISPER", + "OUTBOUND_WHISPER", + "AGENT_TRANSFER", + "QUEUE_TRANSFER" + ] + }, + "ContactFlowTypes":{ + "type":"list", + "member":{"shape":"ContactFlowType"}, + "max":10 + }, + "ContactId":{ + "type":"string", + "max":256, + "min":1 + }, + "ContactNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

The contact with the specified ID is not active or does not exist.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "Username", + "PhoneConfig", + "SecurityProfileIds", + "RoutingProfileId", + "InstanceId" + ], + "members":{ + "Username":{ + "shape":"AgentUsername", + "documentation":"

The user name for the account. For instances not using SAML for identity management, the user name can include up to 20 characters. If you are using SAML for identity management, the user name can include up to 64 characters from [a-zA-Z0-9_-.\\@]+.

" + }, + "Password":{ + "shape":"Password", + "documentation":"

The password for the user account. A password is required if you are using Amazon Connect for identity management. Otherwise, it is an error to include a password.

" + }, + "IdentityInfo":{ + "shape":"UserIdentityInfo", + "documentation":"

The information about the identity of the user.

" + }, + "PhoneConfig":{ + "shape":"UserPhoneConfig", + "documentation":"

The phone settings for the user.

" + }, + "DirectoryUserId":{ + "shape":"DirectoryUserId", + "documentation":"

The identifier of the user account in the directory used for identity management. If Amazon Connect cannot access the directory, you can specify this identifier to authenticate users. If you include the identifier, we assume that Amazon Connect cannot access the directory. Otherwise, the identity information is used to authenticate users from your directory.

This parameter is required if you are using an existing directory for identity management in Amazon Connect when Amazon Connect cannot access your directory to authenticate users. If you are using SAML for identity management and include this parameter, an error is returned.

" + }, + "SecurityProfileIds":{ + "shape":"SecurityProfileIds", + "documentation":"

The identifier of the security profile for the user.

" + }, + "RoutingProfileId":{ + "shape":"RoutingProfileId", + "documentation":"

The identifier of the routing profile for the user.

" + }, + "HierarchyGroupId":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group for the user.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

One or more tags.

" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

" + }, + "UserArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the user account.

" + } + } + }, + "Credentials":{ + "type":"structure", + "members":{ + "AccessToken":{ + "shape":"SecurityToken", + "documentation":"

An access token generated for a federated user to access Amazon Connect.

" + }, + "AccessTokenExpiration":{ + "shape":"timestamp", + "documentation":"

A token generated with an expiration time for the session a user is logged in to Amazon Connect.

" + }, + "RefreshToken":{ + "shape":"SecurityToken", + "documentation":"

Renews a token generated for a user to access the Amazon Connect instance.

" + }, + "RefreshTokenExpiration":{ + "shape":"timestamp", + "documentation":"

Renews the expiration timer for a generated token.

" + } + }, + "documentation":"

Contains credentials to use for federation.

" + }, + "CurrentMetric":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"CurrentMetricName", + "documentation":"

The name of the metric.

" + }, + "Unit":{ + "shape":"Unit", + "documentation":"

The unit for the metric.

" + } + }, + "documentation":"

Contains information about a real-time metric.

" + }, + "CurrentMetricData":{ + "type":"structure", + "members":{ + "Metric":{ + "shape":"CurrentMetric", + "documentation":"

Information about the metric.

" + }, + "Value":{ + "shape":"Value", + "documentation":"

The value of the metric.

", + "box":true + } + }, + "documentation":"

Contains the data for a real-time metric.

" + }, + "CurrentMetricDataCollections":{ + "type":"list", + "member":{"shape":"CurrentMetricData"} + }, + "CurrentMetricName":{ + "type":"string", + "documentation":"

The current metric names.

", + "enum":[ + "AGENTS_ONLINE", + "AGENTS_AVAILABLE", + "AGENTS_ON_CALL", + "AGENTS_NON_PRODUCTIVE", + "AGENTS_AFTER_CONTACT_WORK", + "AGENTS_ERROR", + "AGENTS_STAFFED", + "CONTACTS_IN_QUEUE", + "OLDEST_CONTACT_AGE", + "CONTACTS_SCHEDULED", + "AGENTS_ON_CONTACT", + "SLOTS_ACTIVE", + "SLOTS_AVAILABLE" + ] + }, + "CurrentMetricResult":{ + "type":"structure", + "members":{ + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

The dimensions for the metrics.

" + }, + "Collections":{ + "shape":"CurrentMetricDataCollections", + "documentation":"

The set of metrics.

" + } + }, + "documentation":"

Contains information about a set of real-time metrics.

" + }, + "CurrentMetricResults":{ + "type":"list", + "member":{"shape":"CurrentMetricResult"} + }, + "CurrentMetrics":{ + "type":"list", + "member":{"shape":"CurrentMetric"} + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "UserId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user.

", + "location":"uri", + "locationName":"UserId" + } + } + }, + "DescribeUserHierarchyGroupRequest":{ + "type":"structure", + "required":[ + "HierarchyGroupId", + "InstanceId" + ], + "members":{ + "HierarchyGroupId":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group.

", + "location":"uri", + "locationName":"HierarchyGroupId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserHierarchyGroupResponse":{ + "type":"structure", + "members":{ + "HierarchyGroup":{ + "shape":"HierarchyGroup", + "documentation":"

Information about the hierarchy group.

" + } + } + }, + "DescribeUserHierarchyStructureRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserHierarchyStructureResponse":{ + "type":"structure", + "members":{ + "HierarchyStructure":{ + "shape":"HierarchyStructure", + "documentation":"

Information about the hierarchy structure.

" + } + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "UserId", + "InstanceId" + ], + "members":{ + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "DescribeUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

Information about the user account and configuration settings.

" + } + } + }, + "DestinationNotAllowedException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

Outbound calls to the destination number are not allowed.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "Dimensions":{ + "type":"structure", + "members":{ + "Queue":{ + "shape":"QueueReference", + "documentation":"

Information about the queue for which metrics are returned.

" + }, + "Channel":{ + "shape":"Channel", + "documentation":"

The channel used for grouping and filters.

" + } + }, + "documentation":"

Contains information about the dimensions for a set of metrics.

" + }, + "DirectoryUserId":{"type":"string"}, + "DisplayName":{ + "type":"string", + "max":256, + "min":1 + }, + "DuplicateResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

A resource with the specified name already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "Email":{"type":"string"}, + "Filters":{ + "type":"structure", + "members":{ + "Queues":{ + "shape":"Queues", + "documentation":"

The queues to use to filter the metrics. You can specify up to 100 queues per request.

" + }, + "Channels":{ + "shape":"Channels", + "documentation":"

The channel to use to filter the metrics.

" + } + }, + "documentation":"

Contains the filter to apply when retrieving metrics.

" + }, + "GetContactAttributesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "InitialContactId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "InitialContactId":{ + "shape":"ContactId", + "documentation":"

The identifier of the initial contact.

", + "location":"uri", + "locationName":"InitialContactId" + } + } + }, + "GetContactAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"Attributes", + "documentation":"

Information about the attributes.

" + } + } + }, + "GetCurrentMetricDataRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Filters", + "CurrentMetrics" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE.

" + }, + "Groupings":{ + "shape":"Groupings", + "documentation":"

The grouping applied to the metrics returned. For example, when grouped by QUEUE, the metrics returned apply to each queue rather than aggregated for all queues. If you group by CHANNEL, you should include a Channels filter. The only supported channel is VOICE.

If no Grouping is included in the request, a summary of metrics is returned.

" + }, + "CurrentMetrics":{ + "shape":"CurrentMetrics", + "documentation":"

The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available:

AGENTS_AFTER_CONTACT_WORK

Unit: COUNT

AGENTS_AVAILABLE

Unit: COUNT

AGENTS_ERROR

Unit: COUNT

AGENTS_NON_PRODUCTIVE

Unit: COUNT

AGENTS_ON_CALL

Unit: COUNT

AGENTS_ON_CONTACT

Unit: COUNT

AGENTS_ONLINE

Unit: COUNT

AGENTS_STAFFED

Unit: COUNT

CONTACTS_IN_QUEUE

Unit: COUNT

CONTACTS_SCHEDULED

Unit: COUNT

OLDEST_CONTACT_AGE

Unit: SECONDS

SLOTS_ACTIVE

Unit: COUNT

SLOTS_AVAILABLE

Unit: COUNT

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

" + }, + "MaxResults":{ + "shape":"MaxResult100", + "documentation":"

The maximimum number of results to return per page.

", + "box":true + } + } + }, + "GetCurrentMetricDataResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

" + }, + "MetricResults":{ + "shape":"CurrentMetricResults", + "documentation":"

Information about the real-time metrics.

" + }, + "DataSnapshotTime":{ + "shape":"timestamp", + "documentation":"

The time at which the metrics were retrieved and cached for pagination.

" + } + } + }, + "GetFederationTokenRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "GetFederationTokenResponse":{ + "type":"structure", + "members":{ + "Credentials":{ + "shape":"Credentials", + "documentation":"

The credentials to use for federation.

" + } + } + }, + "GetMetricDataRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "StartTime", + "EndTime", + "Filters", + "HistoricalMetrics" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "StartTime":{ + "shape":"timestamp", + "documentation":"

The timestamp, in UNIX Epoch time format, at which to start the reporting interval for the retrieval of historical metrics data. The time must be specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.

The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.

" + }, + "EndTime":{ + "shape":"timestamp", + "documentation":"

The timestamp, in UNIX Epoch time format, at which to end the reporting interval for the retrieval of historical metrics data. The time must be specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and must be later than the start time timestamp.

The time range between the start and end time must be less than 24 hours.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

The queues, up to 100, or channels, to use to filter the metrics returned. Metric data is retrieved only for the resources associated with the queues or channels included in the filter. You can include both queue IDs and queue ARNs in the same request. The only supported channel is VOICE.

" + }, + "Groupings":{ + "shape":"Groupings", + "documentation":"

The grouping applied to the metrics returned. For example, when results are grouped by queue, the metrics returned are grouped by queue. The values returned apply to the metrics for each queue rather than aggregated for all queues.

The only supported grouping is QUEUE.

If no grouping is specified, a summary of metrics for all queues is returned.

" + }, + "HistoricalMetrics":{ + "shape":"HistoricalMetrics", + "documentation":"

The metrics to retrieve. Specify the name, unit, and statistic for each metric. The following historical metrics are available:

ABANDON_TIME

Unit: SECONDS

Statistic: AVG

AFTER_CONTACT_WORK_TIME

Unit: SECONDS

Statistic: AVG

API_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CALLBACK_CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CONTACTS_ABANDONED

Unit: COUNT

Statistic: SUM

CONTACTS_AGENT_HUNG_UP_FIRST

Unit: COUNT

Statistic: SUM

CONTACTS_CONSULTED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED_INCOMING

Unit: COUNT

Statistic: SUM

CONTACTS_HANDLED_OUTBOUND

Unit: COUNT

Statistic: SUM

CONTACTS_HOLD_ABANDONS

Unit: COUNT

Statistic: SUM

CONTACTS_MISSED

Unit: COUNT

Statistic: SUM

CONTACTS_QUEUED

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_IN

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_IN_FROM_QUEUE

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_OUT

Unit: COUNT

Statistic: SUM

CONTACTS_TRANSFERRED_OUT_FROM_QUEUE

Unit: COUNT

Statistic: SUM

HANDLE_TIME

Unit: SECONDS

Statistic: AVG

HOLD_TIME

Unit: SECONDS

Statistic: AVG

INTERACTION_AND_HOLD_TIME

Unit: SECONDS

Statistic: AVG

INTERACTION_TIME

Unit: SECONDS

Statistic: AVG

OCCUPANCY

Unit: PERCENT

Statistic: AVG

QUEUE_ANSWER_TIME

Unit: SECONDS

Statistic: AVG

QUEUED_TIME

Unit: SECONDS

Statistic: MAX

SERVICE_LEVEL

Unit: PERCENT

Statistic: AVG

Threshold: Only \"Less than\" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

" + }, + "MaxResults":{ + "shape":"MaxResult100", + "documentation":"

The maximimum number of results to return per page.

", + "box":true + } + } + }, + "GetMetricDataResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

" + }, + "MetricResults":{ + "shape":"HistoricalMetricResults", + "documentation":"

Information about the historical metrics.

If no grouping is specified, a summary of metric data is returned.

" + } + } + }, + "Grouping":{ + "type":"string", + "enum":[ + "QUEUE", + "CHANNEL" + ] + }, + "Groupings":{ + "type":"list", + "member":{"shape":"Grouping"}, + "max":2 + }, + "HierarchyGroup":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the hierarchy group.

" + }, + "Name":{ + "shape":"HierarchyGroupName", + "documentation":"

The name of the hierarchy group.

" + }, + "LevelId":{ + "shape":"HierarchyLevelId", + "documentation":"

The identifier of the level in the hierarchy group.

" + }, + "HierarchyPath":{ + "shape":"HierarchyPath", + "documentation":"

Information about the levels in the hierarchy group.

" + } + }, + "documentation":"

Contains information about a hierarchy group.

" + }, + "HierarchyGroupId":{"type":"string"}, + "HierarchyGroupName":{"type":"string"}, + "HierarchyGroupSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the hierarchy group.

" + }, + "Name":{ + "shape":"HierarchyGroupName", + "documentation":"

The name of the hierarchy group.

" + } + }, + "documentation":"

Contains summary information about a hierarchy group.

" + }, + "HierarchyGroupSummaryList":{ + "type":"list", + "member":{"shape":"HierarchyGroupSummary"} + }, + "HierarchyLevel":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HierarchyLevelId", + "documentation":"

The identifier of the hierarchy level.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the hierarchy level.

" + }, + "Name":{ + "shape":"HierarchyLevelName", + "documentation":"

The name of the hierarchy level.

" + } + }, + "documentation":"

Contains information about a hierarchy level.

" + }, + "HierarchyLevelId":{"type":"string"}, + "HierarchyLevelName":{"type":"string"}, + "HierarchyPath":{ + "type":"structure", + "members":{ + "LevelOne":{ + "shape":"HierarchyGroupSummary", + "documentation":"

Information about level one.

" + }, + "LevelTwo":{ + "shape":"HierarchyGroupSummary", + "documentation":"

Information about level two.

" + }, + "LevelThree":{ + "shape":"HierarchyGroupSummary", + "documentation":"

Information about level three.

" + }, + "LevelFour":{ + "shape":"HierarchyGroupSummary", + "documentation":"

Information about level four.

" + }, + "LevelFive":{ + "shape":"HierarchyGroupSummary", + "documentation":"

Information about level five.

" + } + }, + "documentation":"

Contains information about the levels of a hierarchy group.

" + }, + "HierarchyStructure":{ + "type":"structure", + "members":{ + "LevelOne":{ + "shape":"HierarchyLevel", + "documentation":"

Information about level one.

" + }, + "LevelTwo":{ + "shape":"HierarchyLevel", + "documentation":"

Information about level two.

" + }, + "LevelThree":{ + "shape":"HierarchyLevel", + "documentation":"

Information about level three.

" + }, + "LevelFour":{ + "shape":"HierarchyLevel", + "documentation":"

Information about level four.

" + }, + "LevelFive":{ + "shape":"HierarchyLevel", + "documentation":"

Information about level five.

" + } + }, + "documentation":"

Contains information about a hierarchy structure.

" + }, + "HistoricalMetric":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"HistoricalMetricName", + "documentation":"

The name of the metric.

" + }, + "Threshold":{ + "shape":"Threshold", + "documentation":"

The threshold for the metric, used with service level metrics.

", + "box":true + }, + "Statistic":{ + "shape":"Statistic", + "documentation":"

The statistic for the metric.

" + }, + "Unit":{ + "shape":"Unit", + "documentation":"

The unit for the metric.

" + } + }, + "documentation":"

Contains information about a historical metric.

" + }, + "HistoricalMetricData":{ + "type":"structure", + "members":{ + "Metric":{ + "shape":"HistoricalMetric", + "documentation":"

Information about the metric.

" + }, + "Value":{ + "shape":"Value", + "documentation":"

The value of the metric.

", + "box":true + } + }, + "documentation":"

Contains the data for a historical metric.

" + }, + "HistoricalMetricDataCollections":{ + "type":"list", + "member":{"shape":"HistoricalMetricData"} + }, + "HistoricalMetricName":{ + "type":"string", + "documentation":"

The historical metric names.

", + "enum":[ + "CONTACTS_QUEUED", + "CONTACTS_HANDLED", + "CONTACTS_ABANDONED", + "CONTACTS_CONSULTED", + "CONTACTS_AGENT_HUNG_UP_FIRST", + "CONTACTS_HANDLED_INCOMING", + "CONTACTS_HANDLED_OUTBOUND", + "CONTACTS_HOLD_ABANDONS", + "CONTACTS_TRANSFERRED_IN", + "CONTACTS_TRANSFERRED_OUT", + "CONTACTS_TRANSFERRED_IN_FROM_QUEUE", + "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE", + "CONTACTS_MISSED", + "CALLBACK_CONTACTS_HANDLED", + "API_CONTACTS_HANDLED", + "OCCUPANCY", + "HANDLE_TIME", + "AFTER_CONTACT_WORK_TIME", + "QUEUED_TIME", + "ABANDON_TIME", + "QUEUE_ANSWER_TIME", + "HOLD_TIME", + "INTERACTION_TIME", + "INTERACTION_AND_HOLD_TIME", + "SERVICE_LEVEL" + ] + }, + "HistoricalMetricResult":{ + "type":"structure", + "members":{ + "Dimensions":{ + "shape":"Dimensions", + "documentation":"

The dimension for the metrics.

" + }, + "Collections":{ + "shape":"HistoricalMetricDataCollections", + "documentation":"

The set of metrics.

" + } + }, + "documentation":"

Contains information about the historical metrics retrieved.

" + }, + "HistoricalMetricResults":{ + "type":"list", + "member":{"shape":"HistoricalMetricResult"} + }, + "HistoricalMetrics":{ + "type":"list", + "member":{"shape":"HistoricalMetric"} + }, + "HoursOfOperationId":{"type":"string"}, + "HoursOfOperationName":{"type":"string"}, + "HoursOfOperationSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HoursOfOperationId", + "documentation":"

The identifier of the hours of operation.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the hours of operation.

" + }, + "Name":{ + "shape":"HoursOfOperationName", + "documentation":"

The name of the hours of operation.

" + } + }, + "documentation":"

Contains summary information about hours of operation for a contact center.

" + }, + "HoursOfOperationSummaryList":{ + "type":"list", + "member":{"shape":"HoursOfOperationSummary"} + }, + "InstanceId":{ + "type":"string", + "max":100, + "min":1 + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

Request processing failed due to an error or failure with the service.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

One or more of the specified parameters are not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

The request is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

The allowed limit for the resource has been exceeded.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListContactFlowsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "ContactFlowTypes":{ + "shape":"ContactFlowTypes", + "documentation":"

The type of contact flow.

", + "location":"querystring", + "locationName":"contactFlowTypes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListContactFlowsResponse":{ + "type":"structure", + "members":{ + "ContactFlowSummaryList":{ + "shape":"ContactFlowSummaryList", + "documentation":"

Information about the contact flows.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListHoursOfOperationsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListHoursOfOperationsResponse":{ + "type":"structure", + "members":{ + "HoursOfOperationSummaryList":{ + "shape":"HoursOfOperationSummaryList", + "documentation":"

Information about the hours of operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListPhoneNumbersRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "PhoneNumberTypes":{ + "shape":"PhoneNumberTypes", + "documentation":"

The type of phone number.

", + "location":"querystring", + "locationName":"phoneNumberTypes" + }, + "PhoneNumberCountryCodes":{ + "shape":"PhoneNumberCountryCodes", + "documentation":"

The ISO country code.

", + "location":"querystring", + "locationName":"phoneNumberCountryCodes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPhoneNumbersResponse":{ + "type":"structure", + "members":{ + "PhoneNumberSummaryList":{ + "shape":"PhoneNumberSummaryList", + "documentation":"

Information about the phone numbers.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListQueuesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "QueueTypes":{ + "shape":"QueueTypes", + "documentation":"

The type of queue.

", + "location":"querystring", + "locationName":"queueTypes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListQueuesResponse":{ + "type":"structure", + "members":{ + "QueueSummaryList":{ + "shape":"QueueSummaryList", + "documentation":"

Information about the queues.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListRoutingProfilesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListRoutingProfilesResponse":{ + "type":"structure", + "members":{ + "RoutingProfileSummaryList":{ + "shape":"RoutingProfileSummaryList", + "documentation":"

Information about the routing profiles.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListSecurityProfilesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListSecurityProfilesResponse":{ + "type":"structure", + "members":{ + "SecurityProfileSummaryList":{ + "shape":"SecurityProfileSummaryList", + "documentation":"

Information about the security profiles.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

Information about the tags.

" + } + } + }, + "ListUserHierarchyGroupsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUserHierarchyGroupsResponse":{ + "type":"structure", + "members":{ + "UserHierarchyGroupSummaryList":{ + "shape":"HierarchyGroupSummaryList", + "documentation":"

Information about the hierarchy groups.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResult1000", + "documentation":"

The maximimum number of results to return per page.

", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "UserSummaryList":{ + "shape":"UserSummaryList", + "documentation":"

Information about the users.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are additional results, this is the token for the next set of results.

" + } + } + }, + "MaxResult100":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResult1000":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Message":{"type":"string"}, + "NextToken":{"type":"string"}, + "OutboundContactNotPermittedException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

The contact is not permitted.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ParticipantDetails":{ + "type":"structure", + "required":["DisplayName"], + "members":{ + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

Display name of the participant.

" + } + }, + "documentation":"

The customer's details.

" + }, + "ParticipantId":{ + "type":"string", + "max":256, + "min":1 + }, + "ParticipantToken":{ + "type":"string", + "max":1000, + "min":1 + }, + "Password":{ + "type":"string", + "pattern":"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\S]{8,64}$/" + }, + "PhoneNumber":{"type":"string"}, + "PhoneNumberCountryCode":{ + "type":"string", + "enum":[ + "AF", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BA", + "BW", + "BR", + "IO", + "VG", + "BN", + "BG", + "BF", + "BI", + "KH", + "CM", + "CA", + "CV", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CK", + "CR", + "HR", + "CU", + "CW", + "CY", + "CZ", + "CD", + "DK", + "DJ", + "DM", + "DO", + "TL", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "PF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "CI", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MK", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "AN", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "KP", + "MP", + "NO", + "OM", + "PK", + "PW", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "CG", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "KR", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SZ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "VI", + "UG", + "UA", + "AE", + "GB", + "US", + "UY", + "UZ", + "VU", + "VA", + "VE", + "VN", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "PhoneNumberCountryCodes":{ + "type":"list", + "member":{"shape":"PhoneNumberCountryCode"}, + "max":10 + }, + "PhoneNumberId":{"type":"string"}, + "PhoneNumberSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"PhoneNumberId", + "documentation":"

The identifier of the phone number.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the phone number.

" + }, + "PhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number.

" + }, + "PhoneNumberType":{ + "shape":"PhoneNumberType", + "documentation":"

The type of phone number.

" + }, + "PhoneNumberCountryCode":{ + "shape":"PhoneNumberCountryCode", + "documentation":"

The ISO country code.

" + } + }, + "documentation":"

Contains summary information about a phone number for a contact center.

" + }, + "PhoneNumberSummaryList":{ + "type":"list", + "member":{"shape":"PhoneNumberSummary"} + }, + "PhoneNumberType":{ + "type":"string", + "enum":[ + "TOLL_FREE", + "DID" + ] + }, + "PhoneNumberTypes":{ + "type":"list", + "member":{"shape":"PhoneNumberType"}, + "max":2 + }, + "PhoneType":{ + "type":"string", + "enum":[ + "SOFT_PHONE", + "DESK_PHONE" + ] + }, + "QueueId":{"type":"string"}, + "QueueName":{ + "type":"string", + "max":256, + "min":1 + }, + "QueueReference":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"QueueId", + "documentation":"

The identifier of the queue.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the queue.

" + } + }, + "documentation":"

Contains information about a queue resource for which metrics are returned.

" + }, + "QueueSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"QueueId", + "documentation":"

The identifier of the queue.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the queue.

" + }, + "Name":{ + "shape":"QueueName", + "documentation":"

The name of the queue.

" + }, + "QueueType":{ + "shape":"QueueType", + "documentation":"

The type of queue.

" + } + }, + "documentation":"

Contains summary information about a queue.

" + }, + "QueueSummaryList":{ + "type":"list", + "member":{"shape":"QueueSummary"} + }, + "QueueType":{ + "type":"string", + "enum":[ + "STANDARD", + "AGENT" + ] + }, + "QueueTypes":{ + "type":"list", + "member":{"shape":"QueueType"}, + "max":2 + }, + "Queues":{ + "type":"list", + "member":{"shape":"QueueId"}, + "max":100, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"Message", + "documentation":"

The message.

" + } + }, + "documentation":"

The specified resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RoutingProfileId":{"type":"string"}, + "RoutingProfileName":{ + "type":"string", + "max":100, + "min":1 + }, + "RoutingProfileSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"RoutingProfileId", + "documentation":"

The identifier of the routing profile.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the routing profile.

" + }, + "Name":{ + "shape":"RoutingProfileName", + "documentation":"

The name of the routing profile.

" + } + }, + "documentation":"

Contains summary information about a routing profile.

" + }, + "RoutingProfileSummaryList":{ + "type":"list", + "member":{"shape":"RoutingProfileSummary"} + }, + "SecurityProfileId":{"type":"string"}, + "SecurityProfileIds":{ + "type":"list", + "member":{"shape":"SecurityProfileId"}, + "max":10, + "min":1 + }, + "SecurityProfileName":{"type":"string"}, + "SecurityProfileSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"SecurityProfileId", + "documentation":"

The identifier of the security profile.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the security profile.

" + }, + "Name":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile.

" + } + }, + "documentation":"

Contains information about a security profile.

" + }, + "SecurityProfileSummaryList":{ + "type":"list", + "member":{"shape":"SecurityProfileSummary"} + }, + "SecurityToken":{ + "type":"string", + "sensitive":true + }, + "StartChatContactRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ContactFlowId", + "ParticipantDetails" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

" + }, + "ContactFlowId":{ + "shape":"ContactFlowId", + "documentation":"

The identifier of the contact flow for the chat.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

" + }, + "ParticipantDetails":{ + "shape":"ParticipantDetails", + "documentation":"

Information identifying the participant.

" + }, + "InitialMessage":{ + "shape":"ChatMessage", + "documentation":"

The initial message to be sent to the newly created chat.

" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "StartChatContactResponse":{ + "type":"structure", + "members":{ + "ContactId":{ + "shape":"ContactId", + "documentation":"

The identifier of this contact within the Amazon Connect instance.

" + }, + "ParticipantId":{ + "shape":"ParticipantId", + "documentation":"

The identifier for a chat participant. The participantId for a chat participant is the same throughout the chat lifecycle.

" + }, + "ParticipantToken":{ + "shape":"ParticipantToken", + "documentation":"

The token used by the chat participant to call CreateParticipantConnection. The participant token is valid for the lifetime of a chat participant.

" + } + } + }, + "StartOutboundVoiceContactRequest":{ + "type":"structure", + "required":[ + "DestinationPhoneNumber", + "ContactFlowId", + "InstanceId" + ], + "members":{ + "DestinationPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number of the customer, in E.164 format.

" + }, + "ContactFlowId":{ + "shape":"ContactFlowId", + "documentation":"

The identifier of the contact flow for the outbound call.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned. If the contact is disconnected, a new contact is started.

", + "idempotencyToken":true + }, + "SourcePhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.

" + }, + "QueueId":{ + "shape":"QueueId", + "documentation":"

The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in contact flows just like any other contact attributes.

There can be up to 32,768 UTF-8 bytes across all key-value pairs per contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

" + } + } + }, + "StartOutboundVoiceContactResponse":{ + "type":"structure", + "members":{ + "ContactId":{ + "shape":"ContactId", + "documentation":"

The identifier of this contact within the Amazon Connect instance.

" + } + } + }, + "Statistic":{ + "type":"string", + "enum":[ + "SUM", + "MAX", + "AVG" + ] + }, + "StopContactRequest":{ + "type":"structure", + "required":[ + "ContactId", + "InstanceId" + ], + "members":{ + "ContactId":{ + "shape":"ContactId", + "documentation":"

The ID of the contact.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

" + } + } + }, + "StopContactResponse":{ + "type":"structure", + "members":{ + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Threshold":{ + "type":"structure", + "members":{ + "Comparison":{ + "shape":"Comparison", + "documentation":"

The type of comparison. Only \"less than\" (LT) comparisons are supported.

" + }, + "ThresholdValue":{ + "shape":"ThresholdValue", + "documentation":"

The threshold value to compare.

", + "box":true + } + }, + "documentation":"

Contains information about the threshold for service level metrics.

" + }, + "ThresholdValue":{"type":"double"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The throttling limit has been exceeded.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Unit":{ + "type":"string", + "enum":[ + "SECONDS", + "COUNT", + "PERCENT" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateContactAttributesRequest":{ + "type":"structure", + "required":[ + "InitialContactId", + "InstanceId", + "Attributes" + ], + "members":{ + "InitialContactId":{ + "shape":"ContactId", + "documentation":"

The identifier of the contact. This is the identifier of the contact associated with the first interaction with the contact center.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

" + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

The Amazon Connect attributes. These attributes can be accessed in contact flows just like any other contact attributes.

You can have up to 32,768 UTF-8 bytes across all attributes for a contact. Attribute keys can include only alphanumeric, dash, and underscore characters.

" + } + } + }, + "UpdateContactAttributesResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateUserHierarchyRequest":{ + "type":"structure", + "required":[ + "UserId", + "InstanceId" + ], + "members":{ + "HierarchyGroupId":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserIdentityInfoRequest":{ + "type":"structure", + "required":[ + "IdentityInfo", + "UserId", + "InstanceId" + ], + "members":{ + "IdentityInfo":{ + "shape":"UserIdentityInfo", + "documentation":"

The identity information for the user.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserPhoneConfigRequest":{ + "type":"structure", + "required":[ + "PhoneConfig", + "UserId", + "InstanceId" + ], + "members":{ + "PhoneConfig":{ + "shape":"UserPhoneConfig", + "documentation":"

Information about phone configuration settings for the user.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserRoutingProfileRequest":{ + "type":"structure", + "required":[ + "RoutingProfileId", + "UserId", + "InstanceId" + ], + "members":{ + "RoutingProfileId":{ + "shape":"RoutingProfileId", + "documentation":"

The identifier of the routing profile for the user.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "UpdateUserSecurityProfilesRequest":{ + "type":"structure", + "required":[ + "SecurityProfileIds", + "UserId", + "InstanceId" + ], + "members":{ + "SecurityProfileIds":{ + "shape":"SecurityProfileIds", + "documentation":"

The identifiers of the security profiles for the user.

" + }, + "UserId":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

", + "location":"uri", + "locationName":"UserId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The identifier of the Amazon Connect instance.

", + "location":"uri", + "locationName":"InstanceId" + } + } + }, + "User":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the user account.

" + }, + "Username":{ + "shape":"AgentUsername", + "documentation":"

The user name assigned to the user account.

" + }, + "IdentityInfo":{ + "shape":"UserIdentityInfo", + "documentation":"

Information about the user identity.

" + }, + "PhoneConfig":{ + "shape":"UserPhoneConfig", + "documentation":"

Information about the phone configuration for the user.

" + }, + "DirectoryUserId":{ + "shape":"DirectoryUserId", + "documentation":"

The identifier of the user account in the directory used for identity management.

" + }, + "SecurityProfileIds":{ + "shape":"SecurityProfileIds", + "documentation":"

The identifiers of the security profiles for the user.

" + }, + "RoutingProfileId":{ + "shape":"RoutingProfileId", + "documentation":"

The identifier of the routing profile for the user.

" + }, + "HierarchyGroupId":{ + "shape":"HierarchyGroupId", + "documentation":"

The identifier of the hierarchy group for the user.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags.

" + } + }, + "documentation":"

Contains information about a user account for a Amazon Connect instance.

" + }, + "UserId":{"type":"string"}, + "UserIdentityInfo":{ + "type":"structure", + "members":{ + "FirstName":{ + "shape":"AgentFirstName", + "documentation":"

The first name. This is required if you are using Amazon Connect or SAML for identity management.

" + }, + "LastName":{ + "shape":"AgentLastName", + "documentation":"

The last name. This is required if you are using Amazon Connect or SAML for identity management.

" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address. If you are using SAML for identity management and include this parameter, an error is returned.

" + } + }, + "documentation":"

Contains information about the identity of a user.

" + }, + "UserNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

No user with the specified credentials was found in the Amazon Connect instance.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "UserPhoneConfig":{ + "type":"structure", + "required":["PhoneType"], + "members":{ + "PhoneType":{ + "shape":"PhoneType", + "documentation":"

The phone type.

" + }, + "AutoAccept":{ + "shape":"AutoAccept", + "documentation":"

The Auto accept setting.

" + }, + "AfterContactWorkTimeLimit":{ + "shape":"AfterContactWorkTimeLimit", + "documentation":"

The After Call Work (ACW) timeout setting, in seconds.

" + }, + "DeskPhoneNumber":{ + "shape":"PhoneNumber", + "documentation":"

The phone number for the user's desk phone.

" + } + }, + "documentation":"

Contains information about the phone configuration settings for a user.

" + }, + "UserSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"UserId", + "documentation":"

The identifier of the user account.

" + }, + "Arn":{ + "shape":"ARN", + "documentation":"

The Amazon Resource Name (ARN) of the user account.

" + }, + "Username":{ + "shape":"AgentUsername", + "documentation":"

The Amazon Connect user name of the user account.

" + } + }, + "documentation":"

Contains summary information about a user.

" + }, + "UserSummaryList":{ + "type":"list", + "member":{"shape":"UserSummary"} + }, + "Value":{"type":"double"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"

Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect provides rich metrics and real-time reporting that allow you to optimize contact routing. You can also resolve customer issues more efficiently by putting customers in touch with the right agents.

There are limits to the number of Amazon Connect resources that you can create and limits to the number of requests that you can make per second. For more information, see Amazon Connect Service Limits in the Amazon Connect Administrator Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/connectparticipant/2018-09-07/paginators-1.json python-botocore-1.16.19+repack/botocore/data/connectparticipant/2018-09-07/paginators-1.json --- python-botocore-1.4.70/botocore/data/connectparticipant/2018-09-07/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/connectparticipant/2018-09-07/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/connectparticipant/2018-09-07/service-2.json python-botocore-1.16.19+repack/botocore/data/connectparticipant/2018-09-07/service-2.json --- python-botocore-1.4.70/botocore/data/connectparticipant/2018-09-07/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/connectparticipant/2018-09-07/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,533 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-07", + "endpointPrefix":"participant.connect", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon Connect Participant", + "serviceFullName":"Amazon Connect Participant Service", + "serviceId":"ConnectParticipant", + "signatureVersion":"v4", + "signingName":"execute-api", + "uid":"connectparticipant-2018-09-07" + }, + "operations":{ + "CreateParticipantConnection":{ + "name":"CreateParticipantConnection", + "http":{ + "method":"POST", + "requestUri":"/participant/connection" + }, + "input":{"shape":"CreateParticipantConnectionRequest"}, + "output":{"shape":"CreateParticipantConnectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of ConnectionToken.

The participant token is valid for the lifetime of the participant – until the they are part of a contact.

The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. Clients must manually connect to the returned websocket URL and subscribe to the desired topic.

For chat, you need to publish the following on the established websocket connection:

{\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}

Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, clients need to call this API again to obtain a new websocket URL and perform the same steps as before.

" + }, + "DisconnectParticipant":{ + "name":"DisconnectParticipant", + "http":{ + "method":"POST", + "requestUri":"/participant/disconnect" + }, + "input":{"shape":"DisconnectParticipantRequest"}, + "output":{"shape":"DisconnectParticipantResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Disconnects a participant. Note that ConnectionToken is used for invoking this API instead of ParticipantToken.

" + }, + "GetTranscript":{ + "name":"GetTranscript", + "http":{ + "method":"POST", + "requestUri":"/participant/transcript" + }, + "input":{"shape":"GetTranscriptRequest"}, + "output":{"shape":"GetTranscriptResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieves a transcript of the session. Note that ConnectionToken is used for invoking this API instead of ParticipantToken.

" + }, + "SendEvent":{ + "name":"SendEvent", + "http":{ + "method":"POST", + "requestUri":"/participant/event" + }, + "input":{"shape":"SendEventRequest"}, + "output":{"shape":"SendEventResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Sends an event. Note that ConnectionToken is used for invoking this API instead of ParticipantToken.

" + }, + "SendMessage":{ + "name":"SendMessage", + "http":{ + "method":"POST", + "requestUri":"/participant/message" + }, + "input":{"shape":"SendMessageRequest"}, + "output":{"shape":"SendMessageResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Sends a message. Note that ConnectionToken is used for invoking this API instead of ParticipantToken.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ChatContent":{ + "type":"string", + "max":1024, + "min":1 + }, + "ChatContentType":{ + "type":"string", + "max":100, + "min":1 + }, + "ChatItemId":{ + "type":"string", + "max":256, + "min":1 + }, + "ChatItemType":{ + "type":"string", + "enum":[ + "MESSAGE", + "EVENT", + "CONNECTION_ACK" + ] + }, + "ClientToken":{ + "type":"string", + "max":500 + }, + "ConnectionCredentials":{ + "type":"structure", + "members":{ + "ConnectionToken":{ + "shape":"ParticipantToken", + "documentation":"

The connection token.

" + }, + "Expiry":{ + "shape":"ISO8601Datetime", + "documentation":"

The expiration of the token.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + } + }, + "documentation":"

Connection credentials.

" + }, + "ConnectionType":{ + "type":"string", + "enum":[ + "WEBSOCKET", + "CONNECTION_CREDENTIALS" + ] + }, + "ConnectionTypeList":{ + "type":"list", + "member":{"shape":"ConnectionType"}, + "min":1 + }, + "ContactId":{ + "type":"string", + "max":256, + "min":1 + }, + "CreateParticipantConnectionRequest":{ + "type":"structure", + "required":[ + "Type", + "ParticipantToken" + ], + "members":{ + "Type":{ + "shape":"ConnectionTypeList", + "documentation":"

Type of connection information required.

" + }, + "ParticipantToken":{ + "shape":"ParticipantToken", + "documentation":"

Participant Token as obtained from StartChatContact API response.

", + "location":"header", + "locationName":"X-Amz-Bearer" + } + } + }, + "CreateParticipantConnectionResponse":{ + "type":"structure", + "members":{ + "Websocket":{ + "shape":"Websocket", + "documentation":"

Creates the participant's websocket connection.

" + }, + "ConnectionCredentials":{ + "shape":"ConnectionCredentials", + "documentation":"

Creates the participant's connection credentials. The authentication token associated with the participant's connection.

" + } + } + }, + "DisconnectParticipantRequest":{ + "type":"structure", + "required":["ConnectionToken"], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "ConnectionToken":{ + "shape":"ParticipantToken", + "documentation":"

The authentication token associated with the participant's connection.

", + "location":"header", + "locationName":"X-Amz-Bearer" + } + } + }, + "DisconnectParticipantResponse":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":256, + "min":1 + }, + "GetTranscriptRequest":{ + "type":"structure", + "required":["ConnectionToken"], + "members":{ + "ContactId":{ + "shape":"ContactId", + "documentation":"

The contactId from the current contact chain for which transcript is needed.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the page. Default: 10.

", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token. Use the value returned previously in the next subsequent request to retrieve the next set of results.

" + }, + "ScanDirection":{ + "shape":"ScanDirection", + "documentation":"

The direction from StartPosition from which to retrieve message. Default: BACKWARD when no StartPosition is provided, FORWARD with StartPosition.

" + }, + "SortOrder":{ + "shape":"SortKey", + "documentation":"

The sort order for the records. Default: DESCENDING.

" + }, + "StartPosition":{ + "shape":"StartPosition", + "documentation":"

A filtering option for where to start.

" + }, + "ConnectionToken":{ + "shape":"ParticipantToken", + "documentation":"

The authentication token associated with the participant's connection.

", + "location":"header", + "locationName":"X-Amz-Bearer" + } + } + }, + "GetTranscriptResponse":{ + "type":"structure", + "members":{ + "InitialContactId":{ + "shape":"ContactId", + "documentation":"

The initial contact ID for the contact.

" + }, + "Transcript":{ + "shape":"Transcript", + "documentation":"

The list of messages in the session.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The pagination token. Use the value returned previously in the next subsequent request to retrieve the next set of results.

" + } + } + }, + "ISO8601Datetime":{"type":"string"}, + "Instant":{ + "type":"string", + "max":100, + "min":1 + }, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

This exception occurs when there is an internal failure in the Amazon Connect service.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Item":{ + "type":"structure", + "members":{ + "AbsoluteTime":{ + "shape":"Instant", + "documentation":"

The time when the message or event was sent.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + }, + "Content":{ + "shape":"ChatContent", + "documentation":"

The content of the message or event.

" + }, + "ContentType":{ + "shape":"ChatContentType", + "documentation":"

The type of content of the item.

" + }, + "Id":{ + "shape":"ChatItemId", + "documentation":"

The ID of the item.

" + }, + "Type":{ + "shape":"ChatItemType", + "documentation":"

Type of the item: message or event.

" + }, + "ParticipantId":{ + "shape":"ParticipantId", + "documentation":"

The ID of the sender in the session.

" + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

The chat display name of the sender.

" + }, + "ParticipantRole":{ + "shape":"ParticipantRole", + "documentation":"

The role of the sender. For example, is it a customer, agent, or system.

" + } + }, + "documentation":"

An item - message or event - that has been sent.

" + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":0 + }, + "Message":{"type":"string"}, + "MostRecent":{ + "type":"integer", + "max":100, + "min":0 + }, + "NextToken":{ + "type":"string", + "max":1000, + "min":1 + }, + "ParticipantId":{ + "type":"string", + "max":256, + "min":1 + }, + "ParticipantRole":{ + "type":"string", + "enum":[ + "AGENT", + "CUSTOMER", + "SYSTEM" + ] + }, + "ParticipantToken":{ + "type":"string", + "max":1000, + "min":1 + }, + "PreSignedConnectionUrl":{ + "type":"string", + "max":2000, + "min":1 + }, + "Reason":{ + "type":"string", + "max":2000, + "min":1 + }, + "ScanDirection":{ + "type":"string", + "enum":[ + "FORWARD", + "BACKWARD" + ] + }, + "SendEventRequest":{ + "type":"structure", + "required":[ + "ContentType", + "ConnectionToken" + ], + "members":{ + "ContentType":{ + "shape":"ChatContentType", + "documentation":"

The content type of the request. Supported types are:

  • application/vnd.amazonaws.connect.event.typing

  • application/vnd.amazonaws.connect.event.connection.acknowledged

" + }, + "Content":{ + "shape":"ChatContent", + "documentation":"

The content of the event to be sent (for example, message text). This is not yet supported.

" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "ConnectionToken":{ + "shape":"ParticipantToken", + "documentation":"

The authentication token associated with the participant's connection.

", + "location":"header", + "locationName":"X-Amz-Bearer" + } + } + }, + "SendEventResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ChatItemId", + "documentation":"

The ID of the response.

" + }, + "AbsoluteTime":{ + "shape":"Instant", + "documentation":"

The time when the event was sent.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + } + } + }, + "SendMessageRequest":{ + "type":"structure", + "required":[ + "ContentType", + "Content", + "ConnectionToken" + ], + "members":{ + "ContentType":{ + "shape":"ChatContentType", + "documentation":"

The type of the content. Supported types are text/plain.

" + }, + "Content":{ + "shape":"ChatContent", + "documentation":"

The content of the message.

" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "ConnectionToken":{ + "shape":"ParticipantToken", + "documentation":"

The authentication token associated with the connection.

", + "location":"header", + "locationName":"X-Amz-Bearer" + } + } + }, + "SendMessageResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ChatItemId", + "documentation":"

The ID of the message.

" + }, + "AbsoluteTime":{ + "shape":"Instant", + "documentation":"

The time when the message was sent.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + } + } + }, + "SortKey":{ + "type":"string", + "enum":[ + "DESCENDING", + "ASCENDING" + ] + }, + "StartPosition":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ChatItemId", + "documentation":"

The ID of the message or event where to start.

" + }, + "AbsoluteTime":{ + "shape":"Instant", + "documentation":"

The time in ISO format where to start.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + }, + "MostRecent":{ + "shape":"MostRecent", + "documentation":"

The start position of the most recent message where you want to start.

" + } + }, + "documentation":"

A filtering option for where to start. For example, if you sent 100 messages, start with message 50.

" + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Transcript":{ + "type":"list", + "member":{"shape":"Item"} + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Reason"} + }, + "documentation":"

The input fails to satisfy the constraints specified by Amazon Connect.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Websocket":{ + "type":"structure", + "members":{ + "Url":{ + "shape":"PreSignedConnectionUrl", + "documentation":"

The URL of the websocket.

" + }, + "ConnectionExpiry":{ + "shape":"ISO8601Datetime", + "documentation":"

The URL expiration timestamp in ISO date format.

It's specified in ISO 8601 format: yyyy-MM-ddThh:mm:ss.SSSZ. For example, 2019-11-08T02:41:28.172Z.

" + } + }, + "documentation":"

The websocket for the participant's connection.

" + } + }, + "documentation":"

Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage a customer contact center and provide reliable customer engagement at any scale.

Amazon Connect enables customer contacts through voice or chat.

The APIs described here are used by chat participants, such as agents and customers.

" +} diff -Nru python-botocore-1.4.70/botocore/data/cur/2017-01-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/examples-1.json --- python-botocore-1.4.70/botocore/data/cur/2017-01-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/cur/2017-01-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/cur/2017-01-06/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "DescribeReportDefinitions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ReportDefinitions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/cur/2017-01-06/service-2.json python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/service-2.json --- python-botocore-1.4.70/botocore/data/cur/2017-01-06/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/cur/2017-01-06/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,333 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-06", + "endpointPrefix":"cur", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Cost and Usage Report Service", + "serviceId":"Cost and Usage Report Service", + "signatureVersion":"v4", + "signingName":"cur", + "targetPrefix":"AWSOrigamiServiceGatewayService", + "uid":"cur-2017-01-06" + }, + "operations":{ + "DeleteReportDefinition":{ + "name":"DeleteReportDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteReportDefinitionRequest"}, + "output":{"shape":"DeleteReportDefinitionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Deletes the specified report.

" + }, + "DescribeReportDefinitions":{ + "name":"DescribeReportDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReportDefinitionsRequest"}, + "output":{"shape":"DescribeReportDefinitionsResponse"}, + "errors":[ + {"shape":"InternalErrorException"} + ], + "documentation":"

Lists the AWS Cost and Usage reports available to this account.

" + }, + "ModifyReportDefinition":{ + "name":"ModifyReportDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyReportDefinitionRequest"}, + "output":{"shape":"ModifyReportDefinitionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Allows you to programatically update your report preferences.

" + }, + "PutReportDefinition":{ + "name":"PutReportDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutReportDefinitionRequest"}, + "output":{"shape":"PutReportDefinitionResponse"}, + "errors":[ + {"shape":"DuplicateReportNameException"}, + {"shape":"ReportLimitReachedException"}, + {"shape":"InternalErrorException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates a new report using the description that you provide.

" + } + }, + "shapes":{ + "AWSRegion":{ + "type":"string", + "documentation":"

The region of the S3 bucket that AWS delivers the report into.

", + "enum":[ + "us-east-1", + "us-west-1", + "us-west-2", + "eu-central-1", + "eu-west-1", + "ap-southeast-1", + "ap-southeast-2", + "ap-northeast-1", + "eu-north-1", + "ap-northeast-3", + "ap-east-1" + ] + }, + "AdditionalArtifact":{ + "type":"string", + "documentation":"

The types of manifest that you want AWS to create for this report.

", + "enum":[ + "REDSHIFT", + "QUICKSIGHT", + "ATHENA" + ] + }, + "AdditionalArtifactList":{ + "type":"list", + "member":{"shape":"AdditionalArtifact"}, + "documentation":"

A list of additional artifacts.

" + }, + "CompressionFormat":{ + "type":"string", + "documentation":"

The compression format that AWS uses for the report.

", + "enum":[ + "ZIP", + "GZIP", + "Parquet" + ] + }, + "DeleteReportDefinitionRequest":{ + "type":"structure", + "members":{ + "ReportName":{"shape":"ReportName"} + }, + "documentation":"

Deletes the specified report.

" + }, + "DeleteReportDefinitionResponse":{ + "type":"structure", + "members":{ + "ResponseMessage":{"shape":"DeleteResponseMessage"} + }, + "documentation":"

If the action is successful, the service sends back an HTTP 200 response.

" + }, + "DeleteResponseMessage":{ + "type":"string", + "documentation":"

Whether the deletion was successful or not.

" + }, + "DescribeReportDefinitionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"GenericString"} + }, + "documentation":"

Requests a list of AWS Cost and Usage reports owned by the account.

" + }, + "DescribeReportDefinitionsResponse":{ + "type":"structure", + "members":{ + "ReportDefinitions":{ + "shape":"ReportDefinitionList", + "documentation":"

A list of AWS Cost and Usage reports owned by the account.

" + }, + "NextToken":{"shape":"GenericString"} + }, + "documentation":"

If the action is successful, the service sends back an HTTP 200 response.

" + }, + "DuplicateReportNameException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A report with the specified name already exists in the account. Specify a different report name.

", + "exception":true + }, + "ErrorMessage":{ + "type":"string", + "documentation":"

A message to show the detail of the exception.

" + }, + "GenericString":{ + "type":"string", + "documentation":"

A generic string.

" + }, + "InternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An error on the server occurred during the processing of your request. Try again later.

", + "exception":true, + "fault":true + }, + "MaxResults":{ + "type":"integer", + "documentation":"

The maximum number of results that AWS returns for the operation.

", + "box":true, + "max":5, + "min":5 + }, + "ModifyReportDefinitionRequest":{ + "type":"structure", + "required":[ + "ReportName", + "ReportDefinition" + ], + "members":{ + "ReportName":{"shape":"ReportName"}, + "ReportDefinition":{"shape":"ReportDefinition"} + } + }, + "ModifyReportDefinitionResponse":{ + "type":"structure", + "members":{ + } + }, + "PutReportDefinitionRequest":{ + "type":"structure", + "required":["ReportDefinition"], + "members":{ + "ReportDefinition":{ + "shape":"ReportDefinition", + "documentation":"

Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.

" + } + }, + "documentation":"

Creates a Cost and Usage Report.

" + }, + "PutReportDefinitionResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

" + }, + "RefreshClosedReports":{ + "type":"boolean", + "box":true + }, + "ReportDefinition":{ + "type":"structure", + "required":[ + "ReportName", + "TimeUnit", + "Format", + "Compression", + "AdditionalSchemaElements", + "S3Bucket", + "S3Prefix", + "S3Region" + ], + "members":{ + "ReportName":{"shape":"ReportName"}, + "TimeUnit":{"shape":"TimeUnit"}, + "Format":{"shape":"ReportFormat"}, + "Compression":{"shape":"CompressionFormat"}, + "AdditionalSchemaElements":{ + "shape":"SchemaElementList", + "documentation":"

A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

" + }, + "S3Bucket":{"shape":"S3Bucket"}, + "S3Prefix":{"shape":"S3Prefix"}, + "S3Region":{"shape":"AWSRegion"}, + "AdditionalArtifacts":{ + "shape":"AdditionalArtifactList", + "documentation":"

A list of manifests that you want Amazon Web Services to create for this report.

" + }, + "RefreshClosedReports":{ + "shape":"RefreshClosedReports", + "documentation":"

Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.

" + }, + "ReportVersioning":{ + "shape":"ReportVersioning", + "documentation":"

Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.

" + } + }, + "documentation":"

The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.

" + }, + "ReportDefinitionList":{ + "type":"list", + "member":{"shape":"ReportDefinition"}, + "documentation":"

A list of report definitions.

" + }, + "ReportFormat":{ + "type":"string", + "documentation":"

The format that AWS saves the report in.

", + "enum":[ + "textORcsv", + "Parquet" + ] + }, + "ReportLimitReachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

This account already has five reports defined. To define a new report, you must delete an existing report.

", + "exception":true + }, + "ReportName":{ + "type":"string", + "documentation":"

The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

", + "max":256, + "pattern":"[0-9A-Za-z!\\-_.*\\'()]+" + }, + "ReportVersioning":{ + "type":"string", + "enum":[ + "CREATE_NEW_REPORT", + "OVERWRITE_REPORT" + ] + }, + "S3Bucket":{ + "type":"string", + "documentation":"

The S3 bucket where AWS delivers the report.

", + "max":256 + }, + "S3Prefix":{ + "type":"string", + "documentation":"

The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can't include spaces.

", + "max":256, + "pattern":"[0-9A-Za-z!\\-_.*\\'()/]*" + }, + "SchemaElement":{ + "type":"string", + "documentation":"

Whether or not AWS includes resource IDs in the report.

", + "enum":["RESOURCES"] + }, + "SchemaElementList":{ + "type":"list", + "member":{"shape":"SchemaElement"}, + "documentation":"

A list of strings that indicate the content that is included in the report, such as service or usage type.

" + }, + "TimeUnit":{ + "type":"string", + "documentation":"

The length of time covered by the report.

", + "enum":[ + "HOURLY", + "DAILY" + ] + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The input fails to satisfy the constraints specified by an AWS service.

", + "exception":true + } + }, + "documentation":"

The AWS Cost and Usage Report API enables you to programmatically create, query, and delete AWS Cost and Usage report definitions.

AWS Cost and Usage reports track the monthly AWS costs and usage associated with your AWS account. The report contains line items for each unique combination of AWS product, usage type, and operation that your AWS account uses. You can configure the AWS Cost and Usage report to show only the data that you want, using the AWS Cost and Usage API.

Service Endpoint

The AWS Cost and Usage Report API provides the following endpoint:

  • cur.us-east-1.amazonaws.com

" +} diff -Nru python-botocore-1.4.70/botocore/data/dataexchange/2017-07-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dataexchange/2017-07-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/dataexchange/2017-07-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dataexchange/2017-07-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListDataSetRevisions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Revisions" + }, + "ListDataSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "DataSets" + }, + "ListJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Jobs" + }, + "ListRevisionAssets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Assets" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/dataexchange/2017-07-25/service-2.json python-botocore-1.16.19+repack/botocore/data/dataexchange/2017-07-25/service-2.json --- python-botocore-1.4.70/botocore/data/dataexchange/2017-07-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dataexchange/2017-07-25/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,2712 @@ +{ + "metadata": { + "apiVersion": "2017-07-25", + "endpointPrefix": "dataexchange", + "signingName": "dataexchange", + "serviceFullName": "AWS Data Exchange", + "serviceId": "DataExchange", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "dataexchange-2017-07-25", + "signatureVersion": "v4" + }, + "operations": { + "CancelJob": { + "name": "CancelJob", + "http": { + "method": "DELETE", + "requestUri": "/v1/jobs/{JobId}", + "responseCode": 204 + }, + "input": { + "shape": "CancelJobRequest" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation cancels a job. Jobs can be cancelled only when they are in the WAITING state.

" + }, + "CreateDataSet": { + "name": "CreateDataSet", + "http": { + "method": "POST", + "requestUri": "/v1/data-sets", + "responseCode": 201 + }, + "input": { + "shape": "CreateDataSetRequest" + }, + "output": { + "shape": "CreateDataSetResponse", + "documentation": "

201 response

" + }, + "errors": [ + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "ServiceLimitExceededException", + "documentation": "

402 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + } + ], + "documentation": "

This operation creates a data set.

" + }, + "CreateJob": { + "name": "CreateJob", + "http": { + "method": "POST", + "requestUri": "/v1/jobs", + "responseCode": 201 + }, + "input": { + "shape": "CreateJobRequest" + }, + "output": { + "shape": "CreateJobResponse", + "documentation": "

201 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + } + ], + "documentation": "

This operation creates a job.

" + }, + "CreateRevision": { + "name": "CreateRevision", + "http": { + "method": "POST", + "requestUri": "/v1/data-sets/{DataSetId}/revisions", + "responseCode": 201 + }, + "input": { + "shape": "CreateRevisionRequest" + }, + "output": { + "shape": "CreateRevisionResponse", + "documentation": "

201 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + } + ], + "documentation": "

This operation creates a revision for a data set.

" + }, + "DeleteAsset": { + "name": "DeleteAsset", + "http": { + "method": "DELETE", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteAssetRequest" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation deletes an asset.

" + }, + "DeleteDataSet": { + "name": "DeleteDataSet", + "http": { + "method": "DELETE", + "requestUri": "/v1/data-sets/{DataSetId}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteDataSetRequest" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation deletes a data set.

" + }, + "DeleteRevision": { + "name": "DeleteRevision", + "http": { + "method": "DELETE", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteRevisionRequest" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation deletes a revision.

" + }, + "GetAsset": { + "name": "GetAsset", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "responseCode": 200 + }, + "input": { + "shape": "GetAssetRequest" + }, + "output": { + "shape": "GetAssetResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation returns information about an asset.

" + }, + "GetDataSet": { + "name": "GetDataSet", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets/{DataSetId}", + "responseCode": 200 + }, + "input": { + "shape": "GetDataSetRequest" + }, + "output": { + "shape": "GetDataSetResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation returns information about a data set.

" + }, + "GetJob": { + "name": "GetJob", + "http": { + "method": "GET", + "requestUri": "/v1/jobs/{JobId}", + "responseCode": 200 + }, + "input": { + "shape": "GetJobRequest" + }, + "output": { + "shape": "GetJobResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation returns information about a job.

" + }, + "GetRevision": { + "name": "GetRevision", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "responseCode": 200 + }, + "input": { + "shape": "GetRevisionRequest" + }, + "output": { + "shape": "GetRevisionResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation returns information about a revision.

" + }, + "ListDataSetRevisions": { + "name": "ListDataSetRevisions", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets/{DataSetId}/revisions", + "responseCode": 200 + }, + "input": { + "shape": "ListDataSetRevisionsRequest" + }, + "output": { + "shape": "ListDataSetRevisionsResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation lists a data set's revisions sorted by CreatedAt in descending order.

" + }, + "ListDataSets": { + "name": "ListDataSets", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets", + "responseCode": 200 + }, + "input": { + "shape": "ListDataSetsRequest" + }, + "output": { + "shape": "ListDataSetsResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation lists your data sets. When listing by origin OWNED, results are sorted by CreatedAt in descending order. When listing by origin ENTITLED, there is no order and the maxResults parameter is ignored.

" + }, + "ListJobs": { + "name": "ListJobs", + "http": { + "method": "GET", + "requestUri": "/v1/jobs", + "responseCode": 200 + }, + "input": { + "shape": "ListJobsRequest" + }, + "output": { + "shape": "ListJobsResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation lists your jobs sorted by CreatedAt in descending order.

" + }, + "ListRevisionAssets": { + "name": "ListRevisionAssets", + "http": { + "method": "GET", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets", + "responseCode": 200 + }, + "input": { + "shape": "ListRevisionAssetsRequest" + }, + "output": { + "shape": "ListRevisionAssetsResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + } + ], + "documentation": "

This operation lists a revision's assets sorted alphabetically in descending order.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "

200 response

" + }, + "errors": [], + "documentation": "

This operation lists the tags on the resource.

" + }, + "StartJob": { + "name": "StartJob", + "http": { + "method": "PATCH", + "requestUri": "/v1/jobs/{JobId}", + "responseCode": 202 + }, + "input": { + "shape": "StartJobRequest" + }, + "output": { + "shape": "StartJobResponse", + "documentation": "

202 response

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation starts a job.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [], + "documentation": "

This operation tags a resource.

" + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [], + "documentation": "

This operation removes one or more tags from a resource.

" + }, + "UpdateAsset": { + "name": "UpdateAsset", + "http": { + "method": "PATCH", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateAssetRequest" + }, + "output": { + "shape": "UpdateAssetResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation updates an asset.

" + }, + "UpdateDataSet": { + "name": "UpdateDataSet", + "http": { + "method": "PATCH", + "requestUri": "/v1/data-sets/{DataSetId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateDataSetRequest" + }, + "output": { + "shape": "UpdateDataSetResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + } + ], + "documentation": "

This operation updates a data set.

" + }, + "UpdateRevision": { + "name": "UpdateRevision", + "http": { + "method": "PATCH", + "requestUri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRevisionRequest" + }, + "output": { + "shape": "UpdateRevisionResponse", + "documentation": "

200 response

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

400 response

" + }, + { + "shape": "InternalServerException", + "documentation": "

500 response

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

403 response

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

404 response

" + }, + { + "shape": "ThrottlingException", + "documentation": "

429 response

" + }, + { + "shape": "ConflictException", + "documentation": "

409 response

" + } + ], + "documentation": "

This operation updates a revision.

" + } + }, + "shapes": { + "AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

Access to the resource is denied.

" + } + }, + "documentation": "

Access to the resource is denied.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "Arn": { + "type": "string", + "documentation": "

An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.

" + }, + "AssetDestinationEntry": { + "type": "structure", + "members": { + "AssetId": { + "shape": "Id", + "documentation": "

The unique identifier for the asset.

" + }, + "Bucket": { + "shape": "__string", + "documentation": "

The S3 bucket that is the destination for the asset.

" + }, + "Key": { + "shape": "__string", + "documentation": "

The name of the object in Amazon S3 for the asset.

" + } + }, + "documentation": "

The destination for the asset.

", + "required": [ + "Bucket", + "AssetId" + ] + }, + "AssetDetails": { + "type": "structure", + "members": { + "S3SnapshotAsset": { + "shape": "S3SnapshotAsset" + } + } + }, + "AssetEntry": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the asset.

" + }, + "AssetDetails": { + "shape": "AssetDetails", + "documentation": "

Information about the asset, including its size.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this asset.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the asset.

" + }, + "Name": { + "shape": "AssetName", + "documentation": "

The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this asset.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was last updated, in ISO 8601 format.

" + } + }, + "documentation": "

An asset in AWS Data Exchange is a piece of data that can be stored as an S3 object. The asset can be a structured data file, an image file, or some other data file. When you create an import job for your files, you create an asset in AWS Data Exchange for each of those files.

", + "required": [ + "AssetType", + "CreatedAt", + "DataSetId", + "Id", + "Arn", + "AssetDetails", + "UpdatedAt", + "RevisionId", + "Name" + ] + }, + "AssetName": { + "type": "string", + "documentation": "

The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

" + }, + "AssetSourceEntry": { + "type": "structure", + "members": { + "Bucket": { + "shape": "__string", + "documentation": "

The S3 bucket that's part of the source of the asset.

" + }, + "Key": { + "shape": "__string", + "documentation": "

The name of the object in Amazon S3 for the asset.

" + } + }, + "documentation": "

The source of the assets.

", + "required": [ + "Bucket", + "Key" + ] + }, + "AssetType": { + "type": "string", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

", + "enum": [ + "S3_SNAPSHOT" + ] + }, + "CancelJobRequest": { + "type": "structure", + "members": { + "JobId": { + "shape": "__string", + "location": "uri", + "locationName": "JobId", + "documentation": "

The unique identifier for a job.

" + } + }, + "required": [ + "JobId" + ] + }, + "Code": { + "type": "string", + "enum": [ + "ACCESS_DENIED_EXCEPTION", + "INTERNAL_SERVER_EXCEPTION", + "MALWARE_DETECTED", + "RESOURCE_NOT_FOUND_EXCEPTION", + "SERVICE_QUOTA_EXCEEDED_EXCEPTION", + "VALIDATION_EXCEPTION", + "MALWARE_SCAN_ENCRYPTED_FILE" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

The request couldn't be completed because it conflicted with the current state of the resource.

" + }, + "ResourceId": { + "shape": "__string", + "documentation": "

The unique identifier for the resource with the conflict.

" + }, + "ResourceType": { + "shape": "ResourceType", + "documentation": "

The type of the resource with the conflict.

" + } + }, + "documentation": "

The request couldn't be completed because it conflicted with the current state of the resource.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateDataSetRequest": { + "type": "structure", + "members": { + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "Description": { + "shape": "Description", + "documentation": "

A description for the data set. This value can be up to 16,348 characters long.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

A data set tag is an optional label that you can assign to a data set when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

" + } + }, + "documentation": "

The request body for CreateDataSet.

", + "required": [ + "AssetType", + "Description", + "Name" + ] + }, + "CreateDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the data set.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was created, in ISO 8601 format.

" + }, + "Description": { + "shape": "Description", + "documentation": "

The description for the data set.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the data set.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + }, + "Origin": { + "shape": "Origin", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + }, + "OriginDetails": { + "shape": "OriginDetails", + "documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

The tags for the data set.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was last updated, in ISO 8601 format.

" + } + } + }, + "CreateJobRequest": { + "type": "structure", + "members": { + "Details": { + "shape": "RequestDetails", + "documentation": "

The details for the CreateJob request.

" + }, + "Type": { + "shape": "Type", + "documentation": "

The type of job to be created.

" + } + }, + "documentation": "

The request body for CreateJob.

", + "required": [ + "Type", + "Details" + ] + }, + "CreateJobResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the job.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was created, in ISO 8601 format.

" + }, + "Details": { + "shape": "ResponseDetails", + "documentation": "

Details about the job.

" + }, + "Errors": { + "shape": "ListOfJobError", + "documentation": "

The errors associated with jobs.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the job.

" + }, + "State": { + "shape": "State", + "documentation": "

The state of the job.

" + }, + "Type": { + "shape": "Type", + "documentation": "

The job type.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was last updated, in ISO 8601 format.

" + } + } + }, + "CreateRevisionRequest": { + "type": "structure", + "members": { + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

A revision tag is an optional label that you can assign to a revision when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to these data sets and revisions.

" + } + }, + "documentation": "

The request body for CreateRevision.

", + "required": [ + "DataSetId" + ] + }, + "CreateRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the revision

" + }, + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this revision.

" + }, + "Finalized": { + "shape": "__boolean", + "documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the revision.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

The tags for the revision.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was last updated, in ISO 8601 format.

" + } + } + }, + "DataSetEntry": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the data set.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was created, in ISO 8601 format.

" + }, + "Description": { + "shape": "Description", + "documentation": "

The description for the data set.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the data set.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + }, + "Origin": { + "shape": "Origin", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + }, + "OriginDetails": { + "shape": "OriginDetails", + "documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was last updated, in ISO 8601 format.

" + } + }, + "documentation": "

A data set is an AWS resource with one or more revisions.

", + "required": [ + "Origin", + "AssetType", + "Description", + "CreatedAt", + "Id", + "Arn", + "UpdatedAt", + "Name" + ] + }, + "DeleteAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "shape": "__string", + "location": "uri", + "locationName": "AssetId", + "documentation": "

The unique identifier for an asset.

" + }, + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "required": [ + "RevisionId", + "AssetId", + "DataSetId" + ] + }, + "DeleteDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + } + }, + "required": [ + "DataSetId" + ] + }, + "DeleteRevisionRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "required": [ + "RevisionId", + "DataSetId" + ] + }, + "Description": { + "type": "string", + "documentation": "

A description of a resource.

" + }, + "Details": { + "type": "structure", + "members": { + "ImportAssetFromSignedUrlJobErrorDetails": { + "shape": "ImportAssetFromSignedUrlJobErrorDetails" + }, + "ImportAssetsFromS3JobErrorDetails": { + "shape": "ListOfAssetSourceEntry" + } + } + }, + "ExportAssetToSignedUrlRequestDetails": { + "type": "structure", + "members": { + "AssetId": { + "shape": "Id", + "documentation": "

The unique identifier for the asset that is exported to a signed URL.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this export job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this export request.

" + } + }, + "documentation": "

Details of the operation to be performed by the job.

", + "required": [ + "DataSetId", + "AssetId", + "RevisionId" + ] + }, + "ExportAssetToSignedUrlResponseDetails": { + "type": "structure", + "members": { + "AssetId": { + "shape": "Id", + "documentation": "

The unique identifier for the asset associated with this export job.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this export job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this export response.

" + }, + "SignedUrl": { + "shape": "__string", + "documentation": "

The signed URL for the export request.

" + }, + "SignedUrlExpiresAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the signed URL expires, in ISO 8601 format.

" + } + }, + "documentation": "

The details of the export to signed URL response.

", + "required": [ + "DataSetId", + "AssetId", + "RevisionId" + ] + }, + "ExportAssetsToS3RequestDetails": { + "type": "structure", + "members": { + "AssetDestinations": { + "shape": "ListOfAssetDestinationEntry", + "documentation": "

The destination for the asset.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this export job.

" + }, + "Encryption": { + "shape": "ExportServerSideEncryption", + "documentation": "

Encryption configuration for the export job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this export request.

" + } + }, + "documentation": "

Details of the operation to be performed by the job.

", + "required": [ + "AssetDestinations", + "DataSetId", + "RevisionId" + ] + }, + "ExportAssetsToS3ResponseDetails": { + "type": "structure", + "members": { + "AssetDestinations": { + "shape": "ListOfAssetDestinationEntry", + "documentation": "

The destination in Amazon S3 where the asset is exported.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this export job.

" + }, + "Encryption": { + "shape": "ExportServerSideEncryption", + "documentation": "

Encryption configuration of the export job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this export response.

" + } + }, + "documentation": "

Details about the export to Amazon S3 response.

", + "required": [ + "AssetDestinations", + "DataSetId", + "RevisionId" + ] + }, + "ExportServerSideEncryption": { + "type": "structure", + "members": { + "KmsKeyArn": { + "shape": "__string", + "documentation": "

The Amazon Resource Name (ARN) of the the AWS KMS key you want to use to encrypt the Amazon S3 objects. This parameter is required if you choose aws:kms as an encryption type.

" + }, + "Type": { + "shape": "ServerSideEncryptionTypes", + "documentation": "

The type of server side encryption used for encrypting the objects in Amazon S3.

" + } + }, + "documentation": "

Encryption configuration of the export job. Includes the encryption type as well as the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.

", + "required": [ + "Type", + "KmsKeyArn" + ] + }, + "GetAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "shape": "__string", + "location": "uri", + "locationName": "AssetId", + "documentation": "

The unique identifier for an asset.

" + }, + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "required": [ + "RevisionId", + "AssetId", + "DataSetId" + ] + }, + "GetAssetResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the asset.

" + }, + "AssetDetails": { + "shape": "AssetDetails", + "documentation": "

Information about the asset, including its size.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this asset.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the asset.

" + }, + "Name": { + "shape": "AssetName", + "documentation": "

The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this asset.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was last updated, in ISO 8601 format.

" + } + } + }, + "GetDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + } + }, + "required": [ + "DataSetId" + ] + }, + "GetDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the data set.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was created, in ISO 8601 format.

" + }, + "Description": { + "shape": "Description", + "documentation": "

The description for the data set.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the data set.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + }, + "Origin": { + "shape": "Origin", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + }, + "OriginDetails": { + "shape": "OriginDetails", + "documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

The tags for the data set.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was last updated, in ISO 8601 format.

" + } + } + }, + "GetJobRequest": { + "type": "structure", + "members": { + "JobId": { + "shape": "__string", + "location": "uri", + "locationName": "JobId", + "documentation": "

The unique identifier for a job.

" + } + }, + "required": [ + "JobId" + ] + }, + "GetJobResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the job.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was created, in ISO 8601 format.

" + }, + "Details": { + "shape": "ResponseDetails", + "documentation": "

Details about the job.

" + }, + "Errors": { + "shape": "ListOfJobError", + "documentation": "

The errors associated with jobs.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the job.

" + }, + "State": { + "shape": "State", + "documentation": "

The state of the job.

" + }, + "Type": { + "shape": "Type", + "documentation": "

The job type.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was last updated, in ISO 8601 format.

" + } + } + }, + "GetRevisionRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "required": [ + "RevisionId", + "DataSetId" + ] + }, + "GetRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the revision

" + }, + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this revision.

" + }, + "Finalized": { + "shape": "__boolean", + "documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the revision.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + }, + "Tags": { + "shape": "MapOf__string", + "documentation": "

The tags for the revision.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was last updated, in ISO 8601 format.

" + } + } + }, + "Id": { + "type": "string", + "documentation": "

A unique identifier.

" + }, + "ImportAssetFromSignedUrlJobErrorDetails": { + "type": "structure", + "members": { + "AssetName": { + "shape": "AssetName" + } + }, + "required": [ + "AssetName" + ] + }, + "ImportAssetFromSignedUrlRequestDetails": { + "type": "structure", + "members": { + "AssetName": { + "shape": "AssetName", + "documentation": "

The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this import job.

" + }, + "Md5Hash": { + "shape": "__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this import request.

" + } + }, + "documentation": "

Details of the operation to be performed by the job.

", + "required": [ + "DataSetId", + "Md5Hash", + "RevisionId", + "AssetName" + ] + }, + "ImportAssetFromSignedUrlResponseDetails": { + "type": "structure", + "members": { + "AssetName": { + "shape": "AssetName", + "documentation": "

The name for the asset associated with this import response.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this import job.

" + }, + "Md5Hash": { + "shape": "__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "documentation": "

The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at that location.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this import response.

" + }, + "SignedUrl": { + "shape": "__string", + "documentation": "

The signed URL.

" + }, + "SignedUrlExpiresAt": { + "shape": "Timestamp", + "documentation": "

The time and date at which the signed URL expires, in ISO 8601 format.

" + } + }, + "documentation": "

The details in the response for an import request, including the signed URL and other information.

", + "required": [ + "DataSetId", + "AssetName", + "RevisionId" + ] + }, + "ImportAssetsFromS3RequestDetails": { + "type": "structure", + "members": { + "AssetSources": { + "shape": "ListOfAssetSourceEntry", + "documentation": "

Is a list of S3 bucket and object key pairs.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this import job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this import request.

" + } + }, + "documentation": "

Details of the operation to be performed by the job.

", + "required": [ + "DataSetId", + "AssetSources", + "RevisionId" + ] + }, + "ImportAssetsFromS3ResponseDetails": { + "type": "structure", + "members": { + "AssetSources": { + "shape": "ListOfAssetSourceEntry", + "documentation": "

Is a list of Amazon S3 bucket and object key pairs.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this import job.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this import response.

" + } + }, + "documentation": "

Details from an import from Amazon S3 response.

", + "required": [ + "DataSetId", + "AssetSources", + "RevisionId" + ] + }, + "InternalServerException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "The message identifying the service exception that occurred." + } + }, + "documentation": "An exception occurred with the service.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "JobEntry": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the job.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was created, in ISO 8601 format.

" + }, + "Details": { + "shape": "ResponseDetails", + "documentation": "

Details of the operation to be performed by the job, such as export destination details or import source details.

" + }, + "Errors": { + "shape": "ListOfJobError", + "documentation": "

Errors for jobs.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the job.

" + }, + "State": { + "shape": "State", + "documentation": "

The state of the job.

" + }, + "Type": { + "shape": "Type", + "documentation": "

The job type.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the job was last updated, in ISO 8601 format.

" + } + }, + "documentation": "AWS Data Exchange Jobs are asynchronous import or export operations used to create or copy assets. A data set owner can both import and export as they see fit. Someone with an entitlement to a data set can only export. Jobs are deleted 90 days after they are created.", + "required": [ + "Type", + "Details", + "State", + "CreatedAt", + "Id", + "Arn", + "UpdatedAt" + ] + }, + "JobError": { + "type": "structure", + "members": { + "Code": { + "shape": "Code", + "documentation": "The code for the job error." + }, + "Details": { + "shape": "Details" + }, + "LimitName": { + "shape": "JobErrorLimitName", + "documentation": "

The name of the limit that was reached.

" + }, + "LimitValue": { + "shape": "__double", + "documentation": "The value of the exceeded limit." + }, + "Message": { + "shape": "__string", + "documentation": "The message related to the job error." + }, + "ResourceId": { + "shape": "__string", + "documentation": "The unique identifier for the resource related to the error." + }, + "ResourceType": { + "shape": "JobErrorResourceTypes", + "documentation": "The type of resource related to the error." + } + }, + "documentation": "An error that occurred with the job request.", + "required": [ + "Message", + "Code" + ] + }, + "JobErrorLimitName": { + "type": "string", + "documentation": "The name of the limit that was reached.", + "enum": [ + "Assets per revision", + "Asset size in GB" + ] + }, + "JobErrorResourceTypes": { + "type": "string", + "documentation": "The types of resource which the job error can apply to.", + "enum": [ + "REVISION", + "ASSET" + ] + }, + "LimitName": { + "type": "string", + "enum": [ + "Products per account", + "Data sets per account", + "Data sets per product", + "Revisions per data set", + "Assets per revision", + "Assets per import job from Amazon S3", + "Asset per export job from Amazon S3", + "Asset size in GB", + "Concurrent in progress jobs to import assets from Amazon S3", + "Concurrent in progress jobs to import assets from a signed URL", + "Concurrent in progress jobs to export assets to Amazon S3", + "Concurrent in progress jobs to export assets to a signed URL" + ] + }, + "ListDataSetRevisionsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of results returned by a single call.

" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + } + }, + "required": [ + "DataSetId" + ] + }, + "ListDataSetRevisionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "NextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + }, + "Revisions": { + "shape": "ListOfRevisionEntry", + "documentation": "

The asset objects listed by the request.

" + } + } + }, + "ListDataSetsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of results returned by a single call.

" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + }, + "Origin": { + "shape": "__string", + "location": "querystring", + "locationName": "origin", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + } + } + }, + "ListDataSetsResponse": { + "type": "structure", + "members": { + "DataSets": { + "shape": "ListOfDataSetEntry", + "documentation": "

The data set objects listed by the request.

" + }, + "NextToken": { + "shape": "NextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + } + } + }, + "ListJobsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "querystring", + "locationName": "dataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of results returned by a single call.

" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + }, + "RevisionId": { + "shape": "__string", + "location": "querystring", + "locationName": "revisionId", + "documentation": "

The unique identifier for a revision.

" + } + } + }, + "ListJobsResponse": { + "type": "structure", + "members": { + "Jobs": { + "shape": "ListOfJobEntry", + "documentation": "

The jobs listed by the request.

" + }, + "NextToken": { + "shape": "NextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + } + } + }, + "ListOfAssetDestinationEntry": { + "type": "list", + "documentation": "

The destination where the assets will be exported.

", + "member": { + "shape": "AssetDestinationEntry" + } + }, + "ListOfAssetSourceEntry": { + "type": "list", + "documentation": "

The list of sources for the assets.

", + "member": { + "shape": "AssetSourceEntry" + } + }, + "ListRevisionAssetsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of results returned by a single call.

" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "required": [ + "RevisionId", + "DataSetId" + ] + }, + "ListRevisionAssetsResponse": { + "type": "structure", + "members": { + "Assets": { + "shape": "ListOfAssetEntry", + "documentation": "

The asset objects listed by the request.

" + }, + "NextToken": { + "shape": "NextToken", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.

" + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "A label that consists of a customer-defined key and an optional value." + } + } + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 25 + }, + "Name": { + "type": "string", + "documentation": "The name of the model." + }, + "NextToken": { + "type": "string", + "documentation": "

The token value retrieved from a previous call to access the next page of results.

" + }, + "Origin": { + "type": "string", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers). When an owned data set is published in a product, AWS Data Exchange creates a copy of the data set. Subscribers can access that copy of the data set as an entitled data set.

", + "enum": [ + "OWNED", + "ENTITLED" + ] + }, + "OriginDetails": { + "type": "structure", + "members": { + "ProductId": { + "shape": "__string" + } + }, + "required": [ + "ProductId" + ] + }, + "RequestDetails": { + "type": "structure", + "members": { + "ExportAssetToSignedUrl": { + "shape": "ExportAssetToSignedUrlRequestDetails", + "documentation": "

Details about the export to signed URL request.

" + }, + "ExportAssetsToS3": { + "shape": "ExportAssetsToS3RequestDetails", + "documentation": "

Details about the export to Amazon S3 request.

" + }, + "ImportAssetFromSignedUrl": { + "shape": "ImportAssetFromSignedUrlRequestDetails", + "documentation": "

Details about the import from signed URL request.

" + }, + "ImportAssetsFromS3": { + "shape": "ImportAssetsFromS3RequestDetails", + "documentation": "

Details about the import from Amazon S3 request.

" + } + }, + "documentation": "

The details for the request.

" + }, + "ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

The resource couldn't be found.

" + }, + "ResourceId": { + "shape": "__string", + "documentation": "

The unique identifier for the resource that couldn't be found.

" + }, + "ResourceType": { + "shape": "ResourceType", + "documentation": "

The type of resource that couldn't be found.

" + } + }, + "documentation": "

The resource couldn't be found.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "ResourceType": { + "type": "string", + "enum": [ + "DATA_SET", + "REVISION", + "ASSET", + "JOB" + ] + }, + "ResponseDetails": { + "type": "structure", + "members": { + "ExportAssetToSignedUrl": { + "shape": "ExportAssetToSignedUrlResponseDetails", + "documentation": "

Details for the export to signed URL response.

" + }, + "ExportAssetsToS3": { + "shape": "ExportAssetsToS3ResponseDetails", + "documentation": "

Details for the export to Amazon S3 response.

" + }, + "ImportAssetFromSignedUrl": { + "shape": "ImportAssetFromSignedUrlResponseDetails", + "documentation": "

Details for the import from signed URL response.

" + }, + "ImportAssetsFromS3": { + "shape": "ImportAssetsFromS3ResponseDetails", + "documentation": "

Details for the import from Amazon S3 response.

" + } + }, + "documentation": "

Details for the response.

" + }, + "RevisionEntry": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the revision.

" + }, + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this revision.

" + }, + "Finalized": { + "shape": "__boolean", + "documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the revision.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was last updated, in ISO 8601 format.

" + } + }, + "documentation": "

A revision is a container for one or more assets.

", + "required": [ + "CreatedAt", + "DataSetId", + "Id", + "Arn", + "UpdatedAt" + ] + }, + "S3SnapshotAsset": { + "type": "structure", + "members": { + "Size": { + "shape": "__doubleMin0", + "documentation": "

The size of the S3 object that is the object.

" + } + }, + "documentation": "

The S3 object that is the asset.

", + "required": [ + "Size" + ] + }, + "ServerSideEncryptionTypes": { + "type": "string", + "documentation": "

The types of encryption supported in export jobs to Amazon S3.

", + "enum": [ + "aws:kms", + "AES256" + ] + }, + "ServiceLimitExceededException": { + "type": "structure", + "members": { + "LimitName": { + "shape": "LimitName", + "documentation": "

The name of the quota that was exceeded.

" + }, + "LimitValue": { + "shape": "__double", + "documentation": "

The maximum value for the service-specific limit.

" + }, + "Message": { + "shape": "__string", + "documentation": "

The request has exceeded the quotas imposed by the service.

" + } + }, + "documentation": "

The request has exceeded the quotas imposed by the service.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 402 + } + }, + "StartJobRequest": { + "type": "structure", + "members": { + "JobId": { + "shape": "__string", + "location": "uri", + "locationName": "JobId", + "documentation": "

The unique identifier for a job.

" + } + }, + "required": [ + "JobId" + ] + }, + "StartJobResponse": { + "type": "structure", + "members": {} + }, + "State": { + "type": "string", + "enum": [ + "WAITING", + "IN_PROGRESS", + "ERROR", + "COMPLETED", + "CANCELLED", + "TIMED_OUT" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.

" + }, + "Tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "A label that consists of a customer-defined key and an optional value." + } + }, + "documentation": "

The request body for TagResource.

", + "required": [ + "ResourceArn", + "Tags" + ] + }, + "ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

The limit on the number of requests per second was exceeded.

" + } + }, + "documentation": "

The limit on the number of requests per second was exceeded.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "Timestamp": { + "type": "timestamp", + "documentation": "

Dates and times in AWS Data Exchange are recorded in ISO 8601 format.

", + "timestampFormat": "iso8601" + }, + "Type": { + "type": "string", + "enum": [ + "IMPORT_ASSETS_FROM_S3", + "IMPORT_ASSET_FROM_SIGNED_URL", + "EXPORT_ASSETS_TO_S3", + "EXPORT_ASSET_TO_SIGNED_URL" + ] + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.

" + }, + "TagKeys": { + "shape": "ListOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "The key tags." + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "shape": "__string", + "location": "uri", + "locationName": "AssetId", + "documentation": "

The unique identifier for an asset.

" + }, + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "Name": { + "shape": "AssetName", + "documentation": "

The name of the asset. When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "documentation": "

The request body for UpdateAsset.

", + "required": [ + "RevisionId", + "AssetId", + "DataSetId", + "Name" + ] + }, + "UpdateAssetResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the asset.

" + }, + "AssetDetails": { + "shape": "AssetDetails", + "documentation": "

Information about the asset, including its size.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this asset.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the asset.

" + }, + "Name": { + "shape": "AssetName", + "documentation": "

The name of the asset When importing from Amazon S3, the S3 object key is used as the asset name. When exporting to Amazon S3, the asset name is used as default target S3 object key.

" + }, + "RevisionId": { + "shape": "Id", + "documentation": "

The unique identifier for the revision associated with this asset.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The asset ID of the owned asset corresponding to the entitled asset being viewed. This parameter is returned when an asset owner is viewing the entitled copy of its owned asset.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the asset was last updated, in ISO 8601 format.

" + } + } + }, + "UpdateDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "Description": { + "shape": "Description", + "documentation": "

The description for the data set.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + } + }, + "documentation": "

The request body for UpdateDataSet.

", + "required": [ + "DataSetId" + ] + }, + "UpdateDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the data set.

" + }, + "AssetType": { + "shape": "AssetType", + "documentation": "

The type of file your data is stored in. Currently, the supported asset type is S3_SNAPSHOT.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was created, in ISO 8601 format.

" + }, + "Description": { + "shape": "Description", + "documentation": "

The description for the data set.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the data set.

" + }, + "Name": { + "shape": "Name", + "documentation": "

The name of the data set.

" + }, + "Origin": { + "shape": "Origin", + "documentation": "

A property that defines the data set as OWNED by the account (for providers) or ENTITLED to the account (for subscribers).

" + }, + "OriginDetails": { + "shape": "OriginDetails", + "documentation": "

If the origin of this data set is ENTITLED, includes the details for the product on AWS Marketplace.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The data set ID of the owned data set corresponding to the entitled data set being viewed. This parameter is returned when a data set owner is viewing the entitled copy of its owned data set.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the data set was last updated, in ISO 8601 format.

" + } + } + }, + "UpdateRevisionRequest": { + "type": "structure", + "members": { + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "DataSetId": { + "shape": "__string", + "location": "uri", + "locationName": "DataSetId", + "documentation": "

The unique identifier for a data set.

" + }, + "Finalized": { + "shape": "__boolean", + "documentation": "

Finalizing a revision tells AWS Data Exchange that your changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

" + }, + "RevisionId": { + "shape": "__string", + "location": "uri", + "locationName": "RevisionId", + "documentation": "

The unique identifier for a revision.

" + } + }, + "documentation": "

The request body for UpdateRevision.

", + "required": [ + "RevisionId", + "DataSetId" + ] + }, + "UpdateRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "Arn", + "documentation": "

The ARN for the revision.

" + }, + "Comment": { + "shape": "__stringMin0Max16384", + "documentation": "

An optional comment about the revision.

" + }, + "CreatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was created, in ISO 8601 format.

" + }, + "DataSetId": { + "shape": "Id", + "documentation": "

The unique identifier for the data set associated with this revision.

" + }, + "Finalized": { + "shape": "__boolean", + "documentation": "

To publish a revision to a data set in a product, the revision must first be finalized. Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision are complete. After it's in this read-only state, you can publish the revision to your products.

Finalized revisions can be published through the AWS Data Exchange console or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action. When using the API, revisions are uniquely identified by their ARN.

" + }, + "Id": { + "shape": "Id", + "documentation": "

The unique identifier for the revision.

" + }, + "SourceId": { + "shape": "Id", + "documentation": "

The revision ID of the owned revision corresponding to the entitled revision being viewed. This parameter is returned when a revision owner is viewing the entitled copy of its owned revision.

" + }, + "UpdatedAt": { + "shape": "Timestamp", + "documentation": "

The date and time that the revision was last updated, in ISO 8601 format.

" + } + } + }, + "ValidationException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

The message that informs you about what was invalid about the request.

" + } + }, + "documentation": "

The request was invalid.

", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__doubleMin0": { + "type": "double" + }, + "ListOfAssetEntry": { + "type": "list", + "member": { + "shape": "AssetEntry" + } + }, + "ListOfDataSetEntry": { + "type": "list", + "member": { + "shape": "DataSetEntry" + } + }, + "ListOfJobEntry": { + "type": "list", + "member": { + "shape": "JobEntry" + } + }, + "ListOfJobError": { + "type": "list", + "member": { + "shape": "JobError" + } + }, + "ListOfRevisionEntry": { + "type": "list", + "member": { + "shape": "RevisionEntry" + } + }, + "ListOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "MapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__stringMin0Max16384": { + "type": "string", + "min": 0, + "max": 16384 + }, + "__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093": { + "type": "string", + "min": 24, + "max": 24, + "pattern": "/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/" + } + }, + "documentation": "

AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access file-based data set in the AWS Cloud.

As a subscriber, you can view and access the data sets that you have an entitlement to through a subscription. You can use the APIS to download or copy your entitled data sets to Amazon S3 for use across a variety of AWS analytics and machine learning services.

As a provider, you can create and manage your data sets that you would like to publish to a product. Being able to package and provide your data sets into products requires a few steps to determine eligibility. For more information, visit the AWS Data Exchange User Guide.

A data set is a collection of data that can be changed or updated over time. Data sets can be updated using revisions, which represent a new version or incremental change to a data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece of data that can be stored as an Amazon S3 object. The asset can be a structured data file, an image file, or some other data file. Jobs are asynchronous import or export operations used to create or copy assets.

" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/datapipeline/2012-10-29/service-2.json python-botocore-1.16.19+repack/botocore/data/datapipeline/2012-10-29/service-2.json --- python-botocore-1.4.70/botocore/data/datapipeline/2012-10-29/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/datapipeline/2012-10-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,9 +5,11 @@ "endpointPrefix":"datapipeline", "jsonVersion":"1.1", "serviceFullName":"AWS Data Pipeline", + "serviceId":"Data Pipeline", "signatureVersion":"v4", "targetPrefix":"DataPipeline", - "protocol":"json" + "protocol":"json", + "uid":"datapipeline-2012-10-29" }, "documentation":"

AWS Data Pipeline configures and manages a data-driven workflow called a pipeline. AWS Data Pipeline handles the details of scheduling and ensuring that data dependencies are met so that your application can focus on processing the data.

AWS Data Pipeline provides a JAR implementation of a task runner called AWS Data Pipeline Task Runner. AWS Data Pipeline Task Runner provides logic for common data management scenarios, such as performing database queries and running data analysis using Amazon Elastic MapReduce (Amazon EMR). You can use AWS Data Pipeline Task Runner as your task runner, or you can write your own task runner to provide custom data management.

AWS Data Pipeline implements two main sets of functionality. Use the first set to create a pipeline and define data sources, schedules, dependencies, and the transforms to be performed on the data. Use the second set in your task runner application to receive the next task ready for processing. The logic for performing the task, such as querying the data, running data analysis, or converting the data from one format to another, is contained within the task runner. The task runner performs the task assigned to it by the web service, reporting progress to the web service as it does so. When the task is done, the task runner reports the final success or failure of the task to the web service.

", "operations":{ diff -Nru python-botocore-1.4.70/botocore/data/datasync/2018-11-09/paginators-1.json python-botocore-1.16.19+repack/botocore/data/datasync/2018-11-09/paginators-1.json --- python-botocore-1.4.70/botocore/data/datasync/2018-11-09/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/datasync/2018-11-09/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListAgents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Agents" + }, + "ListLocations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Locations" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + }, + "ListTaskExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TaskExecutions" + }, + "ListTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tasks" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/datasync/2018-11-09/service-2.json python-botocore-1.16.19+repack/botocore/data/datasync/2018-11-09/service-2.json --- python-botocore-1.4.70/botocore/data/datasync/2018-11-09/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/datasync/2018-11-09/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2144 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-09", + "endpointPrefix":"datasync", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"DataSync", + "serviceFullName":"AWS DataSync", + "serviceId":"DataSync", + "signatureVersion":"v4", + "signingName":"datasync", + "targetPrefix":"FmrsService", + "uid":"datasync-2018-11-09" + }, + "operations":{ + "CancelTaskExecution":{ + "name":"CancelTaskExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelTaskExecutionRequest"}, + "output":{"shape":"CancelTaskExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Cancels execution of a task.

When you cancel a task execution, the transfer of some files are abruptly interrupted. The contents of files that are transferred to the destination might be incomplete or inconsistent with the source files. However, if you start a new task execution on the same task and you allow the task execution to complete, file content on the destination is complete and consistent. This applies to other unexpected failures that interrupt a task execution. In all of these cases, AWS DataSync successfully complete the transfer when you start the next task execution.

" + }, + "CreateAgent":{ + "name":"CreateAgent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAgentRequest"}, + "output":{"shape":"CreateAgentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Activates an AWS DataSync agent that you have deployed on your host. The activation process associates your agent with your account. In the activation process, you specify information such as the AWS Region that you want to activate the agent in. You activate the agent in the AWS Region where your target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created in this AWS Region.

You can activate the agent in a VPC (Virtual private Cloud) or provide the agent access to a VPC endpoint so you can run tasks without going over the public Internet.

You can use an agent for more than one location. If a task uses multiple agents, all of them need to have status AVAILABLE for the task to run. If you use multiple agents for a source location, the status of all the agents must be AVAILABLE for the task to run.

Agents are automatically updated by AWS on a regular basis, using a mechanism that ensures minimal interruption to your tasks.

" + }, + "CreateLocationEfs":{ + "name":"CreateLocationEfs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocationEfsRequest"}, + "output":{"shape":"CreateLocationEfsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Creates an endpoint for an Amazon EFS file system.

" + }, + "CreateLocationFsxWindows":{ + "name":"CreateLocationFsxWindows", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocationFsxWindowsRequest"}, + "output":{"shape":"CreateLocationFsxWindowsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Creates an endpoint for an Amazon FSx for Windows file system.

" + }, + "CreateLocationNfs":{ + "name":"CreateLocationNfs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocationNfsRequest"}, + "output":{"shape":"CreateLocationNfsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Defines a file system on a Network File System (NFS) server that can be read from or written to

" + }, + "CreateLocationS3":{ + "name":"CreateLocationS3", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocationS3Request"}, + "output":{"shape":"CreateLocationS3Response"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Creates an endpoint for an Amazon S3 bucket.

For AWS DataSync to access a destination S3 bucket, it needs an AWS Identity and Access Management (IAM) role that has the required permissions. You can set up the required permissions by creating an IAM policy that grants the required permissions and attaching the policy to the role. An example of such a policy is shown in the examples section.

For more information, see https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html#create-s3-location in the AWS DataSync User Guide.

" + }, + "CreateLocationSmb":{ + "name":"CreateLocationSmb", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocationSmbRequest"}, + "output":{"shape":"CreateLocationSmbResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Defines a file system on an Server Message Block (SMB) server that can be read from or written to.

" + }, + "CreateTask":{ + "name":"CreateTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTaskRequest"}, + "output":{"shape":"CreateTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Creates a task. A task is a set of two locations (source and destination) and a set of Options that you use to control the behavior of a task. If you don't specify Options when you create a task, AWS DataSync populates them with service defaults.

When you create a task, it first enters the CREATING state. During CREATING AWS DataSync attempts to mount the on-premises Network File System (NFS) location. The task transitions to the AVAILABLE state without waiting for the AWS location to become mounted. If required, AWS DataSync mounts the AWS location before each task execution.

If an agent that is associated with a source (NFS) location goes offline, the task transitions to the UNAVAILABLE status. If the status of the task remains in the CREATING status for more than a few minutes, it means that your agent might be having trouble mounting the source NFS file system. Check the task's ErrorCode and ErrorDetail. Mount issues are often caused by either a misconfigured firewall or a mistyped NFS server host name.

" + }, + "DeleteAgent":{ + "name":"DeleteAgent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAgentRequest"}, + "output":{"shape":"DeleteAgentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Deletes an agent. To specify which agent to delete, use the Amazon Resource Name (ARN) of the agent in your request. The operation disassociates the agent from your AWS account. However, it doesn't delete the agent virtual machine (VM) from your on-premises environment.

" + }, + "DeleteLocation":{ + "name":"DeleteLocation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLocationRequest"}, + "output":{"shape":"DeleteLocationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Deletes the configuration of a location used by AWS DataSync.

" + }, + "DeleteTask":{ + "name":"DeleteTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTaskRequest"}, + "output":{"shape":"DeleteTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Deletes a task.

" + }, + "DescribeAgent":{ + "name":"DescribeAgent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAgentRequest"}, + "output":{"shape":"DescribeAgentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata such as the name, the network interfaces, and the status (that is, whether the agent is running or not) for an agent. To specify which agent to describe, use the Amazon Resource Name (ARN) of the agent in your request.

" + }, + "DescribeLocationEfs":{ + "name":"DescribeLocationEfs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocationEfsRequest"}, + "output":{"shape":"DescribeLocationEfsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata, such as the path information about an Amazon EFS location.

" + }, + "DescribeLocationFsxWindows":{ + "name":"DescribeLocationFsxWindows", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocationFsxWindowsRequest"}, + "output":{"shape":"DescribeLocationFsxWindowsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata, such as the path information about an Amazon FSx for Windows location.

" + }, + "DescribeLocationNfs":{ + "name":"DescribeLocationNfs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocationNfsRequest"}, + "output":{"shape":"DescribeLocationNfsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata, such as the path information, about a NFS location.

" + }, + "DescribeLocationS3":{ + "name":"DescribeLocationS3", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocationS3Request"}, + "output":{"shape":"DescribeLocationS3Response"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata, such as bucket name, about an Amazon S3 bucket location.

" + }, + "DescribeLocationSmb":{ + "name":"DescribeLocationSmb", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocationSmbRequest"}, + "output":{"shape":"DescribeLocationSmbResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata, such as the path and user information about a SMB location.

" + }, + "DescribeTask":{ + "name":"DescribeTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTaskRequest"}, + "output":{"shape":"DescribeTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns metadata about a task.

" + }, + "DescribeTaskExecution":{ + "name":"DescribeTaskExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTaskExecutionRequest"}, + "output":{"shape":"DescribeTaskExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns detailed metadata about a task that is being executed.

" + }, + "ListAgents":{ + "name":"ListAgents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAgentsRequest"}, + "output":{"shape":"ListAgentsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns a list of agents owned by an AWS account in the AWS Region specified in the request. The returned list is ordered by agent Amazon Resource Name (ARN).

By default, this operation returns a maximum of 100 agents. This operation supports pagination that enables you to optionally reduce the number of agents returned in a response.

If you have more agents than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a marker that you can specify in your next request to fetch the next page of agents.

" + }, + "ListLocations":{ + "name":"ListLocations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLocationsRequest"}, + "output":{"shape":"ListLocationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns a lists of source and destination locations.

If you have more locations than are returned in a response (that is, the response returns only a truncated list of your agents), the response contains a token that you can specify in your next request to fetch the next page of locations.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns all the tags associated with a specified resources.

" + }, + "ListTaskExecutions":{ + "name":"ListTaskExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTaskExecutionsRequest"}, + "output":{"shape":"ListTaskExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns a list of executed tasks.

" + }, + "ListTasks":{ + "name":"ListTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTasksRequest"}, + "output":{"shape":"ListTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns a list of all the tasks.

" + }, + "StartTaskExecution":{ + "name":"StartTaskExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTaskExecutionRequest"}, + "output":{"shape":"StartTaskExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Starts a specific invocation of a task. A TaskExecution value represents an individual run of a task. Each task can have at most one TaskExecution at a time.

TaskExecution has the following transition phases: INITIALIZING | PREPARING | TRANSFERRING | VERIFYING | SUCCESS/FAILURE.

For detailed information, see the Task Execution section in the Components and Terminology topic in the AWS DataSync User Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Applies a key-value pair to an AWS resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Removes a tag from an AWS resource.

" + }, + "UpdateAgent":{ + "name":"UpdateAgent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAgentRequest"}, + "output":{"shape":"UpdateAgentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Updates the name of an agent.

" + }, + "UpdateTask":{ + "name":"UpdateTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTaskRequest"}, + "output":{"shape":"UpdateTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalException"} + ], + "documentation":"

Updates the metadata associated with a task.

" + } + }, + "shapes":{ + "ActivationKey":{ + "type":"string", + "max":29, + "pattern":"[A-Z0-9]{5}(-[A-Z0-9]{5}){4}" + }, + "AgentArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$" + }, + "AgentArnList":{ + "type":"list", + "member":{"shape":"AgentArn"}, + "max":64, + "min":1 + }, + "AgentList":{ + "type":"list", + "member":{"shape":"AgentListEntry"} + }, + "AgentListEntry":{ + "type":"structure", + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of the agent.

" + }, + "Status":{ + "shape":"AgentStatus", + "documentation":"

The status of the agent.

" + } + }, + "documentation":"

Represents a single entry in a list of agents. AgentListEntry returns an array that contains a list of agents when the ListAgents operation is called.

" + }, + "AgentStatus":{ + "type":"string", + "enum":[ + "ONLINE", + "OFFLINE" + ] + }, + "Atime":{ + "type":"string", + "enum":[ + "NONE", + "BEST_EFFORT" + ] + }, + "BytesPerSecond":{ + "type":"long", + "min":-1 + }, + "CancelTaskExecutionRequest":{ + "type":"structure", + "required":["TaskExecutionArn"], + "members":{ + "TaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the task execution to cancel.

" + } + }, + "documentation":"

CancelTaskExecutionRequest

" + }, + "CancelTaskExecutionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateAgentRequest":{ + "type":"structure", + "required":["ActivationKey"], + "members":{ + "ActivationKey":{ + "shape":"ActivationKey", + "documentation":"

Your agent activation key. You can get the activation key either by sending an HTTP GET request with redirects that enable you to get the agent IP address (port 80). Alternatively, you can get it from the AWS DataSync console.

The redirect URL returned in the response provides you the activation key for your agent in the query string parameter activationKey. It might also include other activation-related parameters; however, these are merely defaults. The arguments you pass to this API call determine the actual configuration of your agent.

For more information, see Activating an Agent in the AWS DataSync User Guide.

" + }, + "AgentName":{ + "shape":"TagValue", + "documentation":"

The name you configured for your agent. This value is a text reference that is used to identify the agent in the console.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents the tag that you want to associate with the agent. The value can be an empty string. This value helps you manage, filter, and search for your agents.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

" + }, + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

The ID of the VPC (Virtual Private Cloud) endpoint that the agent has access to. This is the client-side VPC endpoint, also called a PrivateLink. If you don't have a PrivateLink VPC endpoint, see Creating a VPC Endpoint Service Configuration in the AWS VPC User Guide.

VPC endpoint ID looks like this: vpce-01234d5aff67890e1.

" + }, + "SubnetArns":{ + "shape":"PLSubnetArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the subnets in which DataSync will create elastic network interfaces for each data transfer task. The agent that runs a task must be private. When you start a task that is associated with an agent created in a VPC, or one that has access to an IP address in a VPC, then the task is also private. In this case, DataSync creates four network interfaces for each task in your subnet. For a data transfer to work, the agent must be able to route to all these four network interfaces.

" + }, + "SecurityGroupArns":{ + "shape":"PLSecurityGroupArnList", + "documentation":"

The ARNs of the security groups used to protect your data transfer task subnets. See CreateAgentRequest$SubnetArns.

" + } + }, + "documentation":"

CreateAgentRequest

" + }, + "CreateAgentResponse":{ + "type":"structure", + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent. Use the ListAgents operation to return a list of agents for your account and AWS Region.

" + } + }, + "documentation":"

CreateAgentResponse

" + }, + "CreateLocationEfsRequest":{ + "type":"structure", + "required":[ + "EfsFilesystemArn", + "Ec2Config" + ], + "members":{ + "Subdirectory":{ + "shape":"EfsSubdirectory", + "documentation":"

A subdirectory in the location’s path. This subdirectory in the EFS file system is used to read data from the EFS source location or write data to the EFS destination. By default, AWS DataSync uses the root directory.

Subdirectory must be specified with forward slashes. For example /path/to/folder.

" + }, + "EfsFilesystemArn":{ + "shape":"EfsFilesystemArn", + "documentation":"

The Amazon Resource Name (ARN) for the Amazon EFS file system.

" + }, + "Ec2Config":{ + "shape":"Ec2Config", + "documentation":"

The subnet and security group that the Amazon EFS file system uses. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

The exact relationship between security group M (of the mount target) and security group S (which you provide for DataSync to use at this stage) is as follows:

  • Security group M (which you associate with the mount target) must allow inbound access for the Transmission Control Protocol (TCP) on the NFS port (2049) from security group S. You can enable inbound connections either by IP address (CIDR range) or security group.

  • Security group S (provided to DataSync to access EFS) should have a rule that enables outbound connections to the NFS port on one of the file system’s mount targets. You can enable outbound connections either by IP address (CIDR range) or security group.

    For information about security groups and mount targets, see Security Groups for Amazon EC2 Instances and Mount Targets in the Amazon EFS User Guide.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

" + } + }, + "documentation":"

CreateLocationEfsRequest

" + }, + "CreateLocationEfsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon EFS file system location that is created.

" + } + }, + "documentation":"

CreateLocationEfs

" + }, + "CreateLocationFsxWindowsRequest":{ + "type":"structure", + "required":[ + "FsxFilesystemArn", + "SecurityGroupArns", + "User", + "Password" + ], + "members":{ + "Subdirectory":{ + "shape":"FsxWindowsSubdirectory", + "documentation":"

A subdirectory in the location’s path. This subdirectory in the Amazon FSx for Windows file system is used to read data from the Amazon FSx for Windows source location or write data to the FSx for Windows destination.

" + }, + "FsxFilesystemArn":{ + "shape":"FsxFilesystemArn", + "documentation":"

The Amazon Resource Name (ARN) for the FSx for Windows file system.

" + }, + "SecurityGroupArns":{ + "shape":"Ec2SecurityGroupArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the security groups that are to use to configure the FSx for Windows file system.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents a tag that you want to add to the resource. The value can be an empty string. This value helps you manage, filter, and search for your resources. We recommend that you create a name tag for your location.

" + }, + "User":{ + "shape":"SmbUser", + "documentation":"

The user who has the permissions to access files and folders in the FSx for Windows file system.

" + }, + "Domain":{ + "shape":"SmbDomain", + "documentation":"

The name of the Windows domain that the FSx for Windows server belongs to.

" + }, + "Password":{ + "shape":"SmbPassword", + "documentation":"

The password of the user who has the permissions to access files and folders in the FSx for Windows file system.

" + } + } + }, + "CreateLocationFsxWindowsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the FSx for Windows file system location that is created.

" + } + } + }, + "CreateLocationNfsRequest":{ + "type":"structure", + "required":[ + "Subdirectory", + "ServerHostname", + "OnPremConfig" + ], + "members":{ + "Subdirectory":{ + "shape":"NfsSubdirectory", + "documentation":"

The subdirectory in the NFS file system that is used to read data from the NFS source location or write data to the NFS destination. The NFS path should be a path that's exported by the NFS server, or a subdirectory of that path. The path should be such that it can be mounted by other NFS clients in your network.

To see all the paths exported by your NFS server. run \"showmount -e nfs-server-name\" from an NFS client that has access to your server. You can specify any directory that appears in the results, and any subdirectory of that directory. Ensure that the NFS export is accessible without Kerberos authentication.

To transfer all the data in the folder you specified, DataSync needs to have permissions to read all the data. To ensure this, either configure the NFS export with no_root_squash, or ensure that the permissions for all of the files that you want DataSync allow read access for all users. Doing either enables the agent to read the files. For the agent to access directories, you must additionally enable all execute access.

For information about NFS export configuration, see 18.7. The /etc/exports Configuration File in the Red Hat Enterprise Linux documentation.

" + }, + "ServerHostname":{ + "shape":"ServerHostname", + "documentation":"

The name of the NFS server. This value is the IP address or Domain Name Service (DNS) name of the NFS server. An agent that is installed on-premises uses this host name to mount the NFS server in a network.

This name must either be DNS-compliant or must be an IP version 4 (IPv4) address.

" + }, + "OnPremConfig":{ + "shape":"OnPremConfig", + "documentation":"

Contains a list of Amazon Resource Names (ARNs) of agents that are used to connect to an NFS server.

" + }, + "MountOptions":{ + "shape":"NfsMountOptions", + "documentation":"

The NFS mount options that DataSync can use to mount your NFS share.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

" + } + }, + "documentation":"

CreateLocationNfsRequest

" + }, + "CreateLocationNfsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the source NFS file system location that is created.

" + } + }, + "documentation":"

CreateLocationNfsResponse

" + }, + "CreateLocationS3Request":{ + "type":"structure", + "required":[ + "S3BucketArn", + "S3Config" + ], + "members":{ + "Subdirectory":{ + "shape":"S3Subdirectory", + "documentation":"

A subdirectory in the Amazon S3 bucket. This subdirectory in Amazon S3 is used to read data from the S3 source location or write data to the S3 destination.

" + }, + "S3BucketArn":{ + "shape":"S3BucketArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon S3 bucket.

" + }, + "S3StorageClass":{ + "shape":"S3StorageClass", + "documentation":"

The Amazon S3 storage class that you want to store your files in when this location is used as a task destination. For more information about S3 storage classes, see Amazon S3 Storage Classes in the Amazon Simple Storage Service Developer Guide. Some storage classes have behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes.

" + }, + "S3Config":{"shape":"S3Config"}, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

" + } + }, + "documentation":"

CreateLocationS3Request

" + }, + "CreateLocationS3Response":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the source Amazon S3 bucket location that is created.

" + } + }, + "documentation":"

CreateLocationS3Response

" + }, + "CreateLocationSmbRequest":{ + "type":"structure", + "required":[ + "Subdirectory", + "ServerHostname", + "User", + "Password", + "AgentArns" + ], + "members":{ + "Subdirectory":{ + "shape":"SmbSubdirectory", + "documentation":"

The subdirectory in the SMB file system that is used to read data from the SMB source location or write data to the SMB destination. The SMB path should be a path that's exported by the SMB server, or a subdirectory of that path. The path should be such that it can be mounted by other SMB clients in your network.

Subdirectory must be specified with forward slashes. For example /path/to/folder.

To transfer all the data in the folder you specified, DataSync needs to have permissions to mount the SMB share, as well as to access all the data in that share. To ensure this, either ensure that the user/password specified belongs to the user who can mount the share, and who has the appropriate permissions for all of the files and directories that you want DataSync to access, or use credentials of a member of the Backup Operators group to mount the share. Doing either enables the agent to access the data. For the agent to access directories, you must additionally enable all execute access.

" + }, + "ServerHostname":{ + "shape":"ServerHostname", + "documentation":"

The name of the SMB server. This value is the IP address or Domain Name Service (DNS) name of the SMB server. An agent that is installed on-premises uses this hostname to mount the SMB server in a network.

This name must either be DNS-compliant or must be an IP version 4 (IPv4) address.

" + }, + "User":{ + "shape":"SmbUser", + "documentation":"

The user who can mount the share, has the permissions to access files and folders in the SMB share.

" + }, + "Domain":{ + "shape":"SmbDomain", + "documentation":"

The name of the Windows domain that the SMB server belongs to.

" + }, + "Password":{ + "shape":"SmbPassword", + "documentation":"

The password of the user who can mount the share, has the permissions to access files and folders in the SMB share.

" + }, + "AgentArns":{ + "shape":"AgentArnList", + "documentation":"

The Amazon Resource Names (ARNs) of agents to use for a Simple Message Block (SMB) location.

" + }, + "MountOptions":{ + "shape":"SmbMountOptions", + "documentation":"

The mount options used by DataSync to access the SMB server.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents the tag that you want to add to the location. The value can be an empty string. We recommend using tags to name your resources.

" + } + }, + "documentation":"

CreateLocationSmbRequest

" + }, + "CreateLocationSmbResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the source SMB file system location that is created.

" + } + }, + "documentation":"

CreateLocationSmbResponse

" + }, + "CreateTaskRequest":{ + "type":"structure", + "required":[ + "SourceLocationArn", + "DestinationLocationArn" + ], + "members":{ + "SourceLocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the source location for the task.

" + }, + "DestinationLocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of an AWS storage resource's location.

" + }, + "CloudWatchLogGroupArn":{ + "shape":"LogGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor and log events in the task.

For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

For more information about how to use CloudWatch Logs with DataSync, see Monitoring Your Task in the AWS DataSync User Guide.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of a task. This value is a text reference that is used to identify the task in the console.

" + }, + "Options":{ + "shape":"Options", + "documentation":"

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution. You can configure these options to preserve metadata such as user ID (UID) and group ID (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the OverrideOptions before starting a the task execution. For more information, see the operation.

" + }, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example, \"/folder1|/folder2\"

" + }, + "Schedule":{ + "shape":"TaskSchedule", + "documentation":"

Specifies a schedule used to periodically transfer files from a source to a destination location. The schedule should be specified in UTC time. For more information, see task-scheduling.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The key-value pair that represents the tag that you want to add to the resource. The value can be an empty string.

" + } + }, + "documentation":"

CreateTaskRequest

" + }, + "CreateTaskResponse":{ + "type":"structure", + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task.

" + } + }, + "documentation":"

CreateTaskResponse

" + }, + "DeleteAgentRequest":{ + "type":"structure", + "required":["AgentArn"], + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent to delete. Use the ListAgents operation to return a list of agents for your account and AWS Region.

" + } + }, + "documentation":"

DeleteAgentRequest

" + }, + "DeleteAgentResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteLocationRequest":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the location to delete.

" + } + }, + "documentation":"

DeleteLocation

" + }, + "DeleteLocationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTaskRequest":{ + "type":"structure", + "required":["TaskArn"], + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task to delete.

" + } + }, + "documentation":"

DeleteTask

" + }, + "DeleteTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeAgentRequest":{ + "type":"structure", + "required":["AgentArn"], + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent to describe.

" + } + }, + "documentation":"

DescribeAgent

" + }, + "DescribeAgentResponse":{ + "type":"structure", + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of the agent.

" + }, + "Status":{ + "shape":"AgentStatus", + "documentation":"

The status of the agent. If the status is ONLINE, then the agent is configured properly and is available to use. The Running status is the normal running status for an agent. If the status is OFFLINE, the agent's VM is turned off or the agent is in an unhealthy state. When the issue that caused the unhealthy state is resolved, the agent returns to ONLINE status.

" + }, + "LastConnectionTime":{ + "shape":"Time", + "documentation":"

The time that the agent last connected to DataSyc.

" + }, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the agent was activated (that is, created in your account).

" + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, the agent is not accessible over the public Internet.

" + }, + "PrivateLinkConfig":{ + "shape":"PrivateLinkConfig", + "documentation":"

The subnet and the security group that DataSync used to access a VPC endpoint.

" + } + }, + "documentation":"

DescribeAgentResponse

" + }, + "DescribeLocationEfsRequest":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the EFS location to describe.

" + } + }, + "documentation":"

DescribeLocationEfsRequest

" + }, + "DescribeLocationEfsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the EFS location that was described.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

The URL of the EFS location that was described.

" + }, + "Ec2Config":{"shape":"Ec2Config"}, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the EFS location was created.

" + } + }, + "documentation":"

DescribeLocationEfsResponse

" + }, + "DescribeLocationFsxWindowsRequest":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the FSx for Windows location to describe.

" + } + } + }, + "DescribeLocationFsxWindowsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the FSx for Windows location that was described.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

The URL of the FSx for Windows location that was described.

" + }, + "SecurityGroupArns":{ + "shape":"Ec2SecurityGroupArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the security groups that are configured for the for the FSx for Windows file system.

" + }, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the FSx for Windows location was created.

" + }, + "User":{ + "shape":"SmbUser", + "documentation":"

The user who has the permissions to access files and folders in the FSx for Windows file system.

" + }, + "Domain":{ + "shape":"SmbDomain", + "documentation":"

The name of the Windows domain that the FSx for Windows server belongs to.

" + } + } + }, + "DescribeLocationNfsRequest":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the NFS location to describe.

" + } + }, + "documentation":"

DescribeLocationNfsRequest

" + }, + "DescribeLocationNfsResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the NFS location that was described.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

The URL of the source NFS location that was described.

" + }, + "OnPremConfig":{"shape":"OnPremConfig"}, + "MountOptions":{ + "shape":"NfsMountOptions", + "documentation":"

The NFS mount options that DataSync used to mount your NFS share.

" + }, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the NFS location was created.

" + } + }, + "documentation":"

DescribeLocationNfsResponse

" + }, + "DescribeLocationS3Request":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon S3 bucket location to describe.

" + } + }, + "documentation":"

DescribeLocationS3Request

" + }, + "DescribeLocationS3Response":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon S3 bucket location.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

The URL of the Amazon S3 location that was described.

" + }, + "S3StorageClass":{ + "shape":"S3StorageClass", + "documentation":"

The Amazon S3 storage class that you chose to store your files in when this location is used as a task destination. For more information about S3 storage classes, see Amazon S3 Storage Classes in the Amazon Simple Storage Service Developer Guide. Some storage classes have behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes.

" + }, + "S3Config":{"shape":"S3Config"}, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the Amazon S3 bucket location was created.

" + } + }, + "documentation":"

DescribeLocationS3Response

" + }, + "DescribeLocationSmbRequest":{ + "type":"structure", + "required":["LocationArn"], + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the SMB location to describe.

" + } + }, + "documentation":"

DescribeLocationSmbRequest

" + }, + "DescribeLocationSmbResponse":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon resource Name (ARN) of the SMB location that was described.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

The URL of the source SBM location that was described.

" + }, + "AgentArns":{ + "shape":"AgentArnList", + "documentation":"

The Amazon Resource Name (ARN) of the source SMB file system location that is created.

" + }, + "User":{ + "shape":"SmbUser", + "documentation":"

The user who can mount the share, has the permissions to access files and folders in the SMB share.

" + }, + "Domain":{ + "shape":"SmbDomain", + "documentation":"

The name of the Windows domain that the SMB server belongs to.

" + }, + "MountOptions":{ + "shape":"SmbMountOptions", + "documentation":"

The mount options that are available for DataSync to use to access an SMB location.

" + }, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the SMB location was created.

" + } + }, + "documentation":"

DescribeLocationSmbResponse

" + }, + "DescribeTaskExecutionRequest":{ + "type":"structure", + "required":["TaskExecutionArn"], + "members":{ + "TaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the task that is being executed.

" + } + }, + "documentation":"

DescribeTaskExecutionRequest

" + }, + "DescribeTaskExecutionResponse":{ + "type":"structure", + "members":{ + "TaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the task execution that was described. TaskExecutionArn is hierarchical and includes TaskArn for the task that was executed.

For example, a TaskExecution value with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2/execution/exec-08ef1e88ec491019b executed the task with the ARN arn:aws:datasync:us-east-1:111222333444:task/task-0208075f79cedf4a2.

" + }, + "Status":{ + "shape":"TaskExecutionStatus", + "documentation":"

The status of the task execution.

For detailed information about task execution statuses, see Understanding Task Statuses in the AWS DataSync User Guide.

" + }, + "Options":{"shape":"Options"}, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: \"/folder1|/folder2\"

" + }, + "Includes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to include when running a task. The list should contain a single filter string that consists of the patterns to include. The patterns are delimited by \"|\" (that is, a pipe), for example: \"/folder1|/folder2\"

" + }, + "StartTime":{ + "shape":"Time", + "documentation":"

The time that the task execution was started.

" + }, + "EstimatedFilesToTransfer":{ + "shape":"long", + "documentation":"

The expected number of files that is to be transferred over the network. This value is calculated during the PREPARING phase, before the TRANSFERRING phase. This value is the expected number of files to be transferred. It's calculated based on comparing the content of the source and destination locations and finding the delta that needs to be transferred.

" + }, + "EstimatedBytesToTransfer":{ + "shape":"long", + "documentation":"

The estimated physical number of bytes that is to be transferred over the network.

" + }, + "FilesTransferred":{ + "shape":"long", + "documentation":"

The actual number of files that was transferred over the network. This value is calculated and updated on an ongoing basis during the TRANSFERRING phase. It's updated periodically when each file is read from the source and sent over the network.

If failures occur during a transfer, this value can be less than EstimatedFilesToTransfer. This value can also be greater than EstimatedFilesTransferred in some cases. This element is implementation-specific for some location types, so don't use it as an indicator for a correct file number or to monitor your task execution.

" + }, + "BytesWritten":{ + "shape":"long", + "documentation":"

The number of logical bytes written to the destination AWS storage resource.

" + }, + "BytesTransferred":{ + "shape":"long", + "documentation":"

The physical number of bytes transferred over the network.

" + }, + "Result":{ + "shape":"TaskExecutionResultDetail", + "documentation":"

The result of the task execution.

" + } + }, + "documentation":"

DescribeTaskExecutionResponse

" + }, + "DescribeTaskRequest":{ + "type":"structure", + "required":["TaskArn"], + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task to describe.

" + } + }, + "documentation":"

DescribeTaskRequest

" + }, + "DescribeTaskResponse":{ + "type":"structure", + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task that was described.

" + }, + "Status":{ + "shape":"TaskStatus", + "documentation":"

The status of the task that was described.

For detailed information about task execution statuses, see Understanding Task Statuses in the AWS DataSync User Guide.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of the task that was described.

" + }, + "CurrentTaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the task execution that is syncing files.

" + }, + "SourceLocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the source file system's location.

" + }, + "DestinationLocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS storage resource's location.

" + }, + "CloudWatchLogGroupArn":{ + "shape":"LogGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that was used to monitor and log events in the task.

For more information on these groups, see Working with Log Groups and Log Streams in the Amazon CloudWatch User Guide.

" + }, + "SourceNetworkInterfaceArns":{ + "shape":"SourceNetworkInterfaceArns", + "documentation":"

The Amazon Resource Name (ARN) of the source ENIs (Elastic Network Interface) that was created for your subnet.

" + }, + "DestinationNetworkInterfaceArns":{ + "shape":"DestinationNetworkInterfaceArns", + "documentation":"

The Amazon Resource Name (ARN) of the destination ENIs (Elastic Network Interface) that was created for your subnet.

" + }, + "Options":{ + "shape":"Options", + "documentation":"

The set of configuration options that control the behavior of a single execution of the task that occurs when you call StartTaskExecution. You can configure these options to preserve metadata such as user ID (UID) and group (GID), file permissions, data integrity verification, and so on.

For each individual task execution, you can override these options by specifying the overriding OverrideOptions value to operation.

" + }, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: \"/folder1|/folder2\"

" + }, + "Schedule":{ + "shape":"TaskSchedule", + "documentation":"

The schedule used to periodically transfer files from a source to a destination location.

" + }, + "ErrorCode":{ + "shape":"string", + "documentation":"

Errors that AWS DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

" + }, + "ErrorDetail":{ + "shape":"string", + "documentation":"

Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

" + }, + "CreationTime":{ + "shape":"Time", + "documentation":"

The time that the task was created.

" + } + }, + "documentation":"

DescribeTaskResponse

" + }, + "DestinationNetworkInterfaceArns":{ + "type":"list", + "member":{"shape":"NetworkInterfaceArn"} + }, + "Duration":{ + "type":"long", + "min":0 + }, + "Ec2Config":{ + "type":"structure", + "required":[ + "SubnetArn", + "SecurityGroupArns" + ], + "members":{ + "SubnetArn":{ + "shape":"Ec2SubnetArn", + "documentation":"

The ARN of the subnet and the security group that DataSync uses to access the target EFS file system.

" + }, + "SecurityGroupArns":{ + "shape":"Ec2SecurityGroupArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the security groups that are configured for the Amazon EC2 resource.

" + } + }, + "documentation":"

The subnet and the security group that DataSync uses to access target EFS file system. The subnet must have at least one mount target for that file system. The security group that you provide needs to be able to communicate with the security group on the mount target in the subnet specified.

" + }, + "Ec2SecurityGroupArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:security-group/.*$" + }, + "Ec2SecurityGroupArnList":{ + "type":"list", + "member":{"shape":"Ec2SecurityGroupArn"}, + "max":5, + "min":1 + }, + "Ec2SubnetArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):ec2:[a-z\\-0-9]*:[0-9]{12}:subnet/.*$" + }, + "EfsFilesystemArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$" + }, + "EfsSubdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" + }, + "Endpoint":{ + "type":"string", + "max":15, + "min":7, + "pattern":"\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z" + }, + "EndpointType":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE_LINK", + "FIPS" + ] + }, + "FilterList":{ + "type":"list", + "member":{"shape":"FilterRule"}, + "max":1, + "min":0 + }, + "FilterRule":{ + "type":"structure", + "members":{ + "FilterType":{ + "shape":"FilterType", + "documentation":"

The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.

" + }, + "Value":{ + "shape":"FilterValue", + "documentation":"

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: /folder1|/folder2

" + } + }, + "documentation":"

Specifies which files, folders and objects to include or exclude when transferring files from source to destination.

" + }, + "FilterType":{ + "type":"string", + "enum":["SIMPLE_PATTERN"], + "max":128, + "pattern":"^[A-Z0-9_]+$" + }, + "FilterValue":{ + "type":"string", + "max":409600, + "pattern":"^[^\\x00]+$" + }, + "FsxFilesystemArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):fsx:[a-z\\-0-9]*:[0-9]{12}:file-system/fs-.*$" + }, + "FsxWindowsSubdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$" + }, + "Gid":{ + "type":"string", + "enum":[ + "NONE", + "INT_VALUE", + "NAME", + "BOTH" + ] + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$" + }, + "InternalException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"}, + "errorCode":{"shape":"string"} + }, + "documentation":"

This exception is thrown when an error occurs in the AWS DataSync service.

", + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"}, + "errorCode":{"shape":"string"} + }, + "documentation":"

This exception is thrown when the client submits a malformed request.

", + "exception":true + }, + "ListAgentsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of agents to list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin the next list of agents.

" + } + }, + "documentation":"

ListAgentsRequest

" + }, + "ListAgentsResponse":{ + "type":"structure", + "members":{ + "Agents":{ + "shape":"AgentList", + "documentation":"

A list of agents in your account.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin returning the next list of agents.

" + } + }, + "documentation":"

ListAgentsResponse

" + }, + "ListLocationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of locations to return.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin the next list of locations.

" + } + }, + "documentation":"

ListLocationsRequest

" + }, + "ListLocationsResponse":{ + "type":"structure", + "members":{ + "Locations":{ + "shape":"LocationList", + "documentation":"

An array that contains a list of locations.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin returning the next list of locations.

" + } + }, + "documentation":"

ListLocationsResponse

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"TaggableResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags to list.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of locations to return.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin the next list of locations.

" + } + }, + "documentation":"

ListTagsForResourceRequest

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

Array of resource tags.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin returning the next list of resource tags.

" + } + }, + "documentation":"

ListTagsForResourceResponse

" + }, + "ListTaskExecutionsRequest":{ + "type":"structure", + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task whose tasks you want to list.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of executed tasks to list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin the next list of the executed tasks.

" + } + }, + "documentation":"

ListTaskExecutions

" + }, + "ListTaskExecutionsResponse":{ + "type":"structure", + "members":{ + "TaskExecutions":{ + "shape":"TaskExecutionList", + "documentation":"

A list of executed tasks.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin returning the next list of executed tasks.

" + } + }, + "documentation":"

ListTaskExecutionsResponse

" + }, + "ListTasksRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of tasks to return.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin the next list of tasks.

" + } + }, + "documentation":"

ListTasksRequest

" + }, + "ListTasksResponse":{ + "type":"structure", + "members":{ + "Tasks":{ + "shape":"TaskList", + "documentation":"

A list of all the tasks that are returned.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

An opaque string that indicates the position at which to begin returning the next list of tasks.

" + } + }, + "documentation":"

ListTasksResponse

" + }, + "LocationArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" + }, + "LocationList":{ + "type":"list", + "member":{"shape":"LocationListEntry"} + }, + "LocationListEntry":{ + "type":"structure", + "members":{ + "LocationArn":{ + "shape":"LocationArn", + "documentation":"

The Amazon Resource Name (ARN) of the location. For Network File System (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the location is the prefix path that you want to mount and use as the root of the location.

" + }, + "LocationUri":{ + "shape":"LocationUri", + "documentation":"

Represents a list of URLs of a location. LocationUri returns an array that contains a list of locations when the ListLocations operation is called.

Format: TYPE://GLOBAL_ID/SUBDIR.

TYPE designates the type of location. Valid values: NFS | EFS | S3.

GLOBAL_ID is the globally unique identifier of the resource that backs the location. An example for EFS is us-east-2.fs-abcd1234. An example for Amazon S3 is the bucket name, such as myBucket. An example for NFS is a valid IPv4 address or a host name compliant with Domain Name Service (DNS).

SUBDIR is a valid file system path, delimited by forward slashes as is the *nix convention. For NFS and Amazon EFS, it's the export path to mount the location. For Amazon S3, it's the prefix path that you mount to and treat as the root of the location.

" + } + }, + "documentation":"

Represents a single entry in a list of locations. LocationListEntry returns an array that contains a list of locations when the ListLocations operation is called.

" + }, + "LocationUri":{ + "type":"string", + "max":4356, + "pattern":"^(efs|nfs|s3|smb|fsxw)://[a-zA-Z0-9.\\-]+$" + }, + "LogGroupArn":{ + "type":"string", + "max":562, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):logs:[a-z\\-0-9]*:[0-9]{12}:log-group:([^:\\*]*)$" + }, + "LogLevel":{ + "type":"string", + "enum":[ + "OFF", + "BASIC", + "TRANSFER" + ] + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":0 + }, + "Mtime":{ + "type":"string", + "enum":[ + "NONE", + "PRESERVE" + ] + }, + "NetworkInterfaceArn":{ + "type":"string", + "max":128, + "pattern":"^arn:aws[\\-a-z]{0,}:ec2:[a-z\\-0-9]*:[0-9]{12}:network-interface/eni-[0-9a-f]+$" + }, + "NextToken":{ + "type":"string", + "max":65535, + "pattern":"[a-zA-Z0-9=_-]+" + }, + "NfsMountOptions":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"NfsVersion", + "documentation":"

The specific NFS version that you want DataSync to use to mount your NFS share. If the server refuses to use the version specified, the sync will fail. If you don't specify a version, DataSync defaults to AUTOMATIC. That is, DataSync automatically selects a version based on negotiation with the NFS server.

You can specify the following NFS versions:

  • NFSv3 - stateless protocol version that allows for asynchronous writes on the server.

  • NFSv4.0 - stateful, firewall-friendly protocol version that supports delegations and pseudo filesystems.

  • NFSv4.1 - stateful protocol version that supports sessions, directory delegations, and parallel data processing. Version 4.1 also includes all features available in version 4.0.

" + } + }, + "documentation":"

Represents the mount options that are available for DataSync to access an NFS location.

" + }, + "NfsSubdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]+$" + }, + "NfsVersion":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "NFS3", + "NFS4_0", + "NFS4_1" + ] + }, + "OnPremConfig":{ + "type":"structure", + "required":["AgentArns"], + "members":{ + "AgentArns":{ + "shape":"AgentArnList", + "documentation":"

ARNs)of the agents to use for an NFS location.

" + } + }, + "documentation":"

A list of Amazon Resource Names (ARNs) of agents to use for a Network File System (NFS) location.

" + }, + "Options":{ + "type":"structure", + "members":{ + "VerifyMode":{ + "shape":"VerifyMode", + "documentation":"

A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred.

Default value: POINT_IN_TIME_CONSISTENT.

POINT_IN_TIME_CONSISTENT: Perform verification (recommended).

ONLY_FILES_TRANSFERRED: Perform verification on only files that were transferred.

NONE: Skip verification.

" + }, + "OverwriteMode":{ + "shape":"OverwriteMode", + "documentation":"

A value that determines whether files at the destination should be overwritten or preserved when copying files. If set to NEVER a destination file will not be replaced by a source file, even if the destination file differs from the source file. If you modify files in the destination and you sync the files, you can use this value to protect against overwriting those changes.

Some storage classes have specific behaviors that can affect your S3 storage cost. For detailed information, see using-storage-classes in the AWS DataSync User Guide.

" + }, + "Atime":{ + "shape":"Atime", + "documentation":"

A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to). If you set Atime to BEST_EFFORT, DataSync attempts to preserve the original Atime attribute on all source files (that is, the version before the PREPARING phase). However, Atime's behavior is not fully standard across platforms, so AWS DataSync can only do this on a best-effort basis.

Default value: BEST_EFFORT.

BEST_EFFORT: Attempt to preserve the per-file Atime value (recommended).

NONE: Ignore Atime.

If Atime is set to BEST_EFFORT, Mtime must be set to PRESERVE.

If Atime is set to NONE, Mtime must also be NONE.

" + }, + "Mtime":{ + "shape":"Mtime", + "documentation":"

A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.

Default value: PRESERVE.

PRESERVE: Preserve original Mtime (recommended)

NONE: Ignore Mtime.

If Mtime is set to PRESERVE, Atime must be set to BEST_EFFORT.

If Mtime is set to NONE, Atime must also be set to NONE.

" + }, + "Uid":{ + "shape":"Uid", + "documentation":"

The user ID (UID) of the file's owner.

Default value: INT_VALUE. This preserves the integer value of the ID.

INT_VALUE: Preserve the integer value of UID and group ID (GID) (recommended).

NONE: Ignore UID and GID.

" + }, + "Gid":{ + "shape":"Gid", + "documentation":"

The group ID (GID) of the file's owners.

Default value: INT_VALUE. This preserves the integer value of the ID.

INT_VALUE: Preserve the integer value of user ID (UID) and GID (recommended).

NONE: Ignore UID and GID.

" + }, + "PreserveDeletedFiles":{ + "shape":"PreserveDeletedFiles", + "documentation":"

A value that specifies whether files in the destination that don't exist in the source file system should be preserved. This option can affect your storage cost. If your task deletes objects, you might incur minimum storage duration charges for certain storage classes. For detailed information, see using-storage-classes in the AWS DataSync User Guide.

Default value: PRESERVE.

PRESERVE: Ignore such destination files (recommended).

REMOVE: Delete destination files that aren’t present in the source.

" + }, + "PreserveDevices":{ + "shape":"PreserveDevices", + "documentation":"

A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and recreate the files with that device name and metadata on the destination.

AWS DataSync can't sync the actual contents of such devices, because they are nonterminal and don't return an end-of-file (EOF) marker.

Default value: NONE.

NONE: Ignore special devices (recommended).

PRESERVE: Preserve character and block device metadata. This option isn't currently supported for Amazon EFS.

" + }, + "PosixPermissions":{ + "shape":"PosixPermissions", + "documentation":"

A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.

Default value: PRESERVE.

PRESERVE: Preserve POSIX-style permissions (recommended).

NONE: Ignore permissions.

AWS DataSync can preserve extant permissions of a source location.

" + }, + "BytesPerSecond":{ + "shape":"BytesPerSecond", + "documentation":"

A value that limits the bandwidth used by AWS DataSync. For example, if you want AWS DataSync to use a maximum of 1 MB, set this value to 1048576 (=1024*1024).

" + }, + "TaskQueueing":{ + "shape":"TaskQueueing", + "documentation":"

A value that determines whether tasks should be queued before executing the tasks. If set to ENABLED, the tasks will be queued. The default is ENABLED.

If you use the same agent to run multiple tasks you can enable the tasks to run in series. For more information see queue-task-execution.

" + }, + "LogLevel":{ + "shape":"LogLevel", + "documentation":"

A value that determines the type of logs DataSync will deliver to your AWS CloudWatch Logs file. If set to OFF, no logs will be delivered. BASIC will deliver a few logs per transfer operation and TRANSFER will deliver a verbose log that contains logs for every file that is transferred.

" + } + }, + "documentation":"

Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, data integrity verification, and so on.

A task has a set of default options associated with it. If you don't specify an option in StartTaskExecution, the default value is used. You can override the defaults options on each task execution by specifying an overriding Options value to StartTaskExecution.

" + }, + "OverwriteMode":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER" + ] + }, + "PLSecurityGroupArnList":{ + "type":"list", + "member":{"shape":"Ec2SecurityGroupArn"}, + "max":1, + "min":1 + }, + "PLSubnetArnList":{ + "type":"list", + "member":{"shape":"Ec2SubnetArn"}, + "max":1, + "min":1 + }, + "PhaseStatus":{ + "type":"string", + "enum":[ + "PENDING", + "SUCCESS", + "ERROR" + ] + }, + "PosixPermissions":{ + "type":"string", + "enum":[ + "NONE", + "PRESERVE" + ] + }, + "PreserveDeletedFiles":{ + "type":"string", + "enum":[ + "PRESERVE", + "REMOVE" + ] + }, + "PreserveDevices":{ + "type":"string", + "enum":[ + "NONE", + "PRESERVE" + ] + }, + "PrivateLinkConfig":{ + "type":"structure", + "members":{ + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

The ID of the VPC endpoint that is configured for an agent. An agent that is configured with a VPC endpoint will not be accessible over the public Internet.

" + }, + "PrivateLinkEndpoint":{ + "shape":"Endpoint", + "documentation":"

The private endpoint that is configured for an agent that has access to IP addresses in a PrivateLink. An agent that is configured with this endpoint will not be accessible over the public Internet.

" + }, + "SubnetArns":{ + "shape":"PLSubnetArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the subnets that are configured for an agent activated in a VPC or an agent that has access to a VPC endpoint.

" + }, + "SecurityGroupArns":{ + "shape":"PLSecurityGroupArnList", + "documentation":"

The Amazon Resource Names (ARNs) of the security groups that are configured for the EC2 resource that hosts an agent activated in a VPC or an agent that has access to a VPC endpoint.

" + } + }, + "documentation":"

The VPC endpoint, subnet and security group that an agent uses to access IP addresses in a VPC (Virtual Private Cloud).

" + }, + "S3BucketArn":{ + "type":"string", + "max":76, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):s3:::([^/]*)$" + }, + "S3Config":{ + "type":"structure", + "required":["BucketAccessRoleArn"], + "members":{ + "BucketAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon S3 bucket to access. This bucket is used as a parameter in the CreateLocationS3 operation.

" + } + }, + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that is used to access an Amazon S3 bucket.

For detailed information about using such a role, see Creating a Location for Amazon S3 in the AWS DataSync User Guide.

" + }, + "S3StorageClass":{ + "type":"string", + "enum":[ + "STANDARD", + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "GLACIER", + "DEEP_ARCHIVE" + ] + }, + "S3Subdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\p{Zs}]*$" + }, + "ScheduleExpressionCron":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\ \\_\\*\\?\\,\\|\\^\\-\\/\\#\\s\\(\\)\\+]*$" + }, + "ServerHostname":{ + "type":"string", + "max":255, + "pattern":"^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])$" + }, + "SmbDomain":{ + "type":"string", + "max":253, + "pattern":"^([A-Za-z0-9]+[A-Za-z0-9-.]*)*[A-Za-z0-9-]*[A-Za-z0-9]$" + }, + "SmbMountOptions":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"SmbVersion", + "documentation":"

The specific SMB version that you want DataSync to use to mount your SMB share. If you don't specify a version, DataSync defaults to AUTOMATIC. That is, DataSync automatically selects a version based on negotiation with the SMB server.

" + } + }, + "documentation":"

Represents the mount options that are available for DataSync to access an SMB location.

" + }, + "SmbPassword":{ + "type":"string", + "max":104, + "pattern":"^.{0,104}$", + "sensitive":true + }, + "SmbSubdirectory":{ + "type":"string", + "max":4096, + "pattern":"^[a-zA-Z0-9_\\-\\+\\./\\(\\)\\$\\p{Zs}]+$" + }, + "SmbUser":{ + "type":"string", + "max":104, + "pattern":"^[^\\x5B\\x5D\\\\/:;|=,+*?]{1,104}$" + }, + "SmbVersion":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "SMB2", + "SMB3" + ] + }, + "SourceNetworkInterfaceArns":{ + "type":"list", + "member":{"shape":"NetworkInterfaceArn"} + }, + "StartTaskExecutionRequest":{ + "type":"structure", + "required":["TaskArn"], + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task to start.

" + }, + "OverrideOptions":{"shape":"Options"}, + "Includes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to include when running a task. The pattern should contain a single filter string that consists of the patterns to include. The patterns are delimited by \"|\" (that is, a pipe). For example: \"/folder1|/folder2\"

" + } + }, + "documentation":"

StartTaskExecutionRequest

" + }, + "StartTaskExecutionResponse":{ + "type":"structure", + "members":{ + "TaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the specific task execution that was started.

" + } + }, + "documentation":"

StartTaskExecutionResponse

" + }, + "TagKey":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9\\s+=._:/-]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"TagListEntry"}, + "max":55, + "min":0 + }, + "TagListEntry":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key for an AWS resource tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value for an AWS resource tag.

" + } + }, + "documentation":"

Represents a single entry in a list of AWS resource tags. TagListEntry returns an array that contains a list of tasks when the ListTagsForResource operation is called.

" + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"TaggableResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to apply the tag to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply.

" + } + }, + "documentation":"

TagResourceRequest

" + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9\\s+=._:@/-]+$" + }, + "TaggableResourceArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:(agent|task|location)/(agent|task|loc)-[0-9a-z]{17}$" + }, + "TaskArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}$" + }, + "TaskExecutionArn":{ + "type":"string", + "max":128, + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]*:[0-9]{12}:task/task-[0-9a-f]{17}/execution/exec-[0-9a-f]{17}$" + }, + "TaskExecutionList":{ + "type":"list", + "member":{"shape":"TaskExecutionListEntry"} + }, + "TaskExecutionListEntry":{ + "type":"structure", + "members":{ + "TaskExecutionArn":{ + "shape":"TaskExecutionArn", + "documentation":"

The Amazon Resource Name (ARN) of the task that was executed.

" + }, + "Status":{ + "shape":"TaskExecutionStatus", + "documentation":"

The status of a task execution.

" + } + }, + "documentation":"

Represents a single entry in a list of task executions. TaskExecutionListEntry returns an array that contains a list of specific invocations of a task when ListTaskExecutions operation is called.

" + }, + "TaskExecutionResultDetail":{ + "type":"structure", + "members":{ + "PrepareDuration":{ + "shape":"Duration", + "documentation":"

The total time in milliseconds that AWS DataSync spent in the PREPARING phase.

" + }, + "PrepareStatus":{ + "shape":"PhaseStatus", + "documentation":"

The status of the PREPARING phase.

" + }, + "TotalDuration":{ + "shape":"Duration", + "documentation":"

The total time in milliseconds that AWS DataSync took to transfer the file from the source to the destination location.

" + }, + "TransferDuration":{ + "shape":"Duration", + "documentation":"

The total time in milliseconds that AWS DataSync spent in the TRANSFERRING phase.

" + }, + "TransferStatus":{ + "shape":"PhaseStatus", + "documentation":"

The status of the TRANSFERRING Phase.

" + }, + "VerifyDuration":{ + "shape":"Duration", + "documentation":"

The total time in milliseconds that AWS DataSync spent in the VERIFYING phase.

" + }, + "VerifyStatus":{ + "shape":"PhaseStatus", + "documentation":"

The status of the VERIFYING Phase.

" + }, + "ErrorCode":{ + "shape":"string", + "documentation":"

Errors that AWS DataSync encountered during execution of the task. You can use this error code to help troubleshoot issues.

" + }, + "ErrorDetail":{ + "shape":"string", + "documentation":"

Detailed description of an error that was encountered during the task execution. You can use this information to help troubleshoot issues.

" + } + }, + "documentation":"

Describes the detailed result of a TaskExecution operation. This result includes the time in milliseconds spent in each phase, the status of the task execution, and the errors encountered.

" + }, + "TaskExecutionStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "LAUNCHING", + "PREPARING", + "TRANSFERRING", + "VERIFYING", + "SUCCESS", + "ERROR" + ] + }, + "TaskList":{ + "type":"list", + "member":{"shape":"TaskListEntry"} + }, + "TaskListEntry":{ + "type":"structure", + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the task.

" + }, + "Status":{ + "shape":"TaskStatus", + "documentation":"

The status of the task.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of the task.

" + } + }, + "documentation":"

Represents a single entry in a list of tasks. TaskListEntry returns an array that contains a list of tasks when the ListTasks operation is called. A task includes the source and destination file systems to sync and the options to use for the tasks.

" + }, + "TaskQueueing":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "TaskSchedule":{ + "type":"structure", + "required":["ScheduleExpression"], + "members":{ + "ScheduleExpression":{ + "shape":"ScheduleExpressionCron", + "documentation":"

A cron expression that specifies when AWS DataSync initiates a scheduled transfer from a source to a destination location.

" + } + }, + "documentation":"

Specifies the schedule you want your task to use for repeated executions. For more information, see Schedule Expressions for Rules.

" + }, + "TaskStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "CREATING", + "QUEUED", + "RUNNING", + "UNAVAILABLE" + ] + }, + "Time":{"type":"timestamp"}, + "Uid":{ + "type":"string", + "enum":[ + "NONE", + "INT_VALUE", + "NAME", + "BOTH" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Keys" + ], + "members":{ + "ResourceArn":{ + "shape":"TaggableResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove the tag from.

" + }, + "Keys":{ + "shape":"TagKeyList", + "documentation":"

The keys in the key-value pair in the tag to remove.

" + } + }, + "documentation":"

UntagResourceRequest

" + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAgentRequest":{ + "type":"structure", + "required":["AgentArn"], + "members":{ + "AgentArn":{ + "shape":"AgentArn", + "documentation":"

The Amazon Resource Name (ARN) of the agent to update.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name that you want to use to configure the agent.

" + } + }, + "documentation":"

UpdateAgentRequest

" + }, + "UpdateAgentResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTaskRequest":{ + "type":"structure", + "required":["TaskArn"], + "members":{ + "TaskArn":{ + "shape":"TaskArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource name of the task to update.

" + }, + "Options":{"shape":"Options"}, + "Excludes":{ + "shape":"FilterList", + "documentation":"

A list of filter rules that determines which files to exclude from a task. The list should contain a single filter string that consists of the patterns to exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: \"/folder1|/folder2\"

" + }, + "Schedule":{ + "shape":"TaskSchedule", + "documentation":"

Specifies a schedule used to periodically transfer files from a source to a destination location. You can configure your task to execute hourly, daily, weekly or on specific days of the week. You control when in the day or hour you want the task to execute. The time you specify is UTC time. For more information, see task-scheduling.

" + }, + "Name":{ + "shape":"TagValue", + "documentation":"

The name of the task to update.

" + }, + "CloudWatchLogGroupArn":{ + "shape":"LogGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource name of the CloudWatch LogGroup.

" + } + }, + "documentation":"

UpdateTaskResponse

" + }, + "UpdateTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "VerifyMode":{ + "type":"string", + "enum":[ + "POINT_IN_TIME_CONSISTENT", + "ONLY_FILES_TRANSFERRED", + "NONE" + ] + }, + "VpcEndpointId":{ + "type":"string", + "pattern":"^vpce-[0-9a-f]{17}$" + }, + "long":{"type":"long"}, + "string":{"type":"string"} + }, + "documentation":"AWS DataSync

AWS DataSync is a managed data transfer service that makes it simpler for you to automate moving data between on-premises storage and Amazon Simple Storage Service (Amazon S3) or Amazon Elastic File System (Amazon EFS).

This API interface reference for AWS DataSync contains documentation for a programming interface that you can use to manage AWS DataSync.

" +} diff -Nru python-botocore-1.4.70/botocore/data/dax/2017-04-19/examples-1.json python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/examples-1.json --- python-botocore-1.4.70/botocore/data/dax/2017-04-19/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/dax/2017-04-19/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/paginators-1.json --- python-botocore-1.4.70/botocore/data/dax/2017-04-19/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,45 @@ +{ + "pagination": { + "DescribeClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Clusters" + }, + "DescribeDefaultParameters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Parameters" + }, + "DescribeEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Events" + }, + "DescribeParameterGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ParameterGroups" + }, + "DescribeParameters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Parameters" + }, + "DescribeSubnetGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SubnetGroups" + }, + "ListTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/dax/2017-04-19/service-2.json python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/service-2.json --- python-botocore-1.4.70/botocore/data/dax/2017-04-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dax/2017-04-19/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1684 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"dax", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Amazon DAX", + "serviceFullName":"Amazon DynamoDB Accelerator (DAX)", + "serviceId":"DAX", + "signatureVersion":"v4", + "targetPrefix":"AmazonDAXV3", + "uid":"dax-2017-04-19" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ClusterAlreadyExistsFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a DAX cluster. All nodes in the cluster run the same DAX caching software.

" + }, + "CreateParameterGroup":{ + "name":"CreateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateParameterGroupRequest"}, + "output":{"shape":"CreateParameterGroupResponse"}, + "errors":[ + {"shape":"ParameterGroupQuotaExceededFault"}, + {"shape":"ParameterGroupAlreadyExistsFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a new parameter group. A parameter group is a collection of parameters that you apply to all of the nodes in a DAX cluster.

" + }, + "CreateSubnetGroup":{ + "name":"CreateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSubnetGroupRequest"}, + "output":{"shape":"CreateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupAlreadyExistsFault"}, + {"shape":"SubnetGroupQuotaExceededFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ], + "documentation":"

Creates a new subnet group.

" + }, + "DecreaseReplicationFactor":{ + "name":"DecreaseReplicationFactor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DecreaseReplicationFactorRequest"}, + "output":{"shape":"DecreaseReplicationFactorResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"NodeNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Removes one or more nodes from a DAX cluster.

You cannot use DecreaseReplicationFactor to remove the last node in a DAX cluster. If you need to do this, use DeleteCluster instead.

" + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated nodes, node endpoints and the DAX cluster itself. When you receive a successful response from this action, DAX immediately begins deleting the cluster; you cannot cancel or revert this action.

" + }, + "DeleteParameterGroup":{ + "name":"DeleteParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParameterGroupRequest"}, + "output":{"shape":"DeleteParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any DAX clusters.

" + }, + "DeleteSubnetGroup":{ + "name":"DeleteSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSubnetGroupRequest"}, + "output":{"shape":"DeleteSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupInUseFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ], + "documentation":"

Deletes a subnet group.

You cannot delete a subnet group if it is associated with any DAX clusters.

" + }, + "DescribeClusters":{ + "name":"DescribeClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClustersRequest"}, + "output":{"shape":"DescribeClustersResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns information about all provisioned DAX clusters if no cluster identifier is specified, or about a specific DAX cluster if a cluster identifier is supplied.

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 nodes are currently being added to the DAX cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the DAX cluster state is available, the cluster is ready for use.

If nodes are currently being removed from the DAX cluster, no endpoint information for the removed nodes is displayed.

" + }, + "DescribeDefaultParameters":{ + "name":"DescribeDefaultParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDefaultParametersRequest"}, + "output":{"shape":"DescribeDefaultParametersResponse"}, + "errors":[ + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns the default system parameter information for the DAX caching software.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsRequest"}, + "output":{"shape":"DescribeEventsResponse"}, + "errors":[ + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns events related to DAX clusters and parameter groups. You can obtain events specific to a particular DAX cluster or parameter group by providing the name as a parameter.

By default, only the events occurring within the last 24 hours are returned; however, you can retrieve up to 14 days' worth of events if necessary.

" + }, + "DescribeParameterGroups":{ + "name":"DescribeParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParameterGroupsRequest"}, + "output":{"shape":"DescribeParameterGroupsResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns a list of parameter group descriptions. If a parameter group name is specified, the list will contain only the descriptions for that group.

" + }, + "DescribeParameters":{ + "name":"DescribeParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParametersRequest"}, + "output":{"shape":"DescribeParametersResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns the detailed parameter list for a particular parameter group.

" + }, + "DescribeSubnetGroups":{ + "name":"DescribeSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubnetGroupsRequest"}, + "output":{"shape":"DescribeSubnetGroupsResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ], + "documentation":"

Returns a list of subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

" + }, + "IncreaseReplicationFactor":{ + "name":"IncreaseReplicationFactor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IncreaseReplicationFactorRequest"}, + "output":{"shape":"IncreaseReplicationFactorResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Adds one or more nodes to a DAX cluster.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

List all of the tags for a DAX cluster. You can call ListTags up to 10 times per second, per account.

" + }, + "RebootNode":{ + "name":"RebootNode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootNodeRequest"}, + "output":{"shape":"RebootNodeResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"NodeNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Reboots a single node of a DAX cluster. The reboot action takes place as soon as possible. During the reboot, the node status is set to REBOOTING.

RebootNode restarts the DAX engine process and does not remove the contents of the cache.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidARNFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Associates a set of tags with a DAX resource. You can call TagResource up to 5 times per second, per account.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"TagNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Removes the association of tags from a DAX resource. You can call UntagResource up to 5 times per second, per account.

" + }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterRequest"}, + "output":{"shape":"UpdateClusterResponse"}, + "errors":[ + {"shape":"InvalidClusterStateFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Modifies the settings for a DAX cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

" + }, + "UpdateParameterGroup":{ + "name":"UpdateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateParameterGroupRequest"}, + "output":{"shape":"UpdateParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Modifies the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

" + }, + "UpdateSubnetGroup":{ + "name":"UpdateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSubnetGroupRequest"}, + "output":{"shape":"UpdateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"SubnetInUse"}, + {"shape":"InvalidSubnet"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ], + "documentation":"

Modifies an existing subnet group.

" + } + }, + "shapes":{ + "AvailabilityZoneList":{ + "type":"list", + "member":{"shape":"String"} + }, + "AwsQueryErrorMessage":{"type":"string"}, + "ChangeType":{ + "type":"string", + "enum":[ + "IMMEDIATE", + "REQUIRES_REBOOT" + ] + }, + "Cluster":{ + "type":"structure", + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the cluster.

" + }, + "ClusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

" + }, + "TotalNodes":{ + "shape":"IntegerOptional", + "documentation":"

The total number of nodes in the cluster.

" + }, + "ActiveNodes":{ + "shape":"IntegerOptional", + "documentation":"

The number of nodes in the cluster that are active (i.e., capable of serving requests).

" + }, + "NodeType":{ + "shape":"String", + "documentation":"

The node type for the nodes in the cluster. (All nodes in a DAX cluster are of the same type.)

" + }, + "Status":{ + "shape":"String", + "documentation":"

The current status of the cluster.

" + }, + "ClusterDiscoveryEndpoint":{ + "shape":"Endpoint", + "documentation":"

The configuration endpoint for this DAX cluster, consisting of a DNS name and a port number. Client applications can specify this endpoint, rather than an individual node endpoint, and allow the DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" + }, + "NodeIdsToRemove":{ + "shape":"NodeIdentifierList", + "documentation":"

A list of nodes to be removed from the cluster.

" + }, + "Nodes":{ + "shape":"NodeList", + "documentation":"

A list of nodes that are currently in the cluster.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

" + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" + }, + "SubnetGroup":{ + "shape":"String", + "documentation":"

The subnet group where the DAX cluster is running.

" + }, + "SecurityGroups":{ + "shape":"SecurityGroupMembershipList", + "documentation":"

A list of security groups, and the status of each, for the nodes in the cluster.

" + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

" + }, + "ParameterGroup":{ + "shape":"ParameterGroupStatus", + "documentation":"

The parameter group being used by nodes in the cluster.

" + }, + "SSEDescription":{ + "shape":"SSEDescription", + "documentation":"

The description of the server-side encryption status on the specified DAX cluster.

" + } + }, + "documentation":"

Contains all of the attributes of a specific DAX cluster.

" + }, + "ClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a DAX cluster with the given identifier.

", + "exception":true + }, + "ClusterList":{ + "type":"list", + "member":{"shape":"Cluster"} + }, + "ClusterNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested cluster ID does not refer to an existing DAX cluster.

", + "exception":true + }, + "ClusterQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of DAX clusters for your AWS account.

", + "exception":true + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeType", + "ReplicationFactor", + "IamRoleArn" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "NodeType":{ + "shape":"String", + "documentation":"

The compute and memory capacity of the nodes in the cluster.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the cluster.

" + }, + "ReplicationFactor":{ + "shape":"Integer", + "documentation":"

The number of nodes in the DAX cluster. A replication factor of 1 will create a single-node cluster, without any read replicas. For additional fault tolerance, you can create a multiple node cluster with one or more read replicas. To do this, set ReplicationFactor to a number between 3 (one primary and two read replicas) and 10 (one primary and nine read replicas). If the AvailabilityZones parameter is provided, its length must equal the ReplicationFactor.

AWS recommends that you have at least two read replicas per cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones (AZs) in which the cluster nodes will reside after the cluster has been created or updated. If provided, the length of this list must equal the ReplicationFactor parameter. If you omit this parameter, DAX will spread the nodes across Availability Zones for the highest availability.

" + }, + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to be used for the replication group.

DAX clusters can only run in an Amazon VPC environment. All of the subnets that you specify in a subnet group must exist in the same VPC.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdentifierList", + "documentation":"

A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)

If this parameter is not specified, DAX assigns the default VPC security group to each node.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which maintenance on the DAX 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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:05:00-sun:09:00

If you don't specify a preferred maintenance window when you create or modify a cache cluster, DAX assigns a 60-minute maintenance window on a randomly selected day of the week.

" + }, + "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 DAX cluster owner.

" + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, DAX will assume this role and use the role's permissions to access DynamoDB on your behalf.

" + }, + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The parameter group to be associated with the DAX cluster.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A set of tags to associate with the DAX cluster.

" + }, + "SSESpecification":{ + "shape":"SSESpecification", + "documentation":"

Represents the settings used to enable server-side encryption on the cluster.

" + } + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster that you have created.

" + } + } + }, + "CreateParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group to apply to all of the clusters in this replication group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter group.

" + } + } + }, + "CreateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{ + "shape":"ParameterGroup", + "documentation":"

Represents the output of a CreateParameterGroup action.

" + } + } + }, + "CreateSubnetGroupRequest":{ + "type":"structure", + "required":[ + "SubnetGroupName", + "SubnetIds" + ], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

A name for the subnet group. This value is stored as a lowercase string.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the subnet group

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

A list of VPC subnet IDs for the subnet group.

" + } + } + }, + "CreateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{ + "shape":"SubnetGroup", + "documentation":"

Represents the output of a CreateSubnetGroup operation.

" + } + } + }, + "DecreaseReplicationFactorRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NewReplicationFactor" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster from which you want to remove nodes.

" + }, + "NewReplicationFactor":{ + "shape":"Integer", + "documentation":"

The new number of nodes for the DAX cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zone(s) from which to remove nodes.

" + }, + "NodeIdsToRemove":{ + "shape":"NodeIdentifierList", + "documentation":"

The unique identifiers of the nodes to be removed from the cluster.

" + } + } + }, + "DecreaseReplicationFactorResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster, after you have decreased its replication factor.

" + } + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the cluster to be deleted.

" + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster that is being deleted.

" + } + } + }, + "DeleteParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group to delete.

" + } + } + }, + "DeleteParameterGroupResponse":{ + "type":"structure", + "members":{ + "DeletionMessage":{ + "shape":"String", + "documentation":"

A user-specified message for this action (i.e., a reason for deleting the parameter group).

" + } + } + }, + "DeleteSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to delete.

" + } + } + }, + "DeleteSubnetGroupResponse":{ + "type":"structure", + "members":{ + "DeletionMessage":{ + "shape":"String", + "documentation":"

A user-specified message for this action (i.e., a reason for deleting the subnet group).

" + } + } + }, + "DescribeClustersRequest":{ + "type":"structure", + "members":{ + "ClusterNames":{ + "shape":"ClusterNameList", + "documentation":"

The names of the DAX clusters being described.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeClustersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Clusters":{ + "shape":"ClusterList", + "documentation":"

The descriptions of your DAX clusters, in response to a DescribeClusters request.

" + } + } + }, + "DescribeDefaultParametersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeDefaultParametersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Parameters":{ + "shape":"ParameterList", + "documentation":"

A list of parameters. Each element in the list represents one parameter.

" + } + } + }, + "DescribeEventsRequest":{ + "type":"structure", + "members":{ + "SourceName":{ + "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.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The number of minutes' worth of events to retrieve.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

An array of events. Each element in the array represents one event.

" + } + } + }, + "DescribeParameterGroupsRequest":{ + "type":"structure", + "members":{ + "ParameterGroupNames":{ + "shape":"ParameterGroupNameList", + "documentation":"

The names of the parameter groups.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeParameterGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "ParameterGroups":{ + "shape":"ParameterGroupList", + "documentation":"

An array of parameter groups. Each element in the array represents one parameter group.

" + } + } + }, + "DescribeParametersRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "Source":{ + "shape":"String", + "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeParametersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "Parameters":{ + "shape":"ParameterList", + "documentation":"

A list of parameters within a parameter group. Each element in the list represents one parameter.

" + } + } + }, + "DescribeSubnetGroupsRequest":{ + "type":"structure", + "members":{ + "SubnetGroupNames":{ + "shape":"SubnetGroupNameList", + "documentation":"

The name of the subnet group.

" + }, + "MaxResults":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of results to include in the response. If more results exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

The value for MaxResults must be between 20 and 100.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token, up to the value specified by MaxResults.

" + } + } + }, + "DescribeSubnetGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "SubnetGroups":{ + "shape":"SubnetGroupList", + "documentation":"

An array of subnet groups. Each element in the array represents a single subnet group.

" + } + } + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

The DNS hostname of the endpoint.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

The port number that applications should use to connect to the endpoint.

" + } + }, + "documentation":"

Represents the information required for client programs to connect to the configuration endpoint for a DAX cluster, or to an individual node within the cluster.

" + }, + "Event":{ + "type":"structure", + "members":{ + "SourceName":{ + "shape":"String", + "documentation":"

The source of the event. For example, if the event occurred at the node level, the source would be the node ID.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

Specifies the origin of this event - a cluster, a parameter group, a node ID, etc.

" + }, + "Message":{ + "shape":"String", + "documentation":"

A user-defined message associated with the event.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

The date and time when the event occurred.

" + } + }, + "documentation":"

Represents a single occurrence of something interesting within the system. Some examples of events are creating a DAX cluster, adding or removing a node, or rebooting a node.

" + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "IncreaseReplicationFactorRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NewReplicationFactor" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster that will receive additional nodes.

" + }, + "NewReplicationFactor":{ + "shape":"Integer", + "documentation":"

The new number of nodes for the DAX cluster.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones (AZs) in which the cluster nodes will be created. All nodes belonging to the cluster are placed in these Availability Zones. Use this parameter if you want to distribute the nodes across multiple AZs.

" + } + } + }, + "IncreaseReplicationFactorResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster. with its new replication factor.

" + } + } + }, + "InsufficientClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There are not enough system resources to create the cluster you requested (or to resize an already-existing cluster).

", + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidARNFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Amazon Resource Name (ARN) supplied in the request is not valid.

", + "exception":true + }, + "InvalidClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested DAX cluster is not in the available state.

", + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "documentation":"

Two or more incompatible parameters were specified.

", + "exception":true, + "synthetic":true + }, + "InvalidParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

One or more parameters in a parameter group are in an invalid state.

", + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "documentation":"

The value for a parameter is invalid.

", + "exception":true, + "synthetic":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "documentation":"

An invalid subnet identifier was specified.

", + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The VPC network is in an invalid state.

", + "exception":true + }, + "IsModifiable":{ + "type":"string", + "enum":[ + "TRUE", + "FALSE", + "CONDITIONAL" + ] + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource to which the tags belong.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional token returned from a prior request. Use this token for pagination of results from this action. If this parameter is specified, the response includes only results beyond the token.

" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags currently associated with the DAX cluster.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

If this value is present, there are additional results to be displayed. To retrieve them, call ListTags again, with NextToken set to this value.

" + } + } + }, + "Node":{ + "type":"structure", + "members":{ + "NodeId":{ + "shape":"String", + "documentation":"

A system-generated identifier for the node.

" + }, + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint for the node, consisting of a DNS name and a port number. Client applications can connect directly to a node endpoint, if desired (as an alternative to allowing DAX client software to intelligently route requests and responses to nodes in the DAX cluster.

" + }, + "NodeCreateTime":{ + "shape":"TStamp", + "documentation":"

The date and time (in UNIX epoch format) when the node was launched.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone (AZ) in which the node has been deployed.

" + }, + "NodeStatus":{ + "shape":"String", + "documentation":"

The current status of the node. For example: available.

" + }, + "ParameterGroupStatus":{ + "shape":"String", + "documentation":"

The status of the parameter group associated with this node. For example, in-sync.

" + } + }, + "documentation":"

Represents an individual node within a DAX cluster.

" + }, + "NodeIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "NodeList":{ + "type":"list", + "member":{"shape":"Node"} + }, + "NodeNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

None of the nodes in the cluster have the given node ID.

", + "exception":true + }, + "NodeQuotaForClusterExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of nodes for a DAX cluster.

", + "exception":true + }, + "NodeQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of nodes for your AWS account.

", + "exception":true + }, + "NodeTypeSpecificValue":{ + "type":"structure", + "members":{ + "NodeType":{ + "shape":"String", + "documentation":"

A node type to which the parameter value applies.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The parameter value for this node type.

" + } + }, + "documentation":"

Represents a parameter value that is applicable to a particular node type.

" + }, + "NodeTypeSpecificValueList":{ + "type":"list", + "member":{"shape":"NodeTypeSpecificValue"} + }, + "NotificationConfiguration":{ + "type":"structure", + "members":{ + "TopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the topic.

" + }, + "TopicStatus":{ + "shape":"String", + "documentation":"

The current state of the topic.

" + } + }, + "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing DAX events to subscribers using Amazon Simple Notification Service (SNS).

" + }, + "Parameter":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

The name of the parameter.

" + }, + "ParameterType":{ + "shape":"ParameterType", + "documentation":"

Determines whether the parameter can be applied to any nodes, or only nodes of a particular type.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

The value for the parameter.

" + }, + "NodeTypeSpecificValues":{ + "shape":"NodeTypeSpecificValueList", + "documentation":"

A list of node types, and specific parameter values for each node.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter

" + }, + "Source":{ + "shape":"String", + "documentation":"

How the parameter is defined. For example, system denotes a system-defined parameter.

" + }, + "DataType":{ + "shape":"String", + "documentation":"

The data type of the parameter. For example, integer:

" + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

A range of values within which the parameter can be set.

" + }, + "IsModifiable":{ + "shape":"IsModifiable", + "documentation":"

Whether the customer is allowed to modify the parameter.

" + }, + "ChangeType":{ + "shape":"ChangeType", + "documentation":"

The conditions under which changes to this parameter can be applied. For example, requires-reboot indicates that a new value for this parameter will only take effect if a node is rebooted.

" + } + }, + "documentation":"

Describes an individual setting that controls some aspect of DAX behavior.

" + }, + "ParameterGroup":{ + "type":"structure", + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the parameter group.

" + } + }, + "documentation":"

A named set of parameters that are applied to all of the nodes in a DAX cluster.

" + }, + "ParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified parameter group already exists.

", + "exception":true + }, + "ParameterGroupList":{ + "type":"list", + "member":{"shape":"ParameterGroup"} + }, + "ParameterGroupNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified parameter group does not exist.

", + "exception":true + }, + "ParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have attempted to exceed the maximum number of parameter groups.

", + "exception":true + }, + "ParameterGroupStatus":{ + "type":"structure", + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "ParameterApplyStatus":{ + "shape":"String", + "documentation":"

The status of parameter updates.

" + }, + "NodeIdsToReboot":{ + "shape":"NodeIdentifierList", + "documentation":"

The node IDs of one or more nodes to be rebooted.

" + } + }, + "documentation":"

The status of a parameter group.

" + }, + "ParameterList":{ + "type":"list", + "member":{"shape":"Parameter"} + }, + "ParameterNameValue":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

The name of the parameter.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

The value of the parameter.

" + } + }, + "documentation":"

An individual DAX parameter.

" + }, + "ParameterNameValueList":{ + "type":"list", + "member":{"shape":"ParameterNameValue"} + }, + "ParameterType":{ + "type":"string", + "enum":[ + "DEFAULT", + "NODE_TYPE_SPECIFIC" + ] + }, + "RebootNodeRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeId" + ], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster containing the node to be rebooted.

" + }, + "NodeId":{ + "shape":"String", + "documentation":"

The system-assigned ID of the node to be rebooted.

" + } + } + }, + "RebootNodeResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster after a node has been rebooted.

" + } + } + }, + "SSEDescription":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"SSEStatus", + "documentation":"

The current state of server-side encryption:

  • ENABLING - Server-side encryption is being enabled.

  • ENABLED - Server-side encryption is enabled.

  • DISABLING - Server-side encryption is being disabled.

  • DISABLED - Server-side encryption is disabled.

" + } + }, + "documentation":"

The description of the server-side encryption status on the specified DAX cluster.

" + }, + "SSEEnabled":{"type":"boolean"}, + "SSESpecification":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"SSEEnabled", + "documentation":"

Indicates whether server-side encryption is enabled (true) or disabled (false) on the cluster.

" + } + }, + "documentation":"

Represents the settings used to enable server-side encryption.

" + }, + "SSEStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED" + ] + }, + "SecurityGroupIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SecurityGroupMembership":{ + "type":"structure", + "members":{ + "SecurityGroupIdentifier":{ + "shape":"String", + "documentation":"

The unique ID for this security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of this security group.

" + } + }, + "documentation":"

An individual VPC security group and its status.

" + }, + "SecurityGroupMembershipList":{ + "type":"list", + "member":{"shape":"SecurityGroupMembership"} + }, + "ServiceLinkedRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified service linked role (SLR) was not found.

", + "exception":true + }, + "SourceType":{ + "type":"string", + "enum":[ + "CLUSTER", + "PARAMETER_GROUP", + "SUBNET_GROUP" + ] + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{ + "shape":"String", + "documentation":"

The system-assigned identifier for the subnet.

" + }, + "SubnetAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone (AZ) for the subnet.

" + } + }, + "documentation":"

Represents the subnet associated with a DAX cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with DAX.

" + }, + "SubnetGroup":{ + "type":"structure", + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the subnet group.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

" + }, + "Subnets":{ + "shape":"SubnetList", + "documentation":"

A list of subnets associated with the subnet group.

" + } + }, + "documentation":"

Represents the output of one of the following actions:

  • CreateSubnetGroup

  • ModifySubnetGroup

" + }, + "SubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified subnet group already exists.

", + "exception":true + }, + "SubnetGroupInUseFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified subnet group is currently in use.

", + "exception":true + }, + "SubnetGroupList":{ + "type":"list", + "member":{"shape":"SubnetGroup"} + }, + "SubnetGroupNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet group name does not refer to an existing subnet group.

", + "exception":true + }, + "SubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

", + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetInUse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet is being used by another subnet group.

", + "exception":true + }, + "SubnetList":{ + "type":"list", + "member":{"shape":"Subnet"} + }, + "SubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request cannot be processed because it would exceed the allowed number of subnets in a subnet group.

", + "exception":true + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The key for the tag. Tag keys are case sensitive. Every DAX cluster can only have one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The value of the tag. Tag values are case-sensitive and can be null.

" + } + }, + "documentation":"

A description of a tag. Every tag is a key-value pair. You can add up to 50 tags to a single DAX cluster.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user:.

You cannot backdate the application of a tag.

" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The tag does not exist.

", + "exception":true + }, + "TagQuotaPerResourceExceeded":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of tags for this DAX cluster.

", + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceName", + "Tags" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource to which tags should be added.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DAX resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tags that are associated with the DAX resource.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceName", + "TagKeys" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The name of the DAX resource from which the tags should be removed.

" + }, + "TagKeys":{ + "shape":"KeyList", + "documentation":"

A list of tag keys. If the DAX cluster has any tags with these keys, then the tags are removed from the cluster.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tag keys that have been removed from the cluster.

" + } + } + }, + "UpdateClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{ + "shape":"String", + "documentation":"

The name of the DAX cluster to be modified.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the changes being made to the cluster.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

A range of time when maintenance of DAX cluster software will be performed. For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less than 30 minutes, and is performed automatically within the maintenance window.

" + }, + "NotificationTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the topic.

" + }, + "NotificationTopicStatus":{ + "shape":"String", + "documentation":"

The current state of the topic.

" + }, + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a parameter group for this cluster.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdentifierList", + "documentation":"

A list of user-specified security group IDs to be assigned to each node in the DAX cluster. If this parameter is not specified, DAX assigns the default VPC security group to each node.

" + } + } + }, + "UpdateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{ + "shape":"Cluster", + "documentation":"

A description of the DAX cluster, after it has been modified.

" + } + } + }, + "UpdateParameterGroupRequest":{ + "type":"structure", + "required":[ + "ParameterGroupName", + "ParameterNameValues" + ], + "members":{ + "ParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the parameter group.

" + }, + "ParameterNameValues":{ + "shape":"ParameterNameValueList", + "documentation":"

An array of name-value pairs for the parameters in the group. Each element in the array represents a single parameter.

" + } + } + }, + "UpdateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{ + "shape":"ParameterGroup", + "documentation":"

The parameter group that has been modified.

" + } + } + }, + "UpdateSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

A list of subnet IDs in the subnet group.

" + } + } + }, + "UpdateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{ + "shape":"SubnetGroup", + "documentation":"

The subnet group that has been modified.

" + } + } + } + }, + "documentation":"

DAX is a managed caching service engineered for Amazon DynamoDB. DAX dramatically speeds up database reads by caching frequently-accessed data from DynamoDB, so applications can access that data with sub-millisecond latency. You can create a DAX cluster easily, using the AWS Management Console. With a few simple modifications to your code, your application can begin taking advantage of the DAX cluster and realize significant improvements in read performance.

" +} diff -Nru python-botocore-1.4.70/botocore/data/detective/2018-10-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/detective/2018-10-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/detective/2018-10-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/detective/2018-10-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/detective/2018-10-26/service-2.json python-botocore-1.16.19+repack/botocore/data/detective/2018-10-26/service-2.json --- python-botocore-1.4.70/botocore/data/detective/2018-10-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/detective/2018-10-26/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,655 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-26", + "endpointPrefix":"api.detective", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Detective", + "serviceId":"Detective", + "signatureVersion":"v4", + "signingName":"detective", + "uid":"detective-2018-10-26" + }, + "operations":{ + "AcceptInvitation":{ + "name":"AcceptInvitation", + "http":{ + "method":"PUT", + "requestUri":"/invitation" + }, + "input":{"shape":"AcceptInvitationRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Accepts an invitation for the member account to contribute data to a behavior graph. This operation can only be called by an invited member account.

The request provides the ARN of behavior graph.

The member account status in the graph must be INVITED.

" + }, + "CreateGraph":{ + "name":"CreateGraph", + "http":{ + "method":"POST", + "requestUri":"/graph" + }, + "output":{"shape":"CreateGraphResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Creates a new behavior graph for the calling account, and sets that account as the master account. This operation is called by the account that is enabling Detective.

Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within the Detective quota. If it exceeds the quota, then you cannot enable Detective.

The operation also enables Detective for the calling account in the currently selected Region. It returns the ARN of the new behavior graph.

CreateGraph triggers a process to create the corresponding data tables for the new behavior graph.

An account can only be the master account for one behavior graph within a Region. If the same account calls CreateGraph with the same master account, it always returns the same behavior graph ARN. It does not create a new behavior graph.

" + }, + "CreateMembers":{ + "name":"CreateMembers", + "http":{ + "method":"POST", + "requestUri":"/graph/members" + }, + "input":{"shape":"CreateMembersRequest"}, + "output":{"shape":"CreateMembersResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation can only be called by the master account for a behavior graph.

CreateMembers verifies the accounts and then sends invitations to the verified accounts.

The request provides the behavior graph ARN and the list of accounts to invite.

The response separates the requested accounts into two lists:

  • The accounts that CreateMembers was able to start the verification for. This list includes member accounts that are being verified, that have passed verification and are being sent an invitation, and that have failed verification.

  • The accounts that CreateMembers was unable to process. This list includes accounts that were already invited to be member accounts in the behavior graph.

" + }, + "DeleteGraph":{ + "name":"DeleteGraph", + "http":{ + "method":"POST", + "requestUri":"/graph/removal" + }, + "input":{"shape":"DeleteGraphRequest"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each member account's list of behavior graphs.

DeleteGraph can only be called by the master account for a behavior graph.

" + }, + "DeleteMembers":{ + "name":"DeleteMembers", + "http":{ + "method":"POST", + "requestUri":"/graph/members/removal" + }, + "input":{"shape":"DeleteMembersRequest"}, + "output":{"shape":"DeleteMembersResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Deletes one or more member accounts from the master account behavior graph. This operation can only be called by a Detective master account. That account cannot use DeleteMembers to delete their own account from the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph API method.

" + }, + "DisassociateMembership":{ + "name":"DisassociateMembership", + "http":{ + "method":"POST", + "requestUri":"/membership/removal" + }, + "input":{"shape":"DisassociateMembershipRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Removes the member account from the specified behavior graph. This operation can only be called by a member account that has the ENABLED status.

" + }, + "GetMembers":{ + "name":"GetMembers", + "http":{ + "method":"POST", + "requestUri":"/graph/members/get" + }, + "input":{"shape":"GetMembersRequest"}, + "output":{"shape":"GetMembersResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns the membership details for specified member accounts for a behavior graph.

" + }, + "ListGraphs":{ + "name":"ListGraphs", + "http":{ + "method":"POST", + "requestUri":"/graphs/list" + }, + "input":{"shape":"ListGraphsRequest"}, + "output":{"shape":"ListGraphsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by a master account.

Because an account can currently only be the master of one behavior graph within a Region, the results always contain a single graph.

" + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitations/list" + }, + "input":{"shape":"ListInvitationsRequest"}, + "output":{"shape":"ListInvitationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can only be called by a member account.

Open invitations are invitations that the member account has not responded to.

The results do not include behavior graphs for which the member account declined the invitation. The results also do not include behavior graphs that the member account resigned from or was removed from.

" + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"POST", + "requestUri":"/graph/members/list" + }, + "input":{"shape":"ListMembersRequest"}, + "output":{"shape":"ListMembersResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed from the behavior graph.

" + }, + "RejectInvitation":{ + "name":"RejectInvitation", + "http":{ + "method":"POST", + "requestUri":"/invitation/removal" + }, + "input":{"shape":"RejectInvitationRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a member account that has the INVITED status.

" + }, + "StartMonitoringMember":{ + "name":"StartMonitoringMember", + "http":{ + "method":"POST", + "requestUri":"/graph/member/monitoringstate" + }, + "input":{"shape":"StartMonitoringMemberRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Sends a request to enable data ingest for a member account that has a status of ACCEPTED_BUT_DISABLED.

For valid member accounts, the status is updated as follows.

  • If Detective enabled the member account, then the new status is ENABLED.

  • If Detective cannot enable the member account, the status remains ACCEPTED_BUT_DISABLED.

" + } + }, + "shapes":{ + "AcceptInvitationRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph that the member account is accepting the invitation for.

The member account status in the behavior graph must be INVITED.

" + } + } + }, + "Account":{ + "type":"structure", + "required":[ + "AccountId", + "EmailAddress" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The account identifier of the AWS account.

" + }, + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The AWS account root user email address for the AWS account.

" + } + }, + "documentation":"

An AWS account that is the master of or a member of a behavior graph.

" + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[0-9]+$" + }, + "AccountIdList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":50, + "min":1 + }, + "AccountList":{ + "type":"list", + "member":{"shape":"Account"}, + "max":50, + "min":1 + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request attempted an invalid action.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateGraphResponse":{ + "type":"structure", + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the new behavior graph.

" + } + } + }, + "CreateMembersRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "Accounts" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph to invite the member accounts to contribute their data to.

" + }, + "Message":{ + "shape":"EmailMessage", + "documentation":"

Customized message text to include in the invitation email message to the invited member accounts.

" + }, + "Accounts":{ + "shape":"AccountList", + "documentation":"

The list of AWS accounts to invite to become member accounts in the behavior graph. For each invited account, the account list contains the account identifier and the AWS account root user email address.

" + } + } + }, + "CreateMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"MemberDetailList", + "documentation":"

The set of member account invitation requests that Detective was able to process. This includes accounts that are being verified, that failed verification, and that passed verification and are being sent an invitation.

" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccountList", + "documentation":"

The list of accounts for which Detective was unable to process the invitation request. For each account, the list provides the reason why the request could not be processed. The list includes accounts that are already member accounts in the behavior graph.

" + } + } + }, + "DeleteGraphRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph to disable.

" + } + } + }, + "DeleteMembersRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "AccountIds" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph to delete members from.

" + }, + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

The list of AWS account identifiers for the member accounts to delete from the behavior graph.

" + } + } + }, + "DeleteMembersResponse":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

The list of AWS account identifiers for the member accounts that Detective successfully deleted from the behavior graph.

" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccountList", + "documentation":"

The list of member accounts that Detective was not able to delete from the behavior graph. For each member account, provides the reason that the deletion could not be processed.

" + } + } + }, + "DisassociateMembershipRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph to remove the member account from.

The member account's member status in the behavior graph must be ENABLED.

" + } + } + }, + "EmailAddress":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^.+@.+$" + }, + "EmailMessage":{ + "type":"string", + "max":1000, + "min":1 + }, + "ErrorMessage":{"type":"string"}, + "GetMembersRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "AccountIds" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph for which to request the member details.

" + }, + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

The list of AWS account identifiers for the member account for which to return member details.

You cannot use GetMembers to retrieve information about member accounts that were removed from the behavior graph.

" + } + } + }, + "GetMembersResponse":{ + "type":"structure", + "members":{ + "MemberDetails":{ + "shape":"MemberDetailList", + "documentation":"

The member account details that Detective is returning in response to the request.

" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccountList", + "documentation":"

The requested member accounts for which Detective was unable to return member details.

For each account, provides the reason why the request could not be processed.

" + } + } + }, + "Graph":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the behavior graph was created. The value is in milliseconds since the epoch.

" + } + }, + "documentation":"

A behavior graph in Detective.

" + }, + "GraphArn":{ + "type":"string", + "pattern":"^arn:aws[-\\w]{0,10}?:detective:[-\\w]{2,20}?:\\d{12}?:graph:[abcdef\\d]{32}?$" + }, + "GraphList":{ + "type":"list", + "member":{"shape":"Graph"} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was valid but failed because of a problem with the service.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ListGraphsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

For requests to get the next page of results, the pagination token that was returned with the previous set of results. The initial request does not include a pagination token.

" + }, + "MaxResults":{ + "shape":"MemberResultsLimit", + "documentation":"

The maximum number of graphs to return at a time. The total must be less than the overall limit on the number of results to return, which is currently 200.

" + } + } + }, + "ListGraphsResponse":{ + "type":"structure", + "members":{ + "GraphList":{ + "shape":"GraphList", + "documentation":"

A list of behavior graphs that the account is a master for.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If there are more behavior graphs remaining in the results, then this is the pagination token to use to request the next page of behavior graphs.

" + } + } + }, + "ListInvitationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

For requests to retrieve the next page of results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token.

" + }, + "MaxResults":{ + "shape":"MemberResultsLimit", + "documentation":"

The maximum number of behavior graph invitations to return in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

" + } + } + }, + "ListInvitationsResponse":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"MemberDetailList", + "documentation":"

The list of behavior graphs for which the member account has open or accepted invitations.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If there are more behavior graphs remaining in the results, then this is the pagination token to use to request the next page of behavior graphs.

" + } + } + }, + "ListMembersRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph for which to retrieve the list of member accounts.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

For requests to retrieve the next page of member account results, the pagination token that was returned with the previous page of results. The initial request does not include a pagination token.

" + }, + "MaxResults":{ + "shape":"MemberResultsLimit", + "documentation":"

The maximum number of member accounts to include in the response. The total must be less than the overall limit on the number of results to return, which is currently 200.

" + } + } + }, + "ListMembersResponse":{ + "type":"structure", + "members":{ + "MemberDetails":{ + "shape":"MemberDetailList", + "documentation":"

The list of member accounts in the behavior graph.

The results include member accounts that did not pass verification and member accounts that have not yet accepted the invitation to the behavior graph. The results do not include member accounts that were removed from the behavior graph.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If there are more member accounts remaining in the results, then this is the pagination token to use to request the next page of member accounts.

" + } + } + }, + "MemberDetail":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The AWS account identifier for the member account.

" + }, + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

The AWS account root user email address for the member account.

" + }, + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph that the member account was invited to.

" + }, + "MasterId":{ + "shape":"AccountId", + "documentation":"

The AWS account identifier of the master account for the behavior graph.

" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

The current membership status of the member account. The status can have one of the following values:

  • INVITED - Indicates that the member was sent an invitation but has not yet responded.

  • VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying that the account identifier and email address provided for the member account match. If they do match, then Detective sends the invitation. If the email address and account identifier don't match, then the member cannot be added to the behavior graph.

  • VERIFICATION_FAILED - Indicates that the account and email address provided for the member account do not match, and Detective did not send an invitation to the account.

  • ENABLED - Indicates that the member account accepted the invitation to contribute to the behavior graph.

  • ACCEPTED_BUT_DISABLED - Indicates that the member account accepted the invitation but is prevented from contributing data to the behavior graph. DisabledReason provides the reason why the member account is not enabled.

Member accounts that declined an invitation or that were removed from the behavior graph are not included.

" + }, + "DisabledReason":{ + "shape":"MemberDisabledReason", + "documentation":"

For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that the member account is not enabled.

The reason can have one of the following values:

  • VOLUME_TOO_HIGH - Indicates that adding the member account would cause the data volume for the behavior graph to be too high.

  • VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data volume for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

" + }, + "InvitedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that Detective sent the invitation to the member account. The value is in milliseconds since the epoch.

" + }, + "UpdatedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the member account was last updated. The value is in milliseconds since the epoch.

" + }, + "PercentOfGraphUtilization":{ + "shape":"Percentage", + "documentation":"

The member account data volume as a percentage of the maximum allowed data volume. 0 indicates 0 percent, and 100 indicates 100 percent.

Note that this is not the percentage of the behavior graph data volume.

For example, the data volume for the behavior graph is 80 GB per day. The maximum data volume is 160 GB per day. If the data volume for the member account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 25% of the maximum allowed data volume.

" + }, + "PercentOfGraphUtilizationUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the graph utilization percentage was last updated.

" + } + }, + "documentation":"

Details about a member account that was invited to contribute to a behavior graph.

" + }, + "MemberDetailList":{ + "type":"list", + "member":{"shape":"MemberDetail"} + }, + "MemberDisabledReason":{ + "type":"string", + "enum":[ + "VOLUME_TOO_HIGH", + "VOLUME_UNKNOWN" + ] + }, + "MemberResultsLimit":{ + "type":"integer", + "box":true, + "max":200, + "min":1 + }, + "MemberStatus":{ + "type":"string", + "enum":[ + "INVITED", + "VERIFICATION_IN_PROGRESS", + "VERIFICATION_FAILED", + "ENABLED", + "ACCEPTED_BUT_DISABLED" + ] + }, + "PaginationToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "Percentage":{"type":"double"}, + "RejectInvitationRequest":{ + "type":"structure", + "required":["GraphArn"], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph to reject the invitation to.

The member account's current member status in the behavior graph must be INVITED.

" + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request refers to a nonexistent resource.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

This request cannot be completed for one of the following reasons.

  • The request would cause the number of member accounts in the behavior graph to exceed the maximum allowed. A behavior graph cannot have more than 1000 member accounts.

  • The request would cause the data rate for the behavior graph to exceed the maximum allowed.

  • Detective is unable to verify the data rate for the member account. This is usually because the member account is not enrolled in Amazon GuardDuty.

", + "error":{"httpStatusCode":402}, + "exception":true + }, + "StartMonitoringMemberRequest":{ + "type":"structure", + "required":[ + "GraphArn", + "AccountId" + ], + "members":{ + "GraphArn":{ + "shape":"GraphArn", + "documentation":"

The ARN of the behavior graph.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

The account ID of the member account to try to enable.

The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED.

" + } + } + }, + "Timestamp":{"type":"timestamp"}, + "UnprocessedAccount":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The AWS account identifier of the member account that was not processed.

" + }, + "Reason":{ + "shape":"UnprocessedReason", + "documentation":"

The reason that the member account request could not be processed.

" + } + }, + "documentation":"

A member account that was included in a request but for which the request could not be processed.

" + }, + "UnprocessedAccountList":{ + "type":"list", + "member":{"shape":"UnprocessedAccount"} + }, + "UnprocessedReason":{"type":"string"}, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request parameters are invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

Detective uses machine learning and purpose-built visualizations to help you analyze and investigate security issues across your Amazon Web Services (AWS) workloads. Detective automatically extracts time-based events such as login attempts, API calls, and network traffic from AWS CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs. It also extracts findings detected by Amazon GuardDuty.

The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the extracted data from a set of member accounts, and is created and managed by a master account.

Every behavior graph is specific to a Region. You can only use the API to manage graphs that belong to the Region that is associated with the currently selected endpoint.

A Detective master account can use the Detective API to do the following:

  • Enable and disable Detective. Enabling Detective creates a new behavior graph.

  • View the list of member accounts in a behavior graph.

  • Add member accounts to a behavior graph.

  • Remove member accounts from a behavior graph.

A member account can use the Detective API to do the following:

  • View the list of behavior graphs that they are invited to.

  • Accept an invitation to contribute to a behavior graph.

  • Decline an invitation to contribute to a behavior graph.

  • Remove their account from a behavior graph.

All API actions are logged as CloudTrail events. See Logging Detective API Calls with CloudTrail.

" +} diff -Nru python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/examples-1.json python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/examples-1.json --- python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1242 @@ +{ + "version": "1.0", + "examples": { + "CreateDevicePool": [ + { + "input": { + "name": "MyDevicePool", + "description": "My Android devices", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "rules": [ + + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "name": "A device pool contains related devices, such as devices that run only on Android or that run only on iOS.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new device pool named MyDevicePool inside an existing project.", + "id": "createdevicepool-example-1470862210860", + "title": "To create a new device pool" + } + ], + "CreateProject": [ + { + "input": { + "name": "MyProject" + }, + "output": { + "project": { + "name": "MyProject", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "name": "A project in Device Farm is a workspace that contains test runs. A run is a test of a single app against one or more devices." + }, + "output": { + } + }, + "description": "The following example creates a new project named MyProject.", + "id": "createproject-example-1470862210860", + "title": "To create a new project" + } + ], + "CreateRemoteAccessSession": [ + { + "input": { + "name": "MySession", + "configuration": { + "billingMethod": "METERED" + }, + "deviceArn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "deviceArn": "You can get the device ARN by using the list-devices CLI command.", + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a remote access session named MySession.", + "id": "to-create-a-remote-access-session-1470970668274", + "title": "To create a remote access session" + } + ], + "CreateUpload": [ + { + "input": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + "name": "MyAppiumPythonUpload", + "type": "APPIUM_PYTHON_TEST_PACKAGE", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE", + "created": "1472661404.186", + "status": "INITIALIZED", + "url": "https://prod-us-west-2-uploads.s3-us-west-2.amazonaws.com/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789101%3Aproject%3A5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE/uploads/arn%3Aaws%3Adevicefarm%3Aus-west-2%3A123456789101%3Aupload%3A5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/b5340a65-3da7-4da6-a26e-12345EXAMPLE/MyAppiumPythonUpload?AWSAccessKeyId=1234567891011EXAMPLE&Expires=1472747804&Signature=1234567891011EXAMPLE" + } + }, + "comments": { + "input": { + "projectArn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example creates a new Appium Python test package upload inside an existing project.", + "id": "createupload-example-1470864711775", + "title": "To create a new test package upload" + } + ], + "DeleteDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific device pool.", + "id": "deletedevicepool-example-1470866975494", + "title": "To delete a device pool" + } + ], + "DeleteProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific project.", + "id": "deleteproject-example-1470867374212", + "title": "To delete a project" + } + ], + "DeleteRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific remote access session.", + "id": "to-delete-a-specific-remote-access-session-1470971431677", + "title": "To delete a specific remote access session" + } + ], + "DeleteRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific test run.", + "id": "deleterun-example-1470867905129", + "title": "To delete a run" + } + ], + "DeleteUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the upload ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example deletes a specific upload.", + "id": "deleteupload-example-1470868363942", + "title": "To delete a specific upload" + } + ], + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "accountSettings": { + "awsAccountNumber": "123456789101", + "unmeteredDevices": { + "ANDROID": 1, + "IOS": 2 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about your Device Farm account settings.", + "id": "to-get-information-about-account-settings-1472567568189", + "title": "To get information about account settings" + } + ], + "GetDevice": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::device:123EXAMPLE" + }, + "output": { + "device": { + "name": "LG G2 (Sprint)", + "arn": "arn:aws:devicefarm:us-west-2::device:A0E6E6E1059E45918208DF75B2B7EF6C", + "cpu": { + "architecture": "armeabi-v7a", + "clock": 2265.6, + "frequency": "MHz" + }, + "formFactor": "PHONE", + "heapSize": 256000000, + "image": "75B2B7EF6C12345EXAMPLE", + "manufacturer": "LG", + "memory": 16000000000, + "model": "G2 (Sprint)", + "os": "4.2.2", + "platform": "ANDROID", + "resolution": { + "height": 1920, + "width": 1080 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about a specific device.", + "id": "getdevice-example-1470870602173", + "title": "To get information about a device" + } + ], + "GetDevicePool": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can obtain the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific device pool, given a project ARN.", + "id": "getdevicepool-example-1470870873136", + "title": "To get information about a device pool" + } + ], + "GetDevicePoolCompatibility": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2::app:123-456-EXAMPLE-GUID", + "devicePoolArn": "arn:aws:devicefarm:us-west-2::devicepool:123-456-EXAMPLE-GUID", + "testType": "APPIUM_PYTHON" + }, + "output": { + "compatibleDevices": [ + + ], + "incompatibleDevices": [ + + ] + }, + "comments": { + "input": { + "devicePoolArn": "You can get the device pool ARN by using the list-device-pools CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the compatibility of a specific device pool, given its ARN.", + "id": "getdevicepoolcompatibility-example-1470925003466", + "title": "To get information about the compatibility of a device pool" + } + ], + "GetJob": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2::job:123-456-EXAMPLE-GUID" + }, + "output": { + "job": { + } + }, + "comments": { + "input": { + "arn": "You can get the job ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about a specific job.", + "id": "getjob-example-1470928294268", + "title": "To get information about a job" + } + ], + "GetOfferingStatus": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "current": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + }, + "nextPeriod": { + "D68B3C05-1BA6-4360-BC69-12345EXAMPLE": { + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + } + } + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offerings available to your account.", + "id": "to-get-status-information-about-device-offerings-1472568124402", + "title": "To get status information about device offerings" + } + ], + "GetProject": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE" + }, + "output": { + "project": { + "name": "My Project", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:5e01a8c7-c861-4c0a-b1d5-12345EXAMPLE", + "created": "1472660939.152" + } + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific project.", + "id": "to-get-a-project-1470975038449", + "title": "To get information about a project" + } + ], + "GetRemoteAccessSession": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "remoteAccessSession": { + } + }, + "comments": { + "input": { + "arn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example gets a specific remote access session.", + "id": "to-get-a-remote-access-session-1471014119414", + "title": "To get a remote access session" + } + ], + "GetRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE" + }, + "output": { + "run": { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + }, + "comments": { + "input": { + "arn": "You can get the run ARN by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test run.", + "id": "to-get-a-test-run-1471015895657", + "title": "To get information about a test run" + } + ], + "GetSuite": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:suite:EXAMPLE-GUID-123-456" + }, + "output": { + "suite": { + } + }, + "comments": { + "input": { + "arn": "You can get the suite ARN by using the list-suites CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test suite.", + "id": "to-get-information-about-a-test-suite-1471016525008", + "title": "To get information about a test suite" + } + ], + "GetTest": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + }, + "output": { + "test": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific test.", + "id": "to-get-information-about-a-specific-test-1471025744238", + "title": "To get information about a specific test" + } + ], + "GetUpload": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:upload:EXAMPLE-GUID-123-456" + }, + "output": { + "upload": { + } + }, + "comments": { + "input": { + "arn": "You can get the test ARN by using the list-uploads CLI command." + }, + "output": { + } + }, + "description": "The following example gets information about a specific upload.", + "id": "to-get-information-about-a-specific-upload-1471025996221", + "title": "To get information about a specific upload" + } + ], + "InstallToRemoteAccessSession": [ + { + "input": { + "appArn": "arn:aws:devicefarm:us-west-2:123456789101:app:EXAMPLE-GUID-123-456", + "remoteAccessSessionArn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456" + }, + "output": { + "appUpload": { + } + }, + "comments": { + "input": { + "remoteAccessSessionArn": "You can get the remote access session ARN by using the list-remote-access-sessions CLI command." + }, + "output": { + } + }, + "description": "The following example installs a specific app to a device in a specific remote access session.", + "id": "to-install-to-a-remote-access-session-1471634453818", + "title": "To install to a remote access session" + } + ], + "ListArtifacts": [ + { + "input": { + "type": "SCREENSHOT", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "Can also be used to list artifacts for a Job, Suite, or Test ARN." + }, + "output": { + } + }, + "description": "The following example lists screenshot artifacts for a specific run.", + "id": "to-list-artifacts-for-a-resource-1471635409527", + "title": "To list artifacts for a resource" + } + ], + "ListDevicePools": [ + { + "input": { + "type": "PRIVATE", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + "devicePools": [ + { + "name": "Top Devices", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "Top devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + }, + { + "name": "My Android Device Pool", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:devicepool:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/bf96e75a-28f6-4e61-b6a7-12345EXAMPLE", + "description": "Samsung Galaxy Android devices", + "rules": [ + { + "value": "[\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\",\"arn:aws:devicefarm:us-west-2::device:123456789EXAMPLE\"]", + "attribute": "ARN", + "operator": "IN" + } + ] + } + ] + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the private device pools in a specific project.", + "id": "to-get-information-about-device-pools-1471635745170", + "title": "To get information about device pools" + } + ], + "ListDevices": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "output": { + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about the available devices in a specific project.", + "id": "to-get-information-about-devices-1471641699344", + "title": "To get information about devices" + } + ], + "ListJobs": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456" + }, + "comments": { + "input": { + "arn": "You can get the project ARN by using the list-jobs CLI command." + }, + "output": { + } + }, + "description": "The following example returns information about jobs in a specific project.", + "id": "to-get-information-about-jobs-1471642228071", + "title": "To get information about jobs" + } + ], + "ListOfferingTransactions": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offeringTransactions": [ + { + "cost": { + "amount": 0, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 0 + }, + "transactionId": "03728003-d1ea-4851-abd6-12345EXAMPLE" + }, + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1470021420", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1470021420", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "56820b6e-06bd-473a-8ff8-12345EXAMPLE" + }, + { + "cost": { + "amount": 175, + "currencyCode": "USD" + }, + "createdOn": "1465538520", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1465538520", + "offering": { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "953ae2c6-d760-4a04-9597-12345EXAMPLE" + }, + { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1459344300", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1459344300", + "offering": { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS" + }, + "quantity": 1 + }, + "transactionId": "2baf9021-ae3e-47f5-ab52-12345EXAMPLE" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about Device Farm offering transactions.", + "id": "to-get-information-about-device-offering-transactions-1472561712315", + "title": "To get information about device offering transactions" + } + ], + "ListOfferings": [ + { + "input": { + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "offerings": [ + { + "type": "RECURRING", + "description": "iOS Unmetered Device Slot", + "id": "A53D4D73-A6F6-4B82-A0B0-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Unmetered Device Slot", + "id": "8980F81C-00D7-469D-8EC6-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + }, + { + "type": "RECURRING", + "description": "iOS Remote Access Unmetered Device Slot", + "id": "552B4DAD-A6C9-45C4-94FB-12345EXAMPLE", + "platform": "IOS", + "recurringCharges": [ + { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "frequency": "MONTHLY" + } + ] + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about available device offerings.", + "id": "to-get-information-about-device-offerings-1472562810999", + "title": "To get information about device offerings" + } + ], + "ListProjects": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "projects": [ + { + "name": "My Test Project", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:7ad300ed-8183-41a7-bf94-12345EXAMPLE", + "created": "1453163262.105" + }, + { + "name": "Hello World", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:d6b087d9-56db-4e44-b9ec-12345EXAMPLE", + "created": "1470350112.439" + } + ] + }, + "comments": { + "input": { + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about the specified project in Device Farm.", + "id": "to-get-information-about-a-device-farm-project-1472564014388", + "title": "To get information about a Device Farm project" + } + ], + "ListRemoteAccessSessions": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:session:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE=" + }, + "output": { + "remoteAccessSessions": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the session by using the list-sessions CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific Device Farm remote access session.", + "id": "to-get-information-about-a-remote-access-session-1472581144803", + "title": "To get information about a remote access session" + } + ], + "ListRuns": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "runs": [ + { + "name": "My Test Run", + "type": "BUILTIN_EXPLORER", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:5e01a8c7-c861-4c0a-b1d5-5ec6e6c6dd23/0fcac17b-6122-44d7-ae5a-12345EXAMPLE", + "billingMethod": "METERED", + "completedJobs": 0, + "counters": { + "errored": 0, + "failed": 0, + "passed": 0, + "skipped": 0, + "stopped": 0, + "total": 0, + "warned": 0 + }, + "created": "1472667509.852", + "deviceMinutes": { + "metered": 0.0, + "total": 0.0, + "unmetered": 0.0 + }, + "platform": "ANDROID", + "result": "PENDING", + "status": "RUNNING", + "totalJobs": 3 + } + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the run by using the list-runs CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about a specific test run.", + "id": "to-get-information-about-test-runs-1472582711069", + "title": "To get information about a test run" + } + ], + "ListSamples": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "samples": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about samples, given a specific Device Farm project.", + "id": "to-get-information-about-samples-1472582847534", + "title": "To get information about samples" + } + ], + "ListSuites": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "suites": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about suites, given a specific Device Farm project.", + "id": "to-get-information-about-suites-1472583038218", + "title": "To get information about suites" + } + ], + "ListTests": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "tests": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about tests, given a specific Device Farm project.", + "id": "to-get-information-about-tests-1472617372212", + "title": "To get information about tests" + } + ], + "ListUniqueProblems": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uniqueProblems": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about unique problems, given a specific Device Farm project.", + "id": "to-get-information-about-unique-problems-1472617781008", + "title": "To get information about unique problems" + } + ], + "ListUploads": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "nextToken": "RW5DdDJkMWYwZjM2MzM2VHVpOHJIUXlDUXlhc2QzRGViYnc9SEXAMPLE" + }, + "output": { + "uploads": [ + + ] + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "nextToken": "A dynamically generated value, used for paginating results." + }, + "output": { + } + }, + "description": "The following example returns information about uploads, given a specific Device Farm project.", + "id": "to-get-information-about-uploads-1472617943090", + "title": "To get information about uploads" + } + ], + "PurchaseOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 8.07, + "currencyCode": "USD" + }, + "createdOn": "1472648340", + "offeringStatus": { + "type": "PURCHASE", + "effectiveOn": "1472648340", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "d30614ed-1b03-404c-9893-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example purchases a specific device slot offering.", + "id": "to-purchase-a-device-slot-offering-1472648146343", + "title": "To purchase a device slot offering" + } + ], + "RenewOffering": [ + { + "input": { + "offeringId": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "quantity": 1 + }, + "output": { + "offeringTransaction": { + "cost": { + "amount": 250, + "currencyCode": "USD" + }, + "createdOn": "1472648880", + "offeringStatus": { + "type": "RENEW", + "effectiveOn": "1472688000", + "offering": { + "type": "RECURRING", + "description": "Android Remote Access Unmetered Device Slot", + "id": "D68B3C05-1BA6-4360-BC69-12345EXAMPLE", + "platform": "ANDROID" + }, + "quantity": 1 + }, + "transactionId": "e90f1405-8c35-4561-be43-12345EXAMPLE" + } + }, + "comments": { + "input": { + "offeringId": "You can get the offering ID by using the list-offerings CLI command." + }, + "output": { + } + }, + "description": "The following example renews a specific device slot offering.", + "id": "to-renew-a-device-slot-offering-1472648899785", + "title": "To renew a device slot offering" + } + ], + "ScheduleRun": [ + { + "input": { + "name": "MyRun", + "devicePoolArn": "arn:aws:devicefarm:us-west-2:123456789101:pool:EXAMPLE-GUID-123-456", + "projectArn": "arn:aws:devicefarm:us-west-2:123456789101:project:EXAMPLE-GUID-123-456", + "test": { + "type": "APPIUM_JAVA_JUNIT", + "testPackageArn": "arn:aws:devicefarm:us-west-2:123456789101:test:EXAMPLE-GUID-123-456" + } + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "devicePoolArn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command.", + "projectArn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command.", + "testPackageArn": "You can get the Amazon Resource Name (ARN) of the test package by using the list-tests CLI command." + }, + "output": { + } + }, + "description": "The following example schedules a test run named MyRun.", + "id": "to-schedule-a-test-run-1472652429636", + "title": "To schedule a test run" + } + ], + "StopRun": [ + { + "input": { + "arn": "arn:aws:devicefarm:us-west-2:123456789101:run:EXAMPLE-GUID-123-456" + }, + "output": { + "run": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the test run by using the list-runs CLI command." + }, + "output": { + } + }, + "description": "The following example stops a specific test run.", + "id": "to-stop-a-test-run-1472653770340", + "title": "To stop a test run" + } + ], + "UpdateDevicePool": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2::devicepool:082d10e5-d7d7-48a5-ba5c-12345EXAMPLE", + "description": "NewDescription", + "rules": [ + { + "value": "True", + "attribute": "REMOTE_ACCESS_ENABLED", + "operator": "EQUALS" + } + ] + }, + "output": { + "devicePool": { + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the device pool by using the list-pools CLI command." + }, + "output": { + "devicePool": "Note: you cannot update curated device pools." + } + }, + "description": "The following example updates the specified device pool with a new name and description. It also enables remote access of devices in the device pool.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ], + "UpdateProject": [ + { + "input": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:8f75187d-101e-4625-accc-12345EXAMPLE" + }, + "output": { + "project": { + "name": "NewName", + "arn": "arn:aws:devicefarm:us-west-2:123456789101:project:8f75187d-101e-4625-accc-12345EXAMPLE", + "created": "1448400709.927" + } + }, + "comments": { + "input": { + "arn": "You can get the Amazon Resource Name (ARN) of the project by using the list-projects CLI command." + }, + "output": { + } + }, + "description": "The following example updates the specified project with a new name.", + "id": "to-update-a-device-pool-1472653887677", + "title": "To update a device pool" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -54,6 +54,57 @@ "input_token": "nextToken", "output_token": "nextToken", "result_key": "uploads" + }, + "GetOfferingStatus": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": [ + "current", + "nextPeriod" + ] + }, + "ListOfferingTransactions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offeringTransactions" + }, + "ListOfferings": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offerings" + }, + "ListDeviceInstances": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "deviceInstances" + }, + "ListInstanceProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "instanceProfiles" + }, + "ListNetworkProfiles": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "networkProfiles" + }, + "ListOfferingPromotions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "offeringPromotions" + }, + "ListRemoteAccessSessions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "remoteAccessSessions" + }, + "ListVPCEConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "vpceConfigurations" } } } diff -Nru python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/service-2.json python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/service-2.json --- python-botocore-1.4.70/botocore/data/devicefarm/2015-06-23/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/devicefarm/2015-06-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Device Farm", + "serviceId":"Device Farm", "signatureVersion":"v4", - "targetPrefix":"DeviceFarm_20150623" + "targetPrefix":"DeviceFarm_20150623", + "uid":"devicefarm-2015-06-23" }, "operations":{ "CreateDevicePool":{ @@ -26,6 +28,38 @@ ], "documentation":"

Creates a device pool.

" }, + "CreateInstanceProfile":{ + "name":"CreateInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstanceProfileRequest"}, + "output":{"shape":"CreateInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Creates a profile that can be applied to one or more private fleet device instances.

" + }, + "CreateNetworkProfile":{ + "name":"CreateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkProfileRequest"}, + "output":{"shape":"CreateNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Creates a network profile.

" + }, "CreateProject":{ "name":"CreateProject", "http":{ @@ -38,9 +72,10 @@ {"shape":"ArgumentException"}, {"shape":"NotFoundException"}, {"shape":"LimitExceededException"}, - {"shape":"ServiceAccountException"} + {"shape":"ServiceAccountException"}, + {"shape":"TagOperationException"} ], - "documentation":"

Creates a new project.

" + "documentation":"

Creates a project.

" }, "CreateRemoteAccessSession":{ "name":"CreateRemoteAccessSession", @@ -58,6 +93,34 @@ ], "documentation":"

Specifies and starts a remote access session.

" }, + "CreateTestGridProject":{ + "name":"CreateTestGridProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTestGridProjectRequest"}, + "output":{"shape":"CreateTestGridProjectResult"}, + "errors":[ + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a Selenium testing project. Projects are used to track TestGridSession instances.

" + }, + "CreateTestGridUrl":{ + "name":"CreateTestGridUrl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTestGridUrlRequest"}, + "output":{"shape":"CreateTestGridUrlResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver constructor.

" + }, "CreateUpload":{ "name":"CreateUpload", "http":{ @@ -74,6 +137,21 @@ ], "documentation":"

Uploads an app or test scripts.

" }, + "CreateVPCEConfiguration":{ + "name":"CreateVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVPCEConfigurationRequest"}, + "output":{"shape":"CreateVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Creates a configuration record in Device Farm for your Amazon Virtual Private Cloud (VPC) endpoint.

" + }, "DeleteDevicePool":{ "name":"DeleteDevicePool", "http":{ @@ -90,6 +168,38 @@ ], "documentation":"

Deletes a device pool given the pool ARN. Does not allow deletion of curated pools owned by the system.

" }, + "DeleteInstanceProfile":{ + "name":"DeleteInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstanceProfileRequest"}, + "output":{"shape":"DeleteInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Deletes a profile that can be applied to one or more private device instances.

" + }, + "DeleteNetworkProfile":{ + "name":"DeleteNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkProfileRequest"}, + "output":{"shape":"DeleteNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Deletes a network profile.

" + }, "DeleteProject":{ "name":"DeleteProject", "http":{ @@ -104,7 +214,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Deletes an AWS Device Farm project, given the project ARN.

Note Deleting this resource does not stop an in-progress run.

" + "documentation":"

Deletes an AWS Device Farm project, given the project ARN.

Deleting this resource does not stop an in-progress run.

" }, "DeleteRemoteAccessSession":{ "name":"DeleteRemoteAccessSession", @@ -136,7 +246,23 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Deletes the run, given the run ARN.

Note Deleting this resource does not stop an in-progress run.

" + "documentation":"

Deletes the run, given the run ARN.

Deleting this resource does not stop an in-progress run.

" + }, + "DeleteTestGridProject":{ + "name":"DeleteTestGridProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTestGridProjectRequest"}, + "output":{"shape":"DeleteTestGridProjectResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"CannotDeleteException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes a Selenium testing project and all content generated under it.

You cannot undo this operation.

You cannot delete a project if it has active sessions.

" }, "DeleteUpload":{ "name":"DeleteUpload", @@ -154,6 +280,22 @@ ], "documentation":"

Deletes an upload given the upload ARN.

" }, + "DeleteVPCEConfiguration":{ + "name":"DeleteVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVPCEConfigurationRequest"}, + "output":{"shape":"DeleteVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.

" + }, "GetAccountSettings":{ "name":"GetAccountSettings", "http":{ @@ -168,7 +310,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Returns the number of unmetered iOS and/or unmetered Android devices that have been purchased by the account.

" + "documentation":"

Returns the number of unmetered iOS or unmetered Android devices that have been purchased by the account.

" }, "GetDevice":{ "name":"GetDevice", @@ -186,6 +328,22 @@ ], "documentation":"

Gets information about a unique device type.

" }, + "GetDeviceInstance":{ + "name":"GetDeviceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeviceInstanceRequest"}, + "output":{"shape":"GetDeviceInstanceResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about a device instance that belongs to a private device fleet.

" + }, "GetDevicePool":{ "name":"GetDevicePool", "http":{ @@ -218,6 +376,22 @@ ], "documentation":"

Gets information about compatibility with a device pool.

" }, + "GetInstanceProfile":{ + "name":"GetInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceProfileRequest"}, + "output":{"shape":"GetInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about the specified instance profile.

" + }, "GetJob":{ "name":"GetJob", "http":{ @@ -234,6 +408,22 @@ ], "documentation":"

Gets information about a job.

" }, + "GetNetworkProfile":{ + "name":"GetNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNetworkProfileRequest"}, + "output":{"shape":"GetNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about a network profile.

" + }, "GetOfferingStatus":{ "name":"GetOfferingStatus", "http":{ @@ -249,7 +439,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + "documentation":"

Gets the current status and future status of all offerings purchased by an AWS account. The response indicates how many offerings are currently available and the offerings that will be available in the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

" }, "GetProject":{ "name":"GetProject", @@ -331,6 +521,36 @@ ], "documentation":"

Gets information about a test.

" }, + "GetTestGridProject":{ + "name":"GetTestGridProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTestGridProjectRequest"}, + "output":{"shape":"GetTestGridProjectResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves information about a Selenium testing project.

" + }, + "GetTestGridSession":{ + "name":"GetTestGridSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTestGridSessionRequest"}, + "output":{"shape":"GetTestGridSessionResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

A session is an instance of a browser created through a RemoteWebDriver with the URL from CreateTestGridUrlResult$url. You can use the following to look up sessions:

" + }, "GetUpload":{ "name":"GetUpload", "http":{ @@ -347,6 +567,21 @@ ], "documentation":"

Gets information about an upload.

" }, + "GetVPCEConfiguration":{ + "name":"GetVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVPCEConfigurationRequest"}, + "output":{"shape":"GetVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about the configuration settings for your Amazon Virtual Private Cloud (VPC) endpoint.

" + }, "InstallToRemoteAccessSession":{ "name":"InstallToRemoteAccessSession", "http":{ @@ -379,6 +614,22 @@ ], "documentation":"

Gets information about artifacts.

" }, + "ListDeviceInstances":{ + "name":"ListDeviceInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDeviceInstancesRequest"}, + "output":{"shape":"ListDeviceInstancesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about the private device instances associated with one or more AWS accounts.

" + }, "ListDevicePools":{ "name":"ListDevicePools", "http":{ @@ -411,6 +662,22 @@ ], "documentation":"

Gets information about unique device types.

" }, + "ListInstanceProfiles":{ + "name":"ListInstanceProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceProfilesRequest"}, + "output":{"shape":"ListInstanceProfilesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about all the instance profiles in an AWS account.

" + }, "ListJobs":{ "name":"ListJobs", "http":{ @@ -425,7 +692,40 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets information about jobs.

" + "documentation":"

Gets information about jobs for a given test run.

" + }, + "ListNetworkProfiles":{ + "name":"ListNetworkProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNetworkProfilesRequest"}, + "output":{"shape":"ListNetworkProfilesResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns the list of available network profiles.

" + }, + "ListOfferingPromotions":{ + "name":"ListOfferingPromotions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOfferingPromotionsRequest"}, + "output":{"shape":"ListOfferingPromotionsResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"NotEligibleException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns a list of offering promotions. Each offering promotion record contains the ID and description of the promotion. The API returns a NotEligible error if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com if you must be able to invoke this operation.

" }, "ListOfferingTransactions":{ "name":"ListOfferingTransactions", @@ -442,7 +742,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + "documentation":"

Returns a list of all historical purchases, renewals, and system renewal transactions for an AWS account. The list is paginated and ordered by a descending timestamp (most recent transactions are first). The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

" }, "ListOfferings":{ "name":"ListOfferings", @@ -459,7 +759,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + "documentation":"

Returns a list of products or offerings that the user can manage through the API. Each offering record indicates the recurring price per unit and the frequency for that offering. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

" }, "ListProjects":{ "name":"ListProjects", @@ -523,7 +823,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets information about samples, given an AWS Device Farm project ARN

" + "documentation":"

Gets information about samples, given an AWS Device Farm job ARN.

" }, "ListSuites":{ "name":"ListSuites", @@ -539,7 +839,81 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets information about suites.

" + "documentation":"

Gets information about test suites for a given job.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"} + ], + "documentation":"

List the tags for an AWS Device Farm resource.

" + }, + "ListTestGridProjects":{ + "name":"ListTestGridProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTestGridProjectsRequest"}, + "output":{"shape":"ListTestGridProjectsResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Gets a list of all Selenium testing projects in your account.

" + }, + "ListTestGridSessionActions":{ + "name":"ListTestGridSessionActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTestGridSessionActionsRequest"}, + "output":{"shape":"ListTestGridSessionActionsResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Returns a list of the actions taken in a TestGridSession.

" + }, + "ListTestGridSessionArtifacts":{ + "name":"ListTestGridSessionArtifacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTestGridSessionArtifactsRequest"}, + "output":{"shape":"ListTestGridSessionArtifactsResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves a list of artifacts created during the session.

" + }, + "ListTestGridSessions":{ + "name":"ListTestGridSessions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTestGridSessionsRequest"}, + "output":{"shape":"ListTestGridSessionsResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves a list of sessions for a TestGridProject.

" }, "ListTests":{ "name":"ListTests", @@ -555,7 +929,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets information about tests.

" + "documentation":"

Gets information about tests in a given test suite.

" }, "ListUniqueProblems":{ "name":"ListUniqueProblems", @@ -571,7 +945,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Gets information about unique problems.

" + "documentation":"

Gets information about unique problems, such as exceptions or crashes.

Unique problems are defined as a single instance of an error across a run, job, or suite. For example, if a call in your application consistently raises an exception (OutOfBoundsException in MyActivity.java:386), ListUniqueProblems returns a single entry instead of many individual entries for that exception.

" }, "ListUploads":{ "name":"ListUploads", @@ -589,6 +963,20 @@ ], "documentation":"

Gets information about uploads, given an AWS Device Farm project ARN.

" }, + "ListVPCEConfigurations":{ + "name":"ListVPCEConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVPCEConfigurationsRequest"}, + "output":{"shape":"ListVPCEConfigurationsResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Returns information about all Amazon Virtual Private Cloud (VPC) endpoint configurations in the AWS account.

" + }, "PurchaseOffering":{ "name":"PurchaseOffering", "http":{ @@ -604,7 +992,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + "documentation":"

Immediately purchases offerings for an AWS account. Offerings renew with the latest total purchased quantity for an offering, unless the renewal was overridden. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

" }, "RenewOffering":{ "name":"RenewOffering", @@ -621,7 +1009,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com if you believe that you should be able to invoke this operation.

" + "documentation":"

Explicitly sets the quantity of devices to renew for an offering, starting from the effectiveDate of the next period. The API returns a NotEligible error if the user is not permitted to invoke the operation. If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com.

" }, "ScheduleRun":{ "name":"ScheduleRun", @@ -640,25 +1028,41 @@ ], "documentation":"

Schedules a run.

" }, - "StopRemoteAccessSession":{ - "name":"StopRemoteAccessSession", + "StopJob":{ + "name":"StopJob", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"StopRemoteAccessSessionRequest"}, - "output":{"shape":"StopRemoteAccessSessionResult"}, + "input":{"shape":"StopJobRequest"}, + "output":{"shape":"StopJobResult"}, "errors":[ {"shape":"ArgumentException"}, {"shape":"NotFoundException"}, {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Ends a specified remote access session.

" + "documentation":"

Initiates a stop request for the current job. AWS Device Farm immediately stops the job on the device where tests have not started. You are not billed for this device. On the device where tests have started, setup suite and teardown suite tests run to completion on the device. You are billed for setup, teardown, and any tests that were in progress or already completed.

" }, - "StopRun":{ - "name":"StopRun", - "http":{ + "StopRemoteAccessSession":{ + "name":"StopRemoteAccessSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopRemoteAccessSessionRequest"}, + "output":{"shape":"StopRemoteAccessSessionResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Ends a specified remote access session.

" + }, + "StopRun":{ + "name":"StopRun", + "http":{ "method":"POST", "requestUri":"/" }, @@ -670,7 +1074,55 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceAccountException"} ], - "documentation":"

Initiates a stop request for the current test run. AWS Device Farm will immediately stop the run on devices where tests have not started executing, and you will not be billed for these devices. On devices where tests have started executing, Setup Suite and Teardown Suite tests will run to completion before stopping execution on those devices. You will be billed for Setup, Teardown, and any tests that were in progress or already completed.

" + "documentation":"

Initiates a stop request for the current test run. AWS Device Farm immediately stops the run on devices where tests have not started. You are not billed for these devices. On devices where tests have started executing, setup suite and teardown suite tests run to completion on those devices. You are billed for setup, teardown, and any tests that were in progress or already completed.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"}, + {"shape":"TooManyTagsException"}, + {"shape":"TagPolicyException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"TagOperationException"} + ], + "documentation":"

Deletes the specified tags from a resource.

" + }, + "UpdateDeviceInstance":{ + "name":"UpdateDeviceInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDeviceInstanceRequest"}, + "output":{"shape":"UpdateDeviceInstanceResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Updates information about a private device instance.

" }, "UpdateDevicePool":{ "name":"UpdateDevicePool", @@ -688,6 +1140,38 @@ ], "documentation":"

Modifies the name, description, and rules in a device pool given the attributes and the pool ARN. Rule updates are all-or-nothing, meaning they can only be updated as a whole (or not at all).

" }, + "UpdateInstanceProfile":{ + "name":"UpdateInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInstanceProfileRequest"}, + "output":{"shape":"UpdateInstanceProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Updates information about an existing private device instance profile.

" + }, + "UpdateNetworkProfile":{ + "name":"UpdateNetworkProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNetworkProfileRequest"}, + "output":{"shape":"UpdateNetworkProfileResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Updates the network profile.

" + }, "UpdateProject":{ "name":"UpdateProject", "http":{ @@ -703,6 +1187,53 @@ {"shape":"ServiceAccountException"} ], "documentation":"

Modifies the specified project name, given the project ARN and a new name.

" + }, + "UpdateTestGridProject":{ + "name":"UpdateTestGridProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTestGridProjectRequest"}, + "output":{"shape":"UpdateTestGridProjectResult"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ArgumentException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Change details of a project.

" + }, + "UpdateUpload":{ + "name":"UpdateUpload", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUploadRequest"}, + "output":{"shape":"UpdateUploadResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceAccountException"} + ], + "documentation":"

Updates an uploaded test spec.

" + }, + "UpdateVPCEConfiguration":{ + "name":"UpdateVPCEConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVPCEConfigurationRequest"}, + "output":{"shape":"UpdateVPCEConfigurationResult"}, + "errors":[ + {"shape":"ArgumentException"}, + {"shape":"NotFoundException"}, + {"shape":"ServiceAccountException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

Updates information about an Amazon Virtual Private Cloud (VPC) endpoint configuration.

" } }, "shapes":{ @@ -725,18 +1256,46 @@ "unmeteredRemoteAccessDevices":{ "shape":"PurchasedDevicesMap", "documentation":"

Returns the unmetered remote access devices you have purchased or want to purchase.

" + }, + "maxJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The maximum number of minutes a test run executes before it times out.

" + }, + "trialMinutes":{ + "shape":"TrialMinutes", + "documentation":"

Information about an AWS account's usage of free trial device minutes.

" + }, + "maxSlots":{ + "shape":"MaxSlotMap", + "documentation":"

The maximum number of device slots that the AWS account can purchase. Each maximum is expressed as an offering-id:number pair, where the offering-id represents one of the IDs returned by the ListOfferings command.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The default number of minutes (at the account level) a test run executes before it times out. The default value is 150 minutes.

" + }, + "skipAppResign":{ + "shape":"SkipAppResign", + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" } }, - "documentation":"

A container for account-level settings within AWS Device Farm.

" + "documentation":"

A container for account-level settings in AWS Device Farm.

" }, + "AccountsCleanup":{"type":"boolean"}, "AmazonResourceName":{ "type":"string", - "min":32 + "max":1011, + "min":32, + "pattern":"^arn:.+" }, "AmazonResourceNames":{ "type":"list", "member":{"shape":"AmazonResourceName"} }, + "AndroidPaths":{ + "type":"list", + "member":{"shape":"String"} + }, + "AppPackagesCleanup":{"type":"boolean"}, "ArgumentException":{ "type":"structure", "members":{ @@ -761,7 +1320,7 @@ }, "type":{ "shape":"ArtifactType", - "documentation":"

The artifact's type.

Allowed values include the following:

  • UNKNOWN: An unknown type.

  • SCREENSHOT: The screenshot type.

  • DEVICE_LOG: The device log type.

  • MESSAGE_LOG: The message log type.

  • RESULT_LOG: The result log type.

  • SERVICE_LOG: The service log type.

  • WEBKIT_LOG: The web kit log type.

  • INSTRUMENTATION_OUTPUT: The instrumentation type.

  • EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by an Android fuzz test.

  • CALABASH_JSON_OUTPUT: The Calabash JSON output type.

  • CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.

  • CALABASH_STANDARD_OUTPUT: The Calabash standard output type.

  • CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.

  • AUTOMATION_OUTPUT: The automation output type.

  • APPIUM_SERVER_OUTPUT: The Appium server output type.

  • APPIUM_JAVA_OUTPUT: The Appium Java output type.

  • APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.

  • APPIUM_PYTHON_OUTPUT: The Appium Python output type.

  • APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.

  • EXPLORER_EVENT_LOG: The Explorer event log output type.

  • EXPLORER_SUMMARY_LOG: The Explorer summary log output type.

  • APPLICATION_CRASH_REPORT: The application crash report output type.

  • XCTEST_LOG: The XCode test output type.

" + "documentation":"

The artifact's type.

Allowed values include the following:

  • UNKNOWN

  • SCREENSHOT

  • DEVICE_LOG

  • MESSAGE_LOG

  • VIDEO_LOG

  • RESULT_LOG

  • SERVICE_LOG

  • WEBKIT_LOG

  • INSTRUMENTATION_OUTPUT

  • EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android fuzz test.

  • CALABASH_JSON_OUTPUT

  • CALABASH_PRETTY_OUTPUT

  • CALABASH_STANDARD_OUTPUT

  • CALABASH_JAVA_XML_OUTPUT

  • AUTOMATION_OUTPUT

  • APPIUM_SERVER_OUTPUT

  • APPIUM_JAVA_OUTPUT

  • APPIUM_JAVA_XML_OUTPUT

  • APPIUM_PYTHON_OUTPUT

  • APPIUM_PYTHON_XML_OUTPUT

  • EXPLORER_EVENT_LOG

  • EXPLORER_SUMMARY_LOG

  • APPLICATION_CRASH_REPORT

  • XCTEST_LOG

  • VIDEO

  • CUSTOMER_ARTIFACT

  • CUSTOMER_ARTIFACT_LOG

  • TESTSPEC_OUTPUT

" }, "extension":{ "shape":"String", @@ -769,7 +1328,7 @@ }, "url":{ "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the artifact's file.

" + "documentation":"

The presigned Amazon S3 URL that can be used with a GET request to download the artifact's file.

" } }, "documentation":"

Represents the output of a test. Examples of artifacts include logs and screenshots.

" @@ -809,7 +1368,10 @@ "EXPLORER_SUMMARY_LOG", "APPLICATION_CRASH_REPORT", "XCTEST_LOG", - "VIDEO" + "VIDEO", + "CUSTOMER_ARTIFACT", + "CUSTOMER_ARTIFACT_LOG", + "TESTSPEC_OUTPUT" ] }, "Artifacts":{ @@ -833,14 +1395,27 @@ }, "architecture":{ "shape":"String", - "documentation":"

The CPU's architecture, for example x86 or ARM.

" + "documentation":"

The CPU's architecture (for example, x86 or ARM).

" }, "clock":{ "shape":"Double", "documentation":"

The clock speed of the device's CPU, expressed in hertz (Hz). For example, a 1.2 GHz CPU is expressed as 1200000000.

" } }, - "documentation":"

Represents the amount of CPU that an app is using on a physical device.

Note that this does not represent system-wide CPU usage.

" + "documentation":"

Represents the amount of CPU that an app is using on a physical device. Does not represent system-wide CPU usage.

" + }, + "CannotDeleteException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The requested object could not be deleted.

", + "exception":true + }, + "ClientId":{ + "type":"string", + "max":64, + "min":0 }, "ContentType":{ "type":"string", @@ -904,6 +1479,10 @@ "rules":{ "shape":"Rules", "documentation":"

The device pool's rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

" } }, "documentation":"

Represents a request to the create device pool operation.

" @@ -918,6 +1497,107 @@ }, "documentation":"

Represents the result of a create device pool request.

" }, + "CreateInstanceProfileRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of your instance profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of your instance profile.

" + }, + "packageCleanup":{ + "shape":"Boolean", + "documentation":"

When set to true, Device Farm removes app packages after a test run. The default value is false for private devices.

" + }, + "excludeAppPackagesFromCleanup":{ + "shape":"PackageIds", + "documentation":"

An array of strings that specifies the list of app packages that should not be cleaned up from the device after a test run.

The list of packages is considered only if you set packageCleanup to true.

" + }, + "rebootAfterUse":{ + "shape":"Boolean", + "documentation":"

When set to true, Device Farm reboots the instance after a test run. The default value is true.

" + } + } + }, + "CreateInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{ + "shape":"InstanceProfile", + "documentation":"

An object that contains information about your instance profile.

" + } + } + }, + "CreateNetworkProfileRequest":{ + "type":"structure", + "required":[ + "projectArn", + "name" + ], + "members":{ + "projectArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to create a network profile.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name for the new network profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of the network profile.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile to create. Valid values are listed here.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + } + }, + "CreateNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile that is returned by the create network profile request.

" + } + } + }, "CreateProjectRequest":{ "type":"structure", "required":["name"], @@ -925,6 +1605,10 @@ "name":{ "shape":"Name", "documentation":"

The project's name.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

Sets the execution timeout value (in minutes) for a project. All test runs in this project use the specified execution timeout value unless overridden when scheduling a run.

" } }, "documentation":"

Represents a request to the create project operation.

" @@ -944,10 +1628,14 @@ "members":{ "billingMethod":{ "shape":"BillingMethod", - "documentation":"

Returns the billing method for purposes of configuring a remote access session.

" + "documentation":"

The billing method for the remote access session.

" + }, + "vpceConfigurationArns":{ + "shape":"AmazonResourceNames", + "documentation":"

An array of ARNs included in the VPC endpoint configuration.

" } }, - "documentation":"

Creates the configuration settings for a remote access session, including the device model and type.

" + "documentation":"

Configuration settings for a remote access session, including billing method.

" }, "CreateRemoteAccessSessionRequest":{ "type":"structure", @@ -962,15 +1650,47 @@ }, "deviceArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the device for which you want to create a remote access session.

" + "documentation":"

The ARN of the device for which you want to create a remote access session.

" + }, + "instanceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the device instance for which you want to create a remote access session.

" + }, + "sshPublicKey":{ + "shape":"SshPublicKey", + "documentation":"

Ignored. The public key of the ssh key pair you want to use for connecting to remote devices in your remote debugging session. This key is required only if remoteDebugEnabled is set to true.

Remote debugging is no longer supported.

" + }, + "remoteDebugEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true if you want to access devices remotely for debugging in your remote access session.

Remote debugging is no longer supported.

" + }, + "remoteRecordEnabled":{ + "shape":"Boolean", + "documentation":"

Set to true to enable remote recording for the remote access session.

" + }, + "remoteRecordAppArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) for the app to be recorded in the remote access session.

" }, "name":{ "shape":"Name", - "documentation":"

The name of the remote access session that you wish to create.

" + "documentation":"

The name of the remote access session to create.

" + }, + "clientId":{ + "shape":"ClientId", + "documentation":"

Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled is set to true.

Remote debugging is no longer supported.

" }, "configuration":{ "shape":"CreateRemoteAccessSessionConfiguration", "documentation":"

The configuration information for the remote access session request.

" + }, + "interactionMode":{ + "shape":"InteractionMode", + "documentation":"

The interaction mode of the remote access session. Valid values are:

  • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

  • NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

  • VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

" + }, + "skipAppResign":{ + "shape":"Boolean", + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information on how Device Farm modifies your uploads during tests, see Do you modify my app?

" } }, "documentation":"

Creates and submits a request to start a remote access session.

" @@ -985,6 +1705,59 @@ }, "documentation":"

Represents the server response from a request to create a remote access session.

" }, + "CreateTestGridProjectRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

Human-readable name of the Selenium testing project.

" + }, + "description":{ + "shape":"ResourceDescription", + "documentation":"

Human-readable description of the project.

" + } + } + }, + "CreateTestGridProjectResult":{ + "type":"structure", + "members":{ + "testGridProject":{ + "shape":"TestGridProject", + "documentation":"

ARN of the Selenium testing project that was created.

" + } + } + }, + "CreateTestGridUrlRequest":{ + "type":"structure", + "required":[ + "projectArn", + "expiresInSeconds" + ], + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

ARN (from CreateTestGridProject or ListTestGridProjects) to associate with the short-term URL.

" + }, + "expiresInSeconds":{ + "shape":"TestGridUrlExpiresInSecondsInput", + "documentation":"

Lifetime, in seconds, of the URL.

" + } + } + }, + "CreateTestGridUrlResult":{ + "type":"structure", + "members":{ + "url":{ + "shape":"String", + "documentation":"

A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds, to be passed to a RemoteWebDriver.

" + }, + "expires":{ + "shape":"DateTime", + "documentation":"

The number of seconds the URL from CreateTestGridUrlResult$url stays active.

" + } + } + }, "CreateUploadRequest":{ "type":"structure", "required":[ @@ -999,15 +1772,15 @@ }, "name":{ "shape":"Name", - "documentation":"

The upload's file name. The name should not contain the '/' character. If uploading an iOS app, the file name needs to end with the .ipa extension. If uploading an Android app, the file name needs to end with the .apk extension. For all others, the file name must end with the .zip file extension.

" + "documentation":"

The upload's file name. The name should not contain any forward slashes (/). If you are uploading an iOS app, the file name must end with the .ipa extension. If you are uploading an Android app, the file name must end with the .apk extension. For all others, the file name must end with the .zip file extension.

" }, "type":{ "shape":"UploadType", - "documentation":"

The upload's upload type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

" + "documentation":"

The upload's upload type.

Must be one of the following values:

  • ANDROID_APP

  • IOS_APP

  • WEB_APP

  • EXTERNAL_DATA

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_PYTHON_TEST_PACKAGE

  • APPIUM_NODE_TEST_PACKAGE

  • APPIUM_RUBY_TEST_PACKAGE

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_WEB_PYTHON_TEST_PACKAGE

  • APPIUM_WEB_NODE_TEST_PACKAGE

  • APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

  • INSTRUMENTATION_TEST_PACKAGE

  • UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

  • APPIUM_WEB_RUBY_TEST_SPEC

  • INSTRUMENTATION_TEST_SPEC

  • XCTEST_UI_TEST_SPEC

If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an ArgumentException error.

" }, "contentType":{ "shape":"ContentType", - "documentation":"

The upload's content type (for example, \"application/octet-stream\").

" + "documentation":"

The upload's content type (for example, application/octet-stream).

" } }, "documentation":"

Represents a request to the create upload operation.

" @@ -1022,10 +1795,63 @@ }, "documentation":"

Represents the result of a create upload request.

" }, + "CreateVPCEConfigurationRequest":{ + "type":"structure", + "required":[ + "vpceConfigurationName", + "vpceServiceName", + "serviceDnsName" + ], + "members":{ + "vpceConfigurationName":{ + "shape":"VPCEConfigurationName", + "documentation":"

The friendly name you give to your VPC endpoint configuration, to manage your configurations more easily.

" + }, + "vpceServiceName":{ + "shape":"VPCEServiceName", + "documentation":"

The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

" + }, + "serviceDnsName":{ + "shape":"ServiceDnsName", + "documentation":"

The DNS name of the service running in your VPC that you want Device Farm to test.

" + }, + "vpceConfigurationDescription":{ + "shape":"VPCEConfigurationDescription", + "documentation":"

An optional description that provides details about your VPC endpoint configuration.

" + } + } + }, + "CreateVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{ + "shape":"VPCEConfiguration", + "documentation":"

An object that contains information about your VPC endpoint configuration.

" + } + } + }, "CurrencyCode":{ "type":"string", "enum":["USD"] }, + "CustomerArtifactPaths":{ + "type":"structure", + "members":{ + "iosPaths":{ + "shape":"IosPaths", + "documentation":"

Comma-separated list of paths on the iOS device where the artifacts generated by the customer's tests are pulled from.

" + }, + "androidPaths":{ + "shape":"AndroidPaths", + "documentation":"

Comma-separated list of paths on the Android device where the artifacts generated by the customer's tests are pulled from.

" + }, + "deviceHostPaths":{ + "shape":"DeviceHostPaths", + "documentation":"

Comma-separated list of paths in the test execution environment where the artifacts generated by the customer's tests are pulled from.

" + } + }, + "documentation":"

A JSON object that specifies the paths where the artifacts generated by the customer's tests, on the device or in the test environment, are pulled from.

Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.

For web app tests, you can specify both iosPaths and androidPaths.

" + }, "DateTime":{"type":"timestamp"}, "DeleteDevicePoolRequest":{ "type":"structure", @@ -1033,7 +1859,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm device pool you wish to delete.

" + "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm device pool to delete.

" } }, "documentation":"

Represents a request to the delete device pool operation.

" @@ -1044,56 +1870,101 @@ }, "documentation":"

Represents the result of a delete device pool request.

" }, - "DeleteProjectRequest":{ + "DeleteInstanceProfileRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm project you wish to delete.

" + "documentation":"

The Amazon Resource Name (ARN) of the instance profile you are requesting to delete.

" } - }, - "documentation":"

Represents a request to the delete project operation.

" + } }, - "DeleteProjectResult":{ + "DeleteInstanceProfileResult":{ "type":"structure", "members":{ - }, - "documentation":"

Represents the result of a delete project request.

" + } }, - "DeleteRemoteAccessSessionRequest":{ + "DeleteNetworkProfileRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the sesssion for which you want to delete remote access.

" + "documentation":"

The ARN of the network profile to delete.

" } - }, - "documentation":"

Represents the request to delete the specified remote access session.

" + } }, - "DeleteRemoteAccessSessionResult":{ + "DeleteNetworkProfileResult":{ "type":"structure", "members":{ - }, - "documentation":"

The response from the server when a request is made to delete the remote access session.

" + } }, - "DeleteRunRequest":{ + "DeleteProjectRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) for the run you wish to delete.

" + "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm project to delete.

" } }, - "documentation":"

Represents a request to the delete run operation.

" + "documentation":"

Represents a request to the delete project operation.

" }, - "DeleteRunResult":{ + "DeleteProjectResult":{ "type":"structure", "members":{ }, - "documentation":"

Represents the result of a delete run request.

" + "documentation":"

Represents the result of a delete project request.

" + }, + "DeleteRemoteAccessSessionRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the session for which you want to delete remote access.

" + } + }, + "documentation":"

Represents the request to delete the specified remote access session.

" + }, + "DeleteRemoteAccessSessionResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response from the server when a request is made to delete the remote access session.

" + }, + "DeleteRunRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) for the run to delete.

" + } + }, + "documentation":"

Represents a request to the delete run operation.

" + }, + "DeleteRunResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the result of a delete run request.

" + }, + "DeleteTestGridProjectRequest":{ + "type":"structure", + "required":["projectArn"], + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN of the project to delete, from CreateTestGridProject or ListTestGridProjects.

" + } + } + }, + "DeleteTestGridProjectResult":{ + "type":"structure", + "members":{ + } }, "DeleteUploadRequest":{ "type":"structure", @@ -1101,7 +1972,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish to delete.

" + "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete.

" } }, "documentation":"

Represents a request to the delete upload operation.

" @@ -1112,6 +1983,21 @@ }, "documentation":"

Represents the result of a delete upload request.

" }, + "DeleteVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to delete.

" + } + } + }, + "DeleteVPCEConfigurationResult":{ + "type":"structure", + "members":{ + } + }, "Device":{ "type":"structure", "members":{ @@ -1131,13 +2017,17 @@ "shape":"String", "documentation":"

The device's model name.

" }, + "modelId":{ + "shape":"String", + "documentation":"

The device's model ID.

" + }, "formFactor":{ "shape":"DeviceFormFactor", - "documentation":"

The device's form factor.

Allowed values include:

  • PHONE: The phone form factor.

  • TABLET: The tablet form factor.

" + "documentation":"

The device's form factor.

Allowed values include:

  • PHONE

  • TABLET

" }, "platform":{ "shape":"DevicePlatform", - "documentation":"

The device's platform.

Allowed values include:

  • ANDROID: The Android platform.

  • IOS: The iOS platform.

" + "documentation":"

The device's platform.

Allowed values include:

  • ANDROID

  • IOS

" }, "os":{ "shape":"String", @@ -1147,7 +2037,10 @@ "shape":"CPU", "documentation":"

Information about the device's CPU.

" }, - "resolution":{"shape":"Resolution"}, + "resolution":{ + "shape":"Resolution", + "documentation":"

The resolution of the device.

" + }, "heapSize":{ "shape":"Long", "documentation":"

The device's heap size, expressed in bytes.

" @@ -1172,13 +2065,25 @@ "shape":"Boolean", "documentation":"

Specifies whether remote access has been enabled for the specified device.

" }, + "remoteDebugEnabled":{ + "shape":"Boolean", + "documentation":"

This flag is set to true if remote debugging is enabled for the device.

Remote debugging is no longer supported.

" + }, "fleetType":{ "shape":"String", - "documentation":"

The type of fleet to which this device belongs. Possible values for fleet type are PRIVATE and PUBLIC.

" + "documentation":"

The type of fleet to which this device belongs. Possible values are PRIVATE and PUBLIC.

" }, "fleetName":{ "shape":"String", "documentation":"

The name of the fleet to which this device belongs.

" + }, + "instances":{ + "shape":"DeviceInstances", + "documentation":"

The instances that belong to this device.

" + }, + "availability":{ + "shape":"DeviceAvailability", + "documentation":"

Indicates how likely a device is available for a test run. Currently available in the ListDevices and GetDevice API methods.

" } }, "documentation":"

Represents a device type that an app is tested against.

" @@ -1190,9 +2095,75 @@ "PLATFORM", "FORM_FACTOR", "MANUFACTURER", - "REMOTE_ACCESS_ENABLED" + "REMOTE_ACCESS_ENABLED", + "REMOTE_DEBUG_ENABLED", + "APPIUM_VERSION", + "INSTANCE_ARN", + "INSTANCE_LABELS", + "FLEET_TYPE", + "OS_VERSION", + "MODEL", + "AVAILABILITY" + ] + }, + "DeviceAvailability":{ + "type":"string", + "enum":[ + "TEMPORARY_NOT_AVAILABLE", + "BUSY", + "AVAILABLE", + "HIGHLY_AVAILABLE" + ] + }, + "DeviceFarmArn":{ + "type":"string", + "max":1011, + "min":32, + "pattern":"^arn:aws:devicefarm:.+" + }, + "DeviceFilter":{ + "type":"structure", + "members":{ + "attribute":{ + "shape":"DeviceFilterAttribute", + "documentation":"

The aspect of a device such as platform or model used as the selection criteria in a device filter.

The supported operators for each attribute are provided in the following list.

ARN

The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).

Supported operators: EQUALS, IN, NOT_IN

PLATFORM

The device platform. Valid values are ANDROID or IOS.

Supported operators: EQUALS

OS_VERSION

The operating system version (for example, 10.3.2).

Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

MODEL

The device model (for example, iPad 5th Gen).

Supported operators: CONTAINS, EQUALS, IN, NOT_IN

AVAILABILITY

The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

Supported operators: EQUALS

FORM_FACTOR

The device form factor. Valid values are PHONE or TABLET.

Supported operators: EQUALS

MANUFACTURER

The device manufacturer (for example, Apple).

Supported operators: EQUALS, IN, NOT_IN

REMOTE_ACCESS_ENABLED

Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

Supported operators: EQUALS

REMOTE_DEBUG_ENABLED

Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.

Supported operators: EQUALS

Because remote debugging is no longer supported, this filter is ignored.

INSTANCE_ARN

The Amazon Resource Name (ARN) of the device instance.

Supported operators: EQUALS, IN, NOT_IN

INSTANCE_LABELS

The label of the device instance.

Supported operators: CONTAINS

FLEET_TYPE

The fleet type. Valid values are PUBLIC or PRIVATE.

Supported operators: EQUALS

" + }, + "operator":{ + "shape":"RuleOperator", + "documentation":"

Specifies how Device Farm compares the filter's attribute to the value. See the attribute descriptions.

" + }, + "values":{ + "shape":"DeviceFilterValues", + "documentation":"

An array of one or more filter values used in a device filter.

Operator Values

  • The IN and NOT_IN operators can take a values array that has more than one element.

  • The other operators require an array with a single element.

Attribute Values

  • The PLATFORM attribute can be set to ANDROID or IOS.

  • The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

  • The FORM_FACTOR attribute can be set to PHONE or TABLET.

  • The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

" + } + }, + "documentation":"

Represents a device filter used to select a set of devices to be included in a test run. This data structure is passed in as the deviceSelectionConfiguration parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

It is also passed in as the filters parameter to ListDevices. For an example of the JSON request syntax, see ListDevices.

" + }, + "DeviceFilterAttribute":{ + "type":"string", + "enum":[ + "ARN", + "PLATFORM", + "OS_VERSION", + "MODEL", + "AVAILABILITY", + "FORM_FACTOR", + "MANUFACTURER", + "REMOTE_ACCESS_ENABLED", + "REMOTE_DEBUG_ENABLED", + "INSTANCE_ARN", + "INSTANCE_LABELS", + "FLEET_TYPE" ] }, + "DeviceFilterValues":{ + "type":"list", + "member":{"shape":"String"} + }, + "DeviceFilters":{ + "type":"list", + "member":{"shape":"DeviceFilter"} + }, "DeviceFormFactor":{ "type":"string", "enum":[ @@ -1200,6 +2171,44 @@ "TABLET" ] }, + "DeviceHostPaths":{ + "type":"list", + "member":{"shape":"String"} + }, + "DeviceInstance":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the device instance.

" + }, + "deviceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the device.

" + }, + "labels":{ + "shape":"InstanceLabels", + "documentation":"

An array of strings that describe the device instance.

" + }, + "status":{ + "shape":"InstanceStatus", + "documentation":"

The status of the device instance. Valid values are listed here.

" + }, + "udid":{ + "shape":"String", + "documentation":"

Unique device identifier for the device instance.

" + }, + "instanceProfile":{ + "shape":"InstanceProfile", + "documentation":"

A object that contains information about the instance profile.

" + } + }, + "documentation":"

Represents the device instance.

" + }, + "DeviceInstances":{ + "type":"list", + "member":{"shape":"DeviceInstance"} + }, "DeviceMinutes":{ "type":"structure", "members":{ @@ -1247,6 +2256,10 @@ "rules":{ "shape":"Rules", "documentation":"

Information about the device pool's rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

" } }, "documentation":"

Represents a collection of device types.

" @@ -1254,7 +2267,10 @@ "DevicePoolCompatibilityResult":{ "type":"structure", "members":{ - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet) to return information about.

" + }, "compatible":{ "shape":"Boolean", "documentation":"

Whether the result was compatible with the device pool.

" @@ -1281,11 +2297,74 @@ "type":"list", "member":{"shape":"DevicePool"} }, + "DeviceSelectionConfiguration":{ + "type":"structure", + "required":[ + "filters", + "maxDevices" + ], + "members":{ + "filters":{ + "shape":"DeviceFilters", + "documentation":"

Used to dynamically select a set of devices for a test run. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute

    The aspect of a device such as platform or model used as the selection criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).

    • PLATFORM: The device platform. Valid values are ANDROID or IOS.

    • OS_VERSION: The operating system version (for example, 10.3.2).

    • MODEL: The device model (for example, iPad 5th Gen).

    • AVAILABILITY: The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

    • FORM_FACTOR: The device form factor. Valid values are PHONE or TABLET.

    • MANUFACTURER: The device manufacturer (for example, Apple).

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is no longer supported, this filter is ignored.

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.

  • Operator

    The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values

    An array of one or more filter values.

    Operator Values

    • The IN and NOT_IN operators can take a values array that has more than one element.

    • The other operators require an array with a single element.

    Attribute Values

    • The PLATFORM attribute can be set to ANDROID or IOS.

    • The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

    • The FORM_FACTOR attribute can be set to PHONE or TABLET.

    • The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The maximum number of devices to be included in a test run.

" + } + }, + "documentation":"

Represents the device filters used in a test run and the maximum number of devices to be included in the run. It is passed in as the deviceSelectionConfiguration request parameter in ScheduleRun.

" + }, + "DeviceSelectionResult":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"DeviceFilters", + "documentation":"

The filters in a device selection result.

" + }, + "matchedDevicesCount":{ + "shape":"Integer", + "documentation":"

The number of devices that matched the device filter selection criteria.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The maximum number of devices to be selected by a device filter and included in a test run.

" + } + }, + "documentation":"

Contains the run results requested by the device selection configuration and how many devices were returned. For an example of the JSON response syntax, see ScheduleRun.

" + }, "Devices":{ "type":"list", "member":{"shape":"Device"} }, "Double":{"type":"double"}, + "ExceptionMessage":{"type":"string"}, + "ExecutionConfiguration":{ + "type":"structure", + "members":{ + "jobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The number of minutes a test run executes before it times out.

" + }, + "accountsCleanup":{ + "shape":"AccountsCleanup", + "documentation":"

True if account cleanup is enabled at the beginning of the test. Otherwise, false.

" + }, + "appPackagesCleanup":{ + "shape":"AppPackagesCleanup", + "documentation":"

True if app package cleanup is enabled at the beginning of the test. Otherwise, false.

" + }, + "videoCapture":{ + "shape":"VideoCapture", + "documentation":"

Set to true to enable video capture. Otherwise, set to false. The default is true.

" + }, + "skipAppResign":{ + "shape":"SkipAppResign", + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + } + }, + "documentation":"

Represents configuration information about a test run, such as the execution timeout (in minutes).

" + }, "ExecutionResult":{ "type":"string", "enum":[ @@ -1298,6 +2377,13 @@ "STOPPED" ] }, + "ExecutionResultCode":{ + "type":"string", + "enum":[ + "PARSING_FAILED", + "VPC_ENDPOINT_SETUP_FAILED" + ] + }, "ExecutionStatus":{ "type":"string", "enum":[ @@ -1326,10 +2412,32 @@ "GetAccountSettingsResult":{ "type":"structure", "members":{ - "accountSettings":{"shape":"AccountSettings"} + "accountSettings":{ + "shape":"AccountSettings", + "documentation":"

The account settings.

" + } }, "documentation":"

Represents the account settings return values from the GetAccountSettings request.

" }, + "GetDeviceInstanceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the instance you're requesting information about.

" + } + } + }, + "GetDeviceInstanceResult":{ + "type":"structure", + "members":{ + "deviceInstance":{ + "shape":"DeviceInstance", + "documentation":"

An object that contains information about your device instance.

" + } + } + }, "GetDevicePoolCompatibilityRequest":{ "type":"structure", "required":["devicePoolArn"], @@ -1344,7 +2452,15 @@ }, "testType":{ "shape":"TestType", - "documentation":"

The test type for the specified device pool.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test type for the specified device pool.

Allowed values include the following:

  • BUILTIN_FUZZ.

  • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT.

  • APPIUM_JAVA_TESTNG.

  • APPIUM_PYTHON.

  • APPIUM_NODE.

  • APPIUM_RUBY.

  • APPIUM_WEB_JAVA_JUNIT.

  • APPIUM_WEB_JAVA_TESTNG.

  • APPIUM_WEB_PYTHON.

  • APPIUM_WEB_NODE.

  • APPIUM_WEB_RUBY.

  • CALABASH.

  • INSTRUMENTATION.

  • UIAUTOMATION.

  • UIAUTOMATOR.

  • XCTEST.

  • XCTEST_UI.

" + }, + "test":{ + "shape":"ScheduleRunTest", + "documentation":"

Information about the uploaded test to be run against the device pool.

" + }, + "configuration":{ + "shape":"ScheduleRunConfiguration", + "documentation":"

An object that contains information about the settings for a run.

" } }, "documentation":"

Represents a request to the get device pool compatibility operation.

" @@ -1377,7 +2493,10 @@ "GetDevicePoolResult":{ "type":"structure", "members":{ - "devicePool":{"shape":"DevicePool"} + "devicePool":{ + "shape":"DevicePool", + "documentation":"

An object that contains information about the requested device pool.

" + } }, "documentation":"

Represents the result of a get device pool request.

" }, @@ -1395,10 +2514,32 @@ "GetDeviceResult":{ "type":"structure", "members":{ - "device":{"shape":"Device"} + "device":{ + "shape":"Device", + "documentation":"

An object that contains information about the requested device.

" + } }, "documentation":"

Represents the result of a get device request.

" }, + "GetInstanceProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of an instance profile.

" + } + } + }, + "GetInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{ + "shape":"InstanceProfile", + "documentation":"

An object that contains information about an instance profile.

" + } + } + }, "GetJobRequest":{ "type":"structure", "required":["arn"], @@ -1413,10 +2554,32 @@ "GetJobResult":{ "type":"structure", "members":{ - "job":{"shape":"Job"} + "job":{ + "shape":"Job", + "documentation":"

An object that contains information about the requested job.

" + } }, "documentation":"

Represents the result of a get job request.

" }, + "GetNetworkProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the network profile to return information about.

" + } + } + }, + "GetNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile.

" + } + } + }, "GetOfferingStatusRequest":{ "type":"structure", "members":{ @@ -1459,7 +2622,10 @@ "GetProjectResult":{ "type":"structure", "members":{ - "project":{"shape":"Project"} + "project":{ + "shape":"Project", + "documentation":"

The project to get information about.

" + } }, "documentation":"

Represents the result of a get project request.

" }, @@ -1498,7 +2664,10 @@ "GetRunResult":{ "type":"structure", "members":{ - "run":{"shape":"Run"} + "run":{ + "shape":"Run", + "documentation":"

The run to get results from.

" + } }, "documentation":"

Represents the result of a get run request.

" }, @@ -1516,10 +2685,58 @@ "GetSuiteResult":{ "type":"structure", "members":{ - "suite":{"shape":"Suite"} + "suite":{ + "shape":"Suite", + "documentation":"

A collection of one or more tests.

" + } }, "documentation":"

Represents the result of a get suite request.

" }, + "GetTestGridProjectRequest":{ + "type":"structure", + "required":["projectArn"], + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN of the Selenium testing project, from either CreateTestGridProject or ListTestGridProjects.

" + } + } + }, + "GetTestGridProjectResult":{ + "type":"structure", + "members":{ + "testGridProject":{ + "shape":"TestGridProject", + "documentation":"

A TestGridProject.

" + } + } + }, + "GetTestGridSessionRequest":{ + "type":"structure", + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN for the project that this session belongs to. See CreateTestGridProject and ListTestGridProjects.

" + }, + "sessionId":{ + "shape":"ResourceId", + "documentation":"

An ID associated with this session.

" + }, + "sessionArn":{ + "shape":"DeviceFarmArn", + "documentation":"

An ARN that uniquely identifies a TestGridSession.

" + } + } + }, + "GetTestGridSessionResult":{ + "type":"structure", + "members":{ + "testGridSession":{ + "shape":"TestGridSession", + "documentation":"

The TestGridSession that was requested.

" + } + } + }, "GetTestRequest":{ "type":"structure", "required":["arn"], @@ -1534,7 +2751,10 @@ "GetTestResult":{ "type":"structure", "members":{ - "test":{"shape":"Test"} + "test":{ + "shape":"Test", + "documentation":"

A test condition that is evaluated.

" + } }, "documentation":"

Represents the result of a get test request.

" }, @@ -1552,10 +2772,36 @@ "GetUploadResult":{ "type":"structure", "members":{ - "upload":{"shape":"Upload"} + "upload":{ + "shape":"Upload", + "documentation":"

An app or a set of one or more tests to upload or that have been uploaded.

" + } }, "documentation":"

Represents the result of a get upload request.

" }, + "GetVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to describe.

" + } + } + }, + "GetVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{ + "shape":"VPCEConfiguration", + "documentation":"

An object that contains information about your VPC endpoint configuration.

" + } + } + }, + "HostAddress":{ + "type":"string", + "max":1024 + }, "IdempotencyException":{ "type":"structure", "members":{ @@ -1576,7 +2822,7 @@ }, "type":{ "shape":"DeviceAttribute", - "documentation":"

The type of incompatibility.

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

" + "documentation":"

The type of incompatibility.

Allowed values include:

  • ARN

  • FORM_FACTOR (for example, phone or tablet)

  • MANUFACTURER

  • PLATFORM (for example, Android or iOS)

  • REMOTE_ACCESS_ENABLED

  • APPIUM_VERSION

" } }, "documentation":"

Represents information about incompatibility.

" @@ -1598,7 +2844,7 @@ }, "appArn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the app about which you are requesting information.

" + "documentation":"

The ARN of the app about which you are requesting information.

" } }, "documentation":"

Represents the request to install an Android application (in .apk format) or an iOS application (in .ipa format) as part of a remote access session.

" @@ -1606,37 +2852,118 @@ "InstallToRemoteAccessSessionResult":{ "type":"structure", "members":{ - "appUpload":{"shape":"Upload"} + "appUpload":{ + "shape":"Upload", + "documentation":"

An app to upload or that has been uploaded.

" + } }, "documentation":"

Represents the response from the server after AWS Device Farm makes a request to install to a remote access session.

" }, - "Integer":{"type":"integer"}, - "Job":{ + "InstanceLabels":{ + "type":"list", + "member":{"shape":"String"} + }, + "InstanceProfile":{ "type":"structure", "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The job's ARN.

" + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" }, - "name":{ - "shape":"Name", - "documentation":"

The job's name.

" + "packageCleanup":{ + "shape":"Boolean", + "documentation":"

When set to true, Device Farm removes app packages after a test run. The default value is false for private devices.

" }, - "type":{ - "shape":"TestType", - "documentation":"

The job's type.

Allowed values include the following:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "excludeAppPackagesFromCleanup":{ + "shape":"PackageIds", + "documentation":"

An array of strings containing the list of app packages that should not be cleaned up from the device after a test run completes.

The list of packages is considered only if you set packageCleanup to true.

" }, - "created":{ - "shape":"DateTime", - "documentation":"

When the job was created.

" + "rebootAfterUse":{ + "shape":"Boolean", + "documentation":"

When set to true, Device Farm reboots the instance after a test run. The default value is true.

" }, - "status":{ - "shape":"ExecutionStatus", - "documentation":"

The job's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" + "name":{ + "shape":"Name", + "documentation":"

The name of the instance profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of the instance profile.

" + } + }, + "documentation":"

Represents the instance profile.

" + }, + "InstanceProfiles":{ + "type":"list", + "member":{"shape":"InstanceProfile"} + }, + "InstanceStatus":{ + "type":"string", + "enum":[ + "IN_USE", + "PREPARING", + "AVAILABLE", + "NOT_AVAILABLE" + ] + }, + "Integer":{"type":"integer"}, + "InteractionMode":{ + "type":"string", + "enum":[ + "INTERACTIVE", + "NO_VIDEO", + "VIDEO_ONLY" + ], + "max":64, + "min":0 + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com if you see this error.

", + "exception":true, + "fault":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

There was an error with the update request, or you do not have sufficient permissions to update this VPC endpoint configuration.

", + "exception":true + }, + "IosPaths":{ + "type":"list", + "member":{"shape":"String"} + }, + "Job":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The job's ARN.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The job's name.

" + }, + "type":{ + "shape":"TestType", + "documentation":"

The job's type.

Allowed values include the following:

  • BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • CALABASH

  • INSTRUMENTATION

  • UIAUTOMATION

  • UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

" + }, + "created":{ + "shape":"DateTime", + "documentation":"

When the job was created.

" + }, + "status":{ + "shape":"ExecutionStatus", + "documentation":"

The job's status.

Allowed values include:

  • PENDING

  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • PROCESSING

  • SCHEDULING

  • PREPARING

  • RUNNING

  • COMPLETED

  • STOPPING

" }, "result":{ "shape":"ExecutionResult", - "documentation":"

The job's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The job's result.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "started":{ "shape":"DateTime", @@ -1654,14 +2981,30 @@ "shape":"Message", "documentation":"

A message about the job's result.

" }, - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet).

" + }, + "instanceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the instance.

" + }, "deviceMinutes":{ "shape":"DeviceMinutes", "documentation":"

Represents the total (metered or unmetered) minutes used by the job.

" + }, + "videoEndpoint":{ + "shape":"String", + "documentation":"

The endpoint for streaming device video.

" + }, + "videoCapture":{ + "shape":"VideoCapture", + "documentation":"

This value is set to true if video capture is enabled. Otherwise, it is set to false.

" } }, "documentation":"

Represents a device.

" }, + "JobTimeoutMinutes":{"type":"integer"}, "Jobs":{ "type":"list", "member":{"shape":"Job"} @@ -1686,11 +3029,11 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Run, Job, Suite, or Test ARN.

" + "documentation":"

The run, job, suite, or test ARN.

" }, "type":{ "shape":"ArtifactCategory", - "documentation":"

The artifacts' type.

Allowed values include:

  • FILE: The artifacts are files.

  • LOG: The artifacts are logs.

  • SCREENSHOT: The artifacts are screenshots.

" + "documentation":"

The artifacts' type.

Allowed values include:

  • FILE

  • LOG

  • SCREENSHOT

" }, "nextToken":{ "shape":"PaginationToken", @@ -1708,11 +3051,37 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list artifacts operation.

" }, + "ListDeviceInstancesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

An integer that specifies the maximum number of items you want to return in the API response.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListDeviceInstancesResult":{ + "type":"structure", + "members":{ + "deviceInstances":{ + "shape":"DeviceInstances", + "documentation":"

An object that contains information about your device instances.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that can be used in the next call to this operation to return the next set of items in the list.

" + } + } + }, "ListDevicePoolsRequest":{ "type":"structure", "required":["arn"], @@ -1741,7 +3110,7 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list device pools request.

" @@ -1756,6 +3125,10 @@ "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + }, + "filters":{ + "shape":"DeviceFilters", + "documentation":"

Used to select a set of devices. A filter is made up of an attribute, an operator, and one or more values.

  • Attribute: The aspect of a device such as platform or model used as the selection criteria in a device filter.

    Allowed values include:

    • ARN: The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).

    • PLATFORM: The device platform. Valid values are ANDROID or IOS.

    • OS_VERSION: The operating system version (for example, 10.3.2).

    • MODEL: The device model (for example, iPad 5th Gen).

    • AVAILABILITY: The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

    • FORM_FACTOR: The device form factor. Valid values are PHONE or TABLET.

    • MANUFACTURER: The device manufacturer (for example, Apple).

    • REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

    • REMOTE_DEBUG_ENABLED: Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE. Because remote debugging is no longer supported, this attribute is ignored.

    • INSTANCE_ARN: The Amazon Resource Name (ARN) of the device instance.

    • INSTANCE_LABELS: The label of the device instance.

    • FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.

  • Operator: The filter operator.

    • The EQUALS operator is available for every attribute except INSTANCE_LABELS.

    • The CONTAINS operator is available for the INSTANCE_LABELS and MODEL attributes.

    • The IN and NOT_IN operators are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN attributes.

    • The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS operators are also available for the OS_VERSION attribute.

  • Values: An array of one or more filter values.

    • The IN and NOT_IN operators take a values array that has one or more elements.

    • The other operators require an array with a single element.

    • In a request, the AVAILABILITY attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

" } }, "documentation":"

Represents the result of a list devices request.

" @@ -1769,18 +3142,44 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list devices operation.

" }, + "ListInstanceProfilesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

An integer that specifies the maximum number of items you want to return in the API response.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListInstanceProfilesResult":{ + "type":"structure", + "members":{ + "instanceProfiles":{ + "shape":"InstanceProfiles", + "documentation":"

An object that contains information about your instance profiles.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that can be used in the next call to this operation to return the next set of items in the list.

" + } + } + }, "ListJobsRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The jobs' ARNs.

" + "documentation":"

The run's Amazon Resource Name (ARN).

" }, "nextToken":{ "shape":"PaginationToken", @@ -1798,11 +3197,64 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list jobs request.

" }, + "ListNetworkProfilesRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list network profiles.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile to return information about. Valid values are listed here.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListNetworkProfilesResult":{ + "type":"structure", + "members":{ + "networkProfiles":{ + "shape":"NetworkProfiles", + "documentation":"

A list of the available network profiles.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListOfferingPromotionsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListOfferingPromotionsResult":{ + "type":"structure", + "members":{ + "offeringPromotions":{ + "shape":"OfferingPromotions", + "documentation":"

Information about the offering promotions.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier to be used in the next call to this operation, to return the next set of items in the list.

" + } + } + }, "ListOfferingTransactionsRequest":{ "type":"structure", "members":{ @@ -1842,7 +3294,7 @@ "members":{ "offerings":{ "shape":"Offerings", - "documentation":"

A value representing the list offering results.

" + "documentation":"

A value that represents the list offering results.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1874,7 +3326,7 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list projects request.

" @@ -1885,7 +3337,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session about which you are requesting information.

" + "documentation":"

The Amazon Resource Name (ARN) of the project about which you are requesting information.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1899,7 +3351,7 @@ "members":{ "remoteAccessSessions":{ "shape":"RemoteAccessSessions", - "documentation":"

A container representing the metadata from the service about each remote access session you are requesting.

" + "documentation":"

A container that represents the metadata from the service about each remote access session you are requesting.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1932,7 +3384,7 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list runs request.

" @@ -1943,7 +3395,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list samples.

" + "documentation":"

The Amazon Resource Name (ARN) of the job used to list samples.

" }, "nextToken":{ "shape":"PaginationToken", @@ -1961,7 +3413,7 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list samples request.

" @@ -1972,7 +3424,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The suites' ARNs.

" + "documentation":"

The job's Amazon Resource Name (ARN).

" }, "nextToken":{ "shape":"PaginationToken", @@ -1990,18 +3442,180 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list suites request.

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"DeviceFarmArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource or resources for which to list tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters. Tag values can have a maximum length of 256 characters.

" + } + } + }, + "ListTestGridProjectsRequest":{ + "type":"structure", + "members":{ + "maxResult":{ + "shape":"MaxPageSize", + "documentation":"

Return no more than this number of results.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

From a response, used to continue a paginated listing.

" + } + } + }, + "ListTestGridProjectsResult":{ + "type":"structure", + "members":{ + "testGridProjects":{ + "shape":"TestGridProjects", + "documentation":"

The list of TestGridProjects, based on a ListTestGridProjectsRequest.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Used for pagination. Pass into ListTestGridProjects to get more results in a paginated request.

" + } + } + }, + "ListTestGridSessionActionsRequest":{ + "type":"structure", + "required":["sessionArn"], + "members":{ + "sessionArn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN of the session to retrieve.

" + }, + "maxResult":{ + "shape":"MaxPageSize", + "documentation":"

The maximum number of sessions to return per response.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListTestGridSessionActionsResult":{ + "type":"structure", + "members":{ + "actions":{ + "shape":"TestGridSessionActions", + "documentation":"

The action taken by the session.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListTestGridSessionArtifactsRequest":{ + "type":"structure", + "required":["sessionArn"], + "members":{ + "sessionArn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN of a TestGridSession.

" + }, + "type":{ + "shape":"TestGridSessionArtifactCategory", + "documentation":"

Limit results to a specified type of artifact.

" + }, + "maxResult":{ + "shape":"MaxPageSize", + "documentation":"

The maximum number of results to be returned by a request.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListTestGridSessionArtifactsResult":{ + "type":"structure", + "members":{ + "artifacts":{ + "shape":"TestGridSessionArtifacts", + "documentation":"

A list of test grid session artifacts for a TestGridSession.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListTestGridSessionsRequest":{ + "type":"structure", + "required":["projectArn"], + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

ARN of a TestGridProject.

" + }, + "status":{ + "shape":"TestGridSessionStatus", + "documentation":"

Return only sessions in this state.

" + }, + "creationTimeAfter":{ + "shape":"DateTime", + "documentation":"

Return only sessions created after this time.

" + }, + "creationTimeBefore":{ + "shape":"DateTime", + "documentation":"

Return only sessions created before this time.

" + }, + "endTimeAfter":{ + "shape":"DateTime", + "documentation":"

Return only sessions that ended after this time.

" + }, + "endTimeBefore":{ + "shape":"DateTime", + "documentation":"

Return only sessions that ended before this time.

" + }, + "maxResult":{ + "shape":"MaxPageSize", + "documentation":"

Return only this many results at a time.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, + "ListTestGridSessionsResult":{ + "type":"structure", + "members":{ + "testGridSessions":{ + "shape":"TestGridSessions", + "documentation":"

The sessions that match the criteria in a ListTestGridSessionsRequest.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token.

" + } + } + }, "ListTestsRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The tests' ARNs.

" + "documentation":"

The test suite's Amazon Resource Name (ARN).

" }, "nextToken":{ "shape":"PaginationToken", @@ -2019,7 +3633,7 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list tests request.

" @@ -2044,11 +3658,11 @@ "members":{ "uniqueProblems":{ "shape":"UniqueProblemsByExecutionResultMap", - "documentation":"

Information about the unique problems.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

Information about the unique problems.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list unique problems request.

" @@ -2061,6 +3675,10 @@ "shape":"AmazonResourceName", "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to list uploads.

" }, + "type":{ + "shape":"UploadType", + "documentation":"

The type of upload.

Must be one of the following values:

  • ANDROID_APP

  • IOS_APP

  • WEB_APP

  • EXTERNAL_DATA

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_PYTHON_TEST_PACKAGE

  • APPIUM_NODE_TEST_PACKAGE

  • APPIUM_RUBY_TEST_PACKAGE

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_WEB_PYTHON_TEST_PACKAGE

  • APPIUM_WEB_NODE_TEST_PACKAGE

  • APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

  • INSTRUMENTATION_TEST_PACKAGE

  • UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

  • APPIUM_WEB_RUBY_TEST_SPEC

  • INSTRUMENTATION_TEST_SPEC

  • XCTEST_UI_TEST_SPEC

" + }, "nextToken":{ "shape":"PaginationToken", "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" @@ -2077,11 +3695,37 @@ }, "nextToken":{ "shape":"PaginationToken", - "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned, which can be used in a subsequent call to this operation to return the next set of items in the list.

" + "documentation":"

If the number of items that are returned is significantly large, this is an identifier that is also returned. It can be used in a subsequent call to this operation to return the next set of items in the list.

" } }, "documentation":"

Represents the result of a list uploads request.

" }, + "ListVPCEConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

An integer that specifies the maximum number of items you want to return in the API response.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, + "ListVPCEConfigurationsResult":{ + "type":"structure", + "members":{ + "vpceConfigurations":{ + "shape":"VPCEConfigurations", + "documentation":"

An array of VPCEConfiguration objects that contain information about your VPC endpoint configuration.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" + } + } + }, "Location":{ "type":"structure", "required":[ @@ -2098,9 +3742,19 @@ "documentation":"

The longitude.

" } }, - "documentation":"

Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example 47.6204, -122.3491).

Elevation is currently not supported.

" + "documentation":"

Represents a latitude and longitude pair, expressed in geographic coordinate system degrees (for example, 47.6204, -122.3491).

Elevation is currently not supported.

" }, "Long":{"type":"long"}, + "MaxPageSize":{ + "type":"integer", + "max":1000, + "min":1 + }, + "MaxSlotMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Integer"} + }, "Message":{ "type":"string", "max":16384, @@ -2120,34 +3774,99 @@ }, "currencyCode":{ "shape":"CurrencyCode", - "documentation":"

The currency code of a monetary amount. For example, USD means \"U.S. dollars.\"

" + "documentation":"

The currency code of a monetary amount. For example, USD means U.S. dollars.

" } }, - "documentation":"

A number representing the monetary amount for an offering or transaction.

" + "documentation":"

A number that represents the monetary amount for an offering or transaction.

" }, "Name":{ "type":"string", "max":256, "min":0 }, - "NotEligibleException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"Message", - "documentation":"

The HTTP response code of a Not Eligible exception.

" - } - }, - "documentation":"

Exception gets thrown when a user is not eligible to perform the specified transaction.

", - "exception":true - }, - "NotFoundException":{ + "NetworkProfile":{ "type":"structure", "members":{ - "message":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the network profile.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the network profile.

" + }, + "description":{ "shape":"Message", - "documentation":"

Any additional information about the exception.

" - } + "documentation":"

The description of the network profile.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile. Valid values are listed here.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + }, + "documentation":"

An array of settings that describes characteristics of a network profile.

" + }, + "NetworkProfileType":{ + "type":"string", + "enum":[ + "CURATED", + "PRIVATE" + ] + }, + "NetworkProfiles":{ + "type":"list", + "member":{"shape":"NetworkProfile"} + }, + "NotEligibleException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"Message", + "documentation":"

The HTTP response code of a Not Eligible exception.

" + } + }, + "documentation":"

Exception gets thrown when a user is not eligible to perform the specified transaction.

", + "exception":true + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"Message", + "documentation":"

Any additional information about the exception.

" + } }, "documentation":"

The specified entity was not found.

", "exception":true @@ -2161,15 +3880,15 @@ }, "description":{ "shape":"Message", - "documentation":"

A string describing the offering.

" + "documentation":"

A string that describes the offering.

" }, "type":{ "shape":"OfferingType", - "documentation":"

The type of offering (e.g., \"RECURRING\") for a device.

" + "documentation":"

The type of offering (for example, RECURRING) for a device.

" }, "platform":{ "shape":"DevicePlatform", - "documentation":"

The platform of the device (e.g., ANDROID or IOS).

" + "documentation":"

The platform of the device (for example, ANDROID or IOS).

" }, "recurringCharges":{ "shape":"RecurringCharges", @@ -2182,6 +3901,28 @@ "type":"string", "min":32 }, + "OfferingPromotion":{ + "type":"structure", + "members":{ + "id":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID of the offering promotion.

" + }, + "description":{ + "shape":"Message", + "documentation":"

A string that describes the offering promotion.

" + } + }, + "documentation":"

Represents information about an offering promotion.

" + }, + "OfferingPromotionIdentifier":{ + "type":"string", + "min":4 + }, + "OfferingPromotions":{ + "type":"list", + "member":{"shape":"OfferingPromotion"} + }, "OfferingStatus":{ "type":"structure", "members":{ @@ -2220,6 +3961,10 @@ "shape":"TransactionIdentifier", "documentation":"

The transaction ID of the offering transaction.

" }, + "offeringPromotionId":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID that corresponds to a device offering promotion.

" + }, "createdOn":{ "shape":"DateTime", "documentation":"

The date on which an offering transaction was created.

" @@ -2251,11 +3996,20 @@ "type":"list", "member":{"shape":"Offering"} }, + "PackageIds":{ + "type":"list", + "member":{"shape":"String"} + }, "PaginationToken":{ "type":"string", "max":1024, "min":4 }, + "PercentInteger":{ + "type":"integer", + "max":100, + "min":0 + }, "Problem":{ "type":"structure", "members":{ @@ -2281,7 +4035,7 @@ }, "result":{ "shape":"ExecutionResult", - "documentation":"

The problem's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The problem's result.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "message":{ "shape":"Message", @@ -2319,6 +4073,10 @@ "shape":"Name", "documentation":"

The project's name.

" }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The default number of minutes (at the project level) a test run executes before it times out. The default value is 150 minutes.

" + }, "created":{ "shape":"DateTime", "documentation":"

When the project was created.

" @@ -2339,7 +4097,11 @@ }, "quantity":{ "shape":"Integer", - "documentation":"

The number of device slots you wish to purchase in an offering request.

" + "documentation":"

The number of device slots to purchase in an offering request.

" + }, + "offeringPromotionId":{ + "shape":"OfferingPromotionIdentifier", + "documentation":"

The ID of the offering promotion to be applied to the purchase.

" } }, "documentation":"

Represents a request for a purchase offering.

" @@ -2352,7 +4114,7 @@ "documentation":"

Represents the offering transaction for the purchase result.

" } }, - "documentation":"

The result of the purchase offering (e.g., success or failure).

" + "documentation":"

The result of the purchase offering (for example, success or failure).

" }, "PurchasedDevicesMap":{ "type":"map", @@ -2364,19 +4126,19 @@ "members":{ "wifi":{ "shape":"Boolean", - "documentation":"

True if Wi-Fi is enabled at the beginning of the test; otherwise, false.

" + "documentation":"

True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.

" }, "bluetooth":{ "shape":"Boolean", - "documentation":"

True if Bluetooth is enabled at the beginning of the test; otherwise, false.

" + "documentation":"

True if Bluetooth is enabled at the beginning of the test. Otherwise, false.

" }, "nfc":{ "shape":"Boolean", - "documentation":"

True if NFC is enabled at the beginning of the test; otherwise, false.

" + "documentation":"

True if NFC is enabled at the beginning of the test. Otherwise, false.

" }, "gps":{ "shape":"Boolean", - "documentation":"

True if GPS is enabled at the beginning of the test; otherwise, false.

" + "documentation":"

True if GPS is enabled at the beginning of the test. Otherwise, false.

" } }, "documentation":"

Represents the set of radios and their states on a device. Examples of radios include Wi-Fi, GPS, Bluetooth, and NFC.

" @@ -2390,10 +4152,10 @@ }, "frequency":{ "shape":"RecurringChargeFrequency", - "documentation":"

The frequency in which charges will recur.

" + "documentation":"

The frequency in which charges recur.

" } }, - "documentation":"

Specifies whether charges for devices will be recurring.

" + "documentation":"

Specifies whether charges for devices are recurring.

" }, "RecurringChargeFrequency":{ "type":"string", @@ -2420,11 +4182,11 @@ }, "status":{ "shape":"ExecutionStatus", - "documentation":"

The status of the remote access session. Can be any of the following:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" + "documentation":"

The status of the remote access session. Can be any of the following:

  • PENDING.

  • PENDING_CONCURRENCY.

  • PENDING_DEVICE.

  • PROCESSING.

  • SCHEDULING.

  • PREPARING.

  • RUNNING.

  • COMPLETED.

  • STOPPING.

" }, "result":{ "shape":"ExecutionResult", - "documentation":"

The result of the remote access session. Can be any of the following:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The result of the remote access session. Can be any of the following:

  • PENDING.

  • PASSED.

  • WARNED.

  • FAILED.

  • SKIPPED.

  • ERRORED.

  • STOPPED.

" }, "message":{ "shape":"Message", @@ -2438,15 +4200,57 @@ "shape":"DateTime", "documentation":"

The date and time the remote access session was stopped.

" }, - "device":{"shape":"Device"}, + "device":{ + "shape":"Device", + "documentation":"

The device (phone or tablet) used in the remote access session.

" + }, + "instanceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the instance.

" + }, + "remoteDebugEnabled":{ + "shape":"Boolean", + "documentation":"

This flag is set to true if remote debugging is enabled for the remote access session.

Remote debugging is no longer supported.

" + }, + "remoteRecordEnabled":{ + "shape":"Boolean", + "documentation":"

This flag is set to true if remote recording is enabled for the remote access session.

" + }, + "remoteRecordAppArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN for the app to be recorded in the remote access session.

" + }, + "hostAddress":{ + "shape":"HostAddress", + "documentation":"

IP address of the EC2 host where you need to connect to remotely debug devices. Only returned if remote debugging is enabled for the remote access session.

Remote debugging is no longer supported.

" + }, + "clientId":{ + "shape":"ClientId", + "documentation":"

Unique identifier of your client for the remote access session. Only returned if remote debugging is enabled for the remote access session.

Remote debugging is no longer supported.

" + }, "billingMethod":{ "shape":"BillingMethod", - "documentation":"

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.\"

" + "documentation":"

The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see AWS Device Farm terminology.

" + }, + "deviceMinutes":{ + "shape":"DeviceMinutes", + "documentation":"

The number of minutes a device is used in a remote access session (including setup and teardown minutes).

" }, - "deviceMinutes":{"shape":"DeviceMinutes"}, "endpoint":{ "shape":"String", "documentation":"

The endpoint for the remote access sesssion.

" + }, + "deviceUdid":{ + "shape":"String", + "documentation":"

Unique device identifier for the remote device. Only returned if remote debugging is enabled for the remote access session.

Remote debugging is no longer supported.

" + }, + "interactionMode":{ + "shape":"InteractionMode", + "documentation":"

The interaction mode of the remote access session. Valid values are:

  • INTERACTIVE: You can interact with the iOS device by viewing, touching, and rotating the screen. You cannot run XCUITest framework-based tests in this mode.

  • NO_VIDEO: You are connected to the device, but cannot interact with it or view the screen. This mode has the fastest test execution speed. You can run XCUITest framework-based tests in this mode.

  • VIDEO_ONLY: You can view the screen, but cannot touch or rotate it. You can run XCUITest framework-based tests and watch the screen in this mode.

" + }, + "skipAppResign":{ + "shape":"SkipAppResign", + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" } }, "documentation":"

Represents information about the remote access session.

" @@ -2467,7 +4271,7 @@ "documentation":"

The quantity requested in an offering renewal.

" } }, - "documentation":"

A request representing an offering renewal.

" + "documentation":"

A request that represents an offering renewal.

" }, "RenewOfferingResult":{ "type":"structure", @@ -2493,16 +4297,34 @@ }, "documentation":"

Represents the screen resolution of a device in height and width, expressed in pixels.

" }, + "ResourceDescription":{ + "type":"string", + "max":2048, + "min":1, + "pattern":".*\\S.*" + }, + "ResourceId":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "ResourceName":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*\\S.*" + }, "Rule":{ "type":"structure", "members":{ "attribute":{ "shape":"DeviceAttribute", - "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

Allowed values include:

  • ARN: The ARN.

  • FORM_FACTOR: The form factor (for example, phone or tablet).

  • MANUFACTURER: The manufacturer.

  • PLATFORM: The platform (for example, Android or iOS).

" + "documentation":"

The rule's stringified attribute. For example, specify the value as \"\\\"abc\\\"\".

The supported operators for each attribute are provided in the following list.

APPIUM_VERSION

The Appium version for the test.

Supported operators: CONTAINS

ARN

The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.

Supported operators: EQUALS, IN, NOT_IN

AVAILABILITY

The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.

Supported operators: EQUALS

FLEET_TYPE

The fleet type. Valid values are PUBLIC or PRIVATE.

Supported operators: EQUALS

FORM_FACTOR

The device form factor. Valid values are PHONE or TABLET.

Supported operators: EQUALS, IN, NOT_IN

INSTANCE_ARN

The Amazon Resource Name (ARN) of the device instance.

Supported operators: IN, NOT_IN

INSTANCE_LABELS

The label of the device instance.

Supported operators: CONTAINS

MANUFACTURER

The device manufacturer (for example, Apple).

Supported operators: EQUALS, IN, NOT_IN

MODEL

The device model, such as Apple iPad Air 2 or Google Pixel.

Supported operators: CONTAINS, EQUALS, IN, NOT_IN

OS_VERSION

The operating system version (for example, 10.3.2).

Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN, LESS_THAN_OR_EQUALS, NOT_IN

PLATFORM

The device platform. Valid values are ANDROID or IOS.

Supported operators: EQUALS, IN, NOT_IN

REMOTE_ACCESS_ENABLED

Whether the device is enabled for remote access. Valid values are TRUE or FALSE.

Supported operators: EQUALS

REMOTE_DEBUG_ENABLED

Whether the device is enabled for remote debugging. Valid values are TRUE or FALSE.

Supported operators: EQUALS

Because remote debugging is no longer supported, this filter is ignored.

" }, "operator":{ "shape":"RuleOperator", - "documentation":"

The rule's operator.

  • EQUALS: The equals operator.

  • GREATER_THAN: The greater-than operator.

  • IN: The in operator.

  • LESS_THAN: The less-than operator.

  • NOT_IN: The not-in operator.

" + "documentation":"

Specifies how Device Farm compares the rule's attribute to the value. For the operators that are supported by each attribute, see the attribute descriptions.

" }, "value":{ "shape":"String", @@ -2516,9 +4338,12 @@ "enum":[ "EQUALS", "LESS_THAN", + "LESS_THAN_OR_EQUALS", "GREATER_THAN", + "GREATER_THAN_OR_EQUALS", "IN", - "NOT_IN" + "NOT_IN", + "CONTAINS" ] }, "Rules":{ @@ -2538,11 +4363,11 @@ }, "type":{ "shape":"TestType", - "documentation":"

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The run's type.

Must be one of the following values:

  • BUILTIN_FUZZ

  • BUILTIN_EXPLORER

    For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • CALABASH

  • INSTRUMENTATION

  • UIAUTOMATION

  • UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

" }, "platform":{ "shape":"DevicePlatform", - "documentation":"

The run's platform.

Allowed values include:

  • ANDROID: The Android platform.

  • IOS: The iOS platform.

" + "documentation":"

The run's platform.

Allowed values include:

  • ANDROID

  • IOS

" }, "created":{ "shape":"DateTime", @@ -2550,11 +4375,11 @@ }, "status":{ "shape":"ExecutionStatus", - "documentation":"

The run's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" + "documentation":"

The run's status.

Allowed values include:

  • PENDING

  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • PROCESSING

  • SCHEDULING

  • PREPARING

  • RUNNING

  • COMPLETED

  • STOPPING

" }, "result":{ "shape":"ExecutionResult", - "documentation":"

The run's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The run's result.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "started":{ "shape":"DateTime", @@ -2582,14 +4407,78 @@ }, "billingMethod":{ "shape":"BillingMethod", - "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" + "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

If you have unmetered device slots, you must set this to unmetered to use them. Otherwise, the run is counted toward metered device minutes.

" }, "deviceMinutes":{ "shape":"DeviceMinutes", "documentation":"

Represents the total (metered or unmetered) minutes used by the test run.

" + }, + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

The network profile being used for a test run.

" + }, + "parsingResultUrl":{ + "shape":"String", + "documentation":"

Read-only URL for an object in an S3 bucket where you can get the parsing results of the test package. If the test package doesn't parse, the reason why it doesn't parse appears in the file that this URL points to.

" + }, + "resultCode":{ + "shape":"ExecutionResultCode", + "documentation":"

Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED if the result is skipped because of test package parsing failure.

" + }, + "seed":{ + "shape":"Integer", + "documentation":"

For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

" + }, + "appUpload":{ + "shape":"AmazonResourceName", + "documentation":"

An app to upload or that has been uploaded.

" + }, + "eventCount":{ + "shape":"Integer", + "documentation":"

For fuzz tests, this is the number of events, between 1 and 10000, that the UI fuzz test should perform.

" + }, + "jobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The number of minutes the job executes before it times out.

" + }, + "devicePoolArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the device pool for the run.

" + }, + "locale":{ + "shape":"String", + "documentation":"

Information about the locale that is used for the run.

" + }, + "radios":{ + "shape":"Radios", + "documentation":"

Information about the radio states for the run.

" + }, + "location":{ + "shape":"Location", + "documentation":"

Information about the location that is used for the run.

" + }, + "customerArtifactPaths":{ + "shape":"CustomerArtifactPaths", + "documentation":"

Output CustomerArtifactPaths object for the test run.

" + }, + "webUrl":{ + "shape":"String", + "documentation":"

The Device Farm console URL for the recording of the run.

" + }, + "skipAppResign":{ + "shape":"SkipAppResign", + "documentation":"

When set to true, for private devices, Device Farm does not sign your app again. For public devices, Device Farm always signs your apps again.

For more information about how Device Farm re-signs your apps, see Do you modify my app? in the AWS Device Farm FAQs.

" + }, + "testSpecArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the YAML-formatted test specification for the run.

" + }, + "deviceSelectionResult":{ + "shape":"DeviceSelectionResult", + "documentation":"

The results of a device filter used to select the devices for a test run.

" } }, - "documentation":"

Represents an app on a set of devices with a specific test and configuration.

" + "documentation":"

Represents a test run on a set of devices with a given app package, test parameters, and so on.

" }, "Runs":{ "type":"list", @@ -2608,7 +4497,7 @@ }, "url":{ "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that can be used with a corresponding GET request to download the sample's file.

" + "documentation":"

The presigned Amazon S3 URL that can be used with a GET request to download the sample's file.

" } }, "documentation":"

Represents a sample of performance data.

" @@ -2644,7 +4533,7 @@ "members":{ "extraDataPackageArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm will extract to external data for Android or the app's sandbox for iOS.

" + "documentation":"

The ARN of the extra data for the run. The extra data is a .zip file that AWS Device Farm extracts to external data for Android or the app's sandbox for iOS.

" }, "networkProfileArn":{ "shape":"AmazonResourceName", @@ -2658,17 +4547,25 @@ "shape":"Location", "documentation":"

Information about the location that is used for the run.

" }, + "vpceConfigurationArns":{ + "shape":"AmazonResourceNames", + "documentation":"

An array of ARNs for your VPC endpoint configurations.

" + }, + "customerArtifactPaths":{ + "shape":"CustomerArtifactPaths", + "documentation":"

Input CustomerArtifactPaths object for the scheduled run configuration.

" + }, "radios":{ "shape":"Radios", "documentation":"

Information about the radio states for the run.

" }, "auxiliaryApps":{ "shape":"AmazonResourceNames", - "documentation":"

A list of auxiliary apps for the run.

" + "documentation":"

A list of upload ARNs for app packages to be installed with your app.

" }, "billingMethod":{ "shape":"BillingMethod", - "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

" + "documentation":"

Specifies the billing method for a test run: metered or unmetered. If the parameter is not specified, the default value is metered.

If you have purchased unmetered device slots, you must set this parameter to unmetered to make use of them. Otherwise, your run counts against your metered time.

" } }, "documentation":"

Represents the settings for a run. Includes things like location, radio states, auxiliary apps, and network profiles.

" @@ -2677,7 +4574,6 @@ "type":"structure", "required":[ "projectArn", - "devicePoolArn", "test" ], "members":{ @@ -2687,12 +4583,16 @@ }, "appArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the app to schedule a run.

" + "documentation":"

The ARN of an application package to run tests against, created with CreateUpload. See ListUploads.

" }, "devicePoolArn":{ "shape":"AmazonResourceName", "documentation":"

The ARN of the device pool for the run to be scheduled.

" }, + "deviceSelectionConfiguration":{ + "shape":"DeviceSelectionConfiguration", + "documentation":"

The filter criteria used to dynamically select a set of devices for a test run and the maximum number of devices to be included in the run.

Either devicePoolArn or deviceSelectionConfiguration is required in a request.

" + }, "name":{ "shape":"Name", "documentation":"

The name for the run to be scheduled.

" @@ -2704,6 +4604,10 @@ "configuration":{ "shape":"ScheduleRunConfiguration", "documentation":"

Information about the settings for the run to be scheduled.

" + }, + "executionConfiguration":{ + "shape":"ExecutionConfiguration", + "documentation":"

Specifies configuration information about a test run, such as the execution timeout (in minutes).

" } }, "documentation":"

Represents a request to the schedule run operation.

" @@ -2724,11 +4628,15 @@ "members":{ "type":{ "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ

  • BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • CALABASH

  • INSTRUMENTATION

  • UIAUTOMATION

  • UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

" }, "testPackageArn":{ "shape":"AmazonResourceName", - "documentation":"

The ARN of the uploaded test that will be run.

" + "documentation":"

The ARN of the uploaded test to be run.

" + }, + "testSpecArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the YAML-formatted test specification.

" }, "filter":{ "shape":"Filter", @@ -2736,10 +4644,10 @@ }, "parameters":{ "shape":"TestParameters", - "documentation":"

The test's parameters, such as test framework parameters and fixture settings.

" + "documentation":"

The test's parameters, such as test framework parameters and fixture settings. Parameters are represented by name-value pairs of strings.

For all tests:

  • app_performance_monitoring: Performance monitoring is enabled by default. Set this parameter to false to disable it.

For Calabash tests:

  • profile: A cucumber profile (for example, my_profile_name).

  • tags: You can limit execution to features or scenarios that have (or don't have) certain tags (for example, @smoke or @smoke,~@wip).

For Appium tests (all types):

  • appium_version: The Appium version. Currently supported values are 1.6.5 (and later), latest, and default.

    • latest runs the latest Appium version supported by Device Farm (1.9.1).

    • For default, Device Farm selects a compatible version of Appium for the device. The current behavior is to run 1.7.2 on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.

    • This behavior is subject to change.

For fuzz tests (Android only):

  • event_count: The number of events, between 1 and 10000, that the UI fuzz test should perform.

  • throttle: The time, in ms, between 0 and 1000, that the UI fuzz test should wait between events.

  • seed: A seed to use for randomizing the UI fuzz test. Using the same seed value between tests ensures identical event sequences.

For Explorer tests:

  • username: A user name to use if the Explorer encounters a login form. If not supplied, no user name is inserted.

  • password: A password to use if the Explorer encounters a login form. If not supplied, no password is inserted.

For Instrumentation:

  • filter: A test filter string. Examples:

    • Running a single test case: com.android.abc.Test1

    • Running a single test: com.android.abc.Test1#smoke

    • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

For XCTest and XCTestUI:

  • filter: A test filter string. Examples:

    • Running a single test class: LoginTests

    • Running a multiple test classes: LoginTests,SmokeTests

    • Running a single test: LoginTests/testValid

    • Running multiple tests: LoginTests/testValid,LoginTests/testInvalid

For UIAutomator:

  • filter: A test filter string. Examples:

    • Running a single test case: com.android.abc.Test1

    • Running a single test: com.android.abc.Test1#smoke

    • Running multiple tests: com.android.abc.Test1,com.android.abc.Test2

" } }, - "documentation":"

Represents additional test settings.

" + "documentation":"

Represents test settings. This data structure is passed in as the test parameter to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.

" }, "ServiceAccountException":{ "type":"structure", @@ -2752,13 +4660,43 @@ "documentation":"

There was a problem with the service account.

", "exception":true }, + "ServiceDnsName":{ + "type":"string", + "max":2048, + "min":0 + }, + "SkipAppResign":{"type":"boolean"}, + "SshPublicKey":{ + "type":"string", + "max":8192, + "min":0 + }, + "StopJobRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm job to stop.

" + } + } + }, + "StopJobResult":{ + "type":"structure", + "members":{ + "job":{ + "shape":"Job", + "documentation":"

The job that was stopped.

" + } + } + }, "StopRemoteAccessSessionRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the remote access session you wish to stop.

" + "documentation":"

The Amazon Resource Name (ARN) of the remote access session to stop.

" } }, "documentation":"

Represents the request to stop the remote access session.

" @@ -2768,7 +4706,7 @@ "members":{ "remoteAccessSession":{ "shape":"RemoteAccessSession", - "documentation":"

A container representing the metadata from the service about the remote access session you are stopping.

" + "documentation":"

A container that represents the metadata from the service about the remote access session you are stopping.

" } }, "documentation":"

Represents the response from the server that describes the remote access session when AWS Device Farm stops the session.

" @@ -2779,7 +4717,7 @@ "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm run you wish to stop.

" + "documentation":"

Represents the Amazon Resource Name (ARN) of the Device Farm run to stop.

" } }, "documentation":"

Represents the request to stop a specific run.

" @@ -2787,7 +4725,10 @@ "StopRunResult":{ "type":"structure", "members":{ - "run":{"shape":"Run"} + "run":{ + "shape":"Run", + "documentation":"

The run that was stopped.

" + } }, "documentation":"

Represents the results of your stop run attempt.

" }, @@ -2805,7 +4746,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The suite's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The suite's type.

Must be one of the following values:

  • BUILTIN_FUZZ

  • BUILTIN_EXPLORER

    Only available for Android; an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • CALABASH

  • INSTRUMENTATION

  • UIAUTOMATION

  • UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

" }, "created":{ "shape":"DateTime", @@ -2813,11 +4754,11 @@ }, "status":{ "shape":"ExecutionStatus", - "documentation":"

The suite's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" + "documentation":"

The suite's status.

Allowed values include:

  • PENDING

  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • PROCESSING

  • SCHEDULING

  • PREPARING

  • RUNNING

  • COMPLETED

  • STOPPING

" }, "result":{ "shape":"ExecutionResult", - "documentation":"

The suite's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The suite's result.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "started":{ "shape":"DateTime", @@ -2846,6 +4787,84 @@ "type":"list", "member":{"shape":"Suite"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that makes up a tag. A value acts as a descriptor in a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to a resource to help you categorize and organize it. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters. Tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":150 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":150 + }, + "TagOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The operation was not successful. Try again.

", + "exception":true + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The request doesn't comply with the AWS Identity and Access Management (IAM) tag policy. Correct your request and then retry it.

", + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"DeviceFarmArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource or resources to which to add tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters. Tag values can have a maximum length of 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Test":{ "type":"structure", "members":{ @@ -2859,7 +4878,7 @@ }, "type":{ "shape":"TestType", - "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ: The built-in fuzz type.

  • BUILTIN_EXPLORER: For Android, an app explorer that will traverse an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT: The Appium Java JUnit type.

  • APPIUM_JAVA_TESTNG: The Appium Java TestNG type.

  • APPIUM_PYTHON: The Appium Python type.

  • APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.

  • APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.

  • APPIUM_WEB_PYTHON: The Appium Python type for Web apps.

  • CALABASH: The Calabash type.

  • INSTRUMENTATION: The Instrumentation type.

  • UIAUTOMATION: The uiautomation type.

  • UIAUTOMATOR: The uiautomator type.

  • XCTEST: The XCode test type.

  • XCTEST_UI: The XCode UI test type.

" + "documentation":"

The test's type.

Must be one of the following values:

  • BUILTIN_FUZZ

  • BUILTIN_EXPLORER

    For Android, an app explorer that traverses an Android app, interacting with it and capturing screenshots at the same time.

  • APPIUM_JAVA_JUNIT

  • APPIUM_JAVA_TESTNG

  • APPIUM_PYTHON

  • APPIUM_NODE

  • APPIUM_RUBY

  • APPIUM_WEB_JAVA_JUNIT

  • APPIUM_WEB_JAVA_TESTNG

  • APPIUM_WEB_PYTHON

  • APPIUM_WEB_NODE

  • APPIUM_WEB_RUBY

  • CALABASH

  • INSTRUMENTATION

  • UIAUTOMATION

  • UIAUTOMATOR

  • XCTEST

  • XCTEST_UI

" }, "created":{ "shape":"DateTime", @@ -2867,11 +4886,11 @@ }, "status":{ "shape":"ExecutionStatus", - "documentation":"

The test's status.

Allowed values include:

  • PENDING: A pending status.

  • PENDING_CONCURRENCY: A pending concurrency status.

  • PENDING_DEVICE: A pending device status.

  • PROCESSING: A processing status.

  • SCHEDULING: A scheduling status.

  • PREPARING: A preparing status.

  • RUNNING: A running status.

  • COMPLETED: A completed status.

  • STOPPING: A stopping status.

" + "documentation":"

The test's status.

Allowed values include:

  • PENDING

  • PENDING_CONCURRENCY

  • PENDING_DEVICE

  • PROCESSING

  • SCHEDULING

  • PREPARING

  • RUNNING

  • COMPLETED

  • STOPPING

" }, "result":{ "shape":"ExecutionResult", - "documentation":"

The test's result.

Allowed values include:

  • PENDING: A pending condition.

  • PASSED: A passing condition.

  • WARNED: A warning condition.

  • FAILED: A failed condition.

  • SKIPPED: A skipped condition.

  • ERRORED: An error condition.

  • STOPPED: A stopped condition.

" + "documentation":"

The test's result.

Allowed values include:

  • PENDING

  • PASSED

  • WARNED

  • FAILED

  • SKIPPED

  • ERRORED

  • STOPPED

" }, "started":{ "shape":"DateTime", @@ -2896,6 +4915,146 @@ }, "documentation":"

Represents a condition that is evaluated.

" }, + "TestGridProject":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN for the project.

" + }, + "name":{ + "shape":"String", + "documentation":"

A human-readable name for the project.

" + }, + "description":{ + "shape":"String", + "documentation":"

A human-readable description for the project.

" + }, + "created":{ + "shape":"DateTime", + "documentation":"

When the project was created.

" + } + }, + "documentation":"

A Selenium testing project. Projects are used to collect and collate sessions.

" + }, + "TestGridProjects":{ + "type":"list", + "member":{"shape":"TestGridProject"} + }, + "TestGridSession":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"DeviceFarmArn", + "documentation":"

The ARN of the session.

" + }, + "status":{ + "shape":"TestGridSessionStatus", + "documentation":"

The state of the session.

" + }, + "created":{ + "shape":"DateTime", + "documentation":"

The time that the session was started.

" + }, + "ended":{ + "shape":"DateTime", + "documentation":"

The time the session ended.

" + }, + "billingMinutes":{ + "shape":"Double", + "documentation":"

The number of billed minutes that were used for this session.

" + }, + "seleniumProperties":{ + "shape":"String", + "documentation":"

A JSON object of options and parameters passed to the Selenium WebDriver.

" + } + }, + "documentation":"

A TestGridSession is a single instance of a browser launched from the URL provided by a call to CreateTestGridUrl.

" + }, + "TestGridSessionAction":{ + "type":"structure", + "members":{ + "action":{ + "shape":"String", + "documentation":"

The action taken by the session.

" + }, + "started":{ + "shape":"DateTime", + "documentation":"

The time that the session invoked the action.

" + }, + "duration":{ + "shape":"Long", + "documentation":"

The time, in milliseconds, that the action took to complete in the browser.

" + }, + "statusCode":{ + "shape":"String", + "documentation":"

HTTP status code returned to the browser when the action was taken.

" + }, + "requestMethod":{ + "shape":"String", + "documentation":"

HTTP method that the browser used to make the request.

" + } + }, + "documentation":"

An action taken by a TestGridSession browser instance.

" + }, + "TestGridSessionActions":{ + "type":"list", + "member":{"shape":"TestGridSessionAction"} + }, + "TestGridSessionArtifact":{ + "type":"structure", + "members":{ + "filename":{ + "shape":"String", + "documentation":"

The file name of the artifact.

" + }, + "type":{ + "shape":"TestGridSessionArtifactType", + "documentation":"

The kind of artifact.

" + }, + "url":{ + "shape":"String", + "documentation":"

A semi-stable URL to the content of the object.

" + } + }, + "documentation":"

Artifacts are video and other files that are produced in the process of running a browser in an automated context.

Video elements might be broken up into multiple artifacts as they grow in size during creation.

" + }, + "TestGridSessionArtifactCategory":{ + "type":"string", + "enum":[ + "VIDEO", + "LOG" + ] + }, + "TestGridSessionArtifactType":{ + "type":"string", + "enum":[ + "UNKNOWN", + "VIDEO", + "SELENIUM_LOG" + ] + }, + "TestGridSessionArtifacts":{ + "type":"list", + "member":{"shape":"TestGridSessionArtifact"} + }, + "TestGridSessionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CLOSED", + "ERRORED" + ] + }, + "TestGridSessions":{ + "type":"list", + "member":{"shape":"TestGridSession"} + }, + "TestGridUrlExpiresInSecondsInput":{ + "type":"integer", + "max":86400, + "min":60 + }, "TestParameters":{ "type":"map", "key":{"shape":"String"}, @@ -2906,28 +5065,58 @@ "enum":[ "BUILTIN_FUZZ", "BUILTIN_EXPLORER", + "WEB_PERFORMANCE_PROFILE", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", + "APPIUM_NODE", + "APPIUM_RUBY", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", + "APPIUM_WEB_NODE", + "APPIUM_WEB_RUBY", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", - "XCTEST_UI" + "XCTEST_UI", + "REMOTE_ACCESS_RECORD", + "REMOTE_ACCESS_REPLAY" ] }, "Tests":{ "type":"list", "member":{"shape":"Test"} }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{"shape":"AmazonResourceName"} + }, + "documentation":"

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

", + "exception":true + }, "TransactionIdentifier":{ "type":"string", "min":32 }, + "TrialMinutes":{ + "type":"structure", + "members":{ + "total":{ + "shape":"Double", + "documentation":"

The total number of free trial minutes that the account started with.

" + }, + "remaining":{ + "shape":"Double", + "documentation":"

The number of free trial minutes remaining in the account.

" + } + }, + "documentation":"

Represents information about free trial device minutes for an AWS account.

" + }, "URL":{ "type":"string", "max":2048, @@ -2956,25 +5145,82 @@ "key":{"shape":"ExecutionResult"}, "value":{"shape":"UniqueProblems"} }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"DeviceFarmArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource or resources from which to delete tags. You can associate tags with the following Device Farm resources: PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDeviceInstanceRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the device instance.

" + }, + "profileArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the profile that you want to associate with the device instance.

" + }, + "labels":{ + "shape":"InstanceLabels", + "documentation":"

An array of strings that you want to associate with the device instance.

" + } + } + }, + "UpdateDeviceInstanceResult":{ + "type":"structure", + "members":{ + "deviceInstance":{ + "shape":"DeviceInstance", + "documentation":"

An object that contains information about your device instance.

" + } + } + }, "UpdateDevicePoolRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resourc Name (ARN) of the Device Farm device pool you wish to update.

" + "documentation":"

The Amazon Resource Name (ARN) of the Device Farm device pool to update.

" }, "name":{ "shape":"Name", - "documentation":"

A string representing the name of the device pool you wish to update.

" + "documentation":"

A string that represents the name of the device pool to update.

" }, "description":{ "shape":"Message", - "documentation":"

A description of the device pool you wish to update.

" + "documentation":"

A description of the device pool to update.

" }, "rules":{ "shape":"Rules", - "documentation":"

Represents the rules you wish to modify for the device pool. Updating rules is optional; however, if you choose to update rules for your request, the update will replace the existing rules.

" + "documentation":"

Represents the rules to modify for the device pool. Updating rules is optional. If you update rules for your request, the update replaces the existing rules.

" + }, + "maxDevices":{ + "shape":"Integer", + "documentation":"

The number of devices that Device Farm can add to your device pool. Device Farm adds devices that are available and that meet the criteria that you assign for the rules parameter. Depending on how many devices meet these constraints, your device pool might contain fewer devices than the value for this parameter.

By specifying the maximum number of devices, you can control the costs that you incur by running tests.

If you use this parameter in your request, you cannot use the clearMaxDevices parameter in the same request.

" + }, + "clearMaxDevices":{ + "shape":"Boolean", + "documentation":"

Sets whether the maxDevices parameter applies to your device pool. If you set this parameter to true, the maxDevices parameter does not apply, and Device Farm does not limit the number of devices that it adds to your device pool. In this case, Device Farm adds all available devices that meet the criteria specified in the rules parameter.

If you use this parameter in your request, you cannot use the maxDevices parameter in the same request.

" } }, "documentation":"

Represents a request to the update device pool operation.

" @@ -2982,21 +5228,130 @@ "UpdateDevicePoolResult":{ "type":"structure", "members":{ - "devicePool":{"shape":"DevicePool"} + "devicePool":{ + "shape":"DevicePool", + "documentation":"

The device pool you just updated.

" + } }, "documentation":"

Represents the result of an update device pool request.

" }, + "UpdateInstanceProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The updated name for your instance profile.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The updated description for your instance profile.

" + }, + "packageCleanup":{ + "shape":"Boolean", + "documentation":"

The updated choice for whether you want to specify package cleanup. The default value is false for private devices.

" + }, + "excludeAppPackagesFromCleanup":{ + "shape":"PackageIds", + "documentation":"

An array of strings that specifies the list of app packages that should not be cleaned up from the device after a test run is over.

The list of packages is only considered if you set packageCleanup to true.

" + }, + "rebootAfterUse":{ + "shape":"Boolean", + "documentation":"

The updated choice for whether you want to reboot the device after use. The default value is true.

" + } + } + }, + "UpdateInstanceProfileResult":{ + "type":"structure", + "members":{ + "instanceProfile":{ + "shape":"InstanceProfile", + "documentation":"

An object that contains information about your instance profile.

" + } + } + }, + "UpdateNetworkProfileRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the project for which you want to update network profile settings.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the network profile about which you are returning information.

" + }, + "description":{ + "shape":"Message", + "documentation":"

The description of the network profile about which you are returning information.

" + }, + "type":{ + "shape":"NetworkProfileType", + "documentation":"

The type of network profile to return information about. Valid values are listed here.

" + }, + "uplinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "downlinkBandwidthBits":{ + "shape":"Long", + "documentation":"

The data throughput rate in bits per second, as an integer from 0 to 104857600.

" + }, + "uplinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkDelayMs":{ + "shape":"Long", + "documentation":"

Delay time for all packets to destination in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "downlinkJitterMs":{ + "shape":"Long", + "documentation":"

Time variation in the delay of received packets in milliseconds as an integer from 0 to 2000.

" + }, + "uplinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of transmitted packets that fail to arrive from 0 to 100 percent.

" + }, + "downlinkLossPercent":{ + "shape":"PercentInteger", + "documentation":"

Proportion of received packets that fail to arrive from 0 to 100 percent.

" + } + } + }, + "UpdateNetworkProfileResult":{ + "type":"structure", + "members":{ + "networkProfile":{ + "shape":"NetworkProfile", + "documentation":"

A list of the available network profiles.

" + } + } + }, "UpdateProjectRequest":{ "type":"structure", "required":["arn"], "members":{ "arn":{ "shape":"AmazonResourceName", - "documentation":"

The Amazon Resource Name (ARN) of the project whose name you wish to update.

" + "documentation":"

The Amazon Resource Name (ARN) of the project whose name to update.

" }, "name":{ "shape":"Name", - "documentation":"

A string representing the new name of the project that you are updating.

" + "documentation":"

A string that represents the new name of the project that you are updating.

" + }, + "defaultJobTimeoutMinutes":{ + "shape":"JobTimeoutMinutes", + "documentation":"

The number of minutes a test run in the project executes before it times out.

" } }, "documentation":"

Represents a request to the update project operation.

" @@ -3004,10 +5359,106 @@ "UpdateProjectResult":{ "type":"structure", "members":{ - "project":{"shape":"Project"} + "project":{ + "shape":"Project", + "documentation":"

The project to update.

" + } }, "documentation":"

Represents the result of an update project request.

" }, + "UpdateTestGridProjectRequest":{ + "type":"structure", + "required":["projectArn"], + "members":{ + "projectArn":{ + "shape":"DeviceFarmArn", + "documentation":"

ARN of the project to update.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

Human-readable name for the project.

" + }, + "description":{ + "shape":"ResourceDescription", + "documentation":"

Human-readable description for the project.

" + } + } + }, + "UpdateTestGridProjectResult":{ + "type":"structure", + "members":{ + "testGridProject":{ + "shape":"TestGridProject", + "documentation":"

The project, including updated information.

" + } + } + }, + "UpdateUploadRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the uploaded test spec.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The upload's test spec file name. The name must not contain any forward slashes (/). The test spec file name must end with the .yaml or .yml file extension.

" + }, + "contentType":{ + "shape":"ContentType", + "documentation":"

The upload's content type (for example, application/x-yaml).

" + }, + "editContent":{ + "shape":"Boolean", + "documentation":"

Set to true if the YAML file has changed and must be updated. Otherwise, set to false.

" + } + } + }, + "UpdateUploadResult":{ + "type":"structure", + "members":{ + "upload":{ + "shape":"Upload", + "documentation":"

A test spec uploaded to Device Farm.

" + } + } + }, + "UpdateVPCEConfigurationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration you want to update.

" + }, + "vpceConfigurationName":{ + "shape":"VPCEConfigurationName", + "documentation":"

The friendly name you give to your VPC endpoint configuration to manage your configurations more easily.

" + }, + "vpceServiceName":{ + "shape":"VPCEServiceName", + "documentation":"

The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

" + }, + "serviceDnsName":{ + "shape":"ServiceDnsName", + "documentation":"

The DNS (domain) name used to connect to your private service in your VPC. The DNS name must not already be in use on the internet.

" + }, + "vpceConfigurationDescription":{ + "shape":"VPCEConfigurationDescription", + "documentation":"

An optional description that provides details about your VPC endpoint configuration.

" + } + } + }, + "UpdateVPCEConfigurationResult":{ + "type":"structure", + "members":{ + "vpceConfiguration":{ + "shape":"VPCEConfiguration", + "documentation":"

An object that contains information about your VPC endpoint configuration.

" + } + } + }, "Upload":{ "type":"structure", "members":{ @@ -3025,15 +5476,15 @@ }, "type":{ "shape":"UploadType", - "documentation":"

The upload's type.

Must be one of the following values:

  • ANDROID_APP: An Android upload.

  • IOS_APP: An iOS upload.

  • WEB_APP: A web appliction upload.

  • EXTERNAL_DATA: An external data upload.

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package upload.

  • APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.

  • CALABASH_TEST_PACKAGE: A Calabash test package upload.

  • INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.

  • UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.

  • UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.

  • XCTEST_TEST_PACKAGE: An XCode test package upload.

  • XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.

" + "documentation":"

The upload's type.

Must be one of the following values:

  • ANDROID_APP

  • IOS_APP

  • WEB_APP

  • EXTERNAL_DATA

  • APPIUM_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_PYTHON_TEST_PACKAGE

  • APPIUM_NODE_TEST_PACKAGE

  • APPIUM_RUBY_TEST_PACKAGE

  • APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE

  • APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE

  • APPIUM_WEB_PYTHON_TEST_PACKAGE

  • APPIUM_WEB_NODE_TEST_PACKAGE

  • APPIUM_WEB_RUBY_TEST_PACKAGE

  • CALABASH_TEST_PACKAGE

  • INSTRUMENTATION_TEST_PACKAGE

  • UIAUTOMATION_TEST_PACKAGE

  • UIAUTOMATOR_TEST_PACKAGE

  • XCTEST_TEST_PACKAGE

  • XCTEST_UI_TEST_PACKAGE

  • APPIUM_JAVA_JUNIT_TEST_SPEC

  • APPIUM_JAVA_TESTNG_TEST_SPEC

  • APPIUM_PYTHON_TEST_SPEC

  • APPIUM_NODE_TEST_SPEC

  • APPIUM_RUBY_TEST_SPEC

  • APPIUM_WEB_JAVA_JUNIT_TEST_SPEC

  • APPIUM_WEB_JAVA_TESTNG_TEST_SPEC

  • APPIUM_WEB_PYTHON_TEST_SPEC

  • APPIUM_WEB_NODE_TEST_SPEC

  • APPIUM_WEB_RUBY_TEST_SPEC

  • INSTRUMENTATION_TEST_SPEC

  • XCTEST_UI_TEST_SPEC

" }, "status":{ "shape":"UploadStatus", - "documentation":"

The upload's status.

Must be one of the following values:

  • FAILED: A failed status.

  • INITIALIZED: An initialized status.

  • PROCESSING: A processing status.

  • SUCCEEDED: A succeeded status.

" + "documentation":"

The upload's status.

Must be one of the following values:

  • FAILED

  • INITIALIZED

  • PROCESSING

  • SUCCEEDED

" }, "url":{ "shape":"URL", - "documentation":"

The pre-signed Amazon S3 URL that was used to store a file through a corresponding PUT request.

" + "documentation":"

The presigned Amazon S3 URL that was used to store a file using a PUT request.

" }, "metadata":{ "shape":"Metadata", @@ -3041,15 +5492,26 @@ }, "contentType":{ "shape":"ContentType", - "documentation":"

The upload's content type (for example, \"application/octet-stream\").

" + "documentation":"

The upload's content type (for example, application/octet-stream).

" }, "message":{ "shape":"Message", "documentation":"

A message about the upload's result.

" + }, + "category":{ + "shape":"UploadCategory", + "documentation":"

The upload's category. Allowed values include:

  • CURATED: An upload managed by AWS Device Farm.

  • PRIVATE: An upload managed by the AWS Device Farm customer.

" } }, "documentation":"

An app or a set of one or more tests to upload or that have been uploaded.

" }, + "UploadCategory":{ + "type":"string", + "enum":[ + "CURATED", + "PRIVATE" + ] + }, "UploadStatus":{ "type":"string", "enum":[ @@ -3069,21 +5531,83 @@ "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", + "APPIUM_NODE_TEST_PACKAGE", + "APPIUM_RUBY_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", + "APPIUM_WEB_NODE_TEST_PACKAGE", + "APPIUM_WEB_RUBY_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", "UIAUTOMATOR_TEST_PACKAGE", "XCTEST_TEST_PACKAGE", - "XCTEST_UI_TEST_PACKAGE" + "XCTEST_UI_TEST_PACKAGE", + "APPIUM_JAVA_JUNIT_TEST_SPEC", + "APPIUM_JAVA_TESTNG_TEST_SPEC", + "APPIUM_PYTHON_TEST_SPEC", + "APPIUM_NODE_TEST_SPEC", + "APPIUM_RUBY_TEST_SPEC", + "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC", + "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC", + "APPIUM_WEB_PYTHON_TEST_SPEC", + "APPIUM_WEB_NODE_TEST_SPEC", + "APPIUM_WEB_RUBY_TEST_SPEC", + "INSTRUMENTATION_TEST_SPEC", + "XCTEST_UI_TEST_SPEC" ] }, "Uploads":{ "type":"list", "member":{"shape":"Upload"} - } + }, + "VPCEConfiguration":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the VPC endpoint configuration.

" + }, + "vpceConfigurationName":{ + "shape":"VPCEConfigurationName", + "documentation":"

The friendly name you give to your VPC endpoint configuration to manage your configurations more easily.

" + }, + "vpceServiceName":{ + "shape":"VPCEServiceName", + "documentation":"

The name of the VPC endpoint service running in your AWS account that you want Device Farm to test.

" + }, + "serviceDnsName":{ + "shape":"ServiceDnsName", + "documentation":"

The DNS name that maps to the private IP address of the service you want to access.

" + }, + "vpceConfigurationDescription":{ + "shape":"VPCEConfigurationDescription", + "documentation":"

An optional description that provides details about your VPC endpoint configuration.

" + } + }, + "documentation":"

Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.

" + }, + "VPCEConfigurationDescription":{ + "type":"string", + "max":2048, + "min":0 + }, + "VPCEConfigurationName":{ + "type":"string", + "max":1024, + "min":0 + }, + "VPCEConfigurations":{ + "type":"list", + "member":{"shape":"VPCEConfiguration"} + }, + "VPCEServiceName":{ + "type":"string", + "max":2048, + "min":0 + }, + "VideoCapture":{"type":"boolean"} }, - "documentation":"

AWS Device Farm is a service that enables mobile app developers to test Android, iOS, and Fire OS apps on physical phones, tablets, and other devices in the cloud.

" + "documentation":"

Welcome to the AWS Device Farm API documentation, which contains APIs for:

  • Testing on desktop browsers

    Device Farm makes it possible for you to test your web applications on desktop browsers using Selenium. The APIs for desktop browser testing contain TestGrid in their names. For more information, see Testing Web Applications on Selenium with Device Farm.

  • Testing on real mobile devices

    Device Farm makes it possible for you to test apps on physical phones, tablets, and other devices in the cloud. For more information, see the Device Farm Developer Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/examples-1.json --- python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeDirectConnectGatewayAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGatewayAssociations" + }, + "DescribeDirectConnectGatewayAttachments": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGatewayAttachments" + }, + "DescribeDirectConnectGateways": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "directConnectGateways" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/service-2.json python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/service-2.json --- python-botocore-1.4.70/botocore/data/directconnect/2012-10-25/service-2.json 2016-11-03 20:32:17.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/directconnect/2012-10-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,10 +6,26 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Direct Connect", + "serviceId":"Direct Connect", "signatureVersion":"v4", - "targetPrefix":"OvertureService" + "targetPrefix":"OvertureService", + "uid":"directconnect-2012-10-25" }, "operations":{ + "AcceptDirectConnectGatewayAssociationProposal":{ + "name":"AcceptDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"AcceptDirectConnectGatewayAssociationProposalResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Accepts a proposal request to attach a virtual private gateway or transit gateway to a Direct Connect gateway.

" + }, "AllocateConnectionOnInterconnect":{ "name":"AllocateConnectionOnInterconnect", "http":{ @@ -22,7 +38,24 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deprecated. Use AllocateHostedConnection instead.

Creates a hosted connection on an interconnect.

Allocates a VLAN number and a specified amount of bandwidth for use by a hosted connection on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

", + "deprecated":true + }, + "AllocateHostedConnection":{ + "name":"AllocateHostedConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateHostedConnectionRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a hosted connection on the specified interconnect or a link aggregation group (LAG) of interconnects.

Allocates a VLAN number and a specified amount of capacity (bandwidth) for use by a hosted connection on the specified interconnect or LAG of interconnects. AWS polices the hosted connection for the specified capacity and the AWS Direct Connect Partner must also police the hosted connection for the specified capacity.

Intended for use by AWS Direct Connect Partners only.

" }, "AllocatePrivateVirtualInterface":{ "name":"AllocatePrivateVirtualInterface", @@ -33,10 +66,12 @@ "input":{"shape":"AllocatePrivateVirtualInterfaceRequest"}, "output":{"shape":"VirtualInterface"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Provisions a private virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a private virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPrivateVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

" + "documentation":"

Provisions a private virtual interface to be owned by the specified AWS account.

Virtual interfaces created using this action must be confirmed by the owner using ConfirmPrivateVirtualInterface. Until then, the virtual interface is in the Confirming state and is not available to handle traffic.

" }, "AllocatePublicVirtualInterface":{ "name":"AllocatePublicVirtualInterface", @@ -47,10 +82,70 @@ "input":{"shape":"AllocatePublicVirtualInterfaceRequest"}, "output":{"shape":"VirtualInterface"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Provisions a public virtual interface to be owned by the specified AWS account.

The owner of a connection calls this function to provision a public virtual interface to be owned by the specified AWS account.

Virtual interfaces created using this function must be confirmed by the owner using ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface is in the confirming state and is not available to handle traffic.

When creating an IPv6 public virtual interface, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

" + }, + "AllocateTransitVirtualInterface":{ + "name":"AllocateTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateTransitVirtualInterfaceRequest"}, + "output":{"shape":"AllocateTransitVirtualInterfaceResult"}, + "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Provisions a transit virtual interface to be owned by the specified AWS account. Use this type of interface to connect a transit gateway to your Direct Connect gateway.

The owner of a connection provisions a transit virtual interface to be owned by the specified AWS account.

After you create a transit virtual interface, it must be confirmed by the owner using ConfirmTransitVirtualInterface. Until this step has been completed, the transit virtual interface is in the requested state and is not available to handle traffic.

" + }, + "AssociateConnectionWithLag":{ + "name":"AssociateConnectionWithLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateConnectionWithLagRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Associates an existing connection with a link aggregation group (LAG). The connection is interrupted and re-established as a member of the LAG (connectivity to AWS is interrupted). The connection must be hosted on the same AWS Direct Connect endpoint as the LAG, and its bandwidth must match the bandwidth for the LAG. You can re-associate a connection that's currently associated with a different LAG; however, if removing the connection would cause the original LAG to fall below its setting for minimum number of operational connections, the request fails.

Any virtual interfaces that are directly associated with the connection are automatically re-associated with the LAG. If the connection was originally associated with a different LAG, the virtual interfaces remain associated with the original LAG.

For interconnects, any hosted connections are automatically re-associated with the LAG. If the interconnect was originally associated with a different LAG, the hosted connections remain associated with the original LAG.

" + }, + "AssociateHostedConnection":{ + "name":"AssociateHostedConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateHostedConnectionRequest"}, + "output":{"shape":"Connection"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Associates a hosted connection and its virtual interfaces with a link aggregation group (LAG) or interconnect. If the target interconnect or LAG has an existing hosted connection with a conflicting VLAN number or IP address, the operation fails. This action temporarily interrupts the hosted connection's connectivity to AWS as it is being migrated.

Intended for use by AWS Direct Connect Partners only.

" + }, + "AssociateVirtualInterface":{ + "name":"AssociateVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateVirtualInterfaceRequest"}, + "output":{"shape":"VirtualInterface"}, + "errors":[ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Provisions a public virtual interface to be owned by a different customer.

The owner of a connection calls this function to provision a public virtual interface which will be owned by another AWS customer.

Virtual interfaces created using this function must be confirmed by the virtual interface owner by calling ConfirmPublicVirtualInterface. Until this step has been completed, the virtual interface will be in 'Confirming' state, and will not be available for handling traffic.

" + "documentation":"

Associates a virtual interface with a specified link aggregation group (LAG) or connection. Connectivity to AWS is temporarily interrupted as the virtual interface is being migrated. If the target connection or LAG has an associated virtual interface with a conflicting VLAN number or a conflicting IP address, the operation fails.

Virtual interfaces associated with a hosted connection cannot be associated with a LAG; hosted connections must be migrated along with their virtual interfaces using AssociateHostedConnection.

To reassociate a virtual interface to a new connection or LAG, the requester must own either the virtual interface itself or the connection to which the virtual interface is currently associated. Additionally, the requester must own the connection or LAG for the association.

" }, "ConfirmConnection":{ "name":"ConfirmConnection", @@ -64,7 +159,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Confirm the creation of a hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the 'Ordering' state, and will remain in this state until the owner calls ConfirmConnection to confirm creation of the hosted connection.

" + "documentation":"

Confirms the creation of the specified hosted connection on an interconnect.

Upon creation, the hosted connection is initially in the Ordering state, and remains in this state until the owner confirms creation of the hosted connection.

" }, "ConfirmPrivateVirtualInterface":{ "name":"ConfirmPrivateVirtualInterface", @@ -78,7 +173,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Accept ownership of a private virtual interface created by another customer.

After the virtual interface owner calls this function, the virtual interface will be created and attached to the given virtual private gateway, and will be available for handling traffic.

" + "documentation":"

Accepts ownership of a private virtual interface created by another AWS account.

After the virtual interface owner makes this call, the virtual interface is created and attached to the specified virtual private gateway or Direct Connect gateway, and is made available to handle traffic.

" }, "ConfirmPublicVirtualInterface":{ "name":"ConfirmPublicVirtualInterface", @@ -92,7 +187,35 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Accept ownership of a public virtual interface created by another customer.

After the virtual interface owner calls this function, the specified virtual interface will be created and made available for handling traffic.

" + "documentation":"

Accepts ownership of a public virtual interface created by another AWS account.

After the virtual interface owner makes this call, the specified virtual interface is created and made available to handle traffic.

" + }, + "ConfirmTransitVirtualInterface":{ + "name":"ConfirmTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ConfirmTransitVirtualInterfaceRequest"}, + "output":{"shape":"ConfirmTransitVirtualInterfaceResponse"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Accepts ownership of a transit virtual interface created by another AWS account.

After the owner of the transit virtual interface makes this call, the specified transit virtual interface is created and made available to handle traffic.

" + }, + "CreateBGPPeer":{ + "name":"CreateBGPPeer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBGPPeerRequest"}, + "output":{"shape":"CreateBGPPeerResponse"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a BGP peer on the specified virtual interface.

You must create a BGP peer for the corresponding address family (IPv4/IPv6) in order to access AWS resources that also use that address family.

If logical redundancy is not supported by the connection, interconnect, or LAG, the BGP peer cannot be in the same address family as an existing BGP peer on the virtual interface.

When creating a IPv6 BGP peer, omit the Amazon address and customer address. IPv6 addresses are automatically assigned from the Amazon pool of IPv6 addresses; you cannot specify custom IPv6 addresses.

For a public virtual interface, the Autonomous System Number (ASN) must be private or already whitelisted for the virtual interface.

" }, "CreateConnection":{ "name":"CreateConnection", @@ -103,10 +226,54 @@ "input":{"shape":"CreateConnectionRequest"}, "output":{"shape":"Connection"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a connection between a customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router.

To find the locations for your Region, use DescribeLocations.

You can automatically add the new connection to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new connection is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no connection is created.

" + }, + "CreateDirectConnectGateway":{ + "name":"CreateDirectConnectGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectConnectGatewayRequest"}, + "output":{"shape":"CreateDirectConnectGatewayResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a Direct Connect gateway, which is an intermediate object that enables you to connect a set of virtual interfaces and virtual private gateways. A Direct Connect gateway is global and visible in any AWS Region after it is created. The virtual interfaces and virtual private gateways that are connected through a Direct Connect gateway can be in different AWS Regions. This enables you to connect to a VPC in any Region, regardless of the Region in which the virtual interfaces are located, and pass traffic between them.

" + }, + "CreateDirectConnectGatewayAssociation":{ + "name":"CreateDirectConnectGatewayAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectConnectGatewayAssociationRequest"}, + "output":{"shape":"CreateDirectConnectGatewayAssociationResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates an association between a Direct Connect gateway and a virtual private gateway. The virtual private gateway must be attached to a VPC and must not be associated with another Direct Connect gateway.

" + }, + "CreateDirectConnectGatewayAssociationProposal":{ + "name":"CreateDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"CreateDirectConnectGatewayAssociationProposalResult"}, + "errors":[ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new connection between the customer network and a specific AWS Direct Connect location.

A connection links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. An AWS Direct Connect location provides access to Amazon Web Services in the region it is associated with. You can establish connections with AWS Direct Connect locations in multiple regions, but a connection in one region does not provide connectivity to other regions.

" + "documentation":"

Creates a proposal to associate the specified virtual private gateway or transit gateway with the specified Direct Connect gateway.

You can only associate a Direct Connect gateway and virtual private gateway or transit gateway when the account that owns the Direct Connect gateway and the account that owns the virtual private gateway or transit gateway have the same AWS Payer ID.

" }, "CreateInterconnect":{ "name":"CreateInterconnect", @@ -117,10 +284,28 @@ "input":{"shape":"CreateInterconnectRequest"}, "output":{"shape":"Interconnect"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates an interconnect between an AWS Direct Connect Partner's network and a specific AWS Direct Connect location.

An interconnect is a connection that is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide AWS Direct Connect hosted connections to customers through their own network services. Like a standard connection, an interconnect links the partner's network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

You can automatically add the new interconnect to a link aggregation group (LAG) by specifying a LAG ID in the request. This ensures that the new interconnect is allocated on the same AWS Direct Connect endpoint that hosts the specified LAG. If there are no available ports on the endpoint, the request fails and no interconnect is created.

For each end customer, the AWS Direct Connect Partner provisions a connection on their interconnect by calling AllocateHostedConnection. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect Partner.

Intended for use by AWS Direct Connect Partners only.

" + }, + "CreateLag":{ + "name":"CreateLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new interconnect between a AWS Direct Connect partner's network and a specific AWS Direct Connect location.

An interconnect is a connection which is capable of hosting other connections. The AWS Direct Connect partner can use an interconnect to provide sub-1Gbps AWS Direct Connect service to tier 2 customers who do not have their own connections. Like a standard connection, an interconnect links the AWS Direct Connect partner's network to an AWS Direct Connect location over a standard 1 Gbps or 10 Gbps Ethernet fiber-optic cable. One end is connected to the partner's router, the other to an AWS Direct Connect router.

For each end customer, the AWS Direct Connect partner provisions a connection on their interconnect by calling AllocateConnectionOnInterconnect. The end customer can then connect to AWS resources by creating a virtual interface on their connection, using the VLAN assigned to them by the AWS Direct Connect partner.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Creates a link aggregation group (LAG) with the specified number of bundled physical connections between the customer network and a specific AWS Direct Connect location. A LAG is a logical interface that uses the Link Aggregation Control Protocol (LACP) to aggregate multiple interfaces, enabling you to treat them as a single interface.

All connections in a LAG must use the same bandwidth and must terminate at the same AWS Direct Connect endpoint.

You can have up to 10 connections per LAG. Regardless of this limit, if you request more connections for the LAG than AWS Direct Connect can allocate on a single endpoint, no LAG is created.

You can specify an existing physical connection or interconnect to include in the LAG (which counts towards the total number of connections). Doing so interrupts the current physical connection or hosted connections, and re-establishes them as a member of the LAG. The LAG will be created on the same AWS Direct Connect endpoint to which the connection terminates. Any virtual interfaces associated with the connection are automatically disassociated and re-associated with the LAG. The connection ID does not change.

If the AWS account used to create a LAG is a registered AWS Direct Connect Partner, the LAG is automatically enabled to host sub-connections. For a LAG owned by a partner, any associated virtual interfaces cannot be directly configured.

" }, "CreatePrivateVirtualInterface":{ "name":"CreatePrivateVirtualInterface", @@ -131,10 +316,12 @@ "input":{"shape":"CreatePrivateVirtualInterfaceRequest"}, "output":{"shape":"VirtualInterface"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface supports sending traffic to a single virtual private cloud (VPC).

" + "documentation":"

Creates a private virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A private virtual interface can be connected to either a Direct Connect gateway or a Virtual Private Gateway (VGW). Connecting the private virtual interface to a Direct Connect gateway enables the possibility for connecting to multiple VPCs, including VPCs in different AWS Regions. Connecting the private virtual interface to a VGW only provides access to a single VPC within the same Region.

" }, "CreatePublicVirtualInterface":{ "name":"CreatePublicVirtualInterface", @@ -145,10 +332,42 @@ "input":{"shape":"CreatePublicVirtualInterfaceRequest"}, "output":{"shape":"VirtualInterface"}, "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon S3.

When creating an IPv6 public virtual interface (addressFamily is ipv6), leave the customer and amazon address fields blank to use auto-assigned IPv6 space. Custom IPv6 addresses are not supported.

" + }, + "CreateTransitVirtualInterface":{ + "name":"CreateTransitVirtualInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitVirtualInterfaceRequest"}, + "output":{"shape":"CreateTransitVirtualInterfaceResult"}, + "errors":[ + {"shape":"DuplicateTagKeysException"}, + {"shape":"TooManyTagsException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Creates a transit virtual interface. A transit virtual interface should be used to access one or more transit gateways associated with Direct Connect gateways. A transit virtual interface enables the connection of multiple VPCs attached to a transit gateway to a Direct Connect gateway.

If you associate your transit gateway with one or more Direct Connect gateways, the Autonomous System Number (ASN) used by the transit gateway and the Direct Connect gateway must be different. For example, if you use the default ASN 64512 for both your the transit gateway and Direct Connect gateway, the association request fails.

" + }, + "DeleteBGPPeer":{ + "name":"DeleteBGPPeer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBGPPeerRequest"}, + "output":{"shape":"DeleteBGPPeerResponse"}, + "errors":[ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Creates a new public virtual interface. A virtual interface is the VLAN that transports AWS Direct Connect traffic. A public virtual interface supports sending traffic to public services of AWS such as Amazon Simple Storage Service (Amazon S3).

" + "documentation":"

Deletes the specified BGP peer on the specified virtual interface with the specified customer address and ASN.

You cannot delete the last BGP peer from a virtual interface.

" }, "DeleteConnection":{ "name":"DeleteConnection", @@ -162,7 +381,49 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deletes the connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. You need to cancel separately with the providers any services or charges for cross-connects or network circuits that connect you to the AWS Direct Connect location.

" + "documentation":"

Deletes the specified connection.

Deleting a connection only stops the AWS Direct Connect port hour and data transfer charges. If you are partnering with any third parties to connect with the AWS Direct Connect location, you must cancel your service with them separately.

" + }, + "DeleteDirectConnectGateway":{ + "name":"DeleteDirectConnectGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectConnectGatewayRequest"}, + "output":{"shape":"DeleteDirectConnectGatewayResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes the specified Direct Connect gateway. You must first delete all virtual interfaces that are attached to the Direct Connect gateway and disassociate all virtual private gateways associated with the Direct Connect gateway.

" + }, + "DeleteDirectConnectGatewayAssociation":{ + "name":"DeleteDirectConnectGatewayAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectConnectGatewayAssociationRequest"}, + "output":{"shape":"DeleteDirectConnectGatewayAssociationResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes the association between the specified Direct Connect gateway and virtual private gateway.

We recommend that you specify the associationID to delete the association. Alternatively, if you own virtual gateway and a Direct Connect gateway association, you can specify the virtualGatewayId and directConnectGatewayId to delete an association.

" + }, + "DeleteDirectConnectGatewayAssociationProposal":{ + "name":"DeleteDirectConnectGatewayAssociationProposal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDirectConnectGatewayAssociationProposalRequest"}, + "output":{"shape":"DeleteDirectConnectGatewayAssociationProposalResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes the association proposal request between the specified Direct Connect gateway and virtual private gateway or transit gateway.

" }, "DeleteInterconnect":{ "name":"DeleteInterconnect", @@ -176,7 +437,21 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Deletes the specified interconnect.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deletes the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

" + }, + "DeleteLag":{ + "name":"DeleteLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Deletes the specified link aggregation group (LAG). You cannot delete a LAG if it has active virtual interfaces or hosted connections.

" }, "DeleteVirtualInterface":{ "name":"DeleteVirtualInterface", @@ -204,7 +479,8 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns the LOA-CFA for a Connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

" + "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for a connection.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that your APN partner or service provider uses when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", + "deprecated":true }, "DescribeConnections":{ "name":"DescribeConnections", @@ -218,7 +494,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Displays all connections in this region.

If a connection ID is provided, the call returns only that particular connection.

" + "documentation":"

Displays the specified connection or all connections in this Region.

" }, "DescribeConnectionsOnInterconnect":{ "name":"DescribeConnectionsOnInterconnect", @@ -232,7 +508,78 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Return a list of connections that have been provisioned on the given interconnect.

This is intended for use by AWS Direct Connect partners only.

" + "documentation":"

Deprecated. Use DescribeHostedConnections instead.

Lists the connections that have been provisioned on the specified interconnect.

Intended for use by AWS Direct Connect Partners only.

", + "deprecated":true + }, + "DescribeDirectConnectGatewayAssociationProposals":{ + "name":"DescribeDirectConnectGatewayAssociationProposals", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectConnectGatewayAssociationProposalsRequest"}, + "output":{"shape":"DescribeDirectConnectGatewayAssociationProposalsResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Describes one or more association proposals for connection between a virtual private gateway or transit gateway and a Direct Connect gateway.

" + }, + "DescribeDirectConnectGatewayAssociations":{ + "name":"DescribeDirectConnectGatewayAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectConnectGatewayAssociationsRequest"}, + "output":{"shape":"DescribeDirectConnectGatewayAssociationsResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Lists the associations between your Direct Connect gateways and virtual private gateways. You must specify a Direct Connect gateway, a virtual private gateway, or both. If you specify a Direct Connect gateway, the response contains all virtual private gateways associated with the Direct Connect gateway. If you specify a virtual private gateway, the response contains all Direct Connect gateways associated with the virtual private gateway. If you specify both, the response contains the association between the Direct Connect gateway and the virtual private gateway.

" + }, + "DescribeDirectConnectGatewayAttachments":{ + "name":"DescribeDirectConnectGatewayAttachments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectConnectGatewayAttachmentsRequest"}, + "output":{"shape":"DescribeDirectConnectGatewayAttachmentsResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Lists the attachments between your Direct Connect gateways and virtual interfaces. You must specify a Direct Connect gateway, a virtual interface, or both. If you specify a Direct Connect gateway, the response contains all virtual interfaces attached to the Direct Connect gateway. If you specify a virtual interface, the response contains all Direct Connect gateways attached to the virtual interface. If you specify both, the response contains the attachment between the Direct Connect gateway and the virtual interface.

" + }, + "DescribeDirectConnectGateways":{ + "name":"DescribeDirectConnectGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDirectConnectGatewaysRequest"}, + "output":{"shape":"DescribeDirectConnectGatewaysResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Lists all your Direct Connect gateways or only the specified Direct Connect gateway. Deleted Direct Connect gateways are not returned.

" + }, + "DescribeHostedConnections":{ + "name":"DescribeHostedConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHostedConnectionsRequest"}, + "output":{"shape":"Connections"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Lists the hosted connections that have been provisioned on the specified interconnect or link aggregation group (LAG).

Intended for use by AWS Direct Connect Partners only.

" }, "DescribeInterconnectLoa":{ "name":"DescribeInterconnectLoa", @@ -246,7 +593,8 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns the LOA-CFA for an Interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect user guide.

" + "documentation":"

Deprecated. Use DescribeLoa instead.

Gets the LOA-CFA for the specified interconnect.

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

", + "deprecated":true }, "DescribeInterconnects":{ "name":"DescribeInterconnects", @@ -260,7 +608,35 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns a list of interconnects owned by the AWS account.

If an interconnect ID is provided, it will only return this particular interconnect.

" + "documentation":"

Lists the interconnects owned by the AWS account or only the specified interconnect.

" + }, + "DescribeLags":{ + "name":"DescribeLags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLagsRequest"}, + "output":{"shape":"Lags"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Describes all your link aggregation groups (LAG) or the specified LAG.

" + }, + "DescribeLoa":{ + "name":"DescribeLoa", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLoaRequest"}, + "output":{"shape":"Loa"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Gets the LOA-CFA for a connection, interconnect, or link aggregation group (LAG).

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA) is a document that is used when establishing your cross connect to AWS at the colocation facility. For more information, see Requesting Cross Connects at AWS Direct Connect Locations in the AWS Direct Connect User Guide.

" }, "DescribeLocations":{ "name":"DescribeLocations", @@ -273,7 +649,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns the list of AWS Direct Connect locations in the current AWS region. These are the locations that may be selected when calling CreateConnection or CreateInterconnect.

" + "documentation":"

Lists the AWS Direct Connect locations in the current AWS Region. These are the locations that can be selected when calling CreateConnection or CreateInterconnect.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -287,7 +663,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Describes the tags associated with the specified Direct Connect resources.

" + "documentation":"

Describes the tags associated with the specified AWS Direct Connect resources.

" }, "DescribeVirtualGateways":{ "name":"DescribeVirtualGateways", @@ -300,7 +676,7 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Returns a list of virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linking to a virtual private gateway. A virtual private gateway can be managed via Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

" + "documentation":"

Lists the virtual private gateways owned by the AWS account.

You can create one or more AWS Direct Connect private virtual interfaces linked to a virtual private gateway.

" }, "DescribeVirtualInterfaces":{ "name":"DescribeVirtualInterfaces", @@ -314,23 +690,37 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before DescribeVirtualInterfaces is called are also returned. If a connection ID is included then only virtual interfaces associated with this connection will be returned. If a virtual interface ID is included then only a single virtual interface will be returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

If a connection ID is provided, only virtual interfaces provisioned on the specified connection will be returned. If a virtual interface ID is provided, only this particular virtual interface will be returned.

" + "documentation":"

Displays all virtual interfaces for an AWS account. Virtual interfaces deleted fewer than 15 minutes before you make the request are also returned. If you specify a connection ID, only the virtual interfaces associated with the connection are returned. If you specify a virtual interface ID, then only a single virtual interface is returned.

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer network.

" }, - "TagResource":{ - "name":"TagResource", + "DisassociateConnectionFromLag":{ + "name":"DisassociateConnectionFromLag", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"TagResourceRequest"}, - "output":{"shape":"TagResourceResponse"}, + "input":{"shape":"DisassociateConnectionFromLagRequest"}, + "output":{"shape":"Connection"}, "errors":[ - {"shape":"DuplicateTagKeysException"}, + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Disassociates a connection from a link aggregation group (LAG). The connection is interrupted and re-established as a standalone connection (the connection is not deleted; to delete the connection, use the DeleteConnection request). If the LAG has associated virtual interfaces or hosted connections, they remain associated with the LAG. A disassociated connection owned by an AWS Direct Connect Partner is automatically converted to an interconnect.

If disassociating the connection would cause the LAG to fall below its setting for minimum number of operational connections, the request fails, except when it's the last member of the LAG. If all connections are disassociated, the LAG continues to exist as an empty LAG with no physical connections.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"DuplicateTagKeysException"}, {"shape":"TooManyTagsException"}, {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Adds the specified tags to the specified Direct Connect resource. Each Direct Connect resource can have a maximum of 50 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the Direct Connect resource, this action updates its value.

" + "documentation":"

Adds the specified tags to the specified AWS Direct Connect resource. Each resource can have a maximum of 50 tags.

Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value.

" }, "UntagResource":{ "name":"UntagResource", @@ -344,13 +734,91 @@ {"shape":"DirectConnectServerException"}, {"shape":"DirectConnectClientException"} ], - "documentation":"

Removes one or more tags from the specified Direct Connect resource.

" + "documentation":"

Removes one or more tags from the specified AWS Direct Connect resource.

" + }, + "UpdateDirectConnectGatewayAssociation":{ + "name":"UpdateDirectConnectGatewayAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDirectConnectGatewayAssociationRequest"}, + "output":{"shape":"UpdateDirectConnectGatewayAssociationResult"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Updates the specified attributes of the Direct Connect gateway association.

Add or remove prefixes from the association.

" + }, + "UpdateLag":{ + "name":"UpdateLag", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLagRequest"}, + "output":{"shape":"Lag"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Updates the attributes of the specified link aggregation group (LAG).

You can update the following attributes:

  • The name of the LAG.

  • The value for the minimum number of connections that must be operational for the LAG itself to be operational.

When you create a LAG, the default value for the minimum number of operational connections is zero (0). If you update this value and the number of operational connections falls below the specified value, the LAG automatically goes down to avoid over-utilization of the remaining connections. Adjust this value with care, as it could force the LAG down if it is set higher than the current number of operational connections.

" + }, + "UpdateVirtualInterfaceAttributes":{ + "name":"UpdateVirtualInterfaceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVirtualInterfaceAttributesRequest"}, + "output":{"shape":"VirtualInterface"}, + "errors":[ + {"shape":"DirectConnectServerException"}, + {"shape":"DirectConnectClientException"} + ], + "documentation":"

Updates the specified attributes of the specified virtual private interface.

Setting the MTU of a virtual interface to 9001 (jumbo frames) can cause an update to the underlying physical connection if it wasn't updated to support jumbo frames. Updating the connection disrupts network connectivity for all virtual interfaces associated with the connection for up to 30 seconds. To check whether your connection supports jumbo frames, call DescribeConnections. To check whether your virtual interface supports jumbo frames, call DescribeVirtualInterfaces.

" } }, "shapes":{ - "ASN":{ - "type":"integer", - "documentation":"

Autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

Example: 65000

" + "ASN":{"type":"integer"}, + "AcceptDirectConnectGatewayAssociationProposalRequest":{ + "type":"structure", + "required":[ + "directConnectGatewayId", + "proposalId", + "associatedGatewayOwnerAccount" + ], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the request proposal.

" + }, + "associatedGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the virtual private gateway or transit gateway.

" + }, + "overrideAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

Overrides the Amazon VPC prefixes advertised to the Direct Connect gateway.

For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

" + } + } + }, + "AcceptDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{"shape":"DirectConnectGatewayAssociation"} + } + }, + "AddressFamily":{ + "type":"string", + "enum":[ + "ipv4", + "ipv6" + ] }, "AllocateConnectionOnInterconnectRequest":{ "type":"structure", @@ -364,26 +832,61 @@ "members":{ "bandwidth":{ "shape":"Bandwidth", - "documentation":"

Bandwidth of the connection.

Example: \"500Mbps\"

Default: None

Values: 50M, 100M, 200M, 300M, 400M, or 500M

" + "documentation":"

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

" }, "connectionName":{ "shape":"ConnectionName", - "documentation":"

Name of the provisioned connection.

Example: \"500M Connection to AWS\"

Default: None

" + "documentation":"

The name of the provisioned connection.

" }, "ownerAccount":{ "shape":"OwnerAccount", - "documentation":"

Numeric account Id of the customer for whom the connection will be provisioned.

Example: 123443215678

Default: None

" + "documentation":"

The ID of the AWS account of the customer for whom the connection will be provisioned.

" }, "interconnectId":{ "shape":"InterconnectId", - "documentation":"

ID of the interconnect on which the connection will be provisioned.

Example: dxcon-456abc78

Default: None

" + "documentation":"

The ID of the interconnect on which the connection will be provisioned.

" }, "vlan":{ "shape":"VLAN", - "documentation":"

The dedicated VLAN provisioned to the connection.

Example: 101

Default: None

" + "documentation":"

The dedicated VLAN provisioned to the connection.

" } - }, - "documentation":"

Container for the parameters to the AllocateConnectionOnInterconnect operation.

" + } + }, + "AllocateHostedConnectionRequest":{ + "type":"structure", + "required":[ + "connectionId", + "ownerAccount", + "bandwidth", + "connectionName", + "vlan" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or LAG.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account ID of the customer for the connection.

" + }, + "bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth of the connection. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps. Note that only those AWS Direct Connect Partners who have met specific requirements are allowed to create a 1Gbps, 2Gbps, 5Gbps or 10Gbps hosted connection.

" + }, + "connectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the hosted connection.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The dedicated VLAN provisioned to the hosted connection.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the connection.

" + } + } }, "AllocatePrivateVirtualInterfaceRequest":{ "type":"structure", @@ -395,18 +898,17 @@ "members":{ "connectionId":{ "shape":"ConnectionId", - "documentation":"

The connection ID on which the private virtual interface is provisioned.

Default: None

" + "documentation":"

The ID of the connection on which the private virtual interface is provisioned.

" }, "ownerAccount":{ "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new private virtual interface.

Default: None

" + "documentation":"

The ID of the AWS account that owns the virtual private interface.

" }, "newPrivateVirtualInterfaceAllocation":{ "shape":"NewPrivateVirtualInterfaceAllocation", - "documentation":"

Detailed information for the private virtual interface to be provisioned.

Default: None

" + "documentation":"

Information about the private virtual interface.

" } - }, - "documentation":"

Container for the parameters to the AllocatePrivateVirtualInterface operation.

" + } }, "AllocatePublicVirtualInterfaceRequest":{ "type":"structure", @@ -418,128 +920,372 @@ "members":{ "connectionId":{ "shape":"ConnectionId", - "documentation":"

The connection ID on which the public virtual interface is provisioned.

Default: None

" + "documentation":"

The ID of the connection on which the public virtual interface is provisioned.

" }, "ownerAccount":{ "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new public virtual interface.

Default: None

" + "documentation":"

The ID of the AWS account that owns the public virtual interface.

" }, "newPublicVirtualInterfaceAllocation":{ "shape":"NewPublicVirtualInterfaceAllocation", - "documentation":"

Detailed information for the public virtual interface to be provisioned.

Default: None

" + "documentation":"

Information about the public virtual interface.

" + } + } + }, + "AllocateTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "connectionId", + "ownerAccount", + "newTransitVirtualInterfaceAllocation" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection on which the transit virtual interface is provisioned.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the transit virtual interface.

" + }, + "newTransitVirtualInterfaceAllocation":{ + "shape":"NewTransitVirtualInterfaceAllocation", + "documentation":"

Information about the transit virtual interface.

" + } + } + }, + "AllocateTransitVirtualInterfaceResult":{ + "type":"structure", + "members":{ + "virtualInterface":{"shape":"VirtualInterface"} + } + }, + "AmazonAddress":{"type":"string"}, + "AssociateConnectionWithLagRequest":{ + "type":"structure", + "required":[ + "connectionId", + "lagId" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG with which to associate the connection.

" + } + } + }, + "AssociateHostedConnectionRequest":{ + "type":"structure", + "required":[ + "connectionId", + "parentConnectionId" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the hosted connection.

" + }, + "parentConnectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or the LAG.

" + } + } + }, + "AssociateVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "virtualInterfaceId", + "connectionId" + ], + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the LAG or connection.

" + } + } + }, + "AssociatedGateway":{ + "type":"structure", + "members":{ + "id":{ + "shape":"GatewayIdentifier", + "documentation":"

The ID of the associated gateway.

" + }, + "type":{ + "shape":"GatewayType", + "documentation":"

The type of associated gateway.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the associated virtual private gateway or transit gateway.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The Region where the associated gateway is located.

" } }, - "documentation":"

Container for the parameters to the AllocatePublicVirtualInterface operation.

" + "documentation":"

Information about the associated gateway.

" + }, + "AssociatedGatewayId":{"type":"string"}, + "AvailablePortSpeeds":{ + "type":"list", + "member":{"shape":"PortSpeed"} }, - "AmazonAddress":{ + "AwsDevice":{ "type":"string", - "documentation":"

IP address assigned to the Amazon interface.

Example: 192.168.1.1/30

" + "deprecated":true + }, + "AwsDeviceV2":{"type":"string"}, + "BGPAuthKey":{"type":"string"}, + "BGPPeer":{ + "type":"structure", + "members":{ + "bgpPeerId":{ + "shape":"BGPPeerId", + "documentation":"

The ID of the BGP peer.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "bgpPeerState":{ + "shape":"BGPPeerState", + "documentation":"

The state of the BGP peer. The following are the possible values:

  • verifying: The BGP peering addresses or ASN require validation before the BGP peer can be created. This state applies only to public virtual interfaces.

  • pending: The BGP peer is created, and remains in this state until it is ready to be established.

  • available: The BGP peer is ready to be established.

  • deleting: The BGP peer is being deleted.

  • deleted: The BGP peer is deleted and cannot be established.

" + }, + "bgpStatus":{ + "shape":"BGPStatus", + "documentation":"

The status of the BGP peer. The following are the possible values:

  • up: The BGP peer is established. This state does not indicate the state of the routing function. Ensure that you are receiving routes over the BGP session.

  • down: The BGP peer is down.

  • unknown: The BGP peer status is not available.

" + }, + "awsDeviceV2":{ + "shape":"AwsDeviceV2", + "documentation":"

The Direct Connect endpoint on which the BGP peer terminates.

" + } + }, + "documentation":"

Information about a BGP peer.

" + }, + "BGPPeerId":{"type":"string"}, + "BGPPeerList":{ + "type":"list", + "member":{"shape":"BGPPeer"} }, - "BGPAuthKey":{ + "BGPPeerState":{ "type":"string", - "documentation":"

Authentication key for BGP configuration.

Example: asdf34example

" + "enum":[ + "verifying", + "pending", + "available", + "deleting", + "deleted" + ] }, - "Bandwidth":{ + "BGPStatus":{ "type":"string", - "documentation":"

Bandwidth of the connection.

Example: 1Gbps

Default: None

" + "enum":[ + "up", + "down", + "unknown" + ] }, + "Bandwidth":{"type":"string"}, + "BooleanFlag":{"type":"boolean"}, "CIDR":{"type":"string"}, "ConfirmConnectionRequest":{ "type":"structure", "required":["connectionId"], "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the ConfirmConnection operation.

" + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the hosted connection.

" + } + } }, "ConfirmConnectionResponse":{ "type":"structure", "members":{ - "connectionState":{"shape":"ConnectionState"} - }, - "documentation":"

The response received when ConfirmConnection is called.

" + "connectionState":{ + "shape":"ConnectionState", + "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

  • unknown: The state of the connection is not available.

" + } + } }, "ConfirmPrivateVirtualInterfaceRequest":{ "type":"structure", - "required":[ - "virtualInterfaceId", - "virtualGatewayId" - ], + "required":["virtualInterfaceId"], "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"}, + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, "virtualGatewayId":{ "shape":"VirtualGatewayId", - "documentation":"

ID of the virtual private gateway that will be attached to the virtual interface.

A virtual private gateway can be managed via the Amazon Virtual Private Cloud (VPC) console or the EC2 CreateVpnGateway action.

Default: None

" + "documentation":"

The ID of the virtual private gateway.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" } - }, - "documentation":"

Container for the parameters to the ConfirmPrivateVirtualInterface operation.

" + } }, "ConfirmPrivateVirtualInterfaceResponse":{ "type":"structure", "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when ConfirmPrivateVirtualInterface is called.

" + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" + } + } }, "ConfirmPublicVirtualInterfaceRequest":{ "type":"structure", "required":["virtualInterfaceId"], "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the ConfirmPublicVirtualInterface operation.

" + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + } + } }, "ConfirmPublicVirtualInterfaceResponse":{ "type":"structure", "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when ConfirmPublicVirtualInterface is called.

" + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" + } + } + }, + "ConfirmTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "virtualInterfaceId", + "directConnectGatewayId" + ], + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + } + } + }, + "ConfirmTransitVirtualInterfaceResponse":{ + "type":"structure", + "members":{ + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" + } + } }, "Connection":{ "type":"structure", "members":{ "ownerAccount":{ "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new connection.

" + "documentation":"

The ID of the AWS account that owns the connection.

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "connectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection.

" + }, + "connectionState":{ + "shape":"ConnectionState", + "documentation":"

The state of the connection. The following are the possible values:

  • ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The connection has been approved and is being initialized.

  • available: The network link is up and the connection is ready for use.

  • down: The network link is down.

  • deleting: The connection is being deleted.

  • deleted: The connection has been deleted.

  • rejected: A hosted connection in the ordering state enters the rejected state if it is deleted by the customer.

  • unknown: The state of the connection is not available.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The AWS Region where the connection is located.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the connection.

" }, - "connectionId":{"shape":"ConnectionId"}, - "connectionName":{"shape":"ConnectionName"}, - "connectionState":{"shape":"ConnectionState"}, - "region":{"shape":"Region"}, - "location":{"shape":"LocationCode"}, "bandwidth":{ "shape":"Bandwidth", - "documentation":"

Bandwidth of the connection.

Example: 1Gbps (for regular connections), or 500Mbps (for hosted connections)

Default: None

" + "documentation":"

The bandwidth of the connection.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" }, - "vlan":{"shape":"VLAN"}, "partnerName":{ "shape":"PartnerName", "documentation":"

The name of the AWS Direct Connect service provider associated with the connection.

" }, "loaIssueTime":{ "shape":"LoaIssueTime", - "documentation":"

The time of the most recent call to DescribeConnectionLoa for this Connection.

" + "documentation":"

The time of the most recent call to DescribeLoa for this connection.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The Direct Connect endpoint on which the physical connection terminates.

" + }, + "jumboFrameCapable":{ + "shape":"JumboFrameCapable", + "documentation":"

Indicates whether jumbo frames (9001 MTU) are supported.

" + }, + "awsDeviceV2":{ + "shape":"AwsDeviceV2", + "documentation":"

The Direct Connect endpoint on which the physical connection terminates.

" + }, + "hasLogicalRedundancy":{ + "shape":"HasLogicalRedundancy", + "documentation":"

Indicates whether the connection supports a secondary BGP peer in the same address family (IPv4/IPv6).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the connection.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the connection.

" } }, - "documentation":"

A connection represents the physical network connection between the AWS Direct Connect location and the customer.

" - }, - "ConnectionId":{ - "type":"string", - "documentation":"

ID of the connection.

Example: dxcon-fg5678gh

Default: None

" + "documentation":"

Information about an AWS Direct Connect connection.

" }, + "ConnectionId":{"type":"string"}, "ConnectionList":{ "type":"list", - "member":{"shape":"Connection"}, - "documentation":"

A list of connections.

" - }, - "ConnectionName":{ - "type":"string", - "documentation":"

The name of the connection.

Example: \"My Connection to AWS\"

Default: None

" + "member":{"shape":"Connection"} }, + "ConnectionName":{"type":"string"}, "ConnectionState":{ "type":"string", - "documentation":"

State of the connection.

  • Ordering: The initial state of a hosted connection provisioned on an interconnect. The connection stays in the ordering state until the owner of the hosted connection confirms or declines the connection order.

  • Requested: The initial state of a standard connection. The connection stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending: The connection has been approved, and is being initialized.

  • Available: The network link is up, and the connection is ready for use.

  • Down: The network link is down.

  • Deleting: The connection is in the process of being deleted.

  • Deleted: The connection has been deleted.

  • Rejected: A hosted connection in the 'Ordering' state will enter the 'Rejected' state if it is deleted by the end customer.

", "enum":[ "ordering", "requested", @@ -548,7 +1294,8 @@ "down", "deleting", "deleted", - "rejected" + "rejected", + "unknown" ] }, "Connections":{ @@ -556,47 +1303,236 @@ "members":{ "connections":{ "shape":"ConnectionList", - "documentation":"

A list of connections.

" + "documentation":"

The connections.

" } - }, - "documentation":"

A structure containing a list of connections.

" + } }, - "CreateConnectionRequest":{ + "Count":{"type":"integer"}, + "CreateBGPPeerRequest":{ "type":"structure", - "required":[ - "location", - "bandwidth", - "connectionName" - ], "members":{ - "location":{"shape":"LocationCode"}, - "bandwidth":{"shape":"Bandwidth"}, - "connectionName":{"shape":"ConnectionName"} - }, - "documentation":"

Container for the parameters to the CreateConnection operation.

" + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "newBGPPeer":{ + "shape":"NewBGPPeer", + "documentation":"

Information about the BGP peer.

" + } + } }, - "CreateInterconnectRequest":{ + "CreateBGPPeerResponse":{ + "type":"structure", + "members":{ + "virtualInterface":{ + "shape":"VirtualInterface", + "documentation":"

The virtual interface.

" + } + } + }, + "CreateConnectionRequest":{ "type":"structure", "required":[ - "interconnectName", + "location", "bandwidth", - "location" + "connectionName" ], "members":{ - "interconnectName":{ - "shape":"InterconnectName", - "documentation":"

The name of the interconnect.

Example: \"1G Interconnect to AWS\"

Default: None

" + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the connection.

" }, "bandwidth":{ "shape":"Bandwidth", - "documentation":"

The port bandwidth

Example: 1Gbps

Default: None

Available values: 1Gbps,10Gbps

" + "documentation":"

The bandwidth of the connection.

" }, - "location":{ - "shape":"LocationCode", - "documentation":"

Where the interconnect is located

Example: EqSV5

Default: None

" - } - }, - "documentation":"

Container for the parameters to the CreateInterconnect operation.

" + "connectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to associate with the lag.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the requested connection.

" + } + } + }, + "CreateDirectConnectGatewayAssociationProposalRequest":{ + "type":"structure", + "required":[ + "directConnectGatewayId", + "directConnectGatewayOwnerAccount", + "gatewayId" + ], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the Direct Connect gateway.

" + }, + "gatewayId":{ + "shape":"GatewayIdToAssociate", + "documentation":"

The ID of the virtual private gateway or transit gateway.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, + "removeAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

" + } + } + }, + "CreateDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposal":{ + "shape":"DirectConnectGatewayAssociationProposal", + "documentation":"

Information about the Direct Connect gateway proposal.

" + } + } + }, + "CreateDirectConnectGatewayAssociationRequest":{ + "type":"structure", + "required":["directConnectGatewayId"], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "gatewayId":{ + "shape":"GatewayIdToAssociate", + "documentation":"

The ID of the virtual private gateway or transit gateway.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway

This parameter is required when you create an association to a transit gateway.

For information about how to set the prefixes, see Allowed Prefixes in the AWS Direct Connect User Guide.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + } + } + }, + "CreateDirectConnectGatewayAssociationResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{ + "shape":"DirectConnectGatewayAssociation", + "documentation":"

The association to be created.

" + } + } + }, + "CreateDirectConnectGatewayRequest":{ + "type":"structure", + "required":["directConnectGatewayName"], + "members":{ + "directConnectGatewayName":{ + "shape":"DirectConnectGatewayName", + "documentation":"

The name of the Direct Connect gateway.

" + }, + "amazonSideAsn":{ + "shape":"LongAsn", + "documentation":"

The autonomous system number (ASN) for Border Gateway Protocol (BGP) to be configured on the Amazon side of the connection. The ASN must be in the private range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294. The default is 64512.

" + } + } + }, + "CreateDirectConnectGatewayResult":{ + "type":"structure", + "members":{ + "directConnectGateway":{ + "shape":"DirectConnectGateway", + "documentation":"

The Direct Connect gateway.

" + } + } + }, + "CreateInterconnectRequest":{ + "type":"structure", + "required":[ + "interconnectName", + "bandwidth", + "location" + ], + "members":{ + "interconnectName":{ + "shape":"InterconnectName", + "documentation":"

The name of the interconnect.

" + }, + "bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The port bandwidth, in Gbps. The possible values are 1 and 10.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the interconnect.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to associate with the interconnect.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the interconnect.

" + } + } + }, + "CreateLagRequest":{ + "type":"structure", + "required":[ + "numberOfConnections", + "location", + "connectionsBandwidth", + "lagName" + ], + "members":{ + "numberOfConnections":{ + "shape":"Count", + "documentation":"

The number of physical connections initially provisioned and bundled by the LAG.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location for the LAG.

" + }, + "connectionsBandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth of the individual physical connections bundled by the LAG. The possible values are 50Mbps, 100Mbps, 200Mbps, 300Mbps, 400Mbps, 500Mbps, 1Gbps, 2Gbps, 5Gbps, and 10Gbps.

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name of the LAG.

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of an existing connection to migrate to the LAG.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to associate with the LAG.

" + }, + "childConnectionTags":{ + "shape":"TagList", + "documentation":"

The tags to associate with the automtically created LAGs.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the LAG.

" + } + } }, "CreatePrivateVirtualInterfaceRequest":{ "type":"structure", @@ -605,13 +1541,15 @@ "newPrivateVirtualInterface" ], "members":{ - "connectionId":{"shape":"ConnectionId"}, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, "newPrivateVirtualInterface":{ "shape":"NewPrivateVirtualInterface", - "documentation":"

Detailed information for the private virtual interface to be created.

Default: None

" + "documentation":"

Information about the private virtual interface.

" } - }, - "documentation":"

Container for the parameters to the CreatePrivateVirtualInterface operation.

" + } }, "CreatePublicVirtualInterfaceRequest":{ "type":"structure", @@ -620,75 +1558,218 @@ "newPublicVirtualInterface" ], "members":{ - "connectionId":{"shape":"ConnectionId"}, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, "newPublicVirtualInterface":{ "shape":"NewPublicVirtualInterface", - "documentation":"

Detailed information for the public virtual interface to be created.

Default: None

" + "documentation":"

Information about the public virtual interface.

" } - }, - "documentation":"

Container for the parameters to the CreatePublicVirtualInterface operation.

" + } }, - "CustomerAddress":{ - "type":"string", - "documentation":"

IP address assigned to the customer interface.

Example: 192.168.1.2/30

" + "CreateTransitVirtualInterfaceRequest":{ + "type":"structure", + "required":[ + "connectionId", + "newTransitVirtualInterface" + ], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "newTransitVirtualInterface":{ + "shape":"NewTransitVirtualInterface", + "documentation":"

Information about the transit virtual interface.

" + } + } + }, + "CreateTransitVirtualInterfaceResult":{ + "type":"structure", + "members":{ + "virtualInterface":{"shape":"VirtualInterface"} + } + }, + "CustomerAddress":{"type":"string"}, + "DeleteBGPPeerRequest":{ + "type":"structure", + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "bgpPeerId":{ + "shape":"BGPPeerId", + "documentation":"

The ID of the BGP peer.

" + } + } + }, + "DeleteBGPPeerResponse":{ + "type":"structure", + "members":{ + "virtualInterface":{ + "shape":"VirtualInterface", + "documentation":"

The virtual interface.

" + } + } }, "DeleteConnectionRequest":{ "type":"structure", "required":["connectionId"], "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the DeleteConnection operation.

" + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + } + } + }, + "DeleteDirectConnectGatewayAssociationProposalRequest":{ + "type":"structure", + "required":["proposalId"], + "members":{ + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the proposal.

" + } + } + }, + "DeleteDirectConnectGatewayAssociationProposalResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposal":{ + "shape":"DirectConnectGatewayAssociationProposal", + "documentation":"

The ID of the associated gateway.

" + } + } + }, + "DeleteDirectConnectGatewayAssociationRequest":{ + "type":"structure", + "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + } + } + }, + "DeleteDirectConnectGatewayAssociationResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{ + "shape":"DirectConnectGatewayAssociation", + "documentation":"

Information about the deleted association.

" + } + } + }, + "DeleteDirectConnectGatewayRequest":{ + "type":"structure", + "required":["directConnectGatewayId"], + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + } + } + }, + "DeleteDirectConnectGatewayResult":{ + "type":"structure", + "members":{ + "directConnectGateway":{ + "shape":"DirectConnectGateway", + "documentation":"

The Direct Connect gateway.

" + } + } }, "DeleteInterconnectRequest":{ "type":"structure", "required":["interconnectId"], "members":{ - "interconnectId":{"shape":"InterconnectId"} - }, - "documentation":"

Container for the parameters to the DeleteInterconnect operation.

" + "interconnectId":{ + "shape":"InterconnectId", + "documentation":"

The ID of the interconnect.

" + } + } }, "DeleteInterconnectResponse":{ "type":"structure", "members":{ - "interconnectState":{"shape":"InterconnectState"} - }, - "documentation":"

The response received when DeleteInterconnect is called.

" + "interconnectState":{ + "shape":"InterconnectState", + "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

  • unknown: The state of the interconnect is not available.

" + } + } + }, + "DeleteLagRequest":{ + "type":"structure", + "required":["lagId"], + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + } + } }, "DeleteVirtualInterfaceRequest":{ "type":"structure", "required":["virtualInterfaceId"], "members":{ - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the DeleteVirtualInterface operation.

" + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + } + } }, "DeleteVirtualInterfaceResponse":{ "type":"structure", "members":{ - "virtualInterfaceState":{"shape":"VirtualInterfaceState"} - }, - "documentation":"

The response received when DeleteVirtualInterface is called.

" + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" + } + } }, "DescribeConnectionLoaRequest":{ "type":"structure", "required":["connectionId"], "members":{ - "connectionId":{"shape":"ConnectionId"}, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, "providerName":{ "shape":"ProviderName", - "documentation":"

The name of the APN partner or service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

Default: None

" + "documentation":"

The name of the APN partner or service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

" }, - "loaContentType":{"shape":"LoaContentType"} - }, - "documentation":"

Container for the parameters to the DescribeConnectionLoa operation.

" + "loaContentType":{ + "shape":"LoaContentType", + "documentation":"

The standard media type for the LOA-CFA document. The only supported value is application/pdf.

" + } + } }, "DescribeConnectionLoaResponse":{ "type":"structure", "members":{ - "loa":{"shape":"Loa"} - }, - "documentation":"

The response received when DescribeConnectionLoa is called.

" + "loa":{ + "shape":"Loa", + "documentation":"

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).

" + } + } }, "DescribeConnectionsOnInterconnectRequest":{ "type":"structure", @@ -696,44 +1777,235 @@ "members":{ "interconnectId":{ "shape":"InterconnectId", - "documentation":"

ID of the interconnect on which a list of connection is provisioned.

Example: dxcon-abc123

Default: None

" + "documentation":"

The ID of the interconnect.

" } - }, - "documentation":"

Container for the parameters to the DescribeConnectionsOnInterconnect operation.

" + } }, "DescribeConnectionsRequest":{ "type":"structure", "members":{ - "connectionId":{"shape":"ConnectionId"} - }, - "documentation":"

Container for the parameters to the DescribeConnections operation.

" + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationProposalsRequest":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the proposal.

" + }, + "associatedGatewayId":{ + "shape":"AssociatedGatewayId", + "documentation":"

The ID of the associated gateway.

" + }, + "maxResults":{ + "shape":"MaxResultSetSize", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

If MaxResults is given a value larger than 100, only 100 results are returned.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationProposalsResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociationProposals":{ + "shape":"DirectConnectGatewayAssociationProposalList", + "documentation":"

Describes the Direct Connect gateway association proposals.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationsRequest":{ + "type":"structure", + "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "associatedGatewayId":{ + "shape":"AssociatedGatewayId", + "documentation":"

The ID of the associated gateway.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "maxResults":{ + "shape":"MaxResultSetSize", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

If MaxResults is given a value larger than 100, only 100 results are returned.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token provided in the previous call to retrieve the next page.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + } + } + }, + "DescribeDirectConnectGatewayAssociationsResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociations":{ + "shape":"DirectConnectGatewayAssociationList", + "documentation":"

Information about the associations.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to retrieve the next page.

" + } + } + }, + "DescribeDirectConnectGatewayAttachmentsRequest":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "maxResults":{ + "shape":"MaxResultSetSize", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

If MaxResults is given a value larger than 100, only 100 results are returned.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token provided in the previous call to retrieve the next page.

" + } + } + }, + "DescribeDirectConnectGatewayAttachmentsResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAttachments":{ + "shape":"DirectConnectGatewayAttachmentList", + "documentation":"

The attachments.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to retrieve the next page.

" + } + } + }, + "DescribeDirectConnectGatewaysRequest":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "maxResults":{ + "shape":"MaxResultSetSize", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

If MaxResults is given a value larger than 100, only 100 results are returned.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token provided in the previous call to retrieve the next page.

" + } + } + }, + "DescribeDirectConnectGatewaysResult":{ + "type":"structure", + "members":{ + "directConnectGateways":{ + "shape":"DirectConnectGatewayList", + "documentation":"

The Direct Connect gateways.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

The token to retrieve the next page.

" + } + } + }, + "DescribeHostedConnectionsRequest":{ + "type":"structure", + "required":["connectionId"], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the interconnect or LAG.

" + } + } }, "DescribeInterconnectLoaRequest":{ "type":"structure", "required":["interconnectId"], "members":{ - "interconnectId":{"shape":"InterconnectId"}, + "interconnectId":{ + "shape":"InterconnectId", + "documentation":"

The ID of the interconnect.

" + }, "providerName":{ "shape":"ProviderName", - "documentation":"

The name of the service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

Default: None

" + "documentation":"

The name of the service provider who establishes connectivity on your behalf. If you supply this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

" }, - "loaContentType":{"shape":"LoaContentType"} - }, - "documentation":"

Container for the parameters to the DescribeInterconnectLoa operation.

" + "loaContentType":{ + "shape":"LoaContentType", + "documentation":"

The standard media type for the LOA-CFA document. The only supported value is application/pdf.

" + } + } }, "DescribeInterconnectLoaResponse":{ "type":"structure", "members":{ - "loa":{"shape":"Loa"} - }, - "documentation":"

The response received when DescribeInterconnectLoa is called.

" + "loa":{ + "shape":"Loa", + "documentation":"

The Letter of Authorization - Connecting Facility Assignment (LOA-CFA).

" + } + } }, "DescribeInterconnectsRequest":{ "type":"structure", "members":{ - "interconnectId":{"shape":"InterconnectId"} - }, - "documentation":"

Container for the parameters to the DescribeInterconnects operation.

" + "interconnectId":{ + "shape":"InterconnectId", + "documentation":"

The ID of the interconnect.

" + } + } + }, + "DescribeLagsRequest":{ + "type":"structure", + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + } + } + }, + "DescribeLoaRequest":{ + "type":"structure", + "required":["connectionId"], + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of a connection, LAG, or interconnect.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider who establishes connectivity on your behalf. If you specify this parameter, the LOA-CFA lists the provider name alongside your company name as the requester of the cross connect.

" + }, + "loaContentType":{ + "shape":"LoaContentType", + "documentation":"

The standard media type for the LOA-CFA document. The only supported value is application/pdf.

" + } + } }, "DescribeTagsRequest":{ "type":"structure", @@ -741,10 +2013,9 @@ "members":{ "resourceArns":{ "shape":"ResourceArnList", - "documentation":"

The Amazon Resource Names (ARNs) of the Direct Connect resources.

" + "documentation":"

The Amazon Resource Names (ARNs) of the resources.

" } - }, - "documentation":"

Container for the parameters to the DescribeTags operation.

" + } }, "DescribeTagsResponse":{ "type":"structure", @@ -753,38 +2024,260 @@ "shape":"ResourceTagList", "documentation":"

Information about the tags.

" } + } + }, + "DescribeVirtualInterfacesRequest":{ + "type":"structure", + "members":{ + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + } + } + }, + "DirectConnectClientException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

One or more parameters are not valid.

", + "exception":true + }, + "DirectConnectGateway":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "directConnectGatewayName":{ + "shape":"DirectConnectGatewayName", + "documentation":"

The name of the Direct Connect gateway.

" + }, + "amazonSideAsn":{ + "shape":"LongAsn", + "documentation":"

The autonomous system number (ASN) for the Amazon side of the connection.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the Direct Connect gateway.

" + }, + "directConnectGatewayState":{ + "shape":"DirectConnectGatewayState", + "documentation":"

The state of the Direct Connect gateway. The following are the possible values:

  • pending: The initial state after calling CreateDirectConnectGateway.

  • available: The Direct Connect gateway is ready for use.

  • deleting: The initial state after calling DeleteDirectConnectGateway.

  • deleted: The Direct Connect gateway is deleted and cannot pass traffic.

" + }, + "stateChangeError":{ + "shape":"StateChangeError", + "documentation":"

The error message if the state of an object failed to advance.

" + } + }, + "documentation":"

Information about a Direct Connect gateway, which enables you to connect virtual interfaces and virtual private gateway or transit gateways.

" + }, + "DirectConnectGatewayAssociation":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the associated gateway.

" + }, + "associationState":{ + "shape":"DirectConnectGatewayAssociationState", + "documentation":"

The state of the association. The following are the possible values:

  • associating: The initial state after calling CreateDirectConnectGatewayAssociation.

  • associated: The Direct Connect gateway and virtual private gateway or transit gateway are successfully associated and ready to pass traffic.

  • disassociating: The initial state after calling DeleteDirectConnectGatewayAssociation.

  • disassociated: The virtual private gateway or transit gateway is disassociated from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual private gateway or transit gateway is stopped.

" + }, + "stateChangeError":{ + "shape":"StateChangeError", + "documentation":"

The error message if the state of an object failed to advance.

" + }, + "associatedGateway":{ + "shape":"AssociatedGateway", + "documentation":"

Information about the associated gateway.

" + }, + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "allowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway. Applies only to private virtual interfaces.

" + }, + "virtualGatewayRegion":{ + "shape":"VirtualGatewayRegion", + "documentation":"

The AWS Region where the virtual private gateway is located.

" + }, + "virtualGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the virtual private gateway.

" + } + }, + "documentation":"

Information about an association between a Direct Connect gateway and a virtual private gateway or transit gateway.

" + }, + "DirectConnectGatewayAssociationId":{"type":"string"}, + "DirectConnectGatewayAssociationList":{ + "type":"list", + "member":{"shape":"DirectConnectGatewayAssociation"} + }, + "DirectConnectGatewayAssociationProposal":{ + "type":"structure", + "members":{ + "proposalId":{ + "shape":"DirectConnectGatewayAssociationProposalId", + "documentation":"

The ID of the association proposal.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "directConnectGatewayOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the Direct Connect gateway.

" + }, + "proposalState":{ + "shape":"DirectConnectGatewayAssociationProposalState", + "documentation":"

The state of the proposal. The following are possible values:

  • accepted: The proposal has been accepted. The Direct Connect gateway association is available to use in this state.

  • deleted: The proposal has been deleted by the owner that made the proposal. The Direct Connect gateway association cannot be used in this state.

  • requested: The proposal has been requested. The Direct Connect gateway association cannot be used in this state.

" + }, + "associatedGateway":{ + "shape":"AssociatedGateway", + "documentation":"

Information about the associated gateway.

" + }, + "existingAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The existing Amazon VPC prefixes advertised to the Direct Connect gateway.

" + }, + "requestedAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + } + }, + "documentation":"

Information about the proposal request to attach a virtual private gateway to a Direct Connect gateway.

" + }, + "DirectConnectGatewayAssociationProposalId":{"type":"string"}, + "DirectConnectGatewayAssociationProposalList":{ + "type":"list", + "member":{"shape":"DirectConnectGatewayAssociationProposal"} + }, + "DirectConnectGatewayAssociationProposalState":{ + "type":"string", + "enum":[ + "requested", + "accepted", + "deleted" + ] + }, + "DirectConnectGatewayAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated", + "updating" + ] + }, + "DirectConnectGatewayAttachment":{ + "type":"structure", + "members":{ + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "virtualInterfaceRegion":{ + "shape":"VirtualInterfaceRegion", + "documentation":"

The AWS Region where the virtual interface is located.

" + }, + "virtualInterfaceOwnerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the virtual interface.

" + }, + "attachmentState":{ + "shape":"DirectConnectGatewayAttachmentState", + "documentation":"

The state of the attachment. The following are the possible values:

  • attaching: The initial state after a virtual interface is created using the Direct Connect gateway.

  • attached: The Direct Connect gateway and virtual interface are attached and ready to pass traffic.

  • detaching: The initial state after calling DeleteVirtualInterface.

  • detached: The virtual interface is detached from the Direct Connect gateway. Traffic flow between the Direct Connect gateway and virtual interface is stopped.

" + }, + "attachmentType":{ + "shape":"DirectConnectGatewayAttachmentType", + "documentation":"

The type of attachment.

" + }, + "stateChangeError":{ + "shape":"StateChangeError", + "documentation":"

The error message if the state of an object failed to advance.

" + } }, - "documentation":"

The response received when DescribeTags is called.

" + "documentation":"

Information about an attachment between a Direct Connect gateway and a virtual interface.

" }, - "DescribeVirtualInterfacesRequest":{ - "type":"structure", - "members":{ - "connectionId":{"shape":"ConnectionId"}, - "virtualInterfaceId":{"shape":"VirtualInterfaceId"} - }, - "documentation":"

Container for the parameters to the DescribeVirtualInterfaces operation.

" + "DirectConnectGatewayAttachmentList":{ + "type":"list", + "member":{"shape":"DirectConnectGatewayAttachment"} }, - "DirectConnectClientException":{ + "DirectConnectGatewayAttachmentState":{ + "type":"string", + "enum":[ + "attaching", + "attached", + "detaching", + "detached" + ] + }, + "DirectConnectGatewayAttachmentType":{ + "type":"string", + "enum":[ + "TransitVirtualInterface", + "PrivateVirtualInterface" + ] + }, + "DirectConnectGatewayId":{"type":"string"}, + "DirectConnectGatewayList":{ + "type":"list", + "member":{"shape":"DirectConnectGateway"} + }, + "DirectConnectGatewayName":{"type":"string"}, + "DirectConnectGatewayState":{ + "type":"string", + "enum":[ + "pending", + "available", + "deleting", + "deleted" + ] + }, + "DirectConnectServerException":{ "type":"structure", "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

This is an exception thrown when there is an issue with the input provided by the API call. For example, the name provided for a connection contains a pound sign (#). This can also occur when a valid value is provided, but is otherwise constrained. For example, the valid VLAN tag range is 1-4096 but each can only be used once per connection.

" - } + "message":{"shape":"ErrorMessage"} }, - "documentation":"

The API was called with invalid parameters. The error message will contain additional details about the cause.

", + "documentation":"

A server-side error occurred.

", "exception":true }, - "DirectConnectServerException":{ + "DisassociateConnectionFromLagRequest":{ "type":"structure", + "required":[ + "connectionId", + "lagId" + ], "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

This is an exception thrown when there is a backend issue on the server side.

" + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" } - }, - "documentation":"

A server-side error occurred during the API call. The error message will contain additional details about the cause.

", - "exception":true + } }, "DuplicateTagKeysException":{ "type":"structure", @@ -794,45 +2287,101 @@ "exception":true }, "ErrorMessage":{"type":"string"}, + "GatewayIdToAssociate":{"type":"string"}, + "GatewayIdentifier":{"type":"string"}, + "GatewayType":{ + "type":"string", + "enum":[ + "virtualPrivateGateway", + "transitGateway" + ] + }, + "HasLogicalRedundancy":{ + "type":"string", + "enum":[ + "unknown", + "yes", + "no" + ] + }, "Interconnect":{ "type":"structure", "members":{ - "interconnectId":{"shape":"InterconnectId"}, - "interconnectName":{"shape":"InterconnectName"}, - "interconnectState":{"shape":"InterconnectState"}, - "region":{"shape":"Region"}, - "location":{"shape":"LocationCode"}, - "bandwidth":{"shape":"Bandwidth"}, + "interconnectId":{ + "shape":"InterconnectId", + "documentation":"

The ID of the interconnect.

" + }, + "interconnectName":{ + "shape":"InterconnectName", + "documentation":"

The name of the interconnect.

" + }, + "interconnectState":{ + "shape":"InterconnectState", + "documentation":"

The state of the interconnect. The following are the possible values:

  • requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • pending: The interconnect is approved, and is being initialized.

  • available: The network link is up, and the interconnect is ready for use.

  • down: The network link is down.

  • deleting: The interconnect is being deleted.

  • deleted: The interconnect is deleted.

  • unknown: The state of the interconnect is not available.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The AWS Region where the connection is located.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the connection.

" + }, + "bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth of the connection.

" + }, "loaIssueTime":{ "shape":"LoaIssueTime", - "documentation":"

The time of the most recent call to DescribeInterconnectLoa for this Interconnect.

" + "documentation":"

The time of the most recent call to DescribeLoa for this connection.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The Direct Connect endpoint on which the physical connection terminates.

" + }, + "jumboFrameCapable":{ + "shape":"JumboFrameCapable", + "documentation":"

Indicates whether jumbo frames (9001 MTU) are supported.

" + }, + "awsDeviceV2":{ + "shape":"AwsDeviceV2", + "documentation":"

The Direct Connect endpoint on which the physical connection terminates.

" + }, + "hasLogicalRedundancy":{ + "shape":"HasLogicalRedundancy", + "documentation":"

Indicates whether the interconnect supports a secondary BGP in the same address family (IPv4/IPv6).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the interconnect.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the interconnect.

" } }, - "documentation":"

An interconnect is a connection that can host other connections.

Like a standard AWS Direct Connect connection, an interconnect represents the physical connection between an AWS Direct Connect partner's network and a specific Direct Connect location. An AWS Direct Connect partner who owns an interconnect can provision hosted connections on the interconnect for their end customers, thereby providing the end customers with connectivity to AWS services.

The resources of the interconnect, including bandwidth and VLAN numbers, are shared by all of the hosted connections on the interconnect, and the owner of the interconnect determines how these resources are assigned.

" - }, - "InterconnectId":{ - "type":"string", - "documentation":"

The ID of the interconnect.

Example: dxcon-abc123

" + "documentation":"

Information about an interconnect.

" }, + "InterconnectId":{"type":"string"}, "InterconnectList":{ "type":"list", - "member":{"shape":"Interconnect"}, - "documentation":"

A list of interconnects.

" - }, - "InterconnectName":{ - "type":"string", - "documentation":"

The name of the interconnect.

Example: \"1G Interconnect to AWS\"

" + "member":{"shape":"Interconnect"} }, + "InterconnectName":{"type":"string"}, "InterconnectState":{ "type":"string", - "documentation":"

State of the interconnect.

  • Requested: The initial state of an interconnect. The interconnect stays in the requested state until the Letter of Authorization (LOA) is sent to the customer.

  • Pending>: The interconnect has been approved, and is being initialized.

  • Available: The network link is up, and the interconnect is ready for use.

  • Down: The network link is down.

  • Deleting: The interconnect is in the process of being deleted.

  • Deleted: The interconnect has been deleted.

", "enum":[ "requested", "pending", "available", "down", "deleting", - "deleted" + "deleted", + "unknown" ] }, "Interconnects":{ @@ -840,26 +2389,129 @@ "members":{ "interconnects":{ "shape":"InterconnectList", - "documentation":"

A list of interconnects.

" + "documentation":"

The interconnects.

" + } + } + }, + "JumboFrameCapable":{"type":"boolean"}, + "Lag":{ + "type":"structure", + "members":{ + "connectionsBandwidth":{ + "shape":"Bandwidth", + "documentation":"

The individual bandwidth of the physical connections bundled by the LAG. The possible values are 1Gbps and 10Gbps.

" + }, + "numberOfConnections":{ + "shape":"Count", + "documentation":"

The number of physical connections bundled by the LAG, up to a maximum of 10.

" + }, + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"

The ID of the AWS account that owns the LAG.

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name of the LAG.

" + }, + "lagState":{ + "shape":"LagState", + "documentation":"

The state of the LAG. The following are the possible values:

  • requested: The initial state of a LAG. The LAG stays in the requested state until the Letter of Authorization (LOA) is available.

  • pending: The LAG has been approved and is being initialized.

  • available: The network link is established and the LAG is ready for use.

  • down: The network link is down.

  • deleting: The LAG is being deleted.

  • deleted: The LAG is deleted.

  • unknown: The state of the LAG is not available.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the LAG.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The AWS Region where the connection is located.

" + }, + "minimumLinks":{ + "shape":"Count", + "documentation":"

The minimum number of physical connections that must be operational for the LAG itself to be operational.

" + }, + "awsDevice":{ + "shape":"AwsDevice", + "documentation":"

The AWS Direct Connect endpoint that hosts the LAG.

" + }, + "awsDeviceV2":{ + "shape":"AwsDeviceV2", + "documentation":"

The AWS Direct Connect endpoint that hosts the LAG.

" + }, + "connections":{ + "shape":"ConnectionList", + "documentation":"

The connections bundled by the LAG.

" + }, + "allowsHostedConnections":{ + "shape":"BooleanFlag", + "documentation":"

Indicates whether the LAG can host other connections.

" + }, + "jumboFrameCapable":{ + "shape":"JumboFrameCapable", + "documentation":"

Indicates whether jumbo frames (9001 MTU) are supported.

" + }, + "hasLogicalRedundancy":{ + "shape":"HasLogicalRedundancy", + "documentation":"

Indicates whether the LAG supports a secondary BGP peer in the same address family (IPv4/IPv6).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the LAG.

" + }, + "providerName":{ + "shape":"ProviderName", + "documentation":"

The name of the service provider associated with the LAG.

" } }, - "documentation":"

A structure containing a list of interconnects.

" + "documentation":"

Information about a link aggregation group (LAG).

" + }, + "LagId":{"type":"string"}, + "LagList":{ + "type":"list", + "member":{"shape":"Lag"} + }, + "LagName":{"type":"string"}, + "LagState":{ + "type":"string", + "enum":[ + "requested", + "pending", + "available", + "down", + "deleting", + "deleted", + "unknown" + ] + }, + "Lags":{ + "type":"structure", + "members":{ + "lags":{ + "shape":"LagList", + "documentation":"

The LAGs.

" + } + } }, "Loa":{ "type":"structure", "members":{ - "loaContent":{"shape":"LoaContent"}, - "loaContentType":{"shape":"LoaContentType"} + "loaContent":{ + "shape":"LoaContent", + "documentation":"

The binary contents of the LOA-CFA document.

" + }, + "loaContentType":{ + "shape":"LoaContentType", + "documentation":"

The standard media type for the LOA-CFA document. The only supported value is application/pdf.

" + } }, - "documentation":"

A structure containing the Letter of Authorization - Connecting Facility Assignment (LOA-CFA) for a connection.

" - }, - "LoaContent":{ - "type":"blob", - "documentation":"

The binary contents of the LOA-CFA document.

" + "documentation":"

Information about a Letter of Authorization - Connecting Facility Assignment (LOA-CFA) for a connection.

" }, + "LoaContent":{"type":"blob"}, "LoaContentType":{ "type":"string", - "documentation":"

A standard media type indicating the content type of the LOA-CFA document. Currently, the only supported value is \"application/pdf\".

Default: application/pdf

", "enum":["application/pdf"] }, "LoaIssueTime":{"type":"timestamp"}, @@ -868,19 +2520,28 @@ "members":{ "locationCode":{ "shape":"LocationCode", - "documentation":"

The code used to indicate the AWS Direct Connect location.

" + "documentation":"

The code for the location.

" }, "locationName":{ "shape":"LocationName", - "documentation":"

The name of the AWS Direct Connect location. The name includes the colocation partner name and the physical site of the lit building.

" + "documentation":"

The name of the location. This includes the name of the colocation partner and the physical site of the building.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The AWS Region for the location.

" + }, + "availablePortSpeeds":{ + "shape":"AvailablePortSpeeds", + "documentation":"

The available port speeds for the location.

" + }, + "availableProviders":{ + "shape":"ProviderList", + "documentation":"

The name of the service provider for the location.

" } }, - "documentation":"

An AWS Direct Connect location where connections and interconnects can be requested.

" - }, - "LocationCode":{ - "type":"string", - "documentation":"

Where the connection is located.

Example: EqSV5

Default: None

" + "documentation":"

Information about an AWS Direct Connect location.

" }, + "LocationCode":{"type":"string"}, "LocationList":{ "type":"list", "member":{"shape":"Location"} @@ -891,29 +2552,96 @@ "members":{ "locations":{ "shape":"LocationList", - "documentation":"

A list of colocation hubs where network providers have equipment. Most regions have multiple locations available.

" + "documentation":"

The locations.

" + } + } + }, + "LongAsn":{"type":"long"}, + "MTU":{"type":"integer"}, + "MaxResultSetSize":{ + "type":"integer", + "box":true + }, + "NewBGPPeer":{ + "type":"structure", + "members":{ + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" } }, - "documentation":"

A location is a network facility where AWS Direct Connect routers are available to be connected. Generally, these are colocation hubs where many network providers have equipment, and where cross connects can be delivered. Locations include a name and facility code, and must be provided when creating a connection.

" + "documentation":"

Information about a new BGP peer.

" }, "NewPrivateVirtualInterface":{ "type":"structure", "required":[ "virtualInterfaceName", "vlan", - "asn", - "virtualGatewayId" + "asn" ], "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "virtualGatewayId":{"shape":"VirtualGatewayId"} + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the private virtual interface.

" + } }, - "documentation":"

A structure containing information about a new private virtual interface.

" + "documentation":"

Information about a private virtual interface.

" }, "NewPrivateVirtualInterfaceAllocation":{ "type":"structure", @@ -923,64 +2651,237 @@ "asn" ], "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"} + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the private virtual interface.

" + } }, - "documentation":"

A structure containing information about a private virtual interface that will be provisioned on a connection.

" + "documentation":"

Information about a private virtual interface to be provisioned on a connection.

" }, "NewPublicVirtualInterface":{ "type":"structure", "required":[ "virtualInterfaceName", "vlan", - "asn", - "amazonAddress", - "customerAddress", - "routeFilterPrefixes" + "asn" ], "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"} + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "routeFilterPrefixes":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the public virtual interface.

" + } }, - "documentation":"

A structure containing information about a new public virtual interface.

" + "documentation":"

Information about a public virtual interface.

" }, "NewPublicVirtualInterfaceAllocation":{ "type":"structure", "required":[ "virtualInterfaceName", "vlan", - "asn", - "amazonAddress", - "customerAddress", - "routeFilterPrefixes" + "asn" ], "members":{ - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"} + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "routeFilterPrefixes":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the public virtual interface.

" + } + }, + "documentation":"

Information about a public virtual interface to be provisioned on a connection.

" + }, + "NewTransitVirtualInterface":{ + "type":"structure", + "members":{ + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the transitive virtual interface.

" + } + }, + "documentation":"

Information about a transit virtual interface.

" + }, + "NewTransitVirtualInterfaceAllocation":{ + "type":"structure", + "members":{ + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the transitive virtual interface.

" + } }, - "documentation":"

A structure containing information about a public virtual interface that will be provisioned on a connection.

" + "documentation":"

Information about a transit virtual interface to be provisioned on a connection.

" }, "OwnerAccount":{"type":"string"}, + "PaginationToken":{"type":"string"}, "PartnerName":{"type":"string"}, - "ProviderName":{"type":"string"}, - "Region":{ - "type":"string", - "documentation":"

The AWS region where the connection is located.

Example: us-east-1

Default: None

" + "PortSpeed":{"type":"string"}, + "ProviderList":{ + "type":"list", + "member":{"shape":"ProviderName"} }, + "ProviderName":{"type":"string"}, + "Region":{"type":"string"}, "ResourceArn":{"type":"string"}, "ResourceArnList":{ "type":"list", @@ -991,14 +2892,14 @@ "members":{ "resourceArn":{ "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" }, "tags":{ "shape":"TagList", "documentation":"

The tags.

" } }, - "documentation":"

The tags associated with a Direct Connect resource.

" + "documentation":"

Information about a tag associated with an AWS Direct Connect resource.

" }, "ResourceTagList":{ "type":"list", @@ -1009,28 +2910,28 @@ "members":{ "cidr":{ "shape":"CIDR", - "documentation":"

CIDR notation for the advertised route. Multiple routes are separated by commas.

Example: 10.10.10.0/24,10.10.11.0/24

" + "documentation":"

The CIDR block for the advertised route. Separate multiple routes using commas. An IPv6 CIDR must use /64 or shorter.

" } }, - "documentation":"

A route filter prefix that the customer can advertise through Border Gateway Protocol (BGP) over a public virtual interface.

" + "documentation":"

Information about a route filter prefix that a customer can advertise through Border Gateway Protocol (BGP) over a public virtual interface.

" }, "RouteFilterPrefixList":{ "type":"list", - "member":{"shape":"RouteFilterPrefix"}, - "documentation":"

A list of routes to be advertised to the AWS network in this region (public virtual interface).

" + "member":{"shape":"RouteFilterPrefix"} }, "RouterConfig":{"type":"string"}, + "StateChangeError":{"type":"string"}, "Tag":{ "type":"structure", "required":["key"], "members":{ "key":{ "shape":"TagKey", - "documentation":"

The key of the tag.

" + "documentation":"

The key.

" }, "value":{ "shape":"TagValue", - "documentation":"

The value of the tag.

" + "documentation":"

The value.

" } }, "documentation":"

Information about a tag.

" @@ -1059,20 +2960,18 @@ "members":{ "resourceArn":{ "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

Example: arn:aws:directconnect:us-east-1:123456789012:dxcon/dxcon-fg5678gh

" + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" }, "tags":{ "shape":"TagList", - "documentation":"

The list of tags to add.

" + "documentation":"

The tags to add.

" } - }, - "documentation":"

Container for the parameters to the TagResource operation.

" + } }, "TagResourceResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The response received when TagResource is called.

" + } }, "TagValue":{ "type":"string", @@ -1084,7 +2983,7 @@ "type":"structure", "members":{ }, - "documentation":"

You have reached the limit on the number of tags that can be assigned to a Direct Connect resource.

", + "documentation":"

You have reached the limit on the number of tags that can be assigned.

", "exception":true }, "UntagResourceRequest":{ @@ -1096,99 +2995,219 @@ "members":{ "resourceArn":{ "shape":"ResourceArn", - "documentation":"

The Amazon Resource Name (ARN) of the Direct Connect resource.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" }, "tagKeys":{ "shape":"TagKeyList", - "documentation":"

The list of tag keys to remove.

" + "documentation":"

The tag keys of the tags to remove.

" } - }, - "documentation":"

Container for the parameters to the UntagResource operation.

" + } }, "UntagResourceResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The response received when UntagResource is called.

" + } }, - "VLAN":{ - "type":"integer", - "documentation":"

The VLAN ID.

Example: 101

" + "UpdateDirectConnectGatewayAssociationRequest":{ + "type":"structure", + "members":{ + "associationId":{ + "shape":"DirectConnectGatewayAssociationId", + "documentation":"

The ID of the Direct Connect gateway association.

" + }, + "addAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to advertise to the Direct Connect gateway.

" + }, + "removeAllowedPrefixesToDirectConnectGateway":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The Amazon VPC prefixes to no longer advertise to the Direct Connect gateway.

" + } + } + }, + "UpdateDirectConnectGatewayAssociationResult":{ + "type":"structure", + "members":{ + "directConnectGatewayAssociation":{"shape":"DirectConnectGatewayAssociation"} + } + }, + "UpdateLagRequest":{ + "type":"structure", + "required":["lagId"], + "members":{ + "lagId":{ + "shape":"LagId", + "documentation":"

The ID of the LAG.

" + }, + "lagName":{ + "shape":"LagName", + "documentation":"

The name of the LAG.

" + }, + "minimumLinks":{ + "shape":"Count", + "documentation":"

The minimum number of physical connections that must be operational for the LAG itself to be operational.

" + } + } }, + "UpdateVirtualInterfaceAttributesRequest":{ + "type":"structure", + "required":["virtualInterfaceId"], + "members":{ + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual private interface.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + } + } + }, + "VLAN":{"type":"integer"}, "VirtualGateway":{ "type":"structure", "members":{ - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "virtualGatewayState":{"shape":"VirtualGatewayState"} + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "virtualGatewayState":{ + "shape":"VirtualGatewayState", + "documentation":"

The state of the virtual private gateway. The following are the possible values:

  • pending: Initial state after creating the virtual private gateway.

  • available: Ready for use by a private virtual interface.

  • deleting: Initial state after deleting the virtual private gateway.

  • deleted: The virtual private gateway is deleted. The private virtual interface is unable to send traffic over this gateway.

" + } }, - "documentation":"

You can create one or more AWS Direct Connect private virtual interfaces linking to your virtual private gateway.

Virtual private gateways can be managed using the Amazon Virtual Private Cloud (Amazon VPC) console or the Amazon EC2 CreateVpnGateway action.

" - }, - "VirtualGatewayId":{ - "type":"string", - "documentation":"

The ID of the virtual private gateway to a VPC. This only applies to private virtual interfaces.

Example: vgw-123er56

" + "documentation":"

Information about a virtual private gateway for a private virtual interface.

" }, + "VirtualGatewayId":{"type":"string"}, "VirtualGatewayList":{ "type":"list", - "member":{"shape":"VirtualGateway"}, - "documentation":"

A list of virtual private gateways.

" + "member":{"shape":"VirtualGateway"} }, - "VirtualGatewayState":{ + "VirtualGatewayRegion":{ "type":"string", - "documentation":"

State of the virtual private gateway.

  • Pending: This is the initial state after calling CreateVpnGateway.

  • Available: Ready for use by a private virtual interface.

  • Deleting: This is the initial state after calling DeleteVpnGateway.

  • Deleted: In this state, a private virtual interface is unable to send traffic over this gateway.

" + "deprecated":true }, + "VirtualGatewayState":{"type":"string"}, "VirtualGateways":{ "type":"structure", "members":{ "virtualGateways":{ "shape":"VirtualGatewayList", - "documentation":"

A list of virtual private gateways.

" + "documentation":"

The virtual private gateways.

" } - }, - "documentation":"

A structure containing a list of virtual private gateways.

" + } }, "VirtualInterface":{ "type":"structure", "members":{ "ownerAccount":{ "shape":"OwnerAccount", - "documentation":"

The AWS account that will own the new virtual interface.

" + "documentation":"

The ID of the AWS account that owns the virtual interface.

" + }, + "virtualInterfaceId":{ + "shape":"VirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

" + }, + "location":{ + "shape":"LocationCode", + "documentation":"

The location of the connection.

" + }, + "connectionId":{ + "shape":"ConnectionId", + "documentation":"

The ID of the connection.

" + }, + "virtualInterfaceType":{ + "shape":"VirtualInterfaceType", + "documentation":"

The type of virtual interface. The possible values are private and public.

" + }, + "virtualInterfaceName":{ + "shape":"VirtualInterfaceName", + "documentation":"

The name of the virtual interface assigned by the customer network.

" + }, + "vlan":{ + "shape":"VLAN", + "documentation":"

The ID of the VLAN.

" + }, + "asn":{ + "shape":"ASN", + "documentation":"

The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.

The valid values are 1-2147483647.

" + }, + "amazonSideAsn":{ + "shape":"LongAsn", + "documentation":"

The autonomous system number (ASN) for the Amazon side of the connection.

" + }, + "authKey":{ + "shape":"BGPAuthKey", + "documentation":"

The authentication key for BGP configuration. This string has a minimum length of 6 characters and and a maximun lenth of 80 characters.

" + }, + "amazonAddress":{ + "shape":"AmazonAddress", + "documentation":"

The IP address assigned to the Amazon interface.

" + }, + "customerAddress":{ + "shape":"CustomerAddress", + "documentation":"

The IP address assigned to the customer interface.

" + }, + "addressFamily":{ + "shape":"AddressFamily", + "documentation":"

The address family for the BGP peer.

" + }, + "virtualInterfaceState":{ + "shape":"VirtualInterfaceState", + "documentation":"

The state of the virtual interface. The following are the possible values:

  • confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • available: A virtual interface that is able to forward traffic.

  • down: A virtual interface that is BGP down.

  • deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • deleted: A virtual interface that cannot forward traffic.

  • rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the Confirming state is deleted by the virtual interface owner, the virtual interface enters the Rejected state.

  • unknown: The state of the virtual interface is not available.

" }, - "virtualInterfaceId":{"shape":"VirtualInterfaceId"}, - "location":{"shape":"LocationCode"}, - "connectionId":{"shape":"ConnectionId"}, - "virtualInterfaceType":{"shape":"VirtualInterfaceType"}, - "virtualInterfaceName":{"shape":"VirtualInterfaceName"}, - "vlan":{"shape":"VLAN"}, - "asn":{"shape":"ASN"}, - "authKey":{"shape":"BGPAuthKey"}, - "amazonAddress":{"shape":"AmazonAddress"}, - "customerAddress":{"shape":"CustomerAddress"}, - "virtualInterfaceState":{"shape":"VirtualInterfaceState"}, "customerRouterConfig":{ "shape":"RouterConfig", - "documentation":"

Information for generating the customer router configuration.

" + "documentation":"

The customer router configuration.

" + }, + "mtu":{ + "shape":"MTU", + "documentation":"

The maximum transmission unit (MTU), in bytes. The supported values are 1500 and 9001. The default value is 1500.

" + }, + "jumboFrameCapable":{ + "shape":"JumboFrameCapable", + "documentation":"

Indicates whether jumbo frames (9001 MTU) are supported.

" + }, + "virtualGatewayId":{ + "shape":"VirtualGatewayId", + "documentation":"

The ID of the virtual private gateway. Applies only to private virtual interfaces.

" + }, + "directConnectGatewayId":{ + "shape":"DirectConnectGatewayId", + "documentation":"

The ID of the Direct Connect gateway.

" + }, + "routeFilterPrefixes":{ + "shape":"RouteFilterPrefixList", + "documentation":"

The routes to be advertised to the AWS network in this Region. Applies to public virtual interfaces.

" + }, + "bgpPeers":{ + "shape":"BGPPeerList", + "documentation":"

The BGP peers configured on this virtual interface.

" + }, + "region":{ + "shape":"Region", + "documentation":"

The AWS Region where the virtual interface is located.

" + }, + "awsDeviceV2":{ + "shape":"AwsDeviceV2", + "documentation":"

The Direct Connect endpoint on which the virtual interface terminates.

" }, - "virtualGatewayId":{"shape":"VirtualGatewayId"}, - "routeFilterPrefixes":{"shape":"RouteFilterPrefixList"} + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the virtual interface.

" + } }, - "documentation":"

A virtual interface (VLAN) transmits the traffic between the AWS Direct Connect location and the customer.

" - }, - "VirtualInterfaceId":{ - "type":"string", - "documentation":"

ID of the virtual interface.

Example: dxvif-123dfg56

Default: None

" + "documentation":"

Information about a virtual interface.

" }, + "VirtualInterfaceId":{"type":"string"}, "VirtualInterfaceList":{ "type":"list", - "member":{"shape":"VirtualInterface"}, - "documentation":"

A list of virtual interfaces.

" - }, - "VirtualInterfaceName":{ - "type":"string", - "documentation":"

The name of the virtual interface assigned by the customer.

Example: \"My VPC\"

" + "member":{"shape":"VirtualInterface"} }, + "VirtualInterfaceName":{"type":"string"}, + "VirtualInterfaceRegion":{"type":"string"}, "VirtualInterfaceState":{ "type":"string", - "documentation":"

State of the virtual interface.

  • Confirming: The creation of the virtual interface is pending confirmation from the virtual interface owner. If the owner of the virtual interface is different from the owner of the connection on which it is provisioned, then the virtual interface will remain in this state until it is confirmed by the virtual interface owner.

  • Verifying: This state only applies to public virtual interfaces. Each public virtual interface needs validation before the virtual interface can be created.

  • Pending: A virtual interface is in this state from the time that it is created until the virtual interface is ready to forward traffic.

  • Available: A virtual interface that is able to forward traffic.

  • Down: A virtual interface that is BGP down.

  • Deleting: A virtual interface is in this state immediately after calling DeleteVirtualInterface until it can no longer forward traffic.

  • Deleted: A virtual interface that cannot forward traffic.

  • Rejected: The virtual interface owner has declined creation of the virtual interface. If a virtual interface in the 'Confirming' state is deleted by the virtual interface owner, the virtual interface will enter the 'Rejected' state.

", "enum":[ "confirming", "verifying", @@ -1197,23 +3216,20 @@ "down", "deleting", "deleted", - "rejected" + "rejected", + "unknown" ] }, - "VirtualInterfaceType":{ - "type":"string", - "documentation":"

The type of virtual interface.

Example: private (Amazon VPC) or public (Amazon S3, Amazon DynamoDB, and so on.)

" - }, + "VirtualInterfaceType":{"type":"string"}, "VirtualInterfaces":{ "type":"structure", "members":{ "virtualInterfaces":{ "shape":"VirtualInterfaceList", - "documentation":"

A list of virtual interfaces.

" + "documentation":"

The virtual interfaces

" } - }, - "documentation":"

A structure containing a list of virtual interfaces.

" + } } }, - "documentation":"

AWS Direct Connect links your internal network to an AWS Direct Connect location over a standard 1 gigabit or 10 gigabit Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. With this connection in place, you can create virtual interfaces directly to the AWS cloud (for example, to Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3)) and to Amazon Virtual Private Cloud (Amazon VPC), bypassing Internet service providers in your network path. An AWS Direct Connect location provides access to AWS in the region it is associated with, as well as access to other US regions. For example, you can provision a single connection to any AWS Direct Connect location in the US and use it to access public AWS services in all US Regions and AWS GovCloud (US).

" + "documentation":"

AWS Direct Connect links your internal network to an AWS Direct Connect location over a standard Ethernet fiber-optic cable. One end of the cable is connected to your router, the other to an AWS Direct Connect router. With this connection in place, you can create virtual interfaces directly to the AWS cloud (for example, to Amazon EC2 and Amazon S3) and to Amazon VPC, bypassing Internet service providers in your network path. A connection provides access to all AWS Regions except the China (Beijing) and (China) Ningxia Regions. AWS resources in the China Regions can only be accessed through locations associated with those Regions.

" } diff -Nru python-botocore-1.4.70/botocore/data/discovery/2015-11-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/examples-1.json --- python-botocore-1.4.70/botocore/data/discovery/2015-11-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/discovery/2015-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/discovery/2015-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "DescribeAgents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "agentsInfo" + }, + "DescribeContinuousExports": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "descriptions" + }, + "DescribeExportConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exportsInfo" + }, + "DescribeExportTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exportsInfo" + }, + "DescribeTags": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tags" + }, + "ListConfigurations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "configurations" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/discovery/2015-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/discovery/2015-11-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/discovery/2015-11-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,10 +6,63 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Application Discovery Service", + "serviceId":"Application Discovery Service", "signatureVersion":"v4", - "targetPrefix":"AWSPoseidonService_V2015_11_01" + "targetPrefix":"AWSPoseidonService_V2015_11_01", + "uid":"discovery-2015-11-01" }, "operations":{ + "AssociateConfigurationItemsToApplication":{ + "name":"AssociateConfigurationItemsToApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateConfigurationItemsToApplicationRequest"}, + "output":{"shape":"AssociateConfigurationItemsToApplicationResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Associates one or more configuration items with an application.

" + }, + "BatchDeleteImportData":{ + "name":"BatchDeleteImportData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteImportDataRequest"}, + "output":{"shape":"BatchDeleteImportDataResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Deletes one or more import tasks, each identified by their import ID. Each import task has a number of records that can identify servers or applications.

AWS Application Discovery Service has built-in matching logic that will identify when discovered servers match existing entries that you've previously discovered, the information for the already-existing discovered server is updated. When you delete an import task that contains records that were used to match, the information in those matched records that comes from the deleted records will also be deleted.

" + }, + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Creates an application with the given name and description.

" + }, "CreateTags":{ "name":"CreateTags", "http":{ @@ -23,10 +76,28 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], "documentation":"

Creates one or more tags for configuration items. Tags are metadata that help you categorize IT assets. This API accepts a list of multiple configuration items.

" }, + "DeleteApplications":{ + "name":"DeleteApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationsRequest"}, + "output":{"shape":"DeleteApplicationsResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Deletes a list of applications and their associations with configuration items.

" + }, "DeleteTags":{ "name":"DeleteTags", "http":{ @@ -40,7 +111,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], "documentation":"

Deletes the association between configuration items and one or more tags. This API accepts a list of multiple configuration items.

" }, @@ -56,9 +128,10 @@ {"shape":"AuthorizationErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID.

" + "documentation":"

Lists agents or connectors as specified by ID or other filters. All agents/connectors associated with your user account can be listed if you call DescribeAgents as is without passing any parameters.

" }, "DescribeConfigurations":{ "name":"DescribeConfigurations", @@ -72,9 +145,29 @@ {"shape":"AuthorizationErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieves attributes for a list of configuration item IDs.

All of the supplied IDs must be for the same asset type from one of the following:

  • server

  • application

  • process

  • connection

Output fields are specific to the asset type specified. For example, the output for a server configuration item includes a list of attributes about the server, such as host name, operating system, number of network cards, etc.

For a complete list of outputs for each asset type, see Using the DescribeConfigurations Action in the AWS Application Discovery Service User Guide.

" + }, + "DescribeContinuousExports":{ + "name":"DescribeContinuousExports", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeContinuousExportsRequest"}, + "output":{"shape":"DescribeContinuousExportsResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Retrieves a list of attributes for a specific configuration ID. For example, the output for a server configuration item includes a list of attributes about the server, including host name, operating system, number of network cards, etc.

" + "documentation":"

Lists exports as specified by ID. All continuous exports associated with your user account can be listed if you call DescribeContinuousExports as is without passing any parameters.

" }, "DescribeExportConfigurations":{ "name":"DescribeExportConfigurations", @@ -89,9 +182,45 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

DescribeExportConfigurations is deprecated. Use DescribeImportTasks, instead.

", + "deprecated":true + }, + "DescribeExportTasks":{ + "name":"DescribeExportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExportTasksRequest"}, + "output":{"shape":"DescribeExportTasksResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieve status of one or more export tasks. You can retrieve the status of up to 100 export tasks.

" + }, + "DescribeImportTasks":{ + "name":"DescribeImportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImportTasksRequest"}, + "output":{"shape":"DescribeImportTasksResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Retrieves the status of a given export process. You can retrieve status from a maximum of 100 processes.

" + "documentation":"

Returns an array of import tasks for your account, including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -106,9 +235,27 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieves a list of configuration items that have tags as specified by the key-value pairs, name and value, passed to the optional parameter filters.

There are three valid tag filter names:

  • tagKey

  • tagValue

  • configurationId

Also, all configuration items associated with your user account that have tags can be listed if you call DescribeTags as is without passing any parameters.

" + }, + "DisassociateConfigurationItemsFromApplication":{ + "name":"DisassociateConfigurationItemsFromApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateConfigurationItemsFromApplicationRequest"}, + "output":{"shape":"DisassociateConfigurationItemsFromApplicationResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Retrieves a list of configuration items that are tagged with a specific tag. Or retrieves a list of all tags assigned to a specific configuration item.

" + "documentation":"

Disassociates one or more configuration items from an application.

" }, "ExportConfigurations":{ "name":"ExportConfigurations", @@ -122,9 +269,28 @@ {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, {"shape":"ServerInternalErrorException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Deprecated. Use StartExportTask instead.

Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID that you can query using the DescribeExportConfigurations API. The system imposes a limit of two configuration exports in six hours.

", + "deprecated":true + }, + "GetDiscoverySummary":{ + "name":"GetDiscoverySummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiscoverySummaryRequest"}, + "output":{"shape":"GetDiscoverySummaryResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Exports all discovered configuration data to an Amazon S3 bucket or an application that enables you to view and evaluate the data. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID which you can query using the GetExportStatus API. The system imposes a limit of two configuration exports in six hours.

" + "documentation":"

Retrieves a short summary of discovered assets.

This API operation takes no request parameters and is called as is at the command prompt as shown in the example.

" }, "ListConfigurations":{ "name":"ListConfigurations", @@ -139,9 +305,47 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieves a list of configuration items as specified by the value passed to the required parameter configurationType. Optional filtering may be applied to refine search results.

" + }, + "ListServerNeighbors":{ + "name":"ListServerNeighbors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServerNeighborsRequest"}, + "output":{"shape":"ListServerNeighborsResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieves a list of servers that are one network hop away from a specified server.

" + }, + "StartContinuousExport":{ + "name":"StartContinuousExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartContinuousExportRequest"}, + "output":{"shape":"StartContinuousExportResponse"}, + "errors":[ + {"shape":"ConflictErrorException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceInUseException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Retrieves a list of configurations items according to the criteria you specify in a filter. The filter criteria identify relationship requirements.

" + "documentation":"

Start the continuous flow of agent's discovered data into Amazon Athena.

" }, "StartDataCollectionByAgentIds":{ "name":"StartDataCollectionByAgentIds", @@ -155,9 +359,66 @@ {"shape":"AuthorizationErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Instructs the specified agents or connectors to start collecting data.

" + }, + "StartExportTask":{ + "name":"StartExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExportTaskRequest"}, + "output":{"shape":"StartExportTaskResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Begins the export of discovered data to an S3 bucket.

If you specify agentIds in a filter, the task exports up to 72 hours of detailed data collected by the identified Application Discovery Agent, including network, process, and performance details. A time range for exported agent data may be set by using startTime and endTime. Export of detailed agent data is limited to five concurrently running exports.

If you do not include an agentIds filter, summary data is exported that includes both AWS Agentless Discovery Connector data and summary data from AWS Discovery Agents. Export of summary data is limited to two exports per day.

" + }, + "StartImportTask":{ + "name":"StartImportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImportTaskRequest"}, + "output":{"shape":"StartImportTaskResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Starts an import task, which allows you to import details of your on-premises environment directly into AWS Migration Hub without having to use the Application Discovery Service (ADS) tools such as the Discovery Connector or Discovery Agent. This gives you the option to perform migration assessment and planning directly from your imported data, including the ability to group your devices as applications and track their migration status.

To start an import request, do this:

  1. Download the specially formatted comma separated value (CSV) import template, which you can find here: https://s3-us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv.

  2. Fill out the template with your server and application data.

  3. Upload your import file to an Amazon S3 bucket, and make a note of it's Object URL. Your import file must be in the CSV format.

  4. Use the console or the StartImportTask command with the AWS CLI or one of the AWS SDKs to import the records from your file.

For more information, including step-by-step procedures, see Migration Hub Import in the AWS Application Discovery Service User Guide.

There are limits to the number of import tasks you can create (and delete) in an AWS account. For more information, see AWS Application Discovery Service Limits in the AWS Application Discovery Service User Guide.

" + }, + "StopContinuousExport":{ + "name":"StopContinuousExport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopContinuousExportRequest"}, + "output":{"shape":"StopContinuousExportResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Instructs the specified agents to start collecting data. Agents can reside on host servers or virtual machines in your data center.

" + "documentation":"

Stop the continuous flow of agent's discovered data into Amazon Athena.

" }, "StopDataCollectionByAgentIds":{ "name":"StopDataCollectionByAgentIds", @@ -171,9 +432,27 @@ {"shape":"AuthorizationErrorException"}, {"shape":"InvalidParameterException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"ServerInternalErrorException"} + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Instructs the specified agents or connectors to stop collecting data.

" + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalErrorException"}, + {"shape":"HomeRegionNotSetException"} ], - "documentation":"

Instructs the specified agents to stop collecting data.

" + "documentation":"

Updates metadata about an application.

" } }, "shapes":{ @@ -182,18 +461,18 @@ "members":{ "agentId":{ "shape":"String", - "documentation":"

The agent ID.

" + "documentation":"

The agent/connector ID.

" }, "operationSucceeded":{ "shape":"Boolean", - "documentation":"

Information about the status of the StartDataCollection and StopDataCollection operations. The system has recorded the data collection operation. The agent receives this command the next time it polls for a new command.

" + "documentation":"

Information about the status of the StartDataCollection and StopDataCollection operations. The system has recorded the data collection operation. The agent/connector receives this command the next time it polls for a new command.

" }, "description":{ "shape":"String", "documentation":"

A description of the operation performed.

" } }, - "documentation":"

Information about agents that were instructed to start collecting data. Information includes the agent ID, a description of the operation, and whether or not the agent configuration was updated.

" + "documentation":"

Information about agents or connectors that were instructed to start collecting data. Information includes the agent/connector ID, a description of the operation, and whether the agent/connector configuration was updated.

" }, "AgentConfigurationStatusList":{ "type":"list", @@ -209,44 +488,60 @@ "members":{ "agentId":{ "shape":"AgentId", - "documentation":"

The agent ID.

" + "documentation":"

The agent or connector ID.

" }, "hostName":{ "shape":"String", - "documentation":"

The name of the host where the agent resides. The host can be a server or virtual machine.

" + "documentation":"

The name of the host where the agent or connector resides. The host can be a server or virtual machine.

" }, "agentNetworkInfoList":{ "shape":"AgentNetworkInfoList", - "documentation":"

Network details about the host where the agent resides.

" + "documentation":"

Network details about the host where the agent or connector resides.

" }, "connectorId":{ "shape":"String", - "documentation":"

This data type is currently not valid.

" + "documentation":"

The ID of the connector.

" }, "version":{ "shape":"String", - "documentation":"

The agent version.

" + "documentation":"

The agent or connector version.

" }, "health":{ "shape":"AgentStatus", - "documentation":"

The health of the agent.

" + "documentation":"

The health of the agent or connector.

" + }, + "lastHealthPingTime":{ + "shape":"String", + "documentation":"

Time since agent or connector health was reported.

" + }, + "collectionStatus":{ + "shape":"String", + "documentation":"

Status of the collection process for an agent or connector.

" + }, + "agentType":{ + "shape":"String", + "documentation":"

Type of agent.

" + }, + "registeredTime":{ + "shape":"String", + "documentation":"

Agent's first registration timestamp in UTC.

" } }, - "documentation":"

Information about agents associated with the user’s AWS account. Information includes agent IDs, IP addresses, media access control (MAC) addresses, agent health, hostname where the agent resides, and agent version for each agent.

" + "documentation":"

Information about agents or connectors associated with the user’s AWS account. Information includes agent or connector IDs, IP addresses, media access control (MAC) addresses, agent or connector health, hostname where the agent or connector resides, and agent version for each agent.

" }, "AgentNetworkInfo":{ "type":"structure", "members":{ "ipAddress":{ "shape":"String", - "documentation":"

The IP address for the host where the agent resides.

" + "documentation":"

The IP address for the host where the agent/connector resides.

" }, "macAddress":{ "shape":"String", - "documentation":"

The MAC address for the host where the agent resides.

" + "documentation":"

The MAC address for the host where the agent/connector resides.

" } }, - "documentation":"

Network details about the host where the agent resides.

" + "documentation":"

Network details about the host where the agent/connector resides.

" }, "AgentNetworkInfoList":{ "type":"list", @@ -267,6 +562,33 @@ "type":"list", "member":{"shape":"AgentInfo"} }, + "ApplicationId":{"type":"string"}, + "ApplicationIdsList":{ + "type":"list", + "member":{"shape":"ApplicationId"} + }, + "AssociateConfigurationItemsToApplicationRequest":{ + "type":"structure", + "required":[ + "applicationConfigurationId", + "configurationIds" + ], + "members":{ + "applicationConfigurationId":{ + "shape":"ApplicationId", + "documentation":"

The configuration ID of an application with which items are to be associated.

" + }, + "configurationIds":{ + "shape":"ConfigurationIdList", + "documentation":"

The ID of each configuration item to be associated with an application.

" + } + } + }, + "AssociateConfigurationItemsToApplicationResponse":{ + "type":"structure", + "members":{ + } + }, "AuthorizationErrorException":{ "type":"structure", "members":{ @@ -275,7 +597,66 @@ "documentation":"

The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.

", "exception":true }, + "BatchDeleteImportDataError":{ + "type":"structure", + "members":{ + "importTaskId":{ + "shape":"ImportTaskIdentifier", + "documentation":"

The unique import ID associated with the error that occurred.

" + }, + "errorCode":{ + "shape":"BatchDeleteImportDataErrorCode", + "documentation":"

The type of error that occurred for a specific import task.

" + }, + "errorDescription":{ + "shape":"BatchDeleteImportDataErrorDescription", + "documentation":"

The description of the error that occurred for a specific import task.

" + } + }, + "documentation":"

Error messages returned for each import task that you deleted as a response for this command.

" + }, + "BatchDeleteImportDataErrorCode":{ + "type":"string", + "enum":[ + "NOT_FOUND", + "INTERNAL_SERVER_ERROR", + "OVER_LIMIT" + ] + }, + "BatchDeleteImportDataErrorDescription":{"type":"string"}, + "BatchDeleteImportDataErrorList":{ + "type":"list", + "member":{"shape":"BatchDeleteImportDataError"} + }, + "BatchDeleteImportDataRequest":{ + "type":"structure", + "required":["importTaskIds"], + "members":{ + "importTaskIds":{ + "shape":"ToDeleteIdentifierList", + "documentation":"

The IDs for the import tasks that you want to delete.

" + } + } + }, + "BatchDeleteImportDataResponse":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"BatchDeleteImportDataErrorList", + "documentation":"

Error messages returned for each import task that you deleted as a response for this command.

" + } + } + }, "Boolean":{"type":"boolean"}, + "BoxedInteger":{ + "type":"integer", + "box":true + }, + "ClientRequestToken":{ + "type":"string", + "max":100, + "min":1 + }, "Condition":{"type":"string"}, "Configuration":{ "type":"map", @@ -292,7 +673,8 @@ "enum":[ "SERVER", "PROCESS", - "CONNECTION" + "CONNECTION", + "APPLICATION" ] }, "ConfigurationTag":{ @@ -300,19 +682,19 @@ "members":{ "configurationType":{ "shape":"ConfigurationItemType", - "documentation":"

A type of IT asset that you want to tag.

" + "documentation":"

A type of IT asset to tag.

" }, "configurationId":{ "shape":"ConfigurationId", - "documentation":"

The configuration ID for the item you want to tag. You can specify a list of keys and values.

" + "documentation":"

The configuration ID for the item to tag. You can specify a list of keys and values.

" }, "key":{ "shape":"TagKey", - "documentation":"

A type of tag to filter on. For example, serverType.

" + "documentation":"

A type of tag on which to filter. For example, serverType.

" }, "value":{ "shape":"TagValue", - "documentation":"

A value to filter on. For example key = serverType and value = web server.

" + "documentation":"

A value on which to filter. For example key = serverType and value = web server.

" }, "timeOfCreation":{ "shape":"TimeStamp", @@ -323,10 +705,7 @@ }, "ConfigurationTagSet":{ "type":"list", - "member":{ - "shape":"ConfigurationTag", - "locationName":"item" - } + "member":{"shape":"ConfigurationTag"} }, "Configurations":{ "type":"list", @@ -334,35 +713,234 @@ }, "ConfigurationsDownloadUrl":{"type":"string"}, "ConfigurationsExportId":{"type":"string"}, - "CreateTagsRequest":{ - "type":"structure", - "required":[ - "configurationIds", - "tags" - ], - "members":{ - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

A list of configuration items that you want to tag.

" - }, - "tags":{ - "shape":"TagSet", - "documentation":"

Tags that you want to associate with one or more configuration items. Specify the tags that you want to create in a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

" - } - } - }, - "CreateTagsResponse":{ + "ConflictErrorException":{ "type":"structure", "members":{ - } + "message":{"shape":"Message"} + }, + "documentation":"

", + "exception":true }, - "DeleteTagsRequest":{ + "ContinuousExportDescription":{ "type":"structure", - "required":["configurationIds"], "members":{ - "configurationIds":{ - "shape":"ConfigurationIdList", - "documentation":"

A list of configuration items with tags that you want to delete.

" + "exportId":{ + "shape":"ConfigurationsExportId", + "documentation":"

The unique ID assigned to this export.

" + }, + "status":{ + "shape":"ContinuousExportStatus", + "documentation":"

Describes the status of the export. Can be one of the following values:

  • START_IN_PROGRESS - setting up resources to start continuous export.

  • START_FAILED - an error occurred setting up continuous export. To recover, call start-continuous-export again.

  • ACTIVE - data is being exported to the customer bucket.

  • ERROR - an error occurred during export. To fix the issue, call stop-continuous-export and start-continuous-export.

  • STOP_IN_PROGRESS - stopping the export.

  • STOP_FAILED - an error occurred stopping the export. To recover, call stop-continuous-export again.

  • INACTIVE - the continuous export has been stopped. Data is no longer being exported to the customer bucket.

" + }, + "statusDetail":{ + "shape":"StringMax255", + "documentation":"

Contains information about any errors that have occurred. This data type can have the following values:

  • ACCESS_DENIED - You don’t have permission to start Data Exploration in Amazon Athena. Contact your AWS administrator for help. For more information, see Setting Up AWS Application Discovery Service in the Application Discovery Service User Guide.

  • DELIVERY_STREAM_LIMIT_FAILURE - You reached the limit for Amazon Kinesis Data Firehose delivery streams. Reduce the number of streams or request a limit increase and try again. For more information, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide.

  • FIREHOSE_ROLE_MISSING - The Data Exploration feature is in an error state because your IAM User is missing the AWSApplicationDiscoveryServiceFirehose role. Turn on Data Exploration in Amazon Athena and try again. For more information, see Step 3: Provide Application Discovery Service Access to Non-Administrator Users by Attaching Policies in the Application Discovery Service User Guide.

  • FIREHOSE_STREAM_DOES_NOT_EXIST - The Data Exploration feature is in an error state because your IAM User is missing one or more of the Kinesis data delivery streams.

  • INTERNAL_FAILURE - The Data Exploration feature is in an error state because of an internal failure. Try again later. If this problem persists, contact AWS Support.

  • S3_BUCKET_LIMIT_FAILURE - You reached the limit for Amazon S3 buckets. Reduce the number of Amazon S3 buckets or request a limit increase and try again. For more information, see Bucket Restrictions and Limitations in the Amazon Simple Storage Service Developer Guide.

  • S3_NOT_SIGNED_UP - Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: https://aws.amazon.com/s3.

" + }, + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

The name of the s3 bucket where the export data parquet files are stored.

" + }, + "startTime":{ + "shape":"TimeStamp", + "documentation":"

The timestamp representing when the continuous export was started.

" + }, + "stopTime":{ + "shape":"TimeStamp", + "documentation":"

The timestamp that represents when this continuous export was stopped.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The type of data collector used to gather this data (currently only offered for AGENT).

" + }, + "schemaStorageConfig":{ + "shape":"SchemaStorageConfig", + "documentation":"

An object which describes how the data is stored.

  • databaseName - the name of the Glue database used to store the schema.

" + } + }, + "documentation":"

A list of continuous export descriptions.

" + }, + "ContinuousExportDescriptions":{ + "type":"list", + "member":{"shape":"ContinuousExportDescription"} + }, + "ContinuousExportIds":{ + "type":"list", + "member":{"shape":"ConfigurationsExportId"} + }, + "ContinuousExportStatus":{ + "type":"string", + "enum":[ + "START_IN_PROGRESS", + "START_FAILED", + "ACTIVE", + "ERROR", + "STOP_IN_PROGRESS", + "STOP_FAILED", + "INACTIVE" + ] + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

Name of the application to be created.

" + }, + "description":{ + "shape":"String", + "documentation":"

Description of the application to be created.

" + } + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "members":{ + "configurationId":{ + "shape":"String", + "documentation":"

Configuration ID of an application to be created.

" + } + } + }, + "CreateTagsRequest":{ + "type":"structure", + "required":[ + "configurationIds", + "tags" + ], + "members":{ + "configurationIds":{ + "shape":"ConfigurationIdList", + "documentation":"

A list of configuration items that you want to tag.

" + }, + "tags":{ + "shape":"TagSet", + "documentation":"

Tags that you want to associate with one or more configuration items. Specify the tags that you want to create in a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

" + } + } + }, + "CreateTagsResponse":{ + "type":"structure", + "members":{ + } + }, + "CustomerAgentInfo":{ + "type":"structure", + "required":[ + "activeAgents", + "healthyAgents", + "blackListedAgents", + "shutdownAgents", + "unhealthyAgents", + "totalAgents", + "unknownAgents" + ], + "members":{ + "activeAgents":{ + "shape":"Integer", + "documentation":"

Number of active discovery agents.

" + }, + "healthyAgents":{ + "shape":"Integer", + "documentation":"

Number of healthy discovery agents

" + }, + "blackListedAgents":{ + "shape":"Integer", + "documentation":"

Number of blacklisted discovery agents.

" + }, + "shutdownAgents":{ + "shape":"Integer", + "documentation":"

Number of discovery agents with status SHUTDOWN.

" + }, + "unhealthyAgents":{ + "shape":"Integer", + "documentation":"

Number of unhealthy discovery agents.

" + }, + "totalAgents":{ + "shape":"Integer", + "documentation":"

Total number of discovery agents.

" + }, + "unknownAgents":{ + "shape":"Integer", + "documentation":"

Number of unknown discovery agents.

" + } + }, + "documentation":"

Inventory data for installed discovery agents.

" + }, + "CustomerConnectorInfo":{ + "type":"structure", + "required":[ + "activeConnectors", + "healthyConnectors", + "blackListedConnectors", + "shutdownConnectors", + "unhealthyConnectors", + "totalConnectors", + "unknownConnectors" + ], + "members":{ + "activeConnectors":{ + "shape":"Integer", + "documentation":"

Number of active discovery connectors.

" + }, + "healthyConnectors":{ + "shape":"Integer", + "documentation":"

Number of healthy discovery connectors.

" + }, + "blackListedConnectors":{ + "shape":"Integer", + "documentation":"

Number of blacklisted discovery connectors.

" + }, + "shutdownConnectors":{ + "shape":"Integer", + "documentation":"

Number of discovery connectors with status SHUTDOWN,

" + }, + "unhealthyConnectors":{ + "shape":"Integer", + "documentation":"

Number of unhealthy discovery connectors.

" + }, + "totalConnectors":{ + "shape":"Integer", + "documentation":"

Total number of discovery connectors.

" + }, + "unknownConnectors":{ + "shape":"Integer", + "documentation":"

Number of unknown discovery connectors.

" + } + }, + "documentation":"

Inventory data for installed discovery connectors.

" + }, + "DataSource":{ + "type":"string", + "enum":["AGENT"] + }, + "DatabaseName":{ + "type":"string", + "max":252, + "min":1 + }, + "DeleteApplicationsRequest":{ + "type":"structure", + "required":["configurationIds"], + "members":{ + "configurationIds":{ + "shape":"ApplicationIdsList", + "documentation":"

Configuration ID of an application to be deleted.

" + } + } + }, + "DeleteApplicationsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTagsRequest":{ + "type":"structure", + "required":["configurationIds"], + "members":{ + "configurationIds":{ + "shape":"ConfigurationIdList", + "documentation":"

A list of configuration items with tags that you want to delete.

" }, "tags":{ "shape":"TagSet", @@ -380,15 +958,19 @@ "members":{ "agentIds":{ "shape":"AgentIds", - "documentation":"

The agent IDs for which you want information. If you specify no IDs, the system returns information about all agents associated with your AWS user account.

" + "documentation":"

The agent or the Connector IDs for which you want information. If you specify no IDs, the system returns information about all agents/Connectors associated with your AWS user account.

" + }, + "filters":{ + "shape":"Filters", + "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"collectionStatus\", \"value\": \"STARTED\"}

" }, "maxResults":{ "shape":"Integer", - "documentation":"

The total number of agents to return. The maximum value is 100.

" + "documentation":"

The total number of agents/Connectors to return in a single page of output. The maximum value is 100.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" + "documentation":"

Token to retrieve the next set of results. For example, if you previously specified 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" } } }, @@ -397,11 +979,11 @@ "members":{ "agentsInfo":{ "shape":"AgentsInfo", - "documentation":"

Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID. The output includes agent IDs, IP addresses, media access control (MAC) addresses, agent health, host name where the agent resides, and the version number of each agent.

" + "documentation":"

Lists agents or the Connector by ID or lists all agents/Connectors associated with your user account if you did not specify an agent/Connector ID. The output includes agent/Connector IDs, IP addresses, media access control (MAC) addresses, agent/Connector health, host name where the agent/Connector resides, and the version number of each agent/Connector.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

The call returns a token. Use this token to get the next set of results.

" + "documentation":"

Token to retrieve the next set of results. For example, if you specified 100 IDs for DescribeAgentsRequest$agentIds but set DescribeAgentsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" } } }, @@ -433,20 +1015,56 @@ } } }, + "DescribeContinuousExportsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "DescribeContinuousExportsRequest":{ + "type":"structure", + "members":{ + "exportIds":{ + "shape":"ContinuousExportIds", + "documentation":"

The unique IDs assigned to the exports.

" + }, + "maxResults":{ + "shape":"DescribeContinuousExportsMaxResults", + "documentation":"

A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token from the previous call to DescribeExportTasks.

" + } + } + }, + "DescribeContinuousExportsResponse":{ + "type":"structure", + "members":{ + "descriptions":{ + "shape":"ContinuousExportDescriptions", + "documentation":"

A list of continuous export descriptions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token from the previous call to DescribeExportTasks.

" + } + } + }, "DescribeExportConfigurationsRequest":{ "type":"structure", "members":{ "exportIds":{ "shape":"ExportIds", - "documentation":"

A unique identifier that you can use to query the export status.

" + "documentation":"

A list of continuous export IDs to search for.

" }, "maxResults":{ "shape":"Integer", - "documentation":"

The maximum number of results that you want to display as a part of the query.

" + "documentation":"

A number between 1 and 100 specifying the maximum number of continuous export descriptions returned.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to get the next set of results. For example, if you specified 100 IDs for DescribeConfigurationsRequest$configurationIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10.

" + "documentation":"

The token from the previous call to describe-export-tasks.

" } } }, @@ -455,11 +1073,85 @@ "members":{ "exportsInfo":{ "shape":"ExportsInfo", - "documentation":"

Returns export details. When the status is complete, the response includes a URL for an Amazon S3 bucket where you can view the data in a CSV file.

" + "documentation":"

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token from the previous call to describe-export-tasks.

" + } + } + }, + "DescribeExportTasksRequest":{ + "type":"structure", + "members":{ + "exportIds":{ + "shape":"ExportIds", + "documentation":"

One or more unique identifiers used to query the status of an export request.

" + }, + "filters":{ + "shape":"ExportFilters", + "documentation":"

One or more filters.

  • AgentId - ID of the agent whose collected data will be exported

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeExportTasks in paginated output. When this parameter is used, DescribeExportTasks only returns maxResults results in a single page along with a nextToken response element.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated DescribeExportTasks 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.

" + } + } + }, + "DescribeExportTasksResponse":{ + "type":"structure", + "members":{ + "exportsInfo":{ + "shape":"ExportsInfo", + "documentation":"

Contains one or more sets of export request details. When the status of a request is SUCCEEDED, the response includes a URL for an Amazon S3 bucket where you can view the data in a CSV file.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future DescribeExportTasks request. When the results of a DescribeExportTasks 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.

" + } + } + }, + "DescribeImportTasksFilterList":{ + "type":"list", + "member":{"shape":"ImportTaskFilter"} + }, + "DescribeImportTasksMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "DescribeImportTasksRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"DescribeImportTasksFilterList", + "documentation":"

An array of name-value pairs that you provide to filter the results for the DescribeImportTask request to a specific subset of results. Currently, wildcard values aren't supported for filters.

" + }, + "maxResults":{ + "shape":"DescribeImportTasksMaxResults", + "documentation":"

The maximum number of results that you want this request to return, up to 100.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to get the next set of results. For example, if you specified 100 IDs for DescribeConfigurationsRequest$configurationIds but set DescribeExportConfigurationsRequest$maxResults to 10, you will get results in a set of 10. Use the token in the query to get the next set of 10.

" + "documentation":"

The token to request a specific page of results.

" + } + } + }, + "DescribeImportTasksResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + }, + "tasks":{ + "shape":"ImportTaskList", + "documentation":"

A returned array of import tasks that match any applied filters, up to the specified number of maximum results.

" } } }, @@ -472,7 +1164,7 @@ }, "maxResults":{ "shape":"Integer", - "documentation":"

The total number of items to return. The maximum value is 100.

" + "documentation":"

The total number of items to return in a single page of output. The maximum value is 100.

" }, "nextToken":{ "shape":"NextToken", @@ -493,6 +1185,28 @@ } } }, + "DisassociateConfigurationItemsFromApplicationRequest":{ + "type":"structure", + "required":[ + "applicationConfigurationId", + "configurationIds" + ], + "members":{ + "applicationConfigurationId":{ + "shape":"ApplicationId", + "documentation":"

Configuration ID of an application from which each item is disassociated.

" + }, + "configurationIds":{ + "shape":"ConfigurationIdList", + "documentation":"

Configuration ID of each item to be disassociated from an application.

" + } + } + }, + "DisassociateConfigurationItemsFromApplicationResponse":{ + "type":"structure", + "members":{ + } + }, "ExportConfigurationsResponse":{ "type":"structure", "members":{ @@ -502,6 +1216,44 @@ } } }, + "ExportDataFormat":{ + "type":"string", + "enum":[ + "CSV", + "GRAPHML" + ] + }, + "ExportDataFormats":{ + "type":"list", + "member":{"shape":"ExportDataFormat"} + }, + "ExportFilter":{ + "type":"structure", + "required":[ + "name", + "values", + "condition" + ], + "members":{ + "name":{ + "shape":"FilterName", + "documentation":"

A single ExportFilter name. Supported filters: agentId.

" + }, + "values":{ + "shape":"FilterValues", + "documentation":"

A single agentId for a Discovery Agent. An agentId can be found using the DescribeAgents action. Typically an ADS agentId is in the form o-0123456789abcdef0.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

Supported condition: EQUALS

" + } + }, + "documentation":"

Used to select which agent's data is to be exported. A single agent ID may be selected for export using the StartExportTask action.

" + }, + "ExportFilters":{ + "type":"list", + "member":{"shape":"ExportFilter"} + }, "ExportIds":{ "type":"list", "member":{"shape":"ConfigurationsExportId"} @@ -517,26 +1269,38 @@ "members":{ "exportId":{ "shape":"ConfigurationsExportId", - "documentation":"

A unique identifier that you can use to query the export.

" + "documentation":"

A unique identifier used to query an export.

" }, "exportStatus":{ "shape":"ExportStatus", - "documentation":"

The status of the configuration data export. The status can succeed, fail, or be in-progress.

" + "documentation":"

The status of the data export job.

" }, "statusMessage":{ "shape":"ExportStatusMessage", - "documentation":"

Helpful status messages for API callers. For example: Too many exports in the last 6 hours. Export in progress. Export was successful.

" + "documentation":"

A status message provided for API callers.

" }, "configurationsDownloadUrl":{ "shape":"ConfigurationsDownloadUrl", - "documentation":"

A URL for an Amazon S3 bucket where you can review the configuration data. The URL is displayed only if the export succeeded.

" + "documentation":"

A URL for an Amazon S3 bucket where you can review the exported data. The URL is displayed only if the export succeeded.

" }, "exportRequestTime":{ "shape":"ExportRequestTime", - "documentation":"

The time the configuration data export was initiated.

" + "documentation":"

The time that the data export was initiated.

" + }, + "isTruncated":{ + "shape":"Boolean", + "documentation":"

If true, the export of agent information exceeded the size limit for a single export and the exported data is incomplete for the requested time range. To address this, select a smaller time range for the export by using startDate and endDate.

" + }, + "requestedStartTime":{ + "shape":"TimeStamp", + "documentation":"

The value of startTime parameter in the StartExportTask request. If no startTime was requested, this result does not appear in ExportInfo.

" + }, + "requestedEndTime":{ + "shape":"TimeStamp", + "documentation":"

The endTime used in the StartExportTask request. If no endTime was requested, this result does not appear in ExportInfo.

" } }, - "documentation":"

Information regarding the export status of the discovered data. The value is an array of objects.

" + "documentation":"

Information regarding the export status of discovered data. The value is an array of objects.

" }, "ExportRequestTime":{"type":"timestamp"}, "ExportStatus":{ @@ -562,32 +1326,193 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the filter. The following filter names are allowed for SERVER configuration items.

Server

  • server.hostName

  • server.osName

  • server.osVersion

  • server.configurationid

  • server.agentid

The name of the filter. The following filter names are allowed for PROCESS configuration items.

Process

  • process.configurationid

  • process.name

  • process.commandLine

  • server.configurationid

  • server.hostName

  • server.osName

  • server.osVersion

  • server.agentId

The name of the filter. The following filter names are allowed for CONNECTION configuration items.

Connection

  • connection.sourceIp

  • connection.destinationIp

  • connection.destinationPort

  • sourceProcess.configurationId

  • sourceProcess.name

  • sourceProcess.commandLine

  • destinationProcess.configurationId

  • destinationProcess.name

  • destinationProcess.commandLine

  • sourceServer.configurationId

  • sourceServer.hostName

  • sourceServer.osName

  • sourceServer.osVersion

  • sourceServer.agentId

  • destinationServer.configurationId

  • destinationServer.hostName

  • destinationServer.osName

  • destinationServer.osVersion

  • destinationServer.agentId

" + "documentation":"

The name of the filter.

" }, "values":{ "shape":"FilterValues", - "documentation":"

A string value that you want to filter on. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value.

" + "documentation":"

A string value on which to filter. For example, if you choose the destinationServer.osVersion filter name, you could specify Ubuntu for the value.

" }, "condition":{ "shape":"Condition", "documentation":"

A conditional operator. The following operators are valid: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS. If you specify multiple filters, the system utilizes all filters as though concatenated by AND. If you specify multiple values for a particular filter, the system differentiates the values using OR. Calling either DescribeConfigurations or ListConfigurations returns attributes of matching configuration items.

" } }, - "documentation":"

A filter that can use conditional operators.

" + "documentation":"

A filter that can use conditional operators.

For more information about filters, see Querying Discovered Configuration Items in the AWS Application Discovery Service User Guide.

" }, "FilterName":{"type":"string"}, "FilterValue":{"type":"string"}, "FilterValues":{ "type":"list", - "member":{ - "shape":"FilterValue", - "locationName":"item" - } + "member":{"shape":"FilterValue"} }, "Filters":{ "type":"list", "member":{"shape":"Filter"} }, + "GetDiscoverySummaryRequest":{ + "type":"structure", + "members":{ + } + }, + "GetDiscoverySummaryResponse":{ + "type":"structure", + "members":{ + "servers":{ + "shape":"Long", + "documentation":"

The number of servers discovered.

" + }, + "applications":{ + "shape":"Long", + "documentation":"

The number of applications discovered.

" + }, + "serversMappedToApplications":{ + "shape":"Long", + "documentation":"

The number of servers mapped to applications.

" + }, + "serversMappedtoTags":{ + "shape":"Long", + "documentation":"

The number of servers mapped to tags.

" + }, + "agentSummary":{ + "shape":"CustomerAgentInfo", + "documentation":"

Details about discovered agents, including agent status and health.

" + }, + "connectorSummary":{ + "shape":"CustomerConnectorInfo", + "documentation":"

Details about discovered connectors, including connector status and health.

" + } + } + }, + "HomeRegionNotSetException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

The home region is not set. Set the home region to continue.

", + "exception":true + }, + "ImportStatus":{ + "type":"string", + "enum":[ + "IMPORT_IN_PROGRESS", + "IMPORT_COMPLETE", + "IMPORT_COMPLETE_WITH_ERRORS", + "IMPORT_FAILED", + "IMPORT_FAILED_SERVER_LIMIT_EXCEEDED", + "IMPORT_FAILED_RECORD_LIMIT_EXCEEDED", + "DELETE_IN_PROGRESS", + "DELETE_COMPLETE", + "DELETE_FAILED", + "DELETE_FAILED_LIMIT_EXCEEDED", + "INTERNAL_ERROR" + ] + }, + "ImportTask":{ + "type":"structure", + "members":{ + "importTaskId":{ + "shape":"ImportTaskIdentifier", + "documentation":"

The unique ID for a specific import task. These IDs aren't globally unique, but they are unique within an AWS account.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique token used to prevent the same import request from occurring more than once. If you didn't provide a token, a token was automatically generated when the import task request was sent.

" + }, + "name":{ + "shape":"ImportTaskName", + "documentation":"

A descriptive name for an import task. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

" + }, + "importUrl":{ + "shape":"ImportURL", + "documentation":"

The URL for your import file that you've uploaded to Amazon S3.

" + }, + "status":{ + "shape":"ImportStatus", + "documentation":"

The status of the import task. An import can have the status of IMPORT_COMPLETE and still have some records fail to import from the overall request. More information can be found in the downloadable archive defined in the errorsAndFailedEntriesZip field, or in the Migration Hub management console.

" + }, + "importRequestTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request was made, presented in the Unix time stamp format.

" + }, + "importCompletionTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request finished, presented in the Unix time stamp format.

" + }, + "importDeletedTime":{ + "shape":"TimeStamp", + "documentation":"

The time that the import task request was deleted, presented in the Unix time stamp format.

" + }, + "serverImportSuccess":{ + "shape":"Integer", + "documentation":"

The total number of server records in the import file that were successfully imported.

" + }, + "serverImportFailure":{ + "shape":"Integer", + "documentation":"

The total number of server records in the import file that failed to be imported.

" + }, + "applicationImportSuccess":{ + "shape":"Integer", + "documentation":"

The total number of application records in the import file that were successfully imported.

" + }, + "applicationImportFailure":{ + "shape":"Integer", + "documentation":"

The total number of application records in the import file that failed to be imported.

" + }, + "errorsAndFailedEntriesZip":{ + "shape":"S3PresignedUrl", + "documentation":"

A link to a compressed archive folder (in the ZIP format) that contains an error log and a file of failed records. You can use these two files to quickly identify records that failed, why they failed, and correct those records. Afterward, you can upload the corrected file to your Amazon S3 bucket and create another import task request.

This field also includes authorization information so you can confirm the authenticity of the compressed archive before you download it.

If some records failed to be imported we recommend that you correct the records in the failed entries file and then imports that failed entries file. This prevents you from having to correct and update the larger original file and attempt importing it again.

" + } + }, + "documentation":"

An array of information related to the import task request that includes status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" + }, + "ImportTaskFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ImportTaskFilterName", + "documentation":"

The name, status, or import task ID for a specific import task.

" + }, + "values":{ + "shape":"ImportTaskFilterValueList", + "documentation":"

An array of strings that you can provide to match against a specific name, status, or import task ID to filter the results for your import task queries.

" + } + }, + "documentation":"

A name-values pair of elements you can use to filter the results when querying your import tasks. Currently, wildcards are not supported for filters.

When filtering by import status, all other filter values are ignored.

" + }, + "ImportTaskFilterName":{ + "type":"string", + "enum":[ + "IMPORT_TASK_ID", + "STATUS", + "NAME" + ] + }, + "ImportTaskFilterValue":{ + "type":"string", + "max":100, + "min":1 + }, + "ImportTaskFilterValueList":{ + "type":"list", + "member":{"shape":"ImportTaskFilterValue"}, + "max":100, + "min":1 + }, + "ImportTaskIdentifier":{"type":"string"}, + "ImportTaskList":{ + "type":"list", + "member":{"shape":"ImportTask"} + }, + "ImportTaskName":{ + "type":"string", + "max":100, + "min":1 + }, + "ImportURL":{ + "type":"string", + "max":4000, + "min":1 + }, "Integer":{"type":"integer"}, "InvalidParameterException":{ "type":"structure", @@ -611,11 +1536,11 @@ "members":{ "configurationType":{ "shape":"ConfigurationItemType", - "documentation":"

A valid configuration identified by the Discovery Service.

" + "documentation":"

A valid configuration identified by Application Discovery Service.

" }, "filters":{ "shape":"Filters", - "documentation":"

You can filter the list using a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

You can separate these items by using logical operators.

" + "documentation":"

You can filter the request using various logical operators and a key-value format. For example:

{\"key\": \"serverType\", \"value\": \"webServer\"}

For a complete list of filter options and guidance about using them with this action, see Using the ListConfigurations Action in the AWS Application Discovery Service User Guide.

" }, "maxResults":{ "shape":"Integer", @@ -623,7 +1548,11 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

A token to start the list. Use this token to get the next set of results.

" + "documentation":"

Token to retrieve the next set of results. For example, if a previous call to ListConfigurations returned 100 items, but you set ListConfigurationsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" + }, + "orderBy":{ + "shape":"OrderByList", + "documentation":"

Certain filter criteria return output that can be sorted in ascending or descending order. For a list of output characteristics for each filter, see Using the ListConfigurations Action in the AWS Application Discovery Service User Guide.

" } } }, @@ -636,11 +1565,91 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

The call returns a token. Use this token to get the next set of results.

" + "documentation":"

Token to retrieve the next set of results. For example, if your call to ListConfigurations returned 100 items, but you set ListConfigurationsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" + } + } + }, + "ListServerNeighborsRequest":{ + "type":"structure", + "required":["configurationId"], + "members":{ + "configurationId":{ + "shape":"ConfigurationId", + "documentation":"

Configuration ID of the server for which neighbors are being listed.

" + }, + "portInformationNeeded":{ + "shape":"Boolean", + "documentation":"

Flag to indicate if port and protocol information is needed as part of the response.

" + }, + "neighborConfigurationIds":{ + "shape":"ConfigurationIdList", + "documentation":"

List of configuration IDs to test for one-hop-away.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of results to return in a single page of output.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Token to retrieve the next set of results. For example, if you previously specified 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds but set ListServerNeighborsRequest$maxResults to 10, you received a set of 10 results along with a token. Use that token in this query to get the next set of 10.

" } } }, + "ListServerNeighborsResponse":{ + "type":"structure", + "required":["neighbors"], + "members":{ + "neighbors":{ + "shape":"NeighborDetailsList", + "documentation":"

List of distinct servers that are one hop away from the given server.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Token to retrieve the next set of results. For example, if you specified 100 IDs for ListServerNeighborsRequest$neighborConfigurationIds but set ListServerNeighborsRequest$maxResults to 10, you received a set of 10 results along with this token. Use this token in the next query to retrieve the next set of 10.

" + }, + "knownDependencyCount":{ + "shape":"Long", + "documentation":"

Count of distinct servers that are one hop away from the given server.

" + } + } + }, + "Long":{"type":"long"}, "Message":{"type":"string"}, + "NeighborConnectionDetail":{ + "type":"structure", + "required":[ + "sourceServerId", + "destinationServerId", + "connectionsCount" + ], + "members":{ + "sourceServerId":{ + "shape":"ConfigurationId", + "documentation":"

The ID of the server that opened the network connection.

" + }, + "destinationServerId":{ + "shape":"ConfigurationId", + "documentation":"

The ID of the server that accepted the network connection.

" + }, + "destinationPort":{ + "shape":"BoxedInteger", + "documentation":"

The destination network port for the connection.

" + }, + "transportProtocol":{ + "shape":"String", + "documentation":"

The network protocol used for the connection.

" + }, + "connectionsCount":{ + "shape":"Long", + "documentation":"

The number of open network connections with the neighboring server.

" + } + }, + "documentation":"

Details about neighboring servers.

" + }, + "NeighborDetailsList":{ + "type":"list", + "member":{"shape":"NeighborConnectionDetail"} + }, "NextToken":{"type":"string"}, "OperationNotPermittedException":{ "type":"structure", @@ -650,6 +1659,33 @@ "documentation":"

This operation is not permitted.

", "exception":true }, + "OrderByElement":{ + "type":"structure", + "required":["fieldName"], + "members":{ + "fieldName":{ + "shape":"String", + "documentation":"

The field on which to order.

" + }, + "sortOrder":{ + "shape":"orderString", + "documentation":"

Ordering direction.

" + } + }, + "documentation":"

A field and direction for ordered output.

" + }, + "OrderByList":{ + "type":"list", + "member":{"shape":"OrderByElement"} + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"Message"} + }, + "documentation":"

This issue occurs when the same clientRequestToken is used with the StartImportTask action, but with different parameters. For example, you use the same request token but have two different import URLs, you can encounter this issue. If the import tasks are meant to be different, use a different clientRequestToken, and try again.

", + "exception":true + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -658,6 +1694,13 @@ "documentation":"

The specified configuration ID was not located. Verify the configuration ID and try again.

", "exception":true }, + "S3Bucket":{"type":"string"}, + "S3PresignedUrl":{"type":"string"}, + "SchemaStorageConfig":{ + "type":"map", + "key":{"shape":"DatabaseName"}, + "value":{"shape":"String"} + }, "ServerInternalErrorException":{ "type":"structure", "members":{ @@ -667,13 +1710,43 @@ "exception":true, "fault":true }, + "StartContinuousExportRequest":{ + "type":"structure", + "members":{ + } + }, + "StartContinuousExportResponse":{ + "type":"structure", + "members":{ + "exportId":{ + "shape":"ConfigurationsExportId", + "documentation":"

The unique ID assigned to this export.

" + }, + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

The name of the s3 bucket where the export data parquet files are stored.

" + }, + "startTime":{ + "shape":"TimeStamp", + "documentation":"

The timestamp representing when the continuous export was started.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The type of data collector used to gather this data (currently only offered for AGENT).

" + }, + "schemaStorageConfig":{ + "shape":"SchemaStorageConfig", + "documentation":"

A dictionary which describes how the data is stored.

  • databaseName - the name of the Glue database used to store the schema.

" + } + } + }, "StartDataCollectionByAgentIdsRequest":{ "type":"structure", "required":["agentIds"], "members":{ "agentIds":{ "shape":"AgentIds", - "documentation":"

The IDs of the agents that you want to start collecting data. If you send a request to an AWS agent ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents and you do not have permission to contact some of those agents, the system does not throw an exception. Instead, the system shows Failed in the Description field.

" + "documentation":"

The IDs of the agents or connectors from which to start collecting data. If you send a request to an agent/connector ID that you do not have permission to contact, according to your AWS account, the service does not throw an exception. Instead, it returns the error in the Description field. If you send a request to multiple agents/connectors and you do not have permission to contact some of those agents/connectors, the system does not throw an exception. Instead, the system shows Failed in the Description field.

" } } }, @@ -682,7 +1755,91 @@ "members":{ "agentsConfigurationStatus":{ "shape":"AgentConfigurationStatusList", - "documentation":"

Information about agents that were instructed to start collecting data. Information includes the agent ID, a description of the operation performed, and whether or not the agent configuration was updated.

" + "documentation":"

Information about agents or the connector that were instructed to start collecting data. Information includes the agent/connector ID, a description of the operation performed, and whether the agent/connector configuration was updated.

" + } + } + }, + "StartExportTaskRequest":{ + "type":"structure", + "members":{ + "exportDataFormat":{ + "shape":"ExportDataFormats", + "documentation":"

The file format for the returned export data. Default value is CSV. Note: The GRAPHML option has been deprecated.

" + }, + "filters":{ + "shape":"ExportFilters", + "documentation":"

If a filter is present, it selects the single agentId of the Application Discovery Agent for which data is exported. The agentId can be found in the results of the DescribeAgents API or CLI. If no filter is present, startTime and endTime are ignored and exported data includes both Agentless Discovery Connector data and summary data from Application Discovery agents.

" + }, + "startTime":{ + "shape":"TimeStamp", + "documentation":"

The start timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, data is exported starting from the first data collected by the agent.

" + }, + "endTime":{ + "shape":"TimeStamp", + "documentation":"

The end timestamp for exported data from the single Application Discovery Agent selected in the filters. If no value is specified, exported data includes the most recent data collected by the agent.

" + } + } + }, + "StartExportTaskResponse":{ + "type":"structure", + "members":{ + "exportId":{ + "shape":"ConfigurationsExportId", + "documentation":"

A unique identifier used to query the status of an export request.

" + } + } + }, + "StartImportTaskRequest":{ + "type":"structure", + "required":[ + "name", + "importUrl" + ], + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Optional. A unique token that you can provide to prevent the same import request from occurring more than once. If you don't provide a token, a token is automatically generated.

Sending more than one StartImportTask request with the same client request token will return information about the original import task with that client request token.

", + "idempotencyToken":true + }, + "name":{ + "shape":"ImportTaskName", + "documentation":"

A descriptive name for this request. You can use this name to filter future requests related to this import task, such as identifying applications and servers that were included in this import task. We recommend that you use a meaningful name for each import task.

" + }, + "importUrl":{ + "shape":"ImportURL", + "documentation":"

The URL for your import file that you've uploaded to Amazon S3.

If you're using the AWS CLI, this URL is structured as follows: s3://BucketName/ImportFileName.CSV

" + } + } + }, + "StartImportTaskResponse":{ + "type":"structure", + "members":{ + "task":{ + "shape":"ImportTask", + "documentation":"

An array of information related to the import task request including status information, times, IDs, the Amazon S3 Object URL for the import file, and more.

" + } + } + }, + "StopContinuousExportRequest":{ + "type":"structure", + "required":["exportId"], + "members":{ + "exportId":{ + "shape":"ConfigurationsExportId", + "documentation":"

The unique ID assigned to this export.

" + } + } + }, + "StopContinuousExportResponse":{ + "type":"structure", + "members":{ + "startTime":{ + "shape":"TimeStamp", + "documentation":"

Timestamp that represents when this continuous export started collecting data.

" + }, + "stopTime":{ + "shape":"TimeStamp", + "documentation":"

Timestamp that represents when this continuous export was stopped.

" } } }, @@ -692,7 +1849,7 @@ "members":{ "agentIds":{ "shape":"AgentIds", - "documentation":"

The IDs of the agents that you want to stop collecting data.

" + "documentation":"

The IDs of the agents or connectors from which to stop collecting data.

" } } }, @@ -701,11 +1858,16 @@ "members":{ "agentsConfigurationStatus":{ "shape":"AgentConfigurationStatusList", - "documentation":"

Information about agents that were instructed to stop collecting data. Information includes the agent ID, a description of the operation performed, and whether or not the agent configuration was updated.

" + "documentation":"

Information about the agents or connector that were instructed to stop collecting data. Information includes the agent/connector ID, a description of the operation performed, and whether the agent/connector configuration was updated.

" } } }, "String":{"type":"string"}, + "StringMax255":{ + "type":"string", + "max":255, + "min":1 + }, "Tag":{ "type":"structure", "required":[ @@ -715,11 +1877,11 @@ "members":{ "key":{ "shape":"TagKey", - "documentation":"

A type of tag to filter on.

" + "documentation":"

The type of tag on which to filter.

" }, "value":{ "shape":"TagValue", - "documentation":"

A value for a tag key to filter on.

" + "documentation":"

A value for a tag key on which to filter.

" } }, "documentation":"

Metadata that help you categorize IT assets.

" @@ -733,14 +1895,14 @@ "members":{ "name":{ "shape":"FilterName", - "documentation":"

A name of a tag filter.

" + "documentation":"

A name of the tag filter.

" }, "values":{ "shape":"FilterValues", - "documentation":"

Values of a tag filter.

" + "documentation":"

Values for the tag filter.

" } }, - "documentation":"

The name of a tag filter. Valid names are: tagKey, tagValue, configurationId.

" + "documentation":"

The tag filter. Valid names are: tagKey, tagValue, configurationId.

" }, "TagFilters":{ "type":"list", @@ -749,13 +1911,46 @@ "TagKey":{"type":"string"}, "TagSet":{ "type":"list", - "member":{ - "shape":"Tag", - "locationName":"item" - } + "member":{"shape":"Tag"} }, "TagValue":{"type":"string"}, - "TimeStamp":{"type":"timestamp"} + "TimeStamp":{"type":"timestamp"}, + "ToDeleteIdentifierList":{ + "type":"list", + "member":{"shape":"ImportTaskIdentifier"}, + "max":10, + "min":1 + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":["configurationId"], + "members":{ + "configurationId":{ + "shape":"ApplicationId", + "documentation":"

Configuration ID of the application to be updated.

" + }, + "name":{ + "shape":"String", + "documentation":"

New name of the application to be updated.

" + }, + "description":{ + "shape":"String", + "documentation":"

New description of the application to be updated.

" + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "orderString":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + } }, - "documentation":"

The AWS Application Discovery Service helps Systems Integrators quickly and reliably plan application migration projects by automatically identifying applications running in on-premises data centers, their associated dependencies, and their performance profile.

Planning data center migrations can involve thousands of workloads that are often deeply interdependent. Application discovery and dependency mapping are important early first steps in the migration process, but difficult to perform at scale due to the lack of automated tools.

The AWS Application Discovery Service automatically collects configuration and usage data from servers to develop a list of applications, how they perform, and how they are interdependent. This information is securely retained in an AWS Application Discovery Service database which you can export as a CSV file into your preferred visualization tool or cloud migration solution to help reduce the complexity and time in planning your cloud migration.

The Application Discovery Service is currently available for preview. Only customers who are engaged with AWS Professional Services or a certified AWS partner can use the service. To see the list of certified partners and request access to the Application Discovery Service, complete the following preview form.

This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for the Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

This guide is intended for use with the AWS Discovery Service User Guide .

The following are short descriptions of each API action, organized by function.

Managing AWS Agents Using the Application Discovery Service

An AWS agent is software that you install on on-premises servers and virtual machines that are targeted for discovery and migration. Agents run on Linux and Windows Server and collect server configuration and activity information about your applications and infrastructure. Specifically, agents collect the following information and send it to the Application Discovery Service using Secure Sockets Layer (SSL) encryption:

  • User information (user name, home directory)

  • Group information (name)

  • List of installed packages

  • List of kernel modules

  • All create and stop process events

  • DNS queries

  • NIC information

  • TCP/UDP process listening ports

  • TCPV4/V6 connections

  • Operating system information

  • System performance

  • Process performance

The Application Discovery Service API includes the following actions to manage AWS agents:

  • StartDataCollectionByAgentIds: Instructs the specified agents to start collecting data. The Application Discovery Service takes several minutes to receive and process data after you initiate data collection.

  • StopDataCollectionByAgentIds: Instructs the specified agents to stop collecting data.

  • DescribeAgents: Lists AWS agents by ID or lists all agents associated with your user account if you did not specify an agent ID. The output includes agent IDs, IP addresses, media access control (MAC) addresses, agent health, host name where the agent resides, and the version number of each agent.

Querying Configuration Items

A configuration item is an IT asset that was discovered in your data center by an AWS agent. When you use the Application Discovery Service, you can specify filters and query specific configuration items. The service supports Server, Process, and Connection configuration items. This means you can specify a value for the following keys and query your IT assets:

Server

  • server.HostName

  • server.osName

  • server.osVersion

  • server.configurationId

  • server.agentId

Process

  • process.name

  • process.CommandLine

  • process.configurationId

  • server.hostName

  • server.osName

  • server.osVersion

  • server.configurationId

  • server.agentId

Connection

  • connection.sourceIp

  • connection.sourcePort

  • connection.destinationIp

  • connection.destinationPort

  • sourceProcess.configurationId

  • sourceProcess.commandLine

  • sourceProcess.name

  • destinationProcessId.configurationId

  • destinationProcess.commandLine

  • destinationProcess.name

  • sourceServer.configurationId

  • sourceServer.hostName

  • sourceServer.osName

  • sourceServer.osVersion

  • destinationServer.configurationId

  • destinationServer.hostName

  • destinationServer.osName

  • destinationServer.osVersion

The Application Discovery Service includes the following actions for querying configuration items.

  • DescribeConfigurations: Retrieves a list of attributes for a specific configuration ID. For example, the output for a server configuration item includes a list of attributes about the server, including host name, operating system, number of network cards, etc.

  • ListConfigurations: Retrieves a list of configuration items according to the criteria you specify in a filter. The filter criteria identify relationship requirements. For example, you can specify filter criteria of process.name with values of nginx and apache.

Tagging Discovered Configuration Items

You can tag discovered configuration items. Tags are metadata that help you categorize IT assets in your data center. Tags use a key-value format. For example, {\"key\": \"serverType\", \"value\": \"webServer\"}.

  • CreateTags: Creates one or more tags for a configuration items.

  • DescribeTags: Retrieves a list of configuration items that are tagged with a specific tag. Or, retrieves a list of all tags assigned to a specific configuration item.

  • DeleteTags: Deletes the association between a configuration item and one or more tags.

Exporting Data

You can export data as a CSV file to an Amazon S3 bucket or into your preferred visualization tool or cloud migration solution to help reduce the complexity and time in planning your cloud migration.

  • ExportConfigurations: Exports all discovered configuration data to an Amazon S3 bucket. Data includes tags and tag associations, processes, connections, servers, and system performance. This API returns an export ID which you can query using the GetExportStatus API.

  • DescribeExportConfigurations: Gets the status of the data export. When the export is complete, the service returns an Amazon S3 URL where you can download CSV files that include the data.

" + "documentation":"AWS Application Discovery Service

AWS Application Discovery Service helps you plan application migration projects. It automatically identifies servers, virtual machines (VMs), and network dependencies in your on-premises data centers. For more information, see the AWS Application Discovery Service FAQ. Application Discovery Service offers three ways of performing discovery and collecting data about your on-premises servers:

  • Agentless discovery is recommended for environments that use VMware vCenter Server. This mode doesn't require you to install an agent on each host. It does not work in non-VMware environments.

    • Agentless discovery gathers server information regardless of the operating systems, which minimizes the time required for initial on-premises infrastructure assessment.

    • Agentless discovery doesn't collect information about network dependencies, only agent-based discovery collects that information.

  • Agent-based discovery collects a richer set of data than agentless discovery by using the AWS Application Discovery Agent, which you install on one or more hosts in your data center.

    • The agent captures infrastructure and application information, including an inventory of running processes, system performance information, resource utilization, and network dependencies.

    • The information collected by agents is secured at rest and in transit to the Application Discovery Service database in the cloud.

  • AWS Partner Network (APN) solutions integrate with Application Discovery Service, enabling you to import details of your on-premises environment directly into Migration Hub without using the discovery connector or discovery agent.

    • Third-party application discovery tools can query AWS Application Discovery Service, and they can write to the Application Discovery Service database using the public API.

    • In this way, you can import data into Migration Hub and view it, so that you can associate applications with servers and track migrations.

Recommendations

We recommend that you use agent-based discovery for non-VMware environments, and whenever you want to collect information about network dependencies. You can run agent-based and agentless discovery simultaneously. Use agentless discovery to complete the initial infrastructure assessment quickly, and then install agents on select hosts to collect additional information.

Working With This Guide

This API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Application Discovery Service. The topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

  • Remember that you must set your Migration Hub home region before you call any of these APIs.

  • You must make API calls for write actions (create, notify, associate, disassociate, import, or put) while in your home region, or a HomeRegionNotSetException error is returned.

  • API calls for read actions (list, describe, stop, and delete) are permitted outside of your home region.

  • Although it is unlikely, the Migration Hub home region could change. If you call APIs outside the home region, an InvalidInputException is returned.

  • You must call GetHomeRegion to obtain the latest Migration Hub home region.

This guide is intended for use with the AWS Application Discovery Service User Guide.

All data is handled according to the AWS Privacy Policy. You can operate Application Discovery Service offline to inspect collected data before it is shared with the service.

" } diff -Nru python-botocore-1.4.70/botocore/data/dlm/2018-01-12/examples-1.json python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/examples-1.json --- python-botocore-1.4.70/botocore/data/dlm/2018-01-12/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/dlm/2018-01-12/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/paginators-1.json --- python-botocore-1.4.70/botocore/data/dlm/2018-01-12/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/dlm/2018-01-12/service-2.json python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/service-2.json --- python-botocore-1.4.70/botocore/data/dlm/2018-01-12/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dlm/2018-01-12/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,927 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-01-12", + "endpointPrefix":"dlm", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon DLM", + "serviceFullName":"Amazon Data Lifecycle Manager", + "serviceId":"DLM", + "signatureVersion":"v4", + "signingName":"dlm", + "uid":"dlm-2018-01-12" + }, + "operations":{ + "CreateLifecyclePolicy":{ + "name":"CreateLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/policies" + }, + "input":{"shape":"CreateLifecyclePolicyRequest"}, + "output":{"shape":"CreateLifecyclePolicyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a policy to manage the lifecycle of the specified AWS resources. You can create up to 100 lifecycle policies.

" + }, + "DeleteLifecyclePolicy":{ + "name":"DeleteLifecyclePolicy", + "http":{ + "method":"DELETE", + "requestUri":"/policies/{policyId}/" + }, + "input":{"shape":"DeleteLifecyclePolicyRequest"}, + "output":{"shape":"DeleteLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Deletes the specified lifecycle policy and halts the automated operations that the policy specified.

" + }, + "GetLifecyclePolicies":{ + "name":"GetLifecyclePolicies", + "http":{ + "method":"GET", + "requestUri":"/policies" + }, + "input":{"shape":"GetLifecyclePoliciesRequest"}, + "output":{"shape":"GetLifecyclePoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Gets summary information about all or the specified data lifecycle policies.

To get complete information about a policy, use GetLifecyclePolicy.

" + }, + "GetLifecyclePolicy":{ + "name":"GetLifecyclePolicy", + "http":{ + "method":"GET", + "requestUri":"/policies/{policyId}/" + }, + "input":{"shape":"GetLifecyclePolicyRequest"}, + "output":{"shape":"GetLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Gets detailed information about the specified lifecycle policy.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags for the specified resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds the specified tags to the specified resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes the specified tags from the specified resource.

" + }, + "UpdateLifecyclePolicy":{ + "name":"UpdateLifecyclePolicy", + "http":{ + "method":"PATCH", + "requestUri":"/policies/{policyId}" + }, + "input":{"shape":"UpdateLifecyclePolicyRequest"}, + "output":{"shape":"UpdateLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServerException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Updates the specified lifecycle policy.

" + } + }, + "shapes":{ + "AvailabilityZone":{ + "type":"string", + "max":16, + "min":0, + "pattern":"([a-z]+-){2,3}\\d[a-z]" + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{"shape":"AvailabilityZone"}, + "max":10, + "min":1 + }, + "CmkArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:aws(-[a-z]{1,3}){0,2}:kms:([a-z]+-){2,3}\\d:\\d+:key/.*" + }, + "CopyTags":{"type":"boolean"}, + "CopyTagsNullable":{"type":"boolean"}, + "Count":{ + "type":"integer", + "max":1000, + "min":1 + }, + "CreateLifecyclePolicyRequest":{ + "type":"structure", + "required":[ + "ExecutionRoleArn", + "Description", + "State", + "PolicyDetails" + ], + "members":{ + "ExecutionRoleArn":{ + "shape":"ExecutionRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

A description of the lifecycle policy. The characters ^[0-9A-Za-z _-]+$ are supported.

" + }, + "State":{ + "shape":"SettablePolicyStateValues", + "documentation":"

The desired activation state of the lifecycle policy after creation.

" + }, + "PolicyDetails":{ + "shape":"PolicyDetails", + "documentation":"

The configuration details of the lifecycle policy.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to apply to the lifecycle policy during creation.

" + } + } + }, + "CreateLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

" + } + } + }, + "CreateRule":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"Interval", + "documentation":"

The interval between snapshots. The supported values are 1, 2, 3, 4, 6, 8, 12, and 24.

" + }, + "IntervalUnit":{ + "shape":"IntervalUnitValues", + "documentation":"

The interval unit.

" + }, + "Times":{ + "shape":"TimesList", + "documentation":"

The time, in UTC, to start the operation. The supported format is hh:mm.

The operation occurs within a one-hour window following the specified time. If you do not specify a time, Amazon DLM selects a time within the next 24 hours.

" + }, + "CronExpression":{ + "shape":"CronExpression", + "documentation":"

The schedule, as a Cron expression. The schedule interval must be between 1 hour and 1 year. For more information, see Cron expressions in the Amazon CloudWatch User Guide.

" + } + }, + "documentation":"

Specifies when to create snapshots of EBS volumes.

You must specify either a Cron expression or an interval, interval unit, and start time. You cannot specify both.

" + }, + "CronExpression":{ + "type":"string", + "max":106, + "min":17, + "pattern":"cron\\([^\\n]{11,100}\\)" + }, + "CrossRegionCopyRetainRule":{ + "type":"structure", + "members":{ + "Interval":{ + "shape":"Interval", + "documentation":"

The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

" + }, + "IntervalUnit":{ + "shape":"RetentionIntervalUnitValues", + "documentation":"

The unit of time for time-based retention.

" + } + }, + "documentation":"

Specifies the retention rule for cross-Region snapshot copies.

" + }, + "CrossRegionCopyRule":{ + "type":"structure", + "required":[ + "TargetRegion", + "Encrypted" + ], + "members":{ + "TargetRegion":{ + "shape":"TargetRegion", + "documentation":"

The target Region.

" + }, + "Encrypted":{ + "shape":"Encrypted", + "documentation":"

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Copies of encrypted snapshots are encrypted, even if this parameter is false or if encryption by default is not enabled.

" + }, + "CmkArn":{ + "shape":"CmkArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS customer master key (CMK) to use for EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used.

" + }, + "CopyTags":{ + "shape":"CopyTagsNullable", + "documentation":"

Copy all user-defined tags from the source snapshot to the copied snapshot.

" + }, + "RetainRule":{ + "shape":"CrossRegionCopyRetainRule", + "documentation":"

The retention rule.

" + } + }, + "documentation":"

Specifies a rule for cross-Region snapshot copies.

" + }, + "CrossRegionCopyRules":{ + "type":"list", + "member":{"shape":"CrossRegionCopyRule"}, + "max":3, + "min":0 + }, + "DeleteLifecyclePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

", + "location":"uri", + "locationName":"policyId" + } + } + }, + "DeleteLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "Encrypted":{"type":"boolean"}, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "ExcludeBootVolume":{"type":"boolean"}, + "ExecutionRoleArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"arn:aws(-[a-z]{1,3}){0,2}:iam::\\d+:role/.*" + }, + "FastRestoreRule":{ + "type":"structure", + "required":["AvailabilityZones"], + "members":{ + "Count":{ + "shape":"Count", + "documentation":"

The number of snapshots to be enabled with fast snapshot restore.

" + }, + "Interval":{ + "shape":"Interval", + "documentation":"

The amount of time to enable fast snapshot restore. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

" + }, + "IntervalUnit":{ + "shape":"RetentionIntervalUnitValues", + "documentation":"

The unit of time for enabling fast snapshot restore.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones in which to enable fast snapshot restore.

" + } + }, + "documentation":"

Specifies a rule for enabling fast snapshot restore. You can enable fast snapshot restore based on either a count or a time interval.

" + }, + "GetLifecyclePoliciesRequest":{ + "type":"structure", + "members":{ + "PolicyIds":{ + "shape":"PolicyIdList", + "documentation":"

The identifiers of the data lifecycle policies.

", + "location":"querystring", + "locationName":"policyIds" + }, + "State":{ + "shape":"GettablePolicyStateValues", + "documentation":"

The activation state.

", + "location":"querystring", + "locationName":"state" + }, + "ResourceTypes":{ + "shape":"ResourceTypeValuesList", + "documentation":"

The resource type.

", + "location":"querystring", + "locationName":"resourceTypes" + }, + "TargetTags":{ + "shape":"TargetTagsFilterList", + "documentation":"

The target tag for a policy.

Tags are strings in the format key=value.

", + "location":"querystring", + "locationName":"targetTags" + }, + "TagsToAdd":{ + "shape":"TagsToAddFilterList", + "documentation":"

The tags to add to objects created by the policy.

Tags are strings in the format key=value.

These user-defined tags are added in addition to the AWS-added lifecycle tags.

", + "location":"querystring", + "locationName":"tagsToAdd" + } + } + }, + "GetLifecyclePoliciesResponse":{ + "type":"structure", + "members":{ + "Policies":{ + "shape":"LifecyclePolicySummaryList", + "documentation":"

Summary information about the lifecycle policies.

" + } + } + }, + "GetLifecyclePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

", + "location":"uri", + "locationName":"policyId" + } + } + }, + "GetLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"LifecyclePolicy", + "documentation":"

Detailed information about the lifecycle policy.

" + } + } + }, + "GettablePolicyStateValues":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "ERROR" + ] + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"} + }, + "documentation":"

The service failed in an unexpected way.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "Interval":{ + "type":"integer", + "min":1 + }, + "IntervalUnitValues":{ + "type":"string", + "enum":["HOURS"] + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"}, + "RequiredParameters":{ + "shape":"ParameterList", + "documentation":"

The request omitted one or more required parameters.

" + }, + "MutuallyExclusiveParameters":{ + "shape":"ParameterList", + "documentation":"

The request included parameters that cannot be provided together.

" + } + }, + "documentation":"

Bad request. The request is missing required parameters or has invalid parameters.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LifecyclePolicy":{ + "type":"structure", + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

The description of the lifecycle policy.

" + }, + "State":{ + "shape":"GettablePolicyStateValues", + "documentation":"

The activation state of the lifecycle policy.

" + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

The description of the status.

" + }, + "ExecutionRoleArn":{ + "shape":"ExecutionRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" + }, + "DateCreated":{ + "shape":"Timestamp", + "documentation":"

The local date and time when the lifecycle policy was created.

" + }, + "DateModified":{ + "shape":"Timestamp", + "documentation":"

The local date and time when the lifecycle policy was last modified.

" + }, + "PolicyDetails":{ + "shape":"PolicyDetails", + "documentation":"

The configuration of the lifecycle policy

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags.

" + }, + "PolicyArn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy.

" + } + }, + "documentation":"

Detailed information about a lifecycle policy.

" + }, + "LifecyclePolicySummary":{ + "type":"structure", + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

The description of the lifecycle policy.

" + }, + "State":{ + "shape":"GettablePolicyStateValues", + "documentation":"

The activation state of the lifecycle policy.

" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags.

" + } + }, + "documentation":"

Summary information about a lifecycle policy.

" + }, + "LifecyclePolicySummaryList":{ + "type":"list", + "member":{"shape":"LifecyclePolicySummary"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"}, + "ResourceType":{ + "shape":"String", + "documentation":"

Value is the type of resource for which a limit was exceeded.

" + } + }, + "documentation":"

The request failed because a limit was exceeded.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

Information about the tags.

" + } + } + }, + "Parameter":{"type":"string"}, + "ParameterList":{ + "type":"list", + "member":{"shape":"Parameter"} + }, + "Parameters":{ + "type":"structure", + "members":{ + "ExcludeBootVolume":{ + "shape":"ExcludeBootVolume", + "documentation":"

[EBS Snapshot Management – Instance policies only] Indicates whether to exclude the root volume from snapshots created using CreateSnapshots. The default is false.

" + } + }, + "documentation":"

Specifies optional parameters to add to a policy. The set of valid parameters depends on the combination of policy type and resource type.

" + }, + "PolicyArn":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^arn:aws(-[a-z]{1,3}){0,2}:dlm:[A-Za-z0-9_/.-]{0,63}:\\d+:policy/[0-9A-Za-z_-]{1,128}$" + }, + "PolicyDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[0-9A-Za-z _-]+" + }, + "PolicyDetails":{ + "type":"structure", + "members":{ + "PolicyType":{ + "shape":"PolicyTypeValues", + "documentation":"

The valid target resource types and actions a policy can manage. The default is EBS_SNAPSHOT_MANAGEMENT.

" + }, + "ResourceTypes":{ + "shape":"ResourceTypeValuesList", + "documentation":"

The resource type. Use VOLUME to create snapshots of individual volumes or use INSTANCE to create multi-volume snapshots from the volumes for an instance.

" + }, + "TargetTags":{ + "shape":"TargetTagList", + "documentation":"

The single tag that identifies targeted resources for this policy.

" + }, + "Schedules":{ + "shape":"ScheduleList", + "documentation":"

The schedule of policy-defined actions.

" + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

A set of optional parameters for the policy.

" + } + }, + "documentation":"

Specifies the configuration of a lifecycle policy.

" + }, + "PolicyId":{ + "type":"string", + "max":64, + "min":0, + "pattern":"policy-[A-Za-z0-9]+" + }, + "PolicyIdList":{ + "type":"list", + "member":{"shape":"PolicyId"} + }, + "PolicyTypeValues":{ + "type":"string", + "enum":["EBS_SNAPSHOT_MANAGEMENT"] + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"}, + "ResourceType":{ + "shape":"String", + "documentation":"

Value is the type of resource that was not found.

" + }, + "ResourceIds":{ + "shape":"PolicyIdList", + "documentation":"

Value is a list of resource IDs that were not found.

" + } + }, + "documentation":"

A requested resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceTypeValues":{ + "type":"string", + "enum":[ + "VOLUME", + "INSTANCE" + ] + }, + "ResourceTypeValuesList":{ + "type":"list", + "member":{"shape":"ResourceTypeValues"}, + "max":1, + "min":1 + }, + "RetainRule":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"Count", + "documentation":"

The number of snapshots to retain for each volume, up to a maximum of 1000.

" + }, + "Interval":{ + "shape":"Interval", + "documentation":"

The amount of time to retain each snapshot. The maximum is 100 years. This is equivalent to 1200 months, 5200 weeks, or 36500 days.

" + }, + "IntervalUnit":{ + "shape":"RetentionIntervalUnitValues", + "documentation":"

The unit of time for time-based retention.

" + } + }, + "documentation":"

Specifies the retention rule for a lifecycle policy. You can retain snapshots based on either a count or a time interval.

" + }, + "RetentionIntervalUnitValues":{ + "type":"string", + "enum":[ + "DAYS", + "WEEKS", + "MONTHS", + "YEARS" + ] + }, + "Schedule":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ScheduleName", + "documentation":"

The name of the schedule.

" + }, + "CopyTags":{ + "shape":"CopyTags", + "documentation":"

Copy all user-defined tags on a source volume to snapshots of the volume created by this policy.

" + }, + "TagsToAdd":{ + "shape":"TagsToAddList", + "documentation":"

The tags to apply to policy-created resources. These user-defined tags are in addition to the AWS-added lifecycle tags.

" + }, + "VariableTags":{ + "shape":"VariableTagsList", + "documentation":"

A collection of key/value pairs with values determined dynamically when the policy is executed. Keys may be any valid Amazon EC2 tag key. Values must be in one of the two following formats: $(instance-id) or $(timestamp). Variable tags are only valid for EBS Snapshot Management – Instance policies.

" + }, + "CreateRule":{ + "shape":"CreateRule", + "documentation":"

The creation rule.

" + }, + "RetainRule":{ + "shape":"RetainRule", + "documentation":"

The retention rule.

" + }, + "FastRestoreRule":{ + "shape":"FastRestoreRule", + "documentation":"

The rule for enabling fast snapshot restore.

" + }, + "CrossRegionCopyRules":{ + "shape":"CrossRegionCopyRules", + "documentation":"

The rule for cross-Region snapshot copies.

" + } + }, + "documentation":"

Specifies a backup schedule.

" + }, + "ScheduleList":{ + "type":"list", + "member":{"shape":"Schedule"}, + "max":1, + "min":1 + }, + "ScheduleName":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[\\p{all}]*" + }, + "SettablePolicyStateValues":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "StatusMessage":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[\\p{all}]*" + }, + "String":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[\\p{all}]*" + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The tag key.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The tag value.

" + } + }, + "documentation":"

Specifies a tag for a resource.

" + }, + "TagFilter":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{all}]*" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

One or more tags.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"[\\p{all}]*" + }, + "TagsToAddFilterList":{ + "type":"list", + "member":{"shape":"TagFilter"}, + "max":50, + "min":0 + }, + "TagsToAddList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":45, + "min":0 + }, + "TargetRegion":{ + "type":"string", + "max":16, + "min":0, + "pattern":"([a-z]+-){2,3}\\d" + }, + "TargetTagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TargetTagsFilterList":{ + "type":"list", + "member":{"shape":"TagFilter"}, + "max":50, + "min":1 + }, + "Time":{ + "type":"string", + "max":5, + "min":5, + "pattern":"^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" + }, + "TimesList":{ + "type":"list", + "member":{"shape":"Time"}, + "max":1 + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLifecyclePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The identifier of the lifecycle policy.

", + "location":"uri", + "locationName":"policyId" + }, + "ExecutionRoleArn":{ + "shape":"ExecutionRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.

" + }, + "State":{ + "shape":"SettablePolicyStateValues", + "documentation":"

The desired activation state of the lifecycle policy after creation.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

A description of the lifecycle policy.

" + }, + "PolicyDetails":{ + "shape":"PolicyDetails", + "documentation":"

The configuration of the lifecycle policy. You cannot update the policy type or the resource type.

" + } + } + }, + "UpdateLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "VariableTagsList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":45, + "min":0 + } + }, + "documentation":"Amazon Data Lifecycle Manager

With Amazon Data Lifecycle Manager, you can manage the lifecycle of your AWS resources. You create lifecycle policies, which are used to automate operations on the specified resources.

Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM with Amazon EBS, see Automating the Amazon EBS Snapshot Lifecycle in the Amazon EC2 User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/dms/2016-01-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/examples-1.json --- python-botocore-1.4.70/botocore/data/dms/2016-01-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1053 @@ +{ + "version": "1.0", + "examples": { + "AddTagsToResource": [ + { + "input": { + "ResourceArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", + "Tags": [ + { + "Key": "Acount", + "Value": "1633456" + } + ] + }, + "output": { + }, + "comments": { + "input": { + "ResourceArn": "Required. Use the ARN of the resource you want to tag.", + "Tags": "Required. Use the Key/Value pair format." + }, + "output": { + } + }, + "description": "Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with AWS DMS resources, or used in a Condition statement in an IAM policy for AWS DMS.", + "id": "add-tags-to-resource-1481744141435", + "title": "Add tags to resource" + } + ], + "CreateEndpoint": [ + { + "input": { + "CertificateArn": "", + "DatabaseName": "testdb", + "EndpointIdentifier": "test-endpoint-1", + "EndpointType": "source", + "EngineName": "mysql", + "ExtraConnectionAttributes": "", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "Password": "pasword", + "Port": 3306, + "ServerName": "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", + "SslMode": "require", + "Tags": [ + { + "Key": "Acount", + "Value": "143327655" + } + ], + "Username": "username" + }, + "output": { + "Endpoint": { + "EndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", + "EndpointIdentifier": "test-endpoint-1", + "EndpointType": "source", + "EngineName": "mysql", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "Port": 3306, + "ServerName": "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", + "Status": "active", + "Username": "username" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates an endpoint using the provided settings.", + "id": "create-endpoint-1481746254348", + "title": "Create endpoint" + } + ], + "CreateReplicationInstance": [ + { + "input": { + "AllocatedStorage": 123, + "AutoMinorVersionUpgrade": true, + "AvailabilityZone": "", + "EngineVersion": "", + "KmsKeyId": "", + "MultiAZ": true, + "PreferredMaintenanceWindow": "", + "PubliclyAccessible": true, + "ReplicationInstanceClass": "", + "ReplicationInstanceIdentifier": "", + "ReplicationSubnetGroupIdentifier": "", + "Tags": [ + { + "Key": "string", + "Value": "string" + } + ], + "VpcSecurityGroupIds": [ + + ] + }, + "output": { + "ReplicationInstance": { + "AllocatedStorage": 5, + "AutoMinorVersionUpgrade": true, + "EngineVersion": "1.5.0", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "PendingModifiedValues": { + }, + "PreferredMaintenanceWindow": "sun:06:00-sun:14:00", + "PubliclyAccessible": true, + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationInstanceClass": "dms.t2.micro", + "ReplicationInstanceIdentifier": "test-rep-1", + "ReplicationInstanceStatus": "creating", + "ReplicationSubnetGroup": { + "ReplicationSubnetGroupDescription": "default", + "ReplicationSubnetGroupIdentifier": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1d" + }, + "SubnetIdentifier": "subnet-f6dd91af", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-3605751d", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-c2daefb5", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-85e90cb8", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-6741a603" + } + } + }, + "comments": { + "output": { + } + }, + "description": "Creates the replication instance using the specified parameters.", + "id": "create-replication-instance-1481746705295", + "title": "Create replication instance" + } + ], + "CreateReplicationSubnetGroup": [ + { + "input": { + "ReplicationSubnetGroupDescription": "US West subnet group", + "ReplicationSubnetGroupIdentifier": "us-west-2ab-vpc-215ds366", + "SubnetIds": [ + "subnet-e145356n", + "subnet-58f79200" + ], + "Tags": [ + { + "Key": "Acount", + "Value": "145235" + } + ] + }, + "output": { + "ReplicationSubnetGroup": { + } + }, + "comments": { + "output": { + } + }, + "description": "Creates a replication subnet group given a list of the subnet IDs in a VPC.", + "id": "create-replication-subnet-group-1481747297930", + "title": "Create replication subnet group" + } + ], + "CreateReplicationTask": [ + { + "input": { + "CdcStartTime": "2016-12-14T18:25:43Z", + "MigrationType": "full-load", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationTaskIdentifier": "task1", + "ReplicationTaskSettings": "", + "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "TableMappings": "file://mappingfile.json", + "Tags": [ + { + "Key": "Acount", + "Value": "24352226" + } + ], + "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + }, + "output": { + "ReplicationTask": { + "MigrationType": "full-load", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", + "ReplicationTaskCreationDate": "2016-12-14T18:25:43Z", + "ReplicationTaskIdentifier": "task1", + "ReplicationTaskSettings": "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", + "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "Status": "creating", + "TableMappings": "file://mappingfile.json", + "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a replication task using the specified parameters.", + "id": "create-replication-task-1481747646288", + "title": "Create replication task" + } + ], + "DeleteCertificate": [ + { + "input": { + "CertificateArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUSM457DE6XFJCJQ" + }, + "output": { + "Certificate": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified certificate.", + "id": "delete-certificate-1481751957981", + "title": "Delete Certificate" + } + ], + "DeleteEndpoint": [ + { + "input": { + "EndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM" + }, + "output": { + "Endpoint": { + "EndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", + "EndpointIdentifier": "test-endpoint-1", + "EndpointType": "source", + "EngineName": "mysql", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "Port": 3306, + "ServerName": "mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com", + "Status": "active", + "Username": "username" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified endpoint. All tasks associated with the endpoint must be deleted before you can delete the endpoint.\n", + "id": "delete-endpoint-1481752425530", + "title": "Delete Endpoint" + } + ], + "DeleteReplicationInstance": [ + { + "input": { + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ" + }, + "output": { + "ReplicationInstance": { + "AllocatedStorage": 5, + "AutoMinorVersionUpgrade": true, + "EngineVersion": "1.5.0", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "PendingModifiedValues": { + }, + "PreferredMaintenanceWindow": "sun:06:00-sun:14:00", + "PubliclyAccessible": true, + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationInstanceClass": "dms.t2.micro", + "ReplicationInstanceIdentifier": "test-rep-1", + "ReplicationInstanceStatus": "creating", + "ReplicationSubnetGroup": { + "ReplicationSubnetGroupDescription": "default", + "ReplicationSubnetGroupIdentifier": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1d" + }, + "SubnetIdentifier": "subnet-f6dd91af", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-3605751d", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-c2daefb5", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-85e90cb8", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-6741a603" + } + } + }, + "comments": { + "output": { + } + }, + "description": "Deletes the specified replication instance. You must delete any migration tasks that are associated with the replication instance before you can delete it.\n\n", + "id": "delete-replication-instance-1481752552839", + "title": "Delete Replication Instance" + } + ], + "DeleteReplicationSubnetGroup": [ + { + "input": { + "ReplicationSubnetGroupIdentifier": "us-west-2ab-vpc-215ds366" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes a replication subnet group.", + "id": "delete-replication-subnet-group-1481752728597", + "title": "Delete Replication Subnet Group" + } + ], + "DeleteReplicationTask": [ + { + "input": { + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ" + }, + "output": { + "ReplicationTask": { + "MigrationType": "full-load", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", + "ReplicationTaskCreationDate": "2016-12-14T18:25:43Z", + "ReplicationTaskIdentifier": "task1", + "ReplicationTaskSettings": "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", + "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "Status": "creating", + "TableMappings": "file://mappingfile.json", + "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified replication task.", + "id": "delete-replication-task-1481752903506", + "title": "Delete Replication Task" + } + ], + "DescribeAccountAttributes": [ + { + "input": { + }, + "output": { + "AccountQuotas": [ + { + "AccountQuotaName": "ReplicationInstances", + "Max": 20, + "Used": 0 + }, + { + "AccountQuotaName": "AllocatedStorage", + "Max": 20, + "Used": 0 + }, + { + "AccountQuotaName": "Endpoints", + "Max": 20, + "Used": 0 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all of the AWS DMS attributes for a customer account. The attributes include AWS DMS quotas for the account, such as the number of replication instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. This operation does not take any parameters.", + "id": "describe-acount-attributes-1481753085663", + "title": "Describe acount attributes" + } + ], + "DescribeCertificates": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Certificates": [ + + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Provides a description of the certificate.", + "id": "describe-certificates-1481753186244", + "title": "Describe certificates" + } + ], + "DescribeConnections": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Connections": [ + { + "EndpointArn": "arn:aws:dms:us-east-arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "EndpointIdentifier": "testsrc1", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationInstanceIdentifier": "test", + "Status": "successful" + } + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.", + "id": "describe-connections-1481754477953", + "title": "Describe connections" + } + ], + "DescribeEndpointTypes": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "SupportedEndpointTypes": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the type of endpoints available.", + "id": "describe-endpoint-types-1481754742591", + "title": "Describe endpoint types" + } + ], + "DescribeEndpoints": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Endpoints": [ + + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the endpoints for your account in the current region.", + "id": "describe-endpoints-1481754926060", + "title": "Describe endpoints" + } + ], + "DescribeOrderableReplicationInstances": [ + { + "input": { + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "OrderableReplicationInstances": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the replication instance types that can be created in the specified region.", + "id": "describe-orderable-replication-instances-1481755123669", + "title": "Describe orderable replication instances" + } + ], + "DescribeRefreshSchemasStatus": [ + { + "input": { + "EndpointArn": "" + }, + "output": { + "RefreshSchemasStatus": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the status of the refresh-schemas operation.", + "id": "describe-refresh-schema-status-1481755303497", + "title": "Describe refresh schema status" + } + ], + "DescribeReplicationInstances": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "ReplicationInstances": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the status of the refresh-schemas operation.", + "id": "describe-replication-instances-1481755443952", + "title": "Describe replication instances" + } + ], + "DescribeReplicationSubnetGroups": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "ReplicationSubnetGroups": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the replication subnet groups.", + "id": "describe-replication-subnet-groups-1481755621284", + "title": "Describe replication subnet groups" + } + ], + "DescribeReplicationTasks": [ + { + "input": { + "Filters": [ + { + "Name": "string", + "Values": [ + "string", + "string" + ] + } + ], + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "ReplicationTasks": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about replication tasks for your account in the current region.", + "id": "describe-replication-tasks-1481755777563", + "title": "Describe replication tasks" + } + ], + "DescribeSchemas": [ + { + "input": { + "EndpointArn": "", + "Marker": "", + "MaxRecords": 123 + }, + "output": { + "Marker": "", + "Schemas": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the schema for the specified endpoint.", + "id": "describe-schemas-1481755933924", + "title": "Describe schemas" + } + ], + "DescribeTableStatistics": [ + { + "input": { + "Marker": "", + "MaxRecords": 123, + "ReplicationTaskArn": "" + }, + "output": { + "Marker": "", + "ReplicationTaskArn": "", + "TableStatistics": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.", + "id": "describe-table-statistics-1481756071890", + "title": "Describe table statistics" + } + ], + "ImportCertificate": [ + { + "input": { + "CertificateIdentifier": "", + "CertificatePem": "" + }, + "output": { + "Certificate": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Uploads the specified certificate.", + "id": "import-certificate-1481756197206", + "title": "Import certificate" + } + ], + "ListTagsForResource": [ + { + "input": { + "ResourceArn": "" + }, + "output": { + "TagList": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all tags for an AWS DMS resource.", + "id": "list-tags-for-resource-1481761095501", + "title": "List tags for resource" + } + ], + "ModifyEndpoint": [ + { + "input": { + "CertificateArn": "", + "DatabaseName": "", + "EndpointArn": "", + "EndpointIdentifier": "", + "EndpointType": "source", + "EngineName": "", + "ExtraConnectionAttributes": "", + "Password": "", + "Port": 123, + "ServerName": "", + "SslMode": "require", + "Username": "" + }, + "output": { + "Endpoint": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Modifies the specified endpoint.", + "id": "modify-endpoint-1481761649937", + "title": "Modify endpoint" + } + ], + "ModifyReplicationInstance": [ + { + "input": { + "AllocatedStorage": 123, + "AllowMajorVersionUpgrade": true, + "ApplyImmediately": true, + "AutoMinorVersionUpgrade": true, + "EngineVersion": "1.5.0", + "MultiAZ": true, + "PreferredMaintenanceWindow": "sun:06:00-sun:14:00", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationInstanceClass": "dms.t2.micro", + "ReplicationInstanceIdentifier": "test-rep-1", + "VpcSecurityGroupIds": [ + + ] + }, + "output": { + "ReplicationInstance": { + "AllocatedStorage": 5, + "AutoMinorVersionUpgrade": true, + "EngineVersion": "1.5.0", + "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd", + "PendingModifiedValues": { + }, + "PreferredMaintenanceWindow": "sun:06:00-sun:14:00", + "PubliclyAccessible": true, + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationInstanceClass": "dms.t2.micro", + "ReplicationInstanceIdentifier": "test-rep-1", + "ReplicationInstanceStatus": "available", + "ReplicationSubnetGroup": { + "ReplicationSubnetGroupDescription": "default", + "ReplicationSubnetGroupIdentifier": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1d" + }, + "SubnetIdentifier": "subnet-f6dd91af", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-3605751d", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-c2daefb5", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-85e90cb8", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-6741a603" + } + } + }, + "comments": { + "output": { + } + }, + "description": "Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request. Some settings are applied during the maintenance window.", + "id": "modify-replication-instance-1481761784746", + "title": "Modify replication instance" + } + ], + "ModifyReplicationSubnetGroup": [ + { + "input": { + "ReplicationSubnetGroupDescription": "", + "ReplicationSubnetGroupIdentifier": "", + "SubnetIds": [ + + ] + }, + "output": { + "ReplicationSubnetGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Modifies the settings for the specified replication subnet group.", + "id": "modify-replication-subnet-group-1481762275392", + "title": "Modify replication subnet group" + } + ], + "RefreshSchemas": [ + { + "input": { + "EndpointArn": "", + "ReplicationInstanceArn": "" + }, + "output": { + "RefreshSchemasStatus": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the describe-refresh-schemas-status operation.", + "id": "refresh-schema-1481762399111", + "title": "Refresh schema" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E", + "TagKeys": [ + + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Removes metadata tags from an AWS DMS resource.", + "id": "remove-tags-from-resource-1481762571330", + "title": "Remove tags from resource" + } + ], + "StartReplicationTask": [ + { + "input": { + "CdcStartTime": "2016-12-14T13:33:20Z", + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "StartReplicationTaskType": "start-replication" + }, + "output": { + "ReplicationTask": { + "MigrationType": "full-load", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", + "ReplicationTaskCreationDate": "2016-12-14T18:25:43Z", + "ReplicationTaskIdentifier": "task1", + "ReplicationTaskSettings": "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", + "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "Status": "creating", + "TableMappings": "file://mappingfile.json", + "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Starts the replication task.", + "id": "start-replication-task-1481762706778", + "title": "Start replication task" + } + ], + "StopReplicationTask": [ + { + "input": { + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + }, + "output": { + "ReplicationTask": { + "MigrationType": "full-load", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ", + "ReplicationTaskArn": "arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM", + "ReplicationTaskCreationDate": "2016-12-14T18:25:43Z", + "ReplicationTaskIdentifier": "task1", + "ReplicationTaskSettings": "{\"TargetMetadata\":{\"TargetSchema\":\"\",\"SupportLobs\":true,\"FullLobMode\":true,\"LobChunkSize\":64,\"LimitedSizeLobMode\":false,\"LobMaxSize\":0},\"FullLoadSettings\":{\"FullLoadEnabled\":true,\"ApplyChangesEnabled\":false,\"TargetTablePrepMode\":\"DROP_AND_CREATE\",\"CreatePkAfterFullLoad\":false,\"StopTaskCachedChangesApplied\":false,\"StopTaskCachedChangesNotApplied\":false,\"ResumeEnabled\":false,\"ResumeMinTableSize\":100000,\"ResumeOnlyClusteredPKTables\":true,\"MaxFullLoadSubTasks\":8,\"TransactionConsistencyTimeout\":600,\"CommitRate\":10000},\"Logging\":{\"EnableLogging\":false}}", + "SourceEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE", + "Status": "creating", + "TableMappings": "file://mappingfile.json", + "TargetEndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Stops the replication task.", + "id": "stop-replication-task-1481762924947", + "title": "Stop replication task" + } + ], + "TestConnection": [ + { + "input": { + "EndpointArn": "arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", + "ReplicationInstanceArn": "arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ" + }, + "output": { + "Connection": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Tests the connection between the replication instance and the endpoint.", + "id": "test-conection-1481763017636", + "title": "Test conection" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/dms/2016-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/dms/2016-01-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,82 @@ +{ + "pagination": { + "DescribeSchemas": { + "result_key": "Schemas", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeCertificates": { + "result_key": "Certificates", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeEndpoints": { + "result_key": "Endpoints", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeEventSubscriptions": { + "result_key": "EventSubscriptionsList", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeEndpointTypes": { + "result_key": "SupportedEndpointTypes", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeReplicationInstances": { + "result_key": "ReplicationInstances", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeTableStatistics": { + "result_key": "TableStatistics", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeConnections": { + "result_key": "Connections", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeReplicationTaskAssessmentResults": { + "result_key": "ReplicationTaskAssessmentResults", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeEvents": { + "result_key": "Events", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeOrderableReplicationInstances": { + "result_key": "OrderableReplicationInstances", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeReplicationSubnetGroups": { + "result_key": "ReplicationSubnetGroups", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + }, + "DescribeReplicationTasks": { + "result_key": "ReplicationTasks", + "output_token": "Marker", + "input_token": "Marker", + "limit_key": "MaxRecords" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/dms/2016-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/dms/2016-01-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Database Migration Service", + "serviceId":"Database Migration Service", "signatureVersion":"v4", - "targetPrefix":"AmazonDMSv20160101" + "targetPrefix":"AmazonDMSv20160101", + "uid":"dms-2016-01-01" }, "operations":{ "AddTagsToResource":{ @@ -21,7 +23,20 @@ "errors":[ {"shape":"ResourceNotFoundFault"} ], - "documentation":"

Adds metadata tags to a DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

" + "documentation":"

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS.

" + }, + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, + "output":{"shape":"ApplyPendingMaintenanceActionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Applies a pending maintenance action to a resource (for example, to a replication instance).

" }, "CreateEndpoint":{ "name":"CreateEndpoint", @@ -36,10 +51,33 @@ {"shape":"ResourceAlreadyExistsFault"}, {"shape":"ResourceQuotaExceededFault"}, {"shape":"InvalidResourceStateFault"}, - {"shape":"ResourceNotFoundFault"} + {"shape":"ResourceNotFoundFault"}, + {"shape":"AccessDeniedFault"} ], "documentation":"

Creates an endpoint using the provided settings.

" }, + "CreateEventSubscription":{ + "name":"CreateEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventSubscriptionMessage"}, + "output":{"shape":"CreateEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"ResourceAlreadyExistsFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"KMSAccessDeniedFault"}, + {"shape":"KMSDisabledFault"}, + {"shape":"KMSInvalidStateFault"}, + {"shape":"KMSNotFoundFault"}, + {"shape":"KMSThrottlingFault"} + ], + "documentation":"

Creates an AWS DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of AWS DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your AWS DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all AWS DMS sources belonging to your customer account.

For more information about AWS DMS events, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + }, "CreateReplicationInstance":{ "name":"CreateReplicationInstance", "http":{ @@ -60,7 +98,7 @@ {"shape":"InvalidSubnet"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

Creates the replication instance using the specified parameters.

" + "documentation":"

Creates the replication instance using the specified parameters.

AWS DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the AWS CLI and AWS DMS API. For information on the required permissions, see IAM Permissions Needed to Use AWS DMS.

" }, "CreateReplicationSubnetGroup":{ "name":"CreateReplicationSubnetGroup", @@ -89,6 +127,7 @@ "input":{"shape":"CreateReplicationTaskMessage"}, "output":{"shape":"CreateReplicationTaskResponse"}, "errors":[ + {"shape":"AccessDeniedFault"}, {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceAlreadyExistsFault"}, {"shape":"ResourceNotFoundFault"}, @@ -111,6 +150,21 @@ ], "documentation":"

Deletes the specified certificate.

" }, + "DeleteConnection":{ + "name":"DeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConnectionMessage"}, + "output":{"shape":"DeleteConnectionResponse"}, + "errors":[ + {"shape":"AccessDeniedFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Deletes the connection between a replication instance and an endpoint.

" + }, "DeleteEndpoint":{ "name":"DeleteEndpoint", "http":{ @@ -125,6 +179,20 @@ ], "documentation":"

Deletes the specified endpoint.

All tasks associated with the endpoint must be deleted before you can delete the endpoint.

" }, + "DeleteEventSubscription":{ + "name":"DeleteEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventSubscriptionMessage"}, + "output":{"shape":"DeleteEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Deletes an AWS DMS event subscription.

" + }, "DeleteReplicationInstance":{ "name":"DeleteReplicationInstance", "http":{ @@ -175,7 +243,7 @@ }, "input":{"shape":"DescribeAccountAttributesMessage"}, "output":{"shape":"DescribeAccountAttributesResponse"}, - "documentation":"

Lists all of the AWS DMS attributes for a customer account. The attributes include AWS DMS quotas for the account, such as the number of replication instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

This command does not take any parameters.

" + "documentation":"

Lists all of the AWS DMS attributes for a customer account. These attributes include AWS DMS quotas for the account and a unique account identifier in a particular DMS region. DMS quotas include a list of resource quotas supported by the account, such as the number of replication instances allowed. The description for each resource quota, includes the quota name, current usage toward that quota, and the quota's maximum value. DMS uses the unique account identifier to name each artifact used by DMS in the given region.

This command does not take any parameters.

" }, "DescribeCertificates":{ "name":"DescribeCertificates", @@ -226,6 +294,39 @@ ], "documentation":"

Returns information about the endpoints for your account in the current region.

" }, + "DescribeEventCategories":{ + "name":"DescribeEventCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventCategoriesMessage"}, + "output":{"shape":"DescribeEventCategoriesResponse"}, + "documentation":"

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + }, + "DescribeEventSubscriptions":{ + "name":"DescribeEventSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventSubscriptionsMessage"}, + "output":{"shape":"DescribeEventSubscriptionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify SubscriptionName, this action lists the description for that subscription.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsMessage"}, + "output":{"shape":"DescribeEventsResponse"}, + "documentation":"

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on AWS DMS events, see Working with Events and Notifications in the AWS Database Migration User Guide.

" + }, "DescribeOrderableReplicationInstances":{ "name":"DescribeOrderableReplicationInstances", "http":{ @@ -236,6 +337,19 @@ "output":{"shape":"DescribeOrderableReplicationInstancesResponse"}, "documentation":"

Returns information about the replication instance types that can be created in the specified region.

" }, + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, + "output":{"shape":"DescribePendingMaintenanceActionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

For internal use only

" + }, "DescribeRefreshSchemasStatus":{ "name":"DescribeRefreshSchemasStatus", "http":{ @@ -250,6 +364,20 @@ ], "documentation":"

Returns the status of the RefreshSchemas operation.

" }, + "DescribeReplicationInstanceTaskLogs":{ + "name":"DescribeReplicationInstanceTaskLogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReplicationInstanceTaskLogsMessage"}, + "output":{"shape":"DescribeReplicationInstanceTaskLogsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Returns information about the task logs for the specified task.

" + }, "DescribeReplicationInstances":{ "name":"DescribeReplicationInstances", "http":{ @@ -276,6 +404,19 @@ ], "documentation":"

Returns information about the replication subnet groups.

" }, + "DescribeReplicationTaskAssessmentResults":{ + "name":"DescribeReplicationTaskAssessmentResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReplicationTaskAssessmentResultsMessage"}, + "output":{"shape":"DescribeReplicationTaskAssessmentResultsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Returns the task assessment results from Amazon S3. This action always returns the latest results.

" + }, "DescribeReplicationTasks":{ "name":"DescribeReplicationTasks", "http":{ @@ -315,7 +456,7 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidResourceStateFault"} ], - "documentation":"

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

" + "documentation":"

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

Note that the \"last updated\" column the DMS console only indicates the time that AWS DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table.

" }, "ImportCertificate":{ "name":"ImportCertificate", @@ -327,7 +468,8 @@ "output":{"shape":"ImportCertificateResponse"}, "errors":[ {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"InvalidCertificateFault"} + {"shape":"InvalidCertificateFault"}, + {"shape":"ResourceQuotaExceededFault"} ], "documentation":"

Uploads the specified certificate.

" }, @@ -356,10 +498,32 @@ {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceNotFoundFault"}, {"shape":"ResourceAlreadyExistsFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"AccessDeniedFault"} ], "documentation":"

Modifies the specified endpoint.

" }, + "ModifyEventSubscription":{ + "name":"ModifyEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEventSubscriptionMessage"}, + "output":{"shape":"ModifyEventSubscriptionResponse"}, + "errors":[ + {"shape":"ResourceQuotaExceededFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"KMSAccessDeniedFault"}, + {"shape":"KMSDisabledFault"}, + {"shape":"KMSInvalidStateFault"}, + {"shape":"KMSNotFoundFault"}, + {"shape":"KMSThrottlingFault"} + ], + "documentation":"

Modifies an existing AWS DMS event notification subscription.

" + }, "ModifyReplicationInstance":{ "name":"ModifyReplicationInstance", "http":{ @@ -369,6 +533,7 @@ "input":{"shape":"ModifyReplicationInstanceMessage"}, "output":{"shape":"ModifyReplicationInstanceResponse"}, "errors":[ + {"shape":"AccessDeniedFault"}, {"shape":"InvalidResourceStateFault"}, {"shape":"ResourceAlreadyExistsFault"}, {"shape":"ResourceNotFoundFault"}, @@ -396,6 +561,36 @@ ], "documentation":"

Modifies the settings for the specified replication subnet group.

" }, + "ModifyReplicationTask":{ + "name":"ModifyReplicationTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyReplicationTaskMessage"}, + "output":{"shape":"ModifyReplicationTaskResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"ResourceAlreadyExistsFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" + }, + "RebootReplicationInstance":{ + "name":"RebootReplicationInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootReplicationInstanceMessage"}, + "output":{"shape":"RebootReplicationInstanceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

" + }, "RefreshSchemas":{ "name":"RefreshSchemas", "http":{ @@ -412,6 +607,20 @@ ], "documentation":"

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation.

" }, + "ReloadTables":{ + "name":"ReloadTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReloadTablesMessage"}, + "output":{"shape":"ReloadTablesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidResourceStateFault"} + ], + "documentation":"

Reloads the target database table with the source data.

" + }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", "http":{ @@ -435,9 +644,24 @@ "output":{"shape":"StartReplicationTaskResponse"}, "errors":[ {"shape":"ResourceNotFoundFault"}, - {"shape":"InvalidResourceStateFault"} + {"shape":"InvalidResourceStateFault"}, + {"shape":"AccessDeniedFault"} + ], + "documentation":"

Starts the replication task.

For more information about AWS DMS tasks, see Working with Migration Tasks in the AWS Database Migration Service User Guide.

" + }, + "StartReplicationTaskAssessment":{ + "name":"StartReplicationTaskAssessment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartReplicationTaskAssessmentMessage"}, + "output":{"shape":"StartReplicationTaskAssessmentResponse"}, + "errors":[ + {"shape":"InvalidResourceStateFault"}, + {"shape":"ResourceNotFoundFault"} ], - "documentation":"

Starts the replication task.

" + "documentation":"

Starts the replication task assessment for unsupported data types in the source database.

" }, "StopReplicationTask":{ "name":"StopReplicationTask", @@ -479,7 +703,7 @@ "documentation":"

" } }, - "documentation":"

AWS DMS was denied access to the endpoint.

", + "documentation":"

AWS DMS was denied access to the endpoint. Check that the role is correctly configured.

", "exception":true }, "AccountQuota":{ @@ -502,10 +726,7 @@ }, "AccountQuotaList":{ "type":"list", - "member":{ - "shape":"AccountQuota", - "locationName":"AccountQuota" - } + "member":{"shape":"AccountQuota"} }, "AddTagsToResourceMessage":{ "type":"structure", @@ -516,14 +737,14 @@ "members":{ "ResourceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the AWS DMS resource the tag is to be added to. AWS DMS resources include a replication instance, endpoint, and a replication task.

" + "documentation":"

Identifies the AWS DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN).

For AWS DMS, you can tag a replication instance, an endpoint, or a replication task.

" }, "Tags":{ "shape":"TagList", - "documentation":"

The tag to be assigned to the DMS resource.

" + "documentation":"

One or more tags to be assigned to the resource.

" } }, - "documentation":"

" + "documentation":"

Associates a set of tags with an AWS DMS resource.

" }, "AddTagsToResourceResponse":{ "type":"structure", @@ -531,15 +752,67 @@ }, "documentation":"

" }, + "ApplyPendingMaintenanceActionMessage":{ + "type":"structure", + "required":[ + "ReplicationInstanceArn", + "ApplyAction", + "OptInType" + ], + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS DMS resource that the pending maintenance action applies to.

" + }, + "ApplyAction":{ + "shape":"String", + "documentation":"

The pending maintenance action to apply to this resource.

" + }, + "OptInType":{ + "shape":"String", + "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. You can't undo an opt-in request of type immediate.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" + } + }, + "documentation":"

" + }, + "ApplyPendingMaintenanceActionResponse":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{ + "shape":"ResourcePendingMaintenanceActions", + "documentation":"

The AWS DMS resource that the pending maintenance action will be applied to.

" + } + }, + "documentation":"

" + }, + "AuthMechanismValue":{ + "type":"string", + "enum":[ + "default", + "mongodb_cr", + "scram_sha_1" + ] + }, + "AuthTypeValue":{ + "type":"string", + "enum":[ + "no", + "password" + ] + }, "AvailabilityZone":{ "type":"structure", "members":{ "Name":{ "shape":"String", - "documentation":"

The name of the availability zone.

" + "documentation":"

The name of the Availability Zone.

" } }, - "documentation":"

" + "documentation":"

The name of the Availability Zone for use during database migration.

" + }, + "AvailabilityZonesList":{ + "type":"list", + "member":{"shape":"String"} }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, @@ -548,15 +821,19 @@ "members":{ "CertificateIdentifier":{ "shape":"String", - "documentation":"

The customer-assigned name of the certificate. Valid characters are [A-z_0-9].

" + "documentation":"

A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "CertificateCreationDate":{ "shape":"TStamp", - "documentation":"

the date the certificate was created.

" + "documentation":"

The date that the certificate was created.

" }, "CertificatePem":{ "shape":"String", - "documentation":"

The contents of the .pem X.509 certificate file.

" + "documentation":"

The contents of a .pem file, which contains an X.509 certificate.

" + }, + "CertificateWallet":{ + "shape":"CertificateWallet", + "documentation":"

The location of an imported Oracle Wallet certificate for use with SSL.

" }, "CertificateArn":{ "shape":"String", @@ -568,11 +845,11 @@ }, "ValidFromDate":{ "shape":"TStamp", - "documentation":"

The beginning date the certificate is valid.

" + "documentation":"

The beginning date that the certificate is valid.

" }, "ValidToDate":{ "shape":"TStamp", - "documentation":"

the final date the certificate is valid.

" + "documentation":"

The final date that the certificate is valid.

" }, "SigningAlgorithm":{ "shape":"String", @@ -587,21 +864,26 @@ }, "CertificateList":{ "type":"list", - "member":{ - "shape":"Certificate", - "locationName":"Certificate" - } + "member":{"shape":"Certificate"} + }, + "CertificateWallet":{"type":"blob"}, + "CompressionTypeValue":{ + "type":"string", + "enum":[ + "none", + "gzip" + ] }, "Connection":{ "type":"structure", "members":{ "ReplicationInstanceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + "documentation":"

The ARN of the replication instance.

" }, "EndpointArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" + "documentation":"

The ARN string that uniquely identifies the endpoint.

" }, "Status":{ "shape":"String", @@ -613,53 +895,46 @@ }, "EndpointIdentifier":{ "shape":"String", - "documentation":"

The identifier of the endpoint. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The identifier of the endpoint. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "ReplicationInstanceIdentifier":{ "shape":"String", "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

" } }, - "documentation":"

" + "documentation":"

Status of the connection between an endpoint and a replication instance, including Amazon Resource Names (ARNs) and the last error message issued.

" }, "ConnectionList":{ "type":"list", - "member":{ - "shape":"Connection", - "locationName":"Connection" - } + "member":{"shape":"Connection"} }, "CreateEndpointMessage":{ "type":"structure", "required":[ "EndpointIdentifier", "EndpointType", - "EngineName", - "Username", - "Password", - "ServerName", - "Port" + "EngineName" ], "members":{ "EndpointIdentifier":{ "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "EndpointType":{ "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" + "documentation":"

The type of endpoint. Valid values are source and target.

" }, "EngineName":{ "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, and SQLSERVER.

" + "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".

" }, "Username":{ "shape":"String", - "documentation":"

The user name to be used to login to the endpoint database.

" + "documentation":"

The user name to be used to log in to the endpoint database.

" }, "Password":{ "shape":"SecretString", - "documentation":"

The password to be used to login to the endpoint database.

" + "documentation":"

The password to be used to log in to the endpoint database.

" }, "ServerName":{ "shape":"String", @@ -675,24 +950,65 @@ }, "ExtraConnectionAttributes":{ "shape":"String", - "documentation":"

Additional attributes associated with the connection.

" + "documentation":"

Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see Working with AWS DMS Endpoints in the AWS Database Migration Service User Guide.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" + "documentation":"

An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "Tags":{ "shape":"TagList", - "documentation":"

Tags to be added to the endpoint.

" + "documentation":"

One or more tags to be assigned to the endpoint.

" }, "CertificateArn":{ "shape":"String", - "documentation":"

The Amazon Resource Number (ARN) for the certificate.

" + "documentation":"

The Amazon Resource Name (ARN) for the certificate.

" }, "SslMode":{ "shape":"DmsSslModeValue", - "documentation":"

The SSL mode to use for the SSL connection.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" - } + "documentation":"

The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint.

" + }, + "ExternalTableDefinition":{ + "shape":"String", + "documentation":"

The external table definition.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" + }, + "DmsTransferSettings":{ + "shape":"DmsTransferSettings", + "documentation":"

The settings in JSON format for the DMS transfer type of source endpoint.

Possible settings include the following:

  • ServiceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • BucketName - The name of the S3 bucket to use.

  • CompressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.

Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" + }, + "KinesisSettings":{ + "shape":"KinesisSettings", + "documentation":"

Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

" + }, + "KafkaSettings":{ + "shape":"KafkaSettings", + "documentation":"

Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

" + }, + "ElasticsearchSettings":{ + "shape":"ElasticsearchSettings", + "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" + }, + "NeptuneSettings":{ + "shape":"NeptuneSettings", + "documentation":"

Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings in the AWS Database Migration Service User Guide.

" + }, + "RedshiftSettings":{"shape":"RedshiftSettings"} }, "documentation":"

" }, @@ -706,6 +1022,54 @@ }, "documentation":"

" }, + "CreateEventSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SnsTopicArn" + ], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the AWS DMS event notification subscription. This name must be less than 255 characters.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value isn't specified, all events are returned.

Valid values: replication-instance | replication-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a source type that you want to subscribe to. For more information, see Working with Events and Notifications in the AWS Database Migration Service User Guide.

" + }, + "SourceIds":{ + "shape":"SourceIdsList", + "documentation":"

A list of identifiers for which AWS DMS provides notification events.

If you don't specify a value, notifications are provided for all sources.

If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags to be assigned to the event subscription.

" + } + }, + "documentation":"

" + }, + "CreateEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The event subscription that was created.

" + } + }, + "documentation":"

" + }, "CreateReplicationInstanceMessage":{ "type":"structure", "required":[ @@ -715,7 +1079,7 @@ "members":{ "ReplicationInstanceIdentifier":{ "shape":"String", - "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance

" + "documentation":"

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance

" }, "AllocatedStorage":{ "shape":"IntegerOptional", @@ -731,7 +1095,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The EC2 Availability Zone that the replication instance will be created in.

Default: A random, system-chosen Availability Zone in the endpoint's region.

Example: us-east-1d

" + "documentation":"

The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's AWS Region, for example: us-east-1d

" }, "ReplicationSubnetGroupIdentifier":{ "shape":"String", @@ -739,11 +1103,11 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" + "documentation":"

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" }, "EngineVersion":{ "shape":"String", @@ -751,19 +1115,23 @@ }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window.

Default: true

" + "documentation":"

A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true.

Default: true

" }, "Tags":{ "shape":"TagList", - "documentation":"

Tags to be associated with the replication instance.

" + "documentation":"

One or more tags to be assigned to the replication instance.

" }, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the content on the replication instance. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" + "documentation":"

An AWS KMS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "PubliclyAccessible":{ "shape":"BooleanOptional", "documentation":"

Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

" + }, + "DnsNameServers":{ + "shape":"String", + "documentation":"

A list of DNS name servers supported for the replication instance.

" } }, "documentation":"

" @@ -796,11 +1164,11 @@ }, "SubnetIds":{ "shape":"SubnetIdentifierList", - "documentation":"

The EC2 subnet IDs for the subnet group.

" + "documentation":"

One or more subnet IDs to be assigned to the subnet group.

" }, "Tags":{ "shape":"TagList", - "documentation":"

The tag to be assigned to the subnet group.

" + "documentation":"

One or more tags to be assigned to the subnet group.

" } }, "documentation":"

" @@ -828,39 +1196,51 @@ "members":{ "ReplicationTaskIdentifier":{ "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

An identifier for the replication task.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "SourceEndpointArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

" }, "TargetEndpointArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" + "documentation":"

An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

" }, "ReplicationInstanceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + "documentation":"

The Amazon Resource Name (ARN) of a replication instance.

" }, "MigrationType":{ "shape":"MigrationTypeValue", - "documentation":"

The migration type.

" + "documentation":"

The migration type. Valid values: full-load | cdc | full-load-and-cdc

" }, "TableMappings":{ "shape":"String", - "documentation":"

The path of the JSON file that contains the table mappings. Preceed the path with \"file://\".

For example, --table-mappings file://mappingfile.json

" + "documentation":"

The table mappings for the task, in JSON format. For more information, see Using Table Mapping to Specify Task Settings in the AWS Database Migration User Guide.

" }, "ReplicationTaskSettings":{ "shape":"String", - "documentation":"

Settings for the task, such as target metadata settings.

" + "documentation":"

Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for AWS Database Migration Service Tasks in the AWS Database Migration User Guide.

" }, "CdcStartTime":{ "shape":"TStamp", - "documentation":"

The start time for the Change Data Capture (CDC) operation.

" + "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" + }, + "CdcStartPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

" + }, + "CdcStopPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" }, "Tags":{ "shape":"TagList", - "documentation":"

Tags to be added to the replication instance.

" + "documentation":"

One or more tags to be assigned to the replication task.

" + }, + "TaskData":{ + "shape":"String", + "documentation":"

Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration User Guide.

" } }, "documentation":"

" @@ -875,13 +1255,20 @@ }, "documentation":"

" }, + "DataFormatValue":{ + "type":"string", + "enum":[ + "csv", + "parquet" + ] + }, "DeleteCertificateMessage":{ "type":"structure", "required":["CertificateArn"], "members":{ "CertificateArn":{ "shape":"String", - "documentation":"

the Amazon Resource Name (ARN) of the deleted certificate.

" + "documentation":"

The Amazon Resource Name (ARN) of the deleted certificate.

" } } }, @@ -890,28 +1277,77 @@ "members":{ "Certificate":{ "shape":"Certificate", - "documentation":"

The SSL certificate.

" + "documentation":"

The Secure Sockets Layer (SSL) certificate.

" } } }, - "DeleteEndpointMessage":{ + "DeleteConnectionMessage":{ "type":"structure", - "required":["EndpointArn"], + "required":[ + "EndpointArn", + "ReplicationInstanceArn" + ], "members":{ "EndpointArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" + }, + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" } }, "documentation":"

" }, - "DeleteEndpointResponse":{ + "DeleteConnectionResponse":{ "type":"structure", "members":{ - "Endpoint":{ - "shape":"Endpoint", - "documentation":"

The endpoint that was deleted.

" - } + "Connection":{ + "shape":"Connection", + "documentation":"

The connection that is being deleted.

" + } + }, + "documentation":"

" + }, + "DeleteEndpointMessage":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

" + } + }, + "documentation":"

" + }, + "DeleteEndpointResponse":{ + "type":"structure", + "members":{ + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint that was deleted.

" + } + }, + "documentation":"

" + }, + "DeleteEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the DMS event notification subscription to be deleted.

" + } + }, + "documentation":"

" + }, + "DeleteEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The event subscription that was deleted.

" + } }, "documentation":"

" }, @@ -986,6 +1422,10 @@ "AccountQuotas":{ "shape":"AccountQuotaList", "documentation":"

Account quota information.

" + }, + "UniqueAccountIdentifier":{ + "shape":"String", + "documentation":"

A unique AWS DMS identifier for an account in a particular AWS Region. The value of this identifier has the following format: c99999999999. DMS uses this identifier to name artifacts. For example, DMS uses this identifier to name the default Amazon S3 bucket for storing task assessment reports in a given AWS Region. The format of this S3 bucket name is the following: dms-AccountNumber-UniqueAccountIdentifier. Here is an example name for this default S3 bucket: dms-111122223333-c44445555666.

AWS DMS supports the UniqueAccountIdentifier parameter in versions 3.1.4 and later.

" } }, "documentation":"

" @@ -1016,7 +1456,7 @@ }, "Certificates":{ "shape":"CertificateList", - "documentation":"

The SSL certificates associated with the replication instance.

" + "documentation":"

The Secure Sockets Layer (SSL) certificates associated with the replication instance.

" } } }, @@ -1079,7 +1519,7 @@ }, "SupportedEndpointTypes":{ "shape":"SupportedEndpointTypeList", - "documentation":"

The type of endpoints that are supported.

" + "documentation":"

The types of endpoints that are supported.

" } }, "documentation":"

" @@ -1116,6 +1556,122 @@ }, "documentation":"

" }, + "DescribeEventCategoriesMessage":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-task

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + } + }, + "documentation":"

" + }, + "DescribeEventCategoriesResponse":{ + "type":"structure", + "members":{ + "EventCategoryGroupList":{ + "shape":"EventCategoryGroupList", + "documentation":"

A list of event categories.

" + } + }, + "documentation":"

" + }, + "DescribeEventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the AWS DMS event subscription to be described.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, + "DescribeEventSubscriptionsResponse":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "EventSubscriptionsList":{ + "shape":"EventSubscriptionsList", + "documentation":"

A list of event subscriptions.

" + } + }, + "documentation":"

" + }, + "DescribeEventsMessage":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of an event source.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-task

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The start time for the events to be listed.

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end time for the events to be listed.

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The duration of the events to be listed.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for the source type that you've chosen.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the action.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

The events described.

" + } + }, + "documentation":"

" + }, "DescribeOrderableReplicationInstancesMessage":{ "type":"structure", "members":{ @@ -1144,6 +1700,42 @@ }, "documentation":"

" }, + "DescribePendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. 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 pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + } + }, + "documentation":"

" + }, + "DescribePendingMaintenanceActionsResponse":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{ + "shape":"PendingMaintenanceActions", + "documentation":"

The pending maintenance action.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, "DescribeRefreshSchemasStatusMessage":{ "type":"structure", "required":["EndpointArn"], @@ -1165,6 +1757,41 @@ }, "documentation":"

" }, + "DescribeReplicationInstanceTaskLogsMessage":{ + "type":"structure", + "required":["ReplicationInstanceArn"], + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeReplicationInstanceTaskLogsResponse":{ + "type":"structure", + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + }, + "ReplicationInstanceTaskLogs":{ + "shape":"ReplicationInstanceTaskLogsList", + "documentation":"

An array of replication task log metadata. Each member of the array contains the replication task name, ARN, and task log size (in bytes).

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, "DescribeReplicationInstancesMessage":{ "type":"structure", "members":{ @@ -1202,7 +1829,7 @@ "members":{ "Filters":{ "shape":"FilterList", - "documentation":"

Filters applied to the describe action.

" + "documentation":"

Filters applied to the describe action.

Valid filter names: replication-subnet-group-id

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -1229,6 +1856,42 @@ }, "documentation":"

" }, + "DescribeReplicationTaskAssessmentResultsMessage":{ + "type":"structure", + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified, the API returns only one result and ignore the values of the MaxRecords and Marker parameters.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

" + }, + "DescribeReplicationTaskAssessmentResultsResponse":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

- The Amazon S3 bucket where the task assessment report is located.

" + }, + "ReplicationTaskAssessmentResults":{ + "shape":"ReplicationTaskAssessmentResultList", + "documentation":"

The task assessment report.

" + } + }, + "documentation":"

" + }, "DescribeReplicationTasksMessage":{ "type":"structure", "members":{ @@ -1243,6 +1906,10 @@ "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "WithoutSettings":{ + "shape":"BooleanOptional", + "documentation":"

An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).

" } }, "documentation":"

" @@ -1304,11 +1971,15 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 500.

" }, "Marker":{ "shape":"String", "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filters applied to the describe table statistics action.

Valid filter names: schema-name | table-name | table-state

A combination of filters creates an AND condition where each record matches all specified filters.

" } }, "documentation":"

" @@ -1340,20 +2011,90 @@ "verify-full" ] }, + "DmsTransferSettings":{ + "type":"structure", + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The IAM role that has permission to access the Amazon S3 bucket.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket to use.

" + } + }, + "documentation":"

The settings in JSON format for the DMS Transfer type source endpoint.

" + }, + "DynamoDbSettings":{ + "type":"structure", + "required":["ServiceAccessRoleArn"], + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" + } + }, + "documentation":"

Provides the Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role used to define an Amazon DynamoDB target endpoint.

" + }, + "ElasticsearchSettings":{ + "type":"structure", + "required":[ + "ServiceAccessRoleArn", + "EndpointUri" + ], + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by service to access the IAM role.

" + }, + "EndpointUri":{ + "shape":"String", + "documentation":"

The endpoint for the Elasticsearch cluster.

" + }, + "FullLoadErrorPercentage":{ + "shape":"IntegerOptional", + "documentation":"

The maximum percentage of records that can fail to be written before a full load operation stops.

" + }, + "ErrorRetryDuration":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of seconds for which DMS retries failed API requests to the Elasticsearch cluster.

" + } + }, + "documentation":"

Provides information that defines an Elasticsearch endpoint.

" + }, + "EncodingTypeValue":{ + "type":"string", + "enum":[ + "plain", + "plain-dictionary", + "rle-dictionary" + ] + }, + "EncryptionModeValue":{ + "type":"string", + "enum":[ + "sse-s3", + "sse-kms" + ] + }, "Endpoint":{ "type":"structure", "members":{ "EndpointIdentifier":{ "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "EndpointType":{ "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" + "documentation":"

The type of endpoint. Valid values are source and target.

" }, "EngineName":{ "shape":"String", - "documentation":"

The database engine name.

" + "documentation":"

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".

" + }, + "EngineDisplayName":{ + "shape":"String", + "documentation":"

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

" }, "Username":{ "shape":"String", @@ -1381,7 +2122,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier that will be used to encrypt the connection parameters. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" + "documentation":"

An AWS KMS key identifier that is used to encrypt the connection parameters for the endpoint.

If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "EndpointArn":{ "shape":"String", @@ -1393,17 +2134,160 @@ }, "SslMode":{ "shape":"DmsSslModeValue", - "documentation":"

The SSL mode used to connect to the endpoint.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" - } - }, - "documentation":"

" - }, - "EndpointList":{ - "type":"list", - "member":{ - "shape":"Endpoint", - "locationName":"Endpoint" - } + "documentation":"

The SSL mode used to connect to the endpoint. The default value is none.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" + }, + "ExternalTableDefinition":{ + "shape":"String", + "documentation":"

The external table definition.

" + }, + "ExternalId":{ + "shape":"String", + "documentation":"

Value returned by a call to CreateEndpoint that can be used for cross-account validation. Use it on a subsequent call to CreateEndpoint to create the endpoint with a cross-account.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

The settings for the target DynamoDB database. For more information, see the DynamoDBSettings structure.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

The settings for the S3 target endpoint. For more information, see the S3Settings structure.

" + }, + "DmsTransferSettings":{ + "shape":"DmsTransferSettings", + "documentation":"

The settings in JSON format for the DMS transfer type of source endpoint.

Possible settings include the following:

  • ServiceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

  • BucketName - The name of the S3 bucket to use.

  • CompressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.

Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string,CompressionType=string

JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

The settings for the MongoDB source endpoint. For more information, see the MongoDbSettings structure.

" + }, + "KinesisSettings":{ + "shape":"KinesisSettings", + "documentation":"

The settings for the Amazon Kinesis target endpoint. For more information, see the KinesisSettings structure.

" + }, + "KafkaSettings":{ + "shape":"KafkaSettings", + "documentation":"

The settings for the Apache Kafka target endpoint. For more information, see the KafkaSettings structure.

" + }, + "ElasticsearchSettings":{ + "shape":"ElasticsearchSettings", + "documentation":"

The settings for the Elasticsearch source endpoint. For more information, see the ElasticsearchSettings structure.

" + }, + "NeptuneSettings":{ + "shape":"NeptuneSettings", + "documentation":"

The settings for the MongoDB source endpoint. For more information, see the NeptuneSettings structure.

" + }, + "RedshiftSettings":{ + "shape":"RedshiftSettings", + "documentation":"

Settings for the Amazon Redshift endpoint.

" + } + }, + "documentation":"

Describes an endpoint of a database instance in response to operations such as the following:

  • CreateEndpoint

  • DescribeEndpoint

  • DescribeEndpointTypes

  • ModifyEndpoint

" + }, + "EndpointList":{ + "type":"list", + "member":{"shape":"Endpoint"} + }, + "Event":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of an event source.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | endpoint | replication-task

" + }, + "Message":{ + "shape":"String", + "documentation":"

The event message.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

The event categories available for the specified source type.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

The date of the event.

" + } + }, + "documentation":"

Describes an identifiable significant activity that affects a replication instance or task. This object can provide the message, the available event categories, the date and source of the event, and the AWS DMS resource type.

" + }, + "EventCategoriesList":{ + "type":"list", + "member":{"shape":"String"} + }, + "EventCategoryGroup":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-server | security-group | replication-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories from a source type that you've chosen.

" + } + }, + "documentation":"

Lists categories of events subscribed to, and generated by, the applicable AWS DMS resource type.

" + }, + "EventCategoryGroupList":{ + "type":"list", + "member":{"shape":"EventCategoryGroup"} + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "EventSubscription":{ + "type":"structure", + "members":{ + "CustomerAwsId":{ + "shape":"String", + "documentation":"

The AWS customer account associated with the AWS DMS event notification subscription.

" + }, + "CustSubscriptionId":{ + "shape":"String", + "documentation":"

The AWS DMS event notification subscription Id.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The topic ARN of the AWS DMS event notification subscription.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the AWS DMS event notification subscription.

Constraints:

Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

The status \"no-permission\" indicates that AWS DMS no longer has permission to post to the SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" + }, + "SubscriptionCreationTime":{ + "shape":"String", + "documentation":"

The time the RDS event notification subscription was created.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates events.

Valid values: replication-instance | replication-server | security-group | replication-task

" + }, + "SourceIdsList":{ + "shape":"SourceIdsList", + "documentation":"

A list of source Ids for the event subscription.

" + }, + "EventCategoriesList":{ + "shape":"EventCategoriesList", + "documentation":"

A lists of event categories.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Boolean value that indicates if the event subscription is enabled.

" + } + }, + "documentation":"

Describes an event notification subscription created by the CreateEventSubscription operation.

" + }, + "EventSubscriptionsList":{ + "type":"list", + "member":{"shape":"EventSubscription"} }, "ExceptionMessage":{"type":"string"}, "Filter":{ @@ -1422,21 +2306,15 @@ "documentation":"

The filter value.

" } }, - "documentation":"

" + "documentation":"

Identifies the name and value of a source filter object used to limit the number and type of records transferred from your source to your target.

" }, "FilterList":{ "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } + "member":{"shape":"Filter"} }, "FilterValueList":{ "type":"list", - "member":{ - "shape":"String", - "locationName":"Value" - } + "member":{"shape":"String"} }, "ImportCertificateMessage":{ "type":"structure", @@ -1444,11 +2322,19 @@ "members":{ "CertificateIdentifier":{ "shape":"String", - "documentation":"

The customer-assigned name of the certificate. Valid characters are [A-z_0-9].

" + "documentation":"

A customer-assigned name for the certificate. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "CertificatePem":{ "shape":"String", - "documentation":"

The contents of the .pem X.509 certificate file.

" + "documentation":"

The contents of a .pem file, which contains an X.509 certificate.

" + }, + "CertificateWallet":{ + "shape":"CertificateWallet", + "documentation":"

The location of an imported Oracle Wallet certificate for use with SSL.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags associated with the certificate.

" } } }, @@ -1504,6 +2390,30 @@ "documentation":"

The subnet provided is invalid.

", "exception":true }, + "KMSAccessDeniedFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The ciphertext references a key that doesn't exist or that the DMS account doesn't have access to.

", + "exception":true + }, + "KMSDisabledFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified master key (CMK) isn't enabled.

", + "exception":true + }, + "KMSInvalidStateFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The state of the specified AWS KMS resource isn't valid for this request.

", + "exception":true + }, "KMSKeyNotAccessibleFault":{ "type":"structure", "members":{ @@ -1512,13 +2422,81 @@ "documentation":"

" } }, - "documentation":"

AWS DMS cannot access the KMS key.

", + "documentation":"

AWS DMS cannot access the AWS KMS key.

", + "exception":true + }, + "KMSNotFoundFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified AWS KMS entity or resource can't be found.

", + "exception":true + }, + "KMSThrottlingFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This request triggered AWS KMS request throttling.

", "exception":true }, + "KafkaSettings":{ + "type":"structure", + "members":{ + "Broker":{ + "shape":"String", + "documentation":"

The broker location and port of the Kafka broker that hosts your Kafka instance. Specify the broker in the form broker-hostname-or-ip:port . For example, \"ec2-12-345-678-901.compute-1.amazonaws.com:2345\".

" + }, + "Topic":{ + "shape":"String", + "documentation":"

The topic to which you migrate the data. If you don't specify a topic, AWS DMS specifies \"kafka-default-topic\" as the migration topic.

" + } + }, + "documentation":"

Provides information that describes an Apache Kafka endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information.

" + }, "KeyList":{ "type":"list", "member":{"shape":"String"} }, + "KinesisSettings":{ + "type":"structure", + "members":{ + "StreamArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the Amazon Kinesis Data Streams endpoint.

" + }, + "MessageFormat":{ + "shape":"MessageFormatValue", + "documentation":"

The output format for the records created on the endpoint. The message format is JSON (default) or JSON_UNFORMATTED (a single line with no tab).

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role that AWS DMS uses to write to the Kinesis data stream.

" + }, + "IncludeTransactionDetails":{ + "shape":"BooleanOptional", + "documentation":"

Provides detailed transaction information from the source database. This information includes a commit timestamp, a log position, and values for transaction_id, previous transaction_id, and transaction_record_id (the record offset within a transaction). The default is False.

" + }, + "IncludePartitionValue":{ + "shape":"BooleanOptional", + "documentation":"

Shows the partition value within the Kinesis message output, unless the partition type is schema-table-type. The default is False.

" + }, + "PartitionIncludeSchemaTable":{ + "shape":"BooleanOptional", + "documentation":"

Prefixes schema and table names to partition values, when the partition type is primary-key-type. Doing this increases data distribution among Kinesis shards. For example, suppose that a SysBench schema has thousands of tables and each table has only limited range for a primary key. In this case, the same primary key is sent from thousands of tables to the same shard, which causes throttling. The default is False.

" + }, + "IncludeTableAlterOperations":{ + "shape":"BooleanOptional", + "documentation":"

Includes any data definition language (DDL) operations that change the table in the control data, such as rename-table, drop-table, add-column, drop-column, and rename-column. The default is False.

" + }, + "IncludeControlDetails":{ + "shape":"BooleanOptional", + "documentation":"

Shows detailed control information for table definition, column definition, and table and column changes in the Kinesis message output. The default is False.

" + } + }, + "documentation":"

Provides information that describes an Amazon Kinesis Data Stream endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information.

" + }, "ListTagsForResourceMessage":{ "type":"structure", "required":["ResourceArn"], @@ -1541,6 +2519,13 @@ "documentation":"

" }, "Long":{"type":"long"}, + "MessageFormatValue":{ + "type":"string", + "enum":[ + "json", + "json-unformatted" + ] + }, "MigrationTypeValue":{ "type":"string", "enum":[ @@ -1559,15 +2544,15 @@ }, "EndpointIdentifier":{ "shape":"String", - "documentation":"

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The database endpoint identifier. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen or contain two consecutive hyphens.

" }, "EndpointType":{ "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" + "documentation":"

The type of endpoint. Valid values are source and target.

" }, "EngineName":{ "shape":"String", - "documentation":"

The type of engine for the endpoint. Valid values include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, and SQLSERVER.

" + "documentation":"

The type of engine for the endpoint. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".

" }, "Username":{ "shape":"String", @@ -1591,7 +2576,7 @@ }, "ExtraConnectionAttributes":{ "shape":"String", - "documentation":"

Additional attributes associated with the connection.

" + "documentation":"

Additional attributes associated with the connection. To reset this parameter, pass the empty string (\"\") as an argument.

" }, "CertificateArn":{ "shape":"String", @@ -1599,8 +2584,49 @@ }, "SslMode":{ "shape":"DmsSslModeValue", - "documentation":"

The SSL mode to be used.

SSL mode can be one of four values: none, require, verify-ca, verify-full.

The default value is none.

" - } + "documentation":"

The SSL mode used to connect to the endpoint. The default value is none.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the service access role you want to use to modify the endpoint.

" + }, + "ExternalTableDefinition":{ + "shape":"String", + "documentation":"

The external table definition.

" + }, + "DynamoDbSettings":{ + "shape":"DynamoDbSettings", + "documentation":"

Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the AWS Database Migration Service User Guide.

" + }, + "S3Settings":{ + "shape":"S3Settings", + "documentation":"

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for AWS DMS in the AWS Database Migration Service User Guide.

" + }, + "DmsTransferSettings":{ + "shape":"DmsTransferSettings", + "documentation":"

The settings in JSON format for the DMS transfer type of source endpoint.

Attributes include the following:

  • serviceAccessRoleArn - The AWS Identity and Access Management (IAM) role that has permission to access the Amazon S3 bucket.

  • BucketName - The name of the S3 bucket to use.

  • compressionType - An optional parameter to use GZIP to compress the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed.

Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string ,BucketName=string,CompressionType=string

JSON syntax for these settings is as follows: { \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\", \"CompressionType\": \"none\"|\"gzip\" }

" + }, + "MongoDbSettings":{ + "shape":"MongoDbSettings", + "documentation":"

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see the configuration properties section in Using MongoDB as a Target for AWS Database Migration Service in the AWS Database Migration Service User Guide.

" + }, + "KinesisSettings":{ + "shape":"KinesisSettings", + "documentation":"

Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using Amazon Kinesis Data Streams as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

" + }, + "KafkaSettings":{ + "shape":"KafkaSettings", + "documentation":"

Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using Apache Kafka as a Target for AWS Database Migration Service in the AWS Database Migration User Guide.

" + }, + "ElasticsearchSettings":{ + "shape":"ElasticsearchSettings", + "documentation":"

Settings in JSON format for the target Elasticsearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using Elasticsearch as a Target for AWS DMS in the AWS Database Migration User Guide.

" + }, + "NeptuneSettings":{ + "shape":"NeptuneSettings", + "documentation":"

Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings in the AWS Database Migration Service User Guide.

" + }, + "RedshiftSettings":{"shape":"RedshiftSettings"} }, "documentation":"

" }, @@ -1614,6 +2640,43 @@ }, "documentation":"

" }, + "ModifyEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the AWS DMS event notification subscription to be modified.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of AWS DMS resource that generates the events you want to subscribe to.

Valid values: replication-instance | replication-task

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription.

" + } + }, + "documentation":"

" + }, + "ModifyEventSubscriptionResponse":{ + "type":"structure", + "members":{ + "EventSubscription":{ + "shape":"EventSubscription", + "documentation":"

The modified event subscription.

" + } + }, + "documentation":"

" + }, "ModifyReplicationInstanceMessage":{ "type":"structure", "required":["ReplicationInstanceArn"], @@ -1644,7 +2707,7 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" + "documentation":"

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" }, "EngineVersion":{ "shape":"String", @@ -1652,11 +2715,11 @@ }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.

" + "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.

This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

Indicates that minor version upgrades will be applied automatically to the replication instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and AWS DMS has enabled auto patching for that engine version.

" + "documentation":"

A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case dsecribed following. The change is asynchronously applied as soon as possible.

An outage does result if these factors apply:

  • This parameter is set to true during the maintenance window.

  • A newer minor version is available.

  • AWS DMS has enabled automatic patching for the given engine version.

" }, "ReplicationInstanceIdentifier":{ "shape":"String", @@ -1688,7 +2751,7 @@ }, "ReplicationSubnetGroupDescription":{ "shape":"String", - "documentation":"

The description of the replication instance subnet group.

" + "documentation":"

A description for the replication instance subnet group.

" }, "SubnetIds":{ "shape":"SubnetIdentifierList", @@ -1707,6 +2770,158 @@ }, "documentation":"

" }, + "ModifyReplicationTaskMessage":{ + "type":"structure", + "required":["ReplicationTaskArn"], + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + }, + "ReplicationTaskIdentifier":{ + "shape":"String", + "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "MigrationType":{ + "shape":"MigrationTypeValue", + "documentation":"

The migration type. Valid values: full-load | cdc | full-load-and-cdc

" + }, + "TableMappings":{ + "shape":"String", + "documentation":"

When using the AWS CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. When working with the DMS API, provide the JSON as the parameter value, for example: --table-mappings file://mappingfile.json

" + }, + "ReplicationTaskSettings":{ + "shape":"String", + "documentation":"

JSON file that contains settings for the task, such as task metadata settings.

" + }, + "CdcStartTime":{ + "shape":"TStamp", + "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" + }, + "CdcStartPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

" + }, + "CdcStopPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" + }, + "TaskData":{ + "shape":"String", + "documentation":"

Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration User Guide.

" + } + }, + "documentation":"

" + }, + "ModifyReplicationTaskResponse":{ + "type":"structure", + "members":{ + "ReplicationTask":{ + "shape":"ReplicationTask", + "documentation":"

The replication task that was modified.

" + } + }, + "documentation":"

" + }, + "MongoDbSettings":{ + "type":"structure", + "members":{ + "Username":{ + "shape":"String", + "documentation":"

The user name you use to access the MongoDB source endpoint.

" + }, + "Password":{ + "shape":"SecretString", + "documentation":"

The password for the user account you use to access the MongoDB source endpoint.

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the server on the MongoDB source endpoint.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port value for the MongoDB source endpoint.

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

The database name on the MongoDB source endpoint.

" + }, + "AuthType":{ + "shape":"AuthTypeValue", + "documentation":"

The authentication type you use to access the MongoDB source endpoint.

Valid values: NO, PASSWORD

When NO is selected, user name and password parameters are not used and can be empty.

" + }, + "AuthMechanism":{ + "shape":"AuthMechanismValue", + "documentation":"

The authentication mechanism you use to access the MongoDB source endpoint.

Valid values: DEFAULT, MONGODB_CR, SCRAM_SHA_1

DEFAULT – For MongoDB version 2.x, use MONGODB_CR. For MongoDB version 3.x, use SCRAM_SHA_1. This setting isn't used when authType=No.

" + }, + "NestingLevel":{ + "shape":"NestingLevelValue", + "documentation":"

Specifies either document or table mode.

Valid values: NONE, ONE

Default value is NONE. Specify NONE to use document mode. Specify ONE to use table mode.

" + }, + "ExtractDocId":{ + "shape":"String", + "documentation":"

Specifies the document ID. Use this setting when NestingLevel is set to NONE.

Default value is false.

" + }, + "DocsToInvestigate":{ + "shape":"String", + "documentation":"

Indicates the number of documents to preview to determine the document organization. Use this setting when NestingLevel is set to ONE.

Must be a positive value greater than 0. Default value is 1000.

" + }, + "AuthSource":{ + "shape":"String", + "documentation":"

The MongoDB database name. This setting isn't used when authType=NO.

The default is admin.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier that is used to encrypt the content on the replication instance. If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" + } + }, + "documentation":"

Provides information that defines a MongoDB endpoint.

" + }, + "NeptuneSettings":{ + "type":"structure", + "required":[ + "S3BucketName", + "S3BucketFolder" + ], + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The ARN of the service role you have created for the Neptune target endpoint. For more information, see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.ServiceRole in the AWS Database Migration Service User Guide.

" + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket for AWS DMS to temporarily store migrated graph data in CSV files before bulk-loading it to the Neptune target database. AWS DMS maps the SQL source data to graph data before storing it in these CSV files.

" + }, + "S3BucketFolder":{ + "shape":"String", + "documentation":"

A folder path where you where you want AWS DMS to store migrated graph data in the S3 bucket specified by S3BucketName

" + }, + "ErrorRetryDuration":{ + "shape":"IntegerOptional", + "documentation":"

The number of milliseconds for AWS DMS to wait to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 250.

" + }, + "MaxFileSize":{ + "shape":"IntegerOptional", + "documentation":"

The maximum size in KB of migrated graph data stored in a CSV file before AWS DMS bulk-loads the data to the Neptune target database. The default is 1048576 KB. If successful, AWS DMS clears the bucket, ready to store the next batch of migrated graph data.

" + }, + "MaxRetryCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of times for AWS DMS to retry a bulk-load of migrated graph data to the Neptune target database before raising an error. The default is 5.

" + }, + "IamAuthEnabled":{ + "shape":"BooleanOptional", + "documentation":"

If you want IAM authorization enabled for this endpoint, set this parameter to true and attach the appropriate role policy document to your service role specified by ServiceAccessRoleArn. The default is false.

" + } + }, + "documentation":"

Provides information that defines an Amazon Neptune endpoint.

" + }, + "NestingLevelValue":{ + "type":"string", + "enum":[ + "none", + "one" + ] + }, "OrderableReplicationInstance":{ "type":"structure", "members":{ @@ -1730,23 +2945,202 @@ "shape":"Integer", "documentation":"

The minimum amount of storage (in gigabytes) that can be allocated for the replication instance.

" }, - "DefaultAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The default amount of storage (in gigabytes) that is allocated for the replication instance.

" + "DefaultAllocatedStorage":{ + "shape":"Integer", + "documentation":"

The default amount of storage (in gigabytes) that is allocated for the replication instance.

" + }, + "IncludedAllocatedStorage":{ + "shape":"Integer", + "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZonesList", + "documentation":"

List of Availability Zones for this replication instance.

" + }, + "ReleaseStatus":{ + "shape":"ReleaseStatusValues", + "documentation":"

The value returned when the specified EngineVersion of the replication instance is in Beta or test mode. This indicates some features might not work as expected.

AWS DMS supports the ReleaseStatus parameter in versions 3.1.4 and later.

" + } + }, + "documentation":"

In response to the DescribeOrderableReplicationInstances operation, this object describes an available replication instance. This description includes the replication instance's type, engine version, and allocated storage.

" + }, + "OrderableReplicationInstanceList":{ + "type":"list", + "member":{"shape":"OrderableReplicationInstance"} + }, + "ParquetVersionValue":{ + "type":"string", + "enum":[ + "parquet-1-0", + "parquet-2-0" + ] + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"String", + "documentation":"

The type of pending maintenance action that is available for the resource.

" + }, + "AutoAppliedAfterDate":{ + "shape":"TStamp", + "documentation":"

The date of the maintenance window when the action is to be applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" + }, + "ForcedApplyDate":{ + "shape":"TStamp", + "documentation":"

The date when the maintenance action will be automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

The type of opt-in request that has been received for the resource.

" + }, + "CurrentApplyDate":{ + "shape":"TStamp", + "documentation":"

The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API operation, and also the AutoAppliedAfterDate and ForcedApplyDate parameter values. This value is blank if an opt-in request has not been received and nothing has been specified for AutoAppliedAfterDate or ForcedApplyDate.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description providing more detail about the maintenance action.

" + } + }, + "documentation":"

Describes a maintenance action pending for an AWS DMS resource, including when and how it will be applied. This data type is a response element to the DescribePendingMaintenanceActions operation.

" + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{"shape":"PendingMaintenanceAction"} + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{"shape":"ResourcePendingMaintenanceActions"} + }, + "RebootReplicationInstanceMessage":{ + "type":"structure", + "required":["ReplicationInstanceArn"], + "members":{ + "ReplicationInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication instance.

" + }, + "ForceFailover":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is true, the reboot is conducted through a Multi-AZ failover. (If the instance isn't configured for Multi-AZ, then you can't specify true.)

" + } + } + }, + "RebootReplicationInstanceResponse":{ + "type":"structure", + "members":{ + "ReplicationInstance":{ + "shape":"ReplicationInstance", + "documentation":"

The replication instance that is being rebooted.

" + } + } + }, + "RedshiftSettings":{ + "type":"structure", + "members":{ + "AcceptAnyDate":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates to allow any date format, including invalid formats such as 00/00/00 00:00:00, to be loaded without generating an error. You can choose true or false (the default).

This parameter applies only to TIMESTAMP and DATE columns. Always use ACCEPTANYDATE with the DATEFORMAT parameter. If the date format for the data doesn't match the DATEFORMAT specification, Amazon Redshift inserts a NULL value into that field.

" + }, + "AfterConnectScript":{ + "shape":"String", + "documentation":"

Code to run after connecting. This parameter should contain the code itself, not the name of a file containing the code.

" + }, + "BucketFolder":{ + "shape":"String", + "documentation":"

The location where the comma-separated value (.csv) files are stored before being uploaded to the S3 bucket.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket you want to use

" + }, + "ConnectionTimeout":{ + "shape":"IntegerOptional", + "documentation":"

A value that sets the amount of time to wait (in milliseconds) before timing out, beginning from when you initially establish a connection.

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

The name of the Amazon Redshift data warehouse (service) that you are working with.

" + }, + "DateFormat":{ + "shape":"String", + "documentation":"

The date format that you are using. Valid values are auto (case-sensitive), your date format string enclosed in quotes, or NULL. If this parameter is left unset (NULL), it defaults to a format of 'YYYY-MM-DD'. Using auto recognizes most strings, even some that aren't supported when you use a date format string.

If your date and time values use formats different from each other, set this to auto.

" + }, + "EmptyAsNull":{ + "shape":"BooleanOptional", + "documentation":"

A value that specifies whether AWS DMS should migrate empty CHAR and VARCHAR fields as NULL. A value of true sets empty CHAR and VARCHAR fields to null. The default is false.

" + }, + "EncryptionMode":{ + "shape":"EncryptionModeValue", + "documentation":"

The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS. To use SSE_S3, create an AWS Identity and Access Management (IAM) role with a policy that allows \"arn:aws:s3:::*\" to use the following actions: \"s3:PutObject\", \"s3:ListBucket\"

" + }, + "FileTransferUploadStreams":{ + "shape":"IntegerOptional", + "documentation":"

The number of threads used to upload a single file. This parameter accepts a value from 1 through 64. It defaults to 10.

" + }, + "LoadTimeout":{ + "shape":"IntegerOptional", + "documentation":"

The amount of time to wait (in milliseconds) before timing out, beginning from when you begin loading.

" + }, + "MaxFileSize":{ + "shape":"IntegerOptional", + "documentation":"

The maximum size (in KB) of any .csv file used to transfer data to Amazon Redshift. This accepts a value from 1 through 1,048,576. It defaults to 32,768 KB (32 MB).

" + }, + "Password":{ + "shape":"SecretString", + "documentation":"

The password for the user named in the username property.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number for Amazon Redshift. The default value is 5439.

" + }, + "RemoveQuotes":{ + "shape":"BooleanOptional", + "documentation":"

A value that specifies to remove surrounding quotation marks from strings in the incoming data. All characters within the quotation marks, including delimiters, are retained. Choose true to remove quotation marks. The default is false.

" + }, + "ReplaceInvalidChars":{ + "shape":"String", + "documentation":"

A list of characters that you want to replace. Use with ReplaceChars.

" + }, + "ReplaceChars":{ + "shape":"String", + "documentation":"

A value that specifies to replaces the invalid characters specified in ReplaceInvalidChars, substituting the specified characters instead. The default is \"?\".

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the Amazon Redshift cluster you are using.

" + }, + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that has access to the Amazon Redshift service.

" + }, + "ServerSideEncryptionKmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key ID. If you are using SSE_KMS for the EncryptionMode, provide this key ID. The key that you use needs an attached policy that enables IAM user permissions and allows use of the key.

" + }, + "TimeFormat":{ + "shape":"String", + "documentation":"

The time format that you want to use. Valid values are auto (case-sensitive), 'timeformat_string', 'epochsecs', or 'epochmillisecs'. It defaults to 10. Using auto recognizes most strings, even some that aren't supported when you use a time format string.

If your date and time values use formats different from each other, set this parameter to auto.

" + }, + "TrimBlanks":{ + "shape":"BooleanOptional", + "documentation":"

A value that specifies to remove the trailing white space characters from a VARCHAR string. This parameter applies only to columns with a VARCHAR data type. Choose true to remove unneeded white space. The default is false.

" + }, + "TruncateColumns":{ + "shape":"BooleanOptional", + "documentation":"

A value that specifies to truncate data in columns to the appropriate number of characters, so that the data fits in the column. This parameter applies only to columns with a VARCHAR or CHAR data type, and rows with a size of 4 MB or less. Choose true to truncate data. The default is false.

" }, - "IncludedAllocatedStorage":{ - "shape":"Integer", - "documentation":"

The amount of storage (in gigabytes) that is allocated for the replication instance.

" + "Username":{ + "shape":"String", + "documentation":"

An Amazon Redshift user name for a registered user.

" + }, + "WriteBufferSize":{ + "shape":"IntegerOptional", + "documentation":"

The size of the write buffer to use in rows. Valid values range from 1 through 2,048. The default is 1,024. Use this setting to tune performance.

" } }, - "documentation":"

" - }, - "OrderableReplicationInstanceList":{ - "type":"list", - "member":{ - "shape":"OrderableReplicationInstance", - "locationName":"OrderableReplicationInstance" - } + "documentation":"

Provides information that defines an Amazon Redshift endpoint.

" }, "RefreshSchemasMessage":{ "type":"structure", @@ -1800,7 +3194,7 @@ "documentation":"

The last failure message for the schema.

" } }, - "documentation":"

" + "documentation":"

Provides information that describes status of a schema at an endpoint specified by the DescribeRefreshSchemaStatus operation.

" }, "RefreshSchemasStatusTypeValue":{ "type":"string", @@ -1810,6 +3204,47 @@ "refreshing" ] }, + "ReleaseStatusValues":{ + "type":"string", + "enum":["beta"] + }, + "ReloadOptionValue":{ + "type":"string", + "enum":[ + "data-reload", + "validate-only" + ] + }, + "ReloadTablesMessage":{ + "type":"structure", + "required":[ + "ReplicationTaskArn", + "TablesToReload" + ], + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + }, + "TablesToReload":{ + "shape":"TableListToReload", + "documentation":"

The name and schema of the table to be reloaded.

" + }, + "ReloadOption":{ + "shape":"ReloadOptionValue", + "documentation":"

Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task.

Valid values: data-reload, validate-only

Default value is data-reload.

" + } + } + }, + "ReloadTablesResponse":{ + "type":"structure", + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + } + } + }, "RemoveTagsFromResourceMessage":{ "type":"structure", "required":[ @@ -1819,14 +3254,14 @@ "members":{ "ResourceArn":{ "shape":"String", - "documentation":"

>The Amazon Resource Name (ARN) of the AWS DMS resource the tag is to be removed from.

" + "documentation":"

An AWS DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).

" }, "TagKeys":{ "shape":"KeyList", "documentation":"

The tag key (name) of the tag to be removed.

" } }, - "documentation":"

" + "documentation":"

Removes one or more tags from an AWS DMS resource.

" }, "RemoveTagsFromResourceResponse":{ "type":"structure", @@ -1886,7 +3321,7 @@ }, "MultiAZ":{ "shape":"Boolean", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" + "documentation":"

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" }, "EngineVersion":{ "shape":"String", @@ -1898,7 +3333,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

The KMS key identifier that is used to encrypt the content on the replication instance. If you do not specify a value for the KmsKeyId parameter, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

" + "documentation":"

An AWS KMS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, then AWS DMS uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" }, "ReplicationInstanceArn":{ "shape":"String", @@ -1916,25 +3351,34 @@ }, "ReplicationInstancePublicIpAddresses":{ "shape":"ReplicationInstancePublicIpAddressList", - "documentation":"

The public IP address of the replication instance.

" + "documentation":"

One or more public IP addresses for the replication instance.

" }, "ReplicationInstancePrivateIpAddresses":{ "shape":"ReplicationInstancePrivateIpAddressList", - "documentation":"

The private IP address of the replication instance.

" + "documentation":"

One or more private IP addresses for the replication instance.

" }, "PubliclyAccessible":{ "shape":"Boolean", "documentation":"

Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

" + }, + "SecondaryAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the standby replication instance in a Multi-AZ deployment.

" + }, + "FreeUntil":{ + "shape":"TStamp", + "documentation":"

The expiration date of the free replication instance that is part of the Free DMS program.

" + }, + "DnsNameServers":{ + "shape":"String", + "documentation":"

The DNS name servers for the replication instance.

" } }, - "documentation":"

" + "documentation":"

Provides information that defines a replication instance.

" }, "ReplicationInstanceList":{ "type":"list", - "member":{ - "shape":"ReplicationInstance", - "locationName":"ReplicationInstance" - } + "member":{"shape":"ReplicationInstance"} }, "ReplicationInstancePrivateIpAddressList":{ "type":"list", @@ -1944,6 +3388,28 @@ "type":"list", "member":{"shape":"String"} }, + "ReplicationInstanceTaskLog":{ + "type":"structure", + "members":{ + "ReplicationTaskName":{ + "shape":"String", + "documentation":"

The name of the replication task.

" + }, + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + }, + "ReplicationInstanceTaskLogSize":{ + "shape":"Long", + "documentation":"

The size, in bytes, of the replication task log.

" + } + }, + "documentation":"

Contains metadata for a replication instance task log.

" + }, + "ReplicationInstanceTaskLogsList":{ + "type":"list", + "member":{"shape":"ReplicationInstanceTaskLog"} + }, "ReplicationPendingModifiedValues":{ "type":"structure", "members":{ @@ -1957,14 +3423,14 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

Specifies if the replication instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" + "documentation":"

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

" }, "EngineVersion":{ "shape":"String", "documentation":"

The engine version number of the replication instance.

" } }, - "documentation":"

" + "documentation":"

Provides information about the values of pending modifications to a replication instance. This data type is an object of the ReplicationInstance user-defined data type.

" }, "ReplicationSubnetGroup":{ "type":"structure", @@ -1975,7 +3441,7 @@ }, "ReplicationSubnetGroupDescription":{ "shape":"String", - "documentation":"

The description of the replication subnet group.

" + "documentation":"

A description for the replication subnet group.

" }, "VpcId":{ "shape":"String", @@ -1990,7 +3456,7 @@ "documentation":"

The subnets that are in the subnet group.

" } }, - "documentation":"

" + "documentation":"

Describes a subnet group in response to a request by the DescribeReplicationSubnetGroup operation.

" }, "ReplicationSubnetGroupDoesNotCoverEnoughAZs":{ "type":"structure", @@ -2005,17 +3471,14 @@ }, "ReplicationSubnetGroups":{ "type":"list", - "member":{ - "shape":"ReplicationSubnetGroup", - "locationName":"ReplicationSubnetGroup" - } + "member":{"shape":"ReplicationSubnetGroup"} }, "ReplicationTask":{ "type":"structure", "members":{ "ReplicationTaskIdentifier":{ "shape":"String", - "documentation":"

The replication task identifier.

Constraints:

  • Must contain from 1 to 63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The user-assigned replication task identifier or name.

Constraints:

  • Must contain from 1 to 255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" }, "SourceEndpointArn":{ "shape":"String", @@ -2049,6 +3512,10 @@ "shape":"String", "documentation":"

The last error (failure) message generated for the replication instance.

" }, + "StopReason":{ + "shape":"String", + "documentation":"

The reason the replication task was stopped.

" + }, "ReplicationTaskCreationDate":{ "shape":"TStamp", "documentation":"

The date the replication task was created.

" @@ -2057,6 +3524,18 @@ "shape":"TStamp", "documentation":"

The date the replication task is scheduled to start.

" }, + "CdcStartPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want the CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

" + }, + "CdcStopPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" + }, + "RecoveryCheckpoint":{ + "shape":"String", + "documentation":"

Indicates the last checkpoint that occurred during a change data capture (CDC) operation. You can provide this value to the CdcStartPosition parameter to start a CDC operation that begins at that checkpoint.

" + }, "ReplicationTaskArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" @@ -2064,16 +3543,55 @@ "ReplicationTaskStats":{ "shape":"ReplicationTaskStats", "documentation":"

The statistics for the task, including elapsed time, tables loaded, and table errors.

" + }, + "TaskData":{ + "shape":"String", + "documentation":"

Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the AWS Database Migration User Guide.

" } }, - "documentation":"

" + "documentation":"

Provides information that describes a replication task created by the CreateReplicationTask operation.

" + }, + "ReplicationTaskAssessmentResult":{ + "type":"structure", + "members":{ + "ReplicationTaskIdentifier":{ + "shape":"String", + "documentation":"

The replication task identifier of the task on which the task assessment was run.

" + }, + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + }, + "ReplicationTaskLastAssessmentDate":{ + "shape":"TStamp", + "documentation":"

The date the task assessment was completed.

" + }, + "AssessmentStatus":{ + "shape":"String", + "documentation":"

The status of the task assessment.

" + }, + "AssessmentResultsFile":{ + "shape":"String", + "documentation":"

The file containing the results of the task assessment.

" + }, + "AssessmentResults":{ + "shape":"String", + "documentation":"

The task assessment results in JSON format.

" + }, + "S3ObjectUrl":{ + "shape":"String", + "documentation":"

The URL of the S3 object containing the task assessment results.

" + } + }, + "documentation":"

The task assessment report in JSON format.

" + }, + "ReplicationTaskAssessmentResultList":{ + "type":"list", + "member":{"shape":"ReplicationTaskAssessmentResult"} }, "ReplicationTaskList":{ "type":"list", - "member":{ - "shape":"ReplicationTask", - "locationName":"ReplicationTask" - } + "member":{"shape":"ReplicationTask"} }, "ReplicationTaskStats":{ "type":"structure", @@ -2101,9 +3619,29 @@ "TablesErrored":{ "shape":"Integer", "documentation":"

The number of errors that have occurred during this task.

" + }, + "FreshStartDate":{ + "shape":"TStamp", + "documentation":"

The date the replication task was started either with a fresh start or a target reload.

" + }, + "StartDate":{ + "shape":"TStamp", + "documentation":"

The date the replication task was started either with a fresh start or a resume. For more information, see StartReplicationTaskType.

" + }, + "StopDate":{ + "shape":"TStamp", + "documentation":"

The date the replication task was stopped.

" + }, + "FullLoadStartDate":{ + "shape":"TStamp", + "documentation":"

The date the replication task full load was started.

" + }, + "FullLoadFinishDate":{ + "shape":"TStamp", + "documentation":"

The date the replication task full load was completed.

" } }, - "documentation":"

" + "documentation":"

In response to a request by the DescribeReplicationTasks operation, this object provides a collection of statistics about a replication task.

" }, "ResourceAlreadyExistsFault":{ "type":"structure", @@ -2111,11 +3649,13 @@ "message":{ "shape":"ExceptionMessage", "documentation":"

" - } + }, + "resourceArn":{"shape":"ResourceArn"} }, "documentation":"

The resource you are attempting to create already exists.

", "exception":true }, + "ResourceArn":{"type":"string"}, "ResourceNotFoundFault":{ "type":"structure", "members":{ @@ -2127,6 +3667,20 @@ "documentation":"

The resource could not be found.

", "exception":true }, + "ResourcePendingMaintenanceActions":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN) for AWS DMS in the DMS documentation.

" + }, + "PendingMaintenanceActionDetails":{ + "shape":"PendingMaintenanceActionDetails", + "documentation":"

Detailed information about the pending maintenance action.

" + } + }, + "documentation":"

Identifies an AWS DMS resource and any pending actions for it.

" + }, "ResourceQuotaExceededFault":{ "type":"structure", "members":{ @@ -2138,6 +3692,118 @@ "documentation":"

The quota for this resource quota has been exceeded.

", "exception":true }, + "S3Settings":{ + "type":"structure", + "members":{ + "ServiceAccessRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) used by the service access IAM role.

" + }, + "ExternalTableDefinition":{ + "shape":"String", + "documentation":"

The external table definition.

" + }, + "CsvRowDelimiter":{ + "shape":"String", + "documentation":"

The delimiter used to separate rows in the source files. The default is a carriage return (\\n).

" + }, + "CsvDelimiter":{ + "shape":"String", + "documentation":"

The delimiter used to separate columns in the source files. The default is a comma.

" + }, + "BucketFolder":{ + "shape":"String", + "documentation":"

An optional parameter to set a folder name in the S3 bucket. If provided, tables are created in the path bucketFolder/schema_name/table_name/. If this parameter isn't specified, then the path used is schema_name/table_name/.

" + }, + "BucketName":{ + "shape":"String", + "documentation":"

The name of the S3 bucket.

" + }, + "CompressionType":{ + "shape":"CompressionTypeValue", + "documentation":"

An optional parameter to use GZIP to compress the target files. Set to GZIP to compress the target files. Either set this parameter to NONE (the default) or don't use it to leave the files uncompressed. This parameter applies to both .csv and .parquet file formats.

" + }, + "EncryptionMode":{ + "shape":"EncryptionModeValue", + "documentation":"

The type of server-side encryption that you want to use for your data. This encryption type is part of the endpoint settings or the extra connections attributes for Amazon S3. You can choose either SSE_S3 (the default) or SSE_KMS. To use SSE_S3, you need an AWS Identity and Access Management (IAM) role with permission to allow \"arn:aws:s3:::dms-*\" to use the following actions:

  • s3:CreateBucket

  • s3:ListBucket

  • s3:DeleteBucket

  • s3:GetBucketLocation

  • s3:GetObject

  • s3:PutObject

  • s3:DeleteObject

  • s3:GetObjectVersion

  • s3:GetBucketPolicy

  • s3:PutBucketPolicy

  • s3:DeleteBucketPolicy

" + }, + "ServerSideEncryptionKmsKeyId":{ + "shape":"String", + "documentation":"

If you are using SSE_KMS for the EncryptionMode, provide the AWS KMS key ID. The key that you use needs an attached policy that enables AWS Identity and Access Management (IAM) user permissions and allows use of the key.

Here is a CLI example: aws dms create-endpoint --endpoint-identifier value --endpoint-type target --engine-name s3 --s3-settings ServiceAccessRoleArn=value,BucketFolder=value,BucketName=value,EncryptionMode=SSE_KMS,ServerSideEncryptionKmsKeyId=value

" + }, + "DataFormat":{ + "shape":"DataFormatValue", + "documentation":"

The format of the data that you want to use for output. You can choose one of the following:

  • csv : This is a row-based file format with comma-separated values (.csv).

  • parquet : Apache Parquet (.parquet) is a columnar storage file format that features efficient compression and provides faster query response.

" + }, + "EncodingType":{ + "shape":"EncodingTypeValue", + "documentation":"

The type of encoding you are using:

  • RLE_DICTIONARY uses a combination of bit-packing and run-length encoding to store repeated values more efficiently. This is the default.

  • PLAIN doesn't use encoding at all. Values are stored as they are.

  • PLAIN_DICTIONARY builds a dictionary of the values encountered in a given column. The dictionary is stored in a dictionary page for each column chunk.

" + }, + "DictPageSizeLimit":{ + "shape":"IntegerOptional", + "documentation":"

The maximum size of an encoded dictionary page of a column. If the dictionary page exceeds this, this column is stored using an encoding type of PLAIN. This parameter defaults to 1024 * 1024 bytes (1 MiB), the maximum size of a dictionary page before it reverts to PLAIN encoding. This size is used for .parquet file format only.

" + }, + "RowGroupLength":{ + "shape":"IntegerOptional", + "documentation":"

The number of rows in a row group. A smaller row group size provides faster reads. But as the number of row groups grows, the slower writes become. This parameter defaults to 10,000 rows. This number is used for .parquet file format only.

If you choose a value larger than the maximum, RowGroupLength is set to the max row group length in bytes (64 * 1024 * 1024).

" + }, + "DataPageSize":{ + "shape":"IntegerOptional", + "documentation":"

The size of one data page in bytes. This parameter defaults to 1024 * 1024 bytes (1 MiB). This number is used for .parquet file format only.

" + }, + "ParquetVersion":{ + "shape":"ParquetVersionValue", + "documentation":"

The version of the Apache Parquet format that you want to use: parquet_1_0 (the default) or parquet_2_0.

" + }, + "EnableStatistics":{ + "shape":"BooleanOptional", + "documentation":"

A value that enables statistics for Parquet pages and row groups. Choose true to enable statistics, false to disable. Statistics include NULL, DISTINCT, MAX, and MIN values. This parameter defaults to true. This value is used for .parquet file format only.

" + }, + "IncludeOpForFullLoad":{ + "shape":"BooleanOptional", + "documentation":"

A value that enables a full load to write INSERT operations to the comma-separated value (.csv) output files only to indicate how the rows were added to the source database.

AWS DMS supports the IncludeOpForFullLoad parameter in versions 3.1.4 and later.

For full load, records can only be inserted. By default (the false setting), no information is recorded in these output files for a full load to indicate that the rows were inserted at the source database. If IncludeOpForFullLoad is set to true or y, the INSERT is recorded as an I annotation in the first field of the .csv file. This allows the format of your target records from a full load to be consistent with the target records from a CDC load.

This setting works together with the CdcInsertsOnly and the CdcInsertsAndUpdates parameters for output to .csv files only. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide..

" + }, + "CdcInsertsOnly":{ + "shape":"BooleanOptional", + "documentation":"

A value that enables a change data capture (CDC) load to write only INSERT operations to .csv or columnar storage (.parquet) output files. By default (the false setting), the first field in a .csv or .parquet record contains the letter I (INSERT), U (UPDATE), or D (DELETE). These values indicate whether the row was inserted, updated, or deleted at the source database for a CDC load to the target.

If CdcInsertsOnly is set to true or y, only INSERTs from the source database are migrated to the .csv or .parquet file. For .csv format only, how these INSERTs are recorded depends on the value of IncludeOpForFullLoad. If IncludeOpForFullLoad is set to true, the first field of every CDC record is set to I to indicate the INSERT operation at the source. If IncludeOpForFullLoad is set to false, every CDC record is written without a first field to indicate the INSERT operation at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide..

AWS DMS supports the interaction described preceding between the CdcInsertsOnly and IncludeOpForFullLoad parameters in versions 3.1.4 and later.

CdcInsertsOnly and CdcInsertsAndUpdates can't both be set to true for the same endpoint. Set either CdcInsertsOnly or CdcInsertsAndUpdates to true for the same endpoint, but not both.

" + }, + "TimestampColumnName":{ + "shape":"String", + "documentation":"

A value that when nonblank causes AWS DMS to add a column with timestamp information to the endpoint data for an Amazon S3 target.

AWS DMS supports the TimestampColumnName parameter in versions 3.1.4 and later.

DMS includes an additional STRING column in the .csv or .parquet object files of your migrated data when you set TimestampColumnName to a nonblank value.

For a full load, each row of this timestamp column contains a timestamp for when the data was transferred from the source to the target by DMS.

For a change data capture (CDC) load, each row of the timestamp column contains the timestamp for the commit of that row in the source database.

The string format for this timestamp column value is yyyy-MM-dd HH:mm:ss.SSSSSS. By default, the precision of this value is in microseconds. For a CDC load, the rounding of the precision depends on the commit timestamp supported by DMS for the source database.

When the AddColumnName parameter is set to true, DMS also includes a name for the timestamp column that you set with TimestampColumnName.

" + }, + "ParquetTimestampInMillisecond":{ + "shape":"BooleanOptional", + "documentation":"

A value that specifies the precision of any TIMESTAMP column values that are written to an Amazon S3 object file in .parquet format.

AWS DMS supports the ParquetTimestampInMillisecond parameter in versions 3.1.4 and later.

When ParquetTimestampInMillisecond is set to true or y, AWS DMS writes all TIMESTAMP columns in a .parquet formatted file with millisecond precision. Otherwise, DMS writes them with microsecond precision.

Currently, Amazon Athena and AWS Glue can handle only millisecond precision for TIMESTAMP values. Set this parameter to true for S3 endpoint object files that are .parquet formatted only if you plan to query or process the data with Athena or AWS Glue.

AWS DMS writes any TIMESTAMP column values written to an S3 file in .csv format with microsecond precision.

Setting ParquetTimestampInMillisecond has no effect on the string format of the timestamp column value that is inserted by setting the TimestampColumnName parameter.

" + }, + "CdcInsertsAndUpdates":{ + "shape":"BooleanOptional", + "documentation":"

A value that enables a change data capture (CDC) load to write INSERT and UPDATE operations to .csv or .parquet (columnar storage) output files. The default setting is false, but when CdcInsertsAndUpdates is set to trueor y, INSERTs and UPDATEs from the source database are migrated to the .csv or .parquet file.

For .csv file format only, how these INSERTs and UPDATEs are recorded depends on the value of the IncludeOpForFullLoad parameter. If IncludeOpForFullLoad is set to true, the first field of every CDC record is set to either I or U to indicate INSERT and UPDATE operations at the source. But if IncludeOpForFullLoad is set to false, CDC records are written without an indication of INSERT or UPDATE operations at the source. For more information about how these settings work together, see Indicating Source DB Operations in Migrated S3 Data in the AWS Database Migration Service User Guide..

AWS DMS supports the use of the CdcInsertsAndUpdates parameter in versions 3.3.1 and later.

CdcInsertsOnly and CdcInsertsAndUpdates can't both be set to true for the same endpoint. Set either CdcInsertsOnly or CdcInsertsAndUpdates to true for the same endpoint, but not both.

" + } + }, + "documentation":"

Settings for exporting data to Amazon S3.

" + }, + "SNSInvalidTopicFault":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ExceptionMessage", + "documentation":"

" + } + }, + "documentation":"

The SNS topic is invalid.

", + "exception":true + }, + "SNSNoAuthorizationFault":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ExceptionMessage", + "documentation":"

" + } + }, + "documentation":"

You are not authorized for the SNS subscription.

", + "exception":true + }, "SchemaList":{ "type":"list", "member":{"shape":"String"} @@ -2146,6 +3812,35 @@ "type":"string", "sensitive":true }, + "SourceIdsList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SourceType":{ + "type":"string", + "enum":["replication-instance"] + }, + "StartReplicationTaskAssessmentMessage":{ + "type":"structure", + "required":["ReplicationTaskArn"], + "members":{ + "ReplicationTaskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the replication task.

" + } + }, + "documentation":"

" + }, + "StartReplicationTaskAssessmentResponse":{ + "type":"structure", + "members":{ + "ReplicationTask":{ + "shape":"ReplicationTask", + "documentation":"

The assessed replication task.

" + } + }, + "documentation":"

" + }, "StartReplicationTaskMessage":{ "type":"structure", "required":[ @@ -2155,7 +3850,7 @@ "members":{ "ReplicationTaskArn":{ "shape":"String", - "documentation":"

The Amazon Resource Number (ARN) of the replication task to be started.

" + "documentation":"

The Amazon Resource Name (ARN) of the replication task to be started.

" }, "StartReplicationTaskType":{ "shape":"StartReplicationTaskTypeValue", @@ -2163,7 +3858,15 @@ }, "CdcStartTime":{ "shape":"TStamp", - "documentation":"

The start time for the Change Data Capture (CDC) operation.

" + "documentation":"

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

" + }, + "CdcStartPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position \"checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93\"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for AWS DMS.

" + }, + "CdcStopPosition":{ + "shape":"String", + "documentation":"

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:3018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time: 3018-02-09T12:12:12 “

" } }, "documentation":"

" @@ -2192,7 +3895,7 @@ "members":{ "ReplicationTaskArn":{ "shape":"String", - "documentation":"

The Amazon Resource Number(ARN) of the replication task to be stopped.

" + "documentation":"

The Amazon Resource Name(ARN) of the replication task to be stopped.

" } }, "documentation":"

" @@ -2235,7 +3938,7 @@ "documentation":"

The status of the subnet.

" } }, - "documentation":"

" + "documentation":"

In response to a request by the DescribeReplicationSubnetGroup operation, this object identifies a subnet by its given Availability Zone, subnet identifier, and status.

" }, "SubnetAlreadyInUse":{ "type":"structure", @@ -2250,24 +3953,18 @@ }, "SubnetIdentifierList":{ "type":"list", - "member":{ - "shape":"String", - "locationName":"SubnetIdentifier" - } + "member":{"shape":"String"} }, "SubnetList":{ "type":"list", - "member":{ - "shape":"Subnet", - "locationName":"Subnet" - } + "member":{"shape":"Subnet"} }, "SupportedEndpointType":{ "type":"structure", "members":{ "EngineName":{ "shape":"String", - "documentation":"

The database engine name.

" + "documentation":"

The database engine name. Valid values, depending on the EndpointType, include \"mysql\", \"oracle\", \"postgres\", \"mariadb\", \"aurora\", \"aurora-postgresql\", \"redshift\", \"s3\", \"db2\", \"azuredb\", \"sybase\", \"dynamodb\", \"mongodb\", \"kinesis\", \"kafka\", \"elasticsearch\", \"documentdb\", and \"sqlserver\".

" }, "SupportsCDC":{ "shape":"Boolean", @@ -2275,19 +3972,28 @@ }, "EndpointType":{ "shape":"ReplicationEndpointTypeValue", - "documentation":"

The type of endpoint.

" + "documentation":"

The type of endpoint. Valid values are source and target.

" + }, + "ReplicationInstanceEngineMinimumVersion":{ + "shape":"String", + "documentation":"

The earliest AWS DMS engine version that supports this endpoint engine. Note that endpoint engines released with AWS DMS versions earlier than 3.1.1 do not return a value for this parameter.

" + }, + "EngineDisplayName":{ + "shape":"String", + "documentation":"

The expanded name for the engine name. For example, if the EngineName parameter is \"aurora,\" this value would be \"Amazon Aurora MySQL.\"

" } }, - "documentation":"

" + "documentation":"

Provides information about types of supported endpoints in response to a request by the DescribeEndpointTypes operation. This information includes the type of endpoint, the database engine name, and whether change data capture (CDC) is supported.

" }, "SupportedEndpointTypeList":{ "type":"list", - "member":{ - "shape":"SupportedEndpointType", - "locationName":"SupportedEndpointType" - } + "member":{"shape":"SupportedEndpointType"} }, "TStamp":{"type":"timestamp"}, + "TableListToReload":{ + "type":"list", + "member":{"shape":"TableToReload"} + }, "TableStatistics":{ "type":"structure", "members":{ @@ -2313,47 +4019,98 @@ }, "Ddls":{ "shape":"Long", - "documentation":"

The Data Definition Language (DDL) used to build and modify the structure of your tables.

" + "documentation":"

The data definition language (DDL) used to build and modify the structure of your tables.

" }, "FullLoadRows":{ "shape":"Long", - "documentation":"

The number of rows added during the Full Load operation.

" + "documentation":"

The number of rows added during the full load operation.

" + }, + "FullLoadCondtnlChkFailedRows":{ + "shape":"Long", + "documentation":"

The number of rows that failed conditional checks during the full load operation (valid only for migrations where DynamoDB is the target).

" + }, + "FullLoadErrorRows":{ + "shape":"Long", + "documentation":"

The number of rows that failed to load during the full load operation (valid only for migrations where DynamoDB is the target).

" + }, + "FullLoadStartTime":{ + "shape":"TStamp", + "documentation":"

The time when the full load operation started.

" + }, + "FullLoadEndTime":{ + "shape":"TStamp", + "documentation":"

The time when the full load operation completed.

" + }, + "FullLoadReloaded":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates if the table was reloaded (true) or loaded as part of a new full load operation (false).

" }, "LastUpdateTime":{ "shape":"TStamp", - "documentation":"

The last time the table was updated.

" + "documentation":"

The last time a table was updated.

" }, "TableState":{ "shape":"String", - "documentation":"

The state of the table.

" + "documentation":"

The state of the tables described.

Valid states: Table does not exist | Before load | Full load | Table completed | Table cancelled | Table error | Table all | Table updates | Table is being reloaded

" + }, + "ValidationPendingRecords":{ + "shape":"Long", + "documentation":"

The number of records that have yet to be validated.

" + }, + "ValidationFailedRecords":{ + "shape":"Long", + "documentation":"

The number of records that failed validation.

" + }, + "ValidationSuspendedRecords":{ + "shape":"Long", + "documentation":"

The number of records that couldn't be validated.

" + }, + "ValidationState":{ + "shape":"String", + "documentation":"

The validation state of the table.

This parameter can have the following values:

  • Not enabled - Validation isn't enabled for the table in the migration task.

  • Pending records - Some records in the table are waiting for validation.

  • Mismatched records - Some records in the table don't match between the source and target.

  • Suspended records - Some records in the table couldn't be validated.

  • No primary key - The table couldn't be validated because it has no primary key.

  • Table error - The table wasn't validated because it's in an error state and some data wasn't migrated.

  • Validated - All rows in the table are validated. If the table is updated, the status can change from Validated.

  • Error - The table couldn't be validated because of an unexpected error.

" + }, + "ValidationStateDetails":{ + "shape":"String", + "documentation":"

Additional details about the state of validation.

" } }, - "documentation":"

" + "documentation":"

Provides a collection of table statistics in response to a request by the DescribeTableStatistics operation.

" }, "TableStatisticsList":{ "type":"list", "member":{"shape":"TableStatistics"} }, + "TableToReload":{ + "type":"structure", + "members":{ + "SchemaName":{ + "shape":"String", + "documentation":"

The schema name of the table to be reloaded.

" + }, + "TableName":{ + "shape":"String", + "documentation":"

The table name of the table to be reloaded.

" + } + }, + "documentation":"

Provides the name of the schema and table to be reloaded.

" + }, "Tag":{ "type":"structure", "members":{ "Key":{ "shape":"String", - "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" }, "Value":{ "shape":"String", - "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"dms:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" } }, - "documentation":"

" + "documentation":"

A user-defined key-value pair that describes metadata added to an AWS DMS resource and that is used by operations such as the following:

  • AddTagsToResource

  • ListTagsForResource

  • RemoveTagsFromResource

" }, "TagList":{ "type":"list", - "member":{ - "shape":"Tag", - "locationName":"Tag" - } + "member":{"shape":"Tag"} }, "TestConnectionMessage":{ "type":"structure", @@ -2396,10 +4153,7 @@ }, "VpcSecurityGroupIdList":{ "type":"list", - "member":{ - "shape":"String", - "locationName":"VpcSecurityGroupId" - } + "member":{"shape":"String"} }, "VpcSecurityGroupMembership":{ "type":"structure", @@ -2413,15 +4167,12 @@ "documentation":"

The status of the VPC security group.

" } }, - "documentation":"

" + "documentation":"

Describes status of a security group associated with the virtual private cloud hosting your replication and DB instances.

" }, "VpcSecurityGroupMembershipList":{ "type":"list", - "member":{ - "shape":"VpcSecurityGroupMembership", - "locationName":"VpcSecurityGroupMembership" - } + "member":{"shape":"VpcSecurityGroupMembership"} } }, - "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, and MySQL. The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

" + "documentation":"AWS Database Migration Service

AWS Database Migration Service (AWS DMS) can migrate your data to and from the most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, MariaDB, Amazon Aurora, MySQL, and SAP Adaptive Server Enterprise (ASE). The service supports homogeneous migrations such as Oracle to Oracle, as well as heterogeneous migrations between different database platforms, such as Oracle to MySQL or SQL Server to PostgreSQL.

For more information about AWS DMS, see What Is AWS Database Migration Service? in the AWS Database Migration User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/dms/2016-01-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/dms/2016-01-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dms/2016-01-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,336 @@ +{ + "version":2, + "waiters":{ + "TestConnectionSucceeds":{ + "acceptors":[ + { + "argument":"Connections[].Status", + "expected":"successful", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"Connections[].Status", + "expected":"failed", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":5, + "description":"Wait until testing connection succeeds.", + "maxAttempts":60, + "operation":"DescribeConnections" + }, + "EndpointDeleted":{ + "acceptors":[ + { + "expected":"ResourceNotFoundFault", + "matcher":"error", + "state":"success" + }, + { + "argument":"Endpoints[].Status", + "expected":"active", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"Endpoints[].Status", + "expected":"creating", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":5, + "description":"Wait until testing endpoint is deleted.", + "maxAttempts":60, + "operation":"DescribeEndpoints" + }, + "ReplicationInstanceAvailable":{ + "acceptors":[ + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"available", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"deleting", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"incompatible-credentials", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"incompatible-network", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"inaccessible-encryption-credentials", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":60, + "description":"Wait until DMS replication instance is available.", + "maxAttempts":60, + "operation":"DescribeReplicationInstances" + }, + "ReplicationInstanceDeleted":{ + "acceptors":[ + { + "argument":"ReplicationInstances[].ReplicationInstanceStatus", + "expected":"available", + "matcher":"pathAny", + "state":"failure" + }, + { + "expected":"ResourceNotFoundFault", + "matcher":"error", + "state":"success" + } + ], + "delay":15, + "description":"Wait until DMS replication instance is deleted.", + "maxAttempts":60, + "operation":"DescribeReplicationInstances" + }, + "ReplicationTaskReady":{ + "acceptors":[ + { + "argument":"ReplicationTasks[].Status", + "expected":"ready", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"starting", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"running", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"stopping", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"stopped", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"failed", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"modifying", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"testing", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"deleting", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until DMS replication task is ready.", + "maxAttempts":60, + "operation":"DescribeReplicationTasks" + }, + "ReplicationTaskStopped":{ + "acceptors":[ + { + "argument":"ReplicationTasks[].Status", + "expected":"stopped", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"ready", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"creating", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"starting", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"running", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"failed", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"modifying", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"testing", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"deleting", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until DMS replication task is stopped.", + "maxAttempts":60, + "operation":"DescribeReplicationTasks" + }, + "ReplicationTaskRunning":{ + "acceptors":[ + { + "argument":"ReplicationTasks[].Status", + "expected":"running", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"ready", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"creating", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"stopping", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"stopped", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"failed", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"modifying", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"testing", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"deleting", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until DMS replication task is running.", + "maxAttempts":60, + "operation":"DescribeReplicationTasks" + }, + "ReplicationTaskDeleted":{ + "acceptors":[ + { + "argument":"ReplicationTasks[].Status", + "expected":"ready", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"creating", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"stopped", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"running", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"ReplicationTasks[].Status", + "expected":"failed", + "matcher":"pathAny", + "state":"failure" + }, + { + "expected":"ResourceNotFoundFault", + "matcher":"error", + "state":"success" + } + ], + "delay":15, + "description":"Wait until DMS replication task is deleted.", + "maxAttempts":60, + "operation":"DescribeReplicationTasks" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/docdb/2014-10-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/docdb/2014-10-31/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, + "DescribeDBEngineVersions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBEngineVersions" + }, + "DescribeDBInstances": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBInstances" + }, + "DescribeDBSubnetGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBSubnetGroups" + }, + "DescribeEvents": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Events" + }, + "DescribeOrderableDBInstanceOptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "OrderableDBInstanceOptions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/docdb/2014-10-31/service-2.json python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/service-2.json --- python-botocore-1.4.70/botocore/data/docdb/2014-10-31/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3908 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2014-10-31", + "endpointPrefix":"rds", + "protocol":"query", + "serviceAbbreviation":"Amazon DocDB", + "serviceFullName":"Amazon DocumentDB with MongoDB compatibility", + "serviceId":"DocDB", + "signatureVersion":"v4", + "signingName":"rds", + "uid":"docdb-2014-10-31", + "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" + }, + "operations":{ + "AddTagsToResource":{ + "name":"AddTagsToResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTagsToResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Adds metadata tags to an Amazon DocumentDB resource. You can use these tags with cost allocation reporting to track costs that are associated with Amazon DocumentDB resources. or in a Condition statement in an AWS Identity and Access Management (IAM) policy for Amazon DocumentDB.

" + }, + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, + "output":{ + "shape":"ApplyPendingMaintenanceActionResult", + "resultWrapper":"ApplyPendingMaintenanceActionResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

" + }, + "CopyDBClusterParameterGroup":{ + "name":"CopyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CopyDBClusterParameterGroupResult", + "resultWrapper":"CopyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Copies the specified cluster parameter group.

" + }, + "CopyDBClusterSnapshot":{ + "name":"CopyDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterSnapshotMessage"}, + "output":{ + "shape":"CopyDBClusterSnapshotResult", + "resultWrapper":"CopyDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Copies a snapshot of a cluster.

To copy a cluster snapshot from a shared manual cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared cluster snapshot.

To cancel the copy operation after it is in progress, delete the target cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in the copying status.

" + }, + "CreateDBCluster":{ + "name":"CreateDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterMessage"}, + "output":{ + "shape":"CreateDBClusterResult", + "resultWrapper":"CreateDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} + ], + "documentation":"

Creates a new Amazon DocumentDB cluster.

" + }, + "CreateDBClusterParameterGroup":{ + "name":"CreateDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CreateDBClusterParameterGroupResult", + "resultWrapper":"CreateDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Creates a new cluster parameter group.

Parameters in a cluster parameter group apply to all of the instances in a DB cluster.

A cluster parameter group is initially created with the default parameters for the database engine used by instances in the cluster. To provide custom values for any of the parameters, you must modify the group after you create it. After you create a DB cluster parameter group, you must associate it with your cluster. For the new DB cluster parameter group and associated settings to take effect, you must then reboot the instances in the cluster without failover.

After you create a cluster parameter group, you should wait at least 5 minutes before creating your first cluster that uses that cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the cluster parameter group is used as the default for a new cluster. This step is especially important for parameters that are critical when creating the default database for a cluster, such as the character set for the default database defined by the character_set_database parameter.

" + }, + "CreateDBClusterSnapshot":{ + "name":"CreateDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterSnapshotMessage"}, + "output":{ + "shape":"CreateDBClusterSnapshotResult", + "resultWrapper":"CreateDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

Creates a snapshot of a cluster.

" + }, + "CreateDBInstance":{ + "name":"CreateDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBInstanceMessage"}, + "output":{ + "shape":"CreateDBInstanceResult", + "resultWrapper":"CreateDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"InstanceQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Creates a new instance.

" + }, + "CreateDBSubnetGroup":{ + "name":"CreateDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBSubnetGroupMessage"}, + "output":{ + "shape":"CreateDBSubnetGroupResult", + "resultWrapper":"CreateDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupAlreadyExistsFault"}, + {"shape":"DBSubnetGroupQuotaExceededFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Creates a new subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.

" + }, + "DeleteDBCluster":{ + "name":"DeleteDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterMessage"}, + "output":{ + "shape":"DeleteDBClusterResult", + "resultWrapper":"DeleteDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

Deletes a previously provisioned cluster. When you delete a cluster, all automated backups for that cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified cluster are not deleted.

" + }, + "DeleteDBClusterParameterGroup":{ + "name":"DeleteDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Deletes a specified cluster parameter group. The cluster parameter group to be deleted can't be associated with any clusters.

" + }, + "DeleteDBClusterSnapshot":{ + "name":"DeleteDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterSnapshotMessage"}, + "output":{ + "shape":"DeleteDBClusterSnapshotResult", + "resultWrapper":"DeleteDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Deletes a cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The cluster snapshot must be in the available state to be deleted.

" + }, + "DeleteDBInstance":{ + "name":"DeleteDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBInstanceMessage"}, + "output":{ + "shape":"DeleteDBInstanceResult", + "resultWrapper":"DeleteDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

Deletes a previously provisioned instance.

" + }, + "DeleteDBSubnetGroup":{ + "name":"DeleteDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBSubnetGroupMessage"}, + "errors":[ + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidDBSubnetStateFault"}, + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Deletes a subnet group.

The specified database subnet group must not be associated with any DB instances.

" + }, + "DescribeCertificates":{ + "name":"DescribeCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificatesMessage"}, + "output":{ + "shape":"CertificateMessage", + "resultWrapper":"DescribeCertificatesResult" + }, + "errors":[ + {"shape":"CertificateNotFoundFault"} + ], + "documentation":"

Returns a list of certificate authority (CA) certificates provided by Amazon DocumentDB for this AWS account.

" + }, + "DescribeDBClusterParameterGroups":{ + "name":"DescribeDBClusterParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, + "output":{ + "shape":"DBClusterParameterGroupsMessage", + "resultWrapper":"DescribeDBClusterParameterGroupsResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list contains only the description of the specified cluster parameter group.

" + }, + "DescribeDBClusterParameters":{ + "name":"DescribeDBClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParametersMessage"}, + "output":{ + "shape":"DBClusterParameterGroupDetails", + "resultWrapper":"DescribeDBClusterParametersResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns the detailed parameter list for a particular cluster parameter group.

" + }, + "DescribeDBClusterSnapshotAttributes":{ + "name":"DescribeDBClusterSnapshotAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, + "output":{ + "shape":"DescribeDBClusterSnapshotAttributesResult", + "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns a list of cluster snapshot attribute names and values for a manual DB cluster snapshot.

When you share snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual cluster snapshot. If all is included in the list of values for the restore attribute, then the manual cluster snapshot is public and can be copied or restored by all AWS accounts.

" + }, + "DescribeDBClusterSnapshots":{ + "name":"DescribeDBClusterSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, + "output":{ + "shape":"DBClusterSnapshotMessage", + "resultWrapper":"DescribeDBClusterSnapshotsResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns information about cluster snapshots. This API operation supports pagination.

" + }, + "DescribeDBClusters":{ + "name":"DescribeDBClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClustersMessage"}, + "output":{ + "shape":"DBClusterMessage", + "resultWrapper":"DescribeDBClustersResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Returns information about provisioned Amazon DocumentDB clusters. This API operation supports pagination. For certain management features such as cluster and instance lifecycle management, Amazon DocumentDB leverages operational technology that is shared with Amazon RDS and Amazon Neptune. Use the filterName=engine,Values=docdb filter parameter to return only Amazon DocumentDB clusters.

" + }, + "DescribeDBEngineVersions":{ + "name":"DescribeDBEngineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBEngineVersionsMessage"}, + "output":{ + "shape":"DBEngineVersionMessage", + "resultWrapper":"DescribeDBEngineVersionsResult" + }, + "documentation":"

Returns a list of the available engines.

" + }, + "DescribeDBInstances":{ + "name":"DescribeDBInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBInstancesMessage"}, + "output":{ + "shape":"DBInstanceMessage", + "resultWrapper":"DescribeDBInstancesResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

Returns information about provisioned Amazon DocumentDB instances. This API supports pagination.

" + }, + "DescribeDBSubnetGroups":{ + "name":"DescribeDBSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBSubnetGroupsMessage"}, + "output":{ + "shape":"DBSubnetGroupMessage", + "resultWrapper":"DescribeDBSubnetGroupsResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

" + }, + "DescribeEngineDefaultClusterParameters":{ + "name":"DescribeEngineDefaultClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, + "output":{ + "shape":"DescribeEngineDefaultClusterParametersResult", + "resultWrapper":"DescribeEngineDefaultClusterParametersResult" + }, + "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

" + }, + "DescribeEventCategories":{ + "name":"DescribeEventCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventCategoriesMessage"}, + "output":{ + "shape":"EventCategoriesMessage", + "resultWrapper":"DescribeEventCategoriesResult" + }, + "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsMessage"}, + "output":{ + "shape":"EventsMessage", + "resultWrapper":"DescribeEventsResult" + }, + "documentation":"

Returns events related to instances, security groups, snapshots, and DB parameter groups for the past 14 days. You can obtain events specific to a particular DB instance, security group, snapshot, or parameter group by providing the name as a parameter. By default, the events of the past hour are returned.

" + }, + "DescribeOrderableDBInstanceOptions":{ + "name":"DescribeOrderableDBInstanceOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, + "output":{ + "shape":"OrderableDBInstanceOptionsMessage", + "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" + }, + "documentation":"

Returns a list of orderable instance options for the specified engine.

" + }, + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, + "output":{ + "shape":"PendingMaintenanceActionsMessage", + "resultWrapper":"DescribePendingMaintenanceActionsResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Returns a list of resources (for example, instances) that have at least one pending maintenance action.

" + }, + "FailoverDBCluster":{ + "name":"FailoverDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverDBClusterMessage"}, + "output":{ + "shape":"FailoverDBClusterResult", + "resultWrapper":"FailoverDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Forces a failover for a cluster.

A failover for a cluster promotes one of the Amazon DocumentDB replicas (read-only instances) in the cluster to be the primary instance (the cluster writer).

If the primary instance fails, Amazon DocumentDB automatically fails over to an Amazon DocumentDB replica, if one exists. You can force a failover when you want to simulate a failure of a primary instance for testing.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceMessage"}, + "output":{ + "shape":"TagListMessage", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Lists all tags on an Amazon DocumentDB resource.

" + }, + "ModifyDBCluster":{ + "name":"ModifyDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterMessage"}, + "output":{ + "shape":"ModifyDBClusterResult", + "resultWrapper":"ModifyDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterAlreadyExistsFault"} + ], + "documentation":"

Modifies a setting for an Amazon DocumentDB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + }, + "ModifyDBClusterParameterGroup":{ + "name":"ModifyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ModifyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InvalidDBParameterGroupStateFault"} + ], + "documentation":"

Modifies the parameters of a cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot or maintenance window before the change can take effect.

After you create a cluster parameter group, you should wait at least 5 minutes before creating your first cluster that uses that cluster parameter group as the default parameter group. This allows Amazon DocumentDB to fully complete the create action before the parameter group is used as the default for a new cluster. This step is especially important for parameters that are critical when creating the default database for a cluster, such as the character set for the default database defined by the character_set_database parameter.

" + }, + "ModifyDBClusterSnapshotAttribute":{ + "name":"ModifyDBClusterSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, + "output":{ + "shape":"ModifyDBClusterSnapshotAttributeResult", + "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SharedSnapshotQuotaExceededFault"} + ], + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual cluster snapshot with other AWS accounts, specify restore as the AttributeName, and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual cluster snapshot. Use the value all to make the manual cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

" + }, + "ModifyDBInstance":{ + "name":"ModifyDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBInstanceMessage"}, + "output":{ + "shape":"ModifyDBInstanceResult", + "resultWrapper":"ModifyDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBUpgradeDependencyFailureFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"CertificateNotFoundFault"} + ], + "documentation":"

Modifies settings for an instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + }, + "ModifyDBSubnetGroup":{ + "name":"ModifyDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBSubnetGroupMessage"}, + "output":{ + "shape":"ModifyDBSubnetGroupResult", + "resultWrapper":"ModifyDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"SubnetAlreadyInUse"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Modifies an existing subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.

" + }, + "RebootDBInstance":{ + "name":"RebootDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootDBInstanceMessage"}, + "output":{ + "shape":"RebootDBInstanceResult", + "resultWrapper":"RebootDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

You might need to reboot your instance, usually for maintenance reasons. For example, if you make certain changes, or if you change the cluster parameter group that is associated with the instance, you must reboot the instance for the changes to take effect.

Rebooting an instance restarts the database engine service. Rebooting an instance results in a momentary outage, during which the instance status is set to rebooting.

" + }, + "RemoveTagsFromResource":{ + "name":"RemoveTagsFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTagsFromResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Removes metadata tags from an Amazon DocumentDB resource.

" + }, + "ResetDBClusterParameterGroup":{ + "name":"ResetDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ResetDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Modifies the parameters of a cluster parameter group to the default value. To reset specific parameters, submit a list of the following: ParameterName and ApplyMethod. To reset the entire cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When you reset the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance reboot.

" + }, + "RestoreDBClusterFromSnapshot":{ + "name":"RestoreDBClusterFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, + "output":{ + "shape":"RestoreDBClusterFromSnapshotResult", + "resultWrapper":"RestoreDBClusterFromSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Creates a new cluster from a snapshot or cluster snapshot.

If a snapshot is specified, the target cluster is created from the source DB snapshot with a default configuration and default security group.

If a cluster snapshot is specified, the target cluster is created from the source cluster restore point with the same configuration as the original source DB cluster, except that the new cluster is created with the default security group.

" + }, + "RestoreDBClusterToPointInTime":{ + "name":"RestoreDBClusterToPointInTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, + "output":{ + "shape":"RestoreDBClusterToPointInTimeResult", + "resultWrapper":"RestoreDBClusterToPointInTimeResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"StorageQuotaExceededFault"} + ], + "documentation":"

Restores a cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target cluster is created from the source cluster with the same configuration as the original cluster, except that the new cluster is created with the default security group.

" + }, + "StartDBCluster":{ + "name":"StartDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDBClusterMessage"}, + "output":{ + "shape":"StartDBClusterResult", + "resultWrapper":"StartDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Restarts the stopped cluster that is specified by DBClusterIdentifier. For more information, see Stopping and Starting an Amazon DocumentDB Cluster.

" + }, + "StopDBCluster":{ + "name":"StopDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDBClusterMessage"}, + "output":{ + "shape":"StopDBClusterResult", + "resultWrapper":"StopDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Stops the running cluster that is specified by DBClusterIdentifier. The cluster must be in the available state. For more information, see Stopping and Starting an Amazon DocumentDB Cluster.

" + } + }, + "shapes":{ + "AddTagsToResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "Tags" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource that the tags are added to. This value is an Amazon Resource Name (ARN).

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the Amazon DocumentDB resource.

" + } + }, + "documentation":"

Represents the input to AddTagsToResource.

" + }, + "ApplyMethod":{ + "type":"string", + "enum":[ + "immediate", + "pending-reboot" + ] + }, + "ApplyPendingMaintenanceActionMessage":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ApplyAction", + "OptInType" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to.

" + }, + "ApplyAction":{ + "shape":"String", + "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" + }, + "OptInType":{ + "shape":"String", + "documentation":"

A value that specifies the type of opt-in request or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" + } + }, + "documentation":"

Represents the input to ApplyPendingMaintenanceAction.

" + }, + "ApplyPendingMaintenanceActionResult":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} + } + }, + "AttributeValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AttributeValue" + } + }, + "AuthorizationNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified CIDR IP or Amazon EC2 security group isn't authorized for the specified security group.

Amazon DocumentDB also might not be authorized to perform necessary actions on your behalf using IAM.

", + "error":{ + "code":"AuthorizationNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the Availability Zone.

" + } + }, + "documentation":"

Information about an Availability Zone.

", + "wrapper":true + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{ + "shape":"AvailabilityZone", + "locationName":"AvailabilityZone" + } + }, + "AvailabilityZones":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AvailabilityZone" + } + }, + "Boolean":{"type":"boolean"}, + "BooleanOptional":{"type":"boolean"}, + "Certificate":{ + "type":"structure", + "members":{ + "CertificateIdentifier":{ + "shape":"String", + "documentation":"

The unique key that identifies a certificate.

Example: rds-ca-2019

" + }, + "CertificateType":{ + "shape":"String", + "documentation":"

The type of the certificate.

Example: CA

" + }, + "Thumbprint":{ + "shape":"String", + "documentation":"

The thumbprint of the certificate.

" + }, + "ValidFrom":{ + "shape":"TStamp", + "documentation":"

The starting date-time from which the certificate is valid.

Example: 2019-07-31T17:57:09Z

" + }, + "ValidTill":{ + "shape":"TStamp", + "documentation":"

The date-time after which the certificate is no longer valid.

Example: 2024-07-31T17:57:09Z

" + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the certificate.

Example: arn:aws:rds:us-east-1::cert:rds-ca-2019

" + } + }, + "documentation":"

A certificate authority (CA) certificate for an AWS account.

", + "wrapper":true + }, + "CertificateList":{ + "type":"list", + "member":{ + "shape":"Certificate", + "locationName":"Certificate" + } + }, + "CertificateMessage":{ + "type":"structure", + "members":{ + "Certificates":{ + "shape":"CertificateList", + "documentation":"

A list of certificates for this AWS account.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided if the number of records retrieved is greater than MaxRecords. If this parameter is specified, the marker specifies the next record in the list. Including the value of Marker in the next call to DescribeCertificates results in the next page of certificates.

" + } + } + }, + "CertificateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

CertificateIdentifier doesn't refer to an existing certificate.

", + "error":{ + "code":"CertificateNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "CloudwatchLogsExportConfiguration":{ + "type":"structure", + "members":{ + "EnableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to enable.

" + }, + "DisableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to disable.

" + } + }, + "documentation":"

The configuration setting for the log types to be enabled for export to Amazon CloudWatch Logs for a specific instance or cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs are exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the engine that is being used.

" + }, + "CopyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupDescription" + ], + "members":{ + "SourceDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier or Amazon Resource Name (ARN) for the source cluster parameter group.

Constraints:

  • Must specify a valid cluster parameter group.

  • If the source cluster parameter group is in the same AWS Region as the copy, specify a valid parameter group identifier; for example, my-db-cluster-param-group, or a valid ARN.

  • If the source parameter group is in a different AWS Region than the copy, specify a valid cluster parameter group ARN; for example, arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" + }, + "TargetDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the copied cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank.

  • Must contain from 1 to 255 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-param-group1

" + }, + "TargetDBClusterParameterGroupDescription":{ + "shape":"String", + "documentation":"

A description for the copied cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags that are to be assigned to the parameter group.

" + } + }, + "documentation":"

Represents the input to CopyDBClusterParameterGroup.

" + }, + "CopyDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CopyDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterSnapshotIdentifier", + "TargetDBClusterSnapshotIdentifier" + ], + "members":{ + "SourceDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster snapshot to copy. This parameter is not case sensitive.

You can't copy an encrypted, shared cluster snapshot from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • If the source snapshot is in the same AWS Region as the copy, specify a valid snapshot identifier.

  • If the source snapshot is in a different AWS Region than the copy, specify a valid cluster snapshot ARN.

Example: my-cluster-snapshot1

" + }, + "TargetDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the new cluster snapshot to create from the source cluster snapshot. This parameter is not case sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key ID for an encrypted cluster snapshot. The AWS KMS key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS key alias for the AWS KMS encryption key.

If you copy an encrypted cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new AWS KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the cluster snapshot is encrypted with the same AWS KMS key as the source cluster snapshot.

If you copy an encrypted cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

To copy an encrypted cluster snapshot to another AWS Region, set KmsKeyId to the AWS KMS key ID that you want to use to encrypt the copy of the cluster snapshot in the destination Region. AWS KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one Region in another Region.

If you copy an unencrypted cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source cluster snapshot to copy. You must use the PreSignedUrl parameter when copying an encrypted cluster snapshot from another AWS Region.

The presigned URL must be a valid request for the CopyDBSClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The presigned URL request must contain the following parameter values:

  • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

  • DestinationRegion - The name of the AWS Region that the DB cluster snapshot will be created in.

  • SourceDBClusterSnapshotIdentifier - The cluster snapshot identifier for the encrypted cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115.

" + }, + "CopyTags":{ + "shape":"BooleanOptional", + "documentation":"

Set to true to copy all tags from the source cluster snapshot to the target cluster snapshot, and otherwise false. The default is false.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the cluster snapshot.

" + } + }, + "documentation":"

Represents the input to CopyDBClusterSnapshot.

" + }, + "CopyDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CreateDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "Engine", + "MasterUsername", + "MasterUserPassword" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

A list of Amazon EC2 Availability Zones that instances in the cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group to associate with this cluster.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of EC2 VPC security groups to associate with this cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

A subnet group to associate with this cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this cluster.

Valid values: docdb

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to use.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the instances in the cluster accept connections.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

The name of the master user for the cluster.

Constraints:

  • Must be from 1 to 63 letters or numbers.

  • The first character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).

Constraints: Must contain from 8 to 100 characters.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the cluster.

" + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether the cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for an encrypted cluster.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are creating a cluster using the same AWS account that owns the AWS KMS encryption key that is used to encrypt the new cluster, you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon DocumentDB uses the encryption key that is used to encrypt the source. Otherwise, Amazon DocumentDB uses your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, Amazon DocumentDB uses your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a replica of an encrypted cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the replica in that AWS Region.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that need to be enabled for exporting to Amazon CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.

" + } + }, + "documentation":"

Represents the input to CreateDBCluster.

" + }, + "CreateDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "DBParameterGroupFamily", + "Description" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group.

Constraints:

  • Must not match the name of an existing DBClusterParameterGroup.

This value is stored as a lowercase string.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The cluster parameter group family name.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the cluster parameter group.

" + } + }, + "documentation":"

Represents the input of CreateDBClusterParameterGroup.

" + }, + "CreateDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CreateDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "CreateDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "DBClusterIdentifier" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot1

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster to create a snapshot for. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the cluster snapshot.

" + } + }, + "documentation":"

Represents the input of CreateDBClusterSnapshot.

" + }, + "CreateDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CreateDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "DBInstanceClass", + "Engine", + "DBClusterIdentifier" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The compute and memory capacity of the instance; for example, db.r5.large.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this instance.

Valid value: docdb

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Amazon EC2 Availability Zone that the instance is created in.

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor engine upgrades are applied automatically to the instance during the maintenance window.

Default: true

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the instance. You can assign up to 10 tags to an instance.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster that the instance will belong to.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid values: 0-15

" + } + }, + "documentation":"

Represents the input to CreateDBInstance.

" + }, + "CreateDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "CreateDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "DBSubnetGroupDescription", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The Amazon EC2 subnet IDs for the subnet group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the subnet group.

" + } + }, + "documentation":"

Represents the input to CreateDBSubnetGroup.

" + }, + "CreateDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "DBCluster":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the number of days for which automatic snapshots are retained.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-supplied cluster identifier. This identifier is the unique key that identifies a cluster.

" + }, + "DBClusterParameterGroup":{ + "shape":"String", + "documentation":"

Specifies the name of the cluster parameter group for the cluster.

" + }, + "DBSubnetGroup":{ + "shape":"String", + "documentation":"

Specifies information on the subnet group that is associated with the cluster, including the name, description, and subnets in the subnet group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the current state of this cluster.

" + }, + "PercentProgress":{ + "shape":"String", + "documentation":"

Specifies the progress of the operation as a percentage.

" + }, + "EarliestRestorableTime":{ + "shape":"TStamp", + "documentation":"

The earliest time to which a database can be restored with point-in-time restore.

" + }, + "Endpoint":{ + "shape":"String", + "documentation":"

Specifies the connection endpoint for the primary instance of the cluster.

" + }, + "ReaderEndpoint":{ + "shape":"String", + "documentation":"

The reader endpoint for the cluster. The reader endpoint for a cluster load balances connections across the Amazon DocumentDB replicas that are available in a cluster. As clients request new connections to the reader endpoint, Amazon DocumentDB distributes the connection requests among the Amazon DocumentDB replicas in the cluster. This functionality can help balance your read workload across multiple Amazon DocumentDB replicas in your cluster.

If a failover occurs, and the Amazon DocumentDB replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Amazon DocumentDB replicas in the cluster, you can then reconnect to the reader endpoint.

" + }, + "MultiAZ":{ + "shape":"Boolean", + "documentation":"

Specifies whether the cluster has instances in multiple Availability Zones.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this cluster.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Contains the master user name for the cluster.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "DBClusterMembers":{ + "shape":"DBClusterMemberList", + "documentation":"

Provides the list of instances that make up the cluster.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of virtual private cloud (VPC) security groups that the cluster belongs to.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted cluster.

" + }, + "DbClusterResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the cluster is accessed.

" + }, + "DBClusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the cluster.

" + }, + "AssociatedRoles":{ + "shape":"DBClusterRoles", + "documentation":"

Provides a list of the AWS Identity and Access Management (IAM) roles that are associated with the cluster. IAM roles that are associated with a cluster grant permission for the cluster to access other AWS services on your behalf.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the cluster was created, in Universal Coordinated Time (UTC).

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this cluster is configured to export to Amazon CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"Boolean", + "documentation":"

Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.

" + } + }, + "documentation":"

Detailed information about a cluster.

", + "wrapper":true + }, + "DBClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a cluster with the given identifier.

", + "error":{ + "code":"DBClusterAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterList":{ + "type":"list", + "member":{ + "shape":"DBCluster", + "locationName":"DBCluster" + } + }, + "DBClusterMember":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Specifies the instance identifier for this member of the cluster.

" + }, + "IsClusterWriter":{ + "shape":"Boolean", + "documentation":"

A value that is true if the cluster member is the primary instance for the cluster and false otherwise.

" + }, + "DBClusterParameterGroupStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the cluster parameter group for this member of the DB cluster.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

" + } + }, + "documentation":"

Contains information about an instance that is part of a cluster.

", + "wrapper":true + }, + "DBClusterMemberList":{ + "type":"list", + "member":{ + "shape":"DBClusterMember", + "locationName":"DBClusterMember" + } + }, + "DBClusterMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusters":{ + "shape":"DBClusterList", + "documentation":"

A list of clusters.

" + } + }, + "documentation":"

Represents the output of DescribeDBClusters.

" + }, + "DBClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterIdentifier doesn't refer to an existing cluster.

", + "error":{ + "code":"DBClusterNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroup":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

Provides the name of the cluster parameter group.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

Provides the name of the parameter group family that this cluster parameter group is compatible with.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides the customer-specified description for this cluster parameter group.

" + }, + "DBClusterParameterGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the cluster parameter group.

" + } + }, + "documentation":"

Detailed information about a cluster parameter group.

", + "wrapper":true + }, + "DBClusterParameterGroupDetails":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParametersList", + "documentation":"

Provides a list of parameters for the cluster parameter group.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DBClusterParameterGroup.

" + }, + "DBClusterParameterGroupList":{ + "type":"list", + "member":{ + "shape":"DBClusterParameterGroup", + "locationName":"DBClusterParameterGroup" + } + }, + "DBClusterParameterGroupNameMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a cluster parameter group.

Constraints:

  • Must be from 1 to 255 letters or numbers.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

This value is stored as a lowercase string.

" + } + }, + "documentation":"

Contains the name of a cluster parameter group.

" + }, + "DBClusterParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterParameterGroupName doesn't refer to an existing cluster parameter group.

", + "error":{ + "code":"DBClusterParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterParameterGroups":{ + "shape":"DBClusterParameterGroupList", + "documentation":"

A list of cluster parameter groups.

" + } + }, + "documentation":"

Represents the output of DBClusterParameterGroups.

" + }, + "DBClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The cluster can't be created because you have reached the maximum allowed quota of clusters.

", + "error":{ + "code":"DBClusterQuotaExceededFault", + "httpStatusCode":403, + "senderFault":true + }, + "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 cluster. The Status property returns one of the following values:

  • ACTIVE - The IAM role ARN is associated with the cluster and can be used to access other AWS services on your behalf.

  • PENDING - The IAM role ARN is being associated with the DB cluster.

  • INVALID - The IAM role ARN is associated with the cluster, but the cluster cannot assume the IAM role to access other AWS services on your behalf.

" + } + }, + "documentation":"

Describes an AWS Identity and Access Management (IAM) role that is associated with a cluster.

" + }, + "DBClusterRoles":{ + "type":"list", + "member":{ + "shape":"DBClusterRole", + "locationName":"DBClusterRole" + } + }, + "DBClusterSnapshot":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the cluster snapshot can be restored in.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier for the cluster snapshot.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Specifies the cluster identifier of the cluster that this cluster snapshot was created from.

" + }, + "SnapshotCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the time when the snapshot was taken, in UTC.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Specifies the name of the database engine.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the status of this cluster snapshot.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the cluster was listening on at the time of the snapshot.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the virtual private cloud (VPC) ID that is associated with the cluster snapshot.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the cluster was created, in Universal Coordinated Time (UTC).

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Provides the master user name for the cluster snapshot.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Provides the version of the database engine for this cluster snapshot.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

Provides the type of the cluster snapshot.

" + }, + "PercentProgress":{ + "shape":"Integer", + "documentation":"

Specifies the percentage of the estimated data that has been transferred.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the cluster snapshot is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted cluster snapshot.

" + }, + "DBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the cluster snapshot.

" + }, + "SourceDBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

If the cluster snapshot was copied from a source cluster snapshot, the ARN for the source cluster snapshot; otherwise, a null value.

" + } + }, + "documentation":"

Detailed information about a cluster snapshot.

", + "wrapper":true + }, + "DBClusterSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a cluster snapshot with the given identifier.

", + "error":{ + "code":"DBClusterSnapshotAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterSnapshotAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the manual cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual cluster snapshot.

" + }, + "AttributeValues":{ + "shape":"AttributeValueList", + "documentation":"

The values for the manual cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual cluster snapshot. If a value of all is in the list, then the manual cluster snapshot is public and available for any AWS account to copy or restore.

" + } + }, + "documentation":"

Contains the name and values of a manual cluster snapshot attribute.

Manual cluster snapshot attributes are used to authorize other AWS accounts to restore a manual cluster snapshot.

" + }, + "DBClusterSnapshotAttributeList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshotAttribute", + "locationName":"DBClusterSnapshotAttribute" + } + }, + "DBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster snapshot that the attributes apply to.

" + }, + "DBClusterSnapshotAttributes":{ + "shape":"DBClusterSnapshotAttributeList", + "documentation":"

The list of attributes and values for the cluster snapshot.

" + } + }, + "documentation":"

Detailed information about the attributes that are associated with a cluster snapshot.

", + "wrapper":true + }, + "DBClusterSnapshotList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshot", + "locationName":"DBClusterSnapshot" + } + }, + "DBClusterSnapshotMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterSnapshots":{ + "shape":"DBClusterSnapshotList", + "documentation":"

Provides a list of cluster snapshots.

" + } + }, + "documentation":"

Represents the output of DescribeDBClusterSnapshots.

" + }, + "DBClusterSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterSnapshotIdentifier doesn't refer to an existing cluster snapshot.

", + "error":{ + "code":"DBClusterSnapshotNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBEngineVersion":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the parameter group family for the database engine.

" + }, + "DBEngineDescription":{ + "shape":"String", + "documentation":"

The description of the database engine.

" + }, + "DBEngineVersionDescription":{ + "shape":"String", + "documentation":"

The description of the database engine version.

" + }, + "ValidUpgradeTarget":{ + "shape":"ValidUpgradeTargetList", + "documentation":"

A list of engine versions that this database engine version can be upgraded to.

" + }, + "ExportableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The types of logs that the database engine has available for export to Amazon CloudWatch Logs.

" + }, + "SupportsLogExportsToCloudwatchLogs":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

" + } + }, + "documentation":"

Detailed information about an engine version.

" + }, + "DBEngineVersionList":{ + "type":"list", + "member":{ + "shape":"DBEngineVersion", + "locationName":"DBEngineVersion" + } + }, + "DBEngineVersionMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBEngineVersions":{ + "shape":"DBEngineVersionList", + "documentation":"

Detailed information about one or more engine versions.

" + } + }, + "documentation":"

Represents the output of DescribeDBEngineVersions.

" + }, + "DBInstance":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-provided database identifier. This identifier is the unique key that identifies an instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the name of the compute and memory capacity class of the instance.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this instance.

" + }, + "DBInstanceStatus":{ + "shape":"String", + "documentation":"

Specifies the current state of this database.

" + }, + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

Specifies the connection endpoint.

" + }, + "InstanceCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the date and time that the instance was created.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "BackupRetentionPeriod":{ + "shape":"Integer", + "documentation":"

Specifies the number of days for which automatic snapshots are retained.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of VPC security group elements that the instance belongs to.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

Specifies the name of the Availability Zone that the instance is located in.

" + }, + "DBSubnetGroup":{ + "shape":"DBSubnetGroup", + "documentation":"

Specifies information on the subnet group that is associated with the instance, including the name, description, and subnets in the subnet group.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "PendingModifiedValues":{ + "shape":"PendingModifiedValues", + "documentation":"

Specifies that changes to the instance are pending. This element is included only when changes are pending. Specific changes are identified by subelements.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

Indicates that minor version patches are applied automatically.

" + }, + "PubliclyAccessible":{ + "shape":"Boolean", + "documentation":"

Not supported. Amazon DocumentDB does not currently support public endpoints. The value of PubliclyAccessible is always false.

" + }, + "StatusInfos":{ + "shape":"DBInstanceStatusInfoList", + "documentation":"

The status of a read replica. If the instance is not a read replica, this is blank.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Contains the name of the cluster that the instance is a member of if the instance is a member of a cluster.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether or not the instance is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted instance.

" + }, + "DbiResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the instance is accessed.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the CA certificate for this DB instance.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

" + }, + "DBInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the instance.

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this instance is configured to export to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

Detailed information about an instance.

", + "wrapper":true + }, + "DBInstanceAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You already have a instance with the given identifier.

", + "error":{ + "code":"DBInstanceAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceList":{ + "type":"list", + "member":{ + "shape":"DBInstance", + "locationName":"DBInstance" + } + }, + "DBInstanceMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBInstances":{ + "shape":"DBInstanceList", + "documentation":"

Detailed information about one or more instances.

" + } + }, + "documentation":"

Represents the output of DescribeDBInstances.

" + }, + "DBInstanceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBInstanceIdentifier doesn't refer to an existing instance.

", + "error":{ + "code":"DBInstanceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{ + "shape":"String", + "documentation":"

This value is currently \"read replication.\"

" + }, + "Normal":{ + "shape":"Boolean", + "documentation":"

A Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Status of the instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" + } + }, + "documentation":"

Provides a list of status information for an instance.

" + }, + "DBInstanceStatusInfoList":{ + "type":"list", + "member":{ + "shape":"DBInstanceStatusInfo", + "locationName":"DBInstanceStatusInfo" + } + }, + "DBParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

A parameter group with the same name already exists.

", + "error":{ + "code":"DBParameterGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBParameterGroupName doesn't refer to an existing parameter group.

", + "error":{ + "code":"DBParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

This request would cause you to exceed the allowed number of parameter groups.

", + "error":{ + "code":"DBParameterGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSecurityGroupName doesn't refer to an existing security group.

", + "error":{ + "code":"DBSecurityGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier is already being used by an existing snapshot.

", + "error":{ + "code":"DBSnapshotAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier doesn't refer to an existing snapshot.

", + "error":{ + "code":"DBSnapshotNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroup":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group.

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

Provides the description of the subnet group.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the virtual private cloud (VPC) ID of the subnet group.

" + }, + "SubnetGroupStatus":{ + "shape":"String", + "documentation":"

Provides the status of the subnet group.

" + }, + "Subnets":{ + "shape":"SubnetList", + "documentation":"

Detailed information about one or more subnets within a subnet group.

" + }, + "DBSubnetGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" + } + }, + "documentation":"

Detailed information about a subnet group.

", + "wrapper":true + }, + "DBSubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName is already being used by an existing subnet group.

", + "error":{ + "code":"DBSubnetGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupDoesNotCoverEnoughAZs":{ + "type":"structure", + "members":{ + }, + "documentation":"

Subnets in the subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", + "error":{ + "code":"DBSubnetGroupDoesNotCoverEnoughAZs", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBSubnetGroups":{ + "shape":"DBSubnetGroups", + "documentation":"

Detailed information about one or more subnet groups.

" + } + }, + "documentation":"

Represents the output of DescribeDBSubnetGroups.

" + }, + "DBSubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName doesn't refer to an existing subnet group.

", + "error":{ + "code":"DBSubnetGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of subnet groups.

", + "error":{ + "code":"DBSubnetGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroups":{ + "type":"list", + "member":{ + "shape":"DBSubnetGroup", + "locationName":"DBSubnetGroup" + } + }, + "DBSubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of subnets in a subnet group.

", + "error":{ + "code":"DBSubnetQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBUpgradeDependencyFailureFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The upgrade failed because a resource that the depends on can't be modified.

", + "error":{ + "code":"DBUpgradeDependencyFailure", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DeleteDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The cluster identifier for the cluster to be deleted. This parameter isn't case sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

" + }, + "SkipFinalSnapshot":{ + "shape":"Boolean", + "documentation":"

Determines whether a final cluster snapshot is created before the cluster is deleted. If true is specified, no cluster snapshot is created. If false is specified, a cluster snapshot is created before the DB cluster is deleted.

If SkipFinalSnapshot is false, you must specify a FinalDBSnapshotIdentifier parameter.

Default: false

" + }, + "FinalDBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The cluster snapshot identifier of the new cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be from 1 to 255 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + } + }, + "documentation":"

Represents the input to DeleteDBCluster.

" + }, + "DeleteDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group.

Constraints:

  • Must be the name of an existing cluster parameter group.

  • You can't delete a default cluster parameter group.

  • Cannot be associated with any clusters.

" + } + }, + "documentation":"

Represents the input to DeleteDBClusterParameterGroup.

" + }, + "DeleteDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "DeleteDBClusterSnapshotMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster snapshot to delete.

Constraints: Must be the name of an existing cluster snapshot in the available state.

" + } + }, + "documentation":"

Represents the input to DeleteDBClusterSnapshot.

" + }, + "DeleteDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "DeleteDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The instance identifier for the instance to be deleted. This parameter isn't case sensitive.

Constraints:

  • Must match the name of an existing instance.

" + } + }, + "documentation":"

Represents the input to DeleteDBInstance.

" + }, + "DeleteDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "DeleteDBSubnetGroupMessage":{ + "type":"structure", + "required":["DBSubnetGroupName"], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + } + }, + "documentation":"

Represents the input to DeleteDBSubnetGroup.

" + }, + "DescribeCertificatesMessage":{ + "type":"structure", + "members":{ + "CertificateIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied certificate identifier. If this parameter is specified, information for only the specified certificate is returned. If this parameter is omitted, a list of up to MaxRecords certificates is returned. This parameter is not case sensitive.

Constraints

  • Must match an existing CertificateIdentifier.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific cluster parameter group to return details for.

Constraints:

  • If provided, must match the name of an existing DBClusterParameterGroup.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterParameterGroups.

" + }, + "DescribeDBClusterParametersMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific cluster parameter group to return parameter details for.

Constraints:

  • If provided, must match the name of an existing DBClusterParameterGroup.

" + }, + "Source":{ + "shape":"String", + "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterParameters.

" + }, + "DescribeDBClusterSnapshotAttributesMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the cluster snapshot to describe the attributes for.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterSnapshotAttributes.

" + }, + "DescribeDBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "DescribeDBClusterSnapshotsMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The ID of the cluster to retrieve the list of cluster snapshots for. This parameter can't be used with the DBClusterSnapshotIdentifier parameter. This parameter is not case sensitive.

Constraints:

  • If provided, must match the identifier of an existing DBCluster.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

A specific cluster snapshot identifier to describe. This parameter can't be used with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If provided, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

The type of cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all cluster snapshots that Amazon DocumentDB has automatically created for your AWS account.

  • manual - Return all cluster snapshots that you have manually created for your AWS account.

  • shared - Return all manual cluster snapshots that have been shared to your AWS account.

  • public - Return all cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual cluster snapshots are returned. You can include shared cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "IncludeShared":{ + "shape":"Boolean", + "documentation":"

Set to true to include shared manual cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

" + }, + "IncludePublic":{ + "shape":"Boolean", + "documentation":"

Set to true to include manual cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusterSnapshots.

" + }, + "DescribeDBClustersMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The user-provided cluster identifier. If this parameter is specified, information from only the specific cluster is returned. This parameter isn't case sensitive.

Constraints:

  • If provided, must match an existing DBClusterIdentifier.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more clusters to describe.

Supported filters:

  • db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list only includes information about the clusters identified by these ARNs.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBClusters.

" + }, + "DescribeDBEngineVersionsMessage":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The database engine to return.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The database engine version to return.

Example: 5.1.49

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of a specific parameter group family to return details for.

Constraints:

  • If provided, must match an existing DBParameterGroupFamily.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DefaultOnly":{ + "shape":"Boolean", + "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" + }, + "ListSupportedCharacterSets":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" + }, + "ListSupportedTimezones":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + } + }, + "documentation":"

Represents the input to DescribeDBEngineVersions.

" + }, + "DescribeDBInstancesMessage":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The user-provided instance identifier. If this parameter is specified, information from only the specific instance is returned. This parameter isn't case sensitive.

Constraints:

  • If provided, must match the identifier of an existing DBInstance.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more instances to describe.

Supported filters:

  • db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list includes only the information about the instances that are associated with the clusters that are identified by these ARNs.

  • db-instance-id - Accepts instance identifiers and instance ARNs. The results list includes only the information about the instances that are identified by these ARNs.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBInstances.

" + }, + "DescribeDBSubnetGroupsMessage":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to return details for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeDBSubnetGroups.

" + }, + "DescribeEngineDefaultClusterParametersMessage":{ + "type":"structure", + "required":["DBParameterGroupFamily"], + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group family to return the engine parameter information for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeEngineDefaultClusterParameters.

" + }, + "DescribeEngineDefaultClusterParametersResult":{ + "type":"structure", + "members":{ + "EngineDefaults":{"shape":"EngineDefaults"} + } + }, + "DescribeEventCategoriesMessage":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of source that is generating the events.

Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + }, + "documentation":"

Represents the input to DescribeEventCategories.

" + }, + "DescribeEventsMessage":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is provided, SourceType must also be provided.

  • If the source type is DBInstance, a DBInstanceIdentifier must be provided.

  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be provided.

  • If the source type is DBParameterGroup, a DBParameterGroupName must be provided.

  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be provided.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

Example: 2009-07-08T18:00Z

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

Example: 2009-07-08T18:00Z

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The number of minutes to retrieve events for.

Default: 60

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories that trigger notifications for an event notification subscription.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeEvents.

" + }, + "DescribeOrderableDBInstanceOptionsMessage":{ + "type":"structure", + "required":["Engine"], + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the engine to retrieve instance options for.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings that match the specified engine version.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The instance class filter value. Specify this parameter to show only the available offerings that match the specified instance class.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model filter value. Specify this parameter to show only the available offerings that match the specified license model.

" + }, + "Vpc":{ + "shape":"BooleanOptional", + "documentation":"

The virtual private cloud (VPC) filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (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 pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the input to DescribeOrderableDBInstanceOptions.

" + }, + "DescribePendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The ARN of a resource to return pending maintenance actions for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more resources to return pending maintenance actions for.

Supported filters:

  • db-cluster-id - Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list includes only pending maintenance actions for the clusters identified by these ARNs.

  • db-instance-id - Accepts instance identifiers and instance ARNs. The results list includes only pending maintenance actions for the DB instances identified by these ARNs.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. 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 pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + } + }, + "documentation":"

Represents the input to DescribePendingMaintenanceActions.

" + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

Specifies the DNS address of the instance.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + } + }, + "documentation":"

Network information for accessing a cluster or instance. Client programs must specify a valid endpoint to access these Amazon DocumentDB resources.

" + }, + "EngineDefaults":{ + "type":"structure", + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group family to return the engine parameter information for.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

The parameters of a particular cluster parameter group family.

" + } + }, + "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters operation.

", + "wrapper":true + }, + "Event":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

Provides the identifier for the source of the event.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

Specifies the source type for this event.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Provides the text of this event.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

Specifies the category for the event.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

Specifies the date and time of the event.

" + }, + "SourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the event.

" + } + }, + "documentation":"

Detailed information about an event.

" + }, + "EventCategoriesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"EventCategory" + } + }, + "EventCategoriesMap":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The source type that the returned categories belong to.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

The event categories for the specified source type.

" + } + }, + "documentation":"

An event source type, accompanied by one or more event category names.

", + "wrapper":true + }, + "EventCategoriesMapList":{ + "type":"list", + "member":{ + "shape":"EventCategoriesMap", + "locationName":"EventCategoriesMap" + } + }, + "EventCategoriesMessage":{ + "type":"structure", + "members":{ + "EventCategoriesMapList":{ + "shape":"EventCategoriesMapList", + "documentation":"

A list of event category maps.

" + } + }, + "documentation":"

Represents the output of DescribeEventCategories.

" + }, + "EventList":{ + "type":"list", + "member":{ + "shape":"Event", + "locationName":"Event" + } + }, + "EventsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

Detailed information about one or more events.

" + } + }, + "documentation":"

Represents the output of DescribeEvents.

" + }, + "FailoverDBClusterMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

A cluster identifier to force a failover for. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "TargetDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Amazon DocumentDB replica in the cluster. For example, mydbcluster-replica1.

" + } + }, + "documentation":"

Represents the input to FailoverDBCluster.

" + }, + "FailoverDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the filter. Filter names are case sensitive.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

One or more filter values. Filter values are case sensitive.

" + } + }, + "documentation":"

A named set of filter values, used to return a more specific list of results. You can use a filter to match a set of resources by specific criteria, such as IDs.

Wildcards are not supported in filters.

" + }, + "FilterList":{ + "type":"list", + "member":{ + "shape":"Filter", + "locationName":"Filter" + } + }, + "FilterValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"Value" + } + }, + "InstanceQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of instances.

", + "error":{ + "code":"InstanceQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The cluster doesn't have enough capacity for the current operation.

", + "error":{ + "code":"InsufficientDBClusterCapacityFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBInstanceCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified instance class isn't available in the specified Availability Zone.

", + "error":{ + "code":"InsufficientDBInstanceCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientStorageClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There is not enough storage available for the current action. You might be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

", + "error":{ + "code":"InsufficientStorageClusterCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidDBClusterSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The provided value isn't a valid cluster snapshot state.

", + "error":{ + "code":"InvalidDBClusterSnapshotStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The cluster isn't in a valid state.

", + "error":{ + "code":"InvalidDBClusterStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBInstanceStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified instance isn't in the available state.

", + "error":{ + "code":"InvalidDBInstanceState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The parameter group is in use, or it is in a state that is not valid. If you are trying to delete the parameter group, you can't delete it when the parameter group is in this state.

", + "error":{ + "code":"InvalidDBParameterGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSecurityGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the security group doesn't allow deletion.

", + "error":{ + "code":"InvalidDBSecurityGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the snapshot doesn't allow deletion.

", + "error":{ + "code":"InvalidDBSnapshotState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The subnet group can't be deleted because it's in use.

", + "error":{ + "code":"InvalidDBSubnetGroupStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The subnet isn't in the available state.

", + "error":{ + "code":"InvalidDBSubnetStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidRestoreFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot restore from a virtual private cloud (VPC) backup to a non-VPC DB instance.

", + "error":{ + "code":"InvalidRestoreFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC).

", + "error":{ + "code":"InvalidSubnet", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The subnet group doesn't cover all Availability Zones after it is created because of changes that were made.

", + "error":{ + "code":"InvalidVPCNetworkStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

An error occurred when accessing an AWS KMS key.

", + "error":{ + "code":"KMSKeyNotAccessibleFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + }, + "documentation":"

Represents the input to ListTagsForResource.

" + }, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ModifyDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The cluster identifier for the cluster that is being modified. This parameter is not case sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "NewDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The new cluster identifier for the cluster when renaming a cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster2

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

A value that specifies whether the changes in this request and any pending changes are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cluster. If this parameter is set to false, changes to the cluster are applied during the next maintenance window.

The ApplyImmediately parameter affects only the NewDBClusterIdentifier and MasterUserPassword values. If you set this parameter value to false, the changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group to use for the cluster.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of virtual private cloud (VPC) security groups that the cluster will belong to.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The same port as the original cluster.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The password for the master database user. This password can contain any printable ASCII character except forward slash (/), double quote (\"), or the \"at\" symbol (@).

Constraints: Must contain from 8 to 100 characters.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

" + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

The configuration setting for the log types to be enabled for export to Amazon CloudWatch Logs for a specific instance or cluster. The EnableLogTypes and DisableLogTypes arrays determine which logs are exported (or not exported) to CloudWatch Logs.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.

" + } + }, + "documentation":"

Represents the input to ModifyDBCluster.

" + }, + "ModifyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "Parameters" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group to modify.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameters in the cluster parameter group to modify.

" + } + }, + "documentation":"

Represents the input to ModifyDBClusterParameterGroup.

" + }, + "ModifyDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "ModifyDBClusterSnapshotAttributeMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "AttributeName" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the cluster snapshot to modify the attributes for.

" + }, + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual cluster snapshot, set this value to restore.

" + }, + "ValuesToAdd":{ + "shape":"AttributeValueList", + "documentation":"

A list of cluster snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual cluster snapshot, set this list to include one or more AWS account IDs. To make the manual cluster snapshot restorable by any AWS account, set it to all. Do not add the all value for any manual cluster snapshots that contain private information that you don't want to be available to all AWS accounts.

" + }, + "ValuesToRemove":{ + "shape":"AttributeValueList", + "documentation":"

A list of cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual cluster snapshot, set this list to include one or more AWS account identifiers. To remove authorization for any AWS account to copy or restore the cluster snapshot, set it to all . If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual cluster snapshot.

" + } + }, + "documentation":"

Represents the input to ModifyDBClusterSnapshotAttribute.

" + }, + "ModifyDBClusterSnapshotAttributeResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "ModifyDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The new compute and memory capacity of the instance; for example, db.r5.large. Not all instance classes are available in all AWS Regions.

If you modify the instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the instance.

If this parameter is set to false, changes to the instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot.

Default: false

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, changing this parameter causes a reboot of the instance. If you are moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure that pending changes are applied.

Default: Uses existing setting.

Format: ddd:hh24:mi-ddd:hh24:mi

Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Must be at least 30 minutes.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor version upgrades are applied automatically to the instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case, and the change is asynchronously applied as soon as possible. An outage results if this parameter is set to true during the maintenance window, and a newer minor version is available, and Amazon DocumentDB has enabled automatic patching for that engine version.

" + }, + "NewDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The new instance identifier for the instance when renaming an instance. When you change the instance identifier, an instance reboot occurs immediately if you set Apply Immediately to true. It occurs during the next maintenance window if you set Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

Indicates the certificate that needs to be associated with the instance.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid values: 0-15

" + } + }, + "documentation":"

Represents the input to ModifyDBInstance.

" + }, + "ModifyDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "ModifyDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The Amazon EC2 subnet IDs for the subnet group.

" + } + }, + "documentation":"

Represents the input to ModifyDBSubnetGroup.

" + }, + "ModifyDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "OrderableDBInstanceOption":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The engine type of an instance.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version of an instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The instance class for an instance.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for an instance.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

A list of Availability Zones for an instance.

" + }, + "Vpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether an instance is in a virtual private cloud (VPC).

" + } + }, + "documentation":"

The options that are available for an instance.

", + "wrapper":true + }, + "OrderableDBInstanceOptionsList":{ + "type":"list", + "member":{ + "shape":"OrderableDBInstanceOption", + "locationName":"OrderableDBInstanceOption" + } + }, + "OrderableDBInstanceOptionsMessage":{ + "type":"structure", + "members":{ + "OrderableDBInstanceOptions":{ + "shape":"OrderableDBInstanceOptionsList", + "documentation":"

The options that are available for a particular orderable instance.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DescribeOrderableDBInstanceOptions.

" + }, + "Parameter":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

Specifies the name of the parameter.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

Specifies the value of the parameter.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides a description of the parameter.

" + }, + "Source":{ + "shape":"String", + "documentation":"

Indicates the source of the parameter value.

" + }, + "ApplyType":{ + "shape":"String", + "documentation":"

Specifies the engine-specific parameters type.

" + }, + "DataType":{ + "shape":"String", + "documentation":"

Specifies the valid data type for the parameter.

" + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

Specifies the valid range of values for the parameter.

" + }, + "IsModifiable":{ + "shape":"Boolean", + "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" + }, + "MinimumEngineVersion":{ + "shape":"String", + "documentation":"

The earliest engine version to which the parameter can apply.

" + }, + "ApplyMethod":{ + "shape":"ApplyMethod", + "documentation":"

Indicates when to apply parameter updates.

" + } + }, + "documentation":"

Detailed information about an individual parameter.

" + }, + "ParametersList":{ + "type":"list", + "member":{ + "shape":"Parameter", + "locationName":"Parameter" + } + }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

" + }, + "LogTypesToDisable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

A list of the log types whose configuration is still pending. These log types are in the process of being activated or deactivated.

" + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"String", + "documentation":"

The type of pending maintenance action that is available for the resource.

" + }, + "AutoAppliedAfterDate":{ + "shape":"TStamp", + "documentation":"

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" + }, + "ForcedApplyDate":{ + "shape":"TStamp", + "documentation":"

The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" + }, + "CurrentApplyDate":{ + "shape":"TStamp", + "documentation":"

The effective date when the pending maintenance action is applied to the resource.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description providing more detail about the maintenance action.

" + } + }, + "documentation":"

Provides information about a pending maintenance action for a resource.

" + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{ + "shape":"PendingMaintenanceAction", + "locationName":"PendingMaintenanceAction" + } + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{ + "shape":"ResourcePendingMaintenanceActions", + "locationName":"ResourcePendingMaintenanceActions" + } + }, + "PendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{ + "shape":"PendingMaintenanceActions", + "documentation":"

The maintenance actions to be applied.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + }, + "documentation":"

Represents the output of DescribePendingMaintenanceActions.

" + }, + "PendingModifiedValues":{ + "type":"structure", + "members":{ + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceClass for the instance that will be applied or is currently being applied.

" + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

Contains the new AllocatedStorage size for then instance that will be applied or is currently being applied.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

Contains the pending or currently in-progress change of the master credentials for the instance.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending port for the instance.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending number of days for which automated backups are retained.

" + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for the instance.

Valid values: license-included, bring-your-own-license, general-public-license

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the new Provisioned IOPS value for the instance that will be applied or is currently being applied.

" + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceIdentifier for the instance that will be applied or is currently being applied.

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Specifies the storage type to be associated with the instance.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the certificate authority (CA) certificate for the DB instance.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The new subnet group for the instance.

" + }, + "PendingCloudwatchLogsExports":{ + "shape":"PendingCloudwatchLogsExports", + "documentation":"

A list of the log types whose configuration is still pending. These log types are in the process of being activated or deactivated.

" + } + }, + "documentation":"

One or more modified settings for an instance. These modified settings have been requested, but haven't been applied yet.

" + }, + "RebootDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "ForceFailover":{ + "shape":"BooleanOptional", + "documentation":"

When true, the reboot is conducted through a Multi-AZ failover.

Constraint: You can't specify true if the instance is not configured for Multi-AZ.

" + } + }, + "documentation":"

Represents the input to RebootDBInstance.

" + }, + "RebootDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "RemoveTagsFromResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "TagKeys" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon DocumentDB resource that the tags are removed from. This value is an Amazon Resource Name (ARN).

" + }, + "TagKeys":{ + "shape":"KeyList", + "documentation":"

The tag key (name) of the tag to be removed.

" + } + }, + "documentation":"

Represents the input to RemoveTagsFromResource.

" + }, + "ResetDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the cluster parameter group to reset.

" + }, + "ResetAllParameters":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to reset all parameters in the cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameter names in the cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" + } + }, + "documentation":"

Represents the input to ResetDBClusterParameterGroup.

" + }, + "ResourceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource ID was not found.

", + "error":{ + "code":"ResourceNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourcePendingMaintenanceActions":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource that has pending maintenance actions.

" + }, + "PendingMaintenanceActionDetails":{ + "shape":"PendingMaintenanceActionDetails", + "documentation":"

A list that provides details about the pending maintenance actions for the resource.

" + } + }, + "documentation":"

Represents the output of ApplyPendingMaintenanceAction.

", + "wrapper":true + }, + "RestoreDBClusterFromSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SnapshotIdentifier", + "Engine" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of Amazon EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the cluster to create from the snapshot or cluster snapshot. This parameter isn't case sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-snapshot-id

" + }, + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the snapshot or cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a cluster snapshot. However, you can use only the ARN to specify a snapshot.

Constraints:

  • Must match the identifier of an existing snapshot.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The database engine to use for the new cluster.

Default: The same as source.

Constraint: Must be compatible with the engine of the source.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version of the database engine to use for the new cluster.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The same port as the original cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the subnet group to use for the new cluster.

Constraints: If provided, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of virtual private cloud (VPC) security groups that the new cluster will belong to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the restored cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted cluster from a DB snapshot or cluster snapshot.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following occurs:

  • If the snapshot or cluster snapshot in SnapshotIdentifier is encrypted, then the restored cluster is encrypted using the AWS KMS key that was used to encrypt the snapshot or the cluster snapshot.

  • If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.

" + } + }, + "documentation":"

Represents the input to RestoreDBClusterFromSnapshot.

" + }, + "RestoreDBClusterFromSnapshotResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "RestoreDBClusterToPointInTimeMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SourceDBClusterIdentifier" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the new cluster to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the source cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "RestoreToTime":{ + "shape":"TStamp", + "documentation":"

The date and time to restore the cluster to.

Valid values: A time in Universal Coordinated Time (UTC) format.

Constraints:

  • Must be before the latest restorable time for the instance.

  • Must be specified if the UseLatestRestorableTime parameter is not provided.

  • Cannot be specified if the UseLatestRestorableTime parameter is true.

  • Cannot be specified if the RestoreType parameter is copy-on-write.

Example: 2015-03-07T23:45:00Z

" + }, + "UseLatestRestorableTime":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to restore the cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if the RestoreToTime parameter is provided.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new cluster accepts connections.

Constraints: Must be a value from 1150 to 65535.

Default: The default port for the engine.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The subnet group name to use for the new cluster.

Constraints: If provided, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of VPC security groups that the new cluster belongs to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the restored cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted cluster from an encrypted cluster.

The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.

You can restore to a new cluster and encrypt the new cluster with an AWS KMS key that is different from the AWS KMS key used to encrypt the source cluster. The new DB cluster is encrypted with the AWS KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following occurs:

  • If the cluster is encrypted, then the restored cluster is encrypted using the AWS KMS key that was used to encrypt the source cluster.

  • If the cluster is not encrypted, then the restored cluster is not encrypted.

If DBClusterIdentifier refers to a cluster that is not encrypted, then the restore request is rejected.

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that must be enabled for exporting to Amazon CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether this cluster can be deleted. If DeletionProtection is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection is disabled. DeletionProtection protects clusters from being accidentally deleted.

" + } + }, + "documentation":"

Represents the input to RestoreDBClusterToPointInTime.

" + }, + "RestoreDBClusterToPointInTimeResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "SharedSnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", + "error":{ + "code":"SharedSnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed number of snapshots.

", + "error":{ + "code":"SnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SourceType":{ + "type":"string", + "enum":[ + "db-instance", + "db-parameter-group", + "db-security-group", + "db-snapshot", + "db-cluster", + "db-cluster-snapshot" + ] + }, + "StartDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52

" + } + } + }, + "StartDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StopDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52

" + } + } + }, + "StopDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StorageQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request would cause you to exceed the allowed amount of storage available across all instances.

", + "error":{ + "code":"StorageQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "StorageTypeNotSupportedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Storage of the specified StorageType can't be associated with the DB instance.

", + "error":{ + "code":"StorageTypeNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the subnet.

" + }, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

Specifies the Availability Zone for the subnet.

" + }, + "SubnetStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the subnet.

" + } + }, + "documentation":"

Detailed information about a subnet.

" + }, + "SubnetAlreadyInUse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The subnet is already in use in the Availability Zone.

", + "error":{ + "code":"SubnetAlreadyInUse", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SubnetIdentifier" + } + }, + "SubnetList":{ + "type":"list", + "member":{ + "shape":"Subnet", + "locationName":"Subnet" + } + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can contain only the set of Unicode letters, digits, white space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + }, + "Value":{ + "shape":"String", + "documentation":"

The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can contain only the set of Unicode letters, digits, white space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + } + }, + "documentation":"

Metadata assigned to an Amazon DocumentDB resource consisting of a key-value pair.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagListMessage":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

A list of one or more tags.

" + } + }, + "documentation":"

Represents the output of ListTagsForResource.

" + }, + "UpgradeTarget":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the upgrade target database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the upgrade target database engine.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The version of the database engine that an instance can be upgraded to.

" + }, + "AutoUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" + }, + "IsMajorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether a database engine is upgraded to a major version.

" + } + }, + "documentation":"

The version of the database engine that an instance can be upgraded to.

" + }, + "ValidUpgradeTargetList":{ + "type":"list", + "member":{ + "shape":"UpgradeTarget", + "locationName":"UpgradeTarget" + } + }, + "VpcSecurityGroupIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"VpcSecurityGroupId" + } + }, + "VpcSecurityGroupMembership":{ + "type":"structure", + "members":{ + "VpcSecurityGroupId":{ + "shape":"String", + "documentation":"

The name of the VPC security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the VPC security group.

" + } + }, + "documentation":"

Used as a response element for queries on virtual private cloud (VPC) security group membership.

" + }, + "VpcSecurityGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"VpcSecurityGroupMembership", + "locationName":"VpcSecurityGroupMembership" + } + } + }, + "documentation":"

Amazon DocumentDB API documentation

" +} diff -Nru python-botocore-1.4.70/botocore/data/docdb/2014-10-31/waiters-2.json python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/waiters-2.json --- python-botocore-1.4.70/botocore/data/docdb/2014-10-31/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/docdb/2014-10-31/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,90 @@ +{ + "version": 2, + "waiters": { + "DBInstanceAvailable": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + }, + "DBInstanceDeleted": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "DBInstanceNotFound", + "matcher": "error", + "state": "success" + }, + { + "expected": "creating", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "modifying", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "rebooting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "resetting-master-credentials", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/ds/2015-04-16/examples-1.json python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/examples-1.json --- python-botocore-1.4.70/botocore/data/ds/2015-04-16/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/ds/2015-04-16/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/paginators-1.json --- python-botocore-1.4.70/botocore/data/ds/2015-04-16/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "DescribeDomainControllers": { + "result_key": "DomainControllers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "Limit" + }, + "DescribeDirectories": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "DirectoryDescriptions" + }, + "DescribeSharedDirectories": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SharedDirectories" + }, + "DescribeSnapshots": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Snapshots" + }, + "DescribeTrusts": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Trusts" + }, + "ListIpRoutes": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "IpRoutesInfo" + }, + "ListLogSubscriptions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "LogSubscriptions" + }, + "ListSchemaExtensions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SchemaExtensionsInfo" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/ds/2015-04-16/service-2.json python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/service-2.json --- python-botocore-1.4.70/botocore/data/ds/2015-04-16/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ds/2015-04-16/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,10 +7,29 @@ "protocol":"json", "serviceAbbreviation":"Directory Service", "serviceFullName":"AWS Directory Service", + "serviceId":"Directory Service", "signatureVersion":"v4", - "targetPrefix":"DirectoryService_20150416" + "targetPrefix":"DirectoryService_20150416", + "uid":"ds-2015-04-16" }, "operations":{ + "AcceptSharedDirectory":{ + "name":"AcceptSharedDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptSharedDirectoryRequest"}, + "output":{"shape":"AcceptSharedDirectoryResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"DirectoryAlreadySharedException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Accepts a directory sharing request that was sent from the directory owner account.

" + }, "AddIpRoutes":{ "name":"AddIpRoutes", "http":{ @@ -28,7 +47,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

" + "documentation":"

If the DNS server for your on-premises domain uses a publicly addressable IP address, you must add a CIDR address block to correctly route traffic to and from your Microsoft AD on Amazon Web Services. AddIpRoutes adds this address block. You can also use AddIpRoutes to facilitate routing traffic that uses public IP ranges from your Microsoft AD on AWS to a peer VPC.

Before you call AddIpRoutes, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the AddIpRoutes operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" }, "AddTagsToResource":{ "name":"AddTagsToResource", @@ -45,7 +64,22 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Adds or overwrites one or more tags for the specified Amazon Directory Services directory. Each directory can have a maximum of 10 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

" + "documentation":"

Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.

" + }, + "CancelSchemaExtension":{ + "name":"CancelSchemaExtension", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelSchemaExtensionRequest"}, + "output":{"shape":"CancelSchemaExtensionResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Cancels an in-progress schema extension to a Microsoft AD directory. Once a schema extension has started replicating to all domain controllers, the task can no longer be canceled. A schema extension can be canceled during any of the following states; Initializing, CreatingSnapshot, and UpdatingSchema.

" }, "ConnectDirectory":{ "name":"ConnectDirectory", @@ -61,7 +95,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Creates an AD Connector to connect to an on-premises directory.

" + "documentation":"

Creates an AD Connector to connect to an on-premises directory.

Before you call ConnectDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the ConnectDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -133,7 +167,25 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Creates a Simple AD directory.

" + "documentation":"

Creates a Simple AD directory. For more information, see Simple Active Directory in the AWS Directory Service Admin Guide.

Before you call CreateDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" + }, + "CreateLogSubscription":{ + "name":"CreateLogSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLogSubscriptionRequest"}, + "output":{"shape":"CreateLogSubscriptionResult"}, + "errors":[ + {"shape":"EntityAlreadyExistsException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InsufficientPermissionsException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Creates a subscription to forward real-time Directory Service domain controller security logs to the specified Amazon CloudWatch log group in your AWS account.

" }, "CreateMicrosoftAD":{ "name":"CreateMicrosoftAD", @@ -150,7 +202,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Creates a Microsoft AD in the AWS cloud.

" + "documentation":"

Creates a Microsoft AD directory in the AWS Cloud. For more information, see AWS Managed Microsoft AD in the AWS Directory Service Admin Guide.

Before you call CreateMicrosoftAD, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the CreateMicrosoftAD operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -185,7 +237,7 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" + "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain. You can create either a forest trust or an external trust.

" }, "DeleteConditionalForwarder":{ "name":"DeleteConditionalForwarder", @@ -218,7 +270,23 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Deletes an AWS Directory Service directory.

" + "documentation":"

Deletes an AWS Directory Service directory.

Before you call DeleteDirectory, ensure that all of the required permissions have been explicitly granted through a policy. For details about what permissions are required to run the DeleteDirectory operation, see AWS Directory Service API Permissions: Actions, Resources, and Conditions Reference.

" + }, + "DeleteLogSubscription":{ + "name":"DeleteLogSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLogSubscriptionRequest"}, + "output":{"shape":"DeleteLogSubscriptionResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Deletes the specified log subscription.

" }, "DeleteSnapshot":{ "name":"DeleteSnapshot", @@ -251,7 +319,27 @@ {"shape":"ServiceException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes an existing trust relationship between your Microsoft AD in the AWS cloud and an external domain.

" + "documentation":"

Deletes an existing trust relationship between your AWS Managed Microsoft AD directory and an external domain.

" + }, + "DeregisterCertificate":{ + "name":"DeregisterCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterCertificateRequest"}, + "output":{"shape":"DeregisterCertificateResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"CertificateDoesNotExistException"}, + {"shape":"CertificateInUseException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Deletes from the system the certificate that was registered for a secured LDAP connection.

" }, "DeregisterEventTopic":{ "name":"DeregisterEventTopic", @@ -269,6 +357,24 @@ ], "documentation":"

Removes the specified directory as a publisher to the specified SNS topic.

" }, + "DescribeCertificate":{ + "name":"DescribeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateRequest"}, + "output":{"shape":"DescribeCertificateResult"}, + "errors":[ + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"CertificateDoesNotExistException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Displays information about the certificate registered for a secured LDAP connection.

" + }, "DescribeConditionalForwarders":{ "name":"DescribeConditionalForwarders", "http":{ @@ -302,7 +408,25 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Obtains information about the directories that belong to this account.

You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken member contains a token that you pass in the next call to DescribeDirectories to retrieve the next set of items.

You can also specify a maximum number of return results with the Limit parameter.

" + "documentation":"

Obtains information about the directories that belong to this account.

You can retrieve information about specific directories by passing the directory identifiers in the DirectoryIds parameter. Otherwise, all directories that belong to the current account are returned.

This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the DescribeDirectoriesResult.NextToken member contains a token that you pass in the next call to DescribeDirectories to retrieve the next set of items.

You can also specify a maximum number of return results with the Limit parameter.

" + }, + "DescribeDomainControllers":{ + "name":"DescribeDomainControllers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDomainControllersRequest"}, + "output":{"shape":"DescribeDomainControllersResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

Provides information about any domain controllers in your directory.

" }, "DescribeEventTopics":{ "name":"DescribeEventTopics", @@ -320,6 +444,42 @@ ], "documentation":"

Obtains information about which SNS topics receive status messages from the specified directory.

If no input parameters are provided, such as DirectoryId or TopicName, this request describes all of the associations in the account.

" }, + "DescribeLDAPSSettings":{ + "name":"DescribeLDAPSSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLDAPSSettingsRequest"}, + "output":{"shape":"DescribeLDAPSSettingsResult"}, + "errors":[ + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Describes the status of LDAP security for the specified directory.

" + }, + "DescribeSharedDirectories":{ + "name":"DescribeSharedDirectories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSharedDirectoriesRequest"}, + "output":{"shape":"DescribeSharedDirectoriesResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Returns the shared directories in your account.

" + }, "DescribeSnapshots":{ "name":"DescribeSnapshots", "http":{ @@ -355,6 +515,25 @@ ], "documentation":"

Obtains information about the trust relationships for this account.

If no input parameters are provided, such as DirectoryId or TrustIds, this request describes all the trust relationships belonging to the account.

" }, + "DisableLDAPS":{ + "name":"DisableLDAPS", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableLDAPSRequest"}, + "output":{"shape":"DisableLDAPSResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"InvalidLDAPSStatusException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Deactivates LDAP secure calls for the specified directory.

" + }, "DisableRadius":{ "name":"DisableRadius", "http":{ @@ -368,7 +547,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector directory.

" + "documentation":"

Disables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

" }, "DisableSso":{ "name":"DisableSso", @@ -387,6 +566,26 @@ ], "documentation":"

Disables single-sign on for a directory.

" }, + "EnableLDAPS":{ + "name":"EnableLDAPS", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableLDAPSRequest"}, + "output":{"shape":"EnableLDAPSResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"NoAvailableCertificateException"}, + {"shape":"InvalidLDAPSStatusException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Activates the switch for the specific directory to always use LDAP secure calls.

" + }, "EnableRadius":{ "name":"EnableRadius", "http":{ @@ -402,7 +601,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector directory.

" + "documentation":"

Enables multi-factor authentication (MFA) with the Remote Authentication Dial In User Service (RADIUS) server for an AD Connector or Microsoft AD directory.

" }, "EnableSso":{ "name":"EnableSso", @@ -419,7 +618,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Enables single-sign on for a directory.

" + "documentation":"

Enables single sign-on for a directory. Single sign-on allows users in your directory to access certain AWS services from a computer joined to the directory without having to enter their credentials separately.

" }, "GetDirectoryLimits":{ "name":"GetDirectoryLimits", @@ -434,7 +633,7 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Obtains directory limit information for the current region.

" + "documentation":"

Obtains directory limit information for the current Region.

" }, "GetSnapshotLimits":{ "name":"GetSnapshotLimits", @@ -451,6 +650,24 @@ ], "documentation":"

Obtains the manual snapshot limits for a directory.

" }, + "ListCertificates":{ + "name":"ListCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCertificatesRequest"}, + "output":{"shape":"ListCertificatesResult"}, + "errors":[ + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

For the specified directory, lists all the certificates registered for a secured LDAP connection.

" + }, "ListIpRoutes":{ "name":"ListIpRoutes", "http":{ @@ -468,6 +685,38 @@ ], "documentation":"

Lists the address blocks that you have added to a directory.

" }, + "ListLogSubscriptions":{ + "name":"ListLogSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLogSubscriptionsRequest"}, + "output":{"shape":"ListLogSubscriptionsResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Lists the active log subscriptions for the AWS account.

" + }, + "ListSchemaExtensions":{ + "name":"ListSchemaExtensions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSchemaExtensionsRequest"}, + "output":{"shape":"ListSchemaExtensionsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Lists all schema extensions applied to a Microsoft AD Directory.

" + }, "ListTagsForResource":{ "name":"ListTagsForResource", "http":{ @@ -483,7 +732,28 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Lists all tags on an Amazon Directory Services directory.

" + "documentation":"

Lists all tags on a directory.

" + }, + "RegisterCertificate":{ + "name":"RegisterCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterCertificateRequest"}, + "output":{"shape":"RegisterCertificateResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"DirectoryDoesNotExistException"}, + {"shape":"InvalidCertificateException"}, + {"shape":"CertificateLimitExceededException"}, + {"shape":"CertificateAlreadyExistsException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Registers a certificate for secured LDAP connection.

" }, "RegisterEventTopic":{ "name":"RegisterEventTopic", @@ -501,6 +771,23 @@ ], "documentation":"

Associates a directory with an SNS topic. This establishes the directory as a publisher to the specified SNS topic. You can then receive email or text (SMS) messages when the status of your directory changes. You get notified if your directory goes from an Active status to an Impaired or Inoperable status. You also receive a notification when the directory returns to an Active status.

" }, + "RejectSharedDirectory":{ + "name":"RejectSharedDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectSharedDirectoryRequest"}, + "output":{"shape":"RejectSharedDirectoryResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"DirectoryAlreadySharedException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Rejects a directory sharing request that was sent from the directory owner account.

" + }, "RemoveIpRoutes":{ "name":"RemoveIpRoutes", "http":{ @@ -532,7 +819,26 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Removes tags from an Amazon Directory Services directory.

" + "documentation":"

Removes tags from a directory.

" + }, + "ResetUserPassword":{ + "name":"ResetUserPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetUserPasswordRequest"}, + "output":{"shape":"ResetUserPasswordResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"UserDoesNotExistException"}, + {"shape":"InvalidPasswordException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Resets the password for any user in your AWS Managed Microsoft AD or Simple AD directory.

You can reset the password for any user in your directory with the following exceptions:

  • For Simple AD, you cannot reset the password for any user that is a member of either the Domain Admins or Enterprise Admins group except for the administrator user.

  • For AWS Managed Microsoft AD, you can only reset the password for a user that is in an OU based off of the NetBIOS name that you typed when you created your directory. For example, you cannot reset the password for a user in the AWS Reserved OU. For more information about the OU structure for an AWS Managed Microsoft AD directory, see What Gets Created in the AWS Directory Service Administration Guide.

" }, "RestoreFromSnapshot":{ "name":"RestoreFromSnapshot", @@ -550,6 +856,63 @@ ], "documentation":"

Restores a directory using an existing directory snapshot.

When you restore a directory from a snapshot, any changes made to the directory after the snapshot date are overwritten.

This action returns as soon as the restore operation is initiated. You can monitor the progress of the restore operation by calling the DescribeDirectories operation with the directory identifier. When the DirectoryDescription.Stage value changes to Active, the restore operation is complete.

" }, + "ShareDirectory":{ + "name":"ShareDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ShareDirectoryRequest"}, + "output":{"shape":"ShareDirectoryResult"}, + "errors":[ + {"shape":"DirectoryAlreadySharedException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidTargetException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ShareLimitExceededException"}, + {"shape":"OrganizationsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Shares a specified directory (DirectoryId) in your AWS account (directory owner) with another AWS account (directory consumer). With this operation you can use your directory from any AWS account and from any Amazon VPC within an AWS Region.

When you share your AWS Managed Microsoft AD directory, AWS Directory Service creates a shared directory in the directory consumer account. This shared directory contains the metadata to provide access to the directory within the directory owner account. The shared directory is visible in all VPCs in the directory consumer account.

The ShareMethod parameter determines whether the specified directory can be shared between AWS accounts inside the same AWS organization (ORGANIZATIONS). It also determines whether you can share the directory with any other AWS account either inside or outside of the organization (HANDSHAKE).

The ShareNotes parameter is only used when HANDSHAKE is called, which sends a directory sharing request to the directory consumer.

" + }, + "StartSchemaExtension":{ + "name":"StartSchemaExtension", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartSchemaExtensionRequest"}, + "output":{"shape":"StartSchemaExtensionResult"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidParameterException"}, + {"shape":"SnapshotLimitExceededException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Applies a schema extension to a Microsoft AD directory.

" + }, + "UnshareDirectory":{ + "name":"UnshareDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UnshareDirectoryRequest"}, + "output":{"shape":"UnshareDirectoryResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidTargetException"}, + {"shape":"DirectoryNotSharedException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Stops the directory sharing between the directory owner and consumer accounts.

" + }, "UpdateConditionalForwarder":{ "name":"UpdateConditionalForwarder", "http":{ @@ -568,6 +931,25 @@ ], "documentation":"

Updates a conditional forwarder that has been set up for your AWS directory.

" }, + "UpdateNumberOfDomainControllers":{ + "name":"UpdateNumberOfDomainControllers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNumberOfDomainControllersRequest"}, + "output":{"shape":"UpdateNumberOfDomainControllersResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"DomainControllerLimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.

" + }, "UpdateRadius":{ "name":"UpdateRadius", "http":{ @@ -582,27 +964,71 @@ {"shape":"ClientException"}, {"shape":"ServiceException"} ], - "documentation":"

Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector directory.

" + "documentation":"

Updates the Remote Authentication Dial In User Service (RADIUS) server information for an AD Connector or Microsoft AD directory.

" }, - "VerifyTrust":{ - "name":"VerifyTrust", + "UpdateTrust":{ + "name":"UpdateTrust", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"VerifyTrustRequest"}, - "output":{"shape":"VerifyTrustResult"}, + "input":{"shape":"UpdateTrustRequest"}, + "output":{"shape":"UpdateTrustResult"}, "errors":[ {"shape":"EntityDoesNotExistException"}, {"shape":"InvalidParameterException"}, {"shape":"ClientException"}, - {"shape":"ServiceException"}, - {"shape":"UnsupportedOperationException"} + {"shape":"ServiceException"} ], - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

This action verifies a trust relationship between your Microsoft AD in the AWS cloud and an external domain.

" - } - }, + "documentation":"

Updates the trust that has been set up between your AWS Managed Microsoft AD directory and an on-premises Active Directory.

" + }, + "VerifyTrust":{ + "name":"VerifyTrust", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"VerifyTrustRequest"}, + "output":{"shape":"VerifyTrustResult"}, + "errors":[ + {"shape":"EntityDoesNotExistException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure and verify trust relationships.

This action verifies a trust relationship between your AWS Managed Microsoft AD directory and an external domain.

" + } + }, "shapes":{ + "AcceptSharedDirectoryRequest":{ + "type":"structure", + "required":["SharedDirectoryId"], + "members":{ + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

" + } + } + }, + "AcceptSharedDirectoryResult":{ + "type":"structure", + "members":{ + "SharedDirectory":{ + "shape":"SharedDirectory", + "documentation":"

The shared directory in the directory consumer account.

" + } + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "exception":true + }, "AccessUrl":{ "type":"string", "max":128, @@ -647,7 +1073,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

The tags to be assigned to the Amazon Directory Services directory.

" + "documentation":"

The tags to be assigned to the directory.

" } } }, @@ -706,6 +1132,144 @@ "type":"list", "member":{"shape":"AvailabilityZone"} }, + "CancelSchemaExtensionRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "SchemaExtensionId" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory whose schema extension will be canceled.

" + }, + "SchemaExtensionId":{ + "shape":"SchemaExtensionId", + "documentation":"

The identifier of the schema extension that will be canceled.

" + } + } + }, + "CancelSchemaExtensionResult":{ + "type":"structure", + "members":{ + } + }, + "Certificate":{ + "type":"structure", + "members":{ + "CertificateId":{ + "shape":"CertificateId", + "documentation":"

The identifier of the certificate.

" + }, + "State":{ + "shape":"CertificateState", + "documentation":"

The state of the certificate.

" + }, + "StateReason":{ + "shape":"CertificateStateReason", + "documentation":"

Describes a state change for the certificate.

" + }, + "CommonName":{ + "shape":"CertificateCN", + "documentation":"

The common name for the certificate.

" + }, + "RegisteredDateTime":{ + "shape":"CertificateRegisteredDateTime", + "documentation":"

The date and time that the certificate was registered.

" + }, + "ExpiryDateTime":{ + "shape":"CertificateExpiryDateTime", + "documentation":"

The date and time when the certificate will expire.

" + } + }, + "documentation":"

Information about the certificate.

" + }, + "CertificateAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The certificate has already been registered into the system.

", + "exception":true + }, + "CertificateCN":{"type":"string"}, + "CertificateData":{ + "type":"string", + "max":8192, + "min":1 + }, + "CertificateDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The certificate is not present in the system for describe or deregister activities.

", + "exception":true + }, + "CertificateExpiryDateTime":{"type":"timestamp"}, + "CertificateId":{ + "type":"string", + "pattern":"^c-[0-9a-f]{10}$" + }, + "CertificateInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The certificate is being used for the LDAP security connection and cannot be removed without disabling LDAP security.

", + "exception":true + }, + "CertificateInfo":{ + "type":"structure", + "members":{ + "CertificateId":{ + "shape":"CertificateId", + "documentation":"

The identifier of the certificate.

" + }, + "CommonName":{ + "shape":"CertificateCN", + "documentation":"

The common name for the certificate.

" + }, + "State":{ + "shape":"CertificateState", + "documentation":"

The state of the certificate.

" + }, + "ExpiryDateTime":{ + "shape":"CertificateExpiryDateTime", + "documentation":"

The date and time when the certificate will expire.

" + } + }, + "documentation":"

Contains general information about a certificate.

" + }, + "CertificateLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The certificate could not be added because the certificate limit has been reached.

", + "exception":true + }, + "CertificateRegisteredDateTime":{"type":"timestamp"}, + "CertificateState":{ + "type":"string", + "enum":[ + "Registering", + "Registered", + "RegisterFailed", + "Deregistering", + "Deregistered", + "DeregisterFailed" + ] + }, + "CertificateStateReason":{"type":"string"}, + "CertificatesInfo":{ + "type":"list", + "member":{"shape":"CertificateInfo"} + }, "CidrIp":{ "type":"string", "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([1-9]|[1-2][0-9]|3[0-2]))$" @@ -787,7 +1351,7 @@ "members":{ "Name":{ "shape":"DirectoryName", - "documentation":"

The fully-qualified name of the on-premises directory, such as corp.example.com.

" + "documentation":"

The fully qualified name of the on-premises directory, such as corp.example.com.

" }, "ShortName":{ "shape":"DirectoryShortName", @@ -799,7 +1363,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

A textual description for the directory.

" + "documentation":"

A description for the directory.

" }, "Size":{ "shape":"DirectorySize", @@ -808,6 +1372,10 @@ "ConnectSettings":{ "shape":"DirectoryConnectSettings", "documentation":"

A DirectoryConnectSettings object that contains additional information for the operation.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to AD Connector.

" } }, "documentation":"

Contains the inputs for the ConnectDirectory operation.

" @@ -945,15 +1513,15 @@ }, "ShortName":{ "shape":"DirectoryShortName", - "documentation":"

The short name of the directory, such as CORP.

" + "documentation":"

The NetBIOS name of the directory, such as CORP.

" }, "Password":{ "shape":"Password", - "documentation":"

The password for the directory administrator. The directory creation process creates a directory administrator account with the username Administrator and this password.

" + "documentation":"

The password for the directory administrator. The directory creation process creates a directory administrator account with the user name Administrator and this password.

If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

" }, "Description":{ "shape":"Description", - "documentation":"

A textual description for the directory.

" + "documentation":"

A description for the directory.

" }, "Size":{ "shape":"DirectorySize", @@ -962,6 +1530,10 @@ "VpcSettings":{ "shape":"DirectoryVpcSettings", "documentation":"

A DirectoryVpcSettings object that contains additional information for the operation.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to the Simple AD directory.

" } }, "documentation":"

Contains the inputs for the CreateDirectory operation.

" @@ -976,6 +1548,28 @@ }, "documentation":"

Contains the results of the CreateDirectory operation.

" }, + "CreateLogSubscriptionRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "LogGroupName" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory to which you want to subscribe and receive real-time logs to your specified CloudWatch log group.

" + }, + "LogGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the CloudWatch log group where the real-time domain controller logs are forwarded.

" + } + } + }, + "CreateLogSubscriptionResult":{ + "type":"structure", + "members":{ + } + }, "CreateMicrosoftADRequest":{ "type":"structure", "required":[ @@ -986,23 +1580,34 @@ "members":{ "Name":{ "shape":"DirectoryName", - "documentation":"

The fully qualified domain name for the directory, such as corp.example.com. This name will resolve inside your VPC only. It does not need to be publicly resolvable.

" + "documentation":"

The fully qualified domain name for the AWS Managed Microsoft AD directory, such as corp.example.com. This name will resolve inside your VPC only. It does not need to be publicly resolvable.

" }, "ShortName":{ "shape":"DirectoryShortName", - "documentation":"

The NetBIOS name for your domain. A short identifier for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

" + "documentation":"

The NetBIOS name for your domain, such as CORP. If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, CORP for the directory DNS corp.example.com.

" }, "Password":{ "shape":"Password", - "documentation":"

The password for the default administrative user named Admin.

" + "documentation":"

The password for the default administrative user named Admin.

If you need to change the password for the administrator account, you can use the ResetUserPassword API call.

" }, "Description":{ "shape":"Description", - "documentation":"

A textual description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

" + "documentation":"

A description for the directory. This label will appear on the AWS console Directory Details page after the directory is created.

" + }, + "VpcSettings":{ + "shape":"DirectoryVpcSettings", + "documentation":"

Contains VPC information for the CreateDirectory or CreateMicrosoftAD operation.

" + }, + "Edition":{ + "shape":"DirectoryEdition", + "documentation":"

AWS Managed Microsoft AD is available in two editions: Standard and Enterprise. Enterprise is the default.

" }, - "VpcSettings":{"shape":"DirectoryVpcSettings"} + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be assigned to the AWS Managed Microsoft AD directory.

" + } }, - "documentation":"

Creates a Microsoft AD in the AWS cloud.

" + "documentation":"

Creates an AWS Managed Microsoft AD directory.

" }, "CreateMicrosoftADResult":{ "type":"structure", @@ -1014,6 +1619,7 @@ }, "documentation":"

Result of a CreateMicrosoftAD request.

" }, + "CreateSnapshotBeforeSchemaExtension":{"type":"boolean"}, "CreateSnapshotRequest":{ "type":"structure", "required":["DirectoryId"], @@ -1050,7 +1656,7 @@ "members":{ "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

The Directory ID of the Microsoft AD in the AWS cloud for which to establish the trust relationship.

" + "documentation":"

The Directory ID of the AWS Managed Microsoft AD directory for which to establish the trust relationship.

" }, "RemoteDomainName":{ "shape":"RemoteDomainName", @@ -1066,14 +1672,18 @@ }, "TrustType":{ "shape":"TrustType", - "documentation":"

The trust relationship type.

" + "documentation":"

The trust relationship type. Forest is the default.

" }, "ConditionalForwarderIpAddrs":{ "shape":"DnsIpAddrs", "documentation":"

The IP addresses of the remote DNS server associated with RemoteDomainName.

" + }, + "SelectiveAuth":{ + "shape":"SelectiveAuth", + "documentation":"

Optional parameter to enable selective authentication for the trust.

" } }, - "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" + "documentation":"

AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your AWS Managed Microsoft AD directory, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.

This action initiates the creation of the AWS side of a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

" }, "CreateTrustResult":{ "type":"structure", @@ -1086,6 +1696,16 @@ "documentation":"

The result of a CreateTrust request.

" }, "CreatedDateTime":{"type":"timestamp"}, + "CustomerId":{ + "type":"string", + "pattern":"^(\\d{12})$" + }, + "CustomerUserName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^(?!.*\\\\|.*\"|.*\\/|.*\\[|.*\\]|.*:|.*;|.*\\||.*=|.*,|.*\\+|.*\\*|.*\\?|.*<|.*>|.*@).*$" + }, "DeleteAssociatedConditionalForwarder":{"type":"boolean"}, "DeleteConditionalForwarderRequest":{ "type":"structure", @@ -1132,6 +1752,21 @@ }, "documentation":"

Contains the results of the DeleteDirectory operation.

" }, + "DeleteLogSubscriptionRequest":{ + "type":"structure", + "required":["DirectoryId"], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory whose log subscription you want to delete.

" + } + } + }, + "DeleteLogSubscriptionResult":{ + "type":"structure", + "members":{ + } + }, "DeleteSnapshotRequest":{ "type":"structure", "required":["SnapshotId"], @@ -1166,7 +1801,7 @@ "documentation":"

Delete a conditional forwarder as part of a DeleteTrustRequest.

" } }, - "documentation":"

Deletes the local side of an existing trust relationship between the Microsoft AD in the AWS cloud and the external domain.

" + "documentation":"

Deletes the local side of an existing trust relationship between the AWS Managed Microsoft AD directory and the external domain.

" }, "DeleteTrustResult":{ "type":"structure", @@ -1178,6 +1813,28 @@ }, "documentation":"

The result of a DeleteTrust request.

" }, + "DeregisterCertificateRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "CertificateId" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "CertificateId":{ + "shape":"CertificateId", + "documentation":"

The identifier of the certificate.

" + } + } + }, + "DeregisterCertificateResult":{ + "type":"structure", + "members":{ + } + }, "DeregisterEventTopicRequest":{ "type":"structure", "required":[ @@ -1202,6 +1859,32 @@ }, "documentation":"

The result of a DeregisterEventTopic request.

" }, + "DescribeCertificateRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "CertificateId" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "CertificateId":{ + "shape":"CertificateId", + "documentation":"

The identifier of the certificate.

" + } + } + }, + "DescribeCertificateResult":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"Certificate", + "documentation":"

Information about the certificate, including registered date time, certificate state, the reason for the state, expiration date time, and certificate common name.

" + } + } + }, "DescribeConditionalForwardersRequest":{ "type":"structure", "required":["DirectoryId"], @@ -1236,7 +1919,7 @@ }, "NextToken":{ "shape":"NextToken", - "documentation":"

The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

" + "documentation":"

The DescribeDirectoriesResult.NextToken value from a previous call to DescribeDirectories. Pass null if this is the first call.

" }, "Limit":{ "shape":"Limit", @@ -1250,15 +1933,50 @@ "members":{ "DirectoryDescriptions":{ "shape":"DirectoryDescriptions", - "documentation":"

The list of DirectoryDescription objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" + "documentation":"

The list of DirectoryDescription objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDirectories to retrieve the next set of items.

" + "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDirectories to retrieve the next set of items.

" } }, "documentation":"

Contains the results of the DescribeDirectories operation.

" }, + "DescribeDomainControllersRequest":{ + "type":"structure", + "required":["DirectoryId"], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory for which to retrieve the domain controller information.

" + }, + "DomainControllerIds":{ + "shape":"DomainControllerIds", + "documentation":"

A list of identifiers for the domain controllers whose information will be provided.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The DescribeDomainControllers.NextToken value from a previous call to DescribeDomainControllers. Pass null if this is the first call.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of items to return.

" + } + } + }, + "DescribeDomainControllersResult":{ + "type":"structure", + "members":{ + "DomainControllers":{ + "shape":"DomainControllers", + "documentation":"

List of the DomainController objects that were retrieved.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeDomainControllers retrieve the next set of items.

" + } + } + }, "DescribeEventTopicsRequest":{ "type":"structure", "members":{ @@ -1283,84 +2001,167 @@ }, "documentation":"

The result of a DescribeEventTopic request.

" }, - "DescribeSnapshotsRequest":{ + "DescribeLDAPSSettingsRequest":{ "type":"structure", + "required":["DirectoryId"], "members":{ "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

The identifier of the directory for which to retrieve snapshot information.

" + "documentation":"

The identifier of the directory.

" }, - "SnapshotIds":{ - "shape":"SnapshotIds", - "documentation":"

A list of identifiers of the snapshots to obtain the information for. If this member is null or empty, all snapshots are returned using the Limit and NextToken members.

" + "Type":{ + "shape":"LDAPSType", + "documentation":"

The type of LDAP security to enable. Currently only the value Client is supported.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots. Pass null if this is the first call.

" + "documentation":"

The type of next token used for pagination.

" }, "Limit":{ - "shape":"Limit", - "documentation":"

The maximum number of objects to return.

" + "shape":"PageLimit", + "documentation":"

Specifies the number of items that should be displayed on one page.

" } - }, - "documentation":"

Contains the inputs for the DescribeSnapshots operation.

" + } }, - "DescribeSnapshotsResult":{ + "DescribeLDAPSSettingsResult":{ "type":"structure", "members":{ - "Snapshots":{ - "shape":"Snapshots", - "documentation":"

The list of Snapshot objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" + "LDAPSSettingsInfo":{ + "shape":"LDAPSSettingsInfo", + "documentation":"

Information about LDAP security for the specified directory, including status of enablement, state last updated date time, and the reason for the state.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value in the NextToken member of a subsequent call to DescribeSnapshots.

" + "documentation":"

The next token used to retrieve the LDAPS settings if the number of setting types exceeds page limit and there is another page.

" } - }, - "documentation":"

Contains the results of the DescribeSnapshots operation.

" + } }, - "DescribeTrustsRequest":{ + "DescribeSharedDirectoriesRequest":{ "type":"structure", + "required":["OwnerDirectoryId"], "members":{ - "DirectoryId":{ + "OwnerDirectoryId":{ "shape":"DirectoryId", - "documentation":"

The Directory ID of the AWS directory that is a part of the requested trust relationship.

" + "documentation":"

Returns the identifier of the directory in the directory owner account.

" }, - "TrustIds":{ - "shape":"TrustIds", - "documentation":"

A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

An empty list results in an InvalidParameterException being thrown.

" + "SharedDirectoryIds":{ + "shape":"DirectoryIds", + "documentation":"

A list of identifiers of all shared directories in your account.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts. Pass null if this is the first call.

" + "documentation":"

The DescribeSharedDirectoriesResult.NextToken value from a previous call to DescribeSharedDirectories. Pass null if this is the first call.

" }, "Limit":{ "shape":"Limit", - "documentation":"

The maximum number of objects to return.

" + "documentation":"

The number of shared directories to return in the response object.

" } - }, - "documentation":"

Describes the trust relationships for a particular Microsoft AD in the AWS cloud. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

" + } }, - "DescribeTrustsResult":{ + "DescribeSharedDirectoriesResult":{ "type":"structure", "members":{ - "Trusts":{ - "shape":"Trusts", - "documentation":"

The list of Trust objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" + "SharedDirectories":{ + "shape":"SharedDirectories", + "documentation":"

A list of all shared directories in your account.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

" + "documentation":"

If not null, token that indicates that more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeSharedDirectories to retrieve the next set of items.

" } - }, - "documentation":"

The result of a DescribeTrust request.

" + } }, - "Description":{ - "type":"string", - "max":128, + "DescribeSnapshotsRequest":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory for which to retrieve snapshot information.

" + }, + "SnapshotIds":{ + "shape":"SnapshotIds", + "documentation":"

A list of identifiers of the snapshots to obtain the information for. If this member is null or empty, all snapshots are returned using the Limit and NextToken members.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The DescribeSnapshotsResult.NextToken value from a previous call to DescribeSnapshots. Pass null if this is the first call.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of objects to return.

" + } + }, + "documentation":"

Contains the inputs for the DescribeSnapshots operation.

" + }, + "DescribeSnapshotsResult":{ + "type":"structure", + "members":{ + "Snapshots":{ + "shape":"Snapshots", + "documentation":"

The list of Snapshot objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If not null, more results are available. Pass this value in the NextToken member of a subsequent call to DescribeSnapshots.

" + } + }, + "documentation":"

Contains the results of the DescribeSnapshots operation.

" + }, + "DescribeTrustsRequest":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The Directory ID of the AWS directory that is a part of the requested trust relationship.

" + }, + "TrustIds":{ + "shape":"TrustIds", + "documentation":"

A list of identifiers of the trust relationships for which to obtain the information. If this member is null, all trust relationships that belong to the current account are returned.

An empty list results in an InvalidParameterException being thrown.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The DescribeTrustsResult.NextToken value from a previous call to DescribeTrusts. Pass null if this is the first call.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of objects to return.

" + } + }, + "documentation":"

Describes the trust relationships for a particular AWS Managed Microsoft AD directory. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.

" + }, + "DescribeTrustsResult":{ + "type":"structure", + "members":{ + "Trusts":{ + "shape":"Trusts", + "documentation":"

The list of Trust objects that were retrieved.

It is possible that this list contains less than the number of items specified in the Limit member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to DescribeTrusts to retrieve the next set of items.

" + } + }, + "documentation":"

The result of a DescribeTrust request.

" + }, + "Description":{ + "type":"string", + "max":128, "min":0, "pattern":"^([a-zA-Z0-9_])[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" }, + "DesiredNumberOfDomainControllers":{ + "type":"integer", + "min":2 + }, + "DirectoryAlreadySharedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The specified directory has already been shared with this AWS account.

", + "exception":true + }, "DirectoryConnectSettings":{ "type":"structure", "required":[ @@ -1384,7 +2185,7 @@ }, "CustomerUserName":{ "shape":"UserName", - "documentation":"

The username of an account in the on-premises directory that is used to connect to the directory. This account must have the following privileges:

  • Read users and groups

  • Create computer objects

  • Join computers to the domain

" + "documentation":"

The user name of an account in the on-premises directory that is used to connect to the directory. This account must have the following permissions:

  • Read users and groups

  • Create computer objects

  • Join computers to the domain

" } }, "documentation":"

Contains information for the ConnectDirectory operation when an AD Connector directory is being created.

" @@ -1398,11 +2199,11 @@ }, "SubnetIds":{ "shape":"SubnetIds", - "documentation":"

A list of subnet identifiers in the VPC that the AD connector is in.

" + "documentation":"

A list of subnet identifiers in the VPC that the AD Connector is in.

" }, "CustomerUserName":{ "shape":"UserName", - "documentation":"

The username of the service account in the on-premises directory.

" + "documentation":"

The user name of the service account in the on-premises directory.

" }, "SecurityGroupId":{ "shape":"SecurityGroupId", @@ -1428,7 +2229,7 @@ }, "Name":{ "shape":"DirectoryName", - "documentation":"

The fully-qualified name of the directory.

" + "documentation":"

The fully qualified name of the directory.

" }, "ShortName":{ "shape":"DirectoryShortName", @@ -1438,6 +2239,10 @@ "shape":"DirectorySize", "documentation":"

The directory size.

" }, + "Edition":{ + "shape":"DirectoryEdition", + "documentation":"

The edition associated with this directory.

" + }, "Alias":{ "shape":"AliasName", "documentation":"

The alias for the directory. If no alias has been created for the directory, the alias is the directory identifier, such as d-XXXXXXXXXX.

" @@ -1448,7 +2253,7 @@ }, "Description":{ "shape":"Description", - "documentation":"

The textual description for the directory.

" + "documentation":"

The description for the directory.

" }, "DnsIpAddrs":{ "shape":"DnsIpAddrs", @@ -1458,6 +2263,18 @@ "shape":"DirectoryStage", "documentation":"

The current stage of the directory.

" }, + "ShareStatus":{ + "shape":"ShareStatus", + "documentation":"

Current directory status of the shared AWS Managed Microsoft AD directory.

" + }, + "ShareMethod":{ + "shape":"ShareMethod", + "documentation":"

The method used when sharing a directory to determine whether the directory should be shared within your AWS organization (ORGANIZATIONS) or with any AWS account by sending a shared directory request (HANDSHAKE).

" + }, + "ShareNotes":{ + "shape":"Notes", + "documentation":"

A directory share request that is sent by the directory owner to the directory consumer. The request includes a typed message to help the directory consumer administrator determine whether to approve or reject the share invitation.

" + }, "LaunchTime":{ "shape":"LaunchTime", "documentation":"

Specifies when the directory was created.

" @@ -1492,7 +2309,15 @@ }, "SsoEnabled":{ "shape":"SsoEnabled", - "documentation":"

Indicates if single-sign on is enabled for the directory. For more information, see EnableSso and DisableSso.

" + "documentation":"

Indicates if single sign-on is enabled for the directory. For more information, see EnableSso and DisableSso.

" + }, + "DesiredNumberOfDomainControllers":{ + "shape":"DesiredNumberOfDomainControllers", + "documentation":"

The desired number of domain controllers in the directory if the directory is Microsoft AD.

" + }, + "OwnerDirectoryDescription":{ + "shape":"OwnerDirectoryDescription", + "documentation":"

Describes the AWS Managed Microsoft AD directory in the directory owner account.

" } }, "documentation":"

Contains information about an AWS Directory Service directory.

" @@ -1502,6 +2327,22 @@ "member":{"shape":"DirectoryDescription"}, "documentation":"

A list of directory descriptions.

" }, + "DirectoryDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The specified directory does not exist in the system.

", + "exception":true + }, + "DirectoryEdition":{ + "type":"string", + "enum":[ + "Enterprise", + "Standard" + ] + }, "DirectoryId":{ "type":"string", "pattern":"^d-[0-9a-f]{10}$" @@ -1525,11 +2366,11 @@ "members":{ "CloudOnlyDirectoriesLimit":{ "shape":"Limit", - "documentation":"

The maximum number of cloud directories allowed in the region.

" + "documentation":"

The maximum number of cloud directories allowed in the Region.

" }, "CloudOnlyDirectoriesCurrentCount":{ "shape":"Limit", - "documentation":"

The current number of cloud directories in the region.

" + "documentation":"

The current number of cloud directories in the Region.

" }, "CloudOnlyDirectoriesLimitReached":{ "shape":"CloudOnlyDirectoriesLimitReached", @@ -1537,35 +2378,44 @@ }, "CloudOnlyMicrosoftADLimit":{ "shape":"Limit", - "documentation":"

The maximum number of Microsoft AD directories allowed in the region.

" + "documentation":"

The maximum number of AWS Managed Microsoft AD directories allowed in the region.

" }, "CloudOnlyMicrosoftADCurrentCount":{ "shape":"Limit", - "documentation":"

The current number of Microsoft AD directories in the region.

" + "documentation":"

The current number of AWS Managed Microsoft AD directories in the region.

" }, "CloudOnlyMicrosoftADLimitReached":{ "shape":"CloudOnlyDirectoriesLimitReached", - "documentation":"

Indicates if the Microsoft AD directory limit has been reached.

" + "documentation":"

Indicates if the AWS Managed Microsoft AD directory limit has been reached.

" }, "ConnectedDirectoriesLimit":{ "shape":"Limit", - "documentation":"

The maximum number of connected directories allowed in the region.

" + "documentation":"

The maximum number of connected directories allowed in the Region.

" }, "ConnectedDirectoriesCurrentCount":{ "shape":"Limit", - "documentation":"

The current number of connected directories in the region.

" + "documentation":"

The current number of connected directories in the Region.

" }, "ConnectedDirectoriesLimitReached":{ "shape":"ConnectedDirectoriesLimitReached", "documentation":"

Indicates if the connected directory limit has been reached.

" } }, - "documentation":"

Contains directory limit information for a region.

" + "documentation":"

Contains directory limit information for a Region.

" }, "DirectoryName":{ "type":"string", "pattern":"^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+$" }, + "DirectoryNotSharedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The specified directory has not been shared with this AWS account.

", + "exception":true + }, "DirectoryShortName":{ "type":"string", "pattern":"^[^\\\\/:*?\\\"\\<\\>|.]+[^\\\\/:*?\\\"<>|]*$" @@ -1598,7 +2448,8 @@ "enum":[ "SimpleAD", "ADConnector", - "MicrosoftAD" + "MicrosoftAD", + "SharedMicrosoftAD" ] }, "DirectoryUnavailableException":{ @@ -1641,7 +2492,7 @@ }, "SecurityGroupId":{ "shape":"SecurityGroupId", - "documentation":"

The security group identifier for the directory. If the directory was created before 8/1/2014, this is the identifier of the directory members security group that was created when the directory was created. If the directory was created after this date, this value is null.

" + "documentation":"

The domain controller security group identifier for the directory.

" }, "AvailabilityZones":{ "shape":"AvailabilityZones", @@ -1650,6 +2501,28 @@ }, "documentation":"

Contains information about the directory.

" }, + "DisableLDAPSRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "Type" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "Type":{ + "shape":"LDAPSType", + "documentation":"

The type of LDAP security to enable. Currently only the value Client is supported.

" + } + } + }, + "DisableLDAPSResult":{ + "type":"structure", + "members":{ + } + }, "DisableRadiusRequest":{ "type":"structure", "required":["DirectoryId"], @@ -1696,6 +2569,108 @@ "type":"list", "member":{"shape":"IpAddr"} }, + "DomainController":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory where the domain controller resides.

" + }, + "DomainControllerId":{ + "shape":"DomainControllerId", + "documentation":"

Identifies a specific domain controller in the directory.

" + }, + "DnsIpAddr":{ + "shape":"IpAddr", + "documentation":"

The IP address of the domain controller.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The identifier of the VPC that contains the domain controller.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

Identifier of the subnet in the VPC that contains the domain controller.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

The Availability Zone where the domain controller is located.

" + }, + "Status":{ + "shape":"DomainControllerStatus", + "documentation":"

The status of the domain controller.

" + }, + "StatusReason":{ + "shape":"DomainControllerStatusReason", + "documentation":"

A description of the domain controller state.

" + }, + "LaunchTime":{ + "shape":"LaunchTime", + "documentation":"

Specifies when the domain controller was created.

" + }, + "StatusLastUpdatedDateTime":{ + "shape":"LastUpdatedDateTime", + "documentation":"

The date and time that the status was last updated.

" + } + }, + "documentation":"

Contains information about the domain controllers for a specified directory.

" + }, + "DomainControllerId":{ + "type":"string", + "pattern":"^dc-[0-9a-f]{10}$" + }, + "DomainControllerIds":{ + "type":"list", + "member":{"shape":"DomainControllerId"} + }, + "DomainControllerLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.

", + "exception":true + }, + "DomainControllerStatus":{ + "type":"string", + "enum":[ + "Creating", + "Active", + "Impaired", + "Restoring", + "Deleting", + "Deleted", + "Failed" + ] + }, + "DomainControllerStatusReason":{"type":"string"}, + "DomainControllers":{ + "type":"list", + "member":{"shape":"DomainController"} + }, + "EnableLDAPSRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "Type" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "Type":{ + "shape":"LDAPSType", + "documentation":"

The type of LDAP security to enable. Currently only the value Client is supported.

" + } + } + }, + "EnableLDAPSResult":{ + "type":"structure", + "members":{ + } + }, "EnableRadiusRequest":{ "type":"structure", "required":[ @@ -1745,6 +2720,7 @@ }, "documentation":"

Contains the results of the EnableSso operation.

" }, + "EndDateTime":{"type":"timestamp"}, "EntityAlreadyExistsException":{ "type":"structure", "members":{ @@ -1808,7 +2784,7 @@ "members":{ "DirectoryLimits":{ "shape":"DirectoryLimits", - "documentation":"

A DirectoryLimits object that contains the directory limits for the current region.

" + "documentation":"

A DirectoryLimits object that contains the directory limits for the current rRegion.

" } }, "documentation":"

Contains the results of the GetDirectoryLimits operation.

" @@ -1843,13 +2819,31 @@ "documentation":"

The account does not have sufficient permission to perform the operation.

", "exception":true }, + "InvalidCertificateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The certificate PEM that was provided has incorrect encoding.

", + "exception":true + }, + "InvalidLDAPSStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The LDAP activities could not be performed because they are limited by the LDAPS status.

", + "exception":true + }, "InvalidNextTokenException":{ "type":"structure", "members":{ "Message":{"shape":"ExceptionMessage"}, "RequestId":{"shape":"RequestId"} }, - "documentation":"

The NextToken value is not valid.

", + "documentation":"

The NextToken value is not valid.

", "exception":true }, "InvalidParameterException":{ @@ -1861,6 +2855,24 @@ "documentation":"

One or more parameters are not valid.

", "exception":true }, + "InvalidPasswordException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The new password provided by the user does not meet the password complexity requirements defined in your directory.

", + "exception":true + }, + "InvalidTargetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The specified shared target is not valid.

", + "exception":true + }, "IpAddr":{ "type":"string", "pattern":"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$" @@ -1942,12 +2954,84 @@ "type":"list", "member":{"shape":"IpRouteInfo"} }, + "LDAPSSettingInfo":{ + "type":"structure", + "members":{ + "LDAPSStatus":{ + "shape":"LDAPSStatus", + "documentation":"

The state of the LDAPS settings.

" + }, + "LDAPSStatusReason":{ + "shape":"LDAPSStatusReason", + "documentation":"

Describes a state change for LDAPS.

" + }, + "LastUpdatedDateTime":{ + "shape":"LastUpdatedDateTime", + "documentation":"

The date and time when the LDAPS settings were last updated.

" + } + }, + "documentation":"

Contains general information about the LDAPS settings.

" + }, + "LDAPSSettingsInfo":{ + "type":"list", + "member":{"shape":"LDAPSSettingInfo"} + }, + "LDAPSStatus":{ + "type":"string", + "enum":[ + "Enabling", + "Enabled", + "EnableFailed", + "Disabled" + ] + }, + "LDAPSStatusReason":{"type":"string"}, + "LDAPSType":{ + "type":"string", + "enum":["Client"] + }, "LastUpdatedDateTime":{"type":"timestamp"}, "LaunchTime":{"type":"timestamp"}, + "LdifContent":{ + "type":"string", + "max":500000, + "min":1 + }, "Limit":{ "type":"integer", "min":0 }, + "ListCertificatesRequest":{ + "type":"structure", + "required":["DirectoryId"], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token for requesting another page of certificates if the NextToken response element indicates that more certificates are available. Use the value of the returned NextToken element in your request until the token comes back as null. Pass null if this is the first call.

" + }, + "Limit":{ + "shape":"PageLimit", + "documentation":"

The number of items that should show up on one page

" + } + } + }, + "ListCertificatesResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Indicates whether another page of certificates is available when the number of available certificates exceeds the page limit.

" + }, + "CertificatesInfo":{ + "shape":"CertificatesInfo", + "documentation":"

A list of certificates with basic details including certificate ID, certificate common name, certificate state.

" + } + } + }, "ListIpRoutesRequest":{ "type":"structure", "required":["DirectoryId"], @@ -1979,12 +3063,73 @@ } } }, - "ListTagsForResourceRequest":{ + "ListLogSubscriptionsRequest":{ "type":"structure", - "required":["ResourceId"], "members":{ - "ResourceId":{ - "shape":"ResourceId", + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

If a DirectoryID is provided, lists only the log subscription associated with that directory. If no DirectoryId is provided, lists all log subscriptions associated with your AWS account. If there are no log subscriptions for the AWS account or the directory, an empty list will be returned.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of items returned.

" + } + } + }, + "ListLogSubscriptionsResult":{ + "type":"structure", + "members":{ + "LogSubscriptions":{ + "shape":"LogSubscriptions", + "documentation":"

A list of active LogSubscription objects for calling the AWS account.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return.

" + } + } + }, + "ListSchemaExtensionsRequest":{ + "type":"structure", + "required":["DirectoryId"], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory from which to retrieve the schema extension information.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The ListSchemaExtensions.NextToken value from a previous call to ListSchemaExtensions. Pass null if this is the first call.

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of items to return.

" + } + } + }, + "ListSchemaExtensionsResult":{ + "type":"structure", + "members":{ + "SchemaExtensionsInfo":{ + "shape":"SchemaExtensionsInfo", + "documentation":"

Information about the schema extensions applied to the directory.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to ListSchemaExtensions to retrieve the next set of items.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"ResourceId", "documentation":"

Identifier (ID) of the directory for which you want to retrieve tags.

" }, "NextToken":{ @@ -2010,13 +3155,99 @@ } } }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[-._/#A-Za-z0-9]+" + }, + "LogSubscription":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier (ID) of the directory that you want to associate with the log subscription.

" + }, + "LogGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "SubscriptionCreatedDateTime":{ + "shape":"SubscriptionCreatedDateTime", + "documentation":"

The date and time that the log subscription was created.

" + } + }, + "documentation":"

Represents a log subscription, which tracks real-time data from a chosen log group to a specified destination.

" + }, + "LogSubscriptions":{ + "type":"list", + "member":{"shape":"LogSubscription"} + }, "ManualSnapshotsLimitReached":{"type":"boolean"}, "NextToken":{"type":"string"}, + "NoAvailableCertificateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The LDAP activities could not be performed because at least one valid certificate must be registered with the system.

", + "exception":true + }, + "Notes":{ + "type":"string", + "max":1024, + "sensitive":true + }, "OrganizationalUnitDN":{ "type":"string", "max":2000, "min":1 }, + "OrganizationsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

Exception encountered while trying to access your AWS organization.

", + "exception":true + }, + "OwnerDirectoryDescription":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the AWS Managed Microsoft AD directory in the directory owner account.

" + }, + "AccountId":{ + "shape":"CustomerId", + "documentation":"

Identifier of the directory owner account.

" + }, + "DnsIpAddrs":{ + "shape":"DnsIpAddrs", + "documentation":"

IP address of the directory’s domain controllers.

" + }, + "VpcSettings":{ + "shape":"DirectoryVpcSettingsDescription", + "documentation":"

Information about the VPC settings for the directory.

" + }, + "RadiusSettings":{ + "shape":"RadiusSettings", + "documentation":"

A RadiusSettings object that contains information about the RADIUS server.

" + }, + "RadiusStatus":{ + "shape":"RadiusStatus", + "documentation":"

Information about the status of the RADIUS server.

" + } + }, + "documentation":"

Describes the directory owner account details that have been shared to the directory consumer account.

" + }, + "PageLimit":{ + "type":"integer", + "max":50, + "min":1 + }, "Password":{ "type":"string", "pattern":"(?=^.{8,64}$)((?=.*\\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[^A-Za-z0-9\\s])(?=.*[a-z])|(?=.*[^A-Za-z0-9\\s])(?=.*[A-Z])(?=.*[a-z])|(?=.*\\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9\\s]))^.*", @@ -2067,7 +3298,7 @@ }, "SharedSecret":{ "shape":"RadiusSharedSecret", - "documentation":"

Not currently used.

" + "documentation":"

Required for enabling RADIUS on the directory.

" }, "AuthenticationProtocol":{ "shape":"RadiusAuthenticationProtocol", @@ -2103,6 +3334,32 @@ "max":20, "min":1 }, + "RegisterCertificateRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "CertificateData" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory.

" + }, + "CertificateData":{ + "shape":"CertificateData", + "documentation":"

The certificate PEM string that needs to be registered.

" + } + } + }, + "RegisterCertificateResult":{ + "type":"structure", + "members":{ + "CertificateId":{ + "shape":"CertificateId", + "documentation":"

The identifier of the certificate.

" + } + } + }, "RegisterEventTopicRequest":{ "type":"structure", "required":[ @@ -2127,6 +3384,25 @@ }, "documentation":"

The result of a RegisterEventTopic request.

" }, + "RejectSharedDirectoryRequest":{ + "type":"structure", + "required":["SharedDirectoryId"], + "members":{ + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

" + } + } + }, + "RejectSharedDirectoryResult":{ + "type":"structure", + "members":{ + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the shared directory in the directory consumer account.

" + } + } + }, "RemoteDomainName":{ "type":"string", "pattern":"^([a-zA-Z0-9]+[\\\\.-])+([a-zA-Z0-9])+[.]?$" @@ -2188,6 +3464,33 @@ "documentation":"

The AWS request identifier.

", "pattern":"^([A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12})$" }, + "ResetUserPasswordRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "UserName", + "NewPassword" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the AWS Managed Microsoft AD or Simple AD directory in which the user resides.

" + }, + "UserName":{ + "shape":"CustomerUserName", + "documentation":"

The user name of the user whose password will be reset.

" + }, + "NewPassword":{ + "shape":"UserPassword", + "documentation":"

The new password that will be reset.

" + } + } + }, + "ResetUserPasswordResult":{ + "type":"structure", + "members":{ + } + }, "ResourceId":{ "type":"string", "pattern":"^[d]-[0-9a-f]{10}$" @@ -2215,9 +3518,73 @@ "min":1, "pattern":"[&\\w+-.@]+" }, + "SchemaExtensionId":{ + "type":"string", + "pattern":"^e-[0-9a-f]{10}$" + }, + "SchemaExtensionInfo":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory to which the schema extension is applied.

" + }, + "SchemaExtensionId":{ + "shape":"SchemaExtensionId", + "documentation":"

The identifier of the schema extension.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the schema extension.

" + }, + "SchemaExtensionStatus":{ + "shape":"SchemaExtensionStatus", + "documentation":"

The current status of the schema extension.

" + }, + "SchemaExtensionStatusReason":{ + "shape":"SchemaExtensionStatusReason", + "documentation":"

The reason for the SchemaExtensionStatus.

" + }, + "StartDateTime":{ + "shape":"StartDateTime", + "documentation":"

The date and time that the schema extension started being applied to the directory.

" + }, + "EndDateTime":{ + "shape":"EndDateTime", + "documentation":"

The date and time that the schema extension was completed.

" + } + }, + "documentation":"

Information about a schema extension.

" + }, + "SchemaExtensionStatus":{ + "type":"string", + "enum":[ + "Initializing", + "CreatingSnapshot", + "UpdatingSchema", + "Replicating", + "CancelInProgress", + "RollbackInProgress", + "Cancelled", + "Failed", + "Completed" + ] + }, + "SchemaExtensionStatusReason":{"type":"string"}, + "SchemaExtensionsInfo":{ + "type":"list", + "member":{"shape":"SchemaExtensionInfo"} + }, "SecurityGroupId":{ "type":"string", - "pattern":"^(sg-[0-9a-f]{8})$" + "pattern":"^(sg-[0-9a-f]{8}|sg-[0-9a-f]{17})$" + }, + "SelectiveAuth":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] }, "Server":{ "type":"string", @@ -2238,6 +3605,135 @@ "exception":true, "fault":true }, + "ShareDirectoryRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "ShareTarget", + "ShareMethod" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the AWS Managed Microsoft AD directory that you want to share with other AWS accounts.

" + }, + "ShareNotes":{ + "shape":"Notes", + "documentation":"

A directory share request that is sent by the directory owner to the directory consumer. The request includes a typed message to help the directory consumer administrator determine whether to approve or reject the share invitation.

" + }, + "ShareTarget":{ + "shape":"ShareTarget", + "documentation":"

Identifier for the directory consumer account with whom the directory is to be shared.

" + }, + "ShareMethod":{ + "shape":"ShareMethod", + "documentation":"

The method used when sharing a directory to determine whether the directory should be shared within your AWS organization (ORGANIZATIONS) or with any AWS account by sending a directory sharing request (HANDSHAKE).

" + } + } + }, + "ShareDirectoryResult":{ + "type":"structure", + "members":{ + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory that is stored in the directory consumer account that is shared from the specified directory (DirectoryId).

" + } + } + }, + "ShareLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The maximum number of AWS accounts that you can share with this directory has been reached.

", + "exception":true + }, + "ShareMethod":{ + "type":"string", + "enum":[ + "ORGANIZATIONS", + "HANDSHAKE" + ] + }, + "ShareStatus":{ + "type":"string", + "enum":[ + "Shared", + "PendingAcceptance", + "Rejected", + "Rejecting", + "RejectFailed", + "Sharing", + "ShareFailed", + "Deleted", + "Deleting" + ] + }, + "ShareTarget":{ + "type":"structure", + "required":[ + "Id", + "Type" + ], + "members":{ + "Id":{ + "shape":"TargetId", + "documentation":"

Identifier of the directory consumer account.

" + }, + "Type":{ + "shape":"TargetType", + "documentation":"

Type of identifier to be used in the Id field.

" + } + }, + "documentation":"

Identifier that contains details about the directory consumer account.

" + }, + "SharedDirectories":{ + "type":"list", + "member":{"shape":"SharedDirectory"} + }, + "SharedDirectory":{ + "type":"structure", + "members":{ + "OwnerAccountId":{ + "shape":"CustomerId", + "documentation":"

Identifier of the directory owner account, which contains the directory that has been shared to the consumer account.

" + }, + "OwnerDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory in the directory owner account.

" + }, + "ShareMethod":{ + "shape":"ShareMethod", + "documentation":"

The method used when sharing a directory to determine whether the directory should be shared within your AWS organization (ORGANIZATIONS) or with any AWS account by sending a shared directory request (HANDSHAKE).

" + }, + "SharedAccountId":{ + "shape":"CustomerId", + "documentation":"

Identifier of the directory consumer account that has access to the shared directory (OwnerDirectoryId) in the directory owner account.

" + }, + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the shared directory in the directory consumer account. This identifier is different for each directory owner account.

" + }, + "ShareStatus":{ + "shape":"ShareStatus", + "documentation":"

Current directory status of the shared AWS Managed Microsoft AD directory.

" + }, + "ShareNotes":{ + "shape":"Notes", + "documentation":"

A directory share request that is sent by the directory owner to the directory consumer. The request includes a typed message to help the directory consumer administrator determine whether to approve or reject the share invitation.

" + }, + "CreatedDateTime":{ + "shape":"CreatedDateTime", + "documentation":"

The date and time that the shared directory was created.

" + }, + "LastUpdatedDateTime":{ + "shape":"LastUpdatedDateTime", + "documentation":"

The date and time that the shared directory was last updated.

" + } + }, + "documentation":"

Details about the shared directory in the directory owner account for which the share request in the directory consumer account has been accepted.

" + }, "Snapshot":{ "type":"structure", "members":{ @@ -2332,16 +3828,54 @@ }, "SsoEnabled":{"type":"boolean"}, "StageReason":{"type":"string"}, + "StartDateTime":{"type":"timestamp"}, + "StartSchemaExtensionRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "CreateSnapshotBeforeSchemaExtension", + "LdifContent", + "Description" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the directory for which the schema extension will be applied to.

" + }, + "CreateSnapshotBeforeSchemaExtension":{ + "shape":"CreateSnapshotBeforeSchemaExtension", + "documentation":"

If true, creates a snapshot of the directory before applying the schema extension.

" + }, + "LdifContent":{ + "shape":"LdifContent", + "documentation":"

The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \\n. See the example request below for more details. The file size can be no larger than 1MB.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the schema extension.

" + } + } + }, + "StartSchemaExtensionResult":{ + "type":"structure", + "members":{ + "SchemaExtensionId":{ + "shape":"SchemaExtensionId", + "documentation":"

The identifier of the schema extension that will be applied.

" + } + } + }, "StartTime":{"type":"timestamp"}, "StateLastUpdatedDateTime":{"type":"timestamp"}, "SubnetId":{ "type":"string", - "pattern":"^(subnet-[0-9a-f]{8})$" + "pattern":"^(subnet-[0-9a-f]{8}|subnet-[0-9a-f]{17})$" }, "SubnetIds":{ "type":"list", "member":{"shape":"SubnetId"} }, + "SubscriptionCreatedDateTime":{"type":"timestamp"}, "Tag":{ "type":"structure", "required":[ @@ -2358,7 +3892,7 @@ "documentation":"

The optional value of the tag. The string value can be Unicode characters. The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" } }, - "documentation":"

Metadata assigned to an Amazon Directory Services directory consisting of a key-value pair.

" + "documentation":"

Metadata assigned to a directory consisting of a key-value pair.

" }, "TagKey":{ "type":"string", @@ -2389,6 +3923,15 @@ "type":"list", "member":{"shape":"Tag"} }, + "TargetId":{ + "type":"string", + "max":64, + "min":1 + }, + "TargetType":{ + "type":"string", + "enum":["ACCOUNT"] + }, "TopicArn":{"type":"string"}, "TopicName":{ "type":"string", @@ -2426,7 +3969,7 @@ }, "TrustType":{ "shape":"TrustType", - "documentation":"

The trust relationship type.

" + "documentation":"

The trust relationship type. Forest is the default.

" }, "TrustDirection":{ "shape":"TrustDirection", @@ -2451,9 +3994,13 @@ "TrustStateReason":{ "shape":"TrustStateReason", "documentation":"

The reason for the TrustState.

" + }, + "SelectiveAuth":{ + "shape":"SelectiveAuth", + "documentation":"

Current state of selective authentication for the trust.

" } }, - "documentation":"

Describes a trust relationship between an Microsoft AD in the AWS cloud and an external domain.

" + "documentation":"

Describes a trust relationship between an AWS Managed Microsoft AD directory and an external domain.

" }, "TrustDirection":{ "type":"string", @@ -2475,6 +4022,7 @@ "type":"string", "max":128, "min":1, + "pattern":"(.|\\s)*\\S(.|\\s)*", "sensitive":true }, "TrustState":{ @@ -2485,6 +4033,9 @@ "Verifying", "VerifyFailed", "Verified", + "Updating", + "UpdateFailed", + "Updated", "Deleting", "Deleted", "Failed" @@ -2493,12 +4044,59 @@ "TrustStateReason":{"type":"string"}, "TrustType":{ "type":"string", - "enum":["Forest"] + "enum":[ + "Forest", + "External" + ] }, "Trusts":{ "type":"list", "member":{"shape":"Trust"} }, + "UnshareDirectoryRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "UnshareTarget" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The identifier of the AWS Managed Microsoft AD directory that you want to stop sharing.

" + }, + "UnshareTarget":{ + "shape":"UnshareTarget", + "documentation":"

Identifier for the directory consumer account with whom the directory has to be unshared.

" + } + } + }, + "UnshareDirectoryResult":{ + "type":"structure", + "members":{ + "SharedDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory stored in the directory consumer account that is to be unshared from the specified directory (DirectoryId).

" + } + } + }, + "UnshareTarget":{ + "type":"structure", + "required":[ + "Id", + "Type" + ], + "members":{ + "Id":{ + "shape":"TargetId", + "documentation":"

Identifier of the directory consumer account.

" + }, + "Type":{ + "shape":"TargetType", + "documentation":"

Type of identifier to be used in the Id field.

" + } + }, + "documentation":"

Identifier that contains details about the directory consumer account with whom the directory is being unshared.

" + }, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -2537,6 +4135,28 @@ }, "documentation":"

The result of an UpdateConditionalForwarder request.

" }, + "UpdateNumberOfDomainControllersRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "DesiredNumber" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

Identifier of the directory to which the domain controllers will be added or removed.

" + }, + "DesiredNumber":{ + "shape":"DesiredNumberOfDomainControllers", + "documentation":"

The number of domain controllers desired in the directory.

" + } + } + }, + "UpdateNumberOfDomainControllersResult":{ + "type":"structure", + "members":{ + } + }, "UpdateRadiusRequest":{ "type":"structure", "required":[ @@ -2562,12 +4182,51 @@ "documentation":"

Contains the results of the UpdateRadius operation.

" }, "UpdateSecurityGroupForDirectoryControllers":{"type":"boolean"}, + "UpdateTrustRequest":{ + "type":"structure", + "required":["TrustId"], + "members":{ + "TrustId":{ + "shape":"TrustId", + "documentation":"

Identifier of the trust relationship.

" + }, + "SelectiveAuth":{ + "shape":"SelectiveAuth", + "documentation":"

Updates selective authentication for the trust.

" + } + } + }, + "UpdateTrustResult":{ + "type":"structure", + "members":{ + "RequestId":{"shape":"RequestId"}, + "TrustId":{ + "shape":"TrustId", + "documentation":"

Identifier of the trust relationship.

" + } + } + }, "UseSameUsername":{"type":"boolean"}, + "UserDoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "RequestId":{"shape":"RequestId"} + }, + "documentation":"

The user provided a username that does not exist in your directory.

", + "exception":true + }, "UserName":{ "type":"string", "min":1, "pattern":"[a-zA-Z0-9._-]+" }, + "UserPassword":{ + "type":"string", + "max":127, + "min":1, + "sensitive":true + }, "VerifyTrustRequest":{ "type":"structure", "required":["TrustId"], @@ -2577,7 +4236,7 @@ "documentation":"

The unique Trust ID of the trust relationship to verify.

" } }, - "documentation":"

Initiates the verification of an existing trust relationship between a Microsoft AD in the AWS cloud and an external domain.

" + "documentation":"

Initiates the verification of an existing trust relationship between an AWS Managed Microsoft AD directory and an external domain.

" }, "VerifyTrustResult":{ "type":"structure", @@ -2591,8 +4250,8 @@ }, "VpcId":{ "type":"string", - "pattern":"^(vpc-[0-9a-f]{8})$" + "pattern":"^(vpc-[0-9a-f]{8}|vpc-[0-9a-f]{17})$" } }, - "documentation":"AWS Directory Service

This is the AWS Directory Service API Reference. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors.

" + "documentation":"AWS Directory Service

AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see AWS Directory Service and the AWS Directory Service Administration Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS Directory Service and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

" } diff -Nru python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/examples-1.json python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/examples-1.json --- python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,631 @@ +{ + "version": "1.0", + "examples": { + "BatchGetItem": [ + { + "input": { + "RequestItems": { + "Music": { + "Keys": [ + { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + ], + "ProjectionExpression": "AlbumTitle" + } + } + }, + "output": { + "Responses": { + "Music": [ + { + "AlbumTitle": { + "S": "Somewhat Famous" + } + }, + { + "AlbumTitle": { + "S": "Blue Sky Blues" + } + }, + { + "AlbumTitle": { + "S": "Louder Than Ever" + } + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reads multiple items from the Music table using a batch of three GetItem requests. Only the AlbumTitle attribute is returned.", + "id": "to-retrieve-multiple-items-from-a-table-1476118438992", + "title": "To retrieve multiple items from a table" + } + ], + "BatchWriteItem": [ + { + "input": { + "RequestItems": { + "Music": [ + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + } + } + }, + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Songs About Life" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + } + } + }, + { + "PutRequest": { + "Item": { + "AlbumTitle": { + "S": "Blue Sky Blues" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + } + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds three new items to the Music table using a batch of three PutItem requests.", + "id": "to-add-multiple-items-to-a-table-1476118519747", + "title": "To add multiple items to a table" + } + ], + "CreateTable": [ + { + "input": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music" + }, + "output": { + "TableDescription": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "CREATING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a table named Music.", + "id": "to-create-a-table-1476116291743", + "title": "To create a table" + } + ], + "DeleteItem": [ + { + "input": { + "Key": { + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + }, + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + "CapacityUnits": 1, + "TableName": "Music" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes an item from the Music table.", + "id": "to-delete-an-item-1475884573758", + "title": "To delete an item" + } + ], + "DeleteTable": [ + { + "input": { + "TableName": "Music" + }, + "output": { + "TableDescription": { + "ItemCount": 0, + "ProvisionedThroughput": { + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "DELETING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the Music table.", + "id": "to-delete-a-table-1475884368755", + "title": "To delete a table" + } + ], + "DescribeLimits": [ + { + "input": { + }, + "output": { + "AccountMaxReadCapacityUnits": 20000, + "AccountMaxWriteCapacityUnits": 20000, + "TableMaxReadCapacityUnits": 10000, + "TableMaxWriteCapacityUnits": 10000 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the maximum read and write capacity units per table, and for the AWS account, in the current AWS region.", + "id": "to-determine-capacity-limits-per-table-and-account-in-the-current-aws-region-1475884162064", + "title": "To determine capacity limits per table and account, in the current AWS region" + } + ], + "DescribeTable": [ + { + "input": { + "TableName": "Music" + }, + "output": { + "Table": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 5, + "WriteCapacityUnits": 5 + }, + "TableName": "Music", + "TableSizeBytes": 0, + "TableStatus": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Music table.", + "id": "to-describe-a-table-1475884440502", + "title": "To describe a table" + } + ], + "GetItem": [ + { + "input": { + "Key": { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + "TableName": "Music" + }, + "output": { + "Item": { + "AlbumTitle": { + "S": "Songs About Life" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example retrieves an item from the Music table. The table has a partition key and a sort key (Artist and SongTitle), so you must specify both of these attributes.", + "id": "to-read-an-item-from-a-table-1475884258350", + "title": "To read an item from a table" + } + ], + "ListTables": [ + { + "input": { + }, + "output": { + "TableNames": [ + "Forum", + "ProductCatalog", + "Reply", + "Thread" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of the tables associated with the current AWS account and endpoint.", + "id": "to-list-tables-1475884741238", + "title": "To list tables" + } + ], + "PutItem": [ + { + "input": { + "Item": { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "Artist": { + "S": "No One You Know" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + "ReturnConsumedCapacity": "TOTAL", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + "CapacityUnits": 1, + "TableName": "Music" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a new item to the Music table.", + "id": "to-add-an-item-to-a-table-1476116191110", + "title": "To add an item to a table" + } + ], + "Query": [ + { + "input": { + "ExpressionAttributeValues": { + ":v1": { + "S": "No One You Know" + } + }, + "KeyConditionExpression": "Artist = :v1", + "ProjectionExpression": "SongTitle", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + }, + "Count": 2, + "Items": [ + { + "SongTitle": { + "S": "Call Me Today" + } + } + ], + "ScannedCount": 2 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example queries items in the Music table. The table has a partition key and sort key (Artist and SongTitle), but this query only specifies the partition key value. It returns song titles by the artist named \"No One You Know\".", + "id": "to-query-an-item-1475883874631", + "title": "To query an item" + } + ], + "Scan": [ + { + "input": { + "ExpressionAttributeNames": { + "AT": "AlbumTitle", + "ST": "SongTitle" + }, + "ExpressionAttributeValues": { + ":a": { + "S": "No One You Know" + } + }, + "FilterExpression": "Artist = :a", + "ProjectionExpression": "#ST, #AT", + "TableName": "Music" + }, + "output": { + "ConsumedCapacity": { + }, + "Count": 2, + "Items": [ + { + "AlbumTitle": { + "S": "Somewhat Famous" + }, + "SongTitle": { + "S": "Call Me Today" + } + }, + { + "AlbumTitle": { + "S": "Blue Sky Blues" + }, + "SongTitle": { + "S": "Scared of My Shadow" + } + } + ], + "ScannedCount": 3 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example scans the entire Music table, and then narrows the results to songs by the artist \"No One You Know\". For each item, only the album title and song title are returned.", + "id": "to-scan-a-table-1475883652470", + "title": "To scan a table" + } + ], + "UpdateItem": [ + { + "input": { + "ExpressionAttributeNames": { + "#AT": "AlbumTitle", + "#Y": "Year" + }, + "ExpressionAttributeValues": { + ":t": { + "S": "Louder Than Ever" + }, + ":y": { + "N": "2015" + } + }, + "Key": { + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + } + }, + "ReturnValues": "ALL_NEW", + "TableName": "Music", + "UpdateExpression": "SET #Y = :y, #AT = :t" + }, + "output": { + "Attributes": { + "AlbumTitle": { + "S": "Louder Than Ever" + }, + "Artist": { + "S": "Acme Band" + }, + "SongTitle": { + "S": "Happy Day" + }, + "Year": { + "N": "2015" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates an item in the Music table. It adds a new attribute (Year) and modifies the AlbumTitle attribute. All of the attributes in the item, as they appear after the update, are returned in the response.", + "id": "to-update-an-item-in-a-table-1476118250055", + "title": "To update an item in a table" + } + ], + "UpdateTable": [ + { + "input": { + "ProvisionedThroughput": { + "ReadCapacityUnits": 10, + "WriteCapacityUnits": 10 + }, + "TableName": "MusicCollection" + }, + "output": { + "TableDescription": { + "AttributeDefinitions": [ + { + "AttributeName": "Artist", + "AttributeType": "S" + }, + { + "AttributeName": "SongTitle", + "AttributeType": "S" + } + ], + "CreationDateTime": "1421866952.062", + "ItemCount": 0, + "KeySchema": [ + { + "AttributeName": "Artist", + "KeyType": "HASH" + }, + { + "AttributeName": "SongTitle", + "KeyType": "RANGE" + } + ], + "ProvisionedThroughput": { + "LastIncreaseDateTime": "1421874759.194", + "NumberOfDecreasesToday": 1, + "ReadCapacityUnits": 1, + "WriteCapacityUnits": 1 + }, + "TableName": "MusicCollection", + "TableSizeBytes": 0, + "TableStatus": "UPDATING" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example increases the provisioned read and write capacity on the Music table.", + "id": "to-modify-a-tables-provisioned-throughput-1476118076147", + "title": "To modify a table's provisioned throughput" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,5 +1,11 @@ { "pagination": { + "ListBackups": { + "input_token": "ExclusiveStartBackupArn", + "output_token": "LastEvaluatedBackupArn", + "limit_key": "Limit", + "result_key": "BackupSummaries" + }, "ListTables": { "input_token": "ExclusiveStartTableName", "output_token": "LastEvaluatedTableName", @@ -31,6 +37,11 @@ "non_aggregate_keys": [ "ConsumedCapacity" ] + }, + "ListTagsOfResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" } } } diff -Nru python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/service-2.json python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/service-2.json --- python-botocore-1.4.70/botocore/data/dynamodb/2012-08-10/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodb/2012-08-10/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"DynamoDB", "serviceFullName":"Amazon DynamoDB", + "serviceId":"DynamoDB", "signatureVersion":"v4", - "targetPrefix":"DynamoDB_20120810" + "targetPrefix":"DynamoDB_20120810", + "uid":"dynamodb-2012-08-10" }, "operations":{ "BatchGetItem":{ @@ -22,9 +24,12 @@ "errors":[ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem will return a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items BatchGetItem will return a ValidationException with the message \"Too many items requested for the BatchGetItem call\".

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one data set.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem will return a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the AttributesToGet parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Capacity Units Calculations in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The BatchGetItem operation returns the attributes of one or more items from one or more tables. You identify requested items by primary key.

A single operation can retrieve up to 16 MB of data, which can contain as many as 100 items. BatchGetItem returns a partial result if the response size limit is exceeded, the table's provisioned throughput is exceeded, or an internal processing failure occurs. If a partial result is returned, the operation returns a value for UnprocessedKeys. You can use this value to retry the operation starting with the next item to get.

If you request more than 100 items, BatchGetItem returns a ValidationException with the message \"Too many items requested for the BatchGetItem call.\"

For example, if you ask to retrieve 100 items, but each individual item is 300 KB in size, the system returns 52 items (so as not to exceed the 16 MB limit). It also returns an appropriate UnprocessedKeys value so you can get the next page of results. If desired, your application can include its own logic to assemble the pages of results into one dataset.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchGetItem returns a ProvisionedThroughputExceededException. If at least one of the items is successfully processed, then BatchGetItem completes successfully, while returning the keys of the unread items in UnprocessedKeys.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

By default, BatchGetItem performs eventually consistent reads on every table in the request. If you want strongly consistent reads instead, you can set ConsistentRead to true for any or all tables.

In order to minimize response latency, BatchGetItem retrieves items in parallel.

When designing your application, keep in mind that DynamoDB does not return items in any particular order. To help parse the response by item, include the primary key values for the items in your request in the ProjectionExpression parameter.

If a requested item does not exist, it is not returned in the result. Requests for nonexistent items consume the minimum read capacity units according to the type of read. For more information, see Working with Tables in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } }, "BatchWriteItem":{ "name":"BatchWriteItem", @@ -38,9 +43,50 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ItemCollectionSizeLimitExceededException"}, + {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

BatchWriteItem cannot update items. To update items, use the UpdateItem API.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

Note that if none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem will return a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon Elastic MapReduce (EMR), or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem provides an alternative where the API performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

" + "documentation":"

The BatchWriteItem operation puts or deletes multiple items in one or more tables. A single call to BatchWriteItem can write up to 16 MB of data, which can comprise as many as 25 put or delete requests. Individual items to be written can be as large as 400 KB.

BatchWriteItem cannot update items. To update items, use the UpdateItem action.

The individual PutItem and DeleteItem operations specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is not. If any requested operations fail because the table's provisioned throughput is exceeded or an internal processing failure occurs, the failed operations are returned in the UnprocessedItems response parameter. You can investigate and optionally resend the requests. Typically, you would call BatchWriteItem in a loop. Each iteration would check for unprocessed items and submit a new BatchWriteItem request with those unprocessed items until all items have been processed.

If none of the items can be processed due to insufficient provisioned throughput on all of the tables in the request, then BatchWriteItem returns a ProvisionedThroughputExceededException.

If DynamoDB returns any unprocessed items, you should retry the batch operation on those items. However, we strongly recommend that you use an exponential backoff algorithm. If you retry the batch operation immediately, the underlying read or write requests can still fail due to throttling on the individual tables. If you delay the batch operation using exponential backoff, the individual requests in the batch are much more likely to succeed.

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB Developer Guide.

With BatchWriteItem, you can efficiently write or delete large amounts of data, such as from Amazon EMR, or copy data from another database into DynamoDB. In order to improve performance with these large-scale operations, BatchWriteItem does not behave in the same way as individual PutItem and DeleteItem calls would. For example, you cannot specify conditions on individual put and delete requests, and BatchWriteItem does not return deleted items in the response.

If you use a programming language that supports concurrency, you can use threads to write items in parallel. Your application must include the necessary logic to manage the threads. With languages that don't support threading, you must update or delete the specified items one at a time. In both situations, BatchWriteItem performs the specified put and delete operations in parallel, giving you the power of the thread pool approach without having to introduce complexity into your application.

Parallel processing reduces latency, but each specified put and delete request consumes the same number of write capacity units whether it is processed in parallel or not. Delete operations on nonexistent items consume one write capacity unit.

If one or more of the following is true, DynamoDB rejects the entire batch write operation:

  • One or more tables specified in the BatchWriteItem request does not exist.

  • Primary key attributes specified on an item in the request do not match those in the corresponding table's primary key schema.

  • You try to perform multiple operations on the same item in the same BatchWriteItem request. For example, you cannot put and delete the same item in the same BatchWriteItem request.

  • Your request contains at least two items with identical hash and range keys (which essentially is two put operations).

  • There are more than 25 requests in the batch.

  • Any individual item in a batch exceeds 400 KB.

  • The total request size exceeds 16 MB.

", + "endpointdiscovery":{ + } + }, + "CreateBackup":{ + "name":"CreateBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBackupInput"}, + "output":{"shape":"CreateBackupOutput"}, + "errors":[ + {"shape":"TableNotFoundException"}, + {"shape":"TableInUseException"}, + {"shape":"ContinuousBackupsUnavailableException"}, + {"shape":"BackupInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Creates a backup for an existing table.

Each time you create an on-demand backup, the entire table data is backed up. There is no limit to the number of on-demand backups that can be taken.

When you create an on-demand backup, a time marker of the request is cataloged, and the backup is created asynchronously, by applying all changes until the time of the request to the last full table snapshot. Backup requests are processed instantaneously and become available for restore within minutes.

You can call CreateBackup at a maximum rate of 50 times per second.

All backups in DynamoDB work without consuming any provisioned throughput on the table.

If you submit a backup request on 2018-12-14 at 14:25:00, the backup is guaranteed to contain all data committed to the table up to 14:24:00, and data committed after 14:26:00 will not be. The backup might contain data modifications made between 14:24:00 and 14:26:00. On-demand backup does not support causal consistency.

Along with data, the following are also included on the backups:

  • Global secondary indexes (GSIs)

  • Local secondary indexes (LSIs)

  • Streams

  • Provisioned read and write capacity

", + "endpointdiscovery":{ + } + }, + "CreateGlobalTable":{ + "name":"CreateGlobalTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGlobalTableInput"}, + "output":{"shape":"CreateGlobalTableOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"GlobalTableAlreadyExistsException"}, + {"shape":"TableNotFoundException"} + ], + "documentation":"

Creates a global table from an existing table. A global table creates a replication relationship between two or more DynamoDB tables with the same table name in the provided Regions.

This operation only applies to Version 2017.11.29 of global tables.

If you want to add a new replica table to a global table, each of the following conditions must be true:

  • The table must have the same primary key as all of the other replicas.

  • The table must have the same name as all of the other replicas.

  • The table must have DynamoDB Streams enabled, with the stream containing both the new and the old images of the item.

  • None of the replica tables in the global table can contain any data.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

If local secondary indexes are specified, then the following conditions must also be met:

  • The local secondary indexes must have the same name.

  • The local secondary indexes must have the same hash key and sort key (if present).

Write capacity settings should be set consistently across your replica tables and secondary indexes. DynamoDB strongly recommends enabling auto scaling to manage the write capacity settings for all of your global tables replicas and indexes.

If you prefer to manage write capacity settings manually, you should provision equal replicated write capacity units to your replica tables. You should also provision equal replicated write capacity units to matching secondary indexes across your global table.

", + "endpointdiscovery":{ + } }, "CreateTable":{ "name":"CreateTable", @@ -55,7 +101,27 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

The CreateTable operation adds a new table to your account. In an AWS account, table names must be unique within each region. That is, you can have two tables with same name if you create the tables in different regions.

CreateTable is an asynchronous operation. Upon receiving a CreateTable request, DynamoDB immediately returns a response with a TableStatus of CREATING. After the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform read and write operations only on an ACTIVE table.

You can optionally define secondary indexes on the new table, as part of the CreateTable operation. If you want to create multiple tables with secondary indexes on them, you must create the tables sequentially. Only one table with secondary indexes can be in the CREATING state at any given time.

You can use the DescribeTable API to check the table status.

" + "documentation":"

The CreateTable operation adds a new table to your account. In an AWS account, table names must be unique within each Region. That is, you can have two tables with same name if you create the tables in different Regions.

CreateTable is an asynchronous operation. Upon receiving a CreateTable request, DynamoDB immediately returns a response with a TableStatus of CREATING. After the table is created, DynamoDB sets the TableStatus to ACTIVE. You can perform read and write operations only on an ACTIVE table.

You can optionally define secondary indexes on the new table, as part of the CreateTable operation. If you want to create multiple tables with secondary indexes on them, you must create the tables sequentially. Only one table with secondary indexes can be in the CREATING state at any given time.

You can use the DescribeTable action to check the table status.

", + "endpointdiscovery":{ + } + }, + "DeleteBackup":{ + "name":"DeleteBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBackupInput"}, + "output":{"shape":"DeleteBackupOutput"}, + "errors":[ + {"shape":"BackupNotFoundException"}, + {"shape":"BackupInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes an existing backup of a table.

You can call DeleteBackup at a maximum rate of 10 times per second.

", + "endpointdiscovery":{ + } }, "DeleteItem":{ "name":"DeleteItem", @@ -70,9 +136,13 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ItemCollectionSizeLimitExceededException"}, + {"shape":"TransactionConflictException"}, + {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.

In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.

" + "documentation":"

Deletes a single item in a table by primary key. You can perform a conditional delete operation that deletes the item if it exists, or if it has an expected attribute value.

In addition to deleting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

Unless you specify conditions, the DeleteItem is an idempotent operation; running it multiple times on the same item or attribute does not result in an error response.

Conditional deletes are useful for deleting items only if specific conditions are met. If those conditions are met, DynamoDB performs the delete. Otherwise, the item is not deleted.

", + "endpointdiscovery":{ + } }, "DeleteTable":{ "name":"DeleteTable", @@ -88,7 +158,98 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable API to check the status of the table.

" + "documentation":"

The DeleteTable operation deletes a table and all of its items. After a DeleteTable request, the specified table is in the DELETING state until DynamoDB completes the deletion. If the table is in the ACTIVE state, you can delete it. If a table is in CREATING or UPDATING states, then DynamoDB returns a ResourceInUseException. If the specified table does not exist, DynamoDB returns a ResourceNotFoundException. If table is already in the DELETING state, no error is returned.

DynamoDB might continue to accept data read and write operations, such as GetItem and PutItem, on a table in the DELETING state until the table deletion is complete.

When you delete a table, any indexes on that table are also deleted.

If you have DynamoDB Streams enabled on the table, then the corresponding stream on that table goes into the DISABLED state, and the stream is automatically deleted after 24 hours.

Use the DescribeTable action to check the status of the table.

", + "endpointdiscovery":{ + } + }, + "DescribeBackup":{ + "name":"DescribeBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBackupInput"}, + "output":{"shape":"DescribeBackupOutput"}, + "errors":[ + {"shape":"BackupNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Describes an existing backup of a table.

You can call DescribeBackup at a maximum rate of 10 times per second.

", + "endpointdiscovery":{ + } + }, + "DescribeContinuousBackups":{ + "name":"DescribeContinuousBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeContinuousBackupsInput"}, + "output":{"shape":"DescribeContinuousBackupsOutput"}, + "errors":[ + {"shape":"TableNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Checks the status of continuous backups and point in time recovery on the specified table. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED.

After continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.

LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.

You can call DescribeContinuousBackups at a maximum rate of 10 times per second.

", + "endpointdiscovery":{ + } + }, + "DescribeContributorInsights":{ + "name":"DescribeContributorInsights", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeContributorInsightsInput"}, + "output":{"shape":"DescribeContributorInsightsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns information about contributor insights, for a given table or global secondary index.

" + }, + "DescribeEndpoints":{ + "name":"DescribeEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointsRequest"}, + "output":{"shape":"DescribeEndpointsResponse"}, + "documentation":"

Returns the regional endpoint information.

", + "endpointoperation":true + }, + "DescribeGlobalTable":{ + "name":"DescribeGlobalTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGlobalTableInput"}, + "output":{"shape":"DescribeGlobalTableOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"GlobalTableNotFoundException"} + ], + "documentation":"

Returns information about the specified global table.

This operation only applies to Version 2017.11.29 of global tables. If you are using global tables Version 2019.11.21 you can use DescribeTable instead.

", + "endpointdiscovery":{ + } + }, + "DescribeGlobalTableSettings":{ + "name":"DescribeGlobalTableSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGlobalTableSettingsInput"}, + "output":{"shape":"DescribeGlobalTableSettingsOutput"}, + "errors":[ + {"shape":"GlobalTableNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Describes Region-specific settings for a global table.

This operation only applies to Version 2017.11.29 of global tables.

", + "endpointdiscovery":{ + } }, "DescribeLimits":{ "name":"DescribeLimits", @@ -101,7 +262,9 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Returns the current provisioned-capacity limits for your AWS account in a region, both for the region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide.

Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits API lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular region to obtain your current account limits on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

    • Call DescribeTable with the table name.

    • Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables.

    • If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.

  5. Report the account limits for that region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level limits.

The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB will not let you increase provisioned capacity extremely rapidly, but the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

" + "documentation":"

Returns the current provisioned-capacity limits for your AWS account in a Region, both for the Region as a whole and for any one DynamoDB table that you create there.

When you establish an AWS account, the account has initial limits on the maximum read capacity units and write capacity units that you can provision across all of your DynamoDB tables in a given Region. Also, there are per-table limits that apply when you create a table there. For more information, see Limits page in the Amazon DynamoDB Developer Guide.

Although you can increase these limits by filing a case at AWS Support Center, obtaining the increase is not instantaneous. The DescribeLimits action lets you write code to compare the capacity you are currently using to those limits imposed by your account so that you have enough time to apply for an increase before you hit a limit.

For example, you could use one of the AWS SDKs to do the following:

  1. Call DescribeLimits for a particular Region to obtain your current account limits on provisioned capacity there.

  2. Create a variable to hold the aggregate read capacity units provisioned for all your tables in that Region, and one to hold the aggregate write capacity units. Zero them both.

  3. Call ListTables to obtain a list of all your DynamoDB tables.

  4. For each table name listed by ListTables, do the following:

    • Call DescribeTable with the table name.

    • Use the data returned by DescribeTable to add the read capacity units and write capacity units provisioned for the table itself to your variables.

    • If the table has one or more global secondary indexes (GSIs), loop over these GSIs and add their provisioned capacity values to your variables as well.

  5. Report the account limits for that Region returned by DescribeLimits, along with the total current provisioned capacity levels you have calculated.

This will let you see whether you are getting close to your account-level limits.

The per-table limits apply only when you are creating a new table. They restrict the sum of the provisioned capacity of the new table itself and all its global secondary indexes.

For existing tables and their GSIs, DynamoDB doesn't let you increase provisioned capacity extremely rapidly. But the only upper limit that applies is that the aggregate provisioned capacity over all your tables and GSIs cannot exceed either of the per-account limits.

DescribeLimits should only be called periodically. You can expect throttling errors if you call it more than once in a minute.

The DescribeLimits Request element has no content.

", + "endpointdiscovery":{ + } }, "DescribeTable":{ "name":"DescribeTable", @@ -115,7 +278,39 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

" + "documentation":"

Returns information about the table, including the current status of the table, when it was created, the primary key schema, and any indexes on the table.

If you issue a DescribeTable request immediately after a CreateTable request, DynamoDB might return a ResourceNotFoundException. This is because DescribeTable uses an eventually consistent query, and the metadata for your table might not be available at that moment. Wait for a few seconds, and then try the DescribeTable request again.

", + "endpointdiscovery":{ + } + }, + "DescribeTableReplicaAutoScaling":{ + "name":"DescribeTableReplicaAutoScaling", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTableReplicaAutoScalingInput"}, + "output":{"shape":"DescribeTableReplicaAutoScalingOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Describes auto scaling settings across replicas of the global table at once.

This operation only applies to Version 2019.11.21 of global tables.

" + }, + "DescribeTimeToLive":{ + "name":"DescribeTimeToLive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTimeToLiveInput"}, + "output":{"shape":"DescribeTimeToLiveOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Gives a description of the Time to Live (TTL) status on the specified table.

", + "endpointdiscovery":{ + } }, "GetItem":{ "name":"GetItem", @@ -128,9 +323,56 @@ "errors":[ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data and there will be no Item element in the response.

GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.

", + "endpointdiscovery":{ + } + }, + "ListBackups":{ + "name":"ListBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBackupsInput"}, + "output":{"shape":"ListBackupsOutput"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

List backups associated with an AWS account. To list backups for a given table, specify TableName. ListBackups returns a paginated list of results with at most 1 MB worth of items in a page. You can also specify a limit for the maximum number of entries to be returned in a page.

In the request, start time is inclusive, but end time is exclusive. Note that these limits are for the time at which the original backup was requested.

You can call ListBackups a maximum of five times per second.

", + "endpointdiscovery":{ + } + }, + "ListContributorInsights":{ + "name":"ListContributorInsights", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListContributorInsightsInput"}, + "output":{"shape":"ListContributorInsightsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns a list of ContributorInsightsSummary for a table and all its global secondary indexes.

" + }, + "ListGlobalTables":{ + "name":"ListGlobalTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGlobalTablesInput"}, + "output":{"shape":"ListGlobalTablesOutput"}, + "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

The GetItem operation returns a set of attributes for the item with the given primary key. If there is no matching item, GetItem does not return any data.

GetItem provides an eventually consistent read by default. If your application requires a strongly consistent read, set ConsistentRead to true. Although a strongly consistent read might take more time than an eventually consistent read, it always returns the last updated value.

" + "documentation":"

Lists all global tables that have a replica in the specified Region.

This operation only applies to Version 2017.11.29 of global tables.

", + "endpointdiscovery":{ + } }, "ListTables":{ "name":"ListTables", @@ -143,7 +385,25 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Returns an array of table names associated with the current account and endpoint. The output from ListTables is paginated, with each page returning a maximum of 100 table names.

" + "documentation":"

Returns an array of table names associated with the current account and endpoint. The output from ListTables is paginated, with each page returning a maximum of 100 table names.

", + "endpointdiscovery":{ + } + }, + "ListTagsOfResource":{ + "name":"ListTagsOfResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsOfResourceInput"}, + "output":{"shape":"ListTagsOfResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

List all tags on an Amazon DynamoDB resource. You can call ListTagsOfResource up to 10 times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } }, "PutItem":{ "name":"PutItem", @@ -158,9 +418,13 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ItemCollectionSizeLimitExceededException"}, + {"shape":"TransactionConflictException"}, + {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values.

In addition to putting an item, you can also return the item's attribute values in the same operation, using the ReturnValues parameter.

When you add an item, the primary key attribute(s) are the only required attributes. Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes cannot be empty. Requests with empty values will be rejected with a ValidationException exception.

You can request that PutItem return either a copy of the original item (before the update) or a copy of the updated item (after the update). For more information, see the ReturnValues description below.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about using this API, see Working with Items in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Creates a new item, or replaces an old item with a new item. If an item that has the same primary key as the new item already exists in the specified table, the new item completely replaces the existing item. You can perform a conditional put operation (add a new item if one with the specified primary key doesn't exist), or replace an existing item if it has certain attribute values. You can return the item's attribute values in the same operation, using the ReturnValues parameter.

This topic provides general information about the PutItem API.

For information on how to call the PutItem API using the AWS SDK in specific languages, see the following:

When you add an item, the primary key attributes are the only required attributes. Attribute values cannot be null.

Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index. Set type attributes cannot be empty.

Invalid Requests with empty values will be rejected with a ValidationException exception.

To prevent a new item from replacing an existing item, use a conditional expression that contains the attribute_not_exists function with the name of the attribute being used as the partition key for the table. Since every record must contain that attribute, the attribute_not_exists function will only succeed if no matching item exists.

For more information about PutItem, see Working with Items in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } }, "Query":{ "name":"Query", @@ -173,9 +437,53 @@ "errors":[ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

The Query operation finds items based on primary key values. You can query any table or secondary index that has a composite primary key (a partition key and a sort key).

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. To further refine the Query results, you can optionally provide a FilterExpression. A FilterExpression determines which items within the results should be returned to you. All of the other results are discarded.

A Query operation always returns a result set. If no matching items are found, the result set will be empty. Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

DynamoDB calculates the number of read capacity units consumed based on item size, not on the amount of data that is returned to an application. The number of capacity units consumed will be the same whether you request all of the attributes (the default behavior) or just some of them (using a projection expression). The number will also be the same whether or not you use a FilterExpression.

Query results are always sorted by the sort key value. If the data type of the sort key is Number, the results are returned in numeric order; otherwise, the results are returned in order of UTF-8 bytes. By default, the sort order is ascending. To reverse the order, set the ScanIndexForward parameter to false.

A single Query operation will read up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you will need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

FilterExpression is applied after a Query finishes, but before the results are returned. A FilterExpression cannot contain partition key or sort key attributes. You need to specify those attributes in the KeyConditionExpression.

A Query operation can return an empty result set and a LastEvaluatedKey if all the items read for the page of results are filtered out.

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

", + "endpointdiscovery":{ + } + }, + "RestoreTableFromBackup":{ + "name":"RestoreTableFromBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreTableFromBackupInput"}, + "output":{"shape":"RestoreTableFromBackupOutput"}, + "errors":[ + {"shape":"TableAlreadyExistsException"}, + {"shape":"TableInUseException"}, + {"shape":"BackupNotFoundException"}, + {"shape":"BackupInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Creates a new table from an existing backup. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

You can call RestoreTableFromBackup at a maximum rate of 10 times per second.

You must manually set up the following on the restored table:

  • Auto scaling policies

  • IAM policies

  • Amazon CloudWatch metrics and alarms

  • Tags

  • Stream settings

  • Time to Live (TTL) settings

", + "endpointdiscovery":{ + } + }, + "RestoreTableToPointInTime":{ + "name":"RestoreTableToPointInTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreTableToPointInTimeInput"}, + "output":{"shape":"RestoreTableToPointInTimeOutput"}, + "errors":[ + {"shape":"TableAlreadyExistsException"}, + {"shape":"TableNotFoundException"}, + {"shape":"TableInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidRestoreTimeException"}, + {"shape":"PointInTimeRecoveryUnavailableException"}, {"shape":"InternalServerError"} ], - "documentation":"

A Query operation uses the primary key of a table or a secondary index to directly access items from that table or index.

Use the KeyConditionExpression parameter to provide a specific value for the partition key. The Query operation will return all of the items from the table or index with that partition key value. You can optionally narrow the scope of the Query operation by specifying a sort key value and a comparison operator in KeyConditionExpression. You can use the ScanIndexForward parameter to get results in forward or reverse order, by sort key.

Queries that do not return results consume the minimum number of read capacity units for that type of read operation.

If the total number of items meeting the query criteria exceeds the result set size limit of 1 MB, the query stops and results are returned to the user with the LastEvaluatedKey element to continue the query in a subsequent operation. Unlike a Scan operation, a Query operation never returns both an empty result set and a LastEvaluatedKey value. LastEvaluatedKey is only provided if you have used the Limit parameter, or if the result set exceeds 1 MB (prior to applying a filter).

You can query a table, a local secondary index, or a global secondary index. For a query on a table or on a local secondary index, you can set the ConsistentRead parameter to true and obtain a strongly consistent result. Global secondary indexes support eventually consistent reads only, so do not specify ConsistentRead when querying a global secondary index.

" + "documentation":"

Restores the specified table to the specified point in time within EarliestRestorableDateTime and LatestRestorableDateTime. You can restore your table to any point in time during the last 35 days. Any number of users can execute up to 4 concurrent restores (any type of restore) in a given account.

When you restore using point in time recovery, DynamoDB restores your table data to the state based on the selected date and time (day:hour:minute:second) to a new table.

Along with data, the following are also included on the new restored table using point in time recovery:

  • Global secondary indexes (GSIs)

  • Local secondary indexes (LSIs)

  • Provisioned read and write capacity

  • Encryption settings

    All these settings come from the current settings of the source table at the time of restore.

You must manually set up the following on the restored table:

  • Auto scaling policies

  • IAM policies

  • Amazon CloudWatch metrics and alarms

  • Tags

  • Stream settings

  • Time to Live (TTL) settings

  • Point in time recovery settings

", + "endpointdiscovery":{ + } }, "Scan":{ "name":"Scan", @@ -188,9 +496,156 @@ "errors":[ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.

If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

A single Scan operation reads up to the maximum number of items set (if using the Limit parameter) or a maximum of 1 MB of data and then apply any filtering to the results using FilterExpression. If LastEvaluatedKey is present in the response, you need to paginate the result set. For more information, see Paginating the Results in the Amazon DynamoDB Developer Guide.

Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

", + "endpointdiscovery":{ + } + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Associate a set of tags with an Amazon DynamoDB resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking. You can call TagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } + }, + "TransactGetItems":{ + "name":"TransactGetItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TransactGetItemsInput"}, + "output":{"shape":"TransactGetItemsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

TransactGetItems is a synchronous operation that atomically retrieves multiple items from one or more tables (but not from indexes) in a single account and Region. A TransactGetItems call can contain up to 25 TransactGetItem objects, each of which contains a Get structure that specifies an item to retrieve from a table in the account and Region. A call to TransactGetItems cannot retrieve items from tables in more than one AWS account or Region. The aggregate size of the items in the transaction cannot exceed 4 MB.

DynamoDB rejects the entire TransactGetItems request if any of the following is true:

  • A conflicting operation is in the process of updating an item to be read.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

  • The aggregate size of the items in the transaction cannot exceed 4 MB.

", + "endpointdiscovery":{ + } + }, + "TransactWriteItems":{ + "name":"TransactWriteItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TransactWriteItemsInput"}, + "output":{"shape":"TransactWriteItemsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"TransactionInProgressException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"RequestLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

TransactWriteItems is a synchronous write operation that groups up to 25 action requests. These actions can target items in different tables, but not in different AWS accounts or Regions, and no two actions can target the same item. For example, you cannot both ConditionCheck and Update the same item. The aggregate size of the items in the transaction cannot exceed 4 MB.

The actions are completed atomically so that either all of them succeed, or all of them fail. They are defined by the following objects:

  • Put  —   Initiates a PutItem operation to write a new item. This structure specifies the primary key of the item to be written, the name of the table to write it in, an optional condition expression that must be satisfied for the write to succeed, a list of the item's attributes, and a field indicating whether to retrieve the item's attributes if the condition is not met.

  • Update  —   Initiates an UpdateItem operation to update an existing item. This structure specifies the primary key of the item to be updated, the name of the table where it resides, an optional condition expression that must be satisfied for the update to succeed, an expression that defines one or more attributes to be updated, and a field indicating whether to retrieve the item's attributes if the condition is not met.

  • Delete  —   Initiates a DeleteItem operation to delete an existing item. This structure specifies the primary key of the item to be deleted, the name of the table where it resides, an optional condition expression that must be satisfied for the deletion to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met.

  • ConditionCheck  —   Applies a condition to an item that is not being modified by the transaction. This structure specifies the primary key of the item to be checked, the name of the table where it resides, a condition expression that must be satisfied for the transaction to succeed, and a field indicating whether to retrieve the item's attributes if the condition is not met.

DynamoDB rejects the entire TransactWriteItems request if any of the following is true:

  • A condition in one of the condition expressions is not met.

  • An ongoing operation is in the process of updating the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (bigger than 400 KB), a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • The aggregate size of the items in the transaction exceeds 4 MB.

  • There is a user error, such as an invalid data format.

", + "endpointdiscovery":{ + } + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Removes the association of tags from an Amazon DynamoDB resource. You can call UntagResource up to five times per second, per account.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } + }, + "UpdateContinuousBackups":{ + "name":"UpdateContinuousBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContinuousBackupsInput"}, + "output":{"shape":"UpdateContinuousBackupsOutput"}, + "errors":[ + {"shape":"TableNotFoundException"}, + {"shape":"ContinuousBackupsUnavailableException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

UpdateContinuousBackups enables or disables point in time recovery for the specified table. A successful UpdateContinuousBackups call returns the current ContinuousBackupsDescription. Continuous backups are ENABLED on all tables at table creation. If point in time recovery is enabled, PointInTimeRecoveryStatus will be set to ENABLED.

Once continuous backups and point in time recovery are enabled, you can restore to any point in time within EarliestRestorableDateTime and LatestRestorableDateTime.

LatestRestorableDateTime is typically 5 minutes before the current time. You can restore your table to any point in time during the last 35 days.

", + "endpointdiscovery":{ + } + }, + "UpdateContributorInsights":{ + "name":"UpdateContributorInsights", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContributorInsightsInput"}, + "output":{"shape":"UpdateContributorInsightsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Updates the status for contributor insights for a specific table or index.

" + }, + "UpdateGlobalTable":{ + "name":"UpdateGlobalTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGlobalTableInput"}, + "output":{"shape":"UpdateGlobalTableOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"GlobalTableNotFoundException"}, + {"shape":"ReplicaAlreadyExistsException"}, + {"shape":"ReplicaNotFoundException"}, + {"shape":"TableNotFoundException"} + ], + "documentation":"

Adds or removes replicas in the specified global table. The global table must already exist to be able to use this operation. Any replica to be added must be empty, have the same name as the global table, have the same key schema, have DynamoDB Streams enabled, and have the same provisioned and maximum write capacity units.

Although you can use UpdateGlobalTable to add replicas and remove replicas in a single request, for simplicity we recommend that you issue separate requests for adding or removing replicas.

If global secondary indexes are specified, then the following conditions must also be met:

  • The global secondary indexes must have the same name.

  • The global secondary indexes must have the same hash key and sort key (if present).

  • The global secondary indexes must have the same provisioned and maximum write capacity units.

", + "endpointdiscovery":{ + } + }, + "UpdateGlobalTableSettings":{ + "name":"UpdateGlobalTableSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGlobalTableSettingsInput"}, + "output":{"shape":"UpdateGlobalTableSettingsOutput"}, + "errors":[ + {"shape":"GlobalTableNotFoundException"}, + {"shape":"ReplicaNotFoundException"}, + {"shape":"IndexNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, {"shape":"InternalServerError"} ], - "documentation":"

The Scan operation returns one or more items and item attributes by accessing every item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a ScanFilter operation.

If the total number of scanned items exceeds the maximum data set size limit of 1 MB, the scan stops and results are returned to the user as a LastEvaluatedKey value to continue the scan in a subsequent operation. The results also include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.

By default, Scan operations proceed sequentially; however, for faster performance on a large table or secondary index, applications can request a parallel Scan operation by providing the Segment and TotalSegments parameters. For more information, see Parallel Scan in the Amazon DynamoDB Developer Guide.

By default, Scan uses eventually consistent reads when accessing the data in a table; therefore, the result set might not include the changes to data in the table immediately before the operation began. If you need a consistent copy of the data, as of the time that the Scan begins, you can set the ConsistentRead parameter to true.

" + "documentation":"

Updates settings for a global table.

", + "endpointdiscovery":{ + } }, "UpdateItem":{ "name":"UpdateItem", @@ -205,9 +660,13 @@ {"shape":"ProvisionedThroughputExceededException"}, {"shape":"ResourceNotFoundException"}, {"shape":"ItemCollectionSizeLimitExceededException"}, + {"shape":"TransactionConflictException"}, + {"shape":"RequestLimitExceeded"}, {"shape":"InternalServerError"} ], - "documentation":"

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

" + "documentation":"

Edits an existing item's attributes, or adds a new item to the table if it does not already exist. You can put, delete, or add attribute values. You can also perform a conditional update on an existing item (insert a new attribute name-value pair if it doesn't exist, or replace an existing name-value pair if it has certain expected attribute values).

You can also return the item's attribute values in the same UpdateItem operation using the ReturnValues parameter.

", + "endpointdiscovery":{ + } }, "UpdateTable":{ "name":"UpdateTable", @@ -223,10 +682,65 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServerError"} ], - "documentation":"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Enable or disable Streams on the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. Once the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

" + "documentation":"

Modifies the provisioned throughput settings, global secondary indexes, or DynamoDB Streams settings for a given table.

You can only perform one of the following operations at once:

  • Modify the provisioned throughput settings of the table.

  • Enable or disable DynamoDB Streams on the table.

  • Remove a global secondary index from the table.

  • Create a new global secondary index on the table. After the index begins backfilling, you can use UpdateTable to perform other operations.

UpdateTable is an asynchronous operation; while it is executing, the table status changes from ACTIVE to UPDATING. While it is UPDATING, you cannot issue another UpdateTable request. When the table returns to the ACTIVE state, the UpdateTable operation is complete.

", + "endpointdiscovery":{ + } + }, + "UpdateTableReplicaAutoScaling":{ + "name":"UpdateTableReplicaAutoScaling", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTableReplicaAutoScalingInput"}, + "output":{"shape":"UpdateTableReplicaAutoScalingOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Updates auto scaling settings on your global tables at once.

This operation only applies to Version 2019.11.21 of global tables.

" + }, + "UpdateTimeToLive":{ + "name":"UpdateTimeToLive", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTimeToLiveInput"}, + "output":{"shape":"UpdateTimeToLiveOutput"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

The UpdateTimeToLive method enables or disables Time to Live (TTL) for the specified table. A successful UpdateTimeToLive call returns the current TimeToLiveSpecification. It can take up to one hour for the change to fully process. Any additional UpdateTimeToLive calls for the same table during this one hour duration result in a ValidationException.

TTL compares the current time in epoch time format to the time stored in the TTL attribute of an item. If the epoch time value stored in the attribute is less than the current time, the item is marked as expired and subsequently deleted.

The epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.

DynamoDB deletes expired items on a best-effort basis to ensure availability of throughput for other data operations.

DynamoDB typically deletes expired items within two days of expiration. The exact duration within which an item gets deleted after expiration is specific to the nature of the workload. Items that have expired and not been deleted will still show up in reads, queries, and scans.

As items are deleted, they are removed from any local secondary index and global secondary index immediately in the same eventually consistent way as a standard delete operation.

For more information, see Time To Live in the Amazon DynamoDB Developer Guide.

", + "endpointdiscovery":{ + } } }, "shapes":{ + "ArchivalReason":{"type":"string"}, + "ArchivalSummary":{ + "type":"structure", + "members":{ + "ArchivalDateTime":{ + "shape":"Date", + "documentation":"

The date and time when table archival was initiated by DynamoDB, in UNIX epoch time format.

" + }, + "ArchivalReason":{ + "shape":"ArchivalReason", + "documentation":"

The reason DynamoDB archived the table. Currently, the only possible value is:

  • INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to the table's AWS KMS key being inaccessible for more than seven days. An On-Demand backup was created at the archival time.

" + }, + "ArchivalBackupArn":{ + "shape":"BackupArn", + "documentation":"

The Amazon Resource Name (ARN) of the backup the table was archived to, when applicable in the archival reason. If you wish to restore this backup to the same table name, you will need to delete the original table.

" + } + }, + "documentation":"

Contains details of a table archival operation.

" + }, "AttributeAction":{ "type":"string", "enum":[ @@ -248,7 +762,7 @@ }, "AttributeType":{ "shape":"ScalarAttributeType", - "documentation":"

The data type for the attribute, where:

  • S - the attribute is of type String

  • N - the attribute is of type Number

  • B - the attribute is of type Binary

" + "documentation":"

The data type for the attribute, where:

  • S - the attribute is of type String

  • N - the attribute is of type Number

  • B - the attribute is of type Binary

" } }, "documentation":"

Represents an attribute for describing the key schema for the table and indexes.

" @@ -281,46 +795,46 @@ "members":{ "S":{ "shape":"StringAttributeValue", - "documentation":"

A String data type.

" + "documentation":"

An attribute of type String. For example:

\"S\": \"Hello\"

" }, "N":{ "shape":"NumberAttributeValue", - "documentation":"

A Number data type.

" + "documentation":"

An attribute of type Number. For example:

\"N\": \"123.45\"

Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

" }, "B":{ "shape":"BinaryAttributeValue", - "documentation":"

A Binary data type.

" + "documentation":"

An attribute of type Binary. For example:

\"B\": \"dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk\"

" }, "SS":{ "shape":"StringSetAttributeValue", - "documentation":"

A String Set data type.

" + "documentation":"

An attribute of type String Set. For example:

\"SS\": [\"Giraffe\", \"Hippo\" ,\"Zebra\"]

" }, "NS":{ "shape":"NumberSetAttributeValue", - "documentation":"

A Number Set data type.

" + "documentation":"

An attribute of type Number Set. For example:

\"NS\": [\"42.2\", \"-19\", \"7.5\", \"3.14\"]

Numbers are sent across the network to DynamoDB as strings, to maximize compatibility across languages and libraries. However, DynamoDB treats them as number type attributes for mathematical operations.

" }, "BS":{ "shape":"BinarySetAttributeValue", - "documentation":"

A Binary Set data type.

" + "documentation":"

An attribute of type Binary Set. For example:

\"BS\": [\"U3Vubnk=\", \"UmFpbnk=\", \"U25vd3k=\"]

" }, "M":{ "shape":"MapAttributeValue", - "documentation":"

A Map of attribute values.

" + "documentation":"

An attribute of type Map. For example:

\"M\": {\"Name\": {\"S\": \"Joe\"}, \"Age\": {\"N\": \"35\"}}

" }, "L":{ "shape":"ListAttributeValue", - "documentation":"

A List of attribute values.

" + "documentation":"

An attribute of type List. For example:

\"L\": [ {\"S\": \"Cookies\"} , {\"S\": \"Coffee\"}, {\"N\", \"3.14159\"}]

" }, "NULL":{ "shape":"NullAttributeValue", - "documentation":"

A Null data type.

" + "documentation":"

An attribute of type Null. For example:

\"NULL\": true

" }, "BOOL":{ "shape":"BooleanAttributeValue", - "documentation":"

A Boolean data type.

" + "documentation":"

An attribute of type Boolean. For example:

\"BOOL\": true

" } }, - "documentation":"

Represents the data for an attribute. You can set one, and only one, of the elements.

Each attribute in an item is a name-value pair. An attribute can be single-valued or multi-valued set. For example, a book item can have title and authors attributes. Each book has one title but can have many authors. The multi-valued attribute is a set; duplicate values are not allowed.

" + "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" }, "AttributeValueList":{ "type":"list", @@ -329,44 +843,361 @@ "AttributeValueUpdate":{ "type":"structure", "members":{ - "Value":{"shape":"AttributeValue"}, + "Value":{ + "shape":"AttributeValue", + "documentation":"

Represents the data for an attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" + }, "Action":{ "shape":"AttributeAction", - "documentation":"

Specifies how to perform the update. Valid values are PUT (default), DELETE, and ADD. The behavior depends on whether the specified primary key already exists in the table.

If an item with the specified Key is found in the table:

  • PUT - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.

  • DELETE - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specified [a,c], then the final attribute value would be [b]. Specifying an empty set is an error.

  • ADD - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then the Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      In addition, if you use ADD to update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set, and if the Value is also a set, then the Value is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set [1,2], and the ADD action specified [3], then the final attribute value would be [1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings. The same holds true for number sets and binary sets.

    This action is only valid for an existing attribute whose data type is number or is a set. Do not use ADD for any other data types.

If no item with the specified Key is found:

  • PUT - DynamoDB creates a new item with the specified primary key, and then adds the attribute.

  • DELETE - Nothing happens; there is no attribute to delete.

  • ADD - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.

" + "documentation":"

Specifies how to perform the update. Valid values are PUT (default), DELETE, and ADD. The behavior depends on whether the specified primary key already exists in the table.

If an item with the specified Key is found in the table:

  • PUT - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.

  • DELETE - If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specified [a,c], then the final attribute value would be [b]. Specifying an empty set is an error.

  • ADD - If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then the Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      In addition, if you use ADD to update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set, and if the Value is also a set, then the Value is added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set [1,2], and the ADD action specified [3], then the final attribute value would be [1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings. The same holds true for number sets and binary sets.

    This action is only valid for an existing attribute whose data type is number or is a set. Do not use ADD for any other data types.

If no item with the specified Key is found:

  • PUT - DynamoDB creates a new item with the specified primary key, and then adds the attribute.

  • DELETE - Nothing happens; there is no attribute to delete.

  • ADD - DynamoDB creates an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are number and number set; no other data types can be specified.

" } }, - "documentation":"

For the UpdateItem operation, represents the attributes to be modified, the action to perform on each, and the new value for each.

You cannot use UpdateItem to update any primary key attributes. Instead, you will need to delete the item, and then use PutItem to create a new item with new attributes.

Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a ValidationException exception.

" + "documentation":"

For the UpdateItem operation, represents the attributes to be modified, the action to perform on each, and the new value for each.

You cannot use UpdateItem to update any primary key attributes. Instead, you will need to delete the item, and then use PutItem to create a new item with new attributes.

Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a ValidationException exception.

" }, - "Backfilling":{"type":"boolean"}, - "BatchGetItemInput":{ + "AutoScalingPolicyDescription":{ "type":"structure", - "required":["RequestItems"], "members":{ - "RequestItems":{ - "shape":"BatchGetRequestMap", - "documentation":"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\"#P\":\"Percentile\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet -

    This is a legacy parameter, for backward compatibility. New applications should use ProjectionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

    This parameter allows you to retrieve attributes of type List or Map; however, it cannot retrieve individual elements within a List or a Map.

    The names of one or more attributes to retrieve. If no attribute names are provided, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

    Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

" + "PolicyName":{ + "shape":"AutoScalingPolicyName", + "documentation":"

The name of the scaling policy.

" }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"} + "TargetTrackingScalingPolicyConfiguration":{ + "shape":"AutoScalingTargetTrackingScalingPolicyConfigurationDescription", + "documentation":"

Represents a target tracking scaling policy configuration.

" + } }, - "documentation":"

Represents the input of a BatchGetItem operation.

" + "documentation":"

Represents the properties of the scaling policy.

" }, - "BatchGetItemOutput":{ + "AutoScalingPolicyDescriptionList":{ + "type":"list", + "member":{"shape":"AutoScalingPolicyDescription"} + }, + "AutoScalingPolicyName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"\\p{Print}+" + }, + "AutoScalingPolicyUpdate":{ + "type":"structure", + "required":["TargetTrackingScalingPolicyConfiguration"], + "members":{ + "PolicyName":{ + "shape":"AutoScalingPolicyName", + "documentation":"

The name of the scaling policy.

" + }, + "TargetTrackingScalingPolicyConfiguration":{ + "shape":"AutoScalingTargetTrackingScalingPolicyConfigurationUpdate", + "documentation":"

Represents a target tracking scaling policy configuration.

" + } + }, + "documentation":"

Represents the auto scaling policy to be modified.

" + }, + "AutoScalingRoleArn":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "AutoScalingSettingsDescription":{ + "type":"structure", + "members":{ + "MinimumUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The minimum capacity units that a global table or global secondary index should be scaled down to.

" + }, + "MaximumUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum capacity units that a global table or global secondary index should be scaled up to.

" + }, + "AutoScalingDisabled":{ + "shape":"BooleanObject", + "documentation":"

Disabled auto scaling for this global table or global secondary index.

" + }, + "AutoScalingRoleArn":{ + "shape":"String", + "documentation":"

Role ARN used for configuring the auto scaling policy.

" + }, + "ScalingPolicies":{ + "shape":"AutoScalingPolicyDescriptionList", + "documentation":"

Information about the scaling policies.

" + } + }, + "documentation":"

Represents the auto scaling settings for a global table or global secondary index.

" + }, + "AutoScalingSettingsUpdate":{ + "type":"structure", + "members":{ + "MinimumUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The minimum capacity units that a global table or global secondary index should be scaled down to.

" + }, + "MaximumUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum capacity units that a global table or global secondary index should be scaled up to.

" + }, + "AutoScalingDisabled":{ + "shape":"BooleanObject", + "documentation":"

Disabled auto scaling for this global table or global secondary index.

" + }, + "AutoScalingRoleArn":{ + "shape":"AutoScalingRoleArn", + "documentation":"

Role ARN used for configuring auto scaling policy.

" + }, + "ScalingPolicyUpdate":{ + "shape":"AutoScalingPolicyUpdate", + "documentation":"

The scaling policy to apply for scaling target global table or global secondary index capacity units.

" + } + }, + "documentation":"

Represents the auto scaling settings to be modified for a global table or global secondary index.

" + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationDescription":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "DisableScaleIn":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" + }, + "ScaleInCooldown":{ + "shape":"IntegerObject", + "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. The cooldown period is used to block subsequent scale in requests until it has expired. You should scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, application auto scaling scales out your scalable target immediately.

" + }, + "ScaleOutCooldown":{ + "shape":"IntegerObject", + "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start. While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. You should continuously (but not excessively) scale out.

" + }, + "TargetValue":{ + "shape":"Double", + "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" + } + }, + "documentation":"

Represents the properties of a target tracking scaling policy.

" + }, + "AutoScalingTargetTrackingScalingPolicyConfigurationUpdate":{ + "type":"structure", + "required":["TargetValue"], + "members":{ + "DisableScaleIn":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.

" + }, + "ScaleInCooldown":{ + "shape":"IntegerObject", + "documentation":"

The amount of time, in seconds, after a scale in activity completes before another scale in activity can start. The cooldown period is used to block subsequent scale in requests until it has expired. You should scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, application auto scaling scales out your scalable target immediately.

" + }, + "ScaleOutCooldown":{ + "shape":"IntegerObject", + "documentation":"

The amount of time, in seconds, after a scale out activity completes before another scale out activity can start. While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. You should continuously (but not excessively) scale out.

" + }, + "TargetValue":{ + "shape":"Double", + "documentation":"

The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).

" + } + }, + "documentation":"

Represents the settings of a target tracking scaling policy that will be modified.

" + }, + "Backfilling":{"type":"boolean"}, + "BackupArn":{ + "type":"string", + "max":1024, + "min":37 + }, + "BackupCreationDateTime":{"type":"timestamp"}, + "BackupDescription":{ + "type":"structure", + "members":{ + "BackupDetails":{ + "shape":"BackupDetails", + "documentation":"

Contains the details of the backup created for the table.

" + }, + "SourceTableDetails":{ + "shape":"SourceTableDetails", + "documentation":"

Contains the details of the table when the backup was created.

" + }, + "SourceTableFeatureDetails":{ + "shape":"SourceTableFeatureDetails", + "documentation":"

Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

" + } + }, + "documentation":"

Contains the description of the backup created for the table.

" + }, + "BackupDetails":{ + "type":"structure", + "required":[ + "BackupArn", + "BackupName", + "BackupStatus", + "BackupType", + "BackupCreationDateTime" + ], + "members":{ + "BackupArn":{ + "shape":"BackupArn", + "documentation":"

ARN associated with the backup.

" + }, + "BackupName":{ + "shape":"BackupName", + "documentation":"

Name of the requested backup.

" + }, + "BackupSizeBytes":{ + "shape":"BackupSizeBytes", + "documentation":"

Size of the backup in bytes.

" + }, + "BackupStatus":{ + "shape":"BackupStatus", + "documentation":"

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

" + }, + "BackupType":{ + "shape":"BackupType", + "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

  • AWS_BACKUP - On-demand backup created by you from AWS Backup service.

" + }, + "BackupCreationDateTime":{ + "shape":"BackupCreationDateTime", + "documentation":"

Time at which the backup was created. This is the request time of the backup.

" + }, + "BackupExpiryDateTime":{ + "shape":"Date", + "documentation":"

Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM on-demand backup expires automatically 35 days after its creation.

" + } + }, + "documentation":"

Contains the details of the backup created for the table.

" + }, + "BackupInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

There is another ongoing conflicting backup control plane operation on the table. The backup is either being created, deleted or restored to a table.

", + "exception":true + }, + "BackupName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "BackupNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Backup not found for the given BackupARN.

", + "exception":true + }, + "BackupSizeBytes":{ + "type":"long", + "min":0 + }, + "BackupStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETED", + "AVAILABLE" + ] + }, + "BackupSummaries":{ + "type":"list", + "member":{"shape":"BackupSummary"} + }, + "BackupSummary":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table.

" + }, + "TableId":{ + "shape":"TableId", + "documentation":"

Unique identifier for the table.

" + }, + "TableArn":{ + "shape":"TableArn", + "documentation":"

ARN associated with the table.

" + }, + "BackupArn":{ + "shape":"BackupArn", + "documentation":"

ARN associated with the backup.

" + }, + "BackupName":{ + "shape":"BackupName", + "documentation":"

Name of the specified backup.

" + }, + "BackupCreationDateTime":{ + "shape":"BackupCreationDateTime", + "documentation":"

Time at which the backup was created.

" + }, + "BackupExpiryDateTime":{ + "shape":"Date", + "documentation":"

Time at which the automatic on-demand backup created by DynamoDB will expire. This SYSTEM on-demand backup expires automatically 35 days after its creation.

" + }, + "BackupStatus":{ + "shape":"BackupStatus", + "documentation":"

Backup can be in one of the following states: CREATING, ACTIVE, DELETED.

" + }, + "BackupType":{ + "shape":"BackupType", + "documentation":"

BackupType:

  • USER - You create and manage these using the on-demand backup feature.

  • SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion.

  • AWS_BACKUP - On-demand backup created by you from AWS Backup service.

" + }, + "BackupSizeBytes":{ + "shape":"BackupSizeBytes", + "documentation":"

Size of the backup in bytes.

" + } + }, + "documentation":"

Contains details for the backup.

" + }, + "BackupType":{ + "type":"string", + "enum":[ + "USER", + "SYSTEM", + "AWS_BACKUP" + ] + }, + "BackupTypeFilter":{ + "type":"string", + "enum":[ + "USER", + "SYSTEM", + "AWS_BACKUP", + "ALL" + ] + }, + "BackupsInputLimit":{ + "type":"integer", + "max":100, + "min":1 + }, + "BatchGetItemInput":{ + "type":"structure", + "required":["RequestItems"], + "members":{ + "RequestItems":{ + "shape":"BatchGetRequestMap", + "documentation":"

A map of one or more table names and, for each table, a map that describes one or more items to retrieve from that table. Each table name can be used only once per BatchGetItem request.

Each element in the map of items to retrieve consists of the following:

  • ConsistentRead - If true, a strongly consistent read is used; if false (the default), an eventually consistent read is used.

  • ExpressionAttributeNames - One or more substitution tokens for attribute names in the ProjectionExpression parameter. The following are some use cases for using ExpressionAttributeNames:

    • To access an attribute whose name conflicts with a DynamoDB reserved word.

    • To create a placeholder for repeating occurrences of an attribute name in an expression.

    • To prevent special characters in an attribute name from being misinterpreted in an expression.

    Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

    • Percentile

    The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

    • {\"#P\":\"Percentile\"}

    You could then use this substitution in an expression, as in this example:

    • #P = :val

    Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

    For more information about expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • Keys - An array of primary key attribute values that define specific items in the table. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key value. For a composite key, you must provide both the partition key value and the sort key value.

  • ProjectionExpression - A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

    If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

    For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

  • AttributesToGet - This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" + }, + "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"} + }, + "documentation":"

Represents the input of a BatchGetItem operation.

" + }, + "BatchGetItemOutput":{ "type":"structure", "members":{ "Responses":{ "shape":"BatchGetResponseMap", - "documentation":"

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

" + "documentation":"

A map of table name to a list of items. Each object in Responses consists of a table name, along with a map of attribute data consisting of the data type and attribute value.

" }, "UnprocessedKeys":{ "shape":"BatchGetRequestMap", - "documentation":"

A map of tables and their respective keys that were not processed with the current response. The UnprocessedKeys value is in the same form as RequestItems, so the value can be provided directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each element consists of:

  • Keys - An array of primary key attribute values that define specific items in the table.

  • AttributesToGet - One or more attributes to be retrieved from the table or index. By default, all attributes are returned. If a requested attribute is not found, it does not appear in the result.

  • ConsistentRead - The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

If there are no unprocessed keys remaining, the response contains an empty UnprocessedKeys map.

" + "documentation":"

A map of tables and their respective keys that were not processed with the current response. The UnprocessedKeys value is in the same form as RequestItems, so the value can be provided directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each element consists of:

  • Keys - An array of primary key attribute values that define specific items in the table.

  • ProjectionExpression - One or more attributes to be retrieved from the table or index. By default, all attributes are returned. If a requested attribute is not found, it does not appear in the result.

  • ConsistentRead - The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.

If there are no unprocessed keys remaining, the response contains an empty UnprocessedKeys map.

" }, "ConsumedCapacity":{ "shape":"ConsumedCapacityMultiple", - "documentation":"

The read capacity units consumed by the operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" + "documentation":"

The read capacity units consumed by the entire BatchGetItem operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" } }, - "documentation":"

Represents the output of a BatchGetItem operation.

" + "documentation":"

Represents the output of a BatchGetItem operation.

" }, "BatchGetRequestMap":{ "type":"map", @@ -386,7 +1217,7 @@ "members":{ "RequestItems":{ "shape":"BatchWriteItemRequestMap", - "documentation":"

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the ! item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

" + "documentation":"

A map of one or more table names and, for each table, a list of operations to be performed (DeleteRequest or PutRequest). Each element in the map consists of the following:

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value. For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values are rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ReturnItemCollectionMetrics":{ @@ -394,25 +1225,25 @@ "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections, if any, that were modified during the operation are returned in the response. If set to NONE (the default), no statistics are returned.

" } }, - "documentation":"

Represents the input of a BatchWriteItem operation.

" + "documentation":"

Represents the input of a BatchWriteItem operation.

" }, "BatchWriteItemOutput":{ "type":"structure", "members":{ "UnprocessedItems":{ "shape":"BatchWriteItemRequestMap", - "documentation":"

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

" + "documentation":"

A map of tables and requests against those tables that were not processed. The UnprocessedItems value is in the same form as RequestItems, so you can provide this value directly to a subsequent BatchGetItem operation. For more information, see RequestItems in the Request Parameters section.

Each UnprocessedItems entry consists of a table name and, for that table, a list of operations to perform (DeleteRequest or PutRequest).

  • DeleteRequest - Perform a DeleteItem operation on the specified item. The item to be deleted is identified by a Key subelement:

    • Key - A map of primary key attribute values that uniquely identify the item. Each entry in this map consists of an attribute name and an attribute value.

  • PutRequest - Perform a PutItem operation on the specified item. The item to be put is identified by an Item subelement:

    • Item - A map of attributes and their values. Each entry in this map consists of an attribute name and an attribute value. Attribute values must not be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests that contain empty values will be rejected with a ValidationException exception.

      If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

If there are no unprocessed items remaining, the response contains an empty UnprocessedItems map.

" }, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetricsPerTable", - "documentation":"

A list of tables that were processed by BatchWriteItem and, for each table, information about any item collections that were affected by individual DeleteItem or PutItem operations.

Each entry consists of the following subelements:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item.

  • SizeEstimateRange - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" + "documentation":"

A list of tables that were processed by BatchWriteItem and, for each table, information about any item collections that were affected by individual DeleteItem or PutItem operations.

Each entry consists of the following subelements:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item.

  • SizeEstimateRangeGB - An estimate of item collection size, expressed in GB. This is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on the table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" }, "ConsumedCapacity":{ "shape":"ConsumedCapacityMultiple", - "documentation":"

The capacity units consumed by the operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" + "documentation":"

The capacity units consumed by the entire BatchWriteItem operation.

Each element consists of:

  • TableName - The table that consumed the provisioned throughput.

  • CapacityUnits - The total number of capacity units consumed.

" } }, - "documentation":"

Represents the output of a BatchWriteItem operation.

" + "documentation":"

Represents the output of a BatchWriteItem operation.

" }, "BatchWriteItemRequestMap":{ "type":"map", @@ -421,6 +1252,27 @@ "max":25, "min":1 }, + "BillingMode":{ + "type":"string", + "enum":[ + "PROVISIONED", + "PAY_PER_REQUEST" + ] + }, + "BillingModeSummary":{ + "type":"structure", + "members":{ + "BillingMode":{ + "shape":"BillingMode", + "documentation":"

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend using PROVISIONED for predictable workloads.

  • PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. We recommend using PAY_PER_REQUEST for unpredictable workloads.

" + }, + "LastUpdateToPayPerRequestDateTime":{ + "shape":"Date", + "documentation":"

Represents the time when PAY_PER_REQUEST was last set as the read/write capacity mode.

" + } + }, + "documentation":"

Contains the details for the read/write capacity mode.

" + }, "BinaryAttributeValue":{"type":"blob"}, "BinarySetAttributeValue":{ "type":"list", @@ -428,9 +1280,41 @@ }, "BooleanAttributeValue":{"type":"boolean"}, "BooleanObject":{"type":"boolean"}, + "CancellationReason":{ + "type":"structure", + "members":{ + "Item":{ + "shape":"AttributeMap", + "documentation":"

Item in the request which caused the transaction to get cancelled.

" + }, + "Code":{ + "shape":"Code", + "documentation":"

Status code for the result of the cancelled transaction.

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

Cancellation reason message description.

" + } + }, + "documentation":"

An ordered list of errors for each item in the request which caused the transaction to get cancelled. The values of the list are ordered according to the ordering of the TransactWriteItems request parameter. If no error occurred for the associated item an error with a Null code and Null message will be present.

" + }, + "CancellationReasonList":{ + "type":"list", + "member":{"shape":"CancellationReason"}, + "max":25, + "min":1 + }, "Capacity":{ "type":"structure", "members":{ + "ReadCapacityUnits":{ + "shape":"ConsumedCapacityUnits", + "documentation":"

The total number of read capacity units consumed on a table or an index.

" + }, + "WriteCapacityUnits":{ + "shape":"ConsumedCapacityUnits", + "documentation":"

The total number of write capacity units consumed on a table or an index.

" + }, "CapacityUnits":{ "shape":"ConsumedCapacityUnits", "documentation":"

The total number of capacity units consumed on a table or an index.

" @@ -438,6 +1322,12 @@ }, "documentation":"

Represents the amount of provisioned throughput capacity consumed on a table or an index.

" }, + "ClientRequestToken":{ + "type":"string", + "max":36, + "min":1 + }, + "Code":{"type":"string"}, "ComparisonOperator":{ "type":"string", "enum":[ @@ -462,14 +1352,49 @@ "members":{ "AttributeValueList":{ "shape":"AttributeValueList", - "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

" + "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

" }, "ComparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all datatypes, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all datatypes, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all datatypes, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements within two sets.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary (not a set type). These attributes are compared against an existing set type attribute of an item. If any elements of the input set are present in the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" + "documentation":"

A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" + } + }, + "documentation":"

Represents the selection criteria for a Query or Scan operation:

  • For a Query operation, Condition is used for specifying the KeyConditions to use when querying a table or an index. For KeyConditions, only the following comparison operators are supported:

    EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN

    Condition is also used in a QueryFilter, which evaluates the query results and returns only the desired values.

  • For a Scan operation, Condition is used in a ScanFilter, which evaluates the scan results and returns only the desired values.

" + }, + "ConditionCheck":{ + "type":"structure", + "required":[ + "Key", + "TableName", + "ConditionExpression" + ], + "members":{ + "Key":{ + "shape":"Key", + "documentation":"

The primary key of the item to be checked. Each element consists of an attribute name and a value for that attribute.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table for the check item request.

" + }, + "ConditionExpression":{ + "shape":"ConditionExpression", + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

" + }, + "ExpressionAttributeNames":{ + "shape":"ExpressionAttributeNameMap", + "documentation":"

One or more substitution tokens for attribute names in an expression.

" + }, + "ExpressionAttributeValues":{ + "shape":"ExpressionAttributeValueMap", + "documentation":"

One or more values that can be substituted in an expression.

" + }, + "ReturnValuesOnConditionCheckFailure":{ + "shape":"ReturnValuesOnConditionCheckFailure", + "documentation":"

Use ReturnValuesOnConditionCheckFailure to get the item attributes if the ConditionCheck condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: NONE and ALL_OLD.

" } }, - "documentation":"

Represents the selection criteria for a Query or Scan operation:

  • For a Query operation, Condition is used for specifying the KeyConditions to use when querying a table or an index. For KeyConditions, only the following comparison operators are supported:

    EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN

    Condition is also used in a QueryFilter, which evaluates the query results and returns only the desired values.

  • For a Scan operation, Condition is used in a ScanFilter, which evaluates the scan results and returns only the desired values.

" + "documentation":"

Represents a request to perform a check that an item exists or to check the condition of specific attributes of the item.

" }, "ConditionExpression":{"type":"string"}, "ConditionalCheckFailedException":{ @@ -502,6 +1427,14 @@ "shape":"ConsumedCapacityUnits", "documentation":"

The total number of capacity units consumed by the operation.

" }, + "ReadCapacityUnits":{ + "shape":"ConsumedCapacityUnits", + "documentation":"

The total number of read capacity units consumed by the operation.

" + }, + "WriteCapacityUnits":{ + "shape":"ConsumedCapacityUnits", + "documentation":"

The total number of write capacity units consumed by the operation.

" + }, "Table":{ "shape":"Capacity", "documentation":"

The amount of throughput consumed on the table affected by the operation.

" @@ -515,80 +1448,318 @@ "documentation":"

The amount of throughput consumed on each global index affected by the operation.

" } }, - "documentation":"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The capacity units consumed by an operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the request asked for it. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" }, "ConsumedCapacityMultiple":{ "type":"list", "member":{"shape":"ConsumedCapacity"} }, "ConsumedCapacityUnits":{"type":"double"}, - "CreateGlobalSecondaryIndexAction":{ + "ContinuousBackupsDescription":{ + "type":"structure", + "required":["ContinuousBackupsStatus"], + "members":{ + "ContinuousBackupsStatus":{ + "shape":"ContinuousBackupsStatus", + "documentation":"

ContinuousBackupsStatus can be one of the following states: ENABLED, DISABLED

" + }, + "PointInTimeRecoveryDescription":{ + "shape":"PointInTimeRecoveryDescription", + "documentation":"

The description of the point in time recovery settings applied to the table.

" + } + }, + "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" + }, + "ContinuousBackupsStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "ContinuousBackupsUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Backups have not yet been enabled for this table.

", + "exception":true + }, + "ContributorInsightsAction":{ + "type":"string", + "enum":[ + "ENABLE", + "DISABLE" + ] + }, + "ContributorInsightsRule":{ + "type":"string", + "pattern":"[A-Za-z0-9][A-Za-z0-9\\-\\_\\.]{0,126}[A-Za-z0-9]" + }, + "ContributorInsightsRuleList":{ + "type":"list", + "member":{"shape":"ContributorInsightsRule"} + }, + "ContributorInsightsStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED", + "FAILED" + ] + }, + "ContributorInsightsSummaries":{ + "type":"list", + "member":{"shape":"ContributorInsightsSummary"} + }, + "ContributorInsightsSummary":{ "type":"structure", - "required":[ - "IndexName", - "KeySchema", - "Projection", - "ProvisionedThroughput" - ], "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table associated with the summary.

" + }, "IndexName":{ "shape":"IndexName", - "documentation":"

The name of the global secondary index to be created.

" - }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The key schema for the global secondary index.

" + "documentation":"

Name of the index associated with the summary, if any.

" }, - "Projection":{"shape":"Projection"}, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"} + "ContributorInsightsStatus":{ + "shape":"ContributorInsightsStatus", + "documentation":"

Describes the current status for contributor insights for the given table and index, if applicable.

" + } }, - "documentation":"

Represents a new global secondary index to be added to an existing table.

" + "documentation":"

Represents a Contributor Insights summary entry..

" }, - "CreateTableInput":{ + "CreateBackupInput":{ "type":"structure", "required":[ - "AttributeDefinitions", "TableName", - "KeySchema", - "ProvisionedThroughput" + "BackupName" ], "members":{ - "AttributeDefinitions":{ - "shape":"AttributeDefinitions", - "documentation":"

An array of attributes that describe the key schema for the table and indexes.

" - }, "TableName":{ "shape":"TableName", - "documentation":"

The name of the table to create.

" + "documentation":"

The name of the table.

" }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.

Each KeySchemaElement in the array is composed of:

  • AttributeName - The name of this key attribute.

  • KeyType - The role that the key attribute will assume:

    • HASH - partition key

    • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE.

For more information, see Specifying the Primary Key in the Amazon DynamoDB Developer Guide.

" + "BackupName":{ + "shape":"BackupName", + "documentation":"

Specified name for the backup.

" + } + } + }, + "CreateBackupOutput":{ + "type":"structure", + "members":{ + "BackupDetails":{ + "shape":"BackupDetails", + "documentation":"

Contains the details of the backup created for the table.

" + } + } + }, + "CreateGlobalSecondaryIndexAction":{ + "type":"structure", + "required":[ + "IndexName", + "KeySchema", + "Projection" + ], + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index to be created.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

The key schema for the global secondary index.

" + }, + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + } + }, + "documentation":"

Represents a new global secondary index to be added to an existing table.

" + }, + "CreateGlobalTableInput":{ + "type":"structure", + "required":[ + "GlobalTableName", + "ReplicationGroup" + ], + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The global table name.

" + }, + "ReplicationGroup":{ + "shape":"ReplicaList", + "documentation":"

The Regions where the global table needs to be created.

" + } + } + }, + "CreateGlobalTableOutput":{ + "type":"structure", + "members":{ + "GlobalTableDescription":{ + "shape":"GlobalTableDescription", + "documentation":"

Contains the details of the global table.

" + } + } + }, + "CreateReplicaAction":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region of the replica to be added.

" + } + }, + "documentation":"

Represents a replica to be added.

" + }, + "CreateReplicationGroupMemberAction":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the new replica will be created.

" + }, + "KMSMasterKeyId":{ + "shape":"KMSMasterKeyId", + "documentation":"

The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption in the new replica. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughputOverride", + "documentation":"

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"ReplicaGlobalSecondaryIndexList", + "documentation":"

Replica-specific global secondary index settings.

" + } + }, + "documentation":"

Represents a replica to be created.

" + }, + "CreateTableInput":{ + "type":"structure", + "required":[ + "AttributeDefinitions", + "TableName", + "KeySchema" + ], + "members":{ + "AttributeDefinitions":{ + "shape":"AttributeDefinitions", + "documentation":"

An array of attributes that describe the key schema for the table and indexes.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to create.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

Specifies the attributes that make up the primary key for a table or an index. The attributes in KeySchema must also be defined in the AttributeDefinitions array. For more information, see Data Model in the Amazon DynamoDB Developer Guide.

Each KeySchemaElement in the array is composed of:

  • AttributeName - The name of this key attribute.

  • KeyType - The role that the key attribute will assume:

    • HASH - partition key

    • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from the DynamoDB usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For a simple primary key (partition key), you must provide exactly one element with a KeyType of HASH.

For a composite primary key (partition key and sort key), you must provide exactly two elements, in this order: The first element must have a KeyType of HASH, and the second element must have a KeyType of RANGE.

For more information, see Working with Tables in the Amazon DynamoDB Developer Guide.

" }, "LocalSecondaryIndexes":{ "shape":"LocalSecondaryIndexList", - "documentation":"

One or more local secondary indexes (the maximum is five) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

Each local secondary index in the array includes the following:

  • IndexName - The name of the local secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" + "documentation":"

One or more local secondary indexes (the maximum is 5) to be created on the table. Each index is scoped to a given partition key value. There is a 10 GB size limit per partition key value; otherwise, the size of a local secondary index is unconstrained.

Each local secondary index in the array includes the following:

  • IndexName - The name of the local secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the local secondary index. The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" }, "GlobalSecondaryIndexes":{ "shape":"GlobalSecondaryIndexList", - "documentation":"

One or more global secondary indexes (the maximum is five) to be created on the table. Each global secondary index in the array includes the following:

  • IndexName - The name of the global secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the global secondary index.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

" + "documentation":"

One or more global secondary indexes (the maximum is 20) to be created on the table. Each global secondary index in the array includes the following:

  • IndexName - The name of the global secondary index. Must be unique only for this table.

  • KeySchema - Specifies the key schema for the global secondary index.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 100. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units.

" + }, + "BillingMode":{ + "shape":"BillingMode", + "documentation":"

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

If you set BillingMode as PROVISIONED, you must specify this property. If you set BillingMode as PAY_PER_REQUEST, you cannot specify this property.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"}, "StreamSpecification":{ "shape":"StreamSpecification", - "documentation":"

The settings for DynamoDB Streams on the table. These settings consist of:

  • StreamEnabled - Indicates whether Streams is to be enabled (true) or disabled (false).

  • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

    • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

    • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

    • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

    • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" + "documentation":"

The settings for DynamoDB Streams on the table. These settings consist of:

  • StreamEnabled - Indicates whether DynamoDB Streams is to be enabled (true) or disabled (false).

  • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values for StreamViewType are:

    • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

    • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

    • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

    • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" + }, + "SSESpecification":{ + "shape":"SSESpecification", + "documentation":"

Represents the settings used to enable server-side encryption.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs to label the table. For more information, see Tagging for DynamoDB.

" } }, - "documentation":"

Represents the input of a CreateTable operation.

" + "documentation":"

Represents the input of a CreateTable operation.

" }, "CreateTableOutput":{ "type":"structure", "members":{ - "TableDescription":{"shape":"TableDescription"} + "TableDescription":{ + "shape":"TableDescription", + "documentation":"

Represents the properties of the table.

" + } }, - "documentation":"

Represents the output of a CreateTable operation.

" + "documentation":"

Represents the output of a CreateTable operation.

" }, "Date":{"type":"timestamp"}, + "Delete":{ + "type":"structure", + "required":[ + "Key", + "TableName" + ], + "members":{ + "Key":{ + "shape":"Key", + "documentation":"

The primary key of the item to be deleted. Each element consists of an attribute name and a value for that attribute.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table in which the item to be deleted resides.

" + }, + "ConditionExpression":{ + "shape":"ConditionExpression", + "documentation":"

A condition that must be satisfied in order for a conditional delete to succeed.

" + }, + "ExpressionAttributeNames":{ + "shape":"ExpressionAttributeNameMap", + "documentation":"

One or more substitution tokens for attribute names in an expression.

" + }, + "ExpressionAttributeValues":{ + "shape":"ExpressionAttributeValueMap", + "documentation":"

One or more values that can be substituted in an expression.

" + }, + "ReturnValuesOnConditionCheckFailure":{ + "shape":"ReturnValuesOnConditionCheckFailure", + "documentation":"

Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Delete condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: NONE and ALL_OLD.

" + } + }, + "documentation":"

Represents a request to perform a DeleteItem operation.

" + }, + "DeleteBackupInput":{ + "type":"structure", + "required":["BackupArn"], + "members":{ + "BackupArn":{ + "shape":"BackupArn", + "documentation":"

The ARN associated with the backup.

" + } + } + }, + "DeleteBackupOutput":{ + "type":"structure", + "members":{ + "BackupDescription":{ + "shape":"BackupDescription", + "documentation":"

Contains the description of the backup created for the table.

" + } + } + }, "DeleteGlobalSecondaryIndexAction":{ "type":"structure", "required":["IndexName"], @@ -613,19 +1784,19 @@ }, "Key":{ "shape":"Key", - "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to delete.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" + "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to delete.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A map of attribute/condition pairs. Expected provides a conditional block for the DeleteItem operation.

Each element of Expected consists of an attribute name, a comparison operator, and one or more values. DynamoDB compares the attribute with the value(s) you supplied, using the comparison operator. For each Expected element, the result of the evaluation is either true or false.

If you specify more than one element in the Expected map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

If the Expected map evaluates to true, then the conditional operation succeeds; otherwise, it fails.

Expected contains the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For type Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

  • ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. When performing the comparison, DynamoDB uses strongly consistent reads.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    The following are descriptions of each comparison operator.

    • EQ : Equal. EQ is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NE : Not equal. NE is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LE : Less than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LT : Less than.

      AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GE : Greater than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GT : Greater than.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, including lists and maps.

      This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

    • NULL : The attribute does not exist. NULL is supported for all datatypes, including lists and maps.

      This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

    • CONTAINS : Checks for a subsequence, or value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

      CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

      NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • BEGINS_WITH : Checks for a prefix.

      AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

    • IN : Checks for matching elements within two sets.

      AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary (not a set type). These attributes are compared against an existing set type attribute of an item. If any elements of the input set are present in the item attribute, the expression evaluates to true.

    • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

      AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

For backward compatibility with previous DynamoDB releases, the following parameters can be used instead of AttributeValueList and ComparisonOperator:

  • Value - A value for DynamoDB to compare with an attribute.

  • Exists - A Boolean value that causes DynamoDB to evaluate the value before attempting the conditional operation:

    • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the condition evaluates to true; otherwise the condition evaluate to false.

    • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the condition evaluates to true. If the value is found, despite the assumption that it does not exist, the condition evaluates to false.

    Note that the default value for Exists is true.

The Value and Exists parameters are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A logical operator to apply to the conditions in the Expected map:

  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - The content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD.

" + "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were deleted. For DeleteItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - The content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, DeleteItem does not recognize any values other than NONE or ALL_OLD.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ReturnItemCollectionMetrics":{ @@ -634,33 +1805,58 @@ }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | &#x3C;&#x3E; | &#x3C; | &#x3E; | &#x3C;= | &#x3E;= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

ConditionExpression replaces the legacy ConditionalOperator and Expected parameters.

" + "documentation":"

A condition that must be satisfied in order for a conditional DeleteItem to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information about condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents the input of a DeleteItem operation.

" + "documentation":"

Represents the input of a DeleteItem operation.

" }, "DeleteItemOutput":{ "type":"structure", "members":{ "Attributes":{ "shape":"AttributeMap", - "documentation":"

A map of attribute names to AttributeValue objects, representing the item as it appeared before the DeleteItem operation. This map appears in the response only if ReturnValues was specified as ALL_OLD in the request.

" + "documentation":"

A map of attribute names to AttributeValue objects, representing the item as it appeared before the DeleteItem operation. This map appears in the response only if ReturnValues was specified as ALL_OLD in the request.

" + }, + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the DeleteItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Mode in the Amazon DynamoDB Developer Guide.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"}, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetrics", - "documentation":"

Information about item collections, if any, that were affected by the operation. ItemCollectionMetrics is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRange - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" + "documentation":"

Information about item collections, if any, that were affected by the DeleteItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" + } + }, + "documentation":"

Represents the output of a DeleteItem operation.

" + }, + "DeleteReplicaAction":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region of the replica to be removed.

" + } + }, + "documentation":"

Represents a replica to be removed.

" + }, + "DeleteReplicationGroupMemberAction":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the replica exists.

" } }, - "documentation":"

Represents the output of a DeleteItem operation.

" + "documentation":"

Represents a replica to be deleted.

" }, "DeleteRequest":{ "type":"structure", @@ -671,7 +1867,7 @@ "documentation":"

A map of attribute name to attribute values, representing the primary key of the item to delete. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema.

" } }, - "documentation":"

Represents a request to perform a DeleteItem operation on an item.

" + "documentation":"

Represents a request to perform a DeleteItem operation on an item.

" }, "DeleteTableInput":{ "type":"structure", @@ -682,42 +1878,183 @@ "documentation":"

The name of the table to delete.

" } }, - "documentation":"

Represents the input of a DeleteTable operation.

" + "documentation":"

Represents the input of a DeleteTable operation.

" }, "DeleteTableOutput":{ "type":"structure", "members":{ - "TableDescription":{"shape":"TableDescription"} + "TableDescription":{ + "shape":"TableDescription", + "documentation":"

Represents the properties of a table.

" + } }, - "documentation":"

Represents the output of a DeleteTable operation.

" + "documentation":"

Represents the output of a DeleteTable operation.

" + }, + "DescribeBackupInput":{ + "type":"structure", + "required":["BackupArn"], + "members":{ + "BackupArn":{ + "shape":"BackupArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the backup.

" + } + } + }, + "DescribeBackupOutput":{ + "type":"structure", + "members":{ + "BackupDescription":{ + "shape":"BackupDescription", + "documentation":"

Contains the description of the backup created for the table.

" + } + } + }, + "DescribeContinuousBackupsInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table for which the customer wants to check the continuous backups and point in time recovery settings.

" + } + } + }, + "DescribeContinuousBackupsOutput":{ + "type":"structure", + "members":{ + "ContinuousBackupsDescription":{ + "shape":"ContinuousBackupsDescription", + "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" + } + } + }, + "DescribeContributorInsightsInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to describe.

" + }, + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index to describe, if applicable.

" + } + } + }, + "DescribeContributorInsightsOutput":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table being described.

" + }, + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index being described.

" + }, + "ContributorInsightsRuleList":{ + "shape":"ContributorInsightsRuleList", + "documentation":"

List of names of the associated Alpine rules.

" + }, + "ContributorInsightsStatus":{ + "shape":"ContributorInsightsStatus", + "documentation":"

Current Status contributor insights.

" + }, + "LastUpdateDateTime":{ + "shape":"LastUpdateDateTime", + "documentation":"

Timestamp of the last time the status was changed.

" + }, + "FailureException":{ + "shape":"FailureException", + "documentation":"

Returns information about the last failure that encountered.

The most common exceptions for a FAILED status are:

  • LimitExceededException - Per-account Amazon CloudWatch Contributor Insights rule limit reached. Please disable Contributor Insights for other tables/indexes OR disable Contributor Insights rules before retrying.

  • AccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be modified due to insufficient permissions.

  • AccessDeniedException - Failed to create service-linked role for Contributor Insights due to insufficient permissions.

  • InternalServerError - Failed to create Amazon CloudWatch Contributor Insights rules. Please retry request.

" + } + } + }, + "DescribeEndpointsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeEndpointsResponse":{ + "type":"structure", + "required":["Endpoints"], + "members":{ + "Endpoints":{ + "shape":"Endpoints", + "documentation":"

List of endpoints.

" + } + } + }, + "DescribeGlobalTableInput":{ + "type":"structure", + "required":["GlobalTableName"], + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The name of the global table.

" + } + } + }, + "DescribeGlobalTableOutput":{ + "type":"structure", + "members":{ + "GlobalTableDescription":{ + "shape":"GlobalTableDescription", + "documentation":"

Contains the details of the global table.

" + } + } + }, + "DescribeGlobalTableSettingsInput":{ + "type":"structure", + "required":["GlobalTableName"], + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The name of the global table to describe.

" + } + } + }, + "DescribeGlobalTableSettingsOutput":{ + "type":"structure", + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The name of the global table.

" + }, + "ReplicaSettings":{ + "shape":"ReplicaSettingsDescriptionList", + "documentation":"

The Region-specific settings for the global table.

" + } + } }, "DescribeLimitsInput":{ "type":"structure", "members":{ }, - "documentation":"

Represents the input of a DescribeLimits operation. Has no content.

" + "documentation":"

Represents the input of a DescribeLimits operation. Has no content.

" }, "DescribeLimitsOutput":{ "type":"structure", "members":{ "AccountMaxReadCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum total read capacity units that your account allows you to provision across all of your tables in this region.

" + "documentation":"

The maximum total read capacity units that your account allows you to provision across all of your tables in this Region.

" }, "AccountMaxWriteCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum total write capacity units that your account allows you to provision across all of your tables in this region.

" + "documentation":"

The maximum total write capacity units that your account allows you to provision across all of your tables in this Region.

" }, "TableMaxReadCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum read capacity units that your account allows you to provision for a new table that you are creating in this region, including the read capacity units provisioned for its global secondary indexes (GSIs).

" + "documentation":"

The maximum read capacity units that your account allows you to provision for a new table that you are creating in this Region, including the read capacity units provisioned for its global secondary indexes (GSIs).

" }, "TableMaxWriteCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum write capacity units that your account allows you to provision for a new table that you are creating in this region, including the write capacity units provisioned for its global secondary indexes (GSIs).

" + "documentation":"

The maximum write capacity units that your account allows you to provision for a new table that you are creating in this Region, including the write capacity units provisioned for its global secondary indexes (GSIs).

" } }, - "documentation":"

Represents the output of a DescribeLimits operation.

" + "documentation":"

Represents the output of a DescribeLimits operation.

" }, "DescribeTableInput":{ "type":"structure", @@ -728,16 +2065,82 @@ "documentation":"

The name of the table to describe.

" } }, - "documentation":"

Represents the input of a DescribeTable operation.

" + "documentation":"

Represents the input of a DescribeTable operation.

" }, "DescribeTableOutput":{ "type":"structure", "members":{ - "Table":{"shape":"TableDescription"} + "Table":{ + "shape":"TableDescription", + "documentation":"

The properties of the table.

" + } + }, + "documentation":"

Represents the output of a DescribeTable operation.

" + }, + "DescribeTableReplicaAutoScalingInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + } + } + }, + "DescribeTableReplicaAutoScalingOutput":{ + "type":"structure", + "members":{ + "TableAutoScalingDescription":{ + "shape":"TableAutoScalingDescription", + "documentation":"

Represents the auto scaling properties of the table.

" + } + } + }, + "DescribeTimeToLiveInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to be described.

" + } + } + }, + "DescribeTimeToLiveOutput":{ + "type":"structure", + "members":{ + "TimeToLiveDescription":{ + "shape":"TimeToLiveDescription", + "documentation":"

" + } + } + }, + "Double":{"type":"double"}, + "Endpoint":{ + "type":"structure", + "required":[ + "Address", + "CachePeriodInMinutes" + ], + "members":{ + "Address":{ + "shape":"String", + "documentation":"

IP address of the endpoint.

" + }, + "CachePeriodInMinutes":{ + "shape":"Long", + "documentation":"

Endpoint cache time to live (TTL) value.

" + } }, - "documentation":"

Represents the output of a DescribeTable operation.

" + "documentation":"

An endpoint information details.

" + }, + "Endpoints":{ + "type":"list", + "member":{"shape":"Endpoint"} }, "ErrorMessage":{"type":"string"}, + "ExceptionDescription":{"type":"string"}, + "ExceptionName":{"type":"string"}, "ExpectedAttributeMap":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -746,21 +2149,24 @@ "ExpectedAttributeValue":{ "type":"structure", "members":{ - "Value":{"shape":"AttributeValue"}, + "Value":{ + "shape":"AttributeValue", + "documentation":"

Represents the data for the expected attribute.

Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.

For more information, see Data Types in the Amazon DynamoDB Developer Guide.

" + }, "Exists":{ "shape":"BooleanObject", - "documentation":"

Causes DynamoDB to evaluate the value before attempting a conditional operation:

  • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a ConditionalCheckFailedException.

  • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a ConditionalCheckFailedException.

The default setting for Exists is true. If you supply a Value all by itself, DynamoDB assumes the attribute exists: You don't have to set Exists to true, because it is implied.

DynamoDB returns a ValidationException if:

  • Exists is true but there is no Value to check. (You expect a value to exist, but don't specify what that value is.)

  • Exists is false but you also provide a Value. (You cannot expect an attribute to have a value, while also expecting it not to exist.)

" + "documentation":"

Causes DynamoDB to evaluate the value before attempting a conditional operation:

  • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the operation succeeds. If it is not found, the operation fails with a ConditionCheckFailedException.

  • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the operation succeeds. If the value is found, despite the assumption that it does not exist, the operation fails with a ConditionCheckFailedException.

The default setting for Exists is true. If you supply a Value all by itself, DynamoDB assumes the attribute exists: You don't have to set Exists to true, because it is implied.

DynamoDB returns a ValidationException if:

  • Exists is true but there is no Value to check. (You expect a value to exist, but don't specify what that value is.)

  • Exists is false but you also provide a Value. (You cannot expect an attribute to have a value, while also expecting it not to exist.)

" }, "ComparisonOperator":{ "shape":"ComparisonOperator", - "documentation":"

A comparator for evaluating attributes in the AttributeValueList. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all datatypes, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all datatypes, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all datatypes, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements within two sets.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary (not a set type). These attributes are compared against an existing set type attribute of an item. If any elements of the input set are present in the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

" + "documentation":"

A comparator for evaluating attributes in the AttributeValueList. For example, equals, greater than, less than, etc.

The following comparison operators are available:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

The following are descriptions of each comparison operator.

  • EQ : Equal. EQ is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NE : Not equal. NE is supported for all data types, including lists and maps.

    AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LE : Less than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • LT : Less than.

    AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GE : Greater than or equal.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • GT : Greater than.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

  • NOT_NULL : The attribute exists. NOT_NULL is supported for all data types, including lists and maps.

    This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

  • NULL : The attribute does not exist. NULL is supported for all data types, including lists and maps.

    This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

  • CONTAINS : Checks for a subsequence, or value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

    CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

    AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

    NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

  • BEGINS_WITH : Checks for a prefix.

    AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

  • IN : Checks for matching elements in a list.

    AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary. These attributes are compared against an existing attribute of an item. If any elements of the input are equal to the item attribute, the expression evaluates to true.

  • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

    AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

" }, "AttributeValueList":{ "shape":"AttributeValueList", - "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

For type Number, value comparisons are numeric.

String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents a condition to be compared with an attribute value. This condition can be used with DeleteItem, PutItem or UpdateItem operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use ExpectedAttributeValue in one of two different ways:

  • Use AttributeValueList to specify one or more values to compare against an attribute. Use ComparisonOperator to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.

  • Use Value to specify a value that DynamoDB will compare against an attribute. If the values match, then ExpectedAttributeValue evaluates to true and the conditional operation succeeds. Optionally, you can also set Exists to false, indicating that you do not expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.

Value and Exists are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

" + "documentation":"

Represents a condition to be compared with an attribute value. This condition can be used with DeleteItem, PutItem, or UpdateItem operations; if the comparison evaluates to true, the operation succeeds; if not, the operation fails. You can use ExpectedAttributeValue in one of two different ways:

  • Use AttributeValueList to specify one or more values to compare against an attribute. Use ComparisonOperator to specify how you want to perform the comparison. If the comparison evaluates to true, then the conditional operation succeeds.

  • Use Value to specify a value that DynamoDB will compare against an attribute. If the values match, then ExpectedAttributeValue evaluates to true and the conditional operation succeeds. Optionally, you can also set Exists to false, indicating that you do not expect to find the attribute value in the table. In this case, the conditional operation succeeds only if the comparison evaluates to false.

Value and Exists are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

" }, "ExpressionAttributeNameMap":{ "type":"map", @@ -774,11 +2180,51 @@ "value":{"shape":"AttributeValue"} }, "ExpressionAttributeValueVariable":{"type":"string"}, + "FailureException":{ + "type":"structure", + "members":{ + "ExceptionName":{ + "shape":"ExceptionName", + "documentation":"

Exception name.

" + }, + "ExceptionDescription":{ + "shape":"ExceptionDescription", + "documentation":"

Description of the failure.

" + } + }, + "documentation":"

Represents a failure a contributor insights operation.

" + }, "FilterConditionMap":{ "type":"map", "key":{"shape":"AttributeName"}, "value":{"shape":"Condition"} }, + "Get":{ + "type":"structure", + "required":[ + "Key", + "TableName" + ], + "members":{ + "Key":{ + "shape":"Key", + "documentation":"

A map of attribute names to AttributeValue objects that specifies the primary key of the item to retrieve.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table from which to retrieve the specified item.

" + }, + "ProjectionExpression":{ + "shape":"ProjectionExpression", + "documentation":"

A string that identifies one or more attributes of the specified item to retrieve from the table. The attributes in the expression must be separated by commas. If no attribute names are specified, then all attributes of the specified item are returned. If any of the requested attributes are not found, they do not appear in the result.

" + }, + "ExpressionAttributeNames":{ + "shape":"ExpressionAttributeNameMap", + "documentation":"

One or more substitution tokens for attribute names in the ProjectionExpression parameter.

" + } + }, + "documentation":"

Specifies an item and related attribute values to retrieve in a TransactGetItem object.

" + }, "GetItemInput":{ "type":"structure", "required":[ @@ -792,11 +2238,11 @@ }, "Key":{ "shape":"Key", - "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" + "documentation":"

A map of attribute names to AttributeValue objects, representing the primary key of the item to retrieve.

For the primary key, you must provide all of the attributes. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide values for both the partition key and the sort key.

" }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ProjectionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

This parameter allows you to retrieve attributes of type List or Map; however, it cannot retrieve individual elements within a List or a Map.

The names of one or more attributes to retrieve. If no attribute names are provided, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -805,33 +2251,35 @@ "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

ProjectionExpression replaces the legacy AttributesToGet parameter.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes are returned. If any of the requested attributes are not found, they do not appear in the result.

For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents the input of a GetItem operation.

" + "documentation":"

Represents the input of a GetItem operation.

" }, "GetItemOutput":{ "type":"structure", "members":{ "Item":{ "shape":"AttributeMap", - "documentation":"

A map of attribute names to AttributeValue objects, as specified by AttributesToGet.

" + "documentation":"

A map of attribute names to AttributeValue objects, as specified by ProjectionExpression.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"} + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the GetItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Read/Write Capacity Mode in the Amazon DynamoDB Developer Guide.

" + } }, - "documentation":"

Represents the output of a GetItem operation.

" + "documentation":"

Represents the output of a GetItem operation.

" }, "GlobalSecondaryIndex":{ "type":"structure", "required":[ "IndexName", "KeySchema", - "Projection", - "ProvisionedThroughput" + "Projection" ], "members":{ "IndexName":{ @@ -840,13 +2288,35 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" }, - "Projection":{"shape":"Projection"}, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"} + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + } }, "documentation":"

Represents the properties of a global secondary index.

" }, + "GlobalSecondaryIndexAutoScalingUpdate":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "ProvisionedWriteCapacityAutoScalingUpdate":{"shape":"AutoScalingSettingsUpdate"} + }, + "documentation":"

Represents the auto scaling settings of a global secondary index for a global table that will be modified.

" + }, + "GlobalSecondaryIndexAutoScalingUpdateList":{ + "type":"list", + "member":{"shape":"GlobalSecondaryIndexAutoScalingUpdate"}, + "min":1 + }, "GlobalSecondaryIndexDescription":{ "type":"structure", "members":{ @@ -856,18 +2326,24 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + }, + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" }, - "Projection":{"shape":"Projection"}, "IndexStatus":{ "shape":"IndexStatus", - "documentation":"

The current state of the global secondary index:

  • CREATING - The index is being created.

  • UPDATING - The index is being updated.

  • DELETING - The index is being deleted.

  • ACTIVE - The index is ready for use.

" + "documentation":"

The current state of the global secondary index:

  • CREATING - The index is being created.

  • UPDATING - The index is being updated.

  • DELETING - The index is being deleted.

  • ACTIVE - The index is ready for use.

" }, "Backfilling":{ "shape":"Backfilling", - "documentation":"

Indicates whether the index is currently backfilling. Backfilling is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and Backfilling is false.

For indexes that were created during a CreateTable operation, the Backfilling attribute does not appear in the DescribeTable output.

" + "documentation":"

Indicates whether the index is currently backfilling. Backfilling is the process of reading items from the table and determining whether they can be added to the index. (Not all items will qualify: For example, a partition key cannot have any duplicate values.) If an item can be added to the index, DynamoDB will do so. After all items have been processed, the backfilling operation is complete and Backfilling is false.

You can delete an index that is being created during the Backfilling phase when IndexStatus is set to CREATING and Backfilling is true. You can't delete the index that is being created when IndexStatus is set to CREATING and Backfilling is false.

For indexes that were created during a CreateTable operation, the Backfilling attribute does not appear in the DescribeTable output.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughputDescription", + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, - "ProvisionedThroughput":{"shape":"ProvisionedThroughputDescription"}, "IndexSizeBytes":{ "shape":"Long", "documentation":"

The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" @@ -887,6 +2363,28 @@ "type":"list", "member":{"shape":"GlobalSecondaryIndexDescription"} }, + "GlobalSecondaryIndexInfo":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

The complete key schema for a global secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + }, + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

" + } + }, + "documentation":"

Represents the properties of a global secondary index for the table when the backup was created.

" + }, "GlobalSecondaryIndexList":{ "type":"list", "member":{"shape":"GlobalSecondaryIndex"} @@ -913,12 +2411,127 @@ "type":"list", "member":{"shape":"GlobalSecondaryIndexUpdate"} }, + "GlobalSecondaryIndexes":{ + "type":"list", + "member":{"shape":"GlobalSecondaryIndexInfo"} + }, + "GlobalTable":{ + "type":"structure", + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The global table name.

" + }, + "ReplicationGroup":{ + "shape":"ReplicaList", + "documentation":"

The Regions where the global table has replicas.

" + } + }, + "documentation":"

Represents the properties of a global table.

" + }, + "GlobalTableAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified global table already exists.

", + "exception":true + }, + "GlobalTableArnString":{"type":"string"}, + "GlobalTableDescription":{ + "type":"structure", + "members":{ + "ReplicationGroup":{ + "shape":"ReplicaDescriptionList", + "documentation":"

The Regions where the global table has replicas.

" + }, + "GlobalTableArn":{ + "shape":"GlobalTableArnString", + "documentation":"

The unique identifier of the global table.

" + }, + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The creation time of the global table.

" + }, + "GlobalTableStatus":{ + "shape":"GlobalTableStatus", + "documentation":"

The current state of the global table:

  • CREATING - The global table is being created.

  • UPDATING - The global table is being updated.

  • DELETING - The global table is being deleted.

  • ACTIVE - The global table is ready for use.

" + }, + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The global table name.

" + } + }, + "documentation":"

Contains details about the global table.

" + }, + "GlobalTableGlobalSecondaryIndexSettingsUpdate":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" + }, + "ProvisionedWriteCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" + }, + "ProvisionedWriteCapacityAutoScalingSettingsUpdate":{ + "shape":"AutoScalingSettingsUpdate", + "documentation":"

Auto scaling settings for managing a global secondary index's write capacity units.

" + } + }, + "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" + }, + "GlobalTableGlobalSecondaryIndexSettingsUpdateList":{ + "type":"list", + "member":{"shape":"GlobalTableGlobalSecondaryIndexSettingsUpdate"}, + "max":20, + "min":1 + }, + "GlobalTableList":{ + "type":"list", + "member":{"shape":"GlobalTable"} + }, + "GlobalTableNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified global table does not exist.

", + "exception":true + }, + "GlobalTableStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "UPDATING" + ] + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

DynamoDB rejected the request because you retried a request with a different payload but with an idempotent token that was already used.

", + "exception":true + }, "IndexName":{ "type":"string", "max":255, "min":3, "pattern":"[a-zA-Z0-9_.-]+" }, + "IndexNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The operation tried to access a nonexistent index.

", + "exception":true + }, "IndexStatus":{ "type":"string", "enum":[ @@ -929,6 +2542,7 @@ ] }, "Integer":{"type":"integer"}, + "IntegerObject":{"type":"integer"}, "InternalServerError":{ "type":"structure", "members":{ @@ -941,6 +2555,14 @@ "exception":true, "fault":true }, + "InvalidRestoreTimeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

An invalid restore time was specified. RestoreDateTime must be between EarliestRestorableDateTime and LatestRestorableDateTime.

", + "exception":true + }, "ItemCollectionKeyAttributeMap":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -958,7 +2580,7 @@ "documentation":"

An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" } }, - "documentation":"

Information about item collections, if any, that were affected by the operation. ItemCollectionMetrics is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.

" + "documentation":"

Information about item collections, if any, that were affected by the operation. ItemCollectionMetrics is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.

" }, "ItemCollectionMetricsMultiple":{ "type":"list", @@ -985,10 +2607,32 @@ "documentation":"

An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes.

", "exception":true }, + "ItemCount":{ + "type":"long", + "min":0 + }, "ItemList":{ "type":"list", "member":{"shape":"AttributeMap"} }, + "ItemResponse":{ + "type":"structure", + "members":{ + "Item":{ + "shape":"AttributeMap", + "documentation":"

Map of attribute data consisting of the data type and attribute value.

" + } + }, + "documentation":"

Details for the requested item.

" + }, + "ItemResponseList":{ + "type":"list", + "member":{"shape":"ItemResponse"}, + "max":25, + "min":1 + }, + "KMSMasterKeyArn":{"type":"string"}, + "KMSMasterKeyId":{"type":"string"}, "Key":{ "type":"map", "key":{"shape":"AttributeName"}, @@ -1030,10 +2674,10 @@ }, "KeyType":{ "shape":"KeyType", - "documentation":"

The role that this key attribute will assume:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

The role that this key attribute will assume:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" } }, - "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

" + "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key would be represented by one KeySchemaElement (for the partition key). A composite primary key would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

A KeySchemaElement must be a scalar, top-level attribute (not a nested attribute). The data type must be one of String, Number, or Binary. The attribute cannot be nested within a List or a Map.

" }, "KeyType":{ "type":"string", @@ -1052,7 +2696,7 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

One or more attributes to retrieve from the table or index. If no attribute names are specified then all attributes will be returned. If any of the specified attributes are not found, they will not appear in the result.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", @@ -1060,15 +2704,16 @@ }, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

ProjectionExpression replaces the legacy AttributesToGet parameter.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the ProjectionExpression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" } }, "documentation":"

Represents a set of primary keys and, for each key, the attributes to retrieve from the table.

For each primary key, you must provide all of the key attributes. For example, with a simple primary key, you only need to provide the partition key. For a composite primary key, you must provide both the partition key and the sort key.

" }, + "LastUpdateDateTime":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ @@ -1077,26 +2722,132 @@ "documentation":"

Too many operations for a given subscriber.

" } }, - "documentation":"

The number of concurrent table requests (cumulative number of tables in the CREATING, DELETING or UPDATING state) exceeds the maximum allowed of 10.

Also, for tables with secondary indexes, only one of those tables can be in the CREATING state at any point in time. Do not attempt to create more than one such table simultaneously.

The total limit of tables in the ACTIVE state is 250.

", + "documentation":"

There is no limit to the number of daily on-demand backups that can be taken.

Up to 50 simultaneous table operations are allowed per account. These operations include CreateTable, UpdateTable, DeleteTable,UpdateTimeToLive, RestoreTableFromBackup, and RestoreTableToPointInTime.

The only exception is when you are creating a table with one or more secondary indexes. You can have up to 25 such requests running at a time; however, if the table or index specifications are complex, DynamoDB might temporarily reduce the number of concurrent operations.

There is a soft account limit of 256 tables.

", "exception":true }, "ListAttributeValue":{ "type":"list", "member":{"shape":"AttributeValue"} }, + "ListBackupsInput":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The backups from the table specified by TableName are listed.

" + }, + "Limit":{ + "shape":"BackupsInputLimit", + "documentation":"

Maximum number of backups to return at once.

" + }, + "TimeRangeLowerBound":{ + "shape":"TimeRangeLowerBound", + "documentation":"

Only backups created after this time are listed. TimeRangeLowerBound is inclusive.

" + }, + "TimeRangeUpperBound":{ + "shape":"TimeRangeUpperBound", + "documentation":"

Only backups created before this time are listed. TimeRangeUpperBound is exclusive.

" + }, + "ExclusiveStartBackupArn":{ + "shape":"BackupArn", + "documentation":"

LastEvaluatedBackupArn is the Amazon Resource Name (ARN) of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the ExclusiveStartBackupArn of a new ListBackups operation in order to fetch the next page of results.

" + }, + "BackupType":{ + "shape":"BackupTypeFilter", + "documentation":"

The backups from the table specified by BackupType are listed.

Where BackupType can be:

  • USER - On-demand backup created by you.

  • SYSTEM - On-demand backup automatically created by DynamoDB.

  • ALL - All types of on-demand backups (USER and SYSTEM).

" + } + } + }, + "ListBackupsOutput":{ + "type":"structure", + "members":{ + "BackupSummaries":{ + "shape":"BackupSummaries", + "documentation":"

List of BackupSummary objects.

" + }, + "LastEvaluatedBackupArn":{ + "shape":"BackupArn", + "documentation":"

The ARN of the backup last evaluated when the current page of results was returned, inclusive of the current page of results. This value may be specified as the ExclusiveStartBackupArn of a new ListBackups operation in order to fetch the next page of results.

If LastEvaluatedBackupArn is empty, then the last page of results has been processed and there are no more results to be retrieved.

If LastEvaluatedBackupArn is not empty, this may or may not indicate that there is more data to be returned. All results are guaranteed to have been returned if and only if no value for LastEvaluatedBackupArn is returned.

" + } + } + }, + "ListContributorInsightsInput":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

A token to for the desired page, if there is one.

" + }, + "MaxResults":{ + "shape":"ListContributorInsightsLimit", + "documentation":"

Maximum number of results to return per page.

" + } + } + }, + "ListContributorInsightsLimit":{ + "type":"integer", + "max":100 + }, + "ListContributorInsightsOutput":{ + "type":"structure", + "members":{ + "ContributorInsightsSummaries":{ + "shape":"ContributorInsightsSummaries", + "documentation":"

A list of ContributorInsightsSummary.

" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

A token to go to the next page if there is one.

" + } + } + }, + "ListGlobalTablesInput":{ + "type":"structure", + "members":{ + "ExclusiveStartGlobalTableName":{ + "shape":"TableName", + "documentation":"

The first global table name that this operation will evaluate.

" + }, + "Limit":{ + "shape":"PositiveIntegerObject", + "documentation":"

The maximum number of table names to return, if the parameter is not specified DynamoDB defaults to 100.

If the number of global tables DynamoDB finds reaches this limit, it stops the operation and returns the table names collected up to that point, with a table name in the LastEvaluatedGlobalTableName to apply in a subsequent operation to the ExclusiveStartGlobalTableName parameter.

" + }, + "RegionName":{ + "shape":"RegionName", + "documentation":"

Lists the global tables in a specific Region.

" + } + } + }, + "ListGlobalTablesOutput":{ + "type":"structure", + "members":{ + "GlobalTables":{ + "shape":"GlobalTableList", + "documentation":"

List of global table names.

" + }, + "LastEvaluatedGlobalTableName":{ + "shape":"TableName", + "documentation":"

Last evaluated global table name.

" + } + } + }, "ListTablesInput":{ "type":"structure", "members":{ "ExclusiveStartTableName":{ "shape":"TableName", - "documentation":"

The first table name that this operation will evaluate. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.

" + "documentation":"

The first table name that this operation will evaluate. Use the value that was returned for LastEvaluatedTableName in a previous operation, so that you can obtain the next page of results.

" }, "Limit":{ "shape":"ListTablesInputLimit", "documentation":"

A maximum number of table names to return. If this parameter is not specified, the limit is 100.

" } }, - "documentation":"

Represents the input of a ListTables operation.

" + "documentation":"

Represents the input of a ListTables operation.

" }, "ListTablesInputLimit":{ "type":"integer", @@ -1108,14 +2859,41 @@ "members":{ "TableNames":{ "shape":"TableNameList", - "documentation":"

The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100.

If LastEvaluatedTableName also appears in the output, you can use this value as the ExclusiveStartTableName parameter in a subsequent ListTables request and obtain the next page of results.

" + "documentation":"

The names of the tables associated with the current account at the current endpoint. The maximum size of this array is 100.

If LastEvaluatedTableName also appears in the output, you can use this value as the ExclusiveStartTableName parameter in a subsequent ListTables request and obtain the next page of results.

" }, "LastEvaluatedTableName":{ "shape":"TableName", - "documentation":"

The name of the last table in the current page of results. Use this value as the ExclusiveStartTableName in a new request to obtain the next page of results, until all the table names are returned.

If you do not receive a LastEvaluatedTableName value in the response, this means that there are no more table names to be retrieved.

" + "documentation":"

The name of the last table in the current page of results. Use this value as the ExclusiveStartTableName in a new request to obtain the next page of results, until all the table names are returned.

If you do not receive a LastEvaluatedTableName value in the response, this means that there are no more table names to be retrieved.

" } }, - "documentation":"

Represents the output of a ListTables operation.

" + "documentation":"

Represents the output of a ListTables operation.

" + }, + "ListTagsOfResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon DynamoDB resource with tags to be listed. This value is an Amazon Resource Name (ARN).

" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

An optional string that, if supplied, must be copied from the output of a previous call to ListTagOfResource. When provided in this manner, this API fetches the next page of results.

" + } + } + }, + "ListTagsOfResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The tags currently associated with the Amazon DynamoDB resource.

" + }, + "NextToken":{ + "shape":"NextTokenString", + "documentation":"

If this value is returned, there are additional results to be displayed. To retrieve them, call ListTagsOfResource again, with NextToken set to this value.

" + } + } }, "LocalSecondaryIndex":{ "type":"structure", @@ -1131,9 +2909,12 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" }, - "Projection":{"shape":"Projection"} + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the local secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + } }, "documentation":"

Represents the properties of a local secondary index.

" }, @@ -1146,9 +2927,12 @@ }, "KeySchema":{ "shape":"KeySchema", - "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

The complete key schema for the local secondary index, consisting of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + }, + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" }, - "Projection":{"shape":"Projection"}, "IndexSizeBytes":{ "shape":"Long", "documentation":"

The total size of the specified index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" @@ -1168,16 +2952,39 @@ "type":"list", "member":{"shape":"LocalSecondaryIndexDescription"} }, + "LocalSecondaryIndexInfo":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

Represents the name of the local secondary index.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

The complete key schema for a local secondary index, which consists of one or more pairs of attribute names and key types:

  • HASH - partition key

  • RANGE - sort key

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + }, + "Projection":{ + "shape":"Projection", + "documentation":"

Represents attributes that are copied (projected) from the table into the global secondary index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + } + }, + "documentation":"

Represents the properties of a local secondary index for the table when the backup was created.

" + }, "LocalSecondaryIndexList":{ "type":"list", "member":{"shape":"LocalSecondaryIndex"} }, + "LocalSecondaryIndexes":{ + "type":"list", + "member":{"shape":"LocalSecondaryIndexInfo"} + }, "Long":{"type":"long"}, "MapAttributeValue":{ "type":"map", "key":{"shape":"AttributeName"}, "value":{"shape":"AttributeValue"} }, + "NextTokenString":{"type":"string"}, "NonKeyAttributeName":{ "type":"string", "max":255, @@ -1189,12 +2996,60 @@ "max":20, "min":1 }, + "NonNegativeLongObject":{ + "type":"long", + "min":0 + }, "NullAttributeValue":{"type":"boolean"}, "NumberAttributeValue":{"type":"string"}, "NumberSetAttributeValue":{ "type":"list", "member":{"shape":"NumberAttributeValue"} }, + "PointInTimeRecoveryDescription":{ + "type":"structure", + "members":{ + "PointInTimeRecoveryStatus":{ + "shape":"PointInTimeRecoveryStatus", + "documentation":"

The current state of point in time recovery:

  • ENABLING - Point in time recovery is being enabled.

  • ENABLED - Point in time recovery is enabled.

  • DISABLED - Point in time recovery is disabled.

" + }, + "EarliestRestorableDateTime":{ + "shape":"Date", + "documentation":"

Specifies the earliest point in time you can restore your table to. You can restore your table to any point in time during the last 35 days.

" + }, + "LatestRestorableDateTime":{ + "shape":"Date", + "documentation":"

LatestRestorableDateTime is typically 5 minutes before the current time.

" + } + }, + "documentation":"

The description of the point in time settings applied to the table.

" + }, + "PointInTimeRecoverySpecification":{ + "type":"structure", + "required":["PointInTimeRecoveryEnabled"], + "members":{ + "PointInTimeRecoveryEnabled":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether point in time recovery is enabled (true) or disabled (false) on the table.

" + } + }, + "documentation":"

Represents the settings used to enable point in time recovery.

" + }, + "PointInTimeRecoveryStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "PointInTimeRecoveryUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Point in time recovery has not yet been enabled for this source table.

", + "exception":true + }, "PositiveIntegerObject":{ "type":"integer", "min":1 @@ -1208,11 +3063,11 @@ "members":{ "ProjectionType":{ "shape":"ProjectionType", - "documentation":"

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

  • ALL - All of the table attributes are projected into the index.

" + "documentation":"

The set of attributes that are projected into the index:

  • KEYS_ONLY - Only the index and primary keys are projected into the index.

  • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes.

  • ALL - All of the table attributes are projected into the index.

" }, "NonKeyAttributes":{ "shape":"NonKeyAttributeNameList", - "documentation":"

Represents the non-key attribute names which will be projected into the index.

For local secondary indexes, the total count of NonKeyAttributes summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" + "documentation":"

Represents the non-key attribute names which will be projected into the index.

For local secondary indexes, the total count of NonKeyAttributes summed across all of the local secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

" } }, "documentation":"

Represents attributes that are copied (projected) from the table into an index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" @@ -1235,14 +3090,14 @@ "members":{ "ReadCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" }, "WriteCapacityUnits":{ "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

If read/write capacity mode is PAY_PER_REQUEST the value is set to 0.

" } }, - "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

Represents the provisioned throughput settings for a specified table or index. The settings can be modified using the UpdateTable operation.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" }, "ProvisionedThroughputDescription":{ "type":"structure", @@ -1257,15 +3112,15 @@ }, "NumberOfDecreasesToday":{ "shape":"PositiveLongObject", - "documentation":"

The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The number of provisioned throughput decreases for this table during this UTC calendar day. For current maximums on provisioned throughput decreases, see Limits in the Amazon DynamoDB Developer Guide.

" }, "ReadCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits per second provides 100 eventually consistent ReadCapacityUnits per second.

" + "shape":"NonNegativeLongObject", + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. Eventually consistent reads require less effort than strongly consistent reads, so a setting of 50 ReadCapacityUnits per second provides 100 eventually consistent ReadCapacityUnits per second.

" }, "WriteCapacityUnits":{ - "shape":"PositiveLongObject", - "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" + "shape":"NonNegativeLongObject", + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" } }, "documentation":"

Represents the provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

" @@ -1278,9 +3133,53 @@ "documentation":"

You exceeded your maximum allowed provisioned throughput.

" } }, - "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", + "documentation":"

Your request rate is too high. The AWS SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.

", "exception":true }, + "ProvisionedThroughputOverride":{ + "type":"structure", + "members":{ + "ReadCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

Replica-specific read capacity units. If not specified, uses the source table's read capacity settings.

" + } + }, + "documentation":"

Replica-specific provisioned throughput settings. If not specified, uses the source table's provisioned throughput settings.

" + }, + "Put":{ + "type":"structure", + "required":[ + "Item", + "TableName" + ], + "members":{ + "Item":{ + "shape":"PutItemInputAttributeMap", + "documentation":"

A map of attribute name to attribute values, representing the primary key of the item to be written by PutItem. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item that are part of an index key schema for the table, their types must match the index key schema.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table in which to write the item.

" + }, + "ConditionExpression":{ + "shape":"ConditionExpression", + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

" + }, + "ExpressionAttributeNames":{ + "shape":"ExpressionAttributeNameMap", + "documentation":"

One or more substitution tokens for attribute names in an expression.

" + }, + "ExpressionAttributeValues":{ + "shape":"ExpressionAttributeValueMap", + "documentation":"

One or more values that can be substituted in an expression.

" + }, + "ReturnValuesOnConditionCheckFailure":{ + "shape":"ReturnValuesOnConditionCheckFailure", + "documentation":"

Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Put condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: NONE and ALL_OLD.

" + } + }, + "documentation":"

Represents a request to perform a PutItem operation.

" + }, "PutItemInput":{ "type":"structure", "required":[ @@ -1294,15 +3193,15 @@ }, "Item":{ "shape":"PutItemInputAttributeMap", - "documentation":"

A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

Each element in the Item map is an AttributeValue object.

" + "documentation":"

A map of attribute name/value pairs, one for each attribute. Only the primary key attributes are required; you can optionally provide other attribute name-value pairs for the item.

You must provide all of the attributes for the primary key. For example, with a simple primary key, you only need to provide a value for the partition key. For a composite primary key, you must provide both values for both the partition key and the sort key.

If you specify any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

Empty String and Binary attribute values are allowed. Attribute values of type String and Binary must have a length greater than zero if the attribute is used as a key attribute for a table or index.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

Each element in the Item map is an AttributeValue object.

" }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A map of attribute/condition pairs. Expected provides a conditional block for the PutItem operation.

This parameter does not support attributes of type List or Map.

Each element of Expected consists of an attribute name, a comparison operator, and one or more values. DynamoDB compares the attribute with the value(s) you supplied, using the comparison operator. For each Expected element, the result of the evaluation is either true or false.

If you specify more than one element in the Expected map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

If the Expected map evaluates to true, then the conditional operation succeeds; otherwise, it fails.

Expected contains the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For type Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

  • ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. When performing the comparison, DynamoDB uses strongly consistent reads.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    The following are descriptions of each comparison operator.

    • EQ : Equal. EQ is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NE : Not equal. NE is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LE : Less than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LT : Less than.

      AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GE : Greater than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GT : Greater than.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, including lists and maps.

      This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

    • NULL : The attribute does not exist. NULL is supported for all datatypes, including lists and maps.

      This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

    • CONTAINS : Checks for a subsequence, or value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

      CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

      NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • BEGINS_WITH : Checks for a prefix.

      AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

    • IN : Checks for matching elements within two sets.

      AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary (not a set type). These attributes are compared against an existing set type attribute of an item. If any elements of the input set are present in the item attribute, the expression evaluates to true.

    • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

      AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

For backward compatibility with previous DynamoDB releases, the following parameters can be used instead of AttributeValueList and ComparisonOperator:

  • Value - A value for DynamoDB to compare with an attribute.

  • Exists - A Boolean value that causes DynamoDB to evaluate the value before attempting the conditional operation:

    • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the condition evaluates to true; otherwise the condition evaluate to false.

    • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the condition evaluates to true. If the value is found, despite the assumption that it does not exist, the condition evaluates to false.

    Note that the default value for Exists is true.

The Value and Exists parameters are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.

" + "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned.

The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ReturnItemCollectionMetrics":{ @@ -1311,22 +3210,22 @@ }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A logical operator to apply to the conditions in the Expected map:

  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | &#x3C;&#x3E; | &#x3C; | &#x3E; | &#x3C;= | &#x3E;= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

ConditionExpression replaces the legacy ConditionalOperator and Expected parameters.

" + "documentation":"

A condition that must be satisfied in order for a conditional PutItem operation to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents the input of a PutItem operation.

" + "documentation":"

Represents the input of a PutItem operation.

" }, "PutItemInputAttributeMap":{ "type":"map", @@ -1338,15 +3237,18 @@ "members":{ "Attributes":{ "shape":"AttributeMap", - "documentation":"

The attribute values as they appeared before the PutItem operation, but only if ReturnValues is specified as ALL_OLD in the request. Each element consists of an attribute name and an attribute value.

" + "documentation":"

The attribute values as they appeared before the PutItem operation, but only if ReturnValues is specified as ALL_OLD in the request. Each element consists of an attribute name and an attribute value.

" + }, + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the PutItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Read/Write Capacity Mode in the Amazon DynamoDB Developer Guide.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"}, "ItemCollectionMetrics":{ "shape":"ItemCollectionMetrics", - "documentation":"

Information about item collections, if any, that were affected by the operation. ItemCollectionMetrics is only returned if the request asked for it. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRange - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" + "documentation":"

Information about item collections, if any, that were affected by the PutItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" } }, - "documentation":"

Represents the output of a PutItem operation.

" + "documentation":"

Represents the output of a PutItem operation.

" }, "PutRequest":{ "type":"structure", @@ -1354,10 +3256,10 @@ "members":{ "Item":{ "shape":"PutItemInputAttributeMap", - "documentation":"

A map of attribute name to attribute values, representing the primary key of an item to be processed by PutItem. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item which are part of an index key schema for the table, their types must match the index key schema.

" + "documentation":"

A map of attribute name to attribute values, representing the primary key of an item to be processed by PutItem. All of the table's primary key attributes must be specified, and their data types must match those of the table's key schema. If any attributes are present in the item that are part of an index key schema for the table, their types must match the index key schema.

" } }, - "documentation":"

Represents a request to perform a PutItem operation on an item.

" + "documentation":"

Represents a request to perform a PutItem operation on an item.

" }, "QueryInput":{ "type":"structure", @@ -1369,67 +3271,67 @@ }, "IndexName":{ "shape":"IndexName", - "documentation":"

The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the IndexName parameter, you must also provide TableName.

" + "documentation":"

The name of an index to query. This index can be any local secondary index or global secondary index on the table. Note that if you use the IndexName parameter, you must also provide TableName.

" }, "Select":{ "shape":"Select", - "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.

  • ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index DynamoDB will fetch the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

    If you query a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

    If you query a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error.

" + "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.

  • ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

    If you query or scan a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

    If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error.

" }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ProjectionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

This parameter allows you to retrieve attributes of type List or Map; however, it cannot retrieve individual elements within a List or a Map.

The names of one or more attributes to retrieve. If no attribute names are provided, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

You cannot use both AttributesToGet and Select together in a Query request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you query a local secondary index and request only attributes that are projected into that index, the operation will read only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB will fetch each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

If you query a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "Limit":{ "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" }, "ConsistentRead":{ "shape":"ConsistentRead", - "documentation":"

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" + "documentation":"

Determines the read consistency model: If set to true, then the operation uses strongly consistent reads; otherwise, the operation uses eventually consistent reads.

Strongly consistent reads are not supported on global secondary indexes. If you query a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" }, "KeyConditions":{ "shape":"KeyConditions", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use KeyConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

The selection criteria for the query. For a query on a table, you can have conditions only on the table primary key attributes. You must provide the partition key name and value as an EQ condition. You can optionally provide a second condition, referring to the sort key.

If you don't provide a sort key condition, all of the items that match the partition key will be retrieved. If a FilterExpression or QueryFilter is present, it will be applied after the items are retrieved.

For a query on an index, you can have conditions only on the index key attributes. You must provide the index partition key name and value as an EQ condition. You can optionally provide a second condition, referring to the index sort key.

Each KeyConditions element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

  • ComparisonOperator - A comparator for evaluating attributes, for example, equals, greater than, less than, and so on.

    For KeyConditions, only the following comparison operators are supported:

    EQ | LE | LT | GE | GT | BEGINS_WITH | BETWEEN

    The following are descriptions of these comparison operators.

    • EQ : Equal.

      AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one specified in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LE : Less than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LT : Less than.

      AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GE : Greater than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GT : Greater than.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • BEGINS_WITH : Checks for a prefix.

      AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

    • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

      AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

" + "documentation":"

This is a legacy parameter. Use KeyConditionExpression instead. For more information, see KeyConditions in the Amazon DynamoDB Developer Guide.

" }, "QueryFilter":{ "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use FilterExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A condition that evaluates the query results after the items are read and returns only the desired values.

This parameter does not support attributes of type List or Map.

A QueryFilter is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

If you provide more than one condition in the QueryFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Note that QueryFilter does not allow key attributes. You cannot define a filter condition on a partition key or a sort key.

Each QueryFilter element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the operator specified in ComparisonOperator.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For type Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

  • ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For complete descriptions of all comparison operators, see the Condition data type.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see QueryFilter in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use FilterExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A logical operator to apply to the conditions in a QueryFilter map:

  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ScanIndexForward":{ "shape":"BooleanObject", - "documentation":"

Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of ASCII character code values. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

" + "documentation":"

Specifies the order for index traversal: If true (default), the traversal is performed in ascending order; if false, the traversal is performed in descending order.

Items with the same partition key value are stored in sorted order by sort key. If the sort key data type is Number, the results are stored in numeric order. For type String, the results are stored in order of UTF-8 bytes. For type Binary, DynamoDB treats each byte of the binary data as unsigned.

If ScanIndexForward is true, DynamoDB returns the results in the order in which they are stored (by sort key value). This is the default behavior. If ScanIndexForward is false, DynamoDB reads the results in reverse order by sort key value, and then returns the results to the client.

" }, "ExclusiveStartKey":{ "shape":"Key", - "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

" + "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number, or Binary. No set data types are allowed.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ProjectionExpression":{ "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

ProjectionExpression replaces the legacy AttributesToGet parameter.

" + "documentation":"

A string that identifies one or more attributes to retrieve from the table. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "FilterExpression":{ "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

FilterExpression replaces the legacy QueryFilter and ConditionalOperator parameters.

" + "documentation":"

A string that contains conditions that DynamoDB applies after the Query operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression does not allow key attributes. You cannot define a filter expression based on a partition key or a sort key.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" }, "KeyConditionExpression":{ "shape":"KeyExpression", - "documentation":"

The condition that specifies the key value(s) for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value. The condition can also perform one of several comparison tests on a single sort key value. Query can use KeyConditionExpression to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

  • sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval.

  • sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval.

  • sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval.

  • sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval.

  • sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval.

  • sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2.

  • begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive.

Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime.

You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word:

  • Size = :myval

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

  • #S = :myval

For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.

For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.

KeyConditionExpression replaces the legacy KeyConditions parameter.

" + "documentation":"

The condition that specifies the key values for items to be retrieved by the Query action.

The condition must perform an equality test on a single partition key value.

The condition can optionally perform one of several comparison tests on a single sort key value. This allows Query to retrieve one item with a given partition key value and sort key value, or several items that have the same partition key value but different sort key values.

The partition key equality test is required, and must be specified in the following format:

partitionKeyName = :partitionkeyval

If you also want to provide a condition for the sort key, it must be combined using AND with the condition for the sort key. Following is an example, using the = comparison operator for the sort key:

partitionKeyName = :partitionkeyval AND sortKeyName = :sortkeyval

Valid comparisons for the sort key condition are as follows:

  • sortKeyName = :sortkeyval - true if the sort key value is equal to :sortkeyval.

  • sortKeyName < :sortkeyval - true if the sort key value is less than :sortkeyval.

  • sortKeyName <= :sortkeyval - true if the sort key value is less than or equal to :sortkeyval.

  • sortKeyName > :sortkeyval - true if the sort key value is greater than :sortkeyval.

  • sortKeyName >= :sortkeyval - true if the sort key value is greater than or equal to :sortkeyval.

  • sortKeyName BETWEEN :sortkeyval1 AND :sortkeyval2 - true if the sort key value is greater than or equal to :sortkeyval1, and less than or equal to :sortkeyval2.

  • begins_with ( sortKeyName, :sortkeyval ) - true if the sort key value begins with a particular operand. (You cannot use this function with a sort key that is of type Number.) Note that the function name begins_with is case-sensitive.

Use the ExpressionAttributeValues parameter to replace tokens such as :partitionval and :sortval with actual values at runtime.

You can optionally use the ExpressionAttributeNames parameter to replace the names of the partition key and sort key with placeholder tokens. This option might be necessary if an attribute name conflicts with a DynamoDB reserved word. For example, the following KeyConditionExpression parameter causes an error because Size is a reserved word:

  • Size = :myval

To work around this, define a placeholder (such a #S) to represent the attribute name Size. KeyConditionExpression then is as follows:

  • #S = :myval

For a list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.

For more information on ExpressionAttributeNames and ExpressionAttributeValues, see Using Placeholders for Attribute Names and Values in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents the input of a Query operation.

" + "documentation":"

Represents the input of a Query operation.

" }, "QueryOutput":{ "type":"structure", @@ -1440,26 +3342,414 @@ }, "Count":{ "shape":"Integer", - "documentation":"

The number of items in the response.

If you used a QueryFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count and ScannedCount are the same.

" + "documentation":"

The number of items in the response.

If you used a QueryFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count and ScannedCount are the same.

" }, "ScannedCount":{ "shape":"Integer", - "documentation":"

The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" + "documentation":"

The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" }, "LastEvaluatedKey":{ "shape":"Key", - "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" + "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"} + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + } }, - "documentation":"

Represents the output of a Query operation.

" + "documentation":"

Represents the output of a Query operation.

" }, - "ResourceInUseException":{ + "RegionName":{"type":"string"}, + "Replica":{ "type":"structure", "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

The resource which is being attempted to be changed is in use.

" + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the replica needs to be created.

" + } + }, + "documentation":"

Represents the properties of a replica.

" + }, + "ReplicaAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified replica is already part of the global table.

", + "exception":true + }, + "ReplicaAutoScalingDescription":{ + "type":"structure", + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the replica exists.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"ReplicaGlobalSecondaryIndexAutoScalingDescriptionList", + "documentation":"

Replica-specific global secondary index auto scaling settings.

" + }, + "ReplicaProvisionedReadCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ReplicaProvisionedWriteCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ReplicaStatus":{ + "shape":"ReplicaStatus", + "documentation":"

The current state of the replica:

  • CREATING - The replica is being created.

  • UPDATING - The replica is being updated.

  • DELETING - The replica is being deleted.

  • ACTIVE - The replica is ready for use.

" + } + }, + "documentation":"

Represents the auto scaling settings of the replica.

" + }, + "ReplicaAutoScalingDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaAutoScalingDescription"} + }, + "ReplicaAutoScalingUpdate":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the replica exists.

" + }, + "ReplicaGlobalSecondaryIndexUpdates":{ + "shape":"ReplicaGlobalSecondaryIndexAutoScalingUpdateList", + "documentation":"

Represents the auto scaling settings of global secondary indexes that will be modified.

" + }, + "ReplicaProvisionedReadCapacityAutoScalingUpdate":{"shape":"AutoScalingSettingsUpdate"} + }, + "documentation":"

Represents the auto scaling settings of a replica that will be modified.

" + }, + "ReplicaAutoScalingUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaAutoScalingUpdate"}, + "min":1 + }, + "ReplicaDescription":{ + "type":"structure", + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The name of the Region.

" + }, + "ReplicaStatus":{ + "shape":"ReplicaStatus", + "documentation":"

The current state of the replica:

  • CREATING - The replica is being created.

  • UPDATING - The replica is being updated.

  • DELETING - The replica is being deleted.

  • ACTIVE - The replica is ready for use.

" + }, + "ReplicaStatusDescription":{ + "shape":"ReplicaStatusDescription", + "documentation":"

Detailed information about the replica status.

" + }, + "ReplicaStatusPercentProgress":{ + "shape":"ReplicaStatusPercentProgress", + "documentation":"

Specifies the progress of a Create, Update, or Delete action on the replica as a percentage.

" + }, + "KMSMasterKeyId":{ + "shape":"KMSMasterKeyId", + "documentation":"

The AWS KMS customer master key (CMK) of the replica that will be used for AWS KMS encryption.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughputOverride", + "documentation":"

Replica-specific provisioned throughput. If not described, uses the source table's provisioned throughput settings.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"ReplicaGlobalSecondaryIndexDescriptionList", + "documentation":"

Replica-specific global secondary index settings.

" + } + }, + "documentation":"

Contains the details of the replica.

" + }, + "ReplicaDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaDescription"} + }, + "ReplicaGlobalSecondaryIndex":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughputOverride", + "documentation":"

Replica table GSI-specific provisioned throughput. If not specified, uses the source table GSI's read capacity settings.

" + } + }, + "documentation":"

Represents the properties of a replica global secondary index.

" + }, + "ReplicaGlobalSecondaryIndexAutoScalingDescription":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "IndexStatus":{ + "shape":"IndexStatus", + "documentation":"

The current state of the replica global secondary index:

  • CREATING - The index is being created.

  • UPDATING - The index is being updated.

  • DELETING - The index is being deleted.

  • ACTIVE - The index is ready for use.

" + }, + "ProvisionedReadCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"}, + "ProvisionedWriteCapacityAutoScalingSettings":{"shape":"AutoScalingSettingsDescription"} + }, + "documentation":"

Represents the auto scaling configuration for a replica global secondary index.

" + }, + "ReplicaGlobalSecondaryIndexAutoScalingDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexAutoScalingDescription"} + }, + "ReplicaGlobalSecondaryIndexAutoScalingUpdate":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "ProvisionedReadCapacityAutoScalingUpdate":{"shape":"AutoScalingSettingsUpdate"} + }, + "documentation":"

Represents the auto scaling settings of a global secondary index for a replica that will be modified.

" + }, + "ReplicaGlobalSecondaryIndexAutoScalingUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexAutoScalingUpdate"} + }, + "ReplicaGlobalSecondaryIndexDescription":{ + "type":"structure", + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughputOverride", + "documentation":"

If not described, uses the source table GSI's read capacity settings.

" + } + }, + "documentation":"

Represents the properties of a replica global secondary index.

" + }, + "ReplicaGlobalSecondaryIndexDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexDescription"} + }, + "ReplicaGlobalSecondaryIndexList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndex"}, + "min":1 + }, + "ReplicaGlobalSecondaryIndexSettingsDescription":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" + }, + "IndexStatus":{ + "shape":"IndexStatus", + "documentation":"

The current status of the global secondary index:

  • CREATING - The global secondary index is being created.

  • UPDATING - The global secondary index is being updated.

  • DELETING - The global secondary index is being deleted.

  • ACTIVE - The global secondary index is ready for use.

" + }, + "ProvisionedReadCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

" + }, + "ProvisionedReadCapacityAutoScalingSettings":{ + "shape":"AutoScalingSettingsDescription", + "documentation":"

Auto scaling settings for a global secondary index replica's read capacity units.

" + }, + "ProvisionedWriteCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" + }, + "ProvisionedWriteCapacityAutoScalingSettings":{ + "shape":"AutoScalingSettingsDescription", + "documentation":"

Auto scaling settings for a global secondary index replica's write capacity units.

" + } + }, + "documentation":"

Represents the properties of a global secondary index.

" + }, + "ReplicaGlobalSecondaryIndexSettingsDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsDescription"} + }, + "ReplicaGlobalSecondaryIndexSettingsUpdate":{ + "type":"structure", + "required":["IndexName"], + "members":{ + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index. The name must be unique among all other indexes on this table.

" + }, + "ProvisionedReadCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

" + }, + "ProvisionedReadCapacityAutoScalingSettingsUpdate":{ + "shape":"AutoScalingSettingsUpdate", + "documentation":"

Auto scaling settings for managing a global secondary index replica's read capacity units.

" + } + }, + "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" + }, + "ReplicaGlobalSecondaryIndexSettingsUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaGlobalSecondaryIndexSettingsUpdate"}, + "max":20, + "min":1 + }, + "ReplicaList":{ + "type":"list", + "member":{"shape":"Replica"} + }, + "ReplicaNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified replica is no longer part of the global table.

", + "exception":true + }, + "ReplicaSettingsDescription":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region name of the replica.

" + }, + "ReplicaStatus":{ + "shape":"ReplicaStatus", + "documentation":"

The current state of the Region:

  • CREATING - The Region is being created.

  • UPDATING - The Region is being updated.

  • DELETING - The Region is being deleted.

  • ACTIVE - The Region is ready for use.

" + }, + "ReplicaBillingModeSummary":{ + "shape":"BillingModeSummary", + "documentation":"

The read/write capacity mode of the replica.

" + }, + "ReplicaProvisionedReadCapacityUnits":{ + "shape":"NonNegativeLongObject", + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + }, + "ReplicaProvisionedReadCapacityAutoScalingSettings":{ + "shape":"AutoScalingSettingsDescription", + "documentation":"

Auto scaling settings for a global table replica's read capacity units.

" + }, + "ReplicaProvisionedWriteCapacityUnits":{ + "shape":"NonNegativeLongObject", + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + }, + "ReplicaProvisionedWriteCapacityAutoScalingSettings":{ + "shape":"AutoScalingSettingsDescription", + "documentation":"

Auto scaling settings for a global table replica's write capacity units.

" + }, + "ReplicaGlobalSecondaryIndexSettings":{ + "shape":"ReplicaGlobalSecondaryIndexSettingsDescriptionList", + "documentation":"

Replica global secondary index settings for the global table.

" + } + }, + "documentation":"

Represents the properties of a replica.

" + }, + "ReplicaSettingsDescriptionList":{ + "type":"list", + "member":{"shape":"ReplicaSettingsDescription"} + }, + "ReplicaSettingsUpdate":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region of the replica to be added.

" + }, + "ReplicaProvisionedReadCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. For more information, see Specifying Read and Write Requirements in the Amazon DynamoDB Developer Guide.

" + }, + "ReplicaProvisionedReadCapacityAutoScalingSettingsUpdate":{ + "shape":"AutoScalingSettingsUpdate", + "documentation":"

Auto scaling settings for managing a global table replica's read capacity units.

" + }, + "ReplicaGlobalSecondaryIndexSettingsUpdate":{ + "shape":"ReplicaGlobalSecondaryIndexSettingsUpdateList", + "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" + } + }, + "documentation":"

Represents the settings for a global table in a Region that will be modified.

" + }, + "ReplicaSettingsUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaSettingsUpdate"}, + "max":50, + "min":1 + }, + "ReplicaStatus":{ + "type":"string", + "enum":[ + "CREATING", + "CREATION_FAILED", + "UPDATING", + "DELETING", + "ACTIVE" + ] + }, + "ReplicaStatusDescription":{"type":"string"}, + "ReplicaStatusPercentProgress":{"type":"string"}, + "ReplicaUpdate":{ + "type":"structure", + "members":{ + "Create":{ + "shape":"CreateReplicaAction", + "documentation":"

The parameters required for creating a replica on an existing global table.

" + }, + "Delete":{ + "shape":"DeleteReplicaAction", + "documentation":"

The name of the existing replica to be removed.

" + } + }, + "documentation":"

Represents one of the following:

  • A new replica to be added to an existing global table.

  • New parameters for an existing replica.

  • An existing replica to be removed from an existing global table.

" + }, + "ReplicaUpdateList":{ + "type":"list", + "member":{"shape":"ReplicaUpdate"} + }, + "ReplicationGroupUpdate":{ + "type":"structure", + "members":{ + "Create":{ + "shape":"CreateReplicationGroupMemberAction", + "documentation":"

The parameters required for creating a replica for the table.

" + }, + "Update":{ + "shape":"UpdateReplicationGroupMemberAction", + "documentation":"

The parameters required for updating a replica for the table.

" + }, + "Delete":{ + "shape":"DeleteReplicationGroupMemberAction", + "documentation":"

The parameters required for deleting a replica for the table.

" + } + }, + "documentation":"

Represents one of the following:

  • A new replica to be added to an existing regional table or global table. This request invokes the CreateTableReplica action in the destination Region.

  • New parameters for an existing replica. This request invokes the UpdateTable action in the destination Region.

  • An existing replica to be deleted. The request invokes the DeleteTableReplica action in the destination Region, deleting the replica and all if its items in the destination Region.

" + }, + "ReplicationGroupUpdateList":{ + "type":"list", + "member":{"shape":"ReplicationGroupUpdate"}, + "min":1 + }, + "RequestLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Throughput exceeds the current throughput limit for your account. Please contact AWS Support at AWS Support to request a limit increase.

", + "exception":true + }, + "ResourceArnString":{ + "type":"string", + "max":1283, + "min":1 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

The resource which is being attempted to be changed is in use.

" } }, "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to recreate an existing table, or tried to delete a table currently in the CREATING state.

", @@ -1476,9 +3766,137 @@ "documentation":"

The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE.

", "exception":true }, + "RestoreInProgress":{"type":"boolean"}, + "RestoreSummary":{ + "type":"structure", + "required":[ + "RestoreDateTime", + "RestoreInProgress" + ], + "members":{ + "SourceBackupArn":{ + "shape":"BackupArn", + "documentation":"

The Amazon Resource Name (ARN) of the backup from which the table was restored.

" + }, + "SourceTableArn":{ + "shape":"TableArn", + "documentation":"

The ARN of the source table of the backup that is being restored.

" + }, + "RestoreDateTime":{ + "shape":"Date", + "documentation":"

Point in time or source backup time.

" + }, + "RestoreInProgress":{ + "shape":"RestoreInProgress", + "documentation":"

Indicates if a restore is in progress or not.

" + } + }, + "documentation":"

Contains details for the restore.

" + }, + "RestoreTableFromBackupInput":{ + "type":"structure", + "required":[ + "TargetTableName", + "BackupArn" + ], + "members":{ + "TargetTableName":{ + "shape":"TableName", + "documentation":"

The name of the new table to which the backup must be restored.

" + }, + "BackupArn":{ + "shape":"BackupArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the backup.

" + }, + "BillingModeOverride":{ + "shape":"BillingMode", + "documentation":"

The billing mode of the restored table.

" + }, + "GlobalSecondaryIndexOverride":{ + "shape":"GlobalSecondaryIndexList", + "documentation":"

List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.

" + }, + "LocalSecondaryIndexOverride":{ + "shape":"LocalSecondaryIndexList", + "documentation":"

List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughput", + "documentation":"

Provisioned throughput settings for the restored table.

" + }, + "SSESpecificationOverride":{ + "shape":"SSESpecification", + "documentation":"

The new server-side encryption settings for the restored table.

" + } + } + }, + "RestoreTableFromBackupOutput":{ + "type":"structure", + "members":{ + "TableDescription":{ + "shape":"TableDescription", + "documentation":"

The description of the table created from an existing backup.

" + } + } + }, + "RestoreTableToPointInTimeInput":{ + "type":"structure", + "required":["TargetTableName"], + "members":{ + "SourceTableArn":{ + "shape":"TableArn", + "documentation":"

The DynamoDB table that will be restored. This value is an Amazon Resource Name (ARN).

" + }, + "SourceTableName":{ + "shape":"TableName", + "documentation":"

Name of the source table that is being restored.

" + }, + "TargetTableName":{ + "shape":"TableName", + "documentation":"

The name of the new table to which it must be restored to.

" + }, + "UseLatestRestorableTime":{ + "shape":"BooleanObject", + "documentation":"

Restore the table to the latest possible time. LatestRestorableDateTime is typically 5 minutes before the current time.

" + }, + "RestoreDateTime":{ + "shape":"Date", + "documentation":"

Time in the past to restore the table to.

" + }, + "BillingModeOverride":{ + "shape":"BillingMode", + "documentation":"

The billing mode of the restored table.

" + }, + "GlobalSecondaryIndexOverride":{ + "shape":"GlobalSecondaryIndexList", + "documentation":"

List of global secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.

" + }, + "LocalSecondaryIndexOverride":{ + "shape":"LocalSecondaryIndexList", + "documentation":"

List of local secondary indexes for the restored table. The indexes provided should match existing secondary indexes. You can choose to exclude some or all of the indexes at the time of restore.

" + }, + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughput", + "documentation":"

Provisioned throughput settings for the restored table.

" + }, + "SSESpecificationOverride":{ + "shape":"SSESpecification", + "documentation":"

The new server-side encryption settings for the restored table.

" + } + } + }, + "RestoreTableToPointInTimeOutput":{ + "type":"structure", + "members":{ + "TableDescription":{ + "shape":"TableDescription", + "documentation":"

Represents the properties of a table.

" + } + } + }, "ReturnConsumedCapacity":{ "type":"string", - "documentation":"

Determines the level of detail about provisioned throughput consumption that is returned in the response:

  • INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

    Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

  • TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

  • NONE - No ConsumedCapacity details are included in the response.

", + "documentation":"

Determines the level of detail about provisioned throughput consumption that is returned in the response:

  • INDEXES - The response includes the aggregate ConsumedCapacity for the operation, together with ConsumedCapacity for each table and secondary index that was accessed.

    Note that some operations, such as GetItem and BatchGetItem, do not access any indexes at all. In these cases, specifying INDEXES will only return ConsumedCapacity information for table(s).

  • TOTAL - The response includes only the aggregate ConsumedCapacity for the operation.

  • NONE - No ConsumedCapacity details are included in the response.

", "enum":[ "INDEXES", "TOTAL", @@ -1502,7 +3920,72 @@ "UPDATED_NEW" ] }, - "ScalarAttributeType":{ + "ReturnValuesOnConditionCheckFailure":{ + "type":"string", + "enum":[ + "ALL_OLD", + "NONE" + ] + }, + "SSEDescription":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"SSEStatus", + "documentation":"

Represents the current state of server-side encryption. The only supported values are:

  • ENABLED - Server-side encryption is enabled.

  • UPDATING - Server-side encryption is being updated.

" + }, + "SSEType":{ + "shape":"SSEType", + "documentation":"

Server-side encryption type. The only supported value is:

  • KMS - Server-side encryption that uses AWS Key Management Service. The key is stored in your account and is managed by AWS KMS (AWS KMS charges apply).

" + }, + "KMSMasterKeyArn":{ + "shape":"KMSMasterKeyArn", + "documentation":"

The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.

" + }, + "InaccessibleEncryptionDateTime":{ + "shape":"Date", + "documentation":"

Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table's AWS KMS key was inaccessible. This attribute will automatically be cleared when DynamoDB detects that the table's AWS KMS key is accessible again. DynamoDB will initiate the table archival process when table's AWS KMS key remains inaccessible for more than seven days from this date.

" + } + }, + "documentation":"

The description of the server-side encryption status on the specified table.

" + }, + "SSEEnabled":{"type":"boolean"}, + "SSESpecification":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"SSEEnabled", + "documentation":"

Indicates whether server-side encryption is done using an AWS managed CMK or an AWS owned CMK. If enabled (true), server-side encryption type is set to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned CMK.

" + }, + "SSEType":{ + "shape":"SSEType", + "documentation":"

Server-side encryption type. The only supported value is:

  • KMS - Server-side encryption that uses AWS Key Management Service. The key is stored in your account and is managed by AWS KMS (AWS KMS charges apply).

" + }, + "KMSMasterKeyId":{ + "shape":"KMSMasterKeyId", + "documentation":"

The AWS KMS customer master key (CMK) that should be used for the AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB customer master key alias/aws/dynamodb.

" + } + }, + "documentation":"

Represents the settings used to enable server-side encryption.

" + }, + "SSEStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "ENABLED", + "DISABLING", + "DISABLED", + "UPDATING" + ] + }, + "SSEType":{ + "type":"string", + "enum":[ + "AES256", + "KMS" + ] + }, + "ScalarAttributeType":{ "type":"string", "enum":[ "S", @@ -1524,222 +4007,735 @@ }, "AttributesToGet":{ "shape":"AttributeNameList", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ProjectionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

This parameter allows you to retrieve attributes of type List or Map; however, it cannot retrieve individual elements within a List or a Map.

The names of one or more attributes to retrieve. If no attribute names are provided, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

Note that AttributesToGet has no effect on provisioned throughput consumption. DynamoDB determines capacity units consumed based on item size, not on the amount of data that is returned to an application.

" + "documentation":"

This is a legacy parameter. Use ProjectionExpression instead. For more information, see AttributesToGet in the Amazon DynamoDB Developer Guide.

" }, "Limit":{ "shape":"PositiveIntegerObject", - "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed data set size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Query and Scan in the Amazon DynamoDB Developer Guide.

" + "documentation":"

The maximum number of items to evaluate (not necessarily the number of matching items). If DynamoDB processes the number of items up to the limit while processing the results, it stops the operation and returns the matching values up to that point, and a key in LastEvaluatedKey to apply in a subsequent operation, so that you can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and returns the matching values up to the limit, and a key in LastEvaluatedKey to apply in a subsequent operation to continue the operation. For more information, see Working with Queries in the Amazon DynamoDB Developer Guide.

" }, "Select":{ "shape":"Select", - "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, or the count of matching items.

  • ALL_ATTRIBUTES - Returns all of the item attributes.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES. You cannot use both AttributesToGet and Select together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

" + "documentation":"

The attributes to be returned in the result. You can retrieve all item attributes, specific item attributes, the count of matching items, or in the case of an index, some or all of the attributes projected into the index.

  • ALL_ATTRIBUTES - Returns all of the item attributes from the specified table or index. If you query a local secondary index, then for each matching item in the index, DynamoDB fetches the entire item from the parent table. If the index is configured to project all item attributes, then all of the data can be obtained from the local secondary index, and no fetching is required.

  • ALL_PROJECTED_ATTRIBUTES - Allowed only when querying an index. Retrieves all attributes that have been projected into the index. If the index is configured to project all attributes, this return value is equivalent to specifying ALL_ATTRIBUTES.

  • COUNT - Returns the number of matching items, rather than the matching items themselves.

  • SPECIFIC_ATTRIBUTES - Returns only the attributes listed in AttributesToGet. This return value is equivalent to specifying AttributesToGet without specifying any value for Select.

    If you query or scan a local secondary index and request only attributes that are projected into that index, the operation reads only the index and not the table. If any of the requested attributes are not projected into the local secondary index, DynamoDB fetches each of these attributes from the parent table. This extra fetching incurs additional throughput cost and latency.

    If you query or scan a global secondary index, you can only request attributes that are projected into the index. Global secondary index queries cannot fetch attributes from the parent table.

If neither Select nor AttributesToGet are specified, DynamoDB defaults to ALL_ATTRIBUTES when accessing a table, and ALL_PROJECTED_ATTRIBUTES when accessing an index. You cannot use both Select and AttributesToGet together in a single request, unless the value for Select is SPECIFIC_ATTRIBUTES. (This usage is equivalent to specifying AttributesToGet without any value for Select.)

If you use the ProjectionExpression parameter, then the value for Select can only be SPECIFIC_ATTRIBUTES. Any other value for Select will return an error.

" }, "ScanFilter":{ "shape":"FilterConditionMap", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use FilterExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A condition that evaluates the scan results and returns only the desired values.

This parameter does not support attributes of type List or Map.

If you specify more than one condition in the ScanFilter map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

Each ScanFilter element consists of an attribute name to compare, along with the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the operator specified in ComparisonOperator .

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

    For information on specifying data types in JSON, see JSON Data Format in the Amazon DynamoDB Developer Guide.

  • ComparisonOperator - A comparator for evaluating attributes. For example, equals, greater than, less than, etc.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For complete descriptions of all comparison operators, see Condition.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ScanFilter in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use FilterExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A logical operator to apply to the conditions in a ScanFilter map:

  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use FilterExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ExclusiveStartKey":{ "shape":"Key", - "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

" + "documentation":"

The primary key of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedKey in the previous operation.

The data type for ExclusiveStartKey must be String, Number or Binary. No set data types are allowed.

In a parallel scan, a Scan request that includes ExclusiveStartKey must specify the same segment whose previous Scan returned the corresponding value of LastEvaluatedKey.

" + }, + "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, + "TotalSegments":{ + "shape":"ScanTotalSegments", + "documentation":"

For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 1000000. If you specify a TotalSegments value of 1, the Scan operation will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

" + }, + "Segment":{ + "shape":"ScanSegment", + "documentation":"

For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a Segment value of 0, the second thread specifies 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you provide Segment, you must also provide TotalSegments.

" + }, + "ProjectionExpression":{ + "shape":"ProjectionExpression", + "documentation":"

A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" + }, + "FilterExpression":{ + "shape":"ConditionExpression", + "documentation":"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

" + }, + "ExpressionAttributeNames":{ + "shape":"ExpressionAttributeNameMap", + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" + }, + "ExpressionAttributeValues":{ + "shape":"ExpressionAttributeValueMap", + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" + }, + "ConsistentRead":{ + "shape":"ConsistentRead", + "documentation":"

A Boolean value that determines the read consistency model during the scan:

  • If ConsistentRead is false, then the data returned from Scan might not contain the results from other recently completed write operations (PutItem, UpdateItem, or DeleteItem).

  • If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response.

The default setting for ConsistentRead is false.

The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" + } + }, + "documentation":"

Represents the input of a Scan operation.

" + }, + "ScanOutput":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"ItemList", + "documentation":"

An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

" + }, + "Count":{ + "shape":"Integer", + "documentation":"

The number of items in the response.

If you set ScanFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count is the same as ScannedCount.

" + }, + "ScannedCount":{ + "shape":"Integer", + "documentation":"

The number of items evaluated, before any ScanFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" + }, + "LastEvaluatedKey":{ + "shape":"Key", + "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" + }, + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the Scan operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + } + }, + "documentation":"

Represents the output of a Scan operation.

" + }, + "ScanSegment":{ + "type":"integer", + "max":999999, + "min":0 + }, + "ScanTotalSegments":{ + "type":"integer", + "max":1000000, + "min":1 + }, + "SecondaryIndexesCapacityMap":{ + "type":"map", + "key":{"shape":"IndexName"}, + "value":{"shape":"Capacity"} + }, + "Select":{ + "type":"string", + "enum":[ + "ALL_ATTRIBUTES", + "ALL_PROJECTED_ATTRIBUTES", + "SPECIFIC_ATTRIBUTES", + "COUNT" + ] + }, + "SourceTableDetails":{ + "type":"structure", + "required":[ + "TableName", + "TableId", + "KeySchema", + "TableCreationDateTime", + "ProvisionedThroughput" + ], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table for which the backup was created.

" + }, + "TableId":{ + "shape":"TableId", + "documentation":"

Unique identifier for the table for which the backup was created.

" + }, + "TableArn":{ + "shape":"TableArn", + "documentation":"

ARN of the table for which backup was created.

" + }, + "TableSizeBytes":{ + "shape":"Long", + "documentation":"

Size of the table in bytes. Note that this is an approximate value.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

Schema of the table.

" + }, + "TableCreationDateTime":{ + "shape":"TableCreationDateTime", + "documentation":"

Time when the source table was created.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Read IOPs and Write IOPS on the table when the backup was created.

" + }, + "ItemCount":{ + "shape":"ItemCount", + "documentation":"

Number of items in the table. Note that this is an approximate value.

" + }, + "BillingMode":{ + "shape":"BillingMode", + "documentation":"

Controls how you are charged for read and write throughput and how you manage capacity. This setting can be changed later.

  • PROVISIONED - Sets the read/write capacity mode to PROVISIONED. We recommend using PROVISIONED for predictable workloads.

  • PAY_PER_REQUEST - Sets the read/write capacity mode to PAY_PER_REQUEST. We recommend using PAY_PER_REQUEST for unpredictable workloads.

" + } + }, + "documentation":"

Contains the details of the table when the backup was created.

" + }, + "SourceTableFeatureDetails":{ + "type":"structure", + "members":{ + "LocalSecondaryIndexes":{ + "shape":"LocalSecondaryIndexes", + "documentation":"

Represents the LSI properties for the table when the backup was created. It includes the IndexName, KeySchema and Projection for the LSIs on the table at the time of backup.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"GlobalSecondaryIndexes", + "documentation":"

Represents the GSI properties for the table when the backup was created. It includes the IndexName, KeySchema, Projection, and ProvisionedThroughput for the GSIs on the table at the time of backup.

" + }, + "StreamDescription":{ + "shape":"StreamSpecification", + "documentation":"

Stream settings on the table when the backup was created.

" + }, + "TimeToLiveDescription":{ + "shape":"TimeToLiveDescription", + "documentation":"

Time to Live settings on the table when the backup was created.

" + }, + "SSEDescription":{ + "shape":"SSEDescription", + "documentation":"

The description of the server-side encryption status on the table when the backup was created.

" + } + }, + "documentation":"

Contains the details of the features enabled on the table when the backup was created. For example, LSIs, GSIs, streams, TTL.

" + }, + "StreamArn":{ + "type":"string", + "max":1024, + "min":37 + }, + "StreamEnabled":{"type":"boolean"}, + "StreamSpecification":{ + "type":"structure", + "required":["StreamEnabled"], + "members":{ + "StreamEnabled":{ + "shape":"StreamEnabled", + "documentation":"

Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

" + }, + "StreamViewType":{ + "shape":"StreamViewType", + "documentation":"

When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

  • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

  • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

  • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

  • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" + } + }, + "documentation":"

Represents the DynamoDB Streams configuration for a table in DynamoDB.

" + }, + "StreamViewType":{ + "type":"string", + "enum":[ + "NEW_IMAGE", + "OLD_IMAGE", + "NEW_AND_OLD_IMAGES", + "KEYS_ONLY" + ] + }, + "String":{"type":"string"}, + "StringAttributeValue":{"type":"string"}, + "StringSetAttributeValue":{ + "type":"list", + "member":{"shape":"StringAttributeValue"} + }, + "TableAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

A target table with the specified name already exists.

", + "exception":true + }, + "TableArn":{"type":"string"}, + "TableAutoScalingDescription":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "TableStatus":{ + "shape":"TableStatus", + "documentation":"

The current state of the table:

  • CREATING - The table is being created.

  • UPDATING - The table is being updated.

  • DELETING - The table is being deleted.

  • ACTIVE - The table is ready for use.

" + }, + "Replicas":{ + "shape":"ReplicaAutoScalingDescriptionList", + "documentation":"

Represents replicas of the global table.

" + } + }, + "documentation":"

Represents the auto scaling configuration for a global table.

" + }, + "TableCreationDateTime":{"type":"timestamp"}, + "TableDescription":{ + "type":"structure", + "members":{ + "AttributeDefinitions":{ + "shape":"AttributeDefinitions", + "documentation":"

An array of AttributeDefinition objects. Each of these objects describes one attribute in the table and index key schema.

Each AttributeDefinition object in this array is composed of:

  • AttributeName - The name of the attribute.

  • AttributeType - The data type for the attribute.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" + }, + "KeySchema":{ + "shape":"KeySchema", + "documentation":"

The primary key structure for the table. Each KeySchemaElement consists of:

  • AttributeName - The name of the attribute.

  • KeyType - The role of the attribute:

    • HASH - partition key

    • RANGE - sort key

    The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

    The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

" + }, + "TableStatus":{ + "shape":"TableStatus", + "documentation":"

The current state of the table:

  • CREATING - The table is being created.

  • UPDATING - The table is being updated.

  • DELETING - The table is being deleted.

  • ACTIVE - The table is ready for use.

  • INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt the table in inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival process when a table's AWS KMS key remains inaccessible for more than seven days.

  • ARCHIVING - The table is being archived. Operations are not allowed until archival is complete.

  • ARCHIVED - The table has been archived. See the ArchivalReason for more information.

" + }, + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The date and time when the table was created, in UNIX epoch time format.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughputDescription", + "documentation":"

The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

" + }, + "TableSizeBytes":{ + "shape":"Long", + "documentation":"

The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" + }, + "ItemCount":{ + "shape":"Long", + "documentation":"

The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" + }, + "TableArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the table.

" + }, + "TableId":{ + "shape":"TableId", + "documentation":"

Unique identifier for the table for which the backup was created.

" + }, + "BillingModeSummary":{ + "shape":"BillingModeSummary", + "documentation":"

Contains the details for the read/write capacity mode.

" + }, + "LocalSecondaryIndexes":{ + "shape":"LocalSecondaryIndexDescriptionList", + "documentation":"

Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:

  • IndexName - The name of the local secondary index.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • ItemCount - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

If the table is in the DELETING state, no information about indexes will be returned.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"GlobalSecondaryIndexDescriptionList", + "documentation":"

The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:

  • Backfilling - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table. It is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a CreateTable operation.)

    You can delete an index that is being created during the Backfilling phase when IndexStatus is set to CREATING and Backfilling is true. You can't delete the index that is being created when IndexStatus is set to CREATING and Backfilling is false. (This attribute does not appear for indexes that were created during a CreateTable operation.)

  • IndexName - The name of the global secondary index.

  • IndexSizeBytes - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • IndexStatus - The current status of the global secondary index:

    • CREATING - The index is being created.

    • UPDATING - The index is being updated.

    • DELETING - The index is being deleted.

    • ACTIVE - The index is ready for use.

  • ItemCount - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes is in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.

If the table is in the DELETING state, no information about indexes will be returned.

" + }, + "StreamSpecification":{ + "shape":"StreamSpecification", + "documentation":"

The current DynamoDB Streams configuration for the table.

" + }, + "LatestStreamLabel":{ + "shape":"String", + "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • AWS customer ID

  • Table name

  • StreamLabel

" + }, + "LatestStreamArn":{ + "shape":"StreamArn", + "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

" + }, + "GlobalTableVersion":{ + "shape":"String", + "documentation":"

Represents the version of global tables in use, if the table is replicated across AWS Regions.

" + }, + "Replicas":{ + "shape":"ReplicaDescriptionList", + "documentation":"

Represents replicas of the table.

" + }, + "RestoreSummary":{ + "shape":"RestoreSummary", + "documentation":"

Contains details for the restore.

" + }, + "SSEDescription":{ + "shape":"SSEDescription", + "documentation":"

The description of the server-side encryption status on the specified table.

" + }, + "ArchivalSummary":{ + "shape":"ArchivalSummary", + "documentation":"

Contains information about the table archive.

" + } + }, + "documentation":"

Represents the properties of a table.

" + }, + "TableId":{ + "type":"string", + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "TableInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

A target table with the specified name is either being created or deleted.

", + "exception":true + }, + "TableName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "TableNameList":{ + "type":"list", + "member":{"shape":"TableName"} + }, + "TableNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

A source table with the name TableName does not currently exist within the subscriber's account.

", + "exception":true + }, + "TableStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "ACTIVE", + "INACCESSIBLE_ENCRYPTION_CREDENTIALS", + "ARCHIVING", + "ARCHIVED" + ] + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKeyString", + "documentation":"

The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.

" + }, + "Value":{ + "shape":"TagValueString", + "documentation":"

The value of the tag. Tag values are case-sensitive and can be null.

" + } + }, + "documentation":"

Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a single DynamoDB table.

AWS-assigned tag names and values are automatically assigned the aws: prefix, which the user cannot assign. AWS-assigned tag names do not count towards the tag limit of 50. User-assigned tag names have the prefix user: in the Cost Allocation Report. You cannot backdate the application of a tag.

For an overview on tagging DynamoDB resources, see Tagging for DynamoDB in the Amazon DynamoDB Developer Guide.

" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKeyString"} + }, + "TagKeyString":{ + "type":"string", + "max":128, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

Identifies the Amazon DynamoDB resource to which tags should be added. This value is an Amazon Resource Name (ARN).

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the Amazon DynamoDB resource.

" + } + } + }, + "TagValueString":{ + "type":"string", + "max":256, + "min":0 + }, + "TimeRangeLowerBound":{"type":"timestamp"}, + "TimeRangeUpperBound":{"type":"timestamp"}, + "TimeToLiveAttributeName":{ + "type":"string", + "max":255, + "min":1 + }, + "TimeToLiveDescription":{ + "type":"structure", + "members":{ + "TimeToLiveStatus":{ + "shape":"TimeToLiveStatus", + "documentation":"

The TTL status for the table.

" + }, + "AttributeName":{ + "shape":"TimeToLiveAttributeName", + "documentation":"

The name of the TTL attribute for items in the table.

" + } + }, + "documentation":"

The description of the Time to Live (TTL) status on the specified table.

" + }, + "TimeToLiveEnabled":{"type":"boolean"}, + "TimeToLiveSpecification":{ + "type":"structure", + "required":[ + "Enabled", + "AttributeName" + ], + "members":{ + "Enabled":{ + "shape":"TimeToLiveEnabled", + "documentation":"

Indicates whether TTL is to be enabled (true) or disabled (false) on the table.

" + }, + "AttributeName":{ + "shape":"TimeToLiveAttributeName", + "documentation":"

The name of the TTL attribute used to store the expiration time for items in the table.

" + } + }, + "documentation":"

Represents the settings used to enable or disable Time to Live (TTL) for the specified table.

" + }, + "TimeToLiveStatus":{ + "type":"string", + "enum":[ + "ENABLING", + "DISABLING", + "ENABLED", + "DISABLED" + ] + }, + "TransactGetItem":{ + "type":"structure", + "required":["Get"], + "members":{ + "Get":{ + "shape":"Get", + "documentation":"

Contains the primary key that identifies the item to get, together with the name of the table that contains the item, and optionally the specific attributes of the item to retrieve.

" + } + }, + "documentation":"

Specifies an item to be retrieved as part of the transaction.

" + }, + "TransactGetItemList":{ + "type":"list", + "member":{"shape":"TransactGetItem"}, + "max":25, + "min":1 + }, + "TransactGetItemsInput":{ + "type":"structure", + "required":["TransactItems"], + "members":{ + "TransactItems":{ + "shape":"TransactGetItemList", + "documentation":"

An ordered array of up to 25 TransactGetItem objects, each of which contains a Get structure.

" + }, + "ReturnConsumedCapacity":{ + "shape":"ReturnConsumedCapacity", + "documentation":"

A value of TOTAL causes consumed capacity information to be returned, and a value of NONE prevents that information from being returned. No other value is valid.

" + } + } + }, + "TransactGetItemsOutput":{ + "type":"structure", + "members":{ + "ConsumedCapacity":{ + "shape":"ConsumedCapacityMultiple", + "documentation":"

If the ReturnConsumedCapacity value was TOTAL, this is an array of ConsumedCapacity objects, one for each table addressed by TransactGetItem objects in the TransactItems parameter. These ConsumedCapacity objects report the read-capacity units consumed by the TransactGetItems call in that table.

" + }, + "Responses":{ + "shape":"ItemResponseList", + "documentation":"

An ordered array of up to 25 ItemResponse objects, each of which corresponds to the TransactGetItem object in the same position in the TransactItems array. Each ItemResponse object contains a Map of the name-value pairs that are the projected attributes of the requested item.

If a requested item could not be retrieved, the corresponding ItemResponse object is Null, or if the requested item has no projected attributes, the corresponding ItemResponse object is an empty Map.

" + } + } + }, + "TransactWriteItem":{ + "type":"structure", + "members":{ + "ConditionCheck":{ + "shape":"ConditionCheck", + "documentation":"

A request to perform a check item operation.

" + }, + "Put":{ + "shape":"Put", + "documentation":"

A request to perform a PutItem operation.

" + }, + "Delete":{ + "shape":"Delete", + "documentation":"

A request to perform a DeleteItem operation.

" + }, + "Update":{ + "shape":"Update", + "documentation":"

A request to perform an UpdateItem operation.

" + } + }, + "documentation":"

A list of requests that can perform update, put, delete, or check operations on multiple items in one or more tables atomically.

" + }, + "TransactWriteItemList":{ + "type":"list", + "member":{"shape":"TransactWriteItem"}, + "max":25, + "min":1 + }, + "TransactWriteItemsInput":{ + "type":"structure", + "required":["TransactItems"], + "members":{ + "TransactItems":{ + "shape":"TransactWriteItemList", + "documentation":"

An ordered array of up to 25 TransactWriteItem objects, each of which contains a ConditionCheck, Put, Update, or Delete object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.

" + }, + "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, + "ReturnItemCollectionMetrics":{ + "shape":"ReturnItemCollectionMetrics", + "documentation":"

Determines whether item collection metrics are returned. If set to SIZE, the response includes statistics about item collections (if any), that were modified during the operation and are returned in the response. If set to NONE (the default), no statistics are returned.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Providing a ClientRequestToken makes the call to TransactWriteItems idempotent, meaning that multiple identical calls have the same effect as one single call.

Although multiple identical calls using the same client request token produce the same result on the server (no side effects), the responses to the calls might not be the same. If the ReturnConsumedCapacity> parameter is set, then the initial TransactWriteItems call returns the amount of write capacity units consumed in making the changes. Subsequent TransactWriteItems calls with the same client token return the number of read capacity units consumed in reading the item.

A client request token is valid for 10 minutes after the first request that uses it is completed. After 10 minutes, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 10 minutes, or the result might not be idempotent.

If you submit a request with the same client token but a change in other parameters within the 10-minute idempotency window, DynamoDB returns an IdempotentParameterMismatch exception.

", + "idempotencyToken":true + } + } + }, + "TransactWriteItemsOutput":{ + "type":"structure", + "members":{ + "ConsumedCapacity":{ + "shape":"ConsumedCapacityMultiple", + "documentation":"

The capacity units consumed by the entire TransactWriteItems operation. The values of the list are ordered according to the ordering of the TransactItems request parameter.

" + }, + "ItemCollectionMetrics":{ + "shape":"ItemCollectionMetricsPerTable", + "documentation":"

A list of tables that were processed by TransactWriteItems and, for each table, information about any item collections that were affected by individual UpdateItem, PutItem, or DeleteItem operations.

" + } + } + }, + "TransactionCanceledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "CancellationReasons":{ + "shape":"CancellationReasonList", + "documentation":"

A list of cancellation reasons.

" + } + }, + "documentation":"

The entire transaction request was canceled.

DynamoDB cancels a TransactWriteItems request under the following circumstances:

  • A condition in one of the condition expressions is not met.

  • A table in the TransactWriteItems request is in a different account or region.

  • More than one action in the TransactWriteItems operation targets the same item.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • An item size becomes too large (larger than 400 KB), or a local secondary index (LSI) becomes too large, or a similar validation error occurs because of changes made by the transaction.

  • There is a user error, such as an invalid data format.

DynamoDB cancels a TransactGetItems request under the following circumstances:

  • There is an ongoing TransactGetItems operation that conflicts with a concurrent PutItem, UpdateItem, DeleteItem or TransactWriteItems request. In this case the TransactGetItems operation fails with a TransactionCanceledException.

  • A table in the TransactGetItems request is in a different account or region.

  • There is insufficient provisioned capacity for the transaction to be completed.

  • There is a user error, such as an invalid data format.

If using Java, DynamoDB lists the cancellation reasons on the CancellationReasons property. This property is not set for other languages. Transaction cancellation reasons are ordered in the order of requested items, if an item has no error it will have NONE code and Null message.

Cancellation reason codes and possible error messages:

  • No Errors:

    • Code: NONE

    • Message: null

  • Conditional Check Failed:

    • Code: ConditionalCheckFailed

    • Message: The conditional request failed.

  • Item Collection Size Limit Exceeded:

    • Code: ItemCollectionSizeLimitExceeded

    • Message: Collection size exceeded.

  • Transaction Conflict:

    • Code: TransactionConflict

    • Message: Transaction is ongoing for the item.

  • Provisioned Throughput Exceeded:

    • Code: ProvisionedThroughputExceeded

    • Messages:

      • The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.

        This Message is received when provisioned throughput is exceeded is on a provisioned DynamoDB table.

      • The level of configured provisioned throughput for one or more global secondary indexes of the table was exceeded. Consider increasing your provisioning level for the under-provisioned global secondary indexes with the UpdateTable API.

        This message is returned when provisioned throughput is exceeded is on a provisioned GSI.

  • Throttling Error:

    • Code: ThrottlingError

    • Messages:

      • Throughput exceeds the current capacity of your table or index. DynamoDB is automatically scaling your table or index so please try again shortly. If exceptions persist, check if you have a hot key: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-partition-key-design.html.

        This message is returned when writes get throttled on an On-Demand table as DynamoDB is automatically scaling the table.

      • Throughput exceeds the current capacity for one or more global secondary indexes. DynamoDB is automatically scaling your index so please try again shortly.

        This message is returned when when writes get throttled on an On-Demand GSI as DynamoDB is automatically scaling the GSI.

  • Validation Error:

    • Code: ValidationError

    • Messages:

      • One or more parameter values were invalid.

      • The update expression attempted to update the secondary index key beyond allowed size limits.

      • The update expression attempted to update the secondary index key to unsupported type.

      • An operand in the update expression has an incorrect data type.

      • Item size to update has exceeded the maximum allowed size.

      • Number overflow. Attempting to store a number with magnitude larger than supported range.

      • Type mismatch for attribute to update.

      • Nesting Levels have exceeded supported limits.

      • The document path provided in the update expression is invalid for update.

      • The provided expression refers to an attribute that does not exist in the item.

", + "exception":true + }, + "TransactionConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Operation was rejected because there is an ongoing transaction for the item.

", + "exception":true + }, + "TransactionInProgressException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The transaction with the given request token is already in progress.

", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The DynamoDB resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).

" }, - "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, - "TotalSegments":{ - "shape":"ScanTotalSegments", - "documentation":"

For a parallel Scan request, TotalSegments represents the total number of segments into which the Scan operation will be divided. The value of TotalSegments corresponds to the number of application workers that will perform the parallel scan. For example, if you want to use four application threads to scan a table or an index, specify a TotalSegments value of 4.

The value for TotalSegments must be greater than or equal to 1, and less than or equal to 1000000. If you specify a TotalSegments value of 1, the Scan operation will be sequential rather than parallel.

If you specify TotalSegments, you must also specify Segment.

" + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys. Existing tags of the resource whose keys are members of this list will be removed from the DynamoDB resource.

" + } + } + }, + "Update":{ + "type":"structure", + "required":[ + "Key", + "UpdateExpression", + "TableName" + ], + "members":{ + "Key":{ + "shape":"Key", + "documentation":"

The primary key of the item to be updated. Each element consists of an attribute name and a value for that attribute.

" }, - "Segment":{ - "shape":"ScanSegment", - "documentation":"

For a parallel Scan request, Segment identifies an individual segment to be scanned by an application worker.

Segment IDs are zero-based, so the first segment is always 0. For example, if you want to use four application threads to scan a table or an index, then the first thread specifies a Segment value of 0, the second thread specifies 1, and so on.

The value of LastEvaluatedKey returned from a parallel Scan request must be used as ExclusiveStartKey with the same segment ID in a subsequent Scan operation.

The value for Segment must be greater than or equal to 0, and less than the value provided for TotalSegments.

If you provide Segment, you must also provide TotalSegments.

" + "UpdateExpression":{ + "shape":"UpdateExpression", + "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

" }, - "ProjectionExpression":{ - "shape":"ProjectionExpression", - "documentation":"

A string that identifies one or more attributes to retrieve from the specified table or index. These attributes can include scalars, sets, or elements of a JSON document. The attributes in the expression must be separated by commas.

If no attribute names are specified, then all attributes will be returned. If any of the requested attributes are not found, they will not appear in the result.

For more information, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

ProjectionExpression replaces the legacy AttributesToGet parameter.

" + "TableName":{ + "shape":"TableName", + "documentation":"

Name of the table for the UpdateItem request.

" }, - "FilterExpression":{ + "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A string that contains conditions that DynamoDB applies after the Scan operation, but before the data is returned to you. Items that do not satisfy the FilterExpression criteria are not returned.

A FilterExpression is applied after the items have already been read; the process of filtering does not consume any additional read capacity units.

For more information, see Filter Expressions in the Amazon DynamoDB Developer Guide.

FilterExpression replaces the legacy ScanFilter and ConditionalOperator parameters.

" + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

" }, - "ConsistentRead":{ - "shape":"ConsistentRead", - "documentation":"

A Boolean value that determines the read consistency model during the scan:

  • If ConsistentRead is false, then the data returned from Scan might not contain the results from other recently completed write operations (PutItem, UpdateItem or DeleteItem).

  • If ConsistentRead is true, then all of the write operations that completed before the Scan began are guaranteed to be contained in the Scan response.

The default setting for ConsistentRead is false.

The ConsistentRead parameter is not supported on global secondary indexes. If you scan a global secondary index with ConsistentRead set to true, you will receive a ValidationException.

" + "ReturnValuesOnConditionCheckFailure":{ + "shape":"ReturnValuesOnConditionCheckFailure", + "documentation":"

Use ReturnValuesOnConditionCheckFailure to get the item attributes if the Update condition fails. For ReturnValuesOnConditionCheckFailure, the valid values are: NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.

" } }, - "documentation":"

Represents the input of a Scan operation.

" + "documentation":"

Represents a request to perform an UpdateItem operation.

" }, - "ScanOutput":{ + "UpdateContinuousBackupsInput":{ "type":"structure", + "required":[ + "TableName", + "PointInTimeRecoverySpecification" + ], "members":{ - "Items":{ - "shape":"ItemList", - "documentation":"

An array of item attributes that match the scan criteria. Each element in this array consists of an attribute name and the value for that attribute.

" - }, - "Count":{ - "shape":"Integer", - "documentation":"

The number of items in the response.

If you set ScanFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

If you did not use a filter in the request, then Count is the same as ScannedCount.

" - }, - "ScannedCount":{ - "shape":"Integer", - "documentation":"

The number of items evaluated, before any ScanFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Scan operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

If you did not use a filter in the request, then ScannedCount is the same as Count.

" - }, - "LastEvaluatedKey":{ - "shape":"Key", - "documentation":"

The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedKey is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

" + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"} - }, - "documentation":"

Represents the output of a Scan operation.

" - }, - "ScanSegment":{ - "type":"integer", - "max":999999, - "min":0 - }, - "ScanTotalSegments":{ - "type":"integer", - "max":1000000, - "min":1 - }, - "SecondaryIndexesCapacityMap":{ - "type":"map", - "key":{"shape":"IndexName"}, - "value":{"shape":"Capacity"} - }, - "Select":{ - "type":"string", - "enum":[ - "ALL_ATTRIBUTES", - "ALL_PROJECTED_ATTRIBUTES", - "SPECIFIC_ATTRIBUTES", - "COUNT" - ] - }, - "StreamArn":{ - "type":"string", - "max":1024, - "min":37 + "PointInTimeRecoverySpecification":{ + "shape":"PointInTimeRecoverySpecification", + "documentation":"

Represents the settings used to enable point in time recovery.

" + } + } }, - "StreamEnabled":{"type":"boolean"}, - "StreamSpecification":{ + "UpdateContinuousBackupsOutput":{ "type":"structure", "members":{ - "StreamEnabled":{ - "shape":"StreamEnabled", - "documentation":"

Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

" - }, - "StreamViewType":{ - "shape":"StreamViewType", - "documentation":"

The DynamoDB Streams settings for the table. These settings consist of:

  • StreamEnabled - Indicates whether DynamoDB Streams is enabled (true) or disabled (false) on the table.

  • StreamViewType - When an item in the table is modified, StreamViewType determines what information is written to the stream for this table. Valid values for StreamViewType are:

    • KEYS_ONLY - Only the key attributes of the modified item are written to the stream.

    • NEW_IMAGE - The entire item, as it appears after it was modified, is written to the stream.

    • OLD_IMAGE - The entire item, as it appeared before it was modified, is written to the stream.

    • NEW_AND_OLD_IMAGES - Both the new and the old item images of the item are written to the stream.

" + "ContinuousBackupsDescription":{ + "shape":"ContinuousBackupsDescription", + "documentation":"

Represents the continuous backups and point in time recovery settings on the table.

" } - }, - "documentation":"

Represents the DynamoDB Streams configuration for a table in DynamoDB.

" - }, - "StreamViewType":{ - "type":"string", - "enum":[ - "NEW_IMAGE", - "OLD_IMAGE", - "NEW_AND_OLD_IMAGES", - "KEYS_ONLY" - ] - }, - "String":{"type":"string"}, - "StringAttributeValue":{"type":"string"}, - "StringSetAttributeValue":{ - "type":"list", - "member":{"shape":"StringAttributeValue"} + } }, - "TableDescription":{ + "UpdateContributorInsightsInput":{ "type":"structure", + "required":[ + "TableName", + "ContributorInsightsAction" + ], "members":{ - "AttributeDefinitions":{ - "shape":"AttributeDefinitions", - "documentation":"

An array of AttributeDefinition objects. Each of these objects describes one attribute in the table and index key schema.

Each AttributeDefinition object in this array is composed of:

  • AttributeName - The name of the attribute.

  • AttributeType - The data type for the attribute.

" - }, "TableName":{ "shape":"TableName", "documentation":"

The name of the table.

" }, - "KeySchema":{ - "shape":"KeySchema", - "documentation":"

The primary key structure for the table. Each KeySchemaElement consists of:

  • AttributeName - The name of the attribute.

  • KeyType - The role of the attribute:

    • HASH - partition key

    • RANGE - sort key

    The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB' usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

    The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide.

" - }, - "TableStatus":{ - "shape":"TableStatus", - "documentation":"

The current state of the table:

  • CREATING - The table is being created.

  • UPDATING - The table is being updated.

  • DELETING - The table is being deleted.

  • ACTIVE - The table is ready for use.

" - }, - "CreationDateTime":{ - "shape":"Date", - "documentation":"

The date and time when the table was created, in UNIX epoch time format.

" - }, - "ProvisionedThroughput":{ - "shape":"ProvisionedThroughputDescription", - "documentation":"

The provisioned throughput settings for the table, consisting of read and write capacity units, along with data about increases and decreases.

" - }, - "TableSizeBytes":{ - "shape":"Long", - "documentation":"

The total size of the specified table, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "ItemCount":{ - "shape":"Long", - "documentation":"

The number of items in the specified table. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

" - }, - "TableArn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the table.

" - }, - "LocalSecondaryIndexes":{ - "shape":"LocalSecondaryIndexDescriptionList", - "documentation":"

Represents one or more local secondary indexes on the table. Each index is scoped to a given partition key value. Tables with one or more local secondary indexes are subject to an item collection size limit, where the amount of data within a given item collection cannot exceed 10 GB. Each element is composed of:

  • IndexName - The name of the local secondary index.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • IndexSizeBytes - Represents the total size of the index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • ItemCount - Represents the number of items in the index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

If the table is in the DELETING state, no information about indexes will be returned.

" - }, - "GlobalSecondaryIndexes":{ - "shape":"GlobalSecondaryIndexDescriptionList", - "documentation":"

The global secondary indexes, if any, on the table. Each index is scoped to a given partition key value. Each element is composed of:

  • Backfilling - If true, then the index is currently in the backfilling phase. Backfilling occurs only when a new global secondary index is added to the table; it is the process by which DynamoDB populates the new index with data from the table. (This attribute does not appear for indexes that were created during a CreateTable operation.)

  • IndexName - The name of the global secondary index.

  • IndexSizeBytes - The total size of the global secondary index, in bytes. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • IndexStatus - The current status of the global secondary index:

    • CREATING - The index is being created.

    • UPDATING - The index is being updated.

    • DELETING - The index is being deleted.

    • ACTIVE - The index is ready for use.

  • ItemCount - The number of items in the global secondary index. DynamoDB updates this value approximately every six hours. Recent changes might not be reflected in this value.

  • KeySchema - Specifies the complete index key schema. The attribute names in the key schema must be between 1 and 255 characters (inclusive). The key schema must begin with the same partition key as the table.

  • Projection - Specifies attributes that are copied (projected) from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. Each attribute specification is composed of:

    • ProjectionType - One of the following:

      • KEYS_ONLY - Only the index and primary keys are projected into the index.

      • INCLUDE - Only the specified table attributes are projected into the index. The list of projected attributes are in NonKeyAttributes.

      • ALL - All of the table attributes are projected into the index.

    • NonKeyAttributes - A list of one or more non-key attribute names that are projected into the secondary index. The total count of attributes provided in NonKeyAttributes, summed across all of the secondary indexes, must not exceed 20. If you project the same attribute into two different indexes, this counts as two distinct attributes when determining the total.

  • ProvisionedThroughput - The provisioned throughput settings for the global secondary index, consisting of read and write capacity units, along with data about increases and decreases.

If the table is in the DELETING state, no information about indexes will be returned.

" + "IndexName":{ + "shape":"IndexName", + "documentation":"

The global secondary index name, if applicable.

" }, - "StreamSpecification":{ - "shape":"StreamSpecification", - "documentation":"

The current DynamoDB Streams configuration for the table.

" + "ContributorInsightsAction":{ + "shape":"ContributorInsightsAction", + "documentation":"

Represents the contributor insights action.

" + } + } + }, + "UpdateContributorInsightsOutput":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table.

" }, - "LatestStreamLabel":{ - "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name.

  • the StreamLabel.

" + "IndexName":{ + "shape":"IndexName", + "documentation":"

The name of the global secondary index, if applicable.

" }, - "LatestStreamArn":{ - "shape":"StreamArn", - "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the latest stream for this table.

" + "ContributorInsightsStatus":{ + "shape":"ContributorInsightsStatus", + "documentation":"

The status of contributor insights

" } - }, - "documentation":"

Represents the properties of a table.

" - }, - "TableName":{ - "type":"string", - "max":255, - "min":3, - "pattern":"[a-zA-Z0-9_.-]+" - }, - "TableNameList":{ - "type":"list", - "member":{"shape":"TableName"} - }, - "TableStatus":{ - "type":"string", - "enum":[ - "CREATING", - "UPDATING", - "DELETING", - "ACTIVE" - ] + } }, "UpdateExpression":{"type":"string"}, "UpdateGlobalSecondaryIndexAction":{ @@ -1753,10 +4749,82 @@ "shape":"IndexName", "documentation":"

The name of the global secondary index to be updated.

" }, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"} + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

Represents the provisioned throughput settings for the specified global secondary index.

For current minimum and maximum provisioned throughput values, see Limits in the Amazon DynamoDB Developer Guide.

" + } }, "documentation":"

Represents the new provisioned throughput settings to be applied to a global secondary index.

" }, + "UpdateGlobalTableInput":{ + "type":"structure", + "required":[ + "GlobalTableName", + "ReplicaUpdates" + ], + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The global table name.

" + }, + "ReplicaUpdates":{ + "shape":"ReplicaUpdateList", + "documentation":"

A list of Regions that should be added or removed from the global table.

" + } + } + }, + "UpdateGlobalTableOutput":{ + "type":"structure", + "members":{ + "GlobalTableDescription":{ + "shape":"GlobalTableDescription", + "documentation":"

Contains the details of the global table.

" + } + } + }, + "UpdateGlobalTableSettingsInput":{ + "type":"structure", + "required":["GlobalTableName"], + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The name of the global table

" + }, + "GlobalTableBillingMode":{ + "shape":"BillingMode", + "documentation":"

The billing mode of the global table. If GlobalTableBillingMode is not specified, the global table defaults to PROVISIONED capacity billing mode.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

" + }, + "GlobalTableProvisionedWriteCapacityUnits":{ + "shape":"PositiveLongObject", + "documentation":"

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

" + }, + "GlobalTableProvisionedWriteCapacityAutoScalingSettingsUpdate":{ + "shape":"AutoScalingSettingsUpdate", + "documentation":"

Auto scaling settings for managing provisioned write capacity for the global table.

" + }, + "GlobalTableGlobalSecondaryIndexSettingsUpdate":{ + "shape":"GlobalTableGlobalSecondaryIndexSettingsUpdateList", + "documentation":"

Represents the settings of a global secondary index for a global table that will be modified.

" + }, + "ReplicaSettingsUpdate":{ + "shape":"ReplicaSettingsUpdateList", + "documentation":"

Represents the settings for a global table in a Region that will be modified.

" + } + } + }, + "UpdateGlobalTableSettingsOutput":{ + "type":"structure", + "members":{ + "GlobalTableName":{ + "shape":"TableName", + "documentation":"

The name of the global table.

" + }, + "ReplicaSettings":{ + "shape":"ReplicaSettingsDescriptionList", + "documentation":"

The Region-specific settings for the global table.

" + } + } + }, "UpdateItemInput":{ "type":"structure", "required":[ @@ -1774,19 +4842,19 @@ }, "AttributeUpdates":{ "shape":"AttributeUpdates", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use UpdateExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

This parameter can be used for modifying top-level attributes; however, it does not support individual list or map elements.

The names of attributes to be modified, the action to perform on each, and the new value for each. If you are updating an attribute that is an index key attribute for any indexes on that table, the attribute type must match the index key type defined in the AttributesDefinition of the table description. You can use UpdateItem to update any non-key attributes.

Attribute values cannot be null. String and Binary type attributes must have lengths greater than zero. Set type attributes must not be empty. Requests with empty values will be rejected with a ValidationException exception.

Each AttributeUpdates element consists of an attribute name to modify, along with the following:

  • Value - The new value, if applicable, for this attribute.

  • Action - A value that specifies how to perform the update. This action is only valid for an existing attribute whose data type is Number or is a set; do not use ADD for other data types.

    If an item with the specified primary key is found in the table, the following values perform the following actions:

    • PUT - Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value.

    • DELETE - Removes the attribute and its value, if no value is specified for DELETE. The data type of the specified value must match the existing value's data type.

      If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specifies [a,c], then the final attribute value is [b]. Specifying an empty set is an error.

    • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

      • If the existing attribute is a number, and if Value is also a number, then Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

        If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

        Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute, with a value of 3.

      • If the existing data type is a set, and if Value is also a set, then Value is appended to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

        Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, Value must also be a set of strings.

    If no item with the specified key is found in the table, the following values perform the following actions:

    • PUT - Causes DynamoDB to create a new item with the specified primary key, and then adds the attribute.

    • DELETE - Nothing happens, because attributes cannot be deleted from a nonexistent item. The operation succeeds, but DynamoDB does not create a new item.

    • ADD - Causes DynamoDB to create an item with the supplied primary key and number (or set of numbers) for the attribute value. The only data types allowed are Number and Number Set.

If you provide any attributes that are part of an index key, then the data types for those attributes must match those of the schema in the table's attribute definition.

" + "documentation":"

This is a legacy parameter. Use UpdateExpression instead. For more information, see AttributeUpdates in the Amazon DynamoDB Developer Guide.

" }, "Expected":{ "shape":"ExpectedAttributeMap", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A map of attribute/condition pairs. Expected provides a conditional block for the UpdateItem operation.

Each element of Expected consists of an attribute name, a comparison operator, and one or more values. DynamoDB compares the attribute with the value(s) you supplied, using the comparison operator. For each Expected element, the result of the evaluation is either true or false.

If you specify more than one element in the Expected map, then by default all of the conditions must evaluate to true. In other words, the conditions are ANDed together. (You can use the ConditionalOperator parameter to OR the conditions instead. If you do this, then at least one of the conditions must evaluate to true, rather than all of them.)

If the Expected map evaluates to true, then the conditional operation succeeds; otherwise, it fails.

Expected contains the following:

  • AttributeValueList - One or more values to evaluate against the supplied attribute. The number of values in the list depends on the ComparisonOperator being used.

    For type Number, value comparisons are numeric.

    String value comparisons for greater than, equals, or less than are based on ASCII character code values. For example, a is greater than A, and a is greater than B. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    For type Binary, DynamoDB treats each byte of the binary data as unsigned when it compares binary values.

  • ComparisonOperator - A comparator for evaluating attributes in the AttributeValueList. When performing the comparison, DynamoDB uses strongly consistent reads.

    The following comparison operators are available:

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    The following are descriptions of each comparison operator.

    • EQ : Equal. EQ is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue element of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NE : Not equal. NE is supported for all datatypes, including lists and maps.

      AttributeValueList can contain only one AttributeValue of type String, Number, Binary, String Set, Number Set, or Binary Set. If an item contains an AttributeValue of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not equal {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LE : Less than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • LT : Less than.

      AttributeValueList can contain only one AttributeValue of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GE : Greater than or equal.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • GT : Greater than.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not equal {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}.

    • NOT_NULL : The attribute exists. NOT_NULL is supported for all datatypes, including lists and maps.

      This operator tests for the existence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NOT_NULL, the result is a Boolean true. This result is because the attribute \"a\" exists; its data type is not relevant to the NOT_NULL comparison operator.

    • NULL : The attribute does not exist. NULL is supported for all datatypes, including lists and maps.

      This operator tests for the nonexistence of an attribute, not its data type. If the data type of attribute \"a\" is null, and you evaluate it using NULL, the result is a Boolean false. This is because the attribute \"a\" exists; its data type is not relevant to the NULL comparison operator.

    • CONTAINS : Checks for a subsequence, or value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is of type String, then the operator checks for a substring match. If the target attribute of the comparison is of type Binary, then the operator looks for a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it finds an exact match with any member of the set.

      CONTAINS is supported for lists: When evaluating \"a CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • NOT_CONTAINS : Checks for absence of a subsequence, or absence of a value in a set.

      AttributeValueList can contain only one AttributeValue element of type String, Number, or Binary (not a set type). If the target attribute of the comparison is a String, then the operator checks for the absence of a substring match. If the target attribute of the comparison is Binary, then the operator checks for the absence of a subsequence of the target that matches the input. If the target attribute of the comparison is a set (\"SS\", \"NS\", or \"BS\"), then the operator evaluates to true if it does not find an exact match with any member of the set.

      NOT_CONTAINS is supported for lists: When evaluating \"a NOT CONTAINS b\", \"a\" can be a list; however, \"b\" cannot be a set, a map, or a list.

    • BEGINS_WITH : Checks for a prefix.

      AttributeValueList can contain only one AttributeValue of type String or Binary (not a Number or a set type). The target attribute of the comparison must be of type String or Binary (not a Number or a set type).

    • IN : Checks for matching elements within two sets.

      AttributeValueList can contain one or more AttributeValue elements of type String, Number, or Binary (not a set type). These attributes are compared against an existing set type attribute of an item. If any elements of the input set are present in the item attribute, the expression evaluates to true.

    • BETWEEN : Greater than or equal to the first value, and less than or equal to the second value.

      AttributeValueList must contain two AttributeValue elements of the same type, either String, Number, or Binary (not a set type). A target attribute matches if the target value is greater than, or equal to, the first element and less than, or equal to, the second element. If an item contains an AttributeValue element of a different type than the one provided in the request, the value does not match. For example, {\"S\":\"6\"} does not compare to {\"N\":\"6\"}. Also, {\"N\":\"6\"} does not compare to {\"NS\":[\"6\", \"2\", \"1\"]}

For usage examples of AttributeValueList and ComparisonOperator, see Legacy Conditional Parameters in the Amazon DynamoDB Developer Guide.

For backward compatibility with previous DynamoDB releases, the following parameters can be used instead of AttributeValueList and ComparisonOperator:

  • Value - A value for DynamoDB to compare with an attribute.

  • Exists - A Boolean value that causes DynamoDB to evaluate the value before attempting the conditional operation:

    • If Exists is true, DynamoDB will check to see if that attribute value already exists in the table. If it is found, then the condition evaluates to true; otherwise the condition evaluate to false.

    • If Exists is false, DynamoDB assumes that the attribute value does not exist in the table. If in fact the value does not exist, then the assumption is valid and the condition evaluates to true. If the value is found, despite the assumption that it does not exist, the condition evaluates to false.

    Note that the default value for Exists is true.

The Value and Exists parameters are incompatible with AttributeValueList and ComparisonOperator. Note that if you use both sets of parameters at once, DynamoDB will return a ValidationException exception.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see Expected in the Amazon DynamoDB Developer Guide.

" }, "ConditionalOperator":{ "shape":"ConditionalOperator", - "documentation":"

This is a legacy parameter, for backward compatibility. New applications should use ConditionExpression instead. Do not combine legacy parameters and expression parameters in a single API call; otherwise, DynamoDB will return a ValidationException exception.

A logical operator to apply to the conditions in the Expected map:

  • AND - If all of the conditions evaluate to true, then the entire map evaluates to true.

  • OR - If at least one of the conditions evaluate to true, then the entire map evaluates to true.

If you omit ConditionalOperator, then AND is the default.

The operation will succeed only if the entire map evaluates to true.

This parameter does not support attributes of type List or Map.

" + "documentation":"

This is a legacy parameter. Use ConditionExpression instead. For more information, see ConditionalOperator in the Amazon DynamoDB Developer Guide.

" }, "ReturnValues":{ "shape":"ReturnValue", - "documentation":"

Use ReturnValues if you want to get the item attributes as they appeared either before or after they were updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - If UpdateItem overwrote an attribute name-value pair, then the content of the old item is returned.

  • UPDATED_OLD - The old versions of only the updated attributes are returned.

  • ALL_NEW - All of the attributes of the new version of the item are returned.

  • UPDATED_NEW - The new versions of only the updated attributes are returned.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No Read Capacity Units are consumed.

Values returned are strongly consistent

" + "documentation":"

Use ReturnValues if you want to get the item attributes as they appear before or after they are updated. For UpdateItem, the valid values are:

  • NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.)

  • ALL_OLD - Returns all of the attributes of the item, as they appeared before the UpdateItem operation.

  • UPDATED_OLD - Returns only the updated attributes, as they appeared before the UpdateItem operation.

  • ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.

  • UPDATED_NEW - Returns only the updated attributes, as they appear after the UpdateItem operation.

There is no additional cost associated with requesting a return value aside from the small network and processing overhead of receiving a larger response. No read capacity units are consumed.

The values returned are strongly consistent.

" }, "ReturnConsumedCapacity":{"shape":"ReturnConsumedCapacity"}, "ReturnItemCollectionMetrics":{ @@ -1795,34 +4863,63 @@ }, "UpdateExpression":{ "shape":"UpdateExpression", - "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new value(s) for them.

The following action values are available for UpdateExpression.

  • SET - Adds one or more attributes and values to an item. If any of these attribute already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val

    SET supports the following functions:

    • if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.

    • list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.

    These function names are case-sensitive.

  • REMOVE - Removes one or more attributes from an item.

  • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings.

    The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes.

  • DELETE - Deletes an element from a set.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specifies [a,c], then the final attribute value is [b]. Specifying an empty set is an error.

    The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes.

You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

UpdateExpression replaces the legacy AttributeUpdates parameter.

" + "documentation":"

An expression that defines one or more attributes to be updated, the action to be performed on them, and new values for them.

The following action values are available for UpdateExpression.

  • SET - Adds one or more attributes and values to an item. If any of these attributes already exist, they are replaced by the new values. You can also use SET to add or subtract from an attribute that is of type Number. For example: SET myNum = myNum + :val

    SET supports the following functions:

    • if_not_exists (path, operand) - if the item does not contain an attribute at the specified path, then if_not_exists evaluates to operand; otherwise, it evaluates to path. You can use this function to avoid overwriting an attribute that may already be present in the item.

    • list_append (operand, operand) - evaluates to a list with a new element added to it. You can append the new element to the start or the end of the list by reversing the order of the operands.

    These function names are case-sensitive.

  • REMOVE - Removes one or more attributes from an item.

  • ADD - Adds the specified value to the item, if the attribute does not already exist. If the attribute does exist, then the behavior of ADD depends on the data type of the attribute:

    • If the existing attribute is a number, and if Value is also a number, then Value is mathematically added to the existing attribute. If Value is a negative number, then it is subtracted from the existing attribute.

      If you use ADD to increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.

      Similarly, if you use ADD for an existing item to increment or decrement an attribute value that doesn't exist before the update, DynamoDB uses 0 as the initial value. For example, suppose that the item you want to update doesn't have an attribute named itemcount, but you decide to ADD the number 3 to this attribute anyway. DynamoDB will create the itemcount attribute, set its initial value to 0, and finally add 3 to it. The result will be a new itemcount attribute in the item, with a value of 3.

    • If the existing data type is a set and if Value is also a set, then Value is added to the existing set. For example, if the attribute value is the set [1,2], and the ADD action specified [3], then the final attribute value is [1,2,3]. An error occurs if an ADD action is specified for a set attribute and the attribute type specified does not match the existing set type.

      Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the Value must also be a set of strings.

    The ADD action only supports Number and set data types. In addition, ADD can only be used on top-level attributes, not nested attributes.

  • DELETE - Deletes an element from a set.

    If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set [a,b,c] and the DELETE action specifies [a,c], then the final attribute value is [b]. Specifying an empty set is an error.

    The DELETE action only supports set data types. In addition, DELETE can only be used on top-level attributes, not nested attributes.

You can have many actions in a single expression, such as the following: SET a=:value1, b=:value2 DELETE :value3, :value4, :value5

For more information on update expressions, see Modifying Items and Attributes in the Amazon DynamoDB Developer Guide.

" }, "ConditionExpression":{ "shape":"ConditionExpression", - "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | &#x3C;&#x3E; | &#x3C; | &#x3E; | &#x3C;= | &#x3E;= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information on condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

ConditionExpression replaces the legacy ConditionalOperator and Expected parameters.

" + "documentation":"

A condition that must be satisfied in order for a conditional update to succeed.

An expression can contain any of the following:

  • Functions: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size

    These function names are case-sensitive.

  • Comparison operators: = | <> | < | > | <= | >= | BETWEEN | IN

  • Logical operators: AND | OR | NOT

For more information about condition expressions, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeNames":{ "shape":"ExpressionAttributeNameMap", - "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide). To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information on expression attribute names, see Accessing Item Attributes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more substitution tokens for attribute names in an expression. The following are some use cases for using ExpressionAttributeNames:

  • To access an attribute whose name conflicts with a DynamoDB reserved word.

  • To create a placeholder for repeating occurrences of an attribute name in an expression.

  • To prevent special characters in an attribute name from being misinterpreted in an expression.

Use the # character in an expression to dereference an attribute name. For example, consider the following attribute name:

  • Percentile

The name of this attribute conflicts with a reserved word, so it cannot be used directly in an expression. (For the complete list of reserved words, see Reserved Words in the Amazon DynamoDB Developer Guide.) To work around this, you could specify the following for ExpressionAttributeNames:

  • {\"#P\":\"Percentile\"}

You could then use this substitution in an expression, as in this example:

  • #P = :val

Tokens that begin with the : character are expression attribute values, which are placeholders for the actual value at runtime.

For more information about expression attribute names, see Specifying Item Attributes in the Amazon DynamoDB Developer Guide.

" }, "ExpressionAttributeValues":{ "shape":"ExpressionAttributeValueMap", - "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Specifying Conditions in the Amazon DynamoDB Developer Guide.

" + "documentation":"

One or more values that can be substituted in an expression.

Use the : (colon) character in an expression to dereference an attribute value. For example, suppose that you wanted to check whether the value of the ProductStatus attribute was one of the following:

Available | Backordered | Discontinued

You would first need to specify ExpressionAttributeValues as follows:

{ \":avail\":{\"S\":\"Available\"}, \":back\":{\"S\":\"Backordered\"}, \":disc\":{\"S\":\"Discontinued\"} }

You could then use these values in an expression, such as this:

ProductStatus IN (:avail, :back, :disc)

For more information on expression attribute values, see Condition Expressions in the Amazon DynamoDB Developer Guide.

" } }, - "documentation":"

Represents the input of an UpdateItem operation.

" + "documentation":"

Represents the input of an UpdateItem operation.

" }, "UpdateItemOutput":{ "type":"structure", "members":{ "Attributes":{ "shape":"AttributeMap", - "documentation":"

A map of attribute values as they appeared before the UpdateItem operation. This map only appears if ReturnValues was specified as something other than NONE in the request. Each element represents one attribute.

" + "documentation":"

A map of attribute values as they appear before or after the UpdateItem operation, as determined by the ReturnValues parameter.

The Attributes map is only present if ReturnValues was specified as something other than NONE in the request. Each element represents one attribute.

" + }, + "ConsumedCapacity":{ + "shape":"ConsumedCapacity", + "documentation":"

The capacity units consumed by the UpdateItem operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

" + }, + "ItemCollectionMetrics":{ + "shape":"ItemCollectionMetrics", + "documentation":"

Information about item collections, if any, that were affected by the UpdateItem operation. ItemCollectionMetrics is only returned if the ReturnItemCollectionMetrics parameter was specified. If the table does not have any local secondary indexes, this information is not returned in the response.

Each ItemCollectionMetrics element consists of:

  • ItemCollectionKey - The partition key value of the item collection. This is the same as the partition key value of the item itself.

  • SizeEstimateRangeGB - An estimate of item collection size, in gigabytes. This value is a two-element array containing a lower bound and an upper bound for the estimate. The estimate includes the size of all the items in the table, plus the size of all attributes projected into all of the local secondary indexes on that table. Use this estimate to measure whether a local secondary index is approaching its size limit.

    The estimate is subject to change over time; therefore, do not rely on the precision or accuracy of the estimate.

" + } + }, + "documentation":"

Represents the output of an UpdateItem operation.

" + }, + "UpdateReplicationGroupMemberAction":{ + "type":"structure", + "required":["RegionName"], + "members":{ + "RegionName":{ + "shape":"RegionName", + "documentation":"

The Region where the replica exists.

" + }, + "KMSMasterKeyId":{ + "shape":"KMSMasterKeyId", + "documentation":"

The AWS KMS customer master key (CMK) of the replica that should be used for AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb.

" }, - "ConsumedCapacity":{"shape":"ConsumedCapacity"}, - "ItemCollectionMetrics":{"shape":"ItemCollectionMetrics"} + "ProvisionedThroughputOverride":{ + "shape":"ProvisionedThroughputOverride", + "documentation":"

Replica-specific provisioned throughput. If not specified, uses the source table's provisioned throughput settings.

" + }, + "GlobalSecondaryIndexes":{ + "shape":"ReplicaGlobalSecondaryIndexList", + "documentation":"

Replica-specific global secondary index settings.

" + } }, - "documentation":"

Represents the output of an UpdateItem operation.

" + "documentation":"

Represents a replica to be modified.

" }, "UpdateTableInput":{ "type":"structure", @@ -1830,44 +4927,117 @@ "members":{ "AttributeDefinitions":{ "shape":"AttributeDefinitions", - "documentation":"

An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

" + "documentation":"

An array of attributes that describe the key schema for the table and indexes. If you are adding a new global secondary index to the table, AttributeDefinitions must include the key element(s) of the new index.

" }, "TableName":{ "shape":"TableName", "documentation":"

The name of the table to be updated.

" }, - "ProvisionedThroughput":{"shape":"ProvisionedThroughput"}, + "BillingMode":{ + "shape":"BillingMode", + "documentation":"

Controls how you are charged for read and write throughput and how you manage capacity. When switching from pay-per-request to provisioned capacity, initial provisioned capacity values must be set. The initial provisioned capacity values are estimated based on the consumed read and write capacity of your table and global secondary indexes over the past 30 minutes.

  • PROVISIONED - We recommend using PROVISIONED for predictable workloads. PROVISIONED sets the billing mode to Provisioned Mode.

  • PAY_PER_REQUEST - We recommend using PAY_PER_REQUEST for unpredictable workloads. PAY_PER_REQUEST sets the billing mode to On-Demand Mode.

" + }, + "ProvisionedThroughput":{ + "shape":"ProvisionedThroughput", + "documentation":"

The new provisioned throughput settings for the specified table or index.

" + }, "GlobalSecondaryIndexUpdates":{ "shape":"GlobalSecondaryIndexUpdateList", - "documentation":"

An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

  • Create - add a new global secondary index to the table.

  • Update - modify the provisioned throughput settings of an existing global secondary index.

  • Delete - remove a global secondary index from the table.

For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

" + "documentation":"

An array of one or more global secondary indexes for the table. For each index in the array, you can request one action:

  • Create - add a new global secondary index to the table.

  • Update - modify the provisioned throughput settings of an existing global secondary index.

  • Delete - remove a global secondary index from the table.

You can create or delete only one global secondary index per UpdateTable operation.

For more information, see Managing Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

" }, "StreamSpecification":{ "shape":"StreamSpecification", - "documentation":"

Represents the DynamoDB Streams configuration for the table.

You will receive a ResourceInUseException if you attempt to enable a stream on a table that already has a stream, or if you attempt to disable a stream on a table which does not have a stream.

" + "documentation":"

Represents the DynamoDB Streams configuration for the table.

You receive a ResourceInUseException if you try to enable a stream on a table that already has a stream, or if you try to disable a stream on a table that doesn't have a stream.

" + }, + "SSESpecification":{ + "shape":"SSESpecification", + "documentation":"

The new server-side encryption settings for the specified table.

" + }, + "ReplicaUpdates":{ + "shape":"ReplicationGroupUpdateList", + "documentation":"

A list of replica update actions (create, delete, or update) for the table.

This property only applies to Version 2019.11.21 of global tables.

" } }, - "documentation":"

Represents the input of an UpdateTable operation.

" + "documentation":"

Represents the input of an UpdateTable operation.

" }, "UpdateTableOutput":{ "type":"structure", "members":{ - "TableDescription":{"shape":"TableDescription"} + "TableDescription":{ + "shape":"TableDescription", + "documentation":"

Represents the properties of the table.

" + } + }, + "documentation":"

Represents the output of an UpdateTable operation.

" + }, + "UpdateTableReplicaAutoScalingInput":{ + "type":"structure", + "required":["TableName"], + "members":{ + "GlobalSecondaryIndexUpdates":{ + "shape":"GlobalSecondaryIndexAutoScalingUpdateList", + "documentation":"

Represents the auto scaling settings of the global secondary indexes of the replica to be updated.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the global table to be updated.

" + }, + "ProvisionedWriteCapacityAutoScalingUpdate":{"shape":"AutoScalingSettingsUpdate"}, + "ReplicaUpdates":{ + "shape":"ReplicaAutoScalingUpdateList", + "documentation":"

Represents the auto scaling settings of replicas of the table that will be modified.

" + } + } + }, + "UpdateTableReplicaAutoScalingOutput":{ + "type":"structure", + "members":{ + "TableAutoScalingDescription":{ + "shape":"TableAutoScalingDescription", + "documentation":"

Returns information about the auto scaling settings of a table with replicas.

" + } + } + }, + "UpdateTimeToLiveInput":{ + "type":"structure", + "required":[ + "TableName", + "TimeToLiveSpecification" + ], + "members":{ + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table to be configured.

" + }, + "TimeToLiveSpecification":{ + "shape":"TimeToLiveSpecification", + "documentation":"

Represents the settings used to enable or disable Time to Live for the specified table.

" + } }, - "documentation":"

Represents the output of an UpdateTable operation.

" + "documentation":"

Represents the input of an UpdateTimeToLive operation.

" + }, + "UpdateTimeToLiveOutput":{ + "type":"structure", + "members":{ + "TimeToLiveSpecification":{ + "shape":"TimeToLiveSpecification", + "documentation":"

Represents the output of an UpdateTimeToLive operation.

" + } + } }, "WriteRequest":{ "type":"structure", "members":{ "PutRequest":{ "shape":"PutRequest", - "documentation":"

A request to perform a PutItem operation.

" + "documentation":"

A request to perform a PutItem operation.

" }, "DeleteRequest":{ "shape":"DeleteRequest", - "documentation":"

A request to perform a DeleteItem operation.

" + "documentation":"

A request to perform a DeleteItem operation.

" } }, - "documentation":"

Represents an operation to perform - either DeleteItem or PutItem. You can only request one of these operations, not both, in a single WriteRequest. If you do need to perform both of these operations, you will need to provide two separate WriteRequest objects.

" + "documentation":"

Represents an operation to perform - either DeleteItem or PutItem. You can only request one of these operations, not both, in a single WriteRequest. If you do need to perform both of these operations, you need to provide two separate WriteRequest objects.

" }, "WriteRequests":{ "type":"list", @@ -1876,5 +5046,5 @@ "min":1 } }, - "documentation":"Amazon DynamoDB

This is the Amazon DynamoDB API Reference. This guide provides descriptions of the low-level DynamoDB API.

This guide is intended for use with the following DynamoDB documentation:

Instead of making the requests to the low-level DynamoDB API directly from your application, we recommend that you use the AWS Software Development Kits (SDKs). The easy-to-use libraries in the AWS SDKs make it unnecessary to call the low-level DynamoDB API directly from your application. The libraries take care of request authentication, serialization, and connection management. For more information, see Using the AWS SDKs with DynamoDB in the Amazon DynamoDB Developer Guide.

If you decide to code against the low-level DynamoDB API directly, you will need to write the necessary code to authenticate your requests. For more information on signing your requests, see Using the DynamoDB API in the Amazon DynamoDB Developer Guide.

The following are short descriptions of each low-level API action, organized by function.

Managing Tables

  • CreateTable - Creates a table with user-specified provisioned throughput settings. You must define a primary key for the table - either a simple primary key (partition key), or a composite primary key (partition key and sort key). Optionally, you can create one or more secondary indexes, which provide fast data access using non-key attributes.

  • DescribeTable - Returns metadata for a table, such as table size, status, and index information.

  • UpdateTable - Modifies the provisioned throughput settings for a table. Optionally, you can modify the provisioned throughput settings for global secondary indexes on the table.

  • ListTables - Returns a list of all tables associated with the current AWS account and endpoint.

  • DeleteTable - Deletes a table and all of its indexes.

For conceptual information about managing tables, see Working with Tables in the Amazon DynamoDB Developer Guide.

Reading Data

  • GetItem - Returns a set of attributes for the item that has a given primary key. By default, GetItem performs an eventually consistent read; however, applications can request a strongly consistent read instead.

  • BatchGetItem - Performs multiple GetItem requests for data items using their primary keys, from one table or multiple tables. The response from BatchGetItem has a size limit of 16 MB and returns a maximum of 100 items. Both eventually consistent and strongly consistent reads can be used.

  • Query - Returns one or more items from a table or a secondary index. You must provide a specific value for the partition key. You can narrow the scope of the query using comparison operators against a sort key value, or on the index key. Query supports either eventual or strong consistency. A single response has a size limit of 1 MB.

  • Scan - Reads every item in a table; the result set is eventually consistent. You can limit the number of items returned by filtering the data attributes, using conditional expressions. Scan can be used to enable ad-hoc querying of a table against non-key attributes; however, since this is a full table scan without using an index, Scan should not be used for any application query use case that requires predictable performance.

For conceptual information about reading data, see Working with Items and Query and Scan Operations in the Amazon DynamoDB Developer Guide.

Modifying Data

  • PutItem - Creates a new item, or replaces an existing item with a new item (including all the attributes). By default, if an item in the table already exists with the same primary key, the new item completely replaces the existing item. You can use conditional operators to replace an item only if its attribute values match certain conditions, or to insert a new item only if that item doesn't already exist.

  • UpdateItem - Modifies the attributes of an existing item. You can also use conditional operators to perform an update only if the item's attribute values match certain conditions.

  • DeleteItem - Deletes an item in a table by primary key. You can use conditional operators to perform a delete an item only if the item's attribute values match certain conditions.

  • BatchWriteItem - Performs multiple PutItem and DeleteItem requests across multiple tables in a single request. A failure of any request(s) in the batch will not cause the entire BatchWriteItem operation to fail. Supports batches of up to 25 items to put or delete, with a maximum total request size of 16 MB.

For conceptual information about modifying data, see Working with Items and Query and Scan Operations in the Amazon DynamoDB Developer Guide.

" + "documentation":"Amazon DynamoDB

Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. DynamoDB lets you offload the administrative burdens of operating and scaling a distributed database, so that you don't have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.

With DynamoDB, you can create database tables that can store and retrieve any amount of data, and serve any level of request traffic. You can scale up or scale down your tables' throughput capacity without downtime or performance degradation, and use the AWS Management Console to monitor resource utilization and performance metrics.

DynamoDB automatically spreads the data and traffic for your tables over a sufficient number of servers to handle your throughput and storage requirements, while maintaining consistent and fast performance. All of your data is stored on solid state disks (SSDs) and automatically replicated across multiple Availability Zones in an AWS region, providing built-in high availability and data durability.

" } diff -Nru python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/examples-1.json python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/examples-1.json --- python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,212 @@ +{ + "version": "1.0", + "examples": { + "DescribeStream": [ + { + "input": { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252" + }, + "output": { + "StreamDescription": { + "CreationRequestDateTime": "Wed May 20 13:51:10 PDT 2015", + "KeySchema": [ + { + "AttributeName": "ForumName", + "KeyType": "HASH" + }, + { + "AttributeName": "Subject", + "KeyType": "RANGE" + } + ], + "Shards": [ + { + "SequenceNumberRange": { + "EndingSequenceNumber": "20500000000000000910398", + "StartingSequenceNumber": "20500000000000000910398" + }, + "ShardId": "shardId-00000001414562045508-2bac9cd2" + }, + { + "ParentShardId": "shardId-00000001414562045508-2bac9cd2", + "SequenceNumberRange": { + "EndingSequenceNumber": "820400000000000001192334", + "StartingSequenceNumber": "820400000000000001192334" + }, + "ShardId": "shardId-00000001414576573621-f55eea83" + }, + { + "ParentShardId": "shardId-00000001414576573621-f55eea83", + "SequenceNumberRange": { + "EndingSequenceNumber": "1683700000000000001135967", + "StartingSequenceNumber": "1683700000000000001135967" + }, + "ShardId": "shardId-00000001414592258131-674fd923" + }, + { + "ParentShardId": "shardId-00000001414592258131-674fd923", + "SequenceNumberRange": { + "StartingSequenceNumber": "2574600000000000000935255" + }, + "ShardId": "shardId-00000001414608446368-3a1afbaf" + } + ], + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252", + "StreamLabel": "2015-05-20T20:51:10.252", + "StreamStatus": "ENABLED", + "StreamViewType": "NEW_AND_OLD_IMAGES", + "TableName": "Forum" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example describes a stream with a given stream ARN.", + "id": "to-describe-a-stream-with-a-given-stream-arn-1473457835200", + "title": "To describe a stream with a given stream ARN" + } + ], + "GetRecords": [ + { + "input": { + "ShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ... ..." + }, + "output": { + "NextShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAGQBYshYDEe ... ...", + "Records": [ + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480646E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 3" + } + }, + "SequenceNumber": "300000000000000499659", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "e2fd9c34eff2d779b297b26f5fef4206", + "eventName": "INSERT", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + }, + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480527E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 1" + } + }, + "SequenceNumber": "400000000000000499660", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "4b25bd0da9a181a155114127e4837252", + "eventName": "MODIFY", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + }, + { + "awsRegion": "us-west-2", + "dynamodb": { + "ApproximateCreationDateTime": "1.46480646E9", + "Keys": { + "ForumName": { + "S": "DynamoDB" + }, + "Subject": { + "S": "DynamoDB Thread 2" + } + }, + "SequenceNumber": "500000000000000499661", + "SizeBytes": 41, + "StreamViewType": "KEYS_ONLY" + }, + "eventID": "740280c73a3df7842edab3548a1b08ad", + "eventName": "REMOVE", + "eventSource": "aws:dynamodb", + "eventVersion": "1.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves all the stream records from a shard.", + "id": "to-retrieve-all-the-stream-records-from-a-shard-1473707781419", + "title": "To retrieve all the stream records from a shard" + } + ], + "GetShardIterator": [ + { + "input": { + "ShardId": "00000001414576573621-f55eea83", + "ShardIteratorType": "TRIM_HORIZON", + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252" + }, + "output": { + "ShardIterator": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252|1|AAAAAAAAAAEvJp6D+zaQ... ..." + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a shard iterator for the provided stream ARN and shard ID.", + "id": "to-obtain-a-shard-iterator-for-the-provided-stream-arn-and-shard-id-1473459941476", + "title": "To obtain a shard iterator for the provided stream ARN and shard ID" + } + ], + "ListStreams": [ + { + "input": { + }, + "output": { + "Streams": [ + { + "StreamArn": "arn:aws:dynamodb:us-wesst-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252", + "StreamLabel": "2015-05-20T20:51:10.252", + "TableName": "Forum" + }, + { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:50:02.714", + "StreamLabel": "2015-05-20T20:50:02.714", + "TableName": "Forum" + }, + { + "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-19T23:03:50.641", + "StreamLabel": "2015-05-19T23:03:50.641", + "TableName": "Forum" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists all of the stream ARNs.", + "id": "to-list-all-of-the-stream-arns--1473459534285", + "title": "To list all of the stream ARNs " + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/service-2.json python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/service-2.json --- python-botocore-1.4.70/botocore/data/dynamodbstreams/2012-08-10/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/dynamodbstreams/2012-08-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,9 +6,11 @@ "jsonVersion":"1.0", "protocol":"json", "serviceFullName":"Amazon DynamoDB Streams", + "serviceId":"DynamoDB Streams", "signatureVersion":"v4", "signingName":"dynamodb", - "targetPrefix":"DynamoDBStreams_20120810" + "targetPrefix":"DynamoDBStreams_20120810", + "uid":"streams-dynamodb-2012-08-10" }, "operations":{ "DescribeStream":{ @@ -23,7 +25,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.

You can call DescribeStream at a maximum rate of 10 times per second.

Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.

" + "documentation":"

Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.

You can call DescribeStream at a maximum rate of 10 times per second.

Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.

" }, "GetRecords":{ "name":"GetRecords", @@ -69,7 +71,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerError"} ], - "documentation":"

Returns an array of stream ARNs associated with the current account and endpoint. If the TableName parameter is present, then ListStreams will return only the streams ARNs for that table.

You can call ListStreams at a maximum rate of 5 times per second.

" + "documentation":"

Returns an array of stream ARNs associated with the current account and endpoint. If the TableName parameter is present, then ListStreams will return only the streams ARNs for that table.

You can call ListStreams at a maximum rate of 5 times per second.

" } }, "shapes":{ @@ -152,7 +154,7 @@ "documentation":"

The shard ID of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedShardId in the previous operation.

" } }, - "documentation":"

Represents the input of a DescribeStream operation.

" + "documentation":"

Represents the input of a DescribeStream operation.

" }, "DescribeStreamOutput":{ "type":"structure", @@ -162,7 +164,7 @@ "documentation":"

A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.

" } }, - "documentation":"

Represents the output of a DescribeStream operation.

" + "documentation":"

Represents the output of a DescribeStream operation.

" }, "ErrorMessage":{"type":"string"}, "ExpiredIteratorException":{ @@ -173,7 +175,7 @@ "documentation":"

The provided iterator exceeds the maximum age allowed.

" } }, - "documentation":"

The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the GetShardIterator action.

", + "documentation":"

The shard iterator has expired and can no longer be used to retrieve stream records. A shard iterator expires 15 minutes after it is retrieved using the GetShardIterator action.

", "exception":true }, "GetRecordsInput":{ @@ -189,7 +191,7 @@ "documentation":"

The maximum number of records to return from the shard. The upper limit is 1000.

" } }, - "documentation":"

Represents the input of a GetRecords operation.

" + "documentation":"

Represents the input of a GetRecords operation.

" }, "GetRecordsOutput":{ "type":"structure", @@ -203,7 +205,7 @@ "documentation":"

The next position in the shard from which to start sequentially reading stream records. If set to null, the shard has been closed and the requested iterator will not return any more data.

" } }, - "documentation":"

Represents the output of a GetRecords operation.

" + "documentation":"

Represents the output of a GetRecords operation.

" }, "GetShardIteratorInput":{ "type":"structure", @@ -230,7 +232,7 @@ "documentation":"

The sequence number of a stream record in the shard from which to start reading.

" } }, - "documentation":"

Represents the input of a GetShardIterator operation.

" + "documentation":"

Represents the input of a GetShardIterator operation.

" }, "GetShardIteratorOutput":{ "type":"structure", @@ -240,7 +242,21 @@ "documentation":"

The position in the shard from which to start reading stream records sequentially. A shard iterator specifies this position using the sequence number of a stream record in a shard.

" } }, - "documentation":"

Represents the output of a GetShardIterator operation.

" + "documentation":"

Represents the output of a GetShardIterator operation.

" + }, + "Identity":{ + "type":"structure", + "members":{ + "PrincipalId":{ + "shape":"String", + "documentation":"

A unique identifier for the entity that made the call. For Time To Live, the principalId is \"dynamodb.amazonaws.com\".

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the identity. For Time To Live, the type is \"Service\".

" + } + }, + "documentation":"

Contains details about the type of identity that made the request.

" }, "InternalServerError":{ "type":"structure", @@ -281,7 +297,7 @@ "documentation":"

The attribute data, consisting of the data type and the attribute value itself.

" } }, - "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement. A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" + "documentation":"

Represents a single element of a key schema. A key schema specifies the attributes that make up the primary key of a table, or the key attributes of an index.

A KeySchemaElement represents exactly one attribute of the primary key. For example, a simple primary key (partition key) would be represented by one KeySchemaElement. A composite primary key (partition key and sort key) would require one KeySchemaElement for the partition key, and another KeySchemaElement for the sort key.

The partition key of an item is also known as its hash attribute. The term \"hash attribute\" derives from DynamoDB's usage of an internal hash function to evenly distribute data items across partitions, based on their partition key values.

The sort key of an item is also known as its range attribute. The term \"range attribute\" derives from the way DynamoDB stores items with the same partition key physically close together, in sorted order by the sort key value.

" }, "KeyType":{ "type":"string", @@ -321,7 +337,7 @@ "documentation":"

The ARN (Amazon Resource Name) of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedStreamArn in the previous operation.

" } }, - "documentation":"

Represents the input of a ListStreams operation.

" + "documentation":"

Represents the input of a ListStreams operation.

" }, "ListStreamsOutput":{ "type":"structure", @@ -335,7 +351,7 @@ "documentation":"

The stream ARN of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

If LastEvaluatedStreamArn is empty, then the \"last page\" of results has been processed and there is no more data to be retrieved.

If LastEvaluatedStreamArn is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedStreamArn is empty.

" } }, - "documentation":"

Represents the output of a ListStreams operation.

" + "documentation":"

Represents the output of a ListStreams operation.

" }, "MapAttributeValue":{ "type":"map", @@ -377,19 +393,23 @@ }, "eventVersion":{ "shape":"String", - "documentation":"

The version number of the stream record format. This number is updated whenever the structure of Record is modified.

Client applications must not assume that eventVersion will remain at a particular value, as this number is subject to change at any time. In general, eventVersion will only increase as the low-level DynamoDB Streams API evolves.

" + "documentation":"

The version number of the stream record format. This number is updated whenever the structure of Record is modified.

Client applications must not assume that eventVersion will remain at a particular value, as this number is subject to change at any time. In general, eventVersion will only increase as the low-level DynamoDB Streams API evolves.

" }, "eventSource":{ "shape":"String", - "documentation":"

The AWS service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.

" + "documentation":"

The AWS service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb.

" }, "awsRegion":{ "shape":"String", - "documentation":"

The region in which the GetRecords request was received.

" + "documentation":"

The region in which the GetRecords request was received.

" }, "dynamodb":{ "shape":"StreamRecord", "documentation":"

The main body of the stream record, containing all of the DynamoDB-specific fields.

" + }, + "userIdentity":{ + "shape":"Identity", + "documentation":"

Items that are deleted by the Time to Live process after expiration have the following fields:

  • Records[].userIdentity.type

    \"Service\"

  • Records[].userIdentity.principalId

    \"dynamodb.amazonaws.com\"

" } }, "documentation":"

A description of a unique event within a stream.

" @@ -482,7 +502,7 @@ }, "StreamLabel":{ "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" + "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" } }, "documentation":"

Represents all of the data describing a particular stream.

" @@ -501,7 +521,7 @@ }, "StreamLabel":{ "shape":"String", - "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" + "documentation":"

A timestamp, in ISO 8601 format, for this stream.

Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique:

  • the AWS customer ID.

  • the table name

  • the StreamLabel

" }, "StreamStatus":{ "shape":"StreamStatus", @@ -610,9 +630,9 @@ "documentation":"

\"The data you are trying to access has been trimmed.

" } }, - "documentation":"

The operation attempted to read past the oldest stream record in a shard.

In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:

  • You request a shard iterator with a sequence number older than the trim point (24 hours).

  • You obtain a shard iterator, but before you use the iterator in a GetRecords request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.

", + "documentation":"

The operation attempted to read past the oldest stream record in a shard.

In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException if:

  • You request a shard iterator with a sequence number older than the trim point (24 hours).

  • You obtain a shard iterator, but before you use the iterator in a GetRecords request, a stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access a record that no longer exists.

", "exception":true } }, - "documentation":"Amazon DynamoDB

Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide.

The following are short descriptions of each low-level DynamoDB Streams action:

  • DescribeStream - Returns detailed information about a particular stream.

  • GetRecords - Retrieves the stream records from within a shard.

  • GetShardIterator - Returns information on how to retrieve the streams record from a shard with a given shard ID.

  • ListStreams - Returns a list of all the streams associated with the current AWS account and endpoint.

" + "documentation":"Amazon DynamoDB

Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about application development with Streams, see Capturing Table Activity with DynamoDB Streams in the Amazon DynamoDB Developer Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/ebs/2019-11-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ebs/2019-11-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/ebs/2019-11-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ebs/2019-11-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/ebs/2019-11-02/service-2.json python-botocore-1.16.19+repack/botocore/data/ebs/2019-11-02/service-2.json --- python-botocore-1.4.70/botocore/data/ebs/2019-11-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ebs/2019-11-02/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,351 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-11-02", + "endpointPrefix":"ebs", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon EBS", + "serviceFullName":"Amazon Elastic Block Store", + "serviceId":"EBS", + "signatureVersion":"v4", + "uid":"ebs-2019-11-02" + }, + "operations":{ + "GetSnapshotBlock":{ + "name":"GetSnapshotBlock", + "http":{ + "method":"GET", + "requestUri":"/snapshots/{snapshotId}/blocks/{blockIndex}" + }, + "input":{"shape":"GetSnapshotBlockRequest"}, + "output":{"shape":"GetSnapshotBlockResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the data in a block in an Amazon Elastic Block Store snapshot.

" + }, + "ListChangedBlocks":{ + "name":"ListChangedBlocks", + "http":{ + "method":"GET", + "requestUri":"/snapshots/{secondSnapshotId}/changedblocks" + }, + "input":{"shape":"ListChangedBlocksRequest"}, + "output":{"shape":"ListChangedBlocksResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the block indexes and block tokens for blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.

" + }, + "ListSnapshotBlocks":{ + "name":"ListSnapshotBlocks", + "http":{ + "method":"GET", + "requestUri":"/snapshots/{snapshotId}/blocks" + }, + "input":{"shape":"ListSnapshotBlocksRequest"}, + "output":{"shape":"ListSnapshotBlocksResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the block indexes and block tokens for blocks in an Amazon Elastic Block Store snapshot.

" + } + }, + "shapes":{ + "Block":{ + "type":"structure", + "members":{ + "BlockIndex":{ + "shape":"BlockIndex", + "documentation":"

The block index.

" + }, + "BlockToken":{ + "shape":"BlockToken", + "documentation":"

The block token for the block index.

" + } + }, + "documentation":"

A block of data in an Amazon Elastic Block Store snapshot.

" + }, + "BlockData":{ + "type":"blob", + "sensitive":true, + "streaming":true + }, + "BlockIndex":{"type":"integer"}, + "BlockSize":{"type":"integer"}, + "BlockToken":{ + "type":"string", + "max":256, + "pattern":"^[A-Za-z0-9+/=]+$" + }, + "Blocks":{ + "type":"list", + "member":{"shape":"Block"}, + "sensitive":true + }, + "ChangedBlock":{ + "type":"structure", + "members":{ + "BlockIndex":{ + "shape":"BlockIndex", + "documentation":"

The block index.

" + }, + "FirstBlockToken":{ + "shape":"BlockToken", + "documentation":"

The block token for the block index of the FirstSnapshotId specified in the ListChangedBlocks operation. This value is absent if the first snapshot does not have the changed block that is on the second snapshot.

" + }, + "SecondBlockToken":{ + "shape":"BlockToken", + "documentation":"

The block token for the block index of the SecondSnapshotId specified in the ListChangedBlocks operation.

" + } + }, + "documentation":"

A block of data in an Amazon Elastic Block Store snapshot that is different from another snapshot of the same volume/snapshot lineage.

", + "sensitive":true + }, + "ChangedBlocks":{ + "type":"list", + "member":{"shape":"ChangedBlock"} + }, + "Checksum":{ + "type":"string", + "max":64 + }, + "ChecksumAlgorithm":{ + "type":"string", + "enum":["SHA256"], + "max":32 + }, + "DataLength":{"type":"integer"}, + "ErrorMessage":{ + "type":"string", + "max":256 + }, + "GetSnapshotBlockRequest":{ + "type":"structure", + "required":[ + "SnapshotId", + "BlockIndex", + "BlockToken" + ], + "members":{ + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot containing the block from which to get data.

", + "location":"uri", + "locationName":"snapshotId" + }, + "BlockIndex":{ + "shape":"BlockIndex", + "documentation":"

The block index of the block from which to get data.

Obtain the BlockIndex by running the ListChangedBlocks or ListSnapshotBlocks operations.

", + "location":"uri", + "locationName":"blockIndex" + }, + "BlockToken":{ + "shape":"BlockToken", + "documentation":"

The block token of the block from which to get data.

Obtain the BlockToken by running the ListChangedBlocks or ListSnapshotBlocks operations.

", + "location":"querystring", + "locationName":"blockToken" + } + } + }, + "GetSnapshotBlockResponse":{ + "type":"structure", + "members":{ + "DataLength":{ + "shape":"DataLength", + "documentation":"

The size of the data in the block.

", + "location":"header", + "locationName":"x-amz-Data-Length" + }, + "BlockData":{ + "shape":"BlockData", + "documentation":"

The data content of the block.

" + }, + "Checksum":{ + "shape":"Checksum", + "documentation":"

The checksum generated for the block, which is Base64 encoded.

", + "location":"header", + "locationName":"x-amz-Checksum" + }, + "ChecksumAlgorithm":{ + "shape":"ChecksumAlgorithm", + "documentation":"

The algorithm used to generate the checksum for the block, such as SHA256.

", + "location":"header", + "locationName":"x-amz-Checksum-Algorithm" + } + }, + "payload":"BlockData" + }, + "ListChangedBlocksRequest":{ + "type":"structure", + "required":["SecondSnapshotId"], + "members":{ + "FirstSnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the first snapshot to use for the comparison.

The FirstSnapshotID parameter must be specified with a SecondSnapshotId parameter; otherwise, an error occurs.

", + "location":"querystring", + "locationName":"firstSnapshotId" + }, + "SecondSnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the second snapshot to use for the comparison.

The SecondSnapshotId parameter must be specified with a FirstSnapshotID parameter; otherwise, an error occurs.

", + "location":"uri", + "locationName":"secondSnapshotId" + }, + "NextToken":{ + "shape":"PageToken", + "documentation":"

The token to request the next page of results.

", + "location":"querystring", + "locationName":"pageToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "StartingBlockIndex":{ + "shape":"BlockIndex", + "documentation":"

The block index from which the comparison should start.

The list in the response will start from this block index or the next valid block index in the snapshots.

", + "location":"querystring", + "locationName":"startingBlockIndex" + } + } + }, + "ListChangedBlocksResponse":{ + "type":"structure", + "members":{ + "ChangedBlocks":{ + "shape":"ChangedBlocks", + "documentation":"

An array of objects containing information about the changed blocks.

" + }, + "ExpiryTime":{ + "shape":"TimeStamp", + "documentation":"

The time when the BlockToken expires.

" + }, + "VolumeSize":{ + "shape":"VolumeSize", + "documentation":"

The size of the volume in GB.

" + }, + "BlockSize":{ + "shape":"BlockSize", + "documentation":"

The size of the block.

" + }, + "NextToken":{ + "shape":"PageToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListSnapshotBlocksRequest":{ + "type":"structure", + "required":["SnapshotId"], + "members":{ + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot from which to get block indexes and block tokens.

", + "location":"uri", + "locationName":"snapshotId" + }, + "NextToken":{ + "shape":"PageToken", + "documentation":"

The token to request the next page of results.

", + "location":"querystring", + "locationName":"pageToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "StartingBlockIndex":{ + "shape":"BlockIndex", + "documentation":"

The block index from which the list should start. The list in the response will start from this block index or the next valid block index in the snapshot.

", + "location":"querystring", + "locationName":"startingBlockIndex" + } + } + }, + "ListSnapshotBlocksResponse":{ + "type":"structure", + "members":{ + "Blocks":{ + "shape":"Blocks", + "documentation":"

An array of objects containing information about the blocks.

" + }, + "ExpiryTime":{ + "shape":"TimeStamp", + "documentation":"

The time when the BlockToken expires.

" + }, + "VolumeSize":{ + "shape":"VolumeSize", + "documentation":"

The size of the volume in GB.

" + }, + "BlockSize":{ + "shape":"BlockSize", + "documentation":"

The size of the block.

" + }, + "NextToken":{ + "shape":"PageToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":10000, + "min":100 + }, + "PageToken":{ + "type":"string", + "max":256, + "pattern":"^[A-Za-z0-9+/=]+$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SnapshotId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^snap-[0-9a-f]+$" + }, + "TimeStamp":{"type":"timestamp"}, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

The reason for the validation exception.

" + } + }, + "documentation":"

The input fails to satisfy the constraints of the EBS direct APIs.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_CUSTOMER_KEY", + "INVALID_PAGE_TOKEN", + "INVALID_BLOCK_TOKEN", + "INVALID_SNAPSHOT_ID", + "UNRELATED_SNAPSHOTS" + ] + }, + "VolumeSize":{"type":"long"} + }, + "documentation":"

You can use the Amazon Elastic Block Store (EBS) direct APIs to directly read the data on your EBS snapshots, and identify the difference between two snapshots. You can view the details of blocks in an EBS snapshot, compare the block difference between two snapshots, and directly access the data in a snapshot. If you’re an independent software vendor (ISV) who offers backup services for EBS, the EBS direct APIs make it easier and more cost-effective to track incremental changes on your EBS volumes via EBS snapshots. This can be done without having to create new volumes from EBS snapshots.

This API reference provides detailed information about the actions, data types, parameters, and errors of the EBS direct APIs. For more information about the elements that make up the EBS direct APIs, and examples of how to use them effectively, see Accessing the Contents of an EBS Snapshot in the Amazon Elastic Compute Cloud User Guide. For more information about the supported AWS Regions, endpoints, and service quotas for the EBS direct APIs, see Amazon Elastic Block Store Endpoints and Quotas in the AWS General Reference.

" +} diff -Nru python-botocore-1.4.70/botocore/data/ec2/2014-09-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2014-09-01/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2014-09-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2014-09-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -4,6 +4,7 @@ "endpointPrefix":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2014-09-01", "protocol":"ec2" diff -Nru python-botocore-1.4.70/botocore/data/ec2/2014-10-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2014-10-01/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2014-10-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2014-10-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "endpointPrefix":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2014-10-01", "protocol":"ec2" diff -Nru python-botocore-1.4.70/botocore/data/ec2/2015-03-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2015-03-01/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2015-03-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2015-03-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "endpointPrefix":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-03-01", "protocol":"ec2" diff -Nru python-botocore-1.4.70/botocore/data/ec2/2015-04-15/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2015-04-15/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2015-04-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2015-04-15/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "endpointPrefix":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-04-15", "protocol":"ec2" diff -Nru python-botocore-1.4.70/botocore/data/ec2/2015-10-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2015-10-01/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2015-10-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2015-10-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "protocol":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2015-10-01" }, diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-04-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-04-01/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2016-04-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-04-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "protocol":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-04-01" }, diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-09-15/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-09-15/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2016-09-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-09-15/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "protocol":"ec2", "serviceAbbreviation":"Amazon EC2", "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", "signatureVersion":"v4", "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-09-15" }, diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-09-15/waiters-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-09-15/waiters-2.json --- python-botocore-1.4.70/botocore/data/ec2/2016-09-15/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-09-15/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -281,6 +281,24 @@ } ] }, + "KeyPairExists": { + "operation": "DescribeKeyPairs", + "delay": 5, + "maxAttempts": 6, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(KeyPairs[].KeyName) > `0`" + }, + { + "expected": "InvalidKeyPair.NotFound", + "matcher": "error", + "state": "retry" + } + ] + }, "NatGatewayAvailable": { "operation": "DescribeNatGateways", "delay": 15, diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-11-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/examples-1.json --- python-botocore-1.4.70/botocore/data/ec2/2016-11-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5048 @@ +{ + "version": "1.0", + "examples": { + "AllocateAddress": [ + { + "input": { + "Domain": "vpc" + }, + "output": { + "AllocationId": "eipalloc-64d5890a", + "Domain": "vpc", + "PublicIp": "203.0.113.0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example allocates an Elastic IP address to use with an instance in a VPC.", + "id": "ec2-allocate-address-1", + "title": "To allocate an Elastic IP address for EC2-VPC" + }, + { + "output": { + "Domain": "standard", + "PublicIp": "198.51.100.0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example allocates an Elastic IP address to use with an instance in EC2-Classic.", + "id": "ec2-allocate-address-2", + "title": "To allocate an Elastic IP address for EC2-Classic" + } + ], + "AssignPrivateIpAddresses": [ + { + "input": { + "NetworkInterfaceId": "eni-e5aa89a3", + "PrivateIpAddresses": [ + "10.0.0.82" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example assigns the specified secondary private IP address to the specified network interface.", + "id": "ec2-assign-private-ip-addresses-1", + "title": "To assign a specific secondary private IP address to an interface" + }, + { + "input": { + "NetworkInterfaceId": "eni-e5aa89a3", + "SecondaryPrivateIpAddressCount": 2 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example assigns two secondary private IP addresses to the specified network interface. Amazon EC2 automatically assigns these IP addresses from the available IP addresses in the CIDR block range of the subnet the network interface is associated with.", + "id": "ec2-assign-private-ip-addresses-2", + "title": "To assign secondary private IP addresses that Amazon EC2 selects to an interface" + } + ], + "AssociateAddress": [ + { + "input": { + "AllocationId": "eipalloc-64d5890a", + "InstanceId": "i-0b263919b6498b123" + }, + "output": { + "AssociationId": "eipassoc-2bebb745" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified Elastic IP address with the specified instance in a VPC.", + "id": "ec2-associate-address-1", + "title": "To associate an Elastic IP address in EC2-VPC" + }, + { + "input": { + "AllocationId": "eipalloc-64d5890a", + "NetworkInterfaceId": "eni-1a2b3c4d" + }, + "output": { + "AssociationId": "eipassoc-2bebb745" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified Elastic IP address with the specified network interface.", + "id": "ec2-associate-address-2", + "title": "To associate an Elastic IP address with a network interface" + }, + { + "input": { + "InstanceId": "i-07ffe74c7330ebf53", + "PublicIp": "198.51.100.0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates an Elastic IP address with an instance in EC2-Classic.", + "id": "ec2-associate-address-3", + "title": "To associate an Elastic IP address in EC2-Classic" + } + ], + "AssociateDhcpOptions": [ + { + "input": { + "DhcpOptionsId": "dopt-d9070ebb", + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified DHCP options set with the specified VPC.", + "id": "ec2-associate-dhcp-options-1", + "title": "To associate a DHCP options set with a VPC" + }, + { + "input": { + "DhcpOptionsId": "default", + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the default DHCP options set with the specified VPC.", + "id": "ec2-associate-dhcp-options-2", + "title": "To associate the default DHCP options set with a VPC" + } + ], + "AssociateIamInstanceProfile": [ + { + "input": { + "IamInstanceProfile": { + "Name": "admin-role" + }, + "InstanceId": "i-123456789abcde123" + }, + "output": { + "IamInstanceProfileAssociation": { + "AssociationId": "iip-assoc-0e7736511a163c209", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAJBLK7RKJKWDXVHIEC" + }, + "InstanceId": "i-123456789abcde123", + "State": "associating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates an IAM instance profile named admin-role with the specified instance.", + "id": "to-associate-an-iam-instance-profile-with-an-instance-1528928429850", + "title": "To associate an IAM instance profile with an instance" + } + ], + "AssociateRouteTable": [ + { + "input": { + "RouteTableId": "rtb-22574640", + "SubnetId": "subnet-9d4a7b6" + }, + "output": { + "AssociationId": "rtbassoc-781d0d1a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified route table with the specified subnet.", + "id": "ec2-associate-route-table-1", + "title": "To associate a route table with a subnet" + } + ], + "AttachInternetGateway": [ + { + "input": { + "InternetGatewayId": "igw-c0a643a9", + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified Internet gateway to the specified VPC.", + "id": "ec2-attach-internet-gateway-1", + "title": "To attach an Internet gateway to a VPC" + } + ], + "AttachNetworkInterface": [ + { + "input": { + "DeviceIndex": 1, + "InstanceId": "i-1234567890abcdef0", + "NetworkInterfaceId": "eni-e5aa89a3" + }, + "output": { + "AttachmentId": "eni-attach-66c4350a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches the specified network interface to the specified instance.", + "id": "ec2-attach-network-interface-1", + "title": "To attach a network interface to an instance" + } + ], + "AttachVolume": [ + { + "input": { + "Device": "/dev/sdf", + "InstanceId": "i-01474ef662b89480", + "VolumeId": "vol-1234567890abcdef0" + }, + "output": { + "AttachTime": "2016-08-29T18:52:32.724Z", + "Device": "/dev/sdf", + "InstanceId": "i-01474ef662b89480", + "State": "attaching", + "VolumeId": "vol-1234567890abcdef0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example attaches a volume (``vol-1234567890abcdef0``) to an instance (``i-01474ef662b89480``) as ``/dev/sdf``.", + "id": "to-attach-a-volume-to-an-instance-1472499213109", + "title": "To attach a volume to an instance" + } + ], + "AuthorizeSecurityGroupEgress": [ + { + "input": { + "GroupId": "sg-1a2b3c4d", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "10.0.0.0/16" + } + ], + "ToPort": 80 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a rule that grants access to the specified address ranges on TCP port 80.", + "id": "to-add-a-rule-that-allows-outbound-traffic-to-a-specific-address-range-1528929309636", + "title": "To add a rule that allows outbound traffic to a specific address range" + }, + { + "input": { + "GroupId": "sg-1a2b3c4d", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80, + "UserIdGroupPairs": [ + { + "GroupId": "sg-4b51a32f" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a rule that grants access to the specified security group on TCP port 80.", + "id": "to-add-a-rule-that-allows-outbound-traffic-to-a-specific-security-group-1528929760260", + "title": "To add a rule that allows outbound traffic to a specific security group" + } + ], + "AuthorizeSecurityGroupIngress": [ + { + "input": { + "GroupId": "sg-903004f8", + "IpPermissions": [ + { + "FromPort": 22, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/24", + "Description": "SSH access from the LA office" + } + ], + "ToPort": 22 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables inbound traffic on TCP port 22 (SSH). The rule includes a description to help you identify it later.", + "id": "to-add-a-rule-that-allows-inbound-ssh-traffic-1529011610328", + "title": "To add a rule that allows inbound SSH traffic from an IPv4 address range" + }, + { + "input": { + "GroupId": "sg-111aaa22", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "ToPort": 80, + "UserIdGroupPairs": [ + { + "Description": "HTTP access from other instances", + "GroupId": "sg-1a2b3c4d" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables inbound traffic on TCP port 80 from the specified security group. The group must be in the same VPC or a peer VPC. Incoming traffic is allowed based on the private IP addresses of instances that are associated with the specified security group.", + "id": "to-add-a-rule-that-allows-inbound-http-traffic-from-another-security-group-1529012163168", + "title": "To add a rule that allows inbound HTTP traffic from another security group" + }, + { + "input": { + "GroupId": "sg-123abc12 ", + "IpPermissions": [ + { + "FromPort": 3389, + "IpProtocol": "tcp", + "Ipv6Ranges": [ + { + "CidrIpv6": "2001:db8:1234:1a00::/64", + "Description": "RDP access from the NY office" + } + ], + "ToPort": 3389 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds an inbound rule that allows RDP traffic from the specified IPv6 address range. The rule includes a description to help you identify it later.", + "id": "to-add-a-rule-with-a-description-1529012418116", + "title": "To add a rule that allows inbound RDP traffic from an IPv6 address range" + } + ], + "CancelSpotFleetRequests": [ + { + "input": { + "SpotFleetRequestIds": [ + "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + ], + "TerminateInstances": true + }, + "output": { + "SuccessfulFleetRequests": [ + { + "CurrentSpotFleetRequestState": "cancelled_running", + "PreviousSpotFleetRequestState": "active", + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels the specified Spot fleet request and terminates its associated Spot Instances.", + "id": "ec2-cancel-spot-fleet-requests-1", + "title": "To cancel a Spot fleet request" + }, + { + "input": { + "SpotFleetRequestIds": [ + "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + ], + "TerminateInstances": false + }, + "output": { + "SuccessfulFleetRequests": [ + { + "CurrentSpotFleetRequestState": "cancelled_terminating", + "PreviousSpotFleetRequestState": "active", + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels the specified Spot fleet request without terminating its associated Spot Instances.", + "id": "ec2-cancel-spot-fleet-requests-2", + "title": "To cancel a Spot fleet request without terminating its Spot Instances" + } + ], + "CancelSpotInstanceRequests": [ + { + "input": { + "SpotInstanceRequestIds": [ + "sir-08b93456" + ] + }, + "output": { + "CancelledSpotInstanceRequests": [ + { + "SpotInstanceRequestId": "sir-08b93456", + "State": "cancelled" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example cancels a Spot Instance request.", + "id": "ec2-cancel-spot-instance-requests-1", + "title": "To cancel Spot Instance requests" + } + ], + "ConfirmProductInstance": [ + { + "input": { + "InstanceId": "i-1234567890abcdef0", + "ProductCode": "774F4FF8" + }, + "output": { + "OwnerId": "123456789012" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example determines whether the specified product code is associated with the specified instance.", + "id": "to-confirm-the-product-instance-1472712108494", + "title": "To confirm the product instance" + } + ], + "CopyImage": [ + { + "input": { + "Description": "", + "Name": "My server", + "SourceImageId": "ami-5731123e", + "SourceRegion": "us-east-1" + }, + "output": { + "ImageId": "ami-438bea42" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies the specified AMI from the us-east-1 region to the current region.", + "id": "to-copy-an-ami-to-another-region-1529022820832", + "title": "To copy an AMI to another region" + } + ], + "CopySnapshot": [ + { + "input": { + "Description": "This is my copied snapshot.", + "DestinationRegion": "us-east-1", + "SourceRegion": "us-west-2", + "SourceSnapshotId": "snap-066877671789bd71b" + }, + "output": { + "SnapshotId": "snap-066877671789bd71b" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a snapshot with the snapshot ID of ``snap-066877671789bd71b`` from the ``us-west-2`` region to the ``us-east-1`` region and adds a short description to identify the snapshot.", + "id": "to-copy-a-snapshot-1472502259774", + "title": "To copy a snapshot" + } + ], + "CreateCustomerGateway": [ + { + "input": { + "BgpAsn": 65534, + "PublicIp": "12.1.2.3", + "Type": "ipsec.1" + }, + "output": { + "CustomerGateway": { + "BgpAsn": "65534", + "CustomerGatewayId": "cgw-0e11f167", + "IpAddress": "12.1.2.3", + "State": "available", + "Type": "ipsec.1" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a customer gateway with the specified IP address for its outside interface.", + "id": "ec2-create-customer-gateway-1", + "title": "To create a customer gateway" + } + ], + "CreateDhcpOptions": [ + { + "input": { + "DhcpConfigurations": [ + { + "Key": "domain-name-servers", + "Values": [ + "10.2.5.1", + "10.2.5.2" + ] + } + ] + }, + "output": { + "DhcpOptions": { + "DhcpConfigurations": [ + { + "Key": "domain-name-servers", + "Values": [ + { + "Value": "10.2.5.2" + }, + { + "Value": "10.2.5.1" + } + ] + } + ], + "DhcpOptionsId": "dopt-d9070ebb" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DHCP options set.", + "id": "ec2-create-dhcp-options-1", + "title": "To create a DHCP options set" + } + ], + "CreateImage": [ + { + "input": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sdh", + "Ebs": { + "VolumeSize": "100" + } + }, + { + "DeviceName": "/dev/sdc", + "VirtualName": "ephemeral1" + } + ], + "Description": "An AMI for my server", + "InstanceId": "i-1234567890abcdef0", + "Name": "My server", + "NoReboot": true + }, + "output": { + "ImageId": "ami-1a2b3c4d" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an AMI from the specified instance and adds an EBS volume with the device name /dev/sdh and an instance store volume with the device name /dev/sdc.", + "id": "to-create-an-ami-from-an-amazon-ebs-backed-instance-1529023150636", + "title": "To create an AMI from an Amazon EBS-backed instance" + } + ], + "CreateInternetGateway": [ + { + "output": { + "InternetGateway": { + "Attachments": [ + + ], + "InternetGatewayId": "igw-c0a643a9", + "Tags": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Internet gateway.", + "id": "ec2-create-internet-gateway-1", + "title": "To create an Internet gateway" + } + ], + "CreateKeyPair": [ + { + "input": { + "KeyName": "my-key-pair" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a key pair named my-key-pair.", + "id": "ec2-create-key-pair-1", + "title": "To create a key pair" + } + ], + "CreateLaunchTemplate": [ + { + "input": { + "LaunchTemplateData": { + "ImageId": "ami-8c1be5f6", + "InstanceType": "t2.small", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Ipv6AddressCount": 1, + "SubnetId": "subnet-7b16de0c" + } + ], + "TagSpecifications": [ + { + "ResourceType": "instance", + "Tags": [ + { + "Key": "Name", + "Value": "webserver" + } + ] + } + ] + }, + "LaunchTemplateName": "my-template", + "VersionDescription": "WebVersion1" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-11-27T09:13:24.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 1, + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-01238c059e3466abc", + "LaunchTemplateName": "my-template" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a launch template that specifies the subnet in which to launch the instance, assigns a public IP address and an IPv6 address to the instance, and creates a tag for the instance.", + "id": "to-create-a-launch-template-1529023655488", + "title": "To create a launch template" + } + ], + "CreateLaunchTemplateVersion": [ + { + "input": { + "LaunchTemplateData": { + "ImageId": "ami-c998b6b2" + }, + "LaunchTemplateId": "lt-0abcd290751193123", + "SourceVersion": "1", + "VersionDescription": "WebVersion2" + }, + "output": { + "LaunchTemplateVersion": { + "CreateTime": "2017-12-01T13:35:46.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersion": false, + "LaunchTemplateData": { + "ImageId": "ami-c998b6b2", + "InstanceType": "t2.micro", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Ipv6Addresses": [ + { + "Ipv6Address": "2001:db8:1234:1a00::123" + } + ], + "SubnetId": "subnet-7b16de0c" + } + ] + }, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template", + "VersionDescription": "WebVersion2", + "VersionNumber": 2 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a new launch template version based on version 1 of the specified launch template and specifies a different AMI ID.", + "id": "to-create-a-launch-template-version-1529024195702", + "title": "To create a launch template version" + } + ], + "CreateNatGateway": [ + { + "input": { + "AllocationId": "eipalloc-37fc1a52", + "SubnetId": "subnet-1a2b3c4d" + }, + "output": { + "NatGateway": { + "CreateTime": "2015-12-17T12:45:26.732Z", + "NatGatewayAddresses": [ + { + "AllocationId": "eipalloc-37fc1a52" + } + ], + "NatGatewayId": "nat-08d48af2a8e83edfd", + "State": "pending", + "SubnetId": "subnet-1a2b3c4d", + "VpcId": "vpc-1122aabb" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a NAT gateway in subnet subnet-1a2b3c4d and associates an Elastic IP address with the allocation ID eipalloc-37fc1a52 with the NAT gateway.", + "id": "ec2-create-nat-gateway-1", + "title": "To create a NAT gateway" + } + ], + "CreateNetworkAcl": [ + { + "input": { + "VpcId": "vpc-a01106c2" + }, + "output": { + "NetworkAcl": { + "Associations": [ + + ], + "Entries": [ + { + "CidrBlock": "0.0.0.0/0", + "Egress": true, + "Protocol": "-1", + "RuleAction": "deny", + "RuleNumber": 32767 + }, + { + "CidrBlock": "0.0.0.0/0", + "Egress": false, + "Protocol": "-1", + "RuleAction": "deny", + "RuleNumber": 32767 + } + ], + "IsDefault": false, + "NetworkAclId": "acl-5fb85d36", + "Tags": [ + + ], + "VpcId": "vpc-a01106c2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a network ACL for the specified VPC.", + "id": "ec2-create-network-acl-1", + "title": "To create a network ACL" + } + ], + "CreateNetworkAclEntry": [ + { + "input": { + "CidrBlock": "0.0.0.0/0", + "Egress": false, + "NetworkAclId": "acl-5fb85d36", + "PortRange": { + "From": 53, + "To": 53 + }, + "Protocol": "udp", + "RuleAction": "allow", + "RuleNumber": 100 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an entry for the specified network ACL. The rule allows ingress traffic from anywhere (0.0.0.0/0) on UDP port 53 (DNS) into any associated subnet.", + "id": "ec2-create-network-acl-entry-1", + "title": "To create a network ACL entry" + } + ], + "CreateNetworkInterface": [ + { + "input": { + "Description": "my network interface", + "Groups": [ + "sg-903004f8" + ], + "PrivateIpAddress": "10.0.2.17", + "SubnetId": "subnet-9d4a7b6c" + }, + "output": { + "NetworkInterface": { + "AvailabilityZone": "us-east-1d", + "Description": "my network interface", + "Groups": [ + { + "GroupId": "sg-903004f8", + "GroupName": "default" + } + ], + "MacAddress": "02:1a:80:41:52:9c", + "NetworkInterfaceId": "eni-e5aa89a3", + "OwnerId": "123456789012", + "PrivateIpAddress": "10.0.2.17", + "PrivateIpAddresses": [ + { + "Primary": true, + "PrivateIpAddress": "10.0.2.17" + } + ], + "RequesterManaged": false, + "SourceDestCheck": true, + "Status": "pending", + "SubnetId": "subnet-9d4a7b6c", + "TagSet": [ + + ], + "VpcId": "vpc-a01106c2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a network interface for the specified subnet.", + "id": "ec2-create-network-interface-1", + "title": "To create a network interface" + } + ], + "CreatePlacementGroup": [ + { + "input": { + "GroupName": "my-cluster", + "Strategy": "cluster" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a placement group with the specified name.", + "id": "to-create-a-placement-group-1472712245768", + "title": "To create a placement group" + } + ], + "CreateRoute": [ + { + "input": { + "DestinationCidrBlock": "0.0.0.0/0", + "GatewayId": "igw-c0a643a9", + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a route for the specified route table. The route matches all traffic (0.0.0.0/0) and routes it to the specified Internet gateway.", + "id": "ec2-create-route-1", + "title": "To create a route" + } + ], + "CreateRouteTable": [ + { + "input": { + "VpcId": "vpc-a01106c2" + }, + "output": { + "RouteTable": { + "Associations": [ + + ], + "PropagatingVgws": [ + + ], + "RouteTableId": "rtb-22574640", + "Routes": [ + { + "DestinationCidrBlock": "10.0.0.0/16", + "GatewayId": "local", + "State": "active" + } + ], + "Tags": [ + + ], + "VpcId": "vpc-a01106c2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a route table for the specified VPC.", + "id": "ec2-create-route-table-1", + "title": "To create a route table" + } + ], + "CreateSecurityGroup": [ + { + "input": { + "Description": "My security group", + "GroupName": "my-security-group", + "VpcId": "vpc-1a2b3c4d" + }, + "output": { + "GroupId": "sg-903004f8" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a security group for the specified VPC.", + "id": "to-create-a-security-group-for-a-vpc-1529024532716", + "title": "To create a security group for a VPC" + } + ], + "CreateSnapshot": [ + { + "input": { + "Description": "This is my root volume snapshot.", + "VolumeId": "vol-1234567890abcdef0" + }, + "output": { + "Description": "This is my root volume snapshot.", + "OwnerId": "012345678910", + "SnapshotId": "snap-066877671789bd71b", + "StartTime": "2014-02-28T21:06:01.000Z", + "State": "pending", + "Tags": [ + + ], + "VolumeId": "vol-1234567890abcdef0", + "VolumeSize": 8 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a snapshot of the volume with a volume ID of ``vol-1234567890abcdef0`` and a short description to identify the snapshot.", + "id": "to-create-a-snapshot-1472502529790", + "title": "To create a snapshot" + } + ], + "CreateSpotDatafeedSubscription": [ + { + "input": { + "Bucket": "my-s3-bucket", + "Prefix": "spotdata" + }, + "output": { + "SpotDatafeedSubscription": { + "Bucket": "my-s3-bucket", + "OwnerId": "123456789012", + "Prefix": "spotdata", + "State": "Active" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a Spot Instance data feed for your AWS account.", + "id": "ec2-create-spot-datafeed-subscription-1", + "title": "To create a Spot Instance datafeed" + } + ], + "CreateSubnet": [ + { + "input": { + "CidrBlock": "10.0.1.0/24", + "VpcId": "vpc-a01106c2" + }, + "output": { + "Subnet": { + "AvailabilityZone": "us-west-2c", + "AvailableIpAddressCount": 251, + "CidrBlock": "10.0.1.0/24", + "State": "pending", + "SubnetId": "subnet-9d4a7b6c", + "VpcId": "vpc-a01106c2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a subnet in the specified VPC with the specified CIDR block. We recommend that you let us select an Availability Zone for you.", + "id": "ec2-create-subnet-1", + "title": "To create a subnet" + } + ], + "CreateTags": [ + { + "input": { + "Resources": [ + "ami-78a54011" + ], + "Tags": [ + { + "Key": "Stack", + "Value": "production" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the tag Stack=production to the specified image, or overwrites an existing tag for the AMI where the tag key is Stack.", + "id": "ec2-create-tags-1", + "title": "To add a tag to a resource" + } + ], + "CreateVolume": [ + { + "input": { + "AvailabilityZone": "us-east-1a", + "Size": 80, + "VolumeType": "gp2" + }, + "output": { + "AvailabilityZone": "us-east-1a", + "CreateTime": "2016-08-29T18:52:32.724Z", + "Encrypted": false, + "Iops": 240, + "Size": 80, + "SnapshotId": "", + "State": "creating", + "VolumeId": "vol-6b60b7c7", + "VolumeType": "gp2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an 80 GiB General Purpose (SSD) volume in the Availability Zone ``us-east-1a``.", + "id": "to-create-a-new-volume-1472496724296", + "title": "To create a new volume" + }, + { + "input": { + "AvailabilityZone": "us-east-1a", + "Iops": 1000, + "SnapshotId": "snap-066877671789bd71b", + "VolumeType": "io1" + }, + "output": { + "Attachments": [ + + ], + "AvailabilityZone": "us-east-1a", + "CreateTime": "2016-08-29T18:52:32.724Z", + "Iops": 1000, + "Size": 500, + "SnapshotId": "snap-066877671789bd71b", + "State": "creating", + "Tags": [ + + ], + "VolumeId": "vol-1234567890abcdef0", + "VolumeType": "io1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a new Provisioned IOPS (SSD) volume with 1000 provisioned IOPS from a snapshot in the Availability Zone ``us-east-1a``.", + "id": "to-create-a-new-provisioned-iops-ssd-volume-from-a-snapshot-1472498975176", + "title": "To create a new Provisioned IOPS (SSD) volume from a snapshot" + } + ], + "CreateVpc": [ + { + "input": { + "CidrBlock": "10.0.0.0/16" + }, + "output": { + "Vpc": { + "CidrBlock": "10.0.0.0/16", + "DhcpOptionsId": "dopt-7a8b9c2d", + "InstanceTenancy": "default", + "State": "pending", + "VpcId": "vpc-a01106c2" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a VPC with the specified CIDR block.", + "id": "ec2-create-vpc-1", + "title": "To create a VPC" + } + ], + "DeleteCustomerGateway": [ + { + "input": { + "CustomerGatewayId": "cgw-0e11f167" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified customer gateway.", + "id": "ec2-delete-customer-gateway-1", + "title": "To delete a customer gateway" + } + ], + "DeleteDhcpOptions": [ + { + "input": { + "DhcpOptionsId": "dopt-d9070ebb" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DHCP options set.", + "id": "ec2-delete-dhcp-options-1", + "title": "To delete a DHCP options set" + } + ], + "DeleteInternetGateway": [ + { + "input": { + "InternetGatewayId": "igw-c0a643a9" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified Internet gateway.", + "id": "ec2-delete-internet-gateway-1", + "title": "To delete an Internet gateway" + } + ], + "DeleteKeyPair": [ + { + "input": { + "KeyName": "my-key-pair" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified key pair.", + "id": "ec2-delete-key-pair-1", + "title": "To delete a key pair" + } + ], + "DeleteLaunchTemplate": [ + { + "input": { + "LaunchTemplateId": "lt-0abcd290751193123" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-11-23T16:46:25.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 2, + "LatestVersionNumber": 2, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch template.", + "id": "to-delete-a-launch-template-1529024658216", + "title": "To delete a launch template" + } + ], + "DeleteLaunchTemplateVersions": [ + { + "input": { + "LaunchTemplateId": "lt-0abcd290751193123", + "Versions": [ + "1" + ] + }, + "output": { + "SuccessfullyDeletedLaunchTemplateVersions": [ + { + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "my-template", + "VersionNumber": 1 + } + ], + "UnsuccessfullyDeletedLaunchTemplateVersions": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified launch template version.", + "id": "to-delete-a-launch-template-version-1529024790864", + "title": "To delete a launch template version" + } + ], + "DeleteNatGateway": [ + { + "input": { + "NatGatewayId": "nat-04ae55e711cec5680" + }, + "output": { + "NatGatewayId": "nat-04ae55e711cec5680" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified NAT gateway.", + "id": "ec2-delete-nat-gateway-1", + "title": "To delete a NAT gateway" + } + ], + "DeleteNetworkAcl": [ + { + "input": { + "NetworkAclId": "acl-5fb85d36" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified network ACL.", + "id": "ec2-delete-network-acl-1", + "title": "To delete a network ACL" + } + ], + "DeleteNetworkAclEntry": [ + { + "input": { + "Egress": true, + "NetworkAclId": "acl-5fb85d36", + "RuleNumber": 100 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes ingress rule number 100 from the specified network ACL.", + "id": "ec2-delete-network-acl-entry-1", + "title": "To delete a network ACL entry" + } + ], + "DeleteNetworkInterface": [ + { + "input": { + "NetworkInterfaceId": "eni-e5aa89a3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified network interface.", + "id": "ec2-delete-network-interface-1", + "title": "To delete a network interface" + } + ], + "DeletePlacementGroup": [ + { + "input": { + "GroupName": "my-cluster" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified placement group.\n", + "id": "to-delete-a-placement-group-1472712349959", + "title": "To delete a placement group" + } + ], + "DeleteRoute": [ + { + "input": { + "DestinationCidrBlock": "0.0.0.0/0", + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified route from the specified route table.", + "id": "ec2-delete-route-1", + "title": "To delete a route" + } + ], + "DeleteRouteTable": [ + { + "input": { + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified route table.", + "id": "ec2-delete-route-table-1", + "title": "To delete a route table" + } + ], + "DeleteSecurityGroup": [ + { + "input": { + "GroupId": "sg-903004f8" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified security group.", + "id": "to-delete-a-security-group-1529024952972", + "title": "To delete a security group" + } + ], + "DeleteSnapshot": [ + { + "input": { + "SnapshotId": "snap-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", + "id": "to-delete-a-snapshot-1472503042567", + "title": "To delete a snapshot" + } + ], + "DeleteSpotDatafeedSubscription": [ + { + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes a Spot data feed subscription for the account.", + "id": "ec2-delete-spot-datafeed-subscription-1", + "title": "To cancel a Spot Instance data feed subscription" + } + ], + "DeleteSubnet": [ + { + "input": { + "SubnetId": "subnet-9d4a7b6c" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified subnet.", + "id": "ec2-delete-subnet-1", + "title": "To delete a subnet" + } + ], + "DeleteTags": [ + { + "input": { + "Resources": [ + "ami-78a54011" + ], + "Tags": [ + { + "Key": "Stack", + "Value": "test" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the tag Stack=test from the specified image.", + "id": "ec2-delete-tags-1", + "title": "To delete a tag from a resource" + } + ], + "DeleteVolume": [ + { + "input": { + "VolumeId": "vol-049df61146c4d7901" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes an available volume with the volume ID of ``vol-049df61146c4d7901``. If the command succeeds, no output is returned.", + "id": "to-delete-a-volume-1472503111160", + "title": "To delete a volume" + } + ], + "DeleteVpc": [ + { + "input": { + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified VPC.", + "id": "ec2-delete-vpc-1", + "title": "To delete a VPC" + } + ], + "DescribeAccountAttributes": [ + { + "input": { + "AttributeNames": [ + "supported-platforms" + ] + }, + "output": { + "AccountAttributes": [ + { + "AttributeName": "supported-platforms", + "AttributeValues": [ + { + "AttributeValue": "EC2" + }, + { + "AttributeValue": "VPC" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the supported-platforms attribute for your AWS account.", + "id": "ec2-describe-account-attributes-1", + "title": "To describe a single attribute for your AWS account" + }, + { + "output": { + "AccountAttributes": [ + { + "AttributeName": "supported-platforms", + "AttributeValues": [ + { + "AttributeValue": "EC2" + }, + { + "AttributeValue": "VPC" + } + ] + }, + { + "AttributeName": "vpc-max-security-groups-per-interface", + "AttributeValues": [ + { + "AttributeValue": "5" + } + ] + }, + { + "AttributeName": "max-elastic-ips", + "AttributeValues": [ + { + "AttributeValue": "5" + } + ] + }, + { + "AttributeName": "max-instances", + "AttributeValues": [ + { + "AttributeValue": "20" + } + ] + }, + { + "AttributeName": "vpc-max-elastic-ips", + "AttributeValues": [ + { + "AttributeValue": "5" + } + ] + }, + { + "AttributeName": "default-vpc", + "AttributeValues": [ + { + "AttributeValue": "none" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes for your AWS account.", + "id": "ec2-describe-account-attributes-2", + "title": "To describe all attributes for your AWS account" + } + ], + "DescribeAddresses": [ + { + "output": { + "Addresses": [ + { + "Domain": "standard", + "InstanceId": "i-1234567890abcdef0", + "PublicIp": "198.51.100.0" + }, + { + "AllocationId": "eipalloc-12345678", + "AssociationId": "eipassoc-12345678", + "Domain": "vpc", + "InstanceId": "i-1234567890abcdef0", + "NetworkInterfaceId": "eni-12345678", + "NetworkInterfaceOwnerId": "123456789012", + "PrivateIpAddress": "10.0.1.241", + "PublicIp": "203.0.113.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes your Elastic IP addresses.", + "id": "ec2-describe-addresses-1", + "title": "To describe your Elastic IP addresses" + }, + { + "input": { + "Filters": [ + { + "Name": "domain", + "Values": [ + "vpc" + ] + } + ] + }, + "output": { + "Addresses": [ + { + "AllocationId": "eipalloc-12345678", + "AssociationId": "eipassoc-12345678", + "Domain": "vpc", + "InstanceId": "i-1234567890abcdef0", + "NetworkInterfaceId": "eni-12345678", + "NetworkInterfaceOwnerId": "123456789012", + "PrivateIpAddress": "10.0.1.241", + "PublicIp": "203.0.113.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes your Elastic IP addresses for use with instances in a VPC.", + "id": "ec2-describe-addresses-2", + "title": "To describe your Elastic IP addresses for EC2-VPC" + }, + { + "input": { + "Filters": [ + { + "Name": "domain", + "Values": [ + "standard" + ] + } + ] + }, + "output": { + "Addresses": [ + { + "Domain": "standard", + "InstanceId": "i-1234567890abcdef0", + "PublicIp": "198.51.100.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes your Elastic IP addresses for use with instances in EC2-Classic.", + "id": "ec2-describe-addresses-3", + "title": "To describe your Elastic IP addresses for EC2-Classic" + } + ], + "DescribeAvailabilityZones": [ + { + "output": { + "AvailabilityZones": [ + { + "Messages": [ + + ], + "RegionName": "us-east-1", + "State": "available", + "ZoneName": "us-east-1b" + }, + { + "Messages": [ + + ], + "RegionName": "us-east-1", + "State": "available", + "ZoneName": "us-east-1c" + }, + { + "Messages": [ + + ], + "RegionName": "us-east-1", + "State": "available", + "ZoneName": "us-east-1d" + }, + { + "Messages": [ + + ], + "RegionName": "us-east-1", + "State": "available", + "ZoneName": "us-east-1e" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Availability Zones that are available to you. The response includes Availability Zones only for the current region.", + "id": "ec2-describe-availability-zones-1", + "title": "To describe your Availability Zones" + } + ], + "DescribeCustomerGateways": [ + { + "input": { + "CustomerGatewayIds": [ + "cgw-0e11f167" + ] + }, + "output": { + "CustomerGateways": [ + { + "BgpAsn": "65534", + "CustomerGatewayId": "cgw-0e11f167", + "IpAddress": "12.1.2.3", + "State": "available", + "Type": "ipsec.1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified customer gateway.", + "id": "ec2-describe-customer-gateways-1", + "title": "To describe a customer gateway" + } + ], + "DescribeDhcpOptions": [ + { + "input": { + "DhcpOptionsIds": [ + "dopt-d9070ebb" + ] + }, + "output": { + "DhcpOptions": [ + { + "DhcpConfigurations": [ + { + "Key": "domain-name-servers", + "Values": [ + { + "Value": "10.2.5.2" + }, + { + "Value": "10.2.5.1" + } + ] + } + ], + "DhcpOptionsId": "dopt-d9070ebb" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified DHCP options set.", + "id": "ec2-describe-dhcp-options-1", + "title": "To describe a DHCP options set" + } + ], + "DescribeIamInstanceProfileAssociations": [ + { + "input": { + "AssociationIds": [ + "iip-assoc-0db249b1f25fa24b8" + ] + }, + "output": { + "IamInstanceProfileAssociations": [ + { + "AssociationId": "iip-assoc-0db249b1f25fa24b8", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAJVQN4F5WVLGCJDRGM" + }, + "InstanceId": "i-09eb09efa73ec1dee", + "State": "associated" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified IAM instance profile association.", + "id": "to-describe-an-iam-instance-profile-association-1529025123918", + "title": "To describe an IAM instance profile association" + } + ], + "DescribeImageAttribute": [ + { + "input": { + "Attribute": "launchPermission", + "ImageId": "ami-5731123e" + }, + "output": { + "ImageId": "ami-5731123e", + "LaunchPermissions": [ + { + "UserId": "123456789012" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the launch permissions for the specified AMI.", + "id": "to-describe-the-launch-permissions-for-an-ami-1529025296264", + "title": "To describe the launch permissions for an AMI" + } + ], + "DescribeImages": [ + { + "input": { + "ImageIds": [ + "ami-5731123e" + ] + }, + "output": { + "Images": [ + { + "Architecture": "x86_64", + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sda1", + "Ebs": { + "DeleteOnTermination": true, + "SnapshotId": "snap-1234567890abcdef0", + "VolumeSize": 8, + "VolumeType": "standard" + } + } + ], + "Description": "An AMI for my server", + "Hypervisor": "xen", + "ImageId": "ami-5731123e", + "ImageLocation": "123456789012/My server", + "ImageType": "machine", + "KernelId": "aki-88aa75e1", + "Name": "My server", + "OwnerId": "123456789012", + "Public": false, + "RootDeviceName": "/dev/sda1", + "RootDeviceType": "ebs", + "State": "available", + "VirtualizationType": "paravirtual" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified AMI.", + "id": "to-describe-an-ami-1529025482866", + "title": "To describe an AMI" + } + ], + "DescribeInstanceAttribute": [ + { + "input": { + "Attribute": "instanceType", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "InstanceId": "i-1234567890abcdef0", + "InstanceType": { + "Value": "t1.micro" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the instance type of the specified instance.\n", + "id": "to-describe-the-instance-type-1472712432132", + "title": "To describe the instance type" + }, + { + "input": { + "Attribute": "disableApiTermination", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "DisableApiTermination": { + "Value": "false" + }, + "InstanceId": "i-1234567890abcdef0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the ``disableApiTermination`` attribute of the specified instance.\n", + "id": "to-describe-the-disableapitermination-attribute-1472712533466", + "title": "To describe the disableApiTermination attribute" + }, + { + "input": { + "Attribute": "blockDeviceMapping", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sda1", + "Ebs": { + "AttachTime": "2013-05-17T22:42:34.000Z", + "DeleteOnTermination": true, + "Status": "attached", + "VolumeId": "vol-049df61146c4d7901" + } + }, + { + "DeviceName": "/dev/sdf", + "Ebs": { + "AttachTime": "2013-09-10T23:07:00.000Z", + "DeleteOnTermination": false, + "Status": "attached", + "VolumeId": "vol-049df61146c4d7901" + } + } + ], + "InstanceId": "i-1234567890abcdef0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the ``blockDeviceMapping`` attribute of the specified instance.\n", + "id": "to-describe-the-block-device-mapping-for-an-instance-1472712645423", + "title": "To describe the block device mapping for an instance" + } + ], + "DescribeInstanceStatus": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "InstanceStatuses": [ + { + "AvailabilityZone": "us-east-1d", + "InstanceId": "i-1234567890abcdef0", + "InstanceState": { + "Code": 16, + "Name": "running" + }, + "InstanceStatus": { + "Details": [ + { + "Name": "reachability", + "Status": "passed" + } + ], + "Status": "ok" + }, + "SystemStatus": { + "Details": [ + { + "Name": "reachability", + "Status": "passed" + } + ], + "Status": "ok" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the current status of the specified instance.", + "id": "to-describe-the-status-of-an-instance-1529025696830", + "title": "To describe the status of an instance" + } + ], + "DescribeInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified instance.", + "id": "to-describe-an-amazon-ec2-instance-1529025982172", + "title": "To describe an Amazon EC2 instance" + }, + { + "input": { + "Filters": [ + { + "Name": "instance-type", + "Values": [ + "t2.micro" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the instances with the t2.micro instance type.", + "id": "to-describe-the-instances-with-the-instance-type-t2micro-1529026147602", + "title": "To describe the instances with a specific instance type" + }, + { + "input": { + "Filters": [ + { + "Name": "tag:Purpose", + "Values": [ + "test" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the instances with the Purpose=test tag.", + "id": "to-describe-the-instances-with-a-specific-tag-1529026251928", + "title": "To describe the instances with a specific tag" + } + ], + "DescribeInternetGateways": [ + { + "input": { + "Filters": [ + { + "Name": "attachment.vpc-id", + "Values": [ + "vpc-a01106c2" + ] + } + ] + }, + "output": { + "InternetGateways": [ + { + "Attachments": [ + { + "State": "available", + "VpcId": "vpc-a01106c2" + } + ], + "InternetGatewayId": "igw-c0a643a9", + "Tags": [ + + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Internet gateway for the specified VPC.", + "id": "ec2-describe-internet-gateways-1", + "title": "To describe the Internet gateway for a VPC" + } + ], + "DescribeKeyPairs": [ + { + "input": { + "KeyNames": [ + "my-key-pair" + ] + }, + "output": { + "KeyPairs": [ + { + "KeyFingerprint": "1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f", + "KeyName": "my-key-pair" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example displays the fingerprint for the specified key.", + "id": "ec2-describe-key-pairs-1", + "title": "To display a key pair" + } + ], + "DescribeLaunchTemplateVersions": [ + { + "input": { + "LaunchTemplateId": "068f72b72934aff71" + }, + "output": { + "LaunchTemplateVersions": [ + { + "CreateTime": "2017-11-20T13:12:32.000Z", + "CreatedBy": "arn:aws:iam::123456789102:root", + "DefaultVersion": false, + "LaunchTemplateData": { + "ImageId": "ami-6057e21a", + "InstanceType": "t2.medium", + "KeyName": "kp-us-east", + "NetworkInterfaces": [ + { + "DeviceIndex": 0, + "Groups": [ + "sg-7c227019" + ], + "SubnetId": "subnet-1a2b3c4d" + } + ] + }, + "LaunchTemplateId": "lt-068f72b72934aff71", + "LaunchTemplateName": "Webservers", + "VersionNumber": 2 + }, + { + "CreateTime": "2017-11-20T12:52:33.000Z", + "CreatedBy": "arn:aws:iam::123456789102:root", + "DefaultVersion": true, + "LaunchTemplateData": { + "ImageId": "ami-aabbcc11", + "InstanceType": "t2.medium", + "KeyName": "kp-us-east", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeleteOnTermination": false, + "DeviceIndex": 0, + "Groups": [ + "sg-7c227019" + ], + "SubnetId": "subnet-7b16de0c" + } + ], + "UserData": "" + }, + "LaunchTemplateId": "lt-068f72b72934aff71", + "LaunchTemplateName": "Webservers", + "VersionNumber": 1 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the versions for the specified launch template.", + "id": "to-describe-the-versions-for-a-launch-template-1529344425048", + "title": "To describe the versions for a launch template" + } + ], + "DescribeLaunchTemplates": [ + { + "input": { + "LaunchTemplateIds": [ + "lt-01238c059e3466abc" + ] + }, + "output": { + "LaunchTemplates": [ + { + "CreateTime": "2018-01-16T04:32:57.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 1, + "LatestVersionNumber": 1, + "LaunchTemplateId": "lt-01238c059e3466abc", + "LaunchTemplateName": "my-template" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified launch template.", + "id": "to-describe-a-launch-template-1529344182862", + "title": "To describe a launch template" + } + ], + "DescribeMovingAddresses": [ + { + "output": { + "MovingAddressStatuses": [ + { + "MoveStatus": "MovingToVpc", + "PublicIp": "198.51.100.0" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all of your moving Elastic IP addresses.", + "id": "ec2-describe-moving-addresses-1", + "title": "To describe your moving addresses" + } + ], + "DescribeNatGateways": [ + { + "input": { + "Filter": [ + { + "Name": "vpc-id", + "Values": [ + "vpc-1a2b3c4d" + ] + } + ] + }, + "output": { + "NatGateways": [ + { + "CreateTime": "2015-12-01T12:26:55.983Z", + "NatGatewayAddresses": [ + { + "AllocationId": "eipalloc-89c620ec", + "NetworkInterfaceId": "eni-9dec76cd", + "PrivateIp": "10.0.0.149", + "PublicIp": "198.11.222.333" + } + ], + "NatGatewayId": "nat-05dba92075d71c408", + "State": "available", + "SubnetId": "subnet-847e4dc2", + "VpcId": "vpc-1a2b3c4d" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the NAT gateway for the specified VPC.", + "id": "ec2-describe-nat-gateways-1", + "title": "To describe a NAT gateway" + } + ], + "DescribeNetworkAcls": [ + { + "input": { + "NetworkAclIds": [ + "acl-5fb85d36" + ] + }, + "output": { + "NetworkAcls": [ + { + "Associations": [ + { + "NetworkAclAssociationId": "aclassoc-66ea5f0b", + "NetworkAclId": "acl-9aeb5ef7", + "SubnetId": "subnet-65ea5f08" + } + ], + "Entries": [ + { + "CidrBlock": "0.0.0.0/0", + "Egress": true, + "Protocol": "-1", + "RuleAction": "deny", + "RuleNumber": 32767 + }, + { + "CidrBlock": "0.0.0.0/0", + "Egress": false, + "Protocol": "-1", + "RuleAction": "deny", + "RuleNumber": 32767 + } + ], + "IsDefault": false, + "NetworkAclId": "acl-5fb85d36", + "Tags": [ + + ], + "VpcId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified network ACL.", + "id": "ec2-", + "title": "To describe a network ACL" + } + ], + "DescribeNetworkInterfaceAttribute": [ + { + "input": { + "Attribute": "attachment", + "NetworkInterfaceId": "eni-686ea200" + }, + "output": { + "Attachment": { + "AttachTime": "2015-05-21T20:02:20.000Z", + "AttachmentId": "eni-attach-43348162", + "DeleteOnTermination": true, + "DeviceIndex": 0, + "InstanceId": "i-1234567890abcdef0", + "InstanceOwnerId": "123456789012", + "Status": "attached" + }, + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attachment attribute of the specified network interface.", + "id": "ec2-describe-network-interface-attribute-1", + "title": "To describe the attachment attribute of a network interface" + }, + { + "input": { + "Attribute": "description", + "NetworkInterfaceId": "eni-686ea200" + }, + "output": { + "Description": { + "Value": "My description" + }, + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the description attribute of the specified network interface.", + "id": "ec2-describe-network-interface-attribute-2", + "title": "To describe the description attribute of a network interface" + }, + { + "input": { + "Attribute": "groupSet", + "NetworkInterfaceId": "eni-686ea200" + }, + "output": { + "Groups": [ + { + "GroupId": "sg-903004f8", + "GroupName": "my-security-group" + } + ], + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the groupSet attribute of the specified network interface.", + "id": "ec2-describe-network-interface-attribute-3", + "title": "To describe the groupSet attribute of a network interface" + }, + { + "input": { + "Attribute": "sourceDestCheck", + "NetworkInterfaceId": "eni-686ea200" + }, + "output": { + "NetworkInterfaceId": "eni-686ea200", + "SourceDestCheck": { + "Value": true + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the sourceDestCheck attribute of the specified network interface.", + "id": "ec2-describe-network-interface-attribute-4", + "title": "To describe the sourceDestCheck attribute of a network interface" + } + ], + "DescribeNetworkInterfaces": [ + { + "input": { + "NetworkInterfaceIds": [ + "eni-e5aa89a3" + ] + }, + "output": { + "NetworkInterfaces": [ + { + "Association": { + "AssociationId": "eipassoc-0fbb766a", + "IpOwnerId": "123456789012", + "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", + "PublicIp": "203.0.113.12" + }, + "Attachment": { + "AttachTime": "2013-11-30T23:36:42.000Z", + "AttachmentId": "eni-attach-66c4350a", + "DeleteOnTermination": false, + "DeviceIndex": 1, + "InstanceId": "i-1234567890abcdef0", + "InstanceOwnerId": "123456789012", + "Status": "attached" + }, + "AvailabilityZone": "us-east-1d", + "Description": "my network interface", + "Groups": [ + { + "GroupId": "sg-8637d3e3", + "GroupName": "default" + } + ], + "MacAddress": "02:2f:8f:b0:cf:75", + "NetworkInterfaceId": "eni-e5aa89a3", + "OwnerId": "123456789012", + "PrivateDnsName": "ip-10-0-1-17.ec2.internal", + "PrivateIpAddress": "10.0.1.17", + "PrivateIpAddresses": [ + { + "Association": { + "AssociationId": "eipassoc-0fbb766a", + "IpOwnerId": "123456789012", + "PublicDnsName": "ec2-203-0-113-12.compute-1.amazonaws.com", + "PublicIp": "203.0.113.12" + }, + "Primary": true, + "PrivateDnsName": "ip-10-0-1-17.ec2.internal", + "PrivateIpAddress": "10.0.1.17" + } + ], + "RequesterManaged": false, + "SourceDestCheck": true, + "Status": "in-use", + "SubnetId": "subnet-b61f49f0", + "TagSet": [ + + ], + "VpcId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "ec2-describe-network-interfaces-1", + "title": "To describe a network interface" + } + ], + "DescribeRegions": [ + { + "output": { + "Regions": [ + { + "Endpoint": "ec2.ap-south-1.amazonaws.com", + "RegionName": "ap-south-1" + }, + { + "Endpoint": "ec2.eu-west-1.amazonaws.com", + "RegionName": "eu-west-1" + }, + { + "Endpoint": "ec2.ap-southeast-1.amazonaws.com", + "RegionName": "ap-southeast-1" + }, + { + "Endpoint": "ec2.ap-southeast-2.amazonaws.com", + "RegionName": "ap-southeast-2" + }, + { + "Endpoint": "ec2.eu-central-1.amazonaws.com", + "RegionName": "eu-central-1" + }, + { + "Endpoint": "ec2.ap-northeast-2.amazonaws.com", + "RegionName": "ap-northeast-2" + }, + { + "Endpoint": "ec2.ap-northeast-1.amazonaws.com", + "RegionName": "ap-northeast-1" + }, + { + "Endpoint": "ec2.us-east-1.amazonaws.com", + "RegionName": "us-east-1" + }, + { + "Endpoint": "ec2.sa-east-1.amazonaws.com", + "RegionName": "sa-east-1" + }, + { + "Endpoint": "ec2.us-west-1.amazonaws.com", + "RegionName": "us-west-1" + }, + { + "Endpoint": "ec2.us-west-2.amazonaws.com", + "RegionName": "us-west-2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all the regions that are available to you.", + "id": "ec2-describe-regions-1", + "title": "To describe your regions" + } + ], + "DescribeRouteTables": [ + { + "input": { + "RouteTableIds": [ + "rtb-1f382e7d" + ] + }, + "output": { + "RouteTables": [ + { + "Associations": [ + { + "Main": true, + "RouteTableAssociationId": "rtbassoc-d8ccddba", + "RouteTableId": "rtb-1f382e7d" + } + ], + "PropagatingVgws": [ + + ], + "RouteTableId": "rtb-1f382e7d", + "Routes": [ + { + "DestinationCidrBlock": "10.0.0.0/16", + "GatewayId": "local", + "State": "active" + } + ], + "Tags": [ + + ], + "VpcId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified route table.", + "id": "ec2-describe-route-tables-1", + "title": "To describe a route table" + } + ], + "DescribeScheduledInstanceAvailability": [ + { + "input": { + "FirstSlotStartTimeRange": { + "EarliestTime": "2016-01-31T00:00:00Z", + "LatestTime": "2016-01-31T04:00:00Z" + }, + "Recurrence": { + "Frequency": "Weekly", + "Interval": 1, + "OccurrenceDays": [ + 1 + ] + } + }, + "output": { + "ScheduledInstanceAvailabilitySet": [ + { + "AvailabilityZone": "us-west-2b", + "AvailableInstanceCount": 20, + "FirstSlotStartTime": "2016-01-31T00:00:00Z", + "HourlyPrice": "0.095", + "InstanceType": "c4.large", + "MaxTermDurationInDays": 366, + "MinTermDurationInDays": 366, + "NetworkPlatform": "EC2-VPC", + "Platform": "Linux/UNIX", + "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi...", + "Recurrence": { + "Frequency": "Weekly", + "Interval": 1, + "OccurrenceDaySet": [ + 1 + ], + "OccurrenceRelativeToEnd": false + }, + "SlotDurationInHours": 23, + "TotalScheduledInstanceHours": 1219 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a schedule that occurs every week on Sunday, starting on the specified date. Note that the output contains a single schedule as an example.", + "id": "ec2-describe-scheduled-instance-availability-1", + "title": "To describe an available schedule" + } + ], + "DescribeScheduledInstances": [ + { + "input": { + "ScheduledInstanceIds": [ + "sci-1234-1234-1234-1234-123456789012" + ] + }, + "output": { + "ScheduledInstanceSet": [ + { + "AvailabilityZone": "us-west-2b", + "CreateDate": "2016-01-25T21:43:38.612Z", + "HourlyPrice": "0.095", + "InstanceCount": 1, + "InstanceType": "c4.large", + "NetworkPlatform": "EC2-VPC", + "NextSlotStartTime": "2016-01-31T09:00:00Z", + "Platform": "Linux/UNIX", + "Recurrence": { + "Frequency": "Weekly", + "Interval": 1, + "OccurrenceDaySet": [ + 1 + ], + "OccurrenceRelativeToEnd": false, + "OccurrenceUnit": "" + }, + "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", + "SlotDurationInHours": 32, + "TermEndDate": "2017-01-31T09:00:00Z", + "TermStartDate": "2016-01-31T09:00:00Z", + "TotalScheduledInstanceHours": 1696 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Scheduled Instance.", + "id": "ec2-describe-scheduled-instances-1", + "title": "To describe your Scheduled Instances" + } + ], + "DescribeSecurityGroupReferences": [ + { + "input": { + "GroupId": [ + "sg-903004f8" + ] + }, + "output": { + "SecurityGroupReferenceSet": [ + { + "GroupId": "sg-903004f8", + "ReferencingVpcId": "vpc-1a2b3c4d", + "VpcPeeringConnectionId": "pcx-b04deed9" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the security group references for the specified security group.", + "id": "to-describe-security-group-references-1529354312088", + "title": "To describe security group references" + } + ], + "DescribeSecurityGroups": [ + { + "input": { + "GroupIds": [ + "sg-903004f8" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified security group.", + "id": "to-describe-a-security-group-1529354426314", + "title": "To describe a security group" + }, + { + "input": { + "Filters": [ + { + "Name": "tag:Purpose", + "Values": [ + "test" + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the security groups that include the specified tag (Purpose=test).", + "id": "to-describe-a-tagged-security-group-1529354553880", + "title": "To describe a tagged security group" + } + ], + "DescribeSnapshotAttribute": [ + { + "input": { + "Attribute": "createVolumePermission", + "SnapshotId": "snap-066877671789bd71b" + }, + "output": { + "CreateVolumePermissions": [ + + ], + "SnapshotId": "snap-066877671789bd71b" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the ``createVolumePermission`` attribute on a snapshot with the snapshot ID of ``snap-066877671789bd71b``.", + "id": "to-describe-snapshot-attributes-1472503199736", + "title": "To describe snapshot attributes" + } + ], + "DescribeSnapshots": [ + { + "input": { + "SnapshotIds": [ + "snap-1234567890abcdef0" + ] + }, + "output": { + "NextToken": "", + "Snapshots": [ + { + "Description": "This is my snapshot.", + "OwnerId": "012345678910", + "Progress": "100%", + "SnapshotId": "snap-1234567890abcdef0", + "StartTime": "2014-02-28T21:28:32.000Z", + "State": "completed", + "VolumeId": "vol-049df61146c4d7901", + "VolumeSize": 8 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes a snapshot with the snapshot ID of ``snap-1234567890abcdef0``.", + "id": "to-describe-a-snapshot-1472503807850", + "title": "To describe a snapshot" + }, + { + "input": { + "Filters": [ + { + "Name": "status", + "Values": [ + "pending" + ] + } + ], + "OwnerIds": [ + "012345678910" + ] + }, + "output": { + "NextToken": "", + "Snapshots": [ + { + "Description": "This is my copied snapshot.", + "OwnerId": "012345678910", + "Progress": "87%", + "SnapshotId": "snap-066877671789bd71b", + "StartTime": "2014-02-28T21:37:27.000Z", + "State": "pending", + "VolumeId": "vol-1234567890abcdef0", + "VolumeSize": 8 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all snapshots owned by the ID 012345678910 that are in the ``pending`` status.", + "id": "to-describe-snapshots-using-filters-1472503929793", + "title": "To describe snapshots using filters" + } + ], + "DescribeSpotDatafeedSubscription": [ + { + "output": { + "SpotDatafeedSubscription": { + "Bucket": "my-s3-bucket", + "OwnerId": "123456789012", + "Prefix": "spotdata", + "State": "Active" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the Spot Instance datafeed subscription for your AWS account.", + "id": "ec2-describe-spot-datafeed-subscription-1", + "title": "To describe the datafeed for your AWS account" + } + ], + "DescribeSpotFleetInstances": [ + { + "input": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "output": { + "ActiveInstances": [ + { + "InstanceId": "i-1234567890abcdef0", + "InstanceType": "m3.medium", + "SpotInstanceRequestId": "sir-08b93456" + } + ], + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the Spot Instances associated with the specified Spot fleet.", + "id": "ec2-describe-spot-fleet-instances-1", + "title": "To describe the Spot Instances associated with a Spot fleet" + } + ], + "DescribeSpotFleetRequestHistory": [ + { + "input": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "StartTime": "2015-05-26T00:00:00Z" + }, + "output": { + "HistoryRecords": [ + { + "EventInformation": { + "EventSubType": "submitted" + }, + "EventType": "fleetRequestChange", + "Timestamp": "2015-05-26T23:17:20.697Z" + }, + { + "EventInformation": { + "EventSubType": "active" + }, + "EventType": "fleetRequestChange", + "Timestamp": "2015-05-26T23:17:20.873Z" + }, + { + "EventInformation": { + "EventSubType": "launched", + "InstanceId": "i-1234567890abcdef0" + }, + "EventType": "instanceChange", + "Timestamp": "2015-05-26T23:21:21.712Z" + }, + { + "EventInformation": { + "EventSubType": "launched", + "InstanceId": "i-1234567890abcdef1" + }, + "EventType": "instanceChange", + "Timestamp": "2015-05-26T23:21:21.816Z" + } + ], + "NextToken": "CpHNsscimcV5oH7bSbub03CI2Qms5+ypNpNm+53MNlR0YcXAkp0xFlfKf91yVxSExmbtma3awYxMFzNA663ZskT0AHtJ6TCb2Z8bQC2EnZgyELbymtWPfpZ1ZbauVg+P+TfGlWxWWB/Vr5dk5d4LfdgA/DRAHUrYgxzrEXAMPLE=", + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "StartTime": "2015-05-26T00:00:00Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example returns the history for the specified Spot fleet starting at the specified time.", + "id": "ec2-describe-spot-fleet-request-history-1", + "title": "To describe Spot fleet history" + } + ], + "DescribeSpotFleetRequests": [ + { + "input": { + "SpotFleetRequestIds": [ + "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + ] + }, + "output": { + "SpotFleetRequestConfigs": [ + { + "SpotFleetRequestConfig": { + "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", + "LaunchSpecifications": [ + { + "EbsOptimized": false, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "cc2.8xlarge", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeleteOnTermination": false, + "DeviceIndex": 0, + "SecondaryPrivateIpAddressCount": 0, + "SubnetId": "subnet-a61dafcf" + } + ] + }, + { + "EbsOptimized": false, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "r3.8xlarge", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeleteOnTermination": false, + "DeviceIndex": 0, + "SecondaryPrivateIpAddressCount": 0, + "SubnetId": "subnet-a61dafcf" + } + ] + } + ], + "SpotPrice": "0.05", + "TargetCapacity": 20 + }, + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "SpotFleetRequestState": "active" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Spot fleet request.", + "id": "ec2-describe-spot-fleet-requests-1", + "title": "To describe a Spot fleet request" + } + ], + "DescribeSpotInstanceRequests": [ + { + "input": { + "SpotInstanceRequestIds": [ + "sir-08b93456" + ] + }, + "output": { + "SpotInstanceRequests": [ + { + "CreateTime": "2014-04-30T18:14:55.000Z", + "InstanceId": "i-1234567890abcdef0", + "LaunchSpecification": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sda1", + "Ebs": { + "DeleteOnTermination": true, + "VolumeSize": 8, + "VolumeType": "standard" + } + } + ], + "EbsOptimized": false, + "ImageId": "ami-7aba833f", + "InstanceType": "m1.small", + "KeyName": "my-key-pair", + "SecurityGroups": [ + { + "GroupId": "sg-e38f24a7", + "GroupName": "my-security-group" + } + ] + }, + "LaunchedAvailabilityZone": "us-west-1b", + "ProductDescription": "Linux/UNIX", + "SpotInstanceRequestId": "sir-08b93456", + "SpotPrice": "0.010000", + "State": "active", + "Status": { + "Code": "fulfilled", + "Message": "Your Spot request is fulfilled.", + "UpdateTime": "2014-04-30T18:16:21.000Z" + }, + "Type": "one-time" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified Spot Instance request.", + "id": "ec2-describe-spot-instance-requests-1", + "title": "To describe a Spot Instance request" + } + ], + "DescribeSpotPriceHistory": [ + { + "input": { + "EndTime": "2014-01-06T08:09:10", + "InstanceTypes": [ + "m1.xlarge" + ], + "ProductDescriptions": [ + "Linux/UNIX (Amazon VPC)" + ], + "StartTime": "2014-01-06T07:08:09" + }, + "output": { + "SpotPriceHistory": [ + { + "AvailabilityZone": "us-west-1a", + "InstanceType": "m1.xlarge", + "ProductDescription": "Linux/UNIX (Amazon VPC)", + "SpotPrice": "0.080000", + "Timestamp": "2014-01-06T04:32:53.000Z" + }, + { + "AvailabilityZone": "us-west-1c", + "InstanceType": "m1.xlarge", + "ProductDescription": "Linux/UNIX (Amazon VPC)", + "SpotPrice": "0.080000", + "Timestamp": "2014-01-05T11:28:26.000Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example returns the Spot Price history for m1.xlarge, Linux/UNIX (Amazon VPC) instances for a particular day in January.", + "id": "ec2-describe-spot-price-history-1", + "title": "To describe Spot price history for Linux/UNIX (Amazon VPC)" + } + ], + "DescribeSubnets": [ + { + "input": { + "Filters": [ + { + "Name": "vpc-id", + "Values": [ + "vpc-a01106c2" + ] + } + ] + }, + "output": { + "Subnets": [ + { + "AvailabilityZone": "us-east-1c", + "AvailableIpAddressCount": 251, + "CidrBlock": "10.0.1.0/24", + "DefaultForAz": false, + "MapPublicIpOnLaunch": false, + "State": "available", + "SubnetId": "subnet-9d4a7b6c", + "VpcId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the subnets for the specified VPC.", + "id": "ec2-describe-subnets-1", + "title": "To describe the subnets for a VPC" + } + ], + "DescribeTags": [ + { + "input": { + "Filters": [ + { + "Name": "resource-id", + "Values": [ + "i-1234567890abcdef8" + ] + } + ] + }, + "output": { + "Tags": [ + { + "Key": "Stack", + "ResourceId": "i-1234567890abcdef8", + "ResourceType": "instance", + "Value": "test" + }, + { + "Key": "Name", + "ResourceId": "i-1234567890abcdef8", + "ResourceType": "instance", + "Value": "Beta Server" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags for the specified instance.", + "id": "ec2-describe-tags-1", + "title": "To describe the tags for a single resource" + } + ], + "DescribeVolumeAttribute": [ + { + "input": { + "Attribute": "autoEnableIO", + "VolumeId": "vol-049df61146c4d7901" + }, + "output": { + "AutoEnableIO": { + "Value": false + }, + "VolumeId": "vol-049df61146c4d7901" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the ``autoEnableIo`` attribute of the volume with the ID ``vol-049df61146c4d7901``.", + "id": "to-describe-a-volume-attribute-1472505773492", + "title": "To describe a volume attribute" + } + ], + "DescribeVolumeStatus": [ + { + "input": { + "VolumeIds": [ + "vol-1234567890abcdef0" + ] + }, + "output": { + "VolumeStatuses": [ + { + "Actions": [ + + ], + "AvailabilityZone": "us-east-1a", + "Events": [ + + ], + "VolumeId": "vol-1234567890abcdef0", + "VolumeStatus": { + "Details": [ + { + "Name": "io-enabled", + "Status": "passed" + }, + { + "Name": "io-performance", + "Status": "not-applicable" + } + ], + "Status": "ok" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the status for the volume ``vol-1234567890abcdef0``.", + "id": "to-describe-the-status-of-a-single-volume-1472507016193", + "title": "To describe the status of a single volume" + }, + { + "input": { + "Filters": [ + { + "Name": "volume-status.status", + "Values": [ + "impaired" + ] + } + ] + }, + "output": { + "VolumeStatuses": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the status for all volumes that are impaired. In this example output, there are no impaired volumes.", + "id": "to-describe-the-status-of-impaired-volumes-1472507239821", + "title": "To describe the status of impaired volumes" + } + ], + "DescribeVolumes": [ + { + "input": { + }, + "output": { + "NextToken": "", + "Volumes": [ + { + "Attachments": [ + { + "AttachTime": "2013-12-18T22:35:00.000Z", + "DeleteOnTermination": true, + "Device": "/dev/sda1", + "InstanceId": "i-1234567890abcdef0", + "State": "attached", + "VolumeId": "vol-049df61146c4d7901" + } + ], + "AvailabilityZone": "us-east-1a", + "CreateTime": "2013-12-18T22:35:00.084Z", + "Size": 8, + "SnapshotId": "snap-1234567890abcdef0", + "State": "in-use", + "VolumeId": "vol-049df61146c4d7901", + "VolumeType": "standard" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all of your volumes in the default region.", + "id": "to-describe-all-volumes-1472506358883", + "title": "To describe all volumes" + }, + { + "input": { + "Filters": [ + { + "Name": "attachment.instance-id", + "Values": [ + "i-1234567890abcdef0" + ] + }, + { + "Name": "attachment.delete-on-termination", + "Values": [ + "true" + ] + } + ] + }, + "output": { + "Volumes": [ + { + "Attachments": [ + { + "AttachTime": "2013-12-18T22:35:00.000Z", + "DeleteOnTermination": true, + "Device": "/dev/sda1", + "InstanceId": "i-1234567890abcdef0", + "State": "attached", + "VolumeId": "vol-049df61146c4d7901" + } + ], + "AvailabilityZone": "us-east-1a", + "CreateTime": "2013-12-18T22:35:00.084Z", + "Size": 8, + "SnapshotId": "snap-1234567890abcdef0", + "State": "in-use", + "VolumeId": "vol-049df61146c4d7901", + "VolumeType": "standard" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes all volumes that are both attached to the instance with the ID i-1234567890abcdef0 and set to delete when the instance terminates.", + "id": "to-describe-volumes-that-are-attached-to-a-specific-instance-1472506613578", + "title": "To describe volumes that are attached to a specific instance" + } + ], + "DescribeVpcAttribute": [ + { + "input": { + "Attribute": "enableDnsSupport", + "VpcId": "vpc-a01106c2" + }, + "output": { + "EnableDnsSupport": { + "Value": true + }, + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.", + "id": "ec2-describe-vpc-attribute-1", + "title": "To describe the enableDnsSupport attribute" + }, + { + "input": { + "Attribute": "enableDnsHostnames", + "VpcId": "vpc-a01106c2" + }, + "output": { + "EnableDnsHostnames": { + "Value": true + }, + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the enableDnsHostnames attribute. This attribute indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", + "id": "ec2-describe-vpc-attribute-2", + "title": "To describe the enableDnsHostnames attribute" + } + ], + "DescribeVpcs": [ + { + "input": { + "VpcIds": [ + "vpc-a01106c2" + ] + }, + "output": { + "Vpcs": [ + { + "CidrBlock": "10.0.0.0/16", + "DhcpOptionsId": "dopt-7a8b9c2d", + "InstanceTenancy": "default", + "IsDefault": false, + "State": "available", + "Tags": [ + { + "Key": "Name", + "Value": "MyVPC" + } + ], + "VpcId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified VPC.", + "id": "ec2-describe-vpcs-1", + "title": "To describe a VPC" + } + ], + "DetachInternetGateway": [ + { + "input": { + "InternetGatewayId": "igw-c0a643a9", + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified Internet gateway from the specified VPC.", + "id": "ec2-detach-internet-gateway-1", + "title": "To detach an Internet gateway from a VPC" + } + ], + "DetachNetworkInterface": [ + { + "input": { + "AttachmentId": "eni-attach-66c4350a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified network interface from its attached instance.", + "id": "ec2-detach-network-interface-1", + "title": "To detach a network interface from an instance" + } + ], + "DetachVolume": [ + { + "input": { + "VolumeId": "vol-1234567890abcdef0" + }, + "output": { + "AttachTime": "2014-02-27T19:23:06.000Z", + "Device": "/dev/sdb", + "InstanceId": "i-1234567890abcdef0", + "State": "detaching", + "VolumeId": "vol-049df61146c4d7901" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the volume (``vol-049df61146c4d7901``) from the instance it is attached to.", + "id": "to-detach-a-volume-from-an-instance-1472507977694", + "title": "To detach a volume from an instance" + } + ], + "DisableVgwRoutePropagation": [ + { + "input": { + "GatewayId": "vgw-9a4cacf3", + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disables the specified virtual private gateway from propagating static routes to the specified route table.", + "id": "ec2-disable-vgw-route-propagation-1", + "title": "To disable route propagation" + } + ], + "DisassociateAddress": [ + { + "input": { + "AssociationId": "eipassoc-2bebb745" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disassociates an Elastic IP address from an instance in a VPC.", + "id": "ec2-disassociate-address-1", + "title": "To disassociate an Elastic IP address in EC2-VPC" + }, + { + "input": { + "PublicIp": "198.51.100.0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disassociates an Elastic IP address from an instance in EC2-Classic.", + "id": "ec2-disassociate-address-2", + "title": "To disassociate an Elastic IP addresses in EC2-Classic" + } + ], + "DisassociateIamInstanceProfile": [ + { + "input": { + "AssociationId": "iip-assoc-05020b59952902f5f" + }, + "output": { + "IamInstanceProfileAssociation": { + "AssociationId": "iip-assoc-05020b59952902f5f", + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/admin-role", + "Id": "AIPAI5IVIHMFFYY2DKV5Y" + }, + "InstanceId": "i-123456789abcde123", + "State": "disassociating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disassociates the specified IAM instance profile from an instance.", + "id": "to-disassociate-an-iam-instance-profile-1529355364478", + "title": "To disassociate an IAM instance profile" + } + ], + "DisassociateRouteTable": [ + { + "input": { + "AssociationId": "rtbassoc-781d0d1a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example disassociates the specified route table from its associated subnet.", + "id": "ec2-disassociate-route-table-1", + "title": "To disassociate a route table" + } + ], + "EnableVgwRoutePropagation": [ + { + "input": { + "GatewayId": "vgw-9a4cacf3", + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables the specified virtual private gateway to propagate static routes to the specified route table.", + "id": "ec2-enable-vgw-route-propagation-1", + "title": "To enable route propagation" + } + ], + "EnableVolumeIO": [ + { + "input": { + "VolumeId": "vol-1234567890abcdef0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables I/O on volume ``vol-1234567890abcdef0``.", + "id": "to-enable-io-for-a-volume-1472508114867", + "title": "To enable I/O for a volume" + } + ], + "GetConsoleOutput": [ + { + "input": { + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + "InstanceId": "i-1234567890abcdef0", + "Output": "...", + "Timestamp": "2018-05-25T21:23:53.000Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the console output for the specified instance.", + "id": "to-get-the-console-output-1529355683194", + "title": "To get the console output" + } + ], + "GetLaunchTemplateData": [ + { + "input": { + "InstanceId": "0123d646e8048babc" + }, + "output": { + "LaunchTemplateData": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/xvda", + "Ebs": { + "DeleteOnTermination": true, + "Encrypted": false, + "Iops": 100, + "SnapshotId": "snap-02594938353ef77d3", + "VolumeSize": 8, + "VolumeType": "gp2" + } + } + ], + "EbsOptimized": false, + "ImageId": "ami-32cf7b4a", + "InstanceType": "t2.medium", + "KeyName": "my-key-pair", + "Monitoring": { + "Enabled": false + }, + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": false, + "DeleteOnTermination": true, + "Description": "", + "DeviceIndex": 0, + "Groups": [ + "sg-d14e1bb4" + ], + "Ipv6Addresses": [ + + ], + "NetworkInterfaceId": "eni-4338b5a9", + "PrivateIpAddress": "10.0.3.233", + "PrivateIpAddresses": [ + { + "Primary": true, + "PrivateIpAddress": "10.0.3.233" + } + ], + "SubnetId": "subnet-5264e837" + } + ], + "Placement": { + "AvailabilityZone": "us-east-2b", + "GroupName": "", + "Tenancy": "default" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example gets the launch template data for the specified instance.", + "id": "to-get-the-launch-template-data-for-an-instance--1529356515702", + "title": "To get the launch template data for an instance " + } + ], + "ModifyImageAttribute": [ + { + "input": { + "ImageId": "ami-5731123e", + "LaunchPermission": { + "Add": [ + { + "Group": "all" + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example makes the specified AMI public.", + "id": "to-make-an-ami-public-1529357395278", + "title": "To make an AMI public" + }, + { + "input": { + "ImageId": "ami-5731123e", + "LaunchPermission": { + "Add": [ + { + "UserId": "123456789012" + } + ] + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example grants launch permissions for the specified AMI to the specified AWS account.", + "id": "to-grant-launch-permissions-1529357727906", + "title": "To grant launch permissions" + } + ], + "ModifyInstanceAttribute": [ + { + "input": { + "InstanceId": "i-1234567890abcdef0", + "InstanceType": { + "Value": "m5.large" + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the instance type of the specified stopped instance.", + "id": "to-modify-the-instance-type-1529357844378", + "title": "To modify the instance type" + }, + { + "input": { + "EnaSupport": { + "Value": true + }, + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables enhanced networking for the specified stopped instance.", + "id": "to-enable-enhanced-networking-1529358279870", + "title": "To enable enhanced networking" + } + ], + "ModifyLaunchTemplate": [ + { + "input": { + "DefaultVersion": "2", + "LaunchTemplateId": "lt-0abcd290751193123" + }, + "output": { + "LaunchTemplate": { + "CreateTime": "2017-12-01T13:35:46.000Z", + "CreatedBy": "arn:aws:iam::123456789012:root", + "DefaultVersionNumber": 2, + "LatestVersionNumber": 2, + "LaunchTemplateId": "lt-0abcd290751193123", + "LaunchTemplateName": "WebServers" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example specifies version 2 as the default version of the specified launch template.", + "id": "to-change-the-default-version-of-a-launch-template-1529358440364", + "title": "To change the default version of a launch template" + } + ], + "ModifyNetworkInterfaceAttribute": [ + { + "input": { + "Attachment": { + "AttachmentId": "eni-attach-43348162", + "DeleteOnTermination": false + }, + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the attachment attribute of the specified network interface.", + "id": "ec2-modify-network-interface-attribute-1", + "title": "To modify the attachment attribute of a network interface" + }, + { + "input": { + "Description": { + "Value": "My description" + }, + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the description attribute of the specified network interface.", + "id": "ec2-modify-network-interface-attribute-2", + "title": "To modify the description attribute of a network interface" + }, + { + "input": { + "Groups": [ + "sg-903004f8", + "sg-1a2b3c4d" + ], + "NetworkInterfaceId": "eni-686ea200" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command modifies the groupSet attribute of the specified network interface.", + "id": "ec2-modify-network-interface-attribute-3", + "title": "To modify the groupSet attribute of a network interface" + }, + { + "input": { + "NetworkInterfaceId": "eni-686ea200", + "SourceDestCheck": { + "Value": false + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command modifies the sourceDestCheck attribute of the specified network interface.", + "id": "ec2-modify-network-interface-attribute-4", + "title": "To modify the sourceDestCheck attribute of a network interface" + } + ], + "ModifySnapshotAttribute": [ + { + "input": { + "Attribute": "createVolumePermission", + "OperationType": "remove", + "SnapshotId": "snap-1234567890abcdef0", + "UserIds": [ + "123456789012" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies snapshot ``snap-1234567890abcdef0`` to remove the create volume permission for a user with the account ID ``123456789012``. If the command succeeds, no output is returned.", + "id": "to-modify-a-snapshot-attribute-1472508385907", + "title": "To modify a snapshot attribute" + }, + { + "input": { + "Attribute": "createVolumePermission", + "GroupNames": [ + "all" + ], + "OperationType": "add", + "SnapshotId": "snap-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example makes the snapshot ``snap-1234567890abcdef0`` public.", + "id": "to-make-a-snapshot-public-1472508470529", + "title": "To make a snapshot public" + } + ], + "ModifySpotFleetRequest": [ + { + "input": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "TargetCapacity": 20 + }, + "output": { + "Return": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example increases the target capacity of the specified Spot fleet request.", + "id": "ec2-modify-spot-fleet-request-1", + "title": "To increase the target capacity of a Spot fleet request" + }, + { + "input": { + "ExcessCapacityTerminationPolicy": "NoTermination ", + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", + "TargetCapacity": 10 + }, + "output": { + "Return": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example decreases the target capacity of the specified Spot fleet request without terminating any Spot Instances as a result.", + "id": "ec2-modify-spot-fleet-request-2", + "title": "To decrease the target capacity of a Spot fleet request" + } + ], + "ModifySubnetAttribute": [ + { + "input": { + "MapPublicIpOnLaunch": { + "Value": true + }, + "SubnetId": "subnet-1a2b3c4d" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the specified subnet so that all instances launched into this subnet are assigned a public IP address.", + "id": "ec2-modify-subnet-attribute-1", + "title": "To change a subnet's public IP addressing behavior" + } + ], + "ModifyVolumeAttribute": [ + { + "input": { + "AutoEnableIO": { + "Value": true + }, + "DryRun": true, + "VolumeId": "vol-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the ``autoEnableIo`` attribute of the volume with the ID ``vol-1234567890abcdef0`` to ``true``. If the command succeeds, no output is returned.", + "id": "to-modify-a-volume-attribute-1472508596749", + "title": "To modify a volume attribute" + } + ], + "ModifyVpcAttribute": [ + { + "input": { + "EnableDnsSupport": { + "Value": false + }, + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the enableDnsSupport attribute. This attribute indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for instances in the VPC to their corresponding IP addresses; otherwise, it does not.", + "id": "ec2-modify-vpc-attribute-1", + "title": "To modify the enableDnsSupport attribute" + }, + { + "input": { + "EnableDnsHostnames": { + "Value": false + }, + "VpcId": "vpc-a01106c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the enableDnsHostnames attribute. This attribute indicates whether instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.", + "id": "ec2-modify-vpc-attribute-2", + "title": "To modify the enableDnsHostnames attribute" + } + ], + "MoveAddressToVpc": [ + { + "input": { + "PublicIp": "54.123.4.56" + }, + "output": { + "Status": "MoveInProgress" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example moves the specified Elastic IP address to the EC2-VPC platform.", + "id": "ec2-move-address-to-vpc-1", + "title": "To move an address to EC2-VPC" + } + ], + "PurchaseScheduledInstances": [ + { + "input": { + "PurchaseRequests": [ + { + "InstanceCount": 1, + "PurchaseToken": "eyJ2IjoiMSIsInMiOjEsImMiOi..." + } + ] + }, + "output": { + "ScheduledInstanceSet": [ + { + "AvailabilityZone": "us-west-2b", + "CreateDate": "2016-01-25T21:43:38.612Z", + "HourlyPrice": "0.095", + "InstanceCount": 1, + "InstanceType": "c4.large", + "NetworkPlatform": "EC2-VPC", + "NextSlotStartTime": "2016-01-31T09:00:00Z", + "Platform": "Linux/UNIX", + "Recurrence": { + "Frequency": "Weekly", + "Interval": 1, + "OccurrenceDaySet": [ + 1 + ], + "OccurrenceRelativeToEnd": false, + "OccurrenceUnit": "" + }, + "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012", + "SlotDurationInHours": 32, + "TermEndDate": "2017-01-31T09:00:00Z", + "TermStartDate": "2016-01-31T09:00:00Z", + "TotalScheduledInstanceHours": 1696 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example purchases a Scheduled Instance.", + "id": "ec2-purchase-scheduled-instances-1", + "title": "To purchase a Scheduled Instance" + } + ], + "RebootInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef5" + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reboots the specified EC2 instance.", + "id": "to-reboot-an-ec2-instance-1529358566382", + "title": "To reboot an EC2 instance" + } + ], + "ReleaseAddress": [ + { + "input": { + "AllocationId": "eipalloc-64d5890a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example releases an Elastic IP address for use with instances in a VPC.", + "id": "ec2-release-address-1", + "title": "To release an Elastic IP address for EC2-VPC" + }, + { + "input": { + "PublicIp": "198.51.100.0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example releases an Elastic IP address for use with instances in EC2-Classic.", + "id": "ec2-release-address-2", + "title": "To release an Elastic IP addresses for EC2-Classic" + } + ], + "ReplaceNetworkAclAssociation": [ + { + "input": { + "AssociationId": "aclassoc-e5b95c8c", + "NetworkAclId": "acl-5fb85d36" + }, + "output": { + "NewAssociationId": "aclassoc-3999875b" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified network ACL with the subnet for the specified network ACL association.", + "id": "ec2-replace-network-acl-association-1", + "title": "To replace the network ACL associated with a subnet" + } + ], + "ReplaceNetworkAclEntry": [ + { + "input": { + "CidrBlock": "203.0.113.12/24", + "Egress": false, + "NetworkAclId": "acl-5fb85d36", + "PortRange": { + "From": 53, + "To": 53 + }, + "Protocol": "udp", + "RuleAction": "allow", + "RuleNumber": 100 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces an entry for the specified network ACL. The new rule 100 allows ingress traffic from 203.0.113.12/24 on UDP port 53 (DNS) into any associated subnet.", + "id": "ec2-replace-network-acl-entry-1", + "title": "To replace a network ACL entry" + } + ], + "ReplaceRoute": [ + { + "input": { + "DestinationCidrBlock": "10.0.0.0/16", + "GatewayId": "vgw-9a4cacf3", + "RouteTableId": "rtb-22574640" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the specified route in the specified table table. The new route matches the specified CIDR and sends the traffic to the specified virtual private gateway.", + "id": "ec2-replace-route-1", + "title": "To replace a route" + } + ], + "ReplaceRouteTableAssociation": [ + { + "input": { + "AssociationId": "rtbassoc-781d0d1a", + "RouteTableId": "rtb-22574640" + }, + "output": { + "NewAssociationId": "rtbassoc-3a1f0f58" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified route table with the subnet for the specified route table association.", + "id": "ec2-replace-route-table-association-1", + "title": "To replace the route table associated with a subnet" + } + ], + "RequestSpotFleet": [ + { + "input": { + "SpotFleetRequestConfig": { + "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", + "LaunchSpecifications": [ + { + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" + }, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.medium", + "KeyName": "my-key-pair", + "SecurityGroups": [ + { + "GroupId": "sg-1a2b3c4d" + } + ], + "SubnetId": "subnet-1a2b3c4d, subnet-3c4d5e6f" + } + ], + "SpotPrice": "0.04", + "TargetCapacity": 2 + } + }, + "output": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a Spot fleet request with two launch specifications that differ only by subnet. The Spot fleet launches the instances in the specified subnet with the lowest price. If the instances are launched in a default VPC, they receive a public IP address by default. If the instances are launched in a nondefault VPC, they do not receive a public IP address by default. Note that you can't specify different subnets from the same Availability Zone in a Spot fleet request.", + "id": "ec2-request-spot-fleet-1", + "title": "To request a Spot fleet in the subnet with the lowest price" + }, + { + "input": { + "SpotFleetRequestConfig": { + "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", + "LaunchSpecifications": [ + { + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" + }, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.medium", + "KeyName": "my-key-pair", + "Placement": { + "AvailabilityZone": "us-west-2a, us-west-2b" + }, + "SecurityGroups": [ + { + "GroupId": "sg-1a2b3c4d" + } + ] + } + ], + "SpotPrice": "0.04", + "TargetCapacity": 2 + } + }, + "output": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a Spot fleet request with two launch specifications that differ only by Availability Zone. The Spot fleet launches the instances in the specified Availability Zone with the lowest price. If your account supports EC2-VPC only, Amazon EC2 launches the Spot instances in the default subnet of the Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the Availability Zone.", + "id": "ec2-request-spot-fleet-2", + "title": "To request a Spot fleet in the Availability Zone with the lowest price" + }, + { + "input": { + "SpotFleetRequestConfig": { + "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", + "LaunchSpecifications": [ + { + "IamInstanceProfile": { + "Arn": "arn:aws:iam::880185128111:instance-profile/my-iam-role" + }, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.medium", + "KeyName": "my-key-pair", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Groups": [ + "sg-1a2b3c4d" + ], + "SubnetId": "subnet-1a2b3c4d" + } + ] + } + ], + "SpotPrice": "0.04", + "TargetCapacity": 2 + } + }, + "output": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example assigns public addresses to instances launched in a nondefault VPC. Note that when you specify a network interface, you must include the subnet ID and security group ID using the network interface.", + "id": "ec2-request-spot-fleet-3", + "title": "To launch Spot instances in a subnet and assign them public IP addresses" + }, + { + "input": { + "SpotFleetRequestConfig": { + "AllocationStrategy": "diversified", + "IamFleetRole": "arn:aws:iam::123456789012:role/my-spot-fleet-role", + "LaunchSpecifications": [ + { + "ImageId": "ami-1a2b3c4d", + "InstanceType": "c4.2xlarge", + "SubnetId": "subnet-1a2b3c4d" + }, + { + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.2xlarge", + "SubnetId": "subnet-1a2b3c4d" + }, + { + "ImageId": "ami-1a2b3c4d", + "InstanceType": "r3.2xlarge", + "SubnetId": "subnet-1a2b3c4d" + } + ], + "SpotPrice": "0.70", + "TargetCapacity": 30 + } + }, + "output": { + "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a Spot fleet request that launches 30 instances using the diversified allocation strategy. The launch specifications differ by instance type. The Spot fleet distributes the instances across the launch specifications such that there are 10 instances of each type.", + "id": "ec2-request-spot-fleet-4", + "title": "To request a Spot fleet using the diversified allocation strategy" + } + ], + "RequestSpotInstances": [ + { + "input": { + "InstanceCount": 5, + "LaunchSpecification": { + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" + }, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.medium", + "KeyName": "my-key-pair", + "Placement": { + "AvailabilityZone": "us-west-2a" + }, + "SecurityGroupIds": [ + "sg-1a2b3c4d" + ] + }, + "SpotPrice": "0.03", + "Type": "one-time" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a one-time Spot Instance request for five instances in the specified Availability Zone. If your account supports EC2-VPC only, Amazon EC2 launches the instances in the default subnet of the specified Availability Zone. If your account supports EC2-Classic, Amazon EC2 launches the instances in EC2-Classic in the specified Availability Zone.", + "id": "ec2-request-spot-instances-1", + "title": "To create a one-time Spot Instance request" + }, + { + "input": { + "InstanceCount": 5, + "LaunchSpecification": { + "IamInstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role" + }, + "ImageId": "ami-1a2b3c4d", + "InstanceType": "m3.medium", + "SecurityGroupIds": [ + "sg-1a2b3c4d" + ], + "SubnetId": "subnet-1a2b3c4d" + }, + "SpotPrice": "0.050", + "Type": "one-time" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command creates a one-time Spot Instance request for five instances in the specified subnet. Amazon EC2 launches the instances in the specified subnet. If the VPC is a nondefault VPC, the instances do not receive a public IP address by default.", + "id": "ec2-request-spot-instances-2", + "title": "To create a one-time Spot Instance request" + } + ], + "ResetImageAttribute": [ + { + "input": { + "Attribute": "launchPermission", + "ImageId": "ami-5731123e" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets the launchPermission attribute for the specified AMI. By default, AMIs are private.", + "id": "to-reset-the-launchpermission-attribute-1529359519534", + "title": "To reset the launchPermission attribute" + } + ], + "ResetInstanceAttribute": [ + { + "input": { + "Attribute": "sourceDestCheck", + "InstanceId": "i-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets the sourceDestCheck attribute for the specified instance.", + "id": "to-reset-the-sourcedestcheck-attribute-1529359630708", + "title": "To reset the sourceDestCheck attribute" + } + ], + "ResetSnapshotAttribute": [ + { + "input": { + "Attribute": "createVolumePermission", + "SnapshotId": "snap-1234567890abcdef0" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets the create volume permissions for snapshot ``snap-1234567890abcdef0``. If the command succeeds, no output is returned.", + "id": "to-reset-a-snapshot-attribute-1472508825735", + "title": "To reset a snapshot attribute" + } + ], + "RestoreAddressToClassic": [ + { + "input": { + "PublicIp": "198.51.100.0" + }, + "output": { + "PublicIp": "198.51.100.0", + "Status": "MoveInProgress" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example restores the specified Elastic IP address to the EC2-Classic platform.", + "id": "ec2-restore-address-to-classic-1", + "title": "To restore an address to EC2-Classic" + } + ], + "RunInstances": [ + { + "input": { + "BlockDeviceMappings": [ + { + "DeviceName": "/dev/sdh", + "Ebs": { + "VolumeSize": 100 + } + } + ], + "ImageId": "ami-abc12345", + "InstanceType": "t2.micro", + "KeyName": "my-key-pair", + "MaxCount": 1, + "MinCount": 1, + "SecurityGroupIds": [ + "sg-1a2b3c4d" + ], + "SubnetId": "subnet-6e7f829e", + "TagSpecifications": [ + { + "ResourceType": "instance", + "Tags": [ + { + "Key": "Purpose", + "Value": "test" + } + ] + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example launches an instance using the specified AMI, instance type, security group, subnet, block device mapping, and tags.", + "id": "to-launch-an-instance-1529360150806", + "title": "To launch an instance" + } + ], + "RunScheduledInstances": [ + { + "input": { + "InstanceCount": 1, + "LaunchSpecification": { + "IamInstanceProfile": { + "Name": "my-iam-role" + }, + "ImageId": "ami-12345678", + "InstanceType": "c4.large", + "KeyName": "my-key-pair", + "NetworkInterfaces": [ + { + "AssociatePublicIpAddress": true, + "DeviceIndex": 0, + "Groups": [ + "sg-12345678" + ], + "SubnetId": "subnet-12345678" + } + ] + }, + "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" + }, + "output": { + "InstanceIdSet": [ + "i-1234567890abcdef0" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example launches the specified Scheduled Instance in a VPC.", + "id": "ec2-run-scheduled-instances-1", + "title": "To launch a Scheduled Instance in a VPC" + }, + { + "input": { + "InstanceCount": 1, + "LaunchSpecification": { + "IamInstanceProfile": { + "Name": "my-iam-role" + }, + "ImageId": "ami-12345678", + "InstanceType": "c4.large", + "KeyName": "my-key-pair", + "Placement": { + "AvailabilityZone": "us-west-2b" + }, + "SecurityGroupIds": [ + "sg-12345678" + ] + }, + "ScheduledInstanceId": "sci-1234-1234-1234-1234-123456789012" + }, + "output": { + "InstanceIdSet": [ + "i-1234567890abcdef0" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example launches the specified Scheduled Instance in EC2-Classic.", + "id": "ec2-run-scheduled-instances-2", + "title": "To launch a Scheduled Instance in EC2-Classic" + } + ], + "StartInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "StartingInstances": [ + { + "CurrentState": { + "Code": 0, + "Name": "pending" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 80, + "Name": "stopped" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example starts the specified EC2 instance.", + "id": "to-start-a-stopped-ec2-instance-1529358792730", + "title": "To start a stopped EC2 instance" + } + ], + "StopInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "StoppingInstances": [ + { + "CurrentState": { + "Code": 64, + "Name": "stopping" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 16, + "Name": "running" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example stops the specified EC2 instance.", + "id": "to-stop-a-running-ec2-instance-1529358905540", + "title": "To stop a running EC2 instance" + } + ], + "TerminateInstances": [ + { + "input": { + "InstanceIds": [ + "i-1234567890abcdef0" + ] + }, + "output": { + "TerminatingInstances": [ + { + "CurrentState": { + "Code": 32, + "Name": "shutting-down" + }, + "InstanceId": "i-1234567890abcdef0", + "PreviousState": { + "Code": 16, + "Name": "running" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example terminates the specified EC2 instance.", + "id": "to-terminate-an-ec2-instance-1529359350660", + "title": "To terminate an EC2 instance" + } + ], + "UnassignPrivateIpAddresses": [ + { + "input": { + "NetworkInterfaceId": "eni-e5aa89a3", + "PrivateIpAddresses": [ + "10.0.0.82" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example unassigns the specified private IP address from the specified network interface.", + "id": "ec2-unassign-private-ip-addresses-1", + "title": "To unassign a secondary private IP address from a network interface" + } + ], + "UpdateSecurityGroupRuleDescriptionsEgress": [ + { + "input": { + "GroupId": "sg-123abc12", + "IpPermissions": [ + { + "FromPort": 80, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/24", + "Description": "Outbound HTTP access to server 2" + } + ], + "ToPort": 80 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the description for the specified security group rule.", + "id": "to-update-an-outbound-security-group-rule-description-1529360481544", + "title": "To update an outbound security group rule description" + } + ], + "UpdateSecurityGroupRuleDescriptionsIngress": [ + { + "input": { + "GroupId": "sg-123abc12", + "IpPermissions": [ + { + "FromPort": 22, + "IpProtocol": "tcp", + "IpRanges": [ + { + "CidrIp": "203.0.113.0/16", + "Description": "SSH access from the LA office" + } + ], + "ToPort": 22 + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the description for the specified security group rule.", + "id": "to-update-an-inbound-security-group-rule-description-1529360820372", + "title": "To update an inbound security group rule description" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-11-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/ec2/2016-11-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,528 @@ +{ + "pagination": { + "DescribeRouteTables": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "RouteTables" + }, + "DescribeIamInstanceProfileAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "IamInstanceProfileAssociations" + }, + "DescribeInstanceStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InstanceStatuses" + }, + "DescribeInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Reservations" + }, + "DescribeReservedInstancesOfferings": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ReservedInstancesOfferings" + }, + "DescribeReservedInstancesModifications": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "ReservedInstancesModifications" + }, + "DescribeSecurityGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "SecurityGroups" + }, + "DescribeSnapshots": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Snapshots" + }, + "DescribeSpotFleetInstances": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ActiveInstances" + }, + "DescribeSpotFleetRequests": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "SpotFleetRequestConfigs" + }, + "DescribeSpotPriceHistory": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "SpotPriceHistory" + }, + "DescribeTags": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Tags" + }, + "DescribeVolumeStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VolumeStatuses" + }, + "DescribeVolumes": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Volumes" + }, + "DescribeNatGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NatGateways" + }, + "DescribeNetworkInterfaces": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NetworkInterfaces" + }, + "DescribeVpcEndpoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VpcEndpoints" + }, + "DescribeVpcEndpointServices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": [ + "ServiceDetails", + "ServiceNames" + ] + }, + "DescribeVpcEndpointConnections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VpcEndpointConnections" + }, + "DescribeByoipCidrs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ByoipCidrs" + }, + "DescribeCapacityReservations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CapacityReservations" + }, + "DescribeClassicLinkInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Instances" + }, + "DescribeClientVpnAuthorizationRules": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AuthorizationRules" + }, + "DescribeClientVpnConnections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Connections" + }, + "DescribeClientVpnEndpoints": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClientVpnEndpoints" + }, + "DescribeClientVpnRoutes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Routes" + }, + "DescribeClientVpnTargetNetworks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClientVpnTargetNetworks" + }, + "DescribeEgressOnlyInternetGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EgressOnlyInternetGateways" + }, + "DescribeFleets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Fleets" + }, + "DescribeFlowLogs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FlowLogs" + }, + "DescribeFpgaImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FpgaImages" + }, + "DescribeHostReservationOfferings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "OfferingSet" + }, + "DescribeHostReservations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "HostReservationSet" + }, + "DescribeHosts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Hosts" + }, + "DescribeImportImageTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ImportImageTasks" + }, + "DescribeImportSnapshotTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ImportSnapshotTasks" + }, + "DescribeInstanceCreditSpecifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceCreditSpecifications" + }, + "DescribeLaunchTemplateVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LaunchTemplateVersions" + }, + "DescribeLaunchTemplates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LaunchTemplates" + }, + "DescribeMovingAddresses": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MovingAddressStatuses" + }, + "DescribeNetworkInterfacePermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NetworkInterfacePermissions" + }, + "DescribePrefixLists": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PrefixLists" + }, + "DescribePrincipalIdFormat": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Principals" + }, + "DescribePublicIpv4Pools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PublicIpv4Pools" + }, + "DescribeScheduledInstanceAvailability": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledInstanceAvailabilitySet" + }, + "DescribeScheduledInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledInstanceSet" + }, + "DescribeStaleSecurityGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StaleSecurityGroupSet" + }, + "DescribeTransitGatewayAttachments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayAttachments" + }, + "DescribeTransitGatewayRouteTables": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayRouteTables" + }, + "DescribeTransitGatewayVpcAttachments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayVpcAttachments" + }, + "DescribeTransitGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGateways" + }, + "DescribeVolumesModifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "VolumesModifications" + }, + "DescribeVpcClassicLinkDnsSupport": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Vpcs" + }, + "DescribeVpcEndpointConnectionNotifications": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ConnectionNotificationSet" + }, + "DescribeVpcEndpointServiceConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServiceConfigurations" + }, + "DescribeVpcEndpointServicePermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AllowedPrincipals" + }, + "DescribeVpcPeeringConnections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "VpcPeeringConnections" + }, + "GetTransitGatewayAttachmentPropagations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayAttachmentPropagations" + }, + "GetTransitGatewayRouteTableAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Associations" + }, + "GetTransitGatewayRouteTablePropagations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayRouteTablePropagations" + }, + "DescribeInternetGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InternetGateways" + }, + "DescribeNetworkAcls": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NetworkAcls" + }, + "DescribeVpcs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Vpcs" + }, + "DescribeSpotInstanceRequests": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SpotInstanceRequests" + }, + "DescribeDhcpOptions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DhcpOptions" + }, + "DescribeSubnets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Subnets" + }, + "DescribeTrafficMirrorFilters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrafficMirrorFilters" + }, + "DescribeTrafficMirrorSessions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrafficMirrorSessions" + }, + "DescribeTrafficMirrorTargets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrafficMirrorTargets" + }, + "DescribeExportImageTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ExportImageTasks" + }, + "DescribeFastSnapshotRestores": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FastSnapshotRestores" + }, + "DescribeIpv6Pools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Ipv6Pools" + }, + "GetAssociatedIpv6PoolCidrs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Ipv6CidrAssociations" + }, + "DescribeCoipPools": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CoipPools" + }, + "DescribeInstanceTypeOfferings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceTypeOfferings" + }, + "DescribeInstanceTypes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceTypes" + }, + "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGatewayRouteTableVirtualInterfaceGroupAssociations" + }, + "DescribeLocalGatewayRouteTableVpcAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGatewayRouteTableVpcAssociations" + }, + "DescribeLocalGatewayRouteTables": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGatewayRouteTables" + }, + "DescribeLocalGatewayVirtualInterfaceGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGatewayVirtualInterfaceGroups" + }, + "DescribeLocalGatewayVirtualInterfaces": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGatewayVirtualInterfaces" + }, + "DescribeLocalGateways": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LocalGateways" + }, + "DescribeTransitGatewayMulticastDomains": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayMulticastDomains" + }, + "DescribeTransitGatewayPeeringAttachments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransitGatewayPeeringAttachments" + }, + "GetTransitGatewayMulticastDomainAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MulticastDomainAssociations" + }, + "SearchLocalGatewayRoutes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Routes" + }, + "SearchTransitGatewayMulticastGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MulticastGroups" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-11-15/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/service-2.json --- python-botocore-1.4.70/botocore/data/ec2/2016-11-15/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,37893 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-15", + "endpointPrefix":"ec2", + "protocol":"ec2", + "serviceAbbreviation":"Amazon EC2", + "serviceFullName":"Amazon Elastic Compute Cloud", + "serviceId":"EC2", + "signatureVersion":"v4", + "uid":"ec2-2016-11-15", + "xmlNamespace":"http://ec2.amazonaws.com/doc/2016-11-15" + }, + "operations":{ + "AcceptReservedInstancesExchangeQuote":{ + "name":"AcceptReservedInstancesExchangeQuote", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptReservedInstancesExchangeQuoteRequest"}, + "output":{"shape":"AcceptReservedInstancesExchangeQuoteResult"}, + "documentation":"

Accepts the Convertible Reserved Instance exchange quote described in the GetReservedInstancesExchangeQuote call.

" + }, + "AcceptTransitGatewayPeeringAttachment":{ + "name":"AcceptTransitGatewayPeeringAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptTransitGatewayPeeringAttachmentRequest"}, + "output":{"shape":"AcceptTransitGatewayPeeringAttachmentResult"}, + "documentation":"

Accepts a transit gateway peering attachment request. The peering attachment must be in the pendingAcceptance state.

" + }, + "AcceptTransitGatewayVpcAttachment":{ + "name":"AcceptTransitGatewayVpcAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptTransitGatewayVpcAttachmentRequest"}, + "output":{"shape":"AcceptTransitGatewayVpcAttachmentResult"}, + "documentation":"

Accepts a request to attach a VPC to a transit gateway.

The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use RejectTransitGatewayVpcAttachment to reject a VPC attachment request.

" + }, + "AcceptVpcEndpointConnections":{ + "name":"AcceptVpcEndpointConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptVpcEndpointConnectionsRequest"}, + "output":{"shape":"AcceptVpcEndpointConnectionsResult"}, + "documentation":"

Accepts one or more interface VPC endpoint connection requests to your VPC endpoint service.

" + }, + "AcceptVpcPeeringConnection":{ + "name":"AcceptVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptVpcPeeringConnectionRequest"}, + "output":{"shape":"AcceptVpcPeeringConnectionResult"}, + "documentation":"

Accept a VPC peering connection request. To accept a request, the VPC peering connection must be in the pending-acceptance state, and you must be the owner of the peer VPC. Use DescribeVpcPeeringConnections to view your outstanding VPC peering connection requests.

For an inter-Region VPC peering connection request, you must accept the VPC peering connection in the Region of the accepter VPC.

" + }, + "AdvertiseByoipCidr":{ + "name":"AdvertiseByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdvertiseByoipCidrRequest"}, + "output":{"shape":"AdvertiseByoipCidrResult"}, + "documentation":"

Advertises an IPv4 or IPv6 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP).

You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

We recommend that you stop advertising the BYOIP CIDR from other locations when you advertise it from AWS. To minimize down time, you can configure your AWS resources to use an address from a BYOIP CIDR before it is advertised, and then simultaneously stop advertising it from the current location and start advertising it through AWS.

It can take a few minutes before traffic to the specified addresses starts routing to AWS because of BGP propagation delays.

To stop advertising the BYOIP CIDR, use WithdrawByoipCidr.

" + }, + "AllocateAddress":{ + "name":"AllocateAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateAddressRequest"}, + "output":{"shape":"AllocateAddressResult"}, + "documentation":"

Allocates an Elastic IP address to your AWS account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different AWS account.

You can allocate an Elastic IP address from an address pool owned by AWS or from an address pool created from a public IPv4 address range that you have brought to AWS for use with your AWS resources using bring your own IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

[EC2-VPC] If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another AWS account. You cannot recover an Elastic IP address for EC2-Classic. To attempt to recover an Elastic IP address that you released, specify it in this operation.

An Elastic IP address is for use either in the EC2-Classic platform or in a VPC. By default, you can allocate 5 Elastic IP addresses for EC2-Classic per Region and 5 Elastic IP addresses for EC2-VPC per Region.

For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" + }, + "AllocateHosts":{ + "name":"AllocateHosts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateHostsRequest"}, + "output":{"shape":"AllocateHostsResult"}, + "documentation":"

Allocates a Dedicated Host to your account. At a minimum, specify the supported instance type or instance family, the Availability Zone in which to allocate the host, and the number of hosts to allocate.

" + }, + "ApplySecurityGroupsToClientVpnTargetNetwork":{ + "name":"ApplySecurityGroupsToClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplySecurityGroupsToClientVpnTargetNetworkRequest"}, + "output":{"shape":"ApplySecurityGroupsToClientVpnTargetNetworkResult"}, + "documentation":"

Applies a security group to the association between the target network and the Client VPN endpoint. This action replaces the existing security groups with the specified security groups.

" + }, + "AssignIpv6Addresses":{ + "name":"AssignIpv6Addresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssignIpv6AddressesRequest"}, + "output":{"shape":"AssignIpv6AddressesResult"}, + "documentation":"

Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide.

You must specify either the IPv6 addresses or the IPv6 address count in the request.

" + }, + "AssignPrivateIpAddresses":{ + "name":"AssignPrivateIpAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssignPrivateIpAddressesRequest"}, + "output":{"shape":"AssignPrivateIpAddressesResult"}, + "documentation":"

Assigns one or more secondary private IP addresses to the specified network interface.

You can specify one or more specific secondary IP addresses, or you can specify the number of secondary IP addresses to be automatically assigned within the subnet's CIDR block range. The number of secondary IP addresses that you can assign to an instance varies by instance type. For information about instance types, see Instance Types in the Amazon Elastic Compute Cloud User Guide. For more information about Elastic IP addresses, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

When you move a secondary private IP address to another network interface, any Elastic IP address that is associated with the IP address is also moved.

Remapping an IP address is an asynchronous operation. When you move an IP address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s in the instance metadata to confirm that the remapping is complete.

You must specify either the IP addresses or the IP address count in the request.

" + }, + "AssociateAddress":{ + "name":"AssociateAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateAddressRequest"}, + "output":{"shape":"AssociateAddressResult"}, + "documentation":"

Associates an Elastic IP address with an instance or a network interface. Before you can use an Elastic IP address, you must allocate it to your account.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

[EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is already associated with a different instance, it is disassociated from that instance and associated with the specified instance. If you associate an Elastic IP address with an instance that has an existing Elastic IP address, the existing address is disassociated from the instance, but remains allocated to your account.

[VPC in an EC2-Classic account] If you don't specify a private IP address, the Elastic IP address is associated with the primary IP address. If the Elastic IP address is already associated with a different instance or a network interface, you get an error unless you allow reassociation. You cannot associate an Elastic IP address with an instance or network interface that has an existing Elastic IP address.

You cannot associate an Elastic IP address with an interface in a different network border group.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error, and you may be charged for each time the Elastic IP address is remapped to the same instance. For more information, see the Elastic IP Addresses section of Amazon EC2 Pricing.

" + }, + "AssociateClientVpnTargetNetwork":{ + "name":"AssociateClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateClientVpnTargetNetworkRequest"}, + "output":{"shape":"AssociateClientVpnTargetNetworkResult"}, + "documentation":"

Associates a target network with a Client VPN endpoint. A target network is a subnet in a VPC. You can associate multiple subnets from the same VPC with a Client VPN endpoint. You can associate only one subnet in each Availability Zone. We recommend that you associate at least two subnets to provide Availability Zone redundancy.

If you specified a VPC when you created the Client VPN endpoint or if you have previous subnet associations, the specified subnet must be in the same VPC. To specify a subnet that's in a different VPC, you must first modify the Client VPN endpoint (ModifyClientVpnEndpoint) and change the VPC that's associated with it.

" + }, + "AssociateDhcpOptions":{ + "name":"AssociateDhcpOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDhcpOptionsRequest"}, + "documentation":"

Associates a set of DHCP options (that you've previously created) with the specified VPC, or associates no DHCP options with the VPC.

After you associate the options with the VPC, any existing instances and all new instances that you launch in that VPC use the options. You don't need to restart or relaunch the instances. They automatically pick up the changes within a few hours, depending on how frequently the instance renews its DHCP lease. You can explicitly renew the lease using the operating system on the instance.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + }, + "AssociateIamInstanceProfile":{ + "name":"AssociateIamInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateIamInstanceProfileRequest"}, + "output":{"shape":"AssociateIamInstanceProfileResult"}, + "documentation":"

Associates an IAM instance profile with a running or stopped instance. You cannot associate more than one IAM instance profile with an instance.

" + }, + "AssociateRouteTable":{ + "name":"AssociateRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateRouteTableRequest"}, + "output":{"shape":"AssociateRouteTableResult"}, + "documentation":"

Associates a subnet in your VPC or an internet gateway or virtual private gateway attached to your VPC with a route table in your VPC. This association causes traffic from the subnet or gateway to be routed according to the routes in the route table. The action returns an association ID, which you need in order to disassociate the route table later. A route table can be associated with multiple subnets.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "AssociateSubnetCidrBlock":{ + "name":"AssociateSubnetCidrBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateSubnetCidrBlockRequest"}, + "output":{"shape":"AssociateSubnetCidrBlockResult"}, + "documentation":"

Associates a CIDR block with your subnet. You can only associate a single IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length of /64.

" + }, + "AssociateTransitGatewayMulticastDomain":{ + "name":"AssociateTransitGatewayMulticastDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateTransitGatewayMulticastDomainRequest"}, + "output":{"shape":"AssociateTransitGatewayMulticastDomainResult"}, + "documentation":"

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment.

" + }, + "AssociateTransitGatewayRouteTable":{ + "name":"AssociateTransitGatewayRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateTransitGatewayRouteTableRequest"}, + "output":{"shape":"AssociateTransitGatewayRouteTableResult"}, + "documentation":"

Associates the specified attachment with the specified transit gateway route table. You can associate only one route table with an attachment.

" + }, + "AssociateVpcCidrBlock":{ + "name":"AssociateVpcCidrBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateVpcCidrBlockRequest"}, + "output":{"shape":"AssociateVpcCidrBlockResult"}, + "documentation":"

Associates a CIDR block with your VPC. You can associate a secondary IPv4 CIDR block, an Amazon-provided IPv6 CIDR block, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP). The IPv6 CIDR block size is fixed at /56.

You must specify one of the following in the request: an IPv4 CIDR block, an IPv6 pool, or an Amazon-provided IPv6 CIDR block.

For more information about associating CIDR blocks with your VPC and applicable restrictions, see VPC and Subnet Sizing in the Amazon Virtual Private Cloud User Guide.

" + }, + "AttachClassicLinkVpc":{ + "name":"AttachClassicLinkVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachClassicLinkVpcRequest"}, + "output":{"shape":"AttachClassicLinkVpcResult"}, + "documentation":"

Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or more of the VPC's security groups. You cannot link an EC2-Classic instance to more than one VPC at a time. You can only link an instance that's in the running state. An instance is automatically unlinked from a VPC when it's stopped - you can link it to the VPC again when you restart it.

After you've linked an instance, you cannot change the VPC security groups that are associated with it. To change the security groups, you must first unlink the instance, and then link it again.

Linking your instance to a VPC is sometimes referred to as attaching your instance.

" + }, + "AttachInternetGateway":{ + "name":"AttachInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachInternetGatewayRequest"}, + "documentation":"

Attaches an internet gateway or a virtual private gateway to a VPC, enabling connectivity between the internet and the VPC. For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + }, + "AttachNetworkInterface":{ + "name":"AttachNetworkInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachNetworkInterfaceRequest"}, + "output":{"shape":"AttachNetworkInterfaceResult"}, + "documentation":"

Attaches a network interface to an instance.

" + }, + "AttachVolume":{ + "name":"AttachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachVolumeRequest"}, + "output":{"shape":"VolumeAttachment"}, + "documentation":"

Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name.

Encrypted EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

After you attach an EBS volume, you must make it available. For more information, see Making an EBS Volume Available For Use.

If a volume has an AWS Marketplace product code:

  • The volume can be attached only to a stopped instance.

  • AWS Marketplace product codes are copied from the volume to the instance.

  • You must be subscribed to the product.

  • The instance type and operating system of the instance must support the product. For example, you can't detach a volume from a Windows instance and attach it to a Linux instance.

For more information, see Attaching Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + }, + "AttachVpnGateway":{ + "name":"AttachVpnGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachVpnGatewayRequest"}, + "output":{"shape":"AttachVpnGatewayResult"}, + "documentation":"

Attaches a virtual private gateway to a VPC. You can attach one virtual private gateway to one VPC at a time.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "AuthorizeClientVpnIngress":{ + "name":"AuthorizeClientVpnIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeClientVpnIngressRequest"}, + "output":{"shape":"AuthorizeClientVpnIngressResult"}, + "documentation":"

Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization rules act as firewall rules that grant access to networks. You must configure ingress authorization rules to enable clients to access resources in AWS or on-premises networks.

" + }, + "AuthorizeSecurityGroupEgress":{ + "name":"AuthorizeSecurityGroupEgress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeSecurityGroupEgressRequest"}, + "documentation":"

[VPC only] Adds the specified egress rules to a security group for use with a VPC.

An outbound rule permits instances to send traffic to the specified IPv4 or IPv6 CIDR address ranges, or to the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For the TCP and UDP protocols, you must also specify the destination port or port range. For the ICMP protocol, you must also specify the ICMP type and code. You can use -1 for the type or code to mean all types or all codes.

Rule changes are propagated to affected instances as quickly as possible. However, a small delay might occur.

For more information about VPC security group limits, see Amazon VPC Limits.

" + }, + "AuthorizeSecurityGroupIngress":{ + "name":"AuthorizeSecurityGroupIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeSecurityGroupIngressRequest"}, + "documentation":"

Adds the specified ingress rules to a security group.

An inbound rule permits instances to receive traffic from the specified IPv4 or IPv6 CIDR address ranges, or from the instances associated with the specified destination security groups.

You specify a protocol for each rule (for example, TCP). For TCP and UDP, you must also specify the destination port or port range. For ICMP/ICMPv6, you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean all types or all codes.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

For more information about VPC security group limits, see Amazon VPC Limits.

" + }, + "BundleInstance":{ + "name":"BundleInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BundleInstanceRequest"}, + "output":{"shape":"BundleInstanceResult"}, + "documentation":"

Bundles an Amazon instance store-backed Windows instance.

During bundling, only the root device volume (C:\\) is bundled. Data on other instance store volumes is not preserved.

This action is not applicable for Linux/Unix instances or Windows instances that are backed by Amazon EBS.

" + }, + "CancelBundleTask":{ + "name":"CancelBundleTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelBundleTaskRequest"}, + "output":{"shape":"CancelBundleTaskResult"}, + "documentation":"

Cancels a bundling operation for an instance store-backed Windows instance.

" + }, + "CancelCapacityReservation":{ + "name":"CancelCapacityReservation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelCapacityReservationRequest"}, + "output":{"shape":"CancelCapacityReservationResult"}, + "documentation":"

Cancels the specified Capacity Reservation, releases the reserved capacity, and changes the Capacity Reservation's state to cancelled.

Instances running in the reserved capacity continue running until you stop them. Stopped instances that target the Capacity Reservation can no longer launch. Modify these instances to either target a different Capacity Reservation, launch On-Demand Instance capacity, or run in any open Capacity Reservation that has matching attributes and sufficient capacity.

" + }, + "CancelConversionTask":{ + "name":"CancelConversionTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelConversionRequest"}, + "documentation":"

Cancels an active conversion task. The task can be the import of an instance or volume. The action removes all artifacts of the conversion, including a partially uploaded volume or instance. If the conversion is complete or is in the process of transferring the final disk image, the command fails and returns an exception.

For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

" + }, + "CancelExportTask":{ + "name":"CancelExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelExportTaskRequest"}, + "documentation":"

Cancels an active export task. The request removes all artifacts of the export, including any partially-created Amazon S3 objects. If the export task is complete or is in the process of transferring the final disk image, the command fails and returns an error.

" + }, + "CancelImportTask":{ + "name":"CancelImportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelImportTaskRequest"}, + "output":{"shape":"CancelImportTaskResult"}, + "documentation":"

Cancels an in-process import virtual machine or import snapshot task.

" + }, + "CancelReservedInstancesListing":{ + "name":"CancelReservedInstancesListing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelReservedInstancesListingRequest"}, + "output":{"shape":"CancelReservedInstancesListingResult"}, + "documentation":"

Cancels the specified Reserved Instance listing in the Reserved Instance Marketplace.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CancelSpotFleetRequests":{ + "name":"CancelSpotFleetRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelSpotFleetRequestsRequest"}, + "output":{"shape":"CancelSpotFleetRequestsResponse"}, + "documentation":"

Cancels the specified Spot Fleet requests.

After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot Instances. You must specify whether the Spot Fleet should also terminate its Spot Instances. If you terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually.

" + }, + "CancelSpotInstanceRequests":{ + "name":"CancelSpotInstanceRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelSpotInstanceRequestsRequest"}, + "output":{"shape":"CancelSpotInstanceRequestsResult"}, + "documentation":"

Cancels one or more Spot Instance requests.

Canceling a Spot Instance request does not terminate running Spot Instances associated with the request.

" + }, + "ConfirmProductInstance":{ + "name":"ConfirmProductInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ConfirmProductInstanceRequest"}, + "output":{"shape":"ConfirmProductInstanceResult"}, + "documentation":"

Determines whether a product code is associated with an instance. This action can only be used by the owner of the product code. It is useful when a product code owner must verify whether another user's instance is eligible for support.

" + }, + "CopyFpgaImage":{ + "name":"CopyFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyFpgaImageRequest"}, + "output":{"shape":"CopyFpgaImageResult"}, + "documentation":"

Copies the specified Amazon FPGA Image (AFI) to the current Region.

" + }, + "CopyImage":{ + "name":"CopyImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyImageRequest"}, + "output":{"shape":"CopyImageResult"}, + "documentation":"

Initiates the copy of an AMI from the specified source Region to the current Region. You specify the destination Region by using its endpoint when making the request.

Copies of encrypted backing snapshots for the AMI are encrypted. Copies of unencrypted backing snapshots remain unencrypted, unless you set Encrypted during the copy operation. You cannot create an unencrypted copy of an encrypted backing snapshot.

For more information about the prerequisites and limits when copying an AMI, see Copying an AMI in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CopySnapshot":{ + "name":"CopySnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopySnapshotRequest"}, + "output":{"shape":"CopySnapshotResult"}, + "documentation":"

Copies a point-in-time snapshot of an EBS volume and stores it in Amazon S3. You can copy the snapshot within the same Region or from one Region to another. You can use the snapshot to create EBS volumes or Amazon Machine Images (AMIs).

Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted snapshots remain unencrypted, unless you enable encryption for the snapshot copy operation. By default, encrypted snapshot copies use the default AWS Key Management Service (AWS KMS) customer master key (CMK); however, you can specify a different CMK.

To copy an encrypted snapshot that has been shared from another account, you must have permissions for the CMK used to encrypt the snapshot.

Snapshots created by copying another snapshot have an arbitrary volume ID that should not be used for any purpose.

For more information, see Copying an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateCapacityReservation":{ + "name":"CreateCapacityReservation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCapacityReservationRequest"}, + "output":{"shape":"CreateCapacityReservationResult"}, + "documentation":"

Creates a new Capacity Reservation with the specified attributes.

Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. This gives you the flexibility to selectively add capacity reservations and still get the Regional RI discounts for that usage. By creating Capacity Reservations, you ensure that you always have access to Amazon EC2 capacity when you need it, for as long as you need it. For more information, see Capacity Reservations in the Amazon Elastic Compute Cloud User Guide.

Your request to create a Capacity Reservation could fail if Amazon EC2 does not have sufficient capacity to fulfill the request. If your request fails due to Amazon EC2 capacity constraints, either try again at a later time, try in a different Availability Zone, or request a smaller capacity reservation. If your application is flexible across instance types and sizes, try to create a Capacity Reservation with different instance attributes.

Your request could also fail if the requested quantity exceeds your On-Demand Instance limit for the selected instance type. If your request fails due to limit constraints, increase your On-Demand Instance limit for the required instance type and try again. For more information about increasing your instance limits, see Amazon EC2 Service Limits in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateClientVpnEndpoint":{ + "name":"CreateClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClientVpnEndpointRequest"}, + "output":{"shape":"CreateClientVpnEndpointResult"}, + "documentation":"

Creates a Client VPN endpoint. A Client VPN endpoint is the resource you create and configure to enable and manage client VPN sessions. It is the destination endpoint at which all client VPN sessions are terminated.

" + }, + "CreateClientVpnRoute":{ + "name":"CreateClientVpnRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClientVpnRouteRequest"}, + "output":{"shape":"CreateClientVpnRouteResult"}, + "documentation":"

Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks.

" + }, + "CreateCustomerGateway":{ + "name":"CreateCustomerGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomerGatewayRequest"}, + "output":{"shape":"CreateCustomerGatewayResult"}, + "documentation":"

Provides information to AWS about your VPN customer gateway device. The customer gateway is the appliance at your end of the VPN connection. (The device on the AWS side of the VPN connection is the virtual private gateway.) You must provide the Internet-routable IP address of the customer gateway's external interface. The IP address must be static and can be behind a device performing network address translation (NAT).

For devices that use Border Gateway Protocol (BGP), you can also provide the device's BGP Autonomous System Number (ASN). You can use an existing ASN assigned to your network. If you don't have an ASN already, you can use a private ASN (in the 64512 - 65534 range).

Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with the exception of 7224, which is reserved in the us-east-1 Region, and 9059, which is reserved in the eu-west-1 Region.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

To create more than one customer gateway with the same VPN type, IP address, and BGP ASN, specify a unique device name for each customer gateway. Identical requests return information about the existing customer gateway and do not create new customer gateways.

" + }, + "CreateDefaultSubnet":{ + "name":"CreateDefaultSubnet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDefaultSubnetRequest"}, + "output":{"shape":"CreateDefaultSubnetResult"}, + "documentation":"

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Creating a Default Subnet in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateDefaultVpc":{ + "name":"CreateDefaultVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDefaultVpcRequest"}, + "output":{"shape":"CreateDefaultVpcResult"}, + "documentation":"

Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet in each Availability Zone. For more information about the components of a default VPC, see Default VPC and Default Subnets in the Amazon Virtual Private Cloud User Guide. You cannot specify the components of the default VPC yourself.

If you deleted your previous default VPC, you can create a default VPC. You cannot have more than one default VPC per Region.

If your account supports EC2-Classic, you cannot use this action to create a default VPC in a Region that supports EC2-Classic. If you want a default VPC in a Region that supports EC2-Classic, see \"I really want a default VPC for my existing EC2 account. Is that possible?\" in the Default VPCs FAQ.

" + }, + "CreateDhcpOptions":{ + "name":"CreateDhcpOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDhcpOptionsRequest"}, + "output":{"shape":"CreateDhcpOptionsResult"}, + "documentation":"

Creates a set of DHCP options for your VPC. After creating the set, you must associate it with the VPC, causing all existing and new instances that you launch in the VPC to use this set of DHCP options. The following are the individual DHCP options you can specify. For more information about the options, see RFC 2132.

  • domain-name-servers - The IP addresses of up to four domain name servers, or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS. If specifying more than one domain name server, specify the IP addresses in a single parameter, separated by commas. To have your instance receive a custom DNS hostname as specified in domain-name, you must set domain-name-servers to a custom DNS server.

  • domain-name - If you're using AmazonProvidedDNS in us-east-1, specify ec2.internal. If you're using AmazonProvidedDNS in another Region, specify region.compute.internal (for example, ap-northeast-1.compute.internal). Otherwise, specify a domain name (for example, MyCompany.com). This value is used to complete unqualified DNS hostnames. Important: Some Linux operating systems accept multiple domain names separated by spaces. However, Windows and other Linux operating systems treat the value as a single domain, which results in unexpected behavior. If your DHCP options set is associated with a VPC that has instances with multiple operating systems, specify only one domain name.

  • ntp-servers - The IP addresses of up to four Network Time Protocol (NTP) servers.

  • netbios-name-servers - The IP addresses of up to four NetBIOS name servers.

  • netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend that you specify 2 (broadcast and multicast are not currently supported). For more information about these node types, see RFC 2132.

Your VPC automatically starts out with a set of DHCP options that includes only a DNS server that we provide (AmazonProvidedDNS). If you create a set of options, and if your VPC has an internet gateway, make sure to set the domain-name-servers option either to AmazonProvidedDNS or to a domain name server of your choice. For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateEgressOnlyInternetGateway":{ + "name":"CreateEgressOnlyInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEgressOnlyInternetGatewayRequest"}, + "output":{"shape":"CreateEgressOnlyInternetGatewayResult"}, + "documentation":"

[IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only internet gateway is used to enable outbound communication over IPv6 from instances in your VPC to the internet, and prevents hosts outside of your VPC from initiating an IPv6 connection with your instance.

" + }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResult"}, + "documentation":"

Launches an EC2 Fleet.

You can create a single EC2 Fleet that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

For more information, see Launching an EC2 Fleet in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateFlowLogs":{ + "name":"CreateFlowLogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFlowLogsRequest"}, + "output":{"shape":"CreateFlowLogsResult"}, + "documentation":"

Creates one or more flow logs to capture information about IP traffic for a specific network interface, subnet, or VPC.

Flow log data for a monitored network interface is recorded as flow log records, which are log events consisting of fields that describe the traffic flow. For more information, see Flow Log Records in the Amazon Virtual Private Cloud User Guide.

When publishing to CloudWatch Logs, flow log records are published to a log group, and each network interface has a unique log stream in the log group. When publishing to Amazon S3, flow log records for all of the monitored network interfaces are published to a single log file object that is stored in the specified bucket.

For more information, see VPC Flow Logs in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateFpgaImage":{ + "name":"CreateFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFpgaImageRequest"}, + "output":{"shape":"CreateFpgaImageResult"}, + "documentation":"

Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).

The create operation is asynchronous. To verify that the AFI is ready for use, check the output logs.

An AFI contains the FPGA bitstream that is ready to download to an FPGA. You can securely deploy an AFI on multiple FPGA-accelerated instances. For more information, see the AWS FPGA Hardware Development Kit.

" + }, + "CreateImage":{ + "name":"CreateImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateImageRequest"}, + "output":{"shape":"CreateImageResult"}, + "documentation":"

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is either running or stopped.

If you customized your instance with instance store volumes or EBS volumes in addition to the root device volume, the new AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, the instance automatically launches with those additional volumes.

For more information, see Creating Amazon EBS-Backed Linux AMIs in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateInstanceExportTask":{ + "name":"CreateInstanceExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstanceExportTaskRequest"}, + "output":{"shape":"CreateInstanceExportTaskResult"}, + "documentation":"

Exports a running or stopped instance to an S3 bucket.

For information about the supported operating systems, image formats, and known limitations for the types of instances you can export, see Exporting an Instance as a VM Using VM Import/Export in the VM Import/Export User Guide.

" + }, + "CreateInternetGateway":{ + "name":"CreateInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInternetGatewayRequest"}, + "output":{"shape":"CreateInternetGatewayResult"}, + "documentation":"

Creates an internet gateway for use with a VPC. After creating the internet gateway, you attach it to a VPC using AttachInternetGateway.

For more information about your VPC and internet gateway, see the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateKeyPair":{ + "name":"CreateKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateKeyPairRequest"}, + "output":{"shape":"KeyPair"}, + "documentation":"

Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores the public key and displays the private key for you to save to a file. The private key is returned as an unencrypted PEM encoded PKCS#1 private key. If a key with the specified name already exists, Amazon EC2 returns an error.

You can have up to five thousand key pairs per Region.

The key pair returned to you is available only in the Region in which you create it. If you prefer, you can create your own key pair using a third-party tool and upload it to any Region using ImportKeyPair.

For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateLaunchTemplate":{ + "name":"CreateLaunchTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLaunchTemplateRequest"}, + "output":{"shape":"CreateLaunchTemplateResult"}, + "documentation":"

Creates a launch template. A launch template contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify a launch template instead of providing the launch parameters in the request. For more information, see Launching an instance from a launch templatein the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateLaunchTemplateVersion":{ + "name":"CreateLaunchTemplateVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLaunchTemplateVersionRequest"}, + "output":{"shape":"CreateLaunchTemplateVersionResult"}, + "documentation":"

Creates a new version for a launch template. You can specify an existing version of launch template from which to base the new version.

Launch template versions are numbered in the order in which they are created. You cannot specify, change, or replace the numbering of launch template versions.

For more information, see Managing launch template versionsin the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateLocalGatewayRoute":{ + "name":"CreateLocalGatewayRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocalGatewayRouteRequest"}, + "output":{"shape":"CreateLocalGatewayRouteResult"}, + "documentation":"

Creates a static route for the specified local gateway route table.

" + }, + "CreateLocalGatewayRouteTableVpcAssociation":{ + "name":"CreateLocalGatewayRouteTableVpcAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLocalGatewayRouteTableVpcAssociationRequest"}, + "output":{"shape":"CreateLocalGatewayRouteTableVpcAssociationResult"}, + "documentation":"

Associates the specified VPC with the specified local gateway route table.

" + }, + "CreateNatGateway":{ + "name":"CreateNatGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNatGatewayRequest"}, + "output":{"shape":"CreateNatGatewayResult"}, + "documentation":"

Creates a NAT gateway in the specified public subnet. This action creates a network interface in the specified subnet with a private IP address from the IP address range of the subnet. Internet-bound traffic from a private subnet can be routed to the NAT gateway, therefore enabling instances in the private subnet to connect to the internet. For more information, see NAT Gateways in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateNetworkAcl":{ + "name":"CreateNetworkAcl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkAclRequest"}, + "output":{"shape":"CreateNetworkAclResult"}, + "documentation":"

Creates a network ACL in a VPC. Network ACLs provide an optional layer of security (in addition to security groups) for the instances in your VPC.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateNetworkAclEntry":{ + "name":"CreateNetworkAclEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkAclEntryRequest"}, + "documentation":"

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet associated with the ACL, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, ...), and not number them one right after the other (for example, 101, 102, 103, ...). This makes it easier to add a rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it, or create an entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateNetworkInterface":{ + "name":"CreateNetworkInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkInterfaceRequest"}, + "output":{"shape":"CreateNetworkInterfaceResult"}, + "documentation":"

Creates a network interface in the specified subnet.

For more information about network interfaces, see Elastic Network Interfaces in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateNetworkInterfacePermission":{ + "name":"CreateNetworkInterfacePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNetworkInterfacePermissionRequest"}, + "output":{"shape":"CreateNetworkInterfacePermissionResult"}, + "documentation":"

Grants an AWS-authorized account permission to attach the specified network interface to an instance in their account.

You can grant permission to a single AWS account only, and only one account at a time.

" + }, + "CreatePlacementGroup":{ + "name":"CreatePlacementGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePlacementGroupRequest"}, + "output":{"shape":"CreatePlacementGroupResult"}, + "documentation":"

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.

For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateReservedInstancesListing":{ + "name":"CreateReservedInstancesListing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateReservedInstancesListingRequest"}, + "output":{"shape":"CreateReservedInstancesListingResult"}, + "documentation":"

Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in the Reserved Instance Marketplace. You can submit one Standard Reserved Instance listing at a time. To get a list of your Standard Reserved Instances, you can use the DescribeReservedInstances operation.

Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace. Convertible Reserved Instances cannot be sold.

The Reserved Instance Marketplace matches sellers who want to resell Standard Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

To sell your Standard Reserved Instances, you must first register as a seller in the Reserved Instance Marketplace. After completing the registration process, you can create a Reserved Instance Marketplace listing of some or all of your Standard Reserved Instances, and specify the upfront price to receive for them. Your Standard Reserved Instance listings then become available for purchase. To view the details of your Standard Reserved Instance listing, you can use the DescribeReservedInstancesListings operation.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateRoute":{ + "name":"CreateRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRouteRequest"}, + "output":{"shape":"CreateRouteResult"}, + "documentation":"

Creates a route in a route table within a VPC.

You must specify one of the following targets: internet gateway or virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, egress-only internet gateway, or transit gateway.

When determining how to route traffic, we use the route with the most specific match. For example, traffic is destined for the IPv4 address 192.0.2.3, and the route table includes the following two IPv4 routes:

  • 192.0.2.0/24 (goes to some target A)

  • 192.0.2.0/28 (goes to some target B)

Both routes apply to the traffic destined for 192.0.2.3. However, the second route in the list covers a smaller number of IP addresses and is therefore more specific, so we use that route to determine where to target the traffic.

For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateRouteTable":{ + "name":"CreateRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRouteTableRequest"}, + "output":{"shape":"CreateRouteTableResult"}, + "documentation":"

Creates a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateSecurityGroup":{ + "name":"CreateSecurityGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSecurityGroupRequest"}, + "output":{"shape":"CreateSecurityGroupResult"}, + "documentation":"

Creates a security group.

A security group acts as a virtual firewall for your instance to control inbound and outbound traffic. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

When you create a security group, you specify a friendly name of your choice. You can have a security group for use in EC2-Classic with the same name as a security group for use in a VPC. However, you can't have two security groups for use in EC2-Classic with the same name or two security groups for use in a VPC with the same name.

You have a default security group for use in EC2-Classic and a default security group for use in your VPC. If you don't specify a security group when you launch an instance, the instance is launched into the appropriate default security group. A default security group includes a default rule that grants instances unrestricted network access to each other.

You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress, AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.

For more information about VPC security group limits, see Amazon VPC Limits.

" + }, + "CreateSnapshot":{ + "name":"CreateSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotRequest"}, + "output":{"shape":"Snapshot"}, + "documentation":"

Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use snapshots for backups, to make copies of EBS volumes, and to save data before shutting down an instance.

When a snapshot is created, any AWS Marketplace product codes that are associated with the source volume are propagated to the snapshot.

You can take a snapshot of an attached volume that is in use. However, snapshots only capture data that has been written to your EBS volume at the time the snapshot command is issued; this may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the volume long enough to take a snapshot, your snapshot should be complete. However, if you cannot pause all file writes to the volume, you should unmount the volume from within the instance, issue the snapshot command, and then remount the volume to ensure a consistent and complete snapshot. You may remount and use your volume while the snapshot status is pending.

To create a snapshot for EBS volumes that serve as root devices, you should stop the instance before taking the snapshot.

Snapshots that are taken from encrypted volumes are automatically encrypted. Volumes that are created from encrypted snapshots are also automatically encrypted. Your encrypted volumes and any associated snapshots always remain protected.

You can tag your snapshots during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Amazon Elastic Block Store and Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateSnapshots":{ + "name":"CreateSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotsRequest"}, + "output":{"shape":"CreateSnapshotsResult"}, + "documentation":"

Creates crash-consistent snapshots of multiple EBS volumes and stores the data in S3. Volumes are chosen by specifying an instance. Any attached volumes will produce one snapshot each that is crash-consistent across the instance. Boot volumes can be excluded by changing the parameters.

" + }, + "CreateSpotDatafeedSubscription":{ + "name":"CreateSpotDatafeedSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSpotDatafeedSubscriptionRequest"}, + "output":{"shape":"CreateSpotDatafeedSubscriptionResult"}, + "documentation":"

Creates a data feed for Spot Instances, enabling you to view Spot Instance usage logs. You can create one data feed per AWS account. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" + }, + "CreateSubnet":{ + "name":"CreateSubnet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSubnetRequest"}, + "output":{"shape":"CreateSubnetResult"}, + "documentation":"

Creates a subnet in an existing VPC.

When you create each subnet, you provide the VPC ID and IPv4 CIDR block for the subnet. After you create a subnet, you can't change its CIDR block. The size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR block, or a subset of a VPC's IPv4 CIDR block. If you create more than one subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses).

If you've associated an IPv6 CIDR block with your VPC, you can create a subnet with an IPv6 CIDR block that uses a /64 prefix length.

AWS reserves both the first four and the last IPv4 address in each subnet's CIDR block. They're not available for use.

If you add more than one subnet to a VPC, they're set up in a star topology with a logical router in the middle.

If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP address doesn't change if you stop and restart the instance (unlike a similar instance launched outside a VPC, which gets a new IP address when restarted). It's therefore possible to have a subnet with no running instances (they're all stopped), but no remaining IP addresses available.

For more information about subnets, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateTags":{ + "name":"CreateTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTagsRequest"}, + "documentation":"

Adds or overwrites only the specified tags for the specified Amazon EC2 resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique per resource.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide. For more information about creating IAM policies that control users' access to resources based on tags, see Supported Resource-Level Permissions for Amazon EC2 API Actions in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateTrafficMirrorFilter":{ + "name":"CreateTrafficMirrorFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrafficMirrorFilterRequest"}, + "output":{"shape":"CreateTrafficMirrorFilterResult"}, + "documentation":"

Creates a Traffic Mirror filter.

A Traffic Mirror filter is a set of rules that defines the traffic to mirror.

By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule to add Traffic Mirror rules to the filter. The rules you add define what traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices to mirror supported network services.

" + }, + "CreateTrafficMirrorFilterRule":{ + "name":"CreateTrafficMirrorFilterRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrafficMirrorFilterRuleRequest"}, + "output":{"shape":"CreateTrafficMirrorFilterRuleResult"}, + "documentation":"

Creates a Traffic Mirror filter rule.

A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.

You need the Traffic Mirror filter ID when you create the rule.

" + }, + "CreateTrafficMirrorSession":{ + "name":"CreateTrafficMirrorSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrafficMirrorSessionRequest"}, + "output":{"shape":"CreateTrafficMirrorSessionResult"}, + "documentation":"

Creates a Traffic Mirror session.

A Traffic Mirror session actively copies packets from a Traffic Mirror source to a Traffic Mirror target. Create a filter, and then assign it to the session to define a subset of the traffic to mirror, for example all TCP traffic.

The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in a different VPC connected via VPC peering or a transit gateway.

By default, no traffic is mirrored. Use CreateTrafficMirrorFilter to create filter rules that specify the traffic to mirror.

" + }, + "CreateTrafficMirrorTarget":{ + "name":"CreateTrafficMirrorTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrafficMirrorTargetRequest"}, + "output":{"shape":"CreateTrafficMirrorTargetResult"}, + "documentation":"

Creates a target for your Traffic Mirror session.

A Traffic Mirror target is the destination for mirrored traffic. The Traffic Mirror source and the Traffic Mirror target (monitoring appliances) can be in the same VPC, or in different VPCs connected via VPC peering or a transit gateway.

A Traffic Mirror target can be a network interface, or a Network Load Balancer.

To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession.

" + }, + "CreateTransitGateway":{ + "name":"CreateTransitGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayRequest"}, + "output":{"shape":"CreateTransitGatewayResult"}, + "documentation":"

Creates a transit gateway.

You can use a transit gateway to interconnect your virtual private clouds (VPC) and on-premises networks. After the transit gateway enters the available state, you can attach your VPCs and VPN connections to the transit gateway.

To attach your VPCs, use CreateTransitGatewayVpcAttachment.

To attach a VPN connection, use CreateCustomerGateway to create a customer gateway and specify the ID of the customer gateway and the ID of the transit gateway in a call to CreateVpnConnection.

When you create a transit gateway, we create a default transit gateway route table and use it as the default association route table and the default propagation route table. You can use CreateTransitGatewayRouteTable to create additional transit gateway route tables. If you disable automatic route propagation, we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation to propagate routes from a resource attachment to a transit gateway route table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable to associate a resource attachment with a transit gateway route table.

" + }, + "CreateTransitGatewayMulticastDomain":{ + "name":"CreateTransitGatewayMulticastDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayMulticastDomainRequest"}, + "output":{"shape":"CreateTransitGatewayMulticastDomainResult"}, + "documentation":"

Creates a multicast domain using the specified transit gateway.

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

" + }, + "CreateTransitGatewayPeeringAttachment":{ + "name":"CreateTransitGatewayPeeringAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayPeeringAttachmentRequest"}, + "output":{"shape":"CreateTransitGatewayPeeringAttachmentResult"}, + "documentation":"

Requests a transit gateway peering attachment between the specified transit gateway (requester) and a peer transit gateway (accepter). The transit gateways must be in different Regions. The peer transit gateway can be in your account or a different AWS account.

After you create the peering attachment, the owner of the accepter transit gateway must accept the attachment request.

" + }, + "CreateTransitGatewayRoute":{ + "name":"CreateTransitGatewayRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayRouteRequest"}, + "output":{"shape":"CreateTransitGatewayRouteResult"}, + "documentation":"

Creates a static route for the specified transit gateway route table.

" + }, + "CreateTransitGatewayRouteTable":{ + "name":"CreateTransitGatewayRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayRouteTableRequest"}, + "output":{"shape":"CreateTransitGatewayRouteTableResult"}, + "documentation":"

Creates a route table for the specified transit gateway.

" + }, + "CreateTransitGatewayVpcAttachment":{ + "name":"CreateTransitGatewayVpcAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransitGatewayVpcAttachmentRequest"}, + "output":{"shape":"CreateTransitGatewayVpcAttachmentResult"}, + "documentation":"

Attaches the specified VPC to the specified transit gateway.

If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC that is already attached, the new VPC CIDR range is not propagated to the default propagation route table.

To send VPC traffic to an attached transit gateway, add a route to the VPC route table using CreateRoute.

" + }, + "CreateVolume":{ + "name":"CreateVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVolumeRequest"}, + "output":{"shape":"Volume"}, + "documentation":"

Creates an EBS volume that can be attached to an instance in the same Availability Zone. The volume is created in the regional endpoint that you send the HTTP request to. For more information see Regions and Endpoints.

You can create a new empty volume or restore a volume from an EBS snapshot. Any AWS Marketplace product codes from the snapshot are propagated to the volume.

You can create encrypted volumes. Encrypted volumes must be attached to instances that support Amazon EBS encryption. Volumes that are created from encrypted snapshots are also automatically encrypted. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can tag your volumes during creation. For more information, see Tagging Your Amazon EC2 Resources in the Amazon Elastic Compute Cloud User Guide.

For more information, see Creating an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateVpc":{ + "name":"CreateVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcRequest"}, + "output":{"shape":"CreateVpcResult"}, + "documentation":"

Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16 netmask (65,536 IPv4 addresses). For more information about how large to make your VPC, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).

By default, each instance you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CreateVpcEndpoint":{ + "name":"CreateVpcEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcEndpointRequest"}, + "output":{"shape":"CreateVpcEndpointResult"}, + "documentation":"

Creates a VPC endpoint for a specified service. An endpoint enables you to create a private connection between your VPC and the service. The service may be provided by AWS, an AWS Marketplace Partner, or another AWS account. For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

A gateway endpoint serves as a target for a route in your route table for traffic destined for the AWS service. You can specify an endpoint policy to attach to the endpoint, which will control access to the service from your VPC. You can also specify the VPC route tables that use the endpoint.

An interface endpoint is a network interface in your subnet that serves as an endpoint for communicating with the specified service. You can specify the subnets in which to create an endpoint, and the security groups to associate with the endpoint network interface.

Use DescribeVpcEndpointServices to get a list of supported services.

" + }, + "CreateVpcEndpointConnectionNotification":{ + "name":"CreateVpcEndpointConnectionNotification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcEndpointConnectionNotificationRequest"}, + "output":{"shape":"CreateVpcEndpointConnectionNotificationResult"}, + "documentation":"

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

" + }, + "CreateVpcEndpointServiceConfiguration":{ + "name":"CreateVpcEndpointServiceConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcEndpointServiceConfigurationRequest"}, + "output":{"shape":"CreateVpcEndpointServiceConfigurationResult"}, + "documentation":"

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service.

To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

If you set the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

" + }, + "CreateVpcPeeringConnection":{ + "name":"CreateVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcPeeringConnectionRequest"}, + "output":{"shape":"CreateVpcPeeringConnectionResult"}, + "documentation":"

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

" + }, + "CreateVpnConnection":{ + "name":"CreateVpnConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpnConnectionRequest"}, + "output":{"shape":"CreateVpnConnectionResult"}, + "documentation":"

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "CreateVpnConnectionRoute":{ + "name":"CreateVpnConnectionRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpnConnectionRouteRequest"}, + "documentation":"

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "CreateVpnGateway":{ + "name":"CreateVpnGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpnGatewayRequest"}, + "output":{"shape":"CreateVpnGatewayResult"}, + "documentation":"

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "DeleteClientVpnEndpoint":{ + "name":"DeleteClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClientVpnEndpointRequest"}, + "output":{"shape":"DeleteClientVpnEndpointResult"}, + "documentation":"

Deletes the specified Client VPN endpoint. You must disassociate all target networks before you can delete a Client VPN endpoint.

" + }, + "DeleteClientVpnRoute":{ + "name":"DeleteClientVpnRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClientVpnRouteRequest"}, + "output":{"shape":"DeleteClientVpnRouteResult"}, + "documentation":"

Deletes a route from a Client VPN endpoint. You can only delete routes that you manually added using the CreateClientVpnRoute action. You cannot delete routes that were automatically added when associating a subnet. To remove routes that have been automatically added, disassociate the target subnet from the Client VPN endpoint.

" + }, + "DeleteCustomerGateway":{ + "name":"DeleteCustomerGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomerGatewayRequest"}, + "documentation":"

Deletes the specified customer gateway. You must delete the VPN connection before you can delete the customer gateway.

" + }, + "DeleteDhcpOptions":{ + "name":"DeleteDhcpOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDhcpOptionsRequest"}, + "documentation":"

Deletes the specified set of DHCP options. You must disassociate the set of DHCP options before you can delete it. You can disassociate the set of DHCP options by associating either a new set of options or the default set of options with the VPC.

" + }, + "DeleteEgressOnlyInternetGateway":{ + "name":"DeleteEgressOnlyInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEgressOnlyInternetGatewayRequest"}, + "output":{"shape":"DeleteEgressOnlyInternetGatewayResult"}, + "documentation":"

Deletes an egress-only internet gateway.

" + }, + "DeleteFleets":{ + "name":"DeleteFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFleetsRequest"}, + "output":{"shape":"DeleteFleetsResult"}, + "documentation":"

Deletes the specified EC2 Fleet.

After you delete an EC2 Fleet, it launches no new instances. You must specify whether an EC2 Fleet should also terminate its instances. If you terminate the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually.

" + }, + "DeleteFlowLogs":{ + "name":"DeleteFlowLogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFlowLogsRequest"}, + "output":{"shape":"DeleteFlowLogsResult"}, + "documentation":"

Deletes one or more flow logs.

" + }, + "DeleteFpgaImage":{ + "name":"DeleteFpgaImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFpgaImageRequest"}, + "output":{"shape":"DeleteFpgaImageResult"}, + "documentation":"

Deletes the specified Amazon FPGA Image (AFI).

" + }, + "DeleteInternetGateway":{ + "name":"DeleteInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInternetGatewayRequest"}, + "documentation":"

Deletes the specified internet gateway. You must detach the internet gateway from the VPC before you can delete it.

" + }, + "DeleteKeyPair":{ + "name":"DeleteKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteKeyPairRequest"}, + "documentation":"

Deletes the specified key pair, by removing the public key from Amazon EC2.

" + }, + "DeleteLaunchTemplate":{ + "name":"DeleteLaunchTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLaunchTemplateRequest"}, + "output":{"shape":"DeleteLaunchTemplateResult"}, + "documentation":"

Deletes a launch template. Deleting a launch template deletes all of its versions.

" + }, + "DeleteLaunchTemplateVersions":{ + "name":"DeleteLaunchTemplateVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLaunchTemplateVersionsRequest"}, + "output":{"shape":"DeleteLaunchTemplateVersionsResult"}, + "documentation":"

Deletes one or more versions of a launch template. You cannot delete the default version of a launch template; you must first assign a different version as the default. If the default version is the only version for the launch template, you must delete the entire launch template using DeleteLaunchTemplate.

" + }, + "DeleteLocalGatewayRoute":{ + "name":"DeleteLocalGatewayRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLocalGatewayRouteRequest"}, + "output":{"shape":"DeleteLocalGatewayRouteResult"}, + "documentation":"

Deletes the specified route from the specified local gateway route table.

" + }, + "DeleteLocalGatewayRouteTableVpcAssociation":{ + "name":"DeleteLocalGatewayRouteTableVpcAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLocalGatewayRouteTableVpcAssociationRequest"}, + "output":{"shape":"DeleteLocalGatewayRouteTableVpcAssociationResult"}, + "documentation":"

Deletes the specified association between a VPC and local gateway route table.

" + }, + "DeleteNatGateway":{ + "name":"DeleteNatGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNatGatewayRequest"}, + "output":{"shape":"DeleteNatGatewayResult"}, + "documentation":"

Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its Elastic IP address, but does not release the address from your account. Deleting a NAT gateway does not delete any NAT gateway routes in your route tables.

" + }, + "DeleteNetworkAcl":{ + "name":"DeleteNetworkAcl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkAclRequest"}, + "documentation":"

Deletes the specified network ACL. You can't delete the ACL if it's associated with any subnets. You can't delete the default network ACL.

" + }, + "DeleteNetworkAclEntry":{ + "name":"DeleteNetworkAclEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkAclEntryRequest"}, + "documentation":"

Deletes the specified ingress or egress entry (rule) from the specified network ACL.

" + }, + "DeleteNetworkInterface":{ + "name":"DeleteNetworkInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkInterfaceRequest"}, + "documentation":"

Deletes the specified network interface. You must detach the network interface before you can delete it.

" + }, + "DeleteNetworkInterfacePermission":{ + "name":"DeleteNetworkInterfacePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNetworkInterfacePermissionRequest"}, + "output":{"shape":"DeleteNetworkInterfacePermissionResult"}, + "documentation":"

Deletes a permission for a network interface. By default, you cannot delete the permission if the account for which you're removing the permission has attached the network interface to an instance. However, you can force delete the permission, regardless of any attachment.

" + }, + "DeletePlacementGroup":{ + "name":"DeletePlacementGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePlacementGroupRequest"}, + "documentation":"

Deletes the specified placement group. You must terminate all instances in the placement group before you can delete the placement group. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DeleteQueuedReservedInstances":{ + "name":"DeleteQueuedReservedInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQueuedReservedInstancesRequest"}, + "output":{"shape":"DeleteQueuedReservedInstancesResult"}, + "documentation":"

Deletes the queued purchases for the specified Reserved Instances.

" + }, + "DeleteRoute":{ + "name":"DeleteRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRouteRequest"}, + "documentation":"

Deletes the specified route from the specified route table.

" + }, + "DeleteRouteTable":{ + "name":"DeleteRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRouteTableRequest"}, + "documentation":"

Deletes the specified route table. You must disassociate the route table from any subnets before you can delete it. You can't delete the main route table.

" + }, + "DeleteSecurityGroup":{ + "name":"DeleteSecurityGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSecurityGroupRequest"}, + "documentation":"

Deletes a security group.

If you attempt to delete a security group that is associated with an instance, or is referenced by another security group, the operation fails with InvalidGroup.InUse in EC2-Classic or DependencyViolation in EC2-VPC.

" + }, + "DeleteSnapshot":{ + "name":"DeleteSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSnapshotRequest"}, + "documentation":"

Deletes the specified snapshot.

When you make periodic snapshots of a volume, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the volume.

You cannot delete a snapshot of the root device of an EBS volume used by a registered AMI. You must first de-register the AMI before you can delete the snapshot.

For more information, see Deleting an Amazon EBS Snapshot in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DeleteSpotDatafeedSubscription":{ + "name":"DeleteSpotDatafeedSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSpotDatafeedSubscriptionRequest"}, + "documentation":"

Deletes the data feed for Spot Instances.

" + }, + "DeleteSubnet":{ + "name":"DeleteSubnet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSubnetRequest"}, + "documentation":"

Deletes the specified subnet. You must terminate all running instances in the subnet before you can delete the subnet.

" + }, + "DeleteTags":{ + "name":"DeleteTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTagsRequest"}, + "documentation":"

Deletes the specified set of tags from the specified set of resources.

To list the current tags, use DescribeTags. For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DeleteTrafficMirrorFilter":{ + "name":"DeleteTrafficMirrorFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrafficMirrorFilterRequest"}, + "output":{"shape":"DeleteTrafficMirrorFilterResult"}, + "documentation":"

Deletes the specified Traffic Mirror filter.

You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror session.

" + }, + "DeleteTrafficMirrorFilterRule":{ + "name":"DeleteTrafficMirrorFilterRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrafficMirrorFilterRuleRequest"}, + "output":{"shape":"DeleteTrafficMirrorFilterRuleResult"}, + "documentation":"

Deletes the specified Traffic Mirror rule.

" + }, + "DeleteTrafficMirrorSession":{ + "name":"DeleteTrafficMirrorSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrafficMirrorSessionRequest"}, + "output":{"shape":"DeleteTrafficMirrorSessionResult"}, + "documentation":"

Deletes the specified Traffic Mirror session.

" + }, + "DeleteTrafficMirrorTarget":{ + "name":"DeleteTrafficMirrorTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrafficMirrorTargetRequest"}, + "output":{"shape":"DeleteTrafficMirrorTargetResult"}, + "documentation":"

Deletes the specified Traffic Mirror target.

You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror session.

" + }, + "DeleteTransitGateway":{ + "name":"DeleteTransitGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayRequest"}, + "output":{"shape":"DeleteTransitGatewayResult"}, + "documentation":"

Deletes the specified transit gateway.

" + }, + "DeleteTransitGatewayMulticastDomain":{ + "name":"DeleteTransitGatewayMulticastDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayMulticastDomainRequest"}, + "output":{"shape":"DeleteTransitGatewayMulticastDomainResult"}, + "documentation":"

Deletes the specified transit gateway multicast domain.

" + }, + "DeleteTransitGatewayPeeringAttachment":{ + "name":"DeleteTransitGatewayPeeringAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayPeeringAttachmentRequest"}, + "output":{"shape":"DeleteTransitGatewayPeeringAttachmentResult"}, + "documentation":"

Deletes a transit gateway peering attachment.

" + }, + "DeleteTransitGatewayRoute":{ + "name":"DeleteTransitGatewayRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayRouteRequest"}, + "output":{"shape":"DeleteTransitGatewayRouteResult"}, + "documentation":"

Deletes the specified route from the specified transit gateway route table.

" + }, + "DeleteTransitGatewayRouteTable":{ + "name":"DeleteTransitGatewayRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayRouteTableRequest"}, + "output":{"shape":"DeleteTransitGatewayRouteTableResult"}, + "documentation":"

Deletes the specified transit gateway route table. You must disassociate the route table from any transit gateway route tables before you can delete it.

" + }, + "DeleteTransitGatewayVpcAttachment":{ + "name":"DeleteTransitGatewayVpcAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTransitGatewayVpcAttachmentRequest"}, + "output":{"shape":"DeleteTransitGatewayVpcAttachmentResult"}, + "documentation":"

Deletes the specified VPC attachment.

" + }, + "DeleteVolume":{ + "name":"DeleteVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVolumeRequest"}, + "documentation":"

Deletes the specified EBS volume. The volume must be in the available state (not attached to an instance).

The volume can remain in the deleting state for several minutes.

For more information, see Deleting an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DeleteVpc":{ + "name":"DeleteVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcRequest"}, + "documentation":"

Deletes the specified VPC. You must detach or delete all gateways and resources that are associated with the VPC before you can delete it. For example, you must terminate all instances running in the VPC, delete all security groups associated with the VPC (except the default one), delete all route tables associated with the VPC (except the default one), and so on.

" + }, + "DeleteVpcEndpointConnectionNotifications":{ + "name":"DeleteVpcEndpointConnectionNotifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcEndpointConnectionNotificationsRequest"}, + "output":{"shape":"DeleteVpcEndpointConnectionNotificationsResult"}, + "documentation":"

Deletes one or more VPC endpoint connection notifications.

" + }, + "DeleteVpcEndpointServiceConfigurations":{ + "name":"DeleteVpcEndpointServiceConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcEndpointServiceConfigurationsRequest"}, + "output":{"shape":"DeleteVpcEndpointServiceConfigurationsResult"}, + "documentation":"

Deletes one or more VPC endpoint service configurations in your account. Before you delete the endpoint service configuration, you must reject any Available or PendingAcceptance interface endpoint connections that are attached to the service.

" + }, + "DeleteVpcEndpoints":{ + "name":"DeleteVpcEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcEndpointsRequest"}, + "output":{"shape":"DeleteVpcEndpointsResult"}, + "documentation":"

Deletes one or more specified VPC endpoints. Deleting a gateway endpoint also deletes the endpoint routes in the route tables that were associated with the endpoint. Deleting an interface endpoint deletes the endpoint network interfaces.

" + }, + "DeleteVpcPeeringConnection":{ + "name":"DeleteVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcPeeringConnectionRequest"}, + "output":{"shape":"DeleteVpcPeeringConnectionResult"}, + "documentation":"

Deletes a VPC peering connection. Either the owner of the requester VPC or the owner of the accepter VPC can delete the VPC peering connection if it's in the active state. The owner of the requester VPC can delete a VPC peering connection in the pending-acceptance state. You cannot delete a VPC peering connection that's in the failed state.

" + }, + "DeleteVpnConnection":{ + "name":"DeleteVpnConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpnConnectionRequest"}, + "documentation":"

Deletes the specified VPN connection.

If you're deleting the VPC and its associated components, we recommend that you detach the virtual private gateway from the VPC and delete the VPC before deleting the VPN connection. If you believe that the tunnel credentials for your VPN connection have been compromised, you can delete the VPN connection and create a new one that has new keys, without needing to delete the VPC or virtual private gateway. If you create a new VPN connection, you must reconfigure the customer gateway device using the new configuration information returned with the new VPN connection ID.

For certificate-based authentication, delete all AWS Certificate Manager (ACM) private certificates used for the AWS-side tunnel endpoints for the VPN connection before deleting the VPN connection.

" + }, + "DeleteVpnConnectionRoute":{ + "name":"DeleteVpnConnectionRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpnConnectionRouteRequest"}, + "documentation":"

Deletes the specified static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

" + }, + "DeleteVpnGateway":{ + "name":"DeleteVpnGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpnGatewayRequest"}, + "documentation":"

Deletes the specified virtual private gateway. You must first detach the virtual private gateway from the VPC. Note that you don't need to delete the virtual private gateway if you plan to delete and recreate the VPN connection between your VPC and your network.

" + }, + "DeprovisionByoipCidr":{ + "name":"DeprovisionByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprovisionByoipCidrRequest"}, + "output":{"shape":"DeprovisionByoipCidrResult"}, + "documentation":"

Releases the specified address range that you provisioned for use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool.

Before you can release an address range, you must stop advertising it using WithdrawByoipCidr and you must not have any IP addresses allocated from its address range.

" + }, + "DeregisterImage":{ + "name":"DeregisterImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterImageRequest"}, + "documentation":"

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch new instances; however, it doesn't affect any instances that you've already launched from the AMI. You'll continue to incur usage costs for those instances until you terminate them.

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was created for the root volume of the instance during the AMI creation process. When you deregister an instance store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 when you created the AMI.

" + }, + "DeregisterInstanceEventNotificationAttributes":{ + "name":"DeregisterInstanceEventNotificationAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterInstanceEventNotificationAttributesRequest"}, + "output":{"shape":"DeregisterInstanceEventNotificationAttributesResult"}, + "documentation":"

Deregisters tag keys to prevent tags that have the specified tag keys from being included in scheduled event notifications for resources in the Region.

" + }, + "DeregisterTransitGatewayMulticastGroupMembers":{ + "name":"DeregisterTransitGatewayMulticastGroupMembers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterTransitGatewayMulticastGroupMembersRequest"}, + "output":{"shape":"DeregisterTransitGatewayMulticastGroupMembersResult"}, + "documentation":"

Deregisters the specified members (network interfaces) from the transit gateway multicast group.

" + }, + "DeregisterTransitGatewayMulticastGroupSources":{ + "name":"DeregisterTransitGatewayMulticastGroupSources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterTransitGatewayMulticastGroupSourcesRequest"}, + "output":{"shape":"DeregisterTransitGatewayMulticastGroupSourcesResult"}, + "documentation":"

Deregisters the specified sources (network interfaces) from the transit gateway multicast group.

" + }, + "DescribeAccountAttributes":{ + "name":"DescribeAccountAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountAttributesRequest"}, + "output":{"shape":"DescribeAccountAttributesResult"}, + "documentation":"

Describes attributes of your AWS account. The following are the supported account attributes:

  • supported-platforms: Indicates whether your account can launch instances into EC2-Classic and EC2-VPC, or only into EC2-VPC.

  • default-vpc: The ID of the default VPC for your account, or none.

  • max-instances: This attribute is no longer supported. The returned value does not reflect your actual vCPU limit for running On-Demand Instances. For more information, see On-Demand Instance Limits in the Amazon Elastic Compute Cloud User Guide.

  • vpc-max-security-groups-per-interface: The maximum number of security groups that you can assign to a network interface.

  • max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-Classic.

  • vpc-max-elastic-ips: The maximum number of Elastic IP addresses that you can allocate for use with EC2-VPC.

" + }, + "DescribeAddresses":{ + "name":"DescribeAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAddressesRequest"}, + "output":{"shape":"DescribeAddressesResult"}, + "documentation":"

Describes the specified Elastic IP addresses or all of your Elastic IP addresses.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeAggregateIdFormat":{ + "name":"DescribeAggregateIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAggregateIdFormatRequest"}, + "output":{"shape":"DescribeAggregateIdFormatResult"}, + "documentation":"

Describes the longer ID format settings for all resource types in a specific Region. This request is useful for performing a quick audit to determine whether a specific Region is fully opted in for longer IDs (17-character IDs).

This request only returns information about resource types that support longer IDs.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" + }, + "DescribeAvailabilityZones":{ + "name":"DescribeAvailabilityZones", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAvailabilityZonesRequest"}, + "output":{"shape":"DescribeAvailabilityZonesResult"}, + "documentation":"

Describes the Availability Zones and Local Zones that are available to you. If there is an event impacting an Availability Zone or Local Zone, you can use this request to view the state and any provided messages for that Availability Zone or Local Zone.

For more information about Availability Zones and Local Zones, see Regions and Availability Zones in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeBundleTasks":{ + "name":"DescribeBundleTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBundleTasksRequest"}, + "output":{"shape":"DescribeBundleTasksResult"}, + "documentation":"

Describes the specified bundle tasks or all of your bundle tasks.

Completed bundle tasks are listed for only a limited time. If your bundle task is no longer in the list, you can still register an AMI from it. Just use RegisterImage with the Amazon S3 bucket name and image manifest name you provided to the bundle task.

" + }, + "DescribeByoipCidrs":{ + "name":"DescribeByoipCidrs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeByoipCidrsRequest"}, + "output":{"shape":"DescribeByoipCidrsResult"}, + "documentation":"

Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.

To describe the address pools that were created when you provisioned the address ranges, use DescribePublicIpv4Pools or DescribeIpv6Pools.

" + }, + "DescribeCapacityReservations":{ + "name":"DescribeCapacityReservations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCapacityReservationsRequest"}, + "output":{"shape":"DescribeCapacityReservationsResult"}, + "documentation":"

Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the AWS Region that you're currently using.

" + }, + "DescribeClassicLinkInstances":{ + "name":"DescribeClassicLinkInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClassicLinkInstancesRequest"}, + "output":{"shape":"DescribeClassicLinkInstancesResult"}, + "documentation":"

Describes one or more of your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.

" + }, + "DescribeClientVpnAuthorizationRules":{ + "name":"DescribeClientVpnAuthorizationRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnAuthorizationRulesRequest"}, + "output":{"shape":"DescribeClientVpnAuthorizationRulesResult"}, + "documentation":"

Describes the authorization rules for a specified Client VPN endpoint.

" + }, + "DescribeClientVpnConnections":{ + "name":"DescribeClientVpnConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnConnectionsRequest"}, + "output":{"shape":"DescribeClientVpnConnectionsResult"}, + "documentation":"

Describes active client connections and connections that have been terminated within the last 60 minutes for the specified Client VPN endpoint.

" + }, + "DescribeClientVpnEndpoints":{ + "name":"DescribeClientVpnEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnEndpointsRequest"}, + "output":{"shape":"DescribeClientVpnEndpointsResult"}, + "documentation":"

Describes one or more Client VPN endpoints in the account.

" + }, + "DescribeClientVpnRoutes":{ + "name":"DescribeClientVpnRoutes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnRoutesRequest"}, + "output":{"shape":"DescribeClientVpnRoutesResult"}, + "documentation":"

Describes the routes for the specified Client VPN endpoint.

" + }, + "DescribeClientVpnTargetNetworks":{ + "name":"DescribeClientVpnTargetNetworks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientVpnTargetNetworksRequest"}, + "output":{"shape":"DescribeClientVpnTargetNetworksResult"}, + "documentation":"

Describes the target networks associated with the specified Client VPN endpoint.

" + }, + "DescribeCoipPools":{ + "name":"DescribeCoipPools", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCoipPoolsRequest"}, + "output":{"shape":"DescribeCoipPoolsResult"}, + "documentation":"

Describes the specified customer-owned address pools or all of your customer-owned address pools.

" + }, + "DescribeConversionTasks":{ + "name":"DescribeConversionTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConversionTasksRequest"}, + "output":{"shape":"DescribeConversionTasksResult"}, + "documentation":"

Describes the specified conversion tasks or all your conversion tasks. For more information, see the VM Import/Export User Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + }, + "DescribeCustomerGateways":{ + "name":"DescribeCustomerGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomerGatewaysRequest"}, + "output":{"shape":"DescribeCustomerGatewaysResult"}, + "documentation":"

Describes one or more of your VPN customer gateways.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "DescribeDhcpOptions":{ + "name":"DescribeDhcpOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDhcpOptionsRequest"}, + "output":{"shape":"DescribeDhcpOptionsResult"}, + "documentation":"

Describes one or more of your DHCP options sets.

For more information, see DHCP Options Sets in the Amazon Virtual Private Cloud User Guide.

" + }, + "DescribeEgressOnlyInternetGateways":{ + "name":"DescribeEgressOnlyInternetGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEgressOnlyInternetGatewaysRequest"}, + "output":{"shape":"DescribeEgressOnlyInternetGatewaysResult"}, + "documentation":"

Describes one or more of your egress-only internet gateways.

" + }, + "DescribeElasticGpus":{ + "name":"DescribeElasticGpus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeElasticGpusRequest"}, + "output":{"shape":"DescribeElasticGpusResult"}, + "documentation":"

Describes the Elastic Graphics accelerator associated with your instances. For more information about Elastic Graphics, see Amazon Elastic Graphics.

" + }, + "DescribeExportImageTasks":{ + "name":"DescribeExportImageTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExportImageTasksRequest"}, + "output":{"shape":"DescribeExportImageTasksResult"}, + "documentation":"

Describes the specified export image tasks or all your export image tasks.

" + }, + "DescribeExportTasks":{ + "name":"DescribeExportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExportTasksRequest"}, + "output":{"shape":"DescribeExportTasksResult"}, + "documentation":"

Describes the specified export instance tasks or all your export instance tasks.

" + }, + "DescribeFastSnapshotRestores":{ + "name":"DescribeFastSnapshotRestores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFastSnapshotRestoresRequest"}, + "output":{"shape":"DescribeFastSnapshotRestoresResult"}, + "documentation":"

Describes the state of fast snapshot restores for your snapshots.

" + }, + "DescribeFleetHistory":{ + "name":"DescribeFleetHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetHistoryRequest"}, + "output":{"shape":"DescribeFleetHistoryResult"}, + "documentation":"

Describes the events for the specified EC2 Fleet during the specified time.

EC2 Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. EC2 Fleet events are available for 48 hours.

" + }, + "DescribeFleetInstances":{ + "name":"DescribeFleetInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetInstancesRequest"}, + "output":{"shape":"DescribeFleetInstancesResult"}, + "documentation":"

Describes the running instances for the specified EC2 Fleet.

" + }, + "DescribeFleets":{ + "name":"DescribeFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFleetsRequest"}, + "output":{"shape":"DescribeFleetsResult"}, + "documentation":"

Describes the specified EC2 Fleets or all of your EC2 Fleets.

" + }, + "DescribeFlowLogs":{ + "name":"DescribeFlowLogs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFlowLogsRequest"}, + "output":{"shape":"DescribeFlowLogsResult"}, + "documentation":"

Describes one or more flow logs. To view the information in your flow logs (the log streams for the network interfaces), you must use the CloudWatch Logs console or the CloudWatch Logs API.

" + }, + "DescribeFpgaImageAttribute":{ + "name":"DescribeFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFpgaImageAttributeRequest"}, + "output":{"shape":"DescribeFpgaImageAttributeResult"}, + "documentation":"

Describes the specified attribute of the specified Amazon FPGA Image (AFI).

" + }, + "DescribeFpgaImages":{ + "name":"DescribeFpgaImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFpgaImagesRequest"}, + "output":{"shape":"DescribeFpgaImagesResult"}, + "documentation":"

Describes the Amazon FPGA Images (AFIs) available to you. These include public AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for which you have load permissions.

" + }, + "DescribeHostReservationOfferings":{ + "name":"DescribeHostReservationOfferings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHostReservationOfferingsRequest"}, + "output":{"shape":"DescribeHostReservationOfferingsResult"}, + "documentation":"

Describes the Dedicated Host reservations that are available to purchase.

The results describe all of the Dedicated Host reservation offerings, including offerings that might not match the instance family and Region of your Dedicated Hosts. When purchasing an offering, ensure that the instance family and Region of the offering matches that of the Dedicated Hosts with which it is to be associated. For more information about supported instance types, see Dedicated Hosts Overview in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeHostReservations":{ + "name":"DescribeHostReservations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHostReservationsRequest"}, + "output":{"shape":"DescribeHostReservationsResult"}, + "documentation":"

Describes reservations that are associated with Dedicated Hosts in your account.

" + }, + "DescribeHosts":{ + "name":"DescribeHosts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHostsRequest"}, + "output":{"shape":"DescribeHostsResult"}, + "documentation":"

Describes the specified Dedicated Hosts or all your Dedicated Hosts.

The results describe only the Dedicated Hosts in the Region you're currently using. All listed instances consume capacity on your Dedicated Host. Dedicated Hosts that have recently been released are listed with the state released.

" + }, + "DescribeIamInstanceProfileAssociations":{ + "name":"DescribeIamInstanceProfileAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIamInstanceProfileAssociationsRequest"}, + "output":{"shape":"DescribeIamInstanceProfileAssociationsResult"}, + "documentation":"

Describes your IAM instance profile associations.

" + }, + "DescribeIdFormat":{ + "name":"DescribeIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIdFormatRequest"}, + "output":{"shape":"DescribeIdFormatResult"}, + "documentation":"

Describes the ID format settings for your resources on a per-Region basis, for example, to view which resource types are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the IAM user who makes the request; they do not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user, unless they explicitly override the settings by running the ModifyIdFormat command. Resources created with longer IDs are visible to all IAM users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + }, + "DescribeIdentityIdFormat":{ + "name":"DescribeIdentityIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIdentityIdFormatRequest"}, + "output":{"shape":"DescribeIdentityIdFormatResult"}, + "documentation":"

Describes the ID format settings for resources for the specified IAM user, IAM role, or root user. For example, you can view the resource types that are enabled for longer IDs. This request only returns information about resource types whose ID formats can be modified; it does not return information about other resource types. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

These settings apply to the principal specified in the request. They do not apply to the principal that makes the request.

" + }, + "DescribeImageAttribute":{ + "name":"DescribeImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImageAttributeRequest"}, + "output":{"shape":"ImageAttribute"}, + "documentation":"

Describes the specified attribute of the specified AMI. You can specify only one attribute at a time.

" + }, + "DescribeImages":{ + "name":"DescribeImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImagesRequest"}, + "output":{"shape":"DescribeImagesResult"}, + "documentation":"

Describes the specified images (AMIs, AKIs, and ARIs) available to you or all of the images available to you.

The images available to you include public images, private images that you own, and private images owned by other AWS accounts for which you have explicit launch permissions.

Recently deregistered images appear in the returned results for a short interval and then return empty results. After all instances that reference a deregistered AMI are terminated, specifying the ID of the image results in an error indicating that the AMI ID cannot be found.

" + }, + "DescribeImportImageTasks":{ + "name":"DescribeImportImageTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImportImageTasksRequest"}, + "output":{"shape":"DescribeImportImageTasksResult"}, + "documentation":"

Displays details about an import virtual machine or import snapshot tasks that are already created.

" + }, + "DescribeImportSnapshotTasks":{ + "name":"DescribeImportSnapshotTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImportSnapshotTasksRequest"}, + "output":{"shape":"DescribeImportSnapshotTasksResult"}, + "documentation":"

Describes your import snapshot tasks.

" + }, + "DescribeInstanceAttribute":{ + "name":"DescribeInstanceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceAttributeRequest"}, + "output":{"shape":"InstanceAttribute"}, + "documentation":"

Describes the specified attribute of the specified instance. You can specify only one attribute at a time. Valid attribute values are: instanceType | kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck | groupSet | ebsOptimized | sriovNetSupport

" + }, + "DescribeInstanceCreditSpecifications":{ + "name":"DescribeInstanceCreditSpecifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceCreditSpecificationsRequest"}, + "output":{"shape":"DescribeInstanceCreditSpecificationsResult"}, + "documentation":"

Describes the credit option for CPU usage of the specified burstable performance instances. The credit options are standard and unlimited.

If you do not specify an instance ID, Amazon EC2 returns burstable performance instances with the unlimited credit option, as well as instances that were previously configured as T2, T3, and T3a with the unlimited credit option. For example, if you resize a T2 instance, while it is configured as unlimited, to an M4 instance, Amazon EC2 returns the M4 instance.

If you specify one or more instance IDs, Amazon EC2 returns the credit option (standard or unlimited) of those instances. If you specify an instance ID that is not valid, such as an instance that is not a burstable performance instance, an error is returned.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If an Availability Zone is experiencing a service disruption and you specify instance IDs in the affected zone, or do not specify any instance IDs at all, the call fails. If you specify only instance IDs in an unaffected zone, the call works normally.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeInstanceEventNotificationAttributes":{ + "name":"DescribeInstanceEventNotificationAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceEventNotificationAttributesRequest"}, + "output":{"shape":"DescribeInstanceEventNotificationAttributesResult"}, + "documentation":"

Describes the tag keys that are registered to appear in scheduled event notifications for resources in the current Region.

" + }, + "DescribeInstanceStatus":{ + "name":"DescribeInstanceStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceStatusRequest"}, + "output":{"shape":"DescribeInstanceStatusResult"}, + "documentation":"

Describes the status of the specified instances or all of your instances. By default, only running instances are described, unless you specifically indicate to return the status of all instances.

Instance status includes the following components:

  • Status checks - Amazon EC2 performs status checks on running EC2 instances to identify hardware and software issues. For more information, see Status Checks for Your Instances and Troubleshooting Instances with Failed Status Checks in the Amazon Elastic Compute Cloud User Guide.

  • Scheduled events - Amazon EC2 can schedule events (such as reboot, stop, or terminate) for your instances related to hardware issues, software updates, or system maintenance. For more information, see Scheduled Events for Your Instances in the Amazon Elastic Compute Cloud User Guide.

  • Instance state - You can manage your instances from the moment you launch them through their termination. For more information, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeInstanceTypeOfferings":{ + "name":"DescribeInstanceTypeOfferings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceTypeOfferingsRequest"}, + "output":{"shape":"DescribeInstanceTypeOfferingsResult"}, + "documentation":"

Returns a list of all instance types offered. The results can be filtered by location (Region or Availability Zone). If no location is specified, the instance types offered in the current Region are returned.

" + }, + "DescribeInstanceTypes":{ + "name":"DescribeInstanceTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstanceTypesRequest"}, + "output":{"shape":"DescribeInstanceTypesResult"}, + "documentation":"

Describes the details of the instance types that are offered in a location. The results can be filtered by the attributes of the instance types.

" + }, + "DescribeInstances":{ + "name":"DescribeInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstancesRequest"}, + "output":{"shape":"DescribeInstancesResult"}, + "documentation":"

Describes the specified instances or all instances.

If you specify instance IDs, the output includes information for only the specified instances. If you specify filters, the output includes information for only those instances that meet the filter criteria. If you do not specify instance IDs or filters, the output includes information for all instances, which can affect performance. We recommend that you use pagination to ensure that the operation returns quickly and successfully.

If you specify an instance ID that is not valid, an error is returned. If you specify an instance that you do not own, it is not included in the output.

Recently terminated instances might appear in the returned results. This interval is usually less than one hour.

If you describe instances in the rare case where an Availability Zone is experiencing a service disruption and you specify instance IDs that are in the affected zone, or do not specify any instance IDs at all, the call fails. If you describe instances and specify only instance IDs that are in an unaffected zone, the call works normally.

" + }, + "DescribeInternetGateways":{ + "name":"DescribeInternetGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInternetGatewaysRequest"}, + "output":{"shape":"DescribeInternetGatewaysResult"}, + "documentation":"

Describes one or more of your internet gateways.

" + }, + "DescribeIpv6Pools":{ + "name":"DescribeIpv6Pools", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIpv6PoolsRequest"}, + "output":{"shape":"DescribeIpv6PoolsResult"}, + "documentation":"

Describes your IPv6 address pools.

" + }, + "DescribeKeyPairs":{ + "name":"DescribeKeyPairs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeKeyPairsRequest"}, + "output":{"shape":"DescribeKeyPairsResult"}, + "documentation":"

Describes the specified key pairs or all of your key pairs.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeLaunchTemplateVersions":{ + "name":"DescribeLaunchTemplateVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLaunchTemplateVersionsRequest"}, + "output":{"shape":"DescribeLaunchTemplateVersionsResult"}, + "documentation":"

Describes one or more versions of a specified launch template. You can describe all versions, individual versions, or a range of versions.

" + }, + "DescribeLaunchTemplates":{ + "name":"DescribeLaunchTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLaunchTemplatesRequest"}, + "output":{"shape":"DescribeLaunchTemplatesResult"}, + "documentation":"

Describes one or more launch templates.

" + }, + "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations":{ + "name":"DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest"}, + "output":{"shape":"DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult"}, + "documentation":"

Describes the associations between virtual interface groups and local gateway route tables.

" + }, + "DescribeLocalGatewayRouteTableVpcAssociations":{ + "name":"DescribeLocalGatewayRouteTableVpcAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewayRouteTableVpcAssociationsRequest"}, + "output":{"shape":"DescribeLocalGatewayRouteTableVpcAssociationsResult"}, + "documentation":"

Describes the specified associations between VPCs and local gateway route tables.

" + }, + "DescribeLocalGatewayRouteTables":{ + "name":"DescribeLocalGatewayRouteTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewayRouteTablesRequest"}, + "output":{"shape":"DescribeLocalGatewayRouteTablesResult"}, + "documentation":"

Describes one or more local gateway route tables. By default, all local gateway route tables are described. Alternatively, you can filter the results.

" + }, + "DescribeLocalGatewayVirtualInterfaceGroups":{ + "name":"DescribeLocalGatewayVirtualInterfaceGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewayVirtualInterfaceGroupsRequest"}, + "output":{"shape":"DescribeLocalGatewayVirtualInterfaceGroupsResult"}, + "documentation":"

Describes the specified local gateway virtual interface groups.

" + }, + "DescribeLocalGatewayVirtualInterfaces":{ + "name":"DescribeLocalGatewayVirtualInterfaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewayVirtualInterfacesRequest"}, + "output":{"shape":"DescribeLocalGatewayVirtualInterfacesResult"}, + "documentation":"

Describes the specified local gateway virtual interfaces.

" + }, + "DescribeLocalGateways":{ + "name":"DescribeLocalGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLocalGatewaysRequest"}, + "output":{"shape":"DescribeLocalGatewaysResult"}, + "documentation":"

Describes one or more local gateways. By default, all local gateways are described. Alternatively, you can filter the results.

" + }, + "DescribeMovingAddresses":{ + "name":"DescribeMovingAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMovingAddressesRequest"}, + "output":{"shape":"DescribeMovingAddressesResult"}, + "documentation":"

Describes your Elastic IP addresses that are being moved to the EC2-VPC platform, or that are being restored to the EC2-Classic platform. This request does not return information about any other Elastic IP addresses in your account.

" + }, + "DescribeNatGateways":{ + "name":"DescribeNatGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNatGatewaysRequest"}, + "output":{"shape":"DescribeNatGatewaysResult"}, + "documentation":"

Describes one or more of your NAT gateways.

" + }, + "DescribeNetworkAcls":{ + "name":"DescribeNetworkAcls", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNetworkAclsRequest"}, + "output":{"shape":"DescribeNetworkAclsResult"}, + "documentation":"

Describes one or more of your network ACLs.

For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + }, + "DescribeNetworkInterfaceAttribute":{ + "name":"DescribeNetworkInterfaceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNetworkInterfaceAttributeRequest"}, + "output":{"shape":"DescribeNetworkInterfaceAttributeResult"}, + "documentation":"

Describes a network interface attribute. You can specify only one attribute at a time.

" + }, + "DescribeNetworkInterfacePermissions":{ + "name":"DescribeNetworkInterfacePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNetworkInterfacePermissionsRequest"}, + "output":{"shape":"DescribeNetworkInterfacePermissionsResult"}, + "documentation":"

Describes the permissions for your network interfaces.

" + }, + "DescribeNetworkInterfaces":{ + "name":"DescribeNetworkInterfaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNetworkInterfacesRequest"}, + "output":{"shape":"DescribeNetworkInterfacesResult"}, + "documentation":"

Describes one or more of your network interfaces.

" + }, + "DescribePlacementGroups":{ + "name":"DescribePlacementGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePlacementGroupsRequest"}, + "output":{"shape":"DescribePlacementGroupsResult"}, + "documentation":"

Describes the specified placement groups or all of your placement groups. For more information, see Placement Groups in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribePrefixLists":{ + "name":"DescribePrefixLists", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePrefixListsRequest"}, + "output":{"shape":"DescribePrefixListsResult"}, + "documentation":"

Describes available AWS services in a prefix list format, which includes the prefix list name and prefix list ID of the service and the IP address range for the service. A prefix list ID is required for creating an outbound security group rule that allows traffic from a VPC to access an AWS service through a gateway VPC endpoint. Currently, the services that support this action are Amazon S3 and Amazon DynamoDB.

" + }, + "DescribePrincipalIdFormat":{ + "name":"DescribePrincipalIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePrincipalIdFormatRequest"}, + "output":{"shape":"DescribePrincipalIdFormatResult"}, + "documentation":"

Describes the ID format settings for the root user and all IAM roles and IAM users that have explicitly specified a longer ID (17-character ID) preference.

By default, all IAM roles and IAM users default to the same ID settings as the root user, unless they explicitly override the settings. This request is useful for identifying those IAM users and IAM roles that have overridden the default ID settings.

The following resource types support longer IDs: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

" + }, + "DescribePublicIpv4Pools":{ + "name":"DescribePublicIpv4Pools", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePublicIpv4PoolsRequest"}, + "output":{"shape":"DescribePublicIpv4PoolsResult"}, + "documentation":"

Describes the specified IPv4 address pools.

" + }, + "DescribeRegions":{ + "name":"DescribeRegions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRegionsRequest"}, + "output":{"shape":"DescribeRegionsResult"}, + "documentation":"

Describes the Regions that are enabled for your account, or all Regions.

For a list of the Regions supported by Amazon EC2, see Regions and Endpoints.

For information about enabling and disabling Regions for your account, see Managing AWS Regions in the AWS General Reference.

" + }, + "DescribeReservedInstances":{ + "name":"DescribeReservedInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReservedInstancesRequest"}, + "output":{"shape":"DescribeReservedInstancesResult"}, + "documentation":"

Describes one or more of the Reserved Instances that you purchased.

For more information about Reserved Instances, see Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeReservedInstancesListings":{ + "name":"DescribeReservedInstancesListings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReservedInstancesListingsRequest"}, + "output":{"shape":"DescribeReservedInstancesListingsResult"}, + "documentation":"

Describes your account's Reserved Instance listings in the Reserved Instance Marketplace.

The Reserved Instance Marketplace matches sellers who want to resell Reserved Instance capacity that they no longer need with buyers who want to purchase additional capacity. Reserved Instances bought and sold through the Reserved Instance Marketplace work like any other Reserved Instances.

As a seller, you choose to list some or all of your Reserved Instances, and you specify the upfront price to receive for them. Your Reserved Instances are then listed in the Reserved Instance Marketplace and are available for purchase.

As a buyer, you specify the configuration of the Reserved Instance to purchase, and the Marketplace matches what you're searching for with what's available. The Marketplace first sells the lowest priced Reserved Instances to you, and continues to sell available Reserved Instance listings to you until your demand is met. You are charged based on the total price of all of the listings that you purchase.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeReservedInstancesModifications":{ + "name":"DescribeReservedInstancesModifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReservedInstancesModificationsRequest"}, + "output":{"shape":"DescribeReservedInstancesModificationsResult"}, + "documentation":"

Describes the modifications made to your Reserved Instances. If no parameter is specified, information about all your Reserved Instances modification requests is returned. If a modification ID is specified, only information about the specific modification is returned.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeReservedInstancesOfferings":{ + "name":"DescribeReservedInstancesOfferings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReservedInstancesOfferingsRequest"}, + "output":{"shape":"DescribeReservedInstancesOfferingsResult"}, + "documentation":"

Describes Reserved Instance offerings that are available for purchase. With Reserved Instances, you purchase the right to launch instances for a period of time. During that time period, you do not receive insufficient capacity errors, and you pay a lower usage rate than the rate charged for On-Demand instances for the actual time used.

If you have listed your own Reserved Instances for sale in the Reserved Instance Marketplace, they will be excluded from these results. This is to ensure that you do not purchase your own Reserved Instances.

For more information, see Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeRouteTables":{ + "name":"DescribeRouteTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRouteTablesRequest"}, + "output":{"shape":"DescribeRouteTablesResult"}, + "documentation":"

Describes one or more of your route tables.

Each subnet in your VPC must be associated with a route table. If a subnet is not explicitly associated with any route table, it is implicitly associated with the main route table. This command does not return the subnet ID for implicit associations.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "DescribeScheduledInstanceAvailability":{ + "name":"DescribeScheduledInstanceAvailability", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScheduledInstanceAvailabilityRequest"}, + "output":{"shape":"DescribeScheduledInstanceAvailabilityResult"}, + "documentation":"

Finds available schedules that meet the specified criteria.

You can search for an available schedule no more than 3 months in advance. You must meet the minimum required duration of 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

After you find a schedule that meets your needs, call PurchaseScheduledInstances to purchase Scheduled Instances with that schedule.

" + }, + "DescribeScheduledInstances":{ + "name":"DescribeScheduledInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScheduledInstancesRequest"}, + "output":{"shape":"DescribeScheduledInstancesResult"}, + "documentation":"

Describes the specified Scheduled Instances or all your Scheduled Instances.

" + }, + "DescribeSecurityGroupReferences":{ + "name":"DescribeSecurityGroupReferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecurityGroupReferencesRequest"}, + "output":{"shape":"DescribeSecurityGroupReferencesResult"}, + "documentation":"

[VPC only] Describes the VPCs on the other side of a VPC peering connection that are referencing the security groups you've specified in this request.

" + }, + "DescribeSecurityGroups":{ + "name":"DescribeSecurityGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecurityGroupsRequest"}, + "output":{"shape":"DescribeSecurityGroupsResult"}, + "documentation":"

Describes the specified security groups or all of your security groups.

A security group is for use with instances either in the EC2-Classic platform or in a specific VPC. For more information, see Amazon EC2 Security Groups in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" + }, + "DescribeSnapshotAttribute":{ + "name":"DescribeSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSnapshotAttributeRequest"}, + "output":{"shape":"DescribeSnapshotAttributeResult"}, + "documentation":"

Describes the specified attribute of the specified snapshot. You can specify only one attribute at a time.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeSnapshots":{ + "name":"DescribeSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSnapshotsRequest"}, + "output":{"shape":"DescribeSnapshotsResult"}, + "documentation":"

Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you.

The snapshots available to you include public snapshots, private snapshots that you own, and private snapshots owned by other AWS accounts for which you have explicit create volume permissions.

The create volume permissions fall into the following categories:

  • public: The owner of the snapshot granted create volume permissions for the snapshot to the all group. All AWS accounts have create volume permissions for these snapshots.

  • explicit: The owner of the snapshot granted create volume permissions to a specific AWS account.

  • implicit: An AWS account has implicit create volume permissions for all snapshots it owns.

The list of snapshots returned can be filtered by specifying snapshot IDs, snapshot owners, or AWS accounts with create volume permissions. If no options are specified, Amazon EC2 returns all snapshots for which you have create volume permissions.

If you specify one or more snapshot IDs, only snapshots that have the specified IDs are returned. If you specify an invalid snapshot ID, an error is returned. If you specify a snapshot ID for which you do not have access, it is not included in the returned results.

If you specify one or more snapshot owners using the OwnerIds option, only snapshots from the specified owners and for which you have access are returned. The results can include the AWS account IDs of the specified owners, amazon for snapshots owned by Amazon, or self for snapshots that you own.

If you specify a list of restorable users, only snapshots with create snapshot permissions for those users are returned. You can specify AWS account IDs (if you own the snapshots), self for snapshots for which you own or have explicit permissions, or all for public snapshots.

If you are describing a long list of snapshots, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSnapshots request to retrieve the remaining results.

To get the state of fast snapshot restores for a snapshot, use DescribeFastSnapshotRestores.

For more information about EBS snapshots, see Amazon EBS Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeSpotDatafeedSubscription":{ + "name":"DescribeSpotDatafeedSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotDatafeedSubscriptionRequest"}, + "output":{"shape":"DescribeSpotDatafeedSubscriptionResult"}, + "documentation":"

Describes the data feed for Spot Instances. For more information, see Spot Instance Data Feed in the Amazon EC2 User Guide for Linux Instances.

" + }, + "DescribeSpotFleetInstances":{ + "name":"DescribeSpotFleetInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotFleetInstancesRequest"}, + "output":{"shape":"DescribeSpotFleetInstancesResponse"}, + "documentation":"

Describes the running instances for the specified Spot Fleet.

" + }, + "DescribeSpotFleetRequestHistory":{ + "name":"DescribeSpotFleetRequestHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotFleetRequestHistoryRequest"}, + "output":{"shape":"DescribeSpotFleetRequestHistoryResponse"}, + "documentation":"

Describes the events for the specified Spot Fleet request during the specified time.

Spot Fleet events are delayed by up to 30 seconds before they can be described. This ensures that you can query by the last evaluated time and not miss a recorded event. Spot Fleet events are available for 48 hours.

" + }, + "DescribeSpotFleetRequests":{ + "name":"DescribeSpotFleetRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotFleetRequestsRequest"}, + "output":{"shape":"DescribeSpotFleetRequestsResponse"}, + "documentation":"

Describes your Spot Fleet requests.

Spot Fleet requests are deleted 48 hours after they are canceled and their instances are terminated.

" + }, + "DescribeSpotInstanceRequests":{ + "name":"DescribeSpotInstanceRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotInstanceRequestsRequest"}, + "output":{"shape":"DescribeSpotInstanceRequestsResult"}, + "documentation":"

Describes the specified Spot Instance requests.

You can use DescribeSpotInstanceRequests to find a running Spot Instance by examining the response. If the status of the Spot Instance is fulfilled, the instance ID appears in the response and contains the identifier of the instance. Alternatively, you can use DescribeInstances with a filter to look for instances where the instance lifecycle is spot.

We recommend that you set MaxResults to a value between 5 and 1000 to limit the number of results returned. This paginates the output, which makes the list more manageable and returns the results faster. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests request to retrieve the remaining results.

Spot Instance requests are deleted four hours after they are canceled and their instances are terminated.

" + }, + "DescribeSpotPriceHistory":{ + "name":"DescribeSpotPriceHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSpotPriceHistoryRequest"}, + "output":{"shape":"DescribeSpotPriceHistoryResult"}, + "documentation":"

Describes the Spot price history. For more information, see Spot Instance Pricing History in the Amazon EC2 User Guide for Linux Instances.

When you specify a start and end time, this operation returns the prices of the instance types within the time range that you specified and the time when the price changed. The price is valid within the time period that you specified; the response merely indicates the last time that the price changed.

" + }, + "DescribeStaleSecurityGroups":{ + "name":"DescribeStaleSecurityGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStaleSecurityGroupsRequest"}, + "output":{"shape":"DescribeStaleSecurityGroupsResult"}, + "documentation":"

[VPC only] Describes the stale security group rules for security groups in a specified VPC. Rules are stale when they reference a deleted security group in a peer VPC, or a security group in a peer VPC for which the VPC peering connection has been deleted.

" + }, + "DescribeSubnets":{ + "name":"DescribeSubnets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubnetsRequest"}, + "output":{"shape":"DescribeSubnetsResult"}, + "documentation":"

Describes one or more of your subnets.

For more information, see Your VPC and Subnets in the Amazon Virtual Private Cloud User Guide.

" + }, + "DescribeTags":{ + "name":"DescribeTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTagsRequest"}, + "output":{"shape":"DescribeTagsResult"}, + "documentation":"

Describes the specified tags for your EC2 resources.

For more information about tags, see Tagging Your Resources in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeTrafficMirrorFilters":{ + "name":"DescribeTrafficMirrorFilters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrafficMirrorFiltersRequest"}, + "output":{"shape":"DescribeTrafficMirrorFiltersResult"}, + "documentation":"

Describes one or more Traffic Mirror filters.

" + }, + "DescribeTrafficMirrorSessions":{ + "name":"DescribeTrafficMirrorSessions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrafficMirrorSessionsRequest"}, + "output":{"shape":"DescribeTrafficMirrorSessionsResult"}, + "documentation":"

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

" + }, + "DescribeTrafficMirrorTargets":{ + "name":"DescribeTrafficMirrorTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrafficMirrorTargetsRequest"}, + "output":{"shape":"DescribeTrafficMirrorTargetsResult"}, + "documentation":"

Information about one or more Traffic Mirror targets.

" + }, + "DescribeTransitGatewayAttachments":{ + "name":"DescribeTransitGatewayAttachments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewayAttachmentsRequest"}, + "output":{"shape":"DescribeTransitGatewayAttachmentsResult"}, + "documentation":"

Describes one or more attachments between resources and transit gateways. By default, all attachments are described. Alternatively, you can filter the results by attachment ID, attachment state, resource ID, or resource owner.

" + }, + "DescribeTransitGatewayMulticastDomains":{ + "name":"DescribeTransitGatewayMulticastDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewayMulticastDomainsRequest"}, + "output":{"shape":"DescribeTransitGatewayMulticastDomainsResult"}, + "documentation":"

Describes one or more transit gateway multicast domains.

" + }, + "DescribeTransitGatewayPeeringAttachments":{ + "name":"DescribeTransitGatewayPeeringAttachments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewayPeeringAttachmentsRequest"}, + "output":{"shape":"DescribeTransitGatewayPeeringAttachmentsResult"}, + "documentation":"

Describes your transit gateway peering attachments.

" + }, + "DescribeTransitGatewayRouteTables":{ + "name":"DescribeTransitGatewayRouteTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewayRouteTablesRequest"}, + "output":{"shape":"DescribeTransitGatewayRouteTablesResult"}, + "documentation":"

Describes one or more transit gateway route tables. By default, all transit gateway route tables are described. Alternatively, you can filter the results.

" + }, + "DescribeTransitGatewayVpcAttachments":{ + "name":"DescribeTransitGatewayVpcAttachments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewayVpcAttachmentsRequest"}, + "output":{"shape":"DescribeTransitGatewayVpcAttachmentsResult"}, + "documentation":"

Describes one or more VPC attachments. By default, all VPC attachments are described. Alternatively, you can filter the results.

" + }, + "DescribeTransitGateways":{ + "name":"DescribeTransitGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransitGatewaysRequest"}, + "output":{"shape":"DescribeTransitGatewaysResult"}, + "documentation":"

Describes one or more transit gateways. By default, all transit gateways are described. Alternatively, you can filter the results.

" + }, + "DescribeVolumeAttribute":{ + "name":"DescribeVolumeAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVolumeAttributeRequest"}, + "output":{"shape":"DescribeVolumeAttributeResult"}, + "documentation":"

Describes the specified attribute of the specified volume. You can specify only one attribute at a time.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeVolumeStatus":{ + "name":"DescribeVolumeStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVolumeStatusRequest"}, + "output":{"shape":"DescribeVolumeStatusResult"}, + "documentation":"

Describes the status of the specified volumes. Volume status provides the result of the checks performed on your volumes to determine events that can impair the performance of your volumes. The performance of a volume can be affected if an issue occurs on the volume's underlying host. If the volume's underlying host experiences a power outage or system issue, after the system is restored, there could be data inconsistencies on the volume. Volume events notify you if this occurs. Volume actions notify you if any action needs to be taken in response to the event.

The DescribeVolumeStatus operation provides the following information about the specified volumes:

Status: Reflects the current status of the volume. The possible values are ok, impaired , warning, or insufficient-data. If all checks pass, the overall status of the volume is ok. If the check fails, the overall status is impaired. If the status is insufficient-data, then the checks may still be taking place on your volume at the time. We recommend that you retry the request. For more information about volume status, see Monitoring the Status of Your Volumes in the Amazon Elastic Compute Cloud User Guide.

Events: Reflect the cause of a volume status and may require you to take action. For example, if your volume returns an impaired status, then the volume event might be potential-data-inconsistency. This means that your volume has been affected by an issue with the underlying host, has all I/O operations disabled, and may have inconsistent data.

Actions: Reflect the actions you may have to take in response to an event. For example, if the status of the volume is impaired and the volume event shows potential-data-inconsistency, then the action shows enable-volume-io. This means that you may want to enable the I/O operations for the volume by calling the EnableVolumeIO action and then check the volume for data consistency.

Volume status is based on the volume status checks, and does not reflect the volume state. Therefore, volume status does not indicate volumes in the error state (for example, when a volume is incapable of accepting I/O.)

" + }, + "DescribeVolumes":{ + "name":"DescribeVolumes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVolumesRequest"}, + "output":{"shape":"DescribeVolumesResult"}, + "documentation":"

Describes the specified EBS volumes or all of your EBS volumes.

If you are describing a long list of volumes, you can paginate the output to make the list more manageable. The MaxResults parameter sets the maximum number of results returned in a single page. If the list of results exceeds your MaxResults value, then that number of results is returned along with a NextToken value that can be passed to a subsequent DescribeVolumes request to retrieve the remaining results.

For more information about EBS volumes, see Amazon EBS Volumes in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeVolumesModifications":{ + "name":"DescribeVolumesModifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVolumesModificationsRequest"}, + "output":{"shape":"DescribeVolumesModificationsResult"}, + "documentation":"

Reports the current modification status of EBS volumes.

Current-generation EBS volumes support modification of attributes including type, size, and (for io1 volumes) IOPS provisioning while either attached to or detached from an instance. Following an action from the API or the console to modify a volume, the status of the modification may be modifying, optimizing, completed, or failed. If a volume has never been modified, then certain elements of the returned VolumeModification objects are null.

You can also use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. For more information, see Monitoring Volume Modifications\" in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeVpcAttribute":{ + "name":"DescribeVpcAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcAttributeRequest"}, + "output":{"shape":"DescribeVpcAttributeResult"}, + "documentation":"

Describes the specified attribute of the specified VPC. You can specify only one attribute at a time.

" + }, + "DescribeVpcClassicLink":{ + "name":"DescribeVpcClassicLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcClassicLinkRequest"}, + "output":{"shape":"DescribeVpcClassicLinkResult"}, + "documentation":"

Describes the ClassicLink status of one or more VPCs.

" + }, + "DescribeVpcClassicLinkDnsSupport":{ + "name":"DescribeVpcClassicLinkDnsSupport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcClassicLinkDnsSupportRequest"}, + "output":{"shape":"DescribeVpcClassicLinkDnsSupportResult"}, + "documentation":"

Describes the ClassicLink DNS support status of one or more VPCs. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DescribeVpcEndpointConnectionNotifications":{ + "name":"DescribeVpcEndpointConnectionNotifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointConnectionNotificationsRequest"}, + "output":{"shape":"DescribeVpcEndpointConnectionNotificationsResult"}, + "documentation":"

Describes the connection notifications for VPC endpoints and VPC endpoint services.

" + }, + "DescribeVpcEndpointConnections":{ + "name":"DescribeVpcEndpointConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointConnectionsRequest"}, + "output":{"shape":"DescribeVpcEndpointConnectionsResult"}, + "documentation":"

Describes the VPC endpoint connections to your VPC endpoint services, including any endpoints that are pending your acceptance.

" + }, + "DescribeVpcEndpointServiceConfigurations":{ + "name":"DescribeVpcEndpointServiceConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointServiceConfigurationsRequest"}, + "output":{"shape":"DescribeVpcEndpointServiceConfigurationsResult"}, + "documentation":"

Describes the VPC endpoint service configurations in your account (your services).

" + }, + "DescribeVpcEndpointServicePermissions":{ + "name":"DescribeVpcEndpointServicePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointServicePermissionsRequest"}, + "output":{"shape":"DescribeVpcEndpointServicePermissionsResult"}, + "documentation":"

Describes the principals (service consumers) that are permitted to discover your VPC endpoint service.

" + }, + "DescribeVpcEndpointServices":{ + "name":"DescribeVpcEndpointServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointServicesRequest"}, + "output":{"shape":"DescribeVpcEndpointServicesResult"}, + "documentation":"

Describes available services to which you can create a VPC endpoint.

" + }, + "DescribeVpcEndpoints":{ + "name":"DescribeVpcEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcEndpointsRequest"}, + "output":{"shape":"DescribeVpcEndpointsResult"}, + "documentation":"

Describes one or more of your VPC endpoints.

" + }, + "DescribeVpcPeeringConnections":{ + "name":"DescribeVpcPeeringConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcPeeringConnectionsRequest"}, + "output":{"shape":"DescribeVpcPeeringConnectionsResult"}, + "documentation":"

Describes one or more of your VPC peering connections.

" + }, + "DescribeVpcs":{ + "name":"DescribeVpcs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcsRequest"}, + "output":{"shape":"DescribeVpcsResult"}, + "documentation":"

Describes one or more of your VPCs.

" + }, + "DescribeVpnConnections":{ + "name":"DescribeVpnConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpnConnectionsRequest"}, + "output":{"shape":"DescribeVpnConnectionsResult"}, + "documentation":"

Describes one or more of your VPN connections.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "DescribeVpnGateways":{ + "name":"DescribeVpnGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpnGatewaysRequest"}, + "output":{"shape":"DescribeVpnGatewaysResult"}, + "documentation":"

Describes one or more of your virtual private gateways.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

" + }, + "DetachClassicLinkVpc":{ + "name":"DetachClassicLinkVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachClassicLinkVpcRequest"}, + "output":{"shape":"DetachClassicLinkVpcResult"}, + "documentation":"

Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance has been unlinked, the VPC security groups are no longer associated with it. An instance is automatically unlinked from a VPC when it's stopped.

" + }, + "DetachInternetGateway":{ + "name":"DetachInternetGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachInternetGatewayRequest"}, + "documentation":"

Detaches an internet gateway from a VPC, disabling connectivity between the internet and the VPC. The VPC must not contain any running instances with Elastic IP addresses or public IPv4 addresses.

" + }, + "DetachNetworkInterface":{ + "name":"DetachNetworkInterface", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachNetworkInterfaceRequest"}, + "documentation":"

Detaches a network interface from an instance.

" + }, + "DetachVolume":{ + "name":"DetachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachVolumeRequest"}, + "output":{"shape":"VolumeAttachment"}, + "documentation":"

Detaches an EBS volume from an instance. Make sure to unmount any file systems on the device within your operating system before detaching the volume. Failure to do so can result in the volume becoming stuck in the busy state while detaching. If this happens, detachment can be delayed indefinitely until you unmount the volume, force detachment, reboot the instance, or all three. If an EBS volume is the root device of an instance, it can't be detached while the instance is running. To detach the root volume, stop the instance first.

When a volume with an AWS Marketplace product code is detached from an instance, the product code is no longer associated with the instance.

For more information, see Detaching an Amazon EBS Volume in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DetachVpnGateway":{ + "name":"DetachVpnGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachVpnGatewayRequest"}, + "documentation":"

Detaches a virtual private gateway from a VPC. You do this if you're planning to turn off the VPC and not use it anymore. You can confirm a virtual private gateway has been completely detached from a VPC by describing the virtual private gateway (any attachments to the virtual private gateway are also described).

You must wait for the attachment's state to switch to detached before you can delete the VPC or attach a different VPC to the virtual private gateway.

" + }, + "DisableEbsEncryptionByDefault":{ + "name":"DisableEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableEbsEncryptionByDefaultRequest"}, + "output":{"shape":"DisableEbsEncryptionByDefaultResult"}, + "documentation":"

Disables EBS encryption by default for your account in the current Region.

After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume.

Disabling encryption by default does not change the encryption status of your existing volumes.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DisableFastSnapshotRestores":{ + "name":"DisableFastSnapshotRestores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableFastSnapshotRestoresRequest"}, + "output":{"shape":"DisableFastSnapshotRestoresResult"}, + "documentation":"

Disables fast snapshot restores for the specified snapshots in the specified Availability Zones.

" + }, + "DisableTransitGatewayRouteTablePropagation":{ + "name":"DisableTransitGatewayRouteTablePropagation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableTransitGatewayRouteTablePropagationRequest"}, + "output":{"shape":"DisableTransitGatewayRouteTablePropagationResult"}, + "documentation":"

Disables the specified resource attachment from propagating routes to the specified propagation route table.

" + }, + "DisableVgwRoutePropagation":{ + "name":"DisableVgwRoutePropagation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableVgwRoutePropagationRequest"}, + "documentation":"

Disables a virtual private gateway (VGW) from propagating routes to a specified route table of a VPC.

" + }, + "DisableVpcClassicLink":{ + "name":"DisableVpcClassicLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableVpcClassicLinkRequest"}, + "output":{"shape":"DisableVpcClassicLinkResult"}, + "documentation":"

Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC that has EC2-Classic instances linked to it.

" + }, + "DisableVpcClassicLinkDnsSupport":{ + "name":"DisableVpcClassicLinkDnsSupport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableVpcClassicLinkDnsSupportRequest"}, + "output":{"shape":"DisableVpcClassicLinkDnsSupportResult"}, + "documentation":"

Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve to public IP addresses when addressed between a linked EC2-Classic instance and instances in the VPC to which it's linked. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

You must specify a VPC ID in the request.

" + }, + "DisassociateAddress":{ + "name":"DisassociateAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateAddressRequest"}, + "documentation":"

Disassociates an Elastic IP address from the instance or network interface it's associated with.

An Elastic IP address is for use in either the EC2-Classic platform or in a VPC. For more information, see Elastic IP Addresses in the Amazon Elastic Compute Cloud User Guide.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

" + }, + "DisassociateClientVpnTargetNetwork":{ + "name":"DisassociateClientVpnTargetNetwork", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateClientVpnTargetNetworkRequest"}, + "output":{"shape":"DisassociateClientVpnTargetNetworkResult"}, + "documentation":"

Disassociates a target network from the specified Client VPN endpoint. When you disassociate the last target network from a Client VPN, the following happens:

  • The route that was automatically added for the VPC is deleted

  • All active client connections are terminated

  • New client connections are disallowed

  • The Client VPN endpoint's status changes to pending-associate

" + }, + "DisassociateIamInstanceProfile":{ + "name":"DisassociateIamInstanceProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateIamInstanceProfileRequest"}, + "output":{"shape":"DisassociateIamInstanceProfileResult"}, + "documentation":"

Disassociates an IAM instance profile from a running or stopped instance.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" + }, + "DisassociateRouteTable":{ + "name":"DisassociateRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateRouteTableRequest"}, + "documentation":"

Disassociates a subnet or gateway from a route table.

After you perform this action, the subnet no longer uses the routes in the route table. Instead, it uses the routes in the VPC's main route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "DisassociateSubnetCidrBlock":{ + "name":"DisassociateSubnetCidrBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateSubnetCidrBlockRequest"}, + "output":{"shape":"DisassociateSubnetCidrBlockResult"}, + "documentation":"

Disassociates a CIDR block from a subnet. Currently, you can disassociate an IPv6 CIDR block only. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

" + }, + "DisassociateTransitGatewayMulticastDomain":{ + "name":"DisassociateTransitGatewayMulticastDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTransitGatewayMulticastDomainRequest"}, + "output":{"shape":"DisassociateTransitGatewayMulticastDomainResult"}, + "documentation":"

Disassociates the specified subnets from the transit gateway multicast domain.

" + }, + "DisassociateTransitGatewayRouteTable":{ + "name":"DisassociateTransitGatewayRouteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTransitGatewayRouteTableRequest"}, + "output":{"shape":"DisassociateTransitGatewayRouteTableResult"}, + "documentation":"

Disassociates a resource attachment from a transit gateway route table.

" + }, + "DisassociateVpcCidrBlock":{ + "name":"DisassociateVpcCidrBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateVpcCidrBlockRequest"}, + "output":{"shape":"DisassociateVpcCidrBlockResult"}, + "documentation":"

Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you must specify its association ID. You can get the association ID by using DescribeVpcs. You must detach or delete all gateways and resources that are associated with the CIDR block before you can disassociate it.

You cannot disassociate the CIDR block with which you originally created the VPC (the primary CIDR block).

" + }, + "EnableEbsEncryptionByDefault":{ + "name":"EnableEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableEbsEncryptionByDefaultRequest"}, + "output":{"shape":"EnableEbsEncryptionByDefaultResult"}, + "documentation":"

Enables EBS encryption by default for your account in the current Region.

After you enable encryption by default, the EBS volumes that you create are are always encrypted, either using the default CMK or the CMK that you specified when you created each volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

Enabling encryption by default has no effect on the encryption status of your existing volumes.

After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see Supported Instance Types.

" + }, + "EnableFastSnapshotRestores":{ + "name":"EnableFastSnapshotRestores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableFastSnapshotRestoresRequest"}, + "output":{"shape":"EnableFastSnapshotRestoresResult"}, + "documentation":"

Enables fast snapshot restores for the specified snapshots in the specified Availability Zones.

You get the full benefit of fast snapshot restores after they enter the enabled state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores. To disable fast snapshot restores, use DisableFastSnapshotRestores.

For more information, see Amazon EBS Fast Snapshot Restore in the Amazon Elastic Compute Cloud User Guide.

" + }, + "EnableTransitGatewayRouteTablePropagation":{ + "name":"EnableTransitGatewayRouteTablePropagation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableTransitGatewayRouteTablePropagationRequest"}, + "output":{"shape":"EnableTransitGatewayRouteTablePropagationResult"}, + "documentation":"

Enables the specified attachment to propagate routes to the specified propagation route table.

" + }, + "EnableVgwRoutePropagation":{ + "name":"EnableVgwRoutePropagation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableVgwRoutePropagationRequest"}, + "documentation":"

Enables a virtual private gateway (VGW) to propagate routes to the specified route table of a VPC.

" + }, + "EnableVolumeIO":{ + "name":"EnableVolumeIO", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableVolumeIORequest"}, + "documentation":"

Enables I/O operations for a volume that had I/O operations disabled because the data on the volume was potentially inconsistent.

" + }, + "EnableVpcClassicLink":{ + "name":"EnableVpcClassicLink", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableVpcClassicLinkRequest"}, + "output":{"shape":"EnableVpcClassicLinkResult"}, + "documentation":"

Enables a VPC for ClassicLink. You can then link EC2-Classic instances to your ClassicLink-enabled VPC to allow communication over private IP addresses. You cannot enable your VPC for ClassicLink if any of your VPC route tables have existing routes for address ranges within the 10.0.0.0/8 IP address range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16 IP address ranges. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

" + }, + "EnableVpcClassicLinkDnsSupport":{ + "name":"EnableVpcClassicLinkDnsSupport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableVpcClassicLinkDnsSupportRequest"}, + "output":{"shape":"EnableVpcClassicLinkDnsSupportResult"}, + "documentation":"

Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled, the DNS hostname of a linked EC2-Classic instance resolves to its private IP address when addressed from an instance in the VPC to which it's linked. Similarly, the DNS hostname of an instance in a VPC resolves to its private IP address when addressed from a linked EC2-Classic instance. For more information, see ClassicLink in the Amazon Elastic Compute Cloud User Guide.

You must specify a VPC ID in the request.

" + }, + "ExportClientVpnClientCertificateRevocationList":{ + "name":"ExportClientVpnClientCertificateRevocationList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportClientVpnClientCertificateRevocationListRequest"}, + "output":{"shape":"ExportClientVpnClientCertificateRevocationListResult"}, + "documentation":"

Downloads the client certificate revocation list for the specified Client VPN endpoint.

" + }, + "ExportClientVpnClientConfiguration":{ + "name":"ExportClientVpnClientConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportClientVpnClientConfigurationRequest"}, + "output":{"shape":"ExportClientVpnClientConfigurationResult"}, + "documentation":"

Downloads the contents of the Client VPN endpoint configuration file for the specified Client VPN endpoint. The Client VPN endpoint configuration file includes the Client VPN endpoint and certificate information clients need to establish a connection with the Client VPN endpoint.

" + }, + "ExportImage":{ + "name":"ExportImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportImageRequest"}, + "output":{"shape":"ExportImageResult"}, + "documentation":"

Exports an Amazon Machine Image (AMI) to a VM file. For more information, see Exporting a VM Directory from an Amazon Machine Image (AMI) in the VM Import/Export User Guide.

" + }, + "ExportTransitGatewayRoutes":{ + "name":"ExportTransitGatewayRoutes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportTransitGatewayRoutesRequest"}, + "output":{"shape":"ExportTransitGatewayRoutesResult"}, + "documentation":"

Exports routes from the specified transit gateway route table to the specified S3 bucket. By default, all routes are exported. Alternatively, you can filter by CIDR range.

The routes are saved to the specified bucket in a JSON file. For more information, see Export Route Tables to Amazon S3 in Transit Gateways.

" + }, + "GetAssociatedIpv6PoolCidrs":{ + "name":"GetAssociatedIpv6PoolCidrs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssociatedIpv6PoolCidrsRequest"}, + "output":{"shape":"GetAssociatedIpv6PoolCidrsResult"}, + "documentation":"

Gets information about the IPv6 CIDR block associations for a specified IPv6 address pool.

" + }, + "GetCapacityReservationUsage":{ + "name":"GetCapacityReservationUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCapacityReservationUsageRequest"}, + "output":{"shape":"GetCapacityReservationUsageResult"}, + "documentation":"

Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner and each AWS account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only the Capacity Reservation owner's usage.

" + }, + "GetCoipPoolUsage":{ + "name":"GetCoipPoolUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCoipPoolUsageRequest"}, + "output":{"shape":"GetCoipPoolUsageResult"}, + "documentation":"

Describes the allocations from the specified customer-owned address pool.

" + }, + "GetConsoleOutput":{ + "name":"GetConsoleOutput", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConsoleOutputRequest"}, + "output":{"shape":"GetConsoleOutputResult"}, + "documentation":"

Gets the console output for the specified instance. For Linux instances, the instance console output displays the exact console output that would normally be displayed on a physical monitor attached to a computer. For Windows instances, the instance console output includes the last three system event log errors.

By default, the console output returns buffered information that was posted shortly after an instance transition state (start, stop, reboot, or terminate). This information is available for at least one hour after the most recent post. Only the most recent 64 KB of console output is available.

You can optionally retrieve the latest serial console output at any time during the instance lifecycle. This option is supported on instance types that use the Nitro hypervisor.

For more information, see Instance Console Output in the Amazon Elastic Compute Cloud User Guide.

" + }, + "GetConsoleScreenshot":{ + "name":"GetConsoleScreenshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConsoleScreenshotRequest"}, + "output":{"shape":"GetConsoleScreenshotResult"}, + "documentation":"

Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.

The returned content is Base64-encoded.

" + }, + "GetDefaultCreditSpecification":{ + "name":"GetDefaultCreditSpecification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDefaultCreditSpecificationRequest"}, + "output":{"shape":"GetDefaultCreditSpecificationResult"}, + "documentation":"

Describes the default credit option for CPU usage of a burstable performance instance family.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "GetEbsDefaultKmsKeyId":{ + "name":"GetEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"GetEbsDefaultKmsKeyIdResult"}, + "documentation":"

Describes the default customer master key (CMK) for EBS encryption by default for your account in this Region. You can change the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "GetEbsEncryptionByDefault":{ + "name":"GetEbsEncryptionByDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEbsEncryptionByDefaultRequest"}, + "output":{"shape":"GetEbsEncryptionByDefaultResult"}, + "documentation":"

Describes whether EBS encryption by default is enabled for your account in the current Region.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "GetHostReservationPurchasePreview":{ + "name":"GetHostReservationPurchasePreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetHostReservationPurchasePreviewRequest"}, + "output":{"shape":"GetHostReservationPurchasePreviewResult"}, + "documentation":"

Preview a reservation purchase with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation.

This is a preview of the PurchaseHostReservation action and does not result in the offering being purchased.

" + }, + "GetLaunchTemplateData":{ + "name":"GetLaunchTemplateData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLaunchTemplateDataRequest"}, + "output":{"shape":"GetLaunchTemplateDataResult"}, + "documentation":"

Retrieves the configuration data of the specified instance. You can use this data to create a launch template.

" + }, + "GetPasswordData":{ + "name":"GetPasswordData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPasswordDataRequest"}, + "output":{"shape":"GetPasswordDataResult"}, + "documentation":"

Retrieves the encrypted administrator password for a running Windows instance.

The Windows password is generated at boot by the EC2Config service or EC2Launch scripts (Windows Server 2016 and later). This usually only happens the first time an instance is launched. For more information, see EC2Config and EC2Launch in the Amazon Elastic Compute Cloud User Guide.

For the EC2Config service, the password is not generated for rebundled AMIs unless Ec2SetPassword is enabled before bundling.

The password is encrypted using the key pair that you specified when you launched the instance. You must provide the corresponding key pair file.

When you launch an instance, password generation and encryption may take a few minutes. If you try to retrieve the password before it's available, the output returns an empty string. We recommend that you wait up to 15 minutes after launching an instance before trying to retrieve the generated password.

" + }, + "GetReservedInstancesExchangeQuote":{ + "name":"GetReservedInstancesExchangeQuote", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservedInstancesExchangeQuoteRequest"}, + "output":{"shape":"GetReservedInstancesExchangeQuoteResult"}, + "documentation":"

Returns a quote and exchange information for exchanging one or more specified Convertible Reserved Instances for a new Convertible Reserved Instance. If the exchange cannot be performed, the reason is returned in the response. Use AcceptReservedInstancesExchangeQuote to perform the exchange.

" + }, + "GetTransitGatewayAttachmentPropagations":{ + "name":"GetTransitGatewayAttachmentPropagations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTransitGatewayAttachmentPropagationsRequest"}, + "output":{"shape":"GetTransitGatewayAttachmentPropagationsResult"}, + "documentation":"

Lists the route tables to which the specified resource attachment propagates routes.

" + }, + "GetTransitGatewayMulticastDomainAssociations":{ + "name":"GetTransitGatewayMulticastDomainAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTransitGatewayMulticastDomainAssociationsRequest"}, + "output":{"shape":"GetTransitGatewayMulticastDomainAssociationsResult"}, + "documentation":"

Gets information about the associations for the transit gateway multicast domain.

" + }, + "GetTransitGatewayRouteTableAssociations":{ + "name":"GetTransitGatewayRouteTableAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTransitGatewayRouteTableAssociationsRequest"}, + "output":{"shape":"GetTransitGatewayRouteTableAssociationsResult"}, + "documentation":"

Gets information about the associations for the specified transit gateway route table.

" + }, + "GetTransitGatewayRouteTablePropagations":{ + "name":"GetTransitGatewayRouteTablePropagations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTransitGatewayRouteTablePropagationsRequest"}, + "output":{"shape":"GetTransitGatewayRouteTablePropagationsResult"}, + "documentation":"

Gets information about the route table propagations for the specified transit gateway route table.

" + }, + "ImportClientVpnClientCertificateRevocationList":{ + "name":"ImportClientVpnClientCertificateRevocationList", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportClientVpnClientCertificateRevocationListRequest"}, + "output":{"shape":"ImportClientVpnClientCertificateRevocationListResult"}, + "documentation":"

Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list.

Uploading a client certificate revocation list resets existing client connections.

" + }, + "ImportImage":{ + "name":"ImportImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportImageRequest"}, + "output":{"shape":"ImportImageResult"}, + "documentation":"

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI). For more information, see Importing a VM as an Image Using VM Import/Export in the VM Import/Export User Guide.

" + }, + "ImportInstance":{ + "name":"ImportInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportInstanceRequest"}, + "output":{"shape":"ImportInstanceResult"}, + "documentation":"

Creates an import instance task using metadata from the specified disk image. ImportInstance only supports single-volume VMs. To import multi-volume VMs, use ImportImage. For more information, see Importing a Virtual Machine Using the Amazon EC2 CLI.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + }, + "ImportKeyPair":{ + "name":"ImportKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportKeyPairRequest"}, + "output":{"shape":"ImportKeyPairResult"}, + "documentation":"

Imports the public key from an RSA key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which AWS creates the key pair and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair, you create the key pair and give AWS just the public key. The private key is never transferred between you and AWS.

For more information about key pairs, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ImportSnapshot":{ + "name":"ImportSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportSnapshotRequest"}, + "output":{"shape":"ImportSnapshotResult"}, + "documentation":"

Imports a disk into an EBS snapshot.

" + }, + "ImportVolume":{ + "name":"ImportVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportVolumeRequest"}, + "output":{"shape":"ImportVolumeResult"}, + "documentation":"

Creates an import volume task using metadata from the specified disk image.For more information, see Importing Disks to Amazon EBS.

For information about the import manifest referenced by this API action, see VM Import Manifest.

" + }, + "ModifyAvailabilityZoneGroup":{ + "name":"ModifyAvailabilityZoneGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyAvailabilityZoneGroupRequest"}, + "output":{"shape":"ModifyAvailabilityZoneGroupResult"}, + "documentation":"

Enables or disables an Availability Zone group for your account.

Use describe-availability-zones to view the value for GroupName.

" + }, + "ModifyCapacityReservation":{ + "name":"ModifyCapacityReservation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyCapacityReservationRequest"}, + "output":{"shape":"ModifyCapacityReservationResult"}, + "documentation":"

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, platform, Availability Zone, or instance eligibility. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes.

" + }, + "ModifyClientVpnEndpoint":{ + "name":"ModifyClientVpnEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClientVpnEndpointRequest"}, + "output":{"shape":"ModifyClientVpnEndpointResult"}, + "documentation":"

Modifies the specified Client VPN endpoint. Modifying the DNS server resets existing client connections.

" + }, + "ModifyDefaultCreditSpecification":{ + "name":"ModifyDefaultCreditSpecification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDefaultCreditSpecificationRequest"}, + "output":{"shape":"ModifyDefaultCreditSpecificationResult"}, + "documentation":"

Modifies the default credit option for CPU usage of burstable performance instances. The default credit option is set at the account level per AWS Region, and is specified per instance family. All new burstable performance instances in the account launch using the default credit option.

ModifyDefaultCreditSpecification is an asynchronous operation, which works at an AWS Region level and modifies the credit option for each Availability Zone. All zones in a Region are updated within five minutes. But if instances are launched during this operation, they might not get the new credit option until the zone is updated. To verify whether the update has occurred, you can call GetDefaultCreditSpecification and check DefaultCreditSpecification for updates.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyEbsDefaultKmsKeyId":{ + "name":"ModifyEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"ModifyEbsDefaultKmsKeyIdResult"}, + "documentation":"

Changes the default customer master key (CMK) for EBS encryption by default for your account in this Region.

AWS creates a unique AWS managed CMK in each Region for use with encryption by default. If you change the default CMK to a symmetric customer managed CMK, it is used instead of the AWS managed CMK. To reset the default CMK to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does not support asymmetric CMKs.

If you delete or disable the customer managed CMK that you specified for use with encryption by default, your instances will fail to launch.

For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyFleet":{ + "name":"ModifyFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyFleetRequest"}, + "output":{"shape":"ModifyFleetResult"}, + "documentation":"

Modifies the specified EC2 Fleet.

You can only modify an EC2 Fleet request of type maintain.

While the EC2 Fleet is being modified, it is in the modifying state.

To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches the additional Spot Instances according to the allocation strategy for the EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the EC2 Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your EC2 Fleet, decrease its target capacity. First, the EC2 Fleet cancels any open requests that exceed the new target capacity. You can request that the EC2 Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowest-price, the EC2 Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacity-optimized, the EC2 Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the EC2 Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your EC2 Fleet for now, but will use it again later, you can set the target capacity to 0.

" + }, + "ModifyFpgaImageAttribute":{ + "name":"ModifyFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyFpgaImageAttributeRequest"}, + "output":{"shape":"ModifyFpgaImageAttributeResult"}, + "documentation":"

Modifies the specified attribute of the specified Amazon FPGA Image (AFI).

" + }, + "ModifyHosts":{ + "name":"ModifyHosts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyHostsRequest"}, + "output":{"shape":"ModifyHostsResult"}, + "documentation":"

Modify the auto-placement setting of a Dedicated Host. When auto-placement is enabled, any instances that you launch with a tenancy of host but without a specific host ID are placed onto any available Dedicated Host in your account that has auto-placement enabled. When auto-placement is disabled, you need to provide a host ID to have the instance launch onto a specific host. If no host ID is provided, the instance is launched onto a suitable host with auto-placement enabled.

You can also use this API action to modify a Dedicated Host to support either multiple instance types in an instance family, or to support a specific instance type only.

" + }, + "ModifyIdFormat":{ + "name":"ModifyIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyIdFormatRequest"}, + "documentation":"

Modifies the ID format for the specified resource on a per-Region basis. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

This setting applies to the IAM user who makes the request; it does not apply to the entire AWS account. By default, an IAM user defaults to the same settings as the root user. If you're using this action as the root user, then these settings apply to the entire account, unless an IAM user explicitly overrides these settings for themselves. For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + }, + "ModifyIdentityIdFormat":{ + "name":"ModifyIdentityIdFormat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyIdentityIdFormatRequest"}, + "documentation":"

Modifies the ID format of a resource for a specified IAM user, IAM role, or the root user for an account; or all IAM users, IAM roles, and the root user for an account. You can specify that resources should receive longer IDs (17-character IDs) when they are created.

This request can only be used to modify longer ID settings for resource types that are within the opt-in period. Resources currently in their opt-in period include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

For more information, see Resource IDs in the Amazon Elastic Compute Cloud User Guide.

This setting applies to the principal specified in the request; it does not apply to the principal that makes the request.

Resources created with longer IDs are visible to all IAM roles and users, regardless of these settings and provided that they have permission to use the relevant Describe command for the resource type.

" + }, + "ModifyImageAttribute":{ + "name":"ModifyImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyImageAttributeRequest"}, + "documentation":"

Modifies the specified attribute of the specified AMI. You can specify only one attribute at a time. You can use the Attribute parameter to specify the attribute or one of the following parameters: Description, LaunchPermission, or ProductCode.

AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace product code cannot be made public.

To enable the SriovNetSupport enhanced networking attribute of an image, enable SriovNetSupport on an instance and create an AMI from the instance.

" + }, + "ModifyInstanceAttribute":{ + "name":"ModifyInstanceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceAttributeRequest"}, + "documentation":"

Modifies the specified attribute of the specified instance. You can specify only one attribute at a time.

Note: Using this action to change the security groups associated with an elastic network interface (ENI) attached to an instance in a VPC can result in an error if the instance has more than one ENI. To change the security groups associated with an ENI attached to an instance that has multiple ENIs, we recommend that you use the ModifyNetworkInterfaceAttribute action.

To modify some attributes, the instance must be stopped. For more information, see Modifying Attributes of a Stopped Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyInstanceCapacityReservationAttributes":{ + "name":"ModifyInstanceCapacityReservationAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceCapacityReservationAttributesRequest"}, + "output":{"shape":"ModifyInstanceCapacityReservationAttributesResult"}, + "documentation":"

Modifies the Capacity Reservation settings for a stopped instance. Use this action to configure an instance to target a specific Capacity Reservation, run in any open Capacity Reservation with matching attributes, or run On-Demand Instance capacity.

" + }, + "ModifyInstanceCreditSpecification":{ + "name":"ModifyInstanceCreditSpecification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceCreditSpecificationRequest"}, + "output":{"shape":"ModifyInstanceCreditSpecificationResult"}, + "documentation":"

Modifies the credit option for CPU usage on a running or stopped burstable performance instance. The credit options are standard and unlimited.

For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyInstanceEventStartTime":{ + "name":"ModifyInstanceEventStartTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceEventStartTimeRequest"}, + "output":{"shape":"ModifyInstanceEventStartTimeResult"}, + "documentation":"

Modifies the start time for a scheduled Amazon EC2 instance event.

" + }, + "ModifyInstanceMetadataOptions":{ + "name":"ModifyInstanceMetadataOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceMetadataOptionsRequest"}, + "output":{"shape":"ModifyInstanceMetadataOptionsResult"}, + "documentation":"

Modify the instance metadata parameters on a running or stopped instance. When you modify the parameters on a stopped instance, they are applied when the instance is started. When you modify the parameters on a running instance, the API responds with a state of “pending”. After the parameter modifications are successfully applied to the instance, the state of the modifications changes from “pending” to “applied” in subsequent describe-instances API calls. For more information, see Instance Metadata and User Data.

" + }, + "ModifyInstancePlacement":{ + "name":"ModifyInstancePlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstancePlacementRequest"}, + "output":{"shape":"ModifyInstancePlacementResult"}, + "documentation":"

Modifies the placement attributes for a specified instance. You can do the following:

  • Modify the affinity between an instance and a Dedicated Host. When affinity is set to host and the instance is not associated with a specific Dedicated Host, the next time the instance is launched, it is automatically associated with the host on which it lands. If the instance is restarted or rebooted, this relationship persists.

  • Change the Dedicated Host with which an instance is associated.

  • Change the instance tenancy of an instance from host to dedicated, or from dedicated to host.

  • Move an instance to or from a placement group.

At least one attribute for affinity, host ID, tenancy, or placement group name must be specified in the request. Affinity and tenancy can be modified in the same request.

To modify the host ID, tenancy, placement group, or partition for an instance, the instance must be in the stopped state.

" + }, + "ModifyLaunchTemplate":{ + "name":"ModifyLaunchTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyLaunchTemplateRequest"}, + "output":{"shape":"ModifyLaunchTemplateResult"}, + "documentation":"

Modifies a launch template. You can specify which version of the launch template to set as the default version. When launching an instance, the default version applies when a launch template version is not specified.

" + }, + "ModifyNetworkInterfaceAttribute":{ + "name":"ModifyNetworkInterfaceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyNetworkInterfaceAttributeRequest"}, + "documentation":"

Modifies the specified network interface attribute. You can specify only one attribute at a time. You can use this action to attach and detach security groups from an existing EC2 instance.

" + }, + "ModifyReservedInstances":{ + "name":"ModifyReservedInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyReservedInstancesRequest"}, + "output":{"shape":"ModifyReservedInstancesResult"}, + "documentation":"

Modifies the Availability Zone, instance count, instance type, or network platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved Instances to be modified must be identical, except for Availability Zone, network platform, and instance type.

For more information, see Modifying Reserved Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifySnapshotAttribute":{ + "name":"ModifySnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySnapshotAttributeRequest"}, + "documentation":"

Adds or removes permission settings for the specified snapshot. You may add or remove specified AWS account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with AWS Marketplace product codes cannot be made public. Snapshots encrypted with your default CMK cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifySpotFleetRequest":{ + "name":"ModifySpotFleetRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySpotFleetRequestRequest"}, + "output":{"shape":"ModifySpotFleetRequestResponse"}, + "documentation":"

Modifies the specified Spot Fleet request.

You can only modify a Spot Fleet request of type maintain.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacityOptimized, the Spot Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

" + }, + "ModifySubnetAttribute":{ + "name":"ModifySubnetAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySubnetAttributeRequest"}, + "documentation":"

Modifies a subnet attribute. You can only modify one attribute at a time.

" + }, + "ModifyTrafficMirrorFilterNetworkServices":{ + "name":"ModifyTrafficMirrorFilterNetworkServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTrafficMirrorFilterNetworkServicesRequest"}, + "output":{"shape":"ModifyTrafficMirrorFilterNetworkServicesResult"}, + "documentation":"

Allows or restricts mirroring network services.

By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored. When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter.

For information about filter rule properties, see Network Services in the Traffic Mirroring User Guide .

" + }, + "ModifyTrafficMirrorFilterRule":{ + "name":"ModifyTrafficMirrorFilterRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTrafficMirrorFilterRuleRequest"}, + "output":{"shape":"ModifyTrafficMirrorFilterRuleResult"}, + "documentation":"

Modifies the specified Traffic Mirror rule.

DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an IPv6 range.

" + }, + "ModifyTrafficMirrorSession":{ + "name":"ModifyTrafficMirrorSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTrafficMirrorSessionRequest"}, + "output":{"shape":"ModifyTrafficMirrorSessionResult"}, + "documentation":"

Modifies a Traffic Mirror session.

" + }, + "ModifyTransitGatewayVpcAttachment":{ + "name":"ModifyTransitGatewayVpcAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyTransitGatewayVpcAttachmentRequest"}, + "output":{"shape":"ModifyTransitGatewayVpcAttachmentResult"}, + "documentation":"

Modifies the specified VPC attachment.

" + }, + "ModifyVolume":{ + "name":"ModifyVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVolumeRequest"}, + "output":{"shape":"ModifyVolumeResult"}, + "documentation":"

You can modify several parameters of an existing EBS volume, including volume size, volume type, and IOPS capacity. If your EBS volume is attached to a current-generation EC2 instance type, you may be able to apply these changes without stopping the instance or detaching the volume from it. For more information about modifying an EBS volume running Linux, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux. For more information about modifying an EBS volume running Windows, see Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

When you complete a resize operation on your volume, you need to extend the volume's file-system size to take advantage of the new storage capacity. For information about extending a Linux file system, see Extending a Linux File System. For information about extending a Windows file system, see Extending a Windows File System.

You can use CloudWatch Events to check the status of a modification to an EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch Events User Guide. You can also track the status of a modification using DescribeVolumesModifications. For information about tracking status changes using either method, see Monitoring Volume Modifications.

With previous-generation instance types, resizing an EBS volume may require detaching and reattaching the volume or stopping and restarting the instance. For more information, see Modifying the Size, IOPS, or Type of an EBS Volume on Linux and Modifying the Size, IOPS, or Type of an EBS Volume on Windows.

If you reach the maximum volume modification rate per volume limit, you will need to wait at least six hours before applying further modifications to the affected EBS volume.

" + }, + "ModifyVolumeAttribute":{ + "name":"ModifyVolumeAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVolumeAttributeRequest"}, + "documentation":"

Modifies a volume attribute.

By default, all I/O operations for the volume are suspended when the data on the volume is determined to be potentially inconsistent, to prevent undetectable, latent data corruption. The I/O access to the volume can be resumed by first enabling I/O access and then checking the data consistency on your volume.

You can change the default behavior to resume I/O operations. We recommend that you change this only for boot volumes or for volumes that are stateless or disposable.

" + }, + "ModifyVpcAttribute":{ + "name":"ModifyVpcAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcAttributeRequest"}, + "documentation":"

Modifies the specified attribute of the specified VPC.

" + }, + "ModifyVpcEndpoint":{ + "name":"ModifyVpcEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcEndpointRequest"}, + "output":{"shape":"ModifyVpcEndpointResult"}, + "documentation":"

Modifies attributes of a specified VPC endpoint. The attributes that you can modify depend on the type of VPC endpoint (interface or gateway). For more information, see VPC Endpoints in the Amazon Virtual Private Cloud User Guide.

" + }, + "ModifyVpcEndpointConnectionNotification":{ + "name":"ModifyVpcEndpointConnectionNotification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcEndpointConnectionNotificationRequest"}, + "output":{"shape":"ModifyVpcEndpointConnectionNotificationResult"}, + "documentation":"

Modifies a connection notification for VPC endpoint or VPC endpoint service. You can change the SNS topic for the notification, or the events for which to be notified.

" + }, + "ModifyVpcEndpointServiceConfiguration":{ + "name":"ModifyVpcEndpointServiceConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcEndpointServiceConfigurationRequest"}, + "output":{"shape":"ModifyVpcEndpointServiceConfigurationResult"}, + "documentation":"

Modifies the attributes of your VPC endpoint service configuration. You can change the Network Load Balancers for your service, and you can specify whether acceptance is required for requests to connect to your endpoint service through an interface VPC endpoint.

If you set or modify the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

" + }, + "ModifyVpcEndpointServicePermissions":{ + "name":"ModifyVpcEndpointServicePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcEndpointServicePermissionsRequest"}, + "output":{"shape":"ModifyVpcEndpointServicePermissionsResult"}, + "documentation":"

Modifies the permissions for your VPC endpoint service. You can add or remove permissions for service consumers (IAM users, IAM roles, and AWS accounts) to connect to your endpoint service.

If you grant permissions to all principals, the service is public. Any users who know the name of a public service can send a request to attach an endpoint. If the service does not require manual approval, attachments are automatically approved.

" + }, + "ModifyVpcPeeringConnectionOptions":{ + "name":"ModifyVpcPeeringConnectionOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcPeeringConnectionOptionsRequest"}, + "output":{"shape":"ModifyVpcPeeringConnectionOptionsResult"}, + "documentation":"

Modifies the VPC peering connection options on one side of a VPC peering connection. You can do the following:

  • Enable/disable communication over the peering connection between an EC2-Classic instance that's linked to your VPC (using ClassicLink) and instances in the peer VPC.

  • Enable/disable communication over the peering connection between instances in your VPC and an EC2-Classic instance that's linked to the peer VPC.

  • Enable/disable the ability to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

If the peered VPCs are in the same AWS account, you can enable DNS resolution for queries from the local VPC. This ensures that queries from the local VPC resolve to private IP addresses in the peer VPC. This option is not available if the peered VPCs are in different AWS accounts or different Regions. For peered VPCs in different AWS accounts, each AWS account owner must initiate a separate request to modify the peering connection options. For inter-region peering connections, you must use the Region for the requester VPC to modify the requester VPC peering options and the Region for the accepter VPC to modify the accepter VPC peering options. To verify which VPCs are the accepter and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections command.

" + }, + "ModifyVpcTenancy":{ + "name":"ModifyVpcTenancy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpcTenancyRequest"}, + "output":{"shape":"ModifyVpcTenancyResult"}, + "documentation":"

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

For more information, see Dedicated Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ModifyVpnConnection":{ + "name":"ModifyVpnConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpnConnectionRequest"}, + "output":{"shape":"ModifyVpnConnectionResult"}, + "documentation":"

Modifies the customer gateway or the target gateway of an AWS Site-to-Site VPN connection. To modify the target gateway, the following migration options are available:

  • An existing virtual private gateway to a new virtual private gateway

  • An existing virtual private gateway to a transit gateway

  • An existing transit gateway to a new transit gateway

  • An existing transit gateway to a virtual private gateway

Before you perform the migration to the new gateway, you must configure the new gateway. Use CreateVpnGateway to create a virtual private gateway, or CreateTransitGateway to create a transit gateway.

This step is required when you migrate from a virtual private gateway with static routes to a transit gateway.

You must delete the static routes before you migrate to the new gateway.

Keep a copy of the static route before you delete it. You will need to add back these routes to the transit gateway after the VPN connection migration is complete.

After you migrate to the new gateway, you might need to modify your VPC route table. Use CreateRoute and DeleteRoute to make the changes described in VPN Gateway Target Modification Required VPC Route Table Updates in the AWS Site-to-Site VPN User Guide.

When the new gateway is a transit gateway, modify the transit gateway route table to allow traffic between the VPC and the AWS Site-to-Site VPN connection. Use CreateTransitGatewayRoute to add the routes.

If you deleted VPN static routes, you must add the static routes to the transit gateway route table.

After you perform this operation, the AWS VPN endpoint's IP addresses on the AWS side and the tunnel options remain intact. Your AWS Site-to-Site VPN connection will be temporarily unavailable for a brief period while we provision the new endpoints.

" + }, + "ModifyVpnTunnelCertificate":{ + "name":"ModifyVpnTunnelCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpnTunnelCertificateRequest"}, + "output":{"shape":"ModifyVpnTunnelCertificateResult"}, + "documentation":"

Modifies the VPN tunnel endpoint certificate.

" + }, + "ModifyVpnTunnelOptions":{ + "name":"ModifyVpnTunnelOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyVpnTunnelOptionsRequest"}, + "output":{"shape":"ModifyVpnTunnelOptionsResult"}, + "documentation":"

Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection. You can modify multiple options for a tunnel in a single request, but you can only modify one tunnel at a time. For more information, see Site-to-Site VPN Tunnel Options for Your Site-to-Site VPN Connection in the AWS Site-to-Site VPN User Guide.

" + }, + "MonitorInstances":{ + "name":"MonitorInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MonitorInstancesRequest"}, + "output":{"shape":"MonitorInstancesResult"}, + "documentation":"

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is enabled. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

To disable detailed monitoring, see .

" + }, + "MoveAddressToVpc":{ + "name":"MoveAddressToVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MoveAddressToVpcRequest"}, + "output":{"shape":"MoveAddressToVpcResult"}, + "documentation":"

Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC platform. The Elastic IP address must be allocated to your account for more than 24 hours, and it must not be associated with an instance. After the Elastic IP address is moved, it is no longer available for use in the EC2-Classic platform, unless you move it back using the RestoreAddressToClassic request. You cannot move an Elastic IP address that was originally allocated for use in the EC2-VPC platform to the EC2-Classic platform.

" + }, + "ProvisionByoipCidr":{ + "name":"ProvisionByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ProvisionByoipCidrRequest"}, + "output":{"shape":"ProvisionByoipCidrResult"}, + "documentation":"

Provisions an IPv4 or IPv6 address range for use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

AWS verifies that you own the address range and are authorized to advertise it. You must ensure that the address range is registered to you and that you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise the address range. For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon Elastic Compute Cloud User Guide.

Provisioning an address range is an asynchronous operation, so the call returns immediately, but the address range is not ready to use until its status changes from pending-provision to provisioned. To monitor the status of an address range, use DescribeByoipCidrs. To allocate an Elastic IP address from your IPv4 address pool, use AllocateAddress with either the specific address from the address pool or the ID of the address pool.

" + }, + "PurchaseHostReservation":{ + "name":"PurchaseHostReservation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PurchaseHostReservationRequest"}, + "output":{"shape":"PurchaseHostReservationResult"}, + "documentation":"

Purchase a reservation with configurations that match those of your Dedicated Host. You must have active Dedicated Hosts in your account before you purchase a reservation. This action results in the specified reservation being purchased and charged to your account.

" + }, + "PurchaseReservedInstancesOffering":{ + "name":"PurchaseReservedInstancesOffering", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PurchaseReservedInstancesOfferingRequest"}, + "output":{"shape":"PurchaseReservedInstancesOfferingResult"}, + "documentation":"

Purchases a Reserved Instance for use with your account. With Reserved Instances, you pay a lower hourly rate compared to On-Demand instance pricing.

Use DescribeReservedInstancesOfferings to get a list of Reserved Instance offerings that match your specifications. After you've purchased a Reserved Instance, you can check for your new Reserved Instance with DescribeReservedInstances.

To queue a purchase for a future date and time, specify a purchase time. If you do not specify a purchase time, the default is the current time.

For more information, see Reserved Instances and Reserved Instance Marketplace in the Amazon Elastic Compute Cloud User Guide.

" + }, + "PurchaseScheduledInstances":{ + "name":"PurchaseScheduledInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PurchaseScheduledInstancesRequest"}, + "output":{"shape":"PurchaseScheduledInstancesResult"}, + "documentation":"

Purchases the Scheduled Instances with the specified schedule.

Scheduled Instances enable you to purchase Amazon EC2 compute capacity by the hour for a one-year term. Before you can purchase a Scheduled Instance, you must call DescribeScheduledInstanceAvailability to check for available schedules and obtain a purchase token. After you purchase a Scheduled Instance, you must call RunScheduledInstances during each scheduled time period.

After you purchase a Scheduled Instance, you can't cancel, modify, or resell your purchase.

" + }, + "RebootInstances":{ + "name":"RebootInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootInstancesRequest"}, + "documentation":"

Requests a reboot of the specified instances. This operation is asynchronous; it only queues a request to reboot the specified instances. The operation succeeds if the instances are valid and belong to you. Requests to reboot terminated instances are ignored.

If an instance does not cleanly shut down within four minutes, Amazon EC2 performs a hard reboot.

For more information about troubleshooting, see Getting Console Output and Rebooting Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "RegisterImage":{ + "name":"RegisterImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterImageRequest"}, + "output":{"shape":"RegisterImageResult"}, + "documentation":"

Registers an AMI. When you're creating an AMI, this is the final step you must complete before you can launch an instance from the AMI. For more information about creating AMIs, see Creating Your Own AMIs in the Amazon Elastic Compute Cloud User Guide.

For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single request, so you don't have to register the AMI yourself.

You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from a snapshot of a root device volume. You specify the snapshot using the block device mapping. For more information, see Launching a Linux Instance from a Backup in the Amazon Elastic Compute Cloud User Guide.

You can't register an image where a secondary (non-root) snapshot has AWS Marketplace product codes.

Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code associated with an AMI to verify the subscription status for package updates. To create a new AMI for operating systems that require a billing product code, instead of registering the AMI, do the following to preserve the billing product code association:

  1. Launch an instance from an existing AMI with that billing product code.

  2. Customize the instance.

  3. Create an AMI from the instance using CreateImage.

If you purchase a Reserved Instance to apply to an On-Demand Instance that was launched from an AMI with a billing product code, make sure that the Reserved Instance has the matching billing product code. If you purchase a Reserved Instance without the matching billing product code, the Reserved Instance will not be applied to the On-Demand Instance. For information about how to obtain the platform details and billing information of an AMI, see Obtaining Billing Information in the Amazon Elastic Compute Cloud User Guide.

If needed, you can deregister an AMI at any time. Any modifications you make to an AMI backed by an instance store volume invalidates its registration. If you make changes to an image, deregister the previous image and register the new image.

" + }, + "RegisterInstanceEventNotificationAttributes":{ + "name":"RegisterInstanceEventNotificationAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterInstanceEventNotificationAttributesRequest"}, + "output":{"shape":"RegisterInstanceEventNotificationAttributesResult"}, + "documentation":"

Registers a set of tag keys to include in scheduled event notifications for your resources.

To remove tags, use .

" + }, + "RegisterTransitGatewayMulticastGroupMembers":{ + "name":"RegisterTransitGatewayMulticastGroupMembers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterTransitGatewayMulticastGroupMembersRequest"}, + "output":{"shape":"RegisterTransitGatewayMulticastGroupMembersResult"}, + "documentation":"

Registers members (network interfaces) with the transit gateway multicast group. A member is a network interface associated with a supported EC2 instance that receives multicast traffic. For information about supported instances, see Multicast Consideration in Amazon VPC Transit Gateways.

After you add the members, use SearchTransitGatewayMulticastGroups to verify that the members were added to the transit gateway multicast group.

" + }, + "RegisterTransitGatewayMulticastGroupSources":{ + "name":"RegisterTransitGatewayMulticastGroupSources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterTransitGatewayMulticastGroupSourcesRequest"}, + "output":{"shape":"RegisterTransitGatewayMulticastGroupSourcesResult"}, + "documentation":"

Registers sources (network interfaces) with the specified transit gateway multicast group.

A multicast source is a network interface attached to a supported instance that sends multicast traffic. For information about supported instances, see Multicast Considerations in Amazon VPC Transit Gateways.

After you add the source, use SearchTransitGatewayMulticastGroups to verify that the source was added to the multicast group.

" + }, + "RejectTransitGatewayPeeringAttachment":{ + "name":"RejectTransitGatewayPeeringAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectTransitGatewayPeeringAttachmentRequest"}, + "output":{"shape":"RejectTransitGatewayPeeringAttachmentResult"}, + "documentation":"

Rejects a transit gateway peering attachment request.

" + }, + "RejectTransitGatewayVpcAttachment":{ + "name":"RejectTransitGatewayVpcAttachment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectTransitGatewayVpcAttachmentRequest"}, + "output":{"shape":"RejectTransitGatewayVpcAttachmentResult"}, + "documentation":"

Rejects a request to attach a VPC to a transit gateway.

The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment to accept a VPC attachment request.

" + }, + "RejectVpcEndpointConnections":{ + "name":"RejectVpcEndpointConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectVpcEndpointConnectionsRequest"}, + "output":{"shape":"RejectVpcEndpointConnectionsResult"}, + "documentation":"

Rejects one or more VPC endpoint connection requests to your VPC endpoint service.

" + }, + "RejectVpcPeeringConnection":{ + "name":"RejectVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectVpcPeeringConnectionRequest"}, + "output":{"shape":"RejectVpcPeeringConnectionResult"}, + "documentation":"

Rejects a VPC peering connection request. The VPC peering connection must be in the pending-acceptance state. Use the DescribeVpcPeeringConnections request to view your outstanding VPC peering connection requests. To delete an active VPC peering connection, or to delete a VPC peering connection request that you initiated, use DeleteVpcPeeringConnection.

" + }, + "ReleaseAddress":{ + "name":"ReleaseAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReleaseAddressRequest"}, + "documentation":"

Releases the specified Elastic IP address.

[EC2-Classic, default VPC] Releasing an Elastic IP address automatically disassociates it from any instance that it's associated with. To disassociate an Elastic IP address without releasing it, use DisassociateAddress.

[Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic IP address before you can release it. Otherwise, Amazon EC2 returns an error (InvalidIPAddress.InUse).

After releasing an Elastic IP address, it is released to the IP address pool. Be sure to update your DNS records and any servers or devices that communicate with the address. If you attempt to release an Elastic IP address that you already released, you'll get an AuthFailure error if the address is already allocated to another AWS account.

[EC2-VPC] After you release an Elastic IP address for use in a VPC, you might be able to recover it. For more information, see AllocateAddress.

" + }, + "ReleaseHosts":{ + "name":"ReleaseHosts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReleaseHostsRequest"}, + "output":{"shape":"ReleaseHostsResult"}, + "documentation":"

When you no longer want to use an On-Demand Dedicated Host it can be released. On-Demand billing is stopped and the host goes into released state. The host ID of Dedicated Hosts that have been released can no longer be specified in another request, for example, to modify the host. You must stop or terminate all instances on a host before it can be released.

When Dedicated Hosts are released, it may take some time for them to stop counting toward your limit and you may receive capacity errors when trying to allocate new Dedicated Hosts. Wait a few minutes and then try again.

Released hosts still appear in a DescribeHosts response.

" + }, + "ReplaceIamInstanceProfileAssociation":{ + "name":"ReplaceIamInstanceProfileAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceIamInstanceProfileAssociationRequest"}, + "output":{"shape":"ReplaceIamInstanceProfileAssociationResult"}, + "documentation":"

Replaces an IAM instance profile for the specified running instance. You can use this action to change the IAM instance profile that's associated with an instance without having to disassociate the existing IAM instance profile first.

Use DescribeIamInstanceProfileAssociations to get the association ID.

" + }, + "ReplaceNetworkAclAssociation":{ + "name":"ReplaceNetworkAclAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceNetworkAclAssociationRequest"}, + "output":{"shape":"ReplaceNetworkAclAssociationResult"}, + "documentation":"

Changes which network ACL a subnet is associated with. By default when you create a subnet, it's automatically associated with the default network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

This is an idempotent operation.

" + }, + "ReplaceNetworkAclEntry":{ + "name":"ReplaceNetworkAclEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceNetworkAclEntryRequest"}, + "documentation":"

Replaces an entry (rule) in a network ACL. For more information, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

" + }, + "ReplaceRoute":{ + "name":"ReplaceRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceRouteRequest"}, + "documentation":"

Replaces an existing route within a route table in a VPC. You must provide only one of the following: internet gateway, virtual private gateway, NAT instance, NAT gateway, VPC peering connection, network interface, egress-only internet gateway, or transit gateway.

For more information, see Route Tables in the Amazon Virtual Private Cloud User Guide.

" + }, + "ReplaceRouteTableAssociation":{ + "name":"ReplaceRouteTableAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceRouteTableAssociationRequest"}, + "output":{"shape":"ReplaceRouteTableAssociationResult"}, + "documentation":"

Changes the route table associated with a given subnet, internet gateway, or virtual private gateway in a VPC. After the operation completes, the subnet or gateway uses the routes in the new route table. For more information about route tables, see Route Tables in the Amazon Virtual Private Cloud User Guide.

You can also use this operation to change which table is the main route table in the VPC. Specify the main route table's association ID and the route table ID of the new main route table.

" + }, + "ReplaceTransitGatewayRoute":{ + "name":"ReplaceTransitGatewayRoute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReplaceTransitGatewayRouteRequest"}, + "output":{"shape":"ReplaceTransitGatewayRouteResult"}, + "documentation":"

Replaces the specified route in the specified transit gateway route table.

" + }, + "ReportInstanceStatus":{ + "name":"ReportInstanceStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReportInstanceStatusRequest"}, + "documentation":"

Submits feedback about the status of an instance. The instance must be in the running state. If your experience with the instance differs from the instance status returned by DescribeInstanceStatus, use ReportInstanceStatus to report your experience with the instance. Amazon EC2 collects this information to improve the accuracy of status checks.

Use of this action does not change the value returned by DescribeInstanceStatus.

" + }, + "RequestSpotFleet":{ + "name":"RequestSpotFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RequestSpotFleetRequest"}, + "output":{"shape":"RequestSpotFleetResponse"}, + "documentation":"

Creates a Spot Fleet request.

The Spot Fleet request specifies the total target capacity and the On-Demand target capacity. Amazon EC2 calculates the difference between the total capacity and On-Demand capacity, and launches the difference as Spot capacity.

You can submit a single request that includes multiple launch specifications that vary by instance type, AMI, Availability Zone, or subnet.

By default, the Spot Fleet requests Spot Instances in the Spot Instance pool where the price per unit is the lowest. Each launch specification can include its own instance weighting that reflects the value of the instance type to your application workload.

Alternatively, you can specify that the Spot Fleet distribute the target capacity across the Spot pools included in its launch specifications. By ensuring that the Spot Instances in your Spot Fleet are in different Spot pools, you can improve the availability of your fleet.

You can specify tags for the Spot Fleet request and instances launched by the fleet. You cannot tag other resource types in a Spot Fleet request because only the spot-fleet-request and instance resource types are supported.

For more information, see Spot Fleet Requests in the Amazon EC2 User Guide for Linux Instances.

" + }, + "RequestSpotInstances":{ + "name":"RequestSpotInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RequestSpotInstancesRequest"}, + "output":{"shape":"RequestSpotInstancesResult"}, + "documentation":"

Creates a Spot Instance request.

For more information, see Spot Instance Requests in the Amazon EC2 User Guide for Linux Instances.

" + }, + "ResetEbsDefaultKmsKeyId":{ + "name":"ResetEbsDefaultKmsKeyId", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetEbsDefaultKmsKeyIdRequest"}, + "output":{"shape":"ResetEbsDefaultKmsKeyIdResult"}, + "documentation":"

Resets the default customer master key (CMK) for EBS encryption for your account in this Region to the AWS managed CMK for EBS.

After resetting the default CMK to the AWS managed CMK, you can continue to encrypt by a customer managed CMK by specifying it when you create the volume. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ResetFpgaImageAttribute":{ + "name":"ResetFpgaImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetFpgaImageAttributeRequest"}, + "output":{"shape":"ResetFpgaImageAttributeResult"}, + "documentation":"

Resets the specified attribute of the specified Amazon FPGA Image (AFI) to its default value. You can only reset the load permission attribute.

" + }, + "ResetImageAttribute":{ + "name":"ResetImageAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetImageAttributeRequest"}, + "documentation":"

Resets an attribute of an AMI to its default value.

The productCodes attribute can't be reset.

" + }, + "ResetInstanceAttribute":{ + "name":"ResetInstanceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetInstanceAttributeRequest"}, + "documentation":"

Resets an attribute of an instance to its default value. To reset the kernel or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck, the instance can be either running or stopped.

The sourceDestCheck attribute controls whether source/destination checking is enabled. The default value is true, which means checking is enabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

" + }, + "ResetNetworkInterfaceAttribute":{ + "name":"ResetNetworkInterfaceAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetNetworkInterfaceAttributeRequest"}, + "documentation":"

Resets a network interface attribute. You can specify only one attribute at a time.

" + }, + "ResetSnapshotAttribute":{ + "name":"ResetSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetSnapshotAttributeRequest"}, + "documentation":"

Resets permission settings for the specified snapshot.

For more information about modifying snapshot permissions, see Sharing Snapshots in the Amazon Elastic Compute Cloud User Guide.

" + }, + "RestoreAddressToClassic":{ + "name":"RestoreAddressToClassic", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreAddressToClassicRequest"}, + "output":{"shape":"RestoreAddressToClassicResult"}, + "documentation":"

Restores an Elastic IP address that was previously moved to the EC2-VPC platform back to the EC2-Classic platform. You cannot move an Elastic IP address that was originally allocated for use in EC2-VPC. The Elastic IP address must not be associated with an instance or network interface.

" + }, + "RevokeClientVpnIngress":{ + "name":"RevokeClientVpnIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeClientVpnIngressRequest"}, + "output":{"shape":"RevokeClientVpnIngressResult"}, + "documentation":"

Removes an ingress authorization rule from a Client VPN endpoint.

" + }, + "RevokeSecurityGroupEgress":{ + "name":"RevokeSecurityGroupEgress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeSecurityGroupEgressRequest"}, + "documentation":"

[VPC only] Removes the specified egress rules from a security group for EC2-VPC. This action doesn't apply to security groups for use in EC2-Classic. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" + }, + "RevokeSecurityGroupIngress":{ + "name":"RevokeSecurityGroupIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeSecurityGroupIngressRequest"}, + "documentation":"

Removes the specified ingress rules from a security group. To remove a rule, the values that you specify (for example, ports) must match the existing rule's values exactly.

[EC2-Classic only] If the values you specify do not match the existing rule's values, no error is returned. Use DescribeSecurityGroups to verify that the rule has been removed.

Each rule consists of the protocol and the CIDR range or source security group. For the TCP and UDP protocols, you must also specify the destination port or range of ports. For the ICMP protocol, you must also specify the ICMP type and code. If the security group rule has a description, you do not have to specify the description to revoke the rule.

Rule changes are propagated to instances within the security group as quickly as possible. However, a small delay might occur.

" + }, + "RunInstances":{ + "name":"RunInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RunInstancesRequest"}, + "output":{"shape":"Reservation"}, + "documentation":"

Launches the specified number of instances using an AMI for which you have permissions.

You can specify a number of options, or leave the default options. The following rules apply:

  • [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet from your default VPC for you. If you don't have a default VPC, you must specify a subnet ID in the request.

  • [EC2-Classic] If don't specify an Availability Zone, we choose one for you.

  • Some instance types must be launched into a VPC. If you do not have a default VPC, or if you do not specify a subnet ID, the request fails. For more information, see Instance Types Available Only in a VPC.

  • [EC2-VPC] All instances have a network interface with a primary private IPv4 address. If you don't specify this address, we choose one from the IPv4 range of your subnet.

  • Not all instance types support IPv6 addresses. For more information, see Instance Types.

  • If you don't specify a security group ID, we use the default security group. For more information, see Security Groups.

  • If any of the AMIs have a product code attached for which the user has not subscribed, the request fails.

You can create a launch template, which is a resource that contains the parameters to launch an instance. When you launch an instance using RunInstances, you can specify the launch template instead of specifying the launch parameters.

To ensure faster instance launches, break up large requests into smaller batches. For example, create five separate launch requests for 100 instances each instead of one launch request for 500 instances.

An instance is ready for you to use when it's in the running state. You can check the state of your instance using DescribeInstances. You can tag instances and EBS volumes during launch, after launch, or both. For more information, see CreateTags and Tagging Your Amazon EC2 Resources.

Linux instances have access to the public key of the key pair at boot. You can use this key to provide secure access to the instance. Amazon EC2 public images use this feature to provide secure access without passwords. For more information, see Key Pairs in the Amazon Elastic Compute Cloud User Guide.

For troubleshooting, see What To Do If An Instance Immediately Terminates, and Troubleshooting Connecting to Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "RunScheduledInstances":{ + "name":"RunScheduledInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RunScheduledInstancesRequest"}, + "output":{"shape":"RunScheduledInstancesResult"}, + "documentation":"

Launches the specified Scheduled Instances.

Before you can launch a Scheduled Instance, you must purchase it and obtain an identifier using PurchaseScheduledInstances.

You must launch a Scheduled Instance during its scheduled time period. You can't stop or reboot a Scheduled Instance, but you can terminate it as needed. If you terminate a Scheduled Instance before the current scheduled time period ends, you can launch it again after a few minutes. For more information, see Scheduled Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "SearchLocalGatewayRoutes":{ + "name":"SearchLocalGatewayRoutes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchLocalGatewayRoutesRequest"}, + "output":{"shape":"SearchLocalGatewayRoutesResult"}, + "documentation":"

Searches for routes in the specified local gateway route table.

" + }, + "SearchTransitGatewayMulticastGroups":{ + "name":"SearchTransitGatewayMulticastGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchTransitGatewayMulticastGroupsRequest"}, + "output":{"shape":"SearchTransitGatewayMulticastGroupsResult"}, + "documentation":"

Searches one or more transit gateway multicast groups and returns the group membership information.

" + }, + "SearchTransitGatewayRoutes":{ + "name":"SearchTransitGatewayRoutes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchTransitGatewayRoutesRequest"}, + "output":{"shape":"SearchTransitGatewayRoutesResult"}, + "documentation":"

Searches for routes in the specified transit gateway route table.

" + }, + "SendDiagnosticInterrupt":{ + "name":"SendDiagnosticInterrupt", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendDiagnosticInterruptRequest"}, + "documentation":"

Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger a kernel panic (on Linux instances), or a blue screen/stop error (on Windows instances). For instances based on Intel and AMD processors, the interrupt is received as a non-maskable interrupt (NMI).

In general, the operating system crashes and reboots when a kernel panic or stop error is triggered. The operating system can also be configured to perform diagnostic tasks, such as generating a memory dump file, loading a secondary kernel, or obtaining a call trace.

Before sending a diagnostic interrupt to your instance, ensure that its operating system is configured to perform the required diagnostic tasks.

For more information about configuring your operating system to generate a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic Interrupt (Linux instances) or Send a Diagnostic Interrupt (Windows instances).

" + }, + "StartInstances":{ + "name":"StartInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartInstancesRequest"}, + "output":{"shape":"StartInstancesResult"}, + "documentation":"

Starts an Amazon EBS-backed instance that you've previously stopped.

Instances that use Amazon EBS volumes as their root devices can be quickly stopped and started. When an instance is stopped, the compute resources are released and you are not billed for instance usage. However, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. You can restart your instance at any time. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

Before stopping an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM.

Performing this operation on an instance that uses an instance store as its root device returns an error.

For more information, see Stopping Instances in the Amazon Elastic Compute Cloud User Guide.

" + }, + "StartVpcEndpointServicePrivateDnsVerification":{ + "name":"StartVpcEndpointServicePrivateDnsVerification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartVpcEndpointServicePrivateDnsVerificationRequest"}, + "output":{"shape":"StartVpcEndpointServicePrivateDnsVerificationResult"}, + "documentation":"

Initiates the verification process to prove that the service provider owns the private DNS name domain for the endpoint service.

The service provider must successfully perform the verification before the consumer can use the name to access the service.

Before the service provider runs this command, they must add a record to the DNS server. For more information, see Adding a TXT Record to Your Domain's DNS Server in the Amazon VPC User Guide.

" + }, + "StopInstances":{ + "name":"StopInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopInstancesRequest"}, + "output":{"shape":"StopInstancesResult"}, + "documentation":"

Stops an Amazon EBS-backed instance.

You can use the Stop action to hibernate an instance if the instance is enabled for hibernation and it meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

We don't charge usage for a stopped instance, or data transfer fees; however, your root partition Amazon EBS volume remains and continues to persist your data, and you are charged for Amazon EBS volume usage. Every time you start your Windows instance, Amazon EC2 charges you for a full instance hour. If you stop and restart your Windows instance, a new instance hour begins and Amazon EC2 charges you for another full instance hour even if you are still within the same 60-minute period when it was stopped. Every time you start your Linux instance, Amazon EC2 charges a one-minute minimum for instance usage, and thereafter charges per second for instance usage.

You can't stop or hibernate instance store-backed instances. You can't use the Stop action to hibernate Spot Instances, but you can specify that Amazon EC2 should hibernate Spot Instances when they are interrupted. For more information, see Hibernating Interrupted Spot Instances in the Amazon Elastic Compute Cloud User Guide.

When you stop or hibernate an instance, we shut it down. You can restart your instance at any time. Before stopping or hibernating an instance, make sure it is in a state from which it can be restarted. Stopping an instance does not preserve data stored in RAM, but hibernating an instance does preserve data stored in RAM. If an instance cannot hibernate successfully, a normal shutdown occurs.

Stopping and hibernating an instance is different to rebooting or terminating it. For example, when you stop or hibernate an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, the root device and any other devices attached during the instance launch are automatically deleted. For more information about the differences between rebooting, stopping, hibernating, and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

When you stop an instance, we attempt to shut it down forcibly after a short while. If your instance appears stuck in the stopping state after a period of time, there may be an issue with the underlying host computer. For more information, see Troubleshooting Stopping Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "TerminateClientVpnConnections":{ + "name":"TerminateClientVpnConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateClientVpnConnectionsRequest"}, + "output":{"shape":"TerminateClientVpnConnectionsResult"}, + "documentation":"

Terminates active Client VPN endpoint connections. This action can be used to terminate a specific client connection, or up to five connections established by a specific user.

" + }, + "TerminateInstances":{ + "name":"TerminateInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateInstancesRequest"}, + "output":{"shape":"TerminateInstancesResult"}, + "documentation":"

Shuts down the specified instances. This operation is idempotent; if you terminate an instance more than once, each call succeeds.

If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated.

Terminated instances remain visible after termination (for approximately one hour).

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance launched. Volumes attached after instance launch continue running.

You can stop, start, and terminate EBS-backed instances. You can only terminate instance store-backed instances. What happens to an instance differs if you stop it or terminate it. For example, when you stop an instance, the root device and any other devices attached to the instance persist. When you terminate an instance, any attached EBS volumes with the DeleteOnTermination block device mapping parameter set to true are automatically deleted. For more information about the differences between stopping and terminating instances, see Instance Lifecycle in the Amazon Elastic Compute Cloud User Guide.

For more information about troubleshooting, see Troubleshooting Terminating Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "UnassignIpv6Addresses":{ + "name":"UnassignIpv6Addresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UnassignIpv6AddressesRequest"}, + "output":{"shape":"UnassignIpv6AddressesResult"}, + "documentation":"

Unassigns one or more IPv6 addresses from a network interface.

" + }, + "UnassignPrivateIpAddresses":{ + "name":"UnassignPrivateIpAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UnassignPrivateIpAddressesRequest"}, + "documentation":"

Unassigns one or more secondary private IP addresses from a network interface.

" + }, + "UnmonitorInstances":{ + "name":"UnmonitorInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UnmonitorInstancesRequest"}, + "output":{"shape":"UnmonitorInstancesResult"}, + "documentation":"

Disables detailed monitoring for a running instance. For more information, see Monitoring Your Instances and Volumes in the Amazon Elastic Compute Cloud User Guide.

" + }, + "UpdateSecurityGroupRuleDescriptionsEgress":{ + "name":"UpdateSecurityGroupRuleDescriptionsEgress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressRequest"}, + "output":{"shape":"UpdateSecurityGroupRuleDescriptionsEgressResult"}, + "documentation":"

[VPC only] Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" + }, + "UpdateSecurityGroupRuleDescriptionsIngress":{ + "name":"UpdateSecurityGroupRuleDescriptionsIngress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressRequest"}, + "output":{"shape":"UpdateSecurityGroupRuleDescriptionsIngressResult"}, + "documentation":"

Updates the description of an ingress (inbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously.

You specify the description as part of the IP permissions structure. You can remove a description for a security group rule by omitting the description parameter in the request.

" + }, + "WithdrawByoipCidr":{ + "name":"WithdrawByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"WithdrawByoipCidrRequest"}, + "output":{"shape":"WithdrawByoipCidrResult"}, + "documentation":"

Stops advertising an address range that is provisioned as an address pool.

You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time.

It can take a few minutes before traffic to the specified addresses stops routing to AWS because of BGP propagation delays.

" + } + }, + "shapes":{ + "AcceptReservedInstancesExchangeQuoteRequest":{ + "type":"structure", + "required":["ReservedInstanceIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ReservedInstanceIds":{ + "shape":"ReservedInstanceIdSet", + "documentation":"

The IDs of the Convertible Reserved Instances to exchange for another Convertible Reserved Instance of the same or higher value.

", + "locationName":"ReservedInstanceId" + }, + "TargetConfigurations":{ + "shape":"TargetConfigurationRequestSet", + "documentation":"

The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

", + "locationName":"TargetConfiguration" + } + }, + "documentation":"

Contains the parameters for accepting the quote.

" + }, + "AcceptReservedInstancesExchangeQuoteResult":{ + "type":"structure", + "members":{ + "ExchangeId":{ + "shape":"String", + "documentation":"

The ID of the successful exchange.

", + "locationName":"exchangeId" + } + }, + "documentation":"

The result of the exchange and whether it was successful.

" + }, + "AcceptTransitGatewayPeeringAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the transit gateway attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AcceptTransitGatewayPeeringAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayPeeringAttachment":{ + "shape":"TransitGatewayPeeringAttachment", + "documentation":"

The transit gateway peering attachment.

", + "locationName":"transitGatewayPeeringAttachment" + } + } + }, + "AcceptTransitGatewayVpcAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AcceptTransitGatewayVpcAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachment":{ + "shape":"TransitGatewayVpcAttachment", + "documentation":"

The VPC attachment.

", + "locationName":"transitGatewayVpcAttachment" + } + } + }, + "AcceptVpcEndpointConnectionsRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "VpcEndpointIds" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the VPC endpoint service.

" + }, + "VpcEndpointIds":{ + "shape":"VpcEndpointIdList", + "documentation":"

The IDs of one or more interface VPC endpoints.

", + "locationName":"VpcEndpointId" + } + } + }, + "AcceptVpcEndpointConnectionsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the interface endpoints that were not accepted, if applicable.

", + "locationName":"unsuccessful" + } + } + }, + "AcceptVpcPeeringConnectionRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of the VPC peering connection. You must specify this parameter in the request.

", + "locationName":"vpcPeeringConnectionId" + } + } + }, + "AcceptVpcPeeringConnectionResult":{ + "type":"structure", + "members":{ + "VpcPeeringConnection":{ + "shape":"VpcPeeringConnection", + "documentation":"

Information about the VPC peering connection.

", + "locationName":"vpcPeeringConnection" + } + } + }, + "AccountAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the account attribute.

", + "locationName":"attributeName" + }, + "AttributeValues":{ + "shape":"AccountAttributeValueList", + "documentation":"

The values for the account attribute.

", + "locationName":"attributeValueSet" + } + }, + "documentation":"

Describes an account attribute.

" + }, + "AccountAttributeList":{ + "type":"list", + "member":{ + "shape":"AccountAttribute", + "locationName":"item" + } + }, + "AccountAttributeName":{ + "type":"string", + "enum":[ + "supported-platforms", + "default-vpc" + ] + }, + "AccountAttributeNameStringList":{ + "type":"list", + "member":{ + "shape":"AccountAttributeName", + "locationName":"attributeName" + } + }, + "AccountAttributeValue":{ + "type":"structure", + "members":{ + "AttributeValue":{ + "shape":"String", + "documentation":"

The value of the attribute.

", + "locationName":"attributeValue" + } + }, + "documentation":"

Describes a value of an account attribute.

" + }, + "AccountAttributeValueList":{ + "type":"list", + "member":{ + "shape":"AccountAttributeValue", + "locationName":"item" + } + }, + "ActiveInstance":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "SpotInstanceRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Instance request.

", + "locationName":"spotInstanceRequestId" + }, + "InstanceHealth":{ + "shape":"InstanceHealthStatus", + "documentation":"

The health status of the instance. If the status of either the instance status check or the system status check is impaired, the health status of the instance is unhealthy. Otherwise, the health status is healthy.

", + "locationName":"instanceHealth" + } + }, + "documentation":"

Describes a running instance in a Spot Fleet.

" + }, + "ActiveInstanceSet":{ + "type":"list", + "member":{ + "shape":"ActiveInstance", + "locationName":"item" + } + }, + "ActivityStatus":{ + "type":"string", + "enum":[ + "error", + "pending_fulfillment", + "pending_termination", + "fulfilled" + ] + }, + "Address":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance that the address is associated with (if any).

", + "locationName":"instanceId" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + }, + "AllocationId":{ + "shape":"String", + "documentation":"

The ID representing the allocation of the address for use with EC2-VPC.

", + "locationName":"allocationId" + }, + "AssociationId":{ + "shape":"String", + "documentation":"

The ID representing the association of the address with an instance in a VPC.

", + "locationName":"associationId" + }, + "Domain":{ + "shape":"DomainType", + "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", + "locationName":"domain" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "NetworkInterfaceOwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the network interface.

", + "locationName":"networkInterfaceOwnerId" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IP address associated with the Elastic IP address.

", + "locationName":"privateIpAddress" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Elastic IP address.

", + "locationName":"tagSet" + }, + "PublicIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of an address pool.

", + "locationName":"publicIpv4Pool" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which the IP address is advertised.

", + "locationName":"networkBorderGroup" + }, + "CustomerOwnedIp":{ + "shape":"String", + "documentation":"

The customer-owned IP address.

", + "locationName":"customerOwnedIp" + }, + "CustomerOwnedIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of the customer-owned address pool.

", + "locationName":"customerOwnedIpv4Pool" + } + }, + "documentation":"

Describes an Elastic IP address.

" + }, + "AddressList":{ + "type":"list", + "member":{ + "shape":"Address", + "locationName":"item" + } + }, + "AdvertiseByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AdvertiseByoipCidrResult":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

", + "locationName":"byoipCidr" + } + } + }, + "Affinity":{ + "type":"string", + "enum":[ + "default", + "host" + ] + }, + "AllocateAddressRequest":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"DomainType", + "documentation":"

Set to vpc to allocate the address for use with instances in a VPC.

Default: The address is for use with instances in EC2-Classic.

" + }, + "Address":{ + "shape":"String", + "documentation":"

[EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address pool.

" + }, + "PublicIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of an address pool that you own. Use this parameter to let Amazon EC2 select an address from the address pool. To specify a specific address from the address pool, use the Address parameter instead.

" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The location from which the IP address is advertised. Use this parameter to limit the address to this location.

A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises IP addresses and limits the addresses to the group. IP addresses cannot move between network border groups.

Use DescribeAvailabilityZones to view the network border groups.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes.

" + }, + "CustomerOwnedIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of a customer-owned address pool. Use this parameter to let Amazon EC2 select an address from the address pool. Alternatively, specify a specific address from the address pool.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "AllocateAddressResult":{ + "type":"structure", + "members":{ + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + }, + "AllocationId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic IP address for use with instances in a VPC.

", + "locationName":"allocationId" + }, + "PublicIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of an address pool.

", + "locationName":"publicIpv4Pool" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The location from which the IP address is advertised.

", + "locationName":"networkBorderGroup" + }, + "Domain":{ + "shape":"DomainType", + "documentation":"

Indicates whether this Elastic IP address is for use with instances in EC2-Classic (standard) or instances in a VPC (vpc).

", + "locationName":"domain" + }, + "CustomerOwnedIp":{ + "shape":"String", + "documentation":"

The customer-owned IP address.

", + "locationName":"customerOwnedIp" + }, + "CustomerOwnedIpv4Pool":{ + "shape":"String", + "documentation":"

The ID of the customer-owned address pool.

", + "locationName":"customerOwnedIpv4Pool" + } + } + }, + "AllocateHostsRequest":{ + "type":"structure", + "required":[ + "AvailabilityZone", + "Quantity" + ], + "members":{ + "AutoPlacement":{ + "shape":"AutoPlacement", + "documentation":"

Indicates whether the host accepts any untargeted instance launches that match its instance type configuration, or if it only accepts Host tenancy instance launches that specify its unique host ID. For more information, see Understanding Instance Placement and Host Affinity in the Amazon EC2 User Guide for Linux Instances.

Default: on

", + "locationName":"autoPlacement" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to allocate the Dedicated Host.

", + "locationName":"availabilityZone" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

Specifies the instance type to be supported by the Dedicated Hosts. If you specify an instance type, the Dedicated Hosts support instances of the specified instance type only.

If you want the Dedicated Hosts to support multiple instance types in a specific instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.

", + "locationName":"instanceType" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

Specifies the instance family to be supported by the Dedicated Hosts. If you specify an instance family, the Dedicated Hosts support multiple instance types within that instance family.

If you want the Dedicated Hosts to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.

" + }, + "Quantity":{ + "shape":"Integer", + "documentation":"

The number of Dedicated Hosts to allocate to your account with these parameters.

", + "locationName":"quantity" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the Dedicated Host during creation.

", + "locationName":"TagSpecification" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether to enable or disable host recovery for the Dedicated Host. Host recovery is disabled by default. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.

Default: off

" + } + } + }, + "AllocateHostsResult":{ + "type":"structure", + "members":{ + "HostIds":{ + "shape":"ResponseHostIdList", + "documentation":"

The ID of the allocated Dedicated Host. This is used to launch an instance onto a specific host.

", + "locationName":"hostIdSet" + } + }, + "documentation":"

Contains the output of AllocateHosts.

" + }, + "AllocationId":{"type":"string"}, + "AllocationIdList":{ + "type":"list", + "member":{ + "shape":"AllocationId", + "locationName":"AllocationId" + } + }, + "AllocationState":{ + "type":"string", + "enum":[ + "available", + "under-assessment", + "permanent-failure", + "released", + "released-permanent-failure", + "pending" + ] + }, + "AllocationStrategy":{ + "type":"string", + "enum":[ + "lowestPrice", + "diversified", + "capacityOptimized" + ] + }, + "AllowedPrincipal":{ + "type":"structure", + "members":{ + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

The type of principal.

", + "locationName":"principalType" + }, + "Principal":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the principal.

", + "locationName":"principal" + } + }, + "documentation":"

Describes a principal.

" + }, + "AllowedPrincipalSet":{ + "type":"list", + "member":{ + "shape":"AllowedPrincipal", + "locationName":"item" + } + }, + "AllowsMultipleInstanceTypes":{ + "type":"string", + "enum":[ + "on", + "off" + ] + }, + "ApplySecurityGroupsToClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "VpcId", + "SecurityGroupIds" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC in which the associated target network is located.

" + }, + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of the security groups to apply to the associated target network. Up to 5 security groups can be applied to an associated target network.

", + "locationName":"SecurityGroupId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ApplySecurityGroupsToClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of the applied security groups.

", + "locationName":"securityGroupIds" + } + } + }, + "ArchitectureType":{ + "type":"string", + "enum":[ + "i386", + "x86_64", + "arm64" + ] + }, + "ArchitectureTypeList":{ + "type":"list", + "member":{ + "shape":"ArchitectureType", + "locationName":"item" + } + }, + "ArchitectureValues":{ + "type":"string", + "enum":[ + "i386", + "x86_64", + "arm64" + ] + }, + "AssignIpv6AddressesRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"Ipv6AddressList", + "documentation":"

One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.

", + "locationName":"ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + } + }, + "AssignIpv6AddressesResult":{ + "type":"structure", + "members":{ + "AssignedIpv6Addresses":{ + "shape":"Ipv6AddressList", + "documentation":"

The IPv6 addresses assigned to the network interface.

", + "locationName":"assignedIpv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + } + }, + "AssignPrivateIpAddressesRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "AllowReassignment":{ + "shape":"Boolean", + "documentation":"

Indicates whether to allow an IP address that is already assigned to another network interface or instance to be reassigned to the specified network interface.

", + "locationName":"allowReassignment" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressStringList", + "documentation":"

One or more IP addresses to be assigned as a secondary private IP address to the network interface. You can't specify this parameter when also specifying a number of secondary IP addresses.

If you don't specify an IP address, Amazon EC2 automatically selects an IP address within the subnet range.

", + "locationName":"privateIpAddress" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary IP addresses to assign to the network interface. You can't specify this parameter when also specifying private IP addresses.

", + "locationName":"secondaryPrivateIpAddressCount" + } + }, + "documentation":"

Contains the parameters for AssignPrivateIpAddresses.

" + }, + "AssignPrivateIpAddressesResult":{ + "type":"structure", + "members":{ + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "AssignedPrivateIpAddresses":{ + "shape":"AssignedPrivateIpAddressList", + "documentation":"

The private IP addresses assigned to the network interface.

", + "locationName":"assignedPrivateIpAddressesSet" + } + } + }, + "AssignedPrivateIpAddress":{ + "type":"structure", + "members":{ + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IP address assigned to the network interface.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Describes the private IP addresses assigned to a network interface.

" + }, + "AssignedPrivateIpAddressList":{ + "type":"list", + "member":{ + "shape":"AssignedPrivateIpAddress", + "locationName":"item" + } + }, + "AssociateAddressRequest":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"AllocationId", + "documentation":"

[EC2-VPC] The allocation ID. This is required for EC2-VPC.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both. The operation fails if you specify an instance ID unless exactly one network interface is attached.

" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address to associate with the instance. This is required for EC2-Classic.

" + }, + "AllowReassociation":{ + "shape":"Boolean", + "documentation":"

[EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic IP address that is already associated with an instance or network interface to be reassociated with the specified instance or network interface. Otherwise, the operation fails. In a VPC in an EC2-VPC-only account, reassociation is automatic, therefore you can specify false to ensure the operation fails if the Elastic IP address is already associated with another resource.

", + "locationName":"allowReassociation" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

[EC2-VPC] The ID of the network interface. If the instance has more than one network interface, you must specify a network interface ID.

For EC2-VPC, you can specify either the instance ID or the network interface ID, but not both.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

[EC2-VPC] The primary or secondary private IP address to associate with the Elastic IP address. If no private IP address is specified, the Elastic IP address is associated with the primary private IP address.

", + "locationName":"privateIpAddress" + } + } + }, + "AssociateAddressResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID that represents the association of the Elastic IP address with an instance.

", + "locationName":"associationId" + } + } + }, + "AssociateClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "SubnetId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet to associate with the Client VPN endpoint.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AssociateClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The unique ID of the target network association.

", + "locationName":"associationId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + } + } + }, + "AssociateDhcpOptionsRequest":{ + "type":"structure", + "required":[ + "DhcpOptionsId", + "VpcId" + ], + "members":{ + "DhcpOptionsId":{ + "shape":"DefaultingDhcpOptionsId", + "documentation":"

The ID of the DHCP options set, or default to associate no DHCP options with the VPC.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "AssociateIamInstanceProfileRequest":{ + "type":"structure", + "required":[ + "IamInstanceProfile", + "InstanceId" + ], + "members":{ + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + } + } + }, + "AssociateIamInstanceProfileResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, + "AssociateRouteTableRequest":{ + "type":"structure", + "required":["RouteTableId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "GatewayId":{ + "shape":"RouteGatewayId", + "documentation":"

The ID of the internet gateway or virtual private gateway.

" + } + } + }, + "AssociateRouteTableResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The route table association ID. This ID is required for disassociating the route table.

", + "locationName":"associationId" + }, + "AssociationState":{ + "shape":"RouteTableAssociationState", + "documentation":"

The state of the association.

", + "locationName":"associationState" + } + } + }, + "AssociateSubnetCidrBlockRequest":{ + "type":"structure", + "required":[ + "Ipv6CidrBlock", + "SubnetId" + ], + "members":{ + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.

", + "locationName":"ipv6CidrBlock" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of your subnet.

", + "locationName":"subnetId" + } + } + }, + "AssociateSubnetCidrBlockResult":{ + "type":"structure", + "members":{ + "Ipv6CidrBlockAssociation":{ + "shape":"SubnetIpv6CidrBlockAssociation", + "documentation":"

Information about the IPv6 CIDR block association.

", + "locationName":"ipv6CidrBlockAssociation" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + } + } + }, + "AssociateTransitGatewayMulticastDomainRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

" + }, + "SubnetIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the subnets to associate with the transit gateway multicast domain.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AssociateTransitGatewayMulticastDomainResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"TransitGatewayMulticastDomainAssociations", + "documentation":"

Information about the transit gateway multicast domain associations.

", + "locationName":"associations" + } + } + }, + "AssociateTransitGatewayRouteTableRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "TransitGatewayAttachmentId" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AssociateTransitGatewayRouteTableResult":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"TransitGatewayAssociation", + "documentation":"

The ID of the association.

", + "locationName":"association" + } + } + }, + "AssociateVpcCidrBlockRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "AmazonProvidedIpv6CidrBlock":{ + "shape":"Boolean", + "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IPv6 addresses, or the size of the CIDR block.

", + "locationName":"amazonProvidedIpv6CidrBlock" + }, + "CidrBlock":{ + "shape":"String", + "documentation":"

An IPv4 CIDR block to associate with the VPC.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "Ipv6CidrBlockNetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the CiDR block to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

You can have one IPv6 CIDR block association per network border group.

" + }, + "Ipv6Pool":{ + "shape":"Ipv6PoolEc2Id", + "documentation":"

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

An IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" + } + } + }, + "AssociateVpcCidrBlockResult":{ + "type":"structure", + "members":{ + "Ipv6CidrBlockAssociation":{ + "shape":"VpcIpv6CidrBlockAssociation", + "documentation":"

Information about the IPv6 CIDR block association.

", + "locationName":"ipv6CidrBlockAssociation" + }, + "CidrBlockAssociation":{ + "shape":"VpcCidrBlockAssociation", + "documentation":"

Information about the IPv4 CIDR block association.

", + "locationName":"cidrBlockAssociation" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "AssociatedNetworkType":{ + "type":"string", + "enum":["vpc"] + }, + "AssociatedTargetNetwork":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"networkId" + }, + "NetworkType":{ + "shape":"AssociatedNetworkType", + "documentation":"

The target network type.

", + "locationName":"networkType" + } + }, + "documentation":"

Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

" + }, + "AssociatedTargetNetworkSet":{ + "type":"list", + "member":{ + "shape":"AssociatedTargetNetwork", + "locationName":"item" + } + }, + "AssociationIdList":{ + "type":"list", + "member":{ + "shape":"IamInstanceProfileAssociationId", + "locationName":"AssociationId" + } + }, + "AssociationStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"AssociationStatusCode", + "documentation":"

The state of the target network association.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the target network association, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a target network association.

" + }, + "AssociationStatusCode":{ + "type":"string", + "enum":[ + "associating", + "associated", + "association-failed", + "disassociating", + "disassociated" + ] + }, + "AttachClassicLinkVpcRequest":{ + "type":"structure", + "required":[ + "Groups", + "InstanceId", + "VpcId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Groups":{ + "shape":"GroupIdStringList", + "documentation":"

The ID of one or more of the VPC's security groups. You cannot specify security groups from a different VPC.

", + "locationName":"SecurityGroupId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.

", + "locationName":"instanceId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of a ClassicLink-enabled VPC.

", + "locationName":"vpcId" + } + } + }, + "AttachClassicLinkVpcResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "AttachInternetGatewayRequest":{ + "type":"structure", + "required":[ + "InternetGatewayId", + "VpcId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InternetGatewayId":{ + "shape":"InternetGatewayId", + "documentation":"

The ID of the internet gateway.

", + "locationName":"internetGatewayId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "AttachNetworkInterfaceRequest":{ + "type":"structure", + "required":[ + "DeviceIndex", + "InstanceId", + "NetworkInterfaceId" + ], + "members":{ + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The index of the device for the network interface attachment.

", + "locationName":"deviceIndex" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + }, + "documentation":"

Contains the parameters for AttachNetworkInterface.

" + }, + "AttachNetworkInterfaceResult":{ + "type":"structure", + "members":{ + "AttachmentId":{ + "shape":"String", + "documentation":"

The ID of the network interface attachment.

", + "locationName":"attachmentId" + } + }, + "documentation":"

Contains the output of AttachNetworkInterface.

" + }, + "AttachVolumeRequest":{ + "type":"structure", + "required":[ + "Device", + "InstanceId", + "VolumeId" + ], + "members":{ + "Device":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the EBS volume. The volume and instance must be within the same Availability Zone.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "AttachVpnGatewayRequest":{ + "type":"structure", + "required":[ + "VpcId", + "VpnGatewayId" + ], + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "VpnGatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for AttachVpnGateway.

" + }, + "AttachVpnGatewayResult":{ + "type":"structure", + "members":{ + "VpcAttachment":{ + "shape":"VpcAttachment", + "documentation":"

Information about the attachment.

", + "locationName":"attachment" + } + }, + "documentation":"

Contains the output of AttachVpnGateway.

" + }, + "AttachmentStatus":{ + "type":"string", + "enum":[ + "attaching", + "attached", + "detaching", + "detached" + ] + }, + "AttributeBooleanValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

The attribute value. The valid values are true or false.

", + "locationName":"value" + } + }, + "documentation":"

Describes a value for a resource attribute that is a Boolean value.

" + }, + "AttributeValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The attribute value. The value is case-sensitive.

", + "locationName":"value" + } + }, + "documentation":"

Describes a value for a resource attribute that is a String.

" + }, + "AuthorizationRule":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the authorization rule is associated.

", + "locationName":"clientVpnEndpointId" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the authorization rule.

", + "locationName":"description" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory group to which the authorization rule grants access.

", + "locationName":"groupId" + }, + "AccessAll":{ + "shape":"Boolean", + "documentation":"

Indicates whether the authorization rule grants access to all clients.

", + "locationName":"accessAll" + }, + "DestinationCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

", + "locationName":"destinationCidr" + }, + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + }, + "documentation":"

Information about an authorization rule.

" + }, + "AuthorizationRuleSet":{ + "type":"list", + "member":{ + "shape":"AuthorizationRule", + "locationName":"item" + } + }, + "AuthorizeClientVpnIngressRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "TargetNetworkCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the network for which access is being authorized.

" + }, + "AccessGroupId":{ + "shape":"String", + "documentation":"

The ID of the group to grant access to, for example, the Active Directory group or identity provider (IdP) group.

" + }, + "AuthorizeAllGroups":{ + "shape":"Boolean", + "documentation":"

Indicates whether to grant access to all clients. Use true to grant all clients who successfully establish a VPN connection access to the network.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the authorization rule.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "AuthorizeClientVpnIngressResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + } + }, + "AuthorizeSecurityGroupEgressRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", + "locationName":"ipPermissions" + }, + "CidrIp":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", + "locationName":"cidrIp" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify the protocol name or number.

", + "locationName":"ipProtocol" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", + "locationName":"toPort" + }, + "SourceSecurityGroupName":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", + "locationName":"sourceSecurityGroupName" + }, + "SourceSecurityGroupOwnerId":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", + "locationName":"sourceSecurityGroupOwnerId" + } + } + }, + "AuthorizeSecurityGroupIngressRequest":{ + "type":"structure", + "members":{ + "CidrIp":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR format. You can't specify this parameter when specifying a source security group. To specify an IPv6 address range, use a set of IP permissions.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all types. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" + }, + "GroupName":{ + "shape":"SecurityGroupName", + "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The sets of IP permissions.

" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). To specify icmpv6, use a set of IP permissions.

[VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol other than tcp, udp, or icmp, traffic on all ports is allowed, regardless of any ports you specify.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + }, + "SourceSecurityGroupName":{ + "shape":"String", + "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead. For EC2-VPC, the source security group must be in the same VPC.

" + }, + "SourceSecurityGroupOwnerId":{ + "shape":"String", + "documentation":"

[nondefault VPC] The AWS account ID for the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. Creates rules that grant full ICMP, UDP, and TCP access. To create a rule with a specific IP protocol and port range, use a set of IP permissions instead.

" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all codes. If you specify all ICMP types, you must specify all codes.

Alternatively, use a set of IP permissions to specify multiple rules and a description for the rule.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "AutoAcceptSharedAttachmentsValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "AutoPlacement":{ + "type":"string", + "enum":[ + "on", + "off" + ] + }, + "AutoRecoveryFlag":{"type":"boolean"}, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "State":{ + "shape":"AvailabilityZoneState", + "documentation":"

The state of the Availability Zone or Local Zone.

", + "locationName":"zoneState" + }, + "OptInStatus":{ + "shape":"AvailabilityZoneOptInStatus", + "documentation":"

For Availability Zones, this parameter always has the value of opt-in-not-required.

For Local Zones, this parameter is the opt in status. The possible values are opted-in, and not-opted-in.

", + "locationName":"optInStatus" + }, + "Messages":{ + "shape":"AvailabilityZoneMessageList", + "documentation":"

Any messages about the Availability Zone or Local Zone.

", + "locationName":"messageSet" + }, + "RegionName":{ + "shape":"String", + "documentation":"

The name of the Region.

", + "locationName":"regionName" + }, + "ZoneName":{ + "shape":"String", + "documentation":"

The name of the Availability Zone or Local Zone.

", + "locationName":"zoneName" + }, + "ZoneId":{ + "shape":"String", + "documentation":"

The ID of the Availability Zone or Local Zone.

", + "locationName":"zoneId" + }, + "GroupName":{ + "shape":"String", + "documentation":"

For Availability Zones, this parameter has the same value as the Region name.

For Local Zones, the name of the associated group, for example us-west-2-lax-1.

", + "locationName":"groupName" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which the address is advertised.

", + "locationName":"networkBorderGroup" + } + }, + "documentation":"

Describes an Availability Zone or Local Zone.

" + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{ + "shape":"AvailabilityZone", + "locationName":"item" + } + }, + "AvailabilityZoneMessage":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The message about the Availability Zone or Local Zone.

", + "locationName":"message" + } + }, + "documentation":"

Describes a message about an Availability Zone or Local Zone.

" + }, + "AvailabilityZoneMessageList":{ + "type":"list", + "member":{ + "shape":"AvailabilityZoneMessage", + "locationName":"item" + } + }, + "AvailabilityZoneOptInStatus":{ + "type":"string", + "enum":[ + "opt-in-not-required", + "opted-in", + "not-opted-in" + ] + }, + "AvailabilityZoneState":{ + "type":"string", + "enum":[ + "available", + "information", + "impaired", + "unavailable" + ] + }, + "AvailabilityZoneStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AvailabilityZone" + } + }, + "AvailableCapacity":{ + "type":"structure", + "members":{ + "AvailableInstanceCapacity":{ + "shape":"AvailableInstanceCapacityList", + "documentation":"

The number of instances that can be launched onto the Dedicated Host depending on the host's available capacity. For Dedicated Hosts that support multiple instance types, this parameter represents the number of instances for each instance size that is supported on the host.

", + "locationName":"availableInstanceCapacity" + }, + "AvailableVCpus":{ + "shape":"Integer", + "documentation":"

The number of vCPUs available for launching instances onto the Dedicated Host.

", + "locationName":"availableVCpus" + } + }, + "documentation":"

The capacity information for instances that can be launched onto the Dedicated Host.

" + }, + "AvailableInstanceCapacityList":{ + "type":"list", + "member":{ + "shape":"InstanceCapacity", + "locationName":"item" + } + }, + "BareMetalFlag":{"type":"boolean"}, + "BaselineBandwidthInMbps":{"type":"integer"}, + "BaselineIops":{"type":"integer"}, + "BaselineThroughputInMBps":{"type":"double"}, + "BatchState":{ + "type":"string", + "enum":[ + "submitted", + "active", + "cancelled", + "failed", + "cancelled_running", + "cancelled_terminating", + "modifying" + ] + }, + "BillingProductList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "Blob":{"type":"blob"}, + "BlobAttributeValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Blob", + "locationName":"value" + } + } + }, + "BlockDeviceMapping":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

", + "locationName":"deviceName" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

NVMe instance store volumes are automatically enumerated and assigned a device name. Including them in your block device mapping has no effect.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

", + "locationName":"virtualName" + }, + "Ebs":{ + "shape":"EbsBlockDevice", + "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", + "locationName":"ebs" + }, + "NoDevice":{ + "shape":"String", + "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", + "locationName":"noDevice" + } + }, + "documentation":"

Describes a block device mapping.

" + }, + "BlockDeviceMappingList":{ + "type":"list", + "member":{ + "shape":"BlockDeviceMapping", + "locationName":"item" + } + }, + "BlockDeviceMappingRequestList":{ + "type":"list", + "member":{ + "shape":"BlockDeviceMapping", + "locationName":"BlockDeviceMapping" + } + }, + "Boolean":{"type":"boolean"}, + "BundleId":{"type":"string"}, + "BundleIdStringList":{ + "type":"list", + "member":{ + "shape":"BundleId", + "locationName":"BundleId" + } + }, + "BundleInstanceRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Storage" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance to bundle.

Type: String

Default: None

Required: Yes

" + }, + "Storage":{ + "shape":"Storage", + "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for BundleInstance.

" + }, + "BundleInstanceResult":{ + "type":"structure", + "members":{ + "BundleTask":{ + "shape":"BundleTask", + "documentation":"

Information about the bundle task.

", + "locationName":"bundleInstanceTask" + } + }, + "documentation":"

Contains the output of BundleInstance.

" + }, + "BundleTask":{ + "type":"structure", + "members":{ + "BundleId":{ + "shape":"String", + "documentation":"

The ID of the bundle task.

", + "locationName":"bundleId" + }, + "BundleTaskError":{ + "shape":"BundleTaskError", + "documentation":"

If the task fails, a description of the error.

", + "locationName":"error" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance associated with this bundle task.

", + "locationName":"instanceId" + }, + "Progress":{ + "shape":"String", + "documentation":"

The level of task completion, as a percent (for example, 20%).

", + "locationName":"progress" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time this task started.

", + "locationName":"startTime" + }, + "State":{ + "shape":"BundleTaskState", + "documentation":"

The state of the task.

", + "locationName":"state" + }, + "Storage":{ + "shape":"Storage", + "documentation":"

The Amazon S3 storage locations.

", + "locationName":"storage" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The time of the most recent update for the task.

", + "locationName":"updateTime" + } + }, + "documentation":"

Describes a bundle task.

" + }, + "BundleTaskError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes an error for BundleInstance.

" + }, + "BundleTaskList":{ + "type":"list", + "member":{ + "shape":"BundleTask", + "locationName":"item" + } + }, + "BundleTaskState":{ + "type":"string", + "enum":[ + "pending", + "waiting-for-shutdown", + "bundling", + "storing", + "cancelling", + "complete", + "failed" + ] + }, + "BurstablePerformanceFlag":{"type":"boolean"}, + "ByoipCidr":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The address range, in CIDR notation.

", + "locationName":"cidr" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the address range.

", + "locationName":"description" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

Upon success, contains the ID of the address pool. Otherwise, contains an error message.

", + "locationName":"statusMessage" + }, + "State":{ + "shape":"ByoipCidrState", + "documentation":"

The state of the address pool.

", + "locationName":"state" + } + }, + "documentation":"

Information about an address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP).

" + }, + "ByoipCidrSet":{ + "type":"list", + "member":{ + "shape":"ByoipCidr", + "locationName":"item" + } + }, + "ByoipCidrState":{ + "type":"string", + "enum":[ + "advertised", + "deprovisioned", + "failed-deprovision", + "failed-provision", + "pending-deprovision", + "pending-provision", + "provisioned", + "provisioned-not-publicly-advertisable" + ] + }, + "CancelBatchErrorCode":{ + "type":"string", + "enum":[ + "fleetRequestIdDoesNotExist", + "fleetRequestIdMalformed", + "fleetRequestNotInCancellableState", + "unexpectedError" + ] + }, + "CancelBundleTaskRequest":{ + "type":"structure", + "required":["BundleId"], + "members":{ + "BundleId":{ + "shape":"BundleId", + "documentation":"

The ID of the bundle task.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for CancelBundleTask.

" + }, + "CancelBundleTaskResult":{ + "type":"structure", + "members":{ + "BundleTask":{ + "shape":"BundleTask", + "documentation":"

Information about the bundle task.

", + "locationName":"bundleInstanceTask" + } + }, + "documentation":"

Contains the output of CancelBundleTask.

" + }, + "CancelCapacityReservationRequest":{ + "type":"structure", + "required":["CapacityReservationId"], + "members":{ + "CapacityReservationId":{ + "shape":"CapacityReservationId", + "documentation":"

The ID of the Capacity Reservation to be cancelled.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CancelCapacityReservationResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "CancelConversionRequest":{ + "type":"structure", + "required":["ConversionTaskId"], + "members":{ + "ConversionTaskId":{ + "shape":"ConversionTaskId", + "documentation":"

The ID of the conversion task.

", + "locationName":"conversionTaskId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "ReasonMessage":{ + "shape":"String", + "documentation":"

The reason for canceling the conversion task.

", + "locationName":"reasonMessage" + } + } + }, + "CancelExportTaskRequest":{ + "type":"structure", + "required":["ExportTaskId"], + "members":{ + "ExportTaskId":{ + "shape":"ExportVmTaskId", + "documentation":"

The ID of the export task. This is the ID returned by CreateInstanceExportTask.

", + "locationName":"exportTaskId" + } + } + }, + "CancelImportTaskRequest":{ + "type":"structure", + "members":{ + "CancelReason":{ + "shape":"String", + "documentation":"

The reason for canceling the task.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ImportTaskId":{ + "shape":"ImportTaskId", + "documentation":"

The ID of the import image or import snapshot task to be canceled.

" + } + } + }, + "CancelImportTaskResult":{ + "type":"structure", + "members":{ + "ImportTaskId":{ + "shape":"String", + "documentation":"

The ID of the task being canceled.

", + "locationName":"importTaskId" + }, + "PreviousState":{ + "shape":"String", + "documentation":"

The current state of the task being canceled.

", + "locationName":"previousState" + }, + "State":{ + "shape":"String", + "documentation":"

The current state of the task being canceled.

", + "locationName":"state" + } + } + }, + "CancelReservedInstancesListingRequest":{ + "type":"structure", + "required":["ReservedInstancesListingId"], + "members":{ + "ReservedInstancesListingId":{ + "shape":"ReservedInstancesListingId", + "documentation":"

The ID of the Reserved Instance listing.

", + "locationName":"reservedInstancesListingId" + } + }, + "documentation":"

Contains the parameters for CancelReservedInstancesListing.

" + }, + "CancelReservedInstancesListingResult":{ + "type":"structure", + "members":{ + "ReservedInstancesListings":{ + "shape":"ReservedInstancesListingList", + "documentation":"

The Reserved Instance listing.

", + "locationName":"reservedInstancesListingsSet" + } + }, + "documentation":"

Contains the output of CancelReservedInstancesListing.

" + }, + "CancelSpotFleetRequestsError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"CancelBatchErrorCode", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The description for the error code.

", + "locationName":"message" + } + }, + "documentation":"

Describes a Spot Fleet error.

" + }, + "CancelSpotFleetRequestsErrorItem":{ + "type":"structure", + "members":{ + "Error":{ + "shape":"CancelSpotFleetRequestsError", + "documentation":"

The error.

", + "locationName":"error" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Describes a Spot Fleet request that was not successfully canceled.

" + }, + "CancelSpotFleetRequestsErrorSet":{ + "type":"list", + "member":{ + "shape":"CancelSpotFleetRequestsErrorItem", + "locationName":"item" + } + }, + "CancelSpotFleetRequestsRequest":{ + "type":"structure", + "required":[ + "SpotFleetRequestIds", + "TerminateInstances" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "SpotFleetRequestIds":{ + "shape":"SpotFleetRequestIdList", + "documentation":"

The IDs of the Spot Fleet requests.

", + "locationName":"spotFleetRequestId" + }, + "TerminateInstances":{ + "shape":"Boolean", + "documentation":"

Indicates whether to terminate instances for a Spot Fleet request if it is canceled successfully.

", + "locationName":"terminateInstances" + } + }, + "documentation":"

Contains the parameters for CancelSpotFleetRequests.

" + }, + "CancelSpotFleetRequestsResponse":{ + "type":"structure", + "members":{ + "SuccessfulFleetRequests":{ + "shape":"CancelSpotFleetRequestsSuccessSet", + "documentation":"

Information about the Spot Fleet requests that are successfully canceled.

", + "locationName":"successfulFleetRequestSet" + }, + "UnsuccessfulFleetRequests":{ + "shape":"CancelSpotFleetRequestsErrorSet", + "documentation":"

Information about the Spot Fleet requests that are not successfully canceled.

", + "locationName":"unsuccessfulFleetRequestSet" + } + }, + "documentation":"

Contains the output of CancelSpotFleetRequests.

" + }, + "CancelSpotFleetRequestsSuccessItem":{ + "type":"structure", + "members":{ + "CurrentSpotFleetRequestState":{ + "shape":"BatchState", + "documentation":"

The current state of the Spot Fleet request.

", + "locationName":"currentSpotFleetRequestState" + }, + "PreviousSpotFleetRequestState":{ + "shape":"BatchState", + "documentation":"

The previous state of the Spot Fleet request.

", + "locationName":"previousSpotFleetRequestState" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Describes a Spot Fleet request that was successfully canceled.

" + }, + "CancelSpotFleetRequestsSuccessSet":{ + "type":"list", + "member":{ + "shape":"CancelSpotFleetRequestsSuccessItem", + "locationName":"item" + } + }, + "CancelSpotInstanceRequestState":{ + "type":"string", + "enum":[ + "active", + "open", + "closed", + "cancelled", + "completed" + ] + }, + "CancelSpotInstanceRequestsRequest":{ + "type":"structure", + "required":["SpotInstanceRequestIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "SpotInstanceRequestIds":{ + "shape":"SpotInstanceRequestIdList", + "documentation":"

One or more Spot Instance request IDs.

", + "locationName":"SpotInstanceRequestId" + } + }, + "documentation":"

Contains the parameters for CancelSpotInstanceRequests.

" + }, + "CancelSpotInstanceRequestsResult":{ + "type":"structure", + "members":{ + "CancelledSpotInstanceRequests":{ + "shape":"CancelledSpotInstanceRequestList", + "documentation":"

One or more Spot Instance requests.

", + "locationName":"spotInstanceRequestSet" + } + }, + "documentation":"

Contains the output of CancelSpotInstanceRequests.

" + }, + "CancelledSpotInstanceRequest":{ + "type":"structure", + "members":{ + "SpotInstanceRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Instance request.

", + "locationName":"spotInstanceRequestId" + }, + "State":{ + "shape":"CancelSpotInstanceRequestState", + "documentation":"

The state of the Spot Instance request.

", + "locationName":"state" + } + }, + "documentation":"

Describes a request to cancel a Spot Instance.

" + }, + "CancelledSpotInstanceRequestList":{ + "type":"list", + "member":{ + "shape":"CancelledSpotInstanceRequest", + "locationName":"item" + } + }, + "CapacityReservation":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"String", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"capacityReservationId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the Capacity Reservation.

", + "locationName":"ownerId" + }, + "CapacityReservationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Capacity Reservation.

", + "locationName":"capacityReservationArn" + }, + "AvailabilityZoneId":{ + "shape":"String", + "documentation":"

The Availability Zone ID of the Capacity Reservation.

", + "locationName":"availabilityZoneId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The type of instance for which the Capacity Reservation reserves capacity.

", + "locationName":"instanceType" + }, + "InstancePlatform":{ + "shape":"CapacityReservationInstancePlatform", + "documentation":"

The type of operating system for which the Capacity Reservation reserves capacity.

", + "locationName":"instancePlatform" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the capacity is reserved.

", + "locationName":"availabilityZone" + }, + "Tenancy":{ + "shape":"CapacityReservationTenancy", + "documentation":"

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

  • default - The Capacity Reservation is created on hardware that is shared with other AWS accounts.

  • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account.

", + "locationName":"tenancy" + }, + "TotalInstanceCount":{ + "shape":"Integer", + "documentation":"

The total number of instances for which the Capacity Reservation reserves capacity.

", + "locationName":"totalInstanceCount" + }, + "AvailableInstanceCount":{ + "shape":"Integer", + "documentation":"

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", + "locationName":"availableInstanceCount" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.

", + "locationName":"ebsOptimized" + }, + "EphemeralStorage":{ + "shape":"Boolean", + "documentation":"

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

", + "locationName":"ephemeralStorage" + }, + "State":{ + "shape":"CapacityReservationState", + "documentation":"

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

  • active - The Capacity Reservation is active and the capacity is available for your use.

  • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

  • cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no longer available for your use.

  • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

  • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

", + "locationName":"state" + }, + "EndDate":{ + "shape":"DateTime", + "documentation":"

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

", + "locationName":"endDate" + }, + "EndDateType":{ + "shape":"EndDateType", + "documentation":"

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

  • unlimited - The Capacity Reservation remains active until you explicitly cancel it.

  • limited - The Capacity Reservation expires automatically at a specified date and time.

", + "locationName":"endDateType" + }, + "InstanceMatchCriteria":{ + "shape":"InstanceMatchCriteria", + "documentation":"

Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

  • open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying any additional parameters.

  • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

", + "locationName":"instanceMatchCriteria" + }, + "CreateDate":{ + "shape":"DateTime", + "documentation":"

The date and time at which the Capacity Reservation was created.

", + "locationName":"createDate" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Capacity Reservation.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Capacity Reservation.

" + }, + "CapacityReservationId":{"type":"string"}, + "CapacityReservationIdSet":{ + "type":"list", + "member":{ + "shape":"CapacityReservationId", + "locationName":"item" + } + }, + "CapacityReservationInstancePlatform":{ + "type":"string", + "enum":[ + "Linux/UNIX", + "Red Hat Enterprise Linux", + "SUSE Linux", + "Windows", + "Windows with SQL Server", + "Windows with SQL Server Enterprise", + "Windows with SQL Server Standard", + "Windows with SQL Server Web", + "Linux with SQL Server Standard", + "Linux with SQL Server Web", + "Linux with SQL Server Enterprise" + ] + }, + "CapacityReservationOptions":{ + "type":"structure", + "members":{ + "UsageStrategy":{ + "shape":"FleetCapacityReservationUsageStrategy", + "documentation":"

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

If you specify use-capacity-reservations-first, the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy (lowest-price or prioritized) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy (lowest-price or prioritized).

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.

", + "locationName":"usageStrategy" + } + }, + "documentation":"

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CapacityReservationOptionsRequest":{ + "type":"structure", + "members":{ + "UsageStrategy":{ + "shape":"FleetCapacityReservationUsageStrategy", + "documentation":"

Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

If you specify use-capacity-reservations-first, the fleet uses unused Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If multiple instance pools have unused Capacity Reservations, the On-Demand allocation strategy (lowest-price or prioritized) is applied. If the number of unused Capacity Reservations is less than the On-Demand target capacity, the remaining On-Demand target capacity is launched according to the On-Demand allocation strategy (lowest-price or prioritized).

If you do not specify a value, the fleet fulfils the On-Demand capacity according to the chosen On-Demand allocation strategy.

" + } + }, + "documentation":"

Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand capacity.

This strategy can only be used if the EC2 Fleet is of type instant.

For more information about Capacity Reservations, see On-Demand Capacity Reservations in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CapacityReservationPreference":{ + "type":"string", + "enum":[ + "open", + "none" + ] + }, + "CapacityReservationSet":{ + "type":"list", + "member":{ + "shape":"CapacityReservation", + "locationName":"item" + } + }, + "CapacityReservationSpecification":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreference", + "documentation":"

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs as an On-Demand Instance.

" + }, + "CapacityReservationTarget":{ + "shape":"CapacityReservationTarget", + "documentation":"

Information about the target Capacity Reservation.

" + } + }, + "documentation":"

Describes an instance's Capacity Reservation targeting option. You can specify only one parameter at a time. If you specify CapacityReservationPreference and CapacityReservationTarget, the request fails.

Use the CapacityReservationPreference parameter to configure the instance to run as an On-Demand Instance or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation.

" + }, + "CapacityReservationSpecificationResponse":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreference", + "documentation":"

Describes the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

", + "locationName":"capacityReservationPreference" + }, + "CapacityReservationTarget":{ + "shape":"CapacityReservationTargetResponse", + "documentation":"

Information about the targeted Capacity Reservation.

", + "locationName":"capacityReservationTarget" + } + }, + "documentation":"

Describes the instance's Capacity Reservation targeting preferences. The action returns the capacityReservationPreference response element if the instance is configured to run in On-Demand capacity, or if it is configured in run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). The action returns the capacityReservationTarget response element if the instance explicily targets a specific Capacity Reservation.

" + }, + "CapacityReservationState":{ + "type":"string", + "enum":[ + "active", + "expired", + "cancelled", + "pending", + "failed" + ] + }, + "CapacityReservationTarget":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"CapacityReservationId", + "documentation":"

The ID of the Capacity Reservation.

" + } + }, + "documentation":"

Describes a target Capacity Reservation.

" + }, + "CapacityReservationTargetResponse":{ + "type":"structure", + "members":{ + "CapacityReservationId":{ + "shape":"String", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"capacityReservationId" + } + }, + "documentation":"

Describes a target Capacity Reservation.

" + }, + "CapacityReservationTenancy":{ + "type":"string", + "enum":[ + "default", + "dedicated" + ] + }, + "CertificateAuthentication":{ + "type":"structure", + "members":{ + "ClientRootCertificateChain":{ + "shape":"String", + "documentation":"

The ARN of the client certificate.

", + "locationName":"clientRootCertificateChain" + } + }, + "documentation":"

Information about the client certificate used for authentication.

" + }, + "CertificateAuthenticationRequest":{ + "type":"structure", + "members":{ + "ClientRootCertificateChainArn":{ + "shape":"String", + "documentation":"

The ARN of the client certificate. The certificate must be signed by a certificate authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).

" + } + }, + "documentation":"

Information about the client certificate to be used for authentication.

" + }, + "CidrAuthorizationContext":{ + "type":"structure", + "required":[ + "Message", + "Signature" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The plain-text authorization message for the prefix and account.

" + }, + "Signature":{ + "shape":"String", + "documentation":"

The signed authorization message for the prefix and account.

" + } + }, + "documentation":"

Provides authorization for Amazon to bring a specific IP address range to a specific AWS account using bring your own IP addresses (BYOIP). For more information, see Prepare to Bring Your Address Range to Your AWS Account in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CidrBlock":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR block.

", + "locationName":"cidrBlock" + } + }, + "documentation":"

Describes an IPv4 CIDR block.

" + }, + "CidrBlockSet":{ + "type":"list", + "member":{ + "shape":"CidrBlock", + "locationName":"item" + } + }, + "ClassicLinkDnsSupport":{ + "type":"structure", + "members":{ + "ClassicLinkDnsSupported":{ + "shape":"Boolean", + "documentation":"

Indicates whether ClassicLink DNS support is enabled for the VPC.

", + "locationName":"classicLinkDnsSupported" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes the ClassicLink DNS support status of a VPC.

" + }, + "ClassicLinkDnsSupportList":{ + "type":"list", + "member":{ + "shape":"ClassicLinkDnsSupport", + "locationName":"item" + } + }, + "ClassicLinkInstance":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

A list of security groups.

", + "locationName":"groupSet" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the instance.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes a linked EC2-Classic instance.

" + }, + "ClassicLinkInstanceList":{ + "type":"list", + "member":{ + "shape":"ClassicLinkInstance", + "locationName":"item" + } + }, + "ClassicLoadBalancer":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the load balancer.

", + "locationName":"name" + } + }, + "documentation":"

Describes a Classic Load Balancer.

" + }, + "ClassicLoadBalancers":{ + "type":"list", + "member":{ + "shape":"ClassicLoadBalancer", + "locationName":"item" + }, + "max":5, + "min":1 + }, + "ClassicLoadBalancersConfig":{ + "type":"structure", + "members":{ + "ClassicLoadBalancers":{ + "shape":"ClassicLoadBalancers", + "documentation":"

One or more Classic Load Balancers.

", + "locationName":"classicLoadBalancers" + } + }, + "documentation":"

Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these Classic Load Balancers.

" + }, + "ClientCertificateRevocationListStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientCertificateRevocationListStatusCode", + "documentation":"

The state of the client certificate revocation list.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the client certificate revocation list, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a client certificate revocation list.

" + }, + "ClientCertificateRevocationListStatusCode":{ + "type":"string", + "enum":[ + "pending", + "active" + ] + }, + "ClientData":{ + "type":"structure", + "members":{ + "Comment":{ + "shape":"String", + "documentation":"

A user-defined comment about the disk upload.

" + }, + "UploadEnd":{ + "shape":"DateTime", + "documentation":"

The time that the disk upload ends.

" + }, + "UploadSize":{ + "shape":"Double", + "documentation":"

The size of the uploaded disk image, in GiB.

" + }, + "UploadStart":{ + "shape":"DateTime", + "documentation":"

The time that the disk upload starts.

" + } + }, + "documentation":"

Describes the client-specific data.

" + }, + "ClientVpnAssociationId":{"type":"string"}, + "ClientVpnAuthentication":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ClientVpnAuthenticationType", + "documentation":"

The authentication type used.

", + "locationName":"type" + }, + "ActiveDirectory":{ + "shape":"DirectoryServiceAuthentication", + "documentation":"

Information about the Active Directory, if applicable.

", + "locationName":"activeDirectory" + }, + "MutualAuthentication":{ + "shape":"CertificateAuthentication", + "documentation":"

Information about the authentication certificates, if applicable.

", + "locationName":"mutualAuthentication" + }, + "FederatedAuthentication":{ + "shape":"FederatedAuthentication", + "documentation":"

Information about the IAM SAML identity provider, if applicable.

", + "locationName":"federatedAuthentication" + } + }, + "documentation":"

Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication in the AWS Client VPN Administrator Guide.

" + }, + "ClientVpnAuthenticationList":{ + "type":"list", + "member":{ + "shape":"ClientVpnAuthentication", + "locationName":"item" + } + }, + "ClientVpnAuthenticationRequest":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ClientVpnAuthenticationType", + "documentation":"

The type of client authentication to be used.

" + }, + "ActiveDirectory":{ + "shape":"DirectoryServiceAuthenticationRequest", + "documentation":"

Information about the Active Directory to be used, if applicable. You must provide this information if Type is directory-service-authentication.

" + }, + "MutualAuthentication":{ + "shape":"CertificateAuthenticationRequest", + "documentation":"

Information about the authentication certificates to be used, if applicable. You must provide this information if Type is certificate-authentication.

" + }, + "FederatedAuthentication":{ + "shape":"FederatedAuthenticationRequest", + "documentation":"

Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if Type is federated-authentication.

" + } + }, + "documentation":"

Describes the authentication method to be used by a Client VPN endpoint. For more information, see Authentication in the AWS Client VPN Administrator Guide.

" + }, + "ClientVpnAuthenticationRequestList":{ + "type":"list", + "member":{"shape":"ClientVpnAuthenticationRequest"} + }, + "ClientVpnAuthenticationType":{ + "type":"string", + "enum":[ + "certificate-authentication", + "directory-service-authentication", + "federated-authentication" + ] + }, + "ClientVpnAuthorizationRuleStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnAuthorizationRuleStatusCode", + "documentation":"

The state of the authorization rule.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the authorization rule, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of an authorization rule.

" + }, + "ClientVpnAuthorizationRuleStatusCode":{ + "type":"string", + "enum":[ + "authorizing", + "active", + "failed", + "revoking" + ] + }, + "ClientVpnConnection":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint to which the client is connected.

", + "locationName":"clientVpnEndpointId" + }, + "Timestamp":{ + "shape":"String", + "documentation":"

The current date and time.

", + "locationName":"timestamp" + }, + "ConnectionId":{ + "shape":"String", + "documentation":"

The ID of the client connection.

", + "locationName":"connectionId" + }, + "Username":{ + "shape":"String", + "documentation":"

The username of the client who established the client connection. This information is only provided if Active Directory client authentication is used.

", + "locationName":"username" + }, + "ConnectionEstablishedTime":{ + "shape":"String", + "documentation":"

The date and time the client connection was established.

", + "locationName":"connectionEstablishedTime" + }, + "IngressBytes":{ + "shape":"String", + "documentation":"

The number of bytes sent by the client.

", + "locationName":"ingressBytes" + }, + "EgressBytes":{ + "shape":"String", + "documentation":"

The number of bytes received by the client.

", + "locationName":"egressBytes" + }, + "IngressPackets":{ + "shape":"String", + "documentation":"

The number of packets sent by the client.

", + "locationName":"ingressPackets" + }, + "EgressPackets":{ + "shape":"String", + "documentation":"

The number of packets received by the client.

", + "locationName":"egressPackets" + }, + "ClientIp":{ + "shape":"String", + "documentation":"

The IP address of the client.

", + "locationName":"clientIp" + }, + "CommonName":{ + "shape":"String", + "documentation":"

The common name associated with the client. This is either the name of the client certificate, or the Active Directory user name.

", + "locationName":"commonName" + }, + "Status":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

The current state of the client connection.

", + "locationName":"status" + }, + "ConnectionEndTime":{ + "shape":"String", + "documentation":"

The date and time the client connection was terminated.

", + "locationName":"connectionEndTime" + } + }, + "documentation":"

Describes a client connection.

" + }, + "ClientVpnConnectionSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnConnection", + "locationName":"item" + } + }, + "ClientVpnConnectionStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnConnectionStatusCode", + "documentation":"

The state of the client connection.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the client connection, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the status of a client connection.

" + }, + "ClientVpnConnectionStatusCode":{ + "type":"string", + "enum":[ + "active", + "failed-to-terminate", + "terminating", + "terminated" + ] + }, + "ClientVpnEndpoint":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the endpoint.

", + "locationName":"description" + }, + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + }, + "CreationTime":{ + "shape":"String", + "documentation":"

The date and time the Client VPN endpoint was created.

", + "locationName":"creationTime" + }, + "DeletionTime":{ + "shape":"String", + "documentation":"

The date and time the Client VPN endpoint was deleted, if applicable.

", + "locationName":"deletionTime" + }, + "DnsName":{ + "shape":"String", + "documentation":"

The DNS name to be used by clients when connecting to the Client VPN endpoint.

", + "locationName":"dnsName" + }, + "ClientCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

", + "locationName":"clientCidrBlock" + }, + "DnsServers":{ + "shape":"ValueStringList", + "documentation":"

Information about the DNS servers to be used for DNS resolution.

", + "locationName":"dnsServer" + }, + "SplitTunnel":{ + "shape":"Boolean", + "documentation":"

Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.

For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.

", + "locationName":"splitTunnel" + }, + "VpnProtocol":{ + "shape":"VpnProtocol", + "documentation":"

The protocol used by the VPN session.

", + "locationName":"vpnProtocol" + }, + "TransportProtocol":{ + "shape":"TransportProtocol", + "documentation":"

The transport protocol used by the Client VPN endpoint.

", + "locationName":"transportProtocol" + }, + "VpnPort":{ + "shape":"Integer", + "documentation":"

The port number for the Client VPN endpoint.

", + "locationName":"vpnPort" + }, + "AssociatedTargetNetworks":{ + "shape":"AssociatedTargetNetworkSet", + "documentation":"

Information about the associated target networks. A target network is a subnet in a VPC.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.", + "locationName":"associatedTargetNetwork" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate.

", + "locationName":"serverCertificateArn" + }, + "AuthenticationOptions":{ + "shape":"ClientVpnAuthenticationList", + "documentation":"

Information about the authentication method used by the Client VPN endpoint.

", + "locationName":"authenticationOptions" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogResponseOptions", + "documentation":"

Information about the client connection logging options for the Client VPN endpoint.

", + "locationName":"connectionLogOptions" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Client VPN endpoint.

", + "locationName":"tagSet" + }, + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of the security groups for the target network.

", + "locationName":"securityGroupIdSet" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes a Client VPN endpoint.

" + }, + "ClientVpnEndpointId":{"type":"string"}, + "ClientVpnEndpointIdList":{ + "type":"list", + "member":{ + "shape":"ClientVpnEndpointId", + "locationName":"item" + } + }, + "ClientVpnEndpointStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnEndpointStatusCode", + "documentation":"

The state of the Client VPN endpoint. Possible states include:

  • pending-associate - The Client VPN endpoint has been created but no target networks have been associated. The Client VPN endpoint cannot accept connections.

  • available - The Client VPN endpoint has been created and a target network has been associated. The Client VPN endpoint can accept connections.

  • deleting - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept connections.

  • deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept connections.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the Client VPN endpoint.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a Client VPN endpoint.

" + }, + "ClientVpnEndpointStatusCode":{ + "type":"string", + "enum":[ + "pending-associate", + "available", + "deleting", + "deleted" + ] + }, + "ClientVpnRoute":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the route is associated.

", + "locationName":"clientVpnEndpointId" + }, + "DestinationCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route destination.

", + "locationName":"destinationCidr" + }, + "TargetSubnet":{ + "shape":"String", + "documentation":"

The ID of the subnet through which traffic is routed.

", + "locationName":"targetSubnet" + }, + "Type":{ + "shape":"String", + "documentation":"

The route type.

", + "locationName":"type" + }, + "Origin":{ + "shape":"String", + "documentation":"

Indicates how the route was associated with the Client VPN endpoint. associate indicates that the route was automatically added when the target network was associated with the Client VPN endpoint. add-route indicates that the route was manually added using the CreateClientVpnRoute action.

", + "locationName":"origin" + }, + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the route.

", + "locationName":"description" + } + }, + "documentation":"

Information about a Client VPN endpoint route.

" + }, + "ClientVpnRouteSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnRoute", + "locationName":"item" + } + }, + "ClientVpnRouteStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"ClientVpnRouteStatusCode", + "documentation":"

The state of the Client VPN endpoint route.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message about the status of the Client VPN endpoint route, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of a Client VPN endpoint route.

" + }, + "ClientVpnRouteStatusCode":{ + "type":"string", + "enum":[ + "creating", + "active", + "failed", + "deleting" + ] + }, + "ClientVpnSecurityGroupIdSet":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"item" + } + }, + "CoipAddressUsage":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"String", + "documentation":"

The allocation ID of the address.

", + "locationName":"allocationId" + }, + "AwsAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID.

", + "locationName":"awsAccountId" + }, + "AwsService":{ + "shape":"String", + "documentation":"

The AWS service.

", + "locationName":"awsService" + }, + "CoIp":{ + "shape":"String", + "documentation":"

The customer-owned IP address.

", + "locationName":"coIp" + } + }, + "documentation":"

Describes address usage for a customer-owned address pool.

" + }, + "CoipAddressUsageSet":{ + "type":"list", + "member":{ + "shape":"CoipAddressUsage", + "locationName":"item" + } + }, + "CoipPool":{ + "type":"structure", + "members":{ + "PoolId":{ + "shape":"CoipPoolId", + "documentation":"

The ID of the address pool.

", + "locationName":"poolId" + }, + "PoolCidrs":{ + "shape":"ValueStringList", + "documentation":"

The address ranges of the address pool.

", + "locationName":"poolCidrSet" + }, + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a customer-owned address pool.

" + }, + "CoipPoolId":{"type":"string"}, + "CoipPoolIdSet":{ + "type":"list", + "member":{ + "shape":"CoipPoolId", + "locationName":"item" + } + }, + "CoipPoolMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "CoipPoolSet":{ + "type":"list", + "member":{ + "shape":"CoipPool", + "locationName":"item" + } + }, + "ConfirmProductInstanceRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "ProductCode" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "ProductCode":{ + "shape":"String", + "documentation":"

The product code. This must be a product code that you own.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "ConfirmProductInstanceResult":{ + "type":"structure", + "members":{ + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the instance owner. This is only present if the product code is attached to the instance.

", + "locationName":"ownerId" + }, + "Return":{ + "shape":"Boolean", + "documentation":"

The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance.

", + "locationName":"return" + } + } + }, + "ConnectionLogOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether connection logging is enabled.

" + }, + "CloudwatchLogGroup":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log group.

" + }, + "CloudwatchLogStream":{ + "shape":"String", + "documentation":"

The name of the CloudWatch Logs log stream to which the connection data is published.

" + } + }, + "documentation":"

Describes the client connection logging options for the Client VPN endpoint.

" + }, + "ConnectionLogResponseOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether client connection logging is enabled for the Client VPN endpoint.

" + }, + "CloudwatchLogGroup":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

" + }, + "CloudwatchLogStream":{ + "shape":"String", + "documentation":"

The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

" + } + }, + "documentation":"

Information about the client connection logging options for a Client VPN endpoint.

" + }, + "ConnectionNotification":{ + "type":"structure", + "members":{ + "ConnectionNotificationId":{ + "shape":"String", + "documentation":"

The ID of the notification.

", + "locationName":"connectionNotificationId" + }, + "ServiceId":{ + "shape":"String", + "documentation":"

The ID of the endpoint service.

", + "locationName":"serviceId" + }, + "VpcEndpointId":{ + "shape":"String", + "documentation":"

The ID of the VPC endpoint.

", + "locationName":"vpcEndpointId" + }, + "ConnectionNotificationType":{ + "shape":"ConnectionNotificationType", + "documentation":"

The type of notification.

", + "locationName":"connectionNotificationType" + }, + "ConnectionNotificationArn":{ + "shape":"String", + "documentation":"

The ARN of the SNS topic for the notification.

", + "locationName":"connectionNotificationArn" + }, + "ConnectionEvents":{ + "shape":"ValueStringList", + "documentation":"

The events for the notification. Valid values are Accept, Connect, Delete, and Reject.

", + "locationName":"connectionEvents" + }, + "ConnectionNotificationState":{ + "shape":"ConnectionNotificationState", + "documentation":"

The state of the notification.

", + "locationName":"connectionNotificationState" + } + }, + "documentation":"

Describes a connection notification for a VPC endpoint or VPC endpoint service.

" + }, + "ConnectionNotificationId":{"type":"string"}, + "ConnectionNotificationSet":{ + "type":"list", + "member":{ + "shape":"ConnectionNotification", + "locationName":"item" + } + }, + "ConnectionNotificationState":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ConnectionNotificationType":{ + "type":"string", + "enum":["Topic"] + }, + "ContainerFormat":{ + "type":"string", + "enum":["ova"] + }, + "ConversionIdStringList":{ + "type":"list", + "member":{ + "shape":"ConversionTaskId", + "locationName":"item" + } + }, + "ConversionTask":{ + "type":"structure", + "members":{ + "ConversionTaskId":{ + "shape":"String", + "documentation":"

The ID of the conversion task.

", + "locationName":"conversionTaskId" + }, + "ExpirationTime":{ + "shape":"String", + "documentation":"

The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel the task.

", + "locationName":"expirationTime" + }, + "ImportInstance":{ + "shape":"ImportInstanceTaskDetails", + "documentation":"

If the task is for importing an instance, this contains information about the import instance task.

", + "locationName":"importInstance" + }, + "ImportVolume":{ + "shape":"ImportVolumeTaskDetails", + "documentation":"

If the task is for importing a volume, this contains information about the import volume task.

", + "locationName":"importVolume" + }, + "State":{ + "shape":"ConversionTaskState", + "documentation":"

The state of the conversion task.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status message related to the conversion task.

", + "locationName":"statusMessage" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the task.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a conversion task.

" + }, + "ConversionTaskId":{"type":"string"}, + "ConversionTaskState":{ + "type":"string", + "enum":[ + "active", + "cancelling", + "cancelled", + "completed" + ] + }, + "CopyFpgaImageRequest":{ + "type":"structure", + "required":[ + "SourceFpgaImageId", + "SourceRegion" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "SourceFpgaImageId":{ + "shape":"FpgaImageId", + "documentation":"

The ID of the source AFI.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the new AFI.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name for the new AFI. The default is the name of the source AFI.

" + }, + "SourceRegion":{ + "shape":"String", + "documentation":"

The Region that contains the source AFI.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" + } + } + }, + "CopyFpgaImageResult":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The ID of the new AFI.

", + "locationName":"fpgaImageId" + } + } + }, + "CopyImageRequest":{ + "type":"structure", + "required":[ + "Name", + "SourceImageId", + "SourceRegion" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon Elastic Compute Cloud User Guide.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the new AMI in the destination Region.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the destination snapshots of the copied image should be encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot create an unencrypted copy of an encrypted snapshot. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the snapshot is being copied to.

Amazon EBS does not support asymmetric CMKs.

", + "locationName":"kmsKeyId" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the new AMI in the destination Region.

" + }, + "SourceImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI to copy.

" + }, + "SourceRegion":{ + "shape":"String", + "documentation":"

The name of the Region that contains the AMI to copy.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for CopyImage.

" + }, + "CopyImageResult":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the new AMI.

", + "locationName":"imageId" + } + }, + "documentation":"

Contains the output of CopyImage.

" + }, + "CopySnapshotRequest":{ + "type":"structure", + "required":[ + "SourceRegion", + "SourceSnapshotId" + ], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the EBS snapshot.

" + }, + "DestinationRegion":{ + "shape":"String", + "documentation":"

The destination Region to use in the PresignedUrl parameter of a snapshot copy operation. This parameter is only valid for specifying the destination Region in a PresignedUrl parameter, where it is required.

The snapshot copy is sent to the regional endpoint that you sent the HTTP request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI, this is specified using the --region parameter or the default Region in your AWS configuration file.

", + "locationName":"destinationRegion" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

To encrypt a copy of an unencrypted snapshot if encryption by default is not enabled, enable encryption using this parameter. Otherwise, omit this parameter. Encrypted snapshots are encrypted, even if you omit this parameter and encryption by default is not enabled. You cannot set this parameter to false. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

", + "locationName":"kmsKeyId" + }, + "PresignedUrl":{ + "shape":"String", + "documentation":"

When you copy an encrypted source snapshot using the Amazon EC2 Query API, you must supply a pre-signed URL. This parameter is optional for unencrypted snapshots. For more information, see Query Requests.

The PresignedUrl should use the snapshot source endpoint, the CopySnapshot action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion parameters. The PresignedUrl must be signed using AWS Signature Version 4. Because EBS snapshots are stored in Amazon S3, the signing algorithm for this parameter uses the same logic that is described in Authenticating Requests by Using Query Parameters (AWS Signature Version 4) in the Amazon Simple Storage Service API Reference. An invalid or improperly signed PresignedUrl will cause the copy operation to fail asynchronously, and the snapshot will move to an error state.

", + "locationName":"presignedUrl" + }, + "SourceRegion":{ + "shape":"String", + "documentation":"

The ID of the Region that contains the snapshot to be copied.

" + }, + "SourceSnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot to copy.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the new snapshot.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CopySnapshotResult":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the new snapshot.

", + "locationName":"snapshotId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags applied to the new snapshot.

", + "locationName":"tagSet" + } + } + }, + "CopyTagsFromSource":{ + "type":"string", + "enum":["volume"] + }, + "CoreCount":{"type":"integer"}, + "CoreCountList":{ + "type":"list", + "member":{ + "shape":"CoreCount", + "locationName":"item" + } + }, + "CpuOptions":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores for the instance.

", + "locationName":"coreCount" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads per CPU core.

", + "locationName":"threadsPerCore" + } + }, + "documentation":"

The CPU options for the instance.

" + }, + "CpuOptionsRequest":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores for the instance.

" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads per CPU core. To disable multithreading for the instance, specify a value of 1. Otherwise, specify the default value of 2.

" + } + }, + "documentation":"

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

" + }, + "CreateCapacityReservationRequest":{ + "type":"structure", + "required":[ + "InstanceType", + "InstancePlatform", + "InstanceCount" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

Constraint: Maximum 64 ASCII characters.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type for which to reserve capacity. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + }, + "InstancePlatform":{ + "shape":"CapacityReservationInstancePlatform", + "documentation":"

The type of operating system for which to reserve capacity.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to create the Capacity Reservation.

" + }, + "AvailabilityZoneId":{ + "shape":"String", + "documentation":"

The ID of the Availability Zone in which to create the Capacity Reservation.

" + }, + "Tenancy":{ + "shape":"CapacityReservationTenancy", + "documentation":"

Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

  • default - The Capacity Reservation is created on hardware that is shared with other AWS accounts.

  • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account.

" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances for which to reserve capacity.

" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance.

" + }, + "EphemeralStorage":{ + "shape":"Boolean", + "documentation":"

Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.

" + }, + "EndDate":{ + "shape":"DateTime", + "documentation":"

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited.

If the EndDateType is limited, the Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

" + }, + "EndDateType":{ + "shape":"EndDateType", + "documentation":"

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

  • unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate if the EndDateType is unlimited.

  • limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if the EndDateType value is limited.

" + }, + "InstanceMatchCriteria":{ + "shape":"InstanceMatchCriteria", + "documentation":"

Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

  • open - The Capacity Reservation automatically matches all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes run in the Capacity Reservation automatically without specifying any additional parameters.

  • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

Default: open

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the Capacity Reservation during launch.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateCapacityReservationResult":{ + "type":"structure", + "members":{ + "CapacityReservation":{ + "shape":"CapacityReservation", + "documentation":"

Information about the Capacity Reservation.

", + "locationName":"capacityReservation" + } + } + }, + "CreateClientVpnEndpointRequest":{ + "type":"structure", + "required":[ + "ClientCidrBlock", + "ServerCertificateArn", + "AuthenticationOptions", + "ConnectionLogOptions" + ], + "members":{ + "ClientCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. The CIDR block should be /22 or greater.

" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate. For more information, see the AWS Certificate Manager User Guide.

" + }, + "AuthenticationOptions":{ + "shape":"ClientVpnAuthenticationRequestList", + "documentation":"

Information about the authentication method to be used to authenticate clients.

", + "locationName":"Authentication" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogOptions", + "documentation":"

Information about the client connection logging options.

If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

" + }, + "DnsServers":{ + "shape":"ValueStringList", + "documentation":"

Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.

" + }, + "TransportProtocol":{ + "shape":"TransportProtocol", + "documentation":"

The transport protocol to be used by the VPN session.

Default value: udp

" + }, + "VpnPort":{ + "shape":"Integer", + "documentation":"

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

Valid Values: 443 | 1194

Default Value: 443

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the Client VPN endpoint.

" + }, + "SplitTunnel":{ + "shape":"Boolean", + "documentation":"

Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.

By default, split-tunnel on a VPN endpoint is disabled.

For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the Client VPN endpoint during creation.

", + "locationName":"TagSpecification" + }, + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.

", + "locationName":"SecurityGroupId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.

" + } + } + }, + "CreateClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + }, + "DnsName":{ + "shape":"String", + "documentation":"

The DNS name to be used by clients when establishing their VPN session.

", + "locationName":"dnsName" + } + } + }, + "CreateClientVpnRouteRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "DestinationCidrBlock", + "TargetVpcSubnetId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint to which to add the route.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route destination. For example:

  • To add a route for Internet access, enter 0.0.0.0/0

  • To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range

  • To add a route for an on-premises network, enter the AWS Site-to-Site VPN connection's IPv4 CIDR range

Route address ranges cannot overlap with the CIDR range specified for client allocation.

" + }, + "TargetVpcSubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet through which you want to route traffic. The specified subnet must be an existing target network of the Client VPN endpoint.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the route.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateClientVpnRouteResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" + } + } + }, + "CreateCustomerGatewayRequest":{ + "type":"structure", + "required":[ + "BgpAsn", + "Type" + ], + "members":{ + "BgpAsn":{ + "shape":"Integer", + "documentation":"

For devices that support BGP, the customer gateway's BGP ASN.

Default: 65000

" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Internet-routable IP address for the customer gateway's outside interface. The address must be static.

", + "locationName":"IpAddress" + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the customer gateway certificate.

" + }, + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection that this customer gateway supports (ipsec.1).

" + }, + "DeviceName":{ + "shape":"String", + "documentation":"

A name for the customer gateway device.

Length Constraints: Up to 255 characters.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for CreateCustomerGateway.

" + }, + "CreateCustomerGatewayResult":{ + "type":"structure", + "members":{ + "CustomerGateway":{ + "shape":"CustomerGateway", + "documentation":"

Information about the customer gateway.

", + "locationName":"customerGateway" + } + }, + "documentation":"

Contains the output of CreateCustomerGateway.

" + }, + "CreateDefaultSubnetRequest":{ + "type":"structure", + "required":["AvailabilityZone"], + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to create the default subnet.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateDefaultSubnetResult":{ + "type":"structure", + "members":{ + "Subnet":{ + "shape":"Subnet", + "documentation":"

Information about the subnet.

", + "locationName":"subnet" + } + } + }, + "CreateDefaultVpcRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateDefaultVpcResult":{ + "type":"structure", + "members":{ + "Vpc":{ + "shape":"Vpc", + "documentation":"

Information about the VPC.

", + "locationName":"vpc" + } + } + }, + "CreateDhcpOptionsRequest":{ + "type":"structure", + "required":["DhcpConfigurations"], + "members":{ + "DhcpConfigurations":{ + "shape":"NewDhcpConfigurationList", + "documentation":"

A DHCP configuration option.

", + "locationName":"dhcpConfiguration" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CreateDhcpOptionsResult":{ + "type":"structure", + "members":{ + "DhcpOptions":{ + "shape":"DhcpOptions", + "documentation":"

A set of DHCP options.

", + "locationName":"dhcpOptions" + } + } + }, + "CreateEgressOnlyInternetGatewayRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC for which to create the egress-only internet gateway.

" + } + } + }, + "CreateEgressOnlyInternetGatewayResult":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "locationName":"clientToken" + }, + "EgressOnlyInternetGateway":{ + "shape":"EgressOnlyInternetGateway", + "documentation":"

Information about the egress-only internet gateway.

", + "locationName":"egressOnlyInternetGateway" + } + } + }, + "CreateFleetError":{ + "type":"structure", + "members":{ + "LaunchTemplateAndOverrides":{ + "shape":"LaunchTemplateAndOverridesResponse", + "documentation":"

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

", + "locationName":"launchTemplateAndOverrides" + }, + "Lifecycle":{ + "shape":"InstanceLifecycle", + "documentation":"

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", + "locationName":"lifecycle" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", + "locationName":"errorCode" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see Error Codes.

", + "locationName":"errorMessage" + } + }, + "documentation":"

Describes the instances that could not be launched by the fleet.

" + }, + "CreateFleetErrorsSet":{ + "type":"list", + "member":{ + "shape":"CreateFleetError", + "locationName":"item" + } + }, + "CreateFleetInstance":{ + "type":"structure", + "members":{ + "LaunchTemplateAndOverrides":{ + "shape":"LaunchTemplateAndOverridesResponse", + "documentation":"

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

", + "locationName":"launchTemplateAndOverrides" + }, + "Lifecycle":{ + "shape":"InstanceLifecycle", + "documentation":"

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", + "locationName":"lifecycle" + }, + "InstanceIds":{ + "shape":"InstanceIdsSet", + "documentation":"

The IDs of the instances.

", + "locationName":"instanceIds" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The value is Windows for Windows instances. Otherwise, the value is blank.

", + "locationName":"platform" + } + }, + "documentation":"

Describes the instances that were launched by the fleet.

" + }, + "CreateFleetInstancesSet":{ + "type":"list", + "member":{ + "shape":"CreateFleetInstance", + "locationName":"item" + } + }, + "CreateFleetRequest":{ + "type":"structure", + "required":[ + "LaunchTemplateConfigs", + "TargetCapacitySpecification" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" + }, + "SpotOptions":{ + "shape":"SpotOptionsRequest", + "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet.

" + }, + "OnDemandOptions":{ + "shape":"OnDemandOptionsRequest", + "documentation":"

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + }, + "ExcessCapacityTerminationPolicy":{ + "shape":"FleetExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" + }, + "LaunchTemplateConfigs":{ + "shape":"FleetLaunchTemplateConfigListRequest", + "documentation":"

The configuration for the EC2 Fleet.

" + }, + "TargetCapacitySpecification":{ + "shape":"TargetCapacitySpecificationRequest", + "documentation":"

The number of units to request.

" + }, + "TerminateInstancesWithExpiration":{ + "shape":"Boolean", + "documentation":"

Indicates whether running instances should be terminated when the EC2 Fleet expires.

" + }, + "Type":{ + "shape":"FleetType", + "documentation":"

The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

" + }, + "ReplaceUnhealthyInstances":{ + "shape":"Boolean", + "documentation":"

Indicates whether EC2 Fleet should replace unhealthy instances.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.

", + "locationName":"TagSpecification" + } + } + }, + "CreateFleetResult":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

", + "locationName":"fleetId" + }, + "Errors":{ + "shape":"CreateFleetErrorsSet", + "documentation":"

Information about the instances that could not be launched by the fleet. Valid only when Type is set to instant.

", + "locationName":"errorSet" + }, + "Instances":{ + "shape":"CreateFleetInstancesSet", + "documentation":"

Information about the instances that were launched by the fleet. Valid only when Type is set to instant.

", + "locationName":"fleetInstanceSet" + } + } + }, + "CreateFlowLogsRequest":{ + "type":"structure", + "required":[ + "ResourceIds", + "ResourceType", + "TrafficType" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "DeliverLogsPermissionArn":{ + "shape":"String", + "documentation":"

The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

" + }, + "LogGroupName":{ + "shape":"String", + "documentation":"

The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

" + }, + "ResourceIds":{ + "shape":"FlowLogResourceIds", + "documentation":"

The ID of the subnet, network interface, or VPC for which you want to create a flow log.

Constraints: Maximum of 1000 resources

", + "locationName":"ResourceId" + }, + "ResourceType":{ + "shape":"FlowLogsResourceType", + "documentation":"

The type of resource for which to create the flow log. For example, if you specified a VPC ID for the ResourceId property, specify VPC for this property.

" + }, + "TrafficType":{ + "shape":"TrafficType", + "documentation":"

The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

" + }, + "LogDestinationType":{ + "shape":"LogDestinationType", + "documentation":"

Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.

If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn or LogGroupName.

Default: cloud-watch-logs

" + }, + "LogDestination":{ + "shape":"String", + "documentation":"

Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.

If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, use LogGroupName instead.

If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as a subfolder name. This is a reserved term.

" + }, + "LogFormat":{ + "shape":"String", + "documentation":"

The fields to include in the flow log record, in the order in which they should appear. For a list of available fields, see Flow Log Records. If you omit this parameter, the flow log is created using the default format. If you specify this parameter, you must specify at least one field.

Specify the fields using the ${field-id} format, separated by spaces. For the AWS CLI, use single quotation marks (' ') to surround the parameter value.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the flow logs.

", + "locationName":"TagSpecification" + }, + "MaxAggregationInterval":{ + "shape":"Integer", + "documentation":"

The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds or less, regardless of the value that you specify.

Default: 600

" + } + } + }, + "CreateFlowLogsResult":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "locationName":"clientToken" + }, + "FlowLogIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the flow logs.

", + "locationName":"flowLogIdSet" + }, + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the flow logs that could not be created successfully.

", + "locationName":"unsuccessful" + } + } + }, + "CreateFpgaImageRequest":{ + "type":"structure", + "required":["InputStorageLocation"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InputStorageLocation":{ + "shape":"StorageLocation", + "documentation":"

The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

" + }, + "LogsStorageLocation":{ + "shape":"StorageLocation", + "documentation":"

The location in Amazon S3 for the output logs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the AFI.

" + }, + "Name":{ + "shape":"String", + "documentation":"

A name for the AFI.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the FPGA image during creation.

", + "locationName":"TagSpecification" + } + } + }, + "CreateFpgaImageResult":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The FPGA image identifier (AFI ID).

", + "locationName":"fpgaImageId" + }, + "FpgaImageGlobalId":{ + "shape":"String", + "documentation":"

The global FPGA image identifier (AGFI ID).

", + "locationName":"fpgaImageGlobalId" + } + } + }, + "CreateImageRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Name" + ], + "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingRequestList", + "documentation":"

The block device mappings. This parameter cannot be used to modify the encryption status of existing volumes or snapshots. To create an AMI with encrypted snapshots, use the CopyImage action.

", + "locationName":"blockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the new image.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Name":{ + "shape":"String", + "documentation":"

A name for the new image.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", + "locationName":"name" + }, + "NoReboot":{ + "shape":"Boolean", + "documentation":"

By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't shut down the instance before creating the image. When this option is used, file system integrity on the created image can't be guaranteed.

", + "locationName":"noReboot" + } + } + }, + "CreateImageResult":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the new AMI.

", + "locationName":"imageId" + } + } + }, + "CreateInstanceExportTaskRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the conversion task or the resource being exported. The maximum length is 255 bytes.

", + "locationName":"description" + }, + "ExportToS3Task":{ + "shape":"ExportToS3TaskSpecification", + "documentation":"

The format and location for an instance export task.

", + "locationName":"exportToS3" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "TargetEnvironment":{ + "shape":"ExportEnvironment", + "documentation":"

The target virtualization environment.

", + "locationName":"targetEnvironment" + } + } + }, + "CreateInstanceExportTaskResult":{ + "type":"structure", + "members":{ + "ExportTask":{ + "shape":"ExportTask", + "documentation":"

Information about the instance export task.

", + "locationName":"exportTask" + } + } + }, + "CreateInternetGatewayRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CreateInternetGatewayResult":{ + "type":"structure", + "members":{ + "InternetGateway":{ + "shape":"InternetGateway", + "documentation":"

Information about the internet gateway.

", + "locationName":"internetGateway" + } + } + }, + "CreateKeyPairRequest":{ + "type":"structure", + "required":["KeyName"], + "members":{ + "KeyName":{ + "shape":"String", + "documentation":"

A unique name for the key pair.

Constraints: Up to 255 ASCII characters

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the new key pair.

", + "locationName":"TagSpecification" + } + } + }, + "CreateLaunchTemplateRequest":{ + "type":"structure", + "required":[ + "LaunchTemplateName", + "LaunchTemplateData" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraint: Maximum 128 ASCII characters.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

A name for the launch template.

" + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

A description for the first version of the launch template.

" + }, + "LaunchTemplateData":{ + "shape":"RequestLaunchTemplateData", + "documentation":"

The information for the launch template.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the launch template during creation.

", + "locationName":"TagSpecification" + } + } + }, + "CreateLaunchTemplateResult":{ + "type":"structure", + "members":{ + "LaunchTemplate":{ + "shape":"LaunchTemplate", + "documentation":"

Information about the launch template.

", + "locationName":"launchTemplate" + }, + "Warning":{ + "shape":"ValidationWarning", + "documentation":"

If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

", + "locationName":"warning" + } + } + }, + "CreateLaunchTemplateVersionRequest":{ + "type":"structure", + "required":["LaunchTemplateData"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraint: Maximum 128 ASCII characters.

" + }, + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "SourceVersion":{ + "shape":"String", + "documentation":"

The version number of the launch template version on which to base the new version. The new version inherits the same launch parameters as the source version, except for parameters that you specify in LaunchTemplateData. Snapshots applied to the block device mapping are ignored when creating a new version unless they are explicitly included.

" + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

A description for the version of the launch template.

" + }, + "LaunchTemplateData":{ + "shape":"RequestLaunchTemplateData", + "documentation":"

The information for the launch template.

" + } + } + }, + "CreateLaunchTemplateVersionResult":{ + "type":"structure", + "members":{ + "LaunchTemplateVersion":{ + "shape":"LaunchTemplateVersion", + "documentation":"

Information about the launch template version.

", + "locationName":"launchTemplateVersion" + }, + "Warning":{ + "shape":"ValidationWarning", + "documentation":"

If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

", + "locationName":"warning" + } + } + }, + "CreateLocalGatewayRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "LocalGatewayRouteTableId", + "LocalGatewayVirtualInterfaceGroupId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

" + }, + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

" + }, + "LocalGatewayVirtualInterfaceGroupId":{ + "shape":"LocalGatewayVirtualInterfaceGroupId", + "documentation":"

The ID of the virtual interface group.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateLocalGatewayRouteResult":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"LocalGatewayRoute", + "documentation":"

Information about the route.

", + "locationName":"route" + } + } + }, + "CreateLocalGatewayRouteTableVpcAssociationRequest":{ + "type":"structure", + "required":[ + "LocalGatewayRouteTableId", + "VpcId" + ], + "members":{ + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to assign to the local gateway route table VPC association.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateLocalGatewayRouteTableVpcAssociationResult":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVpcAssociation":{ + "shape":"LocalGatewayRouteTableVpcAssociation", + "documentation":"

Information about the association.

", + "locationName":"localGatewayRouteTableVpcAssociation" + } + } + }, + "CreateNatGatewayRequest":{ + "type":"structure", + "required":[ + "AllocationId", + "SubnetId" + ], + "members":{ + "AllocationId":{ + "shape":"AllocationId", + "documentation":"

The allocation ID of an Elastic IP address to associate with the NAT gateway. If the Elastic IP address is associated with another resource, you must first disassociate it.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

Constraint: Maximum 64 ASCII characters.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The subnet in which to create the NAT gateway.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to assign to the NAT gateway.

", + "locationName":"TagSpecification" + } + } + }, + "CreateNatGatewayResult":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

", + "locationName":"clientToken" + }, + "NatGateway":{ + "shape":"NatGateway", + "documentation":"

Information about the NAT gateway.

", + "locationName":"natGateway" + } + } + }, + "CreateNetworkAclEntryRequest":{ + "type":"structure", + "required":[ + "Egress", + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", + "locationName":"cidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "locationName":"Icmp" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).

", + "locationName":"ipv6CidrBlock" + }, + "NetworkAclId":{ + "shape":"NetworkAclId", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" + }, + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP).

", + "locationName":"portRange" + }, + "Protocol":{ + "shape":"String", + "documentation":"

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", + "locationName":"protocol" + }, + "RuleAction":{ + "shape":"RuleAction", + "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", + "locationName":"ruleAction" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

", + "locationName":"ruleNumber" + } + } + }, + "CreateNetworkAclRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "CreateNetworkAclResult":{ + "type":"structure", + "members":{ + "NetworkAcl":{ + "shape":"NetworkAcl", + "documentation":"

Information about the network ACL.

", + "locationName":"networkAcl" + } + } + }, + "CreateNetworkInterfacePermissionRequest":{ + "type":"structure", + "required":[ + "NetworkInterfaceId", + "Permission" + ], + "members":{ + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

" + }, + "AwsAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID.

" + }, + "AwsService":{ + "shape":"String", + "documentation":"

The AWS service. Currently not supported.

" + }, + "Permission":{ + "shape":"InterfacePermissionType", + "documentation":"

The type of permission to grant.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "documentation":"

Contains the parameters for CreateNetworkInterfacePermission.

" + }, + "CreateNetworkInterfacePermissionResult":{ + "type":"structure", + "members":{ + "InterfacePermission":{ + "shape":"NetworkInterfacePermission", + "documentation":"

Information about the permission for the network interface.

", + "locationName":"interfacePermission" + } + }, + "documentation":"

Contains the output of CreateNetworkInterfacePermission.

" + }, + "CreateNetworkInterfaceRequest":{ + "type":"structure", + "required":["SubnetId"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the network interface.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Groups":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

The IDs of one or more security groups.

", + "locationName":"SecurityGroupId" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set to true, you can specify 0 to override this setting.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

", + "locationName":"ipv6Addresses" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses as primary (only one IP address can be designated as primary).

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressSpecificationList", + "documentation":"

One or more private IPv4 addresses.

", + "locationName":"privateIpAddresses" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface. When you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses within the subnet's IPv4 CIDR range. You can't specify this option and specify more than one private IP address using privateIpAddresses.

The number of IP addresses you can assign to a network interface varies by instance type. For more information, see IP Addresses Per ENI Per Instance Type in the Amazon Virtual Private Cloud User Guide.

", + "locationName":"secondaryPrivateIpAddressCount" + }, + "InterfaceType":{ + "shape":"NetworkInterfaceCreationType", + "documentation":"

Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet to associate with the network interface.

", + "locationName":"subnetId" + } + }, + "documentation":"

Contains the parameters for CreateNetworkInterface.

" + }, + "CreateNetworkInterfaceResult":{ + "type":"structure", + "members":{ + "NetworkInterface":{ + "shape":"NetworkInterface", + "documentation":"

Information about the network interface.

", + "locationName":"networkInterface" + } + }, + "documentation":"

Contains the output of CreateNetworkInterface.

" + }, + "CreatePlacementGroupRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "GroupName":{ + "shape":"String", + "documentation":"

A name for the placement group. Must be unique within the scope of your account for the Region.

Constraints: Up to 255 ASCII characters

", + "locationName":"groupName" + }, + "Strategy":{ + "shape":"PlacementStrategy", + "documentation":"

The placement strategy.

", + "locationName":"strategy" + }, + "PartitionCount":{ + "shape":"Integer", + "documentation":"

The number of partitions. Valid only when Strategy is set to partition.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the new placement group.

", + "locationName":"TagSpecification" + } + } + }, + "CreatePlacementGroupResult":{ + "type":"structure", + "members":{ + "PlacementGroup":{ + "shape":"PlacementGroup", + "locationName":"placementGroup" + } + } + }, + "CreateReservedInstancesListingRequest":{ + "type":"structure", + "required":[ + "ClientToken", + "InstanceCount", + "PriceSchedules", + "ReservedInstancesId" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

", + "locationName":"instanceCount" + }, + "PriceSchedules":{ + "shape":"PriceScheduleSpecificationList", + "documentation":"

A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

", + "locationName":"priceSchedules" + }, + "ReservedInstancesId":{ + "shape":"ReservationId", + "documentation":"

The ID of the active Standard Reserved Instance.

", + "locationName":"reservedInstancesId" + } + }, + "documentation":"

Contains the parameters for CreateReservedInstancesListing.

" + }, + "CreateReservedInstancesListingResult":{ + "type":"structure", + "members":{ + "ReservedInstancesListings":{ + "shape":"ReservedInstancesListingList", + "documentation":"

Information about the Standard Reserved Instance listing.

", + "locationName":"reservedInstancesListingsSet" + } + }, + "documentation":"

Contains the output of CreateReservedInstancesListing.

" + }, + "CreateRouteRequest":{ + "type":"structure", + "required":["RouteTableId"], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match.

", + "locationName":"destinationCidrBlock" + }, + "DestinationIpv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

", + "locationName":"destinationIpv6CidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"EgressOnlyInternetGatewayId", + "documentation":"

[IPv6 traffic only] The ID of an egress-only internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" + }, + "GatewayId":{ + "shape":"RouteGatewayId", + "documentation":"

The ID of an internet gateway or virtual private gateway attached to your VPC.

", + "locationName":"gatewayId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

", + "locationName":"instanceId" + }, + "NatGatewayId":{ + "shape":"NatGatewayId", + "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", + "locationName":"natGatewayId" + }, + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of a transit gateway.

" + }, + "LocalGatewayId":{ + "shape":"LocalGatewayId", + "documentation":"

The ID of the local gateway.

" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of a network interface.

", + "locationName":"networkInterfaceId" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table for the route.

", + "locationName":"routeTableId" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of a VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + } + }, + "CreateRouteResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "CreateRouteTableRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "CreateRouteTableResult":{ + "type":"structure", + "members":{ + "RouteTable":{ + "shape":"RouteTable", + "documentation":"

Information about the route table.

", + "locationName":"routeTable" + } + } + }, + "CreateSecurityGroupRequest":{ + "type":"structure", + "required":[ + "Description", + "GroupName" + ], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the security group. This is informational only.

Constraints: Up to 255 characters in length

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", + "locationName":"GroupDescription" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

Constraints: Up to 255 characters in length. Cannot start with sg-.

Constraints for EC2-Classic: ASCII characters

Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

[EC2-VPC] The ID of the VPC. Required for EC2-VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CreateSecurityGroupResult":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + } + } + }, + "CreateSnapshotRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the snapshot.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the EBS volume.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the snapshot during creation.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CreateSnapshotsRequest":{ + "type":"structure", + "required":["InstanceSpecification"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description propagated to every snapshot specified by the instance.

" + }, + "InstanceSpecification":{ + "shape":"InstanceSpecification", + "documentation":"

The instance to specify which volumes should be included in the snapshots.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

Tags to apply to every snapshot specified by the instance.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "CopyTagsFromSource":{ + "shape":"CopyTagsFromSource", + "documentation":"

Copies the tags from the specified volume to corresponding snapshot.

" + } + } + }, + "CreateSnapshotsResult":{ + "type":"structure", + "members":{ + "Snapshots":{ + "shape":"SnapshotSet", + "documentation":"

List of snapshots.

", + "locationName":"snapshotSet" + } + } + }, + "CreateSpotDatafeedSubscriptionRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket in which to store the Spot Instance data feed.

", + "locationName":"bucket" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Prefix":{ + "shape":"String", + "documentation":"

A prefix for the data feed file names.

", + "locationName":"prefix" + } + }, + "documentation":"

Contains the parameters for CreateSpotDatafeedSubscription.

" + }, + "CreateSpotDatafeedSubscriptionResult":{ + "type":"structure", + "members":{ + "SpotDatafeedSubscription":{ + "shape":"SpotDatafeedSubscription", + "documentation":"

The Spot Instance data feed subscription.

", + "locationName":"spotDatafeedSubscription" + } + }, + "documentation":"

Contains the output of CreateSpotDatafeedSubscription.

" + }, + "CreateSubnetRequest":{ + "type":"structure", + "required":[ + "CidrBlock", + "VpcId" + ], + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone or Local Zone for the subnet.

Default: AWS selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Regions in the Amazon Elastic Compute Cloud User Guide.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

" + }, + "AvailabilityZoneId":{ + "shape":"String", + "documentation":"

The AZ ID or the Local Zone ID of the subnet.

" + }, + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.

" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "CreateSubnetResult":{ + "type":"structure", + "members":{ + "Subnet":{ + "shape":"Subnet", + "documentation":"

Information about the subnet.

", + "locationName":"subnet" + } + } + }, + "CreateTagsRequest":{ + "type":"structure", + "required":[ + "Resources", + "Tags" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Resources":{ + "shape":"ResourceIdList", + "documentation":"

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", + "locationName":"ResourceId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

", + "locationName":"Tag" + } + } + }, + "CreateTrafficMirrorFilterRequest":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror filter.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to assign to a Traffic Mirror filter.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateTrafficMirrorFilterResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilter":{ + "shape":"TrafficMirrorFilter", + "documentation":"

Information about the Traffic Mirror filter.

", + "locationName":"trafficMirrorFilter" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + } + } + }, + "CreateTrafficMirrorFilterRuleRequest":{ + "type":"structure", + "required":[ + "TrafficMirrorFilterId", + "TrafficDirection", + "RuleNumber", + "RuleAction", + "DestinationCidrBlock", + "SourceCidrBlock" + ], + "members":{ + "TrafficMirrorFilterId":{ + "shape":"TrafficMirrorFilterId", + "documentation":"

The ID of the filter that this rule is associated with.

" + }, + "TrafficDirection":{ + "shape":"TrafficDirection", + "documentation":"

The type of traffic (ingress | egress).

" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

" + }, + "RuleAction":{ + "shape":"TrafficMirrorRuleAction", + "documentation":"

The action to take (accept | reject) on the filtered traffic.

" + }, + "DestinationPortRange":{ + "shape":"TrafficMirrorPortRangeRequest", + "documentation":"

The destination port range.

" + }, + "SourcePortRange":{ + "shape":"TrafficMirrorPortRangeRequest", + "documentation":"

The source port range.

" + }, + "Protocol":{ + "shape":"Integer", + "documentation":"

The protocol, for example UDP, to assign to the Traffic Mirror rule.

For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The destination CIDR block to assign to the Traffic Mirror rule.

" + }, + "SourceCidrBlock":{ + "shape":"String", + "documentation":"

The source CIDR block to assign to the Traffic Mirror rule.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror rule.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateTrafficMirrorFilterRuleResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterRule":{ + "shape":"TrafficMirrorFilterRule", + "documentation":"

The Traffic Mirror rule.

", + "locationName":"trafficMirrorFilterRule" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + } + } + }, + "CreateTrafficMirrorSessionRequest":{ + "type":"structure", + "required":[ + "NetworkInterfaceId", + "TrafficMirrorTargetId", + "TrafficMirrorFilterId", + "SessionNumber" + ], + "members":{ + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the source network interface.

" + }, + "TrafficMirrorTargetId":{ + "shape":"TrafficMirrorTargetId", + "documentation":"

The ID of the Traffic Mirror target.

" + }, + "TrafficMirrorFilterId":{ + "shape":"TrafficMirrorFilterId", + "documentation":"

The ID of the Traffic Mirror filter.

" + }, + "PacketLength":{ + "shape":"Integer", + "documentation":"

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target.

If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

" + }, + "SessionNumber":{ + "shape":"Integer", + "documentation":"

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

" + }, + "VirtualNetworkId":{ + "shape":"Integer", + "documentation":"

The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror session.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to assign to a Traffic Mirror session.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateTrafficMirrorSessionResult":{ + "type":"structure", + "members":{ + "TrafficMirrorSession":{ + "shape":"TrafficMirrorSession", + "documentation":"

Information about the Traffic Mirror session.

", + "locationName":"trafficMirrorSession" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + } + } + }, + "CreateTrafficMirrorTargetRequest":{ + "type":"structure", + "members":{ + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The network interface ID that is associated with the target.

" + }, + "NetworkLoadBalancerArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror target.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to assign to the Traffic Mirror target.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "idempotencyToken":true + } + } + }, + "CreateTrafficMirrorTargetResult":{ + "type":"structure", + "members":{ + "TrafficMirrorTarget":{ + "shape":"TrafficMirrorTarget", + "documentation":"

Information about the Traffic Mirror target.

", + "locationName":"trafficMirrorTarget" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + } + } + }, + "CreateTransitGatewayMulticastDomainRequest":{ + "type":"structure", + "required":["TransitGatewayId"], + "members":{ + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags for the transit gateway multicast domain.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayMulticastDomainResult":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomain":{ + "shape":"TransitGatewayMulticastDomain", + "documentation":"

Information about the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomain" + } + } + }, + "CreateTransitGatewayPeeringAttachmentRequest":{ + "type":"structure", + "required":[ + "TransitGatewayId", + "PeerTransitGatewayId", + "PeerAccountId", + "PeerRegion" + ], + "members":{ + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "PeerTransitGatewayId":{ + "shape":"TransitAssociationGatewayId", + "documentation":"

The ID of the peer transit gateway with which to create the peering attachment.

" + }, + "PeerAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the peer transit gateway.

" + }, + "PeerRegion":{ + "shape":"String", + "documentation":"

The Region where the peer transit gateway is located.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the transit gateway peering attachment.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayPeeringAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayPeeringAttachment":{ + "shape":"TransitGatewayPeeringAttachment", + "documentation":"

The transit gateway peering attachment.

", + "locationName":"transitGatewayPeeringAttachment" + } + } + }, + "CreateTransitGatewayRequest":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the transit gateway.

" + }, + "Options":{ + "shape":"TransitGatewayRequestOptions", + "documentation":"

The transit gateway options.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the transit gateway.

", + "locationName":"TagSpecification" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayResult":{ + "type":"structure", + "members":{ + "TransitGateway":{ + "shape":"TransitGateway", + "documentation":"

Information about the transit gateway.

", + "locationName":"transitGateway" + } + } + }, + "CreateTransitGatewayRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "TransitGatewayRouteTableId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR range used for destination matches. Routing decisions are based on the most specific match.

" + }, + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "Blackhole":{ + "shape":"Boolean", + "documentation":"

Indicates whether to drop traffic that matches this route.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayRouteResult":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"TransitGatewayRoute", + "documentation":"

Information about the route.

", + "locationName":"route" + } + } + }, + "CreateTransitGatewayRouteTableRequest":{ + "type":"structure", + "required":["TransitGatewayId"], + "members":{ + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the transit gateway route table.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayRouteTableResult":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTable":{ + "shape":"TransitGatewayRouteTable", + "documentation":"

Information about the transit gateway route table.

", + "locationName":"transitGatewayRouteTable" + } + } + }, + "CreateTransitGatewayVpcAttachmentRequest":{ + "type":"structure", + "required":[ + "TransitGatewayId", + "VpcId", + "SubnetIds" + ], + "members":{ + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "SubnetIds":{ + "shape":"TransitGatewaySubnetIdList", + "documentation":"

The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.

" + }, + "Options":{ + "shape":"CreateTransitGatewayVpcAttachmentRequestOptions", + "documentation":"

The VPC attachment options.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the VPC attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "CreateTransitGatewayVpcAttachmentRequestOptions":{ + "type":"structure", + "members":{ + "DnsSupport":{ + "shape":"DnsSupportValue", + "documentation":"

Enable or disable DNS support. The default is enable.

" + }, + "Ipv6Support":{ + "shape":"Ipv6SupportValue", + "documentation":"

Enable or disable IPv6 support. The default is enable.

" + } + }, + "documentation":"

Describes the options for a VPC attachment.

" + }, + "CreateTransitGatewayVpcAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachment":{ + "shape":"TransitGatewayVpcAttachment", + "documentation":"

Information about the VPC attachment.

", + "locationName":"transitGatewayVpcAttachment" + } + } + }, + "CreateVolumePermission":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"PermissionGroup", + "documentation":"

The group to be added or removed. The possible value is all.

", + "locationName":"group" + }, + "UserId":{ + "shape":"String", + "documentation":"

The AWS account ID to be added or removed.

", + "locationName":"userId" + } + }, + "documentation":"

Describes the user or group to be added or removed from the list of create volume permissions for a volume.

" + }, + "CreateVolumePermissionList":{ + "type":"list", + "member":{ + "shape":"CreateVolumePermission", + "locationName":"item" + } + }, + "CreateVolumePermissionModifications":{ + "type":"structure", + "members":{ + "Add":{ + "shape":"CreateVolumePermissionList", + "documentation":"

Adds the specified AWS account ID or group to the list.

" + }, + "Remove":{ + "shape":"CreateVolumePermissionList", + "documentation":"

Removes the specified AWS account ID or group from the list.

" + } + }, + "documentation":"

Describes modifications to the list of create volume permissions for a volume.

" + }, + "CreateVolumeRequest":{ + "type":"structure", + "required":["AvailabilityZone"], + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to create the volume.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Encryption by Default in the Amazon Elastic Compute Cloud User Guide.

Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.

", + "locationName":"encrypted" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) to provision for the volume, with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

This parameter is valid only for Provisioned IOPS SSD (io1) volumes.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

" + }, + "Size":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.

Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384 for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

Default: gp2

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the volume during creation.

", + "locationName":"TagSpecification" + }, + "MultiAttachEnabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro-based instances in the same Availability Zone. For more information, see Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

" + } + } + }, + "CreateVpcEndpointConnectionNotificationRequest":{ + "type":"structure", + "required":[ + "ConnectionNotificationArn", + "ConnectionEvents" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the endpoint service.

" + }, + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

The ID of the endpoint.

" + }, + "ConnectionNotificationArn":{ + "shape":"String", + "documentation":"

The ARN of the SNS topic for the notifications.

" + }, + "ConnectionEvents":{ + "shape":"ValueStringList", + "documentation":"

One or more endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + } + } + }, + "CreateVpcEndpointConnectionNotificationResult":{ + "type":"structure", + "members":{ + "ConnectionNotification":{ + "shape":"ConnectionNotification", + "documentation":"

Information about the notification.

", + "locationName":"connectionNotification" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "locationName":"clientToken" + } + } + }, + "CreateVpcEndpointRequest":{ + "type":"structure", + "required":[ + "VpcId", + "ServiceName" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VpcEndpointType":{ + "shape":"VpcEndpointType", + "documentation":"

The type of endpoint.

Default: Gateway

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC in which the endpoint will be used.

" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service provider.

" + }, + "PolicyDocument":{ + "shape":"String", + "documentation":"

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format. If this parameter is not specified, we attach a default policy that allows full access to the service.

" + }, + "RouteTableIds":{ + "shape":"VpcEndpointRouteTableIdList", + "documentation":"

(Gateway endpoint) One or more route table IDs.

", + "locationName":"RouteTableId" + }, + "SubnetIds":{ + "shape":"VpcEndpointSubnetIdList", + "documentation":"

(Interface endpoint) The ID of one or more subnets in which to create an endpoint network interface.

", + "locationName":"SubnetId" + }, + "SecurityGroupIds":{ + "shape":"VpcEndpointSecurityGroupIdList", + "documentation":"

(Interface endpoint) The ID of one or more security groups to associate with the endpoint network interface.

", + "locationName":"SecurityGroupId" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "PrivateDnsEnabled":{ + "shape":"Boolean", + "documentation":"

(Interface endpoint) Indicates whether to associate a private hosted zone with the specified VPC. The private hosted zone contains a record set for the default public DNS name for the service for the Region (for example, kinesis.us-east-1.amazonaws.com), which resolves to the private IP addresses of the endpoint network interfaces in the VPC. This enables you to make requests to the default public DNS name for the service instead of the public DNS names that are automatically generated by the VPC endpoint service.

To use a private hosted zone, you must set the following VPC attributes to true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to set the VPC attributes.

Default: true

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to associate with the endpoint.

", + "locationName":"TagSpecification" + } + }, + "documentation":"

Contains the parameters for CreateVpcEndpoint.

" + }, + "CreateVpcEndpointResult":{ + "type":"structure", + "members":{ + "VpcEndpoint":{ + "shape":"VpcEndpoint", + "documentation":"

Information about the endpoint.

", + "locationName":"vpcEndpoint" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "locationName":"clientToken" + } + }, + "documentation":"

Contains the output of CreateVpcEndpoint.

" + }, + "CreateVpcEndpointServiceConfigurationRequest":{ + "type":"structure", + "required":["NetworkLoadBalancerArns"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "AcceptanceRequired":{ + "shape":"Boolean", + "documentation":"

Indicates whether requests from service consumers to create an endpoint to your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.

" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name to assign to the VPC endpoint service.

" + }, + "NetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service.

", + "locationName":"NetworkLoadBalancerArn" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to associate with the service.

", + "locationName":"TagSpecification" + } + } + }, + "CreateVpcEndpointServiceConfigurationResult":{ + "type":"structure", + "members":{ + "ServiceConfiguration":{ + "shape":"ServiceConfiguration", + "documentation":"

Information about the service configuration.

", + "locationName":"serviceConfiguration" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "locationName":"clientToken" + } + } + }, + "CreateVpcPeeringConnectionRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "PeerOwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the accepter VPC.

Default: Your AWS account ID

", + "locationName":"peerOwnerId" + }, + "PeerVpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC with which you are creating the VPC peering connection. You must specify this parameter in the request.

", + "locationName":"peerVpcId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the requester VPC. You must specify this parameter in the request.

", + "locationName":"vpcId" + }, + "PeerRegion":{ + "shape":"String", + "documentation":"

The Region code for the accepter VPC, if the accepter VPC is located in a Region other than the Region in which you make the request.

Default: The Region in which you make the request.

" + } + } + }, + "CreateVpcPeeringConnectionResult":{ + "type":"structure", + "members":{ + "VpcPeeringConnection":{ + "shape":"VpcPeeringConnection", + "documentation":"

Information about the VPC peering connection.

", + "locationName":"vpcPeeringConnection" + } + } + }, + "CreateVpcRequest":{ + "type":"structure", + "required":["CidrBlock"], + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.

" + }, + "AmazonProvidedIpv6CidrBlock":{ + "shape":"Boolean", + "documentation":"

Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block.

", + "locationName":"amazonProvidedIpv6CidrBlock" + }, + "Ipv6Pool":{ + "shape":"Ipv6PoolEc2Id", + "documentation":"

The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy options for instances launched into the VPC. For default, instances are launched with shared tenancy by default. You can launch instances with any tenancy into a shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy instances by default. You can only launch instances with a tenancy of dedicated or host into a dedicated tenancy VPC.

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", + "locationName":"instanceTenancy" + }, + "Ipv6CidrBlockNetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

" + } + } + }, + "CreateVpcResult":{ + "type":"structure", + "members":{ + "Vpc":{ + "shape":"Vpc", + "documentation":"

Information about the VPC.

", + "locationName":"vpc" + } + } + }, + "CreateVpnConnectionRequest":{ + "type":"structure", + "required":[ + "CustomerGatewayId", + "Type" + ], + "members":{ + "CustomerGatewayId":{ + "shape":"CustomerGatewayId", + "documentation":"

The ID of the customer gateway.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of VPN connection (ipsec.1).

" + }, + "VpnGatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway. If you specify a virtual private gateway, you cannot specify a transit gateway.

" + }, + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Options":{ + "shape":"VpnConnectionOptionsSpecification", + "documentation":"

The options for the VPN connection.

", + "locationName":"options" + } + }, + "documentation":"

Contains the parameters for CreateVpnConnection.

" + }, + "CreateVpnConnectionResult":{ + "type":"structure", + "members":{ + "VpnConnection":{ + "shape":"VpnConnection", + "documentation":"

Information about the VPN connection.

", + "locationName":"vpnConnection" + } + }, + "documentation":"

Contains the output of CreateVpnConnection.

" + }, + "CreateVpnConnectionRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR block associated with the local subnet of the customer network.

" + }, + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the VPN connection.

" + } + }, + "documentation":"

Contains the parameters for CreateVpnConnectionRoute.

" + }, + "CreateVpnGatewayRequest":{ + "type":"structure", + "required":["Type"], + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the virtual private gateway.

" + }, + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection this virtual private gateway supports.

" + }, + "AmazonSideAsn":{ + "shape":"Long", + "documentation":"

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

Default: 64512

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for CreateVpnGateway.

" + }, + "CreateVpnGatewayResult":{ + "type":"structure", + "members":{ + "VpnGateway":{ + "shape":"VpnGateway", + "documentation":"

Information about the virtual private gateway.

", + "locationName":"vpnGateway" + } + }, + "documentation":"

Contains the output of CreateVpnGateway.

" + }, + "CreditSpecification":{ + "type":"structure", + "members":{ + "CpuCredits":{ + "shape":"String", + "documentation":"

The credit option for CPU usage of a T2 or T3 instance. Valid values are standard and unlimited.

", + "locationName":"cpuCredits" + } + }, + "documentation":"

Describes the credit option for CPU usage of a T2 or T3 instance.

" + }, + "CreditSpecificationRequest":{ + "type":"structure", + "required":["CpuCredits"], + "members":{ + "CpuCredits":{ + "shape":"String", + "documentation":"

The credit option for CPU usage of a T2 or T3 instance. Valid values are standard and unlimited.

" + } + }, + "documentation":"

The credit option for CPU usage of a T2 or T3 instance.

" + }, + "CurrencyCodeValues":{ + "type":"string", + "enum":["USD"] + }, + "CurrentGenerationFlag":{"type":"boolean"}, + "CustomerGateway":{ + "type":"structure", + "members":{ + "BgpAsn":{ + "shape":"String", + "documentation":"

The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

", + "locationName":"bgpAsn" + }, + "CustomerGatewayId":{ + "shape":"String", + "documentation":"

The ID of the customer gateway.

", + "locationName":"customerGatewayId" + }, + "IpAddress":{ + "shape":"String", + "documentation":"

The Internet-routable IP address of the customer gateway's outside interface.

", + "locationName":"ipAddress" + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the customer gateway certificate.

", + "locationName":"certificateArn" + }, + "State":{ + "shape":"String", + "documentation":"

The current state of the customer gateway (pending | available | deleting | deleted).

", + "locationName":"state" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of VPN connection the customer gateway supports (ipsec.1).

", + "locationName":"type" + }, + "DeviceName":{ + "shape":"String", + "documentation":"

The name of customer gateway device.

", + "locationName":"deviceName" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the customer gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a customer gateway.

" + }, + "CustomerGatewayId":{"type":"string"}, + "CustomerGatewayIdStringList":{ + "type":"list", + "member":{ + "shape":"CustomerGatewayId", + "locationName":"CustomerGatewayId" + } + }, + "CustomerGatewayList":{ + "type":"list", + "member":{ + "shape":"CustomerGateway", + "locationName":"item" + } + }, + "DITMaxResults":{ + "type":"integer", + "max":100, + "min":5 + }, + "DITOMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DatafeedSubscriptionState":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, + "DateTime":{"type":"timestamp"}, + "DedicatedHostFlag":{"type":"boolean"}, + "DedicatedHostId":{"type":"string"}, + "DefaultRouteTableAssociationValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "DefaultRouteTablePropagationValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "DefaultTargetCapacityType":{ + "type":"string", + "enum":[ + "spot", + "on-demand" + ] + }, + "DefaultingDhcpOptionsId":{"type":"string"}, + "DeleteClientVpnEndpointRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN to be deleted.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnEndpointStatus", + "documentation":"

The current state of the Client VPN endpoint.

", + "locationName":"status" + } + } + }, + "DeleteClientVpnRouteRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "DestinationCidrBlock" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint from which the route is to be deleted.

" + }, + "TargetVpcSubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the target subnet used by the route.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the route to be deleted.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteClientVpnRouteResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnRouteStatus", + "documentation":"

The current state of the route.

", + "locationName":"status" + } + } + }, + "DeleteCustomerGatewayRequest":{ + "type":"structure", + "required":["CustomerGatewayId"], + "members":{ + "CustomerGatewayId":{ + "shape":"CustomerGatewayId", + "documentation":"

The ID of the customer gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DeleteCustomerGateway.

" + }, + "DeleteDhcpOptionsRequest":{ + "type":"structure", + "required":["DhcpOptionsId"], + "members":{ + "DhcpOptionsId":{ + "shape":"DhcpOptionsId", + "documentation":"

The ID of the DHCP options set.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteEgressOnlyInternetGatewayRequest":{ + "type":"structure", + "required":["EgressOnlyInternetGatewayId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"EgressOnlyInternetGatewayId", + "documentation":"

The ID of the egress-only internet gateway.

" + } + } + }, + "DeleteEgressOnlyInternetGatewayResult":{ + "type":"structure", + "members":{ + "ReturnCode":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"returnCode" + } + } + }, + "DeleteFleetError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"DeleteFleetErrorCode", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The description for the error code.

", + "locationName":"message" + } + }, + "documentation":"

Describes an EC2 Fleet error.

" + }, + "DeleteFleetErrorCode":{ + "type":"string", + "enum":[ + "fleetIdDoesNotExist", + "fleetIdMalformed", + "fleetNotInDeletableState", + "unexpectedError" + ] + }, + "DeleteFleetErrorItem":{ + "type":"structure", + "members":{ + "Error":{ + "shape":"DeleteFleetError", + "documentation":"

The error.

", + "locationName":"error" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

", + "locationName":"fleetId" + } + }, + "documentation":"

Describes an EC2 Fleet that was not successfully deleted.

" + }, + "DeleteFleetErrorSet":{ + "type":"list", + "member":{ + "shape":"DeleteFleetErrorItem", + "locationName":"item" + } + }, + "DeleteFleetSuccessItem":{ + "type":"structure", + "members":{ + "CurrentFleetState":{ + "shape":"FleetStateCode", + "documentation":"

The current state of the EC2 Fleet.

", + "locationName":"currentFleetState" + }, + "PreviousFleetState":{ + "shape":"FleetStateCode", + "documentation":"

The previous state of the EC2 Fleet.

", + "locationName":"previousFleetState" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

", + "locationName":"fleetId" + } + }, + "documentation":"

Describes an EC2 Fleet that was successfully deleted.

" + }, + "DeleteFleetSuccessSet":{ + "type":"list", + "member":{ + "shape":"DeleteFleetSuccessItem", + "locationName":"item" + } + }, + "DeleteFleetsRequest":{ + "type":"structure", + "required":[ + "FleetIds", + "TerminateInstances" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FleetIds":{ + "shape":"FleetIdSet", + "documentation":"

The IDs of the EC2 Fleets.

", + "locationName":"FleetId" + }, + "TerminateInstances":{ + "shape":"Boolean", + "documentation":"

Indicates whether to terminate instances for an EC2 Fleet if it is deleted successfully.

" + } + } + }, + "DeleteFleetsResult":{ + "type":"structure", + "members":{ + "SuccessfulFleetDeletions":{ + "shape":"DeleteFleetSuccessSet", + "documentation":"

Information about the EC2 Fleets that are successfully deleted.

", + "locationName":"successfulFleetDeletionSet" + }, + "UnsuccessfulFleetDeletions":{ + "shape":"DeleteFleetErrorSet", + "documentation":"

Information about the EC2 Fleets that are not successfully deleted.

", + "locationName":"unsuccessfulFleetDeletionSet" + } + } + }, + "DeleteFlowLogsRequest":{ + "type":"structure", + "required":["FlowLogIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FlowLogIds":{ + "shape":"FlowLogIdList", + "documentation":"

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

", + "locationName":"FlowLogId" + } + } + }, + "DeleteFlowLogsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the flow logs that could not be deleted successfully.

", + "locationName":"unsuccessful" + } + } + }, + "DeleteFpgaImageRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageId":{ + "shape":"FpgaImageId", + "documentation":"

The ID of the AFI.

" + } + } + }, + "DeleteFpgaImageResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + } + }, + "DeleteInternetGatewayRequest":{ + "type":"structure", + "required":["InternetGatewayId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InternetGatewayId":{ + "shape":"InternetGatewayId", + "documentation":"

The ID of the internet gateway.

", + "locationName":"internetGatewayId" + } + } + }, + "DeleteKeyPairRequest":{ + "type":"structure", + "members":{ + "KeyName":{ + "shape":"KeyPairName", + "documentation":"

The name of the key pair.

" + }, + "KeyPairId":{ + "shape":"KeyPairId", + "documentation":"

The ID of the key pair.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteLaunchTemplateRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" + } + } + }, + "DeleteLaunchTemplateResult":{ + "type":"structure", + "members":{ + "LaunchTemplate":{ + "shape":"LaunchTemplate", + "documentation":"

Information about the launch template.

", + "locationName":"launchTemplate" + } + } + }, + "DeleteLaunchTemplateVersionsRequest":{ + "type":"structure", + "required":["Versions"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "Versions":{ + "shape":"VersionStringList", + "documentation":"

The version numbers of one or more launch template versions to delete.

", + "locationName":"LaunchTemplateVersion" + } + } + }, + "DeleteLaunchTemplateVersionsResponseErrorItem":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template.

", + "locationName":"launchTemplateId" + }, + "LaunchTemplateName":{ + "shape":"String", + "documentation":"

The name of the launch template.

", + "locationName":"launchTemplateName" + }, + "VersionNumber":{ + "shape":"Long", + "documentation":"

The version number of the launch template.

", + "locationName":"versionNumber" + }, + "ResponseError":{ + "shape":"ResponseError", + "documentation":"

Information about the error.

", + "locationName":"responseError" + } + }, + "documentation":"

Describes a launch template version that could not be deleted.

" + }, + "DeleteLaunchTemplateVersionsResponseErrorSet":{ + "type":"list", + "member":{ + "shape":"DeleteLaunchTemplateVersionsResponseErrorItem", + "locationName":"item" + } + }, + "DeleteLaunchTemplateVersionsResponseSuccessItem":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template.

", + "locationName":"launchTemplateId" + }, + "LaunchTemplateName":{ + "shape":"String", + "documentation":"

The name of the launch template.

", + "locationName":"launchTemplateName" + }, + "VersionNumber":{ + "shape":"Long", + "documentation":"

The version number of the launch template.

", + "locationName":"versionNumber" + } + }, + "documentation":"

Describes a launch template version that was successfully deleted.

" + }, + "DeleteLaunchTemplateVersionsResponseSuccessSet":{ + "type":"list", + "member":{ + "shape":"DeleteLaunchTemplateVersionsResponseSuccessItem", + "locationName":"item" + } + }, + "DeleteLaunchTemplateVersionsResult":{ + "type":"structure", + "members":{ + "SuccessfullyDeletedLaunchTemplateVersions":{ + "shape":"DeleteLaunchTemplateVersionsResponseSuccessSet", + "documentation":"

Information about the launch template versions that were successfully deleted.

", + "locationName":"successfullyDeletedLaunchTemplateVersionSet" + }, + "UnsuccessfullyDeletedLaunchTemplateVersions":{ + "shape":"DeleteLaunchTemplateVersionsResponseErrorSet", + "documentation":"

Information about the launch template versions that could not be deleted.

", + "locationName":"unsuccessfullyDeletedLaunchTemplateVersionSet" + } + } + }, + "DeleteLocalGatewayRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "LocalGatewayRouteTableId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR range for the route. This must match the CIDR for the route exactly.

" + }, + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteLocalGatewayRouteResult":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"LocalGatewayRoute", + "documentation":"

Information about the route.

", + "locationName":"route" + } + } + }, + "DeleteLocalGatewayRouteTableVpcAssociationRequest":{ + "type":"structure", + "required":["LocalGatewayRouteTableVpcAssociationId"], + "members":{ + "LocalGatewayRouteTableVpcAssociationId":{ + "shape":"LocalGatewayRouteTableVpcAssociationId", + "documentation":"

The ID of the association.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteLocalGatewayRouteTableVpcAssociationResult":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVpcAssociation":{ + "shape":"LocalGatewayRouteTableVpcAssociation", + "documentation":"

Information about the association.

", + "locationName":"localGatewayRouteTableVpcAssociation" + } + } + }, + "DeleteNatGatewayRequest":{ + "type":"structure", + "required":["NatGatewayId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "NatGatewayId":{ + "shape":"NatGatewayId", + "documentation":"

The ID of the NAT gateway.

" + } + } + }, + "DeleteNatGatewayResult":{ + "type":"structure", + "members":{ + "NatGatewayId":{ + "shape":"String", + "documentation":"

The ID of the NAT gateway.

", + "locationName":"natGatewayId" + } + } + }, + "DeleteNetworkAclEntryRequest":{ + "type":"structure", + "required":[ + "Egress", + "NetworkAclId", + "RuleNumber" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether the rule is an egress rule.

", + "locationName":"egress" + }, + "NetworkAclId":{ + "shape":"NetworkAclId", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number of the entry to delete.

", + "locationName":"ruleNumber" + } + } + }, + "DeleteNetworkAclRequest":{ + "type":"structure", + "required":["NetworkAclId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkAclId":{ + "shape":"NetworkAclId", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" + } + } + }, + "DeleteNetworkInterfacePermissionRequest":{ + "type":"structure", + "required":["NetworkInterfacePermissionId"], + "members":{ + "NetworkInterfacePermissionId":{ + "shape":"NetworkInterfacePermissionId", + "documentation":"

The ID of the network interface permission.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Specify true to remove the permission even if the network interface is attached to an instance.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "documentation":"

Contains the parameters for DeleteNetworkInterfacePermission.

" + }, + "DeleteNetworkInterfacePermissionResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds, otherwise returns an error.

", + "locationName":"return" + } + }, + "documentation":"

Contains the output for DeleteNetworkInterfacePermission.

" + }, + "DeleteNetworkInterfaceRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + }, + "documentation":"

Contains the parameters for DeleteNetworkInterface.

" + }, + "DeletePlacementGroupRequest":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "GroupName":{ + "shape":"PlacementGroupName", + "documentation":"

The name of the placement group.

", + "locationName":"groupName" + } + } + }, + "DeleteQueuedReservedInstancesError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"DeleteQueuedReservedInstancesErrorCode", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes the error for a Reserved Instance whose queued purchase could not be deleted.

" + }, + "DeleteQueuedReservedInstancesErrorCode":{ + "type":"string", + "enum":[ + "reserved-instances-id-invalid", + "reserved-instances-not-in-queued-state", + "unexpected-error" + ] + }, + "DeleteQueuedReservedInstancesIdList":{ + "type":"list", + "member":{ + "shape":"ReservationId", + "locationName":"item" + }, + "max":100, + "min":1 + }, + "DeleteQueuedReservedInstancesRequest":{ + "type":"structure", + "required":["ReservedInstancesIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ReservedInstancesIds":{ + "shape":"DeleteQueuedReservedInstancesIdList", + "documentation":"

The IDs of the Reserved Instances.

", + "locationName":"ReservedInstancesId" + } + } + }, + "DeleteQueuedReservedInstancesResult":{ + "type":"structure", + "members":{ + "SuccessfulQueuedPurchaseDeletions":{ + "shape":"SuccessfulQueuedPurchaseDeletionSet", + "documentation":"

Information about the queued purchases that were successfully deleted.

", + "locationName":"successfulQueuedPurchaseDeletionSet" + }, + "FailedQueuedPurchaseDeletions":{ + "shape":"FailedQueuedPurchaseDeletionSet", + "documentation":"

Information about the queued purchases that could not be deleted.

", + "locationName":"failedQueuedPurchaseDeletionSet" + } + } + }, + "DeleteRouteRequest":{ + "type":"structure", + "required":["RouteTableId"], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", + "locationName":"destinationCidrBlock" + }, + "DestinationIpv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

", + "locationName":"destinationIpv6CidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + } + } + }, + "DeleteRouteTableRequest":{ + "type":"structure", + "required":["RouteTableId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + } + } + }, + "DeleteSecurityGroupRequest":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group. Required for a nondefault VPC.

" + }, + "GroupName":{ + "shape":"SecurityGroupName", + "documentation":"

[EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteSnapshotRequest":{ + "type":"structure", + "required":["SnapshotId"], + "members":{ + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the EBS snapshot.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteSpotDatafeedSubscriptionRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DeleteSpotDatafeedSubscription.

" + }, + "DeleteSubnetRequest":{ + "type":"structure", + "required":["SubnetId"], + "members":{ + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteTagsRequest":{ + "type":"structure", + "required":["Resources"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Resources":{ + "shape":"ResourceIdList", + "documentation":"

The IDs of the resources, separated by spaces.

Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

", + "locationName":"resourceId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to delete. Specify a tag key and an optional tag value to delete specific tags. If you specify a tag key without a tag value, we delete any tag with this key regardless of its value. If you specify a tag key with an empty string as the tag value, we delete the tag only if its value is an empty string.

If you omit this parameter, we delete all user-defined tags for the specified resources. We do not delete AWS-generated tags (tags that have the aws: prefix).

", + "locationName":"tag" + } + } + }, + "DeleteTrafficMirrorFilterRequest":{ + "type":"structure", + "required":["TrafficMirrorFilterId"], + "members":{ + "TrafficMirrorFilterId":{ + "shape":"TrafficMirrorFilterId", + "documentation":"

The ID of the Traffic Mirror filter.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTrafficMirrorFilterResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror filter.

", + "locationName":"trafficMirrorFilterId" + } + } + }, + "DeleteTrafficMirrorFilterRuleRequest":{ + "type":"structure", + "required":["TrafficMirrorFilterRuleId"], + "members":{ + "TrafficMirrorFilterRuleId":{ + "shape":"TrafficMirrorFilterRuleId", + "documentation":"

The ID of the Traffic Mirror rule.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTrafficMirrorFilterRuleResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterRuleId":{ + "shape":"String", + "documentation":"

The ID of the deleted Traffic Mirror rule.

", + "locationName":"trafficMirrorFilterRuleId" + } + } + }, + "DeleteTrafficMirrorSessionRequest":{ + "type":"structure", + "required":["TrafficMirrorSessionId"], + "members":{ + "TrafficMirrorSessionId":{ + "shape":"TrafficMirrorSessionId", + "documentation":"

The ID of the Traffic Mirror session.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTrafficMirrorSessionResult":{ + "type":"structure", + "members":{ + "TrafficMirrorSessionId":{ + "shape":"String", + "documentation":"

The ID of the deleted Traffic Mirror session.

", + "locationName":"trafficMirrorSessionId" + } + } + }, + "DeleteTrafficMirrorTargetRequest":{ + "type":"structure", + "required":["TrafficMirrorTargetId"], + "members":{ + "TrafficMirrorTargetId":{ + "shape":"TrafficMirrorTargetId", + "documentation":"

The ID of the Traffic Mirror target.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTrafficMirrorTargetResult":{ + "type":"structure", + "members":{ + "TrafficMirrorTargetId":{ + "shape":"String", + "documentation":"

The ID of the deleted Traffic Mirror target.

", + "locationName":"trafficMirrorTargetId" + } + } + }, + "DeleteTransitGatewayMulticastDomainRequest":{ + "type":"structure", + "required":["TransitGatewayMulticastDomainId"], + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayMulticastDomainResult":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomain":{ + "shape":"TransitGatewayMulticastDomain", + "documentation":"

Information about the deleted transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomain" + } + } + }, + "DeleteTransitGatewayPeeringAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the transit gateway peering attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayPeeringAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayPeeringAttachment":{ + "shape":"TransitGatewayPeeringAttachment", + "documentation":"

The transit gateway peering attachment.

", + "locationName":"transitGatewayPeeringAttachment" + } + } + }, + "DeleteTransitGatewayRequest":{ + "type":"structure", + "required":["TransitGatewayId"], + "members":{ + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayResult":{ + "type":"structure", + "members":{ + "TransitGateway":{ + "shape":"TransitGateway", + "documentation":"

Information about the deleted transit gateway.

", + "locationName":"transitGateway" + } + } + }, + "DeleteTransitGatewayRouteRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "DestinationCidrBlock" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR range for the route. This must match the CIDR for the route exactly.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayRouteResult":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"TransitGatewayRoute", + "documentation":"

Information about the route.

", + "locationName":"route" + } + } + }, + "DeleteTransitGatewayRouteTableRequest":{ + "type":"structure", + "required":["TransitGatewayRouteTableId"], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayRouteTableResult":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTable":{ + "shape":"TransitGatewayRouteTable", + "documentation":"

Information about the deleted transit gateway route table.

", + "locationName":"transitGatewayRouteTable" + } + } + }, + "DeleteTransitGatewayVpcAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeleteTransitGatewayVpcAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachment":{ + "shape":"TransitGatewayVpcAttachment", + "documentation":"

Information about the deleted VPC attachment.

", + "locationName":"transitGatewayVpcAttachment" + } + } + }, + "DeleteVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteVpcEndpointConnectionNotificationsRequest":{ + "type":"structure", + "required":["ConnectionNotificationIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ConnectionNotificationIds":{ + "shape":"ValueStringList", + "documentation":"

One or more notification IDs.

", + "locationName":"ConnectionNotificationId" + } + } + }, + "DeleteVpcEndpointConnectionNotificationsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the notifications that could not be deleted successfully.

", + "locationName":"unsuccessful" + } + } + }, + "DeleteVpcEndpointServiceConfigurationsRequest":{ + "type":"structure", + "required":["ServiceIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceIds":{ + "shape":"VpcEndpointServiceIdList", + "documentation":"

The IDs of one or more services.

", + "locationName":"ServiceId" + } + } + }, + "DeleteVpcEndpointServiceConfigurationsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the service configurations that were not deleted, if applicable.

", + "locationName":"unsuccessful" + } + } + }, + "DeleteVpcEndpointsRequest":{ + "type":"structure", + "required":["VpcEndpointIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VpcEndpointIds":{ + "shape":"VpcEndpointIdList", + "documentation":"

One or more VPC endpoint IDs.

", + "locationName":"VpcEndpointId" + } + }, + "documentation":"

Contains the parameters for DeleteVpcEndpoints.

" + }, + "DeleteVpcEndpointsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the VPC endpoints that were not successfully deleted.

", + "locationName":"unsuccessful" + } + }, + "documentation":"

Contains the output of DeleteVpcEndpoints.

" + }, + "DeleteVpcPeeringConnectionRequest":{ + "type":"structure", + "required":["VpcPeeringConnectionId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of the VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + } + }, + "DeleteVpcPeeringConnectionResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "DeleteVpcRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DeleteVpnConnectionRequest":{ + "type":"structure", + "required":["VpnConnectionId"], + "members":{ + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the VPN connection.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DeleteVpnConnection.

" + }, + "DeleteVpnConnectionRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "VpnConnectionId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR block associated with the local subnet of the customer network.

" + }, + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the VPN connection.

" + } + }, + "documentation":"

Contains the parameters for DeleteVpnConnectionRoute.

" + }, + "DeleteVpnGatewayRequest":{ + "type":"structure", + "required":["VpnGatewayId"], + "members":{ + "VpnGatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DeleteVpnGateway.

" + }, + "DeprovisionByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeprovisionByoipCidrResult":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

", + "locationName":"byoipCidr" + } + } + }, + "DeregisterImageRequest":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DeregisterImage.

" + }, + "DeregisterInstanceEventNotificationAttributesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceTagAttribute":{ + "shape":"DeregisterInstanceTagAttributeRequest", + "documentation":"

Information about the tag keys to deregister.

" + } + } + }, + "DeregisterInstanceEventNotificationAttributesResult":{ + "type":"structure", + "members":{ + "InstanceTagAttribute":{ + "shape":"InstanceTagNotificationAttribute", + "documentation":"

The resulting set of tag keys.

", + "locationName":"instanceTagAttribute" + } + } + }, + "DeregisterInstanceTagAttributeRequest":{ + "type":"structure", + "members":{ + "IncludeAllTagsOfInstance":{ + "shape":"Boolean", + "documentation":"

Indicates whether to deregister all tag keys in the current Region. Specify false to deregister all tag keys.

" + }, + "InstanceTagKeys":{ + "shape":"InstanceTagKeySet", + "documentation":"

Information about the tag keys to deregister.

", + "locationName":"InstanceTagKey" + } + }, + "documentation":"

Information about the tag keys to deregister for the current Region. You can either specify individual tag keys or deregister all tag keys in the current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys in the request

" + }, + "DeregisterTransitGatewayMulticastGroupMembersRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

" + }, + "NetworkInterfaceIds":{ + "shape":"TransitGatewayNetworkInterfaceIdList", + "documentation":"

The IDs of the group members' network interfaces.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeregisterTransitGatewayMulticastGroupMembersResult":{ + "type":"structure", + "members":{ + "DeregisteredMulticastGroupMembers":{ + "shape":"TransitGatewayMulticastDeregisteredGroupMembers", + "documentation":"

Information about the deregistered members.

", + "locationName":"deregisteredMulticastGroupMembers" + } + } + }, + "DeregisterTransitGatewayMulticastGroupSourcesRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

" + }, + "NetworkInterfaceIds":{ + "shape":"TransitGatewayNetworkInterfaceIdList", + "documentation":"

The IDs of the group sources' network interfaces.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DeregisterTransitGatewayMulticastGroupSourcesResult":{ + "type":"structure", + "members":{ + "DeregisteredMulticastGroupSources":{ + "shape":"TransitGatewayMulticastDeregisteredGroupSources", + "documentation":"

Information about the deregistered group sources.

", + "locationName":"deregisteredMulticastGroupSources" + } + } + }, + "DescribeAccountAttributesRequest":{ + "type":"structure", + "members":{ + "AttributeNames":{ + "shape":"AccountAttributeNameStringList", + "documentation":"

The account attribute names.

", + "locationName":"attributeName" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeAccountAttributesResult":{ + "type":"structure", + "members":{ + "AccountAttributes":{ + "shape":"AccountAttributeList", + "documentation":"

Information about the account attributes.

", + "locationName":"accountAttributeSet" + } + } + }, + "DescribeAddressesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • allocation-id - [EC2-VPC] The allocation ID for the address.

  • association-id - [EC2-VPC] The association ID for the address.

  • domain - Indicates whether the address is for use in EC2-Classic (standard) or in a VPC (vpc).

  • instance-id - The ID of the instance the address is associated with, if any.

  • network-border-group - The location from where the IP address is advertised.

  • network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

  • network-interface-owner-id - The AWS account ID of the owner.

  • private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

  • public-ip - The Elastic IP address.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "PublicIps":{ + "shape":"PublicIpStringList", + "documentation":"

One or more Elastic IP addresses.

Default: Describes all your Elastic IP addresses.

", + "locationName":"PublicIp" + }, + "AllocationIds":{ + "shape":"AllocationIdList", + "documentation":"

[EC2-VPC] Information about the allocation IDs.

", + "locationName":"AllocationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeAddressesResult":{ + "type":"structure", + "members":{ + "Addresses":{ + "shape":"AddressList", + "documentation":"

Information about the Elastic IP addresses.

", + "locationName":"addressesSet" + } + } + }, + "DescribeAggregateIdFormatRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeAggregateIdFormatResult":{ + "type":"structure", + "members":{ + "UseLongIdsAggregated":{ + "shape":"Boolean", + "documentation":"

Indicates whether all resource types in the Region are configured to use longer IDs. This value is only true if all users are configured to use longer IDs for all resources types in the Region.

", + "locationName":"useLongIdsAggregated" + }, + "Statuses":{ + "shape":"IdFormatList", + "documentation":"

Information about each resource's ID format.

", + "locationName":"statusSet" + } + } + }, + "DescribeAvailabilityZonesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • group-name - For Availability Zones, use the Region name. For Local Zones, use the name of the group associated with the Local Zone (for example, us-west-2-lax-1).

  • message - The Availability Zone or Local Zone message.

  • opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required).

  • region-name - The name of the Region for the Availability Zone or Local Zone (for example, us-east-1).

  • state - The state of the Availability Zone or Local Zone (available | information | impaired | unavailable).

  • zone-id - The ID of the Availability Zone (for example, use1-az1) or the Local Zone (for example, use usw2-lax1-az1).

  • zone-name - The name of the Availability Zone (for example, us-east-1a) or the Local Zone (for example, use us-west-2-lax-1a).

", + "locationName":"Filter" + }, + "ZoneNames":{ + "shape":"ZoneNameStringList", + "documentation":"

The names of the Availability Zones and Local Zones.

", + "locationName":"ZoneName" + }, + "ZoneIds":{ + "shape":"ZoneIdStringList", + "documentation":"

The IDs of the Availability Zones and Local Zones.

", + "locationName":"ZoneId" + }, + "AllAvailabilityZones":{ + "shape":"Boolean", + "documentation":"

Include all Availability Zones and Local Zones regardless of your opt in status.

If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeAvailabilityZonesResult":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

Information about the Availability Zones and Local Zones.

", + "locationName":"availabilityZoneInfo" + } + } + }, + "DescribeBundleTasksRequest":{ + "type":"structure", + "members":{ + "BundleIds":{ + "shape":"BundleIdStringList", + "documentation":"

The bundle task IDs.

Default: Describes all your bundle tasks.

", + "locationName":"BundleId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • bundle-id - The ID of the bundle task.

  • error-code - If the task failed, the error code returned.

  • error-message - If the task failed, the error message returned.

  • instance-id - The ID of the instance.

  • progress - The level of task completion, as a percentage (for example, 20%).

  • s3-bucket - The Amazon S3 bucket to store the AMI.

  • s3-prefix - The beginning of the AMI name.

  • start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

  • state - The state of the task (pending | waiting-for-shutdown | bundling | storing | cancelling | complete | failed).

  • update-time - The time of the most recent update for the task.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeBundleTasksResult":{ + "type":"structure", + "members":{ + "BundleTasks":{ + "shape":"BundleTaskList", + "documentation":"

Information about the bundle tasks.

", + "locationName":"bundleInstanceTasksSet" + } + } + }, + "DescribeByoipCidrsMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "DescribeByoipCidrsRequest":{ + "type":"structure", + "required":["MaxResults"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "MaxResults":{ + "shape":"DescribeByoipCidrsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeByoipCidrsResult":{ + "type":"structure", + "members":{ + "ByoipCidrs":{ + "shape":"ByoipCidrSet", + "documentation":"

Information about your address ranges.

", + "locationName":"byoipCidrSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeCapacityReservationsMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribeCapacityReservationsRequest":{ + "type":"structure", + "members":{ + "CapacityReservationIds":{ + "shape":"CapacityReservationIdSet", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"CapacityReservationId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeCapacityReservationsMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • instance-type - The type of instance for which the Capacity Reservation reserves capacity.

  • owner-id - The ID of the AWS account that owns the Capacity Reservation.

  • availability-zone-id - The Availability Zone ID of the Capacity Reservation.

  • instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

  • availability-zone - The Availability Zone ID of the Capacity Reservation.

  • tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the following tenancy settings:

    • default - The Capacity Reservation is created on hardware that is shared with other AWS accounts.

    • dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single AWS account.

  • state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

    • active- The Capacity Reservation is active and the capacity is available for your use.

    • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

    • cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no longer available for your use.

    • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

    • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

  • end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

  • end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

    • unlimited - The Capacity Reservation remains active until you explicitly cancel it.

    • limited - The Capacity Reservation expires automatically at a specified date and time.

  • instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

    • open - The Capacity Reservation accepts all instances that have matching attributes (instance type, platform, and Availability Zone). Instances that have matching attributes launch into the Capacity Reservation automatically without specifying any additional parameters.

    • targeted - The Capacity Reservation only accepts instances that have matching attributes (instance type, platform, and Availability Zone), and explicitly target the Capacity Reservation. This ensures that only permitted instances can use the reserved capacity.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeCapacityReservationsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "CapacityReservations":{ + "shape":"CapacityReservationSet", + "documentation":"

Information about the Capacity Reservations.

", + "locationName":"capacityReservationSet" + } + } + }, + "DescribeClassicLinkInstancesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClassicLinkInstancesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • group-id - The ID of a VPC security group that's associated with the instance.

  • instance-id - The ID of the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC to which the instance is linked.

    vpc-id - The ID of the VPC that the instance is linked to.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

", + "locationName":"InstanceId" + }, + "MaxResults":{ + "shape":"DescribeClassicLinkInstancesMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

Constraint: If the value is greater than 1000, we return only 1000 items.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "locationName":"nextToken" + } + } + }, + "DescribeClassicLinkInstancesResult":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"ClassicLinkInstanceList", + "documentation":"

Information about one or more linked EC2-Classic instances.

", + "locationName":"instancesSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnAuthorizationRulesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClientVpnAuthorizationRulesRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • description - The description of the authorization rule.

  • destination-cidr - The CIDR of the network to which the authorization rule applies.

  • group-id - The ID of the Active Directory group to which the authorization rule grants access.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DescribeClientVpnAuthorizationRulesMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + } + } + }, + "DescribeClientVpnAuthorizationRulesResult":{ + "type":"structure", + "members":{ + "AuthorizationRules":{ + "shape":"AuthorizationRuleSet", + "documentation":"

Information about the authorization rules.

", + "locationName":"authorizationRule" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnConnectionsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClientVpnConnectionsRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • connection-id - The ID of the connection.

  • username - For Active Directory client authentication, the user name of the client who established the client connection.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeClientVpnConnectionsMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeClientVpnConnectionsResult":{ + "type":"structure", + "members":{ + "Connections":{ + "shape":"ClientVpnConnectionSet", + "documentation":"

Information about the active and terminated client connections.

", + "locationName":"connections" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnEndpointMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClientVpnEndpointsRequest":{ + "type":"structure", + "members":{ + "ClientVpnEndpointIds":{ + "shape":"ClientVpnEndpointIdList", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"ClientVpnEndpointId" + }, + "MaxResults":{ + "shape":"DescribeClientVpnEndpointMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • endpoint-id - The ID of the Client VPN endpoint.

  • transport-protocol - The transport protocol (tcp | udp).

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeClientVpnEndpointsResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpoints":{ + "shape":"EndpointSet", + "documentation":"

Information about the Client VPN endpoints.

", + "locationName":"clientVpnEndpoint" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnRoutesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClientVpnRoutesRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • destination-cidr - The CIDR of the route destination.

  • origin - How the route was associated with the Client VPN endpoint (associate | add-route).

  • target-subnet - The ID of the subnet through which traffic is routed.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DescribeClientVpnRoutesMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeClientVpnRoutesResult":{ + "type":"structure", + "members":{ + "Routes":{ + "shape":"ClientVpnRouteSet", + "documentation":"

Information about the Client VPN endpoint routes.

", + "locationName":"routes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeClientVpnTargetNetworksMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeClientVpnTargetNetworksRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "AssociationIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the target network associations.

" + }, + "MaxResults":{ + "shape":"DescribeClientVpnTargetNetworksMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • association-id - The ID of the association.

  • target-network-id - The ID of the subnet specified as the target network.

  • vpc-id - The ID of the VPC in which the target network is located.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeClientVpnTargetNetworksResult":{ + "type":"structure", + "members":{ + "ClientVpnTargetNetworks":{ + "shape":"TargetNetworkSet", + "documentation":"

Information about the associated target networks.

", + "locationName":"clientVpnTargetNetworks" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeCoipPoolsRequest":{ + "type":"structure", + "members":{ + "PoolIds":{ + "shape":"CoipPoolIdSet", + "documentation":"

The IDs of the address pools.

", + "locationName":"PoolId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters. The following are the possible values:

  • coip-pool.pool-id

  • coip-pool.local-gateway-route-table-id

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"CoipPoolMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeCoipPoolsResult":{ + "type":"structure", + "members":{ + "CoipPools":{ + "shape":"CoipPoolSet", + "documentation":"

Information about the address pools.

", + "locationName":"coipPoolSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeConversionTaskList":{ + "type":"list", + "member":{ + "shape":"ConversionTask", + "locationName":"item" + } + }, + "DescribeConversionTasksRequest":{ + "type":"structure", + "members":{ + "ConversionTaskIds":{ + "shape":"ConversionIdStringList", + "documentation":"

The conversion task IDs.

", + "locationName":"conversionTaskId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeConversionTasksResult":{ + "type":"structure", + "members":{ + "ConversionTasks":{ + "shape":"DescribeConversionTaskList", + "documentation":"

Information about the conversion tasks.

", + "locationName":"conversionTasks" + } + } + }, + "DescribeCustomerGatewaysRequest":{ + "type":"structure", + "members":{ + "CustomerGatewayIds":{ + "shape":"CustomerGatewayIdStringList", + "documentation":"

One or more customer gateway IDs.

Default: Describes all your customer gateways.

", + "locationName":"CustomerGatewayId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).

  • customer-gateway-id - The ID of the customer gateway.

  • ip-address - The IP address of the customer gateway's Internet-routable external interface.

  • state - The state of the customer gateway (pending | available | deleting | deleted).

  • type - The type of customer gateway. Currently, the only supported type is ipsec.1.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DescribeCustomerGateways.

" + }, + "DescribeCustomerGatewaysResult":{ + "type":"structure", + "members":{ + "CustomerGateways":{ + "shape":"CustomerGatewayList", + "documentation":"

Information about one or more customer gateways.

", + "locationName":"customerGatewaySet" + } + }, + "documentation":"

Contains the output of DescribeCustomerGateways.

" + }, + "DescribeDhcpOptionsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeDhcpOptionsRequest":{ + "type":"structure", + "members":{ + "DhcpOptionsIds":{ + "shape":"DhcpOptionsIdStringList", + "documentation":"

The IDs of one or more DHCP options sets.

Default: Describes all your DHCP options sets.

", + "locationName":"DhcpOptionsId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • dhcp-options-id - The ID of a DHCP options set.

  • key - The key for one of the options (for example, domain-name).

  • value - The value for one of the options.

  • owner-id - The ID of the AWS account that owns the DHCP options set.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeDhcpOptionsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeDhcpOptionsResult":{ + "type":"structure", + "members":{ + "DhcpOptions":{ + "shape":"DhcpOptionsList", + "documentation":"

Information about one or more DHCP options sets.

", + "locationName":"dhcpOptionsSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeEgressOnlyInternetGatewaysMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, + "DescribeEgressOnlyInternetGatewaysRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "EgressOnlyInternetGatewayIds":{ + "shape":"EgressOnlyInternetGatewayIdList", + "documentation":"

One or more egress-only internet gateway IDs.

", + "locationName":"EgressOnlyInternetGatewayId" + }, + "MaxResults":{ + "shape":"DescribeEgressOnlyInternetGatewaysMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + } + } + }, + "DescribeEgressOnlyInternetGatewaysResult":{ + "type":"structure", + "members":{ + "EgressOnlyInternetGateways":{ + "shape":"EgressOnlyInternetGatewayList", + "documentation":"

Information about the egress-only internet gateways.

", + "locationName":"egressOnlyInternetGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeElasticGpusMaxResults":{ + "type":"integer", + "max":1000, + "min":10 + }, + "DescribeElasticGpusRequest":{ + "type":"structure", + "members":{ + "ElasticGpuIds":{ + "shape":"ElasticGpuIdSet", + "documentation":"

The Elastic Graphics accelerator IDs.

", + "locationName":"ElasticGpuId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • availability-zone - The Availability Zone in which the Elastic Graphics accelerator resides.

  • elastic-gpu-health - The status of the Elastic Graphics accelerator (OK | IMPAIRED).

  • elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).

  • elastic-gpu-type - The type of Elastic Graphics accelerator; for example, eg1.medium.

  • instance-id - The ID of the instance to which the Elastic Graphics accelerator is associated.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DescribeElasticGpusMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "DescribeElasticGpusResult":{ + "type":"structure", + "members":{ + "ElasticGpuSet":{ + "shape":"ElasticGpuSet", + "documentation":"

Information about the Elastic Graphics accelerators.

", + "locationName":"elasticGpuSet" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The total number of items to return. If the total number of items available is more than the value specified in max-items then a Next-Token will be provided in the output that you can use to resume pagination.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeExportImageTasksMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "DescribeExportImageTasksRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

", + "locationName":"Filter" + }, + "ExportImageTaskIds":{ + "shape":"ExportImageTaskIdList", + "documentation":"

The IDs of the export image tasks.

", + "locationName":"ExportImageTaskId" + }, + "MaxResults":{ + "shape":"DescribeExportImageTasksMaxResults", + "documentation":"

The maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that indicates the next page of results.

" + } + } + }, + "DescribeExportImageTasksResult":{ + "type":"structure", + "members":{ + "ExportImageTasks":{ + "shape":"ExportImageTaskList", + "documentation":"

Information about the export image tasks.

", + "locationName":"exportImageTaskSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeExportTasksRequest":{ + "type":"structure", + "members":{ + "ExportTaskIds":{ + "shape":"ExportTaskIdStringList", + "documentation":"

The export task IDs.

", + "locationName":"exportTaskId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

the filters for the export tasks.

", + "locationName":"Filter" + } + } + }, + "DescribeExportTasksResult":{ + "type":"structure", + "members":{ + "ExportTasks":{ + "shape":"ExportTaskList", + "documentation":"

Information about the export tasks.

", + "locationName":"exportTaskSet" + } + } + }, + "DescribeFastSnapshotRestoreSuccessItem":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "State":{ + "shape":"FastSnapshotRestoreStateCode", + "documentation":"

The state of fast snapshot restores.

", + "locationName":"state" + }, + "StateTransitionReason":{ + "shape":"String", + "documentation":"

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

", + "locationName":"stateTransitionReason" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the snapshot.

", + "locationName":"ownerId" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

The alias of the snapshot owner.

", + "locationName":"ownerAlias" + }, + "EnablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabling state.

", + "locationName":"enablingTime" + }, + "OptimizingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the optimizing state.

", + "locationName":"optimizingTime" + }, + "EnabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabled state.

", + "locationName":"enabledTime" + }, + "DisablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabling state.

", + "locationName":"disablingTime" + }, + "DisabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabled state.

", + "locationName":"disabledTime" + } + }, + "documentation":"

Describes fast snapshot restores for a snapshot.

" + }, + "DescribeFastSnapshotRestoreSuccessSet":{ + "type":"list", + "member":{ + "shape":"DescribeFastSnapshotRestoreSuccessItem", + "locationName":"item" + } + }, + "DescribeFastSnapshotRestoresMaxResults":{ + "type":"integer", + "max":200, + "min":0 + }, + "DescribeFastSnapshotRestoresRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters. The possible values are:

  • availability-zone: The Availability Zone of the snapshot.

  • owner-id: The ID of the AWS account that owns the snapshot.

  • snapshot-id: The ID of the snapshot.

  • state: The state of fast snapshot restores for the snapshot (enabling | optimizing | enabled | disabling | disabled).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DescribeFastSnapshotRestoresMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeFastSnapshotRestoresResult":{ + "type":"structure", + "members":{ + "FastSnapshotRestores":{ + "shape":"DescribeFastSnapshotRestoreSuccessSet", + "documentation":"

Information about the state of fast snapshot restores.

", + "locationName":"fastSnapshotRestoreSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeFleetError":{ + "type":"structure", + "members":{ + "LaunchTemplateAndOverrides":{ + "shape":"LaunchTemplateAndOverridesResponse", + "documentation":"

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

", + "locationName":"launchTemplateAndOverrides" + }, + "Lifecycle":{ + "shape":"InstanceLifecycle", + "documentation":"

Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

", + "locationName":"lifecycle" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

The error code that indicates why the instance could not be launched. For more information about error codes, see Error Codes.

", + "locationName":"errorCode" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message that describes why the instance could not be launched. For more information about error messages, see Error Codes.

", + "locationName":"errorMessage" + } + }, + "documentation":"

Describes the instances that could not be launched by the fleet.

" + }, + "DescribeFleetHistoryRequest":{ + "type":"structure", + "required":[ + "FleetId", + "StartTime" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "EventType":{ + "shape":"FleetEventType", + "documentation":"

The type of events to describe. By default, all events are described.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

" + } + } + }, + "DescribeFleetHistoryResult":{ + "type":"structure", + "members":{ + "HistoryRecords":{ + "shape":"HistoryRecordSet", + "documentation":"

Information about the events in the history of the EC2 Fleet.

", + "locationName":"historyRecordSet" + }, + "LastEvaluatedTime":{ + "shape":"DateTime", + "documentation":"

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more results, this value is not present.

", + "locationName":"lastEvaluatedTime" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC Fleet.

", + "locationName":"fleetId" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" + } + } + }, + "DescribeFleetInstancesRequest":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • instance-type - The instance type.

", + "locationName":"Filter" + } + } + }, + "DescribeFleetInstancesResult":{ + "type":"structure", + "members":{ + "ActiveInstances":{ + "shape":"ActiveInstanceSet", + "documentation":"

The running instances. This list is refreshed periodically and might be out of date.

", + "locationName":"activeInstanceSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

", + "locationName":"fleetId" + } + } + }, + "DescribeFleetsErrorSet":{ + "type":"list", + "member":{ + "shape":"DescribeFleetError", + "locationName":"item" + } + }, + "DescribeFleetsInstances":{ + "type":"structure", + "members":{ + "LaunchTemplateAndOverrides":{ + "shape":"LaunchTemplateAndOverridesResponse", + "documentation":"

The launch templates and overrides that were used for launching the instances. The values that you specify in the Overrides replace the values in the launch template.

", + "locationName":"launchTemplateAndOverrides" + }, + "Lifecycle":{ + "shape":"InstanceLifecycle", + "documentation":"

Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

", + "locationName":"lifecycle" + }, + "InstanceIds":{ + "shape":"InstanceIdsSet", + "documentation":"

The IDs of the instances.

", + "locationName":"instanceIds" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The value is Windows for Windows instances. Otherwise, the value is blank.

", + "locationName":"platform" + } + }, + "documentation":"

Describes the instances that were launched by the fleet.

" + }, + "DescribeFleetsInstancesSet":{ + "type":"list", + "member":{ + "shape":"DescribeFleetsInstances", + "locationName":"item" + } + }, + "DescribeFleetsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, + "FleetIds":{ + "shape":"FleetIdSet", + "documentation":"

The ID of the EC2 Fleets.

", + "locationName":"FleetId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment | pending-termination | fulfilled).

  • excess-capacity-termination-policy - Indicates whether to terminate running instances if the target capacity is decreased below the current EC2 Fleet size (true | false).

  • fleet-state - The state of the EC2 Fleet (submitted | active | deleted | failed | deleted-running | deleted-terminating | modifying).

  • replace-unhealthy-instances - Indicates whether EC2 Fleet should replace unhealthy instances (true | false).

  • type - The type of request (instant | request | maintain).

", + "locationName":"Filter" + } + } + }, + "DescribeFleetsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "Fleets":{ + "shape":"FleetSet", + "documentation":"

Information about the EC2 Fleets.

", + "locationName":"fleetSet" + } + } + }, + "DescribeFlowLogsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filter":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).

  • log-destination-type - The type of destination to which the flow log publishes data. Possible destination types include cloud-watch-logs and S3.

  • flow-log-id - The ID of the flow log.

  • log-group-name - The name of the log group.

  • resource-id - The ID of the VPC, subnet, or network interface.

  • traffic-type - The type of traffic (ACCEPT | REJECT | ALL).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

" + }, + "FlowLogIds":{ + "shape":"FlowLogIdList", + "documentation":"

One or more flow log IDs.

Constraint: Maximum of 1000 flow log IDs.

", + "locationName":"FlowLogId" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeFlowLogsResult":{ + "type":"structure", + "members":{ + "FlowLogs":{ + "shape":"FlowLogSet", + "documentation":"

Information about the flow logs.

", + "locationName":"flowLogSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeFpgaImageAttributeRequest":{ + "type":"structure", + "required":[ + "FpgaImageId", + "Attribute" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageId":{ + "shape":"FpgaImageId", + "documentation":"

The ID of the AFI.

" + }, + "Attribute":{ + "shape":"FpgaImageAttributeName", + "documentation":"

The AFI attribute.

" + } + } + }, + "DescribeFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "FpgaImageAttribute":{ + "shape":"FpgaImageAttribute", + "documentation":"

Information about the attribute.

", + "locationName":"fpgaImageAttribute" + } + } + }, + "DescribeFpgaImagesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeFpgaImagesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageIds":{ + "shape":"FpgaImageIdList", + "documentation":"

The AFI IDs.

", + "locationName":"FpgaImageId" + }, + "Owners":{ + "shape":"OwnerStringList", + "documentation":"

Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).

", + "locationName":"Owner" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • create-time - The creation time of the AFI.

  • fpga-image-id - The FPGA image identifier (AFI ID).

  • fpga-image-global-id - The global FPGA image identifier (AGFI ID).

  • name - The name of the AFI.

  • owner-id - The AWS account ID of the AFI owner.

  • product-code - The product code.

  • shell-version - The version of the AWS Shell that was used to create the bitstream.

  • state - The state of the AFI (pending | failed | available | unavailable).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • update-time - The time of the most recent update.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeFpgaImagesMaxResults", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "DescribeFpgaImagesResult":{ + "type":"structure", + "members":{ + "FpgaImages":{ + "shape":"FpgaImageList", + "documentation":"

Information about the FPGA images.

", + "locationName":"fpgaImageSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeHostReservationOfferingsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"FilterList", + "documentation":"

The filters.

  • instance-family - The instance family of the offering (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

" + }, + "MaxDuration":{ + "shape":"Integer", + "documentation":"

This is the maximum duration of the reservation to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 94608000 for three years.

" + }, + "MaxResults":{ + "shape":"DescribeHostReservationsMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + }, + "MinDuration":{ + "shape":"Integer", + "documentation":"

This is the minimum duration of the reservation you'd like to purchase, specified in seconds. Reservations are available in one-year and three-year terms. The number of seconds specified must be the number of seconds in a year (365x24x60x60) times one of the supported durations (1 or 3). For example, specify 31536000 for one year.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + }, + "OfferingId":{ + "shape":"OfferingId", + "documentation":"

The ID of the reservation offering.

" + } + } + }, + "DescribeHostReservationOfferingsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "OfferingSet":{ + "shape":"HostOfferingSet", + "documentation":"

Information about the offerings.

", + "locationName":"offeringSet" + } + } + }, + "DescribeHostReservationsMaxResults":{ + "type":"integer", + "max":500, + "min":5 + }, + "DescribeHostReservationsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"FilterList", + "documentation":"

The filters.

  • instance-family - The instance family (for example, m4).

  • payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).

  • state - The state of the reservation (payment-pending | payment-failed | active | retired).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

" + }, + "HostReservationIdSet":{ + "shape":"HostReservationIdSet", + "documentation":"

The host reservation IDs.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

" + } + } + }, + "DescribeHostReservationsResult":{ + "type":"structure", + "members":{ + "HostReservationSet":{ + "shape":"HostReservationSet", + "documentation":"

Details about the reservation's configuration.

", + "locationName":"hostReservationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeHostsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"FilterList", + "documentation":"

The filters.

  • auto-placement - Whether auto-placement is enabled or disabled (on | off).

  • availability-zone - The Availability Zone of the host.

  • client-token - The idempotency token that you provided when you allocated the host.

  • host-reservation-id - The ID of the reservation assigned to this host.

  • instance-type - The instance type size that the Dedicated Host is configured to support.

  • state - The allocation state of the Dedicated Host (available | under-assessment | permanent-failure | released | released-permanent-failure).

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"filter" + }, + "HostIds":{ + "shape":"RequestHostIdList", + "documentation":"

The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.

", + "locationName":"hostId" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

You cannot specify this parameter and the host IDs parameter in the same request.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "locationName":"nextToken" + } + } + }, + "DescribeHostsResult":{ + "type":"structure", + "members":{ + "Hosts":{ + "shape":"HostList", + "documentation":"

Information about the Dedicated Hosts.

", + "locationName":"hostSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeIamInstanceProfileAssociationsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeIamInstanceProfileAssociationsRequest":{ + "type":"structure", + "members":{ + "AssociationIds":{ + "shape":"AssociationIdList", + "documentation":"

The IAM instance profile associations.

", + "locationName":"AssociationId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • instance-id - The ID of the instance.

  • state - The state of the association (associating | associated | disassociating).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DescribeIamInstanceProfileAssociationsMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "DescribeIamInstanceProfileAssociationsResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociations":{ + "shape":"IamInstanceProfileAssociationSet", + "documentation":"

Information about the IAM instance profile associations.

", + "locationName":"iamInstanceProfileAssociationSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeIdFormatRequest":{ + "type":"structure", + "members":{ + "Resource":{ + "shape":"String", + "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

" + } + } + }, + "DescribeIdFormatResult":{ + "type":"structure", + "members":{ + "Statuses":{ + "shape":"IdFormatList", + "documentation":"

Information about the ID format for the resource.

", + "locationName":"statusSet" + } + } + }, + "DescribeIdentityIdFormatRequest":{ + "type":"structure", + "required":["PrincipalArn"], + "members":{ + "PrincipalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM role, IAM user, or the root user.

", + "locationName":"principalArn" + }, + "Resource":{ + "shape":"String", + "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

", + "locationName":"resource" + } + } + }, + "DescribeIdentityIdFormatResult":{ + "type":"structure", + "members":{ + "Statuses":{ + "shape":"IdFormatList", + "documentation":"

Information about the ID format for the resources.

", + "locationName":"statusSet" + } + } + }, + "DescribeImageAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "ImageId" + ], + "members":{ + "Attribute":{ + "shape":"ImageAttributeName", + "documentation":"

The AMI attribute.

Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DescribeImageAttribute.

" + }, + "DescribeImagesRequest":{ + "type":"structure", + "members":{ + "ExecutableUsers":{ + "shape":"ExecutableByStringList", + "documentation":"

Scopes the images by users with explicit launch permissions. Specify an AWS account ID, self (the sender of the request), or all (public AMIs).

", + "locationName":"ExecutableBy" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • architecture - The image architecture (i386 | x86_64 | arm64).

  • block-device-mapping.delete-on-termination - A Boolean value that indicates whether the Amazon EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.snapshot-id - The ID of the snapshot used for the EBS volume.

  • block-device-mapping.volume-size - The volume size of the EBS volume, in GiB.

  • block-device-mapping.volume-type - The volume type of the EBS volume (gp2 | io1 | st1 | sc1 | standard).

  • block-device-mapping.encrypted - A Boolean that indicates whether the EBS volume is encrypted.

  • description - The description of the image (provided during image creation).

  • ena-support - A Boolean that indicates whether enhanced networking with ENA is enabled.

  • hypervisor - The hypervisor type (ovm | xen).

  • image-id - The ID of the image.

  • image-type - The image type (machine | kernel | ramdisk).

  • is-public - A Boolean that indicates whether the image is public.

  • kernel-id - The kernel ID.

  • manifest-location - The location of the image manifest.

  • name - The name of the AMI (provided during image creation).

  • owner-alias - String value from an Amazon-maintained list (amazon | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The AWS account ID of the image owner.

  • platform - The platform. To only list Windows-based AMIs, use windows.

  • product-code - The product code.

  • product-code.type - The type of the product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • state - The state of the image (available | pending | failed).

  • state-reason-code - The reason code for the state change.

  • state-reason-message - The message for the state change.

  • sriov-net-support - A value of simple indicates that enhanced networking with the Intel 82599 VF interface is enabled.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • virtualization-type - The virtualization type (paravirtual | hvm).

", + "locationName":"Filter" + }, + "ImageIds":{ + "shape":"ImageIdStringList", + "documentation":"

The image IDs.

Default: Describes all images available to you.

", + "locationName":"ImageId" + }, + "Owners":{ + "shape":"OwnerStringList", + "documentation":"

Filters the images by the owner. Specify an AWS account ID, self (owner is the sender of the request), or an AWS owner alias (valid values are amazon | aws-marketplace | microsoft). Omitting this option returns all images for which you have launch permissions, regardless of ownership.

", + "locationName":"Owner" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeImagesResult":{ + "type":"structure", + "members":{ + "Images":{ + "shape":"ImageList", + "documentation":"

Information about the images.

", + "locationName":"imagesSet" + } + } + }, + "DescribeImportImageTasksRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Filter tasks using the task-state filter and one of the following values: active, completed, deleting, or deleted.

" + }, + "ImportTaskIds":{ + "shape":"ImportTaskIdList", + "documentation":"

The IDs of the import image tasks.

", + "locationName":"ImportTaskId" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token that indicates the next page of results.

" + } + } + }, + "DescribeImportImageTasksResult":{ + "type":"structure", + "members":{ + "ImportImageTasks":{ + "shape":"ImportImageTaskList", + "documentation":"

A list of zero or more import image tasks that are currently active or were completed or canceled in the previous 7 days.

", + "locationName":"importImageTaskSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeImportSnapshotTasksRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "ImportTaskIds":{ + "shape":"ImportSnapshotTaskIdList", + "documentation":"

A list of import snapshot task IDs.

", + "locationName":"ImportTaskId" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token that indicates the next page of results.

" + } + } + }, + "DescribeImportSnapshotTasksResult":{ + "type":"structure", + "members":{ + "ImportSnapshotTasks":{ + "shape":"ImportSnapshotTaskList", + "documentation":"

A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the previous 7 days.

", + "locationName":"importSnapshotTaskSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to get the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstanceAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "InstanceId" + ], + "members":{ + "Attribute":{ + "shape":"InstanceAttributeName", + "documentation":"

The instance attribute.

Note: The enaSupport attribute is not supported at this time.

", + "locationName":"attribute" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + } + } + }, + "DescribeInstanceCreditSpecificationsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeInstanceCreditSpecificationsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • instance-id - The ID of the instance.

", + "locationName":"Filter" + }, + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 1000 explicitly specified instance IDs.

", + "locationName":"InstanceId" + }, + "MaxResults":{ + "shape":"DescribeInstanceCreditSpecificationsMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeInstanceCreditSpecificationsResult":{ + "type":"structure", + "members":{ + "InstanceCreditSpecifications":{ + "shape":"InstanceCreditSpecificationList", + "documentation":"

Information about the credit option for CPU usage of an instance.

", + "locationName":"instanceCreditSpecificationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstanceEventNotificationAttributesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeInstanceEventNotificationAttributesResult":{ + "type":"structure", + "members":{ + "InstanceTagAttribute":{ + "shape":"InstanceTagNotificationAttribute", + "documentation":"

Information about the registered tag keys.

", + "locationName":"instanceTagAttribute" + } + } + }, + "DescribeInstanceStatusRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • availability-zone - The Availability Zone of the instance.

  • event.code - The code for the scheduled event (instance-reboot | system-reboot | system-maintenance | instance-retirement | instance-stop).

  • event.description - A description of the event.

  • event.instance-event-id - The ID of the event whose date and time you are modifying.

  • event.not-after - The latest end time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before - The earliest start time for the scheduled event (for example, 2014-09-15T17:15:20.000Z).

  • event.not-before-deadline - The deadline for starting the event (for example, 2014-09-15T17:15:20.000Z).

  • instance-state-code - The code for the instance state, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-status.reachability - Filters on instance status where the name is reachability (passed | failed | initializing | insufficient-data).

  • instance-status.status - The status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

  • system-status.reachability - Filters on system status where the name is reachability (passed | failed | initializing | insufficient-data).

  • system-status.status - The system status of the instance (ok | impaired | initializing | insufficient-data | not-applicable).

", + "locationName":"Filter" + }, + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The instance IDs.

Default: Describes all your instances.

Constraints: Maximum 100 explicitly specified instance IDs.

", + "locationName":"InstanceId" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "IncludeAllInstances":{ + "shape":"Boolean", + "documentation":"

When true, includes the health status for all instances. When false, includes the health status for running instances only.

Default: false

", + "locationName":"includeAllInstances" + } + } + }, + "DescribeInstanceStatusResult":{ + "type":"structure", + "members":{ + "InstanceStatuses":{ + "shape":"InstanceStatusList", + "documentation":"

Information about the status of the instances.

", + "locationName":"instanceStatusSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstanceTypeOfferingsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "LocationType":{ + "shape":"LocationType", + "documentation":"

The location type.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • location - This depends on the location type. For example, if the location type is region (default), the location is the Region code (for example, us-east-2.)

  • instance-type - The instance type.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DITOMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the next token value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeInstanceTypeOfferingsResult":{ + "type":"structure", + "members":{ + "InstanceTypeOfferings":{ + "shape":"InstanceTypeOfferingsList", + "documentation":"

The instance types offered.

", + "locationName":"instanceTypeOfferingSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstanceTypesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceTypes":{ + "shape":"RequestInstanceTypeList", + "documentation":"

The instance types. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"InstanceType" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive.

  • auto-recovery-supported - Indicates whether auto recovery is supported. (true | false)

  • bare-metal - Indicates whether it is a bare metal instance type. (true | false)

  • burstable-performance-supported - Indicates whether it is a burstable performance instance type. (true | false)

  • current-generation - Indicates whether this instance type is the latest generation instance type of an instance family. (true | false)

  • ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline throughput performance for an EBS-optimized instance type, in MBps.

  • ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

  • ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum throughput performance for an EBS-optimized instance type, in MBps.

  • ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage operations per second for an EBS-optimized instance type.

  • ebs-info.ebs-optimized-support - Indicates whether the instance type is EBS-optimized. (supported | unsupported | default)

  • ebs-info.encryption-support - Indicates whether EBS encryption is supported. (supported | unsupported)

  • free-tier-eligible - Indicates whether the instance type is eligible to use in the free tier. (true | false)

  • hibernation-supported - Indicates whether On-Demand hibernation is supported. (true | false)

  • hypervisor - The hypervisor used. (nitro | xen)

  • instance-storage-info.disk.count - The number of local disks.

  • instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in GB.

  • instance-storage-info.disk.type - The storage technology for the local instance storage disks. (hdd | ssd)

  • instance-storage-info.total-size-in-gb - The total amount of storage available from all local instance storage, in GB.

  • instance-storage-supported - Indicates whether the instance type has local instance storage. (true | false)

  • memory-info.size-in-mib - The memory size.

  • network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is supported or required. (required | supported | unsupported)

  • network-info.efa-supported - Indicates whether the instance type supports Elastic Fabric Adapter (EFA). (true | false)

  • network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per network interface.

  • network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per network interface.

  • network-info.ipv6-supported - Indicates whether the instance type supports IPv6. (true | false)

  • network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

  • network-info.network-performance - Describes the network performance.

  • processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

  • vcpu-info.default-cores - The default number of cores for the instance type.

  • vcpu-info.default-threads-per-core - The default number of threads per core for the instance type.

  • vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"DITMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the next token value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeInstanceTypesResult":{ + "type":"structure", + "members":{ + "InstanceTypes":{ + "shape":"InstanceTypeInfoList", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"instanceTypeSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstancesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • affinity - The affinity setting for an instance running on a Dedicated Host (default | host).

  • architecture - The instance architecture (i386 | x86_64 | arm64).

  • availability-zone - The Availability Zone of the instance.

  • block-device-mapping.attach-time - The attach time for an EBS volume mapped to the instance, for example, 2010-09-15T17:15:20.000Z.

  • block-device-mapping.delete-on-termination - A Boolean that indicates whether the EBS volume is deleted on instance termination.

  • block-device-mapping.device-name - The device name specified in the block device mapping (for example, /dev/sdh or xvdh).

  • block-device-mapping.status - The status for the EBS volume (attaching | attached | detaching | detached).

  • block-device-mapping.volume-id - The volume ID of the EBS volume.

  • client-token - The idempotency token you provided when you launched the instance.

  • dns-name - The public DNS name of the instance.

  • group-id - The ID of the security group for the instance. EC2-Classic only.

  • group-name - The name of the security group for the instance. EC2-Classic only.

  • hibernation-options.configured - A Boolean that indicates whether the instance is enabled for hibernation. A value of true means that the instance is enabled for hibernation.

  • host-id - The ID of the Dedicated Host on which the instance is running, if applicable.

  • hypervisor - The hypervisor type of the instance (ovm | xen). The value xen is used for both Xen and Nitro hypervisors.

  • iam-instance-profile.arn - The instance profile associated with the instance. Specified as an ARN.

  • image-id - The ID of the image used to launch the instance.

  • instance-id - The ID of the instance.

  • instance-lifecycle - Indicates whether this is a Spot Instance or a Scheduled Instance (spot | scheduled).

  • instance-state-code - The state of the instance, as a 16-bit unsigned integer. The high byte is used for internal purposes and should be ignored. The low byte is set based on the state represented. The valid values are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping), and 80 (stopped).

  • instance-state-name - The state of the instance (pending | running | shutting-down | terminated | stopping | stopped).

  • instance-type - The type of instance (for example, t2.micro).

  • instance.group-id - The ID of the security group for the instance.

  • instance.group-name - The name of the security group for the instance.

  • ip-address - The public IPv4 address of the instance.

  • kernel-id - The kernel ID.

  • key-name - The name of the key pair used when the instance was launched.

  • launch-index - When launching multiple instances, this is the index for the instance in the launch group (for example, 0, 1, 2, and so on).

  • launch-time - The time when the instance was launched.

  • metadata-options.http-tokens - The metadata request authorization state (optional | required)

  • metadata-options.http-put-response-hop-limit - The http metadata request put response hop limit (integer, possible values 1 to 64)

  • metadata-options.http-endpoint - Enable or disable metadata access on http endpoint (enabled | disabled)

  • monitoring-state - Indicates whether detailed monitoring is enabled (disabled | enabled).

  • network-interface.addresses.private-ip-address - The private IPv4 address associated with the network interface.

  • network-interface.addresses.primary - Specifies whether the IPv4 address of the network interface is the primary private IPv4 address.

  • network-interface.addresses.association.public-ip - The ID of the association of an Elastic IP address (IPv4) with a network interface.

  • network-interface.addresses.association.ip-owner-id - The owner ID of the private IPv4 address associated with the network interface.

  • network-interface.association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • network-interface.association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • network-interface.association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • network-interface.association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • network-interface.attachment.attachment-id - The ID of the interface attachment.

  • network-interface.attachment.instance-id - The ID of the instance to which the network interface is attached.

  • network-interface.attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • network-interface.attachment.device-index - The device index to which the network interface is attached.

  • network-interface.attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • network-interface.attachment.attach-time - The time that the network interface was attached to an instance.

  • network-interface.attachment.delete-on-termination - Specifies whether the attachment is deleted when an instance is terminated.

  • network-interface.availability-zone - The Availability Zone for the network interface.

  • network-interface.description - The description of the network interface.

  • network-interface.group-id - The ID of a security group associated with the network interface.

  • network-interface.group-name - The name of a security group associated with the network interface.

  • network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated with the network interface.

  • network-interface.mac-address - The MAC address of the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.owner-id - The ID of the owner of the network interface.

  • network-interface.private-dns-name - The private DNS name of the network interface.

  • network-interface.requester-id - The requester ID for the network interface.

  • network-interface.requester-managed - Indicates whether the network interface is being managed by AWS.

  • network-interface.status - The status of the network interface (available) | in-use).

  • network-interface.source-dest-check - Whether the network interface performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • network-interface.subnet-id - The ID of the subnet for the network interface.

  • network-interface.vpc-id - The ID of the VPC for the network interface.

  • owner-id - The AWS account ID of the instance owner.

  • placement-group-name - The name of the placement group for the instance.

  • placement-partition-number - The partition in which the instance is located.

  • platform - The platform. To list only Windows instances, use windows.

  • private-dns-name - The private IPv4 DNS name of the instance.

  • private-ip-address - The private IPv4 address of the instance.

  • product-code - The product code associated with the AMI used to launch the instance.

  • product-code.type - The type of product code (devpay | marketplace).

  • ramdisk-id - The RAM disk ID.

  • reason - The reason for the current state of the instance (for example, shows \"User Initiated [date]\" when you stop or terminate the instance). Similar to the state-reason-code filter.

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • reservation-id - The ID of the instance's reservation. A reservation ID is created any time you launch an instance. A reservation ID has a one-to-one relationship with an instance launch request, but can be associated with more than one instance if you launch multiple instances using the same launch request. For example, if you launch one instance, you get one reservation ID. If you launch ten instances using the same launch request, you also get one reservation ID.

  • root-device-name - The device name of the root device volume (for example, /dev/sda1).

  • root-device-type - The type of the root device volume (ebs | instance-store).

  • source-dest-check - Indicates whether the instance performs source/destination checking. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform network address translation (NAT) in your VPC.

  • spot-instance-request-id - The ID of the Spot Instance request.

  • state-reason-code - The reason code for the state change.

  • state-reason-message - A message that describes the state change.

  • subnet-id - The ID of the subnet for the instance.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

  • tenancy - The tenancy of an instance (dedicated | default | host).

  • virtualization-type - The virtualization type of the instance (paravirtual | hvm).

  • vpc-id - The ID of the VPC that the instance is running in.

", + "locationName":"Filter" + }, + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The instance IDs.

Default: Describes all your instances.

", + "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 5 and 1000. You cannot specify this parameter and the instance IDs parameter in the same call.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

", + "locationName":"nextToken" + } + } + }, + "DescribeInstancesResult":{ + "type":"structure", + "members":{ + "Reservations":{ + "shape":"ReservationList", + "documentation":"

Information about the reservations.

", + "locationName":"reservationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeInternetGatewaysMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeInternetGatewaysRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • attachment.state - The current state of the attachment between the gateway and the VPC (available). Present only if a VPC is attached.

  • attachment.vpc-id - The ID of an attached VPC.

  • internet-gateway-id - The ID of the Internet gateway.

  • owner-id - The ID of the AWS account that owns the internet gateway.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InternetGatewayIds":{ + "shape":"InternetGatewayIdList", + "documentation":"

One or more internet gateway IDs.

Default: Describes all your internet gateways.

", + "locationName":"internetGatewayId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeInternetGatewaysMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeInternetGatewaysResult":{ + "type":"structure", + "members":{ + "InternetGateways":{ + "shape":"InternetGatewayList", + "documentation":"

Information about one or more internet gateways.

", + "locationName":"internetGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeIpv6PoolsRequest":{ + "type":"structure", + "members":{ + "PoolIds":{ + "shape":"Ipv6PoolIdList", + "documentation":"

The IDs of the IPv6 address pools.

", + "locationName":"PoolId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"Ipv6PoolMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + } + } + }, + "DescribeIpv6PoolsResult":{ + "type":"structure", + "members":{ + "Ipv6Pools":{ + "shape":"Ipv6PoolSet", + "documentation":"

Information about the IPv6 address pools.

", + "locationName":"ipv6PoolSet" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeKeyPairsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • key-pair-id - The ID of the key pair.

  • fingerprint - The fingerprint of the key pair.

  • key-name - The name of the key pair.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

", + "locationName":"Filter" + }, + "KeyNames":{ + "shape":"KeyNameStringList", + "documentation":"

The key pair names.

Default: Describes all your key pairs.

", + "locationName":"KeyName" + }, + "KeyPairIds":{ + "shape":"KeyPairIdStringList", + "documentation":"

The IDs of the key pairs.

", + "locationName":"KeyPairId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeKeyPairsResult":{ + "type":"structure", + "members":{ + "KeyPairs":{ + "shape":"KeyPairList", + "documentation":"

Information about the key pairs.

", + "locationName":"keySet" + } + } + }, + "DescribeLaunchTemplateVersionsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "Versions":{ + "shape":"VersionStringList", + "documentation":"

One or more versions of the launch template.

", + "locationName":"LaunchTemplateVersion" + }, + "MinVersion":{ + "shape":"String", + "documentation":"

The version number after which to describe launch template versions.

" + }, + "MaxVersion":{ + "shape":"String", + "documentation":"

The version number up to which to describe launch template versions.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • create-time - The time the launch template version was created.

  • ebs-optimized - A boolean that indicates whether the instance is optimized for Amazon EBS I/O.

  • iam-instance-profile - The ARN of the IAM instance profile.

  • image-id - The ID of the AMI.

  • instance-type - The instance type.

  • is-default-version - A boolean that indicates whether the launch template version is the default version.

  • kernel-id - The kernel ID.

  • ram-disk-id - The RAM disk ID.

", + "locationName":"Filter" + } + } + }, + "DescribeLaunchTemplateVersionsResult":{ + "type":"structure", + "members":{ + "LaunchTemplateVersions":{ + "shape":"LaunchTemplateVersionSet", + "documentation":"

Information about the launch template versions.

", + "locationName":"launchTemplateVersionSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLaunchTemplatesMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, + "DescribeLaunchTemplatesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "LaunchTemplateIds":{ + "shape":"LaunchTemplateIdStringList", + "documentation":"

One or more launch template IDs.

", + "locationName":"LaunchTemplateId" + }, + "LaunchTemplateNames":{ + "shape":"LaunchTemplateNameStringList", + "documentation":"

One or more launch template names.

", + "locationName":"LaunchTemplateName" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • create-time - The time the launch template was created.

  • launch-template-name - The name of the launch template.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeLaunchTemplatesMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. This value can be between 1 and 200.

" + } + } + }, + "DescribeLaunchTemplatesResult":{ + "type":"structure", + "members":{ + "LaunchTemplates":{ + "shape":"LaunchTemplateSet", + "documentation":"

Information about the launch templates.

", + "locationName":"launchTemplates" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds":{ + "shape":"LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet", + "documentation":"

The IDs of the associations.

", + "locationName":"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-id - The ID of the local gateway route table.

  • local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

  • local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

  • state - The state of the association.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVirtualInterfaceGroupAssociations":{ + "shape":"LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet", + "documentation":"

Information about the associations.

", + "locationName":"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewayRouteTableVpcAssociationsRequest":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVpcAssociationIds":{ + "shape":"LocalGatewayRouteTableVpcAssociationIdSet", + "documentation":"

The IDs of the associations.

", + "locationName":"LocalGatewayRouteTableVpcAssociationId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-id - The ID of the local gateway route table.

  • local-gateway-route-table-vpc-association-id - The ID of the association.

  • state - The state of the association.

  • vpc-id - The ID of the VPC.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewayRouteTableVpcAssociationsResult":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVpcAssociations":{ + "shape":"LocalGatewayRouteTableVpcAssociationSet", + "documentation":"

Information about the associations.

", + "locationName":"localGatewayRouteTableVpcAssociationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewayRouteTablesRequest":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableIds":{ + "shape":"LocalGatewayRouteTableIdSet", + "documentation":"

The IDs of the local gateway route tables.

", + "locationName":"LocalGatewayRouteTableId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-id - The ID of a local gateway route table.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • state - The state of the local gateway route table.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewayRouteTablesResult":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTables":{ + "shape":"LocalGatewayRouteTableSet", + "documentation":"

Information about the local gateway route tables.

", + "locationName":"localGatewayRouteTableSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewayVirtualInterfaceGroupsRequest":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaceGroupIds":{ + "shape":"LocalGatewayVirtualInterfaceGroupIdSet", + "documentation":"

The IDs of the virtual interface groups.

", + "locationName":"LocalGatewayVirtualInterfaceGroupId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-virtual-interface-id - The ID of the virtual interface.

  • local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewayVirtualInterfaceGroupsResult":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaceGroups":{ + "shape":"LocalGatewayVirtualInterfaceGroupSet", + "documentation":"

The virtual interface groups.

", + "locationName":"localGatewayVirtualInterfaceGroupSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewayVirtualInterfacesRequest":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaceIds":{ + "shape":"LocalGatewayVirtualInterfaceIdSet", + "documentation":"

The IDs of the virtual interfaces.

", + "locationName":"LocalGatewayVirtualInterfaceId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewayVirtualInterfacesResult":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaces":{ + "shape":"LocalGatewayVirtualInterfaceSet", + "documentation":"

Information about the virtual interfaces.

", + "locationName":"localGatewayVirtualInterfaceSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeLocalGatewaysRequest":{ + "type":"structure", + "members":{ + "LocalGatewayIds":{ + "shape":"LocalGatewayIdSet", + "documentation":"

One or more filters.

  • local-gateway-id - The ID of a local gateway.

  • local-gateway-route-table-id - The ID of the local gateway route table.

  • local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

  • local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

  • outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

  • state - The state of the association.

", + "locationName":"LocalGatewayId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"LocalGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeLocalGatewaysResult":{ + "type":"structure", + "members":{ + "LocalGateways":{ + "shape":"LocalGatewaySet", + "documentation":"

Information about the local gateways.

", + "locationName":"localGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeMovingAddressesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeMovingAddressesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • moving-status - The status of the Elastic IP address (MovingToVpc | RestoringToClassic).

", + "locationName":"filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"DescribeMovingAddressesMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value outside of this range, an error is returned.

Default: If no value is provided, the default is 1000.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "locationName":"nextToken" + }, + "PublicIps":{ + "shape":"ValueStringList", + "documentation":"

One or more Elastic IP addresses.

", + "locationName":"publicIp" + } + } + }, + "DescribeMovingAddressesResult":{ + "type":"structure", + "members":{ + "MovingAddressStatuses":{ + "shape":"MovingAddressStatusSet", + "documentation":"

The status for each Elastic IP address.

", + "locationName":"movingAddressStatusSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeNatGatewaysMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeNatGatewaysRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filter":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • nat-gateway-id - The ID of the NAT gateway.

  • state - The state of the NAT gateway (pending | failed | available | deleting | deleted).

  • subnet-id - The ID of the subnet in which the NAT gateway resides.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC in which the NAT gateway resides.

" + }, + "MaxResults":{ + "shape":"DescribeNatGatewaysMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NatGatewayIds":{ + "shape":"NatGatewayIdStringList", + "documentation":"

One or more NAT gateway IDs.

", + "locationName":"NatGatewayId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeNatGatewaysResult":{ + "type":"structure", + "members":{ + "NatGateways":{ + "shape":"NatGatewayList", + "documentation":"

Information about the NAT gateways.

", + "locationName":"natGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeNetworkAclsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeNetworkAclsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • association.association-id - The ID of an association ID for the ACL.

  • association.network-acl-id - The ID of the network ACL involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • default - Indicates whether the ACL is the default network ACL for the VPC.

  • entry.cidr - The IPv4 CIDR range specified in the entry.

  • entry.icmp.code - The ICMP code specified in the entry, if any.

  • entry.icmp.type - The ICMP type specified in the entry, if any.

  • entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

  • entry.port-range.from - The start of the port range specified in the entry.

  • entry.port-range.to - The end of the port range specified in the entry.

  • entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

  • entry.rule-action - Allows or denies the matching traffic (allow | deny).

  • entry.rule-number - The number of an entry (in other words, rule) in the set of ACL entries.

  • network-acl-id - The ID of the network ACL.

  • owner-id - The ID of the AWS account that owns the network ACL.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network ACL.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkAclIds":{ + "shape":"NetworkAclIdStringList", + "documentation":"

One or more network ACL IDs.

Default: Describes all your network ACLs.

", + "locationName":"NetworkAclId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeNetworkAclsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeNetworkAclsResult":{ + "type":"structure", + "members":{ + "NetworkAcls":{ + "shape":"NetworkAclList", + "documentation":"

Information about one or more network ACLs.

", + "locationName":"networkAclSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeNetworkInterfaceAttributeRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "Attribute":{ + "shape":"NetworkInterfaceAttribute", + "documentation":"

The attribute of the network interface. This parameter is required.

", + "locationName":"attribute" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + }, + "documentation":"

Contains the parameters for DescribeNetworkInterfaceAttribute.

" + }, + "DescribeNetworkInterfaceAttributeResult":{ + "type":"structure", + "members":{ + "Attachment":{ + "shape":"NetworkInterfaceAttachment", + "documentation":"

The attachment (if any) of the network interface.

", + "locationName":"attachment" + }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

The description of the network interface.

", + "locationName":"description" + }, + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

The security groups associated with the network interface.

", + "locationName":"groupSet" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether source/destination checking is enabled.

", + "locationName":"sourceDestCheck" + } + }, + "documentation":"

Contains the output of DescribeNetworkInterfaceAttribute.

" + }, + "DescribeNetworkInterfacePermissionsMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, + "DescribeNetworkInterfacePermissionsRequest":{ + "type":"structure", + "members":{ + "NetworkInterfacePermissionIds":{ + "shape":"NetworkInterfacePermissionIdList", + "documentation":"

One or more network interface permission IDs.

", + "locationName":"NetworkInterfacePermissionId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • network-interface-permission.network-interface-permission-id - The ID of the permission.

  • network-interface-permission.network-interface-id - The ID of the network interface.

  • network-interface-permission.aws-account-id - The AWS account ID.

  • network-interface-permission.aws-service - The AWS service.

  • network-interface-permission.permission - The type of permission (INSTANCE-ATTACH | EIP-ASSOCIATE).

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeNetworkInterfacePermissionsMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

" + } + }, + "documentation":"

Contains the parameters for DescribeNetworkInterfacePermissions.

" + }, + "DescribeNetworkInterfacePermissionsResult":{ + "type":"structure", + "members":{ + "NetworkInterfacePermissions":{ + "shape":"NetworkInterfacePermissionList", + "documentation":"

The network interface permissions.

", + "locationName":"networkInterfacePermissions" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output for DescribeNetworkInterfacePermissions.

" + }, + "DescribeNetworkInterfacesMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeNetworkInterfacesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • addresses.private-ip-address - The private IPv4 addresses associated with the network interface.

  • addresses.primary - Whether the private IPv4 address is the primary IP address associated with the network interface.

  • addresses.association.public-ip - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).

  • addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

  • association.association-id - The association ID returned when the network interface was associated with an IPv4 address.

  • association.allocation-id - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.

  • association.ip-owner-id - The owner of the Elastic IP address (IPv4) associated with the network interface.

  • association.public-ip - The address of the Elastic IP address (IPv4) bound to the network interface.

  • association.public-dns-name - The public DNS name for the network interface (IPv4).

  • attachment.attachment-id - The ID of the interface attachment.

  • attachment.attach-time - The time that the network interface was attached to an instance.

  • attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

  • attachment.device-index - The device index to which the network interface is attached.

  • attachment.instance-id - The ID of the instance to which the network interface is attached.

  • attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

  • attachment.nat-gateway-id - The ID of the NAT gateway to which the network interface is attached.

  • attachment.status - The status of the attachment (attaching | attached | detaching | detached).

  • availability-zone - The Availability Zone of the network interface.

  • description - The description of the network interface.

  • group-id - The ID of a security group associated with the network interface.

  • group-name - The name of a security group associated with the network interface.

  • ipv6-addresses.ipv6-address - An IPv6 address associated with the network interface.

  • mac-address - The MAC address of the network interface.

  • network-interface-id - The ID of the network interface.

  • owner-id - The AWS account ID of the network interface owner.

  • private-ip-address - The private IPv4 address or addresses of the network interface.

  • private-dns-name - The private DNS name of the network interface (IPv4).

  • requester-id - The ID of the entity that launched the instance on your behalf (for example, AWS Management Console, Auto Scaling, and so on).

  • requester-managed - Indicates whether the network interface is being managed by an AWS service (for example, AWS Management Console, Auto Scaling, and so on).

  • source-dest-check - Indicates whether the network interface performs source/destination checking. A value of true means checking is enabled, and false means checking is disabled. The value must be false for the network interface to perform network address translation (NAT) in your VPC.

  • status - The status of the network interface. If the network interface is not attached to an instance, the status is available; if a network interface is attached to an instance the status is in-use.

  • subnet-id - The ID of the subnet for the network interface.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the network interface.

", + "locationName":"filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkInterfaceIds":{ + "shape":"NetworkInterfaceIdList", + "documentation":"

One or more network interface IDs.

Default: Describes all your network interfaces.

", + "locationName":"NetworkInterfaceId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeNetworkInterfacesMaxResults", + "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results. You cannot specify this parameter and the network interface IDs parameter in the same request.

" + } + }, + "documentation":"

Contains the parameters for DescribeNetworkInterfaces.

" + }, + "DescribeNetworkInterfacesResult":{ + "type":"structure", + "members":{ + "NetworkInterfaces":{ + "shape":"NetworkInterfaceList", + "documentation":"

Information about one or more network interfaces.

", + "locationName":"networkInterfaceSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeNetworkInterfaces.

" + }, + "DescribePlacementGroupsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • group-name - The name of the placement group.

  • state - The state of the placement group (pending | available | deleting | deleted).

  • strategy - The strategy of the placement group (cluster | spread | partition).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "GroupNames":{ + "shape":"PlacementGroupStringList", + "documentation":"

The names of the placement groups.

Default: Describes all your placement groups, or only those otherwise specified.

", + "locationName":"groupName" + }, + "GroupIds":{ + "shape":"PlacementGroupIdStringList", + "documentation":"

The IDs of the placement groups.

", + "locationName":"GroupId" + } + } + }, + "DescribePlacementGroupsResult":{ + "type":"structure", + "members":{ + "PlacementGroups":{ + "shape":"PlacementGroupList", + "documentation":"

Information about the placement groups.

", + "locationName":"placementGroupSet" + } + } + }, + "DescribePrefixListsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • prefix-list-id: The ID of a prefix list.

  • prefix-list-name: The name of a prefix list.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "PrefixListIds":{ + "shape":"PrefixListResourceIdStringList", + "documentation":"

One or more prefix list IDs.

", + "locationName":"PrefixListId" + } + } + }, + "DescribePrefixListsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "PrefixLists":{ + "shape":"PrefixListSet", + "documentation":"

All available prefix lists.

", + "locationName":"prefixListSet" + } + } + }, + "DescribePrincipalIdFormatMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribePrincipalIdFormatRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Resources":{ + "shape":"ResourceList", + "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | instance | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | reservation | route-table | route-table-association | security-group | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway

", + "locationName":"Resource" + }, + "MaxResults":{ + "shape":"DescribePrincipalIdFormatMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "DescribePrincipalIdFormatResult":{ + "type":"structure", + "members":{ + "Principals":{ + "shape":"PrincipalIdFormatList", + "documentation":"

Information about the ID format settings for the ARN.

", + "locationName":"principalSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribePublicIpv4PoolsRequest":{ + "type":"structure", + "members":{ + "PoolIds":{ + "shape":"PublicIpv4PoolIdStringList", + "documentation":"

The IDs of the address pools.

", + "locationName":"PoolId" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"PoolMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + } + } + }, + "DescribePublicIpv4PoolsResult":{ + "type":"structure", + "members":{ + "PublicIpv4Pools":{ + "shape":"PublicIpv4PoolSet", + "documentation":"

Information about the address pools.

", + "locationName":"publicIpv4PoolSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeRegionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

  • opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | not-opted-in).

  • region-name - The name of the Region (for example, us-east-1).

", + "locationName":"Filter" + }, + "RegionNames":{ + "shape":"RegionNameStringList", + "documentation":"

The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

", + "locationName":"RegionName" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "AllRegions":{ + "shape":"Boolean", + "documentation":"

Indicates whether to display all Regions, including Regions that are disabled for your account.

" + } + } + }, + "DescribeRegionsResult":{ + "type":"structure", + "members":{ + "Regions":{ + "shape":"RegionList", + "documentation":"

Information about the Regions.

", + "locationName":"regionInfo" + } + } + }, + "DescribeReservedInstancesListingsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • reserved-instances-id - The ID of the Reserved Instances.

  • reserved-instances-listing-id - The ID of the Reserved Instances listing.

  • status - The status of the Reserved Instance listing (pending | active | cancelled | closed).

  • status-message - The reason for the status.

", + "locationName":"Filter" + }, + "ReservedInstancesId":{ + "shape":"ReservationId", + "documentation":"

One or more Reserved Instance IDs.

", + "locationName":"reservedInstancesId" + }, + "ReservedInstancesListingId":{ + "shape":"ReservedInstancesListingId", + "documentation":"

One or more Reserved Instance listing IDs.

", + "locationName":"reservedInstancesListingId" + } + }, + "documentation":"

Contains the parameters for DescribeReservedInstancesListings.

" + }, + "DescribeReservedInstancesListingsResult":{ + "type":"structure", + "members":{ + "ReservedInstancesListings":{ + "shape":"ReservedInstancesListingList", + "documentation":"

Information about the Reserved Instance listing.

", + "locationName":"reservedInstancesListingsSet" + } + }, + "documentation":"

Contains the output of DescribeReservedInstancesListings.

" + }, + "DescribeReservedInstancesModificationsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • client-token - The idempotency token for the modification request.

  • create-date - The time when the modification request was created.

  • effective-date - The time when the modification becomes effective.

  • modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

  • modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

  • modification-result.target-configuration.instance-count - The number of new Reserved Instances.

  • modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

  • modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

  • reserved-instances-id - The ID of the Reserved Instances modified.

  • reserved-instances-modification-id - The ID of the modification request.

  • status - The status of the Reserved Instances modification request (processing | fulfilled | failed).

  • status-message - The reason for the status.

  • update-date - The time when the modification request was last updated.

", + "locationName":"Filter" + }, + "ReservedInstancesModificationIds":{ + "shape":"ReservedInstancesModificationIdStringList", + "documentation":"

IDs for the submitted modification request.

", + "locationName":"ReservedInstancesModificationId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the parameters for DescribeReservedInstancesModifications.

" + }, + "DescribeReservedInstancesModificationsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "ReservedInstancesModifications":{ + "shape":"ReservedInstancesModificationList", + "documentation":"

The Reserved Instance modification information.

", + "locationName":"reservedInstancesModificationsSet" + } + }, + "documentation":"

Contains the output of DescribeReservedInstancesModifications.

" + }, + "DescribeReservedInstancesOfferingsRequest":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the Reserved Instance can be used.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (for example, one year or three years), in seconds (31536000 | 94608000).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • marketplace - Set to true to show only Reserved Instance Marketplace offerings. When this filter is not used, which is the default behavior, all offerings from both AWS and the Reserved Instance Marketplace are listed.

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

  • reserved-instances-offering-id - The Reserved Instances offering ID.

  • scope - The scope of the Reserved Instance (Availability Zone or Region).

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", + "locationName":"Filter" + }, + "IncludeMarketplace":{ + "shape":"Boolean", + "documentation":"

Include Reserved Instance Marketplace offerings in the response.

" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type that the reservation will cover (for example, m1.small). For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + }, + "MaxDuration":{ + "shape":"Long", + "documentation":"

The maximum duration (in seconds) to filter when searching for offerings.

Default: 94608000 (3 years)

" + }, + "MaxInstanceCount":{ + "shape":"Integer", + "documentation":"

The maximum number of instances to filter when searching for offerings.

Default: 20

" + }, + "MinDuration":{ + "shape":"Long", + "documentation":"

The minimum duration (in seconds) to filter when searching for offerings.

Default: 2592000 (1 month)

" + }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

The offering class of the Reserved Instance. Can be standard or convertible.

" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The Reserved Instance product platform description. Instances that include (Amazon VPC) in the description are for use with Amazon VPC.

" + }, + "ReservedInstancesOfferingIds":{ + "shape":"ReservedInstancesOfferingIdStringList", + "documentation":"

One or more Reserved Instances offering IDs.

", + "locationName":"ReservedInstancesOfferingId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy of dedicated is applied to instances that run in a VPC on single-tenant hardware (i.e., Dedicated Instances).

Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

Default: default

", + "locationName":"instanceTenancy" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. The maximum is 100.

Default: 100

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

", + "locationName":"nextToken" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", + "locationName":"offeringType" + } + }, + "documentation":"

Contains the parameters for DescribeReservedInstancesOfferings.

" + }, + "DescribeReservedInstancesOfferingsResult":{ + "type":"structure", + "members":{ + "ReservedInstancesOfferings":{ + "shape":"ReservedInstancesOfferingList", + "documentation":"

A list of Reserved Instances offerings.

", + "locationName":"reservedInstancesOfferingsSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeReservedInstancesOfferings.

" + }, + "DescribeReservedInstancesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone where the Reserved Instance can be used.

  • duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

  • end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

  • fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

  • instance-type - The instance type that is covered by the reservation.

  • scope - The scope of the Reserved Instance (Region or Availability Zone).

  • product-description - The Reserved Instance product platform description. Instances that include (Amazon VPC) in the product platform description will only be displayed to EC2-Classic account holders and are for use with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).

  • reserved-instances-id - The ID of the Reserved Instance.

  • start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

  • state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

", + "locationName":"Filter" + }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

Describes whether the Reserved Instance is Standard or Convertible.

" + }, + "ReservedInstancesIds":{ + "shape":"ReservedInstancesIdStringList", + "documentation":"

One or more Reserved Instance IDs.

Default: Describes all your Reserved Instances, or only those otherwise specified.

", + "locationName":"ReservedInstancesId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API version, you only have access to the Medium Utilization Reserved Instance offering type.

", + "locationName":"offeringType" + } + }, + "documentation":"

Contains the parameters for DescribeReservedInstances.

" + }, + "DescribeReservedInstancesResult":{ + "type":"structure", + "members":{ + "ReservedInstances":{ + "shape":"ReservedInstancesList", + "documentation":"

A list of Reserved Instances.

", + "locationName":"reservedInstancesSet" + } + }, + "documentation":"

Contains the output for DescribeReservedInstances.

" + }, + "DescribeRouteTablesMaxResults":{ + "type":"integer", + "max":100, + "min":5 + }, + "DescribeRouteTablesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • association.route-table-association-id - The ID of an association ID for the route table.

  • association.route-table-id - The ID of the route table involved in the association.

  • association.subnet-id - The ID of the subnet involved in the association.

  • association.main - Indicates whether the route table is the main route table for the VPC (true | false). Route tables that do not have an association ID are not returned in the response.

  • owner-id - The ID of the AWS account that owns the route table.

  • route-table-id - The ID of the route table.

  • route.destination-cidr-block - The IPv4 CIDR range specified in a route in the table.

  • route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

  • route.destination-prefix-list-id - The ID (prefix) of the AWS service specified in a route in the table.

  • route.egress-only-internet-gateway-id - The ID of an egress-only Internet gateway specified in a route in the route table.

  • route.gateway-id - The ID of a gateway specified in a route in the table.

  • route.instance-id - The ID of an instance specified in a route in the table.

  • route.nat-gateway-id - The ID of a NAT gateway.

  • route.transit-gateway-id - The ID of a transit gateway.

  • route.origin - Describes how the route was created. CreateRouteTable indicates that the route was automatically created when the route table was created; CreateRoute indicates that the route was manually added to the route table; EnableVgwRoutePropagation indicates that the route was propagated by route propagation.

  • route.state - The state of a route in the route table (active | blackhole). The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, the specified NAT instance has been terminated, and so on).

  • route.vpc-peering-connection-id - The ID of a VPC peering connection specified in a route in the table.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • transit-gateway-id - The ID of a transit gateway.

  • vpc-id - The ID of the VPC for the route table.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableIds":{ + "shape":"RouteTableIdStringList", + "documentation":"

One or more route table IDs.

Default: Describes all your route tables.

", + "locationName":"RouteTableId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeRouteTablesMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeRouteTablesResult":{ + "type":"structure", + "members":{ + "RouteTables":{ + "shape":"RouteTableList", + "documentation":"

Information about one or more route tables.

", + "locationName":"routeTableSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeRouteTables.

" + }, + "DescribeScheduledInstanceAvailabilityMaxResults":{ + "type":"integer", + "max":300, + "min":5 + }, + "DescribeScheduledInstanceAvailabilityRequest":{ + "type":"structure", + "required":[ + "FirstSlotStartTimeRange", + "Recurrence" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "locationName":"Filter" + }, + "FirstSlotStartTimeRange":{ + "shape":"SlotDateTimeRangeRequest", + "documentation":"

The time period for the first schedule to start.

" + }, + "MaxResults":{ + "shape":"DescribeScheduledInstanceAvailabilityMaxResults", + "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 300. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "MaxSlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours and less than 1,720.

" + }, + "MinSlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, + "Recurrence":{ + "shape":"ScheduledInstanceRecurrenceRequest", + "documentation":"

The schedule recurrence.

" + } + }, + "documentation":"

Contains the parameters for DescribeScheduledInstanceAvailability.

" + }, + "DescribeScheduledInstanceAvailabilityResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "ScheduledInstanceAvailabilitySet":{ + "shape":"ScheduledInstanceAvailabilitySet", + "documentation":"

Information about the available Scheduled Instances.

", + "locationName":"scheduledInstanceAvailabilitySet" + } + }, + "documentation":"

Contains the output of DescribeScheduledInstanceAvailability.

" + }, + "DescribeScheduledInstancesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • availability-zone - The Availability Zone (for example, us-west-2a).

  • instance-type - The instance type (for example, c4.large).

  • network-platform - The network platform (EC2-Classic or EC2-VPC).

  • platform - The platform (Linux/UNIX or Windows).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 300. The default value is 100. To retrieve the remaining results, make another call with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

" + }, + "ScheduledInstanceIds":{ + "shape":"ScheduledInstanceIdRequestSet", + "documentation":"

The Scheduled Instance IDs.

", + "locationName":"ScheduledInstanceId" + }, + "SlotStartTimeRange":{ + "shape":"SlotStartTimeRangeRequest", + "documentation":"

The time period for the first schedule to start.

" + } + }, + "documentation":"

Contains the parameters for DescribeScheduledInstances.

" + }, + "DescribeScheduledInstancesResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "ScheduledInstanceSet":{ + "shape":"ScheduledInstanceSet", + "documentation":"

Information about the Scheduled Instances.

", + "locationName":"scheduledInstanceSet" + } + }, + "documentation":"

Contains the output of DescribeScheduledInstances.

" + }, + "DescribeSecurityGroupReferencesRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "GroupId":{ + "shape":"GroupIds", + "documentation":"

The IDs of the security groups in your account.

" + } + } + }, + "DescribeSecurityGroupReferencesResult":{ + "type":"structure", + "members":{ + "SecurityGroupReferenceSet":{ + "shape":"SecurityGroupReferences", + "documentation":"

Information about the VPCs with the referencing security groups.

", + "locationName":"securityGroupReferenceSet" + } + } + }, + "DescribeSecurityGroupsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeSecurityGroupsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

  • description - The description of the security group.

  • egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security group rule.

  • egress.ip-permission.from-port - For an outbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • egress.ip-permission.group-id - The ID of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.group-name - The name of a security group that has been referenced in an outbound security group rule.

  • egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound security group rule.

  • egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service to which a security group rule allows outbound access.

  • egress.ip-permission.protocol - The IP protocol for an outbound security group rule (tcp | udp | icmp or a protocol number).

  • egress.ip-permission.to-port - For an outbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • egress.ip-permission.user-id - The ID of an AWS account that has been referenced in an outbound security group rule.

  • group-id - The ID of the security group.

  • group-name - The name of the security group.

  • ip-permission.cidr - An IPv4 CIDR block for an inbound security group rule.

  • ip-permission.from-port - For an inbound rule, the start of port range for the TCP and UDP protocols, or an ICMP type number.

  • ip-permission.group-id - The ID of a security group that has been referenced in an inbound security group rule.

  • ip-permission.group-name - The name of a security group that has been referenced in an inbound security group rule.

  • ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security group rule.

  • ip-permission.prefix-list-id - The ID (prefix) of the AWS service from which a security group rule allows inbound access.

  • ip-permission.protocol - The IP protocol for an inbound security group rule (tcp | udp | icmp or a protocol number).

  • ip-permission.to-port - For an inbound rule, the end of port range for the TCP and UDP protocols, or an ICMP code.

  • ip-permission.user-id - The ID of an AWS account that has been referenced in an inbound security group rule.

  • owner-id - The AWS account ID of the owner of the security group.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC specified when the security group was created.

", + "locationName":"Filter" + }, + "GroupIds":{ + "shape":"GroupIdStringList", + "documentation":"

The IDs of the security groups. Required for security groups in a nondefault VPC.

Default: Describes all your security groups.

", + "locationName":"GroupId" + }, + "GroupNames":{ + "shape":"GroupNameStringList", + "documentation":"

[EC2-Classic and default VPC only] The names of the security groups. You can specify either the security group name or the security group ID. For security groups in a nondefault VPC, use the group-name filter to describe security groups by name.

Default: Describes all your security groups.

", + "locationName":"GroupName" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeSecurityGroupsMaxResults", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value. This value can be between 5 and 1000. If this parameter is not specified, then all results are returned.

" + } + } + }, + "DescribeSecurityGroupsResult":{ + "type":"structure", + "members":{ + "SecurityGroups":{ + "shape":"SecurityGroupList", + "documentation":"

Information about the security groups.

", + "locationName":"securityGroupInfo" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeSnapshotAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "SnapshotId" + ], + "members":{ + "Attribute":{ + "shape":"SnapshotAttributeName", + "documentation":"

The snapshot attribute you would like to view.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the EBS snapshot.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeSnapshotAttributeResult":{ + "type":"structure", + "members":{ + "CreateVolumePermissions":{ + "shape":"CreateVolumePermissionList", + "documentation":"

The users and groups that have the permissions for creating volumes from the snapshot.

", + "locationName":"createVolumePermission" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes.

", + "locationName":"productCodes" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the EBS snapshot.

", + "locationName":"snapshotId" + } + } + }, + "DescribeSnapshotsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • description - A description of the snapshot.

  • encrypted - Indicates whether the snapshot is encrypted (true | false)

  • owner-alias - Value from an Amazon-maintained list (amazon | self | all | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

  • owner-id - The ID of the AWS account that owns the snapshot.

  • progress - The progress of the snapshot, as a percentage (for example, 80%).

  • snapshot-id - The snapshot ID.

  • start-time - The time stamp when the snapshot was initiated.

  • status - The status of the snapshot (pending | completed | error).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The ID of the volume the snapshot is for.

  • volume-size - The size of the volume, in GiB.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of snapshot results returned by DescribeSnapshots in paginated output. When this parameter is used, DescribeSnapshots 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 DescribeSnapshots request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeSnapshots returns all results. You cannot specify this parameter and the snapshot IDs parameter in the same request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value returned from a previous paginated DescribeSnapshots 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.

" + }, + "OwnerIds":{ + "shape":"OwnerStringList", + "documentation":"

Describes the snapshots owned by these owners.

", + "locationName":"Owner" + }, + "RestorableByUserIds":{ + "shape":"RestorableByStringList", + "documentation":"

The IDs of the AWS accounts that can create volumes from the snapshot.

", + "locationName":"RestorableBy" + }, + "SnapshotIds":{ + "shape":"SnapshotIdStringList", + "documentation":"

The snapshot IDs.

Default: Describes the snapshots for which you have create volume permissions.

", + "locationName":"SnapshotId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeSnapshotsResult":{ + "type":"structure", + "members":{ + "Snapshots":{ + "shape":"SnapshotList", + "documentation":"

Information about the snapshots.

", + "locationName":"snapshotSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value to include in a future DescribeSnapshots request. When the results of a DescribeSnapshots 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.

", + "locationName":"nextToken" + } + } + }, + "DescribeSpotDatafeedSubscriptionRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DescribeSpotDatafeedSubscription.

" + }, + "DescribeSpotDatafeedSubscriptionResult":{ + "type":"structure", + "members":{ + "SpotDatafeedSubscription":{ + "shape":"SpotDatafeedSubscription", + "documentation":"

The Spot Instance data feed subscription.

", + "locationName":"spotDatafeedSubscription" + } + }, + "documentation":"

Contains the output of DescribeSpotDatafeedSubscription.

" + }, + "DescribeSpotFleetInstancesMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribeSpotFleetInstancesRequest":{ + "type":"structure", + "required":["SpotFleetRequestId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"DescribeSpotFleetInstancesMaxResults", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "SpotFleetRequestId":{ + "shape":"SpotFleetRequestId", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Contains the parameters for DescribeSpotFleetInstances.

" + }, + "DescribeSpotFleetInstancesResponse":{ + "type":"structure", + "members":{ + "ActiveInstances":{ + "shape":"ActiveInstanceSet", + "documentation":"

The running instances. This list is refreshed periodically and might be out of date.

", + "locationName":"activeInstanceSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Contains the output of DescribeSpotFleetInstances.

" + }, + "DescribeSpotFleetRequestHistoryMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribeSpotFleetRequestHistoryRequest":{ + "type":"structure", + "required":[ + "SpotFleetRequestId", + "StartTime" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

The type of events to describe. By default, all events are described.

", + "locationName":"eventType" + }, + "MaxResults":{ + "shape":"DescribeSpotFleetRequestHistoryMaxResults", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "SpotFleetRequestId":{ + "shape":"SpotFleetRequestId", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" + } + }, + "documentation":"

Contains the parameters for DescribeSpotFleetRequestHistory.

" + }, + "DescribeSpotFleetRequestHistoryResponse":{ + "type":"structure", + "members":{ + "HistoryRecords":{ + "shape":"HistoryRecords", + "documentation":"

Information about the events in the history of the Spot Fleet request.

", + "locationName":"historyRecordSet" + }, + "LastEvaluatedTime":{ + "shape":"DateTime", + "documentation":"

The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). All records up to this time were retrieved.

If nextToken indicates that there are more results, this value is not present.

", + "locationName":"lastEvaluatedTime" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" + } + }, + "documentation":"

Contains the output of DescribeSpotFleetRequestHistory.

" + }, + "DescribeSpotFleetRequestsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "SpotFleetRequestIds":{ + "shape":"SpotFleetRequestIdList", + "documentation":"

The IDs of the Spot Fleet requests.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Contains the parameters for DescribeSpotFleetRequests.

" + }, + "DescribeSpotFleetRequestsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "SpotFleetRequestConfigs":{ + "shape":"SpotFleetRequestConfigSet", + "documentation":"

Information about the configuration of your Spot Fleet.

", + "locationName":"spotFleetRequestConfigSet" + } + }, + "documentation":"

Contains the output of DescribeSpotFleetRequests.

" + }, + "DescribeSpotInstanceRequestsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone-group - The Availability Zone group.

  • create-time - The time stamp when the Spot Instance request was created.

  • fault-code - The fault code related to the request.

  • fault-message - The fault message related to the request.

  • instance-id - The ID of the instance that fulfilled the request.

  • launch-group - The Spot Instance launch group.

  • launch.block-device-mapping.delete-on-termination - Indicates whether the EBS volume is deleted on instance termination.

  • launch.block-device-mapping.device-name - The device name for the volume in the block device mapping (for example, /dev/sdh or xvdh).

  • launch.block-device-mapping.snapshot-id - The ID of the snapshot for the EBS volume.

  • launch.block-device-mapping.volume-size - The size of the EBS volume, in GiB.

  • launch.block-device-mapping.volume-type - The type of EBS volume: gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1for Cold HDD, or standard for Magnetic.

  • launch.group-id - The ID of the security group for the instance.

  • launch.group-name - The name of the security group for the instance.

  • launch.image-id - The ID of the AMI.

  • launch.instance-type - The type of instance (for example, m3.medium).

  • launch.kernel-id - The kernel ID.

  • launch.key-name - The name of the key pair the instance launched with.

  • launch.monitoring-enabled - Whether detailed monitoring is enabled for the Spot Instance.

  • launch.ramdisk-id - The RAM disk ID.

  • launched-availability-zone - The Availability Zone in which the request is launched.

  • network-interface.addresses.primary - Indicates whether the IP address is the primary private IP address.

  • network-interface.delete-on-termination - Indicates whether the network interface is deleted when the instance is terminated.

  • network-interface.description - A description of the network interface.

  • network-interface.device-index - The index of the device for the network interface attachment on the instance.

  • network-interface.group-id - The ID of the security group associated with the network interface.

  • network-interface.network-interface-id - The ID of the network interface.

  • network-interface.private-ip-address - The primary private IP address of the network interface.

  • network-interface.subnet-id - The ID of the subnet for the instance.

  • product-description - The product description associated with the instance (Linux/UNIX | Windows).

  • spot-instance-request-id - The Spot Instance request ID.

  • spot-price - The maximum hourly price for any Spot Instance launched to fulfill the request.

  • state - The state of the Spot Instance request (open | active | closed | cancelled | failed). Spot request status information can help you track your Amazon EC2 Spot Instance requests. For more information, see Spot Request Status in the Amazon EC2 User Guide for Linux Instances.

  • status-code - The short code describing the most recent evaluation of your Spot Instance request.

  • status-message - The message explaining the status of the Spot Instance request.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of Spot Instance request (one-time | persistent).

  • valid-from - The start date of the request.

  • valid-until - The end date of the request.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "SpotInstanceRequestIds":{ + "shape":"SpotInstanceRequestIdList", + "documentation":"

One or more Spot Instance request IDs.

", + "locationName":"SpotInstanceRequestId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next set of results. This value is null when there are no more results to return.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

" + } + }, + "documentation":"

Contains the parameters for DescribeSpotInstanceRequests.

" + }, + "DescribeSpotInstanceRequestsResult":{ + "type":"structure", + "members":{ + "SpotInstanceRequests":{ + "shape":"SpotInstanceRequestList", + "documentation":"

One or more Spot Instance requests.

", + "locationName":"spotInstanceRequestSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next set of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeSpotInstanceRequests.

" + }, + "DescribeSpotPriceHistoryRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone for which prices should be returned.

  • instance-type - The type of instance (for example, m3.medium).

  • product-description - The product description for the Spot price (Linux/UNIX | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon VPC) | Windows (Amazon VPC)).

  • spot-price - The Spot price. The value must match exactly (or use wildcards; greater than or less than comparison is not supported).

  • timestamp - The time stamp of the Spot price history, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?). Greater than or less than comparison is not supported.

", + "locationName":"Filter" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

Filters the results by the specified Availability Zone.

", + "locationName":"availabilityZone" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

The date and time, up to the current date, from which to stop retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"endTime" + }, + "InstanceTypes":{ + "shape":"InstanceTypeList", + "documentation":"

Filters the results by the specified instance types.

", + "locationName":"InstanceType" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. Specify a value between 1 and 1000. The default value is 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of results.

", + "locationName":"nextToken" + }, + "ProductDescriptions":{ + "shape":"ProductDescriptionList", + "documentation":"

Filters the results by the specified basic product descriptions.

", + "locationName":"ProductDescription" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The date and time, up to the past 90 days, from which to start retrieving the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"startTime" + } + }, + "documentation":"

Contains the parameters for DescribeSpotPriceHistory.

" + }, + "DescribeSpotPriceHistoryResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token required to retrieve the next set of results. This value is null or an empty string when there are no more results to return.

", + "locationName":"nextToken" + }, + "SpotPriceHistory":{ + "shape":"SpotPriceHistoryList", + "documentation":"

The historical Spot prices.

", + "locationName":"spotPriceHistorySet" + } + }, + "documentation":"

Contains the output of DescribeSpotPriceHistory.

" + }, + "DescribeStaleSecurityGroupsMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, + "DescribeStaleSecurityGroupsNextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "DescribeStaleSecurityGroupsRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "MaxResults":{ + "shape":"DescribeStaleSecurityGroupsMaxResults", + "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

" + }, + "NextToken":{ + "shape":"DescribeStaleSecurityGroupsNextToken", + "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + } + } + }, + "DescribeStaleSecurityGroupsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "locationName":"nextToken" + }, + "StaleSecurityGroupSet":{ + "shape":"StaleSecurityGroupSet", + "documentation":"

Information about the stale security groups.

", + "locationName":"staleSecurityGroupSet" + } + } + }, + "DescribeSubnetsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeSubnetsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • availability-zone - The Availability Zone for the subnet. You can also use availabilityZone as the filter name.

  • availability-zone-id - The ID of the Availability Zone for the subnet. You can also use availabilityZoneId as the filter name.

  • available-ip-address-count - The number of IPv4 addresses in the subnet that are available.

  • cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify must exactly match the subnet's CIDR block for information to be returned for the subnet. You can also use cidr or cidrBlock as the filter names.

  • default-for-az - Indicates whether this is the default subnet for the Availability Zone. You can also use defaultForAz as the filter name.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.association-id - An association ID for an IPv6 CIDR block associated with the subnet.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the subnet.

  • owner-id - The ID of the AWS account that owns the subnet.

  • state - The state of the subnet (pending | available).

  • subnet-arn - The Amazon Resource Name (ARN) of the subnet.

  • subnet-id - The ID of the subnet.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC for the subnet.

", + "locationName":"Filter" + }, + "SubnetIds":{ + "shape":"SubnetIdStringList", + "documentation":"

One or more subnet IDs.

Default: Describes all your subnets.

", + "locationName":"SubnetId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeSubnetsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeSubnetsResult":{ + "type":"structure", + "members":{ + "Subnets":{ + "shape":"SubnetList", + "documentation":"

Information about one or more subnets.

", + "locationName":"subnetSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTagsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • key - The tag key.

  • resource-id - The ID of the resource.

  • resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

  • tag:<key> - The key/value combination of the tag. For example, specify \"tag:Owner\" for the filter name and \"TeamA\" for the filter value to find resources with the tag \"Owner=TeamA\".

  • value - The tag value.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. This value can be between 5 and 1000. To retrieve the remaining results, make another call with the returned NextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

", + "locationName":"nextToken" + } + } + }, + "DescribeTagsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "Tags":{ + "shape":"TagDescriptionList", + "documentation":"

The tags.

", + "locationName":"tagSet" + } + } + }, + "DescribeTrafficMirrorFiltersRequest":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterIds":{ + "shape":"TrafficMirrorFilterIdList", + "documentation":"

The ID of the Traffic Mirror filter.

", + "locationName":"TrafficMirrorFilterId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • description: The Traffic Mirror filter description.

  • traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TrafficMirroringMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeTrafficMirrorFiltersResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilters":{ + "shape":"TrafficMirrorFilterSet", + "documentation":"

Information about one or more Traffic Mirror filters.

", + "locationName":"trafficMirrorFilterSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTrafficMirrorSessionsRequest":{ + "type":"structure", + "members":{ + "TrafficMirrorSessionIds":{ + "shape":"TrafficMirrorSessionIdList", + "documentation":"

The ID of the Traffic Mirror session.

", + "locationName":"TrafficMirrorSessionId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • description: The Traffic Mirror session description.

  • network-interface-id: The ID of the Traffic Mirror session network interface.

  • owner-id: The ID of the account that owns the Traffic Mirror session.

  • packet-length: The assigned number of packets to mirror.

  • session-number: The assigned session number.

  • traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

  • traffic-mirror-session-id: The ID of the Traffic Mirror session.

  • traffic-mirror-target-id: The ID of the Traffic Mirror target.

  • virtual-network-id: The virtual network ID of the Traffic Mirror session.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TrafficMirroringMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeTrafficMirrorSessionsResult":{ + "type":"structure", + "members":{ + "TrafficMirrorSessions":{ + "shape":"TrafficMirrorSessionSet", + "documentation":"

Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

", + "locationName":"trafficMirrorSessionSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTrafficMirrorTargetsRequest":{ + "type":"structure", + "members":{ + "TrafficMirrorTargetIds":{ + "shape":"TrafficMirrorTargetIdList", + "documentation":"

The ID of the Traffic Mirror targets.

", + "locationName":"TrafficMirrorTargetId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • description: The Traffic Mirror target description.

  • network-interface-id: The ID of the Traffic Mirror session network interface.

  • network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

  • owner-id: The ID of the account that owns the Traffic Mirror session.

  • traffic-mirror-target-id: The ID of the Traffic Mirror target.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TrafficMirroringMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + } + } + }, + "DescribeTrafficMirrorTargetsResult":{ + "type":"structure", + "members":{ + "TrafficMirrorTargets":{ + "shape":"TrafficMirrorTargetSet", + "documentation":"

Information about one or more Traffic Mirror targets.

", + "locationName":"trafficMirrorTargetSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. The value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewayAttachmentsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentIds":{ + "shape":"TransitGatewayAttachmentIdStringList", + "documentation":"

The IDs of the attachments.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • association.state - The state of the association (associating | associated | disassociating).

  • association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

  • resource-id - The ID of the resource.

  • resource-owner-id - The ID of the AWS account that owns the resource.

  • resource-type - The resource type (vpc | vpn).

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-owner-id - The ID of the AWS account that owns the transit gateway.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewayAttachmentsResult":{ + "type":"structure", + "members":{ + "TransitGatewayAttachments":{ + "shape":"TransitGatewayAttachmentList", + "documentation":"

Information about the attachments.

", + "locationName":"transitGatewayAttachments" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewayMulticastDomainsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainIds":{ + "shape":"TransitGatewayMulticastDomainIdStringList", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewayMulticastDomainsResult":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomains":{ + "shape":"TransitGatewayMulticastDomainList", + "documentation":"

Information about the transit gateway multicast domains.

", + "locationName":"transitGatewayMulticastDomains" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewayPeeringAttachmentsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentIds":{ + "shape":"TransitGatewayAttachmentIdStringList", + "documentation":"

One or more IDs of the transit gateway peering attachments.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • transit-gateway-attachment-id - The ID of the transit gateway attachment.

  • local-owner-id - The ID of your AWS account.

  • remote-owner-id - The ID of the AWS account in the remote Region that owns the transit gateway.

  • state - The state of the peering attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-id - The ID of the transit gateway.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewayPeeringAttachmentsResult":{ + "type":"structure", + "members":{ + "TransitGatewayPeeringAttachments":{ + "shape":"TransitGatewayPeeringAttachmentList", + "documentation":"

The transit gateway peering attachments.

", + "locationName":"transitGatewayPeeringAttachments" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewayRouteTablesRequest":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTableIds":{ + "shape":"TransitGatewayRouteTableIdStringList", + "documentation":"

The IDs of the transit gateway route tables.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • default-association-route-table - Indicates whether this is the default association route table for the transit gateway (true | false).

  • default-propagation-route-table - Indicates whether this is the default propagation route table for the transit gateway (true | false).

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-id - The ID of the transit gateway.

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewayRouteTablesResult":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTables":{ + "shape":"TransitGatewayRouteTableList", + "documentation":"

Information about the transit gateway route tables.

", + "locationName":"transitGatewayRouteTables" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewayVpcAttachmentsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentIds":{ + "shape":"TransitGatewayAttachmentIdStringList", + "documentation":"

The IDs of the attachments.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-attachment-id - The ID of the attachment.

  • transit-gateway-id - The ID of the transit gateway.

  • vpc-id - The ID of the VPC.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewayVpcAttachmentsResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachments":{ + "shape":"TransitGatewayVpcAttachmentList", + "documentation":"

Information about the VPC attachments.

", + "locationName":"transitGatewayVpcAttachments" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeTransitGatewaysRequest":{ + "type":"structure", + "members":{ + "TransitGatewayIds":{ + "shape":"TransitGatewayIdStringList", + "documentation":"

The IDs of the transit gateways.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • options.propagation-default-route-table-id - The ID of the default propagation route table.

  • options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

  • options.association-default-route-table-id - The ID of the default association route table.

  • options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

  • options.default-route-table-association - Indicates whether resource attachments are automatically associated with the default association route table (enable | disable).

  • options.default-route-table-propagation - Indicates whether resource attachments automatically propagate routes to the default propagation route table (enable | disable).

  • options.dns-support - Indicates whether DNS support is enabled (enable | disable).

  • options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

  • owner-id - The ID of the AWS account that owns the transit gateway.

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-id - The ID of the transit gateway.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DescribeTransitGatewaysResult":{ + "type":"structure", + "members":{ + "TransitGateways":{ + "shape":"TransitGatewayList", + "documentation":"

Information about the transit gateways.

", + "locationName":"transitGatewaySet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVolumeAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "VolumeId" + ], + "members":{ + "Attribute":{ + "shape":"VolumeAttributeName", + "documentation":"

The attribute of the volume. This parameter is required.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeVolumeAttributeResult":{ + "type":"structure", + "members":{ + "AutoEnableIO":{ + "shape":"AttributeBooleanValue", + "documentation":"

The state of autoEnableIO attribute.

", + "locationName":"autoEnableIO" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

A list of product codes.

", + "locationName":"productCodes" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" + } + } + }, + "DescribeVolumeStatusRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • action.code - The action code for the event (for example, enable-volume-io).

  • action.description - A description of the action.

  • action.event-id - The event ID associated with the action.

  • availability-zone - The Availability Zone of the instance.

  • event.description - A description of the event.

  • event.event-id - The event ID.

  • event.event-type - The event type (for io-enabled: passed | failed; for io-performance: io-performance:degraded | io-performance:severely-degraded | io-performance:stalled).

  • event.not-after - The latest end time for the event.

  • event.not-before - The earliest start time for the event.

  • volume-status.details-name - The cause for volume-status.status (io-enabled | io-performance).

  • volume-status.details-status - The status of volume-status.details-name (for io-enabled: passed | failed; for io-performance: normal | degraded | severely-degraded | stalled).

  • volume-status.status - The status of the volume (ok | impaired | warning | insufficient-data).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeVolumeStatus in paginated output. When this parameter is used, the request 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 request with the returned NextToken value. This value can be between 5 and 1000; if MaxResults is given a value larger than 1000, only 1000 results are returned. If this parameter is not used, then DescribeVolumeStatus returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value to include in a future DescribeVolumeStatus request. When the results of the 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.

" + }, + "VolumeIds":{ + "shape":"VolumeIdStringList", + "documentation":"

The IDs of the volumes.

Default: Describes all your volumes.

", + "locationName":"VolumeId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeVolumeStatusResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "VolumeStatuses":{ + "shape":"VolumeStatusList", + "documentation":"

Information about the status of the volumes.

", + "locationName":"volumeStatusSet" + } + } + }, + "DescribeVolumesModificationsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VolumeIds":{ + "shape":"VolumeIdStringList", + "documentation":"

The IDs of the volumes for which in-progress modifications will be described.

", + "locationName":"VolumeId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters. Supported filters: volume-id | modification-state | target-size | target-iops | target-volume-type | original-size | original-iops | original-volume-type | start-time | originalMultiAttachEnabled | targetMultiAttachEnabled.

", + "locationName":"Filter" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned by a previous paginated request.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results (up to a limit of 500) to be returned in a paginated request.

" + } + } + }, + "DescribeVolumesModificationsResult":{ + "type":"structure", + "members":{ + "VolumesModifications":{ + "shape":"VolumeModificationList", + "documentation":"

Information about the volume modifications.

", + "locationName":"volumeModificationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for pagination, null if there are no more results

", + "locationName":"nextToken" + } + } + }, + "DescribeVolumesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters.

  • attachment.attach-time - The time stamp when the attachment initiated.

  • attachment.delete-on-termination - Whether the volume is deleted on instance termination.

  • attachment.device - The device name specified in the block device mapping (for example, /dev/sda1).

  • attachment.instance-id - The ID of the instance the volume is attached to.

  • attachment.status - The attachment state (attaching | attached | detaching).

  • availability-zone - The Availability Zone in which the volume was created.

  • create-time - The time stamp when the volume was created.

  • encrypted - Indicates whether the volume is encrypted (true | false)

  • multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true | false)

  • fast-restored - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (true | false).

  • size - The size of the volume, in GiB.

  • snapshot-id - The snapshot from which the volume was created.

  • status - The status of the volume (creating | available | in-use | deleting | deleted | error).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • volume-id - The volume ID.

  • volume-type - The Amazon EBS volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", + "locationName":"Filter" + }, + "VolumeIds":{ + "shape":"VolumeIdStringList", + "documentation":"

The volume IDs.

", + "locationName":"VolumeId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of volume results returned by DescribeVolumes in paginated output. When this parameter is used, DescribeVolumes 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 DescribeVolumes request with the returned NextToken value. This value can be between 5 and 500; if MaxResults is given a value larger than 500, only 500 results are returned. If this parameter is not used, then DescribeVolumes returns all results. You cannot specify this parameter and the volume IDs parameter in the same request.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value returned from a previous paginated DescribeVolumes 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.

", + "locationName":"nextToken" + } + } + }, + "DescribeVolumesResult":{ + "type":"structure", + "members":{ + "Volumes":{ + "shape":"VolumeList", + "documentation":"

Information about the volumes.

", + "locationName":"volumeSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The NextToken value to include in a future DescribeVolumes request. When the results of a DescribeVolumes 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.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "VpcId" + ], + "members":{ + "Attribute":{ + "shape":"VpcAttributeName", + "documentation":"

The VPC attribute.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DescribeVpcAttributeResult":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "EnableDnsHostnames":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If this attribute is true, instances in the VPC get DNS hostnames; otherwise, they do not.

", + "locationName":"enableDnsHostnames" + }, + "EnableDnsSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether DNS resolution is enabled for the VPC. If this attribute is true, the Amazon DNS server resolves DNS hostnames for your instances to their corresponding IP addresses; otherwise, it does not.

", + "locationName":"enableDnsSupport" + } + } + }, + "DescribeVpcClassicLinkDnsSupportMaxResults":{ + "type":"integer", + "max":255, + "min":5 + }, + "DescribeVpcClassicLinkDnsSupportNextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "DescribeVpcClassicLinkDnsSupportRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"DescribeVpcClassicLinkDnsSupportMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"DescribeVpcClassicLinkDnsSupportNextToken", + "documentation":"

The token for the next page of results.

", + "locationName":"nextToken" + }, + "VpcIds":{ + "shape":"VpcClassicLinkIdList", + "documentation":"

One or more VPC IDs.

" + } + } + }, + "DescribeVpcClassicLinkDnsSupportResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"DescribeVpcClassicLinkDnsSupportNextToken", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "Vpcs":{ + "shape":"ClassicLinkDnsSupportList", + "documentation":"

Information about the ClassicLink DNS support status of the VPCs.

", + "locationName":"vpcs" + } + } + }, + "DescribeVpcClassicLinkRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • is-classic-link-enabled - Whether the VPC is enabled for ClassicLink (true | false).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcIds":{ + "shape":"VpcClassicLinkIdList", + "documentation":"

One or more VPCs for which you want to describe the ClassicLink status.

", + "locationName":"VpcId" + } + } + }, + "DescribeVpcClassicLinkResult":{ + "type":"structure", + "members":{ + "Vpcs":{ + "shape":"VpcClassicLinkList", + "documentation":"

The ClassicLink status of one or more VPCs.

", + "locationName":"vpcSet" + } + } + }, + "DescribeVpcEndpointConnectionNotificationsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ConnectionNotificationId":{ + "shape":"ConnectionNotificationId", + "documentation":"

The ID of the notification.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • connection-notification-arn - The ARN of the SNS topic for the notification.

  • connection-notification-id - The ID of the notification.

  • connection-notification-state - The state of the notification (Enabled | Disabled).

  • connection-notification-type - The type of notification (Topic).

  • service-id - The ID of the endpoint service.

  • vpc-endpoint-id - The ID of the VPC endpoint.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return in a single call. To retrieve the remaining results, make another request with the returned NextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to request the next page of results.

" + } + } + }, + "DescribeVpcEndpointConnectionNotificationsResult":{ + "type":"structure", + "members":{ + "ConnectionNotificationSet":{ + "shape":"ConnectionNotificationSet", + "documentation":"

One or more notifications.

", + "locationName":"connectionNotificationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcEndpointConnectionsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • service-id - The ID of the service.

  • vpc-endpoint-owner - The AWS account number of the owner of the endpoint.

  • vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed).

  • vpc-endpoint-id - The ID of the endpoint.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeVpcEndpointConnectionsResult":{ + "type":"structure", + "members":{ + "VpcEndpointConnections":{ + "shape":"VpcEndpointConnectionSet", + "documentation":"

Information about one or more VPC endpoint connections.

", + "locationName":"vpcEndpointConnectionSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcEndpointServiceConfigurationsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceIds":{ + "shape":"VpcEndpointServiceIdList", + "documentation":"

The IDs of one or more services.

", + "locationName":"ServiceId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • service-name - The name of the service.

  • service-id - The ID of the service.

  • service-state - The state of the service (Pending | Available | Deleting | Deleted | Failed).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeVpcEndpointServiceConfigurationsResult":{ + "type":"structure", + "members":{ + "ServiceConfigurations":{ + "shape":"ServiceConfigurationSet", + "documentation":"

Information about one or more services.

", + "locationName":"serviceConfigurationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcEndpointServicePermissionsRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the service.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • principal - The ARN of the principal.

  • principal-type - The principal type (All | Service | OrganizationUnit | Account | User | Role).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results of the initial request can be seen by sending another request with the returned NextToken value. This value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, only 1,000 results are returned.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + } + } + }, + "DescribeVpcEndpointServicePermissionsResult":{ + "type":"structure", + "members":{ + "AllowedPrincipals":{ + "shape":"AllowedPrincipalSet", + "documentation":"

Information about one or more allowed principals.

", + "locationName":"allowedPrincipals" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcEndpointServicesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceNames":{ + "shape":"ValueStringList", + "documentation":"

One or more service names.

", + "locationName":"ServiceName" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • service-name - The name of the service.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + } + }, + "documentation":"

Contains the parameters for DescribeVpcEndpointServices.

" + }, + "DescribeVpcEndpointServicesResult":{ + "type":"structure", + "members":{ + "ServiceNames":{ + "shape":"ValueStringList", + "documentation":"

A list of supported services.

", + "locationName":"serviceNameSet" + }, + "ServiceDetails":{ + "shape":"ServiceDetailSet", + "documentation":"

Information about the service.

", + "locationName":"serviceDetailSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeVpcEndpointServices.

" + }, + "DescribeVpcEndpointsRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VpcEndpointIds":{ + "shape":"VpcEndpointIdList", + "documentation":"

One or more endpoint IDs.

", + "locationName":"VpcEndpointId" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • service-name - The name of the service.

  • vpc-id - The ID of the VPC in which the endpoint resides.

  • vpc-endpoint-id - The ID of the endpoint.

  • vpc-endpoint-state - The state of the endpoint (pendingAcceptance | pending | available | deleting | deleted | rejected | failed).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

Constraint: If the value is greater than 1,000, we return only 1,000 items.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next set of items to return. (You received this token from a prior call.)

" + } + }, + "documentation":"

Contains the parameters for DescribeVpcEndpoints.

" + }, + "DescribeVpcEndpointsResult":{ + "type":"structure", + "members":{ + "VpcEndpoints":{ + "shape":"VpcEndpointSet", + "documentation":"

Information about the endpoints.

", + "locationName":"vpcEndpointSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

", + "locationName":"nextToken" + } + }, + "documentation":"

Contains the output of DescribeVpcEndpoints.

" + }, + "DescribeVpcPeeringConnectionsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeVpcPeeringConnectionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.

  • accepter-vpc-info.owner-id - The AWS account ID of the owner of the accepter VPC.

  • accepter-vpc-info.vpc-id - The ID of the accepter VPC.

  • expiration-time - The expiration date and time for the VPC peering connection.

  • requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's VPC.

  • requester-vpc-info.owner-id - The AWS account ID of the owner of the requester VPC.

  • requester-vpc-info.vpc-id - The ID of the requester VPC.

  • status-code - The status of the VPC peering connection (pending-acceptance | failed | expired | provisioning | active | deleting | deleted | rejected).

  • status-message - A message that provides more information about the status of the VPC peering connection, if applicable.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-peering-connection-id - The ID of the VPC peering connection.

", + "locationName":"Filter" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcPeeringConnectionIds":{ + "shape":"VpcPeeringConnectionIdList", + "documentation":"

One or more VPC peering connection IDs.

Default: Describes all your VPC peering connections.

", + "locationName":"VpcPeeringConnectionId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeVpcPeeringConnectionsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeVpcPeeringConnectionsResult":{ + "type":"structure", + "members":{ + "VpcPeeringConnections":{ + "shape":"VpcPeeringConnectionList", + "documentation":"

Information about the VPC peering connections.

", + "locationName":"vpcPeeringConnectionSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpcsMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "DescribeVpcsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify must exactly match the VPC's CIDR block for information to be returned for the VPC. Must contain the slash followed by one or two digits (for example, /28).

  • cidr-block-association.cidr-block - An IPv4 CIDR block associated with the VPC.

  • cidr-block-association.association-id - The association ID for an IPv4 CIDR block associated with the VPC.

  • cidr-block-association.state - The state of an IPv4 CIDR block associated with the VPC.

  • dhcp-options-id - The ID of a set of DHCP options.

  • ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

  • ipv6-cidr-block-association.association-id - The association ID for an IPv6 CIDR block associated with the VPC.

  • ipv6-cidr-block-association.state - The state of an IPv6 CIDR block associated with the VPC.

  • isDefault - Indicates whether the VPC is the default VPC.

  • owner-id - The ID of the AWS account that owns the VPC.

  • state - The state of the VPC (pending | available).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • vpc-id - The ID of the VPC.

", + "locationName":"Filter" + }, + "VpcIds":{ + "shape":"VpcIdStringList", + "documentation":"

One or more VPC IDs.

Default: Describes all your VPCs.

", + "locationName":"VpcId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"DescribeVpcsMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + } + } + }, + "DescribeVpcsResult":{ + "type":"structure", + "members":{ + "Vpcs":{ + "shape":"VpcList", + "documentation":"

Information about one or more VPCs.

", + "locationName":"vpcSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "DescribeVpnConnectionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • customer-gateway-configuration - The configuration information for the customer gateway.

  • customer-gateway-id - The ID of a customer gateway associated with the VPN connection.

  • state - The state of the VPN connection (pending | available | deleting | deleted).

  • option.static-routes-only - Indicates whether the connection has static routes only. Used for devices that do not support Border Gateway Protocol (BGP).

  • route.destination-cidr-block - The destination CIDR block. This corresponds to the subnet used in a customer data center.

  • bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP device.

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of VPN connection. Currently the only supported type is ipsec.1.

  • vpn-connection-id - The ID of the VPN connection.

  • vpn-gateway-id - The ID of a virtual private gateway associated with the VPN connection.

  • transit-gateway-id - The ID of a transit gateway associated with the VPN connection.

", + "locationName":"Filter" + }, + "VpnConnectionIds":{ + "shape":"VpnConnectionIdStringList", + "documentation":"

One or more VPN connection IDs.

Default: Describes your VPN connections.

", + "locationName":"VpnConnectionId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DescribeVpnConnections.

" + }, + "DescribeVpnConnectionsResult":{ + "type":"structure", + "members":{ + "VpnConnections":{ + "shape":"VpnConnectionList", + "documentation":"

Information about one or more VPN connections.

", + "locationName":"vpnConnectionSet" + } + }, + "documentation":"

Contains the output of DescribeVpnConnections.

" + }, + "DescribeVpnGatewaysRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

  • amazon-side-asn - The Autonomous System Number (ASN) for the Amazon side of the gateway.

  • attachment.state - The current state of the attachment between the gateway and the VPC (attaching | attached | detaching | detached).

  • attachment.vpc-id - The ID of an attached VPC.

  • availability-zone - The Availability Zone for the virtual private gateway (if applicable).

  • state - The state of the virtual private gateway (pending | available | deleting | deleted).

  • tag:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

  • tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

  • type - The type of virtual private gateway. Currently the only supported type is ipsec.1.

  • vpn-gateway-id - The ID of the virtual private gateway.

", + "locationName":"Filter" + }, + "VpnGatewayIds":{ + "shape":"VpnGatewayIdStringList", + "documentation":"

One or more virtual private gateway IDs.

Default: Describes all your virtual private gateways.

", + "locationName":"VpnGatewayId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DescribeVpnGateways.

" + }, + "DescribeVpnGatewaysResult":{ + "type":"structure", + "members":{ + "VpnGateways":{ + "shape":"VpnGatewayList", + "documentation":"

Information about one or more virtual private gateways.

", + "locationName":"vpnGatewaySet" + } + }, + "documentation":"

Contains the output of DescribeVpnGateways.

" + }, + "DetachClassicLinkVpcRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "VpcId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance to unlink from the VPC.

", + "locationName":"instanceId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC to which the instance is linked.

", + "locationName":"vpcId" + } + } + }, + "DetachClassicLinkVpcResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "DetachInternetGatewayRequest":{ + "type":"structure", + "required":[ + "InternetGatewayId", + "VpcId" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InternetGatewayId":{ + "shape":"InternetGatewayId", + "documentation":"

The ID of the internet gateway.

", + "locationName":"internetGatewayId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "DetachNetworkInterfaceRequest":{ + "type":"structure", + "required":["AttachmentId"], + "members":{ + "AttachmentId":{ + "shape":"NetworkInterfaceAttachmentId", + "documentation":"

The ID of the attachment.

", + "locationName":"attachmentId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Specifies whether to force a detachment.

  • Use the Force parameter only as a last resort to detach a network interface from a failed instance.

  • If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

  • If you force the detachment of a network interface, the instance metadata might not get updated. This means that the attributes associated with the detached network interface might still be visible. The instance metadata will get updated when you stop and start the instance.

", + "locationName":"force" + } + }, + "documentation":"

Contains the parameters for DetachNetworkInterface.

" + }, + "DetachVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "Device":{ + "shape":"String", + "documentation":"

The device name.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Forces detachment if the previous detachment attempt did not occur cleanly (for example, logging into an instance, unmounting the volume, and detaching normally). This option can lead to data loss or a corrupted file system. Use this option only as a last resort to detach a volume from a failed instance. The instance won't have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DetachVpnGatewayRequest":{ + "type":"structure", + "required":[ + "VpcId", + "VpnGatewayId" + ], + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "VpnGatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for DetachVpnGateway.

" + }, + "DeviceType":{ + "type":"string", + "enum":[ + "ebs", + "instance-store" + ] + }, + "DhcpConfiguration":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The name of a DHCP option.

", + "locationName":"key" + }, + "Values":{ + "shape":"DhcpConfigurationValueList", + "documentation":"

One or more values for the DHCP option.

", + "locationName":"valueSet" + } + }, + "documentation":"

Describes a DHCP configuration option.

" + }, + "DhcpConfigurationList":{ + "type":"list", + "member":{ + "shape":"DhcpConfiguration", + "locationName":"item" + } + }, + "DhcpConfigurationValueList":{ + "type":"list", + "member":{ + "shape":"AttributeValue", + "locationName":"item" + } + }, + "DhcpOptions":{ + "type":"structure", + "members":{ + "DhcpConfigurations":{ + "shape":"DhcpConfigurationList", + "documentation":"

One or more DHCP options in the set.

", + "locationName":"dhcpConfigurationSet" + }, + "DhcpOptionsId":{ + "shape":"String", + "documentation":"

The ID of the set of DHCP options.

", + "locationName":"dhcpOptionsId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the DHCP options set.

", + "locationName":"ownerId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the DHCP options set.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a set of DHCP options.

" + }, + "DhcpOptionsId":{"type":"string"}, + "DhcpOptionsIdStringList":{ + "type":"list", + "member":{ + "shape":"DhcpOptionsId", + "locationName":"DhcpOptionsId" + } + }, + "DhcpOptionsList":{ + "type":"list", + "member":{ + "shape":"DhcpOptions", + "locationName":"item" + } + }, + "DirectoryServiceAuthentication":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory used for authentication.

", + "locationName":"directoryId" + } + }, + "documentation":"

Describes an Active Directory.

" + }, + "DirectoryServiceAuthenticationRequest":{ + "type":"structure", + "members":{ + "DirectoryId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory to be used for authentication.

" + } + }, + "documentation":"

Describes the Active Directory to be used for client authentication.

" + }, + "DisableEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisableEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

The updated status of encryption by default.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, + "DisableFastSnapshotRestoreErrorItem":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "FastSnapshotRestoreStateErrors":{ + "shape":"DisableFastSnapshotRestoreStateErrorSet", + "documentation":"

The errors.

", + "locationName":"fastSnapshotRestoreStateErrorSet" + } + }, + "documentation":"

Contains information about the errors that occurred when disabling fast snapshot restores.

" + }, + "DisableFastSnapshotRestoreErrorSet":{ + "type":"list", + "member":{ + "shape":"DisableFastSnapshotRestoreErrorItem", + "locationName":"item" + } + }, + "DisableFastSnapshotRestoreStateError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes an error that occurred when disabling fast snapshot restores.

" + }, + "DisableFastSnapshotRestoreStateErrorItem":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "Error":{ + "shape":"DisableFastSnapshotRestoreStateError", + "documentation":"

The error.

", + "locationName":"error" + } + }, + "documentation":"

Contains information about an error that occurred when disabling fast snapshot restores.

" + }, + "DisableFastSnapshotRestoreStateErrorSet":{ + "type":"list", + "member":{ + "shape":"DisableFastSnapshotRestoreStateErrorItem", + "locationName":"item" + } + }, + "DisableFastSnapshotRestoreSuccessItem":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "State":{ + "shape":"FastSnapshotRestoreStateCode", + "documentation":"

The state of fast snapshot restores for the snapshot.

", + "locationName":"state" + }, + "StateTransitionReason":{ + "shape":"String", + "documentation":"

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

", + "locationName":"stateTransitionReason" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the snapshot.

", + "locationName":"ownerId" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

The alias of the snapshot owner.

", + "locationName":"ownerAlias" + }, + "EnablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabling state.

", + "locationName":"enablingTime" + }, + "OptimizingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the optimizing state.

", + "locationName":"optimizingTime" + }, + "EnabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabled state.

", + "locationName":"enabledTime" + }, + "DisablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabling state.

", + "locationName":"disablingTime" + }, + "DisabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabled state.

", + "locationName":"disabledTime" + } + }, + "documentation":"

Describes fast snapshot restores that were successfully disabled.

" + }, + "DisableFastSnapshotRestoreSuccessSet":{ + "type":"list", + "member":{ + "shape":"DisableFastSnapshotRestoreSuccessItem", + "locationName":"item" + } + }, + "DisableFastSnapshotRestoresRequest":{ + "type":"structure", + "required":[ + "AvailabilityZones", + "SourceSnapshotIds" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZoneStringList", + "documentation":"

One or more Availability Zones. For example, us-east-2a.

", + "locationName":"AvailabilityZone" + }, + "SourceSnapshotIds":{ + "shape":"SnapshotIdStringList", + "documentation":"

The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

", + "locationName":"SourceSnapshotId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisableFastSnapshotRestoresResult":{ + "type":"structure", + "members":{ + "Successful":{ + "shape":"DisableFastSnapshotRestoreSuccessSet", + "documentation":"

Information about the snapshots for which fast snapshot restores were successfully disabled.

", + "locationName":"successful" + }, + "Unsuccessful":{ + "shape":"DisableFastSnapshotRestoreErrorSet", + "documentation":"

Information about the snapshots for which fast snapshot restores could not be disabled.

", + "locationName":"unsuccessful" + } + } + }, + "DisableTransitGatewayRouteTablePropagationRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "TransitGatewayAttachmentId" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the propagation route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisableTransitGatewayRouteTablePropagationResult":{ + "type":"structure", + "members":{ + "Propagation":{ + "shape":"TransitGatewayPropagation", + "documentation":"

Information about route propagation.

", + "locationName":"propagation" + } + } + }, + "DisableVgwRoutePropagationRequest":{ + "type":"structure", + "required":[ + "GatewayId", + "RouteTableId" + ], + "members":{ + "GatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway.

" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "documentation":"

Contains the parameters for DisableVgwRoutePropagation.

" + }, + "DisableVpcClassicLinkDnsSupportRequest":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + } + } + }, + "DisableVpcClassicLinkDnsSupportResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "DisableVpcClassicLinkRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "DisableVpcClassicLinkResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "DisassociateAddressRequest":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"ElasticIpAssociationId", + "documentation":"

[EC2-VPC] The association ID. Required for EC2-VPC.

" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DisassociateClientVpnTargetNetworkRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "AssociationId" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint from which to disassociate the target network.

" + }, + "AssociationId":{ + "shape":"ClientVpnAssociationId", + "documentation":"

The ID of the target network association.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisassociateClientVpnTargetNetworkResult":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the target network association.

", + "locationName":"associationId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + } + } + }, + "DisassociateIamInstanceProfileRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"IamInstanceProfileAssociationId", + "documentation":"

The ID of the IAM instance profile association.

" + } + } + }, + "DisassociateIamInstanceProfileResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, + "DisassociateRouteTableRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"RouteTableAssociationId", + "documentation":"

The association ID representing the current association between the route table and subnet or gateway.

", + "locationName":"associationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "DisassociateSubnetCidrBlockRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"SubnetCidrAssociationId", + "documentation":"

The association ID for the CIDR block.

", + "locationName":"associationId" + } + } + }, + "DisassociateSubnetCidrBlockResult":{ + "type":"structure", + "members":{ + "Ipv6CidrBlockAssociation":{ + "shape":"SubnetIpv6CidrBlockAssociation", + "documentation":"

Information about the IPv6 CIDR block association.

", + "locationName":"ipv6CidrBlockAssociation" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + } + } + }, + "DisassociateTransitGatewayMulticastDomainRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "SubnetIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the subnets;

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisassociateTransitGatewayMulticastDomainResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"TransitGatewayMulticastDomainAssociations", + "documentation":"

Information about the association.

", + "locationName":"associations" + } + } + }, + "DisassociateTransitGatewayRouteTableRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "TransitGatewayAttachmentId" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "DisassociateTransitGatewayRouteTableResult":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"TransitGatewayAssociation", + "documentation":"

Information about the association.

", + "locationName":"association" + } + } + }, + "DisassociateVpcCidrBlockRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"VpcCidrAssociationId", + "documentation":"

The association ID for the CIDR block.

", + "locationName":"associationId" + } + } + }, + "DisassociateVpcCidrBlockResult":{ + "type":"structure", + "members":{ + "Ipv6CidrBlockAssociation":{ + "shape":"VpcIpv6CidrBlockAssociation", + "documentation":"

Information about the IPv6 CIDR block association.

", + "locationName":"ipv6CidrBlockAssociation" + }, + "CidrBlockAssociation":{ + "shape":"VpcCidrBlockAssociation", + "documentation":"

Information about the IPv4 CIDR block association.

", + "locationName":"cidrBlockAssociation" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "DiskCount":{"type":"integer"}, + "DiskImage":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the disk image.

" + }, + "Image":{ + "shape":"DiskImageDetail", + "documentation":"

Information about the disk image.

" + }, + "Volume":{ + "shape":"VolumeDetail", + "documentation":"

Information about the volume.

" + } + }, + "documentation":"

Describes a disk image.

" + }, + "DiskImageDescription":{ + "type":"structure", + "members":{ + "Checksum":{ + "shape":"String", + "documentation":"

The checksum computed for the disk image.

", + "locationName":"checksum" + }, + "Format":{ + "shape":"DiskImageFormat", + "documentation":"

The disk image format.

", + "locationName":"format" + }, + "ImportManifestUrl":{ + "shape":"String", + "documentation":"

A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "locationName":"importManifestUrl" + }, + "Size":{ + "shape":"Long", + "documentation":"

The size of the disk image, in GiB.

", + "locationName":"size" + } + }, + "documentation":"

Describes a disk image.

" + }, + "DiskImageDetail":{ + "type":"structure", + "required":[ + "Bytes", + "Format", + "ImportManifestUrl" + ], + "members":{ + "Bytes":{ + "shape":"Long", + "documentation":"

The size of the disk image, in GiB.

", + "locationName":"bytes" + }, + "Format":{ + "shape":"DiskImageFormat", + "documentation":"

The disk image format.

", + "locationName":"format" + }, + "ImportManifestUrl":{ + "shape":"String", + "documentation":"

A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. For information about creating a presigned URL for an Amazon S3 object, read the \"Query String Request Authentication Alternative\" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer Guide.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "locationName":"importManifestUrl" + } + }, + "documentation":"

Describes a disk image.

" + }, + "DiskImageFormat":{ + "type":"string", + "enum":[ + "VMDK", + "RAW", + "VHD" + ] + }, + "DiskImageList":{ + "type":"list", + "member":{"shape":"DiskImage"} + }, + "DiskImageVolumeDescription":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"String", + "documentation":"

The volume identifier.

", + "locationName":"id" + }, + "Size":{ + "shape":"Long", + "documentation":"

The size of the volume, in GiB.

", + "locationName":"size" + } + }, + "documentation":"

Describes a disk image volume.

" + }, + "DiskInfo":{ + "type":"structure", + "members":{ + "SizeInGB":{ + "shape":"DiskSize", + "documentation":"

The size of the disk in GB.

", + "locationName":"sizeInGB" + }, + "Count":{ + "shape":"DiskCount", + "documentation":"

The number of disks with this configuration.

", + "locationName":"count" + }, + "Type":{ + "shape":"DiskType", + "documentation":"

The type of disk.

", + "locationName":"type" + } + }, + "documentation":"

Describes the disk.

" + }, + "DiskInfoList":{ + "type":"list", + "member":{ + "shape":"DiskInfo", + "locationName":"item" + } + }, + "DiskSize":{"type":"long"}, + "DiskType":{ + "type":"string", + "enum":[ + "hdd", + "ssd" + ] + }, + "DnsEntry":{ + "type":"structure", + "members":{ + "DnsName":{ + "shape":"String", + "documentation":"

The DNS name.

", + "locationName":"dnsName" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

The ID of the private hosted zone.

", + "locationName":"hostedZoneId" + } + }, + "documentation":"

Describes a DNS entry.

" + }, + "DnsEntrySet":{ + "type":"list", + "member":{ + "shape":"DnsEntry", + "locationName":"item" + } + }, + "DnsNameState":{ + "type":"string", + "enum":[ + "pendingVerification", + "verified", + "failed" + ] + }, + "DnsServersOptionsModifyStructure":{ + "type":"structure", + "members":{ + "CustomDnsServers":{ + "shape":"ValueStringList", + "documentation":"

The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values overwrite the existing values.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether DNS servers should be used. Specify False to delete the existing DNS servers.

" + } + }, + "documentation":"

Information about the DNS server to be used.

" + }, + "DnsSupportValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "DomainType":{ + "type":"string", + "enum":[ + "vpc", + "standard" + ] + }, + "Double":{"type":"double"}, + "EbsBlockDevice":{ + "type":"structure", + "members":{ + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is deleted on instance termination. For more information, see Preserving Amazon EBS Volumes on Instance Termination in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"deleteOnTermination" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "locationName":"iops" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

", + "locationName":"volumeSize" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The volume type. If you set the type to io1, you must also specify the Iops parameter. If you set the type to gp2, st1, sc1, or standard, you must omit the Iops parameter.

Default: gp2

", + "locationName":"volumeType" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances, RequestSpotFleet, and RequestSpotInstances.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the encryption state of an EBS volume is changed while being restored from a backing snapshot. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

In no case can you remove encryption from an encrypted volume.

Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For more information, see Supported Instance Types.

This parameter is not returned by .

", + "locationName":"encrypted" + } + }, + "documentation":"

Describes a block device for an EBS volume.

" + }, + "EbsEncryptionSupport":{ + "type":"string", + "enum":[ + "unsupported", + "supported" + ] + }, + "EbsInfo":{ + "type":"structure", + "members":{ + "EbsOptimizedSupport":{ + "shape":"EbsOptimizedSupport", + "documentation":"

Indicates that the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-Optimized Instances in Amazon EC2 User Guide for Linux Instances.

", + "locationName":"ebsOptimizedSupport" + }, + "EncryptionSupport":{ + "shape":"EbsEncryptionSupport", + "documentation":"

Indicates whether Amazon EBS encryption is supported.

", + "locationName":"encryptionSupport" + }, + "EbsOptimizedInfo":{ + "shape":"EbsOptimizedInfo", + "documentation":"

Describes the optimized EBS performance for the instance type.

", + "locationName":"ebsOptimizedInfo" + } + }, + "documentation":"

Describes the Amazon EBS features supported by the instance type.

" + }, + "EbsInstanceBlockDevice":{ + "type":"structure", + "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the attachment initiated.

", + "locationName":"attachTime" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is deleted on instance termination.

", + "locationName":"deleteOnTermination" + }, + "Status":{ + "shape":"AttachmentStatus", + "documentation":"

The attachment state.

", + "locationName":"status" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the EBS volume.

", + "locationName":"volumeId" + } + }, + "documentation":"

Describes a parameter used to set up an EBS volume in a block device mapping.

" + }, + "EbsInstanceBlockDeviceSpecification":{ + "type":"structure", + "members":{ + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is deleted on instance termination.

", + "locationName":"deleteOnTermination" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the EBS volume.

", + "locationName":"volumeId" + } + }, + "documentation":"

Describes information used to set up an EBS volume specified in a block device mapping.

" + }, + "EbsOptimizedInfo":{ + "type":"structure", + "members":{ + "BaselineBandwidthInMbps":{ + "shape":"BaselineBandwidthInMbps", + "documentation":"

The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

", + "locationName":"baselineBandwidthInMbps" + }, + "BaselineThroughputInMBps":{ + "shape":"BaselineThroughputInMBps", + "documentation":"

The baseline throughput performance for an EBS-optimized instance type, in MBps.

", + "locationName":"baselineThroughputInMBps" + }, + "BaselineIops":{ + "shape":"BaselineIops", + "documentation":"

The baseline input/output storage operations per seconds for an EBS-optimized instance type.

", + "locationName":"baselineIops" + }, + "MaximumBandwidthInMbps":{ + "shape":"MaximumBandwidthInMbps", + "documentation":"

The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

", + "locationName":"maximumBandwidthInMbps" + }, + "MaximumThroughputInMBps":{ + "shape":"MaximumThroughputInMBps", + "documentation":"

The maximum throughput performance for an EBS-optimized instance type, in MBps.

", + "locationName":"maximumThroughputInMBps" + }, + "MaximumIops":{ + "shape":"MaximumIops", + "documentation":"

The maximum input/output storage operations per second for an EBS-optimized instance type.

", + "locationName":"maximumIops" + } + }, + "documentation":"

Describes the optimized EBS performance for supported instance types.

" + }, + "EbsOptimizedSupport":{ + "type":"string", + "enum":[ + "unsupported", + "supported", + "default" + ] + }, + "EfaSupportedFlag":{"type":"boolean"}, + "EgressOnlyInternetGateway":{ + "type":"structure", + "members":{ + "Attachments":{ + "shape":"InternetGatewayAttachmentList", + "documentation":"

Information about the attachment of the egress-only internet gateway.

", + "locationName":"attachmentSet" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"EgressOnlyInternetGatewayId", + "documentation":"

The ID of the egress-only internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the egress-only internet gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an egress-only internet gateway.

" + }, + "EgressOnlyInternetGatewayId":{"type":"string"}, + "EgressOnlyInternetGatewayIdList":{ + "type":"list", + "member":{ + "shape":"EgressOnlyInternetGatewayId", + "locationName":"item" + } + }, + "EgressOnlyInternetGatewayList":{ + "type":"list", + "member":{ + "shape":"EgressOnlyInternetGateway", + "locationName":"item" + } + }, + "ElasticGpuAssociation":{ + "type":"structure", + "members":{ + "ElasticGpuId":{ + "shape":"String", + "documentation":"

The ID of the Elastic Graphics accelerator.

", + "locationName":"elasticGpuId" + }, + "ElasticGpuAssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"elasticGpuAssociationId" + }, + "ElasticGpuAssociationState":{ + "shape":"String", + "documentation":"

The state of the association between the instance and the Elastic Graphics accelerator.

", + "locationName":"elasticGpuAssociationState" + }, + "ElasticGpuAssociationTime":{ + "shape":"String", + "documentation":"

The time the Elastic Graphics accelerator was associated with the instance.

", + "locationName":"elasticGpuAssociationTime" + } + }, + "documentation":"

Describes the association between an instance and an Elastic Graphics accelerator.

" + }, + "ElasticGpuAssociationList":{ + "type":"list", + "member":{ + "shape":"ElasticGpuAssociation", + "locationName":"item" + } + }, + "ElasticGpuHealth":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ElasticGpuStatus", + "documentation":"

The health status.

", + "locationName":"status" + } + }, + "documentation":"

Describes the status of an Elastic Graphics accelerator.

" + }, + "ElasticGpuId":{"type":"string"}, + "ElasticGpuIdSet":{ + "type":"list", + "member":{ + "shape":"ElasticGpuId", + "locationName":"item" + } + }, + "ElasticGpuSet":{ + "type":"list", + "member":{ + "shape":"ElasticGpus", + "locationName":"item" + } + }, + "ElasticGpuSpecification":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The type of Elastic Graphics accelerator. For more information about the values to specify for Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the Amazon Elastic Compute Cloud User Guide for Windows Instances.

" + } + }, + "documentation":"

A specification for an Elastic Graphics accelerator.

" + }, + "ElasticGpuSpecificationList":{ + "type":"list", + "member":{ + "shape":"ElasticGpuSpecification", + "locationName":"ElasticGpuSpecification" + } + }, + "ElasticGpuSpecificationResponse":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The elastic GPU type.

", + "locationName":"type" + } + }, + "documentation":"

Describes an elastic GPU.

" + }, + "ElasticGpuSpecificationResponseList":{ + "type":"list", + "member":{ + "shape":"ElasticGpuSpecificationResponse", + "locationName":"item" + } + }, + "ElasticGpuSpecifications":{ + "type":"list", + "member":{ + "shape":"ElasticGpuSpecification", + "locationName":"item" + } + }, + "ElasticGpuState":{ + "type":"string", + "enum":["ATTACHED"] + }, + "ElasticGpuStatus":{ + "type":"string", + "enum":[ + "OK", + "IMPAIRED" + ] + }, + "ElasticGpus":{ + "type":"structure", + "members":{ + "ElasticGpuId":{ + "shape":"String", + "documentation":"

The ID of the Elastic Graphics accelerator.

", + "locationName":"elasticGpuId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in the which the Elastic Graphics accelerator resides.

", + "locationName":"availabilityZone" + }, + "ElasticGpuType":{ + "shape":"String", + "documentation":"

The type of Elastic Graphics accelerator.

", + "locationName":"elasticGpuType" + }, + "ElasticGpuHealth":{ + "shape":"ElasticGpuHealth", + "documentation":"

The status of the Elastic Graphics accelerator.

", + "locationName":"elasticGpuHealth" + }, + "ElasticGpuState":{ + "shape":"ElasticGpuState", + "documentation":"

The state of the Elastic Graphics accelerator.

", + "locationName":"elasticGpuState" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance to which the Elastic Graphics accelerator is attached.

", + "locationName":"instanceId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the Elastic Graphics accelerator.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an Elastic Graphics accelerator.

" + }, + "ElasticInferenceAccelerator":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.

" + }, + "Count":{ + "shape":"ElasticInferenceAcceleratorCount", + "documentation":"

The number of elastic inference accelerators to attach to the instance.

Default: 1

" + } + }, + "documentation":"

Describes an elastic inference accelerator.

" + }, + "ElasticInferenceAcceleratorAssociation":{ + "type":"structure", + "members":{ + "ElasticInferenceAcceleratorArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the elastic inference accelerator.

", + "locationName":"elasticInferenceAcceleratorArn" + }, + "ElasticInferenceAcceleratorAssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"elasticInferenceAcceleratorAssociationId" + }, + "ElasticInferenceAcceleratorAssociationState":{ + "shape":"String", + "documentation":"

The state of the elastic inference accelerator.

", + "locationName":"elasticInferenceAcceleratorAssociationState" + }, + "ElasticInferenceAcceleratorAssociationTime":{ + "shape":"DateTime", + "documentation":"

The time at which the elastic inference accelerator is associated with an instance.

", + "locationName":"elasticInferenceAcceleratorAssociationTime" + } + }, + "documentation":"

Describes the association between an instance and an elastic inference accelerator.

" + }, + "ElasticInferenceAcceleratorAssociationList":{ + "type":"list", + "member":{ + "shape":"ElasticInferenceAcceleratorAssociation", + "locationName":"item" + } + }, + "ElasticInferenceAcceleratorCount":{ + "type":"integer", + "min":1 + }, + "ElasticInferenceAccelerators":{ + "type":"list", + "member":{ + "shape":"ElasticInferenceAccelerator", + "locationName":"item" + } + }, + "ElasticIpAssociationId":{"type":"string"}, + "EnaSupport":{ + "type":"string", + "enum":[ + "unsupported", + "supported", + "required" + ] + }, + "EnableEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "EnableEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

The updated status of encryption by default.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, + "EnableFastSnapshotRestoreErrorItem":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "FastSnapshotRestoreStateErrors":{ + "shape":"EnableFastSnapshotRestoreStateErrorSet", + "documentation":"

The errors.

", + "locationName":"fastSnapshotRestoreStateErrorSet" + } + }, + "documentation":"

Contains information about the errors that occurred when enabling fast snapshot restores.

" + }, + "EnableFastSnapshotRestoreErrorSet":{ + "type":"list", + "member":{ + "shape":"EnableFastSnapshotRestoreErrorItem", + "locationName":"item" + } + }, + "EnableFastSnapshotRestoreStateError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes an error that occurred when enabling fast snapshot restores.

" + }, + "EnableFastSnapshotRestoreStateErrorItem":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "Error":{ + "shape":"EnableFastSnapshotRestoreStateError", + "documentation":"

The error.

", + "locationName":"error" + } + }, + "documentation":"

Contains information about an error that occurred when enabling fast snapshot restores.

" + }, + "EnableFastSnapshotRestoreStateErrorSet":{ + "type":"list", + "member":{ + "shape":"EnableFastSnapshotRestoreStateErrorItem", + "locationName":"item" + } + }, + "EnableFastSnapshotRestoreSuccessItem":{ + "type":"structure", + "members":{ + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "State":{ + "shape":"FastSnapshotRestoreStateCode", + "documentation":"

The state of fast snapshot restores.

", + "locationName":"state" + }, + "StateTransitionReason":{ + "shape":"String", + "documentation":"

The reason for the state transition. The possible values are as follows:

  • Client.UserInitiated - The state successfully transitioned to enabling or disabling.

  • Client.UserInitiated - Lifecycle state transition - The state successfully transitioned to optimizing, enabled, or disabled.

", + "locationName":"stateTransitionReason" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the snapshot.

", + "locationName":"ownerId" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

The alias of the snapshot owner.

", + "locationName":"ownerAlias" + }, + "EnablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabling state.

", + "locationName":"enablingTime" + }, + "OptimizingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the optimizing state.

", + "locationName":"optimizingTime" + }, + "EnabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the enabled state.

", + "locationName":"enabledTime" + }, + "DisablingTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabling state.

", + "locationName":"disablingTime" + }, + "DisabledTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The time at which fast snapshot restores entered the disabled state.

", + "locationName":"disabledTime" + } + }, + "documentation":"

Describes fast snapshot restores that were successfully enabled.

" + }, + "EnableFastSnapshotRestoreSuccessSet":{ + "type":"list", + "member":{ + "shape":"EnableFastSnapshotRestoreSuccessItem", + "locationName":"item" + } + }, + "EnableFastSnapshotRestoresRequest":{ + "type":"structure", + "required":[ + "AvailabilityZones", + "SourceSnapshotIds" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZoneStringList", + "documentation":"

One or more Availability Zones. For example, us-east-2a.

", + "locationName":"AvailabilityZone" + }, + "SourceSnapshotIds":{ + "shape":"SnapshotIdStringList", + "documentation":"

The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify a snapshot that was shared with you from another AWS account.

", + "locationName":"SourceSnapshotId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "EnableFastSnapshotRestoresResult":{ + "type":"structure", + "members":{ + "Successful":{ + "shape":"EnableFastSnapshotRestoreSuccessSet", + "documentation":"

Information about the snapshots for which fast snapshot restores were successfully enabled.

", + "locationName":"successful" + }, + "Unsuccessful":{ + "shape":"EnableFastSnapshotRestoreErrorSet", + "documentation":"

Information about the snapshots for which fast snapshot restores could not be enabled.

", + "locationName":"unsuccessful" + } + } + }, + "EnableTransitGatewayRouteTablePropagationRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "TransitGatewayAttachmentId" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the propagation route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "EnableTransitGatewayRouteTablePropagationResult":{ + "type":"structure", + "members":{ + "Propagation":{ + "shape":"TransitGatewayPropagation", + "documentation":"

Information about route propagation.

", + "locationName":"propagation" + } + } + }, + "EnableVgwRoutePropagationRequest":{ + "type":"structure", + "required":[ + "GatewayId", + "RouteTableId" + ], + "members":{ + "GatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway that is attached to a VPC. The virtual private gateway must be attached to the same VPC that the routing tables are associated with.

" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "documentation":"

Contains the parameters for EnableVgwRoutePropagation.

" + }, + "EnableVolumeIORequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" + } + } + }, + "EnableVpcClassicLinkDnsSupportRequest":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + } + } + }, + "EnableVpcClassicLinkDnsSupportResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "EnableVpcClassicLinkRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "EnableVpcClassicLinkResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "EndDateType":{ + "type":"string", + "enum":[ + "unlimited", + "limited" + ] + }, + "EndpointSet":{ + "type":"list", + "member":{ + "shape":"ClientVpnEndpoint", + "locationName":"item" + } + }, + "ErrorSet":{ + "type":"list", + "member":{ + "shape":"ValidationError", + "locationName":"item" + } + }, + "EventCode":{ + "type":"string", + "enum":[ + "instance-reboot", + "system-reboot", + "system-maintenance", + "instance-retirement", + "instance-stop" + ] + }, + "EventInformation":{ + "type":"structure", + "members":{ + "EventDescription":{ + "shape":"String", + "documentation":"

The description of the event.

", + "locationName":"eventDescription" + }, + "EventSubType":{ + "shape":"String", + "documentation":"

The event.

The following are the error events:

  • iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required permissions either to launch or terminate an instance.

  • spotFleetRequestConfigurationInvalid - The configuration is not valid. For more information, see the description of the event.

  • spotInstanceCountLimitExceeded - You've reached the limit on the number of Spot Instances that you can launch.

The following are the fleetRequestChange events:

  • active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is attempting to maintain the target number of running Spot Instances.

  • cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances were terminated.

  • cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does not launch additional Spot Instances. Existing Spot Instances continue to run until they are interrupted or terminated.

  • cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and its Spot Instances are terminating.

  • expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent event indicates that the instances were terminated, if the request was created with TerminateInstancesWithExpiration set.

  • modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet request was accepted and is in progress.

  • modify_successful - The EC2 Fleet or Spot Fleet request was modified.

  • price_update - The price for a launch configuration was adjusted because it was too high. This change is permanent.

  • submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 is preparing to launch the target number of Spot Instances.

The following are the instanceChange events:

  • launched - A request was fulfilled and a new instance was launched.

  • terminated - An instance was terminated by the user.

The following are the Information events:

  • launchSpecTemporarilyBlacklisted - The configuration is not valid and several attempts to launch instances have failed. For more information, see the description of the event.

  • launchSpecUnusable - The price in a launch specification is not valid because it is below the Spot price or the Spot price is above the On-Demand price.

  • fleetProgressHalted - The price in every launch specification is not valid. A launch specification might become valid if the Spot price changes.

", + "locationName":"eventSubType" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance. This information is available only for instanceChange events.

", + "locationName":"instanceId" + } + }, + "documentation":"

Describes an EC2 Fleet or Spot Fleet event.

" + }, + "EventType":{ + "type":"string", + "enum":[ + "instanceChange", + "fleetRequestChange", + "error", + "information" + ] + }, + "ExcessCapacityTerminationPolicy":{ + "type":"string", + "enum":[ + "noTermination", + "default" + ] + }, + "ExecutableByStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ExecutableBy" + } + }, + "ExportClientVpnClientCertificateRevocationListRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ExportClientVpnClientCertificateRevocationListResult":{ + "type":"structure", + "members":{ + "CertificateRevocationList":{ + "shape":"String", + "documentation":"

Information about the client certificate revocation list.

", + "locationName":"certificateRevocationList" + }, + "Status":{ + "shape":"ClientCertificateRevocationListStatus", + "documentation":"

The current state of the client certificate revocation list.

", + "locationName":"status" + } + } + }, + "ExportClientVpnClientConfigurationRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ExportClientVpnClientConfigurationResult":{ + "type":"structure", + "members":{ + "ClientConfiguration":{ + "shape":"String", + "documentation":"

The contents of the Client VPN endpoint configuration file.

", + "locationName":"clientConfiguration" + } + } + }, + "ExportEnvironment":{ + "type":"string", + "enum":[ + "citrix", + "vmware", + "microsoft" + ] + }, + "ExportImageRequest":{ + "type":"structure", + "required":[ + "DiskImageFormat", + "ImageId", + "S3ExportLocation" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Token to enable idempotency for export image requests.

", + "idempotencyToken":true + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the image being exported. The maximum length is 255 bytes.

" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The disk image format.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the image.

" + }, + "S3ExportLocation":{ + "shape":"ExportTaskS3LocationRequest", + "documentation":"

Information about the destination S3 bucket. The bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

" + }, + "RoleName":{ + "shape":"String", + "documentation":"

The name of the role that grants VM Import/Export permission to export images to your S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

" + } + } + }, + "ExportImageResult":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the image being exported.

", + "locationName":"description" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The disk image format for the exported image.

", + "locationName":"diskImageFormat" + }, + "ExportImageTaskId":{ + "shape":"String", + "documentation":"

The ID of the export image task.

", + "locationName":"exportImageTaskId" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the image.

", + "locationName":"imageId" + }, + "RoleName":{ + "shape":"String", + "documentation":"

The name of the role that grants VM Import/Export permission to export images to your S3 bucket.

", + "locationName":"roleName" + }, + "Progress":{ + "shape":"String", + "documentation":"

The percent complete of the export image task.

", + "locationName":"progress" + }, + "S3ExportLocation":{ + "shape":"ExportTaskS3Location", + "documentation":"

Information about the destination S3 bucket.

", + "locationName":"s3ExportLocation" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the export image task. The possible values are active, completed, deleting, and deleted.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status message for the export image task.

", + "locationName":"statusMessage" + } + } + }, + "ExportImageTask":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the image being exported.

", + "locationName":"description" + }, + "ExportImageTaskId":{ + "shape":"String", + "documentation":"

The ID of the export image task.

", + "locationName":"exportImageTaskId" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the image.

", + "locationName":"imageId" + }, + "Progress":{ + "shape":"String", + "documentation":"

The percent complete of the export image task.

", + "locationName":"progress" + }, + "S3ExportLocation":{ + "shape":"ExportTaskS3Location", + "documentation":"

Information about the destination S3 bucket.

", + "locationName":"s3ExportLocation" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the export image task. The possible values are active, completed, deleting, and deleted.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status message for the export image task.

", + "locationName":"statusMessage" + } + }, + "documentation":"

Describes an export image task.

" + }, + "ExportImageTaskId":{"type":"string"}, + "ExportImageTaskIdList":{ + "type":"list", + "member":{ + "shape":"ExportImageTaskId", + "locationName":"ExportImageTaskId" + } + }, + "ExportImageTaskList":{ + "type":"list", + "member":{ + "shape":"ExportImageTask", + "locationName":"item" + } + }, + "ExportTask":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the resource being exported.

", + "locationName":"description" + }, + "ExportTaskId":{ + "shape":"String", + "documentation":"

The ID of the export task.

", + "locationName":"exportTaskId" + }, + "ExportToS3Task":{ + "shape":"ExportToS3Task", + "documentation":"

Information about the export task.

", + "locationName":"exportToS3" + }, + "InstanceExportDetails":{ + "shape":"InstanceExportDetails", + "documentation":"

Information about the instance to export.

", + "locationName":"instanceExport" + }, + "State":{ + "shape":"ExportTaskState", + "documentation":"

The state of the export task.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status message related to the export task.

", + "locationName":"statusMessage" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the export task.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an instance export task.

" + }, + "ExportTaskId":{"type":"string"}, + "ExportTaskIdStringList":{ + "type":"list", + "member":{ + "shape":"ExportTaskId", + "locationName":"ExportTaskId" + } + }, + "ExportTaskList":{ + "type":"list", + "member":{ + "shape":"ExportTask", + "locationName":"item" + } + }, + "ExportTaskS3Location":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"String", + "documentation":"

The destination S3 bucket.

", + "locationName":"s3Bucket" + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

The prefix (logical hierarchy) in the bucket.

", + "locationName":"s3Prefix" + } + }, + "documentation":"

Describes the destination for an export image task.

" + }, + "ExportTaskS3LocationRequest":{ + "type":"structure", + "required":["S3Bucket"], + "members":{ + "S3Bucket":{ + "shape":"String", + "documentation":"

The destination S3 bucket.

" + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

The prefix (logical hierarchy) in the bucket.

" + } + }, + "documentation":"

Describes the destination for an export image task.

" + }, + "ExportTaskState":{ + "type":"string", + "enum":[ + "active", + "cancelling", + "cancelled", + "completed" + ] + }, + "ExportToS3Task":{ + "type":"structure", + "members":{ + "ContainerFormat":{ + "shape":"ContainerFormat", + "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", + "locationName":"containerFormat" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The format for the exported image.

", + "locationName":"diskImageFormat" + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", + "locationName":"s3Bucket" + }, + "S3Key":{ + "shape":"String", + "documentation":"

The encryption key for your S3 bucket.

", + "locationName":"s3Key" + } + }, + "documentation":"

Describes the format and location for an instance export task.

" + }, + "ExportToS3TaskSpecification":{ + "type":"structure", + "members":{ + "ContainerFormat":{ + "shape":"ContainerFormat", + "documentation":"

The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is exported.

", + "locationName":"containerFormat" + }, + "DiskImageFormat":{ + "shape":"DiskImageFormat", + "documentation":"

The format for the exported image.

", + "locationName":"diskImageFormat" + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

The S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", + "locationName":"s3Bucket" + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

The image is written to a single object in the S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", + "locationName":"s3Prefix" + } + }, + "documentation":"

Describes an instance export task.

" + }, + "ExportTransitGatewayRoutesRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "S3Bucket" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the route table.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

  • state - The state of the attachment (available | deleted | deleting | failed | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

  • transit-gateway-route-destination-cidr-block - The CIDR range.

  • type - The type of route (active | blackhole).

", + "locationName":"Filter" + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

The name of the S3 bucket.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ExportTransitGatewayRoutesResult":{ + "type":"structure", + "members":{ + "S3Location":{ + "shape":"String", + "documentation":"

The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

", + "locationName":"s3Location" + } + } + }, + "ExportVmTaskId":{"type":"string"}, + "FailedQueuedPurchaseDeletion":{ + "type":"structure", + "members":{ + "Error":{ + "shape":"DeleteQueuedReservedInstancesError", + "documentation":"

The error.

", + "locationName":"error" + }, + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + } + }, + "documentation":"

Describes a Reserved Instance whose queued purchase was not deleted.

" + }, + "FailedQueuedPurchaseDeletionSet":{ + "type":"list", + "member":{ + "shape":"FailedQueuedPurchaseDeletion", + "locationName":"item" + } + }, + "FastSnapshotRestoreStateCode":{ + "type":"string", + "enum":[ + "enabling", + "optimizing", + "enabled", + "disabling", + "disabled" + ] + }, + "FederatedAuthentication":{ + "type":"structure", + "members":{ + "SamlProviderArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

", + "locationName":"samlProviderArn" + } + }, + "documentation":"

Describes the IAM SAML identity provider used for federated authentication.

" + }, + "FederatedAuthenticationRequest":{ + "type":"structure", + "members":{ + "SAMLProviderArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM SAML identity provider.

" + } + }, + "documentation":"

The IAM SAML identity provider used for federated authentication.

" + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the filter. Filter names are case-sensitive.

" + }, + "Values":{ + "shape":"ValueStringList", + "documentation":"

The filter values. Filter values are case-sensitive.

", + "locationName":"Value" + } + }, + "documentation":"

A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs. The filters supported by a describe operation are documented with the describe operation. For example:

" + }, + "FilterList":{ + "type":"list", + "member":{ + "shape":"Filter", + "locationName":"Filter" + } + }, + "FleetActivityStatus":{ + "type":"string", + "enum":[ + "error", + "pending_fulfillment", + "pending_termination", + "fulfilled" + ] + }, + "FleetCapacityReservationUsageStrategy":{ + "type":"string", + "enum":["use-capacity-reservations-first"] + }, + "FleetData":{ + "type":"structure", + "members":{ + "ActivityStatus":{ + "shape":"FleetActivityStatus", + "documentation":"

The progress of the EC2 Fleet. If there is an error, the status is error. After all requests are placed, the status is pending_fulfillment. If the size of the EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the EC2 Fleet is decreased, the status is pending_termination while instances are terminating.

", + "locationName":"activityStatus" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The creation date and time of the EC2 Fleet.

", + "locationName":"createTime" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

", + "locationName":"fleetId" + }, + "FleetState":{ + "shape":"FleetStateCode", + "documentation":"

The state of the EC2 Fleet.

", + "locationName":"fleetState" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", + "locationName":"clientToken" + }, + "ExcessCapacityTerminationPolicy":{ + "shape":"FleetExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running instances should be terminated if the target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

", + "locationName":"excessCapacityTerminationPolicy" + }, + "FulfilledCapacity":{ + "shape":"Double", + "documentation":"

The number of units fulfilled by this request compared to the set target capacity.

", + "locationName":"fulfilledCapacity" + }, + "FulfilledOnDemandCapacity":{ + "shape":"Double", + "documentation":"

The number of units fulfilled by this request compared to the set target On-Demand capacity.

", + "locationName":"fulfilledOnDemandCapacity" + }, + "LaunchTemplateConfigs":{ + "shape":"FleetLaunchTemplateConfigList", + "documentation":"

The launch template and overrides.

", + "locationName":"launchTemplateConfigs" + }, + "TargetCapacitySpecification":{ + "shape":"TargetCapacitySpecification", + "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", + "locationName":"targetCapacitySpecification" + }, + "TerminateInstancesWithExpiration":{ + "shape":"Boolean", + "documentation":"

Indicates whether running instances should be terminated when the EC2 Fleet expires.

", + "locationName":"terminateInstancesWithExpiration" + }, + "Type":{ + "shape":"FleetType", + "documentation":"

The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. If you request a certain target capacity, EC2 Fleet only places the required requests; it does not attempt to replenish instances if capacity is diminished, and it does not submit requests in alternative capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet places the required requests to meet this target capacity. It also automatically replenishes any interrupted Spot Instances. Default: maintain.

", + "locationName":"type" + }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.

", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new instance requests are placed or able to fulfill the request. The default end date is 7 days from the current date.

", + "locationName":"validUntil" + }, + "ReplaceUnhealthyInstances":{ + "shape":"Boolean", + "documentation":"

Indicates whether EC2 Fleet should replace unhealthy instances.

", + "locationName":"replaceUnhealthyInstances" + }, + "SpotOptions":{ + "shape":"SpotOptions", + "documentation":"

The configuration of Spot Instances in an EC2 Fleet.

", + "locationName":"spotOptions" + }, + "OnDemandOptions":{ + "shape":"OnDemandOptions", + "documentation":"

The allocation strategy of On-Demand Instances in an EC2 Fleet.

", + "locationName":"onDemandOptions" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for an EC2 Fleet resource.

", + "locationName":"tagSet" + }, + "Errors":{ + "shape":"DescribeFleetsErrorSet", + "documentation":"

Information about the instances that could not be launched by the fleet. Valid only when Type is set to instant.

", + "locationName":"errorSet" + }, + "Instances":{ + "shape":"DescribeFleetsInstancesSet", + "documentation":"

Information about the instances that were launched by the fleet. Valid only when Type is set to instant.

", + "locationName":"fleetInstanceSet" + } + }, + "documentation":"

Describes an EC2 Fleet.

" + }, + "FleetEventType":{ + "type":"string", + "enum":[ + "instance-change", + "fleet-change", + "service-error" + ] + }, + "FleetExcessCapacityTerminationPolicy":{ + "type":"string", + "enum":[ + "no-termination", + "termination" + ] + }, + "FleetId":{"type":"string"}, + "FleetIdSet":{ + "type":"list", + "member":{"shape":"FleetId"} + }, + "FleetLaunchTemplateConfig":{ + "type":"structure", + "members":{ + "LaunchTemplateSpecification":{ + "shape":"FleetLaunchTemplateSpecification", + "documentation":"

The launch template.

", + "locationName":"launchTemplateSpecification" + }, + "Overrides":{ + "shape":"FleetLaunchTemplateOverridesList", + "documentation":"

Any parameters that you specify override the same parameters in the launch template.

", + "locationName":"overrides" + } + }, + "documentation":"

Describes a launch template and overrides.

" + }, + "FleetLaunchTemplateConfigList":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateConfig", + "locationName":"item" + } + }, + "FleetLaunchTemplateConfigListRequest":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateConfigRequest", + "locationName":"item" + }, + "max":50 + }, + "FleetLaunchTemplateConfigRequest":{ + "type":"structure", + "members":{ + "LaunchTemplateSpecification":{ + "shape":"FleetLaunchTemplateSpecificationRequest", + "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request.

" + }, + "Overrides":{ + "shape":"FleetLaunchTemplateOverridesListRequest", + "documentation":"

Any parameters that you specify override the same parameters in the launch template.

" + } + }, + "documentation":"

Describes a launch template and overrides.

" + }, + "FleetLaunchTemplateOverrides":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "MaxPrice":{ + "shape":"String", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", + "locationName":"maxPrice" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instances.

", + "locationName":"subnetId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to launch the instances.

", + "locationName":"availabilityZone" + }, + "WeightedCapacity":{ + "shape":"Double", + "documentation":"

The number of units provided by the specified instance type.

", + "locationName":"weightedCapacity" + }, + "Priority":{ + "shape":"Double", + "documentation":"

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the override has the lowest priority.

", + "locationName":"priority" + }, + "Placement":{ + "shape":"PlacementResponse", + "documentation":"

The location where the instance launched, if applicable.

", + "locationName":"placement" + } + }, + "documentation":"

Describes overrides for a launch template.

" + }, + "FleetLaunchTemplateOverridesList":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateOverrides", + "locationName":"item" + } + }, + "FleetLaunchTemplateOverridesListRequest":{ + "type":"list", + "member":{ + "shape":"FleetLaunchTemplateOverridesRequest", + "locationName":"item" + }, + "max":50 + }, + "FleetLaunchTemplateOverridesRequest":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

" + }, + "MaxPrice":{ + "shape":"String", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to launch the instances.

" + }, + "WeightedCapacity":{ + "shape":"Double", + "documentation":"

The number of units provided by the specified instance type.

" + }, + "Priority":{ + "shape":"Double", + "documentation":"

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The location where the instance launched, if applicable.

" + } + }, + "documentation":"

Describes overrides for a launch template.

" + }, + "FleetLaunchTemplateSpecification":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template. If you specify the template ID, you can't specify the template name.

", + "locationName":"launchTemplateId" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. If you specify the template name, you can't specify the template ID.

", + "locationName":"launchTemplateName" + }, + "Version":{ + "shape":"String", + "documentation":"

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

", + "locationName":"version" + } + }, + "documentation":"

Describes the Amazon EC2 launch template and the launch template version that can be used by a Spot Fleet request to configure Amazon EC2 instances. For information about launch templates, see Launching an instance from a launch template in the Amazon EC2 User Guide for Linux Instances.

" + }, + "FleetLaunchTemplateSpecificationRequest":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. If you specify the template ID, you can't specify the template name.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. If you specify the template name, you can't specify the template ID.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The launch template version number, $Latest, or $Default. You must specify a value, otherwise the request fails.

If the value is $Latest, Amazon EC2 uses the latest version of the launch template.

If the value is $Default, Amazon EC2 uses the default version of the launch template.

" + } + }, + "documentation":"

Describes the Amazon EC2 launch template and the launch template version that can be used by an EC2 Fleet to configure Amazon EC2 instances. For information about launch templates, see Launching an instance from a launch template in the Amazon Elastic Compute Cloud User Guide.

" + }, + "FleetOnDemandAllocationStrategy":{ + "type":"string", + "enum":[ + "lowest-price", + "prioritized" + ] + }, + "FleetSet":{ + "type":"list", + "member":{ + "shape":"FleetData", + "locationName":"item" + } + }, + "FleetStateCode":{ + "type":"string", + "enum":[ + "submitted", + "active", + "deleted", + "failed", + "deleted_running", + "deleted_terminating", + "modifying" + ] + }, + "FleetType":{ + "type":"string", + "enum":[ + "request", + "maintain", + "instant" + ] + }, + "Float":{"type":"float"}, + "FlowLog":{ + "type":"structure", + "members":{ + "CreationTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The date and time the flow log was created.

", + "locationName":"creationTime" + }, + "DeliverLogsErrorMessage":{ + "shape":"String", + "documentation":"

Information about the error that occurred. Rate limited indicates that CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've reached the limit on the number of log groups that you can create. Access error indicates that the IAM role associated with the flow log does not have sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an internal error.

", + "locationName":"deliverLogsErrorMessage" + }, + "DeliverLogsPermissionArn":{ + "shape":"String", + "documentation":"

The ARN of the IAM role that posts logs to CloudWatch Logs.

", + "locationName":"deliverLogsPermissionArn" + }, + "DeliverLogsStatus":{ + "shape":"String", + "documentation":"

The status of the logs delivery (SUCCESS | FAILED).

", + "locationName":"deliverLogsStatus" + }, + "FlowLogId":{ + "shape":"String", + "documentation":"

The flow log ID.

", + "locationName":"flowLogId" + }, + "FlowLogStatus":{ + "shape":"String", + "documentation":"

The status of the flow log (ACTIVE).

", + "locationName":"flowLogStatus" + }, + "LogGroupName":{ + "shape":"String", + "documentation":"

The name of the flow log group.

", + "locationName":"logGroupName" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource on which the flow log was created.

", + "locationName":"resourceId" + }, + "TrafficType":{ + "shape":"TrafficType", + "documentation":"

The type of traffic captured for the flow log.

", + "locationName":"trafficType" + }, + "LogDestinationType":{ + "shape":"LogDestinationType", + "documentation":"

Specifies the type of destination to which the flow log data is published. Flow log data can be published to CloudWatch Logs or Amazon S3.

", + "locationName":"logDestinationType" + }, + "LogDestination":{ + "shape":"String", + "documentation":"

Specifies the destination to which the flow log data is published. Flow log data can be published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN of the Amazon S3 bucket to which the data is published.

", + "locationName":"logDestination" + }, + "LogFormat":{ + "shape":"String", + "documentation":"

The format of the flow log record.

", + "locationName":"logFormat" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the flow log.

", + "locationName":"tagSet" + }, + "MaxAggregationInterval":{ + "shape":"Integer", + "documentation":"

The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

When a network interface is attached to a Nitro-based instance, the aggregation interval is always 60 seconds (1 minute) or less, regardless of the specified value.

Valid Values: 60 | 600

", + "locationName":"maxAggregationInterval" + } + }, + "documentation":"

Describes a flow log.

" + }, + "FlowLogIdList":{ + "type":"list", + "member":{ + "shape":"VpcFlowLogId", + "locationName":"item" + } + }, + "FlowLogResourceId":{"type":"string"}, + "FlowLogResourceIds":{ + "type":"list", + "member":{ + "shape":"FlowLogResourceId", + "locationName":"item" + } + }, + "FlowLogSet":{ + "type":"list", + "member":{ + "shape":"FlowLog", + "locationName":"item" + } + }, + "FlowLogsResourceType":{ + "type":"string", + "enum":[ + "VPC", + "Subnet", + "NetworkInterface" + ] + }, + "FpgaDeviceCount":{"type":"integer"}, + "FpgaDeviceInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FpgaDeviceName", + "documentation":"

The name of the FPGA accelerator.

", + "locationName":"name" + }, + "Manufacturer":{ + "shape":"FpgaDeviceManufacturerName", + "documentation":"

The manufacturer of the FPGA accelerator.

", + "locationName":"manufacturer" + }, + "Count":{ + "shape":"FpgaDeviceCount", + "documentation":"

The count of FPGA accelerators for the instance type.

", + "locationName":"count" + }, + "MemoryInfo":{ + "shape":"FpgaDeviceMemoryInfo", + "documentation":"

Describes the memory for the FPGA accelerator for the instance type.

", + "locationName":"memoryInfo" + } + }, + "documentation":"

Describes the FPGA accelerator for the instance type.

" + }, + "FpgaDeviceInfoList":{ + "type":"list", + "member":{ + "shape":"FpgaDeviceInfo", + "locationName":"item" + } + }, + "FpgaDeviceManufacturerName":{"type":"string"}, + "FpgaDeviceMemoryInfo":{ + "type":"structure", + "members":{ + "SizeInMiB":{ + "shape":"FpgaDeviceMemorySize", + "documentation":"

The size (in MiB) for the memory available to the FPGA accelerator.

", + "locationName":"sizeInMiB" + } + }, + "documentation":"

Describes the memory for the FPGA accelerator for the instance type.

" + }, + "FpgaDeviceMemorySize":{"type":"integer"}, + "FpgaDeviceName":{"type":"string"}, + "FpgaImage":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The FPGA image identifier (AFI ID).

", + "locationName":"fpgaImageId" + }, + "FpgaImageGlobalId":{ + "shape":"String", + "documentation":"

The global FPGA image identifier (AGFI ID).

", + "locationName":"fpgaImageGlobalId" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the AFI.

", + "locationName":"name" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the AFI.

", + "locationName":"description" + }, + "ShellVersion":{ + "shape":"String", + "documentation":"

The version of the AWS Shell that was used to create the bitstream.

", + "locationName":"shellVersion" + }, + "PciId":{ + "shape":"PciId", + "documentation":"

Information about the PCI bus.

", + "locationName":"pciId" + }, + "State":{ + "shape":"FpgaImageState", + "documentation":"

Information about the state of the AFI.

", + "locationName":"state" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The date and time the AFI was created.

", + "locationName":"createTime" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The time of the most recent update to the AFI.

", + "locationName":"updateTime" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the AFI owner.

", + "locationName":"ownerId" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

", + "locationName":"ownerAlias" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes for the AFI.

", + "locationName":"productCodes" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the AFI.

", + "locationName":"tags" + }, + "Public":{ + "shape":"Boolean", + "documentation":"

Indicates whether the AFI is public.

", + "locationName":"public" + }, + "DataRetentionSupport":{ + "shape":"Boolean", + "documentation":"

Indicates whether data retention support is enabled for the AFI.

", + "locationName":"dataRetentionSupport" + } + }, + "documentation":"

Describes an Amazon FPGA image (AFI).

" + }, + "FpgaImageAttribute":{ + "type":"structure", + "members":{ + "FpgaImageId":{ + "shape":"String", + "documentation":"

The ID of the AFI.

", + "locationName":"fpgaImageId" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the AFI.

", + "locationName":"name" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the AFI.

", + "locationName":"description" + }, + "LoadPermissions":{ + "shape":"LoadPermissionList", + "documentation":"

The load permissions.

", + "locationName":"loadPermissions" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes.

", + "locationName":"productCodes" + } + }, + "documentation":"

Describes an Amazon FPGA image (AFI) attribute.

" + }, + "FpgaImageAttributeName":{ + "type":"string", + "enum":[ + "description", + "name", + "loadPermission", + "productCodes" + ] + }, + "FpgaImageId":{"type":"string"}, + "FpgaImageIdList":{ + "type":"list", + "member":{ + "shape":"FpgaImageId", + "locationName":"item" + } + }, + "FpgaImageList":{ + "type":"list", + "member":{ + "shape":"FpgaImage", + "locationName":"item" + } + }, + "FpgaImageState":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"FpgaImageStateCode", + "documentation":"

The state. The following are the possible values:

  • pending - AFI bitstream generation is in progress.

  • available - The AFI is available for use.

  • failed - AFI bitstream generation failed.

  • unavailable - The AFI is no longer available for use.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

If the state is failed, this is the error message.

", + "locationName":"message" + } + }, + "documentation":"

Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

" + }, + "FpgaImageStateCode":{ + "type":"string", + "enum":[ + "pending", + "failed", + "available", + "unavailable" + ] + }, + "FpgaInfo":{ + "type":"structure", + "members":{ + "Fpgas":{ + "shape":"FpgaDeviceInfoList", + "documentation":"

Describes the FPGAs for the instance type.

", + "locationName":"fpgas" + }, + "TotalFpgaMemoryInMiB":{ + "shape":"totalFpgaMemory", + "documentation":"

The total memory of all FPGA accelerators for the instance type.

", + "locationName":"totalFpgaMemoryInMiB" + } + }, + "documentation":"

Describes the FPGAs for the instance type.

" + }, + "FreeTierEligibleFlag":{"type":"boolean"}, + "GatewayType":{ + "type":"string", + "enum":["ipsec.1"] + }, + "GetAssociatedIpv6PoolCidrsRequest":{ + "type":"structure", + "required":["PoolId"], + "members":{ + "PoolId":{ + "shape":"Ipv6PoolEc2Id", + "documentation":"

The ID of the IPv6 address pool.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next page of results.

" + }, + "MaxResults":{ + "shape":"Ipv6PoolMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetAssociatedIpv6PoolCidrsResult":{ + "type":"structure", + "members":{ + "Ipv6CidrAssociations":{ + "shape":"Ipv6CidrAssociationSet", + "documentation":"

Information about the IPv6 CIDR block associations.

", + "locationName":"ipv6CidrAssociationSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "GetCapacityReservationUsageRequest":{ + "type":"structure", + "required":["CapacityReservationId"], + "members":{ + "CapacityReservationId":{ + "shape":"CapacityReservationId", + "documentation":"

The ID of the Capacity Reservation.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to retrieve the next page of results.

" + }, + "MaxResults":{ + "shape":"GetCapacityReservationUsageRequestMaxResults", + "documentation":"

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value.

Valid range: Minimum value of 1. Maximum value of 1000.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetCapacityReservationUsageRequestMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "GetCapacityReservationUsageResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + }, + "CapacityReservationId":{ + "shape":"String", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"capacityReservationId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The type of instance for which the Capacity Reservation reserves capacity.

", + "locationName":"instanceType" + }, + "TotalInstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances for which the Capacity Reservation reserves capacity.

", + "locationName":"totalInstanceCount" + }, + "AvailableInstanceCount":{ + "shape":"Integer", + "documentation":"

The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

", + "locationName":"availableInstanceCount" + }, + "State":{ + "shape":"CapacityReservationState", + "documentation":"

The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

  • active - The Capacity Reservation is active and the capacity is available for your use.

  • expired - The Capacity Reservation expired automatically at the date and time specified in your request. The reserved capacity is no longer available for your use.

  • cancelled - The Capacity Reservation was manually cancelled. The reserved capacity is no longer available for your use.

  • pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

  • failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

", + "locationName":"state" + }, + "InstanceUsages":{ + "shape":"InstanceUsageSet", + "documentation":"

Information about the Capacity Reservation usage.

", + "locationName":"instanceUsageSet" + } + } + }, + "GetCoipPoolUsageRequest":{ + "type":"structure", + "required":["PoolId"], + "members":{ + "PoolId":{ + "shape":"CoipPoolId", + "documentation":"

The ID of the address pool.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

The filters. The following are the possible values:

  • coip-address-usage.allocation-id

  • coip-address-usage.aws-account-id

  • coip-address-usage.aws-service

  • coip-address-usage.co-ip

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"CoipPoolMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetCoipPoolUsageResult":{ + "type":"structure", + "members":{ + "CoipPoolId":{ + "shape":"String", + "documentation":"

The ID of the customer-owned address pool.

", + "locationName":"coipPoolId" + }, + "CoipAddressUsages":{ + "shape":"CoipAddressUsageSet", + "documentation":"

Information about the address usage.

", + "locationName":"coipAddressUsageSet" + }, + "LocalGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + } + } + }, + "GetConsoleOutputRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Latest":{ + "shape":"Boolean", + "documentation":"

When enabled, retrieves the latest console output for the instance.

Default: disabled (false)

" + } + } + }, + "GetConsoleOutputResult":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Output":{ + "shape":"String", + "documentation":"

The console output, base64-encoded. If you are using a command line tool, the tool decodes the output for you.

", + "locationName":"output" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time at which the output was last updated.

", + "locationName":"timestamp" + } + } + }, + "GetConsoleScreenshotRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "WakeUp":{ + "shape":"Boolean", + "documentation":"

When set to true, acts as keystroke input and wakes up an instance that's in standby or \"sleep\" mode.

" + } + } + }, + "GetConsoleScreenshotResult":{ + "type":"structure", + "members":{ + "ImageData":{ + "shape":"String", + "documentation":"

The data that comprises the image.

", + "locationName":"imageData" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + } + } + }, + "GetDefaultCreditSpecificationRequest":{ + "type":"structure", + "required":["InstanceFamily"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceFamily":{ + "shape":"UnlimitedSupportedInstanceFamily", + "documentation":"

The instance family.

" + } + } + }, + "GetDefaultCreditSpecificationResult":{ + "type":"structure", + "members":{ + "InstanceFamilyCreditSpecification":{ + "shape":"InstanceFamilyCreditSpecification", + "documentation":"

The default credit option for CPU usage of the instance family.

", + "locationName":"instanceFamilyCreditSpecification" + } + } + }, + "GetEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, + "GetEbsEncryptionByDefaultRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetEbsEncryptionByDefaultResult":{ + "type":"structure", + "members":{ + "EbsEncryptionByDefault":{ + "shape":"Boolean", + "documentation":"

Indicates whether encryption by default is enabled.

", + "locationName":"ebsEncryptionByDefault" + } + } + }, + "GetHostReservationPurchasePreviewRequest":{ + "type":"structure", + "required":[ + "HostIdSet", + "OfferingId" + ], + "members":{ + "HostIdSet":{ + "shape":"RequestHostIdSet", + "documentation":"

The IDs of the Dedicated Hosts with which the reservation is associated.

" + }, + "OfferingId":{ + "shape":"OfferingId", + "documentation":"

The offering ID of the reservation.

" + } + } + }, + "GetHostReservationPurchasePreviewResult":{ + "type":"structure", + "members":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Purchase":{ + "shape":"PurchaseSet", + "documentation":"

The purchase information of the Dedicated Host reservation and the Dedicated Hosts associated with it.

", + "locationName":"purchase" + }, + "TotalHourlyPrice":{ + "shape":"String", + "documentation":"

The potential total hourly price of the reservation per hour.

", + "locationName":"totalHourlyPrice" + }, + "TotalUpfrontPrice":{ + "shape":"String", + "documentation":"

The potential total upfront price. This is billed immediately.

", + "locationName":"totalUpfrontPrice" + } + } + }, + "GetLaunchTemplateDataRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + } + } + }, + "GetLaunchTemplateDataResult":{ + "type":"structure", + "members":{ + "LaunchTemplateData":{ + "shape":"ResponseLaunchTemplateData", + "documentation":"

The instance data.

", + "locationName":"launchTemplateData" + } + } + }, + "GetPasswordDataRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the Windows instance.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "GetPasswordDataResult":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the Windows instance.

", + "locationName":"instanceId" + }, + "PasswordData":{ + "shape":"String", + "documentation":"

The password of the instance. Returns an empty string if the password is not available.

", + "locationName":"passwordData" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time the data was last updated.

", + "locationName":"timestamp" + } + } + }, + "GetReservedInstancesExchangeQuoteRequest":{ + "type":"structure", + "required":["ReservedInstanceIds"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ReservedInstanceIds":{ + "shape":"ReservedInstanceIdSet", + "documentation":"

The IDs of the Convertible Reserved Instances to exchange.

", + "locationName":"ReservedInstanceId" + }, + "TargetConfigurations":{ + "shape":"TargetConfigurationRequestSet", + "documentation":"

The configuration of the target Convertible Reserved Instance to exchange for your current Convertible Reserved Instances.

", + "locationName":"TargetConfiguration" + } + }, + "documentation":"

Contains the parameters for GetReservedInstanceExchangeQuote.

" + }, + "GetReservedInstancesExchangeQuoteResult":{ + "type":"structure", + "members":{ + "CurrencyCode":{ + "shape":"String", + "documentation":"

The currency of the transaction.

", + "locationName":"currencyCode" + }, + "IsValidExchange":{ + "shape":"Boolean", + "documentation":"

If true, the exchange is valid. If false, the exchange cannot be completed.

", + "locationName":"isValidExchange" + }, + "OutputReservedInstancesWillExpireAt":{ + "shape":"DateTime", + "documentation":"

The new end date of the reservation term.

", + "locationName":"outputReservedInstancesWillExpireAt" + }, + "PaymentDue":{ + "shape":"String", + "documentation":"

The total true upfront charge for the exchange.

", + "locationName":"paymentDue" + }, + "ReservedInstanceValueRollup":{ + "shape":"ReservationValue", + "documentation":"

The cost associated with the Reserved Instance.

", + "locationName":"reservedInstanceValueRollup" + }, + "ReservedInstanceValueSet":{ + "shape":"ReservedInstanceReservationValueSet", + "documentation":"

The configuration of your Convertible Reserved Instances.

", + "locationName":"reservedInstanceValueSet" + }, + "TargetConfigurationValueRollup":{ + "shape":"ReservationValue", + "documentation":"

The cost associated with the Reserved Instance.

", + "locationName":"targetConfigurationValueRollup" + }, + "TargetConfigurationValueSet":{ + "shape":"TargetReservationValueSet", + "documentation":"

The values of the target Convertible Reserved Instances.

", + "locationName":"targetConfigurationValueSet" + }, + "ValidationFailureReason":{ + "shape":"String", + "documentation":"

Describes the reason why the exchange cannot be completed.

", + "locationName":"validationFailureReason" + } + }, + "documentation":"

Contains the output of GetReservedInstancesExchangeQuote.

" + }, + "GetTransitGatewayAttachmentPropagationsRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • transit-gateway-route-table-id - The ID of the transit gateway route table.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetTransitGatewayAttachmentPropagationsResult":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentPropagations":{ + "shape":"TransitGatewayAttachmentPropagationList", + "documentation":"

Information about the propagation route tables.

", + "locationName":"transitGatewayAttachmentPropagations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "GetTransitGatewayMulticastDomainAssociationsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The type of resource. The valid value is: vpc.

  • state - The state of the subnet association. Valid values are associated | associating | disassociated | disassociating.

  • subnet-id - The ID of the subnet.

  • transit-gateway-attachment-id - The id of the transit gateway attachment.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetTransitGatewayMulticastDomainAssociationsResult":{ + "type":"structure", + "members":{ + "MulticastDomainAssociations":{ + "shape":"TransitGatewayMulticastDomainAssociationList", + "documentation":"

Information about the multicast domain associations.

", + "locationName":"multicastDomainAssociations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "GetTransitGatewayRouteTableAssociationsRequest":{ + "type":"structure", + "required":["TransitGatewayRouteTableId"], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The resource type (vpc | vpn).

  • transit-gateway-attachment-id - The ID of the attachment.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetTransitGatewayRouteTableAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"TransitGatewayRouteTableAssociationList", + "documentation":"

Information about the associations.

", + "locationName":"associations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "GetTransitGatewayRouteTablePropagationsRequest":{ + "type":"structure", + "required":["TransitGatewayRouteTableId"], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • resource-id - The ID of the resource.

  • resource-type - The resource type (vpc | vpn).

  • transit-gateway-attachment-id - The ID of the attachment.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "GetTransitGatewayRouteTablePropagationsResult":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTablePropagations":{ + "shape":"TransitGatewayRouteTablePropagationList", + "documentation":"

Information about the route table propagations.

", + "locationName":"transitGatewayRouteTablePropagations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "GpuDeviceCount":{"type":"integer"}, + "GpuDeviceInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"GpuDeviceName", + "documentation":"

The name of the GPU accelerator.

", + "locationName":"name" + }, + "Manufacturer":{ + "shape":"GpuDeviceManufacturerName", + "documentation":"

The manufacturer of the GPU accelerator.

", + "locationName":"manufacturer" + }, + "Count":{ + "shape":"GpuDeviceCount", + "documentation":"

The number of GPUs for the instance type.

", + "locationName":"count" + }, + "MemoryInfo":{ + "shape":"GpuDeviceMemoryInfo", + "documentation":"

Describes the memory available to the GPU accelerator.

", + "locationName":"memoryInfo" + } + }, + "documentation":"

Describes the GPU accelerators for the instance type.

" + }, + "GpuDeviceInfoList":{ + "type":"list", + "member":{ + "shape":"GpuDeviceInfo", + "locationName":"item" + } + }, + "GpuDeviceManufacturerName":{"type":"string"}, + "GpuDeviceMemoryInfo":{ + "type":"structure", + "members":{ + "SizeInMiB":{ + "shape":"GpuDeviceMemorySize", + "documentation":"

The size (in MiB) for the memory available to the GPU accelerator.

", + "locationName":"sizeInMiB" + } + }, + "documentation":"

Describes the memory available to the GPU accelerator.

" + }, + "GpuDeviceMemorySize":{"type":"integer"}, + "GpuDeviceName":{"type":"string"}, + "GpuInfo":{ + "type":"structure", + "members":{ + "Gpus":{ + "shape":"GpuDeviceInfoList", + "documentation":"

Describes the GPU accelerators for the instance type.

", + "locationName":"gpus" + }, + "TotalGpuMemoryInMiB":{ + "shape":"totalGpuMemory", + "documentation":"

The total size of the memory for the GPU accelerators for the instance type.

", + "locationName":"totalGpuMemoryInMiB" + } + }, + "documentation":"

Describes the GPU accelerators for the instance type.

" + }, + "GroupIdStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"groupId" + } + }, + "GroupIdentifier":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

", + "locationName":"groupName" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + } + }, + "documentation":"

Describes a security group.

" + }, + "GroupIdentifierList":{ + "type":"list", + "member":{ + "shape":"GroupIdentifier", + "locationName":"item" + } + }, + "GroupIdentifierSet":{ + "type":"list", + "member":{ + "shape":"SecurityGroupIdentifier", + "locationName":"item" + } + }, + "GroupIds":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"item" + } + }, + "GroupNameStringList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupName", + "locationName":"GroupName" + } + }, + "HibernationFlag":{"type":"boolean"}, + "HibernationOptions":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

If this parameter is set to true, your instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

", + "locationName":"configured" + } + }, + "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "HibernationOptionsRequest":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

If you set this parameter to true, your instance is enabled for hibernation.

Default: false

" + } + }, + "documentation":"

Indicates whether your instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "HistoryRecord":{ + "type":"structure", + "members":{ + "EventInformation":{ + "shape":"EventInformation", + "documentation":"

Information about the event.

", + "locationName":"eventInformation" + }, + "EventType":{ + "shape":"EventType", + "documentation":"

The event type.

  • error - An error with the Spot Fleet request.

  • fleetRequestChange - A change in the status or configuration of the Spot Fleet request.

  • instanceChange - An instance was launched or terminated.

  • Information - An informational event.

", + "locationName":"eventType" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"timestamp" + } + }, + "documentation":"

Describes an event in the history of the Spot Fleet request.

" + }, + "HistoryRecordEntry":{ + "type":"structure", + "members":{ + "EventInformation":{ + "shape":"EventInformation", + "documentation":"

Information about the event.

", + "locationName":"eventInformation" + }, + "EventType":{ + "shape":"FleetEventType", + "documentation":"

The event type.

", + "locationName":"eventType" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"timestamp" + } + }, + "documentation":"

Describes an event in the history of an EC2 Fleet.

" + }, + "HistoryRecordSet":{ + "type":"list", + "member":{ + "shape":"HistoryRecordEntry", + "locationName":"item" + } + }, + "HistoryRecords":{ + "type":"list", + "member":{ + "shape":"HistoryRecord", + "locationName":"item" + } + }, + "Host":{ + "type":"structure", + "members":{ + "AutoPlacement":{ + "shape":"AutoPlacement", + "documentation":"

Whether auto-placement is on or off.

", + "locationName":"autoPlacement" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the Dedicated Host.

", + "locationName":"availabilityZone" + }, + "AvailableCapacity":{ + "shape":"AvailableCapacity", + "documentation":"

Information about the instances running on the Dedicated Host.

", + "locationName":"availableCapacity" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + }, + "HostId":{ + "shape":"String", + "documentation":"

The ID of the Dedicated Host.

", + "locationName":"hostId" + }, + "HostProperties":{ + "shape":"HostProperties", + "documentation":"

The hardware specifications of the Dedicated Host.

", + "locationName":"hostProperties" + }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The reservation ID of the Dedicated Host. This returns a null response if the Dedicated Host doesn't have an associated reservation.

", + "locationName":"hostReservationId" + }, + "Instances":{ + "shape":"HostInstanceList", + "documentation":"

The IDs and instance type that are currently running on the Dedicated Host.

", + "locationName":"instances" + }, + "State":{ + "shape":"AllocationState", + "documentation":"

The Dedicated Host's state.

", + "locationName":"state" + }, + "AllocationTime":{ + "shape":"DateTime", + "documentation":"

The time that the Dedicated Host was allocated.

", + "locationName":"allocationTime" + }, + "ReleaseTime":{ + "shape":"DateTime", + "documentation":"

The time that the Dedicated Host was released.

", + "locationName":"releaseTime" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Dedicated Host.

", + "locationName":"tagSet" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether host recovery is enabled or disabled for the Dedicated Host.

", + "locationName":"hostRecovery" + }, + "AllowsMultipleInstanceTypes":{ + "shape":"AllowsMultipleInstanceTypes", + "documentation":"

Indicates whether the Dedicated Host supports multiple instance types of the same instance family, or a specific instance type only. one indicates that the Dedicated Host supports multiple instance types in the instance family. off indicates that the Dedicated Host supports a single instance type only.

", + "locationName":"allowsMultipleInstanceTypes" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the Dedicated Host.

", + "locationName":"ownerId" + }, + "AvailabilityZoneId":{ + "shape":"String", + "documentation":"

The ID of the Availability Zone in which the Dedicated Host is allocated.

", + "locationName":"availabilityZoneId" + }, + "MemberOfServiceLinkedResourceGroup":{ + "shape":"Boolean", + "documentation":"

Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup is true, the host is in a host resource group; otherwise, it is not.

", + "locationName":"memberOfServiceLinkedResourceGroup" + } + }, + "documentation":"

Describes the properties of the Dedicated Host.

" + }, + "HostInstance":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of instance that is running on the Dedicated Host.

", + "locationName":"instanceId" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type (for example, m3.medium) of the running instance.

", + "locationName":"instanceType" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the instance.

", + "locationName":"ownerId" + } + }, + "documentation":"

Describes an instance running on a Dedicated Host.

" + }, + "HostInstanceList":{ + "type":"list", + "member":{ + "shape":"HostInstance", + "locationName":"item" + } + }, + "HostList":{ + "type":"list", + "member":{ + "shape":"Host", + "locationName":"item" + } + }, + "HostOffering":{ + "type":"structure", + "members":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency of the offering.

", + "locationName":"currencyCode" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration of the offering (in seconds).

", + "locationName":"duration" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price of the offering.

", + "locationName":"hourlyPrice" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

The instance family of the offering.

", + "locationName":"instanceFamily" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the offering.

", + "locationName":"offeringId" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The available payment option.

", + "locationName":"paymentOption" + }, + "UpfrontPrice":{ + "shape":"String", + "documentation":"

The upfront price of the offering. Does not apply to No Upfront offerings.

", + "locationName":"upfrontPrice" + } + }, + "documentation":"

Details about the Dedicated Host Reservation offering.

" + }, + "HostOfferingSet":{ + "type":"list", + "member":{ + "shape":"HostOffering", + "locationName":"item" + } + }, + "HostProperties":{ + "type":"structure", + "members":{ + "Cores":{ + "shape":"Integer", + "documentation":"

The number of cores on the Dedicated Host.

", + "locationName":"cores" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type supported by the Dedicated Host. For example, m5.large. If the host supports multiple instance types, no instanceType is returned.

", + "locationName":"instanceType" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

The instance family supported by the Dedicated Host. For example, m5.

", + "locationName":"instanceFamily" + }, + "Sockets":{ + "shape":"Integer", + "documentation":"

The number of sockets on the Dedicated Host.

", + "locationName":"sockets" + }, + "TotalVCpus":{ + "shape":"Integer", + "documentation":"

The total number of vCPUs on the Dedicated Host.

", + "locationName":"totalVCpus" + } + }, + "documentation":"

Describes the properties of a Dedicated Host.

" + }, + "HostRecovery":{ + "type":"string", + "enum":[ + "on", + "off" + ] + }, + "HostReservation":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"Integer", + "documentation":"

The number of Dedicated Hosts the reservation is associated with.

", + "locationName":"count" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the upfrontPrice and hourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The length of the reservation's term, specified in seconds. Can be 31536000 (1 year) | 94608000 (3 years).

", + "locationName":"duration" + }, + "End":{ + "shape":"DateTime", + "documentation":"

The date and time that the reservation ends.

", + "locationName":"end" + }, + "HostIdSet":{ + "shape":"ResponseHostIdSet", + "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", + "locationName":"hostIdSet" + }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation that specifies the associated Dedicated Hosts.

", + "locationName":"hostReservationId" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price of the reservation.

", + "locationName":"hourlyPrice" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

The instance family of the Dedicated Host Reservation. The instance family on the Dedicated Host must be the same in order for it to benefit from the reservation.

", + "locationName":"instanceFamily" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the reservation. This remains the same regardless of which Dedicated Hosts are associated with it.

", + "locationName":"offeringId" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option selected for this reservation.

", + "locationName":"paymentOption" + }, + "Start":{ + "shape":"DateTime", + "documentation":"

The date and time that the reservation started.

", + "locationName":"start" + }, + "State":{ + "shape":"ReservationState", + "documentation":"

The state of the reservation.

", + "locationName":"state" + }, + "UpfrontPrice":{ + "shape":"String", + "documentation":"

The upfront price of the reservation.

", + "locationName":"upfrontPrice" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the Dedicated Host Reservation.

", + "locationName":"tagSet" + } + }, + "documentation":"

Details about the Dedicated Host Reservation and associated Dedicated Hosts.

" + }, + "HostReservationId":{"type":"string"}, + "HostReservationIdSet":{ + "type":"list", + "member":{ + "shape":"HostReservationId", + "locationName":"item" + } + }, + "HostReservationSet":{ + "type":"list", + "member":{ + "shape":"HostReservation", + "locationName":"item" + } + }, + "HostTenancy":{ + "type":"string", + "enum":[ + "dedicated", + "host" + ] + }, + "HttpTokensState":{ + "type":"string", + "enum":[ + "optional", + "required" + ] + }, + "HypervisorType":{ + "type":"string", + "enum":[ + "ovm", + "xen" + ] + }, + "IKEVersionsList":{ + "type":"list", + "member":{ + "shape":"IKEVersionsListValue", + "locationName":"item" + } + }, + "IKEVersionsListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The IKE version.

", + "locationName":"value" + } + }, + "documentation":"

The internet key exchange (IKE) version permitted for the VPN tunnel.

" + }, + "IKEVersionsRequestList":{ + "type":"list", + "member":{ + "shape":"IKEVersionsRequestListValue", + "locationName":"item" + } + }, + "IKEVersionsRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The IKE version.

" + } + }, + "documentation":"

The IKE version that is permitted for the VPN tunnel.

" + }, + "IamInstanceProfile":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", + "locationName":"arn" + }, + "Id":{ + "shape":"String", + "documentation":"

The ID of the instance profile.

", + "locationName":"id" + } + }, + "documentation":"

Describes an IAM instance profile.

" + }, + "IamInstanceProfileAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"associationId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "State":{ + "shape":"IamInstanceProfileAssociationState", + "documentation":"

The state of the association.

", + "locationName":"state" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The time the IAM instance profile was associated with the instance.

", + "locationName":"timestamp" + } + }, + "documentation":"

Describes an association between an IAM instance profile and an instance.

" + }, + "IamInstanceProfileAssociationId":{"type":"string"}, + "IamInstanceProfileAssociationSet":{ + "type":"list", + "member":{ + "shape":"IamInstanceProfileAssociation", + "locationName":"item" + } + }, + "IamInstanceProfileAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated" + ] + }, + "IamInstanceProfileSpecification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", + "locationName":"arn" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the instance profile.

", + "locationName":"name" + } + }, + "documentation":"

Describes an IAM instance profile.

" + }, + "IcmpTypeCode":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"Integer", + "documentation":"

The ICMP code. A value of -1 means all codes for the specified ICMP type.

", + "locationName":"code" + }, + "Type":{ + "shape":"Integer", + "documentation":"

The ICMP type. A value of -1 means all types.

", + "locationName":"type" + } + }, + "documentation":"

Describes the ICMP type and code.

" + }, + "IdFormat":{ + "type":"structure", + "members":{ + "Deadline":{ + "shape":"DateTime", + "documentation":"

The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

", + "locationName":"deadline" + }, + "Resource":{ + "shape":"String", + "documentation":"

The type of resource.

", + "locationName":"resource" + }, + "UseLongIds":{ + "shape":"Boolean", + "documentation":"

Indicates whether longer IDs (17-character IDs) are enabled for the resource.

", + "locationName":"useLongIds" + } + }, + "documentation":"

Describes the ID format for a resource.

" + }, + "IdFormatList":{ + "type":"list", + "member":{ + "shape":"IdFormat", + "locationName":"item" + } + }, + "Image":{ + "type":"structure", + "members":{ + "Architecture":{ + "shape":"ArchitectureValues", + "documentation":"

The architecture of the image.

", + "locationName":"architecture" + }, + "CreationDate":{ + "shape":"String", + "documentation":"

The date and time the image was created.

", + "locationName":"creationDate" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "ImageLocation":{ + "shape":"String", + "documentation":"

The location of the AMI.

", + "locationName":"imageLocation" + }, + "ImageType":{ + "shape":"ImageTypeValues", + "documentation":"

The type of image.

", + "locationName":"imageType" + }, + "Public":{ + "shape":"Boolean", + "documentation":"

Indicates whether the image has public launch permissions. The value is true if this image has public launch permissions or false if it has only implicit and explicit launch permissions.

", + "locationName":"isPublic" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The kernel associated with the image, if any. Only applicable for machine images.

", + "locationName":"kernelId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the image owner.

", + "locationName":"imageOwnerId" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

This value is set to windows for Windows AMIs; otherwise, it is blank.

", + "locationName":"platform" + }, + "PlatformDetails":{ + "shape":"String", + "documentation":"

The platform details associated with the billing code of the AMI. For more information, see Obtaining Billing Information in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"platformDetails" + }, + "UsageOperation":{ + "shape":"String", + "documentation":"

The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. usageOperation corresponds to the lineitem/Operation column on your AWS Cost and Usage Report and in the AWS Price List API. For the list of UsageOperation codes, see Platform Details and Usage Operation Billing Codes in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"usageOperation" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

Any product codes associated with the AMI.

", + "locationName":"productCodes" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The RAM disk associated with the image, if any. Only applicable for machine images.

", + "locationName":"ramdiskId" + }, + "State":{ + "shape":"ImageState", + "documentation":"

The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

", + "locationName":"imageState" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

Any block device mapping entries.

", + "locationName":"blockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the AMI that was provided during image creation.

", + "locationName":"description" + }, + "EnaSupport":{ + "shape":"Boolean", + "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", + "locationName":"enaSupport" + }, + "Hypervisor":{ + "shape":"HypervisorType", + "documentation":"

The hypervisor type of the image.

", + "locationName":"hypervisor" + }, + "ImageOwnerAlias":{ + "shape":"String", + "documentation":"

The AWS account alias (for example, amazon, self) or the AWS account ID of the AMI owner.

", + "locationName":"imageOwnerAlias" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the AMI that was provided during image creation.

", + "locationName":"name" + }, + "RootDeviceName":{ + "shape":"String", + "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", + "locationName":"rootDeviceName" + }, + "RootDeviceType":{ + "shape":"DeviceType", + "documentation":"

The type of root device used by the AMI. The AMI can use an EBS volume or an instance store volume.

", + "locationName":"rootDeviceType" + }, + "SriovNetSupport":{ + "shape":"String", + "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "locationName":"sriovNetSupport" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the state change.

", + "locationName":"stateReason" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the image.

", + "locationName":"tagSet" + }, + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The type of virtualization of the AMI.

", + "locationName":"virtualizationType" + } + }, + "documentation":"

Describes an image.

" + }, + "ImageAttribute":{ + "type":"structure", + "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

The block device mapping entries.

", + "locationName":"blockDeviceMapping" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "LaunchPermissions":{ + "shape":"LaunchPermissionList", + "documentation":"

The launch permissions.

", + "locationName":"launchPermission" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes.

", + "locationName":"productCodes" + }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

A description for the AMI.

", + "locationName":"description" + }, + "KernelId":{ + "shape":"AttributeValue", + "documentation":"

The kernel ID.

", + "locationName":"kernel" + }, + "RamdiskId":{ + "shape":"AttributeValue", + "documentation":"

The RAM disk ID.

", + "locationName":"ramdisk" + }, + "SriovNetSupport":{ + "shape":"AttributeValue", + "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "locationName":"sriovNetSupport" + } + }, + "documentation":"

Describes an image attribute.

" + }, + "ImageAttributeName":{ + "type":"string", + "enum":[ + "description", + "kernel", + "ramdisk", + "launchPermission", + "productCodes", + "blockDeviceMapping", + "sriovNetSupport" + ] + }, + "ImageDiskContainer":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the disk image.

" + }, + "DeviceName":{ + "shape":"String", + "documentation":"

The block device mapping for the disk.

" + }, + "Format":{ + "shape":"String", + "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK | OVA

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the EBS snapshot to be used for importing the snapshot.

" + }, + "Url":{ + "shape":"String", + "documentation":"

The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an Amazon S3 URL (s3://..)

" + }, + "UserBucket":{ + "shape":"UserBucket", + "documentation":"

The S3 bucket for the disk image.

" + } + }, + "documentation":"

Describes the disk container object for an import image task.

" + }, + "ImageDiskContainerList":{ + "type":"list", + "member":{ + "shape":"ImageDiskContainer", + "locationName":"item" + } + }, + "ImageId":{"type":"string"}, + "ImageIdStringList":{ + "type":"list", + "member":{ + "shape":"ImageId", + "locationName":"ImageId" + } + }, + "ImageList":{ + "type":"list", + "member":{ + "shape":"Image", + "locationName":"item" + } + }, + "ImageState":{ + "type":"string", + "enum":[ + "pending", + "available", + "invalid", + "deregistered", + "transient", + "failed", + "error" + ] + }, + "ImageTypeValues":{ + "type":"string", + "enum":[ + "machine", + "kernel", + "ramdisk" + ] + }, + "ImportClientVpnClientCertificateRevocationListRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "CertificateRevocationList" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint to which the client certificate revocation list applies.

" + }, + "CertificateRevocationList":{ + "shape":"String", + "documentation":"

The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the AWS Client VPN Administrator Guide.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ImportClientVpnClientCertificateRevocationListResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ImportImageLicenseConfigurationRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The ARN of a license configuration.

" + } + }, + "documentation":"

The request information of license configurations.

" + }, + "ImportImageLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The ARN of a license configuration.

", + "locationName":"licenseConfigurationArn" + } + }, + "documentation":"

The response information for license configurations.

" + }, + "ImportImageLicenseSpecificationListRequest":{ + "type":"list", + "member":{ + "shape":"ImportImageLicenseConfigurationRequest", + "locationName":"item" + } + }, + "ImportImageLicenseSpecificationListResponse":{ + "type":"list", + "member":{ + "shape":"ImportImageLicenseConfigurationResponse", + "locationName":"item" + } + }, + "ImportImageRequest":{ + "type":"structure", + "members":{ + "Architecture":{ + "shape":"String", + "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

" + }, + "ClientData":{ + "shape":"ClientData", + "documentation":"

The client-specific data.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

The token to enable idempotency for VM import requests.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description string for the import image task.

" + }, + "DiskContainers":{ + "shape":"ImageDiskContainerList", + "documentation":"

Information about the disk containers.

", + "locationName":"DiskContainer" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "Hypervisor":{ + "shape":"String", + "documentation":"

The target hypervisor platform.

Valid values: xen

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the AMI is being copied to.

Amazon EBS does not support asymmetric CMKs.

" + }, + "LicenseType":{ + "shape":"String", + "documentation":"

The license type to be used for the Amazon Machine Image (AMI) after importing.

By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL to retain the source-system license, if appropriate.

To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

" + }, + "Platform":{ + "shape":"String", + "documentation":"

The operating system of the virtual machine.

Valid values: Windows | Linux

" + }, + "RoleName":{ + "shape":"String", + "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" + }, + "LicenseSpecifications":{ + "shape":"ImportImageLicenseSpecificationListRequest", + "documentation":"

The ARNs of the license configurations.

" + } + } + }, + "ImportImageResult":{ + "type":"structure", + "members":{ + "Architecture":{ + "shape":"String", + "documentation":"

The architecture of the virtual machine.

", + "locationName":"architecture" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the import task.

", + "locationName":"description" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the AMI is encypted.

", + "locationName":"encrypted" + }, + "Hypervisor":{ + "shape":"String", + "documentation":"

The target hypervisor of the import task.

", + "locationName":"hypervisor" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Machine Image (AMI) created by the import task.

", + "locationName":"imageId" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The task ID of the import image task.

", + "locationName":"importTaskId" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted AMI.

", + "locationName":"kmsKeyId" + }, + "LicenseType":{ + "shape":"String", + "documentation":"

The license type of the virtual machine.

", + "locationName":"licenseType" + }, + "Platform":{ + "shape":"String", + "documentation":"

The operating system of the virtual machine.

", + "locationName":"platform" + }, + "Progress":{ + "shape":"String", + "documentation":"

The progress of the task.

", + "locationName":"progress" + }, + "SnapshotDetails":{ + "shape":"SnapshotDetailList", + "documentation":"

Information about the snapshots.

", + "locationName":"snapshotDetailSet" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status of the task.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A detailed status message of the import task.

", + "locationName":"statusMessage" + }, + "LicenseSpecifications":{ + "shape":"ImportImageLicenseSpecificationListResponse", + "documentation":"

The ARNs of the license configurations.

", + "locationName":"licenseSpecifications" + } + } + }, + "ImportImageTask":{ + "type":"structure", + "members":{ + "Architecture":{ + "shape":"String", + "documentation":"

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

", + "locationName":"architecture" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the import task.

", + "locationName":"description" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the image is encrypted.

", + "locationName":"encrypted" + }, + "Hypervisor":{ + "shape":"String", + "documentation":"

The target hypervisor for the import task.

Valid values: xen

", + "locationName":"hypervisor" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", + "locationName":"imageId" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The ID of the import image task.

", + "locationName":"importTaskId" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted image.

", + "locationName":"kmsKeyId" + }, + "LicenseType":{ + "shape":"String", + "documentation":"

The license type of the virtual machine.

", + "locationName":"licenseType" + }, + "Platform":{ + "shape":"String", + "documentation":"

The description string for the import image task.

", + "locationName":"platform" + }, + "Progress":{ + "shape":"String", + "documentation":"

The percentage of progress of the import image task.

", + "locationName":"progress" + }, + "SnapshotDetails":{ + "shape":"SnapshotDetailList", + "documentation":"

Information about the snapshots.

", + "locationName":"snapshotDetailSet" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status for the import image task.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A descriptive status message for the import image task.

", + "locationName":"statusMessage" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the import image task.

", + "locationName":"tagSet" + }, + "LicenseSpecifications":{ + "shape":"ImportImageLicenseSpecificationListResponse", + "documentation":"

The ARNs of the license configurations that are associated with the import image task.

", + "locationName":"licenseSpecifications" + } + }, + "documentation":"

Describes an import image task.

" + }, + "ImportImageTaskId":{"type":"string"}, + "ImportImageTaskList":{ + "type":"list", + "member":{ + "shape":"ImportImageTask", + "locationName":"item" + } + }, + "ImportInstanceLaunchSpecification":{ + "type":"structure", + "members":{ + "AdditionalInfo":{ + "shape":"String", + "documentation":"

Reserved.

", + "locationName":"additionalInfo" + }, + "Architecture":{ + "shape":"ArchitectureValues", + "documentation":"

The architecture of the instance.

", + "locationName":"architecture" + }, + "GroupIds":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

The security group IDs.

", + "locationName":"GroupId" + }, + "GroupNames":{ + "shape":"SecurityGroupStringList", + "documentation":"

The security group names.

", + "locationName":"GroupName" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"ShutdownBehavior", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information about the instance types that you can import, see Instance Types in the VM Import/Export User Guide.

", + "locationName":"instanceType" + }, + "Monitoring":{ + "shape":"Boolean", + "documentation":"

Indicates whether monitoring is enabled.

", + "locationName":"monitoring" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

[EC2-VPC] An available IP address from the IP address range of the subnet.

", + "locationName":"privateIpAddress" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

[EC2-VPC] The ID of the subnet in which to launch the instance.

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"UserData", + "documentation":"

The Base64-encoded user data to make available to the instance.

", + "locationName":"userData" + } + }, + "documentation":"

Describes the launch specification for VM import.

" + }, + "ImportInstanceRequest":{ + "type":"structure", + "required":["Platform"], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the instance being imported.

", + "locationName":"description" + }, + "DiskImages":{ + "shape":"DiskImageList", + "documentation":"

The disk image.

", + "locationName":"diskImage" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "LaunchSpecification":{ + "shape":"ImportInstanceLaunchSpecification", + "documentation":"

The launch specification.

", + "locationName":"launchSpecification" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The instance operating system.

", + "locationName":"platform" + } + } + }, + "ImportInstanceResult":{ + "type":"structure", + "members":{ + "ConversionTask":{ + "shape":"ConversionTask", + "documentation":"

Information about the conversion task.

", + "locationName":"conversionTask" + } + } + }, + "ImportInstanceTaskDetails":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the task.

", + "locationName":"description" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The instance operating system.

", + "locationName":"platform" + }, + "Volumes":{ + "shape":"ImportInstanceVolumeDetailSet", + "documentation":"

The volumes.

", + "locationName":"volumes" + } + }, + "documentation":"

Describes an import instance task.

" + }, + "ImportInstanceVolumeDetailItem":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone where the resulting instance will reside.

", + "locationName":"availabilityZone" + }, + "BytesConverted":{ + "shape":"Long", + "documentation":"

The number of bytes converted so far.

", + "locationName":"bytesConverted" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the task.

", + "locationName":"description" + }, + "Image":{ + "shape":"DiskImageDescription", + "documentation":"

The image.

", + "locationName":"image" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the import of this particular disk image.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status information or errors related to the disk image.

", + "locationName":"statusMessage" + }, + "Volume":{ + "shape":"DiskImageVolumeDescription", + "documentation":"

The volume.

", + "locationName":"volume" + } + }, + "documentation":"

Describes an import volume task.

" + }, + "ImportInstanceVolumeDetailSet":{ + "type":"list", + "member":{ + "shape":"ImportInstanceVolumeDetailItem", + "locationName":"item" + } + }, + "ImportKeyPairRequest":{ + "type":"structure", + "required":[ + "KeyName", + "PublicKeyMaterial" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "KeyName":{ + "shape":"String", + "documentation":"

A unique name for the key pair.

", + "locationName":"keyName" + }, + "PublicKeyMaterial":{ + "shape":"Blob", + "documentation":"

The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

", + "locationName":"publicKeyMaterial" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the imported key pair.

", + "locationName":"TagSpecification" + } + } + }, + "ImportKeyPairResult":{ + "type":"structure", + "members":{ + "KeyFingerprint":{ + "shape":"String", + "documentation":"

The MD5 public key fingerprint as specified in section 4 of RFC 4716.

", + "locationName":"keyFingerprint" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The key pair name you provided.

", + "locationName":"keyName" + }, + "KeyPairId":{ + "shape":"String", + "documentation":"

The ID of the resulting key pair.

", + "locationName":"keyPairId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags applied to the imported key pair.

", + "locationName":"tagSet" + } + } + }, + "ImportSnapshotRequest":{ + "type":"structure", + "members":{ + "ClientData":{ + "shape":"ClientData", + "documentation":"

The client-specific data.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Token to enable idempotency for VM import requests.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description string for the import snapshot task.

" + }, + "DiskContainer":{ + "shape":"SnapshotDiskContainer", + "documentation":"

Information about the disk container.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

  • Key ID

  • Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

  • ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the key namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the CMK, the AWS account ID of the CMK owner, the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the snapshot is being copied to.

Amazon EBS does not support asymmetric CMKs.

" + }, + "RoleName":{ + "shape":"String", + "documentation":"

The name of the role to use when not using the default role, 'vmimport'.

" + } + } + }, + "ImportSnapshotResult":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the import snapshot task.

", + "locationName":"description" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The ID of the import snapshot task.

", + "locationName":"importTaskId" + }, + "SnapshotTaskDetail":{ + "shape":"SnapshotTaskDetail", + "documentation":"

Information about the import snapshot task.

", + "locationName":"snapshotTaskDetail" + } + } + }, + "ImportSnapshotTask":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the import snapshot task.

", + "locationName":"description" + }, + "ImportTaskId":{ + "shape":"String", + "documentation":"

The ID of the import snapshot task.

", + "locationName":"importTaskId" + }, + "SnapshotTaskDetail":{ + "shape":"SnapshotTaskDetail", + "documentation":"

Describes an import snapshot task.

", + "locationName":"snapshotTaskDetail" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the import snapshot task.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an import snapshot task.

" + }, + "ImportSnapshotTaskId":{"type":"string"}, + "ImportSnapshotTaskIdList":{ + "type":"list", + "member":{ + "shape":"ImportSnapshotTaskId", + "locationName":"ImportTaskId" + } + }, + "ImportSnapshotTaskList":{ + "type":"list", + "member":{ + "shape":"ImportSnapshotTask", + "locationName":"item" + } + }, + "ImportTaskId":{"type":"string"}, + "ImportTaskIdList":{ + "type":"list", + "member":{ + "shape":"ImportImageTaskId", + "locationName":"ImportTaskId" + } + }, + "ImportVolumeRequest":{ + "type":"structure", + "required":[ + "AvailabilityZone", + "Image", + "Volume" + ], + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the resulting EBS volume.

", + "locationName":"availabilityZone" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the volume.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Image":{ + "shape":"DiskImageDetail", + "documentation":"

The disk image.

", + "locationName":"image" + }, + "Volume":{ + "shape":"VolumeDetail", + "documentation":"

The volume size.

", + "locationName":"volume" + } + } + }, + "ImportVolumeResult":{ + "type":"structure", + "members":{ + "ConversionTask":{ + "shape":"ConversionTask", + "documentation":"

Information about the conversion task.

", + "locationName":"conversionTask" + } + } + }, + "ImportVolumeTaskDetails":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone where the resulting volume will reside.

", + "locationName":"availabilityZone" + }, + "BytesConverted":{ + "shape":"Long", + "documentation":"

The number of bytes converted so far.

", + "locationName":"bytesConverted" + }, + "Description":{ + "shape":"String", + "documentation":"

The description you provided when starting the import volume task.

", + "locationName":"description" + }, + "Image":{ + "shape":"DiskImageDescription", + "documentation":"

The image.

", + "locationName":"image" + }, + "Volume":{ + "shape":"DiskImageVolumeDescription", + "documentation":"

The volume.

", + "locationName":"volume" + } + }, + "documentation":"

Describes an import volume task.

" + }, + "InferenceAcceleratorInfo":{ + "type":"structure", + "members":{ + "Accelerators":{ + "shape":"InferenceDeviceInfoList", + "documentation":"

Describes the Inference accelerators for the instance type.

", + "locationName":"accelerators" + } + }, + "documentation":"

Describes the Inference accelerators for the instance type.

" + }, + "InferenceDeviceCount":{"type":"integer"}, + "InferenceDeviceInfo":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"InferenceDeviceCount", + "documentation":"

The number of Inference accelerators for the instance type.

", + "locationName":"count" + }, + "Name":{ + "shape":"InferenceDeviceName", + "documentation":"

The name of the Inference accelerator.

", + "locationName":"name" + }, + "Manufacturer":{ + "shape":"InferenceDeviceManufacturerName", + "documentation":"

The manufacturer of the Inference accelerator.

", + "locationName":"manufacturer" + } + }, + "documentation":"

Describes the Inference accelerators for the instance type.

" + }, + "InferenceDeviceInfoList":{ + "type":"list", + "member":{"shape":"InferenceDeviceInfo"}, + "locationName":"item" + }, + "InferenceDeviceManufacturerName":{"type":"string"}, + "InferenceDeviceName":{"type":"string"}, + "Instance":{ + "type":"structure", + "members":{ + "AmiLaunchIndex":{ + "shape":"Integer", + "documentation":"

The AMI launch index, which can be used to find this instance in the launch group.

", + "locationName":"amiLaunchIndex" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI used to launch the instance.

", + "locationName":"imageId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The kernel associated with this instance, if applicable.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair, if this instance was launched with an associated key pair.

", + "locationName":"keyName" + }, + "LaunchTime":{ + "shape":"DateTime", + "documentation":"

The time the instance was launched.

", + "locationName":"launchTime" + }, + "Monitoring":{ + "shape":"Monitoring", + "documentation":"

The monitoring for the instance.

", + "locationName":"monitoring" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The location where the instance launched, if applicable.

", + "locationName":"placement" + }, + "Platform":{ + "shape":"PlatformValues", + "documentation":"

The value is Windows for Windows instances; otherwise blank.

", + "locationName":"platform" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

(IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname can only be used inside the Amazon EC2 network. This name is not available until the instance enters the running state.

[EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not using the Amazon-provided DNS server in your VPC, your custom domain name servers must resolve the hostname as appropriate.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address assigned to the instance.

", + "locationName":"privateIpAddress" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

The product codes attached to this instance, if applicable.

", + "locationName":"productCodes" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

(IPv4 only) The public DNS name assigned to the instance. This name is not available until the instance enters the running state. For EC2-VPC, this name is only available if you've enabled DNS hostnames for your VPC.

", + "locationName":"dnsName" + }, + "PublicIpAddress":{ + "shape":"String", + "documentation":"

The public IPv4 address assigned to the instance, if applicable.

", + "locationName":"ipAddress" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The RAM disk associated with this instance, if applicable.

", + "locationName":"ramdiskId" + }, + "State":{ + "shape":"InstanceState", + "documentation":"

The current state of the instance.

", + "locationName":"instanceState" + }, + "StateTransitionReason":{ + "shape":"String", + "documentation":"

The reason for the most recent state transition. This might be an empty string.

", + "locationName":"reason" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID of the subnet in which the instance is running.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

[EC2-VPC] The ID of the VPC in which the instance is running.

", + "locationName":"vpcId" + }, + "Architecture":{ + "shape":"ArchitectureValues", + "documentation":"

The architecture of the image.

", + "locationName":"architecture" + }, + "BlockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappingList", + "documentation":"

Any block device mapping entries for the instance.

", + "locationName":"blockDeviceMapping" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

The idempotency token you provided when you launched the instance, if applicable.

", + "locationName":"clientToken" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", + "locationName":"ebsOptimized" + }, + "EnaSupport":{ + "shape":"Boolean", + "documentation":"

Specifies whether enhanced networking with ENA is enabled.

", + "locationName":"enaSupport" + }, + "Hypervisor":{ + "shape":"HypervisorType", + "documentation":"

The hypervisor type of the instance. The value xen is used for both Xen and Nitro hypervisors.

", + "locationName":"hypervisor" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The IAM instance profile associated with the instance, if applicable.

", + "locationName":"iamInstanceProfile" + }, + "InstanceLifecycle":{ + "shape":"InstanceLifecycleType", + "documentation":"

Indicates whether this is a Spot Instance or a Scheduled Instance.

", + "locationName":"instanceLifecycle" + }, + "ElasticGpuAssociations":{ + "shape":"ElasticGpuAssociationList", + "documentation":"

The Elastic GPU associated with the instance.

", + "locationName":"elasticGpuAssociationSet" + }, + "ElasticInferenceAcceleratorAssociations":{ + "shape":"ElasticInferenceAcceleratorAssociationList", + "documentation":"

The elastic inference accelerator associated with the instance.

", + "locationName":"elasticInferenceAcceleratorAssociationSet" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceList", + "documentation":"

[EC2-VPC] The network interfaces for the instance.

", + "locationName":"networkInterfaceSet" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "RootDeviceName":{ + "shape":"String", + "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", + "locationName":"rootDeviceName" + }, + "RootDeviceType":{ + "shape":"DeviceType", + "documentation":"

The root device type used by the AMI. The AMI can use an EBS volume or an instance store volume.

", + "locationName":"rootDeviceType" + }, + "SecurityGroups":{ + "shape":"GroupIdentifierList", + "documentation":"

The security groups for the instance.

", + "locationName":"groupSet" + }, + "SourceDestCheck":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable an instance launched in a VPC to perform NAT. This controls whether source/destination checking is enabled on the instance. A value of true means that checking is enabled, and false means that checking is disabled. The value must be false for the instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", + "locationName":"sourceDestCheck" + }, + "SpotInstanceRequestId":{ + "shape":"String", + "documentation":"

If the request is a Spot Instance request, the ID of the request.

", + "locationName":"spotInstanceRequestId" + }, + "SriovNetSupport":{ + "shape":"String", + "documentation":"

Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "locationName":"sriovNetSupport" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the most recent state transition.

", + "locationName":"stateReason" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the instance.

", + "locationName":"tagSet" + }, + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The virtualization type of the instance.

", + "locationName":"virtualizationType" + }, + "CpuOptions":{ + "shape":"CpuOptions", + "documentation":"

The CPU options for the instance.

", + "locationName":"cpuOptions" + }, + "CapacityReservationId":{ + "shape":"String", + "documentation":"

The ID of the Capacity Reservation.

", + "locationName":"capacityReservationId" + }, + "CapacityReservationSpecification":{ + "shape":"CapacityReservationSpecificationResponse", + "documentation":"

Information about the Capacity Reservation targeting option.

", + "locationName":"capacityReservationSpecification" + }, + "HibernationOptions":{ + "shape":"HibernationOptions", + "documentation":"

Indicates whether the instance is enabled for hibernation.

", + "locationName":"hibernationOptions" + }, + "Licenses":{ + "shape":"LicenseList", + "documentation":"

The license configurations.

", + "locationName":"licenseSet" + }, + "MetadataOptions":{ + "shape":"InstanceMetadataOptionsResponse", + "documentation":"

The metadata options for the instance.

", + "locationName":"metadataOptions" + } + }, + "documentation":"

Describes an instance.

" + }, + "InstanceAttribute":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

The security groups associated with the instance.

", + "locationName":"groupSet" + }, + "BlockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappingList", + "documentation":"

The block device mapping of the instance.

", + "locationName":"blockDeviceMapping" + }, + "DisableApiTermination":{ + "shape":"AttributeBooleanValue", + "documentation":"

If the value is true, you can't terminate the instance through the Amazon EC2 console, CLI, or API; otherwise, you can.

", + "locationName":"disableApiTermination" + }, + "EnaSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether enhanced networking with ENA is enabled.

", + "locationName":"enaSupport" + }, + "EbsOptimized":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O.

", + "locationName":"ebsOptimized" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"AttributeValue", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "InstanceType":{ + "shape":"AttributeValue", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"AttributeValue", + "documentation":"

The kernel ID.

", + "locationName":"kernel" + }, + "ProductCodes":{ + "shape":"ProductCodeList", + "documentation":"

A list of product codes.

", + "locationName":"productCodes" + }, + "RamdiskId":{ + "shape":"AttributeValue", + "documentation":"

The RAM disk ID.

", + "locationName":"ramdisk" + }, + "RootDeviceName":{ + "shape":"AttributeValue", + "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", + "locationName":"rootDeviceName" + }, + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.

", + "locationName":"sourceDestCheck" + }, + "SriovNetSupport":{ + "shape":"AttributeValue", + "documentation":"

Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

", + "locationName":"sriovNetSupport" + }, + "UserData":{ + "shape":"AttributeValue", + "documentation":"

The user data.

", + "locationName":"userData" + } + }, + "documentation":"

Describes an instance attribute.

" + }, + "InstanceAttributeName":{ + "type":"string", + "enum":[ + "instanceType", + "kernel", + "ramdisk", + "userData", + "disableApiTermination", + "instanceInitiatedShutdownBehavior", + "rootDeviceName", + "blockDeviceMapping", + "productCodes", + "sourceDestCheck", + "groupSet", + "ebsOptimized", + "sriovNetSupport", + "enaSupport" + ] + }, + "InstanceBlockDeviceMapping":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

", + "locationName":"deviceName" + }, + "Ebs":{ + "shape":"EbsInstanceBlockDevice", + "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", + "locationName":"ebs" + } + }, + "documentation":"

Describes a block device mapping.

" + }, + "InstanceBlockDeviceMappingList":{ + "type":"list", + "member":{ + "shape":"InstanceBlockDeviceMapping", + "locationName":"item" + } + }, + "InstanceBlockDeviceMappingSpecification":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

", + "locationName":"deviceName" + }, + "Ebs":{ + "shape":"EbsInstanceBlockDeviceSpecification", + "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

", + "locationName":"ebs" + }, + "NoDevice":{ + "shape":"String", + "documentation":"

suppress the specified device included in the block device mapping.

", + "locationName":"noDevice" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name.

", + "locationName":"virtualName" + } + }, + "documentation":"

Describes a block device mapping entry.

" + }, + "InstanceBlockDeviceMappingSpecificationList":{ + "type":"list", + "member":{ + "shape":"InstanceBlockDeviceMappingSpecification", + "locationName":"item" + } + }, + "InstanceCapacity":{ + "type":"structure", + "members":{ + "AvailableCapacity":{ + "shape":"Integer", + "documentation":"

The number of instances that can be launched onto the Dedicated Host based on the host's available capacity.

", + "locationName":"availableCapacity" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type supported by the Dedicated Host.

", + "locationName":"instanceType" + }, + "TotalCapacity":{ + "shape":"Integer", + "documentation":"

The total number of instances that can be launched onto the Dedicated Host if there are no instances running on it.

", + "locationName":"totalCapacity" + } + }, + "documentation":"

Information about the number of instances that can be launched onto the Dedicated Host.

" + }, + "InstanceCount":{ + "type":"structure", + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of listed Reserved Instances in the state specified by the state.

", + "locationName":"instanceCount" + }, + "State":{ + "shape":"ListingState", + "documentation":"

The states of the listed Reserved Instances.

", + "locationName":"state" + } + }, + "documentation":"

Describes a Reserved Instance listing state.

" + }, + "InstanceCountList":{ + "type":"list", + "member":{ + "shape":"InstanceCount", + "locationName":"item" + } + }, + "InstanceCreditSpecification":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "CpuCredits":{ + "shape":"String", + "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited.

", + "locationName":"cpuCredits" + } + }, + "documentation":"

Describes the credit option for CPU usage of a burstable performance instance.

" + }, + "InstanceCreditSpecificationList":{ + "type":"list", + "member":{ + "shape":"InstanceCreditSpecification", + "locationName":"item" + } + }, + "InstanceCreditSpecificationListRequest":{ + "type":"list", + "member":{ + "shape":"InstanceCreditSpecificationRequest", + "locationName":"item" + } + }, + "InstanceCreditSpecificationRequest":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "CpuCredits":{ + "shape":"String", + "documentation":"

The credit option for CPU usage of the instance. Valid values are standard and unlimited.

" + } + }, + "documentation":"

Describes the credit option for CPU usage of a burstable performance instance.

" + }, + "InstanceEventId":{"type":"string"}, + "InstanceExportDetails":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the resource being exported.

", + "locationName":"instanceId" + }, + "TargetEnvironment":{ + "shape":"ExportEnvironment", + "documentation":"

The target virtualization environment.

", + "locationName":"targetEnvironment" + } + }, + "documentation":"

Describes an instance to export.

" + }, + "InstanceFamilyCreditSpecification":{ + "type":"structure", + "members":{ + "InstanceFamily":{ + "shape":"UnlimitedSupportedInstanceFamily", + "documentation":"

The instance family.

", + "locationName":"instanceFamily" + }, + "CpuCredits":{ + "shape":"String", + "documentation":"

The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

", + "locationName":"cpuCredits" + } + }, + "documentation":"

Describes the default credit option for CPU usage of a burstable performance instance family.

" + }, + "InstanceHealthStatus":{ + "type":"string", + "enum":[ + "healthy", + "unhealthy" + ] + }, + "InstanceId":{"type":"string"}, + "InstanceIdSet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "InstanceIdStringList":{ + "type":"list", + "member":{ + "shape":"InstanceId", + "locationName":"InstanceId" + } + }, + "InstanceIdsSet":{ + "type":"list", + "member":{ + "shape":"InstanceId", + "locationName":"item" + } + }, + "InstanceInterruptionBehavior":{ + "type":"string", + "enum":[ + "hibernate", + "stop", + "terminate" + ] + }, + "InstanceIpv6Address":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"String", + "documentation":"

The IPv6 address.

", + "locationName":"ipv6Address" + } + }, + "documentation":"

Describes an IPv6 address.

" + }, + "InstanceIpv6AddressList":{ + "type":"list", + "member":{ + "shape":"InstanceIpv6Address", + "locationName":"item" + } + }, + "InstanceIpv6AddressListRequest":{ + "type":"list", + "member":{ + "shape":"InstanceIpv6AddressRequest", + "locationName":"InstanceIpv6Address" + } + }, + "InstanceIpv6AddressRequest":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"String", + "documentation":"

The IPv6 address.

" + } + }, + "documentation":"

Describes an IPv6 address.

" + }, + "InstanceLifecycle":{ + "type":"string", + "enum":[ + "spot", + "on-demand" + ] + }, + "InstanceLifecycleType":{ + "type":"string", + "enum":[ + "spot", + "scheduled" + ] + }, + "InstanceList":{ + "type":"list", + "member":{ + "shape":"Instance", + "locationName":"item" + } + }, + "InstanceMarketOptionsRequest":{ + "type":"structure", + "members":{ + "MarketType":{ + "shape":"MarketType", + "documentation":"

The market type.

" + }, + "SpotOptions":{ + "shape":"SpotMarketOptions", + "documentation":"

The options for Spot Instances.

" + } + }, + "documentation":"

Describes the market (purchasing) option for the instances.

" + }, + "InstanceMatchCriteria":{ + "type":"string", + "enum":[ + "open", + "targeted" + ] + }, + "InstanceMetadataEndpointState":{ + "type":"string", + "enum":[ + "disabled", + "enabled" + ] + }, + "InstanceMetadataOptionsRequest":{ + "type":"structure", + "members":{ + "HttpTokens":{ + "shape":"HttpTokensState", + "documentation":"

The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

" + }, + "HttpPutResponseHopLimit":{ + "shape":"Integer", + "documentation":"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

" + }, + "HttpEndpoint":{ + "shape":"InstanceMetadataEndpointState", + "documentation":"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

" + } + }, + "documentation":"

The metadata options for the instance.

" + }, + "InstanceMetadataOptionsResponse":{ + "type":"structure", + "members":{ + "State":{ + "shape":"InstanceMetadataOptionsState", + "documentation":"

The state of the metadata option changes.

pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

applied - The metadata options have been successfully applied on the instance.

", + "locationName":"state" + }, + "HttpTokens":{ + "shape":"HttpTokensState", + "documentation":"

The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credential always returns the version 2.0 credentials; the version 1.0 credentials are not available.

", + "locationName":"httpTokens" + }, + "HttpPutResponseHopLimit":{ + "shape":"Integer", + "documentation":"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

", + "locationName":"httpPutResponseHopLimit" + }, + "HttpEndpoint":{ + "shape":"InstanceMetadataEndpointState", + "documentation":"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

", + "locationName":"httpEndpoint" + } + }, + "documentation":"

The metadata options for the instance.

" + }, + "InstanceMetadataOptionsState":{ + "type":"string", + "enum":[ + "pending", + "applied" + ] + }, + "InstanceMonitoring":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Monitoring":{ + "shape":"Monitoring", + "documentation":"

The monitoring for the instance.

", + "locationName":"monitoring" + } + }, + "documentation":"

Describes the monitoring of an instance.

" + }, + "InstanceMonitoringList":{ + "type":"list", + "member":{ + "shape":"InstanceMonitoring", + "locationName":"item" + } + }, + "InstanceNetworkInterface":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"InstanceNetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IPv4 associated with the network interface.

", + "locationName":"association" + }, + "Attachment":{ + "shape":"InstanceNetworkInterfaceAttachment", + "documentation":"

The network interface attachment.

", + "locationName":"attachment" + }, + "Description":{ + "shape":"String", + "documentation":"

The description.

", + "locationName":"description" + }, + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

One or more security groups.

", + "locationName":"groupSet" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more IPv6 addresses associated with the network interface.

", + "locationName":"ipv6AddressesSet" + }, + "MacAddress":{ + "shape":"String", + "documentation":"

The MAC address.

", + "locationName":"macAddress" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that created the network interface.

", + "locationName":"ownerId" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address of the network interface within the subnet.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"InstancePrivateIpAddressList", + "documentation":"

One or more private IPv4 addresses associated with the network interface.

", + "locationName":"privateIpAddressesSet" + }, + "SourceDestCheck":{ + "shape":"Boolean", + "documentation":"

Indicates whether to validate network traffic to or from this network interface.

", + "locationName":"sourceDestCheck" + }, + "Status":{ + "shape":"NetworkInterfaceStatus", + "documentation":"

The status of the network interface.

", + "locationName":"status" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

Describes the type of network interface.

Valid values: interface | efa

", + "locationName":"interfaceType" + } + }, + "documentation":"

Describes a network interface.

" + }, + "InstanceNetworkInterfaceAssociation":{ + "type":"structure", + "members":{ + "IpOwnerId":{ + "shape":"String", + "documentation":"

The ID of the owner of the Elastic IP address.

", + "locationName":"ipOwnerId" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

The public DNS name.

", + "locationName":"publicDnsName" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The public IP address or Elastic IP address bound to the network interface.

", + "locationName":"publicIp" + } + }, + "documentation":"

Describes association information for an Elastic IP address (IPv4).

" + }, + "InstanceNetworkInterfaceAttachment":{ + "type":"structure", + "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the attachment initiated.

", + "locationName":"attachTime" + }, + "AttachmentId":{ + "shape":"String", + "documentation":"

The ID of the network interface attachment.

", + "locationName":"attachmentId" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The index of the device on the instance for the network interface attachment.

", + "locationName":"deviceIndex" + }, + "Status":{ + "shape":"AttachmentStatus", + "documentation":"

The attachment state.

", + "locationName":"status" + } + }, + "documentation":"

Describes a network interface attachment.

" + }, + "InstanceNetworkInterfaceList":{ + "type":"list", + "member":{ + "shape":"InstanceNetworkInterface", + "locationName":"item" + } + }, + "InstanceNetworkInterfaceSpecification":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

", + "locationName":"associatePublicIpAddress" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

If set to true, the interface is deleted when the instance is terminated. You can specify true only if creating a new network interface when launching an instance.

", + "locationName":"deleteOnTermination" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the network interface. Applies only if creating a network interface when launching an instance.

", + "locationName":"description" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The position of the network interface in the attachment order. A primary network interface has a device index of 0.

If you specify a network interface when launching an instance, you must specify the device index.

", + "locationName":"deviceIndex" + }, + "Groups":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

", + "locationName":"SecurityGroupId" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses the IPv6 addresses from the range of the subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

One or more IPv6 addresses to assign to the network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

", + "locationName":"ipv6AddressesSet", + "queryName":"Ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressSpecificationList", + "documentation":"

One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", + "locationName":"privateIpAddressesSet", + "queryName":"PrivateIpAddresses" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're launching more than one instance in a RunInstances request.

", + "locationName":"secondaryPrivateIpAddressCount" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

", + "locationName":"subnetId" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

" + } + }, + "documentation":"

Describes a network interface.

" + }, + "InstanceNetworkInterfaceSpecificationList":{ + "type":"list", + "member":{ + "shape":"InstanceNetworkInterfaceSpecification", + "locationName":"item" + } + }, + "InstancePrivateIpAddress":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"InstanceNetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address for the network interface.

", + "locationName":"association" + }, + "Primary":{ + "shape":"Boolean", + "documentation":"

Indicates whether this IPv4 address is the primary private IP address of the network interface.

", + "locationName":"primary" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private IPv4 DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address of the network interface.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Describes a private IPv4 address.

" + }, + "InstancePrivateIpAddressList":{ + "type":"list", + "member":{ + "shape":"InstancePrivateIpAddress", + "locationName":"item" + } + }, + "InstanceSpecification":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The instance to specify which volumes should be snapshotted.

" + }, + "ExcludeBootVolume":{ + "shape":"Boolean", + "documentation":"

Excludes the root volume from being snapshotted.

" + } + }, + "documentation":"

The instance details to specify which volumes should be snapshotted.

" + }, + "InstanceState":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"Integer", + "documentation":"

The state of the instance as a 16-bit unsigned integer.

The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.

The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.

The valid values for instance-state-code will all be in the range of the low byte and they are:

  • 0 : pending

  • 16 : running

  • 32 : shutting-down

  • 48 : terminated

  • 64 : stopping

  • 80 : stopped

You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.

", + "locationName":"code" + }, + "Name":{ + "shape":"InstanceStateName", + "documentation":"

The current state of the instance.

", + "locationName":"name" + } + }, + "documentation":"

Describes the current state of an instance.

" + }, + "InstanceStateChange":{ + "type":"structure", + "members":{ + "CurrentState":{ + "shape":"InstanceState", + "documentation":"

The current state of the instance.

", + "locationName":"currentState" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "PreviousState":{ + "shape":"InstanceState", + "documentation":"

The previous state of the instance.

", + "locationName":"previousState" + } + }, + "documentation":"

Describes an instance state change.

" + }, + "InstanceStateChangeList":{ + "type":"list", + "member":{ + "shape":"InstanceStateChange", + "locationName":"item" + } + }, + "InstanceStateName":{ + "type":"string", + "enum":[ + "pending", + "running", + "shutting-down", + "terminated", + "stopping", + "stopped" + ] + }, + "InstanceStatus":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the instance.

", + "locationName":"availabilityZone" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "Events":{ + "shape":"InstanceStatusEventList", + "documentation":"

Any scheduled events associated with the instance.

", + "locationName":"eventsSet" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceState":{ + "shape":"InstanceState", + "documentation":"

The intended state of the instance. DescribeInstanceStatus requires that an instance be in the running state.

", + "locationName":"instanceState" + }, + "InstanceStatus":{ + "shape":"InstanceStatusSummary", + "documentation":"

Reports impaired functionality that stems from issues internal to the instance, such as impaired reachability.

", + "locationName":"instanceStatus" + }, + "SystemStatus":{ + "shape":"InstanceStatusSummary", + "documentation":"

Reports impaired functionality that stems from issues related to the systems that support an instance, such as hardware failures and network connectivity problems.

", + "locationName":"systemStatus" + } + }, + "documentation":"

Describes the status of an instance.

" + }, + "InstanceStatusDetails":{ + "type":"structure", + "members":{ + "ImpairedSince":{ + "shape":"DateTime", + "documentation":"

The time when a status check failed. For an instance that was launched and impaired, this is the time when the instance was launched.

", + "locationName":"impairedSince" + }, + "Name":{ + "shape":"StatusName", + "documentation":"

The type of instance status.

", + "locationName":"name" + }, + "Status":{ + "shape":"StatusType", + "documentation":"

The status.

", + "locationName":"status" + } + }, + "documentation":"

Describes the instance status.

" + }, + "InstanceStatusDetailsList":{ + "type":"list", + "member":{ + "shape":"InstanceStatusDetails", + "locationName":"item" + } + }, + "InstanceStatusEvent":{ + "type":"structure", + "members":{ + "InstanceEventId":{ + "shape":"InstanceEventId", + "documentation":"

The ID of the event.

", + "locationName":"instanceEventId" + }, + "Code":{ + "shape":"EventCode", + "documentation":"

The event code.

", + "locationName":"code" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the event.

After a scheduled event is completed, it can still be described for up to a week. If the event has been completed, this description starts with the following text: [Completed].

", + "locationName":"description" + }, + "NotAfter":{ + "shape":"DateTime", + "documentation":"

The latest scheduled end time for the event.

", + "locationName":"notAfter" + }, + "NotBefore":{ + "shape":"DateTime", + "documentation":"

The earliest scheduled start time for the event.

", + "locationName":"notBefore" + }, + "NotBeforeDeadline":{ + "shape":"DateTime", + "documentation":"

The deadline for starting the event.

", + "locationName":"notBeforeDeadline" + } + }, + "documentation":"

Describes a scheduled event for an instance.

" + }, + "InstanceStatusEventList":{ + "type":"list", + "member":{ + "shape":"InstanceStatusEvent", + "locationName":"item" + } + }, + "InstanceStatusList":{ + "type":"list", + "member":{ + "shape":"InstanceStatus", + "locationName":"item" + } + }, + "InstanceStatusSummary":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"InstanceStatusDetailsList", + "documentation":"

The system instance health or application instance health.

", + "locationName":"details" + }, + "Status":{ + "shape":"SummaryStatus", + "documentation":"

The status.

", + "locationName":"status" + } + }, + "documentation":"

Describes the status of an instance.

" + }, + "InstanceStorageFlag":{"type":"boolean"}, + "InstanceStorageInfo":{ + "type":"structure", + "members":{ + "TotalSizeInGB":{ + "shape":"DiskSize", + "documentation":"

The total size of the disks, in GB.

", + "locationName":"totalSizeInGB" + }, + "Disks":{ + "shape":"DiskInfoList", + "documentation":"

Array describing the disks that are available for the instance type.

", + "locationName":"disks" + } + }, + "documentation":"

Describes the disks that are available for the instance type.

" + }, + "InstanceTagKeySet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "InstanceTagNotificationAttribute":{ + "type":"structure", + "members":{ + "InstanceTagKeys":{ + "shape":"InstanceTagKeySet", + "documentation":"

The registered tag keys.

", + "locationName":"instanceTagKeySet" + }, + "IncludeAllTagsOfInstance":{ + "shape":"Boolean", + "documentation":"

Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. true indicates that all tag keys in the current Region are registered.

", + "locationName":"includeAllTagsOfInstance" + } + }, + "documentation":"

Describes the registered tag keys for the current Region.

" + }, + "InstanceType":{ + "type":"string", + "enum":[ + "t1.micro", + "t2.nano", + "t2.micro", + "t2.small", + "t2.medium", + "t2.large", + "t2.xlarge", + "t2.2xlarge", + "t3.nano", + "t3.micro", + "t3.small", + "t3.medium", + "t3.large", + "t3.xlarge", + "t3.2xlarge", + "t3a.nano", + "t3a.micro", + "t3a.small", + "t3a.medium", + "t3a.large", + "t3a.xlarge", + "t3a.2xlarge", + "m1.small", + "m1.medium", + "m1.large", + "m1.xlarge", + "m3.medium", + "m3.large", + "m3.xlarge", + "m3.2xlarge", + "m4.large", + "m4.xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.10xlarge", + "m4.16xlarge", + "m2.xlarge", + "m2.2xlarge", + "m2.4xlarge", + "cr1.8xlarge", + "r3.large", + "r3.xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r4.large", + "r4.xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.16xlarge", + "r5.large", + "r5.xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "r5.metal", + "r5a.large", + "r5a.xlarge", + "r5a.2xlarge", + "r5a.4xlarge", + "r5a.8xlarge", + "r5a.12xlarge", + "r5a.16xlarge", + "r5a.24xlarge", + "r5d.large", + "r5d.xlarge", + "r5d.2xlarge", + "r5d.4xlarge", + "r5d.8xlarge", + "r5d.12xlarge", + "r5d.16xlarge", + "r5d.24xlarge", + "r5d.metal", + "r5ad.large", + "r5ad.xlarge", + "r5ad.2xlarge", + "r5ad.4xlarge", + "r5ad.8xlarge", + "r5ad.12xlarge", + "r5ad.16xlarge", + "r5ad.24xlarge", + "x1.16xlarge", + "x1.32xlarge", + "x1e.xlarge", + "x1e.2xlarge", + "x1e.4xlarge", + "x1e.8xlarge", + "x1e.16xlarge", + "x1e.32xlarge", + "i2.xlarge", + "i2.2xlarge", + "i2.4xlarge", + "i2.8xlarge", + "i3.large", + "i3.xlarge", + "i3.2xlarge", + "i3.4xlarge", + "i3.8xlarge", + "i3.16xlarge", + "i3.metal", + "i3en.large", + "i3en.xlarge", + "i3en.2xlarge", + "i3en.3xlarge", + "i3en.6xlarge", + "i3en.12xlarge", + "i3en.24xlarge", + "i3en.metal", + "hi1.4xlarge", + "hs1.8xlarge", + "c1.medium", + "c1.xlarge", + "c3.large", + "c3.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c4.large", + "c4.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c5.large", + "c5.xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "c5.metal", + "c5d.large", + "c5d.xlarge", + "c5d.2xlarge", + "c5d.4xlarge", + "c5d.9xlarge", + "c5d.12xlarge", + "c5d.18xlarge", + "c5d.24xlarge", + "c5d.metal", + "c5n.large", + "c5n.xlarge", + "c5n.2xlarge", + "c5n.4xlarge", + "c5n.9xlarge", + "c5n.18xlarge", + "cc1.4xlarge", + "cc2.8xlarge", + "g2.2xlarge", + "g2.8xlarge", + "g3.4xlarge", + "g3.8xlarge", + "g3.16xlarge", + "g3s.xlarge", + "g4dn.xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge", + "cg1.4xlarge", + "p2.xlarge", + "p2.8xlarge", + "p2.16xlarge", + "p3.2xlarge", + "p3.8xlarge", + "p3.16xlarge", + "p3dn.24xlarge", + "d2.xlarge", + "d2.2xlarge", + "d2.4xlarge", + "d2.8xlarge", + "f1.2xlarge", + "f1.4xlarge", + "f1.16xlarge", + "m5.large", + "m5.xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge", + "m5.metal", + "m5a.large", + "m5a.xlarge", + "m5a.2xlarge", + "m5a.4xlarge", + "m5a.8xlarge", + "m5a.12xlarge", + "m5a.16xlarge", + "m5a.24xlarge", + "m5d.large", + "m5d.xlarge", + "m5d.2xlarge", + "m5d.4xlarge", + "m5d.8xlarge", + "m5d.12xlarge", + "m5d.16xlarge", + "m5d.24xlarge", + "m5d.metal", + "m5ad.large", + "m5ad.xlarge", + "m5ad.2xlarge", + "m5ad.4xlarge", + "m5ad.8xlarge", + "m5ad.12xlarge", + "m5ad.16xlarge", + "m5ad.24xlarge", + "h1.2xlarge", + "h1.4xlarge", + "h1.8xlarge", + "h1.16xlarge", + "z1d.large", + "z1d.xlarge", + "z1d.2xlarge", + "z1d.3xlarge", + "z1d.6xlarge", + "z1d.12xlarge", + "z1d.metal", + "u-6tb1.metal", + "u-9tb1.metal", + "u-12tb1.metal", + "u-18tb1.metal", + "u-24tb1.metal", + "a1.medium", + "a1.large", + "a1.xlarge", + "a1.2xlarge", + "a1.4xlarge", + "a1.metal", + "m5dn.large", + "m5dn.xlarge", + "m5dn.2xlarge", + "m5dn.4xlarge", + "m5dn.8xlarge", + "m5dn.12xlarge", + "m5dn.16xlarge", + "m5dn.24xlarge", + "m5n.large", + "m5n.xlarge", + "m5n.2xlarge", + "m5n.4xlarge", + "m5n.8xlarge", + "m5n.12xlarge", + "m5n.16xlarge", + "m5n.24xlarge", + "r5dn.large", + "r5dn.xlarge", + "r5dn.2xlarge", + "r5dn.4xlarge", + "r5dn.8xlarge", + "r5dn.12xlarge", + "r5dn.16xlarge", + "r5dn.24xlarge", + "r5n.large", + "r5n.xlarge", + "r5n.2xlarge", + "r5n.4xlarge", + "r5n.8xlarge", + "r5n.12xlarge", + "r5n.16xlarge", + "r5n.24xlarge", + "inf1.xlarge", + "inf1.2xlarge", + "inf1.6xlarge", + "inf1.24xlarge", + "m6g.metal", + "m6g.medium", + "m6g.large", + "m6g.xlarge", + "m6g.2xlarge", + "m6g.4xlarge", + "m6g.8xlarge", + "m6g.12xlarge", + "m6g.16xlarge" + ] + }, + "InstanceTypeHypervisor":{ + "type":"string", + "enum":[ + "nitro", + "xen" + ] + }, + "InstanceTypeInfo":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"instanceType" + }, + "CurrentGeneration":{ + "shape":"CurrentGenerationFlag", + "documentation":"

Indicates whether the instance type is a current generation.

", + "locationName":"currentGeneration" + }, + "FreeTierEligible":{ + "shape":"FreeTierEligibleFlag", + "documentation":"

Indicates whether the instance type is eligible for the free tier.

", + "locationName":"freeTierEligible" + }, + "SupportedUsageClasses":{ + "shape":"UsageClassTypeList", + "documentation":"

Indicates whether the instance type is offered for spot or On-Demand.

", + "locationName":"supportedUsageClasses" + }, + "SupportedRootDeviceTypes":{ + "shape":"RootDeviceTypeList", + "documentation":"

Indicates the supported root device types.

", + "locationName":"supportedRootDeviceTypes" + }, + "SupportedVirtualizationTypes":{ + "shape":"VirtualizationTypeList", + "documentation":"

The supported virtualization types.

", + "locationName":"supportedVirtualizationTypes" + }, + "BareMetal":{ + "shape":"BareMetalFlag", + "documentation":"

Indicates whether the instance is bare metal.

", + "locationName":"bareMetal" + }, + "Hypervisor":{ + "shape":"InstanceTypeHypervisor", + "documentation":"

Indicates the hypervisor used for the instance type.

", + "locationName":"hypervisor" + }, + "ProcessorInfo":{ + "shape":"ProcessorInfo", + "documentation":"

Describes the processor.

", + "locationName":"processorInfo" + }, + "VCpuInfo":{ + "shape":"VCpuInfo", + "documentation":"

Describes the vCPU configurations for the instance type.

", + "locationName":"vCpuInfo" + }, + "MemoryInfo":{ + "shape":"MemoryInfo", + "documentation":"

Describes the memory for the instance type.

", + "locationName":"memoryInfo" + }, + "InstanceStorageSupported":{ + "shape":"InstanceStorageFlag", + "documentation":"

Indicates whether instance storage is supported.

", + "locationName":"instanceStorageSupported" + }, + "InstanceStorageInfo":{ + "shape":"InstanceStorageInfo", + "documentation":"

Describes the disks for the instance type.

", + "locationName":"instanceStorageInfo" + }, + "EbsInfo":{ + "shape":"EbsInfo", + "documentation":"

Describes the Amazon EBS settings for the instance type.

", + "locationName":"ebsInfo" + }, + "NetworkInfo":{ + "shape":"NetworkInfo", + "documentation":"

Describes the network settings for the instance type.

", + "locationName":"networkInfo" + }, + "GpuInfo":{ + "shape":"GpuInfo", + "documentation":"

Describes the GPU accelerator settings for the instance type.

", + "locationName":"gpuInfo" + }, + "FpgaInfo":{ + "shape":"FpgaInfo", + "documentation":"

Describes the FPGA accelerator settings for the instance type.

", + "locationName":"fpgaInfo" + }, + "PlacementGroupInfo":{ + "shape":"PlacementGroupInfo", + "documentation":"

Describes the placement group settings for the instance type.

", + "locationName":"placementGroupInfo" + }, + "InferenceAcceleratorInfo":{ + "shape":"InferenceAcceleratorInfo", + "documentation":"

Describes the Inference accelerator settings for the instance type.

", + "locationName":"inferenceAcceleratorInfo" + }, + "HibernationSupported":{ + "shape":"HibernationFlag", + "documentation":"

Indicates whether On-Demand hibernation is supported.

", + "locationName":"hibernationSupported" + }, + "BurstablePerformanceSupported":{ + "shape":"BurstablePerformanceFlag", + "documentation":"

Indicates whether the instance type is a burstable performance instance type.

", + "locationName":"burstablePerformanceSupported" + }, + "DedicatedHostsSupported":{ + "shape":"DedicatedHostFlag", + "documentation":"

Indicates whether Dedicated Hosts are supported on the instance type.

", + "locationName":"dedicatedHostsSupported" + }, + "AutoRecoverySupported":{ + "shape":"AutoRecoveryFlag", + "documentation":"

Indicates whether auto recovery is supported.

", + "locationName":"autoRecoverySupported" + } + }, + "documentation":"

Describes the instance type.

" + }, + "InstanceTypeInfoList":{ + "type":"list", + "member":{ + "shape":"InstanceTypeInfo", + "locationName":"item" + } + }, + "InstanceTypeList":{ + "type":"list", + "member":{"shape":"InstanceType"} + }, + "InstanceTypeOffering":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"instanceType" + }, + "LocationType":{ + "shape":"LocationType", + "documentation":"

The location type.

", + "locationName":"locationType" + }, + "Location":{ + "shape":"Location", + "documentation":"

The identifier for the location. This depends on the location type. For example, if the location type is region, the location is the Region code (for example, us-east-2.)

", + "locationName":"location" + } + }, + "documentation":"

The instance types offered.

" + }, + "InstanceTypeOfferingsList":{ + "type":"list", + "member":{ + "shape":"InstanceTypeOffering", + "locationName":"item" + } + }, + "InstanceUsage":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that is making use of the Capacity Reservation.

", + "locationName":"accountId" + }, + "UsedInstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances the AWS account currently has in the Capacity Reservation.

", + "locationName":"usedInstanceCount" + } + }, + "documentation":"

Information about the Capacity Reservation usage.

" + }, + "InstanceUsageSet":{ + "type":"list", + "member":{ + "shape":"InstanceUsage", + "locationName":"item" + } + }, + "Integer":{"type":"integer"}, + "InterfacePermissionType":{ + "type":"string", + "enum":[ + "INSTANCE-ATTACH", + "EIP-ASSOCIATE" + ] + }, + "InternetGateway":{ + "type":"structure", + "members":{ + "Attachments":{ + "shape":"InternetGatewayAttachmentList", + "documentation":"

Any VPCs attached to the internet gateway.

", + "locationName":"attachmentSet" + }, + "InternetGatewayId":{ + "shape":"String", + "documentation":"

The ID of the internet gateway.

", + "locationName":"internetGatewayId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the internet gateway.

", + "locationName":"ownerId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the internet gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an internet gateway.

" + }, + "InternetGatewayAttachment":{ + "type":"structure", + "members":{ + "State":{ + "shape":"AttachmentStatus", + "documentation":"

The current state of the attachment. For an internet gateway, the state is available when attached to a VPC; otherwise, this value is not returned.

", + "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes the attachment of a VPC to an internet gateway or an egress-only internet gateway.

" + }, + "InternetGatewayAttachmentList":{ + "type":"list", + "member":{ + "shape":"InternetGatewayAttachment", + "locationName":"item" + } + }, + "InternetGatewayId":{"type":"string"}, + "InternetGatewayIdList":{ + "type":"list", + "member":{ + "shape":"InternetGatewayId", + "locationName":"item" + } + }, + "InternetGatewayList":{ + "type":"list", + "member":{ + "shape":"InternetGateway", + "locationName":"item" + } + }, + "IpPermission":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers).

[VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional; if you omit the port range, traffic for all types and codes is allowed.

", + "locationName":"ipProtocol" + }, + "IpRanges":{ + "shape":"IpRangeList", + "documentation":"

The IPv4 ranges.

", + "locationName":"ipRanges" + }, + "Ipv6Ranges":{ + "shape":"Ipv6RangeList", + "documentation":"

[VPC only] The IPv6 ranges.

", + "locationName":"ipv6Ranges" + }, + "PrefixListIds":{ + "shape":"PrefixListIdList", + "documentation":"

[VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS service to access through a VPC endpoint from instances associated with the security group.

", + "locationName":"prefixListIds" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", + "locationName":"toPort" + }, + "UserIdGroupPairs":{ + "shape":"UserIdGroupPairList", + "documentation":"

The security group and AWS account ID pairs.

", + "locationName":"groups" + } + }, + "documentation":"

Describes a set of permissions for a security group rule.

" + }, + "IpPermissionList":{ + "type":"list", + "member":{ + "shape":"IpPermission", + "locationName":"item" + } + }, + "IpRange":{ + "type":"structure", + "members":{ + "CidrIp":{ + "shape":"String", + "documentation":"

The IPv4 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv4 address, use the /32 prefix length.

", + "locationName":"cidrIp" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the security group rule that references this IPv4 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", + "locationName":"description" + } + }, + "documentation":"

Describes an IPv4 range.

" + }, + "IpRangeList":{ + "type":"list", + "member":{ + "shape":"IpRange", + "locationName":"item" + } + }, + "IpRanges":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "Ipv4PoolEc2Id":{"type":"string"}, + "Ipv6Address":{"type":"string"}, + "Ipv6AddressList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "Ipv6CidrAssociation":{ + "type":"structure", + "members":{ + "Ipv6Cidr":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block.

", + "locationName":"ipv6Cidr" + }, + "AssociatedResource":{ + "shape":"String", + "documentation":"

The resource that's associated with the IPv6 CIDR block.

", + "locationName":"associatedResource" + } + }, + "documentation":"

Describes an IPv6 CIDR block association.

" + }, + "Ipv6CidrAssociationSet":{ + "type":"list", + "member":{ + "shape":"Ipv6CidrAssociation", + "locationName":"item" + } + }, + "Ipv6CidrBlock":{ + "type":"structure", + "members":{ + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block.

", + "locationName":"ipv6CidrBlock" + } + }, + "documentation":"

Describes an IPv6 CIDR block.

" + }, + "Ipv6CidrBlockSet":{ + "type":"list", + "member":{ + "shape":"Ipv6CidrBlock", + "locationName":"item" + } + }, + "Ipv6Flag":{"type":"boolean"}, + "Ipv6Pool":{ + "type":"structure", + "members":{ + "PoolId":{ + "shape":"String", + "documentation":"

The ID of the address pool.

", + "locationName":"poolId" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the address pool.

", + "locationName":"description" + }, + "PoolCidrBlocks":{ + "shape":"PoolCidrBlocksSet", + "documentation":"

The CIDR blocks for the address pool.

", + "locationName":"poolCidrBlockSet" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags for the address pool.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an IPv6 address pool.

" + }, + "Ipv6PoolEc2Id":{"type":"string"}, + "Ipv6PoolIdList":{ + "type":"list", + "member":{ + "shape":"Ipv6PoolEc2Id", + "locationName":"item" + } + }, + "Ipv6PoolMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Ipv6PoolSet":{ + "type":"list", + "member":{ + "shape":"Ipv6Pool", + "locationName":"item" + } + }, + "Ipv6Range":{ + "type":"structure", + "members":{ + "CidrIpv6":{ + "shape":"String", + "documentation":"

The IPv6 CIDR range. You can either specify a CIDR range or a source security group, not both. To specify a single IPv6 address, use the /128 prefix length.

", + "locationName":"cidrIpv6" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the security group rule that references this IPv6 address range.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

", + "locationName":"description" + } + }, + "documentation":"

[EC2-VPC only] Describes an IPv6 range.

" + }, + "Ipv6RangeList":{ + "type":"list", + "member":{ + "shape":"Ipv6Range", + "locationName":"item" + } + }, + "Ipv6SupportValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "KernelId":{"type":"string"}, + "KeyNameStringList":{ + "type":"list", + "member":{ + "shape":"KeyPairName", + "locationName":"KeyName" + } + }, + "KeyPair":{ + "type":"structure", + "members":{ + "KeyFingerprint":{ + "shape":"String", + "documentation":"

The SHA-1 digest of the DER encoded private key.

", + "locationName":"keyFingerprint" + }, + "KeyMaterial":{ + "shape":"SensitiveUserData", + "documentation":"

An unencrypted PEM encoded RSA private key.

", + "locationName":"keyMaterial" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "KeyPairId":{ + "shape":"String", + "documentation":"

The ID of the key pair.

", + "locationName":"keyPairId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags applied to the key pair.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a key pair.

" + }, + "KeyPairId":{"type":"string"}, + "KeyPairIdStringList":{ + "type":"list", + "member":{ + "shape":"KeyPairId", + "locationName":"KeyPairId" + } + }, + "KeyPairInfo":{ + "type":"structure", + "members":{ + "KeyPairId":{ + "shape":"String", + "documentation":"

The ID of the key pair.

", + "locationName":"keyPairId" + }, + "KeyFingerprint":{ + "shape":"String", + "documentation":"

If you used CreateKeyPair to create the key pair, this is the SHA-1 digest of the DER encoded private key. If you used ImportKeyPair to provide AWS the public key, this is the MD5 public key fingerprint as specified in section 4 of RFC4716.

", + "locationName":"keyFingerprint" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags applied to the key pair.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a key pair.

" + }, + "KeyPairList":{ + "type":"list", + "member":{ + "shape":"KeyPairInfo", + "locationName":"item" + } + }, + "KeyPairName":{"type":"string"}, + "KmsKeyId":{"type":"string"}, + "LastError":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message for the VPC endpoint error.

", + "locationName":"message" + }, + "Code":{ + "shape":"String", + "documentation":"

The error code for the VPC endpoint error.

", + "locationName":"code" + } + }, + "documentation":"

The last error that occurred for a VPC endpoint.

" + }, + "LaunchPermission":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"PermissionGroup", + "documentation":"

The name of the group.

", + "locationName":"group" + }, + "UserId":{ + "shape":"String", + "documentation":"

The AWS account ID.

", + "locationName":"userId" + } + }, + "documentation":"

Describes a launch permission.

" + }, + "LaunchPermissionList":{ + "type":"list", + "member":{ + "shape":"LaunchPermission", + "locationName":"item" + } + }, + "LaunchPermissionModifications":{ + "type":"structure", + "members":{ + "Add":{ + "shape":"LaunchPermissionList", + "documentation":"

The AWS account ID to add to the list of launch permissions for the AMI.

" + }, + "Remove":{ + "shape":"LaunchPermissionList", + "documentation":"

The AWS account ID to remove from the list of launch permissions for the AMI.

" + } + }, + "documentation":"

Describes a launch permission modification.

" + }, + "LaunchSpecification":{ + "type":"structure", + "members":{ + "UserData":{ + "shape":"String", + "documentation":"

The Base64-encoded user data for the instance.

", + "locationName":"userData" + }, + "SecurityGroups":{ + "shape":"GroupIdentifierList", + "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "locationName":"groupSet" + }, + "AddressingType":{ + "shape":"String", + "documentation":"

Deprecated.

", + "locationName":"addressingType" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

One or more block device mapping entries.

", + "locationName":"blockDeviceMapping" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", + "locationName":"ebsOptimized" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"networkInterfaceSet" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instance.

", + "locationName":"subnetId" + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "locationName":"monitoring" + } + }, + "documentation":"

Describes the launch specification for an instance.

" + }, + "LaunchSpecsList":{ + "type":"list", + "member":{ + "shape":"SpotFleetLaunchSpecification", + "locationName":"item" + } + }, + "LaunchTemplate":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template.

", + "locationName":"launchTemplateId" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template.

", + "locationName":"launchTemplateName" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The time launch template was created.

", + "locationName":"createTime" + }, + "CreatedBy":{ + "shape":"String", + "documentation":"

The principal that created the launch template.

", + "locationName":"createdBy" + }, + "DefaultVersionNumber":{ + "shape":"Long", + "documentation":"

The version number of the default version of the launch template.

", + "locationName":"defaultVersionNumber" + }, + "LatestVersionNumber":{ + "shape":"Long", + "documentation":"

The version number of the latest version of the launch template.

", + "locationName":"latestVersionNumber" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the launch template.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a launch template.

" + }, + "LaunchTemplateAndOverridesResponse":{ + "type":"structure", + "members":{ + "LaunchTemplateSpecification":{ + "shape":"FleetLaunchTemplateSpecification", + "documentation":"

The launch template.

", + "locationName":"launchTemplateSpecification" + }, + "Overrides":{ + "shape":"FleetLaunchTemplateOverrides", + "documentation":"

Any parameters that you specify override the same parameters in the launch template.

", + "locationName":"overrides" + } + }, + "documentation":"

Describes a launch template and overrides.

" + }, + "LaunchTemplateBlockDeviceMapping":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name.

", + "locationName":"deviceName" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name (ephemeralN).

", + "locationName":"virtualName" + }, + "Ebs":{ + "shape":"LaunchTemplateEbsBlockDevice", + "documentation":"

Information about the block device for an EBS volume.

", + "locationName":"ebs" + }, + "NoDevice":{ + "shape":"String", + "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

", + "locationName":"noDevice" + } + }, + "documentation":"

Describes a block device mapping.

" + }, + "LaunchTemplateBlockDeviceMappingList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateBlockDeviceMapping", + "locationName":"item" + } + }, + "LaunchTemplateBlockDeviceMappingRequest":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with 2 available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

" + }, + "Ebs":{ + "shape":"LaunchTemplateEbsBlockDeviceRequest", + "documentation":"

Parameters used to automatically set up EBS volumes when the instance is launched.

" + }, + "NoDevice":{ + "shape":"String", + "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" + } + }, + "documentation":"

Describes a block device mapping.

" + }, + "LaunchTemplateBlockDeviceMappingRequestList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateBlockDeviceMappingRequest", + "locationName":"BlockDeviceMapping" + } + }, + "LaunchTemplateCapacityReservationSpecificationRequest":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreference", + "documentation":"

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

" + }, + "CapacityReservationTarget":{ + "shape":"CapacityReservationTarget", + "documentation":"

Information about the target Capacity Reservation.

" + } + }, + "documentation":"

Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation.

" + }, + "LaunchTemplateCapacityReservationSpecificationResponse":{ + "type":"structure", + "members":{ + "CapacityReservationPreference":{ + "shape":"CapacityReservationPreference", + "documentation":"

Indicates the instance's Capacity Reservation preferences. Possible preferences include:

  • open - The instance can run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

  • none - The instance avoids running in a Capacity Reservation even if one is available. The instance runs in On-Demand capacity.

", + "locationName":"capacityReservationPreference" + }, + "CapacityReservationTarget":{ + "shape":"CapacityReservationTargetResponse", + "documentation":"

Information about the target Capacity Reservation.

", + "locationName":"capacityReservationTarget" + } + }, + "documentation":"

Information about the Capacity Reservation targeting option.

" + }, + "LaunchTemplateConfig":{ + "type":"structure", + "members":{ + "LaunchTemplateSpecification":{ + "shape":"FleetLaunchTemplateSpecification", + "documentation":"

The launch template.

", + "locationName":"launchTemplateSpecification" + }, + "Overrides":{ + "shape":"LaunchTemplateOverridesList", + "documentation":"

Any parameters that you specify override the same parameters in the launch template.

", + "locationName":"overrides" + } + }, + "documentation":"

Describes a launch template and overrides.

" + }, + "LaunchTemplateConfigList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateConfig", + "locationName":"item" + } + }, + "LaunchTemplateCpuOptions":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores for the instance.

", + "locationName":"coreCount" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads per CPU core.

", + "locationName":"threadsPerCore" + } + }, + "documentation":"

The CPU options for the instance.

" + }, + "LaunchTemplateCpuOptionsRequest":{ + "type":"structure", + "members":{ + "CoreCount":{ + "shape":"Integer", + "documentation":"

The number of CPU cores for the instance.

" + }, + "ThreadsPerCore":{ + "shape":"Integer", + "documentation":"

The number of threads per CPU core. To disable multithreading for the instance, specify a value of 1. Otherwise, specify the default value of 2.

" + } + }, + "documentation":"

The CPU options for the instance. Both the core count and threads per core must be specified in the request.

" + }, + "LaunchTemplateEbsBlockDevice":{ + "type":"structure", + "members":{ + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is encrypted.

", + "locationName":"encrypted" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", + "locationName":"deleteOnTermination" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports.

", + "locationName":"iops" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.

", + "locationName":"kmsKeyId" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

", + "locationName":"snapshotId" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiB.

", + "locationName":"volumeSize" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The volume type.

", + "locationName":"volumeType" + } + }, + "documentation":"

Describes a block device for an EBS volume.

" + }, + "LaunchTemplateEbsBlockDeviceRequest":{ + "type":"structure", + "members":{ + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. If you are creating a volume from a snapshot, you can't specify an encryption value.

" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for encryption.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The volume type.

" + } + }, + "documentation":"

The parameters for a block device for an EBS volume.

" + }, + "LaunchTemplateElasticInferenceAccelerator":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.

" + }, + "Count":{ + "shape":"LaunchTemplateElasticInferenceAcceleratorCount", + "documentation":"

The number of elastic inference accelerators to attach to the instance.

Default: 1

" + } + }, + "documentation":"

Describes an elastic inference accelerator.

" + }, + "LaunchTemplateElasticInferenceAcceleratorCount":{ + "type":"integer", + "min":1 + }, + "LaunchTemplateElasticInferenceAcceleratorList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateElasticInferenceAccelerator", + "locationName":"item" + } + }, + "LaunchTemplateElasticInferenceAcceleratorResponse":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.

", + "locationName":"type" + }, + "Count":{ + "shape":"Integer", + "documentation":"

The number of elastic inference accelerators to attach to the instance.

Default: 1

", + "locationName":"count" + } + }, + "documentation":"

Describes an elastic inference accelerator.

" + }, + "LaunchTemplateElasticInferenceAcceleratorResponseList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateElasticInferenceAcceleratorResponse", + "locationName":"item" + } + }, + "LaunchTemplateErrorCode":{ + "type":"string", + "enum":[ + "launchTemplateIdDoesNotExist", + "launchTemplateIdMalformed", + "launchTemplateNameDoesNotExist", + "launchTemplateNameMalformed", + "launchTemplateVersionDoesNotExist", + "unexpectedError" + ] + }, + "LaunchTemplateHibernationOptions":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

", + "locationName":"configured" + } + }, + "documentation":"

Indicates whether an instance is configured for hibernation.

" + }, + "LaunchTemplateHibernationOptionsRequest":{ + "type":"structure", + "members":{ + "Configured":{ + "shape":"Boolean", + "documentation":"

If you set this parameter to true, the instance is enabled for hibernation.

Default: false

" + } + }, + "documentation":"

Indicates whether the instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites.

" + }, + "LaunchTemplateHttpTokensState":{ + "type":"string", + "enum":[ + "optional", + "required" + ] + }, + "LaunchTemplateIamInstanceProfileSpecification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

", + "locationName":"arn" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the instance profile.

", + "locationName":"name" + } + }, + "documentation":"

Describes an IAM instance profile.

" + }, + "LaunchTemplateIamInstanceProfileSpecificationRequest":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the instance profile.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the instance profile.

" + } + }, + "documentation":"

An IAM instance profile.

" + }, + "LaunchTemplateId":{"type":"string"}, + "LaunchTemplateIdStringList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateId", + "locationName":"item" + } + }, + "LaunchTemplateInstanceMarketOptions":{ + "type":"structure", + "members":{ + "MarketType":{ + "shape":"MarketType", + "documentation":"

The market type.

", + "locationName":"marketType" + }, + "SpotOptions":{ + "shape":"LaunchTemplateSpotMarketOptions", + "documentation":"

The options for Spot Instances.

", + "locationName":"spotOptions" + } + }, + "documentation":"

The market (purchasing) option for the instances.

" + }, + "LaunchTemplateInstanceMarketOptionsRequest":{ + "type":"structure", + "members":{ + "MarketType":{ + "shape":"MarketType", + "documentation":"

The market type.

" + }, + "SpotOptions":{ + "shape":"LaunchTemplateSpotMarketOptionsRequest", + "documentation":"

The options for Spot Instances.

" + } + }, + "documentation":"

The market (purchasing) option for the instances.

" + }, + "LaunchTemplateInstanceMetadataEndpointState":{ + "type":"string", + "enum":[ + "disabled", + "enabled" + ] + }, + "LaunchTemplateInstanceMetadataOptions":{ + "type":"structure", + "members":{ + "State":{ + "shape":"LaunchTemplateInstanceMetadataOptionsState", + "documentation":"

The state of the metadata option changes.

pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

applied - The metadata options have been successfully applied on the instance.

", + "locationName":"state" + }, + "HttpTokens":{ + "shape":"LaunchTemplateHttpTokensState", + "documentation":"

The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

", + "locationName":"httpTokens" + }, + "HttpPutResponseHopLimit":{ + "shape":"Integer", + "documentation":"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

", + "locationName":"httpPutResponseHopLimit" + }, + "HttpEndpoint":{ + "shape":"LaunchTemplateInstanceMetadataEndpointState", + "documentation":"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

", + "locationName":"httpEndpoint" + } + }, + "documentation":"

The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" + }, + "LaunchTemplateInstanceMetadataOptionsRequest":{ + "type":"structure", + "members":{ + "HttpTokens":{ + "shape":"LaunchTemplateHttpTokensState", + "documentation":"

The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

" + }, + "HttpPutResponseHopLimit":{ + "shape":"Integer", + "documentation":"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

Default: 1

Possible values: Integers from 1 to 64

" + }, + "HttpEndpoint":{ + "shape":"LaunchTemplateInstanceMetadataEndpointState", + "documentation":"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

If you specify a value of disabled, you will not be able to access your instance metadata.

" + } + }, + "documentation":"

The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" + }, + "LaunchTemplateInstanceMetadataOptionsState":{ + "type":"string", + "enum":[ + "pending", + "applied" + ] + }, + "LaunchTemplateInstanceNetworkInterfaceSpecification":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

", + "locationName":"associatePublicIpAddress" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the network interface.

", + "locationName":"description" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The device index for the network interface attachment.

", + "locationName":"deviceIndex" + }, + "Groups":{ + "shape":"GroupIdStringList", + "documentation":"

The IDs of one or more security groups.

", + "locationName":"groupSet" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface.

", + "locationName":"interfaceType" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses for the network interface.

", + "locationName":"ipv6AddressCount" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

The IPv6 addresses for the network interface.

", + "locationName":"ipv6AddressesSet" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The primary private IPv4 address of the network interface.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressSpecificationList", + "documentation":"

One or more private IPv4 addresses.

", + "locationName":"privateIpAddressesSet" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary private IPv4 addresses for the network interface.

", + "locationName":"secondaryPrivateIpAddressCount" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet for the network interface.

", + "locationName":"subnetId" + } + }, + "documentation":"

Describes a network interface.

" + }, + "LaunchTemplateInstanceNetworkInterfaceSpecificationList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateInstanceNetworkInterfaceSpecification", + "locationName":"item" + } + }, + "LaunchTemplateInstanceNetworkInterfaceSpecificationRequest":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Associates a public IPv4 address with eth0 for a new network interface.

" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the network interface.

" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The device index for the network interface attachment.

" + }, + "Groups":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

The IDs of one or more security groups.

", + "locationName":"SecurityGroupId" + }, + "InterfaceType":{ + "shape":"String", + "documentation":"

The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa. For more information, see Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide.

If you are not creating an EFA, specify interface or omit this parameter.

Valid values: interface | efa

" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressListRequest", + "documentation":"

One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The primary private IPv4 address of the network interface.

" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressSpecificationList", + "documentation":"

One or more private IPv4 addresses.

" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary private IPv4 addresses to assign to a network interface.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet for the network interface.

" + } + }, + "documentation":"

The parameters for a network interface.

" + }, + "LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationRequest", + "locationName":"InstanceNetworkInterfaceSpecification" + } + }, + "LaunchTemplateLicenseConfiguration":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the license configuration.

", + "locationName":"licenseConfigurationArn" + } + }, + "documentation":"

Describes a license configuration.

" + }, + "LaunchTemplateLicenseConfigurationRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the license configuration.

" + } + }, + "documentation":"

Describes a license configuration.

" + }, + "LaunchTemplateLicenseList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateLicenseConfiguration", + "locationName":"item" + } + }, + "LaunchTemplateLicenseSpecificationListRequest":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateLicenseConfigurationRequest", + "locationName":"item" + } + }, + "LaunchTemplateName":{ + "type":"string", + "max":128, + "min":3, + "pattern":"[a-zA-Z0-9\\(\\)\\.\\-/_]+" + }, + "LaunchTemplateNameStringList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateName", + "locationName":"item" + } + }, + "LaunchTemplateOverrides":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance.

", + "locationName":"spotPrice" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which to launch the instances.

", + "locationName":"subnetId" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which to launch the instances.

", + "locationName":"availabilityZone" + }, + "WeightedCapacity":{ + "shape":"Double", + "documentation":"

The number of units provided by the specified instance type.

", + "locationName":"weightedCapacity" + }, + "Priority":{ + "shape":"Double", + "documentation":"

The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

", + "locationName":"priority" + } + }, + "documentation":"

Describes overrides for a launch template.

" + }, + "LaunchTemplateOverridesList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateOverrides", + "locationName":"item" + } + }, + "LaunchTemplatePlacement":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the instance.

", + "locationName":"availabilityZone" + }, + "Affinity":{ + "shape":"String", + "documentation":"

The affinity setting for the instance on the Dedicated Host.

", + "locationName":"affinity" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group for the instance.

", + "locationName":"groupName" + }, + "HostId":{ + "shape":"String", + "documentation":"

The ID of the Dedicated Host for the instance.

", + "locationName":"hostId" + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

", + "locationName":"tenancy" + }, + "SpreadDomain":{ + "shape":"String", + "documentation":"

Reserved for future use.

", + "locationName":"spreadDomain" + }, + "HostResourceGroupArn":{ + "shape":"String", + "documentation":"

The ARN of the host resource group in which to launch the instances.

", + "locationName":"hostResourceGroupArn" + }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

", + "locationName":"partitionNumber" + } + }, + "documentation":"

Describes the placement of an instance.

" + }, + "LaunchTemplatePlacementRequest":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the instance.

" + }, + "Affinity":{ + "shape":"String", + "documentation":"

The affinity setting for an instance on a Dedicated Host.

" + }, + "GroupName":{ + "shape":"PlacementGroupName", + "documentation":"

The name of the placement group for the instance.

" + }, + "HostId":{ + "shape":"DedicatedHostId", + "documentation":"

The ID of the Dedicated Host for the instance.

" + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

" + }, + "SpreadDomain":{ + "shape":"String", + "documentation":"

Reserved for future use.

" + }, + "HostResourceGroupArn":{ + "shape":"String", + "documentation":"

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

" + }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

" + } + }, + "documentation":"

Describes the placement of an instance.

" + }, + "LaunchTemplateSet":{ + "type":"list", + "member":{ + "shape":"LaunchTemplate", + "locationName":"item" + } + }, + "LaunchTemplateSpecification":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template.

" + }, + "LaunchTemplateName":{ + "shape":"String", + "documentation":"

The name of the launch template.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version number of the launch template.

Default: The default version for the launch template.

" + } + }, + "documentation":"

The launch template to use. You must specify either the launch template ID or launch template name in the request, but not both.

" + }, + "LaunchTemplateSpotMarketOptions":{ + "type":"structure", + "members":{ + "MaxPrice":{ + "shape":"String", + "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances.

", + "locationName":"maxPrice" + }, + "SpotInstanceType":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot Instance request type.

", + "locationName":"spotInstanceType" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

", + "locationName":"blockDurationMinutes" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

", + "locationName":"validUntil" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted.

", + "locationName":"instanceInterruptionBehavior" + } + }, + "documentation":"

The options for Spot Instances.

" + }, + "LaunchTemplateSpotMarketOptionsRequest":{ + "type":"structure", + "members":{ + "MaxPrice":{ + "shape":"String", + "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances.

" + }, + "SpotInstanceType":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot Instance request type.

" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. The default end date is 7 days from the current date.

" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" + } + }, + "documentation":"

The options for Spot Instances.

" + }, + "LaunchTemplateTagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource.

", + "locationName":"resourceType" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

", + "locationName":"tagSet" + } + }, + "documentation":"

The tag specification for the launch template.

" + }, + "LaunchTemplateTagSpecificationList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateTagSpecification", + "locationName":"item" + } + }, + "LaunchTemplateTagSpecificationRequest":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are instance and volume. To tag a resource after it has been created, see CreateTags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource.

", + "locationName":"Tag" + } + }, + "documentation":"

The tags specification for the launch template.

" + }, + "LaunchTemplateTagSpecificationRequestList":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateTagSpecificationRequest", + "locationName":"LaunchTemplateTagSpecificationRequest" + } + }, + "LaunchTemplateVersion":{ + "type":"structure", + "members":{ + "LaunchTemplateId":{ + "shape":"String", + "documentation":"

The ID of the launch template.

", + "locationName":"launchTemplateId" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template.

", + "locationName":"launchTemplateName" + }, + "VersionNumber":{ + "shape":"Long", + "documentation":"

The version number.

", + "locationName":"versionNumber" + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

The description for the version.

", + "locationName":"versionDescription" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The time the version was created.

", + "locationName":"createTime" + }, + "CreatedBy":{ + "shape":"String", + "documentation":"

The principal that created the version.

", + "locationName":"createdBy" + }, + "DefaultVersion":{ + "shape":"Boolean", + "documentation":"

Indicates whether the version is the default version.

", + "locationName":"defaultVersion" + }, + "LaunchTemplateData":{ + "shape":"ResponseLaunchTemplateData", + "documentation":"

Information about the launch template.

", + "locationName":"launchTemplateData" + } + }, + "documentation":"

Describes a launch template version.

" + }, + "LaunchTemplateVersionSet":{ + "type":"list", + "member":{ + "shape":"LaunchTemplateVersion", + "locationName":"item" + } + }, + "LaunchTemplatesMonitoring":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", + "locationName":"enabled" + } + }, + "documentation":"

Describes the monitoring for the instance.

" + }, + "LaunchTemplatesMonitoringRequest":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

" + } + }, + "documentation":"

Describes the monitoring for the instance.

" + }, + "LicenseConfiguration":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the license configuration.

", + "locationName":"licenseConfigurationArn" + } + }, + "documentation":"

Describes a license configuration.

" + }, + "LicenseConfigurationRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the license configuration.

" + } + }, + "documentation":"

Describes a license configuration.

" + }, + "LicenseList":{ + "type":"list", + "member":{ + "shape":"LicenseConfiguration", + "locationName":"item" + } + }, + "LicenseSpecificationListRequest":{ + "type":"list", + "member":{ + "shape":"LicenseConfigurationRequest", + "locationName":"item" + } + }, + "ListingState":{ + "type":"string", + "enum":[ + "available", + "sold", + "cancelled", + "pending" + ] + }, + "ListingStatus":{ + "type":"string", + "enum":[ + "active", + "pending", + "cancelled", + "closed" + ] + }, + "LoadBalancersConfig":{ + "type":"structure", + "members":{ + "ClassicLoadBalancersConfig":{ + "shape":"ClassicLoadBalancersConfig", + "documentation":"

The Classic Load Balancers.

", + "locationName":"classicLoadBalancersConfig" + }, + "TargetGroupsConfig":{ + "shape":"TargetGroupsConfig", + "documentation":"

The target groups.

", + "locationName":"targetGroupsConfig" + } + }, + "documentation":"

Describes the Classic Load Balancers and target groups to attach to a Spot Fleet request.

" + }, + "LoadPermission":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"String", + "documentation":"

The AWS account ID.

", + "locationName":"userId" + }, + "Group":{ + "shape":"PermissionGroup", + "documentation":"

The name of the group.

", + "locationName":"group" + } + }, + "documentation":"

Describes a load permission.

" + }, + "LoadPermissionList":{ + "type":"list", + "member":{ + "shape":"LoadPermission", + "locationName":"item" + } + }, + "LoadPermissionListRequest":{ + "type":"list", + "member":{ + "shape":"LoadPermissionRequest", + "locationName":"item" + } + }, + "LoadPermissionModifications":{ + "type":"structure", + "members":{ + "Add":{ + "shape":"LoadPermissionListRequest", + "documentation":"

The load permissions to add.

" + }, + "Remove":{ + "shape":"LoadPermissionListRequest", + "documentation":"

The load permissions to remove.

" + } + }, + "documentation":"

Describes modifications to the load permissions of an Amazon FPGA image (AFI).

" + }, + "LoadPermissionRequest":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"PermissionGroup", + "documentation":"

The name of the group.

" + }, + "UserId":{ + "shape":"String", + "documentation":"

The AWS account ID.

" + } + }, + "documentation":"

Describes a load permission.

" + }, + "LocalGateway":{ + "type":"structure", + "members":{ + "LocalGatewayId":{ + "shape":"LocalGatewayId", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account ID that owns the local gateway.

", + "locationName":"ownerId" + }, + "State":{ + "shape":"String", + "documentation":"

The state of the local gateway.

", + "locationName":"state" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the local gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a local gateway.

" + }, + "LocalGatewayId":{"type":"string"}, + "LocalGatewayIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayId", + "locationName":"item" + } + }, + "LocalGatewayMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "LocalGatewayRoute":{ + "type":"structure", + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR block used for destination matches.

", + "locationName":"destinationCidrBlock" + }, + "LocalGatewayVirtualInterfaceGroupId":{ + "shape":"LocalGatewayVirtualInterfaceGroupId", + "documentation":"

The ID of the virtual interface group.

", + "locationName":"localGatewayVirtualInterfaceGroupId" + }, + "Type":{ + "shape":"LocalGatewayRouteType", + "documentation":"

The route type.

", + "locationName":"type" + }, + "State":{ + "shape":"LocalGatewayRouteState", + "documentation":"

The state of the route.

", + "locationName":"state" + }, + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + } + }, + "documentation":"

Describes a route for a local gateway route table.

" + }, + "LocalGatewayRouteList":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRoute", + "locationName":"item" + } + }, + "LocalGatewayRouteState":{ + "type":"string", + "enum":[ + "pending", + "active", + "blackhole", + "deleting", + "deleted" + ] + }, + "LocalGatewayRouteTable":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + }, + "LocalGatewayId":{ + "shape":"LocalGatewayId", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "State":{ + "shape":"String", + "documentation":"

The state of the local gateway route table.

", + "locationName":"state" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the local gateway route table.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a local gateway route table.

" + }, + "LocalGatewayRouteTableIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRoutetableId", + "locationName":"item" + } + }, + "LocalGatewayRouteTableSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRouteTable", + "locationName":"item" + } + }, + "LocalGatewayRouteTableVirtualInterfaceGroupAssociation":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId":{ + "shape":"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", + "documentation":"

The ID of the association.

", + "locationName":"localGatewayRouteTableVirtualInterfaceGroupAssociationId" + }, + "LocalGatewayVirtualInterfaceGroupId":{ + "shape":"LocalGatewayVirtualInterfaceGroupId", + "documentation":"

The ID of the virtual interface group.

", + "locationName":"localGatewayVirtualInterfaceGroupId" + }, + "LocalGatewayId":{ + "shape":"String", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayId", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + }, + "State":{ + "shape":"String", + "documentation":"

The state of the association.

", + "locationName":"state" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the association.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an association between a local gateway route table and a virtual interface group.

" + }, + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationId":{"type":"string"}, + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", + "locationName":"item" + } + }, + "LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRouteTableVirtualInterfaceGroupAssociation", + "locationName":"item" + } + }, + "LocalGatewayRouteTableVpcAssociation":{ + "type":"structure", + "members":{ + "LocalGatewayRouteTableVpcAssociationId":{ + "shape":"LocalGatewayRouteTableVpcAssociationId", + "documentation":"

The ID of the association.

", + "locationName":"localGatewayRouteTableVpcAssociationId" + }, + "LocalGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the local gateway route table.

", + "locationName":"localGatewayRouteTableId" + }, + "LocalGatewayId":{ + "shape":"String", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "State":{ + "shape":"String", + "documentation":"

The state of the association.

", + "locationName":"state" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the association.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an association between a local gateway route table and a VPC.

" + }, + "LocalGatewayRouteTableVpcAssociationId":{"type":"string"}, + "LocalGatewayRouteTableVpcAssociationIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRouteTableVpcAssociationId", + "locationName":"item" + } + }, + "LocalGatewayRouteTableVpcAssociationSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayRouteTableVpcAssociation", + "locationName":"item" + } + }, + "LocalGatewayRouteType":{ + "type":"string", + "enum":[ + "static", + "propagated" + ] + }, + "LocalGatewayRoutetableId":{"type":"string"}, + "LocalGatewaySet":{ + "type":"list", + "member":{ + "shape":"LocalGateway", + "locationName":"item" + } + }, + "LocalGatewayVirtualInterface":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaceId":{ + "shape":"LocalGatewayVirtualInterfaceId", + "documentation":"

The ID of the virtual interface.

", + "locationName":"localGatewayVirtualInterfaceId" + }, + "LocalGatewayId":{ + "shape":"String", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "Vlan":{ + "shape":"Integer", + "documentation":"

The ID of the VLAN.

", + "locationName":"vlan" + }, + "LocalAddress":{ + "shape":"String", + "documentation":"

The local address.

", + "locationName":"localAddress" + }, + "PeerAddress":{ + "shape":"String", + "documentation":"

The peer address.

", + "locationName":"peerAddress" + }, + "LocalBgpAsn":{ + "shape":"Integer", + "documentation":"

The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

", + "locationName":"localBgpAsn" + }, + "PeerBgpAsn":{ + "shape":"Integer", + "documentation":"

The peer BGP ASN.

", + "locationName":"peerBgpAsn" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the virtual interface.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a local gateway virtual interface.

" + }, + "LocalGatewayVirtualInterfaceGroup":{ + "type":"structure", + "members":{ + "LocalGatewayVirtualInterfaceGroupId":{ + "shape":"LocalGatewayVirtualInterfaceGroupId", + "documentation":"

The ID of the virtual interface group.

", + "locationName":"localGatewayVirtualInterfaceGroupId" + }, + "LocalGatewayVirtualInterfaceIds":{ + "shape":"LocalGatewayVirtualInterfaceIdSet", + "documentation":"

The IDs of the virtual interfaces.

", + "locationName":"localGatewayVirtualInterfaceIdSet" + }, + "LocalGatewayId":{ + "shape":"String", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the virtual interface group.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a local gateway virtual interface group.

" + }, + "LocalGatewayVirtualInterfaceGroupId":{"type":"string"}, + "LocalGatewayVirtualInterfaceGroupIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayVirtualInterfaceGroupId", + "locationName":"item" + } + }, + "LocalGatewayVirtualInterfaceGroupSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayVirtualInterfaceGroup", + "locationName":"item" + } + }, + "LocalGatewayVirtualInterfaceId":{"type":"string"}, + "LocalGatewayVirtualInterfaceIdSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayVirtualInterfaceId", + "locationName":"item" + } + }, + "LocalGatewayVirtualInterfaceSet":{ + "type":"list", + "member":{ + "shape":"LocalGatewayVirtualInterface", + "locationName":"item" + } + }, + "Location":{"type":"string"}, + "LocationType":{ + "type":"string", + "enum":[ + "region", + "availability-zone", + "availability-zone-id" + ] + }, + "LogDestinationType":{ + "type":"string", + "enum":[ + "cloud-watch-logs", + "s3" + ] + }, + "Long":{"type":"long"}, + "MarketType":{ + "type":"string", + "enum":["spot"] + }, + "MaxIpv4AddrPerInterface":{"type":"integer"}, + "MaxIpv6AddrPerInterface":{"type":"integer"}, + "MaxNetworkInterfaces":{"type":"integer"}, + "MaxResults":{"type":"integer"}, + "MaximumBandwidthInMbps":{"type":"integer"}, + "MaximumIops":{"type":"integer"}, + "MaximumThroughputInMBps":{"type":"double"}, + "MembershipType":{ + "type":"string", + "enum":[ + "static", + "igmp" + ] + }, + "MemoryInfo":{ + "type":"structure", + "members":{ + "SizeInMiB":{ + "shape":"MemorySize", + "documentation":"

Size of the memory, in MiB.

", + "locationName":"sizeInMiB" + } + }, + "documentation":"

Describes the memory for the instance type.

" + }, + "MemorySize":{"type":"long"}, + "MillisecondDateTime":{"type":"timestamp"}, + "ModifyAvailabilityZoneGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "OptInStatus" + ], + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

The name of the Availability Zone Group.

" + }, + "OptInStatus":{ + "shape":"ModifyAvailabilityZoneOptInStatus", + "documentation":"

Indicates whether to enable or disable membership. The valid values are opted-in. You must contact AWS Support to disable an Availability Zone group.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyAvailabilityZoneGroupResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + } + }, + "ModifyAvailabilityZoneOptInStatus":{ + "type":"string", + "enum":[ + "opted-in", + "not-opted-in" + ] + }, + "ModifyCapacityReservationRequest":{ + "type":"structure", + "required":["CapacityReservationId"], + "members":{ + "CapacityReservationId":{ + "shape":"CapacityReservationId", + "documentation":"

The ID of the Capacity Reservation.

" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances for which to reserve capacity.

" + }, + "EndDate":{ + "shape":"DateTime", + "documentation":"

The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

You must provide an EndDate value if EndDateType is limited. Omit EndDate if EndDateType is unlimited.

" + }, + "EndDateType":{ + "shape":"EndDateType", + "documentation":"

Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

  • unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not provide an EndDate value if EndDateType is unlimited.

  • limited - The Capacity Reservation expires automatically at a specified date and time. You must provide an EndDate value if EndDateType is limited.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyCapacityReservationResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyClientVpnEndpointRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint to modify.

" + }, + "ServerCertificateArn":{ + "shape":"String", + "documentation":"

The ARN of the server certificate to be used. The server certificate must be provisioned in AWS Certificate Manager (ACM).

" + }, + "ConnectionLogOptions":{ + "shape":"ConnectionLogOptions", + "documentation":"

Information about the client connection logging options.

If you enable client connection logging, data about client connections is sent to a Cloudwatch Logs log stream. The following information is logged:

  • Client connection requests

  • Client connection results (successful and unsuccessful)

  • Reasons for unsuccessful client connection requests

  • Client connection termination time

" + }, + "DnsServers":{ + "shape":"DnsServersOptionsModifyStructure", + "documentation":"

Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have up to two DNS servers.

" + }, + "VpnPort":{ + "shape":"Integer", + "documentation":"

The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

Valid Values: 443 | 1194

Default Value: 443

" + }, + "Description":{ + "shape":"String", + "documentation":"

A brief description of the Client VPN endpoint.

" + }, + "SplitTunnel":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPN is split-tunnel.

For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client VPN Endpoint in the AWS Client VPN Administrator Guide.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "SecurityGroupIds":{ + "shape":"ClientVpnSecurityGroupIdSet", + "documentation":"

The IDs of one or more security groups to apply to the target network.

", + "locationName":"SecurityGroupId" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC to associate with the Client VPN endpoint.

" + } + } + }, + "ModifyClientVpnEndpointResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyDefaultCreditSpecificationRequest":{ + "type":"structure", + "required":[ + "InstanceFamily", + "CpuCredits" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceFamily":{ + "shape":"UnlimitedSupportedInstanceFamily", + "documentation":"

The instance family.

" + }, + "CpuCredits":{ + "shape":"String", + "documentation":"

The credit option for CPU usage of the instance family.

Valid Values: standard | unlimited

" + } + } + }, + "ModifyDefaultCreditSpecificationResult":{ + "type":"structure", + "members":{ + "InstanceFamilyCreditSpecification":{ + "shape":"InstanceFamilyCreditSpecification", + "documentation":"

The default credit option for CPU usage of the instance family.

", + "locationName":"instanceFamilyCreditSpecification" + } + } + }, + "ModifyEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "required":["KmsKeyId"], + "members":{ + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use for Amazon EBS encryption. If this parameter is not specified, your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the CMK using any of the following:

  • Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias. For example, alias/ExampleAlias.

  • Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

  • Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

AWS authenticates the CMK asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric CMKs.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, + "ModifyFleetRequest":{ + "type":"structure", + "required":[ + "FleetId", + "TargetCapacitySpecification" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ExcessCapacityTerminationPolicy":{ + "shape":"FleetExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.

" + }, + "FleetId":{ + "shape":"FleetId", + "documentation":"

The ID of the EC2 Fleet.

" + }, + "TargetCapacitySpecification":{ + "shape":"TargetCapacitySpecificationRequest", + "documentation":"

The size of the EC2 Fleet.

" + } + } + }, + "ModifyFleetResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + } + }, + "ModifyFpgaImageAttributeRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageId":{ + "shape":"FpgaImageId", + "documentation":"

The ID of the AFI.

" + }, + "Attribute":{ + "shape":"FpgaImageAttributeName", + "documentation":"

The name of the attribute.

" + }, + "OperationType":{ + "shape":"OperationType", + "documentation":"

The operation type.

" + }, + "UserIds":{ + "shape":"UserIdStringList", + "documentation":"

The AWS account IDs. This parameter is valid only when modifying the loadPermission attribute.

", + "locationName":"UserId" + }, + "UserGroups":{ + "shape":"UserGroupStringList", + "documentation":"

The user groups. This parameter is valid only when modifying the loadPermission attribute.

", + "locationName":"UserGroup" + }, + "ProductCodes":{ + "shape":"ProductCodeStringList", + "documentation":"

The product codes. After you add a product code to an AFI, it can't be removed. This parameter is valid only when modifying the productCodes attribute.

", + "locationName":"ProductCode" + }, + "LoadPermission":{ + "shape":"LoadPermissionModifications", + "documentation":"

The load permission for the AFI.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the AFI.

" + }, + "Name":{ + "shape":"String", + "documentation":"

A name for the AFI.

" + } + } + }, + "ModifyFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "FpgaImageAttribute":{ + "shape":"FpgaImageAttribute", + "documentation":"

Information about the attribute.

", + "locationName":"fpgaImageAttribute" + } + } + }, + "ModifyHostsRequest":{ + "type":"structure", + "required":["HostIds"], + "members":{ + "AutoPlacement":{ + "shape":"AutoPlacement", + "documentation":"

Specify whether to enable or disable auto-placement.

", + "locationName":"autoPlacement" + }, + "HostIds":{ + "shape":"RequestHostIdList", + "documentation":"

The IDs of the Dedicated Hosts to modify.

", + "locationName":"hostId" + }, + "HostRecovery":{ + "shape":"HostRecovery", + "documentation":"

Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, see Host Recovery in the Amazon Elastic Compute Cloud User Guide.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support only a specific instance type.

If you want to modify a Dedicated Host to support multiple instance types in its current instance family, omit this parameter and specify InstanceFamily instead. You cannot specify InstanceType and InstanceFamily in the same request.

" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

Specifies the instance family to be supported by the Dedicated Host. Specify this parameter to modify a Dedicated Host to support multiple instance types within its current instance family.

If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter and specify InstanceType instead. You cannot specify InstanceFamily and InstanceType in the same request.

" + } + } + }, + "ModifyHostsResult":{ + "type":"structure", + "members":{ + "Successful":{ + "shape":"ResponseHostIdList", + "documentation":"

The IDs of the Dedicated Hosts that were successfully modified.

", + "locationName":"successful" + }, + "Unsuccessful":{ + "shape":"UnsuccessfulItemList", + "documentation":"

The IDs of the Dedicated Hosts that could not be modified. Check whether the setting you requested can be used.

", + "locationName":"unsuccessful" + } + } + }, + "ModifyIdFormatRequest":{ + "type":"structure", + "required":[ + "Resource", + "UseLongIds" + ], + "members":{ + "Resource":{ + "shape":"String", + "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

" + }, + "UseLongIds":{ + "shape":"Boolean", + "documentation":"

Indicate whether the resource should use longer IDs (17-character IDs).

" + } + } + }, + "ModifyIdentityIdFormatRequest":{ + "type":"structure", + "required":[ + "PrincipalArn", + "Resource", + "UseLongIds" + ], + "members":{ + "PrincipalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify all to modify the ID format for all IAM users, IAM roles, and the root user of the account.

", + "locationName":"principalArn" + }, + "Resource":{ + "shape":"String", + "documentation":"

The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association | export-task | flow-log | image | import-task | internet-gateway | network-acl | network-acl-association | network-interface | network-interface-attachment | prefix-list | route-table | route-table-association | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

Alternatively, use the all-current option to include all resource types that are currently within their opt-in period for longer IDs.

", + "locationName":"resource" + }, + "UseLongIds":{ + "shape":"Boolean", + "documentation":"

Indicates whether the resource should use longer IDs (17-character IDs)

", + "locationName":"useLongIds" + } + } + }, + "ModifyImageAttributeRequest":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "Attribute":{ + "shape":"String", + "documentation":"

The name of the attribute to modify. The valid values are description, launchPermission, and productCodes.

" + }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

A new description for the AMI.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

" + }, + "LaunchPermission":{ + "shape":"LaunchPermissionModifications", + "documentation":"

A new launch permission for the AMI.

" + }, + "OperationType":{ + "shape":"OperationType", + "documentation":"

The operation type. This parameter can be used only when the Attribute parameter is launchPermission.

" + }, + "ProductCodes":{ + "shape":"ProductCodeStringList", + "documentation":"

The DevPay product codes. After you add a product code to an AMI, it can't be removed.

", + "locationName":"ProductCode" + }, + "UserGroups":{ + "shape":"UserGroupStringList", + "documentation":"

The user groups. This parameter can be used only when the Attribute parameter is launchPermission.

", + "locationName":"UserGroup" + }, + "UserIds":{ + "shape":"UserIdStringList", + "documentation":"

The AWS account IDs. This parameter can be used only when the Attribute parameter is launchPermission.

", + "locationName":"UserId" + }, + "Value":{ + "shape":"String", + "documentation":"

The value of the attribute being modified. This parameter can be used only when the Attribute parameter is description or productCodes.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for ModifyImageAttribute.

" + }, + "ModifyInstanceAttributeRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specifies whether source/destination checking is enabled. A value of true means that checking is enabled, and false means that checking is disabled. This value must be false for a NAT instance to perform NAT.

" + }, + "Attribute":{ + "shape":"InstanceAttributeName", + "documentation":"

The name of the attribute.

", + "locationName":"attribute" + }, + "BlockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappingSpecificationList", + "documentation":"

Modifies the DeleteOnTermination attribute for volumes that are currently attached. The volume must be owned by the caller. If no value is specified for DeleteOnTermination, the default is true and the volume is deleted when the instance is terminated.

To add instance store volumes to an Amazon EBS-backed instance, you must add them when you launch the instance. For more information, see Updating the Block Device Mapping when Launching an Instance in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"blockDeviceMapping" + }, + "DisableApiTermination":{ + "shape":"AttributeBooleanValue", + "documentation":"

If the value is true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot Instances.

", + "locationName":"disableApiTermination" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EbsOptimized":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specifies whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", + "locationName":"ebsOptimized" + }, + "EnaSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Set to true to enable enhanced networking with ENA for the instance.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", + "locationName":"enaSupport" + }, + "Groups":{ + "shape":"GroupIdStringList", + "documentation":"

[EC2-VPC] Changes the security groups of the instance. You must specify at least one security group, even if it's just the default security group for the VPC. You must specify the security group ID, not the security group name.

", + "locationName":"GroupId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"AttributeValue", + "documentation":"

Specifies whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "InstanceType":{ + "shape":"AttributeValue", + "documentation":"

Changes the instance type to the specified value. For more information, see Instance Types. If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.

", + "locationName":"instanceType" + }, + "Kernel":{ + "shape":"AttributeValue", + "documentation":"

Changes the instance's kernel to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "locationName":"kernel" + }, + "Ramdisk":{ + "shape":"AttributeValue", + "documentation":"

Changes the instance's RAM disk to the specified value. We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

", + "locationName":"ramdisk" + }, + "SriovNetSupport":{ + "shape":"AttributeValue", + "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the instance.

There is no way to disable enhanced networking with the Intel 82599 Virtual Function interface at this time.

This option is supported only for HVM instances. Specifying this option with a PV instance can make it unreachable.

", + "locationName":"sriovNetSupport" + }, + "UserData":{ + "shape":"BlobAttributeValue", + "documentation":"

Changes the instance's user data to the specified value. If you are using an AWS SDK or command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text.

", + "locationName":"userData" + }, + "Value":{ + "shape":"String", + "documentation":"

A new value for the attribute. Use only with the kernel, ramdisk, userData, disableApiTermination, or instanceInitiatedShutdownBehavior attribute.

", + "locationName":"value" + } + } + }, + "ModifyInstanceCapacityReservationAttributesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "CapacityReservationSpecification" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance to be modified.

" + }, + "CapacityReservationSpecification":{ + "shape":"CapacityReservationSpecification", + "documentation":"

Information about the Capacity Reservation targeting option.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyInstanceCapacityReservationAttributesResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyInstanceCreditSpecificationRequest":{ + "type":"structure", + "required":["InstanceCreditSpecifications"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive token that you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

" + }, + "InstanceCreditSpecifications":{ + "shape":"InstanceCreditSpecificationListRequest", + "documentation":"

Information about the credit option for CPU usage.

", + "locationName":"InstanceCreditSpecification" + } + } + }, + "ModifyInstanceCreditSpecificationResult":{ + "type":"structure", + "members":{ + "SuccessfulInstanceCreditSpecifications":{ + "shape":"SuccessfulInstanceCreditSpecificationSet", + "documentation":"

Information about the instances whose credit option for CPU usage was successfully modified.

", + "locationName":"successfulInstanceCreditSpecificationSet" + }, + "UnsuccessfulInstanceCreditSpecifications":{ + "shape":"UnsuccessfulInstanceCreditSpecificationSet", + "documentation":"

Information about the instances whose credit option for CPU usage was not modified.

", + "locationName":"unsuccessfulInstanceCreditSpecificationSet" + } + } + }, + "ModifyInstanceEventStartTimeRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "InstanceEventId", + "NotBefore" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance with the scheduled event.

" + }, + "InstanceEventId":{ + "shape":"String", + "documentation":"

The ID of the event whose date and time you are modifying.

" + }, + "NotBefore":{ + "shape":"DateTime", + "documentation":"

The new date and time when the event will take place.

" + } + } + }, + "ModifyInstanceEventStartTimeResult":{ + "type":"structure", + "members":{ + "Event":{ + "shape":"InstanceStatusEvent", + "locationName":"event" + } + } + }, + "ModifyInstanceMetadataOptionsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "HttpTokens":{ + "shape":"HttpTokensState", + "documentation":"

The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credential always returns the version 2.0 credentials; the version 1.0 credentials are not available.

" + }, + "HttpPutResponseHopLimit":{ + "shape":"Integer", + "documentation":"

The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

Possible values: Integers from 1 to 64

" + }, + "HttpEndpoint":{ + "shape":"InstanceMetadataEndpointState", + "documentation":"

This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the existing state is maintained.

If you specify a value of disabled, you will not be able to access your instance metadata.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyInstanceMetadataOptionsResult":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceMetadataOptions":{ + "shape":"InstanceMetadataOptionsResponse", + "documentation":"

The metadata options for the instance.

", + "locationName":"instanceMetadataOptions" + } + } + }, + "ModifyInstancePlacementRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "Affinity":{ + "shape":"Affinity", + "documentation":"

The affinity setting for the instance.

", + "locationName":"affinity" + }, + "GroupName":{ + "shape":"PlacementGroupName", + "documentation":"

The name of the placement group in which to place the instance. For spread placement groups, the instance must have a tenancy of default. For cluster and partition placement groups, the instance must have a tenancy of default or dedicated.

To remove an instance from a placement group, specify an empty string (\"\").

" + }, + "HostId":{ + "shape":"DedicatedHostId", + "documentation":"

The ID of the Dedicated Host with which to associate the instance.

", + "locationName":"hostId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance that you are modifying.

", + "locationName":"instanceId" + }, + "Tenancy":{ + "shape":"HostTenancy", + "documentation":"

The tenancy for the instance.

", + "locationName":"tenancy" + }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

Reserved for future use.

" + }, + "HostResourceGroupArn":{ + "shape":"String", + "documentation":"

The ARN of the host resource group in which to place the instance.

" + } + } + }, + "ModifyInstancePlacementResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + } + }, + "ModifyLaunchTemplateRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

Constraint: Maximum 128 ASCII characters.

" + }, + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

The ID of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

The name of the launch template. You must specify either the launch template ID or launch template name in the request.

" + }, + "DefaultVersion":{ + "shape":"String", + "documentation":"

The version number of the launch template to set as the default version.

", + "locationName":"SetDefaultVersion" + } + } + }, + "ModifyLaunchTemplateResult":{ + "type":"structure", + "members":{ + "LaunchTemplate":{ + "shape":"LaunchTemplate", + "documentation":"

Information about the launch template.

", + "locationName":"launchTemplate" + } + } + }, + "ModifyNetworkInterfaceAttributeRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "Attachment":{ + "shape":"NetworkInterfaceAttachmentChanges", + "documentation":"

Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

", + "locationName":"attachment" + }, + "Description":{ + "shape":"AttributeValue", + "documentation":"

A description for the network interface.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Groups":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

", + "locationName":"SecurityGroupId" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "SourceDestCheck":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether source/destination checking is enabled. A value of true means checking is enabled, and false means checking is disabled. This value must be false for a NAT instance to perform NAT. For more information, see NAT Instances in the Amazon Virtual Private Cloud User Guide.

", + "locationName":"sourceDestCheck" + } + }, + "documentation":"

Contains the parameters for ModifyNetworkInterfaceAttribute.

" + }, + "ModifyReservedInstancesRequest":{ + "type":"structure", + "required":[ + "ReservedInstancesIds", + "TargetConfigurations" + ], + "members":{ + "ReservedInstancesIds":{ + "shape":"ReservedInstancesIdStringList", + "documentation":"

The IDs of the Reserved Instances to modify.

", + "locationName":"ReservedInstancesId" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, + "TargetConfigurations":{ + "shape":"ReservedInstancesConfigurationList", + "documentation":"

The configuration settings for the Reserved Instances to modify.

", + "locationName":"ReservedInstancesConfigurationSetItemType" + } + }, + "documentation":"

Contains the parameters for ModifyReservedInstances.

" + }, + "ModifyReservedInstancesResult":{ + "type":"structure", + "members":{ + "ReservedInstancesModificationId":{ + "shape":"String", + "documentation":"

The ID for the modification.

", + "locationName":"reservedInstancesModificationId" + } + }, + "documentation":"

Contains the output of ModifyReservedInstances.

" + }, + "ModifySnapshotAttributeRequest":{ + "type":"structure", + "required":["SnapshotId"], + "members":{ + "Attribute":{ + "shape":"SnapshotAttributeName", + "documentation":"

The snapshot attribute to modify. Only volume creation permissions can be modified.

" + }, + "CreateVolumePermission":{ + "shape":"CreateVolumePermissionModifications", + "documentation":"

A JSON representation of the snapshot attribute modification.

" + }, + "GroupNames":{ + "shape":"GroupNameStringList", + "documentation":"

The group to modify for the snapshot.

", + "locationName":"UserGroup" + }, + "OperationType":{ + "shape":"OperationType", + "documentation":"

The type of operation to perform to the attribute.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

" + }, + "UserIds":{ + "shape":"UserIdStringList", + "documentation":"

The account ID to modify for the snapshot.

", + "locationName":"UserId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "ModifySpotFleetRequestRequest":{ + "type":"structure", + "required":["SpotFleetRequestId"], + "members":{ + "ExcessCapacityTerminationPolicy":{ + "shape":"ExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running Spot Instances should be terminated if the target capacity of the Spot Fleet request is decreased below the current size of the Spot Fleet.

", + "locationName":"excessCapacityTerminationPolicy" + }, + "SpotFleetRequestId":{ + "shape":"SpotFleetRequestId", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + }, + "TargetCapacity":{ + "shape":"Integer", + "documentation":"

The size of the fleet.

", + "locationName":"targetCapacity" + }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of On-Demand Instances in the fleet.

" + } + }, + "documentation":"

Contains the parameters for ModifySpotFleetRequest.

" + }, + "ModifySpotFleetRequestResponse":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + }, + "documentation":"

Contains the output of ModifySpotFleetRequest.

" + }, + "ModifySubnetAttributeRequest":{ + "type":"structure", + "required":["SubnetId"], + "members":{ + "AssignIpv6AddressOnCreation":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specify true to indicate that network interfaces created in the specified subnet should be assigned an IPv6 address. This includes a network interface that's created when launching an instance into the subnet (the instance therefore receives an IPv6 address).

If you enable the IPv6 addressing feature for your subnet, your network interface or instance only receives an IPv6 address if it's created using version 2016-11-15 or later of the Amazon EC2 API.

" + }, + "MapPublicIpOnLaunch":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a public IPv4 address.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "MapCustomerOwnedIpOnLaunch":{ + "shape":"AttributeBooleanValue", + "documentation":"

Specify true to indicate that network interfaces attached to instances created in the specified subnet should be assigned a customer-owned IPv4 address.

When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

" + }, + "CustomerOwnedIpv4Pool":{ + "shape":"CoipPoolId", + "documentation":"

The customer-owned IPv4 address pool associated with the subnet.

You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

" + } + } + }, + "ModifyTrafficMirrorFilterNetworkServicesRequest":{ + "type":"structure", + "required":["TrafficMirrorFilterId"], + "members":{ + "TrafficMirrorFilterId":{ + "shape":"TrafficMirrorFilterId", + "documentation":"

The ID of the Traffic Mirror filter.

" + }, + "AddNetworkServices":{ + "shape":"TrafficMirrorNetworkServiceList", + "documentation":"

The network service, for example Amazon DNS, that you want to mirror.

", + "locationName":"AddNetworkService" + }, + "RemoveNetworkServices":{ + "shape":"TrafficMirrorNetworkServiceList", + "documentation":"

The network service, for example Amazon DNS, that you no longer want to mirror.

", + "locationName":"RemoveNetworkService" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyTrafficMirrorFilterNetworkServicesResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilter":{ + "shape":"TrafficMirrorFilter", + "documentation":"

The Traffic Mirror filter that the network service is associated with.

", + "locationName":"trafficMirrorFilter" + } + } + }, + "ModifyTrafficMirrorFilterRuleRequest":{ + "type":"structure", + "required":["TrafficMirrorFilterRuleId"], + "members":{ + "TrafficMirrorFilterRuleId":{ + "shape":"TrafficMirrorFilterRuleId", + "documentation":"

The ID of the Traffic Mirror rule.

" + }, + "TrafficDirection":{ + "shape":"TrafficDirection", + "documentation":"

The type of traffic (ingress | egress) to assign to the rule.

" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

" + }, + "RuleAction":{ + "shape":"TrafficMirrorRuleAction", + "documentation":"

The action to assign to the rule.

" + }, + "DestinationPortRange":{ + "shape":"TrafficMirrorPortRangeRequest", + "documentation":"

The destination ports that are associated with the Traffic Mirror rule.

" + }, + "SourcePortRange":{ + "shape":"TrafficMirrorPortRangeRequest", + "documentation":"

The port range to assign to the Traffic Mirror rule.

" + }, + "Protocol":{ + "shape":"Integer", + "documentation":"

The protocol, for example TCP, to assign to the Traffic Mirror rule.

" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The destination CIDR block to assign to the Traffic Mirror rule.

" + }, + "SourceCidrBlock":{ + "shape":"String", + "documentation":"

The source CIDR block to assign to the Traffic Mirror rule.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to assign to the Traffic Mirror rule.

" + }, + "RemoveFields":{ + "shape":"TrafficMirrorFilterRuleFieldList", + "documentation":"

The properties that you want to remove from the Traffic Mirror filter rule.

When you remove a property from a Traffic Mirror filter rule, the property is set to the default.

", + "locationName":"RemoveField" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyTrafficMirrorFilterRuleResult":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterRule":{ + "shape":"TrafficMirrorFilterRule", + "documentation":"

Modifies a Traffic Mirror rule.

", + "locationName":"trafficMirrorFilterRule" + } + } + }, + "ModifyTrafficMirrorSessionRequest":{ + "type":"structure", + "required":["TrafficMirrorSessionId"], + "members":{ + "TrafficMirrorSessionId":{ + "shape":"TrafficMirrorSessionId", + "documentation":"

The ID of the Traffic Mirror session.

" + }, + "TrafficMirrorTargetId":{ + "shape":"TrafficMirrorTargetId", + "documentation":"

The Traffic Mirror target. The target must be in the same VPC as the source, or have a VPC peering connection with the source.

" + }, + "TrafficMirrorFilterId":{ + "shape":"TrafficMirrorFilterId", + "documentation":"

The ID of the Traffic Mirror filter.

" + }, + "PacketLength":{ + "shape":"Integer", + "documentation":"

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

" + }, + "SessionNumber":{ + "shape":"Integer", + "documentation":"

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

" + }, + "VirtualNetworkId":{ + "shape":"Integer", + "documentation":"

The virtual network ID of the Traffic Mirror session.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description to assign to the Traffic Mirror session.

" + }, + "RemoveFields":{ + "shape":"TrafficMirrorSessionFieldList", + "documentation":"

The properties that you want to remove from the Traffic Mirror session.

When you remove a property from a Traffic Mirror session, the property is set to the default.

", + "locationName":"RemoveField" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyTrafficMirrorSessionResult":{ + "type":"structure", + "members":{ + "TrafficMirrorSession":{ + "shape":"TrafficMirrorSession", + "documentation":"

Information about the Traffic Mirror session.

", + "locationName":"trafficMirrorSession" + } + } + }, + "ModifyTransitGatewayVpcAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "AddSubnetIds":{ + "shape":"TransitGatewaySubnetIdList", + "documentation":"

The IDs of one or more subnets to add. You can specify at most one subnet per Availability Zone.

" + }, + "RemoveSubnetIds":{ + "shape":"TransitGatewaySubnetIdList", + "documentation":"

The IDs of one or more subnets to remove.

" + }, + "Options":{ + "shape":"ModifyTransitGatewayVpcAttachmentRequestOptions", + "documentation":"

The new VPC attachment options.

You cannot modify the IPv6 options.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyTransitGatewayVpcAttachmentRequestOptions":{ + "type":"structure", + "members":{ + "DnsSupport":{ + "shape":"DnsSupportValue", + "documentation":"

Enable or disable DNS support. The default is enable.

" + }, + "Ipv6Support":{ + "shape":"Ipv6SupportValue", + "documentation":"

Enable or disable IPv6 support. The default is enable.

" + } + }, + "documentation":"

Describes the options for a VPC attachment.

" + }, + "ModifyTransitGatewayVpcAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachment":{ + "shape":"TransitGatewayVpcAttachment", + "documentation":"

Information about the modified attachment.

", + "locationName":"transitGatewayVpcAttachment" + } + } + }, + "ModifyVolumeAttributeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "AutoEnableIO":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the volume should be auto-enabled for I/O operations.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "ModifyVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

The ID of the volume.

" + }, + "Size":{ + "shape":"Integer", + "documentation":"

The target size of the volume, in GiB. The target volume size must be greater than or equal to than the existing size of the volume. For information about available EBS volume sizes, see Amazon EBS Volume Types.

Default: If no size is specified, the existing size is retained.

" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The target EBS volume type of the volume.

Default: If no type is specified, the existing type is retained.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The target IOPS rate of the volume.

This is only valid for Provisioned IOPS SSD (io1) volumes. For more information, see Provisioned IOPS SSD (io1) Volumes.

Default: If no IOPS value is specified, the existing value is retained.

" + } + } + }, + "ModifyVolumeResult":{ + "type":"structure", + "members":{ + "VolumeModification":{ + "shape":"VolumeModification", + "documentation":"

Information about the volume modification.

", + "locationName":"volumeModification" + } + } + }, + "ModifyVpcAttributeRequest":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "EnableDnsHostnames":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

" + }, + "EnableDnsSupport":{ + "shape":"AttributeBooleanValue", + "documentation":"

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + } + }, + "ModifyVpcEndpointConnectionNotificationRequest":{ + "type":"structure", + "required":["ConnectionNotificationId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ConnectionNotificationId":{ + "shape":"ConnectionNotificationId", + "documentation":"

The ID of the notification.

" + }, + "ConnectionNotificationArn":{ + "shape":"String", + "documentation":"

The ARN for the SNS topic for the notification.

" + }, + "ConnectionEvents":{ + "shape":"ValueStringList", + "documentation":"

One or more events for the endpoint. Valid values are Accept, Connect, Delete, and Reject.

" + } + } + }, + "ModifyVpcEndpointConnectionNotificationResult":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyVpcEndpointRequest":{ + "type":"structure", + "required":["VpcEndpointId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

The ID of the endpoint.

" + }, + "ResetPolicy":{ + "shape":"Boolean", + "documentation":"

(Gateway endpoint) Specify true to reset the policy document to the default policy. The default policy allows full access to the service.

" + }, + "PolicyDocument":{ + "shape":"String", + "documentation":"

A policy to attach to the endpoint that controls access to the service. The policy must be in valid JSON format.

" + }, + "AddRouteTableIds":{ + "shape":"VpcEndpointRouteTableIdList", + "documentation":"

(Gateway endpoint) One or more route tables IDs to associate with the endpoint.

", + "locationName":"AddRouteTableId" + }, + "RemoveRouteTableIds":{ + "shape":"VpcEndpointRouteTableIdList", + "documentation":"

(Gateway endpoint) One or more route table IDs to disassociate from the endpoint.

", + "locationName":"RemoveRouteTableId" + }, + "AddSubnetIds":{ + "shape":"VpcEndpointSubnetIdList", + "documentation":"

(Interface endpoint) One or more subnet IDs in which to serve the endpoint.

", + "locationName":"AddSubnetId" + }, + "RemoveSubnetIds":{ + "shape":"VpcEndpointSubnetIdList", + "documentation":"

(Interface endpoint) One or more subnets IDs in which to remove the endpoint.

", + "locationName":"RemoveSubnetId" + }, + "AddSecurityGroupIds":{ + "shape":"VpcEndpointSecurityGroupIdList", + "documentation":"

(Interface endpoint) One or more security group IDs to associate with the network interface.

", + "locationName":"AddSecurityGroupId" + }, + "RemoveSecurityGroupIds":{ + "shape":"VpcEndpointSecurityGroupIdList", + "documentation":"

(Interface endpoint) One or more security group IDs to disassociate from the network interface.

", + "locationName":"RemoveSecurityGroupId" + }, + "PrivateDnsEnabled":{ + "shape":"Boolean", + "documentation":"

(Interface endpoint) Indicates whether a private hosted zone is associated with the VPC.

" + } + }, + "documentation":"

Contains the parameters for ModifyVpcEndpoint.

" + }, + "ModifyVpcEndpointResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyVpcEndpointServiceConfigurationRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the service.

" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name to assign to the endpoint service.

" + }, + "RemovePrivateDnsName":{ + "shape":"Boolean", + "documentation":"

Removes the private DNS name of the endpoint service.

" + }, + "AcceptanceRequired":{ + "shape":"Boolean", + "documentation":"

Indicates whether requests to create an endpoint to your service must be accepted.

" + }, + "AddNetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of Network Load Balancers to add to your service configuration.

", + "locationName":"AddNetworkLoadBalancerArn" + }, + "RemoveNetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of Network Load Balancers to remove from your service configuration.

", + "locationName":"RemoveNetworkLoadBalancerArn" + } + } + }, + "ModifyVpcEndpointServiceConfigurationResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyVpcEndpointServicePermissionsRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the service.

" + }, + "AddAllowedPrincipals":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARN) of one or more principals. Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*).

" + }, + "RemoveAllowedPrincipals":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARN) of one or more principals. Permissions are revoked for principals in this list.

" + } + } + }, + "ModifyVpcEndpointServicePermissionsResult":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ModifyVpcPeeringConnectionOptionsRequest":{ + "type":"structure", + "required":["VpcPeeringConnectionId"], + "members":{ + "AccepterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptionsRequest", + "documentation":"

The VPC peering connection options for the accepter VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "RequesterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptionsRequest", + "documentation":"

The VPC peering connection options for the requester VPC.

" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of the VPC peering connection.

" + } + } + }, + "ModifyVpcPeeringConnectionOptionsResult":{ + "type":"structure", + "members":{ + "AccepterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptions", + "documentation":"

Information about the VPC peering connection options for the accepter VPC.

", + "locationName":"accepterPeeringConnectionOptions" + }, + "RequesterPeeringConnectionOptions":{ + "shape":"PeeringConnectionOptions", + "documentation":"

Information about the VPC peering connection options for the requester VPC.

", + "locationName":"requesterPeeringConnectionOptions" + } + } + }, + "ModifyVpcTenancyRequest":{ + "type":"structure", + "required":[ + "VpcId", + "InstanceTenancy" + ], + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the VPC.

" + }, + "InstanceTenancy":{ + "shape":"VpcTenancy", + "documentation":"

The instance tenancy attribute for the VPC.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyVpcTenancyResult":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", + "locationName":"return" + } + } + }, + "ModifyVpnConnectionRequest":{ + "type":"structure", + "required":["VpnConnectionId"], + "members":{ + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the VPN connection.

" + }, + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of the transit gateway.

" + }, + "CustomerGatewayId":{ + "shape":"CustomerGatewayId", + "documentation":"

The ID of the customer gateway at your end of the VPN connection.

" + }, + "VpnGatewayId":{ + "shape":"VpnGatewayId", + "documentation":"

The ID of the virtual private gateway at the AWS side of the VPN connection.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyVpnConnectionResult":{ + "type":"structure", + "members":{ + "VpnConnection":{ + "shape":"VpnConnection", + "locationName":"vpnConnection" + } + } + }, + "ModifyVpnTunnelCertificateRequest":{ + "type":"structure", + "required":[ + "VpnConnectionId", + "VpnTunnelOutsideIpAddress" + ], + "members":{ + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the AWS Site-to-Site VPN connection.

" + }, + "VpnTunnelOutsideIpAddress":{ + "shape":"String", + "documentation":"

The external IP address of the VPN tunnel.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyVpnTunnelCertificateResult":{ + "type":"structure", + "members":{ + "VpnConnection":{ + "shape":"VpnConnection", + "locationName":"vpnConnection" + } + } + }, + "ModifyVpnTunnelOptionsRequest":{ + "type":"structure", + "required":[ + "VpnConnectionId", + "VpnTunnelOutsideIpAddress", + "TunnelOptions" + ], + "members":{ + "VpnConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the AWS Site-to-Site VPN connection.

" + }, + "VpnTunnelOutsideIpAddress":{ + "shape":"String", + "documentation":"

The external IP address of the VPN tunnel.

" + }, + "TunnelOptions":{ + "shape":"ModifyVpnTunnelOptionsSpecification", + "documentation":"

The tunnel options to modify.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ModifyVpnTunnelOptionsResult":{ + "type":"structure", + "members":{ + "VpnConnection":{ + "shape":"VpnConnection", + "locationName":"vpnConnection" + } + } + }, + "ModifyVpnTunnelOptionsSpecification":{ + "type":"structure", + "members":{ + "TunnelInsideCidr":{ + "shape":"String", + "documentation":"

The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/30

  • 169.254.1.0/30

  • 169.254.2.0/30

  • 169.254.3.0/30

  • 169.254.4.0/30

  • 169.254.5.0/30

  • 169.254.169.252/30

" + }, + "PreSharedKey":{ + "shape":"String", + "documentation":"

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

" + }, + "Phase1LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 1 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 28,800.

Default: 28800

" + }, + "Phase2LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 2 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

Default: 3600

" + }, + "RekeyMarginTimeSeconds":{ + "shape":"Integer", + "documentation":"

The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

Default: 540

" + }, + "RekeyFuzzPercentage":{ + "shape":"Integer", + "documentation":"

The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

Constraints: A value between 0 and 100.

Default: 100

" + }, + "ReplayWindowSize":{ + "shape":"Integer", + "documentation":"

The number of packets in an IKE replay window.

Constraints: A value between 64 and 2048.

Default: 1024

" + }, + "DPDTimeoutSeconds":{ + "shape":"Integer", + "documentation":"

The number of seconds after which a DPD timeout occurs.

Constraints: A value between 0 and 30.

Default: 30

" + }, + "Phase1EncryptionAlgorithms":{ + "shape":"Phase1EncryptionAlgorithmsRequestList", + "documentation":"

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256

", + "locationName":"Phase1EncryptionAlgorithm" + }, + "Phase2EncryptionAlgorithms":{ + "shape":"Phase2EncryptionAlgorithmsRequestList", + "documentation":"

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256

", + "locationName":"Phase2EncryptionAlgorithm" + }, + "Phase1IntegrityAlgorithms":{ + "shape":"Phase1IntegrityAlgorithmsRequestList", + "documentation":"

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256

", + "locationName":"Phase1IntegrityAlgorithm" + }, + "Phase2IntegrityAlgorithms":{ + "shape":"Phase2IntegrityAlgorithmsRequestList", + "documentation":"

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256

", + "locationName":"Phase2IntegrityAlgorithm" + }, + "Phase1DHGroupNumbers":{ + "shape":"Phase1DHGroupNumbersRequestList", + "documentation":"

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", + "locationName":"Phase1DHGroupNumber" + }, + "Phase2DHGroupNumbers":{ + "shape":"Phase2DHGroupNumbersRequestList", + "documentation":"

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", + "locationName":"Phase2DHGroupNumber" + }, + "IKEVersions":{ + "shape":"IKEVersionsRequestList", + "documentation":"

The IKE versions that are permitted for the VPN tunnel.

Valid values: ikev1 | ikev2

", + "locationName":"IKEVersion" + } + }, + "documentation":"

The AWS Site-to-Site VPN tunnel options to modify.

" + }, + "MonitorInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The IDs of the instances.

", + "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "MonitorInstancesResult":{ + "type":"structure", + "members":{ + "InstanceMonitorings":{ + "shape":"InstanceMonitoringList", + "documentation":"

The monitoring information.

", + "locationName":"instancesSet" + } + } + }, + "Monitoring":{ + "type":"structure", + "members":{ + "State":{ + "shape":"MonitoringState", + "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", + "locationName":"state" + } + }, + "documentation":"

Describes the monitoring of an instance.

" + }, + "MonitoringState":{ + "type":"string", + "enum":[ + "disabled", + "disabling", + "enabled", + "pending" + ] + }, + "MoveAddressToVpcRequest":{ + "type":"structure", + "required":["PublicIp"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + } + } + }, + "MoveAddressToVpcResult":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"String", + "documentation":"

The allocation ID for the Elastic IP address.

", + "locationName":"allocationId" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the move of the IP address.

", + "locationName":"status" + } + } + }, + "MoveStatus":{ + "type":"string", + "enum":[ + "movingToVpc", + "restoringToClassic" + ] + }, + "MovingAddressStatus":{ + "type":"structure", + "members":{ + "MoveStatus":{ + "shape":"MoveStatus", + "documentation":"

The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

", + "locationName":"moveStatus" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + } + }, + "documentation":"

Describes the status of a moving Elastic IP address.

" + }, + "MovingAddressStatusSet":{ + "type":"list", + "member":{ + "shape":"MovingAddressStatus", + "locationName":"item" + } + }, + "MulticastSupportValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "NatGateway":{ + "type":"structure", + "members":{ + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The date and time the NAT gateway was created.

", + "locationName":"createTime" + }, + "DeleteTime":{ + "shape":"DateTime", + "documentation":"

The date and time the NAT gateway was deleted, if applicable.

", + "locationName":"deleteTime" + }, + "FailureCode":{ + "shape":"String", + "documentation":"

If the NAT gateway could not be created, specifies the error code for the failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)

", + "locationName":"failureCode" + }, + "FailureMessage":{ + "shape":"String", + "documentation":"

If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

  • For InsufficientFreeAddressesInSubnet: \"Subnet has insufficient free addresses to create this NAT gateway\"

  • For Gateway.NotAttached: \"Network vpc-xxxxxxxx has no Internet gateway attached\"

  • For InvalidAllocationID.NotFound: \"Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway\"

  • For Resource.AlreadyAssociated: \"Elastic IP address eipalloc-xxxxxxxx is already associated\"

  • For InternalError: \"Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again.\"

  • For InvalidSubnetID.NotFound: \"The specified subnet subnet-xxxxxxxx does not exist or could not be found.\"

", + "locationName":"failureMessage" + }, + "NatGatewayAddresses":{ + "shape":"NatGatewayAddressList", + "documentation":"

Information about the IP addresses and network interface associated with the NAT gateway.

", + "locationName":"natGatewayAddressSet" + }, + "NatGatewayId":{ + "shape":"String", + "documentation":"

The ID of the NAT gateway.

", + "locationName":"natGatewayId" + }, + "ProvisionedBandwidth":{ + "shape":"ProvisionedBandwidth", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"provisionedBandwidth" + }, + "State":{ + "shape":"NatGatewayState", + "documentation":"

The state of the NAT gateway.

  • pending: The NAT gateway is being created and is not ready to process traffic.

  • failed: The NAT gateway could not be created. Check the failureCode and failureMessage fields for the reason.

  • available: The NAT gateway is able to process traffic. This status remains until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

  • deleting: The NAT gateway is in the process of being terminated and may still be processing traffic.

  • deleted: The NAT gateway has been terminated and is no longer processing traffic.

", + "locationName":"state" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet in which the NAT gateway is located.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC in which the NAT gateway is located.

", + "locationName":"vpcId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the NAT gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a NAT gateway.

" + }, + "NatGatewayAddress":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"String", + "documentation":"

The allocation ID of the Elastic IP address that's associated with the NAT gateway.

", + "locationName":"allocationId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface associated with the NAT gateway.

", + "locationName":"networkInterfaceId" + }, + "PrivateIp":{ + "shape":"String", + "documentation":"

The private IP address associated with the Elastic IP address.

", + "locationName":"privateIp" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address associated with the NAT gateway.

", + "locationName":"publicIp" + } + }, + "documentation":"

Describes the IP addresses and network interface associated with a NAT gateway.

" + }, + "NatGatewayAddressList":{ + "type":"list", + "member":{ + "shape":"NatGatewayAddress", + "locationName":"item" + } + }, + "NatGatewayId":{"type":"string"}, + "NatGatewayIdStringList":{ + "type":"list", + "member":{ + "shape":"NatGatewayId", + "locationName":"item" + } + }, + "NatGatewayList":{ + "type":"list", + "member":{ + "shape":"NatGateway", + "locationName":"item" + } + }, + "NatGatewayState":{ + "type":"string", + "enum":[ + "pending", + "failed", + "available", + "deleting", + "deleted" + ] + }, + "NetworkAcl":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"NetworkAclAssociationList", + "documentation":"

Any associations between the network ACL and one or more subnets

", + "locationName":"associationSet" + }, + "Entries":{ + "shape":"NetworkAclEntryList", + "documentation":"

One or more entries (rules) in the network ACL.

", + "locationName":"entrySet" + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the default network ACL for the VPC.

", + "locationName":"default" + }, + "NetworkAclId":{ + "shape":"String", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the network ACL.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC for the network ACL.

", + "locationName":"vpcId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the network ACL.

", + "locationName":"ownerId" + } + }, + "documentation":"

Describes a network ACL.

" + }, + "NetworkAclAssociation":{ + "type":"structure", + "members":{ + "NetworkAclAssociationId":{ + "shape":"String", + "documentation":"

The ID of the association between a network ACL and a subnet.

", + "locationName":"networkAclAssociationId" + }, + "NetworkAclId":{ + "shape":"String", + "documentation":"

The ID of the network ACL.

", + "locationName":"networkAclId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + } + }, + "documentation":"

Describes an association between a network ACL and a subnet.

" + }, + "NetworkAclAssociationId":{"type":"string"}, + "NetworkAclAssociationList":{ + "type":"list", + "member":{ + "shape":"NetworkAclAssociation", + "locationName":"item" + } + }, + "NetworkAclEntry":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation.

", + "locationName":"cidrBlock" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP type and code.

", + "locationName":"icmpTypeCode" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation.

", + "locationName":"ipv6CidrBlock" + }, + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to.

", + "locationName":"portRange" + }, + "Protocol":{ + "shape":"String", + "documentation":"

The protocol number. A value of \"-1\" means all protocols.

", + "locationName":"protocol" + }, + "RuleAction":{ + "shape":"RuleAction", + "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", + "locationName":"ruleAction" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number for the entry. ACL entries are processed in ascending order by rule number.

", + "locationName":"ruleNumber" + } + }, + "documentation":"

Describes an entry in a network ACL.

" + }, + "NetworkAclEntryList":{ + "type":"list", + "member":{ + "shape":"NetworkAclEntry", + "locationName":"item" + } + }, + "NetworkAclId":{"type":"string"}, + "NetworkAclIdStringList":{ + "type":"list", + "member":{ + "shape":"NetworkAclId", + "locationName":"item" + } + }, + "NetworkAclList":{ + "type":"list", + "member":{ + "shape":"NetworkAcl", + "locationName":"item" + } + }, + "NetworkInfo":{ + "type":"structure", + "members":{ + "NetworkPerformance":{ + "shape":"NetworkPerformance", + "documentation":"

Describes the network performance.

", + "locationName":"networkPerformance" + }, + "MaximumNetworkInterfaces":{ + "shape":"MaxNetworkInterfaces", + "documentation":"

The maximum number of network interfaces for the instance type.

", + "locationName":"maximumNetworkInterfaces" + }, + "Ipv4AddressesPerInterface":{ + "shape":"MaxIpv4AddrPerInterface", + "documentation":"

The maximum number of IPv4 addresses per network interface.

", + "locationName":"ipv4AddressesPerInterface" + }, + "Ipv6AddressesPerInterface":{ + "shape":"MaxIpv6AddrPerInterface", + "documentation":"

The maximum number of IPv6 addresses per network interface.

", + "locationName":"ipv6AddressesPerInterface" + }, + "Ipv6Supported":{ + "shape":"Ipv6Flag", + "documentation":"

Indicates whether IPv6 is supported.

", + "locationName":"ipv6Supported" + }, + "EnaSupport":{ + "shape":"EnaSupport", + "documentation":"

Indicates whether Elastic Network Adapter (ENA) is supported.

", + "locationName":"enaSupport" + }, + "EfaSupported":{ + "shape":"EfaSupportedFlag", + "documentation":"

Indicates whether Elastic Fabric Adapter (EFA) is supported.

", + "locationName":"efaSupported" + } + }, + "documentation":"

Describes the networking features of the instance type.

" + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"NetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "locationName":"association" + }, + "Attachment":{ + "shape":"NetworkInterfaceAttachment", + "documentation":"

The network interface attachment.

", + "locationName":"attachment" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "Description":{ + "shape":"String", + "documentation":"

A description.

", + "locationName":"description" + }, + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

Any security groups for the network interface.

", + "locationName":"groupSet" + }, + "InterfaceType":{ + "shape":"NetworkInterfaceType", + "documentation":"

The type of network interface.

", + "locationName":"interfaceType" + }, + "Ipv6Addresses":{ + "shape":"NetworkInterfaceIpv6AddressesList", + "documentation":"

The IPv6 addresses associated with the network interface.

", + "locationName":"ipv6AddressesSet" + }, + "MacAddress":{ + "shape":"String", + "documentation":"

The MAC address.

", + "locationName":"macAddress" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the network interface.

", + "locationName":"ownerId" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address of the network interface within the subnet.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"NetworkInterfacePrivateIpAddressList", + "documentation":"

The private IPv4 addresses associated with the network interface.

", + "locationName":"privateIpAddressesSet" + }, + "RequesterId":{ + "shape":"String", + "documentation":"

The ID of the entity that launched the instance on your behalf (for example, AWS Management Console or Auto Scaling).

", + "locationName":"requesterId" + }, + "RequesterManaged":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is being managed by AWS.

", + "locationName":"requesterManaged" + }, + "SourceDestCheck":{ + "shape":"Boolean", + "documentation":"

Indicates whether traffic to or from the instance is validated.

", + "locationName":"sourceDestCheck" + }, + "Status":{ + "shape":"NetworkInterfaceStatus", + "documentation":"

The status of the network interface.

", + "locationName":"status" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "TagSet":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the network interface.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes a network interface.

" + }, + "NetworkInterfaceAssociation":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"String", + "documentation":"

The allocation ID.

", + "locationName":"allocationId" + }, + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID.

", + "locationName":"associationId" + }, + "IpOwnerId":{ + "shape":"String", + "documentation":"

The ID of the Elastic IP address owner.

", + "locationName":"ipOwnerId" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

The public DNS name.

", + "locationName":"publicDnsName" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The address of the Elastic IP address bound to the network interface.

", + "locationName":"publicIp" + } + }, + "documentation":"

Describes association information for an Elastic IP address (IPv4 only).

" + }, + "NetworkInterfaceAttachment":{ + "type":"structure", + "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The timestamp indicating when the attachment initiated.

", + "locationName":"attachTime" + }, + "AttachmentId":{ + "shape":"String", + "documentation":"

The ID of the network interface attachment.

", + "locationName":"attachmentId" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The device index of the network interface attachment on the instance.

", + "locationName":"deviceIndex" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "InstanceOwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the instance.

", + "locationName":"instanceOwnerId" + }, + "Status":{ + "shape":"AttachmentStatus", + "documentation":"

The attachment state.

", + "locationName":"status" + } + }, + "documentation":"

Describes a network interface attachment.

" + }, + "NetworkInterfaceAttachmentChanges":{ + "type":"structure", + "members":{ + "AttachmentId":{ + "shape":"NetworkInterfaceAttachmentId", + "documentation":"

The ID of the network interface attachment.

", + "locationName":"attachmentId" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the network interface is deleted when the instance is terminated.

", + "locationName":"deleteOnTermination" + } + }, + "documentation":"

Describes an attachment change.

" + }, + "NetworkInterfaceAttachmentId":{"type":"string"}, + "NetworkInterfaceAttribute":{ + "type":"string", + "enum":[ + "description", + "groupSet", + "sourceDestCheck", + "attachment" + ] + }, + "NetworkInterfaceCreationType":{ + "type":"string", + "enum":["efa"] + }, + "NetworkInterfaceId":{"type":"string"}, + "NetworkInterfaceIdList":{ + "type":"list", + "member":{ + "shape":"NetworkInterfaceId", + "locationName":"item" + } + }, + "NetworkInterfaceIpv6Address":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"String", + "documentation":"

The IPv6 address.

", + "locationName":"ipv6Address" + } + }, + "documentation":"

Describes an IPv6 address associated with a network interface.

" + }, + "NetworkInterfaceIpv6AddressesList":{ + "type":"list", + "member":{ + "shape":"NetworkInterfaceIpv6Address", + "locationName":"item" + } + }, + "NetworkInterfaceList":{ + "type":"list", + "member":{ + "shape":"NetworkInterface", + "locationName":"item" + } + }, + "NetworkInterfacePermission":{ + "type":"structure", + "members":{ + "NetworkInterfacePermissionId":{ + "shape":"String", + "documentation":"

The ID of the network interface permission.

", + "locationName":"networkInterfacePermissionId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "AwsAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID.

", + "locationName":"awsAccountId" + }, + "AwsService":{ + "shape":"String", + "documentation":"

The AWS service.

", + "locationName":"awsService" + }, + "Permission":{ + "shape":"InterfacePermissionType", + "documentation":"

The type of permission.

", + "locationName":"permission" + }, + "PermissionState":{ + "shape":"NetworkInterfacePermissionState", + "documentation":"

Information about the state of the permission.

", + "locationName":"permissionState" + } + }, + "documentation":"

Describes a permission for a network interface.

" + }, + "NetworkInterfacePermissionId":{"type":"string"}, + "NetworkInterfacePermissionIdList":{ + "type":"list", + "member":{"shape":"NetworkInterfacePermissionId"} + }, + "NetworkInterfacePermissionList":{ + "type":"list", + "member":{ + "shape":"NetworkInterfacePermission", + "locationName":"item" + } + }, + "NetworkInterfacePermissionState":{ + "type":"structure", + "members":{ + "State":{ + "shape":"NetworkInterfacePermissionStateCode", + "documentation":"

The state of the permission.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A status message, if applicable.

", + "locationName":"statusMessage" + } + }, + "documentation":"

Describes the state of a network interface permission.

" + }, + "NetworkInterfacePermissionStateCode":{ + "type":"string", + "enum":[ + "pending", + "granted", + "revoking", + "revoked" + ] + }, + "NetworkInterfacePrivateIpAddress":{ + "type":"structure", + "members":{ + "Association":{ + "shape":"NetworkInterfaceAssociation", + "documentation":"

The association information for an Elastic IP address (IPv4) associated with the network interface.

", + "locationName":"association" + }, + "Primary":{ + "shape":"Boolean", + "documentation":"

Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

", + "locationName":"primary" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 address.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Describes the private IPv4 address of a network interface.

" + }, + "NetworkInterfacePrivateIpAddressList":{ + "type":"list", + "member":{ + "shape":"NetworkInterfacePrivateIpAddress", + "locationName":"item" + } + }, + "NetworkInterfaceStatus":{ + "type":"string", + "enum":[ + "available", + "associated", + "attaching", + "in-use", + "detaching" + ] + }, + "NetworkInterfaceType":{ + "type":"string", + "enum":[ + "interface", + "natGateway", + "efa" + ] + }, + "NetworkPerformance":{"type":"string"}, + "NewDhcpConfiguration":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "locationName":"key" + }, + "Values":{ + "shape":"ValueStringList", + "locationName":"Value" + } + } + }, + "NewDhcpConfigurationList":{ + "type":"list", + "member":{ + "shape":"NewDhcpConfiguration", + "locationName":"item" + } + }, + "NextToken":{"type":"string"}, + "OccurrenceDayRequestSet":{ + "type":"list", + "member":{ + "shape":"Integer", + "locationName":"OccurenceDay" + } + }, + "OccurrenceDaySet":{ + "type":"list", + "member":{ + "shape":"Integer", + "locationName":"item" + } + }, + "OfferingClassType":{ + "type":"string", + "enum":[ + "standard", + "convertible" + ] + }, + "OfferingId":{"type":"string"}, + "OfferingTypeValues":{ + "type":"string", + "enum":[ + "Heavy Utilization", + "Medium Utilization", + "Light Utilization", + "No Upfront", + "Partial Upfront", + "All Upfront" + ] + }, + "OnDemandAllocationStrategy":{ + "type":"string", + "enum":[ + "lowestPrice", + "prioritized" + ] + }, + "OnDemandOptions":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"FleetOnDemandAllocationStrategy", + "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price.

", + "locationName":"allocationStrategy" + }, + "CapacityReservationOptions":{ + "shape":"CapacityReservationOptions", + "documentation":"

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type instant.

", + "locationName":"capacityReservationOptions" + }, + "SingleInstanceType":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type instant.

", + "locationName":"singleInstanceType" + }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type instant.

", + "locationName":"singleAvailabilityZone" + }, + "MinTargetCapacity":{ + "shape":"Integer", + "documentation":"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", + "locationName":"minTargetCapacity" + }, + "MaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

", + "locationName":"maxTotalPrice" + } + }, + "documentation":"

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + }, + "OnDemandOptionsRequest":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"FleetOnDemandAllocationStrategy", + "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowest-price, EC2 Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, EC2 Fleet uses the priority that you assigned to each launch template override, launching the highest priority first. If you do not specify a value, EC2 Fleet defaults to lowest-price.

" + }, + "CapacityReservationOptions":{ + "shape":"CapacityReservationOptionsRequest", + "documentation":"

The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. Supported only for fleets of type instant.

" + }, + "SingleInstanceType":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. Supported only for fleets of type instant.

" + }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported only for fleets of type instant.

" + }, + "MinTargetCapacity":{ + "shape":"Integer", + "documentation":"

The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

" + }, + "MaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for On-Demand Instances that you're willing to pay.

" + } + }, + "documentation":"

Describes the configuration of On-Demand Instances in an EC2 Fleet.

" + }, + "OperationType":{ + "type":"string", + "enum":[ + "add", + "remove" + ] + }, + "OwnerStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"Owner" + } + }, + "PaymentOption":{ + "type":"string", + "enum":[ + "AllUpfront", + "PartialUpfront", + "NoUpfront" + ] + }, + "PciId":{ + "type":"structure", + "members":{ + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "VendorId":{ + "shape":"String", + "documentation":"

The ID of the vendor.

" + }, + "SubsystemId":{ + "shape":"String", + "documentation":"

The ID of the subsystem.

" + }, + "SubsystemVendorId":{ + "shape":"String", + "documentation":"

The ID of the vendor for the subsystem.

" + } + }, + "documentation":"

Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

" + }, + "PeeringAttachmentStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The status code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The status message, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

The status of the transit gateway peering attachment.

" + }, + "PeeringConnectionOptions":{ + "type":"structure", + "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, the public DNS hostnames of instances in the specified VPC resolve to private IP addresses when queried from instances in the peer VPC.

", + "locationName":"allowDnsResolutionFromRemoteVpc" + }, + "AllowEgressFromLocalClassicLinkToRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC using ClassicLink to instances in a peer VPC.

", + "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" + }, + "AllowEgressFromLocalVpcToRemoteClassicLink":{ + "shape":"Boolean", + "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC using ClassicLink.

", + "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" + } + }, + "documentation":"

Describes the VPC peering connection options.

" + }, + "PeeringConnectionOptionsRequest":{ + "type":"structure", + "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, enables a local VPC to resolve public DNS hostnames to private IP addresses when queried from instances in the peer VPC.

" + }, + "AllowEgressFromLocalClassicLinkToRemoteVpc":{ + "shape":"Boolean", + "documentation":"

If true, enables outbound communication from an EC2-Classic instance that's linked to a local VPC using ClassicLink to instances in a peer VPC.

" + }, + "AllowEgressFromLocalVpcToRemoteClassicLink":{ + "shape":"Boolean", + "documentation":"

If true, enables outbound communication from instances in a local VPC to an EC2-Classic instance that's linked to a peer VPC using ClassicLink.

" + } + }, + "documentation":"

The VPC peering connection options.

" + }, + "PeeringTgwInfo":{ + "type":"structure", + "members":{ + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the transit gateway.

", + "locationName":"ownerId" + }, + "Region":{ + "shape":"String", + "documentation":"

The Region of the transit gateway.

", + "locationName":"region" + } + }, + "documentation":"

Information about the transit gateway in the peering attachment.

" + }, + "PermissionGroup":{ + "type":"string", + "enum":["all"] + }, + "Phase1DHGroupNumbersList":{ + "type":"list", + "member":{ + "shape":"Phase1DHGroupNumbersListValue", + "locationName":"item" + } + }, + "Phase1DHGroupNumbersListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Integer", + "documentation":"

The Diffie-Hellmann group number.

", + "locationName":"value" + } + }, + "documentation":"

The Diffie-Hellmann group number for phase 1 IKE negotiations.

" + }, + "Phase1DHGroupNumbersRequestList":{ + "type":"list", + "member":{ + "shape":"Phase1DHGroupNumbersRequestListValue", + "locationName":"item" + } + }, + "Phase1DHGroupNumbersRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Integer", + "documentation":"

The Diffie-Hellmann group number.

" + } + }, + "documentation":"

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE negotiations.

" + }, + "Phase1EncryptionAlgorithmsList":{ + "type":"list", + "member":{ + "shape":"Phase1EncryptionAlgorithmsListValue", + "locationName":"item" + } + }, + "Phase1EncryptionAlgorithmsListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The value for the encryption algorithm.

", + "locationName":"value" + } + }, + "documentation":"

The encryption algorithm for phase 1 IKE negotiations.

" + }, + "Phase1EncryptionAlgorithmsRequestList":{ + "type":"list", + "member":{ + "shape":"Phase1EncryptionAlgorithmsRequestListValue", + "locationName":"item" + } + }, + "Phase1EncryptionAlgorithmsRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The value for the encryption algorithm.

" + } + }, + "documentation":"

Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.

" + }, + "Phase1IntegrityAlgorithmsList":{ + "type":"list", + "member":{ + "shape":"Phase1IntegrityAlgorithmsListValue", + "locationName":"item" + } + }, + "Phase1IntegrityAlgorithmsListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The value for the integrity algorithm.

", + "locationName":"value" + } + }, + "documentation":"

The integrity algorithm for phase 1 IKE negotiations.

" + }, + "Phase1IntegrityAlgorithmsRequestList":{ + "type":"list", + "member":{ + "shape":"Phase1IntegrityAlgorithmsRequestListValue", + "locationName":"item" + } + }, + "Phase1IntegrityAlgorithmsRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The value for the integrity algorithm.

" + } + }, + "documentation":"

Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.

" + }, + "Phase2DHGroupNumbersList":{ + "type":"list", + "member":{ + "shape":"Phase2DHGroupNumbersListValue", + "locationName":"item" + } + }, + "Phase2DHGroupNumbersListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Integer", + "documentation":"

The Diffie-Hellmann group number.

", + "locationName":"value" + } + }, + "documentation":"

The Diffie-Hellmann group number for phase 2 IKE negotiations.

" + }, + "Phase2DHGroupNumbersRequestList":{ + "type":"list", + "member":{ + "shape":"Phase2DHGroupNumbersRequestListValue", + "locationName":"item" + } + }, + "Phase2DHGroupNumbersRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Integer", + "documentation":"

The Diffie-Hellmann group number.

" + } + }, + "documentation":"

Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Phase2EncryptionAlgorithmsList":{ + "type":"list", + "member":{ + "shape":"Phase2EncryptionAlgorithmsListValue", + "locationName":"item" + } + }, + "Phase2EncryptionAlgorithmsListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The encryption algorithm.

", + "locationName":"value" + } + }, + "documentation":"

The encryption algorithm for phase 2 IKE negotiations.

" + }, + "Phase2EncryptionAlgorithmsRequestList":{ + "type":"list", + "member":{ + "shape":"Phase2EncryptionAlgorithmsRequestListValue", + "locationName":"item" + } + }, + "Phase2EncryptionAlgorithmsRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The encryption algorithm.

" + } + }, + "documentation":"

Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Phase2IntegrityAlgorithmsList":{ + "type":"list", + "member":{ + "shape":"Phase2IntegrityAlgorithmsListValue", + "locationName":"item" + } + }, + "Phase2IntegrityAlgorithmsListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The integrity algorithm.

", + "locationName":"value" + } + }, + "documentation":"

The integrity algorithm for phase 2 IKE negotiations.

" + }, + "Phase2IntegrityAlgorithmsRequestList":{ + "type":"list", + "member":{ + "shape":"Phase2IntegrityAlgorithmsRequestListValue", + "locationName":"item" + } + }, + "Phase2IntegrityAlgorithmsRequestListValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

The integrity algorithm.

" + } + }, + "documentation":"

Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Placement":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the instance.

If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.

This parameter is not supported by CreateFleet.

", + "locationName":"availabilityZone" + }, + "Affinity":{ + "shape":"String", + "documentation":"

The affinity setting for the instance on the Dedicated Host. This parameter is not supported for the ImportInstance command.

This parameter is not supported by CreateFleet.

", + "locationName":"affinity" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group the instance is in.

", + "locationName":"groupName" + }, + "PartitionNumber":{ + "shape":"Integer", + "documentation":"

The number of the partition the instance is in. Valid only if the placement group strategy is set to partition.

This parameter is not supported by CreateFleet.

", + "locationName":"partitionNumber" + }, + "HostId":{ + "shape":"String", + "documentation":"

The ID of the Dedicated Host on which the instance resides. This parameter is not supported for the ImportInstance command.

This parameter is not supported by CreateFleet.

", + "locationName":"hostId" + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the ImportInstance command.

This parameter is not supported by CreateFleet.

", + "locationName":"tenancy" + }, + "SpreadDomain":{ + "shape":"String", + "documentation":"

Reserved for future use.

This parameter is not supported by CreateFleet.

", + "locationName":"spreadDomain" + }, + "HostResourceGroupArn":{ + "shape":"String", + "documentation":"

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host.

This parameter is not supported by CreateFleet.

", + "locationName":"hostResourceGroupArn" + } + }, + "documentation":"

Describes the placement of an instance.

" + }, + "PlacementGroup":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group.

", + "locationName":"groupName" + }, + "State":{ + "shape":"PlacementGroupState", + "documentation":"

The state of the placement group.

", + "locationName":"state" + }, + "Strategy":{ + "shape":"PlacementStrategy", + "documentation":"

The placement strategy.

", + "locationName":"strategy" + }, + "PartitionCount":{ + "shape":"Integer", + "documentation":"

The number of partitions. Valid only if strategy is set to partition.

", + "locationName":"partitionCount" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the placement group.

", + "locationName":"groupId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags applied to the placement group.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a placement group.

" + }, + "PlacementGroupId":{"type":"string"}, + "PlacementGroupIdStringList":{ + "type":"list", + "member":{ + "shape":"PlacementGroupId", + "locationName":"GroupId" + } + }, + "PlacementGroupInfo":{ + "type":"structure", + "members":{ + "SupportedStrategies":{ + "shape":"PlacementGroupStrategyList", + "documentation":"

A list of supported placement groups types.

", + "locationName":"supportedStrategies" + } + }, + "documentation":"

Describes the placement group support of the instance type.

" + }, + "PlacementGroupList":{ + "type":"list", + "member":{ + "shape":"PlacementGroup", + "locationName":"item" + } + }, + "PlacementGroupName":{"type":"string"}, + "PlacementGroupState":{ + "type":"string", + "enum":[ + "pending", + "available", + "deleting", + "deleted" + ] + }, + "PlacementGroupStrategy":{ + "type":"string", + "enum":[ + "cluster", + "partition", + "spread" + ] + }, + "PlacementGroupStrategyList":{ + "type":"list", + "member":{ + "shape":"PlacementGroupStrategy", + "locationName":"item" + } + }, + "PlacementGroupStringList":{ + "type":"list", + "member":{"shape":"PlacementGroupName"} + }, + "PlacementResponse":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group that the instance is in.

", + "locationName":"groupName" + } + }, + "documentation":"

Describes the placement of an instance.

" + }, + "PlacementStrategy":{ + "type":"string", + "enum":[ + "cluster", + "spread", + "partition" + ] + }, + "PlatformValues":{ + "type":"string", + "enum":["Windows"] + }, + "PoolCidrBlock":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The CIDR block.

", + "locationName":"poolCidrBlock" + } + }, + "documentation":"

Describes a CIDR block for an address pool.

" + }, + "PoolCidrBlocksSet":{ + "type":"list", + "member":{ + "shape":"PoolCidrBlock", + "locationName":"item" + } + }, + "PoolMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, + "PortRange":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Integer", + "documentation":"

The first port in the range.

", + "locationName":"from" + }, + "To":{ + "shape":"Integer", + "documentation":"

The last port in the range.

", + "locationName":"to" + } + }, + "documentation":"

Describes a range of ports.

" + }, + "PrefixList":{ + "type":"structure", + "members":{ + "Cidrs":{ + "shape":"ValueStringList", + "documentation":"

The IP address range of the AWS service.

", + "locationName":"cidrSet" + }, + "PrefixListId":{ + "shape":"String", + "documentation":"

The ID of the prefix.

", + "locationName":"prefixListId" + }, + "PrefixListName":{ + "shape":"String", + "documentation":"

The name of the prefix.

", + "locationName":"prefixListName" + } + }, + "documentation":"

Describes prefixes for AWS services.

" + }, + "PrefixListId":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the security group rule that references this prefix list ID.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", + "locationName":"description" + }, + "PrefixListId":{ + "shape":"String", + "documentation":"

The ID of the prefix.

", + "locationName":"prefixListId" + } + }, + "documentation":"

Describes a prefix list ID.

" + }, + "PrefixListIdList":{ + "type":"list", + "member":{ + "shape":"PrefixListId", + "locationName":"item" + } + }, + "PrefixListIdSet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "PrefixListResourceId":{"type":"string"}, + "PrefixListResourceIdStringList":{ + "type":"list", + "member":{ + "shape":"PrefixListResourceId", + "locationName":"item" + } + }, + "PrefixListSet":{ + "type":"list", + "member":{ + "shape":"PrefixList", + "locationName":"item" + } + }, + "PriceSchedule":{ + "type":"structure", + "members":{ + "Active":{ + "shape":"Boolean", + "documentation":"

The current price schedule, as determined by the term remaining for the Reserved Instance in the listing.

A specific price schedule is always in effect, but only one price schedule can be active at any time. Take, for example, a Reserved Instance listing that has five months remaining in its term. When you specify price schedules for five months and two months, this means that schedule 1, covering the first three months of the remaining term, will be active during months 5, 4, and 3. Then schedule 2, covering the last two months of the term, will be active for months 2 and 1.

", + "locationName":"active" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Price":{ + "shape":"Double", + "documentation":"

The fixed price for the term.

", + "locationName":"price" + }, + "Term":{ + "shape":"Long", + "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "locationName":"term" + } + }, + "documentation":"

Describes the price for a Reserved Instance.

" + }, + "PriceScheduleList":{ + "type":"list", + "member":{ + "shape":"PriceSchedule", + "locationName":"item" + } + }, + "PriceScheduleSpecification":{ + "type":"structure", + "members":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency for transacting the Reserved Instance resale. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Price":{ + "shape":"Double", + "documentation":"

The fixed price for the term.

", + "locationName":"price" + }, + "Term":{ + "shape":"Long", + "documentation":"

The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

", + "locationName":"term" + } + }, + "documentation":"

Describes the price for a Reserved Instance.

" + }, + "PriceScheduleSpecificationList":{ + "type":"list", + "member":{ + "shape":"PriceScheduleSpecification", + "locationName":"item" + } + }, + "PricingDetail":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"Integer", + "documentation":"

The number of reservations available for the price.

", + "locationName":"count" + }, + "Price":{ + "shape":"Double", + "documentation":"

The price per instance.

", + "locationName":"price" + } + }, + "documentation":"

Describes a Reserved Instance offering.

" + }, + "PricingDetailsList":{ + "type":"list", + "member":{ + "shape":"PricingDetail", + "locationName":"item" + } + }, + "PrincipalIdFormat":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

PrincipalIdFormatARN description

", + "locationName":"arn" + }, + "Statuses":{ + "shape":"IdFormatList", + "documentation":"

PrincipalIdFormatStatuses description

", + "locationName":"statusSet" + } + }, + "documentation":"

PrincipalIdFormat description

" + }, + "PrincipalIdFormatList":{ + "type":"list", + "member":{ + "shape":"PrincipalIdFormat", + "locationName":"item" + } + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "All", + "Service", + "OrganizationUnit", + "Account", + "User", + "Role" + ] + }, + "PrivateDnsNameConfiguration":{ + "type":"structure", + "members":{ + "State":{ + "shape":"DnsNameState", + "documentation":"

The verification state of the VPC endpoint service.

>Consumers of the endpoint service can use the private name only when the state is verified.

", + "locationName":"state" + }, + "Type":{ + "shape":"String", + "documentation":"

The endpoint service verification type, for example TXT.

", + "locationName":"type" + }, + "Value":{ + "shape":"String", + "documentation":"

The value the service provider adds to the private DNS name domain record before verification.

", + "locationName":"value" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

", + "locationName":"name" + } + }, + "documentation":"

Information about the private DNS name for the service endpoint. For more information about these parameters, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

" + }, + "PrivateIpAddressConfigSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstancesPrivateIpAddressConfig", + "locationName":"PrivateIpAddressConfigSet" + } + }, + "PrivateIpAddressSpecification":{ + "type":"structure", + "members":{ + "Primary":{ + "shape":"Boolean", + "documentation":"

Indicates whether the private IPv4 address is the primary private IPv4 address. Only one IPv4 address can be designated as primary.

", + "locationName":"primary" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IPv4 addresses.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Describes a secondary private IPv4 address for a network interface.

" + }, + "PrivateIpAddressSpecificationList":{ + "type":"list", + "member":{ + "shape":"PrivateIpAddressSpecification", + "locationName":"item" + } + }, + "PrivateIpAddressStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"PrivateIpAddress" + } + }, + "ProcessorInfo":{ + "type":"structure", + "members":{ + "SupportedArchitectures":{ + "shape":"ArchitectureTypeList", + "documentation":"

A list of architectures supported by the instance type.

", + "locationName":"supportedArchitectures" + }, + "SustainedClockSpeedInGhz":{ + "shape":"ProcessorSustainedClockSpeed", + "documentation":"

The speed of the processor, in GHz.

", + "locationName":"sustainedClockSpeedInGhz" + } + }, + "documentation":"

Describes the processor used by the instance type.

" + }, + "ProcessorSustainedClockSpeed":{"type":"double"}, + "ProductCode":{ + "type":"structure", + "members":{ + "ProductCodeId":{ + "shape":"String", + "documentation":"

The product code.

", + "locationName":"productCode" + }, + "ProductCodeType":{ + "shape":"ProductCodeValues", + "documentation":"

The type of product code.

", + "locationName":"type" + } + }, + "documentation":"

Describes a product code.

" + }, + "ProductCodeList":{ + "type":"list", + "member":{ + "shape":"ProductCode", + "locationName":"item" + } + }, + "ProductCodeStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ProductCode" + } + }, + "ProductCodeValues":{ + "type":"string", + "enum":[ + "devpay", + "marketplace" + ] + }, + "ProductDescriptionList":{ + "type":"list", + "member":{"shape":"String"} + }, + "PropagatingVgw":{ + "type":"structure", + "members":{ + "GatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway.

", + "locationName":"gatewayId" + } + }, + "documentation":"

Describes a virtual private gateway propagating route.

" + }, + "PropagatingVgwList":{ + "type":"list", + "member":{ + "shape":"PropagatingVgw", + "locationName":"item" + } + }, + "ProvisionByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The public IPv4 or IPv6 address range, in CIDR notation. The most specific IPv4 prefix that you can specify is /24. The most specific IPv6 prefix you can specify is /56. The address range cannot overlap with another address range that you've brought to this or another Region.

" + }, + "CidrAuthorizationContext":{ + "shape":"CidrAuthorizationContext", + "documentation":"

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

" + }, + "PubliclyAdvertisable":{ + "shape":"Boolean", + "documentation":"

(IPv6 only) Indicate whether the address range will be publicly advertised to the internet.

Default: true

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for the address range and the address pool.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "PoolTagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the address pool.

", + "locationName":"PoolTagSpecification" + } + } + }, + "ProvisionByoipCidrResult":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

", + "locationName":"byoipCidr" + } + } + }, + "ProvisionedBandwidth":{ + "type":"structure", + "members":{ + "ProvisionTime":{ + "shape":"DateTime", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"provisionTime" + }, + "Provisioned":{ + "shape":"String", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"provisioned" + }, + "RequestTime":{ + "shape":"DateTime", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"requestTime" + }, + "Requested":{ + "shape":"String", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"requested" + }, + "Status":{ + "shape":"String", + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

", + "locationName":"status" + } + }, + "documentation":"

Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

" + }, + "PublicIpStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"PublicIp" + } + }, + "PublicIpv4Pool":{ + "type":"structure", + "members":{ + "PoolId":{ + "shape":"String", + "documentation":"

The ID of the address pool.

", + "locationName":"poolId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the address pool.

", + "locationName":"description" + }, + "PoolAddressRanges":{ + "shape":"PublicIpv4PoolRangeSet", + "documentation":"

The address ranges.

", + "locationName":"poolAddressRangeSet" + }, + "TotalAddressCount":{ + "shape":"Integer", + "documentation":"

The total number of addresses.

", + "locationName":"totalAddressCount" + }, + "TotalAvailableAddressCount":{ + "shape":"Integer", + "documentation":"

The total number of available addresses.

", + "locationName":"totalAvailableAddressCount" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which the address pool is advertised. A network border group is a unique set of Availability Zones or Local Zones from where AWS advertises public IP addresses.

", + "locationName":"networkBorderGroup" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags for the address pool.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an IPv4 address pool.

" + }, + "PublicIpv4PoolIdStringList":{ + "type":"list", + "member":{ + "shape":"Ipv4PoolEc2Id", + "locationName":"item" + } + }, + "PublicIpv4PoolRange":{ + "type":"structure", + "members":{ + "FirstAddress":{ + "shape":"String", + "documentation":"

The first IP address in the range.

", + "locationName":"firstAddress" + }, + "LastAddress":{ + "shape":"String", + "documentation":"

The last IP address in the range.

", + "locationName":"lastAddress" + }, + "AddressCount":{ + "shape":"Integer", + "documentation":"

The number of addresses in the range.

", + "locationName":"addressCount" + }, + "AvailableAddressCount":{ + "shape":"Integer", + "documentation":"

The number of available addresses in the range.

", + "locationName":"availableAddressCount" + } + }, + "documentation":"

Describes an address range of an IPv4 address pool.

" + }, + "PublicIpv4PoolRangeSet":{ + "type":"list", + "member":{ + "shape":"PublicIpv4PoolRange", + "locationName":"item" + } + }, + "PublicIpv4PoolSet":{ + "type":"list", + "member":{ + "shape":"PublicIpv4Pool", + "locationName":"item" + } + }, + "Purchase":{ + "type":"structure", + "members":{ + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the UpfrontPrice and HourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration of the reservation's term in seconds.

", + "locationName":"duration" + }, + "HostIdSet":{ + "shape":"ResponseHostIdSet", + "documentation":"

The IDs of the Dedicated Hosts associated with the reservation.

", + "locationName":"hostIdSet" + }, + "HostReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation.

", + "locationName":"hostReservationId" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price of the reservation per hour.

", + "locationName":"hourlyPrice" + }, + "InstanceFamily":{ + "shape":"String", + "documentation":"

The instance family on the Dedicated Host that the reservation can be associated with.

", + "locationName":"instanceFamily" + }, + "PaymentOption":{ + "shape":"PaymentOption", + "documentation":"

The payment option for the reservation.

", + "locationName":"paymentOption" + }, + "UpfrontPrice":{ + "shape":"String", + "documentation":"

The upfront price of the reservation.

", + "locationName":"upfrontPrice" + } + }, + "documentation":"

Describes the result of the purchase.

" + }, + "PurchaseHostReservationRequest":{ + "type":"structure", + "required":[ + "HostIdSet", + "OfferingId" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

" + }, + "HostIdSet":{ + "shape":"RequestHostIdSet", + "documentation":"

The IDs of the Dedicated Hosts with which the reservation will be associated.

" + }, + "LimitPrice":{ + "shape":"String", + "documentation":"

The specified limit is checked against the total upfront cost of the reservation (calculated as the offering's upfront cost multiplied by the host count). If the total upfront cost is greater than the specified price limit, the request fails. This is used to ensure that the purchase does not exceed the expected upfront cost of the purchase. At this time, the only supported currency is USD. For example, to indicate a limit price of USD 100, specify 100.00.

" + }, + "OfferingId":{ + "shape":"OfferingId", + "documentation":"

The ID of the offering.

" + } + } + }, + "PurchaseHostReservationResult":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", + "locationName":"clientToken" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the totalUpfrontPrice and totalHourlyPrice amounts are specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "Purchase":{ + "shape":"PurchaseSet", + "documentation":"

Describes the details of the purchase.

", + "locationName":"purchase" + }, + "TotalHourlyPrice":{ + "shape":"String", + "documentation":"

The total hourly price of the reservation calculated per hour.

", + "locationName":"totalHourlyPrice" + }, + "TotalUpfrontPrice":{ + "shape":"String", + "documentation":"

The total amount charged to your account when you purchase the reservation.

", + "locationName":"totalUpfrontPrice" + } + } + }, + "PurchaseRequest":{ + "type":"structure", + "required":[ + "InstanceCount", + "PurchaseToken" + ], + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances.

" + }, + "PurchaseToken":{ + "shape":"String", + "documentation":"

The purchase token.

" + } + }, + "documentation":"

Describes a request to purchase Scheduled Instances.

" + }, + "PurchaseRequestSet":{ + "type":"list", + "member":{ + "shape":"PurchaseRequest", + "locationName":"PurchaseRequest" + }, + "min":1 + }, + "PurchaseReservedInstancesOfferingRequest":{ + "type":"structure", + "required":[ + "InstanceCount", + "ReservedInstancesOfferingId" + ], + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of Reserved Instances to purchase.

" + }, + "ReservedInstancesOfferingId":{ + "shape":"ReservedInstancesOfferingId", + "documentation":"

The ID of the Reserved Instance offering to purchase.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "LimitPrice":{ + "shape":"ReservedInstanceLimitPrice", + "documentation":"

Specified for Reserved Instance Marketplace offerings to limit the total order and ensure that the Reserved Instances are not purchased at unexpected prices.

", + "locationName":"limitPrice" + }, + "PurchaseTime":{ + "shape":"DateTime", + "documentation":"

The time at which to purchase the Reserved Instance, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

" + } + }, + "documentation":"

Contains the parameters for PurchaseReservedInstancesOffering.

" + }, + "PurchaseReservedInstancesOfferingResult":{ + "type":"structure", + "members":{ + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The IDs of the purchased Reserved Instances.

", + "locationName":"reservedInstancesId" + } + }, + "documentation":"

Contains the output of PurchaseReservedInstancesOffering.

" + }, + "PurchaseScheduledInstancesRequest":{ + "type":"structure", + "required":["PurchaseRequests"], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "PurchaseRequests":{ + "shape":"PurchaseRequestSet", + "documentation":"

The purchase requests.

", + "locationName":"PurchaseRequest" + } + }, + "documentation":"

Contains the parameters for PurchaseScheduledInstances.

" + }, + "PurchaseScheduledInstancesResult":{ + "type":"structure", + "members":{ + "ScheduledInstanceSet":{ + "shape":"PurchasedScheduledInstanceSet", + "documentation":"

Information about the Scheduled Instances.

", + "locationName":"scheduledInstanceSet" + } + }, + "documentation":"

Contains the output of PurchaseScheduledInstances.

" + }, + "PurchaseSet":{ + "type":"list", + "member":{ + "shape":"Purchase", + "locationName":"item" + } + }, + "PurchasedScheduledInstanceSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstance", + "locationName":"item" + } + }, + "RIProductDescription":{ + "type":"string", + "enum":[ + "Linux/UNIX", + "Linux/UNIX (Amazon VPC)", + "Windows", + "Windows (Amazon VPC)" + ] + }, + "RamdiskId":{"type":"string"}, + "ReasonCodesList":{ + "type":"list", + "member":{ + "shape":"ReportInstanceReasonCodes", + "locationName":"item" + } + }, + "RebootInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The instance IDs.

", + "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "RecurringCharge":{ + "type":"structure", + "members":{ + "Amount":{ + "shape":"Double", + "documentation":"

The amount of the recurring charge.

", + "locationName":"amount" + }, + "Frequency":{ + "shape":"RecurringChargeFrequency", + "documentation":"

The frequency of the recurring charge.

", + "locationName":"frequency" + } + }, + "documentation":"

Describes a recurring charge.

" + }, + "RecurringChargeFrequency":{ + "type":"string", + "enum":["Hourly"] + }, + "RecurringChargesList":{ + "type":"list", + "member":{ + "shape":"RecurringCharge", + "locationName":"item" + } + }, + "Region":{ + "type":"structure", + "members":{ + "Endpoint":{ + "shape":"String", + "documentation":"

The Region service endpoint.

", + "locationName":"regionEndpoint" + }, + "RegionName":{ + "shape":"String", + "documentation":"

The name of the Region.

", + "locationName":"regionName" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

The Region opt-in status. The possible values are opt-in-not-required, opted-in, and not-opted-in.

", + "locationName":"optInStatus" + } + }, + "documentation":"

Describes a Region.

" + }, + "RegionList":{ + "type":"list", + "member":{ + "shape":"Region", + "locationName":"item" + } + }, + "RegionNameStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"RegionName" + } + }, + "RegisterImageRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "ImageLocation":{ + "shape":"String", + "documentation":"

The full path to your AMI manifest in Amazon S3 storage. The specified bucket must have the aws-exec-read canned access control list (ACL) to ensure that it can be accessed by Amazon EC2. For more information, see Canned ACLs in the Amazon S3 Service Developer Guide.

" + }, + "Architecture":{ + "shape":"ArchitectureValues", + "documentation":"

The architecture of the AMI.

Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs, the architecture specified in the manifest file.

", + "locationName":"architecture" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingRequestList", + "documentation":"

The block device mapping entries.

", + "locationName":"BlockDeviceMapping" + }, + "Description":{ + "shape":"String", + "documentation":"

A description for your AMI.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EnaSupport":{ + "shape":"Boolean", + "documentation":"

Set to true to enable enhanced networking with ENA for the AMI and any instances that you launch from the AMI.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", + "locationName":"enaSupport" + }, + "KernelId":{ + "shape":"KernelId", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "Name":{ + "shape":"String", + "documentation":"

A name for your AMI.

Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

", + "locationName":"name" + }, + "BillingProducts":{ + "shape":"BillingProductList", + "documentation":"

The billing product codes. Your account must be authorized to specify billing product codes. Otherwise, you can use the AWS Marketplace to bill for the use of an AMI.

", + "locationName":"BillingProduct" + }, + "RamdiskId":{ + "shape":"RamdiskId", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" + }, + "RootDeviceName":{ + "shape":"String", + "documentation":"

The device name of the root device volume (for example, /dev/sda1).

", + "locationName":"rootDeviceName" + }, + "SriovNetSupport":{ + "shape":"String", + "documentation":"

Set to simple to enable enhanced networking with the Intel 82599 Virtual Function interface for the AMI and any instances that you launch from the AMI.

There is no way to disable sriovNetSupport at this time.

This option is supported only for HVM AMIs. Specifying this option with a PV AMI can make instances launched from the AMI unreachable.

", + "locationName":"sriovNetSupport" + }, + "VirtualizationType":{ + "shape":"String", + "documentation":"

The type of virtualization (hvm | paravirtual).

Default: paravirtual

", + "locationName":"virtualizationType" + } + }, + "documentation":"

Contains the parameters for RegisterImage.

" + }, + "RegisterImageResult":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the newly registered AMI.

", + "locationName":"imageId" + } + }, + "documentation":"

Contains the output of RegisterImage.

" + }, + "RegisterInstanceEventNotificationAttributesRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceTagAttribute":{ + "shape":"RegisterInstanceTagAttributeRequest", + "documentation":"

Information about the tag keys to register.

" + } + } + }, + "RegisterInstanceEventNotificationAttributesResult":{ + "type":"structure", + "members":{ + "InstanceTagAttribute":{ + "shape":"InstanceTagNotificationAttribute", + "documentation":"

The resulting set of tag keys.

", + "locationName":"instanceTagAttribute" + } + } + }, + "RegisterInstanceTagAttributeRequest":{ + "type":"structure", + "members":{ + "IncludeAllTagsOfInstance":{ + "shape":"Boolean", + "documentation":"

Indicates whether to register all tag keys in the current Region. Specify true to register all tag keys.

" + }, + "InstanceTagKeys":{ + "shape":"InstanceTagKeySet", + "documentation":"

The tag keys to register.

", + "locationName":"InstanceTagKey" + } + }, + "documentation":"

Information about the tag keys to register for the current Region. You can either specify individual tag keys or register all tag keys in the current Region. You must specify either IncludeAllTagsOfInstance or InstanceTagKeys in the request

" + }, + "RegisterTransitGatewayMulticastGroupMembersRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

" + }, + "NetworkInterfaceIds":{ + "shape":"TransitGatewayNetworkInterfaceIdList", + "documentation":"

The group members' network interface IDs to register with the transit gateway multicast group.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "RegisterTransitGatewayMulticastGroupMembersResult":{ + "type":"structure", + "members":{ + "RegisteredMulticastGroupMembers":{ + "shape":"TransitGatewayMulticastRegisteredGroupMembers", + "documentation":"

Information about the registered transit gateway multicast group members.

", + "locationName":"registeredMulticastGroupMembers" + } + } + }, + "RegisterTransitGatewayMulticastGroupSourcesRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

" + }, + "NetworkInterfaceIds":{ + "shape":"TransitGatewayNetworkInterfaceIdList", + "documentation":"

The group sources' network interface IDs to register with the transit gateway multicast group.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "RegisterTransitGatewayMulticastGroupSourcesResult":{ + "type":"structure", + "members":{ + "RegisteredMulticastGroupSources":{ + "shape":"TransitGatewayMulticastRegisteredGroupSources", + "documentation":"

Information about the transit gateway multicast group sources.

", + "locationName":"registeredMulticastGroupSources" + } + } + }, + "RejectTransitGatewayPeeringAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the transit gateway peering attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "RejectTransitGatewayPeeringAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayPeeringAttachment":{ + "shape":"TransitGatewayPeeringAttachment", + "documentation":"

The transit gateway peering attachment.

", + "locationName":"transitGatewayPeeringAttachment" + } + } + }, + "RejectTransitGatewayVpcAttachmentRequest":{ + "type":"structure", + "required":["TransitGatewayAttachmentId"], + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "RejectTransitGatewayVpcAttachmentResult":{ + "type":"structure", + "members":{ + "TransitGatewayVpcAttachment":{ + "shape":"TransitGatewayVpcAttachment", + "documentation":"

Information about the attachment.

", + "locationName":"transitGatewayVpcAttachment" + } + } + }, + "RejectVpcEndpointConnectionsRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "VpcEndpointIds" + ], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the service.

" + }, + "VpcEndpointIds":{ + "shape":"VpcEndpointIdList", + "documentation":"

The IDs of one or more VPC endpoints.

", + "locationName":"VpcEndpointId" + } + } + }, + "RejectVpcEndpointConnectionsResult":{ + "type":"structure", + "members":{ + "Unsuccessful":{ + "shape":"UnsuccessfulItemSet", + "documentation":"

Information about the endpoints that were not rejected, if applicable.

", + "locationName":"unsuccessful" + } + } + }, + "RejectVpcPeeringConnectionRequest":{ + "type":"structure", + "required":["VpcPeeringConnectionId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of the VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + } + }, + "RejectVpcPeeringConnectionResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "ReleaseAddressRequest":{ + "type":"structure", + "members":{ + "AllocationId":{ + "shape":"AllocationId", + "documentation":"

[EC2-VPC] The allocation ID. Required for EC2-VPC.

" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

[EC2-Classic] The Elastic IP address. Required for EC2-Classic.

" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The location that the IP address is released from.

If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound error. For more information, see Error Codes.

You cannot use a network border group with EC2 Classic. If you attempt this operation on EC2 classic, you will receive an InvalidParameterCombination error. For more information, see Error Codes.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "ReleaseHostsRequest":{ + "type":"structure", + "required":["HostIds"], + "members":{ + "HostIds":{ + "shape":"RequestHostIdList", + "documentation":"

The IDs of the Dedicated Hosts to release.

", + "locationName":"hostId" + } + } + }, + "ReleaseHostsResult":{ + "type":"structure", + "members":{ + "Successful":{ + "shape":"ResponseHostIdList", + "documentation":"

The IDs of the Dedicated Hosts that were successfully released.

", + "locationName":"successful" + }, + "Unsuccessful":{ + "shape":"UnsuccessfulItemList", + "documentation":"

The IDs of the Dedicated Hosts that could not be released, including an error message.

", + "locationName":"unsuccessful" + } + } + }, + "ReplaceIamInstanceProfileAssociationRequest":{ + "type":"structure", + "required":[ + "IamInstanceProfile", + "AssociationId" + ], + "members":{ + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

" + }, + "AssociationId":{ + "shape":"IamInstanceProfileAssociationId", + "documentation":"

The ID of the existing IAM instance profile association.

" + } + } + }, + "ReplaceIamInstanceProfileAssociationResult":{ + "type":"structure", + "members":{ + "IamInstanceProfileAssociation":{ + "shape":"IamInstanceProfileAssociation", + "documentation":"

Information about the IAM instance profile association.

", + "locationName":"iamInstanceProfileAssociation" + } + } + }, + "ReplaceNetworkAclAssociationRequest":{ + "type":"structure", + "required":[ + "AssociationId", + "NetworkAclId" + ], + "members":{ + "AssociationId":{ + "shape":"NetworkAclAssociationId", + "documentation":"

The ID of the current association between the original network ACL and the subnet.

", + "locationName":"associationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkAclId":{ + "shape":"NetworkAclId", + "documentation":"

The ID of the new network ACL to associate with the subnet.

", + "locationName":"networkAclId" + } + } + }, + "ReplaceNetworkAclAssociationResult":{ + "type":"structure", + "members":{ + "NewAssociationId":{ + "shape":"String", + "documentation":"

The ID of the new association.

", + "locationName":"newAssociationId" + } + } + }, + "ReplaceNetworkAclEntryRequest":{ + "type":"structure", + "required":[ + "Egress", + "NetworkAclId", + "Protocol", + "RuleAction", + "RuleNumber" + ], + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).

", + "locationName":"cidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to replace the egress rule.

Default: If no value is specified, we replace the ingress rule.

", + "locationName":"egress" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

", + "locationName":"Icmp" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).

", + "locationName":"ipv6CidrBlock" + }, + "NetworkAclId":{ + "shape":"NetworkAclId", + "documentation":"

The ID of the ACL.

", + "locationName":"networkAclId" + }, + "PortRange":{ + "shape":"PortRange", + "documentation":"

TCP or UDP protocols: The range of ports the rule applies to. Required if specifying protocol 6 (TCP) or 17 (UDP).

", + "locationName":"portRange" + }, + "Protocol":{ + "shape":"String", + "documentation":"

The protocol number. A value of \"-1\" means all protocols. If you specify \"-1\" or a protocol number other than \"6\" (TCP), \"17\" (UDP), or \"1\" (ICMP), traffic on all ports is allowed, regardless of any ports or ICMP types or codes that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless of any that you specify. If you specify protocol \"58\" (ICMPv6) and specify an IPv6 CIDR block, you must specify an ICMP type and code.

", + "locationName":"protocol" + }, + "RuleAction":{ + "shape":"RuleAction", + "documentation":"

Indicates whether to allow or deny the traffic that matches the rule.

", + "locationName":"ruleAction" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number of the entry to replace.

", + "locationName":"ruleNumber" + } + } + }, + "ReplaceRouteRequest":{ + "type":"structure", + "required":["RouteTableId"], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

", + "locationName":"destinationCidrBlock" + }, + "DestinationIpv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR address block used for the destination match. The value that you provide must match the CIDR of an existing route in the table.

", + "locationName":"destinationIpv6CidrBlock" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"EgressOnlyInternetGatewayId", + "documentation":"

[IPv6 traffic only] The ID of an egress-only internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" + }, + "GatewayId":{ + "shape":"RouteGatewayId", + "documentation":"

The ID of an internet gateway or virtual private gateway.

", + "locationName":"gatewayId" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of a NAT instance in your VPC.

", + "locationName":"instanceId" + }, + "LocalTarget":{ + "shape":"Boolean", + "documentation":"

Specifies whether to reset the local route to its default target (local).

" + }, + "NatGatewayId":{ + "shape":"NatGatewayId", + "documentation":"

[IPv4 traffic only] The ID of a NAT gateway.

", + "locationName":"natGatewayId" + }, + "TransitGatewayId":{ + "shape":"TransitGatewayId", + "documentation":"

The ID of a transit gateway.

" + }, + "LocalGatewayId":{ + "shape":"LocalGatewayId", + "documentation":"

The ID of the local gateway.

" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of a network interface.

", + "locationName":"networkInterfaceId" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + }, + "VpcPeeringConnectionId":{ + "shape":"VpcPeeringConnectionId", + "documentation":"

The ID of a VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + } + }, + "ReplaceRouteTableAssociationRequest":{ + "type":"structure", + "required":[ + "AssociationId", + "RouteTableId" + ], + "members":{ + "AssociationId":{ + "shape":"RouteTableAssociationId", + "documentation":"

The association ID.

", + "locationName":"associationId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "RouteTableId":{ + "shape":"RouteTableId", + "documentation":"

The ID of the new route table to associate with the subnet.

", + "locationName":"routeTableId" + } + } + }, + "ReplaceRouteTableAssociationResult":{ + "type":"structure", + "members":{ + "NewAssociationId":{ + "shape":"String", + "documentation":"

The ID of the new association.

", + "locationName":"newAssociationId" + }, + "AssociationState":{ + "shape":"RouteTableAssociationState", + "documentation":"

The state of the association.

", + "locationName":"associationState" + } + } + }, + "ReplaceTransitGatewayRouteRequest":{ + "type":"structure", + "required":[ + "DestinationCidrBlock", + "TransitGatewayRouteTableId" + ], + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR range used for the destination match. Routing decisions are based on the most specific match.

" + }, + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the route table.

" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

" + }, + "Blackhole":{ + "shape":"Boolean", + "documentation":"

Indicates whether traffic matching this route is to be dropped.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ReplaceTransitGatewayRouteResult":{ + "type":"structure", + "members":{ + "Route":{ + "shape":"TransitGatewayRoute", + "documentation":"

Information about the modified route.

", + "locationName":"route" + } + } + }, + "ReportInstanceReasonCodes":{ + "type":"string", + "enum":[ + "instance-stuck-in-state", + "unresponsive", + "not-accepting-credentials", + "password-not-available", + "performance-network", + "performance-instance-store", + "performance-ebs-volume", + "performance-other", + "other" + ] + }, + "ReportInstanceStatusRequest":{ + "type":"structure", + "required":[ + "Instances", + "ReasonCodes", + "Status" + ], + "members":{ + "Description":{ + "shape":"String", + "documentation":"

Descriptive text about the health state of your instance.

", + "locationName":"description" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

The time at which the reported instance health state ended.

", + "locationName":"endTime" + }, + "Instances":{ + "shape":"InstanceIdStringList", + "documentation":"

The instances.

", + "locationName":"instanceId" + }, + "ReasonCodes":{ + "shape":"ReasonCodesList", + "documentation":"

The reason codes that describe the health state of your instance.

  • instance-stuck-in-state: My instance is stuck in a state.

  • unresponsive: My instance is unresponsive.

  • not-accepting-credentials: My instance is not accepting my credentials.

  • password-not-available: A password is not available for my instance.

  • performance-network: My instance is experiencing performance problems that I believe are network related.

  • performance-instance-store: My instance is experiencing performance problems that I believe are related to the instance stores.

  • performance-ebs-volume: My instance is experiencing performance problems that I believe are related to an EBS volume.

  • performance-other: My instance is experiencing performance problems.

  • other: [explain using the description parameter]

", + "locationName":"reasonCode" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time at which the reported instance health state began.

", + "locationName":"startTime" + }, + "Status":{ + "shape":"ReportStatusType", + "documentation":"

The status of all instances listed.

", + "locationName":"status" + } + } + }, + "ReportStatusType":{ + "type":"string", + "enum":[ + "ok", + "impaired" + ] + }, + "RequestHostIdList":{ + "type":"list", + "member":{ + "shape":"DedicatedHostId", + "locationName":"item" + } + }, + "RequestHostIdSet":{ + "type":"list", + "member":{ + "shape":"DedicatedHostId", + "locationName":"item" + } + }, + "RequestInstanceTypeList":{ + "type":"list", + "member":{"shape":"InstanceType"}, + "locationName":"InstanceType", + "max":100 + }, + "RequestLaunchTemplateData":{ + "type":"structure", + "members":{ + "KernelId":{ + "shape":"KernelId", + "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

" + }, + "IamInstanceProfile":{ + "shape":"LaunchTemplateIamInstanceProfileSpecificationRequest", + "documentation":"

The IAM instance profile.

" + }, + "BlockDeviceMappings":{ + "shape":"LaunchTemplateBlockDeviceMappingRequestList", + "documentation":"

The block device mapping.

", + "locationName":"BlockDeviceMapping" + }, + "NetworkInterfaces":{ + "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

", + "locationName":"NetworkInterface" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

" + }, + "KeyName":{ + "shape":"KeyPairName", + "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" + }, + "Monitoring":{ + "shape":"LaunchTemplatesMonitoringRequest", + "documentation":"

The monitoring for the instance.

" + }, + "Placement":{ + "shape":"LaunchTemplatePlacementRequest", + "documentation":"

The placement for the instance.

" + }, + "RamDiskId":{ + "shape":"RamdiskId", + "documentation":"

The ID of the RAM disk.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see User Provided Kernels in the Amazon Elastic Compute Cloud User Guide.

" + }, + "DisableApiTermination":{ + "shape":"Boolean", + "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"ShutdownBehavior", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

" + }, + "UserData":{ + "shape":"String", + "documentation":"

The Base64-encoded user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows).

" + }, + "TagSpecifications":{ + "shape":"LaunchTemplateTagSpecificationRequestList", + "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", + "locationName":"TagSpecification" + }, + "ElasticGpuSpecifications":{ + "shape":"ElasticGpuSpecificationList", + "documentation":"

An elastic GPU to associate with the instance.

", + "locationName":"ElasticGpuSpecification" + }, + "ElasticInferenceAccelerators":{ + "shape":"LaunchTemplateElasticInferenceAcceleratorList", + "documentation":"

The elastic inference accelerator for the instance.

", + "locationName":"ElasticInferenceAccelerator" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and security name in the same request.

", + "locationName":"SecurityGroupId" + }, + "SecurityGroups":{ + "shape":"SecurityGroupStringList", + "documentation":"

[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you must use security group IDs instead. You cannot specify both a security group ID and security name in the same request.

", + "locationName":"SecurityGroup" + }, + "InstanceMarketOptions":{ + "shape":"LaunchTemplateInstanceMarketOptionsRequest", + "documentation":"

The market (purchasing) option for the instances.

" + }, + "CreditSpecification":{ + "shape":"CreditSpecificationRequest", + "documentation":"

The credit option for CPU usage of the instance. Valid for T2 or T3 instances only.

" + }, + "CpuOptions":{ + "shape":"LaunchTemplateCpuOptionsRequest", + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CapacityReservationSpecification":{ + "shape":"LaunchTemplateCapacityReservationSpecificationRequest", + "documentation":"

The Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

" + }, + "LicenseSpecifications":{ + "shape":"LaunchTemplateLicenseSpecificationListRequest", + "documentation":"

The license configurations.

", + "locationName":"LicenseSpecification" + }, + "HibernationOptions":{ + "shape":"LaunchTemplateHibernationOptionsRequest", + "documentation":"

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "MetadataOptions":{ + "shape":"LaunchTemplateInstanceMetadataOptionsRequest", + "documentation":"

The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "documentation":"

The information to include in the launch template.

" + }, + "RequestSpotFleetRequest":{ + "type":"structure", + "required":["SpotFleetRequestConfig"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "SpotFleetRequestConfig":{ + "shape":"SpotFleetRequestConfigData", + "documentation":"

The configuration for the Spot Fleet request.

", + "locationName":"spotFleetRequestConfig" + } + }, + "documentation":"

Contains the parameters for RequestSpotFleet.

" + }, + "RequestSpotFleetResponse":{ + "type":"structure", + "members":{ + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + } + }, + "documentation":"

Contains the output of RequestSpotFleet.

" + }, + "RequestSpotInstancesRequest":{ + "type":"structure", + "members":{ + "AvailabilityZoneGroup":{ + "shape":"String", + "documentation":"

The user-specified name for a logical grouping of requests.

When you specify an Availability Zone group in a Spot Instance request, all Spot Instances in the request are launched in the same Availability Zone. Instance proximity is maintained with this parameter, but the choice of Availability Zone is not. The group applies only to requests for Spot Instances of the same instance type. Any additional Spot Instance requests that are specified with the same Availability Zone group name are launched in that same Availability Zone, as long as at least one instance from the group is still active.

If there is no active instance running in the Availability Zone group that you specify for a new Spot Instance request (all instances are terminated, the request is expired, or the maximum price you specified falls below current Spot price), then Amazon EC2 launches the instance in any Availability Zone where the constraint can be met. Consequently, the subsequent set of Spot Instances could be placed in a different zone from the original request, even if you specified the same Availability Zone group.

Default: Instances are launched in any available Availability Zone.

", + "locationName":"availabilityZoneGroup" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

The duration period starts as soon as your Spot Instance receives its instance ID. At the end of the duration period, Amazon EC2 marks the Spot Instance for termination and provides a Spot Instance termination notice, which gives the instance a two-minute warning before it terminates.

You can't specify an Availability Zone group or a launch group if you specify a duration.

", + "locationName":"blockDurationMinutes" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency in the Amazon EC2 User Guide for Linux Instances.

", + "locationName":"clientToken" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The maximum number of Spot Instances to launch.

Default: 1

", + "locationName":"instanceCount" + }, + "LaunchGroup":{ + "shape":"String", + "documentation":"

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

Default: Instances are launched and terminated individually

", + "locationName":"launchGroup" + }, + "LaunchSpecification":{ + "shape":"RequestSpotLaunchSpecification", + "documentation":"

The launch specification.

" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", + "locationName":"spotPrice" + }, + "Type":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot Instance request type.

Default: one-time

", + "locationName":"type" + }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date of the request. If this is a one-time request, the request becomes active at this date and time and remains active until all instances launch, the request expires, or the request is canceled. If the request is persistent, the request becomes active at this date and time and remains active until it expires or is canceled.

The specified start date and time cannot be equal to the current date and time. You must specify a start date and time that occurs after the current date and time.

", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date of the request. If this is a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

", + "locationName":"validUntil" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" + } + }, + "documentation":"

Contains the parameters for RequestSpotInstances.

" + }, + "RequestSpotInstancesResult":{ + "type":"structure", + "members":{ + "SpotInstanceRequests":{ + "shape":"SpotInstanceRequestList", + "documentation":"

One or more Spot Instance requests.

", + "locationName":"spotInstanceRequestSet" + } + }, + "documentation":"

Contains the output of RequestSpotInstances.

" + }, + "RequestSpotLaunchSpecification":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"RequestSpotLaunchSpecificationSecurityGroupIdList", + "documentation":"

One or more security group IDs.

", + "locationName":"SecurityGroupId" + }, + "SecurityGroups":{ + "shape":"RequestSpotLaunchSpecificationSecurityGroupList", + "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "locationName":"SecurityGroup" + }, + "AddressingType":{ + "shape":"String", + "documentation":"

Deprecated.

", + "locationName":"addressingType" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

One or more block device mapping entries. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", + "locationName":"blockDeviceMapping" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", + "locationName":"ebsOptimized" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"KernelId", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"KeyPairName", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "documentation":"

Indicates whether basic or detailed monitoring is enabled for the instance.

Default: Disabled

", + "locationName":"monitoring" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"NetworkInterface" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information for the instance.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"RamdiskId", + "documentation":"

The ID of the RAM disk.

", + "locationName":"ramdiskId" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The IDs of the subnets in which to launch the instance. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"String", + "documentation":"

The Base64-encoded user data for the instance. User data is limited to 16 KB.

", + "locationName":"userData" + } + }, + "documentation":"

Describes the launch specification for an instance.

" + }, + "RequestSpotLaunchSpecificationSecurityGroupIdList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"item" + } + }, + "RequestSpotLaunchSpecificationSecurityGroupList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupName", + "locationName":"item" + } + }, + "Reservation":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupIdentifierList", + "documentation":"

[EC2-Classic only] The security groups.

", + "locationName":"groupSet" + }, + "Instances":{ + "shape":"InstanceList", + "documentation":"

The instances.

", + "locationName":"instancesSet" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the reservation.

", + "locationName":"ownerId" + }, + "RequesterId":{ + "shape":"String", + "documentation":"

The ID of the requester that launched the instances on your behalf (for example, AWS Management Console or Auto Scaling).

", + "locationName":"requesterId" + }, + "ReservationId":{ + "shape":"String", + "documentation":"

The ID of the reservation.

", + "locationName":"reservationId" + } + }, + "documentation":"

Describes a reservation.

" + }, + "ReservationId":{"type":"string"}, + "ReservationList":{ + "type":"list", + "member":{ + "shape":"Reservation", + "locationName":"item" + } + }, + "ReservationState":{ + "type":"string", + "enum":[ + "payment-pending", + "payment-failed", + "active", + "retired" + ] + }, + "ReservationValue":{ + "type":"structure", + "members":{ + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly rate of the reservation.

", + "locationName":"hourlyPrice" + }, + "RemainingTotalValue":{ + "shape":"String", + "documentation":"

The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

", + "locationName":"remainingTotalValue" + }, + "RemainingUpfrontValue":{ + "shape":"String", + "documentation":"

The remaining upfront cost of the reservation.

", + "locationName":"remainingUpfrontValue" + } + }, + "documentation":"

The cost associated with the Reserved Instance.

" + }, + "ReservedInstanceIdSet":{ + "type":"list", + "member":{ + "shape":"ReservationId", + "locationName":"ReservedInstanceId" + } + }, + "ReservedInstanceLimitPrice":{ + "type":"structure", + "members":{ + "Amount":{ + "shape":"Double", + "documentation":"

Used for Reserved Instance Marketplace offerings. Specifies the limit price on the total order (instanceCount * price).

", + "locationName":"amount" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency in which the limitPrice amount is specified. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + } + }, + "documentation":"

Describes the limit price of a Reserved Instance offering.

" + }, + "ReservedInstanceReservationValue":{ + "type":"structure", + "members":{ + "ReservationValue":{ + "shape":"ReservationValue", + "documentation":"

The total value of the Convertible Reserved Instance that you are exchanging.

", + "locationName":"reservationValue" + }, + "ReservedInstanceId":{ + "shape":"String", + "documentation":"

The ID of the Convertible Reserved Instance that you are exchanging.

", + "locationName":"reservedInstanceId" + } + }, + "documentation":"

The total value of the Convertible Reserved Instance.

" + }, + "ReservedInstanceReservationValueSet":{ + "type":"list", + "member":{ + "shape":"ReservedInstanceReservationValue", + "locationName":"item" + } + }, + "ReservedInstanceState":{ + "type":"string", + "enum":[ + "payment-pending", + "active", + "payment-failed", + "retired", + "queued", + "queued-deleted" + ] + }, + "ReservedInstances":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", + "locationName":"availabilityZone" + }, + "Duration":{ + "shape":"Long", + "documentation":"

The duration of the Reserved Instance, in seconds.

", + "locationName":"duration" + }, + "End":{ + "shape":"DateTime", + "documentation":"

The time when the Reserved Instance expires.

", + "locationName":"end" + }, + "FixedPrice":{ + "shape":"Float", + "documentation":"

The purchase price of the Reserved Instance.

", + "locationName":"fixedPrice" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of reservations purchased.

", + "locationName":"instanceCount" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type on which the Reserved Instance can be used.

", + "locationName":"instanceType" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The Reserved Instance product platform description.

", + "locationName":"productDescription" + }, + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + }, + "Start":{ + "shape":"DateTime", + "documentation":"

The date and time the Reserved Instance started.

", + "locationName":"start" + }, + "State":{ + "shape":"ReservedInstanceState", + "documentation":"

The state of the Reserved Instance purchase.

", + "locationName":"state" + }, + "UsagePrice":{ + "shape":"Float", + "documentation":"

The usage price of the Reserved Instance, per hour.

", + "locationName":"usagePrice" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance.

", + "locationName":"instanceTenancy" + }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

The offering class of the Reserved Instance.

", + "locationName":"offeringClass" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type.

", + "locationName":"offeringType" + }, + "RecurringCharges":{ + "shape":"RecurringChargesList", + "documentation":"

The recurring charge tag assigned to the resource.

", + "locationName":"recurringCharges" + }, + "Scope":{ + "shape":"scope", + "documentation":"

The scope of the Reserved Instance.

", + "locationName":"scope" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Reserved Instance.

" + }, + "ReservedInstancesConfiguration":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the modified Reserved Instances.

", + "locationName":"availabilityZone" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of modified Reserved Instances.

This is a required field for a request.

", + "locationName":"instanceCount" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type for the modified Reserved Instances.

", + "locationName":"instanceType" + }, + "Platform":{ + "shape":"String", + "documentation":"

The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

", + "locationName":"platform" + }, + "Scope":{ + "shape":"scope", + "documentation":"

Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

", + "locationName":"scope" + } + }, + "documentation":"

Describes the configuration settings for the modified Reserved Instances.

" + }, + "ReservedInstancesConfigurationList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesConfiguration", + "locationName":"item" + } + }, + "ReservedInstancesId":{ + "type":"structure", + "members":{ + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + } + }, + "documentation":"

Describes the ID of a Reserved Instance.

" + }, + "ReservedInstancesIdStringList":{ + "type":"list", + "member":{ + "shape":"ReservationId", + "locationName":"ReservedInstancesId" + } + }, + "ReservedInstancesList":{ + "type":"list", + "member":{ + "shape":"ReservedInstances", + "locationName":"item" + } + }, + "ReservedInstancesListing":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, + "CreateDate":{ + "shape":"DateTime", + "documentation":"

The time the listing was created.

", + "locationName":"createDate" + }, + "InstanceCounts":{ + "shape":"InstanceCountList", + "documentation":"

The number of instances in this state.

", + "locationName":"instanceCounts" + }, + "PriceSchedules":{ + "shape":"PriceScheduleList", + "documentation":"

The price of the Reserved Instance listing.

", + "locationName":"priceSchedules" + }, + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + }, + "ReservedInstancesListingId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance listing.

", + "locationName":"reservedInstancesListingId" + }, + "Status":{ + "shape":"ListingStatus", + "documentation":"

The status of the Reserved Instance listing.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The reason for the current status of the Reserved Instance listing. The response can be blank.

", + "locationName":"statusMessage" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" + }, + "UpdateDate":{ + "shape":"DateTime", + "documentation":"

The last modified timestamp of the listing.

", + "locationName":"updateDate" + } + }, + "documentation":"

Describes a Reserved Instance listing.

" + }, + "ReservedInstancesListingId":{"type":"string"}, + "ReservedInstancesListingList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesListing", + "locationName":"item" + } + }, + "ReservedInstancesModification":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, + "CreateDate":{ + "shape":"DateTime", + "documentation":"

The time when the modification request was created.

", + "locationName":"createDate" + }, + "EffectiveDate":{ + "shape":"DateTime", + "documentation":"

The time for the modification to become effective.

", + "locationName":"effectiveDate" + }, + "ModificationResults":{ + "shape":"ReservedInstancesModificationResultList", + "documentation":"

Contains target configurations along with their corresponding new Reserved Instance IDs.

", + "locationName":"modificationResultSet" + }, + "ReservedInstancesIds":{ + "shape":"ReservedIntancesIds", + "documentation":"

The IDs of one or more Reserved Instances.

", + "locationName":"reservedInstancesSet" + }, + "ReservedInstancesModificationId":{ + "shape":"String", + "documentation":"

A unique ID for the Reserved Instance modification.

", + "locationName":"reservedInstancesModificationId" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the Reserved Instances modification request.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The reason for the status.

", + "locationName":"statusMessage" + }, + "UpdateDate":{ + "shape":"DateTime", + "documentation":"

The time when the modification request was last updated.

", + "locationName":"updateDate" + } + }, + "documentation":"

Describes a Reserved Instance modification.

" + }, + "ReservedInstancesModificationId":{"type":"string"}, + "ReservedInstancesModificationIdStringList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesModificationId", + "locationName":"ReservedInstancesModificationId" + } + }, + "ReservedInstancesModificationList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesModification", + "locationName":"item" + } + }, + "ReservedInstancesModificationResult":{ + "type":"structure", + "members":{ + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

", + "locationName":"reservedInstancesId" + }, + "TargetConfiguration":{ + "shape":"ReservedInstancesConfiguration", + "documentation":"

The target Reserved Instances configurations supplied as part of the modification request.

", + "locationName":"targetConfiguration" + } + }, + "documentation":"

Describes the modification request/s.

" + }, + "ReservedInstancesModificationResultList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesModificationResult", + "locationName":"item" + } + }, + "ReservedInstancesOffering":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the Reserved Instance can be used.

", + "locationName":"availabilityZone" + }, + "Duration":{ + "shape":"Long", + "documentation":"

The duration of the Reserved Instance, in seconds.

", + "locationName":"duration" + }, + "FixedPrice":{ + "shape":"Float", + "documentation":"

The purchase price of the Reserved Instance.

", + "locationName":"fixedPrice" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type on which the Reserved Instance can be used.

", + "locationName":"instanceType" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The Reserved Instance product platform description.

", + "locationName":"productDescription" + }, + "ReservedInstancesOfferingId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote to confirm that an exchange can be made.

", + "locationName":"reservedInstancesOfferingId" + }, + "UsagePrice":{ + "shape":"Float", + "documentation":"

The usage price of the Reserved Instance, per hour.

", + "locationName":"usagePrice" + }, + "CurrencyCode":{ + "shape":"CurrencyCodeValues", + "documentation":"

The currency of the Reserved Instance offering you are purchasing. It's specified using ISO 4217 standard currency codes. At this time, the only supported currency is USD.

", + "locationName":"currencyCode" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance.

", + "locationName":"instanceTenancy" + }, + "Marketplace":{ + "shape":"Boolean", + "documentation":"

Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering, this is true.

", + "locationName":"marketplace" + }, + "OfferingClass":{ + "shape":"OfferingClassType", + "documentation":"

If convertible it can be exchanged for Reserved Instances of the same or higher monetary value, with different configurations. If standard, it is not possible to perform an exchange.

", + "locationName":"offeringClass" + }, + "OfferingType":{ + "shape":"OfferingTypeValues", + "documentation":"

The Reserved Instance offering type.

", + "locationName":"offeringType" + }, + "PricingDetails":{ + "shape":"PricingDetailsList", + "documentation":"

The pricing details of the Reserved Instance offering.

", + "locationName":"pricingDetailsSet" + }, + "RecurringCharges":{ + "shape":"RecurringChargesList", + "documentation":"

The recurring charge tag assigned to the resource.

", + "locationName":"recurringCharges" + }, + "Scope":{ + "shape":"scope", + "documentation":"

Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

", + "locationName":"scope" + } + }, + "documentation":"

Describes a Reserved Instance offering.

" + }, + "ReservedInstancesOfferingId":{"type":"string"}, + "ReservedInstancesOfferingIdStringList":{ + "type":"list", + "member":{"shape":"ReservedInstancesOfferingId"} + }, + "ReservedInstancesOfferingList":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesOffering", + "locationName":"item" + } + }, + "ReservedIntancesIds":{ + "type":"list", + "member":{ + "shape":"ReservedInstancesId", + "locationName":"item" + } + }, + "ResetEbsDefaultKmsKeyIdRequest":{ + "type":"structure", + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "ResetEbsDefaultKmsKeyIdResult":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.

", + "locationName":"kmsKeyId" + } + } + }, + "ResetFpgaImageAttributeName":{ + "type":"string", + "enum":["loadPermission"] + }, + "ResetFpgaImageAttributeRequest":{ + "type":"structure", + "required":["FpgaImageId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "FpgaImageId":{ + "shape":"FpgaImageId", + "documentation":"

The ID of the AFI.

" + }, + "Attribute":{ + "shape":"ResetFpgaImageAttributeName", + "documentation":"

The attribute.

" + } + } + }, + "ResetFpgaImageAttributeResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Is true if the request succeeds, and an error otherwise.

", + "locationName":"return" + } + } + }, + "ResetImageAttributeName":{ + "type":"string", + "enum":["launchPermission"] + }, + "ResetImageAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "ImageId" + ], + "members":{ + "Attribute":{ + "shape":"ResetImageAttributeName", + "documentation":"

The attribute to reset (currently you can only reset the launch permission attribute).

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + }, + "documentation":"

Contains the parameters for ResetImageAttribute.

" + }, + "ResetInstanceAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "InstanceId" + ], + "members":{ + "Attribute":{ + "shape":"InstanceAttributeName", + "documentation":"

The attribute to reset.

You can only reset the following attributes: kernel | ramdisk | sourceDestCheck. To change an instance attribute, use ModifyInstanceAttribute.

", + "locationName":"attribute" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + } + } + }, + "ResetNetworkInterfaceAttributeRequest":{ + "type":"structure", + "required":["NetworkInterfaceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "SourceDestCheck":{ + "shape":"String", + "documentation":"

The source/destination checking attribute. Resets the value to true.

", + "locationName":"sourceDestCheck" + } + }, + "documentation":"

Contains the parameters for ResetNetworkInterfaceAttribute.

" + }, + "ResetSnapshotAttributeRequest":{ + "type":"structure", + "required":[ + "Attribute", + "SnapshotId" + ], + "members":{ + "Attribute":{ + "shape":"SnapshotAttributeName", + "documentation":"

The attribute to reset. Currently, only the attribute for permission to create volumes can be reset.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "ResourceIdList":{ + "type":"list", + "member":{"shape":"TaggableResourceId"} + }, + "ResourceList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "ResourceType":{ + "type":"string", + "enum":[ + "client-vpn-endpoint", + "customer-gateway", + "dedicated-host", + "dhcp-options", + "elastic-ip", + "fleet", + "fpga-image", + "host-reservation", + "image", + "instance", + "internet-gateway", + "key-pair", + "launch-template", + "natgateway", + "network-acl", + "network-interface", + "placement-group", + "reserved-instances", + "route-table", + "security-group", + "snapshot", + "spot-fleet-request", + "spot-instances-request", + "subnet", + "traffic-mirror-filter", + "traffic-mirror-session", + "traffic-mirror-target", + "transit-gateway", + "transit-gateway-attachment", + "transit-gateway-multicast-domain", + "transit-gateway-route-table", + "volume", + "vpc", + "vpc-peering-connection", + "vpn-connection", + "vpn-gateway", + "vpc-flow-log" + ] + }, + "ResponseError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"LaunchTemplateErrorCode", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the error that's returned when you cannot delete a launch template version.

" + }, + "ResponseHostIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "ResponseHostIdSet":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "ResponseLaunchTemplateData":{ + "type":"structure", + "members":{ + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel, if applicable.

", + "locationName":"kernelId" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O.

", + "locationName":"ebsOptimized" + }, + "IamInstanceProfile":{ + "shape":"LaunchTemplateIamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "BlockDeviceMappings":{ + "shape":"LaunchTemplateBlockDeviceMappingList", + "documentation":"

The block device mappings.

", + "locationName":"blockDeviceMappingSet" + }, + "NetworkInterfaces":{ + "shape":"LaunchTemplateInstanceNetworkInterfaceSpecificationList", + "documentation":"

The network interfaces.

", + "locationName":"networkInterfaceSet" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI that was used to launch the instance.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "Monitoring":{ + "shape":"LaunchTemplatesMonitoring", + "documentation":"

The monitoring for the instance.

", + "locationName":"monitoring" + }, + "Placement":{ + "shape":"LaunchTemplatePlacement", + "documentation":"

The placement of the instance.

", + "locationName":"placement" + }, + "RamDiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk, if applicable.

", + "locationName":"ramDiskId" + }, + "DisableApiTermination":{ + "shape":"Boolean", + "documentation":"

If set to true, indicates that the instance cannot be terminated using the Amazon EC2 console, command line tool, or API.

", + "locationName":"disableApiTermination" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"ShutdownBehavior", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "UserData":{ + "shape":"String", + "documentation":"

The user data for the instance.

", + "locationName":"userData" + }, + "TagSpecifications":{ + "shape":"LaunchTemplateTagSpecificationList", + "documentation":"

The tags.

", + "locationName":"tagSpecificationSet" + }, + "ElasticGpuSpecifications":{ + "shape":"ElasticGpuSpecificationResponseList", + "documentation":"

The elastic GPU specification.

", + "locationName":"elasticGpuSpecificationSet" + }, + "ElasticInferenceAccelerators":{ + "shape":"LaunchTemplateElasticInferenceAcceleratorResponseList", + "documentation":"

The elastic inference accelerator for the instance.

", + "locationName":"elasticInferenceAcceleratorSet" + }, + "SecurityGroupIds":{ + "shape":"ValueStringList", + "documentation":"

The security group IDs.

", + "locationName":"securityGroupIdSet" + }, + "SecurityGroups":{ + "shape":"ValueStringList", + "documentation":"

The security group names.

", + "locationName":"securityGroupSet" + }, + "InstanceMarketOptions":{ + "shape":"LaunchTemplateInstanceMarketOptions", + "documentation":"

The market (purchasing) option for the instances.

", + "locationName":"instanceMarketOptions" + }, + "CreditSpecification":{ + "shape":"CreditSpecification", + "documentation":"

The credit option for CPU usage of the instance.

", + "locationName":"creditSpecification" + }, + "CpuOptions":{ + "shape":"LaunchTemplateCpuOptions", + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"cpuOptions" + }, + "CapacityReservationSpecification":{ + "shape":"LaunchTemplateCapacityReservationSpecificationResponse", + "documentation":"

Information about the Capacity Reservation targeting option.

", + "locationName":"capacityReservationSpecification" + }, + "LicenseSpecifications":{ + "shape":"LaunchTemplateLicenseList", + "documentation":"

The license configurations.

", + "locationName":"licenseSet" + }, + "HibernationOptions":{ + "shape":"LaunchTemplateHibernationOptions", + "documentation":"

Indicates whether an instance is configured for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"hibernationOptions" + }, + "MetadataOptions":{ + "shape":"LaunchTemplateInstanceMetadataOptions", + "documentation":"

The metadata options for the instance. For more information, see Instance Metadata and User Data in the Amazon Elastic Compute Cloud User Guide.

", + "locationName":"metadataOptions" + } + }, + "documentation":"

The information for a launch template.

" + }, + "RestorableByStringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "RestoreAddressToClassicRequest":{ + "type":"structure", + "required":["PublicIp"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + } + } + }, + "RestoreAddressToClassicResult":{ + "type":"structure", + "members":{ + "PublicIp":{ + "shape":"String", + "documentation":"

The Elastic IP address.

", + "locationName":"publicIp" + }, + "Status":{ + "shape":"Status", + "documentation":"

The move status for the IP address.

", + "locationName":"status" + } + } + }, + "RevokeClientVpnIngressRequest":{ + "type":"structure", + "required":[ + "ClientVpnEndpointId", + "TargetNetworkCidr" + ], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint with which the authorization rule is associated.

" + }, + "TargetNetworkCidr":{ + "shape":"String", + "documentation":"

The IPv4 address range, in CIDR notation, of the network for which access is being removed.

" + }, + "AccessGroupId":{ + "shape":"String", + "documentation":"

The ID of the Active Directory group for which to revoke access.

" + }, + "RevokeAllGroups":{ + "shape":"Boolean", + "documentation":"

Indicates whether access should be revoked for all clients.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "RevokeClientVpnIngressResult":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ClientVpnAuthorizationRuleStatus", + "documentation":"

The current state of the authorization rule.

", + "locationName":"status" + } + } + }, + "RevokeSecurityGroupEgressRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The sets of IP permissions. You can't specify a destination security group and a CIDR IP address range in the same set of permissions.

", + "locationName":"ipPermissions" + }, + "CidrIp":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify the CIDR.

", + "locationName":"cidrIp" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify the protocol name or number.

", + "locationName":"ipProtocol" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

Not supported. Use a set of IP permissions to specify the port.

", + "locationName":"toPort" + }, + "SourceSecurityGroupName":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", + "locationName":"sourceSecurityGroupName" + }, + "SourceSecurityGroupOwnerId":{ + "shape":"String", + "documentation":"

Not supported. Use a set of IP permissions to specify a destination security group.

", + "locationName":"sourceSecurityGroupOwnerId" + } + } + }, + "RevokeSecurityGroupIngressRequest":{ + "type":"structure", + "members":{ + "CidrIp":{ + "shape":"String", + "documentation":"

The CIDR IP address range. You can't specify this parameter when specifying a source security group.

" + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of port range for the TCP and UDP protocols, or an ICMP type number. For the ICMP type number, use -1 to specify all ICMP types.

" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" + }, + "GroupName":{ + "shape":"SecurityGroupName", + "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The sets of IP permissions. You can't specify a source security group and a CIDR IP address range in the same set of permissions.

" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers). Use -1 to specify all.

" + }, + "SourceSecurityGroupName":{ + "shape":"String", + "documentation":"

[EC2-Classic, default VPC] The name of the source security group. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the start of the port range, the IP protocol, and the end of the port range. For EC2-VPC, the source security group must be in the same VPC. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" + }, + "SourceSecurityGroupOwnerId":{ + "shape":"String", + "documentation":"

[EC2-Classic] The AWS account ID of the source security group, if the source security group is in a different account. You can't specify this parameter in combination with the following parameters: the CIDR IP address range, the IP protocol, the start of the port range, and the end of the port range. To revoke a specific rule for an IP protocol and port range, use a set of IP permissions instead.

" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of port range for the TCP and UDP protocols, or an ICMP code number. For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "RootDeviceType":{ + "type":"string", + "enum":[ + "ebs", + "instance-store" + ] + }, + "RootDeviceTypeList":{ + "type":"list", + "member":{ + "shape":"RootDeviceType", + "locationName":"item" + } + }, + "Route":{ + "type":"structure", + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR block used for the destination match.

", + "locationName":"destinationCidrBlock" + }, + "DestinationIpv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block used for the destination match.

", + "locationName":"destinationIpv6CidrBlock" + }, + "DestinationPrefixListId":{ + "shape":"String", + "documentation":"

The prefix of the AWS service.

", + "locationName":"destinationPrefixListId" + }, + "EgressOnlyInternetGatewayId":{ + "shape":"String", + "documentation":"

The ID of the egress-only internet gateway.

", + "locationName":"egressOnlyInternetGatewayId" + }, + "GatewayId":{ + "shape":"String", + "documentation":"

The ID of a gateway attached to your VPC.

", + "locationName":"gatewayId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of a NAT instance in your VPC.

", + "locationName":"instanceId" + }, + "InstanceOwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the instance.

", + "locationName":"instanceOwnerId" + }, + "NatGatewayId":{ + "shape":"String", + "documentation":"

The ID of a NAT gateway.

", + "locationName":"natGatewayId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of a transit gateway.

", + "locationName":"transitGatewayId" + }, + "LocalGatewayId":{ + "shape":"String", + "documentation":"

The ID of the local gateway.

", + "locationName":"localGatewayId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "Origin":{ + "shape":"RouteOrigin", + "documentation":"

Describes how the route was created.

  • CreateRouteTable - The route was automatically created when the route table was created.

  • CreateRoute - The route was manually added to the route table.

  • EnableVgwRoutePropagation - The route was propagated by route propagation.

", + "locationName":"origin" + }, + "State":{ + "shape":"RouteState", + "documentation":"

The state of the route. The blackhole state indicates that the route's target isn't available (for example, the specified gateway isn't attached to the VPC, or the specified NAT instance has been terminated).

", + "locationName":"state" + }, + "VpcPeeringConnectionId":{ + "shape":"String", + "documentation":"

The ID of a VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + }, + "documentation":"

Describes a route in a route table.

" + }, + "RouteGatewayId":{"type":"string"}, + "RouteList":{ + "type":"list", + "member":{ + "shape":"Route", + "locationName":"item" + } + }, + "RouteOrigin":{ + "type":"string", + "enum":[ + "CreateRouteTable", + "CreateRoute", + "EnableVgwRoutePropagation" + ] + }, + "RouteState":{ + "type":"string", + "enum":[ + "active", + "blackhole" + ] + }, + "RouteTable":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"RouteTableAssociationList", + "documentation":"

The associations between the route table and one or more subnets or a gateway.

", + "locationName":"associationSet" + }, + "PropagatingVgws":{ + "shape":"PropagatingVgwList", + "documentation":"

Any virtual private gateway (VGW) propagating routes.

", + "locationName":"propagatingVgwSet" + }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + }, + "Routes":{ + "shape":"RouteList", + "documentation":"

The routes in the route table.

", + "locationName":"routeSet" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the route table.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the route table.

", + "locationName":"ownerId" + } + }, + "documentation":"

Describes a route table.

" + }, + "RouteTableAssociation":{ + "type":"structure", + "members":{ + "Main":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the main route table.

", + "locationName":"main" + }, + "RouteTableAssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"routeTableAssociationId" + }, + "RouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table.

", + "locationName":"routeTableId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet. A subnet ID is not returned for an implicit association.

", + "locationName":"subnetId" + }, + "GatewayId":{ + "shape":"String", + "documentation":"

The ID of the internet gateway or virtual private gateway.

", + "locationName":"gatewayId" + }, + "AssociationState":{ + "shape":"RouteTableAssociationState", + "documentation":"

The state of the association.

", + "locationName":"associationState" + } + }, + "documentation":"

Describes an association between a route table and a subnet or gateway.

" + }, + "RouteTableAssociationId":{"type":"string"}, + "RouteTableAssociationList":{ + "type":"list", + "member":{ + "shape":"RouteTableAssociation", + "locationName":"item" + } + }, + "RouteTableAssociationState":{ + "type":"structure", + "members":{ + "State":{ + "shape":"RouteTableAssociationStateCode", + "documentation":"

The state of the association.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

The status message, if applicable.

", + "locationName":"statusMessage" + } + }, + "documentation":"

Describes the state of an association between a route table and a subnet or gateway.

" + }, + "RouteTableAssociationStateCode":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated", + "failed" + ] + }, + "RouteTableId":{"type":"string"}, + "RouteTableIdStringList":{ + "type":"list", + "member":{ + "shape":"RouteTableId", + "locationName":"item" + } + }, + "RouteTableList":{ + "type":"list", + "member":{ + "shape":"RouteTable", + "locationName":"item" + } + }, + "RuleAction":{ + "type":"string", + "enum":[ + "allow", + "deny" + ] + }, + "RunInstancesMonitoringEnabled":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is enabled.

", + "locationName":"enabled" + } + }, + "documentation":"

Describes the monitoring of an instance.

" + }, + "RunInstancesRequest":{ + "type":"structure", + "required":[ + "MaxCount", + "MinCount" + ], + "members":{ + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingRequestList", + "documentation":"

The block device mapping entries.

", + "locationName":"BlockDeviceMapping" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.

" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type. For more information, see Instance Types in the Amazon Elastic Compute Cloud User Guide.

Default: m1.small

" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

[EC2-VPC] The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

" + }, + "Ipv6Addresses":{ + "shape":"InstanceIpv6AddressList", + "documentation":"

[EC2-VPC] The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

", + "locationName":"Ipv6Address" + }, + "KernelId":{ + "shape":"KernelId", + "documentation":"

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + }, + "KeyName":{ + "shape":"KeyPairName", + "documentation":"

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

" + }, + "MaxCount":{ + "shape":"Integer", + "documentation":"

The maximum number of instances to launch. If you specify more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches the largest possible number of instances above MinCount.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 FAQ.

" + }, + "MinCount":{ + "shape":"Integer", + "documentation":"

The minimum number of instances to launch. If you specify a minimum that is more instances than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches no instances.

Constraints: Between 1 and the maximum number you're allowed for the specified instance type. For more information about the default limits, and how to request an increase, see How many instances can I run in Amazon EC2 in the Amazon EC2 General FAQ.

" + }, + "Monitoring":{ + "shape":"RunInstancesMonitoringEnabled", + "documentation":"

Specifies whether detailed monitoring is enabled for the instance.

" + }, + "Placement":{ + "shape":"Placement", + "documentation":"

The placement for the instance.

" + }, + "RamdiskId":{ + "shape":"RamdiskId", + "documentation":"

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon Elastic Compute Cloud User Guide.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdStringList", + "documentation":"

The IDs of the security groups. You can create a security group using CreateSecurityGroup.

If you specify a network interface, you must specify any security groups as part of the network interface.

", + "locationName":"SecurityGroupId" + }, + "SecurityGroups":{ + "shape":"SecurityGroupStringList", + "documentation":"

[EC2-Classic, default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

If you specify a network interface, you must specify any security groups as part of the network interface.

Default: Amazon EC2 uses the default security group.

", + "locationName":"SecurityGroup" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

[EC2-VPC] The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

" + }, + "UserData":{ + "shape":"String", + "documentation":"

The user data to make available to the instance. For more information, see Running Commands on Your Linux Instance at Launch (Linux) and Adding User Data (Windows). If you are using a command line tool, base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide base64-encoded text. User data is limited to 16 KB.

" + }, + "AdditionalInfo":{ + "shape":"String", + "documentation":"

Reserved.

", + "locationName":"additionalInfo" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency.

For more information, see Ensuring Idempotency.

Constraints: Maximum 64 ASCII characters

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "DisableApiTermination":{ + "shape":"Boolean", + "documentation":"

If you set this parameter to true, you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute. Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate, you can terminate the instance by running the shutdown command from the instance.

Default: false

", + "locationName":"disableApiTermination" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

", + "locationName":"ebsOptimized" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "InstanceInitiatedShutdownBehavior":{ + "shape":"ShutdownBehavior", + "documentation":"

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

", + "locationName":"instanceInitiatedShutdownBehavior" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

The network interfaces to associate with the instance. If you specify a network interface, you must specify any security groups and subnets as part of the network interface.

", + "locationName":"networkInterface" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

[EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

You cannot specify this option and the network interfaces option in the same request.

", + "locationName":"privateIpAddress" + }, + "ElasticGpuSpecification":{ + "shape":"ElasticGpuSpecifications", + "documentation":"

An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see Amazon EC2 Elastic GPUs in the Amazon Elastic Compute Cloud User Guide.

" + }, + "ElasticInferenceAccelerators":{ + "shape":"ElasticInferenceAccelerators", + "documentation":"

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

", + "locationName":"ElasticInferenceAccelerator" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The tags to apply to the resources during launch. You can only tag instances and volumes on launch. The specified tags are applied to all instances or volumes that are created during launch. To tag a resource after it has been created, see CreateTags.

", + "locationName":"TagSpecification" + }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The launch template to use to launch the instances. Any parameters that you specify in RunInstances override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

" + }, + "InstanceMarketOptions":{ + "shape":"InstanceMarketOptionsRequest", + "documentation":"

The market (purchasing) option for the instances.

For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" + }, + "CreditSpecification":{ + "shape":"CreditSpecificationRequest", + "documentation":"

The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited. To change this attribute after launch, use ModifyInstanceCreditSpecification. For more information, see Burstable Performance Instances in the Amazon Elastic Compute Cloud User Guide.

Default: standard (T2 instances) or unlimited (T3/T3a instances)

" + }, + "CpuOptions":{ + "shape":"CpuOptionsRequest", + "documentation":"

The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User Guide.

" + }, + "CapacityReservationSpecification":{ + "shape":"CapacityReservationSpecification", + "documentation":"

Information about the Capacity Reservation targeting option. If you do not specify this parameter, the instance's Capacity Reservation preference defaults to open, which enables it to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).

" + }, + "HibernationOptions":{ + "shape":"HibernationOptionsRequest", + "documentation":"

Indicates whether an instance is enabled for hibernation. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

" + }, + "LicenseSpecifications":{ + "shape":"LicenseSpecificationListRequest", + "documentation":"

The license configurations.

", + "locationName":"LicenseSpecification" + }, + "MetadataOptions":{ + "shape":"InstanceMetadataOptionsRequest", + "documentation":"

The metadata options for the instance. For more information, see Instance Metadata and User Data.

" + } + } + }, + "RunScheduledInstancesRequest":{ + "type":"structure", + "required":[ + "LaunchSpecification", + "ScheduledInstanceId" + ], + "members":{ + "ClientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that ensures the idempotency of the request. For more information, see Ensuring Idempotency.

", + "idempotencyToken":true + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances.

Default: 1

" + }, + "LaunchSpecification":{ + "shape":"ScheduledInstancesLaunchSpecification", + "documentation":"

The launch specification. You must match the instance type, Availability Zone, network, and platform of the schedule that you purchased.

" + }, + "ScheduledInstanceId":{ + "shape":"ScheduledInstanceId", + "documentation":"

The Scheduled Instance ID.

" + } + }, + "documentation":"

Contains the parameters for RunScheduledInstances.

" + }, + "RunScheduledInstancesResult":{ + "type":"structure", + "members":{ + "InstanceIdSet":{ + "shape":"InstanceIdSet", + "documentation":"

The IDs of the newly launched instances.

", + "locationName":"instanceIdSet" + } + }, + "documentation":"

Contains the output of RunScheduledInstances.

" + }, + "S3Storage":{ + "type":"structure", + "members":{ + "AWSAccessKeyId":{ + "shape":"String", + "documentation":"

The access key ID of the owner of the bucket. Before you specify a value for your access key ID, review and follow the guidance in Best Practices for Managing AWS Access Keys.

" + }, + "Bucket":{ + "shape":"String", + "documentation":"

The bucket in which to store the AMI. You can specify a bucket that you already own or a new bucket that Amazon EC2 creates on your behalf. If you specify a bucket that belongs to someone else, Amazon EC2 returns an error.

", + "locationName":"bucket" + }, + "Prefix":{ + "shape":"String", + "documentation":"

The beginning of the file name of the AMI.

", + "locationName":"prefix" + }, + "UploadPolicy":{ + "shape":"Blob", + "documentation":"

An Amazon S3 upload policy that gives Amazon EC2 permission to upload items into Amazon S3 on your behalf.

", + "locationName":"uploadPolicy" + }, + "UploadPolicySignature":{ + "shape":"String", + "documentation":"

The signature of the JSON document.

", + "locationName":"uploadPolicySignature" + } + }, + "documentation":"

Describes the storage parameters for S3 and S3 buckets for an instance store-backed AMI.

" + }, + "ScheduledInstance":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "CreateDate":{ + "shape":"DateTime", + "documentation":"

The date when the Scheduled Instance was purchased.

", + "locationName":"createDate" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price for a single instance.

", + "locationName":"hourlyPrice" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances.

", + "locationName":"instanceCount" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "NetworkPlatform":{ + "shape":"String", + "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", + "locationName":"networkPlatform" + }, + "NextSlotStartTime":{ + "shape":"DateTime", + "documentation":"

The time for the next schedule to start.

", + "locationName":"nextSlotStartTime" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform (Linux/UNIX or Windows).

", + "locationName":"platform" + }, + "PreviousSlotEndTime":{ + "shape":"DateTime", + "documentation":"

The time that the previous schedule ended or will end.

", + "locationName":"previousSlotEndTime" + }, + "Recurrence":{ + "shape":"ScheduledInstanceRecurrence", + "documentation":"

The schedule recurrence.

", + "locationName":"recurrence" + }, + "ScheduledInstanceId":{ + "shape":"String", + "documentation":"

The Scheduled Instance ID.

", + "locationName":"scheduledInstanceId" + }, + "SlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The number of hours in the schedule.

", + "locationName":"slotDurationInHours" + }, + "TermEndDate":{ + "shape":"DateTime", + "documentation":"

The end date for the Scheduled Instance.

", + "locationName":"termEndDate" + }, + "TermStartDate":{ + "shape":"DateTime", + "documentation":"

The start date for the Scheduled Instance.

", + "locationName":"termStartDate" + }, + "TotalScheduledInstanceHours":{ + "shape":"Integer", + "documentation":"

The total number of hours for a single instance for the entire term.

", + "locationName":"totalScheduledInstanceHours" + } + }, + "documentation":"

Describes a Scheduled Instance.

" + }, + "ScheduledInstanceAvailability":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "AvailableInstanceCount":{ + "shape":"Integer", + "documentation":"

The number of available instances.

", + "locationName":"availableInstanceCount" + }, + "FirstSlotStartTime":{ + "shape":"DateTime", + "documentation":"

The time period for the first schedule to start.

", + "locationName":"firstSlotStartTime" + }, + "HourlyPrice":{ + "shape":"String", + "documentation":"

The hourly price for a single instance.

", + "locationName":"hourlyPrice" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

", + "locationName":"instanceType" + }, + "MaxTermDurationInDays":{ + "shape":"Integer", + "documentation":"

The maximum term. The only possible value is 365 days.

", + "locationName":"maxTermDurationInDays" + }, + "MinTermDurationInDays":{ + "shape":"Integer", + "documentation":"

The minimum term. The only possible value is 365 days.

", + "locationName":"minTermDurationInDays" + }, + "NetworkPlatform":{ + "shape":"String", + "documentation":"

The network platform (EC2-Classic or EC2-VPC).

", + "locationName":"networkPlatform" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform (Linux/UNIX or Windows).

", + "locationName":"platform" + }, + "PurchaseToken":{ + "shape":"String", + "documentation":"

The purchase token. This token expires in two hours.

", + "locationName":"purchaseToken" + }, + "Recurrence":{ + "shape":"ScheduledInstanceRecurrence", + "documentation":"

The schedule recurrence.

", + "locationName":"recurrence" + }, + "SlotDurationInHours":{ + "shape":"Integer", + "documentation":"

The number of hours in the schedule.

", + "locationName":"slotDurationInHours" + }, + "TotalScheduledInstanceHours":{ + "shape":"Integer", + "documentation":"

The total number of hours for a single instance for the entire term.

", + "locationName":"totalScheduledInstanceHours" + } + }, + "documentation":"

Describes a schedule that is available for your Scheduled Instances.

" + }, + "ScheduledInstanceAvailabilitySet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstanceAvailability", + "locationName":"item" + } + }, + "ScheduledInstanceId":{"type":"string"}, + "ScheduledInstanceIdRequestSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstanceId", + "locationName":"ScheduledInstanceId" + } + }, + "ScheduledInstanceRecurrence":{ + "type":"structure", + "members":{ + "Frequency":{ + "shape":"String", + "documentation":"

The frequency (Daily, Weekly, or Monthly).

", + "locationName":"frequency" + }, + "Interval":{ + "shape":"Integer", + "documentation":"

The interval quantity. The interval unit depends on the value of frequency. For example, every 2 weeks or every 2 months.

", + "locationName":"interval" + }, + "OccurrenceDaySet":{ + "shape":"OccurrenceDaySet", + "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

", + "locationName":"occurrenceDaySet" + }, + "OccurrenceRelativeToEnd":{ + "shape":"Boolean", + "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month.

", + "locationName":"occurrenceRelativeToEnd" + }, + "OccurrenceUnit":{ + "shape":"String", + "documentation":"

The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

", + "locationName":"occurrenceUnit" + } + }, + "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" + }, + "ScheduledInstanceRecurrenceRequest":{ + "type":"structure", + "members":{ + "Frequency":{ + "shape":"String", + "documentation":"

The frequency (Daily, Weekly, or Monthly).

" + }, + "Interval":{ + "shape":"Integer", + "documentation":"

The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 weeks or every 2 months.

" + }, + "OccurrenceDays":{ + "shape":"OccurrenceDayRequestSet", + "documentation":"

The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

", + "locationName":"OccurrenceDay" + }, + "OccurrenceRelativeToEnd":{ + "shape":"Boolean", + "documentation":"

Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

" + }, + "OccurrenceUnit":{ + "shape":"String", + "documentation":"

The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required for a monthly schedule. You can't specify DayOfWeek with a weekly schedule. You can't specify this value with a daily schedule.

" + } + }, + "documentation":"

Describes the recurring schedule for a Scheduled Instance.

" + }, + "ScheduledInstanceSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstance", + "locationName":"item" + } + }, + "ScheduledInstancesBlockDeviceMapping":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"String", + "documentation":"

The device name (for example, /dev/sdh or xvdh).

" + }, + "Ebs":{ + "shape":"ScheduledInstancesEbs", + "documentation":"

Parameters used to set up EBS volumes automatically when the instance is launched.

" + }, + "NoDevice":{ + "shape":"String", + "documentation":"

Suppresses the specified device included in the block device mapping of the AMI.

" + }, + "VirtualName":{ + "shape":"String", + "documentation":"

The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. An instance type with two available instance store volumes can specify mappings for ephemeral0 and ephemeral1. The number of available instance store volumes depends on the instance type. After you connect to the instance, you must mount the volume.

Constraints: For M3 instances, you must specify instance store volumes in the block device mapping for the instance. When you launch an M3 instance, we ignore any instance store volumes specified in the block device mapping for the AMI.

" + } + }, + "documentation":"

Describes a block device mapping for a Scheduled Instance.

" + }, + "ScheduledInstancesBlockDeviceMappingSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstancesBlockDeviceMapping", + "locationName":"BlockDeviceMapping" + } + }, + "ScheduledInstancesEbs":{ + "type":"structure", + "members":{ + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is deleted on instance termination.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is encrypted. You can attached encrypted volumes only to instances that support them.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For io1 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about gp2 baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

" + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

The ID of the snapshot.

" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiB.

Default: If you're creating the volume from a snapshot and don't specify a volume size, the default is the snapshot size.

" + }, + "VolumeType":{ + "shape":"String", + "documentation":"

The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.

Default: gp2

" + } + }, + "documentation":"

Describes an EBS volume for a Scheduled Instance.

" + }, + "ScheduledInstancesIamInstanceProfile":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN).

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name.

" + } + }, + "documentation":"

Describes an IAM instance profile for a Scheduled Instance.

" + }, + "ScheduledInstancesIpv6Address":{ + "type":"structure", + "members":{ + "Ipv6Address":{ + "shape":"Ipv6Address", + "documentation":"

The IPv6 address.

" + } + }, + "documentation":"

Describes an IPv6 address.

" + }, + "ScheduledInstancesIpv6AddressList":{ + "type":"list", + "member":{ + "shape":"ScheduledInstancesIpv6Address", + "locationName":"Ipv6Address" + } + }, + "ScheduledInstancesLaunchSpecification":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "BlockDeviceMappings":{ + "shape":"ScheduledInstancesBlockDeviceMappingSet", + "documentation":"

The block device mapping entries.

", + "locationName":"BlockDeviceMapping" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

Default: false

" + }, + "IamInstanceProfile":{ + "shape":"ScheduledInstancesIamInstanceProfile", + "documentation":"

The IAM instance profile.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

The ID of the Amazon Machine Image (AMI).

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type.

" + }, + "KernelId":{ + "shape":"KernelId", + "documentation":"

The ID of the kernel.

" + }, + "KeyName":{ + "shape":"KeyPairName", + "documentation":"

The name of the key pair.

" + }, + "Monitoring":{ + "shape":"ScheduledInstancesMonitoring", + "documentation":"

Enable or disable monitoring for the instances.

" + }, + "NetworkInterfaces":{ + "shape":"ScheduledInstancesNetworkInterfaceSet", + "documentation":"

The network interfaces.

", + "locationName":"NetworkInterface" + }, + "Placement":{ + "shape":"ScheduledInstancesPlacement", + "documentation":"

The placement information.

" + }, + "RamdiskId":{ + "shape":"RamdiskId", + "documentation":"

The ID of the RAM disk.

" + }, + "SecurityGroupIds":{ + "shape":"ScheduledInstancesSecurityGroupIdSet", + "documentation":"

The IDs of the security groups.

", + "locationName":"SecurityGroupId" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet in which to launch the instances.

" + }, + "UserData":{ + "shape":"String", + "documentation":"

The base64-encoded MIME user data.

" + } + }, + "documentation":"

Describes the launch specification for a Scheduled Instance.

If you are launching the Scheduled Instance in EC2-VPC, you must specify the ID of the subnet. You can specify the subnet using either SubnetId or NetworkInterface.

" + }, + "ScheduledInstancesMonitoring":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether monitoring is enabled.

" + } + }, + "documentation":"

Describes whether monitoring is enabled for a Scheduled Instance.

" + }, + "ScheduledInstancesNetworkInterface":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Indicates whether to assign a public IPv4 address to instances launched in a VPC. The public IPv4 address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether to delete the interface when the instance is terminated.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description.

" + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

The index of the device for the network interface attachment.

" + }, + "Groups":{ + "shape":"ScheduledInstancesSecurityGroupIdSet", + "documentation":"

The IDs of the security groups.

", + "locationName":"Group" + }, + "Ipv6AddressCount":{ + "shape":"Integer", + "documentation":"

The number of IPv6 addresses to assign to the network interface. The IPv6 addresses are automatically selected from the subnet range.

" + }, + "Ipv6Addresses":{ + "shape":"ScheduledInstancesIpv6AddressList", + "documentation":"

The specific IPv6 addresses from the subnet range.

", + "locationName":"Ipv6Address" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address of the network interface within the subnet.

" + }, + "PrivateIpAddressConfigs":{ + "shape":"PrivateIpAddressConfigSet", + "documentation":"

The private IPv4 addresses.

", + "locationName":"PrivateIpAddressConfig" + }, + "SecondaryPrivateIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of secondary private IPv4 addresses.

" + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet.

" + } + }, + "documentation":"

Describes a network interface for a Scheduled Instance.

" + }, + "ScheduledInstancesNetworkInterfaceSet":{ + "type":"list", + "member":{ + "shape":"ScheduledInstancesNetworkInterface", + "locationName":"NetworkInterface" + } + }, + "ScheduledInstancesPlacement":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

" + }, + "GroupName":{ + "shape":"PlacementGroupName", + "documentation":"

The name of the placement group.

" + } + }, + "documentation":"

Describes the placement for a Scheduled Instance.

" + }, + "ScheduledInstancesPrivateIpAddressConfig":{ + "type":"structure", + "members":{ + "Primary":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary IPv4 address.

" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The IPv4 address.

" + } + }, + "documentation":"

Describes a private IPv4 address for a Scheduled Instance.

" + }, + "ScheduledInstancesSecurityGroupIdSet":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"SecurityGroupId" + } + }, + "SearchLocalGatewayRoutesRequest":{ + "type":"structure", + "required":[ + "LocalGatewayRouteTableId", + "Filters" + ], + "members":{ + "LocalGatewayRouteTableId":{ + "shape":"LocalGatewayRoutetableId", + "documentation":"

The ID of the local gateway route table.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "SearchLocalGatewayRoutesResult":{ + "type":"structure", + "members":{ + "Routes":{ + "shape":"LocalGatewayRouteList", + "documentation":"

Information about the routes.

", + "locationName":"routeSet" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "SearchTransitGatewayMulticastGroupsRequest":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"TransitGatewayMulticastDomainId", + "documentation":"

The ID of the transit gateway multicast domain.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • group-ip-address - The IP address of the transit gateway multicast group.

  • is-group-member - The resource is a group member. Valid values are true | false.

  • is-group-source - The resource is a group source. Valid values are true | false.

  • member-type - The member type. Valid values are igmp | static.

  • resource-id - The ID of the resource.

  • resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway | tgw-peering.

  • source-type - The source type. Valid values are igmp | static.

  • state - The state of the subnet association. Valid values are associated | associated | disassociated | disassociating.

  • subnet-id - The ID of the subnet.

  • transit-gateway-attachment-id - The id of the transit gateway attachment.

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "SearchTransitGatewayMulticastGroupsResult":{ + "type":"structure", + "members":{ + "MulticastGroups":{ + "shape":"TransitGatewayMulticastGroupList", + "documentation":"

Information about the transit gateway multicast group.

", + "locationName":"multicastGroups" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "locationName":"nextToken" + } + } + }, + "SearchTransitGatewayRoutesRequest":{ + "type":"structure", + "required":[ + "TransitGatewayRouteTableId", + "Filters" + ], + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. The possible values are:

  • attachment.transit-gateway-attachment-id- The id of the transit gateway attachment.

  • attachment.resource-id - The resource id of the transit gateway attachment.

  • attachment.resource-type - The attachment resource type (vpc | vpn).

  • route-search.exact-match - The exact match of the specified filter.

  • route-search.longest-prefix-match - The longest prefix that matches the route.

  • route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

  • route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

  • state - The state of the route (active | blackhole).

  • type - The type of route (propagated | static).

", + "locationName":"Filter" + }, + "MaxResults":{ + "shape":"TransitGatewayMaxResults", + "documentation":"

The maximum number of routes to return.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "SearchTransitGatewayRoutesResult":{ + "type":"structure", + "members":{ + "Routes":{ + "shape":"TransitGatewayRouteList", + "documentation":"

Information about the routes.

", + "locationName":"routeSet" + }, + "AdditionalRoutesAvailable":{ + "shape":"Boolean", + "documentation":"

Indicates whether there are additional routes available.

", + "locationName":"additionalRoutesAvailable" + } + } + }, + "SecurityGroup":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the security group.

", + "locationName":"groupDescription" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

", + "locationName":"groupName" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The inbound rules associated with the security group.

", + "locationName":"ipPermissions" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the security group.

", + "locationName":"ownerId" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "IpPermissionsEgress":{ + "shape":"IpPermissionList", + "documentation":"

[VPC only] The outbound rules associated with the security group.

", + "locationName":"ipPermissionsEgress" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the security group.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

[VPC only] The ID of the VPC for the security group.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes a security group

" + }, + "SecurityGroupId":{"type":"string"}, + "SecurityGroupIdStringList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"SecurityGroupId" + } + }, + "SecurityGroupIdentifier":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

", + "locationName":"groupName" + } + }, + "documentation":"

Describes a security group.

" + }, + "SecurityGroupList":{ + "type":"list", + "member":{ + "shape":"SecurityGroup", + "locationName":"item" + } + }, + "SecurityGroupName":{"type":"string"}, + "SecurityGroupReference":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "documentation":"

The ID of your security group.

", + "locationName":"groupId" + }, + "ReferencingVpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC with the referencing security group.

", + "locationName":"referencingVpcId" + }, + "VpcPeeringConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + }, + "documentation":"

Describes a VPC with a security group that references your security group.

" + }, + "SecurityGroupReferences":{ + "type":"list", + "member":{ + "shape":"SecurityGroupReference", + "locationName":"item" + } + }, + "SecurityGroupStringList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupName", + "locationName":"SecurityGroup" + } + }, + "SendDiagnosticInterruptRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The ID of the instance.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "SensitiveUserData":{ + "type":"string", + "sensitive":true + }, + "ServiceConfiguration":{ + "type":"structure", + "members":{ + "ServiceType":{ + "shape":"ServiceTypeDetailSet", + "documentation":"

The type of service.

", + "locationName":"serviceType" + }, + "ServiceId":{ + "shape":"String", + "documentation":"

The ID of the service.

", + "locationName":"serviceId" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The name of the service.

", + "locationName":"serviceName" + }, + "ServiceState":{ + "shape":"ServiceState", + "documentation":"

The service state.

", + "locationName":"serviceState" + }, + "AvailabilityZones":{ + "shape":"ValueStringList", + "documentation":"

The Availability Zones in which the service is available.

", + "locationName":"availabilityZoneSet" + }, + "AcceptanceRequired":{ + "shape":"Boolean", + "documentation":"

Indicates whether requests from other AWS accounts to create an endpoint to the service must first be accepted.

", + "locationName":"acceptanceRequired" + }, + "ManagesVpcEndpoints":{ + "shape":"Boolean", + "documentation":"

Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

", + "locationName":"managesVpcEndpoints" + }, + "NetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

", + "locationName":"networkLoadBalancerArnSet" + }, + "BaseEndpointDnsNames":{ + "shape":"ValueStringList", + "documentation":"

The DNS names for the service.

", + "locationName":"baseEndpointDnsNameSet" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name for the service.

", + "locationName":"privateDnsName" + }, + "PrivateDnsNameConfiguration":{ + "shape":"PrivateDnsNameConfiguration", + "documentation":"

Information about the endpoint service private DNS name configuration.

", + "locationName":"privateDnsNameConfiguration" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the service.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a service configuration for a VPC endpoint service.

" + }, + "ServiceConfigurationSet":{ + "type":"list", + "member":{ + "shape":"ServiceConfiguration", + "locationName":"item" + } + }, + "ServiceDetail":{ + "type":"structure", + "members":{ + "ServiceName":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the service.

", + "locationName":"serviceName" + }, + "ServiceId":{ + "shape":"String", + "documentation":"

The ID of the endpoint service.

", + "locationName":"serviceId" + }, + "ServiceType":{ + "shape":"ServiceTypeDetailSet", + "documentation":"

The type of service.

", + "locationName":"serviceType" + }, + "AvailabilityZones":{ + "shape":"ValueStringList", + "documentation":"

The Availability Zones in which the service is available.

", + "locationName":"availabilityZoneSet" + }, + "Owner":{ + "shape":"String", + "documentation":"

The AWS account ID of the service owner.

", + "locationName":"owner" + }, + "BaseEndpointDnsNames":{ + "shape":"ValueStringList", + "documentation":"

The DNS names for the service.

", + "locationName":"baseEndpointDnsNameSet" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name for the service.

", + "locationName":"privateDnsName" + }, + "VpcEndpointPolicySupported":{ + "shape":"Boolean", + "documentation":"

Indicates whether the service supports endpoint policies.

", + "locationName":"vpcEndpointPolicySupported" + }, + "AcceptanceRequired":{ + "shape":"Boolean", + "documentation":"

Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

", + "locationName":"acceptanceRequired" + }, + "ManagesVpcEndpoints":{ + "shape":"Boolean", + "documentation":"

Indicates whether the service manages its VPC endpoints. Management of the service VPC endpoints using the VPC endpoint API is restricted.

", + "locationName":"managesVpcEndpoints" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the service.

", + "locationName":"tagSet" + }, + "PrivateDnsNameVerificationState":{ + "shape":"DnsNameState", + "documentation":"

The verification state of the VPC endpoint service.

Consumers of the endpoint service cannot use the private name when the state is not verified.

", + "locationName":"privateDnsNameVerificationState" + } + }, + "documentation":"

Describes a VPC endpoint service.

" + }, + "ServiceDetailSet":{ + "type":"list", + "member":{ + "shape":"ServiceDetail", + "locationName":"item" + } + }, + "ServiceState":{ + "type":"string", + "enum":[ + "Pending", + "Available", + "Deleting", + "Deleted", + "Failed" + ] + }, + "ServiceType":{ + "type":"string", + "enum":[ + "Interface", + "Gateway" + ] + }, + "ServiceTypeDetail":{ + "type":"structure", + "members":{ + "ServiceType":{ + "shape":"ServiceType", + "documentation":"

The type of service.

", + "locationName":"serviceType" + } + }, + "documentation":"

Describes the type of service for a VPC endpoint.

" + }, + "ServiceTypeDetailSet":{ + "type":"list", + "member":{ + "shape":"ServiceTypeDetail", + "locationName":"item" + } + }, + "ShutdownBehavior":{ + "type":"string", + "enum":[ + "stop", + "terminate" + ] + }, + "SlotDateTimeRangeRequest":{ + "type":"structure", + "required":[ + "EarliestTime", + "LatestTime" + ], + "members":{ + "EarliestTime":{ + "shape":"DateTime", + "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" + }, + "LatestTime":{ + "shape":"DateTime", + "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

" + } + }, + "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

" + }, + "SlotStartTimeRangeRequest":{ + "type":"structure", + "members":{ + "EarliestTime":{ + "shape":"DateTime", + "documentation":"

The earliest date and time, in UTC, for the Scheduled Instance to start.

" + }, + "LatestTime":{ + "shape":"DateTime", + "documentation":"

The latest date and time, in UTC, for the Scheduled Instance to start.

" + } + }, + "documentation":"

Describes the time period for a Scheduled Instance to start its first schedule.

" + }, + "Snapshot":{ + "type":"structure", + "members":{ + "DataEncryptionKeyId":{ + "shape":"String", + "documentation":"

The data encryption key identifier for the snapshot. This value is a unique identifier that corresponds to the data encryption key that was used to encrypt the original volume or snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, and vice versa, if snapshots share the same data encryption key identifier, then they belong to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

", + "locationName":"dataEncryptionKeyId" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the snapshot.

", + "locationName":"description" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the snapshot is encrypted.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the parent volume.

", + "locationName":"kmsKeyId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the EBS snapshot owner.

", + "locationName":"ownerId" + }, + "Progress":{ + "shape":"String", + "documentation":"

The progress of the snapshot, as a percentage.

", + "locationName":"progress" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The ID of the snapshot. Each snapshot receives a unique identifier when it is created.

", + "locationName":"snapshotId" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the snapshot was initiated.

", + "locationName":"startTime" + }, + "State":{ + "shape":"SnapshotState", + "documentation":"

The snapshot state.

", + "locationName":"status" + }, + "StateMessage":{ + "shape":"String", + "documentation":"

Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails (for example, if the proper AWS Key Management Service (AWS KMS) permissions are not obtained) this field displays error state details to help you diagnose why the error occurred. This parameter is only returned by DescribeSnapshots.

", + "locationName":"statusMessage" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any purpose.

", + "locationName":"volumeId" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiB.

", + "locationName":"volumeSize" + }, + "OwnerAlias":{ + "shape":"String", + "documentation":"

Value from an Amazon-maintained list (amazon | self | all | aws-marketplace | microsoft) of snapshot owners. Not to be confused with the user-configured AWS account alias, which is set from the IAM console.

", + "locationName":"ownerAlias" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the snapshot.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a snapshot.

" + }, + "SnapshotAttributeName":{ + "type":"string", + "enum":[ + "productCodes", + "createVolumePermission" + ] + }, + "SnapshotDetail":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the snapshot.

", + "locationName":"description" + }, + "DeviceName":{ + "shape":"String", + "documentation":"

The block device mapping for the snapshot.

", + "locationName":"deviceName" + }, + "DiskImageSize":{ + "shape":"Double", + "documentation":"

The size of the disk in the snapshot, in GiB.

", + "locationName":"diskImageSize" + }, + "Format":{ + "shape":"String", + "documentation":"

The format of the disk image from which the snapshot is created.

", + "locationName":"format" + }, + "Progress":{ + "shape":"String", + "documentation":"

The percentage of progress for the task.

", + "locationName":"progress" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The snapshot ID of the disk being imported.

", + "locationName":"snapshotId" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status of the snapshot creation.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A detailed status message for the snapshot creation.

", + "locationName":"statusMessage" + }, + "Url":{ + "shape":"String", + "documentation":"

The URL used to access the disk image.

", + "locationName":"url" + }, + "UserBucket":{ + "shape":"UserBucketDetails", + "documentation":"

The S3 bucket for the disk image.

", + "locationName":"userBucket" + } + }, + "documentation":"

Describes the snapshot created from the imported disk.

" + }, + "SnapshotDetailList":{ + "type":"list", + "member":{ + "shape":"SnapshotDetail", + "locationName":"item" + } + }, + "SnapshotDiskContainer":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the disk image being imported.

" + }, + "Format":{ + "shape":"String", + "documentation":"

The format of the disk image being imported.

Valid values: VHD | VMDK

" + }, + "Url":{ + "shape":"String", + "documentation":"

The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon S3 URL (s3://..).

" + }, + "UserBucket":{ + "shape":"UserBucket", + "documentation":"

The S3 bucket for the disk image.

" + } + }, + "documentation":"

The disk container object for the import snapshot request.

" + }, + "SnapshotId":{"type":"string"}, + "SnapshotIdStringList":{ + "type":"list", + "member":{ + "shape":"SnapshotId", + "locationName":"SnapshotId" + } + }, + "SnapshotInfo":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

Description specified by the CreateSnapshotRequest that has been applied to all snapshots.

", + "locationName":"description" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags associated with this snapshot.

", + "locationName":"tagSet" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the snapshot is encrypted.

", + "locationName":"encrypted" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

Source volume from which this snapshot was created.

", + "locationName":"volumeId" + }, + "State":{ + "shape":"SnapshotState", + "documentation":"

Current state of the snapshot.

", + "locationName":"state" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

Size of the volume from which this snapshot was created.

", + "locationName":"volumeSize" + }, + "StartTime":{ + "shape":"MillisecondDateTime", + "documentation":"

Time this snapshot was started. This is the same for all snapshots initiated by the same request.

", + "locationName":"startTime" + }, + "Progress":{ + "shape":"String", + "documentation":"

Progress this snapshot has made towards completing.

", + "locationName":"progress" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

Account id used when creating this snapshot.

", + "locationName":"ownerId" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

Snapshot id that can be used to describe this snapshot.

", + "locationName":"snapshotId" + } + }, + "documentation":"

Information about a snapshot.

" + }, + "SnapshotList":{ + "type":"list", + "member":{ + "shape":"Snapshot", + "locationName":"item" + } + }, + "SnapshotSet":{ + "type":"list", + "member":{ + "shape":"SnapshotInfo", + "locationName":"item" + } + }, + "SnapshotState":{ + "type":"string", + "enum":[ + "pending", + "completed", + "error" + ] + }, + "SnapshotTaskDetail":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the snapshot.

", + "locationName":"description" + }, + "DiskImageSize":{ + "shape":"Double", + "documentation":"

The size of the disk in the snapshot, in GiB.

", + "locationName":"diskImageSize" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the snapshot is encrypted.

", + "locationName":"encrypted" + }, + "Format":{ + "shape":"String", + "documentation":"

The format of the disk image from which the snapshot is created.

", + "locationName":"format" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted snapshot.

", + "locationName":"kmsKeyId" + }, + "Progress":{ + "shape":"String", + "documentation":"

The percentage of completion for the import snapshot task.

", + "locationName":"progress" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The snapshot ID of the disk being imported.

", + "locationName":"snapshotId" + }, + "Status":{ + "shape":"String", + "documentation":"

A brief status for the import snapshot task.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A detailed status message for the import snapshot task.

", + "locationName":"statusMessage" + }, + "Url":{ + "shape":"String", + "documentation":"

The URL of the disk image from which the snapshot is created.

", + "locationName":"url" + }, + "UserBucket":{ + "shape":"UserBucketDetails", + "documentation":"

The S3 bucket for the disk image.

", + "locationName":"userBucket" + } + }, + "documentation":"

Details about the import snapshot task.

" + }, + "SpotAllocationStrategy":{ + "type":"string", + "enum":[ + "lowest-price", + "diversified", + "capacity-optimized" + ] + }, + "SpotDatafeedSubscription":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"String", + "documentation":"

The Amazon S3 bucket where the Spot Instance data feed is located.

", + "locationName":"bucket" + }, + "Fault":{ + "shape":"SpotInstanceStateFault", + "documentation":"

The fault codes for the Spot Instance request, if any.

", + "locationName":"fault" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the account.

", + "locationName":"ownerId" + }, + "Prefix":{ + "shape":"String", + "documentation":"

The prefix that is prepended to data feed files.

", + "locationName":"prefix" + }, + "State":{ + "shape":"DatafeedSubscriptionState", + "documentation":"

The state of the Spot Instance data feed subscription.

", + "locationName":"state" + } + }, + "documentation":"

Describes the data feed for a Spot Instance.

" + }, + "SpotFleetLaunchSpecification":{ + "type":"structure", + "members":{ + "SecurityGroups":{ + "shape":"GroupIdentifierList", + "documentation":"

One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

", + "locationName":"groupSet" + }, + "AddressingType":{ + "shape":"String", + "documentation":"

Deprecated.

", + "locationName":"addressingType" + }, + "BlockDeviceMappings":{ + "shape":"BlockDeviceMappingList", + "documentation":"

One or more block devices that are mapped to the Spot Instances. You can't specify both a snapshot ID and an encryption value. This is because only blank volumes can be encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its encryption status is used for the volume encryption status.

", + "locationName":"blockDeviceMapping" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

Default: false

", + "locationName":"ebsOptimized" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfileSpecification", + "documentation":"

The IAM instance profile.

", + "locationName":"iamInstanceProfile" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The ID of the AMI.

", + "locationName":"imageId" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "KernelId":{ + "shape":"String", + "documentation":"

The ID of the kernel.

", + "locationName":"kernelId" + }, + "KeyName":{ + "shape":"String", + "documentation":"

The name of the key pair.

", + "locationName":"keyName" + }, + "Monitoring":{ + "shape":"SpotFleetMonitoring", + "documentation":"

Enable or disable monitoring for the instances.

", + "locationName":"monitoring" + }, + "NetworkInterfaces":{ + "shape":"InstanceNetworkInterfaceSpecificationList", + "documentation":"

One or more network interfaces. If you specify a network interface, you must specify subnet IDs and security group IDs using the network interface.

", + "locationName":"networkInterfaceSet" + }, + "Placement":{ + "shape":"SpotPlacement", + "documentation":"

The placement information.

", + "locationName":"placement" + }, + "RamdiskId":{ + "shape":"String", + "documentation":"

The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, refer to the AWS Resource Center and search for the kernel ID.

", + "locationName":"ramdiskId" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. If this value is not specified, the default is the Spot price specified for the fleet. To determine the Spot price per unit hour, divide the Spot price by the value of WeightedCapacity.

", + "locationName":"spotPrice" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate them using commas; for example, \"subnet-1234abcdeexample1, subnet-0987cdef6example2\".

", + "locationName":"subnetId" + }, + "UserData":{ + "shape":"String", + "documentation":"

The Base64-encoded user data that instances use when starting up.

", + "locationName":"userData" + }, + "WeightedCapacity":{ + "shape":"Double", + "documentation":"

The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

", + "locationName":"weightedCapacity" + }, + "TagSpecifications":{ + "shape":"SpotFleetTagSpecificationList", + "documentation":"

The tags to apply during creation.

", + "locationName":"tagSpecificationSet" + } + }, + "documentation":"

Describes the launch specification for one or more Spot Instances. If you include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

" + }, + "SpotFleetMonitoring":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Enables monitoring for the instance.

Default: false

", + "locationName":"enabled" + } + }, + "documentation":"

Describes whether monitoring is enabled.

" + }, + "SpotFleetRequestConfig":{ + "type":"structure", + "members":{ + "ActivityStatus":{ + "shape":"ActivityStatus", + "documentation":"

The progress of the Spot Fleet request. If there is an error, the status is error. After all requests are placed, the status is pending_fulfillment. If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. If the size of the fleet is decreased, the status is pending_termination while Spot Instances are terminating.

", + "locationName":"activityStatus" + }, + "CreateTime":{ + "shape":"MillisecondDateTime", + "documentation":"

The creation date and time of the request.

", + "locationName":"createTime" + }, + "SpotFleetRequestConfig":{ + "shape":"SpotFleetRequestConfigData", + "documentation":"

The configuration of the Spot Fleet request.

", + "locationName":"spotFleetRequestConfig" + }, + "SpotFleetRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Fleet request.

", + "locationName":"spotFleetRequestId" + }, + "SpotFleetRequestState":{ + "shape":"BatchState", + "documentation":"

The state of the Spot Fleet request.

", + "locationName":"spotFleetRequestState" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for a Spot Fleet resource.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Spot Fleet request.

" + }, + "SpotFleetRequestConfigData":{ + "type":"structure", + "required":[ + "IamFleetRole", + "TargetCapacity" + ], + "members":{ + "AllocationStrategy":{ + "shape":"AllocationStrategy", + "documentation":"

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet request.

If the allocation strategy is lowestPrice, Spot Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, Spot Fleet launches instances from all the Spot Instance pools that you specify.

If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

", + "locationName":"allocationStrategy" + }, + "OnDemandAllocationStrategy":{ + "shape":"OnDemandAllocationStrategy", + "documentation":"

The order of the launch template overrides to use in fulfilling On-Demand capacity. If you specify lowestPrice, Spot Fleet uses price to determine the order, launching the lowest price first. If you specify prioritized, Spot Fleet uses the priority that you assign to each Spot Fleet launch template override, launching the highest priority first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

", + "locationName":"onDemandAllocationStrategy" + }, + "ClientToken":{ + "shape":"String", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of your listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

", + "locationName":"clientToken" + }, + "ExcessCapacityTerminationPolicy":{ + "shape":"ExcessCapacityTerminationPolicy", + "documentation":"

Indicates whether running Spot Instances should be terminated if you decrease the target capacity of the Spot Fleet request below the current size of the Spot Fleet.

", + "locationName":"excessCapacityTerminationPolicy" + }, + "FulfilledCapacity":{ + "shape":"Double", + "documentation":"

The number of units fulfilled by this request compared to the set target capacity. You cannot set this value.

", + "locationName":"fulfilledCapacity" + }, + "OnDemandFulfilledCapacity":{ + "shape":"Double", + "documentation":"

The number of On-Demand units fulfilled by this request compared to the set target On-Demand capacity.

", + "locationName":"onDemandFulfilledCapacity" + }, + "IamFleetRole":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that grants the Spot Fleet the permission to request, launch, terminate, and tag instances on your behalf. For more information, see Spot Fleet Prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using CancelSpotFleetRequests or when the Spot Fleet request expires, if you set TerminateInstancesWithExpiration.

", + "locationName":"iamFleetRole" + }, + "LaunchSpecifications":{ + "shape":"LaunchSpecsList", + "documentation":"

The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications, you can't specify LaunchTemplateConfigs. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

", + "locationName":"launchSpecifications" + }, + "LaunchTemplateConfigs":{ + "shape":"LaunchTemplateConfigList", + "documentation":"

The launch template and overrides. If you specify LaunchTemplateConfigs, you can't specify LaunchSpecifications. If you include On-Demand capacity in your request, you must use LaunchTemplateConfigs.

", + "locationName":"launchTemplateConfigs" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per unit hour that you are willing to pay for a Spot Instance. The default is the On-Demand price.

", + "locationName":"spotPrice" + }, + "TargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of units to request for the Spot Fleet. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", + "locationName":"targetCapacity" + }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of On-Demand units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

", + "locationName":"onDemandTargetCapacity" + }, + "OnDemandMaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for On-Demand Instances that you're willing to pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

", + "locationName":"onDemandMaxTotalPrice" + }, + "SpotMaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for Spot Instances that you're willing to pay. You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity.

", + "locationName":"spotMaxTotalPrice" + }, + "TerminateInstancesWithExpiration":{ + "shape":"Boolean", + "documentation":"

Indicates whether running Spot Instances are terminated when the Spot Fleet request expires.

", + "locationName":"terminateInstancesWithExpiration" + }, + "Type":{ + "shape":"FleetType", + "documentation":"

The type of request. Indicates whether the Spot Fleet only requests the target capacity or also attempts to maintain it. When this value is request, the Spot Fleet only places the required requests. It does not attempt to replenish Spot Instances if capacity is diminished, nor does it submit requests in alternative Spot pools if capacity is not available. When this value is maintain, the Spot Fleet maintains the target capacity. The Spot Fleet places the required requests to meet capacity and automatically replenishes any interrupted instances. Default: maintain. instant is listed but is not used by Spot Fleet.

", + "locationName":"type" + }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). By default, Amazon EC2 starts fulfilling the request immediately.

", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ). After the end date and time, no new Spot Instance requests are placed or able to fulfill the request. If no value is specified, the Spot Fleet request remains until you cancel it.

", + "locationName":"validUntil" + }, + "ReplaceUnhealthyInstances":{ + "shape":"Boolean", + "documentation":"

Indicates whether Spot Fleet should replace unhealthy instances.

", + "locationName":"replaceUnhealthyInstances" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

", + "locationName":"instanceInterruptionBehavior" + }, + "LoadBalancersConfig":{ + "shape":"LoadBalancersConfig", + "documentation":"

One or more Classic Load Balancers and target groups to attach to the Spot Fleet request. Spot Fleet registers the running Spot Instances with the specified Classic Load Balancers and target groups.

With Network Load Balancers, Spot Fleet cannot register instances that have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1.

", + "locationName":"loadBalancersConfig" + }, + "InstancePoolsToUseCount":{ + "shape":"Integer", + "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

", + "locationName":"instancePoolsToUseCount" + }, + "TagSpecifications":{ + "shape":"TagSpecificationList", + "documentation":"

The key-value pair for tagging the Spot Fleet request on creation. The value for ResourceType must be spot-fleet-request, otherwise the Spot Fleet request fails. To tag instances at launch, specify the tags in the launch template (valid only if you use LaunchTemplateConfigs) or in the SpotFleetTagSpecification (valid only if you use LaunchSpecifications). For information about tagging after launch, see Tagging Your Resources.

", + "locationName":"TagSpecification" + } + }, + "documentation":"

Describes the configuration of a Spot Fleet request.

" + }, + "SpotFleetRequestConfigSet":{ + "type":"list", + "member":{ + "shape":"SpotFleetRequestConfig", + "locationName":"item" + } + }, + "SpotFleetRequestId":{"type":"string"}, + "SpotFleetRequestIdList":{ + "type":"list", + "member":{ + "shape":"SpotFleetRequestId", + "locationName":"item" + } + }, + "SpotFleetTagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource. Currently, the only resource type that is supported is instance. To tag the Spot Fleet request on creation, use the TagSpecifications parameter in SpotFleetRequestConfigData .

", + "locationName":"resourceType" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags.

", + "locationName":"tag" + } + }, + "documentation":"

The tags for a Spot Fleet resource.

" + }, + "SpotFleetTagSpecificationList":{ + "type":"list", + "member":{ + "shape":"SpotFleetTagSpecification", + "locationName":"item" + } + }, + "SpotInstanceInterruptionBehavior":{ + "type":"string", + "enum":[ + "hibernate", + "stop", + "terminate" + ] + }, + "SpotInstanceRequest":{ + "type":"structure", + "members":{ + "ActualBlockHourlyPrice":{ + "shape":"String", + "documentation":"

If you specified a duration and your Spot Instance request was fulfilled, this is the fixed hourly price in effect for the Spot Instance while it runs.

", + "locationName":"actualBlockHourlyPrice" + }, + "AvailabilityZoneGroup":{ + "shape":"String", + "documentation":"

The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

", + "locationName":"availabilityZoneGroup" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The duration for the Spot Instance, in minutes.

", + "locationName":"blockDurationMinutes" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"createTime" + }, + "Fault":{ + "shape":"SpotInstanceStateFault", + "documentation":"

The fault codes for the Spot Instance request, if any.

", + "locationName":"fault" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The instance ID, if an instance has been launched to fulfill the Spot Instance request.

", + "locationName":"instanceId" + }, + "LaunchGroup":{ + "shape":"String", + "documentation":"

The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

", + "locationName":"launchGroup" + }, + "LaunchSpecification":{ + "shape":"LaunchSpecification", + "documentation":"

Additional information for launching instances.

", + "locationName":"launchSpecification" + }, + "LaunchedAvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone in which the request is launched.

", + "locationName":"launchedAvailabilityZone" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

The product description associated with the Spot Instance.

", + "locationName":"productDescription" + }, + "SpotInstanceRequestId":{ + "shape":"String", + "documentation":"

The ID of the Spot Instance request.

", + "locationName":"spotInstanceRequestId" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance.

", + "locationName":"spotPrice" + }, + "State":{ + "shape":"SpotInstanceState", + "documentation":"

The state of the Spot Instance request. Spot status information helps track your Spot Instance requests. For more information, see Spot Status in the Amazon EC2 User Guide for Linux Instances.

", + "locationName":"state" + }, + "Status":{ + "shape":"SpotInstanceStatus", + "documentation":"

The status code and status message describing the Spot Instance request.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" + }, + "Type":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot Instance request type.

", + "locationName":"type" + }, + "ValidFrom":{ + "shape":"DateTime", + "documentation":"

The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The request becomes active at this date and time.

", + "locationName":"validFrom" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). If this is a one-time request, it remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date is reached. The default end date is 7 days from the current date.

", + "locationName":"validUntil" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted.

", + "locationName":"instanceInterruptionBehavior" + } + }, + "documentation":"

Describes a Spot Instance request.

" + }, + "SpotInstanceRequestId":{"type":"string"}, + "SpotInstanceRequestIdList":{ + "type":"list", + "member":{ + "shape":"SpotInstanceRequestId", + "locationName":"SpotInstanceRequestId" + } + }, + "SpotInstanceRequestList":{ + "type":"list", + "member":{ + "shape":"SpotInstanceRequest", + "locationName":"item" + } + }, + "SpotInstanceState":{ + "type":"string", + "enum":[ + "open", + "active", + "closed", + "cancelled", + "failed" + ] + }, + "SpotInstanceStateFault":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The reason code for the Spot Instance state change.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The message for the Spot Instance state change.

", + "locationName":"message" + } + }, + "documentation":"

Describes a Spot Instance state change.

" + }, + "SpotInstanceStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The status code. For a list of status codes, see Spot Status Codes in the Amazon EC2 User Guide for Linux Instances.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The description for the status code.

", + "locationName":"message" + }, + "UpdateTime":{ + "shape":"DateTime", + "documentation":"

The date and time of the most recent status update, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"updateTime" + } + }, + "documentation":"

Describes the status of a Spot Instance request.

" + }, + "SpotInstanceType":{ + "type":"string", + "enum":[ + "one-time", + "persistent" + ] + }, + "SpotMarketOptions":{ + "type":"structure", + "members":{ + "MaxPrice":{ + "shape":"String", + "documentation":"

The maximum hourly price you're willing to pay for the Spot Instances. The default is the On-Demand price.

" + }, + "SpotInstanceType":{ + "shape":"SpotInstanceType", + "documentation":"

The Spot Instance request type. For RunInstances, persistent Spot Instance requests are only supported when InstanceInterruptionBehavior is set to either hibernate or stop.

" + }, + "BlockDurationMinutes":{ + "shape":"Integer", + "documentation":"

The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

" + }, + "ValidUntil":{ + "shape":"DateTime", + "documentation":"

The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached. The default end date is 7 days from the current date.

" + }, + "InstanceInterruptionBehavior":{ + "shape":"InstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" + } + }, + "documentation":"

The options for Spot Instances.

" + }, + "SpotOptions":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"SpotAllocationStrategy", + "documentation":"

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

", + "locationName":"allocationStrategy" + }, + "InstanceInterruptionBehavior":{ + "shape":"SpotInstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

", + "locationName":"instanceInterruptionBehavior" + }, + "InstancePoolsToUseCount":{ + "shape":"Integer", + "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

", + "locationName":"instancePoolsToUseCount" + }, + "SingleInstanceType":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type instant.

", + "locationName":"singleInstanceType" + }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type instant.

", + "locationName":"singleAvailabilityZone" + }, + "MinTargetCapacity":{ + "shape":"Integer", + "documentation":"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

", + "locationName":"minTargetCapacity" + }, + "MaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for Spot Instances that you're willing to pay.

", + "locationName":"maxTotalPrice" + } + }, + "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet.

" + }, + "SpotOptionsRequest":{ + "type":"structure", + "members":{ + "AllocationStrategy":{ + "shape":"SpotAllocationStrategy", + "documentation":"

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

" + }, + "InstanceInterruptionBehavior":{ + "shape":"SpotInstanceInterruptionBehavior", + "documentation":"

The behavior when a Spot Instance is interrupted. The default is terminate.

" + }, + "InstancePoolsToUseCount":{ + "shape":"Integer", + "documentation":"

The number of Spot pools across which to allocate your target Spot capacity. Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates your target Spot capacity across the number of Spot pools that you specify.

" + }, + "SingleInstanceType":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. Supported only for fleets of type instant.

" + }, + "SingleAvailabilityZone":{ + "shape":"Boolean", + "documentation":"

Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported only for fleets of type instant.

" + }, + "MinTargetCapacity":{ + "shape":"Integer", + "documentation":"

The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is not reached, the fleet launches no instances.

" + }, + "MaxTotalPrice":{ + "shape":"String", + "documentation":"

The maximum amount per hour for Spot Instances that you're willing to pay.

" + } + }, + "documentation":"

Describes the configuration of Spot Instances in an EC2 Fleet request.

" + }, + "SpotPlacement":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

[Spot Fleet only] To specify multiple Availability Zones, separate them using commas; for example, \"us-west-2a, us-west-2b\".

", + "locationName":"availabilityZone" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the placement group.

", + "locationName":"groupName" + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for Spot Instances.

", + "locationName":"tenancy" + } + }, + "documentation":"

Describes Spot Instance placement.

" + }, + "SpotPrice":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone.

", + "locationName":"availabilityZone" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The instance type.

", + "locationName":"instanceType" + }, + "ProductDescription":{ + "shape":"RIProductDescription", + "documentation":"

A general description of the AMI.

", + "locationName":"productDescription" + }, + "SpotPrice":{ + "shape":"String", + "documentation":"

The maximum price per hour that you are willing to pay for a Spot Instance.

", + "locationName":"spotPrice" + }, + "Timestamp":{ + "shape":"DateTime", + "documentation":"

The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

", + "locationName":"timestamp" + } + }, + "documentation":"

Describes the maximum price per hour that you are willing to pay for a Spot Instance.

" + }, + "SpotPriceHistoryList":{ + "type":"list", + "member":{ + "shape":"SpotPrice", + "locationName":"item" + } + }, + "StaleIpPermission":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", + "locationName":"fromPort" + }, + "IpProtocol":{ + "shape":"String", + "documentation":"

The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

", + "locationName":"ipProtocol" + }, + "IpRanges":{ + "shape":"IpRanges", + "documentation":"

The IP ranges. Not applicable for stale security group rules.

", + "locationName":"ipRanges" + }, + "PrefixListIds":{ + "shape":"PrefixListIdSet", + "documentation":"

The prefix list IDs for an AWS service. Not applicable for stale security group rules.

", + "locationName":"prefixListIds" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", + "locationName":"toPort" + }, + "UserIdGroupPairs":{ + "shape":"UserIdGroupPairSet", + "documentation":"

The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

", + "locationName":"groups" + } + }, + "documentation":"

Describes a stale rule in a security group.

" + }, + "StaleIpPermissionSet":{ + "type":"list", + "member":{ + "shape":"StaleIpPermission", + "locationName":"item" + } + }, + "StaleSecurityGroup":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

The description of the security group.

", + "locationName":"description" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group.

", + "locationName":"groupName" + }, + "StaleIpPermissions":{ + "shape":"StaleIpPermissionSet", + "documentation":"

Information about the stale inbound rules in the security group.

", + "locationName":"staleIpPermissions" + }, + "StaleIpPermissionsEgress":{ + "shape":"StaleIpPermissionSet", + "documentation":"

Information about the stale outbound rules in the security group.

", + "locationName":"staleIpPermissionsEgress" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC for the security group.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes a stale security group (a security group that contains stale rules).

" + }, + "StaleSecurityGroupSet":{ + "type":"list", + "member":{ + "shape":"StaleSecurityGroup", + "locationName":"item" + } + }, + "StartInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The IDs of the instances.

", + "locationName":"InstanceId" + }, + "AdditionalInfo":{ + "shape":"String", + "documentation":"

Reserved.

", + "locationName":"additionalInfo" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "StartInstancesResult":{ + "type":"structure", + "members":{ + "StartingInstances":{ + "shape":"InstanceStateChangeList", + "documentation":"

Information about the started instances.

", + "locationName":"instancesSet" + } + } + }, + "StartVpcEndpointServicePrivateDnsVerificationRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "ServiceId":{ + "shape":"VpcEndpointServiceId", + "documentation":"

The ID of the endpoint service.

" + } + } + }, + "StartVpcEndpointServicePrivateDnsVerificationResult":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, it returns an error.

", + "locationName":"return" + } + } + }, + "State":{ + "type":"string", + "enum":[ + "PendingAcceptance", + "Pending", + "Available", + "Deleting", + "Deleted", + "Rejected", + "Failed", + "Expired" + ] + }, + "StateReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The reason code for the state change.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The message for the state change.

  • Server.InsufficientInstanceCapacity: There was insufficient capacity available to satisfy the launch request.

  • Server.InternalError: An internal error caused the instance to terminate during launch.

  • Server.ScheduledStop: The instance was stopped due to a scheduled retirement.

  • Server.SpotInstanceShutdown: The instance was stopped because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Server.SpotInstanceTermination: The instance was terminated because the number of Spot requests with a maximum price equal to or higher than the Spot price exceeded available capacity or because of an increase in the Spot price.

  • Client.InstanceInitiatedShutdown: The instance was shut down using the shutdown -h command from the instance.

  • Client.InstanceTerminated: The instance was terminated or rebooted during AMI creation.

  • Client.InternalError: A client error caused the instance to terminate during launch.

  • Client.InvalidSnapshot.NotFound: The specified snapshot was not found.

  • Client.UserInitiatedHibernate: Hibernation was initiated on the instance.

  • Client.UserInitiatedShutdown: The instance was shut down using the Amazon EC2 API.

  • Client.VolumeLimitExceeded: The limit on the number of EBS volumes or total storage was exceeded. Decrease usage or request an increase in your account limits.

", + "locationName":"message" + } + }, + "documentation":"

Describes a state change.

" + }, + "Status":{ + "type":"string", + "enum":[ + "MoveInProgress", + "InVpc", + "InClassic" + ] + }, + "StatusName":{ + "type":"string", + "enum":["reachability"] + }, + "StatusType":{ + "type":"string", + "enum":[ + "passed", + "failed", + "insufficient-data", + "initializing" + ] + }, + "StopInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The IDs of the instances.

", + "locationName":"InstanceId" + }, + "Hibernate":{ + "shape":"Boolean", + "documentation":"

Hibernates the instance if the instance was enabled for hibernation at launch. If the instance cannot hibernate successfully, a normal shutdown occurs. For more information, see Hibernate Your Instance in the Amazon Elastic Compute Cloud User Guide.

Default: false

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Forces the instances to stop. The instances do not have an opportunity to flush file system caches or file system metadata. If you use this option, you must perform file system check and repair procedures. This option is not recommended for Windows instances.

Default: false

", + "locationName":"force" + } + } + }, + "StopInstancesResult":{ + "type":"structure", + "members":{ + "StoppingInstances":{ + "shape":"InstanceStateChangeList", + "documentation":"

Information about the stopped instances.

", + "locationName":"instancesSet" + } + } + }, + "Storage":{ + "type":"structure", + "members":{ + "S3":{ + "shape":"S3Storage", + "documentation":"

An Amazon S3 storage location.

" + } + }, + "documentation":"

Describes the storage location for an instance store-backed AMI.

" + }, + "StorageLocation":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"String", + "documentation":"

The name of the S3 bucket.

" + }, + "Key":{ + "shape":"String", + "documentation":"

The key.

" + } + }, + "documentation":"

Describes a storage location in Amazon S3.

" + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the subnet.

", + "locationName":"availabilityZone" + }, + "AvailabilityZoneId":{ + "shape":"String", + "documentation":"

The AZ ID of the subnet.

", + "locationName":"availabilityZoneId" + }, + "AvailableIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any stopped instances are considered unavailable.

", + "locationName":"availableIpAddressCount" + }, + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR block assigned to the subnet.

", + "locationName":"cidrBlock" + }, + "DefaultForAz":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the default subnet for the Availability Zone.

", + "locationName":"defaultForAz" + }, + "MapPublicIpOnLaunch":{ + "shape":"Boolean", + "documentation":"

Indicates whether instances launched in this subnet receive a public IPv4 address.

", + "locationName":"mapPublicIpOnLaunch" + }, + "MapCustomerOwnedIpOnLaunch":{ + "shape":"Boolean", + "documentation":"

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives a customer-owned IPv4 address.

", + "locationName":"mapCustomerOwnedIpOnLaunch" + }, + "CustomerOwnedIpv4Pool":{ + "shape":"CoipPoolId", + "documentation":"

The customer-owned IPv4 address pool associated with the subnet.

", + "locationName":"customerOwnedIpv4Pool" + }, + "State":{ + "shape":"SubnetState", + "documentation":"

The current state of the subnet.

", + "locationName":"state" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC the subnet is in.

", + "locationName":"vpcId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the subnet.

", + "locationName":"ownerId" + }, + "AssignIpv6AddressOnCreation":{ + "shape":"Boolean", + "documentation":"

Indicates whether a network interface created in this subnet (including a network interface created by RunInstances) receives an IPv6 address.

", + "locationName":"assignIpv6AddressOnCreation" + }, + "Ipv6CidrBlockAssociationSet":{ + "shape":"SubnetIpv6CidrBlockAssociationSet", + "documentation":"

Information about the IPv6 CIDR blocks associated with the subnet.

", + "locationName":"ipv6CidrBlockAssociationSet" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the subnet.

", + "locationName":"tagSet" + }, + "SubnetArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the subnet.

", + "locationName":"subnetArn" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + } + }, + "documentation":"

Describes a subnet.

" + }, + "SubnetAssociation":{ + "type":"structure", + "members":{ + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "State":{ + "shape":"TransitGatewayMulitcastDomainAssociationState", + "documentation":"

The state of the subnet association.

", + "locationName":"state" + } + }, + "documentation":"

Describes the subnet association with the transit gateway multicast domain.

" + }, + "SubnetAssociationList":{ + "type":"list", + "member":{ + "shape":"SubnetAssociation", + "locationName":"item" + } + }, + "SubnetCidrAssociationId":{"type":"string"}, + "SubnetCidrBlockState":{ + "type":"structure", + "members":{ + "State":{ + "shape":"SubnetCidrBlockStateCode", + "documentation":"

The state of a CIDR block.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A message about the status of the CIDR block, if applicable.

", + "locationName":"statusMessage" + } + }, + "documentation":"

Describes the state of a CIDR block.

" + }, + "SubnetCidrBlockStateCode":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated", + "failing", + "failed" + ] + }, + "SubnetId":{"type":"string"}, + "SubnetIdStringList":{ + "type":"list", + "member":{ + "shape":"SubnetId", + "locationName":"SubnetId" + } + }, + "SubnetIpv6CidrBlockAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID for the CIDR block.

", + "locationName":"associationId" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block.

", + "locationName":"ipv6CidrBlock" + }, + "Ipv6CidrBlockState":{ + "shape":"SubnetCidrBlockState", + "documentation":"

Information about the state of the CIDR block.

", + "locationName":"ipv6CidrBlockState" + } + }, + "documentation":"

Describes an IPv6 CIDR block associated with a subnet.

" + }, + "SubnetIpv6CidrBlockAssociationSet":{ + "type":"list", + "member":{ + "shape":"SubnetIpv6CidrBlockAssociation", + "locationName":"item" + } + }, + "SubnetList":{ + "type":"list", + "member":{ + "shape":"Subnet", + "locationName":"item" + } + }, + "SubnetState":{ + "type":"string", + "enum":[ + "pending", + "available" + ] + }, + "SuccessfulInstanceCreditSpecificationItem":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + } + }, + "documentation":"

Describes the burstable performance instance whose credit option for CPU usage was successfully modified.

" + }, + "SuccessfulInstanceCreditSpecificationSet":{ + "type":"list", + "member":{ + "shape":"SuccessfulInstanceCreditSpecificationItem", + "locationName":"item" + } + }, + "SuccessfulQueuedPurchaseDeletion":{ + "type":"structure", + "members":{ + "ReservedInstancesId":{ + "shape":"String", + "documentation":"

The ID of the Reserved Instance.

", + "locationName":"reservedInstancesId" + } + }, + "documentation":"

Describes a Reserved Instance whose queued purchase was successfully deleted.

" + }, + "SuccessfulQueuedPurchaseDeletionSet":{ + "type":"list", + "member":{ + "shape":"SuccessfulQueuedPurchaseDeletion", + "locationName":"item" + } + }, + "SummaryStatus":{ + "type":"string", + "enum":[ + "ok", + "impaired", + "insufficient-data", + "not-applicable", + "initializing" + ] + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The key of the tag.

Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

", + "locationName":"key" + }, + "Value":{ + "shape":"String", + "documentation":"

The value of the tag.

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

", + "locationName":"value" + } + }, + "documentation":"

Describes a tag.

" + }, + "TagDescription":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The tag key.

", + "locationName":"key" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + }, + "Value":{ + "shape":"String", + "documentation":"

The tag value.

", + "locationName":"value" + } + }, + "documentation":"

Describes a tag.

" + }, + "TagDescriptionList":{ + "type":"list", + "member":{ + "shape":"TagDescription", + "locationName":"item" + } + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"item" + } + }, + "TagSpecification":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to tag. Currently, the resource types that support tagging on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host | fleet | fpga-image | instance | ipv4pool-ec2 | ipv6pool-ec2 | key-pair | launch-template | natgateway | spot-fleet-request | placement-group | snapshot | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target | transit-gateway | transit-gateway-attachment | transit-gateway-route-table | vpc-endpoint (for interface VPC endpoints)| vpc-endpoint-service (for gateway VPC endpoints) | volume | vpc-flow-log.

To tag a resource after it has been created, see CreateTags.

", + "locationName":"resourceType" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource.

", + "locationName":"Tag" + } + }, + "documentation":"

The tags to apply to a resource when the resource is being created.

" + }, + "TagSpecificationList":{ + "type":"list", + "member":{ + "shape":"TagSpecification", + "locationName":"item" + } + }, + "TaggableResourceId":{"type":"string"}, + "TargetCapacitySpecification":{ + "type":"structure", + "members":{ + "TotalTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of units to request, filled using DefaultTargetCapacityType.

", + "locationName":"totalTargetCapacity" + }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

", + "locationName":"onDemandTargetCapacity" + }, + "SpotTargetCapacity":{ + "shape":"Integer", + "documentation":"

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

", + "locationName":"spotTargetCapacity" + }, + "DefaultTargetCapacityType":{ + "shape":"DefaultTargetCapacityType", + "documentation":"

The default TotalTargetCapacity, which is either Spot or On-Demand.

", + "locationName":"defaultTargetCapacityType" + } + }, + "documentation":"

The number of units to request. You can choose to set the target capacity in terms of instances or a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance MaxTotalPrice, or both to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. The MaxTotalPrice parameters are located in OnDemandOptions and SpotOptions

" + }, + "TargetCapacitySpecificationRequest":{ + "type":"structure", + "required":["TotalTargetCapacity"], + "members":{ + "TotalTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of units to request, filled using DefaultTargetCapacityType.

" + }, + "OnDemandTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of On-Demand units to request.

" + }, + "SpotTargetCapacity":{ + "shape":"Integer", + "documentation":"

The number of Spot units to request.

" + }, + "DefaultTargetCapacityType":{ + "shape":"DefaultTargetCapacityType", + "documentation":"

The default TotalTargetCapacity, which is either Spot or On-Demand.

" + } + }, + "documentation":"

The number of units to request. You can choose to set the target capacity as the number of instances. Or you can set the target capacity to a performance characteristic that is important to your application workload, such as vCPUs, memory, or I/O. If the request type is maintain, you can specify a target capacity of 0 and add capacity later.

You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance MaxTotalPrice parameter, or both parameters to ensure that your fleet cost does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops launching instances even if it hasn’t met the target capacity. The MaxTotalPrice parameters are located in OnDemandOptionsRequest and SpotOptionsRequest.

" + }, + "TargetConfiguration":{ + "type":"structure", + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

", + "locationName":"instanceCount" + }, + "OfferingId":{ + "shape":"String", + "documentation":"

The ID of the Convertible Reserved Instance offering.

", + "locationName":"offeringId" + } + }, + "documentation":"

Information about the Convertible Reserved Instance offering.

" + }, + "TargetConfigurationRequest":{ + "type":"structure", + "required":["OfferingId"], + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of instances the Covertible Reserved Instance offering can be applied to. This parameter is reserved and cannot be specified in a request

" + }, + "OfferingId":{ + "shape":"ReservedInstancesOfferingId", + "documentation":"

The Convertible Reserved Instance offering ID.

" + } + }, + "documentation":"

Details about the target configuration.

" + }, + "TargetConfigurationRequestSet":{ + "type":"list", + "member":{ + "shape":"TargetConfigurationRequest", + "locationName":"TargetConfigurationRequest" + } + }, + "TargetGroup":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the target group.

", + "locationName":"arn" + } + }, + "documentation":"

Describes a load balancer target group.

" + }, + "TargetGroups":{ + "type":"list", + "member":{ + "shape":"TargetGroup", + "locationName":"item" + }, + "max":5, + "min":1 + }, + "TargetGroupsConfig":{ + "type":"structure", + "members":{ + "TargetGroups":{ + "shape":"TargetGroups", + "documentation":"

One or more target groups.

", + "locationName":"targetGroups" + } + }, + "documentation":"

Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the running Spot Instances with these target groups.

" + }, + "TargetNetwork":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The ID of the association.

", + "locationName":"associationId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC in which the target network (subnet) is located.

", + "locationName":"vpcId" + }, + "TargetNetworkId":{ + "shape":"String", + "documentation":"

The ID of the subnet specified as the target network.

", + "locationName":"targetNetworkId" + }, + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint with which the target network is associated.

", + "locationName":"clientVpnEndpointId" + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

The current state of the target network association.

", + "locationName":"status" + }, + "SecurityGroups":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the security groups applied to the target network association.

", + "locationName":"securityGroups" + } + }, + "documentation":"

Describes a target network associated with a Client VPN endpoint.

" + }, + "TargetNetworkSet":{ + "type":"list", + "member":{ + "shape":"TargetNetwork", + "locationName":"item" + } + }, + "TargetReservationValue":{ + "type":"structure", + "members":{ + "ReservationValue":{ + "shape":"ReservationValue", + "documentation":"

The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of the list value, remaining upfront price, and additional upfront cost of the exchange.

", + "locationName":"reservationValue" + }, + "TargetConfiguration":{ + "shape":"TargetConfiguration", + "documentation":"

The configuration of the Convertible Reserved Instances that make up the exchange.

", + "locationName":"targetConfiguration" + } + }, + "documentation":"

The total value of the new Convertible Reserved Instances.

" + }, + "TargetReservationValueSet":{ + "type":"list", + "member":{ + "shape":"TargetReservationValue", + "locationName":"item" + } + }, + "TelemetryStatus":{ + "type":"string", + "enum":[ + "UP", + "DOWN" + ] + }, + "Tenancy":{ + "type":"string", + "enum":[ + "default", + "dedicated", + "host" + ] + }, + "TerminateClientVpnConnectionsRequest":{ + "type":"structure", + "required":["ClientVpnEndpointId"], + "members":{ + "ClientVpnEndpointId":{ + "shape":"ClientVpnEndpointId", + "documentation":"

The ID of the Client VPN endpoint to which the client is connected.

" + }, + "ConnectionId":{ + "shape":"VpnConnectionId", + "documentation":"

The ID of the client connection to be terminated.

" + }, + "Username":{ + "shape":"String", + "documentation":"

The name of the user who initiated the connection. Use this option to terminate all active connections for the specified user. This option can only be used if the user has established up to five connections.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "TerminateClientVpnConnectionsResult":{ + "type":"structure", + "members":{ + "ClientVpnEndpointId":{ + "shape":"String", + "documentation":"

The ID of the Client VPN endpoint.

", + "locationName":"clientVpnEndpointId" + }, + "Username":{ + "shape":"String", + "documentation":"

The user who established the terminated client connections.

", + "locationName":"username" + }, + "ConnectionStatuses":{ + "shape":"TerminateConnectionStatusSet", + "documentation":"

The current state of the client connections.

", + "locationName":"connectionStatuses" + } + } + }, + "TerminateConnectionStatus":{ + "type":"structure", + "members":{ + "ConnectionId":{ + "shape":"String", + "documentation":"

The ID of the client connection.

", + "locationName":"connectionId" + }, + "PreviousStatus":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

The state of the client connection.

", + "locationName":"previousStatus" + }, + "CurrentStatus":{ + "shape":"ClientVpnConnectionStatus", + "documentation":"

A message about the status of the client connection, if applicable.

", + "locationName":"currentStatus" + } + }, + "documentation":"

Information about a terminated Client VPN endpoint client connection.

" + }, + "TerminateConnectionStatusSet":{ + "type":"list", + "member":{ + "shape":"TerminateConnectionStatus", + "locationName":"item" + } + }, + "TerminateInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The IDs of the instances.

Constraints: Up to 1000 instance IDs. We recommend breaking up this request into smaller batches.

", + "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "TerminateInstancesResult":{ + "type":"structure", + "members":{ + "TerminatingInstances":{ + "shape":"InstanceStateChangeList", + "documentation":"

Information about the terminated instances.

", + "locationName":"instancesSet" + } + } + }, + "ThreadsPerCore":{"type":"integer"}, + "ThreadsPerCoreList":{ + "type":"list", + "member":{ + "shape":"ThreadsPerCore", + "locationName":"item" + } + }, + "TrafficDirection":{ + "type":"string", + "enum":[ + "ingress", + "egress" + ] + }, + "TrafficMirrorFilter":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror filter.

", + "locationName":"trafficMirrorFilterId" + }, + "IngressFilterRules":{ + "shape":"TrafficMirrorFilterRuleList", + "documentation":"

Information about the ingress rules that are associated with the Traffic Mirror filter.

", + "locationName":"ingressFilterRuleSet" + }, + "EgressFilterRules":{ + "shape":"TrafficMirrorFilterRuleList", + "documentation":"

Information about the egress rules that are associated with the Traffic Mirror filter.

", + "locationName":"egressFilterRuleSet" + }, + "NetworkServices":{ + "shape":"TrafficMirrorNetworkServiceList", + "documentation":"

The network service traffic that is associated with the Traffic Mirror filter.

", + "locationName":"networkServiceSet" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror filter.

", + "locationName":"description" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the Traffic Mirror filter.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes the Traffic Mirror filter.

" + }, + "TrafficMirrorFilterId":{"type":"string"}, + "TrafficMirrorFilterIdList":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorFilterId", + "locationName":"item" + } + }, + "TrafficMirrorFilterRule":{ + "type":"structure", + "members":{ + "TrafficMirrorFilterRuleId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror rule.

", + "locationName":"trafficMirrorFilterRuleId" + }, + "TrafficMirrorFilterId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror filter that the rule is associated with.

", + "locationName":"trafficMirrorFilterId" + }, + "TrafficDirection":{ + "shape":"TrafficDirection", + "documentation":"

The traffic direction assigned to the Traffic Mirror rule.

", + "locationName":"trafficDirection" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number of the Traffic Mirror rule.

", + "locationName":"ruleNumber" + }, + "RuleAction":{ + "shape":"TrafficMirrorRuleAction", + "documentation":"

The action assigned to the Traffic Mirror rule.

", + "locationName":"ruleAction" + }, + "Protocol":{ + "shape":"Integer", + "documentation":"

The protocol assigned to the Traffic Mirror rule.

", + "locationName":"protocol" + }, + "DestinationPortRange":{ + "shape":"TrafficMirrorPortRange", + "documentation":"

The destination port range assigned to the Traffic Mirror rule.

", + "locationName":"destinationPortRange" + }, + "SourcePortRange":{ + "shape":"TrafficMirrorPortRange", + "documentation":"

The source port range assigned to the Traffic Mirror rule.

", + "locationName":"sourcePortRange" + }, + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The destination CIDR block assigned to the Traffic Mirror rule.

", + "locationName":"destinationCidrBlock" + }, + "SourceCidrBlock":{ + "shape":"String", + "documentation":"

The source CIDR block assigned to the Traffic Mirror rule.

", + "locationName":"sourceCidrBlock" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror rule.

", + "locationName":"description" + } + }, + "documentation":"

Describes the Traffic Mirror rule.

" + }, + "TrafficMirrorFilterRuleField":{ + "type":"string", + "enum":[ + "destination-port-range", + "source-port-range", + "protocol", + "description" + ] + }, + "TrafficMirrorFilterRuleFieldList":{ + "type":"list", + "member":{"shape":"TrafficMirrorFilterRuleField"} + }, + "TrafficMirrorFilterRuleId":{"type":"string"}, + "TrafficMirrorFilterRuleList":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorFilterRule", + "locationName":"item" + } + }, + "TrafficMirrorFilterSet":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorFilter", + "locationName":"item" + } + }, + "TrafficMirrorNetworkService":{ + "type":"string", + "enum":["amazon-dns"] + }, + "TrafficMirrorNetworkServiceList":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorNetworkService", + "locationName":"item" + } + }, + "TrafficMirrorPortRange":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"Integer", + "documentation":"

The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", + "locationName":"fromPort" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

", + "locationName":"toPort" + } + }, + "documentation":"

Describes the Traffic Mirror port range.

" + }, + "TrafficMirrorPortRangeRequest":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"Integer", + "documentation":"

The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

" + } + }, + "documentation":"

Information about the Traffic Mirror filter rule port range.

" + }, + "TrafficMirrorRuleAction":{ + "type":"string", + "enum":[ + "accept", + "reject" + ] + }, + "TrafficMirrorSession":{ + "type":"structure", + "members":{ + "TrafficMirrorSessionId":{ + "shape":"String", + "documentation":"

The ID for the Traffic Mirror session.

", + "locationName":"trafficMirrorSessionId" + }, + "TrafficMirrorTargetId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror target.

", + "locationName":"trafficMirrorTargetId" + }, + "TrafficMirrorFilterId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror filter.

", + "locationName":"trafficMirrorFilterId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror session's network interface.

", + "locationName":"networkInterfaceId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the account that owns the Traffic Mirror session.

", + "locationName":"ownerId" + }, + "PacketLength":{ + "shape":"Integer", + "documentation":"

The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

", + "locationName":"packetLength" + }, + "SessionNumber":{ + "shape":"Integer", + "documentation":"

The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

Valid values are 1-32766.

", + "locationName":"sessionNumber" + }, + "VirtualNetworkId":{ + "shape":"Integer", + "documentation":"

The virtual network ID associated with the Traffic Mirror session.

", + "locationName":"virtualNetworkId" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the Traffic Mirror session.

", + "locationName":"description" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the Traffic Mirror session.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Traffic Mirror session.

" + }, + "TrafficMirrorSessionField":{ + "type":"string", + "enum":[ + "packet-length", + "description", + "virtual-network-id" + ] + }, + "TrafficMirrorSessionFieldList":{ + "type":"list", + "member":{"shape":"TrafficMirrorSessionField"} + }, + "TrafficMirrorSessionId":{"type":"string"}, + "TrafficMirrorSessionIdList":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorSessionId", + "locationName":"item" + } + }, + "TrafficMirrorSessionSet":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorSession", + "locationName":"item" + } + }, + "TrafficMirrorTarget":{ + "type":"structure", + "members":{ + "TrafficMirrorTargetId":{ + "shape":"String", + "documentation":"

The ID of the Traffic Mirror target.

", + "locationName":"trafficMirrorTargetId" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The network interface ID that is attached to the target.

", + "locationName":"networkInterfaceId" + }, + "NetworkLoadBalancerArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Network Load Balancer.

", + "locationName":"networkLoadBalancerArn" + }, + "Type":{ + "shape":"TrafficMirrorTargetType", + "documentation":"

The type of Traffic Mirror target.

", + "locationName":"type" + }, + "Description":{ + "shape":"String", + "documentation":"

Information about the Traffic Mirror target.

", + "locationName":"description" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the account that owns the Traffic Mirror target.

", + "locationName":"ownerId" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags assigned to the Traffic Mirror target.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a Traffic Mirror target.

" + }, + "TrafficMirrorTargetId":{"type":"string"}, + "TrafficMirrorTargetIdList":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorTargetId", + "locationName":"item" + } + }, + "TrafficMirrorTargetSet":{ + "type":"list", + "member":{ + "shape":"TrafficMirrorTarget", + "locationName":"item" + } + }, + "TrafficMirrorTargetType":{ + "type":"string", + "enum":[ + "network-interface", + "network-load-balancer" + ] + }, + "TrafficMirroringMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "TrafficType":{ + "type":"string", + "enum":[ + "ACCEPT", + "REJECT", + "ALL" + ] + }, + "TransitAssociationGatewayId":{"type":"string"}, + "TransitGateway":{ + "type":"structure", + "members":{ + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "TransitGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the transit gateway.

", + "locationName":"transitGatewayArn" + }, + "State":{ + "shape":"TransitGatewayState", + "documentation":"

The state of the transit gateway.

", + "locationName":"state" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account ID that owns the transit gateway.

", + "locationName":"ownerId" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the transit gateway.

", + "locationName":"description" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The creation time.

", + "locationName":"creationTime" + }, + "Options":{ + "shape":"TransitGatewayOptions", + "documentation":"

The transit gateway options.

", + "locationName":"options" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the transit gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a transit gateway.

" + }, + "TransitGatewayAssociation":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"TransitGatewayRouteTableId", + "documentation":"

The ID of the transit gateway route table.

", + "locationName":"transitGatewayRouteTableId" + }, + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + }, + "State":{ + "shape":"TransitGatewayAssociationState", + "documentation":"

The state of the association.

", + "locationName":"state" + } + }, + "documentation":"

Describes an association between a resource attachment and a transit gateway route table.

" + }, + "TransitGatewayAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated" + ] + }, + "TransitGatewayAttachment":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "TransitGatewayOwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the transit gateway.

", + "locationName":"transitGatewayOwnerId" + }, + "ResourceOwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the resource.

", + "locationName":"resourceOwnerId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "State":{ + "shape":"TransitGatewayAttachmentState", + "documentation":"

The attachment state.

", + "locationName":"state" + }, + "Association":{ + "shape":"TransitGatewayAttachmentAssociation", + "documentation":"

The association.

", + "locationName":"association" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The creation time.

", + "locationName":"creationTime" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the attachment.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes an attachment between a resource and a transit gateway.

" + }, + "TransitGatewayAttachmentAssociation":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the route table for the transit gateway.

", + "locationName":"transitGatewayRouteTableId" + }, + "State":{ + "shape":"TransitGatewayAssociationState", + "documentation":"

The state of the association.

", + "locationName":"state" + } + }, + "documentation":"

Describes an association.

" + }, + "TransitGatewayAttachmentId":{"type":"string"}, + "TransitGatewayAttachmentIdStringList":{ + "type":"list", + "member":{"shape":"TransitGatewayAttachmentId"} + }, + "TransitGatewayAttachmentList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayAttachment", + "locationName":"item" + } + }, + "TransitGatewayAttachmentPropagation":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the propagation route table.

", + "locationName":"transitGatewayRouteTableId" + }, + "State":{ + "shape":"TransitGatewayPropagationState", + "documentation":"

The state of the propagation route table.

", + "locationName":"state" + } + }, + "documentation":"

Describes a propagation route table.

" + }, + "TransitGatewayAttachmentPropagationList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayAttachmentPropagation", + "locationName":"item" + } + }, + "TransitGatewayAttachmentResourceType":{ + "type":"string", + "enum":[ + "vpc", + "vpn", + "direct-connect-gateway", + "tgw-peering" + ] + }, + "TransitGatewayAttachmentState":{ + "type":"string", + "enum":[ + "initiating", + "pendingAcceptance", + "rollingBack", + "pending", + "available", + "modifying", + "deleting", + "deleted", + "failed", + "rejected", + "rejecting", + "failing" + ] + }, + "TransitGatewayId":{"type":"string"}, + "TransitGatewayIdStringList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayId", + "locationName":"item" + } + }, + "TransitGatewayList":{ + "type":"list", + "member":{ + "shape":"TransitGateway", + "locationName":"item" + } + }, + "TransitGatewayMaxResults":{ + "type":"integer", + "max":1000, + "min":5 + }, + "TransitGatewayMulitcastDomainAssociationState":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated" + ] + }, + "TransitGatewayMulticastDeregisteredGroupMembers":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "DeregisteredNetworkInterfaceIds":{ + "shape":"ValueStringList", + "documentation":"

The network interface IDs of the deregistered members.

", + "locationName":"deregisteredNetworkInterfaceIds" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

", + "locationName":"groupIpAddress" + } + }, + "documentation":"

Describes the deregistered transit gateway multicast group members.

" + }, + "TransitGatewayMulticastDeregisteredGroupSources":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "DeregisteredNetworkInterfaceIds":{ + "shape":"ValueStringList", + "documentation":"

The network interface IDs of the non-registered members.

", + "locationName":"deregisteredNetworkInterfaceIds" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

", + "locationName":"groupIpAddress" + } + }, + "documentation":"

Describes the deregistered transit gateway multicast group sources.

" + }, + "TransitGatewayMulticastDomain":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "State":{ + "shape":"TransitGatewayMulticastDomainState", + "documentation":"

The state of the transit gateway multicast domain.

", + "locationName":"state" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The time the transit gateway multicast domain was created.

", + "locationName":"creationTime" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the transit gateway multicast domain.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes the transit gateway multicast domain.

" + }, + "TransitGatewayMulticastDomainAssociation":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The type of resource, for example a VPC attachment.

", + "locationName":"resourceType" + }, + "Subnet":{ + "shape":"SubnetAssociation", + "documentation":"

The subnet associated with the transit gateway multicast domain.

", + "locationName":"subnet" + } + }, + "documentation":"

Describes the resources associated with the transit gateway multicast domain.

" + }, + "TransitGatewayMulticastDomainAssociationList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayMulticastDomainAssociation", + "locationName":"item" + } + }, + "TransitGatewayMulticastDomainAssociations":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The type of resource, for example a VPC attachment.

", + "locationName":"resourceType" + }, + "Subnets":{ + "shape":"SubnetAssociationList", + "documentation":"

The subnets associated with the multicast domain.

", + "locationName":"subnets" + } + }, + "documentation":"

Describes the multicast domain associations.

" + }, + "TransitGatewayMulticastDomainId":{"type":"string"}, + "TransitGatewayMulticastDomainIdStringList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayMulticastDomainId", + "locationName":"item" + } + }, + "TransitGatewayMulticastDomainList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayMulticastDomain", + "locationName":"item" + } + }, + "TransitGatewayMulticastDomainState":{ + "type":"string", + "enum":[ + "pending", + "available", + "deleting", + "deleted" + ] + }, + "TransitGatewayMulticastGroup":{ + "type":"structure", + "members":{ + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

", + "locationName":"groupIpAddress" + }, + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The ID of the subnet.

", + "locationName":"subnetId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The type of resource, for example a VPC attachment.

", + "locationName":"resourceType" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway attachment.

", + "locationName":"networkInterfaceId" + }, + "GroupMember":{ + "shape":"Boolean", + "documentation":"

Indicates that the resource is a transit gateway multicast group member.

", + "locationName":"groupMember" + }, + "GroupSource":{ + "shape":"Boolean", + "documentation":"

Indicates that the resource is a transit gateway multicast group member.

", + "locationName":"groupSource" + }, + "MemberType":{ + "shape":"MembershipType", + "documentation":"

The member type (for example, static).

", + "locationName":"memberType" + }, + "SourceType":{ + "shape":"MembershipType", + "documentation":"

The source type.

", + "locationName":"sourceType" + } + }, + "documentation":"

Describes the transit gateway multicast group resources.

" + }, + "TransitGatewayMulticastGroupList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayMulticastGroup", + "locationName":"item" + } + }, + "TransitGatewayMulticastRegisteredGroupMembers":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "RegisteredNetworkInterfaceIds":{ + "shape":"ValueStringList", + "documentation":"

The ID of the registered network interfaces.

", + "locationName":"registeredNetworkInterfaceIds" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

", + "locationName":"groupIpAddress" + } + }, + "documentation":"

Describes the registered transit gateway multicast group members.

" + }, + "TransitGatewayMulticastRegisteredGroupSources":{ + "type":"structure", + "members":{ + "TransitGatewayMulticastDomainId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway multicast domain.

", + "locationName":"transitGatewayMulticastDomainId" + }, + "RegisteredNetworkInterfaceIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the network interfaces members registered with the transit gateway multicast group.

", + "locationName":"registeredNetworkInterfaceIds" + }, + "GroupIpAddress":{ + "shape":"String", + "documentation":"

The IP address assigned to the transit gateway multicast group.

", + "locationName":"groupIpAddress" + } + }, + "documentation":"

Describes the members registered with the transit gateway multicast group.

" + }, + "TransitGatewayNetworkInterfaceIdList":{ + "type":"list", + "member":{ + "shape":"NetworkInterfaceId", + "locationName":"item" + } + }, + "TransitGatewayOptions":{ + "type":"structure", + "members":{ + "AmazonSideAsn":{ + "shape":"Long", + "documentation":"

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

", + "locationName":"amazonSideAsn" + }, + "AutoAcceptSharedAttachments":{ + "shape":"AutoAcceptSharedAttachmentsValue", + "documentation":"

Indicates whether attachment requests are automatically accepted.

", + "locationName":"autoAcceptSharedAttachments" + }, + "DefaultRouteTableAssociation":{ + "shape":"DefaultRouteTableAssociationValue", + "documentation":"

Indicates whether resource attachments are automatically associated with the default association route table.

", + "locationName":"defaultRouteTableAssociation" + }, + "AssociationDefaultRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the default association route table.

", + "locationName":"associationDefaultRouteTableId" + }, + "DefaultRouteTablePropagation":{ + "shape":"DefaultRouteTablePropagationValue", + "documentation":"

Indicates whether resource attachments automatically propagate routes to the default propagation route table.

", + "locationName":"defaultRouteTablePropagation" + }, + "PropagationDefaultRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the default propagation route table.

", + "locationName":"propagationDefaultRouteTableId" + }, + "VpnEcmpSupport":{ + "shape":"VpnEcmpSupportValue", + "documentation":"

Indicates whether Equal Cost Multipath Protocol support is enabled.

", + "locationName":"vpnEcmpSupport" + }, + "DnsSupport":{ + "shape":"DnsSupportValue", + "documentation":"

Indicates whether DNS support is enabled.

", + "locationName":"dnsSupport" + }, + "MulticastSupport":{ + "shape":"MulticastSupportValue", + "documentation":"

Indicates whether multicast is enabled on the transit gateway

", + "locationName":"multicastSupport" + } + }, + "documentation":"

Describes the options for a transit gateway.

" + }, + "TransitGatewayPeeringAttachment":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway peering attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "RequesterTgwInfo":{ + "shape":"PeeringTgwInfo", + "documentation":"

Information about the requester transit gateway.

", + "locationName":"requesterTgwInfo" + }, + "AccepterTgwInfo":{ + "shape":"PeeringTgwInfo", + "documentation":"

Information about the accepter transit gateway.

", + "locationName":"accepterTgwInfo" + }, + "Status":{ + "shape":"PeeringAttachmentStatus", + "documentation":"

The status of the transit gateway peering attachment.

", + "locationName":"status" + }, + "State":{ + "shape":"TransitGatewayAttachmentState", + "documentation":"

The state of the transit gateway peering attachment.

", + "locationName":"state" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The time the transit gateway peering attachment was created.

", + "locationName":"creationTime" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the transit gateway peering attachment.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes the transit gateway peering attachment.

" + }, + "TransitGatewayPeeringAttachmentList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayPeeringAttachment", + "locationName":"item" + } + }, + "TransitGatewayPropagation":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"TransitGatewayAttachmentId", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + }, + "TransitGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway route table.

", + "locationName":"transitGatewayRouteTableId" + }, + "State":{ + "shape":"TransitGatewayPropagationState", + "documentation":"

The state.

", + "locationName":"state" + } + }, + "documentation":"

Describes route propagation.

" + }, + "TransitGatewayPropagationState":{ + "type":"string", + "enum":[ + "enabling", + "enabled", + "disabling", + "disabled" + ] + }, + "TransitGatewayRequestOptions":{ + "type":"structure", + "members":{ + "AmazonSideAsn":{ + "shape":"Long", + "documentation":"

A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

" + }, + "AutoAcceptSharedAttachments":{ + "shape":"AutoAcceptSharedAttachmentsValue", + "documentation":"

Enable or disable automatic acceptance of attachment requests. The default is disable.

" + }, + "DefaultRouteTableAssociation":{ + "shape":"DefaultRouteTableAssociationValue", + "documentation":"

Enable or disable automatic association with the default association route table. The default is enable.

" + }, + "DefaultRouteTablePropagation":{ + "shape":"DefaultRouteTablePropagationValue", + "documentation":"

Enable or disable automatic propagation of routes to the default propagation route table. The default is enable.

" + }, + "VpnEcmpSupport":{ + "shape":"VpnEcmpSupportValue", + "documentation":"

Enable or disable Equal Cost Multipath Protocol support.

" + }, + "DnsSupport":{ + "shape":"DnsSupportValue", + "documentation":"

Enable or disable DNS support.

" + }, + "MulticastSupport":{ + "shape":"MulticastSupportValue", + "documentation":"

Indicates whether multicast is enabled on the transit gateway

" + } + }, + "documentation":"

Describes the options for a transit gateway.

" + }, + "TransitGatewayRoute":{ + "type":"structure", + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR block used for destination matches.

", + "locationName":"destinationCidrBlock" + }, + "TransitGatewayAttachments":{ + "shape":"TransitGatewayRouteAttachmentList", + "documentation":"

The attachments.

", + "locationName":"transitGatewayAttachments" + }, + "Type":{ + "shape":"TransitGatewayRouteType", + "documentation":"

The route type.

", + "locationName":"type" + }, + "State":{ + "shape":"TransitGatewayRouteState", + "documentation":"

The state of the route.

", + "locationName":"state" + } + }, + "documentation":"

Describes a route for a transit gateway route table.

" + }, + "TransitGatewayRouteAttachment":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + } + }, + "documentation":"

Describes a route attachment.

" + }, + "TransitGatewayRouteAttachmentList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRouteAttachment", + "locationName":"item" + } + }, + "TransitGatewayRouteList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRoute", + "locationName":"item" + } + }, + "TransitGatewayRouteState":{ + "type":"string", + "enum":[ + "pending", + "active", + "blackhole", + "deleting", + "deleted" + ] + }, + "TransitGatewayRouteTable":{ + "type":"structure", + "members":{ + "TransitGatewayRouteTableId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway route table.

", + "locationName":"transitGatewayRouteTableId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "State":{ + "shape":"TransitGatewayRouteTableState", + "documentation":"

The state of the transit gateway route table.

", + "locationName":"state" + }, + "DefaultAssociationRouteTable":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the default association route table for the transit gateway.

", + "locationName":"defaultAssociationRouteTable" + }, + "DefaultPropagationRouteTable":{ + "shape":"Boolean", + "documentation":"

Indicates whether this is the default propagation route table for the transit gateway.

", + "locationName":"defaultPropagationRouteTable" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The creation time.

", + "locationName":"creationTime" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the route table.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a transit gateway route table.

" + }, + "TransitGatewayRouteTableAssociation":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The resource type.

", + "locationName":"resourceType" + }, + "State":{ + "shape":"TransitGatewayAssociationState", + "documentation":"

The state of the association.

", + "locationName":"state" + } + }, + "documentation":"

Describes an association between a route table and a resource attachment.

" + }, + "TransitGatewayRouteTableAssociationList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRouteTableAssociation", + "locationName":"item" + } + }, + "TransitGatewayRouteTableId":{"type":"string"}, + "TransitGatewayRouteTableIdStringList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRouteTableId", + "locationName":"item" + } + }, + "TransitGatewayRouteTableList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRouteTable", + "locationName":"item" + } + }, + "TransitGatewayRouteTablePropagation":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + }, + "ResourceType":{ + "shape":"TransitGatewayAttachmentResourceType", + "documentation":"

The type of resource.

", + "locationName":"resourceType" + }, + "State":{ + "shape":"TransitGatewayPropagationState", + "documentation":"

The state of the resource.

", + "locationName":"state" + } + }, + "documentation":"

Describes a route table propagation.

" + }, + "TransitGatewayRouteTablePropagationList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayRouteTablePropagation", + "locationName":"item" + } + }, + "TransitGatewayRouteTableState":{ + "type":"string", + "enum":[ + "pending", + "available", + "deleting", + "deleted" + ] + }, + "TransitGatewayRouteType":{ + "type":"string", + "enum":[ + "static", + "propagated" + ] + }, + "TransitGatewayState":{ + "type":"string", + "enum":[ + "pending", + "available", + "modifying", + "deleting", + "deleted" + ] + }, + "TransitGatewaySubnetIdList":{ + "type":"list", + "member":{ + "shape":"SubnetId", + "locationName":"item" + } + }, + "TransitGatewayVpcAttachment":{ + "type":"structure", + "members":{ + "TransitGatewayAttachmentId":{ + "shape":"String", + "documentation":"

The ID of the attachment.

", + "locationName":"transitGatewayAttachmentId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway.

", + "locationName":"transitGatewayId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "VpcOwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the VPC.

", + "locationName":"vpcOwnerId" + }, + "State":{ + "shape":"TransitGatewayAttachmentState", + "documentation":"

The state of the VPC attachment.

", + "locationName":"state" + }, + "SubnetIds":{ + "shape":"ValueStringList", + "documentation":"

The IDs of the subnets.

", + "locationName":"subnetIds" + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

The creation time.

", + "locationName":"creationTime" + }, + "Options":{ + "shape":"TransitGatewayVpcAttachmentOptions", + "documentation":"

The VPC attachment options.

", + "locationName":"options" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the VPC attachment.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a VPC attachment.

" + }, + "TransitGatewayVpcAttachmentList":{ + "type":"list", + "member":{ + "shape":"TransitGatewayVpcAttachment", + "locationName":"item" + } + }, + "TransitGatewayVpcAttachmentOptions":{ + "type":"structure", + "members":{ + "DnsSupport":{ + "shape":"DnsSupportValue", + "documentation":"

Indicates whether DNS support is enabled.

", + "locationName":"dnsSupport" + }, + "Ipv6Support":{ + "shape":"Ipv6SupportValue", + "documentation":"

Indicates whether IPv6 support is disabled.

", + "locationName":"ipv6Support" + } + }, + "documentation":"

Describes the VPC attachment options.

" + }, + "TransportProtocol":{ + "type":"string", + "enum":[ + "tcp", + "udp" + ] + }, + "TunnelOption":{ + "type":"structure", + "members":{ + "OutsideIpAddress":{ + "shape":"String", + "documentation":"

The external IP address of the VPN tunnel.

", + "locationName":"outsideIpAddress" + }, + "TunnelInsideCidr":{ + "shape":"String", + "documentation":"

The range of inside IP addresses for the tunnel.

", + "locationName":"tunnelInsideCidr" + }, + "PreSharedKey":{ + "shape":"String", + "documentation":"

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

", + "locationName":"preSharedKey" + }, + "Phase1LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 1 of the IKE negotiation, in seconds.

", + "locationName":"phase1LifetimeSeconds" + }, + "Phase2LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 2 of the IKE negotiation, in seconds.

", + "locationName":"phase2LifetimeSeconds" + }, + "RekeyMarginTimeSeconds":{ + "shape":"Integer", + "documentation":"

The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey.

", + "locationName":"rekeyMarginTimeSeconds" + }, + "RekeyFuzzPercentage":{ + "shape":"Integer", + "documentation":"

The percentage of the rekey window determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

", + "locationName":"rekeyFuzzPercentage" + }, + "ReplayWindowSize":{ + "shape":"Integer", + "documentation":"

The number of packets in an IKE replay window.

", + "locationName":"replayWindowSize" + }, + "DpdTimeoutSeconds":{ + "shape":"Integer", + "documentation":"

The number of seconds after which a DPD timeout occurs.

", + "locationName":"dpdTimeoutSeconds" + }, + "Phase1EncryptionAlgorithms":{ + "shape":"Phase1EncryptionAlgorithmsList", + "documentation":"

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

", + "locationName":"phase1EncryptionAlgorithmSet" + }, + "Phase2EncryptionAlgorithms":{ + "shape":"Phase2EncryptionAlgorithmsList", + "documentation":"

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

", + "locationName":"phase2EncryptionAlgorithmSet" + }, + "Phase1IntegrityAlgorithms":{ + "shape":"Phase1IntegrityAlgorithmsList", + "documentation":"

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

", + "locationName":"phase1IntegrityAlgorithmSet" + }, + "Phase2IntegrityAlgorithms":{ + "shape":"Phase2IntegrityAlgorithmsList", + "documentation":"

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

", + "locationName":"phase2IntegrityAlgorithmSet" + }, + "Phase1DHGroupNumbers":{ + "shape":"Phase1DHGroupNumbersList", + "documentation":"

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

", + "locationName":"phase1DHGroupNumberSet" + }, + "Phase2DHGroupNumbers":{ + "shape":"Phase2DHGroupNumbersList", + "documentation":"

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

", + "locationName":"phase2DHGroupNumberSet" + }, + "IkeVersions":{ + "shape":"IKEVersionsList", + "documentation":"

The IKE versions that are permitted for the VPN tunnel.

", + "locationName":"ikeVersionSet" + } + }, + "documentation":"

The VPN tunnel options.

" + }, + "TunnelOptionsList":{ + "type":"list", + "member":{ + "shape":"TunnelOption", + "locationName":"item" + } + }, + "UnassignIpv6AddressesRequest":{ + "type":"structure", + "required":[ + "Ipv6Addresses", + "NetworkInterfaceId" + ], + "members":{ + "Ipv6Addresses":{ + "shape":"Ipv6AddressList", + "documentation":"

The IPv6 addresses to unassign from the network interface.

", + "locationName":"ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + } + } + }, + "UnassignIpv6AddressesResult":{ + "type":"structure", + "members":{ + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "UnassignedIpv6Addresses":{ + "shape":"Ipv6AddressList", + "documentation":"

The IPv6 addresses that have been unassigned from the network interface.

", + "locationName":"unassignedIpv6Addresses" + } + } + }, + "UnassignPrivateIpAddressesRequest":{ + "type":"structure", + "required":[ + "NetworkInterfaceId", + "PrivateIpAddresses" + ], + "members":{ + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddressStringList", + "documentation":"

The secondary private IP addresses to unassign from the network interface. You can specify this option multiple times to unassign more than one IP address.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Contains the parameters for UnassignPrivateIpAddresses.

" + }, + "UnlimitedSupportedInstanceFamily":{ + "type":"string", + "enum":[ + "t2", + "t3", + "t3a" + ] + }, + "UnmonitorInstancesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdStringList", + "documentation":"

The IDs of the instances.

", + "locationName":"InstanceId" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", + "locationName":"dryRun" + } + } + }, + "UnmonitorInstancesResult":{ + "type":"structure", + "members":{ + "InstanceMonitorings":{ + "shape":"InstanceMonitoringList", + "documentation":"

The monitoring information.

", + "locationName":"instancesSet" + } + } + }, + "UnsuccessfulInstanceCreditSpecificationErrorCode":{ + "type":"string", + "enum":[ + "InvalidInstanceID.Malformed", + "InvalidInstanceID.NotFound", + "IncorrectInstanceState", + "InstanceCreditSpecification.NotSupported" + ] + }, + "UnsuccessfulInstanceCreditSpecificationItem":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "Error":{ + "shape":"UnsuccessfulInstanceCreditSpecificationItemError", + "documentation":"

The applicable error for the burstable performance instance whose credit option for CPU usage was not modified.

", + "locationName":"error" + } + }, + "documentation":"

Describes the burstable performance instance whose credit option for CPU usage was not modified.

" + }, + "UnsuccessfulInstanceCreditSpecificationItemError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"UnsuccessfulInstanceCreditSpecificationErrorCode", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The applicable error message.

", + "locationName":"message" + } + }, + "documentation":"

Information about the error for the burstable performance instance whose credit option for CPU usage was not modified.

" + }, + "UnsuccessfulInstanceCreditSpecificationSet":{ + "type":"list", + "member":{ + "shape":"UnsuccessfulInstanceCreditSpecificationItem", + "locationName":"item" + } + }, + "UnsuccessfulItem":{ + "type":"structure", + "members":{ + "Error":{ + "shape":"UnsuccessfulItemError", + "documentation":"

Information about the error.

", + "locationName":"error" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

", + "locationName":"resourceId" + } + }, + "documentation":"

Information about items that were not successfully processed in a batch call.

" + }, + "UnsuccessfulItemError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The error code.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message accompanying the error code.

", + "locationName":"message" + } + }, + "documentation":"

Information about the error that occurred. For more information about errors, see Error Codes.

" + }, + "UnsuccessfulItemList":{ + "type":"list", + "member":{ + "shape":"UnsuccessfulItem", + "locationName":"item" + } + }, + "UnsuccessfulItemSet":{ + "type":"list", + "member":{ + "shape":"UnsuccessfulItem", + "locationName":"item" + } + }, + "UpdateSecurityGroupRuleDescriptionsEgressRequest":{ + "type":"structure", + "required":["IpPermissions"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" + }, + "GroupName":{ + "shape":"SecurityGroupName", + "documentation":"

[Default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The IP permissions for the security group rule.

" + } + } + }, + "UpdateSecurityGroupRuleDescriptionsEgressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", + "locationName":"return" + } + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressRequest":{ + "type":"structure", + "required":["IpPermissions"], + "members":{ + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + }, + "GroupId":{ + "shape":"SecurityGroupId", + "documentation":"

The ID of the security group. You must specify either the security group ID or the security group name in the request. For security groups in a nondefault VPC, you must specify the security group ID.

" + }, + "GroupName":{ + "shape":"SecurityGroupName", + "documentation":"

[EC2-Classic, default VPC] The name of the security group. You must specify either the security group ID or the security group name in the request.

" + }, + "IpPermissions":{ + "shape":"IpPermissionList", + "documentation":"

The IP permissions for the security group rule.

" + } + } + }, + "UpdateSecurityGroupRuleDescriptionsIngressResult":{ + "type":"structure", + "members":{ + "Return":{ + "shape":"Boolean", + "documentation":"

Returns true if the request succeeds; otherwise, returns an error.

", + "locationName":"return" + } + } + }, + "UsageClassType":{ + "type":"string", + "enum":[ + "spot", + "on-demand" + ] + }, + "UsageClassTypeList":{ + "type":"list", + "member":{ + "shape":"UsageClassType", + "locationName":"item" + } + }, + "UserBucket":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"String", + "documentation":"

The name of the S3 bucket where the disk image is located.

" + }, + "S3Key":{ + "shape":"String", + "documentation":"

The file name of the disk image.

" + } + }, + "documentation":"

Describes the S3 bucket for the disk image.

" + }, + "UserBucketDetails":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"String", + "documentation":"

The S3 bucket from which the disk image was created.

", + "locationName":"s3Bucket" + }, + "S3Key":{ + "shape":"String", + "documentation":"

The file name of the disk image.

", + "locationName":"s3Key" + } + }, + "documentation":"

Describes the S3 bucket for the disk image.

" + }, + "UserData":{ + "type":"structure", + "members":{ + "Data":{ + "shape":"String", + "documentation":"

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "locationName":"data" + } + }, + "documentation":"

Describes the user data for an instance.

", + "sensitive":true + }, + "UserGroupStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"UserGroup" + } + }, + "UserIdGroupPair":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description for the security group rule that references this user ID group pair.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", + "locationName":"description" + }, + "GroupId":{ + "shape":"String", + "documentation":"

The ID of the security group.

", + "locationName":"groupId" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The name of the security group. In a request, use this parameter for a security group in EC2-Classic or a default VPC only. For a security group in a nondefault VPC, use the security group ID.

For a referenced security group in another VPC, this value is not returned if the referenced security group is deleted.

", + "locationName":"groupName" + }, + "PeeringStatus":{ + "shape":"String", + "documentation":"

The status of a VPC peering connection, if applicable.

", + "locationName":"peeringStatus" + }, + "UserId":{ + "shape":"String", + "documentation":"

The ID of an AWS account.

For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another AWS account.

", + "locationName":"userId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC for the referenced security group, if applicable.

", + "locationName":"vpcId" + }, + "VpcPeeringConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPC peering connection, if applicable.

", + "locationName":"vpcPeeringConnectionId" + } + }, + "documentation":"

Describes a security group and AWS account ID pair.

" + }, + "UserIdGroupPairList":{ + "type":"list", + "member":{ + "shape":"UserIdGroupPair", + "locationName":"item" + } + }, + "UserIdGroupPairSet":{ + "type":"list", + "member":{ + "shape":"UserIdGroupPair", + "locationName":"item" + } + }, + "UserIdStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"UserId" + } + }, + "VCpuCount":{"type":"integer"}, + "VCpuInfo":{ + "type":"structure", + "members":{ + "DefaultVCpus":{ + "shape":"VCpuCount", + "documentation":"

The default number of vCPUs for the instance type.

", + "locationName":"defaultVCpus" + }, + "DefaultCores":{ + "shape":"CoreCount", + "documentation":"

The default number of cores for the instance type.

", + "locationName":"defaultCores" + }, + "DefaultThreadsPerCore":{ + "shape":"ThreadsPerCore", + "documentation":"

The default number of threads per core for the instance type.

", + "locationName":"defaultThreadsPerCore" + }, + "ValidCores":{ + "shape":"CoreCountList", + "documentation":"

List of the valid number of cores that can be configured for the instance type.

", + "locationName":"validCores" + }, + "ValidThreadsPerCore":{ + "shape":"ThreadsPerCoreList", + "documentation":"

List of the valid number of threads per core that can be configured for the instance type.

", + "locationName":"validThreadsPerCore" + } + }, + "documentation":"

Describes the vCPU configurations for the instance type.

" + }, + "ValidationError":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

The error message that describes why the parameter or parameter combination is not valid. For more information about error messages, see Error Codes.

", + "locationName":"message" + } + }, + "documentation":"

The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

" + }, + "ValidationWarning":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"ErrorSet", + "documentation":"

The error codes and error messages.

", + "locationName":"errorSet" + } + }, + "documentation":"

The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

" + }, + "ValueStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "VersionDescription":{ + "type":"string", + "max":255 + }, + "VersionStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, + "VgwTelemetry":{ + "type":"structure", + "members":{ + "AcceptedRouteCount":{ + "shape":"Integer", + "documentation":"

The number of accepted routes.

", + "locationName":"acceptedRouteCount" + }, + "LastStatusChange":{ + "shape":"DateTime", + "documentation":"

The date and time of the last change in status.

", + "locationName":"lastStatusChange" + }, + "OutsideIpAddress":{ + "shape":"String", + "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

", + "locationName":"outsideIpAddress" + }, + "Status":{ + "shape":"TelemetryStatus", + "documentation":"

The status of the VPN tunnel.

", + "locationName":"status" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

If an error occurs, a description of the error.

", + "locationName":"statusMessage" + }, + "CertificateArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

", + "locationName":"certificateArn" + } + }, + "documentation":"

Describes telemetry for a VPN tunnel.

" + }, + "VgwTelemetryList":{ + "type":"list", + "member":{ + "shape":"VgwTelemetry", + "locationName":"item" + } + }, + "VirtualizationType":{ + "type":"string", + "enum":[ + "hvm", + "paravirtual" + ] + }, + "VirtualizationTypeList":{ + "type":"list", + "member":{ + "shape":"VirtualizationType", + "locationName":"item" + } + }, + "Volume":{ + "type":"structure", + "members":{ + "Attachments":{ + "shape":"VolumeAttachmentList", + "documentation":"

Information about the volume attachments.

", + "locationName":"attachmentSet" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone for the volume.

", + "locationName":"availabilityZone" + }, + "CreateTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when volume creation was initiated.

", + "locationName":"createTime" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume is encrypted.

", + "locationName":"encrypted" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", + "locationName":"kmsKeyId" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "Size":{ + "shape":"Integer", + "documentation":"

The size of the volume, in GiBs.

", + "locationName":"size" + }, + "SnapshotId":{ + "shape":"String", + "documentation":"

The snapshot from which the volume was created, if applicable.

", + "locationName":"snapshotId" + }, + "State":{ + "shape":"VolumeState", + "documentation":"

The volume state.

", + "locationName":"status" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For Provisioned IOPS SSD volumes, this represents the number of IOPS that are provisioned for the volume. For General Purpose SSD volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information, see Amazon EBS Volume Types in the Amazon Elastic Compute Cloud User Guide.

Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed only on Nitro-based instances. Other instance families guarantee performance up to 32,000 IOPS.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

", + "locationName":"iops" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the volume.

", + "locationName":"tagSet" + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard for Magnetic volumes.

", + "locationName":"volumeType" + }, + "FastRestored":{ + "shape":"Boolean", + "documentation":"

Indicates whether the volume was created using fast snapshot restore.

", + "locationName":"fastRestored" + }, + "MultiAttachEnabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether Amazon EBS Multi-Attach is enabled.

", + "locationName":"multiAttachEnabled" + } + }, + "documentation":"

Describes a volume.

" + }, + "VolumeAttachment":{ + "type":"structure", + "members":{ + "AttachTime":{ + "shape":"DateTime", + "documentation":"

The time stamp when the attachment initiated.

", + "locationName":"attachTime" + }, + "Device":{ + "shape":"String", + "documentation":"

The device name.

", + "locationName":"device" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance.

", + "locationName":"instanceId" + }, + "State":{ + "shape":"VolumeAttachmentState", + "documentation":"

The attachment state of the volume.

", + "locationName":"status" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Indicates whether the EBS volume is deleted on instance termination.

", + "locationName":"deleteOnTermination" + } + }, + "documentation":"

Describes volume attachment details.

" + }, + "VolumeAttachmentList":{ + "type":"list", + "member":{ + "shape":"VolumeAttachment", + "locationName":"item" + } + }, + "VolumeAttachmentState":{ + "type":"string", + "enum":[ + "attaching", + "attached", + "detaching", + "detached", + "busy" + ] + }, + "VolumeAttributeName":{ + "type":"string", + "enum":[ + "autoEnableIO", + "productCodes" + ] + }, + "VolumeDetail":{ + "type":"structure", + "required":["Size"], + "members":{ + "Size":{ + "shape":"Long", + "documentation":"

The size of the volume, in GiB.

", + "locationName":"size" + } + }, + "documentation":"

Describes an EBS volume.

" + }, + "VolumeId":{"type":"string"}, + "VolumeIdStringList":{ + "type":"list", + "member":{ + "shape":"VolumeId", + "locationName":"VolumeId" + } + }, + "VolumeList":{ + "type":"list", + "member":{ + "shape":"Volume", + "locationName":"item" + } + }, + "VolumeModification":{ + "type":"structure", + "members":{ + "VolumeId":{ + "shape":"String", + "documentation":"

The ID of the volume.

", + "locationName":"volumeId" + }, + "ModificationState":{ + "shape":"VolumeModificationState", + "documentation":"

The current modification state. The modification state is null for unmodified volumes.

", + "locationName":"modificationState" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A status message about the modification progress or failure.

", + "locationName":"statusMessage" + }, + "TargetSize":{ + "shape":"Integer", + "documentation":"

The target size of the volume, in GiB.

", + "locationName":"targetSize" + }, + "TargetIops":{ + "shape":"Integer", + "documentation":"

The target IOPS rate of the volume.

", + "locationName":"targetIops" + }, + "TargetVolumeType":{ + "shape":"VolumeType", + "documentation":"

The target EBS volume type of the volume.

", + "locationName":"targetVolumeType" + }, + "OriginalSize":{ + "shape":"Integer", + "documentation":"

The original size of the volume.

", + "locationName":"originalSize" + }, + "OriginalIops":{ + "shape":"Integer", + "documentation":"

The original IOPS rate of the volume.

", + "locationName":"originalIops" + }, + "OriginalVolumeType":{ + "shape":"VolumeType", + "documentation":"

The original EBS volume type of the volume.

", + "locationName":"originalVolumeType" + }, + "Progress":{ + "shape":"Long", + "documentation":"

The modification progress, from 0 to 100 percent complete.

", + "locationName":"progress" + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

The modification start time.

", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

The modification completion or failure time.

", + "locationName":"endTime" + } + }, + "documentation":"

Describes the modification status of an EBS volume.

If the volume has never been modified, some element values will be null.

" + }, + "VolumeModificationList":{ + "type":"list", + "member":{ + "shape":"VolumeModification", + "locationName":"item" + } + }, + "VolumeModificationState":{ + "type":"string", + "enum":[ + "modifying", + "optimizing", + "completed", + "failed" + ] + }, + "VolumeState":{ + "type":"string", + "enum":[ + "creating", + "available", + "in-use", + "deleting", + "deleted", + "error" + ] + }, + "VolumeStatusAction":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The code identifying the operation, for example, enable-volume-io.

", + "locationName":"code" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the operation.

", + "locationName":"description" + }, + "EventId":{ + "shape":"String", + "documentation":"

The ID of the event associated with this operation.

", + "locationName":"eventId" + }, + "EventType":{ + "shape":"String", + "documentation":"

The event type associated with this operation.

", + "locationName":"eventType" + } + }, + "documentation":"

Describes a volume status operation code.

" + }, + "VolumeStatusActionsList":{ + "type":"list", + "member":{ + "shape":"VolumeStatusAction", + "locationName":"item" + } + }, + "VolumeStatusAttachmentStatus":{ + "type":"structure", + "members":{ + "IoPerformance":{ + "shape":"String", + "documentation":"

The maximum IOPS supported by the attached instance.

", + "locationName":"ioPerformance" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the attached instance.

", + "locationName":"instanceId" + } + }, + "documentation":"

Information about the instances to which the volume is attached.

" + }, + "VolumeStatusAttachmentStatusList":{ + "type":"list", + "member":{ + "shape":"VolumeStatusAttachmentStatus", + "locationName":"item" + } + }, + "VolumeStatusDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"VolumeStatusName", + "documentation":"

The name of the volume status.

", + "locationName":"name" + }, + "Status":{ + "shape":"String", + "documentation":"

The intended status of the volume status.

", + "locationName":"status" + } + }, + "documentation":"

Describes a volume status.

" + }, + "VolumeStatusDetailsList":{ + "type":"list", + "member":{ + "shape":"VolumeStatusDetails", + "locationName":"item" + } + }, + "VolumeStatusEvent":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the event.

", + "locationName":"description" + }, + "EventId":{ + "shape":"String", + "documentation":"

The ID of this event.

", + "locationName":"eventId" + }, + "EventType":{ + "shape":"String", + "documentation":"

The type of this event.

", + "locationName":"eventType" + }, + "NotAfter":{ + "shape":"MillisecondDateTime", + "documentation":"

The latest end time of the event.

", + "locationName":"notAfter" + }, + "NotBefore":{ + "shape":"MillisecondDateTime", + "documentation":"

The earliest start time of the event.

", + "locationName":"notBefore" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the instance associated with the event.

", + "locationName":"instanceId" + } + }, + "documentation":"

Describes a volume status event.

" + }, + "VolumeStatusEventsList":{ + "type":"list", + "member":{ + "shape":"VolumeStatusEvent", + "locationName":"item" + } + }, + "VolumeStatusInfo":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"VolumeStatusDetailsList", + "documentation":"

The details of the volume status.

", + "locationName":"details" + }, + "Status":{ + "shape":"VolumeStatusInfoStatus", + "documentation":"

The status of the volume.

", + "locationName":"status" + } + }, + "documentation":"

Describes the status of a volume.

" + }, + "VolumeStatusInfoStatus":{ + "type":"string", + "enum":[ + "ok", + "impaired", + "insufficient-data" + ] + }, + "VolumeStatusItem":{ + "type":"structure", + "members":{ + "Actions":{ + "shape":"VolumeStatusActionsList", + "documentation":"

The details of the operation.

", + "locationName":"actionsSet" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the volume.

", + "locationName":"availabilityZone" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "locationName":"outpostArn" + }, + "Events":{ + "shape":"VolumeStatusEventsList", + "documentation":"

A list of events associated with the volume.

", + "locationName":"eventsSet" + }, + "VolumeId":{ + "shape":"String", + "documentation":"

The volume ID.

", + "locationName":"volumeId" + }, + "VolumeStatus":{ + "shape":"VolumeStatusInfo", + "documentation":"

The volume status.

", + "locationName":"volumeStatus" + }, + "AttachmentStatuses":{ + "shape":"VolumeStatusAttachmentStatusList", + "documentation":"

Information about the instances to which the volume is attached.

", + "locationName":"attachmentStatuses" + } + }, + "documentation":"

Describes the volume status.

" + }, + "VolumeStatusList":{ + "type":"list", + "member":{ + "shape":"VolumeStatusItem", + "locationName":"item" + } + }, + "VolumeStatusName":{ + "type":"string", + "enum":[ + "io-enabled", + "io-performance" + ] + }, + "VolumeType":{ + "type":"string", + "enum":[ + "standard", + "io1", + "gp2", + "sc1", + "st1" + ] + }, + "Vpc":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The primary IPv4 CIDR block for the VPC.

", + "locationName":"cidrBlock" + }, + "DhcpOptionsId":{ + "shape":"String", + "documentation":"

The ID of the set of DHCP options you've associated with the VPC (or default if the default options are associated with the VPC).

", + "locationName":"dhcpOptionsId" + }, + "State":{ + "shape":"VpcState", + "documentation":"

The current state of the VPC.

", + "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the VPC.

", + "locationName":"ownerId" + }, + "InstanceTenancy":{ + "shape":"Tenancy", + "documentation":"

The allowed tenancy of instances launched into the VPC.

", + "locationName":"instanceTenancy" + }, + "Ipv6CidrBlockAssociationSet":{ + "shape":"VpcIpv6CidrBlockAssociationSet", + "documentation":"

Information about the IPv6 CIDR blocks associated with the VPC.

", + "locationName":"ipv6CidrBlockAssociationSet" + }, + "CidrBlockAssociationSet":{ + "shape":"VpcCidrBlockAssociationSet", + "documentation":"

Information about the IPv4 CIDR blocks associated with the VPC.

", + "locationName":"cidrBlockAssociationSet" + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPC is the default VPC.

", + "locationName":"isDefault" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPC.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a VPC.

" + }, + "VpcAttachment":{ + "type":"structure", + "members":{ + "State":{ + "shape":"AttachmentStatus", + "documentation":"

The current state of the attachment.

", + "locationName":"state" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes an attachment between a virtual private gateway and a VPC.

" + }, + "VpcAttachmentList":{ + "type":"list", + "member":{ + "shape":"VpcAttachment", + "locationName":"item" + } + }, + "VpcAttributeName":{ + "type":"string", + "enum":[ + "enableDnsSupport", + "enableDnsHostnames" + ] + }, + "VpcCidrAssociationId":{"type":"string"}, + "VpcCidrBlockAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID for the IPv4 CIDR block.

", + "locationName":"associationId" + }, + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR block.

", + "locationName":"cidrBlock" + }, + "CidrBlockState":{ + "shape":"VpcCidrBlockState", + "documentation":"

Information about the state of the CIDR block.

", + "locationName":"cidrBlockState" + } + }, + "documentation":"

Describes an IPv4 CIDR block associated with a VPC.

" + }, + "VpcCidrBlockAssociationSet":{ + "type":"list", + "member":{ + "shape":"VpcCidrBlockAssociation", + "locationName":"item" + } + }, + "VpcCidrBlockState":{ + "type":"structure", + "members":{ + "State":{ + "shape":"VpcCidrBlockStateCode", + "documentation":"

The state of the CIDR block.

", + "locationName":"state" + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

A message about the status of the CIDR block, if applicable.

", + "locationName":"statusMessage" + } + }, + "documentation":"

Describes the state of a CIDR block.

" + }, + "VpcCidrBlockStateCode":{ + "type":"string", + "enum":[ + "associating", + "associated", + "disassociating", + "disassociated", + "failing", + "failed" + ] + }, + "VpcClassicLink":{ + "type":"structure", + "members":{ + "ClassicLinkEnabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPC is enabled for ClassicLink.

", + "locationName":"classicLinkEnabled" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPC.

", + "locationName":"tagSet" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + } + }, + "documentation":"

Describes whether a VPC is enabled for ClassicLink.

" + }, + "VpcClassicLinkIdList":{ + "type":"list", + "member":{ + "shape":"VpcId", + "locationName":"VpcId" + } + }, + "VpcClassicLinkList":{ + "type":"list", + "member":{ + "shape":"VpcClassicLink", + "locationName":"item" + } + }, + "VpcEndpoint":{ + "type":"structure", + "members":{ + "VpcEndpointId":{ + "shape":"String", + "documentation":"

The ID of the VPC endpoint.

", + "locationName":"vpcEndpointId" + }, + "VpcEndpointType":{ + "shape":"VpcEndpointType", + "documentation":"

The type of endpoint.

", + "locationName":"vpcEndpointType" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC to which the endpoint is associated.

", + "locationName":"vpcId" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The name of the service to which the endpoint is associated.

", + "locationName":"serviceName" + }, + "State":{ + "shape":"State", + "documentation":"

The state of the VPC endpoint.

", + "locationName":"state" + }, + "PolicyDocument":{ + "shape":"String", + "documentation":"

The policy document associated with the endpoint, if applicable.

", + "locationName":"policyDocument" + }, + "RouteTableIds":{ + "shape":"ValueStringList", + "documentation":"

(Gateway endpoint) One or more route tables associated with the endpoint.

", + "locationName":"routeTableIdSet" + }, + "SubnetIds":{ + "shape":"ValueStringList", + "documentation":"

(Interface endpoint) One or more subnets in which the endpoint is located.

", + "locationName":"subnetIdSet" + }, + "Groups":{ + "shape":"GroupIdentifierSet", + "documentation":"

(Interface endpoint) Information about the security groups that are associated with the network interface.

", + "locationName":"groupSet" + }, + "PrivateDnsEnabled":{ + "shape":"Boolean", + "documentation":"

(Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

", + "locationName":"privateDnsEnabled" + }, + "RequesterManaged":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPC endpoint is being managed by its service.

", + "locationName":"requesterManaged" + }, + "NetworkInterfaceIds":{ + "shape":"ValueStringList", + "documentation":"

(Interface endpoint) One or more network interfaces for the endpoint.

", + "locationName":"networkInterfaceIdSet" + }, + "DnsEntries":{ + "shape":"DnsEntrySet", + "documentation":"

(Interface endpoint) The DNS entries for the endpoint.

", + "locationName":"dnsEntrySet" + }, + "CreationTimestamp":{ + "shape":"MillisecondDateTime", + "documentation":"

The date and time that the VPC endpoint was created.

", + "locationName":"creationTimestamp" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPC endpoint.

", + "locationName":"tagSet" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The ID of the AWS account that owns the VPC endpoint.

", + "locationName":"ownerId" + }, + "LastError":{ + "shape":"LastError", + "documentation":"

The last error that occurred for VPC endpoint.

", + "locationName":"lastError" + } + }, + "documentation":"

Describes a VPC endpoint.

" + }, + "VpcEndpointConnection":{ + "type":"structure", + "members":{ + "ServiceId":{ + "shape":"String", + "documentation":"

The ID of the service to which the endpoint is connected.

", + "locationName":"serviceId" + }, + "VpcEndpointId":{ + "shape":"String", + "documentation":"

The ID of the VPC endpoint.

", + "locationName":"vpcEndpointId" + }, + "VpcEndpointOwner":{ + "shape":"String", + "documentation":"

The AWS account ID of the owner of the VPC endpoint.

", + "locationName":"vpcEndpointOwner" + }, + "VpcEndpointState":{ + "shape":"State", + "documentation":"

The state of the VPC endpoint.

", + "locationName":"vpcEndpointState" + }, + "CreationTimestamp":{ + "shape":"MillisecondDateTime", + "documentation":"

The date and time that the VPC endpoint was created.

", + "locationName":"creationTimestamp" + }, + "DnsEntries":{ + "shape":"DnsEntrySet", + "documentation":"

The DNS entries for the VPC endpoint.

", + "locationName":"dnsEntrySet" + }, + "NetworkLoadBalancerArns":{ + "shape":"ValueStringList", + "documentation":"

The Amazon Resource Names (ARNs) of the network load balancers for the service.

", + "locationName":"networkLoadBalancerArnSet" + } + }, + "documentation":"

Describes a VPC endpoint connection to a service.

" + }, + "VpcEndpointConnectionSet":{ + "type":"list", + "member":{ + "shape":"VpcEndpointConnection", + "locationName":"item" + } + }, + "VpcEndpointId":{"type":"string"}, + "VpcEndpointIdList":{ + "type":"list", + "member":{ + "shape":"VpcEndpointId", + "locationName":"item" + } + }, + "VpcEndpointRouteTableIdList":{ + "type":"list", + "member":{ + "shape":"RouteTableId", + "locationName":"item" + } + }, + "VpcEndpointSecurityGroupIdList":{ + "type":"list", + "member":{ + "shape":"SecurityGroupId", + "locationName":"item" + } + }, + "VpcEndpointServiceId":{"type":"string"}, + "VpcEndpointServiceIdList":{ + "type":"list", + "member":{ + "shape":"VpcEndpointServiceId", + "locationName":"item" + } + }, + "VpcEndpointSet":{ + "type":"list", + "member":{ + "shape":"VpcEndpoint", + "locationName":"item" + } + }, + "VpcEndpointSubnetIdList":{ + "type":"list", + "member":{ + "shape":"SubnetId", + "locationName":"item" + } + }, + "VpcEndpointType":{ + "type":"string", + "enum":[ + "Interface", + "Gateway" + ] + }, + "VpcFlowLogId":{"type":"string"}, + "VpcId":{"type":"string"}, + "VpcIdStringList":{ + "type":"list", + "member":{ + "shape":"VpcId", + "locationName":"VpcId" + } + }, + "VpcIpv6CidrBlockAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"String", + "documentation":"

The association ID for the IPv6 CIDR block.

", + "locationName":"associationId" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "documentation":"

The IPv6 CIDR block.

", + "locationName":"ipv6CidrBlock" + }, + "Ipv6CidrBlockState":{ + "shape":"VpcCidrBlockState", + "documentation":"

Information about the state of the CIDR block.

", + "locationName":"ipv6CidrBlockState" + }, + "NetworkBorderGroup":{ + "shape":"String", + "documentation":"

The name of the location from which we advertise the IPV6 CIDR block.

", + "locationName":"networkBorderGroup" + }, + "Ipv6Pool":{ + "shape":"String", + "documentation":"

The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

", + "locationName":"ipv6Pool" + } + }, + "documentation":"

Describes an IPv6 CIDR block associated with a VPC.

" + }, + "VpcIpv6CidrBlockAssociationSet":{ + "type":"list", + "member":{ + "shape":"VpcIpv6CidrBlockAssociation", + "locationName":"item" + } + }, + "VpcList":{ + "type":"list", + "member":{ + "shape":"Vpc", + "locationName":"item" + } + }, + "VpcPeeringConnection":{ + "type":"structure", + "members":{ + "AccepterVpcInfo":{ + "shape":"VpcPeeringConnectionVpcInfo", + "documentation":"

Information about the accepter VPC. CIDR block information is only returned when describing an active VPC peering connection.

", + "locationName":"accepterVpcInfo" + }, + "ExpirationTime":{ + "shape":"DateTime", + "documentation":"

The time that an unaccepted VPC peering connection will expire.

", + "locationName":"expirationTime" + }, + "RequesterVpcInfo":{ + "shape":"VpcPeeringConnectionVpcInfo", + "documentation":"

Information about the requester VPC. CIDR block information is only returned when describing an active VPC peering connection.

", + "locationName":"requesterVpcInfo" + }, + "Status":{ + "shape":"VpcPeeringConnectionStateReason", + "documentation":"

The status of the VPC peering connection.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the resource.

", + "locationName":"tagSet" + }, + "VpcPeeringConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPC peering connection.

", + "locationName":"vpcPeeringConnectionId" + } + }, + "documentation":"

Describes a VPC peering connection.

" + }, + "VpcPeeringConnectionId":{"type":"string"}, + "VpcPeeringConnectionIdList":{ + "type":"list", + "member":{ + "shape":"VpcPeeringConnectionId", + "locationName":"item" + } + }, + "VpcPeeringConnectionList":{ + "type":"list", + "member":{ + "shape":"VpcPeeringConnection", + "locationName":"item" + } + }, + "VpcPeeringConnectionOptionsDescription":{ + "type":"structure", + "members":{ + "AllowDnsResolutionFromRemoteVpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether a local VPC can resolve public DNS hostnames to private IP addresses when queried from instances in a peer VPC.

", + "locationName":"allowDnsResolutionFromRemoteVpc" + }, + "AllowEgressFromLocalClassicLinkToRemoteVpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether a local ClassicLink connection can communicate with the peer VPC over the VPC peering connection.

", + "locationName":"allowEgressFromLocalClassicLinkToRemoteVpc" + }, + "AllowEgressFromLocalVpcToRemoteClassicLink":{ + "shape":"Boolean", + "documentation":"

Indicates whether a local VPC can communicate with a ClassicLink connection in the peer VPC over the VPC peering connection.

", + "locationName":"allowEgressFromLocalVpcToRemoteClassicLink" + } + }, + "documentation":"

Describes the VPC peering connection options.

" + }, + "VpcPeeringConnectionStateReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"VpcPeeringConnectionStateReasonCode", + "documentation":"

The status of the VPC peering connection.

", + "locationName":"code" + }, + "Message":{ + "shape":"String", + "documentation":"

A message that provides more information about the status, if applicable.

", + "locationName":"message" + } + }, + "documentation":"

Describes the status of a VPC peering connection.

" + }, + "VpcPeeringConnectionStateReasonCode":{ + "type":"string", + "enum":[ + "initiating-request", + "pending-acceptance", + "active", + "deleted", + "rejected", + "failed", + "expired", + "provisioning", + "deleting" + ] + }, + "VpcPeeringConnectionVpcInfo":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"String", + "documentation":"

The IPv4 CIDR block for the VPC.

", + "locationName":"cidrBlock" + }, + "Ipv6CidrBlockSet":{ + "shape":"Ipv6CidrBlockSet", + "documentation":"

The IPv6 CIDR block for the VPC.

", + "locationName":"ipv6CidrBlockSet" + }, + "CidrBlockSet":{ + "shape":"CidrBlockSet", + "documentation":"

Information about the IPv4 CIDR blocks for the VPC.

", + "locationName":"cidrBlockSet" + }, + "OwnerId":{ + "shape":"String", + "documentation":"

The AWS account ID of the VPC owner.

", + "locationName":"ownerId" + }, + "PeeringOptions":{ + "shape":"VpcPeeringConnectionOptionsDescription", + "documentation":"

Information about the VPC peering connection options for the accepter or requester VPC.

", + "locationName":"peeringOptions" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The ID of the VPC.

", + "locationName":"vpcId" + }, + "Region":{ + "shape":"String", + "documentation":"

The Region in which the VPC is located.

", + "locationName":"region" + } + }, + "documentation":"

Describes a VPC in a VPC peering connection.

" + }, + "VpcState":{ + "type":"string", + "enum":[ + "pending", + "available" + ] + }, + "VpcTenancy":{ + "type":"string", + "enum":["default"] + }, + "VpnConnection":{ + "type":"structure", + "members":{ + "CustomerGatewayConfiguration":{ + "shape":"String", + "documentation":"

The configuration information for the VPN connection's customer gateway (in the native XML format). This element is always present in the CreateVpnConnection response; however, it's present in the DescribeVpnConnections response only if the VPN connection is in the pending or available state.

", + "locationName":"customerGatewayConfiguration" + }, + "CustomerGatewayId":{ + "shape":"String", + "documentation":"

The ID of the customer gateway at your end of the VPN connection.

", + "locationName":"customerGatewayId" + }, + "Category":{ + "shape":"String", + "documentation":"

The category of the VPN connection. A value of VPN indicates an AWS VPN connection. A value of VPN-Classic indicates an AWS Classic VPN connection.

", + "locationName":"category" + }, + "State":{ + "shape":"VpnState", + "documentation":"

The current state of the VPN connection.

", + "locationName":"state" + }, + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection.

", + "locationName":"type" + }, + "VpnConnectionId":{ + "shape":"String", + "documentation":"

The ID of the VPN connection.

", + "locationName":"vpnConnectionId" + }, + "VpnGatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway at the AWS side of the VPN connection.

", + "locationName":"vpnGatewayId" + }, + "TransitGatewayId":{ + "shape":"String", + "documentation":"

The ID of the transit gateway associated with the VPN connection.

", + "locationName":"transitGatewayId" + }, + "Options":{ + "shape":"VpnConnectionOptions", + "documentation":"

The VPN connection options.

", + "locationName":"options" + }, + "Routes":{ + "shape":"VpnStaticRouteList", + "documentation":"

The static routes associated with the VPN connection.

", + "locationName":"routes" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the VPN connection.

", + "locationName":"tagSet" + }, + "VgwTelemetry":{ + "shape":"VgwTelemetryList", + "documentation":"

Information about the VPN tunnel.

", + "locationName":"vgwTelemetry" + } + }, + "documentation":"

Describes a VPN connection.

" + }, + "VpnConnectionId":{"type":"string"}, + "VpnConnectionIdStringList":{ + "type":"list", + "member":{ + "shape":"VpnConnectionId", + "locationName":"VpnConnectionId" + } + }, + "VpnConnectionList":{ + "type":"list", + "member":{ + "shape":"VpnConnection", + "locationName":"item" + } + }, + "VpnConnectionOptions":{ + "type":"structure", + "members":{ + "EnableAcceleration":{ + "shape":"Boolean", + "documentation":"

Indicates whether acceleration is enabled for the VPN connection.

", + "locationName":"enableAcceleration" + }, + "StaticRoutesOnly":{ + "shape":"Boolean", + "documentation":"

Indicates whether the VPN connection uses static routes only. Static routes must be used for devices that don't support BGP.

", + "locationName":"staticRoutesOnly" + }, + "TunnelOptions":{ + "shape":"TunnelOptionsList", + "documentation":"

Indicates the VPN tunnel options.

", + "locationName":"tunnelOptionSet" + } + }, + "documentation":"

Describes VPN connection options.

" + }, + "VpnConnectionOptionsSpecification":{ + "type":"structure", + "members":{ + "EnableAcceleration":{ + "shape":"Boolean", + "documentation":"

Indicate whether to enable acceleration for the VPN connection.

Default: false

" + }, + "StaticRoutesOnly":{ + "shape":"Boolean", + "documentation":"

Indicate whether the VPN connection uses static routes only. If you are creating a VPN connection for a device that does not support BGP, you must specify true. Use CreateVpnConnectionRoute to create a static route.

Default: false

", + "locationName":"staticRoutesOnly" + }, + "TunnelOptions":{ + "shape":"VpnTunnelOptionsSpecificationsList", + "documentation":"

The tunnel options for the VPN connection.

" + } + }, + "documentation":"

Describes VPN connection options.

" + }, + "VpnEcmpSupportValue":{ + "type":"string", + "enum":[ + "enable", + "disable" + ] + }, + "VpnGateway":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", + "locationName":"availabilityZone" + }, + "State":{ + "shape":"VpnState", + "documentation":"

The current state of the virtual private gateway.

", + "locationName":"state" + }, + "Type":{ + "shape":"GatewayType", + "documentation":"

The type of VPN connection the virtual private gateway supports.

", + "locationName":"type" + }, + "VpcAttachments":{ + "shape":"VpcAttachmentList", + "documentation":"

Any VPCs attached to the virtual private gateway.

", + "locationName":"attachments" + }, + "VpnGatewayId":{ + "shape":"String", + "documentation":"

The ID of the virtual private gateway.

", + "locationName":"vpnGatewayId" + }, + "AmazonSideAsn":{ + "shape":"Long", + "documentation":"

The private Autonomous System Number (ASN) for the Amazon side of a BGP session.

", + "locationName":"amazonSideAsn" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Any tags assigned to the virtual private gateway.

", + "locationName":"tagSet" + } + }, + "documentation":"

Describes a virtual private gateway.

" + }, + "VpnGatewayId":{"type":"string"}, + "VpnGatewayIdStringList":{ + "type":"list", + "member":{ + "shape":"VpnGatewayId", + "locationName":"VpnGatewayId" + } + }, + "VpnGatewayList":{ + "type":"list", + "member":{ + "shape":"VpnGateway", + "locationName":"item" + } + }, + "VpnProtocol":{ + "type":"string", + "enum":["openvpn"] + }, + "VpnState":{ + "type":"string", + "enum":[ + "pending", + "available", + "deleting", + "deleted" + ] + }, + "VpnStaticRoute":{ + "type":"structure", + "members":{ + "DestinationCidrBlock":{ + "shape":"String", + "documentation":"

The CIDR block associated with the local subnet of the customer data center.

", + "locationName":"destinationCidrBlock" + }, + "Source":{ + "shape":"VpnStaticRouteSource", + "documentation":"

Indicates how the routes were provided.

", + "locationName":"source" + }, + "State":{ + "shape":"VpnState", + "documentation":"

The current state of the static route.

", + "locationName":"state" + } + }, + "documentation":"

Describes a static route for a VPN connection.

" + }, + "VpnStaticRouteList":{ + "type":"list", + "member":{ + "shape":"VpnStaticRoute", + "locationName":"item" + } + }, + "VpnStaticRouteSource":{ + "type":"string", + "enum":["Static"] + }, + "VpnTunnelOptionsSpecification":{ + "type":"structure", + "members":{ + "TunnelInsideCidr":{ + "shape":"String", + "documentation":"

The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

  • 169.254.0.0/30

  • 169.254.1.0/30

  • 169.254.2.0/30

  • 169.254.3.0/30

  • 169.254.4.0/30

  • 169.254.5.0/30

  • 169.254.169.252/30

" + }, + "PreSharedKey":{ + "shape":"String", + "documentation":"

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

" + }, + "Phase1LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 1 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 28,800.

Default: 28800

" + }, + "Phase2LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 2 of the IKE negotiation, in seconds.

Constraints: A value between 900 and 3,600. The value must be less than the value for Phase1LifetimeSeconds.

Default: 3600

" + }, + "RekeyMarginTimeSeconds":{ + "shape":"Integer", + "documentation":"

The margin time, in seconds, before the phase 2 lifetime expires, during which the AWS side of the VPN connection performs an IKE rekey. The exact time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.

Constraints: A value between 60 and half of Phase2LifetimeSeconds.

Default: 540

" + }, + "RekeyFuzzPercentage":{ + "shape":"Integer", + "documentation":"

The percentage of the rekey window (determined by RekeyMarginTimeSeconds) during which the rekey time is randomly selected.

Constraints: A value between 0 and 100.

Default: 100

" + }, + "ReplayWindowSize":{ + "shape":"Integer", + "documentation":"

The number of packets in an IKE replay window.

Constraints: A value between 64 and 2048.

Default: 1024

" + }, + "DPDTimeoutSeconds":{ + "shape":"Integer", + "documentation":"

The number of seconds after which a DPD timeout occurs.

Constraints: A value between 0 and 30.

Default: 30

" + }, + "Phase1EncryptionAlgorithms":{ + "shape":"Phase1EncryptionAlgorithmsRequestList", + "documentation":"

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256

", + "locationName":"Phase1EncryptionAlgorithm" + }, + "Phase2EncryptionAlgorithms":{ + "shape":"Phase2EncryptionAlgorithmsRequestList", + "documentation":"

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256

", + "locationName":"Phase2EncryptionAlgorithm" + }, + "Phase1IntegrityAlgorithms":{ + "shape":"Phase1IntegrityAlgorithmsRequestList", + "documentation":"

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256

", + "locationName":"Phase1IntegrityAlgorithm" + }, + "Phase2IntegrityAlgorithms":{ + "shape":"Phase2IntegrityAlgorithmsRequestList", + "documentation":"

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256

", + "locationName":"Phase2IntegrityAlgorithm" + }, + "Phase1DHGroupNumbers":{ + "shape":"Phase1DHGroupNumbersRequestList", + "documentation":"

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", + "locationName":"Phase1DHGroupNumber" + }, + "Phase2DHGroupNumbers":{ + "shape":"Phase2DHGroupNumbersRequestList", + "documentation":"

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", + "locationName":"Phase2DHGroupNumber" + }, + "IKEVersions":{ + "shape":"IKEVersionsRequestList", + "documentation":"

The IKE versions that are permitted for the VPN tunnel.

Valid values: ikev1 | ikev2

", + "locationName":"IKEVersion" + } + }, + "documentation":"

The tunnel options for a single VPN tunnel.

" + }, + "VpnTunnelOptionsSpecificationsList":{ + "type":"list", + "member":{"shape":"VpnTunnelOptionsSpecification"} + }, + "WithdrawByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"String", + "documentation":"

The address range, in CIDR notation.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + }, + "WithdrawByoipCidrResult":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address pool.

", + "locationName":"byoipCidr" + } + } + }, + "ZoneIdStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ZoneId" + } + }, + "ZoneNameStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ZoneName" + } + }, + "scope":{ + "type":"string", + "enum":[ + "Availability Zone", + "Region" + ] + }, + "totalFpgaMemory":{"type":"integer"}, + "totalGpuMemory":{"type":"integer"} + }, + "documentation":"Amazon Elastic Compute Cloud

Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS cloud. Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications faster.

To learn more, see the following resources:

" +} diff -Nru python-botocore-1.4.70/botocore/data/ec2/2016-11-15/waiters-2.json python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/waiters-2.json --- python-botocore-1.4.70/botocore/data/ec2/2016-11-15/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2/2016-11-15/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,640 @@ +{ + "version": 2, + "waiters": { + "InstanceExists": { + "delay": 5, + "maxAttempts": 40, + "operation": "DescribeInstances", + "acceptors": [ + { + "matcher": "path", + "expected": true, + "argument": "length(Reservations[]) > `0`", + "state": "success" + }, + { + "matcher": "error", + "expected": "InvalidInstanceID.NotFound", + "state": "retry" + } + ] + }, + "BundleTaskComplete": { + "delay": 15, + "operation": "DescribeBundleTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "complete", + "matcher": "pathAll", + "state": "success", + "argument": "BundleTasks[].State" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "BundleTasks[].State" + } + ] + }, + "ConversionTaskCancelled": { + "delay": 15, + "operation": "DescribeConversionTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "cancelled", + "matcher": "pathAll", + "state": "success", + "argument": "ConversionTasks[].State" + } + ] + }, + "ConversionTaskCompleted": { + "delay": 15, + "operation": "DescribeConversionTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "completed", + "matcher": "pathAll", + "state": "success", + "argument": "ConversionTasks[].State" + }, + { + "expected": "cancelled", + "matcher": "pathAny", + "state": "failure", + "argument": "ConversionTasks[].State" + }, + { + "expected": "cancelling", + "matcher": "pathAny", + "state": "failure", + "argument": "ConversionTasks[].State" + } + ] + }, + "ConversionTaskDeleted": { + "delay": 15, + "operation": "DescribeConversionTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "ConversionTasks[].State" + } + ] + }, + "CustomerGatewayAvailable": { + "delay": 15, + "operation": "DescribeCustomerGateways", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "CustomerGateways[].State" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "CustomerGateways[].State" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "CustomerGateways[].State" + } + ] + }, + "ExportTaskCancelled": { + "delay": 15, + "operation": "DescribeExportTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "cancelled", + "matcher": "pathAll", + "state": "success", + "argument": "ExportTasks[].State" + } + ] + }, + "ExportTaskCompleted": { + "delay": 15, + "operation": "DescribeExportTasks", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "completed", + "matcher": "pathAll", + "state": "success", + "argument": "ExportTasks[].State" + } + ] + }, + "ImageExists": { + "operation": "DescribeImages", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "matcher": "path", + "expected": true, + "argument": "length(Images[]) > `0`", + "state": "success" + }, + { + "matcher": "error", + "expected": "InvalidAMIID.NotFound", + "state": "retry" + } + ] + }, + "ImageAvailable": { + "operation": "DescribeImages", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "Images[].State", + "expected": "available" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Images[].State", + "expected": "failed" + } + ] + }, + "InstanceRunning": { + "delay": 15, + "operation": "DescribeInstances", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "running", + "matcher": "pathAll", + "state": "success", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "shutting-down", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "terminated", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "stopping", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "matcher": "error", + "expected": "InvalidInstanceID.NotFound", + "state": "retry" + } + ] + }, + "InstanceStatusOk": { + "operation": "DescribeInstanceStatus", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "InstanceStatuses[].InstanceStatus.Status", + "expected": "ok" + }, + { + "matcher": "error", + "expected": "InvalidInstanceID.NotFound", + "state": "retry" + } + ] + }, + "InstanceStopped": { + "delay": 15, + "operation": "DescribeInstances", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "stopped", + "matcher": "pathAll", + "state": "success", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "pending", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "terminated", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + } + ] + }, + "InstanceTerminated": { + "delay": 15, + "operation": "DescribeInstances", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "terminated", + "matcher": "pathAll", + "state": "success", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "pending", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + }, + { + "expected": "stopping", + "matcher": "pathAny", + "state": "failure", + "argument": "Reservations[].Instances[].State.Name" + } + ] + }, + "KeyPairExists": { + "operation": "DescribeKeyPairs", + "delay": 5, + "maxAttempts": 6, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(KeyPairs[].KeyName) > `0`" + }, + { + "expected": "InvalidKeyPair.NotFound", + "matcher": "error", + "state": "retry" + } + ] + }, + "NatGatewayAvailable": { + "operation": "DescribeNatGateways", + "delay": 15, + "maxAttempts": 40, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "NatGateways[].State", + "expected": "available" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "NatGateways[].State", + "expected": "failed" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "NatGateways[].State", + "expected": "deleting" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "NatGateways[].State", + "expected": "deleted" + }, + { + "state": "retry", + "matcher": "error", + "expected": "NatGatewayNotFound" + } + ] + }, + "NetworkInterfaceAvailable": { + "operation": "DescribeNetworkInterfaces", + "delay": 20, + "maxAttempts": 10, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "NetworkInterfaces[].Status" + }, + { + "expected": "InvalidNetworkInterfaceID.NotFound", + "matcher": "error", + "state": "failure" + } + ] + }, + "PasswordDataAvailable": { + "operation": "GetPasswordData", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "length(PasswordData) > `0`", + "expected": true + } + ] + }, + "SnapshotCompleted": { + "delay": 15, + "operation": "DescribeSnapshots", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "completed", + "matcher": "pathAll", + "state": "success", + "argument": "Snapshots[].State" + } + ] + }, + "SecurityGroupExists": { + "operation": "DescribeSecurityGroups", + "delay": 5, + "maxAttempts": 6, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(SecurityGroups[].GroupId) > `0`" + }, + { + "expected": "InvalidGroupNotFound", + "matcher": "error", + "state": "retry" + } + ] + }, + "SpotInstanceRequestFulfilled": { + "operation": "DescribeSpotInstanceRequests", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "fulfilled" + }, + { + "state": "success", + "matcher": "pathAll", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "request-canceled-and-instance-running" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "schedule-expired" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "canceled-before-fulfillment" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "bad-parameters" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "SpotInstanceRequests[].Status.Code", + "expected": "system-error" + }, + { + "state": "retry", + "matcher": "error", + "expected": "InvalidSpotInstanceRequestID.NotFound" + } + ] + }, + "SubnetAvailable": { + "delay": 15, + "operation": "DescribeSubnets", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "Subnets[].State" + } + ] + }, + "SystemStatusOk": { + "operation": "DescribeInstanceStatus", + "maxAttempts": 40, + "delay": 15, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "InstanceStatuses[].SystemStatus.Status", + "expected": "ok" + } + ] + }, + "VolumeAvailable": { + "delay": 15, + "operation": "DescribeVolumes", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "Volumes[].State" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "Volumes[].State" + } + ] + }, + "VolumeDeleted": { + "delay": 15, + "operation": "DescribeVolumes", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "Volumes[].State" + }, + { + "matcher": "error", + "expected": "InvalidVolume.NotFound", + "state": "success" + } + ] + }, + "VolumeInUse": { + "delay": 15, + "operation": "DescribeVolumes", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "in-use", + "matcher": "pathAll", + "state": "success", + "argument": "Volumes[].State" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "Volumes[].State" + } + ] + }, + "VpcAvailable": { + "delay": 15, + "operation": "DescribeVpcs", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "Vpcs[].State" + } + ] + }, + "VpcExists": { + "operation": "DescribeVpcs", + "delay": 1, + "maxAttempts": 5, + "acceptors": [ + { + "matcher": "status", + "expected": 200, + "state": "success" + }, + { + "matcher": "error", + "expected": "InvalidVpcID.NotFound", + "state": "retry" + } + ] + }, + "VpnConnectionAvailable": { + "delay": 15, + "operation": "DescribeVpnConnections", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "VpnConnections[].State" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "VpnConnections[].State" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "VpnConnections[].State" + } + ] + }, + "VpnConnectionDeleted": { + "delay": 15, + "operation": "DescribeVpnConnections", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "VpnConnections[].State" + }, + { + "expected": "pending", + "matcher": "pathAny", + "state": "failure", + "argument": "VpnConnections[].State" + } + ] + }, + "VpcPeeringConnectionExists": { + "delay": 15, + "operation": "DescribeVpcPeeringConnections", + "maxAttempts": 40, + "acceptors": [ + { + "matcher": "status", + "expected": 200, + "state": "success" + }, + { + "matcher": "error", + "expected": "InvalidVpcPeeringConnectionID.NotFound", + "state": "retry" + } + ] + }, + "VpcPeeringConnectionDeleted": { + "delay": 15, + "operation": "DescribeVpcPeeringConnections", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "VpcPeeringConnections[].Status.Code" + }, + { + "matcher": "error", + "expected": "InvalidVpcPeeringConnectionID.NotFound", + "state": "success" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/ec2-instance-connect/2018-04-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ec2-instance-connect/2018-04-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/ec2-instance-connect/2018-04-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2-instance-connect/2018-04-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/ec2-instance-connect/2018-04-02/service-2.json python-botocore-1.16.19+repack/botocore/data/ec2-instance-connect/2018-04-02/service-2.json --- python-botocore-1.4.70/botocore/data/ec2-instance-connect/2018-04-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ec2-instance-connect/2018-04-02/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,144 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-04-02", + "endpointPrefix":"ec2-instance-connect", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"EC2 Instance Connect", + "serviceFullName":"AWS EC2 Instance Connect", + "serviceId":"EC2 Instance Connect", + "signatureVersion":"v4", + "targetPrefix":"AWSEC2InstanceConnectService", + "uid":"ec2-instance-connect-2018-04-02" + }, + "operations":{ + "SendSSHPublicKey":{ + "name":"SendSSHPublicKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendSSHPublicKeyRequest"}, + "output":{"shape":"SendSSHPublicKeyResponse"}, + "errors":[ + {"shape":"AuthException"}, + {"shape":"InvalidArgsException"}, + {"shape":"ServiceException"}, + {"shape":"ThrottlingException"}, + {"shape":"EC2InstanceNotFoundException"} + ], + "documentation":"

Pushes an SSH public key to a particular OS user on a given EC2 instance for 60 seconds.

" + } + }, + "shapes":{ + "AuthException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates that either your AWS credentials are invalid or you do not have access to the EC2 instance.

", + "exception":true + }, + "AvailabilityZone":{ + "type":"string", + "max":32, + "min":6, + "pattern":"^(\\w+-){2,3}\\d+\\w+$" + }, + "EC2InstanceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates that the instance requested was not found in the given zone. Check that you have provided a valid instance ID and the correct zone.

", + "exception":true + }, + "InstanceId":{ + "type":"string", + "max":32, + "min":10, + "pattern":"^i-[a-f0-9]+$" + }, + "InstanceOSUser":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[A-Za-z_][A-Za-z0-9\\@\\._-]{0,30}[A-Za-z0-9\\$_-]?$" + }, + "InvalidArgsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates that you provided bad input. Ensure you have a valid instance ID, the correct zone, and a valid SSH public key.

", + "exception":true + }, + "RequestId":{"type":"string"}, + "SSHPublicKey":{ + "type":"string", + "max":4096, + "min":256 + }, + "SendSSHPublicKeyRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "InstanceOSUser", + "SSHPublicKey", + "AvailabilityZone" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

The EC2 instance you wish to publish the SSH key to.

" + }, + "InstanceOSUser":{ + "shape":"InstanceOSUser", + "documentation":"

The OS user on the EC2 instance whom the key may be used to authenticate as.

" + }, + "SSHPublicKey":{ + "shape":"SSHPublicKey", + "documentation":"

The public key to be published to the instance. To use it after publication you must have the matching private key.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

The availability zone the EC2 instance was launched in.

" + } + } + }, + "SendSSHPublicKeyResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"RequestId", + "documentation":"

The request ID as logged by EC2 Connect. Please provide this when contacting AWS Support.

" + }, + "Success":{ + "shape":"Success", + "documentation":"

Indicates request success.

" + } + } + }, + "ServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates that the service encountered an error. Follow the message's instructions and try again.

", + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "Success":{"type":"boolean"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

Indicates you have been making requests too frequently and have been throttled. Wait for a while and try again. If higher call volume is warranted contact AWS Support.

", + "exception":true + } + }, + "documentation":"

AWS EC2 Connect Service is a service that enables system administrators to publish temporary SSH keys to their EC2 instances in order to establish connections to their instances without leaving a permanent authentication option.

" +} diff -Nru python-botocore-1.4.70/botocore/data/ecr/2015-09-21/examples-1.json python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/examples-1.json --- python-botocore-1.4.70/botocore/data/ecr/2015-09-21/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,195 @@ +{ + "version": "1.0", + "examples": { + "BatchDeleteImage": [ + { + "input": { + "imageIds": [ + { + "imageTag": "precise" + } + ], + "repositoryName": "ubuntu" + }, + "output": { + "failures": [ + + ], + "imageIds": [ + { + "imageDigest": "sha256:examplee6d1e504117a17000003d3753086354a38375961f2e665416ef4b1b2f", + "imageTag": "precise" + } + ] + }, + "comments": { + }, + "description": "This example deletes images with the tags precise and trusty in a repository called ubuntu in the default registry for an account.", + "id": "batchdeleteimages-example-1470860541707", + "title": "To delete multiple images" + } + ], + "BatchGetImage": [ + { + "input": { + "imageIds": [ + { + "imageTag": "precise" + } + ], + "repositoryName": "ubuntu" + }, + "output": { + "failures": [ + + ], + "images": [ + { + "imageId": { + "imageDigest": "sha256:example76bdff6d83a09ba2a818f0d00000063724a9ac3ba5019c56f74ebf42a", + "imageTag": "precise" + }, + "imageManifest": "{\n \"schemaVersion\": 1,\n \"name\": \"ubuntu\",\n \"tag\": \"precise\",\n...", + "registryId": "244698725403", + "repositoryName": "ubuntu" + } + ] + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example obtains information for an image with a specified image digest ID from the repository named ubuntu in the current account.", + "id": "batchgetimage-example-1470862771437", + "title": "To obtain multiple images in a single request" + } + ], + "CreateRepository": [ + { + "input": { + "repositoryName": "project-a/nginx-web-app" + }, + "output": { + "repository": { + "registryId": "012345678901", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678901:repository/project-a/nginx-web-app", + "repositoryName": "project-a/nginx-web-app" + } + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example creates a repository called nginx-web-app inside the project-a namespace in the default registry for an account.", + "id": "createrepository-example-1470863688724", + "title": "To create a new repository" + } + ], + "DeleteRepository": [ + { + "input": { + "force": true, + "repositoryName": "ubuntu" + }, + "output": { + "repository": { + "registryId": "012345678901", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678901:repository/ubuntu", + "repositoryName": "ubuntu" + } + }, + "comments": { + "output": { + "imageManifest": "In this example, the imageManifest in the output JSON has been truncated." + } + }, + "description": "This example force deletes a repository named ubuntu in the default registry for an account. The force parameter is required if the repository contains images.", + "id": "deleterepository-example-1470863805703", + "title": "To force delete a repository" + } + ], + "DeleteRepositoryPolicy": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "policyText": "{ ... }", + "registryId": "012345678901", + "repositoryName": "ubuntu" + }, + "comments": { + }, + "description": "This example deletes the policy associated with the repository named ubuntu in the current account.", + "id": "deleterepositorypolicy-example-1470866943748", + "title": "To delete the policy associated with a repository" + } + ], + "DescribeRepositories": [ + { + "input": { + }, + "output": { + "repositories": [ + { + "registryId": "012345678910", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/ubuntu", + "repositoryName": "ubuntu" + }, + { + "registryId": "012345678910", + "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/test", + "repositoryName": "test" + } + ] + }, + "comments": { + "output": { + } + }, + "description": "The following example obtains a list and description of all repositories in the default registry to which the current user has access.", + "id": "describe-repositories-1470856017467", + "title": "To describe all repositories in the current account" + } + ], + "GetRepositoryPolicy": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"new statement\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::012345678901:role/CodeDeployDemo\"\n },\n\"Action\" : [ \"ecr:GetDownloadUrlForLayer\", \"ecr:BatchGetImage\", \"ecr:BatchCheckLayerAvailability\" ]\n } ]\n}", + "registryId": "012345678901", + "repositoryName": "ubuntu" + }, + "comments": { + }, + "description": "This example obtains the repository policy for the repository named ubuntu.", + "id": "getrepositorypolicy-example-1470867669211", + "title": "To get the current policy for a repository" + } + ], + "ListImages": [ + { + "input": { + "repositoryName": "ubuntu" + }, + "output": { + "imageIds": [ + { + "imageDigest": "sha256:764f63476bdff6d83a09ba2a818f0d35757063724a9ac3ba5019c56f74ebf42a", + "imageTag": "precise" + } + ] + }, + "comments": { + }, + "description": "This example lists all of the images in the repository named ubuntu in the default registry in the current account. ", + "id": "listimages-example-1470868161594", + "title": "To list all images in a repository" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/ecr/2015-09-21/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/paginators-1.json --- python-botocore-1.4.70/botocore/data/ecr/2015-09-21/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -17,6 +17,32 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "repositories" + }, + "DescribeImageScanFindings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "non_aggregate_keys": [ + "registryId", + "repositoryName", + "imageId", + "imageScanStatus", + "imageScanFindings" + ], + "output_token": "nextToken", + "result_key": "imageScanFindings.findings" + }, + "GetLifecyclePolicyPreview": { + "input_token": "nextToken", + "limit_key": "maxResults", + "non_aggregate_keys": [ + "registryId", + "repositoryName", + "lifecyclePolicyText", + "status", + "summary" + ], + "output_token": "nextToken", + "result_key": "previewResults" } } } diff -Nru python-botocore-1.4.70/botocore/data/ecr/2015-09-21/service-2.json python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/service-2.json --- python-botocore-1.4.70/botocore/data/ecr/2015-09-21/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -2,13 +2,16 @@ "version":"2.0", "metadata":{ "apiVersion":"2015-09-21", - "endpointPrefix":"ecr", + "endpointPrefix":"api.ecr", "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"Amazon ECR", "serviceFullName":"Amazon EC2 Container Registry", + "serviceId":"ECR", "signatureVersion":"v4", - "targetPrefix":"AmazonEC2ContainerRegistry_V20150921" + "signingName":"ecr", + "targetPrefix":"AmazonEC2ContainerRegistry_V20150921", + "uid":"ecr-2015-09-21" }, "operations":{ "BatchCheckLayerAvailability":{ @@ -24,7 +27,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ServerException"} ], - "documentation":"

Check the availability of multiple image layers in a specified registry and repository.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Checks the availability of one or more image layers in a repository.

When an image is pushed to a repository, each image layer is checked to verify if it has been uploaded before. If it has been uploaded, then the image layer is skipped.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" }, "BatchDeleteImage":{ "name":"BatchDeleteImage", @@ -39,7 +42,7 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Deletes a list of specified images within a specified repository. Images are specified with either imageTag or imageDigest.

" + "documentation":"

Deletes a list of specified images within a repository. Images are specified with either an imageTag or imageDigest.

You can remove a tag from an image by specifying the image's tag in your request. When you remove the last tag from an image, the image is deleted from your repository.

You can completely delete an image (and all of its tags) by specifying the image's digest in your request.

" }, "BatchGetImage":{ "name":"BatchGetImage", @@ -54,7 +57,7 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Gets detailed information for specified images within a specified repository. Images are specified with either imageTag or imageDigest.

" + "documentation":"

Gets detailed information for an image. Images are specified with either an imageTag or imageDigest.

When an image is pulled, the BatchGetImage API is called once to retrieve the image manifest.

" }, "CompleteLayerUpload":{ "name":"CompleteLayerUpload", @@ -74,7 +77,7 @@ {"shape":"LayerAlreadyExistsException"}, {"shape":"EmptyUploadException"} ], - "documentation":"

Inform Amazon ECR that the image layer upload for a specified registry, repository name, and upload ID, has completed. You can optionally provide a sha256 digest of the image layer for data validation purposes.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Informs Amazon ECR that the image layer upload has completed for a specified registry, repository name, and upload ID. You can optionally provide a sha256 digest of the image layer for data validation purposes.

When an image is pushed, the CompleteLayerUpload API is called once per each new image layer to verify that the upload has completed.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" }, "CreateRepository":{ "name":"CreateRepository", @@ -87,10 +90,28 @@ "errors":[ {"shape":"ServerException"}, {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, {"shape":"RepositoryAlreadyExistsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Creates an image repository.

" + "documentation":"

Creates a repository. For more information, see Amazon ECR Repositories in the Amazon Elastic Container Registry User Guide.

" + }, + "DeleteLifecyclePolicy":{ + "name":"DeleteLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLifecyclePolicyRequest"}, + "output":{"shape":"DeleteLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"LifecyclePolicyNotFoundException"} + ], + "documentation":"

Deletes the lifecycle policy associated with the specified repository.

" }, "DeleteRepository":{ "name":"DeleteRepository", @@ -106,7 +127,7 @@ {"shape":"RepositoryNotFoundException"}, {"shape":"RepositoryNotEmptyException"} ], - "documentation":"

Deletes an existing image repository. If a repository contains images, you must use the force option to delete it.

" + "documentation":"

Deletes a repository. If the repository contains images, you must either delete all images in the repository or use the force option to delete the repository.

" }, "DeleteRepositoryPolicy":{ "name":"DeleteRepositoryPolicy", @@ -122,7 +143,24 @@ {"shape":"RepositoryNotFoundException"}, {"shape":"RepositoryPolicyNotFoundException"} ], - "documentation":"

Deletes the repository policy from a specified repository.

" + "documentation":"

Deletes the repository policy associated with the specified repository.

" + }, + "DescribeImageScanFindings":{ + "name":"DescribeImageScanFindings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeImageScanFindingsRequest"}, + "output":{"shape":"DescribeImageScanFindingsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ImageNotFoundException"}, + {"shape":"ScanNotFoundException"} + ], + "documentation":"

Returns the scan findings for the specified image.

" }, "DescribeImages":{ "name":"DescribeImages", @@ -138,7 +176,7 @@ {"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.

" + "documentation":"

Returns metadata about the images in a 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.

" }, "DescribeRepositories":{ "name":"DescribeRepositories", @@ -167,7 +205,7 @@ {"shape":"ServerException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Retrieves a token that is valid for a specified registry for 12 hours. This command allows you to use the docker CLI to push and pull images with Amazon ECR. If you do not specify a registry, the default registry is assumed.

The authorizationToken returned for each registry specified is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an aws ecr get-login command that simplifies the login process.

" + "documentation":"

Retrieves an authorization token. An authorization token represents your IAM authentication credentials and can be used to access any Amazon ECR registry that your IAM principal has access to. The authorization token is valid for 12 hours.

The authorizationToken returned is a base64 encoded string that can be decoded and used in a docker login command to authenticate to a registry. The AWS CLI offers an get-login-password command that simplifies the login process. For more information, see Registry Authentication in the Amazon Elastic Container Registry User Guide.

" }, "GetDownloadUrlForLayer":{ "name":"GetDownloadUrlForLayer", @@ -184,7 +222,39 @@ {"shape":"LayerInaccessibleException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Retrieves the pre-signed Amazon S3 download URL corresponding to an image layer. You can only get URLs for image layers that are referenced in an image.

When an image is pulled, the GetDownloadUrlForLayer API is called once per image layer that is not already cached.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" + }, + "GetLifecyclePolicy":{ + "name":"GetLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLifecyclePolicyRequest"}, + "output":{"shape":"GetLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"LifecyclePolicyNotFoundException"} + ], + "documentation":"

Retrieves the lifecycle policy for the specified repository.

" + }, + "GetLifecyclePolicyPreview":{ + "name":"GetLifecyclePolicyPreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLifecyclePolicyPreviewRequest"}, + "output":{"shape":"GetLifecyclePolicyPreviewResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"LifecyclePolicyPreviewNotFoundException"} + ], + "documentation":"

Retrieves the results of the lifecycle policy preview request for the specified repository.

" }, "GetRepositoryPolicy":{ "name":"GetRepositoryPolicy", @@ -200,7 +270,7 @@ {"shape":"RepositoryNotFoundException"}, {"shape":"RepositoryPolicyNotFoundException"} ], - "documentation":"

Retrieves the repository policy for a specified repository.

" + "documentation":"

Retrieves the repository policy for the specified repository.

" }, "InitiateLayerUpload":{ "name":"InitiateLayerUpload", @@ -215,7 +285,7 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Notify Amazon ECR that you intend to upload an image layer.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Notifies Amazon ECR that you intend to upload an image layer.

When an image is pushed, the InitiateLayerUpload API is called once per image layer that has not already been uploaded. Whether or not an image layer has been uploaded is determined by the BatchCheckLayerAvailability API action.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" }, "ListImages":{ "name":"ListImages", @@ -230,7 +300,22 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Lists all the image IDs for a given repository.

You can filter images based on whether or not they are tagged by setting the tagStatus parameter to TAGGED or UNTAGGED. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

" + "documentation":"

Lists all the image IDs for the specified repository.

You can filter images based on whether or not they are tagged by using the tagStatus filter and specifying either TAGGED, UNTAGGED or ANY. For example, you can filter your results to return only UNTAGGED images and then pipe that result to a BatchDeleteImage operation to delete them. Or, you can filter your results to return only TAGGED images to list all of the tags in your repository.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

List the tags for an Amazon ECR resource.

" }, "PutImage":{ "name":"PutImage", @@ -246,9 +331,56 @@ {"shape":"RepositoryNotFoundException"}, {"shape":"ImageAlreadyExistsException"}, {"shape":"LayersNotFoundException"}, - {"shape":"LimitExceededException"} + {"shape":"ReferencedImagesNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ImageTagAlreadyExistsException"} + ], + "documentation":"

Creates or updates the image manifest and tags associated with an image.

When an image is pushed and all new image layers have been uploaded, the PutImage API is called once to create or update the image manifest and the tags associated with the image.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" + }, + "PutImageScanningConfiguration":{ + "name":"PutImageScanningConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutImageScanningConfigurationRequest"}, + "output":{"shape":"PutImageScanningConfigurationResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"} + ], + "documentation":"

Updates the image scanning configuration for the specified repository.

" + }, + "PutImageTagMutability":{ + "name":"PutImageTagMutability", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutImageTagMutabilityRequest"}, + "output":{"shape":"PutImageTagMutabilityResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"} + ], + "documentation":"

Updates the image tag mutability settings for the specified repository. For more information, see Image Tag Mutability in the Amazon Elastic Container Registry User Guide.

" + }, + "PutLifecyclePolicy":{ + "name":"PutLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLifecyclePolicyRequest"}, + "output":{"shape":"PutLifecyclePolicyResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Creates or updates the image manifest associated with an image.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Creates or updates the lifecycle policy for the specified repository. For more information, see Lifecycle Policy Template.

" }, "SetRepositoryPolicy":{ "name":"SetRepositoryPolicy", @@ -263,7 +395,76 @@ {"shape":"InvalidParameterException"}, {"shape":"RepositoryNotFoundException"} ], - "documentation":"

Applies a repository policy on a specified repository to control access permissions.

" + "documentation":"

Applies a repository policy to the specified repository to control access permissions. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.

" + }, + "StartImageScan":{ + "name":"StartImageScan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImageScanRequest"}, + "output":{"shape":"StartImageScanResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnsupportedImageTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ImageNotFoundException"} + ], + "documentation":"

Starts an image vulnerability scan. An image scan can only be started once per day on an individual image. This limit includes if an image was scanned on initial push. For more information, see Image Scanning in the Amazon Elastic Container Registry User Guide.

" + }, + "StartLifecyclePolicyPreview":{ + "name":"StartLifecyclePolicyPreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartLifecyclePolicyPreviewRequest"}, + "output":{"shape":"StartLifecyclePolicyPreviewResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"InvalidParameterException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"LifecyclePolicyNotFoundException"}, + {"shape":"LifecyclePolicyPreviewInProgressException"} + ], + "documentation":"

Starts a preview of a lifecycle policy for the specified repository. This allows you to see the results before associating the lifecycle policy with the repository.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

Adds specified tags to a resource with the specified ARN. Existing tags on a resource are not changed if they are not specified in the request parameters.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagParameterException"}, + {"shape":"TooManyTagsException"}, + {"shape":"RepositoryNotFoundException"}, + {"shape":"ServerException"} + ], + "documentation":"

Deletes specified tags from a resource.

" }, "UploadLayerPart":{ "name":"UploadLayerPart", @@ -281,11 +482,42 @@ {"shape":"UploadNotFoundException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Uploads an image layer part to Amazon ECR.

This operation is used by the Amazon ECR proxy, and it is not intended for general use by customers. Use the docker CLI to pull, tag, and push images.

" + "documentation":"

Uploads an image layer part to Amazon ECR.

When an image is pushed, each new image layer is uploaded in parts. The maximum size of each image layer part can be 20971520 bytes (or about 20MB). The UploadLayerPart API is called once per each new image layer part.

This operation is used by the Amazon ECR proxy and is not generally used by customers for pulling and pushing images. In most cases, you should use the docker CLI to pull, tag, and push images.

" } }, "shapes":{ "Arn":{"type":"string"}, + "Attribute":{ + "type":"structure", + "required":["key"], + "members":{ + "key":{ + "shape":"AttributeKey", + "documentation":"

The attribute key.

" + }, + "value":{ + "shape":"AttributeValue", + "documentation":"

The value assigned to the attribute key.

" + } + }, + "documentation":"

This data type is used in the ImageScanFinding data type.

" + }, + "AttributeKey":{ + "type":"string", + "max":128, + "min":1 + }, + "AttributeList":{ + "type":"list", + "member":{"shape":"Attribute"}, + "max":50, + "min":0 + }, + "AttributeValue":{ + "type":"string", + "max":256, + "min":1 + }, "AuthorizationData":{ "type":"structure", "members":{ @@ -399,6 +631,10 @@ "imageIds":{ "shape":"ImageIdentifierList", "documentation":"

A list of image ID references that correspond to images to describe. The format of the imageIds reference is imageTag=tag or imageDigest=digest.

" + }, + "acceptedMediaTypes":{ + "shape":"MediaTypeList", + "documentation":"

The accepted media types for the request.

Valid values: application/vnd.docker.distribution.manifest.v1+json | application/vnd.docker.distribution.manifest.v2+json | application/vnd.oci.image.manifest.v1+json

" } } }, @@ -480,6 +716,18 @@ "repositoryName":{ "shape":"RepositoryName", "documentation":"

The name to use for the repository. The repository name may be specified on its own (such as nginx-web-app) or it can be prepended with a namespace to group the repository into a category (such as project-a/nginx-web-app).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The metadata that you apply to the repository to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.

" + }, + "imageScanningConfiguration":{ + "shape":"ImageScanningConfiguration", + "documentation":"

The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository.

" } } }, @@ -493,6 +741,41 @@ } }, "CreationTimestamp":{"type":"timestamp"}, + "DeleteLifecyclePolicyRequest":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository.

" + } + } + }, + "DeleteLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON lifecycle policy text.

" + }, + "lastEvaluatedAt":{ + "shape":"EvaluationTimestamp", + "documentation":"

The time stamp of the last time that the lifecycle policy was run.

" + } + } + }, "DeleteRepositoryPolicyRequest":{ "type":"structure", "required":["repositoryName"], @@ -538,7 +821,7 @@ }, "force":{ "shape":"ForceFlag", - "documentation":"

Force the deletion of the repository if it contains images.

" + "documentation":"

If a repository contains images, forces the deletion.

" } } }, @@ -551,6 +834,58 @@ } } }, + "DescribeImageScanFindingsRequest":{ + "type":"structure", + "required":[ + "repositoryName", + "imageId" + ], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to describe the image scan findings for. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository for the image for which to describe the scan findings.

" + }, + "imageId":{"shape":"ImageIdentifier"}, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated DescribeImageScanFindings 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 image scan results returned by DescribeImageScanFindings in paginated output. When this parameter is used, DescribeImageScanFindings 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 DescribeImageScanFindings request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeImageScanFindings returns up to 100 results and a nextToken value, if applicable.

" + } + } + }, + "DescribeImageScanFindingsResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "imageId":{"shape":"ImageIdentifier"}, + "imageScanStatus":{ + "shape":"ImageScanStatus", + "documentation":"

The current state of the scan.

" + }, + "imageScanFindings":{ + "shape":"ImageScanFindings", + "documentation":"

The information contained in the image scan findings.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future DescribeImageScanFindings request. When the results of a DescribeImageScanFindings 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.

" + } + } + }, "DescribeImagesFilter":{ "type":"structure", "members":{ @@ -567,11 +902,11 @@ "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.

" + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to describe 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.

" + "documentation":"

The repository that contains the images to describe.

" }, "imageIds":{ "shape":"ImageIdentifierList", @@ -579,11 +914,11 @@ }, "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.

" + "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. This option cannot be used when you specify images with imageIds.

" }, "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.

" + "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 1000. If this parameter is not used, then DescribeImages returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify images with imageIds.

" }, "filter":{ "shape":"DescribeImagesFilter", @@ -617,11 +952,11 @@ }, "nextToken":{ "shape":"NextToken", - "documentation":"

The nextToken value returned from a previous paginated DescribeRepositories 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a previous paginated DescribeRepositories 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. This option cannot be used when you specify repositories with repositoryNames.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories 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 DescribeRepositories request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable.

" + "documentation":"

The maximum number of repository results returned by DescribeRepositories in paginated output. When this parameter is used, DescribeRepositories 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 DescribeRepositories request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then DescribeRepositories returns up to 100 results and a nextToken value, if applicable. This option cannot be used when you specify repositories with repositoryNames.

" } } }, @@ -649,8 +984,27 @@ "documentation":"

The specified layer upload does not contain any layer parts.

", "exception":true }, + "EvaluationTimestamp":{"type":"timestamp"}, "ExceptionMessage":{"type":"string"}, "ExpirationTimestamp":{"type":"timestamp"}, + "FindingDescription":{"type":"string"}, + "FindingName":{"type":"string"}, + "FindingSeverity":{ + "type":"string", + "enum":[ + "INFORMATIONAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL", + "UNDEFINED" + ] + }, + "FindingSeverityCounts":{ + "type":"map", + "key":{"shape":"FindingSeverity"}, + "value":{"shape":"SeverityCount"} + }, "ForceFlag":{"type":"boolean"}, "GetAuthorizationTokenRegistryIdList":{ "type":"list", @@ -663,7 +1017,7 @@ "members":{ "registryIds":{ "shape":"GetAuthorizationTokenRegistryIdList", - "documentation":"

A list of AWS account IDs that are associated with the registries for which to get authorization tokens. If you do not specify a registry, the default registry is assumed.

" + "documentation":"

A list of AWS account IDs that are associated with the registries for which to get AuthorizationData objects. If you do not specify a registry, the default registry is assumed.

" } } }, @@ -710,7 +1064,7 @@ } } }, - "GetRepositoryPolicyRequest":{ + "GetLifecyclePolicyPreviewRequest":{ "type":"structure", "required":["repositoryName"], "members":{ @@ -720,11 +1074,27 @@ }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository whose policy you want to retrieve.

" + "documentation":"

The name of the repository.

" + }, + "imageIds":{ + "shape":"ImageIdentifierList", + "documentation":"

The list of imageIDs to be included.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value returned from a previous paginated
 GetLifecyclePolicyPreviewRequest 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. This option cannot be used when you specify images with imageIds.

" + }, + "maxResults":{ + "shape":"LifecyclePreviewMaxResults", + "documentation":"

The maximum number of repository results returned by GetLifecyclePolicyPreviewRequest in
 paginated output. When this parameter is used, GetLifecyclePolicyPreviewRequest 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 GetLifecyclePolicyPreviewRequest request with the returned nextToken
 value. This value can be between 1 and 1000. If this
 parameter is not used, then GetLifecyclePolicyPreviewRequest returns up to
 100 results and a nextToken value, if
 applicable. This option cannot be used when you specify images with imageIds.

" + }, + "filter":{ + "shape":"LifecyclePolicyPreviewFilter", + "documentation":"

An optional parameter that filters results based on image tag status and all tags, if tagged.

" } } }, - "GetRepositoryPolicyResponse":{ + "GetLifecyclePolicyPreviewResponse":{ "type":"structure", "members":{ "registryId":{ @@ -735,46 +1105,140 @@ "shape":"RepositoryName", "documentation":"

The repository name associated with the request.

" }, - "policyText":{ - "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy text associated with the repository.

" + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON lifecycle policy text.

" + }, + "status":{ + "shape":"LifecyclePolicyPreviewStatus", + "documentation":"

The status of the lifecycle policy preview request.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The nextToken value to include in a future GetLifecyclePolicyPreview request. When the results of a GetLifecyclePolicyPreview 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.

" + }, + "previewResults":{ + "shape":"LifecyclePolicyPreviewResultList", + "documentation":"

The results of the lifecycle policy preview request.

" + }, + "summary":{ + "shape":"LifecyclePolicyPreviewSummary", + "documentation":"

The list of images that is returned as a result of the action.

" } } }, - "Image":{ + "GetLifecyclePolicyRequest":{ "type":"structure", + "required":["repositoryName"], "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry containing the image.

" + "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository associated with the image.

" - }, - "imageId":{ - "shape":"ImageIdentifier", - "documentation":"

An object containing the image tag and image digest associated with an image.

" - }, - "imageManifest":{ - "shape":"ImageManifest", - "documentation":"

The image manifest associated with the image.

" + "documentation":"

The name of the repository.

" } - }, - "documentation":"

An object representing an Amazon ECR image.

" + } }, - "ImageAlreadyExistsException":{ + "GetLifecyclePolicyResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"ExceptionMessage", - "documentation":"

The error message associated with the exception.

" - } - }, - "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":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON lifecycle policy text.

" + }, + "lastEvaluatedAt":{ + "shape":"EvaluationTimestamp", + "documentation":"

The time stamp of the last time that the lifecycle policy was run.

" + } + } + }, + "GetRepositoryPolicyRequest":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository with the policy to retrieve.

" + } + } + }, + "GetRepositoryPolicyResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "policyText":{ + "shape":"RepositoryPolicyText", + "documentation":"

The JSON repository policy text associated with the repository.

" + } + } + }, + "Image":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry containing the image.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository associated with the image.

" + }, + "imageId":{ + "shape":"ImageIdentifier", + "documentation":"

An object containing the image tag and image digest associated with an image.

" + }, + "imageManifest":{ + "shape":"ImageManifest", + "documentation":"

The image manifest associated with the image.

" + }, + "imageManifestMediaType":{ + "shape":"MediaType", + "documentation":"

The media type associated with the image manifest.

" + } + }, + "documentation":"

An object representing an Amazon ECR image.

" + }, + "ImageActionType":{ + "type":"string", + "enum":["EXPIRE"] + }, + "ImageAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ExceptionMessage", + "documentation":"

The error message associated with the exception.

" + } + }, + "documentation":"

The specified image has already been pushed, and there were no changes to the manifest or image tag after the last push.

", + "exception":true + }, + "ImageCount":{ + "type":"integer", + "min":0 + }, + "ImageDetail":{ "type":"structure", "members":{ "registryId":{ @@ -795,11 +1259,19 @@ }, "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.

" + "documentation":"

The size, in bytes, of the image in the repository.

If the image is a manifest list, this will be the max size of all manifests in the list.

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.

" + }, + "imageScanStatus":{ + "shape":"ImageScanStatus", + "documentation":"

The current state of the scan.

" + }, + "imageScanFindingsSummary":{ + "shape":"ImageScanFindingsSummary", + "documentation":"

A summary of the last completed image scan.

" } }, "documentation":"

An object that describes an image returned by a DescribeImages operation.

" @@ -834,7 +1306,8 @@ "InvalidImageTag", "ImageTagDoesNotMatchDigest", "ImageNotFound", - "MissingDigestAndTag" + "MissingDigestAndTag", + "ImageReferencedByManifestList" ] }, "ImageFailureList":{ @@ -866,7 +1339,11 @@ "type":"list", "member":{"shape":"Image"} }, - "ImageManifest":{"type":"string"}, + "ImageManifest":{ + "type":"string", + "max":4194304, + "min":1 + }, "ImageNotFoundException":{ "type":"structure", "members":{ @@ -875,23 +1352,136 @@ "documentation":"

The image requested does not exist in the specified repository.

", "exception":true }, + "ImageScanFinding":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FindingName", + "documentation":"

The name associated with the finding, usually a CVE number.

" + }, + "description":{ + "shape":"FindingDescription", + "documentation":"

The description of the finding.

" + }, + "uri":{ + "shape":"Url", + "documentation":"

A link containing additional details about the security vulnerability.

" + }, + "severity":{ + "shape":"FindingSeverity", + "documentation":"

The finding severity.

" + }, + "attributes":{ + "shape":"AttributeList", + "documentation":"

A collection of attributes of the host from which the finding is generated.

" + } + }, + "documentation":"

Contains information about an image scan finding.

" + }, + "ImageScanFindingList":{ + "type":"list", + "member":{"shape":"ImageScanFinding"} + }, + "ImageScanFindings":{ + "type":"structure", + "members":{ + "imageScanCompletedAt":{ + "shape":"ScanTimestamp", + "documentation":"

The time of the last completed image scan.

" + }, + "vulnerabilitySourceUpdatedAt":{ + "shape":"VulnerabilitySourceUpdateTimestamp", + "documentation":"

The time when the vulnerability data was last scanned.

" + }, + "findings":{ + "shape":"ImageScanFindingList", + "documentation":"

The findings from the image scan.

" + }, + "findingSeverityCounts":{ + "shape":"FindingSeverityCounts", + "documentation":"

The image vulnerability counts, sorted by severity.

" + } + }, + "documentation":"

The details of an image scan.

" + }, + "ImageScanFindingsSummary":{ + "type":"structure", + "members":{ + "imageScanCompletedAt":{ + "shape":"ScanTimestamp", + "documentation":"

The time of the last completed image scan.

" + }, + "vulnerabilitySourceUpdatedAt":{ + "shape":"VulnerabilitySourceUpdateTimestamp", + "documentation":"

The time when the vulnerability data was last scanned.

" + }, + "findingSeverityCounts":{ + "shape":"FindingSeverityCounts", + "documentation":"

The image vulnerability counts, sorted by severity.

" + } + }, + "documentation":"

A summary of the last completed image scan.

" + }, + "ImageScanStatus":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ScanStatus", + "documentation":"

The current state of an image scan.

" + }, + "description":{ + "shape":"ScanStatusDescription", + "documentation":"

The description of the image scan status.

" + } + }, + "documentation":"

The current status of an image scan.

" + }, + "ImageScanningConfiguration":{ + "type":"structure", + "members":{ + "scanOnPush":{ + "shape":"ScanOnPushFlag", + "documentation":"

The setting that determines whether images are scanned after being pushed to a repository. If set to true, images will be scanned after being pushed. If this parameter is not specified, it will default to false and images will not be scanned unless a scan is manually started with the StartImageScan API.

" + } + }, + "documentation":"

The image scanning configuration for a repository.

" + }, "ImageSizeInBytes":{"type":"long"}, - "ImageTag":{"type":"string"}, + "ImageTag":{ + "type":"string", + "max":300, + "min":1 + }, + "ImageTagAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified image is tagged with a tag that already exists. The repository is configured for tag immutability.

", + "exception":true + }, "ImageTagList":{ "type":"list", "member":{"shape":"ImageTag"} }, + "ImageTagMutability":{ + "type":"string", + "enum":[ + "MUTABLE", + "IMMUTABLE" + ] + }, "InitiateLayerUploadRequest":{ "type":"structure", "required":["repositoryName"], "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that you intend to upload layers to. If you do not specify a registry, the default registry is assumed.

" + "documentation":"

The AWS account ID associated with the registry to which you intend to upload layers. If you do not specify a registry, the default registry is assumed.

" }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository that you intend to upload layers to.

" + "documentation":"

The name of the repository to which you intend to upload layers.

" } } }, @@ -957,6 +1547,14 @@ "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", "exception":true }, + "InvalidTagParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An invalid parameter has been specified. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

", + "exception":true + }, "Layer":{ "type":"structure", "members":{ @@ -966,11 +1564,15 @@ }, "layerAvailability":{ "shape":"LayerAvailability", - "documentation":"

The availability status of the image layer. Valid values are AVAILABLE and UNAVAILABLE.

" + "documentation":"

The availability status of the image layer.

" }, "layerSize":{ "shape":"LayerSizeInBytes", "documentation":"

The size, in bytes, of the image layer.

" + }, + "mediaType":{ + "shape":"MediaType", + "documentation":"

The media type of the layer, such as application/vnd.docker.image.rootfs.diff.tar.gzip or application/vnd.oci.image.layer.v1.tar+gzip.

" } }, "documentation":"

An object representing an Amazon ECR image layer.

" @@ -1048,7 +1650,11 @@ "type":"list", "member":{"shape":"Layer"} }, - "LayerPartBlob":{"type":"blob"}, + "LayerPartBlob":{ + "type":"blob", + "max":20971520, + "min":0 + }, "LayerPartTooSmallException":{ "type":"structure", "members":{ @@ -1072,6 +1678,113 @@ "documentation":"

The specified layers could not be found, or the specified layer is not valid for this repository.

", "exception":true }, + "LifecyclePolicyNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The lifecycle policy could not be found, and no policy is set to the repository.

", + "exception":true + }, + "LifecyclePolicyPreviewFilter":{ + "type":"structure", + "members":{ + "tagStatus":{ + "shape":"TagStatus", + "documentation":"

The tag status of the image.

" + } + }, + "documentation":"

The filter for the lifecycle policy preview.

" + }, + "LifecyclePolicyPreviewInProgressException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The previous lifecycle policy preview request has not completed. Please try again later.

", + "exception":true + }, + "LifecyclePolicyPreviewNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

There is no dry run for this repository.

", + "exception":true + }, + "LifecyclePolicyPreviewResult":{ + "type":"structure", + "members":{ + "imageTags":{ + "shape":"ImageTagList", + "documentation":"

The list of tags associated with this image.

" + }, + "imageDigest":{ + "shape":"ImageDigest", + "documentation":"

The sha256 digest of the image manifest.

" + }, + "imagePushedAt":{ + "shape":"PushTimestamp", + "documentation":"

The date and time, expressed in standard JavaScript date format, at which the current image was pushed to the repository.

" + }, + "action":{ + "shape":"LifecyclePolicyRuleAction", + "documentation":"

The type of action to be taken.

" + }, + "appliedRulePriority":{ + "shape":"LifecyclePolicyRulePriority", + "documentation":"

The priority of the applied rule.

" + } + }, + "documentation":"

The result of the lifecycle policy preview.

" + }, + "LifecyclePolicyPreviewResultList":{ + "type":"list", + "member":{"shape":"LifecyclePolicyPreviewResult"} + }, + "LifecyclePolicyPreviewStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETE", + "EXPIRED", + "FAILED" + ] + }, + "LifecyclePolicyPreviewSummary":{ + "type":"structure", + "members":{ + "expiringImageTotalCount":{ + "shape":"ImageCount", + "documentation":"

The number of expiring images.

" + } + }, + "documentation":"

The summary of the lifecycle policy preview request.

" + }, + "LifecyclePolicyRuleAction":{ + "type":"structure", + "members":{ + "type":{ + "shape":"ImageActionType", + "documentation":"

The type of action to be taken.

" + } + }, + "documentation":"

The type of action to be taken.

" + }, + "LifecyclePolicyRulePriority":{ + "type":"integer", + "min":1 + }, + "LifecyclePolicyText":{ + "type":"string", + "max":30720, + "min":100 + }, + "LifecyclePreviewMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -1080,7 +1793,7 @@ "documentation":"

The error message associated with the exception.

" } }, - "documentation":"

The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Default Service Limits in the Amazon EC2 Container Registry User Guide.

", + "documentation":"

The operation did not succeed because it would have exceeded a service limit for your account. For more information, see Amazon ECR Service Quotas in the Amazon Elastic Container Registry User Guide.

", "exception":true }, "ListImagesFilter":{ @@ -1099,11 +1812,11 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that contains the repository to list images in. If you do not specify a registry, the default registry is assumed.

" + "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":"

The repository whose image IDs are to be listed.

" + "documentation":"

The repository with image IDs to be listed.

" }, "nextToken":{ "shape":"NextToken", @@ -1111,7 +1824,7 @@ }, "maxResults":{ "shape":"MaxResults", - "documentation":"

The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages 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 ListImages request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.

" + "documentation":"

The maximum number of image results returned by ListImages in paginated output. When this parameter is used, ListImages 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 ListImages request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListImages returns up to 100 results and a nextToken value, if applicable.

" }, "filter":{ "shape":"ListImagesFilter", @@ -1132,8 +1845,34 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the only supported resource is an Amazon ECR repository.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + } + } + }, "MaxResults":{ "type":"integer", + "max":1000, + "min":1 + }, + "MediaType":{"type":"string"}, + "MediaTypeList":{ + "type":"list", + "member":{"shape":"MediaType"}, "max":100, "min":1 }, @@ -1162,6 +1901,14 @@ "imageManifest":{ "shape":"ImageManifest", "documentation":"

The image manifest corresponding to the image to be uploaded.

" + }, + "imageManifestMediaType":{ + "shape":"MediaType", + "documentation":"

The media type of the image manifest. If you push an image manifest that does not contain the mediaType field, you must specify the imageManifestMediaType in the request.

" + }, + "imageTag":{ + "shape":"ImageTag", + "documentation":"

The tag to associate with the image. This parameter is required for images that use the Docker Image Manifest V2 Schema 2 or OCI formats.

" } } }, @@ -1174,6 +1921,128 @@ } } }, + "PutImageScanningConfigurationRequest":{ + "type":"structure", + "required":[ + "repositoryName", + "imageScanningConfiguration" + ], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to update the image scanning configuration setting. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository in which to update the image scanning configuration setting.

" + }, + "imageScanningConfiguration":{ + "shape":"ImageScanningConfiguration", + "documentation":"

The image scanning configuration for the repository. This setting determines whether images are scanned for known vulnerabilities after being pushed to the repository.

" + } + } + }, + "PutImageScanningConfigurationResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "imageScanningConfiguration":{ + "shape":"ImageScanningConfiguration", + "documentation":"

The image scanning configuration setting for the repository.

" + } + } + }, + "PutImageTagMutabilityRequest":{ + "type":"structure", + "required":[ + "repositoryName", + "imageTagMutability" + ], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to update the image tag mutability settings. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository in which to update the image tag mutability settings.

" + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

The tag mutability setting for the repository. If MUTABLE is specified, image tags can be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.

" + } + } + }, + "PutImageTagMutabilityResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

The image tag mutability setting for the repository.

" + } + } + }, + "PutLifecyclePolicyRequest":{ + "type":"structure", + "required":[ + "repositoryName", + "lifecyclePolicyText" + ], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do
 not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to receive the policy.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON repository policy text to apply to the repository.

" + } + } + }, + "PutLifecyclePolicyResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON repository policy text.

" + } + } + }, + "ReferencedImagesNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The manifest list is referencing an image that does not exist.

", + "exception":true + }, "RegistryId":{ "type":"string", "pattern":"[0-9]{12}" @@ -1183,7 +2052,7 @@ "members":{ "repositoryArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, the AWS account ID of the repository owner, the repository namespace, and then the repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the repository. The ARN contains the arn:aws:ecr namespace, followed by the region of the repository, AWS account ID of the repository owner, repository namespace, and repository name. For example, arn:aws:ecr:region:012345678910:repository/test.

" }, "registryId":{ "shape":"RegistryId", @@ -1195,12 +2064,17 @@ }, "repositoryUri":{ "shape":"Url", - "documentation":"

The URI for the repository. You can use this URI for Docker push and pull operations.

" + "documentation":"

The URI for the repository. You can use this URI for Docker push or pull operations.

" }, "createdAt":{ "shape":"CreationTimestamp", - "documentation":"

The date and time, in JavaScript date/time format, when the repository was created.

" - } + "documentation":"

The date and time, in JavaScript date format, when the repository was created.

" + }, + "imageTagMutability":{ + "shape":"ImageTagMutability", + "documentation":"

The tag mutability setting for the repository.

" + }, + "imageScanningConfiguration":{"shape":"ImageScanningConfiguration"} }, "documentation":"

An object representing a repository.

" }, @@ -1269,6 +2143,25 @@ "max":10240, "min":0 }, + "ScanNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified image scan could not be found. Ensure that image scanning is enabled on the repository and try again.

", + "exception":true + }, + "ScanOnPushFlag":{"type":"boolean"}, + "ScanStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETE", + "FAILED" + ] + }, + "ScanStatusDescription":{"type":"string"}, + "ScanTimestamp":{"type":"timestamp"}, "ServerException":{ "type":"structure", "members":{ @@ -1298,7 +2191,7 @@ }, "policyText":{ "shape":"RepositoryPolicyText", - "documentation":"

The JSON repository policy text to apply to the repository.

" + "documentation":"

The JSON repository policy text to apply to the repository. For more information, see Amazon ECR Repository Policies in the Amazon Elastic Container Registry User Guide.

" }, "force":{ "shape":"ForceFlag", @@ -1323,13 +2216,177 @@ } } }, + "SeverityCount":{ + "type":"integer", + "min":0 + }, + "StartImageScanRequest":{ + "type":"structure", + "required":[ + "repositoryName", + "imageId" + ], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository in which to start an image scan request. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository that contains the images to scan.

" + }, + "imageId":{"shape":"ImageIdentifier"} + } + }, + "StartImageScanResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "imageId":{"shape":"ImageIdentifier"}, + "imageScanStatus":{ + "shape":"ImageScanStatus", + "documentation":"

The current state of the scan.

" + } + } + }, + "StartLifecyclePolicyPreviewRequest":{ + "type":"structure", + "required":["repositoryName"], + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The AWS account ID associated with the registry that contains the repository. If you do not specify a registry, the default registry is assumed.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The name of the repository to be evaluated.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The policy to be evaluated against. If you do not specify a policy, the current policy for the repository is used.

" + } + } + }, + "StartLifecyclePolicyPreviewResponse":{ + "type":"structure", + "members":{ + "registryId":{ + "shape":"RegistryId", + "documentation":"

The registry ID associated with the request.

" + }, + "repositoryName":{ + "shape":"RepositoryName", + "documentation":"

The repository name associated with the request.

" + }, + "lifecyclePolicyText":{ + "shape":"LifecyclePolicyText", + "documentation":"

The JSON repository policy text.

" + }, + "status":{ + "shape":"LifecyclePolicyPreviewStatus", + "documentation":"

The status of the lifecycle policy preview request.

" + } + } + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the the resource to which to add tags. Currently, the only supported resource is an Amazon ECR repository.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "TagStatus":{ "type":"string", "enum":[ "TAGGED", - "UNTAGGED" + "UNTAGGED", + "ANY" ] }, + "TagValue":{"type":"string"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The list of tags on the repository is over the limit. The maximum number of tags that can be applied to a repository is 50.

", + "exception":true + }, + "UnsupportedImageTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The image is of a type that cannot be scanned.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to remove tags. Currently, the only supported resource is an Amazon ECR repository.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UploadId":{ "type":"string", "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" @@ -1346,11 +2403,11 @@ "members":{ "registryId":{ "shape":"RegistryId", - "documentation":"

The AWS account ID associated with the registry that you are uploading layer parts to. If you do not specify a registry, the default registry is assumed.

" + "documentation":"

The AWS account ID associated with the registry to which you are uploading layer parts. If you do not specify a registry, the default registry is assumed.

" }, "repositoryName":{ "shape":"RepositoryName", - "documentation":"

The name of the repository that you are uploading layer parts to.

" + "documentation":"

The name of the repository to which you are uploading layer parts.

" }, "uploadId":{ "shape":"UploadId", @@ -1358,11 +2415,11 @@ }, "partFirstByte":{ "shape":"PartSize", - "documentation":"

The integer value of the first byte of the layer part.

" + "documentation":"

The position of the first byte of the layer part witin the overall image layer.

" }, "partLastByte":{ "shape":"PartSize", - "documentation":"

The integer value of the last byte of the layer part.

" + "documentation":"

The position of the last byte of the layer part within the overall image layer.

" }, "layerPartBlob":{ "shape":"LayerPartBlob", @@ -1402,7 +2459,8 @@ "documentation":"

The upload could not be found, or the specified upload id is not valid for this repository.

", "exception":true }, - "Url":{"type":"string"} + "Url":{"type":"string"}, + "VulnerabilitySourceUpdateTimestamp":{"type":"timestamp"} }, - "documentation":"

Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry service. Customers can use the familiar Docker CLI to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR supports private Docker repositories with resource-based permissions using AWS IAM so that specific users or Amazon EC2 instances can access repositories and images. Developers can use the Docker CLI to author and manage images.

" + "documentation":"Amazon Elastic Container Registry

Amazon Elastic Container Registry (Amazon ECR) is a managed Docker registry service. Customers can use the familiar Docker CLI to push, pull, and manage images. Amazon ECR provides a secure, scalable, and reliable registry. Amazon ECR supports private Docker repositories with resource-based permissions using IAM so that specific users or Amazon EC2 instances can access repositories and images. Developers can use the Docker CLI to author and manage images.

" } diff -Nru python-botocore-1.4.70/botocore/data/ecr/2015-09-21/waiters-2.json python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/waiters-2.json --- python-botocore-1.4.70/botocore/data/ecr/2015-09-21/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecr/2015-09-21/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,45 @@ +{ + "version": 2, + "waiters": { + "ImageScanComplete": { + "description": "Wait until an image scan is complete and findings can be accessed", + "operation": "DescribeImageScanFindings", + "delay": 5, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "imageScanStatus.status", + "expected": "COMPLETE" + }, + { + "state": "failure", + "matcher": "path", + "argument": "imageScanStatus.status", + "expected": "FAILED" + } + ] + }, + "LifecyclePolicyPreviewComplete": { + "description": "Wait until a lifecycle policy preview request is complete and results can be accessed", + "operation": "GetLifecyclePolicyPreview", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "status", + "expected": "COMPLETE" + }, + { + "state": "failure", + "matcher": "path", + "argument": "status", + "expected": "FAILED" + } + ] + } + } +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/ecs/2014-11-13/examples-1.json python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/examples-1.json --- python-botocore-1.4.70/botocore/data/ecs/2014-11-13/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,883 @@ +{ + "version": "1.0", + "examples": { + "CreateCluster": [ + { + "input": { + "clusterName": "my_cluster" + }, + "output": { + "cluster": { + "activeServicesCount": 0, + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my_cluster", + "clusterName": "my_cluster", + "pendingTasksCount": 0, + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "status": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a cluster in your default region.", + "id": "to-create-a-new-cluster-1472514079365", + "title": "To create a new cluster" + } + ], + "CreateService": [ + { + "input": { + "desiredCount": 10, + "serviceName": "ecs-simple-service", + "taskDefinition": "hello_world" + }, + "output": { + "service": { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:13:47.298Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:13:47.298Z", + "desiredCount": 10, + "id": "ecs-svc/9223370564342348388", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:13:47.298Z" + }, + { + "createdAt": "2016-08-29T15:52:44.481Z", + "desiredCount": 0, + "id": "ecs-svc/9223370564343611322", + "pendingCount": 0, + "runningCount": 0, + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:11:38.941Z" + } + ], + "desiredCount": 10, + "events": [ + + ], + "loadBalancers": [ + + ], + "pendingCount": 0, + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service", + "serviceName": "ecs-simple-service", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a service in your default region called ``ecs-simple-service``. The service uses the ``hello_world`` task definition and it maintains 10 copies of that task.", + "id": "to-create-a-new-service-1472512584282", + "title": "To create a new service" + }, + { + "input": { + "desiredCount": 10, + "loadBalancers": [ + { + "containerName": "simple-app", + "containerPort": 80, + "loadBalancerName": "EC2Contai-EcsElast-15DCDAURT3ZO2" + } + ], + "role": "ecsServiceRole", + "serviceName": "ecs-simple-service-elb", + "taskDefinition": "console-sample-app-static" + }, + "output": { + "service": { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:02:54.884Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:02:54.884Z", + "desiredCount": 10, + "id": "ecs-svc/9223370564343000923", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/console-sample-app-static:6", + "updatedAt": "2016-08-29T16:02:54.884Z" + } + ], + "desiredCount": 10, + "events": [ + + ], + "loadBalancers": [ + { + "containerName": "simple-app", + "containerPort": 80, + "loadBalancerName": "EC2Contai-EcsElast-15DCDAURT3ZO2" + } + ], + "pendingCount": 0, + "roleArn": "arn:aws:iam::012345678910:role/ecsServiceRole", + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service-elb", + "serviceName": "ecs-simple-service-elb", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/console-sample-app-static:6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a service in your default region called ``ecs-simple-service-elb``. The service uses the ``ecs-demo`` task definition and it maintains 10 copies of that task. You must reference an existing load balancer in the same region by its name.", + "id": "to-create-a-new-service-behind-a-load-balancer-1472512484823", + "title": "To create a new service behind a load balancer" + } + ], + "DeleteCluster": [ + { + "input": { + "cluster": "my_cluster" + }, + "output": { + "cluster": { + "activeServicesCount": 0, + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my_cluster", + "clusterName": "my_cluster", + "pendingTasksCount": 0, + "registeredContainerInstancesCount": 0, + "runningTasksCount": 0, + "status": "INACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes an empty cluster in your default region.", + "id": "to-delete-an-empty-cluster-1472512705352", + "title": "To delete an empty cluster" + } + ], + "DeleteService": [ + { + "input": { + "service": "my-http-service" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the my-http-service service. The service must have a desired count and running count of 0 before you can delete it.", + "id": "e8183e38-f86e-4390-b811-f74f30a6007d", + "title": "To delete a service" + } + ], + "DeregisterContainerInstance": [ + { + "input": { + "cluster": "default", + "containerInstance": "container_instance_UUID", + "force": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters a container instance from the specified cluster in your default region. If there are still tasks running on the container instance, you must either stop those tasks before deregistering, or use the force option.", + "id": "bf624927-cf64-4f4b-8b7e-c024a4e682f6", + "title": "To deregister a container instance from a cluster" + } + ], + "DescribeClusters": [ + { + "input": { + "clusters": [ + "default" + ] + }, + "output": { + "clusters": [ + { + "clusterArn": "arn:aws:ecs:us-east-1:aws_account_id:cluster/default", + "clusterName": "default", + "status": "ACTIVE" + } + ], + "failures": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified cluster in your default region.", + "id": "ba88d100-9672-4231-80da-a4bd210bf728", + "title": "To describe a cluster" + } + ], + "DescribeContainerInstances": [ + { + "input": { + "cluster": "default", + "containerInstances": [ + "f2756532-8f13-4d53-87c9-aed50dc94cd7" + ] + }, + "output": { + "containerInstances": [ + { + "agentConnected": true, + "containerInstanceArn": "arn:aws:ecs:us-east-1:012345678910:container-instance/f2756532-8f13-4d53-87c9-aed50dc94cd7", + "ec2InstanceId": "i-807f3249", + "pendingTasksCount": 0, + "registeredResources": [ + { + "name": "CPU", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 2048, + "longValue": 0 + }, + { + "name": "MEMORY", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 3768, + "longValue": 0 + }, + { + "name": "PORTS", + "type": "STRINGSET", + "doubleValue": 0.0, + "integerValue": 0, + "longValue": 0, + "stringSetValue": [ + "2376", + "22", + "51678", + "2375" + ] + } + ], + "remainingResources": [ + { + "name": "CPU", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 1948, + "longValue": 0 + }, + { + "name": "MEMORY", + "type": "INTEGER", + "doubleValue": 0.0, + "integerValue": 3668, + "longValue": 0 + }, + { + "name": "PORTS", + "type": "STRINGSET", + "doubleValue": 0.0, + "integerValue": 0, + "longValue": 0, + "stringSetValue": [ + "2376", + "22", + "80", + "51678", + "2375" + ] + } + ], + "runningTasksCount": 1, + "status": "ACTIVE" + } + ], + "failures": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified container instance in your default region, using the container instance UUID as an identifier.", + "id": "c8f439de-eb27-4269-8ca7-2c0a7ba75ab0", + "title": "To describe container instance" + } + ], + "DescribeServices": [ + { + "input": { + "services": [ + "ecs-simple-service" + ] + }, + "output": { + "failures": [ + + ], + "services": [ + { + "clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/default", + "createdAt": "2016-08-29T16:25:52.130Z", + "deploymentConfiguration": { + "maximumPercent": 200, + "minimumHealthyPercent": 100 + }, + "deployments": [ + { + "createdAt": "2016-08-29T16:25:52.130Z", + "desiredCount": 1, + "id": "ecs-svc/9223370564341623665", + "pendingCount": 0, + "runningCount": 0, + "status": "PRIMARY", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6", + "updatedAt": "2016-08-29T16:25:52.130Z" + } + ], + "desiredCount": 1, + "events": [ + { + "createdAt": "2016-08-29T16:25:58.520Z", + "id": "38c285e5-d335-4b68-8b15-e46dedc8e88d", + "message": "(service ecs-simple-service) was unable to place a task because no container instance met all of its requirements. The closest matching (container-instance 3f4de1c5-ffdd-4954-af7e-75b4be0c8841) is already using a port required by your task. For more information, see the Troubleshooting section of the Amazon ECS Developer Guide." + } + ], + "loadBalancers": [ + + ], + "pendingCount": 0, + "runningCount": 0, + "serviceArn": "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service", + "serviceName": "ecs-simple-service", + "status": "ACTIVE", + "taskDefinition": "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6" + } + ] + }, + "comments": { + "input": { + }, + "output": { + "services[0].events[0].message": "In this example, there is a service event that shows unavailable cluster resources." + } + }, + "description": "This example provides descriptive information about the service named ``ecs-simple-service``.", + "id": "to-describe-a-service-1472513256350", + "title": "To describe a service" + } + ], + "DescribeTaskDefinition": [ + { + "input": { + "taskDefinition": "hello_world:8" + }, + "output": { + "taskDefinition": { + "containerDefinitions": [ + { + "name": "wordpress", + "cpu": 10, + "environment": [ + + ], + "essential": true, + "image": "wordpress", + "links": [ + "mysql" + ], + "memory": 500, + "mountPoints": [ + + ], + "portMappings": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "volumesFrom": [ + + ] + }, + { + "name": "mysql", + "cpu": 10, + "environment": [ + { + "name": "MYSQL_ROOT_PASSWORD", + "value": "password" + } + ], + "essential": true, + "image": "mysql", + "memory": 500, + "mountPoints": [ + + ], + "portMappings": [ + + ], + "volumesFrom": [ + + ] + } + ], + "family": "hello_world", + "revision": 8, + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/hello_world:8", + "volumes": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified task definition.", + "id": "4c21eeb1-f1da-4a08-8c44-297fc8d0ea88", + "title": "To describe a task definition" + } + ], + "DescribeTasks": [ + { + "input": { + "tasks": [ + "c5cba4eb-5dad-405e-96db-71ef8eefe6a8" + ] + }, + "output": { + "failures": [ + + ], + "tasks": [ + { + "clusterArn": "arn:aws:ecs:::cluster/default", + "containerInstanceArn": "arn:aws:ecs:::container-instance/18f9eda5-27d7-4c19-b133-45adc516e8fb", + "containers": [ + { + "name": "ecs-demo", + "containerArn": "arn:aws:ecs:::container/7c01765b-c588-45b3-8290-4ba38bd6c5a6", + "lastStatus": "RUNNING", + "networkBindings": [ + { + "bindIP": "0.0.0.0", + "containerPort": 80, + "hostPort": 80 + } + ], + "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8" + } + ], + "desiredStatus": "RUNNING", + "lastStatus": "RUNNING", + "overrides": { + "containerOverrides": [ + { + "name": "ecs-demo" + } + ] + }, + "startedBy": "ecs-svc/9223370608528463088", + "taskArn": "arn:aws:ecs:::task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8", + "taskDefinitionArn": "arn:aws:ecs:::task-definition/amazon-ecs-sample:1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example provides a description of the specified task, using the task UUID as an identifier.", + "id": "a90b0cde-f965-4946-b55e-cfd8cc54e827", + "title": "To describe a task" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "clusterArns": [ + "arn:aws:ecs:us-east-1::cluster/test", + "arn:aws:ecs:us-east-1::cluster/default" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your available clusters in your default region.", + "id": "e337d059-134f-4125-ba8e-4f499139facf", + "title": "To list your available clusters" + } + ], + "ListContainerInstances": [ + { + "input": { + "cluster": "default" + }, + "output": { + "containerInstanceArns": [ + "arn:aws:ecs:us-east-1::container-instance/f6bbb147-5370-4ace-8c73-c7181ded911f", + "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your available container instances in the specified cluster in your default region.", + "id": "62a82a94-713c-4e18-8420-1d2b2ba9d484", + "title": "To list your available container instances in a cluster" + } + ], + "ListServices": [ + { + "input": { + }, + "output": { + "serviceArns": [ + "arn:aws:ecs:us-east-1:012345678910:service/my-http-service" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the services running in the default cluster for an account.", + "id": "1d9a8037-4e0e-4234-a528-609656809a3a", + "title": "To list the services in a cluster" + } + ], + "ListTaskDefinitionFamilies": [ + { + "input": { + }, + "output": { + "families": [ + "node-js-app", + "web-timer", + "hpcc", + "hpcc-c4-8xlarge" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your registered task definition families.", + "id": "b5c89769-1d94-4ca2-a79e-8069103c7f75", + "title": "To list your registered task definition families" + }, + { + "input": { + "familyPrefix": "hpcc" + }, + "output": { + "families": [ + "hpcc", + "hpcc-c4-8xlarge" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the task definition revisions that start with \"hpcc\".", + "id": "8a4cf9a6-42c1-4fe3-852d-99ac8968e11b", + "title": "To filter your registered task definition families" + } + ], + "ListTaskDefinitions": [ + { + "input": { + }, + "output": { + "taskDefinitionArns": [ + "arn:aws:ecs:us-east-1::task-definition/sleep300:2", + "arn:aws:ecs:us-east-1::task-definition/sleep360:1", + "arn:aws:ecs:us-east-1::task-definition/wordpress:3", + "arn:aws:ecs:us-east-1::task-definition/wordpress:4", + "arn:aws:ecs:us-east-1::task-definition/wordpress:5", + "arn:aws:ecs:us-east-1::task-definition/wordpress:6" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of your registered task definitions.", + "id": "b381ebaf-7eba-4d60-b99b-7f6ae49d3d60", + "title": "To list your registered task definitions" + }, + { + "input": { + "familyPrefix": "wordpress" + }, + "output": { + "taskDefinitionArns": [ + "arn:aws:ecs:us-east-1::task-definition/wordpress:3", + "arn:aws:ecs:us-east-1::task-definition/wordpress:4", + "arn:aws:ecs:us-east-1::task-definition/wordpress:5", + "arn:aws:ecs:us-east-1::task-definition/wordpress:6" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the task definition revisions of a specified family.", + "id": "734e7afd-753a-4bc2-85d0-badddce10910", + "title": "To list the registered task definitions in a family" + } + ], + "ListTasks": [ + { + "input": { + "cluster": "default" + }, + "output": { + "taskArns": [ + "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84", + "arn:aws:ecs:us-east-1:012345678910:task/6b809ef6-c67e-4467-921f-ee261c15a0a1" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all of the tasks in a cluster.", + "id": "9a6ec707-1a77-45d0-b2eb-516b5dd9e924", + "title": "To list the tasks in a cluster" + }, + { + "input": { + "cluster": "default", + "containerInstance": "f6bbb147-5370-4ace-8c73-c7181ded911f" + }, + "output": { + "taskArns": [ + "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists the tasks of a specified container instance. Specifying a ``containerInstance`` value limits the results to tasks that belong to that container instance.", + "id": "024bf3b7-9cbb-44e3-848f-9d074e1fecce", + "title": "To list the tasks on a particular container instance" + } + ], + "RegisterTaskDefinition": [ + { + "input": { + "containerDefinitions": [ + { + "name": "sleep", + "command": [ + "sleep", + "360" + ], + "cpu": 10, + "essential": true, + "image": "busybox", + "memory": 10 + } + ], + "family": "sleep360", + "taskRoleArn": "", + "volumes": [ + + ] + }, + "output": { + "taskDefinition": { + "containerDefinitions": [ + { + "name": "sleep", + "command": [ + "sleep", + "360" + ], + "cpu": 10, + "environment": [ + + ], + "essential": true, + "image": "busybox", + "memory": 10, + "mountPoints": [ + + ], + "portMappings": [ + + ], + "volumesFrom": [ + + ] + } + ], + "family": "sleep360", + "revision": 1, + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:19", + "volumes": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers a task definition to the specified family.", + "id": "to-register-a-task-definition-1470764550877", + "title": "To register a task definition" + } + ], + "RunTask": [ + { + "input": { + "cluster": "default", + "taskDefinition": "sleep360:1" + }, + "output": { + "tasks": [ + { + "containerInstanceArn": "arn:aws:ecs:us-east-1::container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb", + "containers": [ + { + "name": "sleep", + "containerArn": "arn:aws:ecs:us-east-1::container/58591c8e-be29-4ddf-95aa-ee459d4c59fd", + "lastStatus": "PENDING", + "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0" + } + ], + "desiredStatus": "RUNNING", + "lastStatus": "PENDING", + "overrides": { + "containerOverrides": [ + { + "name": "sleep" + } + ] + }, + "taskArn": "arn:aws:ecs:us-east-1::task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0", + "taskDefinitionArn": "arn:aws:ecs:us-east-1::task-definition/sleep360:1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example runs the specified task definition on your default cluster.", + "id": "6f238c83-a133-42cd-ab3d-abeca0560445", + "title": "To run a task on your default cluster" + } + ], + "UpdateService": [ + { + "input": { + "service": "my-http-service", + "taskDefinition": "amazon-ecs-sample" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the my-http-service service to use the amazon-ecs-sample task definition.", + "id": "cc9e8900-0cc2-44d2-8491-64d1d3d37887", + "title": "To change the task definition used in a service" + }, + { + "input": { + "desiredCount": 10, + "service": "my-http-service" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example updates the desired count of the my-http-service service to 10.", + "id": "9581d6c5-02e3-4140-8cc1-5a4301586633", + "title": "To change the number of tasks in a service" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/ecs/2014-11-13/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/paginators-1.json --- python-botocore-1.4.70/botocore/data/ecs/2014-11-13/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,40 +1,52 @@ { - "pagination": { - "ListClusters": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "clusterArns" - }, - "ListContainerInstances": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "containerInstanceArns" - }, - "ListTaskDefinitions": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "taskDefinitionArns" - }, - "ListTaskDefinitionFamilies": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "families" - }, - "ListTasks": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "taskArns" - }, - "ListServices": { - "input_token": "nextToken", - "output_token": "nextToken", - "limit_key": "maxResults", - "result_key": "serviceArns" - } - } + "pagination": { + "ListClusters": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "clusterArns" + }, + "ListContainerInstances": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "containerInstanceArns" + }, + "ListTaskDefinitions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "taskDefinitionArns" + }, + "ListTaskDefinitionFamilies": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "families" + }, + "ListTasks": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "taskArns" + }, + "ListServices": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "serviceArns" + }, + "ListAccountSettings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "settings" + }, + "ListAttributes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "attributes" + } + } } diff -Nru python-botocore-1.4.70/botocore/data/ecs/2014-11-13/service-2.json python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/service-2.json --- python-botocore-1.4.70/botocore/data/ecs/2014-11-13/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,10 +7,28 @@ "protocol":"json", "serviceAbbreviation":"Amazon ECS", "serviceFullName":"Amazon EC2 Container Service", + "serviceId":"ECS", "signatureVersion":"v4", - "targetPrefix":"AmazonEC2ContainerServiceV20141113" + "targetPrefix":"AmazonEC2ContainerServiceV20141113", + "uid":"ecs-2014-11-13" }, "operations":{ + "CreateCapacityProvider":{ + "name":"CreateCapacityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCapacityProviderRequest"}, + "output":{"shape":"CreateCapacityProviderResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a new capacity provider. Capacity providers are associated with an Amazon ECS cluster and are used in capacity provider strategies to facilitate cluster auto scaling.

Only capacity providers using an Auto Scaling group can be created. Amazon ECS tasks on AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers which are already created and available to all accounts in Regions supported by AWS Fargate.

" + }, "CreateCluster":{ "name":"CreateCluster", "http":{ @@ -24,7 +42,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

" + "documentation":"

Creates a new Amazon ECS cluster. By default, your account receives a default cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the CreateCluster action.

When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your account so that required resources in other AWS services can be managed on your behalf. However, if the IAM user that makes the call does not have permissions to create the service-linked role, it is not created. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" }, "CreateService":{ "name":"CreateService", @@ -38,9 +56,65 @@ {"shape":"ServerException"}, {"shape":"ClientException"}, {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"PlatformUnknownException"}, + {"shape":"PlatformTaskDefinitionIncompatibilityException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below the desiredCount, Amazon ECS runs another copy of the task in the specified cluster. To update an existing service, see the UpdateService action.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and the container instance that they're hosted on is reported as healthy by the load balancer.

There are two service scheduler strategies available:

  • REPLICA - The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide.

  • DAEMON - The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that do not meet the placement constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies. For more information, see Service Scheduler Concepts in the Amazon Elastic Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. The deployment is triggered by changing properties, such as the task definition or the desired count of a service, with an UpdateService operation. The default value for a replica service for minimumHealthyPercent is 100%. The default value for a daemon service for minimumHealthyPercent is 0%.

If a service is using the ECS deployment controller, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they're in the RUNNING state. Tasks for services that do use a load balancer are considered healthy if they're in the RUNNING state and they're reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the ECS deployment controller, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller types and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are used only to define the lower and upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used, although they're currently visible when describing your service.

When creating a service that uses the EXTERNAL deployment controller, you can specify only parameters that aren't controlled at the task set level. The only required parameter is the service name. You control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy) with the placementStrategy parameter):

    • Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for this service in their respective Availability Zone. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + }, + "CreateTaskSet":{ + "name":"CreateTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTaskSetRequest"}, + "output":{"shape":"CreateTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"PlatformUnknownException"}, + {"shape":"PlatformTaskDefinitionIncompatibilityException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"} + ], + "documentation":"

Create a task set in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "DeleteAccountSetting":{ + "name":"DeleteAccountSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAccountSettingRequest"}, + "output":{"shape":"DeleteAccountSettingResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Disables an account setting for a specified IAM user, IAM role, or the root user for an account.

" + }, + "DeleteAttributes":{ + "name":"DeleteAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAttributesRequest"}, + "output":{"shape":"DeleteAttributesResponse"}, + "errors":[ + {"shape":"ClusterNotFoundException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"InvalidParameterException"} ], - "documentation":"

Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below desiredCount, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see UpdateService.

In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see Service Load Balancing in the Amazon EC2 Container Service Developer Guide.

You can optionally specify a deployment configuration for your service. During a deployment (which is triggered by changing the task definition or the desired count of a service with an UpdateService operation), the service scheduler uses the minimumHealthyPercent and maximumPercent parameters to determine the deployment strategy.

The minimumHealthyPercent represents a lower limit on the number of your service's tasks that must remain in the RUNNING state during a deployment, as a percentage of the desiredCount (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and the container instance it is hosted on is reported as healthy by the load balancer. The default value for minimumHealthyPercent is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.

The maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximumPercent is 200%.

When the service scheduler launches new tasks, it attempts to balance them across the Availability Zones in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

  • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + "documentation":"

Deletes one or more custom attributes from an Amazon ECS resource.

" }, "DeleteCluster":{ "name":"DeleteCluster", @@ -56,9 +130,11 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"}, {"shape":"ClusterContainsContainerInstancesException"}, - {"shape":"ClusterContainsServicesException"} + {"shape":"ClusterContainsServicesException"}, + {"shape":"ClusterContainsTasksException"}, + {"shape":"UpdateInProgressException"} ], - "documentation":"

Deletes the specified cluster. You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

" + "documentation":"

Deletes the specified cluster. The cluster will transition to the INACTIVE state. Clusters with an INACTIVE status may remain discoverable in your account for a period of time. However, this behavior is subject to change in the future, so you should not rely on INACTIVE clusters persisting.

You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance.

" }, "DeleteService":{ "name":"DeleteService", @@ -75,7 +151,28 @@ {"shape":"ClusterNotFoundException"}, {"shape":"ServiceNotFoundException"} ], - "documentation":"

Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService.

When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in ListServices API operations. After the tasks have stopped, then the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with DescribeServices API operations; however, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices API operations on those services will return a ServiceNotFoundException error.

" + "documentation":"

Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see UpdateService.

When you delete a service, if there are still running tasks that require cleanup, the service status moves from ACTIVE to DRAINING, and the service is no longer visible in the console or in the ListServices API operation. After all tasks have transitioned to either STOPPING or STOPPED status, the service status moves from DRAINING to INACTIVE. Services in the DRAINING or INACTIVE status can still be viewed with the DescribeServices API operation. However, in the future, INACTIVE services may be cleaned up and purged from Amazon ECS record keeping, and DescribeServices calls on those services return a ServiceNotFoundException error.

If you attempt to create a new service with the same name as an existing service in either ACTIVE or DRAINING status, you receive an error.

" + }, + "DeleteTaskSet":{ + "name":"DeleteTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTaskSetRequest"}, + "output":{"shape":"DeleteTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"} + ], + "documentation":"

Deletes a specified task set within a service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" }, "DeregisterContainerInstance":{ "name":"DeregisterContainerInstance", @@ -91,7 +188,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks.

If you intend to use the container instance for some other purpose after deregistration, you should stop all of the tasks running on the container instance before deregistration to avoid any orphaned tasks from consuming resources.

Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2 instance; if you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing.

If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents are not automatically deregistered when terminated).

" + "documentation":"

Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks.

If you intend to use the container instance for some other purpose after deregistration, you should stop all of the tasks running on the container instance before deregistration. That prevents any orphaned tasks from consuming resources.

Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2 instance. If you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing.

If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents are not automatically deregistered when terminated).

" }, "DeregisterTaskDefinition":{ "name":"DeregisterTaskDefinition", @@ -106,7 +203,22 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count.

You cannot use an INACTIVE task definition to run new tasks or create new services, and you cannot update an existing service to reference an INACTIVE task definition (although there may be up to a 10 minute window following deregistration where these restrictions have not yet taken effect).

" + "documentation":"

Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as INACTIVE. Existing tasks and services that reference an INACTIVE task definition continue to run without disruption. Existing services that reference an INACTIVE task definition can still scale up or down by modifying the service's desired count.

You cannot use an INACTIVE task definition to run new tasks or create new services, and you cannot update an existing service to reference an INACTIVE task definition. However, there may be up to a 10-minute window following deregistration where these restrictions have not yet taken effect.

At this time, INACTIVE task definitions remain discoverable in your account indefinitely. However, this behavior is subject to change in the future, so you should not rely on INACTIVE task definitions persisting beyond the lifecycle of any associated tasks and services.

" + }, + "DescribeCapacityProviders":{ + "name":"DescribeCapacityProviders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCapacityProvidersRequest"}, + "output":{"shape":"DescribeCapacityProvidersResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Describes one or more of your capacity providers.

" }, "DescribeClusters":{ "name":"DescribeClusters", @@ -137,7 +249,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Describes Amazon EC2 Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested.

" + "documentation":"

Describes Amazon Elastic Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested.

" }, "DescribeServices":{ "name":"DescribeServices", @@ -170,6 +282,26 @@ ], "documentation":"

Describes a task definition. You can specify a family and revision to find information about a specific task definition, or you can simply specify the family to find the latest ACTIVE revision in that family.

You can only describe INACTIVE task definitions while an active task or service references them.

" }, + "DescribeTaskSets":{ + "name":"DescribeTaskSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTaskSetsRequest"}, + "output":{"shape":"DescribeTaskSetsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"} + ], + "documentation":"

Describes the task sets in the specified cluster and service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, "DescribeTasks":{ "name":"DescribeTasks", "http":{ @@ -198,7 +330,36 @@ {"shape":"ServerException"}, {"shape":"ClientException"} ], - "documentation":"

This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.

Returns an endpoint for the Amazon EC2 Container Service agent to poll for updates.

" + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Returns an endpoint for the Amazon ECS agent to poll for updates.

" + }, + "ListAccountSettings":{ + "name":"ListAccountSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccountSettingsRequest"}, + "output":{"shape":"ListAccountSettingsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Lists the account settings for a specified principal.

" + }, + "ListAttributes":{ + "name":"ListAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAttributesRequest"}, + "output":{"shape":"ListAttributesResponse"}, + "errors":[ + {"shape":"ClusterNotFoundException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

" }, "ListClusters":{ "name":"ListClusters", @@ -229,7 +390,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Returns a list of container instances in a specified cluster.

" + "documentation":"

Returns a list of container instances in a specified cluster. You can filter the results of a ListContainerInstances operation with cluster query language statements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" }, "ListServices":{ "name":"ListServices", @@ -247,6 +408,22 @@ ], "documentation":"

Lists the services that are running in a specified cluster.

" }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

List the tags for an Amazon ECS resource.

" + }, "ListTaskDefinitionFamilies":{ "name":"ListTaskDefinitionFamilies", "http":{ @@ -292,7 +469,71 @@ {"shape":"ClusterNotFoundException"}, {"shape":"ServiceNotFoundException"} ], - "documentation":"

Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the family, containerInstance, and desiredStatus parameters.

Recently-stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour.

" + "documentation":"

Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the family, containerInstance, and desiredStatus parameters.

Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour.

" + }, + "PutAccountSetting":{ + "name":"PutAccountSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAccountSettingRequest"}, + "output":{"shape":"PutAccountSettingResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Modifies an account setting. Account settings are set on a per-Region basis.

If you change the account setting for the root user, the default settings for all of the IAM users and roles for which no individual account setting has been specified are reset. For more information, see Account Settings in the Amazon Elastic Container Service Developer Guide.

When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat are specified, the Amazon Resource Name (ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or the root user for an account is affected. The opt-in and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format of a resource will be defined by the opt-in status of the IAM user or role that created the resource. You must enable this setting to use Amazon ECS features such as resource tagging.

When awsvpcTrunking is specified, the elastic network interface (ENI) limit for any new container instances that support the feature is changed. If awsvpcTrunking is enabled, any new container instances that support the feature are launched have the increased ENI limits available to them. For more information, see Elastic Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.

When containerInsights is specified, the default setting indicating whether CloudWatch Container Insights is enabled for your clusters is changed. If containerInsights is enabled, any new clusters that are created will have Container Insights enabled unless you disable it during cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.

" + }, + "PutAccountSettingDefault":{ + "name":"PutAccountSettingDefault", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAccountSettingDefaultRequest"}, + "output":{"shape":"PutAccountSettingDefaultResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Modifies an account setting for all IAM users on an account for whom no individual account setting has been specified. Account settings are set on a per-Region basis.

" + }, + "PutAttributes":{ + "name":"PutAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAttributesRequest"}, + "output":{"shape":"PutAttributesResponse"}, + "errors":[ + {"shape":"ClusterNotFoundException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"AttributeLimitExceededException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" + }, + "PutClusterCapacityProviders":{ + "name":"PutClusterCapacityProviders", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutClusterCapacityProvidersRequest"}, + "output":{"shape":"PutClusterCapacityProvidersResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"UpdateInProgressException"} + ], + "documentation":"

Modifies the available capacity providers and the default capacity provider strategy for a cluster.

You must specify both the available capacity providers and a default capacity provider strategy for the cluster. If the specified cluster has existing capacity providers associated with it, you must specify all existing capacity providers in addition to any new ones you want to add. Any existing capacity providers associated with a cluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the cluster. You can only disassociate an existing capacity provider from a cluster if it's not being used by any existing tasks.

When creating a service or running a task on a cluster, if no capacity provider or launch type is specified, then the cluster's default capacity provider strategy is used. It is recommended to define a default capacity provider strategy for your cluster, however you may specify an empty array ([]) to bypass defining a default strategy.

" }, "RegisterContainerInstance":{ "name":"RegisterContainerInstance", @@ -304,9 +545,10 @@ "output":{"shape":"RegisterContainerInstanceResponse"}, "errors":[ {"shape":"ServerException"}, - {"shape":"ClientException"} + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"} ], - "documentation":"

This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.

Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on.

" + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on.

" }, "RegisterTaskDefinition":{ "name":"RegisterTaskDefinition", @@ -321,7 +563,7 @@ {"shape":"ClientException"}, {"shape":"InvalidParameterException"} ], - "documentation":"

Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon EC2 Container Service Developer Guide.

You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon EC2 Container Service Developer Guide.

You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference.

" + "documentation":"

Registers a new task definition from the supplied family and containerDefinitions. Optionally, you can add data volumes to your containers with the volumes parameter. For more information about task definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

You can specify an IAM role for your task with the taskRoleArn parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

You can specify a Docker networking mode for the containers in your task definition with the networkMode parameter. The available network modes correspond to those described in Network settings in the Docker run reference. If you specify the awsvpc network mode, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" }, "RunTask":{ "name":"RunTask", @@ -335,9 +577,14 @@ {"shape":"ServerException"}, {"shape":"ClientException"}, {"shape":"InvalidParameterException"}, - {"shape":"ClusterNotFoundException"} + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"PlatformUnknownException"}, + {"shape":"PlatformTaskDefinitionIncompatibilityException"}, + {"shape":"AccessDeniedException"}, + {"shape":"BlockedException"} ], - "documentation":"

Start a task using random placement and the default Amazon ECS scheduler. To use your own scheduler or place a task on a specific container instance, use StartTask instead.

The count parameter is limited to 10 tasks per call.

" + "documentation":"

Starts a new task using the specified task definition.

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific container instances.

The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that immediately follows a previous API command.

To manage eventual consistency, you can do the following:

  • Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time and increasing gradually up to five minutes of wait time.

  • Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to about five minutes of wait time.

" }, "StartTask":{ "name":"StartTask", @@ -353,7 +600,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances. To use the default Amazon ECS scheduler to place your task, use RunTask instead.

The list of container instances to start tasks on is limited to 10.

" + "documentation":"

Starts a new task from the specified task definition on the specified container instance or instances.

Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

" }, "StopTask":{ "name":"StopTask", @@ -369,7 +616,23 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"} ], - "documentation":"

Stops a running task.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

" + "documentation":"

Stops a running task. Any tags associated with the task will be deleted.

When StopTask is called on a task, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM value and a default 30-second timeout, after which the SIGKILL value is sent and the containers are forcibly stopped. If the container handles the SIGTERM value gracefully and exits within 30 seconds from receiving it, no SIGKILL value is sent.

The default 30-second timeout can be configured on the Amazon ECS container agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + }, + "SubmitAttachmentStateChanges":{ + "name":"SubmitAttachmentStateChanges", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SubmitAttachmentStateChangesRequest"}, + "output":{"shape":"SubmitAttachmentStateChangesResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that an attachment changed states.

" }, "SubmitContainerStateChange":{ "name":"SubmitContainerStateChange", @@ -381,9 +644,10 @@ "output":{"shape":"SubmitContainerStateChangeResponse"}, "errors":[ {"shape":"ServerException"}, - {"shape":"ClientException"} + {"shape":"ClientException"}, + {"shape":"AccessDeniedException"} ], - "documentation":"

This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a container changed states.

" + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a container changed states.

" }, "SubmitTaskStateChange":{ "name":"SubmitTaskStateChange", @@ -395,9 +659,61 @@ "output":{"shape":"SubmitTaskStateChangeResponse"}, "errors":[ {"shape":"ServerException"}, - {"shape":"ClientException"} + {"shape":"ClientException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a task changed states.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Deletes specified tags from a resource.

" + }, + "UpdateClusterSettings":{ + "name":"UpdateClusterSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterSettingsRequest"}, + "output":{"shape":"UpdateClusterSettingsResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"InvalidParameterException"} ], - "documentation":"

This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.

Sent to acknowledge that a task changed states.

" + "documentation":"

Modifies the settings to use for a cluster.

" }, "UpdateContainerAgent":{ "name":"UpdateContainerAgent", @@ -416,7 +732,23 @@ {"shape":"NoUpdateAvailableException"}, {"shape":"MissingVersionException"} ], - "documentation":"

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.

UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux with the ecs-init service installed and running. For help updating the Amazon ECS container agent on other operating systems, see Manually Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide.

" + }, + "UpdateContainerInstancesState":{ + "name":"UpdateContainerInstancesState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateContainerInstancesStateRequest"}, + "output":{"shape":"UpdateContainerInstancesStateResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"} + ], + "documentation":"

Modifies the status of an Amazon ECS container instance.

Once a container instance has reached an ACTIVE state, you can change the status of a container instance to DRAINING to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size.

A container instance cannot be changed to DRAINING until it has reached an ACTIVE status. If the instance is in any other status, an error will be received.

When you set a container instance to DRAINING, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the PENDING state are stopped immediately.

Service tasks on the container instance that are in the RUNNING state are stopped and replaced according to the service's deployment configuration parameters, minimumHealthyPercent and maximumPercent. You can change the deployment configuration of your service using UpdateService.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during task replacement. For example, desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained, provided that the cluster resources required to do this are available. If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped.

Any PENDING or RUNNING tasks that do not belong to a service are not affected. You must wait for them to finish or stop them manually.

A container instance has completed draining when it has no more RUNNING tasks. You can verify this using ListTasks.

When a container instance has been drained, you can set a container instance to ACTIVE status and once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again.

" }, "UpdateService":{ "name":"UpdateService", @@ -432,12 +764,64 @@ {"shape":"InvalidParameterException"}, {"shape":"ClusterNotFoundException"}, {"shape":"ServiceNotFoundException"}, - {"shape":"ServiceNotActiveException"} + {"shape":"ServiceNotActiveException"}, + {"shape":"PlatformUnknownException"}, + {"shape":"PlatformTaskDefinitionIncompatibilityException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updating the task placement strategies and constraints on an Amazon ECS service remains in preview and is a Beta Service as defined by and subject to the Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms (\"Beta Terms\"). These Beta Terms apply to your participation in this preview.

Modifies the parameters of a service.

For services using the rolling update (ECS) deployment controller, the desired count, deployment configuration, network configuration, task placement constraints and strategies, or task definition used can be updated.

For services using the blue/green (CODE_DEPLOY) deployment controller, only the desired count, deployment configuration, task placement constraints and strategies, and health check grace period can be updated using this API. If the network configuration, platform version, or task definition need to be updated, a new AWS CodeDeploy deployment should be created. For more information, see CreateDeployment in the AWS CodeDeploy API Reference.

For services using an external deployment controller, you can update only the desired count, task placement constraints and strategies, and health check grace period using this API. If the launch type, load balancer, network configuration, platform version, or task definition need to be updated, you should create a new task set. For more information, see CreateTaskSet.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

If you have updated the Docker image of your application, you can create a new task definition with that image and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent parameters (in the service's deployment configuration) to determine the deployment strategy.

If your updated Docker image uses the same tag as what is in the existing task definition for your service (for example, my_image:latest), you do not need to create a new revision of your task definition. You can update the service using the forceNewDeployment option. The new tasks launched by the deployment pull the current image/tag combination from your repository when they start.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

  • If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount temporarily during a deployment. For example, if desiredCount is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state. Tasks for services that use a load balancer are considered healthy if they are in the RUNNING state and the container instance they are hosted on is reported as healthy by the load balancer.

  • The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if desiredCount is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):

    • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

    • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic:

  • Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.

  • Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.

" + }, + "UpdateServicePrimaryTaskSet":{ + "name":"UpdateServicePrimaryTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServicePrimaryTaskSetRequest"}, + "output":{"shape":"UpdateServicePrimaryTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task set in a service will transition to the service. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "UpdateTaskSet":{ + "name":"UpdateTaskSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTaskSetRequest"}, + "output":{"shape":"UpdateTaskSetResponse"}, + "errors":[ + {"shape":"ServerException"}, + {"shape":"ClientException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClusterNotFoundException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceNotFoundException"}, + {"shape":"ServiceNotActiveException"}, + {"shape":"TaskSetNotFoundException"} ], - "documentation":"

Modifies the desired count, deployment configuration, or task definition used in a service.

You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new desiredCount parameter.

You can use UpdateService to modify your task definition and deploy a new version of your service.

You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, to determine the deployment strategy.

If the minimumHealthyPercent is below 100%, the scheduler can ignore the desiredCount temporarily during a deployment. For example, if your service has a desiredCount of four tasks, a minimumHealthyPercent of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and the container instance it is hosted on is reported as healthy by the load balancer.

The maximumPercent parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if your service has a desiredCount of four tasks, a maximumPercent value of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).

When UpdateService stops a task during a deployment, the equivalent of docker stop is issued to the containers running in the task. This results in a SIGTERM and a 30-second timeout, after which SIGKILL is sent and the containers are forcibly stopped. If the container handles the SIGTERM gracefully and exits within 30 seconds from receiving it, no SIGKILL is sent.

When the service scheduler launches new tasks, it attempts to balance them across the Availability Zones in your cluster with the following logic:

  • Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).

  • Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.

  • Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.

" + "documentation":"

Modifies a task set. This is used when a service uses the EXTERNAL deployment controller type. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" } }, "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You do not have authorization to perform the requested action.

", + "exception":true + }, "AgentUpdateStatus":{ "type":"string", "enum":[ @@ -449,25 +833,144 @@ "FAILED" ] }, - "Attribute":{ + "AssignPublicIp":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "Attachment":{ "type":"structure", - "required":["name"], "members":{ - "name":{ + "id":{ "shape":"String", - "documentation":"

The name of the container instance attribute.

" + "documentation":"

The unique identifier for the attachment.

" }, - "value":{ + "type":{ "shape":"String", - "documentation":"

The value of the container instance attribute (at this time, the value here is Null, but this could change in future revisions for expandability).

" - } - }, - "documentation":"

The attributes applicable to a container instance when it is registered.

" - }, + "documentation":"

The type of the attachment, such as ElasticNetworkInterface.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, ATTACHED, DETACHING, DETACHED, and DELETED.

" + }, + "details":{ + "shape":"AttachmentDetails", + "documentation":"

Details of the attachment. For elastic network interfaces, this includes the network interface ID, the MAC address, the subnet ID, and the private IPv4 address.

" + } + }, + "documentation":"

An object representing a container instance or task attachment.

" + }, + "AttachmentDetails":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, + "AttachmentStateChange":{ + "type":"structure", + "required":[ + "attachmentArn", + "status" + ], + "members":{ + "attachmentArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the attachment.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the attachment.

" + } + }, + "documentation":"

An object representing a change in state for a task attachment.

" + }, + "AttachmentStateChanges":{ + "type":"list", + "member":{"shape":"AttachmentStateChange"} + }, + "Attachments":{ + "type":"list", + "member":{"shape":"Attachment"} + }, + "Attribute":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, and periods are allowed.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, and spaces are allowed.

" + }, + "targetType":{ + "shape":"TargetType", + "documentation":"

The type of the target with which to attach the attribute. This parameter is required if you use the short form ID for a resource instead of the full ARN.

" + }, + "targetId":{ + "shape":"String", + "documentation":"

The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).

" + } + }, + "documentation":"

An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" + }, + "AttributeLimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You can apply up to 10 custom attributes per resource. You can view the attributes of a resource with ListAttributes. You can remove existing attributes on a resource with DeleteAttributes.

", + "exception":true + }, "Attributes":{ "type":"list", "member":{"shape":"Attribute"} }, + "AutoScalingGroupProvider":{ + "type":"structure", + "required":["autoScalingGroupArn"], + "members":{ + "autoScalingGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the Auto Scaling group.

" + }, + "managedScaling":{ + "shape":"ManagedScaling", + "documentation":"

The managed scaling settings for the Auto Scaling group capacity provider.

" + }, + "managedTerminationProtection":{ + "shape":"ManagedTerminationProtection", + "documentation":"

The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection.

When using managed termination protection, managed scaling must also be used otherwise managed termination protection will not work.

When managed termination protection is enabled, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions enabled as well. For more information, see Instance Protection in the AWS Auto Scaling User Guide.

When managed termination protection is disabled, your Amazon EC2 instances are not protected from termination when the Auto Scaling group scales in.

" + } + }, + "documentation":"

The details of the Auto Scaling group for the capacity provider.

" + }, + "AwsVpcConfiguration":{ + "type":"structure", + "required":["subnets"], + "members":{ + "subnets":{ + "shape":"StringList", + "documentation":"

The subnets associated with the task or service. There is a limit of 16 subnets that can be specified per AwsVpcConfiguration.

All specified subnets must be from the same VPC.

" + }, + "securityGroups":{ + "shape":"StringList", + "documentation":"

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration.

All specified security groups must be from the same VPC.

" + }, + "assignPublicIp":{ + "shape":"AssignPublicIp", + "documentation":"

Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.

" + } + }, + "documentation":"

An object representing the networking details for a task or service.

" + }, + "BlockedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Your AWS account has been blocked. For more information, contact AWS Support.

", + "exception":true + }, "Boolean":{"type":"boolean"}, "BoxedBoolean":{ "type":"boolean", @@ -477,12 +980,87 @@ "type":"integer", "box":true }, + "CapacityProvider":{ + "type":"structure", + "members":{ + "capacityProviderArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the capacity provider.

" + }, + "name":{ + "shape":"String", + "documentation":"

The name of the capacity provider.

" + }, + "status":{ + "shape":"CapacityProviderStatus", + "documentation":"

The current status of the capacity provider. Only capacity providers in an ACTIVE state can be used in a cluster.

" + }, + "autoScalingGroupProvider":{ + "shape":"AutoScalingGroupProvider", + "documentation":"

The Auto Scaling group settings for the capacity provider.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + } + }, + "documentation":"

The details of a capacity provider.

" + }, + "CapacityProviderField":{ + "type":"string", + "enum":["TAGS"] + }, + "CapacityProviderFieldList":{ + "type":"list", + "member":{"shape":"CapacityProviderField"} + }, + "CapacityProviderStatus":{ + "type":"string", + "enum":["ACTIVE"] + }, + "CapacityProviderStrategy":{ + "type":"list", + "member":{"shape":"CapacityProviderStrategyItem"} + }, + "CapacityProviderStrategyItem":{ + "type":"structure", + "required":["capacityProvider"], + "members":{ + "capacityProvider":{ + "shape":"String", + "documentation":"

The short name of the capacity provider.

" + }, + "weight":{ + "shape":"CapacityProviderStrategyItemWeight", + "documentation":"

The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider.

For example, if you have a strategy that contains two capacity providers and both have a weight of 1, then when the base is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of 1 for capacityProviderA and a weight of 4 for capacityProviderB, then for every one task that is run using capacityProviderA, four tasks would use capacityProviderB.

" + }, + "base":{ + "shape":"CapacityProviderStrategyItemBase", + "documentation":"

The base value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined.

" + } + }, + "documentation":"

The details of a capacity provider strategy.

" + }, + "CapacityProviderStrategyItemBase":{ + "type":"integer", + "max":100000, + "min":0 + }, + "CapacityProviderStrategyItemWeight":{ + "type":"integer", + "max":1000, + "min":0 + }, + "CapacityProviders":{ + "type":"list", + "member":{"shape":"CapacityProvider"} + }, "ClientException":{ "type":"structure", "members":{ "message":{"shape":"String"} }, - "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permission to use the action or resource, or specifying an identifier that is not valid.

", + "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an identifier that is not valid.

", "exception":true }, "Cluster":{ @@ -490,7 +1068,7 @@ "members":{ "clusterArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test ..

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS account ID of the cluster owner, the cluster namespace, and then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test.

" }, "clusterName":{ "shape":"String", @@ -498,11 +1076,11 @@ }, "status":{ "shape":"String", - "documentation":"

The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE indicates that you can register container instances with the cluster and the associated instances can accept tasks.

" + "documentation":"

The status of the cluster. The following are the possible states that will be returned.

ACTIVE

The cluster is ready to accept tasks and if applicable you can register container instances with the cluster.

PROVISIONING

The cluster has capacity providers associated with it and the resources needed for the capacity provider are being created.

DEPROVISIONING

The cluster has capacity providers associated with it and the resources needed for the capacity provider are being deleted.

FAILED

The cluster has capacity providers associated with it and the resources needed for the capacity provider have failed to create.

INACTIVE

The cluster has been deleted. Clusters with an INACTIVE status may remain discoverable in your account for a period of time. However, this behavior is subject to change in the future, so you should not rely on INACTIVE clusters persisting.

" }, "registeredContainerInstancesCount":{ "shape":"Integer", - "documentation":"

The number of container instances registered into the cluster.

" + "documentation":"

The number of container instances registered into the cluster. This includes container instances in both ACTIVE and DRAINING status.

" }, "runningTasksCount":{ "shape":"Integer", @@ -515,6 +1093,34 @@ "activeServicesCount":{ "shape":"Integer", "documentation":"

The number of services that are running on the cluster in an ACTIVE state. You can view these services with ListServices.

" + }, + "statistics":{ + "shape":"Statistics", + "documentation":"

Additional information about your clusters that are separated by launch type, including:

  • runningEC2TasksCount

  • RunningFargateTasksCount

  • pendingEC2TasksCount

  • pendingFargateTasksCount

  • activeEC2ServiceCount

  • activeFargateServiceCount

  • drainingEC2ServiceCount

  • drainingFargateServiceCount

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "settings":{ + "shape":"ClusterSettings", + "documentation":"

The settings for the cluster. This parameter indicates whether CloudWatch Container Insights is enabled or disabled for a cluster.

" + }, + "capacityProviders":{ + "shape":"StringList", + "documentation":"

The capacity providers associated with the cluster.

" + }, + "defaultCapacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The default capacity provider strategy for the cluster. When services or tasks are run in the cluster with no launch type or capacity provider strategy specified, the default capacity provider strategy is used.

" + }, + "attachments":{ + "shape":"Attachments", + "documentation":"

The resources attached to a cluster. When using a capacity provider with a cluster, the Auto Scaling plan that is created will be returned as a cluster attachment.

" + }, + "attachmentsStatus":{ + "shape":"String", + "documentation":"

The status of the capacity providers associated with the cluster. The following are the states that will be returned:

UPDATE_IN_PROGRESS

The available capacity providers for the cluster are updating. This occurs when the Auto Scaling plan is provisioning or deprovisioning.

UPDATE_COMPLETE

The capacity providers have successfully updated.

UPDATE_FAILED

The capacity provider updates failed.

" } }, "documentation":"

A regional grouping of one or more container instances on which you can run task requests. Each account receives a default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may contain more than one instance type simultaneously.

" @@ -523,27 +1129,87 @@ "type":"structure", "members":{ }, - "documentation":"

You cannot delete a cluster that has registered container instances. You must first deregister the container instances before you can delete the cluster. For more information, see DeregisterContainerInstance.

", + "documentation":"

You cannot delete a cluster that has registered container instances. First, deregister the container instances before you can delete the cluster. For more information, see DeregisterContainerInstance.

", "exception":true }, "ClusterContainsServicesException":{ "type":"structure", "members":{ }, - "documentation":"

You cannot delete a cluster that contains services. You must first update the service to reduce its desired task count to 0 and then delete the service. For more information, see UpdateService and DeleteService.

", + "documentation":"

You cannot delete a cluster that contains services. First, update the service to reduce its desired task count to 0 and then delete the service. For more information, see UpdateService and DeleteService.

", + "exception":true + }, + "ClusterContainsTasksException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot delete a cluster that has active tasks.

", "exception":true }, + "ClusterField":{ + "type":"string", + "enum":[ + "ATTACHMENTS", + "SETTINGS", + "STATISTICS", + "TAGS" + ] + }, + "ClusterFieldList":{ + "type":"list", + "member":{"shape":"ClusterField"} + }, "ClusterNotFoundException":{ "type":"structure", "members":{ }, - "documentation":"

The specified cluster could not be found. You can view your available clusters with ListClusters. Amazon ECS clusters are region-specific.

", + "documentation":"

The specified cluster could not be found. You can view your available clusters with ListClusters. Amazon ECS clusters are Region-specific.

", "exception":true }, + "ClusterSetting":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ClusterSettingName", + "documentation":"

The name of the cluster setting. The only supported value is containerInsights.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value to set for the cluster setting. The supported values are enabled and disabled. If enabled is specified, CloudWatch Container Insights will be enabled for the cluster, otherwise it will be disabled unless the containerInsights account setting is enabled. If a cluster value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" + } + }, + "documentation":"

The settings to use when creating a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster.

" + }, + "ClusterSettingName":{ + "type":"string", + "enum":["containerInsights"] + }, + "ClusterSettings":{ + "type":"list", + "member":{"shape":"ClusterSetting"} + }, "Clusters":{ "type":"list", "member":{"shape":"Cluster"} }, + "Compatibility":{ + "type":"string", + "enum":[ + "EC2", + "FARGATE" + ] + }, + "CompatibilityList":{ + "type":"list", + "member":{"shape":"Compatibility"} + }, + "Connectivity":{ + "type":"string", + "enum":[ + "CONNECTED", + "DISCONNECTED" + ] + }, "Container":{ "type":"structure", "members":{ @@ -553,12 +1219,24 @@ }, "taskArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task.

" + "documentation":"

The ARN of the task.

" }, "name":{ "shape":"String", "documentation":"

The name of the container.

" }, + "image":{ + "shape":"String", + "documentation":"

The image used for the container.

" + }, + "imageDigest":{ + "shape":"String", + "documentation":"

The container image manifest digest.

The imageDigest is only returned if the container is using an image hosted in Amazon ECR, otherwise it is omitted.

" + }, + "runtimeId":{ + "shape":"String", + "documentation":"

The ID of the Docker container.

" + }, "lastStatus":{ "shape":"String", "documentation":"

The last known status of the container.

" @@ -569,121 +1247,206 @@ }, "reason":{ "shape":"String", - "documentation":"

A short (255 max characters) human-readable string to provide additional detail about a running or stopped container.

" + "documentation":"

A short (255 max characters) human-readable string to provide additional details about a running or stopped container.

" }, "networkBindings":{ "shape":"NetworkBindings", "documentation":"

The network bindings associated with the container.

" + }, + "networkInterfaces":{ + "shape":"NetworkInterfaces", + "documentation":"

The network interfaces associated with the container.

" + }, + "healthStatus":{ + "shape":"HealthStatus", + "documentation":"

The health status of the container. If health checks are not configured for this container in its task definition, then it reports the health status as UNKNOWN.

" + }, + "cpu":{ + "shape":"String", + "documentation":"

The number of CPU units set for the container. The value will be 0 if no value was specified in the container definition when the task definition was registered.

" + }, + "memory":{ + "shape":"String", + "documentation":"

The hard limit (in MiB) of memory set for the container.

" + }, + "memoryReservation":{ + "shape":"String", + "documentation":"

The soft limit (in MiB) of memory set for the container.

" + }, + "gpuIds":{ + "shape":"GpuIds", + "documentation":"

The IDs of each GPU assigned to the container.

" } }, "documentation":"

A Docker container that is part of a task.

" }, + "ContainerCondition":{ + "type":"string", + "enum":[ + "START", + "COMPLETE", + "SUCCESS", + "HEALTHY" + ] + }, "ContainerDefinition":{ "type":"structure", "members":{ "name":{ "shape":"String", - "documentation":"

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

" + "documentation":"

The name of a container. If you are linking multiple containers together in a task definition, the name of one container can be entered in the links of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This parameter maps to name in the Create a container section of the Docker Remote API and the --name option to docker run.

" }, "image":{ "shape":"String", - "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with repository-url/image:tag . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" + "documentation":"

The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run.

  • When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image are not propagated to already running tasks.

  • Images in Amazon ECR repositories can be specified by either using the full registry/repository:tag or registry/repository@digest. For example, 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.

  • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo).

  • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent).

  • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu).

" + }, + "repositoryCredentials":{ + "shape":"RepositoryCredentials", + "documentation":"

The private repository authentication credentials to use.

" }, "cpu":{ "shape":"Integer", - "documentation":"

The number of cpu units reserved for the container. A container instance has 1,024 cpu units for every CPU core. This parameter specifies the minimum amount of CPU to reserve for a container, and containers share unallocated CPU units with other containers on the instance with the same ratio as their allocated amount. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run.

You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024.

For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.

The Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:

  • Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to 2 CPU shares.

  • Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values of 1 are passed to Docker as 2.

" + "documentation":"

The number of cpu units reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run.

This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level cpu value.

You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page by 1,024.

Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.

On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see CPU share constraint in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2. However, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:

  • Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares.

  • Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values of 1 are passed to Docker as 2.

On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that is described in the task definition.

" }, "memory":{ "shape":"BoxedInteger", - "documentation":"

The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

You must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of memory is used.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" + "documentation":"

The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run.

If using the Fargate launch type, this parameter is optional.

If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level memory and memoryReservation value, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed. Otherwise, the value of memory is used.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" }, "memoryReservation":{ "shape":"BoxedInteger", - "documentation":"

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit; however, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

You must specify a non-zero integer for one or both of memory or memoryReservation in container definitions. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

" + "documentation":"

The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the memory parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to MemoryReservation in the Create a container section of the Docker Remote API and the --memory-reservation option to docker run.

If a task-level memory value is not specified, you must specify a non-zero integer for one or both of memory or memoryReservation in a container definition. If you specify both, memory must be greater than memoryReservation. If you specify memoryReservation, then that value is subtracted from the available memory resources for the container instance on which the container is placed. Otherwise, the value of memory is used.

For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation of 128 MiB, and a memory hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.

The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.

" }, "links":{ "shape":"StringList", - "documentation":"

The link parameter allows containers to communicate with each other without the need for port mappings, using the name parameter and optionally, an alias for the link. This construct is analogous to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed for each name and alias. For more information on linking Docker containers, see https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

" + "documentation":"

The links parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is bridge. The name:internalName construct is analogous to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. For more information about linking Docker containers, go to Legacy container links in the Docker documentation. This parameter maps to Links in the Create a container section of the Docker Remote API and the --link option to docker run.

This parameter is not supported for Windows containers.

Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.

" }, "portMappings":{ "shape":"PortMappingList", - "documentation":"

The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. This parameter maps to PortBindings in the Create a container section of the Docker Remote API and the --publish option to docker run. If the network mode of a task definition is set to none, then you cannot specify port mappings. If the network mode of a task definition is set to host, then host ports must either be undefined or they must match the container port in the port mapping.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the Network Bindings section of a container description of a selected task in the Amazon ECS console, or the networkBindings section DescribeTasks responses.

" + "documentation":"

The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic.

For task definitions that use the awsvpc network mode, you should only specify the containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

Port mappings on Windows use the NetNAT gateway address rather than localhost. There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself.

This parameter maps to PortBindings in the Create a container section of the Docker Remote API and the --publish option to docker run. If the network mode of a task definition is set to none, then you can't specify port mappings. If the network mode of a task definition is set to host, then host ports must either be undefined or they must match the container port in the port mapping.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the Network Bindings section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the networkBindings section DescribeTasks responses.

" }, "essential":{ "shape":"BoxedBoolean", - "documentation":"

If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

If the essential parameter of a container is marked as true, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide.

" }, "entryPoint":{ "shape":"StringList", - "documentation":"

Early versions of the Amazon ECS container agent do not properly handle entryPoint parameters. If you have problems using entryPoint, update your container agent or enter your commands and arguments as command array items instead.

The entry point that is passed to the container. This parameter maps to Entrypoint in the Create a container section of the Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

" + "documentation":"

Early versions of the Amazon ECS container agent do not properly handle entryPoint parameters. If you have problems using entryPoint, update your container agent or enter your commands and arguments as command array items instead.

The entry point that is passed to the container. This parameter maps to Entrypoint in the Create a container section of the Docker Remote API and the --entrypoint option to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint.

" }, "command":{ "shape":"StringList", - "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd.

" + "documentation":"

The command that is passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run. For more information, see https://docs.docker.com/engine/reference/builder/#cmd. If there are multiple arguments, each argument should be a separated string in the array.

" }, "environment":{ "shape":"EnvironmentVariables", - "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plain text environment variables for sensitive information, such as credential data.

" + "documentation":"

The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run.

We do not recommend using plaintext environment variables for sensitive information, such as credential data.

" + }, + "environmentFiles":{ + "shape":"EnvironmentFiles", + "documentation":"

A list of files containing the environment variables to pass to a container. This parameter maps to the --env-file option to docker run.

You can specify up to ten environment files. The file must have a .env file extension. Each line in an environment file should contain an environment variable in VARIABLE=VALUE format. Lines beginning with # are treated as comments and are ignored. For more information on the environment variable file syntax, see Declare default environment variables in file.

If there are environment variables specified using the environment parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they are processed from the top down. It is recommended to use unique variable names. For more information, see Specifying Environment Variables in the Amazon Elastic Container Service Developer Guide.

This field is not valid for containers in tasks using the Fargate launch type.

" }, "mountPoints":{ "shape":"MountPointList", - "documentation":"

The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

" + "documentation":"

The mount points for data volumes in your container.

This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives.

" }, "volumesFrom":{ "shape":"VolumeFromList", - "documentation":"

Data volumes to mount from another container. This parameter maps to VolumesFrom in the Create a container section of the Docker Remote API and the --volumes-from option to docker run.

" + "documentation":"

Data volumes to mount from another container. This parameter maps to VolumesFrom in the Create a container section of the Docker Remote API and the --volumes-from option to docker run.

" + }, + "linuxParameters":{ + "shape":"LinuxParameters", + "documentation":"

Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see KernelCapabilities.

This parameter is not supported for Windows containers.

" + }, + "secrets":{ + "shape":"SecretList", + "documentation":"

The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" + }, + "dependsOn":{ + "shape":"ContainerDependencies", + "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to enable container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.

" + }, + "startTimeout":{ + "shape":"BoxedInteger", + "documentation":"

Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, or HEALTHY status. If a startTimeout value is specified for containerB and it does not reach the desired status within that time then containerA will give up and not start. This results in the task transitioning to a STOPPED state.

For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later. If this parameter is not specified, the default value of 3 minutes is used.

For tasks using the EC2 launch type, if the startTimeout parameter is not specified, the value set for the Amazon ECS container agent configuration variable ECS_CONTAINER_START_TIMEOUT is used by default. If neither the startTimeout parameter or the ECS_CONTAINER_START_TIMEOUT agent configuration variable are set, then the default values of 3 minutes for Linux containers and 8 minutes on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to enable a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + }, + "stopTimeout":{ + "shape":"BoxedInteger", + "documentation":"

Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used.

For tasks using the EC2 launch type, if the stopTimeout parameter is not specified, the value set for the Amazon ECS container agent configuration variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to enable a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" }, "hostname":{ "shape":"String", - "documentation":"

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

" + "documentation":"

The hostname to use for your container. This parameter maps to Hostname in the Create a container section of the Docker Remote API and the --hostname option to docker run.

The hostname parameter is not supported if you are using the awsvpc network mode.

" }, "user":{ "shape":"String", - "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

" + "documentation":"

The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

You can use the following formats. If specifying a UID or GID, you must specify it as a positive integer.

  • user

  • user:group

  • uid

  • uid:gid

  • user:gid

  • uid:group

This parameter is not supported for Windows containers.

" }, "workingDirectory":{ "shape":"String", - "documentation":"

The working directory in which to run commands inside the container. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

" + "documentation":"

The working directory in which to run commands inside the container. This parameter maps to WorkingDir in the Create a container section of the Docker Remote API and the --workdir option to docker run.

" }, "disableNetworking":{ "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, networking is disabled within the container. This parameter maps to NetworkDisabled in the Create a container section of the Docker Remote API.

" + "documentation":"

When this parameter is true, networking is disabled within the container. This parameter maps to NetworkDisabled in the Create a container section of the Docker Remote API.

This parameter is not supported for Windows containers.

" }, "privileged":{ "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

" + "documentation":"

When this parameter is true, the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" }, "readonlyRootFilesystem":{ "shape":"BoxedBoolean", - "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

" + "documentation":"

When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run.

This parameter is not supported for Windows containers.

" }, "dnsServers":{ "shape":"StringList", - "documentation":"

A list of DNS servers that are presented to the container. This parameter maps to Dns in the Create a container section of the Docker Remote API and the --dns option to docker run.

" + "documentation":"

A list of DNS servers that are presented to the container. This parameter maps to Dns in the Create a container section of the Docker Remote API and the --dns option to docker run.

This parameter is not supported for Windows containers.

" }, "dnsSearchDomains":{ "shape":"StringList", - "documentation":"

A list of DNS search domains that are presented to the container. This parameter maps to DnsSearch in the Create a container section of the Docker Remote API and the --dns-search option to docker run.

" + "documentation":"

A list of DNS search domains that are presented to the container. This parameter maps to DnsSearch in the Create a container section of the Docker Remote API and the --dns-search option to docker run.

This parameter is not supported for Windows containers.

" }, "extraHosts":{ "shape":"HostEntryList", - "documentation":"

A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. This parameter maps to ExtraHosts in the Create a container section of the Docker Remote API and the --add-host option to docker run.

" + "documentation":"

A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. This parameter maps to ExtraHosts in the Create a container section of the Docker Remote API and the --add-host option to docker run.

This parameter is not supported for Windows containers or tasks that use the awsvpc network mode.

" }, "dockerSecurityOptions":{ "shape":"StringList", - "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This parameter maps to SecurityOpt in the Create a container section of the Docker Remote API and the --security-opt option to docker run.

The Amazon ECS container agent running on a container instance must register with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment variables before containers placed on that instance can use these security options. For more information, see Amazon ECS Container Agent Configuration in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This field is not valid for containers in tasks using the Fargate launch type.

With Windows containers, this parameter can be used to reference a credential spec file when configuring a container for Active Directory authentication. For more information, see Using gMSAs for Windows Containers in the Amazon Elastic Container Service Developer Guide.

This parameter maps to SecurityOpt in the Create a container section of the Docker Remote API and the --security-opt option to docker run.

The Amazon ECS container agent running on a container instance must register with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment variables before containers placed on that instance can use these security options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + }, + "interactive":{ + "shape":"BoxedBoolean", + "documentation":"

When this parameter is true, this allows you to deploy containerized applications that require stdin or a tty to be allocated. This parameter maps to OpenStdin in the Create a container section of the Docker Remote API and the --interactive option to docker run.

" + }, + "pseudoTerminal":{ + "shape":"BoxedBoolean", + "documentation":"

When this parameter is true, a TTY is allocated. This parameter maps to Tty in the Create a container section of the Docker Remote API and the --tty option to docker run.

" }, "dockerLabels":{ "shape":"DockerLabelsMap", - "documentation":"

A key/value map of labels to add to the container. This parameter maps to Labels in the Create a container section of the Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: sudo docker version | grep \"Server API version\"

" + "documentation":"

A key/value map of labels to add to the container. This parameter maps to Labels in the Create a container section of the Docker Remote API and the --label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

" }, "ulimits":{ "shape":"UlimitList", - "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: sudo docker version | grep \"Server API version\"

" + "documentation":"

A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run. Valid naming values are displayed in the Ulimit data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

This parameter is not supported for Windows containers.

" }, "logConfiguration":{ "shape":"LogConfiguration", - "documentation":"

The log configuration specification for the container. This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run. By default, containers use the same logging driver that the Docker daemon uses; however the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Currently unsupported log drivers may be available in future releases of the Amazon ECS container agent.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: sudo docker version | grep \"Server API version\"

The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

The log configuration specification for the container.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

" + }, + "healthCheck":{ + "shape":"HealthCheck", + "documentation":"

The container health check command and associated configuration parameters for the container. This parameter maps to HealthCheck in the Create a container section of the Docker Remote API and the HEALTHCHECK parameter of docker run.

" + }, + "systemControls":{ + "shape":"SystemControls", + "documentation":"

A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls in the Create a container section of the Docker Remote API and the --sysctl option to docker run.

It is not recommended that you specify network-related systemControls parameters for multiple containers in a single task that also uses either the awsvpc or host network modes. For tasks that use the awsvpc network mode, the container that is started last determines which systemControls parameters take effect. For tasks that use the host network mode, it changes the container instance's namespaced kernel parameters as well as the containers.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container. The only supported resource is a GPU.

" + }, + "firelensConfiguration":{ + "shape":"FirelensConfiguration", + "documentation":"

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

" } }, "documentation":"

Container definitions are used in task definitions to describe the different containers that are launched as part of a task.

" @@ -692,36 +1455,70 @@ "type":"list", "member":{"shape":"ContainerDefinition"} }, + "ContainerDependencies":{ + "type":"list", + "member":{"shape":"ContainerDependency"} + }, + "ContainerDependency":{ + "type":"structure", + "required":[ + "containerName", + "condition" + ], + "members":{ + "containerName":{ + "shape":"String", + "documentation":"

The name of a container.

" + }, + "condition":{ + "shape":"ContainerCondition", + "documentation":"

The dependency condition of the container. The following are the available conditions and their behavior:

  • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.

  • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit.

  • SUCCESS - This condition is the same as COMPLETE, but it also requires that the container exits with a zero status.

  • HEALTHY - This condition validates that the dependent container passes its Docker health check before permitting other containers to start. This requires that the dependent container has health checks configured. This condition is confirmed only at task startup.

" + } + }, + "documentation":"

The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent to enable container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you are using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ecs-init package. If your container instances are launched from version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, this parameter requires that the task or service uses platform version 1.3.0 or later.

" + }, "ContainerInstance":{ "type":"structure", "members":{ "containerInstanceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "ec2InstanceId":{ "shape":"String", "documentation":"

The EC2 instance ID of the container instance.

" }, + "capacityProviderName":{ + "shape":"String", + "documentation":"

The capacity provider associated with the container instance.

" + }, + "version":{ + "shape":"Long", + "documentation":"

The version counter for the container instance. Every time a container instance experiences a change that triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS container instance state with CloudWatch Events, you can compare the version of a container instance reported by the Amazon ECS APIs with the version reported in CloudWatch Events for the container instance (inside the detail object) to verify that the version in your event stream is current.

" + }, "versionInfo":{ "shape":"VersionInfo", "documentation":"

The version information for the Amazon ECS container agent and Docker daemon running on the container instance.

" }, "remainingResources":{ "shape":"Resources", - "documentation":"

For most resource types, this parameter describes the remaining resources of the container instance that are available for new tasks. For port resource types, this parameter describes the ports that are reserved by the Amazon ECS container agent and any containers that have reserved port mappings; any port that is not specified here is available for new tasks.

" + "documentation":"

For CPU and memory resource types, this parameter describes the remaining CPU and memory that has not already been allocated to tasks and is therefore available for new tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent (at instance registration time) and any task containers that have reserved port mappings on the host (with the host or bridge network mode). Any port that is not specified here is available for new tasks.

" }, "registeredResources":{ "shape":"Resources", - "documentation":"

For most resource types, this parameter describes the registered resources on the container instance that are in use by current tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.

" + "documentation":"

For CPU and memory resource types, this parameter describes the amount of each resource that was available on the container instance when the container agent registered it with Amazon ECS. This value represents the total amount of CPU and memory that can be allocated on this container instance to tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.

" }, "status":{ "shape":"String", - "documentation":"

The status of the container instance. The valid values are ACTIVE or INACTIVE. ACTIVE indicates that the container instance can accept tasks.

" + "documentation":"

The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, ACTIVE, INACTIVE, DEREGISTERING, or DRAINING.

If your account has opted in to the awsvpcTrunking account setting, then any newly registered container instance will transition to a REGISTERING status while the trunk elastic network interface is provisioned for the instance. If the registration fails, the instance will transition to a REGISTRATION_FAILED status. You can describe the container instance and see the reason for failure in the statusReason parameter. Once the container instance is terminated, the instance transitions to a DEREGISTERING status while the trunk elastic network interface is deprovisioned. The instance then transitions to an INACTIVE status.

The ACTIVE status indicates that the container instance can accept tasks. The DRAINING indicates that new tasks are not placed on the container instance and any service tasks running on the container instance are removed if possible. For more information, see Container Instance Draining in the Amazon Elastic Container Service Developer Guide.

" + }, + "statusReason":{ + "shape":"String", + "documentation":"

The reason that the container instance reached its current status.

" }, "agentConnected":{ "shape":"Boolean", - "documentation":"

This parameter returns true if the agent is actually connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return false, and instances without a connected agent cannot accept placement requests.

" + "documentation":"

This parameter returns true if the agent is connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return false. Only instances connected to an agent can accept placement requests.

" }, "runningTasksCount":{ "shape":"Integer", @@ -737,11 +1534,41 @@ }, "attributes":{ "shape":"Attributes", - "documentation":"

The attributes set for the container instance by the Amazon ECS container agent at instance registration.

" + "documentation":"

The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the PutAttributes operation.

" + }, + "registeredAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container instance was registered.

" + }, + "attachments":{ + "shape":"Attachments", + "documentation":"

The resources attached to a container instance, such as elastic network interfaces.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the container instance to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" } }, "documentation":"

An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.

" }, + "ContainerInstanceField":{ + "type":"string", + "enum":["TAGS"] + }, + "ContainerInstanceFieldList":{ + "type":"list", + "member":{"shape":"ContainerInstanceField"} + }, + "ContainerInstanceStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "DRAINING", + "REGISTERING", + "DEREGISTERING", + "REGISTRATION_FAILED" + ] + }, "ContainerInstances":{ "type":"list", "member":{"shape":"ContainerInstance"} @@ -751,37 +1578,141 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the container that receives the override.

" + "documentation":"

The name of the container that receives the override. This parameter is required if any override is specified.

" }, "command":{ "shape":"StringList", - "documentation":"

The command to send to the container that overrides the default command from the Docker image or the task definition.

" + "documentation":"

The command to send to the container that overrides the default command from the Docker image or the task definition. You must also specify a container name.

" }, "environment":{ "shape":"EnvironmentVariables", - "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.

" + "documentation":"

The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition. You must also specify a container name.

" + }, + "environmentFiles":{ + "shape":"EnvironmentFiles", + "documentation":"

A list of files containing the environment variables to pass to a container, instead of the value from the container definition.

" + }, + "cpu":{ + "shape":"BoxedInteger", + "documentation":"

The number of cpu units reserved for the container, instead of the default value from the task definition. You must also specify a container name.

" + }, + "memory":{ + "shape":"BoxedInteger", + "documentation":"

The hard limit (in MiB) of memory to present to the container, instead of the default value from the task definition. If your container attempts to exceed the memory specified here, the container is killed. You must also specify a container name.

" + }, + "memoryReservation":{ + "shape":"BoxedInteger", + "documentation":"

The soft limit (in MiB) of memory to reserve for the container, instead of the default value from the task definition. You must also specify a container name.

" + }, + "resourceRequirements":{ + "shape":"ResourceRequirements", + "documentation":"

The type and amount of a resource to assign to a container, instead of the default value from the task definition. The only supported resource is a GPU.

" } }, - "documentation":"

The overrides that should be sent to a container.

" + "documentation":"

The overrides that should be sent to a container. An empty container override can be passed in. An example of an empty container override would be {\"containerOverrides\": [ ] }. If a non-empty container override is specified, the name parameter must be included.

" }, "ContainerOverrides":{ "type":"list", "member":{"shape":"ContainerOverride"} }, + "ContainerStateChange":{ + "type":"structure", + "members":{ + "containerName":{ + "shape":"String", + "documentation":"

The name of the container.

" + }, + "imageDigest":{ + "shape":"String", + "documentation":"

The container image SHA 256 digest.

" + }, + "runtimeId":{ + "shape":"String", + "documentation":"

The ID of the Docker container.

" + }, + "exitCode":{ + "shape":"BoxedInteger", + "documentation":"

The exit code for the container, if the state change is a result of the container exiting.

" + }, + "networkBindings":{ + "shape":"NetworkBindings", + "documentation":"

Any network bindings associated with the container.

" + }, + "reason":{ + "shape":"String", + "documentation":"

The reason for the state change.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the container.

" + } + }, + "documentation":"

An object representing a change in state for a container.

" + }, + "ContainerStateChanges":{ + "type":"list", + "member":{"shape":"ContainerStateChange"} + }, "Containers":{ "type":"list", "member":{"shape":"Container"} }, - "CreateClusterRequest":{ + "CreateCapacityProviderRequest":{ "type":"structure", + "required":[ + "name", + "autoScalingGroupProvider" + ], "members":{ - "clusterName":{ + "name":{ "shape":"String", - "documentation":"

The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + "documentation":"

The name of the capacity provider. Up to 255 characters are allowed, including letters (upper and lowercase), numbers, underscores, and hyphens. The name cannot be prefixed with \"aws\", \"ecs\", or \"fargate\".

" + }, + "autoScalingGroupProvider":{ + "shape":"AutoScalingGroupProvider", + "documentation":"

The details of the Auto Scaling group for the capacity provider.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the capacity provider to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" } } }, - "CreateClusterResponse":{ + "CreateCapacityProviderResponse":{ + "type":"structure", + "members":{ + "capacityProvider":{ + "shape":"CapacityProvider", + "documentation":"

The full description of the new capacity provider.

" + } + } + }, + "CreateClusterRequest":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of your cluster. If you do not specify a name for your cluster, you create a cluster named default. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the cluster to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "settings":{ + "shape":"ClusterSettings", + "documentation":"

The setting to use when creating a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster. If this value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" + }, + "capacityProviders":{ + "shape":"StringList", + "documentation":"

The short name of one or more capacity providers to associate with the cluster.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created and not already associated with another cluster. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

" + }, + "defaultCapacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to use by default for the cluster.

When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

If a default capacity provider strategy is not defined for a cluster during creation, it can be defined later with the PutClusterCapacityProviders API operation.

" + } + } + }, + "CreateClusterResponse":{ "type":"structure", "members":{ "cluster":{ @@ -792,11 +1723,7 @@ }, "CreateServiceRequest":{ "type":"structure", - "required":[ - "serviceName", - "taskDefinition", - "desiredCount" - ], + "required":["serviceName"], "members":{ "cluster":{ "shape":"String", @@ -804,31 +1731,83 @@ }, "serviceName":{ "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a region or across multiple regions.

" + "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" }, "taskDefinition":{ "shape":"String", - "documentation":"

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used.

" + "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used.

A task definition must be specified if the service is using the ECS deployment controller.

" }, "loadBalancers":{ "shape":"LoadBalancers", - "documentation":"

A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer per service. After you create a service, the load balancer name, container name, and container port specified in the service definition are immutable.

For Elastic Load Balancing Classic load balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.

For Elastic Load Balancing Application load balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.

" + "documentation":"

A load balancer object representing the load balancers to use with your service. For more information, see Service Load Balancing in the Amazon Elastic Container Service Developer Guide.

If the service is using the rolling update (ECS) deployment controller and using either an Application Load Balancer or Network Load Balancer, you can specify multiple target groups to attach to the service. The service-linked role is required for services that make use of multiple target groups. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If the service is using the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an AWS CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy determines which task set in your service has the status PRIMARY and associates one target group with it, and then associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that allows you perform validation tests with Lambda functions before routing production traffic to it.

After you create a service using the ECS deployment controller, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable. If you are using the CODE_DEPLOY deployment controller, these values can be changed when updating the service.

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.

For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.

Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance, because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" + }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

Service discovery is supported for Fargate tasks if you are using platform version v1.1.0 or later. For more information, see AWS Fargate Platform Versions.

" }, "desiredCount":{ "shape":"BoxedInteger", - "documentation":"

The number of instantiations of the specified task definition to place and keep running on your cluster.

" + "documentation":"

The number of instantiations of the specified task definition to place and keep running on your cluster.

This is required if schedulingStrategy is REPLICA or is not specified. If schedulingStrategy is DAEMON then this is not required.

" }, "clientToken":{ "shape":"String", - "documentation":"

Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

" + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type on which to run your service. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to use for the service.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version that your tasks in the service are running on. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" }, "role":{ "shape":"String", - "documentation":"

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.

" + "documentation":"

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and your task definition does not use the awsvpc network mode. If you specify the role parameter, you must also specify a load balancer object with the loadBalancers parameter.

If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. The service-linked role is required if your task definition uses the awsvpc network mode or if the service is configured to use service discovery, an external deployment controller, multiple target groups, or Elastic Inference accelerators in which case you should not specify a role here. For more information, see Using Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

If your specified role has a path other than /, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name bar has a path of /foo/ then you would specify /foo/bar as the role name. For more information, see Friendly Names and Paths in the IAM User Guide.

" }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" + }, + "placementConstraints":{ + "shape":"PlacementConstraints", + "documentation":"

An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime).

" + }, + "placementStrategy":{ + "shape":"PlacementStrategies", + "documentation":"

The placement strategy objects to use for tasks in your service. You can specify a maximum of five strategy rules per service.

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" + }, + "healthCheckGracePeriodSeconds":{ + "shape":"BoxedInteger", + "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of 0 is used.

If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" + }, + "schedulingStrategy":{ + "shape":"SchedulingStrategy", + "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions. This scheduler strategy is required if the service is using the CODE_DEPLOY or EXTERNAL deployment controller types.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that do not meet the placement constraints. When you're using this strategy, you don't need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.

    Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy.

" + }, + "deploymentController":{ + "shape":"DeploymentController", + "documentation":"

The deployment controller to use for the service.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "enableECSManagedTags":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks within the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + }, + "propagateTags":{ + "shape":"PropagateTags", + "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. If no value is specified, the tags are not propagated. Tags can only be propagated to the tasks within the service during service creation. To add tags to a task after service creation, use the TagResource API action.

" } } }, @@ -837,7 +1816,115 @@ "members":{ "service":{ "shape":"Service", - "documentation":"

The full description of your service following the create call.

" + "documentation":"

The full description of your service following the create call.

If a service is using the ECS deployment controller, the deploymentController and taskSets parameters will not be returned.

If the service is using the CODE_DEPLOY deployment controller, the deploymentController, taskSets and deployments parameters will be returned, however the deployments parameter will be an empty list.

" + } + } + }, + "CreateTaskSetRequest":{ + "type":"structure", + "required":[ + "service", + "cluster", + "taskDefinition" + ], + "members":{ + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

" + }, + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the task set in.

" + }, + "externalId":{ + "shape":"String", + "documentation":"

An optional non-unique tag that identifies this task set in external systems. If the task set is associated with a service discovery registry, the tasks in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute set to the provided value.

" + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

The task definition for the tasks in the task set to use.

" + }, + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "loadBalancers":{ + "shape":"LoadBalancers", + "documentation":"

A load balancer object representing the load balancer to use with the task set. The supported load balancer types are either an Application Load Balancer or a Network Load Balancer.

" + }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type that new tasks in the task set will use. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to use for the task set.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version that the tasks in the task set should use. A platform version is specified only for tasks using the Fargate launch type. If one isn't specified, the LATEST platform version is used by default.

" + }, + "scale":{"shape":"Scale"}, + "clientToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + } + } + }, + "CreateTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, + "DeleteAccountSettingRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The resource name for which to disable the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected.

" + }, + "principalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it disables the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

" + } + } + }, + "DeleteAccountSettingResponse":{ + "type":"structure", + "members":{ + "setting":{ + "shape":"Setting", + "documentation":"

The account setting for the specified principal ARN.

" + } + } + }, + "DeleteAttributesRequest":{ + "type":"structure", + "required":["attributes"], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete attributes. If you do not specify a cluster, the default cluster is assumed.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes to delete from your resource. You can specify up to 10 attributes per request. For custom attributes, specify the attribute name and target ID, but do not specify the value. If you specify the target ID using the short form, you must also specify the target type.

" + } + } + }, + "DeleteAttributesResponse":{ + "type":"structure", + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

A list of attribute objects that were successfully deleted from your resource.

" } } }, @@ -866,11 +1953,15 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The name of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.

" }, "service":{ "shape":"String", "documentation":"

The name of the service to delete.

" + }, + "force":{ + "shape":"BoxedBoolean", + "documentation":"

If true, allows you to delete a service even if it has not been scaled down to zero tasks. It is only necessary to use this if the service is using the REPLICA scheduling strategy.

" } } }, @@ -883,6 +1974,38 @@ } } }, + "DeleteTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "taskSet" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in to delete.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to delete.

" + }, + "taskSet":{ + "shape":"String", + "documentation":"

The task set ID or full Amazon Resource Name (ARN) of the task set to delete.

" + }, + "force":{ + "shape":"BoxedBoolean", + "documentation":"

If true, this allows you to delete a task set even if it hasn't been scaled down to zero.

" + } + } + }, + "DeleteTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "Deployment":{ "type":"structure", "members":{ @@ -892,11 +2015,11 @@ }, "status":{ "shape":"String", - "documentation":"

The status of the deployment. Valid values are PRIMARY (for the most recent deployment), ACTIVE (for previous deployments that still have tasks running, but are being replaced with the PRIMARY deployment), and INACTIVE (for deployments that have been completely replaced).

" + "documentation":"

The status of the deployment. The following describes each state:

PRIMARY

The most recent deployment of a service.

ACTIVE

A service deployment that still has running tasks, but are in the process of being replaced with a new PRIMARY deployment.

INACTIVE

A deployment that has been completely replaced.

" }, "taskDefinition":{ "shape":"String", - "documentation":"

The most recent task definition that was specified for the service to use.

" + "documentation":"

The most recent task definition that was specified for the tasks in the service to use.

" }, "desiredCount":{ "shape":"Integer", @@ -912,28 +2035,63 @@ }, "createdAt":{ "shape":"Timestamp", - "documentation":"

The Unix timestamp for when the service was created.

" + "documentation":"

The Unix timestamp for when the service deployment was created.

" }, "updatedAt":{ "shape":"Timestamp", - "documentation":"

The Unix timestamp for when the service was last updated.

" + "documentation":"

The Unix timestamp for when the service deployment was last updated.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy that the deployment is using.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type the tasks in the service are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" } }, - "documentation":"

The details of an Amazon ECS service deployment.

" + "documentation":"

The details of an Amazon ECS service deployment. This is used only when a service uses the ECS deployment controller type.

" }, "DeploymentConfiguration":{ "type":"structure", "members":{ "maximumPercent":{ "shape":"BoxedInteger", - "documentation":"

The upper limit (as a percentage of the service's desiredCount) of the number of tasks that are allowed in the RUNNING or PENDING state in a service during a deployment. The maximum number of tasks during a deployment is the desiredCount multiplied by the maximumPercent/100, rounded down to the nearest integer value.

" + "documentation":"

If a service is using the rolling update (ECS) deployment type, the maximum percent parameter represents an upper limit on the number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desired number of tasks (rounded down to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value for maximum percent is 200%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the maximum percent value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.

" }, "minimumHealthyPercent":{ "shape":"BoxedInteger", - "documentation":"

The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain in the RUNNING state in a service during a deployment. The minimum healthy tasks during a deployment is the desiredCount multiplied by the minimumHealthyPercent/100, rounded up to the nearest integer value.

" + "documentation":"

If a service is using the rolling update (ECS) deployment type, the minimum healthy percent represents a lower limit on the number of tasks in a service that must remain in the RUNNING state during a deployment, as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desired number of four tasks and a minimum healthy percent of 50%, the scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the RUNNING state; tasks for services that do use a load balancer are considered healthy if they are in the RUNNING state and they are reported as healthy by the load balancer. The default value for minimum healthy percent is 100%.

If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum healthy percent value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. If the tasks in the service use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.

" + } + }, + "documentation":"

Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.

" + }, + "DeploymentController":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"DeploymentControllerType", + "documentation":"

The deployment controller type to use.

There are three deployment controller types available:

ECS

The rolling update (ECS) deployment type involves replacing the current running version of the container with the latest version. The number of containers Amazon ECS adds or removes from the service during a rolling update is controlled by adjusting the minimum and maximum number of healthy tasks allowed during a service deployment, as specified in the DeploymentConfiguration.

CODE_DEPLOY

The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model powered by AWS CodeDeploy, which allows you to verify a new deployment of a service before sending production traffic to it.

EXTERNAL

The external (EXTERNAL) deployment type enables you to use any third-party deployment controller for full control over the deployment process for an Amazon ECS service.

" } }, - "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" + "documentation":"

The deployment controller to use for the service. For more information, see Amazon ECS Deployment Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "DeploymentControllerType":{ + "type":"string", + "enum":[ + "ECS", + "CODE_DEPLOY", + "EXTERNAL" + ] }, "Deployments":{ "type":"list", @@ -949,18 +2107,21 @@ }, "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full Amazon Resource Name (ARN) of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The container instance ID or full ARN of the container instance to deregister. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "force":{ "shape":"BoxedBoolean", - "documentation":"

Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

Any containers in orphaned service tasks that are registered with a Classic load balancer or an Application load balancer target group are deregistered, and they will begin connection draining according to the settings on the load balancer or target group.

" + "documentation":"

Forces the deregistration of the container instance. If you have tasks running on the container instance when you deregister it with the force option, these tasks remain running until you terminate the instance or the tasks stop through some other means, but they are orphaned (no longer monitored or accounted for by Amazon ECS). If an orphaned task on your container instance is part of an Amazon ECS service, then the service scheduler starts another copy of that task, on a different container instance if possible.

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer target group are deregistered. They begin connection draining according to the settings on the load balancer or target group.

" } } }, "DeregisterContainerInstanceResponse":{ "type":"structure", "members":{ - "containerInstance":{"shape":"ContainerInstance"} + "containerInstance":{ + "shape":"ContainerInstance", + "documentation":"

The container instance that was deregistered.

" + } } }, "DeregisterTaskDefinitionRequest":{ @@ -982,12 +2143,54 @@ } } }, + "DescribeCapacityProvidersRequest":{ + "type":"structure", + "members":{ + "capacityProviders":{ + "shape":"StringList", + "documentation":"

The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to 100 capacity providers can be described in an action.

" + }, + "include":{ + "shape":"CapacityProviderFieldList", + "documentation":"

Specifies whether or not you want to see the resource tags for the capacity provider. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" + }, + "maxResults":{ + "shape":"BoxedInteger", + "documentation":"

The maximum number of account setting results returned by DescribeCapacityProviders in paginated output. When this parameter is used, DescribeCapacityProviders 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 DescribeCapacityProviders request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders returns up to 10 results and a nextToken value if applicable.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated DescribeCapacityProviders 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 token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + } + } + }, + "DescribeCapacityProvidersResponse":{ + "type":"structure", + "members":{ + "capacityProviders":{ + "shape":"CapacityProviders", + "documentation":"

The list of capacity providers.

" + }, + "failures":{ + "shape":"Failures", + "documentation":"

Any failures associated with the call.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future DescribeCapacityProviders request. When the results of a DescribeCapacityProviders 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.

" + } + } + }, "DescribeClustersRequest":{ "type":"structure", "members":{ "clusters":{ "shape":"StringList", - "documentation":"

A space-separated list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) entries. If you do not specify a cluster, the default cluster is assumed.

" + }, + "include":{ + "shape":"ClusterFieldList", + "documentation":"

Whether to include additional information about your clusters in the response. If this field is omitted, the attachments, statistics, and tags are not included.

If ATTACHMENTS is specified, the attachments for the container instances or tasks within the cluster are included.

If SETTINGS is specified, the settings for the cluster are included.

If STATISTICS is specified, the following additional information, separated by launch type, is included:

  • runningEC2TasksCount

  • runningFargateTasksCount

  • pendingEC2TasksCount

  • pendingFargateTasksCount

  • activeEC2ServiceCount

  • activeFargateServiceCount

  • drainingEC2ServiceCount

  • drainingFargateServiceCount

If TAGS is specified, the metadata tags associated with the cluster are included.

" } } }, @@ -1010,11 +2213,15 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance or container instances you are describing were launched in any cluster other than the default cluster.

" }, "containerInstances":{ "shape":"StringList", - "documentation":"

A space-separated list of container instance IDs or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

" + }, + "include":{ + "shape":"ContainerInstanceFieldList", + "documentation":"

Specifies whether you want to see the resource tags for the container instance. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" } } }, @@ -1037,11 +2244,15 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The name of the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are describing were launched in any cluster other than the default cluster.

" }, "services":{ "shape":"StringList", "documentation":"

A list of services to describe. You may specify up to 10 services to describe in a single operation.

" + }, + "include":{ + "shape":"ServiceFieldList", + "documentation":"

Specifies whether you want to see the resource tags for the service. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" } } }, @@ -1065,6 +2276,10 @@ "taskDefinition":{ "shape":"String", "documentation":"

The family for the latest ACTIVE revision, family and revision (family:revision) for a specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to describe.

" + }, + "include":{ + "shape":"TaskDefinitionFieldList", + "documentation":"

Specifies whether to see the resource tags for the task definition. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" } } }, @@ -1074,6 +2289,48 @@ "taskDefinition":{ "shape":"TaskDefinition", "documentation":"

The full task definition description.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that is applied to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + } + } + }, + "DescribeTaskSetsRequest":{ + "type":"structure", + "required":[ + "cluster", + "service" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task sets exist in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

" + }, + "taskSets":{ + "shape":"StringList", + "documentation":"

The ID or full Amazon Resource Name (ARN) of task sets to describe.

" + }, + "include":{ + "shape":"TaskSetFieldList", + "documentation":"

Specifies whether to see the resource tags for the task set. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" + } + } + }, + "DescribeTaskSetsResponse":{ + "type":"structure", + "members":{ + "taskSets":{ + "shape":"TaskSets", + "documentation":"

The list of task sets described.

" + }, + "failures":{ + "shape":"Failures", + "documentation":"

Any failures associated with the call.

" } } }, @@ -1083,11 +2340,15 @@ "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to describe. If you do not specify a cluster, the default cluster is assumed.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you are describing were launched in any cluster other than the default cluster.

" }, "tasks":{ "shape":"StringList", - "documentation":"

A space-separated list of task IDs or full Amazon Resource Name (ARN) entries.

" + "documentation":"

A list of up to 100 task IDs or full ARN entries.

" + }, + "include":{ + "shape":"TaskFieldList", + "documentation":"

Specifies whether you want to see the resource tags for the task. If TAGS is specified, the tags are included in the response. If this field is omitted, tags are not included in the response.

" } } }, @@ -1112,16 +2373,51 @@ "STOPPED" ] }, + "Device":{ + "type":"structure", + "required":["hostPath"], + "members":{ + "hostPath":{ + "shape":"String", + "documentation":"

The path for the device on the host container instance.

" + }, + "containerPath":{ + "shape":"String", + "documentation":"

The path inside the container at which to expose the host device.

" + }, + "permissions":{ + "shape":"DeviceCgroupPermissions", + "documentation":"

The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device.

" + } + }, + "documentation":"

An object representing a container instance host device.

" + }, + "DeviceCgroupPermission":{ + "type":"string", + "enum":[ + "read", + "write", + "mknod" + ] + }, + "DeviceCgroupPermissions":{ + "type":"list", + "member":{"shape":"DeviceCgroupPermission"} + }, + "DevicesList":{ + "type":"list", + "member":{"shape":"Device"} + }, "DiscoverPollEndpointRequest":{ "type":"structure", "members":{ "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full Amazon Resource Name (ARN) of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID .

" + "documentation":"

The container instance ID or full ARN of the container instance. The ARN contains the arn:aws:ecs namespace, followed by the Region of the container instance, the AWS account ID of the container instance owner, the container-instance namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID.

" }, "cluster":{ "shape":"String", - "documentation":"

The cluster that the container instance belongs to.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster to which the container instance belongs.

" } } }, @@ -1143,60 +2439,277 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, - "Double":{"type":"double"}, - "EnvironmentVariables":{ - "type":"list", - "member":{"shape":"KeyValuePair"} - }, - "Failure":{ + "DockerVolumeConfiguration":{ "type":"structure", "members":{ - "arn":{ - "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the failed resource.

" + "scope":{ + "shape":"Scope", + "documentation":"

The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a task are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as shared persist after the task stops.

" }, - "reason":{ + "autoprovision":{ + "shape":"BoxedBoolean", + "documentation":"

If this value is true, the Docker volume is created if it does not already exist.

This field is only used if the scope is shared.

" + }, + "driver":{ "shape":"String", - "documentation":"

The reason for the failure.

" + "documentation":"

The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use docker plugin ls to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. For more information, see Docker plugin discovery. This parameter maps to Driver in the Create a volume section of the Docker Remote API and the xxdriver option to docker volume create.

" + }, + "driverOpts":{ + "shape":"StringMap", + "documentation":"

A map of Docker driver-specific options passed through. This parameter maps to DriverOpts in the Create a volume section of the Docker Remote API and the xxopt option to docker volume create.

" + }, + "labels":{ + "shape":"StringMap", + "documentation":"

Custom metadata to add to your Docker volume. This parameter maps to Labels in the Create a volume section of the Docker Remote API and the xxlabel option to docker volume create.

" } }, - "documentation":"

A failed resource.

" - }, - "Failures":{ - "type":"list", - "member":{"shape":"Failure"} + "documentation":"

This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the local driver. To use bind mounts, specify a host instead.

" }, - "HostEntry":{ + "Double":{"type":"double"}, + "EFSAuthorizationConfig":{ "type":"structure", - "required":[ - "hostname", - "ipAddress" - ], "members":{ - "hostname":{ + "accessPointId":{ "shape":"String", - "documentation":"

The hostname to use in the /etc/hosts entry.

" + "documentation":"

The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration will be relative to the directory set for the access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration. For more information, see Working with Amazon EFS Access Points in the Amazon Elastic File System User Guide.

" }, - "ipAddress":{ - "shape":"String", - "documentation":"

The IP address to use in the /etc/hosts entry.

" + "iam":{ + "shape":"EFSAuthorizationConfigIAM", + "documentation":"

Whether or not to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS Access Points in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

Hostnames and IP address entries that are added to the /etc/hosts file of a container via the extraHosts parameter of its ContainerDefinition.

" + "documentation":"

The authorization configuration details for the Amazon EFS file system.

" }, - "HostEntryList":{ - "type":"list", - "member":{"shape":"HostEntry"} + "EFSAuthorizationConfigIAM":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] }, - "HostVolumeProperties":{ - "type":"structure", - "members":{ - "sourcePath":{ + "EFSTransitEncryption":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "EFSVolumeConfiguration":{ + "type":"structure", + "required":["fileSystemId"], + "members":{ + "fileSystemId":{ + "shape":"String", + "documentation":"

The Amazon EFS file system ID to use.

" + }, + "rootDirectory":{ + "shape":"String", + "documentation":"

The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying / will have the same effect as omitting this parameter.

" + }, + "transitEncryption":{ + "shape":"EFSTransitEncryption", + "documentation":"

Whether or not to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting Data in Transit in the Amazon Elastic File System User Guide.

" + }, + "transitEncryptionPort":{ + "shape":"BoxedInteger", + "documentation":"

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see EFS Mount Helper in the Amazon Elastic File System User Guide.

" + }, + "authorizationConfig":{ + "shape":"EFSAuthorizationConfig", + "documentation":"

The authorization configuration details for the Amazon EFS file system.

" + } + }, + "documentation":"

This parameter is specified when you are using an Amazon Elastic File System file system for task storage. For more information, see Amazon EFS Volumes in the Amazon Elastic Container Service Developer Guide.

" + }, + "EnvironmentFile":{ + "type":"structure", + "required":[ + "value", + "type" + ], + "members":{ + "value":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment variable file.

" + }, + "type":{ + "shape":"EnvironmentFileType", + "documentation":"

The file type to use. The only supported value is s3.

" + } + }, + "documentation":"

A list of files containing the environment variables to pass to a container. You can specify up to ten environment files. The file must have a .env file extension. Each line in an environment file should contain an environment variable in VARIABLE=VALUE format. Lines beginning with # are treated as comments and are ignored. For more information on the environment variable file syntax, see Declare default environment variables in file.

If there are environment variables specified using the environment parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they are processed from the top down. It is recommended to use unique variable names. For more information, see Specifying Environment Variables in the Amazon Elastic Container Service Developer Guide.

This field is not valid for containers in tasks using the Fargate launch type.

" + }, + "EnvironmentFileType":{ + "type":"string", + "enum":["s3"] + }, + "EnvironmentFiles":{ + "type":"list", + "member":{"shape":"EnvironmentFile"} + }, + "EnvironmentVariables":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, + "Failure":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the failed resource.

" + }, + "reason":{ + "shape":"String", + "documentation":"

The reason for the failure.

" + }, + "detail":{ + "shape":"String", + "documentation":"

The details of the failure.

" + } + }, + "documentation":"

A failed resource.

" + }, + "Failures":{ + "type":"list", + "member":{"shape":"Failure"} + }, + "FirelensConfiguration":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"FirelensConfigurationType", + "documentation":"

The log router to use. The valid values are fluentd or fluentbit.

" + }, + "options":{ + "shape":"FirelensConfigurationOptionsMap", + "documentation":"

The options to use when configuring the log router. This field is optional and can be used to specify a custom configuration file or to add additional metadata, such as the task, task definition, cluster, and container instance details to the log event. If specified, the syntax to use is \"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}. For more information, see Creating a Task Definition that Uses a FireLens Configuration in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "documentation":"

The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

" + }, + "FirelensConfigurationOptionsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "FirelensConfigurationType":{ + "type":"string", + "enum":[ + "fluentd", + "fluentbit" + ] + }, + "GpuIds":{ + "type":"list", + "member":{"shape":"String"} + }, + "HealthCheck":{ + "type":"structure", + "required":["command"], + "members":{ + "command":{ + "shape":"StringList", + "documentation":"

A string array representing the command that the container runs to determine if it is healthy. The string array must start with CMD to execute the command arguments directly, or CMD-SHELL to run the command with the container's default shell. For example:

[ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]

An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see HealthCheck in the Create a container section of the Docker Remote API.

" + }, + "interval":{ + "shape":"BoxedInteger", + "documentation":"

The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.

" + }, + "timeout":{ + "shape":"BoxedInteger", + "documentation":"

The time period in seconds to wait for a health check to succeed before it is considered a failure. You may specify between 2 and 60 seconds. The default value is 5.

" + }, + "retries":{ + "shape":"BoxedInteger", + "documentation":"

The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.

" + }, + "startPeriod":{ + "shape":"BoxedInteger", + "documentation":"

The optional grace period within which to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You may specify between 0 and 300 seconds. The startPeriod is disabled by default.

If a health check succeeds within the startPeriod, then the container is considered healthy and any subsequent failures count toward the maximum number of retries.

" + } + }, + "documentation":"

An object representing a container health check. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image (such as those specified in a parent image or from the image's Dockerfile).

You can view the health status of both individual containers and a task with the DescribeTasks API operation or when viewing the task details in the console.

The following describes the possible healthStatus values for a container:

  • HEALTHY-The container health check has passed successfully.

  • UNHEALTHY-The container health check has failed.

  • UNKNOWN-The container health check is being evaluated or there is no container health check defined.

The following describes the possible healthStatus values for a task. The container health check status of nonessential containers do not have an effect on the health status of a task.

  • HEALTHY-All essential containers within the task have passed their health checks.

  • UNHEALTHY-One or more essential containers have failed their health check.

  • UNKNOWN-The essential containers within the task are still having their health checks evaluated or there are no container health checks defined.

If a task is run manually, and not as part of a service, the task will continue its lifecycle regardless of its health status. For tasks that are part of a service, if the task reports as unhealthy then the task will be stopped and the service scheduler will replace it.

The following are notes about container health check support:

  • Container health checks require version 1.17.0 or greater of the Amazon ECS container agent. For more information, see Updating the Amazon ECS Container Agent.

  • Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see AWS Fargate Platform Versions.

  • Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.

" + }, + "HealthStatus":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ] + }, + "HostEntry":{ + "type":"structure", + "required":[ + "hostname", + "ipAddress" + ], + "members":{ + "hostname":{ + "shape":"String", + "documentation":"

The hostname to use in the /etc/hosts entry.

" + }, + "ipAddress":{ + "shape":"String", + "documentation":"

The IP address to use in the /etc/hosts entry.

" + } + }, + "documentation":"

Hostnames and IP address entries that are added to the /etc/hosts file of a container via the extraHosts parameter of its ContainerDefinition.

" + }, + "HostEntryList":{ + "type":"list", + "member":{"shape":"HostEntry"} + }, + "HostVolumeProperties":{ + "type":"structure", + "members":{ + "sourcePath":{ + "shape":"String", + "documentation":"

When the host parameter is used, specify a sourcePath to declare the path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the host parameter contains a sourcePath file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the sourcePath value does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

If you are using the Fargate launch type, the sourcePath parameter is not supported.

" + } + }, + "documentation":"

Details on a container instance bind mount host volume.

" + }, + "InferenceAccelerator":{ + "type":"structure", + "required":[ + "deviceName", + "deviceType" + ], + "members":{ + "deviceName":{ "shape":"String", - "documentation":"

The path on the host container instance that is presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If the host parameter contains a sourcePath file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the sourcePath value does not exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

" + "documentation":"

The Elastic Inference accelerator device name. The deviceName must also be referenced in a container definition as a ResourceRequirement.

" + }, + "deviceType":{ + "shape":"String", + "documentation":"

The Elastic Inference accelerator type to use.

" + } + }, + "documentation":"

Details on a Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + }, + "InferenceAcceleratorOverride":{ + "type":"structure", + "members":{ + "deviceName":{ + "shape":"String", + "documentation":"

The Elastic Inference accelerator device name to override for the task. This parameter must match a deviceName specified in the task definition.

" + }, + "deviceType":{ + "shape":"String", + "documentation":"

The Elastic Inference accelerator type to use.

" } }, - "documentation":"

Details on a container instance host volume.

" + "documentation":"

Details on an Elastic Inference accelerator task override. This parameter is used to override the Elastic Inference accelerator specified in the task definition. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + }, + "InferenceAcceleratorOverrides":{ + "type":"list", + "member":{"shape":"InferenceAcceleratorOverride"} + }, + "InferenceAccelerators":{ + "type":"list", + "member":{"shape":"InferenceAccelerator"} }, "Integer":{"type":"integer"}, "InvalidParameterException":{ @@ -1206,26 +2719,181 @@ "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", "exception":true }, + "IpcMode":{ + "type":"string", + "enum":[ + "host", + "task", + "none" + ] + }, + "KernelCapabilities":{ + "type":"structure", + "members":{ + "add":{ + "shape":"StringList", + "documentation":"

The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to CapAdd in the Create a container section of the Docker Remote API and the --cap-add option to docker run.

The SYS_PTRACE capability is supported for tasks that use the Fargate launch type if they are also using platform version 1.4.0. The other capabilities are not supported for any platform versions.

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"

" + }, + "drop":{ + "shape":"StringList", + "documentation":"

The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to CapDrop in the Create a container section of the Docker Remote API and the --cap-drop option to docker run.

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" | \"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" | \"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" | \"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\" | \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" | \"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" | \"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" | \"WAKE_ALARM\"

" + } + }, + "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. For more information on the default capabilities and the non-default available capabilities, see Runtime privilege and Linux capabilities in the Docker run reference. For more detailed information on these Linux capabilities, see the capabilities(7) Linux manual page.

" + }, "KeyValuePair":{ "type":"structure", "members":{ "name":{ "shape":"String", - "documentation":"

The name of the key value pair. For environment variables, this is the name of the environment variable.

" + "documentation":"

The name of the key-value pair. For environment variables, this is the name of the environment variable.

" }, "value":{ "shape":"String", - "documentation":"

The value of the key value pair. For environment variables, this is the value of the environment variable.

" + "documentation":"

The value of the key-value pair. For environment variables, this is the value of the environment variable.

" + } + }, + "documentation":"

A key-value pair object.

" + }, + "LaunchType":{ + "type":"string", + "enum":[ + "EC2", + "FARGATE" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The limit for the resource has been exceeded.

", + "exception":true + }, + "LinuxParameters":{ + "type":"structure", + "members":{ + "capabilities":{ + "shape":"KernelCapabilities", + "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

For tasks that use the Fargate launch type, capabilities is supported for all platform versions but the add parameter is only supported if using platform version 1.4.0 or later.

" + }, + "devices":{ + "shape":"DevicesList", + "documentation":"

Any host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run.

If you are using tasks that use the Fargate launch type, the devices parameter is not supported.

" + }, + "initProcessEnabled":{ + "shape":"BoxedBoolean", + "documentation":"

Run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run. This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

" + }, + "sharedMemorySize":{ + "shape":"BoxedInteger", + "documentation":"

The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run.

If you are using tasks that use the Fargate launch type, the sharedMemorySize parameter is not supported.

" + }, + "tmpfs":{ + "shape":"TmpfsList", + "documentation":"

The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run.

If you are using tasks that use the Fargate launch type, the tmpfs parameter is not supported.

" + }, + "maxSwap":{ + "shape":"BoxedInteger", + "documentation":"

The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the --memory-swap option to docker run where the value would be the sum of the container memory plus the maxSwap value.

If a maxSwap value of 0 is specified, the container will not use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container will use the swap configuration for the container instance it is running on. A maxSwap value must be set for the swappiness parameter to be used.

If you are using tasks that use the Fargate launch type, the maxSwap parameter is not supported.

" + }, + "swappiness":{ + "shape":"BoxedInteger", + "documentation":"

This allows you to tune a container's memory swappiness behavior. A swappiness value of 0 will cause swapping to not happen unless absolutely necessary. A swappiness value of 100 will cause pages to be swapped very aggressively. Accepted values are whole numbers between 0 and 100. If the swappiness parameter is not specified, a default value of 60 is used. If a value is not specified for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness option to docker run.

If you are using tasks that use the Fargate launch type, the swappiness parameter is not supported.

" } }, - "documentation":"

A key and value pair object.

" + "documentation":"

Linux-specific options that are applied to the container, such as Linux KernelCapabilities.

" + }, + "ListAccountSettingsRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The resource name you want to list the account settings for.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the account settings with which to filter results. You must also specify an account setting name to use this parameter.

" + }, + "principalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If this field is omitted, the account settings are listed only for the authenticated user.

" + }, + "effectiveSettings":{ + "shape":"Boolean", + "documentation":"

Specifies whether to return the effective settings. If true, the account settings for the root user or the default setting for the principalArn are returned. If false, the account settings for the principalArn are returned if they are set. Otherwise, no account settings are returned.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a ListAccountSettings request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of account setting results returned by ListAccountSettings in paginated output. When this parameter is used, ListAccountSettings 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 ListAccountSettings request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then ListAccountSettings returns up to 10 results and a nextToken value if applicable.

" + } + } + }, + "ListAccountSettingsResponse":{ + "type":"structure", + "members":{ + "settings":{ + "shape":"Settings", + "documentation":"

The account settings for the resource.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListAccountSettings request. When the results of a ListAccountSettings 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.

" + } + } + }, + "ListAttributesRequest":{ + "type":"structure", + "required":["targetType"], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. If you do not specify a cluster, the default cluster is assumed.

" + }, + "targetType":{ + "shape":"TargetType", + "documentation":"

The type of the target with which to list attributes.

" + }, + "attributeName":{ + "shape":"String", + "documentation":"

The name of the attribute with which to filter the results.

" + }, + "attributeValue":{ + "shape":"String", + "documentation":"

The value of the attribute with which to filter results. You must also specify an attribute name to use this parameter.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a ListAttributes request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + }, + "maxResults":{ + "shape":"BoxedInteger", + "documentation":"

The maximum number of cluster results returned by ListAttributes in paginated output. When this parameter is used, ListAttributes 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 ListAttributes request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListAttributes returns up to 100 results and a nextToken value if applicable.

" + } + } + }, + "ListAttributesResponse":{ + "type":"structure", + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

A list of attribute objects that meet the criteria of the request.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListAttributes request. When the results of a ListAttributes 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.

" + } + } }, "ListClustersRequest":{ "type":"structure", "members":{ "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListClusters 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListClusters request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", @@ -1253,13 +2921,21 @@ "shape":"String", "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to list. If you do not specify a cluster, the default cluster is assumed.

" }, + "filter":{ + "shape":"String", + "documentation":"

You can filter the results of a ListContainerInstances operation with cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListContainerInstances 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListContainerInstances request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", "documentation":"

The maximum number of container instance results returned by ListContainerInstances in paginated output. When this parameter is used, ListContainerInstances 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 ListContainerInstances request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListContainerInstances returns up to 100 results and a nextToken value if applicable.

" + }, + "status":{ + "shape":"ContainerInstanceStatus", + "documentation":"

Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using UpdateContainerInstancesState. If you do not specify this parameter, the default is to include container instances set to all states other than INACTIVE.

" } } }, @@ -1268,7 +2944,7 @@ "members":{ "containerInstanceArns":{ "shape":"StringList", - "documentation":"

The list of container instances with full Amazon Resource Name (ARN) entries for each container instance associated with the specified cluster.

" + "documentation":"

The list of container instances with full ARN entries for each container instance associated with the specified cluster.

" }, "nextToken":{ "shape":"String", @@ -1285,11 +2961,19 @@ }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListServices 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListServices request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", - "documentation":"

The maximum number of container instance results returned by ListServices in paginated output. When this parameter is used, ListServices 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 ListServices request with the returned nextToken value. This value can be between 1 and 10. If this parameter is not used, then ListServices returns up to 10 results and a nextToken value if applicable.

" + "documentation":"

The maximum number of service results returned by ListServices in paginated output. When this parameter is used, ListServices 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 ListServices request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListServices returns up to 10 results and a nextToken value if applicable.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type for the services to list.

" + }, + "schedulingStrategy":{ + "shape":"SchedulingStrategy", + "documentation":"

The scheduling strategy for services to list.

" } } }, @@ -1298,7 +2982,7 @@ "members":{ "serviceArns":{ "shape":"StringList", - "documentation":"

The list of full Amazon Resource Name (ARN) entries for each service associated with the specified cluster.

" + "documentation":"

The list of full ARN entries for each service associated with the specified cluster.

" }, "nextToken":{ "shape":"String", @@ -1306,6 +2990,25 @@ } } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Amazon ECS tasks, services, task definitions, clusters, and container instances.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The tags for the resource.

" + } + } + }, "ListTaskDefinitionFamiliesRequest":{ "type":"structure", "members":{ @@ -1319,7 +3022,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTaskDefinitionFamilies 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListTaskDefinitionFamilies request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", @@ -1357,7 +3060,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTaskDefinitions 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListTaskDefinitions request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", @@ -1387,7 +3090,7 @@ }, "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full Amazon Resource Name (ARN) of the container instance with which to filter the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

" + "documentation":"

The container instance ID or full ARN of the container instance with which to filter the ListTasks results. Specifying a containerInstance limits the results to tasks that belong to that container instance.

" }, "family":{ "shape":"String", @@ -1395,7 +3098,7 @@ }, "nextToken":{ "shape":"String", - "documentation":"

The nextToken value returned from a previous paginated ListTasks 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.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" + "documentation":"

The nextToken value returned from a ListTasks request indicating that more results are available to fulfill the request and further calls will be needed. If maxResults was provided, it is possible the number of results to be fewer than maxResults.

This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

" }, "maxResults":{ "shape":"BoxedInteger", @@ -1411,7 +3114,11 @@ }, "desiredStatus":{ "shape":"DesiredStatus", - "documentation":"

The task desired status with which to filter the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that ECS has set the desired status to STOPPED, which can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that ECS has set the desired status to RUNNING.

Although you can filter results based on a desired status of PENDING, this will not return any results because ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING).

" + "documentation":"

The task desired status with which to filter the ListTasks results. Specifying a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has set the desired status to STOPPED. This can be useful for debugging tasks that are not starting properly or have died or finished. The default status filter is RUNNING, which shows tasks that Amazon ECS has set the desired status to RUNNING.

Although you can filter results based on a desired status of PENDING, this does not return any results. Amazon ECS never sets the desired status of a task to that value (only a task's lastStatus may have a value of PENDING).

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type for services to list.

" } } }, @@ -1420,7 +3127,7 @@ "members":{ "taskArns":{ "shape":"StringList", - "documentation":"

The list of task Amazon Resource Name (ARN) entries for the ListTasks request.

" + "documentation":"

The list of task ARN entries for the ListTasks request.

" }, "nextToken":{ "shape":"String", @@ -1433,11 +3140,11 @@ "members":{ "targetGroupArn":{ "shape":"String", - "documentation":"

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group associated with a service.

" + "documentation":"

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or task set.

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer. If you are using a Classic Load Balancer the target group ARN should be omitted.

For services using the ECS deployment controller, you can specify one or multiple target groups. For more information, see Registering Multiple Target Groups with a Service in the Amazon Elastic Container Service Developer Guide.

For services using the CODE_DEPLOY deployment controller, you are required to define two target groups for the load balancer. For more information, see Blue/Green Deployment with CodeDeploy in the Amazon Elastic Container Service Developer Guide.

If your service's task definition uses the awsvpc network mode (which is required for the Fargate launch type), you must choose ip as the target type, not instance, when creating your target groups because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance.

" }, "loadBalancerName":{ "shape":"String", - "documentation":"

The name of the load balancer.

" + "documentation":"

The name of the load balancer to associate with the Amazon ECS service or task set.

A load balancer name is only specified when using a Classic Load Balancer. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.

" }, "containerName":{ "shape":"String", @@ -1445,10 +3152,10 @@ }, "containerPort":{ "shape":"BoxedInteger", - "documentation":"

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the service's task definition. Your container instances must allow ingress traffic on the hostPort of the port mapping.

" + "documentation":"

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.

" } }, - "documentation":"

Details on a load balancer that is used with a service.

" + "documentation":"

The load balancer configuration to use with a service or task set.

For specific notes and restrictions regarding the use of load balancers with services and task sets, see the CreateService and CreateTaskSet actions.

" }, "LoadBalancers":{ "type":"list", @@ -1460,14 +3167,18 @@ "members":{ "logDriver":{ "shape":"LogDriver", - "documentation":"

The log driver to use for the container. The valid values listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

If you have a custom driver that is not listed above that you would like to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, Amazon Web Services does not currently provide support for running modified copies of this software.

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: sudo docker version | grep \"Server API version\"

" + "documentation":"

The log driver to use for the container. The valid values listed earlier are log drivers that the Amazon ECS container agent can communicate with by default.

For tasks using the Fargate launch type, the supported log drivers are awslogs, splunk, and awsfirelens.

For tasks using the EC2 launch type, the supported log drivers are awslogs, fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens.

For more information about using the awslogs log driver, see Using the awslogs Log Driver in the Amazon Elastic Container Service Developer Guide.

For more information about using the awsfirelens log driver, see Custom Log Routing in the Amazon Elastic Container Service Developer Guide.

If you have a custom driver that is not listed, you can fork the Amazon ECS container agent project that is available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you would like to have included. However, we do not currently provide support for running modified copies of this software.

" }, "options":{ "shape":"LogConfigurationOptionsMap", - "documentation":"

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: sudo docker version | grep \"Server API version\"

" + "documentation":"

The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

" + }, + "secretOptions":{ + "shape":"SecretList", + "documentation":"

The secrets to pass to the log configuration. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

Log configuration options to send to a custom log driver for the container.

" + "documentation":"

The log configuration specification for the container.

This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses; however the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

The following should be noted when specifying a log configuration for your containers:

  • Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the valid values below). Additional log drivers may be available in future releases of the Amazon ECS container agent.

  • This parameter requires version 1.18 of the Docker Remote API or greater on your container instance.

  • For tasks using the EC2 launch type, the Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS Container Agent Configuration in the Amazon Elastic Container Service Developer Guide.

  • For tasks using the Fargate launch type, because you do not have access to the underlying infrastructure your tasks are hosted on, any additional software needed will have to be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.

" }, "LogConfigurationOptionsMap":{ "type":"map", @@ -1483,15 +3194,62 @@ "gelf", "fluentd", "awslogs", - "splunk" + "splunk", + "awsfirelens" ] }, "Long":{"type":"long"}, - "MissingVersionException":{ + "ManagedScaling":{ "type":"structure", "members":{ - }, - "documentation":"

Amazon ECS is unable to determine the current version of the Amazon ECS container agent on the container instance and does not have enough information to proceed with an update. This could be because the agent running on the container instance is an older or custom version that does not use our version information.

", + "status":{ + "shape":"ManagedScalingStatus", + "documentation":"

Whether or not to enable managed scaling for the capacity provider.

" + }, + "targetCapacity":{ + "shape":"ManagedScalingTargetCapacity", + "documentation":"

The target capacity value for the capacity provider. The specified value must be greater than 0 and less than or equal to 100. A value of 100 will result in the Amazon EC2 instances in your Auto Scaling group being completely utilized.

" + }, + "minimumScalingStepSize":{ + "shape":"ManagedScalingStepSize", + "documentation":"

The minimum number of container instances that Amazon ECS will scale in or scale out at one time. If this parameter is omitted, the default value of 1 is used.

" + }, + "maximumScalingStepSize":{ + "shape":"ManagedScalingStepSize", + "documentation":"

The maximum number of container instances that Amazon ECS will scale in or scale out at one time. If this parameter is omitted, the default value of 10000 is used.

" + } + }, + "documentation":"

The managed scaling settings for the Auto Scaling group capacity provider.

When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity value as the target value for the metric. For more information, see Using Managed Scaling in the Amazon Elastic Container Service Developer Guide.

If managed scaling is disabled, the user must manage the scaling of the Auto Scaling group.

" + }, + "ManagedScalingStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "ManagedScalingStepSize":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ManagedScalingTargetCapacity":{ + "type":"integer", + "max":100, + "min":1 + }, + "ManagedTerminationProtection":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "MissingVersionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

Amazon ECS is unable to determine the current version of the Amazon ECS container agent on the container instance and does not have enough information to proceed with an update. This could be because the agent running on the container instance is an older or custom version that does not use our version information.

", "exception":true }, "MountPoint":{ @@ -1499,7 +3257,7 @@ "members":{ "sourceVolume":{ "shape":"String", - "documentation":"

The name of the volume to mount.

" + "documentation":"

The name of the volume to mount. Must be a volume name referenced in the name parameter of task definition volume.

" }, "containerPath":{ "shape":"String", @@ -1525,7 +3283,7 @@ }, "containerPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container that is be used with the network binding.

" + "documentation":"

The port number on the container that is used with the network binding.

" }, "hostPort":{ "shape":"BoxedInteger", @@ -1542,11 +3300,44 @@ "type":"list", "member":{"shape":"NetworkBinding"} }, + "NetworkConfiguration":{ + "type":"structure", + "members":{ + "awsvpcConfiguration":{ + "shape":"AwsVpcConfiguration", + "documentation":"

The VPC subnets and security groups associated with a task.

All specified subnets and security groups must be from the same VPC.

" + } + }, + "documentation":"

An object representing the network configuration for a task or service.

" + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "attachmentId":{ + "shape":"String", + "documentation":"

The attachment ID for the network interface.

" + }, + "privateIpv4Address":{ + "shape":"String", + "documentation":"

The private IPv4 address for the network interface.

" + }, + "ipv6Address":{ + "shape":"String", + "documentation":"

The private IPv6 address for the network interface.

" + } + }, + "documentation":"

An object representing the elastic network interface for tasks that use the awsvpc network mode.

" + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"NetworkInterface"} + }, "NetworkMode":{ "type":"string", "enum":[ "bridge", "host", + "awsvpc", "none" ] }, @@ -1557,28 +3348,264 @@ "documentation":"

There is no update available for this Amazon ECS container agent. This could be because the agent is already running the latest version, or it is so old that there is no update path to the current version.

", "exception":true }, + "PidMode":{ + "type":"string", + "enum":[ + "host", + "task" + ] + }, + "PlacementConstraint":{ + "type":"structure", + "members":{ + "type":{ + "shape":"PlacementConstraintType", + "documentation":"

The type of constraint. Use distinctInstance to ensure that each task in a particular group is running on a different container instance. Use memberOf to restrict the selection to a group of valid candidates.

" + }, + "expression":{ + "shape":"String", + "documentation":"

A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "documentation":"

An object representing a constraint on task placement. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

If you are using the Fargate launch type, task placement constraints are not supported.

" + }, + "PlacementConstraintType":{ + "type":"string", + "enum":[ + "distinctInstance", + "memberOf" + ] + }, + "PlacementConstraints":{ + "type":"list", + "member":{"shape":"PlacementConstraint"} + }, + "PlacementStrategies":{ + "type":"list", + "member":{"shape":"PlacementStrategy"} + }, + "PlacementStrategy":{ + "type":"structure", + "members":{ + "type":{ + "shape":"PlacementStrategyType", + "documentation":"

The type of placement strategy. The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the field parameter. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified with the field parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory (but still enough to run the task).

" + }, + "field":{ + "shape":"String", + "documentation":"

The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this field is not used.

" + } + }, + "documentation":"

The task placement strategy for a task or service. For more information, see Task Placement Strategies in the Amazon Elastic Container Service Developer Guide.

" + }, + "PlacementStrategyType":{ + "type":"string", + "enum":[ + "random", + "spread", + "binpack" + ] + }, + "PlatformDevice":{ + "type":"structure", + "required":[ + "id", + "type" + ], + "members":{ + "id":{ + "shape":"String", + "documentation":"

The ID for the GPU(s) on the container instance. The available GPU IDs can also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json file.

" + }, + "type":{ + "shape":"PlatformDeviceType", + "documentation":"

The type of device that is available on the container instance. The only supported value is GPU.

" + } + }, + "documentation":"

The devices that are available on the container instance. The only supported device type is a GPU.

" + }, + "PlatformDeviceType":{ + "type":"string", + "enum":["GPU"] + }, + "PlatformDevices":{ + "type":"list", + "member":{"shape":"PlatformDevice"} + }, + "PlatformTaskDefinitionIncompatibilityException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified platform version does not satisfy the task definition's required capabilities.

", + "exception":true + }, + "PlatformUnknownException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified platform version does not exist.

", + "exception":true + }, "PortMapping":{ "type":"structure", "members":{ "containerPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port. If you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range (for more information, see hostPort). Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

" + "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port.

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort.

If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see hostPort. Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.

You cannot expose the same container port for multiple protocols. An error will be returned if this is attempted.

" }, "hostPort":{ "shape":"BoxedInteger", - "documentation":"

The port number on the container instance to reserve for your container. You can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range is 49153 to 65535, and this range is used for Docker versions prior to 1.6.0. For Docker version 1.6.0 and later, the Docker daemon tries to read the ephemeral port range from /proc/sys/net/ipv4/ip_local_port_range; if this kernel parameter is unavailable, the default ephemeral port range is used. You should not attempt to specify a host port in the ephemeral port range, because these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678 and 51679. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released).The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output, and a container instance may have up to 100 reserved ports at a time, including the default reserved ports (automatically assigned ports do not count toward the 100 reserved ports limit).

" + "documentation":"

The port number on the container instance to reserve for your container.

If you are using containers in a task with the awsvpc or host network mode, the hostPort can either be left blank or set to the same value as the containerPort.

If you are using containers in a task with the bridge network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the hostPort (or set it to 0) while specifying a containerPort and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version.

The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range.

The default ephemeral port range from 49153 through 65535 is always used for Docker versions before 1.6.0.

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running (after a task stops, the host port is released). The current reserved ports are displayed in the remainingResources of DescribeContainerInstances output. A container instance can have up to 100 reserved ports at a time, including the default reserved ports. Automatically assigned ports don't count toward the 100 reserved ports limit.

" }, "protocol":{ "shape":"TransportProtocol", "documentation":"

The protocol used for the port mapping. Valid values are tcp and udp. The default is tcp.

" } }, - "documentation":"

Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition. After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

" + "documentation":"

Port mappings allow containers to access ports on the host container instance to send or receive traffic. Port mappings are specified as part of the container definition.

If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. The hostPort can be left blank or it must be the same value as the containerPort.

After a task reaches the RUNNING status, manual and automatic host and container port assignments are visible in the networkBindings section of DescribeTasks API responses.

" }, "PortMappingList":{ "type":"list", "member":{"shape":"PortMapping"} }, + "PropagateTags":{ + "type":"string", + "enum":[ + "TASK_DEFINITION", + "SERVICE" + ] + }, + "ProxyConfiguration":{ + "type":"structure", + "required":["containerName"], + "members":{ + "type":{ + "shape":"ProxyConfigurationType", + "documentation":"

The proxy type. The only supported value is APPMESH.

" + }, + "containerName":{ + "shape":"String", + "documentation":"

The name of the container that will serve as the App Mesh proxy.

" + }, + "properties":{ + "shape":"ProxyConfigurationProperties", + "documentation":"

The set of network configuration parameters to provide the Container Network Interface (CNI) plugin, specified as key-value pairs.

  • IgnoredUID - (Required) The user ID (UID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredGID is specified, this field can be empty.

  • IgnoredGID - (Required) The group ID (GID) of the proxy container as defined by the user parameter in a container definition. This is used to ensure the proxy ignores its own traffic. If IgnoredUID is specified, this field can be empty.

  • AppPorts - (Required) The list of ports that the application uses. Network traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort.

  • ProxyIngressPort - (Required) Specifies the port that incoming traffic to the AppPorts is directed to.

  • ProxyEgressPort - (Required) Specifies the port that outgoing traffic from the AppPorts is directed to.

  • EgressIgnoredPorts - (Required) The egress traffic going to the specified ports is ignored and not redirected to the ProxyEgressPort. It can be an empty list.

  • EgressIgnoredIPs - (Required) The egress traffic going to the specified IP addresses is ignored and not redirected to the ProxyEgressPort. It can be an empty list.

" + } + }, + "documentation":"

The configuration details for the App Mesh proxy.

For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

For tasks using the Fargate launch type, the task or service requires platform version 1.3.0 or later.

" + }, + "ProxyConfigurationProperties":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, + "ProxyConfigurationType":{ + "type":"string", + "enum":["APPMESH"] + }, + "PutAccountSettingDefaultRequest":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the ENI limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

" + }, + "value":{ + "shape":"String", + "documentation":"

The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

" + } + } + }, + "PutAccountSettingDefaultResponse":{ + "type":"structure", + "members":{ + "setting":{"shape":"Setting"} + } + }, + "PutAccountSettingRequest":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The Amazon ECS resource name for which to modify the account setting. If serviceLongArnFormat is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat is specified, the ARN and resource ID for your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, the ARN and resource ID for your Amazon ECS container instances is affected. If awsvpcTrunking is specified, the elastic network interface (ENI) limit for your Amazon ECS container instances is affected. If containerInsights is specified, the default setting for CloudWatch Container Insights for your clusters is affected.

" + }, + "value":{ + "shape":"String", + "documentation":"

The account setting value for the specified principal ARN. Accepted values are enabled and disabled.

" + }, + "principalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If you specify the root user, it modifies the account setting for all IAM users, IAM roles, and the root user of the account unless an IAM user or role explicitly overrides these settings. If this field is omitted, the setting is changed only for the authenticated user.

" + } + } + }, + "PutAccountSettingResponse":{ + "type":"structure", + "members":{ + "setting":{ + "shape":"Setting", + "documentation":"

The current account setting for a resource.

" + } + } + }, + "PutAttributesRequest":{ + "type":"structure", + "required":["attributes"], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes to apply to your resource. You can specify up to 10 custom attributes per resource. You can specify up to 10 attributes in a single call.

" + } + } + }, + "PutAttributesResponse":{ + "type":"structure", + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes applied to your resource.

" + } + } + }, + "PutClusterCapacityProvidersRequest":{ + "type":"structure", + "required":[ + "cluster", + "capacityProviders", + "defaultCapacityProviderStrategy" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider settings for. If you do not specify a cluster, the default cluster is assumed.

" + }, + "capacityProviders":{ + "shape":"StringList", + "documentation":"

The name of one or more capacity providers to associate with the cluster.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

" + }, + "defaultCapacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to use by default for the cluster.

When creating a service or running a task on a cluster, if no capacity provider or launch type is specified then the default capacity provider strategy for the cluster is used.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

" + } + } + }, + "PutClusterCapacityProvidersResponse":{ + "type":"structure", + "members":{ + "cluster":{"shape":"Cluster"} + } + }, "RegisterContainerInstanceRequest":{ "type":"structure", "members":{ @@ -1604,18 +3631,29 @@ }, "containerInstanceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instance (if it was previously registered).

" + "documentation":"

The ARN of the container instance (if it was previously registered).

" }, "attributes":{ "shape":"Attributes", "documentation":"

The container instance attributes that this container instance supports.

" + }, + "platformDevices":{ + "shape":"PlatformDevices", + "documentation":"

The devices that are available on the container instance. The only supported device type is a GPU.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the container instance to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" } } }, "RegisterContainerInstanceResponse":{ "type":"structure", "members":{ - "containerInstance":{"shape":"ContainerInstance"} + "containerInstance":{ + "shape":"ContainerInstance", + "documentation":"

The container instance that was registered.

" + } } }, "RegisterTaskDefinitionRequest":{ @@ -1627,15 +3665,19 @@ "members":{ "family":{ "shape":"String", - "documentation":"

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

" + "documentation":"

You must specify a family for a task definition, which allows you to track multiple versions of the same task definition. The family is used as a name for your task definition. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed.

" }, "taskRoleArn":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role. For more information, see IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" + }, + "executionRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, and host.

The default Docker network mode is bridge. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the task's containers do not have external connectivity. The host network mode offers the highest networking performance for containers because they use the host network stack instead of the virtualized network stack provided by the bridge mode; however, exposed container ports are mapped directly to the corresponding host port, so you cannot take advantage of dynamic host port mappings or run multiple instantiations of the same task on a single container instance if port mappings are used.

For more information, see Network settings in the Docker run reference.

" + "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" }, "containerDefinitions":{ "shape":"ContainerDefinitions", @@ -1644,6 +3686,39 @@ "volumes":{ "shape":"VolumeList", "documentation":"

A list of volume definitions in JSON format that containers in your task may use.

" + }, + "placementConstraints":{ + "shape":"TaskDefinitionPlacementConstraints", + "documentation":"

An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime).

" + }, + "requiresCompatibilities":{ + "shape":"CompatibilityList", + "documentation":"

The launch type required by the task. If no value is specified, it defaults to EC2.

" + }, + "cpu":{ + "shape":"String", + "documentation":"

The number of CPU units used by the task. It can be expressed as an integer using CPU units, for example 1024, or as a string using vCPUs, for example 1 vCPU or 1 vcpu, in a task definition. String values are converted to an integer indicating the CPU units when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If you are using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" + }, + "memory":{ + "shape":"String", + "documentation":"

The amount of memory (in MiB) used by the task. It can be expressed as an integer using MiB, for example 1024, or as a string using GB, for example 1GB or 1 GB, in a task definition. String values are converted to an integer indicating the MiB when the task definition is registered.

Task-level CPU and memory parameters are ignored for Windows containers. We recommend specifying container-level resources for Windows containers.

If using the EC2 launch type, this field is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "pidMode":{ + "shape":"PidMode", + "documentation":"

The process namespace to use for the containers in the task. The valid values are host or task. If host is specified, then all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace. For more information, see PID settings in the Docker run reference.

If the host PID mode is used, be aware that there is a heightened risk of undesired process namespace expose. For more information, see Docker security.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "ipcMode":{ + "shape":"IpcMode", + "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "proxyConfiguration":{"shape":"ProxyConfiguration"}, + "inferenceAccelerators":{ + "shape":"InferenceAccelerators", + "documentation":"

The Elastic Inference accelerators to use for the containers in the task.

" } } }, @@ -1653,9 +3728,24 @@ "taskDefinition":{ "shape":"TaskDefinition", "documentation":"

The full description of the registered task definition.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The list of tags associated with the task definition.

" } } }, + "RepositoryCredentials":{ + "type":"structure", + "required":["credentialsParameter"], + "members":{ + "credentialsParameter":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the secret containing the private repository credentials.

When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret exists in the same Region as the task that you are launching then you can use either the full ARN or the name of the secret. When you are using the AWS Management Console, you must specify the full ARN of the secret.

" + } + }, + "documentation":"

The repository credentials for private registry authentication.

" + }, "RequiresAttributes":{ "type":"list", "member":{"shape":"Attribute"} @@ -1665,7 +3755,7 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the resource, such as CPU, MEMORY, PORTS, or a user-defined resource.

" + "documentation":"

The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined resource.

" }, "type":{ "shape":"String", @@ -1690,6 +3780,49 @@ }, "documentation":"

Describes the resources available for a container instance.

" }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource is in-use and cannot be removed.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource could not be found.

", + "exception":true + }, + "ResourceRequirement":{ + "type":"structure", + "required":[ + "value", + "type" + ], + "members":{ + "value":{ + "shape":"String", + "documentation":"

The value for the specified resource type.

If the GPU type is used, the value is the number of physical GPUs the Amazon ECS container agent will reserve for the container. The number of GPUs reserved for all containers in a task should not exceed the number of available GPUs on the container instance the task is launched on.

If the InferenceAccelerator type is used, the value should match the deviceName for an InferenceAccelerator specified in a task definition.

" + }, + "type":{ + "shape":"ResourceType", + "documentation":"

The type of resource to assign to a container. The supported values are GPU or InferenceAccelerator.

" + } + }, + "documentation":"

The type and amount of a resource to assign to a container. The supported resource types are GPUs and Elastic Inference accelerators. For more information, see Working with GPUs on Amazon ECS or Working with Amazon Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide

" + }, + "ResourceRequirements":{ + "type":"list", + "member":{"shape":"ResourceRequirement"} + }, + "ResourceType":{ + "type":"string", + "enum":[ + "GPU", + "InferenceAccelerator" + ] + }, "Resources":{ "type":"list", "member":{"shape":"Resource"} @@ -1698,25 +3831,69 @@ "type":"structure", "required":["taskDefinition"], "members":{ + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to use for the task.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

" + }, "cluster":{ "shape":"String", "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster on which to run your task. If you do not specify a cluster, the default cluster is assumed.

" }, - "taskDefinition":{ + "count":{ + "shape":"BoxedInteger", + "documentation":"

The number of instantiations of the specified task to place on your cluster. You can specify up to 10 tasks per call.

" + }, + "enableECSManagedTags":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + }, + "group":{ "shape":"String", - "documentation":"

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used.

" + "documentation":"

The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type on which to run your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

If a launchType is specified, the capacityProviderStrategy parameter must be omitted.

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

" }, "overrides":{ "shape":"TaskOverride", "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

" }, - "count":{ - "shape":"BoxedInteger", - "documentation":"

The number of instantiations of the specified task to place on your cluster.

The count parameter is limited to 10 tasks per call.

" + "placementConstraints":{ + "shape":"PlacementConstraints", + "documentation":"

An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).

" + }, + "placementStrategy":{ + "shape":"PlacementStrategies", + "documentation":"

The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version the task should run. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "propagateTags":{ + "shape":"PropagateTags", + "documentation":"

Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.

An error will be received if you specify the SERVICE option when running a task.

" + }, + "referenceId":{ + "shape":"String", + "documentation":"

The reference ID to use for the task.

" }, "startedBy":{ "shape":"String", - "documentation":"

An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + "documentation":"

An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run. If a revision is not specified, the latest ACTIVE revision is used.

" } } }, @@ -1725,7 +3902,7 @@ "members":{ "tasks":{ "shape":"Tasks", - "documentation":"

A full description of the tasks that were run. Each task that was successfully placed on your cluster are described here.

" + "documentation":"

A full description of the tasks that were run. The tasks that were successfully placed on your cluster are described here.

" }, "failures":{ "shape":"Failures", @@ -1733,10 +3910,64 @@ } } }, - "ServerException":{ + "Scale":{ "type":"structure", "members":{ - "message":{"shape":"String"} + "value":{ + "shape":"Double", + "documentation":"

The value, specified as a percent total of a service's desiredCount, to scale the task set. Accepted values are numbers between 0 and 100.

" + }, + "unit":{ + "shape":"ScaleUnit", + "documentation":"

The unit of measure for the scale value.

" + } + }, + "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the task set.

" + }, + "ScaleUnit":{ + "type":"string", + "enum":["PERCENT"] + }, + "SchedulingStrategy":{ + "type":"string", + "enum":[ + "REPLICA", + "DAEMON" + ] + }, + "Scope":{ + "type":"string", + "enum":[ + "task", + "shared" + ] + }, + "Secret":{ + "type":"structure", + "required":[ + "name", + "valueFrom" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the secret.

" + }, + "valueFrom":{ + "shape":"String", + "documentation":"

The secret to expose to the container. The supported values are either the full ARN of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

If the AWS Systems Manager Parameter Store parameter exists in the same Region as the task you are launching, then you can use either the full ARN or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

" + } + }, + "documentation":"

An object representing the secret to expose to your container. Secrets can be exposed to a container in the following ways:

  • To inject sensitive data into your containers as environment variables, use the secrets container definition parameter.

  • To reference sensitive information in the log configuration of a container, use the secretOptions container definition parameter.

For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.

" + }, + "SecretList":{ + "type":"list", + "member":{"shape":"Secret"} + }, + "ServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} }, "documentation":"

These errors are usually caused by a server issue.

", "exception":true, @@ -1747,11 +3978,11 @@ "members":{ "serviceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service .

" + "documentation":"

The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, followed by the Region of the service, the AWS account ID of the service owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service.

" }, "serviceName":{ "shape":"String", - "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a region or across multiple regions.

" + "documentation":"

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.

" }, "clusterArn":{ "shape":"String", @@ -1761,6 +3992,10 @@ "shape":"LoadBalancers", "documentation":"

A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.

" }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this service. For more information, see Service Discovery.

" + }, "status":{ "shape":"String", "documentation":"

The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE.

" @@ -1777,6 +4012,18 @@ "shape":"Integer", "documentation":"

The number of tasks in the cluster that are in the PENDING state.

" }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type on which your service is running. If no value is specified, it will default to EC2. Valid values include EC2 and FARGATE. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy associated with the service.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version on which to run your service. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, "taskDefinition":{ "shape":"String", "documentation":"

The task definition to use for tasks in the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.

" @@ -1785,13 +4032,17 @@ "shape":"DeploymentConfiguration", "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" }, + "taskSets":{ + "shape":"TaskSets", + "documentation":"

Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" + }, "deployments":{ "shape":"Deployments", "documentation":"

The current state of deployments for the service.

" }, "roleArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the service that allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.

" + "documentation":"

The ARN of the IAM role associated with the service that allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.

" }, "events":{ "shape":"ServiceEvents", @@ -1800,6 +4051,46 @@ "createdAt":{ "shape":"Timestamp", "documentation":"

The Unix timestamp for when the service was created.

" + }, + "placementConstraints":{ + "shape":"PlacementConstraints", + "documentation":"

The placement constraints for the tasks in the service.

" + }, + "placementStrategy":{ + "shape":"PlacementStrategies", + "documentation":"

The placement strategy that determines how tasks for the service are placed.

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" + }, + "healthCheckGracePeriodSeconds":{ + "shape":"BoxedInteger", + "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.

" + }, + "schedulingStrategy":{ + "shape":"SchedulingStrategy", + "documentation":"

The scheduling strategy to use for the service. For more information, see Services.

There are two service scheduler strategies available:

  • REPLICA-The replica scheduling strategy places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.

  • DAEMON-The daemon scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. The service scheduler also evaluates the task placement constraints for running tasks and will stop tasks that do not meet the placement constraints.

    Fargate tasks do not support the DAEMON scheduling strategy.

" + }, + "deploymentController":{ + "shape":"DeploymentController", + "documentation":"

The deployment controller type the service is using. When using the DescribeServices API, this field is omitted if the service is using the ECS deployment controller type.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "createdBy":{ + "shape":"String", + "documentation":"

The principal that created the service.

" + }, + "enableECSManagedTags":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + }, + "propagateTags":{ + "shape":"PropagateTags", + "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.

" } }, "documentation":"

Details on a service within a cluster

" @@ -1826,24 +4117,90 @@ "type":"list", "member":{"shape":"ServiceEvent"} }, + "ServiceField":{ + "type":"string", + "enum":["TAGS"] + }, + "ServiceFieldList":{ + "type":"list", + "member":{"shape":"ServiceField"} + }, "ServiceNotActiveException":{ "type":"structure", "members":{ }, - "documentation":"

The specified service is not active. You cannot update a service that is not active. If you have previously deleted a service, you can re-create it with CreateService.

", + "documentation":"

The specified service is not active. You can't update a service that is inactive. If you have previously deleted a service, you can re-create it with CreateService.

", "exception":true }, "ServiceNotFoundException":{ "type":"structure", "members":{ }, - "documentation":"

The specified service could not be found. You can view your available services with ListServices. Amazon ECS services are cluster-specific and region-specific.

", + "documentation":"

The specified service could not be found. You can view your available services with ListServices. Amazon ECS services are cluster-specific and Region-specific.

", "exception":true }, + "ServiceRegistries":{ + "type":"list", + "member":{"shape":"ServiceRegistry"} + }, + "ServiceRegistry":{ + "type":"structure", + "members":{ + "registryArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is AWS Cloud Map. For more information, see CreateService.

" + }, + "port":{ + "shape":"BoxedInteger", + "documentation":"

The port value used if your service discovery service specified an SRV record. This field may be used if both the awsvpc network mode and SRV records are used.

" + }, + "containerName":{ + "shape":"String", + "documentation":"

The container name value, already specified in the task definition, to be used for your service discovery service. If the task definition that your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition that your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.

" + }, + "containerPort":{ + "shape":"BoxedInteger", + "documentation":"

The port value, already specified in the task definition, to be used for your service discovery service. If the task definition your service task specifies uses the bridge or host network mode, you must specify a containerName and containerPort combination from the task definition. If the task definition your service task specifies uses the awsvpc network mode and a type SRV DNS record is used, you must specify either a containerName and containerPort combination or a port value, but not both.

" + } + }, + "documentation":"

Details of the service registry.

" + }, "Services":{ "type":"list", "member":{"shape":"Service"} }, + "Setting":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SettingName", + "documentation":"

The Amazon ECS resource name.

" + }, + "value":{ + "shape":"String", + "documentation":"

Whether the account setting is enabled or disabled for the specified resource.

" + }, + "principalArn":{ + "shape":"String", + "documentation":"

The ARN of the principal, which can be an IAM user, IAM role, or the root user. If this field is omitted, the authenticated user is assumed.

" + } + }, + "documentation":"

The current account setting for a resource.

" + }, + "SettingName":{ + "type":"string", + "enum":[ + "serviceLongArnFormat", + "taskLongArnFormat", + "containerInstanceLongArnFormat", + "awsvpcTrunking", + "containerInsights" + ] + }, + "Settings":{ + "type":"list", + "member":{"shape":"Setting"} + }, "SortOrder":{ "type":"string", "enum":[ @@ -1851,32 +4208,63 @@ "DESC" ] }, + "StabilityStatus":{ + "type":"string", + "enum":[ + "STEADY_STATE", + "STABILIZING" + ] + }, "StartTaskRequest":{ "type":"structure", "required":[ - "taskDefinition", - "containerInstances" + "containerInstances", + "taskDefinition" ], "members":{ "cluster":{ "shape":"String", "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster on which to start your task. If you do not specify a cluster, the default cluster is assumed.

" }, - "taskDefinition":{ + "containerInstances":{ + "shape":"StringList", + "documentation":"

The container instance IDs or full ARN entries for the container instances on which you would like to place your task. You can specify up to 10 container instances.

" + }, + "enableECSManagedTags":{ + "shape":"Boolean", + "documentation":"

Specifies whether to enable Amazon ECS managed tags for the task. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.

" + }, + "group":{ "shape":"String", - "documentation":"

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to start. If a revision is not specified, the latest ACTIVE revision is used.

" + "documentation":"

The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name).

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The VPC subnet and security group configuration for tasks that receive their own elastic network interface by using the awsvpc networking mode.

" }, "overrides":{ "shape":"TaskOverride", "documentation":"

A list of container overrides in JSON format that specify the name of a container in the specified task definition and the overrides it should receive. You can override the default command for a container (that is specified in the task definition or Docker image) with a command override. You can also override existing environment variables (that are specified in the task definition or Docker image) on a container or add new environment variables to it with an environment override.

A total of 8192 characters are allowed for overrides. This limit includes the JSON formatting characters of the override structure.

" }, - "containerInstances":{ - "shape":"StringList", - "documentation":"

The container instance IDs or full Amazon Resource Name (ARN) entries for the container instances on which you would like to place your task.

The list of container instances to start tasks on is limited to 10.

" + "propagateTags":{ + "shape":"PropagateTags", + "documentation":"

Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.

" + }, + "referenceId":{ + "shape":"String", + "documentation":"

The reference ID to use for the task.

" }, "startedBy":{ "shape":"String", - "documentation":"

An optional tag specified when a task is started. For example if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + "documentation":"

An optional tag specified when a task is started. For example, if you automatically trigger a task to run a batch process job, you could apply a unique identifier for that job to your task with the startedBy parameter. You can then identify which tasks belong to that job by filtering the results of a ListTasks call with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

If a task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

The family and revision (family:revision) or full ARN of the task definition to start. If a revision is not specified, the latest ACTIVE revision is used.

" } } }, @@ -1885,7 +4273,7 @@ "members":{ "tasks":{ "shape":"Tasks", - "documentation":"

A full description of the tasks that were started. Each task that was successfully placed on your container instances are described here.

" + "documentation":"

A full description of the tasks that were started. Each task that was successfully placed on your container instances is described.

" }, "failures":{ "shape":"Failures", @@ -1893,6 +4281,10 @@ } } }, + "Statistics":{ + "type":"list", + "member":{"shape":"KeyValuePair"} + }, "StopTaskRequest":{ "type":"structure", "required":["task"], @@ -1903,18 +4295,21 @@ }, "task":{ "shape":"String", - "documentation":"

The task ID or full Amazon Resource Name (ARN) entry of the task to stop.

" + "documentation":"

The task ID or full Amazon Resource Name (ARN) of the task to stop.

" }, "reason":{ "shape":"String", - "documentation":"

An optional message specified when a task is stopped. For example, if you are using a custom scheduler, you can use this parameter to specify the reason for stopping the task here, and the message will appear in subsequent DescribeTasks API operations on this task. Up to 255 characters are allowed in this message.

" + "documentation":"

An optional message specified when a task is stopped. For example, if you are using a custom scheduler, you can use this parameter to specify the reason for stopping the task here, and the message appears in subsequent DescribeTasks API operations on this task. Up to 255 characters are allowed in this message.

" } } }, "StopTaskResponse":{ "type":"structure", "members":{ - "task":{"shape":"Task"} + "task":{ + "shape":"Task", + "documentation":"

The task that was stopped.

" + } } }, "String":{"type":"string"}, @@ -1922,12 +4317,40 @@ "type":"list", "member":{"shape":"String"} }, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "SubmitAttachmentStateChangesRequest":{ + "type":"structure", + "required":["attachments"], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full ARN of the cluster that hosts the container instance the attachment belongs to.

" + }, + "attachments":{ + "shape":"AttachmentStateChanges", + "documentation":"

Any attachments associated with the state change request.

" + } + } + }, + "SubmitAttachmentStateChangesResponse":{ + "type":"structure", + "members":{ + "acknowledgment":{ + "shape":"String", + "documentation":"

Acknowledgement of the state change.

" + } + } + }, "SubmitContainerStateChangeRequest":{ "type":"structure", "members":{ "cluster":{ "shape":"String", - "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container.

" + "documentation":"

The short name or full ARN of the cluster that hosts the container.

" }, "task":{ "shape":"String", @@ -1937,6 +4360,10 @@ "shape":"String", "documentation":"

The name of the container.

" }, + "runtimeId":{ + "shape":"String", + "documentation":"

The ID of the Docker container.

" + }, "status":{ "shape":"String", "documentation":"

The status of the state change request.

" @@ -1973,7 +4400,7 @@ }, "task":{ "shape":"String", - "documentation":"

The task ID or full Amazon Resource Name (ARN) of the task in the state change request.

" + "documentation":"

The task ID or full ARN of the task in the state change request.

" }, "status":{ "shape":"String", @@ -1982,6 +4409,26 @@ "reason":{ "shape":"String", "documentation":"

The reason for the state change request.

" + }, + "containers":{ + "shape":"ContainerStateChanges", + "documentation":"

Any containers associated with the state change request.

" + }, + "attachments":{ + "shape":"AttachmentStateChanges", + "documentation":"

Any attachments associated with the state change request.

" + }, + "pullStartedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container image pull began.

" + }, + "pullStoppedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container image pull completed.

" + }, + "executionStoppedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task execution stopped.

" } } }, @@ -1994,60 +4441,227 @@ } } }, - "Task":{ + "SystemControl":{ "type":"structure", "members":{ - "taskArn":{ + "namespace":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task.

" + "documentation":"

The namespaced kernel parameter for which to set a value.

" }, - "clusterArn":{ + "value":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the cluster that hosts the task.

" + "documentation":"

The value for the namespaced kernel parameter specified in namespace.

" + } + }, + "documentation":"

A list of namespaced kernel parameters to set in the container. This parameter maps to Sysctls in the Create a container section of the Docker Remote API and the --sysctl option to docker run.

It is not recommended that you specify network-related systemControls parameters for multiple containers in a single task that also uses either the awsvpc or host network mode for the following reasons:

  • For tasks that use the awsvpc network mode, if you set systemControls for any container, it applies to all containers in the task. If you set different systemControls for multiple containers in a single task, the container that is started last determines which systemControls take effect.

  • For tasks that use the host network mode, the systemControls parameter applies to the container instance's kernel parameter as well as that of all containers of any tasks running on that container instance.

" + }, + "SystemControls":{ + "type":"list", + "member":{"shape":"SystemControl"} + }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

" }, - "taskDefinitionArn":{ + "value":{ + "shape":"TagValue", + "documentation":"

The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

" + } + }, + "documentation":"

The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the task definition that creates the task.

" + "documentation":"

The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.

" }, - "containerInstanceArn":{ + "tags":{ + "shape":"Tags", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TargetNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified target could not be found. You can view your available container instances with ListContainerInstances. Amazon ECS container instances are cluster-specific and Region-specific.

", + "exception":true + }, + "TargetType":{ + "type":"string", + "enum":["container-instance"] + }, + "Task":{ + "type":"structure", + "members":{ + "attachments":{ + "shape":"Attachments", + "documentation":"

The Elastic Network Adapter associated with the task if the task uses the awsvpc network mode.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes of the task

" + }, + "availabilityZone":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the container instances that host the task.

" + "documentation":"

The availability zone of the task.

" }, - "overrides":{ - "shape":"TaskOverride", - "documentation":"

One or more container overrides.

" + "capacityProviderName":{ + "shape":"String", + "documentation":"

The capacity provider associated with the task.

" }, - "lastStatus":{ + "clusterArn":{ "shape":"String", - "documentation":"

The last known status of the task.

" + "documentation":"

The ARN of the cluster that hosts the task.

" }, - "desiredStatus":{ + "connectivity":{ + "shape":"Connectivity", + "documentation":"

The connectivity status of a task.

" + }, + "connectivityAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task last went into CONNECTED status.

" + }, + "containerInstanceArn":{ "shape":"String", - "documentation":"

The desired status of the task.

" + "documentation":"

The ARN of the container instances that host the task.

" }, "containers":{ "shape":"Containers", "documentation":"

The containers associated with the task.

" }, - "startedBy":{ - "shape":"String", - "documentation":"

The tag specified when a task is started. If the task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" - }, - "stoppedReason":{ + "cpu":{ "shape":"String", - "documentation":"

The reason the task was stopped.

" + "documentation":"

The number of CPU units used by the task as expressed in a task definition. It can be expressed as an integer using CPU units, for example 1024. It can also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. String values are converted to an integer indicating the CPU units when the task definition is registered.

If you are using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs).

If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" }, "createdAt":{ "shape":"Timestamp", "documentation":"

The Unix timestamp for when the task was created (the task entered the PENDING state).

" }, + "desiredStatus":{ + "shape":"String", + "documentation":"

The desired status of the task. For more information, see Task Lifecycle.

" + }, + "executionStoppedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task execution stopped.

" + }, + "group":{ + "shape":"String", + "documentation":"

The name of the task group associated with the task.

" + }, + "healthStatus":{ + "shape":"HealthStatus", + "documentation":"

The health status for the task, which is determined by the health of the essential containers in the task. If all essential containers in the task are reporting as HEALTHY, then the task status also reports as HEALTHY. If any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, then the task status also reports as UNHEALTHY or UNKNOWN, accordingly.

The Amazon ECS container agent does not monitor or report on Docker health checks that are embedded in a container image (such as those specified in a parent image or from the image's Dockerfile) and not specified in the container definition. Health check parameters that are specified in a container definition override any Docker health checks that exist in the container image.

" + }, + "inferenceAccelerators":{ + "shape":"InferenceAccelerators", + "documentation":"

The Elastic Inference accelerator associated with the task.

" + }, + "lastStatus":{ + "shape":"String", + "documentation":"

The last known status of the task. For more information, see Task Lifecycle.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type on which your task is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "memory":{ + "shape":"String", + "documentation":"

The amount of memory (in MiB) used by the task as expressed in a task definition. It can be expressed as an integer using MiB, for example 1024. It can also be expressed as a string using GB, for example 1GB or 1 GB. String values are converted to an integer indicating the MiB when the task definition is registered.

If you are using the EC2 launch type, this field is optional.

If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of supported values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + }, + "overrides":{ + "shape":"TaskOverride", + "documentation":"

One or more container overrides.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version on which your task is running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "pullStartedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container image pull began.

" + }, + "pullStoppedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the container image pull completed.

" + }, "startedAt":{ "shape":"Timestamp", - "documentation":"

The Unix timestamp for when the task was started (the task transitioned from the PENDING state to the RUNNING state).

" + "documentation":"

The Unix timestamp for when the task started (the task transitioned from the PENDING state to the RUNNING state).

" + }, + "startedBy":{ + "shape":"String", + "documentation":"

The tag specified when a task is started. If the task is started by an Amazon ECS service, then the startedBy parameter contains the deployment ID of the service that starts it.

" + }, + "stopCode":{ + "shape":"TaskStopCode", + "documentation":"

The stop code indicating why a task was stopped. The stoppedReason may contain additional details.

" }, "stoppedAt":{ "shape":"Timestamp", "documentation":"

The Unix timestamp for when the task was stopped (the task transitioned from the RUNNING state to the STOPPED state).

" + }, + "stoppedReason":{ + "shape":"String", + "documentation":"

The reason that the task was stopped.

" + }, + "stoppingAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task stops (transitions from the RUNNING state to STOPPED).

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + }, + "taskArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the task.

" + }, + "taskDefinitionArn":{ + "shape":"String", + "documentation":"

The ARN of the task definition that creates the task.

" + }, + "version":{ + "shape":"Long", + "documentation":"

The version counter for the task. Every time a task experiences a change that triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS task state with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API actions with the version reported in CloudWatch Events for the task (inside the detail object) to verify that the version in your event stream is current.

" } }, "documentation":"

Details on a task in a cluster.

" @@ -2061,27 +4675,31 @@ }, "containerDefinitions":{ "shape":"ContainerDefinitions", - "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

A list of container definitions in JSON format that describe the different containers that make up your task. For more information about container definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" }, "family":{ "shape":"String", - "documentation":"

The family of your task definition, used as the definition name.

" + "documentation":"

The name of a family that this task definition is registered to. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.

A family groups multiple versions of a task definition. Amazon ECS gives the first task definition that you registered to a family a revision number of 1. Amazon ECS gives sequential revision numbers to each task definition that you add.

" }, "taskRoleArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

" + "documentation":"

The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see Amazon ECS Task Role in the Amazon Elastic Container Service Developer Guide.

IAM roles for tasks on Windows require that the -EnableTaskIAMRole option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code in order to take advantage of the feature. For more information, see Windows IAM Roles for Tasks in the Amazon Elastic Container Service Developer Guide.

" + }, + "executionRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the task execution role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

" }, "networkMode":{ "shape":"NetworkMode", - "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, and host.

If the network mode is none, the containers do not have external connectivity. The default Docker network mode is bridge. The host network mode offers the highest networking performance for containers because it uses the host network stack instead of the virtualized network stack provided by the bridge mode.

For more information, see Network settings in the Docker run reference.

" + "documentation":"

The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. The default Docker network mode is bridge. If you are using the Fargate launch type, the awsvpc network mode is required. If you are using the EC2 launch type, any network mode can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode.

With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings.

If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a NetworkConfiguration value when you create a service or run a task with the task definition. For more information, see Task Networking in the Amazon Elastic Container Service Developer Guide.

Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with the ecs-init package, or AWS Fargate infrastructure support the awsvpc network mode.

If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used.

Docker for Windows uses different network modes than Docker for Linux. When you register a task definition with Windows containers, you must not specify a network mode. If you use the console to register a task definition with Windows containers, you must choose the <default> network mode object.

For more information, see Network settings in the Docker run reference.

" }, "revision":{ "shape":"Integer", - "documentation":"

The revision of the task in a particular family. The revision is a version number of a task definition in a family. When you register a task definition for the first time, the revision is 1; each time you register a new revision of a task definition in the same family, the revision value always increases by one (even if you have deregistered previous revisions in this family).

" + "documentation":"

The revision of the task in a particular family. The revision is a version number of a task definition in a family. When you register a task definition for the first time, the revision is 1. Each time that you register a new revision of a task definition in the same family, the revision value always increases by one, even if you have deregistered previous revisions in this family.

" }, "volumes":{ "shape":"VolumeList", - "documentation":"

The list of volumes in a task. For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon EC2 Container Service Developer Guide.

" + "documentation":"

The list of volume definitions for the task.

If your tasks are using the Fargate launch type, the host and sourcePath parameters are not supported.

For more information about volume definition parameters and defaults, see Amazon ECS Task Definitions in the Amazon Elastic Container Service Developer Guide.

" }, "status":{ "shape":"TaskDefinitionStatus", @@ -2089,10 +4707,46 @@ }, "requiresAttributes":{ "shape":"RequiresAttributes", - "documentation":"

The container instance attributes required by your task.

" + "documentation":"

The container instance attributes required by your task. This field is not valid if you are using the Fargate launch type for your task.

" + }, + "placementConstraints":{ + "shape":"TaskDefinitionPlacementConstraints", + "documentation":"

An array of placement constraint objects to use for tasks. This field is not valid if you are using the Fargate launch type for your task.

" + }, + "compatibilities":{ + "shape":"CompatibilityList", + "documentation":"

The launch type to use with your task. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "requiresCompatibilities":{ + "shape":"CompatibilityList", + "documentation":"

The launch type the task requires. If no value is specified, it will default to EC2. Valid values include EC2 and FARGATE.

" + }, + "cpu":{ + "shape":"String", + "documentation":"

The number of cpu units used by the task. If you are using the EC2 launch type, this field is optional and any value can be used. If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:

  • 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)

  • 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)

  • 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)

  • 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)

  • 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)

" + }, + "memory":{ + "shape":"String", + "documentation":"

The amount (in MiB) of memory used by the task.

If using the EC2 launch type, this field is optional and any value can be used. If a task-level memory value is specified then the container-level memory value is optional.

If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:

  • 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

  • 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

  • 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

  • Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

  • Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

" + }, + "inferenceAccelerators":{ + "shape":"InferenceAccelerators", + "documentation":"

The Elastic Inference accelerator associated with the task.

" + }, + "pidMode":{ + "shape":"PidMode", + "documentation":"

The process namespace to use for the containers in the task. The valid values are host or task. If host is specified, then all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace. For more information, see PID settings in the Docker run reference.

If the host PID mode is used, be aware that there is a heightened risk of undesired process namespace expose. For more information, see Docker security.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "ipcMode":{ + "shape":"IpcMode", + "documentation":"

The IPC resource namespace to use for the containers in the task. The valid values are host, task, or none. If host is specified, then all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same IPC resources. If none is specified, then IPC resources within the containers of a task are private and not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

If the host IPC mode is used, be aware that there is a heightened risk of undesired IPC namespace expose. For more information, see Docker security.

If you are setting namespaced kernel parameters using systemControls for the containers in the task, the following will apply to your IPC resource namespace. For more information, see System Controls in the Amazon Elastic Container Service Developer Guide.

  • For tasks that use the host IPC mode, IPC namespace related systemControls are not supported.

  • For tasks that use the task IPC mode, IPC namespace related systemControls will apply to all containers within a task.

This parameter is not supported for Windows containers or tasks using the Fargate launch type.

" + }, + "proxyConfiguration":{ + "shape":"ProxyConfiguration", + "documentation":"

The configuration details for the App Mesh proxy.

Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ecs-init package to enable a proxy configuration. If your container instances are launched from the Amazon ECS-optimized AMI version 20190301 or later, then they contain the required versions of the container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" } }, - "documentation":"

Details of a task definition.

" + "documentation":"

The details of a task definition which describes the container and volume definitions of an Amazon Elastic Container Service task. You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

" }, "TaskDefinitionFamilyStatus":{ "type":"string", @@ -2102,6 +4756,36 @@ "ALL" ] }, + "TaskDefinitionField":{ + "type":"string", + "enum":["TAGS"] + }, + "TaskDefinitionFieldList":{ + "type":"list", + "member":{"shape":"TaskDefinitionField"} + }, + "TaskDefinitionPlacementConstraint":{ + "type":"structure", + "members":{ + "type":{ + "shape":"TaskDefinitionPlacementConstraintType", + "documentation":"

The type of constraint. The MemberOf constraint restricts selection to be from a group of valid candidates.

" + }, + "expression":{ + "shape":"String", + "documentation":"

A cluster query language expression to apply to the constraint. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + } + }, + "documentation":"

An object representing a constraint on task placement in the task definition. For more information, see Task Placement Constraints in the Amazon Elastic Container Service Developer Guide.

If you are using the Fargate launch type, task placement constraints are not supported.

" + }, + "TaskDefinitionPlacementConstraintType":{ + "type":"string", + "enum":["memberOf"] + }, + "TaskDefinitionPlacementConstraints":{ + "type":"list", + "member":{"shape":"TaskDefinitionPlacementConstraint"} + }, "TaskDefinitionStatus":{ "type":"string", "enum":[ @@ -2109,6 +4793,14 @@ "INACTIVE" ] }, + "TaskField":{ + "type":"string", + "enum":["TAGS"] + }, + "TaskFieldList":{ + "type":"list", + "member":{"shape":"TaskField"} + }, "TaskOverride":{ "type":"structure", "members":{ @@ -2116,6 +4808,22 @@ "shape":"ContainerOverrides", "documentation":"

One or more container overrides sent to a task.

" }, + "cpu":{ + "shape":"String", + "documentation":"

The cpu override for the task.

" + }, + "inferenceAcceleratorOverrides":{ + "shape":"InferenceAcceleratorOverrides", + "documentation":"

The Elastic Inference accelerator override for the task.

" + }, + "executionRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.

" + }, + "memory":{ + "shape":"String", + "documentation":"

The memory override for the task.

" + }, "taskRoleArn":{ "shape":"String", "documentation":"

The Amazon Resource Name (ARN) of the IAM role that containers in this task can assume. All containers in this task are granted the permissions that are specified in this role.

" @@ -2123,11 +4831,162 @@ }, "documentation":"

The overrides associated with a task.

" }, + "TaskSet":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

The ID of the task set.

" + }, + "taskSetArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the task set.

" + }, + "serviceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the service the task set exists in.

" + }, + "clusterArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists in.

" + }, + "startedBy":{ + "shape":"String", + "documentation":"

The tag specified when a task set is started. If the task set is created by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. For a task set created for an external deployment, the startedBy field isn't used.

" + }, + "externalId":{ + "shape":"String", + "documentation":"

The external ID associated with the task set.

If a task set is created by an AWS CodeDeploy deployment, the externalId parameter contains the AWS CodeDeploy deployment ID.

If a task set is created for an external deployment and is associated with a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute.

" + }, + "status":{ + "shape":"String", + "documentation":"

The status of the task set. The following describes each state:

PRIMARY

The task set is serving production traffic.

ACTIVE

The task set is not serving production traffic.

DRAINING

The tasks in the task set are being stopped and their corresponding targets are being deregistered from their target group.

" + }, + "taskDefinition":{ + "shape":"String", + "documentation":"

The task definition the task set is using.

" + }, + "computedDesiredCount":{ + "shape":"Integer", + "documentation":"

The computed desired count for the task set. This is calculated by multiplying the service's desiredCount by the task set's scale percentage. The result is always rounded up. For example, if the computed desired count is 1.2, it rounds up to 2 tasks.

" + }, + "pendingCount":{ + "shape":"Integer", + "documentation":"

The number of tasks in the task set that are in the PENDING status during a deployment. A task in the PENDING state is preparing to enter the RUNNING state. A task set enters the PENDING status when it launches for the first time or when it is restarted after being in the STOPPED state.

" + }, + "runningCount":{ + "shape":"Integer", + "documentation":"

The number of tasks in the task set that are in the RUNNING status during a deployment. A task in the RUNNING state is running and ready for use.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task set was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task set was last updated.

" + }, + "launchType":{ + "shape":"LaunchType", + "documentation":"

The launch type the tasks in the task set are using. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy associated with the task set.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version on which the tasks in the task set are running. A platform version is only specified for tasks using the Fargate launch type. If one is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "networkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

The network configuration for the task set.

" + }, + "loadBalancers":{ + "shape":"LoadBalancers", + "documentation":"

Details on a load balancer that is used with a task set.

" + }, + "serviceRegistries":{ + "shape":"ServiceRegistries", + "documentation":"

The details of the service discovery registries to assign to this task set. For more information, see Service Discovery.

" + }, + "scale":{ + "shape":"Scale", + "documentation":"

A floating-point percentage of the desired number of tasks to place and keep running in the task set.

" + }, + "stabilityStatus":{ + "shape":"StabilityStatus", + "documentation":"

The stability status, which indicates whether the task set has reached a steady state. If the following conditions are met, the task set will be in STEADY_STATE:

  • The task runningCount is equal to the computedDesiredCount.

  • The pendingCount is 0.

  • There are no tasks running on container instances in the DRAINING status.

  • All tasks are reporting a healthy status from the load balancers, service discovery, and container health checks.

If any of those conditions are not met, the stability status returns STABILIZING.

" + }, + "stabilityStatusAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp for when the task set stability status was retrieved.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The metadata that you apply to the task set to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

  • Maximum number of tags per resource - 50

  • For each resource, each tag key must be unique, and each tag key can have only one value.

  • Maximum key length - 128 Unicode characters in UTF-8

  • Maximum value length - 256 Unicode characters in UTF-8

  • If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.

  • Tag keys and values are case-sensitive.

  • Do not use aws:, AWS:, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.

" + } + }, + "documentation":"

Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or an EXTERNAL deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.

" + }, + "TaskSetField":{ + "type":"string", + "enum":["TAGS"] + }, + "TaskSetFieldList":{ + "type":"list", + "member":{"shape":"TaskSetField"} + }, + "TaskSetNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified task set could not be found. You can view your available task sets with DescribeTaskSets. Task sets are specific to each cluster, service and Region.

", + "exception":true + }, + "TaskSets":{ + "type":"list", + "member":{"shape":"TaskSet"} + }, + "TaskStopCode":{ + "type":"string", + "enum":[ + "TaskFailedToStart", + "EssentialContainerExited", + "UserInitiated" + ] + }, "Tasks":{ "type":"list", "member":{"shape":"Task"} }, "Timestamp":{"type":"timestamp"}, + "Tmpfs":{ + "type":"structure", + "required":[ + "containerPath", + "size" + ], + "members":{ + "containerPath":{ + "shape":"String", + "documentation":"

The absolute file path where the tmpfs volume is to be mounted.

" + }, + "size":{ + "shape":"Integer", + "documentation":"

The size (in MiB) of the tmpfs volume.

" + }, + "mountOptions":{ + "shape":"StringList", + "documentation":"

The list of tmpfs volume mount options.

Valid values: \"defaults\" | \"ro\" | \"rw\" | \"suid\" | \"nosuid\" | \"dev\" | \"nodev\" | \"exec\" | \"noexec\" | \"sync\" | \"async\" | \"dirsync\" | \"remount\" | \"mand\" | \"nomand\" | \"atime\" | \"noatime\" | \"diratime\" | \"nodiratime\" | \"bind\" | \"rbind\" | \"unbindable\" | \"runbindable\" | \"private\" | \"rprivate\" | \"shared\" | \"rshared\" | \"slave\" | \"rslave\" | \"relatime\" | \"norelatime\" | \"strictatime\" | \"nostrictatime\" | \"mode\" | \"uid\" | \"gid\" | \"nr_inodes\" | \"nr_blocks\" | \"mpol\"

" + } + }, + "documentation":"

The container path, mount options, and size of the tmpfs mount.

" + }, + "TmpfsList":{ + "type":"list", + "member":{"shape":"Tmpfs"} + }, "TransportProtocol":{ "type":"string", "enum":[ @@ -2182,6 +5041,58 @@ "stack" ] }, + "UnsupportedFeatureException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified task is not supported in this Region.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.

" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

The keys of the tags to be removed.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateClusterSettingsRequest":{ + "type":"structure", + "required":[ + "cluster", + "settings" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The name of the cluster to modify the settings for.

" + }, + "settings":{ + "shape":"ClusterSettings", + "documentation":"

The setting to use by default for a cluster. This parameter is used to enable CloudWatch Container Insights for a cluster. If this value is specified, it will override the containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" + } + } + }, + "UpdateClusterSettingsResponse":{ + "type":"structure", + "members":{ + "cluster":{"shape":"Cluster"} + } + }, "UpdateContainerAgentRequest":{ "type":"structure", "required":["containerInstance"], @@ -2192,14 +5103,51 @@ }, "containerInstance":{ "shape":"String", - "documentation":"

The container instance ID or full Amazon Resource Name (ARN) entries for the container instance on which you would like to update the Amazon ECS container agent.

" + "documentation":"

The container instance ID or full ARN entries for the container instance on which you would like to update the Amazon ECS container agent.

" } } }, "UpdateContainerAgentResponse":{ "type":"structure", "members":{ - "containerInstance":{"shape":"ContainerInstance"} + "containerInstance":{ + "shape":"ContainerInstance", + "documentation":"

The container instance for which the container agent was updated.

" + } + } + }, + "UpdateContainerInstancesStateRequest":{ + "type":"structure", + "required":[ + "containerInstances", + "status" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to update. If you do not specify a cluster, the default cluster is assumed.

" + }, + "containerInstances":{ + "shape":"StringList", + "documentation":"

A list of container instance IDs or full ARN entries.

" + }, + "status":{ + "shape":"ContainerInstanceStatus", + "documentation":"

The container instance state with which to update the container instance. The only valid values for this action are ACTIVE and DRAINING. A container instance can only be updated to DRAINING status once it has reached an ACTIVE state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED state you can describe the container instance but will be unable to update the container instance state.

" + } + } + }, + "UpdateContainerInstancesStateResponse":{ + "type":"structure", + "members":{ + "containerInstances":{ + "shape":"ContainerInstances", + "documentation":"

The list of container instances.

" + }, + "failures":{ + "shape":"Failures", + "documentation":"

Any failures associated with the call.

" + } } }, "UpdateInProgressException":{ @@ -2209,6 +5157,34 @@ "documentation":"

There is already a current Amazon ECS container agent update in progress on the specified container instance. If the container agent becomes disconnected while it is in a transitional stage, such as PENDING or STAGING, the update process can get stuck in that state. However, when the agent reconnects, it resumes where it stopped previously.

", "exception":true }, + "UpdateServicePrimaryTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "primaryTaskSet" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

" + }, + "primaryTaskSet":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the deployment.

" + } + } + }, + "UpdateServicePrimaryTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "UpdateServiceRequest":{ "type":"structure", "required":["service"], @@ -2227,11 +5203,36 @@ }, "taskDefinition":{ "shape":"String", - "documentation":"

The family and revision (family:revision) or full Amazon Resource Name (ARN) of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. If you modify the task definition with UpdateService, Amazon ECS spawns a task with the new version of the task definition and then stops an old task after the new version is running.

" + "documentation":"

The family and revision (family:revision) or full ARN of the task definition to run in your service. If a revision is not specified, the latest ACTIVE revision is used. If you modify the task definition with UpdateService, Amazon ECS spawns a task with the new version of the task definition and then stops an old task after the new version is running.

" + }, + "capacityProviderStrategy":{ + "shape":"CapacityProviderStrategy", + "documentation":"

The capacity provider strategy to update the service to use.

If the service is using the default capacity provider strategy for the cluster, the service can be updated to use one or more capacity providers as opposed to the default capacity provider strategy. However, when a service is using a capacity provider strategy that is not the default capacity provider strategy, the service cannot be updated to use the cluster's default capacity provider strategy.

A capacity provider strategy consists of one or more capacity providers along with the base and weight to assign to them. A capacity provider must be associated with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider with a cluster. Only capacity providers with an ACTIVE or UPDATING status can be used.

If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT capacity providers. The AWS Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used.

The PutClusterCapacityProviders API operation is used to update the list of available capacity providers for a cluster after the cluster is created.

" }, "deploymentConfiguration":{ "shape":"DeploymentConfiguration", "documentation":"

Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.

" + }, + "networkConfiguration":{"shape":"NetworkConfiguration"}, + "placementConstraints":{ + "shape":"PlacementConstraints", + "documentation":"

An array of task placement constraint objects to update the service to use. If no value is specified, the existing placement constraints for the service will remain unchanged. If this value is specified, it will override any existing placement constraints defined for the service. To remove all existing placement constraints, specify an empty array.

You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at runtime).

" + }, + "placementStrategy":{ + "shape":"PlacementStrategies", + "documentation":"

The task placement strategy objects to update the service to use. If no value is specified, the existing placement strategy for the service will remain unchanged. If this value is specified, it will override the existing placement strategy defined for the service. To remove an existing placement strategy, specify an empty object.

You can specify a maximum of five strategy rules per service.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version on which your tasks in the service are running. A platform version is only specified for tasks using the Fargate launch type. If a platform version is not specified, the LATEST platform version is used by default. For more information, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "forceNewDeployment":{ + "shape":"Boolean", + "documentation":"

Whether to force a new deployment of the service. Deployments are not forced by default. You can use this option to trigger a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination (my_image:latest) or to roll Fargate tasks onto a newer platform version.

" + }, + "healthCheckGracePeriodSeconds":{ + "shape":"BoxedInteger", + "documentation":"

The period of time, in seconds, that the Amazon ECS service scheduler should ignore unhealthy Elastic Load Balancing target health checks after a task has first started. This is only valid if your service is configured to use a load balancer. If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.

" } } }, @@ -2244,6 +5245,36 @@ } } }, + "UpdateTaskSetRequest":{ + "type":"structure", + "required":[ + "cluster", + "service", + "taskSet", + "scale" + ], + "members":{ + "cluster":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task set exists in.

" + }, + "service":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

" + }, + "taskSet":{ + "shape":"String", + "documentation":"

The short name or full Amazon Resource Name (ARN) of the task set to update.

" + }, + "scale":{"shape":"Scale"} + } + }, + "UpdateTaskSetResponse":{ + "type":"structure", + "members":{ + "taskSet":{"shape":"TaskSet"} + } + }, "VersionInfo":{ "type":"structure", "members":{ @@ -2267,28 +5298,36 @@ "members":{ "name":{ "shape":"String", - "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" + "documentation":"

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, and hyphens are allowed. This name is referenced in the sourceVolume parameter of container definition mountPoints.

" }, "host":{ "shape":"HostVolumeProperties", - "documentation":"

The contents of the host parameter determine whether your data volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume, but the data is not guaranteed to persist after the containers associated with it stop running.

" + "documentation":"

This parameter is specified when you are using bind mount host volumes. Bind mount host volumes are supported when you are using either the EC2 or Fargate launch types. The contents of the host parameter determine whether your bind mount host volume persists on the host container instance and where it is stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data is not guaranteed to persist after the containers associated with it stop running.

Windows containers can mount whole directories on the same drive as $env:ProgramData. Windows containers cannot mount directories on a different drive, and mount point cannot be across drives. For example, you can mount C:\\my\\path:C:\\my\\path and D:\\:D:\\, but not D:\\my\\path:C:\\my\\path or D:\\:C:\\my\\path.

" + }, + "dockerVolumeConfiguration":{ + "shape":"DockerVolumeConfiguration", + "documentation":"

This parameter is specified when you are using Docker volumes. Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the local driver. To use bind mounts, specify the host parameter instead.

" + }, + "efsVolumeConfiguration":{ + "shape":"EFSVolumeConfiguration", + "documentation":"

This parameter is specified when you are using an Amazon Elastic File System (Amazon EFS) file storage. Amazon EFS file systems are only supported when you are using the EC2 launch type.

EFSVolumeConfiguration remains in preview and is a Beta Service as defined by and subject to the Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms (\"Beta Terms\"). These Beta Terms apply to your participation in this preview of EFSVolumeConfiguration.

" } }, - "documentation":"

A data volume used in a task definition.

" + "documentation":"

A data volume used in a task definition. For tasks that use a Docker volume, specify a DockerVolumeConfiguration. For tasks that use a bind mount host volume, specify a host and optional sourcePath. For more information, see Using Data Volumes in Tasks.

" }, "VolumeFrom":{ "type":"structure", "members":{ "sourceContainer":{ "shape":"String", - "documentation":"

The name of the container to mount volumes from.

" + "documentation":"

The name of another container within the same task definition from which to mount volumes.

" }, "readOnly":{ "shape":"BoxedBoolean", "documentation":"

If this value is true, the container has read-only access to the volume. If this value is false, then the container can write to the volume. The default value is false.

" } }, - "documentation":"

Details on a data volume from another container.

" + "documentation":"

Details on a data volume from another container in the same task definition.

" }, "VolumeFromList":{ "type":"list", @@ -2299,5 +5338,5 @@ "member":{"shape":"Volume"} } }, - "documentation":"

Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of EC2 instances. Amazon ECS lets you launch and stop container-enabled applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features like security groups, Amazon EBS volumes, and IAM roles.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon EC2 Container Service eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

" + "documentation":"Amazon Elastic Container Service

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless infrastructure that is managed by Amazon ECS by launching your services or tasks using the Fargate launch type. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage by using the EC2 launch type. For more information about launch types, see Amazon ECS Launch Types.

Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.

You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs, isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster management and configuration management systems or worry about scaling your management infrastructure.

" } diff -Nru python-botocore-1.4.70/botocore/data/ecs/2014-11-13/waiters-2.json python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/waiters-2.json --- python-botocore-1.4.70/botocore/data/ecs/2014-11-13/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ecs/2014-11-13/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -66,7 +66,7 @@ "expected": true, "matcher": "path", "state": "success", - "argument": "services | [@[?length(deployments)!=`1`], @[?desiredCount!=runningCount]][] | length(@) == `0`" + "argument": "length(services[?!(length(deployments) == `1` && runningCount == desiredCount)]) == `0`" } ] }, diff -Nru python-botocore-1.4.70/botocore/data/efs/2015-02-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/examples-1.json --- python-botocore-1.4.70/botocore/data/efs/2015-02-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,222 @@ +{ + "version": "1.0", + "examples": { + "CreateFileSystem": [ + { + "input": { + "CreationToken": "tokenstring", + "PerformanceMode": "generalPurpose" + }, + "output": { + "CreationTime": "1481841524.0", + "CreationToken": "tokenstring", + "FileSystemId": "fs-01234567", + "LifeCycleState": "creating", + "NumberOfMountTargets": 0, + "OwnerId": "012345678912", + "PerformanceMode": "generalPurpose", + "SizeInBytes": { + "Value": 0 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a new file system with the default generalpurpose performance mode.", + "id": "to-create-a-new-file-system-1481840798547", + "title": "To create a new file system" + } + ], + "CreateMountTarget": [ + { + "input": { + "FileSystemId": "fs-01234567", + "SubnetId": "subnet-1234abcd" + }, + "output": { + "FileSystemId": "fs-01234567", + "IpAddress": "192.0.0.2", + "LifeCycleState": "creating", + "MountTargetId": "fsmt-12340abc", + "NetworkInterfaceId": "eni-cedf6789", + "OwnerId": "012345678912", + "SubnetId": "subnet-1234abcd" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a new mount target for an EFS file system.", + "id": "to-create-a-new-mount-target-1481842289329", + "title": "To create a new mount target" + } + ], + "CreateTags": [ + { + "input": { + "FileSystemId": "fs-01234567", + "Tags": [ + { + "Key": "Name", + "Value": "MyFileSystem" + } + ] + }, + "comments": { + }, + "description": "This operation creates a new tag for an EFS file system.", + "id": "to-create-a-new-tag-1481843409357", + "title": "To create a new tag" + } + ], + "DeleteFileSystem": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "comments": { + }, + "description": "This operation deletes an EFS file system.", + "id": "to-delete-a-file-system-1481847318348", + "title": "To delete a file system" + } + ], + "DeleteMountTarget": [ + { + "input": { + "MountTargetId": "fsmt-12340abc" + }, + "comments": { + }, + "description": "This operation deletes a mount target.", + "id": "to-delete-a-mount-target-1481847635607", + "title": "To delete a mount target" + } + ], + "DeleteTags": [ + { + "input": { + "FileSystemId": "fs-01234567", + "TagKeys": [ + "Name" + ] + }, + "comments": { + }, + "description": "This operation deletes tags for an EFS file system.", + "id": "to-delete-tags-for-an-efs-file-system-1481848189061", + "title": "To delete tags for an EFS file system" + } + ], + "DescribeFileSystems": [ + { + "input": { + }, + "output": { + "FileSystems": [ + { + "CreationTime": "1481841524.0", + "CreationToken": "tokenstring", + "FileSystemId": "fs-01234567", + "LifeCycleState": "available", + "Name": "MyFileSystem", + "NumberOfMountTargets": 1, + "OwnerId": "012345678912", + "PerformanceMode": "generalPurpose", + "SizeInBytes": { + "Value": 6144 + } + } + ] + }, + "comments": { + }, + "description": "This operation describes all of the EFS file systems in an account.", + "id": "to-describe-an-efs-file-system-1481848448460", + "title": "To describe an EFS file system" + } + ], + "DescribeMountTargetSecurityGroups": [ + { + "input": { + "MountTargetId": "fsmt-12340abc" + }, + "output": { + "SecurityGroups": [ + "sg-fghi4567" + ] + }, + "comments": { + }, + "description": "This operation describes all of the security groups for a file system's mount target.", + "id": "to-describe-the-security-groups-for-a-mount-target-1481849317823", + "title": "To describe the security groups for a mount target" + } + ], + "DescribeMountTargets": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "output": { + "MountTargets": [ + { + "FileSystemId": "fs-01234567", + "IpAddress": "192.0.0.2", + "LifeCycleState": "available", + "MountTargetId": "fsmt-12340abc", + "NetworkInterfaceId": "eni-cedf6789", + "OwnerId": "012345678912", + "SubnetId": "subnet-1234abcd" + } + ] + }, + "comments": { + }, + "description": "This operation describes all of a file system's mount targets.", + "id": "to-describe-the-mount-targets-for-a-file-system-1481849958584", + "title": "To describe the mount targets for a file system" + } + ], + "DescribeTags": [ + { + "input": { + "FileSystemId": "fs-01234567" + }, + "output": { + "Tags": [ + { + "Key": "Name", + "Value": "MyFileSystem" + } + ] + }, + "comments": { + }, + "description": "This operation describes all of a file system's tags.", + "id": "to-describe-the-tags-for-a-file-system-1481850497090", + "title": "To describe the tags for a file system" + } + ], + "ModifyMountTargetSecurityGroups": [ + { + "input": { + "MountTargetId": "fsmt-12340abc", + "SecurityGroups": [ + "sg-abcd1234" + ] + }, + "comments": { + }, + "description": "This operation modifies the security groups associated with a mount target for a file system.", + "id": "to-modify-the-security-groups-associated-with-a-mount-target-for-a-file-system-1481850772562", + "title": "To modify the security groups associated with a mount target for a file system" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/efs/2015-02-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/efs/2015-02-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeFileSystems": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "FileSystems" + }, + "DescribeMountTargets": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "MountTargets" + }, + "DescribeTags": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/efs/2015-02-01/service-2.json python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/service-2.json --- python-botocore-1.4.70/botocore/data/efs/2015-02-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/efs/2015-02-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,9 +6,29 @@ "protocol":"rest-json", "serviceAbbreviation":"EFS", "serviceFullName":"Amazon Elastic File System", - "signatureVersion":"v4" + "serviceId":"EFS", + "signatureVersion":"v4", + "uid":"elasticfilesystem-2015-02-01" }, "operations":{ + "CreateAccessPoint":{ + "name":"CreateAccessPoint", + "http":{ + "method":"POST", + "requestUri":"/2015-02-01/access-points", + "responseCode":200 + }, + "input":{"shape":"CreateAccessPointRequest"}, + "output":{"shape":"AccessPointDescription"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"AccessPointAlreadyExists"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"AccessPointLimitExceeded"} + ], + "documentation":"

Creates an EFS access point. An access point is an application-specific view into an EFS file system that applies an operating system user and group, and a file system path, to any file system request made through the access point. The operating system user and group override any identity information provided by the NFS client. The file system path is exposed as the access point's root directory. Applications using the access point can only access data in its own directory and below. To learn more, see Mounting a File System Using EFS Access Points.

This operation requires permissions for the elasticfilesystem:CreateAccessPoint action.

" + }, "CreateFileSystem":{ "name":"CreateFileSystem", "http":{ @@ -22,9 +42,11 @@ {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemAlreadyExists"}, - {"shape":"FileSystemLimitExceeded"} + {"shape":"FileSystemLimitExceeded"}, + {"shape":"InsufficientThroughputCapacity"}, + {"shape":"ThroughputLimitExceeded"} ], - "documentation":"

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:

  • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

  • Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC via the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

" + "documentation":"

Creates a new, empty file system. The operation requires a creation token in the request that Amazon EFS uses to ensure idempotent creation (calling the operation with same creation token has no effect). If a file system does not currently exist that is owned by the caller's AWS account with the specified creation token, this operation does the following:

  • Creates a new, empty file system. The file system will have an Amazon EFS assigned ID, and an initial lifecycle state creating.

  • Returns with the description of the created file system.

Otherwise, this operation returns a FileSystemAlreadyExists error with the ID of the existing file system.

For basic use cases, you can use a randomly generated UUID for the creation token.

The idempotent operation allows you to retry a CreateFileSystem call without risk of creating an extra file system. This can happen when an initial call fails in a way that leaves it uncertain whether or not a file system was actually created. An example might be that a transport level timeout occurred or your connection was reset. As long as you use the same creation token, if the initial call had succeeded in creating a file system, the client can learn of its existence from the FileSystemAlreadyExists error.

The CreateFileSystem call returns while the file system's lifecycle state is still creating. You can check the file system creation status by calling the DescribeFileSystems operation, which among other things returns the file system state.

This operation also takes an optional PerformanceMode parameter that you choose for your file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created. For more information, see Amazon EFS: Performance Modes.

After the file system is fully created, Amazon EFS sets its lifecycle state to available, at which point you can create one or more mount targets for the file system in your VPC. For more information, see CreateMountTarget. You mount your Amazon EFS file system on an EC2 instances in your VPC by using the mount target. For more information, see Amazon EFS: How it Works.

This operation requires permissions for the elasticfilesystem:CreateFileSystem action.

" }, "CreateMountTarget":{ "name":"CreateMountTarget", @@ -49,7 +71,7 @@ {"shape":"SecurityGroupNotFound"}, {"shape":"UnsupportedAvailabilityZone"} ], - "documentation":"

Creates a mount target for a file system. You can then mount the file system on EC2 instances via the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, you also provide a subnet ID, which determines the following:

  • VPC in which Amazon EFS creates the mount target

  • Availability Zone in which Amazon EFS creates the mount target

  • IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system via the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

  • Must belong to the same VPC as the subnets of the existing mount targets

  • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

  • Creates a new mount target in the specified subnet.

  • Also creates a new network interface in the subnet as follows:

    • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

    • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

    • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

    • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

    Each Amazon EFS mount target has one corresponding requestor-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating. You can check the mount target creation status by calling the DescribeFileSystems operation, which among other things returns the mount target state.

We recommend you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you won't be able to access your file system through that mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

" + "documentation":"

Creates a mount target for a file system. You can then mount the file system on EC2 instances by using the mount target.

You can create one mount target in each Availability Zone in your VPC. All EC2 instances in a VPC within a given Availability Zone share a single mount target for a given file system. If you have multiple subnets in an Availability Zone, you create a mount target in one of the subnets. EC2 instances do not need to be in the same subnet as the mount target in order to access their file system. For more information, see Amazon EFS: How it Works.

In the request, you also specify a file system ID for which you are creating the mount target and the file system's lifecycle state must be available. For more information, see DescribeFileSystems.

In the request, you also provide a subnet ID, which determines the following:

  • VPC in which Amazon EFS creates the mount target

  • Availability Zone in which Amazon EFS creates the mount target

  • IP address range from which Amazon EFS selects the IP address of the mount target (if you don't specify an IP address in the request)

After creating the mount target, Amazon EFS returns a response that includes, a MountTargetId and an IpAddress. You use this IP address when mounting the file system in an EC2 instance. You can also use the mount target's DNS name when mounting the file system. The EC2 instance on which you mount the file system by using the mount target can resolve the mount target's DNS name to its IP address. For more information, see How it Works: Implementation Overview.

Note that you can create mount targets for a file system in only one VPC, and there can be only one mount target per Availability Zone. That is, if the file system already has one or more mount targets created for it, the subnet specified in the request to add another mount target must meet the following requirements:

  • Must belong to the same VPC as the subnets of the existing mount targets

  • Must not be in the same Availability Zone as any of the subnets of the existing mount targets

If the request satisfies the requirements, Amazon EFS does the following:

  • Creates a new mount target in the specified subnet.

  • Also creates a new network interface in the subnet as follows:

    • If the request provides an IpAddress, Amazon EFS assigns that IP address to the network interface. Otherwise, Amazon EFS assigns a free address in the subnet (in the same way that the Amazon EC2 CreateNetworkInterface call does when a request does not specify a primary private IP address).

    • If the request provides SecurityGroups, this network interface is associated with those security groups. Otherwise, it belongs to the default security group for the subnet's VPC.

    • Assigns the description Mount target fsmt-id for file system fs-id where fsmt-id is the mount target ID, and fs-id is the FileSystemId.

    • Sets the requesterManaged property of the network interface to true, and the requesterId value to EFS.

    Each Amazon EFS mount target has one corresponding requester-managed EC2 network interface. After the network interface is created, Amazon EFS sets the NetworkInterfaceId field in the mount target's description to the network interface ID, and the IpAddress field to its address. If network interface creation fails, the entire CreateMountTarget operation fails.

The CreateMountTarget call returns only after creating the network interface, but while the mount target state is still creating, you can check the mount target creation status by calling the DescribeMountTargets operation, which among other things returns the mount target state.

We recommend that you create a mount target in each of the Availability Zones. There are cost considerations for using a file system in an Availability Zone through a mount target created in another Availability Zone. For more information, see Amazon EFS. In addition, by always using a mount target local to the instance's Availability Zone, you eliminate a partial failure scenario. If the Availability Zone in which your mount target is created goes down, then you can't access your file system through that mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:CreateMountTarget

This operation also requires permissions for the following Amazon EC2 actions:

  • ec2:DescribeSubnets

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

" }, "CreateTags":{ "name":"CreateTags", @@ -64,7 +86,24 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specified in the request already exists on the file system, this operation overwrites its value with the value provided in the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to the DescribeFileSystems operation.

This operation requires permission for the elasticfilesystem:CreateTags action.

" + "documentation":"

Creates or overwrites tags associated with a file system. Each tag is a key-value pair. If a tag key specified in the request already exists on the file system, this operation overwrites its value with the value provided in the request. If you add the Name tag to your file system, Amazon EFS returns it in the response to the DescribeFileSystems operation.

This operation requires permission for the elasticfilesystem:CreateTags action.

", + "deprecated":true, + "deprecatedMessage":"Use TagResource." + }, + "DeleteAccessPoint":{ + "name":"DeleteAccessPoint", + "http":{ + "method":"DELETE", + "requestUri":"/2015-02-01/access-points/{AccessPointId}", + "responseCode":204 + }, + "input":{"shape":"DeleteAccessPointRequest"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"AccessPointNotFound"} + ], + "documentation":"

Deletes the specified access point. After deletion is complete, new clients can no longer connect to the access points. Clients connected to the access point at the time of deletion will continue to function until they terminate their connection.

This operation requires permissions for the elasticfilesystem:DeleteAccessPoint action.

" }, "DeleteFileSystem":{ "name":"DeleteFileSystem", @@ -82,6 +121,21 @@ ], "documentation":"

Deletes a file system, permanently severing access to its contents. Upon return, the file system no longer exists and you can't access any contents of the deleted file system.

You can't delete a file system that is in use. That is, if the file system has any mount targets, you must first delete them. For more information, see DescribeMountTargets and DeleteMountTarget.

The DeleteFileSystem call returns while the file system state is still deleting. You can check the file system deletion status by calling the DescribeFileSystems operation, which returns a list of file systems in your account. If you pass file system ID or creation token for the deleted file system, the DescribeFileSystems returns a 404 FileSystemNotFound error.

This operation requires permissions for the elasticfilesystem:DeleteFileSystem action.

" }, + "DeleteFileSystemPolicy":{ + "name":"DeleteFileSystemPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/policy", + "responseCode":200 + }, + "input":{"shape":"DeleteFileSystemPolicyRequest"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncorrectFileSystemLifeCycleState"} + ], + "documentation":"

Deletes the FileSystemPolicy for the specified file system. The default FileSystemPolicy goes into effect once the existing policy is deleted. For more information about the default file system policy, see Using Resource-based Policies with EFS.

This operation requires permissions for the elasticfilesystem:DeleteFileSystemPolicy action.

" + }, "DeleteMountTarget":{ "name":"DeleteMountTarget", "http":{ @@ -96,7 +150,7 @@ {"shape":"DependencyTimeout"}, {"shape":"MountTargetNotFound"} ], - "documentation":"

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system via the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes may be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC via another mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:DeleteMountTarget

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

  • ec2:DeleteNetworkInterface

" + "documentation":"

Deletes the specified mount target.

This operation forcibly breaks any mounts of the file system by using the mount target that is being deleted, which might disrupt instances or applications using those mounts. To avoid applications getting cut off abruptly, you might consider unmounting any mounts of the mount target, if feasible. The operation also deletes the associated network interface. Uncommitted writes might be lost, but breaking a mount target using this operation does not corrupt the file system itself. The file system you created remains. You can mount an EC2 instance in your VPC by using another mount target.

This operation requires permissions for the following action on the file system:

  • elasticfilesystem:DeleteMountTarget

The DeleteMountTarget call returns while the mount target state is still deleting. You can check the mount target deletion by calling the DescribeMountTargets operation, which returns a list of mount target descriptions for the given file system.

The operation also requires permissions for the following Amazon EC2 action on the mount target's network interface:

  • ec2:DeleteNetworkInterface

" }, "DeleteTags":{ "name":"DeleteTags", @@ -111,7 +165,42 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that does not exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

" + "documentation":"

Deletes the specified tags from a file system. If the DeleteTags request includes a tag key that doesn't exist, Amazon EFS ignores it and doesn't cause an error. For more information about tags and related restrictions, see Tag Restrictions in the AWS Billing and Cost Management User Guide.

This operation requires permissions for the elasticfilesystem:DeleteTags action.

", + "deprecated":true, + "deprecatedMessage":"Use UntagResource." + }, + "DescribeAccessPoints":{ + "name":"DescribeAccessPoints", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/access-points", + "responseCode":200 + }, + "input":{"shape":"DescribeAccessPointsRequest"}, + "output":{"shape":"DescribeAccessPointsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"AccessPointNotFound"} + ], + "documentation":"

Returns the description of a specific Amazon EFS access point if the AccessPointId is provided. If you provide an EFS FileSystemId, it returns descriptions of all access points for that file system. You can provide either an AccessPointId or a FileSystemId in the request, but not both.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

" + }, + "DescribeFileSystemPolicy":{ + "name":"DescribeFileSystemPolicy", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/policy", + "responseCode":200 + }, + "input":{"shape":"DescribeFileSystemPolicyRequest"}, + "output":{"shape":"FileSystemPolicyDescription"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"PolicyNotFound"} + ], + "documentation":"

Returns the FileSystemPolicy for the specified EFS file system.

This operation requires permissions for the elasticfilesystem:DescribeFileSystemPolicy action.

" }, "DescribeFileSystems":{ "name":"DescribeFileSystems", @@ -127,7 +216,23 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker.

The implementation may return fewer than MaxItems file system descriptions while still including a NextMarker value.

The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

" + "documentation":"

Returns the description of a specific Amazon EFS file system if either the file system CreationToken or the FileSystemId is provided. Otherwise, it returns descriptions of all file systems owned by the caller's AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxItems parameter to limit the number of descriptions in a response. Currently, this number is automatically set to 10. If more file system descriptions remain, Amazon EFS returns a NextMarker, an opaque token, in the response. In this case, you should send a subsequent request with the Marker request parameter set to the value of NextMarker.

To retrieve a list of your file system descriptions, this operation is used in an iterative process, where DescribeFileSystems is called first without the Marker and then the operation continues to call it with the Marker parameter set to the value of the NextMarker from the previous response until the response has no NextMarker.

The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multi-call iteration is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeFileSystems action.

" + }, + "DescribeLifecycleConfiguration":{ + "name":"DescribeLifecycleConfiguration", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + "responseCode":200 + }, + "input":{"shape":"DescribeLifecycleConfigurationRequest"}, + "output":{"shape":"LifecycleConfigurationDescription"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"} + ], + "documentation":"

Returns the current LifecycleConfiguration object for the specified Amazon EFS file system. EFS lifecycle management uses the LifecycleConfiguration object to identify which files to move to the EFS Infrequent Access (IA) storage class. For a file system without a LifecycleConfiguration object, the call returns an empty array in the response.

This operation requires permissions for the elasticfilesystem:DescribeLifecycleConfiguration operation.

" }, "DescribeMountTargetSecurityGroups":{ "name":"DescribeMountTargetSecurityGroups", @@ -159,7 +264,8 @@ {"shape":"BadRequest"}, {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"}, - {"shape":"MountTargetNotFound"} + {"shape":"MountTargetNotFound"}, + {"shape":"AccessPointNotFound"} ], "documentation":"

Returns the descriptions of all the current mount targets, or a specific mount target, for a file system. When requesting all of the current mount targets, the order of mount targets returned in the response is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeMountTargets action, on either the file system ID that you specify in FileSystemId, or on the file system of the mount target that you specify in MountTargetId.

" }, @@ -177,7 +283,26 @@ {"shape":"InternalServerError"}, {"shape":"FileSystemNotFound"} ], - "documentation":"

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multi-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

" + "documentation":"

Returns the tags associated with a file system. The order of tags returned in the response of one DescribeTags call and the order of tags returned across the responses of a multiple-call iteration (when using pagination) is unspecified.

This operation requires permissions for the elasticfilesystem:DescribeTags action.

", + "deprecated":true, + "deprecatedMessage":"Use ListTagsForResource." + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/2015-02-01/resource-tags/{ResourceId}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"AccessPointNotFound"} + ], + "documentation":"

Lists all tags for a top-level EFS resource. You must provide the ID of the resource that you want to retrieve the tags for.

This operation requires permissions for the elasticfilesystem:DescribeAccessPoints action.

" }, "ModifyMountTargetSecurityGroups":{ "name":"ModifyMountTargetSecurityGroups", @@ -196,9 +321,186 @@ {"shape":"SecurityGroupNotFound"} ], "documentation":"

Modifies the set of security groups in effect for a mount target.

When you create a mount target, Amazon EFS also creates a new network interface. For more information, see CreateMountTarget. This operation replaces the security groups in effect for the network interface associated with a mount target, with the SecurityGroups provided in the request. This operation requires that the network interface of the mount target has been created and the lifecycle state of the mount target is not deleted.

The operation requires permissions for the following actions:

  • elasticfilesystem:ModifyMountTargetSecurityGroups action on the mount target's file system.

  • ec2:ModifyNetworkInterfaceAttribute action on the mount target's network interface.

" + }, + "PutFileSystemPolicy":{ + "name":"PutFileSystemPolicy", + "http":{ + "method":"PUT", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/policy", + "responseCode":200 + }, + "input":{"shape":"PutFileSystemPolicyRequest"}, + "output":{"shape":"FileSystemPolicyDescription"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"InvalidPolicyException"}, + {"shape":"IncorrectFileSystemLifeCycleState"} + ], + "documentation":"

Applies an Amazon EFS FileSystemPolicy to an Amazon EFS file system. A file system policy is an IAM resource-based policy and can contain multiple policy statements. A file system always has exactly one file system policy, which can be the default policy or an explicit policy set or updated using this API operation. When an explicit policy is set, it overrides the default policy. For more information about the default file system policy, see Default EFS File System Policy.

This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy action.

" + }, + "PutLifecycleConfiguration":{ + "name":"PutLifecycleConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}/lifecycle-configuration", + "responseCode":200 + }, + "input":{"shape":"PutLifecycleConfigurationRequest"}, + "output":{"shape":"LifecycleConfigurationDescription"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncorrectFileSystemLifeCycleState"} + ], + "documentation":"

Enables lifecycle management by creating a new LifecycleConfiguration object. A LifecycleConfiguration object defines when files in an Amazon EFS file system are automatically transitioned to the lower-cost EFS Infrequent Access (IA) storage class. A LifecycleConfiguration applies to all files in a file system.

Each Amazon EFS file system supports one lifecycle configuration, which applies to all files in the file system. If a LifecycleConfiguration object already exists for the specified file system, a PutLifecycleConfiguration call modifies the existing configuration. A PutLifecycleConfiguration call with an empty LifecyclePolicies array in the request body deletes any existing LifecycleConfiguration and disables lifecycle management.

In the request, specify the following:

  • The ID for the file system for which you are enabling, disabling, or modifying lifecycle management.

  • A LifecyclePolicies array of LifecyclePolicy objects that define when files are moved to the IA storage class. The array can contain only one LifecyclePolicy item.

This operation requires permissions for the elasticfilesystem:PutLifecycleConfiguration operation.

To apply a LifecycleConfiguration object to an encrypted file system, you need the same AWS Key Management Service (AWS KMS) permissions as when you created the encrypted file system.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/2015-02-01/resource-tags/{ResourceId}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"AccessPointNotFound"} + ], + "documentation":"

Creates a tag for an EFS resource. You can create tags for EFS file systems and access points using this API operation.

This operation requires permissions for the elasticfilesystem:TagResource action.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/2015-02-01/resource-tags/{ResourceId}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"AccessPointNotFound"} + ], + "documentation":"

Removes tags from an EFS resource. You can remove tags from EFS file systems and access points using this API operation.

This operation requires permissions for the elasticfilesystem:UntagResource action.

" + }, + "UpdateFileSystem":{ + "name":"UpdateFileSystem", + "http":{ + "method":"PUT", + "requestUri":"/2015-02-01/file-systems/{FileSystemId}", + "responseCode":202 + }, + "input":{"shape":"UpdateFileSystemRequest"}, + "output":{"shape":"FileSystemDescription"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncorrectFileSystemLifeCycleState"}, + {"shape":"InsufficientThroughputCapacity"}, + {"shape":"InternalServerError"}, + {"shape":"ThroughputLimitExceeded"}, + {"shape":"TooManyRequests"} + ], + "documentation":"

Updates the throughput mode or the amount of provisioned throughput of an existing file system.

" } }, "shapes":{ + "AccessPointAlreadyExists":{ + "type":"structure", + "required":[ + "ErrorCode", + "AccessPointId" + ], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"}, + "AccessPointId":{"shape":"AccessPointId"} + }, + "documentation":"

Returned if the access point you are trying to create already exists, with the creation token you provided in the request.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "AccessPointArn":{"type":"string"}, + "AccessPointDescription":{ + "type":"structure", + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The opaque string specified in the request to ensure idempotent creation.

" + }, + "Name":{ + "shape":"Name", + "documentation":"

The name of the access point. This is the value of the Name tag.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags associated with the access point, presented as an array of Tag objects.

" + }, + "AccessPointId":{ + "shape":"AccessPointId", + "documentation":"

The ID of the access point, assigned by Amazon EFS.

" + }, + "AccessPointArn":{ + "shape":"AccessPointArn", + "documentation":"

The unique Amazon Resource Name (ARN) associated with the access point.

" + }, + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the EFS file system that the access point applies to.

" + }, + "PosixUser":{ + "shape":"PosixUser", + "documentation":"

The full POSIX identity, including the user ID, group ID, and secondary group IDs on the access point that is used for all file operations by NFS clients using the access point.

" + }, + "RootDirectory":{ + "shape":"RootDirectory", + "documentation":"

The directory on the Amazon EFS file system that the access point exposes as the root directory to NFS clients using the access point.

" + }, + "OwnerId":{ + "shape":"AwsAccountId", + "documentation":"

Identified the AWS account that owns the access point resource.

" + }, + "LifeCycleState":{ + "shape":"LifeCycleState", + "documentation":"

Identifies the lifecycle phase of the access point.

" + } + }, + "documentation":"

Provides a description of an EFS file system access point.

" + }, + "AccessPointDescriptions":{ + "type":"list", + "member":{"shape":"AccessPointDescription"} + }, + "AccessPointId":{"type":"string"}, + "AccessPointLimitExceeded":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if the AWS account has already created the maximum number of access points allowed per file system.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AccessPointNotFound":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if the specified AccessPointId value doesn't exist in the requester's AWS account.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "AvailabilityZoneId":{"type":"string"}, + "AvailabilityZoneName":{"type":"string"}, "AwsAccountId":{"type":"string"}, "BadRequest":{ "type":"structure", @@ -211,17 +513,74 @@ "error":{"httpStatusCode":400}, "exception":true }, + "BypassPolicyLockoutSafetyCheck":{"type":"boolean"}, + "ClientToken":{ + "type":"string", + "max":64, + "min":1 + }, + "CreateAccessPointRequest":{ + "type":"structure", + "required":[ + "ClientToken", + "FileSystemId" + ], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

A string of up to 64 ASCII characters that Amazon EFS uses to ensure idempotent creation.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Creates tags associated with the access point. Each tag is a key-value pair.

" + }, + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the EFS file system that the access point provides access to.

" + }, + "PosixUser":{ + "shape":"PosixUser", + "documentation":"

The operating system user and group applied to all file system requests made using the access point.

" + }, + "RootDirectory":{ + "shape":"RootDirectory", + "documentation":"

Specifies the directory on the Amazon EFS file system that the access point exposes as the root directory of your file system to NFS clients using the access point. The clients using the access point can only access the root directory and below. If the RootDirectory > Path specified does not exist, EFS creates it and applies the CreationInfo settings when a client connects to an access point. When specifying a RootDirectory, you need to provide the Path, and the CreationInfo is optional.

" + } + } + }, "CreateFileSystemRequest":{ "type":"structure", "required":["CreationToken"], "members":{ "CreationToken":{ "shape":"CreationToken", - "documentation":"

String of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

" + "documentation":"

A string of up to 64 ASCII characters. Amazon EFS uses this to ensure idempotent creation.

", + "idempotencyToken":true }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. This can't be changed after the file system has been created.

" + "documentation":"

The performance mode of the file system. We recommend generalPurpose performance mode for most file systems. File systems using the maxIO performance mode can scale to higher levels of aggregate throughput and operations per second with a tradeoff of slightly higher latencies for most file operations. The performance mode can't be changed after the file system has been created.

" + }, + "Encrypted":{ + "shape":"Encrypted", + "documentation":"

A Boolean value that, if true, creates an encrypted file system. When creating an encrypted file system, you have the option of specifying CreateFileSystemRequest$KmsKeyId for an existing AWS Key Management Service (AWS KMS) customer master key (CMK). If you don't specify a CMK, then the default CMK for Amazon EFS, /aws/elasticfilesystem, is used to protect the encrypted file system.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of the AWS KMS CMK to be used to protect the encrypted file system. This parameter is only required if you want to use a nondefault CMK. If this parameter is not specified, the default CMK for Amazon EFS is used. This ID can be in one of the following formats:

  • Key ID - A unique identifier of the key, for example 1234abcd-12ab-34cd-56ef-1234567890ab.

  • ARN - An Amazon Resource Name (ARN) for the key, for example arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  • Key alias - A previously created display name for a key, for example alias/projectKey1.

  • Key alias ARN - An ARN for a key alias, for example arn:aws:kms:us-west-2:444455556666:alias/projectKey1.

If KmsKeyId is specified, the CreateFileSystemRequest$Encrypted parameter must be set to true.

EFS accepts only symmetric CMKs. You cannot use asymmetric CMKs with EFS file systems.

" + }, + "ThroughputMode":{ + "shape":"ThroughputMode", + "documentation":"

The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change. For more, see Specifying Throughput with Provisioned Mode in the Amazon EFS User Guide.

" + }, + "ProvisionedThroughputInMibps":{ + "shape":"ProvisionedThroughputInMibps", + "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The upper limit for throughput is 1024 MiB/s. You can get this limit increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A value that specifies to create one or more tags associated with the file system. Each tag is a user-defined key-value pair. Name your file system on creation by including a \"Key\":\"Name\",\"Value\":\"{value}\" key-value pair.

" } } }, @@ -234,11 +593,11 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system for which to create the mount target.

" + "documentation":"

The ID of the file system for which to create the mount target.

" }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

ID of the subnet to add the mount target in.

" + "documentation":"

The ID of the subnet to add the mount target in.

" }, "IpAddress":{ "shape":"IpAddress", @@ -260,29 +619,76 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", + "documentation":"

The ID of the file system whose tags you want to modify (String). This operation modifies the tags only, not the file system.

", "location":"uri", "locationName":"FileSystemId" }, "Tags":{ "shape":"Tags", - "documentation":"

Array of Tag objects to add. Each Tag object is a key-value pair.

" + "documentation":"

An array of Tag objects to add. Each Tag object is a key-value pair.

" } }, "documentation":"

" }, + "CreationInfo":{ + "type":"structure", + "required":[ + "OwnerUid", + "OwnerGid", + "Permissions" + ], + "members":{ + "OwnerUid":{ + "shape":"OwnerUid", + "documentation":"

Specifies the POSIX user ID to apply to the RootDirectory. Accepts values from 0 to 2^32 (4294967295).

" + }, + "OwnerGid":{ + "shape":"OwnerGid", + "documentation":"

Specifies the POSIX group ID to apply to the RootDirectory. Accepts values from 0 to 2^32 (4294967295).

" + }, + "Permissions":{ + "shape":"Permissions", + "documentation":"

Specifies the POSIX permissions to apply to the RootDirectory, in the format of an octal number representing the file's mode bits.

" + } + }, + "documentation":"

Required if the RootDirectory > Path specified does not exist. Specifies the POSIX IDs and permissions to apply to the access point's RootDirectory > Path. If the access point root directory does not exist, EFS creates it with these settings when a client connects to the access point. When specifying CreationInfo, you must include values for all properties.

If you do not provide CreationInfo and the specified RootDirectory does not exist, attempts to mount the file system using the access point will fail.

" + }, "CreationToken":{ "type":"string", "max":64, "min":1 }, + "DeleteAccessPointRequest":{ + "type":"structure", + "required":["AccessPointId"], + "members":{ + "AccessPointId":{ + "shape":"AccessPointId", + "documentation":"

The ID of the access point that you want to delete.

", + "location":"uri", + "locationName":"AccessPointId" + } + } + }, + "DeleteFileSystemPolicyRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

Specifies the EFS file system for which to delete the FileSystemPolicy.

", + "location":"uri", + "locationName":"FileSystemId" + } + } + }, "DeleteFileSystemRequest":{ "type":"structure", "required":["FileSystemId"], "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system you want to delete.

", + "documentation":"

The ID of the file system you want to delete.

", "location":"uri", "locationName":"FileSystemId" } @@ -295,7 +701,7 @@ "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target to delete (String).

", + "documentation":"

The ID of the mount target to delete (String).

", "location":"uri", "locationName":"MountTargetId" } @@ -311,13 +717,13 @@ "members":{ "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tags you want to delete (String).

", + "documentation":"

The ID of the file system whose tags you want to delete (String).

", "location":"uri", "locationName":"FileSystemId" }, "TagKeys":{ "shape":"TagKeys", - "documentation":"

List of tag keys to delete.

" + "documentation":"

A list of tag keys to delete.

" } }, "documentation":"

" @@ -333,12 +739,66 @@ "error":{"httpStatusCode":504}, "exception":true }, + "DescribeAccessPointsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) When retrieving all access points for a file system, you can optionally specify the MaxItems parameter to limit the number of objects returned in a response. The default value is 100.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

NextToken is present if the response is paginated. You can use NextMarker in the subsequent request to fetch the next page of access point descriptions.

", + "location":"querystring", + "locationName":"NextToken" + }, + "AccessPointId":{ + "shape":"AccessPointId", + "documentation":"

(Optional) Specifies an EFS access point to describe in the response; mutually exclusive with FileSystemId.

", + "location":"querystring", + "locationName":"AccessPointId" + }, + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

(Optional) If you provide a FileSystemId, EFS returns all access points for that file system; mutually exclusive with AccessPointId.

", + "location":"querystring", + "locationName":"FileSystemId" + } + } + }, + "DescribeAccessPointsResponse":{ + "type":"structure", + "members":{ + "AccessPoints":{ + "shape":"AccessPointDescriptions", + "documentation":"

An array of access point descriptions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

Present if there are more access points than returned in the response. You can use the NextMarker in the subsequent request to fetch the additional descriptions.

" + } + } + }, + "DescribeFileSystemPolicyRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

Specifies which EFS file system to retrieve the FileSystemPolicy for.

", + "location":"uri", + "locationName":"FileSystemId" + } + } + }, "DescribeFileSystemsRequest":{ "type":"structure", "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Specifies the maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon EFS returns is the minimum of the MaxItems parameter specified in the request and the service's internal maximum number of items per page.

", + "documentation":"

(Optional) Specifies the maximum number of file systems to return in the response (integer). This number is automatically set to 100. The response is paginated at 100 per page if you have more than 100 file systems.

", "location":"querystring", "locationName":"MaxItems" }, @@ -372,7 +832,7 @@ }, "FileSystems":{ "shape":"FileSystemDescriptions", - "documentation":"

Array of file system descriptions.

" + "documentation":"

An array of file system descriptions.

" }, "NextMarker":{ "shape":"Marker", @@ -380,13 +840,25 @@ } } }, + "DescribeLifecycleConfigurationRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system whose LifecycleConfiguration object you want to retrieve (String).

", + "location":"uri", + "locationName":"FileSystemId" + } + } + }, "DescribeMountTargetSecurityGroupsRequest":{ "type":"structure", "required":["MountTargetId"], "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to retrieve.

", + "documentation":"

The ID of the mount target whose security groups you want to retrieve.

", "location":"uri", "locationName":"MountTargetId" } @@ -399,7 +871,7 @@ "members":{ "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

Array of security groups.

" + "documentation":"

An array of security groups.

" } } }, @@ -408,7 +880,7 @@ "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of mount targets to return in the response. It must be an integer with a value greater than zero.

", + "documentation":"

(Optional) Maximum number of mount targets to return in the response. Currently, this number is automatically set to 10, and other values are ignored. The response is paginated at 100 per page if you have more than 100 mount targets.

", "location":"querystring", "locationName":"MaxItems" }, @@ -420,15 +892,21 @@ }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

(Optional) ID of the file system whose mount targets you want to list (String). It must be included in your request if MountTargetId is not included.

", + "documentation":"

(Optional) ID of the file system whose mount targets you want to list (String). It must be included in your request if an AccessPointId or MountTargetId is not included. Accepts either a file system ID or ARN as input.

", "location":"querystring", "locationName":"FileSystemId" }, "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

(Optional) ID of the mount target that you want to have described (String). It must be included in your request if FileSystemId is not included.

", + "documentation":"

(Optional) ID of the mount target that you want to have described (String). It must be included in your request if FileSystemId is not included. Accepts either a mount target ID or ARN as input.

", "location":"querystring", "locationName":"MountTargetId" + }, + "AccessPointId":{ + "shape":"AccessPointId", + "documentation":"

(Optional) The ID of the access point whose mount targets that you want to list. It must be included in your request if a FileSystemId or MountTargetId is not included in your request. Accepts either an access point ID or ARN as input.

", + "location":"querystring", + "locationName":"AccessPointId" } }, "documentation":"

" @@ -457,19 +935,19 @@ "members":{ "MaxItems":{ "shape":"MaxItems", - "documentation":"

(Optional) Maximum number of file system tags to return in the response. It must be an integer with a value greater than zero.

", + "documentation":"

(Optional) The maximum number of file system tags to return in the response. Currently, this number is automatically set to 100, and other values are ignored. The response is paginated at 100 per page if you have more than 100 tags.

", "location":"querystring", "locationName":"MaxItems" }, "Marker":{ "shape":"Marker", - "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.

", + "documentation":"

(Optional) An opaque pagination token returned from a previous DescribeTags operation (String). If present, it specifies to continue the list from where the previous call left off.

", "location":"querystring", "locationName":"Marker" }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system whose tag set you want to retrieve.

", + "documentation":"

The ID of the file system whose tag set you want to retrieve.

", "location":"uri", "locationName":"FileSystemId" } @@ -495,6 +973,7 @@ }, "documentation":"

" }, + "Encrypted":{"type":"boolean"}, "ErrorCode":{ "type":"string", "min":1 @@ -525,47 +1004,68 @@ "LifeCycleState", "NumberOfMountTargets", "SizeInBytes", - "PerformanceMode" + "PerformanceMode", + "Tags" ], "members":{ "OwnerId":{ "shape":"AwsAccountId", - "documentation":"

AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.

" + "documentation":"

The AWS account that created the file system. If the file system was created by an IAM user, the parent account to which the user belongs is the owner.

" }, "CreationToken":{ "shape":"CreationToken", - "documentation":"

Opaque string specified in the request.

" + "documentation":"

The opaque string specified in the request.

" }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system, assigned by Amazon EFS.

" + "documentation":"

The ID of the file system, assigned by Amazon EFS.

" }, "CreationTime":{ "shape":"Timestamp", - "documentation":"

Time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

" + "documentation":"

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z).

" }, "LifeCycleState":{ "shape":"LifeCycleState", - "documentation":"

Lifecycle phase of the file system.

" + "documentation":"

The lifecycle phase of the file system.

" }, "Name":{ "shape":"TagValue", - "documentation":"

You can add tags to a file system, including a Name tag. For more information, see CreateTags. If the file system has a Name tag, Amazon EFS returns the value in this field.

" + "documentation":"

You can add tags to a file system, including a Name tag. For more information, see CreateFileSystem. If the file system has a Name tag, Amazon EFS returns the value in this field.

" }, "NumberOfMountTargets":{ "shape":"MountTargetCount", - "documentation":"

Current number of mount targets that the file system has. For more information, see CreateMountTarget.

" + "documentation":"

The current number of mount targets that the file system has. For more information, see CreateMountTarget.

" }, "SizeInBytes":{ "shape":"FileSystemSize", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in bytes, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size the file system was at any instant in time.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The Timestamp value is the integer number of seconds since 1970-01-01T00:00:00Z. The SizeInBytes value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, SizeInBytes represents actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not the exact size that the file system was at any point in time.

" }, "PerformanceMode":{ "shape":"PerformanceMode", - "documentation":"

The PerformanceMode of the file system.

" + "documentation":"

The performance mode of the file system.

" + }, + "Encrypted":{ + "shape":"Encrypted", + "documentation":"

A Boolean value that, if true, indicates that the file system is encrypted.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of an AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the encrypted file system.

" + }, + "ThroughputMode":{ + "shape":"ThroughputMode", + "documentation":"

The throughput mode for a file system. There are two throughput modes to choose from for your file system: bursting and provisioned. If you set ThroughputMode to provisioned, you must also set a value for ProvisionedThroughPutInMibps. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.

" + }, + "ProvisionedThroughputInMibps":{ + "shape":"ProvisionedThroughputInMibps", + "documentation":"

The throughput, measured in MiB/s, that you want to provision for a file system. Valid values are 1-1024. Required if ThroughputMode is set to provisioned. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon EFS User Guide.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags associated with the file system, presented as an array of Tag objects.

" } }, - "documentation":"

Description of the file system.

" + "documentation":"

A description of the file system.

" }, "FileSystemDescriptions":{ "type":"list", @@ -590,7 +1090,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Returned if the AWS account has already created maximum number of file systems allowed per account.

", + "documentation":"

Returned if the AWS account has already created the maximum number of file systems allowed per account.

", "error":{"httpStatusCode":403}, "exception":true }, @@ -601,29 +1101,59 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Returned if the specified FileSystemId does not exist in the requester's AWS account.

", + "documentation":"

Returned if the specified FileSystemId value doesn't exist in the requester's AWS account.

", "error":{"httpStatusCode":404}, "exception":true }, + "FileSystemNullableSizeValue":{ + "type":"long", + "min":0 + }, + "FileSystemPolicyDescription":{ + "type":"structure", + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

Specifies the EFS file system to which the FileSystemPolicy applies.

" + }, + "Policy":{ + "shape":"Policy", + "documentation":"

The JSON formatted FileSystemPolicy for the EFS file system.

" + } + } + }, "FileSystemSize":{ "type":"structure", "required":["Value"], "members":{ "Value":{ "shape":"FileSystemSizeValue", - "documentation":"

Latest known metered size (in bytes) of data stored in the file system.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system.

" }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

Time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" + "documentation":"

The time at which the size of data, returned in the Value field, was determined. The value is the integer number of seconds since 1970-01-01T00:00:00Z.

" + }, + "ValueInIA":{ + "shape":"FileSystemNullableSizeValue", + "documentation":"

The latest known metered size (in bytes) of data stored in the Infrequent Access storage class.

" + }, + "ValueInStandard":{ + "shape":"FileSystemNullableSizeValue", + "documentation":"

The latest known metered size (in bytes) of data stored in the Standard storage class.

" } }, - "documentation":"

Latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. Note that the value does not represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value will represent the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

" + "documentation":"

The latest known metered size (in bytes) of data stored in the file system, in its Value field, and the time at which that size was determined in its Timestamp field. The value doesn't represent the size of a consistent snapshot of the file system, but it is eventually consistent when there are no writes to the file system. That is, the value represents the actual size only if the file system is not modified for a period longer than a couple of hours. Otherwise, the value is not necessarily the exact size the file system was at any instant in time.

" }, "FileSystemSizeValue":{ "type":"long", "min":0 }, + "Gid":{ + "type":"long", + "max":4294967295, + "min":0 + }, "IncorrectFileSystemLifeCycleState":{ "type":"structure", "required":["ErrorCode"], @@ -631,7 +1161,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Returned if the file system's life cycle state is not \"created\".

", + "documentation":"

Returned if the file system's lifecycle state is not \"available\".

", "error":{"httpStatusCode":409}, "exception":true }, @@ -646,6 +1176,17 @@ "error":{"httpStatusCode":409}, "exception":true }, + "InsufficientThroughputCapacity":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if there's not enough capacity to provision additional throughput. This value might be returned when you try to create a file system in provisioned throughput mode, when you attempt to increase the provisioned throughput of an existing file system, or when you attempt to change an existing file system from bursting to provisioned throughput mode.

", + "error":{"httpStatusCode":503}, + "exception":true + }, "InternalServerError":{ "type":"structure", "required":["ErrorCode"], @@ -657,6 +1198,16 @@ "error":{"httpStatusCode":500}, "exception":true }, + "InvalidPolicyException":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if the FileSystemPolicy is is malformed or contains an error such as an invalid parameter value or a missing required parameter. Returned in the case of a policy lockout safety check error.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "IpAddress":{"type":"string"}, "IpAddressInUse":{ "type":"structure", @@ -669,33 +1220,103 @@ "error":{"httpStatusCode":409}, "exception":true }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1 + }, "LifeCycleState":{ "type":"string", "enum":[ "creating", "available", + "updating", "deleting", "deleted" ] }, + "LifecycleConfigurationDescription":{ + "type":"structure", + "members":{ + "LifecyclePolicies":{ + "shape":"LifecyclePolicies", + "documentation":"

An array of lifecycle management policies. Currently, EFS supports a maximum of one policy per file system.

" + } + } + }, + "LifecyclePolicies":{ + "type":"list", + "member":{"shape":"LifecyclePolicy"} + }, + "LifecyclePolicy":{ + "type":"structure", + "members":{ + "TransitionToIA":{ + "shape":"TransitionToIARules", + "documentation":"

A value that describes the period of time that a file is not accessed, after which it transitions to the IA storage class. Metadata operations such as listing the contents of a directory don't count as file access events.

" + } + }, + "documentation":"

Describes a policy used by EFS lifecycle management to transition files to the Infrequent Access (IA) storage class.

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

Specifies the EFS resource you want to retrieve tags for. You can retrieve tags for EFS file systems and access points using this API endpoint.

", + "location":"uri", + "locationName":"ResourceId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Specifies the maximum number of tag objects to return in the response. The default value is 100.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

You can use NextToken in a subsequent request to fetch the next page of access point descriptions if the response payload was paginated.

", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

An array of the tags for the specified EFS resource.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

NextToken is present if the response payload is paginated. You can use NextToken in a subsequent request to fetch the next page of access point descriptions.

" + } + } + }, "Marker":{"type":"string"}, "MaxItems":{ "type":"integer", "min":1 }, + "MaxResults":{ + "type":"integer", + "min":1 + }, "ModifyMountTargetSecurityGroupsRequest":{ "type":"structure", "required":["MountTargetId"], "members":{ "MountTargetId":{ "shape":"MountTargetId", - "documentation":"

ID of the mount target whose security groups you want to modify.

", + "documentation":"

The ID of the mount target whose security groups you want to modify.

", "location":"uri", "locationName":"MountTargetId" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

Array of up to five VPC security group IDs.

" + "documentation":"

An array of up to five VPC security group IDs.

" } }, "documentation":"

" @@ -734,11 +1355,11 @@ }, "FileSystemId":{ "shape":"FileSystemId", - "documentation":"

ID of the file system for which the mount target is intended.

" + "documentation":"

The ID of the file system for which the mount target is intended.

" }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

ID of the mount target's subnet.

" + "documentation":"

The ID of the mount target's subnet.

" }, "LifeCycleState":{ "shape":"LifeCycleState", @@ -746,11 +1367,19 @@ }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

Address at which the file system may be mounted via the mount target.

" + "documentation":"

Address at which the file system can be mounted by using the mount target.

" }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", - "documentation":"

ID of the network interface that Amazon EFS created when it created the mount target.

" + "documentation":"

The ID of the network interface that Amazon EFS created when it created the mount target.

" + }, + "AvailabilityZoneId":{ + "shape":"AvailabilityZoneId", + "documentation":"

The unique and consistent identifier of the Availability Zone (AZ) that the mount target resides in. For example, use1-az1 is an AZ ID for the us-east-1 Region and it has the same location in every AWS account.

" + }, + "AvailabilityZoneName":{ + "shape":"AvailabilityZoneName", + "documentation":"

The name of the Availability Zone (AZ) that the mount target resides in. AZs are independently mapped to names for each AWS account. For example, the Availability Zone us-east-1a for your AWS account might not be the same location as us-east-1a for another AWS account.

" } }, "documentation":"

Provides a description of a mount target.

" @@ -771,6 +1400,7 @@ "error":{"httpStatusCode":404}, "exception":true }, + "Name":{"type":"string"}, "NetworkInterfaceId":{"type":"string"}, "NetworkInterfaceLimitExceeded":{ "type":"structure", @@ -779,7 +1409,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

The calling account has reached the ENI limit for the specific AWS region. Client should try to delete some ENIs or get its account limit raised. For more information, see Amazon VPC Limits in the Amazon Virtual Private Cloud User Guide (see the Network interfaces per VPC entry in the table).

", + "documentation":"

The calling account has reached the limit for elastic network interfaces for the specific AWS Region. The client should try to delete some elastic network interfaces or get the account limit raised. For more information, see Amazon VPC Limits in the Amazon VPC User Guide (see the Network interfaces per VPC entry in the table).

", "error":{"httpStatusCode":409}, "exception":true }, @@ -794,6 +1424,21 @@ "error":{"httpStatusCode":409}, "exception":true }, + "OwnerGid":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "OwnerUid":{ + "type":"long", + "max":4294967295, + "min":0 + }, + "Path":{ + "type":"string", + "max":100, + "min":1 + }, "PerformanceMode":{ "type":"string", "enum":[ @@ -801,6 +1446,110 @@ "maxIO" ] }, + "Permissions":{ + "type":"string", + "pattern":"^[0-7]{3,4}$" + }, + "Policy":{"type":"string"}, + "PolicyNotFound":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if the default file system policy is in effect for the EFS file system specified.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "PosixUser":{ + "type":"structure", + "required":[ + "Uid", + "Gid" + ], + "members":{ + "Uid":{ + "shape":"Uid", + "documentation":"

The POSIX user ID used for all file system operations using this access point.

" + }, + "Gid":{ + "shape":"Gid", + "documentation":"

The POSIX group ID used for all file system operations using this access point.

" + }, + "SecondaryGids":{ + "shape":"SecondaryGids", + "documentation":"

Secondary POSIX group IDs used for all file system operations using this access point.

" + } + }, + "documentation":"

The full POSIX identity, including the user ID, group ID, and any secondary group IDs, on the access point that is used for all file system operations performed by NFS clients using the access point.

" + }, + "ProvisionedThroughputInMibps":{ + "type":"double", + "min":1.0 + }, + "PutFileSystemPolicyRequest":{ + "type":"structure", + "required":[ + "FileSystemId", + "Policy" + ], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the EFS file system that you want to create or update the FileSystemPolicy for.

", + "location":"uri", + "locationName":"FileSystemId" + }, + "Policy":{ + "shape":"Policy", + "documentation":"

The FileSystemPolicy that you're creating. Accepts a JSON formatted policy definition. To find out more about the elements that make up a file system policy, see EFS Resource-based Policies.

" + }, + "BypassPolicyLockoutSafetyCheck":{ + "shape":"BypassPolicyLockoutSafetyCheck", + "documentation":"

(Optional) A flag to indicate whether to bypass the FileSystemPolicy lockout safety check. The policy lockout safety check determines whether the policy in the request will prevent the principal making the request will be locked out from making future PutFileSystemPolicy requests on the file system. Set BypassPolicyLockoutSafetyCheck to True only when you intend to prevent the principal that is making the request from making a subsequent PutFileSystemPolicy request on the file system. The default value is False.

" + } + } + }, + "PutLifecycleConfigurationRequest":{ + "type":"structure", + "required":[ + "FileSystemId", + "LifecyclePolicies" + ], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system for which you are creating the LifecycleConfiguration object (String).

", + "location":"uri", + "locationName":"FileSystemId" + }, + "LifecyclePolicies":{ + "shape":"LifecyclePolicies", + "documentation":"

An array of LifecyclePolicy objects that define the file system's LifecycleConfiguration object. A LifecycleConfiguration object tells lifecycle management when to transition files from the Standard storage class to the Infrequent Access storage class.

" + } + } + }, + "ResourceId":{"type":"string"}, + "RootDirectory":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"Path", + "documentation":"

Specifies the path on the EFS file system to expose as the root directory to NFS clients using the access point to access the EFS file system. A path can have up to four subdirectories. If the specified path does not exist, you are required to provide the CreationInfo.

" + }, + "CreationInfo":{ + "shape":"CreationInfo", + "documentation":"

(Optional) Specifies the POSIX IDs and permissions to apply to the access point's RootDirectory. If the RootDirectory > Path specified does not exist, EFS creates the root directory using the CreationInfo settings when a client connects to an access point. When specifying the CreationInfo, you must provide values for all properties.

If you do not provide CreationInfo and the specified RootDirectory > Path does not exist, attempts to mount the file system using the access point will fail.

" + } + }, + "documentation":"

Specifies the directory on the Amazon EFS file system that the access point provides access to. The access point exposes the specified file system path as the root directory of your file system to applications using the access point. NFS clients using the access point can only access data in the access point's RootDirectory and it's subdirectories.

" + }, + "SecondaryGids":{ + "type":"list", + "member":{"shape":"Gid"}, + "max":16, + "min":0 + }, "SecurityGroup":{"type":"string"}, "SecurityGroupLimitExceeded":{ "type":"structure", @@ -820,7 +1569,7 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, - "documentation":"

Returned if one of the specified security groups does not exist in the subnet's VPC.

", + "documentation":"

Returned if one of the specified security groups doesn't exist in the subnet's VPC.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -850,14 +1599,14 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

Tag key (String). The key can't start with aws:.

" + "documentation":"

The tag key (String). The key can't start with aws:.

" }, "Value":{ "shape":"TagValue", - "documentation":"

Value of the tag key.

" + "documentation":"

The value of the tag key.

" } }, - "documentation":"

A tag is a key-value pair. Allowed characters: letters, whitespace, and numbers, representable in UTF-8, and the following characters: + - = . _ : /

" + "documentation":"

A tag is a key-value pair. Allowed characters are letters, white space, and numbers that can be represented in UTF-8, and the following characters: + - = . _ : /

" }, "TagKey":{ "type":"string", @@ -866,7 +1615,28 @@ }, "TagKeys":{ "type":"list", - "member":{"shape":"TagKey"} + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Tags" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The ID specifying the EFS resource that you want to create a tag for.

", + "location":"uri", + "locationName":"ResourceId" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

" + } + } }, "TagValue":{ "type":"string", @@ -876,7 +1646,52 @@ "type":"list", "member":{"shape":"Tag"} }, + "ThroughputLimitExceeded":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if the throughput mode or amount of provisioned throughput can't be changed because the throughput limit of 1024 MiB/s has been reached.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ThroughputMode":{ + "type":"string", + "enum":[ + "bursting", + "provisioned" + ] + }, "Timestamp":{"type":"timestamp"}, + "Token":{"type":"string"}, + "TooManyRequests":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"ErrorCode"}, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Returned if you don’t wait at least 24 hours before changing the throughput mode, or decreasing the Provisioned Throughput value.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TransitionToIARules":{ + "type":"string", + "enum":[ + "AFTER_7_DAYS", + "AFTER_14_DAYS", + "AFTER_30_DAYS", + "AFTER_60_DAYS", + "AFTER_90_DAYS" + ] + }, + "Uid":{ + "type":"long", + "max":4294967295, + "min":0 + }, "UnsupportedAvailabilityZone":{ "type":"structure", "required":["ErrorCode"], @@ -884,9 +1699,51 @@ "ErrorCode":{"shape":"ErrorCode"}, "Message":{"shape":"ErrorMessage"} }, + "documentation":"

", "error":{"httpStatusCode":400}, "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagKeys" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

Specifies the EFS resource that you want to remove tags from.

", + "location":"uri", + "locationName":"ResourceId" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

The keys of the key:value tag pairs that you want to remove from the specified EFS resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UpdateFileSystemRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system that you want to update.

", + "location":"uri", + "locationName":"FileSystemId" + }, + "ThroughputMode":{ + "shape":"ThroughputMode", + "documentation":"

(Optional) The throughput mode that you want your file system to use. If you're not updating your throughput mode, you don't need to provide this value in your request. If you are changing the ThroughputMode to provisioned, you must also set a value for ProvisionedThroughputInMibps.

" + }, + "ProvisionedThroughputInMibps":{ + "shape":"ProvisionedThroughputInMibps", + "documentation":"

(Optional) The amount of throughput, in MiB/s, that you want to provision for your file system. Valid values are 1-1024. Required if ThroughputMode is changed to provisioned on update. If you're not updating the amount of provisioned throughput for your file system, you don't need to provide this value in your request.

" + } + } } }, - "documentation":"Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide.

" + "documentation":"Amazon Elastic File System

Amazon Elastic File System (Amazon EFS) provides simple, scalable file storage for use with Amazon EC2 instances in the AWS Cloud. With Amazon EFS, storage capacity is elastic, growing and shrinking automatically as you add and remove files, so your applications have the storage they need, when they need it. For more information, see the User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/eks/2017-11-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/examples-1.json --- python-botocore-1.4.70/botocore/data/eks/2017-11-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,114 @@ +{ + "version": "1.0", + "examples": { + "CreateCluster": [ + { + "input": { + "version": "1.10", + "name": "prod", + "clientRequestToken": "1d2129a1-3d38-460a-9756-e5b91fddb951", + "resourcesVpcConfig": { + "securityGroupIds": [ + "sg-6979fe18" + ], + "subnetIds": [ + "subnet-6782e71e", + "subnet-e7e761ac" + ] + }, + "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an Amazon EKS cluster called prod.", + "id": "to-create-a-new-cluster-1527868185648", + "title": "To create a new cluster" + } + ], + "DeleteCluster": [ + { + "input": { + "name": "devel" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command deletes a cluster named `devel` in your default region.", + "id": "to-delete-a-cluster-1527868641252", + "title": "To delete a cluster" + } + ], + "DescribeCluster": [ + { + "input": { + "name": "devel" + }, + "output": { + "cluster": { + "version": "1.10", + "name": "devel", + "arn": "arn:aws:eks:us-west-2:012345678910:cluster/devel", + "certificateAuthority": { + "data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRFNE1EVXpNVEl6TVRFek1Wb1hEVEk0TURVeU9ESXpNVEV6TVZvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBTTZWCjVUaG4rdFcySm9Xa2hQMzRlVUZMNitaRXJOZGIvWVdrTmtDdWNGS2RaaXl2TjlMVmdvUmV2MjlFVFZlN1ZGbSsKUTJ3ZURyRXJiQyt0dVlibkFuN1ZLYmE3ay9hb1BHekZMdmVnb0t6b0M1N2NUdGVwZzRIazRlK2tIWHNaME10MApyb3NzcjhFM1ROeExETnNJTThGL1cwdjhsTGNCbWRPcjQyV2VuTjFHZXJnaDNSZ2wzR3JIazBnNTU0SjFWenJZCm9hTi8zODFUczlOTFF2QTBXb0xIcjBFRlZpTFdSZEoyZ3lXaC9ybDVyOFNDOHZaQXg1YW1BU0hVd01aTFpWRC8KTDBpOW4wRVM0MkpVdzQyQmxHOEdpd3NhTkJWV3lUTHZKclNhRXlDSHFtVVZaUTFDZkFXUjl0L3JleVVOVXM3TApWV1FqM3BFbk9RMitMSWJrc0RzQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFNZ3RsQ1dIQ2U2YzVHMXl2YlFTS0Q4K2hUalkKSm1NSG56L2EvRGt0WG9YUjFVQzIrZUgzT1BZWmVjRVZZZHVaSlZCckNNQ2VWR0ZkeWdBYlNLc1FxWDg0S2RXbAp1MU5QaERDSmEyRHliN2pVMUV6VThTQjFGZUZ5ZFE3a0hNS1E1blpBRVFQOTY4S01hSGUrSm0yQ2x1UFJWbEJVCjF4WlhTS1gzTVZ0K1Q0SU1EV2d6c3JRSjVuQkRjdEtLcUZtM3pKdVVubHo5ZEpVckdscEltMjVJWXJDckxYUFgKWkUwRUtRNWEzMHhkVWNrTHRGQkQrOEtBdFdqSS9yZUZPNzM1YnBMdVoyOTBaNm42QlF3elRrS0p4cnhVc3QvOAppNGsxcnlsaUdWMm5SSjBUYjNORkczNHgrYWdzYTRoSTFPbU90TFM0TmgvRXJxT3lIUXNDc2hEQUtKUT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=" + }, + "createdAt": 1527807879.988, + "endpoint": "https://A0DCCD80A04F01705DD065655C30CC3D.yl4.us-west-2.eks.amazonaws.com", + "resourcesVpcConfig": { + "securityGroupIds": [ + "sg-6979fe18" + ], + "subnetIds": [ + "subnet-6782e71e", + "subnet-e7e761ac" + ], + "vpcId": "vpc-950809ec" + }, + "roleArn": "arn:aws:iam::012345678910:role/eks-service-role-AWSServiceRoleForAmazonEKS-J7ONKE3BQ4PI", + "status": "ACTIVE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command provides a description of the specified cluster in your default region.", + "id": "to-describe-a-cluster-1527868708512", + "title": "To describe a cluster" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "clusters": [ + "devel", + "prod" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example command lists all of your available clusters in your default region.", + "id": "to-list-your-available-clusters-1527868801040", + "title": "To list your available clusters" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/eks/2017-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/eks/2017-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListClusters": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "clusters" + }, + "ListUpdates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "updateIds" + }, + "ListNodegroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "nodegroups" + }, + "ListFargateProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "fargateProfileNames" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/eks/2017-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/eks/2017-11-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2043 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-01", + "endpointPrefix":"eks", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon EKS", + "serviceFullName":"Amazon Elastic Kubernetes Service", + "serviceId":"EKS", + "signatureVersion":"v4", + "signingName":"eks", + "uid":"eks-2017-11-01" + }, + "operations":{ + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/clusters" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnsupportedAvailabilityZoneException"} + ], + "documentation":"

Creates an Amazon EKS control plane.

The Amazon EKS control plane consists of control plane instances that run the Kubernetes software, such as etcd and the API server. The control plane runs in an account managed by AWS, and the Kubernetes API is exposed via the Amazon EKS API server endpoint. Each Amazon EKS cluster control plane is single-tenant and unique and runs on its own set of Amazon EC2 instances.

The cluster control plane is provisioned across multiple Availability Zones and fronted by an Elastic Load Balancing Network Load Balancer. Amazon EKS also provisions elastic network interfaces in your VPC subnets to provide connectivity from the control plane instances to the worker nodes (for example, to support kubectl exec, logs, and proxy data flows).

Amazon EKS worker nodes run in your AWS account and connect to your cluster's control plane via the Kubernetes API server endpoint and a certificate file that is created for your cluster.

You can use the endpointPublicAccess and endpointPrivateAccess parameters to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

You can use the logging parameter to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

Cluster creation typically takes between 10 and 15 minutes. After you create an Amazon EKS cluster, you must configure your Kubernetes tooling to communicate with the API server and launch worker nodes into your cluster. For more information, see Managing Cluster Authentication and Launching Amazon EKS Worker Nodes in the Amazon EKS User Guide.

" + }, + "CreateFargateProfile":{ + "name":"CreateFargateProfile", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/fargate-profiles" + }, + "input":{"shape":"CreateFargateProfileRequest"}, + "output":{"shape":"CreateFargateProfileResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"UnsupportedAvailabilityZoneException"} + ], + "documentation":"

Creates an AWS Fargate profile for your Amazon EKS cluster. You must have at least one Fargate profile in a cluster to be able to run pods on Fargate.

The Fargate profile allows an administrator to declare which pods run on Fargate and specify which pods run on which Fargate profile. This declaration is done through the profile’s selectors. Each profile can have up to five selectors that contain a namespace and labels. A namespace is required for every selector. The label field consists of multiple optional key-value pairs. Pods that match the selectors are scheduled on Fargate. If a to-be-scheduled pod matches any of the selectors in the Fargate profile, then that pod is run on Fargate.

When you create a Fargate profile, you must specify a pod execution role to use with the pods that are scheduled with the profile. This role is added to the cluster's Kubernetes Role Based Access Control (RBAC) for authorization so that the kubelet that is running on the Fargate infrastructure can register with your Amazon EKS cluster so that it can appear in your cluster as a node. The pod execution role also provides IAM permissions to the Fargate infrastructure to allow read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide.

Fargate profiles are immutable. However, you can create a new updated profile to replace an existing profile and then delete the original after the updated profile has finished creating.

If any Fargate profiles in a cluster are in the DELETING status, you must wait for that Fargate profile to finish deleting before you can create any other profiles in that cluster.

For more information, see AWS Fargate Profile in the Amazon EKS User Guide.

" + }, + "CreateNodegroup":{ + "name":"CreateNodegroup", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/node-groups" + }, + "input":{"shape":"CreateNodegroupRequest"}, + "output":{"shape":"CreateNodegroupResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a managed worker node group for an Amazon EKS cluster. You can only create a node group for your cluster that is equal to the current Kubernetes version for the cluster. All node groups are created with the latest AMI release version for the respective minor Kubernetes version of the cluster.

An Amazon EKS managed node group is an Amazon EC2 Auto Scaling group and associated Amazon EC2 instances that are managed by AWS for an Amazon EKS cluster. Each node group uses a version of the Amazon EKS-optimized Amazon Linux 2 AMI. For more information, see Managed Node Groups in the Amazon EKS User Guide.

" + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"DELETE", + "requestUri":"/clusters/{name}" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes the Amazon EKS cluster control plane.

If you have active services in your cluster that are associated with a load balancer, you must delete those services before deleting the cluster so that the load balancers are deleted properly. Otherwise, you can have orphaned resources in your VPC that prevent you from being able to delete the VPC. For more information, see Deleting a Cluster in the Amazon EKS User Guide.

If you have managed node groups or Fargate profiles attached to the cluster, you must delete them first. For more information, see DeleteNodegroup and DeleteFargateProfile.

" + }, + "DeleteFargateProfile":{ + "name":"DeleteFargateProfile", + "http":{ + "method":"DELETE", + "requestUri":"/clusters/{name}/fargate-profiles/{fargateProfileName}" + }, + "input":{"shape":"DeleteFargateProfileRequest"}, + "output":{"shape":"DeleteFargateProfileResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes an AWS Fargate profile.

When you delete a Fargate profile, any pods running on Fargate that were created with the profile are deleted. If those pods match another Fargate profile, then they are scheduled on Fargate with that profile. If they no longer match any Fargate profiles, then they are not scheduled on Fargate and they may remain in a pending state.

Only one Fargate profile in a cluster can be in the DELETING status at a time. You must wait for a Fargate profile to finish deleting before you can delete any other profiles in that cluster.

" + }, + "DeleteNodegroup":{ + "name":"DeleteNodegroup", + "http":{ + "method":"DELETE", + "requestUri":"/clusters/{name}/node-groups/{nodegroupName}" + }, + "input":{"shape":"DeleteNodegroupRequest"}, + "output":{"shape":"DeleteNodegroupResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes an Amazon EKS node group for a cluster.

" + }, + "DescribeCluster":{ + "name":"DescribeCluster", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}" + }, + "input":{"shape":"DescribeClusterRequest"}, + "output":{"shape":"DescribeClusterResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns descriptive information about an Amazon EKS cluster.

The API server endpoint and certificate authority data returned by this operation are required for kubelet and kubectl to communicate with your Kubernetes API server. For more information, see Create a kubeconfig for Amazon EKS.

The API server endpoint and certificate authority data aren't available until the cluster reaches the ACTIVE state.

" + }, + "DescribeFargateProfile":{ + "name":"DescribeFargateProfile", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/fargate-profiles/{fargateProfileName}" + }, + "input":{"shape":"DescribeFargateProfileRequest"}, + "output":{"shape":"DescribeFargateProfileResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns descriptive information about an AWS Fargate profile.

" + }, + "DescribeNodegroup":{ + "name":"DescribeNodegroup", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/node-groups/{nodegroupName}" + }, + "input":{"shape":"DescribeNodegroupRequest"}, + "output":{"shape":"DescribeNodegroupResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns descriptive information about an Amazon EKS node group.

" + }, + "DescribeUpdate":{ + "name":"DescribeUpdate", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/updates/{updateId}" + }, + "input":{"shape":"DescribeUpdateRequest"}, + "output":{"shape":"DescribeUpdateResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns descriptive information about an update against your Amazon EKS cluster or associated managed node group.

When the status of the update is Succeeded, the update is complete. If an update fails, the status is Failed, and an error detail explains the reason for the failure.

" + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"GET", + "requestUri":"/clusters" + }, + "input":{"shape":"ListClustersRequest"}, + "output":{"shape":"ListClustersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the Amazon EKS clusters in your AWS account in the specified Region.

" + }, + "ListFargateProfiles":{ + "name":"ListFargateProfiles", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/fargate-profiles" + }, + "input":{"shape":"ListFargateProfilesRequest"}, + "output":{"shape":"ListFargateProfilesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"} + ], + "documentation":"

Lists the AWS Fargate profiles associated with the specified cluster in your AWS account in the specified Region.

" + }, + "ListNodegroups":{ + "name":"ListNodegroups", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/node-groups" + }, + "input":{"shape":"ListNodegroupsRequest"}, + "output":{"shape":"ListNodegroupsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the Amazon EKS managed node groups associated with the specified cluster in your AWS account in the specified Region. Self-managed node groups are not listed.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

List the tags for an Amazon EKS resource.

" + }, + "ListUpdates":{ + "name":"ListUpdates", + "http":{ + "method":"GET", + "requestUri":"/clusters/{name}/updates" + }, + "input":{"shape":"ListUpdatesRequest"}, + "output":{"shape":"ListUpdatesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the updates associated with an Amazon EKS cluster or managed node group in your AWS account, in the specified Region.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well. Tags that you create for Amazon EKS resources do not propagate to any other resources associated with the cluster. For example, if you tag a cluster with this operation, that tag does not automatically propagate to the subnets and worker nodes associated with the cluster.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes specified tags from a resource.

" + }, + "UpdateClusterConfig":{ + "name":"UpdateClusterConfig", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/update-config" + }, + "input":{"shape":"UpdateClusterConfigRequest"}, + "output":{"shape":"UpdateClusterConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates an Amazon EKS cluster configuration. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

You can use this API operation to enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

You can also use this API operation to enable or disable public and private access to your cluster's Kubernetes API server endpoint. By default, public access is enabled, and private access is disabled. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

At this time, you can not update the subnets or security group IDs for an existing cluster.

Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

" + }, + "UpdateClusterVersion":{ + "name":"UpdateClusterVersion", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/updates" + }, + "input":{"shape":"UpdateClusterVersionRequest"}, + "output":{"shape":"UpdateClusterVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates an Amazon EKS cluster to the specified Kubernetes version. Your cluster continues to function during the update. The response output includes an update ID that you can use to track the status of your cluster update with the DescribeUpdate API operation.

Cluster updates are asynchronous, and they should finish within a few minutes. During an update, the cluster status moves to UPDATING (this status transition is eventually consistent). When the update is complete (either Failed or Successful), the cluster status moves to Active.

If your cluster has managed node groups attached to it, all of your node groups’ Kubernetes versions must match the cluster’s Kubernetes version in order to update the cluster to a new Kubernetes version.

" + }, + "UpdateNodegroupConfig":{ + "name":"UpdateNodegroupConfig", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/node-groups/{nodegroupName}/update-config" + }, + "input":{"shape":"UpdateNodegroupConfigRequest"}, + "output":{"shape":"UpdateNodegroupConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates an Amazon EKS managed node group configuration. Your node group continues to function during the update. The response output includes an update ID that you can use to track the status of your node group update with the DescribeUpdate API operation. Currently you can update the Kubernetes labels for a node group or the scaling configuration.

" + }, + "UpdateNodegroupVersion":{ + "name":"UpdateNodegroupVersion", + "http":{ + "method":"POST", + "requestUri":"/clusters/{name}/node-groups/{nodegroupName}/update-version" + }, + "input":{"shape":"UpdateNodegroupVersionRequest"}, + "output":{"shape":"UpdateNodegroupVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ClientException"}, + {"shape":"ServerException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Updates the Kubernetes version or AMI version of an Amazon EKS managed node group.

You can update to the latest available AMI version of a node group's current Kubernetes version by not specifying a Kubernetes version in the request. You can update to the latest AMI version of your cluster's current Kubernetes version by specifying your cluster's Kubernetes version in the request. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

You cannot roll back a node group to an earlier Kubernetes version or AMI version.

When a node in a managed node group is terminated due to a scaling action or update, the pods in that node are drained first. Amazon EKS attempts to drain the nodes gracefully and will fail if it is unable to do so. You can force the update if Amazon EKS is unable to drain the nodes as a result of a pod disruption budget issue.

" + } + }, + "shapes":{ + "AMITypes":{ + "type":"string", + "enum":[ + "AL2_x86_64", + "AL2_x86_64_GPU" + ] + }, + "AutoScalingGroup":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Auto Scaling group associated with an Amazon EKS managed node group.

" + } + }, + "documentation":"

An Auto Scaling group that is associated with an Amazon EKS managed node group.

" + }, + "AutoScalingGroupList":{ + "type":"list", + "member":{"shape":"AutoScalingGroup"} + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

This exception is thrown if the request contains a semantic error. The precise meaning will depend on the API, and will be documented in the error message.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "BoxedBoolean":{ + "type":"boolean", + "box":true + }, + "BoxedInteger":{ + "type":"integer", + "box":true + }, + "Capacity":{ + "type":"integer", + "box":true, + "min":1 + }, + "Certificate":{ + "type":"structure", + "members":{ + "data":{ + "shape":"String", + "documentation":"

The Base64-encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

" + } + }, + "documentation":"

An object representing the certificate-authority-data for your cluster.

" + }, + "ClientException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

These errors are usually caused by a client action. Actions can include using an action or resource on behalf of a user that doesn't have permissions to use the action or resource or specifying an identifier that is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Cluster":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the cluster.

" + }, + "arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the cluster.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the cluster was created.

" + }, + "version":{ + "shape":"String", + "documentation":"

The Kubernetes server version for the cluster.

" + }, + "endpoint":{ + "shape":"String", + "documentation":"

The endpoint for your Kubernetes API server.

" + }, + "roleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

" + }, + "resourcesVpcConfig":{ + "shape":"VpcConfigResponse", + "documentation":"

The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

The logging configuration for your cluster.

" + }, + "identity":{ + "shape":"Identity", + "documentation":"

The identity provider information for the cluster.

" + }, + "status":{ + "shape":"ClusterStatus", + "documentation":"

The current status of the cluster.

" + }, + "certificateAuthority":{ + "shape":"Certificate", + "documentation":"

The certificate-authority-data for your cluster.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

" + }, + "platformVersion":{ + "shape":"String", + "documentation":"

The platform version of your Amazon EKS cluster. For more information, see Platform Versions in the Amazon EKS User Guide .

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata that you apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Cluster tags do not propagate to any other resources associated with the cluster.

" + }, + "encryptionConfig":{ + "shape":"EncryptionConfigList", + "documentation":"

The encryption configuration for the cluster.

" + } + }, + "documentation":"

An object representing an Amazon EKS cluster.

" + }, + "ClusterName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[0-9A-Za-z][A-Za-z0-9\\-_]*" + }, + "ClusterStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING" + ] + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "name", + "roleArn", + "resourcesVpcConfig" + ], + "members":{ + "name":{ + "shape":"ClusterName", + "documentation":"

The unique name to give to your cluster.

" + }, + "version":{ + "shape":"String", + "documentation":"

The desired Kubernetes version for your cluster. If you don't specify a value here, the latest version available in Amazon EKS is used.

" + }, + "roleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that provides permissions for Amazon EKS to make calls to other AWS API operations on your behalf. For more information, see Amazon EKS Service IAM Role in the Amazon EKS User Guide .

" + }, + "resourcesVpcConfig":{ + "shape":"VpcConfigRequest", + "documentation":"

The VPC configuration used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define.

" + }, + "encryptionConfig":{ + "shape":"EncryptionConfigList", + "documentation":"

The encryption configuration for the cluster.

" + } + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{ + "shape":"Cluster", + "documentation":"

The full description of your new cluster.

" + } + } + }, + "CreateFargateProfileRequest":{ + "type":"structure", + "required":[ + "fargateProfileName", + "clusterName", + "podExecutionRoleArn" + ], + "members":{ + "fargateProfileName":{ + "shape":"String", + "documentation":"

The name of the Fargate profile.

" + }, + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to apply the Fargate profile to.

", + "location":"uri", + "locationName":"name" + }, + "podExecutionRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in the Fargate profile. The pod execution role allows Fargate infrastructure to register with your cluster as a node, and it provides read access to Amazon ECR image repositories. For more information, see Pod Execution Role in the Amazon EKS User Guide.

" + }, + "subnets":{ + "shape":"StringList", + "documentation":"

The IDs of subnets to launch your pods into. At this time, pods running on Fargate are not assigned public IP addresses, so only private subnets (with no direct route to an Internet Gateway) are accepted for this parameter.

" + }, + "selectors":{ + "shape":"FargateProfileSelectors", + "documentation":"

The selectors to match for pods to use this Fargate profile. Each selector must have an associated namespace. Optionally, you can also specify labels for a namespace. You may specify up to five selectors in a Fargate profile.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata to apply to the Fargate profile to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Fargate profile tags do not propagate to any other resources associated with the Fargate profile, such as the pods that are scheduled with it.

" + } + } + }, + "CreateFargateProfileResponse":{ + "type":"structure", + "members":{ + "fargateProfile":{ + "shape":"FargateProfile", + "documentation":"

The full description of your new Fargate profile.

" + } + } + }, + "CreateNodegroupRequest":{ + "type":"structure", + "required":[ + "clusterName", + "nodegroupName", + "subnets", + "nodeRole" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the cluster to create the node group in.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The unique name to give your node group.

" + }, + "scalingConfig":{ + "shape":"NodegroupScalingConfig", + "documentation":"

The scaling configuration details for the Auto Scaling group that is created for your node group.

" + }, + "diskSize":{ + "shape":"BoxedInteger", + "documentation":"

The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB.

" + }, + "subnets":{ + "shape":"StringList", + "documentation":"

The subnets to use for the Auto Scaling group that is created for your node group. These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME with a value of shared, where CLUSTER_NAME is replaced with the name of your cluster.

" + }, + "instanceTypes":{ + "shape":"StringList", + "documentation":"

The instance type to use for your node group. Currently, you can specify a single instance type for a node group. The default value for this parameter is t3.medium. If you choose a GPU instance type, be sure to specify the AL2_x86_64_GPU with the amiType parameter.

" + }, + "amiType":{ + "shape":"AMITypes", + "documentation":"

The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU AMI type, which uses the Amazon EKS-optimized Linux AMI with GPU support. Non-GPU instances should use the AL2_x86_64 AMI type, which uses the Amazon EKS-optimized Linux AMI.

" + }, + "remoteAccess":{ + "shape":"RemoteAccessConfig", + "documentation":"

The remote access (SSH) configuration to use with your node group.

" + }, + "nodeRole":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to associate with your node group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch worker nodes and register them into a cluster, you must create an IAM role for those worker nodes to use when they are launched. For more information, see Amazon EKS Worker Node IAM Role in the Amazon EKS User Guide .

" + }, + "labels":{ + "shape":"labelsMap", + "documentation":"

The Kubernetes labels to be applied to the nodes in the node group when they are created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata to apply to the node group to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + }, + "version":{ + "shape":"String", + "documentation":"

The Kubernetes version to use for your managed nodes. By default, the Kubernetes version of the cluster is used, and this is the only accepted specified value.

" + }, + "releaseVersion":{ + "shape":"String", + "documentation":"

The AMI version of the Amazon EKS-optimized AMI to use with your node group. By default, the latest available AMI version for the node group's current Kubernetes version is used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

" + } + } + }, + "CreateNodegroupResponse":{ + "type":"structure", + "members":{ + "nodegroup":{ + "shape":"Nodegroup", + "documentation":"

The full description of your new node group.

" + } + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the cluster to delete.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{ + "shape":"Cluster", + "documentation":"

The full description of the cluster to delete.

" + } + } + }, + "DeleteFargateProfileRequest":{ + "type":"structure", + "required":[ + "clusterName", + "fargateProfileName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster associated with the Fargate profile to delete.

", + "location":"uri", + "locationName":"name" + }, + "fargateProfileName":{ + "shape":"String", + "documentation":"

The name of the Fargate profile to delete.

", + "location":"uri", + "locationName":"fargateProfileName" + } + } + }, + "DeleteFargateProfileResponse":{ + "type":"structure", + "members":{ + "fargateProfile":{ + "shape":"FargateProfile", + "documentation":"

The deleted Fargate profile.

" + } + } + }, + "DeleteNodegroupRequest":{ + "type":"structure", + "required":[ + "clusterName", + "nodegroupName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that is associated with your node group.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the node group to delete.

", + "location":"uri", + "locationName":"nodegroupName" + } + } + }, + "DeleteNodegroupResponse":{ + "type":"structure", + "members":{ + "nodegroup":{ + "shape":"Nodegroup", + "documentation":"

The full description of your deleted node group.

" + } + } + }, + "DescribeClusterRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the cluster to describe.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DescribeClusterResponse":{ + "type":"structure", + "members":{ + "cluster":{ + "shape":"Cluster", + "documentation":"

The full description of your specified cluster.

" + } + } + }, + "DescribeFargateProfileRequest":{ + "type":"structure", + "required":[ + "clusterName", + "fargateProfileName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster associated with the Fargate profile.

", + "location":"uri", + "locationName":"name" + }, + "fargateProfileName":{ + "shape":"String", + "documentation":"

The name of the Fargate profile to describe.

", + "location":"uri", + "locationName":"fargateProfileName" + } + } + }, + "DescribeFargateProfileResponse":{ + "type":"structure", + "members":{ + "fargateProfile":{ + "shape":"FargateProfile", + "documentation":"

The full description of your Fargate profile.

" + } + } + }, + "DescribeNodegroupRequest":{ + "type":"structure", + "required":[ + "clusterName", + "nodegroupName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster associated with the node group.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the node group to describe.

", + "location":"uri", + "locationName":"nodegroupName" + } + } + }, + "DescribeNodegroupResponse":{ + "type":"structure", + "members":{ + "nodegroup":{ + "shape":"Nodegroup", + "documentation":"

The full description of your node group.

" + } + } + }, + "DescribeUpdateRequest":{ + "type":"structure", + "required":[ + "name", + "updateId" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster associated with the update.

", + "location":"uri", + "locationName":"name" + }, + "updateId":{ + "shape":"String", + "documentation":"

The ID of the update to describe.

", + "location":"uri", + "locationName":"updateId" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS node group associated with the update.

", + "location":"querystring", + "locationName":"nodegroupName" + } + } + }, + "DescribeUpdateResponse":{ + "type":"structure", + "members":{ + "update":{ + "shape":"Update", + "documentation":"

The full description of the specified update.

" + } + } + }, + "EncryptionConfig":{ + "type":"structure", + "members":{ + "resources":{ + "shape":"StringList", + "documentation":"

Specifies the resources to be encrypted. The only supported value is \"secrets\".

" + }, + "provider":{ + "shape":"Provider", + "documentation":"

AWS Key Management Service (AWS KMS) customer master key (CMK). Either the ARN or the alias can be used.

" + } + }, + "documentation":"

The encryption configuration for the cluster.

" + }, + "EncryptionConfigList":{ + "type":"list", + "member":{"shape":"EncryptionConfig"}, + "max":1 + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "SubnetNotFound", + "SecurityGroupNotFound", + "EniLimitReached", + "IpNotAvailable", + "AccessDenied", + "OperationNotPermitted", + "VpcIdNotFound", + "Unknown", + "NodeCreationFailure", + "PodEvictionFailure", + "InsufficientFreeAddresses" + ] + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

A brief description of the error.

  • SubnetNotFound: We couldn't find one of the subnets associated with the cluster.

  • SecurityGroupNotFound: We couldn't find one of the security groups associated with the cluster.

  • EniLimitReached: You have reached the elastic network interface limit for your account.

  • IpNotAvailable: A subnet associated with the cluster doesn't have any free IP addresses.

  • AccessDenied: You don't have permissions to perform the specified operation.

  • OperationNotPermitted: The service role associated with the cluster doesn't have the required access permissions for Amazon EKS.

  • VpcIdNotFound: We couldn't find the VPC associated with the cluster.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

A more complete description of the error.

" + }, + "resourceIds":{ + "shape":"StringList", + "documentation":"

An optional field that contains the resource IDs associated with the error.

" + } + }, + "documentation":"

An object representing an error when an asynchronous operation fails.

" + }, + "ErrorDetails":{ + "type":"list", + "member":{"shape":"ErrorDetail"} + }, + "FargateProfile":{ + "type":"structure", + "members":{ + "fargateProfileName":{ + "shape":"String", + "documentation":"

The name of the Fargate profile.

" + }, + "fargateProfileArn":{ + "shape":"String", + "documentation":"

The full Amazon Resource Name (ARN) of the Fargate profile.

" + }, + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that the Fargate profile belongs to.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the Fargate profile was created.

" + }, + "podExecutionRoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the pod execution role to use for pods that match the selectors in the Fargate profile. For more information, see Pod Execution Role in the Amazon EKS User Guide.

" + }, + "subnets":{ + "shape":"StringList", + "documentation":"

The IDs of subnets to launch pods into.

" + }, + "selectors":{ + "shape":"FargateProfileSelectors", + "documentation":"

The selectors to match for pods to use this Fargate profile.

" + }, + "status":{ + "shape":"FargateProfileStatus", + "documentation":"

The current status of the Fargate profile.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata applied to the Fargate profile to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Fargate profile tags do not propagate to any other resources associated with the Fargate profile, such as the pods that are scheduled with it.

" + } + }, + "documentation":"

An object representing an AWS Fargate profile.

" + }, + "FargateProfileLabel":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "FargateProfileSelector":{ + "type":"structure", + "members":{ + "namespace":{ + "shape":"String", + "documentation":"

The Kubernetes namespace that the selector should match.

" + }, + "labels":{ + "shape":"FargateProfileLabel", + "documentation":"

The Kubernetes labels that the selector should match. A pod must contain all of the labels that are specified in the selector for it to be considered a match.

" + } + }, + "documentation":"

An object representing an AWS Fargate profile selector.

" + }, + "FargateProfileSelectors":{ + "type":"list", + "member":{"shape":"FargateProfileSelector"} + }, + "FargateProfileStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "FargateProfilesRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "Identity":{ + "type":"structure", + "members":{ + "oidc":{ + "shape":"OIDC", + "documentation":"

The OpenID Connect identity provider information for the cluster.

" + } + }, + "documentation":"

An object representing an identity provider for authentication credentials.

" + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "fargateProfileName":{ + "shape":"String", + "documentation":"

The Fargate profile associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

The request is invalid given the state of the cluster. Check the state of the cluster and the associated operations.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Issue":{ + "type":"structure", + "members":{ + "code":{ + "shape":"NodegroupIssueCode", + "documentation":"

A brief description of the error.

  • AutoScalingGroupNotFound: We couldn't find the Auto Scaling group associated with the managed node group. You may be able to recreate an Auto Scaling group with the same settings to recover.

  • Ec2SecurityGroupNotFound: We couldn't find the cluster security group for the cluster. You must recreate your cluster.

  • Ec2SecurityGroupDeletionFailure: We could not delete the remote access security group for your managed node group. Remove any dependencies from the security group.

  • Ec2LaunchTemplateNotFound: We couldn't find the Amazon EC2 launch template for your managed node group. You may be able to recreate a launch template with the same settings to recover.

  • Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template version for your managed node group does not match the version that Amazon EKS created. You may be able to revert to the version that Amazon EKS created to recover.

  • IamInstanceProfileNotFound: We couldn't find the IAM instance profile for your managed node group. You may be able to recreate an instance profile with the same settings to recover.

  • IamNodeRoleNotFound: We couldn't find the IAM role for your managed node group. You may be able to recreate an IAM role with the same settings to recover.

  • AsgInstanceLaunchFailures: Your Auto Scaling group is experiencing failures while attempting to launch instances.

  • NodeCreationFailure: Your launched instances are unable to register with your Amazon EKS cluster. Common causes of this failure are insufficient worker node IAM role permissions or lack of outbound internet access for the nodes.

  • InstanceLimitExceeded: Your AWS account is unable to launch any more instances of the specified instance type. You may be able to request an Amazon EC2 instance limit increase to recover.

  • InsufficientFreeAddresses: One or more of the subnets associated with your managed node group does not have enough available IP addresses for new nodes.

  • AccessDenied: Amazon EKS or one or more of your managed nodes is unable to communicate with your cluster API server.

  • InternalFailure: These errors are usually caused by an Amazon EKS server-side issue.

" + }, + "message":{ + "shape":"String", + "documentation":"

The error message associated with the issue.

" + }, + "resourceIds":{ + "shape":"StringList", + "documentation":"

The AWS resources that are afflicted by this issue.

" + } + }, + "documentation":"

An object representing an issue with an Amazon EKS resource.

" + }, + "IssueList":{ + "type":"list", + "member":{"shape":"Issue"} + }, + "ListClustersRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListClustersRequestMaxResults", + "documentation":"

The maximum number of cluster results returned by ListClusters in paginated output. When you use this parameter, ListClusters returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListClusters request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListClusters returns up to 100 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListClusters 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 token should be treated as an opaque identifier that is used only to retrieve the next items in a list and not for other programmatic purposes.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListClustersRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListClustersResponse":{ + "type":"structure", + "members":{ + "clusters":{ + "shape":"StringList", + "documentation":"

A list of all of the clusters for your account in the specified Region.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListClusters request. When the results of a ListClusters request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListFargateProfilesRequest":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that you would like to listFargate profiles in.

", + "location":"uri", + "locationName":"name" + }, + "maxResults":{ + "shape":"FargateProfilesRequestMaxResults", + "documentation":"

The maximum number of Fargate profile results returned by ListFargateProfiles in paginated output. When you use this parameter, ListFargateProfiles returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListFargateProfiles request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListFargateProfiles returns up to 100 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListFargateProfiles 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.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListFargateProfilesResponse":{ + "type":"structure", + "members":{ + "fargateProfileNames":{ + "shape":"StringList", + "documentation":"

A list of all of the Fargate profiles associated with the specified cluster.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListFargateProfiles request. When the results of a ListFargateProfiles request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListNodegroupsRequest":{ + "type":"structure", + "required":["clusterName"], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that you would like to list node groups in.

", + "location":"uri", + "locationName":"name" + }, + "maxResults":{ + "shape":"ListNodegroupsRequestMaxResults", + "documentation":"

The maximum number of node group results returned by ListNodegroups in paginated output. When you use this parameter, ListNodegroups returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListNodegroups request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListNodegroups returns up to 100 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListNodegroups 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.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNodegroupsRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListNodegroupsResponse":{ + "type":"structure", + "members":{ + "nodegroups":{ + "shape":"StringList", + "documentation":"

A list of all of the node groups associated with the specified cluster.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListNodegroups request. When the results of a ListNodegroups request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are Amazon EKS clusters and managed node groups.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The tags for the resource.

" + } + } + }, + "ListUpdatesRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to list updates for.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS managed node group to list updates for.

", + "location":"querystring", + "locationName":"nodegroupName" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value returned from a previous paginated ListUpdates 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.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"ListUpdatesRequestMaxResults", + "documentation":"

The maximum number of update results returned by ListUpdates in paginated output. When you use this parameter, ListUpdates returns only maxResults results in a single page along with a nextToken response element. You can see the remaining results of the initial request by sending another ListUpdates request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListUpdates returns up to 100 results and a nextToken value if applicable.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListUpdatesRequestMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListUpdatesResponse":{ + "type":"structure", + "members":{ + "updateIds":{ + "shape":"StringList", + "documentation":"

A list of all the updates for the specified cluster and Region.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

The nextToken value to include in a future ListUpdates request. When the results of a ListUpdates request exceed maxResults, you can use this value to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "LogSetup":{ + "type":"structure", + "members":{ + "types":{ + "shape":"LogTypes", + "documentation":"

The available cluster control plane log types.

" + }, + "enabled":{ + "shape":"BoxedBoolean", + "documentation":"

If a log type is enabled, that log type exports its control plane logs to CloudWatch Logs. If a log type isn't enabled, that log type doesn't export its control plane logs. Each individual log type can be enabled or disabled independently.

" + } + }, + "documentation":"

An object representing the enabled or disabled Kubernetes control plane logs for your cluster.

" + }, + "LogSetups":{ + "type":"list", + "member":{"shape":"LogSetup"} + }, + "LogType":{ + "type":"string", + "enum":[ + "api", + "audit", + "authenticator", + "controllerManager", + "scheduler" + ] + }, + "LogTypes":{ + "type":"list", + "member":{"shape":"LogType"} + }, + "Logging":{ + "type":"structure", + "members":{ + "clusterLogging":{ + "shape":"LogSetups", + "documentation":"

The cluster control plane logging configuration for your cluster.

" + } + }, + "documentation":"

An object representing the logging configuration for resources in your cluster.

" + }, + "Nodegroup":{ + "type":"structure", + "members":{ + "nodegroupName":{ + "shape":"String", + "documentation":"

The name associated with an Amazon EKS managed node group.

" + }, + "nodegroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) associated with the managed node group.

" + }, + "clusterName":{ + "shape":"String", + "documentation":"

The name of the cluster that the managed node group resides in.

" + }, + "version":{ + "shape":"String", + "documentation":"

The Kubernetes version of the managed node group.

" + }, + "releaseVersion":{ + "shape":"String", + "documentation":"

The AMI version of the managed node group. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the managed node group was created.

" + }, + "modifiedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the managed node group was last modified.

" + }, + "status":{ + "shape":"NodegroupStatus", + "documentation":"

The current status of the managed node group.

" + }, + "scalingConfig":{ + "shape":"NodegroupScalingConfig", + "documentation":"

The scaling configuration details for the Auto Scaling group that is associated with your node group.

" + }, + "instanceTypes":{ + "shape":"StringList", + "documentation":"

The instance types associated with your node group.

" + }, + "subnets":{ + "shape":"StringList", + "documentation":"

The subnets allowed for the Auto Scaling group that is associated with your node group. These subnets must have the following tag: kubernetes.io/cluster/CLUSTER_NAME, where CLUSTER_NAME is replaced with the name of your cluster.

" + }, + "remoteAccess":{ + "shape":"RemoteAccessConfig", + "documentation":"

The remote access (SSH) configuration that is associated with the node group.

" + }, + "amiType":{ + "shape":"AMITypes", + "documentation":"

The AMI type associated with your node group. GPU instance types should use the AL2_x86_64_GPU AMI type, which uses the Amazon EKS-optimized Linux AMI with GPU support. Non-GPU instances should use the AL2_x86_64 AMI type, which uses the Amazon EKS-optimized Linux AMI.

" + }, + "nodeRole":{ + "shape":"String", + "documentation":"

The IAM role associated with your node group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs on your behalf. Worker nodes receive permissions for these API calls through an IAM instance profile and associated policies. Before you can launch worker nodes and register them into a cluster, you must create an IAM role for those worker nodes to use when they are launched. For more information, see Amazon EKS Worker Node IAM Role in the Amazon EKS User Guide .

" + }, + "labels":{ + "shape":"labelsMap", + "documentation":"

The Kubernetes labels applied to the nodes in the node group.

Only labels that are applied with the Amazon EKS API are shown here. There may be other Kubernetes labels applied to the nodes in this group.

" + }, + "resources":{ + "shape":"NodegroupResources", + "documentation":"

The resources associated with the node group, such as Auto Scaling groups and security groups for remote access.

" + }, + "diskSize":{ + "shape":"BoxedInteger", + "documentation":"

The root device disk size (in GiB) for your node group instances. The default disk size is 20 GiB.

" + }, + "health":{ + "shape":"NodegroupHealth", + "documentation":"

The health status of the node group. If there are issues with your node group's health, they are listed here.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The metadata applied to the node group to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Node group tags do not propagate to any other resources associated with the node group, such as the Amazon EC2 instances or subnets.

" + } + }, + "documentation":"

An object representing an Amazon EKS managed node group.

" + }, + "NodegroupHealth":{ + "type":"structure", + "members":{ + "issues":{ + "shape":"IssueList", + "documentation":"

Any issues that are associated with the node group.

" + } + }, + "documentation":"

An object representing the health status of the node group.

" + }, + "NodegroupIssueCode":{ + "type":"string", + "enum":[ + "AutoScalingGroupNotFound", + "AutoScalingGroupInvalidConfiguration", + "Ec2SecurityGroupNotFound", + "Ec2SecurityGroupDeletionFailure", + "Ec2LaunchTemplateNotFound", + "Ec2LaunchTemplateVersionMismatch", + "Ec2SubnetNotFound", + "Ec2SubnetInvalidConfiguration", + "IamInstanceProfileNotFound", + "IamLimitExceeded", + "IamNodeRoleNotFound", + "NodeCreationFailure", + "AsgInstanceLaunchFailures", + "InstanceLimitExceeded", + "InsufficientFreeAddresses", + "AccessDenied", + "InternalFailure" + ] + }, + "NodegroupResources":{ + "type":"structure", + "members":{ + "autoScalingGroups":{ + "shape":"AutoScalingGroupList", + "documentation":"

The Auto Scaling groups associated with the node group.

" + }, + "remoteAccessSecurityGroup":{ + "shape":"String", + "documentation":"

The remote access security group associated with the node group. This security group controls SSH access to the worker nodes.

" + } + }, + "documentation":"

An object representing the resources associated with the node group, such as Auto Scaling groups and security groups for remote access.

" + }, + "NodegroupScalingConfig":{ + "type":"structure", + "members":{ + "minSize":{ + "shape":"Capacity", + "documentation":"

The minimum number of worker nodes that the managed node group can scale in to. This number must be greater than zero.

" + }, + "maxSize":{ + "shape":"Capacity", + "documentation":"

The maximum number of worker nodes that the managed node group can scale out to. Managed node groups can support up to 100 nodes by default.

" + }, + "desiredSize":{ + "shape":"Capacity", + "documentation":"

The current number of worker nodes that the managed node group should maintain.

" + } + }, + "documentation":"

An object representing the scaling configuration details for the Auto Scaling group that is associated with your node group.

" + }, + "NodegroupStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "CREATE_FAILED", + "DELETE_FAILED", + "DEGRADED" + ] + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "OIDC":{ + "type":"structure", + "members":{ + "issuer":{ + "shape":"String", + "documentation":"

The issuer URL for the OpenID Connect identity provider.

" + } + }, + "documentation":"

An object representing the OpenID Connect identity provider information for the cluster.

" + }, + "Provider":{ + "type":"structure", + "members":{ + "keyArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

" + } + }, + "documentation":"

Identifies the AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the secrets.

" + }, + "RemoteAccessConfig":{ + "type":"structure", + "members":{ + "ec2SshKey":{ + "shape":"String", + "documentation":"

The Amazon EC2 SSH key that provides access for SSH communication with the worker nodes in the managed node group. For more information, see Amazon EC2 Key Pairs in the Amazon Elastic Compute Cloud User Guide for Linux Instances.

" + }, + "sourceSecurityGroups":{ + "shape":"StringList", + "documentation":"

The security groups that are allowed SSH access (port 22) to the worker nodes. If you specify an Amazon EC2 SSH key but do not specify a source security group when you create a managed node group, then port 22 on the worker nodes is opened to the internet (0.0.0.0/0). For more information, see Security Groups for Your VPC in the Amazon Virtual Private Cloud User Guide.

" + } + }, + "documentation":"

An object representing the remote access configuration for the managed node group.

" + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

The specified resource is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

You have encountered a service limit on the specified resource.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "fargateProfileName":{ + "shape":"String", + "documentation":"

The Fargate profile associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

The specified resource could not be found. You can view your available clusters with ListClusters. You can view your available managed node groups with ListNodegroups. Amazon EKS clusters and node groups are Region-specific.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ServerException":{ + "type":"structure", + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "message":{"shape":"String"} + }, + "documentation":"

These errors are usually caused by a server-side issue.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The service is unavailable. Back off and retry the operation.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, the supported resources are Amazon EKS clusters and managed node groups.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags to add to the resource. A tag is an array of key-value pairs.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Timestamp":{"type":"timestamp"}, + "UnsupportedAvailabilityZoneException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "clusterName":{ + "shape":"String", + "documentation":"

The Amazon EKS cluster associated with the exception.

" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The Amazon EKS managed node group associated with the exception.

" + }, + "validZones":{ + "shape":"StringList", + "documentation":"

The supported Availability Zones for your account. Choose subnets in these Availability Zones for your cluster.

" + } + }, + "documentation":"

At least one of your specified cluster subnets is in an Availability Zone that does not support Amazon EKS. The exception output specifies the supported Availability Zones for your account, from which you can choose subnets for your cluster.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to delete tags. Currently, the supported resources are Amazon EKS clusters and managed node groups.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to be removed.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "Update":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

A UUID that is used to track the update.

" + }, + "status":{ + "shape":"UpdateStatus", + "documentation":"

The current status of the update.

" + }, + "type":{ + "shape":"UpdateType", + "documentation":"

The type of the update.

" + }, + "params":{ + "shape":"UpdateParams", + "documentation":"

A key-value map that contains the parameters associated with the update.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The Unix epoch timestamp in seconds for when the update was created.

" + }, + "errors":{ + "shape":"ErrorDetails", + "documentation":"

Any errors associated with a Failed update.

" + } + }, + "documentation":"

An object representing an asynchronous update.

" + }, + "UpdateClusterConfigRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to update.

", + "location":"uri", + "locationName":"name" + }, + "resourcesVpcConfig":{"shape":"VpcConfigRequest"}, + "logging":{ + "shape":"Logging", + "documentation":"

Enable or disable exporting the Kubernetes control plane logs for your cluster to CloudWatch Logs. By default, cluster control plane logs aren't exported to CloudWatch Logs. For more information, see Amazon EKS Cluster Control Plane Logs in the Amazon EKS User Guide .

CloudWatch Logs ingestion, archive storage, and data scanning rates apply to exported control plane logs. For more information, see Amazon CloudWatch Pricing.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateClusterConfigResponse":{ + "type":"structure", + "members":{ + "update":{"shape":"Update"} + } + }, + "UpdateClusterVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster to update.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"String", + "documentation":"

The desired Kubernetes version following a successful update.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateClusterVersionResponse":{ + "type":"structure", + "members":{ + "update":{ + "shape":"Update", + "documentation":"

The full description of the specified update

" + } + } + }, + "UpdateLabelsPayload":{ + "type":"structure", + "members":{ + "addOrUpdateLabels":{ + "shape":"labelsMap", + "documentation":"

Kubernetes labels to be added or updated.

" + }, + "removeLabels":{ + "shape":"labelsKeyList", + "documentation":"

Kubernetes labels to be removed.

" + } + }, + "documentation":"

An object representing a Kubernetes label change for a managed node group.

" + }, + "UpdateNodegroupConfigRequest":{ + "type":"structure", + "required":[ + "clusterName", + "nodegroupName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that the managed node group resides in.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the managed node group to update.

", + "location":"uri", + "locationName":"nodegroupName" + }, + "labels":{ + "shape":"UpdateLabelsPayload", + "documentation":"

The Kubernetes labels to be applied to the nodes in the node group after the update.

" + }, + "scalingConfig":{ + "shape":"NodegroupScalingConfig", + "documentation":"

The scaling configuration details for the Auto Scaling group after the update.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateNodegroupConfigResponse":{ + "type":"structure", + "members":{ + "update":{"shape":"Update"} + } + }, + "UpdateNodegroupVersionRequest":{ + "type":"structure", + "required":[ + "clusterName", + "nodegroupName" + ], + "members":{ + "clusterName":{ + "shape":"String", + "documentation":"

The name of the Amazon EKS cluster that is associated with the managed node group to update.

", + "location":"uri", + "locationName":"name" + }, + "nodegroupName":{ + "shape":"String", + "documentation":"

The name of the managed node group to update.

", + "location":"uri", + "locationName":"nodegroupName" + }, + "version":{ + "shape":"String", + "documentation":"

The Kubernetes version to update to. If no version is specified, then the Kubernetes version of the node group does not change. You can specify the Kubernetes version of the cluster to update the node group to the latest AMI version of the cluster's Kubernetes version.

" + }, + "releaseVersion":{ + "shape":"String", + "documentation":"

The AMI version of the Amazon EKS-optimized AMI to use for the update. By default, the latest available AMI version for the node group's Kubernetes version is used. For more information, see Amazon EKS-Optimized Linux AMI Versions in the Amazon EKS User Guide.

" + }, + "force":{ + "shape":"Boolean", + "documentation":"

Force the update if the existing node group's pods are unable to be drained due to a pod disruption budget issue. If an update fails because pods could not be drained, you can force the update after it fails to terminate the old node whether or not any pods are running on the node.

" + }, + "clientRequestToken":{ + "shape":"String", + "documentation":"

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "idempotencyToken":true + } + } + }, + "UpdateNodegroupVersionResponse":{ + "type":"structure", + "members":{ + "update":{"shape":"Update"} + } + }, + "UpdateParam":{ + "type":"structure", + "members":{ + "type":{ + "shape":"UpdateParamType", + "documentation":"

The keys associated with an update request.

" + }, + "value":{ + "shape":"String", + "documentation":"

The value of the keys submitted as part of an update request.

" + } + }, + "documentation":"

An object representing the details of an update request.

" + }, + "UpdateParamType":{ + "type":"string", + "enum":[ + "Version", + "PlatformVersion", + "EndpointPrivateAccess", + "EndpointPublicAccess", + "ClusterLogging", + "DesiredSize", + "LabelsToAdd", + "LabelsToRemove", + "MaxSize", + "MinSize", + "ReleaseVersion", + "PublicAccessCidrs" + ] + }, + "UpdateParams":{ + "type":"list", + "member":{"shape":"UpdateParam"} + }, + "UpdateStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Failed", + "Cancelled", + "Successful" + ] + }, + "UpdateType":{ + "type":"string", + "enum":[ + "VersionUpdate", + "EndpointAccessUpdate", + "LoggingUpdate", + "ConfigUpdate" + ] + }, + "VpcConfigRequest":{ + "type":"structure", + "members":{ + "subnetIds":{ + "shape":"StringList", + "documentation":"

Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

" + }, + "securityGroupIds":{ + "shape":"StringList", + "documentation":"

Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used.

" + }, + "endpointPublicAccess":{ + "shape":"BoxedBoolean", + "documentation":"

Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true, which enables public access for your Kubernetes API server. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + }, + "endpointPrivateAccess":{ + "shape":"BoxedBoolean", + "documentation":"

Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false, which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + }, + "publicAccessCidrs":{ + "shape":"StringList", + "documentation":"

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + } + }, + "documentation":"

An object representing the VPC configuration to use for an Amazon EKS cluster.

" + }, + "VpcConfigResponse":{ + "type":"structure", + "members":{ + "subnetIds":{ + "shape":"StringList", + "documentation":"

The subnets associated with your cluster.

" + }, + "securityGroupIds":{ + "shape":"StringList", + "documentation":"

The security groups associated with the cross-account elastic network interfaces that are used to allow communication between your worker nodes and the Kubernetes control plane.

" + }, + "clusterSecurityGroupId":{ + "shape":"String", + "documentation":"

The cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

" + }, + "vpcId":{ + "shape":"String", + "documentation":"

The VPC associated with your cluster.

" + }, + "endpointPublicAccess":{ + "shape":"Boolean", + "documentation":"

This parameter indicates whether the Amazon EKS public API server endpoint is enabled. If the Amazon EKS public API server endpoint is disabled, your cluster's Kubernetes API server can only receive requests that originate from within the cluster VPC.

" + }, + "endpointPrivateAccess":{ + "shape":"Boolean", + "documentation":"

This parameter indicates whether the Amazon EKS private API server endpoint is enabled. If the Amazon EKS private API server endpoint is enabled, Kubernetes API requests that originate from within your cluster's VPC use the private VPC endpoint instead of traversing the internet. If this value is disabled and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + }, + "publicAccessCidrs":{ + "shape":"StringList", + "documentation":"

The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the listed CIDR blocks is denied. The default value is 0.0.0.0/0. If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that the necessary CIDR blocks are listed. For more information, see Amazon EKS Cluster Endpoint Access Control in the Amazon EKS User Guide .

" + } + }, + "documentation":"

An object representing an Amazon EKS cluster VPC configuration response.

" + }, + "labelKey":{ + "type":"string", + "max":63, + "min":1 + }, + "labelValue":{ + "type":"string", + "max":253, + "min":1 + }, + "labelsKeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "labelsMap":{ + "type":"map", + "key":{"shape":"labelKey"}, + "value":{"shape":"labelValue"} + } + }, + "documentation":"

Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.

Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.

" +} diff -Nru python-botocore-1.4.70/botocore/data/eks/2017-11-01/service-2.sdk-extras.json python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/service-2.sdk-extras.json --- python-botocore-1.4.70/botocore/data/eks/2017-11-01/service-2.sdk-extras.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/service-2.sdk-extras.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,8 @@ +{ + "version": 1.0, + "merge": { + "metadata": { + "serviceId":"EKS" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/eks/2017-11-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/eks/2017-11-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/eks/2017-11-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,91 @@ +{ + "version": 2, + "waiters": { + "ClusterActive": { + "delay": 30, + "operation": "DescribeCluster", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "DELETING", + "matcher": "path", + "state": "failure", + "argument": "cluster.status" + }, + { + "expected": "FAILED", + "matcher": "path", + "state": "failure", + "argument": "cluster.status" + }, + { + "expected": "ACTIVE", + "matcher": "path", + "state": "success", + "argument": "cluster.status" + } + ] + }, + "ClusterDeleted": { + "delay": 30, + "operation": "DescribeCluster", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "ACTIVE", + "matcher": "path", + "state": "failure", + "argument": "cluster.status" + }, + { + "expected": "CREATING", + "matcher": "path", + "state": "failure", + "argument": "cluster.status" + }, + { + "expected": "ResourceNotFoundException", + "matcher": "error", + "state": "success" + } + ] + }, + "NodegroupActive": { + "delay": 30, + "operation": "DescribeNodegroup", + "maxAttempts": 80, + "acceptors": [ + { + "expected": "CREATE_FAILED", + "matcher": "path", + "state": "failure", + "argument": "nodegroup.status" + }, + { + "expected": "ACTIVE", + "matcher": "path", + "state": "success", + "argument": "nodegroup.status" + } + ] + }, + "NodegroupDeleted": { + "delay": 30, + "operation": "DescribeNodegroup", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "DELETE_FAILED", + "matcher": "path", + "state": "failure", + "argument": "nodegroup.status" + }, + { + "expected": "ResourceNotFoundException", + "matcher": "error", + "state": "success" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/elasticache/2014-09-30/service-2.json python-botocore-1.16.19+repack/botocore/data/elasticache/2014-09-30/service-2.json --- python-botocore-1.4.70/botocore/data/elasticache/2014-09-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticache/2014-09-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -3,6 +3,7 @@ "apiVersion":"2014-09-30", "endpointPrefix":"elasticache", "serviceFullName":"Amazon ElastiCache", + "serviceId":"ElastiCache", "signatureVersion":"v4", "xmlNamespace":"http://elasticache.amazonaws.com/doc/2014-09-30/", "protocol":"query" diff -Nru python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/examples-1.json python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/examples-1.json --- python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3149 @@ +{ + "version": "1.0", + "examples": { + "AddTagsToResource": [ + { + "input": { + "ResourceName": "arn:aws:elasticache:us-east-1:1234567890:cluster:my-mem-cluster", + "Tags": [ + { + "Key": "APIVersion", + "Value": "20150202" + }, + { + "Key": "Service", + "Value": "ElastiCache" + } + ] + }, + "output": { + "TagList": [ + { + "Key": "APIVersion", + "Value": "20150202" + }, + { + "Key": "Service", + "Value": "ElastiCache" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Adds up to 10 tags, key/value pairs, to a cluster or snapshot resource.", + "id": "addtagstoresource-1482430264385", + "title": "AddTagsToResource" + } + ], + "AuthorizeCacheSecurityGroupIngress": [ + { + "input": { + "CacheSecurityGroupName": "my-sec-grp", + "EC2SecurityGroupName": "my-ec2-sec-grp", + "EC2SecurityGroupOwnerId": "1234567890" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2. Amazon EC2 security groups are used as the authorization mechanism.", + "id": "authorizecachecachesecuritygroupingress-1483046446206", + "title": "AuthorizeCacheCacheSecurityGroupIngress" + } + ], + "CopySnapshot": [ + { + "input": { + "SourceSnapshotName": "my-snapshot", + "TargetBucket": "", + "TargetSnapshotName": "my-snapshot-copy" + }, + "output": { + "Snapshot": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T22:24:04.955Z", + "CacheClusterId": "my-redis4", + "CacheNodeType": "cache.m3.large", + "CacheParameterGroupName": "default.redis3.2", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheNodeCreateTime": "2016-12-21T22:24:04.955Z", + "CacheNodeId": "0001", + "CacheSize": "3 MB", + "SnapshotCreateTime": "2016-12-28T07:00:52Z" + } + ], + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-east-1c", + "PreferredMaintenanceWindow": "tue:09:30-tue:10:30", + "SnapshotName": "my-snapshot-copy", + "SnapshotRetentionLimit": 7, + "SnapshotSource": "manual", + "SnapshotStatus": "creating", + "SnapshotWindow": "07:00-08:00", + "VpcId": "vpc-3820329f3" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Copies a snapshot to a specified name.", + "id": "copysnapshot-1482961393820", + "title": "CopySnapshot" + } + ], + "CreateCacheCluster": [ + { + "input": { + "AZMode": "cross-az", + "CacheClusterId": "my-memcached-cluster", + "CacheNodeType": "cache.r3.large", + "CacheSubnetGroupName": "default", + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "Port": 11211 + }, + "output": { + "CacheCluster": { + "AutoMinorVersionUpgrade": true, + "CacheClusterId": "my-memcached-cluster", + "CacheClusterStatus": "creating", + "CacheNodeType": "cache.r3.large", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.memcached1.4", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "Multiple", + "PreferredMaintenanceWindow": "wed:09:00-wed:10:00" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a Memcached cluster with 2 nodes. ", + "id": "createcachecluster-1474994727381", + "title": "CreateCacheCluster" + }, + { + "input": { + "AutoMinorVersionUpgrade": true, + "CacheClusterId": "my-redis", + "CacheNodeType": "cache.r3.larage", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-east-1c", + "SnapshotRetentionLimit": 7 + }, + "output": { + "CacheCluster": { + "AutoMinorVersionUpgrade": true, + "CacheClusterId": "my-redis", + "CacheClusterStatus": "creating", + "CacheNodeType": "cache.m3.large", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.redis3.2", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https: //console.aws.amazon.com/elasticache/home#client-download: ", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NumCacheNodes": 1, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "us-east-1c", + "PreferredMaintenanceWindow": "fri: 05: 30-fri: 06: 30", + "SnapshotRetentionLimit": 7, + "SnapshotWindow": "10: 00-11: 00" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a Redis cluster with 1 node. ", + "id": "createcachecluster-1474994727381", + "title": "CreateCacheCluster" + } + ], + "CreateCacheParameterGroup": [ + { + "input": { + "CacheParameterGroupFamily": "redis2.8", + "CacheParameterGroupName": "custom-redis2-8", + "Description": "Custom Redis 2.8 parameter group." + }, + "output": { + "CacheParameterGroup": { + "CacheParameterGroupFamily": "redis2.8", + "CacheParameterGroupName": "custom-redis2-8", + "Description": "Custom Redis 2.8 parameter group." + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates the Amazon ElastiCache parameter group custom-redis2-8.", + "id": "createcacheparametergroup-1474997699362", + "title": "CreateCacheParameterGroup" + } + ], + "CreateCacheSecurityGroup": [ + { + "input": { + "CacheSecurityGroupName": "my-cache-sec-grp", + "Description": "Example ElastiCache security group." + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates an ElastiCache security group. ElastiCache security groups are only for clusters not running in an AWS VPC.", + "id": "createcachesecuritygroup-1483041506604", + "title": "CreateCacheSecurityGroup" + } + ], + "CreateCacheSubnetGroup": [ + { + "input": { + "CacheSubnetGroupDescription": "Sample subnet group", + "CacheSubnetGroupName": "my-sn-grp2", + "SubnetIds": [ + "subnet-6f28c982", + "subnet-bcd382f3", + "subnet-845b3e7c0" + ] + }, + "output": { + "CacheSubnetGroup": { + "CacheSubnetGroupDescription": "My subnet group.", + "CacheSubnetGroupName": "my-sn-grp", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetIdentifier": "subnet-6f28c982" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-bcd382f3" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-845b3e7c0" + } + ], + "VpcId": "vpc-91280df6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a new cache subnet group.", + "id": "createcachesubnet-1483042274558", + "title": "CreateCacheSubnet" + } + ], + "CreateReplicationGroup": [ + { + "input": { + "AutomaticFailoverEnabled": true, + "CacheNodeType": "cache.m3.medium", + "Engine": "redis", + "EngineVersion": "2.8.24", + "NumCacheClusters": 3, + "ReplicationGroupDescription": "A Redis replication group.", + "ReplicationGroupId": "my-redis-rg", + "SnapshotRetentionLimit": 30 + }, + "output": { + "ReplicationGroup": { + "AutomaticFailover": "enabling", + "Description": "A Redis replication group.", + "MemberClusters": [ + "my-redis-rg-001", + "my-redis-rg-002", + "my-redis-rg-003" + ], + "PendingModifiedValues": { + }, + "ReplicationGroupId": "my-redis-rg", + "SnapshottingClusterId": "my-redis-rg-002", + "Status": "creating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a Redis replication group with 3 nodes.", + "id": "createcachereplicationgroup-1474998730655", + "title": "CreateCacheReplicationGroup" + }, + { + "input": { + "AutoMinorVersionUpgrade": true, + "CacheNodeType": "cache.m3.medium", + "CacheParameterGroupName": "default.redis3.2.cluster.on", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeGroupConfiguration": [ + { + "PrimaryAvailabilityZone": "us-east-1c", + "ReplicaAvailabilityZones": [ + "us-east-1b" + ], + "ReplicaCount": 1, + "Slots": "0-8999" + }, + { + "PrimaryAvailabilityZone": "us-east-1a", + "ReplicaAvailabilityZones": [ + "us-east-1a", + "us-east-1c" + ], + "ReplicaCount": 2, + "Slots": "9000-16383" + } + ], + "NumNodeGroups": 2, + "ReplicationGroupDescription": "A multi-sharded replication group", + "ReplicationGroupId": "clustered-redis-rg", + "SnapshotRetentionLimit": 8 + }, + "output": { + "ReplicationGroup": { + "AutomaticFailover": "enabled", + "Description": "Sharded replication group", + "MemberClusters": [ + "rc-rg3-0001-001", + "rc-rg3-0001-002", + "rc-rg3-0002-001", + "rc-rg3-0002-002", + "rc-rg3-0002-003" + ], + "PendingModifiedValues": { + }, + "ReplicationGroupId": "clustered-redis-rg", + "SnapshotRetentionLimit": 8, + "SnapshotWindow": "05:30-06:30", + "Status": "creating" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a Redis (cluster mode enabled) replication group with two shards. One shard has one read replica node and the other shard has two read replicas.", + "id": "createreplicationgroup-1483657035585", + "title": "CreateReplicationGroup" + } + ], + "CreateSnapshot": [ + { + "input": { + "CacheClusterId": "onenoderedis", + "SnapshotName": "snapshot-1" + }, + "output": { + "Snapshot": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2017-02-03T15:43:36.278Z", + "CacheClusterId": "onenoderedis", + "CacheNodeType": "cache.m3.medium", + "CacheParameterGroupName": "default.redis3.2", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheNodeCreateTime": "2017-02-03T15:43:36.278Z", + "CacheNodeId": "0001", + "CacheSize": "" + } + ], + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-west-2c", + "PreferredMaintenanceWindow": "sat:08:00-sat:09:00", + "SnapshotName": "snapshot-1", + "SnapshotRetentionLimit": 1, + "SnapshotSource": "manual", + "SnapshotStatus": "creating", + "SnapshotWindow": "00:00-01:00", + "VpcId": "vpc-73c3cd17" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a snapshot of a non-clustered Redis cluster that has only one node.", + "id": "createsnapshot-1474999681024", + "title": "CreateSnapshot - NonClustered Redis, no read-replicas" + }, + { + "input": { + "CacheClusterId": "threenoderedis-001", + "SnapshotName": "snapshot-2" + }, + "output": { + "Snapshot": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2017-02-03T15:43:36.278Z", + "CacheClusterId": "threenoderedis-001", + "CacheNodeType": "cache.m3.medium", + "CacheParameterGroupName": "default.redis3.2", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheNodeCreateTime": "2017-02-03T15:43:36.278Z", + "CacheNodeId": "0001", + "CacheSize": "" + } + ], + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-west-2c", + "PreferredMaintenanceWindow": "sat:08:00-sat:09:00", + "SnapshotName": "snapshot-2", + "SnapshotRetentionLimit": 1, + "SnapshotSource": "manual", + "SnapshotStatus": "creating", + "SnapshotWindow": "00:00-01:00", + "VpcId": "vpc-73c3cd17" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a snapshot of a non-clustered Redis cluster that has only three nodes, primary and two read-replicas. CacheClusterId must be a specific node in the cluster.", + "id": "createsnapshot-1474999681024", + "title": "CreateSnapshot - NonClustered Redis, 2 read-replicas" + }, + { + "input": { + "ReplicationGroupId": "clusteredredis", + "SnapshotName": "snapshot-2x5" + }, + "output": { + "Snapshot": { + "AutoMinorVersionUpgrade": true, + "AutomaticFailover": "enabled", + "CacheNodeType": "cache.m3.medium", + "CacheParameterGroupName": "default.redis3.2.cluster.on", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheSize": "", + "NodeGroupId": "0001" + }, + { + "CacheSize": "", + "NodeGroupId": "0002" + } + ], + "NumNodeGroups": 2, + "Port": 6379, + "PreferredMaintenanceWindow": "mon:09:30-mon:10:30", + "ReplicationGroupDescription": "Redis cluster with 2 shards.", + "ReplicationGroupId": "clusteredredis", + "SnapshotName": "snapshot-2x5", + "SnapshotRetentionLimit": 1, + "SnapshotSource": "manual", + "SnapshotStatus": "creating", + "SnapshotWindow": "12:00-13:00", + "VpcId": "vpc-73c3cd17" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a snapshot of a clustered Redis cluster that has 2 shards, each with a primary and 4 read-replicas.", + "id": "createsnapshot-clustered-redis-1486144841758", + "title": "CreateSnapshot-clustered Redis" + } + ], + "DeleteCacheCluster": [ + { + "input": { + "CacheClusterId": "my-memcached" + }, + "output": { + "CacheCluster": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-22T16:05:17.314Z", + "CacheClusterId": "my-memcached", + "CacheClusterStatus": "deleting", + "CacheNodeType": "cache.r3.large", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.memcached1.4", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "ConfigurationEndpoint": { + "Address": "my-memcached2.ameaqx.cfg.use1.cache.amazonaws.com", + "Port": 11211 + }, + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "Multiple", + "PreferredMaintenanceWindow": "tue:07:30-tue:08:30" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes an Amazon ElastiCache cluster.", + "id": "deletecachecluster-1475010605291", + "title": "DeleteCacheCluster" + } + ], + "DeleteCacheParameterGroup": [ + { + "input": { + "CacheParameterGroupName": "custom-mem1-4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the Amazon ElastiCache parameter group custom-mem1-4.", + "id": "deletecacheparametergroup-1475010933957", + "title": "DeleteCacheParameterGroup" + } + ], + "DeleteCacheSecurityGroup": [ + { + "input": { + "CacheSecurityGroupName": "my-sec-group" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes a cache security group.", + "id": "deletecachesecuritygroup-1483046967507", + "title": "DeleteCacheSecurityGroup" + } + ], + "DeleteCacheSubnetGroup": [ + { + "input": { + "CacheSubnetGroupName": "my-subnet-group" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the Amazon ElastiCache subnet group my-subnet-group.", + "id": "deletecachesubnetgroup-1475011431325", + "title": "DeleteCacheSubnetGroup" + } + ], + "DeleteReplicationGroup": [ + { + "input": { + "ReplicationGroupId": "my-redis-rg", + "RetainPrimaryCluster": false + }, + "output": { + "ReplicationGroup": { + "AutomaticFailover": "disabled", + "Description": "simple redis cluster", + "PendingModifiedValues": { + }, + "ReplicationGroupId": "my-redis-rg", + "Status": "deleting" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the Amazon ElastiCache replication group my-redis-rg.", + "id": "deletereplicationgroup-1475011641804", + "title": "DeleteReplicationGroup" + } + ], + "DeleteSnapshot": [ + { + "input": { + "SnapshotName": "snapshot-20161212" + }, + "output": { + "Snapshot": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T22:27:12.543Z", + "CacheClusterId": "my-redis5", + "CacheNodeType": "cache.m3.large", + "CacheParameterGroupName": "default.redis3.2", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheNodeCreateTime": "2016-12-21T22:27:12.543Z", + "CacheNodeId": "0001", + "CacheSize": "3 MB", + "SnapshotCreateTime": "2016-12-21T22:30:26Z" + } + ], + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-east-1c", + "PreferredMaintenanceWindow": "fri:05:30-fri:06:30", + "SnapshotName": "snapshot-20161212", + "SnapshotRetentionLimit": 7, + "SnapshotSource": "manual", + "SnapshotStatus": "deleting", + "SnapshotWindow": "10:00-11:00", + "VpcId": "vpc-91280df6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the Redis snapshot snapshot-20160822.", + "id": "deletesnapshot-1475011945779", + "title": "DeleteSnapshot" + } + ], + "DescribeCacheClusters": [ + { + "input": { + "CacheClusterId": "my-mem-cluster" + }, + "output": { + "CacheClusters": [ + { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T21:59:43.794Z", + "CacheClusterId": "my-mem-cluster", + "CacheClusterStatus": "available", + "CacheNodeType": "cache.t2.medium", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.memcached1.4", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "ConfigurationEndpoint": { + "Address": "my-mem-cluster.abcdef.cfg.use1.cache.amazonaws.com", + "Port": 11211 + }, + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "Multiple", + "PreferredMaintenanceWindow": "wed:06:00-wed:07:00" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the details for up to 50 cache clusters.", + "id": "describecacheclusters-1475012269754", + "title": "DescribeCacheClusters" + }, + { + "input": { + "CacheClusterId": "my-mem-cluster", + "ShowCacheNodeInfo": true + }, + "output": { + "CacheClusters": [ + { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T21:59:43.794Z", + "CacheClusterId": "my-mem-cluster", + "CacheClusterStatus": "available", + "CacheNodeType": "cache.t2.medium", + "CacheNodes": [ + { + "CacheNodeCreateTime": "2016-12-21T21:59:43.794Z", + "CacheNodeId": "0001", + "CacheNodeStatus": "available", + "CustomerAvailabilityZone": "us-east-1b", + "Endpoint": { + "Address": "my-mem-cluster.ameaqx.0001.use1.cache.amazonaws.com", + "Port": 11211 + }, + "ParameterGroupStatus": "in-sync" + }, + { + "CacheNodeCreateTime": "2016-12-21T21:59:43.794Z", + "CacheNodeId": "0002", + "CacheNodeStatus": "available", + "CustomerAvailabilityZone": "us-east-1a", + "Endpoint": { + "Address": "my-mem-cluster.ameaqx.0002.use1.cache.amazonaws.com", + "Port": 11211 + }, + "ParameterGroupStatus": "in-sync" + } + ], + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.memcached1.4", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "ConfigurationEndpoint": { + "Address": "my-mem-cluster.ameaqx.cfg.use1.cache.amazonaws.com", + "Port": 11211 + }, + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "Multiple", + "PreferredMaintenanceWindow": "wed:06:00-wed:07:00" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the details for the cache cluster my-mem-cluster.", + "id": "describecacheclusters-1475012269754", + "title": "DescribeCacheClusters" + } + ], + "DescribeCacheEngineVersions": [ + { + "input": { + }, + "output": { + "CacheEngineVersions": [ + { + "CacheEngineDescription": "memcached", + "CacheEngineVersionDescription": "memcached version 1.4.14", + "CacheParameterGroupFamily": "memcached1.4", + "Engine": "memcached", + "EngineVersion": "1.4.14" + }, + { + "CacheEngineDescription": "memcached", + "CacheEngineVersionDescription": "memcached version 1.4.24", + "CacheParameterGroupFamily": "memcached1.4", + "Engine": "memcached", + "EngineVersion": "1.4.24" + }, + { + "CacheEngineDescription": "memcached", + "CacheEngineVersionDescription": "memcached version 1.4.33", + "CacheParameterGroupFamily": "memcached1.4", + "Engine": "memcached", + "EngineVersion": "1.4.33" + }, + { + "CacheEngineDescription": "memcached", + "CacheEngineVersionDescription": "memcached version 1.4.5", + "CacheParameterGroupFamily": "memcached1.4", + "Engine": "memcached", + "EngineVersion": "1.4.5" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.6.13", + "CacheParameterGroupFamily": "redis2.6", + "Engine": "redis", + "EngineVersion": "2.6.13" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.19", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.19" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.21", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.21" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.22 R5", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.22" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.23 R4", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.23" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.24 R3", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.24" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.6", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.6" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 3.2.4", + "CacheParameterGroupFamily": "redis3.2", + "Engine": "redis", + "EngineVersion": "3.2.4" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the details for up to 25 Memcached and Redis cache engine versions.", + "id": "describecacheengineversions-1475012638790", + "title": "DescribeCacheEngineVersions" + }, + { + "input": { + "DefaultOnly": false, + "Engine": "redis", + "MaxRecords": 50 + }, + "output": { + "CacheEngineVersions": [ + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.6.13", + "CacheParameterGroupFamily": "redis2.6", + "Engine": "redis", + "EngineVersion": "2.6.13" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.19", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.19" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.21", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.21" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.22 R5", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.22" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.23 R4", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.23" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.24 R3", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.24" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 2.8.6", + "CacheParameterGroupFamily": "redis2.8", + "Engine": "redis", + "EngineVersion": "2.8.6" + }, + { + "CacheEngineDescription": "Redis", + "CacheEngineVersionDescription": "redis version 3.2.4", + "CacheParameterGroupFamily": "redis3.2", + "Engine": "redis", + "EngineVersion": "3.2.4" + } + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the details for up to 50 Redis cache engine versions.", + "id": "describecacheengineversions-1475012638790", + "title": "DescribeCacheEngineVersions" + } + ], + "DescribeCacheParameterGroups": [ + { + "input": { + "CacheParameterGroupName": "custom-mem1-4" + }, + "output": { + "CacheParameterGroups": [ + { + "CacheParameterGroupFamily": "memcached1.4", + "CacheParameterGroupName": "custom-mem1-4", + "Description": "Custom memcache param group" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "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.", + "id": "describecacheparametergroups-1483045457557", + "title": "DescribeCacheParameterGroups" + } + ], + "DescribeCacheParameters": [ + { + "input": { + "CacheParameterGroupName": "custom-redis2-8", + "MaxRecords": 100, + "Source": "user" + }, + "output": { + "Marker": "", + "Parameters": [ + { + "AllowedValues": "yes,no", + "ChangeType": "requires-reboot", + "DataType": "string", + "Description": "Apply rehashing or not.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "activerehashing", + "ParameterValue": "yes", + "Source": "system" + }, + { + "AllowedValues": "always,everysec,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "fsync policy for AOF persistence", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "appendfsync", + "ParameterValue": "everysec", + "Source": "system" + }, + { + "AllowedValues": "yes,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "Enable Redis persistence.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "appendonly", + "ParameterValue": "no", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer hard limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-hard-limit", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer soft limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-soft-limit", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer soft limit in seconds.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-soft-seconds", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer hard limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-hard-limit", + "ParameterValue": "33554432", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer soft limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-soft-limit", + "ParameterValue": "8388608", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer soft limit in seconds.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-soft-seconds", + "ParameterValue": "60", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Slave client output buffer soft limit in seconds.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-slave-soft-seconds", + "ParameterValue": "60", + "Source": "system" + }, + { + "AllowedValues": "yes,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "If enabled, clients who attempt to write to a read-only slave will be disconnected. Applicable to 2.8.23 and higher.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.23", + "ParameterName": "close-on-slave-write", + "ParameterValue": "yes", + "Source": "system" + }, + { + "AllowedValues": "1-1200000", + "ChangeType": "requires-reboot", + "DataType": "integer", + "Description": "Set the number of databases.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "databases", + "ParameterValue": "16", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum number of hash entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "hash-max-ziplist-entries", + "ParameterValue": "512", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The threshold of biggest hash entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "hash-max-ziplist-value", + "ParameterValue": "64", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum number of list entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "list-max-ziplist-entries", + "ParameterValue": "512", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The threshold of biggest list entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "list-max-ziplist-value", + "ParameterValue": "64", + "Source": "system" + }, + { + "AllowedValues": "5000", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "lua-time-limit", + "ParameterValue": "5000", + "Source": "system" + }, + { + "AllowedValues": "1-65000", + "ChangeType": "requires-reboot", + "DataType": "integer", + "Description": "The maximum number of Redis clients.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxclients", + "ParameterValue": "65000", + "Source": "system" + }, + { + "AllowedValues": "volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction", + "ChangeType": "immediate", + "DataType": "string", + "Description": "Max memory policy.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxmemory-policy", + "ParameterValue": "volatile-lru", + "Source": "system" + }, + { + "AllowedValues": "1-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Max memory samples.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxmemory-samples", + "ParameterValue": "3", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Maximum number of seconds within which the master must receive a ping from a slave to take writes. Use this parameter together with min-slaves-to-write to regulate when the master stops accepting writes. Setting this value to 0 means the master always takes writes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "min-slaves-max-lag", + "ParameterValue": "10", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Number of slaves that must be connected in order for master to take writes. Use this parameter together with min-slaves-max-lag to regulate when the master stops accepting writes. Setting this to 0 means the master always takes writes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "min-slaves-to-write", + "ParameterValue": "0", + "Source": "system" + }, + { + "ChangeType": "immediate", + "DataType": "string", + "Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "notify-keyspace-events", + "Source": "system" + }, + { + "AllowedValues": "16384-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The replication backlog size in bytes for PSYNC. This is the size of the buffer which accumulates slave data when slave is disconnected for some time, so that when slave reconnects again, only transfer the portion of data which the slave missed. Minimum value is 16K.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "repl-backlog-size", + "ParameterValue": "1048576", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The amount of time in seconds after the master no longer have any slaves connected for the master to free the replication backlog. A value of 0 means to never release the backlog.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "repl-backlog-ttl", + "ParameterValue": "3600", + "Source": "system" + }, + { + "AllowedValues": "11-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The timeout in seconds for bulk transfer I/O during sync and master timeout from the perspective of the slave, and slave timeout from the perspective of the master.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "repl-timeout", + "ParameterValue": "60", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The amount of memory reserved for non-cache memory usage, in bytes. You may want to increase this parameter for nodes with read replicas, AOF enabled, etc, to reduce swap usage.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "reserved-memory", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The limit in the size of the set in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "set-max-intset-entries", + "ParameterValue": "512", + "Source": "system" + }, + { + "AllowedValues": "yes,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "Configures if chaining of slaves is allowed", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "slave-allow-chaining", + "ParameterValue": "no", + "Source": "system" + }, + { + "AllowedValues": "-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The execution time, in microseconds, to exceed in order for the command to get logged. Note that a negative number disables the slow log, while a value of zero forces the logging of every command.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "slowlog-log-slower-than", + "ParameterValue": "10000", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The length of the slow log. There is no limit to this length. Just be aware that it will consume memory. You can reclaim memory used by the slow log with SLOWLOG RESET.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "slowlog-max-len", + "ParameterValue": "128", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "If non-zero, send ACKs every given number of seconds.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "tcp-keepalive", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0,20-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Close connection if client is idle for a given number of seconds, or never if 0.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "timeout", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum number of sorted set entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "zset-max-ziplist-entries", + "ParameterValue": "128", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The threshold of biggest sorted set entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "zset-max-ziplist-value", + "ParameterValue": "64", + "Source": "system" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists up to 100 user parameter values for the parameter group custom.redis2.8.", + "id": "describecacheparameters-1475013576900", + "title": "DescribeCacheParameters" + } + ], + "DescribeCacheSecurityGroups": [ + { + "input": { + "CacheSecurityGroupName": "my-sec-group" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "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.", + "id": "describecachesecuritygroups-1483047200801", + "title": "DescribeCacheSecurityGroups" + } + ], + "DescribeCacheSubnetGroups": [ + { + "input": { + "MaxRecords": 25 + }, + "output": { + "CacheSubnetGroups": [ + { + "CacheSubnetGroupDescription": "Default CacheSubnetGroup", + "CacheSubnetGroupName": "default", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1a" + }, + "SubnetIdentifier": "subnet-1a2b3c4d" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-a1b2c3d4" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-abcd1234" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-1234abcd" + } + ], + "VpcId": "vpc-91280df6" + } + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes up to 25 cache subnet groups.", + "id": "describecachesubnetgroups-1482439214064", + "title": "DescribeCacheSubnetGroups" + } + ], + "DescribeEngineDefaultParameters": [ + { + "input": { + "CacheParameterGroupFamily": "redis2.8", + "MaxRecords": 25 + }, + "output": { + "EngineDefaults": { + "CacheNodeTypeSpecificParameters": [ + { + "AllowedValues": "0-", + "CacheNodeTypeSpecificValues": [ + { + "CacheNodeType": "cache.c1.xlarge", + "Value": "650117120" + }, + { + "CacheNodeType": "cache.m1.large", + "Value": "702545920" + }, + { + "CacheNodeType": "cache.m1.medium", + "Value": "309329920" + }, + { + "CacheNodeType": "cache.m1.small", + "Value": "94371840" + }, + { + "CacheNodeType": "cache.m1.xlarge", + "Value": "1488977920" + }, + { + "CacheNodeType": "cache.m2.2xlarge", + "Value": "3502243840" + }, + { + "CacheNodeType": "cache.m2.4xlarge", + "Value": "7088373760" + }, + { + "CacheNodeType": "cache.m2.xlarge", + "Value": "1709178880" + }, + { + "CacheNodeType": "cache.m3.2xlarge", + "Value": "2998927360" + }, + { + "CacheNodeType": "cache.m3.large", + "Value": "650117120" + }, + { + "CacheNodeType": "cache.m3.medium", + "Value": "309329920" + }, + { + "CacheNodeType": "cache.m3.xlarge", + "Value": "1426063360" + }, + { + "CacheNodeType": "cache.m4.10xlarge", + "Value": "16604761424" + }, + { + "CacheNodeType": "cache.m4.2xlarge", + "Value": "3188912636" + }, + { + "CacheNodeType": "cache.m4.4xlarge", + "Value": "6525729063" + }, + { + "CacheNodeType": "cache.m4.large", + "Value": "689259315" + }, + { + "CacheNodeType": "cache.m4.xlarge", + "Value": "1532850176" + }, + { + "CacheNodeType": "cache.r3.2xlarge", + "Value": "6081740800" + }, + { + "CacheNodeType": "cache.r3.4xlarge", + "Value": "12268339200" + }, + { + "CacheNodeType": "cache.r3.8xlarge", + "Value": "24536678400" + }, + { + "CacheNodeType": "cache.r3.large", + "Value": "1468006400" + }, + { + "CacheNodeType": "cache.r3.xlarge", + "Value": "3040870400" + }, + { + "CacheNodeType": "cache.t1.micro", + "Value": "14260633" + }, + { + "CacheNodeType": "cache.t2.medium", + "Value": "346134937" + }, + { + "CacheNodeType": "cache.t2.micro", + "Value": "58195968" + }, + { + "CacheNodeType": "cache.t2.small", + "Value": "166513868" + } + ], + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Slave client output buffer hard limit in bytes.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-slave-hard-limit", + "Source": "system" + }, + { + "AllowedValues": "0-", + "CacheNodeTypeSpecificValues": [ + { + "CacheNodeType": "cache.c1.xlarge", + "Value": "650117120" + }, + { + "CacheNodeType": "cache.m1.large", + "Value": "702545920" + }, + { + "CacheNodeType": "cache.m1.medium", + "Value": "309329920" + }, + { + "CacheNodeType": "cache.m1.small", + "Value": "94371840" + }, + { + "CacheNodeType": "cache.m1.xlarge", + "Value": "1488977920" + }, + { + "CacheNodeType": "cache.m2.2xlarge", + "Value": "3502243840" + }, + { + "CacheNodeType": "cache.m2.4xlarge", + "Value": "7088373760" + }, + { + "CacheNodeType": "cache.m2.xlarge", + "Value": "1709178880" + }, + { + "CacheNodeType": "cache.m3.2xlarge", + "Value": "2998927360" + }, + { + "CacheNodeType": "cache.m3.large", + "Value": "650117120" + }, + { + "CacheNodeType": "cache.m3.medium", + "Value": "309329920" + }, + { + "CacheNodeType": "cache.m3.xlarge", + "Value": "1426063360" + }, + { + "CacheNodeType": "cache.m4.10xlarge", + "Value": "16604761424" + }, + { + "CacheNodeType": "cache.m4.2xlarge", + "Value": "3188912636" + }, + { + "CacheNodeType": "cache.m4.4xlarge", + "Value": "6525729063" + }, + { + "CacheNodeType": "cache.m4.large", + "Value": "689259315" + }, + { + "CacheNodeType": "cache.m4.xlarge", + "Value": "1532850176" + }, + { + "CacheNodeType": "cache.r3.2xlarge", + "Value": "6081740800" + }, + { + "CacheNodeType": "cache.r3.4xlarge", + "Value": "12268339200" + }, + { + "CacheNodeType": "cache.r3.8xlarge", + "Value": "24536678400" + }, + { + "CacheNodeType": "cache.r3.large", + "Value": "1468006400" + }, + { + "CacheNodeType": "cache.r3.xlarge", + "Value": "3040870400" + }, + { + "CacheNodeType": "cache.t1.micro", + "Value": "14260633" + }, + { + "CacheNodeType": "cache.t2.medium", + "Value": "346134937" + }, + { + "CacheNodeType": "cache.t2.micro", + "Value": "58195968" + }, + { + "CacheNodeType": "cache.t2.small", + "Value": "166513868" + } + ], + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Slave client output buffer soft limit in bytes.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-slave-soft-limit", + "Source": "system" + }, + { + "AllowedValues": "0-", + "CacheNodeTypeSpecificValues": [ + { + "CacheNodeType": "cache.c1.xlarge", + "Value": "6501171200" + }, + { + "CacheNodeType": "cache.m1.large", + "Value": "7025459200" + }, + { + "CacheNodeType": "cache.m1.medium", + "Value": "3093299200" + }, + { + "CacheNodeType": "cache.m1.small", + "Value": "943718400" + }, + { + "CacheNodeType": "cache.m1.xlarge", + "Value": "14889779200" + }, + { + "CacheNodeType": "cache.m2.2xlarge", + "Value": "35022438400" + }, + { + "CacheNodeType": "cache.m2.4xlarge", + "Value": "70883737600" + }, + { + "CacheNodeType": "cache.m2.xlarge", + "Value": "17091788800" + }, + { + "CacheNodeType": "cache.m3.2xlarge", + "Value": "29989273600" + }, + { + "CacheNodeType": "cache.m3.large", + "Value": "6501171200" + }, + { + "CacheNodeType": "cache.m3.medium", + "Value": "2988441600" + }, + { + "CacheNodeType": "cache.m3.xlarge", + "Value": "14260633600" + }, + { + "CacheNodeType": "cache.m4.10xlarge", + "Value": "166047614239" + }, + { + "CacheNodeType": "cache.m4.2xlarge", + "Value": "31889126359" + }, + { + "CacheNodeType": "cache.m4.4xlarge", + "Value": "65257290629" + }, + { + "CacheNodeType": "cache.m4.large", + "Value": "6892593152" + }, + { + "CacheNodeType": "cache.m4.xlarge", + "Value": "15328501760" + }, + { + "CacheNodeType": "cache.r3.2xlarge", + "Value": "62495129600" + }, + { + "CacheNodeType": "cache.r3.4xlarge", + "Value": "126458265600" + }, + { + "CacheNodeType": "cache.r3.8xlarge", + "Value": "254384537600" + }, + { + "CacheNodeType": "cache.r3.large", + "Value": "14470348800" + }, + { + "CacheNodeType": "cache.r3.xlarge", + "Value": "30513561600" + }, + { + "CacheNodeType": "cache.t1.micro", + "Value": "142606336" + }, + { + "CacheNodeType": "cache.t2.medium", + "Value": "3461349376" + }, + { + "CacheNodeType": "cache.t2.micro", + "Value": "581959680" + }, + { + "CacheNodeType": "cache.t2.small", + "Value": "1665138688" + } + ], + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum configurable amount of memory to use to store items, in bytes.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxmemory", + "Source": "system" + } + ], + "CacheParameterGroupFamily": "redis2.8", + "Marker": "bWluLXNsYXZlcy10by13cml0ZQ==", + "Parameters": [ + { + "AllowedValues": "yes,no", + "ChangeType": "requires-reboot", + "DataType": "string", + "Description": "Apply rehashing or not.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "activerehashing", + "ParameterValue": "yes", + "Source": "system" + }, + { + "AllowedValues": "always,everysec,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "fsync policy for AOF persistence", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "appendfsync", + "ParameterValue": "everysec", + "Source": "system" + }, + { + "AllowedValues": "yes,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "Enable Redis persistence.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "appendonly", + "ParameterValue": "no", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer hard limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-hard-limit", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer soft limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-soft-limit", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Normal client output buffer soft limit in seconds.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-normal-soft-seconds", + "ParameterValue": "0", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer hard limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-hard-limit", + "ParameterValue": "33554432", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer soft limit in bytes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-soft-limit", + "ParameterValue": "8388608", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Pubsub client output buffer soft limit in seconds.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-pubsub-soft-seconds", + "ParameterValue": "60", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Slave client output buffer soft limit in seconds.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "client-output-buffer-limit-slave-soft-seconds", + "ParameterValue": "60", + "Source": "system" + }, + { + "AllowedValues": "yes,no", + "ChangeType": "immediate", + "DataType": "string", + "Description": "If enabled, clients who attempt to write to a read-only slave will be disconnected. Applicable to 2.8.23 and higher.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.23", + "ParameterName": "close-on-slave-write", + "ParameterValue": "yes", + "Source": "system" + }, + { + "AllowedValues": "1-1200000", + "ChangeType": "requires-reboot", + "DataType": "integer", + "Description": "Set the number of databases.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "databases", + "ParameterValue": "16", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum number of hash entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "hash-max-ziplist-entries", + "ParameterValue": "512", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The threshold of biggest hash entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "hash-max-ziplist-value", + "ParameterValue": "64", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The maximum number of list entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "list-max-ziplist-entries", + "ParameterValue": "512", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "The threshold of biggest list entries in order for the dataset to be compressed.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "list-max-ziplist-value", + "ParameterValue": "64", + "Source": "system" + }, + { + "AllowedValues": "5000", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Max execution time of a Lua script in milliseconds. 0 for unlimited execution without warnings.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "lua-time-limit", + "ParameterValue": "5000", + "Source": "system" + }, + { + "AllowedValues": "1-65000", + "ChangeType": "requires-reboot", + "DataType": "integer", + "Description": "The maximum number of Redis clients.", + "IsModifiable": false, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxclients", + "ParameterValue": "65000", + "Source": "system" + }, + { + "AllowedValues": "volatile-lru,allkeys-lru,volatile-random,allkeys-random,volatile-ttl,noeviction", + "ChangeType": "immediate", + "DataType": "string", + "Description": "Max memory policy.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxmemory-policy", + "ParameterValue": "volatile-lru", + "Source": "system" + }, + { + "AllowedValues": "1-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Max memory samples.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "maxmemory-samples", + "ParameterValue": "3", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Maximum number of seconds within which the master must receive a ping from a slave to take writes. Use this parameter together with min-slaves-to-write to regulate when the master stops accepting writes. Setting this value to 0 means the master always takes writes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "min-slaves-max-lag", + "ParameterValue": "10", + "Source": "system" + }, + { + "AllowedValues": "0-", + "ChangeType": "immediate", + "DataType": "integer", + "Description": "Number of slaves that must be connected in order for master to take writes. Use this parameter together with min-slaves-max-lag to regulate when the master stops accepting writes. Setting this to 0 means the master always takes writes.", + "IsModifiable": true, + "MinimumEngineVersion": "2.8.6", + "ParameterName": "min-slaves-to-write", + "ParameterValue": "0", + "Source": "system" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the default engine and system parameter information for the specified cache engine.", + "id": "describeenginedefaultparameters-1481738057686", + "title": "DescribeEngineDefaultParameters" + } + ], + "DescribeEvents": [ + { + "input": { + "Duration": 360, + "SourceType": "cache-cluster" + }, + "output": { + "Events": [ + { + "Date": "2016-12-22T16:27:56.088Z", + "Message": "Added cache node 0001 in availability zone us-east-1e", + "SourceIdentifier": "redis-cluster", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:27:56.078Z", + "Message": "Cache cluster created", + "SourceIdentifier": "redis-cluster", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.326Z", + "Message": "Added cache node 0002 in availability zone us-east-1c", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.323Z", + "Message": "Added cache node 0001 in availability zone us-east-1e", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.314Z", + "Message": "Cache cluster created", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + } + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes all the cache-cluster events for the past 120 minutes.", + "id": "describeevents-1481843894757", + "title": "DescribeEvents" + }, + { + "input": { + "StartTime": "2016-12-22T15:00:00.000Z" + }, + "output": { + "Events": [ + { + "Date": "2016-12-22T21:35:46.674Z", + "Message": "Snapshot succeeded for snapshot with ID 'cr-bkup' of replication group with ID 'clustered-redis'", + "SourceIdentifier": "clustered-redis-0001-001", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:27:56.088Z", + "Message": "Added cache node 0001 in availability zone us-east-1e", + "SourceIdentifier": "redis-cluster", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:27:56.078Z", + "Message": "Cache cluster created", + "SourceIdentifier": "redis-cluster", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.326Z", + "Message": "Added cache node 0002 in availability zone us-east-1c", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.323Z", + "Message": "Added cache node 0001 in availability zone us-east-1e", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + }, + { + "Date": "2016-12-22T16:05:17.314Z", + "Message": "Cache cluster created", + "SourceIdentifier": "my-memcached2", + "SourceType": "cache-cluster" + } + ], + "Marker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes all the replication-group events from 3:00P to 5:00P on November 11, 2016.", + "id": "describeevents-1481843894757", + "title": "DescribeEvents" + } + ], + "DescribeReplicationGroups": [ + { + "input": { + }, + "output": { + "Marker": "", + "ReplicationGroups": [ + { + "AutomaticFailover": "enabled", + "Description": "Test cluster", + "MemberClusters": [ + "clustered-redis-0001-001", + "clustered-redis-0001-002", + "clustered-redis-0002-001", + "clustered-redis-0002-002" + ], + "NodeGroups": [ + { + "NodeGroupId": "0001", + "NodeGroupMembers": [ + { + "CacheClusterId": "clustered-redis-0001-001", + "CacheNodeId": "0001", + "PreferredAvailabilityZone": "us-east-1e" + }, + { + "CacheClusterId": "clustered-redis-0001-002", + "CacheNodeId": "0001", + "PreferredAvailabilityZone": "us-east-1c" + } + ], + "Status": "available" + }, + { + "NodeGroupId": "0002", + "NodeGroupMembers": [ + { + "CacheClusterId": "clustered-redis-0002-001", + "CacheNodeId": "0001", + "PreferredAvailabilityZone": "us-east-1c" + }, + { + "CacheClusterId": "clustered-redis-0002-002", + "CacheNodeId": "0001", + "PreferredAvailabilityZone": "us-east-1b" + } + ], + "Status": "available" + } + ], + "PendingModifiedValues": { + }, + "ReplicationGroupId": "clustered-redis", + "Status": "available" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the replication group myreplgroup.", + "id": "describereplicationgroups-1481742639427", + "title": "DescribeReplicationGroups" + } + ], + "DescribeReservedCacheNodes": [ + { + "input": { + "MaxRecords": 25 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about reserved cache nodes for this account, or about a specified reserved cache node. If the account has no reserved cache nodes, the operation returns an empty list, as shown here.", + "id": "describereservedcachenodes-1481742348045", + "title": "DescribeReservedCacheNodes" + } + ], + "DescribeReservedCacheNodesOfferings": [ + { + "input": { + "MaxRecords": 20 + }, + "output": { + "Marker": "1ef01f5b-433f-94ff-a530-61a56bfc8e7a", + "ReservedCacheNodesOfferings": [ + { + "CacheNodeType": "cache.m1.small", + "Duration": 94608000, + "FixedPrice": 157.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "0167633d-37f6-4222-b872-b1f22eb79ba4", + "UsagePrice": 0.017 + }, + { + "CacheNodeType": "cache.m4.xlarge", + "Duration": 94608000, + "FixedPrice": 1248.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.077, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "02c04e13-baca-4e71-9ceb-620eed94827d", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m2.4xlarge", + "Duration": 94608000, + "FixedPrice": 2381.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "02e1755e-76e8-48e3-8d82-820a5726a458", + "UsagePrice": 0.276 + }, + { + "CacheNodeType": "cache.m1.small", + "Duration": 94608000, + "FixedPrice": 188.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.013, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "03315215-7b87-421a-a3dd-785021e4113f", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m4.10xlarge", + "Duration": 31536000, + "FixedPrice": 6158.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 1.125, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "05ffbb44-2ace-4476-a2a5-8ec99f866fb3", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m1.small", + "Duration": 31536000, + "FixedPrice": 101.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "065c71ae-4a4e-4f1e-bebf-37525f4c6cb2", + "UsagePrice": 0.023 + }, + { + "CacheNodeType": "cache.m1.medium", + "Duration": 94608000, + "FixedPrice": 314.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "06774b12-7f5e-48c1-907a-f286c63f327d", + "UsagePrice": 0.034 + }, + { + "CacheNodeType": "cache.m2.xlarge", + "Duration": 31536000, + "FixedPrice": 163.0, + "OfferingType": "Light Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "0924ac6b-847f-4761-ba6b-4290b2adf719", + "UsagePrice": 0.137 + }, + { + "CacheNodeType": "cache.m2.xlarge", + "Duration": 94608000, + "FixedPrice": 719.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.049, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "09eeb126-69b6-4d3f-8f94-ca3510629f53", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.r3.2xlarge", + "Duration": 94608000, + "FixedPrice": 4132.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.182, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "0a516ad8-557f-4310-9dd0-2448c2ff4d62", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.c1.xlarge", + "Duration": 94608000, + "FixedPrice": 875.0, + "OfferingType": "Light Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "0b0c1cc5-2177-4150-95d7-c67ec34dcb19", + "UsagePrice": 0.363 + }, + { + "CacheNodeType": "cache.m4.10xlarge", + "Duration": 94608000, + "FixedPrice": 12483.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.76, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "0c2b139b-1cff-43d0-8fba-0c753f9b1950", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.c1.xlarge", + "Duration": 31536000, + "FixedPrice": 1620.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.207, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "0c52115b-38cb-47a2-8dbc-e02e40b6a13f", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m2.4xlarge", + "Duration": 94608000, + "FixedPrice": 2381.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "12fcb19c-5416-4e1d-934f-28f1e2cb8599", + "UsagePrice": 0.276 + }, + { + "CacheNodeType": "cache.m4.xlarge", + "Duration": 31536000, + "FixedPrice": 616.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.112, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "13af20ad-914d-4d8b-9763-fa2e565f3549", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.r3.8xlarge", + "Duration": 94608000, + "FixedPrice": 16528.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.729, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "14da3d3f-b526-4dbf-b09b-355578b2a576", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m1.medium", + "Duration": 94608000, + "FixedPrice": 140.0, + "OfferingType": "Light Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "15d7018c-71fb-4717-8409-4bdcdca18da7", + "UsagePrice": 0.052 + }, + { + "CacheNodeType": "cache.m4.4xlarge", + "Duration": 94608000, + "FixedPrice": 4993.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.304, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "1ae7ec5f-a76e-49b6-822b-629b1768a13a", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.m3.2xlarge", + "Duration": 31536000, + "FixedPrice": 1772.0, + "OfferingType": "Heavy Utilization", + "ProductDescription": "redis", + "RecurringCharges": [ + { + "RecurringChargeAmount": 0.25, + "RecurringChargeFrequency": "Hourly" + } + ], + "ReservedCacheNodesOfferingId": "1d31242b-3925-48d1-b882-ce03204e6013", + "UsagePrice": 0.0 + }, + { + "CacheNodeType": "cache.t1.micro", + "Duration": 31536000, + "FixedPrice": 54.0, + "OfferingType": "Medium Utilization", + "ProductDescription": "memcached", + "RecurringCharges": [ + + ], + "ReservedCacheNodesOfferingId": "1ef01f5b-94ff-433f-a530-61a56bfc8e7a", + "UsagePrice": 0.008 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists available reserved cache node offerings.", + "id": "describereseredcachenodeofferings-1481742869998", + "title": "DescribeReseredCacheNodeOfferings" + }, + { + "input": { + "CacheNodeType": "cache.r3.large", + "Duration": "3", + "MaxRecords": 25, + "OfferingType": "Light Utilization", + "ReservedCacheNodesOfferingId": "" + }, + "output": { + "Marker": "", + "ReservedCacheNodesOfferings": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists available reserved cache node offerings for cache.r3.large nodes with a 3 year commitment.", + "id": "describereseredcachenodeofferings-1481742869998", + "title": "DescribeReseredCacheNodeOfferings" + }, + { + "input": { + "CacheNodeType": "", + "Duration": "", + "Marker": "", + "MaxRecords": 25, + "OfferingType": "", + "ProductDescription": "", + "ReservedCacheNodesOfferingId": "438012d3-4052-4cc7-b2e3-8d3372e0e706" + }, + "output": { + "Marker": "", + "ReservedCacheNodesOfferings": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists available reserved cache node offerings.", + "id": "describereseredcachenodeofferings-1481742869998", + "title": "DescribeReseredCacheNodeOfferings" + } + ], + "DescribeSnapshots": [ + { + "input": { + "SnapshotName": "snapshot-20161212" + }, + "output": { + "Marker": "", + "Snapshots": [ + { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T22:27:12.543Z", + "CacheClusterId": "my-redis5", + "CacheNodeType": "cache.m3.large", + "CacheParameterGroupName": "default.redis3.2", + "CacheSubnetGroupName": "default", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NodeSnapshots": [ + { + "CacheNodeCreateTime": "2016-12-21T22:27:12.543Z", + "CacheNodeId": "0001", + "CacheSize": "3 MB", + "SnapshotCreateTime": "2016-12-21T22:30:26Z" + } + ], + "NumCacheNodes": 1, + "Port": 6379, + "PreferredAvailabilityZone": "us-east-1c", + "PreferredMaintenanceWindow": "fri:05:30-fri:06:30", + "SnapshotName": "snapshot-20161212", + "SnapshotRetentionLimit": 7, + "SnapshotSource": "manual", + "SnapshotStatus": "available", + "SnapshotWindow": "10:00-11:00", + "VpcId": "vpc-91280df6" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the snapshot mysnapshot. By default.", + "id": "describesnapshots-1481743399584", + "title": "DescribeSnapshots" + } + ], + "ListAllowedNodeTypeModifications": [ + { + "input": { + "ReplicationGroupId": "myreplgroup" + }, + "output": { + "ScaleUpModifications": [ + "cache.m4.10xlarge", + "cache.m4.2xlarge", + "cache.m4.4xlarge", + "cache.m4.xlarge", + "cache.r3.2xlarge", + "cache.r3.4xlarge", + "cache.r3.8xlarge", + "cache.r3.xlarge" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.", + "id": "listallowednodetypemodifications-1481748494872", + "title": "ListAllowedNodeTypeModifications" + }, + { + "input": { + "CacheClusterId": "mycluster" + }, + "output": { + "ScaleUpModifications": [ + + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.", + "id": "listallowednodetypemodifications-1481748494872", + "title": "ListAllowedNodeTypeModifications" + } + ], + "ListTagsForResource": [ + { + "input": { + "ResourceName": "arn:aws:elasticache:us-west-2::cluster:mycluster" + }, + "output": { + "TagList": [ + { + "Key": "APIVersion", + "Value": "20150202" + }, + { + "Key": "Service", + "Value": "ElastiCache" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "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.", + "id": "listtagsforresource-1481748784584", + "title": "ListTagsForResource" + } + ], + "ModifyCacheCluster": [ + { + "input": { + "ApplyImmediately": true, + "CacheClusterId": "redis-cluster", + "SnapshotRetentionLimit": 14 + }, + "output": { + "CacheCluster": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-22T16:27:56.078Z", + "CacheClusterId": "redis-cluster", + "CacheClusterStatus": "available", + "CacheNodeType": "cache.r3.large", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.redis3.2", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "Engine": "redis", + "EngineVersion": "3.2.4", + "NumCacheNodes": 1, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "us-east-1e", + "PreferredMaintenanceWindow": "fri:09:00-fri:10:00", + "SnapshotRetentionLimit": 14, + "SnapshotWindow": "07:00-08:00" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Copies a snapshot to a specified name.", + "id": "modifycachecluster-1482962725919", + "title": "ModifyCacheCluster" + } + ], + "ModifyCacheParameterGroup": [ + { + "input": { + "CacheParameterGroupName": "custom-mem1-4", + "ParameterNameValues": [ + { + "ParameterName": "binding_protocol", + "ParameterValue": "ascii" + }, + { + "ParameterName": "chunk_size", + "ParameterValue": "96" + } + ] + }, + "output": { + "CacheParameterGroupName": "custom-mem1-4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Modifies one or more parameter values in the specified parameter group. You cannot modify any default parameter group.", + "id": "modifycacheparametergroup-1482966746787", + "title": "ModifyCacheParameterGroup" + } + ], + "ModifyCacheSubnetGroup": [ + { + "input": { + "CacheSubnetGroupName": "my-sn-grp", + "SubnetIds": [ + "subnet-bcde2345" + ] + }, + "output": { + "CacheSubnetGroup": { + "CacheSubnetGroupDescription": "My subnet group.", + "CacheSubnetGroupName": "my-sn-grp", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-a1b2c3d4" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-1a2b3c4d" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1e" + }, + "SubnetIdentifier": "subnet-bcde2345" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1c" + }, + "SubnetIdentifier": "subnet-1234abcd" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-east-1b" + }, + "SubnetIdentifier": "subnet-abcd1234" + } + ], + "VpcId": "vpc-91280df6" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Modifies an existing ElastiCache subnet group.", + "id": "modifycachesubnetgroup-1483043446226", + "title": "ModifyCacheSubnetGroup" + } + ], + "ModifyReplicationGroup": [ + { + "input": { + "ApplyImmediately": true, + "ReplicationGroupDescription": "Modified replication group", + "ReplicationGroupId": "my-redis-rg", + "SnapshotRetentionLimit": 30, + "SnapshottingClusterId": "my-redis-rg-001" + }, + "output": { + "ReplicationGroup": { + "AutomaticFailover": "enabled", + "Description": "Modified replication group", + "MemberClusters": [ + "my-redis-rg-001", + "my-redis-rg-002", + "my-redis-rg-003" + ], + "NodeGroups": [ + { + "NodeGroupId": "0001", + "NodeGroupMembers": [ + { + "CacheClusterId": "my-redis-rg-001", + "CacheNodeId": "0001", + "CurrentRole": "primary", + "PreferredAvailabilityZone": "us-east-1b", + "ReadEndpoint": { + "Address": "my-redis-rg-001.abcdef.0001.use1.cache.amazonaws.com", + "Port": 6379 + } + }, + { + "CacheClusterId": "my-redis-rg-002", + "CacheNodeId": "0001", + "CurrentRole": "replica", + "PreferredAvailabilityZone": "us-east-1a", + "ReadEndpoint": { + "Address": "my-redis-rg-002.abcdef.0001.use1.cache.amazonaws.com", + "Port": 6379 + } + }, + { + "CacheClusterId": "my-redis-rg-003", + "CacheNodeId": "0001", + "CurrentRole": "replica", + "PreferredAvailabilityZone": "us-east-1c", + "ReadEndpoint": { + "Address": "my-redis-rg-003.abcdef.0001.use1.cache.amazonaws.com", + "Port": 6379 + } + } + ], + "PrimaryEndpoint": { + "Address": "my-redis-rg.abcdef.ng.0001.use1.cache.amazonaws.com", + "Port": 6379 + }, + "Status": "available" + } + ], + "PendingModifiedValues": { + }, + "ReplicationGroupId": "my-redis-rg", + "SnapshottingClusterId": "my-redis-rg-002", + "Status": "available" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "modifyreplicationgroup-1483039689581", + "title": "ModifyReplicationGroup" + } + ], + "PurchaseReservedCacheNodesOffering": [ + { + "input": { + "ReservedCacheNodesOfferingId": "1ef01f5b-94ff-433f-a530-61a56bfc8e7a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Allows you to purchase a reserved cache node offering.", + "id": "purchasereservedcachenodesofferings-1483040798484", + "title": "PurchaseReservedCacheNodesOfferings" + } + ], + "RebootCacheCluster": [ + { + "input": { + "CacheClusterId": "custom-mem1-4 ", + "CacheNodeIdsToReboot": [ + "0001", + "0002" + ] + }, + "output": { + "CacheCluster": { + "AutoMinorVersionUpgrade": true, + "CacheClusterCreateTime": "2016-12-21T21:59:43.794Z", + "CacheClusterId": "my-mem-cluster", + "CacheClusterStatus": "rebooting cache cluster nodes", + "CacheNodeType": "cache.t2.medium", + "CacheParameterGroup": { + "CacheNodeIdsToReboot": [ + + ], + "CacheParameterGroupName": "default.memcached1.4", + "ParameterApplyStatus": "in-sync" + }, + "CacheSecurityGroups": [ + + ], + "CacheSubnetGroupName": "default", + "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", + "ConfigurationEndpoint": { + "Address": "my-mem-cluster.abcdef.cfg.use1.cache.amazonaws.com", + "Port": 11211 + }, + "Engine": "memcached", + "EngineVersion": "1.4.24", + "NumCacheNodes": 2, + "PendingModifiedValues": { + }, + "PreferredAvailabilityZone": "Multiple", + "PreferredMaintenanceWindow": "wed:06:00-wed:07:00" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Reboots the specified nodes in the names cluster.", + "id": "rebootcachecluster-1482969019505", + "title": "RebootCacheCluster" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceName": "arn:aws:elasticache:us-east-1:1234567890:cluster:my-mem-cluster", + "TagKeys": [ + "A", + "C", + "E" + ] + }, + "output": { + "TagList": [ + { + "Key": "B", + "Value": "Banana" + }, + { + "Key": "D", + "Value": "Dog" + }, + { + "Key": "F", + "Value": "Fox" + }, + { + "Key": "I", + "Value": "" + }, + { + "Key": "K", + "Value": "Kite" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Removes tags identified by a list of tag keys from the list of tags on the specified resource.", + "id": "removetagsfromresource-1483037920947", + "title": "RemoveTagsFromResource" + } + ], + "ResetCacheParameterGroup": [ + { + "input": { + "CacheParameterGroupName": "custom-mem1-4", + "ResetAllParameters": true + }, + "output": { + "CacheParameterGroupName": "custom-mem1-4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Modifies the parameters of a cache parameter group to the engine or system default value.", + "id": "resetcacheparametergroup-1483038334014", + "title": "ResetCacheParameterGroup" + } + ], + "RevokeCacheSecurityGroupIngress": [ + { + "input": { + "CacheSecurityGroupName": "my-sec-grp", + "EC2SecurityGroupName": "my-ec2-sec-grp", + "EC2SecurityGroupOwnerId": "1234567890" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "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.", + "id": "describecachesecuritygroups-1483047200801", + "title": "DescribeCacheSecurityGroups" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -71,6 +71,24 @@ "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "Snapshots" + }, + "DescribeServiceUpdates": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ServiceUpdates" + }, + "DescribeUpdateActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "UpdateActions" + }, + "DescribeGlobalReplicationGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "GlobalReplicationGroups" } } } diff -Nru python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/service-2.json python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/service-2.json --- python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"elasticache", "protocol":"query", "serviceFullName":"Amazon ElastiCache", + "serviceId":"ElastiCache", "signatureVersion":"v4", + "uid":"elasticache-2015-02-02", "xmlNamespace":"http://elasticache.amazonaws.com/doc/2015-02-02/" }, "operations":{ @@ -26,7 +28,7 @@ {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"InvalidARNFault"} ], - "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.

" + "documentation":"

Adds up to 50 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", @@ -48,6 +50,58 @@ ], "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.

" }, + "BatchApplyUpdateAction":{ + "name":"BatchApplyUpdateAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchApplyUpdateActionMessage"}, + "output":{ + "shape":"UpdateActionResultsMessage", + "resultWrapper":"BatchApplyUpdateActionResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Apply the service update. For more information on service updates and applying them, see Applying Service Updates.

" + }, + "BatchStopUpdateAction":{ + "name":"BatchStopUpdateAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchStopUpdateActionMessage"}, + "output":{ + "shape":"UpdateActionResultsMessage", + "resultWrapper":"BatchStopUpdateActionResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates.

" + }, + "CompleteMigration":{ + "name":"CompleteMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CompleteMigrationMessage"}, + "output":{ + "shape":"CompleteMigrationResponse", + "resultWrapper":"CompleteMigrationResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"ReplicationGroupNotUnderMigrationFault"} + ], + "documentation":"

Complete the migration of data.

" + }, "CopySnapshot":{ "name":"CopySnapshot", "http":{ @@ -67,7 +121,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

" + "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

  • Error Message: The S3 bucket %s is outside of the region.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s does not exist.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The S3 bucket %s is not owned by the authenticated user.

    Solution: Create an Amazon S3 bucket in the same region as your snapshot. For more information, see Step 1: Create an Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: The authenticated user does not have sufficient permissions to perform the desired activity.

    Solution: Contact your system administrator to get the needed permissions.

  • Error Message: The S3 bucket %s already contains an object with key %s.

    Solution: Give the TargetSnapshotName a new and unique value. If exporting a snapshot, you could alternatively create a new Amazon S3 bucket and use this same value for TargetSnapshotName.

  • Error Message: ElastiCache has not been granted READ permissions %s on the S3 Bucket.

    Solution: Add List and Read permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted WRITE permissions %s on the S3 Bucket.

    Solution: Add Upload/Delete permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

  • Error Message: ElastiCache has not been granted READ_ACP permissions %s on the S3 Bucket.

    Solution: Add View Permissions on the bucket. For more information, see Step 2: Grant ElastiCache Access to Your Amazon S3 Bucket in the ElastiCache User Guide.

" }, "CreateCacheCluster":{ "name":"CreateCacheCluster", @@ -96,7 +150,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Creates a cluster. All nodes in the cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

This operation is not supported for Redis (cluster mode enabled) clusters.

" }, "CreateCacheParameterGroup":{ "name":"CreateCacheParameterGroup", @@ -116,7 +170,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster or replication group using the CacheParameterGroup.

A newly created CacheParameterGroup is an exact duplicate of the default parameter group for the CacheParameterGroupFamily. To customize the newly created CacheParameterGroup you can change the values of specific parameters. For more information, see:

" }, "CreateCacheSecurityGroup":{ "name":"CreateCacheSecurityGroup", @@ -135,7 +189,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Creates a new cache security group. Use a cache security group to control access to one or more clusters.

Cache security groups are only used when you are creating a cluster outside of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup.

" }, "CreateCacheSubnetGroup":{ "name":"CreateCacheSubnetGroup", @@ -156,6 +210,26 @@ ], "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).

" }, + "CreateGlobalReplicationGroup":{ + "name":"CreateGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGlobalReplicationGroupMessage"}, + "output":{ + "shape":"CreateGlobalReplicationGroupResult", + "resultWrapper":"CreateGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"GlobalReplicationGroupAlreadyExistsFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Global Datastore for Redis offers fully managed, fast, reliable and secure cross-region replication. Using Global Datastore for Redis, you can create cross-region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across regions. For more information, see Replication Across Regions Using Global Datastore.

  • The GlobalReplicationGroupIdSuffix is the name of the Global Datastore.

  • The PrimaryReplicationGroupId represents the name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.

" + }, "CreateReplicationGroup":{ "name":"CreateReplicationGroup", "http":{ @@ -181,10 +255,12 @@ {"shape":"InvalidVPCNetworkStateFault"}, {"shape":"TagQuotaPerResourceExceeded"}, {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group.

This API can be used to create a standalone regional replication group or a secondary replication group associated with a Global Datastore.

A Redis (cluster mode disabled) replication group is a collection of clusters, where one of the 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 90 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 after it has been created. However, if you need to increase or decrease the number of node groups (console: shards), you can avail yourself of ElastiCache for Redis' enhanced backup and restore. For more information, see Restoring From a Backup with Cluster Resizing in the ElastiCache User Guide.

This operation is valid for Redis only.

" }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -208,7 +284,53 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InvalidParameterValueException"} ], - "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.

" + "documentation":"

Creates a copy of an entire cluster or replication group at a specific moment in time.

This operation is valid for Redis only.

" + }, + "DecreaseNodeGroupsInGlobalReplicationGroup":{ + "name":"DecreaseNodeGroupsInGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DecreaseNodeGroupsInGlobalReplicationGroupMessage"}, + "output":{ + "shape":"DecreaseNodeGroupsInGlobalReplicationGroupResult", + "resultWrapper":"DecreaseNodeGroupsInGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Decreases the number of node groups in a Global Datastore

" + }, + "DecreaseReplicaCount":{ + "name":"DecreaseReplicaCount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DecreaseReplicaCountMessage"}, + "output":{ + "shape":"DecreaseReplicaCountResult", + "resultWrapper":"DecreaseReplicaCountResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InsufficientCacheClusterCapacityFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"NoOperationFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Dynamically decreases the number of replicas in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.

" }, "DeleteCacheCluster":{ "name":"DeleteCacheCluster", @@ -230,7 +352,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Deletes a previously provisioned cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cluster itself. When you receive a successful response from this operation, Amazon ElastiCache immediately begins deleting the cluster; you cannot cancel or revert this operation.

This operation is not valid for:

  • Redis (cluster mode enabled) clusters

  • A cluster that is the last read replica of a replication group

  • A node group (shard) that has Multi-AZ mode enabled

  • A cluster from a Redis (cluster mode enabled) replication group

  • A cluster that is not in the available state

" }, "DeleteCacheParameterGroup":{ "name":"DeleteCacheParameterGroup", @@ -260,7 +382,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "documentation":"

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 clusters.

" }, "DeleteCacheSubnetGroup":{ "name":"DeleteCacheSubnetGroup", @@ -273,7 +395,25 @@ {"shape":"CacheSubnetGroupInUse"}, {"shape":"CacheSubnetGroupNotFoundFault"} ], - "documentation":"

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 clusters.

" + }, + "DeleteGlobalReplicationGroup":{ + "name":"DeleteGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGlobalReplicationGroupMessage"}, + "output":{ + "shape":"DeleteGlobalReplicationGroupResult", + "resultWrapper":"DeleteGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Deleting a Global Datastore is a two-step process:

  • First, you must DisassociateGlobalReplicationGroup to remove the secondary clusters in the Global Datastore.

  • Once the Global Datastore contains only the primary cluster, you can use DeleteGlobalReplicationGroup API to delete the Global Datastore while retainining the primary cluster using Retain…= true.

Since the Global Datastore has only a primary cluster, you can delete the Global Datastore 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.

" }, "DeleteReplicationGroup":{ "name":"DeleteReplicationGroup", @@ -332,7 +472,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cache cluster if a cluster identifier is supplied.

By default, abbreviated information about the clusters is returned. You can use the optional ShowCacheNodeInfo flag to retrieve detailed information about the cache nodes associated with the 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 cluster, node endpoint information and creation time for the additional nodes are not displayed until they are completely provisioned. When the cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cluster, no endpoint information for the removed nodes is displayed.

" }, "DescribeCacheEngineVersions":{ "name":"DescribeCacheEngineVersions", @@ -399,7 +539,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "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. This applicable only when you have ElastiCache in Classic setup

" }, "DescribeCacheSubnetGroups":{ "name":"DescribeCacheSubnetGroups", @@ -415,7 +555,7 @@ "errors":[ {"shape":"CacheSubnetGroupNotFoundFault"} ], - "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.

" + "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. This is applicable only when you have ElastiCache in VPC setup. All ElastiCache clusters now launch in VPC by default.

" }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", @@ -449,7 +589,25 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Returns events related to clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular 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.

" + }, + "DescribeGlobalReplicationGroups":{ + "name":"DescribeGlobalReplicationGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGlobalReplicationGroupsMessage"}, + "output":{ + "shape":"DescribeGlobalReplicationGroupsResult", + "resultWrapper":"DescribeGlobalReplicationGroupsResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns information about a particular global replication group. If no identifier is specified, returns information about all Global Datastores.

" }, "DescribeReplicationGroups":{ "name":"DescribeReplicationGroups", @@ -505,6 +663,24 @@ ], "documentation":"

Lists available reserved cache node offerings.

" }, + "DescribeServiceUpdates":{ + "name":"DescribeServiceUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceUpdatesMessage"}, + "output":{ + "shape":"ServiceUpdatesMessage", + "resultWrapper":"DescribeServiceUpdatesResult" + }, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns details of the service updates

" + }, "DescribeSnapshots":{ "name":"DescribeSnapshots", "http":{ @@ -522,7 +698,107 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Returns information about 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.

" + }, + "DescribeUpdateActions":{ + "name":"DescribeUpdateActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUpdateActionsMessage"}, + "output":{ + "shape":"UpdateActionsMessage", + "resultWrapper":"DescribeUpdateActionsResult" + }, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Returns details of the update actions

" + }, + "DisassociateGlobalReplicationGroup":{ + "name":"DisassociateGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateGlobalReplicationGroupMessage"}, + "output":{ + "shape":"DisassociateGlobalReplicationGroupResult", + "resultWrapper":"DisassociateGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Remove a secondary cluster from the Global Datastore using the Global Datastore name. The secondary cluster will no longer receive updates from the primary cluster, but will remain as a standalone cluster in that AWS region.

" + }, + "FailoverGlobalReplicationGroup":{ + "name":"FailoverGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverGlobalReplicationGroupMessage"}, + "output":{ + "shape":"FailoverGlobalReplicationGroupResult", + "resultWrapper":"FailoverGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Used to failover the primary region to a selected secondary region. The selected secondary region will be come primary, and all other clusters will become secondary.

" + }, + "IncreaseNodeGroupsInGlobalReplicationGroup":{ + "name":"IncreaseNodeGroupsInGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IncreaseNodeGroupsInGlobalReplicationGroupMessage"}, + "output":{ + "shape":"IncreaseNodeGroupsInGlobalReplicationGroupResult", + "resultWrapper":"IncreaseNodeGroupsInGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Increase the number of node groups in the Global Datastore

" + }, + "IncreaseReplicaCount":{ + "name":"IncreaseReplicaCount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IncreaseReplicaCountMessage"}, + "output":{ + "shape":"IncreaseReplicaCountResult", + "resultWrapper":"IncreaseReplicaCountResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InsufficientCacheClusterCapacityFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"NoOperationFault"}, + {"shape":"InvalidKMSKeyFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Dynamically increases the number of replics in a Redis (cluster mode disabled) replication group or the number of replica nodes in one or more node groups (shards) of a Redis (cluster mode enabled) replication group. This operation is performed with no cluster down time.

" }, "ListAllowedNodeTypeModifications":{ "name":"ListAllowedNodeTypeModifications", @@ -541,7 +817,7 @@ {"shape":"InvalidParameterCombinationException"}, {"shape":"InvalidParameterValueException"} ], - "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.

" + "documentation":"

Lists all available node types that you can scale your Redis cluster's or replication group's current node type.

When you use the ModifyCacheCluster or ModifyReplicationGroup operations to scale 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", @@ -559,7 +835,7 @@ {"shape":"SnapshotNotFoundFault"}, {"shape":"InvalidARNFault"} ], - "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.

" + "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.

If the cluster is not in the available state, ListTagsForResource returns an error.

You can have a maximum of 50 cost allocation tags on an ElastiCache resource. For more information, see Monitoring Costs with Tags.

" }, "ModifyCacheCluster":{ "name":"ModifyCacheCluster", @@ -585,7 +861,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Modifies the settings for a 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", @@ -602,7 +878,8 @@ {"shape":"CacheParameterGroupNotFoundFault"}, {"shape":"InvalidCacheParameterGroupStateFault"}, {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"} ], "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.

" }, @@ -625,6 +902,24 @@ ], "documentation":"

Modifies an existing cache subnet group.

" }, + "ModifyGlobalReplicationGroup":{ + "name":"ModifyGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyGlobalReplicationGroupMessage"}, + "output":{ + "shape":"ModifyGlobalReplicationGroupResult", + "resultWrapper":"ModifyGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Modifies the settings for a Global Datastore.

" + }, "ModifyReplicationGroup":{ "name":"ModifyReplicationGroup", "http":{ @@ -648,10 +943,36 @@ {"shape":"CacheSecurityGroupNotFoundFault"}, {"shape":"CacheParameterGroupNotFoundFault"}, {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidKMSKeyFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Modifies the settings for a replication group.

This operation is valid for Redis only.

" + }, + "ModifyReplicationGroupShardConfiguration":{ + "name":"ModifyReplicationGroupShardConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyReplicationGroupShardConfigurationMessage"}, + "output":{ + "shape":"ModifyReplicationGroupShardConfigurationResult", + "resultWrapper":"ModifyReplicationGroupShardConfigurationResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InsufficientCacheClusterCapacityFault"}, + {"shape":"NodeGroupsPerReplicationGroupQuotaExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"InvalidKMSKeyFault"}, {"shape":"InvalidParameterValueException"}, {"shape":"InvalidParameterCombinationException"} ], - "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.

" + "documentation":"

Modifies a replication group's shards (node groups) by allowing you to add shards, remove shards, or rebalance the keyspaces among exisiting shards.

" }, "PurchaseReservedCacheNodesOffering":{ "name":"PurchaseReservedCacheNodesOffering", @@ -673,6 +994,24 @@ ], "documentation":"

Allows you to purchase a reserved cache node offering.

" }, + "RebalanceSlotsInGlobalReplicationGroup":{ + "name":"RebalanceSlotsInGlobalReplicationGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebalanceSlotsInGlobalReplicationGroupMessage"}, + "output":{ + "shape":"RebalanceSlotsInGlobalReplicationGroupResult", + "resultWrapper":"RebalanceSlotsInGlobalReplicationGroupResult" + }, + "errors":[ + {"shape":"GlobalReplicationGroupNotFoundFault"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Redistribute slots to ensure uniform distribution across existing shards in the cluster.

" + }, "RebootCacheCluster":{ "name":"RebootCacheCluster", "http":{ @@ -688,7 +1027,7 @@ {"shape":"InvalidCacheClusterStateFault"}, {"shape":"CacheClusterNotFoundFault"} ], - "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.

" + "documentation":"

Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary outage to the cluster. During the reboot, the 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 cluster event is created.

Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is not supported on Redis (cluster mode enabled) clusters.

If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to be applied, see Rebooting a Cluster for an alternate process.

" }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -724,7 +1063,8 @@ {"shape":"InvalidCacheParameterGroupStateFault"}, {"shape":"CacheParameterGroupNotFoundFault"}, {"shape":"InvalidParameterValueException"}, - {"shape":"InvalidParameterCombinationException"} + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidGlobalReplicationGroupStateFault"} ], "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.

" }, @@ -747,9 +1087,64 @@ {"shape":"InvalidParameterCombinationException"} ], "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.

" + }, + "StartMigration":{ + "name":"StartMigration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMigrationMessage"}, + "output":{ + "shape":"StartMigrationResponse", + "resultWrapper":"StartMigrationResult" + }, + "errors":[ + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"ReplicationGroupAlreadyUnderMigrationFault"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Start the migration of data.

" + }, + "TestFailover":{ + "name":"TestFailover", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestFailoverMessage"}, + "output":{ + "shape":"TestFailoverResult", + "resultWrapper":"TestFailoverResult" + }, + "errors":[ + {"shape":"APICallRateForCustomerExceededFault"}, + {"shape":"InvalidCacheClusterStateFault"}, + {"shape":"InvalidReplicationGroupStateFault"}, + {"shape":"NodeGroupNotFoundFault"}, + {"shape":"ReplicationGroupNotFoundFault"}, + {"shape":"TestFailoverNotAvailableFault"}, + {"shape":"InvalidKMSKeyFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Represents the input of a TestFailover operation which test automatic failover on a specified node group (called shard in the console) in a replication group (called cluster in the console).

Note the following

  • A customer can use this operation to test automatic failover on up to 5 shards (called node groups in the ElastiCache API and AWS CLI) in any rolling 24-hour period.

  • If calling this operation on shards in different clusters (called replication groups in the API and CLI), the calls can be made concurrently.

  • If calling this operation multiple times on different shards in the same Redis (cluster mode enabled) replication group, the first node replacement must complete before a subsequent call can be made.

  • To determine whether the node replacement is complete you can check Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache API. Look for the following automatic failover related events, listed here in order of occurrance:

    1. Replication group message: Test Failover API called for node group <node-group-id>

    2. Cache cluster message: Failover from master node <primary-node-id> to replica node <node-id> completed

    3. Replication group message: Failover from master node <primary-node-id> to replica node <node-id> completed

    4. Cache cluster message: Recovering cache nodes <node-id>

    5. Cache cluster message: Finished recovery for cache nodes <node-id>

    For more information see:

Also see, Testing Multi-AZ with Automatic Failover in the ElastiCache User Guide.

" } }, "shapes":{ + "APICallRateForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The customer has exceeded the allowed rate of API calls.

", + "error":{ + "code":"APICallRateForCustomerExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AZMode":{ "type":"string", "enum":[ @@ -766,7 +1161,7 @@ "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 about ARNs, see 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. ElastiCache resources are cluster and snapshot.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Tags":{ "shape":"TagList", @@ -775,19 +1170,47 @@ }, "documentation":"

Represents the input of an AddTagsToResource operation.

" }, - "AllowedNodeTypeModificationsMessage":{ - "type":"structure", - "members":{ - "ScaleUpModifications":{"shape":"NodeTypeList"} - } + "AllowedNodeGroupId":{ + "type":"string", + "max":4, + "min":1, + "pattern":"\\d+" }, - "AuthorizationAlreadyExistsFault":{ + "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 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.

" + }, + "ScaleDownModifications":{ + "shape":"NodeTypeList", + "documentation":"

A string list, each element of which specifies a cache node type which you can use to scale your cluster or replication group. When scaling down a Redis cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, use a value from this list for the CacheNodeType parameter.

" + } }, - "documentation":"

The specified Amazon EC2 security group is already authorized for the specified cache security group.

", - "error":{ - "code":"AuthorizationAlreadyExists", + "documentation":"

Represents the allowed node types you can use to modify your cluster or replication group.

" + }, + "AuthTokenUpdateStatus":{ + "type":"string", + "enum":[ + "SETTING", + "ROTATING" + ] + }, + "AuthTokenUpdateStrategyType":{ + "type":"string", + "enum":[ + "SET", + "ROTATE" + ] + }, + "AuthorizationAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Amazon EC2 security group is already authorized for the specified cache security group.

", + "error":{ + "code":"AuthorizationAlreadyExists", "httpStatusCode":400, "senderFault":true }, @@ -851,7 +1274,7 @@ "documentation":"

The name of the Availability Zone.

" } }, - "documentation":"

Describes an Availability Zone in which the cache cluster is launched.

", + "documentation":"

Describes an Availability Zone in which the cluster is launched.

", "wrapper":true }, "AvailabilityZonesList":{ @@ -862,6 +1285,42 @@ } }, "AwsQueryErrorMessage":{"type":"string"}, + "BatchApplyUpdateActionMessage":{ + "type":"structure", + "required":["ServiceUpdateName"], + "members":{ + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "CacheClusterIds":{ + "shape":"CacheClusterIdList", + "documentation":"

The cache cluster IDs

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + } + } + }, + "BatchStopUpdateActionMessage":{ + "type":"structure", + "required":["ServiceUpdateName"], + "members":{ + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "CacheClusterIds":{ + "shape":"CacheClusterIdList", + "documentation":"

The cache cluster IDs

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + } + } + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, "CacheCluster":{ @@ -869,59 +1328,68 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The user-supplied identifier of the cache cluster. This identifier is a unique key that identifies a cache cluster.

" + "documentation":"

The user-supplied identifier of the cluster. This identifier is a unique key that identifies a cluster.

" + }, + "ConfigurationEndpoint":{ + "shape":"Endpoint", + "documentation":"

Represents a Memcached cluster endpoint which, if Automatic Discovery is enabled on the cluster, can be used by an application to connect to any node in the cluster. The configuration endpoint will always have .cfg in it.

Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211

" }, - "ConfigurationEndpoint":{"shape":"Endpoint"}, "ClientDownloadLandingPage":{ "shape":"String", "documentation":"

The URL of the web page where you can download the latest ElastiCache client library.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The name of the compute and memory capacity node type for the cache cluster.

Valid node types are as follows:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The name of the compute and memory capacity node type for the cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "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 cluster.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version of the cache engine that is used in this cache cluster.

" + "documentation":"

The version of the cache engine that is used in this cluster.

" }, "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 cluster, one of the following values: available, creating, deleted, deleting, incompatible-network, modifying, rebooting cluster nodes, restore-failed, or snapshotting.

" }, "NumCacheNodes":{ "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the cache cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" + "documentation":"

The number of cache nodes in the cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" }, "PreferredAvailabilityZone":{ "shape":"String", - "documentation":"

The name of the Availability Zone in which the cache cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones.

" + "documentation":"

The name of the Availability Zone in which the cluster is located or \"Multiple\" if the cache nodes are located in different Availability Zones.

" }, "CacheClusterCreateTime":{ "shape":"TStamp", - "documentation":"

The date and time when the cache cluster was created.

" + "documentation":"

The date and time when the cluster was created.

" }, "PreferredMaintenanceWindow":{ "shape":"String", "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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" }, "PendingModifiedValues":{"shape":"PendingModifiedValues"}, - "NotificationConfiguration":{"shape":"NotificationConfiguration"}, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

" + }, "CacheSecurityGroups":{ "shape":"CacheSecurityGroupMembershipList", "documentation":"

A list of cache security group elements, composed of name and status sub-elements.

" }, - "CacheParameterGroup":{"shape":"CacheParameterGroupStatus"}, + "CacheParameterGroup":{ + "shape":"CacheParameterGroupStatus", + "documentation":"

Status of the cache parameter group.

" + }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the cache subnet group associated with the cache cluster.

" + "documentation":"

The name of the cache subnet group associated with the cluster.

" }, "CacheNodes":{ "shape":"CacheNodeList", - "documentation":"

A list of cache nodes that are members of the cache cluster.

" + "documentation":"

A list of cache nodes that are members of the cluster.

" }, "AutoMinorVersionUpgrade":{ "shape":"Boolean", @@ -929,29 +1397,49 @@ }, "SecurityGroups":{ "shape":"SecurityGroupMembershipList", - "documentation":"

A list of VPC Security Groups associated with the cache cluster.

" + "documentation":"

A list of VPC Security Groups associated with the cluster.

" }, "ReplicationGroupId":{ "shape":"String", - "documentation":"

The replication group to which this cache cluster belongs. If this field is empty, the cache cluster is not associated with any replication group.

" + "documentation":"

The replication group to which this cluster belongs. If this field is empty, the cluster is not associated with any 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.

" + "documentation":"

The number of days for which ElastiCache retains automatic 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 cache cluster.

Example: 05:00-09:00

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.

Example: 05:00-09:00

" + }, + "AuthTokenEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

" + }, + "AuthTokenLastModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date the auth token was last modified

" + }, + "TransitEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" + }, + "AtRestEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the cache cluster.

" } }, - "documentation":"

Contains all of the attributes of a specific cache cluster.

", + "documentation":"

Contains all of the attributes of a specific cluster.

", "wrapper":true }, "CacheClusterAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

You already have a cache cluster with the given identifier.

", + "documentation":"

You already have a cluster with the given identifier.

", "error":{ "code":"CacheClusterAlreadyExists", "httpStatusCode":400, @@ -959,6 +1447,11 @@ }, "exception":true }, + "CacheClusterIdList":{ + "type":"list", + "member":{"shape":"String"}, + "max":20 + }, "CacheClusterList":{ "type":"list", "member":{ @@ -975,7 +1468,7 @@ }, "CacheClusters":{ "shape":"CacheClusterList", - "documentation":"

A list of cache clusters. Each item in the list contains detailed information about one cache cluster.

" + "documentation":"

A list of clusters. Each item in the list contains detailed information about one cluster.

" } }, "documentation":"

Represents the output of a DescribeCacheClusters operation.

" @@ -984,7 +1477,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested cache cluster ID does not refer to an existing cache cluster.

", + "documentation":"

The requested cluster ID does not refer to an existing cluster.

", "error":{ "code":"CacheClusterNotFound", "httpStatusCode":404, @@ -1005,7 +1498,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "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

" + "documentation":"

The name of the cache parameter group family associated with this cache engine.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "CacheEngineDescription":{ "shape":"String", @@ -1048,7 +1541,7 @@ }, "CacheNodeStatus":{ "shape":"String", - "documentation":"

The current state of this cache node.

" + "documentation":"

The current state of this cache node, one of the following values: available, creating, rebooting, or deleting.

" }, "CacheNodeCreateTime":{ "shape":"TStamp", @@ -1064,14 +1557,14 @@ }, "SourceCacheNodeId":{ "shape":"String", - "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.

" + "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 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:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

Represents an individual cache node within a cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "CacheNodeIdsList":{ "type":"list", @@ -1124,10 +1617,10 @@ }, "ChangeType":{ "shape":"ChangeType", - "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":"

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 cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

" }, "CacheNodeTypeSpecificParametersList":{ "type":"list", @@ -1157,6 +1650,51 @@ "locationName":"CacheNodeTypeSpecificValue" } }, + "CacheNodeUpdateStatus":{ + "type":"structure", + "members":{ + "CacheNodeId":{ + "shape":"String", + "documentation":"

The node ID of the cache cluster

" + }, + "NodeUpdateStatus":{ + "shape":"NodeUpdateStatus", + "documentation":"

The update status of the node

" + }, + "NodeDeletionDate":{ + "shape":"TStamp", + "documentation":"

The deletion date of the node

" + }, + "NodeUpdateStartDate":{ + "shape":"TStamp", + "documentation":"

The start date of the update for a node

" + }, + "NodeUpdateEndDate":{ + "shape":"TStamp", + "documentation":"

The end date of the update for a node

" + }, + "NodeUpdateInitiatedBy":{ + "shape":"NodeUpdateInitiatedBy", + "documentation":"

Reflects whether the update was initiated by the customer or automatically applied

" + }, + "NodeUpdateInitiatedDate":{ + "shape":"TStamp", + "documentation":"

The date when the update is triggered

" + }, + "NodeUpdateStatusModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date when the NodeUpdateStatus was last modified>

" + } + }, + "documentation":"

The status of the service update on the cache node

" + }, + "CacheNodeUpdateStatusList":{ + "type":"list", + "member":{ + "shape":"CacheNodeUpdateStatus", + "locationName":"CacheNodeUpdateStatus" + } + }, "CacheParameterGroup":{ "type":"structure", "members":{ @@ -1166,11 +1704,19 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "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

" + "documentation":"

The name of the cache parameter group family that this cache parameter group is compatible with.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Description":{ "shape":"String", "documentation":"

The description for this cache parameter group.

" + }, + "IsGlobal":{ + "shape":"Boolean", + "documentation":"

Indicates whether the parameter group is associated with a Global Datastore

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the cache parameter group.

" } }, "documentation":"

Represents the output of a CreateCacheParameterGroup operation.

", @@ -1297,6 +1843,10 @@ "EC2SecurityGroups":{ "shape":"EC2SecurityGroupList", "documentation":"

A list of Amazon EC2 security groups that are associated with this cache security group.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the cache security group.

" } }, "documentation":"

Represents the output of one of the following operations:

  • AuthorizeCacheSecurityGroupIngress

  • CreateCacheSecurityGroup

  • RevokeCacheSecurityGroupIngress

", @@ -1323,10 +1873,10 @@ }, "Status":{ "shape":"String", - "documentation":"

The membership status in the cache security group. The status changes when a cache security group is modified, or when the cache security groups assigned to a cache cluster are modified.

" + "documentation":"

The membership status in the cache security group. The status changes when a cache security group is modified, or when the cache security groups assigned to a cluster are modified.

" } }, - "documentation":"

Represents a cache cluster's status within a particular cache security group.

" + "documentation":"

Represents a cluster's status within a particular cache security group.

" }, "CacheSecurityGroupMembershipList":{ "type":"list", @@ -1405,6 +1955,10 @@ "Subnets":{ "shape":"SubnetList", "documentation":"

A list of subnets associated with the cache subnet group.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the cache subnet group.

" } }, "documentation":"

Represents the output of one of the following operations:

  • CreateCacheSubnetGroup

  • ModifyCacheSubnetGroup

", @@ -1509,7 +2063,7 @@ "type":"structure", "members":{ }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache clusters per customer.

", + "documentation":"

The request cannot be processed because it would exceed the allowed number of clusters per customer.

", "error":{ "code":"ClusterQuotaForCustomerExceeded", "httpStatusCode":400, @@ -1517,6 +2071,48 @@ }, "exception":true }, + "CompleteMigrationMessage":{ + "type":"structure", + "required":["ReplicationGroupId"], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group to which data is being migrated.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Forces the migration to stop without ensuring that data is in sync. It is recommended to use this option only to abort the migration and not recommended when application wants to continue migration to ElastiCache.

" + } + } + }, + "CompleteMigrationResponse":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, + "ConfigureShard":{ + "type":"structure", + "required":[ + "NodeGroupId", + "NewReplicaCount" + ], + "members":{ + "NodeGroupId":{ + "shape":"AllowedNodeGroupId", + "documentation":"

The 4-digit id for the node group you are configuring. For Redis (cluster mode disabled) replication groups, the node group id is always 0001. To find a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a Shard's Id.

" + }, + "NewReplicaCount":{ + "shape":"Integer", + "documentation":"

The number of replicas you want in this node group at the end of this operation. The maximum value for NewReplicaCount is 5. The minimum value depends upon the type of Redis replication group you are working with.

The minimum number of replicas in a shard or replication group is:

  • Redis (cluster mode disabled)

    • If Multi-AZ with Automatic Failover is enabled: 1

    • If Multi-AZ with Automatic Failover is not enable: 0

  • Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)

" + }, + "PreferredAvailabilityZones":{ + "shape":"PreferredAvailabilityZoneList", + "documentation":"

A list of PreferredAvailabilityZone strings that specify which availability zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone values must equal the value of NewReplicaCount plus 1 to account for the primary node. If this member of ReplicaConfiguration is omitted, ElastiCache for Redis selects the availability zone for each of the replicas.

" + } + }, + "documentation":"

Node group (shard) configuration options when adding or removing replicas. Each node group (shard) configuration has the following members: NodeGroupId, NewReplicaCount, and PreferredAvailabilityZones.

" + }, "CopySnapshotMessage":{ "type":"structure", "required":[ @@ -1534,7 +2130,11 @@ }, "TargetBucket":{ "shape":"String", - "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":"

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.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The ID of the KMS key used to encrypt the target snapshot.

" } }, "documentation":"

Represents the input of a CopySnapshotMessage operation.

" @@ -1551,59 +2151,59 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The node group (shard) identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The node group (shard) identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 50 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" }, "ReplicationGroupId":{ "shape":"String", - "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.

" + "documentation":"

The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the 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 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 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.

" + "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 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 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.

" + "documentation":"

The EC2 Availability Zone in which the cluster is created.

All nodes belonging to this Memcached 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 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.

" + "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 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 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/.

" + "documentation":"

The initial number of cache nodes that the 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 (shard).

Valid node types are as follows:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "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 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 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.

" + "documentation":"

The version number of the cache engine to be used for this 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 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. You cannot use any parameter group which has cluster-enabled='yes' when creating a cluster.

" + "documentation":"

The name of the parameter group to associate with this 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 (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.

" + "documentation":"

The name of the subnet group to be used for the cluster.

Use this parameter only when you are creating a 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 (Amazon VPC).

" + "documentation":"

A list of security group names to associate with this cluster.

Use this parameter only when you are creating a 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 (Amazon VPC).

" + "documentation":"

One or more VPC security groups associated with the cluster.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "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":"

A list of cost allocation tags to be added to this resource.

" }, "SnapshotArns":{ "shape":"SnapshotArnsList", @@ -1615,7 +2215,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:

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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" + "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:

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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" }, "Port":{ "shape":"IntegerOptional", @@ -1623,7 +2223,7 @@ }, "NotificationTopicArn":{ "shape":"String", - "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.

" + "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 cluster owner.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -1635,7 +2235,11 @@ }, "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":"

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.

" + }, + "AuthToken":{ + "shape":"String", + "documentation":"

Reserved parameter. The password used to access a password protected server.

Password constraints:

  • Must be only printable ASCII characters.

  • Must be at least 16 characters and no more than 128 characters in length.

  • The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.

For more information, see AUTH password at http://redis.io/commands/AUTH.

" } }, "documentation":"

Represents the input of a CreateCacheCluster operation.

" @@ -1660,7 +2264,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "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

" + "documentation":"

The name of the cache parameter group family that the cache parameter group can be used with.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Description":{ "shape":"String", @@ -1728,6 +2332,33 @@ "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} } }, + "CreateGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupIdSuffix", + "PrimaryReplicationGroupId" + ], + "members":{ + "GlobalReplicationGroupIdSuffix":{ + "shape":"String", + "documentation":"

The suffix name of a Global Datastore. The suffix guarantees uniqueness of the Global Datastore name across multiple regions.

" + }, + "GlobalReplicationGroupDescription":{ + "shape":"String", + "documentation":"

Provides details of the Global Datastore

" + }, + "PrimaryReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the primary cluster that accepts writes and will replicate updates to the secondary cluster.

" + } + } + }, + "CreateGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, "CreateReplicationGroupMessage":{ "type":"structure", "required":[ @@ -1737,27 +2368,31 @@ "members":{ "ReplicationGroupId":{ "shape":"String", - "documentation":"

The replication group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 20 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" + "documentation":"

The replication group identifier. This parameter is stored as a lowercase string.

Constraints:

  • A name must contain from 1 to 40 alphanumeric characters or hyphens.

  • The first character must be a letter.

  • A name cannot end with a hyphen or contain two consecutive hyphens.

" }, "ReplicationGroupDescription":{ "shape":"String", "documentation":"

A user-created description for the replication group.

" }, + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, "PrimaryClusterId":{ "shape":"String", - "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.

" + "documentation":"

The identifier of the cluster that serves as the primary for this replication group. This 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 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:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 and T2 node types.

    Redis (cluster mode enabled): T2 node types.

" + "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

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "NumCacheClusters":{ "shape":"IntegerOptional", - "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/.

" + "documentation":"

The number of nodes in the cluster.

This parameter is not used if there is more than one node group (shard). You should use ReplicasPerNodeGroup instead.

If AutomaticFailoverEnabled is true, the value of this parameter must be at least 2. If AutomaticFailoverEnabled is false you can omit this parameter (it will default to 1), or you can explicitly set it to a value between 2 and 6.

The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas).

" }, "PreferredCacheClusterAZs":{ "shape":"AvailabilityZonesList", - "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.

" + "documentation":"

A list of EC2 Availability Zones in which the replication group's 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 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", @@ -1769,27 +2404,27 @@ }, "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.

" + "documentation":"

A list of node group (shard) configuration options. Each node group (shard) configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount, and Slots.

If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode enabled) replication group, you can use this parameter to individually configure each node group (shard), or you can omit this parameter. However, it is required when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You must configure each node group (shard) using this parameter because you must specify the slots for each node group.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

Valid node types are as follows:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The compute and memory capacity of the nodes in the node group (shard).

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Engine":{ "shape":"String", - "documentation":"

The name of the cache engine to be used for the cache clusters in this replication group.

" + "documentation":"

The name of the cache engine to be used for the 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 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.

" + "documentation":"

The version number of the cache engine to be used for the 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 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.

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.

  • To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

  • To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

" + "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 restoring to an engine version that is different than the original, you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0.

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.

  • To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2.

  • To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on.

" }, "CacheSubnetGroupName":{ "shape":"String", - "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.

" + "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", @@ -1801,19 +2436,19 @@ }, "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":"

A list of cost allocation tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

" }, "SnapshotArns":{ "shape":"SnapshotArnsList", - "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

" + "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 new replication group. The Amazon S3 object name in the ARN cannot contain any commas. The new replication group will have the number of node groups (console: shards) specified by the parameter NumNodeGroups or the number of node groups configured by NodeGroupConfiguration regardless of the number of ARNs specified here.

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 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.

" + "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.

" }, "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:

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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" + "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:

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:

  • sun

  • mon

  • tue

  • wed

  • thu

  • fri

  • sat

Example: sun:23:00-mon:01:30

" }, "Port":{ "shape":"IntegerOptional", @@ -1821,7 +2456,7 @@ }, "NotificationTopicArn":{ "shape":"String", - "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.

" + "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 cluster owner.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -1829,11 +2464,27 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "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).

" + "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.

Default: 0 (i.e., automatic backups are disabled for this cluster).

" }, "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.

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.

" + }, + "AuthToken":{ + "shape":"String", + "documentation":"

Reserved parameter. The password used to access a password protected server.

AuthToken can be specified only on replication groups where TransitEncryptionEnabled is true.

For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an AuthToken, and a CacheSubnetGroup.

Password constraints:

  • Must be only printable ASCII characters.

  • Must be at least 16 characters and no more than 128 characters in length.

  • The only permitted printable special characters are !, &, #, $, ^, <, >, and -. Other printable special characters cannot be used in the AUTH token.

For more information, see AUTH password at http://redis.io/commands/AUTH.

" + }, + "TransitEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

This parameter is valid only if the Engine parameter is redis, the EngineVersion parameter is 3.2.6, 4.x or later, and the cluster is being created in an Amazon VPC.

If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

For HIPAA compliance, you must specify TransitEncryptionEnabled as true, an AuthToken, and a CacheSubnetGroup.

" + }, + "AtRestEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables encryption at rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The ID of the KMS key used to encrypt the disk in the cluster.

" } }, "documentation":"

Represents the input of a CreateReplicationGroup operation.

" @@ -1854,11 +2505,15 @@ }, "CacheClusterId":{ "shape":"String", - "documentation":"

The identifier of an existing cache cluster. The snapshot is created from this cache cluster.

" + "documentation":"

The identifier of an existing cluster. The snapshot is created from this cluster.

" }, "SnapshotName":{ "shape":"String", "documentation":"

A name for the snapshot being created.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The ID of the KMS key used to encrypt the snapshot.

" } }, "documentation":"

Represents the input of a CreateSnapshot operation.

" @@ -1869,17 +2524,106 @@ "Snapshot":{"shape":"Snapshot"} } }, + "CustomerNodeEndpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

The address of the node endpoint

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port of the node endpoint

" + } + }, + "documentation":"

The endpoint from which data should be migrated.

" + }, + "CustomerNodeEndpointList":{ + "type":"list", + "member":{"shape":"CustomerNodeEndpoint"} + }, + "DecreaseNodeGroupsInGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "NodeGroupCount", + "ApplyImmediately" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "NodeGroupCount":{ + "shape":"Integer", + "documentation":"

The number of node groups (shards) that results from the modification of the shard configuration

" + }, + "GlobalNodeGroupsToRemove":{ + "shape":"GlobalNodeGroupIdList", + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

" + }, + "GlobalNodeGroupsToRetain":{ + "shape":"GlobalNodeGroupIdList", + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.

" + } + } + }, + "DecreaseNodeGroupsInGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, + "DecreaseReplicaCountMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "ApplyImmediately" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The id of the replication group from which you want to remove replica nodes.

" + }, + "NewReplicaCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.

The minimum number of replicas in a shard or replication group is:

  • Redis (cluster mode disabled)

    • If Multi-AZ with Automatic Failover is enabled: 1

    • If Multi-AZ with Automatic Failover is not enabled: 0

  • Redis (cluster mode enabled): 0 (though you will not be able to failover to a replica if your primary node fails)

" + }, + "ReplicaConfiguration":{ + "shape":"ReplicaConfigurationList", + "documentation":"

A list of ConfigureShard objects that can be used to configure each shard in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.

" + }, + "ReplicasToRemove":{ + "shape":"RemoveReplicasList", + "documentation":"

A list of the node ids to remove from the replication group or node group (shard).

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

If True, the number of replica nodes is decreased immediately. ApplyImmediately=False is not currently supported.

" + } + } + }, + "DecreaseReplicaCountResult":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, "DeleteCacheClusterMessage":{ "type":"structure", "required":["CacheClusterId"], "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The cache cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

" + "documentation":"

The cluster identifier for the cluster to be deleted. This parameter is not case sensitive.

" }, "FinalSnapshotIdentifier":{ "shape":"String", - "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":"

The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. ElastiCache creates the snapshot, and then deletes the cluster immediately afterward.

" } }, "documentation":"

Represents the input of a DeleteCacheCluster operation.

" @@ -1896,7 +2640,7 @@ "members":{ "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The name of the cache parameter group to delete.

The specified cache security group must not be associated with any cache clusters.

" + "documentation":"

The name of the cache parameter group to delete.

The specified cache security group must not be associated with any clusters.

" } }, "documentation":"

Represents the input of a DeleteCacheParameterGroup operation.

" @@ -1923,6 +2667,29 @@ }, "documentation":"

Represents the input of a DeleteCacheSubnetGroup operation.

" }, + "DeleteGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "RetainPrimaryReplicationGroup" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "RetainPrimaryReplicationGroup":{ + "shape":"Boolean", + "documentation":"

The primary replication group is retained as a standalone replication group.

" + } + } + }, + "DeleteGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, "DeleteReplicationGroupMessage":{ "type":"structure", "required":["ReplicationGroupId"], @@ -1970,7 +2737,7 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The user-supplied cluster identifier. If this parameter is specified, only information about that specific cache cluster is returned. This parameter isn't case sensitive.

" + "documentation":"

The user-supplied cluster identifier. If this parameter is specified, only information about that specific cluster is returned. This parameter isn't case sensitive.

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -1982,7 +2749,11 @@ }, "ShowCacheNodeInfo":{ "shape":"BooleanOptional", - "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" + "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to retrieve information about the individual cache nodes.

" + }, + "ShowCacheClustersNotInReplicationGroups":{ + "shape":"BooleanOptional", + "documentation":"

An optional flag that can be included in the DescribeCacheCluster request to show only nodes (API/CLI: clusters) that are not members of a replication group. In practice, this mean Memcached and single node Redis clusters.

" } }, "documentation":"

Represents the input of a DescribeCacheClusters operation.

" @@ -2000,7 +2771,7 @@ }, "CacheParameterGroupFamily":{ "shape":"String", - "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:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + "documentation":"

The name of a specific cache parameter group family to return details for.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

Constraints:

  • Must be 1 to 255 alphanumeric characters

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2100,7 +2871,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | redis2.6 | redis2.8 | redis3.2

" + "documentation":"

The name of the cache parameter group family.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2132,15 +2903,15 @@ }, "StartTime":{ "shape":"TStamp", - "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

" + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format.

Example: 2017-03-30T07:03:49.555Z

" }, "EndTime":{ "shape":"TStamp", - "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

" + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format.

Example: 2017-03-30T07:03:49.555Z

" }, "Duration":{ "shape":"IntegerOptional", - "documentation":"

The number of minutes' worth of events to retrieve.

" + "documentation":"

The number of minutes worth of events to retrieve.

" }, "MaxRecords":{ "shape":"IntegerOptional", @@ -2153,6 +2924,40 @@ }, "documentation":"

Represents the input of a DescribeEvents operation.

" }, + "DescribeGlobalReplicationGroupsMessage":{ + "type":"structure", + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "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.

" + }, + "Marker":{ + "shape":"String", + "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.

" + }, + "ShowMemberInfo":{ + "shape":"BooleanOptional", + "documentation":"

Returns the list of members that comprise the Global Datastore.

" + } + } + }, + "DescribeGlobalReplicationGroupsResult":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "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. >

" + }, + "GlobalReplicationGroups":{ + "shape":"GlobalReplicationGroupList", + "documentation":"

Indicates the slot configuration and global identifier for each slice group.

" + } + } + }, "DescribeReplicationGroupsMessage":{ "type":"structure", "members":{ @@ -2184,7 +2989,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:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The cache node type filter value. Use this parameter to show only those reservations matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"String", @@ -2218,7 +3023,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:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The cache node type filter value. Use this parameter to show only the available offerings matching the specified cache node type.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"String", @@ -2243,6 +3048,27 @@ }, "documentation":"

Represents the input of a DescribeReservedCacheNodesOfferings operation.

" }, + "DescribeServiceUpdatesMessage":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatusList", + "documentation":"

The status of the service update

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response

" + }, + "Marker":{ + "shape":"String", + "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.

" + } + } + }, "DescribeSnapshotsListMessage":{ "type":"structure", "members":{ @@ -2266,7 +3092,7 @@ }, "CacheClusterId":{ "shape":"String", - "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cache cluster are described.

" + "documentation":"

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

" }, "SnapshotName":{ "shape":"String", @@ -2286,22 +3112,95 @@ }, "ShowNodeGroupConfig":{ "shape":"BooleanOptional", - "documentation":"

A boolean value which if true, the node group (shard) configuration is included in the snapshot description.

" + "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 operation.

" }, - "Double":{"type":"double"}, - "EC2SecurityGroup":{ + "DescribeUpdateActionsMessage":{ "type":"structure", "members":{ - "Status":{ + "ServiceUpdateName":{ "shape":"String", - "documentation":"

The status of the Amazon EC2 security group.

" + "documentation":"

The unique ID of the service update

" }, - "EC2SecurityGroupName":{ + "ReplicationGroupIds":{ + "shape":"ReplicationGroupIdList", + "documentation":"

The replication group IDs

" + }, + "CacheClusterIds":{ + "shape":"CacheClusterIdList", + "documentation":"

The cache cluster IDs

" + }, + "Engine":{ "shape":"String", - "documentation":"

The name of the Amazon EC2 security group.

" + "documentation":"

The Elasticache engine to which the update applies. Either Redis or Memcached

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatusList", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateTimeRange":{ + "shape":"TimeRangeFilter", + "documentation":"

The range of time specified to search for service updates that are in available status

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatusList", + "documentation":"

The status of the update action.

" + }, + "ShowNodeLevelUpdateStatus":{ + "shape":"BooleanOptional", + "documentation":"

Dictates whether to include node level update status in the response

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response

" + }, + "Marker":{ + "shape":"String", + "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.

" + } + } + }, + "DisassociateGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "ReplicationGroupId", + "ReplicationGroupRegion" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the secondary cluster you wish to remove from the Global Datastore

" + }, + "ReplicationGroupRegion":{ + "shape":"String", + "documentation":"

The AWS region of secondary cluster you wish to remove from the Global Datastore

" + } + } + }, + "DisassociateGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, + "Double":{"type":"double"}, + "EC2SecurityGroup":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"String", + "documentation":"

The status of the Amazon EC2 security group.

" + }, + "EC2SecurityGroupName":{ + "shape":"String", + "documentation":"

The name of the Amazon EC2 security group.

" }, "EC2SecurityGroupOwnerId":{ "shape":"String", @@ -2336,7 +3235,7 @@ "members":{ "CacheParameterGroupFamily":{ "shape":"String", - "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

" + "documentation":"

Specifies the name of the cache parameter group family to which the engine default parameters apply.

Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 |

" }, "Marker":{ "shape":"String", @@ -2359,11 +3258,11 @@ "members":{ "SourceIdentifier":{ "shape":"String", - "documentation":"

The identifier for the source of the event. For example, if the event occurred at the cache cluster level, the identifier would be the name of the cache cluster.

" + "documentation":"

The identifier for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

" }, "SourceType":{ "shape":"SourceType", - "documentation":"

Specifies the origin of this event - a cache cluster, a parameter group, a security group, etc.

" + "documentation":"

Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

" }, "Message":{ "shape":"String", @@ -2374,7 +3273,7 @@ "documentation":"

The date and time when the event occurred.

" } }, - "documentation":"

Represents a single occurrence of something interesting within the system. Some examples of events are creating a cache cluster, adding or removing a cache node, or rebooting a node.

" + "documentation":"

Represents a single occurrence of something interesting within the system. Some examples of events are creating a cluster, adding or removing a cache node, or rebooting a node.

" }, "EventList":{ "type":"list", @@ -2397,11 +3296,268 @@ }, "documentation":"

Represents the output of a DescribeEvents operation.

" }, + "FailoverGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "PrimaryRegion", + "PrimaryReplicationGroupId" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "PrimaryRegion":{ + "shape":"String", + "documentation":"

The AWS region of the primary cluster of the Global Datastore

" + }, + "PrimaryReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the primary replication group

" + } + } + }, + "FailoverGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, + "GlobalNodeGroup":{ + "type":"structure", + "members":{ + "GlobalNodeGroupId":{ + "shape":"String", + "documentation":"

The name of the global node group

" + }, + "Slots":{ + "shape":"String", + "documentation":"

The keyspace for this node group

" + } + }, + "documentation":"

Indicates the slot configuration and global identifier for a slice group.

" + }, + "GlobalNodeGroupIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"GlobalNodeGroupId" + } + }, + "GlobalNodeGroupList":{ + "type":"list", + "member":{ + "shape":"GlobalNodeGroup", + "locationName":"GlobalNodeGroup" + } + }, + "GlobalReplicationGroup":{ + "type":"structure", + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "GlobalReplicationGroupDescription":{ + "shape":"String", + "documentation":"

The optional description of the Global Datastore

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the Global Datastore

" + }, + "CacheNodeType":{ + "shape":"String", + "documentation":"

The cache node type of the Global Datastore

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The Elasticache engine. For Redis only.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 only.

" + }, + "Members":{ + "shape":"GlobalReplicationGroupMemberList", + "documentation":"

The replication groups that comprise the Global Datastore.

" + }, + "ClusterEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that indicates whether the Global Datastore is cluster enabled.

" + }, + "GlobalNodeGroups":{ + "shape":"GlobalNodeGroupList", + "documentation":"

Indicates the slot configuration and global identifier for each slice group.

" + }, + "AuthTokenEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

" + }, + "TransitEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables in-transit encryption when set to true. You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

" + }, + "AtRestEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables encryption at rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the replication group is created. To enable encryption at rest on a replication group you must set AtRestEncryptionEnabled to true when you create the replication group.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the global replication group.

" + } + }, + "documentation":"

Consists of a primary cluster that accepts writes and an associated secondary cluster that resides in a different AWS region. The secondary cluster accepts only reads. The primary cluster automatically replicates updates to the secondary cluster.

  • The GlobalReplicationGroupIdSuffix represents the name of the Global Datastore, which is what you use to associate a secondary cluster.

", + "wrapper":true + }, + "GlobalReplicationGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Global Datastore name already exists.

", + "error":{ + "code":"GlobalReplicationGroupAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "GlobalReplicationGroupInfo":{ + "type":"structure", + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "GlobalReplicationGroupMemberRole":{ + "shape":"String", + "documentation":"

The role of the replication group in a Global Datastore. Can be primary or secondary.

" + } + }, + "documentation":"

The name of the Global Datastore and role of this replication group in the Global Datastore.

" + }, + "GlobalReplicationGroupList":{ + "type":"list", + "member":{ + "shape":"GlobalReplicationGroup", + "locationName":"GlobalReplicationGroup" + } + }, + "GlobalReplicationGroupMember":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The replication group id of the Global Datastore member.

" + }, + "ReplicationGroupRegion":{ + "shape":"String", + "documentation":"

The AWS region of the Global Datastore member.

" + }, + "Role":{ + "shape":"String", + "documentation":"

Indicates the role of the replication group, primary or secondary.

" + }, + "AutomaticFailover":{ + "shape":"AutomaticFailoverStatus", + "documentation":"

Indicates whether automatic failover is enabled for the replication group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the membership of the replication group.

" + } + }, + "documentation":"

A member of a Global Datastore. It contains the Replication Group Id, the AWS region and the role of the replication group.

", + "wrapper":true + }, + "GlobalReplicationGroupMemberList":{ + "type":"list", + "member":{ + "shape":"GlobalReplicationGroupMember", + "locationName":"GlobalReplicationGroupMember" + } + }, + "GlobalReplicationGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Global Datastore does not exist

", + "error":{ + "code":"GlobalReplicationGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "IncreaseNodeGroupsInGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "NodeGroupCount", + "ApplyImmediately" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "NodeGroupCount":{ + "shape":"Integer", + "documentation":"

The number of node groups you wish to add

" + }, + "RegionalConfigurations":{ + "shape":"RegionalConfigurationList", + "documentation":"

Describes the replication group IDs, the AWS regions where they are stored and the shard configuration for each that comprise the Global Datastore

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Indicates that the process begins immediately. At present, the only permitted value for this parameter is true.

" + } + } + }, + "IncreaseNodeGroupsInGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, + "IncreaseReplicaCountMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "ApplyImmediately" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The id of the replication group to which you want to add replica nodes.

" + }, + "NewReplicaCount":{ + "shape":"IntegerOptional", + "documentation":"

The number of read replica nodes you want at the completion of this operation. For Redis (cluster mode disabled) replication groups, this is the number of replica nodes in the replication group. For Redis (cluster mode enabled) replication groups, this is the number of replica nodes in each of the replication group's node groups.

" + }, + "ReplicaConfiguration":{ + "shape":"ReplicaConfigurationList", + "documentation":"

A list of ConfigureShard objects that can be used to configure each shard in a Redis (cluster mode enabled) replication group. The ConfigureShard has three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

If True, the number of replica nodes is increased immediately. ApplyImmediately=False is not currently supported.

" + } + } + }, + "IncreaseReplicaCountResult":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, "InsufficientCacheClusterCapacityFault":{ "type":"structure", "members":{ }, - "documentation":"

The requested cache node type is not available in the specified Availability Zone.

", + "documentation":"

The requested cache node type is not available in the specified Availability Zone. For more information, see InsufficientCacheClusterCapacity in the ElastiCache User Guide.

", "error":{ "code":"InsufficientCacheClusterCapacity", "httpStatusCode":400, @@ -2427,7 +3583,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested cache cluster is not in the available state.

", + "documentation":"

The requested cluster is not in the available state.

", "error":{ "code":"InvalidCacheClusterState", "httpStatusCode":400, @@ -2459,6 +3615,30 @@ }, "exception":true }, + "InvalidGlobalReplicationGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The Global Datastore is not available or in primary-only state.

", + "error":{ + "code":"InvalidGlobalReplicationGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidKMSKeyFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The KMS key supplied is not valid.

", + "error":{ + "code":"InvalidKMSKeyFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidParameterCombinationException":{ "type":"structure", "members":{ @@ -2473,7 +3653,8 @@ "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true, + "synthetic":true }, "InvalidParameterValueException":{ "type":"structure", @@ -2489,7 +3670,8 @@ "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true, + "synthetic":true }, "InvalidReplicationGroupStateFault":{ "type":"structure", @@ -2548,7 +3730,7 @@ "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 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 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", @@ -2563,7 +3745,7 @@ "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 about ARNs, see 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 operation.

" @@ -2574,31 +3756,31 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The cache cluster identifier. This value is stored as a lowercase string.

" + "documentation":"

The cluster identifier. This value is stored as a lowercase string.

" }, "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), 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.

" + "documentation":"

The number of cache nodes that the 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 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 ModifyCacheCluster 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 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.

" + "documentation":"

Specifies whether the new nodes in this Memcached 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 clusters.

You cannot specify single-az if the Memcached 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.

" }, "NewAvailabilityZones":{ "shape":"PreferredAvailabilityZoneList", - "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:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.

  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.

  • Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations.

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

  • Scenario-1

    • Pending Action: Delete

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending delete.

  • Scenario-2

    • Pending Action: Delete

    • New Request: Create

    • Result: The new create, pending or immediate, replaces the pending delete.

  • Scenario-3

    • Pending Action: Create

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending create.

  • Scenario-4

    • Pending Action: Create

    • New Request: Create

    • Result: The new create is added to the pending create.

      Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

" + "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:

  • Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for the two new nodes.

  • Scenario 2: You have 3 active nodes and 2 nodes pending creation (from the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.

  • Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 to cancel all pending operations.

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

  • Scenario-1

    • Pending Action: Delete

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending delete.

  • Scenario-2

    • Pending Action: Delete

    • New Request: Create

    • Result: The new create, pending or immediate, replaces the pending delete.

  • Scenario-3

    • Pending Action: Create

    • New Request: Delete

    • Result: The new delete, pending or immediate, replaces the pending create.

  • Scenario-4

    • Pending Action: Create

    • New Request: Create

    • Result: The new create is added to the pending create.

      Important: If the new create request is Apply Immediately - Yes, all creates are performed immediately. If the new create request is Apply Immediately - No, all creates are pending.

" }, "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.

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\".

" + "documentation":"

A list of cache security group names to authorize on this 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 (Amazon VPC).

" + "documentation":"

Specifies the VPC Security Groups associated with the cluster.

This parameter can be used only with clusters that are created in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -2606,11 +3788,11 @@ }, "NotificationTopicArn":{ "shape":"String", - "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.

" + "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 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 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", @@ -2618,11 +3800,11 @@ }, "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, 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 cluster.

If false, changes to the 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", - "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

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 and create it anew with the earlier engine version.

" + "documentation":"

The upgraded version of the cache engine to be run on the cache nodes.

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 cluster and create it anew with the earlier engine version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -2630,15 +3812,23 @@ }, "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.

" + "documentation":"

The number of days for which ElastiCache retains automatic 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 cache cluster.

" + "documentation":"

The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your cluster.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

A valid cache node type that you want to scale this cache cluster up to.

" + "documentation":"

A valid cache node type that you want to scale this cluster up to.

" + }, + "AuthToken":{ + "shape":"String", + "documentation":"

Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update parameter. Password constraints:

  • Must be only printable ASCII characters

  • Must be at least 16 characters and no more than 128 characters in length

  • Cannot contain any of the following characters: '/', '\"', or '@', '%'

For more information, see AUTH password at AUTH.

" + }, + "AuthTokenUpdateStrategy":{ + "shape":"AuthTokenUpdateStrategyType", + "documentation":"

Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values:

  • Rotate

  • Set

For more information, see Authenticating Users with Redis AUTH

" } }, "documentation":"

Represents the input of a ModifyCacheCluster operation.

" @@ -2692,6 +3882,45 @@ "CacheSubnetGroup":{"shape":"CacheSubnetGroup"} } }, + "ModifyGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "ApplyImmediately" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

This parameter causes the modifications in this request and any pending modifications to be applied, asynchronously and as soon as possible. Modifications to Global Replication Groups cannot be requested to be applied in PreferredMaintenceWindow.

" + }, + "CacheNodeType":{ + "shape":"String", + "documentation":"

A valid cache node type that you want to scale this Global Datastore to.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The upgraded version of the cache engine to be run on the clusters in the Global Datastore.

" + }, + "GlobalReplicationGroupDescription":{ + "shape":"String", + "documentation":"

A description of the Global Datastore

" + }, + "AutomaticFailoverEnabled":{ + "shape":"BooleanOptional", + "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

" + } + } + }, + "ModifyGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, "ModifyReplicationGroupMessage":{ "type":"structure", "required":["ReplicationGroupId"], @@ -2710,19 +3939,24 @@ }, "SnapshottingClusterId":{ "shape":"String", - "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.

" + "documentation":"

The 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":"

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:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled):T1 and T2 cache node types.

    Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Determines whether a read replica is automatically promoted to read/write primary if the existing primary encounters a failure.

Valid values: true | false

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" + }, + "NodeGroupId":{ + "shape":"String", + "documentation":"

Deprecated. This parameter is not used.

", + "deprecated":true }, "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 (Amazon 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 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 (Amazon VPC).

" + "documentation":"

Specifies the VPC Security Groups associated with the clusters in the replication group.

This parameter can be used only with replication group containing clusters running in an Amazon Virtual Private Cloud (Amazon VPC).

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -2746,7 +3980,7 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

The upgraded version of the cache engine to be run on the cache clusters in the replication group.

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 replication group and create it anew with the earlier engine version.

" + "documentation":"

The upgraded version of the cache engine to be run on the clusters in the replication group.

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 replication group and create it anew with the earlier engine version.

" }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", @@ -2763,6 +3997,14 @@ "CacheNodeType":{ "shape":"String", "documentation":"

A valid cache node type that you want to scale this replication group to.

" + }, + "AuthToken":{ + "shape":"String", + "documentation":"

Reserved parameter. The password used to access a password protected server. This parameter must be specified with the auth-token-update-strategy parameter. Password constraints:

  • Must be only printable ASCII characters

  • Must be at least 16 characters and no more than 128 characters in length

  • Cannot contain any of the following characters: '/', '\"', or '@', '%'

For more information, see AUTH password at AUTH.

" + }, + "AuthTokenUpdateStrategy":{ + "shape":"AuthTokenUpdateStrategyType", + "documentation":"

Specifies the strategy to use to update the AUTH token. This parameter must be specified with the auth-token parameter. Possible values:

  • Rotate

  • Set

For more information, see Authenticating Users with Redis AUTH

" } }, "documentation":"

Represents the input of a ModifyReplicationGroups operation.

" @@ -2773,12 +4015,65 @@ "ReplicationGroup":{"shape":"ReplicationGroup"} } }, + "ModifyReplicationGroupShardConfigurationMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "NodeGroupCount", + "ApplyImmediately" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Redis (cluster mode enabled) cluster (replication group) on which the shards are to be configured.

" + }, + "NodeGroupCount":{ + "shape":"Integer", + "documentation":"

The number of node groups (shards) that results from the modification of the shard configuration.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Indicates that the shard reconfiguration process begins immediately. At present, the only permitted value for this parameter is true.

Value: true

" + }, + "ReshardingConfiguration":{ + "shape":"ReshardingConfigurationList", + "documentation":"

Specifies the preferred availability zones for each node group in the cluster. If the value of NodeGroupCount is greater than the current number of node groups (shards), you can use this parameter to specify the preferred availability zones of the cluster's shards. If you omit this parameter ElastiCache selects availability zones for you.

You can specify this parameter only if the value of NodeGroupCount is greater than the current number of node groups (shards).

" + }, + "NodeGroupsToRemove":{ + "shape":"NodeGroupsToRemoveList", + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster.

ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove from the cluster.

" + }, + "NodeGroupsToRetain":{ + "shape":"NodeGroupsToRetainList", + "documentation":"

If the value of NodeGroupCount is less than the current number of node groups (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster.

ElastiCache for Redis will attempt to remove all node groups except those listed by NodeGroupsToRetain from the cluster.

" + } + }, + "documentation":"

Represents the input for a ModifyReplicationGroupShardConfiguration operation.

" + }, + "ModifyReplicationGroupShardConfigurationResult":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, + "NoOperationFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The operation was not performed because no changes were required.

", + "error":{ + "code":"NoOperationFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "NodeGroup":{ "type":"structure", "members":{ "NodeGroupId":{ "shape":"String", - "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.

" + "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 90 node groups numbered 0001 to 0090. Optionally, the user can provide the id for a node group.

" }, "Status":{ "shape":"String", @@ -2788,6 +4083,10 @@ "shape":"Endpoint", "documentation":"

The endpoint of the primary node in this node group (shard).

" }, + "ReaderEndpoint":{ + "shape":"Endpoint", + "documentation":"

The endpoint of the replica nodes in this node group (shard).

" + }, "Slots":{ "shape":"String", "documentation":"

The keyspace for this node group (shard).

" @@ -2797,14 +4096,18 @@ "documentation":"

A list containing information about individual nodes within the node group (shard).

" } }, - "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.

" + "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":{ + "NodeGroupId":{ + "shape":"AllowedNodeGroupId", + "documentation":"

Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to.

" + }, "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\"

" + "documentation":"

A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

Example: \"0-3999\"

" }, "ReplicaCount":{ "shape":"IntegerOptional", @@ -2819,7 +4122,7 @@ "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.

" + "documentation":"

Node group (shard) configuration options. Each node group (shard) configuration has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, ReplicaCount.

" }, "NodeGroupConfigurationList":{ "type":"list", @@ -2840,20 +4143,23 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The ID of the cache cluster to which the node belongs.

" + "documentation":"

The ID of the cluster to which the node belongs.

" }, "CacheNodeId":{ "shape":"String", - "documentation":"

The ID of the node within its cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" + "documentation":"

The ID of the node within its cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" + }, + "ReadEndpoint":{ + "shape":"Endpoint", + "documentation":"

The information required for client programs to connect to a node for read operations. The read endpoint is only applicable on Redis (cluster mode disabled) clusters.

" }, - "ReadEndpoint":{"shape":"Endpoint"}, "PreferredAvailabilityZone":{ "shape":"String", "documentation":"

The name of the Availability Zone in which the node is located.

" }, "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. This member is only applicable for Redis (cluster mode disabled) replication groups.

" } }, "documentation":"

Represents a single node within a node group (shard).

" @@ -2865,11 +4171,93 @@ "locationName":"NodeGroupMember" } }, + "NodeGroupMemberUpdateStatus":{ + "type":"structure", + "members":{ + "CacheClusterId":{ + "shape":"String", + "documentation":"

The cache cluster ID

" + }, + "CacheNodeId":{ + "shape":"String", + "documentation":"

The node ID of the cache cluster

" + }, + "NodeUpdateStatus":{ + "shape":"NodeUpdateStatus", + "documentation":"

The update status of the node

" + }, + "NodeDeletionDate":{ + "shape":"TStamp", + "documentation":"

The deletion date of the node

" + }, + "NodeUpdateStartDate":{ + "shape":"TStamp", + "documentation":"

The start date of the update for a node

" + }, + "NodeUpdateEndDate":{ + "shape":"TStamp", + "documentation":"

The end date of the update for a node

" + }, + "NodeUpdateInitiatedBy":{ + "shape":"NodeUpdateInitiatedBy", + "documentation":"

Reflects whether the update was initiated by the customer or automatically applied

" + }, + "NodeUpdateInitiatedDate":{ + "shape":"TStamp", + "documentation":"

The date when the update is triggered

" + }, + "NodeUpdateStatusModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date when the NodeUpdateStatus was last modified

" + } + }, + "documentation":"

The status of the service update on the node group member

" + }, + "NodeGroupMemberUpdateStatusList":{ + "type":"list", + "member":{ + "shape":"NodeGroupMemberUpdateStatus", + "locationName":"NodeGroupMemberUpdateStatus" + } + }, + "NodeGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The node group specified by the NodeGroupId parameter could not be found. Please verify that the node group exists and that you spelled the NodeGroupId value correctly.

", + "error":{ + "code":"NodeGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "NodeGroupUpdateStatus":{ + "type":"structure", + "members":{ + "NodeGroupId":{ + "shape":"String", + "documentation":"

The ID of the node group

" + }, + "NodeGroupMemberUpdateStatus":{ + "shape":"NodeGroupMemberUpdateStatusList", + "documentation":"

The status of the service update on the node group member

" + } + }, + "documentation":"

The status of the service update on the node group

" + }, + "NodeGroupUpdateStatusList":{ + "type":"list", + "member":{ + "shape":"NodeGroupUpdateStatus", + "locationName":"NodeGroupUpdateStatus" + } + }, "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.

", + "documentation":"

The request cannot be processed because it would exceed the maximum allowed number of node groups (shards) in a single replication group. The default maximum is 90

", "error":{ "code":"NodeGroupsPerReplicationGroupQuotaExceeded", "httpStatusCode":400, @@ -2877,11 +4265,25 @@ }, "exception":true }, + "NodeGroupsToRemoveList":{ + "type":"list", + "member":{ + "shape":"AllowedNodeGroupId", + "locationName":"NodeGroupToRemove" + } + }, + "NodeGroupsToRetainList":{ + "type":"list", + "member":{ + "shape":"AllowedNodeGroupId", + "locationName":"NodeGroupToRetain" + } + }, "NodeQuotaForClusterExceededFault":{ "type":"structure", "members":{ }, - "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cache cluster.

", + "documentation":"

The request cannot be processed because it would exceed the allowed number of cache nodes in a single cluster.

", "error":{ "code":"NodeQuotaForClusterExceeded", "httpStatusCode":400, @@ -2906,7 +4308,7 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

A unique identifier for the source cache cluster.

" + "documentation":"

A unique identifier for the source cluster.

" }, "NodeGroupId":{ "shape":"String", @@ -2914,7 +4316,7 @@ }, "CacheNodeId":{ "shape":"String", - "documentation":"

The cache node identifier for the node in the source cache cluster.

" + "documentation":"

The cache node identifier for the node in the source cluster.

" }, "NodeGroupConfiguration":{ "shape":"NodeGroupConfiguration", @@ -2926,14 +4328,14 @@ }, "CacheNodeCreateTime":{ "shape":"TStamp", - "documentation":"

The date and time when the cache node was created in the source cache cluster.

" + "documentation":"

The date and time when the cache node was created in the source cluster.

" }, "SnapshotCreateTime":{ "shape":"TStamp", "documentation":"

The date and time when the source node's metadata and cache data set was obtained for the snapshot.

" } }, - "documentation":"

Represents an individual cache node in a snapshot of a cache cluster.

", + "documentation":"

Represents an individual cache node in a snapshot of a cluster.

", "wrapper":true }, "NodeSnapshotList":{ @@ -2947,6 +4349,24 @@ "type":"list", "member":{"shape":"String"} }, + "NodeUpdateInitiatedBy":{ + "type":"string", + "enum":[ + "system", + "customer" + ] + }, + "NodeUpdateStatus":{ + "type":"string", + "enum":[ + "not-applied", + "waiting-to-start", + "in-progress", + "stopping", + "stopped", + "complete" + ] + }, "NotificationConfiguration":{ "type":"structure", "members":{ @@ -2998,7 +4418,7 @@ }, "ChangeType":{ "shape":"ChangeType", - "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":"

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.

" @@ -3043,22 +4463,26 @@ "members":{ "NumCacheNodes":{ "shape":"IntegerOptional", - "documentation":"

The new number of cache nodes for the cache cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" + "documentation":"

The new number of cache nodes for the cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" }, "CacheNodeIdsToRemove":{ "shape":"CacheNodeIdsList", - "documentation":"

A list of cache node IDs that are being removed (or will be removed) from the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).

" + "documentation":"

A list of cache node IDs that are being removed (or will be removed) from the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.).

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The new cache engine version that the cache cluster runs.

" + "documentation":"

The new cache engine version that the cluster runs.

" }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type that this cache cluster or replication group is scaled to.

" + "documentation":"

The cache node type that this cluster or replication group is scaled to.

" + }, + "AuthTokenStatus":{ + "shape":"AuthTokenUpdateStatus", + "documentation":"

The auth token status

" } }, - "documentation":"

A group of settings that are applied to the cache cluster in the future, or that are currently being applied.

" + "documentation":"

A group of settings that are applied to the cluster in the future, or that are currently being applied.

" }, "PreferredAvailabilityZoneList":{ "type":"list", @@ -3067,6 +4491,35 @@ "locationName":"PreferredAvailabilityZone" } }, + "ProcessedUpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group

" + }, + "CacheClusterId":{ + "shape":"String", + "documentation":"

The ID of the cache cluster

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatus", + "documentation":"

The status of the update action on the Redis cluster

" + } + }, + "documentation":"

Update action that has been processed for the corresponding apply/stop request

" + }, + "ProcessedUpdateActionList":{ + "type":"list", + "member":{ + "shape":"ProcessedUpdateAction", + "locationName":"ProcessedUpdateAction" + } + }, "PurchaseReservedCacheNodesOfferingMessage":{ "type":"structure", "required":["ReservedCacheNodesOfferingId"], @@ -3092,6 +4545,29 @@ "ReservedCacheNode":{"shape":"ReservedCacheNode"} } }, + "RebalanceSlotsInGlobalReplicationGroupMessage":{ + "type":"structure", + "required":[ + "GlobalReplicationGroupId", + "ApplyImmediately" + ], + "members":{ + "GlobalReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the Global Datastore

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

If True, redistribution is applied immediately.

" + } + } + }, + "RebalanceSlotsInGlobalReplicationGroupResult":{ + "type":"structure", + "members":{ + "GlobalReplicationGroup":{"shape":"GlobalReplicationGroup"} + } + }, "RebootCacheClusterMessage":{ "type":"structure", "required":[ @@ -3101,11 +4577,11 @@ "members":{ "CacheClusterId":{ "shape":"String", - "documentation":"

The cache cluster identifier. This parameter is stored as a lowercase string.

" + "documentation":"

The cluster identifier. This parameter is stored as a lowercase string.

" }, "CacheNodeIdsToReboot":{ "shape":"CacheNodeIdsList", - "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":"

A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs.

" } }, "documentation":"

Represents the input of a RebootCacheCluster operation.

" @@ -3138,6 +4614,40 @@ "locationName":"RecurringCharge" } }, + "RegionalConfiguration":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "ReplicationGroupRegion", + "ReshardingConfiguration" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the secondary cluster

" + }, + "ReplicationGroupRegion":{ + "shape":"String", + "documentation":"

The AWS region where the cluster is stored

" + }, + "ReshardingConfiguration":{ + "shape":"ReshardingConfigurationList", + "documentation":"

A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

" + } + }, + "documentation":"

A list of the replication groups

" + }, + "RegionalConfigurationList":{ + "type":"list", + "member":{ + "shape":"RegionalConfiguration", + "locationName":"RegionalConfiguration" + } + }, + "RemoveReplicasList":{ + "type":"list", + "member":{"shape":"String"} + }, "RemoveTagsFromResourceMessage":{ "type":"structure", "required":[ @@ -3147,7 +4657,7 @@ "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 about ARNs, see 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", @@ -3156,6 +4666,13 @@ }, "documentation":"

Represents the input of a RemoveTagsFromResource operation.

" }, + "ReplicaConfigurationList":{ + "type":"list", + "member":{ + "shape":"ConfigureShard", + "locationName":"ConfigureShard" + } + }, "ReplicationGroup":{ "type":"structure", "members":{ @@ -3165,11 +4682,15 @@ }, "Description":{ "shape":"String", - "documentation":"

The description of the replication group.

" + "documentation":"

The user supplied description of the replication group.

" + }, + "GlobalReplicationGroupInfo":{ + "shape":"GlobalReplicationGroupInfo", + "documentation":"

The name of the Global Datastore and role of this replication group in the Global Datastore.

" }, "Status":{ "shape":"String", - "documentation":"

The current state of this replication group - creating, available, etc.

" + "documentation":"

The current state of this replication group - creating, available, modifying, deleting, create-failed, snapshotting.

" }, "PendingModifiedValues":{ "shape":"ReplicationGroupPendingModifiedValues", @@ -3181,27 +4702,59 @@ }, "NodeGroups":{ "shape":"NodeGroupList", - "documentation":"

A single element list with information about the nodes in the replication group.

" + "documentation":"

A list of node groups in this replication group. For Redis (cluster mode disabled) replication groups, this is a single-element list. For Redis (cluster mode enabled) replication groups, the list contains an entry for each node group (shard).

" }, "SnapshottingClusterId":{ "shape":"String", - "documentation":"

The cache cluster ID that is used as the daily snapshot source for the replication group.

" + "documentation":"

The cluster ID that is used as the daily snapshot source for the replication group.

" }, "AutomaticFailover":{ "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ for this replication group.

ElastiCache Multi-AZ replication groups are not supported on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled):T1 and T2 cache node types.

    Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "ConfigurationEndpoint":{ "shape":"Endpoint", - "documentation":"

The configuration endpoint for this replicaiton group. Use the configuration endpoint to connect to this replication group.

" + "documentation":"

The configuration endpoint for this replication 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.

" + "documentation":"

The number of days for which ElastiCache retains automatic 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":"

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.

" + }, + "ClusterEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag indicating whether or not this replication group is cluster enabled; i.e., whether its data can be partitioned across multiple shards (API/CLI: node groups).

Valid values: true | false

" + }, + "CacheNodeType":{ + "shape":"String", + "documentation":"

The name of the compute and memory capacity node type for each node in the replication group.

" + }, + "AuthTokenEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables using an AuthToken (password) when issuing Redis commands.

Default: false

" + }, + "AuthTokenLastModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date the auth token was last modified

" + }, + "TransitEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables in-transit encryption when set to true.

You cannot modify the value of TransitEncryptionEnabled after the cluster is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" + }, + "AtRestEncryptionEnabled":{ + "shape":"BooleanOptional", + "documentation":"

A flag that enables encryption at-rest when set to true.

You cannot modify the value of AtRestEncryptionEnabled after the cluster is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled to true when you create a cluster.

Required: Only available when creating a replication group in an Amazon VPC using redis version 3.2.6, 4.x or later.

Default: false

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The ID of the KMS key used to encrypt the disk in the cluster.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the replication group.

" } }, "documentation":"

Contains all of the attributes of a specific Redis replication group.

", @@ -3219,6 +4772,23 @@ }, "exception":true }, + "ReplicationGroupAlreadyUnderMigrationFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The targeted replication group is not available.

", + "error":{ + "code":"ReplicationGroupAlreadyUnderMigrationFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ReplicationGroupIdList":{ + "type":"list", + "member":{"shape":"String"}, + "max":20 + }, "ReplicationGroupList":{ "type":"list", "member":{ @@ -3252,6 +4822,18 @@ }, "exception":true }, + "ReplicationGroupNotUnderMigrationFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The designated replication group is not available for data migration.

", + "error":{ + "code":"ReplicationGroupNotUnderMigrationFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ReplicationGroupPendingModifiedValues":{ "type":"structure", "members":{ @@ -3261,7 +4843,15 @@ }, "AutomaticFailoverStatus":{ "shape":"PendingAutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ for this Redis replication group.

ElastiCache Multi-AZ replication groups are not supported on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled):T1 and T2 cache node types.

    Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for this Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" + }, + "Resharding":{ + "shape":"ReshardingStatus", + "documentation":"

The status of an online resharding operation.

" + }, + "AuthTokenStatus":{ + "shape":"AuthTokenUpdateStatus", + "documentation":"

The auth token status

" } }, "documentation":"

The settings to be applied to the Redis replication group, either immediately or during the next maintenance window.

" @@ -3279,7 +4869,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache nodes.

Valid node types are as follows:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The cache node type for the reserved cache nodes.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "StartTime":{ "shape":"TStamp", @@ -3316,6 +4906,10 @@ "RecurringCharges":{ "shape":"RecurringChargeList", "documentation":"

The recurring price charged to run this reserved cache node.

" + }, + "ReservationARN":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the reserved cache node.

Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582

" } }, "documentation":"

Represents the output of a PurchaseReservedCacheNodesOffering operation.

", @@ -3387,7 +4981,7 @@ }, "CacheNodeType":{ "shape":"String", - "documentation":"

The cache node type for the reserved cache node.

Valid node types are as follows:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The cache node type for the reserved cache node.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "Duration":{ "shape":"Integer", @@ -3469,6 +5063,37 @@ }, "documentation":"

Represents the input of a ResetCacheParameterGroup operation.

" }, + "ReshardingConfiguration":{ + "type":"structure", + "members":{ + "NodeGroupId":{ + "shape":"AllowedNodeGroupId", + "documentation":"

Either the ElastiCache for Redis supplied 4-digit id or a user supplied id for the node group these configuration values apply to.

" + }, + "PreferredAvailabilityZones":{ + "shape":"AvailabilityZonesList", + "documentation":"

A list of preferred availability zones for the nodes in this cluster.

" + } + }, + "documentation":"

A list of PreferredAvailabilityZones objects that specifies the configuration of a node group in the resharded cluster.

" + }, + "ReshardingConfigurationList":{ + "type":"list", + "member":{ + "shape":"ReshardingConfiguration", + "locationName":"ReshardingConfiguration" + } + }, + "ReshardingStatus":{ + "type":"structure", + "members":{ + "SlotMigration":{ + "shape":"SlotMigration", + "documentation":"

Represents the progress of an online resharding operation.

" + } + }, + "documentation":"

The status of an online resharding operation.

" + }, "RevokeCacheSecurityGroupIngressMessage":{ "type":"structure", "required":[ @@ -3514,7 +5139,7 @@ }, "Status":{ "shape":"String", - "documentation":"

The status of the cache security group membership. The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cache cluster are modified.

" + "documentation":"

The status of the cache security group membership. The status changes whenever a cache security group is modified, or when the cache security groups assigned to a cluster are modified.

" } }, "documentation":"

Represents a single cache security group and its status.

" @@ -3523,6 +5148,148 @@ "type":"list", "member":{"shape":"SecurityGroupMembership"} }, + "ServiceLinkedRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified service linked role (SLR) was not found.

", + "error":{ + "code":"ServiceLinkedRoleNotFoundFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ServiceUpdate":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateReleaseDate":{ + "shape":"TStamp", + "documentation":"

The date when the service update is initially available

" + }, + "ServiceUpdateEndDate":{ + "shape":"TStamp", + "documentation":"

The date after which the service update is no longer available

" + }, + "ServiceUpdateSeverity":{ + "shape":"ServiceUpdateSeverity", + "documentation":"

The severity of the service update

" + }, + "ServiceUpdateRecommendedApplyByDate":{ + "shape":"TStamp", + "documentation":"

The recommendend date to apply the service update in order to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatus", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateDescription":{ + "shape":"String", + "documentation":"

Provides details of the service update

" + }, + "ServiceUpdateType":{ + "shape":"ServiceUpdateType", + "documentation":"

Reflects the nature of the service update

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The Elasticache engine to which the update applies. Either Redis or Memcached

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The Elasticache engine version to which the update applies. Either Redis or Memcached engine version

" + }, + "AutoUpdateAfterRecommendedApplyByDate":{ + "shape":"BooleanOptional", + "documentation":"

Indicates whether the service update will be automatically applied once the recommended apply-by date has expired.

" + }, + "EstimatedUpdateTime":{ + "shape":"String", + "documentation":"

The estimated length of time the service update will take

" + } + }, + "documentation":"

An update that you can apply to your Redis clusters.

" + }, + "ServiceUpdateList":{ + "type":"list", + "member":{ + "shape":"ServiceUpdate", + "locationName":"ServiceUpdate" + } + }, + "ServiceUpdateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The service update doesn't exist

", + "error":{ + "code":"ServiceUpdateNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceUpdateSeverity":{ + "type":"string", + "enum":[ + "critical", + "important", + "medium", + "low" + ] + }, + "ServiceUpdateStatus":{ + "type":"string", + "enum":[ + "available", + "cancelled", + "expired" + ] + }, + "ServiceUpdateStatusList":{ + "type":"list", + "member":{"shape":"ServiceUpdateStatus"}, + "max":3 + }, + "ServiceUpdateType":{ + "type":"string", + "enum":["security-update"] + }, + "ServiceUpdatesMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "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.

" + }, + "ServiceUpdates":{ + "shape":"ServiceUpdateList", + "documentation":"

A list of service updates

" + } + } + }, + "SlaMet":{ + "type":"string", + "enum":[ + "yes", + "no", + "n/a" + ] + }, + "SlotMigration":{ + "type":"structure", + "members":{ + "ProgressPercentage":{ + "shape":"Double", + "documentation":"

The percentage of the slot migration that is complete.

" + } + }, + "documentation":"

Represents the progress of an online resharding operation.

" + }, "Snapshot":{ "type":"structure", "members":{ @@ -3540,7 +5307,7 @@ }, "CacheClusterId":{ "shape":"String", - "documentation":"

The user-supplied identifier of the source cache cluster.

" + "documentation":"

The user-supplied identifier of the source cluster.

" }, "SnapshotStatus":{ "shape":"String", @@ -3552,27 +5319,27 @@ }, "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:

  • General purpose:

    • Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge, cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

    • Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

  • Compute optimized: cache.c1.xlarge

  • Memory optimized:

    • Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

    • Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

Notes:

  • All T2 instances are created in an Amazon Virtual Private Cloud (Amazon VPC).

  • Redis backup/restore is not supported for Redis (cluster mode disabled) T1 and T2 instances. Backup/restore is supported on Redis (cluster mode enabled) T2 instances.

  • Redis Append-only files (AOF) functionality is not supported for T1 or T2 instances.

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.

" + "documentation":"

The name of the compute and memory capacity node type for the source cluster.

The following node types are supported by ElastiCache. Generally speaking, the current generation types provide more memory and computational power at lower cost when compared to their equivalent previous generation counterparts.

  • General purpose:

    • Current generation:

      M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      T3 node types: cache.t3.micro, cache.t3.small, cache.t3.medium

      T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Previous generation: (not recommended)

      T1 node types: cache.t1.micro

      M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Compute optimized:

    • Previous generation: (not recommended)

      C1 node types: cache.c1.xlarge

  • Memory optimized:

    • Current generation:

      R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Previous generation: (not recommended)

      M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

Additional node type info

  • All current generation instance types are created in Amazon VPC by default.

  • Redis append-only files (AOF) are not supported for T1 or T2 instances.

  • Redis Multi-AZ with automatic failover is not supported on T1 instances.

  • Redis configuration variables appendonly and appendfsync are not supported on Redis version 2.8.22 and later.

" }, "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 cluster.

" }, "EngineVersion":{ "shape":"String", - "documentation":"

The version of the cache engine version that is used by the source cache cluster.

" + "documentation":"

The version of the cache engine version that is used by the source cluster.

" }, "NumCacheNodes":{ "shape":"IntegerOptional", - "documentation":"

The number of cache nodes in the source cache cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" + "documentation":"

The number of cache nodes in the source cluster.

For clusters running Redis, this value must be 1. For clusters running Memcached, this value must be between 1 and 20.

" }, "PreferredAvailabilityZone":{ "shape":"String", - "documentation":"

The name of the Availability Zone in which the source cache cluster is located.

" + "documentation":"

The name of the Availability Zone in which the source cluster is located.

" }, "CacheClusterCreateTime":{ "shape":"TStamp", - "documentation":"

The date and time when the source cache cluster was created.

" + "documentation":"

The date and time when the source cluster was created.

" }, "PreferredMaintenanceWindow":{ "shape":"String", @@ -3580,23 +5347,23 @@ }, "TopicArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for the topic used by the source cache cluster for publishing notifications.

" + "documentation":"

The Amazon Resource Name (ARN) for the topic used by the source cluster for publishing notifications.

" }, "Port":{ "shape":"IntegerOptional", - "documentation":"

The port number used by each cache nodes in the source cache cluster.

" + "documentation":"

The port number used by each cache nodes in the source cluster.

" }, "CacheParameterGroupName":{ "shape":"String", - "documentation":"

The cache parameter group that is associated with the source cache cluster.

" + "documentation":"

The cache parameter group that is associated with the source cluster.

" }, "CacheSubnetGroupName":{ "shape":"String", - "documentation":"

The name of the cache subnet group associated with the source cache cluster.

" + "documentation":"

The name of the cache subnet group associated with the source cluster.

" }, "VpcId":{ "shape":"String", - "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cache cluster.

" + "documentation":"

The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet group for the source cluster.

" }, "AutoMinorVersionUpgrade":{ "shape":"Boolean", @@ -3604,11 +5371,11 @@ }, "SnapshotRetentionLimit":{ "shape":"IntegerOptional", - "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.

" + "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 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.

" + "documentation":"

The daily time range during which ElastiCache takes daily snapshots of the source cluster.

" }, "NumNodeGroups":{ "shape":"IntegerOptional", @@ -3616,14 +5383,22 @@ }, "AutomaticFailover":{ "shape":"AutomaticFailoverStatus", - "documentation":"

Indicates the status of Multi-AZ for the source replication group.

ElastiCache Multi-AZ replication groups are not supported on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled):T1 and T2 cache node types.

    Redis (cluster mode enabled): T1 node types.

" + "documentation":"

Indicates the status of Multi-AZ with automatic failover for the source Redis replication group.

Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover on:

  • Redis versions earlier than 2.8.6.

  • Redis (cluster mode disabled): T1 node types.

  • Redis (cluster mode enabled): T1 node types.

" }, "NodeSnapshots":{ "shape":"NodeSnapshotList", - "documentation":"

A list of the cache nodes in the source cache cluster.

" + "documentation":"

A list of the cache nodes in the source cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The ID of the KMS key used to encrypt the snapshot.

" + }, + "ARN":{ + "shape":"String", + "documentation":"

The ARN (Amazon Resource Name) of the snapshot.

" } }, - "documentation":"

Represents a copy of an entire Redis cache cluster as of the time when the snapshot was taken.

", + "documentation":"

Represents a copy of an entire Redis cluster as of the time when the snapshot was taken.

", "wrapper":true }, "SnapshotAlreadyExistsFault":{ @@ -3649,7 +5424,7 @@ "type":"structure", "members":{ }, - "documentation":"

You attempted one of the following operations:

  • Creating a snapshot of a Redis cache cluster running on a cache.t1.micro cache node.

  • Creating a snapshot of a cache cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

", + "documentation":"

You attempted one of the following operations:

  • Creating a snapshot of a Redis cluster running on a cache.t1.micro cache node.

  • Creating a snapshot of a cluster that is running Memcached rather than Redis.

Neither of these are supported by ElastiCache.

", "error":{ "code":"SnapshotFeatureNotSupportedFault", "httpStatusCode":400, @@ -3698,6 +5473,29 @@ "replication-group" ] }, + "StartMigrationMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "CustomerNodeEndpointList" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group to which data should be migrated.

" + }, + "CustomerNodeEndpointList":{ + "shape":"CustomerNodeEndpointList", + "documentation":"

List of endpoints from which data should be migrated. For Redis (cluster mode disabled), list should have only one element.

" + } + } + }, + "StartMigrationResponse":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, "String":{"type":"string"}, "Subnet":{ "type":"structure", @@ -3711,7 +5509,7 @@ "documentation":"

The Availability Zone associated with the subnet.

" } }, - "documentation":"

Represents the subnet associated with a cache cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

" + "documentation":"

Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

" }, "SubnetIdentifierList":{ "type":"list", @@ -3745,11 +5543,11 @@ "members":{ "Key":{ "shape":"String", - "documentation":"

The key for the tag.

" + "documentation":"

The key for the tag. May not be null.

" }, "Value":{ "shape":"String", - "documentation":"

The tag's value. May not be null.

" + "documentation":"

The tag's value. May be null.

" } }, "documentation":"

A cost allocation Tag that can be added to an ElastiCache cluster or replication group. Tags are composed of a Key/Value pair. A tag with a null Value is permitted.

" @@ -3769,7 +5567,7 @@ "documentation":"

A list of cost allocation tags as key-value pairs.

" } }, - "documentation":"

Represents the output from the AddTagsToResource, ListTagsOnResource, and RemoveTagsFromResource operations.

" + "documentation":"

Represents the output from the AddTagsToResource, ListTagsForResource, and RemoveTagsFromResource operations.

" }, "TagNotFoundFault":{ "type":"structure", @@ -3787,13 +5585,221 @@ "type":"structure", "members":{ }, - "documentation":"

The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 10.

", + "documentation":"

The request cannot be processed because it would cause the resource to have more than the allowed number of tags. The maximum number of tags permitted on a resource is 50.

", "error":{ "code":"TagQuotaPerResourceExceeded", "httpStatusCode":400, "senderFault":true }, "exception":true + }, + "TestFailoverMessage":{ + "type":"structure", + "required":[ + "ReplicationGroupId", + "NodeGroupId" + ], + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The name of the replication group (console: cluster) whose automatic failover is being tested by this operation.

" + }, + "NodeGroupId":{ + "shape":"AllowedNodeGroupId", + "documentation":"

The name of the node group (called shard in the console) in this replication group on which automatic failover is to be tested. You may test automatic failover on up to 5 node groups in any rolling 24-hour period.

" + } + } + }, + "TestFailoverNotAvailableFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The TestFailover action is not available.

", + "error":{ + "code":"TestFailoverNotAvailableFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TestFailoverResult":{ + "type":"structure", + "members":{ + "ReplicationGroup":{"shape":"ReplicationGroup"} + } + }, + "TimeRangeFilter":{ + "type":"structure", + "members":{ + "StartTime":{ + "shape":"TStamp", + "documentation":"

The start time of the time range filter

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end time of the time range filter

" + } + }, + "documentation":"

Filters update actions from the service updates that are in available status during the time range.

" + }, + "UnprocessedUpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The replication group ID

" + }, + "CacheClusterId":{ + "shape":"String", + "documentation":"

The ID of the cache cluster

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ErrorType":{ + "shape":"String", + "documentation":"

The error type for requests that are not processed

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

The error message that describes the reason the request was not processed

" + } + }, + "documentation":"

Update action that has failed to be processed for the corresponding apply/stop request

" + }, + "UnprocessedUpdateActionList":{ + "type":"list", + "member":{ + "shape":"UnprocessedUpdateAction", + "locationName":"UnprocessedUpdateAction" + } + }, + "UpdateAction":{ + "type":"structure", + "members":{ + "ReplicationGroupId":{ + "shape":"String", + "documentation":"

The ID of the replication group

" + }, + "CacheClusterId":{ + "shape":"String", + "documentation":"

The ID of the cache cluster

" + }, + "ServiceUpdateName":{ + "shape":"String", + "documentation":"

The unique ID of the service update

" + }, + "ServiceUpdateReleaseDate":{ + "shape":"TStamp", + "documentation":"

The date the update is first available

" + }, + "ServiceUpdateSeverity":{ + "shape":"ServiceUpdateSeverity", + "documentation":"

The severity of the service update

" + }, + "ServiceUpdateStatus":{ + "shape":"ServiceUpdateStatus", + "documentation":"

The status of the service update

" + }, + "ServiceUpdateRecommendedApplyByDate":{ + "shape":"TStamp", + "documentation":"

The recommended date to apply the service update to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance.

" + }, + "ServiceUpdateType":{ + "shape":"ServiceUpdateType", + "documentation":"

Reflects the nature of the service update

" + }, + "UpdateActionAvailableDate":{ + "shape":"TStamp", + "documentation":"

The date that the service update is available to a replication group

" + }, + "UpdateActionStatus":{ + "shape":"UpdateActionStatus", + "documentation":"

The status of the update action

" + }, + "NodesUpdated":{ + "shape":"String", + "documentation":"

The progress of the service update on the replication group

" + }, + "UpdateActionStatusModifiedDate":{ + "shape":"TStamp", + "documentation":"

The date when the UpdateActionStatus was last modified

" + }, + "SlaMet":{ + "shape":"SlaMet", + "documentation":"

If yes, all nodes in the replication group have been updated by the recommended apply-by date. If no, at least one node in the replication group have not been updated by the recommended apply-by date. If N/A, the replication group was created after the recommended apply-by date.

" + }, + "NodeGroupUpdateStatus":{ + "shape":"NodeGroupUpdateStatusList", + "documentation":"

The status of the service update on the node group

" + }, + "CacheNodeUpdateStatus":{ + "shape":"CacheNodeUpdateStatusList", + "documentation":"

The status of the service update on the cache node

" + }, + "EstimatedUpdateTime":{ + "shape":"String", + "documentation":"

The estimated length of time for the update to complete

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The Elasticache engine to which the update applies. Either Redis or Memcached

" + } + }, + "documentation":"

The status of the service update for a specific replication group

" + }, + "UpdateActionList":{ + "type":"list", + "member":{ + "shape":"UpdateAction", + "locationName":"UpdateAction" + } + }, + "UpdateActionResultsMessage":{ + "type":"structure", + "members":{ + "ProcessedUpdateActions":{ + "shape":"ProcessedUpdateActionList", + "documentation":"

Update actions that have been processed successfully

" + }, + "UnprocessedUpdateActions":{ + "shape":"UnprocessedUpdateActionList", + "documentation":"

Update actions that haven't been processed successfully

" + } + } + }, + "UpdateActionStatus":{ + "type":"string", + "enum":[ + "not-applied", + "waiting-to-start", + "in-progress", + "stopping", + "stopped", + "complete", + "scheduling", + "scheduled", + "not-applicable" + ] + }, + "UpdateActionStatusList":{ + "type":"list", + "member":{"shape":"UpdateActionStatus"}, + "max":9 + }, + "UpdateActionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "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.

" + }, + "UpdateActions":{ + "shape":"UpdateActionList", + "documentation":"

Returns a list of update actions

" + } + } } }, "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 -Nru python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/waiters-2.json python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/waiters-2.json --- python-botocore-1.4.70/botocore/data/elasticache/2015-02-02/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticache/2015-02-02/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,139 +1,143 @@ { - "version": 2, - "waiters": { - "CacheClusterAvailable": { - "delay": 30, - "operation": "DescribeCacheClusters", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "incompatible-network", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "restore-failed", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - } - ] - }, - "CacheClusterDeleted": { - "delay": 30, - "operation": "DescribeCacheClusters", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "CacheClusterNotFound", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "CacheClusters[].CacheClusterStatus" - } - ] - }, - "ReplicationGroupAvailable": { - "delay": 30, - "operation": "DescribeReplicationGroups", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "available", - "matcher": "pathAll", - "state": "success", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "deleted", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "deleting", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "incompatible-network", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "restore-failed", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - } - ] - }, - "ReplicationGroupDeleted": { - "delay": 30, - "operation": "DescribeReplicationGroups", - "maxAttempts": 60, - "acceptors": [ - { - "expected": "ReplicationGroupNotFoundFault", - "matcher": "error", - "state": "success" - }, - { - "expected": "creating", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "modifying", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" - }, - { - "expected": "rebooting", - "matcher": "pathAny", - "state": "failure", - "argument": "ReplicationGroups[].Status" + "version":2, + "waiters":{ + "CacheClusterAvailable":{ + "acceptors":[ + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"available", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"deleted", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"deleting", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"incompatible-network", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"restore-failed", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until ElastiCache cluster is available.", + "maxAttempts":40, + "operation":"DescribeCacheClusters" + }, + "CacheClusterDeleted":{ + "acceptors":[ + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"deleted", + "matcher":"pathAll", + "state":"success" + }, + { + "expected":"CacheClusterNotFound", + "matcher":"error", + "state":"success" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"available", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"creating", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"incompatible-network", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"modifying", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"restore-failed", + "matcher":"pathAny", + "state":"failure" + }, + { + "argument":"CacheClusters[].CacheClusterStatus", + "expected":"snapshotting", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until ElastiCache cluster is deleted.", + "maxAttempts":40, + "operation":"DescribeCacheClusters" + }, + "ReplicationGroupAvailable":{ + "acceptors":[ + { + "argument":"ReplicationGroups[].Status", + "expected":"available", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationGroups[].Status", + "expected":"deleted", + "matcher":"pathAny", + "state":"failure" + } + ], + "delay":15, + "description":"Wait until ElastiCache replication group is available.", + "maxAttempts":40, + "operation":"DescribeReplicationGroups" + }, + "ReplicationGroupDeleted":{ + "acceptors":[ + { + "argument":"ReplicationGroups[].Status", + "expected":"deleted", + "matcher":"pathAll", + "state":"success" + }, + { + "argument":"ReplicationGroups[].Status", + "expected":"available", + "matcher":"pathAny", + "state":"failure" + }, + { + "expected":"ReplicationGroupNotFoundFault", + "matcher":"error", + "state":"success" + } + ], + "delay":15, + "description":"Wait until ElastiCache replication group is deleted.", + "maxAttempts":40, + "operation":"DescribeReplicationGroups" } - ] } - } } diff -Nru python-botocore-1.4.70/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,30 @@ "output_token": "NextToken", "limit_key": "MaxRecords", "result_key": "Events" + }, + "DescribeApplicationVersions": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "ApplicationVersions" + }, + "DescribeEnvironmentManagedActionHistory": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "ManagedActionHistoryItems" + }, + "DescribeEnvironments": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "Environments" + }, + "ListPlatformVersions": { + "input_token": "NextToken", + "limit_key": "MaxRecords", + "output_token": "NextToken", + "result_key": "PlatformSummaryList" } } } diff -Nru python-botocore-1.4.70/botocore/data/elasticbeanstalk/2010-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/elasticbeanstalk/2010-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/elasticbeanstalk/2010-12-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elasticbeanstalk/2010-12-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,7 +6,9 @@ "protocol":"query", "serviceAbbreviation":"Elastic Beanstalk", "serviceFullName":"AWS Elastic Beanstalk", + "serviceId":"Elastic Beanstalk", "signatureVersion":"v4", + "uid":"elasticbeanstalk-2010-12-01", "xmlNamespace":"http://elasticbeanstalk.amazonaws.com/docs/2010-12-01/" }, "operations":{ @@ -67,7 +69,7 @@ {"shape":"TooManyEnvironmentsException"}, {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

" + "documentation":"

Create or update a group of environments that each run a separate component of a single application. Takes a list of version labels that specify application source bundles for each of the environments to create or update. The name of each environment and other required information must be included in the source bundles in an environment manifest named env.yaml. See Compose Environments for details.

" }, "CreateApplication":{ "name":"CreateApplication", @@ -83,7 +85,7 @@ "errors":[ {"shape":"TooManyApplicationsException"} ], - "documentation":"

Creates an application that has one configuration template named default and no application versions.

" + "documentation":"

Creates an application that has one configuration template named default and no application versions.

" }, "CreateApplicationVersion":{ "name":"CreateApplicationVersion", @@ -100,9 +102,10 @@ {"shape":"TooManyApplicationsException"}, {"shape":"TooManyApplicationVersionsException"}, {"shape":"InsufficientPrivilegesException"}, - {"shape":"S3LocationNotInServiceRegionException"} + {"shape":"S3LocationNotInServiceRegionException"}, + {"shape":"CodeBuildNotInServiceRegionException"} ], - "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. You can create an application version from a source bundle in Amazon S3, a commit in AWS CodeCommit, or the output of an AWS CodeBuild build as follows:

Specify a commit in an AWS CodeCommit repository with SourceBuildInformation.

Specify a build in an AWS CodeBuild with SourceBuildInformation and BuildConfiguration.

Specify a source bundle in S3 with SourceBundle

Omit both SourceBuildInformation and SourceBundle to use the default sample application.

After you create an application version with a specified Amazon S3 bucket and key location, you can't 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 +123,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 an AWS Elastic Beanstalk configuration template, associated with a specific Elastic Beanstalk application. You define application configuration settings in a configuration template. You can then use the configuration template to deploy different versions of the application with the same configuration settings.

Templates aren't associated with any environment. The EnvironmentName response element is always null.

Related Topics

" }, "CreateEnvironment":{ "name":"CreateEnvironment", @@ -137,7 +140,25 @@ {"shape":"TooManyEnvironmentsException"}, {"shape":"InsufficientPrivilegesException"} ], - "documentation":"

Launches an environment for the specified application using the specified configuration.

" + "documentation":"

Launches an AWS Elastic Beanstalk environment for the specified application using the specified configuration.

" + }, + "CreatePlatformVersion":{ + "name":"CreatePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePlatformVersionRequest"}, + "output":{ + "shape":"CreatePlatformVersionResult", + "resultWrapper":"CreatePlatformVersionResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"}, + {"shape":"TooManyPlatformsException"} + ], + "documentation":"

Create a new version of your custom platform.

" }, "CreateStorageLocation":{ "name":"CreateStorageLocation", @@ -154,7 +175,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 a bucket in Amazon S3 to store application versions, logs, and other files used by Elastic Beanstalk environments. The Elastic Beanstalk console and EB CLI call this API the first time you create an environment in a region. If the storage location already exists, CreateStorageLocation still returns the bucket name but does not create a new bucket.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -204,6 +225,40 @@ "input":{"shape":"DeleteEnvironmentConfigurationMessage"}, "documentation":"

Deletes the draft configuration associated with the running environment.

Updating a running environment with any configuration changes creates a draft configuration set. You can get the draft configuration using DescribeConfigurationSettings while the update is in progress or if the update fails. The DeploymentStatus for the draft configuration indicates whether the deployment is in process or has failed. The draft configuration remains in existence until it is deleted with this action.

" }, + "DeletePlatformVersion":{ + "name":"DeletePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePlatformVersionRequest"}, + "output":{ + "shape":"DeletePlatformVersionResult", + "resultWrapper":"DeletePlatformVersionResult" + }, + "errors":[ + {"shape":"OperationInProgressException"}, + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"}, + {"shape":"PlatformVersionStillReferencedException"} + ], + "documentation":"

Deletes the specified version of a custom platform.

" + }, + "DescribeAccountAttributes":{ + "name":"DescribeAccountAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{ + "shape":"DescribeAccountAttributesResult", + "resultWrapper":"DescribeAccountAttributesResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"} + ], + "documentation":"

Returns attributes related to AWS Elastic Beanstalk that are associated with the calling AWS account.

The result currently has one set of attributes—resource quotas.

" + }, "DescribeApplicationVersions":{ "name":"DescribeApplicationVersions", "http":{ @@ -215,7 +270,7 @@ "shape":"ApplicationVersionDescriptionsMessage", "resultWrapper":"DescribeApplicationVersionsResult" }, - "documentation":"

Retrieve a list of application versions stored in your AWS Elastic Beanstalk storage bucket.

" + "documentation":"

Retrieve a list of application versions.

" }, "DescribeApplications":{ "name":"DescribeApplications", @@ -368,7 +423,24 @@ {"shape":"InvalidRequestException"}, {"shape":"ElasticBeanstalkServiceException"} ], - "documentation":"

Returns more detailed information about the health of the specified instances (for example, CPU utilization, load average, and causes). The DescribeInstancesHealth operation is only available with AWS Elastic Beanstalk Enhanced Health.

" + "documentation":"

Retrieves detailed information about the health of instances in your AWS Elastic Beanstalk. This operation requires enhanced health reporting.

" + }, + "DescribePlatformVersion":{ + "name":"DescribePlatformVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePlatformVersionRequest"}, + "output":{ + "shape":"DescribePlatformVersionResult", + "resultWrapper":"DescribePlatformVersionResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"} + ], + "documentation":"

Describes a platform version. Provides full details. Compare to ListPlatformVersions, which provides summary information about a list of platform versions.

For definitions of platform version and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

" }, "ListAvailableSolutionStacks":{ "name":"ListAvailableSolutionStacks", @@ -380,7 +452,55 @@ "shape":"ListAvailableSolutionStacksResultMessage", "resultWrapper":"ListAvailableSolutionStacksResult" }, - "documentation":"

Returns a list of the available solution stack names.

" + "documentation":"

Returns a list of the available solution stack names, with the public version first and then in reverse chronological order.

" + }, + "ListPlatformBranches":{ + "name":"ListPlatformBranches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPlatformBranchesRequest"}, + "output":{ + "shape":"ListPlatformBranchesResult", + "resultWrapper":"ListPlatformBranchesResult" + }, + "documentation":"

Lists the platform branches available for your account in an AWS Region. Provides summary information about each platform branch.

For definitions of platform branch and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

" + }, + "ListPlatformVersions":{ + "name":"ListPlatformVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPlatformVersionsRequest"}, + "output":{ + "shape":"ListPlatformVersionsResult", + "resultWrapper":"ListPlatformVersionsResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ElasticBeanstalkServiceException"} + ], + "documentation":"

Lists the platform versions available for your account in an AWS Region. Provides summary information about each platform version. Compare to DescribePlatformVersion, which provides full details about a single platform version.

For definitions of platform version and other platform-related terms, see AWS Elastic Beanstalk Platforms Glossary.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceMessage"}, + "output":{ + "shape":"ResourceTagsDescriptionMessage", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceTypeNotSupportedException"} + ], + "documentation":"

Return the tags applied to an AWS Elastic Beanstalk resource. The response contains a list of tag key-value pairs.

Elastic Beanstalk supports tagging of all of its resources. For details about resource tagging, see Tagging Application Resources.

" }, "RebuildEnvironment":{ "name":"RebuildEnvironment", @@ -463,6 +583,22 @@ }, "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.

" }, + "UpdateApplicationResourceLifecycle":{ + "name":"UpdateApplicationResourceLifecycle", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApplicationResourceLifecycleMessage"}, + "output":{ + "shape":"ApplicationResourceLifecycleDescriptionMessage", + "resultWrapper":"UpdateApplicationResourceLifecycleResult" + }, + "errors":[ + {"shape":"InsufficientPrivilegesException"} + ], + "documentation":"

Modifies lifecycle settings for an application.

" + }, "UpdateApplicationVersion":{ "name":"UpdateApplicationVersion", "http":{ @@ -510,6 +646,22 @@ ], "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.

" }, + "UpdateTagsForResource":{ + "name":"UpdateTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTagsForResourceMessage"}, + "errors":[ + {"shape":"InsufficientPrivilegesException"}, + {"shape":"OperationInProgressException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceTypeNotSupportedException"} + ], + "documentation":"

Update the list of tags applied to an AWS Elastic Beanstalk resource. Two lists can be passed: TagsToAdd for tags to add or update, and TagsToRemove.

Elastic Beanstalk supports tagging of all of its resources. For details about resource tagging, see Tagging Application Resources.

If you create a custom IAM user policy to control permission to this operation, specify one of the following two virtual actions (or both) instead of the API operation name:

elasticbeanstalk:AddTags

Controls permission to call UpdateTagsForResource and pass a list of tags to add in the TagsToAdd parameter.

elasticbeanstalk:RemoveTags

Controls permission to call UpdateTagsForResource and pass a list of tag keys to remove in the TagsToRemove parameter.

For details about creating a custom user policy, see Creating a Custom User Policy.

" + }, "ValidateConfigurationSettings":{ "name":"ValidateConfigurationSettings", "http":{ @@ -529,6 +681,7 @@ } }, "shapes":{ + "ARN":{"type":"string"}, "AbortEnvironmentUpdateMessage":{ "type":"structure", "members":{ @@ -569,9 +722,14 @@ "Unknown" ] }, + "ApplicationArn":{"type":"string"}, "ApplicationDescription":{ "type":"structure", "members":{ + "ApplicationArn":{ + "shape":"ApplicationArn", + "documentation":"

The Amazon Resource Name (ARN) of the application.

" + }, "ApplicationName":{ "shape":"ApplicationName", "documentation":"

The name of the application.

" @@ -595,6 +753,10 @@ "ConfigurationTemplates":{ "shape":"ConfigurationTemplateNamesList", "documentation":"

The names of the configuration templates associated with this application.

" + }, + "ResourceLifecycleConfig":{ + "shape":"ApplicationResourceLifecycleConfig", + "documentation":"

The lifecycle settings for the application.

" } }, "documentation":"

Describes the properties of an application.

" @@ -640,10 +802,10 @@ }, "Latency":{ "shape":"Latency", - "documentation":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one milisecond resolution.

" + "documentation":"

Represents the average latency for the slowest X percent of requests over the last 10 seconds. Latencies are in seconds with one millisecond resolution.

" } }, - "documentation":"

Represents the application metrics for a specified environment.

" + "documentation":"

Application request metrics for an AWS Elastic Beanstalk environment.

" }, "ApplicationName":{ "type":"string", @@ -654,25 +816,64 @@ "type":"list", "member":{"shape":"ApplicationName"} }, + "ApplicationResourceLifecycleConfig":{ + "type":"structure", + "members":{ + "ServiceRole":{ + "shape":"String", + "documentation":"

The ARN of an IAM service role that Elastic Beanstalk has permission to assume.

The ServiceRole property is required the first time that you provide a VersionLifecycleConfig for the application in one of the supporting calls (CreateApplication or UpdateApplicationResourceLifecycle). After you provide it once, in either one of the calls, Elastic Beanstalk persists the Service Role with the application, and you don't need to specify it again in subsequent UpdateApplicationResourceLifecycle calls. You can, however, specify it in subsequent calls to change the Service Role to another value.

" + }, + "VersionLifecycleConfig":{ + "shape":"ApplicationVersionLifecycleConfig", + "documentation":"

Defines lifecycle settings for application versions.

" + } + }, + "documentation":"

The resource lifecycle configuration for an application. Defines lifecycle settings for resources that belong to the application, and the service role that AWS Elastic Beanstalk assumes in order to apply lifecycle settings. The version lifecycle configuration defines lifecycle settings for application versions.

" + }, + "ApplicationResourceLifecycleDescriptionMessage":{ + "type":"structure", + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "ResourceLifecycleConfig":{ + "shape":"ApplicationResourceLifecycleConfig", + "documentation":"

The lifecycle configuration.

" + } + } + }, + "ApplicationVersionArn":{"type":"string"}, "ApplicationVersionDescription":{ "type":"structure", "members":{ + "ApplicationVersionArn":{ + "shape":"ApplicationVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the application version.

" + }, "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application associated with this release.

" + "documentation":"

The name of the application to which the application version belongs.

" }, "Description":{ "shape":"Description", - "documentation":"

The description of this application version.

" + "documentation":"

The description of the application version.

" }, "VersionLabel":{ "shape":"VersionLabel", - "documentation":"

A label uniquely identifying the version for the associated application.

" + "documentation":"

A unique identifier for the application version.

" + }, + "SourceBuildInformation":{ + "shape":"SourceBuildInformation", + "documentation":"

If the version's source code was retrieved from AWS CodeCommit, the location of the source code for the application version.

" + }, + "BuildArn":{ + "shape":"String", + "documentation":"

Reference to the artifact from the AWS CodeBuild build.

" }, - "SourceBuildInformation":{"shape":"SourceBuildInformation"}, "SourceBundle":{ "shape":"S3Location", - "documentation":"

The location where the source bundle is located for this version.

" + "documentation":"

The storage location of the application version's source bundle in Amazon S3.

" }, "DateCreated":{ "shape":"CreationDate", @@ -684,7 +885,7 @@ }, "Status":{ "shape":"ApplicationVersionStatus", - "documentation":"

The processing status of the application version.

" + "documentation":"

The processing status of the application version. Reflects the state of the application version during its creation. Many of the values are only applicable if you specified True for the Process parameter of the CreateApplicationVersion action. The following list describes the possible values.

  • Unprocessed – Application version wasn't pre-processed or validated. Elastic Beanstalk will validate configuration files during deployment of the application version to an environment.

  • Processing – Elastic Beanstalk is currently processing the application version.

  • Building – Application version is currently undergoing an AWS CodeBuild build.

  • Processed – Elastic Beanstalk was successfully pre-processed and validated.

  • Failed – Either the AWS CodeBuild build failed or configuration files didn't pass validation. This application version isn't usable.

" } }, "documentation":"

Describes the properties of an application version.

" @@ -708,15 +909,29 @@ "members":{ "ApplicationVersions":{ "shape":"ApplicationVersionDescriptionList", - "documentation":"

List of ApplicationVersionDescription objects sorted by order of creation.

" + "documentation":"

List of ApplicationVersionDescription objects sorted in 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":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

" } }, "documentation":"

Result message wrapping a list of application version descriptions.

" }, + "ApplicationVersionLifecycleConfig":{ + "type":"structure", + "members":{ + "MaxCountRule":{ + "shape":"MaxCountRule", + "documentation":"

Specify a max count rule to restrict the number of application versions that are retained for an application.

" + }, + "MaxAgeRule":{ + "shape":"MaxAgeRule", + "documentation":"

Specify a max age rule to restrict the length of time that application versions are retained for an application.

" + } + }, + "documentation":"

The application version lifecycle settings for an application. Defines the rules that Elastic Beanstalk applies to an application's versions in order to avoid hitting the per-region limit for application versions.

When Elastic Beanstalk deletes an application version from its database, you can no longer deploy that version to an environment. The source bundle remains in S3 unless you configure the rule to delete it.

" + }, "ApplicationVersionProccess":{"type":"boolean"}, "ApplicationVersionStatus":{ "type":"string", @@ -724,7 +939,8 @@ "Processed", "Unprocessed", "Failed", - "Processing" + "Processing", + "Building" ] }, "ApplyEnvironmentManagedActionRequest":{ @@ -791,6 +1007,50 @@ "type":"list", "member":{"shape":"SolutionStackName"} }, + "BoxedBoolean":{"type":"boolean"}, + "BoxedInt":{"type":"integer"}, + "BranchName":{"type":"string"}, + "BranchOrder":{"type":"integer"}, + "BuildConfiguration":{ + "type":"structure", + "required":[ + "CodeBuildServiceRole", + "Image" + ], + "members":{ + "ArtifactName":{ + "shape":"String", + "documentation":"

The name of the artifact of the CodeBuild build. If provided, Elastic Beanstalk stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label-artifact-name.zip. If not provided, Elastic Beanstalk stores the build artifact in the S3 location S3-bucket/resources/application-name/codebuild/codebuild-version-label.zip.

" + }, + "CodeBuildServiceRole":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" + }, + "ComputeType":{ + "shape":"ComputeType", + "documentation":"

Information about the compute resources the build project will use.

  • BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds

  • BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds

  • BUILD_GENERAL1_LARGE: Use up to 15 GB memory and 8 vCPUs for builds

" + }, + "Image":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the Docker image to use for this build project.

" + }, + "TimeoutInMinutes":{ + "shape":"BoxedInt", + "documentation":"

How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.

" + } + }, + "documentation":"

Settings for an AWS CodeBuild build.

" + }, + "Builder":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"ARN", + "documentation":"

The ARN of the builder.

" + } + }, + "documentation":"

The builder used to build the custom platform.

" + }, "CPUUtilization":{ "type":"structure", "members":{ @@ -800,11 +1060,11 @@ }, "Nice":{ "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

" + "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the Nice state over the last 10 seconds.

" }, "System":{ "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the System state over the last 10 seconds.

" + "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the System state over the last 10 seconds.

" }, "Idle":{ "shape":"NullableDouble", @@ -812,18 +1072,22 @@ }, "IOWait":{ "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

" + "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the I/O Wait state over the last 10 seconds.

" }, "IRQ":{ "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

" + "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the IRQ state over the last 10 seconds.

" }, "SoftIRQ":{ "shape":"NullableDouble", - "documentation":"

Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

" + "documentation":"

Available on Linux environments only.

Percentage of time that the CPU has spent in the SoftIRQ state over the last 10 seconds.

" + }, + "Privileged":{ + "shape":"NullableDouble", + "documentation":"

Available on Windows environments only.

Percentage of time that the CPU has spent in the Privileged state over the last 10 seconds.

" } }, - "documentation":"

Represents CPU utilization information from the specified instance that belongs to the AWS Elastic Beanstalk environment. Use the instanceId property to specify the application instance for which you'd like to return data.

" + "documentation":"

CPU utilization metrics for an instance.

" }, "Cause":{ "type":"string", @@ -860,6 +1124,18 @@ "documentation":"

Indicates if the specified CNAME is available.

" }, "CnameAvailability":{"type":"boolean"}, + "CodeBuildNotInServiceRegionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

AWS CodeBuild is not available in the specified region.

", + "error":{ + "code":"CodeBuildNotInServiceRegionException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ComposeEnvironmentsMessage":{ "type":"structure", "members":{ @@ -869,7 +1145,7 @@ }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environments belong. Specify a group name only if the environment name defined in each target environment's manifest ends with a + (plus) character. See Environment Manifest (env.yaml) for details.

" }, "VersionLabels":{ "shape":"VersionLabels", @@ -878,6 +1154,14 @@ }, "documentation":"

Request to create or update a group of environments.

" }, + "ComputeType":{ + "type":"string", + "enum":[ + "BUILD_GENERAL1_SMALL", + "BUILD_GENERAL1_MEDIUM", + "BUILD_GENERAL1_LARGE" + ] + }, "ConfigurationDeploymentStatus":{ "type":"string", "enum":[ @@ -952,11 +1236,11 @@ "members":{ "ResourceName":{ "shape":"ResourceName", - "documentation":"

A unique resource name for a time-based scaling configuration option.

" + "documentation":"

A unique resource name for the option setting. Use it 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 that identifies the option's associated AWS resource.

" }, "OptionName":{ "shape":"ConfigurationOptionName", @@ -967,7 +1251,7 @@ "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.

" + "documentation":"

A specification identifying an individual configuration option along with its current value. For a list of possible namespaces and option values, see Option Values in the AWS Elastic Beanstalk Developer Guide.

" }, "ConfigurationOptionSettingsList":{ "type":"list", @@ -989,6 +1273,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack these configuration options belong to.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, "Options":{ "shape":"ConfigurationOptionDescriptionsList", "documentation":"

A list of ConfigurationOptionDescription.

" @@ -1003,6 +1291,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack this configuration set uses.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, "ApplicationName":{ "shape":"ApplicationName", "documentation":"

The name of the application associated with this configuration set.

" @@ -1077,11 +1369,19 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application.

Constraint: This name must be unique within your account. If the specified name already exists, the action returns an InvalidParameterValue error.

" + "documentation":"

The name of the application. Must be unique within your account.

" }, "Description":{ "shape":"Description", - "documentation":"

Describes the application.

" + "documentation":"

Your description of the application.

" + }, + "ResourceLifecycleConfig":{ + "shape":"ApplicationResourceLifecycleConfig", + "documentation":"

Specifies an application resource lifecycle configuration to prevent your application from accumulating too many versions.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the application.

Elastic Beanstalk applies these tags only to the application. Environments that you create in the application don't inherit the tags.

" } }, "documentation":"

Request to create an application.

" @@ -1103,20 +1403,31 @@ }, "Description":{ "shape":"Description", - "documentation":"

Describes this version.

" + "documentation":"

A description of this application version.

" + }, + "SourceBuildInformation":{ + "shape":"SourceBuildInformation", + "documentation":"

Specify a commit in an AWS CodeCommit Git repository to use as the source code for the application 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.

The Amazon S3 bucket must be in the same region as the environment.

Specify a source bundle in S3 or a commit in an AWS CodeCommit repository (with SourceBuildInformation), but not both. If neither SourceBundle nor SourceBuildInformation are provided, Elastic Beanstalk uses a sample application.

" + }, + "BuildConfiguration":{ + "shape":"BuildConfiguration", + "documentation":"

Settings for an AWS CodeBuild build.

" }, "AutoCreateApplication":{ "shape":"AutoCreateApplication", - "documentation":"

Determines how the system behaves if the specified application for this version does not already exist:

  • true : Automatically creates the specified application for this release if it does not already exist.

  • false : Throws an InvalidParameterValue if the specified application for this release does not already exist.

Default: false

Valid Values: true | false

" + "documentation":"

Set to true to create an application with the specified name if it doesn't already exist.

" }, "Process":{ "shape":"ApplicationVersionProccess", - "documentation":"

Preprocesses and validates the environment manifest and configuration files in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

" + "documentation":"

Pre-processes and validates the environment manifest (env.yaml) and configuration files (*.config files in the .ebextensions folder) in the source bundle. Validating configuration files can identify issues prior to deploying the application version to an environment.

You must turn processing on for application versions that you create using AWS CodeBuild or AWS CodeCommit. For application versions built from a source bundle in Amazon S3, processing is optional.

The Process option validates Elastic Beanstalk configuration files. It doesn't validate your application's configuration files, like proxy server or Docker configuration.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the application version.

Elastic Beanstalk applies these tags only to the application version. Environments that use the application version don't inherit the tags.

" } }, "documentation":"

" @@ -1130,31 +1441,39 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application to associate with this configuration template. If no application is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

" + "documentation":"

The name of the Elastic Beanstalk application to associate with this configuration template.

" }, "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.

" }, "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 an Elastic Beanstalk solution stack (platform version) that this configuration uses. For example, 64bit Amazon Linux 2013.09 running Tomcat 7 Java 7. A solution stack specifies the operating system, runtime, and application server for a configuration template. It also determines the set of configuration options as well as the possible and default values. For more information, see Supported Platforms in the AWS Elastic Beanstalk Developer Guide.

You must specify SolutionStackName if you don't specify PlatformArn, EnvironmentId, or SourceConfiguration.

Use the ListAvailableSolutionStacks API to obtain a list of available solution stacks.

" + }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The Amazon Resource Name (ARN) of the custom platform. For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide.

If you specify PlatformArn, then don't specify SolutionStackName.

" }, "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":"

An Elastic Beanstalk configuration template to base this one on. If specified, Elastic Beanstalk uses the configuration values from the specified configuration template to create a new configuration.

Values specified in OptionSettings override any values obtained from the SourceConfiguration.

You must specify SourceConfiguration if you don't specify PlatformArn, EnvironmentId, or SolutionStackName.

Constraint: If both solution stack name and source configuration are specified, the solution stack of the source configuration template must match the specified solution stack name.

" }, "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

The ID of the environment used with this configuration template.

" + "documentation":"

The ID of an environment whose settings you want to use to create the configuration template. You must specify EnvironmentId if you don't specify PlatformArn, SolutionStackName, or SourceConfiguration.

" }, "Description":{ "shape":"Description", - "documentation":"

Describes this configuration.

" + "documentation":"

An optional description for this configuration.

" }, "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":"

Option values for the Elastic Beanstalk configuration, such as the instance type. If specified, these values override the values obtained from the solution stack or the source configuration template. For a complete list of Elastic Beanstalk configuration options, see Option Values in the AWS Elastic Beanstalk Developer Guide.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the configuration template.

" } }, "documentation":"

Request to create a configuration template.

" @@ -1165,43 +1484,47 @@ "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 is associated with this environment.

" }, "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 environment.

Constraint: Must be from 4 to 40 characters in length. The name can contain only letters, numbers, and hyphens. It can't start or end with a hyphen. This name must be unique within a region in your account. If the specified name already exists in the region, Elastic Beanstalk returns an InvalidParameterValue error.

If you don't specify the CNAMEPrefix parameter, the environment name becomes part of the CNAME, and therefore part of the visible URL for your application.

" }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name parameter. See Environment Manifest (env.yaml) for details.

" }, "Description":{ "shape":"Description", - "documentation":"

Describes this environment.

" + "documentation":"

Your description for this environment.

" }, "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 in your Elastic Beanstalk environment URL. 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":"

Specifies the tier to use in creating this environment. The environment tier that you choose determines whether Elastic Beanstalk provisions resources to support a web application that handles HTTP(S) requests or a web application that handles background-processing tasks.

" }, "Tags":{ "shape":"Tags", - "documentation":"

This specifies the tags applied to resources in the environment.

" + "documentation":"

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.

Default: If not specified, Elastic Beanstalk attempts to deploy the sample application.

" }, "TemplateName":{ "shape":"ConfigurationTemplateName", - "documentation":"

The name of the configuration template to use in deployment. If no configuration template is found with this name, AWS Elastic Beanstalk returns an InvalidParameterValue error.

Condition: You must specify either this parameter or a SolutionStackName, 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 Elastic Beanstalk configuration template to use with the environment.

If you specify TemplateName, then don't specify SolutionStackName.

" }, "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":"

The name of an Elastic Beanstalk solution stack (platform version) to use with the environment. If specified, Elastic Beanstalk sets the configuration values to the default values associated with the specified solution stack. For a list of current solution stacks, see Elastic Beanstalk Supported Platforms in the AWS Elastic Beanstalk Platforms guide.

If you specify SolutionStackName, don't specify PlatformArn or TemplateName.

" + }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The Amazon Resource Name (ARN) of the custom platform to use with the environment. For more information, see Custom Platforms in the AWS Elastic Beanstalk Developer Guide.

If you specify PlatformArn, don't specify SolutionStackName.

" }, "OptionSettings":{ "shape":"ConfigurationOptionSettingsList", @@ -1214,6 +1537,54 @@ }, "documentation":"

" }, + "CreatePlatformVersionRequest":{ + "type":"structure", + "required":[ + "PlatformName", + "PlatformVersion", + "PlatformDefinitionBundle" + ], + "members":{ + "PlatformName":{ + "shape":"PlatformName", + "documentation":"

The name of your custom platform.

" + }, + "PlatformVersion":{ + "shape":"PlatformVersion", + "documentation":"

The number, such as 1.0.2, for the new platform version.

" + }, + "PlatformDefinitionBundle":{ + "shape":"S3Location", + "documentation":"

The location of the platform definition archive in Amazon S3.

" + }, + "EnvironmentName":{ + "shape":"EnvironmentName", + "documentation":"

The name of the builder environment.

" + }, + "OptionSettings":{ + "shape":"ConfigurationOptionSettingsList", + "documentation":"

The configuration option settings to apply to the builder environment.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Specifies the tags applied to the new platform version.

Elastic Beanstalk applies these tags only to the platform version. Environments that you create using the platform version don't inherit the tags.

" + } + }, + "documentation":"

Request to create a new platform version.

" + }, + "CreatePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformSummary":{ + "shape":"PlatformSummary", + "documentation":"

Detailed information about the new version of the custom platform.

" + }, + "Builder":{ + "shape":"Builder", + "documentation":"

The builder used to create the custom platform.

" + } + } + }, "CreateStorageLocationResultMessage":{ "type":"structure", "members":{ @@ -1225,6 +1596,24 @@ "documentation":"

Results of a CreateStorageLocationResult call.

" }, "CreationDate":{"type":"timestamp"}, + "CustomAmi":{ + "type":"structure", + "members":{ + "VirtualizationType":{ + "shape":"VirtualizationType", + "documentation":"

The type of virtualization used to create the custom AMI.

" + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

THe ID of the image used to create the custom AMI.

" + } + }, + "documentation":"

A custom AMI available to platforms.

" + }, + "CustomAmiList":{ + "type":"list", + "member":{"shape":"CustomAmi"} + }, "DNSCname":{ "type":"string", "max":255, @@ -1259,7 +1648,7 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

The name of the application to delete releases from.

" + "documentation":"

The name of the application to which the version belongs.

" }, "VersionLabel":{ "shape":"VersionLabel", @@ -1267,7 +1656,7 @@ }, "DeleteSourceBundle":{ "shape":"DeleteSourceBundle", - "documentation":"

Indicates whether to delete the associated source bundle from Amazon S3:

  • true: An attempt is made to delete the associated Amazon S3 source bundle specified at time of creation.

  • false: No action is taken on the Amazon S3 source bundle specified at time of creation.

Valid Values: true | false

" + "documentation":"

Set to true to delete the source bundle from your storage bucket. Otherwise, the application version is deleted only from Elastic Beanstalk and the source bundle remains in Amazon S3.

" } }, "documentation":"

Request to delete an application version.

" @@ -1308,6 +1697,24 @@ }, "documentation":"

Request to delete a draft environment configuration.

" }, + "DeletePlatformVersionRequest":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the version of the custom platform.

" + } + } + }, + "DeletePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformSummary":{ + "shape":"PlatformSummary", + "documentation":"

Detailed information about the version of the custom platform.

" + } + } + }, "DeleteSourceBundle":{"type":"boolean"}, "Deployment":{ "type":"structure", @@ -1326,33 +1733,42 @@ }, "DeploymentTime":{ "shape":"DeploymentTimestamp", - "documentation":"

For in-progress deployments, the time that the deloyment started.

For completed deployments, the time that the deployment ended.

" + "documentation":"

For in-progress deployments, the time that the deployment started.

For completed deployments, the time that the deployment ended.

" } }, "documentation":"

Information about an application version deployment.

" }, "DeploymentTimestamp":{"type":"timestamp"}, + "DescribeAccountAttributesResult":{ + "type":"structure", + "members":{ + "ResourceQuotas":{ + "shape":"ResourceQuotas", + "documentation":"

The Elastic Beanstalk resource quotas associated with the calling AWS account.

" + } + } + }, "DescribeApplicationVersionsMessage":{ "type":"structure", "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to only include ones that are associated with the specified application.

" + "documentation":"

Specify an application name to show only application versions for that application.

" }, "VersionLabels":{ "shape":"VersionLabelsList", - "documentation":"

If specified, restricts the returned descriptions to only include ones that have the specified version labels.

" + "documentation":"

Specify a version label to show a specific application version.

" }, "MaxRecords":{ "shape":"MaxRecords", - "documentation":"

Specify a maximum number of application versions to paginate in the request.

" + "documentation":"

For a paginated request. Specify a maximum number of application versions to include in each response.

If no MaxRecords is specified, all available application versions are retrieved in a single response.

" }, "NextToken":{ "shape":"Token", - "documentation":"

Specify a next token to retrieve the next page in a paginated request.

" + "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" } }, - "documentation":"

Result message containing a list of configuration descriptions.

" + "documentation":"

Request to describe application versions.

" }, "DescribeApplicationsMessage":{ "type":"structure", @@ -1383,12 +1799,16 @@ "shape":"SolutionStackName", "documentation":"

The name of the solution stack whose configuration options you want to describe.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the custom platform.

" + }, "Options":{ "shape":"OptionsSpecifierList", "documentation":"

If specified, restricts the descriptions to only the specified options.

" } }, - "documentation":"

Result message containig a list of application version descriptions.

" + "documentation":"

Result message containing a list of application version descriptions.

" }, "DescribeConfigurationSettingsMessage":{ "type":"structure", @@ -1414,15 +1834,15 @@ "members":{ "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

Specifies the AWS Elastic Beanstalk environment name.

Condition: You must specify either this or an EnvironmentId, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

Specify the environment by name.

You must specify either this or an EnvironmentName, or both.

" }, "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

Specifies the AWS Elastic Beanstalk environment ID.

Condition: You must specify either this or an EnvironmentName, or both. If you do not specify either, AWS Elastic Beanstalk returns MissingRequiredParameter error.

" + "documentation":"

Specify the environment by ID.

You must specify either this or an EnvironmentName, or both.

" }, "AttributeNames":{ "shape":"EnvironmentHealthAttributes", - "documentation":"

Specifies the response elements you wish to receive. If no attribute names are specified, AWS Elastic Beanstalk only returns the name of the environment.

" + "documentation":"

Specify the response elements to return. To retrieve all attributes, set to All. If no attribute names are specified, returns the name of the environment.

" } }, "documentation":"

See the example below to learn how to create a request body.

" @@ -1432,32 +1852,38 @@ "members":{ "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

The AWS Elastic Beanstalk environment name.

" + "documentation":"

The environment's name.

" }, "HealthStatus":{ "shape":"String", - "documentation":"

Contains the response body with information about the health of the environment.

" + "documentation":"

The health status of the environment. For example, Ok.

" }, "Status":{ "shape":"EnvironmentHealth", - "documentation":"

Returns the health status value of the environment. For more information, see Health Colors and Statuses.

" + "documentation":"

The environment's operational status. Ready, Launching, Updating, Terminating, or Terminated.

" }, "Color":{ "shape":"String", - "documentation":"

Returns the color indicator that tells you information about the health of the environment. For more information, see Health Colors and Statuses.

" + "documentation":"

The health color of the environment.

" }, "Causes":{ "shape":"Causes", - "documentation":"

Returns potential causes for the reported status.

" + "documentation":"

Descriptions of the data that contributed to the environment's current health status.

" + }, + "ApplicationMetrics":{ + "shape":"ApplicationMetrics", + "documentation":"

Application request metrics for the environment.

" + }, + "InstancesHealth":{ + "shape":"InstanceHealthSummary", + "documentation":"

Summary health information for the instances in the environment.

" }, - "ApplicationMetrics":{"shape":"ApplicationMetrics"}, - "InstancesHealth":{"shape":"InstanceHealthSummary"}, "RefreshedAt":{ "shape":"RefreshedAt", - "documentation":"

The date and time the information was last refreshed.

" + "documentation":"

The date and time that the health information was retrieved.

" } }, - "documentation":"

See the example below for a sample response.

" + "documentation":"

Health details for an AWS Elastic Beanstalk environment.

" }, "DescribeEnvironmentManagedActionHistoryRequest":{ "type":"structure", @@ -1563,6 +1989,14 @@ "IncludedDeletedBackTo":{ "shape":"IncludeDeletedBackTo", "documentation":"

If specified when IncludeDeleted is set to true, then environments deleted after this date are displayed.

" + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

For a paginated request. Specify a maximum number of environments to include in each response.

If no MaxRecords is specified, all available environments are retrieved in a single response.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" } }, "documentation":"

Request to describe one or more environments.

" @@ -1590,6 +2024,10 @@ "shape":"EnvironmentName", "documentation":"

If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this environment.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of a custom platform version. If specified, AWS Elastic Beanstalk restricts the returned descriptions to those associated with this custom platform version.

" + }, "RequestId":{ "shape":"RequestId", "documentation":"

If specified, AWS Elastic Beanstalk restricts the described events to include only those associated with this request ID.

" @@ -1622,40 +2060,58 @@ "members":{ "EnvironmentName":{ "shape":"EnvironmentName", - "documentation":"

Specifies the AWS Elastic Beanstalk environment name.

" + "documentation":"

Specify the AWS Elastic Beanstalk environment by name.

" }, "EnvironmentId":{ "shape":"EnvironmentId", - "documentation":"

Specifies the AWS Elastic Beanstalk environment ID.

" + "documentation":"

Specify the AWS Elastic Beanstalk environment by ID.

" }, "AttributeNames":{ "shape":"InstancesHealthAttributes", - "documentation":"

Specifies the response elements you wish to receive. If no attribute names are specified, AWS Elastic Beanstalk only returns a list of instances.

" + "documentation":"

Specifies the response elements you wish to receive. To retrieve all attributes, set to All. If no attribute names are specified, returns a list of instances.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Specifies the next token of the request.

" + "documentation":"

Specify the pagination token returned by a previous call.

" } }, - "documentation":"

See the example below to learn how to create a request body.

" + "documentation":"

Parameters for a call to DescribeInstancesHealth.

" }, "DescribeInstancesHealthResult":{ "type":"structure", "members":{ "InstanceHealthList":{ "shape":"InstanceHealthList", - "documentation":"

Contains the response body with information about the health of the instance.

" + "documentation":"

Detailed health information about each instance.

The output differs slightly between Linux and Windows environments. There is a difference in the members that are supported under the <CPUUtilization> type.

" }, "RefreshedAt":{ "shape":"RefreshedAt", - "documentation":"

The date and time the information was last refreshed.

" + "documentation":"

The date and time that the health information was retrieved.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The next token.

" + "documentation":"

Pagination token for the next page of results, if available.

" } }, - "documentation":"

See the example below for a sample response.

" + "documentation":"

Detailed health information about the Amazon EC2 instances in an AWS Elastic Beanstalk environment.

" + }, + "DescribePlatformVersionRequest":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + } + } + }, + "DescribePlatformVersionResult":{ + "type":"structure", + "members":{ + "PlatformDescription":{ + "shape":"PlatformDescription", + "documentation":"

Detailed information about the platform version.

" + } + } }, "Description":{ "type":"string", @@ -1674,6 +2130,7 @@ "exception":true }, "EndpointURL":{"type":"string"}, + "EnvironmentArn":{"type":"string"}, "EnvironmentDescription":{ "type":"structure", "members":{ @@ -1697,6 +2154,10 @@ "shape":"SolutionStackName", "documentation":"

The name of the SolutionStack deployed with this environment.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, "TemplateName":{ "shape":"ConfigurationTemplateName", "documentation":"

The name of the configuration template used to originally launch this environment.

" @@ -1731,11 +2192,11 @@ }, "Health":{ "shape":"EnvironmentHealth", - "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

  • Red: Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment.

  • Yellow: Indicates that something is wrong. Occurs when two consecutive failures occur for an environment.

  • Green: Indicates the environment is healthy and fully functional.

  • Grey: Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an UpdateEnvironment or RestartEnvironement request.

Default: Grey

" + "documentation":"

Describes the health status of the environment. AWS Elastic Beanstalk indicates the failure levels for a running environment:

  • Red: Indicates the environment is not responsive. Occurs when three or more consecutive failures occur for an environment.

  • Yellow: Indicates that something is wrong. Occurs when two consecutive failures occur for an environment.

  • Green: Indicates the environment is healthy and fully functional.

  • Grey: Default health for a new environment. The environment is not fully launched and health checks have not started or health checks are suspended during an UpdateEnvironment or RestartEnvironment request.

Default: Grey

" }, "HealthStatus":{ "shape":"EnvironmentHealthStatus", - "documentation":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" + "documentation":"

Returns the health status of the application running in your environment. For more information, see Health Colors and Statuses.

" }, "Resources":{ "shape":"EnvironmentResourcesDescription", @@ -1748,6 +2209,10 @@ "EnvironmentLinks":{ "shape":"EnvironmentLinks", "documentation":"

A list of links to other environments in the same group.

" + }, + "EnvironmentArn":{ + "shape":"EnvironmentArn", + "documentation":"

The environment's Amazon Resource Name (ARN), which can be used in other API requests that require an ARN.

" } }, "documentation":"

Describes the properties of an environment.

" @@ -1762,6 +2227,10 @@ "Environments":{ "shape":"EnvironmentDescriptionsList", "documentation":"

Returns an EnvironmentDescription list.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

In a paginated request, the token that you can pass in a subsequent request to get the next response page.

" } }, "documentation":"

Result message containing a list of environment descriptions.

" @@ -1802,7 +2271,8 @@ "Info", "Warning", "Degraded", - "Severe" + "Severe", + "Suspended" ] }, "EnvironmentId":{"type":"string"}, @@ -1827,7 +2297,7 @@ }, "Message":{ "shape":"Message", - "documentation":"

The retrieved information.

" + "documentation":"

The retrieved information. Currently contains a presigned Amazon S3 URL. The files are deleted after 15 minutes.

Anyone in possession of this URL can access the files before they are deleted. Make the URL available only to trusted parties.

" } }, "documentation":"

The information retrieved from the Amazon EC2 instances.

" @@ -1855,7 +2325,7 @@ "documentation":"

The name of the linked environment (the dependency).

" } }, - "documentation":"

A link to another environment, defined in the environment's manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See Environment Manifest (env.yaml) for details.

" + "documentation":"

A link to another environment, defined in the environment's manifest. Links provide connection information in system properties that can be used to connect to another environment in the same group. See Environment Manifest (env.yaml) for details.

" }, "EnvironmentLinks":{ "type":"list", @@ -1889,6 +2359,10 @@ "shape":"LaunchConfigurationList", "documentation":"

The Auto Scaling launch configurations in use by this environment.

" }, + "LaunchTemplates":{ + "shape":"LaunchTemplateList", + "documentation":"

The Amazon EC2 launch templates in use by this environment.

" + }, "LoadBalancers":{ "shape":"LoadBalancerList", "documentation":"

The LoadBalancers in use by this environment.

" @@ -1939,15 +2413,15 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

The name of this environment tier.

" + "documentation":"

The name of this environment tier.

Valid values:

  • For Web server tierWebServer

  • For Worker tierWorker

" }, "Type":{ "shape":"String", - "documentation":"

The type of this environment tier.

" + "documentation":"

The type of this environment tier.

Valid values:

  • For Web server tierStandard

  • For Worker tierSQS/HTTP

" }, "Version":{ "shape":"String", - "documentation":"

The version of this environment tier.

" + "documentation":"

The version of this environment tier. When you don't set a value to it, Elastic Beanstalk uses the latest compatible worker tier version.

This member is deprecated. Any specific version that you set may become out of date. We recommend leaving it unspecified.

" } }, "documentation":"

Describes the properties of an environment tier

" @@ -1980,6 +2454,10 @@ "shape":"EnvironmentName", "documentation":"

The name of the environment associated with this event.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, "RequestId":{ "shape":"RequestId", "documentation":"

The web service request ID for the activity of this event.

" @@ -2045,6 +2523,7 @@ "max":19, "min":1 }, + "ImageId":{"type":"string"}, "IncludeDeleted":{"type":"boolean"}, "IncludeDeletedBackTo":{"type":"timestamp"}, "Instance":{ @@ -2097,7 +2576,7 @@ "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.

" + "documentation":"

Represents summary information about the health of an instance. For more information, see Health Colors and Statuses.

" }, "InstanceId":{ "type":"string", @@ -2132,7 +2611,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified account does not have sufficient privileges for one of more AWS services.

", + "documentation":"

The specified account does not have sufficient privileges for one or more AWS services.

", "error":{ "code":"InsufficientPrivilegesException", "httpStatusCode":403, @@ -2205,6 +2684,20 @@ "type":"list", "member":{"shape":"LaunchConfiguration"} }, + "LaunchTemplate":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

The ID of the launch template.

" + } + }, + "documentation":"

Describes an Amazon EC2 launch template.

" + }, + "LaunchTemplateList":{ + "type":"list", + "member":{"shape":"LaunchTemplate"} + }, "LaunchedAt":{"type":"timestamp"}, "ListAvailableSolutionStacksResultMessage":{ "type":"structure", @@ -2220,10 +2713,80 @@ }, "documentation":"

A list of available AWS Elastic Beanstalk solution stacks.

" }, - "Listener":{ + "ListPlatformBranchesRequest":{ "type":"structure", "members":{ - "Protocol":{ + "Filters":{ + "shape":"SearchFilters", + "documentation":"

Criteria for restricting the resulting list of platform branches. The filter is evaluated as a logical conjunction (AND) of the separate SearchFilter terms.

The following list shows valid attribute values for each of the SearchFilter terms. Most operators take a single value. The in and not_in operators can take multiple values.

  • Attribute = BranchName:

    • Operator: = | != | begins_with | ends_with | contains | in | not_in

  • Attribute = LifecycleState:

    • Operator: = | != | in | not_in

    • Values: beta | supported | deprecated | retired

  • Attribute = PlatformName:

    • Operator: = | != | begins_with | ends_with | contains | in | not_in

  • Attribute = TierType:

    • Operator: = | !=

    • Values: WebServer/Standard | Worker/SQS/HTTP

Array size: limited to 10 SearchFilter objects.

Within each SearchFilter item, the Values array is limited to 10 items.

" + }, + "MaxRecords":{ + "shape":"PlatformBranchMaxRecords", + "documentation":"

The maximum number of platform branch values returned in one call.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" + } + } + }, + "ListPlatformBranchesResult":{ + "type":"structure", + "members":{ + "PlatformBranchSummaryList":{ + "shape":"PlatformBranchSummaryList", + "documentation":"

Summary information about the platform branches.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

In a paginated request, if this value isn't null, it's the token that you can pass in a subsequent request to get the next response page.

" + } + } + }, + "ListPlatformVersionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"PlatformFilters", + "documentation":"

Criteria for restricting the resulting list of platform versions. The filter is interpreted as a logical conjunction (AND) of the separate PlatformFilter terms.

" + }, + "MaxRecords":{ + "shape":"PlatformMaxRecords", + "documentation":"

The maximum number of platform version values returned in one call.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

For a paginated request. Specify a token from a previous response page to retrieve the next response page. All other parameter values must be identical to the ones specified in the initial request.

If no NextToken is specified, the first page is retrieved.

" + } + } + }, + "ListPlatformVersionsResult":{ + "type":"structure", + "members":{ + "PlatformSummaryList":{ + "shape":"PlatformSummaryList", + "documentation":"

Summary information about the platform versions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

In a paginated request, if this value isn't null, it's the token that you can pass in a subsequent request to get the next response page.

" + } + } + }, + "ListTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resouce for which a tag list is requested.

Must be the ARN of an Elastic Beanstalk resource.

" + } + } + }, + "Listener":{ + "type":"structure", + "members":{ + "Protocol":{ "shape":"String", "documentation":"

The protocol that is used by the Listener.

" }, @@ -2275,6 +2838,7 @@ "type":"list", "member":{"shape":"Listener"} }, + "Maintainer":{"type":"string"}, "ManagedAction":{ "type":"structure", "members":{ @@ -2363,6 +2927,44 @@ "max":100, "min":1 }, + "MaxAgeRule":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"BoxedBoolean", + "documentation":"

Specify true to apply the rule, or false to disable it.

" + }, + "MaxAgeInDays":{ + "shape":"BoxedInt", + "documentation":"

Specify the number of days to retain an application versions.

" + }, + "DeleteSourceFromS3":{ + "shape":"BoxedBoolean", + "documentation":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" + } + }, + "documentation":"

A lifecycle rule that deletes application versions after the specified number of days.

" + }, + "MaxCountRule":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"BoxedBoolean", + "documentation":"

Specify true to apply the rule, or false to disable it.

" + }, + "MaxCount":{ + "shape":"BoxedInt", + "documentation":"

Specify the maximum number of application versions to retain.

" + }, + "DeleteSourceFromS3":{ + "shape":"BoxedBoolean", + "documentation":"

Set to true to delete a version's source bundle from Amazon S3 when Elastic Beanstalk deletes the application version.

" + } + }, + "documentation":"

A lifecycle rule that deletes the oldest application version when the maximum count is exceeded.

" + }, "MaxRecords":{ "type":"integer", "max":1000, @@ -2374,9 +2976,15 @@ "max":100, "min":1 }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, "NullableDouble":{"type":"double"}, "NullableInteger":{"type":"integer"}, "NullableLong":{"type":"long"}, + "OperatingSystemName":{"type":"string"}, + "OperatingSystemVersion":{"type":"string"}, "OperationInProgressException":{ "type":"structure", "members":{ @@ -2429,6 +3037,286 @@ "type":"list", "member":{"shape":"OptionSpecification"} }, + "PlatformArn":{"type":"string"}, + "PlatformBranchLifecycleState":{"type":"string"}, + "PlatformBranchMaxRecords":{ + "type":"integer", + "min":1 + }, + "PlatformBranchSummary":{ + "type":"structure", + "members":{ + "PlatformName":{ + "shape":"PlatformName", + "documentation":"

The name of the platform to which this platform branch belongs.

" + }, + "BranchName":{ + "shape":"BranchName", + "documentation":"

The name of the platform branch.

" + }, + "LifecycleState":{ + "shape":"PlatformBranchLifecycleState", + "documentation":"

The support life cycle state of the platform branch.

Possible values: beta | supported | deprecated | retired

" + }, + "BranchOrder":{ + "shape":"BranchOrder", + "documentation":"

An ordinal number that designates the order in which platform branches have been added to a platform. This can be helpful, for example, if your code calls the ListPlatformBranches action and then displays a list of platform branches.

A larger BranchOrder value designates a newer platform branch within the platform.

" + }, + "SupportedTierList":{ + "shape":"SupportedTierList", + "documentation":"

The environment tiers that platform versions in this branch support.

Possible values: WebServer/Standard | Worker/SQS/HTTP

" + } + }, + "documentation":"

Summary information about a platform branch.

" + }, + "PlatformBranchSummaryList":{ + "type":"list", + "member":{"shape":"PlatformBranchSummary"} + }, + "PlatformCategory":{"type":"string"}, + "PlatformDescription":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, + "PlatformOwner":{ + "shape":"PlatformOwner", + "documentation":"

The AWS account ID of the person who created the platform version.

" + }, + "PlatformName":{ + "shape":"PlatformName", + "documentation":"

The name of the platform version.

" + }, + "PlatformVersion":{ + "shape":"PlatformVersion", + "documentation":"

The version of the platform version.

" + }, + "SolutionStackName":{ + "shape":"SolutionStackName", + "documentation":"

The name of the solution stack used by the platform version.

" + }, + "PlatformStatus":{ + "shape":"PlatformStatus", + "documentation":"

The status of the platform version.

" + }, + "DateCreated":{ + "shape":"CreationDate", + "documentation":"

The date when the platform version was created.

" + }, + "DateUpdated":{ + "shape":"UpdateDate", + "documentation":"

The date when the platform version was last updated.

" + }, + "PlatformCategory":{ + "shape":"PlatformCategory", + "documentation":"

The category of the platform version.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the platform version.

" + }, + "Maintainer":{ + "shape":"Maintainer", + "documentation":"

Information about the maintainer of the platform version.

" + }, + "OperatingSystemName":{ + "shape":"OperatingSystemName", + "documentation":"

The operating system used by the platform version.

" + }, + "OperatingSystemVersion":{ + "shape":"OperatingSystemVersion", + "documentation":"

The version of the operating system used by the platform version.

" + }, + "ProgrammingLanguages":{ + "shape":"PlatformProgrammingLanguages", + "documentation":"

The programming languages supported by the platform version.

" + }, + "Frameworks":{ + "shape":"PlatformFrameworks", + "documentation":"

The frameworks supported by the platform version.

" + }, + "CustomAmiList":{ + "shape":"CustomAmiList", + "documentation":"

The custom AMIs supported by the platform version.

" + }, + "SupportedTierList":{ + "shape":"SupportedTierList", + "documentation":"

The tiers supported by the platform version.

" + }, + "SupportedAddonList":{ + "shape":"SupportedAddonList", + "documentation":"

The additions supported by the platform version.

" + }, + "PlatformLifecycleState":{ + "shape":"PlatformLifecycleState", + "documentation":"

The state of the platform version in its lifecycle.

Possible values: Recommended | null

If a null value is returned, the platform version isn't the recommended one for its branch. Each platform branch has a single recommended platform version, typically the most recent one.

" + }, + "PlatformBranchName":{ + "shape":"BranchName", + "documentation":"

The platform branch to which the platform version belongs.

" + }, + "PlatformBranchLifecycleState":{ + "shape":"PlatformBranchLifecycleState", + "documentation":"

The state of the platform version's branch in its lifecycle.

Possible values: Beta | Supported | Deprecated | Retired

" + } + }, + "documentation":"

Detailed information about a platform version.

" + }, + "PlatformFilter":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"PlatformFilterType", + "documentation":"

The platform version attribute to which the filter values are applied.

Valid values: PlatformName | PlatformVersion | PlatformStatus | PlatformBranchName | PlatformLifecycleState | PlatformOwner | SupportedTier | SupportedAddon | ProgrammingLanguageName | OperatingSystemName

" + }, + "Operator":{ + "shape":"PlatformFilterOperator", + "documentation":"

The operator to apply to the Type with each of the Values.

Valid values: = | != | < | <= | > | >= | contains | begins_with | ends_with

" + }, + "Values":{ + "shape":"PlatformFilterValueList", + "documentation":"

The list of values applied to the filtering platform version attribute. Only one value is supported for all current operators.

The following list shows valid filter values for some filter attributes.

  • PlatformStatus: Creating | Failed | Ready | Deleting | Deleted

  • PlatformLifecycleState: recommended

  • SupportedTier: WebServer/Standard | Worker/SQS/HTTP

  • SupportedAddon: Log/S3 | Monitoring/Healthd | WorkerDaemon/SQSD

" + } + }, + "documentation":"

Describes criteria to restrict the results when listing platform versions.

The filter is evaluated as follows: Type Operator Values[1]

" + }, + "PlatformFilterOperator":{"type":"string"}, + "PlatformFilterType":{"type":"string"}, + "PlatformFilterValue":{"type":"string"}, + "PlatformFilterValueList":{ + "type":"list", + "member":{"shape":"PlatformFilterValue"} + }, + "PlatformFilters":{ + "type":"list", + "member":{"shape":"PlatformFilter"} + }, + "PlatformFramework":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the framework.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the framework.

" + } + }, + "documentation":"

A framework supported by the platform.

" + }, + "PlatformFrameworks":{ + "type":"list", + "member":{"shape":"PlatformFramework"} + }, + "PlatformLifecycleState":{"type":"string"}, + "PlatformMaxRecords":{ + "type":"integer", + "min":1 + }, + "PlatformName":{"type":"string"}, + "PlatformOwner":{"type":"string"}, + "PlatformProgrammingLanguage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the programming language.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the programming language.

" + } + }, + "documentation":"

A programming language supported by the platform.

" + }, + "PlatformProgrammingLanguages":{ + "type":"list", + "member":{"shape":"PlatformProgrammingLanguage"} + }, + "PlatformStatus":{ + "type":"string", + "enum":[ + "Creating", + "Failed", + "Ready", + "Deleting", + "Deleted" + ] + }, + "PlatformSummary":{ + "type":"structure", + "members":{ + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform version.

" + }, + "PlatformOwner":{ + "shape":"PlatformOwner", + "documentation":"

The AWS account ID of the person who created the platform version.

" + }, + "PlatformStatus":{ + "shape":"PlatformStatus", + "documentation":"

The status of the platform version. You can create an environment from the platform version once it is ready.

" + }, + "PlatformCategory":{ + "shape":"PlatformCategory", + "documentation":"

The category of platform version.

" + }, + "OperatingSystemName":{ + "shape":"OperatingSystemName", + "documentation":"

The operating system used by the platform version.

" + }, + "OperatingSystemVersion":{ + "shape":"OperatingSystemVersion", + "documentation":"

The version of the operating system used by the platform version.

" + }, + "SupportedTierList":{ + "shape":"SupportedTierList", + "documentation":"

The tiers in which the platform version runs.

" + }, + "SupportedAddonList":{ + "shape":"SupportedAddonList", + "documentation":"

The additions associated with the platform version.

" + }, + "PlatformLifecycleState":{ + "shape":"PlatformLifecycleState", + "documentation":"

The state of the platform version in its lifecycle.

Possible values: recommended | empty

If an empty value is returned, the platform version is supported but isn't the recommended one for its branch.

" + }, + "PlatformVersion":{ + "shape":"PlatformVersion", + "documentation":"

The version string of the platform version.

" + }, + "PlatformBranchName":{ + "shape":"BranchName", + "documentation":"

The platform branch to which the platform version belongs.

" + }, + "PlatformBranchLifecycleState":{ + "shape":"PlatformBranchLifecycleState", + "documentation":"

The state of the platform version's branch in its lifecycle.

Possible values: beta | supported | deprecated | retired

" + } + }, + "documentation":"

Summary information about a platform version.

" + }, + "PlatformSummaryList":{ + "type":"list", + "member":{"shape":"PlatformSummary"} + }, + "PlatformVersion":{"type":"string"}, + "PlatformVersionStillReferencedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You cannot delete the platform version because there are still environments running on it.

", + "error":{ + "code":"PlatformVersionStillReferencedException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Queue":{ "type":"structure", "members":{ @@ -2485,12 +3373,86 @@ "documentation":"

Request to retrieve logs from an environment and store them in your Elastic Beanstalk storage bucket.

" }, "RequestId":{"type":"string"}, + "ResourceArn":{"type":"string"}, "ResourceId":{"type":"string"}, "ResourceName":{ "type":"string", "max":256, "min":1 }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A resource doesn't exist for the specified Amazon Resource Name (ARN).

", + "error":{ + "code":"ResourceNotFoundException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ResourceQuota":{ + "type":"structure", + "members":{ + "Maximum":{ + "shape":"BoxedInt", + "documentation":"

The maximum number of instances of this Elastic Beanstalk resource type that an AWS account can use.

" + } + }, + "documentation":"

The AWS Elastic Beanstalk quota information for a single resource type in an AWS account. It reflects the resource's limits for this account.

" + }, + "ResourceQuotas":{ + "type":"structure", + "members":{ + "ApplicationQuota":{ + "shape":"ResourceQuota", + "documentation":"

The quota for applications in the AWS account.

" + }, + "ApplicationVersionQuota":{ + "shape":"ResourceQuota", + "documentation":"

The quota for application versions in the AWS account.

" + }, + "EnvironmentQuota":{ + "shape":"ResourceQuota", + "documentation":"

The quota for environments in the AWS account.

" + }, + "ConfigurationTemplateQuota":{ + "shape":"ResourceQuota", + "documentation":"

The quota for configuration templates in the AWS account.

" + }, + "CustomPlatformQuota":{ + "shape":"ResourceQuota", + "documentation":"

The quota for custom platforms in the AWS account.

" + } + }, + "documentation":"

A set of per-resource AWS Elastic Beanstalk quotas associated with an AWS account. They reflect Elastic Beanstalk resource limits for this account.

" + }, + "ResourceTagsDescriptionMessage":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which a tag list was requested.

" + }, + "ResourceTags":{ + "shape":"TagList", + "documentation":"

A list of tag key-value pairs.

" + } + } + }, + "ResourceTypeNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The type of the specified Amazon Resource Name (ARN) isn't supported for this operation.

", + "error":{ + "code":"ResourceTypeNotSupportedException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "RestartAppServerMessage":{ "type":"structure", "members":{ @@ -2554,13 +3516,13 @@ "documentation":"

The Amazon S3 key where the data is located.

" } }, - "documentation":"

A specification of a location in Amazon S3.

" + "documentation":"

The bucket and key of an item stored in Amazon S3.

" }, "S3LocationNotInServiceRegionException":{ "type":"structure", "members":{ }, - "documentation":"

The specified S3 bucket does not belong to the S3 region in which the service is running.

", + "documentation":"

The specified S3 bucket does not belong to the S3 region in which the service is running. The following regions are supported:

  • IAD/us-east-1

  • PDX/us-west-2

  • DUB/eu-west-1

", "error":{ "code":"S3LocationNotInServiceRegionException", "httpStatusCode":400, @@ -2581,6 +3543,35 @@ "exception":true }, "SampleTimestamp":{"type":"timestamp"}, + "SearchFilter":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"SearchFilterAttribute", + "documentation":"

The result attribute to which the filter values are applied. Valid values vary by API action.

" + }, + "Operator":{ + "shape":"SearchFilterOperator", + "documentation":"

The operator to apply to the Attribute with each of the Values. Valid values vary by Attribute.

" + }, + "Values":{ + "shape":"SearchFilterValues", + "documentation":"

The list of values applied to the Attribute and Operator attributes. Number of values and valid values vary by Attribute.

" + } + }, + "documentation":"

Describes criteria to restrict a list of results.

For operators that apply a single value to the attribute, the filter is evaluated as follows: Attribute Operator Values[1]

Some operators, e.g. in, can apply multiple values. In this case, the filter is evaluated as a logical union (OR) of applications of the operator to the attribute with each one of the values: (Attribute Operator Values[1]) OR (Attribute Operator Values[2]) OR ...

The valid values for attributes of SearchFilter depend on the API action. For valid values, see the reference page for the API action you're calling that takes a SearchFilter parameter.

" + }, + "SearchFilterAttribute":{"type":"string"}, + "SearchFilterOperator":{"type":"string"}, + "SearchFilterValue":{"type":"string"}, + "SearchFilterValues":{ + "type":"list", + "member":{"shape":"SearchFilterValue"} + }, + "SearchFilters":{ + "type":"list", + "member":{"shape":"SearchFilter"} + }, "SingleInstanceHealth":{ "type":"structure", "members":{ @@ -2590,11 +3581,11 @@ }, "HealthStatus":{ "shape":"String", - "documentation":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

" + "documentation":"

Returns the health status of the specified instance. For more information, see Health Colors and Statuses.

" }, "Color":{ "shape":"String", - "documentation":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

" + "documentation":"

Represents the color indicator that gives you information about the health of the EC2 instance. For more information, see Health Colors and Statuses.

" }, "Causes":{ "shape":"Causes", @@ -2604,8 +3595,14 @@ "shape":"LaunchedAt", "documentation":"

The time at which the EC2 instance was launched.

" }, - "ApplicationMetrics":{"shape":"ApplicationMetrics"}, - "System":{"shape":"SystemStatus"}, + "ApplicationMetrics":{ + "shape":"ApplicationMetrics", + "documentation":"

Request metrics from your application.

" + }, + "System":{ + "shape":"SystemStatus", + "documentation":"

Operating system metrics from the instance.

" + }, "Deployment":{ "shape":"Deployment", "documentation":"

Information about the most recent deployment to an instance.

" @@ -2619,7 +3616,7 @@ "documentation":"

The instance's type.

" } }, - "documentation":"

Represents health information from the specified instance that belongs to the AWS Elastic Beanstalk environment. Use the InstanceId property to specify the application instance for which you'd like to return data.

" + "documentation":"

Detailed health information about an Amazon EC2 instance in your Elastic Beanstalk environment.

" }, "SolutionStackDescription":{ "type":"structure", @@ -2639,10 +3636,7 @@ "type":"list", "member":{"shape":"FileTypeExtension"} }, - "SolutionStackName":{ - "type":"string", - "max":100 - }, + "SolutionStackName":{"type":"string"}, "SourceBuildInformation":{ "type":"structure", "required":[ @@ -2651,10 +3645,20 @@ "SourceLocation" ], "members":{ - "SourceType":{"shape":"SourceType"}, - "SourceRepository":{"shape":"SourceRepository"}, - "SourceLocation":{"shape":"SourceLocation"} - } + "SourceType":{ + "shape":"SourceType", + "documentation":"

The type of repository.

  • Git

  • Zip

" + }, + "SourceRepository":{ + "shape":"SourceRepository", + "documentation":"

Location where the repository is stored.

  • CodeCommit

  • S3

" + }, + "SourceLocation":{ + "shape":"SourceLocation", + "documentation":"

The location of the source code, as a formatted string, depending on the value of SourceRepository

  • For CodeCommit, the format is the repository name and commit ID, separated by a forward slash. For example, my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • For S3, the format is the S3 bucket name and object key, separated by a forward slash. For example, my-s3-bucket/Folders/my-source-file.

" + } + }, + "documentation":"

Location of the source code for an application version.

" }, "SourceBundleDeletionException":{ "type":"structure", @@ -2680,7 +3684,7 @@ "documentation":"

The name of the configuration template.

" } }, - "documentation":"

A specification for an environment configuration

" + "documentation":"

A specification for an environment configuration.

" }, "SourceLocation":{ "type":"string", @@ -2690,11 +3694,17 @@ }, "SourceRepository":{ "type":"string", - "enum":["CodeCommit"] + "enum":[ + "CodeCommit", + "S3" + ] }, "SourceType":{ "type":"string", - "enum":["Git"] + "enum":[ + "Git", + "Zip" + ] }, "StatusCodes":{ "type":"structure", @@ -2719,6 +3729,16 @@ "documentation":"

Represents the percentage of requests over the last 10 seconds that resulted in each type of status code response. For more information, see Status Code Definitions.

" }, "String":{"type":"string"}, + "SupportedAddon":{"type":"string"}, + "SupportedAddonList":{ + "type":"list", + "member":{"shape":"SupportedAddon"} + }, + "SupportedTier":{"type":"string"}, + "SupportedTierList":{ + "type":"list", + "member":{"shape":"SupportedTier"} + }, "SwapEnvironmentCNAMEsMessage":{ "type":"structure", "members":{ @@ -2744,13 +3764,16 @@ "SystemStatus":{ "type":"structure", "members":{ - "CPUUtilization":{"shape":"CPUUtilization"}, + "CPUUtilization":{ + "shape":"CPUUtilization", + "documentation":"

CPU utilization metrics for the instance.

" + }, "LoadAverage":{ "shape":"LoadAverage", - "documentation":"

Load average in the last 1-minute and 5-minute periods. For more information, see Operating System Metrics.

" + "documentation":"

Load average in the last 1-minute, 5-minute, and 15-minute periods. For more information, see Operating System Metrics.

" } }, - "documentation":"

Represents CPU utilization and load average information for applications running in the specified environment.

" + "documentation":"

CPU utilization and load average metrics for an Amazon EC2 instance.

" }, "Tag":{ "type":"structure", @@ -2771,6 +3794,14 @@ "max":128, "min":1 }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, "TagValue":{ "type":"string", "max":256, @@ -2794,7 +3825,7 @@ }, "TerminateResources":{ "shape":"TerminateEnvironmentResources", - "documentation":"

Indicates whether the associated AWS resources should shut down when the environment is terminated:

  • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

  • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

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:

  • true: The specified environment as well as the associated AWS resources, such as Auto Scaling group and LoadBalancer, are terminated.

  • false: AWS Elastic Beanstalk resource management is removed from the environment, but the AWS resources continue to operate.

For more information, see the AWS Elastic Beanstalk User Guide.

Default: true

Valid Values: true | false

" }, "ForceTerminate":{ "shape":"ForceTerminate", @@ -2863,6 +3894,30 @@ }, "exception":true }, + "TooManyPlatformsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of allowed platforms associated with the account.

", + "error":{ + "code":"TooManyPlatformsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The number of tags in the resource would exceed the number of tags that each resource can have.

To calculate this, the operation considers both the number of tags the resource already has and the tags this operation would add if it succeeded.

", + "error":{ + "code":"TooManyTagsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Trigger":{ "type":"structure", "members":{ @@ -2892,6 +3947,23 @@ }, "documentation":"

Request to update an application.

" }, + "UpdateApplicationResourceLifecycleMessage":{ + "type":"structure", + "required":[ + "ApplicationName", + "ResourceLifecycleConfig" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "ResourceLifecycleConfig":{ + "shape":"ApplicationResourceLifecycleConfig", + "documentation":"

The lifecycle configuration.

" + } + } + }, "UpdateApplicationVersionMessage":{ "type":"structure", "required":[ @@ -2901,15 +3973,15 @@ "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", - "documentation":"

The name of the version to update.

If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

" + "documentation":"

The name of the version to update.

If no application version is found with this label, UpdateApplication returns an InvalidParameterValue error.

" }, "Description":{ "shape":"Description", - "documentation":"

A new description for this release.

" + "documentation":"

A new description for this version.

" } }, "documentation":"

" @@ -2962,7 +4034,7 @@ }, "GroupName":{ "shape":"GroupName", - "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

" + "documentation":"

The name of the group to which the target environment belongs. Specify a group name only if the environment's name is specified in an environment manifest and not with the environment name or environment ID parameters. See Environment Manifest (env.yaml) for details.

" }, "Description":{ "shape":"Description", @@ -2984,6 +4056,10 @@ "shape":"SolutionStackName", "documentation":"

This specifies the platform version that the environment will run after the environment is updated.

" }, + "PlatformArn":{ + "shape":"PlatformArn", + "documentation":"

The ARN of the platform, if used.

" + }, "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.

" @@ -2995,6 +4071,24 @@ }, "documentation":"

Request to update an environment.

" }, + "UpdateTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resouce to be updated.

Must be the ARN of an Elastic Beanstalk resource.

" + }, + "TagsToAdd":{ + "shape":"TagList", + "documentation":"

A list of tags to add or update.

If a key of an existing tag is added, the tag's value is updated.

" + }, + "TagsToRemove":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys to remove.

If a tag key doesn't exist, it is silently ignored.

" + } + } + }, "UserDefinedOption":{"type":"boolean"}, "ValidateConfigurationSettingsMessage":{ "type":"structure", @@ -3035,11 +4129,11 @@ }, "Namespace":{ "shape":"OptionNamespace", - "documentation":"

" + "documentation":"

The namespace to which the option belongs.

" }, "OptionName":{ "shape":"ConfigurationOptionName", - "documentation":"

" + "documentation":"

The name of the option.

" } }, "documentation":"

An error or warning for a desired configuration option value.

" @@ -3068,7 +4162,8 @@ "VersionLabelsList":{ "type":"list", "member":{"shape":"VersionLabel"} - } + }, + "VirtualizationType":{"type":"string"} }, - "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 -Nru python-botocore-1.4.70/botocore/data/elastic-inference/2017-07-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/elastic-inference/2017-07-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/elastic-inference/2017-07-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elastic-inference/2017-07-25/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "DescribeAccelerators": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "acceleratorSet" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/elastic-inference/2017-07-25/service-2.json python-botocore-1.16.19+repack/botocore/data/elastic-inference/2017-07-25/service-2.json --- python-botocore-1.4.70/botocore/data/elastic-inference/2017-07-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elastic-inference/2017-07-25/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,534 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-25", + "endpointPrefix":"api.elastic-inference", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon Elastic Inference", + "serviceFullName":"Amazon Elastic Inference", + "serviceId":"Elastic Inference", + "signatureVersion":"v4", + "signingName":"elastic-inference", + "uid":"elastic-inference-2017-07-25" + }, + "operations":{ + "DescribeAcceleratorOfferings":{ + "name":"DescribeAcceleratorOfferings", + "http":{ + "method":"POST", + "requestUri":"/describe-accelerator-offerings" + }, + "input":{"shape":"DescribeAcceleratorOfferingsRequest"}, + "output":{"shape":"DescribeAcceleratorOfferingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes the locations in which a given accelerator type or set of types is present in a given region.

" + }, + "DescribeAcceleratorTypes":{ + "name":"DescribeAcceleratorTypes", + "http":{ + "method":"GET", + "requestUri":"/describe-accelerator-types" + }, + "input":{"shape":"DescribeAcceleratorTypesRequest"}, + "output":{"shape":"DescribeAcceleratorTypesResponse"}, + "errors":[ + {"shape":"InternalServerException"} + ], + "documentation":"

Describes the accelerator types available in a given region, as well as their characteristics, such as memory and throughput.

" + }, + "DescribeAccelerators":{ + "name":"DescribeAccelerators", + "http":{ + "method":"POST", + "requestUri":"/describe-accelerators" + }, + "input":{"shape":"DescribeAcceleratorsRequest"}, + "output":{"shape":"DescribeAcceleratorsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes information over a provided set of accelerators belonging to an account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Returns all tags of an Elastic Inference Accelerator.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Adds the specified tags to an Elastic Inference Accelerator.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes the specified tags from an Elastic Inference Accelerator.

" + } + }, + "shapes":{ + "AcceleratorHealthStatus":{ + "type":"string", + "max":256, + "min":1 + }, + "AcceleratorId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^eia-[0-9a-f]+$" + }, + "AcceleratorIdList":{ + "type":"list", + "member":{"shape":"AcceleratorId"}, + "max":1000, + "min":0 + }, + "AcceleratorType":{ + "type":"structure", + "members":{ + "acceleratorTypeName":{ + "shape":"AcceleratorTypeName", + "documentation":"

The name of the Elastic Inference Accelerator type.

" + }, + "memoryInfo":{ + "shape":"MemoryInfo", + "documentation":"

The memory information of the Elastic Inference Accelerator type.

" + }, + "throughputInfo":{ + "shape":"ThroughputInfoList", + "documentation":"

The throughput information of the Elastic Inference Accelerator type.

" + } + }, + "documentation":"

The details of an Elastic Inference Accelerator type.

" + }, + "AcceleratorTypeList":{ + "type":"list", + "member":{"shape":"AcceleratorType"}, + "max":100, + "min":0 + }, + "AcceleratorTypeName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^\\S+$" + }, + "AcceleratorTypeNameList":{ + "type":"list", + "member":{"shape":"AcceleratorTypeName"}, + "max":100, + "min":0 + }, + "AcceleratorTypeOffering":{ + "type":"structure", + "members":{ + "acceleratorType":{ + "shape":"AcceleratorTypeName", + "documentation":"

The name of the Elastic Inference Accelerator type.

" + }, + "locationType":{ + "shape":"LocationType", + "documentation":"

The location type for the offering. It can assume the following values: region: defines that the offering is at the regional level. availability-zone: defines that the offering is at the availability zone level. availability-zone-id: defines that the offering is at the availability zone level, defined by the availability zone id.

" + }, + "location":{ + "shape":"Location", + "documentation":"

The location for the offering. It will return either the region, availability zone or availability zone id for the offering depending on the locationType value.

" + } + }, + "documentation":"

The offering for an Elastic Inference Accelerator type.

" + }, + "AcceleratorTypeOfferingList":{ + "type":"list", + "member":{"shape":"AcceleratorTypeOffering"}, + "max":100, + "min":0 + }, + "AvailabilityZone":{ + "type":"string", + "max":256, + "min":1 + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Raised when a malformed input has been provided to the API.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DescribeAcceleratorOfferingsRequest":{ + "type":"structure", + "required":["locationType"], + "members":{ + "locationType":{ + "shape":"LocationType", + "documentation":"

The location type that you want to describe accelerator type offerings for. It can assume the following values: region: will return the accelerator type offering at the regional level. availability-zone: will return the accelerator type offering at the availability zone level. availability-zone-id: will return the accelerator type offering at the availability zone level returning the availability zone id.

" + }, + "acceleratorTypes":{ + "shape":"AcceleratorTypeNameList", + "documentation":"

The list of accelerator types to describe.

" + } + } + }, + "DescribeAcceleratorOfferingsResponse":{ + "type":"structure", + "members":{ + "acceleratorTypeOfferings":{ + "shape":"AcceleratorTypeOfferingList", + "documentation":"

The list of accelerator type offerings for a specific location.

" + } + } + }, + "DescribeAcceleratorTypesRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeAcceleratorTypesResponse":{ + "type":"structure", + "members":{ + "acceleratorTypes":{ + "shape":"AcceleratorTypeList", + "documentation":"

The available accelerator types.

" + } + } + }, + "DescribeAcceleratorsRequest":{ + "type":"structure", + "members":{ + "acceleratorIds":{ + "shape":"AcceleratorIdList", + "documentation":"

The IDs of the accelerators to describe.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

One or more filters. Filter names and values are case-sensitive. Valid filter names are: accelerator-types: can provide a list of accelerator type names to filter for. instance-id: can provide a list of EC2 instance ids to filter for.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of items to return in the command's output. If the total number of items available is more than the value specified, a NextToken is provided in the command's output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the AWS CLI.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "DescribeAcceleratorsResponse":{ + "type":"structure", + "members":{ + "acceleratorSet":{ + "shape":"ElasticInferenceAcceleratorSet", + "documentation":"

The details of the Elastic Inference Accelerators.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ElasticInferenceAccelerator":{ + "type":"structure", + "members":{ + "acceleratorHealth":{ + "shape":"ElasticInferenceAcceleratorHealth", + "documentation":"

The health of the Elastic Inference Accelerator.

" + }, + "acceleratorType":{ + "shape":"AcceleratorTypeName", + "documentation":"

The type of the Elastic Inference Accelerator.

" + }, + "acceleratorId":{ + "shape":"AcceleratorId", + "documentation":"

The ID of the Elastic Inference Accelerator.

" + }, + "availabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

The availability zone where the Elastic Inference Accelerator is present.

" + }, + "attachedResource":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource that the Elastic Inference Accelerator is attached to.

" + } + }, + "documentation":"

The details of an Elastic Inference Accelerator.

" + }, + "ElasticInferenceAcceleratorHealth":{ + "type":"structure", + "members":{ + "status":{ + "shape":"AcceleratorHealthStatus", + "documentation":"

The health status of the Elastic Inference Accelerator.

" + } + }, + "documentation":"

The health details of an Elastic Inference Accelerator.

" + }, + "ElasticInferenceAcceleratorSet":{ + "type":"list", + "member":{"shape":"ElasticInferenceAccelerator"} + }, + "Filter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FilterName", + "documentation":"

The filter name for the Elastic Inference Accelerator list. It can assume the following values: accelerator-type: the type of Elastic Inference Accelerator to filter for. instance-id: an EC2 instance id to filter for.

" + }, + "values":{ + "shape":"ValueStringList", + "documentation":"

The values for the filter of the Elastic Inference Accelerator list.

" + } + }, + "documentation":"

A filter expression for the Elastic Inference Accelerator list.

" + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":100, + "min":0 + }, + "FilterName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^\\S+$" + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Raised when an unexpected error occurred during request processing.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "Key":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^\\S+$" + }, + "KeyValuePair":{ + "type":"structure", + "members":{ + "key":{ + "shape":"Key", + "documentation":"

The throughput value of the Elastic Inference Accelerator type. It can assume the following values: TFLOPS16bit: the throughput expressed in 16bit TeraFLOPS. TFLOPS32bit: the throughput expressed in 32bit TeraFLOPS.

" + }, + "value":{ + "shape":"Value", + "documentation":"

The throughput value of the Elastic Inference Accelerator type.

" + } + }, + "documentation":"

A throughput entry for an Elastic Inference Accelerator type.

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Elastic Inference Accelerator to list the tags for.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResult":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the Elastic Inference Accelerator.

" + } + } + }, + "Location":{ + "type":"string", + "max":256, + "min":1 + }, + "LocationType":{ + "type":"string", + "enum":[ + "region", + "availability-zone", + "availability-zone-id" + ], + "max":256, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":0 + }, + "MemoryInfo":{ + "type":"structure", + "members":{ + "sizeInMiB":{ + "shape":"Integer", + "documentation":"

The size in mebibytes of the Elastic Inference Accelerator type.

" + } + }, + "documentation":"

The memory information of an Elastic Inference Accelerator type.

" + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[A-Za-z0-9+/]+={0,2}$" + }, + "ResourceARN":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"^arn:aws\\S*:elastic-inference:\\S+:\\d{12}:elastic-inference-accelerator/eia-[0-9a-f]+$" + }, + "ResourceArn":{ + "type":"string", + "max":1283, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Raised when the requested resource cannot be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "String":{ + "type":"string", + "max":500000, + "pattern":"^.*$" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^\\S$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Elastic Inference Accelerator to tag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags to add to the Elastic Inference Accelerator.

" + } + } + }, + "TagResourceResult":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "ThroughputInfoList":{ + "type":"list", + "member":{"shape":"KeyValuePair"}, + "max":100, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Elastic Inference Accelerator to untag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tags to remove from the Elastic Inference Accelerator.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResult":{ + "type":"structure", + "members":{ + } + }, + "Value":{"type":"integer"}, + "ValueStringList":{ + "type":"list", + "member":{"shape":"String"}, + "max":100, + "min":0 + } + }, + "documentation":"

Elastic Inference public APIs.

" +} diff -Nru python-botocore-1.4.70/botocore/data/elastictranscoder/2012-09-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/elastictranscoder/2012-09-25/examples-1.json --- python-botocore-1.4.70/botocore/data/elastictranscoder/2012-09-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elastictranscoder/2012-09-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/elastictranscoder/2012-09-25/service-2.json python-botocore-1.16.19+repack/botocore/data/elastictranscoder/2012-09-25/service-2.json --- python-botocore-1.4.70/botocore/data/elastictranscoder/2012-09-25/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elastictranscoder/2012-09-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"elastictranscoder", "protocol":"rest-json", "serviceFullName":"Amazon Elastic Transcoder", - "signatureVersion":"v4" + "serviceId":"Elastic Transcoder", + "signatureVersion":"v4", + "uid":"elastictranscoder-2012-09-25" }, "operations":{ "CancelJob":{ @@ -25,7 +27,7 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServiceException"} ], - "documentation":"

The CancelJob operation cancels an unfinished job.

You can only cancel a job that has a status of Submitted. To prevent a pipeline from starting to process a job while you're getting the job identifier, use UpdatePipelineStatus to temporarily pause the pipeline." + "documentation":"

The CancelJob operation cancels an unfinished job.

You can only cancel a job that has a status of Submitted. To prevent a pipeline from starting to process a job while you're getting the job identifier, use UpdatePipelineStatus to temporarily pause the pipeline.

" }, "CreateJob":{ "name":"CreateJob", @@ -44,7 +46,7 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"} ], - "documentation":"

When you create a job, Elastic Transcoder returns JSON data that includes the values that you specified plus information about the job that is created.

If you have specified more than one output for your jobs (for example, one output for the Kindle Fire and another output for the Apple iPhone 4s), you currently must use the Elastic Transcoder API to list the jobs (as opposed to the AWS Console).

" + "documentation":"

When you create a job, Elastic Transcoder returns JSON data that includes the values that you specified plus information about the job that is created.

If you have specified more than one output for your jobs (for example, one output for the Kindle Fire and another output for the Apple iPhone 4s), you currently must use the Elastic Transcoder API to list the jobs (as opposed to the AWS Console).

" }, "CreatePipeline":{ "name":"CreatePipeline", @@ -81,7 +83,7 @@ {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"} ], - "documentation":"

The CreatePreset operation creates a preset with settings that you specify.

Elastic Transcoder checks the CreatePreset settings to ensure that they meet Elastic Transcoder requirements and to determine whether they comply with H.264 standards. If your settings are not valid for Elastic Transcoder, Elastic Transcoder returns an HTTP 400 response (ValidationException) and does not create the preset. If the settings are valid for Elastic Transcoder but aren't strictly compliant with the H.264 standard, Elastic Transcoder creates the preset and returns a warning message in the response. This helps you determine whether your settings comply with the H.264 standard while giving you greater flexibility with respect to the video that Elastic Transcoder produces.

Elastic Transcoder uses the H.264 video-compression format. For more information, see the International Telecommunication Union publication Recommendation ITU-T H.264: Advanced video coding for generic audiovisual services.

" + "documentation":"

The CreatePreset operation creates a preset with settings that you specify.

Elastic Transcoder checks the CreatePreset settings to ensure that they meet Elastic Transcoder requirements and to determine whether they comply with H.264 standards. If your settings are not valid for Elastic Transcoder, Elastic Transcoder returns an HTTP 400 response (ValidationException) and does not create the preset. If the settings are valid for Elastic Transcoder but aren't strictly compliant with the H.264 standard, Elastic Transcoder creates the preset and returns a warning message in the response. This helps you determine whether your settings comply with the H.264 standard while giving you greater flexibility with respect to the video that Elastic Transcoder produces.

Elastic Transcoder uses the H.264 video-compression format. For more information, see the International Telecommunication Union publication Recommendation ITU-T H.264: Advanced video coding for generic audiovisual services.

" }, "DeletePipeline":{ "name":"DeletePipeline", @@ -253,7 +255,8 @@ {"shape":"AccessDeniedException"}, {"shape":"InternalServiceException"} ], - "documentation":"

The TestRole operation tests the IAM role used to create the pipeline.

The TestRole action lets you determine whether the IAM role you are using has sufficient permissions to let Elastic Transcoder perform tasks associated with the transcoding process. The action attempts to assume the specified IAM role, checks read access to the input and output buckets, and tries to send a test notification to Amazon SNS topics that you specify.

" + "documentation":"

The TestRole operation tests the IAM role used to create the pipeline.

The TestRole action lets you determine whether the IAM role you are using has sufficient permissions to let Elastic Transcoder perform tasks associated with the transcoding process. The action attempts to assume the specified IAM role, checks read access to the input and output buckets, and tries to send a test notification to Amazon SNS topics that you specify.

", + "deprecated":true }, "UpdatePipeline":{ "name":"UpdatePipeline", @@ -272,7 +275,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Use the UpdatePipeline operation to update settings for a pipeline. When you change pipeline settings, your changes take effect immediately. Jobs that you have already submitted and that Elastic Transcoder has not started to process are affected in addition to jobs that you submit after you change settings.

" + "documentation":"

Use the UpdatePipeline operation to update settings for a pipeline.

When you change pipeline settings, your changes take effect immediately. Jobs that you have already submitted and that Elastic Transcoder has not started to process are affected in addition to jobs that you submit after you change settings.

" }, "UpdatePipelineNotifications":{ "name":"UpdatePipelineNotifications", @@ -325,7 +328,7 @@ "type":"structure", "members":{ }, - "documentation":"

General authentication failure. The request was not signed correctly.

", + "documentation":"

General authentication failure. The request was not signed correctly.

", "error":{"httpStatusCode":403}, "exception":true }, @@ -346,7 +349,7 @@ }, "SizingPolicy":{ "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.
  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.
  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.
  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.
  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.
  • ShrinkToFill Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

" + "documentation":"

Specify one of the following values to control scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.

  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.

  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.

  • ShrinkToFill Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

" }, "PaddingPolicy":{ "shape":"PaddingPolicy", @@ -400,7 +403,7 @@ "members":{ "Profile":{ "shape":"AudioCodecProfile", - "documentation":"

You can only choose an audio profile when you specify AAC for the value of Audio:Codec.

Specify the AAC profile for the output file. Elastic Transcoder supports the following profiles:

  • auto: If you specify auto, Elastic Transcoder will select the profile based on the bit rate selected for the output file.
  • AAC-LC: The most common AAC profile. Use for bit rates larger than 64 kbps.
  • HE-AAC: Not supported on some older players and devices. Use for bit rates between 40 and 80 kbps.
  • HE-AACv2: Not supported on some players and devices. Use for bit rates less than 48 kbps.

All outputs in a Smooth playlist must have the same value for Profile.

If you created any presets before AAC profiles were added, Elastic Transcoder automatically updated your presets to use AAC-LC. You can change the value as required.

" + "documentation":"

You can only choose an audio profile when you specify AAC for the value of Audio:Codec.

Specify the AAC profile for the output file. Elastic Transcoder supports the following profiles:

  • auto: If you specify auto, Elastic Transcoder selects the profile based on the bit rate selected for the output file.

  • AAC-LC: The most common AAC profile. Use for bit rates larger than 64 kbps.

  • HE-AAC: Not supported on some older players and devices. Use for bit rates between 40 and 80 kbps.

  • HE-AACv2: Not supported on some players and devices. Use for bit rates less than 48 kbps.

All outputs in a Smooth playlist must have the same value for Profile.

If you created any presets before AAC profiles were added, Elastic Transcoder automatically updated your presets to use AAC-LC. You can change the value as required.

" }, "BitDepth":{ "shape":"AudioBitDepth", @@ -434,7 +437,7 @@ }, "SampleRate":{ "shape":"AudioSampleRate", - "documentation":"

The sample rate of the audio stream in the output file, in Hertz. Valid values include:

auto, 22050, 32000, 44100, 48000, 96000

If you specify auto, Elastic Transcoder automatically detects the sample rate.

" + "documentation":"

The sample rate of the audio stream in the output file, in Hertz. Valid values include:

auto, 22050, 32000, 44100, 48000, 96000

If you specify auto, Elastic Transcoder automatically detects the sample rate.

" }, "BitRate":{ "shape":"AudioBitRate", @@ -442,15 +445,15 @@ }, "Channels":{ "shape":"AudioChannels", - "documentation":"

The number of audio channels in the output file. The following values are valid:

auto, 0, 1, 2

One channel carries the information played by a single speaker. For example, a stereo track with two channels sends one channel to the left speaker, and the other channel to the right speaker. The output channels are organized into tracks. If you want Elastic Transcoder to automatically detect the number of audio channels in the input file and use that value for the output file, select auto.

The output of a specific channel value and inputs are as follows:

  • auto channel specified, with any input: Pass through up to eight input channels.
  • 0 channels specified, with any input: Audio omitted from the output.
  • 1 channel specified, with at least one input channel: Mono sound.
  • 2 channels specified, with any input: Two identical mono channels or stereo. For more information about tracks, see Audio:AudioPackingMode.

For more information about how Elastic Transcoder organizes channels and tracks, see Audio:AudioPackingMode.

" + "documentation":"

The number of audio channels in the output file. The following values are valid:

auto, 0, 1, 2

One channel carries the information played by a single speaker. For example, a stereo track with two channels sends one channel to the left speaker, and the other channel to the right speaker. The output channels are organized into tracks. If you want Elastic Transcoder to automatically detect the number of audio channels in the input file and use that value for the output file, select auto.

The output of a specific channel value and inputs are as follows:

  • auto channel specified, with any input: Pass through up to eight input channels.

  • 0 channels specified, with any input: Audio omitted from the output.

  • 1 channel specified, with at least one input channel: Mono sound.

  • 2 channels specified, with any input: Two identical mono channels or stereo. For more information about tracks, see Audio:AudioPackingMode.

For more information about how Elastic Transcoder organizes channels and tracks, see Audio:AudioPackingMode.

" }, "AudioPackingMode":{ "shape":"AudioPackingMode", - "documentation":"

The method of organizing audio channels and tracks. Use Audio:Channels to specify the number of channels in your output, and Audio:AudioPackingMode to specify the number of tracks and their relation to the channels. If you do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack.

The following values are valid:

SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks

When you specify SingleTrack, Elastic Transcoder creates a single track for your output. The track can have up to eight channels. Use SingleTrack for all non-mxf containers.

The outputs of SingleTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output
  • 1, 2, or auto channels with no audio input: Audio omitted from the output
  • 1 channel with any input with audio: One track with one channel, downmixed if necessary
  • 2 channels with one track with one channel: One track with two identical channels
  • 2 or auto channels with two tracks with one channel each: One track with two channels
  • 2 or auto channels with one track with two channels: One track with two channels
  • 2 channels with one track with multiple channels: One track with two channels
  • auto channels with one track with one channel: One track with one channel
  • auto channels with one track with multiple channels: One track with multiple channels

When you specify OneChannelPerTrack, Elastic Transcoder creates a new track for every channel in your output. Your output can have up to eight single-channel tracks.

The outputs of OneChannelPerTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output
  • 1, 2, or auto channels with no audio input: Audio omitted from the output
  • 1 channel with any input with audio: One track with one channel, downmixed if necessary
  • 2 channels with one track with one channel: Two tracks with one identical channel each
  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each
  • 2 or auto channels with one track with two channels: Two tracks with one channel each
  • 2 channels with one track with multiple channels: Two tracks with one channel each
  • auto channels with one track with one channel: One track with one channel
  • auto channels with one track with multiple channels: Up to eight tracks with one channel each

When you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder creates eight single-channel tracks for your output. All tracks that do not contain audio data from an input channel are MOS, or Mit Out Sound, tracks.

The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output
  • 1, 2, or auto channels with no audio input: Audio omitted from the output
  • 1 channel with any input with audio: One track with one channel, downmixed if necessary, plus six MOS tracks
  • 2 channels with one track with one channel: Two tracks with one identical channel each, plus six MOS tracks
  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each, plus six MOS tracks
  • 2 or auto channels with one track with two channels: Two tracks with one channel each, plus six MOS tracks
  • 2 channels with one track with multiple channels: Two tracks with one channel each, plus six MOS tracks
  • auto channels with one track with one channel: One track with one channel, plus seven MOS tracks
  • auto channels with one track with multiple channels: Up to eight tracks with one channel each, plus MOS tracks until there are eight tracks in all
" + "documentation":"

The method of organizing audio channels and tracks. Use Audio:Channels to specify the number of channels in your output, and Audio:AudioPackingMode to specify the number of tracks and their relation to the channels. If you do not specify an Audio:AudioPackingMode, Elastic Transcoder uses SingleTrack.

The following values are valid:

SingleTrack, OneChannelPerTrack, and OneChannelPerTrackWithMosTo8Tracks

When you specify SingleTrack, Elastic Transcoder creates a single track for your output. The track can have up to eight channels. Use SingleTrack for all non-mxf containers.

The outputs of SingleTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary

  • 2 channels with one track with one channel: One track with two identical channels

  • 2 or auto channels with two tracks with one channel each: One track with two channels

  • 2 or auto channels with one track with two channels: One track with two channels

  • 2 channels with one track with multiple channels: One track with two channels

  • auto channels with one track with one channel: One track with one channel

  • auto channels with one track with multiple channels: One track with multiple channels

When you specify OneChannelPerTrack, Elastic Transcoder creates a new track for every channel in your output. Your output can have up to eight single-channel tracks.

The outputs of OneChannelPerTrack for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary

  • 2 channels with one track with one channel: Two tracks with one identical channel each

  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each

  • 2 or auto channels with one track with two channels: Two tracks with one channel each

  • 2 channels with one track with multiple channels: Two tracks with one channel each

  • auto channels with one track with one channel: One track with one channel

  • auto channels with one track with multiple channels: Up to eight tracks with one channel each

When you specify OneChannelPerTrackWithMosTo8Tracks, Elastic Transcoder creates eight single-channel tracks for your output. All tracks that do not contain audio data from an input channel are MOS, or Mit Out Sound, tracks.

The outputs of OneChannelPerTrackWithMosTo8Tracks for a specific channel value and inputs are as follows:

  • 0 channels with any input: Audio omitted from the output

  • 1, 2, or auto channels with no audio input: Audio omitted from the output

  • 1 channel with any input with audio: One track with one channel, downmixed if necessary, plus six MOS tracks

  • 2 channels with one track with one channel: Two tracks with one identical channel each, plus six MOS tracks

  • 2 or auto channels with two tracks with one channel each: Two tracks with one channel each, plus six MOS tracks

  • 2 or auto channels with one track with two channels: Two tracks with one channel each, plus six MOS tracks

  • 2 channels with one track with multiple channels: Two tracks with one channel each, plus six MOS tracks

  • auto channels with one track with one channel: One track with one channel, plus seven MOS tracks

  • auto channels with one track with multiple channels: Up to eight tracks with one channel each, plus MOS tracks until there are eight tracks in all

" }, "CodecOptions":{ "shape":"AudioCodecOptions", - "documentation":"

If you specified AAC for Audio:Codec, this is the AAC compression profile to use. Valid values include:

auto, AAC-LC, HE-AAC, HE-AACv2

If you specify auto, Elastic Transcoder chooses a profile based on the bit rate of the output file.

" + "documentation":"

If you specified AAC for Audio:Codec, this is the AAC compression profile to use. Valid values include:

auto, AAC-LC, HE-AAC, HE-AACv2

If you specify auto, Elastic Transcoder chooses a profile based on the bit rate of the output file.

" } }, "documentation":"

Parameters required for transcoding audio.

" @@ -477,7 +480,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier of the job that you want to cancel.

To get a list of the jobs (including their jobId) that have a status of Submitted, use the ListJobsByStatus API action.

", + "documentation":"

The identifier of the job that you want to cancel.

To get a list of the jobs (including their jobId) that have a status of Submitted, use the ListJobsByStatus API action.

", "location":"uri", "locationName":"Id" } @@ -495,11 +498,11 @@ "members":{ "Format":{ "shape":"CaptionFormatFormat", - "documentation":"

The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

  • Valid Embedded Caption Formats:

    • for FLAC: None

    • For MP3: None

    • For MP4: mov-text

    • For MPEG-TS: None

    • For ogg: None

    • For webm: None

  • Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

    • For FMP4: dfxp

    • Non-FMP4 outputs: All sidecar types

    fmp4 captions have an extension of .ismt

" + "documentation":"

The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

  • Valid Embedded Caption Formats:

    • for FLAC: None

    • For MP3: None

    • For MP4: mov-text

    • For MPEG-TS: None

    • For ogg: None

    • For webm: None

  • Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

    • For FMP4: dfxp

    • Non-FMP4 outputs: All sidecar types

    fmp4 captions have an extension of .ismt

" }, "Pattern":{ "shape":"CaptionFormatPattern", - "documentation":"

The prefix for caption filenames, in the form description-{language}, where:

  • description is a description of the video.
  • {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter code for the language of the caption in the output file names.

If you don't include {language} in the file name pattern, Elastic Transcoder automatically appends \"{language}\" to the value that you specify for the description. In addition, Elastic Transcoder automatically appends the count to the end of the segment files.

For example, suppose you're transcoding into srt format. When you enter \"Sydney-{language}-sunrise\", and the language of the captions is English (en), the name of the first caption file will be Sydney-en-sunrise00000.srt.

" + "documentation":"

The prefix for caption filenames, in the form description-{language}, where:

  • description is a description of the video.

  • {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter code for the language of the caption in the output file names.

If you don't include {language} in the file name pattern, Elastic Transcoder automatically appends \"{language}\" to the value that you specify for the description. In addition, Elastic Transcoder automatically appends the count to the end of the segment files.

For example, suppose you're transcoding into srt format. When you enter \"Sydney-{language}-sunrise\", and the language of the captions is English (en), the name of the first caption file is be Sydney-en-sunrise00000.srt.

" }, "Encryption":{ "shape":"Encryption", @@ -534,7 +537,7 @@ }, "Language":{ "shape":"Key", - "documentation":"

A string that specifies the language of the caption. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

" + "documentation":"

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

" }, "TimeOffset":{ "shape":"TimeOffset", @@ -546,7 +549,7 @@ }, "Encryption":{ "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your caption sources.

" + "documentation":"

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

" } }, "documentation":"

A source file for the input sidecar captions used during the transcoding process.

" @@ -561,11 +564,13 @@ "members":{ "MergePolicy":{ "shape":"CaptionMergePolicy", - "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

" + "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

", + "deprecated":true }, "CaptionSources":{ "shape":"CaptionSources", - "documentation":"

Source files for the input sidecar captions used during the transcoding process. To omit all sidecar captions, leave CaptionSources blank.

" + "documentation":"

Source files for the input sidecar captions used during the transcoding process. To omit all sidecar captions, leave CaptionSources blank.

", + "deprecated":true }, "CaptionFormats":{ "shape":"CaptionFormats", @@ -582,7 +587,8 @@ "documentation":"

Settings that determine when a clip begins and how long it lasts.

" } }, - "documentation":"

Settings for one clip in a composition. All jobs in a playlist must have the same clip settings.

" + "documentation":"

Settings for one clip in a composition. All jobs in a playlist must have the same clip settings.

", + "deprecated":true }, "CodecOption":{ "type":"string", @@ -597,7 +603,8 @@ }, "Composition":{ "type":"list", - "member":{"shape":"Clip"} + "member":{"shape":"Clip"}, + "deprecated":true }, "CreateJobOutput":{ "type":"structure", @@ -608,7 +615,7 @@ }, "ThumbnailPattern":{ "shape":"ThumbnailPattern", - "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.
  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" + "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" }, "ThumbnailEncryption":{ "shape":"Encryption", @@ -624,7 +631,7 @@ }, "SegmentDuration":{ "shape":"FloatString", - "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4 and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" + "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4 and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" }, "Watermarks":{ "shape":"JobWatermarks", @@ -636,11 +643,12 @@ }, "Composition":{ "shape":"Composition", - "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

" + "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

", + "deprecated":true }, "Captions":{ "shape":"Captions", - "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" + "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" }, "Encryption":{ "shape":"Encryption", @@ -659,7 +667,7 @@ "members":{ "Name":{ "shape":"Filename", - "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Note: Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" + "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" }, "Format":{ "shape":"PlaylistFormat", @@ -667,7 +675,7 @@ }, "OutputKeys":{ "shape":"OutputKeys", - "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" + "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" }, "HlsContentProtection":{ "shape":"HlsContentProtection", @@ -687,10 +695,7 @@ }, "CreateJobRequest":{ "type":"structure", - "required":[ - "PipelineId", - "Input" - ], + "required":["PipelineId"], "members":{ "PipelineId":{ "shape":"Id", @@ -700,7 +705,14 @@ "shape":"JobInput", "documentation":"

A section of the request body that provides information about the file that is being transcoded.

" }, - "Output":{"shape":"CreateJobOutput"}, + "Inputs":{ + "shape":"JobInputs", + "documentation":"

A section of the request body that provides information about the files that are being transcoded.

" + }, + "Output":{ + "shape":"CreateJobOutput", + "documentation":"

A section of the request body that provides information about the transcoded (target) file. We strongly recommend that you use the Outputs syntax instead of the Output syntax.

" + }, "Outputs":{ "shape":"CreateJobOutputs", "documentation":"

A section of the request body that provides information about the transcoded (target) files. We recommend that you use the Outputs syntax instead of the Output syntax.

" @@ -715,7 +727,7 @@ }, "UserMetadata":{ "shape":"UserMetadata", - "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs will be returned in the same order in which you specify them.

" + "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.

" } }, "documentation":"

The CreateJobRequest structure.

" @@ -725,7 +737,7 @@ "members":{ "Job":{ "shape":"Job", - "documentation":"

A section of the response body that provides information about the job that is created.

" + "documentation":"

A section of the response body that provides information about the job that is created.

" } }, "documentation":"

The CreateJobResponse structure.

" @@ -748,7 +760,7 @@ }, "OutputBucket":{ "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.
  • You do not want to specify the permissions that Elastic Transcoder grants to the files. When Elastic Transcoder saves files in OutputBucket, it grants full control over the files only to the AWS account that owns the role that is specified by Role.
  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.

If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" + "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. (Use this, or use ContentConfig:Bucket plus ThumbnailConfig:Bucket.)

Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.

  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.

  • You do not want to specify the permissions that Elastic Transcoder grants to the files.

    When Elastic Transcoder saves files in OutputBucket, it grants full control over the files only to the AWS account that owns the role that is specified by Role.

  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.

If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" }, "Role":{ "shape":"Role", @@ -756,19 +768,19 @@ }, "AwsKmsKeyArn":{ "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" + "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm.

" }, "Notifications":{ "shape":"Notifications", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.
  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.
  • Completed: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
" + "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

  • Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition while processing a job in this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

" }, "ContentConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.
  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  • Grantee Type: Specify the type of value that appears in the Grantee object:
    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content. A canonical user ID is not the same as an AWS account number.
    • Email: The value in the Grantee object is the registered email address of an AWS account.
    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:
    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.
" + "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • Grantee Type: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:

    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" }, "ThumbnailConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  • GranteeType: Specify the type of value that appears in the Grantee object:
    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number.
    • Email: The value in the Grantee object is the registered email address of an AWS account.
    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.
" + "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • GranteeType: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:

    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" } }, "documentation":"

The CreatePipelineRequest structure.

" @@ -826,7 +838,7 @@ "members":{ "Preset":{ "shape":"Preset", - "documentation":"

A section of the response body that provides information about the preset that is created.

" + "documentation":"

A section of the response body that provides information about the preset that is created.

" }, "Warning":{ "shape":"String", @@ -917,11 +929,11 @@ "members":{ "Mode":{ "shape":"EncryptionMode", - "documentation":"

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • S3: Amazon S3 creates and manages the keys used for encrypting your files.

  • S3-AWS-KMS: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify S3-AWS-KMS and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • AES-CBC-PKCS7: A padded cipher-block mode of operation originally used for HLS files.

  • AES-CTR: AES Counter Mode.

  • AES-GCM: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with will fail the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

" + "documentation":"

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

" }, "Key":{ "shape":"Base64EncodedString", - "documentation":"

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

" + "documentation":"

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

" }, "KeyMd5":{ "shape":"Base64EncodedString", @@ -932,7 +944,7 @@ "documentation":"

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

" } }, - "documentation":"

The encryption settings, if any, that are used for decrypting your input files or encrypting your output files. If your input file is encrypted, you must specify the mode that Elastic Transcoder will use to decrypt your file, otherwise you must specify the mode you want Elastic Transcoder to use to encrypt your output files.

" + "documentation":"

The encryption settings, if any, that are used for decrypting your input files or encrypting your output files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file, otherwise you must specify the mode you want Elastic Transcoder to use to encrypt your output files.

" }, "EncryptionMode":{ "type":"string", @@ -973,11 +985,11 @@ "members":{ "Method":{ "shape":"HlsContentProtectionMethod", - "documentation":"

The content protection method for your output. The only valid value is: aes-128.

This value will be written into the method attribute of the EXT-X-KEY metadata tag in the output playlist.

" + "documentation":"

The content protection method for your output. The only valid value is: aes-128.

This value is written into the method attribute of the EXT-X-KEY metadata tag in the output playlist.

" }, "Key":{ "shape":"Base64EncodedString", - "documentation":"

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

" + "documentation":"

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

" }, "KeyMd5":{ "shape":"Base64EncodedString", @@ -1017,6 +1029,20 @@ "error":{"httpStatusCode":400}, "exception":true }, + "InputCaptions":{ + "type":"structure", + "members":{ + "MergePolicy":{ + "shape":"CaptionMergePolicy", + "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

" + }, + "CaptionSources":{ + "shape":"CaptionSources", + "documentation":"

Source files for the input sidecar captions used during the transcoding process. To omit all sidecar captions, leave CaptionSources blank.

" + } + }, + "documentation":"

The captions to be created, if any.

" + }, "Interlaced":{ "type":"string", "pattern":"(^auto$)|(^true$)|(^false$)" @@ -1034,7 +1060,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

" + "documentation":"

The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

" }, "Arn":{ "shape":"String", @@ -1046,15 +1072,19 @@ }, "Input":{ "shape":"JobInput", - "documentation":"

A section of the request or response body that provides information about the file that is being transcoded.

" + "documentation":"

A section of the request or response body that provides information about the file that is being transcoded.

" + }, + "Inputs":{ + "shape":"JobInputs", + "documentation":"

Information about the files that you're transcoding. If you specified multiple files for this job, Elastic Transcoder stitches the files together to make one output.

" }, "Output":{ "shape":"JobOutput", - "documentation":"

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

Outputs recommended instead. A section of the request or response body that provides information about the transcoded (target) file.

" + "documentation":"

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

Outputs recommended instead.

A section of the request or response body that provides information about the transcoded (target) file.

" }, "Outputs":{ "shape":"JobOutputs", - "documentation":"

Information about the output files. We recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request. You can create a maximum of 30 outputs per job.

If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job.

" + "documentation":"

Information about the output files. We recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request. You can create a maximum of 30 outputs per job.

If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job.

" }, "OutputKeyPrefix":{ "shape":"Key", @@ -1062,7 +1092,7 @@ }, "Playlists":{ "shape":"Playlists", - "documentation":"

Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

The maximum number of master playlists in a job is 30.

" + "documentation":"

Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

The maximum number of master playlists in a job is 30.

" }, "Status":{ "shape":"JobStatus", @@ -1070,7 +1100,7 @@ }, "UserMetadata":{ "shape":"UserMetadata", - "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs will be returned in the same order in which you specify them.

Metadata keys and values must use characters from the following list:

  • 0-9

  • A-Z and a-z

  • Space

  • The following symbols: _.:/=+-%@

" + "documentation":"

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.

Metadata keys and values must use characters from the following list:

  • 0-9

  • A-Z and a-z

  • Space

  • The following symbols: _.:/=+-%@

" }, "Timing":{ "shape":"Timing", @@ -1084,11 +1114,11 @@ "members":{ "MergePolicy":{ "shape":"MergePolicy", - "documentation":"

A policy that determines how Elastic Transcoder will handle the existence of multiple album artwork files.

  • Replace: The specified album art will replace any existing album art.
  • Prepend: The specified album art will be placed in front of any existing album art.
  • Append: The specified album art will be placed after any existing album art.
  • Fallback: If the original input file contains artwork, Elastic Transcoder will use that artwork for the output. If the original input does not contain artwork, Elastic Transcoder will use the specified album art file.

" + "documentation":"

A policy that determines how Elastic Transcoder handles the existence of multiple album artwork files.

  • Replace: The specified album art replaces any existing album art.

  • Prepend: The specified album art is placed in front of any existing album art.

  • Append: The specified album art is placed after any existing album art.

  • Fallback: If the original input file contains artwork, Elastic Transcoder uses that artwork for the output. If the original input does not contain artwork, Elastic Transcoder uses the specified album art file.

" }, "Artwork":{ "shape":"Artworks", - "documentation":"

The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20. Valid formats are .jpg and .png

" + "documentation":"

The file to be used as album art. There can be multiple artworks associated with an audio file, to a maximum of 20. Valid formats are .jpg and .png

" } }, "documentation":"

The .jpg or .png file associated with an audio file.

" @@ -1118,7 +1148,7 @@ }, "Interlaced":{ "shape":"Interlaced", - "documentation":"

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

If you specify a value other than auto, Elastic Transcoder disables automatic detection of interlacing.

" + "documentation":"

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

If you specify a value other than auto, Elastic Transcoder disables automatic detection of interlacing.

" }, "Container":{ "shape":"JobContainer", @@ -1126,7 +1156,15 @@ }, "Encryption":{ "shape":"Encryption", - "documentation":"

The encryption settings, if any, that are used for decrypting your input files. If your input file is encrypted, you must specify the mode that Elastic Transcoder will use to decrypt your file.

" + "documentation":"

The encryption settings, if any, that are used for decrypting your input files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

" + }, + "TimeSpan":{ + "shape":"TimeSpan", + "documentation":"

Settings for clipping an input. Each input can have different clip settings.

" + }, + "InputCaptions":{ + "shape":"InputCaptions", + "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" }, "DetectedProperties":{ "shape":"DetectedProperties", @@ -1135,6 +1173,11 @@ }, "documentation":"

Information about the file that you're transcoding.

" }, + "JobInputs":{ + "type":"list", + "member":{"shape":"JobInput"}, + "max":200 + }, "JobOutput":{ "type":"structure", "members":{ @@ -1148,7 +1191,7 @@ }, "ThumbnailPattern":{ "shape":"ThumbnailPattern", - "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.
  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" + "documentation":"

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify \"\".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

" }, "ThumbnailEncryption":{ "shape":"Encryption", @@ -1156,7 +1199,7 @@ }, "Rotate":{ "shape":"Rotate", - "documentation":"

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

" + "documentation":"

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

" }, "PresetId":{ "shape":"Id", @@ -1164,11 +1207,11 @@ }, "SegmentDuration":{ "shape":"FloatString", - "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4 and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" + "documentation":"

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4, MPEG-DASH, and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

" }, "Status":{ "shape":"JobStatus", - "documentation":"

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.
  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.
  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.
  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.
The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

" + "documentation":"

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.

  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.

  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.

  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.

The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

" }, "StatusDetail":{ "shape":"Description", @@ -1200,7 +1243,7 @@ }, "Watermarks":{ "shape":"JobWatermarks", - "documentation":"

Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you specify in Preset for the current output.

Watermarks are added to the output video in the sequence in which you list them in the job output—the first watermark in the list is added to the output video first, the second watermark in the list is added next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark that you add will cover the first one, the third one will cover the second, and the fourth one will cover the third.

" + "documentation":"

Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you specify in Preset for the current output.

Watermarks are added to the output video in the sequence in which you list them in the job output—the first watermark in the list is added to the output video first, the second watermark in the list is added next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same location, the second watermark that you add covers the first one, the third one covers the second, and the fourth one covers the third.

" }, "AlbumArt":{ "shape":"JobAlbumArt", @@ -1208,22 +1251,23 @@ }, "Composition":{ "shape":"Composition", - "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

" + "documentation":"

You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make up an output file. For the current release, you can only specify settings for a single clip per output file. The Composition object cannot be null.

", + "deprecated":true }, "Captions":{ "shape":"Captions", - "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" + "documentation":"

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

" }, "Encryption":{ "shape":"Encryption", - "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. If you choose to use encryption, you must specify a mode to use. If you choose not to use encryption, Elastic Transcoder will write an unencrypted file to your Amazon S3 bucket.

" + "documentation":"

The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. If you choose to use encryption, you must specify a mode to use. If you choose not to use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

" }, "AppliedColorSpaceConversion":{ "shape":"String", - "documentation":"

If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output file, the AppliedColorSpaceConversion parameter shows the conversion used. If no ColorSpaceConversionMode was defined in the preset, this parameter will not be included in the job response.

" + "documentation":"

If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output file, the AppliedColorSpaceConversion parameter shows the conversion used. If no ColorSpaceConversionMode was defined in the preset, this parameter is not be included in the job response.

" } }, - "documentation":"

Outputs recommended instead.If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

" + "documentation":"

Outputs recommended instead.

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

" }, "JobOutputs":{ "type":"list", @@ -1299,7 +1343,7 @@ "members":{ "PipelineId":{ "shape":"Id", - "documentation":"

The ID of the pipeline for which you want to get job information.

", + "documentation":"

The ID of the pipeline for which you want to get job information.

", "location":"uri", "locationName":"PipelineId" }, @@ -1477,7 +1521,7 @@ "documentation":"

The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.

" } }, - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify in order to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console." + "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic or topics to notify in order to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

" }, "NullableInteger":{"type":"integer"}, "NullableLong":{"type":"long"}, @@ -1504,7 +1548,7 @@ "members":{ "GranteeType":{ "shape":"GranteeType", - "documentation":"

The type of value that appears in the Grantee object:

  • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number.
  • Email: The registered email address of an AWS account.
  • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

" + "documentation":"

The type of value that appears in the Grantee object:

  • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

    A canonical user ID is not the same as an AWS account number.

  • Email: The registered email address of an AWS account.

  • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

" }, "Grantee":{ "shape":"Grantee", @@ -1512,7 +1556,7 @@ }, "Access":{ "shape":"AccessControls", - "documentation":"

The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

  • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

" + "documentation":"

The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

  • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

" } }, "documentation":"

The Permission structure.

" @@ -1527,7 +1571,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier for the pipeline. You use this value to identify the pipeline in which you want to perform a variety of operations, such as creating a job or a preset.

" + "documentation":"

The identifier for the pipeline. You use this value to identify the pipeline in which you want to perform a variety of operations, such as creating a job or a preset.

" }, "Arn":{ "shape":"String", @@ -1539,7 +1583,7 @@ }, "Status":{ "shape":"PipelineStatus", - "documentation":"

The current status of the pipeline:

  • Active: The pipeline is processing jobs.
  • Paused: The pipeline is not currently processing jobs.
" + "documentation":"

The current status of the pipeline:

  • Active: The pipeline is processing jobs.

  • Paused: The pipeline is not currently processing jobs.

" }, "InputBucket":{ "shape":"BucketName", @@ -1555,19 +1599,19 @@ }, "AwsKmsKeyArn":{ "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" + "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm.

" }, "Notifications":{ "shape":"Notifications", - "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.
  • Progressing (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process the job.
  • Completed (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.
  • Warning (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition.
  • Error (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.
" + "documentation":"

The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing (optional): The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process the job.

  • Complete (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing the job.

  • Warning (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition.

  • Error (optional): The Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition.

" }, "ContentConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.
  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to transcoded files and playlists, and the type of access that you want them to have.
    • GranteeType: The type of value that appears in the Grantee object:
      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.
      • Email: The registered email address of an AWS account.
      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
    • Grantee: The AWS user or group that you want to have access to transcoded files and playlists.
    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:
      • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.
      • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.
      • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.
" + "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to transcoded files and playlists, and the type of access that you want them to have.

    • GranteeType: The type of value that appears in the Grantee object:

      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      • Email: The registered email address of an AWS account.

      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

    • Grantee: The AWS user or group that you want to have access to transcoded files and playlists.

    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

      • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" }, "ThumbnailConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access that you want them to have.
    • GranteeType: The type of value that appears in the Grantee object:
      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number.
      • Email: The registered email address of an AWS account.
      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
    • Grantee: The AWS user or group that you want to have access to thumbnail files.
    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:
      • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
      • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
      • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.
" + "documentation":"

Information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. Either you specify both ContentConfig and ThumbnailConfig, or you specify OutputBucket.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions: A list of the users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access that you want them to have.

    • GranteeType: The type of value that appears in the Grantee object:

      • Canonical: Either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

        A canonical user ID is not the same as an AWS account number.

      • Email: The registered email address of an AWS account.

      • Group: One of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

    • Grantee: The AWS user or group that you want to have access to thumbnail files.

    • Access: The permission that you want to give to the AWS user that is listed in Grantee. Valid values include:

      • READ: The grantee can read the thumbnails and metadata for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

      • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" } }, "documentation":"

The pipeline (queue) that is used to manage jobs.

" @@ -1577,7 +1621,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.
  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.
  • You do not want to specify the permissions that Elastic Transcoder grants to the files.
  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.
If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" + "documentation":"

The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files. Specify this value when all of the following are true:

  • You want to save transcoded files, thumbnails (if any), and playlists (if any) together in one bucket.

  • You do not want to specify the users or groups who have access to the transcoded files, thumbnails, and playlists.

  • You do not want to specify the permissions that Elastic Transcoder grants to the files.

  • You want to associate the transcoded files and thumbnails with the Amazon S3 Standard storage class.

If you want to save transcoded files and playlists in one bucket and thumbnails in another bucket, specify which users can access the transcoded files or the permissions the users have, or change the Amazon S3 storage class, omit OutputBucket and specify values for ContentConfig and ThumbnailConfig instead.

" }, "StorageClass":{ "shape":"StorageClass", @@ -1611,7 +1655,7 @@ }, "Key":{ "shape":"NonEmptyBase64EncodedString", - "documentation":"

The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using AWS KMS.

" + "documentation":"

The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using AWS KMS.

" }, "KeyMd5":{ "shape":"NonEmptyBase64EncodedString", @@ -1619,7 +1663,7 @@ }, "KeyId":{ "shape":"KeyIdGuid", - "documentation":"

The ID for your DRM key, so that your DRM license provider knows which key to provide.

The key ID must be provided in big endian, and Elastic Transcoder will convert it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

" + "documentation":"

The ID for your DRM key, so that your DRM license provider knows which key to provide.

The key ID must be provided in big endian, and Elastic Transcoder converts it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

" }, "InitializationVector":{ "shape":"ZeroTo255String", @@ -1627,10 +1671,10 @@ }, "LicenseAcquisitionUrl":{ "shape":"OneTo512String", - "documentation":"

The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

" + "documentation":"

The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

" } }, - "documentation":"

The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

PlayReady DRM encrypts your media files using AES-CTR encryption.

If you use DRM for an HLSv3 playlist, your outputs must have a master playlist.

" + "documentation":"

The PlayReady DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

PlayReady DRM encrypts your media files using aes-ctr encryption.

If you use DRM for an HLSv3 playlist, your outputs must have a master playlist.

" }, "PlayReadyDrmFormatString":{ "type":"string", @@ -1641,7 +1685,7 @@ "members":{ "Name":{ "shape":"Filename", - "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Note: Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" + "documentation":"

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

" }, "Format":{ "shape":"PlaylistFormat", @@ -1649,7 +1693,7 @@ }, "OutputKeys":{ "shape":"OutputKeys", - "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" + "documentation":"

For each output in this job that you want to include in a master playlist, the value of the Outputs:Key object.

  • If your output is not HLS or does not have a segment duration set, the name of the output file is a concatenation of OutputKeyPrefix and Outputs:Key:

    OutputKeyPrefixOutputs:Key

  • If your output is HLSv3 and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of .m3u8, and a series of .ts files that include a five-digit sequential counter beginning with 00000:

    OutputKeyPrefixOutputs:Key.m3u8

    OutputKeyPrefixOutputs:Key00000.ts

  • If your output is HLSv4, has a segment duration set, and is included in an HLSv4 playlist, Elastic Transcoder creates an output playlist file with a file extension of _v4.m3u8. If the output is video, Elastic Transcoder also creates an output file with an extension of _iframe.m3u8:

    OutputKeyPrefixOutputs:Key_v4.m3u8

    OutputKeyPrefixOutputs:Key_iframe.m3u8

    OutputKeyPrefixOutputs:Key.ts

Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.

If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For Smooth playlists, the Audio:Profile, Video:Profile, and Video:FrameRate to Video:KeyframesMaxDist ratio must be the same for all outputs.

" }, "HlsContentProtection":{ "shape":"HlsContentProtection", @@ -1722,7 +1766,7 @@ }, "PresetContainer":{ "type":"string", - "pattern":"(^mp4$)|(^ts$)|(^webm$)|(^mp3$)|(^flac$)|(^oga$)|(^ogg$)|(^fmp4$)|(^mpg$)|(^flv$)|(^gif$)|(^mxf$)|(^wav$)" + "pattern":"(^mp4$)|(^ts$)|(^webm$)|(^mp3$)|(^flac$)|(^oga$)|(^ogg$)|(^fmp4$)|(^mpg$)|(^flv$)|(^gif$)|(^mxf$)|(^wav$)|(^mp2$)" }, "PresetType":{ "type":"string", @@ -1733,35 +1777,35 @@ "members":{ "Id":{ "shape":"PresetWatermarkId", - "documentation":"A unique identifier for the settings for one watermark. The value of Id can be up to 40 characters long." + "documentation":"

A unique identifier for the settings for one watermark. The value of Id can be up to 40 characters long.

" }, "MaxWidth":{ "shape":"PixelsOrPercent", - "documentation":"

The maximum width of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxWidth.
  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.
  • If you specify the value in pixels, it must be less than or equal to the value of MaxWidth.

" + "documentation":"

The maximum width of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxWidth.

  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.

    If you specify the value in pixels, it must be less than or equal to the value of MaxWidth.

" }, "MaxHeight":{ "shape":"PixelsOrPercent", - "documentation":"

The maximum height of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxHeight.
  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.
If you specify the value in pixels, it must be less than or equal to the value of MaxHeight.

" + "documentation":"

The maximum height of the watermark in one of the following formats:

  • number of pixels (px): The minimum value is 16 pixels, and the maximum value is the value of MaxHeight.

  • integer percentage (%): The range of valid values is 0 to 100. Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the calculation.

If you specify the value in pixels, it must be less than or equal to the value of MaxHeight.

" }, "SizingPolicy":{ "shape":"WatermarkSizingPolicy", - "documentation":"

A value that controls scaling of the watermark:

  • Fit: Elastic Transcoder scales the watermark so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.
  • Stretch: Elastic Transcoder stretches the watermark to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the watermark and the values of MaxWidth and MaxHeight are different, the watermark will be distorted.
  • ShrinkToFit: Elastic Transcoder scales the watermark down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the watermark up.

" + "documentation":"

A value that controls scaling of the watermark:

  • Fit: Elastic Transcoder scales the watermark so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Stretch: Elastic Transcoder stretches the watermark to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the watermark and the values of MaxWidth and MaxHeight are different, the watermark will be distorted.

  • ShrinkToFit: Elastic Transcoder scales the watermark down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the watermark up.

" }, "HorizontalAlign":{ "shape":"HorizontalAlign", - "documentation":"

The horizontal position of the watermark unless you specify a non-zero value for HorizontalOffset:

  • Left: The left edge of the watermark is aligned with the left border of the video.
  • Right: The right edge of the watermark is aligned with the right border of the video.
  • Center: The watermark is centered between the left and right borders.

" + "documentation":"

The horizontal position of the watermark unless you specify a non-zero value for HorizontalOffset:

  • Left: The left edge of the watermark is aligned with the left border of the video.

  • Right: The right edge of the watermark is aligned with the right border of the video.

  • Center: The watermark is centered between the left and right borders.

" }, "HorizontalOffset":{ "shape":"PixelsOrPercent", - "documentation":"

The amount by which you want the horizontal position of the watermark to be offset from the position specified by HorizontalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxWidth.
  • integer percentage (%): The range of valid values is 0 to 100.
For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset, the left side of the watermark appears 5 pixels from the left border of the output video.

HorizontalOffset is only valid when the value of HorizontalAlign is Left or Right. If you specify an offset that causes the watermark to extend beyond the left or right border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" + "documentation":"

The amount by which you want the horizontal position of the watermark to be offset from the position specified by HorizontalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxWidth.

  • integer percentage (%): The range of valid values is 0 to 100.

For example, if you specify Left for HorizontalAlign and 5px for HorizontalOffset, the left side of the watermark appears 5 pixels from the left border of the output video.

HorizontalOffset is only valid when the value of HorizontalAlign is Left or Right. If you specify an offset that causes the watermark to extend beyond the left or right border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" }, "VerticalAlign":{ "shape":"VerticalAlign", - "documentation":"

The vertical position of the watermark unless you specify a non-zero value for VerticalOffset:

  • Top: The top edge of the watermark is aligned with the top border of the video.
  • Bottom: The bottom edge of the watermark is aligned with the bottom border of the video.
  • Center: The watermark is centered between the top and bottom borders.

" + "documentation":"

The vertical position of the watermark unless you specify a non-zero value for VerticalOffset:

  • Top: The top edge of the watermark is aligned with the top border of the video.

  • Bottom: The bottom edge of the watermark is aligned with the bottom border of the video.

  • Center: The watermark is centered between the top and bottom borders.

" }, "VerticalOffset":{ "shape":"PixelsOrPercent", - "documentation":"VerticalOffset

The amount by which you want the vertical position of the watermark to be offset from the position specified by VerticalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxHeight.
  • integer percentage (%): The range of valid values is 0 to 100.
For example, if you specify Top for VerticalAlign and 5px for VerticalOffset, the top of the watermark appears 5 pixels from the top border of the output video.

VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom.

If you specify an offset that causes the watermark to extend beyond the top or bottom border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" + "documentation":"

VerticalOffset

The amount by which you want the vertical position of the watermark to be offset from the position specified by VerticalAlign:

  • number of pixels (px): The minimum value is 0 pixels, and the maximum value is the value of MaxHeight.

  • integer percentage (%): The range of valid values is 0 to 100.

For example, if you specify Top for VerticalAlign and 5px for VerticalOffset, the top of the watermark appears 5 pixels from the top border of the output video.

VerticalOffset is only valid when the value of VerticalAlign is Top or Bottom.

If you specify an offset that causes the watermark to extend beyond the top or bottom border and Elastic Transcoder has not added black bars, the watermark is cropped. If Elastic Transcoder has added black bars, the watermark extends into the black bars. If the watermark extends beyond the black bars, it is cropped.

Use the value of Target to specify whether you want Elastic Transcoder to include the black bars that are added by Elastic Transcoder, if any, in the offset calculation.

" }, "Opacity":{ "shape":"Opacity", @@ -1769,7 +1813,7 @@ }, "Target":{ "shape":"Target", - "documentation":"

A value that determines how Elastic Transcoder interprets values that you specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight:

  • Content: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any.
  • Frame: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any.
  • In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any.

" + "documentation":"

A value that determines how Elastic Transcoder interprets values that you specified for HorizontalOffset, VerticalOffset, MaxWidth, and MaxHeight:

  • Content: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video excluding black bars added by Elastic Transcoder, if any.

  • Frame: HorizontalOffset and VerticalOffset values are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any. In addition, MaxWidth and MaxHeight, if specified as a percentage, are calculated based on the borders of the video including black bars added by Elastic Transcoder, if any.

" } }, "documentation":"

Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in the specified size and location, and with the specified opacity for the duration of the transcoded video.

Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the .png format, which supports transparency.

When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have different dimensions.

" @@ -1868,7 +1912,7 @@ "type":"structure", "members":{ }, - "documentation":"

The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.

", + "documentation":"

The resource you are attempting to change is in use. For example, you are attempting to delete a pipeline that is currently in use.

", "error":{"httpStatusCode":409}, "exception":true }, @@ -1876,7 +1920,7 @@ "type":"structure", "members":{ }, - "documentation":"

The requested resource does not exist or is not available. For example, the pipeline to which you're trying to add a job doesn't exist or is still being created.

", + "documentation":"

The requested resource does not exist or is not available. For example, the pipeline to which you're trying to add a job doesn't exist or is still being created.

", "error":{"httpStatusCode":404}, "exception":true }, @@ -1933,14 +1977,15 @@ }, "OutputBucket":{ "shape":"BucketName", - "documentation":"

The Amazon S3 bucket that Elastic Transcoder will write transcoded media files to. The action attempts to read from this bucket.

" + "documentation":"

The Amazon S3 bucket that Elastic Transcoder writes transcoded media files to. The action attempts to read from this bucket.

" }, "Topics":{ "shape":"SnsTopics", "documentation":"

The ARNs of one or more Amazon Simple Notification Service (Amazon SNS) topics that you want the action to send a test notification to.

" } }, - "documentation":"

The TestRoleRequest structure.

" + "documentation":"

The TestRoleRequest structure.

", + "deprecated":true }, "TestRoleResponse":{ "type":"structure", @@ -1954,7 +1999,8 @@ "documentation":"

If the Success element contains false, this value is an array of one or more error messages that were generated during the test process.

" } }, - "documentation":"

The TestRoleResponse structure.

" + "documentation":"

The TestRoleResponse structure.

", + "deprecated":true }, "ThumbnailPattern":{ "type":"string", @@ -1977,23 +2023,23 @@ }, "Resolution":{ "shape":"ThumbnailResolution", - "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of thumbnail files in pixels. Specify a value in the format width x height where both values are even integers. The values cannot exceed the width and height that you specified in the Video:Resolution object.

" + "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of thumbnail files in pixels. Specify a value in the format width x height where both values are even integers. The values cannot exceed the width and height that you specified in the Video:Resolution object.

" }, "AspectRatio":{ "shape":"AspectRatio", - "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The aspect ratio of thumbnails. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the video in the output file.

" + "documentation":"

To better control resolution and aspect ratio of thumbnails, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, and PaddingPolicy instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The aspect ratio of thumbnails. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the video in the output file.

" }, "MaxWidth":{ "shape":"DigitsOrAuto", - "documentation":"

The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 4096.

" + "documentation":"

The maximum width of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 4096.

" }, "MaxHeight":{ "shape":"DigitsOrAuto", - "documentation":"

The maximum height of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 3072.

" + "documentation":"

The maximum height of thumbnails in pixels. If you specify auto, Elastic Transcoder uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 32 and 3072.

" }, "SizingPolicy":{ "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of thumbnails:

  • Fit: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings without exceeding the other value.
  • Fill: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings and matches or exceeds the other value. Elastic Transcoder centers the image in thumbnails and then crops in the dimension (if any) that exceeds the maximum value.
  • Stretch: Elastic Transcoder stretches thumbnails to match the values that you specified for thumbnail MaxWidth and MaxHeight settings. If the relative proportions of the input video and thumbnails are different, the thumbnails will be distorted.
  • Keep: Elastic Transcoder does not scale thumbnails. If either dimension of the input video exceeds the values that you specified for thumbnail MaxWidth and MaxHeight settings, Elastic Transcoder crops the thumbnails.
  • ShrinkToFit: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of thumbnail MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.
  • ShrinkToFill: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.

" + "documentation":"

Specify one of the following values to control scaling of thumbnails:

  • Fit: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings without exceeding the other value.

  • Fill: Elastic Transcoder scales thumbnails so they match the value that you specified in thumbnail MaxWidth or MaxHeight settings and matches or exceeds the other value. Elastic Transcoder centers the image in thumbnails and then crops in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches thumbnails to match the values that you specified for thumbnail MaxWidth and MaxHeight settings. If the relative proportions of the input video and thumbnails are different, the thumbnails will be distorted.

  • Keep: Elastic Transcoder does not scale thumbnails. If either dimension of the input video exceeds the values that you specified for thumbnail MaxWidth and MaxHeight settings, Elastic Transcoder crops the thumbnails.

  • ShrinkToFit: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of thumbnail MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.

  • ShrinkToFill: Elastic Transcoder scales thumbnails down so that their dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale thumbnails up.

" }, "PaddingPolicy":{ "shape":"PaddingPolicy", @@ -2051,13 +2097,13 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

The identifier of the pipeline for which you want to change notification settings.

", + "documentation":"

The identifier of the pipeline for which you want to change notification settings.

", "location":"uri", "locationName":"Id" }, "Notifications":{ "shape":"Notifications", - "documentation":"

The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.
  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.
  • Completed: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.
  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.
  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.
" + "documentation":"

The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.

" } }, "documentation":"

The UpdatePipelineNotificationsRequest structure.

" @@ -2067,7 +2113,7 @@ "members":{ "Pipeline":{ "shape":"Pipeline", - "documentation":"

A section of the response body that provides information about the pipeline.

" + "documentation":"

A section of the response body that provides information about the pipeline associated with this notification.

" } }, "documentation":"

The UpdatePipelineNotificationsResponse structure.

" @@ -2096,16 +2142,19 @@ }, "AwsKmsKeyArn":{ "shape":"KeyArn", - "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either S3 or S3-AWS-KMS as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of AES-PKCS7, AES-CTR, or AES-GCM.

" + "documentation":"

The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.

If you use either s3 or s3-aws-kms as your Encryption:Mode, you don't need to provide a key with your job because a default key, known as an AWS-KMS key, is created for you automatically. You need to provide an AWS-KMS key only if you want to use a non-default AWS-KMS key, or if you are using an Encryption:Mode of aes-cbc-pkcs7, aes-ctr, or aes-gcm.

" + }, + "Notifications":{ + "shape":"Notifications", + "documentation":"

The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status.

To receive notifications, you must also subscribe to the new topic in the Amazon SNS console.

  • Progressing: The topic ARN for the Amazon Simple Notification Service (Amazon SNS) topic that you want to notify when Elastic Transcoder has started to process jobs that are added to this pipeline. This is the ARN that Amazon SNS returned when you created the topic.

  • Complete: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder has finished processing a job. This is the ARN that Amazon SNS returned when you created the topic.

  • Warning: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters a warning condition. This is the ARN that Amazon SNS returned when you created the topic.

  • Error: The topic ARN for the Amazon SNS topic that you want to notify when Elastic Transcoder encounters an error condition. This is the ARN that Amazon SNS returned when you created the topic.

" }, - "Notifications":{"shape":"Notifications"}, "ContentConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.
  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  • Grantee Type: Specify the type of value that appears in the Grantee object:
    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content. A canonical user ID is not the same as an AWS account number.
    • Email: The value in the Grantee object is the registered email address of an AWS account.
    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group
  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:
    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.
" + "documentation":"

The optional ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists: which bucket to use, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists.

  • Permissions (Optional): The Permissions object specifies which users you want to have access to transcoded files and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • Grantee Type: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. For more information about canonical user IDs, see Access Control List (ACL) Overview in the Amazon Simple Storage Service Developer Guide. For more information about using CloudFront origin access identities to require that users use CloudFront URLs instead of Amazon S3 URLs, see Using an Origin Access Identity to Restrict Access to Your Amazon S3 Content.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to transcoded files and playlists. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the files that Elastic Transcoder adds to the bucket, including playlists and video files. Valid values include:

    • READ: The grantee can read the objects and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the objects that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the video files and playlists that it stores in your Amazon S3 bucket.

" }, "ThumbnailConfig":{ "shape":"PipelineOutputConfig", - "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.
  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.
  • GranteeType: Specify the type of value that appears in the Grantee object:
    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution. A canonical user ID is not the same as an AWS account number.
    • Email: The value in the Grantee object is the registered email address of an AWS account.
    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.
  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.
  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:
    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.
    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.
  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.
" + "documentation":"

The ThumbnailConfig object specifies several values, including the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files, which users you want to have access to the files, the type of access you want users to have, and the storage class that you want to assign to the files.

If you specify values for ContentConfig, you must also specify values for ThumbnailConfig even if you don't want to create thumbnails.

If you specify values for ContentConfig and ThumbnailConfig, omit the OutputBucket object.

  • Bucket: The Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files.

  • Permissions (Optional): The Permissions object specifies which users and/or predefined Amazon S3 groups you want to have access to thumbnail files, and the type of access you want them to have. You can grant permissions to a maximum of 30 users and/or predefined Amazon S3 groups.

  • GranteeType: Specify the type of value that appears in the Grantee object:

    • Canonical: The value in the Grantee object is either the canonical user ID for an AWS account or an origin access identity for an Amazon CloudFront distribution.

      A canonical user ID is not the same as an AWS account number.

    • Email: The value in the Grantee object is the registered email address of an AWS account.

    • Group: The value in the Grantee object is one of the following predefined Amazon S3 groups: AllUsers, AuthenticatedUsers, or LogDelivery.

  • Grantee: The AWS user or group that you want to have access to thumbnail files. To identify the user or group, you can specify the canonical user ID for an AWS account, an origin access identity for a CloudFront distribution, the registered email address of an AWS account, or a predefined Amazon S3 group.

  • Access: The permission that you want to give to the AWS user that you specified in Grantee. Permissions are granted on the thumbnail files that Elastic Transcoder adds to the bucket. Valid values include:

    • READ: The grantee can read the thumbnails and metadata for objects that Elastic Transcoder adds to the Amazon S3 bucket.

    • READ_ACP: The grantee can read the object ACL for thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • WRITE_ACP: The grantee can write the ACL for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

    • FULL_CONTROL: The grantee has READ, READ_ACP, and WRITE_ACP permissions for the thumbnails that Elastic Transcoder adds to the Amazon S3 bucket.

  • StorageClass: The Amazon S3 storage class, Standard or ReducedRedundancy, that you want Elastic Transcoder to assign to the thumbnails that it stores in your Amazon S3 bucket.

" } }, "documentation":"

The UpdatePipelineRequest structure.

" @@ -2113,13 +2162,16 @@ "UpdatePipelineResponse":{ "type":"structure", "members":{ - "Pipeline":{"shape":"Pipeline"}, + "Pipeline":{ + "shape":"Pipeline", + "documentation":"

The pipeline updated by this UpdatePipelineResponse call.

" + }, "Warnings":{ "shape":"Warnings", "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" } }, - "documentation":"

When you update a pipeline, Elastic Transcoder returns the values that you specified in the request.

" + "documentation":"

When you update a pipeline, Elastic Transcoder returns the values that you specified in the request.

" }, "UpdatePipelineStatusRequest":{ "type":"structure", @@ -2136,7 +2188,7 @@ }, "Status":{ "shape":"PipelineStatus", - "documentation":"

The desired status of the pipeline:

  • Active: The pipeline is processing jobs.
  • Paused: The pipeline is not currently processing jobs.
" + "documentation":"

The desired status of the pipeline:

  • Active: The pipeline is processing jobs.

  • Paused: The pipeline is not currently processing jobs.

" } }, "documentation":"

The UpdatePipelineStatusRequest structure.

" @@ -2149,7 +2201,7 @@ "documentation":"

A section of the response body that provides information about the pipeline.

" } }, - "documentation":"When you update status for a pipeline, Elastic Transcoder returns the values that you specified in the request." + "documentation":"

When you update status for a pipeline, Elastic Transcoder returns the values that you specified in the request.

" }, "UserMetadata":{ "type":"map", @@ -2181,11 +2233,11 @@ "members":{ "Codec":{ "shape":"VideoCodec", - "documentation":"

The video codec for the output file. Valid values include gif, H.264, mpeg2, and vp8. You can only specify vp8 when the container type is webm, gif when the container type is gif, and mpeg2 when the container type is mpg.

" + "documentation":"

The video codec for the output file. Valid values include gif, H.264, mpeg2, vp8, and vp9. You can only specify vp8 and vp9 when the container type is webm, gif when the container type is gif, and mpeg2 when the container type is mpg.

" }, "CodecOptions":{ "shape":"CodecOptions", - "documentation":"

Profile (H.264/VP8 Only)

The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:

  • baseline: The profile most commonly used for videoconferencing and for mobile applications.
  • main: The profile used for standard-definition digital TV broadcasts.
  • high: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.

Level (H.264 Only)

The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:

1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1

MaxReferenceFrames (H.264 Only)

Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use a value greater than the following:

Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)

where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the Level object. See the list below. (A macroblock is a block of pixels measuring 16x16.)

  • 1 - 396
  • 1b - 396
  • 1.1 - 900
  • 1.2 - 2376
  • 1.3 - 2376
  • 2 - 2376
  • 2.1 - 4752
  • 2.2 - 8100
  • 3 - 8100
  • 3.1 - 18000
  • 3.2 - 20480
  • 4 - 32768
  • 4.1 - 32768

MaxBitRate (Optional, H.264/MPEG2/VP8 only)

The maximum number of bits per second in a video buffer; the size of the buffer is specified by BufferSize. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.

BufferSize (Optional, H.264/MPEG2/VP8 only)

The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder sets BufferSize to 10 times the value of MaxBitRate.

InterlacedMode (Optional, H.264/MPEG2 Only)

The interlace mode for the output video.

Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on every other line, the other field on the other lines) so that the human eye registers multiple pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and flickering.

Valid values include Progressive (no interlacing, top to bottom), TopFirst (top field first), BottomFirst (bottom field first), and Auto.

If InterlaceMode is not specified, Elastic Transcoder uses Progressive for the output. If Auto is specified, Elastic Transcoder interlaces the output.

ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)

The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used by the computer to store information about how to render color. Bt.601 is the standard for standard definition video, while Bt.709 is the standard for high definition video.

Valid values include None, Bt709toBt601, Bt601toBt709, and Auto.

If you chose Auto for ColorSpaceConversionMode and your output is interlaced, your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration is null, and you are using one of the resolution changes from the list below, Elastic Transcoder applies the following color space conversions:

  • Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
  • Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
  • HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
  • HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
Elastic Transcoder may change the behavior of the ColorspaceConversionMode Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode.

If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does not change the color space of a file. If you are unsure what ColorSpaceConversionMode was applied to your output file, you can check the AppliedColorSpaceConversion parameter included in your job response. If your job does not have an AppliedColorSpaceConversion in its response, no ColorSpaceConversionMode was applied.

ChromaSubsampling

The sampling pattern for the chroma (color) channels of the output video. Valid values include yuv420p and yuv422p.

yuv420p samples the chroma information of every other horizontal and every other vertical line, yuv422p samples the color information of every horizontal line and every other vertical line.

LoopCount (Gif Only)

The number of times you want the output gif to loop. Valid values include Infinite and integers between 0 and 100, inclusive.

" + "documentation":"

Profile (H.264/VP8/VP9 Only)

The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:

  • baseline: The profile most commonly used for videoconferencing and for mobile applications.

  • main: The profile used for standard-definition digital TV broadcasts.

  • high: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.

Level (H.264 Only)

The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:

1, 1b, 1.1, 1.2, 1.3, 2, 2.1, 2.2, 3, 3.1, 3.2, 4, 4.1

MaxReferenceFrames (H.264 Only)

Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use a value greater than the following:

Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)

where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the Level object. See the list below. (A macroblock is a block of pixels measuring 16x16.)

  • 1 - 396

  • 1b - 396

  • 1.1 - 900

  • 1.2 - 2376

  • 1.3 - 2376

  • 2 - 2376

  • 2.1 - 4752

  • 2.2 - 8100

  • 3 - 8100

  • 3.1 - 18000

  • 3.2 - 20480

  • 4 - 32768

  • 4.1 - 32768

MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)

The maximum number of bits per second in a video buffer; the size of the buffer is specified by BufferSize. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.

BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)

The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer greater than 0. If you specify MaxBitRate and omit BufferSize, Elastic Transcoder sets BufferSize to 10 times the value of MaxBitRate.

InterlacedMode (Optional, H.264/MPEG2 Only)

The interlace mode for the output video.

Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on every other line, the other field on the other lines) so that the human eye registers multiple pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and flickering.

Valid values include Progressive (no interlacing, top to bottom), TopFirst (top field first), BottomFirst (bottom field first), and Auto.

If InterlaceMode is not specified, Elastic Transcoder uses Progressive for the output. If Auto is specified, Elastic Transcoder interlaces the output.

ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)

The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used by the computer to store information about how to render color. Bt.601 is the standard for standard definition video, while Bt.709 is the standard for high definition video.

Valid values include None, Bt709toBt601, Bt601toBt709, and Auto.

If you chose Auto for ColorSpaceConversionMode and your output is interlaced, your frame rate is one of 23.97, 24, 25, 29.97, 50, or 60, your SegmentDuration is null, and you are using one of the resolution changes from the list below, Elastic Transcoder applies the following color space conversions:

  • Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709

  • Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709

  • HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601

  • HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601

Elastic Transcoder may change the behavior of the ColorspaceConversionMode Auto mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode.

If you do not specify a ColorSpaceConversionMode, Elastic Transcoder does not change the color space of a file. If you are unsure what ColorSpaceConversionMode was applied to your output file, you can check the AppliedColorSpaceConversion parameter included in your job response. If your job does not have an AppliedColorSpaceConversion in its response, no ColorSpaceConversionMode was applied.

ChromaSubsampling

The sampling pattern for the chroma (color) channels of the output video. Valid values include yuv420p and yuv422p.

yuv420p samples the chroma information of every other horizontal and every other vertical line, yuv422p samples the color information of every horizontal line and every other vertical line.

LoopCount (Gif Only)

The number of times you want the output gif to loop. Valid values include Infinite and integers between 0 and 100, inclusive.

" }, "KeyframesMaxDist":{ "shape":"KeyframesMaxDist", @@ -2193,15 +2245,15 @@ }, "FixedGOP":{ "shape":"FixedGOP", - "documentation":"

Applicable only when the value of Video:Codec is one of H.264, MPEG2, or VP8.

Whether to use a fixed value for FixedGOP. Valid values are true and false:

  • true: Elastic Transcoder uses the value of KeyframesMaxDist for the distance between key frames (the number of frames in a group of pictures, or GOP).
  • false: The distance between key frames can vary.

FixedGOP must be set to true for fmp4 containers.

" + "documentation":"

Applicable only when the value of Video:Codec is one of H.264, MPEG2, or VP8.

Whether to use a fixed value for FixedGOP. Valid values are true and false:

  • true: Elastic Transcoder uses the value of KeyframesMaxDist for the distance between key frames (the number of frames in a group of pictures, or GOP).

  • false: The distance between key frames can vary.

FixedGOP must be set to true for fmp4 containers.

" }, "BitRate":{ "shape":"VideoBitRate", - "documentation":"

The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of Level and Profile. If you specify auto, Elastic Transcoder uses the detected bit rate of the input source. If you specify a value other than auto, we recommend that you specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:

Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in kilobits/second (high Profile)

  • 1 - 64 : 80
  • 1b - 128 : 160
  • 1.1 - 192 : 240
  • 1.2 - 384 : 480
  • 1.3 - 768 : 960
  • 2 - 2000 : 2500
  • 3 - 10000 : 12500
  • 3.1 - 14000 : 17500
  • 3.2 - 20000 : 25000
  • 4 - 20000 : 25000
  • 4.1 - 50000 : 62500
" + "documentation":"

The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of Level and Profile. If you specify auto, Elastic Transcoder uses the detected bit rate of the input source. If you specify a value other than auto, we recommend that you specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:

Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in kilobits/second (high Profile)

  • 1 - 64 : 80

  • 1b - 128 : 160

  • 1.1 - 192 : 240

  • 1.2 - 384 : 480

  • 1.3 - 768 : 960

  • 2 - 2000 : 2500

  • 3 - 10000 : 12500

  • 3.1 - 14000 : 17500

  • 3.2 - 20000 : 25000

  • 4 - 20000 : 25000

  • 4.1 - 50000 : 62500

" }, "FrameRate":{ "shape":"FrameRate", - "documentation":"

The frames per second for the video stream in the output file. Valid values include:

auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify auto, Elastic Transcoder uses the detected frame rate of the input source. If you specify a frame rate, we recommend that you perform the following calculation:

Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)

where:

  • width in pixels and height in pixels represent the Resolution of the output video.
  • maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value listed in the following table, based on the value that you specified for Level.

The maximum recommended decoding speed in Luma samples/second for each level is described in the following list (Level - Decoding speed):

  • 1 - 380160
  • 1b - 380160
  • 1.1 - 76800
  • 1.2 - 1536000
  • 1.3 - 3041280
  • 2 - 3041280
  • 2.1 - 5068800
  • 2.2 - 5184000
  • 3 - 10368000
  • 3.1 - 27648000
  • 3.2 - 55296000
  • 4 - 62914560
  • 4.1 - 62914560
" + "documentation":"

The frames per second for the video stream in the output file. Valid values include:

auto, 10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify auto, Elastic Transcoder uses the detected frame rate of the input source. If you specify a frame rate, we recommend that you perform the following calculation:

Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)

where:

  • width in pixels and height in pixels represent the Resolution of the output video.

  • maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value listed in the following table, based on the value that you specified for Level.

The maximum recommended decoding speed in Luma samples/second for each level is described in the following list (Level - Decoding speed):

  • 1 - 380160

  • 1b - 380160

  • 1.1 - 76800

  • 1.2 - 1536000

  • 1.3 - 3041280

  • 2 - 3041280

  • 2.1 - 5068800

  • 2.2 - 5184000

  • 3 - 10368000

  • 3.1 - 27648000

  • 3.2 - 55296000

  • 4 - 62914560

  • 4.1 - 62914560

" }, "MaxFrameRate":{ "shape":"MaxFrameRate", @@ -2209,11 +2261,11 @@ }, "Resolution":{ "shape":"Resolution", - "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of the video in the output file, in pixels. Valid values are auto and width x height:

  • auto: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the following rules.
  • width x height: The width and height of the output video in pixels.

Note the following about specifying the width and height:

  • The width must be an even integer between 128 and 4096, inclusive.
  • The height must be an even integer between 96 and 3072, inclusive.
  • If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the output file to the lower resolution.
  • If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales the output to the higher resolution.
  • We recommend that you specify a resolution for which the product of width and height is less than or equal to the applicable value in the following list (List - Max width x height value):
    • 1 - 25344
    • 1b - 25344
    • 1.1 - 101376
    • 1.2 - 101376
    • 1.3 - 101376
    • 2 - 101376
    • 2.1 - 202752
    • 2.2 - 404720
    • 3 - 404720
    • 3.1 - 921600
    • 3.2 - 1310720
    • 4 - 2097152
    • 4.1 - 2097152
" + "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The width and height of the video in the output file, in pixels. Valid values are auto and width x height:

  • auto: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the following rules.

  • width x height : The width and height of the output video in pixels.

Note the following about specifying the width and height:

  • The width must be an even integer between 128 and 4096, inclusive.

  • The height must be an even integer between 96 and 3072, inclusive.

  • If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the output file to the lower resolution.

  • If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales the output to the higher resolution.

  • We recommend that you specify a resolution for which the product of width and height is less than or equal to the applicable value in the following list (List - Max width x height value):

    • 1 - 25344

    • 1b - 25344

    • 1.1 - 101376

    • 1.2 - 101376

    • 1.3 - 101376

    • 2 - 101376

    • 2.1 - 202752

    • 2.2 - 404720

    • 3 - 404720

    • 3.1 - 921600

    • 3.2 - 1310720

    • 4 - 2097152

    • 4.1 - 2097152

" }, "AspectRatio":{ "shape":"AspectRatio", - "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The display aspect ratio of the video in the output file. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the input file.

If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to maintain the aspect ratio of the active region of the video.

" + "documentation":"

To better control resolution and aspect ratio of output videos, we recommend that you use the values MaxWidth, MaxHeight, SizingPolicy, PaddingPolicy, and DisplayAspectRatio instead of Resolution and AspectRatio. The two groups of settings are mutually exclusive. Do not use them together.

The display aspect ratio of the video in the output file. Valid values include:

auto, 1:1, 4:3, 3:2, 16:9

If you specify auto, Elastic Transcoder tries to preserve the aspect ratio of the input file.

If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to maintain the aspect ratio of the active region of the video.

" }, "MaxWidth":{ "shape":"DigitsOrAuto", @@ -2229,7 +2281,7 @@ }, "SizingPolicy":{ "shape":"SizingPolicy", - "documentation":"

Specify one of the following values to control scaling of the output video:

  • Fit: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.
  • Fill: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output video and then crops it in the dimension (if any) that exceeds the maximum value.
  • Stretch: Elastic Transcoder stretches the output video to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input video and the output video are different, the output video will be distorted.
  • Keep: Elastic Transcoder does not scale the output video. If either dimension of the input video exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output video.
  • ShrinkToFit: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the video up.
  • ShrinkToFill: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the video up.

" + "documentation":"

Specify one of the following values to control scaling of the output video:

  • Fit: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output video so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output video and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output video to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input video and the output video are different, the output video will be distorted.

  • Keep: Elastic Transcoder does not scale the output video. If either dimension of the input video exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output video.

  • ShrinkToFit: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the video up.

  • ShrinkToFill: Elastic Transcoder scales the output video down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the video up.

" }, "PaddingPolicy":{ "shape":"PaddingPolicy", @@ -2251,7 +2303,7 @@ }, "Message":{ "shape":"String", - "documentation":"

The message explaining what resources are in a different region from the pipeline.

Note: AWS KMS keys must be in the same region as the pipeline.

" + "documentation":"

The message explaining what resources are in a different region from the pipeline.

AWS KMS keys must be in the same region as the pipeline.

" } }, "documentation":"

Elastic Transcoder returns a warning if the resources used by your pipeline are not in the same region as the pipeline.

Using resources in the same region, such as your Amazon S3 buckets, Amazon SNS notification topics, and AWS KMS key, reduces processing time and prevents cross-regional charges.

" diff -Nru python-botocore-1.4.70/botocore/data/elb/2012-06-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/examples-1.json --- python-botocore-1.4.70/botocore/data/elb/2012-06-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1036 @@ +{ + "version": "1.0", + "examples": { + "AddTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ], + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds two tags to the specified load balancer.", + "id": "elb-add-tags-1", + "title": "To add tags to a load balancer" + } + ], + "ApplySecurityGroupsToLoadBalancer": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-fc448899" + ] + }, + "output": { + "SecurityGroups": [ + "sg-fc448899" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates a security group with the specified load balancer in a VPC.", + "id": "elb-apply-security-groups-to-load-balancer-1", + "title": "To associate a security group with a load balancer in a VPC" + } + ], + "AttachLoadBalancerToSubnets": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "Subnets": [ + "subnet-0ecac448" + ] + }, + "output": { + "Subnets": [ + "subnet-15aaab61", + "subnet-0ecac448" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified subnet to the set of configured subnets for the specified load balancer.", + "id": "elb-attach-load-balancer-to-subnets-1", + "title": "To attach subnets to a load balancer" + } + ], + "ConfigureHealthCheck": [ + { + "input": { + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example specifies the health check settings used to evaluate the health of your backend EC2 instances.", + "id": "elb-configure-health-check-1", + "title": "To specify the health check settings for your backend EC2 instances" + } + ], + "CreateAppCookieStickinessPolicy": [ + { + "input": { + "CookieName": "my-app-cookie", + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-app-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example generates a stickiness policy that follows the sticky session lifetimes of the application-generated cookie.", + "id": "elb-create-app-cookie-stickiness-policy-1", + "title": "To generate a stickiness policy for your load balancer" + } + ], + "CreateLBCookieStickinessPolicy": [ + { + "input": { + "CookieExpirationPeriod": 60, + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-duration-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example generates a stickiness policy with sticky session lifetimes controlled by the specified expiration period.", + "id": "elb-create-lb-cookie-stickiness-policy-1", + "title": "To generate a duration-based stickiness policy for your load balancer" + } + ], + "CreateLoadBalancer": [ + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTP listener in a VPC.", + "id": "elb-create-load-balancer-1", + "title": "To create an HTTP load balancer in a VPC" + }, + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "DNSName": "my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTP listener in EC2-Classic.", + "id": "elb-create-load-balancer-2", + "title": "To create an HTTP load balancer in EC2-Classic" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTPS listener in a VPC.", + "id": "elb-create-load-balancer-3", + "title": "To create an HTTPS load balancer in a VPC" + }, + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "DNSName": "my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a load balancer with an HTTPS listener in EC2-Classic.", + "id": "elb-create-load-balancer-4", + "title": "To create an HTTPS load balancer in EC2-Classic" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + "sg-a61988c3" + ], + "Subnets": [ + "subnet-15aaab61" + ] + }, + "output": { + "DNSName": "internal-my-load-balancer-123456789.us-west-2.elb.amazonaws.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an internal load balancer with an HTTP listener in a VPC.", + "id": "elb-create-load-balancer-5", + "title": "To create an internal load balancer" + } + ], + "CreateLoadBalancerListeners": [ + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a listener for your load balancer at port 80 using the HTTP protocol.", + "id": "elb-create-load-balancer-listeners-1", + "title": "To create an HTTP listener for a load balancer" + }, + { + "input": { + "Listeners": [ + { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a listener for your load balancer at port 443 using the HTTPS protocol.", + "id": "elb-create-load-balancer-listeners-2", + "title": "To create an HTTPS listener for a load balancer" + } + ], + "CreateLoadBalancerPolicy": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "ProxyProtocol", + "AttributeValue": "true" + } + ], + "PolicyName": "my-ProxyProtocol-policy", + "PolicyTypeName": "ProxyProtocolPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a policy that enables Proxy Protocol on the specified load balancer.", + "id": "elb-create-load-balancer-policy-1", + "title": "To create a policy that enables Proxy Protocol on a load balancer" + }, + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "PublicKey", + "AttributeValue": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwAYUjnfyEyXr1pxjhFWBpMlggUcqoi3kl+dS74kj//c6x7ROtusUaeQCTgIUkayttRDWchuqo1pHC1u+n5xxXnBBe2ejbb2WRsKIQ5rXEeixsjFpFsojpSQKkzhVGI6mJVZBJDVKSHmswnwLBdofLhzvllpovBPTHe+o4haAWvDBALJU0pkSI1FecPHcs2hwxf14zHoXy1e2k36A64nXW43wtfx5qcVSIxtCEOjnYRg7RPvybaGfQ+v6Iaxb/+7J5kEvZhTFQId+bSiJImF1FSUT1W1xwzBZPUbcUkkXDj45vC2s3Z8E+Lk7a3uZhvsQHLZnrfuWjBWGWvZ/MhZYgEXAMPLE" + } + ], + "PolicyName": "my-PublicKey-policy", + "PolicyTypeName": "PublicKeyPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a public key policy.", + "id": "elb-create-load-balancer-policy-2", + "title": "To create a public key policy" + }, + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyAttributes": [ + { + "AttributeName": "PublicKeyPolicyName", + "AttributeValue": "my-PublicKey-policy" + } + ], + "PolicyName": "my-authentication-policy", + "PolicyTypeName": "BackendServerAuthenticationPolicyType" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a backend server authentication policy that enables authentication on your backend instance using a public key policy.", + "id": "elb-create-load-balancer-policy-3", + "title": "To create a backend server authentication policy" + } + ], + "DeleteLoadBalancer": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified load balancer.", + "id": "elb-delete-load-balancer-1", + "title": "To delete a load balancer" + } + ], + "DeleteLoadBalancerListeners": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPorts": [ + 80 + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the listener for the specified port from the specified load balancer.", + "id": "elb-delete-load-balancer-listeners-1", + "title": "To delete a listener from your load balancer" + } + ], + "DeleteLoadBalancerPolicy": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyName": "my-duration-cookie-policy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified policy from the specified load balancer. The policy must not be enabled on any listener.", + "id": "elb-delete-load-balancer-policy-1", + "title": "To delete a policy from your load balancer" + } + ], + "DeregisterInstancesFromLoadBalancer": [ + { + "input": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "Instances": [ + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters the specified instance from the specified load balancer.", + "id": "elb-deregister-instances-from-load-balancer-1", + "title": "To deregister instances from a load balancer" + } + ], + "DescribeInstanceHealth": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "InstanceStates": [ + { + "Description": "N/A", + "InstanceId": "i-207d9717", + "ReasonCode": "N/A", + "State": "InService" + }, + { + "Description": "N/A", + "InstanceId": "i-afefb49b", + "ReasonCode": "N/A", + "State": "InService" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the instances for the specified load balancer.", + "id": "elb-describe-instance-health-1", + "title": "To describe the health of the instances for a load balancer" + } + ], + "DescribeLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "AccessLog": { + "Enabled": false + }, + "ConnectionDraining": { + "Enabled": false, + "Timeout": 300 + }, + "ConnectionSettings": { + "IdleTimeout": 60 + }, + "CrossZoneLoadBalancing": { + "Enabled": false + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified load balancer.", + "id": "elb-describe-load-balancer-attributes-1", + "title": "To describe the attributes of a load balancer" + } + ], + "DescribeLoadBalancerPolicies": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "PolicyNames": [ + "my-authentication-policy" + ] + }, + "output": { + "PolicyDescriptions": [ + { + "PolicyAttributeDescriptions": [ + { + "AttributeName": "PublicKeyPolicyName", + "AttributeValue": "my-PublicKey-policy" + } + ], + "PolicyName": "my-authentication-policy", + "PolicyTypeName": "BackendServerAuthenticationPolicyType" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified policy associated with the specified load balancer.", + "id": "elb-describe-load-balancer-policies-1", + "title": "To describe a policy associated with a load balancer" + } + ], + "DescribeLoadBalancerPolicyTypes": [ + { + "input": { + "PolicyTypeNames": [ + "ProxyProtocolPolicyType" + ] + }, + "output": { + "PolicyTypeDescriptions": [ + { + "Description": "Policy that controls whether to include the IP address and port of the originating request for TCP messages. This policy operates on TCP listeners only.", + "PolicyAttributeTypeDescriptions": [ + { + "AttributeName": "ProxyProtocol", + "AttributeType": "Boolean", + "Cardinality": "ONE" + } + ], + "PolicyTypeName": "ProxyProtocolPolicyType" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer policy type.", + "id": "elb-describe-load-balancer-policy-types-1", + "title": "To describe a load balancer policy type defined by Elastic Load Balancing" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "output": { + "LoadBalancerDescriptions": [ + { + "AvailabilityZones": [ + "us-west-2a" + ], + "BackendServerDescriptions": [ + { + "InstancePort": 80, + "PolicyNames": [ + "my-ProxyProtocol-policy" + ] + } + ], + "CanonicalHostedZoneName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", + "CanonicalHostedZoneNameID": "Z3DZXE0EXAMPLE", + "CreatedTime": "2015-03-19T03:24:02.650Z", + "DNSName": "my-load-balancer-1234567890.us-west-2.elb.amazonaws.com", + "HealthCheck": { + "HealthyThreshold": 2, + "Interval": 30, + "Target": "HTTP:80/png", + "Timeout": 3, + "UnhealthyThreshold": 2 + }, + "Instances": [ + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ], + "ListenerDescriptions": [ + { + "Listener": { + "InstancePort": 80, + "InstanceProtocol": "HTTP", + "LoadBalancerPort": 80, + "Protocol": "HTTP" + }, + "PolicyNames": [ + + ] + }, + { + "Listener": { + "InstancePort": 443, + "InstanceProtocol": "HTTPS", + "LoadBalancerPort": 443, + "Protocol": "HTTPS", + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + }, + "PolicyNames": [ + "ELBSecurityPolicy-2015-03" + ] + } + ], + "LoadBalancerName": "my-load-balancer", + "Policies": { + "AppCookieStickinessPolicies": [ + + ], + "LBCookieStickinessPolicies": [ + { + "CookieExpirationPeriod": 60, + "PolicyName": "my-duration-cookie-policy" + } + ], + "OtherPolicies": [ + "my-PublicKey-policy", + "my-authentication-policy", + "my-SSLNegotiation-policy", + "my-ProxyProtocol-policy", + "ELBSecurityPolicy-2015-03" + ] + }, + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-a61988c3" + ], + "SourceSecurityGroup": { + "GroupName": "my-elb-sg", + "OwnerAlias": "123456789012" + }, + "Subnets": [ + "subnet-15aaab61" + ], + "VPCId": "vpc-a01106c2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer.", + "id": "elb-describe-load-balancers-1", + "title": "To describe one of your load balancers" + } + ], + "DescribeTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ] + }, + "output": { + "TagDescriptions": [ + { + "LoadBalancerName": "my-load-balancer", + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags for the specified load balancer.", + "id": "elb-describe-tags-1", + "title": "To describe the tags for a load balancer" + } + ], + "DetachLoadBalancerFromSubnets": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "Subnets": [ + "subnet-0ecac448" + ] + }, + "output": { + "Subnets": [ + "subnet-15aaab61" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example detaches the specified load balancer from the specified subnet.", + "id": "elb-detach-load-balancer-from-subnets-1", + "title": "To detach a load balancer from a subnet" + } + ], + "DisableAvailabilityZonesForLoadBalancer": [ + { + "input": { + "AvailabilityZones": [ + "us-west-2a" + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "AvailabilityZones": [ + "us-west-2b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified Availability Zone from the set of Availability Zones for the specified load balancer.", + "id": "elb-disable-availability-zones-for-load-balancer-1", + "title": "To disable an Availability Zone for a load balancer" + } + ], + "EnableAvailabilityZonesForLoadBalancer": [ + { + "input": { + "AvailabilityZones": [ + "us-west-2b" + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "AvailabilityZones": [ + "us-west-2a", + "us-west-2b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified Availability Zone to the specified load balancer.", + "id": "elb-enable-availability-zones-for-load-balancer-1", + "title": "To enable an Availability Zone for a load balancer" + } + ], + "ModifyLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerAttributes": { + "CrossZoneLoadBalancing": { + "Enabled": true + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "CrossZoneLoadBalancing": { + "Enabled": true + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables cross-zone load balancing for the specified load balancer.", + "id": "elb-modify-load-balancer-attributes-1", + "title": "To enable cross-zone load balancing" + }, + { + "input": { + "LoadBalancerAttributes": { + "ConnectionDraining": { + "Enabled": true, + "Timeout": 300 + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "LoadBalancerAttributes": { + "ConnectionDraining": { + "Enabled": true, + "Timeout": 300 + } + }, + "LoadBalancerName": "my-load-balancer" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables connection draining for the specified load balancer.", + "id": "elb-modify-load-balancer-attributes-2", + "title": "To enable connection draining" + } + ], + "RegisterInstancesWithLoadBalancer": [ + { + "input": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + } + ], + "LoadBalancerName": "my-load-balancer" + }, + "output": { + "Instances": [ + { + "InstanceId": "i-d6f6fae3" + }, + { + "InstanceId": "i-207d9717" + }, + { + "InstanceId": "i-afefb49b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instance with the specified load balancer.", + "id": "elb-register-instances-with-load-balancer-1", + "title": "To register instances with a load balancer" + } + ], + "RemoveTags": [ + { + "input": { + "LoadBalancerNames": [ + "my-load-balancer" + ], + "Tags": [ + { + "Key": "project" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tag from the specified load balancer.", + "id": "elb-remove-tags-1", + "title": "To remove tags from a load balancer" + } + ], + "SetLoadBalancerListenerSSLCertificate": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPort": 443, + "SSLCertificateId": "arn:aws:iam::123456789012:server-certificate/new-server-cert" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the existing SSL certificate for the specified HTTPS listener.", + "id": "elb-set-load-balancer-listener-ssl-certificate-1", + "title": "To update the SSL certificate for an HTTPS listener" + } + ], + "SetLoadBalancerPoliciesForBackendServer": [ + { + "input": { + "InstancePort": 80, + "LoadBalancerName": "my-load-balancer", + "PolicyNames": [ + "my-ProxyProtocol-policy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the policies that are currently associated with the specified port.", + "id": "elb-set-load-balancer-policies-for-backend-server-1", + "title": "To replace the policies associated with a port for a backend instance" + } + ], + "SetLoadBalancerPoliciesOfListener": [ + { + "input": { + "LoadBalancerName": "my-load-balancer", + "LoadBalancerPort": 80, + "PolicyNames": [ + "my-SSLNegotiation-policy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example replaces the policies that are currently associated with the specified listener.", + "id": "elb-set-load-balancer-policies-of-listener-1", + "title": "To replace the policies associated with a listener" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/elb/2012-06-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/elb/2012-06-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,12 @@ "output_token": "NextMarker", "result_key": "LoadBalancerDescriptions", "limit_key": "PageSize" + }, + "DescribeAccountLimits": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Limits" } } } diff -Nru python-botocore-1.4.70/botocore/data/elb/2012-06-01/service-2.json python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/service-2.json --- python-botocore-1.4.70/botocore/data/elb/2012-06-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"elasticloadbalancing", "protocol":"query", "serviceFullName":"Elastic Load Balancing", + "serviceId":"Elastic Load Balancing", "signatureVersion":"v4", + "uid":"elasticloadbalancing-2012-06-01", "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2012-06-01/" }, "operations":{ @@ -140,9 +142,10 @@ {"shape":"InvalidSchemeException"}, {"shape":"TooManyTagsException"}, {"shape":"DuplicateTagKeysException"}, - {"shape":"UnsupportedProtocolException"} + {"shape":"UnsupportedProtocolException"}, + {"shape":"OperationNotPermittedException"} ], - "documentation":"

Creates a Classic load balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + "documentation":"

Creates a Classic Load Balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using CreateLoadBalancerListeners, ApplySecurityGroupsToLoadBalancer, AttachLoadBalancerToSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" }, "CreateLoadBalancerListeners":{ "name":"CreateLoadBalancerListeners", @@ -247,6 +250,19 @@ ], "documentation":"

Deregisters the specified instances from the specified load balancer. After the instance is deregistered, it no longer receives traffic from the load balancer.

You can use DescribeLoadBalancers to verify that the instance is deregistered from the load balancer.

For more information, see Register or De-Register EC2 Instances in the Classic Load Balancers Guide.

" }, + "DescribeAccountLimits":{ + "name":"DescribeAccountLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountLimitsInput"}, + "output":{ + "shape":"DescribeAccountLimitsOutput", + "resultWrapper":"DescribeAccountLimitsResult" + }, + "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

" + }, "DescribeInstanceHealth":{ "name":"DescribeInstanceHealth", "http":{ @@ -379,7 +395,7 @@ {"shape":"AccessPointNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" + "documentation":"

Removes the specified Availability Zones from the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.

For load balancers in a non-default VPC, use DetachLoadBalancerFromSubnets.

There must be at least one Availability Zone registered with a load balancer at all times. After an Availability Zone is removed, all instances registered with the load balancer that are in the removed Availability Zone go into the OutOfService state. Then, the load balancer attempts to equally balance the traffic among its remaining Availability Zones.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" }, "EnableAvailabilityZonesForLoadBalancer":{ "name":"EnableAvailabilityZonesForLoadBalancer", @@ -395,7 +411,7 @@ "errors":[ {"shape":"AccessPointNotFoundException"} ], - "documentation":"

Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer.

The load balancer evenly distributes requests across all its registered Availability Zones that contain instances.

For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" + "documentation":"

Adds the specified Availability Zones to the set of Availability Zones for the specified load balancer in EC2-Classic or a default VPC.

For load balancers in a non-default VPC, use AttachLoadBalancerToSubnets.

The load balancer evenly distributes requests across all its registered Availability Zones that contain instances. For more information, see Add or Remove Availability Zones in the Classic Load Balancers Guide.

" }, "ModifyLoadBalancerAttributes":{ "name":"ModifyLoadBalancerAttributes", @@ -1045,6 +1061,7 @@ "type":"structure", "members":{ }, + "documentation":"

A request made by Elastic Load Balancing to another service exceeds the maximum request rate permitted for your account.

", "error":{ "code":"DependencyThrottle", "httpStatusCode":400, @@ -1112,6 +1129,32 @@ }, "documentation":"

Contains the parameters for DescribeLoadBalancers.

" }, + "DescribeAccountLimitsInput":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" + } + } + }, + "DescribeAccountLimitsOutput":{ + "type":"structure", + "members":{ + "Limits":{ + "shape":"Limits", + "documentation":"

Information about the limits.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + } + } + }, "DescribeEndPointStateInput":{ "type":"structure", "required":["LoadBalancerName"], @@ -1479,6 +1522,24 @@ }, "documentation":"

Information about a policy for duration-based session stickiness.

" }, + "Limit":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the limit. The possible values are:

  • classic-listeners

  • classic-load-balancers

  • classic-registered-instances

" + }, + "Max":{ + "shape":"Max", + "documentation":"

The maximum value of the limit.

" + } + }, + "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" + }, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, "Listener":{ "type":"structure", "required":[ @@ -1513,7 +1574,10 @@ "ListenerDescription":{ "type":"structure", "members":{ - "Listener":{"shape":"Listener"}, + "Listener":{ + "shape":"Listener", + "documentation":"

The listener.

" + }, "PolicyNames":{ "shape":"PolicyNames", "documentation":"

The policies. If there are no policies enabled, the list is empty.

" @@ -1665,6 +1729,7 @@ }, "LoadBalancerScheme":{"type":"string"}, "Marker":{"type":"string"}, + "Max":{"type":"string"}, "ModifyLoadBalancerAttributesInput":{ "type":"structure", "required":[ @@ -1678,7 +1743,7 @@ }, "LoadBalancerAttributes":{ "shape":"LoadBalancerAttributes", - "documentation":"

The attributes of the load balancer.

" + "documentation":"

The attributes for the load balancer.

" } }, "documentation":"

Contains the parameters for ModifyLoadBalancerAttributes.

" @@ -1690,10 +1755,26 @@ "shape":"AccessPointName", "documentation":"

The name of the load balancer.

" }, - "LoadBalancerAttributes":{"shape":"LoadBalancerAttributes"} + "LoadBalancerAttributes":{ + "shape":"LoadBalancerAttributes", + "documentation":"

Information about the load balancer attributes.

" + } }, "documentation":"

Contains the output of ModifyLoadBalancerAttributes.

" }, + "Name":{"type":"string"}, + "OperationNotPermittedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This operation is not allowed.

", + "error":{ + "code":"OperationNotPermitted", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PageSize":{ "type":"integer", "max":400, @@ -2185,6 +2266,7 @@ "type":"structure", "members":{ }, + "documentation":"

The specified protocol or signature version is not supported.

", "error":{ "code":"UnsupportedProtocol", "httpStatusCode":400, @@ -2194,5 +2276,5 @@ }, "VPCId":{"type":"string"} }, - "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports two types of load balancers: Classic load balancers and Application load balancers (new). A Classic load balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application load balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the .

This reference covers the 2012-06-01 API, which supports Classic load balancers. The 2015-12-01 API supports Application load balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

" + "documentation":"Elastic Load Balancing

A load balancer can distribute incoming traffic across your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered instances and ensures that it routes traffic only to healthy instances. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer and a protocol and port number for connections from the load balancer to the instances.

Elastic Load Balancing supports three types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. You can select a load balancer based on your application needs. For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2012-06-01 API, which supports Classic Load Balancers. The 2015-12-01 API supports Application Load Balancers and Network Load Balancers.

To get started, create a load balancer with one or more listeners using CreateLoadBalancer. Register your instances with the load balancer using RegisterInstancesWithLoadBalancer.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds with a 200 OK response code.

" } diff -Nru python-botocore-1.4.70/botocore/data/elb/2012-06-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/elb/2012-06-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elb/2012-06-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,54 @@ +{ + "version":2, + "waiters":{ + "InstanceDeregistered": { + "delay": 15, + "operation": "DescribeInstanceHealth", + "maxAttempts": 40, + "acceptors": [ + { + "expected": "OutOfService", + "matcher": "pathAll", + "state": "success", + "argument": "InstanceStates[].State" + }, + { + "matcher": "error", + "expected": "InvalidInstance", + "state": "success" + } + ] + }, + "AnyInstanceInService":{ + "acceptors":[ + { + "argument":"InstanceStates[].State", + "expected":"InService", + "matcher":"pathAny", + "state":"success" + } + ], + "delay":15, + "maxAttempts":40, + "operation":"DescribeInstanceHealth" + }, + "InstanceInService":{ + "acceptors":[ + { + "argument":"InstanceStates[].State", + "expected":"InService", + "matcher":"pathAll", + "state":"success" + }, + { + "matcher": "error", + "expected": "InvalidInstance", + "state": "retry" + } + ], + "delay":15, + "maxAttempts":40, + "operation":"DescribeInstanceHealth" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/examples-1.json --- python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1384 @@ +{ + "version": "1.0", + "examples": { + "AddTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified tags to the specified load balancer.", + "id": "elbv2-add-tags-1", + "title": "To add tags to a load balancer" + } + ], + "CreateListener": [ + { + "input": { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an HTTP listener for the specified load balancer that forwards requests to the specified target group.", + "id": "elbv2-create-listener-1", + "title": "To create an HTTP listener" + }, + { + "input": { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + }, + "output": { + "Listeners": [ + { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an HTTPS listener for the specified load balancer that forwards requests to the specified target group. Note that you must specify an SSL certificate for an HTTPS listener. You can create and manage certificates using AWS Certificate Manager (ACM). Alternatively, you can create a certificate using SSL/TLS tools, get the certificate signed by a certificate authority (CA), and upload the certificate to AWS Identity and Access Management (IAM).", + "id": "elbv2-create-listener-2", + "title": "To create an HTTPS listener" + } + ], + "CreateLoadBalancer": [ + { + "input": { + "Name": "my-load-balancer", + "Subnets": [ + "subnet-b7d581c0", + "subnet-8360a9e7" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:26:12.920Z", + "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "LoadBalancerName": "my-load-balancer", + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "provisioning" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an Internet-facing load balancer and enables the Availability Zones for the specified subnets.", + "id": "elbv2-create-load-balancer-1", + "title": "To create an Internet-facing load balancer" + }, + { + "input": { + "Name": "my-internal-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + + ], + "Subnets": [ + "subnet-b7d581c0", + "subnet-8360a9e7" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:29:48.850Z", + "DNSName": "internal-my-internal-load-balancer-1529930873.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-internal-load-balancer/5b49b8d4303115c2", + "LoadBalancerName": "my-internal-load-balancer", + "Scheme": "internal", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "provisioning" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an internal load balancer and enables the Availability Zones for the specified subnets.", + "id": "elbv2-create-load-balancer-2", + "title": "To create an internal load balancer" + } + ], + "CreateRule": [ + { + "input": { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "Priority": 10 + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a rule that forwards requests to the specified target group if the URL contains the specified pattern (for example, /img/*).", + "id": "elbv2-create-rule-1", + "title": "To create a rule" + } + ], + "CreateTargetGroup": [ + { + "input": { + "Name": "my-targets", + "Port": 80, + "Protocol": "HTTP", + "VpcId": "vpc-3ac0fb5f" + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPath": "/", + "HealthCheckPort": "traffic-port", + "HealthCheckProtocol": "HTTP", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "Matcher": { + "HttpCode": "200" + }, + "Port": 80, + "Protocol": "HTTP", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "TargetGroupName": "my-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a target group that you can use to route traffic to targets using HTTP on port 80. This target group uses the default health check configuration.", + "id": "elbv2-create-target-group-1", + "title": "To create a target group" + } + ], + "DeleteListener": [ + { + "input": { + "ListenerArn": "arn:aws:elasticloadbalancing:ua-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified listener.", + "id": "elbv2-delete-listener-1", + "title": "To delete a listener" + } + ], + "DeleteLoadBalancer": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified load balancer.", + "id": "elbv2-delete-load-balancer-1", + "title": "To delete a load balancer" + } + ], + "DeleteRule": [ + { + "input": { + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified rule.", + "id": "elbv2-delete-rule-1", + "title": "To delete a rule" + } + ], + "DeleteTargetGroup": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified target group.", + "id": "elbv2-delete-target-group-1", + "title": "To delete a target group" + } + ], + "DeregisterTargets": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-0f76fade" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deregisters the specified instance from the specified target group.", + "id": "elbv2-deregister-targets-1", + "title": "To deregister a target from a target group" + } + ], + "DescribeListeners": [ + { + "input": { + "ListenerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + ] + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified listener.", + "id": "elbv2-describe-listeners-1", + "title": "To describe a listener" + } + ], + "DescribeLoadBalancerAttributes": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "deletion_protection.enabled", + "Value": "false" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified load balancer.", + "id": "elbv2-describe-load-balancer-attributes-1", + "title": "To describe load balancer attributes" + } + ], + "DescribeLoadBalancers": [ + { + "input": { + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ] + }, + "output": { + "LoadBalancers": [ + { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ], + "CanonicalHostedZoneId": "Z2P70J7EXAMPLE", + "CreatedTime": "2016-03-25T21:26:12.920Z", + "DNSName": "my-load-balancer-424835706.us-west-2.elb.amazonaws.com", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "LoadBalancerName": "my-load-balancer", + "Scheme": "internet-facing", + "SecurityGroups": [ + "sg-5943793c" + ], + "State": { + "Code": "active" + }, + "Type": "application", + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified load balancer.", + "id": "elbv2-describe-load-balancers-1", + "title": "To describe a load balancer" + } + ], + "DescribeRules": [ + { + "input": { + "RuleArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + ] + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified rule.", + "id": "elbv2-describe-rules-1", + "title": "To describe a rule" + } + ], + "DescribeSSLPolicies": [ + { + "input": { + "Names": [ + "ELBSecurityPolicy-2015-05" + ] + }, + "output": { + "SslPolicies": [ + { + "Ciphers": [ + { + "Name": "ECDHE-ECDSA-AES128-GCM-SHA256", + "Priority": 1 + }, + { + "Name": "ECDHE-RSA-AES128-GCM-SHA256", + "Priority": 2 + }, + { + "Name": "ECDHE-ECDSA-AES128-SHA256", + "Priority": 3 + }, + { + "Name": "ECDHE-RSA-AES128-SHA256", + "Priority": 4 + }, + { + "Name": "ECDHE-ECDSA-AES128-SHA", + "Priority": 5 + }, + { + "Name": "ECDHE-RSA-AES128-SHA", + "Priority": 6 + }, + { + "Name": "DHE-RSA-AES128-SHA", + "Priority": 7 + }, + { + "Name": "ECDHE-ECDSA-AES256-GCM-SHA384", + "Priority": 8 + }, + { + "Name": "ECDHE-RSA-AES256-GCM-SHA384", + "Priority": 9 + }, + { + "Name": "ECDHE-ECDSA-AES256-SHA384", + "Priority": 10 + }, + { + "Name": "ECDHE-RSA-AES256-SHA384", + "Priority": 11 + }, + { + "Name": "ECDHE-RSA-AES256-SHA", + "Priority": 12 + }, + { + "Name": "ECDHE-ECDSA-AES256-SHA", + "Priority": 13 + }, + { + "Name": "AES128-GCM-SHA256", + "Priority": 14 + }, + { + "Name": "AES128-SHA256", + "Priority": 15 + }, + { + "Name": "AES128-SHA", + "Priority": 16 + }, + { + "Name": "AES256-GCM-SHA384", + "Priority": 17 + }, + { + "Name": "AES256-SHA256", + "Priority": 18 + }, + { + "Name": "AES256-SHA", + "Priority": 19 + } + ], + "Name": "ELBSecurityPolicy-2015-05", + "SslProtocols": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified policy used for SSL negotiation.", + "id": "elbv2-describe-ssl-policies-1", + "title": "To describe a policy used for SSL negotiation" + } + ], + "DescribeTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ] + }, + "output": { + "TagDescriptions": [ + { + "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Tags": [ + { + "Key": "project", + "Value": "lima" + }, + { + "Key": "department", + "Value": "digital-media" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the tags assigned to the specified load balancer.", + "id": "elbv2-describe-tags-1", + "title": "To describe the tags assigned to a load balancer" + } + ], + "DescribeTargetGroupAttributes": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "Attributes": [ + { + "Key": "stickiness.enabled", + "Value": "false" + }, + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "300" + }, + { + "Key": "stickiness.type", + "Value": "lb_cookie" + }, + { + "Key": "stickiness.lb_cookie.duration_seconds", + "Value": "86400" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the attributes of the specified target group.", + "id": "elbv2-describe-target-group-attributes-1", + "title": "To describe target group attributes" + } + ], + "DescribeTargetGroups": [ + { + "input": { + "TargetGroupArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + ] + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPath": "/", + "HealthCheckPort": "traffic-port", + "HealthCheckProtocol": "HTTP", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Matcher": { + "HttpCode": "200" + }, + "Port": 80, + "Protocol": "HTTP", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "TargetGroupName": "my-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the specified target group.", + "id": "elbv2-describe-target-groups-1", + "title": "To describe a target group" + } + ], + "DescribeTargetHealth": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "TargetHealthDescriptions": [ + { + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "Description": "Given target group is not configured to receive traffic from ELB", + "Reason": "Target.NotInUse", + "State": "unused" + } + }, + { + "HealthCheckPort": "80", + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "State": "healthy" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the targets for the specified target group. One target is healthy but the other is not specified in an action, so it can't receive traffic from the load balancer.", + "id": "elbv2-describe-target-health-1", + "title": "To describe the health of the targets for a target group" + }, + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-0f76fade", + "Port": 80 + } + ] + }, + "output": { + "TargetHealthDescriptions": [ + { + "HealthCheckPort": "80", + "Target": { + "Id": "i-0f76fade", + "Port": 80 + }, + "TargetHealth": { + "State": "healthy" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example describes the health of the specified target. This target is healthy.", + "id": "elbv2-describe-target-health-2", + "title": "To describe the health of a target" + } + ], + "ModifyListener": [ + { + "input": { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2" + }, + "output": { + "Listeners": [ + { + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/2453ed029918f21f", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 80, + "Protocol": "HTTP" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the default action for the specified listener.", + "id": "elbv2-modify-listener-1", + "title": "To change the default action for a listener" + }, + { + "input": { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65" + }, + "output": { + "Listeners": [ + { + "Certificates": [ + { + "CertificateArn": "arn:aws:iam::123456789012:server-certificate/my-new-server-cert" + } + ], + "DefaultActions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "ListenerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65", + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Port": 443, + "Protocol": "HTTPS", + "SslPolicy": "ELBSecurityPolicy-2015-05" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the server certificate for the specified HTTPS listener.", + "id": "elbv2-modify-listener-2", + "title": "To change the server certificate" + } + ], + "ModifyLoadBalancerAttributes": [ + { + "input": { + "Attributes": [ + { + "Key": "deletion_protection.enabled", + "Value": "true" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "deletion_protection.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables deletion protection for the specified load balancer.", + "id": "elbv2-modify-load-balancer-attributes-1", + "title": "To enable deletion protection" + }, + { + "input": { + "Attributes": [ + { + "Key": "idle_timeout.timeout_seconds", + "Value": "30" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "idle_timeout.timeout_seconds", + "Value": "30" + }, + { + "Key": "access_logs.s3.enabled", + "Value": "false" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "" + }, + { + "Key": "deletion_protection.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the idle timeout value for the specified load balancer.", + "id": "elbv2-modify-load-balancer-attributes-2", + "title": "To change the idle timeout" + }, + { + "input": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "my-loadbalancer-logs" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "myapp" + } + ], + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + }, + "output": { + "Attributes": [ + { + "Key": "access_logs.s3.enabled", + "Value": "true" + }, + { + "Key": "access_logs.s3.bucket", + "Value": "my-load-balancer-logs" + }, + { + "Key": "access_logs.s3.prefix", + "Value": "myapp" + }, + { + "Key": "idle_timeout.timeout_seconds", + "Value": "60" + }, + { + "Key": "deletion_protection.enabled", + "Value": "false" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables access logs for the specified load balancer. Note that the S3 bucket must exist in the same region as the load balancer and must have a policy attached that grants access to the Elastic Load Balancing service.", + "id": "elbv2-modify-load-balancer-attributes-3", + "title": "To enable access logs" + } + ], + "ModifyRule": [ + { + "input": { + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/images/*" + ] + } + ], + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/images/*" + ] + } + ], + "IsDefault": false, + "Priority": "10", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/9683b2d02a6cabee" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example modifies the condition for the specified rule.", + "id": "elbv2-modify-rule-1", + "title": "To modify a rule" + } + ], + "ModifyTargetGroup": [ + { + "input": { + "HealthCheckPort": "443", + "HealthCheckProtocol": "HTTPS", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f" + }, + "output": { + "TargetGroups": [ + { + "HealthCheckIntervalSeconds": 30, + "HealthCheckPort": "443", + "HealthCheckProtocol": "HTTPS", + "HealthCheckTimeoutSeconds": 5, + "HealthyThresholdCount": 5, + "LoadBalancerArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "Matcher": { + "HttpCode": "200" + }, + "Port": 443, + "Protocol": "HTTPS", + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-https-targets/2453ed029918f21f", + "TargetGroupName": "my-https-targets", + "UnhealthyThresholdCount": 2, + "VpcId": "vpc-3ac0fb5f" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the configuration of the health checks used to evaluate the health of the targets for the specified target group.", + "id": "elbv2-modify-target-group-1", + "title": "To modify the health check configuration for a target group" + } + ], + "ModifyTargetGroupAttributes": [ + { + "input": { + "Attributes": [ + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "600" + } + ], + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067" + }, + "output": { + "Attributes": [ + { + "Key": "stickiness.enabled", + "Value": "false" + }, + { + "Key": "deregistration_delay.timeout_seconds", + "Value": "600" + }, + { + "Key": "stickiness.type", + "Value": "lb_cookie" + }, + { + "Key": "stickiness.lb_cookie.duration_seconds", + "Value": "86400" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the deregistration delay timeout to the specified value for the specified target group.", + "id": "elbv2-modify-target-group-attributes-1", + "title": "To modify the deregistration delay timeout" + } + ], + "RegisterTargets": [ + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Targets": [ + { + "Id": "i-80c8dd94" + }, + { + "Id": "i-ceddcd4d" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instances with the specified target group.", + "id": "elbv2-register-targets-1", + "title": "To register targets with a target group" + }, + { + "input": { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-new-targets/3bb63f11dfb0faf9", + "Targets": [ + { + "Id": "i-80c8dd94", + "Port": 80 + }, + { + "Id": "i-80c8dd94", + "Port": 766 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example registers the specified instance with the specified target group using multiple ports. This enables you to register ECS containers on the same instance as targets in the target group.", + "id": "elbv2-register-targets-2", + "title": "To register targets with a target group using port overrides" + } + ], + "RemoveTags": [ + { + "input": { + "ResourceArns": [ + "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188" + ], + "TagKeys": [ + "project", + "department" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tags from the specified load balancer.", + "id": "elbv2-remove-tags-1", + "title": "To remove tags from a load balancer" + } + ], + "SetRulePriorities": [ + { + "input": { + "RulePriorities": [ + { + "Priority": 5, + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + } + ] + }, + "output": { + "Rules": [ + { + "Actions": [ + { + "TargetGroupArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067", + "Type": "forward" + } + ], + "Conditions": [ + { + "Field": "path-pattern", + "Values": [ + "/img/*" + ] + } + ], + "IsDefault": false, + "Priority": "5", + "RuleArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener-rule/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2/1291d13826f405c3" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example sets the priority of the specified rule.", + "id": "elbv2-set-rule-priorities-1", + "title": "To set the rule priority" + } + ], + "SetSecurityGroups": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "SecurityGroups": [ + "sg-5943793c" + ] + }, + "output": { + "SecurityGroupIds": [ + "sg-5943793c" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example associates the specified security group with the specified load balancer.", + "id": "elbv2-set-security-groups-1", + "title": "To associate a security group with a load balancer" + } + ], + "SetSubnets": [ + { + "input": { + "LoadBalancerArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188", + "Subnets": [ + "subnet-8360a9e7", + "subnet-b7d581c0" + ] + }, + "output": { + "AvailabilityZones": [ + { + "SubnetId": "subnet-8360a9e7", + "ZoneName": "us-west-2a" + }, + { + "SubnetId": "subnet-b7d581c0", + "ZoneName": "us-west-2b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example enables the Availability Zones for the specified subnets for the specified load balancer.", + "id": "elbv2-set-subnets-1", + "title": "To enable Availability Zones for a load balancer" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -17,6 +17,30 @@ "output_token": "NextMarker", "limit_key": "PageSize", "result_key": "Listeners" + }, + "DescribeAccountLimits": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Limits" + }, + "DescribeListenerCertificates": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Certificates" + }, + "DescribeRules": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "Rules" + }, + "DescribeSSLPolicies": { + "input_token": "Marker", + "limit_key": "PageSize", + "output_token": "NextMarker", + "result_key": "SslPolicies" } } } diff -Nru python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,10 +6,30 @@ "protocol":"query", "serviceAbbreviation":"Elastic Load Balancing v2", "serviceFullName":"Elastic Load Balancing", + "serviceId":"Elastic Load Balancing v2", "signatureVersion":"v4", + "uid":"elasticloadbalancingv2-2015-12-01", "xmlNamespace":"http://elasticloadbalancing.amazonaws.com/doc/2015-12-01/" }, "operations":{ + "AddListenerCertificates":{ + "name":"AddListenerCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddListenerCertificatesInput"}, + "output":{ + "shape":"AddListenerCertificatesOutput", + "resultWrapper":"AddListenerCertificatesResult" + }, + "errors":[ + {"shape":"ListenerNotFoundException"}, + {"shape":"TooManyCertificatesException"}, + {"shape":"CertificateNotFoundException"} + ], + "documentation":"

Adds the specified SSL server certificate to the certificate list for the specified HTTPS or TLS listener.

If the certificate in already in the certificate list, the call is successful but the certificate is not added again.

To get the certificate list for a listener, use DescribeListenerCertificates. To remove certificates from the certificate list for a listener, use RemoveListenerCertificates. To replace the default certificate for a listener, use ModifyListener.

For more information, see SSL Certificates in the Application Load Balancers Guide.

" + }, "AddTags":{ "name":"AddTags", "http":{ @@ -27,7 +47,7 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"TargetGroupNotFoundException"} ], - "documentation":"

Adds the specified tags to the specified resource. You can tag your Application Load Balancers and your target groups.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.

" + "documentation":"

Adds the specified tags to the specified Elastic Load Balancing resource. You can tag your Application Load Balancers, Network Load Balancers, and your target groups.

Each tag consists of a key and an optional value. If a resource already has a tag with the same key, AddTags updates its value.

To list the current tags for your resources, use DescribeTags. To remove tags from your resources, use RemoveTags.

" }, "CreateListener":{ "name":"CreateListener", @@ -52,9 +72,14 @@ {"shape":"SSLPolicyNotFoundException"}, {"shape":"CertificateNotFoundException"}, {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"}, + {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"}, + {"shape":"ALPNPolicyNotSupportedException"} ], - "documentation":"

Creates a listener for the specified Application Load Balancer.

You can create up to 10 listeners per load balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide.

" + "documentation":"

Creates a listener for the specified Application Load Balancer or Network Load Balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple listeners with the same settings, each call succeeds.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

" }, "CreateLoadBalancer":{ "name":"CreateLoadBalancer", @@ -76,9 +101,13 @@ {"shape":"InvalidSecurityGroupException"}, {"shape":"InvalidSchemeException"}, {"shape":"TooManyTagsException"}, - {"shape":"DuplicateTagKeysException"} + {"shape":"DuplicateTagKeysException"}, + {"shape":"ResourceInUseException"}, + {"shape":"AllocationIdNotFoundException"}, + {"shape":"AvailabilityZoneNotSupportedException"}, + {"shape":"OperationNotPermittedException"} ], - "documentation":"

Creates an Application Load Balancer.

To create listeners for your load balancer, use CreateListener. You can add security groups, subnets, and tags when you create your load balancer, or you can add them later using SetSecurityGroups, SetSubnets, and AddTags.

To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide.

For more information, see Application Load Balancers in the Application Load Balancers Guide.

" + "documentation":"

Creates an Application Load Balancer or a Network Load Balancer.

When you create a load balancer, you can specify security groups, public subnets, IP address type, and tags. Otherwise, you could do so later using SetSecurityGroups, SetSubnets, SetIpAddressType, and AddTags.

To create listeners for your load balancer, use CreateListener. To describe your current load balancers, see DescribeLoadBalancers. When you are finished with a load balancer, you can delete it using DeleteLoadBalancer.

For limit information, see Limits for Your Application Load Balancer in the Application Load Balancers Guide and Limits for Your Network Load Balancer in the Network Load Balancers Guide.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple load balancers with the same settings, each call succeeds.

For more information, see Application Load Balancers in the Application Load Balancers Guide and Network Load Balancers in the Network Load Balancers Guide.

" }, "CreateRule":{ "name":"CreateRule", @@ -96,12 +125,18 @@ {"shape":"TooManyTargetGroupsException"}, {"shape":"TooManyRulesException"}, {"shape":"TargetGroupAssociationLimitException"}, + {"shape":"IncompatibleProtocolsException"}, {"shape":"ListenerNotFoundException"}, {"shape":"TargetGroupNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"}, + {"shape":"UnsupportedProtocolException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"}, + {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"} ], - "documentation":"

Creates a rule for the specified listener.

Each rule can have one action and one condition. Rules are evaluated in priority order, from the lowest value to the highest value. When the condition for a rule is met, the specified action is taken. If no conditions are met, the default action for the default rule is taken. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

" + "documentation":"

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.

" }, "CreateTargetGroup":{ "name":"CreateTargetGroup", @@ -116,9 +151,10 @@ }, "errors":[ {"shape":"DuplicateTargetGroupNameException"}, - {"shape":"TooManyTargetGroupsException"} + {"shape":"TooManyTargetGroupsException"}, + {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide.

" + "documentation":"

Creates a target group.

To register targets with the target group, use RegisterTargets. To update the health check settings for the target group, use ModifyTargetGroup. To monitor the health of targets in the target group, use DescribeTargetHealth.

To route traffic to the targets in a target group, specify the target group in an action using CreateListener or CreateRule.

To delete a target group, use DeleteTargetGroup.

This operation is idempotent, which means that it completes at most one time. If you attempt to create multiple target groups with the same settings, each call succeeds.

For more information, see Target Groups for Your Application Load Balancers in the Application Load Balancers Guide or Target Groups for Your Network Load Balancers in the Network Load Balancers Guide.

" }, "DeleteListener":{ "name":"DeleteListener", @@ -134,7 +170,7 @@ "errors":[ {"shape":"ListenerNotFoundException"} ], - "documentation":"

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer it is attached to using DeleteLoadBalancer.

" + "documentation":"

Deletes the specified listener.

Alternatively, your listener is deleted when you delete the load balancer to which it is attached, using DeleteLoadBalancer.

" }, "DeleteLoadBalancer":{ "name":"DeleteLoadBalancer", @@ -149,9 +185,10 @@ }, "errors":[ {"shape":"LoadBalancerNotFoundException"}, - {"shape":"OperationNotPermittedException"} + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceInUseException"} ], - "documentation":"

Deletes the specified Application Load Balancer and its attached listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

" + "documentation":"

Deletes the specified Application Load Balancer or Network Load Balancer and its attached listeners.

You can't delete a load balancer if deletion protection is enabled. If the load balancer does not exist or has already been deleted, the call succeeds.

Deleting a load balancer does not affect its registered targets. For example, your EC2 instances continue to run and are still registered to their target groups. If you no longer need these EC2 instances, you can stop or terminate them.

" }, "DeleteRule":{ "name":"DeleteRule", @@ -203,6 +240,35 @@ ], "documentation":"

Deregisters the specified targets from the specified target group. After the targets are deregistered, they no longer receive traffic from the load balancer.

" }, + "DescribeAccountLimits":{ + "name":"DescribeAccountLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountLimitsInput"}, + "output":{ + "shape":"DescribeAccountLimitsOutput", + "resultWrapper":"DescribeAccountLimitsResult" + }, + "documentation":"

Describes the current Elastic Load Balancing resource limits for your AWS account.

For more information, see Limits for Your Application Load Balancers in the Application Load Balancer Guide or Limits for Your Network Load Balancers in the Network Load Balancers Guide.

" + }, + "DescribeListenerCertificates":{ + "name":"DescribeListenerCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeListenerCertificatesInput"}, + "output":{ + "shape":"DescribeListenerCertificatesOutput", + "resultWrapper":"DescribeListenerCertificatesResult" + }, + "errors":[ + {"shape":"ListenerNotFoundException"} + ], + "documentation":"

Describes the default certificate and the certificate list for the specified HTTPS or TLS listener.

If the default certificate is also in the certificate list, it appears twice in the results (once with IsDefault set to true and once with IsDefault set to false).

For more information, see SSL Certificates in the Application Load Balancers Guide.

" + }, "DescribeListeners":{ "name":"DescribeListeners", "http":{ @@ -216,9 +282,10 @@ }, "errors":[ {"shape":"ListenerNotFoundException"}, - {"shape":"LoadBalancerNotFoundException"} + {"shape":"LoadBalancerNotFoundException"}, + {"shape":"UnsupportedProtocolException"} ], - "documentation":"

Describes the specified listeners or the listeners for the specified Application Load Balancer. You must specify either a load balancer or one or more listeners.

" + "documentation":"

Describes the specified listeners or the listeners for the specified Application Load Balancer or Network Load Balancer. You must specify either a load balancer or one or more listeners.

For an HTTPS or TLS listener, the output includes the default certificate for the listener. To describe the certificate list for the listener, use DescribeListenerCertificates.

" }, "DescribeLoadBalancerAttributes":{ "name":"DescribeLoadBalancerAttributes", @@ -234,7 +301,7 @@ "errors":[ {"shape":"LoadBalancerNotFoundException"} ], - "documentation":"

Describes the attributes for the specified Application Load Balancer.

" + "documentation":"

Describes the attributes for the specified Application Load Balancer or Network Load Balancer.

For more information, see Load Balancer Attributes in the Application Load Balancers Guide or Load Balancer Attributes in the Network Load Balancers Guide.

" }, "DescribeLoadBalancers":{ "name":"DescribeLoadBalancers", @@ -250,7 +317,7 @@ "errors":[ {"shape":"LoadBalancerNotFoundException"} ], - "documentation":"

Describes the specified Application Load Balancers or all of your Application Load Balancers.

To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.

" + "documentation":"

Describes the specified load balancers or all of your load balancers.

To describe the listeners for a load balancer, use DescribeListeners. To describe the attributes for a load balancer, use DescribeLoadBalancerAttributes.

" }, "DescribeRules":{ "name":"DescribeRules", @@ -265,7 +332,8 @@ }, "errors":[ {"shape":"ListenerNotFoundException"}, - {"shape":"RuleNotFoundException"} + {"shape":"RuleNotFoundException"}, + {"shape":"UnsupportedProtocolException"} ], "documentation":"

Describes the specified rules or the rules for the specified listener. You must specify either a listener or one or more rules.

" }, @@ -283,7 +351,7 @@ "errors":[ {"shape":"SSLPolicyNotFoundException"} ], - "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

Note that the only supported policy at this time is ELBSecurityPolicy-2015-05.

" + "documentation":"

Describes the specified policies or all policies used for SSL negotiation.

For more information, see Security Policies in the Application Load Balancers Guide.

" }, "DescribeTags":{ "name":"DescribeTags", @@ -302,7 +370,7 @@ {"shape":"ListenerNotFoundException"}, {"shape":"RuleNotFoundException"} ], - "documentation":"

Describes the tags for the specified resources.

" + "documentation":"

Describes the tags for the specified resources. You can describe the tags for one or more Application Load Balancers, Network Load Balancers, and target groups.

" }, "DescribeTargetGroupAttributes":{ "name":"DescribeTargetGroupAttributes", @@ -318,7 +386,7 @@ "errors":[ {"shape":"TargetGroupNotFoundException"} ], - "documentation":"

Describes the attributes for the specified target group.

" + "documentation":"

Describes the attributes for the specified target group.

For more information, see Target Group Attributes in the Application Load Balancers Guide or Target Group Attributes in the Network Load Balancers Guide.

" }, "DescribeTargetGroups":{ "name":"DescribeTargetGroups", @@ -378,9 +446,14 @@ {"shape":"CertificateNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, {"shape":"UnsupportedProtocolException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"}, + {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"}, + {"shape":"ALPNPolicyNotSupportedException"} ], - "documentation":"

Modifies the specified properties of the specified listener.

Any properties that you do not specify retain their current values. However, changing the protocol from HTTPS to HTTP removes the security policy and SSL certificate properties. If you change the protocol from HTTP to HTTPS, you must add the security policy.

" + "documentation":"

Replaces the specified properties of the specified listener. Any properties that you do not specify remain unchanged.

Changing the protocol from HTTPS to HTTP, or from TLS to TCP, removes the security policy and default certificate properties. If you change the protocol from HTTP to HTTPS, or from TCP to TLS, you must add the security policy and default certificate properties.

To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.

" }, "ModifyLoadBalancerAttributes":{ "name":"ModifyLoadBalancerAttributes", @@ -397,7 +470,7 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"InvalidConfigurationRequestException"} ], - "documentation":"

Modifies the specified attributes of the specified Application Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

" + "documentation":"

Modifies the specified attributes of the specified Application Load Balancer or Network Load Balancer.

If any of the specified attributes can't be modified as requested, the call fails. Any existing attributes that you do not modify retain their current values.

" }, "ModifyRule":{ "name":"ModifyRule", @@ -412,11 +485,18 @@ }, "errors":[ {"shape":"TargetGroupAssociationLimitException"}, + {"shape":"IncompatibleProtocolsException"}, {"shape":"RuleNotFoundException"}, {"shape":"OperationNotPermittedException"}, - {"shape":"TooManyRegistrationsForTargetIdException"} + {"shape":"TooManyRegistrationsForTargetIdException"}, + {"shape":"TooManyTargetsException"}, + {"shape":"TargetGroupNotFoundException"}, + {"shape":"UnsupportedProtocolException"}, + {"shape":"TooManyActionsException"}, + {"shape":"InvalidLoadBalancerActionException"}, + {"shape":"TooManyUniqueTargetGroupsPerLoadBalancerException"} ], - "documentation":"

Modifies the specified rule.

Any existing properties that you do not modify retain their current values.

To modify the default action, use ModifyListener.

" + "documentation":"

Replaces the specified properties of the specified rule. Any properties that you do not specify are unchanged.

To add an item to a list, remove an item from a list, or update an item in a list, you must provide the entire list. For example, to add an action, specify a list with the current actions plus the new action.

To modify the actions for the default rule, use ModifyListener.

" }, "ModifyTargetGroup":{ "name":"ModifyTargetGroup", @@ -430,7 +510,8 @@ "resultWrapper":"ModifyTargetGroupResult" }, "errors":[ - {"shape":"TargetGroupNotFoundException"} + {"shape":"TargetGroupNotFoundException"}, + {"shape":"InvalidConfigurationRequestException"} ], "documentation":"

Modifies the health checks used when evaluating the health state of the targets in the specified target group.

To monitor the health of the targets, use DescribeTargetHealth.

" }, @@ -446,7 +527,8 @@ "resultWrapper":"ModifyTargetGroupAttributesResult" }, "errors":[ - {"shape":"TargetGroupNotFoundException"} + {"shape":"TargetGroupNotFoundException"}, + {"shape":"InvalidConfigurationRequestException"} ], "documentation":"

Modifies the specified attributes of the specified target group.

" }, @@ -467,7 +549,24 @@ {"shape":"InvalidTargetException"}, {"shape":"TooManyRegistrationsForTargetIdException"} ], - "documentation":"

Registers the specified targets with the specified target group.

By default, the load balancer routes requests to registered targets using the protocol and port number for the target group. Alternatively, you can override the port for a target when you register it.

The target must be in the virtual private cloud (VPC) that you specified for the target group. If the target is an EC2 instance, it can't be in the stopped or running state when you register it.

To remove a target from a target group, use DeregisterTargets.

" + "documentation":"

Registers the specified targets with the specified target group.

If the target is an EC2 instance, it must be in the running state when you register it.

By default, the load balancer routes requests to registered targets using the protocol and port for the target group. Alternatively, you can override the port for a target when you register it. You can register each EC2 instance or IP address with the same target group multiple times using different ports.

With a Network Load Balancer, you cannot register instances by instance ID if they have the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, M3, and T1. You can register instances of these types by IP address.

To remove a target from a target group, use DeregisterTargets.

" + }, + "RemoveListenerCertificates":{ + "name":"RemoveListenerCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveListenerCertificatesInput"}, + "output":{ + "shape":"RemoveListenerCertificatesOutput", + "resultWrapper":"RemoveListenerCertificatesResult" + }, + "errors":[ + {"shape":"ListenerNotFoundException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

Removes the specified certificate from the certificate list for the specified HTTPS or TLS listener.

You can't remove the default certificate for a listener. To replace the default certificate, call ModifyListener.

To list the certificates for your listener, use DescribeListenerCertificates.

" }, "RemoveTags":{ "name":"RemoveTags", @@ -487,7 +586,25 @@ {"shape":"RuleNotFoundException"}, {"shape":"TooManyTagsException"} ], - "documentation":"

Removes the specified tags from the specified resource.

To list the current tags for your resources, use DescribeTags.

" + "documentation":"

Removes the specified tags from the specified Elastic Load Balancing resource.

To list the current tags for your resources, use DescribeTags.

" + }, + "SetIpAddressType":{ + "name":"SetIpAddressType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetIpAddressTypeInput"}, + "output":{ + "shape":"SetIpAddressTypeOutput", + "resultWrapper":"SetIpAddressTypeResult" + }, + "errors":[ + {"shape":"LoadBalancerNotFoundException"}, + {"shape":"InvalidConfigurationRequestException"}, + {"shape":"InvalidSubnetException"} + ], + "documentation":"

Sets the type of IP addresses used by the subnets of the specified Application Load Balancer or Network Load Balancer.

" }, "SetRulePriorities":{ "name":"SetRulePriorities", @@ -523,7 +640,7 @@ {"shape":"InvalidConfigurationRequestException"}, {"shape":"InvalidSecurityGroupException"} ], - "documentation":"

Associates the specified security groups with the specified load balancer. The specified security groups override the previously associated security groups.

" + "documentation":"

Associates the specified security groups with the specified Application Load Balancer. The specified security groups override the previously associated security groups.

You can't specify a security group for a Network Load Balancer.

" }, "SetSubnets":{ "name":"SetSubnets", @@ -540,18 +657,29 @@ {"shape":"LoadBalancerNotFoundException"}, {"shape":"InvalidConfigurationRequestException"}, {"shape":"SubnetNotFoundException"}, - {"shape":"InvalidSubnetException"} + {"shape":"InvalidSubnetException"}, + {"shape":"AllocationIdNotFoundException"}, + {"shape":"AvailabilityZoneNotSupportedException"} ], - "documentation":"

Enables the Availability Zone for the specified subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.

" + "documentation":"

Enables the Availability Zones for the specified public subnets for the specified load balancer. The specified subnets replace the previously enabled subnets.

When you specify subnets for a Network Load Balancer, you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets.

" } }, "shapes":{ + "ALPNPolicyNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified ALPN policy is not supported.

", + "error":{ + "code":"ALPNPolicyNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "Action":{ "type":"structure", - "required":[ - "Type", - "TargetGroupArn" - ], + "required":["Type"], "members":{ "Type":{ "shape":"ActionTypeEnum", @@ -559,19 +687,80 @@ }, "TargetGroupArn":{ "shape":"TargetGroupArn", - "documentation":"

The Amazon Resource Name (ARN) of the target group.

" + "documentation":"

The Amazon Resource Name (ARN) of the target group. Specify only when Type is forward and you want to route to a single target group. To route to one or more target groups, use ForwardConfig instead.

" + }, + "AuthenticateOidcConfig":{ + "shape":"AuthenticateOidcActionConfig", + "documentation":"

[HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when Type is authenticate-oidc.

" + }, + "AuthenticateCognitoConfig":{ + "shape":"AuthenticateCognitoActionConfig", + "documentation":"

[HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when Type is authenticate-cognito.

" + }, + "Order":{ + "shape":"ActionOrder", + "documentation":"

The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first. The last action to be performed must be one of the following types of actions: a forward, fixed-response, or redirect.

" + }, + "RedirectConfig":{ + "shape":"RedirectActionConfig", + "documentation":"

[Application Load Balancer] Information for creating a redirect action. Specify only when Type is redirect.

" + }, + "FixedResponseConfig":{ + "shape":"FixedResponseActionConfig", + "documentation":"

[Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when Type is fixed-response.

" + }, + "ForwardConfig":{ + "shape":"ForwardActionConfig", + "documentation":"

Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when Type is forward. If you specify both ForwardConfig and TargetGroupArn, you can specify only one target group using ForwardConfig and it must be the same target group specified in TargetGroupArn.

" } }, "documentation":"

Information about an action.

" }, + "ActionOrder":{ + "type":"integer", + "max":50000, + "min":1 + }, "ActionTypeEnum":{ "type":"string", - "enum":["forward"] + "enum":[ + "forward", + "authenticate-oidc", + "authenticate-cognito", + "redirect", + "fixed-response" + ] }, "Actions":{ "type":"list", "member":{"shape":"Action"} }, + "AddListenerCertificatesInput":{ + "type":"structure", + "required":[ + "ListenerArn", + "Certificates" + ], + "members":{ + "ListenerArn":{ + "shape":"ListenerArn", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + }, + "Certificates":{ + "shape":"CertificateList", + "documentation":"

The certificate to add. You can specify one certificate per call. Set CertificateArn to the certificate ARN but do not set IsDefault.

" + } + } + }, + "AddListenerCertificatesOutput":{ + "type":"structure", + "members":{ + "Certificates":{ + "shape":"CertificateList", + "documentation":"

Information about the certificates in the certificate list.

" + } + } + }, "AddTagsInput":{ "type":"structure", "required":[ @@ -585,17 +774,183 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

The tags. Each resource can have a maximum of 10 tags.

" + "documentation":"

The tags.

" } - }, - "documentation":"

Contains the parameters for AddTags.

" + } }, "AddTagsOutput":{ "type":"structure", "members":{ + } + }, + "AllocationId":{"type":"string"}, + "AllocationIdNotFoundException":{ + "type":"structure", + "members":{ }, - "documentation":"

Contains the output of AddTags.

" + "documentation":"

The specified allocation ID does not exist.

", + "error":{ + "code":"AllocationIdNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "AlpnPolicyName":{ + "type":"list", + "member":{"shape":"AlpnPolicyValue"} + }, + "AlpnPolicyValue":{"type":"string"}, + "AuthenticateCognitoActionAuthenticationRequestExtraParams":{ + "type":"map", + "key":{"shape":"AuthenticateCognitoActionAuthenticationRequestParamName"}, + "value":{"shape":"AuthenticateCognitoActionAuthenticationRequestParamValue"} + }, + "AuthenticateCognitoActionAuthenticationRequestParamName":{"type":"string"}, + "AuthenticateCognitoActionAuthenticationRequestParamValue":{"type":"string"}, + "AuthenticateCognitoActionConditionalBehaviorEnum":{ + "type":"string", + "enum":[ + "deny", + "allow", + "authenticate" + ] + }, + "AuthenticateCognitoActionConfig":{ + "type":"structure", + "required":[ + "UserPoolArn", + "UserPoolClientId", + "UserPoolDomain" + ], + "members":{ + "UserPoolArn":{ + "shape":"AuthenticateCognitoActionUserPoolArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Cognito user pool.

" + }, + "UserPoolClientId":{ + "shape":"AuthenticateCognitoActionUserPoolClientId", + "documentation":"

The ID of the Amazon Cognito user pool client.

" + }, + "UserPoolDomain":{ + "shape":"AuthenticateCognitoActionUserPoolDomain", + "documentation":"

The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.

" + }, + "SessionCookieName":{ + "shape":"AuthenticateCognitoActionSessionCookieName", + "documentation":"

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" + }, + "Scope":{ + "shape":"AuthenticateCognitoActionScope", + "documentation":"

The set of user claims to be requested from the IdP. The default is openid.

To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.

" + }, + "SessionTimeout":{ + "shape":"AuthenticateCognitoActionSessionTimeout", + "documentation":"

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" + }, + "AuthenticationRequestExtraParams":{ + "shape":"AuthenticateCognitoActionAuthenticationRequestExtraParams", + "documentation":"

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" + }, + "OnUnauthenticatedRequest":{ + "shape":"AuthenticateCognitoActionConditionalBehaviorEnum", + "documentation":"

The behavior if the user is not authenticated. The following are possible values:

  • deny - Return an HTTP 401 Unauthorized error.

  • allow - Allow the request to be forwarded to the target.

  • authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.

" + } + }, + "documentation":"

Request parameters to use when integrating with Amazon Cognito to authenticate users.

" + }, + "AuthenticateCognitoActionScope":{"type":"string"}, + "AuthenticateCognitoActionSessionCookieName":{"type":"string"}, + "AuthenticateCognitoActionSessionTimeout":{"type":"long"}, + "AuthenticateCognitoActionUserPoolArn":{"type":"string"}, + "AuthenticateCognitoActionUserPoolClientId":{"type":"string"}, + "AuthenticateCognitoActionUserPoolDomain":{"type":"string"}, + "AuthenticateOidcActionAuthenticationRequestExtraParams":{ + "type":"map", + "key":{"shape":"AuthenticateOidcActionAuthenticationRequestParamName"}, + "value":{"shape":"AuthenticateOidcActionAuthenticationRequestParamValue"} + }, + "AuthenticateOidcActionAuthenticationRequestParamName":{"type":"string"}, + "AuthenticateOidcActionAuthenticationRequestParamValue":{"type":"string"}, + "AuthenticateOidcActionAuthorizationEndpoint":{"type":"string"}, + "AuthenticateOidcActionClientId":{"type":"string"}, + "AuthenticateOidcActionClientSecret":{"type":"string"}, + "AuthenticateOidcActionConditionalBehaviorEnum":{ + "type":"string", + "enum":[ + "deny", + "allow", + "authenticate" + ] }, + "AuthenticateOidcActionConfig":{ + "type":"structure", + "required":[ + "Issuer", + "AuthorizationEndpoint", + "TokenEndpoint", + "UserInfoEndpoint", + "ClientId" + ], + "members":{ + "Issuer":{ + "shape":"AuthenticateOidcActionIssuer", + "documentation":"

The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + }, + "AuthorizationEndpoint":{ + "shape":"AuthenticateOidcActionAuthorizationEndpoint", + "documentation":"

The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + }, + "TokenEndpoint":{ + "shape":"AuthenticateOidcActionTokenEndpoint", + "documentation":"

The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + }, + "UserInfoEndpoint":{ + "shape":"AuthenticateOidcActionUserInfoEndpoint", + "documentation":"

The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.

" + }, + "ClientId":{ + "shape":"AuthenticateOidcActionClientId", + "documentation":"

The OAuth 2.0 client identifier.

" + }, + "ClientSecret":{ + "shape":"AuthenticateOidcActionClientSecret", + "documentation":"

The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set UseExistingClientSecret to true.

" + }, + "SessionCookieName":{ + "shape":"AuthenticateOidcActionSessionCookieName", + "documentation":"

The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.

" + }, + "Scope":{ + "shape":"AuthenticateOidcActionScope", + "documentation":"

The set of user claims to be requested from the IdP. The default is openid.

To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.

" + }, + "SessionTimeout":{ + "shape":"AuthenticateOidcActionSessionTimeout", + "documentation":"

The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).

" + }, + "AuthenticationRequestExtraParams":{ + "shape":"AuthenticateOidcActionAuthenticationRequestExtraParams", + "documentation":"

The query parameters (up to 10) to include in the redirect request to the authorization endpoint.

" + }, + "OnUnauthenticatedRequest":{ + "shape":"AuthenticateOidcActionConditionalBehaviorEnum", + "documentation":"

The behavior if the user is not authenticated. The following are possible values:

  • deny - Return an HTTP 401 Unauthorized error.

  • allow - Allow the request to be forwarded to the target.

  • authenticate - Redirect the request to the IdP authorization endpoint. This is the default value.

" + }, + "UseExistingClientSecret":{ + "shape":"AuthenticateOidcActionUseExistingClientSecret", + "documentation":"

Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.

" + } + }, + "documentation":"

Request parameters when using an identity provider (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.

" + }, + "AuthenticateOidcActionIssuer":{"type":"string"}, + "AuthenticateOidcActionScope":{"type":"string"}, + "AuthenticateOidcActionSessionCookieName":{"type":"string"}, + "AuthenticateOidcActionSessionTimeout":{"type":"long"}, + "AuthenticateOidcActionTokenEndpoint":{"type":"string"}, + "AuthenticateOidcActionUseExistingClientSecret":{"type":"boolean"}, + "AuthenticateOidcActionUserInfoEndpoint":{"type":"string"}, "AvailabilityZone":{ "type":"structure", "members":{ @@ -605,11 +960,27 @@ }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

The ID of the subnet.

" + "documentation":"

The ID of the subnet. You can specify one subnet per Availability Zone.

" + }, + "LoadBalancerAddresses":{ + "shape":"LoadBalancerAddresses", + "documentation":"

[Network Load Balancers] If you need static IP addresses for your load balancer, you can specify one Elastic IP address per Availability Zone when you create an internal-facing load balancer. For internal load balancers, you can specify a private IP address from the IPv4 range of the subnet.

" } }, "documentation":"

Information about an Availability Zone.

" }, + "AvailabilityZoneNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified Availability Zone is not supported.

", + "error":{ + "code":"AvailabilityZoneNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AvailabilityZones":{ "type":"list", "member":{"shape":"AvailabilityZone"} @@ -621,9 +992,13 @@ "CertificateArn":{ "shape":"CertificateArn", "documentation":"

The Amazon Resource Name (ARN) of the certificate.

" + }, + "IsDefault":{ + "shape":"Default", + "documentation":"

Indicates whether the certificate is the default certificate. Do not set this value when specifying a certificate as an input. This value is not included in the output when describing a listener, but is included when describing listener certificates.

" } }, - "documentation":"

Information about an SSL server certificate deployed on a load balancer.

" + "documentation":"

Information about an SSL server certificate.

" }, "CertificateArn":{"type":"string"}, "CertificateList":{ @@ -681,7 +1056,7 @@ }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer.

" + "documentation":"

The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP.

" }, "Port":{ "shape":"Port", @@ -689,18 +1064,21 @@ }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" + "documentation":"

[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:

  • ELBSecurityPolicy-2016-08

  • ELBSecurityPolicy-TLS-1-0-2015-04

  • ELBSecurityPolicy-TLS-1-1-2017-01

  • ELBSecurityPolicy-TLS-1-2-2017-01

  • ELBSecurityPolicy-TLS-1-2-Ext-2018-06

  • ELBSecurityPolicy-FS-2018-06

  • ELBSecurityPolicy-FS-1-1-2019-08

  • ELBSecurityPolicy-FS-1-2-2019-08

  • ELBSecurityPolicy-FS-1-2-Res-2019-08

For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.

" }, "Certificates":{ "shape":"CertificateList", - "documentation":"

The SSL server certificate. You must provide exactly one certificate if the protocol is HTTPS.

" + "documentation":"

[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list for the listener, use AddListenerCertificates.

" }, "DefaultActions":{ "shape":"Actions", - "documentation":"

The default action for the listener.

" + "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + }, + "AlpnPolicy":{ + "shape":"AlpnPolicyName", + "documentation":"

[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:

  • HTTP1Only

  • HTTP2Only

  • HTTP2Optional

  • HTTP2Preferred

  • None

For more information, see ALPN Policies in the Network Load Balancers Guide.

" } - }, - "documentation":"

Contains the parameters for CreateListener.

" + } }, "CreateListenerOutput":{ "type":"structure", @@ -709,38 +1087,45 @@ "shape":"Listeners", "documentation":"

Information about the listener.

" } - }, - "documentation":"

Contains the output of CreateListener.

" + } }, "CreateLoadBalancerInput":{ "type":"structure", - "required":[ - "Name", - "Subnets" - ], + "required":["Name"], "members":{ "Name":{ "shape":"LoadBalancerName", - "documentation":"

The name of the load balancer.

This name must be unique within your AWS account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" + "documentation":"

The name of the load balancer.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with \"internal-\".

" }, "Subnets":{ "shape":"Subnets", - "documentation":"

The IDs of the subnets to attach to the load balancer. You can specify only one subnet per Availability Zone. You must specify subnets from at least two Availability Zones.

" + "documentation":"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones.

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

" + }, + "SubnetMappings":{ + "shape":"SubnetMappings", + "documentation":"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.

" }, "SecurityGroups":{ "shape":"SecurityGroups", - "documentation":"

The IDs of the security groups to assign to the load balancer.

" + "documentation":"

[Application Load Balancers] The IDs of the security groups for the load balancer.

" }, "Scheme":{ "shape":"LoadBalancerSchemeEnum", - "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer.

The default is an Internet-facing load balancer.

" + "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.

The default is an Internet-facing load balancer.

" }, "Tags":{ "shape":"TagList", "documentation":"

One or more tags to assign to the load balancer.

" + }, + "Type":{ + "shape":"LoadBalancerTypeEnum", + "documentation":"

The type of load balancer. The default is application.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

[Application Load Balancers] The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4.

" } - }, - "documentation":"

Contains the parameters for CreateLoadBalancer.

" + } }, "CreateLoadBalancerOutput":{ "type":"structure", @@ -749,8 +1134,7 @@ "shape":"LoadBalancers", "documentation":"

Information about the load balancer.

" } - }, - "documentation":"

Contains the output of CreateLoadBalancer.

" + } }, "CreateRuleInput":{ "type":"structure", @@ -767,18 +1151,17 @@ }, "Conditions":{ "shape":"RuleConditionList", - "documentation":"

A condition. Each condition has the field path-pattern and specifies one path pattern. A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + "documentation":"

The conditions. Each rule can include zero or one of the following conditions: http-request-method, host-header, path-pattern, and source-ip, and zero or more of the following conditions: http-header and query-string.

" }, "Priority":{ "shape":"RulePriority", - "documentation":"

The priority for the rule. A listener can't have multiple rules with the same priority.

" + "documentation":"

The rule priority. A listener can't have multiple rules with the same priority.

" }, "Actions":{ "shape":"Actions", - "documentation":"

An action. Each action has the type forward and specifies a target group.

" + "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect, and it must be the last action to be performed.

If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } - }, - "documentation":"

Contains the parameters for CreateRule.

" + } }, "CreateRuleOutput":{ "type":"structure", @@ -787,68 +1170,69 @@ "shape":"Rules", "documentation":"

Information about the rule.

" } - }, - "documentation":"

Contains the output of CreateRule.

" + } }, "CreateTargetGroupInput":{ "type":"structure", - "required":[ - "Name", - "Protocol", - "Port", - "VpcId" - ], + "required":["Name"], "members":{ "Name":{ "shape":"TargetGroupName", - "documentation":"

The name of the target group.

" + "documentation":"

The name of the target group.

This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen.

" }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol to use for routing traffic to the targets.

" + "documentation":"

The protocol to use for routing traffic to the targets. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, or TCP_UDP. A TCP_UDP listener must be associated with a TCP_UDP target group. If the target is a Lambda function, this parameter does not apply.

" }, "Port":{ "shape":"Port", - "documentation":"

The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target.

" + "documentation":"

The port on which the targets receive traffic. This port is used unless you specify a port override when registering the target. If the target is a Lambda function, this parameter does not apply.

" }, "VpcId":{ "shape":"VpcId", - "documentation":"

The identifier of the virtual private cloud (VPC).

" + "documentation":"

The identifier of the virtual private cloud (VPC). If the target is a Lambda function, this parameter does not apply. Otherwise, this parameter is required.

" }, "HealthCheckProtocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol the load balancer uses when performing health checks on targets. The default is the HTTP protocol.

" + "documentation":"

The protocol the load balancer uses when performing health checks on targets. For Application Load Balancers, the default is HTTP. For Network Load Balancers, the default is TCP. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

" }, "HealthCheckPort":{ "shape":"HealthCheckPort", - "documentation":"

The port the load balancer uses when performing health checks on targets. The default is traffic-port, which indicates the port on which each target receives traffic from the load balancer.

" + "documentation":"

The port the load balancer uses when performing health checks on targets. The default is traffic-port, which is the port on which each target receives traffic from the load balancer.

" + }, + "HealthCheckEnabled":{ + "shape":"HealthCheckEnabled", + "documentation":"

Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled.

" }, "HealthCheckPath":{ "shape":"Path", - "documentation":"

The ping path that is the destination on the targets for health checks. The default is /.

" + "documentation":"

[HTTP/HTTPS health checks] The ping path that is the destination on the targets for health checks. The default is /.

" }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", - "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target. The default is 30 seconds.

" + "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target. For HTTP and HTTPS health checks, the range is 5–300 seconds. For TCP health checks, the supported values are 10 and 30 seconds. If the target type is instance or ip, the default is 30 seconds. If the target type is lambda, the default is 35 seconds.

" }, "HealthCheckTimeoutSeconds":{ "shape":"HealthCheckTimeoutSeconds", - "documentation":"

The amount of time, in seconds, during which no response from a target means a failed health check. The default is 5 seconds.

" + "documentation":"

The amount of time, in seconds, during which no response from a target means a failed health check. For target groups with a protocol of HTTP or HTTPS, the default is 5 seconds. For target groups with a protocol of TCP or TLS, this value must be 6 seconds for HTTP health checks and 10 seconds for TCP and HTTPS health checks. If the target type is lambda, the default is 30 seconds.

" }, "HealthyThresholdCount":{ "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health checks successes required before considering an unhealthy target healthy. The default is 5.

" + "documentation":"

The number of consecutive health checks successes required before considering an unhealthy target healthy. For target groups with a protocol of HTTP or HTTPS, the default is 5. For target groups with a protocol of TCP or TLS, the default is 3. If the target type is lambda, the default is 5.

" }, "UnhealthyThresholdCount":{ "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health check failures required before considering a target unhealthy. The default is 2.

" + "documentation":"

The number of consecutive health check failures required before considering a target unhealthy. For target groups with a protocol of HTTP or HTTPS, the default is 2. For target groups with a protocol of TCP or TLS, this value must be the same as the healthy threshold count. If the target type is lambda, the default is 2.

" }, "Matcher":{ "shape":"Matcher", - "documentation":"

The HTTP codes to use when checking for a successful response from a target. The default is 200.

" + "documentation":"

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

" + }, + "TargetType":{ + "shape":"TargetTypeEnum", + "documentation":"

The type of target that you must specify when registering targets with this target group. You can't specify targets for a target group using more than one target type.

  • instance - Targets are specified by instance ID. This is the default value. If the target group protocol is UDP or TCP_UDP, the target type must be instance.

  • ip - Targets are specified by IP address. You can specify IP addresses from the subnets of the virtual private cloud (VPC) for the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify publicly routable IP addresses.

  • lambda - The target groups contains a single Lambda function.

" } - }, - "documentation":"

Contains the parameters for CreateTargetGroup.

" + } }, "CreateTargetGroupOutput":{ "type":"structure", @@ -857,11 +1241,11 @@ "shape":"TargetGroups", "documentation":"

Information about the target group.

" } - }, - "documentation":"

Contains the output of CreateTargetGroup.

" + } }, "CreatedTime":{"type":"timestamp"}, "DNSName":{"type":"string"}, + "Default":{"type":"boolean"}, "DeleteListenerInput":{ "type":"structure", "required":["ListenerArn"], @@ -870,14 +1254,12 @@ "shape":"ListenerArn", "documentation":"

The Amazon Resource Name (ARN) of the listener.

" } - }, - "documentation":"

Contains the parameters for DeleteListener.

" + } }, "DeleteListenerOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteListener.

" + } }, "DeleteLoadBalancerInput":{ "type":"structure", @@ -887,14 +1269,12 @@ "shape":"LoadBalancerArn", "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" } - }, - "documentation":"

Contains the parameters for DeleteLoadBalancer.

" + } }, "DeleteLoadBalancerOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteLoadBalancer.

" + } }, "DeleteRuleInput":{ "type":"structure", @@ -904,14 +1284,12 @@ "shape":"RuleArn", "documentation":"

The Amazon Resource Name (ARN) of the rule.

" } - }, - "documentation":"

Contains the parameters for DeleteRule.

" + } }, "DeleteRuleOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteRule.

" + } }, "DeleteTargetGroupInput":{ "type":"structure", @@ -921,14 +1299,12 @@ "shape":"TargetGroupArn", "documentation":"

The Amazon Resource Name (ARN) of the target group.

" } - }, - "documentation":"

Contains the parameters for DeleteTargetGroup.

" + } }, "DeleteTargetGroupOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteTargetGroup.

" + } }, "DeregisterTargetsInput":{ "type":"structure", @@ -945,14 +1321,69 @@ "shape":"TargetDescriptions", "documentation":"

The targets. If you specified a port override when you registered a target, you must specify both the target ID and the port when you deregister it.

" } - }, - "documentation":"

Contains the parameters for DeregisterTargets.

" + } }, "DeregisterTargetsOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeregisterTargets.

" + } + }, + "DescribeAccountLimitsInput":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" + } + } + }, + "DescribeAccountLimitsOutput":{ + "type":"structure", + "members":{ + "Limits":{ + "shape":"Limits", + "documentation":"

Information about the limits.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" + } + } + }, + "DescribeListenerCertificatesInput":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{ + "shape":"ListenerArn", + "documentation":"

The Amazon Resource Names (ARN) of the listener.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" + } + } + }, + "DescribeListenerCertificatesOutput":{ + "type":"structure", + "members":{ + "Certificates":{ + "shape":"CertificateList", + "documentation":"

Information about the certificates.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" + } + } }, "DescribeListenersInput":{ "type":"structure", @@ -973,8 +1404,7 @@ "shape":"PageSize", "documentation":"

The maximum number of results to return with this call.

" } - }, - "documentation":"

Contains the parameters for DescribeListeners.

" + } }, "DescribeListenersOutput":{ "type":"structure", @@ -985,10 +1415,9 @@ }, "NextMarker":{ "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" } - }, - "documentation":"

Contains the output of DescribeListeners.

" + } }, "DescribeLoadBalancerAttributesInput":{ "type":"structure", @@ -998,8 +1427,7 @@ "shape":"LoadBalancerArn", "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancerAttributes.

" + } }, "DescribeLoadBalancerAttributesOutput":{ "type":"structure", @@ -1008,15 +1436,14 @@ "shape":"LoadBalancerAttributes", "documentation":"

Information about the load balancer attributes.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancerAttributes.

" + } }, "DescribeLoadBalancersInput":{ "type":"structure", "members":{ "LoadBalancerArns":{ "shape":"LoadBalancerArns", - "documentation":"

The Amazon Resource Names (ARN) of the load balancers.

" + "documentation":"

The Amazon Resource Names (ARN) of the load balancers. You can specify up to 20 load balancers in a single call.

" }, "Names":{ "shape":"LoadBalancerNames", @@ -1030,8 +1457,7 @@ "shape":"PageSize", "documentation":"

The maximum number of results to return with this call.

" } - }, - "documentation":"

Contains the parameters for DescribeLoadBalancers.

" + } }, "DescribeLoadBalancersOutput":{ "type":"structure", @@ -1042,10 +1468,9 @@ }, "NextMarker":{ "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" } - }, - "documentation":"

Contains the output of DescribeLoadBalancers.

" + } }, "DescribeRulesInput":{ "type":"structure", @@ -1057,9 +1482,16 @@ "RuleArns":{ "shape":"RuleArns", "documentation":"

The Amazon Resource Names (ARN) of the rules.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results. (You received this marker from a previous call.)

" + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return with this call.

" } - }, - "documentation":"

Contains the parameters for DescribeRules.

" + } }, "DescribeRulesOutput":{ "type":"structure", @@ -1067,9 +1499,12 @@ "Rules":{ "shape":"Rules", "documentation":"

Information about the rules.

" + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" } - }, - "documentation":"

Contains the output of DescribeRules.

" + } }, "DescribeSSLPoliciesInput":{ "type":"structure", @@ -1086,22 +1521,20 @@ "shape":"PageSize", "documentation":"

The maximum number of results to return with this call.

" } - }, - "documentation":"

Contains the parameters for DescribeSSLPolicies.

" + } }, "DescribeSSLPoliciesOutput":{ "type":"structure", "members":{ "SslPolicies":{ "shape":"SslPolicies", - "documentation":"

Information about the policies.

" + "documentation":"

Information about the security policies.

" }, "NextMarker":{ "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" } - }, - "documentation":"

Contains the output of DescribeSSLPolicies.

" + } }, "DescribeTagsInput":{ "type":"structure", @@ -1109,10 +1542,9 @@ "members":{ "ResourceArns":{ "shape":"ResourceArns", - "documentation":"

The Amazon Resource Names (ARN) of the resources.

" + "documentation":"

The Amazon Resource Names (ARN) of the resources. You can specify up to 20 resources in a single call.

" } - }, - "documentation":"

Contains the parameters for DescribeTags.

" + } }, "DescribeTagsOutput":{ "type":"structure", @@ -1121,8 +1553,7 @@ "shape":"TagDescriptions", "documentation":"

Information about the tags.

" } - }, - "documentation":"

Contains the output of DescribeTags.

" + } }, "DescribeTargetGroupAttributesInput":{ "type":"structure", @@ -1132,8 +1563,7 @@ "shape":"TargetGroupArn", "documentation":"

The Amazon Resource Name (ARN) of the target group.

" } - }, - "documentation":"

Contains the parameters for DescribeTargetGroupAttributes.

" + } }, "DescribeTargetGroupAttributesOutput":{ "type":"structure", @@ -1142,8 +1572,7 @@ "shape":"TargetGroupAttributes", "documentation":"

Information about the target group attributes

" } - }, - "documentation":"

Contains the output of DescribeTargetGroupAttributes.

" + } }, "DescribeTargetGroupsInput":{ "type":"structure", @@ -1168,8 +1597,7 @@ "shape":"PageSize", "documentation":"

The maximum number of results to return with this call.

" } - }, - "documentation":"

Contains the parameters for DescribeTargetGroups.

" + } }, "DescribeTargetGroupsOutput":{ "type":"structure", @@ -1180,10 +1608,9 @@ }, "NextMarker":{ "shape":"Marker", - "documentation":"

The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

" + "documentation":"

If there are additional results, this is the marker for the next set of results. Otherwise, this is null.

" } - }, - "documentation":"

Contains the output of DescribeTargetGroups.

" + } }, "DescribeTargetHealthInput":{ "type":"structure", @@ -1197,8 +1624,7 @@ "shape":"TargetDescriptions", "documentation":"

The targets.

" } - }, - "documentation":"

Contains the parameters for DescribeTargetHealth.

" + } }, "DescribeTargetHealthOutput":{ "type":"structure", @@ -1207,8 +1633,7 @@ "shape":"TargetHealthDescriptions", "documentation":"

Information about the health of the targets.

" } - }, - "documentation":"

Contains the output of DescribeTargetHealth.

" + } }, "Description":{"type":"string"}, "DuplicateListenerException":{ @@ -1227,7 +1652,7 @@ "type":"structure", "members":{ }, - "documentation":"

A load balancer with the specified name already exists for this account.

", + "documentation":"

A load balancer with the specified name already exists.

", "error":{ "code":"DuplicateLoadBalancerName", "httpStatusCode":400, @@ -1245,20 +1670,68 @@ "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true + }, + "DuplicateTargetGroupNameException":{ + "type":"structure", + "members":{ + }, + "documentation":"

A target group with the specified name already exists.

", + "error":{ + "code":"DuplicateTargetGroupName", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "FixedResponseActionConfig":{ + "type":"structure", + "required":["StatusCode"], + "members":{ + "MessageBody":{ + "shape":"FixedResponseActionMessage", + "documentation":"

The message.

" + }, + "StatusCode":{ + "shape":"FixedResponseActionStatusCode", + "documentation":"

The HTTP response code (2XX, 4XX, or 5XX).

" + }, + "ContentType":{ + "shape":"FixedResponseActionContentType", + "documentation":"

The content type.

Valid Values: text/plain | text/css | text/html | application/javascript | application/json

" + } + }, + "documentation":"

Information about an action that returns a custom HTTP response.

" }, - "DuplicateTargetGroupNameException":{ + "FixedResponseActionContentType":{ + "type":"string", + "max":32, + "min":0 + }, + "FixedResponseActionMessage":{ + "type":"string", + "max":1024, + "min":0 + }, + "FixedResponseActionStatusCode":{ + "type":"string", + "pattern":"^(2|4|5)\\d\\d$" + }, + "ForwardActionConfig":{ "type":"structure", "members":{ + "TargetGroups":{ + "shape":"TargetGroupList", + "documentation":"

One or more target groups. For Network Load Balancers, you can specify a single target group.

" + }, + "TargetGroupStickinessConfig":{ + "shape":"TargetGroupStickinessConfig", + "documentation":"

The target group stickiness for the rule.

" + } }, - "documentation":"

A target group with the specified name already exists.

", - "error":{ - "code":"DuplicateTargetGroupName", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true + "documentation":"

Information about a forward action.

" }, + "HealthCheckEnabled":{"type":"boolean"}, "HealthCheckIntervalSeconds":{ "type":"integer", "max":300, @@ -1272,7 +1745,7 @@ }, "HealthCheckTimeoutSeconds":{ "type":"integer", - "max":60, + "max":120, "min":2 }, "HealthUnavailableException":{ @@ -1286,7 +1759,42 @@ }, "exception":true }, + "HostHeaderConditionConfig":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ListOfString", + "documentation":"

One or more host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of the strings matches the host name.

" + } + }, + "documentation":"

Information about a host header condition.

" + }, "HttpCode":{"type":"string"}, + "HttpHeaderConditionConfig":{ + "type":"structure", + "members":{ + "HttpHeaderName":{ + "shape":"HttpHeaderConditionName", + "documentation":"

The name of the HTTP header field. The maximum size is 40 characters. The header name is case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not supported.

You can't use an HTTP header condition to specify the host header. Use HostHeaderConditionConfig to specify a host header condition.

" + }, + "Values":{ + "shape":"ListOfString", + "documentation":"

One or more strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If the same header appears multiple times in the request, we search them in order until a match is found.

If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string.

" + } + }, + "documentation":"

Information about an HTTP header condition.

There is a set of standard HTTP header fields. You can also define custom HTTP header fields.

" + }, + "HttpHeaderConditionName":{"type":"string"}, + "HttpRequestMethodConditionConfig":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ListOfString", + "documentation":"

The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match.

If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached.

" + } + }, + "documentation":"

Information about an HTTP method condition.

HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the HTTP Method Registry. You can also define custom HTTP methods.

" + }, "IncompatibleProtocolsException":{ "type":"structure", "members":{ @@ -1311,6 +1819,18 @@ }, "exception":true }, + "InvalidLoadBalancerActionException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested action is not valid.

", + "error":{ + "code":"InvalidLoadBalancerAction", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSchemeException":{ "type":"structure", "members":{ @@ -1351,7 +1871,7 @@ "type":"structure", "members":{ }, - "documentation":"

The specified target does not exist or is not in the same VPC as the target group.

", + "documentation":"

The specified target does not exist, is not in the same VPC as the target group, or has an unsupported instance type.

", "error":{ "code":"InvalidTarget", "httpStatusCode":400, @@ -1359,7 +1879,33 @@ }, "exception":true }, + "IpAddress":{"type":"string"}, + "IpAddressType":{ + "type":"string", + "enum":[ + "ipv4", + "dualstack" + ] + }, "IsDefault":{"type":"boolean"}, + "Limit":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the limit. The possible values are:

  • application-load-balancers

  • listeners-per-application-load-balancer

  • listeners-per-network-load-balancer

  • network-load-balancers

  • rules-per-application-load-balancer

  • target-groups

  • target-groups-per-action-on-application-load-balancer

  • target-groups-per-action-on-network-load-balancer

  • target-groups-per-application-load-balancer

  • targets-per-application-load-balancer

  • targets-per-availability-zone-per-network-load-balancer

  • targets-per-network-load-balancer

" + }, + "Max":{ + "shape":"Max", + "documentation":"

The maximum value of the limit.

" + } + }, + "documentation":"

Information about an Elastic Load Balancing resource limit for your AWS account.

" + }, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, "ListOfString":{ "type":"list", "member":{"shape":"StringValue"} @@ -1385,15 +1931,19 @@ }, "Certificates":{ "shape":"CertificateList", - "documentation":"

The SSL server certificate. You must provide a certificate if the protocol is HTTPS.

" + "documentation":"

[HTTPS or TLS listener] The default certificate for the listener.

" }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

The security policy that defines which ciphers and protocols are supported. The default is the current predefined security policy.

" + "documentation":"

[HTTPS or TLS listener] The security policy that defines which protocols and ciphers are supported.

" }, "DefaultActions":{ "shape":"Actions", "documentation":"

The default actions for the listener.

" + }, + "AlpnPolicy":{ + "shape":"AlpnPolicyName", + "documentation":"

[TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.

" } }, "documentation":"

Information about a listener.

" @@ -1444,7 +1994,7 @@ }, "Scheme":{ "shape":"LoadBalancerSchemeEnum", - "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the Internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can only route requests from clients with access to the VPC for the load balancer.

" + "documentation":"

The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.

The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.

" }, "VpcId":{ "shape":"VpcId", @@ -1465,10 +2015,36 @@ "SecurityGroups":{ "shape":"SecurityGroups", "documentation":"

The IDs of the security groups for the load balancer.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

" } }, "documentation":"

Information about a load balancer.

" }, + "LoadBalancerAddress":{ + "type":"structure", + "members":{ + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

The static IP address.

" + }, + "AllocationId":{ + "shape":"AllocationId", + "documentation":"

[Network Load Balancers] The allocation ID of the Elastic IP address for an internal-facing load balancer.

" + }, + "PrivateIPv4Address":{ + "shape":"PrivateIPv4Address", + "documentation":"

[Network Load Balancers] The private IPv4 address for an internal load balancer.

" + } + }, + "documentation":"

Information about a static IP address for a load balancer.

" + }, + "LoadBalancerAddresses":{ + "type":"list", + "member":{"shape":"LoadBalancerAddress"} + }, "LoadBalancerArn":{"type":"string"}, "LoadBalancerArns":{ "type":"list", @@ -1479,7 +2055,7 @@ "members":{ "Key":{ "shape":"LoadBalancerAttributeKey", - "documentation":"

The name of the attribute.

  • access_logs.s3.enabled - Indicates whether access logs stored in Amazon S3 are enabled. The value is true or false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs in Amazon S3 are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permission to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket. If you don't specify a prefix, the access logs are stored in the root of the bucket.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false.

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-3600. The default is 60 seconds.

" + "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • access_logs.s3.enabled - Indicates whether access logs are enabled. The value is true or false. The default is false.

  • access_logs.s3.bucket - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and have a bucket policy that grants Elastic Load Balancing permissions to write to the bucket.

  • access_logs.s3.prefix - The prefix for the location in the S3 bucket for the access logs.

  • deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false. The default is false.

The following attributes are supported by only Application Load Balancers:

  • idle_timeout.timeout_seconds - The idle timeout value, in seconds. The valid range is 1-4000 seconds. The default is 60 seconds.

  • routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP headers with invalid header fields are removed by the load balancer (true) or routed to targets (false). The default is false.

  • routing.http2.enabled - Indicates whether HTTP/2 is enabled. The value is true or false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens.

The following attributes are supported by only Network Load Balancers:

  • load_balancing.cross_zone.enabled - Indicates whether cross-zone load balancing is enabled. The value is true or false. The default is false.

" }, "Value":{ "shape":"LoadBalancerAttributeValue", @@ -1545,12 +2121,16 @@ "enum":[ "active", "provisioning", + "active_impaired", "failed" ] }, "LoadBalancerTypeEnum":{ "type":"string", - "enum":["application"] + "enum":[ + "application", + "network" + ] }, "LoadBalancers":{ "type":"list", @@ -1563,11 +2143,12 @@ "members":{ "HttpCode":{ "shape":"HttpCode", - "documentation":"

The HTTP codes. The default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

" + "documentation":"

The HTTP codes.

For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, \"200,202\") or a range of values (for example, \"200-299\").

For Network Load Balancers, this is 200–399.

" } }, "documentation":"

Information to use when checking for a successful response from a target.

" }, + "Max":{"type":"string"}, "ModifyListenerInput":{ "type":"structure", "required":["ListenerArn"], @@ -1582,32 +2163,34 @@ }, "Protocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol for connections from clients to the load balancer.

" + "documentation":"

The protocol for connections from clients to the load balancer. Application Load Balancers support the HTTP and HTTPS protocols. Network Load Balancers support the TCP, TLS, UDP, and TCP_UDP protocols.

" }, "SslPolicy":{ "shape":"SslPolicyName", - "documentation":"

The security policy that defines which ciphers and protocols are supported.

" + "documentation":"

[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. The following are the possible values:

  • ELBSecurityPolicy-2016-08

  • ELBSecurityPolicy-TLS-1-0-2015-04

  • ELBSecurityPolicy-TLS-1-1-2017-01

  • ELBSecurityPolicy-TLS-1-2-2017-01

  • ELBSecurityPolicy-TLS-1-2-Ext-2018-06

  • ELBSecurityPolicy-FS-2018-06

  • ELBSecurityPolicy-FS-1-1-2019-08

  • ELBSecurityPolicy-FS-1-2-2019-08

  • ELBSecurityPolicy-FS-1-2-Res-2019-08

For more information, see Security Policies in the Application Load Balancers Guide and Security Policies in the Network Load Balancers Guide.

" }, "Certificates":{ "shape":"CertificateList", - "documentation":"

The SSL server certificate.

" + "documentation":"

[HTTPS and TLS listeners] The default certificate for the listener. You must provide exactly one certificate. Set CertificateArn to the certificate ARN but do not set IsDefault.

To create a certificate list, use AddListenerCertificates.

" }, "DefaultActions":{ "shape":"Actions", - "documentation":"

The default actions.

" + "documentation":"

The actions for the default rule. The rule must include one forward action or one or more fixed-response actions.

If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" + }, + "AlpnPolicy":{ + "shape":"AlpnPolicyName", + "documentation":"

[TLS listeners] The name of the Application-Layer Protocol Negotiation (ALPN) policy. You can specify one policy name. The following are the possible values:

  • HTTP1Only

  • HTTP2Only

  • HTTP2Optional

  • HTTP2Preferred

  • None

For more information, see ALPN Policies in the Network Load Balancers Guide.

" } - }, - "documentation":"

Contains the parameters for ModifyListener.

" + } }, "ModifyListenerOutput":{ "type":"structure", "members":{ "Listeners":{ "shape":"Listeners", - "documentation":"

Information about the modified listeners.

" + "documentation":"

Information about the modified listener.

" } - }, - "documentation":"

Contains the output of ModifyListener.

" + } }, "ModifyLoadBalancerAttributesInput":{ "type":"structure", @@ -1624,8 +2207,7 @@ "shape":"LoadBalancerAttributes", "documentation":"

The load balancer attributes.

" } - }, - "documentation":"

Contains the parameters for ModifyLoadBalancerAttributes.

" + } }, "ModifyLoadBalancerAttributesOutput":{ "type":"structure", @@ -1634,8 +2216,7 @@ "shape":"LoadBalancerAttributes", "documentation":"

Information about the load balancer attributes.

" } - }, - "documentation":"

Contains the output of ModifyLoadBalancerAttributes.

" + } }, "ModifyRuleInput":{ "type":"structure", @@ -1647,24 +2228,22 @@ }, "Conditions":{ "shape":"RuleConditionList", - "documentation":"

The conditions.

" + "documentation":"

The conditions. Each rule can include zero or one of the following conditions: http-request-method, host-header, path-pattern, and source-ip, and zero or more of the following conditions: http-header and query-string.

" }, "Actions":{ "shape":"Actions", - "documentation":"

The actions.

" + "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, fixed-response, or redirect, and it must be the last action to be performed.

If the action type is forward, you specify one or more target groups. The protocol of the target group must be HTTP or HTTPS for an Application Load Balancer. The protocol of the target group must be TCP, TLS, UDP, or TCP_UDP for a Network Load Balancer.

[HTTPS listeners] If the action type is authenticate-oidc, you authenticate users through an identity provider that is OpenID Connect (OIDC) compliant.

[HTTPS listeners] If the action type is authenticate-cognito, you authenticate users through the user pools supported by Amazon Cognito.

[Application Load Balancer] If the action type is redirect, you redirect specified client requests from one URL to another.

[Application Load Balancer] If the action type is fixed-response, you drop specified client requests and return a custom HTTP response.

" } - }, - "documentation":"

Contains the parameters for ModifyRules.

" + } }, "ModifyRuleOutput":{ "type":"structure", "members":{ "Rules":{ "shape":"Rules", - "documentation":"

Information about the rule.

" + "documentation":"

Information about the modified rule.

" } - }, - "documentation":"

Contains the output of ModifyRules.

" + } }, "ModifyTargetGroupAttributesInput":{ "type":"structure", @@ -1681,8 +2260,7 @@ "shape":"TargetGroupAttributes", "documentation":"

The attributes.

" } - }, - "documentation":"

Contains the parameters for ModifyTargetGroupAttributes.

" + } }, "ModifyTargetGroupAttributesOutput":{ "type":"structure", @@ -1691,8 +2269,7 @@ "shape":"TargetGroupAttributes", "documentation":"

Information about the attributes.

" } - }, - "documentation":"

Contains the output of ModifyTargetGroupAttributes.

" + } }, "ModifyTargetGroupInput":{ "type":"structure", @@ -1704,23 +2281,27 @@ }, "HealthCheckProtocol":{ "shape":"ProtocolEnum", - "documentation":"

The protocol to use to connect with the target.

" + "documentation":"

The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks.

With Network Load Balancers, you can't modify this setting.

" }, "HealthCheckPort":{ "shape":"HealthCheckPort", - "documentation":"

The port to use to connect with the target.

" + "documentation":"

The port the load balancer uses when performing health checks on targets.

" }, "HealthCheckPath":{ "shape":"Path", - "documentation":"

The ping path that is the destination for the health check request.

" + "documentation":"

[HTTP/HTTPS health checks] The ping path that is the destination for the health check request.

" + }, + "HealthCheckEnabled":{ + "shape":"HealthCheckEnabled", + "documentation":"

Indicates whether health checks are enabled.

" }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", - "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target.

" + "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target. For Application Load Balancers, the range is 5 to 300 seconds. For Network Load Balancers, the supported values are 10 or 30 seconds.

With Network Load Balancers, you can't modify this setting.

" }, "HealthCheckTimeoutSeconds":{ "shape":"HealthCheckTimeoutSeconds", - "documentation":"

The amount of time, in seconds, during which no response means a failed health check.

" + "documentation":"

[HTTP/HTTPS health checks] The amount of time, in seconds, during which no response means a failed health check.

With Network Load Balancers, you can't modify this setting.

" }, "HealthyThresholdCount":{ "shape":"HealthCheckThresholdCount", @@ -1728,25 +2309,24 @@ }, "UnhealthyThresholdCount":{ "shape":"HealthCheckThresholdCount", - "documentation":"

The number of consecutive health check failures required before considering the target unhealthy.

" + "documentation":"

The number of consecutive health check failures required before considering the target unhealthy. For Network Load Balancers, this value must be the same as the healthy threshold count.

" }, "Matcher":{ "shape":"Matcher", - "documentation":"

The HTTP codes to use when checking for a successful response from a target.

" + "documentation":"

[HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful response from a target.

With Network Load Balancers, you can't modify this setting.

" } - }, - "documentation":"

Contains the parameters for ModifyTargetGroup.

" + } }, "ModifyTargetGroupOutput":{ "type":"structure", "members":{ "TargetGroups":{ "shape":"TargetGroups", - "documentation":"

Information about the target group.

" + "documentation":"

Information about the modified target group.

" } - }, - "documentation":"

Contains the output of ModifyTargetGroup.

" + } }, + "Name":{"type":"string"}, "OperationNotPermittedException":{ "type":"structure", "members":{ @@ -1769,6 +2349,16 @@ "max":1024, "min":1 }, + "PathPatternConditionConfig":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ListOfString", + "documentation":"

One or more path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use QueryStringConditionConfig.

" + } + }, + "documentation":"

Information about a path pattern condition.

" + }, "Port":{ "type":"integer", "max":65535, @@ -1786,11 +2376,102 @@ }, "exception":true }, + "PrivateIPv4Address":{"type":"string"}, "ProtocolEnum":{ "type":"string", "enum":[ "HTTP", - "HTTPS" + "HTTPS", + "TCP", + "TLS", + "UDP", + "TCP_UDP" + ] + }, + "QueryStringConditionConfig":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"QueryStringKeyValuePairList", + "documentation":"

One or more key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values using a '\\' character.

If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string.

" + } + }, + "documentation":"

Information about a query string condition.

The query string component of a URI starts after the first '?' character and is terminated by either a '#' character or the end of the URI. A typical query string contains key/value pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any character can be percentage encoded.

" + }, + "QueryStringKeyValuePair":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"StringValue", + "documentation":"

The key. You can omit the key.

" + }, + "Value":{ + "shape":"StringValue", + "documentation":"

The value.

" + } + }, + "documentation":"

Information about a key/value pair.

" + }, + "QueryStringKeyValuePairList":{ + "type":"list", + "member":{"shape":"QueryStringKeyValuePair"} + }, + "RedirectActionConfig":{ + "type":"structure", + "required":["StatusCode"], + "members":{ + "Protocol":{ + "shape":"RedirectActionProtocol", + "documentation":"

The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.

" + }, + "Port":{ + "shape":"RedirectActionPort", + "documentation":"

The port. You can specify a value from 1 to 65535 or #{port}.

" + }, + "Host":{ + "shape":"RedirectActionHost", + "documentation":"

The hostname. This component is not percent-encoded. The hostname can contain #{host}.

" + }, + "Path":{ + "shape":"RedirectActionPath", + "documentation":"

The absolute path, starting with the leading \"/\". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.

" + }, + "Query":{ + "shape":"RedirectActionQuery", + "documentation":"

The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading \"?\", as it is automatically added. You can specify any of the reserved keywords.

" + }, + "StatusCode":{ + "shape":"RedirectActionStatusCodeEnum", + "documentation":"

The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).

" + } + }, + "documentation":"

Information about a redirect action.

A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.

You can reuse URI components using the following reserved keywords:

  • #{protocol}

  • #{host}

  • #{port}

  • #{path} (the leading \"/\" is removed)

  • #{query}

For example, you can change the path to \"/new/#{path}\", the hostname to \"example.#{host}\", or the query to \"#{query}&value=xyz\".

" + }, + "RedirectActionHost":{ + "type":"string", + "max":128, + "min":1 + }, + "RedirectActionPath":{ + "type":"string", + "max":128, + "min":1 + }, + "RedirectActionPort":{"type":"string"}, + "RedirectActionProtocol":{ + "type":"string", + "pattern":"^(HTTPS?|#\\{protocol\\})$" + }, + "RedirectActionQuery":{ + "type":"string", + "max":128, + "min":0 + }, + "RedirectActionStatusCodeEnum":{ + "type":"string", + "enum":[ + "HTTP_301", + "HTTP_302" ] }, "RegisterTargetsInput":{ @@ -1806,16 +2487,36 @@ }, "Targets":{ "shape":"TargetDescriptions", - "documentation":"

The targets. The default port for a target is the port for the target group. You can specify a port override. If a target is already registered, you can register it again using a different port.

" + "documentation":"

The targets.

To register a target by instance ID, specify the instance ID. To register a target by IP address, specify the IP address. To register a Lambda function, specify the ARN of the Lambda function.

" } - }, - "documentation":"

Contains the parameters for RegisterTargets.

" + } }, "RegisterTargetsOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of RegisterTargets.

" + } + }, + "RemoveListenerCertificatesInput":{ + "type":"structure", + "required":[ + "ListenerArn", + "Certificates" + ], + "members":{ + "ListenerArn":{ + "shape":"ListenerArn", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + }, + "Certificates":{ + "shape":"CertificateList", + "documentation":"

The certificate to remove. You can specify one certificate per call. Set CertificateArn to the certificate ARN but do not set IsDefault.

" + } + } + }, + "RemoveListenerCertificatesOutput":{ + "type":"structure", + "members":{ + } }, "RemoveTagsInput":{ "type":"structure", @@ -1832,14 +2533,12 @@ "shape":"TagKeys", "documentation":"

The tag keys for the tags to remove.

" } - }, - "documentation":"

Contains the parameters for RemoveTags.

" + } }, "RemoveTagsOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of RemoveTags.

" + } }, "ResourceArn":{"type":"string"}, "ResourceArns":{ @@ -1871,11 +2570,11 @@ }, "Conditions":{ "shape":"RuleConditionList", - "documentation":"

The conditions.

" + "documentation":"

The conditions. Each rule can include zero or one of the following conditions: http-request-method, host-header, path-pattern, and source-ip, and zero or more of the following conditions: http-header and query-string.

" }, "Actions":{ "shape":"Actions", - "documentation":"

The actions.

" + "documentation":"

The actions. Each rule must include exactly one of the following types of actions: forward, redirect, or fixed-response, and it must be the last action to be performed.

" }, "IsDefault":{ "shape":"IsDefault", @@ -1894,11 +2593,35 @@ "members":{ "Field":{ "shape":"ConditionFieldName", - "documentation":"

The only possible value is path-pattern.

" + "documentation":"

The field in the HTTP request. The following are the possible values:

  • http-header

  • http-request-method

  • host-header

  • path-pattern

  • query-string

  • source-ip

" }, "Values":{ "shape":"ListOfString", - "documentation":"

The path pattern. You can specify a single path pattern.

A path pattern is case sensitive, can be up to 255 characters in length, and can contain any of the following characters:

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + "documentation":"

The condition value. You can use Values if the rule contains only host-header and path-pattern conditions. Otherwise, you can use HostHeaderConfig for host-header conditions and PathPatternConfig for path-pattern conditions.

If Field is host-header, you can specify a single host name (for example, my.example.com). A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters.

  • A-Z, a-z, 0-9

  • - .

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

If Field is path-pattern, you can specify a single path pattern (for example, /img/*). A path pattern is case-sensitive, can be up to 128 characters in length, and can contain any of the following characters.

  • A-Z, a-z, 0-9

  • _ - . $ / ~ \" ' @ : +

  • & (using &amp;)

  • * (matches 0 or more characters)

  • ? (matches exactly 1 character)

" + }, + "HostHeaderConfig":{ + "shape":"HostHeaderConditionConfig", + "documentation":"

Information for a host header condition. Specify only when Field is host-header.

" + }, + "PathPatternConfig":{ + "shape":"PathPatternConditionConfig", + "documentation":"

Information for a path pattern condition. Specify only when Field is path-pattern.

" + }, + "HttpHeaderConfig":{ + "shape":"HttpHeaderConditionConfig", + "documentation":"

Information for an HTTP header condition. Specify only when Field is http-header.

" + }, + "QueryStringConfig":{ + "shape":"QueryStringConditionConfig", + "documentation":"

Information for a query string condition. Specify only when Field is query-string.

" + }, + "HttpRequestMethodConfig":{ + "shape":"HttpRequestMethodConditionConfig", + "documentation":"

Information for an HTTP method condition. Specify only when Field is http-request-method.

" + }, + "SourceIpConfig":{ + "shape":"SourceIpConditionConfig", + "documentation":"

Information for a source IP condition. Specify only when Field is source-ip.

" } }, "documentation":"

Information about a condition for a rule.

" @@ -1921,7 +2644,7 @@ }, "RulePriority":{ "type":"integer", - "max":99999, + "max":50000, "min":1 }, "RulePriorityList":{ @@ -1963,6 +2686,32 @@ "type":"list", "member":{"shape":"SecurityGroupId"} }, + "SetIpAddressTypeInput":{ + "type":"structure", + "required":[ + "LoadBalancerArn", + "IpAddressType" + ], + "members":{ + "LoadBalancerArn":{ + "shape":"LoadBalancerArn", + "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The IP address type. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). Internal load balancers must use ipv4. Network Load Balancers must use ipv4.

" + } + } + }, + "SetIpAddressTypeOutput":{ + "type":"structure", + "members":{ + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The IP address type.

" + } + } + }, "SetRulePrioritiesInput":{ "type":"structure", "required":["RulePriorities"], @@ -1971,8 +2720,7 @@ "shape":"RulePriorityList", "documentation":"

The rule priorities.

" } - }, - "documentation":"

Contains the parameters for SetRulePriorities.

" + } }, "SetRulePrioritiesOutput":{ "type":"structure", @@ -1981,8 +2729,7 @@ "shape":"Rules", "documentation":"

Information about the rules.

" } - }, - "documentation":"

Contains the output of SetRulePriorities.

" + } }, "SetSecurityGroupsInput":{ "type":"structure", @@ -1999,8 +2746,7 @@ "shape":"SecurityGroups", "documentation":"

The IDs of the security groups.

" } - }, - "documentation":"

Contains the parameters for SetSecurityGroups.

" + } }, "SetSecurityGroupsOutput":{ "type":"structure", @@ -2009,15 +2755,11 @@ "shape":"SecurityGroups", "documentation":"

The IDs of the security groups associated with the load balancer.

" } - }, - "documentation":"

Contains the output of SetSecurityGroups.

" + } }, "SetSubnetsInput":{ "type":"structure", - "required":[ - "LoadBalancerArn", - "Subnets" - ], + "required":["LoadBalancerArn"], "members":{ "LoadBalancerArn":{ "shape":"LoadBalancerArn", @@ -2025,10 +2767,13 @@ }, "Subnets":{ "shape":"Subnets", - "documentation":"

The IDs of the subnets. You must specify at least two subnets. You can add only one subnet per Availability Zone.

" + "documentation":"

The IDs of the public subnets. You must specify subnets from at least two Availability Zones. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

" + }, + "SubnetMappings":{ + "shape":"SubnetMappings", + "documentation":"

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings.

[Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.

[Network Load Balancers] You can specify subnets from one or more Availability Zones. If you need static IP addresses for your internet-facing load balancer, you can specify one Elastic IP address per subnet. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet.

" } - }, - "documentation":"

Contains the parameters for SetSubnets.

" + } }, "SetSubnetsOutput":{ "type":"structure", @@ -2037,8 +2782,17 @@ "shape":"AvailabilityZones", "documentation":"

Information about the subnet and Availability Zone.

" } + } + }, + "SourceIpConditionConfig":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ListOfString", + "documentation":"

One or more source IP addresses, in CIDR format. You can use both IPv4 and IPv6 addresses. Wildcards are not supported.

If you specify multiple addresses, the condition is satisfied if the source IP address of the request matches one of the CIDR blocks. This condition is not satisfied by the addresses in the X-Forwarded-For header. To search for addresses in the X-Forwarded-For header, use HttpHeaderConditionConfig.

" + } }, - "documentation":"

Contains the output of SetSubnets.

" + "documentation":"

Information about a source IP condition.

You can use this condition to route based on the IP address of the source that connects to the load balancer. If a client is behind a proxy, this is the IP address of the proxy not the IP address of the client.

" }, "SslPolicies":{ "type":"list", @@ -2076,6 +2830,28 @@ "String":{"type":"string"}, "StringValue":{"type":"string"}, "SubnetId":{"type":"string"}, + "SubnetMapping":{ + "type":"structure", + "members":{ + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

The ID of the subnet.

" + }, + "AllocationId":{ + "shape":"AllocationId", + "documentation":"

[Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.

" + }, + "PrivateIPv4Address":{ + "shape":"PrivateIPv4Address", + "documentation":"

[Network Load Balancers] The private IPv4 address for an internal load balancer.

" + } + }, + "documentation":"

Information about a subnet mapping.

" + }, + "SubnetMappings":{ + "type":"list", + "member":{"shape":"SubnetMapping"} + }, "SubnetNotFoundException":{ "type":"structure", "members":{ @@ -2152,11 +2928,15 @@ "members":{ "Id":{ "shape":"TargetId", - "documentation":"

The ID of the target.

" + "documentation":"

The ID of the target. If the target type of the target group is instance, specify an instance ID. If the target type is ip, specify an IP address. If the target type is lambda, specify the ARN of the Lambda function.

" }, "Port":{ "shape":"Port", - "documentation":"

The port on which the target is listening.

" + "documentation":"

The port on which the target is listening. Not used if the target is a Lambda function.

" + }, + "AvailabilityZone":{ + "shape":"ZoneName", + "documentation":"

An Availability Zone or all. This determines whether the target receives traffic from the load balancer nodes in the specified Availability Zone or from all enabled Availability Zones for the load balancer.

This parameter is not supported if the target type of the target group is instance.

If the target type is ip and the IP address is in a subnet of the VPC for the target group, the Availability Zone is automatically detected and this parameter is optional. If the IP address is outside the VPC, this parameter is required.

With an Application Load Balancer, if the target type is ip and the IP address is outside the VPC for the target group, the only supported value is all.

If the target type is lambda, this parameter is optional and the only supported value is all.

" } }, "documentation":"

Information about a target.

" @@ -2182,7 +2962,7 @@ }, "Port":{ "shape":"Port", - "documentation":"

The port on which the targets are listening.

" + "documentation":"

The port on which the targets are listening. Not used if the target is a Lambda function.

" }, "VpcId":{ "shape":"VpcId", @@ -2196,6 +2976,10 @@ "shape":"HealthCheckPort", "documentation":"

The port to use to connect with the target.

" }, + "HealthCheckEnabled":{ + "shape":"HealthCheckEnabled", + "documentation":"

Indicates whether health checks are enabled.

" + }, "HealthCheckIntervalSeconds":{ "shape":"HealthCheckIntervalSeconds", "documentation":"

The approximate amount of time, in seconds, between health checks of an individual target.

" @@ -2223,6 +3007,10 @@ "LoadBalancerArns":{ "shape":"LoadBalancerArns", "documentation":"

The Amazon Resource Names (ARN) of the load balancers that route traffic to this target group.

" + }, + "TargetType":{ + "shape":"TargetTypeEnum", + "documentation":"

The type of target that you must specify when registering targets with this target group. The possible values are instance (targets are specified by instance ID) or ip (targets are specified by IP address).

" } }, "documentation":"

Information about a target group.

" @@ -2249,7 +3037,7 @@ "members":{ "Key":{ "shape":"TargetGroupAttributeKey", - "documentation":"

The name of the attribute.

  • deregistration_delay.timeout_seconds - The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.

  • stickiness.enabled - Indicates whether sticky sessions are enabled. The value is true or false.

  • stickiness.type - The type of sticky sessions. The possible value is lb_cookie.

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

" + "documentation":"

The name of the attribute.

The following attributes are supported by both Application Load Balancers and Network Load Balancers:

  • deregistration_delay.timeout_seconds - The amount of time, in seconds, for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds. If the target is a Lambda function, this attribute is not supported.

  • stickiness.enabled - Indicates whether sticky sessions are enabled. The value is true or false. The default is false.

  • stickiness.type - The type of sticky sessions. The possible values are lb_cookie for Application Load Balancers or source_ip for Network Load Balancers.

The following attributes are supported only if the load balancer is an Application Load Balancer and the target is an instance or an IP address:

  • load_balancing.algorithm.type - The load balancing algorithm determines how the load balancer selects targets when routing requests. The value is round_robin or least_outstanding_requests. The default is round_robin.

  • slow_start.duration_seconds - The time period, in seconds, during which a newly registered target receives an increasing share of the traffic to the target group. After this time period ends, the target receives its full share of traffic. The range is 30-900 seconds (15 minutes). Slow start mode is disabled by default.

  • stickiness.lb_cookie.duration_seconds - The time period, in seconds, during which requests from a client should be routed to the same target. After this time period expires, the load balancer-generated cookie is considered stale. The range is 1 second to 1 week (604800 seconds). The default value is 1 day (86400 seconds).

The following attribute is supported only if the load balancer is an Application Load Balancer and the target is a Lambda function:

  • lambda.multi_value_headers.enabled - Indicates whether the request and response headers that are exchanged between the load balancer and the Lambda function include arrays of values or strings. The value is true or false. The default is false. If the value is false and the request contains a duplicate header field name or query parameter key, the load balancer uses the last value sent by the client.

The following attribute is supported only by Network Load Balancers:

  • proxy_protocol_v2.enabled - Indicates whether Proxy Protocol version 2 is enabled. The value is true or false. The default is false.

" }, "Value":{ "shape":"TargetGroupAttributeValue", @@ -2268,6 +3056,10 @@ "type":"list", "member":{"shape":"TargetGroupAttribute"} }, + "TargetGroupList":{ + "type":"list", + "member":{"shape":"TargetGroupTuple"} + }, "TargetGroupName":{"type":"string"}, "TargetGroupNames":{ "type":"list", @@ -2285,6 +3077,37 @@ }, "exception":true }, + "TargetGroupStickinessConfig":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"TargetGroupStickinessEnabled", + "documentation":"

Indicates whether target group stickiness is enabled.

" + }, + "DurationSeconds":{ + "shape":"TargetGroupStickinessDurationSeconds", + "documentation":"

The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).

" + } + }, + "documentation":"

Information about the target group stickiness for a rule.

" + }, + "TargetGroupStickinessDurationSeconds":{"type":"integer"}, + "TargetGroupStickinessEnabled":{"type":"boolean"}, + "TargetGroupTuple":{ + "type":"structure", + "members":{ + "TargetGroupArn":{ + "shape":"TargetGroupArn", + "documentation":"

The Amazon Resource Name (ARN) of the target group.

" + }, + "Weight":{ + "shape":"TargetGroupWeight", + "documentation":"

The weight. The range is 0 to 999.

" + } + }, + "documentation":"

Information about how traffic will be distributed between multiple target groups in a forward rule.

" + }, + "TargetGroupWeight":{"type":"integer"}, "TargetGroups":{ "type":"list", "member":{"shape":"TargetGroup"} @@ -2298,7 +3121,7 @@ }, "Reason":{ "shape":"TargetHealthReasonEnum", - "documentation":"

The reason code. If the target state is healthy, a reason code is not provided.

If the target state is initial, the reason code can be one of the following values:

  • Elb.RegistrationInProgress - The target is in the process of being registered with the load balancer.

  • Elb.InitialHealthChecking - The load balancer is still sending the target the minimum number of health checks required to determine its health status.

If the target state is unhealthy, the reason code can be one of the following values:

  • Target.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Target.Timeout - The health check requests timed out.

  • Target.FailedHealthChecks - The health checks failed because the connection to the target timed out, the target response was malformed, or the target failed the health check for an unknown reason.

  • Elb.InternalError - The health checks failed due to an internal error.

If the target state is unused, the reason code can be one of the following values:

  • Target.NotRegistered - The target is not registered with the target group.

  • Target.NotInUse - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.

  • Target.InvalidState - The target is in the stopped or terminated state.

If the target state is draining, the reason code can be the following value:

  • Target.DeregistrationInProgress - The target is in the process of being deregistered and the deregistration delay period has not expired.

" + "documentation":"

The reason code.

If the target state is healthy, a reason code is not provided.

If the target state is initial, the reason code can be one of the following values:

  • Elb.RegistrationInProgress - The target is in the process of being registered with the load balancer.

  • Elb.InitialHealthChecking - The load balancer is still sending the target the minimum number of health checks required to determine its health status.

If the target state is unhealthy, the reason code can be one of the following values:

  • Target.ResponseCodeMismatch - The health checks did not return an expected HTTP code. Applies only to Application Load Balancers.

  • Target.Timeout - The health check requests timed out. Applies only to Application Load Balancers.

  • Target.FailedHealthChecks - The load balancer received an error while establishing a connection to the target or the target response was malformed.

  • Elb.InternalError - The health checks failed due to an internal error. Applies only to Application Load Balancers.

If the target state is unused, the reason code can be one of the following values:

  • Target.NotRegistered - The target is not registered with the target group.

  • Target.NotInUse - The target group is not used by any load balancer or the target is in an Availability Zone that is not enabled for its load balancer.

  • Target.InvalidState - The target is in the stopped or terminated state.

  • Target.IpUnusable - The target IP address is reserved for use by a load balancer.

If the target state is draining, the reason code can be the following value:

  • Target.DeregistrationInProgress - The target is in the process of being deregistered and the deregistration delay period has not expired.

If the target state is unavailable, the reason code can be the following value:

  • Target.HealthCheckDisabled - Health checks are disabled for the target group. Applies only to Application Load Balancers.

  • Elb.InternalError - Target health is unavailable due to an internal error. Applies only to Network Load Balancers.

" }, "Description":{ "shape":"Description", @@ -2341,6 +3164,8 @@ "Target.NotInUse", "Target.DeregistrationInProgress", "Target.InvalidState", + "Target.IpUnusable", + "Target.HealthCheckDisabled", "Elb.InternalError" ] }, @@ -2351,15 +3176,36 @@ "healthy", "unhealthy", "unused", - "draining" + "draining", + "unavailable" ] }, "TargetId":{"type":"string"}, + "TargetTypeEnum":{ + "type":"string", + "enum":[ + "instance", + "ip", + "lambda" + ] + }, + "TooManyActionsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You've reached the limit on the number of actions per rule.

", + "error":{ + "code":"TooManyActions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TooManyCertificatesException":{ "type":"structure", "members":{ }, - "documentation":"

You've reached the limit on the number of certificates per listener.

", + "documentation":"

You've reached the limit on the number of certificates per load balancer.

", "error":{ "code":"TooManyCertificates", "httpStatusCode":400, @@ -2451,6 +3297,18 @@ }, "exception":true }, + "TooManyUniqueTargetGroupsPerLoadBalancerException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You've reached the limit on the number of unique target groups per load balancer across all listeners. If a target group is used by multiple actions for a load balancer, it is counted as only one use.

", + "error":{ + "code":"TooManyUniqueTargetGroupsPerLoadBalancer", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "UnsupportedProtocolException":{ "type":"structure", "members":{ @@ -2466,5 +3324,5 @@ "VpcId":{"type":"string"}, "ZoneName":{"type":"string"} }, - "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports two types of load balancers: Classic Load Balancers and Application Load Balancers. A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS), supports path-based routing, and can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.

This reference covers the 2015-12-01 API, which supports Application Load Balancers. The 2012-06-01 API supports Classic Load Balancers.

To get started, complete the following tasks:

  1. Create an Application Load Balancer using CreateLoadBalancer.

  2. Create a target group using CreateTargetGroup.

  3. Register targets for the target group using RegisterTargets.

  4. Create one or more listeners for your load balancer using CreateListener.

  5. (Optional) Create one or more rules for content routing based on URL using CreateRule.

To delete an Application Load Balancer and its related resources, complete the following tasks:

  1. Delete the load balancer using DeleteLoadBalancer.

  2. Delete the target group using DeleteTargetGroup.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

" + "documentation":"Elastic Load Balancing

A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers. This reference covers Application Load Balancers and Network Load Balancers.

An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP/TLS). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC). For more information, see the Elastic Load Balancing User Guide.

All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.

" } diff -Nru python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/elbv2/2015-12-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/elbv2/2015-12-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,100 @@ +{ + "version": 2, + "waiters": { + "LoadBalancerExists": { + "delay": 15, + "operation": "DescribeLoadBalancers", + "maxAttempts": 40, + "acceptors": [ + { + "matcher": "status", + "expected": 200, + "state": "success" + }, + { + "matcher": "error", + "expected": "LoadBalancerNotFound", + "state": "retry" + } + ] + }, + "LoadBalancerAvailable": { + "delay": 15, + "operation": "DescribeLoadBalancers", + "maxAttempts": 40, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "LoadBalancers[].State.Code", + "expected": "active" + }, + { + "state": "retry", + "matcher": "pathAny", + "argument": "LoadBalancers[].State.Code", + "expected": "provisioning" + }, + { + "state": "retry", + "matcher": "error", + "expected": "LoadBalancerNotFound" + } + ] + }, + "LoadBalancersDeleted": { + "delay": 15, + "operation": "DescribeLoadBalancers", + "maxAttempts": 40, + "acceptors": [ + { + "state": "retry", + "matcher": "pathAll", + "argument": "LoadBalancers[].State.Code", + "expected": "active" + }, + { + "matcher": "error", + "expected": "LoadBalancerNotFound", + "state": "success" + } + ] + }, + "TargetInService":{ + "delay":15, + "maxAttempts":40, + "operation":"DescribeTargetHealth", + "acceptors":[ + { + "argument":"TargetHealthDescriptions[].TargetHealth.State", + "expected":"healthy", + "matcher":"pathAll", + "state":"success" + }, + { + "matcher": "error", + "expected": "InvalidInstance", + "state": "retry" + } + ] + }, + "TargetDeregistered": { + "delay": 15, + "maxAttempts": 40, + "operation": "DescribeTargetHealth", + "acceptors": [ + { + "matcher": "error", + "expected": "InvalidTarget", + "state": "success" + }, + { + "argument":"TargetHealthDescriptions[].TargetHealth.State", + "expected":"unused", + "matcher":"pathAll", + "state":"success" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/emr/2009-03-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/examples-1.json --- python-botocore-1.4.70/botocore/data/emr/2009-03-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/emr/2009-03-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/emr/2009-03-31/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -24,6 +24,16 @@ "input_token": "Marker", "output_token": "Marker", "result_key": "Steps" + }, + "ListInstanceFleets": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "InstanceFleets" + }, + "ListSecurityConfigurations": { + "input_token": "Marker", + "output_token": "Marker", + "result_key": "SecurityConfigurations" } } } diff -Nru python-botocore-1.4.70/botocore/data/emr/2009-03-31/service-2.json python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/service-2.json --- python-botocore-1.4.70/botocore/data/emr/2009-03-31/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,11 +7,26 @@ "protocol":"json", "serviceAbbreviation":"Amazon EMR", "serviceFullName":"Amazon Elastic MapReduce", + "serviceId":"EMR", "signatureVersion":"v4", "targetPrefix":"ElasticMapReduce", - "timestampFormat":"unixTimestamp" + "uid":"elasticmapreduce-2009-03-31" }, "operations":{ + "AddInstanceFleet":{ + "name":"AddInstanceFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddInstanceFleetInput"}, + "output":{"shape":"AddInstanceFleetOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds an instance fleet to a running cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x.

" + }, "AddInstanceGroups":{ "name":"AddInstanceGroups", "http":{ @@ -23,7 +38,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

AddInstanceGroups adds an instance group to a running cluster.

" + "documentation":"

Adds one or more instance groups to a running cluster.

" }, "AddJobFlowSteps":{ "name":"AddJobFlowSteps", @@ -36,7 +51,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

AddJobFlowSteps adds new steps to a running job flow. A maximum of 256 steps are allowed in each job flow.

If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, go to Add More than 256 Steps to a Job Flow in the Amazon Elastic MapReduce Developer's Guide.

A step specifies the location of a JAR file stored either on the master node of the job flow or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Elastic MapReduce executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a job flow that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" + "documentation":"

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using SSH to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

A step specifies the location of a JAR file stored either on the master node of the cluster or in Amazon S3. Each step is performed by the main function of the main class of the JAR file. The main class can be specified either in the manifest of the JAR or by using the MainFunction parameter of the step.

Amazon EMR executes each step in the order listed. For a step to be considered complete, the main function must exit with a zero exit code and all Hadoop jobs started while the step was running must have completed and run successfully.

You can only add steps to a cluster that is in one of the following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING.

" }, "AddTags":{ "name":"AddTags", @@ -50,7 +65,21 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tagging Amazon EMR Resources.

" + "documentation":"

Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" + }, + "CancelSteps":{ + "name":"CancelSteps", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelStepsInput"}, + "output":{"shape":"CancelStepsOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Cancels a pending step or steps in a running cluster. Available only in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; it does not guarantee a step will be canceled, even if the request is successfully submitted. You can only cancel steps that are in a PENDING state.

" }, "CreateSecurityConfiguration":{ "name":"CreateSecurityConfiguration", @@ -64,7 +93,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Creates a security configuration using EMR Security Configurations, which are stored in the service. Security Configurations enable you to more easily create a configuration, reuse it, and apply it whenever a cluster is created.

" + "documentation":"

Creates a security configuration, which is stored in the service and can be specified when a cluster is created.

" }, "DeleteSecurityConfiguration":{ "name":"DeleteSecurityConfiguration", @@ -92,7 +121,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on. For information about the cluster steps, see ListSteps.

" + "documentation":"

Provides cluster-level details including status, hardware and software configuration, VPC settings, and so on.

" }, "DescribeJobFlows":{ "name":"DescribeJobFlows", @@ -105,7 +134,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

Regardless of supplied parameters, only job flows created within the last two months are returned.

If no parameters are supplied, then job flows matching either of the following criteria are returned:

  • Job flows created and completed in the last two weeks

  • Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING

Amazon Elastic MapReduce can return a maximum of 512 job flow descriptions.

", + "documentation":"

This API is deprecated and will eventually be removed. We recommend you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions instead.

DescribeJobFlows returns a list of job flows that match all of the supplied parameters. The parameters can include a list of job flow IDs, job flow states, and restrictions on job flow creation date and time.

Regardless of supplied parameters, only job flows created within the last two months are returned.

If no parameters are supplied, then job flows matching either of the following criteria are returned:

  • Job flows created and completed in the last two weeks

  • Job flows created within the last two months that are in one of the following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING

Amazon EMR can return a maximum of 512 job flow descriptions.

", "deprecated":true }, "DescribeSecurityConfiguration":{ @@ -136,6 +165,30 @@ ], "documentation":"

Provides more detail about the cluster step.

" }, + "GetBlockPublicAccessConfiguration":{ + "name":"GetBlockPublicAccessConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetBlockPublicAccessConfigurationInput"}, + "output":{"shape":"GetBlockPublicAccessConfigurationOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns the Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

" + }, + "GetManagedScalingPolicy":{ + "name":"GetManagedScalingPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetManagedScalingPolicyInput"}, + "output":{"shape":"GetManagedScalingPolicyOutput"}, + "documentation":"

Fetches the attached managed scaling policy for an Amazon EMR cluster.

" + }, "ListBootstrapActions":{ "name":"ListBootstrapActions", "http":{ @@ -164,6 +217,20 @@ ], "documentation":"

Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.

" }, + "ListInstanceFleets":{ + "name":"ListInstanceFleets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstanceFleetsInput"}, + "output":{"shape":"ListInstanceFleetsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Lists all available details about the instance fleets in a cluster.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, "ListInstanceGroups":{ "name":"ListInstanceGroups", "http":{ @@ -190,7 +257,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Provides information about the cluster instances that Amazon EMR provisions on behalf of a user when it creates the cluster. For example, this operation indicates when the EC2 instances reach the Ready state, when instances become available to Amazon EMR to use for jobs, and the IP addresses for cluster instances, etc.

" + "documentation":"

Provides information for all active EC2 instances and EC2 instances terminated in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, BOOTSTRAPPING, RUNNING.

" }, "ListSecurityConfigurations":{ "name":"ListSecurityConfigurations", @@ -218,7 +285,34 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Provides a list of steps for the cluster.

" + "documentation":"

Provides a list of steps for the cluster in reverse order unless you specify stepIds with the request of filter by StepStates. You can specify a maximum of ten stepIDs.

" + }, + "ModifyCluster":{ + "name":"ModifyCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterInput"}, + "output":{"shape":"ModifyClusterOutput"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Modifies the number of steps that can be executed concurrently for the cluster specified using ClusterID.

" + }, + "ModifyInstanceFleet":{ + "name":"ModifyInstanceFleet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyInstanceFleetInput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Modifies the target On-Demand and target Spot capacities for the instance fleet with the specified InstanceFleetID within the cluster specified using ClusterID. The call either succeeds or fails atomically.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" }, "ModifyInstanceGroups":{ "name":"ModifyInstanceGroups", @@ -232,6 +326,60 @@ ], "documentation":"

ModifyInstanceGroups modifies the number of nodes and configuration settings of an instance group. The input parameters include the new target instance count for the group and the instance group ID. The call will either succeed or fail atomically.

" }, + "PutAutoScalingPolicy":{ + "name":"PutAutoScalingPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAutoScalingPolicyInput"}, + "output":{"shape":"PutAutoScalingPolicyOutput"}, + "documentation":"

Creates or updates an automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric.

" + }, + "PutBlockPublicAccessConfiguration":{ + "name":"PutBlockPublicAccessConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutBlockPublicAccessConfigurationInput"}, + "output":{"shape":"PutBlockPublicAccessConfigurationOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates or updates an Amazon EMR block public access configuration for your AWS account in the current Region. For more information see Configure Block Public Access for Amazon EMR in the Amazon EMR Management Guide.

" + }, + "PutManagedScalingPolicy":{ + "name":"PutManagedScalingPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutManagedScalingPolicyInput"}, + "output":{"shape":"PutManagedScalingPolicyOutput"}, + "documentation":"

Creates or updates a managed scaling policy for an Amazon EMR cluster. The managed scaling policy defines the limits for resources, such as EC2 instances that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + }, + "RemoveAutoScalingPolicy":{ + "name":"RemoveAutoScalingPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveAutoScalingPolicyInput"}, + "output":{"shape":"RemoveAutoScalingPolicyOutput"}, + "documentation":"

Removes an automatic scaling policy from a specified instance group within an EMR cluster.

" + }, + "RemoveManagedScalingPolicy":{ + "name":"RemoveManagedScalingPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveManagedScalingPolicyInput"}, + "output":{"shape":"RemoveManagedScalingPolicyOutput"}, + "documentation":"

Removes a managed scaling policy from a specified EMR cluster.

" + }, "RemoveTags":{ "name":"RemoveTags", "http":{ @@ -244,7 +392,7 @@ {"shape":"InternalServerException"}, {"shape":"InvalidRequestException"} ], - "documentation":"

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tagging Amazon EMR Resources.

The following example removes the stack tag with value Prod from a cluster:

" + "documentation":"

Removes tags from an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

The following example removes the stack tag with value Prod from a cluster:

" }, "RunJobFlow":{ "name":"RunJobFlow", @@ -257,7 +405,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

RunJobFlow creates and starts running a new job flow. The job flow will run the steps specified. Once the job flow completes, the cluster is stopped and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the job flow will transition to the WAITING state rather than shutting down once the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the job flow and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your job flow is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, go to Add More than 256 Steps to a Job Flow in the Amazon Elastic MapReduce Developer's Guide.

For long running job flows, we recommend that you periodically store your results.

" + "documentation":"

RunJobFlow creates and starts running a new cluster (job flow). The cluster runs the steps specified. After the steps complete, the cluster stops and the HDFS partition is lost. To prevent loss of data, configure the last step of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions to the WAITING state rather than shutting down after the steps have completed.

For additional protection, you can set the JobFlowInstancesConfig TerminationProtected parameter to TRUE to lock the cluster and prevent it from being terminated by API call, user intervention, or in the event of a job flow error.

A maximum of 256 steps are allowed in each job flow.

If your cluster is long-running (such as a Hive data warehouse) or complex, you may require more than 256 steps to process your data. You can bypass the 256-step limitation in various ways, including using the SSH shell to connect to the master node and submitting queries directly to the software running on the master node, such as Hive and Hadoop. For more information on how to do this, see Add More than 256 Steps to a Cluster in the Amazon EMR Management Guide.

For long running clusters, we recommend that you periodically store your results.

The instance fleets configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain InstanceFleets parameters or InstanceGroups parameters, but not both.

" }, "SetTerminationProtection":{ "name":"SetTerminationProtection", @@ -269,7 +417,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

SetTerminationProtection locks a job flow so the Amazon EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a job flow is analogous to calling the Amazon EC2 DisableAPITermination API on all of the EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a job flow and to ensure that in the event of an error, the instances will persist so you can recover any data stored in their ephemeral instance storage.

To terminate a job flow that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, go to Protecting a Job Flow from Termination in the Amazon Elastic MapReduce Developer's Guide.

" + "documentation":"

SetTerminationProtection locks a cluster (job flow) so the EC2 instances in the cluster cannot be terminated by user intervention, an API call, or in the event of a job-flow error. The cluster still terminates upon successful completion of the job flow. Calling SetTerminationProtection on a cluster is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 instances in a cluster.

SetTerminationProtection is used to prevent accidental termination of a cluster and to ensure that in the event of an error, the instances persist so that you can recover any data stored in their ephemeral instance storage.

To terminate a cluster that has been locked by setting SetTerminationProtection to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection in which you set the value to false.

For more information, seeManaging Cluster Termination in the Amazon EMR Management Guide.

" }, "SetVisibleToAllUsers":{ "name":"SetVisibleToAllUsers", @@ -281,7 +429,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

Sets whether all AWS Identity and Access Management (IAM) users under your account can access the specified job flows. This action works on running job flows. You can also set the visibility of a job flow when you launch it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers action can be called only by an IAM user who created the job flow or the AWS account that owns the job flow.

" + "documentation":"

Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster is visible to all IAM users of the AWS account associated with the cluster. Only the IAM user who created the cluster or the AWS account root user can call this action. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If set to false, only the IAM user that created the cluster can perform actions. This action works on running clusters. You can override the default true setting when you create a cluster by using the VisibleToAllUsers parameter with RunJobFlow.

" }, "TerminateJobFlows":{ "name":"TerminateJobFlows", @@ -293,7 +441,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

TerminateJobFlows shuts a list of job flows down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the job flow is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the job flow was created.

The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the job flow, it may take up to 5-20 minutes for the job flow to completely terminate and release allocated resources, such as Amazon EC2 instances.

" + "documentation":"

TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow is shut down, any step not yet completed is canceled and the EC2 instances on which the cluster is running are stopped. Any log files not already saved are uploaded to Amazon S3 if a LogUri was specified when the cluster was created.

The maximum number of clusters allowed is 10. The call to TerminateJobFlows is asynchronous. Depending on the configuration of the cluster, it may take up to 1-5 minutes for the cluster to completely terminate and release allocated resources, such as Amazon EC2 instances.

" } }, "shapes":{ @@ -306,6 +454,40 @@ "CONTINUE" ] }, + "AddInstanceFleetInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceFleet" + ], + "members":{ + "ClusterId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleet":{ + "shape":"InstanceFleetConfig", + "documentation":"

Specifies the configuration of the instance fleet.

" + } + } + }, + "AddInstanceFleetOutput":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" + } + } + }, "AddInstanceGroupsInput":{ "type":"structure", "required":[ @@ -315,7 +497,7 @@ "members":{ "InstanceGroups":{ "shape":"InstanceGroupConfigList", - "documentation":"

Instance Groups to add.

" + "documentation":"

Instance groups to add.

" }, "JobFlowId":{ "shape":"XmlStringMaxLen256", @@ -334,6 +516,10 @@ "InstanceGroupIds":{ "shape":"InstanceGroupIdsList", "documentation":"

Instance group IDs of the newly created instance groups.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" } }, "documentation":"

Output from an AddInstanceGroups call.

" @@ -379,7 +565,7 @@ }, "Tags":{ "shape":"TagList", - "documentation":"

A list of tags to associate with a cluster and propagate to Amazon EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

" + "documentation":"

A list of tags to associate with a cluster and propagate to EC2 instances. Tags are user-defined key/value pairs that consist of a required key string with a maximum of 128 characters, and an optional value string with a maximum of 256 characters.

" } }, "documentation":"

This input identifies a cluster and a list of tags to attach.

" @@ -390,6 +576,14 @@ }, "documentation":"

This output indicates the result of adding tags to a resource.

" }, + "AdjustmentType":{ + "type":"string", + "enum":[ + "CHANGE_IN_CAPACITY", + "PERCENT_CHANGE_IN_CAPACITY", + "EXACT_CAPACITY" + ] + }, "Application":{ "type":"structure", "members":{ @@ -410,12 +604,133 @@ "documentation":"

This option is for advanced users only. This is meta information about third-party applications that third-party vendors use for testing purposes.

" } }, - "documentation":"

An application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument. For more information, see Launch a Job Flow on the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition, respectively.

In Amazon EMR releases 4.0 and greater, the only accepted parameter is the application name. To pass arguments to applications, you supply a configuration for each application.

" + "documentation":"

With Amazon EMR release version 4.0 and later, the only accepted parameter is the application name. To pass arguments to applications, you use configuration classifications specified using configuration JSON objects. For more information, see Configuring Applications.

With earlier Amazon EMR releases, the application is any Amazon or third-party software that you can add to the cluster. This structure contains a list of strings that indicates the software to use with the cluster and accepts a user argument list. Amazon EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action argument.

" }, "ApplicationList":{ "type":"list", "member":{"shape":"Application"} }, + "ArnType":{ + "type":"string", + "max":2048, + "min":20 + }, + "AutoScalingPolicy":{ + "type":"structure", + "required":[ + "Constraints", + "Rules" + ], + "members":{ + "Constraints":{ + "shape":"ScalingConstraints", + "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

" + }, + "Rules":{ + "shape":"ScalingRuleList", + "documentation":"

The scale-in and scale-out rules that comprise the automatic scaling policy.

" + } + }, + "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. An automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" + }, + "AutoScalingPolicyDescription":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"AutoScalingPolicyStatus", + "documentation":"

The status of an automatic scaling policy.

" + }, + "Constraints":{ + "shape":"ScalingConstraints", + "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activity will not cause an instance group to grow above or below these limits.

" + }, + "Rules":{ + "shape":"ScalingRuleList", + "documentation":"

The scale-in and scale-out rules that comprise the automatic scaling policy.

" + } + }, + "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" + }, + "AutoScalingPolicyState":{ + "type":"string", + "enum":[ + "PENDING", + "ATTACHING", + "ATTACHED", + "DETACHING", + "DETACHED", + "FAILED" + ] + }, + "AutoScalingPolicyStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"AutoScalingPolicyStateChangeReasonCode", + "documentation":"

The code indicating the reason for the change in status.USER_REQUEST indicates that the scaling policy status was changed by a user. PROVISION_FAILURE indicates that the status change was because the policy failed to provision. CLEANUP_FAILURE indicates an error.

" + }, + "Message":{ + "shape":"String", + "documentation":"

A friendly, more verbose message that accompanies an automatic scaling policy state change.

" + } + }, + "documentation":"

The reason for an AutoScalingPolicyStatus change.

" + }, + "AutoScalingPolicyStateChangeReasonCode":{ + "type":"string", + "enum":[ + "USER_REQUEST", + "PROVISION_FAILURE", + "CLEANUP_FAILURE" + ] + }, + "AutoScalingPolicyStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"AutoScalingPolicyState", + "documentation":"

Indicates the status of the automatic scaling policy.

" + }, + "StateChangeReason":{ + "shape":"AutoScalingPolicyStateChangeReason", + "documentation":"

The reason for a change in status.

" + } + }, + "documentation":"

The status of an automatic scaling policy.

" + }, + "BlockPublicAccessConfiguration":{ + "type":"structure", + "required":["BlockPublicSecurityGroupRules"], + "members":{ + "BlockPublicSecurityGroupRules":{ + "shape":"Boolean", + "documentation":"

Indicates whether EMR block public access is enabled (true) or disabled (false). By default, the value is false for accounts that have created EMR clusters before July 2019. For accounts created after this, the default is true.

" + }, + "PermittedPublicSecurityGroupRuleRanges":{ + "shape":"PortRanges", + "documentation":"

Specifies ports and port ranges that are permitted to have security group rules that allow inbound traffic from all public sources. For example, if Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, Amazon EMR allows cluster creation if a security group associated with the cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 or IPv6 port ::/0 as the source.

By default, Port 22, which is used for SSH access to the cluster EC2 instances, is in the list of PermittedPublicSecurityGroupRuleRanges.

" + } + }, + "documentation":"

A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules is set to true, Amazon EMR prevents cluster creation if one of the cluster's security groups has a rule that allows inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges.

" + }, + "BlockPublicAccessConfigurationMetadata":{ + "type":"structure", + "required":[ + "CreationDateTime", + "CreatedByArn" + ], + "members":{ + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The date and time that the configuration was created.

" + }, + "CreatedByArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name that created or last modified the configuration.

" + } + }, + "documentation":"

Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

" + }, "Boolean":{"type":"boolean"}, "BooleanObject":{"type":"boolean"}, "BootstrapActionConfig":{ @@ -425,9 +740,16 @@ "ScriptBootstrapAction" ], "members":{ - "Name":{"shape":"XmlStringMaxLen256"}, - "ScriptBootstrapAction":{"shape":"ScriptBootstrapActionConfig"} - } + "Name":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The name of the bootstrap action.

" + }, + "ScriptBootstrapAction":{ + "shape":"ScriptBootstrapActionConfig", + "documentation":"

The script run by the bootstrap action.

" + } + }, + "documentation":"

Configuration of a bootstrap action.

" }, "BootstrapActionConfigList":{ "type":"list", @@ -441,12 +763,121 @@ "documentation":"

A description of the bootstrap action.

" } }, - "documentation":"

Reports the configuration of a bootstrap action in a job flow.

" + "documentation":"

Reports the configuration of a bootstrap action in a cluster (job flow).

" }, "BootstrapActionDetailList":{ "type":"list", "member":{"shape":"BootstrapActionDetail"} }, + "CancelStepsInfo":{ + "type":"structure", + "members":{ + "StepId":{ + "shape":"StepId", + "documentation":"

The encrypted StepId of a step.

" + }, + "Status":{ + "shape":"CancelStepsRequestStatus", + "documentation":"

The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

The reason for the failure if the CancelSteps request fails.

" + } + }, + "documentation":"

Specification of the status of a CancelSteps request. Available only in Amazon EMR version 4.8.0 and later, excluding version 5.0.0.

" + }, + "CancelStepsInfoList":{ + "type":"list", + "member":{"shape":"CancelStepsInfo"} + }, + "CancelStepsInput":{ + "type":"structure", + "required":[ + "ClusterId", + "StepIds" + ], + "members":{ + "ClusterId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The ClusterID for which specified steps will be canceled. Use RunJobFlow and ListClusters to get ClusterIDs.

" + }, + "StepIds":{ + "shape":"StepIdsList", + "documentation":"

The list of StepIDs to cancel. Use ListSteps to get steps and their states for the specified cluster.

" + }, + "StepCancellationOption":{ + "shape":"StepCancellationOption", + "documentation":"

The option to choose for cancelling RUNNING steps. By default, the value is SEND_INTERRUPT.

" + } + }, + "documentation":"

The input argument to the CancelSteps operation.

" + }, + "CancelStepsOutput":{ + "type":"structure", + "members":{ + "CancelStepsInfoList":{ + "shape":"CancelStepsInfoList", + "documentation":"

A list of CancelStepsInfo, which shows the status of specified cancel requests for each StepID specified.

" + } + }, + "documentation":"

The output for the CancelSteps operation.

" + }, + "CancelStepsRequestStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "FAILED" + ] + }, + "CloudWatchAlarmDefinition":{ + "type":"structure", + "required":[ + "ComparisonOperator", + "MetricName", + "Period", + "Threshold" + ], + "members":{ + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

Determines how the metric specified by MetricName is compared to the value specified by Threshold.

" + }, + "EvaluationPeriods":{ + "shape":"Integer", + "documentation":"

The number of periods, in five-minute increments, during which the alarm condition must exist before the alarm triggers automatic scaling activity. The default value is 1.

" + }, + "MetricName":{ + "shape":"String", + "documentation":"

The name of the CloudWatch metric that is watched to determine an alarm condition.

" + }, + "Namespace":{ + "shape":"String", + "documentation":"

The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.

" + }, + "Period":{ + "shape":"Integer", + "documentation":"

The period, in seconds, over which the statistic is applied. EMR CloudWatch metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch metric is specified, specify 300.

" + }, + "Statistic":{ + "shape":"Statistic", + "documentation":"

The statistic to apply to the metric associated with the alarm. The default is AVERAGE.

" + }, + "Threshold":{ + "shape":"NonNegativeDouble", + "documentation":"

The value against which the specified statistic is compared.

" + }, + "Unit":{ + "shape":"Unit", + "documentation":"

The unit of measure associated with the CloudWatch metric being watched. The value specified for Unit must correspond to the units specified in the CloudWatch metric.

" + }, + "Dimensions":{ + "shape":"MetricDimensionList", + "documentation":"

A CloudWatch metric dimension.

" + } + }, + "documentation":"

The definition of a CloudWatch metric alarm, which determines when an automatic scaling activity is triggered. When the defined alarm conditions are satisfied, scaling activity begins.

" + }, "Cluster":{ "type":"structure", "members":{ @@ -462,7 +893,14 @@ "shape":"ClusterStatus", "documentation":"

The current status details about the cluster.

" }, - "Ec2InstanceAttributes":{"shape":"Ec2InstanceAttributes"}, + "Ec2InstanceAttributes":{ + "shape":"Ec2InstanceAttributes", + "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" + }, + "InstanceCollectionType":{ + "shape":"InstanceCollectionType", + "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

The instance group configuration of the cluster. A value of INSTANCE_GROUP indicates a uniform instance group configuration. A value of INSTANCE_FLEET indicates an instance fleets configuration.

" + }, "LogUri":{ "shape":"String", "documentation":"

The path to the Amazon S3 location where logs for this cluster are stored.

" @@ -477,7 +915,7 @@ }, "ReleaseLabel":{ "shape":"String", - "documentation":"

The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel.

" + "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

" }, "AutoTerminate":{ "shape":"Boolean", @@ -489,7 +927,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Indicates whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and manage the job flow if they have the proper policy permissions set. If this value is false, only the IAM user that created the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" + "documentation":"

Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

" }, "Applications":{ "shape":"ApplicationList", @@ -505,19 +943,55 @@ }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" }, "MasterPublicDnsName":{ "shape":"String", - "documentation":"

The public DNS name of the master EC2 instance.

" + "documentation":"

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

" }, "Configurations":{ "shape":"ConfigurationList", - "documentation":"

Amazon EMR releases 4.x or later.

The list of Configurations supplied to the EMR cluster.

" + "documentation":"

Applies only to Amazon EMR releases 4.x and later. The list of Configurations supplied to the EMR cluster.

" }, "SecurityConfiguration":{ "shape":"XmlString", "documentation":"

The name of the security configuration applied to the cluster.

" + }, + "AutoScalingRole":{ + "shape":"XmlString", + "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

" + }, + "ScaleDownBehavior":{ + "shape":"ScaleDownBehavior", + "documentation":"

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION is available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" + }, + "CustomAmiId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.

" + }, + "EbsRootVolumeSize":{ + "shape":"Integer", + "documentation":"

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

" + }, + "RepoUpgradeOnBoot":{ + "shape":"RepoUpgradeOnBoot", + "documentation":"

Applies only when CustomAmiID is used. Specifies the type of updates that are applied from the Amazon Linux AMI package repositories when an instance boots using the AMI.

" + }, + "KerberosAttributes":{ + "shape":"KerberosAttributes", + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" + }, + "OutpostArn":{ + "shape":"OptionalArnType", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

" + }, + "StepConcurrencyLevel":{ + "shape":"Integer", + "documentation":"

Specifies the number of steps that can be executed concurrently.

" } }, "documentation":"

The detailed description of the cluster.

" @@ -555,6 +1029,7 @@ "INTERNAL_ERROR", "VALIDATION_ERROR", "INSTANCE_FAILURE", + "INSTANCE_FLEET_TIMEOUT", "BOOTSTRAP_FAILURE", "USER_REQUEST", "STEP_FAILURE", @@ -600,7 +1075,15 @@ }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour an m1.small instance runs. Larger instances are weighted more, so an EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" + }, + "OutpostArn":{ + "shape":"OptionalArnType", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost where the cluster is launched.

" } }, "documentation":"

The summary description of the cluster.

" @@ -643,29 +1126,73 @@ "documentation":"

Arguments for Amazon EMR to pass to the command for execution.

" } }, - "documentation":"

An entity describing an executable that runs on a cluster.

" + "documentation":"

An entity describing an executable that runs on a cluster.

" + }, + "CommandList":{ + "type":"list", + "member":{"shape":"Command"} + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "GREATER_THAN_OR_EQUAL", + "GREATER_THAN", + "LESS_THAN", + "LESS_THAN_OR_EQUAL" + ] + }, + "ComputeLimits":{ + "type":"structure", + "required":[ + "UnitType", + "MinimumCapacityUnits", + "MaximumCapacityUnits" + ], + "members":{ + "UnitType":{ + "shape":"ComputeLimitsUnitType", + "documentation":"

The unit type used for specifying a managed scaling policy.

" + }, + "MinimumCapacityUnits":{ + "shape":"Integer", + "documentation":"

The lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + }, + "MaximumCapacityUnits":{ + "shape":"Integer", + "documentation":"

The upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + }, + "MaximumOnDemandCapacityUnits":{ + "shape":"Integer", + "documentation":"

The upper boundary of on-demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The on-demand units are not allowed to scale beyond this boundary. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + } + }, + "documentation":"

The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster can not be above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" }, - "CommandList":{ - "type":"list", - "member":{"shape":"Command"} + "ComputeLimitsUnitType":{ + "type":"string", + "enum":[ + "InstanceFleetUnits", + "Instances", + "VCPU" + ] }, "Configuration":{ "type":"structure", "members":{ "Classification":{ "shape":"String", - "documentation":"

The classification of a configuration. For more information see, Amazon EMR Configurations.

" + "documentation":"

The classification within a configuration.

" }, "Configurations":{ "shape":"ConfigurationList", - "documentation":"

A list of configurations you apply to this configuration object.

" + "documentation":"

A list of additional configurations to apply within a configuration object.

" }, "Properties":{ "shape":"StringMap", - "documentation":"

A set of properties supplied to the Configuration object.

" + "documentation":"

A set of properties specified within a configuration classification.

" } }, - "documentation":"

Amazon EMR releases 4.x or later.

Specifies a hardware and software configuration of the EMR cluster. This includes configurations for applications and software bundled with Amazon EMR. The Configuration object is a JSON object which is defined by a classification and a set of properties. Configurations can be nested, so a configuration may have its own Configuration objects listed.

" + "documentation":"

Amazon EMR releases 4.x or later.

An optional configuration specification to be used when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file. For more information, see Configuring Applications.

" }, "ConfigurationList":{ "type":"list", @@ -684,7 +1211,7 @@ }, "SecurityConfiguration":{ "shape":"String", - "documentation":"

The security configuration details in JSON format.

" + "documentation":"

The security configuration details in JSON format. For JSON parameters and examples, see Use Security Configurations to Set Up Cluster Security in the Amazon EMR Management Guide.

" } } }, @@ -842,7 +1369,7 @@ "members":{ "VolumeSpecification":{ "shape":"VolumeSpecification", - "documentation":"

EBS volume specifications such as volume type, IOPS, and size(GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" + "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" }, "Device":{ "shape":"String", @@ -857,11 +1384,11 @@ "members":{ "VolumeSpecification":{ "shape":"VolumeSpecification", - "documentation":"

EBS volume specifications such as volume type, IOPS, and size(GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" + "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" }, "VolumesPerInstance":{ "shape":"Integer", - "documentation":"

Number of EBS volumes with specific volume configuration, that will be associated with every instance in the instance group

" + "documentation":"

Number of EBS volumes with a specific volume configuration that will be associated with every instance in the instance group

" } }, "documentation":"

Configuration of requested EBS block device associated with the instance group with count of volumes that will be associated to every instance.

" @@ -877,9 +1404,16 @@ "EbsConfiguration":{ "type":"structure", "members":{ - "EbsBlockDeviceConfigs":{"shape":"EbsBlockDeviceConfigList"}, - "EbsOptimized":{"shape":"BooleanObject"} - } + "EbsBlockDeviceConfigs":{ + "shape":"EbsBlockDeviceConfigList", + "documentation":"

An array of Amazon EBS volume specifications attached to a cluster instance.

" + }, + "EbsOptimized":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether an Amazon EBS volume is EBS-optimized.

" + } + }, + "documentation":"

The Amazon EBS configuration of a cluster instance.

" }, "EbsVolume":{ "type":"structure", @@ -908,15 +1442,23 @@ }, "Ec2SubnetId":{ "shape":"String", - "documentation":"

To launch the job flow in Amazon VPC, set this parameter to the identifier of the Amazon VPC subnet where you want the job flow to launch. If you do not specify this value, the job flow is launched in the normal AWS cloud, outside of a VPC.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance type for nodes of a job flow launched in a VPC.

" + "documentation":"

Set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, and your account supports EC2-Classic, the cluster launches in EC2-Classic.

" + }, + "RequestedEc2SubnetIds":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters configured with the instance fleets option. Specifies the unique identifier of one or more Amazon EC2 subnets in which to launch EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, and then launches all cluster instances within that Subnet. If this value is not specified, and the account and Region support EC2-Classic networks, the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones instead of this setting. If EC2-Classic is not supported, and no Subnet is specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

" }, "Ec2AvailabilityZone":{ "shape":"String", - "documentation":"

The Availability Zone in which the cluster will run.

" + "documentation":"

The Availability Zone in which the cluster will run.

" + }, + "RequestedEc2AvailabilityZones":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters configured with the instance fleets option. Specifies one or more Availability Zones in which to launch EC2 cluster instances when the EC2-Classic network configuration is supported. Amazon EMR chooses the Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, and then launches all cluster instances within that Availability Zone. If you do not specify this value, Amazon EMR chooses the Availability Zone for you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified together.

" }, "IamInstanceProfile":{ "shape":"String", - "documentation":"

The IAM role that was specified when the job flow was launched. The EC2 instances of the job flow assume this role.

" + "documentation":"

The IAM role that was specified when the cluster was launched. The EC2 instances of the cluster assume this role.

" }, "EmrManagedMasterSecurityGroup":{ "shape":"String", @@ -924,7 +1466,7 @@ }, "EmrManagedSlaveSecurityGroup":{ "shape":"String", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" + "documentation":"

The identifier of the Amazon EC2 security group for the core and task nodes.

" }, "ServiceAccessSecurityGroup":{ "shape":"String", @@ -936,7 +1478,7 @@ }, "AdditionalSlaveSecurityGroups":{ "shape":"StringList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" + "documentation":"

A list of additional Amazon EC2 security group IDs for the core and task nodes.

" } }, "documentation":"

Provides information about the EC2 instances in a cluster grouped by category. For example, key name, subnet ID, IAM instance profile, and so on.

" @@ -965,6 +1507,47 @@ }, "documentation":"

The details of the step failure. The service attempts to detect the root cause for many common failures.

" }, + "GetBlockPublicAccessConfigurationInput":{ + "type":"structure", + "members":{ + } + }, + "GetBlockPublicAccessConfigurationOutput":{ + "type":"structure", + "required":[ + "BlockPublicAccessConfiguration", + "BlockPublicAccessConfigurationMetadata" + ], + "members":{ + "BlockPublicAccessConfiguration":{ + "shape":"BlockPublicAccessConfiguration", + "documentation":"

A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating the block public access configuration to remove the exception.

For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

" + }, + "BlockPublicAccessConfigurationMetadata":{ + "shape":"BlockPublicAccessConfigurationMetadata", + "documentation":"

Properties that describe the AWS principal that created the BlockPublicAccessConfiguration using the PutBlockPublicAccessConfiguration action as well as the date and time that the configuration was created. Each time a configuration for block public access is updated, Amazon EMR updates this metadata.

" + } + } + }, + "GetManagedScalingPolicyInput":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of the cluster for which the managed scaling policy will be fetched.

" + } + } + }, + "GetManagedScalingPolicyOutput":{ + "type":"structure", + "members":{ + "ManagedScalingPolicy":{ + "shape":"ManagedScalingPolicy", + "documentation":"

Specifies the managed scaling policy that is attached to an Amazon EMR cluster.

" + } + } + }, "HadoopJarStepConfig":{ "type":"structure", "required":["Jar"], @@ -1045,6 +1628,18 @@ "shape":"String", "documentation":"

The identifier of the instance group to which this instance belongs.

" }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet to which an EC2 instance belongs.

" + }, + "Market":{ + "shape":"MarketType", + "documentation":"

The instance purchasing option. Valid values are ON_DEMAND or SPOT.

" + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The EC2 instance type, for example m3.xlarge.

" + }, "EbsVolumes":{ "shape":"EbsVolumeList", "documentation":"

The list of EBS volumes that are attached to this instance.

" @@ -1052,6 +1647,208 @@ }, "documentation":"

Represents an EC2 instance provisioned as part of cluster.

" }, + "InstanceCollectionType":{ + "type":"string", + "enum":[ + "INSTANCE_FLEET", + "INSTANCE_GROUP" + ] + }, + "InstanceFleet":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + }, + "Name":{ + "shape":"XmlStringMaxLen256", + "documentation":"

A friendly name for the instance fleet.

" + }, + "Status":{ + "shape":"InstanceFleetStatus", + "documentation":"

The current status of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER, CORE, or TASK.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity to determine the Spot capacity units that have been provisioned for the instance fleet.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "ProvisionedOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of On-Demand units that have been provisioned for the instance fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might be less than or greater than TargetOnDemandCapacity.

" + }, + "ProvisionedSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of Spot units that have been provisioned for this instance fleet to fulfill TargetSpotCapacity. This provisioned capacity might be less than or greater than TargetSpotCapacity.

" + }, + "InstanceTypeSpecifications":{ + "shape":"InstanceTypeSpecificationList", + "documentation":"

The specification for the instance types that comprise an instance fleet. Up to five unique instance specifications may be defined for each instance fleet.

" + }, + "LaunchSpecifications":{ + "shape":"InstanceFleetProvisioningSpecifications", + "documentation":"

Describes the launch specification for an instance fleet.

" + } + }, + "documentation":"

Describes an instance fleet, which is a group of EC2 instances that host a particular node type (master, core, or task) in an Amazon EMR cluster. Instance fleets can consist of a mix of instance types and On-Demand and Spot instances, which are provisioned to meet a defined target capacity.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetConfig":{ + "type":"structure", + "required":["InstanceFleetType"], + "members":{ + "Name":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The friendly name of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type that the instance fleet hosts. Valid values are MASTER,CORE,and TASK.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet, which determines how many On-Demand instances to provision. When the instance fleet launches, Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When an On-Demand instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only Spot instances are provisioned for the instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet, which determines how many Spot instances to provision. When the instance fleet launches, Amazon EMR tries to provision Spot instances as specified by InstanceTypeConfig. Each instance configuration has a specified WeightedCapacity. When a Spot instance is provisioned, the WeightedCapacity units count toward the target capacity. Amazon EMR provisions instances until the target capacity is totally fulfilled, even if this results in an overage. For example, if there are 2 units remaining to fulfill capacity, and Amazon EMR can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the target capacity is exceeded by 3 units.

If not specified or set to 0, only On-Demand instances are provisioned for the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, and its value must be 1.

" + }, + "InstanceTypeConfigs":{ + "shape":"InstanceTypeConfigList", + "documentation":"

The instance type configurations that define the EC2 instances in the instance fleet.

" + }, + "LaunchSpecifications":{ + "shape":"InstanceFleetProvisioningSpecifications", + "documentation":"

The launch specification for the instance fleet.

" + } + }, + "documentation":"

The configuration that defines an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetConfigList":{ + "type":"list", + "member":{"shape":"InstanceFleetConfig"} + }, + "InstanceFleetId":{"type":"string"}, + "InstanceFleetList":{ + "type":"list", + "member":{"shape":"InstanceFleet"} + }, + "InstanceFleetModifyConfig":{ + "type":"structure", + "required":["InstanceFleetId"], + "members":{ + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

A unique identifier for the instance fleet.

" + }, + "TargetOnDemandCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of On-Demand units for the instance fleet. For more information see InstanceFleetConfig$TargetOnDemandCapacity.

" + }, + "TargetSpotCapacity":{ + "shape":"WholeNumber", + "documentation":"

The target capacity of Spot units for the instance fleet. For more information, see InstanceFleetConfig$TargetSpotCapacity.

" + } + }, + "documentation":"

Configuration parameters for an instance fleet modification request.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetProvisioningSpecifications":{ + "type":"structure", + "required":["SpotSpecification"], + "members":{ + "SpotSpecification":{ + "shape":"SpotProvisioningSpecification", + "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

" + } + }, + "documentation":"

The launch specification for Spot instances in the fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetState":{ + "type":"string", + "enum":[ + "PROVISIONING", + "BOOTSTRAPPING", + "RUNNING", + "RESIZING", + "SUSPENDED", + "TERMINATING", + "TERMINATED" + ] + }, + "InstanceFleetStateChangeReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"InstanceFleetStateChangeReasonCode", + "documentation":"

A code corresponding to the reason the state change occurred.

" + }, + "Message":{ + "shape":"String", + "documentation":"

An explanatory message.

" + } + }, + "documentation":"

Provides status change reason details for the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetStateChangeReasonCode":{ + "type":"string", + "enum":[ + "INTERNAL_ERROR", + "VALIDATION_ERROR", + "INSTANCE_FAILURE", + "CLUSTER_TERMINATED" + ] + }, + "InstanceFleetStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"InstanceFleetState", + "documentation":"

A code representing the instance fleet status.

  • PROVISIONING—The instance fleet is provisioning EC2 resources and is not yet ready to run jobs.

  • BOOTSTRAPPING—EC2 instances and other resources have been provisioned and the bootstrap actions specified for the instances are underway.

  • RUNNING—EC2 instances and other resources are running. They are either executing jobs or waiting to execute jobs.

  • RESIZING—A resize operation is underway. EC2 instances are either being added or removed.

  • SUSPENDED—A resize operation could not complete. Existing EC2 instances are running, but instances can't be added or removed.

  • TERMINATING—The instance fleet is terminating EC2 instances.

  • TERMINATED—The instance fleet is no longer active, and all EC2 instances have been terminated.

" + }, + "StateChangeReason":{ + "shape":"InstanceFleetStateChangeReason", + "documentation":"

Provides status change reason details for the instance fleet.

" + }, + "Timeline":{ + "shape":"InstanceFleetTimeline", + "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

" + } + }, + "documentation":"

The status of the instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetTimeline":{ + "type":"structure", + "members":{ + "CreationDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet was created.

" + }, + "ReadyDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet was ready to run jobs.

" + }, + "EndDateTime":{ + "shape":"Date", + "documentation":"

The time and date the instance fleet terminated.

" + } + }, + "documentation":"

Provides historical timestamps for the instance fleet, including the time of creation, the time it became ready to run jobs, and the time of termination.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceFleetType":{ + "type":"string", + "enum":[ + "MASTER", + "CORE", + "TASK" + ] + }, "InstanceGroup":{ "type":"structure", "members":{ @@ -1073,7 +1870,7 @@ }, "BidPrice":{ "shape":"String", - "documentation":"

The bid price for each EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.

" + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" }, "InstanceType":{ "shape":"InstanceType", @@ -1095,6 +1892,18 @@ "shape":"ConfigurationList", "documentation":"

Amazon EMR releases 4.x or later.

The list of configurations supplied for an EMR cluster instance group. You can specify a separate configuration for each instance group (master, core, and task).

" }, + "ConfigurationsVersion":{ + "shape":"Long", + "documentation":"

The version number of the requested configuration specification for this instance group.

" + }, + "LastSuccessfullyAppliedConfigurations":{ + "shape":"ConfigurationList", + "documentation":"

A list of configurations that were successfully applied for an instance group last time.

" + }, + "LastSuccessfullyAppliedConfigurationsVersion":{ + "shape":"Long", + "documentation":"

The version number of a configuration specification that was successfully applied for an instance group last time.

" + }, "EbsBlockDevices":{ "shape":"EbsBlockDeviceList", "documentation":"

The EBS block devices that are mapped to this instance group.

" @@ -1106,6 +1915,10 @@ "ShrinkPolicy":{ "shape":"ShrinkPolicy", "documentation":"

Policy for customizing shrink operations.

" + }, + "AutoScalingPolicy":{ + "shape":"AutoScalingPolicyDescription", + "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" } }, "documentation":"

This entity represents an instance group, which is a group of instances that have common purpose. For example, CORE instance group is used for HDFS.

" @@ -1124,7 +1937,7 @@ }, "Market":{ "shape":"MarketType", - "documentation":"

Market type of the Amazon EC2 instances used to create a cluster node.

" + "documentation":"

Market type of the EC2 instances used to create a cluster node.

" }, "InstanceRole":{ "shape":"InstanceRoleType", @@ -1132,11 +1945,11 @@ }, "BidPrice":{ "shape":"XmlStringMaxLen256", - "documentation":"

Bid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.

" + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

The Amazon EC2 instance type for all instances in the instance group.

" + "documentation":"

The EC2 instance type for all instances in the instance group.

" }, "InstanceCount":{ "shape":"Integer", @@ -1148,7 +1961,11 @@ }, "EbsConfiguration":{ "shape":"EbsConfiguration", - "documentation":"

EBS configurations that will be attached to each Amazon EC2 instance in the instance group.

" + "documentation":"

EBS configurations that will be attached to each EC2 instance in the instance group.

" + }, + "AutoScalingPolicy":{ + "shape":"AutoScalingPolicy", + "documentation":"

An automatic scaling policy for a core instance group or task instance group in an Amazon EMR cluster. The automatic scaling policy defines how an instance group dynamically adds and terminates EC2 instances in response to the value of a CloudWatch metric. See PutAutoScalingPolicy.

" } }, "documentation":"

Configuration defining a new instance group.

" @@ -1179,7 +1996,7 @@ }, "Market":{ "shape":"MarketType", - "documentation":"

Market type of the Amazon EC2 instances used to create a cluster node.

" + "documentation":"

Market type of the EC2 instances used to create a cluster node.

" }, "InstanceRole":{ "shape":"InstanceRoleType", @@ -1187,11 +2004,11 @@ }, "BidPrice":{ "shape":"XmlStringMaxLen256", - "documentation":"

Bid price for EC2 Instances when launching nodes as Spot Instances, expressed in USD.

" + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" }, "InstanceType":{ "shape":"InstanceType", - "documentation":"

Amazon EC2 Instance type.

" + "documentation":"

EC2 instance type.

" }, "InstanceRequestCount":{ "shape":"Integer", @@ -1255,14 +2072,18 @@ }, "EC2InstanceIdsToTerminate":{ "shape":"EC2InstanceIdsToTerminateList", - "documentation":"

The EC2 InstanceIds to terminate. Once you terminate the instances, the instance group will not return to its original requested size.

" + "documentation":"

The EC2 InstanceIds to terminate. After you terminate the instances, the instance group will not return to its original requested size.

" }, "ShrinkPolicy":{ "shape":"ShrinkPolicy", "documentation":"

Policy for customizing shrink operations.

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A list of new or modified configurations to apply for an instance group.

" } }, - "documentation":"

Modify an instance group size.

" + "documentation":"

Modify the size or configurations of an instance group.

" }, "InstanceGroupModifyConfigList":{ "type":"list", @@ -1274,6 +2095,7 @@ "PROVISIONING", "BOOTSTRAPPING", "RUNNING", + "RECONFIGURING", "RESIZING", "SUSPENDED", "TERMINATING", @@ -1465,6 +2287,79 @@ "min":1, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "InstanceTypeConfig":{ + "type":"structure", + "required":["InstanceType"], + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

An EC2 instance type, such as m3.xlarge.

" + }, + "WeightedCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. This value is 1 for a master instance fleet, and must be 1 or greater for core and task instance fleets. Defaults to 1 if not specified.

" + }, + "BidPrice":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" + }, + "BidPriceAsPercentageOfOnDemandPrice":{ + "shape":"NonNegativeDouble", + "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.

" + }, + "EbsConfiguration":{ + "shape":"EbsConfiguration", + "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software that run on the cluster.

" + } + }, + "documentation":"

An instance type configuration for each instance type in an instance fleet, which determines the EC2 instances Amazon EMR attempts to provision to fulfill On-Demand and Spot target capacities. There can be a maximum of 5 instance type configurations in a fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceTypeConfigList":{ + "type":"list", + "member":{"shape":"InstanceTypeConfig"} + }, + "InstanceTypeSpecification":{ + "type":"structure", + "members":{ + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

The EC2 instance type, for example m3.xlarge.

" + }, + "WeightedCapacity":{ + "shape":"WholeNumber", + "documentation":"

The number of units that a provisioned instance of this type provides toward fulfilling the target capacities defined in InstanceFleetConfig. Capacity values represent performance characteristics such as vCPUs, memory, or I/O. If not specified, the default value is 1.

" + }, + "BidPrice":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The bid price for each EC2 Spot instance type as defined by InstanceType. Expressed in USD.

" + }, + "BidPriceAsPercentageOfOnDemandPrice":{ + "shape":"NonNegativeDouble", + "documentation":"

The bid price, as a percentage of On-Demand price, for each EC2 Spot instance as defined by InstanceType. Expressed as a number (for example, 20 specifies 20%).

" + }, + "Configurations":{ + "shape":"ConfigurationList", + "documentation":"

A configuration classification that applies when provisioning cluster instances, which can include configurations for applications and software bundled with Amazon EMR.

" + }, + "EbsBlockDevices":{ + "shape":"EbsBlockDeviceList", + "documentation":"

The configuration of Amazon Elastic Block Storage (EBS) attached to each instance as defined by InstanceType.

" + }, + "EbsOptimized":{ + "shape":"BooleanObject", + "documentation":"

Evaluates to TRUE when the specified InstanceType is EBS-optimized.

" + } + }, + "documentation":"

The configuration specification for each instance type in an instance fleet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "InstanceTypeSpecificationList":{ + "type":"list", + "member":{"shape":"InstanceTypeSpecification"} + }, "Integer":{"type":"integer"}, "InternalServerError":{ "type":"structure", @@ -1523,7 +2418,7 @@ }, "AmiVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

The version of the AMI used to initialize Amazon EC2 instances in the job flow. For a list of AMI versions currently supported by Amazon ElasticMapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic MapReduce Developer Guide.

" + "documentation":"

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

" }, "ExecutionStatusDetail":{ "shape":"JobFlowExecutionStatusDetail", @@ -1547,7 +2442,7 @@ }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the job flow. If it is set to false, only the IAM user that created the job flow can view and manage it. This value can be changed using the SetVisibleToAllUsers action.

" + "documentation":"

Indicates whether the cluster is visible to all IAM users of the AWS account associated with the cluster. The default value, true, indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. If this value is false, only the IAM user that created the cluster can perform actions. This value can be changed on a running cluster by using the SetVisibleToAllUsers action. You can override the default value of true when you create a cluster by using the VisibleToAllUsers parameter of the RunJobFlow action.

" }, "JobFlowRole":{ "shape":"XmlString", @@ -1556,9 +2451,17 @@ "ServiceRole":{ "shape":"XmlString", "documentation":"

The IAM role that will be assumed by the Amazon EMR service to access AWS resources on your behalf.

" + }, + "AutoScalingRole":{ + "shape":"XmlString", + "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides a way for the automatic scaling feature to get the required permissions it needs to launch and terminate EC2 instances in an instance group.

" + }, + "ScaleDownBehavior":{ + "shape":"ScaleDownBehavior", + "documentation":"

The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" } }, - "documentation":"

A description of a job flow.

" + "documentation":"

A description of a cluster (job flow).

" }, "JobFlowDetailList":{ "type":"list", @@ -1614,7 +2517,7 @@ "documentation":"

Description of the job flow last changed state.

" } }, - "documentation":"

Describes the status of the job flow.

" + "documentation":"

Describes the status of the cluster (job flow).

" }, "JobFlowInstancesConfig":{ "type":"structure", @@ -1625,39 +2528,47 @@ }, "SlaveInstanceType":{ "shape":"InstanceType", - "documentation":"

The EC2 instance type of the slave nodes.

" + "documentation":"

The EC2 instance type of the core and task nodes.

" }, "InstanceCount":{ "shape":"Integer", - "documentation":"

The number of Amazon EC2 instances used to execute the job flow.

" + "documentation":"

The number of EC2 instances in the cluster.

" }, "InstanceGroups":{ "shape":"InstanceGroupConfigList", - "documentation":"

Configuration for the job flow's instance groups.

" + "documentation":"

Configuration for the instance groups in a cluster.

" + }, + "InstanceFleets":{ + "shape":"InstanceFleetConfigList", + "documentation":"

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

Describes the EC2 instances and instance configurations for clusters that use the instance fleet configuration.

" }, "Ec2KeyName":{ "shape":"XmlStringMaxLen256", - "documentation":"

The name of the Amazon EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

" + "documentation":"

The name of the EC2 key pair that can be used to ssh to the master node as the user called \"hadoop.\"

" }, "Placement":{ "shape":"PlacementType", - "documentation":"

The Availability Zone the job flow will run in.

" + "documentation":"

The Availability Zone in which the cluster runs.

" }, "KeepJobFlowAliveWhenNoSteps":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow should be kept alive after completing all steps.

" + "documentation":"

Specifies whether the cluster should remain available after completing all steps.

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

Specifies whether to lock the job flow to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job flow error.

" + "documentation":"

Specifies whether to lock the cluster to prevent the Amazon EC2 instances from being terminated by API call, user intervention, or in the event of a job-flow error.

" }, "HadoopVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

The Hadoop version for the job flow. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

" + "documentation":"

Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop version for the cluster. Valid inputs are \"0.18\" (deprecated), \"0.20\" (deprecated), \"0.20.205\" (deprecated), \"1.0.3\", \"2.2.0\", or \"2.4.0\". If you do not set this value, the default of 0.18 is used, unless the AmiVersion parameter is set in the RunJobFlow call, in which case the default version of Hadoop for that AMI version is used.

" }, "Ec2SubnetId":{ "shape":"XmlStringMaxLen256", - "documentation":"

To launch the job flow in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the job flow to launch. If you do not specify this value, the job flow is launched in the normal Amazon Web Services cloud, outside of an Amazon VPC.

Amazon VPC currently does not support cluster compute quadruple extra large (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance type for nodes of a job flow launched in a Amazon VPC.

" + "documentation":"

Applies to clusters that use the uniform instance group configuration. To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value and your account supports EC2-Classic, the cluster launches in EC2-Classic.

" + }, + "Ec2SubnetIds":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

Applies to clusters that use the instance fleet configuration. When multiple EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances in the optimal subnet.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" }, "EmrManagedMasterSecurityGroup":{ "shape":"XmlStringMaxLen256", @@ -1665,7 +2576,7 @@ }, "EmrManagedSlaveSecurityGroup":{ "shape":"XmlStringMaxLen256", - "documentation":"

The identifier of the Amazon EC2 security group for the slave nodes.

" + "documentation":"

The identifier of the Amazon EC2 security group for the core and task nodes.

" }, "ServiceAccessSecurityGroup":{ "shape":"XmlStringMaxLen256", @@ -1677,10 +2588,10 @@ }, "AdditionalSlaveSecurityGroups":{ "shape":"SecurityGroupsList", - "documentation":"

A list of additional Amazon EC2 security group IDs for the slave nodes.

" + "documentation":"

A list of additional Amazon EC2 security group IDs for the core and task nodes.

" } }, - "documentation":"

A description of the Amazon EC2 instance running the job flow. A valid JobFlowInstancesConfig must contain at least InstanceGroups, which is the recommended configuration. However, a valid alternative is to have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present).

" + "documentation":"

A description of the Amazon EC2 instance on which the cluster (job flow) runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or InstanceFleets, which is the recommended configuration. They cannot be used together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount (all three must be present), but we don't recommend this configuration.

" }, "JobFlowInstancesDetail":{ "type":"structure", @@ -1696,7 +2607,7 @@ }, "MasterPublicDnsName":{ "shape":"XmlString", - "documentation":"

The DNS name of the master node.

" + "documentation":"

The DNS name of the master node. If the cluster is on a private subnet, this is the private DNS name. On a public subnet, this is the public DNS name.

" }, "MasterInstanceId":{ "shape":"XmlString", @@ -1704,46 +2615,76 @@ }, "SlaveInstanceType":{ "shape":"InstanceType", - "documentation":"

The Amazon EC2 slave node instance type.

" + "documentation":"

The Amazon EC2 core and task node instance type.

" }, "InstanceCount":{ "shape":"Integer", - "documentation":"

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and slave node. If the value is greater than 1, one instance is the master node and all others are slave nodes.

" + "documentation":"

The number of Amazon EC2 instances in the cluster. If the value is 1, the same instance serves as both the master and core and task node. If the value is greater than 1, one instance is the master node and all others are core and task nodes.

" }, "InstanceGroups":{ "shape":"InstanceGroupDetailList", - "documentation":"

Details about the job flow's instance groups.

" + "documentation":"

Details about the instance groups in a cluster.

" }, "NormalizedInstanceHours":{ "shape":"Integer", - "documentation":"

An approximation of the cost of the job flow, represented in m1.small/hours. This value is incremented once for every hour an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" + "documentation":"

An approximation of the cost of the cluster, represented in m1.small/hours. This value is incremented one time for every hour that an m1.small runs. Larger instances are weighted more, so an Amazon EC2 instance that is roughly four times more expensive would result in the normalized instance hours being incremented by four. This result is only an approximation and does not reflect the actual billing rate.

" }, "Ec2KeyName":{ "shape":"XmlStringMaxLen256", - "documentation":"

The name of an Amazon EC2 key pair that can be used to ssh to the master node of job flow.

" + "documentation":"

The name of an Amazon EC2 key pair that can be used to ssh to the master node.

" }, "Ec2SubnetId":{ "shape":"XmlStringMaxLen256", - "documentation":"

For job flows launched within Amazon Virtual Private Cloud, this value specifies the identifier of the subnet where the job flow was launched.

" + "documentation":"

For clusters launched within Amazon Virtual Private Cloud, this is the identifier of the subnet where the cluster was launched.

" }, "Placement":{ "shape":"PlacementType", - "documentation":"

The Amazon EC2 Availability Zone for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone for the cluster.

" }, "KeepJobFlowAliveWhenNoSteps":{ "shape":"Boolean", - "documentation":"

Specifies whether the job flow should terminate after completing all steps.

" + "documentation":"

Specifies whether the cluster should remain available after completing all steps.

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job flow error.

" + "documentation":"

Specifies whether the Amazon EC2 instances in the cluster are protected from termination by API calls, user intervention, or in the event of a job-flow error.

" }, "HadoopVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

The Hadoop version for the job flow.

" + "documentation":"

The Hadoop version for the cluster.

" + } + }, + "documentation":"

Specify the type of Amazon EC2 instances that the cluster (job flow) runs on.

" + }, + "KerberosAttributes":{ + "type":"structure", + "required":[ + "Realm", + "KdcAdminPassword" + ], + "members":{ + "Realm":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The name of the Kerberos realm to which all nodes in a cluster belong. For example, EC2.INTERNAL.

" + }, + "KdcAdminPassword":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The password used within the cluster for the kadmin service on the cluster-dedicated KDC, which maintains Kerberos principals, password policies, and keytabs for the cluster.

" + }, + "CrossRealmTrustPrincipalPassword":{ + "shape":"XmlStringMaxLen256", + "documentation":"

Required only when establishing a cross-realm trust with a KDC in a different realm. The cross-realm principal password, which must be identical across realms.

" + }, + "ADDomainJoinUser":{ + "shape":"XmlStringMaxLen256", + "documentation":"

Required only when establishing a cross-realm trust with an Active Directory domain. A user with sufficient privileges to join resources to the domain.

" + }, + "ADDomainJoinPassword":{ + "shape":"XmlStringMaxLen256", + "documentation":"

The Active Directory password for ADDomainJoinUser.

" } }, - "documentation":"

Specify the type of Amazon EC2 instances to run the job flow on.

" + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" }, "KeyValue":{ "type":"structure", @@ -1769,7 +2710,7 @@ "members":{ "ClusterId":{ "shape":"ClusterId", - "documentation":"

The cluster identifier for the bootstrap actions to list .

" + "documentation":"

The cluster identifier for the bootstrap actions to list.

" }, "Marker":{ "shape":"Marker", @@ -1783,25 +2724,25 @@ "members":{ "BootstrapActions":{ "shape":"CommandList", - "documentation":"

The bootstrap actions associated with the cluster .

" + "documentation":"

The bootstrap actions associated with the cluster.

" }, "Marker":{ "shape":"Marker", "documentation":"

The pagination token that indicates the next set of results to retrieve.

" } }, - "documentation":"

This output contains the boostrap actions detail .

" + "documentation":"

This output contains the bootstrap actions detail.

" }, "ListClustersInput":{ "type":"structure", "members":{ "CreatedAfter":{ "shape":"Date", - "documentation":"

The creation date and time beginning value filter for listing clusters .

" + "documentation":"

The creation date and time beginning value filter for listing clusters.

" }, "CreatedBefore":{ "shape":"Date", - "documentation":"

The creation date and time end value filter for listing clusters .

" + "documentation":"

The creation date and time end value filter for listing clusters.

" }, "ClusterStates":{ "shape":"ClusterStateList", @@ -1811,22 +2752,49 @@ "shape":"Marker", "documentation":"

The pagination token that indicates the next set of results to retrieve.

" } - }, - "documentation":"

This input determines how the ListClusters action filters the list of clusters that it returns.

" + }, + "documentation":"

This input determines how the ListClusters action filters the list of clusters that it returns.

" + }, + "ListClustersOutput":{ + "type":"structure", + "members":{ + "Clusters":{ + "shape":"ClusterSummaryList", + "documentation":"

The list of clusters for the account based on the given filters.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + }, + "documentation":"

This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

" + }, + "ListInstanceFleetsInput":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The unique identifier of the cluster.

" + }, + "Marker":{ + "shape":"Marker", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } }, - "ListClustersOutput":{ + "ListInstanceFleetsOutput":{ "type":"structure", "members":{ - "Clusters":{ - "shape":"ClusterSummaryList", - "documentation":"

The list of clusters for the account based on the given filters.

" + "InstanceFleets":{ + "shape":"InstanceFleetList", + "documentation":"

The list of instance fleets for the cluster and given filters.

" }, "Marker":{ "shape":"Marker", "documentation":"

The pagination token that indicates the next set of results to retrieve.

" } - }, - "documentation":"

This contains a ClusterSummaryList with the cluster details; for example, the cluster IDs, names, and status.

" + } }, "ListInstanceGroupsInput":{ "type":"structure", @@ -1873,6 +2841,14 @@ "shape":"InstanceGroupTypeList", "documentation":"

The type of instance group for which to list the instances.

" }, + "InstanceFleetId":{ + "shape":"InstanceFleetId", + "documentation":"

The unique identifier of the instance fleet.

" + }, + "InstanceFleetType":{ + "shape":"InstanceFleetType", + "documentation":"

The node type of the instance fleet. For example MASTER, CORE, or TASK.

" + }, "InstanceStates":{ "shape":"InstanceStateList", "documentation":"

A list of instance states that will filter the instances returned with this request.

" @@ -1934,7 +2910,7 @@ }, "StepIds":{ "shape":"XmlStringList", - "documentation":"

The filter to limit the step list based on the identifier of the steps.

" + "documentation":"

The filter to limit the step list based on the identifier of the steps. You can specify a maximum of ten Step IDs. The character constraint applies to the overall length of the array.

" }, "Marker":{ "shape":"Marker", @@ -1957,6 +2933,17 @@ }, "documentation":"

This output contains the list of steps returned in reverse order. This means that the last step is the first element in the list.

" }, + "Long":{"type":"long"}, + "ManagedScalingPolicy":{ + "type":"structure", + "members":{ + "ComputeLimits":{ + "shape":"ComputeLimits", + "documentation":"

The EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limit only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + } + }, + "documentation":"

Managed scaling policy for an Amazon EMR cluster. The policy specifies the limits for resources that can be added or terminated from a cluster. The policy only applies to the core and task nodes. The master node cannot be scaled after initial configuration.

" + }, "Marker":{"type":"string"}, "MarketType":{ "type":"string", @@ -1965,9 +2952,71 @@ "SPOT" ] }, + "MetricDimension":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The dimension name.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The dimension value.

" + } + }, + "documentation":"

A CloudWatch dimension, which is specified using a Key (known as a Name in CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose Key is JobFlowID and Value is a variable representing the cluster ID, which is ${emr.clusterId}. This enables the rule to bootstrap when the cluster ID becomes available.

" + }, + "MetricDimensionList":{ + "type":"list", + "member":{"shape":"MetricDimension"} + }, + "ModifyClusterInput":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"String", + "documentation":"

The unique identifier of the cluster.

" + }, + "StepConcurrencyLevel":{ + "shape":"Integer", + "documentation":"

The number of steps that can be executed concurrently. You can specify a maximum of 256 steps.

" + } + } + }, + "ModifyClusterOutput":{ + "type":"structure", + "members":{ + "StepConcurrencyLevel":{ + "shape":"Integer", + "documentation":"

The number of steps that can be executed concurrently.

" + } + } + }, + "ModifyInstanceFleetInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceFleet" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The unique identifier of the cluster.

" + }, + "InstanceFleet":{ + "shape":"InstanceFleetModifyConfig", + "documentation":"

The unique identifier of the instance fleet.

" + } + } + }, "ModifyInstanceGroupsInput":{ "type":"structure", "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

The ID of the cluster to which the instance group belongs.

" + }, "InstanceGroups":{ "shape":"InstanceGroupModifyConfigList", "documentation":"

Instance groups to change.

" @@ -1979,16 +3028,169 @@ "type":"list", "member":{"shape":"SupportedProductConfig"} }, + "NonNegativeDouble":{ + "type":"double", + "min":0.0 + }, + "OptionalArnType":{ + "type":"string", + "max":2048, + "min":0 + }, "PlacementType":{ "type":"structure", - "required":["AvailabilityZone"], "members":{ "AvailabilityZone":{ "shape":"XmlString", - "documentation":"

The Amazon EC2 Availability Zone for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used for uniform instance groups, while AvailabilityZones (plural) is used for instance fleets.

" + }, + "AvailabilityZones":{ + "shape":"XmlStringMaxLen256List", + "documentation":"

When multiple Availability Zones are specified, Amazon EMR evaluates them and launches instances in the optimal Availability Zone. AvailabilityZones is used for instance fleets, while AvailabilityZone (singular) is used for uniform instance groups.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" } }, - "documentation":"

The Amazon EC2 location for the job flow.

" + "documentation":"

The Amazon EC2 Availability Zone configuration of the cluster (job flow).

" + }, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "PortRange":{ + "type":"structure", + "required":["MinRange"], + "members":{ + "MinRange":{ + "shape":"Port", + "documentation":"

The smallest port number in a specified range of port numbers.

" + }, + "MaxRange":{ + "shape":"Port", + "documentation":"

The smallest port number in a specified range of port numbers.

" + } + }, + "documentation":"

A list of port ranges that are permitted to allow inbound traffic from all public IP addresses. To specify a single port, use the same value for MinRange and MaxRange.

" + }, + "PortRanges":{ + "type":"list", + "member":{"shape":"PortRange"} + }, + "PutAutoScalingPolicyInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceGroupId", + "AutoScalingPolicy" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" + }, + "InstanceGroupId":{ + "shape":"InstanceGroupId", + "documentation":"

Specifies the ID of the instance group to which the automatic scaling policy is applied.

" + }, + "AutoScalingPolicy":{ + "shape":"AutoScalingPolicy", + "documentation":"

Specifies the definition of the automatic scaling policy.

" + } + } + }, + "PutAutoScalingPolicyOutput":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" + }, + "InstanceGroupId":{ + "shape":"InstanceGroupId", + "documentation":"

Specifies the ID of the instance group to which the scaling policy is applied.

" + }, + "AutoScalingPolicy":{ + "shape":"AutoScalingPolicyDescription", + "documentation":"

The automatic scaling policy definition.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" + } + } + }, + "PutBlockPublicAccessConfigurationInput":{ + "type":"structure", + "required":["BlockPublicAccessConfiguration"], + "members":{ + "BlockPublicAccessConfiguration":{ + "shape":"BlockPublicAccessConfiguration", + "documentation":"

A configuration for Amazon EMR block public access. The configuration applies to all clusters created in your account for the current Region. The configuration specifies whether block public access is enabled. If block public access is enabled, security groups associated with the cluster cannot have rules that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, and public access is allowed on this port. You can change this by updating BlockPublicSecurityGroupRules to remove the exception.

For accounts that created clusters in a Region before November 25, 2019, block public access is disabled by default in that Region. To use this feature, you must manually enable and configure it. For accounts that did not create an EMR cluster in a Region before this date, block public access is enabled by default in that Region.

" + } + } + }, + "PutBlockPublicAccessConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "PutManagedScalingPolicyInput":{ + "type":"structure", + "required":[ + "ClusterId", + "ManagedScalingPolicy" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of an EMR cluster where the managed scaling policy is attached.

" + }, + "ManagedScalingPolicy":{ + "shape":"ManagedScalingPolicy", + "documentation":"

Specifies the constraints for the managed scaling policy.

" + } + } + }, + "PutManagedScalingPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "RemoveAutoScalingPolicyInput":{ + "type":"structure", + "required":[ + "ClusterId", + "InstanceGroupId" + ], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of a cluster. The instance group to which the automatic scaling policy is applied is within this cluster.

" + }, + "InstanceGroupId":{ + "shape":"InstanceGroupId", + "documentation":"

Specifies the ID of the instance group to which the scaling policy is applied.

" + } + } + }, + "RemoveAutoScalingPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "RemoveManagedScalingPolicyInput":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

Specifies the ID of the cluster from which the managed scaling policy will be removed.

" + } + } + }, + "RemoveManagedScalingPolicyOutput":{ + "type":"structure", + "members":{ + } }, "RemoveTagsInput":{ "type":"structure", @@ -2014,6 +3216,13 @@ }, "documentation":"

This output indicates the result of removing tags from a resource.

" }, + "RepoUpgradeOnBoot":{ + "type":"string", + "enum":[ + "SECURITY", + "NONE" + ] + }, "ResourceId":{"type":"string"}, "RunJobFlowInput":{ "type":"structure", @@ -2036,43 +3245,43 @@ }, "AmiVersion":{ "shape":"XmlStringMaxLen256", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use ReleaseLabel.

The version of the Amazon Machine Image (AMI) to use when launching Amazon EC2 instances in the job flow. The following values are valid:

  • The version number of the AMI to use, for example, \"2.0.\"

If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports both Hadoop 0.18 and 0.20) you can use the JobFlowInstancesConfig HadoopVersion parameter to modify the version of Hadoop from the defaults shown above.

For details about the AMI versions currently supported by Amazon Elastic MapReduce, go to AMI Versions Supported in Elastic MapReduce in the Amazon Elastic MapReduce Developer's Guide.

" + "documentation":"

Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID.

" }, "ReleaseLabel":{ "shape":"XmlStringMaxLen256", - "documentation":"

Amazon EMR releases 4.x or later.

The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x AMIs, use amiVersion instead instead of ReleaseLabel.

" + "documentation":"

The Amazon EMR release label, which determines the version of open-source application packages installed on the cluster. Release labels are in the form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. For more information about Amazon EMR release versions and included application versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/. The release label applies only to Amazon EMR releases version 4.0 and later. Earlier versions use AmiVersion.

" }, "Instances":{ "shape":"JobFlowInstancesConfig", - "documentation":"

A specification of the number and type of Amazon EC2 instances on which to run the job flow.

" + "documentation":"

A specification of the number and type of Amazon EC2 instances.

" }, "Steps":{ "shape":"StepConfigList", - "documentation":"

A list of steps to be executed by the job flow.

" + "documentation":"

A list of steps to run.

" }, "BootstrapActions":{ "shape":"BootstrapActionConfigList", - "documentation":"

A list of bootstrap actions that will be run before Hadoop is started on the cluster nodes.

" + "documentation":"

A list of bootstrap actions to run before Hadoop starts on the cluster nodes.

" }, "SupportedProducts":{ "shape":"SupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use with the job flow. For more information, go to Use Third Party Applications with Amazon EMR. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use. For more information, see the Amazon EMR Developer Guide. Currently supported values are:

  • \"mapr-m3\" - launch the job flow using MapR M3 Edition.

  • \"mapr-m5\" - launch the job flow using MapR M5 Edition.

" }, "NewSupportedProducts":{ "shape":"NewSupportedProductsList", - "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and greater, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see Launch a Job Flow on the MapR Distribution for Hadoop. Currently supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" + "documentation":"

For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, use Applications.

A list of strings that indicates third-party software to use with the job flow that accepts a user argument list. EMR accepts and forwards the argument list to the corresponding installation script as bootstrap action arguments. For more information, see \"Launch a Job Flow on the MapR Distribution for Hadoop\" in the Amazon EMR Developer Guide. Supported values are:

  • \"mapr-m3\" - launch the cluster using MapR M3 Edition.

  • \"mapr-m5\" - launch the cluster using MapR M5 Edition.

  • \"mapr\" with the user arguments specifying \"--edition,m3\" or \"--edition,m5\" - launch the job flow using MapR M3 or M5 Edition respectively.

  • \"mapr-m7\" - launch the cluster using MapR M7 Edition.

  • \"hunk\" - launch the cluster with the Hunk Big Data Analtics Platform.

  • \"hue\"- launch the cluster with Hue installed.

  • \"spark\" - launch the cluster with Apache Spark installed.

  • \"ganglia\" - launch the cluster with the Ganglia Monitoring System installed.

" }, "Applications":{ "shape":"ApplicationList", - "documentation":"

Amazon EMR releases 4.x or later.

A list of applications for the cluster. Valid values are: \"Hadoop\", \"Hive\", \"Mahout\", \"Pig\", and \"Spark.\" They are case insensitive.

" + "documentation":"

Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications for Amazon EMR to install and configure when launching the cluster. For a list of applications available for each Amazon EMR release version, see the Amazon EMR Release Guide.

" }, "Configurations":{ "shape":"ConfigurationList", - "documentation":"

Amazon EMR releases 4.x or later.

The list of configurations supplied for the EMR cluster you are creating.

" + "documentation":"

For Amazon EMR releases 4.0 and later. The list of configurations supplied for the EMR cluster you are creating.

" }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Whether the job flow is visible to all IAM users of the AWS account associated with the job flow. If this value is set to true, all IAM users of that AWS account can view and (if they have the proper policy permissions set) manage the job flow. If it is set to false, only the IAM user that created the job flow can view and manage it.

" + "documentation":"

A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

" }, "JobFlowRole":{ "shape":"XmlString", @@ -2089,6 +3298,38 @@ "SecurityConfiguration":{ "shape":"XmlString", "documentation":"

The name of a security configuration to apply to the cluster.

" + }, + "AutoScalingRole":{ + "shape":"XmlString", + "documentation":"

An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. The IAM role provides permissions that the automatic scaling feature requires to launch and terminate EC2 instances in an instance group.

" + }, + "ScaleDownBehavior":{ + "shape":"ScaleDownBehavior", + "documentation":"

Specifies the way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR indicates that Amazon EMR terminates nodes at the instance-hour boundary, regardless of when the request to terminate the instance was submitted. This option is only available with Amazon EMR 5.1.0 and later and is the default for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates that Amazon EMR blacklists and drains tasks from nodes before terminating the Amazon EC2 instances, regardless of the instance-hour boundary. With either behavior, Amazon EMR removes the least active nodes first and blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION available only in Amazon EMR version 4.1.0 and later, and is the default for versions of Amazon EMR earlier than 5.1.0.

" + }, + "CustomAmiId":{ + "shape":"XmlStringMaxLen256", + "documentation":"

Available only in Amazon EMR version 5.7.0 and later. The ID of a custom Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when it launches cluster EC2 instances. For more information about custom AMIs in Amazon EMR, see Using a Custom AMI in the Amazon EMR Management Guide. If omitted, the cluster uses the base Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 3.x, use AmiVersion instead.

For information about creating a custom AMI, see Creating an Amazon EBS-Backed Linux AMI in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information about finding an AMI ID, see Finding a Linux AMI.

" + }, + "EbsRootVolumeSize":{ + "shape":"Integer", + "documentation":"

The size, in GiB, of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.

" + }, + "RepoUpgradeOnBoot":{ + "shape":"RepoUpgradeOnBoot", + "documentation":"

Applies only when CustomAmiID is used. Specifies which updates from the Amazon Linux AMI package repositories to apply automatically when the instance boots using the AMI. If omitted, the default is SECURITY, which indicates that only security updates are applied. If NONE is specified, no updates are applied, and all updates must be applied manually.

" + }, + "KerberosAttributes":{ + "shape":"KerberosAttributes", + "documentation":"

Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration. For more information see Use Kerberos Authentication in the EMR Management Guide.

" + }, + "StepConcurrencyLevel":{ + "shape":"Integer", + "documentation":"

Specifies the number of steps that can be executed concurrently. The default value is 1. The maximum value is 256.

" + }, + "ManagedScalingPolicy":{ + "shape":"ManagedScalingPolicy", + "documentation":"

The specified managed scaling policy for an Amazon EMR cluster.

" } }, "documentation":"

Input to the RunJobFlow operation.

" @@ -2099,17 +3340,110 @@ "JobFlowId":{ "shape":"XmlStringMaxLen256", "documentation":"

An unique identifier for the job flow.

" + }, + "ClusterArn":{ + "shape":"ArnType", + "documentation":"

The Amazon Resource Name of the cluster.

" } }, "documentation":"

The result of the RunJobFlow operation.

" }, + "ScaleDownBehavior":{ + "type":"string", + "enum":[ + "TERMINATE_AT_INSTANCE_HOUR", + "TERMINATE_AT_TASK_COMPLETION" + ] + }, + "ScalingAction":{ + "type":"structure", + "required":["SimpleScalingPolicyConfiguration"], + "members":{ + "Market":{ + "shape":"MarketType", + "documentation":"

Not available for instance groups. Instance groups use the market type specified for the group.

" + }, + "SimpleScalingPolicyConfiguration":{ + "shape":"SimpleScalingPolicyConfiguration", + "documentation":"

The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

" + } + }, + "documentation":"

The type of adjustment the automatic scaling activity makes when triggered, and the periodicity of the adjustment.

" + }, + "ScalingConstraints":{ + "type":"structure", + "required":[ + "MinCapacity", + "MaxCapacity" + ], + "members":{ + "MinCapacity":{ + "shape":"Integer", + "documentation":"

The lower boundary of EC2 instances in an instance group below which scaling activities are not allowed to shrink. Scale-in activities will not terminate instances below this boundary.

" + }, + "MaxCapacity":{ + "shape":"Integer", + "documentation":"

The upper boundary of EC2 instances in an instance group beyond which scaling activities are not allowed to grow. Scale-out activities will not add instances beyond this boundary.

" + } + }, + "documentation":"

The upper and lower EC2 instance limits for an automatic scaling policy. Automatic scaling activities triggered by automatic scaling rules will not cause an instance group to grow above or below these limits.

" + }, + "ScalingRule":{ + "type":"structure", + "required":[ + "Name", + "Action", + "Trigger" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name used to identify an automatic scaling rule. Rule names must be unique within a scaling policy.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A friendly, more verbose description of the automatic scaling rule.

" + }, + "Action":{ + "shape":"ScalingAction", + "documentation":"

The conditions that trigger an automatic scaling activity.

" + }, + "Trigger":{ + "shape":"ScalingTrigger", + "documentation":"

The CloudWatch alarm definition that determines when automatic scaling activity is triggered.

" + } + }, + "documentation":"

A scale-in or scale-out rule that defines scaling activity, including the CloudWatch metric alarm that triggers activity, how EC2 instances are added or removed, and the periodicity of adjustments. The automatic scaling policy for an instance group can comprise one or more automatic scaling rules.

" + }, + "ScalingRuleList":{ + "type":"list", + "member":{"shape":"ScalingRule"} + }, + "ScalingTrigger":{ + "type":"structure", + "required":["CloudWatchAlarmDefinition"], + "members":{ + "CloudWatchAlarmDefinition":{ + "shape":"CloudWatchAlarmDefinition", + "documentation":"

The definition of a CloudWatch metric alarm. When the defined alarm conditions are met along with other trigger parameters, scaling activity begins.

" + } + }, + "documentation":"

The conditions that trigger an automatic scaling activity.

" + }, "ScriptBootstrapActionConfig":{ "type":"structure", "required":["Path"], "members":{ - "Path":{"shape":"XmlString"}, - "Args":{"shape":"XmlStringList"} - } + "Path":{ + "shape":"XmlString", + "documentation":"

Location of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.

" + }, + "Args":{ + "shape":"XmlStringList", + "documentation":"

A list of command line arguments to pass to the bootstrap action script.

" + } + }, + "documentation":"

Configuration of the script to run during a bootstrap action.

" }, "SecurityConfigurationList":{ "type":"list", @@ -2142,11 +3476,11 @@ "members":{ "JobFlowIds":{ "shape":"XmlStringList", - "documentation":"

A list of strings that uniquely identify the job flows to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows .

" + "documentation":"

A list of strings that uniquely identify the clusters to protect. This identifier is returned by RunJobFlow and can also be obtained from DescribeJobFlows .

" }, "TerminationProtected":{ "shape":"Boolean", - "documentation":"

A Boolean that indicates whether to protect the job flow and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

" + "documentation":"

A Boolean that indicates whether to protect the cluster and prevent the Amazon EC2 instances in the cluster from shutting down due to API calls, user intervention, or job-flow error.

" } }, "documentation":"

The input argument to the TerminationProtection operation.

" @@ -2160,11 +3494,11 @@ "members":{ "JobFlowIds":{ "shape":"XmlStringList", - "documentation":"

Identifiers of the job flows to receive the new visibility setting.

" + "documentation":"

The unique identifier of the job flow (cluster).

" }, "VisibleToAllUsers":{ "shape":"Boolean", - "documentation":"

Whether the specified job flows are visible to all IAM users of the AWS account associated with the job flow. If this value is set to True, all IAM users of that AWS account can view and, if they have the proper IAM policy permissions set, manage the job flows. If it is set to False, only the IAM user that created a job flow can view and manage it.

" + "documentation":"

A value of true indicates that all IAM users in the AWS account can perform cluster actions if they have the proper IAM policy permissions. This is the default. A value of false indicates that only the IAM user who created the cluster can perform actions.

" } }, "documentation":"

The input to the SetVisibleToAllUsers action.

" @@ -2183,6 +3517,64 @@ }, "documentation":"

Policy for customizing shrink operations. Allows configuration of decommissioning timeout and targeted instance shrinking.

" }, + "SimpleScalingPolicyConfiguration":{ + "type":"structure", + "required":["ScalingAdjustment"], + "members":{ + "AdjustmentType":{ + "shape":"AdjustmentType", + "documentation":"

The way in which EC2 instances are added (if ScalingAdjustment is a positive number) or terminated (if ScalingAdjustment is a negative number) each time the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY indicates that the EC2 instance count increments or decrements by ScalingAdjustment, which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates the instance count increments or decrements by the percentage specified by ScalingAdjustment, which should be expressed as an integer. For example, 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY indicates the scaling activity results in an instance group with the number of EC2 instances specified by ScalingAdjustment, which should be expressed as a positive integer.

" + }, + "ScalingAdjustment":{ + "shape":"Integer", + "documentation":"

The amount by which to scale in or scale out, based on the specified AdjustmentType. A positive value adds to the instance group's EC2 instance count while a negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, the number should only be a positive integer. If AdjustmentType is set to PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an integer. For example, -20 indicates a decrease in 20% increments of cluster capacity.

" + }, + "CoolDown":{ + "shape":"Integer", + "documentation":"

The amount of time, in seconds, after a scaling activity completes before any further trigger-related scaling activities can start. The default value is 0.

" + } + }, + "documentation":"

An automatic scaling configuration, which describes how the policy adds or removes instances, the cooldown period, and the number of EC2 instances that will be added each time the CloudWatch metric alarm condition is satisfied.

" + }, + "SpotProvisioningSpecification":{ + "type":"structure", + "required":[ + "TimeoutDurationMinutes", + "TimeoutAction" + ], + "members":{ + "TimeoutDurationMinutes":{ + "shape":"WholeNumber", + "documentation":"

The spot provisioning timeout period in minutes. If Spot instances are not provisioned within this time period, the TimeOutAction is taken. Minimum value is 5 and maximum value is 1440. The timeout applies only during initial provisioning, when the cluster is first created.

" + }, + "TimeoutAction":{ + "shape":"SpotProvisioningTimeoutAction", + "documentation":"

The action to take when TargetSpotCapacity has not been fulfilled when the TimeoutDurationMinutes has expired; that is, when all Spot instances could not be provisioned within the Spot provisioning timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand Instances should be provisioned to fulfill any remaining Spot capacity.

" + }, + "BlockDurationMinutes":{ + "shape":"WholeNumber", + "documentation":"

The defined duration for Spot instances (also known as Spot blocks) in minutes. When specified, the Spot instance does not terminate before the defined duration expires, and defined duration pricing for Spot instances applies. Valid values are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot instance receives its instance ID. At the end of the duration, Amazon EC2 marks the Spot instance for termination and provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.

" + } + }, + "documentation":"

The launch specification for Spot instances in the instance fleet, which determines the defined duration and provisioning timeout behavior.

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and later, excluding 5.0.x versions.

" + }, + "SpotProvisioningTimeoutAction":{ + "type":"string", + "enum":[ + "SWITCH_TO_ON_DEMAND", + "TERMINATE_CLUSTER" + ] + }, + "Statistic":{ + "type":"string", + "enum":[ + "SAMPLE_COUNT", + "AVERAGE", + "SUM", + "MINIMUM", + "MAXIMUM" + ] + }, "Step":{ "type":"structure", "members":{ @@ -2200,7 +3592,7 @@ }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "Status":{ "shape":"StepStatus", @@ -2209,6 +3601,13 @@ }, "documentation":"

This represents a step in a cluster.

" }, + "StepCancellationOption":{ + "type":"string", + "enum":[ + "SEND_INTERRUPT", + "TERMINATE_PROCESS" + ] + }, "StepConfig":{ "type":"structure", "required":[ @@ -2218,18 +3617,18 @@ "members":{ "Name":{ "shape":"XmlStringMaxLen256", - "documentation":"

The name of the job flow step.

" + "documentation":"

The name of the step.

" }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

The action to take if the job flow step fails.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "HadoopJarStep":{ "shape":"HadoopJarStepConfig", - "documentation":"

The JAR file used for the job flow step.

" + "documentation":"

The JAR file used for the step.

" } }, - "documentation":"

Specification of a job flow step.

" + "documentation":"

Specification of a cluster (job flow) step.

" }, "StepConfigList":{ "type":"list", @@ -2278,7 +3677,7 @@ "members":{ "State":{ "shape":"StepExecutionState", - "documentation":"

The state of the job flow step.

" + "documentation":"

The state of the step.

" }, "CreationDateTime":{ "shape":"Date", @@ -2308,6 +3707,7 @@ "type":"string", "enum":[ "PENDING", + "CANCEL_PENDING", "RUNNING", "COMPLETED", "CANCELLED", @@ -2376,7 +3776,7 @@ }, "ActionOnFailure":{ "shape":"ActionOnFailure", - "documentation":"

This specifies what action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.

" + "documentation":"

The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward compatibility. We recommend using TERMINATE_CLUSTER instead.

" }, "Status":{ "shape":"StepStatus", @@ -2440,14 +3840,14 @@ "members":{ "Key":{ "shape":"String", - "documentation":"

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tagging Amazon EMR Resources.

" + "documentation":"

A user-defined key, which is the minimum required information for a valid tag. For more information, see Tag .

" }, "Value":{ "shape":"String", - "documentation":"

A user-defined value, which is optional in a tag. For more information, see Tagging Amazon EMR Resources.

" + "documentation":"

A user-defined value, which is optional in a tag. For more information, see Tag Clusters.

" } }, - "documentation":"

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clu\\ sters to track your Amazon EMR resource allocation costs. For more information, see Tagging Amazon EMR Resources.

" + "documentation":"

A key/value pair containing user-defined metadata that you can associate with an Amazon EMR resource. Tags make it easier to associate clusters in various ways, such as grouping clusters to track your Amazon EMR resource allocation costs. For more information, see Tag Clusters.

" }, "TagList":{ "type":"list", @@ -2464,6 +3864,38 @@ }, "documentation":"

Input to the TerminateJobFlows operation.

" }, + "Unit":{ + "type":"string", + "enum":[ + "NONE", + "SECONDS", + "MICRO_SECONDS", + "MILLI_SECONDS", + "BYTES", + "KILO_BYTES", + "MEGA_BYTES", + "GIGA_BYTES", + "TERA_BYTES", + "BITS", + "KILO_BITS", + "MEGA_BITS", + "GIGA_BITS", + "TERA_BITS", + "PERCENT", + "COUNT", + "BYTES_PER_SECOND", + "KILO_BYTES_PER_SECOND", + "MEGA_BYTES_PER_SECOND", + "GIGA_BYTES_PER_SECOND", + "TERA_BYTES_PER_SECOND", + "BITS_PER_SECOND", + "KILO_BITS_PER_SECOND", + "MEGA_BITS_PER_SECOND", + "GIGA_BITS_PER_SECOND", + "TERA_BITS_PER_SECOND", + "COUNT_PER_SECOND" + ] + }, "VolumeSpecification":{ "type":"structure", "required":[ @@ -2484,7 +3916,11 @@ "documentation":"

The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. If the volume type is EBS-optimized, the minimum value is 10.

" } }, - "documentation":"

EBS volume specifications such as volume type, IOPS, and size(GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" + "documentation":"

EBS volume specifications such as volume type, IOPS, and size (GiB) that will be requested for the EBS volume attached to an EC2 instance in the cluster.

" + }, + "WholeNumber":{ + "type":"integer", + "min":0 }, "XmlString":{ "type":"string", @@ -2501,7 +3937,11 @@ "max":256, "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "XmlStringMaxLen256List":{ + "type":"list", + "member":{"shape":"XmlStringMaxLen256"} } }, - "documentation":"

Amazon Elastic MapReduce (Amazon EMR) is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

" + "documentation":"

Amazon EMR is a web service that makes it easy to process large amounts of data efficiently. Amazon EMR uses Hadoop processing combined with several AWS products to do tasks such as web indexing, data mining, log file analysis, machine learning, scientific simulation, and data warehousing.

" } diff -Nru python-botocore-1.4.70/botocore/data/emr/2009-03-31/waiters-2.json python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/waiters-2.json --- python-botocore-1.4.70/botocore/data/emr/2009-03-31/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/emr/2009-03-31/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -38,6 +38,31 @@ } ] }, + "StepComplete": { + "delay": 30, + "operation": "DescribeStep", + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "Step.Status.State", + "expected": "COMPLETED" + }, + { + "state": "failure", + "matcher": "path", + "argument": "Step.Status.State", + "expected": "FAILED" + }, + { + "state": "failure", + "matcher": "path", + "argument": "Step.Status.State", + "expected": "CANCELLED" + } + ] + }, "ClusterTerminated": { "delay": 30, "operation": "DescribeCluster", diff -Nru python-botocore-1.4.70/botocore/data/endpoints.json python-botocore-1.16.19+repack/botocore/data/endpoints.json --- python-botocore-1.4.70/botocore/data/endpoints.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/endpoints.json 2020-05-28 19:27:57.000000000 +0000 @@ -1,1567 +1,8431 @@ { - "version": 3, - "partitions": [ - { - "partition": "aws", - "partitionName": "AWS Standard", - "dnsSuffix": "amazonaws.com", - "regionRegex": "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] - }, - "regions": { - "us-east-1": { - "description": "US East (N. Virginia)" - }, - "us-east-2": { - "description": "US East (Ohio)" - }, - "us-west-1": { - "description": "US West (N. California)" - }, - "us-west-2": { - "description": "US West (Oregon)" - }, - "ap-northeast-1": { - "description": "Asia Pacific (Tokyo)" - }, - "ap-northeast-2": { - "description": "Asia Pacific (Seoul)" - }, - "ap-south-1": { - "description": "Asia Pacific (Mumbai)" - }, - "ap-southeast-1": { - "description": "Asia Pacific (Singapore)" - }, - "ap-southeast-2": { - "description": "Asia Pacific (Sydney)" - }, - "sa-east-1": { - "description": "South America (Sao Paulo)" - }, - "eu-west-1": { - "description": "EU (Ireland)" - }, - "eu-central-1": { - "description": "EU (Frankfurt)" - } - }, - "services": { - "acm": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {} - } - }, - "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": {} - } - }, - "application-autoscaling": { - "defaults": { - "hostname": "autoscaling.{region}.amazonaws.com", - "credentialScope": { - "service": "application-autoscaling" - }, - "protocols": [ - "http", - "https" - ] - }, - "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": {} - } - }, - "appstream": { - "endpoints": { - "us-east-1": {}, - "ap-northeast-1": {} - } - }, - "autoscaling": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "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": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "cloudformation": { - "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": {} - } - }, - "budgets": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "budgets.amazonaws.com", - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "cloudfront": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "cloudfront.amazonaws.com", - "protocols": [ - "http", - "https" - ], - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "cloudhsm": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "cloudsearch": { - "endpoints": { - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "cloudtrail": { - "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": {} - } - }, - "codecommit": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {} - } - }, - "codedeploy": { - "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": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "sa-east-1": {} - } - }, - "codepipeline": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-2": {} - } - }, - "cognito-identity": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {} - } - }, - "cognito-idp": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {} - } - }, - "cognito-sync": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-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": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "datapipeline": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {} - } - }, - "data.iot": { - "defaults": { - "protocols": [ - "https", - "mqqt" - ], - "credentialScope": { - "service": "iotdata" - } - }, - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "devicefarm": { - "endpoints": { - "us-west-2": {} - } - }, - "directconnect": { - "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": {} - } - }, - "discovery": { - "endpoints": { - "us-west-2": {} - } - }, - "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": {} - } - }, - "ds": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "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": {}, - "local": { - "hostname": "localhost:8000", - "protocols": [ - "http" - ], - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "ec2": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "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": {} - } - }, - "ecs": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "ecr": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "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": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "elasticbeanstalk": { - "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": {} - } - }, - "elasticfilesystem": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {} - } - }, - "elasticloadbalancing": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "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": {} - } - }, - "elasticmapreduce": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.{service}.{dnsSuffix}" - }, - "endpoints": { - "us-east-1": { - "sslCommonName": "{service}.{region}.{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": {}, - "eu-west-1": {}, - "eu-central-1": { - "sslCommonName": "{service}.{region}.{dnsSuffix}" - } - } - }, - "elastictranscoder": { - "endpoints": { - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {} - } - }, - "email": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {} - } - }, - "es": { - "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": {}, - "ap-northeast-2": {}, - "sa-east-1": {} - } - }, - "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": {}, - "ap-northeast-2": {}, - "sa-east-1": {} - } - }, - "firehose": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {} - } - }, - "gamelift": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "eu-west-1": {}, - "ap-northeast-1": {} - } - }, - "glacier": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "iam": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "iam.amazonaws.com", - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "importexport": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "importexport.amazonaws.com", - "signatureVersions": [ - "v2", - "v4" - ], - "credentialScope": { - "service": "IngestionService", - "region": "us-east-1" - } - } - } - }, - "inspector": { - "endpoints": { - "us-west-2": {}, - "us-east-1": {}, - "eu-west-1": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-2": {} - } - }, - "iot": { - "defaults": { - "credentialScope": { - "service": "execute-api" - } - }, - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "kinesis": { - "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": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "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": {}, - "ap-northeast-2": {}, - "ap-south-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "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": {} - } - }, - "logs": { - "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": {}, - "eu-west-1": {}, - "eu-central-1": {}, - "sa-east-1": {} - } - }, - "machinelearning": { - "endpoints": { - "us-east-1": {}, - "eu-west-1": {} - } - }, - "marketplacecommerceanalytics": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {} - } - }, - "metering.marketplace": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {} - } - }, - "mobileanalytics": { - "endpoints": { - "us-east-1": {} - } - }, - "monitoring": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "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": {} - } - }, - "opsworks": { - "endpoints": { - "us-east-1": {} - } - }, - "rds": { - "endpoints": { - "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": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "redshift": { - "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": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "route53": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "route53.amazonaws.com", - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "route53domains": { - "endpoints": { - "us-east-1": {} - } - }, - "s3": { - "partitionEndpoint": "us-east-1", - "isRegionalized": true, - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "s3v4" - ] - }, - "endpoints": { - "us-east-1": { - "hostname": "s3.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-east-2": {}, - "s3-external-1": { - "credentialScope": { - "region": "us-east-1" - }, - "hostname": "s3-external-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-west-1": { - "hostname": "s3-us-west-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "us-west-2": { - "hostname": "s3-us-west-2.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "ap-northeast-1": { - "hostname": "s3-ap-northeast-1.amazonaws.com", - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "ap-northeast-2": {}, - "ap-south-1": { - "hostname": "s3-ap-south-1.amazonaws.com" - }, - "ap-southeast-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": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "v2" - ] - }, - "endpoints": { - "us-east-1": { - "hostname": "sdb.amazonaws.com" - }, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "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": [ - "http", - "https" - ] - }, - "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": {} - } - }, - "sqs": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "sslCommonName": "{region}.queue.{dnsSuffix}" - }, - "endpoints": { - "us-east-1": { - "sslCommonName": "queue.{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": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "ssm": { - "endpoints": { - "us-east-1": {}, - "us-west-1": {}, - "us-west-2": {}, - "eu-central-1": {}, - "eu-west-1": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {} - } - }, - "storagegateway": { - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "streams.dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "credentialScope": { - "service": "dynamodb" - } - }, - "endpoints": { - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "sts": { - "defaults": { - "hostname": "sts.amazonaws.com", - "credentialScope": { - "region": "us-east-1" - } - }, - "partitionEndpoint": "aws-global", - "endpoints": { - "aws-global": {}, - "us-east-1": {}, - "us-east-2": {}, - "us-west-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-northeast-2": { - "hostname": "sts.ap-northeast-2.amazonaws.com", - "credentialScope": { - "region": "ap-northeast-2" - } - }, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "sa-east-1": {}, - "eu-west-1": {}, - "eu-central-1": {} - } - }, - "support": { - "endpoints": { - "us-east-1": {} - } - }, - "swf": { - "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": {} - } - }, - "waf": { - "partitionEndpoint": "aws-global", - "isRegionalized": false, - "endpoints": { - "aws-global": { - "hostname": "waf.amazonaws.com", - "credentialScope": { - "region": "us-east-1" - } - } - } - }, - "workspaces": { - "endpoints": { - "us-east-1": {}, - "us-west-2": {}, - "ap-northeast-1": {}, - "ap-southeast-1": {}, - "ap-southeast-2": {}, - "eu-west-1": {} + "partitions" : [ { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws", + "partitionName" : "AWS Standard", + "regionRegex" : "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$", + "regions" : { + "af-south-1" : { + "description" : "Africa (Cape Town)" + }, + "ap-east-1" : { + "description" : "Asia Pacific (Hong Kong)" + }, + "ap-northeast-1" : { + "description" : "Asia Pacific (Tokyo)" + }, + "ap-northeast-2" : { + "description" : "Asia Pacific (Seoul)" + }, + "ap-south-1" : { + "description" : "Asia Pacific (Mumbai)" + }, + "ap-southeast-1" : { + "description" : "Asia Pacific (Singapore)" + }, + "ap-southeast-2" : { + "description" : "Asia Pacific (Sydney)" + }, + "ca-central-1" : { + "description" : "Canada (Central)" + }, + "eu-central-1" : { + "description" : "Europe (Frankfurt)" + }, + "eu-north-1" : { + "description" : "Europe (Stockholm)" + }, + "eu-south-1" : { + "description" : "Europe (Milan)" + }, + "eu-west-1" : { + "description" : "Europe (Ireland)" + }, + "eu-west-2" : { + "description" : "Europe (London)" + }, + "eu-west-3" : { + "description" : "Europe (Paris)" + }, + "me-south-1" : { + "description" : "Middle East (Bahrain)" + }, + "sa-east-1" : { + "description" : "South America (Sao Paulo)" + }, + "us-east-1" : { + "description" : "US East (N. Virginia)" + }, + "us-east-2" : { + "description" : "US East (Ohio)" + }, + "us-west-1" : { + "description" : "US West (N. California)" + }, + "us-west-2" : { + "description" : "US West (Oregon)" + } + }, + "services" : { + "a4b" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "access-analyzer" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "acm" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "acm-fips.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "acm-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "acm-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "acm-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "acm-fips.us-west-2.amazonaws.com" + } + } + }, + "acm-pca" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "acm-pca-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "acm-pca-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "acm-pca-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "acm-pca-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "acm-pca-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "api.detective" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "api.ecr" : { + "endpoints" : { + "af-south-1" : { + "credentialScope" : { + "region" : "af-south-1" + }, + "hostname" : "api.ecr.af-south-1.amazonaws.com" + }, + "ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "api.ecr.ap-east-1.amazonaws.com" + }, + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "api.ecr.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "api.ecr.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "api.ecr.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "api.ecr.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "api.ecr.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "api.ecr.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "api.ecr.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "api.ecr.eu-north-1.amazonaws.com" + }, + "eu-south-1" : { + "credentialScope" : { + "region" : "eu-south-1" + }, + "hostname" : "api.ecr.eu-south-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "api.ecr.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "api.ecr.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "api.ecr.eu-west-3.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ecr-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ecr-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ecr-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ecr-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "hostname" : "api.ecr.me-south-1.amazonaws.com" + }, + "sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "api.ecr.sa-east-1.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "api.ecr.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "api.ecr.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "api.ecr.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "api.ecr.us-west-2.amazonaws.com" + } + } + }, + "api.elastic-inference" : { + "endpoints" : { + "ap-northeast-1" : { + "hostname" : "api.elastic-inference.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "hostname" : "api.elastic-inference.ap-northeast-2.amazonaws.com" + }, + "eu-west-1" : { + "hostname" : "api.elastic-inference.eu-west-1.amazonaws.com" + }, + "us-east-1" : { + "hostname" : "api.elastic-inference.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "hostname" : "api.elastic-inference.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "hostname" : "api.elastic-inference.us-west-2.amazonaws.com" + } + } + }, + "api.mediatailor" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "api.pricing" : { + "defaults" : { + "credentialScope" : { + "service" : "pricing" + } + }, + "endpoints" : { + "ap-south-1" : { }, + "us-east-1" : { } + } + }, + "api.sagemaker" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "api-fips.sagemaker.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "api-fips.sagemaker.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "api-fips.sagemaker.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "api-fips.sagemaker.us-west-2.amazonaws.com" + } + } + }, + "apigateway" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "appmesh" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "appstream2" : { + "defaults" : { + "credentialScope" : { + "service" : "appstream" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "appstream2-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "appsync" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "athena" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "autoscaling-plans" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "backup" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "batch" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "fips.batch.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "fips.batch.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "fips.batch.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "fips.batch.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "budgets" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "budgets.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "ce" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ce.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "chime" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "service.chime.aws.amazon.com" + }, + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "service.chime.aws.amazon.com", + "protocols" : [ "https" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "cloud9" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "clouddirectory" : { + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cloudformation-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "cloudformation-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "cloudformation-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "cloudformation-fips.us-west-2.amazonaws.com" + } + } + }, + "cloudfront" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cloudfront.amazonaws.com", + "protocols" : [ "http", "https" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "cloudhsm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudsearch" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cloudtrail-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "cloudtrail-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "cloudtrail-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "cloudtrail-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codebuild" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "codebuild-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "codebuild-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "codebuild-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "codebuild-fips.us-west-2.amazonaws.com" + } + } + }, + "codecommit" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "codecommit-fips.ca-central-1.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "codedeploy-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "codedeploy-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "codedeploy-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "codedeploy-fips.us-west-2.amazonaws.com" + } + } + }, + "codepipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "codepipeline-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "codepipeline-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "codepipeline-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "codepipeline-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "codepipeline-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codestar" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codestar-connections" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cognito-identity-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "cognito-identity-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "cognito-identity-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-idp" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cognito-idp-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "cognito-idp-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "cognito-idp-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-sync" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "comprehend-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "comprehend-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "comprehend-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "comprehendmedical" : { + "endpoints" : { + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "comprehendmedical-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "comprehendmedical-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "comprehendmedical-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "config" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "connect" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "cur" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "data.mediastore" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "dataexchange" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "datapipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "datasync" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "datasync-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "datasync-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "datasync-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "datasync-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "datasync-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "dax" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "devicefarm" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "directconnect" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "directconnect-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "directconnect-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "directconnect-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "directconnect-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "discovery" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "dms" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "dms-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "dms-fips.us-west-1.amazonaws.com" + }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "docdb" : { + "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "rds.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "rds.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "rds.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "rds.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "rds.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "rds.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "rds.eu-central-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "rds.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "rds.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "rds.eu-west-3.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "rds.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "rds.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "rds.us-west-2.amazonaws.com" + } + } + }, + "ds" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "ds-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ds-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ds-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ds-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ds-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "dynamodb-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "dynamodb-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "dynamodb-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "dynamodb-fips.us-west-2.amazonaws.com" + } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "ec2-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ec2-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ec2-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ec2-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ec2-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ecs" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ecs-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ecs-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ecs-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ecs-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "eks" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "fips.eks.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "fips.eks.us-east-2.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "fips.eks.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "elasticache" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticache-fips.us-west-1.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "elasticbeanstalk-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "elasticbeanstalk-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticbeanstalk-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "elasticbeanstalk-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticfilesystem" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-af-south-1" : { + "credentialScope" : { + "region" : "af-south-1" + }, + "hostname" : "elasticfilesystem-fips.af-south-1.amazonaws.com" + }, + "fips-ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "elasticfilesystem-fips.ap-east-1.amazonaws.com" + }, + "fips-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "elasticfilesystem-fips.ap-northeast-1.amazonaws.com" + }, + "fips-ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "elasticfilesystem-fips.ap-northeast-2.amazonaws.com" + }, + "fips-ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "elasticfilesystem-fips.ap-south-1.amazonaws.com" + }, + "fips-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "elasticfilesystem-fips.ap-southeast-1.amazonaws.com" + }, + "fips-ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "elasticfilesystem-fips.ap-southeast-2.amazonaws.com" + }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "elasticfilesystem-fips.ca-central-1.amazonaws.com" + }, + "fips-eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "elasticfilesystem-fips.eu-central-1.amazonaws.com" + }, + "fips-eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "elasticfilesystem-fips.eu-north-1.amazonaws.com" + }, + "fips-eu-south-1" : { + "credentialScope" : { + "region" : "eu-south-1" + }, + "hostname" : "elasticfilesystem-fips.eu-south-1.amazonaws.com" + }, + "fips-eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "elasticfilesystem-fips.eu-west-1.amazonaws.com" + }, + "fips-eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "elasticfilesystem-fips.eu-west-2.amazonaws.com" + }, + "fips-eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "elasticfilesystem-fips.eu-west-3.amazonaws.com" + }, + "fips-me-south-1" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "hostname" : "elasticfilesystem-fips.me-south-1.amazonaws.com" + }, + "fips-sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "elasticfilesystem-fips.sa-east-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "elasticfilesystem-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "elasticfilesystem-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticfilesystem-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "elasticfilesystem-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "elasticloadbalancing-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "elasticloadbalancing-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticloadbalancing-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "elasticloadbalancing-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "{region}.{service}.{dnsSuffix}" + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "elasticmapreduce-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "elasticmapreduce-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "elasticmapreduce-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticmapreduce-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "elasticmapreduce-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elastictranscoder" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "email" : { + "endpoints" : { + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "entitlement.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "es" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "es-fips.us-west-1.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "events" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "events-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "events-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "events-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "events-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "firehose" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "firehose-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "firehose-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "firehose-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "firehose-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "fms" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "fms-fips.ap-northeast-1.amazonaws.com" + }, + "fips-ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "fms-fips.ap-northeast-2.amazonaws.com" + }, + "fips-ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "fms-fips.ap-south-1.amazonaws.com" + }, + "fips-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "fms-fips.ap-southeast-1.amazonaws.com" + }, + "fips-ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "fms-fips.ap-southeast-2.amazonaws.com" + }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "fms-fips.ca-central-1.amazonaws.com" + }, + "fips-eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "fms-fips.eu-central-1.amazonaws.com" + }, + "fips-eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "fms-fips.eu-west-1.amazonaws.com" + }, + "fips-eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "fms-fips.eu-west-2.amazonaws.com" + }, + "fips-eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "fms-fips.eu-west-3.amazonaws.com" + }, + "fips-sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "fms-fips.sa-east-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "fms-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "fms-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "fms-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "fms-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "forecast" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "forecastquery" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "fsx" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "gamelift" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "glacier-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "glacier-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "glacier-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "glacier-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "glacier-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "glue" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "glue-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "glue-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "glue-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "glue-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "greengrass" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + }, + "isRegionalized" : true + }, + "groundstation" : { + "endpoints" : { + "ap-southeast-2" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "me-south-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "guardduty" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "guardduty-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "guardduty-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "guardduty-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "guardduty-fips.us-west-2.amazonaws.com" + } + }, + "isRegionalized" : true + }, + "health" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "iam.amazonaws.com" + }, + "iam-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "iam-fips.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "importexport" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1", + "service" : "IngestionService" + }, + "hostname" : "importexport.amazonaws.com", + "signatureVersions" : [ "v2", "v4" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "inspector" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "inspector-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "inspector-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "inspector-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "inspector-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "iotanalytics" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "iotevents" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "ioteventsdata" : { + "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "data.iotevents.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "data.iotevents.ap-northeast-2.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "data.iotevents.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "data.iotevents.ap-southeast-2.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "data.iotevents.eu-central-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "data.iotevents.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "data.iotevents.eu-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "data.iotevents.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "data.iotevents.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "data.iotevents.us-west-2.amazonaws.com" + } + } + }, + "iotsecuredtunneling" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "iotthingsgraph" : { + "defaults" : { + "credentialScope" : { + "service" : "iotthingsgraph" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "kafka" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "kinesis" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "kinesis-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "kinesis-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "kinesis-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "kinesis-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "kinesisanalytics" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "kinesisvideo" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "kms" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lakeformation" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lambda" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "lambda-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "lambda-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "lambda-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "lambda-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "license-manager" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "license-manager-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "license-manager-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "license-manager-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "license-manager-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lightsail" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "logs" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "machinelearning" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "macie" : { + "endpoints" : { + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "macie-fips.us-east-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "macie-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "managedblockchain" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "marketplacecommerceanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "mediaconnect" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mediaconvert" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "mediaconvert-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "mediaconvert-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "mediaconvert-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "mediaconvert-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "mediaconvert-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "medialive" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "mediapackage" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mediastore" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "metering.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mgh" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "mobileanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "models.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "monitoring-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "monitoring-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "monitoring-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "monitoring-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mq" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "mq-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "mq-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "mq-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "mq-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mturk-requester" : { + "endpoints" : { + "sandbox" : { + "hostname" : "mturk-requester-sandbox.us-east-1.amazonaws.com" + }, + "us-east-1" : { } + }, + "isRegionalized" : false + }, + "neptune" : { + "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "rds.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "rds.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "rds.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "rds.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "rds.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "rds.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "rds.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "rds.eu-north-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "rds.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "rds.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "rds.eu-west-3.amazonaws.com" + }, + "me-south-1" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "hostname" : "rds.me-south-1.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "rds.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "rds.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "rds.us-west-2.amazonaws.com" + } + } + }, + "oidc" : { + "endpoints" : { + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "oidc.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "oidc.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "oidc.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "oidc.eu-central-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "oidc.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "oidc.eu-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "oidc.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "oidc.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "oidc.us-west-2.amazonaws.com" + } + } + }, + "opsworks" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "opsworks-cm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "organizations" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "organizations.us-east-1.amazonaws.com" + }, + "fips-aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "organizations-fips.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "outposts" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "outposts-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "outposts-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "outposts-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "outposts-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "outposts-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "pinpoint" : { + "defaults" : { + "credentialScope" : { + "service" : "mobiletargeting" + } + }, + "endpoints" : { + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "pinpoint-fips.us-east-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "pinpoint-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "pinpoint.us-east-1.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "pinpoint.us-west-2.amazonaws.com" + } + } + }, + "polly" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "polly-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "polly-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "polly-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "polly-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "portal.sso" : { + "endpoints" : { + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "portal.sso.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "portal.sso.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "portal.sso.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "portal.sso.eu-central-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "portal.sso.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "portal.sso.eu-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "portal.sso.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "portal.sso.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "portal.sso.us-west-2.amazonaws.com" + } + } + }, + "projects.iot1click" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "qldb" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "ram" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "rds" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "rds-fips.ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "rds-fips.ca-central-1.amazonaws.com" + }, + "rds-fips.us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "rds-fips.us-east-1.amazonaws.com" + }, + "rds-fips.us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "rds-fips.us-east-2.amazonaws.com" + }, + "rds-fips.us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "rds-fips.us-west-1.amazonaws.com" + }, + "rds-fips.us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "rds-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "redshift" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "redshift-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "redshift-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "redshift-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "redshift-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "redshift-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "rekognition" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "resource-groups" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "resource-groups-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "resource-groups-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "resource-groups-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "resource-groups-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "robomaker" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "route53.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "route53domains" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "route53resolver" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "runtime.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "runtime.sagemaker" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "runtime-fips.sagemaker.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "runtime-fips.sagemaker.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "runtime-fips.sagemaker.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "runtime-fips.sagemaker.us-west-2.amazonaws.com" + } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { + "hostname" : "s3.ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { + "hostname" : "s3.ap-southeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-southeast-2" : { + "hostname" : "s3.ap-southeast-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { + "hostname" : "s3.eu-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "s3-external-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3-external-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "sa-east-1" : { + "hostname" : "s3.sa-east-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-1" : { + "hostname" : "s3.us-east-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-2" : { }, + "us-west-1" : { + "hostname" : "s3.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-west-2" : { + "hostname" : "s3.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + } + }, + "isRegionalized" : true, + "partitionEndpoint" : "aws-global" + }, + "s3-control" : { + "defaults" : { + "protocols" : [ "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "s3-control.ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "s3-control.ap-northeast-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "s3-control.ap-south-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "s3-control.ap-southeast-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "s3-control.ap-southeast-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "s3-control.ca-central-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "s3-control.eu-central-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "s3-control.eu-north-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "s3-control.eu-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "s3-control.eu-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "s3-control.eu-west-3.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "s3-control.sa-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3-control.us-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3-control-fips.us-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "s3-control.us-east-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "s3-control-fips.us-east-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "s3-control.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "s3-control-fips.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "s3-control.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "s3-control-fips.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + } + } + }, + "savingsplans" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "savingsplans.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "schemas" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sdb" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "v2" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "hostname" : "sdb.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "secretsmanager" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com" + } + } + }, + "securityhub" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "serverlessrepo" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { + "protocols" : [ "https" ] + }, + "ap-northeast-1" : { + "protocols" : [ "https" ] + }, + "ap-northeast-2" : { + "protocols" : [ "https" ] + }, + "ap-south-1" : { + "protocols" : [ "https" ] + }, + "ap-southeast-1" : { + "protocols" : [ "https" ] + }, + "ap-southeast-2" : { + "protocols" : [ "https" ] + }, + "ca-central-1" : { + "protocols" : [ "https" ] + }, + "eu-central-1" : { + "protocols" : [ "https" ] + }, + "eu-north-1" : { + "protocols" : [ "https" ] + }, + "eu-west-1" : { + "protocols" : [ "https" ] + }, + "eu-west-2" : { + "protocols" : [ "https" ] + }, + "eu-west-3" : { + "protocols" : [ "https" ] + }, + "me-south-1" : { + "protocols" : [ "https" ] + }, + "sa-east-1" : { + "protocols" : [ "https" ] + }, + "us-east-1" : { + "protocols" : [ "https" ] + }, + "us-east-2" : { + "protocols" : [ "https" ] + }, + "us-west-1" : { + "protocols" : [ "https" ] + }, + "us-west-2" : { + "protocols" : [ "https" ] + } + } + }, + "servicecatalog" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "servicecatalog-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "servicecatalog-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "servicecatalog-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "servicecatalog-fips.us-west-2.amazonaws.com" + } + } + }, + "servicediscovery" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "session.qldb" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "shield" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "shield.us-east-1.amazonaws.com" + }, + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "shield.us-east-1.amazonaws.com" + }, + "fips-aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "shield-fips.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "sms" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sms-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sms-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sms-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sms-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "snowball" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "snowball-fips.ap-northeast-1.amazonaws.com" + }, + "fips-ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "snowball-fips.ap-northeast-2.amazonaws.com" + }, + "fips-ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "snowball-fips.ap-south-1.amazonaws.com" + }, + "fips-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "snowball-fips.ap-southeast-1.amazonaws.com" + }, + "fips-ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "snowball-fips.ap-southeast-2.amazonaws.com" + }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "snowball-fips.ca-central-1.amazonaws.com" + }, + "fips-eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "snowball-fips.eu-central-1.amazonaws.com" + }, + "fips-eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "snowball-fips.eu-west-1.amazonaws.com" + }, + "fips-eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "snowball-fips.eu-west-2.amazonaws.com" + }, + "fips-eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "snowball-fips.eu-west-3.amazonaws.com" + }, + "fips-sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "snowball-fips.sa-east-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "snowball-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "snowball-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "snowball-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "snowball-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sns-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sns-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sns-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sns-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sqs-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sqs-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sqs-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sqs-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "queue.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ssm" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ssm-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ssm-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ssm-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ssm-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "ssm-facade-fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ssm-facade-fips.us-east-1.amazonaws.com" + }, + "ssm-facade-fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "ssm-facade-fips.us-east-2.amazonaws.com" + }, + "ssm-facade-fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "ssm-facade-fips.us-west-1.amazonaws.com" + }, + "ssm-facade-fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "ssm-facade-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "states" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "states-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "states-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "states-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "states-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "dynamodb-fips.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "dynamodb-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "dynamodb-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "dynamodb-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "dynamodb-fips.us-west-2.amazonaws.com" + } + } + }, + "sts" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts.amazonaws.com" + }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sts-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sts-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sts-fips.us-west-2.amazonaws.com" + } + }, + "partitionEndpoint" : "aws-global" + }, + "support" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "support.us-east-1.amazonaws.com" + } + }, + "partitionEndpoint" : "aws-global" + }, + "swf" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "swf-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "swf-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "swf-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "swf-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "tagging" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "transcribe" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "fips.transcribe.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "fips.transcribe.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "fips.transcribe.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "fips.transcribe.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "transcribestreaming" : { + "endpoints" : { + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "transfer" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "translate-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "translate-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "translate-fips.us-west-2.amazonaws.com" + } + } + }, + "waf" : { + "endpoints" : { + "aws-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf-fips.amazonaws.com" + }, + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "waf-regional" : { + "endpoints" : { + "ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "waf-regional.ap-east-1.amazonaws.com" + }, + "ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "waf-regional.ap-northeast-1.amazonaws.com" + }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "waf-regional.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "waf-regional.ap-south-1.amazonaws.com" + }, + "ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "waf-regional.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "waf-regional.ap-southeast-2.amazonaws.com" + }, + "ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "waf-regional.ca-central-1.amazonaws.com" + }, + "eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "waf-regional.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "waf-regional.eu-north-1.amazonaws.com" + }, + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "waf-regional.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "waf-regional.eu-west-2.amazonaws.com" + }, + "eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "waf-regional.eu-west-3.amazonaws.com" + }, + "fips-ap-east-1" : { + "credentialScope" : { + "region" : "ap-east-1" + }, + "hostname" : "waf-regional-fips.ap-east-1.amazonaws.com" + }, + "fips-ap-northeast-1" : { + "credentialScope" : { + "region" : "ap-northeast-1" + }, + "hostname" : "waf-regional-fips.ap-northeast-1.amazonaws.com" + }, + "fips-ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "waf-regional-fips.ap-northeast-2.amazonaws.com" + }, + "fips-ap-south-1" : { + "credentialScope" : { + "region" : "ap-south-1" + }, + "hostname" : "waf-regional-fips.ap-south-1.amazonaws.com" + }, + "fips-ap-southeast-1" : { + "credentialScope" : { + "region" : "ap-southeast-1" + }, + "hostname" : "waf-regional-fips.ap-southeast-1.amazonaws.com" + }, + "fips-ap-southeast-2" : { + "credentialScope" : { + "region" : "ap-southeast-2" + }, + "hostname" : "waf-regional-fips.ap-southeast-2.amazonaws.com" + }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "hostname" : "waf-regional-fips.ca-central-1.amazonaws.com" + }, + "fips-eu-central-1" : { + "credentialScope" : { + "region" : "eu-central-1" + }, + "hostname" : "waf-regional-fips.eu-central-1.amazonaws.com" + }, + "fips-eu-north-1" : { + "credentialScope" : { + "region" : "eu-north-1" + }, + "hostname" : "waf-regional-fips.eu-north-1.amazonaws.com" + }, + "fips-eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "waf-regional-fips.eu-west-1.amazonaws.com" + }, + "fips-eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "waf-regional-fips.eu-west-2.amazonaws.com" + }, + "fips-eu-west-3" : { + "credentialScope" : { + "region" : "eu-west-3" + }, + "hostname" : "waf-regional-fips.eu-west-3.amazonaws.com" + }, + "fips-me-south-1" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "hostname" : "waf-regional-fips.me-south-1.amazonaws.com" + }, + "fips-sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "waf-regional-fips.sa-east-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf-regional-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "waf-regional-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "waf-regional-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "waf-regional-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { + "credentialScope" : { + "region" : "me-south-1" + }, + "hostname" : "waf-regional.me-south-1.amazonaws.com" + }, + "sa-east-1" : { + "credentialScope" : { + "region" : "sa-east-1" + }, + "hostname" : "waf-regional.sa-east-1.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf-regional.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "waf-regional.us-east-2.amazonaws.com" + }, + "us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "waf-regional.us-west-1.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "waf-regional.us-west-2.amazonaws.com" + } + } + }, + "workdocs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "workdocs-fips.us-east-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "workdocs-fips.us-west-2.amazonaws.com" + }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workmail" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workspaces" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "xray" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com.cn", + "partition" : "aws-cn", + "partitionName" : "AWS China", + "regionRegex" : "^cn\\-\\w+\\-\\d+$", + "regions" : { + "cn-north-1" : { + "description" : "China (Beijing)" + }, + "cn-northwest-1" : { + "description" : "China (Ningxia)" + } + }, + "services" : { + "acm" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "api.ecr" : { + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "api.ecr.cn-north-1.amazonaws.com.cn" + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "api.ecr.cn-northwest-1.amazonaws.com.cn" + } + } + }, + "api.sagemaker" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "apigateway" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "appsync" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "athena" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "backup" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "batch" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cloudfront" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "cloudfront.cn-northwest-1.amazonaws.com.cn", + "protocols" : [ "http", "https" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, + "cloudtrail" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "codebuild" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "codecommit" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "config" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "dax" : { + "endpoints" : { + "cn-northwest-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "dms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ds" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ecs" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "eks" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticfilesystem" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { }, + "fips-cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "elasticfilesystem-fips.cn-north-1.amazonaws.com.cn" + }, + "fips-cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn" + } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "es" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "events" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "firehose" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "gamelift" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "glue" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "greengrass" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + }, + "isRegionalized" : true + }, + "health" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "iam.cn-north-1.amazonaws.com.cn" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "iotsecuredtunneling" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "kafka" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "kinesis" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "kms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "license-manager" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "logs" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "mediaconvert" : { + "endpoints" : { + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn" + } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "neptune" : { + "endpoints" : { + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "rds.cn-northwest-1.amazonaws.com.cn" + } + } + }, + "polly" : { + "endpoints" : { + "cn-northwest-1" : { } + } + }, + "rds" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "route53.amazonaws.com.cn" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, + "runtime.sagemaker" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "s3-control" : { + "defaults" : { + "protocols" : [ "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "s3-control.cn-north-1.amazonaws.com.cn", + "signatureVersions" : [ "s3v4" ] + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "s3-control.cn-northwest-1.amazonaws.com.cn", + "signatureVersions" : [ "s3v4" ] + } + } + }, + "secretsmanager" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "serverlessrepo" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { + "protocols" : [ "https" ] + }, + "cn-northwest-1" : { + "protocols" : [ "https" ] + } + } + }, + "sms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "cn-north-1" : { }, + "fips-cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "snowball-fips.cn-north-1.amazonaws.com.cn" + } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ssm" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "states" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sts" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "support" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "support.cn-north-1.amazonaws.com.cn" + } + }, + "partitionEndpoint" : "aws-cn-global" + }, + "swf" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "tagging" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "transcribe" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "cn.transcribe.cn-north-1.amazonaws.com.cn" + }, + "cn-northwest-1" : { + "credentialScope" : { + "region" : "cn-northwest-1" + }, + "hostname" : "cn.transcribe.cn-northwest-1.amazonaws.com.cn" + } + } + }, + "workspaces" : { + "endpoints" : { + "cn-northwest-1" : { } + } + }, + "xray" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws-us-gov", + "partitionName" : "AWS GovCloud (US)", + "regionRegex" : "^us\\-gov\\-\\w+\\-\\d+$", + "regions" : { + "us-gov-east-1" : { + "description" : "AWS GovCloud (US-East)" + }, + "us-gov-west-1" : { + "description" : "AWS GovCloud (US-West)" + } + }, + "services" : { + "access-analyzer" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "acm" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "acm-pca" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "acm-pca.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "acm-pca.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "api.ecr" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ecr-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ecr-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "api.ecr.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "api.ecr.us-gov-west-1.amazonaws.com" + } + } + }, + "api.sagemaker" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "apigateway" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "appstream2" : { + "defaults" : { + "credentialScope" : { + "service" : "appstream" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "appstream2-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "athena" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "athena-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "athena-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "autoscaling" : { + "endpoints" : { + "us-gov-east-1" : { + "protocols" : [ "http", "https" ] + }, + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "autoscaling-plans" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "batch" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "batch.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "batch.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "clouddirectory" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "cloudformation.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "cloudformation.us-gov-west-1.amazonaws.com" + } + } + }, + "cloudhsm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "cloudtrail.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "cloudtrail.us-gov-west-1.amazonaws.com" + } + } + }, + "codebuild" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "codebuild-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "codebuild-fips.us-gov-west-1.amazonaws.com" + } + } + }, + "codecommit" : { + "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "codecommit-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "codedeploy-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "codedeploy-fips.us-gov-west-1.amazonaws.com" + } + } + }, + "codepipeline" : { + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "codepipeline-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cognito-idp" : { + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "cognito-idp-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "comprehend-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "comprehendmedical" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "config" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "datasync" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "datasync-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "datasync-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "directconnect.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "directconnect.us-gov-west-1.amazonaws.com" + } + } + }, + "dms" : { + "endpoints" : { + "dms-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "dms.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "ds" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ds-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ds-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "dynamodb" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "dynamodb.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" + } + } + }, + "ec2" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ec2.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ec2.us-gov-west-1.amazonaws.com" + } + } + }, + "ecs" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ecs-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ecs-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "eks" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticache-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "elasticbeanstalk.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticbeanstalk.us-gov-west-1.amazonaws.com" + } + } + }, + "elasticfilesystem" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "elasticfilesystem-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticfilesystem-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "elasticloadbalancing" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "elasticloadbalancing-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticloadbalancing-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "elasticmapreduce" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "elasticmapreduce.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticmapreduce.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { + "protocols" : [ "https" ] + } + } + }, + "email" : { + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "email-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "es" : { + "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "es-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "events" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "events.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "events.us-gov-west-1.amazonaws.com" + } + } + }, + "firehose" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "firehose-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "firehose-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "glacier" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "glacier.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "glacier.us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ] + } + } + }, + "glue" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "glue-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "glue-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "greengrass" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "greengrass.us-gov-west-1.amazonaws.com" + } + }, + "isRegionalized" : true + }, + "guardduty" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "guardduty.us-gov-west-1.amazonaws.com" + } + }, + "isRegionalized" : true + }, + "health" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "iam.us-gov.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, + "inspector" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "inspector-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "inspector-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "iotsecuredtunneling" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "kafka" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "kinesis" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "kms" : { + "endpoints" : { + "ProdFips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "kms-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "lambda-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "lambda-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "license-manager" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "license-manager-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "license-manager-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "logs" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "mediaconvert" : { + "endpoints" : { + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "mediaconvert.us-gov-west-1.amazonaws.com" + } + } + }, + "metering.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "monitoring" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "monitoring.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "monitoring.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "neptune" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "rds.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "rds.us-gov-west-1.amazonaws.com" + } + } + }, + "organizations" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "organizations.us-gov-west-1.amazonaws.com" + }, + "fips-aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "organizations.us-gov-west-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, + "outposts" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "outposts.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "outposts.us-gov-west-1.amazonaws.com" + } + } + }, + "pinpoint" : { + "defaults" : { + "credentialScope" : { + "service" : "mobiletargeting" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "polly" : { + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "polly-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "ram" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "rds" : { + "endpoints" : { + "rds.us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "rds.us-gov-east-1.amazonaws.com" + }, + "rds.us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "rds.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "redshift.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "redshift.us-gov-west-1.amazonaws.com" + } + } + }, + "rekognition" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "resource-groups" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "resource-groups.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "resource-groups.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "route53.us-gov.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, + "route53resolver" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "runtime.sagemaker" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "s3" : { + "defaults" : { + "signatureVersions" : [ "s3", "s3v4" ] + }, + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "s3-fips-us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "hostname" : "s3.us-gov-east-1.amazonaws.com", + "protocols" : [ "http", "https" ] + }, + "us-gov-west-1" : { + "hostname" : "s3.us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ] + } + } + }, + "s3-control" : { + "defaults" : { + "protocols" : [ "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "s3-control.us-gov-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "s3-control-fips.us-gov-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "s3-control.us-gov-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "s3-control-fips.us-gov-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + } + } + }, + "secretsmanager" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "secretsmanager-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "secretsmanager-fips.us-gov-west-1.amazonaws.com" + } + } + }, + "securityhub" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "serverlessrepo" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "serverlessrepo.us-gov-east-1.amazonaws.com", + "protocols" : [ "https" ] + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "serverlessrepo.us-gov-west-1.amazonaws.com", + "protocols" : [ "https" ] + } + } + }, + "servicecatalog" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "servicecatalog-fips.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "servicecatalog-fips.us-gov-west-1.amazonaws.com" + } + } + }, + "sms" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "sms-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "sms-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "snowball-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "snowball-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "sns" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "sns.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "sns.us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ] + } + } + }, + "sqs" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "sqs.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "sqs.us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" } } - } - }, - { - "partition": "aws-cn", - "partitionName": "AWS China", - "dnsSuffix": "amazonaws.com.cn", - "regionRegex": "^cn\\-\\w+\\-\\d+$", - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] }, - "regions": { - "cn-north-1": { - "description": "China (Beijing)" + "ssm" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ssm.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ssm.us-gov-west-1.amazonaws.com" + }, + "ssm-facade-fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "ssm-facade.us-gov-east-1.amazonaws.com" + }, + "ssm-facade-fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "ssm-facade.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } } }, - "services": { - "autoscaling": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "states" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "states-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "states.us-gov-west-1.amazonaws.com" }, - "endpoints": { - "cn-north-1": {} + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" } }, - "cloudformation": { - "endpoints": { - "cn-north-1": {} + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "dynamodb.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" } - }, - "cloudtrail": { - "endpoints": { - "cn-north-1": {} + } + }, + "sts" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-east-1-fips" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "sts.us-gov-east-1.amazonaws.com" + }, + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "sts.us-gov-west-1.amazonaws.com" } - }, - "directconnect": { - "endpoints": { - "cn-north-1": {} + } + }, + "support" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "support.us-gov-west-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "support.us-gov-west-1.amazonaws.com" } }, - "dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "partitionEndpoint" : "aws-us-gov-global" + }, + "swf" : { + "endpoints" : { + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "swf.us-gov-east-1.amazonaws.com" }, - "endpoints": { - "cn-north-1": {} + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "swf.us-gov-west-1.amazonaws.com" } - }, - "ec2": { - "defaults": { - "protocols": [ - "http", - "https" - ] + } + }, + "tagging" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "transcribe" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "fips.transcribe.us-gov-east-1.amazonaws.com" }, - "endpoints": { - "cn-north-1": {} + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "fips.transcribe.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "translate-fips.us-gov-west-1.amazonaws.com" } - }, - "elasticache": { - "endpoints": { - "cn-north-1": {} + } + }, + "waf-regional" : { + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "waf-regional-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "waf-regional.us-gov-west-1.amazonaws.com" } - }, - "elasticbeanstalk": { - "endpoints": { - "cn-north-1": {} + } + }, + "workspaces" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "xray" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "c2s.ic.gov", + "partition" : "aws-iso", + "partitionName" : "AWS ISO (US)", + "regionRegex" : "^us\\-iso\\-\\w+\\-\\d+$", + "regions" : { + "us-iso-east-1" : { + "description" : "US ISO East" + } + }, + "services" : { + "api.ecr" : { + "endpoints" : { + "us-iso-east-1" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "api.ecr.us-iso-east-1.c2s.ic.gov" } + } + }, + "api.sagemaker" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "apigateway" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] }, - "elasticloadbalancing": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "autoscaling" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] } + } + }, + "cloudformation" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] }, - "elasticmapreduce": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "config" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "datapipeline" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "dms" : { + "endpoints" : { + "dms-fips" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "dms.us-iso-east-1.c2s.ic.gov" }, - "endpoints": { - "cn-north-1": {} + "us-iso-east-1" : { } + } + }, + "ds" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "dynamodb" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] } - }, - "glacier": { - "defaults": { - "protocols": [ - "http", - "https" - ] - }, - "endpoints": { - "cn-north-1": {} + } + }, + "ec2" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "ecs" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "elasticloadbalancing" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] } - }, - "iam": { - "partitionEndpoint": "aws-cn-global", - "isRegionalized": false, - "endpoints": { - "aws-cn-global": { - "hostname": "iam.cn-north-1.amazonaws.com.cn", - "credentialScope": { - "region": "cn-north-1" - } - } + } + }, + "elasticmapreduce" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "https" ] } - }, - "kinesis": { - "endpoints": { - "cn-north-1": {} + } + }, + "es" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "events" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "glacier" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "health" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-iso-global" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "iam.us-iso-east-1.c2s.ic.gov" } }, - "monitoring": { - "defaults": { - "protocols": [ - "http", - "https" - ] + "isRegionalized" : false, + "partitionEndpoint" : "aws-iso-global" + }, + "kinesis" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "kms" : { + "endpoints" : { + "ProdFips" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "kms-fips.us-iso-east-1.c2s.ic.gov" }, - "endpoints": { - "cn-north-1": {} + "us-iso-east-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "logs" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "monitoring" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "rds" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-iso-global" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "route53.c2s.ic.gov" } }, - "rds": { - "endpoints": { - "cn-north-1": {} + "isRegionalized" : false, + "partitionEndpoint" : "aws-iso-global" + }, + "runtime.sagemaker" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "s3" : { + "defaults" : { + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] } - }, - "s3": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "signatureVersions": [ - "s3v4" - ] - }, - "endpoints": { - "cn-north-1": {} + } + }, + "snowball" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "sns" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] } - }, - "sns": { - "defaults": { - "protocols": [ - "http", - "https" - ] + } + }, + "sqs" : { + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "states" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" }, - "endpoints": { - "cn-north-1": {} + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-iso-east-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "sts" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "support" : { + "endpoints" : { + "aws-iso-global" : { + "credentialScope" : { + "region" : "us-iso-east-1" + }, + "hostname" : "support.us-iso-east-1.c2s.ic.gov" } }, - "sqs": { - "defaults": { - "sslCommonName": "{region}.queue.{dnsSuffix}", - "protocols": [ - "http", - "https" - ] + "partitionEndpoint" : "aws-iso-global" + }, + "swf" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, + "workspaces" : { + "endpoints" : { + "us-iso-east-1" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "sc2s.sgov.gov", + "partition" : "aws-iso-b", + "partitionName" : "AWS ISOB (US)", + "regionRegex" : "^us\\-isob\\-\\w+\\-\\d+$", + "regions" : { + "us-isob-east-1" : { + "description" : "US ISOB East (Ohio)" + } + }, + "services" : { + "application-autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "config" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "dms" : { + "endpoints" : { + "dms-fips" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov" }, - "endpoints": { - "cn-north-1": {} - } + "us-isob-east-1" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] }, - "storagegateway": { - "endpoints": { - "cn-north-1": {} + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "elasticloadbalancing" : { + "endpoints" : { + "us-isob-east-1" : { + "protocols" : [ "https" ] + } + } + }, + "elasticmapreduce" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "events" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "glacier" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "health" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-iso-b-global" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "iam.us-isob-east-1.sc2s.sgov.gov" } }, - "streams.dynamodb": { - "defaults": { - "protocols": [ - "http", - "https" - ], - "credentialScope": { - "service": "dynamodb" - } + "isRegionalized" : false, + "partitionEndpoint" : "aws-iso-b-global" + }, + "kinesis" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "kms" : { + "endpoints" : { + "ProdFips" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "kms-fips.us-isob-east-1.sc2s.sgov.gov" }, - "endpoints": { - "cn-north-1": {} - } + "us-isob-east-1" : { } + } + }, + "license-manager" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "logs" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "monitoring" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "rds" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] }, - "sts": { - "endpoints": { - "cn-north-1": {} - } + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] }, - "swf": { - "endpoints": { - "cn-north-1": {} - } + "endpoints" : { + "us-isob-east-1" : { } } - } - }, - { - "partition": "aws-us-gov", - "partitionName": "AWS GovCloud (US)", - "dnsSuffix": "amazonaws.com", - "regionRegex": "^us\\-gov\\-\\w+\\-\\d+$", - "defaults": { - "hostname": "{service}.{region}.{dnsSuffix}", - "protocols": [ - "https" - ], - "signatureVersions": [ - "v4" - ] - }, - "regions": { - "us-gov-west-1": { - "description": "AWS GovCloud (US)" - } - }, - "services": { - "autoscaling": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "cloudformation": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "cloudhsm": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "cloudtrail": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "dynamodb": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "streams.dynamodb": { - "defaults": { - "credentialScope": { - "service": "dynamodb" - } - }, - "endpoints": { - "us-gov-west-1": {} - } - }, - "ec2": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "elasticache": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "elasticloadbalancing": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "elasticmapreduce": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "glacier": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "iam": { - "partitionEndpoint": "aws-us-gov-global", - "isRegionalized": false, - "endpoints": { - "aws-us-gov-global": { - "hostname": "iam.us-gov.amazonaws.com", - "credentialScope": { - "region": "us-gov-west-1" - } - } - } - }, - "kms": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "monitoring": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "rds": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "redshift": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "s3": { - "defaults": { - "signatureVersions": [ - "s3", - "s3v4" - ] - }, - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ], - "hostname": "s3-us-gov-west-1.amazonaws.com" - }, - "fips-us-gov-west-1": { - "credentialScope": { - "region": "us-gov-west-1" - }, - "hostname": "s3-fips-us-gov-west-1.amazonaws.com" - } - } - }, - "sns": { - "endpoints": { - "us-gov-west-1": { - "protocols": [ - "http", - "https" - ] - } - } - }, - "sqs": { - "endpoints": { - "us-gov-west-1": { - "sslCommonName": "{region}.queue.{dnsSuffix}", - "protocols": [ - "http", - "https" - ] - } - } - }, - "sts": { - "endpoints": { - "us-gov-west-1": {} - } - }, - "swf": { - "endpoints": { - "us-gov-west-1": {} + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "ssm" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "states" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "sts" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, + "support" : { + "endpoints" : { + "aws-iso-b-global" : { + "credentialScope" : { + "region" : "us-isob-east-1" + }, + "hostname" : "support.us-isob-east-1.sc2s.sgov.gov" } + }, + "partitionEndpoint" : "aws-iso-b-global" + }, + "swf" : { + "endpoints" : { + "us-isob-east-1" : { } } } } - ] -} + } ], + "version" : 3 +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/es/2015-01-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/examples-1.json --- python-botocore-1.4.70/botocore/data/es/2015-01-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/es/2015-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/es/2015-01-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListElasticsearchInstanceTypes": { + "result_key": "ElasticsearchInstanceTypes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListElasticsearchVersions": { + "result_key": "ElasticsearchVersions", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeReservedElasticsearchInstanceOfferings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ReservedElasticsearchInstanceOfferings" + }, + "DescribeReservedElasticsearchInstances": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ReservedElasticsearchInstances" + }, + "GetUpgradeHistory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "UpgradeHistories" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/es/2015-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/es/2015-01-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/es/2015-01-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,7 +5,9 @@ "endpointPrefix":"es", "protocol":"rest-json", "serviceFullName":"Amazon Elasticsearch Service", - "signatureVersion":"v4" + "serviceId":"Elasticsearch Service", + "signatureVersion":"v4", + "uid":"es-2015-01-01" }, "operations":{ "AddTags":{ @@ -23,6 +25,40 @@ ], "documentation":"

Attaches tags to an existing Elasticsearch domain. Tags are a set of case-sensitive key value pairs. An Elasticsearch domain may have up to 10 tags. See Tagging Amazon Elasticsearch Service Domains for more information.

" }, + "AssociatePackage":{ + "name":"AssociatePackage", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/packages/associate/{PackageID}/{DomainName}" + }, + "input":{"shape":"AssociatePackageRequest"}, + "output":{"shape":"AssociatePackageResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Associates a package with an Amazon ES domain.

" + }, + "CancelElasticsearchServiceSoftwareUpdate":{ + "name":"CancelElasticsearchServiceSoftwareUpdate", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/es/serviceSoftwareUpdate/cancel" + }, + "input":{"shape":"CancelElasticsearchServiceSoftwareUpdateRequest"}, + "output":{"shape":"CancelElasticsearchServiceSoftwareUpdateResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Cancels a scheduled service software update for an Amazon ES domain. You can only perform this operation before the AutomatedUpdateDate and when the UpdateStatus is in the PENDING_UPDATE state.

" + }, "CreateElasticsearchDomain":{ "name":"CreateElasticsearchDomain", "http":{ @@ -42,6 +78,25 @@ ], "documentation":"

Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide.

" }, + "CreatePackage":{ + "name":"CreatePackage", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/packages" + }, + "input":{"shape":"CreatePackageRequest"}, + "output":{"shape":"CreatePackageResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidTypeException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Create a package for use with Amazon ES domains.

" + }, "DeleteElasticsearchDomain":{ "name":"DeleteElasticsearchDomain", "http":{ @@ -58,6 +113,37 @@ ], "documentation":"

Permanently deletes the specified Elasticsearch domain and all of its data. Once a domain is deleted, it cannot be recovered.

" }, + "DeleteElasticsearchServiceRole":{ + "name":"DeleteElasticsearchServiceRole", + "http":{ + "method":"DELETE", + "requestUri":"/2015-01-01/es/role" + }, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Deletes the service-linked role that Elasticsearch Service uses to manage and maintain VPC domains. Role deletion will fail if any existing VPC domains use the role. You must delete any such Elasticsearch domains before deleting the role. See Deleting Elasticsearch Service Role in VPC Endpoints for Amazon Elasticsearch Service Domains.

" + }, + "DeletePackage":{ + "name":"DeletePackage", + "http":{ + "method":"DELETE", + "requestUri":"/2015-01-01/packages/{PackageID}" + }, + "input":{"shape":"DeletePackageRequest"}, + "output":{"shape":"DeletePackageResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Delete the package.

" + }, "DescribeElasticsearchDomain":{ "name":"DescribeElasticsearchDomain", "http":{ @@ -105,6 +191,142 @@ ], "documentation":"

Returns domain configuration information about the specified Elasticsearch domains, including the domain ID, domain endpoint, and domain ARN.

" }, + "DescribeElasticsearchInstanceTypeLimits":{ + "name":"DescribeElasticsearchInstanceTypeLimits", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/instanceTypeLimits/{ElasticsearchVersion}/{InstanceType}" + }, + "input":{"shape":"DescribeElasticsearchInstanceTypeLimitsRequest"}, + "output":{"shape":"DescribeElasticsearchInstanceTypeLimitsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidTypeException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Describe Elasticsearch Limits for a given InstanceType and ElasticsearchVersion. When modifying existing Domain, specify the DomainName to know what Limits are supported for modifying.

" + }, + "DescribePackages":{ + "name":"DescribePackages", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/packages/describe" + }, + "input":{"shape":"DescribePackagesRequest"}, + "output":{"shape":"DescribePackagesResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Describes all packages available to Amazon ES. Includes options for filtering, limiting the number of results, and pagination.

" + }, + "DescribeReservedElasticsearchInstanceOfferings":{ + "name":"DescribeReservedElasticsearchInstanceOfferings", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/reservedInstanceOfferings" + }, + "input":{"shape":"DescribeReservedElasticsearchInstanceOfferingsRequest"}, + "output":{"shape":"DescribeReservedElasticsearchInstanceOfferingsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Lists available reserved Elasticsearch instance offerings.

" + }, + "DescribeReservedElasticsearchInstances":{ + "name":"DescribeReservedElasticsearchInstances", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/reservedInstances" + }, + "input":{"shape":"DescribeReservedElasticsearchInstancesRequest"}, + "output":{"shape":"DescribeReservedElasticsearchInstancesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"} + ], + "documentation":"

Returns information about reserved Elasticsearch instances for this account.

" + }, + "DissociatePackage":{ + "name":"DissociatePackage", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/packages/dissociate/{PackageID}/{DomainName}" + }, + "input":{"shape":"DissociatePackageRequest"}, + "output":{"shape":"DissociatePackageResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Dissociates a package from the Amazon ES domain.

" + }, + "GetCompatibleElasticsearchVersions":{ + "name":"GetCompatibleElasticsearchVersions", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/compatibleVersions" + }, + "input":{"shape":"GetCompatibleElasticsearchVersionsRequest"}, + "output":{"shape":"GetCompatibleElasticsearchVersionsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Returns a list of upgrade compatible Elastisearch versions. You can optionally pass a DomainName to get all upgrade compatible Elasticsearch versions for that specific domain.

" + }, + "GetUpgradeHistory":{ + "name":"GetUpgradeHistory", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/upgradeDomain/{DomainName}/history" + }, + "input":{"shape":"GetUpgradeHistoryRequest"}, + "output":{"shape":"GetUpgradeHistoryResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Retrieves the complete history of the last 10 upgrades that were performed on the domain.

" + }, + "GetUpgradeStatus":{ + "name":"GetUpgradeStatus", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/upgradeDomain/{DomainName}/status" + }, + "input":{"shape":"GetUpgradeStatusRequest"}, + "output":{"shape":"GetUpgradeStatusResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Retrieves the latest status of the last upgrade or upgrade eligibility check that was performed on the domain.

" + }, "ListDomainNames":{ "name":"ListDomainNames", "http":{ @@ -118,6 +340,72 @@ ], "documentation":"

Returns the name of all Elasticsearch domains owned by the current user's account.

" }, + "ListDomainsForPackage":{ + "name":"ListDomainsForPackage", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/packages/{PackageID}/domains" + }, + "input":{"shape":"ListDomainsForPackageRequest"}, + "output":{"shape":"ListDomainsForPackageResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all Amazon ES domains associated with the package.

" + }, + "ListElasticsearchInstanceTypes":{ + "name":"ListElasticsearchInstanceTypes", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/instanceTypes/{ElasticsearchVersion}" + }, + "input":{"shape":"ListElasticsearchInstanceTypesRequest"}, + "output":{"shape":"ListElasticsearchInstanceTypesResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

List all Elasticsearch instance types that are supported for given ElasticsearchVersion

" + }, + "ListElasticsearchVersions":{ + "name":"ListElasticsearchVersions", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/es/versions" + }, + "input":{"shape":"ListElasticsearchVersionsRequest"}, + "output":{"shape":"ListElasticsearchVersionsResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

List all supported Elasticsearch versions

" + }, + "ListPackagesForDomain":{ + "name":"ListPackagesForDomain", + "http":{ + "method":"GET", + "requestUri":"/2015-01-01/domain/{DomainName}/packages" + }, + "input":{"shape":"ListPackagesForDomainRequest"}, + "output":{"shape":"ListPackagesForDomainResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Lists all packages associated with the Amazon ES domain.

" + }, "ListTags":{ "name":"ListTags", "http":{ @@ -134,6 +422,24 @@ ], "documentation":"

Returns all tags for the given Elasticsearch domain.

" }, + "PurchaseReservedElasticsearchInstanceOffering":{ + "name":"PurchaseReservedElasticsearchInstanceOffering", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/es/purchaseReservedInstanceOffering" + }, + "input":{"shape":"PurchaseReservedElasticsearchInstanceOfferingRequest"}, + "output":{"shape":"PurchaseReservedElasticsearchInstanceOfferingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Allows you to purchase reserved Elasticsearch instances.

" + }, "RemoveTags":{ "name":"RemoveTags", "http":{ @@ -148,6 +454,22 @@ ], "documentation":"

Removes the specified set of tags from the specified Elasticsearch domain.

" }, + "StartElasticsearchServiceSoftwareUpdate":{ + "name":"StartElasticsearchServiceSoftwareUpdate", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/es/serviceSoftwareUpdate/start" + }, + "input":{"shape":"StartElasticsearchServiceSoftwareUpdateRequest"}, + "output":{"shape":"StartElasticsearchServiceSoftwareUpdateResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Schedules a service software update for an Amazon ES domain.

" + }, "UpdateElasticsearchDomainConfig":{ "name":"UpdateElasticsearchDomainConfig", "http":{ @@ -165,6 +487,24 @@ {"shape":"ValidationException"} ], "documentation":"

Modifies the cluster configuration of the specified Elasticsearch domain, setting as setting the instance type and the number of instances.

" + }, + "UpgradeElasticsearchDomain":{ + "name":"UpgradeElasticsearchDomain", + "http":{ + "method":"POST", + "requestUri":"/2015-01-01/es/upgradeDomain" + }, + "input":{"shape":"UpgradeElasticsearchDomainRequest"}, + "output":{"shape":"UpgradeElasticsearchDomainResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"DisabledOperationException"}, + {"shape":"ValidationException"}, + {"shape":"InternalException"} + ], + "documentation":"

Allows you to either upgrade your domain or perform an Upgrade eligibility check to a compatible Elasticsearch version.

" } }, "shapes":{ @@ -172,6 +512,14 @@ "type":"string", "documentation":"

The Amazon Resource Name (ARN) of the Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information.

" }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An error occurred because user does not have permissions to access the resource. Returns HTTP status code 403.

", + "error":{"httpStatusCode":403}, + "exception":true + }, "AccessPoliciesStatus":{ "type":"structure", "required":[ @@ -208,6 +556,24 @@ }, "documentation":"

Container for the parameters to the AddTags operation. Specify the tags that you want to attach to the Elasticsearch domain.

" }, + "AdditionalLimit":{ + "type":"structure", + "members":{ + "LimitName":{ + "shape":"LimitName", + "documentation":"

Name of Additional Limit is specific to a given InstanceType and for each of it's InstanceRole etc.
Attributes and their details:

  • MaximumNumberOfDataNodesSupported
  • This attribute will be present in Master node only to specify how much data nodes upto which given ESPartitionInstanceType can support as master node.
  • MaximumNumberOfDataNodesWithoutMasterNode
  • This attribute will be present in Data node only to specify how much data nodes of given ESPartitionInstanceType upto which you don't need any master nodes to govern them.

" + }, + "LimitValues":{ + "shape":"LimitValueList", + "documentation":"

Value for given AdditionalLimit$LimitName .

" + } + }, + "documentation":"

List of limits that are specific to a given InstanceType and for each of it's InstanceRole .

" + }, + "AdditionalLimitList":{ + "type":"list", + "member":{"shape":"AdditionalLimit"} + }, "AdvancedOptions":{ "type":"map", "key":{"shape":"String"}, @@ -232,6 +598,88 @@ }, "documentation":"

Status of the advanced options for the specified Elasticsearch domain. Currently, the following advanced options are available:

  • Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.
  • Option to specify the percentage of heap space that is allocated to field data. By default, this setting is unbounded.

For more information, see Configuring Advanced Options.

" }, + "AdvancedSecurityOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

True if advanced security is enabled.

" + }, + "InternalUserDatabaseEnabled":{ + "shape":"Boolean", + "documentation":"

True if the internal user database is enabled.

" + } + }, + "documentation":"

Specifies the advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled.

" + }, + "AdvancedSecurityOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

True if advanced security is enabled.

" + }, + "InternalUserDatabaseEnabled":{ + "shape":"Boolean", + "documentation":"

True if the internal user database is enabled.

" + }, + "MasterUserOptions":{ + "shape":"MasterUserOptions", + "documentation":"

Credentials for the master user: username and password, ARN, or both.

" + } + }, + "documentation":"

Specifies the advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled, master username and password (if internal database is enabled), and master user ARN (if IAM is enabled).

" + }, + "AdvancedSecurityOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"AdvancedSecurityOptions", + "documentation":"

Specifies advanced security options for the specified Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

Status of the advanced security options for the specified Elasticsearch domain.

" + } + }, + "documentation":"

Specifies the status of advanced security options for the specified Elasticsearch domain.

" + }, + "AssociatePackageRequest":{ + "type":"structure", + "required":[ + "PackageID", + "DomainName" + ], + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value.

", + "location":"uri", + "locationName":"PackageID" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain that you want to associate the package with.

", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"

Container for request parameters to AssociatePackage operation.

" + }, + "AssociatePackageResponse":{ + "type":"structure", + "members":{ + "DomainPackageDetails":{ + "shape":"DomainPackageDetails", + "documentation":"

DomainPackageDetails

" + } + }, + "documentation":"

Container for response returned by AssociatePackage operation.

" + }, "BaseException":{ "type":"structure", "members":{ @@ -244,13 +692,101 @@ "exception":true }, "Boolean":{"type":"boolean"}, + "CancelElasticsearchServiceSoftwareUpdateRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain that you want to stop the latest service software update on.

" + } + }, + "documentation":"

Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate operation. Specifies the name of the Elasticsearch domain that you wish to cancel a service software update on.

" + }, + "CancelElasticsearchServiceSoftwareUpdateResponse":{ + "type":"structure", + "members":{ + "ServiceSoftwareOptions":{ + "shape":"ServiceSoftwareOptions", + "documentation":"

The current status of the Elasticsearch service software update.

" + } + }, + "documentation":"

The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains the status of the update.

" + }, + "CloudWatchLogsLogGroupArn":{ + "type":"string", + "documentation":"

ARN of the Cloudwatch log group to which log needs to be published.

" + }, + "CognitoOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specifies the option to enable Cognito for Kibana authentication.

" + }, + "UserPoolId":{ + "shape":"UserPoolId", + "documentation":"

Specifies the Cognito user pool ID for Kibana authentication.

" + }, + "IdentityPoolId":{ + "shape":"IdentityPoolId", + "documentation":"

Specifies the Cognito identity pool ID for Kibana authentication.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources.

" + } + }, + "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" + }, + "CognitoOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"CognitoOptions", + "documentation":"

Specifies the Cognito options for the specified Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

Specifies the status of the Cognito options for the specified Elasticsearch domain.

" + } + }, + "documentation":"

Status of the Cognito options for the specified Elasticsearch domain.

" + }, + "CompatibleElasticsearchVersionsList":{ + "type":"list", + "member":{"shape":"CompatibleVersionsMap"} + }, + "CompatibleVersionsMap":{ + "type":"structure", + "members":{ + "SourceVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

The current version of Elasticsearch on which a domain is.

" + }, + "TargetVersions":{"shape":"ElasticsearchVersionList"} + }, + "documentation":"

A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion s to which the domain can be upgraded.

" + }, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "documentation":"

An error occurred because the client attempts to remove a resource that is currently in use. Returns HTTP status code 409.

", + "error":{"httpStatusCode":409}, + "exception":true + }, "CreateElasticsearchDomainRequest":{ "type":"structure", "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" + "documentation":"

The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen).

" }, "ElasticsearchVersion":{ "shape":"ElasticsearchVersionString", @@ -272,9 +808,37 @@ "shape":"SnapshotOptions", "documentation":"

Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours.

" }, + "VPCOptions":{ + "shape":"VPCOptions", + "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

" + }, + "CognitoOptions":{ + "shape":"CognitoOptions", + "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" + }, + "EncryptionAtRestOptions":{ + "shape":"EncryptionAtRestOptions", + "documentation":"

Specifies the Encryption At Rest Options.

" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"

Specifies the NodeToNodeEncryptionOptions.

" + }, "AdvancedOptions":{ "shape":"AdvancedOptions", "documentation":"

Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.

" + }, + "LogPublishingOptions":{ + "shape":"LogPublishingOptions", + "documentation":"

Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"

Options to specify configuration that will be applied to the domain endpoint.

" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptionsInput", + "documentation":"

Specifies advanced security options.

" } } }, @@ -288,6 +852,44 @@ }, "documentation":"

The result of a CreateElasticsearchDomain operation. Contains the status of the newly created Elasticsearch domain.

" }, + "CreatePackageRequest":{ + "type":"structure", + "required":[ + "PackageName", + "PackageType", + "PackageSource" + ], + "members":{ + "PackageName":{ + "shape":"PackageName", + "documentation":"

Unique identifier for the package.

" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"

Type of package. Currently supports only TXT-DICTIONARY.

" + }, + "PackageDescription":{ + "shape":"PackageDescription", + "documentation":"

Description of the package.

" + }, + "PackageSource":{ + "shape":"PackageSource", + "documentation":"

The customer S3 location PackageSource for importing the package.

" + } + }, + "documentation":"

Container for request parameters to CreatePackage operation.

" + }, + "CreatePackageResponse":{ + "type":"structure", + "members":{ + "PackageDetails":{ + "shape":"PackageDetails", + "documentation":"

Information about the package PackageDetails.

" + } + }, + "documentation":"

Container for response returned by CreatePackage operation.

" + }, + "CreatedAt":{"type":"timestamp"}, "DeleteElasticsearchDomainRequest":{ "type":"structure", "required":["DomainName"], @@ -311,6 +913,40 @@ }, "documentation":"

The result of a DeleteElasticsearchDomain request. Contains the status of the pending deletion, or no status if the domain and all of its resources have been deleted.

" }, + "DeletePackageRequest":{ + "type":"structure", + "required":["PackageID"], + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

Internal ID of the package that you want to delete. Use DescribePackages to find this value.

", + "location":"uri", + "locationName":"PackageID" + } + }, + "documentation":"

Container for request parameters to DeletePackage operation.

" + }, + "DeletePackageResponse":{ + "type":"structure", + "members":{ + "PackageDetails":{ + "shape":"PackageDetails", + "documentation":"

PackageDetails

" + } + }, + "documentation":"

Container for response parameters to DeletePackage operation.

" + }, + "DeploymentCloseDateTimeStamp":{"type":"timestamp"}, + "DeploymentStatus":{ + "type":"string", + "enum":[ + "PENDING_UPDATE", + "IN_PROGRESS", + "COMPLETED", + "NOT_ELIGIBLE", + "ELIGIBLE" + ] + }, "DescribeElasticsearchDomainConfigRequest":{ "type":"structure", "required":["DomainName"], @@ -381,6 +1017,181 @@ }, "documentation":"

The result of a DescribeElasticsearchDomains request. Contains the status of the specified domains or all domains owned by the account.

" }, + "DescribeElasticsearchInstanceTypeLimitsRequest":{ + "type":"structure", + "required":[ + "InstanceType", + "ElasticsearchVersion" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain.

", + "location":"querystring", + "locationName":"domainName" + }, + "InstanceType":{ + "shape":"ESPartitionInstanceType", + "documentation":"

The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed.

", + "location":"uri", + "locationName":"InstanceType" + }, + "ElasticsearchVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

Version of Elasticsearch for which Limits are needed.

", + "location":"uri", + "locationName":"ElasticsearchVersion" + } + }, + "documentation":"

Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation.

" + }, + "DescribeElasticsearchInstanceTypeLimitsResponse":{ + "type":"structure", + "members":{ + "LimitsByRole":{"shape":"LimitsByRole"} + }, + "documentation":"

Container for the parameters received from DescribeElasticsearchInstanceTypeLimits operation.

" + }, + "DescribePackagesFilter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DescribePackagesFilterName", + "documentation":"

Any field from PackageDetails.

" + }, + "Value":{ + "shape":"DescribePackagesFilterValues", + "documentation":"

A list of values for the specified field.

" + } + }, + "documentation":"

Filter to apply in DescribePackage response.

" + }, + "DescribePackagesFilterList":{ + "type":"list", + "member":{"shape":"DescribePackagesFilter"}, + "documentation":"

A list of DescribePackagesFilter to filter the packages included in a DescribePackages response.

" + }, + "DescribePackagesFilterName":{ + "type":"string", + "enum":[ + "PackageID", + "PackageName", + "PackageStatus" + ] + }, + "DescribePackagesFilterValue":{ + "type":"string", + "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?-]*$" + }, + "DescribePackagesFilterValues":{ + "type":"list", + "member":{"shape":"DescribePackagesFilterValue"} + }, + "DescribePackagesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"DescribePackagesFilterList", + "documentation":"

Only returns packages that match the DescribePackagesFilterList values.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Limits results to a maximum number of packages.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

" + } + }, + "documentation":"

Container for request parameters to DescribePackage operation.

" + }, + "DescribePackagesResponse":{ + "type":"structure", + "members":{ + "PackageDetailsList":{ + "shape":"PackageDetailsList", + "documentation":"

List of PackageDetails objects.

" + }, + "NextToken":{"shape":"String"} + }, + "documentation":"

Container for response returned by DescribePackages operation.

" + }, + "DescribeReservedElasticsearchInstanceOfferingsRequest":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceOfferingId":{ + "shape":"GUID", + "documentation":"

The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier.

", + "location":"querystring", + "locationName":"offeringId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. If not specified, defaults to 100.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for parameters to DescribeReservedElasticsearchInstanceOfferings

" + }, + "DescribeReservedElasticsearchInstanceOfferingsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "ReservedElasticsearchInstanceOfferings":{ + "shape":"ReservedElasticsearchInstanceOfferingList", + "documentation":"

List of reserved Elasticsearch instance offerings

" + } + }, + "documentation":"

Container for results from DescribeReservedElasticsearchInstanceOfferings

" + }, + "DescribeReservedElasticsearchInstancesRequest":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceId":{ + "shape":"GUID", + "documentation":"

The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID.

", + "location":"querystring", + "locationName":"reservationId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. If not specified, defaults to 100.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for parameters to DescribeReservedElasticsearchInstances

" + }, + "DescribeReservedElasticsearchInstancesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

Provides an identifier to allow retrieval of paginated results.

" + }, + "ReservedElasticsearchInstances":{ + "shape":"ReservedElasticsearchInstanceList", + "documentation":"

List of reserved Elasticsearch instances.

" + } + }, + "documentation":"

Container for results from DescribeReservedElasticsearchInstances

" + }, "DisabledOperationException":{ "type":"structure", "members":{ @@ -389,6 +1200,70 @@ "error":{"httpStatusCode":409}, "exception":true }, + "DissociatePackageRequest":{ + "type":"structure", + "required":[ + "PackageID", + "DomainName" + ], + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value.

", + "location":"uri", + "locationName":"PackageID" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain that you want to associate the package with.

", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"

Container for request parameters to DissociatePackage operation.

" + }, + "DissociatePackageResponse":{ + "type":"structure", + "members":{ + "DomainPackageDetails":{ + "shape":"DomainPackageDetails", + "documentation":"

DomainPackageDetails

" + } + }, + "documentation":"

Container for response returned by DissociatePackage operation.

" + }, + "DomainEndpointOptions":{ + "type":"structure", + "members":{ + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"

Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain.

" + }, + "TLSSecurityPolicy":{ + "shape":"TLSSecurityPolicy", + "documentation":"

Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain.
It can be one of the following values:

  • Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLSv1.0 and higher.
  • Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only TLSv1.2

" + } + }, + "documentation":"

Options to configure endpoint for the Elasticsearch domain.

" + }, + "DomainEndpointOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"DomainEndpointOptions", + "documentation":"

Options to configure endpoint for the Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

The status of the endpoint options for the Elasticsearch domain. See OptionStatus for the status information that's included.

" + } + }, + "documentation":"

The configured endpoint options for the domain and their current status.

" + }, "DomainId":{ "type":"string", "documentation":"

Unique identifier for an Elasticsearch domain.

", @@ -416,11 +1291,64 @@ "min":3, "pattern":"[a-z][a-z0-9\\-]+" }, - "DomainNameList":{ + "DomainNameList":{ + "type":"list", + "member":{"shape":"DomainName"}, + "documentation":"

A list of Elasticsearch domain names.

" + }, + "DomainPackageDetails":{ + "type":"structure", + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

Internal ID of the package.

" + }, + "PackageName":{ + "shape":"PackageName", + "documentation":"

User specified name of the package.

" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"

Currently supports only TXT-DICTIONARY.

" + }, + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"

Timestamp of the most-recent update to the association status.

" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

Name of the domain you've associated a package with.

" + }, + "DomainPackageStatus":{ + "shape":"DomainPackageStatus", + "documentation":"

State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED.

" + }, + "ReferencePath":{ + "shape":"ReferencePath", + "documentation":"

The relative path on Amazon ES nodes, which can be used as synonym_path when the package is synonym file.

" + }, + "ErrorDetails":{ + "shape":"ErrorDetails", + "documentation":"

Additional information if the package is in an error state. Null otherwise.

" + } + }, + "documentation":"

Information on a package that is associated with a domain.

" + }, + "DomainPackageDetailsList":{ "type":"list", - "member":{"shape":"DomainName"}, - "documentation":"

A list of Elasticsearch domain names.

" + "member":{"shape":"DomainPackageDetails"} + }, + "DomainPackageStatus":{ + "type":"string", + "enum":[ + "ASSOCIATING", + "ASSOCIATION_FAILED", + "ACTIVE", + "DISSOCIATING", + "DISSOCIATION_FAILED" + ] }, + "Double":{"type":"double"}, "EBSOptions":{ "type":"structure", "members":{ @@ -473,6 +1401,24 @@ "m4.2xlarge.elasticsearch", "m4.4xlarge.elasticsearch", "m4.10xlarge.elasticsearch", + "m5.large.elasticsearch", + "m5.xlarge.elasticsearch", + "m5.2xlarge.elasticsearch", + "m5.4xlarge.elasticsearch", + "m5.12xlarge.elasticsearch", + "r5.large.elasticsearch", + "r5.xlarge.elasticsearch", + "r5.2xlarge.elasticsearch", + "r5.4xlarge.elasticsearch", + "r5.12xlarge.elasticsearch", + "c5.large.elasticsearch", + "c5.xlarge.elasticsearch", + "c5.2xlarge.elasticsearch", + "c5.4xlarge.elasticsearch", + "c5.9xlarge.elasticsearch", + "c5.18xlarge.elasticsearch", + "ultrawarm1.medium.elasticsearch", + "ultrawarm1.large.elasticsearch", "t2.micro.elasticsearch", "t2.small.elasticsearch", "t2.medium.elasticsearch", @@ -482,7 +1428,35 @@ "r3.4xlarge.elasticsearch", "r3.8xlarge.elasticsearch", "i2.xlarge.elasticsearch", - "i2.2xlarge.elasticsearch" + "i2.2xlarge.elasticsearch", + "d2.xlarge.elasticsearch", + "d2.2xlarge.elasticsearch", + "d2.4xlarge.elasticsearch", + "d2.8xlarge.elasticsearch", + "c4.large.elasticsearch", + "c4.xlarge.elasticsearch", + "c4.2xlarge.elasticsearch", + "c4.4xlarge.elasticsearch", + "c4.8xlarge.elasticsearch", + "r4.large.elasticsearch", + "r4.xlarge.elasticsearch", + "r4.2xlarge.elasticsearch", + "r4.4xlarge.elasticsearch", + "r4.8xlarge.elasticsearch", + "r4.16xlarge.elasticsearch", + "i3.large.elasticsearch", + "i3.xlarge.elasticsearch", + "i3.2xlarge.elasticsearch", + "i3.4xlarge.elasticsearch", + "i3.8xlarge.elasticsearch", + "i3.16xlarge.elasticsearch" + ] + }, + "ESWarmPartitionInstanceType":{ + "type":"string", + "enum":[ + "ultrawarm1.medium.elasticsearch", + "ultrawarm1.large.elasticsearch" ] }, "ElasticsearchClusterConfig":{ @@ -490,7 +1464,7 @@ "members":{ "InstanceType":{ "shape":"ESPartitionInstanceType", - "documentation":"

The instance type for an Elasticsearch cluster.

" + "documentation":"

The instance type for an Elasticsearch cluster. UltraWarm instance types are not supported for data instances.

" }, "InstanceCount":{ "shape":"IntegerClass", @@ -504,6 +1478,10 @@ "shape":"Boolean", "documentation":"

A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information.

" }, + "ZoneAwarenessConfig":{ + "shape":"ZoneAwarenessConfig", + "documentation":"

Specifies the zone awareness configuration for a domain when zone awareness is enabled.

" + }, "DedicatedMasterType":{ "shape":"ESPartitionInstanceType", "documentation":"

The instance type for a dedicated master node.

" @@ -511,6 +1489,18 @@ "DedicatedMasterCount":{ "shape":"IntegerClass", "documentation":"

Total number of dedicated master nodes, active and on standby, for the cluster.

" + }, + "WarmEnabled":{ + "shape":"Boolean", + "documentation":"

True to enable warm storage.

" + }, + "WarmType":{ + "shape":"ESWarmPartitionInstanceType", + "documentation":"

The instance type for the Elasticsearch cluster's warm nodes.

" + }, + "WarmCount":{ + "shape":"IntegerClass", + "documentation":"

The number of warm nodes in the cluster.

" } }, "documentation":"

Specifies the configuration for the domain cluster, such as the type and number of instances.

" @@ -556,9 +1546,37 @@ "shape":"SnapshotOptionsStatus", "documentation":"

Specifies the SnapshotOptions for the Elasticsearch domain.

" }, + "VPCOptions":{ + "shape":"VPCDerivedInfoStatus", + "documentation":"

The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" + }, + "CognitoOptions":{ + "shape":"CognitoOptionsStatus", + "documentation":"

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

" + }, + "EncryptionAtRestOptions":{ + "shape":"EncryptionAtRestOptionsStatus", + "documentation":"

Specifies the EncryptionAtRestOptions for the Elasticsearch domain.

" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"NodeToNodeEncryptionOptionsStatus", + "documentation":"

Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain.

" + }, "AdvancedOptions":{ "shape":"AdvancedOptionsStatus", "documentation":"

Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information.

" + }, + "LogPublishingOptions":{ + "shape":"LogPublishingOptionsStatus", + "documentation":"

Log publishing options for the given domain.

" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptionsStatus", + "documentation":"

Specifies the DomainEndpointOptions for the Elasticsearch domain.

" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptionsStatus", + "documentation":"

Specifies AdvancedSecurityOptions for the domain.

" } }, "documentation":"

The configuration of an Elasticsearch domain.

" @@ -596,10 +1614,18 @@ "shape":"ServiceUrl", "documentation":"

The Elasticsearch domain endpoint that you use to submit index and search requests.

" }, + "Endpoints":{ + "shape":"EndpointsMap", + "documentation":"

Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'.

" + }, "Processing":{ "shape":"Boolean", "documentation":"

The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active.

" }, + "UpgradeProcessing":{ + "shape":"Boolean", + "documentation":"

The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active.

" + }, "ElasticsearchVersion":{"shape":"ElasticsearchVersionString"}, "ElasticsearchClusterConfig":{ "shape":"ElasticsearchClusterConfig", @@ -617,9 +1643,41 @@ "shape":"SnapshotOptions", "documentation":"

Specifies the status of the SnapshotOptions

" }, + "VPCOptions":{ + "shape":"VPCDerivedInfo", + "documentation":"

The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" + }, + "CognitoOptions":{ + "shape":"CognitoOptions", + "documentation":"

The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana.

" + }, + "EncryptionAtRestOptions":{ + "shape":"EncryptionAtRestOptions", + "documentation":"

Specifies the status of the EncryptionAtRestOptions.

" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"

Specifies the status of the NodeToNodeEncryptionOptions.

" + }, "AdvancedOptions":{ "shape":"AdvancedOptions", "documentation":"

Specifies the status of the AdvancedOptions

" + }, + "LogPublishingOptions":{ + "shape":"LogPublishingOptions", + "documentation":"

Log publishing options for the given domain.

" + }, + "ServiceSoftwareOptions":{ + "shape":"ServiceSoftwareOptions", + "documentation":"

The current status of the Elasticsearch domain's service software.

" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"

The current status of the Elasticsearch domain's endpoint options.

" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptions", + "documentation":"

The current status of the Elasticsearch domain's advanced security options.

" } }, "documentation":"

The current status of an Elasticsearch domain.

" @@ -629,6 +1687,16 @@ "member":{"shape":"ElasticsearchDomainStatus"}, "documentation":"

A list that contains the status of each requested Elasticsearch domain.

" }, + "ElasticsearchInstanceTypeList":{ + "type":"list", + "member":{"shape":"ESPartitionInstanceType"}, + "documentation":"

List of instance types supported by Amazon Elasticsearch service.

" + }, + "ElasticsearchVersionList":{ + "type":"list", + "member":{"shape":"ElasticsearchVersionString"}, + "documentation":"

List of supported elastic search versions.

" + }, "ElasticsearchVersionStatus":{ "type":"structure", "required":[ @@ -648,7 +1716,171 @@ "documentation":"

Status of the Elasticsearch version options for the specified Elasticsearch domain.

" }, "ElasticsearchVersionString":{"type":"string"}, + "EncryptionAtRestOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specifies the option to enable Encryption At Rest.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

Specifies the KMS Key ID for Encryption At Rest options.

" + } + }, + "documentation":"

Specifies the Encryption At Rest Options.

" + }, + "EncryptionAtRestOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"EncryptionAtRestOptions", + "documentation":"

Specifies the Encryption At Rest options for the specified Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain.

" + } + }, + "documentation":"

Status of the Encryption At Rest options for the specified Elasticsearch domain.

" + }, + "EndpointsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"ServiceUrl"} + }, + "ErrorDetails":{ + "type":"structure", + "members":{ + "ErrorType":{"shape":"ErrorType"}, + "ErrorMessage":{"shape":"ErrorMessage"} + } + }, "ErrorMessage":{"type":"string"}, + "ErrorType":{"type":"string"}, + "GUID":{ + "type":"string", + "pattern":"\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{12}" + }, + "GetCompatibleElasticsearchVersionsRequest":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"querystring", + "locationName":"domainName" + } + }, + "documentation":"

Container for request parameters to GetCompatibleElasticsearchVersions operation.

" + }, + "GetCompatibleElasticsearchVersionsResponse":{ + "type":"structure", + "members":{ + "CompatibleElasticsearchVersions":{ + "shape":"CompatibleElasticsearchVersionsList", + "documentation":"

A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions operation.

" + } + }, + "documentation":"

Container for response returned by GetCompatibleElasticsearchVersions operation.

" + }, + "GetUpgradeHistoryRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for request parameters to GetUpgradeHistory operation.

" + }, + "GetUpgradeHistoryResponse":{ + "type":"structure", + "members":{ + "UpgradeHistories":{ + "shape":"UpgradeHistoryList", + "documentation":"

A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse object.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination token that needs to be supplied to the next call to get the next page of results

" + } + }, + "documentation":"

Container for response returned by GetUpgradeHistory operation.

" + }, + "GetUpgradeStatusRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + } + }, + "documentation":"

Container for request parameters to GetUpgradeStatus operation.

" + }, + "GetUpgradeStatusResponse":{ + "type":"structure", + "members":{ + "UpgradeStep":{ + "shape":"UpgradeStep", + "documentation":"

Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through:

  • PreUpgradeCheck
  • Snapshot
  • Upgrade

" + }, + "StepStatus":{ + "shape":"UpgradeStatus", + "documentation":"

One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse object. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" + }, + "UpgradeName":{ + "shape":"UpgradeName", + "documentation":"

A string that describes the update briefly

" + } + }, + "documentation":"

Container for response returned by GetUpgradeStatus operation.

" + }, + "IdentityPoolId":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+:[0-9a-f-]+" + }, + "InstanceCount":{ + "type":"integer", + "documentation":"

Specifies the number of EC2 instances in the Elasticsearch domain.

", + "min":1 + }, + "InstanceCountLimits":{ + "type":"structure", + "members":{ + "MinimumInstanceCount":{"shape":"MinimumInstanceCount"}, + "MaximumInstanceCount":{"shape":"MaximumInstanceCount"} + }, + "documentation":"

InstanceCountLimits represents the limits on number of instances that be created in Amazon Elasticsearch for given InstanceType.

" + }, + "InstanceLimits":{ + "type":"structure", + "members":{ + "InstanceCountLimits":{"shape":"InstanceCountLimits"} + }, + "documentation":"

InstanceLimits represents the list of instance related attributes that are available for given InstanceType.

" + }, + "InstanceRole":{"type":"string"}, + "Integer":{"type":"integer"}, "IntegerClass":{"type":"integer"}, "InternalException":{ "type":"structure", @@ -666,6 +1898,17 @@ "error":{"httpStatusCode":409}, "exception":true }, + "Issue":{"type":"string"}, + "Issues":{ + "type":"list", + "member":{"shape":"Issue"} + }, + "KmsKeyId":{ + "type":"string", + "max":500, + "min":1 + }, + "LastUpdated":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ @@ -674,6 +1917,33 @@ "error":{"httpStatusCode":409}, "exception":true }, + "LimitName":{"type":"string"}, + "LimitValue":{"type":"string"}, + "LimitValueList":{ + "type":"list", + "member":{"shape":"LimitValue"} + }, + "Limits":{ + "type":"structure", + "members":{ + "StorageTypes":{ + "shape":"StorageTypeList", + "documentation":"

StorageType represents the list of storage related types and attributes that are available for given InstanceType.

" + }, + "InstanceLimits":{"shape":"InstanceLimits"}, + "AdditionalLimits":{ + "shape":"AdditionalLimitList", + "documentation":"

List of additional limits that are specific to a given InstanceType and for each of it's InstanceRole .

" + } + }, + "documentation":"

Limits for given InstanceType and for each of it's role.
Limits contains following StorageTypes, InstanceLimits and AdditionalLimits

" + }, + "LimitsByRole":{ + "type":"map", + "key":{"shape":"InstanceRole"}, + "value":{"shape":"Limits"}, + "documentation":"

Map of Role of the Instance and Limits that are applicable. Role performed by given Instance in Elasticsearch can be one of the following:

  • data: If the given InstanceType is used as data node
  • master: If the given InstanceType is used as master node
  • ultra_warm: If the given InstanceType is used as warm node

" + }, "ListDomainNamesResponse":{ "type":"structure", "members":{ @@ -684,6 +1954,151 @@ }, "documentation":"

The result of a ListDomainNames operation. Contains the names of all Elasticsearch domains owned by this account.

" }, + "ListDomainsForPackageRequest":{ + "type":"structure", + "required":["PackageID"], + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

The package for which to list domains.

", + "location":"uri", + "locationName":"PackageID" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Limits results to a maximum number of domains.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for request parameters to ListDomainsForPackage operation.

" + }, + "ListDomainsForPackageResponse":{ + "type":"structure", + "members":{ + "DomainPackageDetailsList":{ + "shape":"DomainPackageDetailsList", + "documentation":"

List of DomainPackageDetails objects.

" + }, + "NextToken":{"shape":"String"} + }, + "documentation":"

Container for response parameters to ListDomainsForPackage operation.

" + }, + "ListElasticsearchInstanceTypesRequest":{ + "type":"structure", + "required":["ElasticsearchVersion"], + "members":{ + "ElasticsearchVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

Version of Elasticsearch for which list of supported elasticsearch instance types are needed.

", + "location":"uri", + "locationName":"ElasticsearchVersion" + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain.

", + "location":"querystring", + "locationName":"domainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for the parameters to the ListElasticsearchInstanceTypes operation.

" + }, + "ListElasticsearchInstanceTypesResponse":{ + "type":"structure", + "members":{ + "ElasticsearchInstanceTypes":{ + "shape":"ElasticsearchInstanceTypeList", + "documentation":"

List of instance types supported by Amazon Elasticsearch service for given ElasticsearchVersion

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

In case if there are more results available NextToken would be present, make further request to the same API with received NextToken to paginate remaining results.

" + } + }, + "documentation":"

Container for the parameters returned by ListElasticsearchInstanceTypes operation.

" + }, + "ListElasticsearchVersionsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for the parameters to the ListElasticsearchVersions operation.

Use MaxResults to control the maximum number of results to retrieve in a single call.

Use NextToken in response to retrieve more results. If the received response does not contain a NextToken, then there are no more results to retrieve.

" + }, + "ListElasticsearchVersionsResponse":{ + "type":"structure", + "members":{ + "ElasticsearchVersions":{"shape":"ElasticsearchVersionList"}, + "NextToken":{"shape":"NextToken"} + }, + "documentation":"

Container for the parameters for response received from ListElasticsearchVersions operation.

" + }, + "ListPackagesForDomainRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain for which you want to list associated packages.

", + "location":"uri", + "locationName":"DomainName" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Limits results to a maximum number of packages.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Container for request parameters to ListPackagesForDomain operation.

" + }, + "ListPackagesForDomainResponse":{ + "type":"structure", + "members":{ + "DomainPackageDetailsList":{ + "shape":"DomainPackageDetailsList", + "documentation":"

List of DomainPackageDetails objects.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Pagination token that needs to be supplied to the next call to get the next page of results.

" + } + }, + "documentation":"

Container for response parameters to ListPackagesForDomain operation.

" + }, "ListTagsRequest":{ "type":"structure", "required":["ARN"], @@ -700,12 +2115,114 @@ "ListTagsResponse":{ "type":"structure", "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

List of Tag for the requested Elasticsearch domain.

" + "TagList":{ + "shape":"TagList", + "documentation":"

List of Tag for the requested Elasticsearch domain.

" + } + }, + "documentation":"

The result of a ListTags operation. Contains tags for all requested Elasticsearch domains.

" + }, + "LogPublishingOption":{ + "type":"structure", + "members":{ + "CloudWatchLogsLogGroupArn":{"shape":"CloudWatchLogsLogGroupArn"}, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specifies whether given log publishing option is enabled or not.

" + } + }, + "documentation":"

Log Publishing option that is set for given domain.
Attributes and their details:

  • CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which log needs to be published.
  • Enabled: Whether the log publishing for given log type is enabled or not

" + }, + "LogPublishingOptions":{ + "type":"map", + "key":{"shape":"LogType"}, + "value":{"shape":"LogPublishingOption"} + }, + "LogPublishingOptionsStatus":{ + "type":"structure", + "members":{ + "Options":{ + "shape":"LogPublishingOptions", + "documentation":"

The log publishing options configured for the Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

The status of the log publishing options for the Elasticsearch domain. See OptionStatus for the status information that's included.

" + } + }, + "documentation":"

The configured log publishing options for the domain and their current status.

" + }, + "LogType":{ + "type":"string", + "documentation":"

Type of Log File, it can be one of the following:

  • INDEX_SLOW_LOGS: Index slow logs contain insert requests that took more time than configured index query log threshold to execute.
  • SEARCH_SLOW_LOGS: Search slow logs contain search queries that took more time than configured search query log threshold to execute.
  • ES_APPLICATION_LOGS: Elasticsearch application logs contain information about errors and warnings raised during the operation of the service and can be useful for troubleshooting.

", + "enum":[ + "INDEX_SLOW_LOGS", + "SEARCH_SLOW_LOGS", + "ES_APPLICATION_LOGS" + ] + }, + "MasterUserOptions":{ + "type":"structure", + "members":{ + "MasterUserARN":{ + "shape":"ARN", + "documentation":"

ARN for the master user (if IAM is enabled).

" + }, + "MasterUserName":{ + "shape":"Username", + "documentation":"

The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database.

" + }, + "MasterUserPassword":{ + "shape":"Password", + "documentation":"

The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database.

" + } + }, + "documentation":"

Credentials for the master user: username and password, ARN, or both.

" + }, + "MaxResults":{ + "type":"integer", + "documentation":"

Set this value to limit the number of results returned.

", + "max":100 + }, + "MaximumInstanceCount":{ + "type":"integer", + "documentation":"

Maximum number of Instances that can be instantiated for given InstanceType.

" + }, + "MinimumInstanceCount":{ + "type":"integer", + "documentation":"

Minimum number of Instances that can be instantiated for given InstanceType.

" + }, + "NextToken":{ + "type":"string", + "documentation":"

Paginated APIs accepts NextToken input to returns next page results and provides a NextToken output in the response which can be used by the client to retrieve more results.

" + }, + "NodeToNodeEncryptionOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Specify true to enable node-to-node encryption.

" + } + }, + "documentation":"

Specifies the node-to-node encryption options.

" + }, + "NodeToNodeEncryptionOptionsStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"NodeToNodeEncryptionOptions", + "documentation":"

Specifies the node-to-node encryption options for the specified Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

Specifies the status of the node-to-node encryption options for the specified Elasticsearch domain.

" } }, - "documentation":"

The result of a ListTags operation. Contains tags for all requested Elasticsearch domains.

" + "documentation":"

Status of the node-to-node encryption options for the specified Elasticsearch domain.

" }, "OptionState":{ "type":"string", @@ -747,10 +2264,150 @@ }, "documentation":"

Provides the current status of the entity.

" }, + "PackageDescription":{ + "type":"string", + "max":1024 + }, + "PackageDetails":{ + "type":"structure", + "members":{ + "PackageID":{ + "shape":"PackageID", + "documentation":"

Internal ID of the package.

" + }, + "PackageName":{ + "shape":"PackageName", + "documentation":"

User specified name of the package.

" + }, + "PackageType":{ + "shape":"PackageType", + "documentation":"

Currently supports only TXT-DICTIONARY.

" + }, + "PackageDescription":{ + "shape":"PackageDescription", + "documentation":"

User-specified description of the package.

" + }, + "PackageStatus":{ + "shape":"PackageStatus", + "documentation":"

Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED

" + }, + "CreatedAt":{ + "shape":"CreatedAt", + "documentation":"

Timestamp which tells creation date of the package.

" + }, + "ErrorDetails":{ + "shape":"ErrorDetails", + "documentation":"

Additional information if the package is in an error state. Null otherwise.

" + } + }, + "documentation":"

Basic information about a package.

" + }, + "PackageDetailsList":{ + "type":"list", + "member":{"shape":"PackageDetails"} + }, + "PackageID":{"type":"string"}, + "PackageName":{ + "type":"string", + "max":28, + "min":3, + "pattern":"[a-z][a-z0-9\\-]+" + }, + "PackageSource":{ + "type":"structure", + "members":{ + "S3BucketName":{ + "shape":"S3BucketName", + "documentation":"

Name of the bucket containing the package.

" + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"

Key (file name) of the package.

" + } + }, + "documentation":"

The S3 location for importing the package specified as S3BucketName and S3Key

" + }, + "PackageStatus":{ + "type":"string", + "enum":[ + "COPYING", + "COPY_FAILED", + "VALIDATING", + "VALIDATION_FAILED", + "AVAILABLE", + "DELETING", + "DELETED", + "DELETE_FAILED" + ] + }, + "PackageType":{ + "type":"string", + "enum":["TXT-DICTIONARY"] + }, + "Password":{ + "type":"string", + "min":8, + "sensitive":true + }, "PolicyDocument":{ "type":"string", "documentation":"

Access policy rules for an Elasticsearch domain service endpoints. For more information, see Configuring Access Policies in the Amazon Elasticsearch Service Developer Guide. The maximum size of a policy document is 100 KB.

" }, + "PurchaseReservedElasticsearchInstanceOfferingRequest":{ + "type":"structure", + "required":[ + "ReservedElasticsearchInstanceOfferingId", + "ReservationName" + ], + "members":{ + "ReservedElasticsearchInstanceOfferingId":{ + "shape":"GUID", + "documentation":"

The ID of the reserved Elasticsearch instance offering to purchase.

" + }, + "ReservationName":{ + "shape":"ReservationToken", + "documentation":"

A customer-specified identifier to track this reservation.

" + }, + "InstanceCount":{ + "shape":"InstanceCount", + "documentation":"

The number of Elasticsearch instances to reserve.

" + } + }, + "documentation":"

Container for parameters to PurchaseReservedElasticsearchInstanceOffering

" + }, + "PurchaseReservedElasticsearchInstanceOfferingResponse":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceId":{ + "shape":"GUID", + "documentation":"

Details of the reserved Elasticsearch instance which was purchased.

" + }, + "ReservationName":{ + "shape":"ReservationToken", + "documentation":"

The customer-specified identifier used to track this reservation.

" + } + }, + "documentation":"

Represents the output of a PurchaseReservedElasticsearchInstanceOffering operation.

" + }, + "RecurringCharge":{ + "type":"structure", + "members":{ + "RecurringChargeAmount":{ + "shape":"Double", + "documentation":"

The monetary amount of the recurring charge.

" + }, + "RecurringChargeFrequency":{ + "shape":"String", + "documentation":"

The frequency of the recurring charge.

" + } + }, + "documentation":"

Contains the specific price and frequency of a recurring charges for a reserved Elasticsearch instance, or for a reserved Elasticsearch instance offering.

" + }, + "RecurringChargeList":{ + "type":"list", + "member":{"shape":"RecurringCharge"} + }, + "ReferencePath":{"type":"string"}, "RemoveTagsRequest":{ "type":"structure", "required":[ @@ -769,6 +2426,123 @@ }, "documentation":"

Container for the parameters to the RemoveTags operation. Specify the ARN for the Elasticsearch domain from which you want to remove the specified TagKey.

" }, + "ReservationToken":{ + "type":"string", + "max":64, + "min":5 + }, + "ReservedElasticsearchInstance":{ + "type":"structure", + "members":{ + "ReservationName":{ + "shape":"ReservationToken", + "documentation":"

The customer-specified identifier to track this reservation.

" + }, + "ReservedElasticsearchInstanceId":{ + "shape":"GUID", + "documentation":"

The unique identifier for the reservation.

" + }, + "ReservedElasticsearchInstanceOfferingId":{ + "shape":"String", + "documentation":"

The offering identifier.

" + }, + "ElasticsearchInstanceType":{ + "shape":"ESPartitionInstanceType", + "documentation":"

The Elasticsearch instance type offered by the reserved instance offering.

" + }, + "StartTime":{ + "shape":"UpdateTimestamp", + "documentation":"

The time the reservation started.

" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration, in seconds, for which the Elasticsearch instance is reserved.

" + }, + "FixedPrice":{ + "shape":"Double", + "documentation":"

The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering.

" + }, + "UsagePrice":{ + "shape":"Double", + "documentation":"

The rate you are charged for each hour for the domain that is using this reserved instance.

" + }, + "CurrencyCode":{ + "shape":"String", + "documentation":"

The currency code for the reserved Elasticsearch instance offering.

" + }, + "ElasticsearchInstanceCount":{ + "shape":"Integer", + "documentation":"

The number of Elasticsearch instances that have been reserved.

" + }, + "State":{ + "shape":"String", + "documentation":"

The state of the reserved Elasticsearch instance.

" + }, + "PaymentOption":{ + "shape":"ReservedElasticsearchInstancePaymentOption", + "documentation":"

The payment option as defined in the reserved Elasticsearch instance offering.

" + }, + "RecurringCharges":{ + "shape":"RecurringChargeList", + "documentation":"

The charge to your account regardless of whether you are creating any domains using the instance offering.

" + } + }, + "documentation":"

Details of a reserved Elasticsearch instance.

" + }, + "ReservedElasticsearchInstanceList":{ + "type":"list", + "member":{"shape":"ReservedElasticsearchInstance"} + }, + "ReservedElasticsearchInstanceOffering":{ + "type":"structure", + "members":{ + "ReservedElasticsearchInstanceOfferingId":{ + "shape":"GUID", + "documentation":"

The Elasticsearch reserved instance offering identifier.

" + }, + "ElasticsearchInstanceType":{ + "shape":"ESPartitionInstanceType", + "documentation":"

The Elasticsearch instance type offered by the reserved instance offering.

" + }, + "Duration":{ + "shape":"Integer", + "documentation":"

The duration, in seconds, for which the offering will reserve the Elasticsearch instance.

" + }, + "FixedPrice":{ + "shape":"Double", + "documentation":"

The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering.

" + }, + "UsagePrice":{ + "shape":"Double", + "documentation":"

The rate you are charged for each hour the domain that is using the offering is running.

" + }, + "CurrencyCode":{ + "shape":"String", + "documentation":"

The currency code for the reserved Elasticsearch instance offering.

" + }, + "PaymentOption":{ + "shape":"ReservedElasticsearchInstancePaymentOption", + "documentation":"

Payment option for the reserved Elasticsearch instance offering

" + }, + "RecurringCharges":{ + "shape":"RecurringChargeList", + "documentation":"

The charge to your account regardless of whether you are creating any domains using the instance offering.

" + } + }, + "documentation":"

Details of a reserved Elasticsearch instance offering.

" + }, + "ReservedElasticsearchInstanceOfferingList":{ + "type":"list", + "member":{"shape":"ReservedElasticsearchInstanceOffering"} + }, + "ReservedElasticsearchInstancePaymentOption":{ + "type":"string", + "enum":[ + "ALL_UPFRONT", + "PARTIAL_UPFRONT", + "NO_UPFRONT" + ] + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -785,6 +2559,55 @@ "error":{"httpStatusCode":409}, "exception":true }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "S3BucketName":{ + "type":"string", + "max":63, + "min":3 + }, + "S3Key":{"type":"string"}, + "ServiceSoftwareOptions":{ + "type":"structure", + "members":{ + "CurrentVersion":{ + "shape":"String", + "documentation":"

The current service software version that is present on the domain.

" + }, + "NewVersion":{ + "shape":"String", + "documentation":"

The new service software version if one is available.

" + }, + "UpdateAvailable":{ + "shape":"Boolean", + "documentation":"

True if you are able to update you service software version. False if you are not able to update your service software version.

" + }, + "Cancellable":{ + "shape":"Boolean", + "documentation":"

True if you are able to cancel your service software version update. False if you are not able to cancel your service software version.

" + }, + "UpdateStatus":{ + "shape":"DeploymentStatus", + "documentation":"

The status of your service software update. This field can take the following values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the UpdateStatus.

" + }, + "AutomatedUpdateDate":{ + "shape":"DeploymentCloseDateTimeStamp", + "documentation":"

Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software.

" + }, + "OptionalDeployment":{ + "shape":"Boolean", + "documentation":"

True if a service software is never automatically updated. False if a service software is automatically updated after AutomatedUpdateDate.

" + } + }, + "documentation":"

The current options of an Elasticsearch domain service software options.

" + }, "ServiceUrl":{ "type":"string", "documentation":"

The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com.

" @@ -817,11 +2640,82 @@ }, "documentation":"

Status of a daily automated snapshot.

" }, + "StartElasticsearchServiceSoftwareUpdateRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain that you want to update to the latest service software.

" + } + }, + "documentation":"

Container for the parameters to the StartElasticsearchServiceSoftwareUpdate operation. Specifies the name of the Elasticsearch domain that you wish to schedule a service software update on.

" + }, + "StartElasticsearchServiceSoftwareUpdateResponse":{ + "type":"structure", + "members":{ + "ServiceSoftwareOptions":{ + "shape":"ServiceSoftwareOptions", + "documentation":"

The current status of the Elasticsearch service software update.

" + } + }, + "documentation":"

The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains the status of the update.

" + }, + "StartTimestamp":{"type":"timestamp"}, + "StorageSubTypeName":{ + "type":"string", + "documentation":"

SubType of the given storage type. List of available sub-storage options: For \"instance\" storageType we wont have any storageSubType, in case of \"ebs\" storageType we will have following valid storageSubTypes

  1. standard
  2. gp2
  3. io1
Refer VolumeType for more information regarding above EBS storage options.

" + }, + "StorageType":{ + "type":"structure", + "members":{ + "StorageTypeName":{"shape":"StorageTypeName"}, + "StorageSubTypeName":{"shape":"StorageSubTypeName"}, + "StorageTypeLimits":{ + "shape":"StorageTypeLimitList", + "documentation":"

List of limits that are applicable for given storage type.

" + } + }, + "documentation":"

StorageTypes represents the list of storage related types and their attributes that are available for given InstanceType.

" + }, + "StorageTypeLimit":{ + "type":"structure", + "members":{ + "LimitName":{ + "shape":"LimitName", + "documentation":"

Name of storage limits that are applicable for given storage type. If StorageType is ebs, following storage options are applicable

  1. MinimumVolumeSize
  2. Minimum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  3. MaximumVolumeSize
  4. Maximum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable.
  5. MaximumIops
  6. Maximum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.
  7. MinimumIops
  8. Minimum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable.

" + }, + "LimitValues":{ + "shape":"LimitValueList", + "documentation":"

Values for the StorageTypeLimit$LimitName .

" + } + }, + "documentation":"

Limits that are applicable for given storage type.

" + }, + "StorageTypeLimitList":{ + "type":"list", + "member":{"shape":"StorageTypeLimit"} + }, + "StorageTypeList":{ + "type":"list", + "member":{"shape":"StorageType"} + }, + "StorageTypeName":{ + "type":"string", + "documentation":"

Type of the storage. List of available storage options:

  1. instance
  2. Inbuilt storage available for the given Instance
  3. ebs
  4. Elastic block storage that would be attached to the given Instance

" + }, "String":{"type":"string"}, "StringList":{ "type":"list", "member":{"shape":"String"} }, + "TLSSecurityPolicy":{ + "type":"string", + "enum":[ + "Policy-Min-TLS-1-0-2019-07", + "Policy-Min-TLS-1-2-2019-07" + ] + }, "Tag":{ "type":"structure", "required":[ @@ -883,6 +2777,14 @@ "shape":"SnapshotOptions", "documentation":"

Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours.

" }, + "VPCOptions":{ + "shape":"VPCOptions", + "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains

" + }, + "CognitoOptions":{ + "shape":"CognitoOptions", + "documentation":"

Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana.

" + }, "AdvancedOptions":{ "shape":"AdvancedOptions", "documentation":"

Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information.

" @@ -890,6 +2792,18 @@ "AccessPolicies":{ "shape":"PolicyDocument", "documentation":"

IAM access policy as a JSON-formatted string.

" + }, + "LogPublishingOptions":{ + "shape":"LogPublishingOptions", + "documentation":"

Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log.

" + }, + "DomainEndpointOptions":{ + "shape":"DomainEndpointOptions", + "documentation":"

Options to specify configuration that will be applied to the domain endpoint.

" + }, + "AdvancedSecurityOptions":{ + "shape":"AdvancedSecurityOptionsInput", + "documentation":"

Specifies advanced security options.

" } }, "documentation":"

Container for the parameters to the UpdateElasticsearchDomain operation. Specifies the type and number of instances in the domain cluster.

" @@ -906,6 +2820,175 @@ "documentation":"

The result of an UpdateElasticsearchDomain request. Contains the status of the Elasticsearch domain being updated.

" }, "UpdateTimestamp":{"type":"timestamp"}, + "UpgradeElasticsearchDomainRequest":{ + "type":"structure", + "required":[ + "DomainName", + "TargetVersion" + ], + "members":{ + "DomainName":{"shape":"DomainName"}, + "TargetVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

The version of Elasticsearch that you intend to upgrade the domain to.

" + }, + "PerformCheckOnly":{ + "shape":"Boolean", + "documentation":"

This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

" + } + }, + "documentation":"

Container for request parameters to UpgradeElasticsearchDomain operation.

" + }, + "UpgradeElasticsearchDomainResponse":{ + "type":"structure", + "members":{ + "DomainName":{"shape":"DomainName"}, + "TargetVersion":{ + "shape":"ElasticsearchVersionString", + "documentation":"

The version of Elasticsearch that you intend to upgrade the domain to.

" + }, + "PerformCheckOnly":{ + "shape":"Boolean", + "documentation":"

This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade.

" + } + }, + "documentation":"

Container for response returned by UpgradeElasticsearchDomain operation.

" + }, + "UpgradeHistory":{ + "type":"structure", + "members":{ + "UpgradeName":{ + "shape":"UpgradeName", + "documentation":"

A string that describes the update briefly

" + }, + "StartTimestamp":{ + "shape":"StartTimestamp", + "documentation":"

UTC Timestamp at which the Upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format.

" + }, + "UpgradeStatus":{ + "shape":"UpgradeStatus", + "documentation":"

The overall status of the update. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" + }, + "StepsList":{ + "shape":"UpgradeStepsList", + "documentation":"

A list of UpgradeStepItem s representing information about each step performed as pard of a specific Upgrade or Upgrade Eligibility Check.

" + } + }, + "documentation":"

History of the last 10 Upgrades and Upgrade Eligibility Checks.

" + }, + "UpgradeHistoryList":{ + "type":"list", + "member":{"shape":"UpgradeHistory"} + }, + "UpgradeName":{"type":"string"}, + "UpgradeStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "SUCCEEDED_WITH_ISSUES", + "FAILED" + ] + }, + "UpgradeStep":{ + "type":"string", + "enum":[ + "PRE_UPGRADE_CHECK", + "SNAPSHOT", + "UPGRADE" + ] + }, + "UpgradeStepItem":{ + "type":"structure", + "members":{ + "UpgradeStep":{ + "shape":"UpgradeStep", + "documentation":"

Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through:

  • PreUpgradeCheck
  • Snapshot
  • Upgrade

" + }, + "UpgradeStepStatus":{ + "shape":"UpgradeStatus", + "documentation":"

The status of a particular step during an upgrade. The status can take one of the following values:

  • In Progress
  • Succeeded
  • Succeeded with Issues
  • Failed

" + }, + "Issues":{ + "shape":"Issues", + "documentation":"

A list of strings containing detailed information about the errors encountered in a particular step.

" + }, + "ProgressPercent":{ + "shape":"Double", + "documentation":"

The Floating point value representing progress percentage of a particular step.

" + } + }, + "documentation":"

Represents a single step of the Upgrade or Upgrade Eligibility Check workflow.

" + }, + "UpgradeStepsList":{ + "type":"list", + "member":{"shape":"UpgradeStepItem"} + }, + "UserPoolId":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+_[0-9a-zA-Z]+" + }, + "Username":{ + "type":"string", + "min":1, + "sensitive":true + }, + "VPCDerivedInfo":{ + "type":"structure", + "members":{ + "VPCId":{ + "shape":"String", + "documentation":"

The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

" + }, + "SubnetIds":{ + "shape":"StringList", + "documentation":"

Specifies the subnets for VPC endpoint.

" + }, + "AvailabilityZones":{ + "shape":"StringList", + "documentation":"

The availability zones for the Elasticsearch domain. Exists only if the domain was created with VPCOptions.

" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"

Specifies the security groups for VPC endpoint.

" + } + }, + "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" + }, + "VPCDerivedInfoStatus":{ + "type":"structure", + "required":[ + "Options", + "Status" + ], + "members":{ + "Options":{ + "shape":"VPCDerivedInfo", + "documentation":"

Specifies the VPC options for the specified Elasticsearch domain.

" + }, + "Status":{ + "shape":"OptionStatus", + "documentation":"

Specifies the status of the VPC options for the specified Elasticsearch domain.

" + } + }, + "documentation":"

Status of the VPC options for the specified Elasticsearch domain.

" + }, + "VPCOptions":{ + "type":"structure", + "members":{ + "SubnetIds":{ + "shape":"StringList", + "documentation":"

Specifies the subnets for VPC endpoint.

" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"

Specifies the security groups for VPC endpoint.

" + } + }, + "documentation":"

Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains.

" + }, "ValidationException":{ "type":"structure", "members":{ @@ -922,7 +3005,17 @@ "gp2", "io1" ] + }, + "ZoneAwarenessConfig":{ + "type":"structure", + "members":{ + "AvailabilityZoneCount":{ + "shape":"IntegerClass", + "documentation":"

An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled

" + } + }, + "documentation":"

Specifies the zone awareness configuration for the domain cluster, such as the number of availability zones.

" } }, - "documentation":"Amazon Elasticsearch Configuration Service

Use the Amazon Elasticsearch configuration API to create, configure, and manage Elasticsearch domains.

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

" + "documentation":"Amazon Elasticsearch Configuration Service

Use the Amazon Elasticsearch Configuration API to create, configure, and manage Elasticsearch domains.

For sample code that uses the Configuration API, see the Amazon Elasticsearch Service Developer Guide. The guide also contains sample code for sending signed HTTP requests to the Elasticsearch APIs.

The endpoint for configuration service requests is region-specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported regions and endpoints, see Regions and Endpoints.

" } diff -Nru python-botocore-1.4.70/botocore/data/events/2014-02-03/service-2.json python-botocore-1.16.19+repack/botocore/data/events/2014-02-03/service-2.json --- python-botocore-1.4.70/botocore/data/events/2014-02-03/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/events/2014-02-03/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "endpointPrefix":"events", "jsonVersion":"1.1", "serviceFullName":"Amazon CloudWatch Events", + "serviceId":"CloudWatch Events", "signatureVersion":"v4", "targetPrefix":"AWSEvents", "protocol":"json" diff -Nru python-botocore-1.4.70/botocore/data/events/2015-10-07/examples-1.json python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/examples-1.json --- python-botocore-1.4.70/botocore/data/events/2015-10-07/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/events/2015-10-07/paginators-1.json python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/paginators-1.json --- python-botocore-1.4.70/botocore/data/events/2015-10-07/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListRuleNamesByTarget": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "RuleNames" + }, + "ListRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Rules" + }, + "ListTargetsByRule": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Targets" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/events/2015-10-07/service-2.json python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/service-2.json --- python-botocore-1.4.70/botocore/data/events/2015-10-07/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/events/2015-10-07/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -4,66 +4,174 @@ "apiVersion":"2015-10-07", "endpointPrefix":"events", "jsonVersion":"1.1", - "serviceFullName":"Amazon CloudWatch Events", + "protocol":"json", + "serviceFullName":"Amazon EventBridge", + "serviceId":"EventBridge", "signatureVersion":"v4", "targetPrefix":"AWSEvents", - "protocol":"json" + "uid":"eventbridge-2015-10-07" }, - "documentation":"

Amazon CloudWatch Events helps you to respond to state changes in your AWS resources. When your resources change state they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a pre-determined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.
  • Direct specific API records from CloudTrail to an Amazon Kinesis stream for detailed analysis of potential security or availability risks.
  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about Amazon CloudWatch Events features, see the Amazon CloudWatch Developer Guide.

", "operations":{ + "ActivateEventSource":{ + "name":"ActivateEventSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ActivateEventSourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidStateException"}, + {"shape":"InternalException"} + ], + "documentation":"

Activates a partner event source that has been deactivated. Once activated, your matching event bus will start receiving events from the event source.

" + }, + "CreateEventBus":{ + "name":"CreateEventBus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventBusRequest"}, + "output":{"shape":"CreateEventBusResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source.

" + }, + "CreatePartnerEventSource":{ + "name":"CreatePartnerEventSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePartnerEventSourceRequest"}, + "output":{"shape":"CreatePartnerEventSourceResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Called by an SaaS partner to create a partner event source. This operation is not used by AWS customers.

Each partner event source can be used by one AWS account to create a matching partner event bus in that AWS account. A SaaS partner must create one partner event source for each AWS account that wants to receive those event types.

A partner event source creates events based on resources within the SaaS partner's service or application.

An AWS account that creates a partner event bus that matches the partner event source can use that event bus to receive events from the partner, and then process them using AWS Events rules and targets.

Partner event source names follow this format:

partner_name/event_namespace/event_name

partner_name is determined during partner registration and identifies the partner to AWS customers. event_namespace is determined by the partner and is a way for the partner to categorize their events. event_name is determined by the partner, and should uniquely identify an event-generating resource within the partner system. The combination of event_namespace and event_name should help AWS customers decide whether to create an event bus to receive these events.

" + }, + "DeactivateEventSource":{ + "name":"DeactivateEventSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeactivateEventSourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidStateException"}, + {"shape":"InternalException"} + ], + "documentation":"

You can use this operation to temporarily stop receiving events from the specified partner event source. The matching event bus is not deleted.

When you deactivate a partner event source, the source goes into PENDING state. If it remains in PENDING state for more than two weeks, it is deleted.

To activate a deactivated partner event source, use ActivateEventSource.

" + }, + "DeleteEventBus":{ + "name":"DeleteEventBus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventBusRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes the specified custom event bus or partner event bus. All rules associated with this event bus need to be deleted. You can't delete your account's default event bus.

" + }, + "DeletePartnerEventSource":{ + "name":"DeletePartnerEventSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePartnerEventSourceRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

This operation is used by SaaS partners to delete a partner event source. This operation is not used by AWS customers.

When you delete an event source, the status of the corresponding partner event bus in the AWS customer account becomes DELETED.

" + }, "DeleteRule":{ "name":"DeleteRule", "http":{ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DeleteRuleRequest", - "documentation":"

Container for the parameters to the DeleteRule operation.

" + "input":{"shape":"DeleteRuleRequest"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes the specified rule.

Before you can delete the rule, you must remove all targets, using RemoveTargets.

When you delete a rule, incoming events might continue to match to the deleted rule. Allow a short period of time for changes to take effect.

Managed rules are rules created and managed by another AWS service on your behalf. These rules are created by those other AWS services to support functionality in those services. You can delete these rules using the Force option, but you should do so only if you are sure the other service is not still using that rule.

" + }, + "DescribeEventBus":{ + "name":"DescribeEventBus", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"DescribeEventBusRequest"}, + "output":{"shape":"DescribeEventBusResponse"}, "errors":[ - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Deletes a rule. You must remove all targets from a rule using RemoveTargets before you can delete the rule.

Note: When you delete a rule, incoming events might still continue to match to the deleted rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

Displays details about an event bus in your account. This can include the external AWS accounts that are permitted to write events to your default event bus, and the associated policy. For custom event buses and partner event buses, it displays the name, ARN, policy, state, and creation time.

To enable your account to receive events from other accounts on its default event bus, use PutPermission.

For more information about partner event buses, see CreateEventBus.

" }, - "DescribeRule":{ - "name":"DescribeRule", + "DescribeEventSource":{ + "name":"DescribeEventSource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DescribeRuleRequest", - "documentation":"

Container for the parameters to the DescribeRule operation.

" + "input":{"shape":"DescribeEventSourceRequest"}, + "output":{"shape":"DescribeEventSourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} + ], + "documentation":"

This operation lists details about a partner event source that is shared with your account.

" + }, + "DescribePartnerEventSource":{ + "name":"DescribePartnerEventSource", + "http":{ + "method":"POST", + "requestUri":"/" }, - "output":{ - "shape":"DescribeRuleResponse", - "documentation":"

The result of the DescribeRule operation.

" + "input":{"shape":"DescribePartnerEventSourceRequest"}, + "output":{"shape":"DescribePartnerEventSourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} + ], + "documentation":"

An SaaS partner can use this operation to list details about a partner event source that they have created. AWS customers do not use this operation. Instead, AWS customers can use DescribeEventSource to see details about a partner event source that is shared with them.

" + }, + "DescribeRule":{ + "name":"DescribeRule", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"DescribeRuleRequest"}, + "output":{"shape":"DescribeRuleResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Describes the details of the specified rule.

" + "documentation":"

Describes the specified rule.

DescribeRule does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

" }, "DisableRule":{ "name":"DisableRule", @@ -71,29 +179,14 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"DisableRuleRequest", - "documentation":"

Container for the parameters to the DisableRule operation.

" - }, + "input":{"shape":"DisableRuleRequest"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"} ], - "documentation":"

Disables a rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.

Note: When you disable a rule, incoming events might still continue to match to the disabled rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

Disables the specified rule. A disabled rule won't match any events, and won't self-trigger if it has a schedule expression.

When you disable a rule, incoming events might continue to match to the disabled rule. Allow a short period of time for changes to take effect.

" }, "EnableRule":{ "name":"EnableRule", @@ -101,53 +194,81 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"EnableRuleRequest", - "documentation":"

Container for the parameters to the EnableRule operation.

" + "input":{"shape":"EnableRuleRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"} + ], + "documentation":"

Enables the specified rule. If the rule does not exist, the operation fails.

When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Allow a short period of time for changes to take effect.

" + }, + "ListEventBuses":{ + "name":"ListEventBuses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEventBusesRequest"}, + "output":{"shape":"ListEventBusesResponse"}, + "errors":[ + {"shape":"InternalException"} + ], + "documentation":"

Lists all the event buses in your account, including the default event bus, custom event buses, and partner event buses.

" + }, + "ListEventSources":{ + "name":"ListEventSources", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"ListEventSourcesRequest"}, + "output":{"shape":"ListEventSourcesResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InternalException"} ], - "documentation":"

Enables a rule. If the rule does not exist, the operation fails.

Note: When you enable a rule, incoming events might not immediately start matching to a newly enabled rule. Please allow a short period of time for changes to take effect.

" + "documentation":"

You can use this to see all the partner event sources that have been shared with your AWS account. For more information about partner event sources, see CreateEventBus.

" }, - "ListRuleNamesByTarget":{ - "name":"ListRuleNamesByTarget", + "ListPartnerEventSourceAccounts":{ + "name":"ListPartnerEventSourceAccounts", "http":{ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListRuleNamesByTargetRequest", - "documentation":"

Container for the parameters to the ListRuleNamesByTarget operation.

" + "input":{"shape":"ListPartnerEventSourceAccountsRequest"}, + "output":{"shape":"ListPartnerEventSourceAccountsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} + ], + "documentation":"

An SaaS partner can use this operation to display the AWS account ID that a particular partner event source name is associated with. This operation is not used by AWS customers.

" + }, + "ListPartnerEventSources":{ + "name":"ListPartnerEventSources", + "http":{ + "method":"POST", + "requestUri":"/" }, - "output":{ - "shape":"ListRuleNamesByTargetResponse", - "documentation":"

The result of the ListRuleNamesByTarget operation.

" + "input":{"shape":"ListPartnerEventSourcesRequest"}, + "output":{"shape":"ListPartnerEventSourcesResponse"}, + "errors":[ + {"shape":"InternalException"} + ], + "documentation":"

An SaaS partner can use this operation to list all the partner event source names that they have created. This operation is not used by AWS customers.

" + }, + "ListRuleNamesByTarget":{ + "name":"ListRuleNamesByTarget", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"ListRuleNamesByTargetRequest"}, + "output":{"shape":"ListRuleNamesByTargetResponse"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the names of the rules that the given target is put to. You can see which of the rules in Amazon CloudWatch Events can invoke a specific target in your account. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRulesByTarget until the NextToken in the response is returned as null.

" + "documentation":"

Lists the rules for the specified target. You can see which of the rules in Amazon EventBridge can invoke a specific target in your account.

" }, "ListRules":{ "name":"ListRules", @@ -155,23 +276,27 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListRulesRequest", - "documentation":"

Container for the parameters to the ListRules operation.

" - }, - "output":{ - "shape":"ListRulesResponse", - "documentation":"

The result of the ListRules operation.

" + "input":{"shape":"ListRulesRequest"}, + "output":{"shape":"ListRulesResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists your Amazon EventBridge rules. You can either list all the rules or you can provide a prefix to match to the rule names.

ListRules does not list the targets of a rule. To see the targets associated with a rule, use ListTargetsByRule.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Lists the Amazon CloudWatch Events rules in your account. You can either list all the rules or you can provide a prefix to match to the rule names. If you have more rules in your account than the given limit, the results will be paginated. In that case, use the next token returned in the response and repeat ListRules until the NextToken in the response is returned as null.

" + "documentation":"

Displays the tags associated with an EventBridge resource. In EventBridge, rules and event buses can be tagged.

" }, "ListTargetsByRule":{ "name":"ListTargetsByRule", @@ -179,28 +304,13 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"ListTargetsByRuleRequest", - "documentation":"

Container for the parameters to the ListTargetsByRule operation.

" - }, - "output":{ - "shape":"ListTargetsByRuleResponse", - "documentation":"

The result of the ListTargetsByRule operation.

" - }, + "input":{"shape":"ListTargetsByRuleRequest"}, + "output":{"shape":"ListTargetsByRuleResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"} ], - "documentation":"

Lists of targets assigned to the rule.

" + "documentation":"

Lists the targets assigned to the specified rule.

" }, "PutEvents":{ "name":"PutEvents", @@ -208,23 +318,40 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutEventsRequest", - "documentation":"

Container for the parameters to the PutEvents operation.

" + "input":{"shape":"PutEventsRequest"}, + "output":{"shape":"PutEventsResponse"}, + "errors":[ + {"shape":"InternalException"} + ], + "documentation":"

Sends custom events to Amazon EventBridge so that they can be matched to rules.

" + }, + "PutPartnerEvents":{ + "name":"PutPartnerEvents", + "http":{ + "method":"POST", + "requestUri":"/" }, - "output":{ - "shape":"PutEventsResponse", - "documentation":"

The result of the PutEvents operation.

" + "input":{"shape":"PutPartnerEventsRequest"}, + "output":{"shape":"PutPartnerEventsResponse"}, + "errors":[ + {"shape":"InternalException"} + ], + "documentation":"

This is used by SaaS partners to write events to a customer's partner event bus. AWS customers do not use this operation.

" + }, + "PutPermission":{ + "name":"PutPermission", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"PutPermissionRequest"}, "errors":[ - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"PolicyLengthExceededException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Sends custom events to Amazon CloudWatch Events so that they can be matched to rules.

" + "documentation":"

Running PutPermission permits the specified AWS account or AWS organization to put events to the specified event bus. CloudWatch Events rules in your account are triggered by these events arriving to an event bus in your account.

For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target.

To enable multiple AWS accounts to put events to your event bus, run PutPermission once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run PutPermission once specifying Principal as \"*\" and specifying the AWS organization ID in Condition, to grant permissions to all accounts in that organization.

If you grant permissions using an organization, then accounts in that organization must specify a RoleArn with proper permissions when they use PutTarget to add your account's event bus as a target. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide.

The permission policy on the default event bus cannot exceed 10 KB in size.

" }, "PutRule":{ "name":"PutRule", @@ -232,38 +359,17 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutRuleRequest", - "documentation":"

Container for the parameters to the PutRule operation.

" - }, - "output":{ - "shape":"PutRuleResponse", - "documentation":"

The result of the PutRule operation.

" - }, - "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + "input":{"shape":"PutRuleRequest"}, + "output":{"shape":"PutRuleResponse"}, + "errors":[ + {"shape":"InvalidEventPatternException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates or updates a rule. Rules are enabled by default, or based on value of the State parameter. You can disable a rule using DisableRule.

Note: When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Please allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule will trigger on matching events as well as on a schedule.

Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + "documentation":"

Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using DisableRule.

A single rule watches for events from a single event bus. Events generated by AWS services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see CreateEventBus.

If you are updating an existing rule, the rule is replaced with what you specify in this PutRule command. If you omit arguments in PutRule, the old values for those arguments are not kept. Instead, they are replaced with null values.

When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.

A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.

When you initially create a rule, you can optionally assign one or more tags to the rule. Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only rules with certain tag values. To use the PutRule operation and assign tags, you must have both the events:PutRule and events:TagResource permissions.

If you are updating an existing rule, any tags you specify in the PutRule operation are ignored. To update the tags of an existing rule, use TagResource and UntagResource.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.

To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.

An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see Managing Your Costs with Budgets.

" }, "PutTargets":{ "name":"PutTargets", @@ -271,38 +377,30 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"PutTargetsRequest", - "documentation":"

Container for the parameters to the PutTargets operation.

" - }, - "output":{ - "shape":"PutTargetsResponse", - "documentation":"

The result of the PutTargets operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"LimitExceededException", - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + "input":{"shape":"PutTargetsRequest"}, + "output":{"shape":"PutTargetsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"} ], - "documentation":"

Adds target(s) to a rule. Targets are the resources that can be invoked when a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets. Updates the target(s) if they are already associated with the role. In other words, if there is already a target with the given target ID, then the target associated with that ID is updated.

In order to be able to make API calls against the resources you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, CloudWatch Events relies on resource-based policies. For Amazon Kinesis streams, CloudWatch Events relies on IAM roles. For more information, see Permissions for Sending Events to Targets in the Amazon CloudWatch Developer Guide.

Input and InputPath are mutually-exclusive and optional parameters of a target. When a rule is triggered due to a matched event, if for a target:

  • Neither Input nor InputPath is specified, then the entire event is passed to the target in JSON form.
  • InputPath is specified in the form of JSONPath (e.g. $.detail), then only the part of the event specified in the path is passed to the target (e.g. only the detail part of the event is passed).
  • Input is specified in the form of a valid JSON, then the matched event is overridden with this constant.

Note: When you add targets to a rule, when the associated rule triggers, new or updated targets might not be immediately invoked. Please allow a short period of time for changes to take effect.

" + "documentation":"

Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.

Targets are the resources that are invoked when a rule is triggered.

You can configure the following as targets for Events:

  • EC2 instances

  • SSM Run Command

  • SSM Automation

  • AWS Lambda functions

  • Data streams in Amazon Kinesis Data Streams

  • Data delivery streams in Amazon Kinesis Data Firehose

  • Amazon ECS tasks

  • AWS Step Functions state machines

  • AWS Batch jobs

  • AWS CodeBuild projects

  • Pipelines in AWS CodePipeline

  • Amazon Inspector assessment templates

  • Amazon SNS topics

  • Amazon SQS queues, including FIFO queues

  • The default event bus of another AWS account

Creating rules with built-in targets is supported only in the AWS Management Console. The built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances API call.

For some target types, PutTargets provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the KinesisParameters argument. To invoke a command on multiple EC2 instances with one rule, you can use the RunCommandParameters field.

To be able to make API calls against the resources that you own, Amazon CloudWatch Events needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis data streams, and AWS Step Functions state machines, EventBridge relies on IAM roles that you specify in the RoleARN argument in PutTargets. For more information, see Authentication and Access Control in the Amazon EventBridge User Guide.

If another AWS account is in the same region and has granted you permission (using PutPermission), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the Arn value when you run PutTargets. If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see Amazon CloudWatch Pricing.

Input, InputPath, and InputTransformer are not available with PutTarget if the target is an event bus of a different AWS account.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide.

For more information about enabling cross-account events, see PutPermission.

Input, InputPath, and InputTransformer are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:

  • If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).

  • If Input is specified in the form of valid JSON, then the matched event is overridden with this constant.

  • If InputPath is specified in the form of JSONPath (for example, $.detail), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).

  • If InputTransformer is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.

When you specify InputPath or InputTransformer, you must use JSON dot notation, not bracket notation.

When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" + }, + "RemovePermission":{ + "name":"RemovePermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemovePermissionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Revokes the permission of another AWS account to be able to put events to the specified event bus. Specify the account to revoke by the StatementId value that you associated with the account when you granted it permission with PutPermission. You can find the StatementId by using DescribeEventBus.

" }, "RemoveTargets":{ "name":"RemoveTargets", @@ -310,33 +408,31 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"RemoveTargetsRequest", - "documentation":"

Container for the parameters to the RemoveTargets operation.

" - }, - "output":{ - "shape":"RemoveTargetsResponse", - "documentation":"

The result of the RemoveTargets operation.

" + "input":{"shape":"RemoveTargetsRequest"}, + "output":{"shape":"RemoveTargetsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"}, + {"shape":"InternalException"} + ], + "documentation":"

Removes the specified targets from the specified rule. When the rule is triggered, those targets are no longer be invoked.

When you remove a target, when the associated rule triggers, removed targets might continue to be invoked. Allow a short period of time for changes to take effect.

This action can partially fail if too many requests are made at the same time. If that happens, FailedEntryCount is non-zero in the response and each entry in FailedEntries provides the ID of the failed target and the error code.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, "errors":[ - { - "shape":"ResourceNotFoundException", - "exception":true, - "documentation":"

The rule does not exist.

" - }, - { - "shape":"ConcurrentModificationException", - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InternalException"}, + {"shape":"ManagedRuleException"} ], - "documentation":"

Removes target(s) from a rule so that when the rule is triggered, those targets will no longer be invoked.

Note: When you remove a target, when the associated rule triggers, removed targets might still continue to be invoked. Please allow a short period of time for changes to take effect.

" + "documentation":"

Assigns one or more tags (key-value pairs) to the specified EventBridge resource. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values. In EventBridge, rules and event buses can be tagged.

Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

You can use the TagResource action with a resource that already has tags. If you specify a new tag key, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate as many as 50 tags with a resource.

" }, "TestEventPattern":{ "name":"TestEventPattern", @@ -344,38 +440,251 @@ "method":"POST", "requestUri":"/" }, - "input":{ - "shape":"TestEventPatternRequest", - "documentation":"

Container for the parameters to the TestEventPattern operation.

" - }, - "output":{ - "shape":"TestEventPatternResponse", - "documentation":"

The result of the TestEventPattern operation.

" + "input":{"shape":"TestEventPatternRequest"}, + "output":{"shape":"TestEventPatternResponse"}, + "errors":[ + {"shape":"InvalidEventPatternException"}, + {"shape":"InternalException"} + ], + "documentation":"

Tests whether the specified event pattern matches the provided event.

Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, "errors":[ - { - "shape":"InvalidEventPatternException", - "exception":true, - "documentation":"

The event pattern is invalid.

" - }, - { - "shape":"InternalException", - "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" - } + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ManagedRuleException"} ], - "documentation":"

Tests whether an event pattern matches the provided event.

Note: Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, CloudWatch Events uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.

" + "documentation":"

Removes one or more tags from the specified EventBridge resource. In CloudWatch Events, rules and event buses can be tagged.

" } }, "shapes":{ + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"\\d{12}" + }, + "Action":{ + "type":"string", + "max":64, + "min":1, + "pattern":"events:[a-zA-Z]+" + }, + "ActivateEventSourceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the partner event source to activate.

" + } + } + }, + "Arn":{ + "type":"string", + "max":1600, + "min":1 + }, + "AssignPublicIp":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "AwsVpcConfiguration":{ + "type":"structure", + "required":["Subnets"], + "members":{ + "Subnets":{ + "shape":"StringList", + "documentation":"

Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.

" + }, + "SecurityGroups":{ + "shape":"StringList", + "documentation":"

Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.

" + }, + "AssignPublicIp":{ + "shape":"AssignPublicIp", + "documentation":"

Specifies whether the task's elastic network interface receives a public IP address. You can specify ENABLED only when LaunchType in EcsParameters is set to FARGATE.

" + } + }, + "documentation":"

This structure specifies the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the awsvpc network mode.

" + }, + "BatchArrayProperties":{ + "type":"structure", + "members":{ + "Size":{ + "shape":"Integer", + "documentation":"

The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.

" + } + }, + "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.

" + }, + "BatchParameters":{ + "type":"structure", + "required":[ + "JobDefinition", + "JobName" + ], + "members":{ + "JobDefinition":{ + "shape":"String", + "documentation":"

The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.

" + }, + "JobName":{ + "shape":"String", + "documentation":"

The name to use for this execution of the job, if the target is an AWS Batch job.

" + }, + "ArrayProperties":{ + "shape":"BatchArrayProperties", + "documentation":"

The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.

" + }, + "RetryStrategy":{ + "shape":"BatchRetryStrategy", + "documentation":"

The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1–10. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.

" + } + }, + "documentation":"

The custom parameters to be used when the target is an AWS Batch job.

" + }, + "BatchRetryStrategy":{ + "type":"structure", + "members":{ + "Attempts":{ + "shape":"Integer", + "documentation":"

The number of times to attempt to retry, if the job fails. Valid values are 1–10.

" + } + }, + "documentation":"

The retry strategy to use for failed jobs, if the target is an AWS Batch job. If you specify a retry strategy here, it overrides the retry strategy defined in the job definition.

" + }, "Boolean":{"type":"boolean"}, "ConcurrentModificationException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

This exception occurs if there is concurrent modification on rule or target.

" + "documentation":"

There is concurrent modification on a rule or target.

", + "exception":true + }, + "Condition":{ + "type":"structure", + "required":[ + "Type", + "Key", + "Value" + ], + "members":{ + "Type":{ + "shape":"String", + "documentation":"

Specifies the type of condition. Currently the only supported value is StringEquals.

" + }, + "Key":{ + "shape":"String", + "documentation":"

Specifies the key for the condition. Currently the only supported key is aws:PrincipalOrgID.

" + }, + "Value":{ + "shape":"String", + "documentation":"

Specifies the value for the key. Currently, this must be the ID of the organization.

" + } + }, + "documentation":"

A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition. Currently, the only supported condition is membership in a certain AWS organization. The string must contain Type, Key, and Value fields. The Value field specifies the ID of the AWS organization. Following is an example value for Condition:

'{\"Type\" : \"StringEquals\", \"Key\": \"aws:PrincipalOrgID\", \"Value\": \"o-1234567890\"}'

" + }, + "CreateEventBusRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventBusName", + "documentation":"

The name of the new event bus.

Event bus names cannot contain the / character. You can't use the name default for a custom event bus, as this name is already used for your account's default event bus.

If this is a partner event bus, the name must exactly match the name of the partner event source that this event bus is matched to.

" + }, + "EventSourceName":{ + "shape":"EventSourceName", + "documentation":"

If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to associate with the event bus.

" + } + } + }, + "CreateEventBusResponse":{ + "type":"structure", + "members":{ + "EventBusArn":{ + "shape":"String", + "documentation":"

The ARN of the new event bus.

" + } + } + }, + "CreatePartnerEventSourceRequest":{ + "type":"structure", + "required":[ + "Name", + "Account" + ], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the partner event source. This name must be unique and must be in the format partner_name/event_namespace/event_name . The AWS account that wants to use this partner event source must create a partner event bus with a name that matches the name of the partner event source.

" + }, + "Account":{ + "shape":"AccountId", + "documentation":"

The AWS account ID that is permitted to create a matching partner event bus for this partner event source.

" + } + } + }, + "CreatePartnerEventSourceResponse":{ + "type":"structure", + "members":{ + "EventSourceArn":{ + "shape":"String", + "documentation":"

The ARN of the partner event source.

" + } + } + }, + "DeactivateEventSourceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the partner event source to deactivate.

" + } + } + }, + "DeleteEventBusRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventBusName", + "documentation":"

The name of the event bus to delete.

" + } + } + }, + "DeletePartnerEventSourceRequest":{ + "type":"structure", + "required":[ + "Name", + "Account" + ], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the event source to delete.

" + }, + "Account":{ + "shape":"AccountId", + "documentation":"

The AWS account ID of the AWS customer that the event source was created for.

" + } + } }, "DeleteRuleRequest":{ "type":"structure", @@ -383,10 +692,105 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule to be deleted.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to delete the rule. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.

" } - }, - "documentation":"

Container for the parameters to the DeleteRule operation.

" + } + }, + "DescribeEventBusRequest":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EventBusName", + "documentation":"

The name of the event bus to show details for. If you omit this, the default event bus is displayed.

" + } + } + }, + "DescribeEventBusResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the event bus. Currently, this is always default.

" + }, + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the account permitted to write events to the current account.

" + }, + "Policy":{ + "shape":"String", + "documentation":"

The policy that enables the external account to send events to your account.

" + } + } + }, + "DescribeEventSourceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the partner event source to display the details of.

" + } + } + }, + "DescribeEventSourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the partner event source.

" + }, + "CreatedBy":{ + "shape":"String", + "documentation":"

The name of the SaaS partner that created the event source.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the event source was created.

" + }, + "ExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the event source will expire if you do not create a matching event bus.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the partner event source.

" + }, + "State":{ + "shape":"EventSourceState", + "documentation":"

The state of the event source. If it is ACTIVE, you have already created a matching event bus for this event source, and that event bus is active. If it is PENDING, either you haven't yet created a matching event bus, or that event bus is deactivated. If it is DELETED, you have created a matching event bus, but the event source has since been deleted.

" + } + } + }, + "DescribePartnerEventSourceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EventSourceName", + "documentation":"

The name of the event source to display.

" + } + } + }, + "DescribePartnerEventSourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the event source.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the event source.

" + } + } }, "DescribeRuleRequest":{ "type":"structure", @@ -394,25 +798,28 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to describe details for.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" } - }, - "documentation":"

Container for the parameters to the DescribeRule operation.

" + } }, "DescribeRuleResponse":{ "type":"structure", "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The rule's name.

" + "documentation":"

The name of the rule.

" }, "Arn":{ "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with the rule.

" + "documentation":"

The Amazon Resource Name (ARN) of the rule.

" }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.

" }, "ScheduleExpression":{ "shape":"ScheduleExpression", @@ -424,14 +831,21 @@ }, "Description":{ "shape":"RuleDescription", - "documentation":"

The rule's description.

" + "documentation":"

The description of the rule.

" }, "RoleArn":{ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

If this is a managed rule, created by an AWS service on your behalf, this field displays the principal name of the AWS service that created the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule.

" } - }, - "documentation":"

The result of the DescribeRule operation.

" + } }, "DisableRuleRequest":{ "type":"structure", @@ -439,10 +853,44 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to disable.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" + } + } + }, + "EcsParameters":{ + "type":"structure", + "required":["TaskDefinitionArn"], + "members":{ + "TaskDefinitionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the task definition to use if the event target is an Amazon ECS task.

" + }, + "TaskCount":{ + "shape":"LimitMin1", + "documentation":"

The number of tasks to create based on TaskDefinition. The default is 1.

" + }, + "LaunchType":{ + "shape":"LaunchType", + "documentation":"

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The FARGATE value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see AWS Fargate on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + }, + "NetworkConfiguration":{ + "shape":"NetworkConfiguration", + "documentation":"

Use this structure if the ECS task uses the awsvpc network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if LaunchType is FARGATE because the awsvpc mode is required for Fargate tasks.

If you specify NetworkConfiguration when the target ECS task does not use the awsvpc network mode, the task fails.

" + }, + "PlatformVersion":{ + "shape":"String", + "documentation":"

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0.

This structure is used only if LaunchType is FARGATE. For more information about valid platform versions, see AWS Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + }, + "Group":{ + "shape":"String", + "documentation":"

Specifies an ECS task group for the task. The maximum length is 255 characters.

" } }, - "documentation":"

Container for the parameters to the DisableRule operation.

" + "documentation":"

The custom parameters to be used when the target is an Amazon ECS task.

" }, "EnableRuleRequest":{ "type":"structure", @@ -450,51 +898,305 @@ "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The name of the rule that you want to enable.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" } - }, - "documentation":"

Container for the parameters to the EnableRule operation.

" + } }, "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, - "EventId":{"type":"string"}, - "EventPattern":{ + "EventBus":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the event bus.

" + }, + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the event bus.

" + }, + "Policy":{ + "shape":"String", + "documentation":"

The permissions policy of the event bus, describing which other AWS accounts can write events to this event bus.

" + } + }, + "documentation":"

An event bus receives events from a source and routes them to rules associated with that event bus. Your account's default event bus receives rules from AWS services. A custom event bus can receive rules from AWS services as well as your custom applications and services. A partner event bus receives events from an event source created by an SaaS partner. These events come from the partners services or applications.

" + }, + "EventBusList":{ + "type":"list", + "member":{"shape":"EventBus"} + }, + "EventBusName":{ "type":"string", - "max":2048 + "max":256, + "min":1, + "pattern":"[/\\.\\-_A-Za-z0-9]+" }, + "EventId":{"type":"string"}, + "EventPattern":{"type":"string"}, "EventResource":{"type":"string"}, "EventResourceList":{ "type":"list", "member":{"shape":"EventResource"} }, + "EventSource":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the event source.

" + }, + "CreatedBy":{ + "shape":"String", + "documentation":"

The name of the partner that created the event source.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the event source was created.

" + }, + "ExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the event source will expire, if the AWS account doesn't create a matching event bus for it.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the event source.

" + }, + "State":{ + "shape":"EventSourceState", + "documentation":"

The state of the event source. If it is ACTIVE, you have already created a matching event bus for this event source, and that event bus is active. If it is PENDING, either you haven't yet created a matching event bus, or that event bus is deactivated. If it is DELETED, you have created a matching event bus, but the event source has since been deleted.

" + } + }, + "documentation":"

A partner event source is created by an SaaS partner. If a customer creates a partner event bus that matches this event source, that AWS account can receive events from the partner's applications or services.

" + }, + "EventSourceList":{ + "type":"list", + "member":{"shape":"EventSource"} + }, + "EventSourceName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"aws\\.partner(/[\\.\\-_A-Za-z0-9]+){2,}" + }, + "EventSourceNamePrefix":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[/\\.\\-_A-Za-z0-9]+" + }, + "EventSourceState":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "DELETED" + ] + }, "EventTime":{"type":"timestamp"}, + "InputTransformer":{ + "type":"structure", + "required":["InputTemplate"], + "members":{ + "InputPathsMap":{ + "shape":"TransformerPaths", + "documentation":"

Map of JSON paths to be extracted from the event. You can then insert these in the template in InputTemplate to produce the output you want to be sent to the target.

InputPathsMap is an array key-value pairs, where each value is a valid JSON path. You can have as many as 10 key-value pairs. You must use JSON dot notation, not bracket notation.

The keys cannot start with \"AWS.\"

" + }, + "InputTemplate":{ + "shape":"TransformerInput", + "documentation":"

Input template where you specify placeholders that will be filled with the values of the keys from InputPathsMap to customize the data sent to the target. Enclose each InputPathsMaps value in brackets: <value> The InputTemplate must be valid JSON.

If InputTemplate is a JSON object (surrounded by curly braces), the following restrictions apply:

  • The placeholder cannot be used as an object key.

  • Object values cannot include quote marks.

The following example shows the syntax for using InputPathsMap and InputTemplate.

\"InputTransformer\":

{

\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},

\"InputTemplate\": \"<instance> is in state <status>\"

}

To have the InputTemplate include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:

\"InputTransformer\":

{

\"InputPathsMap\": {\"instance\": \"$.detail.instance\",\"status\": \"$.detail.status\"},

\"InputTemplate\": \"<instance> is in state \\\"<status>\\\"\"

}

" + } + }, + "documentation":"

Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.

" + }, + "InputTransformerPathKey":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[A-Za-z0-9\\_\\-]+" + }, "Integer":{"type":"integer"}, "InternalException":{ "type":"structure", "members":{ }, + "documentation":"

This exception occurs due to unexpected causes.

", "exception":true, - "fault":true, - "documentation":"

This exception occurs due to unexpected causes.

" + "fault":true }, "InvalidEventPatternException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

The event pattern is invalid.

" + "documentation":"

The event pattern is not valid.

", + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified state is not a valid state for an event source.

", + "exception":true + }, + "KinesisParameters":{ + "type":"structure", + "required":["PartitionKeyPath"], + "members":{ + "PartitionKeyPath":{ + "shape":"TargetPartitionKeyPath", + "documentation":"

The JSON path to be extracted from the event and used as the partition key. For more information, see Amazon Kinesis Streams Key Concepts in the Amazon Kinesis Streams Developer Guide.

" + } + }, + "documentation":"

This object enables you to specify a JSON path to extract from the event and use as the partition key for the Amazon Kinesis data stream, so that you can control the shard to which the event goes. If you do not include this parameter, the default is to use the eventId as the partition key.

" + }, + "LaunchType":{ + "type":"string", + "enum":[ + "EC2", + "FARGATE" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You tried to create more rules or add more targets to a rule than is allowed.

", + "exception":true + }, + "LimitMax100":{ + "type":"integer", + "max":100, + "min":1 + }, + "LimitMin1":{ + "type":"integer", + "min":1 + }, + "ListEventBusesRequest":{ + "type":"structure", + "members":{ + "NamePrefix":{ + "shape":"EventBusName", + "documentation":"

Specifying this limits the results to only those event buses with names that start with the specified prefix.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" + }, + "Limit":{ + "shape":"LimitMax100", + "documentation":"

Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListEventBusesResponse":{ + "type":"structure", + "members":{ + "EventBuses":{ + "shape":"EventBusList", + "documentation":"

This list of event buses.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListEventSourcesRequest":{ + "type":"structure", + "members":{ + "NamePrefix":{ + "shape":"EventSourceNamePrefix", + "documentation":"

Specifying this limits the results to only those partner event sources with names that start with the specified prefix.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" + }, + "Limit":{ + "shape":"LimitMax100", + "documentation":"

Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListEventSourcesResponse":{ + "type":"structure", + "members":{ + "EventSources":{ + "shape":"EventSourceList", + "documentation":"

The list of event sources.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListPartnerEventSourceAccountsRequest":{ + "type":"structure", + "required":["EventSourceName"], + "members":{ + "EventSourceName":{ + "shape":"EventSourceName", + "documentation":"

The name of the partner event source to display account information about.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to this operation. Specifying this retrieves the next set of results.

" + }, + "Limit":{ + "shape":"LimitMax100", + "documentation":"

Specifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListPartnerEventSourceAccountsResponse":{ + "type":"structure", + "members":{ + "PartnerEventSourceAccounts":{ + "shape":"PartnerEventSourceAccountList", + "documentation":"

The list of partner event sources returned by the operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token you can use in a subsequent operation to retrieve the next set of results.

" + } + } + }, + "ListPartnerEventSourcesRequest":{ + "type":"structure", + "required":["NamePrefix"], + "members":{ + "NamePrefix":{ + "shape":"PartnerEventSourceNamePrefix", + "documentation":"

If you specify this, the results are limited to only those partner event sources that start with the string you specify.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned by a previous call to this operation. Specifying this retrieves the next set of results.

" + }, + "Limit":{ + "shape":"LimitMax100", + "documentation":"

pecifying this limits the number of results returned by this operation. The operation also returns a NextToken which you can use in a subsequent operation to retrieve the next set of results.

" + } + } }, - "LimitExceededException":{ + "ListPartnerEventSourcesResponse":{ "type":"structure", "members":{ - }, - "exception":true, - "documentation":"

This exception occurs if you try to create more rules or add more targets to a rule than allowed by default.

" - }, - "LimitMax100":{ - "type":"integer", - "min":1, - "max":100 + "PartnerEventSources":{ + "shape":"PartnerEventSourceList", + "documentation":"

The list of partner event sources returned by the operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token you can use in a subsequent operation to retrieve the next set of results.

" + } + } }, "ListRuleNamesByTargetRequest":{ "type":"structure", @@ -502,32 +1204,34 @@ "members":{ "TargetArn":{ "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) of the target resource that you want to list the rules for.

" + "documentation":"

The Amazon Resource Name (ARN) of the target resource.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

Limits the results to show only the rules associated with the specified event bus.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListRuleNamesByTarget operation.

" + } }, "ListRuleNamesByTargetResponse":{ "type":"structure", "members":{ "RuleNames":{ "shape":"RuleNameList", - "documentation":"

List of rules names that can invoke the given target.

" + "documentation":"

The names of the rules that can invoke the given target.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" } - }, - "documentation":"

The result of the ListRuleNamesByTarget operation.

" + } }, "ListRulesRequest":{ "type":"structure", @@ -536,30 +1240,51 @@ "shape":"RuleName", "documentation":"

The prefix matching the rule name.

" }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

Limits the results to show only the rules associated with the specified event bus.

" + }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListRules operation.

" + } }, "ListRulesResponse":{ "type":"structure", "members":{ "Rules":{ "shape":"RuleResponseList", - "documentation":"

List of rules matching the specified criteria.

" + "documentation":"

The rules that match the specified criteria.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" } - }, - "documentation":"

The result of the ListRules operation.

" + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the EventBridge resource for which you want to view tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The list of tag keys and values associated with the resource you specified

" + } + } }, "ListTargetsByRuleRequest":{ "type":"structure", @@ -567,37 +1292,131 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule whose targets you want to list.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

The token returned by a previous call to indicate that there is more data available.

" + "documentation":"

The token returned by a previous call to retrieve the next set of results.

" }, "Limit":{ "shape":"LimitMax100", "documentation":"

The maximum number of results to return.

" } - }, - "documentation":"

Container for the parameters to the ListTargetsByRule operation.

" + } }, "ListTargetsByRuleResponse":{ "type":"structure", "members":{ "Targets":{ "shape":"TargetList", - "documentation":"

Lists the targets assigned to the rule.

" + "documentation":"

The targets assigned to the rule.

" }, "NextToken":{ "shape":"NextToken", - "documentation":"

Indicates that there are additional results to retrieve.

" + "documentation":"

Indicates whether there are additional results to retrieve. If there are no more results, the value is null.

" + } + } + }, + "ManagedBy":{ + "type":"string", + "max":128, + "min":1 + }, + "ManagedRuleException":{ + "type":"structure", + "members":{ + }, + "documentation":"

This rule was created by an AWS service on behalf of your account. It is managed by that service. If you see this error in response to DeleteRule or RemoveTargets, you can use the Force parameter in those calls to delete the rule or remove targets from the rule. You cannot modify these managed rules by using DisableRule, EnableRule, PutTargets, PutRule, TagResource, or UntagResource.

", + "exception":true + }, + "MessageGroupId":{"type":"string"}, + "NetworkConfiguration":{ + "type":"structure", + "members":{ + "awsvpcConfiguration":{ + "shape":"AwsVpcConfiguration", + "documentation":"

Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the awsvpc network mode.

" } }, - "documentation":"

The result of the ListTargetsByRule operation.

" + "documentation":"

This structure specifies the network configuration for an ECS task.

" }, "NextToken":{ "type":"string", + "max":2048, + "min":1 + }, + "NonPartnerEventBusName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\.\\-_A-Za-z0-9]+" + }, + "PartnerEventSource":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the partner event source.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the partner event source.

" + } + }, + "documentation":"

A partner event source is created by an SaaS partner. If a customer creates a partner event bus that matches this event source, that AWS account can receive events from the partner's applications or services.

" + }, + "PartnerEventSourceAccount":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"AccountId", + "documentation":"

The AWS account ID that the partner event source was offered to.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the event source was created.

" + }, + "ExpirationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the event source will expire, if the AWS account doesn't create a matching event bus for it.

" + }, + "State":{ + "shape":"EventSourceState", + "documentation":"

The state of the event source. If it is ACTIVE, you have already created a matching event bus for this event source, and that event bus is active. If it is PENDING, either you haven't yet created a matching event bus, or that event bus is deactivated. If it is DELETED, you have created a matching event bus, but the event source has since been deleted.

" + } + }, + "documentation":"

The AWS account that a partner event source has been offered to.

" + }, + "PartnerEventSourceAccountList":{ + "type":"list", + "member":{"shape":"PartnerEventSourceAccount"} + }, + "PartnerEventSourceList":{ + "type":"list", + "member":{"shape":"PartnerEventSource"} + }, + "PartnerEventSourceNamePrefix":{ + "type":"string", + "max":256, + "min":1, + "pattern":"aws\\.partner/[\\.\\-_A-Za-z0-9]+/[/\\.\\-_A-Za-z0-9]*" + }, + "PolicyLengthExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The event bus policy is too long. For more information, see the limits.

", + "exception":true + }, + "Principal":{ + "type":"string", + "max":12, "min":1, - "max":2048 + "pattern":"(\\d{12}|\\*)" }, "PutEventsRequest":{ "type":"structure", @@ -607,15 +1426,14 @@ "shape":"PutEventsRequestEntryList", "documentation":"

The entry that defines an event in your system. You can specify several parameters for the entry such as the source and type of the event, resources associated with the event, and so on.

" } - }, - "documentation":"

Container for the parameters to the PutEvents operation.

" + } }, "PutEventsRequestEntry":{ "type":"structure", "members":{ "Time":{ "shape":"EventTime", - "documentation":"

Timestamp of event, per RFC3339. If no timestamp is provided, the timestamp of the PutEvents call will be used.

" + "documentation":"

The time stamp of the event, per RFC3339. If no time stamp is provided, the time stamp of the PutEvents call is used.

" }, "Source":{ "shape":"String", @@ -631,16 +1449,20 @@ }, "Detail":{ "shape":"String", - "documentation":"

In the JSON sense, an object containing fields, which may also contain nested sub-objects. No constraints are imposed on its contents.

" + "documentation":"

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects.

" + }, + "EventBusName":{ + "shape":"NonPartnerEventBusName", + "documentation":"

The event bus that will receive the event. Only the rules that are associated with this event bus will be able to match the event.

" } }, - "documentation":"

Contains information about the event to be used in PutEvents.

" + "documentation":"

Represents an event to be submitted.

" }, "PutEventsRequestEntryList":{ "type":"list", "member":{"shape":"PutEventsRequestEntry"}, - "min":1, - "max":10 + "max":10, + "min":1 }, "PutEventsResponse":{ "type":"structure", @@ -651,33 +1473,139 @@ }, "Entries":{ "shape":"PutEventsResultEntryList", - "documentation":"

A list of successfully and unsuccessfully ingested events results. If the ingestion was successful, the entry will have the event ID in it. If not, then the ErrorCode and ErrorMessage can be used to identify the problem with the entry.

" + "documentation":"

The successfully and unsuccessfully ingested events results. If the ingestion was successful, the entry has the event ID in it. Otherwise, you can use the error code and error message to identify the problem with the entry.

" } - }, - "documentation":"

The result of the PutEvents operation.

" + } }, "PutEventsResultEntry":{ "type":"structure", "members":{ "EventId":{ "shape":"EventId", - "documentation":"

The ID of the event submitted to Amazon CloudWatch Events.

" + "documentation":"

The ID of the event.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the event submission failed on this entry.

" + "documentation":"

The error code that indicates why the event submission failed.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the event submission failed on this entry.

" + "documentation":"

The error message that explains why the event submission failed.

" } }, - "documentation":"

A PutEventsResult contains a list of PutEventsResultEntry.

" + "documentation":"

Represents an event that failed to be submitted.

" }, "PutEventsResultEntryList":{ "type":"list", "member":{"shape":"PutEventsResultEntry"} }, + "PutPartnerEventsRequest":{ + "type":"structure", + "required":["Entries"], + "members":{ + "Entries":{ + "shape":"PutPartnerEventsRequestEntryList", + "documentation":"

The list of events to write to the event bus.

" + } + } + }, + "PutPartnerEventsRequestEntry":{ + "type":"structure", + "members":{ + "Time":{ + "shape":"EventTime", + "documentation":"

The date and time of the event.

" + }, + "Source":{ + "shape":"EventSourceName", + "documentation":"

The event source that is generating the evntry.

" + }, + "Resources":{ + "shape":"EventResourceList", + "documentation":"

AWS resources, identified by Amazon Resource Name (ARN), which the event primarily concerns. Any number, including zero, may be present.

" + }, + "DetailType":{ + "shape":"String", + "documentation":"

A free-form string used to decide what fields to expect in the event detail.

" + }, + "Detail":{ + "shape":"String", + "documentation":"

A valid JSON string. There is no other schema imposed. The JSON string may contain fields and nested subobjects.

" + } + }, + "documentation":"

The details about an event generated by an SaaS partner.

" + }, + "PutPartnerEventsRequestEntryList":{ + "type":"list", + "member":{"shape":"PutPartnerEventsRequestEntry"}, + "max":20, + "min":1 + }, + "PutPartnerEventsResponse":{ + "type":"structure", + "members":{ + "FailedEntryCount":{ + "shape":"Integer", + "documentation":"

The number of events from this operation that could not be written to the partner event bus.

" + }, + "Entries":{ + "shape":"PutPartnerEventsResultEntryList", + "documentation":"

The list of events from this operation that were successfully written to the partner event bus.

" + } + } + }, + "PutPartnerEventsResultEntry":{ + "type":"structure", + "members":{ + "EventId":{ + "shape":"EventId", + "documentation":"

The ID of the event.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code that indicates why the event submission failed.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The error message that explains why the event submission failed.

" + } + }, + "documentation":"

Represents an event that a partner tried to generate, but failed.

" + }, + "PutPartnerEventsResultEntryList":{ + "type":"list", + "member":{"shape":"PutPartnerEventsResultEntry"} + }, + "PutPermissionRequest":{ + "type":"structure", + "required":[ + "Action", + "Principal", + "StatementId" + ], + "members":{ + "EventBusName":{ + "shape":"NonPartnerEventBusName", + "documentation":"

The event bus associated with the rule. If you omit this, the default event bus is used.

" + }, + "Action":{ + "shape":"Action", + "documentation":"

The action that you are enabling the other account to perform. Currently, this must be events:PutEvents.

" + }, + "Principal":{ + "shape":"Principal", + "documentation":"

The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify \"*\" to permit any account to put events to your default event bus.

If you specify \"*\" without specifying Condition, avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an account field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.

" + }, + "StatementId":{ + "shape":"StatementId", + "documentation":"

An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this StatementId when you run RemovePermission.

" + }, + "Condition":{ + "shape":"Condition", + "documentation":"

This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see What Is AWS Organizations in the AWS Organizations User Guide.

If you specify Condition with an AWS organization ID, and specify \"*\" as the value for Principal, you grant permission to all the accounts in the named organization.

The Condition is a JSON string which must contain Type, Key, and Value fields.

" + } + } + }, "PutRuleRequest":{ "type":"structure", "required":["Name"], @@ -688,11 +1616,11 @@ }, "ScheduleExpression":{ "shape":"ScheduleExpression", - "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\", \"rate(5 minutes)\".

" + "documentation":"

The scheduling expression. For example, \"cron(0 20 * * ? *)\" or \"rate(5 minutes)\".

" }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.

" }, "State":{ "shape":"RuleState", @@ -705,19 +1633,25 @@ "RoleArn":{ "shape":"RoleArn", "documentation":"

The Amazon Resource Name (ARN) of the IAM role associated with the rule.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus to associate with this rule. If you omit this, the default event bus is used.

" } - }, - "documentation":"

Container for the parameters to the PutRule operation.

" + } }, "PutRuleResponse":{ "type":"structure", "members":{ "RuleArn":{ "shape":"RuleArn", - "documentation":"

The Amazon Resource Name (ARN) that identifies the rule.

" + "documentation":"

The Amazon Resource Name (ARN) of the rule.

" } - }, - "documentation":"

The result of the PutRule operation.

" + } }, "PutTargetsRequest":{ "type":"structure", @@ -728,14 +1662,17 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to add targets to.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The name of the event bus associated with the rule. If you omit this, the default event bus is used.

" }, "Targets":{ "shape":"TargetList", - "documentation":"

List of targets you want to update or add to the rule.

" + "documentation":"

The targets to update or add to the rule.

" } - }, - "documentation":"

Container for the parameters to the PutTargets operation.

" + } }, "PutTargetsResponse":{ "type":"structure", @@ -746,33 +1683,46 @@ }, "FailedEntries":{ "shape":"PutTargetsResultEntryList", - "documentation":"

An array of failed target entries.

" + "documentation":"

The failed target entries.

" } - }, - "documentation":"

The result of the PutTargets operation.

" + } }, "PutTargetsResultEntry":{ "type":"structure", "members":{ "TargetId":{ "shape":"TargetId", - "documentation":"

The ID of the target submitted to Amazon CloudWatch Events.

" + "documentation":"

The ID of the target.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the target submission failed on this entry.

" + "documentation":"

The error code that indicates why the target addition failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target submission failed on this entry.

" + "documentation":"

The error message that explains why the target addition failed.

" } }, - "documentation":"

A PutTargetsResult contains a list of PutTargetsResultEntry.

" + "documentation":"

Represents a target that failed to be added to a rule.

" }, "PutTargetsResultEntryList":{ "type":"list", "member":{"shape":"PutTargetsResultEntry"} }, + "RemovePermissionRequest":{ + "type":"structure", + "required":["StatementId"], + "members":{ + "StatementId":{ + "shape":"StatementId", + "documentation":"

The statement ID corresponding to the account that is no longer allowed to put events to the default event bus.

" + }, + "EventBusName":{ + "shape":"NonPartnerEventBusName", + "documentation":"

The name of the event bus to revoke permissions for. If you omit this, the default event bus is used.

" + } + } + }, "RemoveTargetsRequest":{ "type":"structure", "required":[ @@ -782,14 +1732,21 @@ "members":{ "Rule":{ "shape":"RuleName", - "documentation":"

The name of the rule you want to remove targets from.

" + "documentation":"

The name of the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The name of the event bus associated with the rule.

" }, "Ids":{ "shape":"TargetIdList", - "documentation":"

The list of target IDs to remove from the rule.

" + "documentation":"

The IDs of the targets to remove from the rule.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

If this is a managed rule, created by an AWS service on your behalf, you must specify Force as True to remove targets. This parameter is ignored for rules that are not managed rules. You can check whether a rule is a managed rule by using DescribeRule or ListRules and checking the ManagedBy field of the response.

" } - }, - "documentation":"

Container for the parameters to the RemoveTargets operation.

" + } }, "RemoveTargetsResponse":{ "type":"structure", @@ -800,51 +1757,57 @@ }, "FailedEntries":{ "shape":"RemoveTargetsResultEntryList", - "documentation":"

An array of failed target entries.

" + "documentation":"

The failed target entries.

" } - }, - "documentation":"

The result of the RemoveTargets operation.

" + } }, "RemoveTargetsResultEntry":{ "type":"structure", "members":{ "TargetId":{ "shape":"TargetId", - "documentation":"

The ID of the target requested to be removed by Amazon CloudWatch Events.

" + "documentation":"

The ID of the target.

" }, "ErrorCode":{ "shape":"ErrorCode", - "documentation":"

The error code representing why the target removal failed on this entry.

" + "documentation":"

The error code that indicates why the target removal failed. If the value is ConcurrentModificationException, too many requests were made at the same time.

" }, "ErrorMessage":{ "shape":"ErrorMessage", - "documentation":"

The error message explaining why the target removal failed on this entry.

" + "documentation":"

The error message that explains why the target removal failed.

" } }, - "documentation":"

The ID of the target requested to be removed from the rule by Amazon CloudWatch Events.

" + "documentation":"

Represents a target that failed to be removed from a rule.

" }, "RemoveTargetsResultEntryList":{ "type":"list", "member":{"shape":"RemoveTargetsResultEntry"} }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The resource you are trying to create already exists.

", + "exception":true + }, "ResourceNotFoundException":{ "type":"structure", "members":{ }, - "exception":true, - "documentation":"

The rule does not exist.

" + "documentation":"

An entity that you specified does not exist.

", + "exception":true }, "RoleArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "Rule":{ "type":"structure", "members":{ "Name":{ "shape":"RuleName", - "documentation":"

The rule's name.

" + "documentation":"

The name of the rule.

" }, "Arn":{ "shape":"RuleArn", @@ -852,11 +1815,11 @@ }, "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern of the rule.

" + "documentation":"

The event pattern of the rule. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.

" }, "State":{ "shape":"RuleState", - "documentation":"

The rule's state.

" + "documentation":"

The state of the rule.

" }, "Description":{ "shape":"RuleDescription", @@ -868,15 +1831,23 @@ }, "RoleArn":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) associated with the role that is used for target invocation.

" + "documentation":"

The Amazon Resource Name (ARN) of the role that is used for target invocation.

" + }, + "ManagedBy":{ + "shape":"ManagedBy", + "documentation":"

If the rule was created on behalf of your account by an AWS service, this field displays the principal name of the service that created the rule.

" + }, + "EventBusName":{ + "shape":"EventBusName", + "documentation":"

The event bus associated with the rule.

" } }, - "documentation":"

Contains information about a rule in Amazon CloudWatch Events. A ListRulesResult contains a list of Rules.

" + "documentation":"

Contains information about a rule in Amazon EventBridge.

" }, "RuleArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "RuleDescription":{ "type":"string", @@ -884,8 +1855,8 @@ }, "RuleName":{ "type":"string", - "min":1, "max":64, + "min":1, "pattern":"[\\.\\-_A-Za-z0-9]+" }, "RuleNameList":{ @@ -903,11 +1874,141 @@ "DISABLED" ] }, + "RunCommandParameters":{ + "type":"structure", + "required":["RunCommandTargets"], + "members":{ + "RunCommandTargets":{ + "shape":"RunCommandTargets", + "documentation":"

Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.

" + } + }, + "documentation":"

This parameter contains the criteria (either InstanceIds or a tag) used to specify which EC2 instances are to be sent the command.

" + }, + "RunCommandTarget":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"RunCommandTargetKey", + "documentation":"

Can be either tag: tag-key or InstanceIds.

" + }, + "Values":{ + "shape":"RunCommandTargetValues", + "documentation":"

If Key is tag: tag-key, Values is a list of tag values. If Key is InstanceIds, Values is a list of Amazon EC2 instance IDs.

" + } + }, + "documentation":"

Information about the EC2 instances that are to be sent the command, specified as key-value pairs. Each RunCommandTarget block can include only one key, but this key may specify multiple values.

" + }, + "RunCommandTargetKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$" + }, + "RunCommandTargetValue":{ + "type":"string", + "max":256, + "min":1 + }, + "RunCommandTargetValues":{ + "type":"list", + "member":{"shape":"RunCommandTargetValue"}, + "max":50, + "min":1 + }, + "RunCommandTargets":{ + "type":"list", + "member":{"shape":"RunCommandTarget"}, + "max":5, + "min":1 + }, "ScheduleExpression":{ "type":"string", "max":256 }, + "SqsParameters":{ + "type":"structure", + "members":{ + "MessageGroupId":{ + "shape":"MessageGroupId", + "documentation":"

The FIFO message group ID to use as the target.

" + } + }, + "documentation":"

This structure includes the custom parameter to be used when the target is an SQS FIFO queue.

" + }, + "StatementId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9-_]+" + }, "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value for the specified tag key.

" + } + }, + "documentation":"

A key-value pair associated with an AWS resource. In EventBridge, rules and event buses support tagging.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the EventBridge resource that you're adding tags to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The list of key-value pairs to associate with the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "Target":{ "type":"structure", "required":[ @@ -917,39 +2018,67 @@ "members":{ "Id":{ "shape":"TargetId", - "documentation":"

The unique target assignment ID.

" + "documentation":"

The ID of the target.

" }, "Arn":{ "shape":"TargetArn", - "documentation":"

The Amazon Resource Name (ARN) associated of the target.

" + "documentation":"

The Amazon Resource Name (ARN) of the target.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.

" }, "Input":{ "shape":"TargetInput", - "documentation":"

Valid JSON text passed to the target. For more information about JSON text, see The JavaScript Object Notation (JSON) Data Interchange Format.

" + "documentation":"

Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see The JavaScript Object Notation (JSON) Data Interchange Format.

" }, "InputPath":{ "shape":"TargetInputPath", - "documentation":"

The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. For more information about JSON paths, see JSONPath.

" + "documentation":"

The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You must use JSON dot notation, not bracket notation. For more information about JSON paths, see JSONPath.

" + }, + "InputTransformer":{ + "shape":"InputTransformer", + "documentation":"

Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.

" + }, + "KinesisParameters":{ + "shape":"KinesisParameters", + "documentation":"

The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the eventId as the partition key.

" + }, + "RunCommandParameters":{ + "shape":"RunCommandParameters", + "documentation":"

Parameters used when you are using the rule to invoke Amazon EC2 Run Command.

" + }, + "EcsParameters":{ + "shape":"EcsParameters", + "documentation":"

Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see Task Definitions in the Amazon EC2 Container Service Developer Guide.

" + }, + "BatchParameters":{ + "shape":"BatchParameters", + "documentation":"

If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see Jobs in the AWS Batch User Guide.

" + }, + "SqsParameters":{ + "shape":"SqsParameters", + "documentation":"

Contains the message group ID to use when the target is a FIFO queue.

If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.

" } }, - "documentation":"

Targets are the resources that can be invoked when a rule is triggered. For example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets.

Input and InputPath are mutually-exclusive and optional parameters of a target. When a rule is triggered due to a matched event, if for a target:

  • Neither Input nor InputPath is specified, then the entire event is passed to the target in JSON form.
  • InputPath is specified in the form of JSONPath (e.g. $.detail), then only the part of the event specified in the path is passed to the target (e.g. only the detail part of the event is passed).
  • Input is specified in the form of a valid JSON, then the matched event is overridden with this constant.
" + "documentation":"

Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see PutTargets.

If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a RoleArn with proper permissions in the Target structure. For more information, see Sending and Receiving Events Between AWS Accounts in the Amazon EventBridge User Guide.

" }, "TargetArn":{ "type":"string", - "min":1, - "max":1600 + "max":1600, + "min":1 }, "TargetId":{ "type":"string", - "min":1, "max":64, + "min":1, "pattern":"[\\.\\-_A-Za-z0-9]+" }, "TargetIdList":{ "type":"list", "member":{"shape":"TargetId"}, - "min":1, - "max":100 + "max":100, + "min":1 }, "TargetInput":{ "type":"string", @@ -961,7 +2090,13 @@ }, "TargetList":{ "type":"list", - "member":{"shape":"Target"} + "member":{"shape":"Target"}, + "max":100, + "min":1 + }, + "TargetPartitionKeyPath":{ + "type":"string", + "max":256 }, "TestEventPatternRequest":{ "type":"structure", @@ -972,14 +2107,13 @@ "members":{ "EventPattern":{ "shape":"EventPattern", - "documentation":"

The event pattern you want to test.

" + "documentation":"

The event pattern. For more information, see Events and Event Patterns in the Amazon EventBridge User Guide.

" }, "Event":{ "shape":"String", - "documentation":"

The event in the JSON format to test against the event pattern.

" + "documentation":"

The event, in JSON format, to test against the event pattern.

" } - }, - "documentation":"

Container for the parameters to the TestEventPattern operation.

" + } }, "TestEventPatternResponse":{ "type":"structure", @@ -988,10 +2122,42 @@ "shape":"Boolean", "documentation":"

Indicates whether the event matches the event pattern.

" } - }, - "documentation":"

The result of the TestEventPattern operation.

" + } + }, + "Timestamp":{"type":"timestamp"}, + "TransformerInput":{ + "type":"string", + "max":8192, + "min":1 + }, + "TransformerPaths":{ + "type":"map", + "key":{"shape":"InputTransformerPathKey"}, + "value":{"shape":"TargetInputPath"}, + "max":10 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"Arn", + "documentation":"

The ARN of the EventBridge resource from which you are removing tags.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The list of tag keys to remove from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } } }, - "examples":{ - } + "documentation":"

Amazon EventBridge helps you to respond to state changes in your AWS resources. When your resources change state, they automatically send events into an event stream. You can create rules that match selected events in the stream and route them to targets to take action. You can also use rules to take action on a predetermined schedule. For example, you can configure rules to:

  • Automatically invoke an AWS Lambda function to update DNS entries when an event notifies you that Amazon EC2 instance enters the running state.

  • Direct specific API records from AWS CloudTrail to an Amazon Kinesis data stream for detailed analysis of potential security or availability risks.

  • Periodically invoke a built-in target to create a snapshot of an Amazon EBS volume.

For more information about the features of Amazon EventBridge, see the Amazon EventBridge User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/firehose/2015-08-04/examples-1.json python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/examples-1.json --- python-botocore-1.4.70/botocore/data/firehose/2015-08-04/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/firehose/2015-08-04/paginators-1.json python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/paginators-1.json --- python-botocore-1.4.70/botocore/data/firehose/2015-08-04/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/firehose/2015-08-04/service-2.json python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/service-2.json --- python-botocore-1.4.70/botocore/data/firehose/2015-08-04/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/firehose/2015-08-04/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"Firehose", "serviceFullName":"Amazon Kinesis Firehose", + "serviceId":"Firehose", "signatureVersion":"v4", - "targetPrefix":"Firehose_20150804" + "targetPrefix":"Firehose_20150804", + "uid":"firehose-2015-08-04" }, "operations":{ "CreateDeliveryStream":{ @@ -22,9 +24,10 @@ "errors":[ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"}, - {"shape":"ResourceInUseException"} + {"shape":"ResourceInUseException"}, + {"shape":"InvalidKMSResourceException"} ], - "documentation":"

Creates a delivery stream.

CreateDeliveryStream is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

The name of a delivery stream identifies it. You can't have two delivery streams with the same name in the same region. Two delivery streams in different AWS accounts or different regions in the same AWS account can have the same name.

By default, you can create up to 20 delivery streams per region.

A delivery stream can only be configured with a single destination, Amazon S3, Amazon Elasticsearch Service, or Amazon Redshift. For correct CreateDeliveryStream request syntax, specify only one destination configuration parameter: either S3DestinationConfiguration, ElasticsearchDestinationConfiguration, or RedshiftDestinationConfiguration.

As part of S3DestinationConfiguration, optional values BufferingHints, EncryptionConfiguration, and CompressionFormat can be provided. By default, if no BufferingHints value is provided, Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. Note that BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly; for example, record boundaries are such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about RedshiftDestinationConfiguration:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location, as Firehose first delivers data to S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter element.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that the username and password provided is used exclusively for Firehose purposes, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Firehose assumes the IAM role that is configured as part of destinations. The IAM role should allow the Firehose principal to assume the role, and the role should have permissions that allows the service to deliver the data. For more information, see Amazon S3 Bucket Access in the Amazon Kinesis Firehose Developer Guide.

" + "documentation":"

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per AWS Region.

This is an asynchronous operation that immediately returns. The initial status of the delivery stream is CREATING. After the delivery stream is created, its status is ACTIVE and it now accepts data. If the delivery stream creation fails, the status transitions to CREATING_FAILED. Attempts to send data to a delivery stream that is not in the ACTIVE state cause an exception. To check the state of a delivery stream, use DescribeDeliveryStream.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

A Kinesis Data Firehose delivery stream can be configured to receive records directly from providers using PutRecord or PutRecordBatch, or it can be configured to use an existing Kinesis stream as its source. To specify a Kinesis data stream as input, set the DeliveryStreamType parameter to KinesisStreamAsSource, and provide the Kinesis stream Amazon Resource Name (ARN) and role ARN in the KinesisStreamSourceConfiguration parameter.

To create a delivery stream with server-side encryption (SSE) enabled, include DeliveryStreamEncryptionConfigurationInput in your request. This is optional. You can also invoke StartDeliveryStreamEncryption to turn on SSE for an existing delivery stream that doesn't have SSE enabled.

A delivery stream is configured with a single destination: Amazon S3, Amazon ES, Amazon Redshift, or Splunk. You must specify only one of the following destination configuration parameters: ExtendedS3DestinationConfiguration, S3DestinationConfiguration, ElasticsearchDestinationConfiguration, RedshiftDestinationConfiguration, or SplunkDestinationConfiguration.

When you specify S3DestinationConfiguration, you can also provide the following optional values: BufferingHints, EncryptionConfiguration, and CompressionFormat. By default, if no BufferingHints value is provided, Kinesis Data Firehose buffers data up to 5 MB or for 5 minutes, whichever condition is satisfied first. BufferingHints is a hint, so there are some cases where the service cannot adhere to these conditions strictly. For example, record boundaries might be such that the size is a little over or under the configured buffering size. By default, no encryption is performed. We strongly recommend that you enable encryption to ensure secure data storage in Amazon S3.

A few notes about Amazon Redshift as a destination:

  • An Amazon Redshift destination requires an S3 bucket as intermediate location. Kinesis Data Firehose first delivers data to Amazon S3 and then uses COPY syntax to load data into an Amazon Redshift table. This is specified in the RedshiftDestinationConfiguration.S3Configuration parameter.

  • The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

  • We strongly recommend that you use the user name and password you provide exclusively with Kinesis Data Firehose, and that the permissions for the account are restricted for Amazon Redshift INSERT permissions.

Kinesis Data Firehose assumes the IAM role that is configured as part of the destination. The role should allow the Kinesis Data Firehose principal to assume the role, and the role should have permissions that allow the service to deliver the data. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination in the Amazon Kinesis Data Firehose Developer Guide.

" }, "DeleteDeliveryStream":{ "name":"DeleteDeliveryStream", @@ -38,7 +41,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a delivery stream and its data.

You can delete a delivery stream only if it is in ACTIVE or DELETING state, and not in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state.

To check the state of a delivery stream, use DescribeDeliveryStream.

While the delivery stream is DELETING state, the service may continue to accept the records, but the service doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, you should first stop any applications that are sending records before deleting a delivery stream.

" + "documentation":"

Deletes a delivery stream and its data.

To check the state of a delivery stream, use DescribeDeliveryStream. You can delete a delivery stream only if it is in one of the following states: ACTIVE, DELETING, CREATING_FAILED, or DELETING_FAILED. You can't delete a delivery stream that is in the CREATING state. While the deletion request is in process, the delivery stream is in the DELETING state.

While the delivery stream is in the DELETING state, the service might continue to accept records, but it doesn't make any guarantees with respect to delivering the data. Therefore, as a best practice, first stop any applications that are sending records before you delete a delivery stream.

" }, "DescribeDeliveryStream":{ "name":"DescribeDeliveryStream", @@ -51,7 +54,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the specified delivery stream and gets the status. For example, after your delivery stream is created, call DescribeDeliveryStream to see if the delivery stream is ACTIVE and therefore ready for data to be sent to it.

" + "documentation":"

Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data to be sent to it.

If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it. If the status is DELETING_FAILED, you can force deletion by invoking DeleteDeliveryStream again but with DeleteDeliveryStreamInput$AllowForceDelete set to true.

" }, "ListDeliveryStreams":{ "name":"ListDeliveryStreams", @@ -61,7 +64,22 @@ }, "input":{"shape":"ListDeliveryStreamsInput"}, "output":{"shape":"ListDeliveryStreamsOutput"}, - "documentation":"

Lists your delivery streams.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by specifying the name of the last delivery stream returned in the call in the ExclusiveStartDeliveryStreamName parameter of a subsequent call.

" + "documentation":"

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams returned, using the Limit parameter. To determine whether there are more delivery streams to list, check the value of HasMoreDeliveryStreams in the output. If there are more delivery streams to list, you can request them by calling this operation again and setting the ExclusiveStartDeliveryStreamName parameter to the name of the last delivery stream returned in the last call.

" + }, + "ListTagsForDeliveryStream":{ + "name":"ListTagsForDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForDeliveryStreamInput"}, + "output":{"shape":"ListTagsForDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account.

" }, "PutRecord":{ "name":"PutRecord", @@ -74,9 +92,10 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArgumentException"}, + {"shape":"InvalidKMSResourceException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Writes a single data record into an Amazon Kinesis Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, etc.

Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

" + "documentation":"

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it can be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecord operation returns a RecordId, which is a unique string assigned to each record. Producer applications can use this ID for purposes such as auditability and investigation.

If the PutRecord operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it tries to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

" }, "PutRecordBatch":{ "name":"PutRecordBatch", @@ -89,9 +108,75 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArgumentException"}, + {"shape":"InvalidKMSResourceException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. Note that if you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data, for example, a segment from a log file, geographic location data, web site clickstream data, and so on.

Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application(s) to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of any failed records, FailedPutCount, and an array of responses, RequestResponses. The FailedPutCount value is a count of records that failed. Each entry in the RequestResponses array gives additional information of the processed record. Each entry in RequestResponses directly correlates with a record in the request array using the same ordering, from the top to the bottom of the request and response. RequestResponses always includes the same number of records as the request array. RequestResponses both successfully and unsuccessfully processed records. Firehose attempts to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is a unique value identified for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and is one of the following values: ServiceUnavailable or InternalFailure. ErrorMessage provides more detailed information about the error.

If FailedPutCount is greater than 0 (zero), retry the request. A retry of the entire batch of records is possible; however, we strongly recommend that you inspect the entire response and resend only those records that failed processing. This minimizes duplicate records and also reduces the total bytes sent (and corresponding charges).

If the PutRecordBatch operation throws a ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

" + "documentation":"

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applications using these operations are referred to as producers.

By default, each delivery stream can take in up to 2,000 transactions per second, 5,000 records per second, or 5 MB per second. If you use PutRecord and PutRecordBatch, the limits are an aggregate across these two operations for each delivery stream. For more information about limits, see Amazon Kinesis Data Firehose Limits.

Each PutRecordBatch request supports up to 500 records. Each record in the request can be as large as 1,000 KB (before 64-bit encoding), up to a limit of 4 MB for the entire request. These limits cannot be changed.

You must specify the name of the delivery stream and the data record when using PutRecord. The data record consists of a data blob that can be up to 1,000 KB in size, and any kind of data. For example, it could be a segment from a log file, geographic location data, website clickstream data, and so on.

Kinesis Data Firehose buffers records before delivering them to the destination. To disambiguate the data blobs at the destination, a common solution is to use delimiters in the data, such as a newline (\\n) or some other character unique within the data. This allows the consumer application to parse individual data items when reading the data from the destination.

The PutRecordBatch response includes a count of failed records, FailedPutCount, and an array of responses, RequestResponses. Even if the PutRecordBatch call succeeds, the value of FailedPutCount may be greater than 0, indicating that there are records for which the operation didn't succeed. Each entry in the RequestResponses array provides additional information about the processed record. It directly correlates with a record in the request array using the same ordering, from the top to the bottom. The response array always includes the same number of records as the request array. RequestResponses includes both successfully and unsuccessfully processed records. Kinesis Data Firehose tries to process all records in each PutRecordBatch request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes a RecordId value, which is unique for the record. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error, and is one of the following values: ServiceUnavailableException or InternalFailure. ErrorMessage provides more detailed information about the error.

If there is an internal server error or a timeout, the write might have completed or it might have failed. If FailedPutCount is greater than 0, retry the request, resending only those records that might have failed processing. This minimizes the possible duplicate records and also reduces the total bytes sent (and corresponding charges). We recommend that you handle any duplicates at the destination.

If PutRecordBatch throws ServiceUnavailableException, back off and retry. If the exception persists, it is possible that the throughput limits have been exceeded for the delivery stream.

Data records sent to Kinesis Data Firehose are stored for 24 hours from the time they are added to a delivery stream as it attempts to send the records to the destination. If the destination is unreachable for more than 24 hours, the data is no longer available.

Don't concatenate two or more base64 strings to form the data fields of your records. Instead, concatenate the raw data, then perform base64 encoding.

" + }, + "StartDeliveryStreamEncryption":{ + "name":"StartDeliveryStreamEncryption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDeliveryStreamEncryptionInput"}, + "output":{"shape":"StartDeliveryStreamEncryptionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidKMSResourceException"} + ], + "documentation":"

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLING, and then to ENABLED. The encryption status of a delivery stream is the Status property in DeliveryStreamEncryptionConfiguration. If the operation fails, the encryption status changes to ENABLING_FAILED. You can continue to read and write data to your delivery stream while the encryption status is ENABLING, but the data is not encrypted. It can take up to 5 seconds after the encryption status changes to ENABLED before all records written to the delivery stream are encrypted. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption status of a delivery stream, use DescribeDeliveryStream.

Even if encryption is currently enabled for a delivery stream, you can still invoke this operation on it to change the ARN of the CMK or both its type and ARN. If you invoke this method to change the CMK, and the old CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement. If the new CMK is of type CUSTOMER_MANAGED_CMK, Kinesis Data Firehose creates a grant that enables it to use the new CMK to encrypt and decrypt data and to manage the grant.

If a delivery stream already has encryption enabled and then you invoke this operation to change the ARN of the CMK or both its type and ARN and you get ENABLING_FAILED, this only means that the attempt to change the CMK failed. In this case, encryption remains enabled with the old CMK.

If the encryption status of your delivery stream is ENABLING_FAILED, you can invoke this operation again with a valid CMK. The CMK must be enabled and the key policy mustn't explicitly deny the permission for Kinesis Data Firehose to invoke KMS encrypt and decrypt operations.

You can enable SSE for a delivery stream only if it's a delivery stream that uses DirectPut as its source.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

" + }, + "StopDeliveryStreamEncryption":{ + "name":"StopDeliveryStreamEncryption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDeliveryStreamEncryptionInput"}, + "output":{"shape":"StopDeliveryStreamEncryptionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Disables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to DISABLING, and then to DISABLED. You can continue to read and write data to your stream while its status is DISABLING. It can take up to 5 seconds after the encryption status changes to DISABLED before all records written to the delivery stream are no longer subject to encryption. To find out whether a record or a batch of records was encrypted, check the response elements PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted, respectively.

To check the encryption state of a delivery stream, use DescribeDeliveryStream.

If SSE is enabled using a customer managed CMK and then you invoke StopDeliveryStreamEncryption, Kinesis Data Firehose schedules the related KMS grant for retirement and then retires it after it ensures that it is finished delivering records to the destination.

The StartDeliveryStreamEncryption and StopDeliveryStreamEncryption operations have a combined limit of 25 calls per delivery stream per 24 hours. For example, you reach the limit if you call StartDeliveryStreamEncryption 13 times and StopDeliveryStreamEncryption 12 times for the same delivery stream in a 24-hour period.

" + }, + "TagDeliveryStream":{ + "name":"TagDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagDeliveryStreamInput"}, + "output":{"shape":"TagDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

Each delivery stream can have up to 50 tags.

This operation has a limit of five transactions per second per account.

" + }, + "UntagDeliveryStream":{ + "name":"UntagDeliveryStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagDeliveryStreamInput"}, + "output":{"shape":"UntagDeliveryStreamOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes.

If you specify a tag that doesn't exist, the operation ignores it.

This operation has a limit of five transactions per second per account.

" }, "UpdateDestination":{ "name":"UpdateDestination", @@ -107,7 +192,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ConcurrentModificationException"} ], - "documentation":"

Updates the specified destination of the specified delivery stream. Note: Switching between Elasticsearch and other services is not supported. For Elasticsearch destination, you can only update an existing Elasticsearch destination with this operation.

This operation can be used to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a given destination (for example, to change the bucket name of the Amazon S3 destination). The update may not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are normally effective within a few minutes.

If the destination type is the same, Firehose merges the configuration parameters specified in the UpdateDestination request with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the update request, then the existing configuration parameters are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Firehose does not merge any parameters. In this case, all parameters must be specified.

Firehose uses the CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field in every request and the service only updates the configuration if the existing configuration matches the VersionId. After the update is applied successfully, the VersionId is updated, which can be retrieved with the DescribeDeliveryStream operation. The new VersionId should be uses to set CurrentDeliveryStreamVersionId in the next UpdateDestination operation.

" + "documentation":"

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated with a destination (for example, to change the bucket name of the Amazon S3 destination). The update might not occur immediately. The target delivery stream remains active while the configurations are updated, so data writes to the delivery stream can continue during this process. The updated configurations are usually effective within a few minutes.

Switching between Amazon ES and other services is not supported. For an Amazon ES destination, you can only update to another Amazon ES destination.

If the destination type is the same, Kinesis Data Firehose merges the configuration parameters specified with the destination configuration that already exists on the delivery stream. If any of the parameters are not specified in the call, the existing values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration is not specified, then the existing EncryptionConfiguration is maintained on the destination.

If the destination type is not the same, for example, changing the destination from Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. In this case, all parameters must be specified.

Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race conditions and conflicting merges. This is a required field, and the service updates the configuration only if the existing configuration has a version ID that matches. After the update is applied successfully, the version ID is updated, and can be retrieved using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId in the next call.

" } }, "shapes":{ @@ -117,6 +202,10 @@ "min":1, "pattern":"arn:.*" }, + "BlockSizeBytes":{ + "type":"integer", + "min":67108864 + }, "BooleanObject":{"type":"boolean"}, "BucketARN":{ "type":"string", @@ -129,14 +218,14 @@ "members":{ "SizeInMBs":{ "shape":"SizeInMBs", - "documentation":"

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec set SizeInMBs to be 10 MB or higher.

" + "documentation":"

Buffer incoming data to the specified size, in MiBs, before delivering it to the destination. The default value is 5. This parameter is optional but if you specify a value for it, you must also specify a value for IntervalInSeconds, and vice versa.

We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MiB/sec, the value should be 10 MiB or higher.

" }, "IntervalInSeconds":{ "shape":"IntervalInSeconds", - "documentation":"

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300.

" + "documentation":"

Buffer incoming data for the specified period of time, in seconds, before delivering it to the destination. The default value is 300. This parameter is optional but if you specify a value for it, you must also specify a value for SizeInMBs, and vice versa.

" } }, - "documentation":"

Describes hints for the buffering to perform before delivering data to the destination. Please note that these options are treated as hints, and therefore Firehose may choose to use different values when it is optimal.

" + "documentation":"

Describes hints for the buffering to perform before delivering data to the destination. These options are treated as hints, and therefore Kinesis Data Firehose might choose to use different values when it is optimal. The SizeInMBs and IntervalInSeconds parameters are optional. However, if specify a value for one of them, you must also provide a value for the other.

" }, "CloudWatchLoggingOptions":{ "type":"structure", @@ -147,19 +236,25 @@ }, "LogGroupName":{ "shape":"LogGroupName", - "documentation":"

The CloudWatch group name for logging. This value is required if Enabled is true.

" + "documentation":"

The CloudWatch group name for logging. This value is required if CloudWatch logging is enabled.

" }, "LogStreamName":{ "shape":"LogStreamName", - "documentation":"

The CloudWatch log stream name for logging. This value is required if Enabled is true.

" + "documentation":"

The CloudWatch log stream name for logging. This value is required if CloudWatch logging is enabled.

" } }, - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

Describes the Amazon CloudWatch logging options for your delivery stream.

" }, "ClusterJDBCURL":{ "type":"string", + "max":512, "min":1, - "pattern":"jdbc:(redshift|postgresql)://((?!-)[A-Za-z0-9-]{1,63}(?A message that provides information about the error.

" } }, - "documentation":"

Another modification has already happened. Fetch VersionId again and use it to update the destination.

", + "documentation":"

Another modification has already happened. Fetch VersionId again and use it to update the destination.

", "exception":true }, "CopyCommand":{ @@ -195,34 +291,63 @@ }, "CopyOptions":{ "shape":"CopyOptions", - "documentation":"

Optional parameters to use with the Amazon Redshift COPY command. For more information, see the \"Optional Parameters\" section of Amazon Redshift COPY command. Some possible examples that would apply to Firehose are as follows.

delimiter '\\t' lzop; - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.

delimiter '| - fields are delimited with \"|\" (this is the default delimiter).

delimiter '|' escape - the delimiter should be escaped.

fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' - fields are fixed width in the source, with each width specified after every column in the table.

JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path specified is the format of the data.

For more examples, see Amazon Redshift COPY command examples.

" + "documentation":"

Optional parameters to use with the Amazon Redshift COPY command. For more information, see the \"Optional Parameters\" section of Amazon Redshift COPY command. Some possible examples that would apply to Kinesis Data Firehose are as follows:

delimiter '\\t' lzop; - fields are delimited with \"\\t\" (TAB character) and compressed using lzop.

delimiter '|' - fields are delimited with \"|\" (this is the default delimiter).

delimiter '|' escape - the delimiter should be escaped.

fixedwidth 'venueid:3,venuename:25,venuecity:12,venuestate:2,venueseats:6' - fields are fixed width in the source, with each width specified after every column in the table.

JSON 's3://mybucket/jsonpaths.txt' - data is in JSON format, and the path specified is the format of the data.

For more examples, see Amazon Redshift COPY command examples.

" } }, "documentation":"

Describes a COPY command for Amazon Redshift.

" }, - "CopyOptions":{"type":"string"}, + "CopyOptions":{ + "type":"string", + "max":204800, + "min":0, + "pattern":".*" + }, "CreateDeliveryStreamInput":{ "type":"structure", "required":["DeliveryStreamName"], "members":{ "DeliveryStreamName":{ "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream.

" + "documentation":"

The name of the delivery stream. This name must be unique per AWS account in the same AWS Region. If the delivery streams are in different accounts or different Regions, you can have multiple delivery streams with the same name.

" + }, + "DeliveryStreamType":{ + "shape":"DeliveryStreamType", + "documentation":"

The delivery stream type. This parameter can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

" + }, + "KinesisStreamSourceConfiguration":{ + "shape":"KinesisStreamSourceConfiguration", + "documentation":"

When a Kinesis data stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the role ARN for the source stream.

" + }, + "DeliveryStreamEncryptionConfigurationInput":{ + "shape":"DeliveryStreamEncryptionConfigurationInput", + "documentation":"

Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE).

" }, "S3DestinationConfiguration":{ "shape":"S3DestinationConfiguration", - "documentation":"

The destination in Amazon S3. This value must be specified if ElasticsearchDestinationConfiguration or RedshiftDestinationConfiguration is specified (see restrictions listed above).

" + "documentation":"

[Deprecated] The destination in Amazon S3. You can specify only one destination.

", + "deprecated":true + }, + "ExtendedS3DestinationConfiguration":{ + "shape":"ExtendedS3DestinationConfiguration", + "documentation":"

The destination in Amazon S3. You can specify only one destination.

" }, "RedshiftDestinationConfiguration":{ "shape":"RedshiftDestinationConfiguration", - "documentation":"

The destination in Amazon Redshift. This value cannot be specified if Amazon S3 or Amazon Elasticsearch is the desired destination (see restrictions listed above).

" + "documentation":"

The destination in Amazon Redshift. You can specify only one destination.

" }, "ElasticsearchDestinationConfiguration":{ "shape":"ElasticsearchDestinationConfiguration", - "documentation":"

The destination in Amazon ES. This value cannot be specified if Amazon S3 or Amazon Redshift is the desired destination (see restrictions listed above).

" + "documentation":"

The destination in Amazon ES. You can specify only one destination.

" + }, + "SplunkDestinationConfiguration":{ + "shape":"SplunkDestinationConfiguration", + "documentation":"

The destination in Splunk. You can specify only one destination.

" + }, + "Tags":{ + "shape":"TagDeliveryStreamInputTagList", + "documentation":"

A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to AWS resources. Tags are metadata. For example, you can add friendly names and descriptions or other types of information that can help you distinguish the delivery stream. For more information about tags, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

You can specify up to 50 tags when creating a delivery stream.

" } - }, - "documentation":"

Contains the parameters for CreateDeliveryStream.

" + } }, "CreateDeliveryStreamOutput":{ "type":"structure", @@ -231,18 +356,46 @@ "shape":"DeliveryStreamARN", "documentation":"

The ARN of the delivery stream.

" } - }, - "documentation":"

Contains the output of CreateDeliveryStream.

" + } }, "Data":{ "type":"blob", "max":1024000, "min":0 }, - "DataTableColumns":{"type":"string"}, + "DataFormatConversionConfiguration":{ + "type":"structure", + "members":{ + "SchemaConfiguration":{ + "shape":"SchemaConfiguration", + "documentation":"

Specifies the AWS Glue Data Catalog table that contains the column information. This parameter is required if Enabled is set to true.

" + }, + "InputFormatConfiguration":{ + "shape":"InputFormatConfiguration", + "documentation":"

Specifies the deserializer that you want Kinesis Data Firehose to use to convert the format of your data from JSON. This parameter is required if Enabled is set to true.

" + }, + "OutputFormatConfiguration":{ + "shape":"OutputFormatConfiguration", + "documentation":"

Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data to the Parquet or ORC format. This parameter is required if Enabled is set to true.

" + }, + "Enabled":{ + "shape":"BooleanObject", + "documentation":"

Defaults to true. Set it to false if you want to disable format conversion while preserving the configuration details.

" + } + }, + "documentation":"

Specifies that you want Kinesis Data Firehose to convert data from the JSON format to the Parquet or ORC format before writing it to Amazon S3. Kinesis Data Firehose uses the serializer and deserializer that you specify, in addition to the column information from the AWS Glue table, to deserialize your input data from JSON and then serialize it to the Parquet or ORC format. For more information, see Kinesis Data Firehose Record Format Conversion.

" + }, + "DataTableColumns":{ + "type":"string", + "max":204800, + "min":0, + "pattern":".*" + }, "DataTableName":{ "type":"string", - "min":1 + "max":512, + "min":1, + "pattern":".*" }, "DeleteDeliveryStreamInput":{ "type":"structure", @@ -251,23 +404,32 @@ "DeliveryStreamName":{ "shape":"DeliveryStreamName", "documentation":"

The name of the delivery stream.

" + }, + "AllowForceDelete":{ + "shape":"BooleanObject", + "documentation":"

Set this to true if you want to delete the delivery stream even if Kinesis Data Firehose is unable to retire the grant for the CMK. Kinesis Data Firehose might be unable to retire the grant due to a customer error, such as when the CMK or the grant are in an invalid state. If you force deletion, you can then use the RevokeGrant operation to revoke the grant you gave to Kinesis Data Firehose. If a failure to retire the grant happens due to an AWS KMS issue, Kinesis Data Firehose keeps retrying the delete operation.

The default value is false.

" } - }, - "documentation":"

Contains the parameters for DeleteDeliveryStream.

" + } }, "DeleteDeliveryStreamOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of DeleteDeliveryStream.

" + } + }, + "DeliveryStartTimestamp":{"type":"timestamp"}, + "DeliveryStreamARN":{ + "type":"string", + "max":512, + "min":1, + "pattern":"arn:.*" }, - "DeliveryStreamARN":{"type":"string"}, "DeliveryStreamDescription":{ "type":"structure", "required":[ "DeliveryStreamName", "DeliveryStreamARN", "DeliveryStreamStatus", + "DeliveryStreamType", "VersionId", "Destinations", "HasMoreDestinations" @@ -279,15 +441,27 @@ }, "DeliveryStreamARN":{ "shape":"DeliveryStreamARN", - "documentation":"

The Amazon Resource Name (ARN) of the delivery stream.

" + "documentation":"

The Amazon Resource Name (ARN) of the delivery stream. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "DeliveryStreamStatus":{ "shape":"DeliveryStreamStatus", - "documentation":"

The status of the delivery stream.

" + "documentation":"

The status of the delivery stream. If the status of a delivery stream is CREATING_FAILED, this status doesn't change, and you can't invoke CreateDeliveryStream again on it. However, you can invoke the DeleteDeliveryStream operation to delete it.

" + }, + "FailureDescription":{ + "shape":"FailureDescription", + "documentation":"

Provides details in case one of the following operations fails due to an error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

" + }, + "DeliveryStreamEncryptionConfiguration":{ + "shape":"DeliveryStreamEncryptionConfiguration", + "documentation":"

Indicates the server-side encryption (SSE) status for the delivery stream.

" + }, + "DeliveryStreamType":{ + "shape":"DeliveryStreamType", + "documentation":"

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

" }, "VersionId":{ "shape":"DeliveryStreamVersionId", - "documentation":"

Used when calling the UpdateDestination operation. Each time the destination is updated for the delivery stream, the VersionId is changed, and the current VersionId is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.

" + "documentation":"

Each time the destination is updated for a delivery stream, the version ID is changed, and the current version ID is required when updating the destination. This is so that the service knows it is applying the changes to the correct version of the delivery stream.

" }, "CreateTimestamp":{ "shape":"Timestamp", @@ -297,6 +471,10 @@ "shape":"Timestamp", "documentation":"

The date and time that the delivery stream was last updated.

" }, + "Source":{ + "shape":"SourceDescription", + "documentation":"

If the DeliveryStreamType parameter is KinesisStreamAsSource, a SourceDescription object describing the source Kinesis data stream.

" + }, "Destinations":{ "shape":"DestinationDescriptionList", "documentation":"

The destinations.

" @@ -308,6 +486,74 @@ }, "documentation":"

Contains information about a delivery stream.

" }, + "DeliveryStreamEncryptionConfiguration":{ + "type":"structure", + "members":{ + "KeyARN":{ + "shape":"AWSKMSKeyARN", + "documentation":"

If KeyType is CUSTOMER_MANAGED_CMK, this field contains the ARN of the customer managed CMK. If KeyType is AWS_OWNED_CMK, DeliveryStreamEncryptionConfiguration doesn't contain a value for KeyARN.

" + }, + "KeyType":{ + "shape":"KeyType", + "documentation":"

Indicates the type of customer master key (CMK) that is used for encryption. The default setting is AWS_OWNED_CMK. For more information about CMKs, see Customer Master Keys (CMKs).

" + }, + "Status":{ + "shape":"DeliveryStreamEncryptionStatus", + "documentation":"

This is the server-side encryption (SSE) status for the delivery stream. For a full description of the different values of this status, see StartDeliveryStreamEncryption and StopDeliveryStreamEncryption. If this status is ENABLING_FAILED or DISABLING_FAILED, it is the status of the most recent attempt to enable or disable SSE, respectively.

" + }, + "FailureDescription":{ + "shape":"FailureDescription", + "documentation":"

Provides details in case one of the following operations fails due to an error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

" + } + }, + "documentation":"

Contains information about the server-side encryption (SSE) status for the delivery stream, the type customer master key (CMK) in use, if any, and the ARN of the CMK. You can get DeliveryStreamEncryptionConfiguration by invoking the DescribeDeliveryStream operation.

" + }, + "DeliveryStreamEncryptionConfigurationInput":{ + "type":"structure", + "required":["KeyType"], + "members":{ + "KeyARN":{ + "shape":"AWSKMSKeyARN", + "documentation":"

If you set KeyType to CUSTOMER_MANAGED_CMK, you must specify the Amazon Resource Name (ARN) of the CMK. If you set KeyType to AWS_OWNED_CMK, Kinesis Data Firehose uses a service-account CMK.

" + }, + "KeyType":{ + "shape":"KeyType", + "documentation":"

Indicates the type of customer master key (CMK) to use for encryption. The default setting is AWS_OWNED_CMK. For more information about CMKs, see Customer Master Keys (CMKs). When you invoke CreateDeliveryStream or StartDeliveryStreamEncryption with KeyType set to CUSTOMER_MANAGED_CMK, Kinesis Data Firehose invokes the Amazon KMS operation CreateGrant to create a grant that allows the Kinesis Data Firehose service to use the customer managed CMK to perform encryption and decryption. Kinesis Data Firehose manages that grant.

When you invoke StartDeliveryStreamEncryption to change the CMK for a delivery stream that is encrypted with a customer managed CMK, Kinesis Data Firehose schedules the grant it had on the old CMK for retirement.

You can use a CMK of type CUSTOMER_MANAGED_CMK to encrypt up to 500 delivery streams. If a CreateDeliveryStream or StartDeliveryStreamEncryption operation exceeds this limit, Kinesis Data Firehose throws a LimitExceededException.

To encrypt your delivery stream, use symmetric CMKs. Kinesis Data Firehose doesn't support asymmetric CMKs. For information about symmetric and asymmetric CMKs, see About Symmetric and Asymmetric CMKs in the AWS Key Management Service developer guide.

" + } + }, + "documentation":"

Specifies the type and Amazon Resource Name (ARN) of the CMK to use for Server-Side Encryption (SSE).

" + }, + "DeliveryStreamEncryptionStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "ENABLING", + "ENABLING_FAILED", + "DISABLED", + "DISABLING", + "DISABLING_FAILED" + ] + }, + "DeliveryStreamFailureType":{ + "type":"string", + "enum":[ + "RETIRE_KMS_GRANT_FAILED", + "CREATE_KMS_GRANT_FAILED", + "KMS_ACCESS_DENIED", + "DISABLED_KMS_KEY", + "INVALID_KMS_KEY", + "KMS_KEY_NOT_FOUND", + "KMS_OPT_IN_REQUIRED", + "CREATE_ENI_FAILED", + "DELETE_ENI_FAILED", + "SUBNET_NOT_FOUND", + "SECURITY_GROUP_NOT_FOUND", + "ENI_ACCESS_DENIED", + "SUBNET_ACCESS_DENIED", + "SECURITY_GROUP_ACCESS_DENIED", + "UNKNOWN_ERROR" + ] + }, "DeliveryStreamName":{ "type":"string", "max":64, @@ -322,10 +568,19 @@ "type":"string", "enum":[ "CREATING", + "CREATING_FAILED", "DELETING", + "DELETING_FAILED", "ACTIVE" ] }, + "DeliveryStreamType":{ + "type":"string", + "enum":[ + "DirectPut", + "KinesisStreamAsSource" + ] + }, "DeliveryStreamVersionId":{ "type":"string", "max":50, @@ -342,14 +597,13 @@ }, "Limit":{ "shape":"DescribeDeliveryStreamInputLimit", - "documentation":"

The limit on the number of destinations to return. Currently, you can have one destination per delivery stream.

" + "documentation":"

The limit on the number of destinations to return. You can have one destination per delivery stream.

" }, "ExclusiveStartDestinationId":{ "shape":"DestinationId", - "documentation":"

Specifies the destination ID to start returning the destination information. Currently Firehose supports one destination per delivery stream.

" + "documentation":"

The ID of the destination to start returning the destination information. Kinesis Data Firehose supports one destination per delivery stream.

" } - }, - "documentation":"

Contains the parameters for DescribeDeliveryStream.

" + } }, "DescribeDeliveryStreamInputLimit":{ "type":"integer", @@ -364,8 +618,21 @@ "shape":"DeliveryStreamDescription", "documentation":"

Information about the delivery stream.

" } + } + }, + "Deserializer":{ + "type":"structure", + "members":{ + "OpenXJsonSerDe":{ + "shape":"OpenXJsonSerDe", + "documentation":"

The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

" + }, + "HiveJsonSerDe":{ + "shape":"HiveJsonSerDe", + "documentation":"

The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.

" + } }, - "documentation":"

Contains the output of DescribeDeliveryStream.

" + "documentation":"

The deserializer you want Kinesis Data Firehose to use for converting the input data from JSON. Kinesis Data Firehose then serializes the data to its final format using the Serializer. Kinesis Data Firehose supports two types of deserializers: the Apache Hive JSON SerDe and the OpenX JSON SerDe.

" }, "DestinationDescription":{ "type":"structure", @@ -377,7 +644,11 @@ }, "S3DestinationDescription":{ "shape":"S3DestinationDescription", - "documentation":"

The Amazon S3 destination.

" + "documentation":"

[Deprecated] The destination in Amazon S3.

" + }, + "ExtendedS3DestinationDescription":{ + "shape":"ExtendedS3DestinationDescription", + "documentation":"

The destination in Amazon S3.

" }, "RedshiftDestinationDescription":{ "shape":"RedshiftDestinationDescription", @@ -386,6 +657,10 @@ "ElasticsearchDestinationDescription":{ "shape":"ElasticsearchDestinationDescription", "documentation":"

The destination in Amazon ES.

" + }, + "SplunkDestinationDescription":{ + "shape":"SplunkDestinationDescription", + "documentation":"

The destination in Splunk.

" } }, "documentation":"

Describes the destination for a delivery stream.

" @@ -397,7 +672,8 @@ "DestinationId":{ "type":"string", "max":100, - "min":1 + "min":1, + "pattern":"[a-zA-Z0-9-]+" }, "ElasticsearchBufferingHints":{ "type":"structure", @@ -408,7 +684,7 @@ }, "SizeInMBs":{ "shape":"ElasticsearchBufferingSizeInMBs", - "documentation":"

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting SizeInMBs to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, set SizeInMBs to be 10 MB or higher.

" + "documentation":"

Buffer incoming data to the specified size, in MBs, before delivering it to the destination. The default value is 5.

We recommend setting this parameter to a value greater than the amount of data you typically ingest into the delivery stream in 10 seconds. For example, if you typically ingest data at 1 MB/sec, the value should be 10 MB or higher.

" } }, "documentation":"

Describes the buffering to perform before delivering data to the Amazon ES destination.

" @@ -423,23 +699,31 @@ "max":100, "min":1 }, + "ElasticsearchClusterEndpoint":{ + "type":"string", + "max":512, + "min":1, + "pattern":"https:.*" + }, "ElasticsearchDestinationConfiguration":{ "type":"structure", "required":[ "RoleARN", - "DomainARN", "IndexName", - "TypeName", "S3Configuration" ], "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permission for DescribeElasticsearchDomain, DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after assuming RoleARN.

" + "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

Specify either ClusterEndpoint or DomainARN.

" + }, + "ClusterEndpoint":{ + "shape":"ElasticsearchClusterEndpoint", + "documentation":"

The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.

" }, "IndexName":{ "shape":"ElasticsearchIndexName", @@ -447,28 +731,39 @@ }, "TypeName":{ "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name.

" + "documentation":"

The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per index. If you try to specify a new type for an existing index that already has another type, Kinesis Data Firehose returns an error during run time.

For Elasticsearch 7.x, don't specify a TypeName.

" }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. Default value is OneDay.

" + "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. The default value is OneDay.

" }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", - "documentation":"

Buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" + "documentation":"

The buffering options. If no value is specified, the default values for ElasticsearchBufferingHints are used.

" }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).

" + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" }, "S3BackupMode":{ "shape":"ElasticsearchS3BackupMode", - "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for Amazon Elasticsearch Service Destination. Default value is FailedDocumentsOnly.

" + "documentation":"

Defines how documents should be delivered to Amazon S3. When it is set to FailedDocumentsOnly, Kinesis Data Firehose writes any documents that could not be indexed to the configured Amazon S3 destination, with elasticsearch-failed/ appended to the key prefix. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents with elasticsearch-failed/ appended to the prefix. For more information, see Amazon S3 Backup for the Amazon ES Destination. Default value is FailedDocumentsOnly.

" + }, + "S3Configuration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

The configuration for the backup Amazon S3 location.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" }, - "S3Configuration":{"shape":"S3DestinationConfiguration"}, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

The details of the VPC of the Amazon ES destination.

" } }, "documentation":"

Describes the configuration of a destination in Amazon ES.

" @@ -478,11 +773,15 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain.

" + "documentation":"

The ARN of the Amazon ES domain. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

Kinesis Data Firehose uses either ClusterEndpoint or DomainARN to send data to Amazon ES.

" + }, + "ClusterEndpoint":{ + "shape":"ElasticsearchClusterEndpoint", + "documentation":"

The endpoint to use when communicating with the cluster. Kinesis Data Firehose uses either this ClusterEndpoint or the DomainARN field to send data to Amazon ES.

" }, "IndexName":{ "shape":"ElasticsearchIndexName", @@ -490,7 +789,7 @@ }, "TypeName":{ "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name.

" + "documentation":"

The Elasticsearch type name. This applies to Elasticsearch 6.x and lower versions. For Elasticsearch 7.x, there's no value for TypeName.

" }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", @@ -498,20 +797,31 @@ }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", - "documentation":"

Buffering options.

" + "documentation":"

The buffering options.

" }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

Elasticsearch retry options.

" + "documentation":"

The Amazon ES retry options.

" }, "S3BackupMode":{ "shape":"ElasticsearchS3BackupMode", - "documentation":"

Amazon S3 backup mode.

" + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3DestinationDescription":{ + "shape":"S3DestinationDescription", + "documentation":"

The Amazon S3 destination.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" }, - "S3DestinationDescription":{"shape":"S3DestinationDescription"}, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

CloudWatch logging options.

" + "documentation":"

The Amazon CloudWatch logging options.

" + }, + "VpcConfigurationDescription":{ + "shape":"VpcConfigurationDescription", + "documentation":"

The details of the VPC of the Amazon ES destination.

" } }, "documentation":"

The destination description in Amazon ES.

" @@ -521,11 +831,15 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the IAM role to be assumed by Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Amazon S3 Bucket Access.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to be assumed by Kinesis Data Firehose for calling the Amazon ES Configuration API and for indexing documents. For more information, see Grant Kinesis Data Firehose Access to an Amazon S3 Destination and Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "DomainARN":{ "shape":"ElasticsearchDomainARN", - "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permission for DescribeElasticsearchDomain, DescribeElasticsearchDomains , and DescribeElasticsearchDomainConfig after assuming RoleARN.

" + "documentation":"

The ARN of the Amazon ES domain. The IAM role must have permissions for DescribeElasticsearchDomain, DescribeElasticsearchDomains, and DescribeElasticsearchDomainConfig after assuming the IAM role specified in RoleARN. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

Specify either ClusterEndpoint or DomainARN.

" + }, + "ClusterEndpoint":{ + "shape":"ElasticsearchClusterEndpoint", + "documentation":"

The endpoint to use when communicating with the cluster. Specify either this ClusterEndpoint or the DomainARN field.

" }, "IndexName":{ "shape":"ElasticsearchIndexName", @@ -533,24 +847,31 @@ }, "TypeName":{ "shape":"ElasticsearchTypeName", - "documentation":"

The Elasticsearch type name.

" + "documentation":"

The Elasticsearch type name. For Elasticsearch 6.x, there can be only one type per index. If you try to specify a new type for an existing index that already has another type, Kinesis Data Firehose returns an error during runtime.

If you upgrade Elasticsearch from 6.x to 7.x and don’t update your delivery stream, Kinesis Data Firehose still delivers data to Elasticsearch with the old index name and type name. If you want to update your delivery stream with a new index name, provide an empty string for TypeName.

" }, "IndexRotationPeriod":{ "shape":"ElasticsearchIndexRotationPeriod", - "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to the IndexName to facilitate the expiration of old data. For more information, see Index Rotation for Amazon Elasticsearch Service Destination. Default value is OneDay.

" + "documentation":"

The Elasticsearch index rotation period. Index rotation appends a timestamp to IndexName to facilitate the expiration of old data. For more information, see Index Rotation for the Amazon ES Destination. Default value is OneDay.

" }, "BufferingHints":{ "shape":"ElasticsearchBufferingHints", - "documentation":"

Buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" + "documentation":"

The buffering options. If no value is specified, ElasticsearchBufferingHints object default values are used.

" }, "RetryOptions":{ "shape":"ElasticsearchRetryOptions", - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES. Default value is 300 (5 minutes).

" + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES. The default value is 300 (5 minutes).

" + }, + "S3Update":{ + "shape":"S3DestinationUpdate", + "documentation":"

The Amazon S3 destination.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" }, - "S3Update":{"shape":"S3DestinationUpdate"}, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes an update for a destination in Amazon ES.

" @@ -564,7 +885,8 @@ "ElasticsearchIndexName":{ "type":"string", "max":80, - "min":1 + "min":1, + "pattern":".*" }, "ElasticsearchIndexRotationPeriod":{ "type":"string", @@ -586,10 +908,10 @@ "members":{ "DurationInSeconds":{ "shape":"ElasticsearchRetryDurationInSeconds", - "documentation":"

After an initial failure to deliver to Amazon ES, the total amount of time during which Firehose re-attempts delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" + "documentation":"

After an initial failure to deliver to Amazon ES, the total amount of time during which Kinesis Data Firehose retries delivery (including the first attempt). After this time has elapsed, the failed documents are written to Amazon S3. Default value is 300 seconds (5 minutes). A value of 0 (zero) results in no retries.

" } }, - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon ES.

" + "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon ES.

" }, "ElasticsearchS3BackupMode":{ "type":"string", @@ -601,14 +923,15 @@ "ElasticsearchTypeName":{ "type":"string", "max":100, - "min":1 + "min":0, + "pattern":".*" }, "EncryptionConfiguration":{ "type":"structure", "members":{ "NoEncryptionConfig":{ "shape":"NoEncryptionConfig", - "documentation":"

Specifically override existing encryption information to ensure no encryption is used.

" + "documentation":"

Specifically override existing encryption information to ensure that no encryption is used.

" }, "KMSEncryptionConfig":{ "shape":"KMSEncryptionConfig", @@ -619,97 +942,707 @@ }, "ErrorCode":{"type":"string"}, "ErrorMessage":{"type":"string"}, - "IntervalInSeconds":{ - "type":"integer", - "max":900, - "min":60 - }, - "InvalidArgumentException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" - } - }, - "documentation":"

The specified input parameter has an value that is not valid.

", - "exception":true + "ErrorOutputPrefix":{ + "type":"string", + "max":1024, + "min":0, + "pattern":".*" }, - "KMSEncryptionConfig":{ + "ExtendedS3DestinationConfiguration":{ "type":"structure", - "required":["AWSKMSKeyARN"], + "required":[ + "RoleARN", + "BucketARN" + ], "members":{ - "AWSKMSKeyARN":{ - "shape":"AWSKMSKeyARN", - "documentation":"

The ARN of the encryption key. Must belong to the same region as the destination Amazon S3 bucket.

" + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" + }, + "BufferingHints":{ + "shape":"BufferingHints", + "documentation":"

The buffering option.

" + }, + "CompressionFormat":{ + "shape":"CompressionFormat", + "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"S3BackupMode", + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3BackupConfiguration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

The configuration for backup in Amazon S3.

" + }, + "DataFormatConversionConfiguration":{ + "shape":"DataFormatConversionConfiguration", + "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" } }, - "documentation":"

Describes an encryption key for a destination in Amazon S3.

" + "documentation":"

Describes the configuration of a destination in Amazon S3.

" }, - "LimitExceededException":{ + "ExtendedS3DestinationDescription":{ "type":"structure", + "required":[ + "RoleARN", + "BucketARN", + "BufferingHints", + "CompressionFormat", + "EncryptionConfiguration" + ], "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

A message that provides information about the error.

" + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" + }, + "BufferingHints":{ + "shape":"BufferingHints", + "documentation":"

The buffering option.

" + }, + "CompressionFormat":{ + "shape":"CompressionFormat", + "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"S3BackupMode", + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3BackupDescription":{ + "shape":"S3DestinationDescription", + "documentation":"

The configuration for backup in Amazon S3.

" + }, + "DataFormatConversionConfiguration":{ + "shape":"DataFormatConversionConfiguration", + "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" } }, - "documentation":"

You have already reached the limit for a requested resource.

", - "exception":true + "documentation":"

Describes a destination in Amazon S3.

" }, - "ListDeliveryStreamsInput":{ + "ExtendedS3DestinationUpdate":{ "type":"structure", "members":{ - "Limit":{ - "shape":"ListDeliveryStreamsInputLimit", - "documentation":"

The maximum number of delivery streams to list.

" + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, - "ExclusiveStartDeliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The name of the delivery stream to start the list with.

" + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" + }, + "BufferingHints":{ + "shape":"BufferingHints", + "documentation":"

The buffering option.

" + }, + "CompressionFormat":{ + "shape":"CompressionFormat", + "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration. If no value is specified, the default is no encryption.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"S3BackupMode", + "documentation":"

Enables or disables Amazon S3 backup mode.

" + }, + "S3BackupUpdate":{ + "shape":"S3DestinationUpdate", + "documentation":"

The Amazon S3 destination for backup.

" + }, + "DataFormatConversionConfiguration":{ + "shape":"DataFormatConversionConfiguration", + "documentation":"

The serializer, deserializer, and schema for converting data from the JSON format to the Parquet or ORC format before writing it to Amazon S3.

" + } + }, + "documentation":"

Describes an update for a destination in Amazon S3.

" + }, + "FailureDescription":{ + "type":"structure", + "required":[ + "Type", + "Details" + ], + "members":{ + "Type":{ + "shape":"DeliveryStreamFailureType", + "documentation":"

The type of error that caused the failure.

" + }, + "Details":{ + "shape":"NonEmptyString", + "documentation":"

A message providing details about the error that caused the failure.

" + } + }, + "documentation":"

Provides details in case one of the following operations fails due to an error related to KMS: CreateDeliveryStream, DeleteDeliveryStream, StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.

" + }, + "HECAcknowledgmentTimeoutInSeconds":{ + "type":"integer", + "max":600, + "min":180 + }, + "HECEndpoint":{ + "type":"string", + "max":2048, + "min":0, + "pattern":".*" + }, + "HECEndpointType":{ + "type":"string", + "enum":[ + "Raw", + "Event" + ] + }, + "HECToken":{ + "type":"string", + "max":2048, + "min":0, + "pattern":".*" + }, + "HiveJsonSerDe":{ + "type":"structure", + "members":{ + "TimestampFormats":{ + "shape":"ListOfNonEmptyStrings", + "documentation":"

Indicates how you want Kinesis Data Firehose to parse the date and timestamps that may be present in your input data JSON. To specify these format strings, follow the pattern syntax of JodaTime's DateTimeFormat format strings. For more information, see Class DateTimeFormat. You can also use the special value millis to parse timestamps in epoch milliseconds. If you don't specify a format, Kinesis Data Firehose uses java.sql.Timestamp::valueOf by default.

" + } + }, + "documentation":"

The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the OpenX SerDe.

" + }, + "InputFormatConfiguration":{ + "type":"structure", + "members":{ + "Deserializer":{ + "shape":"Deserializer", + "documentation":"

Specifies which deserializer to use. You can choose either the Apache Hive JSON SerDe or the OpenX JSON SerDe. If both are non-null, the server rejects the request.

" + } + }, + "documentation":"

Specifies the deserializer you want to use to convert the format of the input data. This parameter is required if Enabled is set to true.

" + }, + "IntervalInSeconds":{ + "type":"integer", + "max":900, + "min":60 + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The specified input parameter has a value that is not valid.

", + "exception":true + }, + "InvalidKMSResourceException":{ + "type":"structure", + "members":{ + "code":{"shape":"ErrorCode"}, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Kinesis Data Firehose throws this exception when an attempt to put records or to start or stop delivery stream encryption fails. This happens when the KMS service throws one of the following exception types: AccessDeniedException, InvalidStateException, DisabledException, or NotFoundException.

", + "exception":true + }, + "KMSEncryptionConfig":{ + "type":"structure", + "required":["AWSKMSKeyARN"], + "members":{ + "AWSKMSKeyARN":{ + "shape":"AWSKMSKeyARN", + "documentation":"

The Amazon Resource Name (ARN) of the encryption key. Must belong to the same AWS Region as the destination Amazon S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" } }, - "documentation":"

Contains the parameters for ListDeliveryStreams.

" + "documentation":"

Describes an encryption key for a destination in Amazon S3.

" + }, + "KeyType":{ + "type":"string", + "enum":[ + "AWS_OWNED_CMK", + "CUSTOMER_MANAGED_CMK" + ] + }, + "KinesisStreamARN":{ + "type":"string", + "max":512, + "min":1, + "pattern":"arn:.*" + }, + "KinesisStreamSourceConfiguration":{ + "type":"structure", + "required":[ + "KinesisStreamARN", + "RoleARN" + ], + "members":{ + "KinesisStreamARN":{ + "shape":"KinesisStreamARN", + "documentation":"

The ARN of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the role that provides access to the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format.

" + } + }, + "documentation":"

The stream and role Amazon Resource Names (ARNs) for a Kinesis data stream used as the source for a delivery stream.

" + }, + "KinesisStreamSourceDescription":{ + "type":"structure", + "members":{ + "KinesisStreamARN":{ + "shape":"KinesisStreamARN", + "documentation":"

The Amazon Resource Name (ARN) of the source Kinesis data stream. For more information, see Amazon Kinesis Data Streams ARN Format.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the role used by the source Kinesis data stream. For more information, see AWS Identity and Access Management (IAM) ARN Format.

" + }, + "DeliveryStartTimestamp":{ + "shape":"DeliveryStartTimestamp", + "documentation":"

Kinesis Data Firehose starts retrieving records from the Kinesis data stream starting with this timestamp.

" + } + }, + "documentation":"

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

You have already reached the limit for a requested resource.

", + "exception":true + }, + "ListDeliveryStreamsInput":{ + "type":"structure", + "members":{ + "Limit":{ + "shape":"ListDeliveryStreamsInputLimit", + "documentation":"

The maximum number of delivery streams to list. The default value is 10.

" + }, + "DeliveryStreamType":{ + "shape":"DeliveryStreamType", + "documentation":"

The delivery stream type. This can be one of the following values:

  • DirectPut: Provider applications access the delivery stream directly.

  • KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source.

This parameter is optional. If this parameter is omitted, delivery streams of all types are returned.

" + }, + "ExclusiveStartDeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The list of delivery streams returned by this call to ListDeliveryStreams will start with the delivery stream whose name comes alphabetically immediately after the name you specify in ExclusiveStartDeliveryStreamName.

" + } + } }, "ListDeliveryStreamsInputLimit":{ "type":"integer", "max":10000, "min":1 }, - "ListDeliveryStreamsOutput":{ + "ListDeliveryStreamsOutput":{ + "type":"structure", + "required":[ + "DeliveryStreamNames", + "HasMoreDeliveryStreams" + ], + "members":{ + "DeliveryStreamNames":{ + "shape":"DeliveryStreamNameList", + "documentation":"

The names of the delivery streams.

" + }, + "HasMoreDeliveryStreams":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether there are more delivery streams available to list.

" + } + } + }, + "ListOfNonEmptyStrings":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "ListOfNonEmptyStringsWithoutWhitespace":{ + "type":"list", + "member":{"shape":"NonEmptyStringWithoutWhitespace"} + }, + "ListTagsForDeliveryStreamInput":{ + "type":"structure", + "required":["DeliveryStreamName"], + "members":{ + "DeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the delivery stream whose tags you want to list.

" + }, + "ExclusiveStartTagKey":{ + "shape":"TagKey", + "documentation":"

The key to use as the starting point for the list of tags. If you set this parameter, ListTagsForDeliveryStream gets all tags that occur after ExclusiveStartTagKey.

" + }, + "Limit":{ + "shape":"ListTagsForDeliveryStreamInputLimit", + "documentation":"

The number of tags to return. If this number is less than the total number of tags associated with the delivery stream, HasMoreTags is set to true in the response. To list additional tags, set ExclusiveStartTagKey to the last key in the response.

" + } + } + }, + "ListTagsForDeliveryStreamInputLimit":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListTagsForDeliveryStreamOutput":{ + "type":"structure", + "required":[ + "Tags", + "HasMoreTags" + ], + "members":{ + "Tags":{ + "shape":"ListTagsForDeliveryStreamOutputTagList", + "documentation":"

A list of tags associated with DeliveryStreamName, starting with the first tag after ExclusiveStartTagKey and up to the specified Limit.

" + }, + "HasMoreTags":{ + "shape":"BooleanObject", + "documentation":"

If this is true in the response, more tags are available. To list the remaining tags, set ExclusiveStartTagKey to the key of the last tag returned and call ListTagsForDeliveryStream again.

" + } + } + }, + "ListTagsForDeliveryStreamOutputTagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "LogGroupName":{ + "type":"string", + "max":512, + "min":0, + "pattern":"[\\.\\-_/#A-Za-z0-9]*" + }, + "LogStreamName":{ + "type":"string", + "max":512, + "min":0, + "pattern":"[^:*]*" + }, + "NoEncryptionConfig":{ + "type":"string", + "enum":["NoEncryption"] + }, + "NonEmptyString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^(?!\\s*$).+" + }, + "NonEmptyStringWithoutWhitespace":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^\\S+$" + }, + "NonNegativeIntegerObject":{ + "type":"integer", + "min":0 + }, + "OpenXJsonSerDe":{ + "type":"structure", + "members":{ + "ConvertDotsInJsonKeysToUnderscores":{ + "shape":"BooleanObject", + "documentation":"

When set to true, specifies that the names of the keys include dots and that you want Kinesis Data Firehose to replace them with underscores. This is useful because Apache Hive does not allow dots in column names. For example, if the JSON contains a key whose name is \"a.b\", you can define the column name to be \"a_b\" when using this option.

The default is false.

" + }, + "CaseInsensitive":{ + "shape":"BooleanObject", + "documentation":"

When set to true, which is the default, Kinesis Data Firehose converts JSON keys to lowercase before deserializing them.

" + }, + "ColumnToJsonKeyMappings":{ + "shape":"ColumnToJsonKeyMappings", + "documentation":"

Maps column names to JSON keys that aren't identical to the column names. This is useful when the JSON contains keys that are Hive keywords. For example, timestamp is a Hive keyword. If you have a JSON key named timestamp, set this parameter to {\"ts\": \"timestamp\"} to map this key to a column named ts.

" + } + }, + "documentation":"

The OpenX SerDe. Used by Kinesis Data Firehose for deserializing data, which means converting it from the JSON format in preparation for serializing it to the Parquet or ORC format. This is one of two deserializers you can choose, depending on which one offers the functionality you need. The other option is the native Hive / HCatalog JsonSerDe.

" + }, + "OrcCompression":{ + "type":"string", + "enum":[ + "NONE", + "ZLIB", + "SNAPPY" + ] + }, + "OrcFormatVersion":{ + "type":"string", + "enum":[ + "V0_11", + "V0_12" + ] + }, + "OrcRowIndexStride":{ + "type":"integer", + "min":1000 + }, + "OrcSerDe":{ + "type":"structure", + "members":{ + "StripeSizeBytes":{ + "shape":"OrcStripeSizeBytes", + "documentation":"

The number of bytes in each stripe. The default is 64 MiB and the minimum is 8 MiB.

" + }, + "BlockSizeBytes":{ + "shape":"BlockSizeBytes", + "documentation":"

The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

" + }, + "RowIndexStride":{ + "shape":"OrcRowIndexStride", + "documentation":"

The number of rows between index entries. The default is 10,000 and the minimum is 1,000.

" + }, + "EnablePadding":{ + "shape":"BooleanObject", + "documentation":"

Set this to true to indicate that you want stripes to be padded to the HDFS block boundaries. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is false.

" + }, + "PaddingTolerance":{ + "shape":"Proportion", + "documentation":"

A number between 0 and 1 that defines the tolerance for block padding as a decimal fraction of stripe size. The default value is 0.05, which means 5 percent of stripe size.

For the default values of 64 MiB ORC stripes and 256 MiB HDFS blocks, the default block padding tolerance of 5 percent reserves a maximum of 3.2 MiB for padding within the 256 MiB block. In such a case, if the available size within the block is more than 3.2 MiB, a new, smaller stripe is inserted to fit within that space. This ensures that no stripe crosses block boundaries and causes remote reads within a node-local task.

Kinesis Data Firehose ignores this parameter when OrcSerDe$EnablePadding is false.

" + }, + "Compression":{ + "shape":"OrcCompression", + "documentation":"

The compression code to use over data blocks. The default is SNAPPY.

" + }, + "BloomFilterColumns":{ + "shape":"ListOfNonEmptyStringsWithoutWhitespace", + "documentation":"

The column names for which you want Kinesis Data Firehose to create bloom filters. The default is null.

" + }, + "BloomFilterFalsePositiveProbability":{ + "shape":"Proportion", + "documentation":"

The Bloom filter false positive probability (FPP). The lower the FPP, the bigger the Bloom filter. The default value is 0.05, the minimum is 0, and the maximum is 1.

" + }, + "DictionaryKeyThreshold":{ + "shape":"Proportion", + "documentation":"

Represents the fraction of the total number of non-null rows. To turn off dictionary encoding, set this fraction to a number that is less than the number of distinct keys in a dictionary. To always use dictionary encoding, set this threshold to 1.

" + }, + "FormatVersion":{ + "shape":"OrcFormatVersion", + "documentation":"

The version of the file to write. The possible values are V0_11 and V0_12. The default is V0_12.

" + } + }, + "documentation":"

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

" + }, + "OrcStripeSizeBytes":{ + "type":"integer", + "min":8388608 + }, + "OutputFormatConfiguration":{ + "type":"structure", + "members":{ + "Serializer":{ + "shape":"Serializer", + "documentation":"

Specifies which serializer to use. You can choose either the ORC SerDe or the Parquet SerDe. If both are non-null, the server rejects the request.

" + } + }, + "documentation":"

Specifies the serializer that you want Kinesis Data Firehose to use to convert the format of your data before it writes it to Amazon S3. This parameter is required if Enabled is set to true.

" + }, + "ParquetCompression":{ + "type":"string", + "enum":[ + "UNCOMPRESSED", + "GZIP", + "SNAPPY" + ] + }, + "ParquetPageSizeBytes":{ + "type":"integer", + "min":65536 + }, + "ParquetSerDe":{ + "type":"structure", + "members":{ + "BlockSizeBytes":{ + "shape":"BlockSizeBytes", + "documentation":"

The Hadoop Distributed File System (HDFS) block size. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 256 MiB and the minimum is 64 MiB. Kinesis Data Firehose uses this value for padding calculations.

" + }, + "PageSizeBytes":{ + "shape":"ParquetPageSizeBytes", + "documentation":"

The Parquet page size. Column chunks are divided into pages. A page is conceptually an indivisible unit (in terms of compression and encoding). The minimum value is 64 KiB and the default is 1 MiB.

" + }, + "Compression":{ + "shape":"ParquetCompression", + "documentation":"

The compression code to use over data blocks. The possible values are UNCOMPRESSED, SNAPPY, and GZIP, with the default being SNAPPY. Use SNAPPY for higher decompression speed. Use GZIP if the compression ratio is more important than speed.

" + }, + "EnableDictionaryCompression":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether to enable dictionary compression.

" + }, + "MaxPaddingBytes":{ + "shape":"NonNegativeIntegerObject", + "documentation":"

The maximum amount of padding to apply. This is useful if you intend to copy the data from Amazon S3 to HDFS before querying. The default is 0.

" + }, + "WriterVersion":{ + "shape":"ParquetWriterVersion", + "documentation":"

Indicates the version of row format to output. The possible values are V1 and V2. The default is V1.

" + } + }, + "documentation":"

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

" + }, + "ParquetWriterVersion":{ + "type":"string", + "enum":[ + "V1", + "V2" + ] + }, + "Password":{ + "type":"string", + "max":512, + "min":6, + "pattern":".*", + "sensitive":true + }, + "Prefix":{ + "type":"string", + "max":1024, + "min":0, + "pattern":".*" + }, + "ProcessingConfiguration":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"BooleanObject", + "documentation":"

Enables or disables data processing.

" + }, + "Processors":{ + "shape":"ProcessorList", + "documentation":"

The data processors.

" + } + }, + "documentation":"

Describes a data processing configuration.

" + }, + "Processor":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"ProcessorType", + "documentation":"

The type of processor.

" + }, + "Parameters":{ + "shape":"ProcessorParameterList", + "documentation":"

The processor parameters.

" + } + }, + "documentation":"

Describes a data processor.

" + }, + "ProcessorList":{ + "type":"list", + "member":{"shape":"Processor"} + }, + "ProcessorParameter":{ "type":"structure", "required":[ - "DeliveryStreamNames", - "HasMoreDeliveryStreams" + "ParameterName", + "ParameterValue" ], "members":{ - "DeliveryStreamNames":{ - "shape":"DeliveryStreamNameList", - "documentation":"

The names of the delivery streams.

" + "ParameterName":{ + "shape":"ProcessorParameterName", + "documentation":"

The name of the parameter.

" }, - "HasMoreDeliveryStreams":{ - "shape":"BooleanObject", - "documentation":"

Indicates whether there are more delivery streams available to list.

" + "ParameterValue":{ + "shape":"ProcessorParameterValue", + "documentation":"

The parameter value.

" } }, - "documentation":"

Contains the output of ListDeliveryStreams.

" + "documentation":"

Describes the processor parameter.

" }, - "LogGroupName":{"type":"string"}, - "LogStreamName":{"type":"string"}, - "NoEncryptionConfig":{ + "ProcessorParameterList":{ + "type":"list", + "member":{"shape":"ProcessorParameter"} + }, + "ProcessorParameterName":{ "type":"string", - "enum":["NoEncryption"] + "enum":[ + "LambdaArn", + "NumberOfRetries", + "RoleArn", + "BufferSizeInMBs", + "BufferIntervalInSeconds" + ] }, - "NonNegativeIntegerObject":{ - "type":"integer", - "min":0 + "ProcessorParameterValue":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^(?!\\s*$).+" }, - "Password":{ + "ProcessorType":{ "type":"string", - "min":6, - "sensitive":true + "enum":["Lambda"] + }, + "Proportion":{ + "type":"double", + "max":1, + "min":0 }, - "Prefix":{"type":"string"}, "PutRecordBatchInput":{ "type":"structure", "required":[ @@ -725,8 +1658,7 @@ "shape":"PutRecordBatchRequestEntryList", "documentation":"

One or more records.

" } - }, - "documentation":"

Contains the parameters for PutRecordBatch.

" + } }, "PutRecordBatchOutput":{ "type":"structure", @@ -737,14 +1669,17 @@ "members":{ "FailedPutCount":{ "shape":"NonNegativeIntegerObject", - "documentation":"

The number of unsuccessfully written records.

" + "documentation":"

The number of records that might have failed processing. This number might be greater than 0 even if the PutRecordBatch call succeeds. Check FailedPutCount to determine whether there are records that you need to resend.

" + }, + "Encrypted":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether server-side encryption (SSE) was enabled during this operation.

" }, "RequestResponses":{ "shape":"PutRecordBatchResponseEntryList", - "documentation":"

The results for the individual records. The index of each element matches the same index in which records were sent.

" + "documentation":"

The results array. For each record, the index of the response element is the same as the index used in the request array.

" } - }, - "documentation":"

Contains the output of PutRecordBatch.

" + } }, "PutRecordBatchRequestEntryList":{ "type":"list", @@ -791,8 +1726,7 @@ "shape":"Record", "documentation":"

The record.

" } - }, - "documentation":"

Contains the parameters for PutRecord.

" + } }, "PutRecordOutput":{ "type":"structure", @@ -801,9 +1735,12 @@ "RecordId":{ "shape":"PutResponseRecordId", "documentation":"

The ID of the record.

" + }, + "Encrypted":{ + "shape":"BooleanObject", + "documentation":"

Indicates whether server-side encryption (SSE) was enabled during this operation.

" } - }, - "documentation":"

Contains the output of PutRecord.

" + } }, "PutResponseRecordId":{ "type":"string", @@ -815,7 +1752,7 @@ "members":{ "Data":{ "shape":"Data", - "documentation":"

The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KB.

" + "documentation":"

The data blob, which is base64-encoded when the blob is serialized. The maximum size of the data blob, before base64-encoding, is 1,000 KiB.

" } }, "documentation":"

The unit of data in a delivery stream.

" @@ -833,7 +1770,7 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "ClusterJDBCURL":{ "shape":"ClusterJDBCURL", @@ -853,15 +1790,27 @@ }, "RetryOptions":{ "shape":"RedshiftRetryOptions", - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" }, "S3Configuration":{ "shape":"S3DestinationConfiguration", - "documentation":"

The S3 configuration for the intermediate location from which Amazon Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" + "documentation":"

The configuration for the intermediate Amazon S3 location from which Amazon Redshift obtains data. Restrictions are described in the topic for CreateDeliveryStream.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationConfiguration.S3Configuration because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"RedshiftS3BackupMode", + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3BackupConfiguration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

The configuration for backup in Amazon S3.

" }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes the configuration of a destination in Amazon Redshift.

" @@ -878,7 +1827,7 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "ClusterJDBCURL":{ "shape":"ClusterJDBCURL", @@ -894,15 +1843,27 @@ }, "RetryOptions":{ "shape":"RedshiftRetryOptions", - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" }, "S3DestinationDescription":{ "shape":"S3DestinationDescription", "documentation":"

The Amazon S3 destination.

" }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"RedshiftS3BackupMode", + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3BackupDescription":{ + "shape":"S3DestinationDescription", + "documentation":"

The configuration for backup in Amazon S3.

" + }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes a destination in Amazon Redshift.

" @@ -912,7 +1873,7 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "ClusterJDBCURL":{ "shape":"ClusterJDBCURL", @@ -932,15 +1893,27 @@ }, "RetryOptions":{ "shape":"RedshiftRetryOptions", - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift. Default value is 3600 (60 minutes).

" }, "S3Update":{ "shape":"S3DestinationUpdate", - "documentation":"

The Amazon S3 destination.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationUpdate.S3Update because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" + "documentation":"

The Amazon S3 destination.

The compression formats SNAPPY or ZIP cannot be specified in RedshiftDestinationUpdate.S3Update because the Amazon Redshift COPY operation that reads from the S3 bucket doesn't support these compression formats.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "S3BackupMode":{ + "shape":"RedshiftS3BackupMode", + "documentation":"

The Amazon S3 backup mode.

" + }, + "S3BackupUpdate":{ + "shape":"S3DestinationUpdate", + "documentation":"

The Amazon S3 destination for backup.

" }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes an update for a destination in Amazon Redshift.

" @@ -955,10 +1928,17 @@ "members":{ "DurationInSeconds":{ "shape":"RedshiftRetryDurationInSeconds", - "documentation":"

The length of time during which Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" + "documentation":"

The length of time during which Kinesis Data Firehose retries delivery after a failure, starting from the initial request and including the first attempt. The default value is 3600 seconds (60 minutes). Kinesis Data Firehose does not retry if the value of DurationInSeconds is 0 (zero) or if the first delivery attempt takes longer than the current value.

" } }, - "documentation":"

Configures retry behavior in the event that Firehose is unable to deliver documents to Amazon Redshift.

" + "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Amazon Redshift.

" + }, + "RedshiftS3BackupMode":{ + "type":"string", + "enum":[ + "Disabled", + "Enabled" + ] }, "ResourceInUseException":{ "type":"structure", @@ -988,6 +1968,13 @@ "min":1, "pattern":"arn:.*" }, + "S3BackupMode":{ + "type":"string", + "enum":[ + "Disabled", + "Enabled" + ] + }, "S3DestinationConfiguration":{ "type":"structure", "required":[ @@ -997,19 +1984,23 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "BucketARN":{ "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket.

" + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" }, "BufferingHints":{ "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" + "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" }, "CompressionFormat":{ "shape":"CompressionFormat", @@ -1021,7 +2012,7 @@ }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes the configuration of a destination in Amazon S3.

" @@ -1038,23 +2029,27 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "BucketARN":{ "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket.

" + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" }, "BufferingHints":{ "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" + "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" }, "CompressionFormat":{ "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is NOCOMPRESSION.

" + "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

" }, "EncryptionConfiguration":{ "shape":"EncryptionConfiguration", @@ -1062,7 +2057,7 @@ }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes a destination in Amazon S3.

" @@ -1072,23 +2067,27 @@ "members":{ "RoleARN":{ "shape":"RoleARN", - "documentation":"

The ARN of the AWS credentials.

" + "documentation":"

The Amazon Resource Name (ARN) of the AWS credentials. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "BucketARN":{ "shape":"BucketARN", - "documentation":"

The ARN of the S3 bucket.

" + "documentation":"

The ARN of the S3 bucket. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" }, "Prefix":{ "shape":"Prefix", - "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered S3 files. You can specify an extra prefix to be added in front of the time format prefix. Note that if the prefix ends with a slash, it appears as a folder in the S3 bucket. For more information, see Amazon S3 Object Name Format in the Amazon Kinesis Firehose Developer Guide.

" + "documentation":"

The \"YYYY/MM/DD/HH\" time format prefix is automatically used for delivered Amazon S3 files. You can also specify a custom prefix, as described in Custom Prefixes for Amazon S3 Objects.

" + }, + "ErrorOutputPrefix":{ + "shape":"ErrorOutputPrefix", + "documentation":"

A prefix that Kinesis Data Firehose evaluates and adds to failed records before writing them to S3. This prefix appears immediately following the bucket name. For information about how to specify this prefix, see Custom Prefixes for Amazon S3 Objects.

" }, "BufferingHints":{ "shape":"BufferingHints", - "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" + "documentation":"

The buffering option. If no value is specified, BufferingHints object default values are used.

" }, "CompressionFormat":{ "shape":"CompressionFormat", - "documentation":"

The compression format. If no value is specified, the default is NOCOMPRESSION.

The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

" + "documentation":"

The compression format. If no value is specified, the default is UNCOMPRESSED.

The compression formats SNAPPY or ZIP cannot be specified for Amazon Redshift destinations because they are not supported by the Amazon Redshift COPY operation that reads from the S3 bucket.

" }, "EncryptionConfiguration":{ "shape":"EncryptionConfiguration", @@ -1096,11 +2095,61 @@ }, "CloudWatchLoggingOptions":{ "shape":"CloudWatchLoggingOptions", - "documentation":"

Describes CloudWatch logging options for your delivery stream.

" + "documentation":"

The CloudWatch logging options for your delivery stream.

" } }, "documentation":"

Describes an update for a destination in Amazon S3.

" }, + "SchemaConfiguration":{ + "type":"structure", + "members":{ + "RoleARN":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

The role that Kinesis Data Firehose can use to access AWS Glue. This role must be in the same account you use for Kinesis Data Firehose. Cross-account roles aren't allowed.

" + }, + "CatalogId":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

The ID of the AWS Glue Data Catalog. If you don't supply this, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

Specifies the name of the AWS Glue database that contains the schema for the output data.

" + }, + "TableName":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

Specifies the AWS Glue table that contains the column information that constitutes your data schema.

" + }, + "Region":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

If you don't specify an AWS Region, the default is the current Region.

" + }, + "VersionId":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

Specifies the table version for the output data schema. If you don't specify this version ID, or if you set it to LATEST, Kinesis Data Firehose uses the most recent version. This means that any updates to the table are automatically picked up.

" + } + }, + "documentation":"

Specifies the schema to which you want Kinesis Data Firehose to configure your data before it writes it to Amazon S3. This parameter is required if Enabled is set to true.

" + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"NonEmptyStringWithoutWhitespace"}, + "max":5, + "min":1 + }, + "Serializer":{ + "type":"structure", + "members":{ + "ParquetSerDe":{ + "shape":"ParquetSerDe", + "documentation":"

A serializer to use for converting data to the Parquet format before storing it in Amazon S3. For more information, see Apache Parquet.

" + }, + "OrcSerDe":{ + "shape":"OrcSerDe", + "documentation":"

A serializer to use for converting data to the ORC format before storing it in Amazon S3. For more information, see Apache ORC.

" + } + }, + "documentation":"

The serializer that you want Kinesis Data Firehose to use to convert data to the target format before writing it to Amazon S3. Kinesis Data Firehose supports two types of serializers: the ORC SerDe and the Parquet SerDe.

" + }, "ServiceUnavailableException":{ "type":"structure", "members":{ @@ -1109,7 +2158,7 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

The service is unavailable, back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see Amazon Kinesis Firehose Limits.

", + "documentation":"

The service is unavailable. Back off and retry the operation. If you continue to see the exception, throughput limits for the delivery stream may have been exceeded. For more information about limits and how to request an increase, see Amazon Kinesis Data Firehose Limits.

", "exception":true, "fault":true }, @@ -1118,7 +2167,294 @@ "max":128, "min":1 }, + "SourceDescription":{ + "type":"structure", + "members":{ + "KinesisStreamSourceDescription":{ + "shape":"KinesisStreamSourceDescription", + "documentation":"

The KinesisStreamSourceDescription value for the source Kinesis data stream.

" + } + }, + "documentation":"

Details about a Kinesis data stream used as the source for a Kinesis Data Firehose delivery stream.

" + }, + "SplunkDestinationConfiguration":{ + "type":"structure", + "required":[ + "HECEndpoint", + "HECEndpointType", + "HECToken", + "S3Configuration" + ], + "members":{ + "HECEndpoint":{ + "shape":"HECEndpoint", + "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" + }, + "HECEndpointType":{ + "shape":"HECEndpointType", + "documentation":"

This type can be either \"Raw\" or \"Event.\"

" + }, + "HECToken":{ + "shape":"HECToken", + "documentation":"

This is a GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

" + }, + "HECAcknowledgmentTimeoutInSeconds":{ + "shape":"HECAcknowledgmentTimeoutInSeconds", + "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" + }, + "RetryOptions":{ + "shape":"SplunkRetryOptions", + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk, or if it doesn't receive an acknowledgment of receipt from Splunk.

" + }, + "S3BackupMode":{ + "shape":"SplunkS3BackupMode", + "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" + }, + "S3Configuration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

The configuration for the backup Amazon S3 location.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + } + }, + "documentation":"

Describes the configuration of a destination in Splunk.

" + }, + "SplunkDestinationDescription":{ + "type":"structure", + "members":{ + "HECEndpoint":{ + "shape":"HECEndpoint", + "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" + }, + "HECEndpointType":{ + "shape":"HECEndpointType", + "documentation":"

This type can be either \"Raw\" or \"Event.\"

" + }, + "HECToken":{ + "shape":"HECToken", + "documentation":"

A GUID you obtain from your Splunk cluster when you create a new HEC endpoint.

" + }, + "HECAcknowledgmentTimeoutInSeconds":{ + "shape":"HECAcknowledgmentTimeoutInSeconds", + "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends it data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" + }, + "RetryOptions":{ + "shape":"SplunkRetryOptions", + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

" + }, + "S3BackupMode":{ + "shape":"SplunkS3BackupMode", + "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" + }, + "S3DestinationDescription":{ + "shape":"S3DestinationDescription", + "documentation":"

The Amazon S3 destination.>

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + } + }, + "documentation":"

Describes a destination in Splunk.

" + }, + "SplunkDestinationUpdate":{ + "type":"structure", + "members":{ + "HECEndpoint":{ + "shape":"HECEndpoint", + "documentation":"

The HTTP Event Collector (HEC) endpoint to which Kinesis Data Firehose sends your data.

" + }, + "HECEndpointType":{ + "shape":"HECEndpointType", + "documentation":"

This type can be either \"Raw\" or \"Event.\"

" + }, + "HECToken":{ + "shape":"HECToken", + "documentation":"

A GUID that you obtain from your Splunk cluster when you create a new HEC endpoint.

" + }, + "HECAcknowledgmentTimeoutInSeconds":{ + "shape":"HECAcknowledgmentTimeoutInSeconds", + "documentation":"

The amount of time that Kinesis Data Firehose waits to receive an acknowledgment from Splunk after it sends data. At the end of the timeout period, Kinesis Data Firehose either tries to send the data again or considers it an error, based on your retry settings.

" + }, + "RetryOptions":{ + "shape":"SplunkRetryOptions", + "documentation":"

The retry behavior in case Kinesis Data Firehose is unable to deliver data to Splunk or if it doesn't receive an acknowledgment of receipt from Splunk.

" + }, + "S3BackupMode":{ + "shape":"SplunkS3BackupMode", + "documentation":"

Defines how documents should be delivered to Amazon S3. When set to FailedDocumentsOnly, Kinesis Data Firehose writes any data that could not be indexed to the configured Amazon S3 destination. When set to AllDocuments, Kinesis Data Firehose delivers all incoming records to Amazon S3, and also writes failed documents to Amazon S3. Default value is FailedDocumentsOnly.

" + }, + "S3Update":{ + "shape":"S3DestinationUpdate", + "documentation":"

Your update to the configuration of the backup Amazon S3 location.

" + }, + "ProcessingConfiguration":{ + "shape":"ProcessingConfiguration", + "documentation":"

The data processing configuration.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

The Amazon CloudWatch logging options for your delivery stream.

" + } + }, + "documentation":"

Describes an update for a destination in Splunk.

" + }, + "SplunkRetryDurationInSeconds":{ + "type":"integer", + "max":7200, + "min":0 + }, + "SplunkRetryOptions":{ + "type":"structure", + "members":{ + "DurationInSeconds":{ + "shape":"SplunkRetryDurationInSeconds", + "documentation":"

The total amount of time that Kinesis Data Firehose spends on retries. This duration starts after the initial attempt to send data to Splunk fails. It doesn't include the periods during which Kinesis Data Firehose waits for acknowledgment from Splunk after each attempt.

" + } + }, + "documentation":"

Configures retry behavior in case Kinesis Data Firehose is unable to deliver documents to Splunk, or if it doesn't receive an acknowledgment from Splunk.

" + }, + "SplunkS3BackupMode":{ + "type":"string", + "enum":[ + "FailedEventsOnly", + "AllEvents" + ] + }, + "StartDeliveryStreamEncryptionInput":{ + "type":"structure", + "required":["DeliveryStreamName"], + "members":{ + "DeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the delivery stream for which you want to enable server-side encryption (SSE).

" + }, + "DeliveryStreamEncryptionConfigurationInput":{ + "shape":"DeliveryStreamEncryptionConfigurationInput", + "documentation":"

Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE).

" + } + } + }, + "StartDeliveryStreamEncryptionOutput":{ + "type":"structure", + "members":{ + } + }, + "StopDeliveryStreamEncryptionInput":{ + "type":"structure", + "required":["DeliveryStreamName"], + "members":{ + "DeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the delivery stream for which you want to disable server-side encryption (SSE).

" + } + } + }, + "StopDeliveryStreamEncryptionOutput":{ + "type":"structure", + "members":{ + } + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"NonEmptyStringWithoutWhitespace"}, + "max":16, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A unique identifier for the tag. Maximum length: 128 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

An optional string, which you can use to describe or define the tag. Maximum length: 256 characters. Valid characters: Unicode letters, digits, white space, _ . / = + - % @

" + } + }, + "documentation":"

Metadata that you can assign to a delivery stream, consisting of a key-value pair.

" + }, + "TagDeliveryStreamInput":{ + "type":"structure", + "required":[ + "DeliveryStreamName", + "Tags" + ], + "members":{ + "DeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the delivery stream to which you want to add the tags.

" + }, + "Tags":{ + "shape":"TagDeliveryStreamInputTagList", + "documentation":"

A set of key-value pairs to use to create the tags.

" + } + } + }, + "TagDeliveryStreamInputTagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagDeliveryStreamOutput":{ + "type":"structure", + "members":{ + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@%]*$" + }, "Timestamp":{"type":"timestamp"}, + "UntagDeliveryStreamInput":{ + "type":"structure", + "required":[ + "DeliveryStreamName", + "TagKeys" + ], + "members":{ + "DeliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the delivery stream.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys. Each corresponding tag is removed from the delivery stream.

" + } + } + }, + "UntagDeliveryStreamOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateDestinationInput":{ "type":"structure", "required":[ @@ -1133,7 +2469,7 @@ }, "CurrentDeliveryStreamVersionId":{ "shape":"DeliveryStreamVersionId", - "documentation":"

Obtain this value from the VersionId result of the DeliveryStreamDescription operation. This value is required, and helps the service to perform conditional operations. For example, if there is a interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" + "documentation":"

Obtain this value from the VersionId result of DeliveryStreamDescription. This value is required, and helps the service perform conditional operations. For example, if there is an interleaving update and this value is null, then the update destination fails. After the update is successful, the VersionId value is updated. The service then performs a merge of the old configuration with the new configuration.

" }, "DestinationId":{ "shape":"DestinationId", @@ -1141,6 +2477,11 @@ }, "S3DestinationUpdate":{ "shape":"S3DestinationUpdate", + "documentation":"

[Deprecated] Describes an update for a destination in Amazon S3.

", + "deprecated":true + }, + "ExtendedS3DestinationUpdate":{ + "shape":"ExtendedS3DestinationUpdate", "documentation":"

Describes an update for a destination in Amazon S3.

" }, "RedshiftDestinationUpdate":{ @@ -1150,21 +2491,76 @@ "ElasticsearchDestinationUpdate":{ "shape":"ElasticsearchDestinationUpdate", "documentation":"

Describes an update for a destination in Amazon ES.

" + }, + "SplunkDestinationUpdate":{ + "shape":"SplunkDestinationUpdate", + "documentation":"

Describes an update for a destination in Splunk.

" } - }, - "documentation":"

Contains the parameters for UpdateDestination.

" + } }, "UpdateDestinationOutput":{ "type":"structure", "members":{ - }, - "documentation":"

Contains the output of UpdateDestination.

" + } }, "Username":{ "type":"string", + "max":512, "min":1, + "pattern":".*", "sensitive":true + }, + "VpcConfiguration":{ + "type":"structure", + "required":[ + "SubnetIds", + "RoleARN", + "SecurityGroupIds" + ], + "members":{ + "SubnetIds":{ + "shape":"SubnetIdList", + "documentation":"

The IDs of the subnets that you want Kinesis Data Firehose to use to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that you want the delivery stream to use to create endpoints in the destination VPC.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

The IDs of the security groups that you want Kinesis Data Firehose to use when it creates ENIs in the VPC of the Amazon ES destination.

" + } + }, + "documentation":"

The details of the VPC of the Amazon ES destination.

" + }, + "VpcConfigurationDescription":{ + "type":"structure", + "required":[ + "SubnetIds", + "RoleARN", + "SecurityGroupIds", + "VpcId" + ], + "members":{ + "SubnetIds":{ + "shape":"SubnetIdList", + "documentation":"

The IDs of the subnets that Kinesis Data Firehose uses to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Kinesis Data Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

The number of ENIs that Kinesis Data Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Kinesis Data Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Kinesis Data Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that you want the delivery stream uses to create endpoints in the destination VPC.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

The IDs of the security groups that Kinesis Data Firehose uses when it creates ENIs in the VPC of the Amazon ES destination.

" + }, + "VpcId":{ + "shape":"NonEmptyStringWithoutWhitespace", + "documentation":"

The ID of the Amazon ES destination's VPC.

" + } + }, + "documentation":"

The details of the VPC of the Amazon ES destination.

" } }, - "documentation":"Amazon Kinesis Firehose API Reference

Amazon Kinesis Firehose is a fully-managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), and Amazon Redshift.

" + "documentation":"Amazon Kinesis Data Firehose API Reference

Amazon Kinesis Data Firehose is a fully managed service that delivers real-time streaming data to destinations such as Amazon Simple Storage Service (Amazon S3), Amazon Elasticsearch Service (Amazon ES), Amazon Redshift, and Splunk.

" } diff -Nru python-botocore-1.4.70/botocore/data/fms/2018-01-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/examples-1.json --- python-botocore-1.4.70/botocore/data/fms/2018-01-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/fms/2018-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/fms/2018-01-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListComplianceStatus": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PolicyComplianceStatusList" + }, + "ListMemberAccounts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MemberAccounts" + }, + "ListPolicies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PolicyList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/fms/2018-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/fms/2018-01-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/fms/2018-01-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1140 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-01-01", + "endpointPrefix":"fms", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"FMS", + "serviceFullName":"Firewall Management Service", + "serviceId":"FMS", + "signatureVersion":"v4", + "targetPrefix":"AWSFMS_20180101", + "uid":"fms-2018-01-01" + }, + "operations":{ + "AssociateAdminAccount":{ + "name":"AssociateAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateAdminAccountRequest"}, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Sets the AWS Firewall Manager administrator account. AWS Firewall Manager must be associated with the master account of your AWS organization or associated with a member account that has the appropriate permissions. If the account ID that you submit is not an AWS Organizations master account, AWS Firewall Manager will set the appropriate permissions for the given member account.

The account that you associate with AWS Firewall Manager is called the AWS Firewall Manager administrator account.

" + }, + "DeleteNotificationChannel":{ + "name":"DeleteNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNotificationChannelRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Deletes an AWS Firewall Manager association with the IAM role and the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

" + }, + "DeletePolicy":{ + "name":"DeletePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePolicyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Permanently deletes an AWS Firewall Manager policy.

" + }, + "DisassociateAdminAccount":{ + "name":"DisassociateAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateAdminAccountRequest"}, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Disassociates the account that has been set as the AWS Firewall Manager administrator account. To set a different account as the administrator account, you must submit an AssociateAdminAccount request.

" + }, + "GetAdminAccount":{ + "name":"GetAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAdminAccountRequest"}, + "output":{"shape":"GetAdminAccountResponse"}, + "errors":[ + {"shape":"InvalidOperationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns the AWS Organizations master account that is associated with AWS Firewall Manager as the AWS Firewall Manager administrator.

" + }, + "GetComplianceDetail":{ + "name":"GetComplianceDetail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceDetailRequest"}, + "output":{"shape":"GetComplianceDetailResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns detailed compliance information about the specified member account. Details include resources that are in and out of compliance with the specified policy. Resources are considered noncompliant for AWS WAF and Shield Advanced policies if the specified policy has not been applied to them. Resources are considered noncompliant for security group policies if they are in scope of the policy, they violate one or more of the policy rules, and remediation is disabled or not possible.

" + }, + "GetNotificationChannel":{ + "name":"GetNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNotificationChannelRequest"}, + "output":{"shape":"GetNotificationChannelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Information about the Amazon Simple Notification Service (SNS) topic that is used to record AWS Firewall Manager SNS logs.

" + }, + "GetPolicy":{ + "name":"GetPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidTypeException"} + ], + "documentation":"

Returns information about the specified AWS Firewall Manager policy.

" + }, + "GetProtectionStatus":{ + "name":"GetProtectionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetProtectionStatusRequest"}, + "output":{"shape":"GetProtectionStatusResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

If you created a Shield Advanced policy, returns policy-level attack summary information in the event of a potential DDoS attack. Other policy types are currently unsupported.

" + }, + "ListComplianceStatus":{ + "name":"ListComplianceStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceStatusRequest"}, + "output":{"shape":"ListComplianceStatusResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus to get a summary of which member accounts are protected by the specified policy.

" + }, + "ListMemberAccounts":{ + "name":"ListMemberAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMemberAccountsRequest"}, + "output":{"shape":"ListMemberAccountsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns a MemberAccounts object that lists the member accounts in the administrator's AWS organization.

The ListMemberAccounts must be submitted by the account that is set as the AWS Firewall Manager administrator.

" + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Returns an array of PolicySummary objects in the response.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves the list of tags for the specified AWS resource.

" + }, + "PutNotificationChannel":{ + "name":"PutNotificationChannel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutNotificationChannelRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"} + ], + "documentation":"

Designates the IAM role and Amazon Simple Notification Service (SNS) topic that AWS Firewall Manager uses to record SNS logs.

" + }, + "PutPolicy":{ + "name":"PutPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPolicyRequest"}, + "output":{"shape":"PutPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidTypeException"} + ], + "documentation":"

Creates an AWS Firewall Manager policy.

Firewall Manager provides the following types of policies:

  • A Shield Advanced policy, which applies Shield Advanced protection to specified accounts and resources

  • An AWS WAF policy (type WAFV2), which defines rule groups to run first in the corresponding AWS WAF web ACL and rule groups to run last in the web ACL.

  • An AWS WAF Classic policy (type WAF), which defines a rule group.

  • A security group policy, which manages VPC security groups across your AWS organization.

Each policy is specific to one of the types. If you want to enforce more than one policy type across accounts, create multiple policies. You can create multiple policies for each type.

You must be subscribed to Shield Advanced to create a Shield Advanced policy. For more information about subscribing to Shield Advanced, see CreateSubscription.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds one or more tags to an AWS resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Removes one or more tags from an AWS resource.

" + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[0-9]+$" + }, + "AccountRoleStatus":{ + "type":"string", + "enum":[ + "READY", + "CREATING", + "PENDING_DELETION", + "DELETING", + "DELETED" + ] + }, + "AssociateAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccount"], + "members":{ + "AdminAccount":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall Manager administrator account. This can be an AWS Organizations master account or a member account. For more information about AWS Organizations and master accounts, see Managing the AWS Accounts in Your Organization.

" + } + } + }, + "Boolean":{"type":"boolean"}, + "ComplianceViolator":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

The resource ID.

" + }, + "ViolationReason":{ + "shape":"ViolationReason", + "documentation":"

The reason that the resource is not protected by the policy.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type. This is in the format shown in the AWS Resource Types Reference. For example: AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.

" + } + }, + "documentation":"

Details of the resource that is not protected by the policy.

" + }, + "ComplianceViolators":{ + "type":"list", + "member":{"shape":"ComplianceViolator"} + }, + "CustomerPolicyScopeId":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "CustomerPolicyScopeIdList":{ + "type":"list", + "member":{"shape":"CustomerPolicyScopeId"} + }, + "CustomerPolicyScopeIdType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORG_UNIT" + ] + }, + "CustomerPolicyScopeMap":{ + "type":"map", + "key":{"shape":"CustomerPolicyScopeIdType"}, + "value":{"shape":"CustomerPolicyScopeIdList"} + }, + "DeleteNotificationChannelRequest":{ + "type":"structure", + "members":{ + } + }, + "DeletePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the policy that you want to delete. PolicyId is returned by PutPolicy and by ListPolicies.

" + }, + "DeleteAllPolicyResources":{ + "shape":"Boolean", + "documentation":"

If True, the request performs cleanup according to the policy type.

For AWS WAF and Shield Advanced policies, the cleanup does the following:

  • Deletes rule groups created by AWS Firewall Manager

  • Removes web ACLs from in-scope resources

  • Deletes web ACLs that contain no rules or rule groups

For security group policies, the cleanup does the following for each security group in the policy:

  • Disassociates the security group from in-scope resources

  • Deletes the security group if it was created through Firewall Manager and if it's no longer associated with any resources through another policy

After the cleanup, in-scope resources are no longer protected by web ACLs in this policy. Protection of out-of-scope resources remains unchanged. Scope is determined by tags that you create and accounts that you associate with the policy. When creating the policy, if you specify that only resources in specific accounts or with specific tags are in scope of the policy, those accounts and resources are handled by the policy. All others are out of scope. If you don't specify tags or accounts, all resources are in scope.

" + } + } + }, + "DependentServiceName":{ + "type":"string", + "enum":[ + "AWSCONFIG", + "AWSWAF", + "AWSSHIELD_ADVANCED", + "AWSVPC" + ] + }, + "DetailedInfo":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "DisassociateAdminAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{"type":"string"}, + "EvaluationResult":{ + "type":"structure", + "members":{ + "ComplianceStatus":{ + "shape":"PolicyComplianceStatusType", + "documentation":"

Describes an AWS account's compliance with the AWS Firewall Manager policy.

" + }, + "ViolatorCount":{ + "shape":"ResourceCount", + "documentation":"

The number of resources that are noncompliant with the specified policy. For AWS WAF and Shield Advanced policies, a resource is considered noncompliant if it is not associated with the policy. For security group policies, a resource is considered noncompliant if it doesn't comply with the rules of the policy and remediation is disabled or not possible.

" + }, + "EvaluationLimitExceeded":{ + "shape":"Boolean", + "documentation":"

Indicates that over 100 resources are noncompliant with the AWS Firewall Manager policy.

" + } + }, + "documentation":"

Describes the compliance status for the account. An account is considered noncompliant if it includes resources that are not protected by the specified policy or that don't comply with the policy.

" + }, + "EvaluationResults":{ + "type":"list", + "member":{"shape":"EvaluationResult"} + }, + "GetAdminAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAdminAccountResponse":{ + "type":"structure", + "members":{ + "AdminAccount":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that is set as the AWS Firewall Manager administrator.

" + }, + "RoleStatus":{ + "shape":"AccountRoleStatus", + "documentation":"

The status of the AWS account that you set as the AWS Firewall Manager administrator.

" + } + } + }, + "GetComplianceDetailRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "MemberAccount" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the policy that you want to get the details for. PolicyId is returned by PutPolicy and by ListPolicies.

" + }, + "MemberAccount":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that owns the resources that you want to get the details for.

" + } + } + }, + "GetComplianceDetailResponse":{ + "type":"structure", + "members":{ + "PolicyComplianceDetail":{ + "shape":"PolicyComplianceDetail", + "documentation":"

Information about the resources and the policy that you specified in the GetComplianceDetail request.

" + } + } + }, + "GetNotificationChannelRequest":{ + "type":"structure", + "members":{ + } + }, + "GetNotificationChannelResponse":{ + "type":"structure", + "members":{ + "SnsTopicArn":{ + "shape":"ResourceArn", + "documentation":"

The SNS topic that records AWS Firewall Manager activity.

" + }, + "SnsRoleName":{ + "shape":"ResourceArn", + "documentation":"

The IAM role that is used by AWS Firewall Manager to record activity to SNS.

" + } + } + }, + "GetPolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the AWS Firewall Manager policy that you want the details for.

" + } + } + }, + "GetPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

Information about the specified AWS Firewall Manager policy.

" + }, + "PolicyArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the specified policy.

" + } + } + }, + "GetProtectionStatusRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the policy for which you want to get the attack information.

" + }, + "MemberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that is in scope of the policy that you want to get the details for.

" + }, + "StartTime":{ + "shape":"TimeStamp", + "documentation":"

The start of the time period to query for the attacks. This is a timestamp type. The request syntax listing indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.

" + }, + "EndTime":{ + "shape":"TimeStamp", + "documentation":"

The end of the time period to query for the attacks. This is a timestamp type. The request syntax listing indicates a number type because the default used by AWS Firewall Manager is Unix time in seconds. However, any valid timestamp format is allowed.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you specify a value for MaxResults and you have more objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response, which you can use to retrieve another group of objects. For the second and subsequent GetProtectionStatus requests, specify the value of NextToken from the previous response to get information about another batch of objects.

" + }, + "MaxResults":{ + "shape":"PaginationMaxResults", + "documentation":"

Specifies the number of objects that you want AWS Firewall Manager to return for this request. If you have more objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of objects.

" + } + } + }, + "GetProtectionStatusResponse":{ + "type":"structure", + "members":{ + "AdminAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the AWS Firewall administrator account for this policy.

" + }, + "ServiceType":{ + "shape":"SecurityServiceType", + "documentation":"

The service type that is protected by the policy. Currently, this is always SHIELD_ADVANCED.

" + }, + "Data":{ + "shape":"ProtectionData", + "documentation":"

Details about the attack, including the following:

  • Attack type

  • Account ID

  • ARN of the resource attacked

  • Start time of the attack

  • End time of the attack (ongoing attacks will not have an end time)

The details are in JSON format.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you have more objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more objects, submit another GetProtectionStatus request, and specify the NextToken value from the response in the NextToken value in the next request.

AWS SDKs provide auto-pagination that identify NextToken in a response and make subsequent request calls automatically on your behalf. However, this feature is not supported by GetProtectionStatus. You must submit subsequent requests with NextToken using your own processes.

" + } + } + }, + "InternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The operation failed because of a system problem, even though the request was valid. Retry your request.

", + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The parameters of the request were invalid.

", + "exception":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The operation failed because there was nothing to do. For example, you might have submitted an AssociateAdminAccount request, but the account ID that you submitted was already set as the AWS Firewall Manager administrator.

", + "exception":true + }, + "InvalidTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value of the Type parameter is invalid.

", + "exception":true + }, + "IssueInfoMap":{ + "type":"map", + "key":{"shape":"DependentServiceName"}, + "value":{"shape":"DetailedInfo"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The operation exceeds a resource limit, for example, the maximum number of policy objects that you can create for an AWS account. For more information, see Firewall Manager Limits in the AWS WAF Developer Guide.

", + "exception":true + }, + "ListComplianceStatusRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the AWS Firewall Manager policy that you want the details for.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you specify a value for MaxResults and you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus requests, specify the value of NextToken from the previous response to get information about another batch of PolicyComplianceStatus objects.

" + }, + "MaxResults":{ + "shape":"PaginationMaxResults", + "documentation":"

Specifies the number of PolicyComplianceStatus objects that you want AWS Firewall Manager to return for this request. If you have more PolicyComplianceStatus objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicyComplianceStatus objects.

" + } + } + }, + "ListComplianceStatusResponse":{ + "type":"structure", + "members":{ + "PolicyComplianceStatusList":{ + "shape":"PolicyComplianceStatusList", + "documentation":"

An array of PolicyComplianceStatus objects.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you have more PolicyComplianceStatus objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus request, and specify the NextToken value from the response in the NextToken value in the next request.

" + } + } + }, + "ListMemberAccountsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you specify a value for MaxResults and you have more account IDs than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of IDs. For the second and subsequent ListMemberAccountsRequest requests, specify the value of NextToken from the previous response to get information about another batch of member account IDs.

" + }, + "MaxResults":{ + "shape":"PaginationMaxResults", + "documentation":"

Specifies the number of member account IDs that you want AWS Firewall Manager to return for this request. If you have more IDs than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of member account IDs.

" + } + } + }, + "ListMemberAccountsResponse":{ + "type":"structure", + "members":{ + "MemberAccounts":{ + "shape":"MemberAccounts", + "documentation":"

An array of account IDs.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you have more member account IDs than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more IDs, submit another ListMemberAccounts request, and specify the NextToken value from the response in the NextToken value in the next request.

" + } + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you specify a value for MaxResults and you have more PolicySummary objects than the number that you specify for MaxResults, AWS Firewall Manager returns a NextToken value in the response that allows you to list another group of PolicySummary objects. For the second and subsequent ListPolicies requests, specify the value of NextToken from the previous response to get information about another batch of PolicySummary objects.

" + }, + "MaxResults":{ + "shape":"PaginationMaxResults", + "documentation":"

Specifies the number of PolicySummary objects that you want AWS Firewall Manager to return for this request. If you have more PolicySummary objects than the number that you specify for MaxResults, the response includes a NextToken value that you can use to get another batch of PolicySummary objects.

" + } + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "PolicyList":{ + "shape":"PolicySummaryList", + "documentation":"

An array of PolicySummary objects.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

If you have more PolicySummary objects than the number that you specified for MaxResults in the request, the response includes a NextToken value. To list more PolicySummary objects, submit another ListPolicies request, and specify the NextToken value from the response in the NextToken value in the next request.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to return tags for. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN..

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

The tags associated with the resource.

" + } + } + }, + "ManagedServiceData":{ + "type":"string", + "max":4096, + "min":1, + "pattern":".*" + }, + "MemberAccounts":{ + "type":"list", + "member":{"shape":"AWSAccountId"} + }, + "PaginationMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PaginationToken":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Policy":{ + "type":"structure", + "required":[ + "PolicyName", + "SecurityServicePolicyData", + "ResourceType", + "ExcludeResourceTags", + "RemediationEnabled" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the AWS Firewall Manager policy.

" + }, + "PolicyName":{ + "shape":"ResourceName", + "documentation":"

The friendly name of the AWS Firewall Manager policy.

" + }, + "PolicyUpdateToken":{ + "shape":"PolicyUpdateToken", + "documentation":"

A unique identifier for each update to the policy. When issuing a PutPolicy request, the PolicyUpdateToken in the request must match the PolicyUpdateToken of the current policy version. To get the PolicyUpdateToken of the current policy version, use a GetPolicy request.

" + }, + "SecurityServicePolicyData":{ + "shape":"SecurityServicePolicyData", + "documentation":"

Details about the security service that is being used to protect the resources.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource protected by or in scope of the policy. This is in the format shown in the AWS Resource Types Reference. For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer and AWS::CloudFront::Distribution. For a security group common policy, valid values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security group usage audit policy, the value is AWS::EC2::SecurityGroup.

" + }, + "ResourceTypeList":{ + "shape":"ResourceTypeList", + "documentation":"

An array of ResourceType.

" + }, + "ResourceTags":{ + "shape":"ResourceTags", + "documentation":"

An array of ResourceTag objects.

" + }, + "ExcludeResourceTags":{ + "shape":"Boolean", + "documentation":"

If set to True, resources with the tags that are specified in the ResourceTag array are not in scope of the policy. If set to False, and the ResourceTag array is not null, only resources with the specified tags are in scope of the policy.

" + }, + "RemediationEnabled":{ + "shape":"Boolean", + "documentation":"

Indicates if the policy should be automatically applied to new resources.

" + }, + "IncludeMap":{ + "shape":"CustomerPolicyScopeMap", + "documentation":"

Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to include in the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.

You can specify inclusions or exclusions, but not both. If you specify an IncludeMap, AWS Firewall Manager applies the policy to all accounts specified by the IncludeMap, and does not evaluate any ExcludeMap specifications. If you do not specify an IncludeMap, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap.

You can specify account IDs, OUs, or a combination:

  • Specify account IDs by setting the key to ACCOUNT. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}.

  • Specify OUs by setting the key to ORG_UNIT. For example, the following is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}.

  • Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}.

" + }, + "ExcludeMap":{ + "shape":"CustomerPolicyScopeMap", + "documentation":"

Specifies the AWS account IDs and AWS Organizations organizational units (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying all accounts in the OU and in any of its child OUs, including any child OUs and accounts that are added at a later time.

You can specify inclusions or exclusions, but not both. If you specify an IncludeMap, AWS Firewall Manager applies the policy to all accounts specified by the IncludeMap, and does not evaluate any ExcludeMap specifications. If you do not specify an IncludeMap, then Firewall Manager applies the policy to all accounts except for those specified by the ExcludeMap.

You can specify account IDs, OUs, or a combination:

  • Specify account IDs by setting the key to ACCOUNT. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}.

  • Specify OUs by setting the key to ORG_UNIT. For example, the following is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}.

  • Specify accounts and OUs together in a single map, separated with a comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}.

" + } + }, + "documentation":"

An AWS Firewall Manager policy.

" + }, + "PolicyComplianceDetail":{ + "type":"structure", + "members":{ + "PolicyOwner":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that created the AWS Firewall Manager policy.

" + }, + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the AWS Firewall Manager policy.

" + }, + "MemberAccount":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account ID.

" + }, + "Violators":{ + "shape":"ComplianceViolators", + "documentation":"

An array of resources that aren't protected by the AWS WAF or Shield Advanced policy or that aren't in compliance with the security group policy.

" + }, + "EvaluationLimitExceeded":{ + "shape":"Boolean", + "documentation":"

Indicates if over 100 resources are noncompliant with the AWS Firewall Manager policy.

" + }, + "ExpiredAt":{ + "shape":"TimeStamp", + "documentation":"

A timestamp that indicates when the returned information should be considered out of date.

" + }, + "IssueInfoMap":{ + "shape":"IssueInfoMap", + "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be noncompliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.

" + } + }, + "documentation":"

Describes the noncompliant resources in a member account for a specific AWS Firewall Manager policy. A maximum of 100 entries are displayed. If more than 100 resources are noncompliant, EvaluationLimitExceeded is set to True.

" + }, + "PolicyComplianceStatus":{ + "type":"structure", + "members":{ + "PolicyOwner":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that created the AWS Firewall Manager policy.

" + }, + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the AWS Firewall Manager policy.

" + }, + "PolicyName":{ + "shape":"ResourceName", + "documentation":"

The friendly name of the AWS Firewall Manager policy.

" + }, + "MemberAccount":{ + "shape":"AWSAccountId", + "documentation":"

The member account ID.

" + }, + "EvaluationResults":{ + "shape":"EvaluationResults", + "documentation":"

An array of EvaluationResult objects.

" + }, + "LastUpdated":{ + "shape":"TimeStamp", + "documentation":"

Timestamp of the last update to the EvaluationResult objects.

" + }, + "IssueInfoMap":{ + "shape":"IssueInfoMap", + "documentation":"

Details about problems with dependent services, such as AWS WAF or AWS Config, that are causing a resource to be noncompliant. The details include the name of the dependent service and the error message received that indicates the problem with the service.

" + } + }, + "documentation":"

Indicates whether the account is compliant with the specified policy. An account is considered noncompliant if it includes resources that are not protected by the policy, for AWS WAF and Shield Advanced policies, or that are noncompliant with the policy, for security group policies.

" + }, + "PolicyComplianceStatusList":{ + "type":"list", + "member":{"shape":"PolicyComplianceStatus"} + }, + "PolicyComplianceStatusType":{ + "type":"string", + "enum":[ + "COMPLIANT", + "NON_COMPLIANT" + ] + }, + "PolicyId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[a-z0-9A-Z-]{36}$" + }, + "PolicySummary":{ + "type":"structure", + "members":{ + "PolicyArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the specified policy.

" + }, + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The ID of the specified policy.

" + }, + "PolicyName":{ + "shape":"ResourceName", + "documentation":"

The friendly name of the specified policy.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource protected by or in scope of the policy. This is in the format shown in the AWS Resource Types Reference. For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer and AWS::CloudFront::Distribution. For a security group common policy, valid values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, and AWS::EC2::Instance. For a security group usage audit policy, the value is AWS::EC2::SecurityGroup.

" + }, + "SecurityServiceType":{ + "shape":"SecurityServiceType", + "documentation":"

The service that the policy is using to protect the resources. This specifies the type of policy that is created, either an AWS WAF policy, a Shield Advanced policy, or a security group policy.

" + }, + "RemediationEnabled":{ + "shape":"Boolean", + "documentation":"

Indicates if the policy should be automatically applied to new resources.

" + } + }, + "documentation":"

Details of the AWS Firewall Manager policy.

" + }, + "PolicySummaryList":{ + "type":"list", + "member":{"shape":"PolicySummary"} + }, + "PolicyUpdateToken":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ProtectionData":{"type":"string"}, + "PutNotificationChannelRequest":{ + "type":"structure", + "required":[ + "SnsTopicArn", + "SnsRoleName" + ], + "members":{ + "SnsTopicArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic that collects notifications from AWS Firewall Manager.

" + }, + "SnsRoleName":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to record AWS Firewall Manager activity.

" + } + } + }, + "PutPolicyRequest":{ + "type":"structure", + "required":["Policy"], + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

The details of the AWS Firewall Manager policy to be created.

" + }, + "TagList":{ + "shape":"TagList", + "documentation":"

The tags to add to the AWS resource.

" + } + } + }, + "PutPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

The details of the AWS Firewall Manager policy that was created.

" + }, + "PolicyArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy that was created.

" + } + } + }, + "ResourceArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceCount":{ + "type":"long", + "min":0 + }, + "ResourceId":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource was not found.

", + "exception":true + }, + "ResourceTag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"ResourceTagKey", + "documentation":"

The resource tag key.

" + }, + "Value":{ + "shape":"ResourceTagValue", + "documentation":"

The resource tag value.

" + } + }, + "documentation":"

The resource tags that AWS Firewall Manager uses to determine if a particular resource should be included or excluded from the AWS Firewall Manager policy. Tags enable you to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value. Firewall Manager combines the tags with \"AND\" so that, if you add more than one tag to a policy scope, a resource must have all the specified tags to be included or excluded. For more information, see Working with Tag Editor.

" + }, + "ResourceTagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceTagValue":{ + "type":"string", + "max":256, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceTags":{ + "type":"list", + "member":{"shape":"ResourceTag"}, + "max":8, + "min":0 + }, + "ResourceType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ResourceTypeList":{ + "type":"list", + "member":{"shape":"ResourceType"} + }, + "SecurityServicePolicyData":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"SecurityServiceType", + "documentation":"

The service that the policy is using to protect the resources. This specifies the type of policy that is created, either an AWS WAF policy, a Shield Advanced policy, or a security group policy. For security group policies, Firewall Manager supports one security group for each common policy and for each content audit policy. This is an adjustable limit that you can increase by contacting AWS Support.

" + }, + "ManagedServiceData":{ + "shape":"ManagedServiceData", + "documentation":"

Details about the service that are specific to the service type, in JSON format. For service type SHIELD_ADVANCED, this is an empty string.

  • Example: WAFV2

    \"ManagedServiceData\": \"{\\\"type\\\":\\\"WAFV2\\\",\\\"defaultAction\\\":{\\\"type\\\":\\\"ALLOW\\\"},\\\"preProcessRuleGroups\\\":[{\\\"managedRuleGroupIdentifier\\\":null,\\\"ruleGroupArn\\\":\\\"rulegrouparn\\\",\\\"overrideAction\\\":{\\\"type\\\":\\\"COUNT\\\"},\\\"excludedRules\\\":[{\\\"name\\\":\\\"EntityName\\\"}],\\\"ruleGroupType\\\":\\\"RuleGroup\\\"}],\\\"postProcessRuleGroups\\\":[{\\\"managedRuleGroupIdentifier\\\":{\\\"managedRuleGroupName\\\":\\\"AWSManagedRulesAdminProtectionRuleSet\\\",\\\"vendor\\\":\\\"AWS\\\"},\\\"ruleGroupArn\\\":\\\"rulegrouparn\\\",\\\"overrideAction\\\":{\\\"type\\\":\\\"NONE\\\"},\\\"excludedRules\\\":[],\\\"ruleGroupType\\\":\\\"ManagedRuleGroup\\\"}],\\\"overrideCustomerWebACLAssociation\\\":false}\"

  • Example: WAF Classic

    \"ManagedServiceData\": \"{\\\"type\\\": \\\"WAF\\\", \\\"ruleGroups\\\": [{\\\"id\\\": \\\"12345678-1bcd-9012-efga-0987654321ab\\\", \\\"overrideAction\\\" : {\\\"type\\\": \\\"COUNT\\\"}}], \\\"defaultAction\\\": {\\\"type\\\": \\\"BLOCK\\\"}}

  • Example: SECURITY_GROUPS_COMMON

    \"SecurityServicePolicyData\":{\"Type\":\"SECURITY_GROUPS_COMMON\",\"ManagedServiceData\":\"{\\\"type\\\":\\\"SECURITY_GROUPS_COMMON\\\",\\\"revertManualSecurityGroupChanges\\\":false,\\\"exclusiveResourceSecurityGroupManagement\\\":false, \\\"applyToAllEC2InstanceENIs\\\":false,\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd\\\"}]}\"},\"RemediationEnabled\":false,\"ResourceType\":\"AWS::EC2::NetworkInterface\"}

  • Example: SECURITY_GROUPS_CONTENT_AUDIT

    \"SecurityServicePolicyData\":{\"Type\":\"SECURITY_GROUPS_CONTENT_AUDIT\",\"ManagedServiceData\":\"{\\\"type\\\":\\\"SECURITY_GROUPS_CONTENT_AUDIT\\\",\\\"securityGroups\\\":[{\\\"id\\\":\\\" sg-000e55995d61a06bd \\\"}],\\\"securityGroupAction\\\":{\\\"type\\\":\\\"ALLOW\\\"}}\"},\"RemediationEnabled\":false,\"ResourceType\":\"AWS::EC2::NetworkInterface\"}

    The security group action for content audit can be ALLOW or DENY. For ALLOW, all in-scope security group rules must be within the allowed range of the policy's security group rules. For DENY, all in-scope security group rules must not contain a value or a range that matches a rule value or range in the policy security group.

  • Example: SECURITY_GROUPS_USAGE_AUDIT

    \"SecurityServicePolicyData\":{\"Type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"ManagedServiceData\":\"{\\\"type\\\":\\\"SECURITY_GROUPS_USAGE_AUDIT\\\",\\\"deleteUnusedSecurityGroups\\\":true,\\\"coalesceRedundantSecurityGroups\\\":true}\"},\"RemediationEnabled\":false,\"Resou rceType\":\"AWS::EC2::SecurityGroup\"}

" + } + }, + "documentation":"

Details about the security service that is being used to protect the resources.

" + }, + "SecurityServiceType":{ + "type":"string", + "enum":[ + "WAF", + "WAFV2", + "SHIELD_ADVANCED", + "SECURITY_GROUPS_COMMON", + "SECURITY_GROUPS_CONTENT_AUDIT", + "SECURITY_GROUPS_USAGE_AUDIT" + ] + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as \"customer.\" Tag keys are case-sensitive.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as \"companyA\" or \"companyB.\" Tag values are case-sensitive.

" + } + }, + "documentation":"

A collection of key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each AWS resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagList" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN.

" + }, + "TagList":{ + "shape":"TagList", + "documentation":"

The tags to add to the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TimeStamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource. The Firewall Manager policy is the only AWS resource that supports tagging, so this ARN is a policy ARN.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to remove from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ViolationReason":{ + "type":"string", + "enum":[ + "WEB_ACL_MISSING_RULE_GROUP", + "RESOURCE_MISSING_WEB_ACL", + "RESOURCE_INCORRECT_WEB_ACL", + "RESOURCE_MISSING_SHIELD_PROTECTION", + "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION", + "RESOURCE_MISSING_SECURITY_GROUP", + "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP", + "SECURITY_GROUP_UNUSED", + "SECURITY_GROUP_REDUNDANT" + ] + } + }, + "documentation":"AWS Firewall Manager

This is the AWS Firewall Manager API Reference. This guide is for developers who need detailed information about the AWS Firewall Manager API actions, data types, and errors. For detailed information about AWS Firewall Manager features, see the AWS Firewall Manager Developer Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/forecast/2018-06-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/forecast/2018-06-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/forecast/2018-06-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/forecast/2018-06-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListDatasetGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DatasetGroups" + }, + "ListDatasetImportJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DatasetImportJobs" + }, + "ListDatasets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Datasets" + }, + "ListForecastExportJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ForecastExportJobs" + }, + "ListForecasts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Forecasts" + }, + "ListPredictors": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Predictors" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/forecast/2018-06-26/service-2.json python-botocore-1.16.19+repack/botocore/data/forecast/2018-06-26/service-2.json --- python-botocore-1.4.70/botocore/data/forecast/2018-06-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/forecast/2018-06-26/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2230 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-26", + "endpointPrefix":"forecast", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Forecast Service", + "serviceId":"forecast", + "signatureVersion":"v4", + "signingName":"forecast", + "targetPrefix":"AmazonForecast", + "uid":"forecast-2018-06-26" + }, + "operations":{ + "CreateDataset":{ + "name":"CreateDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetRequest"}, + "output":{"shape":"CreateDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an Amazon Forecast dataset. The information about the dataset that you provide helps Forecast understand how to consume the data for model training. This includes the following:

  • DataFrequency - How frequently your historical time-series data is collected.

  • Domain and DatasetType - Each dataset has an associated dataset domain and a type within the domain. Amazon Forecast provides a list of predefined domains and types within each domain. For each unique dataset domain and type within the domain, Amazon Forecast requires your data to include a minimum set of predefined fields.

  • Schema - A schema specifies the fields in the dataset, including the field name and data type.

After creating a dataset, you import your training data into it and add the dataset to a dataset group. You use the dataset group to create a predictor. For more information, see howitworks-datasets-groups.

To get a list of all your datasets, use the ListDatasets operation.

For example Forecast datasets, see the Amazon Forecast Sample GitHub repository.

The Status of a dataset must be ACTIVE before you can import training data. Use the DescribeDataset operation to get the status.

" + }, + "CreateDatasetGroup":{ + "name":"CreateDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetGroupRequest"}, + "output":{"shape":"CreateDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a dataset group, which holds a collection of related datasets. You can add datasets to the dataset group when you create the dataset group, or later by using the UpdateDatasetGroup operation.

After creating a dataset group and adding datasets, you use the dataset group when you create a predictor. For more information, see howitworks-datasets-groups.

To get a list of all your datasets groups, use the ListDatasetGroups operation.

The Status of a dataset group must be ACTIVE before you can create use the dataset group to create a predictor. To get the status, use the DescribeDatasetGroup operation.

" + }, + "CreateDatasetImportJob":{ + "name":"CreateDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetImportJobRequest"}, + "output":{"shape":"CreateDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Imports your training data to an Amazon Forecast dataset. You provide the location of your training data in an Amazon Simple Storage Service (Amazon S3) bucket and the Amazon Resource Name (ARN) of the dataset that you want to import the data to.

You must specify a DataSource object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data. For more information, see aws-forecast-iam-roles.

The training data must be in CSV format. The delimiter must be a comma (,).

You can specify the path to a specific CSV file, the S3 bucket, or to a folder in the S3 bucket. For the latter two cases, Amazon Forecast imports all files up to the limit of 10,000 files.

To get a list of all your dataset import jobs, filtered by specified criteria, use the ListDatasetImportJobs operation.

" + }, + "CreateForecast":{ + "name":"CreateForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateForecastRequest"}, + "output":{"shape":"CreateForecastResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a forecast for each item in the TARGET_TIME_SERIES dataset that was used to train the predictor. This is known as inference. To retrieve the forecast for a single item at low latency, use the operation. To export the complete forecast into your Amazon Simple Storage Service (Amazon S3) bucket, use the CreateForecastExportJob operation.

The range of the forecast is determined by the ForecastHorizon value, which you specify in the CreatePredictor request, multiplied by the DataFrequency value, which you specify in the CreateDataset request. When you query a forecast, you can request a specific date range within the forecast.

To get a list of all your forecasts, use the ListForecasts operation.

The forecasts generated by Amazon Forecast are in the same time zone as the dataset that was used to create the predictor.

For more information, see howitworks-forecast.

The Status of the forecast must be ACTIVE before you can query or export the forecast. Use the DescribeForecast operation to get the status.

" + }, + "CreateForecastExportJob":{ + "name":"CreateForecastExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateForecastExportJobRequest"}, + "output":{"shape":"CreateForecastExportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Exports a forecast created by the CreateForecast operation to your Amazon Simple Storage Service (Amazon S3) bucket. The forecast file name will match the following conventions:

<ForecastExportJobName>_<ExportTimestamp>_<PageNumber>

where the <ExportTimestamp> component is in Java SimpleDateFormat (yyyy-MM-ddTHH-mm-ssZ).

You must specify a DataDestination object that includes an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket. For more information, see aws-forecast-iam-roles.

For more information, see howitworks-forecast.

To get a list of all your forecast export jobs, use the ListForecastExportJobs operation.

The Status of the forecast export job must be ACTIVE before you can access the forecast in your Amazon S3 bucket. To get the status, use the DescribeForecastExportJob operation.

" + }, + "CreatePredictor":{ + "name":"CreatePredictor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePredictorRequest"}, + "output":{"shape":"CreatePredictorResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an Amazon Forecast predictor.

In the request, you provide a dataset group and either specify an algorithm or let Amazon Forecast choose the algorithm for you using AutoML. If you specify an algorithm, you also can override algorithm-specific hyperparameters.

Amazon Forecast uses the chosen algorithm to train a model using the latest version of the datasets in the specified dataset group. The result is called a predictor. You then generate a forecast using the CreateForecast operation.

After training a model, the CreatePredictor operation also evaluates it. To see the evaluation metrics, use the GetAccuracyMetrics operation. Always review the evaluation metrics before deciding to use the predictor to generate a forecast.

Optionally, you can specify a featurization configuration to fill and aggregate the data fields in the TARGET_TIME_SERIES dataset to improve model training. For more information, see FeaturizationConfig.

For RELATED_TIME_SERIES datasets, CreatePredictor verifies that the DataFrequency specified when the dataset was created matches the ForecastFrequency. TARGET_TIME_SERIES datasets don't have this restriction. Amazon Forecast also verifies the delimiter and timestamp format. For more information, see howitworks-datasets-groups.

AutoML

If you want Amazon Forecast to evaluate each algorithm and choose the one that minimizes the objective function, set PerformAutoML to true. The objective function is defined as the mean of the weighted p10, p50, and p90 quantile losses. For more information, see EvaluationResult.

When AutoML is enabled, the following properties are disallowed:

  • AlgorithmArn

  • HPOConfig

  • PerformHPO

  • TrainingParameters

To get a list of all of your predictors, use the ListPredictors operation.

Before you can use the predictor to create a forecast, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation.

" + }, + "DeleteDataset":{ + "name":"DeleteDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes an Amazon Forecast dataset that was created using the CreateDataset operation. You can only delete datasets that have a status of ACTIVE or CREATE_FAILED. To get the status use the DescribeDataset operation.

", + "idempotent":true + }, + "DeleteDatasetGroup":{ + "name":"DeleteDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetGroupRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset group created using the CreateDatasetGroup operation. You can only delete dataset groups that have a status of ACTIVE, CREATE_FAILED, or UPDATE_FAILED. To get the status, use the DescribeDatasetGroup operation.

This operation deletes only the dataset group, not the datasets in the group.

", + "idempotent":true + }, + "DeleteDatasetImportJob":{ + "name":"DeleteDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetImportJobRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset import job created using the CreateDatasetImportJob operation. You can delete only dataset import jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeDatasetImportJob operation.

", + "idempotent":true + }, + "DeleteForecast":{ + "name":"DeleteForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteForecastRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a forecast created using the CreateForecast operation. You can delete only forecasts that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecast operation.

You can't delete a forecast while it is being exported. After a forecast is deleted, you can no longer query the forecast.

", + "idempotent":true + }, + "DeleteForecastExportJob":{ + "name":"DeleteForecastExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteForecastExportJobRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a forecast export job created using the CreateForecastExportJob operation. You can delete only export jobs that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribeForecastExportJob operation.

", + "idempotent":true + }, + "DeletePredictor":{ + "name":"DeletePredictor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePredictorRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a predictor created using the CreatePredictor operation. You can delete only predictor that have a status of ACTIVE or CREATE_FAILED. To get the status, use the DescribePredictor operation.

", + "idempotent":true + }, + "DescribeDataset":{ + "name":"DescribeDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetRequest"}, + "output":{"shape":"DescribeDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an Amazon Forecast dataset created using the CreateDataset operation.

In addition to listing the parameters specified in the CreateDataset request, this operation includes the following dataset properties:

  • CreationTime

  • LastModificationTime

  • Status

", + "idempotent":true + }, + "DescribeDatasetGroup":{ + "name":"DescribeDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetGroupRequest"}, + "output":{"shape":"DescribeDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a dataset group created using the CreateDatasetGroup operation.

In addition to listing the parameters provided in the CreateDatasetGroup request, this operation includes the following properties:

  • DatasetArns - The datasets belonging to the group.

  • CreationTime

  • LastModificationTime

  • Status

", + "idempotent":true + }, + "DescribeDatasetImportJob":{ + "name":"DescribeDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetImportJobRequest"}, + "output":{"shape":"DescribeDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a dataset import job created using the CreateDatasetImportJob operation.

In addition to listing the parameters provided in the CreateDatasetImportJob request, this operation includes the following properties:

  • CreationTime

  • LastModificationTime

  • DataSize

  • FieldStatistics

  • Status

  • Message - If an error occurred, information about the error.

", + "idempotent":true + }, + "DescribeForecast":{ + "name":"DescribeForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeForecastRequest"}, + "output":{"shape":"DescribeForecastResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a forecast created using the CreateForecast operation.

In addition to listing the properties provided in the CreateForecast request, this operation lists the following properties:

  • DatasetGroupArn - The dataset group that provided the training data.

  • CreationTime

  • LastModificationTime

  • Status

  • Message - If an error occurred, information about the error.

", + "idempotent":true + }, + "DescribeForecastExportJob":{ + "name":"DescribeForecastExportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeForecastExportJobRequest"}, + "output":{"shape":"DescribeForecastExportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a forecast export job created using the CreateForecastExportJob operation.

In addition to listing the properties provided by the user in the CreateForecastExportJob request, this operation lists the following properties:

  • CreationTime

  • LastModificationTime

  • Status

  • Message - If an error occurred, information about the error.

", + "idempotent":true + }, + "DescribePredictor":{ + "name":"DescribePredictor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePredictorRequest"}, + "output":{"shape":"DescribePredictorResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a predictor created using the CreatePredictor operation.

In addition to listing the properties provided in the CreatePredictor request, this operation lists the following properties:

  • DatasetImportJobArns - The dataset import jobs used to import training data.

  • AutoMLAlgorithmArns - If AutoML is performed, the algorithms that were evaluated.

  • CreationTime

  • LastModificationTime

  • Status

  • Message - If an error occurred, information about the error.

", + "idempotent":true + }, + "GetAccuracyMetrics":{ + "name":"GetAccuracyMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccuracyMetricsRequest"}, + "output":{"shape":"GetAccuracyMetricsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Provides metrics on the accuracy of the models that were trained by the CreatePredictor operation. Use metrics to see how well the model performed and to decide whether to use the predictor to generate a forecast. For more information, see metrics.

This operation generates metrics for each backtest window that was evaluated. The number of backtest windows (NumberOfBacktestWindows) is specified using the EvaluationParameters object, which is optionally included in the CreatePredictor request. If NumberOfBacktestWindows isn't specified, the number defaults to one.

The parameters of the filling method determine which items contribute to the metrics. If you want all items to contribute, specify zero. If you want only those items that have complete data in the range being evaluated to contribute, specify nan. For more information, see FeaturizationMethod.

Before you can get accuracy metrics, the Status of the predictor must be ACTIVE, signifying that training has completed. To get the status, use the DescribePredictor operation.

", + "idempotent":true + }, + "ListDatasetGroups":{ + "name":"ListDatasetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetGroupsRequest"}, + "output":{"shape":"ListDatasetGroupsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of dataset groups created using the CreateDatasetGroup operation. For each dataset group, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the dataset group ARN with the DescribeDatasetGroup operation.

", + "idempotent":true + }, + "ListDatasetImportJobs":{ + "name":"ListDatasetImportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetImportJobsRequest"}, + "output":{"shape":"ListDatasetImportJobsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of dataset import jobs created using the CreateDatasetImportJob operation. For each import job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribeDatasetImportJob operation. You can filter the list by providing an array of Filter objects.

", + "idempotent":true + }, + "ListDatasets":{ + "name":"ListDatasets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetsRequest"}, + "output":{"shape":"ListDatasetsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of datasets created using the CreateDataset operation. For each dataset, a summary of its properties, including its Amazon Resource Name (ARN), is returned. To retrieve the complete set of properties, use the ARN with the DescribeDataset operation.

", + "idempotent":true + }, + "ListForecastExportJobs":{ + "name":"ListForecastExportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListForecastExportJobsRequest"}, + "output":{"shape":"ListForecastExportJobsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of forecast export jobs created using the CreateForecastExportJob operation. For each forecast export job, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, use the ARN with the DescribeForecastExportJob operation. You can filter the list using an array of Filter objects.

", + "idempotent":true + }, + "ListForecasts":{ + "name":"ListForecasts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListForecastsRequest"}, + "output":{"shape":"ListForecastsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of forecasts created using the CreateForecast operation. For each forecast, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). To retrieve the complete set of properties, specify the ARN with the DescribeForecast operation. You can filter the list using an array of Filter objects.

", + "idempotent":true + }, + "ListPredictors":{ + "name":"ListPredictors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPredictorsRequest"}, + "output":{"shape":"ListPredictorsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of predictors created using the CreatePredictor operation. For each predictor, this operation returns a summary of its properties, including its Amazon Resource Name (ARN). You can retrieve the complete set of properties by using the ARN with the DescribePredictor operation. You can filter the list using an array of Filter objects.

", + "idempotent":true + }, + "UpdateDatasetGroup":{ + "name":"UpdateDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDatasetGroupRequest"}, + "output":{"shape":"UpdateDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Replaces the datasets in a dataset group with the specified datasets.

The Status of the dataset group must be ACTIVE before you can use the dataset group to create a predictor. Use the DescribeDatasetGroup operation to get the status.

", + "idempotent":true + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\-\\_\\.\\/\\:]+$" + }, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "AttributeType":{ + "type":"string", + "enum":[ + "string", + "integer", + "float", + "timestamp" + ] + }, + "Boolean":{"type":"boolean"}, + "CategoricalParameterRange":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the categorical hyperparameter to tune.

" + }, + "Values":{ + "shape":"Values", + "documentation":"

A list of the tunable categories for the hyperparameter.

" + } + }, + "documentation":"

Specifies a categorical hyperparameter and it's range of tunable values. This object is part of the ParameterRanges object.

" + }, + "CategoricalParameterRanges":{ + "type":"list", + "member":{"shape":"CategoricalParameterRange"}, + "max":20, + "min":1 + }, + "ContinuousParameterRange":{ + "type":"structure", + "required":[ + "Name", + "MaxValue", + "MinValue" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the hyperparameter to tune.

" + }, + "MaxValue":{ + "shape":"Double", + "documentation":"

The maximum tunable value of the hyperparameter.

" + }, + "MinValue":{ + "shape":"Double", + "documentation":"

The minimum tunable value of the hyperparameter.

" + }, + "ScalingType":{ + "shape":"ScalingType", + "documentation":"

The scale that hyperparameter tuning uses to search the hyperparameter range. Valid values:

Auto

Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.

Linear

Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

Logarithmic

Hyperparameter tuning searches the values in the hyperparameter range by using a logarithmic scale.

Logarithmic scaling works only for ranges that have values greater than 0.

ReverseLogarithmic

hyperparameter tuning searches the values in the hyperparameter range by using a reverse logarithmic scale.

Reverse logarithmic scaling works only for ranges that are entirely within the range 0 <= x < 1.0.

For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

" + } + }, + "documentation":"

Specifies a continuous hyperparameter and it's range of tunable values. This object is part of the ParameterRanges object.

" + }, + "ContinuousParameterRanges":{ + "type":"list", + "member":{"shape":"ContinuousParameterRange"}, + "max":20, + "min":1 + }, + "CreateDatasetGroupRequest":{ + "type":"structure", + "required":[ + "DatasetGroupName", + "Domain" + ], + "members":{ + "DatasetGroupName":{ + "shape":"Name", + "documentation":"

A name for the dataset group.

" + }, + "Domain":{ + "shape":"Domain", + "documentation":"

The domain associated with the dataset group. When you add a dataset to a dataset group, this value and the value specified for the Domain parameter of the CreateDataset operation must match.

The Domain and DatasetType that you choose determine the fields that must be present in training data that you import to a dataset. For example, if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires that item_id, timestamp, and demand fields are present in your data. For more information, see howitworks-datasets-groups.

" + }, + "DatasetArns":{ + "shape":"ArnList", + "documentation":"

An array of Amazon Resource Names (ARNs) of the datasets that you want to include in the dataset group.

" + } + } + }, + "CreateDatasetGroupResponse":{ + "type":"structure", + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + } + } + }, + "CreateDatasetImportJobRequest":{ + "type":"structure", + "required":[ + "DatasetImportJobName", + "DatasetArn", + "DataSource" + ], + "members":{ + "DatasetImportJobName":{ + "shape":"Name", + "documentation":"

The name for the dataset import job. We recommend including the current timestamp in the name, for example, 20190721DatasetImport. This can help you avoid getting a ResourceAlreadyExistsException exception.

" + }, + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Forecast dataset that you want to import data to.

" + }, + "DataSource":{ + "shape":"DataSource", + "documentation":"

The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data. The training data must be stored in an Amazon S3 bucket.

If encryption is used, DataSource must include an AWS Key Management Service (KMS) key and the IAM role must allow Amazon Forecast permission to access the key. The KMS key and IAM role must match those specified in the EncryptionConfig parameter of the CreateDataset operation.

" + }, + "TimestampFormat":{ + "shape":"TimestampFormat", + "documentation":"

The format of timestamps in the dataset. The format that you specify depends on the DataFrequency specified when the dataset was created. The following formats are supported

  • \"yyyy-MM-dd\"

    For the following data frequencies: Y, M, W, and D

  • \"yyyy-MM-dd HH:mm:ss\"

    For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, M, W, and D

If the format isn't specified, Amazon Forecast expects the format to be \"yyyy-MM-dd HH:mm:ss\".

" + } + } + }, + "CreateDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "DatasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job.

" + } + } + }, + "CreateDatasetRequest":{ + "type":"structure", + "required":[ + "DatasetName", + "Domain", + "DatasetType", + "Schema" + ], + "members":{ + "DatasetName":{ + "shape":"Name", + "documentation":"

A name for the dataset.

" + }, + "Domain":{ + "shape":"Domain", + "documentation":"

The domain associated with the dataset. When you add a dataset to a dataset group, this value and the value specified for the Domain parameter of the CreateDatasetGroup operation must match.

The Domain and DatasetType that you choose determine the fields that must be present in the training data that you import to the dataset. For example, if you choose the RETAIL domain and TARGET_TIME_SERIES as the DatasetType, Amazon Forecast requires item_id, timestamp, and demand fields to be present in your data. For more information, see howitworks-datasets-groups.

" + }, + "DatasetType":{ + "shape":"DatasetType", + "documentation":"

The dataset type. Valid values depend on the chosen Domain.

" + }, + "DataFrequency":{ + "shape":"Frequency", + "documentation":"

The frequency of data collection. This parameter is required for RELATED_TIME_SERIES datasets.

Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, \"D\" indicates every day and \"15min\" indicates every 15 minutes.

" + }, + "Schema":{ + "shape":"Schema", + "documentation":"

The schema for the dataset. The schema attributes and their order must match the fields in your data. The dataset Domain and DatasetType that you choose determine the minimum required fields in your training data. For information about the required fields for a specific dataset domain and type, see howitworks-domains-ds-types.

" + }, + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.

" + } + } + }, + "CreateDatasetResponse":{ + "type":"structure", + "members":{ + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + } + } + }, + "CreateForecastExportJobRequest":{ + "type":"structure", + "required":[ + "ForecastExportJobName", + "ForecastArn", + "Destination" + ], + "members":{ + "ForecastExportJobName":{ + "shape":"Name", + "documentation":"

The name for the forecast export job.

" + }, + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast that you want to export.

" + }, + "Destination":{ + "shape":"DataDestination", + "documentation":"

The location where you want to save the forecast and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the location. The forecast must be exported to an Amazon S3 bucket.

If encryption is used, Destination must include an AWS Key Management Service (KMS) key. The IAM role must allow Amazon Forecast permission to access the key.

" + } + } + }, + "CreateForecastExportJobResponse":{ + "type":"structure", + "members":{ + "ForecastExportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the export job.

" + } + } + }, + "CreateForecastRequest":{ + "type":"structure", + "required":[ + "ForecastName", + "PredictorArn" + ], + "members":{ + "ForecastName":{ + "shape":"Name", + "documentation":"

A name for the forecast.

" + }, + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the predictor to use to generate the forecast.

" + }, + "ForecastTypes":{ + "shape":"ForecastTypes", + "documentation":"

The quantiles at which probabilistic forecasts are generated. You can specify up to 5 quantiles per forecast. Accepted values include 0.01 to 0.99 (increments of .01 only) and mean. The mean forecast is different from the median (0.50) when the distribution is not symmetric (e.g. Beta, Negative Binomial). The default value is [\"0.1\", \"0.5\", \"0.9\"].

" + } + } + }, + "CreateForecastResponse":{ + "type":"structure", + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast.

" + } + } + }, + "CreatePredictorRequest":{ + "type":"structure", + "required":[ + "PredictorName", + "ForecastHorizon", + "InputDataConfig", + "FeaturizationConfig" + ], + "members":{ + "PredictorName":{ + "shape":"Name", + "documentation":"

A name for the predictor.

" + }, + "AlgorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm to use for model training. Required if PerformAutoML is not set to true.

Supported algorithms:

  • arn:aws:forecast:::algorithm/ARIMA

  • arn:aws:forecast:::algorithm/Deep_AR_Plus

    Supports hyperparameter optimization (HPO)

  • arn:aws:forecast:::algorithm/ETS

  • arn:aws:forecast:::algorithm/NPTS

  • arn:aws:forecast:::algorithm/Prophet

" + }, + "ForecastHorizon":{ + "shape":"Integer", + "documentation":"

Specifies the number of time-steps that the model is trained to predict. The forecast horizon is also called the prediction length.

For example, if you configure a dataset for daily data collection (using the DataFrequency parameter of the CreateDataset operation) and set the forecast horizon to 10, the model returns predictions for 10 days.

The maximum forecast horizon is the lesser of 500 time-steps or 1/3 of the TARGET_TIME_SERIES dataset length.

" + }, + "PerformAutoML":{ + "shape":"Boolean", + "documentation":"

Whether to perform AutoML. When Amazon Forecast performs AutoML, it evaluates the algorithms it provides and chooses the best algorithm and configuration for your training dataset.

The default value is false. In this case, you are required to specify an algorithm.

Set PerformAutoML to true to have Amazon Forecast perform AutoML. This is a good option if you aren't sure which algorithm is suitable for your training data. In this case, PerformHPO must be false.

" + }, + "PerformHPO":{ + "shape":"Boolean", + "documentation":"

Whether to perform hyperparameter optimization (HPO). HPO finds optimal hyperparameter values for your training data. The process of performing HPO is known as running a hyperparameter tuning job.

The default value is false. In this case, Amazon Forecast uses default hyperparameter values from the chosen algorithm.

To override the default values, set PerformHPO to true and, optionally, supply the HyperParameterTuningJobConfig object. The tuning job specifies a metric to optimize, which hyperparameters participate in tuning, and the valid range for each tunable hyperparameter. In this case, you are required to specify an algorithm and PerformAutoML must be false.

The following algorithm supports HPO:

  • DeepAR+

" + }, + "TrainingParameters":{ + "shape":"TrainingParameters", + "documentation":"

The hyperparameters to override for model training. The hyperparameters that you can override are listed in the individual algorithms. For the list of supported algorithms, see aws-forecast-choosing-recipes.

" + }, + "EvaluationParameters":{ + "shape":"EvaluationParameters", + "documentation":"

Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into training data and testing data. The evaluation parameters define how to perform the split and the number of iterations.

" + }, + "HPOConfig":{ + "shape":"HyperParameterTuningJobConfig", + "documentation":"

Provides hyperparameter override values for the algorithm. If you don't provide this parameter, Amazon Forecast uses default values. The individual algorithms specify which hyperparameters support hyperparameter optimization (HPO). For more information, see aws-forecast-choosing-recipes.

If you included the HPOConfig object, you must set PerformHPO to true.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Describes the dataset group that contains the data to use to train the predictor.

" + }, + "FeaturizationConfig":{ + "shape":"FeaturizationConfig", + "documentation":"

The featurization configuration.

" + }, + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.

" + } + } + }, + "CreatePredictorResponse":{ + "type":"structure", + "members":{ + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the predictor.

" + } + } + }, + "DataDestination":{ + "type":"structure", + "required":["S3Config"], + "members":{ + "S3Config":{ + "shape":"S3Config", + "documentation":"

The path to an Amazon Simple Storage Service (Amazon S3) bucket along with the credentials to access the bucket.

" + } + }, + "documentation":"

The destination for an exported forecast, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to access the location and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the CreateForecastExportJob request.

" + }, + "DataSource":{ + "type":"structure", + "required":["S3Config"], + "members":{ + "S3Config":{ + "shape":"S3Config", + "documentation":"

The path to the training data stored in an Amazon Simple Storage Service (Amazon S3) bucket along with the credentials to access the data.

" + } + }, + "documentation":"

The source of your training data, an AWS Identity and Access Management (IAM) role that allows Amazon Forecast to access the data and, optionally, an AWS Key Management Service (KMS) key. This object is submitted in the CreateDatasetImportJob request.

" + }, + "DatasetGroupSummary":{ + "type":"structure", + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "DatasetGroupName":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset group was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset group was created or last updated from a call to the UpdateDatasetGroup operation. While the dataset group is being updated, LastModificationTime is the current time of the ListDatasetGroups call.

" + } + }, + "documentation":"

Provides a summary of the dataset group properties used in the ListDatasetGroups operation. To get the complete set of properties, call the DescribeDatasetGroup operation, and provide the DatasetGroupArn.

" + }, + "DatasetGroups":{ + "type":"list", + "member":{"shape":"DatasetGroupSummary"} + }, + "DatasetImportJobSummary":{ + "type":"structure", + "members":{ + "DatasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job.

" + }, + "DatasetImportJobName":{ + "shape":"Name", + "documentation":"

The name of the dataset import job.

" + }, + "DataSource":{ + "shape":"DataSource", + "documentation":"

The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data. The training data must be stored in an Amazon S3 bucket.

If encryption is used, DataSource includes an AWS Key Management Service (KMS) key.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job. The status is reflected in the status of the dataset. For example, when the import job status is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset import job was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

The last time that the dataset was modified. The time depends on the status of the job, as follows:

  • CREATE_PENDING - The same time as CreationTime.

  • CREATE_IN_PROGRESS - The current timestamp.

  • ACTIVE or CREATE_FAILED - When the job finished or failed.

" + } + }, + "documentation":"

Provides a summary of the dataset import job properties used in the ListDatasetImportJobs operation. To get the complete set of properties, call the DescribeDatasetImportJob operation, and provide the DatasetImportJobArn.

" + }, + "DatasetImportJobs":{ + "type":"list", + "member":{"shape":"DatasetImportJobSummary"} + }, + "DatasetSummary":{ + "type":"structure", + "members":{ + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + }, + "DatasetName":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "DatasetType":{ + "shape":"DatasetType", + "documentation":"

The dataset type.

" + }, + "Domain":{ + "shape":"Domain", + "documentation":"

The domain associated with the dataset.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When you create a dataset, LastModificationTime is the same as CreationTime. While data is being imported to the dataset, LastModificationTime is the current time of the ListDatasets call. After a CreateDatasetImportJob operation has finished, LastModificationTime is when the import job completed or failed.

" + } + }, + "documentation":"

Provides a summary of the dataset properties used in the ListDatasets operation. To get the complete set of properties, call the DescribeDataset operation, and provide the DatasetArn.

" + }, + "DatasetType":{ + "type":"string", + "enum":[ + "TARGET_TIME_SERIES", + "RELATED_TIME_SERIES", + "ITEM_METADATA" + ] + }, + "Datasets":{ + "type":"list", + "member":{"shape":"DatasetSummary"} + }, + "DeleteDatasetGroupRequest":{ + "type":"structure", + "required":["DatasetGroupArn"], + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group to delete.

" + } + } + }, + "DeleteDatasetImportJobRequest":{ + "type":"structure", + "required":["DatasetImportJobArn"], + "members":{ + "DatasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job to delete.

" + } + } + }, + "DeleteDatasetRequest":{ + "type":"structure", + "required":["DatasetArn"], + "members":{ + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to delete.

" + } + } + }, + "DeleteForecastExportJobRequest":{ + "type":"structure", + "required":["ForecastExportJobArn"], + "members":{ + "ForecastExportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast export job to delete.

" + } + } + }, + "DeleteForecastRequest":{ + "type":"structure", + "required":["ForecastArn"], + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast to delete.

" + } + } + }, + "DeletePredictorRequest":{ + "type":"structure", + "required":["PredictorArn"], + "members":{ + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the predictor to delete.

" + } + } + }, + "DescribeDatasetGroupRequest":{ + "type":"structure", + "required":["DatasetGroupArn"], + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + } + } + }, + "DescribeDatasetGroupResponse":{ + "type":"structure", + "members":{ + "DatasetGroupName":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset group.

" + }, + "DatasetArns":{ + "shape":"ArnList", + "documentation":"

An array of Amazon Resource Names (ARNs) of the datasets contained in the dataset group.

" + }, + "Domain":{ + "shape":"Domain", + "documentation":"

The domain associated with the dataset group.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the dataset group. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

  • UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED

The UPDATE states apply when you call the UpdateDatasetGroup operation.

The Status of the dataset group must be ACTIVE before you can use the dataset group to create a predictor.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset group was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset group was created or last updated from a call to the UpdateDatasetGroup operation. While the dataset group is being updated, LastModificationTime is the current time of the DescribeDatasetGroup call.

" + } + } + }, + "DescribeDatasetImportJobRequest":{ + "type":"structure", + "required":["DatasetImportJobArn"], + "members":{ + "DatasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job.

" + } + } + }, + "DescribeDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "DatasetImportJobName":{ + "shape":"Name", + "documentation":"

The name of the dataset import job.

" + }, + "DatasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset import job.

" + }, + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset that the training data was imported to.

" + }, + "TimestampFormat":{ + "shape":"TimestampFormat", + "documentation":"

The format of timestamps in the dataset. The format that you specify depends on the DataFrequency specified when the dataset was created. The following formats are supported

  • \"yyyy-MM-dd\"

    For the following data frequencies: Y, M, W, and D

  • \"yyyy-MM-dd HH:mm:ss\"

    For the following data frequencies: H, 30min, 15min, and 1min; and optionally, for: Y, M, W, and D

" + }, + "DataSource":{ + "shape":"DataSource", + "documentation":"

The location of the training data to import and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the data.

If encryption is used, DataSource includes an AWS Key Management Service (KMS) key.

" + }, + "FieldStatistics":{ + "shape":"FieldStatistics", + "documentation":"

Statistical information about each field in the input data.

" + }, + "DataSize":{ + "shape":"Double", + "documentation":"

The size of the dataset in gigabytes (GB) after the import job has finished.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job. The status is reflected in the status of the dataset. For example, when the import job status is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

" + }, + "Message":{ + "shape":"Message", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset import job was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

The last time that the dataset was modified. The time depends on the status of the job, as follows:

  • CREATE_PENDING - The same time as CreationTime.

  • CREATE_IN_PROGRESS - The current timestamp.

  • ACTIVE or CREATE_FAILED - When the job finished or failed.

" + } + } + }, + "DescribeDatasetRequest":{ + "type":"structure", + "required":["DatasetArn"], + "members":{ + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + } + } + }, + "DescribeDatasetResponse":{ + "type":"structure", + "members":{ + "DatasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + }, + "DatasetName":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "Domain":{ + "shape":"Domain", + "documentation":"

The domain associated with the dataset.

" + }, + "DatasetType":{ + "shape":"DatasetType", + "documentation":"

The dataset type.

" + }, + "DataFrequency":{ + "shape":"Frequency", + "documentation":"

The frequency of data collection.

Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, \"M\" indicates every month and \"30min\" indicates every 30 minutes.

" + }, + "Schema":{ + "shape":"Schema", + "documentation":"

An array of SchemaAttribute objects that specify the dataset fields. Each SchemaAttribute specifies the name and data type of a field.

" + }, + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

The AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the dataset. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

  • UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED

The UPDATE states apply while data is imported to the dataset from a call to the CreateDatasetImportJob operation and reflect the status of the dataset import job. For example, when the import job status is CREATE_IN_PROGRESS, the status of the dataset is UPDATE_IN_PROGRESS.

The Status of the dataset must be ACTIVE before you can import training data.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the dataset was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When you create a dataset, LastModificationTime is the same as CreationTime. While data is being imported to the dataset, LastModificationTime is the current time of the DescribeDataset call. After a CreateDatasetImportJob operation has finished, LastModificationTime is when the import job completed or failed.

" + } + } + }, + "DescribeForecastExportJobRequest":{ + "type":"structure", + "required":["ForecastExportJobArn"], + "members":{ + "ForecastExportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast export job.

" + } + } + }, + "DescribeForecastExportJobResponse":{ + "type":"structure", + "members":{ + "ForecastExportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the forecast export job.

" + }, + "ForecastExportJobName":{ + "shape":"Name", + "documentation":"

The name of the forecast export job.

" + }, + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the exported forecast.

" + }, + "Destination":{ + "shape":"DataDestination", + "documentation":"

The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

" + }, + "Message":{ + "shape":"Message", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the forecast export job. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

The Status of the forecast export job must be ACTIVE before you can access the forecast in your S3 bucket.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the forecast export job was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When the last successful export job finished.

" + } + } + }, + "DescribeForecastRequest":{ + "type":"structure", + "required":["ForecastArn"], + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast.

" + } + } + }, + "DescribeForecastResponse":{ + "type":"structure", + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The forecast ARN as specified in the request.

" + }, + "ForecastName":{ + "shape":"Name", + "documentation":"

The name of the forecast.

" + }, + "ForecastTypes":{ + "shape":"ForecastTypes", + "documentation":"

The quantiles at which proababilistic forecasts were generated.

" + }, + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The ARN of the predictor used to generate the forecast.

" + }, + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset group that provided the data used to train the predictor.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the forecast. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

The Status of the forecast must be ACTIVE before you can query or export the forecast.

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the forecast creation task was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when inference (creating the forecast) starts (status changed to CREATE_IN_PROGRESS), and when inference is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

" + } + } + }, + "DescribePredictorRequest":{ + "type":"structure", + "required":["PredictorArn"], + "members":{ + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the predictor that you want information about.

" + } + } + }, + "DescribePredictorResponse":{ + "type":"structure", + "members":{ + "PredictorArn":{ + "shape":"Name", + "documentation":"

The ARN of the predictor.

" + }, + "PredictorName":{ + "shape":"Name", + "documentation":"

The name of the predictor.

" + }, + "AlgorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm used for model training.

" + }, + "ForecastHorizon":{ + "shape":"Integer", + "documentation":"

The number of time-steps of the forecast. The forecast horizon is also called the prediction length.

" + }, + "PerformAutoML":{ + "shape":"Boolean", + "documentation":"

Whether the predictor is set to perform AutoML.

" + }, + "PerformHPO":{ + "shape":"Boolean", + "documentation":"

Whether the predictor is set to perform hyperparameter optimization (HPO).

" + }, + "TrainingParameters":{ + "shape":"TrainingParameters", + "documentation":"

The default training parameters or overrides selected during model training. If using the AutoML algorithm or if HPO is turned on while using the DeepAR+ algorithms, the optimized values for the chosen hyperparameters are returned. For more information, see aws-forecast-choosing-recipes.

" + }, + "EvaluationParameters":{ + "shape":"EvaluationParameters", + "documentation":"

Used to override the default evaluation parameters of the specified algorithm. Amazon Forecast evaluates a predictor by splitting a dataset into training data and testing data. The evaluation parameters define how to perform the split and the number of iterations.

" + }, + "HPOConfig":{ + "shape":"HyperParameterTuningJobConfig", + "documentation":"

The hyperparameter override values for the algorithm.

" + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

Describes the dataset group that contains the data to use to train the predictor.

" + }, + "FeaturizationConfig":{ + "shape":"FeaturizationConfig", + "documentation":"

The featurization configuration.

" + }, + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

An AWS Key Management Service (KMS) key and the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key.

" + }, + "PredictorExecutionDetails":{ + "shape":"PredictorExecutionDetails", + "documentation":"

Details on the the status and results of the backtests performed to evaluate the accuracy of the predictor. You specify the number of backtests to perform when you call the operation.

" + }, + "DatasetImportJobArns":{ + "shape":"ArnList", + "documentation":"

An array of the ARNs of the dataset import jobs used to import training data for the predictor.

" + }, + "AutoMLAlgorithmArns":{ + "shape":"ArnList", + "documentation":"

When PerformAutoML is specified, the ARN of the chosen algorithm.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the predictor. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

  • UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED

The Status of the predictor must be ACTIVE before you can use the predictor to create a forecast.

" + }, + "Message":{ + "shape":"Message", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the model training task was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

Initially, the same as CreationTime (when the status is CREATE_PENDING). This value is updated when training starts (when the status changes to CREATE_IN_PROGRESS), and when training has completed (when the status changes to ACTIVE) or fails (when the status changes to CREATE_FAILED).

" + } + } + }, + "Domain":{ + "type":"string", + "enum":[ + "RETAIL", + "CUSTOM", + "INVENTORY_PLANNING", + "EC2_CAPACITY", + "WORK_FORCE", + "WEB_TRAFFIC", + "METRICS" + ] + }, + "Double":{"type":"double"}, + "EncryptionConfig":{ + "type":"structure", + "required":[ + "RoleArn", + "KMSKeyArn" + ], + "members":{ + "RoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the IAM role that Amazon Forecast can assume to access the AWS KMS key.

Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an InvalidInputException error.

" + }, + "KMSKeyArn":{ + "shape":"KMSKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key.

" + } + }, + "documentation":"

An AWS Key Management Service (KMS) key and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the key. You can specify this optional object in the CreateDataset and CreatePredictor requests.

" + }, + "ErrorMessage":{"type":"string"}, + "EvaluationParameters":{ + "type":"structure", + "members":{ + "NumberOfBacktestWindows":{ + "shape":"Integer", + "documentation":"

The number of times to split the input data. The default is 1. Valid values are 1 through 5.

" + }, + "BackTestWindowOffset":{ + "shape":"Integer", + "documentation":"

The point from the end of the dataset where you want to split the data for model training and testing (evaluation). Specify the value as the number of data points. The default is the value of the forecast horizon. BackTestWindowOffset can be used to mimic a past virtual forecast start date. This value must be greater than or equal to the forecast horizon and less than half of the TARGET_TIME_SERIES dataset length.

ForecastHorizon <= BackTestWindowOffset < 1/2 * TARGET_TIME_SERIES dataset length

" + } + }, + "documentation":"

Parameters that define how to split a dataset into training data and testing data, and the number of iterations to perform. These parameters are specified in the predefined algorithms but you can override them in the CreatePredictor request.

" + }, + "EvaluationResult":{ + "type":"structure", + "members":{ + "AlgorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm that was evaluated.

" + }, + "TestWindows":{ + "shape":"TestWindows", + "documentation":"

The array of test windows used for evaluating the algorithm. The NumberOfBacktestWindows from the EvaluationParameters object determines the number of windows in the array.

" + } + }, + "documentation":"

The results of evaluating an algorithm. Returned as part of the GetAccuracyMetrics response.

" + }, + "EvaluationType":{ + "type":"string", + "enum":[ + "SUMMARY", + "COMPUTED" + ] + }, + "Featurization":{ + "type":"structure", + "required":["AttributeName"], + "members":{ + "AttributeName":{ + "shape":"Name", + "documentation":"

The name of the schema attribute that specifies the data field to be featurized. Only the target field of the TARGET_TIME_SERIES dataset type is supported. For example, for the RETAIL domain, the target is demand, and for the CUSTOM domain, the target is target_value.

" + }, + "FeaturizationPipeline":{ + "shape":"FeaturizationPipeline", + "documentation":"

An array of one FeaturizationMethod object that specifies the feature transformation method.

" + } + }, + "documentation":"

Provides featurization (transformation) information for a dataset field. This object is part of the FeaturizationConfig object.

For example:

{

\"AttributeName\": \"demand\",

FeaturizationPipeline [ {

\"FeaturizationMethodName\": \"filling\",

\"FeaturizationMethodParameters\": {\"aggregation\": \"avg\", \"backfill\": \"nan\"}

} ]

}

" + }, + "FeaturizationConfig":{ + "type":"structure", + "required":["ForecastFrequency"], + "members":{ + "ForecastFrequency":{ + "shape":"Frequency", + "documentation":"

The frequency of predictions in a forecast.

Valid intervals are Y (Year), M (Month), W (Week), D (Day), H (Hour), 30min (30 minutes), 15min (15 minutes), 10min (10 minutes), 5min (5 minutes), and 1min (1 minute). For example, \"Y\" indicates every year and \"5min\" indicates every five minutes.

The frequency must be greater than or equal to the TARGET_TIME_SERIES dataset frequency.

When a RELATED_TIME_SERIES dataset is provided, the frequency must be equal to the RELATED_TIME_SERIES dataset frequency.

" + }, + "ForecastDimensions":{ + "shape":"ForecastDimensions", + "documentation":"

An array of dimension (field) names that specify how to group the generated forecast.

For example, suppose that you are generating a forecast for item sales across all of your stores, and your dataset contains a store_id field. If you want the sales forecast for each item by store, you would specify store_id as the dimension.

All forecast dimensions specified in the TARGET_TIME_SERIES dataset don't need to be specified in the CreatePredictor request. All forecast dimensions specified in the RELATED_TIME_SERIES dataset must be specified in the CreatePredictor request.

" + }, + "Featurizations":{ + "shape":"Featurizations", + "documentation":"

An array of featurization (transformation) information for the fields of a dataset. Only a single featurization is supported.

" + } + }, + "documentation":"

In a CreatePredictor operation, the specified algorithm trains a model using the specified dataset group. You can optionally tell the operation to modify data fields prior to training a model. These modifications are referred to as featurization.

You define featurization using the FeaturizationConfig object. You specify an array of transformations, one for each field that you want to featurize. You then include the FeaturizationConfig object in your CreatePredictor request. Amazon Forecast applies the featurization to the TARGET_TIME_SERIES dataset before model training.

You can create multiple featurization configurations. For example, you might call the CreatePredictor operation twice by specifying different featurization configurations.

" + }, + "FeaturizationMethod":{ + "type":"structure", + "required":["FeaturizationMethodName"], + "members":{ + "FeaturizationMethodName":{ + "shape":"FeaturizationMethodName", + "documentation":"

The name of the method. The \"filling\" method is the only supported method.

" + }, + "FeaturizationMethodParameters":{ + "shape":"FeaturizationMethodParameters", + "documentation":"

The method parameters (key-value pairs). Specify these parameters to override the default values. The following list shows the parameters and their valid values. Bold signifies the default value.

  • aggregation: sum, avg, first, min, max

  • frontfill: none

  • middlefill: zero, nan (not a number)

  • backfill: zero, nan

" + } + }, + "documentation":"

Provides information about the method that featurizes (transforms) a dataset field. The method is part of the FeaturizationPipeline of the Featurization object. If you don't specify FeaturizationMethodParameters, Amazon Forecast uses default parameters.

The following is an example of how you specify a FeaturizationMethod object.

{

\"FeaturizationMethodName\": \"filling\",

\"FeaturizationMethodParameters\": {\"aggregation\": \"avg\", \"backfill\": \"nan\"}

}

" + }, + "FeaturizationMethodName":{ + "type":"string", + "enum":["filling"] + }, + "FeaturizationMethodParameters":{ + "type":"map", + "key":{"shape":"ParameterKey"}, + "value":{"shape":"ParameterValue"}, + "max":20, + "min":1 + }, + "FeaturizationPipeline":{ + "type":"list", + "member":{"shape":"FeaturizationMethod"}, + "max":1, + "min":1 + }, + "Featurizations":{ + "type":"list", + "member":{"shape":"Featurization"}, + "max":1, + "min":1 + }, + "FieldStatistics":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Statistics"} + }, + "Filter":{ + "type":"structure", + "required":[ + "Key", + "Value", + "Condition" + ], + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The name of the parameter to filter on.

" + }, + "Value":{ + "shape":"Arn", + "documentation":"

The value to match.

" + }, + "Condition":{ + "shape":"FilterConditionString", + "documentation":"

The condition to apply. To include the objects that match the statement, specify IS. To exclude matching objects, specify IS_NOT.

" + } + }, + "documentation":"

Describes a filter for choosing a subset of objects. Each filter consists of a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the objects that match the statement, respectively. The match statement consists of a key and a value.

" + }, + "FilterConditionString":{ + "type":"string", + "enum":[ + "IS", + "IS_NOT" + ] + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "ForecastDimensions":{ + "type":"list", + "member":{"shape":"Name"}, + "max":5, + "min":1 + }, + "ForecastExportJobSummary":{ + "type":"structure", + "members":{ + "ForecastExportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast export job.

" + }, + "ForecastExportJobName":{ + "shape":"Name", + "documentation":"

The name of the forecast export job.

" + }, + "Destination":{ + "shape":"DataDestination", + "documentation":"

The path to the Amazon Simple Storage Service (Amazon S3) bucket where the forecast is exported.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the forecast export job. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

The Status of the forecast export job must be ACTIVE before you can access the forecast in your S3 bucket.

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the forecast export job was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

When the last successful export job finished.

" + } + }, + "documentation":"

Provides a summary of the forecast export job properties used in the ListForecastExportJobs operation. To get the complete set of properties, call the DescribeForecastExportJob operation, and provide the listed ForecastExportJobArn.

" + }, + "ForecastExportJobs":{ + "type":"list", + "member":{"shape":"ForecastExportJobSummary"} + }, + "ForecastSummary":{ + "type":"structure", + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The ARN of the forecast.

" + }, + "ForecastName":{ + "shape":"Name", + "documentation":"

The name of the forecast.

" + }, + "PredictorArn":{ + "shape":"String", + "documentation":"

The ARN of the predictor used to generate the forecast.

" + }, + "DatasetGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that provided the data used to train the predictor.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the forecast. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

The Status of the forecast must be ACTIVE before you can query or export the forecast.

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the forecast creation task was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when inference (creating the forecast) starts (status changed to CREATE_IN_PROGRESS), and when inference is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

" + } + }, + "documentation":"

Provides a summary of the forecast properties used in the ListForecasts operation. To get the complete set of properties, call the DescribeForecast operation, and provide the ForecastArn that is listed in the summary.

" + }, + "ForecastType":{ + "type":"string", + "pattern":"(^0?\\.\\d\\d?$|^mean$)" + }, + "ForecastTypes":{ + "type":"list", + "member":{"shape":"ForecastType"}, + "max":20, + "min":1 + }, + "Forecasts":{ + "type":"list", + "member":{"shape":"ForecastSummary"} + }, + "Frequency":{ + "type":"string", + "pattern":"^Y|M|W|D|H|30min|15min|10min|5min|1min$" + }, + "GetAccuracyMetricsRequest":{ + "type":"structure", + "required":["PredictorArn"], + "members":{ + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the predictor to get metrics for.

" + } + } + }, + "GetAccuracyMetricsResponse":{ + "type":"structure", + "members":{ + "PredictorEvaluationResults":{ + "shape":"PredictorEvaluationResults", + "documentation":"

An array of results from evaluating the predictor.

" + } + } + }, + "HyperParameterTuningJobConfig":{ + "type":"structure", + "members":{ + "ParameterRanges":{ + "shape":"ParameterRanges", + "documentation":"

Specifies the ranges of valid values for the hyperparameters.

" + } + }, + "documentation":"

Configuration information for a hyperparameter tuning job. You specify this object in the CreatePredictor request.

A hyperparameter is a parameter that governs the model training process. You set hyperparameters before training starts, unlike model parameters, which are determined during training. The values of the hyperparameters effect which values are chosen for the model parameters.

In a hyperparameter tuning job, Amazon Forecast chooses the set of hyperparameter values that optimize a specified metric. Forecast accomplishes this by running many training jobs over a range of hyperparameter values. The optimum set of values depends on the algorithm, the training data, and the specified metric objective.

" + }, + "InputDataConfig":{ + "type":"structure", + "required":["DatasetGroupArn"], + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "SupplementaryFeatures":{ + "shape":"SupplementaryFeatures", + "documentation":"

An array of supplementary features. The only supported feature is a holiday calendar.

" + } + }, + "documentation":"

The data used to train a predictor. The data includes a dataset group and any supplementary features. You specify this object in the CreatePredictor request.

" + }, + "Integer":{"type":"integer"}, + "IntegerParameterRange":{ + "type":"structure", + "required":[ + "Name", + "MaxValue", + "MinValue" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the hyperparameter to tune.

" + }, + "MaxValue":{ + "shape":"Integer", + "documentation":"

The maximum tunable value of the hyperparameter.

" + }, + "MinValue":{ + "shape":"Integer", + "documentation":"

The minimum tunable value of the hyperparameter.

" + }, + "ScalingType":{ + "shape":"ScalingType", + "documentation":"

The scale that hyperparameter tuning uses to search the hyperparameter range. Valid values:

Auto

Amazon Forecast hyperparameter tuning chooses the best scale for the hyperparameter.

Linear

Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

Logarithmic

Hyperparameter tuning searches the values in the hyperparameter range by using a logarithmic scale.

Logarithmic scaling works only for ranges that have values greater than 0.

ReverseLogarithmic

Not supported for IntegerParameterRange.

Reverse logarithmic scaling works only for ranges that are entirely within the range 0 <= x < 1.0.

For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

" + } + }, + "documentation":"

Specifies an integer hyperparameter and it's range of tunable values. This object is part of the ParameterRanges object.

" + }, + "IntegerParameterRanges":{ + "type":"list", + "member":{"shape":"IntegerParameterRange"}, + "max":20, + "min":1 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

We can't process the request because it includes an invalid value or a value that exceeds the valid range.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The token is not valid. Tokens expire after 24 hours.

", + "exception":true + }, + "KMSKeyArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws:kms:.*:key/.*" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of resources per account has been exceeded.

", + "exception":true + }, + "ListDatasetGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + } + } + }, + "ListDatasetGroupsResponse":{ + "type":"structure", + "members":{ + "DatasetGroups":{ + "shape":"DatasetGroups", + "documentation":"

An array of objects that summarize each dataset group's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "ListDatasetImportJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the datasets that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

  • Condition - The condition to apply. Valid values are IS and IS_NOT. To include the datasets that match the statement, specify IS. To exclude matching datasets, specify IS_NOT.

  • Key - The name of the parameter to filter on. Valid values are DatasetArn and Status.

  • Value - The value to match.

For example, to list all dataset import jobs whose status is ACTIVE, you specify the following filter:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

" + } + } + }, + "ListDatasetImportJobsResponse":{ + "type":"structure", + "members":{ + "DatasetImportJobs":{ + "shape":"DatasetImportJobs", + "documentation":"

An array of objects that summarize each dataset import job's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "ListDatasetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + } + } + }, + "ListDatasetsResponse":{ + "type":"structure", + "members":{ + "Datasets":{ + "shape":"Datasets", + "documentation":"

An array of objects that summarize each dataset's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "ListForecastExportJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecast export jobs that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

  • Condition - The condition to apply. Valid values are IS and IS_NOT. To include the forecast export jobs that match the statement, specify IS. To exclude matching forecast export jobs, specify IS_NOT.

  • Key - The name of the parameter to filter on. Valid values are ForecastArn and Status.

  • Value - The value to match.

For example, to list all jobs that export a forecast named electricityforecast, specify the following filter:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"ForecastArn\", \"Value\": \"arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityforecast\" } ]

" + } + } + }, + "ListForecastExportJobsResponse":{ + "type":"structure", + "members":{ + "ForecastExportJobs":{ + "shape":"ForecastExportJobs", + "documentation":"

An array of objects that summarize each export job's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "ListForecastsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the forecasts that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

  • Condition - The condition to apply. Valid values are IS and IS_NOT. To include the forecasts that match the statement, specify IS. To exclude matching forecasts, specify IS_NOT.

  • Key - The name of the parameter to filter on. Valid values are DatasetGroupArn, PredictorArn, and Status.

  • Value - The value to match.

For example, to list all forecasts whose status is not ACTIVE, you would specify:

\"Filters\": [ { \"Condition\": \"IS_NOT\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

" + } + } + }, + "ListForecastsResponse":{ + "type":"structure", + "members":{ + "Forecasts":{ + "shape":"Forecasts", + "documentation":"

An array of objects that summarize each forecast's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "ListPredictorsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of items to return in the response.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

An array of filters. For each filter, you provide a condition and a match statement. The condition is either IS or IS_NOT, which specifies whether to include or exclude the predictors that match the statement from the list, respectively. The match statement consists of a key and a value.

Filter properties

  • Condition - The condition to apply. Valid values are IS and IS_NOT. To include the predictors that match the statement, specify IS. To exclude matching predictors, specify IS_NOT.

  • Key - The name of the parameter to filter on. Valid values are DatasetGroupArn and Status.

  • Value - The value to match.

For example, to list all predictors whose status is ACTIVE, you would specify:

\"Filters\": [ { \"Condition\": \"IS\", \"Key\": \"Status\", \"Value\": \"ACTIVE\" } ]

" + } + } + }, + "ListPredictorsResponse":{ + "type":"structure", + "members":{ + "Predictors":{ + "shape":"Predictors", + "documentation":"

An array of objects that summarize each predictor's properties.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Forecast returns this token. To retrieve the next set of results, use the token in the next request.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Message":{"type":"string"}, + "Metrics":{ + "type":"structure", + "members":{ + "RMSE":{ + "shape":"Double", + "documentation":"

The root mean square error (RMSE).

" + }, + "WeightedQuantileLosses":{ + "shape":"WeightedQuantileLosses", + "documentation":"

An array of weighted quantile losses. Quantiles divide a probability distribution into regions of equal probability. The distribution in this case is the loss function.

" + } + }, + "documentation":"

Provides metrics that are used to evaluate the performance of a predictor. This object is part of the WindowSummary object.

" + }, + "Name":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*" + }, + "NextToken":{ + "type":"string", + "max":3000, + "min":1 + }, + "ParameterKey":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\-\\_\\.\\/\\[\\]\\,\\\\]+$" + }, + "ParameterRanges":{ + "type":"structure", + "members":{ + "CategoricalParameterRanges":{ + "shape":"CategoricalParameterRanges", + "documentation":"

Specifies the tunable range for each categorical hyperparameter.

" + }, + "ContinuousParameterRanges":{ + "shape":"ContinuousParameterRanges", + "documentation":"

Specifies the tunable range for each continuous hyperparameter.

" + }, + "IntegerParameterRanges":{ + "shape":"IntegerParameterRanges", + "documentation":"

Specifies the tunable range for each integer hyperparameter.

" + } + }, + "documentation":"

Specifies the categorical, continuous, and integer hyperparameters, and their ranges of tunable values. The range of tunable values determines which values that a hyperparameter tuning job can choose for the specified hyperparameter. This object is part of the HyperParameterTuningJobConfig object.

" + }, + "ParameterValue":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\-\\_\\.\\/\\[\\]\\,\\\"\\\\\\s]+$" + }, + "PredictorEvaluationResults":{ + "type":"list", + "member":{"shape":"EvaluationResult"} + }, + "PredictorExecution":{ + "type":"structure", + "members":{ + "AlgorithmArn":{ + "shape":"Arn", + "documentation":"

The ARN of the algorithm used to test the predictor.

" + }, + "TestWindows":{ + "shape":"TestWindowDetails", + "documentation":"

An array of test windows used to evaluate the algorithm. The NumberOfBacktestWindows from the object determines the number of windows in the array.

" + } + }, + "documentation":"

The algorithm used to perform a backtest and the status of those tests.

" + }, + "PredictorExecutionDetails":{ + "type":"structure", + "members":{ + "PredictorExecutions":{ + "shape":"PredictorExecutions", + "documentation":"

An array of the backtests performed to evaluate the accuracy of the predictor against a particular algorithm. The NumberOfBacktestWindows from the object determines the number of windows in the array.

" + } + }, + "documentation":"

Contains details on the backtests performed to evaluate the accuracy of the predictor. The tests are returned in descending order of accuracy, with the most accurate backtest appearing first. You specify the number of backtests to perform when you call the operation.

" + }, + "PredictorExecutions":{ + "type":"list", + "member":{"shape":"PredictorExecution"}, + "max":5, + "min":1 + }, + "PredictorSummary":{ + "type":"structure", + "members":{ + "PredictorArn":{ + "shape":"Arn", + "documentation":"

The ARN of the predictor.

" + }, + "PredictorName":{ + "shape":"Name", + "documentation":"

The name of the predictor.

" + }, + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that contains the data used to train the predictor.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the predictor. States include:

  • ACTIVE

  • CREATE_PENDING, CREATE_IN_PROGRESS, CREATE_FAILED

  • DELETE_PENDING, DELETE_IN_PROGRESS, DELETE_FAILED

  • UPDATE_PENDING, UPDATE_IN_PROGRESS, UPDATE_FAILED

The Status of the predictor must be ACTIVE before you can use the predictor to create a forecast.

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, an informational message about the error.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

When the model training task was created.

" + }, + "LastModificationTime":{ + "shape":"Timestamp", + "documentation":"

Initially, the same as CreationTime (status is CREATE_PENDING). Updated when training starts (status changed to CREATE_IN_PROGRESS), and when training is complete (status changed to ACTIVE) or fails (status changed to CREATE_FAILED).

" + } + }, + "documentation":"

Provides a summary of the predictor properties that are used in the ListPredictors operation. To get the complete set of properties, call the DescribePredictor operation, and provide the listed PredictorArn.

" + }, + "Predictors":{ + "type":"list", + "member":{"shape":"PredictorSummary"} + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

There is already a resource with this name. Try again with a different name.

", + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is in use.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

We can't find a resource with that Amazon Resource Name (ARN). Check the ARN and try again.

", + "exception":true + }, + "S3Config":{ + "type":"structure", + "required":[ + "Path", + "RoleArn" + ], + "members":{ + "Path":{ + "shape":"S3Path", + "documentation":"

The path to an Amazon Simple Storage Service (Amazon S3) bucket or file(s) in an Amazon S3 bucket.

" + }, + "RoleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the Amazon S3 bucket or files. If you provide a value for the KMSKeyArn key, the role must allow access to the key.

Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an InvalidInputException error.

" + }, + "KMSKeyArn":{ + "shape":"KMSKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key.

" + } + }, + "documentation":"

The path to the file(s) in an Amazon Simple Storage Service (Amazon S3) bucket, and an AWS Identity and Access Management (IAM) role that Amazon Forecast can assume to access the file(s). Optionally, includes an AWS Key Management Service (KMS) key. This object is part of the DataSource object that is submitted in the CreateDatasetImportJob request, and part of the DataDestination object that is submitted in the CreateForecastExportJob request.

" + }, + "S3Path":{ + "type":"string", + "pattern":"^s3://[a-z0-9].+$" + }, + "ScalingType":{ + "type":"string", + "enum":[ + "Auto", + "Linear", + "Logarithmic", + "ReverseLogarithmic" + ] + }, + "Schema":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"SchemaAttributes", + "documentation":"

An array of attributes specifying the name and type of each field in a dataset.

" + } + }, + "documentation":"

Defines the fields of a dataset. You specify this object in the CreateDataset request.

" + }, + "SchemaAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"Name", + "documentation":"

The name of the dataset field.

" + }, + "AttributeType":{ + "shape":"AttributeType", + "documentation":"

The data type of the field.

" + } + }, + "documentation":"

An attribute of a schema, which defines a dataset field. A schema attribute is required for every field in a dataset. The Schema object contains an array of SchemaAttribute objects.

" + }, + "SchemaAttributes":{ + "type":"list", + "member":{"shape":"SchemaAttribute"} + }, + "Statistics":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"Integer", + "documentation":"

The number of values in the field.

" + }, + "CountDistinct":{ + "shape":"Integer", + "documentation":"

The number of distinct values in the field.

" + }, + "CountNull":{ + "shape":"Integer", + "documentation":"

The number of null values in the field.

" + }, + "CountNan":{ + "shape":"Integer", + "documentation":"

The number of NAN (not a number) values in the field.

" + }, + "Min":{ + "shape":"String", + "documentation":"

For a numeric field, the minimum value in the field.

" + }, + "Max":{ + "shape":"String", + "documentation":"

For a numeric field, the maximum value in the field.

" + }, + "Avg":{ + "shape":"Double", + "documentation":"

For a numeric field, the average value in the field.

" + }, + "Stddev":{ + "shape":"Double", + "documentation":"

For a numeric field, the standard deviation.

" + } + }, + "documentation":"

Provides statistics for each data field imported into to an Amazon Forecast dataset with the CreateDatasetImportJob operation.

" + }, + "Status":{ + "type":"string", + "max":256 + }, + "String":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\_]+$" + }, + "SupplementaryFeature":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The name of the feature. This must be \"holiday\".

" + }, + "Value":{ + "shape":"Value", + "documentation":"

One of the following 2 letter country codes:

  • \"AU\" - AUSTRALIA

  • \"DE\" - GERMANY

  • \"JP\" - JAPAN

  • \"US\" - UNITED_STATES

  • \"UK\" - UNITED_KINGDOM

" + } + }, + "documentation":"

Describes a supplementary feature of a dataset group. This object is part of the InputDataConfig object.

The only supported feature is a holiday calendar. If you use the calendar, all data in the datasets should belong to the same country as the calendar. For the holiday calendar data, see the Jollyday web site.

" + }, + "SupplementaryFeatures":{ + "type":"list", + "member":{"shape":"SupplementaryFeature"}, + "max":1, + "min":1 + }, + "TestWindowDetails":{ + "type":"list", + "member":{"shape":"TestWindowSummary"} + }, + "TestWindowSummary":{ + "type":"structure", + "members":{ + "TestWindowStart":{ + "shape":"Timestamp", + "documentation":"

The time at which the test began.

" + }, + "TestWindowEnd":{ + "shape":"Timestamp", + "documentation":"

The time at which the test ended.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the test. Possible status values are:

  • ACTIVE

  • CREATE_IN_PROGRESS

  • CREATE_FAILED

" + }, + "Message":{ + "shape":"ErrorMessage", + "documentation":"

If the test failed, the reason why it failed.

" + } + }, + "documentation":"

The status, start time, and end time of a backtest, as well as a failure reason if applicable.

" + }, + "TestWindows":{ + "type":"list", + "member":{"shape":"WindowSummary"} + }, + "Timestamp":{"type":"timestamp"}, + "TimestampFormat":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\-\\:\\.\\,\\'\\s]+$" + }, + "TrainingParameters":{ + "type":"map", + "key":{"shape":"ParameterKey"}, + "value":{"shape":"ParameterValue"}, + "max":100, + "min":0 + }, + "UpdateDatasetGroupRequest":{ + "type":"structure", + "required":[ + "DatasetGroupArn", + "DatasetArns" + ], + "members":{ + "DatasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset group.

" + }, + "DatasetArns":{ + "shape":"ArnList", + "documentation":"

An array of the Amazon Resource Names (ARNs) of the datasets to add to the dataset group.

" + } + } + }, + "UpdateDatasetGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "Value":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\_\\-]+$" + }, + "Values":{ + "type":"list", + "member":{"shape":"Value"}, + "max":20, + "min":1 + }, + "WeightedQuantileLoss":{ + "type":"structure", + "members":{ + "Quantile":{ + "shape":"Double", + "documentation":"

The quantile. Quantiles divide a probability distribution into regions of equal probability. For example, if the distribution was divided into 5 regions of equal probability, the quantiles would be 0.2, 0.4, 0.6, and 0.8.

" + }, + "LossValue":{ + "shape":"Double", + "documentation":"

The difference between the predicted value and the actual value over the quantile, weighted (normalized) by dividing by the sum over all quantiles.

" + } + }, + "documentation":"

The weighted loss value for a quantile. This object is part of the Metrics object.

" + }, + "WeightedQuantileLosses":{ + "type":"list", + "member":{"shape":"WeightedQuantileLoss"} + }, + "WindowSummary":{ + "type":"structure", + "members":{ + "TestWindowStart":{ + "shape":"Timestamp", + "documentation":"

The timestamp that defines the start of the window.

" + }, + "TestWindowEnd":{ + "shape":"Timestamp", + "documentation":"

The timestamp that defines the end of the window.

" + }, + "ItemCount":{ + "shape":"Integer", + "documentation":"

The number of data points within the window.

" + }, + "EvaluationType":{ + "shape":"EvaluationType", + "documentation":"

The type of evaluation.

  • SUMMARY - The average metrics across all windows.

  • COMPUTED - The metrics for the specified window.

" + }, + "Metrics":{ + "shape":"Metrics", + "documentation":"

Provides metrics used to evaluate the performance of a predictor.

" + } + }, + "documentation":"

The metrics for a time range within the evaluation portion of a dataset. This object is part of the EvaluationResult object.

The TestWindowStart and TestWindowEnd parameters are determined by the BackTestWindowOffset parameter of the EvaluationParameters object.

" + } + }, + "documentation":"

Provides APIs for creating and managing Amazon Forecast resources.

" +} diff -Nru python-botocore-1.4.70/botocore/data/forecastquery/2018-06-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/forecastquery/2018-06-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/forecastquery/2018-06-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/forecastquery/2018-06-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/forecastquery/2018-06-26/service-2.json python-botocore-1.16.19+repack/botocore/data/forecastquery/2018-06-26/service-2.json --- python-botocore-1.4.70/botocore/data/forecastquery/2018-06-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/forecastquery/2018-06-26/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,182 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-26", + "endpointPrefix":"forecastquery", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Forecast Query Service", + "serviceId":"forecastquery", + "signatureVersion":"v4", + "signingName":"forecast", + "targetPrefix":"AmazonForecastRuntime", + "uid":"forecastquery-2018-06-26" + }, + "operations":{ + "QueryForecast":{ + "name":"QueryForecast", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"QueryForecastRequest"}, + "output":{"shape":"QueryForecastResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Retrieves a forecast for a single item, filtered by the supplied criteria.

The criteria is a key-value pair. The key is either item_id (or the equivalent non-timestamp, non-target field) from the TARGET_TIME_SERIES dataset, or one of the forecast dimensions specified as part of the FeaturizationConfig object.

By default, QueryForecast returns the complete date range for the filtered forecast. You can request a specific date range.

To get the full forecast, use the CreateForecastExportJob operation.

The forecasts generated by Amazon Forecast are in the same timezone as the dataset that was used to create the predictor.

" + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):forecast:.*:.*:.+" + }, + "AttributeName":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9\\_\\-]+$" + }, + "AttributeValue":{ + "type":"string", + "max":256 + }, + "DataPoint":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp of the specific forecast.

" + }, + "Value":{ + "shape":"Double", + "documentation":"

The forecast value.

" + } + }, + "documentation":"

The forecast value for a specific date. Part of the Forecast object.

" + }, + "DateTime":{"type":"string"}, + "Double":{"type":"double"}, + "ErrorMessage":{"type":"string"}, + "Filters":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":1 + }, + "Forecast":{ + "type":"structure", + "members":{ + "Predictions":{ + "shape":"Predictions", + "documentation":"

The forecast.

The string of the string-to-array map is one of the following values:

  • p10

  • p50

  • p90

" + } + }, + "documentation":"

Provides information about a forecast. Returned as part of the QueryForecast response.

" + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value is invalid or is too long.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The token is not valid. Tokens expire after 24 hours.

", + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of requests per second has been exceeded.

", + "exception":true + }, + "NextToken":{ + "type":"string", + "max":3000, + "min":1 + }, + "Predictions":{ + "type":"map", + "key":{"shape":"Statistic"}, + "value":{"shape":"TimeSeries"} + }, + "QueryForecastRequest":{ + "type":"structure", + "required":[ + "ForecastArn", + "Filters" + ], + "members":{ + "ForecastArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the forecast to query.

" + }, + "StartDate":{ + "shape":"DateTime", + "documentation":"

The start date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T08:00:00.

" + }, + "EndDate":{ + "shape":"DateTime", + "documentation":"

The end date for the forecast. Specify the date using this format: yyyy-MM-dd'T'HH:mm:ss (ISO 8601 format). For example, 2015-01-01T20:00:00.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

The filtering criteria to apply when retrieving the forecast. For example, to get the forecast for client_21 in the electricity usage dataset, specify the following:

{\"item_id\" : \"client_21\"}

To get the full forecast, use the CreateForecastExportJob operation.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" + } + } + }, + "QueryForecastResponse":{ + "type":"structure", + "members":{ + "Forecast":{ + "shape":"Forecast", + "documentation":"

The forecast.

" + } + } + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is in use.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

We can't find that resource. Check the information that you've provided and try again.

", + "exception":true + }, + "Statistic":{ + "type":"string", + "max":4 + }, + "TimeSeries":{ + "type":"list", + "member":{"shape":"DataPoint"} + }, + "Timestamp":{"type":"string"} + }, + "documentation":"

Provides APIs for creating and managing Amazon Forecast resources.

" +} diff -Nru python-botocore-1.4.70/botocore/data/frauddetector/2019-11-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/frauddetector/2019-11-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/frauddetector/2019-11-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/frauddetector/2019-11-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/frauddetector/2019-11-15/service-2.json python-botocore-1.16.19+repack/botocore/data/frauddetector/2019-11-15/service-2.json --- python-botocore-1.4.70/botocore/data/frauddetector/2019-11-15/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/frauddetector/2019-11-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,2464 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-11-15", + "endpointPrefix":"frauddetector", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Fraud Detector", + "serviceId":"FraudDetector", + "signatureVersion":"v4", + "targetPrefix":"AWSHawksNestServiceFacade", + "uid":"frauddetector-2019-11-15" + }, + "operations":{ + "BatchCreateVariable":{ + "name":"BatchCreateVariable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchCreateVariableRequest"}, + "output":{"shape":"BatchCreateVariableResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a batch of variables.

" + }, + "BatchGetVariable":{ + "name":"BatchGetVariable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetVariableRequest"}, + "output":{"shape":"BatchGetVariableResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets a batch of variables.

" + }, + "CreateDetectorVersion":{ + "name":"CreateDetectorVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDetectorVersionRequest"}, + "output":{"shape":"CreateDetectorVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a detector version. The detector version starts in a DRAFT status.

" + }, + "CreateModelVersion":{ + "name":"CreateModelVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateModelVersionRequest"}, + "output":{"shape":"CreateModelVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a version of the model using the specified model type.

" + }, + "CreateRule":{ + "name":"CreateRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleRequest"}, + "output":{"shape":"CreateRuleResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a rule for use with the specified detector.

" + }, + "CreateVariable":{ + "name":"CreateVariable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVariableRequest"}, + "output":{"shape":"CreateVariableResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates a variable.

" + }, + "DeleteDetector":{ + "name":"DeleteDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDetectorRequest"}, + "output":{"shape":"DeleteDetectorResult"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the detector. Before deleting a detector, you must first delete all detector versions and rule versions associated with the detector.

" + }, + "DeleteDetectorVersion":{ + "name":"DeleteDetectorVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDetectorVersionRequest"}, + "output":{"shape":"DeleteDetectorVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Deletes the detector version. You cannot delete detector versions that are in ACTIVE status.

" + }, + "DeleteEvent":{ + "name":"DeleteEvent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventRequest"}, + "output":{"shape":"DeleteEventResult"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified event.

" + }, + "DeleteRuleVersion":{ + "name":"DeleteRuleVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleVersionRequest"}, + "output":{"shape":"DeleteRuleVersionResult"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the rule version. You cannot delete a rule version if it is used by an ACTIVE or INACTIVE detector version.

" + }, + "DescribeDetector":{ + "name":"DescribeDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDetectorRequest"}, + "output":{"shape":"DescribeDetectorResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all versions for a specified detector.

" + }, + "DescribeModelVersions":{ + "name":"DescribeModelVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeModelVersionsRequest"}, + "output":{"shape":"DescribeModelVersionsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all of the model versions for the specified model type or for the specified model type and model ID. You can also get details for a single, specified model version.

" + }, + "GetDetectorVersion":{ + "name":"GetDetectorVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDetectorVersionRequest"}, + "output":{"shape":"GetDetectorVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets a particular detector version.

" + }, + "GetDetectors":{ + "name":"GetDetectors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDetectorsRequest"}, + "output":{"shape":"GetDetectorsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all of detectors. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetEventTypesResponse as part of your request. A null pagination token fetches the records from the beginning.

" + }, + "GetExternalModels":{ + "name":"GetExternalModels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExternalModelsRequest"}, + "output":{"shape":"GetExternalModelsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the details for one or more Amazon SageMaker models that have been imported into the service. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 5 and 10. To get the next page results, provide the pagination token from the GetExternalModelsResult as part of your request. A null pagination token fetches the records from the beginning.

" + }, + "GetModelVersion":{ + "name":"GetModelVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetModelVersionRequest"}, + "output":{"shape":"GetModelVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets a model version.

" + }, + "GetModels":{ + "name":"GetModels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetModelsRequest"}, + "output":{"shape":"GetModelsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all of the models for the AWS account, or the specified model type, or gets a single model for the specified model type, model ID combination.

" + }, + "GetOutcomes":{ + "name":"GetOutcomes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOutcomesRequest"}, + "output":{"shape":"GetOutcomesResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets one or more outcomes. This is a paginated API. If you provide a null maxSizePerPage, this actions retrieves a maximum of 10 records per page. If you provide a maxSizePerPage, the value must be between 50 and 100. To get the next page results, provide the pagination token from the GetOutcomesResult as part of your request. A null pagination token fetches the records from the beginning.

" + }, + "GetPrediction":{ + "name":"GetPrediction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPredictionRequest"}, + "output":{"shape":"GetPredictionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Evaluates an event against a detector version. If a version ID is not provided, the detector’s (ACTIVE) version is used.

" + }, + "GetRules":{ + "name":"GetRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRulesRequest"}, + "output":{"shape":"GetRulesResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all rules available for the specified detector.

" + }, + "GetVariables":{ + "name":"GetVariables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVariablesRequest"}, + "output":{"shape":"GetVariablesResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets all of the variables or the specific variable. This is a paginated API. Providing null maxSizePerPage results in retrieving maximum of 100 records per page. If you provide maxSizePerPage the value must be between 50 and 100. To get the next page result, a provide a pagination token from GetVariablesResult as part of your request. Null pagination token fetches the records from the beginning.

" + }, + "PutDetector":{ + "name":"PutDetector", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutDetectorRequest"}, + "output":{"shape":"PutDetectorResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates or updates a detector.

" + }, + "PutExternalModel":{ + "name":"PutExternalModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutExternalModelRequest"}, + "output":{"shape":"PutExternalModelResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates or updates an Amazon SageMaker model endpoint. You can also use this action to update the configuration of the model endpoint, including the IAM role and/or the mapped variables.

" + }, + "PutModel":{ + "name":"PutModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutModelRequest"}, + "output":{"shape":"PutModelResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates or updates a model.

" + }, + "PutOutcome":{ + "name":"PutOutcome", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutOutcomeRequest"}, + "output":{"shape":"PutOutcomeResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates or updates an outcome.

" + }, + "UpdateDetectorVersion":{ + "name":"UpdateDetectorVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDetectorVersionRequest"}, + "output":{"shape":"UpdateDetectorVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a detector version. The detector version attributes that you can update include models, external model endpoints, rules, and description. You can only update a DRAFT detector version.

" + }, + "UpdateDetectorVersionMetadata":{ + "name":"UpdateDetectorVersionMetadata", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDetectorVersionMetadataRequest"}, + "output":{"shape":"UpdateDetectorVersionMetadataResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the detector version's description. You can update the metadata for any detector version (DRAFT, ACTIVE, or INACTIVE).

" + }, + "UpdateDetectorVersionStatus":{ + "name":"UpdateDetectorVersionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDetectorVersionStatusRequest"}, + "output":{"shape":"UpdateDetectorVersionStatusResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the detector version’s status. You can perform the following promotions or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to INACTIVE, and INACTIVE to ACTIVE.

" + }, + "UpdateModelVersion":{ + "name":"UpdateModelVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateModelVersionRequest"}, + "output":{"shape":"UpdateModelVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a model version. You can update the description and status attributes using this action. You can perform the following status updates:

  1. Change the TRAINING_COMPLETE status to ACTIVE

  2. Change ACTIVE back to TRAINING_COMPLETE

" + }, + "UpdateRuleMetadata":{ + "name":"UpdateRuleMetadata", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleMetadataRequest"}, + "output":{"shape":"UpdateRuleMetadataResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a rule's metadata.

" + }, + "UpdateRuleVersion":{ + "name":"UpdateRuleVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleVersionRequest"}, + "output":{"shape":"UpdateRuleVersionResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a rule version resulting in a new rule version.

" + }, + "UpdateVariable":{ + "name":"UpdateVariable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVariableRequest"}, + "output":{"shape":"UpdateVariableResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a variable.

" + } + }, + "shapes":{ + "BatchCreateVariableError":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name.

" + }, + "code":{ + "shape":"integer", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"string", + "documentation":"

The error message.

" + } + }, + "documentation":"

Provides the error of the batch create variable API.

" + }, + "BatchCreateVariableErrorList":{ + "type":"list", + "member":{"shape":"BatchCreateVariableError"} + }, + "BatchCreateVariableRequest":{ + "type":"structure", + "required":["variableEntries"], + "members":{ + "variableEntries":{ + "shape":"VariableEntryList", + "documentation":"

The list of variables for the batch create variable request.

" + } + } + }, + "BatchCreateVariableResult":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"BatchCreateVariableErrorList", + "documentation":"

Provides the errors for the BatchCreateVariable request.

" + } + } + }, + "BatchGetVariableError":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The error name.

" + }, + "code":{ + "shape":"integer", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"string", + "documentation":"

The error message.

" + } + }, + "documentation":"

Provides the error of the batch get variable API.

" + }, + "BatchGetVariableErrorList":{ + "type":"list", + "member":{"shape":"BatchGetVariableError"} + }, + "BatchGetVariableRequest":{ + "type":"structure", + "required":["names"], + "members":{ + "names":{ + "shape":"NameList", + "documentation":"

The list of variable names to get.

" + } + } + }, + "BatchGetVariableResult":{ + "type":"structure", + "members":{ + "variables":{ + "shape":"VariableList", + "documentation":"

The returned variables.

" + }, + "errors":{ + "shape":"BatchGetVariableErrorList", + "documentation":"

The errors from the request.

" + } + } + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

An exception indicating there was a conflict during a delete operation. The following delete operations can cause a conflict exception:

  • DeleteDetector: A conflict exception will occur if the detector has associated Rules or DetectorVersions. You can only delete a detector if it has no Rules or DetectorVersions.

  • DeleteDetectorVersion: A conflict exception will occur if the DetectorVersion status is ACTIVE.

  • DeleteRuleVersion: A conflict exception will occur if the RuleVersion is in use by an associated ACTIVE or INACTIVE DetectorVersion.

", + "exception":true + }, + "CreateDetectorVersionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "rules" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The ID of the detector under which you want to create a new version.

" + }, + "description":{ + "shape":"description", + "documentation":"

The description of the detector version.

" + }, + "externalModelEndpoints":{ + "shape":"ListOfStrings", + "documentation":"

The Amazon Sagemaker model endpoints to include in the detector version.

" + }, + "rules":{ + "shape":"RuleList", + "documentation":"

The rules to include in the detector version.

" + }, + "modelVersions":{ + "shape":"ListOfModelVersions", + "documentation":"

The model versions to include in the detector version.

" + }, + "ruleExecutionMode":{ + "shape":"RuleExecutionMode", + "documentation":"

The rule execution mode for the rules included in the detector version.

You can define and edit the rule mode at the detector version level, when it is in draft status.

If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule.

If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules.

The default behavior is FIRST_MATCHED.

" + } + } + }, + "CreateDetectorVersionResult":{ + "type":"structure", + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The ID for the created version's parent detector.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The ID for the created detector.

" + }, + "status":{ + "shape":"DetectorVersionStatus", + "documentation":"

The status of the detector version.

" + } + } + }, + "CreateModelVersionRequest":{ + "type":"structure", + "required":[ + "modelId", + "modelType" + ], + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model version description.

" + } + } + }, + "CreateModelVersionResult":{ + "type":"structure", + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The version of the model.

" + }, + "status":{ + "shape":"string", + "documentation":"

The model version status.

" + } + } + }, + "CreateRuleRequest":{ + "type":"structure", + "required":[ + "ruleId", + "detectorId", + "expression", + "language", + "outcomes" + ], + "members":{ + "ruleId":{ + "shape":"identifier", + "documentation":"

The rule ID.

" + }, + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID for the rule's parent detector.

" + }, + "description":{ + "shape":"description", + "documentation":"

The rule description.

" + }, + "expression":{ + "shape":"ruleExpression", + "documentation":"

The rule expression.

" + }, + "language":{ + "shape":"Language", + "documentation":"

The language of the rule.

" + }, + "outcomes":{ + "shape":"NonEmptyListOfStrings", + "documentation":"

The outcome or outcomes returned when the rule expression matches.

" + } + } + }, + "CreateRuleResult":{ + "type":"structure", + "members":{ + "rule":{ + "shape":"Rule", + "documentation":"

The created rule.

" + } + } + }, + "CreateVariableRequest":{ + "type":"structure", + "required":[ + "name", + "dataType", + "dataSource", + "defaultValue" + ], + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the variable.

" + }, + "dataType":{ + "shape":"DataType", + "documentation":"

The data type.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The source of the data.

" + }, + "defaultValue":{ + "shape":"string", + "documentation":"

The default value for the variable when no value is received.

" + }, + "description":{ + "shape":"string", + "documentation":"

The description.

" + }, + "variableType":{ + "shape":"string", + "documentation":"

The variable type.

" + } + } + }, + "CreateVariableResult":{ + "type":"structure", + "members":{ + } + }, + "CsvIndexToVariableMap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"string"} + }, + "DataSource":{ + "type":"string", + "enum":[ + "EVENT", + "MODEL_SCORE", + "EXTERNAL_MODEL_SCORE" + ] + }, + "DataType":{ + "type":"string", + "enum":[ + "STRING", + "INTEGER", + "FLOAT", + "BOOLEAN" + ] + }, + "DeleteDetectorRequest":{ + "type":"structure", + "required":["detectorId"], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The ID of the detector to delete.

" + } + } + }, + "DeleteDetectorResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteDetectorVersionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "detectorVersionId" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The ID of the parent detector for the detector version to delete.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The ID of the detector version to delete.

" + } + } + }, + "DeleteDetectorVersionResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteEventRequest":{ + "type":"structure", + "required":["eventId"], + "members":{ + "eventId":{ + "shape":"string", + "documentation":"

The ID of the event to delete.

" + } + } + }, + "DeleteEventResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteRuleVersionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "ruleId", + "ruleVersion" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The ID of the detector that includes the rule version to delete.

" + }, + "ruleId":{ + "shape":"identifier", + "documentation":"

The rule ID of the rule version to delete.

" + }, + "ruleVersion":{ + "shape":"nonEmptyString", + "documentation":"

The rule version to delete.

" + } + } + }, + "DeleteRuleVersionResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeDetectorRequest":{ + "type":"structure", + "required":["detectorId"], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token from the previous response.

" + }, + "maxResults":{ + "shape":"DetectorVersionMaxResults", + "documentation":"

The maximum number of results to return for the request.

" + } + } + }, + "DescribeDetectorResult":{ + "type":"structure", + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "detectorVersionSummaries":{ + "shape":"DetectorVersionSummaryList", + "documentation":"

The status and description for each detector version.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token to be used for subsequent requests.

" + } + } + }, + "DescribeModelVersionsRequest":{ + "type":"structure", + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token from the previous results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

" + } + } + }, + "DescribeModelVersionsResult":{ + "type":"structure", + "members":{ + "modelVersionDetails":{ + "shape":"ModelVersionDetailList", + "documentation":"

The model version details.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token.

" + } + } + }, + "Detector":{ + "type":"structure", + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "description":{ + "shape":"description", + "documentation":"

The detector description.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

Timestamp of when the detector was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

Timestamp of when the detector was created.

" + } + }, + "documentation":"

The detector.

" + }, + "DetectorList":{ + "type":"list", + "member":{"shape":"Detector"} + }, + "DetectorVersionMaxResults":{ + "type":"integer", + "box":true, + "max":2500, + "min":1000 + }, + "DetectorVersionStatus":{ + "type":"string", + "enum":[ + "DRAFT", + "ACTIVE", + "INACTIVE" + ] + }, + "DetectorVersionSummary":{ + "type":"structure", + "members":{ + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + }, + "status":{ + "shape":"DetectorVersionStatus", + "documentation":"

The detector version status.

" + }, + "description":{ + "shape":"description", + "documentation":"

The detector version description.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

Timestamp of when the detector version was last updated.

" + } + }, + "documentation":"

The summary of the detector version.

" + }, + "DetectorVersionSummaryList":{ + "type":"list", + "member":{"shape":"DetectorVersionSummary"} + }, + "DetectorsMaxResults":{ + "type":"integer", + "box":true, + "max":10, + "min":5 + }, + "EventAttributeMap":{ + "type":"map", + "key":{"shape":"attributeKey"}, + "value":{"shape":"attributeValue"} + }, + "ExternalModel":{ + "type":"structure", + "members":{ + "modelEndpoint":{ + "shape":"string", + "documentation":"

The Amazon SageMaker model endpoints.

" + }, + "modelSource":{ + "shape":"ModelSource", + "documentation":"

The source of the model.

" + }, + "role":{ + "shape":"Role", + "documentation":"

The role used to invoke the model.

" + }, + "inputConfiguration":{ + "shape":"ModelInputConfiguration", + "documentation":"

The input configuration.

" + }, + "outputConfiguration":{ + "shape":"ModelOutputConfiguration", + "documentation":"

The output configuration.

" + }, + "modelEndpointStatus":{ + "shape":"ModelEndpointStatus", + "documentation":"

The Amazon Fraud Detector status for the external model endpoint

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

Timestamp of when the model was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

Timestamp of when the model was last created.

" + } + }, + "documentation":"

The Amazon SageMaker model.

" + }, + "ExternalModelEndpointDataBlobMap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"ModelEndpointDataBlob"}, + "sensitive":true + }, + "ExternalModelList":{ + "type":"list", + "member":{"shape":"ExternalModel"} + }, + "ExternalModelsMaxResults":{ + "type":"integer", + "box":true, + "max":10, + "min":5 + }, + "GetDetectorVersionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "detectorVersionId" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + } + } + }, + "GetDetectorVersionResult":{ + "type":"structure", + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + }, + "description":{ + "shape":"description", + "documentation":"

The detector version description.

" + }, + "externalModelEndpoints":{ + "shape":"ListOfStrings", + "documentation":"

The Amazon SageMaker model endpoints included in the detector version.

" + }, + "modelVersions":{ + "shape":"ListOfModelVersions", + "documentation":"

The model versions included in the detector version.

" + }, + "rules":{ + "shape":"RuleList", + "documentation":"

The rules included in the detector version.

" + }, + "status":{ + "shape":"DetectorVersionStatus", + "documentation":"

The status of the detector version.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

The timestamp when the detector version was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

The timestamp when the detector version was created.

" + }, + "ruleExecutionMode":{ + "shape":"RuleExecutionMode", + "documentation":"

The execution mode of the rule in the dectector

FIRST_MATCHED indicates that Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule.

ALL_MATCHED indicates that Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules. You can define and edit the rule mode at the detector version level, when it is in draft status.

" + } + } + }, + "GetDetectorsRequest":{ + "type":"structure", + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token for the subsequent request.

" + }, + "maxResults":{ + "shape":"DetectorsMaxResults", + "documentation":"

The maximum number of objects to return for the request.

" + } + } + }, + "GetDetectorsResult":{ + "type":"structure", + "members":{ + "detectors":{ + "shape":"DetectorList", + "documentation":"

The detectors.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token.

" + } + } + }, + "GetExternalModelsRequest":{ + "type":"structure", + "members":{ + "modelEndpoint":{ + "shape":"string", + "documentation":"

The Amazon SageMaker model endpoint.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token for the request.

" + }, + "maxResults":{ + "shape":"ExternalModelsMaxResults", + "documentation":"

The maximum number of objects to return for the request.

" + } + } + }, + "GetExternalModelsResult":{ + "type":"structure", + "members":{ + "externalModels":{ + "shape":"ExternalModelList", + "documentation":"

Gets the Amazon SageMaker models.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token to be used in subsequent requests.

" + } + } + }, + "GetModelVersionRequest":{ + "type":"structure", + "required":[ + "modelId", + "modelType", + "modelVersionNumber" + ], + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + } + } + }, + "GetModelVersionResult":{ + "type":"structure", + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model version description.

" + }, + "status":{ + "shape":"string", + "documentation":"

The model version status.

" + } + } + }, + "GetModelsRequest":{ + "type":"structure", + "members":{ + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next token for the request.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum results to return for the request.

" + } + } + }, + "GetModelsResult":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"string", + "documentation":"

The next token for subsequent requests.

" + }, + "models":{ + "shape":"ModelList", + "documentation":"

The returned models.

" + } + } + }, + "GetOutcomesRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"identifier", + "documentation":"

The name of the outcome or outcomes to get.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token for the request.

" + }, + "maxResults":{ + "shape":"OutcomesMaxResults", + "documentation":"

The maximum number of objects to return for the request.

" + } + } + }, + "GetOutcomesResult":{ + "type":"structure", + "members":{ + "outcomes":{ + "shape":"OutcomeList", + "documentation":"

The outcomes.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token for subsequent requests.

" + } + } + }, + "GetPredictionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "eventId" + ], + "members":{ + "detectorId":{ + "shape":"string", + "documentation":"

The detector ID.

" + }, + "detectorVersionId":{ + "shape":"string", + "documentation":"

The detector version ID.

" + }, + "eventId":{ + "shape":"string", + "documentation":"

The unique ID used to identify the event.

" + }, + "eventAttributes":{ + "shape":"EventAttributeMap", + "documentation":"

Names of variables you defined in Amazon Fraud Detector to represent event data elements and their corresponding values for the event you are sending for evaluation.

" + }, + "externalModelEndpointDataBlobs":{ + "shape":"ExternalModelEndpointDataBlobMap", + "documentation":"

The Amazon SageMaker model endpoint input data blobs.

" + } + } + }, + "GetPredictionResult":{ + "type":"structure", + "members":{ + "outcomes":{ + "shape":"ListOfStrings", + "documentation":"

The prediction outcomes.

" + }, + "modelScores":{ + "shape":"ListOfModelScores", + "documentation":"

The model scores for models used in the detector version.

" + }, + "ruleResults":{ + "shape":"ListOfRuleResults", + "documentation":"

The rule results in the prediction.

" + } + } + }, + "GetRulesRequest":{ + "type":"structure", + "required":["detectorId"], + "members":{ + "ruleId":{ + "shape":"identifier", + "documentation":"

The rule ID.

" + }, + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "ruleVersion":{ + "shape":"nonEmptyString", + "documentation":"

The rule version.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token.

" + }, + "maxResults":{ + "shape":"RulesMaxResults", + "documentation":"

The maximum number of rules to return for the request.

" + } + } + }, + "GetRulesResult":{ + "type":"structure", + "members":{ + "ruleDetails":{ + "shape":"RuleDetailList", + "documentation":"

The details of the requested rule.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token to be used in subsequent requests.

" + } + } + }, + "GetVariablesRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the variable.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token of the get variable request.

" + }, + "maxResults":{ + "shape":"VariablesMaxResults", + "documentation":"

The max size per page determined for the get variable request.

" + } + } + }, + "GetVariablesResult":{ + "type":"structure", + "members":{ + "variables":{ + "shape":"VariableList", + "documentation":"

The names of the variables returned.

" + }, + "nextToken":{ + "shape":"string", + "documentation":"

The next page token to be used in subsequent requests.

" + } + } + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

An exception indicating an internal server error.

", + "exception":true, + "fault":true + }, + "IsOpaque":{"type":"boolean"}, + "JsonKeyToVariableMap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"string"} + }, + "LabelMapper":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"ListOfStrings"} + }, + "LabelSchema":{ + "type":"structure", + "required":[ + "labelKey", + "labelMapper" + ], + "members":{ + "labelKey":{ + "shape":"string", + "documentation":"

The label key.

" + }, + "labelMapper":{ + "shape":"LabelMapper", + "documentation":"

The label mapper maps the Amazon Fraud Detector supported label to the appropriate source labels. For example, if \"FRAUD\" and \"LEGIT\" are Amazon Fraud Detector supported labels, this mapper could be: {\"FRAUD\" => [\"0\"], \"LEGIT\" => [\"1\"]} or {\"FRAUD\" => [\"false\"], \"LEGIT\" => [\"true\"]} or {\"FRAUD\" => [\"fraud\", \"abuse\"], \"LEGIT\" => [\"legit\", \"safe\"]}. The value part of the mapper is a list, because you may have multiple variants for a single Amazon Fraud Detector label.

" + } + }, + "documentation":"

The label schema.

" + }, + "Language":{ + "type":"string", + "enum":["DETECTORPL"] + }, + "ListOfModelScores":{ + "type":"list", + "member":{"shape":"ModelScores"} + }, + "ListOfModelVersions":{ + "type":"list", + "member":{"shape":"ModelVersion"} + }, + "ListOfRuleResults":{ + "type":"list", + "member":{"shape":"RuleResult"} + }, + "ListOfStrings":{ + "type":"list", + "member":{"shape":"string"} + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "MetricsMap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"string"} + }, + "Model":{ + "type":"structure", + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model description.

" + }, + "trainingDataSource":{ + "shape":"TrainingDataSource", + "documentation":"

The model training data source in Amazon S3.

" + }, + "modelVariables":{ + "shape":"ModelVariablesList", + "documentation":"

The model input variables.

" + }, + "labelSchema":{ + "shape":"LabelSchema", + "documentation":"

The model label schema.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

Timestamp of last time the model was updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

Timestamp of when the model was created.

" + } + }, + "documentation":"

The model.

" + }, + "ModelEndpointDataBlob":{ + "type":"structure", + "members":{ + "byteBuffer":{ + "shape":"blob", + "documentation":"

The byte buffer of the Amazon SageMaker model endpoint input data blob.

" + }, + "contentType":{ + "shape":"contentType", + "documentation":"

The content type of the Amazon SageMaker model endpoint input data blob.

" + } + }, + "documentation":"

A pre-formed Amazon SageMaker model input you can include if your detector version includes an imported Amazon SageMaker model endpoint with pass-through input configuration.

" + }, + "ModelEndpointStatus":{ + "type":"string", + "enum":[ + "ASSOCIATED", + "DISSOCIATED" + ] + }, + "ModelInputConfiguration":{ + "type":"structure", + "required":["isOpaque"], + "members":{ + "format":{ + "shape":"ModelInputDataFormat", + "documentation":"

The format of the model input configuration. The format differs depending on if it is passed through to SageMaker or constructed by Amazon Fraud Detector.

" + }, + "isOpaque":{ + "shape":"IsOpaque", + "documentation":"

For an opaque-model, the input to the model will be a ByteBuffer blob provided in the getPrediction request, and will be passed to SageMaker as-is. For non-opaque models, the input will be constructed by Amazon Fraud Detector based on the model-configuration.

" + }, + "jsonInputTemplate":{ + "shape":"string", + "documentation":"

Template for constructing the JSON input-data sent to SageMaker. At event-evaluation, the placeholders for variable names in the template will be replaced with the variable values before being sent to SageMaker.

" + }, + "csvInputTemplate":{ + "shape":"string", + "documentation":"

Template for constructing the CSV input-data sent to SageMaker. At event-evaluation, the placeholders for variable-names in the template will be replaced with the variable values before being sent to SageMaker.

" + } + }, + "documentation":"

The model input configuration.

" + }, + "ModelInputDataFormat":{ + "type":"string", + "enum":[ + "TEXT_CSV", + "APPLICATION_JSON" + ] + }, + "ModelList":{ + "type":"list", + "member":{"shape":"Model"} + }, + "ModelOutputConfiguration":{ + "type":"structure", + "required":["format"], + "members":{ + "format":{ + "shape":"ModelOutputDataFormat", + "documentation":"

The format of the model output configuration.

" + }, + "jsonKeyToVariableMap":{ + "shape":"JsonKeyToVariableMap", + "documentation":"

A map of JSON keys in response from SageMaker to the Amazon Fraud Detector variables.

" + }, + "csvIndexToVariableMap":{ + "shape":"CsvIndexToVariableMap", + "documentation":"

A map of CSV index values in the SageMaker response to the Amazon Fraud Detector variables.

" + } + }, + "documentation":"

Provides the model output configuration.

" + }, + "ModelOutputDataFormat":{ + "type":"string", + "enum":[ + "TEXT_CSV", + "APPLICATION_JSONLINES" + ] + }, + "ModelPredictionMap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"float"} + }, + "ModelScores":{ + "type":"structure", + "members":{ + "modelVersion":{ + "shape":"ModelVersion", + "documentation":"

The model version.

" + }, + "scores":{ + "shape":"ModelPredictionMap", + "documentation":"

The model's fraud prediction scores.

" + } + }, + "documentation":"

The fraud prediction scores.

" + }, + "ModelSource":{ + "type":"string", + "enum":["SAGEMAKER"] + }, + "ModelTypeEnum":{ + "type":"string", + "enum":["ONLINE_FRAUD_INSIGHTS"] + }, + "ModelVariable":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"string", + "documentation":"

The model variable's name.>

" + }, + "index":{ + "shape":"ModelVariableIndex", + "documentation":"

The model variable's index.>

" + } + }, + "documentation":"

The model variable.>

" + }, + "ModelVariableIndex":{"type":"integer"}, + "ModelVariablesList":{ + "type":"list", + "member":{"shape":"ModelVariable"} + }, + "ModelVersion":{ + "type":"structure", + "required":[ + "modelId", + "modelType", + "modelVersionNumber" + ], + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The parent model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + } + }, + "documentation":"

The model version.

" + }, + "ModelVersionDetail":{ + "type":"structure", + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model description.

" + }, + "status":{ + "shape":"string", + "documentation":"

The model status.

" + }, + "trainingDataSource":{ + "shape":"TrainingDataSource", + "documentation":"

The model training data source.

" + }, + "modelVariables":{ + "shape":"ModelVariablesList", + "documentation":"

The model variables.

" + }, + "labelSchema":{ + "shape":"LabelSchema", + "documentation":"

The model label schema.

" + }, + "validationMetrics":{ + "shape":"MetricsMap", + "documentation":"

The model validation metrics.

" + }, + "trainingMetrics":{ + "shape":"MetricsMap", + "documentation":"

The model training metrics.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

The timestamp when the model was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

The timestamp when the model was created.

" + } + }, + "documentation":"

Provides the model version details.

" + }, + "ModelVersionDetailList":{ + "type":"list", + "member":{"shape":"ModelVersionDetail"} + }, + "ModelVersionStatus":{ + "type":"string", + "enum":[ + "TRAINING_IN_PROGRESS", + "TRAINING_COMPLETE", + "ACTIVATE_REQUESTED", + "ACTIVATE_IN_PROGRESS", + "ACTIVE", + "INACTIVATE_IN_PROGRESS", + "INACTIVE", + "ERROR" + ] + }, + "NameList":{ + "type":"list", + "member":{"shape":"string"}, + "max":100, + "min":1 + }, + "NonEmptyListOfStrings":{ + "type":"list", + "member":{"shape":"string"}, + "min":1 + }, + "Outcome":{ + "type":"structure", + "members":{ + "name":{ + "shape":"identifier", + "documentation":"

The outcome name.

" + }, + "description":{ + "shape":"description", + "documentation":"

The outcome description.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

The timestamp when the outcome was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

The timestamp when the outcome was created.

" + } + }, + "documentation":"

The outcome.

" + }, + "OutcomeList":{ + "type":"list", + "member":{"shape":"Outcome"} + }, + "OutcomesMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":50 + }, + "PutDetectorRequest":{ + "type":"structure", + "required":["detectorId"], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "description":{ + "shape":"description", + "documentation":"

The description of the detector.

" + } + } + }, + "PutDetectorResult":{ + "type":"structure", + "members":{ + } + }, + "PutExternalModelRequest":{ + "type":"structure", + "required":[ + "modelEndpoint", + "modelSource", + "role", + "inputConfiguration", + "outputConfiguration", + "modelEndpointStatus" + ], + "members":{ + "modelEndpoint":{ + "shape":"string", + "documentation":"

The model endpoints name.

" + }, + "modelSource":{ + "shape":"ModelSource", + "documentation":"

The source of the model.

" + }, + "role":{ + "shape":"Role", + "documentation":"

The IAM role used to invoke the model endpoint.

" + }, + "inputConfiguration":{ + "shape":"ModelInputConfiguration", + "documentation":"

The model endpoint input configuration.

" + }, + "outputConfiguration":{ + "shape":"ModelOutputConfiguration", + "documentation":"

The model endpoint output configuration.

" + }, + "modelEndpointStatus":{ + "shape":"ModelEndpointStatus", + "documentation":"

The model endpoint’s status in Amazon Fraud Detector.

" + } + } + }, + "PutExternalModelResult":{ + "type":"structure", + "members":{ + } + }, + "PutModelRequest":{ + "type":"structure", + "required":[ + "modelId", + "modelType", + "trainingDataSource", + "modelVariables", + "labelSchema" + ], + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model description.

" + }, + "trainingDataSource":{ + "shape":"TrainingDataSource", + "documentation":"

The training data source location in Amazon S3.

" + }, + "modelVariables":{ + "shape":"ModelVariablesList", + "documentation":"

The model input variables.

" + }, + "labelSchema":{ + "shape":"LabelSchema", + "documentation":"

The label schema.

" + } + } + }, + "PutModelResult":{ + "type":"structure", + "members":{ + } + }, + "PutOutcomeRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"identifier", + "documentation":"

The name of the outcome.

" + }, + "description":{ + "shape":"description", + "documentation":"

The outcome description.

" + } + } + }, + "PutOutcomeResult":{ + "type":"structure", + "members":{ + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

An exception indicating the specified resource was not found.

", + "exception":true + }, + "Role":{ + "type":"structure", + "required":[ + "arn", + "name" + ], + "members":{ + "arn":{ + "shape":"string", + "documentation":"

The role ARN.

" + }, + "name":{ + "shape":"string", + "documentation":"

The role name.

" + } + }, + "documentation":"

The role used to invoke external model endpoints.

" + }, + "Rule":{ + "type":"structure", + "required":[ + "detectorId", + "ruleId", + "ruleVersion" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector for which the rule is associated.

" + }, + "ruleId":{ + "shape":"identifier", + "documentation":"

The rule ID.

" + }, + "ruleVersion":{ + "shape":"nonEmptyString", + "documentation":"

The rule version.

" + } + }, + "documentation":"

A rule.

" + }, + "RuleDetail":{ + "type":"structure", + "members":{ + "ruleId":{ + "shape":"identifier", + "documentation":"

The rule ID.

" + }, + "description":{ + "shape":"description", + "documentation":"

The rule description.

" + }, + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector for which the rule is associated.

" + }, + "ruleVersion":{ + "shape":"nonEmptyString", + "documentation":"

The rule version.

" + }, + "expression":{ + "shape":"ruleExpression", + "documentation":"

The rule expression.

" + }, + "language":{ + "shape":"Language", + "documentation":"

The rule language.

" + }, + "outcomes":{ + "shape":"NonEmptyListOfStrings", + "documentation":"

The rule outcomes.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

Timestamp of the last time the rule was updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

The timestamp of when the rule was created.

" + } + }, + "documentation":"

The details of the rule.

" + }, + "RuleDetailList":{ + "type":"list", + "member":{"shape":"RuleDetail"} + }, + "RuleExecutionMode":{ + "type":"string", + "enum":[ + "ALL_MATCHED", + "FIRST_MATCHED" + ] + }, + "RuleList":{ + "type":"list", + "member":{"shape":"Rule"} + }, + "RuleResult":{ + "type":"structure", + "members":{ + "ruleId":{ + "shape":"string", + "documentation":"

The rule ID that was matched, based on the rule execution mode.

" + }, + "outcomes":{ + "shape":"ListOfStrings", + "documentation":"

The outcomes of the matched rule, based on the rule execution mode.

" + } + }, + "documentation":"

The rule results.

" + }, + "RulesMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":50 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

An exception indicating a throttling error.

", + "exception":true + }, + "TrainingDataSource":{ + "type":"structure", + "required":[ + "dataLocation", + "dataAccessRoleArn" + ], + "members":{ + "dataLocation":{ + "shape":"s3BucketLocation", + "documentation":"

The data location of the training data source.

" + }, + "dataAccessRoleArn":{ + "shape":"iamRoleArn", + "documentation":"

The data access role ARN for the training data source.

" + } + }, + "documentation":"

The training data source.

" + }, + "UpdateDetectorVersionMetadataRequest":{ + "type":"structure", + "required":[ + "detectorId", + "detectorVersionId", + "description" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + }, + "description":{ + "shape":"description", + "documentation":"

The description.

" + } + } + }, + "UpdateDetectorVersionMetadataResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateDetectorVersionRequest":{ + "type":"structure", + "required":[ + "detectorId", + "detectorVersionId", + "externalModelEndpoints", + "rules" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The parent detector ID for the detector version you want to update.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + }, + "externalModelEndpoints":{ + "shape":"ListOfStrings", + "documentation":"

The Amazon SageMaker model endpoints to include in the detector version.

" + }, + "rules":{ + "shape":"RuleList", + "documentation":"

The rules to include in the detector version.

" + }, + "description":{ + "shape":"description", + "documentation":"

The detector version description.

" + }, + "modelVersions":{ + "shape":"ListOfModelVersions", + "documentation":"

The model versions to include in the detector version.

" + }, + "ruleExecutionMode":{ + "shape":"RuleExecutionMode", + "documentation":"

The rule execution mode to add to the detector.

If you specify FIRST_MATCHED, Amazon Fraud Detector evaluates rules sequentially, first to last, stopping at the first matched rule. Amazon Fraud dectector then provides the outcomes for that single rule.

If you specifiy ALL_MATCHED, Amazon Fraud Detector evaluates all rules and returns the outcomes for all matched rules. You can define and edit the rule mode at the detector version level, when it is in draft status.

The default behavior is FIRST_MATCHED.

" + } + } + }, + "UpdateDetectorVersionResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateDetectorVersionStatusRequest":{ + "type":"structure", + "required":[ + "detectorId", + "detectorVersionId", + "status" + ], + "members":{ + "detectorId":{ + "shape":"identifier", + "documentation":"

The detector ID.

" + }, + "detectorVersionId":{ + "shape":"nonEmptyString", + "documentation":"

The detector version ID.

" + }, + "status":{ + "shape":"DetectorVersionStatus", + "documentation":"

The new status.

" + } + } + }, + "UpdateDetectorVersionStatusResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateModelVersionRequest":{ + "type":"structure", + "required":[ + "modelId", + "modelType", + "modelVersionNumber", + "description", + "status" + ], + "members":{ + "modelId":{ + "shape":"identifier", + "documentation":"

The model ID.

" + }, + "modelType":{ + "shape":"ModelTypeEnum", + "documentation":"

The model type.

" + }, + "modelVersionNumber":{ + "shape":"nonEmptyString", + "documentation":"

The model version.

" + }, + "description":{ + "shape":"description", + "documentation":"

The model description.

" + }, + "status":{ + "shape":"ModelVersionStatus", + "documentation":"

The new model status.

" + } + } + }, + "UpdateModelVersionResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateRuleMetadataRequest":{ + "type":"structure", + "required":[ + "rule", + "description" + ], + "members":{ + "rule":{ + "shape":"Rule", + "documentation":"

The rule to update.

" + }, + "description":{ + "shape":"description", + "documentation":"

The rule description.

" + } + } + }, + "UpdateRuleMetadataResult":{ + "type":"structure", + "members":{ + } + }, + "UpdateRuleVersionRequest":{ + "type":"structure", + "required":[ + "rule", + "expression", + "language", + "outcomes" + ], + "members":{ + "rule":{ + "shape":"Rule", + "documentation":"

The rule to update.

" + }, + "description":{ + "shape":"description", + "documentation":"

The description.

" + }, + "expression":{ + "shape":"ruleExpression", + "documentation":"

The rule expression.

" + }, + "language":{ + "shape":"Language", + "documentation":"

The language.

" + }, + "outcomes":{ + "shape":"NonEmptyListOfStrings", + "documentation":"

The outcomes.

" + } + } + }, + "UpdateRuleVersionResult":{ + "type":"structure", + "members":{ + "rule":{ + "shape":"Rule", + "documentation":"

The new rule version that was created.

" + } + } + }, + "UpdateVariableRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the variable.

" + }, + "defaultValue":{ + "shape":"string", + "documentation":"

The new default value of the variable.

" + }, + "description":{ + "shape":"string", + "documentation":"

The new description.

" + }, + "variableType":{ + "shape":"string", + "documentation":"

The variable type.

" + } + } + }, + "UpdateVariableResult":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

An exception indicating a specified value is not allowed.

", + "exception":true + }, + "Variable":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the variable.

" + }, + "dataType":{ + "shape":"DataType", + "documentation":"

The data type of the variable.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The data source of the variable.

" + }, + "defaultValue":{ + "shape":"string", + "documentation":"

The default value of the variable.

" + }, + "description":{ + "shape":"string", + "documentation":"

The description of the variable.

" + }, + "variableType":{ + "shape":"string", + "documentation":"

The variable type of the variable.

" + }, + "lastUpdatedTime":{ + "shape":"time", + "documentation":"

The time when variable was last updated.

" + }, + "createdTime":{ + "shape":"time", + "documentation":"

The time when the variable was created.

" + } + }, + "documentation":"

The variable.

" + }, + "VariableEntry":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the variable entry.

" + }, + "dataType":{ + "shape":"string", + "documentation":"

The data type of the variable entry.

" + }, + "dataSource":{ + "shape":"string", + "documentation":"

The data source of the variable entry.

" + }, + "defaultValue":{ + "shape":"string", + "documentation":"

The default value of the variable entry.

" + }, + "description":{ + "shape":"string", + "documentation":"

The description of the variable entry.

" + }, + "variableType":{ + "shape":"string", + "documentation":"

The type of the variable entry.

" + } + }, + "documentation":"

The variable entry in a list.

" + }, + "VariableEntryList":{ + "type":"list", + "member":{"shape":"VariableEntry"}, + "max":25, + "min":1 + }, + "VariableList":{ + "type":"list", + "member":{"shape":"Variable"} + }, + "VariablesMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":50 + }, + "attributeKey":{ + "type":"string", + "max":64, + "min":1 + }, + "attributeValue":{ + "type":"string", + "max":256, + "min":1, + "sensitive":true + }, + "blob":{"type":"blob"}, + "contentType":{ + "type":"string", + "max":1024, + "min":1 + }, + "description":{ + "type":"string", + "max":128, + "min":1 + }, + "float":{"type":"float"}, + "iamRoleArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^arn\\:aws\\:iam\\:\\:[0-9]{12}\\:role\\/[^\\s]{2,64}$" + }, + "identifier":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[0-9a-z_-]+$" + }, + "integer":{"type":"integer"}, + "nonEmptyString":{ + "type":"string", + "min":1 + }, + "ruleExpression":{ + "type":"string", + "max":4096, + "min":1 + }, + "s3BucketLocation":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^s3:\\/\\/(.+)$" + }, + "string":{"type":"string"}, + "time":{"type":"string"} + }, + "documentation":"

This is the Amazon Fraud Detector API Reference. This guide is for developers who need detailed information about Amazon Fraud Detector API actions, data types, and errors. For more information about Amazon Fraud Detector features, see the Amazon Fraud Detector User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/fsx/2018-03-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/fsx/2018-03-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/fsx/2018-03-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/fsx/2018-03-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "DescribeBackups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Backups" + }, + "DescribeFileSystems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FileSystems" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/fsx/2018-03-01/service-2.json python-botocore-1.16.19+repack/botocore/data/fsx/2018-03-01/service-2.json --- python-botocore-1.4.70/botocore/data/fsx/2018-03-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/fsx/2018-03-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2028 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-03-01", + "endpointPrefix":"fsx", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon FSx", + "serviceId":"FSx", + "signatureVersion":"v4", + "signingName":"fsx", + "targetPrefix":"AWSSimbaAPIService_v20180301", + "uid":"fsx-2018-03-01" + }, + "operations":{ + "CancelDataRepositoryTask":{ + "name":"CancelDataRepositoryTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelDataRepositoryTaskRequest"}, + "output":{"shape":"CancelDataRepositoryTaskResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"DataRepositoryTaskNotFound"}, + {"shape":"DataRepositoryTaskEnded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

  • Any files that FSx has already exported are not reverted.

  • FSx continues to export any files that are \"in-flight\" when the cancel operation is received.

  • FSx does not export any files that have not yet been exported.

", + "idempotent":true + }, + "CreateBackup":{ + "name":"CreateBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBackupRequest"}, + "output":{"shape":"CreateBackupResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"FileSystemNotFound"}, + {"shape":"BackupInProgress"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Creates a backup of an existing Amazon FSx for Windows File Server file system. Creating regular backups for your file system is a best practice that complements the replication that Amazon FSx for Windows File Server performs for your file system. It also enables you to restore from user modification of data.

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

  • Creates a new Amazon FSx backup with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the backup.

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateFileSystem operation returns while the backup's lifecycle state is still CREATING. You can check the file system creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", + "idempotent":true + }, + "CreateDataRepositoryTask":{ + "name":"CreateDataRepositoryTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDataRepositoryTaskRequest"}, + "output":{"shape":"CreateDataRepositoryTaskResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"}, + {"shape":"DataRepositoryTaskExecuting"} + ], + "documentation":"

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Setting the Export Prefix.

", + "idempotent":true + }, + "CreateFileSystem":{ + "name":"CreateFileSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFileSystemRequest"}, + "output":{"shape":"CreateFileSystemResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"ActiveDirectoryError"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InvalidImportPath"}, + {"shape":"InvalidExportPath"}, + {"shape":"InvalidNetworkSettings"}, + {"shape":"InvalidPerUnitStorageThroughput"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"}, + {"shape":"MissingFileSystemConfiguration"} + ], + "documentation":"

Creates a new, empty Amazon FSx file system.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

  • Creates a new, empty Amazon FSx file system with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the file system.

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

" + }, + "CreateFileSystemFromBackup":{ + "name":"CreateFileSystemFromBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFileSystemFromBackupRequest"}, + "output":{"shape":"CreateFileSystemFromBackupResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"ActiveDirectoryError"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InvalidNetworkSettings"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"BackupNotFound"}, + {"shape":"InternalServerError"}, + {"shape":"MissingFileSystemConfiguration"} + ], + "documentation":"

Creates a new Amazon FSx file system from an existing Amazon FSx for Windows File Server backup.

If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a client request token specified by the file system exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following:

  • Creates a new Amazon FSx file system from backup with an assigned ID, and an initial lifecycle state of CREATING.

  • Returns the description of the file system.

Parameters like Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings.

By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

" + }, + "DeleteBackup":{ + "name":"DeleteBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBackupRequest"}, + "output":{"shape":"DeleteBackupResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"BackupInProgress"}, + {"shape":"BackupNotFound"}, + {"shape":"BackupRestoring"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes an Amazon FSx for Windows File Server backup, deleting its contents. After deletion, the backup no longer exists, and its data is gone.

The DeleteBackup call returns instantly. The backup will not show up in later DescribeBackups calls.

The data in a deleted backup is also deleted and can't be recovered by any means.

", + "idempotent":true + }, + "DeleteFileSystem":{ + "name":"DeleteFileSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFileSystemRequest"}, + "output":{"shape":"DeleteFileSystemResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error.

Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state.

The data in a deleted file system is also deleted and can't be recovered by any means.

", + "idempotent":true + }, + "DescribeBackups":{ + "name":"DescribeBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBackupsRequest"}, + "output":{"shape":"DescribeBackupsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"BackupNotFound"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns the description of specific Amazon FSx for Windows File Server backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

  • The order of backups returned in the response of one DescribeBackups call and the order of backups returned across the responses of a multi-call iteration is unspecified.

" + }, + "DescribeDataRepositoryTasks":{ + "name":"DescribeDataRepositoryTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDataRepositoryTasksRequest"}, + "output":{"shape":"DescribeDataRepositoryTasksResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"DataRepositoryTaskNotFound"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

" + }, + "DescribeFileSystems":{ + "name":"DescribeFileSystems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFileSystemsRequest"}, + "output":{"shape":"DescribeFileSystemsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your AWS account in the AWS Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

  • The order of file systems returned in the response of one DescribeFileSystems call and the order of file systems returned across the responses of a multicall iteration is unspecified.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFound"}, + {"shape":"NotServiceResourceError"}, + {"shape":"ResourceDoesNotSupportTagging"} + ], + "documentation":"

Lists tags for an Amazon FSx file systems and backups in the case of Amazon FSx for Windows File Server.

When retrieving all tags, you can optionally specify the MaxResults parameter to limit the number of tags in a response. If more tags remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your tags. ListTagsForResource is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

  • The implementation might return fewer than MaxResults file system descriptions while still including a NextToken value.

  • The order of tags returned in the response of one ListTagsForResource call and the order of tags returned across the responses of a multi-call iteration is unspecified.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFound"}, + {"shape":"NotServiceResourceError"}, + {"shape":"ResourceDoesNotSupportTagging"} + ], + "documentation":"

Tags an Amazon FSx resource.

", + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"ResourceNotFound"}, + {"shape":"NotServiceResourceError"}, + {"shape":"ResourceDoesNotSupportTagging"} + ], + "documentation":"

This action removes a tag from an Amazon FSx resource.

", + "idempotent":true + }, + "UpdateFileSystem":{ + "name":"UpdateFileSystem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFileSystemRequest"}, + "output":{"shape":"UpdateFileSystemResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InternalServerError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"MissingFileSystemConfiguration"} + ], + "documentation":"

Updates a file system configuration.

" + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "documentation":"

An AWS account ID. This ID is a 12-digit number that you use to construct Amazon Resource Names (ARNs) for resources.

", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "ActiveDirectoryBackupAttributes":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"ActiveDirectoryFullyQualifiedName", + "documentation":"

The fully qualified domain name of the self-managed AD directory.

" + }, + "ActiveDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The ID of the AWS Managed Microsoft Active Directory instance to which the file system is joined.

" + } + }, + "documentation":"

The Microsoft AD attributes of the Amazon FSx for Windows File Server file system.

" + }, + "ActiveDirectoryError":{ + "type":"structure", + "required":["ActiveDirectoryId"], + "members":{ + "ActiveDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The directory ID of the directory that an error pertains to.

" + }, + "Type":{ + "shape":"ActiveDirectoryErrorType", + "documentation":"

The type of Active Directory error.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An Active Directory error.

", + "exception":true + }, + "ActiveDirectoryErrorType":{ + "type":"string", + "documentation":"

The type of error relating to Microsoft Active Directory. NOT_FOUND means that no directory was found by specifying the given directory. INCOMPATIBLE_MODE means that the directory specified is not a Microsoft AD directory. WRONG_VPC means that the specified directory isn't accessible from the specified VPC. WRONG_STAGE means that the specified directory isn't currently in the ACTIVE state.

", + "enum":[ + "DOMAIN_NOT_FOUND", + "INCOMPATIBLE_DOMAIN_MODE", + "WRONG_VPC", + "INVALID_DOMAIN_STAGE" + ] + }, + "ActiveDirectoryFullyQualifiedName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^.{1,255}$" + }, + "ArchivePath":{ + "type":"string", + "max":900, + "min":3, + "pattern":"^.{3,900}$" + }, + "AutomaticBackupRetentionDays":{ + "type":"integer", + "documentation":"

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days.

", + "max":35, + "min":0 + }, + "Backup":{ + "type":"structure", + "required":[ + "BackupId", + "Lifecycle", + "Type", + "CreationTime", + "FileSystem" + ], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup.

" + }, + "Lifecycle":{ + "shape":"BackupLifecycle", + "documentation":"

The lifecycle status of the backup.

" + }, + "FailureDetails":{ + "shape":"BackupFailureDetails", + "documentation":"

Details explaining any failures that occur when creating a backup.

" + }, + "Type":{ + "shape":"BackupType", + "documentation":"

The type of the backup.

" + }, + "ProgressPercent":{"shape":"ProgressPercent"}, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

The time when a particular backup was created.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this backup of the Amazon FSx for Windows file system's data at rest. Amazon FSx for Lustre does not support KMS encryption.

" + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) for the backup resource.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Tags associated with a particular file system.

" + }, + "FileSystem":{ + "shape":"FileSystem", + "documentation":"

Metadata of the file system associated with the backup. This metadata is persisted even if the file system is deleted.

" + }, + "DirectoryInformation":{ + "shape":"ActiveDirectoryBackupAttributes", + "documentation":"

The configuration of the self-managed Microsoft Active Directory (AD) to which the Windows File Server instance is joined.

" + } + }, + "documentation":"

A backup of an Amazon FSx for Windows File Server file system. You can create a new file system from a backup to protect against data loss.

" + }, + "BackupFailureDetails":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"ErrorMessage", + "documentation":"

A message describing the backup creation failure.

" + } + }, + "documentation":"

If backup creation fails, this structure contains the details of that failure.

" + }, + "BackupId":{ + "type":"string", + "documentation":"

The ID of the backup. Specifies the backup to use if you're creating a file system from an existing backup.

", + "max":128, + "min":12, + "pattern":"^(backup-[0-9a-f]{8,})$" + }, + "BackupIds":{ + "type":"list", + "member":{"shape":"BackupId"}, + "documentation":"

A list of backup IDs.

", + "max":50 + }, + "BackupInProgress":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Another backup is already under way. Wait for completion before initiating additional backups of this file system.

", + "exception":true + }, + "BackupLifecycle":{ + "type":"string", + "documentation":"

The lifecycle status of the backup.

", + "enum":[ + "AVAILABLE", + "CREATING", + "DELETED", + "FAILED" + ] + }, + "BackupNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

No Amazon FSx backups were found based upon the supplied parameters.

", + "exception":true + }, + "BackupRestoring":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of a file system being restored from the backup.

" + } + }, + "documentation":"

You can't delete a backup while it's being used to restore a file system.

", + "exception":true + }, + "BackupType":{ + "type":"string", + "documentation":"

The type of the backup.

", + "enum":[ + "AUTOMATIC", + "USER_INITIATED" + ] + }, + "Backups":{ + "type":"list", + "member":{"shape":"Backup"}, + "documentation":"

A list of backups.

", + "max":50 + }, + "BadRequest":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A generic error indicating a failure with a client request.

", + "exception":true + }, + "CancelDataRepositoryTaskRequest":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{ + "shape":"TaskId", + "documentation":"

Specifies the data repository task to cancel.

" + } + }, + "documentation":"

Cancels a data repository task.

" + }, + "CancelDataRepositoryTaskResponse":{ + "type":"structure", + "members":{ + "Lifecycle":{ + "shape":"DataRepositoryTaskLifecycle", + "documentation":"

The lifecycle status of the data repository task, as follows:

  • PENDING - Amazon FSx has not started the task.

  • EXECUTING - Amazon FSx is processing the task.

  • FAILED - Amazon FSx was not able to complete the task. For example, there may be files the task failed to process. The DataRepositoryTaskFailureDetails property provides more information about task failures.

  • SUCCEEDED - FSx completed the task successfully.

  • CANCELED - Amazon FSx canceled the task and it did not complete.

  • CANCELING - FSx is in process of canceling the task.

" + }, + "TaskId":{ + "shape":"TaskId", + "documentation":"

The ID of the task being canceled.

" + } + } + }, + "ClientRequestToken":{ + "type":"string", + "documentation":"

(Optional) An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "max":63, + "min":1, + "pattern":"[A-za-z0-9_.-]{0,63}$" + }, + "CompletionReport":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Enabled":{ + "shape":"Flag", + "documentation":"

Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a CompletionReport generated when the task completes.

" + }, + "Path":{ + "shape":"ArchivePath", + "documentation":"

Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the destination location. The Path you provide must be located within the file system’s ExportPath. An example Path value is \"s3://myBucket/myExportPath/optionalPrefix\". The report provides the following information for each file in the report: FilePath, FileStatus, and ErrorCode. To learn more about a file system's ExportPath, see .

" + }, + "Format":{ + "shape":"ReportFormat", + "documentation":"

Required if Enabled is set to true. Specifies the format of the CompletionReport. REPORT_CSV_20191124 is the only format currently supported. When Format is set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format, and is delivered to {path}/task-{id}/failures.csv.

" + }, + "Scope":{ + "shape":"ReportScope", + "documentation":"

Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process.

" + } + }, + "documentation":"

Provides a report detailing the data repository task results of the files processed that match the criteria specified in the report Scope parameter. FSx delivers the report to the file system's linked data repository in Amazon S3, using the path specified in the report Path parameter. You can specify whether or not a report gets generated for a task using the Enabled parameter.

" + }, + "CreateBackupRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system to back up.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name.

" + } + }, + "documentation":"

The request object for the CreateBackup operation.

" + }, + "CreateBackupResponse":{ + "type":"structure", + "members":{ + "Backup":{ + "shape":"Backup", + "documentation":"

A description of the backup.

" + } + }, + "documentation":"

The response object for the CreateBackup operation.

" + }, + "CreateDataRepositoryTaskRequest":{ + "type":"structure", + "required":[ + "Type", + "FileSystemId", + "Report" + ], + "members":{ + "Type":{ + "shape":"DataRepositoryTaskType", + "documentation":"

Specifies the type of data repository task to create.

" + }, + "Paths":{ + "shape":"DataRepositoryTaskPaths", + "documentation":"

(Optional) The path or paths on the Amazon FSx file system to use when the data repository task is processed. The default path is the file system root directory. The paths you provide need to be relative to the mount point of the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory or file on the file system you want to export, then the path to provide is path1. If a path that you provide isn't valid, the task fails.

" + }, + "FileSystemId":{"shape":"FileSystemId"}, + "Report":{ + "shape":"CompletionReport", + "documentation":"

Defines whether or not Amazon FSx provides a CompletionReport once the task has completed. A CompletionReport provides a detailed report on the files that Amazon FSx processed that meet the criteria specified by the Scope parameter. For more information, see Working with Task Completion Reports.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "Tags":{"shape":"Tags"} + } + }, + "CreateDataRepositoryTaskResponse":{ + "type":"structure", + "members":{ + "DataRepositoryTask":{ + "shape":"DataRepositoryTask", + "documentation":"

The description of the data repository task that you just created.

" + } + } + }, + "CreateFileSystemFromBackupRequest":{ + "type":"structure", + "required":[ + "BackupId", + "SubnetIds" + ], + "members":{ + "BackupId":{"shape":"BackupId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "idempotencyToken":true + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

" + }, + "WindowsConfiguration":{ + "shape":"CreateFileSystemWindowsConfiguration", + "documentation":"

The configuration for this Microsoft Windows file system.

" + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

Sets the storage type for the Windows file system you're creating from a backup. Valid values are SSD and HDD.

  • Set to SSD to use solid state drive storage. Supported on all Windows deployment types.

  • Set to HDD to use hard disk drive storage. Supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types.

Default value is SSD.

HDD and SSD storage types have different minimum storage capacity requirements. A restored file system's storage capacity is tied to the file system that was backed up. You can create a file system that uses HDD storage from a backup of a file system that used SSD storage only if the original SSD file system had a storage capacity of at least 2000 GiB.

" + } + }, + "documentation":"

The request object for the CreateFileSystemFromBackup operation.

" + }, + "CreateFileSystemFromBackupResponse":{ + "type":"structure", + "members":{ + "FileSystem":{ + "shape":"FileSystem", + "documentation":"

A description of the file system.

" + } + }, + "documentation":"

The response object for the CreateFileSystemFromBackup operation.

" + }, + "CreateFileSystemLustreConfiguration":{ + "type":"structure", + "members":{ + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The preferred time to perform weekly maintenance, in the UTC time zone.

" + }, + "ImportPath":{ + "shape":"ArchivePath", + "documentation":"

(Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

" + }, + "ExportPath":{ + "shape":"ArchivePath", + "documentation":"

(Optional) The path in Amazon S3 where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an ExportPath value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath. If you only specify a bucket name, such as s3://import-bucket, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.

" + }, + "ImportedFileChunkSize":{ + "shape":"Megabytes", + "documentation":"

(Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

" + }, + "DeploymentType":{ + "shape":"LustreDeploymentType", + "documentation":"

(Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need temporary storage and shorter-term processing of data. The SCRATCH_2 deployment type provides in-transit encryption of data and higher burst throughput capacity than SCRATCH_1.

Choose PERSISTENT_1 deployment type for longer-term storage and workloads and encryption of data in transit. To learn more about deployment types, see FSx for Lustre Deployment Options.

Encryption of data in-transit is automatically enabled when you access a SCRATCH_2 or PERSISTENT_1 file system from Amazon EC2 instances that support this feature. (Default = SCRATCH_1)

Encryption of data in-transit for SCRATCH_2 and PERSISTENT_1 deployment types is supported when accessed from supported instance types in supported AWS Regions. To learn more, Encrypting Data in Transit.

" + }, + "PerUnitStorageThroughput":{ + "shape":"PerUnitStorageThroughput", + "documentation":"

Required for the PERSISTENT_1 deployment type, describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s of file system throughput. You pay for the amount of throughput that you provision.

Valid values are 50, 100, 200.

" + } + }, + "documentation":"

The Lustre configuration for the file system being created.

" + }, + "CreateFileSystemRequest":{ + "type":"structure", + "required":[ + "FileSystemType", + "StorageCapacity", + "SubnetIds" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "idempotencyToken":true + }, + "FileSystemType":{ + "shape":"FileSystemType", + "documentation":"

The type of Amazon FSx file system to create, either WINDOWS or LUSTRE.

" + }, + "StorageCapacity":{ + "shape":"StorageCapacity", + "documentation":"

Sets the storage capacity of the file system that you're creating.

For Lustre file systems:

  • For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1.2, 2.4, and increments of 2.4 TiB.

  • For SCRATCH_1 deployment type, valid values are 1.2, 2.4, and increments of 3.6 TiB.

For Windows file systems:

  • If StorageType=SSD, valid values are 32 GiB - 65,536 GiB (64 TiB).

  • If StorageType=HDD, valid values are 2000 GiB - 65,536 GiB (64 TiB).

" + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

Sets the storage type for the Amazon FSx for Windows file system you're creating. Valid values are SSD and HDD.

  • Set to SSD to use solid state drive storage. SSD is supported on all Windows deployment types.

  • Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 and MULTI_AZ_1 Windows file system deployment types.

Default value is SSD. For more information, see Storage Type Options in the Amazon FSx for Windows User Guide.

" + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

A list of IDs specifying the security groups to apply to all network interfaces created for file system access. This list isn't returned in later requests to describe the file system.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to apply to the file system being created. The key value of the Name tag appears in the console as the file system name.

" + }, + "KmsKeyId":{"shape":"KmsKeyId"}, + "WindowsConfiguration":{ + "shape":"CreateFileSystemWindowsConfiguration", + "documentation":"

The Microsoft Windows configuration for the file system being created.

" + }, + "LustreConfiguration":{"shape":"CreateFileSystemLustreConfiguration"} + }, + "documentation":"

The request object used to create a new Amazon FSx file system.

" + }, + "CreateFileSystemResponse":{ + "type":"structure", + "members":{ + "FileSystem":{ + "shape":"FileSystem", + "documentation":"

The configuration of the file system that was created.

" + } + }, + "documentation":"

The response object returned after the file system is created.

" + }, + "CreateFileSystemWindowsConfiguration":{ + "type":"structure", + "required":["ThroughputCapacity"], + "members":{ + "ActiveDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The ID for an existing AWS Managed Microsoft Active Directory (AD) instance that the file system should join when it's created.

" + }, + "SelfManagedActiveDirectoryConfiguration":{"shape":"SelfManagedActiveDirectoryConfiguration"}, + "DeploymentType":{ + "shape":"WindowsDeploymentType", + "documentation":"

Specifies the file system deployment type, valid values are the following:

  • MULTI_AZ_1 - Deploys a high availability file system that is configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. You can only deploy a Multi-AZ file system in AWS Regions that have a minimum of three Availability Zones. Also supports HDD storage type

  • SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured for single AZ redundancy.

  • SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies a file system that is configured for single AZ redundancy and supports HDD storage type.

For more information, see Availability and Durability: Single-AZ and Multi-AZ File Systems.

" + }, + "PreferredSubnetId":{ + "shape":"SubnetId", + "documentation":"

Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet in which you want the preferred file server to be located. For in-AWS applications, we recommend that you launch your clients in the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ data transfer costs and minimize latency.

" + }, + "ThroughputCapacity":{ + "shape":"MegabytesPerSecond", + "documentation":"

The throughput of an Amazon FSx file system, measured in megabytes per second, in 2 to the nth increments, between 2^3 (8) and 2^11 (2048).

" + }, + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone.

" + }, + "DailyAutomaticBackupStartTime":{ + "shape":"DailyTime", + "documentation":"

The preferred time to take daily automatic backups, formatted HH:MM in the UTC time zone.

" + }, + "AutomaticBackupRetentionDays":{ + "shape":"AutomaticBackupRetentionDays", + "documentation":"

The number of days to retain automatic backups. The default is to retain backups for 7 days. Setting this value to 0 disables the creation of automatic backups. The maximum retention period for backups is 35 days.

" + }, + "CopyTagsToBackups":{ + "shape":"Flag", + "documentation":"

A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

" + } + }, + "documentation":"

The configuration object for the Microsoft Windows file system used in CreateFileSystem and CreateFileSystemFromBackup operations.

" + }, + "CreationTime":{ + "type":"timestamp", + "documentation":"

The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.

" + }, + "DNSName":{ + "type":"string", + "documentation":"

The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.

", + "max":275, + "min":16, + "pattern":"^(fsi?-[0-9a-f]{8,}\\..{4,253})$" + }, + "DailyTime":{ + "type":"string", + "documentation":"

A recurring daily time, in the format HH:MM. HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour. For example, 05:00 specifies 5 AM daily.

", + "max":5, + "min":5, + "pattern":"^([01]\\d|2[0-3]):?([0-5]\\d)$" + }, + "DataRepositoryConfiguration":{ + "type":"structure", + "members":{ + "ImportPath":{ + "shape":"ArchivePath", + "documentation":"

The import path to the Amazon S3 bucket (and optional prefix) that you're using as the data repository for your FSx for Lustre file system, for example s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

" + }, + "ExportPath":{ + "shape":"ArchivePath", + "documentation":"

The export path to the Amazon S3 bucket (and prefix) that you are using to store new and changed Lustre file system files in S3.

" + }, + "ImportedFileChunkSize":{ + "shape":"Megabytes", + "documentation":"

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

" + } + }, + "documentation":"

The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

" + }, + "DataRepositoryTask":{ + "type":"structure", + "required":[ + "TaskId", + "Lifecycle", + "Type", + "CreationTime", + "FileSystemId" + ], + "members":{ + "TaskId":{ + "shape":"TaskId", + "documentation":"

The system-generated, unique 17-digit ID of the data repository task.

" + }, + "Lifecycle":{ + "shape":"DataRepositoryTaskLifecycle", + "documentation":"

The lifecycle status of the data repository task, as follows:

  • PENDING - Amazon FSx has not started the task.

  • EXECUTING - Amazon FSx is processing the task.

  • FAILED - Amazon FSx was not able to complete the task. For example, there may be files the task failed to process. The DataRepositoryTaskFailureDetails property provides more information about task failures.

  • SUCCEEDED - FSx completed the task successfully.

  • CANCELED - Amazon FSx canceled the task and it did not complete.

  • CANCELING - FSx is in process of canceling the task.

You cannot delete an FSx for Lustre file system if there are data repository tasks for the file system in the PENDING or EXECUTING states. Please retry when the data repository task is finished (with a status of CANCELED, SUCCEEDED, or FAILED). You can use the DescribeDataRepositoryTask action to monitor the task status. Contact the FSx team if you need to delete your file system immediately.

" + }, + "Type":{ + "shape":"DataRepositoryTaskType", + "documentation":"

The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported.

" + }, + "CreationTime":{"shape":"CreationTime"}, + "StartTime":{ + "shape":"StartTime", + "documentation":"

The time that Amazon FSx began processing the task.

" + }, + "EndTime":{ + "shape":"EndTime", + "documentation":"

The time that Amazon FSx completed processing the task, populated after the task is complete.

" + }, + "ResourceARN":{"shape":"ResourceARN"}, + "Tags":{"shape":"Tags"}, + "FileSystemId":{"shape":"FileSystemId"}, + "Paths":{ + "shape":"DataRepositoryTaskPaths", + "documentation":"

An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

(Default) If Paths is not specified, Amazon FSx uses the file system root directory.

" + }, + "FailureDetails":{ + "shape":"DataRepositoryTaskFailureDetails", + "documentation":"

Failure message describing why the task failed, it is populated only when Lifecycle is set to FAILED.

" + }, + "Status":{ + "shape":"DataRepositoryTaskStatus", + "documentation":"

Provides the status of the number of files that the task has processed successfully and failed to process.

" + }, + "Report":{"shape":"CompletionReport"} + }, + "documentation":"

A description of the data repository task. You use data repository tasks to perform bulk transfer operations between your Amazon FSx file system and its linked data repository.

" + }, + "DataRepositoryTaskEnded":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The data repository task could not be canceled because the task has already ended.

", + "exception":true + }, + "DataRepositoryTaskExecuting":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An existing data repository task is currently executing on the file system. Wait until the existing task has completed, then create the new task.

", + "exception":true + }, + "DataRepositoryTaskFailureDetails":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provides information about why a data repository task failed. Only populated when the task Lifecycle is set to FAILED.

" + }, + "DataRepositoryTaskFilter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DataRepositoryTaskFilterName", + "documentation":"

Name of the task property to use in filtering the tasks returned in the response.

  • Use file-system-id to retrieve data repository tasks for specific file systems.

  • Use task-lifecycle to retrieve data repository tasks with one or more specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, and SUCCEEDED.

" + }, + "Values":{ + "shape":"DataRepositoryTaskFilterValues", + "documentation":"

Use Values to include the specific file system IDs and task lifecycle states for the filters you are using.

" + } + }, + "documentation":"

(Optional) An array of filter objects you can use to filter the response of data repository tasks you will see in the the response. You can filter the tasks returned in the response by one or more file system IDs, task lifecycles, and by task type. A filter object consists of a filter Name, and one or more Values for the filter.

" + }, + "DataRepositoryTaskFilterName":{ + "type":"string", + "enum":[ + "file-system-id", + "task-lifecycle" + ] + }, + "DataRepositoryTaskFilterValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?\\-\\_]*$" + }, + "DataRepositoryTaskFilterValues":{ + "type":"list", + "member":{"shape":"DataRepositoryTaskFilterValue"}, + "max":20 + }, + "DataRepositoryTaskFilters":{ + "type":"list", + "member":{"shape":"DataRepositoryTaskFilter"}, + "max":3 + }, + "DataRepositoryTaskLifecycle":{ + "type":"string", + "enum":[ + "PENDING", + "EXECUTING", + "FAILED", + "SUCCEEDED", + "CANCELED", + "CANCELING" + ] + }, + "DataRepositoryTaskNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The data repository task or tasks you specified could not be found.

", + "exception":true + }, + "DataRepositoryTaskPath":{ + "type":"string", + "max":4096, + "min":0, + "pattern":"^.{0,4096}$" + }, + "DataRepositoryTaskPaths":{ + "type":"list", + "member":{"shape":"DataRepositoryTaskPath"}, + "max":100 + }, + "DataRepositoryTaskStatus":{ + "type":"structure", + "members":{ + "TotalCount":{ + "shape":"TotalCount", + "documentation":"

The total number of files that the task will process. While a task is executing, the sum of SucceededCount plus FailedCount may not equal TotalCount. When the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount.

" + }, + "SucceededCount":{ + "shape":"SucceededCount", + "documentation":"

A running total of the number of files that the task has successfully processed.

" + }, + "FailedCount":{ + "shape":"FailedCount", + "documentation":"

A running total of the number of files that the task failed to process.

" + }, + "LastUpdatedTime":{ + "shape":"LastUpdatedTime", + "documentation":"

The time at which the task status was last updated.

" + } + }, + "documentation":"

Provides the task status showing a running total of the total number of files to be processed, the number successfully processed, and the number of files the task failed to process.

" + }, + "DataRepositoryTaskType":{ + "type":"string", + "enum":["EXPORT_TO_REPOSITORY"] + }, + "DataRepositoryTasks":{ + "type":"list", + "member":{"shape":"DataRepositoryTask"}, + "max":50 + }, + "DeleteBackupRequest":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup you want to delete.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the AWS CLI or SDK.

", + "idempotencyToken":true + } + }, + "documentation":"

The request object for DeleteBackup operation.

" + }, + "DeleteBackupResponse":{ + "type":"structure", + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup deleted.

" + }, + "Lifecycle":{ + "shape":"BackupLifecycle", + "documentation":"

The lifecycle of the backup. Should be DELETED.

" + } + }, + "documentation":"

The response object for DeleteBackup operation.

" + }, + "DeleteFileSystemRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system you want to delete.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the AWS CLI or SDK.

", + "idempotencyToken":true + }, + "WindowsConfiguration":{"shape":"DeleteFileSystemWindowsConfiguration"} + }, + "documentation":"

The request object for DeleteFileSystem operation.

" + }, + "DeleteFileSystemResponse":{ + "type":"structure", + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The ID of the file system being deleted.

" + }, + "Lifecycle":{ + "shape":"FileSystemLifecycle", + "documentation":"

The file system lifecycle for the deletion request. Should be DELETING.

" + }, + "WindowsResponse":{"shape":"DeleteFileSystemWindowsResponse"} + }, + "documentation":"

The response object for the DeleteFileSystem operation.

" + }, + "DeleteFileSystemWindowsConfiguration":{ + "type":"structure", + "members":{ + "SkipFinalBackup":{ + "shape":"Flag", + "documentation":"

By default, Amazon FSx for Windows takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip this backup, use this flag to do so.

" + }, + "FinalBackupTags":{ + "shape":"Tags", + "documentation":"

A set of tags for your final backup.

" + } + }, + "documentation":"

The configuration object for the Microsoft Windows file system used in the DeleteFileSystem operation.

" + }, + "DeleteFileSystemWindowsResponse":{ + "type":"structure", + "members":{ + "FinalBackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the final backup for this file system.

" + }, + "FinalBackupTags":{ + "shape":"Tags", + "documentation":"

The set of tags applied to the final backup.

" + } + }, + "documentation":"

The response object for the Microsoft Windows file system used in the DeleteFileSystem operation.

" + }, + "DescribeBackupsRequest":{ + "type":"structure", + "members":{ + "BackupIds":{ + "shape":"BackupIds", + "documentation":"

(Optional) IDs of the backups you want to retrieve (String). This overrides any filters. If any IDs are not found, BackupNotFound will be thrown.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

(Optional) Filters structure. Supported names are file-system-id and backup-type.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Maximum number of backups to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeBackups operation (String). If a token present, the action continues the list from where the returning call left off.

" + } + }, + "documentation":"

The request object for DescribeBackups operation.

" + }, + "DescribeBackupsResponse":{ + "type":"structure", + "members":{ + "Backups":{ + "shape":"Backups", + "documentation":"

Any array of backups.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

This is present if there are more backups than returned in the response (String). You can use the NextToken value in the later request to fetch the backups.

" + } + }, + "documentation":"

Response object for DescribeBackups operation.

" + }, + "DescribeDataRepositoryTasksRequest":{ + "type":"structure", + "members":{ + "TaskIds":{ + "shape":"TaskIds", + "documentation":"

(Optional) IDs of the tasks whose descriptions you want to retrieve (String).

" + }, + "Filters":{ + "shape":"DataRepositoryTaskFilters", + "documentation":"

(Optional) You can use filters to narrow the DescribeDataRepositoryTasks response to include just tasks for specific file systems, or tasks in a specific lifecycle state.

" + }, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeDataRepositoryTasksResponse":{ + "type":"structure", + "members":{ + "DataRepositoryTasks":{ + "shape":"DataRepositoryTasks", + "documentation":"

The collection of data repository task descriptions returned.

" + }, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeFileSystemsRequest":{ + "type":"structure", + "members":{ + "FileSystemIds":{ + "shape":"FileSystemIds", + "documentation":"

(Optional) IDs of the file systems whose descriptions you want to retrieve (String).

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

(Optional) Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the action continues the list from where the returning call left off.

" + } + }, + "documentation":"

The request object for DescribeFileSystems operation.

" + }, + "DescribeFileSystemsResponse":{ + "type":"structure", + "members":{ + "FileSystems":{ + "shape":"FileSystems", + "documentation":"

An array of file system descriptions.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Present if there are more file systems than returned in the response (String). You can use the NextToken value in the later request to fetch the descriptions.

" + } + }, + "documentation":"

The response object for DescribeFileSystems operation.

" + }, + "DirectoryId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^d-[0-9a-f]{10}$" + }, + "DirectoryPassword":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^.{1,256}$", + "sensitive":true + }, + "DirectoryUserName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^.{1,256}$" + }, + "DnsIps":{ + "type":"list", + "member":{"shape":"IpAddress"}, + "max":2, + "min":1 + }, + "EndTime":{"type":"timestamp"}, + "ErrorMessage":{ + "type":"string", + "documentation":"

A detailed error message.

", + "max":256, + "min":1 + }, + "FailedCount":{"type":"long"}, + "FileSystem":{ + "type":"structure", + "members":{ + "OwnerId":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account that created the file system. If the file system was created by an AWS Identity and Access Management (IAM) user, the AWS account to which the IAM user belongs is the owner.

" + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.

" + }, + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

The system-generated, unique 17-digit ID of the file system.

" + }, + "FileSystemType":{ + "shape":"FileSystemType", + "documentation":"

The type of Amazon FSx file system, either LUSTRE or WINDOWS.

" + }, + "Lifecycle":{ + "shape":"FileSystemLifecycle", + "documentation":"

The lifecycle status of the file system, following are the possible values and what they mean:

  • AVAILABLE - The file system is in a healthy state, and is reachable and available for use.

  • CREATING - Amazon FSx is creating the new file system.

  • DELETING - Amazon FSx is deleting an existing file system.

  • FAILED - An existing file system has experienced an unrecoverable failure. When creating a new file system, Amazon FSx was unable to create the file system.

  • MISCONFIGURED indicates that the file system is in a failed but recoverable state.

  • UPDATING indicates that the file system is undergoing a customer initiated update.

" + }, + "FailureDetails":{"shape":"FileSystemFailureDetails"}, + "StorageCapacity":{ + "shape":"StorageCapacity", + "documentation":"

The storage capacity of the file system in gigabytes (GB).

" + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

The storage type of the file system. Valid values are SSD and HDD. If set to SSD, the file system uses solid state drive storage. If set to HDD, the file system uses hard disk drive storage.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the primary VPC for the file system.

" + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

Specifies the IDs of the subnets that the file system is accessible from. For Windows MULTI_AZ_1 file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby file server. The preferred file server subnet identified in the PreferredSubnetID property. All other file systems have only one subnet ID.

For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the endpoint for the file system. For MULTI_AZ_1 Windows file systems, the endpoint for the file system is available in the PreferredSubnetID.

" + }, + "NetworkInterfaceIds":{ + "shape":"NetworkInterfaceIds", + "documentation":"

The IDs of the elastic network interface from which a specific file system is accessible. The elastic network interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx for Lustre file system, you can have more than one.

" + }, + "DNSName":{ + "shape":"DNSName", + "documentation":"

The DNS name for the file system.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems and persistent Amazon FSx for Lustre file systems at rest. In either case, if not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key Management Service API Reference.

" + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) for the file system resource.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

" + }, + "WindowsConfiguration":{ + "shape":"WindowsFileSystemConfiguration", + "documentation":"

The configuration for this Microsoft Windows file system.

" + }, + "LustreConfiguration":{"shape":"LustreFileSystemConfiguration"} + }, + "documentation":"

A description of a specific Amazon FSx file system.

" + }, + "FileSystemAdministratorsGroupName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^.{1,256}$" + }, + "FileSystemFailureDetails":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"ErrorMessage", + "documentation":"

A message describing any failures that occurred during file system creation.

" + } + }, + "documentation":"

A structure providing details of any failures that occur when creating the file system has failed.

" + }, + "FileSystemId":{ + "type":"string", + "documentation":"

The globally unique ID of the file system, assigned by Amazon FSx.

", + "max":21, + "min":11, + "pattern":"^(fs-[0-9a-f]{8,})$" + }, + "FileSystemIds":{ + "type":"list", + "member":{"shape":"FileSystemId"}, + "documentation":"

A list of FileSystemIds.

", + "max":50 + }, + "FileSystemLifecycle":{ + "type":"string", + "documentation":"

The lifecycle status of the file system.

", + "enum":[ + "AVAILABLE", + "CREATING", + "FAILED", + "DELETING", + "MISCONFIGURED", + "UPDATING" + ] + }, + "FileSystemMaintenanceOperation":{ + "type":"string", + "documentation":"

An enumeration specifying the currently ongoing maintenance operation.

", + "enum":[ + "PATCHING", + "BACKING_UP" + ] + }, + "FileSystemMaintenanceOperations":{ + "type":"list", + "member":{"shape":"FileSystemMaintenanceOperation"}, + "documentation":"

A list of maintenance operations.

", + "max":20 + }, + "FileSystemNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

No Amazon FSx file systems were found based upon supplied parameters.

", + "exception":true + }, + "FileSystemType":{ + "type":"string", + "documentation":"

The type of file system.

", + "enum":[ + "WINDOWS", + "LUSTRE" + ] + }, + "FileSystems":{ + "type":"list", + "member":{"shape":"FileSystem"}, + "documentation":"

A list of file systems.

", + "max":50 + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name for this filter.

" + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

The values of the filter. These are all the values for any of the applied filters.

" + } + }, + "documentation":"

A filter used to restrict the results of describe calls. You can use multiple filters to return results that meet all applied filter requirements.

" + }, + "FilterName":{ + "type":"string", + "documentation":"

The name for a filter.

", + "enum":[ + "file-system-id", + "backup-type" + ] + }, + "FilterValue":{ + "type":"string", + "documentation":"

The value for a filter.

", + "max":128, + "min":1, + "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?\\-\\_]*$" + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "documentation":"

A list of filter values.

", + "max":20 + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"}, + "documentation":"

A list of Filter elements.

", + "max":10 + }, + "Flag":{"type":"boolean"}, + "IncompatibleParameterError":{ + "type":"structure", + "required":["Parameter"], + "members":{ + "Parameter":{ + "shape":"Parameter", + "documentation":"

A parameter that is incompatible with the earlier request.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The error returned when a second request is received with the same client request token but different parameters settings. A client request token should always uniquely identify a single request.

", + "exception":true + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A generic error indicating a server-side failure.

", + "exception":true, + "fault":true + }, + "InvalidExportPath":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The path provided for data repository export isn't valid.

", + "exception":true + }, + "InvalidImportPath":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The path provided for data repository import isn't valid.

", + "exception":true + }, + "InvalidNetworkSettings":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "InvalidSubnetId":{"shape":"SubnetId"}, + "InvalidSecurityGroupId":{"shape":"SecurityGroupId"} + }, + "documentation":"

One or more network settings specified in the request are invalid. InvalidVpcId means that the ID passed for the virtual private cloud (VPC) is invalid. InvalidSubnetIds returns the list of IDs for subnets that are either invalid or not part of the VPC specified. InvalidSecurityGroupIds returns the list of IDs for security groups that are either invalid or not part of the VPC specified.

", + "exception":true + }, + "InvalidPerUnitStorageThroughput":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An invalid value for PerUnitStorageThroughput was provided. Please create your file system again, using a valid value.

", + "exception":true + }, + "IpAddress":{ + "type":"string", + "max":15, + "min":7, + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + "KmsKeyId":{ + "type":"string", + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems and Amazon FSx for Lustre PERSISTENT_1 file systems at rest. In either case, if not specified, the Amazon FSx managed key is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the AWS Key Management Service API Reference.

", + "max":2048, + "min":1, + "pattern":"^.{1,2048}$" + }, + "LastUpdatedTime":{"type":"timestamp"}, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Amazon FSx resource that will have its tags listed.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

(Optional) Maximum number of tags to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

(Optional) Opaque pagination token returned from a previous ListTagsForResource operation (String). If a token present, the action continues the list from where the returning call left off.

" + } + }, + "documentation":"

The request object for ListTagsForResource operation.

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags on the resource.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

This is present if there are more tags than returned in the response (String). You can use the NextToken value in the later request to fetch the tags.

" + } + }, + "documentation":"

The response object for ListTagsForResource operation.

" + }, + "LustreDeploymentType":{ + "type":"string", + "enum":[ + "SCRATCH_1", + "SCRATCH_2", + "PERSISTENT_1" + ] + }, + "LustreFileSystemConfiguration":{ + "type":"structure", + "members":{ + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The UTC time that you want to begin your weekly maintenance window.

" + }, + "DataRepositoryConfiguration":{"shape":"DataRepositoryConfiguration"}, + "DeploymentType":{ + "shape":"LustreDeploymentType", + "documentation":"

The deployment type of the FSX for Lustre file system.

" + }, + "PerUnitStorageThroughput":{ + "shape":"PerUnitStorageThroughput", + "documentation":"

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 deployment types. Valid values are 50, 100, 200.

" + }, + "MountName":{ + "shape":"LustreFileSystemMountName", + "documentation":"

You use the MountName value when mounting the file system.

For the SCRATCH_1 deployment type, this value is always \"fsx\". For SCRATCH_2 and PERSISTENT_1 deployment types, this value is a string that is unique within an AWS Region.

" + } + }, + "documentation":"

The configuration for the Amazon FSx for Lustre file system.

" + }, + "LustreFileSystemMountName":{ + "type":"string", + "max":8, + "min":1, + "pattern":"^([A-Za-z0-9_-]{1,8})$" + }, + "MaxResults":{ + "type":"integer", + "documentation":"

The maximum number of resources to return in the response. This value must be an integer greater than zero.

", + "min":1 + }, + "Megabytes":{ + "type":"integer", + "max":512000, + "min":1 + }, + "MegabytesPerSecond":{ + "type":"integer", + "documentation":"

Sustained throughput of an Amazon FSx file system in MBps.

", + "max":2048, + "min":8 + }, + "MissingFileSystemConfiguration":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A file system configuration is required for this operation.

", + "exception":true + }, + "NetworkInterfaceId":{ + "type":"string", + "documentation":"

An elastic network interface ID. An elastic network interface is a logical networking component in a virtual private cloud (VPC) that represents a virtual network card. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide for Linux Instances.

", + "max":21, + "min":12, + "pattern":"^(eni-[0-9a-f]{8,})$" + }, + "NetworkInterfaceIds":{ + "type":"list", + "member":{"shape":"NetworkInterfaceId"}, + "documentation":"

A list of network interface IDs.

", + "max":50 + }, + "NextToken":{ + "type":"string", + "documentation":"

(Optional) Opaque pagination token returned from a previous operation (String). If present, this token indicates from what point you can continue processing the request, where the previous NextToken value left off.

", + "max":255, + "min":1, + "pattern":"^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" + }, + "NotServiceResourceError":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the non-Amazon FSx resource.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource specified for the tagging operation is not a resource type owned by Amazon FSx. Use the API of the relevant service to perform the operation.

", + "exception":true + }, + "OrganizationalUnitDistinguishedName":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"^.{1,2000}$" + }, + "Parameter":{ + "type":"string", + "documentation":"

The name of a parameter for the request. Parameter names are returned in PascalCase.

", + "min":1 + }, + "PerUnitStorageThroughput":{ + "type":"integer", + "max":200, + "min":50 + }, + "ProgressPercent":{ + "type":"integer", + "documentation":"

The current percent of progress of an asynchronous task.

", + "max":100, + "min":0 + }, + "ReportFormat":{ + "type":"string", + "enum":["REPORT_CSV_20191124"] + }, + "ReportScope":{ + "type":"string", + "enum":["FAILED_FILES_ONLY"] + }, + "ResourceARN":{ + "type":"string", + "documentation":"

The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify AWS resources. We require an ARN when you need to specify a resource unambiguously across all of AWS. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "max":512, + "min":8, + "pattern":"^arn:(?=[^:]+:fsx:[^:]+:\\d{12}:)((|(?=[a-z0-9-.]{1,63})(?!\\d{1,3}(\\.\\d{1,3}){3})(?![^:]*-{2})(?![^:]*-\\.)(?![^:]*\\.-)[a-z0-9].*(?The Amazon Resource Name (ARN) of the resource that doesn't support tagging.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource specified does not support tagging.

", + "exception":true + }, + "ResourceNotFound":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The resource ARN of the resource that can't be found.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource specified by the Amazon Resource Name (ARN) can't be found.

", + "exception":true + }, + "SecurityGroupId":{ + "type":"string", + "documentation":"

The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security Groups for Linux Instances in the Amazon EC2 User Guide.

", + "max":20, + "min":11, + "pattern":"^(sg-[0-9a-f]{8,})$" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "documentation":"

A list of security group IDs.

", + "max":50 + }, + "SelfManagedActiveDirectoryAttributes":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"ActiveDirectoryFullyQualifiedName", + "documentation":"

The fully qualified domain name of the self-managed AD directory.

" + }, + "OrganizationalUnitDistinguishedName":{ + "shape":"OrganizationalUnitDistinguishedName", + "documentation":"

The fully qualified distinguished name of the organizational unit within the self-managed AD directory to which the Windows File Server instance is joined.

" + }, + "FileSystemAdministratorsGroup":{ + "shape":"FileSystemAdministratorsGroupName", + "documentation":"

The name of the domain group whose members have administrative privileges for the FSx file system.

" + }, + "UserName":{ + "shape":"DirectoryUserName", + "documentation":"

The user name for the service account on your self-managed AD domain that FSx uses to join to your AD domain.

" + }, + "DnsIps":{ + "shape":"DnsIps", + "documentation":"

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory.

" + } + }, + "documentation":"

The configuration of the self-managed Microsoft Active Directory (AD) directory to which the Windows File Server instance is joined.

" + }, + "SelfManagedActiveDirectoryConfiguration":{ + "type":"structure", + "required":[ + "DomainName", + "UserName", + "Password", + "DnsIps" + ], + "members":{ + "DomainName":{ + "shape":"ActiveDirectoryFullyQualifiedName", + "documentation":"

The fully qualified domain name of the self-managed AD directory, such as corp.example.com.

" + }, + "OrganizationalUnitDistinguishedName":{ + "shape":"OrganizationalUnitDistinguishedName", + "documentation":"

(Optional) The fully qualified distinguished name of the organizational unit within your self-managed AD directory that the Windows File Server instance will join. Amazon FSx only accepts OU as the direct parent of the file system. An example is OU=FSx,DC=yourdomain,DC=corp,DC=com. To learn more, see RFC 2253. If none is provided, the FSx file system is created in the default location of your self-managed AD directory.

Only Organizational Unit (OU) objects can be the direct parent of the file system that you're creating.

" + }, + "FileSystemAdministratorsGroup":{ + "shape":"FileSystemAdministratorsGroupName", + "documentation":"

(Optional) The name of the domain group whose members are granted administrative privileges for the file system. Administrative privileges include taking ownership of files and folders, setting audit controls (audit ACLs) on files and folders, and administering the file system remotely by using the FSx Remote PowerShell. The group that you specify must already exist in your domain. If you don't provide one, your AD domain's Domain Admins group is used.

" + }, + "UserName":{ + "shape":"DirectoryUserName", + "documentation":"

The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain. This account must have the permission to join computers to the domain in the organizational unit provided in OrganizationalUnitDistinguishedName, or in the default location of your AD domain.

" + }, + "Password":{ + "shape":"DirectoryPassword", + "documentation":"

The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.

" + }, + "DnsIps":{ + "shape":"DnsIps", + "documentation":"

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory. The IP addresses need to be either in the same VPC CIDR range as the one in which your Amazon FSx file system is being created, or in the private IP version 4 (IPv4) address ranges, as specified in RFC 1918:

  • 10.0.0.0 - 10.255.255.255 (10/8 prefix)

  • 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)

  • 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

" + } + }, + "documentation":"

The configuration that Amazon FSx uses to join the Windows File Server instance to your self-managed (including on-premises) Microsoft Active Directory (AD) directory.

" + }, + "SelfManagedActiveDirectoryConfigurationUpdates":{ + "type":"structure", + "members":{ + "UserName":{ + "shape":"DirectoryUserName", + "documentation":"

The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain. This account must have the permission to join computers to the domain in the organizational unit provided in OrganizationalUnitDistinguishedName.

" + }, + "Password":{ + "shape":"DirectoryPassword", + "documentation":"

The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.

" + }, + "DnsIps":{ + "shape":"DnsIps", + "documentation":"

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory.

" + } + }, + "documentation":"

The configuration that Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft Active Directory (AD) directory.

" + }, + "ServiceLimit":{ + "type":"string", + "documentation":"

The types of limits on your service utilization. Limits include file system count, total throughput capacity, total storage, and total user-initiated backups. These limits apply for a specific account in a specific AWS Region. You can increase some of them by contacting AWS Support.

", + "enum":[ + "FILE_SYSTEM_COUNT", + "TOTAL_THROUGHPUT_CAPACITY", + "TOTAL_STORAGE", + "TOTAL_USER_INITIATED_BACKUPS" + ] + }, + "ServiceLimitExceeded":{ + "type":"structure", + "required":["Limit"], + "members":{ + "Limit":{ + "shape":"ServiceLimit", + "documentation":"

Enumeration of the service limit that was exceeded.

" + }, + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An error indicating that a particular service limit was exceeded. You can increase some service limits by contacting AWS Support.

", + "exception":true + }, + "StartTime":{"type":"timestamp"}, + "StorageCapacity":{ + "type":"integer", + "documentation":"

The storage capacity for your Amazon FSx file system, in gibibytes.

", + "min":0 + }, + "StorageType":{ + "type":"string", + "documentation":"

The storage type for your Amazon FSx file system.

", + "enum":[ + "SSD", + "HDD" + ] + }, + "SubnetId":{ + "type":"string", + "documentation":"

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "max":24, + "min":15, + "pattern":"^(subnet-[0-9a-f]{8,})$" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "documentation":"

A list of subnet IDs. Currently, you can specify only one subnet ID in a call to the CreateFileSystem operation.

", + "max":50 + }, + "SucceededCount":{"type":"long"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A value that specifies the TagKey, the name of the tag. Tag keys must be unique for the resource to which they are attached.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A value that specifies the TagValue, the value assigned to the corresponding tag key. Tag values can be null and don't have to be unique in a tag set. For example, you can have a key-value pair in a tag set of finances : April and also of payroll : April.

" + } + }, + "documentation":"

Specifies a key-value pair for a resource tag.

" + }, + "TagKey":{ + "type":"string", + "documentation":"

A string of 1 to 128 characters that specifies the key for a tag. Tag keys must be unique for the resource to which they are attached.

", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "documentation":"

A list of TagKey values, with a maximum of 50 elements.

", + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to tag.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags for the resource. If a tag with a given key already exists, the value is replaced by the one specified in this parameter.

" + } + }, + "documentation":"

The request object for the TagResource operation.

" + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response object for the TagResource operation.

" + }, + "TagValue":{ + "type":"string", + "documentation":"

A string of 0 to 256 characters that specifies the value for a tag. Tag values can be null and don't have to be unique in a tag set.

", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "documentation":"

A list of Tag values, with a maximum of 50 elements.

", + "max":50, + "min":1 + }, + "TaskId":{ + "type":"string", + "max":128, + "min":12, + "pattern":"^(task-[0-9a-f]{17,})$" + }, + "TaskIds":{ + "type":"list", + "member":{"shape":"TaskId"}, + "max":50 + }, + "TotalCount":{"type":"long"}, + "UnsupportedOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested operation is not supported for this resource or API.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Amazon FSx resource to untag.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of keys of tags on the resource to untag. In case the tag key doesn't exist, the call will still succeed to be idempotent.

" + } + }, + "documentation":"

The request object for UntagResource action.

" + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The response object for UntagResource action.

" + }, + "UpdateFileSystemLustreConfiguration":{ + "type":"structure", + "members":{ + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The preferred time to perform weekly maintenance, in the UTC time zone.

" + } + }, + "documentation":"

The configuration object for Amazon FSx for Lustre file systems used in the UpdateFileSystem operation.

" + }, + "UpdateFileSystemRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{"shape":"FileSystemId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent updates. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "idempotencyToken":true + }, + "WindowsConfiguration":{ + "shape":"UpdateFileSystemWindowsConfiguration", + "documentation":"

The configuration update for this Microsoft Windows file system. The only supported options are for backup and maintenance and for self-managed Active Directory configuration.

" + }, + "LustreConfiguration":{"shape":"UpdateFileSystemLustreConfiguration"} + }, + "documentation":"

The request object for the UpdateFileSystem operation.

" + }, + "UpdateFileSystemResponse":{ + "type":"structure", + "members":{ + "FileSystem":{ + "shape":"FileSystem", + "documentation":"

A description of the file system that was updated.

" + } + }, + "documentation":"

The response object for the UpdateFileSystem operation.

" + }, + "UpdateFileSystemWindowsConfiguration":{ + "type":"structure", + "members":{ + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The preferred time to perform weekly maintenance, in the UTC time zone.

" + }, + "DailyAutomaticBackupStartTime":{ + "shape":"DailyTime", + "documentation":"

The preferred time to take daily automatic backups, in the UTC time zone.

" + }, + "AutomaticBackupRetentionDays":{ + "shape":"AutomaticBackupRetentionDays", + "documentation":"

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days.

" + }, + "SelfManagedActiveDirectoryConfiguration":{ + "shape":"SelfManagedActiveDirectoryConfigurationUpdates", + "documentation":"

The configuration Amazon FSx uses to join the Windows File Server instance to the self-managed Microsoft AD directory.

" + } + }, + "documentation":"

Updates the Microsoft Windows configuration for an existing Amazon FSx for Windows File Server file system. Amazon FSx overwrites existing properties with non-null values provided in the request. If you don't specify a non-null value for a property, that property is not updated.

" + }, + "VpcId":{ + "type":"string", + "documentation":"

The ID of your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "max":21, + "min":12, + "pattern":"^(vpc-[0-9a-f]{8,})$" + }, + "WeeklyTime":{ + "type":"string", + "documentation":"

A recurring weekly time, in the format D:HH:MM.

D is the day of the week, for which 1 represents Monday and 7 represents Sunday. For further details, see the ISO-8601 spec as described on Wikipedia.

HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour.

For example, 1:05:00 specifies maintenance at 5 AM Monday.

", + "max":7, + "min":7, + "pattern":"^[1-7]:([01]\\d|2[0-3]):?([0-5]\\d)$" + }, + "WindowsDeploymentType":{ + "type":"string", + "enum":[ + "MULTI_AZ_1", + "SINGLE_AZ_1", + "SINGLE_AZ_2" + ] + }, + "WindowsFileSystemConfiguration":{ + "type":"structure", + "members":{ + "ActiveDirectoryId":{ + "shape":"DirectoryId", + "documentation":"

The ID for an existing Microsoft Active Directory instance that the file system should join when it's created.

" + }, + "SelfManagedActiveDirectoryConfiguration":{"shape":"SelfManagedActiveDirectoryAttributes"}, + "DeploymentType":{ + "shape":"WindowsDeploymentType", + "documentation":"

Specifies the file system deployment type, valid values are the following:

  • MULTI_AZ_1 - Specifies a high availability file system that is configured for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability, and supports SSD and HDD storage.

  • SINGLE_AZ_1 - (Default) Specifies a file system that is configured for single AZ redundancy, only supports SSD storage.

  • SINGLE_AZ_2 - Latest generation Single AZ file system. Specifies a file system that is configured for single AZ redundancy and supports SSD and HDD storage.

For more information, see Single-AZ and Multi-AZ File Systems.

" + }, + "RemoteAdministrationEndpoint":{ + "shape":"DNSName", + "documentation":"

For MULTI_AZ_1 deployment types, use this endpoint when performing administrative tasks on the file system using Amazon FSx Remote PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this is the DNS name of the file system.

This endpoint is temporarily unavailable when the file system is undergoing maintenance.

" + }, + "PreferredSubnetId":{ + "shape":"SubnetId", + "documentation":"

For MULTI_AZ_1 deployment types, it specifies the ID of the subnet where the preferred file server is located. Must be one of the two subnet IDs specified in SubnetIds property. Amazon FSx serves traffic from this subnet except in the event of a failover to the secondary file server.

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this value is the same as that for SubnetIDs. For more information, see Availability and Durability: Single-AZ and Multi-AZ File Systems

" + }, + "PreferredFileServerIp":{ + "shape":"IpAddress", + "documentation":"

For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred, file server.

Use this IP address when mounting the file system on Linux SMB clients or Windows SMB clients that are not joined to a Microsoft Active Directory. Applicable for all Windows file system deployment types. This IP address is temporarily unavailable when the file system is undergoing maintenance. For Linux and Windows SMB clients that are joined to an Active Directory, use the file system's DNSName instead. For more information on mapping and mounting file shares, see Accessing File Shares.

" + }, + "ThroughputCapacity":{ + "shape":"MegabytesPerSecond", + "documentation":"

The throughput of an Amazon FSx file system, measured in megabytes per second.

" + }, + "MaintenanceOperationsInProgress":{ + "shape":"FileSystemMaintenanceOperations", + "documentation":"

The list of maintenance operations in progress for this file system.

" + }, + "WeeklyMaintenanceStartTime":{ + "shape":"WeeklyTime", + "documentation":"

The preferred time to perform weekly maintenance, in the UTC time zone.

" + }, + "DailyAutomaticBackupStartTime":{ + "shape":"DailyTime", + "documentation":"

The preferred time to take daily automatic backups, in the UTC time zone.

" + }, + "AutomaticBackupRetentionDays":{ + "shape":"AutomaticBackupRetentionDays", + "documentation":"

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days.

" + }, + "CopyTagsToBackups":{ + "shape":"Flag", + "documentation":"

A boolean flag indicating whether tags on the file system should be copied to backups. This value defaults to false. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

" + } + }, + "documentation":"

The configuration for this Microsoft Windows file system.

" + } + }, + "documentation":"

Amazon FSx is a fully managed service that makes it easy for storage and application administrators to launch and use shared file storage.

" +} diff -Nru python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/examples-1.json --- python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,100 @@ +{ + "pagination": { + "DescribeFleetAttributes": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetAttributes" + }, + "DescribeFleetCapacity": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetCapacity" + }, + "DescribeFleetEvents": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Events" + }, + "DescribeFleetUtilization": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetUtilization" + }, + "DescribeGameSessionDetails": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessionDetails" + }, + "DescribeGameSessionQueues": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessionQueues" + }, + "DescribeGameSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessions" + }, + "DescribeInstances": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Instances" + }, + "DescribeMatchmakingConfigurations": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Configurations" + }, + "DescribeMatchmakingRuleSets": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "RuleSets" + }, + "DescribePlayerSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "PlayerSessions" + }, + "DescribeScalingPolicies": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ScalingPolicies" + }, + "ListAliases": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Aliases" + }, + "ListBuilds": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "Builds" + }, + "ListFleets": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "FleetIds" + }, + "SearchGameSessions": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "GameSessions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/service-2.json python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/service-2.json --- python-botocore-1.4.70/botocore/data/gamelift/2015-10-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/gamelift/2015-10-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,10 +6,46 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon GameLift", + "serviceId":"GameLift", "signatureVersion":"v4", - "targetPrefix":"GameLift" + "targetPrefix":"GameLift", + "uid":"gamelift-2015-10-01" }, "operations":{ + "AcceptMatch":{ + "name":"AcceptMatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptMatchInput"}, + "output":{"shape":"AcceptMatchOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ], + "documentation":"

Registers a player's acceptance or rejection of a proposed FlexMatch match. A matchmaking configuration may require player acceptance; if so, then matches built with that configuration cannot be completed unless all players accept the proposed match within a specified time limit.

When FlexMatch builds a match, all the matchmaking tickets involved in the proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger for your game to get acceptance from all players in the ticket. Acceptances are only valid for tickets when they are in this status; all other acceptances result in an error.

To register acceptance, specify the ticket ID, a response, and one or more players. Once all players have registered acceptance, the matchmaking tickets advance to status PLACING, where a new game session is created for the match.

If any player rejects the match, or if acceptances are not received before a specified timeout, the proposed match is dropped. The matchmaking tickets are then handled in one of two ways: For tickets where one or more players rejected the match, the ticket status is returned to SEARCHING to find a new match. For tickets where one or more players failed to respond, the ticket status is set to CANCELLED, and processing is terminated. A new matchmaking request for these players can be submitted as needed.

Learn more

Add FlexMatch to a Game Client

FlexMatch Events Reference

Related operations

" + }, + "ClaimGameServer":{ + "name":"ClaimGameServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ClaimGameServerInput"}, + "output":{"shape":"ClaimGameServerOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"OutOfCapacityException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Locates an available game server and temporarily reserves it to host gameplay and players. This action is called by a game client or client service (such as a matchmaker) to request hosting resources for a new game session. In response, GameLift FleetIQ searches for an available game server in the specified game server group, places the game server in \"claimed\" status for 60 seconds, and returns connection information back to the requester so that players can connect to the game server.

There are two ways you can claim a game server. For the first option, you provide a game server group ID only, which prompts GameLift FleetIQ to search for an available game server in the specified group and claim it. With this option, GameLift FleetIQ attempts to consolidate gameplay on as few instances as possible to minimize hosting costs. For the second option, you request a specific game server by its ID. This option results in a less efficient claiming process because it does not take advantage of consolidation and may fail if the requested game server is unavailable.

To claim a game server, identify a game server group and (optionally) a game server ID. If your game requires that game data be provided to the game server at the start of a game, such as a game map or player information, you can provide it in your claim request.

When a game server is successfully claimed, connection information is returned. A claimed game server's utilization status remains AVAILABLE, while the claim status is set to CLAIMED for up to 60 seconds. This time period allows the game server to be prompted to update its status to UTILIZED (using UpdateGameServer). If the game server's status is not updated within 60 seconds, the game server reverts to unclaimed status and is available to be claimed by another request.

If you try to claim a specific game server, this request will fail in the following cases: (1) if the game server utilization status is UTILIZED, (2) if the game server claim status is CLAIMED, or (3) if the instance that the game server is running on is flagged as draining.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, "CreateAlias":{ "name":"CreateAlias", "http":{ @@ -23,9 +59,10 @@ {"shape":"InvalidRequestException"}, {"shape":"ConflictException"}, {"shape":"InternalServiceException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TaggingFailedException"} ], - "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.

" + "documentation":"

Creates an alias for a fleet. In most situations, you can use an alias ID in place of a fleet ID. An alias provides a level of abstraction for a fleet that is useful when redirecting player traffic from one fleet to another, such as when updating your game build.

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A simple alias points to an active fleet. A terminal alias is used to display messaging or link to a URL instead of routing players to an active fleet. For example, you might use a terminal alias when a game version is no longer supported and you want to direct players to an upgrade site.

To create a fleet alias, specify an alias name, routing strategy, and optional description. Each simple alias can point to only one fleet, but a fleet can have multiple aliases. If successful, a new alias record is returned, including an alias ID and an ARN. You can reassign an alias to another fleet by calling UpdateAlias.

" }, "CreateBuild":{ "name":"CreateBuild", @@ -39,9 +76,10 @@ {"shape":"UnauthorizedException"}, {"shape":"InvalidRequestException"}, {"shape":"ConflictException"}, + {"shape":"TaggingFailedException"}, {"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.

" + "documentation":"

Creates a new Amazon GameLift build resource for your game server binary files. Game server binaries must be combined into a zip file for use with Amazon GameLift.

When setting up a new game build for GameLift, we recommend using the AWS CLI command upload-build . This helper command combines two tasks: (1) it uploads your build files from a file directory to a GameLift Amazon S3 location, and (2) it creates a new build resource.

The CreateBuild operation can used in the following scenarios:

  • To create a new game build with build files that are in an S3 location under an AWS account that you control. To use this option, you must first give Amazon GameLift access to the S3 bucket. With permissions in place, call CreateBuild and specify a build name, operating system, and the S3 storage location of your game build.

  • To directly upload your build files to a GameLift S3 location. To use this option, first call CreateBuild and specify a build name and operating system. This action creates a new build resource and also returns an S3 location with temporary access credentials. Use the credentials to manually upload your build files to the specified S3 location. For more information, see Uploading Objects in the Amazon S3 Developer Guide. Build files can be uploaded to the GameLift S3 location once only; that can't be updated.

If successful, this operation creates a new build resource with a unique build ID and places it in INITIALIZED status. A build must be in READY status before you can create fleets with it.

Learn more

Uploading Your Game

Create a Build with Files in Amazon S3

Related operations

" }, "CreateFleet":{ "name":"CreateFleet", @@ -57,9 +95,27 @@ {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} + {"shape":"UnauthorizedException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Creates a new fleet to run your game servers. whether they are custom game builds or Realtime Servers with game-specific script. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can host multiple game sessions. When creating a fleet, you choose the hardware specifications, set some configuration options, and specify the game server to deploy on the new fleet.

To create a new fleet, provide the following: (1) a fleet name, (2) an EC2 instance type and fleet type (spot or on-demand), (3) the build ID for your game build or script ID if using Realtime Servers, and (4) a runtime configuration, which determines how game servers will run on each instance in the fleet.

If the CreateFleet call is successful, Amazon GameLift performs the following tasks. You can track the process of a fleet by checking the fleet status or by monitoring fleet creation events:

  • Creates a fleet resource. Status: NEW.

  • Begins writing events to the fleet event log, which can be accessed in the Amazon GameLift console.

  • Sets the fleet's target capacity to 1 (desired instances), which triggers Amazon GameLift to start one new EC2 instance.

  • Downloads the game build or Realtime script to the new instance and installs it. Statuses: DOWNLOADING, VALIDATING, BUILDING.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, Amazon GameLift staggers each process launch by a few seconds. Status: ACTIVATING.

  • Sets the fleet's status to ACTIVE as soon as one server process is ready to host a game session.

Learn more

Setting Up Fleets

Debug Fleet Creation Issues

Related operations

" + }, + "CreateGameServerGroup":{ + "name":"CreateGameServerGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGameServerGroupInput"}, + "output":{"shape":"CreateGameServerGroupOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"}, + {"shape":"LimitExceededException"} ], - "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:

  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is activated).

  • Sets the fleet's capacity to 1 \"desired\", which causes GameLift to start one new EC2 instance.

  • Starts launching server processes on the instance. If the fleet is configured to run multiple server processes per instance, GameLift staggers each launch by a few seconds.

  • Begins writing events to the fleet event log, which can be accessed in the GameLift console.

  • Sets the fleet's status to ACTIVE once one server process in the fleet is ready to host a game session.

After a fleet is created, use the following actions to change fleet properties and configuration:

  • UpdateFleetAttributes -- Update fleet metadata, including name and description.

  • UpdateFleetCapacity -- Increase or decrease the number of instances you want the fleet to maintain.

  • UpdateFleetPortSettings -- Change the IP address and port ranges that allow access to incoming traffic.

  • UpdateRuntimeConfiguration -- Change how server processes are launched in the fleet, including launch path, launch parameters, and the number of concurrent processes.

" + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Creates a GameLift FleetIQ game server group to manage a collection of EC2 instances for game hosting. In addition to creating the game server group, this action also creates an Auto Scaling group in your AWS account and establishes a link between the two groups. You have full control over configuration of the Auto Scaling group, but GameLift FleetIQ routinely certain Auto Scaling group properties in order to optimize the group's instances for low-cost game hosting. You can view the status of your game server groups in the GameLift Console. Game server group metrics and events are emitted to Amazon CloudWatch.

Prior creating a new game server group, you must set up the following:

  • An EC2 launch template. The template provides configuration settings for a set of EC2 instances and includes the game server build that you want to deploy and run on each instance. For more information on creating a launch template, see Launching an Instance from a Launch Template in the Amazon EC2 User Guide.

  • An IAM role. The role sets up limited access to your AWS account, allowing GameLift FleetIQ to create and manage the EC2 Auto Scaling group, get instance data, and emit metrics and events to CloudWatch. For more information on setting up an IAM permissions policy with principal access for GameLift, see Specifying a Principal in a Policy in the Amazon S3 Developer Guide.

To create a new game server group, provide a name and specify the IAM role and EC2 launch template. You also need to provide a list of instance types to be used in the group and set initial maximum and minimum limits on the group's instance count. You can optionally set an autoscaling policy with target tracking based on a GameLift FleetIQ metric.

Once the game server group and corresponding Auto Scaling group are created, you have full access to change the Auto Scaling group's configuration as needed. Keep in mind, however, that some properties are periodically updated by GameLift FleetIQ as it balances the group's instances based on availability and cost.

Learn more

GameLift FleetIQ Guide

Updating a GameLift FleetIQ-Linked Auto Scaling Group

Related operations

" }, "CreateGameSession":{ "name":"CreateGameSession", @@ -81,7 +137,58 @@ {"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.

" + "documentation":"

Creates a multiplayer game session for players. This action creates a game session record and assigns an available server process in the specified fleet to host the game session. A fleet must have an ACTIVE status before a game session can be created in it.

To create a game session, specify either fleet ID or alias ID and indicate a maximum number of players to allow in the game session. You can also provide a name and game-specific properties for this game session. If successful, a GameSession object is returned containing the game session properties and other settings you specified.

Idempotency tokens. You can add a token that uniquely identifies game session requests. This is useful for ensuring that game session requests are idempotent. Multiple requests with the same idempotency token are processed only once; subsequent requests return the original result. All response values are the same with the exception of game session status, which may change.

Resource creation limits. If you are creating a game session on a fleet with a resource creation limit policy in force, then you must specify a creator ID. Without this ID, Amazon GameLift has no way to evaluate the policy for this new game session request.

Player acceptance policy. By default, newly created game sessions are open to new players. You can restrict new player access by using UpdateGameSession to change the game session's player session creation policy.

Game session logs. Logs are retained for all active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl to download the log files.

Available in Amazon GameLift Local.

" + }, + "CreateGameSessionQueue":{ + "name":"CreateGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGameSessionQueueInput"}, + "output":{"shape":"CreateGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"LimitExceededException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Establishes a new queue for processing requests to place new game sessions. A queue identifies where new game sessions can be hosted -- by specifying a list of destinations (fleets or aliases) -- and how long requests can wait in the queue before timing out. You can set up a queue to try to place game sessions on fleets in multiple Regions. To add placement requests to a queue, call StartGameSessionPlacement and reference the queue name.

Destination order. When processing a request for a game session, Amazon GameLift tries each destination in order until it finds one with available resources to host the new game session. A queue's default order is determined by how destinations are listed. The default order is overridden when a game session placement request provides player latency information. Player latency information enables Amazon GameLift to prioritize destinations where players report the lowest average latency, as a result placing the new game session where the majority of players will have the best possible gameplay experience.

Player latency policies. For placement requests containing player latency information, use player latency policies to protect individual players from very high latencies. With a latency cap, even when a destination can deliver a low latency for most players, the game is not placed where any individual player is reporting latency higher than a policy's maximum. A queue can have multiple latency policies, which are enforced consecutively starting with the policy with the lowest latency cap. Use multiple policies to gradually relax latency controls; for example, you might set a policy with a low latency cap for the first 60 seconds, a second policy with a higher cap for the next 60 seconds, etc.

To create a new queue, provide a name, timeout value, a list of destinations and, if desired, a set of latency policies. If successful, a new queue object is returned.

Learn more

Design a Game Session Queue

Create a Game Session Queue

Related operations

" + }, + "CreateMatchmakingConfiguration":{ + "name":"CreateMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMatchmakingConfigurationInput"}, + "output":{"shape":"CreateMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Defines a new matchmaking configuration for use with FlexMatch. A matchmaking configuration sets out guidelines for matching players and getting the matches into games. You can set up multiple matchmaking configurations to handle the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking or StartMatchBackfill) specifies a configuration for the match and provides player attributes to support the configuration being used.

To create a matchmaking configuration, at a minimum you must specify the following: configuration name; a rule set that governs how to evaluate players and find acceptable matches; a game session queue to use when placing a new game session for the match; and the maximum time allowed for a matchmaking attempt.

There are two ways to track the progress of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking; or (2) receiving notifications with Amazon Simple Notification Service (SNS). To use notifications, you first need to set up an SNS topic to receive the notifications, and provide the topic ARN in the matchmaking configuration. Since notifications promise only \"best effort\" delivery, we recommend calling DescribeMatchmaking if no notifications are received within 30 seconds.

Learn more

Design a FlexMatch Matchmaker

Setting up Notifications for Matchmaking

Related operations

" + }, + "CreateMatchmakingRuleSet":{ + "name":"CreateMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMatchmakingRuleSetInput"}, + "output":{"shape":"CreateMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Creates a new rule set for FlexMatch matchmaking. A rule set describes the type of match to create, such as the number and size of teams. It also sets the parameters for acceptable player matches, such as minimum skill level or character type. A rule set is used by a MatchmakingConfiguration.

To create a matchmaking rule set, provide unique rule set name and the rule set body in JSON format. Rule sets must be defined in the same Region as the matchmaking configuration they are used with.

Since matchmaking rule sets cannot be edited, it is a good idea to check the rule set syntax using ValidateMatchmakingRuleSet before creating a new rule set.

Learn more

Related operations

" }, "CreatePlayerSession":{ "name":"CreatePlayerSession", @@ -100,7 +207,7 @@ {"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.

" + "documentation":"

Reserves an open player slot in an active game session. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a group of players to a game session, use CreatePlayerSessions. When the player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.

To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" }, "CreatePlayerSessions":{ "name":"CreatePlayerSessions", @@ -119,7 +226,56 @@ {"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.

" + "documentation":"

Reserves open slots in a game session for a group of players. Before players can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot. To add a single player to a game session, use CreatePlayerSession. When a player connects to the game server and references a player session ID, the game server contacts the Amazon GameLift service to validate the player reservation and accept the player.

To create player sessions, specify a game session ID, a list of player IDs, and optionally a set of player data strings. If successful, a slot is reserved in the game session for each player and a set of new PlayerSession objects is returned. Player sessions cannot be updated.

Available in Amazon GameLift Local.

" + }, + "CreateScript":{ + "name":"CreateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScriptInput"}, + "output":{"shape":"CreateScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that provide configuration settings and optional custom game logic for your game. The script is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is executed during an active game session.

To create a new script record, specify a script name and provide the script file(s). The script files and all dependencies must be zipped into a single file. You can pull the zip file from either of these locations:

  • A locally available directory. Use the ZipFile parameter for this option.

  • An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the StorageLocation parameter for this option. You'll need to have an Identity Access Management (IAM) role that allows the Amazon GameLift service to access your S3 bucket.

If the call is successful, a new script record is created with a unique script ID. If the script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage location reflects this location. If the script file is provided as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment.

Learn more

Amazon GameLift Realtime Servers

Set Up a Role for Amazon GameLift Access

Related operations

" + }, + "CreateVpcPeeringAuthorization":{ + "name":"CreateVpcPeeringAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcPeeringAuthorizationInput"}, + "output":{"shape":"CreateVpcPeeringAuthorizationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Requests authorization to create or delete a peer connection between the VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. Once you've received authorization, call CreateVpcPeeringConnection to establish the peering connection. For more information, see VPC Peering with Amazon GameLift Fleets.

You can peer with VPCs that are owned by any AWS account you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions.

To request authorization to create a connection, call this operation from the AWS account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to enable your game servers to retrieve data from a DynamoDB table, use the account that manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC that you want to peer with, and (2) the ID of the AWS account that you use to manage Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

To request authorization to delete a connection, call this operation from the AWS account with the VPC that is peered with your Amazon GameLift fleet. Identify the following values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the AWS account that you use to manage Amazon GameLift.

The authorization remains valid for 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You must create or delete the peering connection while the authorization is valid.

" + }, + "CreateVpcPeeringConnection":{ + "name":"CreateVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVpcPeeringConnectionInput"}, + "output":{"shape":"CreateVpcPeeringConnectionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to communicate directly with other AWS resources. You can peer with VPCs in any AWS account that you have access to, including the account that you use to manage your Amazon GameLift fleets. You cannot peer with VPCs that are in different Regions. For more information, see VPC Peering with Amazon GameLift Fleets.

Before calling this operation to establish the peering connection, you first need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer with. Once the authorization for the specified VPC is issued, you have 24 hours to establish the connection. These two operations handle all tasks necessary to peer the two VPCs, including acceptance, updating routing tables, etc.

To establish the connection, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet you want to be enable a VPC peering connection for; (2) The AWS account with the VPC that you want to peer with; and (3) The ID of the VPC you want to peer with. This operation is asynchronous. If successful, a VpcPeeringConnection request is created. You can use continuous polling to track the request's status using DescribeVpcPeeringConnections, or by monitoring fleet events for success or failure using DescribeFleetEvents.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -132,9 +288,10 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, {"shape":"InvalidRequestException"}, + {"shape":"TaggingFailedException"}, {"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.

" + "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.

" }, "DeleteBuild":{ "name":"DeleteBuild", @@ -147,9 +304,10 @@ {"shape":"UnauthorizedException"}, {"shape":"NotFoundException"}, {"shape":"InternalServiceException"}, + {"shape":"TaggingFailedException"}, {"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.

" + "documentation":"

Deletes a build. This action permanently deletes the build resource and any uploaded build files. 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.

To delete a build, specify the build ID.

Learn more

Upload a Custom Server Build

Related operations

" }, "DeleteFleet":{ "name":"DeleteFleet", @@ -163,9 +321,77 @@ {"shape":"InternalServiceException"}, {"shape":"InvalidFleetStatusException"}, {"shape":"UnauthorizedException"}, - {"shape":"InvalidRequestException"} + {"shape":"InvalidRequestException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity.

If the fleet being deleted has a VPC peering connection, you first need to get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. You do not need to explicitly delete the VPC peering connection--this is done as part of the delete fleet process.

This action removes the fleet and its resources. Once a fleet is deleted, you can no longer use any of the resource in that fleet.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "DeleteGameServerGroup":{ + "name":"DeleteGameServerGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGameServerGroupInput"}, + "output":{"shape":"DeleteGameServerGroupOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Terminates a game server group and permanently deletes the game server group record. You have several options for how these resources are impacted when deleting the game server group. Depending on the type of delete action selected, this action may affect three types of resources: the game server group, the corresponding Auto Scaling group, and all game servers currently running in the group.

To delete a game server group, identify the game server group to delete and specify the type of delete action to initiate. Game server groups can only be deleted if they are in ACTIVE or ERROR status.

If the delete request is successful, a series of actions are kicked off. The game server group status is changed to DELETE_SCHEDULED, which prevents new game servers from being registered and stops autoscaling activity. Once all game servers in the game server group are de-registered, GameLift FleetIQ can begin deleting resources. If any of the delete actions fail, the game server group is placed in ERROR status.

GameLift FleetIQ emits delete events to Amazon CloudWatch.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "DeleteGameSessionQueue":{ + "name":"DeleteGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGameSessionQueueInput"}, + "output":{"shape":"DeleteGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Deletes a game session queue. This action means that any StartGameSessionPlacement requests that reference this queue will fail. To delete a queue, specify the queue name.

Learn more

Using Multi-Region Queues

Related operations

" + }, + "DeleteMatchmakingConfiguration":{ + "name":"DeleteMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMatchmakingConfigurationInput"}, + "output":{"shape":"DeleteMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"TaggingFailedException"} + ], + "documentation":"

Permanently removes a FlexMatch matchmaking configuration. To delete, specify the configuration name. A matchmaking configuration cannot be deleted if it is being used in any active matchmaking tickets.

Related operations

" + }, + "DeleteMatchmakingRuleSet":{ + "name":"DeleteMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMatchmakingRuleSetInput"}, + "output":{"shape":"DeleteMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"NotFoundException"}, + {"shape":"TaggingFailedException"} ], - "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.

" + "documentation":"

Deletes an existing matchmaking rule set. To delete the rule set, provide the rule set name. Rule sets cannot be deleted if they are currently being used by a matchmaking configuration.

Learn more

Related operations

" }, "DeleteScalingPolicy":{ "name":"DeleteScalingPolicy", @@ -180,7 +406,70 @@ {"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.

To temporarily suspend scaling policies, call StopFleetActions. This operation suspends all policies for the fleet.

" + }, + "DeleteScript":{ + "name":"DeleteScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScriptInput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes a Realtime script. This action permanently deletes the script record. If script files were uploaded, they are also deleted (files stored in an S3 bucket are not deleted).

To delete a script, specify the script ID. Before deleting a script, be sure to terminate all fleets that are deployed with the script being deleted. Fleet instances periodically check for script updates, and if the script record no longer exists, the instance will go into an error state and be unable to host game sessions.

Learn more

Amazon GameLift Realtime Servers

Related operations

" + }, + "DeleteVpcPeeringAuthorization":{ + "name":"DeleteVpcPeeringAuthorization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcPeeringAuthorizationInput"}, + "output":{"shape":"DeleteVpcPeeringAuthorizationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Cancels a pending VPC peering authorization for the specified VPC. If you need to delete an existing VPC peering connection, call DeleteVpcPeeringConnection.

" + }, + "DeleteVpcPeeringConnection":{ + "name":"DeleteVpcPeeringConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVpcPeeringConnectionInput"}, + "output":{"shape":"DeleteVpcPeeringConnectionOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Removes a VPC peering connection. To delete the connection, you must have a valid authorization for the VPC peering connection that you want to delete. You can check for an authorization by calling DescribeVpcPeeringAuthorizations or request a new one using CreateVpcPeeringAuthorization.

Once a valid authorization exists, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection ID and fleet ID. If successful, the connection is removed.

" + }, + "DeregisterGameServer":{ + "name":"DeregisterGameServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterGameServerInput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Removes the game server resource from the game server group. As a result of this action, the de-registered game server can no longer be claimed and will not returned in a list of active game servers.

To de-register a game server, specify the game server group and game server ID. If successful, this action emits a CloudWatch event with termination time stamp and reason.

Learn more

GameLift FleetIQ Guide

Related operations

" }, "DescribeAlias":{ "name":"DescribeAlias", @@ -196,7 +485,7 @@ {"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.

" + "documentation":"

Retrieves properties for an alias. This operation returns all alias metadata and settings. To get an alias's target fleet ID only, use ResolveAlias.

To get alias properties, specify the alias ID. If successful, the requested alias record is returned.

" }, "DescribeBuild":{ "name":"DescribeBuild", @@ -212,7 +501,7 @@ {"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.

" + "documentation":"

Retrieves properties for a custom game build. To request a build resource, specify a build ID. If successful, an object containing the build properties is returned.

Learn more

Upload a Custom Server Build

Related operations

" }, "DescribeEC2InstanceLimits":{ "name":"DescribeEC2InstanceLimits", @@ -227,7 +516,7 @@ {"shape":"InternalServiceException"}, {"shape":"UnauthorizedException"} ], - "documentation":"

Retrieves the following information for the specified EC2 instance type:

  • maximum number of instances allowed per AWS account (service limit)

  • current usage level for the AWS account

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:

  • Maximum number of instances allowed per AWS account (service limit).

  • Current usage for the AWS account.

To learn more about the capabilities of each instance type, see Amazon EC2 Instance Types. Note that the instance types offered may vary depending on the region.

Learn more

Setting up GameLift Fleets

Related operations

" }, "DescribeFleetAttributes":{ "name":"DescribeFleetAttributes", @@ -243,7 +532,7 @@ {"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.

" + "documentation":"

Retrieves core properties, including configuration, status, and metadata, for a fleet.

To get attributes for one or more fleets, provide a list of fleet IDs or fleet ARNs. To get attributes for all fleets, do not specify a fleet identifier. When requesting attributes for multiple fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each fleet requested, unless the fleet identifier is not found.

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 number.

Learn more

Setting up GameLift Fleets

Related operations

" }, "DescribeFleetCapacity":{ "name":"DescribeFleetCapacity", @@ -259,7 +548,7 @@ {"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.

" + "documentation":"

Retrieves the current capacity statistics for one or more fleets. These statistics present a snapshot of the fleet's instances and provide insight on current or imminent scaling activity. To get statistics on game hosting activity in the fleet, see DescribeFleetUtilization.

You can request capacity for all fleets or specify a list of one or more fleet identifiers. 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 a list of fleet IDs is provided, 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.

Learn more

Setting up GameLift Fleets

GameLift Metrics for Fleets

Related operations

" }, "DescribeFleetEvents":{ "name":"DescribeFleetEvents", @@ -275,7 +564,7 @@ {"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.

" + "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.

Learn more

Setting up GameLift Fleets

Related operations

" }, "DescribeFleetPortSettings":{ "name":"DescribeFleetPortSettings", @@ -291,7 +580,7 @@ {"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.

" + "documentation":"

Retrieves a fleet's inbound connection permissions. Connection permissions specify the range of IP addresses and port settings that incoming traffic can use to access server processes in the fleet. Game sessions that are running on instances in the fleet use connections that fall in this range.

To get a fleet's inbound connection permissions, specify the fleet's unique identifier. 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.

Learn more

Setting up GameLift Fleets

Related operations

" }, "DescribeFleetUtilization":{ "name":"DescribeFleetUtilization", @@ -307,7 +596,39 @@ {"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.

" + "documentation":"

Retrieves utilization statistics for one or more fleets. These statistics provide insight into how available hosting resources are currently being used. To get statistics on available hosting resources, see DescribeFleetCapacity.

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, unless the fleet identifier is not found.

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.

Learn more

Setting up GameLift Fleets

GameLift Metrics for Fleets

Related operations

" + }, + "DescribeGameServer":{ + "name":"DescribeGameServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameServerInput"}, + "output":{"shape":"DescribeGameServerOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Retrieves information for a game server resource. Information includes the game server statuses, health check info, and the instance the game server is running on.

To retrieve game server information, specify the game server ID. If successful, the requested game server object is returned.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "DescribeGameServerGroup":{ + "name":"DescribeGameServerGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameServerGroupInput"}, + "output":{"shape":"DescribeGameServerGroupOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Retrieves information on a game server group.

To get attributes for a game server group, provide a group name or ARN value. If successful, a GameServerGroup object is returned.

Learn more

GameLift FleetIQ Guide

Related operations

" }, "DescribeGameSessionDetails":{ "name":"DescribeGameSessionDetails", @@ -324,7 +645,39 @@ {"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.

" + "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 or GameSessionArn 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.

" + }, + "DescribeGameSessionPlacement":{ + "name":"DescribeGameSessionPlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameSessionPlacementInput"}, + "output":{"shape":"DescribeGameSessionPlacementOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Retrieves properties and current status of a game session placement request. To get game session placement details, specify the placement ID. If successful, a GameSessionPlacement object is returned.

" + }, + "DescribeGameSessionQueues":{ + "name":"DescribeGameSessionQueues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGameSessionQueuesInput"}, + "output":{"shape":"DescribeGameSessionQueuesOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Retrieves the properties for one or more game session queues. When requesting multiple queues, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSessionQueue object is returned for each requested queue. When specifying a list of queues, objects are returned only for queues that currently exist in the Region.

Learn more

View Your Queues

Related operations

" }, "DescribeGameSessions":{ "name":"DescribeGameSessions", @@ -341,7 +694,7 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "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.

" + "documentation":"

Retrieves a set of one or more game sessions. Request a specific game session or request all game sessions on a fleet. Alternatively, use SearchGameSessions to request a set of active game sessions that are filtered by certain criteria. To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.

To get game sessions, specify 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 game session matching the request.

Available in Amazon GameLift Local.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -357,55 +710,148 @@ {"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.

" + "documentation":"

Retrieves information about a fleet's instances, including instance IDs. Use this action to get details on all instances in the fleet or get details on one specific instance.

To get a specific instance, specify fleet ID and instance ID. To get 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.

Learn more

Remotely Access Fleet Instances

Debug Fleet Issues

Related operations

" }, - "DescribePlayerSessions":{ - "name":"DescribePlayerSessions", + "DescribeMatchmaking":{ + "name":"DescribeMatchmaking", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribePlayerSessionsInput"}, - "output":{"shape":"DescribePlayerSessionsOutput"}, + "input":{"shape":"DescribeMatchmakingInput"}, + "output":{"shape":"DescribeMatchmakingOutput"}, "errors":[ - {"shape":"InternalServiceException"}, - {"shape":"NotFoundException"}, {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} ], - "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.

" + "documentation":"

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket information, including status and--once a successful match is made--acquire connection information for the resulting new game session.

You can use this operation to track the progress of matchmaking requests (through polling) as an alternative to using event notifications. See more details on tracking matchmaking requests through polling or notifications in StartMatchmaking.

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the request is successful, a ticket object is returned for each requested ID that currently exists.

Learn more

Add FlexMatch to a Game Client

Set Up FlexMatch Event Notification

Related operations

" }, - "DescribeRuntimeConfiguration":{ - "name":"DescribeRuntimeConfiguration", + "DescribeMatchmakingConfigurations":{ + "name":"DescribeMatchmakingConfigurations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeRuntimeConfigurationInput"}, - "output":{"shape":"DescribeRuntimeConfigurationOutput"}, + "input":{"shape":"DescribeMatchmakingConfigurationsInput"}, + "output":{"shape":"DescribeMatchmakingConfigurationsOutput"}, "errors":[ - {"shape":"UnauthorizedException"}, - {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"} + {"shape":"UnsupportedRegionException"} ], - "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.

" + "documentation":"

Retrieves the details of FlexMatch matchmaking configurations. With this operation, you have the following options: (1) retrieve all existing configurations, (2) provide the names of one or more configurations to retrieve, or (3) retrieve all configurations that use a specified rule set name. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a configuration is returned for each requested name. When specifying a list of names, only configurations that currently exist are returned.

Learn more

Setting Up FlexMatch Matchmakers

Related operations

" }, - "DescribeScalingPolicies":{ - "name":"DescribeScalingPolicies", + "DescribeMatchmakingRuleSets":{ + "name":"DescribeMatchmakingRuleSets", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeScalingPoliciesInput"}, - "output":{"shape":"DescribeScalingPoliciesOutput"}, + "input":{"shape":"DescribeMatchmakingRuleSetsInput"}, + "output":{"shape":"DescribeMatchmakingRuleSetsOutput"}, "errors":[ - {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"}, + {"shape":"NotFoundException"}, + {"shape":"UnsupportedRegionException"} + ], + "documentation":"

Retrieves the details for FlexMatch matchmaking rule sets. You can request all existing rule sets for the Region, or provide a list of one or more rule set names. When requesting multiple items, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a rule set is returned for each requested name.

Learn more

Related operations

" + }, + "DescribePlayerSessions":{ + "name":"DescribePlayerSessions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePlayerSessionsInput"}, + "output":{"shape":"DescribePlayerSessionsOutput"}, + "errors":[ + {"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 to request properties for a specific player session; (2) provide a GameSessionId to request properties for all player sessions in the specified game session; (3) provide a PlayerId 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.

Available in Amazon GameLift Local.

" + }, + "DescribeRuntimeConfiguration":{ + "name":"DescribeRuntimeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRuntimeConfigurationInput"}, + "output":{"shape":"DescribeRuntimeConfigurationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Retrieves a fleet's runtime configuration settings. The runtime configuration tells Amazon GameLift which server processes to run (and how) on each instance in the fleet.

To get a runtime configuration, specify the fleet's unique identifier. If successful, a RuntimeConfiguration object is returned for the requested fleet. If the requested fleet has been deleted, the result set is empty.

Learn more

Setting up GameLift Fleets

Running Multiple Processes on a Fleet

Related operations

" + }, + "DescribeScalingPolicies":{ + "name":"DescribeScalingPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScalingPoliciesInput"}, + "output":{"shape":"DescribeScalingPoliciesOutput"}, + "errors":[ + {"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.

A fleet may have all of its scaling policies suspended (StopFleetActions). This action does not affect the status of the scaling policies, which remains ACTIVE. To see whether a fleet's scaling policies are in force or suspended, call DescribeFleetAttributes and check the stopped actions.

" + }, + "DescribeScript":{ + "name":"DescribeScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScriptInput"}, + "output":{"shape":"DescribeScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, {"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 properties for a Realtime script.

To request a script record, specify the script ID. If successful, an object containing the script properties is returned.

Learn more

Amazon GameLift Realtime Servers

Related operations

" + }, + "DescribeVpcPeeringAuthorizations":{ + "name":"DescribeVpcPeeringAuthorizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcPeeringAuthorizationsInput"}, + "output":{"shape":"DescribeVpcPeeringAuthorizationsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves valid VPC peering authorizations that are pending for the AWS account. This operation returns all VPC peering authorizations and requests for peering. This includes those initiated and received by this account.

" + }, + "DescribeVpcPeeringConnections":{ + "name":"DescribeVpcPeeringConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeVpcPeeringConnectionsInput"}, + "output":{"shape":"DescribeVpcPeeringConnectionsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves information on VPC peering connections. Use this operation to get peering information for all fleets or for one specific fleet ID.

To retrieve connection information, call this operation from the AWS account that is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty to retrieve all connection records. If successful, the retrieved information includes both active and pending connections. Active connections identify the IpV4 CIDR block that the VPC uses to connect.

" }, "GetGameSessionLogUrl":{ "name":"GetGameSessionLogUrl", @@ -421,7 +867,23 @@ {"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.

" + "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 and retains them for 14 days. 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.

" + }, + "GetInstanceAccess":{ + "name":"GetInstanceAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceAccessInput"}, + "output":{"shape":"GetInstanceAccessOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Requests remote access to a fleet instance. Remote access is useful for debugging, gathering benchmarking data, or observing activity in real time.

To remotely access an instance, you need credentials that match the operating system of the instance. For a Windows instance, Amazon GameLift returns a user name and password as strings for use with a Windows Remote Desktop client. For a Linux instance, Amazon GameLift returns a user name and RSA private key, also as strings, for use with an SSH client. The private key must be saved in the proper format to a .pem file before using. If you're making this request using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess request, as shown in one of the examples for this action.

To request access to a specific instance, specify the IDs of both the instance and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess object is returned that contains the instance's IP address and a set of credentials.

Learn more

Remotely Access Fleet Instances

Debug Fleet Issues

Related operations

" }, "ListAliases":{ "name":"ListAliases", @@ -436,7 +898,7 @@ {"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 all aliases 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.

Returned aliases are not listed in any particular order.

" }, "ListBuilds":{ "name":"ListBuilds", @@ -451,7 +913,7 @@ {"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.

" + "documentation":"

Retrieves build resources 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 resources are not listed in any particular order.

Learn more

Upload a Custom Server Build

Related operations

" }, "ListFleets":{ "name":"ListFleets", @@ -467,7 +929,68 @@ {"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 resources for this AWS account. You can filter the result set to find only those fleets that are deployed with a specific build or script. Use the pagination parameters to retrieve results in sequential pages.

Fleet resources are not listed in a particular order.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "ListGameServerGroups":{ + "name":"ListGameServerGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGameServerGroupsInput"}, + "output":{"shape":"ListGameServerGroupsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Retrieves information on all game servers groups that exist in the current AWS account for the selected region. Use the pagination parameters to retrieve results in a set of sequential pages.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "ListGameServers":{ + "name":"ListGameServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGameServersInput"}, + "output":{"shape":"ListGameServersOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Retrieves information on all game servers that are currently running in a specified game server group. If there are custom key sort values for your game servers, you can opt to have the returned list sorted based on these values. Use the pagination parameters to retrieve results in a set of sequential pages.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "ListScripts":{ + "name":"ListScripts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListScriptsInput"}, + "output":{"shape":"ListScriptsOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves script records for all Realtime scripts that are associated with the AWS account in use.

Learn more

Amazon GameLift Realtime Servers

Related operations

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves all tags that are assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:

  • Build

  • Script

  • Fleet

  • Alias

  • GameSessionQueue

  • MatchmakingConfiguration

  • MatchmakingRuleSet

To list tags for a resource, specify the unique ARN value for the resource.

Learn more

Tagging AWS Resources in the AWS General Reference

AWS Tagging Strategies

Related operations

" }, "PutScalingPolicy":{ "name":"PutScalingPolicy", @@ -483,7 +1006,24 @@ {"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. Scaling policies are used to automatically scale a fleet's hosting capacity to meet player demand. An active scaling policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's capacity when a certain threshold is reached. There are two types of scaling policies: target-based and rule-based. Use a target-based policy to quickly and efficiently manage fleet scaling; this option is the most commonly used. Use rule-based policies when you need to exert fine-grained control over auto-scaling.

Fleets can have multiple scaling policies of each type in force at the same time; you can have one target-based policy, one or multiple rule-based scaling policies, or both. We recommend caution, however, because multiple auto-scaling policies can have unintended consequences.

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions with the same fleet action. To stop just one scaling policy--or to permanently remove it, you must delete the policy with DeleteScalingPolicy.

Learn more about how to work with auto-scaling in Set Up Fleet Automatic Scaling.

Target-based policy

A target-based policy tracks a single metric: PercentAvailableGameSessions. This metric tells us how much of a fleet's hosting capacity is ready to host game sessions but is not currently in use. This is the fleet's buffer; it measures the additional player demand that the fleet could handle at current capacity. With a target-based policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action is needed to maintain that target.

For example, you might choose to maintain a 10% buffer for a fleet that has the capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take action whenever the fleet's available capacity falls below or rises above 10 game sessions. Amazon GameLift will start new instances or stop unused instances in order to return to the 10% buffer.

To create or update a target-based policy, specify a fleet ID and name, and set the policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions) and reference a TargetConfiguration object with your desired buffer value. Exclude all other parameters. On a successful request, the policy name is returned. The scaling policy is automatically in force as soon as it's successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

Rule-based policy

A rule-based policy tracks specified fleet metric, sets a threshold value, and specifies the type of action to initiate when triggered. With a rule-based policy, you can select from several available fleet metrics. Each policy specifies whether to scale up or scale down (and by how much), so you need one policy for each type of action.

For example, a policy may make the following statement: \"If the percentage of idle instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity by 10%.\"

A policy's rule statement has the following structure:

If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods] minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].

To implement the example, the rule statement would look like this:

If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes, then [PercentChangeInCapacity] to/by [10].

To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a policy rule statement. On a successful request, the policy name is returned. Scaling policies are automatically in force as soon as they're successfully created. If the fleet's auto-scaling actions are temporarily suspended, the new policy will be in force once the fleet actions are restarted.

" + }, + "RegisterGameServer":{ + "name":"RegisterGameServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterGameServerInput"}, + "output":{"shape":"RegisterGameServerOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ConflictException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Creates a new game server resource and notifies GameLift FleetIQ that the game server is ready to host gameplay and players. This action is called by a game server process that is running on an instance in a game server group. Registering game servers enables GameLift FleetIQ to track available game servers and enables game clients and services to claim a game server for a new game session.

To register a game server, identify the game server group and instance where the game server is running, and provide a unique identifier for the game server. You can also include connection and game server data; when a game client or service requests a game server by calling ClaimGameServer, this information is returned in response.

Once a game server is successfully registered, it is put in status AVAILABLE. A request to register a game server may fail if the instance it is in the process of shutting down as part of instance rebalancing or scale-down activity.

Learn more

GameLift FleetIQ Guide

Related operations

" }, "RequestUploadCredentials":{ "name":"RequestUploadCredentials", @@ -499,7 +1039,7 @@ {"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 credentials for use when uploading a new set of game build files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see CreateBuild.

To request new credentials, specify the build ID as returned with an initial CreateBuild request. If successful, a new set of credentials are returned, along with the S3 storage location associated with the build ID.

Learn more

Create a Build with Files in S3

Related operations

" }, "ResolveAlias":{ "name":"ResolveAlias", @@ -516,7 +1056,23 @@ {"shape":"TerminalRoutingStrategyException"}, {"shape":"InternalServiceException"} ], - "documentation":"

Retrieves the fleet ID that a specified alias is currently pointing to.

" + "documentation":"

Retrieves the fleet ID that an alias is currently pointing to.

" + }, + "ResumeGameServerGroup":{ + "name":"ResumeGameServerGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResumeGameServerGroupInput"}, + "output":{"shape":"ResumeGameServerGroupOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Reinstates activity on a game server group after it has been suspended. A game server group may be suspended by calling SuspendGameServerGroup, or it may have been involuntarily suspended due to a configuration problem. You can manually resume activity on the group once the configuration problem has been resolved. Refer to the game server group status and status reason for more information on why group activity is suspended.

To resume activity, specify a game server group ARN and the type of activity to be resumed.

Learn more

GameLift FleetIQ Guide

Related operations

" }, "SearchGameSessions":{ "name":"SearchGameSessions", @@ -533,2126 +1089,5068 @@ {"shape":"UnauthorizedException"}, {"shape":"TerminalRoutingStrategyException"} ], - "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:

  • gameSessionId -- ID value assigned to a game session. This unique value is returned in a GameSession object when a new game session is created.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • hasAvailablePlayerSessions -- Boolean value indicating whether or not a game session has reached its maximum number of players. When searching with this attribute, the search value must be true or false. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

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 all active game sessions that match a set of search criteria and sorts them in a specified order. You can search or sort by the following game session attributes:

  • gameSessionId -- A unique identifier for the game session. You can use either a GameSessionId or GameSessionArn value.

  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession. Game session names do not need to be unique to a game session.

  • gameSessionProperties -- Custom data defined in a game session's GameProperty parameter. GameProperty values are stored as key:value pairs; the filter expression must indicate the key and a string to search the data values for. For example, to search for game sessions with custom data containing the key:value pair \"gameMode:brawl\", specify the following: gameSessionProperties.gameMode = \"brawl\". All custom data values are searched as strings.

  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set when requesting a new game session with CreateGameSession or updating with UpdateGameSession.

  • creationTimeMillis -- Value indicating when a game session was created. It is expressed in Unix time as milliseconds.

  • playerSessionCount -- Number of players currently connected to a game session. This value changes rapidly as players join the session or drop out.

  • hasAvailablePlayerSessions -- Boolean value indicating whether a game session has reached its maximum number of players. It is highly recommended that all search requests include this filter attribute to optimize search performance and return only sessions that players can join.

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.

To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort expression, or both. If successful, a collection of GameSession objects matching the request is returned. Use the pagination parameters to retrieve results as a set of sequential pages.

You can search for game sessions one fleet at a time only. To find game sessions across multiple fleets, you must search each fleet separately and combine the results. This search feature finds only game sessions that are in ACTIVE status. To locate games in statuses other than active, use DescribeGameSessionDetails.

" }, - "UpdateAlias":{ - "name":"UpdateAlias", + "StartFleetActions":{ + "name":"StartFleetActions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateAliasInput"}, - "output":{"shape":"UpdateAliasOutput"}, + "input":{"shape":"StartFleetActionsInput"}, + "output":{"shape":"StartFleetActionsOutput"}, "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Resumes activity on a fleet that was suspended with StopFleetActions. Currently, this operation is used to restart a fleet's auto-scaling activity.

To start fleet actions, specify the fleet ID and the type of actions to restart. When auto-scaling fleet actions are restarted, Amazon GameLift once again initiates scaling events as triggered by the fleet's scaling policies. If actions on the fleet were never stopped, this operation will have no effect. You can view a fleet's stopped actions using DescribeFleetAttributes.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "StartGameSessionPlacement":{ + "name":"StartGameSessionPlacement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartGameSessionPlacementInput"}, + "output":{"shape":"StartGameSessionPlacementOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} + {"shape":"UnauthorizedException"} ], - "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.

" + "documentation":"

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift searches for available resources on the queue's destinations, scanning each until it finds resources or the placement request times out.

A game session placement request can also request player sessions. When a new game session is successfully created, Amazon GameLift creates a player session for each player included in the request.

When placing a game session, by default Amazon GameLift tries each fleet in the order they are listed in the queue configuration. Ideally, a queue's destinations are listed in preference order.

Alternatively, when requesting a game session with players, you can also provide latency data for each player in relevant Regions. Latency data indicates the performance lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency data to reorder the list of destinations to place the game session in a Region with minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each Region's average lag for all players and reorders to get the best game play across all players.

To place a new game session request, specify the following:

  • The queue name and a set of game session properties and settings

  • A unique ID (such as a UUID) for the placement. You use this ID to track the status of the placement request

  • (Optional) A set of player data and a unique player ID for each player that you are joining to the new game session (player data is optional, but if you include it, you must also provide a unique ID for each player)

  • Latency data for all players (if you want to optimize game play for the players)

If successful, a new game session placement is created.

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the status is FULFILLED, a new game session has been created and a game session ARN and Region are referenced. If the placement request times out, you can resubmit the request or retry it with a different queue.

" }, - "UpdateBuild":{ - "name":"UpdateBuild", + "StartMatchBackfill":{ + "name":"StartMatchBackfill", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateBuildInput"}, - "output":{"shape":"UpdateBuildOutput"}, + "input":{"shape":"StartMatchBackfillInput"}, + "output":{"shape":"StartMatchBackfillOutput"}, "errors":[ - {"shape":"UnauthorizedException"}, {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"} + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} ], - "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":"

Finds new players to fill open slots in an existing game session. This operation can be used to add players to matched games that start with fewer than the maximum number of players or to replace players when they drop out. By backfilling with the same matchmaker used to create the original match, you ensure that new players meet the match criteria and maintain a consistent experience throughout the game session. You can backfill a match anytime after a game session has been created.

To request a match backfill, specify a unique ticket ID, the existing game session's ARN, a matchmaking configuration, and a set of data that describes all current players in the game session. If successful, a match backfill ticket is created and returned with status set to QUEUED. The ticket is placed in the matchmaker's ticket pool and processed. Track the status of the ticket to respond as needed.

The process of finding backfill matches is essentially identical to the initial matchmaking process. The matchmaker searches the pool and groups tickets together to form potential matches, allowing only one backfill ticket per potential match. Once the a match is formed, the matchmaker creates player sessions for the new players. All tickets in the match are updated with the game session's connection information, and the GameSession object is updated to include matchmaker data on the new players. For more detail on how match backfill requests are processed, see How Amazon GameLift FlexMatch Works.

Learn more

Backfill Existing Games with FlexMatch

How GameLift FlexMatch Works

Related operations

" }, - "UpdateFleetAttributes":{ - "name":"UpdateFleetAttributes", + "StartMatchmaking":{ + "name":"StartMatchmaking", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateFleetAttributesInput"}, - "output":{"shape":"UpdateFleetAttributesOutput"}, + "input":{"shape":"StartMatchmakingInput"}, + "output":{"shape":"StartMatchmakingOutput"}, "errors":[ + {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"}, - {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} + {"shape":"UnsupportedRegionException"} ], - "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.

" + "documentation":"

Uses FlexMatch to create a game match for a group of players based on custom matchmaking rules, and starts a new game for the matched players. Each matchmaking request specifies the type of match to build (team configuration, rules for an acceptable match, etc.). The request also specifies the players to find a match for and where to host the new game session for optimal performance. A matchmaking request might start with a single player or a group of players who want to play together. FlexMatch finds additional players as needed to fill the match. Match type, rules, and the queue used to place a new game session are defined in a MatchmakingConfiguration.

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration, and include the players to be matched. You must also include a set of player attributes relevant for the matchmaking configuration. If successful, a matchmaking ticket is returned with status set to QUEUED. Track the status of the ticket to respond as needed and acquire game session connection information for successfully completed matches.

Tracking ticket status -- A couple of options are available for tracking the status of matchmaking requests:

  • Polling -- Call DescribeMatchmaking. This operation returns the full ticket object, including current status and (for completed tickets) game session connection info. We recommend polling no more than once every 10 seconds.

  • Notifications -- Get event notifications for changes in ticket status using Amazon Simple Notification Service (SNS). Notifications are easy to set up (see CreateMatchmakingConfiguration) and typically deliver match status changes faster and more efficiently than polling. We recommend that you use polling to back up to notifications (since delivery is not guaranteed) and call DescribeMatchmaking only when notifications are not received within 30 seconds.

Processing a matchmaking request -- FlexMatch handles a matchmaking request as follows:

  1. Your client code submits a StartMatchmaking request for one or more players and tracks the status of the request ticket.

  2. FlexMatch uses this ticket and others in process to build an acceptable match. When a potential match is identified, all tickets in the proposed match are advanced to the next status.

  3. If the match requires player acceptance (set in the matchmaking configuration), the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your client code to solicit acceptance from all players in every ticket involved in the match, and then call AcceptMatch for each player. If any player rejects or fails to accept the match before a specified timeout, the proposed match is dropped (see AcceptMatch for more details).

  4. Once a match is proposed and accepted, the matchmaking tickets move into status PLACING. FlexMatch locates resources for a new game session using the game session queue (set in the matchmaking configuration) and creates the game session based on the match data.

  5. When the match is successfully placed, the matchmaking tickets move into COMPLETED status. Connection information (including game session endpoint and player session) is added to the matchmaking tickets. Matched players can use the connection information to join the game.

Learn more

Add FlexMatch to a Game Client

Set Up FlexMatch Event Notification

FlexMatch Integration Roadmap

How GameLift FlexMatch Works

Related operations

" }, - "UpdateFleetCapacity":{ - "name":"UpdateFleetCapacity", + "StopFleetActions":{ + "name":"StopFleetActions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateFleetCapacityInput"}, - "output":{"shape":"UpdateFleetCapacityOutput"}, + "input":{"shape":"StopFleetActionsInput"}, + "output":{"shape":"StopFleetActionsOutput"}, "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"LimitExceededException"}, - {"shape":"InvalidFleetStatusException"}, {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, - {"shape":"UnauthorizedException"} + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"} ], - "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.

" + "documentation":"

Suspends activity on a fleet. Currently, this operation is used to stop a fleet's auto-scaling activity. It is used to temporarily stop triggering scaling events. The policies can be retained and auto-scaling activity can be restarted using StartFleetActions. You can view a fleet's stopped actions using DescribeFleetAttributes.

To stop fleet actions, specify the fleet ID and the type of actions to suspend. When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates scaling events except in response to manual changes using UpdateFleetCapacity.

Learn more

Setting up GameLift Fleets

Related operations

" }, - "UpdateFleetPortSettings":{ - "name":"UpdateFleetPortSettings", + "StopGameSessionPlacement":{ + "name":"StopGameSessionPlacement", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateFleetPortSettingsInput"}, - "output":{"shape":"UpdateFleetPortSettingsOutput"}, + "input":{"shape":"StopGameSessionPlacementInput"}, + "output":{"shape":"StopGameSessionPlacementOutput"}, "errors":[ - {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, - {"shape":"InvalidFleetStatusException"}, - {"shape":"LimitExceededException"}, {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, {"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.

" + "documentation":"

Cancels a game session placement that is in PENDING status. To stop a placement, provide the placement ID values. If successful, the placement is moved to CANCELLED status.

" }, - "UpdateGameSession":{ - "name":"UpdateGameSession", + "StopMatchmaking":{ + "name":"StopMatchmaking", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateGameSessionInput"}, - "output":{"shape":"UpdateGameSessionOutput"}, + "input":{"shape":"StopMatchmakingInput"}, + "output":{"shape":"StopMatchmakingOutput"}, "errors":[ + {"shape":"InvalidRequestException"}, {"shape":"NotFoundException"}, - {"shape":"ConflictException"}, {"shape":"InternalServiceException"}, - {"shape":"UnauthorizedException"}, - {"shape":"InvalidGameSessionStatusException"}, - {"shape":"InvalidRequestException"} + {"shape":"UnsupportedRegionException"} ], - "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.

" + "documentation":"

Cancels a matchmaking ticket or match backfill ticket that is currently being processed. To stop the matchmaking operation, specify the ticket ID. If successful, work on the ticket is stopped, and the ticket status is changed to CANCELLED.

This call is also used to turn off automatic backfill for an individual game session. This is for game sessions that are created with a matchmaking configuration that has automatic backfill enabled. The ticket ID is included in the MatchmakerData of an updated game session object, which is provided to the game server.

If the action is successful, the service sends back an empty JSON struct with the HTTP 200 response (not an empty HTTP body).

Learn more

Add FlexMatch to a Game Client

Related operations

" }, - "UpdateRuntimeConfiguration":{ - "name":"UpdateRuntimeConfiguration", + "SuspendGameServerGroup":{ + "name":"SuspendGameServerGroup", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateRuntimeConfigurationInput"}, - "output":{"shape":"UpdateRuntimeConfigurationOutput"}, + "input":{"shape":"SuspendGameServerGroupInput"}, + "output":{"shape":"SuspendGameServerGroupOutput"}, "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Temporarily stops activity on a game server group without terminating instances or the game server group. Activity can be restarted by calling ResumeGameServerGroup. Activities that can suspended are:

  • Instance type replacement. This activity evaluates the current Spot viability of all instance types that are defined for the game server group. It updates the Auto Scaling group to remove nonviable Spot instance types (which have a higher chance of game server interruptions) and rebalances capacity across the remaining viable Spot instance types. When this activity is suspended, the Auto Scaling group continues with its current balance, regardless of viability. Instance protection, utilization metrics, and capacity autoscaling activities continue to be active.

To suspend activity, specify a game server group ARN and the type of activity to be suspended.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ {"shape":"NotFoundException"}, - {"shape":"InternalServiceException"}, {"shape":"InvalidRequestException"}, - {"shape":"InvalidFleetStatusException"} + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"} ], - "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.

" - } - }, - "shapes":{ - "Alias":{ - "type":"structure", - "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias.

" - }, - "Name":{ - "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" - }, - "Description":{ - "shape":"FreeText", - "documentation":"

Human-readable description of an alias.

" - }, - "RoutingStrategy":{"shape":"RoutingStrategy"}, - "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\".

" - }, - "LastUpdatedTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was last modified. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" - } - }, - "documentation":"

Properties describing a fleet alias.

" + "documentation":"

Assigns a tag to a GameLift resource. AWS resource tags provide an additional management tool set. You can use tags to organize resources, create IAM permissions policies to manage access to groups of resources, customize AWS cost breakdowns, etc. This action handles the permissions necessary to manage tags for the following GameLift resource types:

  • Build

  • Script

  • Fleet

  • Alias

  • GameSessionQueue

  • MatchmakingConfiguration

  • MatchmakingRuleSet

To add a tag to a resource, specify the unique ARN value for the resource and provide a tag list containing one or more tags. The operation succeeds even if the list includes tags that are already assigned to the specified resource.

Learn more

Tagging AWS Resources in the AWS General Reference

AWS Tagging Strategies

Related operations

" }, - "AliasId":{ - "type":"string", + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TaggingFailedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Removes a tag that is assigned to a GameLift resource. Resource tags are used to organize AWS resources for a range of purposes. This action handles the permissions necessary to manage tags for the following GameLift resource types:

  • Build

  • Script

  • Fleet

  • Alias

  • GameSessionQueue

  • MatchmakingConfiguration

  • MatchmakingRuleSet

To remove a tag from a resource, specify the unique ARN value for the resource and provide a string list containing one or more tags to be removed. This action succeeds even if the list includes tags that are not currently assigned to the specified resource.

Learn more

Tagging AWS Resources in the AWS General Reference

AWS Tagging Strategies

Related operations

" + }, + "UpdateAlias":{ + "name":"UpdateAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAliasInput"}, + "output":{"shape":"UpdateAliasOutput"}, + "errors":[ + {"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.

" + }, + "UpdateBuild":{ + "name":"UpdateBuild", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateBuildInput"}, + "output":{"shape":"UpdateBuildOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates metadata in a build resource, 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.

Learn more

Upload a Custom Server Build

Related operations

" + }, + "UpdateFleetAttributes":{ + "name":"UpdateFleetAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFleetAttributesInput"}, + "output":{"shape":"UpdateFleetAttributesOutput"}, + "errors":[ + {"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 that you want to change. If successful, the fleet ID for the updated fleet is returned.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "UpdateFleetCapacity":{ + "name":"UpdateFleetCapacity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFleetCapacityInput"}, + "output":{"shape":"UpdateFleetCapacityOutput"}, + "errors":[ + {"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.

Specify minimum and maximum number of instances. Amazon GameLift will not change fleet capacity to values fall outside of this range. This is particularly important when using auto-scaling (see PutScalingPolicy) to allow capacity to adjust based on player demand while imposing limits on automatic adjustments.

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.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "UpdateFleetPortSettings":{ + "name":"UpdateFleetPortSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFleetPortSettingsInput"}, + "output":{"shape":"UpdateFleetPortSettingsOutput"}, + "errors":[ + {"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.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "UpdateGameServer":{ + "name":"UpdateGameServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGameServerInput"}, + "output":{"shape":"UpdateGameServerOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Updates information about a registered game server. This action is called by a game server process that is running on an instance in a game server group. There are three reasons to update game server information: (1) to change the utilization status of the game server, (2) to report game server health status, and (3) to change game server metadata. A registered game server should regularly report health and should update utilization status when it is supporting gameplay so that GameLift FleetIQ can accurately track game server availability. You can make all three types of updates in the same request.

  • To update the game server's utilization status, identify the game server and game server group and specify the current utilization status. Use this status to identify when game servers are currently hosting games and when they are available to be claimed.

  • To report health status, identify the game server and game server group and set health check to HEALTHY. If a game server does not report health status for a certain length of time, the game server is no longer considered healthy and will be eventually de-registered from the game server group to avoid affecting utilization metrics. The best practice is to report health every 60 seconds.

  • To change game server metadata, provide updated game server data and custom sort key values.

Once a game server is successfully updated, the relevant statuses and timestamps are updated.

Learn more

GameLift FleetIQ Guide

Related operations

" + }, + "UpdateGameServerGroup":{ + "name":"UpdateGameServerGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGameServerGroupInput"}, + "output":{"shape":"UpdateGameServerGroupOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

This action is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Updates GameLift FleetIQ-specific properties for a game server group. These properties include instance rebalancing and game server protection. Many Auto Scaling group properties are updated directly. These include autoscaling policies, minimum/maximum/desired instance counts, and launch template.

To update the game server group, specify the game server group ID and provide the updated values.

Updated properties are validated to ensure that GameLift FleetIQ can continue to perform its core instance rebalancing activity. When you change Auto Scaling group properties directly and the changes cause errors with GameLift FleetIQ activities, an alert is sent.

Learn more

GameLift FleetIQ Guide

Updating a GameLift FleetIQ-Linked Auto Scaling Group

Related operations

" + }, + "UpdateGameSession":{ + "name":"UpdateGameSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGameSessionInput"}, + "output":{"shape":"UpdateGameSessionOutput"}, + "errors":[ + {"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.

" + }, + "UpdateGameSessionQueue":{ + "name":"UpdateGameSessionQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGameSessionQueueInput"}, + "output":{"shape":"UpdateGameSessionQueueOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Updates settings for a game session queue, which determines how new game session requests in the queue are processed. To update settings, specify the queue name to be updated and provide the new settings. When updating destinations, provide a complete list of destinations.

Learn more

Using Multi-Region Queues

Related operations

" + }, + "UpdateMatchmakingConfiguration":{ + "name":"UpdateMatchmakingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMatchmakingConfigurationInput"}, + "output":{"shape":"UpdateMatchmakingConfigurationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"} + ], + "documentation":"

Updates settings for a FlexMatch matchmaking configuration. These changes affect all matches and game sessions that are created after the update. To update settings, specify the configuration name to be updated and provide the new settings.

Learn more

Design a FlexMatch Matchmaker

Related operations

" + }, + "UpdateRuntimeConfiguration":{ + "name":"UpdateRuntimeConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuntimeConfigurationInput"}, + "output":{"shape":"UpdateRuntimeConfigurationOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidFleetStatusException"} + ], + "documentation":"

Updates the current runtime configuration for the specified fleet, which tells Amazon 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 an updated set of server process configurations.

Each instance in a Amazon 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; runtime configuration changes are applied gradually as existing processes shut down and new processes are launched during Amazon GameLift's normal process recycling activity.

Learn more

Setting up GameLift Fleets

Related operations

" + }, + "UpdateScript":{ + "name":"UpdateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateScriptInput"}, + "output":{"shape":"UpdateScriptOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Updates Realtime script metadata and content.

To update script metadata, specify the script ID and provide updated name and/or version values.

To update script content, provide an updated zip file by pointing to either a local file or an Amazon S3 bucket location. You can use either method regardless of how the original script was uploaded. Use the Version parameter to track updates to the script.

If the call is successful, the updated metadata is stored in the script record and a revised script is uploaded to the Amazon GameLift service. Once the script is updated and acquired by a fleet instance, the new version is used for all new game sessions.

Learn more

Amazon GameLift Realtime Servers

Related operations

" + }, + "ValidateMatchmakingRuleSet":{ + "name":"ValidateMatchmakingRuleSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ValidateMatchmakingRuleSetInput"}, + "output":{"shape":"ValidateMatchmakingRuleSetOutput"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"UnsupportedRegionException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Validates the syntax of a matchmaking rule or rule set. This operation checks that the rule set is using syntactically correct JSON and that it conforms to allowed property expressions. To validate syntax, provide a rule set JSON string.

Learn more

Related operations

" + } + }, + "shapes":{ + "AcceptMatchInput":{ + "type":"structure", + "required":[ + "TicketId", + "PlayerIds", + "AcceptanceType" + ], + "members":{ + "TicketId":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking ticket. The ticket must be in status REQUIRES_ACCEPTANCE; otherwise this request will fail.

" + }, + "PlayerIds":{ + "shape":"StringList", + "documentation":"

A unique identifier for a player delivering the response. This parameter can include one or multiple player IDs.

" + }, + "AcceptanceType":{ + "shape":"AcceptanceType", + "documentation":"

Player response to the proposed match.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "AcceptMatchOutput":{ + "type":"structure", + "members":{ + } + }, + "AcceptanceType":{ + "type":"string", + "enum":[ + "ACCEPT", + "REJECT" + ] + }, + "Alias":{ + "type":"structure", + "members":{ + "AliasId":{ + "shape":"AliasId", + "documentation":"

A unique identifier for an alias. Alias IDs are unique within a Region.

" + }, + "Name":{ + "shape":"NonBlankAndLengthConstraintString", + "documentation":"

A descriptive label that is associated with an alias. Alias names do not need to be unique.

" + }, + "AliasArn":{ + "shape":"AliasArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift alias resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift alias ARN, the resource ID matches the alias ID value.

" + }, + "Description":{ + "shape":"FreeText", + "documentation":"

A human-readable description of an alias.

" + }, + "RoutingStrategy":{ + "shape":"RoutingStrategy", + "documentation":"

The routing configuration, including routing type and fleet target, for the alias.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

The time that this data object was last modified. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + } + }, + "documentation":"

Properties that describe an alias resource.

" + }, + "AliasArn":{ + "type":"string", + "pattern":"^arn:.*:alias\\/alias-\\S+" + }, + "AliasId":{ + "type":"string", "pattern":"^alias-\\S+" }, + "AliasIdOrArn":{ + "type":"string", + "pattern":"^alias-\\S+|^arn:.*:alias\\/alias-\\S+" + }, "AliasList":{ "type":"list", "member":{"shape":"Alias"} }, - "ArnStringModel":{ + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "ArnStringModel":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9:/-]+" + }, + "AttributeValue":{ + "type":"structure", + "members":{ + "S":{ + "shape":"NonZeroAndMaxString", + "documentation":"

For single string values. Maximum string length is 100 characters.

" + }, + "N":{ + "shape":"DoubleObject", + "documentation":"

For number values, expressed as double.

" + }, + "SL":{ + "shape":"StringList", + "documentation":"

For a list of up to 10 strings. Maximum length for each string is 100 characters. Duplicate values are not recognized; all occurrences of the repeated value after the first of a repeated value are ignored.

" + }, + "SDM":{ + "shape":"StringDoubleMap", + "documentation":"

For a map of up to 10 data type:value pairs. Maximum length for each string value is 100 characters.

" + } + }, + "documentation":"

Values for use in Player attribute key-value pairs. This object lets you specify an attribute value using any of the valid data types: string, number, string array, or data map. Each AttributeValue object can use only one of the available properties.

" + }, + "AutoScalingGroupArn":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "AwsCredentials":{ + "type":"structure", + "members":{ + "AccessKeyId":{ + "shape":"NonEmptyString", + "documentation":"

Temporary key allowing access to the Amazon GameLift S3 account.

" + }, + "SecretAccessKey":{ + "shape":"NonEmptyString", + "documentation":"

Temporary secret key allowing access to the Amazon GameLift S3 account.

" + }, + "SessionToken":{ + "shape":"NonEmptyString", + "documentation":"

Token used to associate a specific build ID with the files uploaded using these credentials.

" + } + }, + "documentation":"

Temporary access credentials used for uploading game build files to Amazon GameLift. They are valid for a limited time. If they expire before you upload your game build, get a new set by calling RequestUploadCredentials.

", + "sensitive":true + }, + "BackfillMode":{ + "type":"string", + "enum":[ + "AUTOMATIC", + "MANUAL" + ] + }, + "BalancingStrategy":{ + "type":"string", + "enum":[ + "SPOT_ONLY", + "SPOT_PREFERRED" + ] + }, + "BooleanModel":{"type":"boolean"}, + "Build":{ + "type":"structure", + "members":{ + "BuildId":{ + "shape":"BuildId", + "documentation":"

A unique identifier for a build.

" + }, + "BuildArn":{ + "shape":"BuildArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift build resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift build ARN, the resource ID matches the BuildId value.

" + }, + "Name":{ + "shape":"FreeText", + "documentation":"

A descriptive label that is associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

" + }, + "Version":{ + "shape":"FreeText", + "documentation":"

Version information that is associated with a build or script. Version strings do not need to be unique. This value can be set using CreateBuild or UpdateBuild.

" + }, + "Status":{ + "shape":"BuildStatus", + "documentation":"

Current status of the build.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

" + }, + "SizeOnDisk":{ + "shape":"PositiveLong", + "documentation":"

File size of the uploaded game build, expressed in bytes. When the build status is INITIALIZED, this value is 0.

" + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + } + }, + "documentation":"

Properties describing a custom game build.

Related operations

" + }, + "BuildArn":{ + "type":"string", + "pattern":"^arn:.*:build\\/build-\\S+" + }, + "BuildId":{ + "type":"string", + "pattern":"^build-\\S+" + }, + "BuildIdOrArn":{ + "type":"string", + "pattern":"^build-\\S+|^arn:.*:build\\/build-\\S+" + }, + "BuildList":{ + "type":"list", + "member":{"shape":"Build"} + }, + "BuildStatus":{ + "type":"string", + "enum":[ + "INITIALIZED", + "READY", + "FAILED" + ] + }, + "CertificateConfiguration":{ + "type":"structure", + "required":["CertificateType"], + "members":{ + "CertificateType":{ + "shape":"CertificateType", + "documentation":"

Indicates whether a TLS/SSL certificate was generated for a fleet.

" + } + }, + "documentation":"

Information about the use of a TLS/SSL certificate for a fleet. TLS certificate generation is enabled at the fleet level, with one certificate generated for the fleet. When this feature is enabled, the certificate can be retrieved using the GameLift Server SDK call GetInstanceCertificate. All instances in a fleet share the same certificate.

" + }, + "CertificateType":{ + "type":"string", + "enum":[ + "DISABLED", + "GENERATED" + ] + }, + "ClaimGameServerInput":{ + "type":"structure", + "required":["GameServerGroupName"], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group. When claiming a specific game server, this is the game server group whether the game server is located. When requesting that GameLift FleetIQ locate an available game server, this is the game server group to search on. You can use either the GameServerGroup name or ARN value.

" + }, + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

A custom string that uniquely identifies the game server to claim. If this parameter is left empty, GameLift FleetIQ searches for an available game server in the specified game server group.

" + }, + "GameServerData":{ + "shape":"GameServerData", + "documentation":"

A set of custom game server properties, formatted as a single string value, to be passed to the claimed game server.

" + } + } + }, + "ClaimGameServerOutput":{ + "type":"structure", + "members":{ + "GameServer":{ + "shape":"GameServer", + "documentation":"

Object that describes the newly claimed game server resource.

" + } + } + }, + "ComparisonOperatorType":{ + "type":"string", + "enum":[ + "GreaterThanOrEqualToThreshold", + "GreaterThanThreshold", + "LessThanThreshold", + "LessThanOrEqualToThreshold" + ] + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "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", + "required":[ + "Name", + "RoutingStrategy" + ], + "members":{ + "Name":{ + "shape":"NonBlankAndLengthConstraintString", + "documentation":"

A descriptive label that is associated with an alias. Alias names do not need to be unique.

" + }, + "Description":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A human-readable description of the alias.

" + }, + "RoutingStrategy":{ + "shape":"RoutingStrategy", + "documentation":"

The routing configuration, including routing type and fleet target, for the alias.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new alias resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateAliasOutput":{ + "type":"structure", + "members":{ + "Alias":{ + "shape":"Alias", + "documentation":"

The newly created alias resource.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateBuildInput":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a build. Build names do not need to be unique. You can use UpdateBuild to change this value later.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Version information that is associated with a build or script. Version strings do not need to be unique. You can use UpdateBuild to change this value later.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Information indicating where your game build files are stored. Use this parameter only when creating a build with files stored in an S3 bucket that you own. The storage location must specify an S3 bucket name and key. The location must also specify a role ARN that you set up to allow Amazon GameLift to access your S3 bucket. The S3 bucket and your new build must be in the same Region.

" + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

The operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build. If your game build contains multiple executables, they all must run on the same operating system. If an operating system is not specified when creating a build, Amazon GameLift uses the default value (WINDOWS_2012). This value cannot be changed later.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new build resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateBuildOutput":{ + "type":"structure", + "members":{ + "Build":{ + "shape":"Build", + "documentation":"

The newly created build resource, including a unique build IDs and status.

" + }, + "UploadCredentials":{ + "shape":"AwsCredentials", + "documentation":"

This element is returned only when the operation is called without a storage location. It contains credentials to use when you are uploading a build file to an S3 bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these credentials, call RequestUploadCredentials.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Amazon S3 location for your game build file, including bucket name and key.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateFleetInput":{ + "type":"structure", + "required":[ + "Name", + "EC2InstanceType" + ], + "members":{ + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" + }, + "Description":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A human-readable description of a fleet.

" + }, + "BuildId":{ + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to be deployed on the new fleet. You can use either the build ID or ARN value. The custom game server build must have been successfully uploaded to Amazon GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" + }, + "ScriptId":{ + "shape":"ScriptIdOrArn", + "documentation":"

A unique identifier for a Realtime script to be deployed on the new fleet. You can use either the script ID or ARN value. The Realtime script must have been successfully uploaded to Amazon GameLift. This fleet setting cannot be changed once the fleet is created.

" + }, + "ServerLaunchPath":{ + "shape":"NonZeroAndMaxString", + "documentation":"

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.

" + }, + "ServerLaunchParameters":{ + "shape":"NonZeroAndMaxString", + "documentation":"

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)

" + }, + "LogPaths":{ + "shape":"StringList", + "documentation":"

This parameter is no longer used. Instead, to specify where Amazon GameLift should store log files once a server process shuts down, use the Amazon GameLift server API ProcessReady() and specify one or more directory paths in logParameters. See more information in the Server API Reference.

" + }, + "EC2InstanceType":{ + "shape":"EC2InstanceType", + "documentation":"

The 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. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + }, + "EC2InboundPermissions":{ + "shape":"IpPermissionsList", + "documentation":"

Range of IP addresses and port settings that permit inbound traffic to access game sessions that are running on the fleet. For fleets using a custom game build, this parameter is required before game sessions running on the fleet can accept connections. For Realtime Servers fleets, Amazon GameLift automatically sets TCP and UDP ranges for use by the Realtime servers. You can specify multiple permission settings or add more by updating the fleet.

" + }, + "NewGameSessionProtectionPolicy":{ + "shape":"ProtectionPolicy", + "documentation":"

A 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.

  • NoProtection - The game session can be terminated during a scale-down event.

  • FullProtection - If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + }, + "RuntimeConfiguration":{ + "shape":"RuntimeConfiguration", + "documentation":"

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime script. The runtime configuration defines the server executables or launch script file, launch parameters, and the number of processes to run concurrently on each instance. When creating a fleet, the runtime configuration must have at least one server process configuration; otherwise the request fails with an invalid request exception. (This parameter replaces the parameters ServerLaunchPath and ServerLaunchParameters, although requests that contain values for these parameters instead of a runtime configuration will continue to work.) This parameter is required unless the parameters ServerLaunchPath and ServerLaunchParameters are defined. Runtime configuration replaced these parameters, but fleets that use them will continue to work.

" + }, + "ResourceCreationLimitPolicy":{ + "shape":"ResourceCreationLimitPolicy", + "documentation":"

A policy that limits the number of game sessions an individual player can create over a span of time for this fleet.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

The name of an Amazon CloudWatch metric group to add this fleet to. A metric group aggregates the metrics for all fleets in the group. Specify an existing metric group name, or provide a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" + }, + "PeerVpcAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your account ID in the AWS Management Console under account settings.

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, use the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + }, + "FleetType":{ + "shape":"FleetType", + "documentation":"

Indicates whether to use On-Demand instances or Spot instances for this fleet. If empty, the default is ON_DEMAND. Both categories of instances use identical hardware and configurations based on the instance type selected for this fleet. Learn more about On-Demand versus Spot Instances.

" + }, + "InstanceRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.

" + }, + "CertificateConfiguration":{ + "shape":"CertificateConfiguration", + "documentation":"

Indicates whether to generate a TLS/SSL certificate for the new fleet. TLS certificates are used for encrypting traffic between game clients and game servers running on GameLift. If this parameter is not specified, the default value, DISABLED, is used. This fleet setting cannot be changed once the fleet is created. Learn more at Securing Client/Server Communication.

Note: This feature requires the AWS Certificate Manager (ACM) service, which is available in the AWS global partition but not in all other partitions. When working in a partition that does not support this feature, a request for a new fleet with certificate generation results fails with a 4xx unsupported Region error.

Valid values include:

  • GENERATED - Generate a TLS/SSL certificate for this fleet.

  • DISABLED - (default) Do not generate a TLS/SSL certificate for this fleet.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new fleet resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateFleetOutput":{ + "type":"structure", + "members":{ + "FleetAttributes":{ + "shape":"FleetAttributes", + "documentation":"

Properties for the newly created fleet.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateGameServerGroupInput":{ + "type":"structure", + "required":[ + "GameServerGroupName", + "RoleArn", + "MinSize", + "MaxSize", + "LaunchTemplate", + "InstanceDefinitions" + ], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupName", + "documentation":"

An identifier for the new game server group. This value is used to generate unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name must be unique per Region per AWS account.

" + }, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.

" + }, + "MinSize":{ + "shape":"WholeNumber", + "documentation":"

The minimum number of instances allowed in the EC2 Auto Scaling group. During autoscaling events, GameLift FleetIQ and EC2 do not scale down the group below this minimum. In production, this value should be set to at least 1.

" + }, + "MaxSize":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of instances allowed in the EC2 Auto Scaling group. During autoscaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.

" + }, + "LaunchTemplate":{ + "shape":"LaunchTemplateSpecification", + "documentation":"

The EC2 launch template that contains configuration settings and game server code to be deployed to all instances in the game server group. You can specify the template using either the template name or ID. For help with creating a launch template, see Creating a Launch Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling User Guide.

" + }, + "InstanceDefinitions":{ + "shape":"InstanceDefinitions", + "documentation":"

A set of EC2 instance types to use when creating instances in the group. The instance definitions must specify at least two different instance types that are supported by GameLift FleetIQ. For more information on instance types, see EC2 Instance Types in the Amazon EC2 User Guide.

" + }, + "AutoScalingPolicy":{ + "shape":"GameServerGroupAutoScalingPolicy", + "documentation":"

Configuration settings to define a scaling policy for the Auto Scaling group that is optimized for game hosting. The scaling policy uses the metric \"PercentUtilizedGameServers\" to maintain a buffer of idle game servers that can immediately accommodate new games and players. Once the game server and Auto Scaling groups are created, you can update the scaling policy settings directly in Auto Scaling Groups.

" + }, + "BalancingStrategy":{ + "shape":"BalancingStrategy", + "documentation":"

The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:

  • SPOT_ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.

  • SPOT_PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances.

" + }, + "GameServerProtectionPolicy":{ + "shape":"GameServerProtectionPolicy", + "documentation":"

A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may by terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running. An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

" + }, + "VpcSubnets":{ + "shape":"VpcSubnets", + "documentation":"

A list of virtual private cloud (VPC) subnets to use with instances in the game server group. By default, all GameLift FleetIQ-supported availability zones are used; this parameter allows you to specify VPCs that you've set up.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new game server group resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management, and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + } + }, + "CreateGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

The newly created game server group object, including the new ARN value for the GameLift FleetIQ game server group and the object's status. The EC2 Auto Scaling group ARN is initially null, since the group has not yet been created. This value is added once the game server group status reaches ACTIVE.

" + } + } + }, + "CreateGameSessionInput":{ + "type":"structure", + "required":["MaximumPlayerSessionCount"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to create a game session in. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.

" + }, + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier for an alias associated with the fleet to create a game session in. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.

" + }, + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

The maximum number of players that can be connected simultaneously to the game session.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a game session. Session names do not need to be unique.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + }, + "CreatorId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player 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":"

This parameter is no longer preferred. Please use IdempotencyToken instead. Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.)

" + }, + "IdempotencyToken":{ + "shape":"IdStringModel", + "documentation":"

Custom string that uniquely identifies a request for a new game session. Maximum token length is 48 characters. If provided, this string is included in the new game session's ID. (A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.) Idempotency tokens remain in use for 30 days after a game session has ended; game session objects are retained for this time period and then deleted.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateGameSessionOutput":{ + "type":"structure", + "members":{ + "GameSession":{ + "shape":"GameSession", + "documentation":"

Object that describes the newly created game session record.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. A player latency policy must set a value for MaximumIndividualPlayerLatencyMilliseconds. If none is set, this API request fails.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new game session queue resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateGameSessionQueueOutput":{ + "type":"structure", + "members":{ + "GameSessionQueue":{ + "shape":"GameSessionQueue", + "documentation":"

An object that describes the newly created game session queue.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateMatchmakingConfigurationInput":{ + "type":"structure", + "required":[ + "Name", + "GameSessionQueueArns", + "RequestTimeoutSeconds", + "AcceptanceRequired", + "RuleSetName" + ], + "members":{ + "Name":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

" + }, + "Description":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A human-readable description of the matchmaking configuration.

" + }, + "GameSessionQueueArns":{ + "shape":"QueueArnsList", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.

" + }, + "RequestTimeoutSeconds":{ + "shape":"MatchmakingRequestTimeoutInteger", + "documentation":"

The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.

" + }, + "AcceptanceTimeoutSeconds":{ + "shape":"MatchmakingAcceptanceTimeoutInteger", + "documentation":"

The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" + }, + "AcceptanceRequired":{ + "shape":"BooleanModel", + "documentation":"

A flag that determines whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" + }, + "RuleSetName":{ + "shape":"MatchmakingRuleSetName", + "documentation":"

A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.

" + }, + "NotificationTarget":{ + "shape":"SnsArnStringModel", + "documentation":"

An SNS topic ARN that is set up to receive matchmaking notifications.

" + }, + "AdditionalPlayerCount":{ + "shape":"WholeNumber", + "documentation":"

The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.

" + }, + "CustomEventData":{ + "shape":"CustomEventData", + "documentation":"

Information to be added to all events related to this matchmaking configuration.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "BackfillMode":{ + "shape":"BackfillMode", + "documentation":"

The method used to backfill game sessions that are created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + "Configuration":{ + "shape":"MatchmakingConfiguration", + "documentation":"

Object that describes the newly created matchmaking configuration.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateMatchmakingRuleSetInput":{ + "type":"structure", + "required":[ + "Name", + "RuleSetBody" + ], + "members":{ + "Name":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking rule set. A matchmaking configuration identifies the rule set it uses by this name value. Note that the rule set name is different from the optional name field in the rule set body.

" + }, + "RuleSetBody":{ + "shape":"RuleSetBody", + "documentation":"

A collection of matchmaking rules, formatted as a JSON string. Comments are not allowed in JSON, but most elements support a description field.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateMatchmakingRuleSetOutput":{ + "type":"structure", + "required":["RuleSet"], + "members":{ + "RuleSet":{ + "shape":"MatchmakingRuleSet", + "documentation":"

The newly created matchmaking rule set.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreatePlayerSessionInput":{ + "type":"structure", + "required":[ + "GameSessionId", + "PlayerId" + ], + "members":{ + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to add a player to.

" + }, + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player. Player IDs are developer-defined.

" + }, + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreatePlayerSessionOutput":{ + "type":"structure", + "members":{ + "PlayerSession":{ + "shape":"PlayerSession", + "documentation":"

Object that describes the newly created player session record.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreatePlayerSessionsInput":{ + "type":"structure", + "required":[ + "GameSessionId", + "PlayerIds" + ], + "members":{ + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to add players to.

" + }, + "PlayerIds":{ + "shape":"PlayerIdList", + "documentation":"

List of unique identifiers for the players to be added.

" + }, + "PlayerDataMap":{ + "shape":"PlayerDataMap", + "documentation":"

Map of string pairs, each specifying a player ID and a set of developer-defined information related to the player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game. Player data strings for player IDs not included in the PlayerIds parameter are ignored.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreatePlayerSessionsOutput":{ + "type":"structure", + "members":{ + "PlayerSessions":{ + "shape":"PlayerSessionList", + "documentation":"

A collection of player session objects created for the added players.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateScriptInput":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a script. Script names do not need to be unique. You can use UpdateScript to change this value later.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

The version that is associated with a build or script. Version strings do not need to be unique. You can use UpdateScript to change this value later.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version.

" + }, + "ZipFile":{ + "shape":"ZipBlob", + "documentation":"

A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.

When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new script resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" + } + } + }, + "CreateScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

The newly created script record with a unique script ID and ARN. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the CreateScript request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.

" + } + } + }, + "CreateVpcPeeringAuthorizationInput":{ + "type":"structure", + "required":[ + "GameLiftAwsAccountId", + "PeerVpcId" + ], + "members":{ + "GameLiftAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateVpcPeeringAuthorizationOutput":{ + "type":"structure", + "members":{ + "VpcPeeringAuthorization":{ + "shape":"VpcPeeringAuthorization", + "documentation":"

Details on the requested VPC peering authorization, including expiration.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "CreateVpcPeeringConnectionInput":{ + "type":"structure", + "required":[ + "FleetId", + "PeerVpcAwsAccountId", + "PeerVpcId" + ], + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift VPC to peer with.

" + }, + "PeerVpcAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the AWS account with the VPC that you want to peer your Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account settings.

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "CreateVpcPeeringConnectionOutput":{ + "type":"structure", + "members":{ + } + }, + "CustomEventData":{ + "type":"string", + "max":256, + "min":0 + }, + "DeleteAliasInput":{ + "type":"structure", + "required":["AliasId"], + "members":{ + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier of the alias that you want to delete. You can use either the alias ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteBuildInput":{ + "type":"structure", + "required":["BuildId"], + "members":{ + "BuildId":{ + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to delete. You can use either the build ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteFleetInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteGameServerGroupInput":{ + "type":"structure", + "required":["GameServerGroupName"], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

The unique identifier of the game server group to delete. Use either the GameServerGroup name or ARN value.

" + }, + "DeleteOption":{ + "shape":"GameServerGroupDeleteOption", + "documentation":"

The type of delete to perform. Options include:

  • SAFE_DELETE – Terminates the game server group and EC2 Auto Scaling group only when it has no game servers that are in IN_USE status.

  • FORCE_DELETE – Terminates the game server group, including all active game servers regardless of their utilization status, and the EC2 Auto Scaling group.

  • RETAIN – Does a safe delete of the game server group but retains the EC2 Auto Scaling group as is.

" + } + } + }, + "DeleteGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

An object that describes the deleted game server group resource, with status updated to DELETE_SCHEDULED.

" + } + } + }, + "DeleteGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueNameOrArn", + "documentation":"

A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteGameSessionQueueOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteMatchmakingConfigurationInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"MatchmakingConfigurationName", + "documentation":"

A unique identifier for a matchmaking configuration. You can use either the configuration name or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteMatchmakingRuleSetInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"MatchmakingRuleSetName", + "documentation":"

A unique identifier for a matchmaking rule set to be deleted. (Note: The rule set name is different from the optional \"name\" field in the rule set body.) You can use either the rule set name or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteMatchmakingRuleSetOutput":{ + "type":"structure", + "members":{ + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DeleteScalingPolicyInput":{ + "type":"structure", + "required":[ + "Name", + "FleetId" + ], + "members":{ + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" + }, + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to be deleted. You can use either the fleet ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptIdOrArn", + "documentation":"

A unique identifier for a Realtime script to delete. You can use either the script ID or ARN value.

" + } + } + }, + "DeleteVpcPeeringAuthorizationInput":{ + "type":"structure", + "required":[ + "GameLiftAwsAccountId", + "PeerVpcId" + ], + "members":{ + "GameLiftAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteVpcPeeringAuthorizationOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteVpcPeeringConnectionInput":{ + "type":"structure", + "required":[ + "FleetId", + "VpcPeeringConnectionId" + ], + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet. This fleet specified must match the fleet referenced in the VPC peering connection record. You can use either the fleet ID or ARN value.

" + }, + "VpcPeeringConnectionId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC peering connection. This value is included in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DeleteVpcPeeringConnectionOutput":{ + "type":"structure", + "members":{ + } + }, + "DeregisterGameServerInput":{ + "type":"structure", + "required":[ + "GameServerGroupName", + "GameServerId" + ], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group where the game server to be de-registered is running. Use either the GameServerGroup name or ARN value.

" + }, + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

The identifier for the game server to be de-registered.

" + } + } + }, + "DescribeAliasInput":{ + "type":"structure", + "required":["AliasId"], + "members":{ + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

The unique identifier for the fleet alias that you want to retrieve. You can use either the alias ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeAliasOutput":{ + "type":"structure", + "members":{ + "Alias":{ + "shape":"Alias", + "documentation":"

The requested alias resource.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeBuildInput":{ + "type":"structure", + "required":["BuildId"], + "members":{ + "BuildId":{ + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to retrieve properties for. You can use either the build ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeBuildOutput":{ + "type":"structure", + "members":{ + "Build":{ + "shape":"Build", + "documentation":"

Set of properties describing the requested build.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeEC2InstanceLimitsInput":{ + "type":"structure", + "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. Amazon 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.

" + }, + "DescribeEC2InstanceLimitsOutput":{ + "type":"structure", + "members":{ + "EC2InstanceLimits":{ + "shape":"EC2InstanceLimitList", + "documentation":"

The maximum number of instances for the specified instance type.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeFleetAttributesInput":{ + "type":"structure", + "members":{ + "FleetIds":{ + "shape":"FleetIdOrArnList", + "documentation":"

A list of unique fleet identifiers to retrieve attributes for. You can use either the fleet ID or ARN value. To retrieve attributes for all current fleets, do not include this parameter. If the list of fleet identifiers includes fleets that don't currently exist, the request succeeds but no attributes for that fleet are returned.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeFleetAttributesOutput":{ + "type":"structure", + "members":{ + "FleetAttributes":{ + "shape":"FleetAttributesList", + "documentation":"

A collection of objects containing attribute metadata for each requested fleet ID. Attribute objects are returned only for fleets that currently exist.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeFleetCapacityInput":{ + "type":"structure", + "members":{ + "FleetIds":{ + "shape":"FleetIdOrArnList", + "documentation":"

A unique identifier for a fleet(s) to retrieve capacity information for. You can use either the fleet ID or ARN value.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeFleetCapacityOutput":{ + "type":"structure", + "members":{ + "FleetCapacity":{ + "shape":"FleetCapacityList", + "documentation":"

A collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeFleetEventsInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to get event logs for. You can use either the fleet ID or ARN value.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\").

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The 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 that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeFleetEventsOutput":{ + "type":"structure", + "members":{ + "Events":{ + "shape":"EventList", + "documentation":"

A collection of objects containing event log entries for the specified fleet.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeFleetPortSettingsInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to retrieve port settings for. You can use either the fleet ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeFleetPortSettingsOutput":{ + "type":"structure", + "members":{ + "InboundPermissions":{ + "shape":"IpPermissionsList", + "documentation":"

The port settings for the requested fleet ID.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeFleetUtilizationInput":{ + "type":"structure", + "members":{ + "FleetIds":{ + "shape":"FleetIdOrArnList", + "documentation":"

A unique identifier for a fleet(s) to retrieve utilization data for. You can use either the fleet ID or ARN value. To retrieve attributes for all current fleets, do not include this parameter. If the list of fleet identifiers includes fleets that don't currently exist, the request succeeds but no attributes for that fleet are returned.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeFleetUtilizationOutput":{ + "type":"structure", + "members":{ + "FleetUtilization":{ + "shape":"FleetUtilizationList", + "documentation":"

A collection of objects containing utilization information for each requested fleet ID.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeGameServerGroupInput":{ + "type":"structure", + "required":["GameServerGroupName"], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

The unique identifier for the game server group being requested. Use either the GameServerGroup name or ARN value.

" + } + } + }, + "DescribeGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

An object that describes the requested game server group resource.

" + } + } + }, + "DescribeGameServerInput":{ + "type":"structure", + "required":[ + "GameServerGroupName", + "GameServerId" + ], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group where the game server is running. Use either the GameServerGroup name or ARN value.

" + }, + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

The identifier for the game server to be retrieved.

" + } + } + }, + "DescribeGameServerOutput":{ + "type":"structure", + "members":{ + "GameServer":{ + "shape":"GameServer", + "documentation":"

Object that describes the requested game server resource.

" + } + } + }, + "DescribeGameSessionDetailsInput":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to retrieve all game sessions active on the fleet. You can use either the fleet ID or ARN value.

" + }, + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to retrieve.

" + }, + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.

" + }, + "StatusFilter":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory).

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The 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 that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionDetailsOutput":{ + "type":"structure", + "members":{ + "GameSessionDetails":{ + "shape":"GameSessionDetailList", + "documentation":"

A collection of objects containing game session properties and the protection policy currently in force for each session matching the request.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeGameSessionPlacementInput":{ + "type":"structure", + "required":["PlacementId"], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

A unique identifier for a game session placement to retrieve.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionPlacementOutput":{ + "type":"structure", + "members":{ + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the requested game session placement.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeGameSessionQueuesInput":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"GameSessionQueueNameOrArnList", + "documentation":"

A list of queue names to retrieve information for. You can use either the queue ID or ARN value. To request settings for all queues, leave this parameter empty.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionQueuesOutput":{ + "type":"structure", + "members":{ + "GameSessionQueues":{ + "shape":"GameSessionQueueList", + "documentation":"

A collection of objects that describe the requested game session queues.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates 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.

" + }, + "DescribeGameSessionsInput":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to retrieve all game sessions for. You can use either the fleet ID or ARN value.

" + }, + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to retrieve.

" + }, + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier for an alias associated with the fleet to retrieve all game sessions for. You can use either the alias ID or ARN value.

" + }, + "StatusFilter":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are transitory).

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The 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 that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeGameSessionsOutput":{ + "type":"structure", + "members":{ + "GameSessions":{ + "shape":"GameSessionList", + "documentation":"

A collection of objects containing game session properties for each session matching the request.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to retrieve instance information for. You can use either the fleet ID or ARN value.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

A unique identifier for an instance to retrieve. Specify an instance ID or leave blank to retrieve all instances in the fleet.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The 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 that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning 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":"

A collection of objects containing properties for each instance returned.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeMatchmakingConfigurationsInput":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"MatchmakingConfigurationNameList", + "documentation":"

A unique identifier for a matchmaking configuration(s) to retrieve. You can use either the configuration name or ARN value. To request all existing configurations, leave this parameter empty.

" + }, + "RuleSetName":{ + "shape":"MatchmakingRuleSetName", + "documentation":"

A unique identifier for a matchmaking rule set. You can use either the rule set name or ARN value. Use this parameter to retrieve all matchmaking configurations that use this rule set.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is limited to 10.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeMatchmakingConfigurationsOutput":{ + "type":"structure", + "members":{ + "Configurations":{ + "shape":"MatchmakingConfigurationList", + "documentation":"

A collection of requested matchmaking configurations.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates 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.

" + }, + "DescribeMatchmakingInput":{ + "type":"structure", + "required":["TicketIds"], + "members":{ + "TicketIds":{ + "shape":"MatchmakingIdList", + "documentation":"

A unique identifier for a matchmaking ticket. You can include up to 10 ID values.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeMatchmakingOutput":{ + "type":"structure", + "members":{ + "TicketList":{ + "shape":"MatchmakingTicketList", + "documentation":"

A collection of existing matchmaking ticket objects matching the request.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeMatchmakingRuleSetsInput":{ + "type":"structure", + "members":{ + "Names":{ + "shape":"MatchmakingRuleSetNameList", + "documentation":"

A list of one or more matchmaking rule set names to retrieve details for. (Note: The rule set name is different from the optional \"name\" field in the rule set body.) You can use either the rule set name or ARN value.

" + }, + "Limit":{ + "shape":"RuleSetLimit", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeMatchmakingRuleSetsOutput":{ + "type":"structure", + "required":["RuleSets"], + "members":{ + "RuleSets":{ + "shape":"MatchmakingRuleSetList", + "documentation":"

A collection of requested matchmaking rule set objects.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A token that indicates 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.

" + }, + "DescribePlayerSessionsInput":{ + "type":"structure", + "members":{ + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to retrieve player sessions for.

" + }, + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player to retrieve player sessions for.

" + }, + "PlayerSessionId":{ + "shape":"PlayerSessionId", + "documentation":"

A unique identifier for a player session to retrieve.

" + }, + "PlayerSessionStatusFilter":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Player session status to filter results on.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribePlayerSessionsOutput":{ + "type":"structure", + "members":{ + "PlayerSessions":{ + "shape":"PlayerSessionList", + "documentation":"

A collection of objects containing properties for each player session that matches the request.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeRuntimeConfigurationInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to get the runtime configuration for. You can use either the fleet ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeRuntimeConfigurationOutput":{ + "type":"structure", + "members":{ + "RuntimeConfiguration":{ + "shape":"RuntimeConfiguration", + "documentation":"

Instructions describing how server processes should be launched and maintained on each instance in the fleet.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DescribeScalingPoliciesInput":{ + "type":"structure", + "required":["FleetId"], + "members":{ + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to retrieve scaling policies for. You can use either the fleet ID or ARN value.

" + }, + "StatusFilter":{ + "shape":"ScalingStatusType", + "documentation":"

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

  • ACTIVE -- The scaling policy is currently in force.

  • UPDATEREQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETEREQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" + }, + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The 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 that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeScalingPoliciesOutput":{ + "type":"structure", + "members":{ + "ScalingPolicies":{ + "shape":"ScalingPolicyList", + "documentation":"

A collection of objects containing the scaling policies matching the request.

" + }, + "NextToken":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Token that indicates 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.

" + }, + "DescribeScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptIdOrArn", + "documentation":"

A unique identifier for a Realtime script to retrieve properties for. You can use either the script ID or ARN value.

" + } + } + }, + "DescribeScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

A set of properties describing the requested script.

" + } + } + }, + "DescribeVpcPeeringAuthorizationsInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeVpcPeeringAuthorizationsOutput":{ + "type":"structure", + "members":{ + "VpcPeeringAuthorizations":{ + "shape":"VpcPeeringAuthorizationList", + "documentation":"

A collection of objects that describe all valid VPC peering operations for the current AWS account.

" + } + } + }, + "DescribeVpcPeeringConnectionsInput":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet. You can use either the fleet ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "DescribeVpcPeeringConnectionsOutput":{ + "type":"structure", + "members":{ + "VpcPeeringConnections":{ + "shape":"VpcPeeringConnectionList", + "documentation":"

A collection of VPC peering connection records that match the request.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "DesiredPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player to associate with the player session.

" + }, + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" + } + }, + "documentation":"

Player information for use when creating player sessions using a game session placement request with StartGameSessionPlacement.

" + }, + "DesiredPlayerSessionList":{ + "type":"list", + "member":{"shape":"DesiredPlayerSession"} + }, + "DnsName":{"type":"string"}, + "Double":{"type":"double"}, + "DoubleObject":{"type":"double"}, + "EC2InstanceCounts":{ + "type":"structure", + "members":{ + "DESIRED":{ + "shape":"WholeNumber", + "documentation":"

Ideal number of active instances in the fleet.

" + }, + "MINIMUM":{ + "shape":"WholeNumber", + "documentation":"

The minimum value allowed for the fleet's instance count.

" + }, + "MAXIMUM":{ + "shape":"WholeNumber", + "documentation":"

The maximum value allowed for the fleet's instance count.

" + }, + "PENDING":{ + "shape":"WholeNumber", + "documentation":"

Number of instances in the fleet that are starting but not yet active.

" + }, + "ACTIVE":{ + "shape":"WholeNumber", + "documentation":"

Actual number of active instances in the fleet.

" + }, + "IDLE":{ + "shape":"WholeNumber", + "documentation":"

Number of active instances in the fleet that are not currently hosting a game session.

" + }, + "TERMINATING":{ + "shape":"WholeNumber", + "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.

" + }, + "EC2InstanceLimit":{ + "type":"structure", + "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. Amazon 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.

" + }, + "InstanceLimit":{ + "shape":"WholeNumber", + "documentation":"

Number of instances allowed.

" + } + }, + "documentation":"

The maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.

" + }, + "EC2InstanceLimitList":{ + "type":"list", + "member":{"shape":"EC2InstanceLimit"} + }, + "EC2InstanceType":{ + "type":"string", + "enum":[ + "t2.micro", + "t2.small", + "t2.medium", + "t2.large", + "c3.large", + "c3.xlarge", + "c3.2xlarge", + "c3.4xlarge", + "c3.8xlarge", + "c4.large", + "c4.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c5.large", + "c5.xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "r3.large", + "r3.xlarge", + "r3.2xlarge", + "r3.4xlarge", + "r3.8xlarge", + "r4.large", + "r4.xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.16xlarge", + "r5.large", + "r5.xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "m3.medium", + "m3.large", + "m3.xlarge", + "m3.2xlarge", + "m4.large", + "m4.xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.10xlarge", + "m5.large", + "m5.xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge" + ] + }, + "Event":{ + "type":"structure", + "members":{ + "EventId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a fleet event.

" + }, + "ResourceId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for an event resource, such as a fleet ID.

" + }, + "EventCode":{ + "shape":"EventCode", + "documentation":"

The type of event being logged.

Fleet creation events (ordered by fleet creation activity):

  • FLEET_CREATED -- A fleet resource was successfully created with a status of NEW. Event messaging includes the fleet ID.

  • FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING. The compressed build has started downloading to a fleet instance for installation.

  • FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet instance.

  • FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully downloaded to an instance, and the build files are now being extracted from the uploaded build and saved to an instance. Failure at this stage prevents a fleet from moving to ACTIVE status. Logs for this stage display a list of the files that are extracted and saved on the instance. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_RUNNING_INSTALLER – The game server build files were successfully extracted, and the Amazon GameLift is now running the build's install script (if one is included). Failure in this stage prevents a fleet from moving to ACTIVE status. Logs for this stage list the installation steps and whether or not the install completed successfully. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, and the Amazon GameLift is now verifying that the game server launch paths, which are specified in the fleet's runtime configuration, exist. If any listed launch path exists, Amazon GameLift tries to launch a game server process and waits for the process to report ready. Failures in this stage prevent a fleet from moving to ACTIVE status. Logs for this stage list the launch paths in the runtime configuration and indicate whether each is found. Access the logs by using the URL in PreSignedLogUrl.

  • FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.

  • FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the runtime configuration failed because the executable specified in a launch path does not exist on the instance.

  • FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.

  • FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime configuration failed because the executable specified in a launch path failed to run on the fleet instance.

  • FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.

  • FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete one of the steps in the fleet activation process. This event code indicates that the game build was successfully downloaded to a fleet instance, built, and validated, but was not able to start a server process. Learn more at Debug Fleet Creation Issues

  • FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host game sessions.

VPC peering events:

  • FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.

  • FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event details and status information (see DescribeVpcPeeringConnections) provide additional detail. A common reason for peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR block for the VPC in your AWS account. For more information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html

  • FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully deleted.

Spot instance events:

  • INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with a two-minute notification.

Other fleet events:

  • FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings (desired instances, minimum/maximum scaling limits). Event messaging includes the new capacity settings.

  • FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the fleet's game session protection policy setting. Event messaging includes both the old and new policy setting.

  • FLEET_DELETED -- A request to delete a fleet was initiated.

  • GENERIC_EVENT -- An unspecified event has occurred.

" + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

Additional information related to the event.

" + }, + "EventTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "PreSignedLogUrl":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Location of stored logs with additional detail that is related to the event. This is useful for debugging issues. The URL is valid for 15 minutes. You can also access fleet creation logs through the Amazon GameLift console.

" + } + }, + "documentation":"

Log entry describing an event that involves Amazon GameLift resources (such as a fleet). In addition to tracking activity, event codes and messages can provide additional information for troubleshooting and debugging problems.

" + }, + "EventCode":{ + "type":"string", + "enum":[ + "GENERIC_EVENT", + "FLEET_CREATED", + "FLEET_DELETED", + "FLEET_SCALING_EVENT", + "FLEET_STATE_DOWNLOADING", + "FLEET_STATE_VALIDATING", + "FLEET_STATE_BUILDING", + "FLEET_STATE_ACTIVATING", + "FLEET_STATE_ACTIVE", + "FLEET_STATE_ERROR", + "FLEET_INITIALIZATION_FAILED", + "FLEET_BINARY_DOWNLOAD_FAILED", + "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND", + "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE", + "FLEET_VALIDATION_TIMED_OUT", + "FLEET_ACTIVATION_FAILED", + "FLEET_ACTIVATION_FAILED_NO_INSTANCES", + "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED", + "SERVER_PROCESS_INVALID_PATH", + "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT", + "SERVER_PROCESS_PROCESS_READY_TIMEOUT", + "SERVER_PROCESS_CRASHED", + "SERVER_PROCESS_TERMINATED_UNHEALTHY", + "SERVER_PROCESS_FORCE_TERMINATED", + "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT", + "GAME_SESSION_ACTIVATION_TIMEOUT", + "FLEET_CREATION_EXTRACTING_BUILD", + "FLEET_CREATION_RUNNING_INSTALLER", + "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG", + "FLEET_VPC_PEERING_SUCCEEDED", + "FLEET_VPC_PEERING_FAILED", + "FLEET_VPC_PEERING_DELETED", + "INSTANCE_INTERRUPTED" + ] + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "FleetAction":{ + "type":"string", + "enum":["AUTO_SCALING"] + }, + "FleetActionList":{ + "type":"list", + "member":{"shape":"FleetAction"}, + "max":1, + "min":1 + }, + "FleetArn":{ "type":"string", - "max":256, - "min":1, - "pattern":"[a-zA-Z0-9:/-]+" + "pattern":"^arn:.*:fleet\\/fleet-\\S+" }, - "AwsCredentials":{ + "FleetAttributes":{ "type":"structure", "members":{ - "AccessKeyId":{ - "shape":"NonEmptyString", - "documentation":"

Access key for an AWS account.

" + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet.

" }, - "SecretAccessKey":{ - "shape":"NonEmptyString", - "documentation":"

Secret key for an AWS account.

" + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) that is assigned to a GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift fleet ARN, the resource ID matches the FleetId value.

" + }, + "FleetType":{ + "shape":"FleetType", + "documentation":"

Indicates whether the fleet uses on-demand or spot instances. A spot instance in use may be interrupted with a two-minute notification.

" }, - "SessionToken":{ - "shape":"NonEmptyString", - "documentation":"

Token specific to a build ID.

" - } - }, - "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", - "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build.

" + "InstanceType":{ + "shape":"EC2InstanceType", + "documentation":"

EC2 instance type indicating the computing resources of each instance in the fleet, including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for detailed descriptions.

" + }, + "Description":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Human-readable description of the fleet.

" }, "Name":{ - "shape":"FreeText", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild.

" + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" }, - "Version":{ - "shape":"FreeText", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild.

" + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "TerminationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "Status":{ - "shape":"BuildStatus", - "documentation":"

Current status of the build.

Possible build statuses include the following:

  • INITIALIZED – A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY – The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED – The game build upload failed. You cannot create new fleets for this build.

" + "shape":"FleetStatus", + "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW -- A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting up the new fleet, creating new instances with the game build or Realtime script and starting server processes.

  • ACTIVE -- Hosts can now accept game sessions.

  • ERROR -- An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING -- Hosts are responding to a delete fleet request.

  • TERMINATED -- The fleet no longer exists.

" }, - "SizeOnDisk":{ - "shape":"PositiveLong", - "documentation":"

File size of the uploaded game build, expressed in bytes. When the build status is INITIALIZED, this value is 0.

" + "BuildId":{ + "shape":"BuildId", + "documentation":"

A unique identifier for a build.

" + }, + "BuildArn":{ + "shape":"BuildArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift build resource that is deployed on instances in this fleet. In a GameLift build ARN, the resource ID matches the BuildId value.

" + }, + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

A unique identifier for a Realtime script.

" + }, + "ScriptArn":{ + "shape":"ScriptArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift script resource that is deployed on instances in this fleet. In a GameLift script ARN, the resource ID matches the ScriptId value.

" + }, + "ServerLaunchPath":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Path to a game server executable in the fleet's build, specified for fleets created before 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 before 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", + "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, Amazon GameLift automatically uploads logs that are stored on each instance at C:\\game\\logs (for Windows) or /local/game/logs (for Linux). Use the Amazon GameLift console to access stored logs.

" + }, + "NewGameSessionProtectionPolicy":{ + "shape":"ProtectionPolicy", + "documentation":"

The type of game session protection to set for all new instances started in the fleet.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" }, "OperatingSystem":{ "shape":"OperatingSystem", - "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

" + "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.

" }, - "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\".

" + "ResourceCreationLimitPolicy":{ + "shape":"ResourceCreationLimitPolicy", + "documentation":"

Fleet policy to limit the number of game sessions an individual player can create over a span of time.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

Names of metric groups that this fleet is included in. In Amazon CloudWatch, you can view metrics for an individual fleet or aggregated metrics for fleets that are in a fleet metric group. A fleet can be included in only one metric group at a time.

" + }, + "StoppedActions":{ + "shape":"FleetActionList", + "documentation":"

List of fleet actions that have been suspended using StopFleetActions. This includes auto-scaling.

" + }, + "InstanceRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

A unique identifier for an AWS IAM role that manages access to your AWS services. With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, including install scripts, server processes, and daemons (background processes). Create a role or look up a role's ARN from the IAM dashboard in the AWS Management Console. Learn more about using on-box credentials for your game servers at Access external resources from a game server.

" + }, + "CertificateConfiguration":{ + "shape":"CertificateConfiguration", + "documentation":"

Indicates whether a TLS/SSL certificate was generated for the fleet.

" } }, - "documentation":"

Properties describing a game build.

" + "documentation":"

General properties describing a fleet.

" }, - "BuildId":{ + "FleetAttributesList":{ + "type":"list", + "member":{"shape":"FleetAttributes"} + }, + "FleetCapacity":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet.

" + }, + "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. Amazon GameLift supports the following EC2 instance types. See Amazon EC2 Instance Types for detailed descriptions.

" + }, + "InstanceCounts":{ + "shape":"EC2InstanceCounts", + "documentation":"

Current status of fleet capacity.

" + } + }, + "documentation":"

Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

" + }, + "FleetCapacityExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "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", + "member":{"shape":"FleetCapacity"} + }, + "FleetId":{ "type":"string", - "pattern":"^build-\\S+" + "pattern":"^fleet-\\S+" }, - "BuildList":{ + "FleetIdList":{ "type":"list", - "member":{"shape":"Build"} + "member":{"shape":"FleetId"}, + "min":1 }, - "BuildStatus":{ + "FleetIdOrArn":{ + "type":"string", + "pattern":"^fleet-\\S+|^arn:.*:fleet\\/fleet-\\S+" + }, + "FleetIdOrArnList":{ + "type":"list", + "member":{"shape":"FleetIdOrArn"}, + "min":1 + }, + "FleetStatus":{ "type":"string", "enum":[ - "INITIALIZED", - "READY", - "FAILED" + "NEW", + "DOWNLOADING", + "VALIDATING", + "BUILDING", + "ACTIVATING", + "ACTIVE", + "DELETING", + "ERROR", + "TERMINATED" ] }, - "ComparisonOperatorType":{ + "FleetType":{ "type":"string", "enum":[ - "GreaterThanOrEqualToThreshold", - "GreaterThanThreshold", - "LessThanThreshold", - "LessThanOrEqualToThreshold" + "ON_DEMAND", + "SPOT" ] }, - "ConflictException":{ + "FleetUtilization":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"} + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet.

" + }, + "ActiveServerProcessCount":{ + "shape":"WholeNumber", + "documentation":"

Number of server processes in an ACTIVE status currently running across all instances in the fleet

" + }, + "ActiveGameSessionCount":{ + "shape":"WholeNumber", + "documentation":"

Number of active game sessions currently being hosted on all instances in the fleet.

" + }, + "CurrentPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

Number of active player sessions currently being hosted on all instances in the fleet.

" + }, + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

The maximum number of players allowed across all game sessions currently being hosted on all instances in the fleet.

" + } }, - "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 + "documentation":"

Current status of fleet utilization, including the number of game and player sessions being hosted.

" }, - "CreateAliasInput":{ + "FleetUtilizationList":{ + "type":"list", + "member":{"shape":"FleetUtilization"} + }, + "Float":{"type":"float"}, + "FreeText":{"type":"string"}, + "GameProperty":{ "type":"structure", "required":[ - "Name", - "RoutingStrategy" + "Key", + "Value" ], "members":{ - "Name":{ - "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of an alias.

" + "Key":{ + "shape":"GamePropertyKey", + "documentation":"

The game property identifier.

" }, - "RoutingStrategy":{ - "shape":"RoutingStrategy", - "documentation":"

Object specifying the fleet and routing type to use for the alias.

" + "Value":{ + "shape":"GamePropertyValue", + "documentation":"

The game property value.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Set of key-value pairs that contain information about a game session. When included in a game session request, these properties communicate details to be used when setting up the new game session. For example, a game property might specify a game mode, level, or map. Game properties are passed to the game server process when initiating a new game session. For more information, see the Amazon GameLift Developer Guide.

" }, - "CreateAliasOutput":{ - "type":"structure", - "members":{ - "Alias":{ - "shape":"Alias", - "documentation":"

Object containing the newly created alias record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" + "GamePropertyKey":{ + "type":"string", + "max":32 }, - "CreateBuildInput":{ + "GamePropertyList":{ + "type":"list", + "member":{"shape":"GameProperty"}, + "max":16 + }, + "GamePropertyValue":{ + "type":"string", + "max":96 + }, + "GameServer":{ "type":"structure", "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 .

" + "GameServerGroupName":{ + "shape":"GameServerGroupName", + "documentation":"

The name identifier for the game server group where the game server is located.

" }, - "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 .

" + "GameServerGroupArn":{ + "shape":"GameServerGroupArn", + "documentation":"

The ARN identifier for the game server group where the game server is located.

" }, - "StorageLocation":{"shape":"S3Location"}, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system that the game server binaries are built to run on. This value determines the type of fleet resources that you can use for this build.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "CreateBuildOutput":{ - "type":"structure", - "members":{ - "Build":{ - "shape":"Build", - "documentation":"

Set of properties for the newly created build.

" + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

A custom string that uniquely identifies the game server. Game server IDs are developer-defined and are unique across all game server groups in an AWS account.

" }, - "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 .

" + "InstanceId":{ + "shape":"GameServerInstanceId", + "documentation":"

The unique identifier for the instance where the game server is located.

" }, - "StorageLocation":{ - "shape":"S3Location", - "documentation":"

Amazon S3 path and key, identifying where the game build files are stored.

" + "ConnectionInfo":{ + "shape":"GameServerConnectionInfo", + "documentation":"

The port and IP address that must be used to establish a client connection to the game server.

" + }, + "GameServerData":{ + "shape":"GameServerData", + "documentation":"

A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service in response to requests ListGameServers or ClaimGameServer. This property can be updated using UpdateGameServer.

" + }, + "CustomSortKey":{ + "shape":"GameServerSortKey", + "documentation":"

A game server tag that can be used to request sorted lists of game servers when calling ListGameServers. Custom sort keys are developer-defined. This property can be updated using UpdateGameServer.

" + }, + "ClaimStatus":{ + "shape":"GameServerClaimStatus", + "documentation":"

Indicates when an available game server has been reserved but has not yet started hosting a game. Once it is claimed, game server remains in CLAIMED status for a maximum of one minute. During this time, game clients must connect to the game server and start the game, which triggers the game server to update its utilization status. After one minute, the game server claim status reverts to null.

" + }, + "UtilizationStatus":{ + "shape":"GameServerUtilizationStatus", + "documentation":"

Indicates whether the game server is currently available for new games or is busy. Possible statuses include:

  • AVAILABLE - The game server is available to be claimed. A game server that has been claimed remains in this status until it reports game hosting activity.

  • IN_USE - The game server is currently hosting a game session with players.

" + }, + "RegistrationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when the game server resource was created with a RegisterGameServer request. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "LastClaimTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating the last time the game server was claimed with a ClaimGameServer request. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\"). This value is used to calculate when the game server's claim status.

" + }, + "LastHealthCheckTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating the last time the game server was updated with health status using an UpdateGameServer request. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\"). After game server registration, this property is only changed when a game server update specifies a health check value.

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Properties describing a game server resource.

A game server resource is created by a successful call to RegisterGameServer and deleted by calling DeregisterGameServer.

" }, - "CreateFleetInput":{ - "type":"structure", - "required":[ - "Name", - "BuildId", - "EC2InstanceType" - ], - "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" - }, - "Description":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of a fleet.

" - }, - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier of the build to be deployed on the new fleet. The build must have been successfully uploaded to GameLift and be in a READY status. This fleet setting cannot be changed once the fleet is created.

" + "GameServerClaimStatus":{ + "type":"string", + "enum":["CLAIMED"] + }, + "GameServerConnectionInfo":{ + "type":"string", + "max":512, + "min":1, + "pattern":".*\\S.*" + }, + "GameServerData":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "GameServerGroup":{ + "type":"structure", + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupName", + "documentation":"

A developer-defined identifier for the game server group. The name is unique per Region per AWS account.

" }, - "ServerLaunchPath":{ - "shape":"NonZeroAndMaxString", - "documentation":"

This parameter is no longer used. Instead, specify a server launch path using the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)

" + "GameServerGroupArn":{ + "shape":"GameServerGroupArn", + "documentation":"

A generated unique ID for the game server group.

" }, - "ServerLaunchParameters":{ - "shape":"NonZeroAndMaxString", - "documentation":"

This parameter is no longer used. Instead, specify server launch parameters in the RuntimeConfiguration parameter. (Requests that specify a server launch path and launch parameters instead of a runtime configuration will continue to work.)

" + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.

" }, - "LogPaths":{ - "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, GameLift will automatically upload logs stored on each instance at C:\\game\\logs. Use the GameLift console to access stored logs.

" + "InstanceDefinitions":{ + "shape":"InstanceDefinitions", + "documentation":"

The set of EC2 instance types that GameLift FleetIQ can use when rebalancing and autoscaling instances in the group.

" + }, + "BalancingStrategy":{ + "shape":"BalancingStrategy", + "documentation":"

The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:

  • SPOT_ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.

  • SPOT_PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances.

" + }, + "GameServerProtectionPolicy":{ + "shape":"GameServerProtectionPolicy", + "documentation":"

A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may be terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running except in the event of a forced game server group deletion (see DeleteGameServerGroup). An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status.

" + }, + "AutoScalingGroupArn":{ + "shape":"AutoScalingGroupArn", + "documentation":"

A generated unique ID for the EC2 Auto Scaling group with is associated with this game server group.

" }, - "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.

" + "Status":{ + "shape":"GameServerGroupStatus", + "documentation":"

The current status of the game server group. Possible statuses include:

  • NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request.

  • ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes creating an autoscaling group in your AWS account.

  • ACTIVE - The game server group has been successfully created.

  • DELETE_SCHEDULED - A request to delete the game server group has been received.

  • DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is processing it. GameLift FleetIQ must first complete and release hosts before it deletes the autoscaling group and the game server group.

  • DELETED - The game server group has been successfully deleted.

  • ERROR - The asynchronous processes of activating or deleting a game server group has failed, resulting in an error state.

" }, - "EC2InboundPermissions":{ - "shape":"IpPermissionsList", - "documentation":"

Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. If no inbound permissions are set, including both IP address range and port range, the server processes in the fleet cannot accept connections. You can specify one or more sets of permissions for a fleet.

" + "StatusReason":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Additional information about the current game server group status. This information may provide additional insight on groups that in ERROR status.

" }, - "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.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "SuspendedActions":{ + "shape":"GameServerGroupActions", + "documentation":"

A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.

" }, - "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.)

" + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, - "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.

" + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

A time stamp indicating when this game server group was last updated.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Properties describing a game server group resource. A game server group manages certain properties of a corresponding EC2 Auto Scaling group.

A game server group is created by a successful call to CreateGameServerGroup and deleted by calling DeleteGameServerGroup. Game server group activity can be temporarily suspended and resumed by calling SuspendGameServerGroup and ResumeGameServerGroup.

" }, - "CreateFleetOutput":{ + "GameServerGroupAction":{ + "type":"string", + "enum":["REPLACE_INSTANCE_TYPES"] + }, + "GameServerGroupActions":{ + "type":"list", + "member":{"shape":"GameServerGroupAction"}, + "max":1, + "min":1 + }, + "GameServerGroupArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]*" + }, + "GameServerGroupAutoScalingPolicy":{ "type":"structure", + "required":["TargetTrackingConfiguration"], "members":{ - "FleetAttributes":{ - "shape":"FleetAttributes", - "documentation":"

Properties for the newly created fleet.

" + "EstimatedInstanceWarmup":{ + "shape":"PositiveInteger", + "documentation":"

Length of time, in seconds, it takes for a new instance to start new game server processes and register with GameLift FleetIQ. Specifying a warm-up time can be useful, particularly with game servers that take a long time to start up, because it avoids prematurely starting new instances

" + }, + "TargetTrackingConfiguration":{ + "shape":"TargetTrackingConfiguration", + "documentation":"

Settings for a target-based scaling policy applied to Auto Scaling group. These settings are used to create a target-based policy that tracks the GameLift FleetIQ metric \"PercentUtilizedGameServers\" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value.

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Configuration settings for intelligent autoscaling that uses target tracking. An autoscaling policy can be specified when a new game server group is created with CreateGameServerGroup. If a group has an autoscaling policy, the Auto Scaling group takes action based on this policy, in addition to (and potentially in conflict with) any other autoscaling policies that are separately applied to the Auto Scaling group.

" }, - "CreateGameSessionInput":{ + "GameServerGroupDeleteOption":{ + "type":"string", + "enum":[ + "SAFE_DELETE", + "FORCE_DELETE", + "RETAIN" + ] + }, + "GameServerGroupInstanceType":{ + "type":"string", + "enum":[ + "c4.large", + "c4.xlarge", + "c4.2xlarge", + "c4.4xlarge", + "c4.8xlarge", + "c5.large", + "c5.xlarge", + "c5.2xlarge", + "c5.4xlarge", + "c5.9xlarge", + "c5.12xlarge", + "c5.18xlarge", + "c5.24xlarge", + "r4.large", + "r4.xlarge", + "r4.2xlarge", + "r4.4xlarge", + "r4.8xlarge", + "r4.16xlarge", + "r5.large", + "r5.xlarge", + "r5.2xlarge", + "r5.4xlarge", + "r5.8xlarge", + "r5.12xlarge", + "r5.16xlarge", + "r5.24xlarge", + "m4.large", + "m4.xlarge", + "m4.2xlarge", + "m4.4xlarge", + "m4.10xlarge", + "m5.large", + "m5.xlarge", + "m5.2xlarge", + "m5.4xlarge", + "m5.8xlarge", + "m5.12xlarge", + "m5.16xlarge", + "m5.24xlarge" + ] + }, + "GameServerGroupName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]+" + }, + "GameServerGroupNameOrArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]+|^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]+" + }, + "GameServerGroupStatus":{ + "type":"string", + "enum":[ + "NEW", + "ACTIVATING", + "ACTIVE", + "DELETE_SCHEDULED", + "DELETING", + "DELETED", + "ERROR" + ] + }, + "GameServerGroups":{ + "type":"list", + "member":{"shape":"GameServerGroup"} + }, + "GameServerHealthCheck":{ + "type":"string", + "enum":["HEALTHY"] + }, + "GameServerId":{ + "type":"string", + "max":128, + "min":3, + "pattern":"[a-zA-Z0-9-\\.]+" + }, + "GameServerInstanceId":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^i-[0-9a-zA-Z]{17}$" + }, + "GameServerProtectionPolicy":{ + "type":"string", + "enum":[ + "NO_PROTECTION", + "FULL_PROTECTION" + ] + }, + "GameServerSortKey":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]+" + }, + "GameServerUtilizationStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "UTILIZED" + ] + }, + "GameServers":{ + "type":"list", + "member":{"shape":"GameServer"} + }, + "GameSession":{ "type":"structure", - "required":["MaximumPlayerSessionCount"], "members":{ + "GameSessionId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the game session. A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency token>.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a game session. Session names do not need to be unique.

" + }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Each request must reference either a fleet ID or alias ID, but not both.

" + "documentation":"

A unique identifier for a fleet that the game session is running on.

" }, - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Each request must reference either a fleet ID or alias ID, but not both.

" + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift fleet that this game session is running on.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "TerminationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "CurrentPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

Number of players currently in the game session.

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be connected simultaneously to the game session.

" + "documentation":"

The maximum number of players that can be connected simultaneously to the game session.

" }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "Status":{ + "shape":"GameSessionStatus", + "documentation":"

Current status of the game session. A game session must have an ACTIVE status to have player sessions.

" + }, + "StatusReason":{ + "shape":"GameSessionStatusReason", + "documentation":"

Provides additional information about game session status. INTERRUPTED indicates that the game session was hosted on a spot instance that was reclaimed, causing the active game session to be terminated.

" }, "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 custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data with SearchGameSessions.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

" + }, + "DnsName":{ + "shape":"DnsName", + "documentation":"

DNS identifier assigned to the instance that is running the game session. Values have the following format:

  • TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

" + }, + "Port":{ + "shape":"PortNumber", + "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" + }, + "PlayerSessionCreationPolicy":{ + "shape":"PlayerSessionCreationPolicy", + "documentation":"

Indicates whether or not the game session is accepting new players.

" }, "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.

" + "documentation":"

A unique identifier for a player. This ID is used to enforce a resource protection policy (if one exists), that limits the number of game sessions a player can create.

" }, - "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.

" + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + }, + "MatchmakerData":{ + "shape":"MatchmakerData", + "documentation":"

Information about the matchmaking process that was used to create the game session. It is in JSON syntax, formatted as a string. In addition the matchmaking configuration used, it contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data. Matchmaker data is useful when requesting match backfills, and is updated whenever new players are added during a successful backfill (see StartMatchBackfill).

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Properties describing a game session.

A game session in ACTIVE status can host players. When a game session ends, its status is set to TERMINATED.

Once the session ends, the game session object is retained for 30 days. This means you can reuse idempotency token values after this time. Game session logs are retained for 14 days.

" }, - "CreateGameSessionOutput":{ - "type":"structure", - "members":{ - "GameSession":{ - "shape":"GameSession", - "documentation":"

Object containing the newly created game session record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" + "GameSessionActivationTimeoutSeconds":{ + "type":"integer", + "max":600, + "min":1 }, - "CreatePlayerSessionInput":{ + "GameSessionConnectionInfo":{ "type":"structure", - "required":[ - "GameSessionId", - "PlayerId" - ], "members":{ - "GameSessionId":{ + "GameSessionArn":{ "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.

" + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it.

" }, - "PlayerId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the player to be added.

" + "IpAddress":{ + "shape":"StringModel", + "documentation":"

IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

" + }, + "DnsName":{ + "shape":"DnsName", + "documentation":"

DNS identifier assigned to the instance that is running the game session. Values have the following format:

  • TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

" + }, + "Port":{ + "shape":"PositiveInteger", + "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number.

" + }, + "MatchedPlayerSessions":{ + "shape":"MatchedPlayerSessionList", + "documentation":"

A collection of player session IDs, one for each player ID that was included in the original matchmaking request.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Connection information for the new game session that is created with matchmaking. (with StartMatchmaking). Once a match is set, the FlexMatch engine places the match and creates a new game session for it. This information, including the game session endpoint and player sessions for each player in the original matchmaking request, is added to the MatchmakingTicket, which can be retrieved by calling DescribeMatchmaking.

" }, - "CreatePlayerSessionOutput":{ - "type":"structure", - "members":{ - "PlayerSession":{ - "shape":"PlayerSession", - "documentation":"

Object containing the newly created player session record.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" + "GameSessionData":{ + "type":"string", + "max":4096, + "min":1 }, - "CreatePlayerSessionsInput":{ + "GameSessionDetail":{ "type":"structure", - "required":[ - "GameSessionId", - "PlayerIds" - ], "members":{ - "GameSessionId":{ - "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.

" + "GameSession":{ + "shape":"GameSession", + "documentation":"

Object that describes a game session.

" }, - "PlayerIds":{ - "shape":"PlayerIdList", - "documentation":"

List of unique identifiers for the players to be added.

" + "ProtectionPolicy":{ + "shape":"ProtectionPolicy", + "documentation":"

Current status of protection for the game session.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

A game session's properties plus the protection policy currently in force.

" }, - "CreatePlayerSessionsOutput":{ - "type":"structure", - "members":{ - "PlayerSessions":{ - "shape":"PlayerSessionList", - "documentation":"

Collection of player session objects created for the added players.

" - } - }, - "documentation":"

Represents the returned data in response to a request action.

" + "GameSessionDetailList":{ + "type":"list", + "member":{"shape":"GameSessionDetail"} }, - "DeleteAliasInput":{ + "GameSessionFullException":{ "type":"structure", - "required":["AliasId"], "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to delete.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the input for a request action.

" + "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 }, - "DeleteBuildInput":{ + "GameSessionList":{ + "type":"list", + "member":{"shape":"GameSession"} + }, + "GameSessionPlacement":{ "type":"structure", - "required":["BuildId"], "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to delete.

" + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

A unique identifier for a game session placement.

" + }, + "GameSessionQueueName":{ + "shape":"GameSessionQueueName", + "documentation":"

A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

" + }, + "Status":{ + "shape":"GameSessionPlacementState", + "documentation":"

Current status of the game session placement request.

  • PENDING -- The placement request is currently in the queue waiting to be processed.

  • FULFILLED -- A new game session and player sessions (if requested) have been successfully created. Values for GameSessionArn and GameSessionRegion are available.

  • CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.

  • TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed.

  • FAILED -- GameLift is not able to complete the process of placing the game session. Common reasons are the game session terminated before the placement process was completed, or an unexpected internal error.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + }, + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

The maximum number of players that can be connected simultaneously to the game session.

" + }, + "GameSessionName":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a game session. Session names do not need to be unique.

" + }, + "GameSessionId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the game session. This value is set once the new game session is placed (placement status is FULFILLED).

" + }, + "GameSessionArn":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Identifier for the game session created by this placement request. This value is set once the new game session is placed (placement status is FULFILLED). This identifier is unique across all Regions. You can use this value as a GameSessionId value as needed.

" + }, + "GameSessionRegion":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Name of the Region where the game session created by this placement request is running. This value is set once the new game session is placed (placement status is FULFILLED).

" + }, + "PlayerLatencies":{ + "shape":"PlayerLatencyList", + "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this request was completed, canceled, or timed out.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number. This value is set once the new game session is placed (placement status is FULFILLED).

" + }, + "DnsName":{ + "shape":"DnsName", + "documentation":"

DNS identifier assigned to the instance that is running the game session. Values have the following format:

  • TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

" + }, + "Port":{ + "shape":"PortNumber", + "documentation":"

Port number for the game session. To connect to a Amazon GameLift game server, an app needs both the IP address and port number. This value is set once the new game session is placed (placement status is FULFILLED).

" + }, + "PlacedPlayerSessions":{ + "shape":"PlacedPlayerSessionList", + "documentation":"

A collection of information on player sessions created in response to the game session placement request. These player sessions are created only once a new game session is successfully placed (placement status is FULFILLED). This information includes the player ID (as provided in the placement request) and the corresponding player session ID. Retrieve full player sessions by calling DescribePlayerSessions with the player session ID.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" + }, + "MatchmakerData":{ + "shape":"MatchmakerData", + "documentation":"

Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Object that describes a StartGameSessionPlacement request. This object includes the full details of the original request plus the current status and start/end time stamps.

Game session placement-related operations include:

" }, - "DeleteFleetInput":{ + "GameSessionPlacementState":{ + "type":"string", + "enum":[ + "PENDING", + "FULFILLED", + "CANCELLED", + "TIMED_OUT", + "FAILED" + ] + }, + "GameSessionQueue":{ "type":"structure", - "required":["FleetId"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to delete.

" + "Name":{ + "shape":"GameSessionQueueName", + "documentation":"

A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

" + }, + "GameSessionQueueArn":{ + "shape":"GameSessionQueueArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift game session queue ARN, the resource ID matches the Name value.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Configuration of a queue that is used to process game session placement requests. The queue configuration identifies several game features:

  • The destinations where a new game session can potentially be hosted. Amazon GameLift tries these destinations in an order based on either the queue's default order or player latency information, if provided in a placement request. With latency information, Amazon GameLift can place game sessions where the majority of players are reporting the lowest possible latency.

  • The length of time that placement requests can wait in the queue before timing out.

  • A set of optional latency policies that protect individual players from high latencies, preventing game sessions from being placed where any individual player is reporting latency higher than a policy's maximum.

" }, - "DeleteScalingPolicyInput":{ + "GameSessionQueueArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + }, + "GameSessionQueueDestination":{ "type":"structure", - "required":[ - "Name", - "FleetId" - ], "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" - }, - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "DestinationArn":{ + "shape":"ArnStringModel", + "documentation":"

The Amazon Resource Name (ARN) that is assigned to fleet or fleet alias. ARNs, which include a fleet ID or alias ID and a Region name, provide a unique identifier across all Regions.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Fleet designated in a game session queue. Requests for new game sessions in the queue are fulfilled by starting a new game session on any destination that is configured for a queue.

" }, - "DescribeAliasInput":{ + "GameSessionQueueDestinationList":{ + "type":"list", + "member":{"shape":"GameSessionQueueDestination"} + }, + "GameSessionQueueList":{ + "type":"list", + "member":{"shape":"GameSessionQueue"} + }, + "GameSessionQueueName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "GameSessionQueueNameOrArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9-]+|^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + }, + "GameSessionQueueNameOrArnList":{ + "type":"list", + "member":{"shape":"GameSessionQueueNameOrArn"} + }, + "GameSessionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ACTIVATING", + "TERMINATED", + "TERMINATING", + "ERROR" + ] + }, + "GameSessionStatusReason":{ + "type":"string", + "enum":["INTERRUPTED"] + }, + "GetGameSessionLogUrlInput":{ "type":"structure", - "required":["AliasId"], + "required":["GameSessionId"], "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to retrieve.

" + "GameSessionId":{ + "shape":"ArnStringModel", + "documentation":"

A unique identifier for the game session to get logs for.

" } }, "documentation":"

Represents the input for a request action.

" }, - "DescribeAliasOutput":{ + "GetGameSessionLogUrlOutput":{ "type":"structure", "members":{ - "Alias":{ - "shape":"Alias", - "documentation":"

Object containing the requested alias.

" + "PreSignedUrl":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Location of the requested game session logs, available for download. This URL is valid for 15 minutes, after which S3 will reject any download request using this URL. You can request a new URL any time within the 14-day period that the logs are retained.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, - "DescribeBuildInput":{ + "GetInstanceAccessInput":{ "type":"structure", - "required":["BuildId"], + "required":[ + "FleetId", + "InstanceId" + ], "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier of the build that you want to retrieve properties for.

" + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet that contains the instance you want access to. You can use either the fleet ID or ARN value. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status may be accessible for a short time before they are deleted.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

A unique identifier for an instance you want to get access to. You can access an instance in any status.

" } }, "documentation":"

Represents the input for a request action.

" }, - "DescribeBuildOutput":{ + "GetInstanceAccessOutput":{ "type":"structure", "members":{ - "Build":{ - "shape":"Build", - "documentation":"

Set of properties describing the requested build.

" + "InstanceAccess":{ + "shape":"InstanceAccess", + "documentation":"

The connection information for a fleet instance, including IP address and access credentials.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, - "DescribeEC2InstanceLimitsInput":{ + "IamRoleArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^arn:.*:role\\/[\\w+=,.@-]+" + }, + "IdStringModel":{ + "type":"string", + "max":48, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "IdempotentParameterMismatchException":{ "type":"structure", "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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

A game session with this custom ID string already exists in this fleet. Resolve this conflict before retrying this request.

", + "exception":true }, - "DescribeEC2InstanceLimitsOutput":{ + "Instance":{ "type":"structure", "members":{ - "EC2InstanceLimits":{ - "shape":"EC2InstanceLimitList", - "documentation":"

Object containing the maximum number of instances for the specified instance type.

" + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet that the instance is in.

" + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

A unique identifier for an instance.

" + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address that is assigned to the instance.

" + }, + "DnsName":{ + "shape":"DnsName", + "documentation":"

DNS identifier assigned to the instance that is running the game session. Values have the following format:

  • TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

" + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

Operating system that is running 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:

  • PENDING -- The instance is in the process of being created and launching server processes as defined in the fleet's run-time configuration.

  • ACTIVE -- The instance has been successfully created and at least one server process has successfully launched and reported back to Amazon GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING -- The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

Properties that describe an instance of a virtual computing resource that hosts one or more game servers. A fleet may contain zero or more instances.

" }, - "DescribeFleetAttributesInput":{ + "InstanceAccess":{ "type":"structure", "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Unique identifiers for the fleet(s) that you want to retrieve attributes for. To request attributes for all fleets, leave this parameter empty.

" + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet containing the instance being accessed.

" }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

A unique identifier for an instance being accessed.

" }, - "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. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

IP address that is assigned to the instance.

" + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

Operating system that is running on the instance.

" + }, + "Credentials":{ + "shape":"InstanceCredentials", + "documentation":"

Credentials required to access the instance.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Information required to remotely connect to a fleet instance. Access is requested by calling GetInstanceAccess.

" }, - "DescribeFleetAttributesOutput":{ + "InstanceCredentials":{ "type":"structure", "members":{ - "FleetAttributes":{ - "shape":"FleetAttributesList", - "documentation":"

Collection of objects containing attribute metadata for each requested fleet ID.

" + "UserName":{ + "shape":"NonEmptyString", + "documentation":"

User login string.

" }, - "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.

" + "Secret":{ + "shape":"NonEmptyString", + "documentation":"

Secret string. For Windows instances, the secret is a password for use with Windows Remote Desktop. For Linux instances, it is a private key (which must be saved as a .pem file) for use with SSH.

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

Set of credentials required to remotely access a fleet instance. Access credentials are requested by calling GetInstanceAccess and returned in an InstanceAccess object.

", + "sensitive":true }, - "DescribeFleetCapacityInput":{ + "InstanceDefinition":{ "type":"structure", + "required":["InstanceType"], "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Unique identifier for the fleet(s) you want to retrieve capacity information for. To request capacity information for all fleets, leave this parameter empty.

" - }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "InstanceType":{ + "shape":"GameServerGroupInstanceType", + "documentation":"

An EC2 instance type designation.

" }, - "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. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "WeightedCapacity":{ + "shape":"WeightedCapacity", + "documentation":"

Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type's cost per unit hour and better identify the most cost-effective options. For detailed information on weighting instance capacity, see Instance Weighting in the Amazon EC2 Auto Scaling User Guide. Default value is \"1\".

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

An allowed instance type for your game server group. GameLift FleetIQ periodically evaluates each defined instance type for viability. It then updates the Auto Scaling group with the list of viable instance types.

" }, - "DescribeFleetCapacityOutput":{ + "InstanceDefinitions":{ + "type":"list", + "member":{"shape":"InstanceDefinition"}, + "max":20, + "min":2 + }, + "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":{ - "FleetCapacity":{ - "shape":"FleetCapacityList", - "documentation":"

Collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.

" - }, - "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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the returned data in response to a request action.

" + "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 }, - "DescribeFleetEventsInput":{ + "InvalidFleetStatusException":{ "type":"structure", - "required":["FleetId"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet to get event logs for.

" - }, - "StartTime":{ - "shape":"Timestamp", - "documentation":"

Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" - }, - "EndTime":{ - "shape":"Timestamp", - "documentation":"

Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" - }, - "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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the input for a request action.

" + "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 }, - "DescribeFleetEventsOutput":{ + "InvalidGameSessionStatusException":{ "type":"structure", "members":{ - "Events":{ - "shape":"EventList", - "documentation":"

Collection of objects containing event log entries for the specified fleet.

" - }, - "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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the returned data in response to a request action.

" + "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 }, - "DescribeFleetPortSettingsInput":{ + "InvalidRequestException":{ "type":"structure", - "required":["FleetId"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to retrieve port settings for.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.

", + "exception":true }, - "DescribeFleetPortSettingsOutput":{ + "IpAddress":{"type":"string"}, + "IpPermission":{ "type":"structure", + "required":[ + "FromPort", + "ToPort", + "IpRange", + "Protocol" + ], "members":{ - "InboundPermissions":{ - "shape":"IpPermissionsList", - "documentation":"

Object containing port settings for the requested fleet ID.

" + "FromPort":{ + "shape":"PortNumber", + "documentation":"

A starting value for a range of allowed port numbers.

" + }, + "ToPort":{ + "shape":"PortNumber", + "documentation":"

An ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.

" + }, + "IpRange":{ + "shape":"NonBlankString", + "documentation":"

A range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".

" + }, + "Protocol":{ + "shape":"IpProtocol", + "documentation":"

The network communication protocol used by the fleet.

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on an Amazon GameLift hosting resource. New game sessions that are started on the fleet are assigned an IP address/port number combination, which must fall into the fleet's allowed ranges. For fleets created with a custom game server, the ranges reflect the server's game session assignments. For Realtime Servers fleets, Amazon GameLift automatically opens two port ranges, one for TCP messaging and one for UDP for use by the Realtime servers.

" }, - "DescribeFleetUtilizationInput":{ + "IpPermissionsList":{ + "type":"list", + "member":{"shape":"IpPermission"}, + "max":50 + }, + "IpProtocol":{ + "type":"string", + "enum":[ + "TCP", + "UDP" + ] + }, + "LatencyMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"PositiveInteger"} + }, + "LaunchTemplateId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + }, + "LaunchTemplateName":{ + "type":"string", + "max":128, + "min":3, + "pattern":"[a-zA-Z0-9\\(\\)\\.\\-/_]+" + }, + "LaunchTemplateSpecification":{ "type":"structure", "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Unique identifier for the fleet(s) you want to retrieve utilization data for. To request utilization data for all fleets, leave this parameter empty.

" + "LaunchTemplateId":{ + "shape":"LaunchTemplateId", + "documentation":"

A unique identifier for an existing EC2 launch template.

" }, - "Limit":{ - "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "LaunchTemplateName":{ + "shape":"LaunchTemplateName", + "documentation":"

A readable identifier for an existing EC2 launch template.

" }, - "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. This parameter is ignored when the request specifies one or a list of fleet IDs.

" + "Version":{ + "shape":"LaunchTemplateVersion", + "documentation":"

The version of the EC2 launch template to use. If no version is specified, the default version will be used. EC2 allows you to specify a default version for a launch template, if none is set, the default is the first version created.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

An EC2 launch template that contains configuration settings and game server code to be deployed to all instances in a game server group.

" }, - "DescribeFleetUtilizationOutput":{ + "LaunchTemplateVersion":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + }, + "LimitExceededException":{ "type":"structure", "members":{ - "FleetUtilization":{ - "shape":"FleetUtilizationList", - "documentation":"

Collection of objects containing utilization information 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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

", + "exception":true }, - "DescribeGameSessionDetailsInput":{ + "ListAliasesInput":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" - }, - "GameSessionId":{ - "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", - "documentation":"

Unique identifier for a fleet alias. Specify an alias to retrieve information on all game sessions active on the fleet.

" + "RoutingStrategyType":{ + "shape":"RoutingStrategyType", + "documentation":"

The routing type to filter results on. Use this parameter to retrieve only aliases with a certain routing type. To retrieve all aliases, leave this parameter empty.

Possible routing types include the following:

  • SIMPLE -- The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL -- The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" }, - "StatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory).

" + "Name":{ + "shape":"NonEmptyString", + "documentation":"

A descriptive label that is associated with an alias. Alias names do not need to be unique.

" }, "Limit":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

The 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.

" + "shape":"NonEmptyString", + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" }, - "DescribeGameSessionDetailsOutput":{ + "ListAliasesOutput":{ "type":"structure", "members":{ - "GameSessionDetails":{ - "shape":"GameSessionDetailList", - "documentation":"

Collection of objects containing game session properties and the protection policy currently in force for each session matching the request.

" + "Aliases":{ + "shape":"AliasList", + "documentation":"

A collection of alias resources that match the request parameters.

" }, "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.

" + "shape":"NonEmptyString", + "documentation":"

A token that indicates 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.

" }, - "DescribeGameSessionsInput":{ + "ListBuildsInput":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.

" - }, - "GameSessionId":{ - "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", - "documentation":"

Unique identifier for a fleet alias. Specify an alias to retrieve information on all game sessions active on the fleet.

" - }, - "StatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Game session status to filter results on. Possible game session statuses include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are transitory).

" + "Status":{ + "shape":"BuildStatus", + "documentation":"

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

  • INITIALIZED -- A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY -- The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED -- The game build upload failed. You cannot create new fleets for this build.

" }, "Limit":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

The 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.

" + "shape":"NonEmptyString", + "documentation":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" }, - "DescribeGameSessionsOutput":{ + "ListBuildsOutput":{ "type":"structure", "members":{ - "GameSessions":{ - "shape":"GameSessionList", - "documentation":"

Collection of objects containing game session properties for each session matching the request.

" + "Builds":{ + "shape":"BuildList", + "documentation":"

A collection of build resources that match the request.

" }, "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.

" + "shape":"NonEmptyString", + "documentation":"

Token that indicates 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":{ + "ListFleetsInput":{ "type":"structure", - "required":["FleetId"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify the fleet to retrieve instance information for.

" + "BuildId":{ + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to return fleets for. Use this parameter to return only fleets using a specified build. Use either the build ID or ARN value. To retrieve all fleets, do not include either a BuildId and ScriptID parameter.

" }, - "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.

" + "ScriptId":{ + "shape":"ScriptIdOrArn", + "documentation":"

A unique identifier for a Realtime script to return fleets for. Use this parameter to return only fleets using a specified script. Use either the script ID or ARN value. To retrieve all fleets, leave this parameter empty.

" }, "Limit":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

The 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":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" }, - "DescribeInstancesOutput":{ + "ListFleetsOutput":{ "type":"structure", "members":{ - "Instances":{ - "shape":"InstanceList", - "documentation":"

Collection of objects containing properties for each instance returned.

" + "FleetIds":{ + "shape":"FleetIdList", + "documentation":"

Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, or DescribeFleetUtilization.

" }, "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":"

Token that indicates 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.

" }, - "DescribePlayerSessionsInput":{ + "ListGameServerGroupsInput":{ "type":"structure", "members":{ - "GameSessionId":{ - "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", - "documentation":"

Unique identifier for a player.

" - }, - "PlayerSessionId":{ - "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session.

" - }, - "PlayerSessionStatusFilter":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Player session status to filter results on.

Possible player session statuses include the following:

  • RESERVED – The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE – The player has been validated by the server process and is currently connected.

  • COMPLETED – The player connection has been dropped.

  • TIMEDOUT – A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).

" - }, "Limit":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.

" + "documentation":"

The 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. If a player session ID is specified, this parameter is ignored.

" + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } - }, - "documentation":"

Represents the input for a request action.

" + } }, - "DescribePlayerSessionsOutput":{ + "ListGameServerGroupsOutput":{ "type":"structure", "members":{ - "PlayerSessions":{ - "shape":"PlayerSessionList", - "documentation":"

Collection of objects containing properties for each player session that matches the request.

" + "GameServerGroups":{ + "shape":"GameServerGroups", + "documentation":"

A collection of game server group objects that match the request.

" }, "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.

" - }, - "DescribeRuntimeConfigurationInput":{ - "type":"structure", - "required":["FleetId"], - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier of the fleet to get the runtime configuration for.

" - } - }, - "documentation":"

Represents the input for a request action.

" - }, - "DescribeRuntimeConfigurationOutput":{ - "type":"structure", - "members":{ - "RuntimeConfiguration":{ - "shape":"RuntimeConfiguration", - "documentation":"

Instructions describing how server processes should be launched and maintained on each instance in the fleet.

" + "documentation":"

A token that indicates 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.

" + } }, - "DescribeScalingPoliciesInput":{ + "ListGameServersInput":{ "type":"structure", - "required":["FleetId"], + "required":["GameServerGroupName"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Specify the fleet to retrieve scaling policies for.

" + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group for the game server you want to list. Use either the GameServerGroup name or ARN value.

" }, - "StatusFilter":{ - "shape":"ScalingStatusType", - "documentation":"

Scaling policy status to filter results on. A scaling policy is only in force when in an ACTIVE status.

  • ACTIVE – The scaling policy is currently in force.

  • UPDATEREQUESTED – A request to update the scaling policy has been received.

  • UPDATING – A change is being made to the scaling policy.

  • DELETEREQUESTED – A request to delete the scaling policy has been received.

  • DELETING – The scaling policy is being deleted.

  • DELETED – The scaling policy has been deleted.

  • ERROR – An error occurred in creating the policy. It should be removed and recreated.

" + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

Indicates how to sort the returned data based on the game servers' custom key sort value. If this parameter is left empty, the list of game servers is returned in no particular order.

" }, "Limit":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

The 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":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } - }, - "documentation":"

Represents the input for a request action.

" + } }, - "DescribeScalingPoliciesOutput":{ + "ListGameServersOutput":{ "type":"structure", "members":{ - "ScalingPolicies":{ - "shape":"ScalingPolicyList", - "documentation":"

Collection of objects containing the scaling policies matching the request.

" + "GameServers":{ + "shape":"GameServers", + "documentation":"

A collection of game server objects that match the request.

" }, "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":"

A token that indicates 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.

" + } }, - "Double":{"type":"double"}, - "EC2InstanceCounts":{ + "ListScriptsInput":{ "type":"structure", "members":{ - "DESIRED":{ - "shape":"WholeNumber", - "documentation":"

Ideal number of active instances in the fleet.

" - }, - "MINIMUM":{ - "shape":"WholeNumber", - "documentation":"

Minimum value allowed for the fleet's instance count.

" - }, - "MAXIMUM":{ - "shape":"WholeNumber", - "documentation":"

Maximum value allowed for the fleet's instance count.

" - }, - "PENDING":{ - "shape":"WholeNumber", - "documentation":"

Number of instances in the fleet that are starting but not yet active.

" - }, - "ACTIVE":{ - "shape":"WholeNumber", - "documentation":"

Actual number of active instances in the fleet.

" - }, - "IDLE":{ - "shape":"WholeNumber", - "documentation":"

Number of active instances in the fleet that are not currently hosting a game session.

" + "Limit":{ + "shape":"PositiveInteger", + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" }, - "TERMINATING":{ - "shape":"WholeNumber", - "documentation":"

Number of instances in the fleet that are no longer active but haven't yet been terminated.

" + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } - }, - "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.

" + } }, - "EC2InstanceLimit":{ + "ListScriptsOutput":{ "type":"structure", "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.

" - }, - "CurrentInstances":{ - "shape":"WholeNumber", - "documentation":"

Number of instances of the specified type that are currently in use by this AWS account.

" + "Scripts":{ + "shape":"ScriptList", + "documentation":"

A set of properties describing the requested script.

" }, - "InstanceLimit":{ - "shape":"WholeNumber", - "documentation":"

Number of instances allowed.

" + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token that indicates 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":"

Maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.

" - }, - "EC2InstanceLimitList":{ - "type":"list", - "member":{"shape":"EC2InstanceLimit"} - }, - "EC2InstanceType":{ - "type":"string", - "enum":[ - "t2.micro", - "t2.small", - "t2.medium", - "t2.large", - "c3.large", - "c3.xlarge", - "c3.2xlarge", - "c3.4xlarge", - "c3.8xlarge", - "c4.large", - "c4.xlarge", - "c4.2xlarge", - "c4.4xlarge", - "c4.8xlarge", - "r3.large", - "r3.xlarge", - "r3.2xlarge", - "r3.4xlarge", - "r3.8xlarge", - "m3.medium", - "m3.large", - "m3.xlarge", - "m3.2xlarge", - "m4.large", - "m4.xlarge", - "m4.2xlarge", - "m4.4xlarge", - "m4.10xlarge" - ] + } }, - "Event":{ + "ListTagsForResourceRequest":{ "type":"structure", + "required":["ResourceARN"], "members":{ - "EventId":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a fleet event.

" - }, - "ResourceId":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to retrieve tags for. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

The collection of tags that have been assigned to the specified resource.

" + } + } + }, + "MatchedPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the resource, such as a fleet ID.

" - }, - "EventCode":{ - "shape":"EventCode", - "documentation":"

Type of event being logged.

" - }, - "Message":{ - "shape":"NonEmptyString", - "documentation":"

Additional information related to the event.

" + "documentation":"

A unique identifier for a player

" }, - "EventTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this event occurred. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" + "PlayerSessionId":{ + "shape":"PlayerSessionId", + "documentation":"

A unique identifier for a player session

" } }, - "documentation":"

Log entry describing an event involving an Amazon GameLift resource (such as a fleet).

" + "documentation":"

Represents a new player session that is created as a result of a successful FlexMatch match. A successful match automatically creates new player sessions for every player ID in the original matchmaking request.

When players connect to the match's game session, they must include both player ID and player session ID in order to claim their assigned player slot.

" }, - "EventCode":{ + "MatchedPlayerSessionList":{ + "type":"list", + "member":{"shape":"MatchedPlayerSession"} + }, + "MatchmakerData":{ "type":"string", - "enum":[ - "GENERIC_EVENT", - "FLEET_CREATED", - "FLEET_DELETED", - "FLEET_SCALING_EVENT", - "FLEET_STATE_DOWNLOADING", - "FLEET_STATE_VALIDATING", - "FLEET_STATE_BUILDING", - "FLEET_STATE_ACTIVATING", - "FLEET_STATE_ACTIVE", - "FLEET_STATE_ERROR", - "FLEET_INITIALIZATION_FAILED", - "FLEET_BINARY_DOWNLOAD_FAILED", - "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND", - "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE", - "FLEET_VALIDATION_TIMED_OUT", - "FLEET_ACTIVATION_FAILED", - "FLEET_ACTIVATION_FAILED_NO_INSTANCES", - "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED" - ] + "max":390000, + "min":1 }, - "EventList":{ - "type":"list", - "member":{"shape":"Event"} + "MatchmakingAcceptanceTimeoutInteger":{ + "type":"integer", + "max":600, + "min":1 }, - "FleetAttributes":{ + "MatchmakingConfiguration":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "Name":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking configuration. This name is used to identify the configuration associated with a matchmaking request or ticket.

" + }, + "ConfigurationArn":{ + "shape":"MatchmakingConfigurationArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking configuration resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift configuration ARN, the resource ID matches the Name value.

" }, "Description":{ "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of the fleet.

" + "documentation":"

A descriptive label that is associated with matchmaking configuration.

" }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" + "GameSessionQueueArns":{ + "shape":"QueueArnsList", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. GameLift uses the listed queues when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.

" }, - "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\".

" + "RequestTimeoutSeconds":{ + "shape":"MatchmakingRequestTimeoutInteger", + "documentation":"

The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.

" }, - "TerminationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" + "AcceptanceTimeoutSeconds":{ + "shape":"MatchmakingAcceptanceTimeoutInteger", + "documentation":"

The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" }, - "Status":{ - "shape":"FleetStatus", - "documentation":"

Current status of the fleet.

Possible fleet statuses include the following:

  • NEW – A new fleet has been defined and desired instances is set to 1.

  • DOWNLOADING/VALIDATING/BUILDING/ACTIVATING – GameLift is setting up the new fleet, creating new instances with the game build and starting server processes.

  • ACTIVE – Hosts can now accept game sessions.

  • ERROR – An error occurred when downloading, validating, building, or activating the fleet.

  • DELETING – Hosts are responding to a delete fleet request.

  • TERMINATED – The fleet no longer exists.

" + "AcceptanceRequired":{ + "shape":"BooleanModel", + "documentation":"

A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" }, - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for a build.

" + "RuleSetName":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking rule set to use with this configuration. A matchmaking configuration can only use rule sets that are defined in the same Region.

" }, - "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 .

" + "RuleSetArn":{ + "shape":"MatchmakingRuleSetArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift matchmaking rule set resource that this configuration uses.

" }, - "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 .

" + "NotificationTarget":{ + "shape":"SnsArnStringModel", + "documentation":"

An SNS topic ARN that is set up to receive matchmaking notifications.

" }, - "LogPaths":{ - "shape":"StringList", - "documentation":"

Location of default log files. When a server process is shut down, Amazon GameLift captures and stores any log files in this location. These logs are in addition to game session logs; see more on game session logs in the Amazon GameLift Developer Guide. If no default log path for a fleet is specified, GameLift will automatically upload logs stored on each instance at C:\\game\\logs. Use the GameLift console to access stored logs.

" + "AdditionalPlayerCount":{ + "shape":"WholeNumber", + "documentation":"

The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.

" }, - "NewGameSessionProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Type of game session protection to set for all new instances started in the fleet.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "CustomEventData":{ + "shape":"CustomEventData", + "documentation":"

Information to attach to all events related to the matchmaking configuration.

" }, - "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.

" + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, - "ResourceCreationLimitPolicy":{ - "shape":"ResourceCreationLimitPolicy", - "documentation":"

Fleet policy to limit the number of game sessions an individual player can create over a span of time.

" + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "BackfillMode":{ + "shape":"BackfillMode", + "documentation":"

The method used to backfill game sessions created with this matchmaking configuration. MANUAL indicates that the game makes backfill requests or does not use the match backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill requests whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch.

" } }, - "documentation":"

General properties describing a fleet.

" + "documentation":"

Guidelines for use with FlexMatch to match players into games. All matchmaking requests must specify a matchmaking configuration.

" }, - "FleetAttributesList":{ + "MatchmakingConfigurationArn":{ + "type":"string", + "documentation":"Data type used for Matchmaking Configuration ARN.", + "pattern":"^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + }, + "MatchmakingConfigurationList":{ "type":"list", - "member":{"shape":"FleetAttributes"} + "member":{"shape":"MatchmakingConfiguration"} }, - "FleetCapacity":{ + "MatchmakingConfigurationName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + }, + "MatchmakingConfigurationNameList":{ + "type":"list", + "member":{"shape":"MatchmakingConfigurationName"} + }, + "MatchmakingConfigurationStatus":{ + "type":"string", + "enum":[ + "CANCELLED", + "COMPLETED", + "FAILED", + "PLACING", + "QUEUED", + "REQUIRES_ACCEPTANCE", + "SEARCHING", + "TIMED_OUT" + ] + }, + "MatchmakingIdList":{ + "type":"list", + "member":{"shape":"MatchmakingIdStringModel"} + }, + "MatchmakingIdStringModel":{ + "type":"string", + "max":128, + "pattern":"[a-zA-Z0-9-\\.]*" + }, + "MatchmakingRequestTimeoutInteger":{ + "type":"integer", + "max":43200, + "min":1 + }, + "MatchmakingRuleSet":{ "type":"structure", + "required":["RuleSetBody"], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "RuleSetName":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking rule set

" }, - "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.

" + "RuleSetArn":{ + "shape":"MatchmakingRuleSetArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift matchmaking rule set resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift rule set ARN, the resource ID matches the RuleSetName value.

" }, - "InstanceCounts":{ - "shape":"EC2InstanceCounts", - "documentation":"

Current status of fleet capacity.

" + "RuleSetBody":{ + "shape":"RuleSetBody", + "documentation":"

A collection of matchmaking rules, formatted as a JSON string. Comments are not allowed in JSON, but most elements support a description field.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" } }, - "documentation":"

Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.

" + "documentation":"

Set of rule statements, used with FlexMatch, that determine how to build your player matches. Each rule set describes a type of group to be created and defines the parameters for acceptable player matches. Rule sets are used in MatchmakingConfiguration objects.

A rule set may define the following elements for a match. For detailed information and examples showing how to construct a rule set, see Build a FlexMatch Rule Set.

  • Teams -- Required. A rule set must define one or multiple teams for the match and set minimum and maximum team sizes. For example, a rule set might describe a 4x4 match that requires all eight slots to be filled.

  • Player attributes -- Optional. These attributes specify a set of player characteristics to evaluate when looking for a match. Matchmaking requests that use a rule set with player attributes must provide the corresponding attribute values. For example, an attribute might specify a player's skill or level.

  • Rules -- Optional. Rules define how to evaluate potential players for a match based on player attributes. A rule might specify minimum requirements for individual players, teams, or entire matches. For example, a rule might require each player to meet a certain skill level, each team to have at least one player in a certain role, or the match to have a minimum average skill level. or may describe an entire group--such as all teams must be evenly matched or have at least one player in a certain role.

  • Expansions -- Optional. Expansions allow you to relax the rules after a period of time when no acceptable matches are found. This feature lets you balance getting players into games in a reasonable amount of time instead of making them wait indefinitely for the best possible match. For example, you might use an expansion to increase the maximum skill variance between players after 30 seconds.

" }, - "FleetCapacityExceededException":{ + "MatchmakingRuleSetArn":{ + "type":"string", + "documentation":"Data type used for Matchmaking RuleSet ARN.", + "pattern":"^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + }, + "MatchmakingRuleSetList":{ + "type":"list", + "member":{"shape":"MatchmakingRuleSet"} + }, + "MatchmakingRuleSetName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + }, + "MatchmakingRuleSetNameList":{ + "type":"list", + "member":{"shape":"MatchmakingRuleSetName"}, + "max":10, + "min":1 + }, + "MatchmakingTicket":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"} + "TicketId":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking ticket.

" + }, + "ConfigurationName":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking configurations determine how players are grouped into a match and how a new game session is created for the match.

" + }, + "ConfigurationArn":{ + "shape":"MatchmakingConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift matchmaking configuration resource that is used with this ticket.

" + }, + "Status":{ + "shape":"MatchmakingConfigurationStatus", + "documentation":"

Current status of the matchmaking request.

  • QUEUED -- The matchmaking request has been received and is currently waiting to be processed.

  • SEARCHING -- The matchmaking request is currently being processed.

  • REQUIRES_ACCEPTANCE -- A match has been proposed and the players must accept the match (see AcceptMatch). This status is used only with requests that use a matchmaking configuration with a player acceptance requirement.

  • PLACING -- The FlexMatch engine has matched players and is in the process of placing a new game session for the match.

  • COMPLETED -- Players have been matched and a game session is ready to host the players. A ticket in this state contains the necessary connection information for players.

  • FAILED -- The matchmaking request was not completed.

  • CANCELLED -- The matchmaking request was canceled. This may be the result of a call to StopMatchmaking or a proposed match that one or more players failed to accept.

  • TIMED_OUT -- The matchmaking request was not successful within the duration specified in the matchmaking configuration.

Matchmaking requests that fail to successfully complete (statuses FAILED, CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket IDs.

" + }, + "StatusReason":{ + "shape":"StringModel", + "documentation":"

Code to explain the current status. For example, a status reason may indicate when a ticket has returned to SEARCHING status after a proposed match fails to receive player acceptances.

" + }, + "StatusMessage":{ + "shape":"StringModel", + "documentation":"

Additional information about the current status.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this matchmaking request was received. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this matchmaking request stopped being processed due to success, failure, or cancellation. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "Players":{ + "shape":"PlayerList", + "documentation":"

A set of Player objects, each representing a player to find matches for. Players are identified by a unique player ID and may include latency data for use during matchmaking. If the ticket is in status COMPLETED, the Player objects include the team the players were assigned to in the resulting match.

" + }, + "GameSessionConnectionInfo":{ + "shape":"GameSessionConnectionInfo", + "documentation":"

Identifier and connection information of the game session created for the match. This information is added to the ticket only after the matchmaking request has been successfully completed.

" + }, + "EstimatedWaitTime":{ + "shape":"WholeNumber", + "documentation":"

Average amount of time (in seconds) that players are currently waiting for a match. If there is not enough recent data, this property may be empty.

" + } }, - "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 + "documentation":"

Ticket generated to track the progress of a matchmaking request. Each ticket is uniquely identified by a ticket ID, supplied by the requester, when creating a matchmaking request with StartMatchmaking. Tickets can be retrieved by calling DescribeMatchmaking with the ticket ID.

" }, - "FleetCapacityList":{ + "MatchmakingTicketList":{ "type":"list", - "member":{"shape":"FleetCapacity"} + "member":{"shape":"MatchmakingTicket"} }, - "FleetId":{ + "MaxConcurrentGameSessionActivations":{ + "type":"integer", + "max":2147483647, + "min":1 + }, + "MetricGroup":{ "type":"string", - "pattern":"^fleet-\\S+" + "max":255, + "min":1 }, - "FleetIdList":{ + "MetricGroupList":{ "type":"list", - "member":{"shape":"FleetId"}, + "member":{"shape":"MetricGroup"}, + "max":1 + }, + "MetricName":{ + "type":"string", + "enum":[ + "ActivatingGameSessions", + "ActiveGameSessions", + "ActiveInstances", + "AvailableGameSessions", + "AvailablePlayerSessions", + "CurrentPlayerSessions", + "IdleInstances", + "PercentAvailableGameSessions", + "PercentIdleInstances", + "QueueDepth", + "WaitTime" + ] + }, + "NonBlankAndLengthConstraintString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "NonBlankString":{ + "type":"string", + "pattern":"[^\\s]+" + }, + "NonEmptyString":{ + "type":"string", "min":1 }, - "FleetStatus":{ + "NonNegativeDouble":{ + "type":"double", + "min":0 + }, + "NonZeroAndMaxString":{ + "type":"string", + "max":1024, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests.

", + "exception":true + }, + "OperatingSystem":{ "type":"string", "enum":[ - "NEW", - "DOWNLOADING", - "VALIDATING", - "BUILDING", - "ACTIVATING", - "ACTIVE", - "DELETING", - "ERROR", - "TERMINATED" + "WINDOWS_2012", + "AMAZON_LINUX", + "AMAZON_LINUX_2" ] }, - "FleetUtilization":{ + "OutOfCapacityException":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "Message":{"shape":"NonEmptyString"} + }, + "documentation":"

The specified game server group has no available game servers to fulfill a ClaimGameServer request. Clients can retry such requests immediately or after a waiting period.

", + "exception":true + }, + "PlacedPlayerSession":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player that is associated with this player session.

" }, - "ActiveServerProcessCount":{ - "shape":"WholeNumber", - "documentation":"

Number of server processes in an ACTIVE status currently running across all instances in the fleet

" + "PlayerSessionId":{ + "shape":"PlayerSessionId", + "documentation":"

A unique identifier for a player session.

" + } + }, + "documentation":"

Information about a player session that was created as part of a StartGameSessionPlacement request. This object contains only the player ID and player session ID. To retrieve full details on a player session, call DescribePlayerSessions with the player session ID.

" + }, + "PlacedPlayerSessionList":{ + "type":"list", + "member":{"shape":"PlacedPlayerSession"} + }, + "Player":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player

" }, - "ActiveGameSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of active game sessions currently being hosted on all instances in the fleet.

" + "PlayerAttributes":{ + "shape":"PlayerAttributeMap", + "documentation":"

A collection of key:value pairs containing player information for use in matchmaking. Player attribute keys must match the playerAttributes used in a matchmaking rule set. Example: \"PlayerAttributes\": {\"skill\": {\"N\": \"23\"}, \"gameMode\": {\"S\": \"deathmatch\"}}.

" + }, + "Team":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Name of the team that the player is assigned to in a match. Team names are defined in a matchmaking rule set.

" + }, + "LatencyInMs":{ + "shape":"LatencyMap", + "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only in Regions for which latency is reported.

If a matchmaker has a rule that evaluates player latency, players must report latency in order to be matched. If no latency is reported in this scenario, FlexMatch assumes that no Regions are available to the player and the ticket is not matchable.

" + } + }, + "documentation":"

Represents a player in matchmaking. When starting a matchmaking request, a player has a player ID, attributes, and may have latency data. Team information is added after a match has been successfully completed.

" + }, + "PlayerAttributeMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"AttributeValue"} + }, + "PlayerData":{ + "type":"string", + "max":2048, + "min":1 + }, + "PlayerDataMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"PlayerData"} + }, + "PlayerIdList":{ + "type":"list", + "member":{"shape":"NonZeroAndMaxString"}, + "max":25, + "min":1 + }, + "PlayerLatency":{ + "type":"structure", + "members":{ + "PlayerId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a player associated with the latency data.

" }, - "CurrentPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of active player sessions currently being hosted on all instances in the fleet.

" + "RegionIdentifier":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Name of the Region that is associated with the latency value.

" }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Maximum players allowed across all game sessions currently being hosted on all instances in the fleet.

" + "LatencyInMilliseconds":{ + "shape":"Float", + "documentation":"

Amount of time that represents the time lag experienced by the player when connected to the specified Region.

" } }, - "documentation":"

Current status of fleet utilization, including the number of game and player sessions being hosted.

" + "documentation":"

Regional latency information for a player, used when requesting a new game session with StartGameSessionPlacement. This value indicates the amount of time lag that exists when the player is connected to a fleet in the specified Region. The relative difference between a player's latency values for multiple Regions are used to determine which fleets are best suited to place a new game session for the player.

" }, - "FleetUtilizationList":{ + "PlayerLatencyList":{ "type":"list", - "member":{"shape":"FleetUtilization"} + "member":{"shape":"PlayerLatency"} }, - "FreeText":{"type":"string"}, - "GameProperty":{ + "PlayerLatencyPolicy":{ "type":"structure", - "required":[ - "Key", - "Value" - ], "members":{ - "Key":{ - "shape":"GamePropertyKey", - "documentation":"

TBD

" + "MaximumIndividualPlayerLatencyMilliseconds":{ + "shape":"WholeNumber", + "documentation":"

The maximum latency value that is allowed for any player, in milliseconds. All policies must have a value set for this property.

" }, - "Value":{ - "shape":"GamePropertyValue", - "documentation":"

TBD

" + "PolicyDurationSeconds":{ + "shape":"WholeNumber", + "documentation":"

The length of time, in seconds, that the policy is enforced while placing a new game session. A null value for this property means that the policy is enforced until the queue times out.

" } }, - "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.

" - }, - "GamePropertyKey":{ - "type":"string", - "max":32 + "documentation":"

Queue setting that determines the highest latency allowed for individual players when placing a game session. When a latency policy is in force, a game session cannot be placed with any fleet in a Region where a player reports latency higher than the cap. Latency policies are only enforced when the placement request contains player latency information.

" }, - "GamePropertyList":{ + "PlayerLatencyPolicyList":{ "type":"list", - "member":{"shape":"GameProperty"}, - "max":16 + "member":{"shape":"PlayerLatencyPolicy"} }, - "GamePropertyValue":{ - "type":"string", - "max":96 + "PlayerList":{ + "type":"list", + "member":{"shape":"Player"} }, - "GameSession":{ + "PlayerSession":{ "type":"structure", "members":{ - "GameSessionId":{ + "PlayerSessionId":{ + "shape":"PlayerSessionId", + "documentation":"

A unique identifier for a player session.

" + }, + "PlayerId":{ "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.

" + "documentation":"

A unique identifier for a player that is associated with this player session.

" }, - "Name":{ + "GameSessionId":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "documentation":"

A unique identifier for the game session that the player session is connected to.

" }, "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" + "documentation":"

A unique identifier for a fleet that the player's game session is running on.

" + }, + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift fleet that the player's game session is running on.

" }, "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":"

Time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "TerminationTime":{ "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" - }, - "CurrentPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Number of players currently in the game session.

" - }, - "MaximumPlayerSessionCount":{ - "shape":"WholeNumber", - "documentation":"

Maximum number of players allowed in the game session.

" + "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" }, "Status":{ - "shape":"GameSessionStatus", - "documentation":"

Current status of the game session. A game session must be in an ACTIVE status to have player sessions.

" - }, - "GameProperties":{ - "shape":"GamePropertyList", - "documentation":"

Set of custom properties for the game session.

" + "shape":"PlayerSessionStatus", + "documentation":"

Current status of the player session.

Possible player session statuses include the following:

  • RESERVED -- The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE -- The player has been validated by the server process and is currently connected.

  • COMPLETED -- The player connection has been dropped.

  • TIMEDOUT -- A player session request was received, but the player did not connect and/or was not validated within the timeout limit (60 seconds).

" }, "IpAddress":{ "shape":"IpAddress", - "documentation":"

IP address of the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" + "documentation":"

IP address of the instance that is running the game session. When connecting to a Amazon GameLift game server, a client needs to reference an IP address (or DNS name) and port number.

" + }, + "DnsName":{ + "shape":"DnsName", + "documentation":"

DNS identifier assigned to the instance that is running the game session. Values have the following format:

  • TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.

  • Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.)

When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

" }, "Port":{ "shape":"PortNumber", - "documentation":"

Port number for the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" - }, - "PlayerSessionCreationPolicy":{ - "shape":"PlayerSessionCreationPolicy", - "documentation":"

Indicates whether or not the game session is accepting new players.

" + "documentation":"

Port number for the game session. To connect to a Amazon GameLift server process, an app needs both the IP address and port number.

" }, - "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.

" - }, - "GameSessionDetail":{ - "type":"structure", - "members":{ - "GameSession":{"shape":"GameSession"}, - "ProtectionPolicy":{ - "shape":"ProtectionPolicy", - "documentation":"

Current status of protection for the game session.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "PlayerData":{ + "shape":"PlayerData", + "documentation":"

Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

" } }, - "documentation":"

A game session's properties and the protection policy currently in force.

" + "documentation":"

Properties describing a player session. Player session objects are created either by creating a player session for a specific game session, or as part of a game session placement. A player session represents either a player reservation for a game session (status RESERVED) or actual player activity in a game session (status ACTIVE). A player session object (including player data) is automatically passed to a game session when the player connects to the game session and is validated.

When a player disconnects, the player session status changes to COMPLETED. Once the session ends, the player session object is retained for 30 days and then removed.

" }, - "GameSessionDetailList":{ - "type":"list", - "member":{"shape":"GameSessionDetail"} + "PlayerSessionCreationPolicy":{ + "type":"string", + "enum":[ + "ACCEPT_ALL", + "DENY_ALL" + ] }, - "GameSessionFullException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "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 + "PlayerSessionId":{ + "type":"string", + "pattern":"^psess-\\S+" }, - "GameSessionList":{ + "PlayerSessionList":{ "type":"list", - "member":{"shape":"GameSession"} + "member":{"shape":"PlayerSession"} }, - "GameSessionStatus":{ + "PlayerSessionStatus":{ "type":"string", "enum":[ + "RESERVED", "ACTIVE", - "ACTIVATING", - "TERMINATED", - "TERMINATING", - "ERROR" + "COMPLETED", + "TIMEDOUT" ] }, - "GetGameSessionLogUrlInput":{ + "PolicyType":{ + "type":"string", + "enum":[ + "RuleBased", + "TargetBased" + ] + }, + "PortNumber":{ + "type":"integer", + "max":60000, + "min":1 + }, + "PositiveInteger":{ + "type":"integer", + "min":1 + }, + "PositiveLong":{ + "type":"long", + "min":1 + }, + "ProtectionPolicy":{ + "type":"string", + "enum":[ + "NoProtection", + "FullProtection" + ] + }, + "PutScalingPolicyInput":{ "type":"structure", - "required":["GameSessionId"], + "required":[ + "Name", + "FleetId", + "MetricName" + ], "members":{ - "GameSessionId":{ - "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.

" + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

" + }, + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to apply this policy to. You can use either the fleet ID or ARN value. The fleet cannot be in any of the following statuses: ERROR or DELETING.

" + }, + "ScalingAdjustment":{ + "shape":"Integer", + "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" + }, + "ScalingAdjustmentType":{ + "shape":"ScalingAdjustmentType", + "documentation":"

The type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%.

" + }, + "Threshold":{ + "shape":"Double", + "documentation":"

Metric value used to trigger a scaling event.

" + }, + "ComparisonOperator":{ + "shape":"ComparisonOperatorType", + "documentation":"

Comparison operator to use when measuring the metric against the threshold value.

" + }, + "EvaluationPeriods":{ + "shape":"PositiveInteger", + "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.

" + }, + "TargetConfiguration":{ + "shape":"TargetConfiguration", + "documentation":"

The settings for a target-based scaling policy.

" } }, "documentation":"

Represents the input for a request action.

" }, - "GetGameSessionLogUrlOutput":{ + "PutScalingPolicyOutput":{ "type":"structure", "members":{ - "PreSignedUrl":{ + "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Location of the requested game session logs, available for download.

" + "documentation":"

A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" } }, "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 + "QueueArnsList":{ + "type":"list", + "member":{"shape":"ArnStringModel"} }, - "Instance":{ + "RegisterGameServerInput":{ "type":"structure", + "required":[ + "GameServerGroupName", + "GameServerId", + "InstanceId" + ], "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet that the instance belongs to.

" + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group where the game server is running. You can use either the GameServerGroup name or ARN value.

" + }, + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

A custom string that uniquely identifies the new game server. Game server IDs are developer-defined and must be unique across all game server groups in your AWS account.

" }, "InstanceId":{ - "shape":"InstanceId", - "documentation":"

Unique identifier for the instance.

" + "shape":"GameServerInstanceId", + "documentation":"

The unique identifier for the instance where the game server is running. This ID is available in the instance metadata.

" }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

IP address assigned to the instance.

" - }, - "OperatingSystem":{ - "shape":"OperatingSystem", - "documentation":"

Operating system being used on this instance.

" + "ConnectionInfo":{ + "shape":"GameServerConnectionInfo", + "documentation":"

Information needed to make inbound client connections to the game server. This might include IP address and port, DNS name, etc.

" }, - "Type":{ - "shape":"EC2InstanceType", - "documentation":"

EC2 instance type that defines the computing resources of this instance.

" + "GameServerData":{ + "shape":"GameServerData", + "documentation":"

A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service when it requests information on a game servers using ListGameServers or ClaimGameServer.

" }, - "Status":{ - "shape":"InstanceStatus", - "documentation":"

Current status of the instance. Possible statuses include the following:

  • PENDING – The instance is in the process of being created and launching server processes as defined in the fleet's runtime configuration.

  • ACTIVE – The instance has been successfully created and at least one server process has successfully launched and reported back to GameLift that it is ready to host a game session. The instance is now considered ready to host game sessions.

  • TERMINATING – The instance is in the process of shutting down. This may happen to reduce capacity during a scaling down event or to recycle resources in the event of a problem.

" + "CustomSortKey":{ + "shape":"GameServerSortKey", + "documentation":"

A game server tag that can be used to request sorted lists of game servers using ListGameServers. Custom sort keys are developer-defined based on how you want to organize the retrieved game server information.

" }, - "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\").

" + "Tags":{ + "shape":"TagList", + "documentation":"

A list of labels to assign to the new game server resource. Tags are developer-defined key-value pairs. Tagging AWS resources are useful for resource management, access management, and cost allocation. For more information, see Tagging AWS Resources in the AWS General Reference. Once the resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit may be lower than stated. See the AWS General Reference for actual tagging limits.

" } - }, - "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"} + "RegisterGameServerOutput":{ + "type":"structure", + "members":{ + "GameServer":{ + "shape":"GameServer", + "documentation":"

Object that describes the newly created game server resource.

" + } + } }, - "InstanceStatus":{ - "type":"string", - "enum":[ - "PENDING", - "ACTIVE", - "TERMINATING" - ] + "RequestUploadCredentialsInput":{ + "type":"structure", + "required":["BuildId"], + "members":{ + "BuildId":{ + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to get credentials for. You can use either the build ID or ARN value.

" + } + }, + "documentation":"

Represents the input for a request action.

" }, - "Integer":{"type":"integer"}, - "InternalServiceException":{ + "RequestUploadCredentialsOutput":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"} + "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.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

Amazon S3 path and key, identifying where the game build files are stored.

" + } }, - "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":"

Represents the returned data in response to a request action.

" }, - "InvalidFleetStatusException":{ + "ResolveAliasInput":{ "type":"structure", + "required":["AliasId"], "members":{ - "Message":{"shape":"NonEmptyString"} + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

The unique identifier of the alias that you want to retrieve a fleet ID for. You can use either the alias ID or ARN value.

" + } }, - "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 + "documentation":"

Represents the input for a request action.

" }, - "InvalidGameSessionStatusException":{ + "ResolveAliasOutput":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"} + "FleetId":{ + "shape":"FleetId", + "documentation":"

The fleet identifier that the alias is pointing to.

" + }, + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift fleet resource that this alias points to.

" + } }, - "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 + "documentation":"

Represents the returned data in response to a request action.

" }, - "InvalidRequestException":{ + "ResourceCreationLimitPolicy":{ "type":"structure", "members":{ - "Message":{"shape":"NonEmptyString"} + "NewGameSessionsPerCreator":{ + "shape":"WholeNumber", + "documentation":"

The maximum number of game sessions that an individual can create during the policy period.

" + }, + "PolicyPeriodInMinutes":{ + "shape":"WholeNumber", + "documentation":"

The time span used in evaluating the resource creation limit policy.

" + } }, - "documentation":"

One or more parameter values in the request are invalid. Correct the invalid parameter values before retrying.

", - "exception":true + "documentation":"

A 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: Assume you have a policy of 10 new game sessions and a time period of 60 minutes. On receiving a CreateGameSession request, Amazon GameLift checks that the player (identified by CreatorId) has created fewer than 10 game sessions in the past 60 minutes.

" }, - "IpAddress":{"type":"string"}, - "IpPermission":{ + "ResumeGameServerGroupInput":{ "type":"structure", "required":[ - "FromPort", - "ToPort", - "IpRange", - "Protocol" + "GameServerGroupName", + "ResumeActions" ], "members":{ - "FromPort":{ - "shape":"PortNumber", - "documentation":"

Starting value for a range of allowed port numbers.

" + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

The unique identifier of the game server group to resume activity on. Use either the GameServerGroup name or ARN value.

" }, - "ToPort":{ - "shape":"PortNumber", - "documentation":"

Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort.

" + "ResumeActions":{ + "shape":"GameServerGroupActions", + "documentation":"

The action to resume for this game server group.

" + } + } + }, + "ResumeGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

An object that describes the game server group resource, with the SuspendedActions property updated to reflect the resumed activity.

" + } + } + }, + "RoutingStrategy":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RoutingStrategyType", + "documentation":"

The type of routing strategy for the alias.

Possible routing types include the following:

  • SIMPLE - The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL - The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" }, - "IpRange":{ - "shape":"NonBlankString", - "documentation":"

Range of allowed IP addresses. This value must be expressed in CIDR notation. Example: \"000.000.000.000/[subnet mask]\" or optionally the shortened version \"0.0.0.0/[subnet mask]\".

" + "FleetId":{ + "shape":"FleetId", + "documentation":"

The unique identifier for a fleet that the alias points to. This value is the fleet ID, not the fleet ARN.

" }, - "Protocol":{ - "shape":"IpProtocol", - "documentation":"

Network communication protocol used by the fleet.

" + "Message":{ + "shape":"FreeText", + "documentation":"

The message text to be used with a terminal routing strategy.

" } }, - "documentation":"

A range of IP addresses and port settings that allow inbound traffic to connect to server processes on GameLift. Each game session hosted on a fleet is assigned a unique combination of IP address and port number, which must fall into the fleet's allowed ranges. This combination is included in the GameSession object.

" - }, - "IpPermissionsList":{ - "type":"list", - "member":{"shape":"IpPermission"}, - "max":50 + "documentation":"

The routing configuration for a fleet alias.

" }, - "IpProtocol":{ + "RoutingStrategyType":{ "type":"string", "enum":[ - "TCP", - "UDP" + "SIMPLE", + "TERMINAL" ] }, - "LimitExceededException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue before retrying.

", - "exception":true + "RuleSetBody":{ + "type":"string", + "max":65535, + "min":1 }, - "ListAliasesInput":{ + "RuleSetLimit":{ + "type":"integer", + "max":10, + "min":1 + }, + "RuntimeConfiguration":{ "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:

  • SIMPLE – The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL – The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" - }, - "Name":{ - "shape":"NonEmptyString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "ServerProcesses":{ + "shape":"ServerProcessList", + "documentation":"

A collection of server process configurations that describe which server processes to run on each instance in a 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.

" + "MaxConcurrentGameSessionActivations":{ + "shape":"MaxConcurrentGameSessionActivations", + "documentation":"

The maximum number of game sessions with status ACTIVATING to allow on an instance simultaneously. This setting limits the amount of instance resources that can be used for new game activations at any one time.

" }, - "NextToken":{ - "shape":"NonEmptyString", - "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.

" + "GameSessionActivationTimeoutSeconds":{ + "shape":"GameSessionActivationTimeoutSeconds", + "documentation":"

The maximum amount of time (in seconds) that a game session can remain in status ACTIVATING. If the game session is not active before the timeout, activation is terminated and the game session status is changed to TERMINATED.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

A collection of server process configurations that describe what processes to run on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instance in the fleet starts the specified server processes and continues to start new processes as existing processes end. Each instance regularly checks for an updated runtime configuration.

The runtime configuration enables the instances in a fleet to run multiple processes simultaneously. Learn more about Running Multiple Processes on a Fleet .

A Amazon GameLift instance is limited to 50 processes running simultaneously. To calculate the total number of processes in a runtime configuration, add the values of the ConcurrentExecutions parameter for each ServerProcess object.

" }, - "ListAliasesOutput":{ + "S3Location":{ "type":"structure", "members":{ - "Aliases":{ - "shape":"AliasList", - "documentation":"

Collection of alias records that match the list request.

" + "Bucket":{ + "shape":"NonEmptyString", + "documentation":"

An S3 bucket identifier. This is the name of the S3 bucket.

" }, - "NextToken":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

The name of the zip file that contains the build files or script files.

" + }, + "RoleArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access the S3 bucket.

" + }, + "ObjectVersion":{ "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.

" + "documentation":"

The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses this information when retrieving files from an S3 bucket that you own. Use this parameter to specify a specific version of the file. If not set, the latest version of the file is retrieved.

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

The location in S3 where build or script files are stored for access by Amazon GameLift. This location is specified in CreateBuild, CreateScript, and UpdateScript requests.

" }, - "ListBuildsInput":{ + "ScalingAdjustmentType":{ + "type":"string", + "enum":[ + "ChangeInCapacity", + "ExactCapacity", + "PercentChangeInCapacity" + ] + }, + "ScalingPolicy":{ "type":"structure", "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet that is associated with this scaling policy.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a scaling policy. Policy names do not need to be unique.

" + }, "Status":{ - "shape":"BuildStatus", - "documentation":"

Build status to filter results by. To retrieve all builds, leave this parameter empty.

Possible build statuses include the following:

  • INITIALIZED – A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this status. When a build is successfully created, the build status is set to this value.

  • READY – The game build has been successfully uploaded. You can now create new fleets for this build.

  • FAILED – The game build upload failed. You cannot create new fleets for this build.

" + "shape":"ScalingStatusType", + "documentation":"

Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets (see StopFleetActions; if suspended for a fleet, the policy status does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.

  • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

  • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

  • UPDATING -- A change is being made to the scaling policy.

  • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

  • DELETING -- The scaling policy is being deleted.

  • DELETED -- The scaling policy has been deleted.

  • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

" }, - "Limit":{ + "ScalingAdjustment":{ + "shape":"Integer", + "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" + }, + "ScalingAdjustmentType":{ + "shape":"ScalingAdjustmentType", + "documentation":"

The type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity -- set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

" + }, + "ComparisonOperator":{ + "shape":"ComparisonOperatorType", + "documentation":"

Comparison operator to use when measuring a metric against the threshold value.

" + }, + "Threshold":{ + "shape":"Double", + "documentation":"

Metric value used to trigger a scaling event.

" + }, + "EvaluationPeriods":{ "shape":"PositiveInteger", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" }, - "NextToken":{ - "shape":"NonEmptyString", - "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.

" + "MetricName":{ + "shape":"MetricName", + "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch.

  • ActivatingGameSessions -- Game sessions in the process of being created.

  • ActiveGameSessions -- Game sessions that are currently running.

  • ActiveInstances -- Fleet instances that are currently running at least one game session.

  • AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.

  • AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.

  • CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.

  • IdleInstances -- Active instances that are currently hosting zero game sessions.

  • PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.

  • PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.

  • QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

  • WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration. For a rule-based policy set the following parameters: MetricName, ComparisonOperator, Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.

" + }, + "TargetConfiguration":{ + "shape":"TargetConfiguration", + "documentation":"

The settings for a target-based scaling policy.

" } }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

" }, - "ListBuildsOutput":{ + "ScalingPolicyList":{ + "type":"list", + "member":{"shape":"ScalingPolicy"} + }, + "ScalingStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "UPDATE_REQUESTED", + "UPDATING", + "DELETE_REQUESTED", + "DELETING", + "DELETED", + "ERROR" + ] + }, + "Script":{ "type":"structure", "members":{ - "Builds":{ - "shape":"BuildList", - "documentation":"

Collection of build records that match the request.

" + "ScriptId":{ + "shape":"ScriptId", + "documentation":"

A unique identifier for a Realtime script

" }, - "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.

" - } + "ScriptArn":{ + "shape":"ScriptArn", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift script resource and uniquely identifies it. ARNs are unique across all Regions. In a GameLift script ARN, the resource ID matches the ScriptId value.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a script. Script names do not need to be unique.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

The version that is associated with a build or script. Version strings do not need to be unique.

" + }, + "SizeOnDisk":{ + "shape":"PositiveLong", + "documentation":"

The file size of the uploaded Realtime script, expressed in bytes. When files are uploaded from an S3 location, this value remains at \"0\".

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

A time stamp indicating when this data object was created. The format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "StorageLocation":{"shape":"S3Location"} }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

Properties describing a Realtime script.

Related operations

" }, - "ListFleetsInput":{ + "ScriptArn":{ + "type":"string", + "pattern":"^arn:.*:script\\/script-\\S+" + }, + "ScriptId":{ + "type":"string", + "pattern":"^script-\\S+" + }, + "ScriptIdOrArn":{ + "type":"string", + "pattern":"^script-\\S+|^arn:.*:script\\/script-\\S+" + }, + "ScriptList":{ + "type":"list", + "member":{"shape":"Script"} + }, + "SearchGameSessionsInput":{ "type":"structure", "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier of the build to return fleets for. Use this parameter to return only fleets using the specified build. To retrieve all fleets, leave this parameter empty.

" + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to search for active game sessions. You can use either the fleet ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.

" + }, + "AliasId":{ + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier for an alias associated with the fleet to search for active game sessions. You can use either the alias ID or ARN value. Each request must reference either a fleet ID or alias ID, but not both.

" + }, + "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:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values may be numbers, boolean values (true/false) or strings depending on the operand. String values are case sensitive and must be enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

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:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis, playerSessionCount, hasAvailablePlayerSessions.

  • Order -- Valid sort orders are ASC (ascending) and DESC (descending).

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", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

" + "documentation":"

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20.

" }, "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":"

Token that indicates the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To start at the beginning of the result set, do not specify a value.

" } }, "documentation":"

Represents the input for a request action.

" }, - "ListFleetsOutput":{ + "SearchGameSessionsOutput":{ "type":"structure", "members":{ - "FleetIds":{ - "shape":"FleetIdList", - "documentation":"

Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes, DescribeFleetCapacity, and DescribeFleetUtilization.

" + "GameSessions":{ + "shape":"GameSessionList", + "documentation":"

A collection of objects containing game session properties for each session matching the request.

" }, "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":"

Token that indicates 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.

" - }, - "MetricName":{ - "type":"string", - "enum":[ - "ActivatingGameSessions", - "ActiveGameSessions", - "ActiveInstances", - "AvailablePlayerSessions", - "CurrentPlayerSessions", - "IdleInstances" - ] - }, - "NonBlankAndLengthConstraintString":{ - "type":"string", - "max":1024, - "min":1, - "pattern":".*\\S.*" - }, - "NonBlankString":{ - "type":"string", - "pattern":"[^\\s]+" - }, - "NonEmptyString":{ - "type":"string", - "min":1 - }, - "NonZeroAndMaxString":{ - "type":"string", - "max":1024, - "min":1 - }, - "NotFoundException":{ - "type":"structure", - "members":{ - "Message":{"shape":"NonEmptyString"} - }, - "documentation":"

A service resource associated with the request could not be found. Clients should not retry such requests.

", - "exception":true - }, - "OperatingSystem":{ - "type":"string", - "enum":[ - "WINDOWS_2012", - "AMAZON_LINUX" - ] - }, - "PlayerIdList":{ - "type":"list", - "member":{"shape":"NonZeroAndMaxString"}, - "max":25, - "min":1 + "documentation":"

Represents the returned data in response to a request action.

" }, - "PlayerSession":{ + "ServerProcess":{ "type":"structure", + "required":[ + "LaunchPath", + "ConcurrentExecutions" + ], "members":{ - "PlayerSessionId":{ - "shape":"PlayerSessionId", - "documentation":"

Unique identifier for a player session.

" - }, - "PlayerId":{ + "LaunchPath":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for a player.

" + "documentation":"

The location of the server executable in a custom game build or the name of the Realtime script file that contains the Init() function. Game builds and Realtime scripts are installed on instances at the root:

  • Windows (for custom game builds only): C:\\game. Example: \"C:\\game\\MyGame\\server.exe\"

  • Linux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or \"/local/game/MyRealtimeScript.js\"

" }, - "GameSessionId":{ + "Parameters":{ "shape":"NonZeroAndMaxString", - "documentation":"

Unique identifier for the game session that the player session is connected to.

" - }, - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - }, - "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\".

" - }, - "TerminationTime":{ - "shape":"Timestamp", - "documentation":"

Time stamp indicating when this data object was terminated. Format is a number expressed in Unix time as milliseconds (ex: \"1469498468.057\".

" - }, - "Status":{ - "shape":"PlayerSessionStatus", - "documentation":"

Current status of the player session.

Possible player session statuses include the following:

  • RESERVED – The player session request has been received, but the player has not yet connected to the server process and/or been validated.

  • ACTIVE – The player has been validated by the server process and is currently connected.

  • COMPLETED – The player connection has been dropped.

  • TIMEDOUT – A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).

" - }, - "IpAddress":{ - "shape":"IpAddress", - "documentation":"

Game session IP address. All player sessions reference the game session location.

" + "documentation":"

An optional list of parameters to pass to the server executable or Realtime script on launch.

" }, - "Port":{ - "shape":"PortNumber", - "documentation":"

Port number for the game session. To connect to a GameLift server process, an app needs both the IP address and port number.

" + "ConcurrentExecutions":{ + "shape":"PositiveInteger", + "documentation":"

The number of server processes that use this configuration to run concurrently on an instance.

" } }, - "documentation":"

Properties describing a player session.

" - }, - "PlayerSessionCreationPolicy":{ - "type":"string", - "enum":[ - "ACCEPT_ALL", - "DENY_ALL" - ] + "documentation":"

A set of instructions for launching server processes on each instance in a fleet. Server processes run either a custom game build executable or a Realtime Servers script. Each instruction set identifies the location of the custom game build executable or Realtime launch script, 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 .

" }, - "PlayerSessionId":{ - "type":"string", - "pattern":"^psess-\\S+" - }, - "PlayerSessionList":{ + "ServerProcessList":{ "type":"list", - "member":{"shape":"PlayerSession"} - }, - "PlayerSessionStatus":{ - "type":"string", - "enum":[ - "RESERVED", - "ACTIVE", - "COMPLETED", - "TIMEDOUT" - ] - }, - "PortNumber":{ - "type":"integer", - "max":60000, - "min":1 - }, - "PositiveInteger":{ - "type":"integer", + "member":{"shape":"ServerProcess"}, + "max":50, "min":1 }, - "PositiveLong":{ - "type":"long", - "min":1 + "SnsArnStringModel":{ + "type":"string", + "max":300, + "min":0, + "pattern":"[a-zA-Z0-9:_/-]*" }, - "ProtectionPolicy":{ + "SortOrder":{ "type":"string", "enum":[ - "NoProtection", - "FullProtection" + "ASCENDING", + "DESCENDING" ] }, - "PutScalingPolicyInput":{ + "StartFleetActionsInput":{ "type":"structure", "required":[ - "Name", "FleetId", - "ScalingAdjustment", - "ScalingAdjustmentType", - "Threshold", - "ComparisonOperator", - "EvaluationPeriods", - "MetricName" + "Actions" ], "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.

" - }, "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identity for the fleet to scale with this policy.

" + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to start actions on. You can use either the fleet ID or ARN value.

" }, - "ScalingAdjustment":{ - "shape":"Integer", - "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" + "Actions":{ + "shape":"FleetActionList", + "documentation":"

List of actions to restart on the fleet.

" + } + } + }, + "StartFleetActionsOutput":{ + "type":"structure", + "members":{ + } + }, + "StartGameSessionPlacementInput":{ + "type":"structure", + "required":[ + "PlacementId", + "GameSessionQueueName", + "MaximumPlayerSessionCount" + ], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

A unique identifier to assign to the new game session placement. This value is developer-defined. The value must be unique across all Regions and cannot be reused unless you are resubmitting a canceled or timed-out placement request.

" }, - "ScalingAdjustmentType":{ - "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity – add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity – set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity – increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down; for example, a value of \"-10\" scales the fleet down by 10%.

" + "GameSessionQueueName":{ + "shape":"GameSessionQueueNameOrArn", + "documentation":"

Name of the queue to use to place the new game session. You can use either the queue name or ARN value.

" }, - "Threshold":{ - "shape":"Double", - "documentation":"

Metric value used to trigger a scaling event.

" + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

Set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" }, - "ComparisonOperator":{ - "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring the metric against the threshold value.

" + "MaximumPlayerSessionCount":{ + "shape":"WholeNumber", + "documentation":"

The maximum number of players that can be connected simultaneously to the game session.

" }, - "EvaluationPeriods":{ - "shape":"PositiveInteger", - "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" + "GameSessionName":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a game session. Session names do not need to be unique.

" }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number includes game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

" + "PlayerLatencies":{ + "shape":"PlayerLatencyList", + "documentation":"

Set of values, expressed in milliseconds, indicating the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where it can offer the best possible gameplay experience for the players.

" + }, + "DesiredPlayerSessions":{ + "shape":"DesiredPlayerSessionList", + "documentation":"

Set of information on each player to create a player session for.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

Set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "documentation":"

Represents the input for a request action.

" }, - "PutScalingPolicyOutput":{ + "StartGameSessionPlacementOutput":{ "type":"structure", "members":{ - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the newly created game session placement. This object includes all the information provided in the request, as well as start/end time stamps and placement status.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, - "RequestUploadCredentialsInput":{ + "StartMatchBackfillInput":{ "type":"structure", - "required":["BuildId"], + "required":[ + "ConfigurationName", + "GameSessionArn", + "Players" + ], "members":{ - "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier for the build you want to get credentials for.

" + "TicketId":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the match backfill ticket status and retrieve match results.

" + }, + "ConfigurationName":{ + "shape":"MatchmakingConfigurationName", + "documentation":"

Name of the matchmaker to use for this request. You can use either the configuration name or ARN value. The ARN of the matchmaker that was used with the original game session is listed in the GameSession object, MatchmakerData property.

" + }, + "GameSessionArn":{ + "shape":"ArnStringModel", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a game session and uniquely identifies it. This is the same as the game session ID.

" + }, + "Players":{ + "shape":"PlayerList", + "documentation":"

Match information on all players that are currently assigned to the game session. This information is used by the matchmaker to find new players and add them to the existing game.

  • PlayerID, PlayerAttributes, Team -\\\\- This information is maintained in the GameSession object, MatchmakerData property, for all players who are currently assigned to the game session. The matchmaker data is in JSON syntax, formatted as a string. For more details, see Match Data.

  • LatencyInMs -\\\\- If the matchmaker uses player latency, include a latency value, in milliseconds, for the Region that the game session is currently in. Do not include latency values for any other Region.

" } }, "documentation":"

Represents the input for a request action.

" }, - "RequestUploadCredentialsOutput":{ + "StartMatchBackfillOutput":{ "type":"structure", "members":{ - "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.

" - }, - "StorageLocation":{ - "shape":"S3Location", - "documentation":"

Amazon S3 path and key, identifying where the game build files are stored.

" + "MatchmakingTicket":{ + "shape":"MatchmakingTicket", + "documentation":"

Ticket representing the backfill matchmaking request. This object includes the information in the request, ticket status, and match results as generated during the matchmaking process.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, - "ResolveAliasInput":{ + "StartMatchmakingInput":{ "type":"structure", - "required":["AliasId"], + "required":[ + "ConfigurationName", + "Players" + ], "members":{ - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for the alias you want to resolve.

" + "TicketId":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of a UUID. Use this identifier to track the matchmaking ticket status and retrieve match results.

" + }, + "ConfigurationName":{ + "shape":"MatchmakingConfigurationName", + "documentation":"

Name of the matchmaking configuration to use for this request. Matchmaking configurations must exist in the same Region as this request. You can use either the configuration name or ARN value.

" + }, + "Players":{ + "shape":"PlayerList", + "documentation":"

Information on each player to be matched. This information must include a player ID, and may contain player attributes and latency data to be used in the matchmaking process. After a successful match, Player objects contain the name of the team the player is assigned to.

" } }, "documentation":"

Represents the input for a request action.

" }, - "ResolveAliasOutput":{ + "StartMatchmakingOutput":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Fleet ID associated with the requested alias.

" + "MatchmakingTicket":{ + "shape":"MatchmakingTicket", + "documentation":"

Ticket representing the matchmaking request. This object include the information included in the request, ticket status, and match results as generated during the matchmaking process.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, - "ResourceCreationLimitPolicy":{ + "StopFleetActionsInput":{ "type":"structure", + "required":[ + "FleetId", + "Actions" + ], "members":{ - "NewGameSessionsPerCreator":{ - "shape":"WholeNumber", - "documentation":"

Maximum number of game sessions an individual can create during the policy period.

" + "FleetId":{ + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to stop actions on. You can use either the fleet ID or ARN value.

" }, - "PolicyPeriodInMinutes":{ - "shape":"WholeNumber", - "documentation":"

Time span used to evaluate the resource creation limit policy.

" + "Actions":{ + "shape":"FleetActionList", + "documentation":"

List of actions to suspend on the fleet.

" } - }, - "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":{ + "StopFleetActionsOutput":{ "type":"structure", "members":{ - "Type":{ - "shape":"RoutingStrategyType", - "documentation":"

Type of routing strategy.

Possible routing types include the following:

  • SIMPLE – The alias resolves to one specific fleet. Use this type when routing to active fleets.

  • TERMINAL – The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.

" - }, - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet.

" - }, - "Message":{ - "shape":"FreeText", - "documentation":"

Message text to be used with a terminal routing strategy.

" + } + }, + "StopGameSessionPlacementInput":{ + "type":"structure", + "required":["PlacementId"], + "members":{ + "PlacementId":{ + "shape":"IdStringModel", + "documentation":"

A unique identifier for a game session placement to cancel.

" } }, - "documentation":"

Routing configuration for a fleet alias.

" + "documentation":"

Represents the input for a request action.

" }, - "RoutingStrategyType":{ - "type":"string", - "enum":[ - "SIMPLE", - "TERMINAL" - ] + "StopGameSessionPlacementOutput":{ + "type":"structure", + "members":{ + "GameSessionPlacement":{ + "shape":"GameSessionPlacement", + "documentation":"

Object that describes the canceled game session placement, with CANCELLED status and an end time stamp.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" }, - "RuntimeConfiguration":{ + "StopMatchmakingInput":{ "type":"structure", + "required":["TicketId"], "members":{ - "ServerProcesses":{ - "shape":"ServerProcessList", - "documentation":"

Collection of server process configurations describing what server processes to run on each instance in a fleet

" + "TicketId":{ + "shape":"MatchmakingIdStringModel", + "documentation":"

A unique identifier for a matchmaking ticket.

" } }, - "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":"

Represents the input for a request action.

" }, - "S3Location":{ + "StopMatchmakingOutput":{ "type":"structure", "members":{ - "Bucket":{ - "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket identifier.

" + } + }, + "StringDoubleMap":{ + "type":"map", + "key":{"shape":"NonZeroAndMaxString"}, + "value":{"shape":"DoubleObject"} + }, + "StringList":{ + "type":"list", + "member":{"shape":"NonZeroAndMaxString"} + }, + "StringModel":{"type":"string"}, + "SuspendGameServerGroupInput":{ + "type":"structure", + "required":[ + "GameServerGroupName", + "SuspendActions" + ], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

The unique identifier of the game server group to stop activity on. Use either the GameServerGroup name or ARN value.

" }, + "SuspendActions":{ + "shape":"GameServerGroupActions", + "documentation":"

The action to suspend for this game server group.

" + } + } + }, + "SuspendGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

An object that describes the game server group resource, with the SuspendedActions property updated to reflect the suspended activity.

" + } + } + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ "Key":{ - "shape":"NonEmptyString", - "documentation":"

Amazon S3 bucket key.

" + "shape":"TagKey", + "documentation":"

The key for a developer-defined key:value pair for tagging an AWS resource.

" }, - "RoleArn":{ - "shape":"NonEmptyString", - "documentation":"

Amazon resource number for the cross-account access role that allows GameLift access to the S3 bucket.

" + "Value":{ + "shape":"TagValue", + "documentation":"

The value for a developer-defined key:value pair for tagging an AWS resource.

" } }, - "documentation":"

Location in Amazon Simple Storage Service (Amazon S3) where a build's files are stored. This location is assigned in response to a CreateBuild call, and is always in the same region as the service used to create the build. For more details see the Amazon S3 documentation.

" + "documentation":"

A label that can be assigned to a GameLift resource.

Learn more

Tagging AWS Resources in the AWS General Reference

AWS Tagging Strategies

Related operations

" }, - "ScalingAdjustmentType":{ + "TagKey":{ "type":"string", - "enum":[ - "ChangeInCapacity", - "ExactCapacity", - "PercentChangeInCapacity" - ] + "max":128, + "min":1 }, - "ScalingPolicy":{ + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ "type":"structure", - "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identity for the fleet associated with this scaling policy.

" - }, - "Name":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a scaling policy. Policy names do not need to be unique.

" - }, - "Status":{ - "shape":"ScalingStatusType", - "documentation":"

Current status of the scaling policy. The scaling policy is only in force when in an ACTIVE status.

  • ACTIVE – The scaling policy is currently in force.

  • UPDATE_REQUESTED – A request to update the scaling policy has been received.

  • UPDATING – A change is being made to the scaling policy.

  • DELETE_REQUESTED – A request to delete the scaling policy has been received.

  • DELETING – The scaling policy is being deleted.

  • DELETED – The scaling policy has been deleted.

  • ERROR – An error occurred in creating the policy. It should be removed and recreated.

" - }, - "ScalingAdjustment":{ - "shape":"Integer", - "documentation":"

Amount of adjustment to make, based on the scaling adjustment type.

" - }, - "ScalingAdjustmentType":{ - "shape":"ScalingAdjustmentType", - "documentation":"

Type of adjustment to make to a fleet's instance count (see FleetCapacity):

  • ChangeInCapacity – add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.

  • ExactCapacity – set the instance count to the scaling adjustment value.

  • PercentChangeInCapacity – increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.

" - }, - "ComparisonOperator":{ - "shape":"ComparisonOperatorType", - "documentation":"

Comparison operator to use when measuring a metric against the threshold value.

" - }, - "Threshold":{ - "shape":"Double", - "documentation":"

Metric value used to trigger a scaling event.

" - }, - "EvaluationPeriods":{ - "shape":"PositiveInteger", - "documentation":"

Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

" + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to assign tags to. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type.

" }, - "MetricName":{ - "shape":"MetricName", - "documentation":"

Name of the GameLift-defined metric that is used to trigger an adjustment.

  • ActivatingGameSessions – number of game sessions in the process of being created (game session status = ACTIVATING).

  • ActiveGameSessions – number of game sessions currently running (game session status = ACTIVE).

  • CurrentPlayerSessions – number of active or reserved player sessions (player session status = ACTIVE or RESERVED).

  • AvailablePlayerSessions – number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).

  • ActiveInstances – number of instances currently running a game session.

  • IdleInstances – number of instances not currently running a game session.

" + "Tags":{ + "shape":"TagList", + "documentation":"

A list of one or more tags to assign to the specified GameLift resource. Tags are developer-defined and structured as key-value pairs. The maximum tag limit may be lower than stated. See Tagging AWS Resources for actual tagging limits.

" } - }, - "documentation":"

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

" + } }, - "ScalingPolicyList":{ - "type":"list", - "member":{"shape":"ScalingPolicy"} + "TagResourceResponse":{ + "type":"structure", + "members":{ + } }, - "ScalingStatusType":{ + "TagValue":{ "type":"string", - "enum":[ - "ACTIVE", - "UPDATE_REQUESTED", - "UPDATING", - "DELETE_REQUESTED", - "DELETING", - "DELETED", - "ERROR" - ] + "max":256, + "min":0 }, - "SearchGameSessionsInput":{ + "TaggingFailedException":{ "type":"structure", "members":{ - "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for a fleet. Each request must reference either a fleet ID or alias ID, but not both.

" - }, - "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Each request must reference either a fleet ID or alias ID, but not both.

" - }, - "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:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Comparator -- Valid comparators are: =, <>, <, >, <=, >=.

  • Value -- Value to be searched for. Values can be numbers, boolean values (true/false) or strings. String values are case sensitive, enclosed in single quotes. Special characters must be escaped. Boolean and string values can only be used with the comparators = and <>. For example, the following filter expression searches on gameSessionName: \"FilterExpression\": \"gameSessionName = 'Matt\\\\'s Awesome Game 1'\".

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:

  • Operand -- Name of a game session attribute. Valid values are gameSessionName, gameSessionId, creationTimeMillis, playerSessionCount, maximumSessions, hasAvailablePlayerSessions.

  • Order -- Valid sort orders are ASC (ascending) and DESC (descending).

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", - "documentation":"

Maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages. The maximum number of results returned is 20, even if this value is not set or is set higher than 20.

" - }, - "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.

" - } + "Message":{"shape":"NonEmptyString"} }, - "documentation":"

Represents the input for a request action.

" + "documentation":"

The requested tagging operation did not succeed. This may be due to invalid tag format or the maximum tag limit may have been exceeded. Resolve the issue before retrying.

", + "exception":true }, - "SearchGameSessionsOutput":{ + "TargetConfiguration":{ "type":"structure", + "required":["TargetValue"], "members":{ - "GameSessions":{ - "shape":"GameSessionList", - "documentation":"

Collection of objects containing game session properties for each session matching the request.

" - }, - "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.

" + "TargetValue":{ + "shape":"Double", + "documentation":"

Desired value to use with a target-based scaling policy. The value must be relevant for whatever metric the scaling policy is using. For example, in a policy using the metric PercentAvailableGameSessions, the target value should be the preferred size of the fleet's buffer (the percent of capacity that should be idle and ready for new game sessions).

" } }, - "documentation":"

Represents the returned data in response to a request action.

" + "documentation":"

Settings for a target-based scaling policy (see ScalingPolicy. A target-based policy tracks a particular fleet metric specifies a target value for the metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so that the metric returns to the target value. The target configuration specifies settings as needed for the target based policy, including the target value.

" }, - "ServerProcess":{ + "TargetTrackingConfiguration":{ "type":"structure", - "required":[ - "LaunchPath", - "ConcurrentExecutions" - ], + "required":["TargetValue"], "members":{ - "LaunchPath":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Location in the game build of the server executable. All game builds are installed on instances at the root C:\\game\\..., so an executable file located at MyGame\\latest\\server.exe has a launch path of \"C:\\game\\MyGame\\latest\\server.exe\".

" - }, - "Parameters":{ - "shape":"NonZeroAndMaxString", - "documentation":"

Optional list of parameters to pass to the server executable on launch.

" - }, - "ConcurrentExecutions":{ - "shape":"PositiveInteger", - "documentation":"

Number of server processes using this configuration to run concurrently on an instance.

" + "TargetValue":{ + "shape":"NonNegativeDouble", + "documentation":"

Desired value to use with a game server group target-based scaling policy.

" } }, - "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"}, - "max":50, - "min":1 - }, - "StringList":{ - "type":"list", - "member":{"shape":"NonZeroAndMaxString"} + "documentation":"

This data type is part of Amazon GameLift FleetIQ with game server groups, which is in preview release and is subject to change.

Settings for a target-based scaling policy applied to Auto Scaling group. These settings are used to create a target-based policy that tracks the GameLift FleetIQ metric \"PercentUtilizedGameServers\" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value.

" }, "TerminalRoutingStrategyException":{ "type":"structure", @@ -2671,25 +6169,55 @@ "documentation":"

The client failed authentication. Clients should not retry such requests.

", "exception":true }, + "UnsupportedRegionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"} + }, + "documentation":"

The requested operation is not supported in the Region specified.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) that is assigned to and uniquely identifies the GameLift resource that you want to remove tags from. GameLift resource ARNs are included in the data object for the resource, which can be retrieved by calling a List or Describe action for the resource type.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of one or more tag keys to remove from the specified GameLift resource. An AWS resource can have only one tag with a specific tag key, so specifying the tag key identifies which tag to remove.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateAliasInput":{ "type":"structure", "required":["AliasId"], "members":{ "AliasId":{ - "shape":"AliasId", - "documentation":"

Unique identifier for a fleet alias. Specify the alias you want to update.

" + "shape":"AliasIdOrArn", + "documentation":"

A unique identifier for the alias that you want to update. You can use either the alias ID or ARN value.

" }, "Name":{ "shape":"NonBlankAndLengthConstraintString", - "documentation":"

Descriptive label associated with an alias. Alias names do not need to be unique.

" + "documentation":"

A descriptive label that is associated with an alias. Alias names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", - "documentation":"

Human-readable description of an alias.

" + "documentation":"

A human-readable description of the alias.

" }, "RoutingStrategy":{ "shape":"RoutingStrategy", - "documentation":"

Object specifying the fleet and routing type to use for the alias.

" + "documentation":"

The routing configuration, including routing type and fleet target, for the alias.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2699,7 +6227,7 @@ "members":{ "Alias":{ "shape":"Alias", - "documentation":"

Object containing the updated alias configuration.

" + "documentation":"

The updated alias resource.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2709,16 +6237,16 @@ "required":["BuildId"], "members":{ "BuildId":{ - "shape":"BuildId", - "documentation":"

Unique identifier of the build you want to update.

" + "shape":"BuildIdOrArn", + "documentation":"

A unique identifier for a build to update. You can use either the build ID or ARN value.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a build. Build names do not need to be unique.

" + "documentation":"

A descriptive label that is associated with a build. Build names do not need to be unique.

" }, "Version":{ "shape":"NonZeroAndMaxString", - "documentation":"

Version associated with this build. Version strings do not need to be unique to a build.

" + "documentation":"

Version information that is associated with a build or script. Version strings do not need to be unique.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2728,7 +6256,7 @@ "members":{ "Build":{ "shape":"Build", - "documentation":"

Object containing the updated build record.

" + "documentation":"

The updated build resource.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2738,12 +6266,12 @@ "required":["FleetId"], "members":{ "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update attribute metadata for.

" + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to update attribute metadata for. You can use either the fleet ID or ARN value.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a fleet. Fleet names do not need to be unique.

" + "documentation":"

A descriptive label that is associated with a fleet. Fleet names do not need to be unique.

" }, "Description":{ "shape":"NonZeroAndMaxString", @@ -2751,11 +6279,15 @@ }, "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.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "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.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" }, "ResourceCreationLimitPolicy":{ "shape":"ResourceCreationLimitPolicy", "documentation":"

Policy that limits the number of game sessions an individual player can create over a span of time.

" + }, + "MetricGroups":{ + "shape":"MetricGroupList", + "documentation":"

Names of metric groups to include this fleet in. Amazon CloudWatch uses a fleet metric group is to aggregate metrics from multiple fleets. Use an existing metric group name to add this fleet to the group. Or use a new name to create a new metric group. A fleet can only be included in one metric group at a time.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2765,7 +6297,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

A unique identifier for a fleet that was updated. Use either the fleet ID or ARN value.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2775,8 +6307,8 @@ "required":["FleetId"], "members":{ "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update capacity for.

" + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to update capacity for. You can use either the fleet ID or ARN value.

" }, "DesiredInstances":{ "shape":"WholeNumber", @@ -2784,11 +6316,11 @@ }, "MinSize":{ "shape":"WholeNumber", - "documentation":"

Minimum value allowed for the fleet's instance count. Default if not set is 0.

" + "documentation":"

The minimum value allowed for the fleet's instance count. Default if not set is 0.

" }, "MaxSize":{ "shape":"WholeNumber", - "documentation":"

Maximum value allowed for the fleet's instance count. Default if not set is 1.

" + "documentation":"

The maximum value allowed for the fleet's instance count. Default if not set is 1.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2798,7 +6330,7 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

A unique identifier for a fleet that was updated.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2808,16 +6340,16 @@ "required":["FleetId"], "members":{ "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier for the fleet you want to update port settings for.

" + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to update port settings for. You can use either the fleet ID or ARN value.

" }, "InboundPermissionAuthorizations":{ "shape":"IpPermissionsList", - "documentation":"

Collection of port settings to be added to the fleet record.

" + "documentation":"

A collection of port settings to be added to the fleet resource.

" }, "InboundPermissionRevocations":{ "shape":"IpPermissionsList", - "documentation":"

Collection of port settings to be removed from the fleet record.

" + "documentation":"

A collection of port settings to be removed from the fleet resource.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2827,26 +6359,103 @@ "members":{ "FleetId":{ "shape":"FleetId", - "documentation":"

Unique identifier for the updated fleet.

" + "documentation":"

A unique identifier for a fleet that was updated.

" } }, "documentation":"

Represents the returned data in response to a request action.

" }, + "UpdateGameServerGroupInput":{ + "type":"structure", + "required":["GameServerGroupName"], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

The unique identifier of the game server group to update. Use either the GameServerGroup name or ARN value.

" + }, + "RoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling groups. The submitted role is validated to ensure that it contains the necessary permissions for game server groups.

" + }, + "InstanceDefinitions":{ + "shape":"InstanceDefinitions", + "documentation":"

An updated list of EC2 instance types to use when creating instances in the group. The instance definition must specify instance types that are supported by GameLift FleetIQ, and must include at least two instance types. This updated list replaces the entire current list of instance definitions for the game server group. For more information on instance types, see EC2 Instance Types in the Amazon EC2 User Guide..

" + }, + "GameServerProtectionPolicy":{ + "shape":"GameServerProtectionPolicy", + "documentation":"

A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running may by terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running. An exception to this is Spot Instances, which may be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

" + }, + "BalancingStrategy":{ + "shape":"BalancingStrategy", + "documentation":"

The fallback balancing method to use for the game server group when Spot instances in a Region become unavailable or are not viable for game hosting. Once triggered, this method remains active until Spot instances can once again be used. Method options include:

  • SPOT_ONLY -- If Spot instances are unavailable, the game server group provides no hosting capacity. No new instances are started, and the existing nonviable Spot instances are terminated (once current gameplay ends) and not replaced.

  • SPOT_PREFERRED -- If Spot instances are unavailable, the game server group continues to provide hosting capacity by using On-Demand instances. Existing nonviable Spot instances are terminated (once current gameplay ends) and replaced with new On-Demand instances.

" + } + } + }, + "UpdateGameServerGroupOutput":{ + "type":"structure", + "members":{ + "GameServerGroup":{ + "shape":"GameServerGroup", + "documentation":"

An object that describes the game server group resource with updated properties.

" + } + } + }, + "UpdateGameServerInput":{ + "type":"structure", + "required":[ + "GameServerGroupName", + "GameServerId" + ], + "members":{ + "GameServerGroupName":{ + "shape":"GameServerGroupNameOrArn", + "documentation":"

An identifier for the game server group where the game server is running. Use either the GameServerGroup name or ARN value.

" + }, + "GameServerId":{ + "shape":"GameServerId", + "documentation":"

The identifier for the game server to be updated.

" + }, + "GameServerData":{ + "shape":"GameServerData", + "documentation":"

A set of custom game server properties, formatted as a single string value. This data is passed to a game client or service when it requests information on a game servers using DescribeGameServer or ClaimGameServer.

" + }, + "CustomSortKey":{ + "shape":"GameServerSortKey", + "documentation":"

A game server tag that can be used to request sorted lists of game servers using ListGameServers. Custom sort keys are developer-defined based on how you want to organize the retrieved game server information.

" + }, + "UtilizationStatus":{ + "shape":"GameServerUtilizationStatus", + "documentation":"

Indicates whether the game server is available or is currently hosting gameplay.

" + }, + "HealthCheck":{ + "shape":"GameServerHealthCheck", + "documentation":"

Indicates health status of the game server. An update that explicitly includes this parameter updates the game server's LastHealthCheckTime time stamp.

" + } + } + }, + "UpdateGameServerOutput":{ + "type":"structure", + "members":{ + "GameServer":{ + "shape":"GameServer", + "documentation":"

Object that describes the newly updated game server resource.

" + } + } + }, "UpdateGameSessionInput":{ "type":"structure", "required":["GameSessionId"], "members":{ "GameSessionId":{ "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.

" + "documentation":"

A unique identifier for the game session to update.

" }, "MaximumPlayerSessionCount":{ "shape":"WholeNumber", - "documentation":"

Maximum number of players that can be simultaneously connected to the game session.

" + "documentation":"

The maximum number of players that can be connected simultaneously to the game session.

" }, "Name":{ "shape":"NonZeroAndMaxString", - "documentation":"

Descriptive label associated with a game session. Session names do not need to be unique.

" + "documentation":"

A descriptive label that is associated with a game session. Session names do not need to be unique.

" }, "PlayerSessionCreationPolicy":{ "shape":"PlayerSessionCreationPolicy", @@ -2854,7 +6463,7 @@ }, "ProtectionPolicy":{ "shape":"ProtectionPolicy", - "documentation":"

Game session protection policy to apply to this game session only.

  • NoProtection – The game session can be terminated during a scale-down event.

  • FullProtection – If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" + "documentation":"

Game session protection policy to apply to this game session only.

  • NoProtection -- The game session can be terminated during a scale-down event.

  • FullProtection -- If the game session is in an ACTIVE status, it cannot be terminated during a scale-down event.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2864,7 +6473,109 @@ "members":{ "GameSession":{ "shape":"GameSession", - "documentation":"

Object containing the updated game session metadata.

" + "documentation":"

The updated game session metadata.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "UpdateGameSessionQueueInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"GameSessionQueueNameOrArn", + "documentation":"

A descriptive label that is associated with game session queue. Queue names must be unique within each Region. You can use either the queue ID or ARN value.

" + }, + "TimeoutInSeconds":{ + "shape":"WholeNumber", + "documentation":"

The maximum time, in seconds, that a new game session placement request remains in the queue. When a request exceeds this time, the game session placement changes to a TIMED_OUT status.

" + }, + "PlayerLatencyPolicies":{ + "shape":"PlayerLatencyPolicyList", + "documentation":"

A collection of latency policies to apply when processing game sessions placement requests with player latency information. Multiple policies are evaluated in order of the maximum latency value, starting with the lowest latency values. With just one policy, the policy is enforced at the start of the game session placement for the duration period. With multiple policies, each policy is enforced consecutively for its duration period. For example, a queue might enforce a 60-second policy followed by a 120-second policy, and then no policy for the remainder of the placement. When updating policies, provide a complete collection of policies.

" + }, + "Destinations":{ + "shape":"GameSessionQueueDestinationList", + "documentation":"

A list of fleets that can be used to fulfill game session placement requests in the queue. Fleets are identified by either a fleet ARN or a fleet alias ARN. Destinations are listed in default preference order. When updating this list, provide a complete list of destinations.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "UpdateGameSessionQueueOutput":{ + "type":"structure", + "members":{ + "GameSessionQueue":{ + "shape":"GameSessionQueue", + "documentation":"

An object that describes the newly updated game session queue.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "UpdateMatchmakingConfigurationInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"MatchmakingConfigurationName", + "documentation":"

A unique identifier for a matchmaking configuration to update. You can use either the configuration name or ARN value.

" + }, + "Description":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with matchmaking configuration.

" + }, + "GameSessionQueueArns":{ + "shape":"QueueArnsList", + "documentation":"

Amazon Resource Name (ARN) that is assigned to a GameLift game session queue resource and uniquely identifies it. ARNs are unique across all Regions. These queues are used when placing game sessions for matches that are created with this matchmaking configuration. Queues can be located in any Region.

" + }, + "RequestTimeoutSeconds":{ + "shape":"MatchmakingRequestTimeoutInteger", + "documentation":"

The maximum duration, in seconds, that a matchmaking ticket can remain in process before timing out. Requests that fail due to timing out can be resubmitted as needed.

" + }, + "AcceptanceTimeoutSeconds":{ + "shape":"MatchmakingAcceptanceTimeoutInteger", + "documentation":"

The length of time (in seconds) to wait for players to accept a proposed match. If any player rejects the match or fails to accept before the timeout, the ticket continues to look for an acceptable match.

" + }, + "AcceptanceRequired":{ + "shape":"BooleanModel", + "documentation":"

A flag that indicates whether a match that was created with this configuration must be accepted by the matched players. To require acceptance, set to TRUE.

" + }, + "RuleSetName":{ + "shape":"MatchmakingRuleSetName", + "documentation":"

A unique identifier for a matchmaking rule set to use with this configuration. You can use either the rule set name or ARN value. A matchmaking configuration can only use rule sets that are defined in the same Region.

" + }, + "NotificationTarget":{ + "shape":"SnsArnStringModel", + "documentation":"

An SNS topic ARN that is set up to receive matchmaking notifications. See Setting up Notifications for Matchmaking for more information.

" + }, + "AdditionalPlayerCount":{ + "shape":"WholeNumber", + "documentation":"

The number of player slots in a match to keep open for future players. For example, assume that the configuration's rule set specifies a match for a single 12-person team. If the additional player count is set to 2, only 10 players are initially selected for the match.

" + }, + "CustomEventData":{ + "shape":"CustomEventData", + "documentation":"

Information to add to all events related to the matchmaking configuration.

" + }, + "GameProperties":{ + "shape":"GamePropertyList", + "documentation":"

A set of custom properties for a game session, formatted as key-value pairs. These properties are passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "GameSessionData":{ + "shape":"GameSessionData", + "documentation":"

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the GameSession object with a request to start a new game session (see Start a Game Session). This information is added to the new GameSession object that is created for a successful match.

" + }, + "BackfillMode":{ + "shape":"BackfillMode", + "documentation":"

The method that is used to backfill game sessions created with this matchmaking configuration. Specify MANUAL when your game manages backfill requests manually or does not use the match backfill feature. Specify AUTOMATIC to have GameLift create a StartMatchBackfill request whenever a game session has one or more open slots. Learn more about manual and automatic backfill in Backfill Existing Games with FlexMatch.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "UpdateMatchmakingConfigurationOutput":{ + "type":"structure", + "members":{ + "Configuration":{ + "shape":"MatchmakingConfiguration", + "documentation":"

The updated matchmaking configuration.

" } }, "documentation":"

Represents the returned data in response to a request action.

" @@ -2877,12 +6588,12 @@ ], "members":{ "FleetId":{ - "shape":"FleetId", - "documentation":"

Unique identifier of the fleet to update runtime configuration for.

" + "shape":"FleetIdOrArn", + "documentation":"

A unique identifier for a fleet to update runtime configuration for. You can use either the fleet ID or ARN value.

" }, "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.

" + "documentation":"

Instructions for launching server processes on each instance in the fleet. Server processes run either a custom game build executable or a Realtime Servers script. The runtime configuration lists the types of server processes to run on an instance and includes the following configuration settings: the server executable or launch script file, launch parameters, and the number of processes to run concurrently on each instance. A CreateFleet request must include a runtime configuration with at least one server process configuration.

" } }, "documentation":"

Represents the input for a request action.

" @@ -2897,10 +6608,170 @@ }, "documentation":"

Represents the returned data in response to a request action.

" }, + "UpdateScriptInput":{ + "type":"structure", + "required":["ScriptId"], + "members":{ + "ScriptId":{ + "shape":"ScriptIdOrArn", + "documentation":"

A unique identifier for a Realtime script to update. You can use either the script ID or ARN value.

" + }, + "Name":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A descriptive label that is associated with a script. Script names do not need to be unique.

" + }, + "Version":{ + "shape":"NonZeroAndMaxString", + "documentation":"

The version that is associated with a build or script. Version strings do not need to be unique.

" + }, + "StorageLocation":{ + "shape":"S3Location", + "documentation":"

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must be in the same Region where you want to create a new script. By default, Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning turned on, you can use the ObjectVersion parameter to specify an earlier version.

" + }, + "ZipFile":{ + "shape":"ZipBlob", + "documentation":"

A data object containing your Realtime scripts and dependencies as a zip file. The zip file can have one or multiple files. Maximum size of a zip file is 5 MB.

When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" + } + } + }, + "UpdateScriptOutput":{ + "type":"structure", + "members":{ + "Script":{ + "shape":"Script", + "documentation":"

The newly created script record with a unique script ID. The new script's storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket under your account, the storage location reflects the information that was provided in the CreateScript request; (2) If the script file was uploaded from a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift service.

" + } + } + }, + "ValidateMatchmakingRuleSetInput":{ + "type":"structure", + "required":["RuleSetBody"], + "members":{ + "RuleSetBody":{ + "shape":"RuleSetBody", + "documentation":"

A collection of matchmaking rules to validate, formatted as a JSON string.

" + } + }, + "documentation":"

Represents the input for a request action.

" + }, + "ValidateMatchmakingRuleSetOutput":{ + "type":"structure", + "members":{ + "Valid":{ + "shape":"BooleanModel", + "documentation":"

A response indicating whether the rule set is valid.

" + } + }, + "documentation":"

Represents the returned data in response to a request action.

" + }, + "VpcPeeringAuthorization":{ + "type":"structure", + "members":{ + "GameLiftAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the AWS account that you use to manage your Amazon GameLift fleet. You can find your Account ID in the AWS Management Console under account settings.

" + }, + "PeerVpcAwsAccountId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this authorization was issued. Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + }, + "ExpirationTime":{ + "shape":"Timestamp", + "documentation":"

Time stamp indicating when this authorization expires (24 hours after issuance). Format is a number expressed in Unix time as milliseconds (for example \"1469498468.057\").

" + } + }, + "documentation":"

Represents an authorization for a VPC peering connection between the VPC for an Amazon GameLift fleet and another VPC on an account you have access to. This authorization must exist and be valid for the peering connection to be established. Authorizations are valid for 24 hours after they are issued.

" + }, + "VpcPeeringAuthorizationList":{ + "type":"list", + "member":{"shape":"VpcPeeringAuthorization"} + }, + "VpcPeeringConnection":{ + "type":"structure", + "members":{ + "FleetId":{ + "shape":"FleetId", + "documentation":"

A unique identifier for a fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

" + }, + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

The Amazon Resource Name (ARN) associated with the GameLift fleet resource for this connection.

" + }, + "IpV4CidrBlock":{ + "shape":"NonZeroAndMaxString", + "documentation":"

CIDR block of IPv4 addresses assigned to the VPC peering connection for the GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with it; these blocks cannot overlap or the peering connection cannot be created.

" + }, + "VpcPeeringConnectionId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier that is automatically assigned to the connection record. This ID is referenced in VPC peering connection events, and is used when deleting a connection with DeleteVpcPeeringConnection.

" + }, + "Status":{ + "shape":"VpcPeeringConnectionStatus", + "documentation":"

The status information about the connection. Status indicates if a connection is pending, successful, or failed.

" + }, + "PeerVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for a VPC with resources to be accessed by your Amazon GameLift fleet. The VPC must be in the same Region where your fleet is deployed. Look up a VPC ID using the VPC Dashboard in the AWS Management Console. Learn more about VPC peering in VPC Peering with Amazon GameLift Fleets.

" + }, + "GameLiftVpcId":{ + "shape":"NonZeroAndMaxString", + "documentation":"

A unique identifier for the VPC that contains the Amazon GameLift fleet for this connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.

" + } + }, + "documentation":"

Represents a peering connection between a VPC on one of your AWS accounts and the VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a pending connection that has not yet been established.

" + }, + "VpcPeeringConnectionList":{ + "type":"list", + "member":{"shape":"VpcPeeringConnection"} + }, + "VpcPeeringConnectionStatus":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Code indicating the status of a VPC peering connection.

" + }, + "Message":{ + "shape":"NonZeroAndMaxString", + "documentation":"

Additional messaging associated with the connection status.

" + } + }, + "documentation":"

Represents status information for a VPC peering connection. Status is associated with a VpcPeeringConnection object. Status codes and messages are provided from EC2 (see VpcPeeringConnectionStateReason). Connection status information is also communicated as a fleet Event.

" + }, + "VpcSubnet":{ + "type":"string", + "max":15, + "min":15, + "pattern":"^subnet-[0-9a-z]{8}$" + }, + "VpcSubnets":{ + "type":"list", + "member":{"shape":"VpcSubnet"}, + "max":20, + "min":1 + }, + "WeightedCapacity":{ + "type":"string", + "max":3, + "min":1, + "pattern":"^[\\u0031-\\u0039][\\u0030-\\u0039]{0,2}$" + }, "WholeNumber":{ "type":"integer", "min":0 + }, + "ZipBlob":{ + "type":"blob", + "max":5000000 } }, - "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.

" + "documentation":"Amazon GameLift Service

Amazon GameLift provides a range of multiplayer game hosting solutions. As a fully managed service, GameLift helps you:

  • Set up EC2-based computing resources and use GameLift FleetIQ to and deploy your game servers on low-cost, reliable Spot instances.

  • Track game server availability and route players into game sessions to minimize latency.

  • Automatically scale your resources to meet player demand and manage costs

  • Optionally add FlexMatch matchmaking.

With GameLift as a managed service, you have the option to deploy your custom game server or use Amazon GameLift Realtime Servers to quickly stand up lightweight game servers for your game. Realtime Servers provides an efficient game server framework with core Amazon GameLift infrastructure already built in.

Now in Public Preview:

Use GameLift FleetIQ as a standalone feature with EC2 instances and Auto Scaling groups. GameLift FleetIQ provides optimizations that make low-cost Spot instances viable for game hosting. This extension of GameLift FleetIQ gives you access to these optimizations while managing your EC2 instances and Auto Scaling groups within your own AWS account.

Get Amazon GameLift Tools and Resources

This reference guide describes the low-level service API for Amazon GameLift and provides links to language-specific SDK reference topics. See also Amazon GameLift Tools and Resources.

API Summary

The Amazon GameLift service API includes two key sets of actions:

  • Manage game sessions and player access -- Integrate this functionality into game client services in order to create new game sessions, retrieve information on existing game sessions; reserve a player slot in a game session, request matchmaking, etc.

  • Configure and manage game server resources -- Manage your Amazon GameLift hosting resources, including builds, scripts, fleets, queues, and aliases. Set up matchmakers, configure auto-scaling, retrieve game logs, and get hosting and game metrics.

Task-based list of API actions

" } diff -Nru python-botocore-1.4.70/botocore/data/glacier/2012-06-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/examples-1.json --- python-botocore-1.4.70/botocore/data/glacier/2012-06-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,806 @@ +{ + "version": "1.0", + "examples": { + "AbortMultipartUpload": [ + { + "input": { + "accountId": "-", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes an in-progress multipart upload to a vault named my-vault:", + "id": "f3d907f6-e71c-420c-8f71-502346a2c48a", + "title": "To abort a multipart upload identified by the upload ID" + } + ], + "AbortVaultLock": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example aborts the vault locking process if the vault lock is not in the Locked state for the vault named examplevault.", + "id": "to-abort-a-vault-lock-1481839357947", + "title": "To abort a vault lock" + } + ], + "AddTagsToVault": [ + { + "input": { + "Tags": { + "examplekey1": "examplevalue1", + "examplekey2": "examplevalue2" + }, + "accountId": "-", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example adds two tags to a my-vault.", + "id": "add-tags-to-vault-post-tags-add-1481663457694", + "title": "To add tags to a vault" + } + ], + "CompleteMultipartUpload": [ + { + "input": { + "accountId": "-", + "archiveSize": "3145728", + "checksum": "9628195fcdbcbbe76cdde456d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "my-vault" + }, + "output": { + "archiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", + "checksum": "9628195fcdbcbbe76cdde456d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "location": "/111122223333/vaults/my-vault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example completes a multipart upload for a 3 MiB archive.", + "id": "272aa0b8-e44c-4a64-add2-ad905a37984d", + "title": "To complete a multipart upload" + } + ], + "CompleteVaultLock": [ + { + "input": { + "accountId": "-", + "lockId": "AE863rKkWZU53SLW5be4DUcW", + "vaultName": "example-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state.", + "id": "to-complete-a-vault-lock-1481839721312", + "title": "To complete a vault lock" + } + ], + "CreateVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "location": "/111122223333/vaults/my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new vault named my-vault.", + "id": "1dc0313d-ace1-4e6c-9d13-1ec7813b14b7", + "title": "To create a new vault" + } + ], + "DeleteArchive": [ + { + "input": { + "accountId": "-", + "archiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the archive specified by the archive ID.", + "id": "delete-archive-1481667809463", + "title": "To delete an archive" + } + ], + "DeleteVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes a vault named my-vault:", + "id": "7f7f000b-4bdb-40d2-91e6-7c902f60f60f", + "title": "To delete a vault" + } + ], + "DeleteVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the access policy associated with the vault named examplevault.", + "id": "to-delete-the-vault-access-policy-1481840424677", + "title": "To delete the vault access policy" + } + ], + "DeleteVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example deletes the notification configuration set for the vault named examplevault.", + "id": "to-delete-the-notification-configuration-set-for-a-vault-1481840646090", + "title": "To delete the notification configuration set for a vault" + } + ], + "DescribeJob": [ + { + "input": { + "accountId": "-", + "jobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4Cn", + "vaultName": "my-vault" + }, + "output": { + "Action": "InventoryRetrieval", + "Completed": false, + "CreationDate": "2015-07-17T20:23:41.616Z", + "InventoryRetrievalParameters": { + "Format": "JSON" + }, + "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example returns information about the previously initiated job specified by the job ID.", + "id": "to-get-information-about-a-job-you-previously-initiated-1481840928592", + "title": "To get information about a previously initiated job" + } + ], + "DescribeVault": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "CreationDate": "2016-09-23T19:27:18.665Z", + "NumberOfArchives": 0, + "SizeInBytes": 0, + "VaultARN": "arn:aws:glacier:us-west-2:111122223333:vaults/my-vault", + "VaultName": "my-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves data about a vault named my-vault.", + "id": "3c1c6e9d-f5a2-427a-aa6a-f439eacfc05f", + "title": "To retrieve information about a vault" + } + ], + "GetDataRetrievalPolicy": [ + { + "input": { + "accountId": "-" + }, + "output": { + "Policy": { + "Rules": [ + { + "BytesPerHour": 10737418240, + "Strategy": "BytesPerHour" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example returns the current data retrieval policy for the account.", + "id": "to-get-the-current-data-retrieval-policy-for-the-account-1481851580439", + "title": "To get the current data retrieval policy for an account" + } + ], + "GetJobOutput": [ + { + "input": { + "accountId": "-", + "jobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "range": "", + "vaultName": "my-vaul" + }, + "output": { + "acceptRanges": "bytes", + "body": "inventory-data", + "contentType": "application/json", + "status": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example downloads the output of a previously initiated inventory retrieval job that is identified by the job ID.", + "id": "to-get-the-output-of-a-previously-initiated-job-1481848550859", + "title": "To get the output of a previously initiated job" + } + ], + "GetVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "vaultName": "example-vault" + }, + "output": { + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-owner-access-rights\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\"}]}" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the access-policy set on the vault named example-vault.", + "id": "to--get-the-access-policy-set-on-the-vault-1481936004590", + "title": "To get the access-policy set on the vault" + } + ], + "GetVaultLock": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "CreationDate": "exampledate", + "ExpirationDate": "exampledate", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}", + "State": "InProgress" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the attributes from the lock-policy subresource set on the vault named examplevault.", + "id": "to-retrieve-vault-lock-policy-related-attributes-that-are-set-on-a-vault-1481851363097", + "title": "To retrieve vault lock-policy related attributes that are set on a vault" + } + ], + "GetVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "vaultNotificationConfig": { + "Events": [ + "InventoryRetrievalCompleted", + "ArchiveRetrievalCompleted" + ], + "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example retrieves the notification-configuration for the vault named my-vault.", + "id": "to-get-the-notification-configuration-for-the-specified-vault-1481918746677", + "title": "To get the notification-configuration for the specified vault" + } + ], + "InitiateJob": [ + { + "input": { + "accountId": "-", + "jobParameters": { + "Description": "My inventory job", + "Format": "CSV", + "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-InventoryRetrieval-topic-Example", + "Type": "inventory-retrieval" + }, + "vaultName": "examplevault" + }, + "output": { + "jobId": " HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID", + "location": "/111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates an inventory-retrieval job for the vault named examplevault.", + "id": "to-initiate-an-inventory-retrieval-job-1482186883826", + "title": "To initiate an inventory-retrieval job" + } + ], + "InitiateMultipartUpload": [ + { + "input": { + "accountId": "-", + "partSize": "1048576", + "vaultName": "my-vault" + }, + "output": { + "location": "/111122223333/vaults/my-vault/multipart-uploads/19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates a multipart upload to a vault named my-vault with a part size of 1 MiB (1024 x 1024 bytes) per file.", + "id": "72f2db19-3d93-4c74-b2ed-38703baacf49", + "title": "To initiate a multipart upload" + } + ], + "InitiateVaultLock": [ + { + "input": { + "accountId": "-", + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}" + }, + "vaultName": "my-vault" + }, + "output": { + "lockId": "AE863rKkWZU53SLW5be4DUcW" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example initiates the vault locking process for the vault named my-vault.", + "id": "to-initiate-the-vault-locking-process-1481919693394", + "title": "To initiate the vault locking process" + } + ], + "ListJobs": [ + { + "input": { + "accountId": "-", + "vaultName": "my-vault" + }, + "output": { + "JobList": [ + { + "Action": "ArchiveRetrieval", + "ArchiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw", + "ArchiveSHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "ArchiveSizeInBytes": 3145728, + "Completed": false, + "CreationDate": "2015-07-17T21:16:13.840Z", + "JobDescription": "Retrieve archive on 2015-07-17", + "JobId": "l7IL5-EkXyEY9Ws95fClzIbk2O5uLYaFdAYOi-azsX_Z8V6NH4yERHzars8wTKYQMX6nBDI9cMNHzyZJO59-8N9aHWav", + "RetrievalByteRange": "0-3145727", + "SHA256TreeHash": "9628195fcdbcbbe76cdde932d4646fa7de5f219fb39823836d81f0cc0e18aa67", + "SNSTopic": "arn:aws:sns:us-west-2:0123456789012:my-vault", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + }, + { + "Action": "InventoryRetrieval", + "Completed": false, + "CreationDate": "2015-07-17T20:23:41.616Z", + "InventoryRetrievalParameters": { + "Format": "JSON" + }, + "JobId": "zbxcm3Z_3z5UkoroF7SuZKrxgGoDc3RloGduS7Eg-RO47Yc6FxsdGBgf_Q2DK5Ejh18CnTS5XW4_XqlNHS61dsO4CnMW", + "StatusCode": "InProgress", + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists jobs for the vault named my-vault.", + "id": "to-list-jobs-for-a-vault-1481920530537", + "title": "To list jobs for a vault" + } + ], + "ListMultipartUploads": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "Marker": "null", + "UploadsList": [ + { + "ArchiveDescription": "archive 1", + "CreationDate": "2012-03-19T23:20:59.130Z", + "MultipartUploadId": "xsQdFIRsfJr20CW2AbZBKpRZAFTZSJIMtL2hYf8mvp8dM0m4RUzlaqoEye6g3h3ecqB_zqwB7zLDMeSWhwo65re4C4Ev", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + }, + { + "ArchiveDescription": "archive 2", + "CreationDate": "2012-04-01T15:00:00.000Z", + "MultipartUploadId": "nPyGOnyFcx67qqX7E-0tSGiRi88hHMOwOxR-_jNyM6RjVMFfV29lFqZ3rNsSaWBugg6OP92pRtufeHdQH7ClIpSF6uJc", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + }, + { + "ArchiveDescription": "archive 3", + "CreationDate": "2012-03-20T17:03:43.221Z", + "MultipartUploadId": "qt-RBst_7yO8gVIonIBsAxr2t-db0pE4s8MNeGjKjGdNpuU-cdSAcqG62guwV9r5jh5mLyFPzFEitTpNE7iQfHiu1XoV", + "PartSizeInBytes": 4194304, + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the in-progress multipart uploads for the vault named examplevault.", + "id": "to-list-all-the-in-progress-multipart-uploads-for-a-vault-1481935250590", + "title": "To list all the in-progress multipart uploads for a vault" + } + ], + "ListParts": [ + { + "input": { + "accountId": "-", + "uploadId": "OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE", + "vaultName": "examplevault" + }, + "output": { + "ArchiveDescription": "archive description", + "CreationDate": "2012-03-20T17:03:43.221Z", + "Marker": "null", + "MultipartUploadId": "OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE", + "PartSizeInBytes": 4194304, + "Parts": [ + { + "RangeInBytes": "0-4194303", + "SHA256TreeHash": "01d34dabf7be316472c93b1ef80721f5d4" + }, + { + "RangeInBytes": "4194304-8388607", + "SHA256TreeHash": "0195875365afda349fc21c84c099987164" + } + ], + "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/demo1-vault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the parts of a multipart upload.", + "id": "to-list-the-parts-of-an-archive-that-have-been-uploaded-in-a-multipart-upload-1481921767590", + "title": "To list the parts of an archive that have been uploaded in a multipart upload" + } + ], + "ListProvisionedCapacity": [ + { + "input": { + "accountId": "-" + }, + "output": { + "ProvisionedCapacityList": [ + { + "CapacityId": "zSaq7NzHFQDANTfQkDen4V7z", + "ExpirationDate": "2016-12-12T00:00:00.000Z", + "StartDate": "2016-11-11T20:11:51.095Z" + }, + { + "CapacityId": "yXaq7NzHFQNADTfQkDen4V7z", + "ExpirationDate": "2017-01-15T00:00:00.000Z", + "StartDate": "2016-12-13T20:11:51.095Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists the provisioned capacity units for an account.", + "id": "to-list-the-provisioned-capacity-units-for-an-account-1481923656130", + "title": "To list the provisioned capacity units for an account" + } + ], + "ListTagsForVault": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault" + }, + "output": { + "Tags": { + "date": "july2015", + "id": "1234" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all the tags attached to the vault examplevault.", + "id": "list-tags-for-vault-1481755839720", + "title": "To list the tags for a vault" + } + ], + "ListVaults": [ + { + "input": { + "accountId": "-", + "limit": "", + "marker": "" + }, + "output": { + "VaultList": [ + { + "CreationDate": "2015-04-06T21:23:45.708Z", + "LastInventoryDate": "2015-04-07T00:26:19.028Z", + "NumberOfArchives": 1, + "SizeInBytes": 3178496, + "VaultARN": "arn:aws:glacier:us-west-2:0123456789012:vaults/my-vault", + "VaultName": "my-vault" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example lists all vaults owned by the specified AWS account.", + "id": "list-vaults-1481753006990", + "title": "To list all vaults owned by the calling user's account" + } + ], + "PurchaseProvisionedCapacity": [ + { + "input": { + "accountId": "-" + }, + "output": { + "capacityId": "zSaq7NzHFQDANTfQkDen4V7z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example purchases provisioned capacity unit for an AWS account.", + "id": "to-purchases-a-provisioned-capacity-unit-for-an-aws-account-1481927446662", + "title": "To purchases a provisioned capacity unit for an AWS account" + } + ], + "RemoveTagsFromVault": [ + { + "input": { + "TagKeys": [ + "examplekey1", + "examplekey2" + ], + "accountId": "-", + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example removes two tags from the vault named examplevault.", + "id": "remove-tags-from-vault-1481754998801", + "title": "To remove tags from a vault" + } + ], + "SetDataRetrievalPolicy": [ + { + "input": { + "Policy": { + "Rules": [ + { + "BytesPerHour": 10737418240, + "Strategy": "BytesPerHour" + } + ] + }, + "accountId": "-" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example sets and then enacts a data retrieval policy.", + "id": "to-set-and-then-enact-a-data-retrieval-policy--1481928352408", + "title": "To set and then enact a data retrieval policy " + } + ], + "SetVaultAccessPolicy": [ + { + "input": { + "accountId": "-", + "policy": { + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-owner-access-rights\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\"}]}" + }, + "vaultName": "examplevault" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example configures an access policy for the vault named examplevault.", + "id": "to--set-the-access-policy-on-a-vault-1482185872517", + "title": "To set the access-policy on a vault" + } + ], + "SetVaultNotifications": [ + { + "input": { + "accountId": "-", + "vaultName": "examplevault", + "vaultNotificationConfig": { + "Events": [ + "ArchiveRetrievalCompleted", + "InventoryRetrievalCompleted" + ], + "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example sets the examplevault notification configuration.", + "id": "to-configure-a-vault-to-post-a-message-to-an-amazon-simple-notification-service-amazon-sns-topic-when-jobs-complete-1482186397475", + "title": "To configure a vault to post a message to an Amazon SNS topic when jobs complete" + } + ], + "UploadArchive": [ + { + "input": { + "accountId": "-", + "archiveDescription": "", + "body": "example-data-to-upload", + "checksum": "", + "vaultName": "my-vault" + }, + "output": { + "archiveId": "kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw", + "checksum": "969fb39823836d81f0cc028195fcdbcbbe76cdde932d4646fa7de5f21e18aa67", + "location": "/0123456789012/vaults/my-vault/archives/kKB7ymWJVpPSwhGP6ycSOAekp9ZYe_--zM_mw6k76ZFGEIWQX-ybtRDvc2VkPSDtfKmQrj0IRQLSGsNuDp-AJVlu2ccmDSyDUmZwKbwbpAdGATGDiB3hHO0bjbGehXTcApVud_wyDw" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example adds an archive to a vault.", + "id": "upload-archive-1481668510494", + "title": "To upload an archive" + } + ], + "UploadMultipartPart": [ + { + "input": { + "accountId": "-", + "body": "part1", + "checksum": "c06f7cd4baacb087002a99a5f48bf953", + "range": "bytes 0-1048575/*", + "uploadId": "19gaRezEXAMPLES6Ry5YYdqthHOC_kGRCT03L9yetr220UmPtBYKk-OssZtLqyFu7sY1_lR7vgFuJV6NtcV5zpsJ", + "vaultName": "examplevault" + }, + "output": { + "checksum": "c06f7cd4baacb087002a99a5f48bf953" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The example uploads the first 1 MiB (1024 x 1024 bytes) part of an archive.", + "id": "to-upload-the-first-part-of-an-archive-1481835899519", + "title": "To upload the first part of an archive" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/glacier/2012-06-01/service-2.json python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/service-2.json --- python-botocore-1.4.70/botocore/data/glacier/2012-06-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -4,11 +4,12 @@ "apiVersion":"2012-06-01", "checksumFormat":"sha256", "endpointPrefix":"glacier", + "protocol":"rest-json", "serviceFullName":"Amazon Glacier", + "serviceId":"Glacier", "signatureVersion":"v4", - "protocol":"rest-json" + "uid":"glacier-2012-06-01" }, - "documentation":"

Amazon Glacier is a storage solution for \"cold data.\"

Amazon Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Amazon Glacier, customers can store their data cost effectively for months, years, or decades. Amazon Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations.

Amazon Glacier is a great storage choice when low storage cost is paramount, your data is rarely retrieved, and retrieval latency of several hours is acceptable. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, go to Amazon Simple Storage Service (Amazon S3).

You can store any kind of data in any format. There is no maximum limit on the total amount of data you can store in Amazon Glacier.

If you are a first-time user of Amazon Glacier, we recommend that you begin by reading the following sections in the Amazon Glacier Developer Guide:

  • What is Amazon Glacier - This section of the Developer Guide describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service.

  • Getting Started with Amazon Glacier - The Getting Started section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives.

", "operations":{ "AbortMultipartUpload":{ "name":"AbortMultipartUpload", @@ -17,37 +18,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", "responseCode":204 }, - "input":{ - "shape":"AbortMultipartUploadInput", - "documentation":"

Provides options to abort a multipart upload identified by the upload ID.

For information about the underlying REST API, go to Abort Multipart Upload. For conceptual information, go to Working with Archives in Amazon Glacier.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"AbortMultipartUploadInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation aborts a multipart upload identified by the upload ID.

After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Working with Archives in Amazon Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation aborts a multipart upload identified by the upload ID.

After the Abort Multipart Upload request succeeds, you cannot upload any more parts to the multipart upload or complete the multipart upload. Aborting a completed upload fails. However, aborting an already-aborted upload will succeed, for a short time. For more information about uploading a part and completing a multipart upload, see UploadMultipartPart and CompleteMultipartUpload.

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Working with Archives in Amazon S3 Glacier and Abort Multipart Upload in the Amazon Glacier Developer Guide.

" }, "AbortVaultLock":{ "name":"AbortVaultLock", @@ -56,37 +34,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy", "responseCode":204 }, - "input":{ - "shape":"AbortVaultLockInput", - "documentation":"

The input values for AbortVaultLock.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"AbortVaultLockInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error. Aborting the vault locking process removes the vault lock policy from the specified vault.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process, see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

This operation is idempotent. You can successfully invoke this operation multiple times, if the vault lock is in the InProgress state or if there is no policy associated with the vault.

" + "documentation":"

This operation aborts the vault locking process if the vault lock is not in the Locked state. If the vault lock is in the Locked state when this operation is requested, the operation returns an AccessDeniedException error. Aborting the vault locking process removes the vault lock policy from the specified vault.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can get the state of a vault lock by calling GetVaultLock. For more information about the vault locking process, see Amazon Glacier Vault Lock. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

This operation is idempotent. You can successfully invoke this operation multiple times, if the vault lock is in the InProgress state or if there is no policy associated with the vault.

" }, "AddTagsToVault":{ "name":"AddTagsToVault", @@ -95,43 +50,15 @@ "requestUri":"/{accountId}/vaults/{vaultName}/tags?operation=add", "responseCode":204 }, - "input":{ - "shape":"AddTagsToVaultInput", - "documentation":"

The input values for AddTagsToVault.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if the request results in a vault or account limit being exceeded.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"AddTagsToVaultInput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation adds the specified tags to a vault. Each tag is composed of a key and a value. Each vault can have up to 10 tags. If your request would cause the tag limit for the vault to be exceeded, the operation throws the LimitExceededException error. If a tag already exists on the vault under a specified key, the existing key value will be overwritten. For more information about tags, see Tagging Amazon Glacier Resources.

" + "documentation":"

This operation adds the specified tags to a vault. Each tag is composed of a key and a value. Each vault can have up to 10 tags. If your request would cause the tag limit for the vault to be exceeded, the operation throws the LimitExceededException error. If a tag already exists on the vault under a specified key, the existing key value will be overwritten. For more information about tags, see Tagging Amazon S3 Glacier Resources.

" }, "CompleteMultipartUpload":{ "name":"CompleteMultipartUpload", @@ -140,41 +67,15 @@ "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", "responseCode":201 }, - "input":{ - "shape":"CompleteMultipartUploadInput", - "documentation":"

Provides options to complete a multipart upload operation. This informs Amazon Glacier that all the archive parts have been uploaded and Amazon Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Amazon Glacier returns the URI path of the newly created archive resource.

" - }, - "output":{ - "shape":"ArchiveCreationOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

For information about the underlying REST API, go to Upload Archive. For conceptual information, go to Working with Archives in Amazon Glacier.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"CompleteMultipartUploadInput"}, + "output":{"shape":"ArchiveCreationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

You call this operation to inform Amazon Glacier that all the archive parts have been uploaded and that Amazon Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Amazon Glacier returns the URI path of the newly created archive resource. Using the URI path, you can then access the archive. After you upload an archive, you should save the archive ID returned to retrieve the archive at a later point. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

In the request, you must include the computed SHA256 tree hash of the entire archive you have uploaded. For information about computing a SHA256 tree hash, see Computing Checksums. On the server side, Amazon Glacier also constructs the SHA256 tree hash of the assembled archive. If the values match, Amazon Glacier saves the archive to the vault; otherwise, it returns an error, and the operation fails. The ListParts operation returns a list of parts uploaded for a specific multipart upload. It includes checksum information for each uploaded part that can be used to debug a bad checksum issue.

Additionally, Amazon Glacier also checks for any missing content ranges when assembling the archive, if missing content ranges are found, Amazon Glacier returns an error and the operation fails.

Complete Multipart Upload is an idempotent operation. After your first successful complete multipart upload, if you call the operation again within a short period, the operation will succeed and return the same archive ID. This is useful in the event you experience a network issue that causes an aborted connection or receive a 500 server error, in which case you can repeat your Complete Multipart Upload request and get the same archive ID without creating duplicate archives. Note, however, that after the multipart upload completes, you cannot call the List Parts operation and the multipart upload will not appear in List Multipart Uploads response, even if idempotent complete is possible.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload in the Amazon Glacier Developer Guide.

" + "documentation":"

You call this operation to inform Amazon S3 Glacier (Glacier) that all the archive parts have been uploaded and that Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Glacier returns the URI path of the newly created archive resource. Using the URI path, you can then access the archive. After you upload an archive, you should save the archive ID returned to retrieve the archive at a later point. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

In the request, you must include the computed SHA256 tree hash of the entire archive you have uploaded. For information about computing a SHA256 tree hash, see Computing Checksums. On the server side, Glacier also constructs the SHA256 tree hash of the assembled archive. If the values match, Glacier saves the archive to the vault; otherwise, it returns an error, and the operation fails. The ListParts operation returns a list of parts uploaded for a specific multipart upload. It includes checksum information for each uploaded part that can be used to debug a bad checksum issue.

Additionally, Glacier also checks for any missing content ranges when assembling the archive, if missing content ranges are found, Glacier returns an error and the operation fails.

Complete Multipart Upload is an idempotent operation. After your first successful complete multipart upload, if you call the operation again within a short period, the operation will succeed and return the same archive ID. This is useful in the event you experience a network issue that causes an aborted connection or receive a 500 server error, in which case you can repeat your Complete Multipart Upload request and get the same archive ID without creating duplicate archives. Note, however, that after the multipart upload completes, you cannot call the List Parts operation and the multipart upload will not appear in List Multipart Uploads response, even if idempotent complete is possible.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Complete Multipart Upload in the Amazon Glacier Developer Guide.

" }, "CompleteVaultLock":{ "name":"CompleteVaultLock", @@ -183,37 +84,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy/{lockId}", "responseCode":204 }, - "input":{ - "shape":"CompleteVaultLockInput", - "documentation":"

The input values for CompleteVaultLock.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"CompleteVaultLockInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

This operation is idempotent. This request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID originally used to lock the vault.

If an invalid lock ID is passed in the request when the vault lock is in the Locked state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the vault lock is in the InProgress state, the operation throws an InvalidParameter error.

" + "documentation":"

This operation completes the vault locking process by transitioning the vault lock from the InProgress state to the Locked state, which causes the vault lock policy to become unchangeable. A vault lock is put into the InProgress state by calling InitiateVaultLock. You can obtain the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

This operation is idempotent. This request is always successful if the vault lock is in the Locked state and the provided lock ID matches the lock ID originally used to lock the vault.

If an invalid lock ID is passed in the request when the vault lock is in the Locked state, the operation returns an AccessDeniedException error. If an invalid lock ID is passed in the request when the vault lock is in the InProgress state, the operation throws an InvalidParameter error.

" }, "CreateVault":{ "name":"CreateVault", @@ -222,41 +100,15 @@ "requestUri":"/{accountId}/vaults/{vaultName}", "responseCode":201 }, - "input":{ - "shape":"CreateVaultInput", - "documentation":"

Provides options to create a vault.

" - }, - "output":{ - "shape":"CreateVaultOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if the request results in a vault or account limit being exceeded.

" - } + "input":{"shape":"CreateVaultInput"}, + "output":{"shape":"CreateVaultOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

This operation creates a new vault with the specified name. The name of the vault must be unique within a region for an AWS account. You can create up to 1,000 vaults per account. If you need to create more vaults, contact Amazon Glacier.

You must use the following guidelines when naming a vault.

  • Names can be between 1 and 255 characters long.

  • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), and '.' (period).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Creating a Vault in Amazon Glacier and Create Vault in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation creates a new vault with the specified name. The name of the vault must be unique within a region for an AWS account. You can create up to 1,000 vaults per account. If you need to create more vaults, contact Amazon S3 Glacier.

You must use the following guidelines when naming a vault.

  • Names can be between 1 and 255 characters long.

  • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), and '.' (period).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Creating a Vault in Amazon Glacier and Create Vault in the Amazon Glacier Developer Guide.

" }, "DeleteArchive":{ "name":"DeleteArchive", @@ -265,37 +117,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/archives/{archiveId}", "responseCode":204 }, - "input":{ - "shape":"DeleteArchiveInput", - "documentation":"

Provides options for deleting an archive from an Amazon Glacier vault.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DeleteArchiveInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation deletes an archive from a vault. Subsequent requests to initiate a retrieval of this archive will fail. Archive retrievals that are in progress for this archive ID may or may not succeed according to the following scenarios:

  • If the archive retrieval job is actively preparing the data for download when Amazon Glacier receives the delete archive request, the archival retrieval operation might fail.
  • If the archive retrieval job has successfully prepared the archive for download when Amazon Glacier receives the delete archive request, you will be able to download the output.

This operation is idempotent. Attempting to delete an already-deleted archive does not result in an error.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Deleting an Archive in Amazon Glacier and Delete Archive in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation deletes an archive from a vault. Subsequent requests to initiate a retrieval of this archive will fail. Archive retrievals that are in progress for this archive ID may or may not succeed according to the following scenarios:

  • If the archive retrieval job is actively preparing the data for download when Amazon S3 Glacier receives the delete archive request, the archival retrieval operation might fail.

  • If the archive retrieval job has successfully prepared the archive for download when Amazon S3 Glacier receives the delete archive request, you will be able to download the output.

This operation is idempotent. Attempting to delete an already-deleted archive does not result in an error.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Deleting an Archive in Amazon Glacier and Delete Archive in the Amazon Glacier Developer Guide.

" }, "DeleteVault":{ "name":"DeleteVault", @@ -304,37 +133,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}", "responseCode":204 }, - "input":{ - "shape":"DeleteVaultInput", - "documentation":"

Provides options for deleting a vault from Amazon Glacier.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DeleteVaultInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation deletes a vault. Amazon Glacier will delete a vault only if there are no archives in the vault as of the last inventory and there have been no writes to the vault since the last inventory. If either of these conditions is not satisfied, the vault deletion fails (that is, the vault is not removed) and Amazon Glacier returns an error. You can use DescribeVault to return the number of archives in a vault, and you can use Initiate a Job (POST jobs) to initiate a new inventory retrieval for a vault. The inventory contains the archive IDs you use to delete archives using Delete Archive (DELETE archive).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Deleting a Vault in Amazon Glacier and Delete Vault in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation deletes a vault. Amazon S3 Glacier will delete a vault only if there are no archives in the vault as of the last inventory and there have been no writes to the vault since the last inventory. If either of these conditions is not satisfied, the vault deletion fails (that is, the vault is not removed) and Amazon S3 Glacier returns an error. You can use DescribeVault to return the number of archives in a vault, and you can use Initiate a Job (POST jobs) to initiate a new inventory retrieval for a vault. The inventory contains the archive IDs you use to delete archives using Delete Archive (DELETE archive).

This operation is idempotent.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Deleting a Vault in Amazon Glacier and Delete Vault in the Amazon S3 Glacier Developer Guide.

" }, "DeleteVaultAccessPolicy":{ "name":"DeleteVaultAccessPolicy", @@ -343,37 +149,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/access-policy", "responseCode":204 }, - "input":{ - "shape":"DeleteVaultAccessPolicyInput", - "documentation":"

DeleteVaultAccessPolicy input.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DeleteVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation deletes the access policy associated with the specified vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely remove the access policy, and you might still see the effect of the policy for a short time after you send the delete request.

This operation is idempotent. You can invoke delete multiple times, even if there is no policy associated with the vault. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" + "documentation":"

This operation deletes the access policy associated with the specified vault. The operation is eventually consistent; that is, it might take some time for Amazon S3 Glacier to completely remove the access policy, and you might still see the effect of the policy for a short time after you send the delete request.

This operation is idempotent. You can invoke delete multiple times, even if there is no policy associated with the vault. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" }, "DeleteVaultNotifications":{ "name":"DeleteVaultNotifications", @@ -382,37 +165,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration", "responseCode":204 }, - "input":{ - "shape":"DeleteVaultNotificationsInput", - "documentation":"

Provides options for deleting a vault notification configuration from an Amazon Glacier vault.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DeleteVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation deletes the notification configuration set for a vault. The operation is eventually consistent; that is, it might take some time for Amazon Glacier to completely disable the notifications and you might still receive some notifications for a short time after you send the delete request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Configuring Vault Notifications in Amazon Glacier and Delete Vault Notification Configuration in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation deletes the notification configuration set for a vault. The operation is eventually consistent; that is, it might take some time for Amazon S3 Glacier to completely disable the notifications and you might still receive some notifications for a short time after you send the delete request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Delete Vault Notification Configuration in the Amazon S3 Glacier Developer Guide.

" }, "DescribeJob":{ "name":"DescribeJob", @@ -420,41 +180,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/jobs/{jobId}" }, - "input":{ - "shape":"DescribeJobInput", - "documentation":"

Provides options for retrieving a job description.

" - }, - "output":{ - "shape":"GlacierJobDescription", - "documentation":"

Describes an Amazon Glacier job.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DescribeJobInput"}, + "output":{"shape":"GlacierJobDescription"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation returns information about a job you previously initiated, including the job initiation date, the user who initiated the job, the job status code/message and the Amazon SNS topic to notify after Amazon Glacier completes the job. For more information about initiating a job, see InitiateJob.

This operation enables you to check the status of your job. However, it is strongly recommended that you set up an Amazon SNS topic and specify it in your initiate job request so that Amazon Glacier can notify the topic after it completes the job.

A job ID will not expire for at least 24 hours after Amazon Glacier completes the job.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For information about the underlying REST API, go to Working with Archives in Amazon Glacier in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation returns information about a job you previously initiated, including the job initiation date, the user who initiated the job, the job status code/message and the Amazon SNS topic to notify after Amazon S3 Glacier (Glacier) completes the job. For more information about initiating a job, see InitiateJob.

This operation enables you to check the status of your job. However, it is strongly recommended that you set up an Amazon SNS topic and specify it in your initiate job request so that Glacier can notify the topic after it completes the job.

A job ID will not expire for at least 24 hours after Glacier completes the job.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For more information about using this operation, see the documentation for the underlying REST API Describe Job in the Amazon Glacier Developer Guide.

" }, "DescribeVault":{ "name":"DescribeVault", @@ -462,41 +196,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}" }, - "input":{ - "shape":"DescribeVaultInput", - "documentation":"

Provides options for retrieving metadata for a specific vault in Amazon Glacier.

" - }, - "output":{ - "shape":"DescribeVaultOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"DescribeVaultInput"}, + "output":{"shape":"DescribeVaultOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation returns information about a vault, including the vault's Amazon Resource Name (ARN), the date the vault was created, the number of archives it contains, and the total size of all the archives in the vault. The number of archives and their total size are as of the last inventory generation. This means that if you add or remove an archive from a vault, and then immediately use Describe Vault, the change in contents will not be immediately reflected. If you want to retrieve the latest inventory of the vault, use InitiateJob. Amazon Glacier generates vault inventories approximately daily. For more information, see Downloading a Vault Inventory in Amazon Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Retrieving Vault Metadata in Amazon Glacier and Describe Vault in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation returns information about a vault, including the vault's Amazon Resource Name (ARN), the date the vault was created, the number of archives it contains, and the total size of all the archives in the vault. The number of archives and their total size are as of the last inventory generation. This means that if you add or remove an archive from a vault, and then immediately use Describe Vault, the change in contents will not be immediately reflected. If you want to retrieve the latest inventory of the vault, use InitiateJob. Amazon S3 Glacier generates vault inventories approximately daily. For more information, see Downloading a Vault Inventory in Amazon S3 Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon S3 Glacier and Describe Vault in the Amazon Glacier Developer Guide.

" }, "GetDataRetrievalPolicy":{ "name":"GetDataRetrievalPolicy", @@ -504,35 +212,14 @@ "method":"GET", "requestUri":"/{accountId}/policies/data-retrieval" }, - "input":{ - "shape":"GetDataRetrievalPolicyInput", - "documentation":"

Input for GetDataRetrievalPolicy.

" - }, - "output":{ - "shape":"GetDataRetrievalPolicyOutput", - "documentation":"

Contains the Amazon Glacier response to the GetDataRetrievalPolicy request.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"GetDataRetrievalPolicyInput"}, + "output":{"shape":"GetDataRetrievalPolicyOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation returns the current data retrieval policy for the account and region specified in the GET request. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" + "documentation":"

This operation returns the current data retrieval policy for the account and region specified in the GET request. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" }, "GetJobOutput":{ "name":"GetJobOutput", @@ -540,41 +227,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/jobs/{jobId}/output" }, - "input":{ - "shape":"GetJobOutputInput", - "documentation":"

Provides options for downloading output of an Amazon Glacier job.

" - }, - "output":{ - "shape":"GetJobOutputOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"GetJobOutputInput"}, + "output":{"shape":"GetJobOutputOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation downloads the output of the job you initiated using InitiateJob. Depending on the job type you specified when you initiated the job, the output will be either the content of an archive or a vault inventory.

A job ID will not expire for at least 24 hours after Amazon Glacier completes the job. That is, you can download the job output within the 24 hours period after Amazon Glacier completes the job.

If the job output is large, then you can use the Range request header to retrieve a portion of the output. This allows you to download the entire output in smaller chunks of bytes. For example, suppose you have 1 GB of job output you want to download and you decide to download 128 MB chunks of data at a time, which is a total of eight Get Job Output requests. You use the following process to download the job output:

  1. Download a 128 MB chunk of output by specifying the appropriate byte range using the Range header.

  2. Along with the data, the response includes a SHA256 tree hash of the payload. You compute the checksum of the payload on the client and compare it with the checksum you received in the response to ensure you received all the expected data.

  3. Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each time specifying the appropriate byte range.

  4. After downloading all the parts of the job output, you have a list of eight checksum values. Compute the tree hash of these values to find the checksum of the entire output. Using the DescribeJob API, obtain job information of the job that provided you the output. The response includes the checksum of the entire archive stored in Amazon Glacier. You compare this value with the checksum you computed to ensure you have downloaded the entire archive content with no errors.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, go to Downloading a Vault Inventory, Downloading an Archive, and Get Job Output

" + "documentation":"

This operation downloads the output of the job you initiated using InitiateJob. Depending on the job type you specified when you initiated the job, the output will be either the content of an archive or a vault inventory.

You can download all the job output or download a portion of the output by specifying a byte range. In the case of an archive retrieval job, depending on the byte range you specify, Amazon S3 Glacier (Glacier) returns the checksum for the portion of the data. You can compute the checksum on the client and verify that the values match to ensure the portion you downloaded is the correct data.

A job ID will not expire for at least 24 hours after Glacier completes the job. That a byte range. For both archive and inventory retrieval jobs, you should verify the downloaded size against the size returned in the headers from the Get Job Output response.

For archive retrieval jobs, you should also verify that the size is what you expected. If you download a portion of the output, the expected size is based on the range of bytes you specified. For example, if you specify a range of bytes=0-1048575, you should verify your download size is 1,048,576 bytes. If you download an entire archive, the expected size is the size of the archive when you uploaded it to Amazon S3 Glacier The expected size is also returned in the headers from the Get Job Output response.

In the case of an archive retrieval job, depending on the byte range you specify, Glacier returns the checksum for the portion of the data. To ensure the portion you downloaded is the correct data, compute the checksum on the client, verify that the values match, and verify that the size is what you expected.

A job ID does not expire for at least 24 hours after Glacier completes the job. That is, you can download the job output within the 24 hours period after Amazon Glacier completes the job.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Downloading a Vault Inventory, Downloading an Archive, and Get Job Output

" }, "GetVaultAccessPolicy":{ "name":"GetVaultAccessPolicy", @@ -582,41 +243,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/access-policy" }, - "input":{ - "shape":"GetVaultAccessPolicyInput", - "documentation":"

Input for GetVaultAccessPolicy.

" - }, - "output":{ - "shape":"GetVaultAccessPolicyOutput", - "documentation":"

Output for GetVaultAccessPolicy.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"GetVaultAccessPolicyInput"}, + "output":{"shape":"GetVaultAccessPolicyOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation retrieves the access-policy subresource set on the vault; for more information on setting this subresource, see Set Vault Access Policy (PUT access-policy). If there is no access policy set on the vault, the operation returns a 404 Not found error. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" + "documentation":"

This operation retrieves the access-policy subresource set on the vault; for more information on setting this subresource, see Set Vault Access Policy (PUT access-policy). If there is no access policy set on the vault, the operation returns a 404 Not found error. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" }, "GetVaultLock":{ "name":"GetVaultLock", @@ -624,41 +259,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy" }, - "input":{ - "shape":"GetVaultLockInput", - "documentation":"

The input values for GetVaultLock.

" - }, - "output":{ - "shape":"GetVaultLockOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"GetVaultLockInput"}, + "output":{"shape":"GetVaultLockOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation retrieves the following attributes from the lock-policy subresource set on the specified vault:

  • The vault lock policy set on the vault.

  • The state of the vault lock, which is either InProgess or Locked.

  • When the lock ID expires. The lock ID is used to complete the vault locking process.

  • When the vault lock was initiated and put into the InProgress state.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can abort the vault locking process by calling AbortVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If there is no vault lock policy set on the vault, the operation returns a 404 Not found error. For more information about vault lock policies, Amazon Glacier Access Control with Vault Lock Policies.

" + "documentation":"

This operation retrieves the following attributes from the lock-policy subresource set on the specified vault:

  • The vault lock policy set on the vault.

  • The state of the vault lock, which is either InProgess or Locked.

  • When the lock ID expires. The lock ID is used to complete the vault locking process.

  • When the vault lock was initiated and put into the InProgress state.

A vault lock is put into the InProgress state by calling InitiateVaultLock. A vault lock is put into the Locked state by calling CompleteVaultLock. You can abort the vault locking process by calling AbortVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If there is no vault lock policy set on the vault, the operation returns a 404 Not found error. For more information about vault lock policies, Amazon Glacier Access Control with Vault Lock Policies.

" }, "GetVaultNotifications":{ "name":"GetVaultNotifications", @@ -666,41 +275,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration" }, - "input":{ - "shape":"GetVaultNotificationsInput", - "documentation":"

Provides options for retrieving the notification configuration set on an Amazon Glacier vault.

" - }, - "output":{ - "shape":"GetVaultNotificationsOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"GetVaultNotificationsInput"}, + "output":{"shape":"GetVaultNotificationsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation retrieves the notification-configuration subresource of the specified vault.

For information about setting a notification configuration on a vault, see SetVaultNotifications. If a notification configuration for a vault is not set, the operation returns a 404 Not Found error. For more information about vault notifications, see Configuring Vault Notifications in Amazon Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Configuring Vault Notifications in Amazon Glacier and Get Vault Notification Configuration in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation retrieves the notification-configuration subresource of the specified vault.

For information about setting a notification configuration on a vault, see SetVaultNotifications. If a notification configuration for a vault is not set, the operation returns a 404 Not Found error. For more information about vault notifications, see Configuring Vault Notifications in Amazon S3 Glacier.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Get Vault Notification Configuration in the Amazon Glacier Developer Guide.

" }, "InitiateJob":{ "name":"InitiateJob", @@ -709,47 +292,17 @@ "requestUri":"/{accountId}/vaults/{vaultName}/jobs", "responseCode":202 }, - "input":{ - "shape":"InitiateJobInput", - "documentation":"

Provides options for initiating an Amazon Glacier job.

" - }, - "output":{ - "shape":"InitiateJobOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"PolicyEnforcedException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a retrieval job would exceed the current data policy's retrieval rate limit. For more information about data retrieval policies,

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"InitiateJobInput"}, + "output":{"shape":"InitiateJobOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"PolicyEnforcedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"InsufficientCapacityException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation initiates a job of the specified type. In this release, you can initiate a job to retrieve either an archive or a vault inventory (a list of archives in a vault).

Retrieving data from Amazon Glacier is a two-step process:

  1. Initiate a retrieval job.

    A data retrieval policy can cause your initiate retrieval job request to fail with a PolicyEnforcedException exception. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies. For more information about the PolicyEnforcedException exception, see Error Responses.

  2. After the job completes, download the bytes.

The retrieval request is executed asynchronously. When you initiate a retrieval job, Amazon Glacier creates a job and returns a job ID in the response. When Amazon Glacier completes the job, you can get the job output (archive or inventory data). For information about getting job output, see GetJobOutput operation.

The job must complete before you can get its output. To determine when a job is complete, you have the following options:

  • Use Amazon SNS Notification You can specify an Amazon Simple Notification Service (Amazon SNS) topic to which Amazon Glacier can post a notification after the job is completed. You can specify an SNS topic per job request. The notification is sent only after Amazon Glacier completes the job. In addition to specifying an SNS topic per job request, you can configure vault notifications for a vault so that job notifications are always sent. For more information, see SetVaultNotifications.

  • Get job details You can make a DescribeJob request to obtain job status information while a job is in progress. However, it is more efficient to use an Amazon SNS notification to determine when a job is complete.

The information you get via notification is same that you get by calling DescribeJob.

If for a specific event, you add both the notification configuration on the vault and also specify an SNS topic in your initiate job request, Amazon Glacier sends both notifications. For more information, see SetVaultNotifications.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

About the Vault Inventory

Amazon Glacier prepares an inventory for each vault periodically, every 24 hours. When you initiate a job for a vault inventory, Amazon Glacier returns the last inventory for the vault. The inventory data you get might be up to a day or two days old. Also, the initiate inventory job might take some time to complete before you can download the vault inventory. So you do not want to retrieve a vault inventory for each vault operation. However, in some scenarios, you might find the vault inventory useful. For example, when you upload an archive, you can provide an archive description but not an archive name. Amazon Glacier provides you a unique archive ID, an opaque string of characters. So, you might maintain your own database that maps archive names to their corresponding Amazon Glacier assigned archive IDs. You might find the vault inventory useful in the event you need to reconcile information in your database with the actual vault inventory.

Range Inventory Retrieval

You can limit the number of inventory items retrieved by filtering on the archive creation date or by setting a limit.

Filtering by Archive Creation Date

You can retrieve inventory items for archives created between StartDate and EndDate by specifying values for these parameters in the InitiateJob request. Archives created on or after the StartDate and before the EndDate will be returned. If you only provide the StartDate without the EndDate, you will retrieve the inventory for all archives created on or after the StartDate. If you only provide the EndDate without the StartDate, you will get back the inventory for all archives created before the EndDate.

Limiting Inventory Items per Retrieval

You can limit the number of inventory items returned by setting the Limit parameter in the InitiateJob request. The inventory job output will contain inventory items up to the specified Limit. If there are more inventory items available, the result is paginated. After a job is complete you can use the DescribeJob operation to get a marker that you use in a subsequent InitiateJob request. The marker will indicate the starting point to retrieve the next set of inventory items. You can page through your entire inventory by repeatedly making InitiateJob requests with the marker from the previous DescribeJob output, until you get a marker from DescribeJob that returns null, indicating that there are no more inventory items available.

You can use the Limit parameter together with the date range parameters.

About Ranged Archive Retrieval

You can initiate an archive retrieval for the whole archive or a range of the archive. In the case of ranged archive retrieval, you specify a byte range to return or the whole archive. The range specified must be megabyte (MB) aligned, that is the range start value must be divisible by 1 MB and range end value plus 1 must be divisible by 1 MB or equal the end of the archive. If the ranged archive retrieval is not megabyte aligned, this operation returns a 400 response. Furthermore, to ensure you get checksum values for data you download using Get Job Output API, the range must be tree hash aligned.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, go to Initiate a Job and Downloading a Vault Inventory

" + "documentation":"

This operation initiates a job of the specified type, which can be a select, an archival retrieval, or a vault retrieval. For more information about using this operation, see the documentation for the underlying REST API Initiate a Job.

" }, "InitiateMultipartUpload":{ "name":"InitiateMultipartUpload", @@ -758,41 +311,15 @@ "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads", "responseCode":201 }, - "input":{ - "shape":"InitiateMultipartUploadInput", - "documentation":"

Provides options for initiating a multipart upload to an Amazon Glacier vault.

" - }, - "output":{ - "shape":"InitiateMultipartUploadOutput", - "documentation":"

The Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"InitiateMultipartUploadInput"}, + "output":{"shape":"InitiateMultipartUploadOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation initiates a multipart upload. Amazon Glacier creates a multipart upload resource and returns its ID in the response. The multipart upload ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart).

When you initiate a multipart upload, you specify the part size in number of bytes. The part size must be a megabyte (1024 KB) multiplied by a power of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB.

Every part you upload to this resource (see UploadMultipartPart), except the last one, must have the same size. The last one can be the same size or smaller. For example, suppose you want to upload a 16.2 MB file. If you initiate the multipart upload with a part size of 4 MB, you will upload four parts of 4 MB each and one part of 0.2 MB.

You don't need to know the size of the archive when you start a multipart upload because Amazon Glacier does not require you to specify the overall archive size.

After you complete the multipart upload, Amazon Glacier removes the multipart upload resource referenced by the ID. Amazon Glacier also removes the multipart upload resource if you cancel the multipart upload or it may be removed if there is no activity for a period of 24 hours.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Uploading Large Archives in Parts (Multipart Upload) and Initiate Multipart Upload in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation initiates a multipart upload. Amazon S3 Glacier creates a multipart upload resource and returns its ID in the response. The multipart upload ID is used in subsequent requests to upload parts of an archive (see UploadMultipartPart).

When you initiate a multipart upload, you specify the part size in number of bytes. The part size must be a megabyte (1024 KB) multiplied by a power of 2-for example, 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB.

Every part you upload to this resource (see UploadMultipartPart), except the last one, must have the same size. The last one can be the same size or smaller. For example, suppose you want to upload a 16.2 MB file. If you initiate the multipart upload with a part size of 4 MB, you will upload four parts of 4 MB each and one part of 0.2 MB.

You don't need to know the size of the archive when you start a multipart upload because Amazon S3 Glacier does not require you to specify the overall archive size.

After you complete the multipart upload, Amazon S3 Glacier (Glacier) removes the multipart upload resource referenced by the ID. Glacier also removes the multipart upload resource if you cancel the multipart upload or it may be removed if there is no activity for a period of 24 hours.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Initiate Multipart Upload in the Amazon Glacier Developer Guide.

" }, "InitiateVaultLock":{ "name":"InitiateVaultLock", @@ -801,41 +328,15 @@ "requestUri":"/{accountId}/vaults/{vaultName}/lock-policy", "responseCode":201 }, - "input":{ - "shape":"InitiateVaultLockInput", - "documentation":"

The input values for InitiateVaultLock.

" - }, - "output":{ - "shape":"InitiateVaultLockOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"InitiateVaultLockInput"}, + "output":{"shape":"InitiateVaultLockOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation initiates the vault locking process by doing the following:

  • Installing a vault lock policy on the specified vault.

  • Setting the lock state of vault lock to InProgress.

  • Returning a lock ID, which is used to complete the vault locking process.

You can set one vault lock policy for each vault and this policy can be up to 20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the state of the vault lock to Locked.

After a vault lock is in the Locked state, you cannot initiate a new vault lock for the vault.

You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If this operation is called when the vault lock is in the InProgress state, the operation returns an AccessDeniedException error. When the vault lock is in the InProgress state you must call AbortVaultLock before you can initiate a new vault lock policy.

" + "documentation":"

This operation initiates the vault locking process by doing the following:

  • Installing a vault lock policy on the specified vault.

  • Setting the lock state of vault lock to InProgress.

  • Returning a lock ID, which is used to complete the vault locking process.

You can set one vault lock policy for each vault and this policy can be up to 20 KB in size. For more information about vault lock policies, see Amazon Glacier Access Control with Vault Lock Policies.

You must complete the vault locking process within 24 hours after the vault lock enters the InProgress state. After the 24 hour window ends, the lock ID expires, the vault automatically exits the InProgress state, and the vault lock policy is removed from the vault. You call CompleteVaultLock to complete the vault locking process by setting the state of the vault lock to Locked.

After a vault lock is in the Locked state, you cannot initiate a new vault lock for the vault.

You can abort the vault locking process by calling AbortVaultLock. You can get the state of the vault lock by calling GetVaultLock. For more information about the vault locking process, Amazon Glacier Vault Lock.

If this operation is called when the vault lock is in the InProgress state, the operation returns an AccessDeniedException error. When the vault lock is in the InProgress state you must call AbortVaultLock before you can initiate a new vault lock policy.

" }, "ListJobs":{ "name":"ListJobs", @@ -843,41 +344,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/jobs" }, - "input":{ - "shape":"ListJobsInput", - "documentation":"

Provides options for retrieving a job list for an Amazon Glacier vault.

" - }, - "output":{ - "shape":"ListJobsOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"ListJobsInput"}, + "output":{"shape":"ListJobsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished.

Amazon Glacier retains recently completed jobs for a period before deleting them; however, it eventually removes completed jobs. The output of completed jobs can be retrieved. Retaining completed jobs for a period of time after they have completed enables you to get a job output in the event you miss the job completion notification or your first attempt to download it fails. For example, suppose you start an archive retrieval job to download an archive. After the job completes, you start to download the archive but encounter a network error. In this scenario, you can retry and download the archive while the job exists.

To retrieve an archive or retrieve a vault inventory from Amazon Glacier, you first initiate a job, and after the job completes, you download the data. For an archive retrieval, the output is the archive data, and for an inventory retrieval, it is the inventory list. The List Job operation returns a list of these jobs sorted by job initiation time.

This List Jobs operation supports pagination. By default, this operation returns up to 1,000 jobs in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of jobs that begins at a specific job, set the marker request parameter to the value you obtained from a previous List Jobs request. You can also limit the number of jobs returned in the response by specifying the limit parameter in the request.

Additionally, you can filter the jobs list returned by specifying an optional statuscode (InProgress, Succeeded, or Failed) and completed (true, false) parameter. The statuscode allows you to specify that only jobs that match a specified status are returned. The completed parameter allows you to specify that only jobs in a specific completion state are returned.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For the underlying REST API, go to List Jobs

" + "documentation":"

This operation lists jobs for a vault, including jobs that are in-progress and jobs that have recently finished. The List Job operation returns a list of these jobs sorted by job initiation time.

Amazon Glacier retains recently completed jobs for a period before deleting them; however, it eventually removes completed jobs. The output of completed jobs can be retrieved. Retaining completed jobs for a period of time after they have completed enables you to get a job output in the event you miss the job completion notification or your first attempt to download it fails. For example, suppose you start an archive retrieval job to download an archive. After the job completes, you start to download the archive but encounter a network error. In this scenario, you can retry and download the archive while the job exists.

The List Jobs operation supports pagination. You should always check the response Marker field. If there are no more jobs to list, the Marker field is set to null. If there are more jobs to list, the Marker field is set to a non-null value, which you can use to continue the pagination of the list. To return a list of jobs that begins at a specific job, set the marker request parameter to the Marker value for that job that you obtained from a previous List Jobs request.

You can set a maximum limit for the number of jobs returned in the response by specifying the limit parameter in the request. The default limit is 50. The number of jobs returned might be fewer than the limit, but the number of returned jobs never exceeds the limit.

Additionally, you can filter the jobs list returned by specifying the optional statuscode parameter or completed parameter, or both. Using the statuscode parameter, you can specify to return only jobs that match either the InProgress, Succeeded, or Failed status. Using the completed parameter, you can specify to return only jobs that were completed (true) or jobs that were not completed (false).

For more information about using this operation, see the documentation for the underlying REST API List Jobs.

" }, "ListMultipartUploads":{ "name":"ListMultipartUploads", @@ -885,41 +360,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads" }, - "input":{ - "shape":"ListMultipartUploadsInput", - "documentation":"

Provides options for retrieving list of in-progress multipart uploads for an Amazon Glacier vault.

" - }, - "output":{ - "shape":"ListMultipartUploadsOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"ListMultipartUploadsInput"}, + "output":{"shape":"ListMultipartUploadsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order.

The List Multipart Uploads operation supports pagination. By default, this operation returns up to 1,000 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request.

Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, go to Working with Archives in Amazon Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation lists in-progress multipart uploads for the specified vault. An in-progress multipart upload is a multipart upload that has been initiated by an InitiateMultipartUpload request, but has not yet been completed or aborted. The list returned in the List Multipart Upload response has no guaranteed order.

The List Multipart Uploads operation supports pagination. By default, this operation returns up to 50 multipart uploads in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of multipart uploads that begins at a specific upload, set the marker request parameter to the value you obtained from a previous List Multipart Upload request. You can also limit the number of uploads returned in the response by specifying the limit parameter in the request.

Note the difference between this operation and listing parts (ListParts). The List Multipart Uploads operation lists all multipart uploads for a vault and does not require a multipart upload ID. The List Parts operation requires a multipart upload ID since parts are associated with a single upload.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon S3 Glacier and List Multipart Uploads in the Amazon Glacier Developer Guide.

" }, "ListParts":{ "name":"ListParts", @@ -927,41 +376,30 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}" }, - "input":{ - "shape":"ListPartsInput", - "documentation":"

Provides options for retrieving a list of parts of an archive that have been uploaded in a specific multipart upload.

" - }, - "output":{ - "shape":"ListPartsOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"ListPartsInput"}, + "output":{"shape":"ListPartsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range.

The List Parts operation supports pagination. By default, this operation returns up to 1,000 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, go to Working with Archives in Amazon Glacier and List Parts in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation lists the parts of an archive that have been uploaded in a specific multipart upload. You can make this request at any time during an in-progress multipart upload before you complete the upload (see CompleteMultipartUpload. List Parts returns an error for completed uploads. The list returned in the List Parts response is sorted by part range.

The List Parts operation supports pagination. By default, this operation returns up to 50 uploaded parts in the response. You should always check the response for a marker at which to continue the list; if there are no more items the marker is null. To return a list of parts that begins at a specific part, set the marker request parameter to the value you obtained from a previous List Parts request. You can also limit the number of parts returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and the underlying REST API, see Working with Archives in Amazon S3 Glacier and List Parts in the Amazon Glacier Developer Guide.

" + }, + "ListProvisionedCapacity":{ + "name":"ListProvisionedCapacity", + "http":{ + "method":"GET", + "requestUri":"/{accountId}/provisioned-capacity" + }, + "input":{"shape":"ListProvisionedCapacityInput"}, + "output":{"shape":"ListProvisionedCapacityOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

This operation lists the provisioned capacity units for the specified AWS account.

" }, "ListTagsForVault":{ "name":"ListTagsForVault", @@ -969,41 +407,15 @@ "method":"GET", "requestUri":"/{accountId}/vaults/{vaultName}/tags" }, - "input":{ - "shape":"ListTagsForVaultInput", - "documentation":"

The input value for ListTagsForVaultInput.

" - }, - "output":{ - "shape":"ListTagsForVaultOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"ListTagsForVaultInput"}, + "output":{"shape":"ListTagsForVaultOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation lists all the tags attached to a vault. The operation returns an empty map if there are no tags. For more information about tags, see Tagging Amazon Glacier Resources.

" + "documentation":"

This operation lists all the tags attached to a vault. The operation returns an empty map if there are no tags. For more information about tags, see Tagging Amazon S3 Glacier Resources.

" }, "ListVaults":{ "name":"ListVaults", @@ -1011,41 +423,32 @@ "method":"GET", "requestUri":"/{accountId}/vaults" }, - "input":{ - "shape":"ListVaultsInput", - "documentation":"

Provides options to retrieve the vault list owned by the calling user's account. The list provides metadata information for each vault.

" - }, - "output":{ - "shape":"ListVaultsOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"ListVaultsInput"}, + "output":{"shape":"ListVaultsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name.

By default, this operation returns up to 1,000 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Retrieving Vault Metadata in Amazon Glacier and List Vaults in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation lists all vaults owned by the calling user's account. The list returned in the response is ASCII-sorted by vault name.

By default, this operation returns up to 10 items. If there are more vaults to list, the response marker field contains the vault Amazon Resource Name (ARN) at which to continue the list with a new List Vaults request; otherwise, the marker field is null. To return a list of vaults that begins at a specific vault, set the marker request parameter to the vault ARN you obtained from a previous List Vaults request. You can also limit the number of vaults returned in the response by specifying the limit parameter in the request.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Retrieving Vault Metadata in Amazon S3 Glacier and List Vaults in the Amazon Glacier Developer Guide.

" + }, + "PurchaseProvisionedCapacity":{ + "name":"PurchaseProvisionedCapacity", + "http":{ + "method":"POST", + "requestUri":"/{accountId}/provisioned-capacity", + "responseCode":201 + }, + "input":{"shape":"PurchaseProvisionedCapacityInput"}, + "output":{"shape":"PurchaseProvisionedCapacityOutput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

This operation purchases a provisioned capacity unit for an AWS account.

" }, "RemoveTagsFromVault":{ "name":"RemoveTagsFromVault", @@ -1054,37 +457,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/tags?operation=remove", "responseCode":204 }, - "input":{ - "shape":"RemoveTagsFromVaultInput", - "documentation":"

The input value for RemoveTagsFromVaultInput.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"RemoveTagsFromVaultInput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation removes one or more tags from the set of tags attached to a vault. For more information about tags, see Tagging Amazon Glacier Resources. This operation is idempotent. The operation will be successful, even if there are no tags attached to the vault.

" + "documentation":"

This operation removes one or more tags from the set of tags attached to a vault. For more information about tags, see Tagging Amazon S3 Glacier Resources. This operation is idempotent. The operation will be successful, even if there are no tags attached to the vault.

" }, "SetDataRetrievalPolicy":{ "name":"SetDataRetrievalPolicy", @@ -1093,31 +473,13 @@ "requestUri":"/{accountId}/policies/data-retrieval", "responseCode":204 }, - "input":{ - "shape":"SetDataRetrievalPolicyInput", - "documentation":"

SetDataRetrievalPolicy input.

" - }, - "errors":[ - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"SetDataRetrievalPolicyInput"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation sets and then enacts a data retrieval policy in the region specified in the PUT request. You can set one policy per region for an AWS account. The policy is enacted within a few minutes of a successful PUT operation.

The set policy operation does not affect retrieval jobs that were in progress before the policy was enacted. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" + "documentation":"

This operation sets and then enacts a data retrieval policy in the region specified in the PUT request. You can set one policy per region for an AWS account. The policy is enacted within a few minutes of a successful PUT operation.

The set policy operation does not affect retrieval jobs that were in progress before the policy was enacted. For more information about data retrieval policies, see Amazon Glacier Data Retrieval Policies.

" }, "SetVaultAccessPolicy":{ "name":"SetVaultAccessPolicy", @@ -1126,37 +488,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/access-policy", "responseCode":204 }, - "input":{ - "shape":"SetVaultAccessPolicyInput", - "documentation":"

SetVaultAccessPolicy input.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"SetVaultAccessPolicyInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation configures an access policy for a vault and will overwrite an existing policy. To configure a vault access policy, send a PUT request to the access-policy subresource of the vault. An access policy is specific to a vault and is also called a vault subresource. You can set one access policy per vault and the policy can be up to 20 KB in size. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" + "documentation":"

This operation configures an access policy for a vault and will overwrite an existing policy. To configure a vault access policy, send a PUT request to the access-policy subresource of the vault. An access policy is specific to a vault and is also called a vault subresource. You can set one access policy per vault and the policy can be up to 20 KB in size. For more information about vault access policies, see Amazon Glacier Access Control with Vault Access Policies.

" }, "SetVaultNotifications":{ "name":"SetVaultNotifications", @@ -1165,37 +504,14 @@ "requestUri":"/{accountId}/vaults/{vaultName}/notification-configuration", "responseCode":204 }, - "input":{ - "shape":"SetVaultNotificationsInput", - "documentation":"

Provides options to configure notifications that will be sent when specific events happen to a vault.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"SetVaultNotificationsInput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation configures notifications that will be sent when specific events happen to a vault. By default, you don't get any notifications.

To configure vault notifications, send a PUT request to the notification-configuration subresource of the vault. The request should include a JSON document that provides an Amazon SNS topic and specific events for which you want Amazon Glacier to send notifications to the topic.

Amazon SNS topics must grant permission to the vault to be allowed to publish notifications to the topic. You can configure a vault to publish a notification for the following vault events:

  • ArchiveRetrievalCompleted This event occurs when a job that was initiated for an archive retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.
  • InventoryRetrievalCompleted This event occurs when a job that was initiated for an inventory retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Configuring Vault Notifications in Amazon Glacier and Set Vault Notification Configuration in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation configures notifications that will be sent when specific events happen to a vault. By default, you don't get any notifications.

To configure vault notifications, send a PUT request to the notification-configuration subresource of the vault. The request should include a JSON document that provides an Amazon SNS topic and specific events for which you want Amazon S3 Glacier to send notifications to the topic.

Amazon SNS topics must grant permission to the vault to be allowed to publish notifications to the topic. You can configure a vault to publish a notification for the following vault events:

  • ArchiveRetrievalCompleted This event occurs when a job that was initiated for an archive retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.

  • InventoryRetrievalCompleted This event occurs when a job that was initiated for an inventory retrieval is completed (InitiateJob). The status of the completed job can be \"Succeeded\" or \"Failed\". The notification sent to the SNS topic is the same output as returned from DescribeJob.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Configuring Vault Notifications in Amazon S3 Glacier and Set Vault Notification Configuration in the Amazon Glacier Developer Guide.

" }, "UploadArchive":{ "name":"UploadArchive", @@ -1204,47 +520,16 @@ "requestUri":"/{accountId}/vaults/{vaultName}/archives", "responseCode":201 }, - "input":{ - "shape":"UploadArchiveInput", - "documentation":"

Provides options to add an archive to a vault.

" - }, - "output":{ - "shape":"ArchiveCreationOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

For information about the underlying REST API, go to Upload Archive. For conceptual information, go to Working with Archives in Amazon Glacier.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"RequestTimeoutException", - "error":{"httpStatusCode":408}, - "exception":true, - "documentation":"

Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"UploadArchiveInput"}, + "output":{"shape":"ArchiveCreationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"RequestTimeoutException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation adds an archive to a vault. This is a synchronous operation, and for a successful upload, your data is durably persisted. Amazon Glacier returns the archive ID in the x-amz-archive-id header of the response.

You must use the archive ID to access your data in Amazon Glacier. After you upload an archive, you should save the archive ID returned so that you can retrieve or delete the archive later. Besides saving the archive ID, you can also index it and give it a friendly name to allow for better searching. You can also use the optional archive description field to specify how the archive is referred to in an external index of archives, such as you might create in Amazon DynamoDB. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

You must provide a SHA256 tree hash of the data you are uploading. For information about computing a SHA256 tree hash, see Computing Checksums.

You can optionally specify an archive description of up to 1,024 printable ASCII characters. You can get the archive description when you either retrieve the archive or get the vault inventory. For more information, see InitiateJob. Amazon Glacier does not interpret the description in any way. An archive description does not need to be unique. You cannot use the description to retrieve or sort the archive list.

Archives are immutable. After you upload an archive, you cannot edit the archive or its description.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Uploading an Archive in Amazon Glacier and Upload Archive in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation adds an archive to a vault. This is a synchronous operation, and for a successful upload, your data is durably persisted. Amazon S3 Glacier returns the archive ID in the x-amz-archive-id header of the response.

You must use the archive ID to access your data in Amazon S3 Glacier. After you upload an archive, you should save the archive ID returned so that you can retrieve or delete the archive later. Besides saving the archive ID, you can also index it and give it a friendly name to allow for better searching. You can also use the optional archive description field to specify how the archive is referred to in an external index of archives, such as you might create in Amazon DynamoDB. You can also get the vault inventory to obtain a list of archive IDs in a vault. For more information, see InitiateJob.

You must provide a SHA256 tree hash of the data you are uploading. For information about computing a SHA256 tree hash, see Computing Checksums.

You can optionally specify an archive description of up to 1,024 printable ASCII characters. You can get the archive description when you either retrieve the archive or get the vault inventory. For more information, see InitiateJob. Amazon Glacier does not interpret the description in any way. An archive description does not need to be unique. You cannot use the description to retrieve or sort the archive list.

Archives are immutable. After you upload an archive, you cannot edit the archive or its description.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading an Archive in Amazon Glacier and Upload Archive in the Amazon Glacier Developer Guide.

" }, "UploadMultipartPart":{ "name":"UploadMultipartPart", @@ -1253,261 +538,303 @@ "requestUri":"/{accountId}/vaults/{vaultName}/multipart-uploads/{uploadId}", "responseCode":204 }, - "input":{ - "shape":"UploadMultipartPartInput", - "documentation":"

Provides options to upload a part of an archive in a multipart upload operation.

" - }, - "output":{ - "shape":"UploadMultipartPartOutput", - "documentation":"

Contains the Amazon Glacier response to your request.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" - }, - { - "shape":"InvalidParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" - }, - { - "shape":"MissingParameterValueException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" - }, - { - "shape":"RequestTimeoutException", - "error":{"httpStatusCode":408}, - "exception":true, - "documentation":"

Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" - } + "input":{"shape":"UploadMultipartPartInput"}, + "output":{"shape":"UploadMultipartPartOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"MissingParameterValueException"}, + {"shape":"RequestTimeoutException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

This operation uploads a part of an archive. You can upload archive parts in any order. You can also upload them in parallel. You can upload up to 10,000 parts for a multipart upload.

Amazon Glacier rejects your upload part request if any of the following conditions is true:

  • SHA256 tree hash does not matchTo ensure that part data is not corrupted in transmission, you compute a SHA256 tree hash of the part and include it in your request. Upon receiving the part data, Amazon Glacier also computes a SHA256 tree hash. If these hash values don't match, the operation fails. For information about computing a SHA256 tree hash, see Computing Checksums.

  • Part size does not matchThe size of each part except the last must match the size specified in the corresponding InitiateMultipartUpload request. The size of the last part must be the same size as, or smaller than, the specified size.

    If you upload a part whose size is smaller than the part size you specified in your initiate multipart upload request and that part is not the last part, then the upload part request will succeed. However, the subsequent Complete Multipart Upload request will fail.

  • Range does not alignThe byte range value in the request does not align with the part size specified in the corresponding initiate request. For example, if you specify a part size of 4194304 bytes (4 MB), then 0 to 4194303 bytes (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are valid part ranges. However, if you set a range value of 2 MB to 6 MB, the range does not align with the part size and the upload will fail.

This operation is idempotent. If you upload the same part multiple times, the data included in the most recent request overwrites the previously uploaded data.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, go to Uploading Large Archives in Parts (Multipart Upload) and Upload Part in the Amazon Glacier Developer Guide.

" + "documentation":"

This operation uploads a part of an archive. You can upload archive parts in any order. You can also upload them in parallel. You can upload up to 10,000 parts for a multipart upload.

Amazon Glacier rejects your upload part request if any of the following conditions is true:

  • SHA256 tree hash does not matchTo ensure that part data is not corrupted in transmission, you compute a SHA256 tree hash of the part and include it in your request. Upon receiving the part data, Amazon S3 Glacier also computes a SHA256 tree hash. If these hash values don't match, the operation fails. For information about computing a SHA256 tree hash, see Computing Checksums.

  • Part size does not matchThe size of each part except the last must match the size specified in the corresponding InitiateMultipartUpload request. The size of the last part must be the same size as, or smaller than, the specified size.

    If you upload a part whose size is smaller than the part size you specified in your initiate multipart upload request and that part is not the last part, then the upload part request will succeed. However, the subsequent Complete Multipart Upload request will fail.

  • Range does not alignThe byte range value in the request does not align with the part size specified in the corresponding initiate request. For example, if you specify a part size of 4194304 bytes (4 MB), then 0 to 4194303 bytes (4 MB - 1) and 4194304 (4 MB) to 8388607 (8 MB - 1) are valid part ranges. However, if you set a range value of 2 MB to 6 MB, the range does not align with the part size and the upload will fail.

This operation is idempotent. If you upload the same part multiple times, the data included in the most recent request overwrites the previously uploaded data.

An AWS account has full permission to perform all operations (actions). However, AWS Identity and Access Management (IAM) users don't have any permissions by default. You must grant them explicit permission to perform specific actions. For more information, see Access Control Using AWS Identity and Access Management (IAM).

For conceptual information and underlying REST API, see Uploading Large Archives in Parts (Multipart Upload) and Upload Part in the Amazon Glacier Developer Guide.

" } }, "shapes":{ "AbortMultipartUploadInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "uploadId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "uploadId":{ "shape":"string", + "documentation":"

The upload ID of the multipart upload to delete.

", "location":"uri", - "locationName":"uploadId", - "documentation":"

The upload ID of the multipart upload to delete.

" + "locationName":"uploadId" } }, - "documentation":"

Provides options to abort a multipart upload identified by the upload ID.

For information about the underlying REST API, go to Abort Multipart Upload. For conceptual information, go to Working with Archives in Amazon Glacier.

", - "required":[ - "accountId", - "vaultName", - "uploadId" - ] + "documentation":"

Provides options to abort a multipart upload identified by the upload ID.

For information about the underlying REST API, see Abort Multipart Upload. For conceptual information, see Working with Archives in Amazon S3 Glacier.

" }, "AbortVaultLockInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

The input values for AbortVaultLock.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

The input values for AbortVaultLock.

" + }, + "AccessControlPolicyList":{ + "type":"list", + "member":{"shape":"Grant"} }, "ActionCode":{ "type":"string", "enum":[ "ArchiveRetrieval", - "InventoryRetrieval" + "InventoryRetrieval", + "Select" ] }, "AddTagsToVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "Tags":{ "shape":"TagMap", "documentation":"

The tags to add to the vault. Each tag is composed of a key and a value. The value can be an empty string.

" } }, - "documentation":"

The input values for AddTagsToVault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

The input values for AddTagsToVault.

" }, "ArchiveCreationOutput":{ "type":"structure", "members":{ "location":{ "shape":"string", + "documentation":"

The relative URI path of the newly added archive resource.

", "location":"header", - "locationName":"Location", - "documentation":"

The relative URI path of the newly added archive resource.

" + "locationName":"Location" }, "checksum":{ "shape":"string", + "documentation":"

The checksum of the archive computed by Amazon S3 Glacier.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The checksum of the archive computed by Amazon Glacier.

" + "locationName":"x-amz-sha256-tree-hash" }, "archiveId":{ "shape":"string", + "documentation":"

The ID of the archive. This value is also included as part of the location.

", "location":"header", - "locationName":"x-amz-archive-id", - "documentation":"

The ID of the archive. This value is also included as part of the location.

" + "locationName":"x-amz-archive-id" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

For information about the underlying REST API, go to Upload Archive. For conceptual information, go to Working with Archives in Amazon Glacier.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

For information about the underlying REST API, see Upload Archive. For conceptual information, see Working with Archives in Amazon S3 Glacier.

" + }, + "CSVInput":{ + "type":"structure", + "members":{ + "FileHeaderInfo":{ + "shape":"FileHeaderInfo", + "documentation":"

Describes the first line of input. Valid values are None, Ignore, and Use.

" + }, + "Comments":{ + "shape":"string", + "documentation":"

A single character used to indicate that a row should be ignored when the character is present at the start of that row.

" + }, + "QuoteEscapeCharacter":{ + "shape":"string", + "documentation":"

A single character used for escaping the quotation-mark character inside an already escaped value.

" + }, + "RecordDelimiter":{ + "shape":"string", + "documentation":"

A value used to separate individual records from each other.

" + }, + "FieldDelimiter":{ + "shape":"string", + "documentation":"

A value used to separate individual fields from each other within a record.

" + }, + "QuoteCharacter":{ + "shape":"string", + "documentation":"

A value used as an escape character where the field delimiter is part of the value.

" + } + }, + "documentation":"

Contains information about the comma-separated value (CSV) file to select from.

" + }, + "CSVOutput":{ + "type":"structure", + "members":{ + "QuoteFields":{ + "shape":"QuoteFields", + "documentation":"

A value that indicates whether all output fields should be contained within quotation marks.

" + }, + "QuoteEscapeCharacter":{ + "shape":"string", + "documentation":"

A single character used for escaping the quotation-mark character inside an already escaped value.

" + }, + "RecordDelimiter":{ + "shape":"string", + "documentation":"

A value used to separate individual records from each other.

" + }, + "FieldDelimiter":{ + "shape":"string", + "documentation":"

A value used to separate individual fields from each other within a record.

" + }, + "QuoteCharacter":{ + "shape":"string", + "documentation":"

A value used as an escape character where the field delimiter is part of the value.

" + } + }, + "documentation":"

Contains information about the comma-separated value (CSV) file that the job results are stored in.

" + }, + "CannedACL":{ + "type":"string", + "enum":[ + "private", + "public-read", + "public-read-write", + "aws-exec-read", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control" + ] }, "CompleteMultipartUploadInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "uploadId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "uploadId":{ "shape":"string", + "documentation":"

The upload ID of the multipart upload.

", "location":"uri", - "locationName":"uploadId", - "documentation":"

The upload ID of the multipart upload.

" + "locationName":"uploadId" }, "archiveSize":{ "shape":"string", + "documentation":"

The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded.

", "location":"header", - "locationName":"x-amz-archive-size", - "documentation":"

The total size, in bytes, of the entire archive. This value should be the sum of all the sizes of the individual parts that you uploaded.

" + "locationName":"x-amz-archive-size" }, "checksum":{ "shape":"string", + "documentation":"

The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final assembled archive as computed by Amazon S3 Glacier (Glacier), Glacier returns an error and the request fails.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The SHA256 tree hash of the entire archive. It is the tree hash of SHA256 tree hash of the individual parts. If the value you specify in the request does not match the SHA256 tree hash of the final assembled archive as computed by Amazon Glacier, Amazon Glacier returns an error and the request fails.

" + "locationName":"x-amz-sha256-tree-hash" } }, - "documentation":"

Provides options to complete a multipart upload operation. This informs Amazon Glacier that all the archive parts have been uploaded and Amazon Glacier can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Amazon Glacier returns the URI path of the newly created archive resource.

", - "required":[ - "accountId", - "vaultName", - "uploadId" - ] + "documentation":"

Provides options to complete a multipart upload operation. This informs Amazon Glacier that all the archive parts have been uploaded and Amazon S3 Glacier (Glacier) can now assemble the archive from the uploaded parts. After assembling and saving the archive to the vault, Glacier returns the URI path of the newly created archive resource.

" }, "CompleteVaultLockInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "lockId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "lockId":{ "shape":"string", + "documentation":"

The lockId value is the lock ID obtained from a InitiateVaultLock request.

", "location":"uri", - "locationName":"lockId", - "documentation":"

The lockId value is the lock ID obtained from a InitiateVaultLock request.

" + "locationName":"lockId" } }, - "documentation":"

The input values for CompleteVaultLock.

", - "required":[ - "accountId", - "vaultName", - "lockId" - ] + "documentation":"

The input values for CompleteVaultLock.

" }, "CreateVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Provides options to create a vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options to create a vault.

" }, "CreateVaultOutput":{ "type":"structure", "members":{ "location":{ "shape":"string", + "documentation":"

The URI of the vault that was created.

", "location":"header", - "locationName":"Location", - "documentation":"

The URI of the vault that was created.

" + "locationName":"Location" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "DataRetrievalPolicy":{ "type":"structure", @@ -1540,149 +867,149 @@ "DateTime":{"type":"string"}, "DeleteArchiveInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "archiveId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "archiveId":{ "shape":"string", + "documentation":"

The ID of the archive to delete.

", "location":"uri", - "locationName":"archiveId", - "documentation":"

The ID of the archive to delete.

" + "locationName":"archiveId" } }, - "documentation":"

Provides options for deleting an archive from an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName", - "archiveId" - ] + "documentation":"

Provides options for deleting an archive from an Amazon S3 Glacier vault.

" }, "DeleteVaultAccessPolicyInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

DeleteVaultAccessPolicy input.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

DeleteVaultAccessPolicy input.

" }, "DeleteVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Provides options for deleting a vault from Amazon Glacier.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for deleting a vault from Amazon S3 Glacier.

" }, "DeleteVaultNotificationsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Provides options for deleting a vault notification configuration from an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for deleting a vault notification configuration from an Amazon Glacier vault.

" }, "DescribeJobInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "jobId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "jobId":{ "shape":"string", + "documentation":"

The ID of the job to describe.

", "location":"uri", - "locationName":"jobId", - "documentation":"

The ID of the job to describe.

" + "locationName":"jobId" } }, - "documentation":"

Provides options for retrieving a job description.

", - "required":[ - "accountId", - "vaultName", - "jobId" - ] + "documentation":"

Provides options for retrieving a job description.

" }, "DescribeVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Provides options for retrieving metadata for a specific vault in Amazon Glacier.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for retrieving metadata for a specific vault in Amazon Glacier.

" }, "DescribeVaultOutput":{ "type":"structure", @@ -1697,35 +1024,72 @@ }, "CreationDate":{ "shape":"string", - "documentation":"

The UTC date when the vault was created. A string representation of ISO 8601 date format, for example, \"2012-03-20T17:03:43.221Z\".

" + "documentation":"

The Universal Coordinated Time (UTC) date when the vault was created. This value should be a string in the ISO 8601 date format, for example 2012-03-20T17:03:43.221Z.

" }, "LastInventoryDate":{ "shape":"string", - "documentation":"

The UTC date when Amazon Glacier completed the last vault inventory. A string representation of ISO 8601 date format, for example, \"2012-03-20T17:03:43.221Z\".

" + "documentation":"

The Universal Coordinated Time (UTC) date when Amazon S3 Glacier completed the last vault inventory. This value should be a string in the ISO 8601 date format, for example 2012-03-20T17:03:43.221Z.

" }, "NumberOfArchives":{ "shape":"long", - "documentation":"

The number of archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example, if you just created the vault.

" + "documentation":"

The number of archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.

" }, "SizeInBytes":{ "shape":"long", - "documentation":"

Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example, if you just created the vault.

" + "documentation":"

Total size, in bytes, of the archives in the vault as of the last inventory date. This field will return null if an inventory has not yet run on the vault, for example if you just created the vault.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" + }, + "Encryption":{ + "type":"structure", + "members":{ + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The server-side encryption algorithm used when storing job results in Amazon S3, for example AES256 or aws:kms.

" + }, + "KMSKeyId":{ + "shape":"string", + "documentation":"

The AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS fail if not made by using Secure Sockets Layer (SSL) or Signature Version 4.

" + }, + "KMSContext":{ + "shape":"string", + "documentation":"

Optional. If the encryption type is aws:kms, you can use this value to specify the encryption context for the job results.

" + } + }, + "documentation":"

Contains information about the encryption used to store the job results in Amazon S3.

" + }, + "EncryptionType":{ + "type":"string", + "enum":[ + "aws:kms", + "AES256" + ] + }, + "ExpressionType":{ + "type":"string", + "enum":["SQL"] + }, + "FileHeaderInfo":{ + "type":"string", + "enum":[ + "USE", + "IGNORE", + "NONE" + ] }, "GetDataRetrievalPolicyInput":{ "type":"structure", + "required":["accountId"], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" } }, - "documentation":"

Input for GetDataRetrievalPolicy.

", - "required":["accountId"] + "documentation":"

Input for GetDataRetrievalPolicy.

" }, "GetDataRetrievalPolicyOutput":{ "type":"structure", @@ -1735,42 +1099,42 @@ "documentation":"

Contains the returned data retrieval policy in JSON format.

" } }, - "documentation":"

Contains the Amazon Glacier response to the GetDataRetrievalPolicy request.

" + "documentation":"

Contains the Amazon S3 Glacier response to the GetDataRetrievalPolicy request.

" }, "GetJobOutputInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "jobId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "jobId":{ "shape":"string", + "documentation":"

The job ID whose data is downloaded.

", "location":"uri", - "locationName":"jobId", - "documentation":"

The job ID whose data is downloaded.

" + "locationName":"jobId" }, "range":{ "shape":"string", + "documentation":"

The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify the range as bytes=0-1048575. By default, this operation downloads the entire output.

If the job output is large, then you can use a range to retrieve a portion of the output. This allows you to download the entire output in smaller chunks of bytes. For example, suppose you have 1 GB of job output you want to download and you decide to download 128 MB chunks of data at a time, which is a total of eight Get Job Output requests. You use the following process to download the job output:

  1. Download a 128 MB chunk of output by specifying the appropriate byte range. Verify that all 128 MB of data was received.

  2. Along with the data, the response includes a SHA256 tree hash of the payload. You compute the checksum of the payload on the client and compare it with the checksum you received in the response to ensure you received all the expected data.

  3. Repeat steps 1 and 2 for all the eight 128 MB chunks of output data, each time specifying the appropriate byte range.

  4. After downloading all the parts of the job output, you have a list of eight checksum values. Compute the tree hash of these values to find the checksum of the entire output. Using the DescribeJob API, obtain job information of the job that provided you the output. The response includes the checksum of the entire archive stored in Amazon S3 Glacier. You compare this value with the checksum you computed to ensure you have downloaded the entire archive content with no errors.

", "location":"header", - "locationName":"Range", - "documentation":"

The range of bytes to retrieve from the output. For example, if you want to download the first 1,048,576 bytes, specify \"Range: bytes=0-1048575\". By default, this operation downloads the entire output.

" + "locationName":"Range" } }, - "documentation":"

Provides options for downloading output of an Amazon Glacier job.

", - "required":[ - "accountId", - "vaultName", - "jobId" - ] + "documentation":"

Provides options for downloading output of an Amazon S3 Glacier job.

" }, "GetJobOutputOutput":{ "type":"structure", @@ -1781,64 +1145,64 @@ }, "checksum":{ "shape":"string", + "documentation":"

The checksum of the data in the response. This header is returned only when retrieving the output for an archive retrieval job. Furthermore, this header appears only under the following conditions:

  • You get the entire range of the archive.

  • You request a range to return of the archive that starts and ends on a multiple of 1 MB. For example, if you have an 3.1 MB archive and you specify a range to return that starts at 1 MB and ends at 2 MB, then the x-amz-sha256-tree-hash is returned as a response header.

  • You request a range of the archive to return that starts on a multiple of 1 MB and goes to the end of the archive. For example, if you have a 3.1 MB archive and you specify a range that starts at 2 MB and ends at 3.1 MB (the end of the archive), then the x-amz-sha256-tree-hash is returned as a response header.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The checksum of the data in the response. This header is returned only when retrieving the output for an archive retrieval job. Furthermore, this header appears only under the following conditions:

  • You get the entire range of the archive.
  • You request a range to return of the archive that starts and ends on a multiple of 1 MB. For example, if you have an 3.1 MB archive and you specify a range to return that starts at 1 MB and ends at 2 MB, then the x-amz-sha256-tree-hash is returned as a response header.
  • You request a range of the archive to return that starts on a multiple of 1 MB and goes to the end of the archive. For example, if you have a 3.1 MB archive and you specify a range that starts at 2 MB and ends at 3.1 MB (the end of the archive), then the x-amz-sha256-tree-hash is returned as a response header.

" + "locationName":"x-amz-sha256-tree-hash" }, "status":{ "shape":"httpstatus", - "location":"statusCode", - "documentation":"

The HTTP response code for a job output request. The value depends on whether a range was specified in the request.

" + "documentation":"

The HTTP response code for a job output request. The value depends on whether a range was specified in the request.

", + "location":"statusCode" }, "contentRange":{ "shape":"string", + "documentation":"

The range of bytes returned by Amazon S3 Glacier. If only partial output is downloaded, the response provides the range of bytes Amazon S3 Glacier returned. For example, bytes 0-1048575/8388608 returns the first 1 MB from 8 MB.

", "location":"header", - "locationName":"Content-Range", - "documentation":"

The range of bytes returned by Amazon Glacier. If only partial output is downloaded, the response provides the range of bytes Amazon Glacier returned. For example, bytes 0-1048575/8388608 returns the first 1 MB from 8 MB.

" + "locationName":"Content-Range" }, "acceptRanges":{ "shape":"string", + "documentation":"

Indicates the range units accepted. For more information, see RFC2616.

", "location":"header", - "locationName":"Accept-Ranges", - "documentation":"

Indicates the range units accepted. For more information, go to RFC2616.

" + "locationName":"Accept-Ranges" }, "contentType":{ "shape":"string", + "documentation":"

The Content-Type depends on whether the job output is an archive or a vault inventory. For archive data, the Content-Type is application/octet-stream. For vault inventory, if you requested CSV format when you initiated the job, the Content-Type is text/csv. Otherwise, by default, vault inventory is returned as JSON, and the Content-Type is application/json.

", "location":"header", - "locationName":"Content-Type", - "documentation":"

The Content-Type depends on whether the job output is an archive or a vault inventory. For archive data, the Content-Type is application/octet-stream. For vault inventory, if you requested CSV format when you initiated the job, the Content-Type is text/csv. Otherwise, by default, vault inventory is returned as JSON, and the Content-Type is application/json.

" + "locationName":"Content-Type" }, "archiveDescription":{ "shape":"string", + "documentation":"

The description of an archive.

", "location":"header", - "locationName":"x-amz-archive-description", - "documentation":"

The description of an archive.

" + "locationName":"x-amz-archive-description" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

", + "documentation":"

Contains the Amazon S3 Glacier response to your request.

", "payload":"body" }, "GetVaultAccessPolicyInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Input for GetVaultAccessPolicy.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Input for GetVaultAccessPolicy.

" }, "GetVaultAccessPolicyOutput":{ "type":"structure", @@ -1853,25 +1217,25 @@ }, "GetVaultLockInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

The input values for GetVaultLock.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

The input values for GetVaultLock.

" }, "GetVaultLockOutput":{ "type":"structure", @@ -1893,29 +1257,29 @@ "documentation":"

The UTC date and time at which the vault lock was put into the InProgress state.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "GetVaultNotificationsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

Provides options for retrieving the notification configuration set on an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for retrieving the notification configuration set on an Amazon Glacier vault.

" }, "GetVaultNotificationsOutput":{ "type":"structure", @@ -1925,7 +1289,7 @@ "documentation":"

Returns the notification configuration set on the vault.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

", + "documentation":"

Contains the Amazon S3 Glacier response to your request.

", "payload":"vaultNotificationConfig" }, "GlacierJobDescription":{ @@ -1933,35 +1297,35 @@ "members":{ "JobId":{ "shape":"string", - "documentation":"

An opaque string that identifies an Amazon Glacier job.

" + "documentation":"

An opaque string that identifies an Amazon S3 Glacier job.

" }, "JobDescription":{ "shape":"string", - "documentation":"

The job description you provided when you initiated the job.

" + "documentation":"

The job description provided when initiating the job.

" }, "Action":{ "shape":"ActionCode", - "documentation":"

The job type. It is either ArchiveRetrieval or InventoryRetrieval.

" + "documentation":"

The job type. This value is either ArchiveRetrieval, InventoryRetrieval, or Select.

" }, "ArchiveId":{ "shape":"string", - "documentation":"

For an ArchiveRetrieval job, this is the archive ID requested for download. Otherwise, this field is null.

" + "documentation":"

The archive ID requested for a select job or archive retrieval. Otherwise, this field is null.

" }, "VaultARN":{ "shape":"string", - "documentation":"

The Amazon Resource Name (ARN) of the vault from which the archive retrieval was requested.

" + "documentation":"

The Amazon Resource Name (ARN) of the vault from which an archive retrieval was requested.

" }, "CreationDate":{ "shape":"string", - "documentation":"

The UTC date when the job was created. A string representation of ISO 8601 date format, for example, \"2012-03-20T17:03:43.221Z\".

" + "documentation":"

The UTC date when the job was created. This value is a string representation of ISO 8601 date format, for example \"2012-03-20T17:03:43.221Z\".

" }, "Completed":{ "shape":"boolean", - "documentation":"

The job status. When a job is completed, you get the job's output.

" + "documentation":"

The job status. When a job is completed, you get the job's output using Get Job Output (GET output).

" }, "StatusCode":{ "shape":"StatusCode", - "documentation":"

The status code can be InProgress, Succeeded, or Failed, and indicates the status of the job.

" + "documentation":"

The status code can be InProgress, Succeeded, or Failed, and indicates the status of the job.

" }, "StatusMessage":{ "shape":"string", @@ -1969,64 +1333,121 @@ }, "ArchiveSizeInBytes":{ "shape":"Size", - "documentation":"

For an ArchiveRetrieval job, this is the size in bytes of the archive being requested for download. For the InventoryRetrieval job, the value is null.

" + "documentation":"

For an archive retrieval job, this value is the size in bytes of the archive being requested for download. For an inventory retrieval or select job, this value is null.

" }, "InventorySizeInBytes":{ "shape":"Size", - "documentation":"

For an InventoryRetrieval job, this is the size in bytes of the inventory requested for download. For the ArchiveRetrieval job, the value is null.

" + "documentation":"

For an inventory retrieval job, this value is the size in bytes of the inventory requested for download. For an archive retrieval or select job, this value is null.

" }, "SNSTopic":{ "shape":"string", - "documentation":"

An Amazon Simple Notification Service (Amazon SNS) topic that receives notification.

" + "documentation":"

An Amazon SNS topic that receives notification.

" + }, + "CompletionDate":{ + "shape":"string", + "documentation":"

The UTC time that the job request completed. While the job is in progress, the value is null.

" + }, + "SHA256TreeHash":{ + "shape":"string", + "documentation":"

For an archive retrieval job, this value is the checksum of the archive. Otherwise, this value is null.

The SHA256 tree hash value for the requested range of an archive. If the InitiateJob request for an archive specified a tree-hash aligned range, then this field returns a value.

If the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.

This field is null for the following:

  • Archive retrieval jobs that specify a range that is not tree-hash aligned

  • Archival jobs that specify a range that is equal to the whole archive, when the job status is InProgress

  • Inventory jobs

  • Select jobs

" + }, + "ArchiveSHA256TreeHash":{ + "shape":"string", + "documentation":"

The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval or select jobs, this field is null.

" + }, + "RetrievalByteRange":{ + "shape":"string", + "documentation":"

The retrieved byte range for archive retrieval jobs in the form StartByteValue-EndByteValue. If no range was specified in the archive retrieval, then the whole archive is retrieved. In this case, StartByteValue equals 0 and EndByteValue equals the size of the archive minus 1. For inventory retrieval or select jobs, this field is null.

" + }, + "Tier":{ + "shape":"string", + "documentation":"

The tier to use for a select or an archive retrieval. Valid values are Expedited, Standard, or Bulk. Standard is the default.

" + }, + "InventoryRetrievalParameters":{ + "shape":"InventoryRetrievalJobDescription", + "documentation":"

Parameters used for range inventory retrieval.

" + }, + "JobOutputPath":{ + "shape":"string", + "documentation":"

Contains the job output location.

" + }, + "SelectParameters":{ + "shape":"SelectParameters", + "documentation":"

Contains the parameters used for a select.

" + }, + "OutputLocation":{ + "shape":"OutputLocation", + "documentation":"

Contains the location where the data from the select job is stored.

" + } + }, + "documentation":"

Contains the description of an Amazon S3 Glacier job.

" + }, + "Grant":{ + "type":"structure", + "members":{ + "Grantee":{ + "shape":"Grantee", + "documentation":"

The grantee.

" + }, + "Permission":{ + "shape":"Permission", + "documentation":"

Specifies the permission given to the grantee.

" + } + }, + "documentation":"

Contains information about a grant.

" + }, + "Grantee":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"Type", + "documentation":"

Type of grantee

" }, - "CompletionDate":{ + "DisplayName":{ "shape":"string", - "documentation":"

The UTC time that the archive retrieval request completed. While the job is in progress, the value will be null.

" + "documentation":"

Screen name of the grantee.

" }, - "SHA256TreeHash":{ + "URI":{ "shape":"string", - "documentation":"

For an ArchiveRetrieval job, it is the checksum of the archive. Otherwise, the value is null.

The SHA256 tree hash value for the requested range of an archive. If the Initiate a Job request for an archive specified a tree-hash aligned range, then this field returns a value.

For the specific case when the whole archive is retrieved, this value is the same as the ArchiveSHA256TreeHash value.

This field is null in the following situations:

  • Archive retrieval jobs that specify a range that is not tree-hash aligned.

  • Archival jobs that specify a range that is equal to the whole archive and the job status is InProgress.

  • Inventory jobs.

" + "documentation":"

URI of the grantee group.

" }, - "ArchiveSHA256TreeHash":{ + "ID":{ "shape":"string", - "documentation":"

The SHA256 tree hash of the entire archive for an archive retrieval. For inventory retrieval jobs, this field is null.

" + "documentation":"

The canonical user ID of the grantee.

" }, - "RetrievalByteRange":{ + "EmailAddress":{ "shape":"string", - "documentation":"

The retrieved byte range for archive retrieval jobs in the form \"StartByteValue-EndByteValue\" If no range was specified in the archive retrieval, then the whole archive is retrieved and StartByteValue equals 0 and EndByteValue equals the size of the archive minus 1. For inventory retrieval jobs this field is null.

" - }, - "InventoryRetrievalParameters":{ - "shape":"InventoryRetrievalJobDescription", - "documentation":"

Parameters used for range inventory retrieval.

" + "documentation":"

Email address of the grantee.

" } }, - "documentation":"

Describes an Amazon Glacier job.

" + "documentation":"

Contains information about the grantee.

" }, "InitiateJobInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "jobParameters":{ "shape":"JobParameters", "documentation":"

Provides options for specifying job information.

" } }, - "documentation":"

Provides options for initiating an Amazon Glacier job.

", - "required":[ - "accountId", - "vaultName" - ], + "documentation":"

Provides options for initiating an Amazon S3 Glacier job.

", "payload":"jobParameters" }, "InitiateJobOutput":{ @@ -2034,85 +1455,95 @@ "members":{ "location":{ "shape":"string", + "documentation":"

The relative URI path of the job.

", "location":"header", - "locationName":"Location", - "documentation":"

The relative URI path of the job.

" + "locationName":"Location" }, "jobId":{ "shape":"string", + "documentation":"

The ID of the job.

", + "location":"header", + "locationName":"x-amz-job-id" + }, + "jobOutputPath":{ + "shape":"string", + "documentation":"

The path to the location of where the select results are stored.

", "location":"header", - "locationName":"x-amz-job-id", - "documentation":"

The ID of the job.

" + "locationName":"x-amz-job-output-path" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "InitiateMultipartUploadInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "archiveDescription":{ "shape":"string", + "documentation":"

The archive description that you are uploading in parts.

The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 MB).

", "location":"header", - "locationName":"x-amz-archive-description", - "documentation":"

The archive description that you are uploading in parts.

The part size must be a megabyte (1024 KB) multiplied by a power of 2, for example 1048576 (1 MB), 2097152 (2 MB), 4194304 (4 MB), 8388608 (8 MB), and so on. The minimum allowable part size is 1 MB, and the maximum is 4 GB (4096 MB).

" + "locationName":"x-amz-archive-description" }, "partSize":{ "shape":"string", + "documentation":"

The size of each part except the last, in bytes. The last part can be smaller than this part size.

", "location":"header", - "locationName":"x-amz-part-size", - "documentation":"

The size of each part except the last, in bytes. The last part can be smaller than this part size.

" + "locationName":"x-amz-part-size" } }, - "documentation":"

Provides options for initiating a multipart upload to an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for initiating a multipart upload to an Amazon S3 Glacier vault.

" }, "InitiateMultipartUploadOutput":{ "type":"structure", "members":{ "location":{ "shape":"string", + "documentation":"

The relative URI path of the multipart upload ID Amazon S3 Glacier created.

", "location":"header", - "locationName":"Location", - "documentation":"

The relative URI path of the multipart upload ID Amazon Glacier created.

" + "locationName":"Location" }, "uploadId":{ "shape":"string", + "documentation":"

The ID of the multipart upload. This value is also included as part of the location.

", "location":"header", - "locationName":"x-amz-multipart-upload-id", - "documentation":"

The ID of the multipart upload. This value is also included as part of the location.

" + "locationName":"x-amz-multipart-upload-id" } }, - "documentation":"

The Amazon Glacier response to your request.

" + "documentation":"

The Amazon S3 Glacier response to your request.

" }, "InitiateVaultLockInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "policy":{ "shape":"VaultLockPolicy", @@ -2120,10 +1551,6 @@ } }, "documentation":"

The input values for InitiateVaultLock.

", - "required":[ - "accountId", - "vaultName" - ], "payload":"policy" }, "InitiateVaultLockOutput":{ @@ -2131,12 +1558,33 @@ "members":{ "lockId":{ "shape":"string", + "documentation":"

The lock ID, which is used to complete the vault locking process.

", "location":"header", - "locationName":"x-amz-lock-id", - "documentation":"

The lock ID, which is used to complete the vault locking process.

" + "locationName":"x-amz-lock-id" + } + }, + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" + }, + "InputSerialization":{ + "type":"structure", + "members":{ + "csv":{ + "shape":"CSVInput", + "documentation":"

Describes the serialization of a CSV-encoded object.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Describes how the archive is serialized.

" + }, + "InsufficientCapacityException":{ + "type":"structure", + "members":{ + "type":{"shape":"string"}, + "code":{"shape":"string"}, + "message":{"shape":"string"} + }, + "documentation":"

Returned if there is insufficient capacity to process this expedited request. This error only applies to expedited retrievals and not to standard or bulk retrievals.

", + "error":{"httpStatusCode":400}, + "exception":true }, "InvalidParameterValueException":{ "type":"structure", @@ -2149,34 +1597,37 @@ "shape":"string", "documentation":"

400 Bad Request

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if a parameter of the request is incorrectly specified.

" + } }, + "documentation":"

Returned if a parameter of the request is incorrectly specified.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

" + "exception":true }, "InventoryRetrievalJobDescription":{ "type":"structure", "members":{ "Format":{ "shape":"string", - "documentation":"

The output format for the vault inventory list, which is set by the InitiateJob request when initiating a job to retrieve a vault inventory. Valid values are \"CSV\" and \"JSON\".

" + "documentation":"

The output format for the vault inventory list, which is set by the InitiateJob request when initiating a job to retrieve a vault inventory. Valid values are CSV and JSON.

" }, "StartDate":{ "shape":"DateTime", - "documentation":"

The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. A string representation of ISO 8601 date format, for example, 2013-03-20T17:03:43Z.

" + "documentation":"

The start of the date range in Universal Coordinated Time (UTC) for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" }, "EndDate":{ "shape":"DateTime", - "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. A string representation of ISO 8601 date format, for example, 2013-03-20T17:03:43Z.

" + "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" }, "Limit":{ "shape":"string", - "documentation":"

Specifies the maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a InitiateJob request.

" + "documentation":"

The maximum number of inventory items returned per vault inventory retrieval request. This limit is set when initiating the job with the a InitiateJob request.

" }, "Marker":{ "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there are no more inventory items, this value is null. For more information, see Range Inventory Retrieval.

" + "documentation":"

An opaque string that represents where to continue pagination of the vault inventory retrieval results. You use the marker in a new InitiateJob request to obtain additional inventory items. If there are no more inventory items, this value is null. For more information, see Range Inventory Retrieval.

" } }, "documentation":"

Describes the options for a range inventory retrieval job.

" @@ -2186,11 +1637,11 @@ "members":{ "StartDate":{ "shape":"string", - "documentation":"

The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. A string representation of ISO 8601 date format, for example, 2013-03-20T17:03:43Z.

" + "documentation":"

The start of the date range in UTC for vault inventory retrieval that includes archives created on or after this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" }, "EndDate":{ "shape":"string", - "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. A string representation of ISO 8601 date format, for example, 2013-03-20T17:03:43Z.

" + "documentation":"

The end of the date range in UTC for vault inventory retrieval that includes archives created before this date. This value should be a string in the ISO 8601 date format, for example 2013-03-20T17:03:43Z.

" }, "Limit":{ "shape":"string", @@ -2212,15 +1663,15 @@ "members":{ "Format":{ "shape":"string", - "documentation":"

When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are \"CSV\" and \"JSON\".

" + "documentation":"

When initiating a job to retrieve a vault inventory, you can optionally add this parameter to your request to specify the output format. If you are initiating an inventory job and do not specify a Format field, JSON is the default format. Valid values are \"CSV\" and \"JSON\".

" }, "Type":{ "shape":"string", - "documentation":"

The job type. You can initiate a job to retrieve an archive or get an inventory of a vault. Valid values are \"archive-retrieval\" and \"inventory-retrieval\".

" + "documentation":"

The job type. You can initiate a job to perform a select query on an archive, retrieve an archive, or get an inventory of a vault. Valid values are \"select\", \"archive-retrieval\" and \"inventory-retrieval\".

" }, "ArchiveId":{ "shape":"string", - "documentation":"

The ID of the archive that you want to retrieve. This field is required only if Type is set to archive-retrieval. An error occurs if you specify this request parameter for an inventory retrieval job request.

" + "documentation":"

The ID of the archive that you want to retrieve. This field is required only if Type is set to select or archive-retrievalcode>. An error occurs if you specify this request parameter for an inventory retrieval job request.

" }, "Description":{ "shape":"string", @@ -2228,15 +1679,27 @@ }, "SNSTopic":{ "shape":"string", - "documentation":"

The Amazon SNS topic ARN to which Amazon Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.

" + "documentation":"

The Amazon SNS topic ARN to which Amazon S3 Glacier sends a notification when the job is completed and the output is ready for you to download. The specified topic publishes the notification to its subscribers. The SNS topic must exist.

" }, "RetrievalByteRange":{ "shape":"string", - "documentation":"

The byte range to retrieve for an archive retrieval. in the form \"StartByteValue-EndByteValue\" If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that StartByteValue must be divisible by 1 MB and EndByteValue plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.

An error occurs if you specify this field for an inventory retrieval job request.

" + "documentation":"

The byte range to retrieve for an archive retrieval. in the form \"StartByteValue-EndByteValue\" If not specified, the whole archive is retrieved. If specified, the byte range must be megabyte (1024*1024) aligned which means that StartByteValue must be divisible by 1 MB and EndByteValue plus 1 must be divisible by 1 MB or be the end of the archive specified as the archive byte size value minus 1. If RetrievalByteRange is not megabyte aligned, this operation returns a 400 response.

An error occurs if you specify this field for an inventory retrieval job request.

" + }, + "Tier":{ + "shape":"string", + "documentation":"

The tier to use for a select or an archive retrieval job. Valid values are Expedited, Standard, or Bulk. Standard is the default.

" }, "InventoryRetrievalParameters":{ "shape":"InventoryRetrievalJobInput", "documentation":"

Input parameters used for range inventory retrieval.

" + }, + "SelectParameters":{ + "shape":"SelectParameters", + "documentation":"

Contains the parameters that define a job.

" + }, + "OutputLocation":{ + "shape":"OutputLocation", + "documentation":"

Contains information about the location where the select job results are stored.

" } }, "documentation":"

Provides options for defining a job.

" @@ -2252,105 +1715,108 @@ "shape":"string", "documentation":"

400 Bad Request

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if the request results in a vault limit or tags limit being exceeded.

" + } }, + "documentation":"

Returned if the request results in a vault or account limit being exceeded.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if the request results in a vault or account limit being exceeded.

" + "exception":true }, "ListJobsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "limit":{ "shape":"string", + "documentation":"

The maximum number of jobs to be returned. The default limit is 50. The number of jobs returned might be fewer than the specified limit, but the number of returned jobs never exceeds the limit.

", "location":"querystring", - "locationName":"limit", - "documentation":"

Specifies that the response be limited to the specified number of items or fewer. If not specified, the List Jobs operation returns up to 1,000 jobs.

" + "locationName":"limit" }, "marker":{ "shape":"string", + "documentation":"

An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of results started in a previous List Jobs request.

", "location":"querystring", - "locationName":"marker", - "documentation":"

An opaque string used for pagination. This value specifies the job at which the listing of jobs should begin. Get the marker value from a previous List Jobs response. You need only include the marker if you are continuing the pagination of results started in a previous List Jobs request.

" + "locationName":"marker" }, "statuscode":{ "shape":"string", + "documentation":"

The type of job status to return. You can specify the following values: InProgress, Succeeded, or Failed.

", "location":"querystring", - "locationName":"statuscode", - "documentation":"

Specifies the type of job status to return. You can specify the following values: \"InProgress\", \"Succeeded\", or \"Failed\".

" + "locationName":"statuscode" }, "completed":{ "shape":"string", + "documentation":"

The state of the jobs to return. You can specify true or false.

", "location":"querystring", - "locationName":"completed", - "documentation":"

Specifies the state of the jobs to return. You can specify true or false.

" + "locationName":"completed" } }, - "documentation":"

Provides options for retrieving a job list for an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for retrieving a job list for an Amazon S3 Glacier vault.

" }, "ListJobsOutput":{ "type":"structure", "members":{ "JobList":{ "shape":"JobList", - "documentation":"

A list of job objects. Each job object contains metadata describing the job.

" + "documentation":"

A list of job objects. Each job object contains metadata describing the job.

" }, "Marker":{ "shape":"string", - "documentation":"

An opaque string that represents where to continue pagination of the results. You use this value in a new List Jobs request to obtain more jobs in the list. If there are no more jobs, this value is null.

" + "documentation":"

An opaque string used for pagination that specifies the job at which the listing of jobs should begin. You get the marker value from a previous List Jobs response. You only need to include the marker if you are continuing the pagination of the results started in a previous List Jobs request.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "ListMultipartUploadsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "marker":{ "shape":"string", + "documentation":"

An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include the marker if you are continuing the pagination of results started in a previous List Uploads request.

", "location":"querystring", - "locationName":"marker", - "documentation":"

An opaque string used for pagination. This value specifies the upload at which the listing of uploads should begin. Get the marker value from a previous List Uploads response. You need only include the marker if you are continuing the pagination of results started in a previous List Uploads request.

" + "locationName":"marker" }, "limit":{ "shape":"string", + "documentation":"

Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 50 uploads.

", "location":"querystring", - "locationName":"limit", - "documentation":"

Specifies the maximum number of uploads returned in the response body. If this value is not specified, the List Uploads operation returns up to 1,000 uploads.

" + "locationName":"limit" } }, - "documentation":"

Provides options for retrieving list of in-progress multipart uploads for an Amazon Glacier vault.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

Provides options for retrieving list of in-progress multipart uploads for an Amazon Glacier vault.

" }, "ListMultipartUploadsOutput":{ "type":"structure", @@ -2364,48 +1830,48 @@ "documentation":"

An opaque string that represents where to continue pagination of the results. You use the marker in a new List Multipart Uploads request to obtain more uploads in the list. If there are no more uploads, this value is null.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "ListPartsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "uploadId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "uploadId":{ "shape":"string", + "documentation":"

The upload ID of the multipart upload.

", "location":"uri", - "locationName":"uploadId", - "documentation":"

The upload ID of the multipart upload.

" + "locationName":"uploadId" }, "marker":{ "shape":"string", + "documentation":"

An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only include the marker if you are continuing the pagination of results started in a previous List Parts request.

", "location":"querystring", - "locationName":"marker", - "documentation":"

An opaque string used for pagination. This value specifies the part at which the listing of parts should begin. Get the marker value from the response of a previous List Parts response. You need only include the marker if you are continuing the pagination of results started in a previous List Parts request.

" + "locationName":"marker" }, "limit":{ "shape":"string", + "documentation":"

The maximum number of parts to be returned. The default limit is 50. The number of parts returned might be fewer than the specified limit, but the number of returned parts never exceeds the limit.

", "location":"querystring", - "locationName":"limit", - "documentation":"

Specifies the maximum number of parts returned in the response body. If this value is not specified, the List Parts operation returns up to 1,000 uploads.

" + "locationName":"limit" } }, - "documentation":"

Provides options for retrieving a list of parts of an archive that have been uploaded in a specific multipart upload.

", - "required":[ - "accountId", - "vaultName", - "uploadId" - ] + "documentation":"

Provides options for retrieving a list of parts of an archive that have been uploaded in a specific multipart upload.

" }, "ListPartsOutput":{ "type":"structure", @@ -2424,7 +1890,7 @@ }, "PartSizeInBytes":{ "shape":"long", - "documentation":"

The part size in bytes.

" + "documentation":"

The part size in bytes. This is the same value that you specified in the Initiate Multipart Upload request.

" }, "CreationDate":{ "shape":"string", @@ -2432,36 +1898,57 @@ }, "Parts":{ "shape":"PartList", - "documentation":"

A list of the part sizes of the multipart upload.

" + "documentation":"

A list of the part sizes of the multipart upload. Each object in the array contains a RangeBytes and sha256-tree-hash name/value pair.

" }, "Marker":{ "shape":"string", "documentation":"

An opaque string that represents where to continue pagination of the results. You use the marker in a new List Parts request to obtain more jobs in the list. If there are no more parts, this value is null.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" + }, + "ListProvisionedCapacityInput":{ + "type":"structure", + "required":["accountId"], + "members":{ + "accountId":{ + "shape":"string", + "documentation":"

The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "ListProvisionedCapacityOutput":{ + "type":"structure", + "members":{ + "ProvisionedCapacityList":{ + "shape":"ProvisionedCapacityList", + "documentation":"

The response body contains the following JSON fields.

" + } + } }, "ListTagsForVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" } }, - "documentation":"

The input value for ListTagsForVaultInput.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

The input value for ListTagsForVaultInput.

" }, "ListTagsForVaultOutput":{ "type":"structure", @@ -2471,32 +1958,32 @@ "documentation":"

The tags attached to the vault. Each tag is composed of a key and a value.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "ListVaultsInput":{ "type":"structure", + "required":["accountId"], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "marker":{ "shape":"string", + "documentation":"

A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin.

", "location":"querystring", - "locationName":"marker", - "documentation":"

A string used for pagination. The marker specifies the vault ARN after which the listing of vaults should begin.

" + "locationName":"marker" }, "limit":{ "shape":"string", + "documentation":"

The maximum number of vaults to be returned. The default limit is 10. The number of vaults returned might be fewer than the specified limit, but the number of returned vaults never exceeds the limit.

", "location":"querystring", - "locationName":"limit", - "documentation":"

The maximum number of items returned in the response. If you don't specify a value, the List Vaults operation returns up to 1,000 items.

" + "locationName":"limit" } }, - "documentation":"

Provides options to retrieve the vault list owned by the calling user's account. The list provides metadata information for each vault.

", - "required":["accountId"] + "documentation":"

Provides options to retrieve the vault list owned by the calling user's account. The list provides metadata information for each vault.

" }, "ListVaultsOutput":{ "type":"structure", @@ -2510,7 +1997,7 @@ "documentation":"

The vault ARN at which to continue pagination of the results. You use the marker in another List Vaults request to obtain more vaults in the list.

" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "MissingParameterValueException":{ "type":"structure", @@ -2523,17 +2010,40 @@ "shape":"string", "documentation":"

400 Bad Request

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if no authentication data is found for the request.

" + } }, + "documentation":"

Returned if a required header or parameter is missing from the request.

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a required header or parameter is missing from the request.

" + "exception":true }, "NotificationEventList":{ "type":"list", "member":{"shape":"string"} }, "NullableLong":{"type":"long"}, + "OutputLocation":{ + "type":"structure", + "members":{ + "S3":{ + "shape":"S3Location", + "documentation":"

Describes an S3 location that will receive the results of the job request.

" + } + }, + "documentation":"

Contains information about the location where the select job results are stored.

" + }, + "OutputSerialization":{ + "type":"structure", + "members":{ + "csv":{ + "shape":"CSVOutput", + "documentation":"

Describes the serialization of CSV-encoded query results.

" + } + }, + "documentation":"

Describes how the select output is serialized.

" + }, "PartList":{ "type":"list", "member":{"shape":"PartListElement"} @@ -2547,11 +2057,21 @@ }, "SHA256TreeHash":{ "shape":"string", - "documentation":"

The SHA256 tree hash value that Amazon Glacier calculated for the part. This field is never null.

" + "documentation":"

The SHA256 tree hash value that Amazon S3 Glacier calculated for the part. This field is never null.

" } }, "documentation":"

A list of the part sizes of the multipart upload.

" }, + "Permission":{ + "type":"string", + "enum":[ + "FULL_CONTROL", + "WRITE", + "WRITE_ACP", + "READ", + "READ_ACP" + ] + }, "PolicyEnforcedException":{ "type":"structure", "members":{ @@ -2568,35 +2088,87 @@ "documentation":"

InitiateJob request denied by current data retrieval policy.

" } }, + "documentation":"

Returned if a retrieval job would exceed the current data policy's retrieval rate limit. For more information about data retrieval policies,

", "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

Returned if a retrieval job would exceed the current data policy's retrieval rate limit. For more information about data retrieval policies,

" + "exception":true + }, + "ProvisionedCapacityDescription":{ + "type":"structure", + "members":{ + "CapacityId":{ + "shape":"string", + "documentation":"

The ID that identifies the provisioned capacity unit.

" + }, + "StartDate":{ + "shape":"string", + "documentation":"

The date that the provisioned capacity unit was purchased, in Universal Coordinated Time (UTC).

" + }, + "ExpirationDate":{ + "shape":"string", + "documentation":"

The date that the provisioned capacity unit expires, in Universal Coordinated Time (UTC).

" + } + }, + "documentation":"

The definition for a provisioned capacity unit.

" + }, + "ProvisionedCapacityList":{ + "type":"list", + "member":{"shape":"ProvisionedCapacityDescription"} + }, + "PurchaseProvisionedCapacityInput":{ + "type":"structure", + "required":["accountId"], + "members":{ + "accountId":{ + "shape":"string", + "documentation":"

The AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, don't include any hyphens ('-') in the ID.

", + "location":"uri", + "locationName":"accountId" + } + } + }, + "PurchaseProvisionedCapacityOutput":{ + "type":"structure", + "members":{ + "capacityId":{ + "shape":"string", + "documentation":"

The ID that identifies the provisioned capacity unit.

", + "location":"header", + "locationName":"x-amz-capacity-id" + } + } + }, + "QuoteFields":{ + "type":"string", + "enum":[ + "ALWAYS", + "ASNEEDED" + ] }, "RemoveTagsFromVaultInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "TagKeys":{ "shape":"TagKeyList", "documentation":"

A list of tag keys. Each corresponding tag is removed from the vault.

" } }, - "documentation":"

The input value for RemoveTagsFromVaultInput.

", - "required":[ - "accountId", - "vaultName" - ] + "documentation":"

The input value for RemoveTagsFromVaultInput.

" }, "RequestTimeoutException":{ "type":"structure", @@ -2609,11 +2181,14 @@ "shape":"string", "documentation":"

408 Request Timeout

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if, when uploading an archive, Amazon S3 Glacier times out while receiving the upload.

" + } }, + "documentation":"

Returned if, when uploading an archive, Amazon S3 Glacier times out while receiving the upload.

", "error":{"httpStatusCode":408}, - "exception":true, - "documentation":"

Returned if, when uploading an archive, Amazon Glacier times out while receiving the upload.

" + "exception":true }, "ResourceNotFoundException":{ "type":"structure", @@ -2626,11 +2201,74 @@ "shape":"string", "documentation":"

404 Not Found

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

" + } }, + "documentation":"

Returned if the specified resource (such as a vault, upload ID, or job ID) doesn't exist.

", "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

Returned if the specified resource, such as a vault, upload ID, or job ID, does not exist.

" + "exception":true + }, + "S3Location":{ + "type":"structure", + "members":{ + "BucketName":{ + "shape":"string", + "documentation":"

The name of the Amazon S3 bucket where the job results are stored.

" + }, + "Prefix":{ + "shape":"string", + "documentation":"

The prefix that is prepended to the results for this request.

" + }, + "Encryption":{ + "shape":"Encryption", + "documentation":"

Contains information about the encryption used to store the job results in Amazon S3.

" + }, + "CannedACL":{ + "shape":"CannedACL", + "documentation":"

The canned access control list (ACL) to apply to the job results.

" + }, + "AccessControlList":{ + "shape":"AccessControlPolicyList", + "documentation":"

A list of grants that control access to the staged results.

" + }, + "Tagging":{ + "shape":"hashmap", + "documentation":"

The tag-set that is applied to the job results.

" + }, + "UserMetadata":{ + "shape":"hashmap", + "documentation":"

A map of metadata to store with the job results in Amazon S3.

" + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

The storage class used to store the job results.

" + } + }, + "documentation":"

Contains information about the location in Amazon S3 where the select job results are stored.

" + }, + "SelectParameters":{ + "type":"structure", + "members":{ + "InputSerialization":{ + "shape":"InputSerialization", + "documentation":"

Describes the serialization format of the object.

" + }, + "ExpressionType":{ + "shape":"ExpressionType", + "documentation":"

The type of the provided expression, for example SQL.

" + }, + "Expression":{ + "shape":"string", + "documentation":"

The expression that is used to select the object.

" + }, + "OutputSerialization":{ + "shape":"OutputSerialization", + "documentation":"

Describes how the results of the select job are serialized.

" + } + }, + "documentation":"

Contains information about the parameters used for a select.

" }, "ServiceUnavailableException":{ "type":"structure", @@ -2643,43 +2281,50 @@ "shape":"string", "documentation":"

500 Internal Server Error

" }, - "message":{"shape":"string"} + "message":{ + "shape":"string", + "documentation":"

Returned if the service cannot complete the request.

" + } }, + "documentation":"

Returned if the service cannot complete the request.

", "error":{"httpStatusCode":500}, - "exception":true, - "documentation":"

Returned if the service cannot complete the request.

" + "exception":true }, "SetDataRetrievalPolicyInput":{ "type":"structure", + "required":["accountId"], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID. This value must match the AWS account ID associated with the credentials used to sign the request. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you specify your account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "Policy":{ "shape":"DataRetrievalPolicy", "documentation":"

The data retrieval policy in JSON format.

" } }, - "documentation":"

SetDataRetrievalPolicy input.

", - "required":["accountId"] + "documentation":"

SetDataRetrievalPolicy input.

" }, "SetVaultAccessPolicyInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "policy":{ "shape":"VaultAccessPolicy", @@ -2687,26 +2332,26 @@ } }, "documentation":"

SetVaultAccessPolicy input.

", - "required":[ - "accountId", - "vaultName" - ], "payload":"policy" }, "SetVaultNotificationsInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "vaultNotificationConfig":{ "shape":"VaultNotificationConfig", @@ -2714,10 +2359,6 @@ } }, "documentation":"

Provides options to configure notifications that will be sent when specific events happen to a vault.

", - "required":[ - "accountId", - "vaultName" - ], "payload":"vaultNotificationConfig" }, "Size":{"type":"long"}, @@ -2729,6 +2370,14 @@ "Failed" ] }, + "StorageClass":{ + "type":"string", + "enum":[ + "STANDARD", + "REDUCED_REDUNDANCY", + "STANDARD_IA" + ] + }, "Stream":{ "type":"blob", "streaming":true @@ -2744,32 +2393,44 @@ "value":{"shape":"TagValue"} }, "TagValue":{"type":"string"}, + "Type":{ + "type":"string", + "enum":[ + "AmazonCustomerByEmail", + "CanonicalUser", + "Group" + ] + }, "UploadArchiveInput":{ "type":"structure", + "required":[ + "vaultName", + "accountId" + ], "members":{ "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "archiveDescription":{ "shape":"string", + "documentation":"

The optional description of the archive you are uploading.

", "location":"header", - "locationName":"x-amz-archive-description", - "documentation":"

The optional description of the archive you are uploading.

" + "locationName":"x-amz-archive-description" }, "checksum":{ "shape":"string", + "documentation":"

The SHA256 tree hash of the data being uploaded.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The SHA256 tree hash of the data being uploaded.

" + "locationName":"x-amz-sha256-tree-hash" }, "body":{ "shape":"Stream", @@ -2777,10 +2438,6 @@ } }, "documentation":"

Provides options to add an archive to a vault.

", - "required":[ - "vaultName", - "accountId" - ], "payload":"body" }, "UploadListElement":{ @@ -2811,36 +2468,41 @@ }, "UploadMultipartPartInput":{ "type":"structure", + "required":[ + "accountId", + "vaultName", + "uploadId" + ], "members":{ "accountId":{ "shape":"string", + "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single '-' (hyphen), in which case Amazon S3 Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens ('-') in the ID.

", "location":"uri", - "locationName":"accountId", - "documentation":"

The AccountId value is the AWS account ID of the account that owns the vault. You can either specify an AWS account ID or optionally a single apos-apos (hyphen), in which case Amazon Glacier uses the AWS account ID associated with the credentials used to sign the request. If you use an account ID, do not include any hyphens (apos-apos) in the ID.

" + "locationName":"accountId" }, "vaultName":{ "shape":"string", + "documentation":"

The name of the vault.

", "location":"uri", - "locationName":"vaultName", - "documentation":"

The name of the vault.

" + "locationName":"vaultName" }, "uploadId":{ "shape":"string", + "documentation":"

The upload ID of the multipart upload.

", "location":"uri", - "locationName":"uploadId", - "documentation":"

The upload ID of the multipart upload.

" + "locationName":"uploadId" }, "checksum":{ "shape":"string", + "documentation":"

The SHA256 tree hash of the data being uploaded.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The SHA256 tree hash of the data being uploaded.

" + "locationName":"x-amz-sha256-tree-hash" }, "range":{ "shape":"string", + "documentation":"

Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon S3 Glacier uses this information to assemble the archive in the proper sequence. The format of this header follows RFC 2616. An example header is Content-Range:bytes 0-4194303/*.

", "location":"header", - "locationName":"Content-Range", - "documentation":"

Identifies the range of bytes in the assembled archive that will be uploaded in this part. Amazon Glacier uses this information to assemble the archive in the proper sequence. The format of this header follows RFC 2616. An example header is Content-Range:bytes 0-4194303/*.

" + "locationName":"Content-Range" }, "body":{ "shape":"Stream", @@ -2848,11 +2510,6 @@ } }, "documentation":"

Provides options to upload a part of an archive in a multipart upload operation.

", - "required":[ - "accountId", - "vaultName", - "uploadId" - ], "payload":"body" }, "UploadMultipartPartOutput":{ @@ -2860,12 +2517,12 @@ "members":{ "checksum":{ "shape":"string", + "documentation":"

The SHA256 tree hash that Amazon S3 Glacier computed for the uploaded part.

", "location":"header", - "locationName":"x-amz-sha256-tree-hash", - "documentation":"

The SHA256 tree hash that Amazon Glacier computed for the uploaded part.

" + "locationName":"x-amz-sha256-tree-hash" } }, - "documentation":"

Contains the Amazon Glacier response to your request.

" + "documentation":"

Contains the Amazon S3 Glacier response to your request.

" }, "UploadsList":{ "type":"list", @@ -2879,7 +2536,7 @@ "documentation":"

The vault access policy.

" } }, - "documentation":"

Contains the vault access policy.

" + "documentation":"

Contains the vault access policy.

" }, "VaultList":{ "type":"list", @@ -2893,7 +2550,7 @@ "documentation":"

The vault lock policy.

" } }, - "documentation":"

Contains the vault lock policy.

" + "documentation":"

Contains the vault lock policy.

" }, "VaultNotificationConfig":{ "type":"structure", @@ -2904,16 +2561,20 @@ }, "Events":{ "shape":"NotificationEventList", - "documentation":"

A list of one or more events for which Amazon Glacier will send a notification to the specified Amazon SNS topic.

" + "documentation":"

A list of one or more events for which Amazon S3 Glacier will send a notification to the specified Amazon SNS topic.

" } }, "documentation":"

Represents a vault's notification configuration.

" }, "boolean":{"type":"boolean"}, + "hashmap":{ + "type":"map", + "key":{"shape":"string"}, + "value":{"shape":"string"} + }, "httpstatus":{"type":"integer"}, "long":{"type":"long"}, "string":{"type":"string"} }, - "examples":{ - } + "documentation":"

Amazon S3 Glacier (Glacier) is a storage solution for \"cold data.\"

Glacier is an extremely low-cost storage service that provides secure, durable, and easy-to-use storage for data backup and archival. With Glacier, customers can store their data cost effectively for months, years, or decades. Glacier also enables customers to offload the administrative burdens of operating and scaling storage to AWS, so they don't have to worry about capacity planning, hardware provisioning, data replication, hardware failure and recovery, or time-consuming hardware migrations.

Glacier is a great storage choice when low storage cost is paramount and your data is rarely retrieved. If your application requires fast or frequent access to your data, consider using Amazon S3. For more information, see Amazon Simple Storage Service (Amazon S3).

You can store any kind of data in any format. There is no maximum limit on the total amount of data you can store in Glacier.

If you are a first-time user of Glacier, we recommend that you begin by reading the following sections in the Amazon S3 Glacier Developer Guide:

  • What is Amazon S3 Glacier - This section of the Developer Guide describes the underlying data model, the operations it supports, and the AWS SDKs that you can use to interact with the service.

  • Getting Started with Amazon S3 Glacier - The Getting Started section walks you through the process of creating a vault, uploading archives, creating jobs to download archives, retrieving the job output, and deleting archives.

" } diff -Nru python-botocore-1.4.70/botocore/data/glacier/2012-06-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/glacier/2012-06-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glacier/2012-06-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,39 @@ +{ + "version": 2, + "waiters": { + "VaultExists": { + "operation": "DescribeVault", + "delay": 3, + "maxAttempts": 15, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "VaultNotExists": { + "operation": "DescribeVault", + "delay": 3, + "maxAttempts": 15, + "acceptors": [ + { + "state": "retry", + "matcher": "status", + "expected": 200 + }, + { + "state": "success", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/globalaccelerator/2018-08-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/globalaccelerator/2018-08-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/globalaccelerator/2018-08-08/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/globalaccelerator/2018-08-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListAccelerators": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Accelerators" + }, + "ListEndpointGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EndpointGroups" + }, + "ListListeners": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Listeners" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/globalaccelerator/2018-08-08/service-2.json python-botocore-1.16.19+repack/botocore/data/globalaccelerator/2018-08-08/service-2.json --- python-botocore-1.4.70/botocore/data/globalaccelerator/2018-08-08/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/globalaccelerator/2018-08-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1626 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-08-08", + "endpointPrefix":"globalaccelerator", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Global Accelerator", + "serviceId":"Global Accelerator", + "signatureVersion":"v4", + "signingName":"globalaccelerator", + "targetPrefix":"GlobalAccelerator_V20180706", + "uid":"globalaccelerator-2018-08-08" + }, + "operations":{ + "AdvertiseByoipCidr":{ + "name":"AdvertiseByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AdvertiseByoipCidrRequest"}, + "output":{"shape":"AdvertiseByoipCidrResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ByoipCidrNotFoundException"}, + {"shape":"IncorrectCidrStateException"} + ], + "documentation":"

Advertises an IPv4 address range that is provisioned for use with your AWS resources through bring your own IP addresses (BYOIP). It can take a few minutes before traffic to the specified addresses starts routing to AWS because of propagation delays. To see an AWS CLI example of advertising an address range, scroll down to Example.

To stop advertising the BYOIP address range, use WithdrawByoipCidr.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + }, + "CreateAccelerator":{ + "name":"CreateAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAcceleratorRequest"}, + "output":{"shape":"CreateAcceleratorResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Create an accelerator. An accelerator includes one or more listeners that process inbound connections and direct traffic to one or more endpoint groups, each of which includes endpoints, such as Network Load Balancers. To see an AWS CLI example of creating an accelerator, scroll down to Example.

If you bring your own IP address ranges to AWS Global Accelerator (BYOIP), you can assign IP addresses from your own pool to your accelerator as the static IP address entry points. Only one IP address from each of your IP address ranges can be used for each accelerator.

You must specify the US West (Oregon) Region to create or update accelerators.

" + }, + "CreateEndpointGroup":{ + "name":"CreateEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEndpointGroupRequest"}, + "output":{"shape":"CreateEndpointGroupResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"EndpointGroupAlreadyExistsException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Create an endpoint group for the specified listener. An endpoint group is a collection of endpoints in one AWS Region. To see an AWS CLI example of creating an endpoint group, scroll down to Example.

" + }, + "CreateListener":{ + "name":"CreateListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateListenerRequest"}, + "output":{"shape":"CreateListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InvalidPortRangeException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Create a listener to process inbound connections from clients to an accelerator. Connections arrive to assigned static IP addresses on a port, port range, or list of port ranges that you specify. To see an AWS CLI example of creating a listener, scroll down to Example.

" + }, + "DeleteAccelerator":{ + "name":"DeleteAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAcceleratorRequest"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"AcceleratorNotDisabledException"}, + {"shape":"AssociatedListenerFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Delete an accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

When you create an accelerator, by default, Global Accelerator provides you with a set of two static IP addresses. Alternatively, you can bring your own IP address ranges to Global Accelerator and assign IP addresses from those ranges.

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide.

" + }, + "DeleteEndpointGroup":{ + "name":"DeleteEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEndpointGroupRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Delete an endpoint group from a listener.

" + }, + "DeleteListener":{ + "name":"DeleteListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteListenerRequest"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"AssociatedEndpointGroupFoundException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Delete a listener from an accelerator.

" + }, + "DeprovisionByoipCidr":{ + "name":"DeprovisionByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprovisionByoipCidrRequest"}, + "output":{"shape":"DeprovisionByoipCidrResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ByoipCidrNotFoundException"}, + {"shape":"IncorrectCidrStateException"} + ], + "documentation":"

Releases the specified address range that you provisioned to use with your AWS resources through bring your own IP addresses (BYOIP) and deletes the corresponding address pool. To see an AWS CLI example of deprovisioning an address range, scroll down to Example.

Before you can release an address range, you must stop advertising it by using WithdrawByoipCidr and you must not have any accelerators that are using static IP addresses allocated from its address range.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + }, + "DescribeAccelerator":{ + "name":"DescribeAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAcceleratorRequest"}, + "output":{"shape":"DescribeAcceleratorResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Describe an accelerator. To see an AWS CLI example of describing an accelerator, scroll down to Example.

" + }, + "DescribeAcceleratorAttributes":{ + "name":"DescribeAcceleratorAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAcceleratorAttributesRequest"}, + "output":{"shape":"DescribeAcceleratorAttributesResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Describe the attributes of an accelerator. To see an AWS CLI example of describing the attributes of an accelerator, scroll down to Example.

" + }, + "DescribeEndpointGroup":{ + "name":"DescribeEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointGroupRequest"}, + "output":{"shape":"DescribeEndpointGroupResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Describe an endpoint group. To see an AWS CLI example of describing an endpoint group, scroll down to Example.

" + }, + "DescribeListener":{ + "name":"DescribeListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeListenerRequest"}, + "output":{"shape":"DescribeListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Describe a listener. To see an AWS CLI example of describing a listener, scroll down to Example.

" + }, + "ListAccelerators":{ + "name":"ListAccelerators", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAcceleratorsRequest"}, + "output":{"shape":"ListAcceleratorsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

List the accelerators for an AWS account. To see an AWS CLI example of listing the accelerators for an AWS account, scroll down to Example.

" + }, + "ListByoipCidrs":{ + "name":"ListByoipCidrs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListByoipCidrsRequest"}, + "output":{"shape":"ListByoipCidrsResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists the IP address ranges that were specified in calls to ProvisionByoipCidr, including the current state and a history of state changes.

To see an AWS CLI example of listing BYOIP CIDR addresses, scroll down to Example.

" + }, + "ListEndpointGroups":{ + "name":"ListEndpointGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEndpointGroupsRequest"}, + "output":{"shape":"ListEndpointGroupsResponse"}, + "errors":[ + {"shape":"ListenerNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

List the endpoint groups that are associated with a listener. To see an AWS CLI example of listing the endpoint groups for listener, scroll down to Example.

" + }, + "ListListeners":{ + "name":"ListListeners", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListListenersRequest"}, + "output":{"shape":"ListListenersResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

List the listeners for an accelerator. To see an AWS CLI example of listing the listeners for an accelerator, scroll down to Example.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

List all tags for an accelerator. To see an AWS CLI example of listing tags for an accelerator, scroll down to Example.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + }, + "ProvisionByoipCidr":{ + "name":"ProvisionByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ProvisionByoipCidrRequest"}, + "output":{"shape":"ProvisionByoipCidrResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"IncorrectCidrStateException"} + ], + "documentation":"

Provisions an IP address range to use with your AWS resources through bring your own IP addresses (BYOIP) and creates a corresponding address pool. After the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.

To see an AWS CLI example of provisioning an address range for BYOIP, scroll down to Example.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Add tags to an accelerator resource. To see an AWS CLI example of adding tags to an accelerator, scroll down to Example.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Remove tags from a Global Accelerator resource. When you specify a tag key, the action removes both that key and its associated value. To see an AWS CLI example of removing tags from an accelerator, scroll down to Example. The operation succeeds even if you attempt to remove tags from an accelerator that was already removed.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + }, + "UpdateAccelerator":{ + "name":"UpdateAccelerator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAcceleratorRequest"}, + "output":{"shape":"UpdateAcceleratorResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Update an accelerator. To see an AWS CLI example of updating an accelerator, scroll down to Example.

You must specify the US West (Oregon) Region to create or update accelerators.

" + }, + "UpdateAcceleratorAttributes":{ + "name":"UpdateAcceleratorAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAcceleratorAttributesRequest"}, + "output":{"shape":"UpdateAcceleratorAttributesResponse"}, + "errors":[ + {"shape":"AcceleratorNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Update the attributes for an accelerator. To see an AWS CLI example of updating an accelerator to enable flow logs, scroll down to Example.

" + }, + "UpdateEndpointGroup":{ + "name":"UpdateEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEndpointGroupRequest"}, + "output":{"shape":"UpdateEndpointGroupResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"EndpointGroupNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Update an endpoint group. To see an AWS CLI example of updating an endpoint group, scroll down to Example.

" + }, + "UpdateListener":{ + "name":"UpdateListener", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateListenerRequest"}, + "output":{"shape":"UpdateListenerResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidPortRangeException"}, + {"shape":"ListenerNotFoundException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Update a listener. To see an AWS CLI example of updating listener, scroll down to Example.

" + }, + "WithdrawByoipCidr":{ + "name":"WithdrawByoipCidr", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"WithdrawByoipCidrRequest"}, + "output":{"shape":"WithdrawByoipCidrResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ByoipCidrNotFoundException"}, + {"shape":"IncorrectCidrStateException"} + ], + "documentation":"

Stops advertising an address range that is provisioned as an address pool. You can perform this operation at most once every 10 seconds, even if you specify different address ranges each time. To see an AWS CLI example of withdrawing an address range for BYOIP so it will no longer be advertised by AWS, scroll down to Example.

It can take a few minutes before traffic to the specified addresses stops routing to AWS because of propagation delays.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + } + }, + "shapes":{ + "Accelerator":{ + "type":"structure", + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator.

" + }, + "Name":{ + "shape":"GenericString", + "documentation":"

The name of the accelerator. The name must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The value for the address type must be IPv4.

" + }, + "Enabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether the accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, accelerator can be deleted.

" + }, + "IpSets":{ + "shape":"IpSets", + "documentation":"

The static IP addresses that Global Accelerator associates with the accelerator.

" + }, + "DnsName":{ + "shape":"GenericString", + "documentation":"

The Domain Name System (DNS) name that Global Accelerator creates that points to your accelerator's static IP addresses.

The naming convention for the DNS name is the following: A lowercase letter a, followed by a 16-bit random hex string, followed by .awsglobalaccelerator.com. For example: a1234567890abcdef.awsglobalaccelerator.com.

For more information about the default DNS name, see Support for DNS Addressing in Global Accelerator in the AWS Global Accelerator Developer Guide.

" + }, + "Status":{ + "shape":"AcceleratorStatus", + "documentation":"

Describes the deployment status of the accelerator.

" + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the accelerator was created.

" + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that the accelerator was last modified.

" + } + }, + "documentation":"

An accelerator is a complex type that includes one or more listeners that process inbound connections and then direct traffic to one or more endpoint groups, each of which includes endpoints, such as load balancers.

" + }, + "AcceleratorAttributes":{ + "type":"structure", + "members":{ + "FlowLogsEnabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.

" + }, + "FlowLogsS3Bucket":{ + "shape":"GenericString", + "documentation":"

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.

" + }, + "FlowLogsS3Prefix":{ + "shape":"GenericString", + "documentation":"

The prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true.

If you don’t specify a prefix, the flow logs are stored in the root of the bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

s3-bucket_name//AWSLogs/aws_account_id

" + } + }, + "documentation":"

Attributes of an accelerator.

" + }, + "AcceleratorNotDisabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The accelerator that you specified could not be disabled.

", + "exception":true + }, + "AcceleratorNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The accelerator that you specified doesn't exist.

", + "exception":true + }, + "AcceleratorStatus":{ + "type":"string", + "enum":[ + "DEPLOYED", + "IN_PROGRESS" + ] + }, + "Accelerators":{ + "type":"list", + "member":{"shape":"Accelerator"} + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You don't have access permission.

", + "exception":true + }, + "AdvertiseByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"GenericString", + "documentation":"

The address range, in CIDR notation. This must be the exact range that you provisioned. You can't advertise only a portion of the provisioned range.

" + } + } + }, + "AdvertiseByoipCidrResponse":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

" + } + } + }, + "AssociatedEndpointGroupFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The listener that you specified has an endpoint group associated with it. You must remove all dependent resources from a listener before you can delete it.

", + "exception":true + }, + "AssociatedListenerFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The accelerator that you specified has a listener associated with it. You must remove all dependent resources from an accelerator before you can delete it.

", + "exception":true + }, + "ByoipCidr":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"GenericString", + "documentation":"

The address range, in CIDR notation.

" + }, + "State":{ + "shape":"ByoipCidrState", + "documentation":"

The state of the address pool.

" + }, + "Events":{ + "shape":"ByoipCidrEvents", + "documentation":"

A history of status changes for an IP address range that that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

" + } + }, + "documentation":"

Information about an IP address range that is provisioned for use with your AWS resources through bring your own IP address (BYOIP).

The following describes each BYOIP State that your IP address range can be in.

  • PENDING_PROVISIONING — You’ve submitted a request to provision an IP address range but it is not yet provisioned with AWS Global Accelerator.

  • READY — The address range is provisioned with AWS Global Accelerator and can be advertised.

  • PENDING_ADVERTISING — You’ve submitted a request for AWS Global Accelerator to advertise an address range but it is not yet being advertised.

  • ADVERTISING — The address range is being advertised by AWS Global Accelerator.

  • PENDING_WITHDRAWING — You’ve submitted a request to withdraw an address range from being advertised but it is still being advertised by AWS Global Accelerator.

  • PENDING_DEPROVISIONING — You’ve submitted a request to deprovision an address range from AWS Global Accelerator but it is still provisioned.

  • DEPROVISIONED — The address range is deprovisioned from AWS Global Accelerator.

  • FAILED_PROVISION — The request to provision the address range from AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILED_ADVERTISING — The request for AWS Global Accelerator to advertise the address range was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILED_WITHDRAW — The request to withdraw the address range from advertising by AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

  • FAILED_DEPROVISION — The request to deprovision the address range from AWS Global Accelerator was not successful. Please make sure that you provide all of the correct information, and try again. If the request fails a second time, contact AWS support.

" + }, + "ByoipCidrEvent":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"GenericString", + "documentation":"

A string that contains an Event message describing changes that you make in the status of an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

" + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

A timestamp when you make a status change for an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

" + } + }, + "documentation":"

A complex type that contains a Message and a Timestamp value for changes that you make in the status an IP address range that you bring to AWS Global Accelerator through bring your own IP address (BYOIP).

" + }, + "ByoipCidrEvents":{ + "type":"list", + "member":{"shape":"ByoipCidrEvent"} + }, + "ByoipCidrNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The CIDR that you specified was not found or is incorrect.

", + "exception":true + }, + "ByoipCidrState":{ + "type":"string", + "enum":[ + "PENDING_PROVISIONING", + "READY", + "PENDING_ADVERTISING", + "ADVERTISING", + "PENDING_WITHDRAWING", + "PENDING_DEPROVISIONING", + "DEPROVISIONED", + "FAILED_PROVISION", + "FAILED_ADVERTISING", + "FAILED_WITHDRAW", + "FAILED_DEPROVISION" + ] + }, + "ByoipCidrs":{ + "type":"list", + "member":{"shape":"ByoipCidr"} + }, + "CidrAuthorizationContext":{ + "type":"structure", + "required":[ + "Message", + "Signature" + ], + "members":{ + "Message":{ + "shape":"GenericString", + "documentation":"

The plain-text authorization message for the prefix and account.

" + }, + "Signature":{ + "shape":"GenericString", + "documentation":"

The signed authorization message for the prefix and account.

" + } + }, + "documentation":"

Provides authorization for Amazon to bring a specific IP address range to a specific AWS account using bring your own IP addresses (BYOIP).

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + }, + "ClientAffinity":{ + "type":"string", + "enum":[ + "NONE", + "SOURCE_IP" + ] + }, + "CreateAcceleratorRequest":{ + "type":"structure", + "required":[ + "Name", + "IdempotencyToken" + ], + "members":{ + "Name":{ + "shape":"GenericString", + "documentation":"

The name of an accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The value for the address type must be IPv4.

" + }, + "IpAddresses":{ + "shape":"IpAddresses", + "documentation":"

Optionally, if you've added your own IP address pool to Global Accelerator, you can choose IP addresses from your own pool to use for the accelerator's static IP addresses. You can specify one or two addresses, separated by a comma. Do not include the /32 suffix.

If you specify only one IP address from your IP address range, Global Accelerator assigns a second static IP address for the accelerator from the AWS IP address pool.

For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide.

" + }, + "Enabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, an accelerator cannot be deleted. If set to false, the accelerator can be deleted.

" + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of an accelerator.

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

Create tags for an accelerator.

For more information, see Tagging in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + } + } + }, + "CreateAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{ + "shape":"Accelerator", + "documentation":"

The accelerator that is created by specifying a listener and the supported IP address types.

" + } + } + }, + "CreateEndpointGroupRequest":{ + "type":"structure", + "required":[ + "ListenerArn", + "EndpointGroupRegion", + "IdempotencyToken" + ], + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + }, + "EndpointGroupRegion":{ + "shape":"GenericString", + "documentation":"

The name of the AWS Region where the endpoint group is located. A listener can have only one endpoint group in a specific Region.

" + }, + "EndpointConfigurations":{ + "shape":"EndpointConfigurations", + "documentation":"

The list of endpoint objects.

" + }, + "TrafficDialPercentage":{ + "shape":"TrafficDialPercentage", + "documentation":"

The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener.

Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing.

The default value is 100.

" + }, + "HealthCheckPort":{ + "shape":"HealthCheckPort", + "documentation":"

The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If listener port is a list of ports, Global Accelerator uses the first port in the list.

" + }, + "HealthCheckProtocol":{ + "shape":"HealthCheckProtocol", + "documentation":"

The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.

" + }, + "HealthCheckPath":{ + "shape":"GenericString", + "documentation":"

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

" + }, + "HealthCheckIntervalSeconds":{ + "shape":"HealthCheckIntervalSeconds", + "documentation":"

The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

" + }, + "ThresholdCount":{ + "shape":"ThresholdCount", + "documentation":"

The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.

" + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", + "idempotencyToken":true + } + } + }, + "CreateEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{ + "shape":"EndpointGroup", + "documentation":"

The information about the endpoint group that was created.

" + } + } + }, + "CreateListenerRequest":{ + "type":"structure", + "required":[ + "AcceleratorArn", + "PortRanges", + "Protocol", + "IdempotencyToken" + ], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of your accelerator.

" + }, + "PortRanges":{ + "shape":"PortRanges", + "documentation":"

The list of port ranges to support for connections from clients to your accelerator.

" + }, + "Protocol":{ + "shape":"Protocol", + "documentation":"

The protocol for connections from clients to your accelerator.

" + }, + "ClientAffinity":{ + "shape":"ClientAffinity", + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency—that is, the uniqueness—of the request.

", + "idempotencyToken":true + } + } + }, + "CreateListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{ + "shape":"Listener", + "documentation":"

The listener that you've created.

" + } + } + }, + "DeleteAcceleratorRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of an accelerator.

" + } + } + }, + "DeleteEndpointGroupRequest":{ + "type":"structure", + "required":["EndpointGroupArn"], + "members":{ + "EndpointGroupArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the endpoint group to delete.

" + } + } + }, + "DeleteListenerRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + } + } + }, + "DeprovisionByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"GenericString", + "documentation":"

The address range, in CIDR notation. The prefix must be the same prefix that you specified when you provisioned the address range.

" + } + } + }, + "DeprovisionByoipCidrResponse":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

" + } + } + }, + "DescribeAcceleratorAttributesRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator with the attributes that you want to describe.

" + } + } + }, + "DescribeAcceleratorAttributesResponse":{ + "type":"structure", + "members":{ + "AcceleratorAttributes":{ + "shape":"AcceleratorAttributes", + "documentation":"

The attributes of the accelerator.

" + } + } + }, + "DescribeAcceleratorRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator to describe.

" + } + } + }, + "DescribeAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{ + "shape":"Accelerator", + "documentation":"

The description of the accelerator.

" + } + } + }, + "DescribeEndpointGroupRequest":{ + "type":"structure", + "required":["EndpointGroupArn"], + "members":{ + "EndpointGroupArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the endpoint group to describe.

" + } + } + }, + "DescribeEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{ + "shape":"EndpointGroup", + "documentation":"

The description of an endpoint group.

" + } + } + }, + "DescribeListenerRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener to describe.

" + } + } + }, + "DescribeListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{ + "shape":"Listener", + "documentation":"

The description of a listener.

" + } + } + }, + "EndpointConfiguration":{ + "type":"structure", + "members":{ + "EndpointId":{ + "shape":"GenericString", + "documentation":"

An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID. For EC2 instances, this is the EC2 instance ID.

An Application Load Balancer can be either internal or internet-facing.

" + }, + "Weight":{ + "shape":"EndpointWeight", + "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" + }, + "ClientIPPreservationEnabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator.

For more information, see Preserve Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + } + }, + "documentation":"

A complex type for endpoints.

" + }, + "EndpointConfigurations":{ + "type":"list", + "member":{"shape":"EndpointConfiguration"}, + "max":10, + "min":0 + }, + "EndpointDescription":{ + "type":"structure", + "members":{ + "EndpointId":{ + "shape":"GenericString", + "documentation":"

An ID for the endpoint. If the endpoint is a Network Load Balancer or Application Load Balancer, this is the Amazon Resource Name (ARN) of the resource. If the endpoint is an Elastic IP address, this is the Elastic IP address allocation ID. For EC2 instances, this is the EC2 instance ID.

An Application Load Balancer can be either internal or internet-facing.

" + }, + "Weight":{ + "shape":"EndpointWeight", + "documentation":"

The weight associated with the endpoint. When you add weights to endpoints, you configure AWS Global Accelerator to route traffic based on proportions that you specify. For example, you might specify endpoint weights of 4, 5, 5, and 6 (sum=20). The result is that 4/20 of your traffic, on average, is routed to the first endpoint, 5/20 is routed both to the second and third endpoints, and 6/20 is routed to the last endpoint. For more information, see Endpoint Weights in the AWS Global Accelerator Developer Guide.

" + }, + "HealthState":{ + "shape":"HealthState", + "documentation":"

The health status of the endpoint.

" + }, + "HealthReason":{ + "shape":"GenericString", + "documentation":"

The reason code associated with why the endpoint is not healthy. If the endpoint state is healthy, a reason code is not provided.

If the endpoint state is unhealthy, the reason code can be one of the following values:

  • Timeout: The health check requests to the endpoint are timing out before returning a status.

  • Failed: The health check failed, for example because the endpoint response was invalid (malformed).

If the endpoint state is initial, the reason code can be one of the following values:

  • ProvisioningInProgress: The endpoint is in the process of being provisioned.

  • InitialHealthChecking: Global Accelerator is still setting up the minimum number of health checks for the endpoint that are required to determine its health status.

" + }, + "ClientIPPreservationEnabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether client IP address preservation is enabled for an Application Load Balancer endpoint. The value is true or false. The default value is true for new accelerators.

If the value is set to true, the client's IP address is preserved in the X-Forwarded-For request header as traffic travels to applications on the Application Load Balancer endpoint fronted by the accelerator.

For more information, see Viewing Client IP Addresses in AWS Global Accelerator in the AWS Global Accelerator Developer Guide.

" + } + }, + "documentation":"

A complex type for an endpoint. Each endpoint group can include one or more endpoints, such as load balancers.

" + }, + "EndpointDescriptions":{ + "type":"list", + "member":{"shape":"EndpointDescription"} + }, + "EndpointGroup":{ + "type":"structure", + "members":{ + "EndpointGroupArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the endpoint group.

" + }, + "EndpointGroupRegion":{ + "shape":"GenericString", + "documentation":"

The AWS Region that this endpoint group belongs.

" + }, + "EndpointDescriptions":{ + "shape":"EndpointDescriptions", + "documentation":"

The list of endpoint objects.

" + }, + "TrafficDialPercentage":{ + "shape":"TrafficDialPercentage", + "documentation":"

The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener.

Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing.

The default value is 100.

" + }, + "HealthCheckPort":{ + "shape":"HealthCheckPort", + "documentation":"

The port that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group.

The default port is the port for the listener that this endpoint group is associated with. If the listener port is a list, Global Accelerator uses the first specified port in the list of ports.

" + }, + "HealthCheckProtocol":{ + "shape":"HealthCheckProtocol", + "documentation":"

The protocol that Global Accelerator uses to perform health checks on endpoints that are part of this endpoint group. The default value is TCP.

" + }, + "HealthCheckPath":{ + "shape":"GenericString", + "documentation":"

If the protocol is HTTP/S, then this value provides the ping path that Global Accelerator uses for the destination on the endpoints for health checks. The default is slash (/).

" + }, + "HealthCheckIntervalSeconds":{ + "shape":"HealthCheckIntervalSeconds", + "documentation":"

The time—10 seconds or 30 seconds—between health checks for each endpoint. The default value is 30.

" + }, + "ThresholdCount":{ + "shape":"ThresholdCount", + "documentation":"

The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.

" + } + }, + "documentation":"

A complex type for the endpoint group. An AWS Region can have only one endpoint group for a specific listener.

" + }, + "EndpointGroupAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The endpoint group that you specified already exists.

", + "exception":true + }, + "EndpointGroupNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The endpoint group that you specified doesn't exist.

", + "exception":true + }, + "EndpointGroups":{ + "type":"list", + "member":{"shape":"EndpointGroup"} + }, + "EndpointWeight":{ + "type":"integer", + "max":255, + "min":0 + }, + "ErrorMessage":{"type":"string"}, + "GenericBoolean":{"type":"boolean"}, + "GenericString":{ + "type":"string", + "max":255 + }, + "HealthCheckIntervalSeconds":{ + "type":"integer", + "max":30, + "min":10 + }, + "HealthCheckPort":{ + "type":"integer", + "max":65535, + "min":1 + }, + "HealthCheckProtocol":{ + "type":"string", + "enum":[ + "TCP", + "HTTP", + "HTTPS" + ] + }, + "HealthState":{ + "type":"string", + "enum":[ + "INITIAL", + "HEALTHY", + "UNHEALTHY" + ] + }, + "IdempotencyToken":{ + "type":"string", + "max":255 + }, + "IncorrectCidrStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The CIDR that you specified is not valid for this action. For example, the state of the CIDR might be incorrect for this action.

", + "exception":true + }, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

There was an internal error for AWS Global Accelerator.

", + "exception":true + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An argument that you specified is invalid.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

There isn't another item to return.

", + "exception":true + }, + "InvalidPortRangeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The port numbers that you specified are not valid numbers or are not unique for this accelerator.

", + "exception":true + }, + "IpAddress":{"type":"string"}, + "IpAddressType":{ + "type":"string", + "enum":["IPV4"] + }, + "IpAddresses":{ + "type":"list", + "member":{"shape":"IpAddress"}, + "max":2, + "min":0 + }, + "IpSet":{ + "type":"structure", + "members":{ + "IpFamily":{ + "shape":"GenericString", + "documentation":"

The types of IP addresses included in this IP set.

" + }, + "IpAddresses":{ + "shape":"IpAddresses", + "documentation":"

The array of IP addresses in the IP address set. An IP address set can have a maximum of two IP addresses.

" + } + }, + "documentation":"

A complex type for the set of IP addresses for an accelerator.

" + }, + "IpSets":{ + "type":"list", + "member":{"shape":"IpSet"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Processing your request would cause you to exceed an AWS Global Accelerator limit.

", + "exception":true + }, + "ListAcceleratorsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of Global Accelerator objects that you want to return with this call. The default value is 10.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListAcceleratorsResponse":{ + "type":"structure", + "members":{ + "Accelerators":{ + "shape":"Accelerators", + "documentation":"

The list of accelerators for a customer account.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListByoipCidrsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next page of results.

" + } + } + }, + "ListByoipCidrsResponse":{ + "type":"structure", + "members":{ + "ByoipCidrs":{ + "shape":"ByoipCidrs", + "documentation":"

Information about your address ranges.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next page of results.

" + } + } + }, + "ListEndpointGroupsRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of endpoint group objects that you want to return with this call. The default value is 10.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListEndpointGroupsResponse":{ + "type":"structure", + "members":{ + "EndpointGroups":{ + "shape":"EndpointGroups", + "documentation":"

The list of the endpoint groups associated with a listener.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListListenersRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator for which you want to list listener objects.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The number of listener objects that you want to return with this call. The default value is 10.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListListenersResponse":{ + "type":"structure", + "members":{ + "Listeners":{ + "shape":"Listeners", + "documentation":"

The list of listeners for an accelerator.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The token for the next set of results. You receive this token from a previous call.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator to list tags for. An ARN uniquely identifies an accelerator.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

Root level tag for the Tags parameters.

" + } + } + }, + "Listener":{ + "type":"structure", + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener.

" + }, + "PortRanges":{ + "shape":"PortRanges", + "documentation":"

The list of port ranges for the connections from clients to the accelerator.

" + }, + "Protocol":{ + "shape":"Protocol", + "documentation":"

The protocol for the connections from clients to the accelerator.

" + }, + "ClientAffinity":{ + "shape":"ClientAffinity", + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" + } + }, + "documentation":"

A complex type for a listener.

" + }, + "ListenerNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The listener that you specified doesn't exist.

", + "exception":true + }, + "Listeners":{ + "type":"list", + "member":{"shape":"Listener"} + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PortNumber":{ + "type":"integer", + "max":65535, + "min":1 + }, + "PortRange":{ + "type":"structure", + "members":{ + "FromPort":{ + "shape":"PortNumber", + "documentation":"

The first port in the range of ports, inclusive.

" + }, + "ToPort":{ + "shape":"PortNumber", + "documentation":"

The last port in the range of ports, inclusive.

" + } + }, + "documentation":"

A complex type for a range of ports for a listener.

" + }, + "PortRanges":{ + "type":"list", + "member":{"shape":"PortRange"}, + "max":10, + "min":1 + }, + "Protocol":{ + "type":"string", + "enum":[ + "TCP", + "UDP" + ] + }, + "ProvisionByoipCidrRequest":{ + "type":"structure", + "required":[ + "Cidr", + "CidrAuthorizationContext" + ], + "members":{ + "Cidr":{ + "shape":"GenericString", + "documentation":"

The public IPv4 address range, in CIDR notation. The most specific IP prefix that you can specify is /24. The address range cannot overlap with another address range that you've brought to this or another Region.

" + }, + "CidrAuthorizationContext":{ + "shape":"CidrAuthorizationContext", + "documentation":"

A signed document that proves that you are authorized to bring the specified IP address range to Amazon using BYOIP.

" + } + } + }, + "ProvisionByoipCidrResponse":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address range.

" + } + } + }, + "ResourceArn":{ + "type":"string", + "max":1011, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A string that contains a Tag key.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

A string that contains a Tag value.

" + } + }, + "documentation":"

A complex type that contains a Tag key and Tag value.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the Global Accelerator resource to add tags to. An ARN uniquely identifies a resource.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags to add to a resource. A tag consists of a key and a value that you define.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "ThresholdCount":{ + "type":"integer", + "max":10, + "min":1 + }, + "Timestamp":{"type":"timestamp"}, + "TrafficDialPercentage":{ + "type":"float", + "max":100, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the Global Accelerator resource to remove tags from. An ARN uniquely identifies a resource.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

The tag key pairs that you want to remove from the specified resources.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAcceleratorAttributesRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator that you want to update.

" + }, + "FlowLogsEnabled":{ + "shape":"GenericBoolean", + "documentation":"

Update whether flow logs are enabled. The default value is false. If the value is true, FlowLogsS3Bucket and FlowLogsS3Prefix must be specified.

For more information, see Flow Logs in the AWS Global Accelerator Developer Guide.

" + }, + "FlowLogsS3Bucket":{ + "shape":"GenericString", + "documentation":"

The name of the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true. The bucket must exist and have a bucket policy that grants AWS Global Accelerator permission to write to the bucket.

" + }, + "FlowLogsS3Prefix":{ + "shape":"GenericString", + "documentation":"

Update the prefix for the location in the Amazon S3 bucket for the flow logs. Attribute is required if FlowLogsEnabled is true.

If you don’t specify a prefix, the flow logs are stored in the root of the bucket. If you specify slash (/) for the S3 bucket prefix, the log file bucket folder structure will include a double slash (//), like the following:

s3-bucket_name//AWSLogs/aws_account_id

" + } + } + }, + "UpdateAcceleratorAttributesResponse":{ + "type":"structure", + "members":{ + "AcceleratorAttributes":{ + "shape":"AcceleratorAttributes", + "documentation":"

Updated attributes for the accelerator.

" + } + } + }, + "UpdateAcceleratorRequest":{ + "type":"structure", + "required":["AcceleratorArn"], + "members":{ + "AcceleratorArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the accelerator to update.

" + }, + "Name":{ + "shape":"GenericString", + "documentation":"

The name of the accelerator. The name can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens (-), and must not begin or end with a hyphen.

" + }, + "IpAddressType":{ + "shape":"IpAddressType", + "documentation":"

The value for the address type must be IPv4.

" + }, + "Enabled":{ + "shape":"GenericBoolean", + "documentation":"

Indicates whether an accelerator is enabled. The value is true or false. The default value is true.

If the value is set to true, the accelerator cannot be deleted. If set to false, the accelerator can be deleted.

" + } + } + }, + "UpdateAcceleratorResponse":{ + "type":"structure", + "members":{ + "Accelerator":{ + "shape":"Accelerator", + "documentation":"

Information about the updated accelerator.

" + } + } + }, + "UpdateEndpointGroupRequest":{ + "type":"structure", + "required":["EndpointGroupArn"], + "members":{ + "EndpointGroupArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the endpoint group.

" + }, + "EndpointConfigurations":{ + "shape":"EndpointConfigurations", + "documentation":"

The list of endpoint objects.

" + }, + "TrafficDialPercentage":{ + "shape":"TrafficDialPercentage", + "documentation":"

The percentage of traffic to send to an AWS Region. Additional traffic is distributed to other endpoint groups for this listener.

Use this action to increase (dial up) or decrease (dial down) traffic to a specific Region. The percentage is applied to the traffic that would otherwise have been routed to the Region based on optimal routing.

The default value is 100.

" + }, + "HealthCheckPort":{ + "shape":"HealthCheckPort", + "documentation":"

The port that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default port is the listener port that this endpoint group is associated with. If the listener port is a list of ports, Global Accelerator uses the first port in the list.

" + }, + "HealthCheckProtocol":{ + "shape":"HealthCheckProtocol", + "documentation":"

The protocol that AWS Global Accelerator uses to check the health of endpoints that are part of this endpoint group. The default value is TCP.

" + }, + "HealthCheckPath":{ + "shape":"GenericString", + "documentation":"

If the protocol is HTTP/S, then this specifies the path that is the destination for health check targets. The default value is slash (/).

" + }, + "HealthCheckIntervalSeconds":{ + "shape":"HealthCheckIntervalSeconds", + "documentation":"

The time—10 seconds or 30 seconds—between each health check for an endpoint. The default value is 30.

" + }, + "ThresholdCount":{ + "shape":"ThresholdCount", + "documentation":"

The number of consecutive health checks required to set the state of a healthy endpoint to unhealthy, or to set an unhealthy endpoint to healthy. The default value is 3.

" + } + } + }, + "UpdateEndpointGroupResponse":{ + "type":"structure", + "members":{ + "EndpointGroup":{ + "shape":"EndpointGroup", + "documentation":"

The information about the endpoint group that was updated.

" + } + } + }, + "UpdateListenerRequest":{ + "type":"structure", + "required":["ListenerArn"], + "members":{ + "ListenerArn":{ + "shape":"GenericString", + "documentation":"

The Amazon Resource Name (ARN) of the listener to update.

" + }, + "PortRanges":{ + "shape":"PortRanges", + "documentation":"

The updated list of port ranges for the connections from clients to the accelerator.

" + }, + "Protocol":{ + "shape":"Protocol", + "documentation":"

The updated protocol for the connections from clients to the accelerator.

" + }, + "ClientAffinity":{ + "shape":"ClientAffinity", + "documentation":"

Client affinity lets you direct all requests from a user to the same endpoint, if you have stateful applications, regardless of the port and protocol of the client request. Clienty affinity gives you control over whether to always route each client to the same specific endpoint.

AWS Global Accelerator uses a consistent-flow hashing algorithm to choose the optimal endpoint for a connection. If client affinity is NONE, Global Accelerator uses the \"five-tuple\" (5-tuple) properties—source IP address, source port, destination IP address, destination port, and protocol—to select the hash value, and then chooses the best endpoint. However, with this setting, if someone uses different ports to connect to Global Accelerator, their connections might not be always routed to the same endpoint because the hash value changes.

If you want a given client to always be routed to the same endpoint, set client affinity to SOURCE_IP instead. When you use the SOURCE_IP setting, Global Accelerator uses the \"two-tuple\" (2-tuple) properties— source (client) IP address and destination IP address—to select the hash value.

The default value is NONE.

" + } + } + }, + "UpdateListenerResponse":{ + "type":"structure", + "members":{ + "Listener":{ + "shape":"Listener", + "documentation":"

Information for the updated listener.

" + } + } + }, + "WithdrawByoipCidrRequest":{ + "type":"structure", + "required":["Cidr"], + "members":{ + "Cidr":{ + "shape":"GenericString", + "documentation":"

The address range, in CIDR notation.

" + } + } + }, + "WithdrawByoipCidrResponse":{ + "type":"structure", + "members":{ + "ByoipCidr":{ + "shape":"ByoipCidr", + "documentation":"

Information about the address pool.

" + } + } + } + }, + "documentation":"AWS Global Accelerator

This is the AWS Global Accelerator API Reference. This guide is for developers who need detailed information about AWS Global Accelerator API actions, data types, and errors. For more information about Global Accelerator features, see the AWS Global Accelerator Developer Guide.

AWS Global Accelerator is a service in which you create accelerators to improve availability and performance of your applications for local and global users.

You must specify the US West (Oregon) Region to create or update accelerators.

By default, Global Accelerator provides you with static IP addresses that you associate with your accelerator. (Instead of using the IP addresses that Global Accelerator provides, you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator.) The static IP addresses are anycast from the AWS edge network and distribute incoming application traffic across multiple endpoint resources in multiple AWS Regions, which increases the availability of your applications. Endpoints can be Network Load Balancers, Application Load Balancers, EC2 instances, or Elastic IP addresses that are located in one AWS Region or multiple Regions.

Global Accelerator uses the AWS global network to route traffic to the optimal regional endpoint based on health, client location, and policies that you configure. The service reacts instantly to changes in health or configuration to ensure that internet traffic from clients is directed to only healthy endpoints.

Global Accelerator includes components that work together to help you improve performance and availability for your applications:

Static IP address

By default, AWS Global Accelerator provides you with a set of static IP addresses that are anycast from the AWS edge network and serve as the single fixed entry points for your clients. Or you can configure these entry points to be IPv4 addresses from your own IP address ranges that you bring to Global Accelerator (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the AWS Global Accelerator Developer Guide. If you already have load balancers, EC2 instances, or Elastic IP addresses set up for your applications, you can easily add those to Global Accelerator to allow the resources to be accessed by the static IP addresses.

The static IP addresses remain assigned to your accelerator for as long as it exists, even if you disable the accelerator and it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the static IP addresses that are assigned to it, so you can no longer route traffic by using them. You can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, see Authentication and Access Control in the AWS Global Accelerator Developer Guide.

Accelerator

An accelerator directs traffic to optimal endpoints over the AWS global network to improve availability and performance for your internet applications that have a global audience. Each accelerator includes one or more listeners.

DNS name

Global Accelerator assigns each accelerator a default Domain Name System (DNS) name, similar to a1234567890abcdef.awsglobalaccelerator.com, that points to your Global Accelerator static IP addresses. Depending on the use case, you can use your accelerator's static IP addresses or DNS name to route traffic to your accelerator, or set up DNS records to route traffic using your own custom domain name.

Network zone

A network zone services the static IP addresses for your accelerator from a unique IP subnet. Similar to an AWS Availability Zone, a network zone is an isolated unit with its own set of physical infrastructure. When you configure an accelerator, by default, Global Accelerator allocates two IPv4 addresses for it. If one IP address from a network zone becomes unavailable due to IP address blocking by certain client networks, or network disruptions, then client applications can retry on the healthy static IP address from the other isolated network zone.

Listener

A listener processes inbound connections from clients to Global Accelerator, based on the protocol and port that you configure. Each listener has one or more endpoint groups associated with it, and traffic is forwarded to endpoints in one of the groups. You associate endpoint groups with listeners by specifying the Regions that you want to distribute traffic to. Traffic is distributed to optimal endpoints within the endpoint groups associated with a listener.

Endpoint group

Each endpoint group is associated with a specific AWS Region. Endpoint groups include one or more endpoints in the Region. You can increase or reduce the percentage of traffic that would be otherwise directed to an endpoint group by adjusting a setting called a traffic dial. The traffic dial lets you easily do performance testing or blue/green deployment testing for new releases across different AWS Regions, for example.

Endpoint

An endpoint is a Network Load Balancer, Application Load Balancer, EC2 instance, or Elastic IP address. Traffic is routed to endpoints based on several factors, including the geo-proximity to the user, the health of the endpoint, and the configuration options that you choose, such as endpoint weights. For each endpoint, you can configure weights, which are numbers that you can use to specify the proportion of traffic to route to each one. This can be useful, for example, to do performance testing within a Region.

" +} diff -Nru python-botocore-1.4.70/botocore/data/glue/2017-03-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/examples-1.json --- python-botocore-1.4.70/botocore/data/glue/2017-03-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/glue/2017-03-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/glue/2017-03-31/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,88 @@ +{ + "pagination": { + "GetJobs": { + "result_key": "Jobs", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetPartitions": { + "result_key": "Partitions", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetDatabases": { + "result_key": "DatabaseList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetClassifiers": { + "result_key": "Classifiers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTableVersions": { + "result_key": "TableVersions", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetCrawlers": { + "result_key": "Crawlers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetDevEndpoints": { + "result_key": "DevEndpoints", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetJobRuns": { + "result_key": "JobRuns", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTriggers": { + "result_key": "Triggers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetTables": { + "result_key": "TableList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetUserDefinedFunctions": { + "result_key": "UserDefinedFunctions", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetCrawlerMetrics": { + "result_key": "CrawlerMetricsList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetConnections": { + "result_key": "ConnectionList", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetSecurityConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecurityConfigurations" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/glue/2017-03-31/service-2.json python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/service-2.json --- python-botocore-1.4.70/botocore/data/glue/2017-03-31/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/glue/2017-03-31/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,10028 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-31", + "endpointPrefix":"glue", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Glue", + "serviceId":"Glue", + "signatureVersion":"v4", + "targetPrefix":"AWSGlue", + "uid":"glue-2017-03-31" + }, + "operations":{ + "BatchCreatePartition":{ + "name":"BatchCreatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchCreatePartitionRequest"}, + "output":{"shape":"BatchCreatePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates one or more partitions in a batch operation.

" + }, + "BatchDeleteConnection":{ + "name":"BatchDeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteConnectionRequest"}, + "output":{"shape":"BatchDeleteConnectionResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a list of connection definitions from the Data Catalog.

" + }, + "BatchDeletePartition":{ + "name":"BatchDeletePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeletePartitionRequest"}, + "output":{"shape":"BatchDeletePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes one or more partitions in a batch operation.

" + }, + "BatchDeleteTable":{ + "name":"BatchDeleteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteTableRequest"}, + "output":{"shape":"BatchDeleteTableResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes multiple tables at once.

After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling BatchDeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table.

" + }, + "BatchDeleteTableVersion":{ + "name":"BatchDeleteTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteTableVersionRequest"}, + "output":{"shape":"BatchDeleteTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a specified batch of versions of a table.

" + }, + "BatchGetCrawlers":{ + "name":"BatchGetCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetCrawlersRequest"}, + "output":{"shape":"BatchGetCrawlersResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of crawler names. After calling the ListCrawlers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetDevEndpoints":{ + "name":"BatchGetDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetDevEndpointsRequest"}, + "output":{"shape":"BatchGetDevEndpointsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of development endpoint names. After calling the ListDevEndpoints operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetJobs":{ + "name":"BatchGetJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetJobsRequest"}, + "output":{"shape":"BatchGetJobsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of job names. After calling the ListJobs operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetPartition":{ + "name":"BatchGetPartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetPartitionRequest"}, + "output":{"shape":"BatchGetPartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves partitions in a batch request.

" + }, + "BatchGetTriggers":{ + "name":"BatchGetTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetTriggersRequest"}, + "output":{"shape":"BatchGetTriggersResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of trigger names. After calling the ListTriggers operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchGetWorkflows":{ + "name":"BatchGetWorkflows", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetWorkflowsRequest"}, + "output":{"shape":"BatchGetWorkflowsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns a list of resource metadata for a given list of workflow names. After calling the ListWorkflows operation, you can call this operation to access the data to which you have been granted permissions. This operation supports all IAM permissions, including permission conditions that uses tags.

" + }, + "BatchStopJobRun":{ + "name":"BatchStopJobRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchStopJobRunRequest"}, + "output":{"shape":"BatchStopJobRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Stops one or more job runs for a specified job definition.

" + }, + "CancelMLTaskRun":{ + "name":"CancelMLTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelMLTaskRunRequest"}, + "output":{"shape":"CancelMLTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Cancels (stops) a task run. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can cancel a machine learning task run at any time by calling CancelMLTaskRun with a task run's parent transform's TransformID and the task run's TaskRunId.

" + }, + "CreateClassifier":{ + "name":"CreateClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClassifierRequest"}, + "output":{"shape":"CreateClassifierResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Creates a classifier in the user's account. This can be a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field of the request is present.

" + }, + "CreateConnection":{ + "name":"CreateConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConnectionRequest"}, + "output":{"shape":"CreateConnectionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates a connection definition in the Data Catalog.

" + }, + "CreateCrawler":{ + "name":"CreateCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCrawlerRequest"}, + "output":{"shape":"CreateCrawlerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} + ], + "documentation":"

Creates a new crawler with specified targets, role, configuration, and optional schedule. At least one crawl target must be specified, in the s3Targets field, the jdbcTargets field, or the DynamoDBTargets field.

" + }, + "CreateDatabase":{ + "name":"CreateDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatabaseRequest"}, + "output":{"shape":"CreateDatabaseResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates a new database in a Data Catalog.

" + }, + "CreateDevEndpoint":{ + "name":"CreateDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDevEndpointRequest"}, + "output":{"shape":"CreateDevEndpointResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNumberLimitExceededException"} + ], + "documentation":"

Creates a new development endpoint.

" + }, + "CreateJob":{ + "name":"CreateJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateJobRequest"}, + "output":{"shape":"CreateJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a new job definition.

" + }, + "CreateMLTransform":{ + "name":"CreateMLTransform", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMLTransformRequest"}, + "output":{"shape":"CreateMLTransformResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

Creates an AWS Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.

Call this operation as the first step in the process of using a machine learning transform (such as the FindMatches transform) for deduplicating data. You can provide an optional Description, in addition to the parameters that you want to use for your algorithm.

You must also specify certain parameters for the tasks that AWS Glue runs on your behalf as part of learning from your data and creating a high-quality machine learning transform. These parameters include Role, and optionally, AllocatedCapacity, Timeout, and MaxRetries. For more information, see Jobs.

" + }, + "CreatePartition":{ + "name":"CreatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePartitionRequest"}, + "output":{"shape":"CreatePartitionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates a new partition.

" + }, + "CreateScript":{ + "name":"CreateScript", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScriptRequest"}, + "output":{"shape":"CreateScriptResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Transforms a directed acyclic graph (DAG) into code.

" + }, + "CreateSecurityConfiguration":{ + "name":"CreateSecurityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSecurityConfigurationRequest"}, + "output":{"shape":"CreateSecurityConfigurationResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"} + ], + "documentation":"

Creates a new security configuration. A security configuration is a set of security properties that can be used by AWS Glue. You can use a security configuration to encrypt data at rest. For information about using security configurations in AWS Glue, see Encrypting Data Written by Crawlers, Jobs, and Development Endpoints.

" + }, + "CreateTable":{ + "name":"CreateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTableRequest"}, + "output":{"shape":"CreateTableResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates a new table definition in the Data Catalog.

" + }, + "CreateTrigger":{ + "name":"CreateTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTriggerRequest"}, + "output":{"shape":"CreateTriggerResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a new trigger.

" + }, + "CreateUserDefinedFunction":{ + "name":"CreateUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserDefinedFunctionRequest"}, + "output":{"shape":"CreateUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Creates a new function definition in the Data Catalog.

" + }, + "CreateWorkflow":{ + "name":"CreateWorkflow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkflowRequest"}, + "output":{"shape":"CreateWorkflowResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates a new workflow.

" + }, + "DeleteClassifier":{ + "name":"DeleteClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClassifierRequest"}, + "output":{"shape":"DeleteClassifierResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Removes a classifier from the Data Catalog.

" + }, + "DeleteConnection":{ + "name":"DeleteConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConnectionRequest"}, + "output":{"shape":"DeleteConnectionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a connection from the Data Catalog.

" + }, + "DeleteCrawler":{ + "name":"DeleteCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCrawlerRequest"}, + "output":{"shape":"DeleteCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Removes a specified crawler from the AWS Glue Data Catalog, unless the crawler state is RUNNING.

" + }, + "DeleteDatabase":{ + "name":"DeleteDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatabaseRequest"}, + "output":{"shape":"DeleteDatabaseResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Removes a specified database from a Data Catalog.

After completing this operation, you no longer have access to the tables (and all table versions and partitions that might belong to the tables) and the user-defined functions in the deleted database. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling DeleteDatabase, use DeleteTableVersion or BatchDeleteTableVersion, DeletePartition or BatchDeletePartition, DeleteUserDefinedFunction, and DeleteTable or BatchDeleteTable, to delete any resources that belong to the database.

" + }, + "DeleteDevEndpoint":{ + "name":"DeleteDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDevEndpointRequest"}, + "output":{"shape":"DeleteDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Deletes a specified development endpoint.

" + }, + "DeleteJob":{ + "name":"DeleteJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteJobRequest"}, + "output":{"shape":"DeleteJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a specified job definition. If the job definition is not found, no exception is thrown.

" + }, + "DeleteMLTransform":{ + "name":"DeleteMLTransform", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMLTransformRequest"}, + "output":{"shape":"DeleteMLTransformResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Deletes an AWS Glue machine learning transform. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue. If you no longer need a transform, you can delete it by calling DeleteMLTransforms. However, any AWS Glue jobs that still reference the deleted transform will no longer succeed.

" + }, + "DeletePartition":{ + "name":"DeletePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePartitionRequest"}, + "output":{"shape":"DeletePartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a specified partition.

" + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyRequest"}, + "output":{"shape":"DeleteResourcePolicyResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConditionCheckFailureException"} + ], + "documentation":"

Deletes a specified policy.

" + }, + "DeleteSecurityConfiguration":{ + "name":"DeleteSecurityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSecurityConfigurationRequest"}, + "output":{"shape":"DeleteSecurityConfigurationResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a specified security configuration.

" + }, + "DeleteTable":{ + "name":"DeleteTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTableRequest"}, + "output":{"shape":"DeleteTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Removes a table definition from the Data Catalog.

After completing this operation, you no longer have access to the table versions and partitions that belong to the deleted table. AWS Glue deletes these \"orphaned\" resources asynchronously in a timely manner, at the discretion of the service.

To ensure the immediate deletion of all related resources, before calling DeleteTable, use DeleteTableVersion or BatchDeleteTableVersion, and DeletePartition or BatchDeletePartition, to delete any resources that belong to the table.

" + }, + "DeleteTableVersion":{ + "name":"DeleteTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTableVersionRequest"}, + "output":{"shape":"DeleteTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes a specified version of a table.

" + }, + "DeleteTrigger":{ + "name":"DeleteTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTriggerRequest"}, + "output":{"shape":"DeleteTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a specified trigger. If the trigger is not found, no exception is thrown.

" + }, + "DeleteUserDefinedFunction":{ + "name":"DeleteUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserDefinedFunctionRequest"}, + "output":{"shape":"DeleteUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Deletes an existing function definition from the Data Catalog.

" + }, + "DeleteWorkflow":{ + "name":"DeleteWorkflow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkflowRequest"}, + "output":{"shape":"DeleteWorkflowResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Deletes a workflow.

" + }, + "GetCatalogImportStatus":{ + "name":"GetCatalogImportStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCatalogImportStatusRequest"}, + "output":{"shape":"GetCatalogImportStatusResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the status of a migration operation.

" + }, + "GetClassifier":{ + "name":"GetClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClassifierRequest"}, + "output":{"shape":"GetClassifierResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieve a classifier by name.

" + }, + "GetClassifiers":{ + "name":"GetClassifiers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClassifiersRequest"}, + "output":{"shape":"GetClassifiersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Lists all classifier objects in the Data Catalog.

" + }, + "GetConnection":{ + "name":"GetConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionRequest"}, + "output":{"shape":"GetConnectionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves a connection definition from the Data Catalog.

" + }, + "GetConnections":{ + "name":"GetConnections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionsRequest"}, + "output":{"shape":"GetConnectionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves a list of connection definitions from the Data Catalog.

" + }, + "GetCrawler":{ + "name":"GetCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlerRequest"}, + "output":{"shape":"GetCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves metadata for a specified crawler.

" + }, + "GetCrawlerMetrics":{ + "name":"GetCrawlerMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlerMetricsRequest"}, + "output":{"shape":"GetCrawlerMetricsResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves metrics about specified crawlers.

" + }, + "GetCrawlers":{ + "name":"GetCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCrawlersRequest"}, + "output":{"shape":"GetCrawlersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves metadata for all crawlers defined in the customer account.

" + }, + "GetDataCatalogEncryptionSettings":{ + "name":"GetDataCatalogEncryptionSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDataCatalogEncryptionSettingsRequest"}, + "output":{"shape":"GetDataCatalogEncryptionSettingsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the security configuration for a specified catalog.

" + }, + "GetDatabase":{ + "name":"GetDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDatabaseRequest"}, + "output":{"shape":"GetDatabaseResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves the definition of a specified database.

" + }, + "GetDatabases":{ + "name":"GetDatabases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDatabasesRequest"}, + "output":{"shape":"GetDatabasesResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves all databases defined in a given Data Catalog.

" + }, + "GetDataflowGraph":{ + "name":"GetDataflowGraph", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDataflowGraphRequest"}, + "output":{"shape":"GetDataflowGraphResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Transforms a Python script into a directed acyclic graph (DAG).

" + }, + "GetDevEndpoint":{ + "name":"GetDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDevEndpointRequest"}, + "output":{"shape":"GetDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves information about a specified development endpoint.

When you create a development endpoint in a virtual private cloud (VPC), AWS Glue returns only a private IP address, and the public IP address field is not populated. When you create a non-VPC development endpoint, AWS Glue returns only a public IP address.

" + }, + "GetDevEndpoints":{ + "name":"GetDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDevEndpointsRequest"}, + "output":{"shape":"GetDevEndpointsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves all the development endpoints in this AWS account.

When you create a development endpoint in a virtual private cloud (VPC), AWS Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, AWS Glue returns only a public IP address.

" + }, + "GetJob":{ + "name":"GetJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRequest"}, + "output":{"shape":"GetJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves an existing job definition.

" + }, + "GetJobBookmark":{ + "name":"GetJobBookmark", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobBookmarkRequest"}, + "output":{"shape":"GetJobBookmarkResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns information on a job bookmark entry.

" + }, + "GetJobRun":{ + "name":"GetJobRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRunRequest"}, + "output":{"shape":"GetJobRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the metadata for a given job run.

" + }, + "GetJobRuns":{ + "name":"GetJobRuns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobRunsRequest"}, + "output":{"shape":"GetJobRunsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves metadata for all runs of a given job definition.

" + }, + "GetJobs":{ + "name":"GetJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetJobsRequest"}, + "output":{"shape":"GetJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves all current job definitions.

" + }, + "GetMLTaskRun":{ + "name":"GetMLTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMLTaskRunRequest"}, + "output":{"shape":"GetMLTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling GetMLTaskRun with the TaskRunID and its parent transform's TransformID.

" + }, + "GetMLTaskRuns":{ + "name":"GetMLTaskRuns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMLTaskRunsRequest"}, + "output":{"shape":"GetMLTaskRunsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Gets a list of runs for a machine learning transform. Machine learning task runs are asynchronous tasks that AWS Glue runs on your behalf as part of various machine learning workflows. You can get a sortable, filterable list of machine learning task runs by calling GetMLTaskRuns with their parent transform's TransformID and other optional parameters as documented in this section.

This operation returns a list of historic runs and must be paginated.

" + }, + "GetMLTransform":{ + "name":"GetMLTransform", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMLTransformRequest"}, + "output":{"shape":"GetMLTransformResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Gets an AWS Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue. You can retrieve their metadata by calling GetMLTransform.

" + }, + "GetMLTransforms":{ + "name":"GetMLTransforms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMLTransformsRequest"}, + "output":{"shape":"GetMLTransformsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Gets a sortable, filterable list of existing AWS Glue machine learning transforms. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by AWS Glue, and you can retrieve their metadata by calling GetMLTransforms.

" + }, + "GetMapping":{ + "name":"GetMapping", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMappingRequest"}, + "output":{"shape":"GetMappingResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Creates mappings.

" + }, + "GetPartition":{ + "name":"GetPartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPartitionRequest"}, + "output":{"shape":"GetPartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves information about a specified partition.

" + }, + "GetPartitions":{ + "name":"GetPartitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPartitionsRequest"}, + "output":{"shape":"GetPartitionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves information about the partitions in a table.

" + }, + "GetPlan":{ + "name":"GetPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPlanRequest"}, + "output":{"shape":"GetPlanResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Gets code to perform a specified mapping.

" + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyRequest"}, + "output":{"shape":"GetResourcePolicyResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves a specified resource policy.

" + }, + "GetSecurityConfiguration":{ + "name":"GetSecurityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSecurityConfigurationRequest"}, + "output":{"shape":"GetSecurityConfigurationResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves a specified security configuration.

" + }, + "GetSecurityConfigurations":{ + "name":"GetSecurityConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSecurityConfigurationsRequest"}, + "output":{"shape":"GetSecurityConfigurationsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves a list of all security configurations.

" + }, + "GetTable":{ + "name":"GetTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableRequest"}, + "output":{"shape":"GetTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves the Table definition in a Data Catalog for a specified table.

" + }, + "GetTableVersion":{ + "name":"GetTableVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableVersionRequest"}, + "output":{"shape":"GetTableVersionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves a specified version of a table.

" + }, + "GetTableVersions":{ + "name":"GetTableVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTableVersionsRequest"}, + "output":{"shape":"GetTableVersionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves a list of strings that identify available versions of a specified table.

" + }, + "GetTables":{ + "name":"GetTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTablesRequest"}, + "output":{"shape":"GetTablesResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves the definitions of some or all of the tables in a given Database.

" + }, + "GetTags":{ + "name":"GetTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagsRequest"}, + "output":{"shape":"GetTagsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Retrieves a list of tags associated with a resource.

" + }, + "GetTrigger":{ + "name":"GetTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTriggerRequest"}, + "output":{"shape":"GetTriggerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the definition of a trigger.

" + }, + "GetTriggers":{ + "name":"GetTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTriggersRequest"}, + "output":{"shape":"GetTriggersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Gets all the triggers associated with a job.

" + }, + "GetUserDefinedFunction":{ + "name":"GetUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUserDefinedFunctionRequest"}, + "output":{"shape":"GetUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves a specified function definition from the Data Catalog.

" + }, + "GetUserDefinedFunctions":{ + "name":"GetUserDefinedFunctions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUserDefinedFunctionsRequest"}, + "output":{"shape":"GetUserDefinedFunctionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Retrieves multiple function definitions from the Data Catalog.

" + }, + "GetWorkflow":{ + "name":"GetWorkflow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkflowRequest"}, + "output":{"shape":"GetWorkflowResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves resource metadata for a workflow.

" + }, + "GetWorkflowRun":{ + "name":"GetWorkflowRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkflowRunRequest"}, + "output":{"shape":"GetWorkflowRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the metadata for a given workflow run.

" + }, + "GetWorkflowRunProperties":{ + "name":"GetWorkflowRunProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkflowRunPropertiesRequest"}, + "output":{"shape":"GetWorkflowRunPropertiesResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the workflow run properties which were set during the run.

" + }, + "GetWorkflowRuns":{ + "name":"GetWorkflowRuns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWorkflowRunsRequest"}, + "output":{"shape":"GetWorkflowRunsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves metadata for all runs of a given workflow.

" + }, + "ImportCatalogToGlue":{ + "name":"ImportCatalogToGlue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCatalogToGlueRequest"}, + "output":{"shape":"ImportCatalogToGlueResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Imports an existing Amazon Athena Data Catalog to AWS Glue

" + }, + "ListCrawlers":{ + "name":"ListCrawlers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCrawlersRequest"}, + "output":{"shape":"ListCrawlersResponse"}, + "errors":[ + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all crawler resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListDevEndpoints":{ + "name":"ListDevEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDevEndpointsRequest"}, + "output":{"shape":"ListDevEndpointsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all DevEndpoint resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all job resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListMLTransforms":{ + "name":"ListMLTransforms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMLTransformsRequest"}, + "output":{"shape":"ListMLTransformsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Retrieves a sortable, filterable list of existing AWS Glue machine learning transforms in this AWS account, or the resources with the specified tag. This operation takes the optional Tags field, which you can use as a filter of the responses so that tagged resources can be retrieved as a group. If you choose to use tag filtering, only resources with the tags are retrieved.

" + }, + "ListTriggers":{ + "name":"ListTriggers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTriggersRequest"}, + "output":{"shape":"ListTriggersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Retrieves the names of all trigger resources in this AWS account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.

This operation takes the optional Tags field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.

" + }, + "ListWorkflows":{ + "name":"ListWorkflows", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkflowsRequest"}, + "output":{"shape":"ListWorkflowsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Lists names of workflows created in the account.

" + }, + "PutDataCatalogEncryptionSettings":{ + "name":"PutDataCatalogEncryptionSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutDataCatalogEncryptionSettingsRequest"}, + "output":{"shape":"PutDataCatalogEncryptionSettingsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.

" + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyRequest"}, + "output":{"shape":"PutResourcePolicyResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConditionCheckFailureException"} + ], + "documentation":"

Sets the Data Catalog resource policy for access control.

" + }, + "PutWorkflowRunProperties":{ + "name":"PutWorkflowRunProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutWorkflowRunPropertiesRequest"}, + "output":{"shape":"PutWorkflowRunPropertiesResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Puts the specified workflow run properties for the given workflow run. If a property already exists for the specified run, then it overrides the value otherwise adds the property to existing properties.

" + }, + "ResetJobBookmark":{ + "name":"ResetJobBookmark", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetJobBookmarkRequest"}, + "output":{"shape":"ResetJobBookmarkResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Resets a bookmark entry.

" + }, + "SearchTables":{ + "name":"SearchTables", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchTablesRequest"}, + "output":{"shape":"SearchTablesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Searches a set of tables based on properties in the table metadata as well as on the parent database. You can search against text or filter conditions.

You can only get tables that you have access to based on the security policies defined in Lake Formation. You need at least a read-only access to the table for it to be returned. If you do not have access to all the columns in the table, these columns will not be searched against when returning the list of tables back to you. If you have access to the columns but not the data in the columns, those columns and the associated metadata for those columns will be included in the search.

" + }, + "StartCrawler":{ + "name":"StartCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartCrawlerRequest"}, + "output":{"shape":"StartCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Starts a crawl using the specified crawler, regardless of what is scheduled. If the crawler is already running, returns a CrawlerRunningException.

" + }, + "StartCrawlerSchedule":{ + "name":"StartCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartCrawlerScheduleRequest"}, + "output":{"shape":"StartCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"SchedulerRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"NoScheduleException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Changes the schedule state of the specified crawler to SCHEDULED, unless the crawler is already running or the schedule state is already SCHEDULED.

" + }, + "StartExportLabelsTaskRun":{ + "name":"StartExportLabelsTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExportLabelsTaskRunRequest"}, + "output":{"shape":"StartExportLabelsTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Begins an asynchronous task to export all labeled data for a particular transform. This task is the only label-related API call that is not part of the typical active learning workflow. You typically use StartExportLabelsTaskRun when you want to work with all of your existing labels at the same time, such as when you want to remove or change labels that were previously submitted as truth. This API operation accepts the TransformId whose labels you want to export and an Amazon Simple Storage Service (Amazon S3) path to export the labels to. The operation returns a TaskRunId. You can check on the status of your task run by calling the GetMLTaskRun API.

" + }, + "StartImportLabelsTaskRun":{ + "name":"StartImportLabelsTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartImportLabelsTaskRunRequest"}, + "output":{"shape":"StartImportLabelsTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Enables you to provide additional labels (examples of truth) to be used to teach the machine learning transform and improve its quality. This API operation is generally used as part of the active learning workflow that starts with the StartMLLabelingSetGenerationTaskRun call and that ultimately results in improving the quality of your machine learning transform.

After the StartMLLabelingSetGenerationTaskRun finishes, AWS Glue machine learning will have generated a series of questions for humans to answer. (Answering these questions is often called 'labeling' in the machine learning workflows). In the case of the FindMatches transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?” After the labeling process is finished, users upload their answers/labels with a call to StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of the machine learning transform use the new and improved labels and perform a higher-quality transformation.

By default, StartMLLabelingSetGenerationTaskRun continually learns from and combines all labels that you upload unless you set Replace to true. If you set Replace to true, StartImportLabelsTaskRun deletes and forgets all previously uploaded labels and learns only from the exact set that you upload. Replacing labels can be helpful if you realize that you previously uploaded incorrect labels, and you believe that they are having a negative effect on your transform quality.

You can check on the status of your task run by calling the GetMLTaskRun operation.

" + }, + "StartJobRun":{ + "name":"StartJobRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartJobRunRequest"}, + "output":{"shape":"StartJobRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentRunsExceededException"} + ], + "documentation":"

Starts a job run using a job definition.

" + }, + "StartMLEvaluationTaskRun":{ + "name":"StartMLEvaluationTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMLEvaluationTaskRunRequest"}, + "output":{"shape":"StartMLEvaluationTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"ConcurrentRunsExceededException"}, + {"shape":"MLTransformNotReadyException"} + ], + "documentation":"

Starts a task to estimate the quality of the transform.

When you provide label sets as examples of truth, AWS Glue machine learning uses some of those examples to learn from them. The rest of the labels are used as a test to estimate quality.

Returns a unique identifier for the run. You can call GetMLTaskRun to get more information about the stats of the EvaluationTaskRun.

" + }, + "StartMLLabelingSetGenerationTaskRun":{ + "name":"StartMLLabelingSetGenerationTaskRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMLLabelingSetGenerationTaskRunRequest"}, + "output":{"shape":"StartMLLabelingSetGenerationTaskRunResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"ConcurrentRunsExceededException"} + ], + "documentation":"

Starts the active learning workflow for your machine learning transform to improve the transform's quality by generating label sets and adding labels.

When the StartMLLabelingSetGenerationTaskRun finishes, AWS Glue will have generated a \"labeling set\" or a set of questions for humans to answer.

In the case of the FindMatches transform, these questions are of the form, “What is the correct way to group these rows together into groups composed entirely of matching records?”

After the labeling process is finished, you can upload your labels with a call to StartImportLabelsTaskRun. After StartImportLabelsTaskRun finishes, all future runs of the machine learning transform will use the new and improved labels and perform a higher-quality transformation.

" + }, + "StartTrigger":{ + "name":"StartTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTriggerRequest"}, + "output":{"shape":"StartTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentRunsExceededException"} + ], + "documentation":"

Starts an existing trigger. See Triggering Jobs for information about how different types of trigger are started.

" + }, + "StartWorkflowRun":{ + "name":"StartWorkflowRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartWorkflowRunRequest"}, + "output":{"shape":"StartWorkflowRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"ConcurrentRunsExceededException"} + ], + "documentation":"

Starts a new run of the specified workflow.

" + }, + "StopCrawler":{ + "name":"StopCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopCrawlerRequest"}, + "output":{"shape":"StopCrawlerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerNotRunningException"}, + {"shape":"CrawlerStoppingException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

If the specified crawler is running, stops the crawl.

" + }, + "StopCrawlerSchedule":{ + "name":"StopCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopCrawlerScheduleRequest"}, + "output":{"shape":"StopCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"SchedulerNotRunningException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Sets the schedule state of the specified crawler to NOT_SCHEDULED, but does not stop the crawler if it is already running.

" + }, + "StopTrigger":{ + "name":"StopTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTriggerRequest"}, + "output":{"shape":"StopTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Stops a specified trigger.

" + }, + "StopWorkflowRun":{ + "name":"StopWorkflowRun", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopWorkflowRunRequest"}, + "output":{"shape":"StopWorkflowRunResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"IllegalWorkflowStateException"} + ], + "documentation":"

Stops the execution of the specified workflow run.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Adds tags to a resource. A tag is a label you can assign to an AWS resource. In AWS Glue, you can tag only certain resources. For information about what resources you can tag, see AWS Tags in AWS Glue.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Removes tags from a resource.

" + }, + "UpdateClassifier":{ + "name":"UpdateClassifier", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClassifierRequest"}, + "output":{"shape":"UpdateClassifierResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Modifies an existing classifier (a GrokClassifier, an XMLClassifier, a JsonClassifier, or a CsvClassifier, depending on which field is present).

" + }, + "UpdateConnection":{ + "name":"UpdateConnection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConnectionRequest"}, + "output":{"shape":"UpdateConnectionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Updates a connection definition in the Data Catalog.

" + }, + "UpdateCrawler":{ + "name":"UpdateCrawler", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCrawlerRequest"}, + "output":{"shape":"UpdateCrawlerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"CrawlerRunningException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Updates a crawler. If a crawler is running, you must stop it using StopCrawler before updating it.

" + }, + "UpdateCrawlerSchedule":{ + "name":"UpdateCrawlerSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCrawlerScheduleRequest"}, + "output":{"shape":"UpdateCrawlerScheduleResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"VersionMismatchException"}, + {"shape":"SchedulerTransitioningException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Updates the schedule of a crawler using a cron expression.

" + }, + "UpdateDatabase":{ + "name":"UpdateDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDatabaseRequest"}, + "output":{"shape":"UpdateDatabaseResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Updates an existing database definition in a Data Catalog.

" + }, + "UpdateDevEndpoint":{ + "name":"UpdateDevEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDevEndpointRequest"}, + "output":{"shape":"UpdateDevEndpointResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates a specified development endpoint.

" + }, + "UpdateJob":{ + "name":"UpdateJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateJobRequest"}, + "output":{"shape":"UpdateJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates an existing job definition.

" + }, + "UpdateMLTransform":{ + "name":"UpdateMLTransform", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMLTransformRequest"}, + "output":{"shape":"UpdateMLTransformResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results.

After calling this operation, you can call the StartMLEvaluationTaskRun operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective).

" + }, + "UpdatePartition":{ + "name":"UpdatePartition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePartitionRequest"}, + "output":{"shape":"UpdatePartitionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Updates a partition.

" + }, + "UpdateTable":{ + "name":"UpdateTable", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTableRequest"}, + "output":{"shape":"UpdateTableResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Updates a metadata table in the Data Catalog.

" + }, + "UpdateTrigger":{ + "name":"UpdateTrigger", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTriggerRequest"}, + "output":{"shape":"UpdateTriggerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates a trigger definition.

" + }, + "UpdateUserDefinedFunction":{ + "name":"UpdateUserDefinedFunction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserDefinedFunctionRequest"}, + "output":{"shape":"UpdateUserDefinedFunctionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"} + ], + "documentation":"

Updates an existing function definition in the Data Catalog.

" + }, + "UpdateWorkflow":{ + "name":"UpdateWorkflow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWorkflowRequest"}, + "output":{"shape":"UpdateWorkflowResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Updates an existing workflow.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

Access to a resource was denied.

", + "exception":true + }, + "Action":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of a job to be executed.

" + }, + "Arguments":{ + "shape":"GenericMap", + "documentation":"

The job arguments used when this trigger fires. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this action.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job run notification.

" + }, + "CrawlerName":{ + "shape":"NameString", + "documentation":"

The name of the crawler to be used with this action.

" + } + }, + "documentation":"

Defines an action to be initiated by a trigger.

" + }, + "ActionList":{ + "type":"list", + "member":{"shape":"Action"} + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A resource to be created or added already exists.

", + "exception":true + }, + "AttemptCount":{"type":"integer"}, + "BatchCreatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionInputList" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog in which the partition is to be created. Currently, this should be the AWS account ID.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the metadata database in which the partition is to be created.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the metadata table in which the partition is to be created.

" + }, + "PartitionInputList":{ + "shape":"PartitionInputList", + "documentation":"

A list of PartitionInput structures that define the partitions to be created.

" + } + } + }, + "BatchCreatePartitionResponse":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"PartitionErrors", + "documentation":"

The errors encountered when trying to create the requested partitions.

" + } + } + }, + "BatchDeleteConnectionRequest":{ + "type":"structure", + "required":["ConnectionNameList"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default.

" + }, + "ConnectionNameList":{ + "shape":"DeleteConnectionNameList", + "documentation":"

A list of names of the connections to delete.

" + } + } + }, + "BatchDeleteConnectionResponse":{ + "type":"structure", + "members":{ + "Succeeded":{ + "shape":"NameStringList", + "documentation":"

A list of names of the connection definitions that were successfully deleted.

" + }, + "Errors":{ + "shape":"ErrorByName", + "documentation":"

A map of the names of connections that were not successfully deleted to error details.

" + } + } + }, + "BatchDeletePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionsToDelete" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the table in question resides.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table that contains the partitions to be deleted.

" + }, + "PartitionsToDelete":{ + "shape":"BatchDeletePartitionValueList", + "documentation":"

A list of PartitionInput structures that define the partitions to be deleted.

" + } + } + }, + "BatchDeletePartitionResponse":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"PartitionErrors", + "documentation":"

The errors encountered when trying to delete the requested partitions.

" + } + } + }, + "BatchDeletePartitionValueList":{ + "type":"list", + "member":{"shape":"PartitionValueList"}, + "max":25, + "min":0 + }, + "BatchDeleteTableNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":100, + "min":0 + }, + "BatchDeleteTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TablesToDelete" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the tables to delete reside. For Hive compatibility, this name is entirely lowercase.

" + }, + "TablesToDelete":{ + "shape":"BatchDeleteTableNameList", + "documentation":"

A list of the table to delete.

" + } + } + }, + "BatchDeleteTableResponse":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"TableErrors", + "documentation":"

A list of errors encountered in attempting to delete the specified tables.

" + } + } + }, + "BatchDeleteTableVersionList":{ + "type":"list", + "member":{"shape":"VersionString"}, + "max":100, + "min":0 + }, + "BatchDeleteTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "VersionIds" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" + }, + "VersionIds":{ + "shape":"BatchDeleteTableVersionList", + "documentation":"

A list of the IDs of versions to be deleted. A VersionId is a string representation of an integer. Each version is incremented by 1.

" + } + } + }, + "BatchDeleteTableVersionResponse":{ + "type":"structure", + "members":{ + "Errors":{ + "shape":"TableVersionErrors", + "documentation":"

A list of errors encountered while trying to delete the specified table versions.

" + } + } + }, + "BatchGetCrawlersRequest":{ + "type":"structure", + "required":["CrawlerNames"], + "members":{ + "CrawlerNames":{ + "shape":"CrawlerNameList", + "documentation":"

A list of crawler names, which might be the names returned from the ListCrawlers operation.

" + } + } + }, + "BatchGetCrawlersResponse":{ + "type":"structure", + "members":{ + "Crawlers":{ + "shape":"CrawlerList", + "documentation":"

A list of crawler definitions.

" + }, + "CrawlersNotFound":{ + "shape":"CrawlerNameList", + "documentation":"

A list of names of crawlers that were not found.

" + } + } + }, + "BatchGetDevEndpointsRequest":{ + "type":"structure", + "required":["DevEndpointNames"], + "members":{ + "DevEndpointNames":{ + "shape":"DevEndpointNames", + "documentation":"

The list of DevEndpoint names, which might be the names returned from the ListDevEndpoint operation.

" + } + } + }, + "BatchGetDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpoints":{ + "shape":"DevEndpointList", + "documentation":"

A list of DevEndpoint definitions.

" + }, + "DevEndpointsNotFound":{ + "shape":"DevEndpointNames", + "documentation":"

A list of DevEndpoints not found.

" + } + } + }, + "BatchGetJobsRequest":{ + "type":"structure", + "required":["JobNames"], + "members":{ + "JobNames":{ + "shape":"JobNameList", + "documentation":"

A list of job names, which might be the names returned from the ListJobs operation.

" + } + } + }, + "BatchGetJobsResponse":{ + "type":"structure", + "members":{ + "Jobs":{ + "shape":"JobList", + "documentation":"

A list of job definitions.

" + }, + "JobsNotFound":{ + "shape":"JobNameList", + "documentation":"

A list of names of jobs not found.

" + } + } + }, + "BatchGetPartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionsToGet" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partitions in question reside. If none is supplied, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the partitions reside.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the partitions' table.

" + }, + "PartitionsToGet":{ + "shape":"BatchGetPartitionValueList", + "documentation":"

A list of partition values identifying the partitions to retrieve.

" + } + } + }, + "BatchGetPartitionResponse":{ + "type":"structure", + "members":{ + "Partitions":{ + "shape":"PartitionList", + "documentation":"

A list of the requested partitions.

" + }, + "UnprocessedKeys":{ + "shape":"BatchGetPartitionValueList", + "documentation":"

A list of the partition values in the request for which partitions were not returned.

" + } + } + }, + "BatchGetPartitionValueList":{ + "type":"list", + "member":{"shape":"PartitionValueList"}, + "max":1000, + "min":0 + }, + "BatchGetTriggersRequest":{ + "type":"structure", + "required":["TriggerNames"], + "members":{ + "TriggerNames":{ + "shape":"TriggerNameList", + "documentation":"

A list of trigger names, which may be the names returned from the ListTriggers operation.

" + } + } + }, + "BatchGetTriggersResponse":{ + "type":"structure", + "members":{ + "Triggers":{ + "shape":"TriggerList", + "documentation":"

A list of trigger definitions.

" + }, + "TriggersNotFound":{ + "shape":"TriggerNameList", + "documentation":"

A list of names of triggers not found.

" + } + } + }, + "BatchGetWorkflowsRequest":{ + "type":"structure", + "required":["Names"], + "members":{ + "Names":{ + "shape":"WorkflowNames", + "documentation":"

A list of workflow names, which may be the names returned from the ListWorkflows operation.

" + }, + "IncludeGraph":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether to include a graph when returning the workflow resource metadata.

" + } + } + }, + "BatchGetWorkflowsResponse":{ + "type":"structure", + "members":{ + "Workflows":{ + "shape":"Workflows", + "documentation":"

A list of workflow resource metadata.

" + }, + "MissingWorkflows":{ + "shape":"WorkflowNames", + "documentation":"

A list of names of workflows not found.

" + } + } + }, + "BatchStopJobRunError":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition that is used in the job run in question.

" + }, + "JobRunId":{ + "shape":"IdString", + "documentation":"

The JobRunId of the job run in question.

" + }, + "ErrorDetail":{ + "shape":"ErrorDetail", + "documentation":"

Specifies details about the error that was encountered.

" + } + }, + "documentation":"

Records an error that occurred when attempting to stop a specified job run.

" + }, + "BatchStopJobRunErrorList":{ + "type":"list", + "member":{"shape":"BatchStopJobRunError"} + }, + "BatchStopJobRunJobRunIdList":{ + "type":"list", + "member":{"shape":"IdString"}, + "max":25, + "min":1 + }, + "BatchStopJobRunRequest":{ + "type":"structure", + "required":[ + "JobName", + "JobRunIds" + ], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition for which to stop job runs.

" + }, + "JobRunIds":{ + "shape":"BatchStopJobRunJobRunIdList", + "documentation":"

A list of the JobRunIds that should be stopped for that job definition.

" + } + } + }, + "BatchStopJobRunResponse":{ + "type":"structure", + "members":{ + "SuccessfulSubmissions":{ + "shape":"BatchStopJobRunSuccessfulSubmissionList", + "documentation":"

A list of the JobRuns that were successfully submitted for stopping.

" + }, + "Errors":{ + "shape":"BatchStopJobRunErrorList", + "documentation":"

A list of the errors that were encountered in trying to stop JobRuns, including the JobRunId for which each error was encountered and details about the error.

" + } + } + }, + "BatchStopJobRunSuccessfulSubmission":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition used in the job run that was stopped.

" + }, + "JobRunId":{ + "shape":"IdString", + "documentation":"

The JobRunId of the job run that was stopped.

" + } + }, + "documentation":"

Records a successful request to stop a specified JobRun.

" + }, + "BatchStopJobRunSuccessfulSubmissionList":{ + "type":"list", + "member":{"shape":"BatchStopJobRunSuccessfulSubmission"} + }, + "Boolean":{"type":"boolean"}, + "BooleanNullable":{"type":"boolean"}, + "BooleanValue":{"type":"boolean"}, + "BoundedPartitionValueList":{ + "type":"list", + "member":{"shape":"ValueString"}, + "max":100, + "min":0 + }, + "CancelMLTaskRunRequest":{ + "type":"structure", + "required":[ + "TransformId", + "TaskRunId" + ], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "TaskRunId":{ + "shape":"HashString", + "documentation":"

A unique identifier for the task run.

" + } + } + }, + "CancelMLTaskRunResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier for the task run.

" + }, + "Status":{ + "shape":"TaskStatusType", + "documentation":"

The status for this run.

" + } + } + }, + "CatalogEncryptionMode":{ + "type":"string", + "enum":[ + "DISABLED", + "SSE-KMS" + ] + }, + "CatalogEntries":{ + "type":"list", + "member":{"shape":"CatalogEntry"} + }, + "CatalogEntry":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in which the table metadata resides.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table in question.

" + } + }, + "documentation":"

Specifies a table definition in the AWS Glue Data Catalog.

" + }, + "CatalogIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "CatalogImportStatus":{ + "type":"structure", + "members":{ + "ImportCompleted":{ + "shape":"Boolean", + "documentation":"

True if the migration has completed, or False otherwise.

" + }, + "ImportTime":{ + "shape":"Timestamp", + "documentation":"

The time that the migration was started.

" + }, + "ImportedBy":{ + "shape":"NameString", + "documentation":"

The name of the person who initiated the migration.

" + } + }, + "documentation":"

A structure containing migration status information.

" + }, + "CatalogTablesList":{ + "type":"list", + "member":{"shape":"NameString"}, + "min":1 + }, + "CatalogTarget":{ + "type":"structure", + "required":[ + "DatabaseName", + "Tables" + ], + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database to be synchronized.

" + }, + "Tables":{ + "shape":"CatalogTablesList", + "documentation":"

A list of the tables to be synchronized.

" + } + }, + "documentation":"

Specifies an AWS Glue Data Catalog target.

" + }, + "CatalogTargetList":{ + "type":"list", + "member":{"shape":"CatalogTarget"} + }, + "Classification":{"type":"string"}, + "Classifier":{ + "type":"structure", + "members":{ + "GrokClassifier":{ + "shape":"GrokClassifier", + "documentation":"

A classifier that uses grok.

" + }, + "XMLClassifier":{ + "shape":"XMLClassifier", + "documentation":"

A classifier for XML content.

" + }, + "JsonClassifier":{ + "shape":"JsonClassifier", + "documentation":"

A classifier for JSON content.

" + }, + "CsvClassifier":{ + "shape":"CsvClassifier", + "documentation":"

A classifier for comma-separated values (CSV).

" + } + }, + "documentation":"

Classifiers are triggered during a crawl task. A classifier checks whether a given file is in a format it can handle. If it is, the classifier creates a schema in the form of a StructType object that matches that data format.

You can use the standard classifiers that AWS Glue provides, or you can write your own classifiers to best categorize your data sources and specify the appropriate schemas to use for them. A classifier can be a grok classifier, an XML classifier, a JSON classifier, or a custom CSV classifier, as specified in one of the fields in the Classifier object.

" + }, + "ClassifierList":{ + "type":"list", + "member":{"shape":"Classifier"} + }, + "ClassifierNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "CloudWatchEncryption":{ + "type":"structure", + "members":{ + "CloudWatchEncryptionMode":{ + "shape":"CloudWatchEncryptionMode", + "documentation":"

The encryption mode to use for CloudWatch data.

" + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

" + } + }, + "documentation":"

Specifies how Amazon CloudWatch data should be encrypted.

" + }, + "CloudWatchEncryptionMode":{ + "type":"string", + "enum":[ + "DISABLED", + "SSE-KMS" + ] + }, + "CodeGenArgName":{"type":"string"}, + "CodeGenArgValue":{"type":"string"}, + "CodeGenEdge":{ + "type":"structure", + "required":[ + "Source", + "Target" + ], + "members":{ + "Source":{ + "shape":"CodeGenIdentifier", + "documentation":"

The ID of the node at which the edge starts.

" + }, + "Target":{ + "shape":"CodeGenIdentifier", + "documentation":"

The ID of the node at which the edge ends.

" + }, + "TargetParameter":{ + "shape":"CodeGenArgName", + "documentation":"

The target of the edge.

" + } + }, + "documentation":"

Represents a directional edge in a directed acyclic graph (DAG).

" + }, + "CodeGenIdentifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[A-Za-z_][A-Za-z0-9_]*" + }, + "CodeGenNode":{ + "type":"structure", + "required":[ + "Id", + "NodeType", + "Args" + ], + "members":{ + "Id":{ + "shape":"CodeGenIdentifier", + "documentation":"

A node identifier that is unique within the node's graph.

" + }, + "NodeType":{ + "shape":"CodeGenNodeType", + "documentation":"

The type of node that this is.

" + }, + "Args":{ + "shape":"CodeGenNodeArgs", + "documentation":"

Properties of the node, in the form of name-value pairs.

" + }, + "LineNumber":{ + "shape":"Integer", + "documentation":"

The line number of the node.

" + } + }, + "documentation":"

Represents a node in a directed acyclic graph (DAG)

" + }, + "CodeGenNodeArg":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"CodeGenArgName", + "documentation":"

The name of the argument or property.

" + }, + "Value":{ + "shape":"CodeGenArgValue", + "documentation":"

The value of the argument or property.

" + }, + "Param":{ + "shape":"Boolean", + "documentation":"

True if the value is used as a parameter.

" + } + }, + "documentation":"

An argument or property of a node.

" + }, + "CodeGenNodeArgs":{ + "type":"list", + "member":{"shape":"CodeGenNodeArg"}, + "max":50, + "min":0 + }, + "CodeGenNodeType":{"type":"string"}, + "Column":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the Column.

" + }, + "Type":{ + "shape":"ColumnTypeString", + "documentation":"

The data type of the Column.

" + }, + "Comment":{ + "shape":"CommentString", + "documentation":"

A free-form text comment.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define properties associated with the column.

" + } + }, + "documentation":"

A column in a Table.

" + }, + "ColumnList":{ + "type":"list", + "member":{"shape":"Column"} + }, + "ColumnNameString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ColumnTypeString":{ + "type":"string", + "max":131072, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ColumnValueStringList":{ + "type":"list", + "member":{"shape":"ColumnValuesString"} + }, + "ColumnValuesString":{"type":"string"}, + "CommentString":{ + "type":"string", + "max":255, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "Comparator":{ + "type":"string", + "enum":[ + "EQUALS", + "GREATER_THAN", + "LESS_THAN", + "GREATER_THAN_EQUALS", + "LESS_THAN_EQUALS" + ] + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

Two processes are trying to modify a resource simultaneously.

", + "exception":true + }, + "ConcurrentRunsExceededException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

Too many jobs are being run concurrently.

", + "exception":true + }, + "Condition":{ + "type":"structure", + "members":{ + "LogicalOperator":{ + "shape":"LogicalOperator", + "documentation":"

A logical operator.

" + }, + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job whose JobRuns this condition applies to, and on which this trigger waits.

" + }, + "State":{ + "shape":"JobRunState", + "documentation":"

The condition state. Currently, the only job states that a trigger can listen for are SUCCEEDED, STOPPED, FAILED, and TIMEOUT. The only crawler states that a trigger can listen for are SUCCEEDED, FAILED, and CANCELLED.

" + }, + "CrawlerName":{ + "shape":"NameString", + "documentation":"

The name of the crawler to which this condition applies.

" + }, + "CrawlState":{ + "shape":"CrawlState", + "documentation":"

The state of the crawler to which this condition applies.

" + } + }, + "documentation":"

Defines a condition under which a trigger fires.

" + }, + "ConditionCheckFailureException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A specified condition was not satisfied.

", + "exception":true + }, + "ConditionList":{ + "type":"list", + "member":{"shape":"Condition"} + }, + "ConfusionMatrix":{ + "type":"structure", + "members":{ + "NumTruePositives":{ + "shape":"RecordsCount", + "documentation":"

The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

" + }, + "NumFalsePositives":{ + "shape":"RecordsCount", + "documentation":"

The number of nonmatches in the data that the transform incorrectly classified as a match, in the confusion matrix for your transform.

" + }, + "NumTrueNegatives":{ + "shape":"RecordsCount", + "documentation":"

The number of nonmatches in the data that the transform correctly rejected, in the confusion matrix for your transform.

" + }, + "NumFalseNegatives":{ + "shape":"RecordsCount", + "documentation":"

The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

" + } + }, + "documentation":"

The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

For more information, see Confusion matrix in Wikipedia.

" + }, + "Connection":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the connection definition.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the connection.

" + }, + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of the connection. Currently, only JDBC is supported; SFTP is not supported.

" + }, + "MatchCriteria":{ + "shape":"MatchCriteria", + "documentation":"

A list of criteria that can be used in selecting this connection.

" + }, + "ConnectionProperties":{ + "shape":"ConnectionProperties", + "documentation":"

These key-value pairs define parameters for the connection:

  • HOST - The host URI: either the fully qualified domain name (FQDN) or the IPv4 address of the database host.

  • PORT - The port number, between 1024 and 65535, of the port on which the database host is listening for database connections.

  • USER_NAME - The name under which to log in to the database. The value string for USER_NAME is \"USERNAME\".

  • PASSWORD - A password, if one is used, for the user name.

  • ENCRYPTED_PASSWORD - When you enable connection password protection by setting ConnectionPasswordEncryption in the Data Catalog encryption settings, this field stores the encrypted password.

  • JDBC_DRIVER_JAR_URI - The Amazon Simple Storage Service (Amazon S3) path of the JAR file that contains the JDBC driver to use.

  • JDBC_DRIVER_CLASS_NAME - The class name of the JDBC driver to use.

  • JDBC_ENGINE - The name of the JDBC engine to use.

  • JDBC_ENGINE_VERSION - The version of the JDBC engine to use.

  • CONFIG_FILES - (Reserved for future use.)

  • INSTANCE_ID - The instance ID to use.

  • JDBC_CONNECTION_URL - The URL for connecting to a JDBC data source.

  • JDBC_ENFORCE_SSL - A Boolean string (true, false) specifying whether Secure Sockets Layer (SSL) with hostname matching is enforced for the JDBC connection on the client. The default is false.

  • CUSTOM_JDBC_CERT - An Amazon S3 location specifying the customer's root certificate. AWS Glue uses this root certificate to validate the customer’s certificate when connecting to the customer database. AWS Glue only handles X.509 certificates. The certificate provided must be DER-encoded and supplied in Base64 encoding PEM format.

  • SKIP_CUSTOM_JDBC_CERT_VALIDATION - By default, this is false. AWS Glue validates the Signature algorithm and Subject Public Key Algorithm for the customer certificate. The only permitted algorithms for the Signature algorithm are SHA256withRSA, SHA384withRSA or SHA512withRSA. For the Subject Public Key Algorithm, the key length must be at least 2048. You can set the value of this property to true to skip AWS Glue’s validation of the customer certificate.

  • CUSTOM_JDBC_CERT_STRING - A custom JDBC certificate string which is used for domain match or distinguished name match to prevent a man-in-the-middle attack. In Oracle database, this is used as the SSL_SERVER_CERT_DN; in Microsoft SQL Server, this is used as the hostNameInCertificate.

  • CONNECTION_URL - The URL for connecting to a general (non-JDBC) data source.

  • KAFKA_BOOTSTRAP_SERVERS - A comma-separated list of host and port pairs that are the addresses of the Apache Kafka brokers in a Kafka cluster to which a Kafka client will connect to and bootstrap itself.

" + }, + "PhysicalConnectionRequirements":{ + "shape":"PhysicalConnectionRequirements", + "documentation":"

A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, that are needed to make this connection successfully.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this connection definition was created.

" + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

The last time that this connection definition was updated.

" + }, + "LastUpdatedBy":{ + "shape":"NameString", + "documentation":"

The user, group, or role that last updated this connection definition.

" + } + }, + "documentation":"

Defines a connection to a data source.

" + }, + "ConnectionInput":{ + "type":"structure", + "required":[ + "Name", + "ConnectionType", + "ConnectionProperties" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the connection.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the connection.

" + }, + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of the connection. Currently, these types are supported:

  • JDBC - Designates a connection to a database through Java Database Connectivity (JDBC).

  • KAFKA - Designates a connection to an Apache Kafka streaming platform.

  • MONGODB - Designates a connection to a MongoDB document database.

SFTP is not supported.

" + }, + "MatchCriteria":{ + "shape":"MatchCriteria", + "documentation":"

A list of criteria that can be used in selecting this connection.

" + }, + "ConnectionProperties":{ + "shape":"ConnectionProperties", + "documentation":"

These key-value pairs define parameters for the connection.

" + }, + "PhysicalConnectionRequirements":{ + "shape":"PhysicalConnectionRequirements", + "documentation":"

A map of physical connection requirements, such as virtual private cloud (VPC) and SecurityGroup, that are needed to successfully make this connection.

" + } + }, + "documentation":"

A structure that is used to specify a connection to create or update.

" + }, + "ConnectionList":{ + "type":"list", + "member":{"shape":"Connection"} + }, + "ConnectionName":{"type":"string"}, + "ConnectionPasswordEncryption":{ + "type":"structure", + "required":["ReturnConnectionPasswordEncrypted"], + "members":{ + "ReturnConnectionPasswordEncrypted":{ + "shape":"Boolean", + "documentation":"

When the ReturnConnectionPasswordEncrypted flag is set to \"true\", passwords remain encrypted in the responses of GetConnection and GetConnections. This encryption takes effect independently from catalog encryption.

" + }, + "AwsKmsKeyId":{ + "shape":"NameString", + "documentation":"

An AWS KMS key that is used to encrypt the connection password.

If connection password protection is enabled, the caller of CreateConnection and UpdateConnection needs at least kms:Encrypt permission on the specified AWS KMS key, to encrypt passwords before storing them in the Data Catalog.

You can set the decrypt permission to enable or restrict access on the password key according to your security requirements.

" + } + }, + "documentation":"

The data structure used by the Data Catalog to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

When a CreationConnection request arrives containing a password, the Data Catalog first encrypts the password using your AWS KMS key. It then encrypts the whole connection object again if catalog encryption is also enabled.

This encryption requires that you set AWS KMS key permissions to enable or restrict access on the password key according to your security requirements. For example, you might want only administrators to have decrypt permission on the password key.

" + }, + "ConnectionProperties":{ + "type":"map", + "key":{"shape":"ConnectionPropertyKey"}, + "value":{"shape":"ValueString"}, + "max":100, + "min":0 + }, + "ConnectionPropertyKey":{ + "type":"string", + "enum":[ + "HOST", + "PORT", + "USERNAME", + "PASSWORD", + "ENCRYPTED_PASSWORD", + "JDBC_DRIVER_JAR_URI", + "JDBC_DRIVER_CLASS_NAME", + "JDBC_ENGINE", + "JDBC_ENGINE_VERSION", + "CONFIG_FILES", + "INSTANCE_ID", + "JDBC_CONNECTION_URL", + "JDBC_ENFORCE_SSL", + "CUSTOM_JDBC_CERT", + "SKIP_CUSTOM_JDBC_CERT_VALIDATION", + "CUSTOM_JDBC_CERT_STRING", + "CONNECTION_URL", + "KAFKA_BOOTSTRAP_SERVERS" + ] + }, + "ConnectionType":{ + "type":"string", + "enum":[ + "JDBC", + "SFTP", + "MONGODB", + "KAFKA" + ] + }, + "ConnectionsList":{ + "type":"structure", + "members":{ + "Connections":{ + "shape":"OrchestrationStringList", + "documentation":"

A list of connections used by the job.

" + } + }, + "documentation":"

Specifies the connections used by a job.

" + }, + "Crawl":{ + "type":"structure", + "members":{ + "State":{ + "shape":"CrawlState", + "documentation":"

The state of the crawler.

" + }, + "StartedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time on which the crawl started.

" + }, + "CompletedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time on which the crawl completed.

" + }, + "ErrorMessage":{ + "shape":"DescriptionString", + "documentation":"

The error message associated with the crawl.

" + }, + "LogGroup":{ + "shape":"LogGroup", + "documentation":"

The log group associated with the crawl.

" + }, + "LogStream":{ + "shape":"LogStream", + "documentation":"

The log stream associated with the crawl.

" + } + }, + "documentation":"

The details of a crawl in the workflow.

" + }, + "CrawlList":{ + "type":"list", + "member":{"shape":"Crawl"} + }, + "CrawlState":{ + "type":"string", + "enum":[ + "RUNNING", + "CANCELLING", + "CANCELLED", + "SUCCEEDED", + "FAILED" + ] + }, + "Crawler":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the crawler.

" + }, + "Role":{ + "shape":"Role", + "documentation":"

The Amazon Resource Name (ARN) of an IAM role that's used to access customer resources, such as Amazon Simple Storage Service (Amazon S3) data.

" + }, + "Targets":{ + "shape":"CrawlerTargets", + "documentation":"

A collection of targets to crawl.

" + }, + "DatabaseName":{ + "shape":"DatabaseName", + "documentation":"

The name of the database in which the crawler's output is stored.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the crawler.

" + }, + "Classifiers":{ + "shape":"ClassifierNameList", + "documentation":"

A list of UTF-8 strings that specify the custom classifiers that are associated with the crawler.

" + }, + "SchemaChangePolicy":{ + "shape":"SchemaChangePolicy", + "documentation":"

The policy that specifies update and delete behaviors for the crawler.

" + }, + "State":{ + "shape":"CrawlerState", + "documentation":"

Indicates whether the crawler is running, or whether a run is pending.

" + }, + "TablePrefix":{ + "shape":"TablePrefix", + "documentation":"

The prefix added to the names of tables that are created.

" + }, + "Schedule":{ + "shape":"Schedule", + "documentation":"

For scheduled crawlers, the schedule when the crawler runs.

" + }, + "CrawlElapsedTime":{ + "shape":"MillisecondsCount", + "documentation":"

If the crawler is running, contains the total time elapsed since the last crawl began.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that the crawler was created.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that the crawler was last updated.

" + }, + "LastCrawl":{ + "shape":"LastCrawlInfo", + "documentation":"

The status of the last crawl, and potentially error information if an error occurred.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of the crawler.

" + }, + "Configuration":{ + "shape":"CrawlerConfiguration", + "documentation":"

Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" + }, + "CrawlerSecurityConfiguration":{ + "shape":"CrawlerSecurityConfiguration", + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" + } + }, + "documentation":"

Specifies a crawler program that examines a data source and uses classifiers to try to determine its schema. If successful, the crawler records metadata concerning the data source in the AWS Glue Data Catalog.

" + }, + "CrawlerConfiguration":{"type":"string"}, + "CrawlerList":{ + "type":"list", + "member":{"shape":"Crawler"} + }, + "CrawlerMetrics":{ + "type":"structure", + "members":{ + "CrawlerName":{ + "shape":"NameString", + "documentation":"

The name of the crawler.

" + }, + "TimeLeftSeconds":{ + "shape":"NonNegativeDouble", + "documentation":"

The estimated time left to complete a running crawl.

" + }, + "StillEstimating":{ + "shape":"Boolean", + "documentation":"

True if the crawler is still estimating how long it will take to complete this run.

" + }, + "LastRuntimeSeconds":{ + "shape":"NonNegativeDouble", + "documentation":"

The duration of the crawler's most recent run, in seconds.

" + }, + "MedianRuntimeSeconds":{ + "shape":"NonNegativeDouble", + "documentation":"

The median duration of this crawler's runs, in seconds.

" + }, + "TablesCreated":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of tables created by this crawler.

" + }, + "TablesUpdated":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of tables updated by this crawler.

" + }, + "TablesDeleted":{ + "shape":"NonNegativeInteger", + "documentation":"

The number of tables deleted by this crawler.

" + } + }, + "documentation":"

Metrics for a specified crawler.

" + }, + "CrawlerMetricsList":{ + "type":"list", + "member":{"shape":"CrawlerMetrics"} + }, + "CrawlerNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":100, + "min":0 + }, + "CrawlerNodeDetails":{ + "type":"structure", + "members":{ + "Crawls":{ + "shape":"CrawlList", + "documentation":"

A list of crawls represented by the crawl node.

" + } + }, + "documentation":"

The details of a Crawler node present in the workflow.

" + }, + "CrawlerNotRunningException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified crawler is not running.

", + "exception":true + }, + "CrawlerRunningException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The operation cannot be performed because the crawler is already running.

", + "exception":true + }, + "CrawlerSecurityConfiguration":{ + "type":"string", + "max":128, + "min":0 + }, + "CrawlerState":{ + "type":"string", + "enum":[ + "READY", + "RUNNING", + "STOPPING" + ] + }, + "CrawlerStoppingException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified crawler is stopping.

", + "exception":true + }, + "CrawlerTargets":{ + "type":"structure", + "members":{ + "S3Targets":{ + "shape":"S3TargetList", + "documentation":"

Specifies Amazon Simple Storage Service (Amazon S3) targets.

" + }, + "JdbcTargets":{ + "shape":"JdbcTargetList", + "documentation":"

Specifies JDBC targets.

" + }, + "DynamoDBTargets":{ + "shape":"DynamoDBTargetList", + "documentation":"

Specifies Amazon DynamoDB targets.

" + }, + "CatalogTargets":{ + "shape":"CatalogTargetList", + "documentation":"

Specifies AWS Glue Data Catalog targets.

" + } + }, + "documentation":"

Specifies data stores to crawl.

" + }, + "CreateClassifierRequest":{ + "type":"structure", + "members":{ + "GrokClassifier":{ + "shape":"CreateGrokClassifierRequest", + "documentation":"

A GrokClassifier object specifying the classifier to create.

" + }, + "XMLClassifier":{ + "shape":"CreateXMLClassifierRequest", + "documentation":"

An XMLClassifier object specifying the classifier to create.

" + }, + "JsonClassifier":{ + "shape":"CreateJsonClassifierRequest", + "documentation":"

A JsonClassifier object specifying the classifier to create.

" + }, + "CsvClassifier":{ + "shape":"CreateCsvClassifierRequest", + "documentation":"

A CsvClassifier object specifying the classifier to create.

" + } + } + }, + "CreateClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateConnectionRequest":{ + "type":"structure", + "required":["ConnectionInput"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which to create the connection. If none is provided, the AWS account ID is used by default.

" + }, + "ConnectionInput":{ + "shape":"ConnectionInput", + "documentation":"

A ConnectionInput object defining the connection to create.

" + } + } + }, + "CreateConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateCrawlerRequest":{ + "type":"structure", + "required":[ + "Name", + "Role", + "Targets" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the new crawler.

" + }, + "Role":{ + "shape":"Role", + "documentation":"

The IAM role or Amazon Resource Name (ARN) of an IAM role used by the new crawler to access customer resources.

" + }, + "DatabaseName":{ + "shape":"DatabaseName", + "documentation":"

The AWS Glue database where results are written, such as: arn:aws:daylight:us-east-1::database/sometable/*.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the new crawler.

" + }, + "Targets":{ + "shape":"CrawlerTargets", + "documentation":"

A list of collection of targets to crawl.

" + }, + "Schedule":{ + "shape":"CronExpression", + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" + }, + "Classifiers":{ + "shape":"ClassifierNameList", + "documentation":"

A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" + }, + "TablePrefix":{ + "shape":"TablePrefix", + "documentation":"

The table prefix used for catalog tables that are created.

" + }, + "SchemaChangePolicy":{ + "shape":"SchemaChangePolicy", + "documentation":"

The policy for the crawler's update and deletion behavior.

" + }, + "Configuration":{ + "shape":"CrawlerConfiguration", + "documentation":"

The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" + }, + "CrawlerSecurityConfiguration":{ + "shape":"CrawlerSecurityConfiguration", + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this crawler request. You can use tags to limit access to the crawler. For more information, see AWS Tags in AWS Glue.

" + } + } + }, + "CreateCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateCsvClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. Must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

Specifies a custom CSV classifier for CreateClassifier to create.

" + }, + "CreateDatabaseRequest":{ + "type":"structure", + "required":["DatabaseInput"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which to create the database. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseInput":{ + "shape":"DatabaseInput", + "documentation":"

The metadata for the database.

" + } + } + }, + "CreateDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateDevEndpointRequest":{ + "type":"structure", + "required":[ + "EndpointName", + "RoleArn" + ], + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name to be assigned to the new DevEndpoint.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The IAM role for the DevEndpoint.

" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"

Security group IDs for the security groups to be used by the new DevEndpoint.

" + }, + "SubnetId":{ + "shape":"GenericString", + "documentation":"

The subnet ID for the new DevEndpoint to use.

" + }, + "PublicKey":{ + "shape":"GenericString", + "documentation":"

The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys.

" + }, + "PublicKeys":{ + "shape":"PublicKeysList", + "documentation":"

A list of public keys to be used by the development endpoints for authentication. The use of this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.

If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the UpdateDevEndpoint API with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute.

" + }, + "NumberOfNodes":{ + "shape":"IntegerValue", + "documentation":"

The number of AWS Glue Data Processing Units (DPUs) to allocate to this DevEndpoint.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

Known issue: when a development endpoint is created with the G.2X WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

Development endpoints that are created without specifying a Glue version default to Glue 0.9.

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated to the development endpoint.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "ExtraPythonLibsS3Path":{ + "shape":"GenericString", + "documentation":"

The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

You can only use pure Python libraries with a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not yet supported.

" + }, + "ExtraJarsS3Path":{ + "shape":"GenericString", + "documentation":"

The path to one or more Java .jar files in an S3 bucket that should be loaded in your DevEndpoint.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this DevEndpoint. You may use tags to limit access to the DevEndpoint. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

A map of arguments used to configure the DevEndpoint.

" + } + } + }, + "CreateDevEndpointResponse":{ + "type":"structure", + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name assigned to the new DevEndpoint.

" + }, + "Status":{ + "shape":"GenericString", + "documentation":"

The current status of the new DevEndpoint.

" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"

The security groups assigned to the new DevEndpoint.

" + }, + "SubnetId":{ + "shape":"GenericString", + "documentation":"

The subnet ID assigned to the new DevEndpoint.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the role assigned to the new DevEndpoint.

" + }, + "YarnEndpointAddress":{ + "shape":"GenericString", + "documentation":"

The address of the YARN endpoint used by this DevEndpoint.

" + }, + "ZeppelinRemoteSparkInterpreterPort":{ + "shape":"IntegerValue", + "documentation":"

The Apache Zeppelin port for the remote Apache Spark interpreter.

" + }, + "NumberOfNodes":{ + "shape":"IntegerValue", + "documentation":"

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated to the development endpoint. May be a value of Standard, G.1X, or G.2X.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated to the development endpoint.

" + }, + "AvailabilityZone":{ + "shape":"GenericString", + "documentation":"

The AWS Availability Zone where this DevEndpoint is located.

" + }, + "VpcId":{ + "shape":"GenericString", + "documentation":"

The ID of the virtual private cloud (VPC) used by this DevEndpoint.

" + }, + "ExtraPythonLibsS3Path":{ + "shape":"GenericString", + "documentation":"

The paths to one or more Python libraries in an S3 bucket that will be loaded in your DevEndpoint.

" + }, + "ExtraJarsS3Path":{ + "shape":"GenericString", + "documentation":"

Path to one or more Java .jar files in an S3 bucket that will be loaded in your DevEndpoint.

" + }, + "FailureReason":{ + "shape":"GenericString", + "documentation":"

The reason for a current failure in this DevEndpoint.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure being used with this DevEndpoint.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampValue", + "documentation":"

The point in time at which this DevEndpoint was created.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

The map of arguments used to configure this DevEndpoint.

Valid arguments are:

  • \"--enable-glue-datacatalog\": \"\"

  • \"GLUE_PYTHON_VERSION\": \"3\"

  • \"GLUE_PYTHON_VERSION\": \"2\"

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" + } + } + }, + "CreateGrokClassifierRequest":{ + "type":"structure", + "required":[ + "Classification", + "Name", + "GrokPattern" + ], + "members":{ + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the new classifier.

" + }, + "GrokPattern":{ + "shape":"GrokPattern", + "documentation":"

The grok pattern used by this classifier.

" + }, + "CustomPatterns":{ + "shape":"CustomPatterns", + "documentation":"

Optional custom grok patterns used by this classifier.

" + } + }, + "documentation":"

Specifies a grok classifier for CreateClassifier to create.

" + }, + "CreateJobRequest":{ + "type":"structure", + "required":[ + "Name", + "Role", + "Command" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name you assign to this job definition. It must be unique in your account.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

Description of the job being defined.

" + }, + "LogUri":{ + "shape":"UriString", + "documentation":"

This field is reserved for future use.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

" + }, + "ExecutionProperty":{ + "shape":"ExecutionProperty", + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + }, + "Command":{ + "shape":"JobCommand", + "documentation":"

The JobCommand that executes this job.

" + }, + "DefaultArguments":{ + "shape":"GenericMap", + "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "NonOverridableArguments":{ + "shape":"GenericMap", + "documentation":"

Non-overridable arguments for this job, specified as name-value pairs.

" + }, + "Connections":{ + "shape":"ConnectionsList", + "documentation":"

The connections used for this job.

" + }, + "MaxRetries":{ + "shape":"MaxRetries", + "documentation":"

The maximum number of times to retry this job if it fails.

" + }, + "AllocatedCapacity":{ + "shape":"IntegerValue", + "documentation":"

This parameter is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this Job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this job. You may use tags to limit access to the job. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job notification.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

Jobs that are created without specifying a Glue version default to Glue 0.9.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + } + } + }, + "CreateJobResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The unique name that was provided for this job definition.

" + } + } + }, + "CreateJsonClassifierRequest":{ + "type":"structure", + "required":[ + "Name", + "JsonPath" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "JsonPath":{ + "shape":"JsonPath", + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + } + }, + "documentation":"

Specifies a JSON classifier for CreateClassifier to create.

" + }, + "CreateMLTransformRequest":{ + "type":"structure", + "required":[ + "Name", + "InputRecordTables", + "Parameters", + "Role" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The unique name that you give the transform when you create it.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the machine learning transform that is being defined. The default is an empty string.

" + }, + "InputRecordTables":{ + "shape":"GlueTables", + "documentation":"

A list of AWS Glue table definitions used by the transform.

" + }, + "Parameters":{ + "shape":"TransformParameters", + "documentation":"

The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

  • This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

  • This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

  • If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

  • If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

  • If WorkerType is set, then NumberOfWorkers is required (and vice versa).

  • MaxCapacity and NumberOfWorkers must both be at least 1.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

  • If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

  • If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

  • If WorkerType is set, then NumberOfWorkers is required (and vice versa).

  • MaxCapacity and NumberOfWorkers must both be at least 1.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when this task runs.

If WorkerType is set, then NumberOfWorkers is required (and vice versa).

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The timeout of the task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxRetries":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of times to retry a task for this transform after a task run fails.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" + } + } + }, + "CreateMLTransformResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

A unique identifier that is generated for the transform.

" + } + } + }, + "CreatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The AWS account ID of the catalog in which the partition is to be created.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the metadata database in which the partition is to be created.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the metadata table in which the partition is to be created.

" + }, + "PartitionInput":{ + "shape":"PartitionInput", + "documentation":"

A PartitionInput structure defining the partition to be created.

" + } + } + }, + "CreatePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateScriptRequest":{ + "type":"structure", + "members":{ + "DagNodes":{ + "shape":"DagNodes", + "documentation":"

A list of the nodes in the DAG.

" + }, + "DagEdges":{ + "shape":"DagEdges", + "documentation":"

A list of the edges in the DAG.

" + }, + "Language":{ + "shape":"Language", + "documentation":"

The programming language of the resulting code from the DAG.

" + } + } + }, + "CreateScriptResponse":{ + "type":"structure", + "members":{ + "PythonScript":{ + "shape":"PythonScript", + "documentation":"

The Python script generated from the DAG.

" + }, + "ScalaCode":{ + "shape":"ScalaCode", + "documentation":"

The Scala code generated from the DAG.

" + } + } + }, + "CreateSecurityConfigurationRequest":{ + "type":"structure", + "required":[ + "Name", + "EncryptionConfiguration" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name for the new security configuration.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration for the new security configuration.

" + } + } + }, + "CreateSecurityConfigurationResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name assigned to the new security configuration.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampValue", + "documentation":"

The time at which the new security configuration was created.

" + } + } + }, + "CreateTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which to create the Table. If none is supplied, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The catalog database in which to create the new table. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableInput":{ + "shape":"TableInput", + "documentation":"

The TableInput object that defines the metadata table to create in the catalog.

" + } + } + }, + "CreateTableResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateTriggerRequest":{ + "type":"structure", + "required":[ + "Name", + "Type", + "Actions" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger.

" + }, + "WorkflowName":{ + "shape":"NameString", + "documentation":"

The name of the workflow associated with the trigger.

" + }, + "Type":{ + "shape":"TriggerType", + "documentation":"

The type of the new trigger.

" + }, + "Schedule":{ + "shape":"GenericString", + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

This field is required when the trigger type is SCHEDULED.

" + }, + "Predicate":{ + "shape":"Predicate", + "documentation":"

A predicate to specify when the new trigger should fire.

This field is required when the trigger type is CONDITIONAL.

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The actions initiated by this trigger when it fires.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the new trigger.

" + }, + "StartOnCreation":{ + "shape":"BooleanValue", + "documentation":"

Set to true to start SCHEDULED and CONDITIONAL triggers when created. True is not supported for ON_DEMAND triggers.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.

" + } + } + }, + "CreateTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger.

" + } + } + }, + "CreateUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which to create the function. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which to create the function.

" + }, + "FunctionInput":{ + "shape":"UserDefinedFunctionInput", + "documentation":"

A FunctionInput object that defines the function to create in the Data Catalog.

" + } + } + }, + "CreateUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateWorkflowRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name to be assigned to the workflow. It should be unique within your account.

" + }, + "Description":{ + "shape":"GenericString", + "documentation":"

A description of the workflow.

" + }, + "DefaultRunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

A collection of properties to be used as part of each execution of the workflow.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

The tags to be used with this workflow.

" + } + } + }, + "CreateWorkflowResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow which was provided as part of the request.

" + } + } + }, + "CreateXMLClassifierRequest":{ + "type":"structure", + "required":[ + "Classification", + "Name" + ], + "members":{ + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "RowTag":{ + "shape":"RowTag", + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + } + }, + "documentation":"

Specifies an XML classifier for CreateClassifier to create.

" + }, + "CronExpression":{"type":"string"}, + "CsvClassifier":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was registered.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was last updated.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of this classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

A classifier for custom CSV content.

" + }, + "CsvColumnDelimiter":{ + "type":"string", + "max":1, + "min":1, + "pattern":"[^\\r\\n]" + }, + "CsvHeader":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "CsvHeaderOption":{ + "type":"string", + "enum":[ + "UNKNOWN", + "PRESENT", + "ABSENT" + ] + }, + "CsvQuoteSymbol":{ + "type":"string", + "max":1, + "min":1, + "pattern":"[^\\r\\n]" + }, + "CustomPatterns":{ + "type":"string", + "max":16000, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DagEdges":{ + "type":"list", + "member":{"shape":"CodeGenEdge"} + }, + "DagNodes":{ + "type":"list", + "member":{"shape":"CodeGenNode"} + }, + "DataCatalogEncryptionSettings":{ + "type":"structure", + "members":{ + "EncryptionAtRest":{ + "shape":"EncryptionAtRest", + "documentation":"

Specifies the encryption-at-rest configuration for the Data Catalog.

" + }, + "ConnectionPasswordEncryption":{ + "shape":"ConnectionPasswordEncryption", + "documentation":"

When connection password protection is enabled, the Data Catalog uses a customer-provided key to encrypt the password as part of CreateConnection or UpdateConnection and store it in the ENCRYPTED_PASSWORD field in the connection properties. You can enable catalog encryption or only password encryption.

" + } + }, + "documentation":"

Contains configuration information for maintaining Data Catalog security.

" + }, + "DataLakePrincipal":{ + "type":"structure", + "members":{ + "DataLakePrincipalIdentifier":{ + "shape":"DataLakePrincipalString", + "documentation":"

An identifier for the AWS Lake Formation principal.

" + } + }, + "documentation":"

The AWS Lake Formation principal.

" + }, + "DataLakePrincipalString":{ + "type":"string", + "max":255, + "min":1 + }, + "Database":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the database.

" + }, + "LocationUri":{ + "shape":"URI", + "documentation":"

The location of the database (for example, an HDFS path).

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define parameters and properties of the database.

" + }, + "CreateTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the metadata database was created in the catalog.

" + }, + "CreateTableDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

Creates a set of default permissions on the table for principals.

" + } + }, + "documentation":"

The Database object represents a logical grouping of tables that might reside in a Hive metastore or an RDBMS.

" + }, + "DatabaseInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database. For Hive compatibility, this is folded to lowercase when it is stored.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the database.

" + }, + "LocationUri":{ + "shape":"URI", + "documentation":"

The location of the database (for example, an HDFS path).

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define parameters and properties of the database.

These key-value pairs define parameters and properties of the database.

" + }, + "CreateTableDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

Creates a set of default permissions on the table for principals.

" + } + }, + "documentation":"

The structure used to create or update a database.

" + }, + "DatabaseList":{ + "type":"list", + "member":{"shape":"Database"} + }, + "DatabaseName":{"type":"string"}, + "DeleteBehavior":{ + "type":"string", + "enum":[ + "LOG", + "DELETE_FROM_DATABASE", + "DEPRECATE_IN_DATABASE" + ] + }, + "DeleteClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the classifier to remove.

" + } + } + }, + "DeleteClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteConnectionNameList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":25, + "min":0 + }, + "DeleteConnectionRequest":{ + "type":"structure", + "required":["ConnectionName"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" + }, + "ConnectionName":{ + "shape":"NameString", + "documentation":"

The name of the connection to delete.

" + } + } + }, + "DeleteConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the crawler to remove.

" + } + } + }, + "DeleteCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDatabaseRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the database resides. If none is provided, the AWS account ID is used by default.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database to delete. For Hive compatibility, this must be all lowercase.

" + } + } + }, + "DeleteDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name of the DevEndpoint.

" + } + } + }, + "DeleteDevEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteJobRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition to delete.

" + } + } + }, + "DeleteJobResponse":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition that was deleted.

" + } + } + }, + "DeleteMLTransformRequest":{ + "type":"structure", + "required":["TransformId"], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the transform to delete.

" + } + } + }, + "DeleteMLTransformResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the transform that was deleted.

" + } + } + }, + "DeletePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValues" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partition to be deleted resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the table in question resides.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table that contains the partition to be deleted.

" + }, + "PartitionValues":{ + "shape":"ValueStringList", + "documentation":"

The values that define the partition.

" + } + } + }, + "DeletePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourcePolicyRequest":{ + "type":"structure", + "members":{ + "PolicyHashCondition":{ + "shape":"HashString", + "documentation":"

The hash value returned when this policy was set.

" + } + } + }, + "DeleteResourcePolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSecurityConfigurationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the security configuration to delete.

" + } + } + }, + "DeleteSecurityConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "Name" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the table to be deleted. For Hive compatibility, this name is entirely lowercase.

" + } + } + }, + "DeleteTableResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "VersionId" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" + }, + "VersionId":{ + "shape":"VersionString", + "documentation":"

The ID of the table version to be deleted. A VersionID is a string representation of an integer. Each version is incremented by 1.

" + } + } + }, + "DeleteTableVersionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger to delete.

" + } + } + }, + "DeleteTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger that was deleted.

" + } + } + }, + "DeleteUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the function to be deleted is located. If none is supplied, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the function is located.

" + }, + "FunctionName":{ + "shape":"NameString", + "documentation":"

The name of the function definition to be deleted.

" + } + } + }, + "DeleteUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkflowRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow to be deleted.

" + } + } + }, + "DeleteWorkflowResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow specified in input.

" + } + } + }, + "DescriptionString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DescriptionStringRemovable":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "DevEndpoint":{ + "type":"structure", + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name of the DevEndpoint.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role used in this DevEndpoint.

" + }, + "SecurityGroupIds":{ + "shape":"StringList", + "documentation":"

A list of security group identifiers used in this DevEndpoint.

" + }, + "SubnetId":{ + "shape":"GenericString", + "documentation":"

The subnet ID for this DevEndpoint.

" + }, + "YarnEndpointAddress":{ + "shape":"GenericString", + "documentation":"

The YARN endpoint address used by this DevEndpoint.

" + }, + "PrivateAddress":{ + "shape":"GenericString", + "documentation":"

A private IP address to access the DevEndpoint within a VPC if the DevEndpoint is created within one. The PrivateAddress field is present only when you create the DevEndpoint within your VPC.

" + }, + "ZeppelinRemoteSparkInterpreterPort":{ + "shape":"IntegerValue", + "documentation":"

The Apache Zeppelin port for the remote Apache Spark interpreter.

" + }, + "PublicAddress":{ + "shape":"GenericString", + "documentation":"

The public IP address used by this DevEndpoint. The PublicAddress field is present only when you create a non-virtual private cloud (VPC) DevEndpoint.

" + }, + "Status":{ + "shape":"GenericString", + "documentation":"

The current status of this DevEndpoint.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated to the development endpoint. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

Known issue: when a development endpoint is created with the G.2X WorkerType configuration, the Spark drivers for the development endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for running your ETL scripts on development endpoints.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

Development endpoints that are created without specifying a Glue version default to Glue 0.9.

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated to the development endpoint.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "NumberOfNodes":{ + "shape":"IntegerValue", + "documentation":"

The number of AWS Glue Data Processing Units (DPUs) allocated to this DevEndpoint.

" + }, + "AvailabilityZone":{ + "shape":"GenericString", + "documentation":"

The AWS Availability Zone where this DevEndpoint is located.

" + }, + "VpcId":{ + "shape":"GenericString", + "documentation":"

The ID of the virtual private cloud (VPC) used by this DevEndpoint.

" + }, + "ExtraPythonLibsS3Path":{ + "shape":"GenericString", + "documentation":"

The paths to one or more Python libraries in an Amazon S3 bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

You can only use pure Python libraries with a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not currently supported.

" + }, + "ExtraJarsS3Path":{ + "shape":"GenericString", + "documentation":"

The path to one or more Java .jar files in an S3 bucket that should be loaded in your DevEndpoint.

You can only use pure Java/Scala libraries with a DevEndpoint.

" + }, + "FailureReason":{ + "shape":"GenericString", + "documentation":"

The reason for a current failure in this DevEndpoint.

" + }, + "LastUpdateStatus":{ + "shape":"GenericString", + "documentation":"

The status of the last update.

" + }, + "CreatedTimestamp":{ + "shape":"TimestampValue", + "documentation":"

The point in time at which this DevEndpoint was created.

" + }, + "LastModifiedTimestamp":{ + "shape":"TimestampValue", + "documentation":"

The point in time at which this DevEndpoint was last modified.

" + }, + "PublicKey":{ + "shape":"GenericString", + "documentation":"

The public key to be used by this DevEndpoint for authentication. This attribute is provided for backward compatibility because the recommended attribute to use is public keys.

" + }, + "PublicKeys":{ + "shape":"PublicKeysList", + "documentation":"

A list of public keys to be used by the DevEndpoints for authentication. Using this attribute is preferred over a single public key because the public keys allow you to have a different private key per client.

If you previously created an endpoint with a public key, you must remove that key to be able to set a list of public keys. Call the UpdateDevEndpoint API operation with the public key content in the deletePublicKeys attribute, and the list of new keys in the addPublicKeys attribute.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this DevEndpoint.

" + }, + "Arguments":{ + "shape":"MapValue", + "documentation":"

A map of arguments used to configure the DevEndpoint.

Valid arguments are:

  • \"--enable-glue-datacatalog\": \"\"

  • \"GLUE_PYTHON_VERSION\": \"3\"

  • \"GLUE_PYTHON_VERSION\": \"2\"

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" + } + }, + "documentation":"

A development endpoint where a developer can remotely debug extract, transform, and load (ETL) scripts.

" + }, + "DevEndpointCustomLibraries":{ + "type":"structure", + "members":{ + "ExtraPythonLibsS3Path":{ + "shape":"GenericString", + "documentation":"

The paths to one or more Python libraries in an Amazon Simple Storage Service (Amazon S3) bucket that should be loaded in your DevEndpoint. Multiple values must be complete paths separated by a comma.

You can only use pure Python libraries with a DevEndpoint. Libraries that rely on C extensions, such as the pandas Python data analysis library, are not currently supported.

" + }, + "ExtraJarsS3Path":{ + "shape":"GenericString", + "documentation":"

The path to one or more Java .jar files in an S3 bucket that should be loaded in your DevEndpoint.

You can only use pure Java/Scala libraries with a DevEndpoint.

" + } + }, + "documentation":"

Custom libraries to be loaded into a development endpoint.

" + }, + "DevEndpointList":{ + "type":"list", + "member":{"shape":"DevEndpoint"} + }, + "DevEndpointNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "DevEndpointNames":{ + "type":"list", + "member":{"shape":"GenericString"}, + "max":25, + "min":1 + }, + "DynamoDBTarget":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"Path", + "documentation":"

The name of the DynamoDB table to crawl.

" + } + }, + "documentation":"

Specifies an Amazon DynamoDB table to crawl.

" + }, + "DynamoDBTargetList":{ + "type":"list", + "member":{"shape":"DynamoDBTarget"} + }, + "Edge":{ + "type":"structure", + "members":{ + "SourceId":{ + "shape":"NameString", + "documentation":"

The unique of the node within the workflow where the edge starts.

" + }, + "DestinationId":{ + "shape":"NameString", + "documentation":"

The unique of the node within the workflow where the edge ends.

" + } + }, + "documentation":"

An edge represents a directed connection between two AWS Glue components which are part of the workflow the edge belongs to.

" + }, + "EdgeList":{ + "type":"list", + "member":{"shape":"Edge"} + }, + "EncryptionAtRest":{ + "type":"structure", + "required":["CatalogEncryptionMode"], + "members":{ + "CatalogEncryptionMode":{ + "shape":"CatalogEncryptionMode", + "documentation":"

The encryption-at-rest mode for encrypting Data Catalog data.

" + }, + "SseAwsKmsKeyId":{ + "shape":"NameString", + "documentation":"

The ID of the AWS KMS key to use for encryption at rest.

" + } + }, + "documentation":"

Specifies the encryption-at-rest configuration for the Data Catalog.

" + }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "S3Encryption":{ + "shape":"S3EncryptionList", + "documentation":"

The encryption configuration for Amazon Simple Storage Service (Amazon S3) data.

" + }, + "CloudWatchEncryption":{ + "shape":"CloudWatchEncryption", + "documentation":"

The encryption configuration for Amazon CloudWatch.

" + }, + "JobBookmarksEncryption":{ + "shape":"JobBookmarksEncryption", + "documentation":"

The encryption configuration for job bookmarks.

" + } + }, + "documentation":"

Specifies an encryption configuration.

" + }, + "EntityNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A specified entity does not exist

", + "exception":true + }, + "ErrorByName":{ + "type":"map", + "key":{"shape":"NameString"}, + "value":{"shape":"ErrorDetail"} + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"NameString", + "documentation":"

The code associated with this error.

" + }, + "ErrorMessage":{ + "shape":"DescriptionString", + "documentation":"

A message describing the error.

" + } + }, + "documentation":"

Contains details about an error.

" + }, + "ErrorString":{"type":"string"}, + "EvaluationMetrics":{ + "type":"structure", + "required":["TransformType"], + "members":{ + "TransformType":{ + "shape":"TransformType", + "documentation":"

The type of machine learning transform.

" + }, + "FindMatchesMetrics":{ + "shape":"FindMatchesMetrics", + "documentation":"

The evaluation metrics for the find matches algorithm.

" + } + }, + "documentation":"

Evaluation metrics provide an estimate of the quality of your machine learning transform.

" + }, + "ExecutionProperty":{ + "type":"structure", + "members":{ + "MaxConcurrentRuns":{ + "shape":"MaxConcurrentRuns", + "documentation":"

The maximum number of concurrent runs allowed for the job. The default is 1. An error is returned when this threshold is reached. The maximum value you can specify is controlled by a service limit.

" + } + }, + "documentation":"

An execution property of a job.

" + }, + "ExecutionTime":{"type":"integer"}, + "ExistCondition":{ + "type":"string", + "enum":[ + "MUST_EXIST", + "NOT_EXIST", + "NONE" + ] + }, + "ExportLabelsTaskRunProperties":{ + "type":"structure", + "members":{ + "OutputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon Simple Storage Service (Amazon S3) path where you will export the labels.

" + } + }, + "documentation":"

Specifies configuration properties for an exporting labels task run.

" + }, + "FieldType":{"type":"string"}, + "FilterString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "FindMatchesMetrics":{ + "type":"structure", + "members":{ + "AreaUnderPRCurve":{ + "shape":"GenericBoundedDouble", + "documentation":"

The area under the precision/recall curve (AUPRC) is a single number measuring the overall quality of the transform, that is independent of the choice made for precision vs. recall. Higher values indicate that you have a more attractive precision vs. recall tradeoff.

For more information, see Precision and recall in Wikipedia.

" + }, + "Precision":{ + "shape":"GenericBoundedDouble", + "documentation":"

The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

For more information, see Precision and recall in Wikipedia.

" + }, + "Recall":{ + "shape":"GenericBoundedDouble", + "documentation":"

The recall metric indicates that for an actual match, how often your transform predicts the match. Specifically, it measures how well the transform finds true positives from the total records in the source data.

For more information, see Precision and recall in Wikipedia.

" + }, + "F1":{ + "shape":"GenericBoundedDouble", + "documentation":"

The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy.

For more information, see F1 score in Wikipedia.

" + }, + "ConfusionMatrix":{ + "shape":"ConfusionMatrix", + "documentation":"

The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

For more information, see Confusion matrix in Wikipedia.

" + } + }, + "documentation":"

The evaluation metrics for the find matches algorithm. The quality of your machine learning transform is measured by getting your transform to predict some matches and comparing the results to known matches from the same dataset. The quality metrics are based on a subset of your data, so they are not precise.

" + }, + "FindMatchesParameters":{ + "type":"structure", + "members":{ + "PrimaryKeyColumnName":{ + "shape":"ColumnNameString", + "documentation":"

The name of a column that uniquely identifies rows in the source table. Used to help identify matching records.

" + }, + "PrecisionRecallTradeoff":{ + "shape":"GenericBoundedDouble", + "documentation":"

The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision.

The precision metric indicates how often your model is correct when it predicts a match.

The recall metric indicates that for an actual match, how often your model predicts the match.

" + }, + "AccuracyCostTradeoff":{ + "shape":"GenericBoundedDouble", + "documentation":"

The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate FindMatches transform, sometimes with unacceptable accuracy.

Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall.

Cost measures how many compute resources, and thus money, are consumed to run the transform.

" + }, + "EnforceProvidedLabels":{ + "shape":"NullableBoolean", + "documentation":"

The value to switch on or off to force the output to match the provided labels from users. If the value is True, the find matches transform forces the output to match the provided labels. The results override the normal conflation results. If the value is False, the find matches transform does not ensure all the labels provided are respected, and the results rely on the trained model.

Note that setting this value to true may increase the conflation execution time.

" + } + }, + "documentation":"

The parameters to configure the find matches transform.

" + }, + "FindMatchesTaskRunProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"HashString", + "documentation":"

The job ID for the Find Matches task run.

" + }, + "JobName":{ + "shape":"NameString", + "documentation":"

The name assigned to the job for the Find Matches task run.

" + }, + "JobRunId":{ + "shape":"HashString", + "documentation":"

The job run ID for the Find Matches task run.

" + } + }, + "documentation":"

Specifies configuration properties for a Find Matches task run.

" + }, + "FormatString":{ + "type":"string", + "max":128, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "GenericBoundedDouble":{ + "type":"double", + "box":true, + "max":1.0, + "min":0.0 + }, + "GenericMap":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"GenericString"} + }, + "GenericString":{"type":"string"}, + "GetCatalogImportStatusRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog to migrate. Currently, this should be the AWS account ID.

" + } + } + }, + "GetCatalogImportStatusResponse":{ + "type":"structure", + "members":{ + "ImportStatus":{ + "shape":"CatalogImportStatus", + "documentation":"

The status of the specified catalog migration.

" + } + } + }, + "GetClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the classifier to retrieve.

" + } + } + }, + "GetClassifierResponse":{ + "type":"structure", + "members":{ + "Classifier":{ + "shape":"Classifier", + "documentation":"

The requested classifier.

" + } + } + }, + "GetClassifiersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The size of the list to return (optional).

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

An optional continuation token.

" + } + } + }, + "GetClassifiersResponse":{ + "type":"structure", + "members":{ + "Classifiers":{ + "shape":"ClassifierList", + "documentation":"

The requested list of classifier objects.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token.

" + } + } + }, + "GetConnectionRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the connection definition to retrieve.

" + }, + "HidePassword":{ + "shape":"Boolean", + "documentation":"

Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but it does have permission to access the rest of the connection properties.

" + } + } + }, + "GetConnectionResponse":{ + "type":"structure", + "members":{ + "Connection":{ + "shape":"Connection", + "documentation":"

The requested connection definition.

" + } + } + }, + "GetConnectionsFilter":{ + "type":"structure", + "members":{ + "MatchCriteria":{ + "shape":"MatchCriteria", + "documentation":"

A criteria string that must match the criteria recorded in the connection definition for that connection definition to be returned.

" + }, + "ConnectionType":{ + "shape":"ConnectionType", + "documentation":"

The type of connections to return. Currently, only JDBC is supported; SFTP is not supported.

" + } + }, + "documentation":"

Filters the connection definitions that are returned by the GetConnections API operation.

" + }, + "GetConnectionsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the connections reside. If none is provided, the AWS account ID is used by default.

" + }, + "Filter":{ + "shape":"GetConnectionsFilter", + "documentation":"

A filter that controls which connections are returned.

" + }, + "HidePassword":{ + "shape":"Boolean", + "documentation":"

Allows you to retrieve the connection metadata without returning the password. For instance, the AWS Glue console uses this flag to retrieve the connection, and does not display the password. Set this parameter when the caller might not have permission to use the AWS KMS key to decrypt the password, but it does have permission to access the rest of the connection properties.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of connections to return in one response.

" + } + } + }, + "GetConnectionsResponse":{ + "type":"structure", + "members":{ + "ConnectionList":{ + "shape":"ConnectionList", + "documentation":"

A list of requested connection definitions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the list of connections returned does not include the last of the filtered connections.

" + } + } + }, + "GetCrawlerMetricsRequest":{ + "type":"structure", + "members":{ + "CrawlerNameList":{ + "shape":"CrawlerNameList", + "documentation":"

A list of the names of crawlers about which to retrieve metrics.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation call.

" + } + } + }, + "GetCrawlerMetricsResponse":{ + "type":"structure", + "members":{ + "CrawlerMetricsList":{ + "shape":"CrawlerMetricsList", + "documentation":"

A list of metrics for the specified crawler.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "GetCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the crawler to retrieve metadata for.

" + } + } + }, + "GetCrawlerResponse":{ + "type":"structure", + "members":{ + "Crawler":{ + "shape":"Crawler", + "documentation":"

The metadata for the specified crawler.

" + } + } + }, + "GetCrawlersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The number of crawlers to return on each call.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation request.

" + } + } + }, + "GetCrawlersResponse":{ + "type":"structure", + "members":{ + "Crawlers":{ + "shape":"CrawlerList", + "documentation":"

A list of crawler metadata.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the returned list has not reached the end of those defined in this customer account.

" + } + } + }, + "GetDataCatalogEncryptionSettingsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog to retrieve the security configuration for. If none is provided, the AWS account ID is used by default.

" + } + } + }, + "GetDataCatalogEncryptionSettingsResponse":{ + "type":"structure", + "members":{ + "DataCatalogEncryptionSettings":{ + "shape":"DataCatalogEncryptionSettings", + "documentation":"

The requested security configuration.

" + } + } + }, + "GetDatabaseRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the database resides. If none is provided, the AWS account ID is used by default.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database to retrieve. For Hive compatibility, this should be all lowercase.

" + } + } + }, + "GetDatabaseResponse":{ + "type":"structure", + "members":{ + "Database":{ + "shape":"Database", + "documentation":"

The definition of the specified database in the Data Catalog.

" + } + } + }, + "GetDatabasesRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog from which to retrieve Databases. If none is provided, the AWS account ID is used by default.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of databases to return in one response.

" + } + } + }, + "GetDatabasesResponse":{ + "type":"structure", + "required":["DatabaseList"], + "members":{ + "DatabaseList":{ + "shape":"DatabaseList", + "documentation":"

A list of Database objects from the specified catalog.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

" + } + } + }, + "GetDataflowGraphRequest":{ + "type":"structure", + "members":{ + "PythonScript":{ + "shape":"PythonScript", + "documentation":"

The Python script to transform.

" + } + } + }, + "GetDataflowGraphResponse":{ + "type":"structure", + "members":{ + "DagNodes":{ + "shape":"DagNodes", + "documentation":"

A list of the nodes in the resulting DAG.

" + }, + "DagEdges":{ + "shape":"DagEdges", + "documentation":"

A list of the edges in the resulting DAG.

" + } + } + }, + "GetDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

Name of the DevEndpoint to retrieve information for.

" + } + } + }, + "GetDevEndpointResponse":{ + "type":"structure", + "members":{ + "DevEndpoint":{ + "shape":"DevEndpoint", + "documentation":"

A DevEndpoint definition.

" + } + } + }, + "GetDevEndpointsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of information to return.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + } + } + }, + "GetDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpoints":{ + "shape":"DevEndpointList", + "documentation":"

A list of DevEndpoint definitions.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all DevEndpoint definitions have yet been returned.

" + } + } + }, + "GetJobBookmarkRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

The name of the job in question.

" + }, + "RunId":{ + "shape":"RunId", + "documentation":"

The unique run identifier associated with this job run.

" + } + } + }, + "GetJobBookmarkResponse":{ + "type":"structure", + "members":{ + "JobBookmarkEntry":{ + "shape":"JobBookmarkEntry", + "documentation":"

A structure that defines a point that a job can resume processing.

" + } + } + }, + "GetJobRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition to retrieve.

" + } + } + }, + "GetJobResponse":{ + "type":"structure", + "members":{ + "Job":{ + "shape":"Job", + "documentation":"

The requested job definition.

" + } + } + }, + "GetJobRunRequest":{ + "type":"structure", + "required":[ + "JobName", + "RunId" + ], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

Name of the job definition being run.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The ID of the job run.

" + }, + "PredecessorsIncluded":{ + "shape":"BooleanValue", + "documentation":"

True if a list of predecessor runs should be returned.

" + } + } + }, + "GetJobRunResponse":{ + "type":"structure", + "members":{ + "JobRun":{ + "shape":"JobRun", + "documentation":"

The requested job-run metadata.

" + } + } + }, + "GetJobRunsRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition for which to retrieve all job runs.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of the response.

" + } + } + }, + "GetJobRunsResponse":{ + "type":"structure", + "members":{ + "JobRuns":{ + "shape":"JobRunList", + "documentation":"

A list of job-run metadata objects.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all requested job runs have been returned.

" + } + } + }, + "GetJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of the response.

" + } + } + }, + "GetJobsResponse":{ + "type":"structure", + "members":{ + "Jobs":{ + "shape":"JobList", + "documentation":"

A list of job definitions.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all job definitions have yet been returned.

" + } + } + }, + "GetMLTaskRunRequest":{ + "type":"structure", + "required":[ + "TransformId", + "TaskRunId" + ], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the task run.

" + } + } + }, + "GetMLTaskRunResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the task run.

" + }, + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique run identifier associated with this run.

" + }, + "Status":{ + "shape":"TaskStatusType", + "documentation":"

The status for this task run.

" + }, + "LogGroupName":{ + "shape":"GenericString", + "documentation":"

The names of the log groups that are associated with the task run.

" + }, + "Properties":{ + "shape":"TaskRunProperties", + "documentation":"

The list of properties that are associated with the task run.

" + }, + "ErrorString":{ + "shape":"GenericString", + "documentation":"

The error strings that are associated with the task run.

" + }, + "StartedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time when this task run started.

" + }, + "LastModifiedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time when this task run was last modified.

" + }, + "CompletedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time when this task run was completed.

" + }, + "ExecutionTime":{ + "shape":"ExecutionTime", + "documentation":"

The amount of time (in seconds) that the task run consumed resources.

" + } + } + }, + "GetMLTaskRunsRequest":{ + "type":"structure", + "required":["TransformId"], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A token for pagination of the results. The default is empty.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return.

" + }, + "Filter":{ + "shape":"TaskRunFilterCriteria", + "documentation":"

The filter criteria, in the TaskRunFilterCriteria structure, for the task run.

" + }, + "Sort":{ + "shape":"TaskRunSortCriteria", + "documentation":"

The sorting criteria, in the TaskRunSortCriteria structure, for the task run.

" + } + } + }, + "GetMLTaskRunsResponse":{ + "type":"structure", + "members":{ + "TaskRuns":{ + "shape":"TaskRunList", + "documentation":"

A list of task runs that are associated with the transform.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A pagination token, if more results are available.

" + } + } + }, + "GetMLTransformRequest":{ + "type":"structure", + "required":["TransformId"], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the transform, generated at the time that the transform was created.

" + } + } + }, + "GetMLTransformResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the transform, generated at the time that the transform was created.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The unique name given to the transform when it was created.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the transform.

" + }, + "Status":{ + "shape":"TransformStatusType", + "documentation":"

The last known status of the transform (to indicate whether it can be used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".

" + }, + "CreatedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time when the transform was created.

" + }, + "LastModifiedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time when the transform was last modified.

" + }, + "InputRecordTables":{ + "shape":"GlueTables", + "documentation":"

A list of AWS Glue table definitions used by the transform.

" + }, + "Parameters":{ + "shape":"TransformParameters", + "documentation":"

The configuration parameters that are specific to the algorithm used.

" + }, + "EvaluationMetrics":{ + "shape":"EvaluationMetrics", + "documentation":"

The latest evaluation metrics.

" + }, + "LabelCount":{ + "shape":"LabelCount", + "documentation":"

The number of labels available for this transform.

" + }, + "Schema":{ + "shape":"TransformSchema", + "documentation":"

The Map<Column, Type> object that represents the schema that this transform accepts. Has an upper bound of 100 columns.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role with the required permissions.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when this task runs.

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxRetries":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of times to retry a task for this transform after a task run fails.

" + } + } + }, + "GetMLTransformsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A paginated token to offset the results.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return.

" + }, + "Filter":{ + "shape":"TransformFilterCriteria", + "documentation":"

The filter transformation criteria.

" + }, + "Sort":{ + "shape":"TransformSortCriteria", + "documentation":"

The sorting criteria.

" + } + } + }, + "GetMLTransformsResponse":{ + "type":"structure", + "required":["Transforms"], + "members":{ + "Transforms":{ + "shape":"TransformList", + "documentation":"

A list of machine learning transforms.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A pagination token, if more results are available.

" + } + } + }, + "GetMappingRequest":{ + "type":"structure", + "required":["Source"], + "members":{ + "Source":{ + "shape":"CatalogEntry", + "documentation":"

Specifies the source table.

" + }, + "Sinks":{ + "shape":"CatalogEntries", + "documentation":"

A list of target tables.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

Parameters for the mapping.

" + } + } + }, + "GetMappingResponse":{ + "type":"structure", + "required":["Mapping"], + "members":{ + "Mapping":{ + "shape":"MappingList", + "documentation":"

A list of mappings to the specified targets.

" + } + } + }, + "GetPartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValues" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partition in question resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the partition resides.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the partition's table.

" + }, + "PartitionValues":{ + "shape":"ValueStringList", + "documentation":"

The values that define the partition.

" + } + } + }, + "GetPartitionResponse":{ + "type":"structure", + "members":{ + "Partition":{ + "shape":"Partition", + "documentation":"

The requested information, in the form of a Partition object.

" + } + } + }, + "GetPartitionsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partitions in question reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the partitions reside.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the partitions' table.

" + }, + "Expression":{ + "shape":"PredicateString", + "documentation":"

An expression that filters the partitions to be returned.

The expression uses SQL syntax similar to the SQL WHERE filter clause. The SQL statement parser JSQLParser parses the expression.

Operators: The following are the operators that you can use in the Expression API call:

=

Checks whether the values of the two operands are equal; if yes, then the condition becomes true.

Example: Assume 'variable a' holds 10 and 'variable b' holds 20.

(a = b) is not true.

< >

Checks whether the values of two operands are equal; if the values are not equal, then the condition becomes true.

Example: (a < > b) is true.

>

Checks whether the value of the left operand is greater than the value of the right operand; if yes, then the condition becomes true.

Example: (a > b) is not true.

<

Checks whether the value of the left operand is less than the value of the right operand; if yes, then the condition becomes true.

Example: (a < b) is true.

>=

Checks whether the value of the left operand is greater than or equal to the value of the right operand; if yes, then the condition becomes true.

Example: (a >= b) is not true.

<=

Checks whether the value of the left operand is less than or equal to the value of the right operand; if yes, then the condition becomes true.

Example: (a <= b) is true.

AND, OR, IN, BETWEEN, LIKE, NOT, IS NULL

Logical operators.

Supported Partition Key Types: The following are the supported partition keys.

  • string

  • date

  • timestamp

  • int

  • bigint

  • long

  • tinyint

  • smallint

  • decimal

If an invalid type is encountered, an exception is thrown.

The following list shows the valid operators on each type. When you define a crawler, the partitionKey type is created as a STRING, to be compatible with the catalog partitions.

Sample API Call:

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve these partitions.

" + }, + "Segment":{ + "shape":"Segment", + "documentation":"

The segment of the table's partitions to scan in this request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of partitions to return in a single response.

" + } + } + }, + "GetPartitionsResponse":{ + "type":"structure", + "members":{ + "Partitions":{ + "shape":"PartitionList", + "documentation":"

A list of requested partitions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the returned list of partitions does not include the last one.

" + } + } + }, + "GetPlanRequest":{ + "type":"structure", + "required":[ + "Mapping", + "Source" + ], + "members":{ + "Mapping":{ + "shape":"MappingList", + "documentation":"

The list of mappings from a source table to target tables.

" + }, + "Source":{ + "shape":"CatalogEntry", + "documentation":"

The source table.

" + }, + "Sinks":{ + "shape":"CatalogEntries", + "documentation":"

The target tables.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The parameters for the mapping.

" + }, + "Language":{ + "shape":"Language", + "documentation":"

The programming language of the code to perform the mapping.

" + } + } + }, + "GetPlanResponse":{ + "type":"structure", + "members":{ + "PythonScript":{ + "shape":"PythonScript", + "documentation":"

A Python script to perform the mapping.

" + }, + "ScalaCode":{ + "shape":"ScalaCode", + "documentation":"

The Scala code to perform the mapping.

" + } + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "members":{ + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "members":{ + "PolicyInJson":{ + "shape":"PolicyJsonString", + "documentation":"

Contains the requested policy document, in JSON format.

" + }, + "PolicyHash":{ + "shape":"HashString", + "documentation":"

Contains the hash value associated with this policy.

" + }, + "CreateTime":{ + "shape":"Timestamp", + "documentation":"

The date and time at which the policy was created.

" + }, + "UpdateTime":{ + "shape":"Timestamp", + "documentation":"

The date and time at which the policy was last updated.

" + } + } + }, + "GetSecurityConfigurationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the security configuration to retrieve.

" + } + } + }, + "GetSecurityConfigurationResponse":{ + "type":"structure", + "members":{ + "SecurityConfiguration":{ + "shape":"SecurityConfiguration", + "documentation":"

The requested security configuration.

" + } + } + }, + "GetSecurityConfigurationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + } + } + }, + "GetSecurityConfigurationsResponse":{ + "type":"structure", + "members":{ + "SecurityConfigurations":{ + "shape":"SecurityConfigurationList", + "documentation":"

A list of security configurations.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if there are more security configurations to return.

" + } + } + }, + "GetTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "Name" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the table for which to retrieve the definition. For Hive compatibility, this name is entirely lowercase.

" + } + } + }, + "GetTableResponse":{ + "type":"structure", + "members":{ + "Table":{ + "shape":"Table", + "documentation":"

The Table object that defines the specified table.

" + } + } + }, + "GetTableVersionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" + }, + "VersionId":{ + "shape":"VersionString", + "documentation":"

The ID value of the table version to be retrieved. A VersionID is a string representation of an integer. Each version is incremented by 1.

" + } + } + }, + "GetTableVersionResponse":{ + "type":"structure", + "members":{ + "TableVersion":{ + "shape":"TableVersion", + "documentation":"

The requested table version.

" + } + } + }, + "GetTableVersionsList":{ + "type":"list", + "member":{"shape":"TableVersion"} + }, + "GetTableVersionsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in the catalog in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table. For Hive compatibility, this name is entirely lowercase.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of table versions to return in one response.

" + } + } + }, + "GetTableVersionsResponse":{ + "type":"structure", + "members":{ + "TableVersions":{ + "shape":"GetTableVersionsList", + "documentation":"

A list of strings identifying available versions of the specified table.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the list of available versions does not include the last one.

" + } + } + }, + "GetTablesRequest":{ + "type":"structure", + "required":["DatabaseName"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the tables reside. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The database in the catalog whose tables to list. For Hive compatibility, this name is entirely lowercase.

" + }, + "Expression":{ + "shape":"FilterString", + "documentation":"

A regular expression pattern. If present, only those tables whose names match the pattern are returned.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, included if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of tables to return in a single response.

" + } + } + }, + "GetTablesResponse":{ + "type":"structure", + "members":{ + "TableList":{ + "shape":"TableList", + "documentation":"

A list of the requested Table objects.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, present if the current list segment is not the last.

" + } + } + }, + "GetTagsRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which to retrieve tags.

" + } + } + }, + "GetTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagsMap", + "documentation":"

The requested tags.

" + } + } + }, + "GetTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger to retrieve.

" + } + } + }, + "GetTriggerResponse":{ + "type":"structure", + "members":{ + "Trigger":{ + "shape":"Trigger", + "documentation":"

The requested trigger definition.

" + } + } + }, + "GetTriggersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "DependentJobName":{ + "shape":"NameString", + "documentation":"

The name of the job to retrieve triggers for. The trigger that can start this job is returned, and if there is no such trigger, all triggers are returned.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of the response.

" + } + } + }, + "GetTriggersResponse":{ + "type":"structure", + "members":{ + "Triggers":{ + "shape":"TriggerList", + "documentation":"

A list of triggers for the specified job.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all the requested triggers have yet been returned.

" + } + } + }, + "GetUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the function to be retrieved is located. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the function is located.

" + }, + "FunctionName":{ + "shape":"NameString", + "documentation":"

The name of the function.

" + } + } + }, + "GetUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + "UserDefinedFunction":{ + "shape":"UserDefinedFunction", + "documentation":"

The requested function definition.

" + } + } + }, + "GetUserDefinedFunctionsRequest":{ + "type":"structure", + "required":["Pattern"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the functions to be retrieved are located. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the functions are located.

" + }, + "Pattern":{ + "shape":"NameString", + "documentation":"

An optional function-name pattern string that filters the function definitions returned.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation call.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of functions to return in one response.

" + } + } + }, + "GetUserDefinedFunctionsResponse":{ + "type":"structure", + "members":{ + "UserDefinedFunctions":{ + "shape":"UserDefinedFunctionList", + "documentation":"

A list of requested function definitions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the list of functions returned does not include the last requested function.

" + } + } + }, + "GetWorkflowRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow to retrieve.

" + }, + "IncludeGraph":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether to include a graph when returning the workflow resource metadata.

" + } + } + }, + "GetWorkflowResponse":{ + "type":"structure", + "members":{ + "Workflow":{ + "shape":"Workflow", + "documentation":"

The resource metadata for the workflow.

" + } + } + }, + "GetWorkflowRunPropertiesRequest":{ + "type":"structure", + "required":[ + "Name", + "RunId" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow which was run.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The ID of the workflow run whose run properties should be returned.

" + } + } + }, + "GetWorkflowRunPropertiesResponse":{ + "type":"structure", + "members":{ + "RunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

The workflow run properties which were set during the specified run.

" + } + } + }, + "GetWorkflowRunRequest":{ + "type":"structure", + "required":[ + "Name", + "RunId" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow being run.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The ID of the workflow run.

" + }, + "IncludeGraph":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether to include the workflow graph in response or not.

" + } + } + }, + "GetWorkflowRunResponse":{ + "type":"structure", + "members":{ + "Run":{ + "shape":"WorkflowRun", + "documentation":"

The requested workflow run metadata.

" + } + } + }, + "GetWorkflowRunsRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow whose metadata of runs should be returned.

" + }, + "IncludeGraph":{ + "shape":"NullableBoolean", + "documentation":"

Specifies whether to include the workflow graph in response or not.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

The maximum size of the response.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of workflow runs to be included in the response.

" + } + } + }, + "GetWorkflowRunsResponse":{ + "type":"structure", + "members":{ + "Runs":{ + "shape":"WorkflowRuns", + "documentation":"

A list of workflow run metadata objects.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all requested workflow runs have been returned.

" + } + } + }, + "GlueEncryptionException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

An encryption operation failed.

", + "exception":true + }, + "GlueResourceArn":{ + "type":"string", + "max":10240, + "min":1, + "pattern":"arn:aws:glue:.*" + }, + "GlueTable":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

A database name in the AWS Glue Data Catalog.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

A table name in the AWS Glue Data Catalog.

" + }, + "CatalogId":{ + "shape":"NameString", + "documentation":"

A unique identifier for the AWS Glue Data Catalog.

" + }, + "ConnectionName":{ + "shape":"NameString", + "documentation":"

The name of the connection to the AWS Glue Data Catalog.

" + } + }, + "documentation":"

The database and table in the AWS Glue Data Catalog that is used for input or output data.

" + }, + "GlueTables":{ + "type":"list", + "member":{"shape":"GlueTable"}, + "max":10, + "min":0 + }, + "GlueVersionString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^\\w+\\.\\w+$" + }, + "GrokClassifier":{ + "type":"structure", + "required":[ + "Name", + "Classification", + "GrokPattern" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, and so on.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was registered.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was last updated.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of this classifier.

" + }, + "GrokPattern":{ + "shape":"GrokPattern", + "documentation":"

The grok pattern applied to a data store by this classifier. For more information, see built-in patterns in Writing Custom Classifiers.

" + }, + "CustomPatterns":{ + "shape":"CustomPatterns", + "documentation":"

Optional custom grok patterns defined by this classifier. For more information, see custom patterns in Writing Custom Classifiers.

" + } + }, + "documentation":"

A classifier that uses grok patterns.

" + }, + "GrokPattern":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\t]*" + }, + "HashString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "IdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The same unique identifier was associated with two different records.

", + "exception":true + }, + "IllegalWorkflowStateException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The workflow is in an invalid state to perform a requested operation.

", + "exception":true + }, + "ImportCatalogToGlueRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the catalog to import. Currently, this should be the AWS account ID.

" + } + } + }, + "ImportCatalogToGlueResponse":{ + "type":"structure", + "members":{ + } + }, + "ImportLabelsTaskRunProperties":{ + "type":"structure", + "members":{ + "InputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon Simple Storage Service (Amazon S3) path from where you will import the labels.

" + }, + "Replace":{ + "shape":"ReplaceBoolean", + "documentation":"

Indicates whether to overwrite your existing labels.

" + } + }, + "documentation":"

Specifies configuration properties for an importing labels task run.

" + }, + "Integer":{"type":"integer"}, + "IntegerFlag":{ + "type":"integer", + "max":1, + "min":0 + }, + "IntegerValue":{"type":"integer"}, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

An internal service error occurred.

", + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The input provided was not valid.

", + "exception":true + }, + "JdbcTarget":{ + "type":"structure", + "members":{ + "ConnectionName":{ + "shape":"ConnectionName", + "documentation":"

The name of the connection to use to connect to the JDBC target.

" + }, + "Path":{ + "shape":"Path", + "documentation":"

The path of the JDBC target.

" + }, + "Exclusions":{ + "shape":"PathList", + "documentation":"

A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.

" + } + }, + "documentation":"

Specifies a JDBC data store to crawl.

" + }, + "JdbcTargetList":{ + "type":"list", + "member":{"shape":"JdbcTarget"} + }, + "Job":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name you assign to this job definition.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the job.

" + }, + "LogUri":{ + "shape":"UriString", + "documentation":"

This field is reserved for future use.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

" + }, + "CreatedOn":{ + "shape":"TimestampValue", + "documentation":"

The time and date that this job definition was created.

" + }, + "LastModifiedOn":{ + "shape":"TimestampValue", + "documentation":"

The last point in time when this job definition was modified.

" + }, + "ExecutionProperty":{ + "shape":"ExecutionProperty", + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + }, + "Command":{ + "shape":"JobCommand", + "documentation":"

The JobCommand that executes this job.

" + }, + "DefaultArguments":{ + "shape":"GenericMap", + "documentation":"

The default arguments for this job, specified as name-value pairs.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "NonOverridableArguments":{ + "shape":"GenericMap", + "documentation":"

Non-overridable arguments for this job, specified as name-value pairs.

" + }, + "Connections":{ + "shape":"ConnectionsList", + "documentation":"

The connections used for this job.

" + }, + "MaxRetries":{ + "shape":"MaxRetries", + "documentation":"

The maximum number of times to retry this job after a JobRun fails.

" + }, + "AllocatedCapacity":{ + "shape":"IntegerValue", + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) allocated to runs of this job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job notification.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

Jobs that are created without specifying a Glue version default to Glue 0.9.

" + } + }, + "documentation":"

Specifies a job definition.

" + }, + "JobBookmarkEntry":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

The name of the job in question.

" + }, + "Version":{ + "shape":"IntegerValue", + "documentation":"

The version of the job.

" + }, + "Run":{ + "shape":"IntegerValue", + "documentation":"

The run ID number.

" + }, + "Attempt":{ + "shape":"IntegerValue", + "documentation":"

The attempt ID number.

" + }, + "PreviousRunId":{ + "shape":"RunId", + "documentation":"

The unique run identifier associated with the previous job run.

" + }, + "RunId":{ + "shape":"RunId", + "documentation":"

The run ID number.

" + }, + "JobBookmark":{ + "shape":"JsonValue", + "documentation":"

The bookmark itself.

" + } + }, + "documentation":"

Defines a point that a job can resume processing.

" + }, + "JobBookmarksEncryption":{ + "type":"structure", + "members":{ + "JobBookmarksEncryptionMode":{ + "shape":"JobBookmarksEncryptionMode", + "documentation":"

The encryption mode to use for job bookmarks data.

" + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

" + } + }, + "documentation":"

Specifies how job bookmark data should be encrypted.

" + }, + "JobBookmarksEncryptionMode":{ + "type":"string", + "enum":[ + "DISABLED", + "CSE-KMS" + ] + }, + "JobCommand":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"GenericString", + "documentation":"

The name of the job command. For an Apache Spark ETL job, this must be glueetl. For a Python shell job, it must be pythonshell.

" + }, + "ScriptLocation":{ + "shape":"ScriptLocationString", + "documentation":"

Specifies the Amazon Simple Storage Service (Amazon S3) path to a script that executes a job.

" + }, + "PythonVersion":{ + "shape":"PythonVersionString", + "documentation":"

The Python version being used to execute a Python shell job. Allowed values are 2 or 3.

" + } + }, + "documentation":"

Specifies code executed when a job is run.

" + }, + "JobList":{ + "type":"list", + "member":{"shape":"Job"} + }, + "JobName":{"type":"string"}, + "JobNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "JobNodeDetails":{ + "type":"structure", + "members":{ + "JobRuns":{ + "shape":"JobRunList", + "documentation":"

The information for the job runs represented by the job node.

" + } + }, + "documentation":"

The details of a Job node present in the workflow.

" + }, + "JobRun":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdString", + "documentation":"

The ID of this job run.

" + }, + "Attempt":{ + "shape":"AttemptCount", + "documentation":"

The number of the attempt to run this job.

" + }, + "PreviousRunId":{ + "shape":"IdString", + "documentation":"

The ID of the previous run of this job. For example, the JobRunId specified in the StartJobRun action.

" + }, + "TriggerName":{ + "shape":"NameString", + "documentation":"

The name of the trigger that started this job run.

" + }, + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition being used in this run.

" + }, + "StartedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time at which this job run was started.

" + }, + "LastModifiedOn":{ + "shape":"TimestampValue", + "documentation":"

The last time that this job run was modified.

" + }, + "CompletedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time that this job run completed.

" + }, + "JobRunState":{ + "shape":"JobRunState", + "documentation":"

The current state of the job run. For more information about the statuses of jobs that have terminated abnormally, see AWS Glue Job Run Statuses.

" + }, + "Arguments":{ + "shape":"GenericMap", + "documentation":"

The job arguments associated with this run. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "ErrorMessage":{ + "shape":"ErrorString", + "documentation":"

An error message associated with this job run.

" + }, + "PredecessorRuns":{ + "shape":"PredecessorList", + "documentation":"

A list of predecessors to this job run.

" + }, + "AllocatedCapacity":{ + "shape":"IntegerValue", + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) allocated to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." + }, + "ExecutionTime":{ + "shape":"ExecutionTime", + "documentation":"

The amount of time (in seconds) that the job run consumed resources.

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" + }, + "LogGroupName":{ + "shape":"GenericString", + "documentation":"

The name of the log group for secure logging that can be server-side encrypted in Amazon CloudWatch using AWS KMS. This name can be /aws-glue/jobs/, in which case the default encryption is NONE. If you add a role name and SecurityConfiguration name (in other words, /aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/), then that security configuration is used to encrypt the log group.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job run notification.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

Jobs that are created without specifying a Glue version default to Glue 0.9.

" + } + }, + "documentation":"

Contains information about a job run.

" + }, + "JobRunList":{ + "type":"list", + "member":{"shape":"JobRun"} + }, + "JobRunState":{ + "type":"string", + "enum":[ + "STARTING", + "RUNNING", + "STOPPING", + "STOPPED", + "SUCCEEDED", + "FAILED", + "TIMEOUT" + ] + }, + "JobUpdate":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"DescriptionString", + "documentation":"

Description of the job being defined.

" + }, + "LogUri":{ + "shape":"UriString", + "documentation":"

This field is reserved for future use.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role associated with this job (required).

" + }, + "ExecutionProperty":{ + "shape":"ExecutionProperty", + "documentation":"

An ExecutionProperty specifying the maximum number of concurrent runs allowed for this job.

" + }, + "Command":{ + "shape":"JobCommand", + "documentation":"

The JobCommand that executes this job (required).

" + }, + "DefaultArguments":{ + "shape":"GenericMap", + "documentation":"

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "NonOverridableArguments":{ + "shape":"GenericMap", + "documentation":"

Non-overridable arguments for this job, specified as name-value pairs.

" + }, + "Connections":{ + "shape":"ConnectionsList", + "documentation":"

The connections used for this job.

" + }, + "MaxRetries":{ + "shape":"MaxRetries", + "documentation":"

The maximum number of times to retry this job if it fails.

" + }, + "AllocatedCapacity":{ + "shape":"IntegerValue", + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this job. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this job.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies the configuration properties of a job notification.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

Glue version determines the versions of Apache Spark and Python that AWS Glue supports. The Python version indicates the version supported for jobs of type Spark.

For more information about the available AWS Glue versions and corresponding Spark and Python versions, see Glue version in the developer guide.

" + } + }, + "documentation":"

Specifies information used to update an existing job definition. The previous job definition is completely overwritten by this information.

" + }, + "JsonClassifier":{ + "type":"structure", + "required":[ + "Name", + "JsonPath" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was registered.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was last updated.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of this classifier.

" + }, + "JsonPath":{ + "shape":"JsonPath", + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + } + }, + "documentation":"

A classifier for JSON content.

" + }, + "JsonPath":{"type":"string"}, + "JsonValue":{"type":"string"}, + "KeyString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "KmsKeyArn":{ + "type":"string", + "pattern":"arn:aws:kms:.*" + }, + "LabelCount":{"type":"integer"}, + "LabelingSetGenerationTaskRunProperties":{ + "type":"structure", + "members":{ + "OutputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon Simple Storage Service (Amazon S3) path where you will generate the labeling set.

" + } + }, + "documentation":"

Specifies configuration properties for a labeling set generation task run.

" + }, + "Language":{ + "type":"string", + "enum":[ + "PYTHON", + "SCALA" + ] + }, + "LastCrawlInfo":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"LastCrawlStatus", + "documentation":"

Status of the last crawl.

" + }, + "ErrorMessage":{ + "shape":"DescriptionString", + "documentation":"

If an error occurred, the error information about the last crawl.

" + }, + "LogGroup":{ + "shape":"LogGroup", + "documentation":"

The log group for the last crawl.

" + }, + "LogStream":{ + "shape":"LogStream", + "documentation":"

The log stream for the last crawl.

" + }, + "MessagePrefix":{ + "shape":"MessagePrefix", + "documentation":"

The prefix for a message about this crawl.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the crawl started.

" + } + }, + "documentation":"

Status and error information about the most recent crawl.

" + }, + "LastCrawlStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "CANCELLED", + "FAILED" + ] + }, + "ListCrawlersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListCrawlersResponse":{ + "type":"structure", + "members":{ + "CrawlerNames":{ + "shape":"CrawlerNameList", + "documentation":"

The names of all crawlers in the account, or the crawlers with the specified tags.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListDevEndpointsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListDevEndpointsResponse":{ + "type":"structure", + "members":{ + "DevEndpointNames":{ + "shape":"DevEndpointNameList", + "documentation":"

The names of all the DevEndpoints in the account, or the DevEndpoints with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListJobsResponse":{ + "type":"structure", + "members":{ + "JobNames":{ + "shape":"JobNameList", + "documentation":"

The names of all jobs in the account, or the jobs with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListMLTransformsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Filter":{ + "shape":"TransformFilterCriteria", + "documentation":"

A TransformFilterCriteria used to filter the machine learning transforms.

" + }, + "Sort":{ + "shape":"TransformSortCriteria", + "documentation":"

A TransformSortCriteria used to sort the machine learning transforms.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListMLTransformsResponse":{ + "type":"structure", + "required":["TransformIds"], + "members":{ + "TransformIds":{ + "shape":"TransformIdList", + "documentation":"

The identifiers of all the machine learning transforms in the account, or the machine learning transforms with the specified tags.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListTriggersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "DependentJobName":{ + "shape":"NameString", + "documentation":"

The name of the job for which to retrieve triggers. The trigger that can start this job is returned. If there is no such trigger, all triggers are returned.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + }, + "Tags":{ + "shape":"TagsMap", + "documentation":"

Specifies to return only these tagged resources.

" + } + } + }, + "ListTriggersResponse":{ + "type":"structure", + "members":{ + "TriggerNames":{ + "shape":"TriggerNameList", + "documentation":"

The names of all triggers in the account, or the triggers with the specified tags.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if the returned list does not contain the last metric available.

" + } + } + }, + "ListWorkflowsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if this is a continuation request.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum size of a list to return.

" + } + } + }, + "ListWorkflowsResponse":{ + "type":"structure", + "members":{ + "Workflows":{ + "shape":"WorkflowNames", + "documentation":"

List of names of workflows in the account.

" + }, + "NextToken":{ + "shape":"GenericString", + "documentation":"

A continuation token, if not all workflow names have been returned.

" + } + } + }, + "Location":{ + "type":"structure", + "members":{ + "Jdbc":{ + "shape":"CodeGenNodeArgs", + "documentation":"

A JDBC location.

" + }, + "S3":{ + "shape":"CodeGenNodeArgs", + "documentation":"

An Amazon Simple Storage Service (Amazon S3) location.

" + }, + "DynamoDB":{ + "shape":"CodeGenNodeArgs", + "documentation":"

An Amazon DynamoDB table location.

" + } + }, + "documentation":"

The location of resources.

" + }, + "LocationMap":{ + "type":"map", + "key":{"shape":"ColumnValuesString"}, + "value":{"shape":"ColumnValuesString"} + }, + "LocationString":{ + "type":"string", + "max":2056, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "LogGroup":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_/#A-Za-z0-9]+" + }, + "LogStream":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[^:*]*" + }, + "Logical":{ + "type":"string", + "enum":[ + "AND", + "ANY" + ] + }, + "LogicalOperator":{ + "type":"string", + "enum":["EQUALS"] + }, + "MLTransform":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique transform ID that is generated for the machine learning transform. The ID is guaranteed to be unique and does not change.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

A user-defined name for the machine learning transform. Names are not guaranteed unique and can be changed at any time.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A user-defined, long-form description text for the machine learning transform. Descriptions are not guaranteed to be unique and can be changed at any time.

" + }, + "Status":{ + "shape":"TransformStatusType", + "documentation":"

The current status of the machine learning transform.

" + }, + "CreatedOn":{ + "shape":"Timestamp", + "documentation":"

A timestamp. The time and date that this machine learning transform was created.

" + }, + "LastModifiedOn":{ + "shape":"Timestamp", + "documentation":"

A timestamp. The last point in time when this machine learning transform was modified.

" + }, + "InputRecordTables":{ + "shape":"GlueTables", + "documentation":"

A list of AWS Glue table definitions used by the transform.

" + }, + "Parameters":{ + "shape":"TransformParameters", + "documentation":"

A TransformParameters object. You can use parameters to tune (customize) the behavior of the machine learning transform by specifying what data it learns from and your preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).

" + }, + "EvaluationMetrics":{ + "shape":"EvaluationMetrics", + "documentation":"

An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.

" + }, + "LabelCount":{ + "shape":"LabelCount", + "documentation":"

A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.

" + }, + "Schema":{ + "shape":"TransformSchema", + "documentation":"

A map of key-value pairs representing the columns and data types that this transform can run against. Has an upper bound of 100 columns.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.

  • This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.

  • This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

  • If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

  • If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

  • If WorkerType is set, then NumberOfWorkers is required (and vice versa).

  • MaxCapacity and NumberOfWorkers must both be at least 1.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a task of this transform runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

MaxCapacity is a mutually exclusive option with NumberOfWorkers and WorkerType.

  • If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.

  • If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.

  • If WorkerType is set, then NumberOfWorkers is required (and vice versa).

  • MaxCapacity and NumberOfWorkers must both be at least 1.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a task of the transform runs.

If WorkerType is set, then NumberOfWorkers is required (and vice versa).

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The timeout in minutes of the machine learning transform.

" + }, + "MaxRetries":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of times to retry after an MLTaskRun of the machine learning transform fails.

" + } + }, + "documentation":"

A structure for a machine learning transform.

" + }, + "MLTransformNotReadyException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The machine learning transform is not ready to run.

", + "exception":true + }, + "MapValue":{ + "type":"map", + "key":{"shape":"GenericString"}, + "value":{"shape":"GenericString"}, + "max":100, + "min":0 + }, + "MappingEntry":{ + "type":"structure", + "members":{ + "SourceTable":{ + "shape":"TableName", + "documentation":"

The name of the source table.

" + }, + "SourcePath":{ + "shape":"SchemaPathString", + "documentation":"

The source path.

" + }, + "SourceType":{ + "shape":"FieldType", + "documentation":"

The source type.

" + }, + "TargetTable":{ + "shape":"TableName", + "documentation":"

The target table.

" + }, + "TargetPath":{ + "shape":"SchemaPathString", + "documentation":"

The target path.

" + }, + "TargetType":{ + "shape":"FieldType", + "documentation":"

The target type.

" + } + }, + "documentation":"

Defines a mapping.

" + }, + "MappingList":{ + "type":"list", + "member":{"shape":"MappingEntry"} + }, + "MatchCriteria":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":10, + "min":0 + }, + "MaxConcurrentRuns":{"type":"integer"}, + "MaxRetries":{"type":"integer"}, + "MessagePrefix":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "MessageString":{"type":"string"}, + "MillisecondsCount":{"type":"long"}, + "NameString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "NameStringList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "NoScheduleException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

There is no applicable schedule.

", + "exception":true + }, + "Node":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NodeType", + "documentation":"

The type of AWS Glue component represented by the node.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the AWS Glue component represented by the node.

" + }, + "UniqueId":{ + "shape":"NameString", + "documentation":"

The unique Id assigned to the node within the workflow.

" + }, + "TriggerDetails":{ + "shape":"TriggerNodeDetails", + "documentation":"

Details of the Trigger when the node represents a Trigger.

" + }, + "JobDetails":{ + "shape":"JobNodeDetails", + "documentation":"

Details of the Job when the node represents a Job.

" + }, + "CrawlerDetails":{ + "shape":"CrawlerNodeDetails", + "documentation":"

Details of the crawler when the node represents a crawler.

" + } + }, + "documentation":"

A node represents an AWS Glue component like Trigger, Job etc. which is part of a workflow.

" + }, + "NodeList":{ + "type":"list", + "member":{"shape":"Node"} + }, + "NodeType":{ + "type":"string", + "enum":[ + "CRAWLER", + "JOB", + "TRIGGER" + ] + }, + "NonNegativeDouble":{ + "type":"double", + "min":0.0 + }, + "NonNegativeInteger":{ + "type":"integer", + "min":0 + }, + "NotificationProperty":{ + "type":"structure", + "members":{ + "NotifyDelayAfter":{ + "shape":"NotifyDelayAfter", + "documentation":"

After a job run starts, the number of minutes to wait before sending a job run delay notification.

" + } + }, + "documentation":"

Specifies configuration properties of a notification.

" + }, + "NotifyDelayAfter":{ + "type":"integer", + "box":true, + "min":1 + }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, + "NullableDouble":{ + "type":"double", + "box":true + }, + "NullableInteger":{ + "type":"integer", + "box":true + }, + "OperationTimeoutException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The operation timed out.

", + "exception":true + }, + "OrchestrationStringList":{ + "type":"list", + "member":{"shape":"GenericString"} + }, + "Order":{ + "type":"structure", + "required":[ + "Column", + "SortOrder" + ], + "members":{ + "Column":{ + "shape":"NameString", + "documentation":"

The name of the column.

" + }, + "SortOrder":{ + "shape":"IntegerFlag", + "documentation":"

Indicates that the column is sorted in ascending order (== 1), or in descending order (==0).

" + } + }, + "documentation":"

Specifies the sort order of a sorted column.

" + }, + "OrderList":{ + "type":"list", + "member":{"shape":"Order"} + }, + "PageSize":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "PaginationToken":{"type":"string"}, + "ParametersMap":{ + "type":"map", + "key":{"shape":"KeyString"}, + "value":{"shape":"ParametersMapValue"} + }, + "ParametersMapValue":{ + "type":"string", + "max":512000 + }, + "Partition":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ValueStringList", + "documentation":"

The values of the partition.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which to create the partition.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the database table in which to create the partition.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the partition was created.

" + }, + "LastAccessTime":{ + "shape":"Timestamp", + "documentation":"

The last time at which the partition was accessed.

" + }, + "StorageDescriptor":{ + "shape":"StorageDescriptor", + "documentation":"

Provides information about the physical location where the partition is stored.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define partition parameters.

" + }, + "LastAnalyzedTime":{ + "shape":"Timestamp", + "documentation":"

The last time at which column statistics were computed for this partition.

" + } + }, + "documentation":"

Represents a slice of table data.

" + }, + "PartitionError":{ + "type":"structure", + "members":{ + "PartitionValues":{ + "shape":"ValueStringList", + "documentation":"

The values that define the partition.

" + }, + "ErrorDetail":{ + "shape":"ErrorDetail", + "documentation":"

The details about the partition error.

" + } + }, + "documentation":"

Contains information about a partition error.

" + }, + "PartitionErrors":{ + "type":"list", + "member":{"shape":"PartitionError"} + }, + "PartitionInput":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ValueStringList", + "documentation":"

The values of the partition. Although this parameter is not required by the SDK, you must specify this parameter for a valid input.

The values for the keys for the new partition must be passed as an array of String objects that must be ordered in the same order as the partition keys appearing in the Amazon S3 prefix. Otherwise AWS Glue will add the values to the wrong keys.

" + }, + "LastAccessTime":{ + "shape":"Timestamp", + "documentation":"

The last time at which the partition was accessed.

" + }, + "StorageDescriptor":{ + "shape":"StorageDescriptor", + "documentation":"

Provides information about the physical location where the partition is stored.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define partition parameters.

" + }, + "LastAnalyzedTime":{ + "shape":"Timestamp", + "documentation":"

The last time at which column statistics were computed for this partition.

" + } + }, + "documentation":"

The structure used to create and update a partition.

" + }, + "PartitionInputList":{ + "type":"list", + "member":{"shape":"PartitionInput"}, + "max":100, + "min":0 + }, + "PartitionList":{ + "type":"list", + "member":{"shape":"Partition"} + }, + "PartitionValueList":{ + "type":"structure", + "required":["Values"], + "members":{ + "Values":{ + "shape":"ValueStringList", + "documentation":"

The list of values.

" + } + }, + "documentation":"

Contains a list of values defining partitions.

" + }, + "Path":{"type":"string"}, + "PathList":{ + "type":"list", + "member":{"shape":"Path"} + }, + "Permission":{ + "type":"string", + "enum":[ + "ALL", + "SELECT", + "ALTER", + "DROP", + "DELETE", + "INSERT", + "CREATE_DATABASE", + "CREATE_TABLE", + "DATA_LOCATION_ACCESS" + ] + }, + "PermissionList":{ + "type":"list", + "member":{"shape":"Permission"} + }, + "PhysicalConnectionRequirements":{ + "type":"structure", + "members":{ + "SubnetId":{ + "shape":"NameString", + "documentation":"

The subnet ID used by the connection.

" + }, + "SecurityGroupIdList":{ + "shape":"SecurityGroupIdList", + "documentation":"

The security group ID list used by the connection.

" + }, + "AvailabilityZone":{ + "shape":"NameString", + "documentation":"

The connection's Availability Zone. This field is redundant because the specified subnet implies the Availability Zone to be used. Currently the field must be populated, but it will be deprecated in the future.

" + } + }, + "documentation":"

Specifies the physical requirements for a connection.

" + }, + "PolicyJsonString":{ + "type":"string", + "max":10240, + "min":2 + }, + "Predecessor":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition used by the predecessor job run.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The job-run ID of the predecessor job run.

" + } + }, + "documentation":"

A job run that was used in the predicate of a conditional trigger that triggered this job run.

" + }, + "PredecessorList":{ + "type":"list", + "member":{"shape":"Predecessor"} + }, + "Predicate":{ + "type":"structure", + "members":{ + "Logical":{ + "shape":"Logical", + "documentation":"

An optional field if only one condition is listed. If multiple conditions are listed, then this field is required.

" + }, + "Conditions":{ + "shape":"ConditionList", + "documentation":"

A list of the conditions that determine when the trigger will fire.

" + } + }, + "documentation":"

Defines the predicate of the trigger, which determines when it fires.

" + }, + "PredicateString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "PrincipalPermissions":{ + "type":"structure", + "members":{ + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The principal who is granted permissions.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions that are granted to the principal.

" + } + }, + "documentation":"

Permissions granted to a principal.

" + }, + "PrincipalPermissionsList":{ + "type":"list", + "member":{"shape":"PrincipalPermissions"} + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "USER", + "ROLE", + "GROUP" + ] + }, + "PropertyPredicate":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"ValueString", + "documentation":"

The key of the property.

" + }, + "Value":{ + "shape":"ValueString", + "documentation":"

The value of the property.

" + }, + "Comparator":{ + "shape":"Comparator", + "documentation":"

The comparator used to compare this property to others.

" + } + }, + "documentation":"

Defines a property predicate.

" + }, + "PublicKeysList":{ + "type":"list", + "member":{"shape":"GenericString"}, + "max":5 + }, + "PutDataCatalogEncryptionSettingsRequest":{ + "type":"structure", + "required":["DataCatalogEncryptionSettings"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog to set the security configuration for. If none is provided, the AWS account ID is used by default.

" + }, + "DataCatalogEncryptionSettings":{ + "shape":"DataCatalogEncryptionSettings", + "documentation":"

The security configuration to set.

" + } + } + }, + "PutDataCatalogEncryptionSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "PutResourcePolicyRequest":{ + "type":"structure", + "required":["PolicyInJson"], + "members":{ + "PolicyInJson":{ + "shape":"PolicyJsonString", + "documentation":"

Contains the policy document to set, in JSON format.

" + }, + "PolicyHashCondition":{ + "shape":"HashString", + "documentation":"

The hash value returned when the previous policy was set using PutResourcePolicy. Its purpose is to prevent concurrent modifications of a policy. Do not use this parameter if no previous policy has been set.

" + }, + "PolicyExistsCondition":{ + "shape":"ExistCondition", + "documentation":"

A value of MUST_EXIST is used to update a policy. A value of NOT_EXIST is used to create a new policy. If a value of NONE or a null value is used, the call will not depend on the existence of a policy.

" + } + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + "PolicyHash":{ + "shape":"HashString", + "documentation":"

A hash of the policy that has just been set. This must be included in a subsequent call that overwrites or updates this policy.

" + } + } + }, + "PutWorkflowRunPropertiesRequest":{ + "type":"structure", + "required":[ + "Name", + "RunId", + "RunProperties" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow which was run.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The ID of the workflow run for which the run properties should be updated.

" + }, + "RunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

The properties to put for the specified run.

" + } + } + }, + "PutWorkflowRunPropertiesResponse":{ + "type":"structure", + "members":{ + } + }, + "PythonScript":{"type":"string"}, + "PythonVersionString":{ + "type":"string", + "pattern":"^[2-3]$" + }, + "RecordsCount":{ + "type":"long", + "box":true + }, + "ReplaceBoolean":{"type":"boolean"}, + "ResetJobBookmarkRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

The name of the job in question.

" + }, + "RunId":{ + "shape":"RunId", + "documentation":"

The unique run identifier associated with this job run.

" + } + } + }, + "ResetJobBookmarkResponse":{ + "type":"structure", + "members":{ + "JobBookmarkEntry":{ + "shape":"JobBookmarkEntry", + "documentation":"

The reset bookmark entry.

" + } + } + }, + "ResourceNumberLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A resource numerical limit was exceeded.

", + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "JAR", + "FILE", + "ARCHIVE" + ] + }, + "ResourceUri":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the resource.

" + }, + "Uri":{ + "shape":"URI", + "documentation":"

The URI for accessing the resource.

" + } + }, + "documentation":"

The URIs for function resources.

" + }, + "ResourceUriList":{ + "type":"list", + "member":{"shape":"ResourceUri"}, + "max":1000, + "min":0 + }, + "Role":{"type":"string"}, + "RoleArn":{ + "type":"string", + "pattern":"arn:aws:iam::\\d{12}:role/.*" + }, + "RoleString":{"type":"string"}, + "RowTag":{"type":"string"}, + "RunId":{"type":"string"}, + "S3Encryption":{ + "type":"structure", + "members":{ + "S3EncryptionMode":{ + "shape":"S3EncryptionMode", + "documentation":"

The encryption mode to use for Amazon S3 data.

" + }, + "KmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key to be used to encrypt the data.

" + } + }, + "documentation":"

Specifies how Amazon Simple Storage Service (Amazon S3) data should be encrypted.

" + }, + "S3EncryptionList":{ + "type":"list", + "member":{"shape":"S3Encryption"} + }, + "S3EncryptionMode":{ + "type":"string", + "enum":[ + "DISABLED", + "SSE-KMS", + "SSE-S3" + ] + }, + "S3Target":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"Path", + "documentation":"

The path to the Amazon S3 target.

" + }, + "Exclusions":{ + "shape":"PathList", + "documentation":"

A list of glob patterns used to exclude from the crawl. For more information, see Catalog Tables with a Crawler.

" + } + }, + "documentation":"

Specifies a data store in Amazon Simple Storage Service (Amazon S3).

" + }, + "S3TargetList":{ + "type":"list", + "member":{"shape":"S3Target"} + }, + "ScalaCode":{"type":"string"}, + "Schedule":{ + "type":"structure", + "members":{ + "ScheduleExpression":{ + "shape":"CronExpression", + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" + }, + "State":{ + "shape":"ScheduleState", + "documentation":"

The state of the schedule.

" + } + }, + "documentation":"

A scheduling object using a cron statement to schedule an event.

" + }, + "ScheduleState":{ + "type":"string", + "enum":[ + "SCHEDULED", + "NOT_SCHEDULED", + "TRANSITIONING" + ] + }, + "SchedulerNotRunningException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified scheduler is not running.

", + "exception":true + }, + "SchedulerRunningException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified scheduler is already running.

", + "exception":true + }, + "SchedulerTransitioningException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The specified scheduler is transitioning.

", + "exception":true + }, + "SchemaChangePolicy":{ + "type":"structure", + "members":{ + "UpdateBehavior":{ + "shape":"UpdateBehavior", + "documentation":"

The update behavior when the crawler finds a changed schema.

" + }, + "DeleteBehavior":{ + "shape":"DeleteBehavior", + "documentation":"

The deletion behavior when the crawler finds a deleted object.

" + } + }, + "documentation":"

A policy that specifies update and deletion behaviors for the crawler.

" + }, + "SchemaColumn":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ColumnNameString", + "documentation":"

The name of the column.

" + }, + "DataType":{ + "shape":"ColumnTypeString", + "documentation":"

The type of data in the column.

" + } + }, + "documentation":"

A key-value pair representing a column and data type that this transform can run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

" + }, + "SchemaPathString":{"type":"string"}, + "ScriptLocationString":{"type":"string"}, + "SearchPropertyPredicates":{ + "type":"list", + "member":{"shape":"PropertyPredicate"} + }, + "SearchTablesRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

A unique identifier, consisting of account_id/datalake.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, included if this is a continuation call.

" + }, + "Filters":{ + "shape":"SearchPropertyPredicates", + "documentation":"

A list of key-value pairs, and a comparator used to filter the search results. Returns all entities matching the predicate.

" + }, + "SearchText":{ + "shape":"ValueString", + "documentation":"

A string used for a text search.

Specifying a value in quotes filters based on an exact match to the value.

" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

A list of criteria for sorting the results by a field name, in an ascending or descending order.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of tables to return in a single response.

" + } + } + }, + "SearchTablesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, present if the current list segment is not the last.

" + }, + "TableList":{ + "shape":"TableList", + "documentation":"

A list of the requested Table objects. The SearchTables response returns only the tables that you have access to.

" + } + } + }, + "SecurityConfiguration":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the security configuration.

" + }, + "CreatedTimeStamp":{ + "shape":"TimestampValue", + "documentation":"

The time at which this security configuration was created.

" + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

The encryption configuration associated with this security configuration.

" + } + }, + "documentation":"

Specifies a security configuration.

" + }, + "SecurityConfigurationList":{ + "type":"list", + "member":{"shape":"SecurityConfiguration"} + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":50, + "min":0 + }, + "Segment":{ + "type":"structure", + "required":[ + "SegmentNumber", + "TotalSegments" + ], + "members":{ + "SegmentNumber":{ + "shape":"NonNegativeInteger", + "documentation":"

The zero-based index number of the segment. For example, if the total number of segments is 4, SegmentNumber values range from 0 through 3.

" + }, + "TotalSegments":{ + "shape":"TotalSegmentsInteger", + "documentation":"

The total number of segments.

" + } + }, + "documentation":"

Defines a non-overlapping region of a table's partitions, allowing multiple requests to be executed in parallel.

" + }, + "SerDeInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the SerDe.

" + }, + "SerializationLibrary":{ + "shape":"NameString", + "documentation":"

Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define initialization parameters for the SerDe.

" + } + }, + "documentation":"

Information about a serialization/deserialization program (SerDe) that serves as an extractor and loader.

" + }, + "SkewedInfo":{ + "type":"structure", + "members":{ + "SkewedColumnNames":{ + "shape":"NameStringList", + "documentation":"

A list of names of columns that contain skewed values.

" + }, + "SkewedColumnValues":{ + "shape":"ColumnValueStringList", + "documentation":"

A list of values that appear so frequently as to be considered skewed.

" + }, + "SkewedColumnValueLocationMaps":{ + "shape":"LocationMap", + "documentation":"

A mapping of skewed values to the columns that contain them.

" + } + }, + "documentation":"

Specifies skewed values in a table. Skewed values are those that occur with very high frequency.

" + }, + "Sort":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "SortCriteria":{ + "type":"list", + "member":{"shape":"SortCriterion"}, + "max":1, + "min":0 + }, + "SortCriterion":{ + "type":"structure", + "members":{ + "FieldName":{ + "shape":"ValueString", + "documentation":"

The name of the field on which to sort.

" + }, + "Sort":{ + "shape":"Sort", + "documentation":"

An ascending or descending sort.

" + } + }, + "documentation":"

Specifies a field to sort by and a sort order.

" + }, + "SortDirectionType":{ + "type":"string", + "enum":[ + "DESCENDING", + "ASCENDING" + ] + }, + "StartCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the crawler to start.

" + } + } + }, + "StartCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "StartCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{ + "shape":"NameString", + "documentation":"

Name of the crawler to schedule.

" + } + } + }, + "StartCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "StartExportLabelsTaskRunRequest":{ + "type":"structure", + "required":[ + "TransformId", + "OutputS3Path" + ], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "OutputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon S3 path where you export the labels.

" + } + } + }, + "StartExportLabelsTaskRunResponse":{ + "type":"structure", + "members":{ + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier for the task run.

" + } + } + }, + "StartImportLabelsTaskRunRequest":{ + "type":"structure", + "required":[ + "TransformId", + "InputS3Path" + ], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "InputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon Simple Storage Service (Amazon S3) path from where you import the labels.

" + }, + "ReplaceAllLabels":{ + "shape":"ReplaceBoolean", + "documentation":"

Indicates whether to overwrite your existing labels.

" + } + } + }, + "StartImportLabelsTaskRunResponse":{ + "type":"structure", + "members":{ + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier for the task run.

" + } + } + }, + "StartJobRunRequest":{ + "type":"structure", + "required":["JobName"], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition to use.

" + }, + "JobRunId":{ + "shape":"IdString", + "documentation":"

The ID of a previous JobRun to retry.

" + }, + "Arguments":{ + "shape":"GenericMap", + "documentation":"

The job arguments specifically for this run. For this job run, they replace the default arguments set in the job definition itself.

You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes.

For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide.

For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.

" + }, + "AllocatedCapacity":{ + "shape":"IntegerValue", + "documentation":"

This field is deprecated. Use MaxCapacity instead.

The number of AWS Glue data processing units (DPUs) to allocate to this JobRun. From 2 to 100 DPUs can be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

", + "deprecated":true, + "deprecatedMessage":"This property is deprecated, use MaxCapacity instead." + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The JobRun timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours). This overrides the timeout value set in the parent job.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

Do not set Max Capacity if using WorkerType and NumberOfWorkers.

The value that can be allocated for MaxCapacity depends on whether you are running a Python shell job, or an Apache Spark ETL job:

  • When you specify a Python shell job (JobCommand.Name=\"pythonshell\"), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\"), you can allocate from 2 to 100 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

" + }, + "SecurityConfiguration":{ + "shape":"NameString", + "documentation":"

The name of the SecurityConfiguration structure to be used with this job run.

" + }, + "NotificationProperty":{ + "shape":"NotificationProperty", + "documentation":"

Specifies configuration properties of a job run notification.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when a job runs.

The maximum number of workers you can define are 299 for G.1X, and 149 for G.2X.

" + } + } + }, + "StartJobRunResponse":{ + "type":"structure", + "members":{ + "JobRunId":{ + "shape":"IdString", + "documentation":"

The ID assigned to this job run.

" + } + } + }, + "StartMLEvaluationTaskRunRequest":{ + "type":"structure", + "required":["TransformId"], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + } + } + }, + "StartMLEvaluationTaskRunResponse":{ + "type":"structure", + "members":{ + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier associated with this run.

" + } + } + }, + "StartMLLabelingSetGenerationTaskRunRequest":{ + "type":"structure", + "required":[ + "TransformId", + "OutputS3Path" + ], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier of the machine learning transform.

" + }, + "OutputS3Path":{ + "shape":"UriString", + "documentation":"

The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling set.

" + } + } + }, + "StartMLLabelingSetGenerationTaskRunResponse":{ + "type":"structure", + "members":{ + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique run identifier that is associated with this task run.

" + } + } + }, + "StartTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger to start.

" + } + } + }, + "StartTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger that was started.

" + } + } + }, + "StartWorkflowRunRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow to start.

" + } + } + }, + "StartWorkflowRunResponse":{ + "type":"structure", + "members":{ + "RunId":{ + "shape":"IdString", + "documentation":"

An Id for the new run.

" + } + } + }, + "StopCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the crawler to stop.

" + } + } + }, + "StopCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "StopCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{ + "shape":"NameString", + "documentation":"

Name of the crawler whose schedule state to set.

" + } + } + }, + "StopCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "StopTriggerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger to stop.

" + } + } + }, + "StopTriggerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger that was stopped.

" + } + } + }, + "StopWorkflowRunRequest":{ + "type":"structure", + "required":[ + "Name", + "RunId" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow to stop.

" + }, + "RunId":{ + "shape":"IdString", + "documentation":"

The ID of the workflow run to stop.

" + } + } + }, + "StopWorkflowRunResponse":{ + "type":"structure", + "members":{ + } + }, + "StorageDescriptor":{ + "type":"structure", + "members":{ + "Columns":{ + "shape":"ColumnList", + "documentation":"

A list of the Columns in the table.

" + }, + "Location":{ + "shape":"LocationString", + "documentation":"

The physical location of the table. By default, this takes the form of the warehouse location, followed by the database location in the warehouse, followed by the table name.

" + }, + "InputFormat":{ + "shape":"FormatString", + "documentation":"

The input format: SequenceFileInputFormat (binary), or TextInputFormat, or a custom format.

" + }, + "OutputFormat":{ + "shape":"FormatString", + "documentation":"

The output format: SequenceFileOutputFormat (binary), or IgnoreKeyTextOutputFormat, or a custom format.

" + }, + "Compressed":{ + "shape":"Boolean", + "documentation":"

True if the data in the table is compressed, or False if not.

" + }, + "NumberOfBuckets":{ + "shape":"Integer", + "documentation":"

Must be specified if the table contains any dimension columns.

" + }, + "SerdeInfo":{ + "shape":"SerDeInfo", + "documentation":"

The serialization/deserialization (SerDe) information.

" + }, + "BucketColumns":{ + "shape":"NameStringList", + "documentation":"

A list of reducer grouping columns, clustering columns, and bucketing columns in the table.

" + }, + "SortColumns":{ + "shape":"OrderList", + "documentation":"

A list specifying the sort order of each bucket in the table.

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

The user-supplied properties in key-value form.

" + }, + "SkewedInfo":{ + "shape":"SkewedInfo", + "documentation":"

The information about values that appear frequently in a column (skewed values).

" + }, + "StoredAsSubDirectories":{ + "shape":"Boolean", + "documentation":"

True if the table data is stored in subdirectories, or False if not.

" + } + }, + "documentation":"

Describes the physical storage of table data.

" + }, + "StringList":{ + "type":"list", + "member":{"shape":"GenericString"} + }, + "Table":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The table name. For Hive compatibility, this must be entirely lowercase.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database where the table metadata resides. For Hive compatibility, this must be all lowercase.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the table.

" + }, + "Owner":{ + "shape":"NameString", + "documentation":"

The owner of the table.

" + }, + "CreateTime":{ + "shape":"Timestamp", + "documentation":"

The time when the table definition was created in the Data Catalog.

" + }, + "UpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time that the table was updated.

" + }, + "LastAccessTime":{ + "shape":"Timestamp", + "documentation":"

The last time that the table was accessed. This is usually taken from HDFS, and might not be reliable.

" + }, + "LastAnalyzedTime":{ + "shape":"Timestamp", + "documentation":"

The last time that column statistics were computed for this table.

" + }, + "Retention":{ + "shape":"NonNegativeInteger", + "documentation":"

The retention time for this table.

" + }, + "StorageDescriptor":{ + "shape":"StorageDescriptor", + "documentation":"

A storage descriptor containing information about the physical storage of this table.

" + }, + "PartitionKeys":{ + "shape":"ColumnList", + "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

When you create a table used by Amazon Athena, and you do not specify any partitionKeys, you must at least set the value of partitionKeys to an empty list. For example:

\"PartitionKeys\": []

" + }, + "ViewOriginalText":{ + "shape":"ViewTextString", + "documentation":"

If the table is a view, the original text of the view; otherwise null.

" + }, + "ViewExpandedText":{ + "shape":"ViewTextString", + "documentation":"

If the table is a view, the expanded text of the view; otherwise null.

" + }, + "TableType":{ + "shape":"TableTypeString", + "documentation":"

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define properties associated with the table.

" + }, + "CreatedBy":{ + "shape":"NameString", + "documentation":"

The person or entity who created the table.

" + }, + "IsRegisteredWithLakeFormation":{ + "shape":"Boolean", + "documentation":"

Indicates whether the table has been registered with AWS Lake Formation.

" + } + }, + "documentation":"

Represents a collection of related data organized in columns and rows.

" + }, + "TableError":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table. For Hive compatibility, this must be entirely lowercase.

" + }, + "ErrorDetail":{ + "shape":"ErrorDetail", + "documentation":"

The details about the error.

" + } + }, + "documentation":"

An error record for table operations.

" + }, + "TableErrors":{ + "type":"list", + "member":{"shape":"TableError"} + }, + "TableInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The table name. For Hive compatibility, this is folded to lowercase when it is stored.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the table.

" + }, + "Owner":{ + "shape":"NameString", + "documentation":"

The table owner.

" + }, + "LastAccessTime":{ + "shape":"Timestamp", + "documentation":"

The last time that the table was accessed.

" + }, + "LastAnalyzedTime":{ + "shape":"Timestamp", + "documentation":"

The last time that column statistics were computed for this table.

" + }, + "Retention":{ + "shape":"NonNegativeInteger", + "documentation":"

The retention time for this table.

" + }, + "StorageDescriptor":{ + "shape":"StorageDescriptor", + "documentation":"

A storage descriptor containing information about the physical storage of this table.

" + }, + "PartitionKeys":{ + "shape":"ColumnList", + "documentation":"

A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.

When you create a table used by Amazon Athena, and you do not specify any partitionKeys, you must at least set the value of partitionKeys to an empty list. For example:

\"PartitionKeys\": []

" + }, + "ViewOriginalText":{ + "shape":"ViewTextString", + "documentation":"

If the table is a view, the original text of the view; otherwise null.

" + }, + "ViewExpandedText":{ + "shape":"ViewTextString", + "documentation":"

If the table is a view, the expanded text of the view; otherwise null.

" + }, + "TableType":{ + "shape":"TableTypeString", + "documentation":"

The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).

" + }, + "Parameters":{ + "shape":"ParametersMap", + "documentation":"

These key-value pairs define properties associated with the table.

" + } + }, + "documentation":"

A structure used to define a table.

" + }, + "TableList":{ + "type":"list", + "member":{"shape":"Table"} + }, + "TableName":{"type":"string"}, + "TablePrefix":{ + "type":"string", + "max":128, + "min":0 + }, + "TableTypeString":{ + "type":"string", + "max":255 + }, + "TableVersion":{ + "type":"structure", + "members":{ + "Table":{ + "shape":"Table", + "documentation":"

The table in question.

" + }, + "VersionId":{ + "shape":"VersionString", + "documentation":"

The ID value that identifies this table version. A VersionId is a string representation of an integer. Each version is incremented by 1.

" + } + }, + "documentation":"

Specifies a version of a table.

" + }, + "TableVersionError":{ + "type":"structure", + "members":{ + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table in question.

" + }, + "VersionId":{ + "shape":"VersionString", + "documentation":"

The ID value of the version in question. A VersionID is a string representation of an integer. Each version is incremented by 1.

" + }, + "ErrorDetail":{ + "shape":"ErrorDetail", + "documentation":"

The details about the error.

" + } + }, + "documentation":"

An error record for table-version operations.

" + }, + "TableVersionErrors":{ + "type":"list", + "member":{"shape":"TableVersionError"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeysList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagsToAdd" + ], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The ARN of the AWS Glue resource to which to add the tags. For more information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern.

" + }, + "TagsToAdd":{ + "shape":"TagsMap", + "documentation":"

Tags to add to this resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TaskRun":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier for the transform.

" + }, + "TaskRunId":{ + "shape":"HashString", + "documentation":"

The unique identifier for this task run.

" + }, + "Status":{ + "shape":"TaskStatusType", + "documentation":"

The current status of the requested task run.

" + }, + "LogGroupName":{ + "shape":"GenericString", + "documentation":"

The names of the log group for secure logging, associated with this task run.

" + }, + "Properties":{ + "shape":"TaskRunProperties", + "documentation":"

Specifies configuration properties associated with this task run.

" + }, + "ErrorString":{ + "shape":"GenericString", + "documentation":"

The list of error strings associated with this task run.

" + }, + "StartedOn":{ + "shape":"Timestamp", + "documentation":"

The date and time that this task run started.

" + }, + "LastModifiedOn":{ + "shape":"Timestamp", + "documentation":"

The last point in time that the requested task run was updated.

" + }, + "CompletedOn":{ + "shape":"Timestamp", + "documentation":"

The last point in time that the requested task run was completed.

" + }, + "ExecutionTime":{ + "shape":"ExecutionTime", + "documentation":"

The amount of time (in seconds) that the task run consumed resources.

" + } + }, + "documentation":"

The sampling parameters that are associated with the machine learning transform.

" + }, + "TaskRunFilterCriteria":{ + "type":"structure", + "members":{ + "TaskRunType":{ + "shape":"TaskType", + "documentation":"

The type of task run.

" + }, + "Status":{ + "shape":"TaskStatusType", + "documentation":"

The current status of the task run.

" + }, + "StartedBefore":{ + "shape":"Timestamp", + "documentation":"

Filter on task runs started before this date.

" + }, + "StartedAfter":{ + "shape":"Timestamp", + "documentation":"

Filter on task runs started after this date.

" + } + }, + "documentation":"

The criteria that are used to filter the task runs for the machine learning transform.

" + }, + "TaskRunList":{ + "type":"list", + "member":{"shape":"TaskRun"} + }, + "TaskRunProperties":{ + "type":"structure", + "members":{ + "TaskType":{ + "shape":"TaskType", + "documentation":"

The type of task run.

" + }, + "ImportLabelsTaskRunProperties":{ + "shape":"ImportLabelsTaskRunProperties", + "documentation":"

The configuration properties for an importing labels task run.

" + }, + "ExportLabelsTaskRunProperties":{ + "shape":"ExportLabelsTaskRunProperties", + "documentation":"

The configuration properties for an exporting labels task run.

" + }, + "LabelingSetGenerationTaskRunProperties":{ + "shape":"LabelingSetGenerationTaskRunProperties", + "documentation":"

The configuration properties for a labeling set generation task run.

" + }, + "FindMatchesTaskRunProperties":{ + "shape":"FindMatchesTaskRunProperties", + "documentation":"

The configuration properties for a find matches task run.

" + } + }, + "documentation":"

The configuration properties for the task run.

" + }, + "TaskRunSortColumnType":{ + "type":"string", + "enum":[ + "TASK_RUN_TYPE", + "STATUS", + "STARTED" + ] + }, + "TaskRunSortCriteria":{ + "type":"structure", + "required":[ + "Column", + "SortDirection" + ], + "members":{ + "Column":{ + "shape":"TaskRunSortColumnType", + "documentation":"

The column to be used to sort the list of task runs for the machine learning transform.

" + }, + "SortDirection":{ + "shape":"SortDirectionType", + "documentation":"

The sort direction to be used to sort the list of task runs for the machine learning transform.

" + } + }, + "documentation":"

The sorting criteria that are used to sort the list of task runs for the machine learning transform.

" + }, + "TaskStatusType":{ + "type":"string", + "enum":[ + "STARTING", + "RUNNING", + "STOPPING", + "STOPPED", + "SUCCEEDED", + "FAILED", + "TIMEOUT" + ] + }, + "TaskType":{ + "type":"string", + "enum":[ + "EVALUATION", + "LABELING_SET_GENERATION", + "IMPORT_LABELS", + "EXPORT_LABELS", + "FIND_MATCHES" + ] + }, + "Timeout":{ + "type":"integer", + "box":true, + "min":1 + }, + "Timestamp":{"type":"timestamp"}, + "TimestampValue":{"type":"timestamp"}, + "Token":{"type":"string"}, + "TotalSegmentsInteger":{ + "type":"integer", + "max":10, + "min":1 + }, + "TransformFilterCriteria":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

A unique transform name that is used to filter the machine learning transforms.

" + }, + "TransformType":{ + "shape":"TransformType", + "documentation":"

The type of machine learning transform that is used to filter the machine learning transforms.

" + }, + "Status":{ + "shape":"TransformStatusType", + "documentation":"

Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

" + }, + "CreatedBefore":{ + "shape":"Timestamp", + "documentation":"

The time and date before which the transforms were created.

" + }, + "CreatedAfter":{ + "shape":"Timestamp", + "documentation":"

The time and date after which the transforms were created.

" + }, + "LastModifiedBefore":{ + "shape":"Timestamp", + "documentation":"

Filter on transforms last modified before this date.

" + }, + "LastModifiedAfter":{ + "shape":"Timestamp", + "documentation":"

Filter on transforms last modified after this date.

" + }, + "Schema":{ + "shape":"TransformSchema", + "documentation":"

Filters on datasets with a specific schema. The Map<Column, Type> object is an array of key-value pairs representing the schema this transform accepts, where Column is the name of a column, and Type is the type of the data such as an integer or string. Has an upper bound of 100 columns.

" + } + }, + "documentation":"

The criteria used to filter the machine learning transforms.

" + }, + "TransformIdList":{ + "type":"list", + "member":{"shape":"HashString"} + }, + "TransformList":{ + "type":"list", + "member":{"shape":"MLTransform"} + }, + "TransformParameters":{ + "type":"structure", + "required":["TransformType"], + "members":{ + "TransformType":{ + "shape":"TransformType", + "documentation":"

The type of machine learning transform.

For information about the types of machine learning transforms, see Creating Machine Learning Transforms.

" + }, + "FindMatchesParameters":{ + "shape":"FindMatchesParameters", + "documentation":"

The parameters for the find matches algorithm.

" + } + }, + "documentation":"

The algorithm-specific parameters that are associated with the machine learning transform.

" + }, + "TransformSchema":{ + "type":"list", + "member":{"shape":"SchemaColumn"}, + "max":100 + }, + "TransformSortColumnType":{ + "type":"string", + "enum":[ + "NAME", + "TRANSFORM_TYPE", + "STATUS", + "CREATED", + "LAST_MODIFIED" + ] + }, + "TransformSortCriteria":{ + "type":"structure", + "required":[ + "Column", + "SortDirection" + ], + "members":{ + "Column":{ + "shape":"TransformSortColumnType", + "documentation":"

The column to be used in the sorting criteria that are associated with the machine learning transform.

" + }, + "SortDirection":{ + "shape":"SortDirectionType", + "documentation":"

The sort direction to be used in the sorting criteria that are associated with the machine learning transform.

" + } + }, + "documentation":"

The sorting criteria that are associated with the machine learning transform.

" + }, + "TransformStatusType":{ + "type":"string", + "enum":[ + "NOT_READY", + "READY", + "DELETING" + ] + }, + "TransformType":{ + "type":"string", + "enum":["FIND_MATCHES"] + }, + "Trigger":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger.

" + }, + "WorkflowName":{ + "shape":"NameString", + "documentation":"

The name of the workflow associated with the trigger.

" + }, + "Id":{ + "shape":"IdString", + "documentation":"

Reserved for future use.

" + }, + "Type":{ + "shape":"TriggerType", + "documentation":"

The type of trigger that this is.

" + }, + "State":{ + "shape":"TriggerState", + "documentation":"

The current state of the trigger.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of this trigger.

" + }, + "Schedule":{ + "shape":"GenericString", + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The actions initiated by this trigger.

" + }, + "Predicate":{ + "shape":"Predicate", + "documentation":"

The predicate of this trigger, which defines when it will fire.

" + } + }, + "documentation":"

Information about a specific trigger.

" + }, + "TriggerList":{ + "type":"list", + "member":{"shape":"Trigger"} + }, + "TriggerNameList":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "TriggerNodeDetails":{ + "type":"structure", + "members":{ + "Trigger":{ + "shape":"Trigger", + "documentation":"

The information of the trigger represented by the trigger node.

" + } + }, + "documentation":"

The details of a Trigger node present in the workflow.

" + }, + "TriggerState":{ + "type":"string", + "enum":[ + "CREATING", + "CREATED", + "ACTIVATING", + "ACTIVATED", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "UPDATING" + ] + }, + "TriggerType":{ + "type":"string", + "enum":[ + "SCHEDULED", + "CONDITIONAL", + "ON_DEMAND" + ] + }, + "TriggerUpdate":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Reserved for future use.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of this trigger.

" + }, + "Schedule":{ + "shape":"GenericString", + "documentation":"

A cron expression used to specify the schedule (see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).

" + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

The actions initiated by this trigger.

" + }, + "Predicate":{ + "shape":"Predicate", + "documentation":"

The predicate of this trigger, which defines when it will fire.

" + } + }, + "documentation":"

A structure used to provide information used to update a trigger. This object updates the previous trigger definition by overwriting it completely.

" + }, + "URI":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagsToRemove" + ], + "members":{ + "ResourceArn":{ + "shape":"GlueResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which to remove the tags.

" + }, + "TagsToRemove":{ + "shape":"TagKeysList", + "documentation":"

Tags to remove from this resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateBehavior":{ + "type":"string", + "enum":[ + "LOG", + "UPDATE_IN_DATABASE" + ] + }, + "UpdateClassifierRequest":{ + "type":"structure", + "members":{ + "GrokClassifier":{ + "shape":"UpdateGrokClassifierRequest", + "documentation":"

A GrokClassifier object with updated fields.

" + }, + "XMLClassifier":{ + "shape":"UpdateXMLClassifierRequest", + "documentation":"

An XMLClassifier object with updated fields.

" + }, + "JsonClassifier":{ + "shape":"UpdateJsonClassifierRequest", + "documentation":"

A JsonClassifier object with updated fields.

" + }, + "CsvClassifier":{ + "shape":"UpdateCsvClassifierRequest", + "documentation":"

A CsvClassifier object with updated fields.

" + } + } + }, + "UpdateClassifierResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConnectionRequest":{ + "type":"structure", + "required":[ + "Name", + "ConnectionInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the connection resides. If none is provided, the AWS account ID is used by default.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the connection definition to update.

" + }, + "ConnectionInput":{ + "shape":"ConnectionInput", + "documentation":"

A ConnectionInput object that redefines the connection in question.

" + } + } + }, + "UpdateConnectionResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCrawlerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the new crawler.

" + }, + "Role":{ + "shape":"Role", + "documentation":"

The IAM role or Amazon Resource Name (ARN) of an IAM role that is used by the new crawler to access customer resources.

" + }, + "DatabaseName":{ + "shape":"DatabaseName", + "documentation":"

The AWS Glue database where results are stored, such as: arn:aws:daylight:us-east-1::database/sometable/*.

" + }, + "Description":{ + "shape":"DescriptionStringRemovable", + "documentation":"

A description of the new crawler.

" + }, + "Targets":{ + "shape":"CrawlerTargets", + "documentation":"

A list of targets to crawl.

" + }, + "Schedule":{ + "shape":"CronExpression", + "documentation":"

A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" + }, + "Classifiers":{ + "shape":"ClassifierNameList", + "documentation":"

A list of custom classifiers that the user has registered. By default, all built-in classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.

" + }, + "TablePrefix":{ + "shape":"TablePrefix", + "documentation":"

The table prefix used for catalog tables that are created.

" + }, + "SchemaChangePolicy":{ + "shape":"SchemaChangePolicy", + "documentation":"

The policy for the crawler's update and deletion behavior.

" + }, + "Configuration":{ + "shape":"CrawlerConfiguration", + "documentation":"

The crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler.

" + }, + "CrawlerSecurityConfiguration":{ + "shape":"CrawlerSecurityConfiguration", + "documentation":"

The name of the SecurityConfiguration structure to be used by this crawler.

" + } + } + }, + "UpdateCrawlerResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCrawlerScheduleRequest":{ + "type":"structure", + "required":["CrawlerName"], + "members":{ + "CrawlerName":{ + "shape":"NameString", + "documentation":"

The name of the crawler whose schedule to update.

" + }, + "Schedule":{ + "shape":"CronExpression", + "documentation":"

The updated cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, specify cron(15 12 * * ? *).

" + } + } + }, + "UpdateCrawlerScheduleResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCsvClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Delimiter":{ + "shape":"CsvColumnDelimiter", + "documentation":"

A custom symbol to denote what separates each column entry in the row.

" + }, + "QuoteSymbol":{ + "shape":"CsvQuoteSymbol", + "documentation":"

A custom symbol to denote what combines content into a single column value. It must be different from the column delimiter.

" + }, + "ContainsHeader":{ + "shape":"CsvHeaderOption", + "documentation":"

Indicates whether the CSV file contains a header.

" + }, + "Header":{ + "shape":"CsvHeader", + "documentation":"

A list of strings representing column names.

" + }, + "DisableValueTrimming":{ + "shape":"NullableBoolean", + "documentation":"

Specifies not to trim values before identifying the type of column values. The default value is true.

" + }, + "AllowSingleColumn":{ + "shape":"NullableBoolean", + "documentation":"

Enables the processing of files that contain only one column.

" + } + }, + "documentation":"

Specifies a custom CSV classifier to be updated.

" + }, + "UpdateDatabaseRequest":{ + "type":"structure", + "required":[ + "Name", + "DatabaseInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog in which the metadata database resides. If none is provided, the AWS account ID is used by default.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database to update in the catalog. For Hive compatibility, this is folded to lowercase.

" + }, + "DatabaseInput":{ + "shape":"DatabaseInput", + "documentation":"

A DatabaseInput object specifying the new definition of the metadata database in the catalog.

" + } + } + }, + "UpdateDatabaseResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDevEndpointRequest":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{ + "shape":"GenericString", + "documentation":"

The name of the DevEndpoint to be updated.

" + }, + "PublicKey":{ + "shape":"GenericString", + "documentation":"

The public key for the DevEndpoint to use.

" + }, + "AddPublicKeys":{ + "shape":"PublicKeysList", + "documentation":"

The list of public keys for the DevEndpoint to use.

" + }, + "DeletePublicKeys":{ + "shape":"PublicKeysList", + "documentation":"

The list of public keys to be deleted from the DevEndpoint.

" + }, + "CustomLibraries":{ + "shape":"DevEndpointCustomLibraries", + "documentation":"

Custom Python or Java libraries to be loaded in the DevEndpoint.

" + }, + "UpdateEtlLibraries":{ + "shape":"BooleanValue", + "documentation":"

True if the list of custom libraries to be loaded in the development endpoint needs to be updated, or False if otherwise.

" + }, + "DeleteArguments":{ + "shape":"StringList", + "documentation":"

The list of argument keys to be deleted from the map of arguments used to configure the DevEndpoint.

" + }, + "AddArguments":{ + "shape":"MapValue", + "documentation":"

The map of arguments to add the map of arguments used to configure the DevEndpoint.

Valid arguments are:

  • \"--enable-glue-datacatalog\": \"\"

  • \"GLUE_PYTHON_VERSION\": \"3\"

  • \"GLUE_PYTHON_VERSION\": \"2\"

You can specify a version of Python support for development endpoints by using the Arguments parameter in the CreateDevEndpoint or UpdateDevEndpoint APIs. If no arguments are provided, the version defaults to Python 2.

" + } + } + }, + "UpdateDevEndpointResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateGrokClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the GrokClassifier.

" + }, + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches, such as Twitter, JSON, Omniture logs, Amazon CloudWatch Logs, and so on.

" + }, + "GrokPattern":{ + "shape":"GrokPattern", + "documentation":"

The grok pattern used by this classifier.

" + }, + "CustomPatterns":{ + "shape":"CustomPatterns", + "documentation":"

Optional custom grok patterns used by this classifier.

" + } + }, + "documentation":"

Specifies a grok classifier to update when passed to UpdateClassifier.

" + }, + "UpdateJobRequest":{ + "type":"structure", + "required":[ + "JobName", + "JobUpdate" + ], + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

The name of the job definition to update.

" + }, + "JobUpdate":{ + "shape":"JobUpdate", + "documentation":"

Specifies the values with which to update the job definition.

" + } + } + }, + "UpdateJobResponse":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"NameString", + "documentation":"

Returns the name of the updated job definition.

" + } + } + }, + "UpdateJsonClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "JsonPath":{ + "shape":"JsonPath", + "documentation":"

A JsonPath string defining the JSON data for the classifier to classify. AWS Glue supports a subset of JsonPath, as described in Writing JsonPath Custom Classifiers.

" + } + }, + "documentation":"

Specifies a JSON classifier to be updated.

" + }, + "UpdateMLTransformRequest":{ + "type":"structure", + "required":["TransformId"], + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

A unique identifier that was generated when the transform was created.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The unique name that you gave the transform when you created it.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description of the transform. The default is an empty string.

" + }, + "Parameters":{ + "shape":"TransformParameters", + "documentation":"

The configuration parameters that are specific to the transform type (algorithm) used. Conditionally dependent on the transform type.

" + }, + "Role":{ + "shape":"RoleString", + "documentation":"

The name or Amazon Resource Name (ARN) of the IAM role with the required permissions.

" + }, + "GlueVersion":{ + "shape":"GlueVersionString", + "documentation":"

This value determines which version of AWS Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see AWS Glue Versions in the developer guide.

" + }, + "MaxCapacity":{ + "shape":"NullableDouble", + "documentation":"

The number of AWS Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the AWS Glue pricing page.

When the WorkerType field is set to a value other than Standard, the MaxCapacity field is set automatically and becomes read-only.

" + }, + "WorkerType":{ + "shape":"WorkerType", + "documentation":"

The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

  • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.

  • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.

" + }, + "NumberOfWorkers":{ + "shape":"NullableInteger", + "documentation":"

The number of workers of a defined workerType that are allocated when this task runs.

" + }, + "Timeout":{ + "shape":"Timeout", + "documentation":"

The timeout for a task run for this transform in minutes. This is the maximum time that a task run for this transform can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

" + }, + "MaxRetries":{ + "shape":"NullableInteger", + "documentation":"

The maximum number of times to retry a task for this transform after a task run fails.

" + } + } + }, + "UpdateMLTransformResponse":{ + "type":"structure", + "members":{ + "TransformId":{ + "shape":"HashString", + "documentation":"

The unique identifier for the transform that was updated.

" + } + } + }, + "UpdatePartitionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "PartitionValueList", + "PartitionInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the partition to be updated resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the table in question resides.

" + }, + "TableName":{ + "shape":"NameString", + "documentation":"

The name of the table in which the partition to be updated is located.

" + }, + "PartitionValueList":{ + "shape":"BoundedPartitionValueList", + "documentation":"

A list of the values defining the partition.

" + }, + "PartitionInput":{ + "shape":"PartitionInput", + "documentation":"

The new partition object to update the partition to.

" + } + } + }, + "UpdatePartitionResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTableRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the table resides. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.

" + }, + "TableInput":{ + "shape":"TableInput", + "documentation":"

An updated TableInput object to define the metadata table in the catalog.

" + }, + "SkipArchive":{ + "shape":"BooleanNullable", + "documentation":"

By default, UpdateTable always creates an archived version of the table before updating it. However, if skipArchive is set to true, UpdateTable does not create the archived version.

" + } + } + }, + "UpdateTableResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTriggerRequest":{ + "type":"structure", + "required":[ + "Name", + "TriggerUpdate" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the trigger to update.

" + }, + "TriggerUpdate":{ + "shape":"TriggerUpdate", + "documentation":"

The new values with which to update the trigger.

" + } + } + }, + "UpdateTriggerResponse":{ + "type":"structure", + "members":{ + "Trigger":{ + "shape":"Trigger", + "documentation":"

The resulting trigger definition.

" + } + } + }, + "UpdateUserDefinedFunctionRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "FunctionName", + "FunctionInput" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The ID of the Data Catalog where the function to be updated is located. If none is provided, the AWS account ID is used by default.

" + }, + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the catalog database where the function to be updated is located.

" + }, + "FunctionName":{ + "shape":"NameString", + "documentation":"

The name of the function.

" + }, + "FunctionInput":{ + "shape":"UserDefinedFunctionInput", + "documentation":"

A FunctionInput object that redefines the function in the Data Catalog.

" + } + } + }, + "UpdateUserDefinedFunctionResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateWorkflowRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow to be updated.

" + }, + "Description":{ + "shape":"GenericString", + "documentation":"

The description of the workflow.

" + }, + "DefaultRunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

A collection of properties to be used as part of each execution of the workflow.

" + } + } + }, + "UpdateWorkflowResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow which was specified in input.

" + } + } + }, + "UpdateXMLClassifierRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches.

" + }, + "RowTag":{ + "shape":"RowTag", + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This cannot identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + } + }, + "documentation":"

Specifies an XML classifier to be updated.

" + }, + "UriString":{"type":"string"}, + "UserDefinedFunction":{ + "type":"structure", + "members":{ + "FunctionName":{ + "shape":"NameString", + "documentation":"

The name of the function.

" + }, + "ClassName":{ + "shape":"NameString", + "documentation":"

The Java class that contains the function code.

" + }, + "OwnerName":{ + "shape":"NameString", + "documentation":"

The owner of the function.

" + }, + "OwnerType":{ + "shape":"PrincipalType", + "documentation":"

The owner type.

" + }, + "CreateTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the function was created.

" + }, + "ResourceUris":{ + "shape":"ResourceUriList", + "documentation":"

The resource URIs for the function.

" + } + }, + "documentation":"

Represents the equivalent of a Hive user-defined function (UDF) definition.

" + }, + "UserDefinedFunctionInput":{ + "type":"structure", + "members":{ + "FunctionName":{ + "shape":"NameString", + "documentation":"

The name of the function.

" + }, + "ClassName":{ + "shape":"NameString", + "documentation":"

The Java class that contains the function code.

" + }, + "OwnerName":{ + "shape":"NameString", + "documentation":"

The owner of the function.

" + }, + "OwnerType":{ + "shape":"PrincipalType", + "documentation":"

The owner type.

" + }, + "ResourceUris":{ + "shape":"ResourceUriList", + "documentation":"

The resource URIs for the function.

" + } + }, + "documentation":"

A structure used to create or update a user-defined function.

" + }, + "UserDefinedFunctionList":{ + "type":"list", + "member":{"shape":"UserDefinedFunction"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A value could not be validated.

", + "exception":true + }, + "ValueString":{ + "type":"string", + "max":1024 + }, + "ValueStringList":{ + "type":"list", + "member":{"shape":"ValueString"} + }, + "VersionId":{"type":"long"}, + "VersionMismatchException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

There was a version conflict.

", + "exception":true + }, + "VersionString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "ViewTextString":{ + "type":"string", + "max":409600 + }, + "WorkerType":{ + "type":"string", + "enum":[ + "Standard", + "G.1X", + "G.2X" + ] + }, + "Workflow":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the workflow representing the flow.

" + }, + "Description":{ + "shape":"GenericString", + "documentation":"

A description of the workflow.

" + }, + "DefaultRunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

A collection of properties to be used as part of each execution of the workflow.

" + }, + "CreatedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time when the workflow was created.

" + }, + "LastModifiedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time when the workflow was last modified.

" + }, + "LastRun":{ + "shape":"WorkflowRun", + "documentation":"

The information about the last execution of the workflow.

" + }, + "Graph":{ + "shape":"WorkflowGraph", + "documentation":"

The graph representing all the AWS Glue components that belong to the workflow as nodes and directed connections between them as edges.

" + } + }, + "documentation":"

A workflow represents a flow in which AWS Glue components should be executed to complete a logical task.

" + }, + "WorkflowGraph":{ + "type":"structure", + "members":{ + "Nodes":{ + "shape":"NodeList", + "documentation":"

A list of the the AWS Glue components belong to the workflow represented as nodes.

" + }, + "Edges":{ + "shape":"EdgeList", + "documentation":"

A list of all the directed connections between the nodes belonging to the workflow.

" + } + }, + "documentation":"

A workflow graph represents the complete workflow containing all the AWS Glue components present in the workflow and all the directed connections between them.

" + }, + "WorkflowNames":{ + "type":"list", + "member":{"shape":"NameString"}, + "max":25, + "min":1 + }, + "WorkflowRun":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

Name of the workflow which was executed.

" + }, + "WorkflowRunId":{ + "shape":"IdString", + "documentation":"

The ID of this workflow run.

" + }, + "WorkflowRunProperties":{ + "shape":"WorkflowRunProperties", + "documentation":"

The workflow run properties which were set during the run.

" + }, + "StartedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time when the workflow run was started.

" + }, + "CompletedOn":{ + "shape":"TimestampValue", + "documentation":"

The date and time when the workflow run completed.

" + }, + "Status":{ + "shape":"WorkflowRunStatus", + "documentation":"

The status of the workflow run.

" + }, + "Statistics":{ + "shape":"WorkflowRunStatistics", + "documentation":"

The statistics of the run.

" + }, + "Graph":{ + "shape":"WorkflowGraph", + "documentation":"

The graph representing all the AWS Glue components that belong to the workflow as nodes and directed connections between them as edges.

" + } + }, + "documentation":"

A workflow run is an execution of a workflow providing all the runtime information.

" + }, + "WorkflowRunProperties":{ + "type":"map", + "key":{"shape":"IdString"}, + "value":{"shape":"GenericString"} + }, + "WorkflowRunStatistics":{ + "type":"structure", + "members":{ + "TotalActions":{ + "shape":"IntegerValue", + "documentation":"

Total number of Actions in the workflow run.

" + }, + "TimeoutActions":{ + "shape":"IntegerValue", + "documentation":"

Total number of Actions which timed out.

" + }, + "FailedActions":{ + "shape":"IntegerValue", + "documentation":"

Total number of Actions which have failed.

" + }, + "StoppedActions":{ + "shape":"IntegerValue", + "documentation":"

Total number of Actions which have stopped.

" + }, + "SucceededActions":{ + "shape":"IntegerValue", + "documentation":"

Total number of Actions which have succeeded.

" + }, + "RunningActions":{ + "shape":"IntegerValue", + "documentation":"

Total number Actions in running state.

" + } + }, + "documentation":"

Workflow run statistics provides statistics about the workflow run.

" + }, + "WorkflowRunStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "COMPLETED", + "STOPPING", + "STOPPED" + ] + }, + "WorkflowRuns":{ + "type":"list", + "member":{"shape":"WorkflowRun"}, + "max":1000, + "min":1 + }, + "Workflows":{ + "type":"list", + "member":{"shape":"Workflow"}, + "max":25, + "min":1 + }, + "XMLClassifier":{ + "type":"structure", + "required":[ + "Name", + "Classification" + ], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the classifier.

" + }, + "Classification":{ + "shape":"Classification", + "documentation":"

An identifier of the data format that the classifier matches.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was registered.

" + }, + "LastUpdated":{ + "shape":"Timestamp", + "documentation":"

The time that this classifier was last updated.

" + }, + "Version":{ + "shape":"VersionId", + "documentation":"

The version of this classifier.

" + }, + "RowTag":{ + "shape":"RowTag", + "documentation":"

The XML tag designating the element that contains each record in an XML document being parsed. This can't identify a self-closing element (closed by />). An empty row element that contains only attributes can be parsed as long as it ends with a closing tag (for example, <row item_a=\"A\" item_b=\"B\"></row> is okay, but <row item_a=\"A\" item_b=\"B\" /> is not).

" + } + }, + "documentation":"

A classifier for XML content.

" + } + }, + "documentation":"AWS Glue

Defines the public endpoint for the AWS Glue service.

" +} diff -Nru python-botocore-1.4.70/botocore/data/greengrass/2017-06-07/paginators-1.json python-botocore-1.16.19+repack/botocore/data/greengrass/2017-06-07/paginators-1.json --- python-botocore-1.4.70/botocore/data/greengrass/2017-06-07/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/greengrass/2017-06-07/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,118 @@ +{ + "pagination": { + "ListBulkDeploymentDetailedReports": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Deployments" + }, + "ListBulkDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BulkDeployments" + }, + "ListConnectorDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListConnectorDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListCoreDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListCoreDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListDeployments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Deployments" + }, + "ListDeviceDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListDeviceDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListFunctionDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListFunctionDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListGroupVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Groups" + }, + "ListLoggerDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListLoggerDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListResourceDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListResourceDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + }, + "ListSubscriptionDefinitionVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListSubscriptionDefinitions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Definitions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/greengrass/2017-06-07/service-2.json python-botocore-1.16.19+repack/botocore/data/greengrass/2017-06-07/service-2.json --- python-botocore-1.4.70/botocore/data/greengrass/2017-06-07/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/greengrass/2017-06-07/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,6042 @@ +{ + "metadata" : { + "apiVersion" : "2017-06-07", + "endpointPrefix" : "greengrass", + "signingName" : "greengrass", + "serviceFullName" : "AWS Greengrass", + "serviceId" : "Greengrass", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "greengrass-2017-06-07", + "signatureVersion" : "v4" + }, + "operations" : { + "AssociateRoleToGroup" : { + "name" : "AssociateRoleToGroup", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "AssociateRoleToGroupRequest" + }, + "output" : { + "shape" : "AssociateRoleToGroupResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Associates a role with a group. Your Greengrass core will use the role to access AWS cloud services. The role's permissions should allow Greengrass core Lambda functions to perform actions against the cloud." + }, + "AssociateServiceRoleToAccount" : { + "name" : "AssociateServiceRoleToAccount", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "AssociateServiceRoleToAccountRequest" + }, + "output" : { + "shape" : "AssociateServiceRoleToAccountResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Associates a role with your account. AWS IoT Greengrass will use the role to access your Lambda functions and AWS IoT resources. This is necessary for deployments to succeed. The role must have at least minimum permissions in the policy ''AWSGreengrassResourceAccessRolePolicy''." + }, + "CreateConnectorDefinition" : { + "name" : "CreateConnectorDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/connectors", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConnectorDefinitionRequest" + }, + "output" : { + "shape" : "CreateConnectorDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a connector definition. You may provide the initial version of the connector definition now or use ''CreateConnectorDefinitionVersion'' at a later time." + }, + "CreateConnectorDefinitionVersion" : { + "name" : "CreateConnectorDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConnectorDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateConnectorDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a connector definition which has already been defined." + }, + "CreateCoreDefinition" : { + "name" : "CreateCoreDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/cores", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateCoreDefinitionRequest" + }, + "output" : { + "shape" : "CreateCoreDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a core definition. You may provide the initial version of the core definition now or use ''CreateCoreDefinitionVersion'' at a later time. Greengrass groups must each contain exactly one Greengrass core." + }, + "CreateCoreDefinitionVersion" : { + "name" : "CreateCoreDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateCoreDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateCoreDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a core definition that has already been defined. Greengrass groups must each contain exactly one Greengrass core." + }, + "CreateDeployment" : { + "name" : "CreateDeployment", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeploymentRequest" + }, + "output" : { + "shape" : "CreateDeploymentResponse", + "documentation" : "Success. The group was deployed." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a deployment. ''CreateDeployment'' requests are idempotent with respect to the ''X-Amzn-Client-Token'' token and the request parameters." + }, + "CreateDeviceDefinition" : { + "name" : "CreateDeviceDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeviceDefinitionRequest" + }, + "output" : { + "shape" : "CreateDeviceDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a device definition. You may provide the initial version of the device definition now or use ''CreateDeviceDefinitionVersion'' at a later time." + }, + "CreateDeviceDefinitionVersion" : { + "name" : "CreateDeviceDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateDeviceDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateDeviceDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a device definition that has already been defined." + }, + "CreateFunctionDefinition" : { + "name" : "CreateFunctionDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/functions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateFunctionDefinitionRequest" + }, + "output" : { + "shape" : "CreateFunctionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a Lambda function definition which contains a list of Lambda functions and their configurations to be used in a group. You can create an initial version of the definition by providing a list of Lambda functions and their configurations now, or use ''CreateFunctionDefinitionVersion'' later." + }, + "CreateFunctionDefinitionVersion" : { + "name" : "CreateFunctionDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateFunctionDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateFunctionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a Lambda function definition that has already been defined." + }, + "CreateGroup" : { + "name" : "CreateGroup", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupRequest" + }, + "output" : { + "shape" : "CreateGroupResponse", + "documentation" : "Success. The group was created." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a group. You may provide the initial version of the group or use ''CreateGroupVersion'' at a later time. Tip: You can use the ''gg_group_setup'' package (https://github.com/awslabs/aws-greengrass-group-setup) as a library or command-line application to create and deploy Greengrass groups." + }, + "CreateGroupCertificateAuthority" : { + "name" : "CreateGroupCertificateAuthority", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupCertificateAuthorityRequest" + }, + "output" : { + "shape" : "CreateGroupCertificateAuthorityResponse", + "documentation" : "Success. The response body contains the new active CA ARN." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Creates a CA for the group. If a CA already exists, it will rotate the existing CA." + }, + "CreateGroupVersion" : { + "name" : "CreateGroupVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateGroupVersionRequest" + }, + "output" : { + "shape" : "CreateGroupVersionResponse", + "documentation" : "Success. The response contains information about the group version." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a group which has already been defined." + }, + "CreateLoggerDefinition" : { + "name" : "CreateLoggerDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/loggers", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateLoggerDefinitionRequest" + }, + "output" : { + "shape" : "CreateLoggerDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a logger definition. You may provide the initial version of the logger definition now or use ''CreateLoggerDefinitionVersion'' at a later time." + }, + "CreateLoggerDefinitionVersion" : { + "name" : "CreateLoggerDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateLoggerDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateLoggerDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a logger definition that has already been defined." + }, + "CreateResourceDefinition" : { + "name" : "CreateResourceDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/resources", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateResourceDefinitionRequest" + }, + "output" : { + "shape" : "CreateResourceDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a resource definition which contains a list of resources to be used in a group. You can create an initial version of the definition by providing a list of resources now, or use ''CreateResourceDefinitionVersion'' later." + }, + "CreateResourceDefinitionVersion" : { + "name" : "CreateResourceDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateResourceDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateResourceDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a resource definition that has already been defined." + }, + "CreateSoftwareUpdateJob" : { + "name" : "CreateSoftwareUpdateJob", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/updates", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateSoftwareUpdateJobRequest" + }, + "output" : { + "shape" : "CreateSoftwareUpdateJobResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Creates a software update for a core or group of cores (specified as an IoT thing group.) Use this to update the OTA Agent as well as the Greengrass core software. It makes use of the IoT Jobs feature which provides additional commands to manage a Greengrass core software update job." + }, + "CreateSubscriptionDefinition" : { + "name" : "CreateSubscriptionDefinition", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/subscriptions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "CreateSubscriptionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a subscription definition. You may provide the initial version of the subscription definition now or use ''CreateSubscriptionDefinitionVersion'' at a later time." + }, + "CreateSubscriptionDefinitionVersion" : { + "name" : "CreateSubscriptionDefinitionVersion", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateSubscriptionDefinitionVersionRequest" + }, + "output" : { + "shape" : "CreateSubscriptionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Creates a version of a subscription definition which has already been defined." + }, + "DeleteConnectorDefinition" : { + "name" : "DeleteConnectorDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConnectorDefinitionRequest" + }, + "output" : { + "shape" : "DeleteConnectorDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a connector definition." + }, + "DeleteCoreDefinition" : { + "name" : "DeleteCoreDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteCoreDefinitionRequest" + }, + "output" : { + "shape" : "DeleteCoreDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a core definition." + }, + "DeleteDeviceDefinition" : { + "name" : "DeleteDeviceDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteDeviceDefinitionRequest" + }, + "output" : { + "shape" : "DeleteDeviceDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a device definition." + }, + "DeleteFunctionDefinition" : { + "name" : "DeleteFunctionDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteFunctionDefinitionRequest" + }, + "output" : { + "shape" : "DeleteFunctionDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a Lambda function definition." + }, + "DeleteGroup" : { + "name" : "DeleteGroup", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteGroupRequest" + }, + "output" : { + "shape" : "DeleteGroupResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a group." + }, + "DeleteLoggerDefinition" : { + "name" : "DeleteLoggerDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteLoggerDefinitionRequest" + }, + "output" : { + "shape" : "DeleteLoggerDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a logger definition." + }, + "DeleteResourceDefinition" : { + "name" : "DeleteResourceDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteResourceDefinitionRequest" + }, + "output" : { + "shape" : "DeleteResourceDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a resource definition." + }, + "DeleteSubscriptionDefinition" : { + "name" : "DeleteSubscriptionDefinition", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "DeleteSubscriptionDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deletes a subscription definition." + }, + "DisassociateRoleFromGroup" : { + "name" : "DisassociateRoleFromGroup", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "DisassociateRoleFromGroupRequest" + }, + "output" : { + "shape" : "DisassociateRoleFromGroupResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Disassociates the role from a group." + }, + "DisassociateServiceRoleFromAccount" : { + "name" : "DisassociateServiceRoleFromAccount", + "http" : { + "method" : "DELETE", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "DisassociateServiceRoleFromAccountRequest" + }, + "output" : { + "shape" : "DisassociateServiceRoleFromAccountResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Disassociates the service role from your account. Without a service role, deployments will not work." + }, + "GetAssociatedRole" : { + "name" : "GetAssociatedRole", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/role", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetAssociatedRoleRequest" + }, + "output" : { + "shape" : "GetAssociatedRoleResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retrieves the role associated with a particular group." + }, + "GetBulkDeploymentStatus" : { + "name" : "GetBulkDeploymentStatus", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/bulk/deployments/{BulkDeploymentId}/status", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetBulkDeploymentStatusRequest" + }, + "output" : { + "shape" : "GetBulkDeploymentStatusResponse", + "documentation" : "Success. The response body contains the status of the bulk deployment." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Returns the status of a bulk deployment." + }, + "GetConnectivityInfo" : { + "name" : "GetConnectivityInfo", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConnectivityInfoRequest" + }, + "output" : { + "shape" : "GetConnectivityInfoResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retrieves the connectivity information for a core." + }, + "GetConnectorDefinition" : { + "name" : "GetConnectorDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConnectorDefinitionRequest" + }, + "output" : { + "shape" : "GetConnectorDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a connector definition." + }, + "GetConnectorDefinitionVersion" : { + "name" : "GetConnectorDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConnectorDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetConnectorDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a connector definition version, including the connectors that the version contains. Connectors are prebuilt modules that interact with local infrastructure, device protocols, AWS, and other cloud services." + }, + "GetCoreDefinition" : { + "name" : "GetCoreDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCoreDefinitionRequest" + }, + "output" : { + "shape" : "GetCoreDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a core definition version." + }, + "GetCoreDefinitionVersion" : { + "name" : "GetCoreDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCoreDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetCoreDefinitionVersionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a core definition version." + }, + "GetDeploymentStatus" : { + "name" : "GetDeploymentStatus", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeploymentStatusRequest" + }, + "output" : { + "shape" : "GetDeploymentStatusResponse", + "documentation" : "Success. The response body contains the status of the deployment for the group." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Returns the status of a deployment." + }, + "GetDeviceDefinition" : { + "name" : "GetDeviceDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceDefinitionRequest" + }, + "output" : { + "shape" : "GetDeviceDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a device definition." + }, + "GetDeviceDefinitionVersion" : { + "name" : "GetDeviceDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetDeviceDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a device definition version." + }, + "GetFunctionDefinition" : { + "name" : "GetFunctionDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetFunctionDefinitionRequest" + }, + "output" : { + "shape" : "GetFunctionDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a Lambda function definition, including its creation time and latest version." + }, + "GetFunctionDefinitionVersion" : { + "name" : "GetFunctionDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetFunctionDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetFunctionDefinitionVersionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a Lambda function definition version, including which Lambda functions are included in the version and their configurations." + }, + "GetGroup" : { + "name" : "GetGroup", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupRequest" + }, + "output" : { + "shape" : "GetGroupResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a group." + }, + "GetGroupCertificateAuthority" : { + "name" : "GetGroupCertificateAuthority", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupCertificateAuthorityRequest" + }, + "output" : { + "shape" : "GetGroupCertificateAuthorityResponse", + "documentation" : "Success. The response body contains the PKI Configuration." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retreives the CA associated with a group. Returns the public key of the CA." + }, + "GetGroupCertificateConfiguration" : { + "name" : "GetGroupCertificateConfiguration", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupCertificateConfigurationRequest" + }, + "output" : { + "shape" : "GetGroupCertificateConfigurationResponse", + "documentation" : "Success. The response body contains the PKI Configuration." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retrieves the current configuration for the CA used by the group." + }, + "GetGroupVersion" : { + "name" : "GetGroupVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/versions/{GroupVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetGroupVersionRequest" + }, + "output" : { + "shape" : "GetGroupVersionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a group version." + }, + "GetLoggerDefinition" : { + "name" : "GetLoggerDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetLoggerDefinitionRequest" + }, + "output" : { + "shape" : "GetLoggerDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a logger definition." + }, + "GetLoggerDefinitionVersion" : { + "name" : "GetLoggerDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetLoggerDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetLoggerDefinitionVersionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a logger definition version." + }, + "GetResourceDefinition" : { + "name" : "GetResourceDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetResourceDefinitionRequest" + }, + "output" : { + "shape" : "GetResourceDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a resource definition, including its creation time and latest version." + }, + "GetResourceDefinitionVersion" : { + "name" : "GetResourceDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetResourceDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetResourceDefinitionVersionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a resource definition version, including which resources are included in the version." + }, + "GetServiceRoleForAccount" : { + "name" : "GetServiceRoleForAccount", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/servicerole", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetServiceRoleForAccountRequest" + }, + "output" : { + "shape" : "GetServiceRoleForAccountResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retrieves the service role that is attached to your account." + }, + "GetSubscriptionDefinition" : { + "name" : "GetSubscriptionDefinition", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "GetSubscriptionDefinitionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a subscription definition." + }, + "GetSubscriptionDefinitionVersion" : { + "name" : "GetSubscriptionDefinitionVersion", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetSubscriptionDefinitionVersionRequest" + }, + "output" : { + "shape" : "GetSubscriptionDefinitionVersionResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves information about a subscription definition version." + }, + "ListBulkDeploymentDetailedReports" : { + "name" : "ListBulkDeploymentDetailedReports", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListBulkDeploymentDetailedReportsRequest" + }, + "output" : { + "shape" : "ListBulkDeploymentDetailedReportsResponse", + "documentation" : "Success. The response body contains the list of deployments for the given group." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Gets a paginated list of the deployments that have been started in a bulk deployment operation, and their current deployment status." + }, + "ListBulkDeployments" : { + "name" : "ListBulkDeployments", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/bulk/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListBulkDeploymentsRequest" + }, + "output" : { + "shape" : "ListBulkDeploymentsResponse", + "documentation" : "Success. The response body contains the list of bulk deployments." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Returns a list of bulk deployments." + }, + "ListConnectorDefinitionVersions" : { + "name" : "ListConnectorDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConnectorDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListConnectorDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a connector definition, which are containers for connectors. Connectors run on the Greengrass core and contain built-in integration with local infrastructure, device protocols, AWS, and other cloud services." + }, + "ListConnectorDefinitions" : { + "name" : "ListConnectorDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/connectors", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConnectorDefinitionsRequest" + }, + "output" : { + "shape" : "ListConnectorDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of connector definitions." + }, + "ListCoreDefinitionVersions" : { + "name" : "ListCoreDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListCoreDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListCoreDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a core definition." + }, + "ListCoreDefinitions" : { + "name" : "ListCoreDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/cores", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListCoreDefinitionsRequest" + }, + "output" : { + "shape" : "ListCoreDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of core definitions." + }, + "ListDeployments" : { + "name" : "ListDeployments", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeploymentsRequest" + }, + "output" : { + "shape" : "ListDeploymentsResponse", + "documentation" : "Success. The response body contains the list of deployments for the given group." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Returns a history of deployments for the group." + }, + "ListDeviceDefinitionVersions" : { + "name" : "ListDeviceDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListDeviceDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a device definition." + }, + "ListDeviceDefinitions" : { + "name" : "ListDeviceDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceDefinitionsRequest" + }, + "output" : { + "shape" : "ListDeviceDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of device definitions." + }, + "ListFunctionDefinitionVersions" : { + "name" : "ListFunctionDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListFunctionDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListFunctionDefinitionVersionsResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a Lambda function definition." + }, + "ListFunctionDefinitions" : { + "name" : "ListFunctionDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/functions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListFunctionDefinitionsRequest" + }, + "output" : { + "shape" : "ListFunctionDefinitionsResponse", + "documentation" : "Success. The response contains the IDs of all the Greengrass Lambda function definitions in this account." + }, + "errors" : [ ], + "documentation" : "Retrieves a list of Lambda function definitions." + }, + "ListGroupCertificateAuthorities" : { + "name" : "ListGroupCertificateAuthorities", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupCertificateAuthoritiesRequest" + }, + "output" : { + "shape" : "ListGroupCertificateAuthoritiesResponse", + "documentation" : "Success. The response body contains the PKI Configuration." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Retrieves the current CAs for a group." + }, + "ListGroupVersions" : { + "name" : "ListGroupVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups/{GroupId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupVersionsRequest" + }, + "output" : { + "shape" : "ListGroupVersionsResponse", + "documentation" : "Success. The response contains the list of versions and metadata for the given group." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a group." + }, + "ListGroups" : { + "name" : "ListGroups", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/groups", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListGroupsRequest" + }, + "output" : { + "shape" : "ListGroupsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of groups." + }, + "ListLoggerDefinitionVersions" : { + "name" : "ListLoggerDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListLoggerDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListLoggerDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a logger definition." + }, + "ListLoggerDefinitions" : { + "name" : "ListLoggerDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/loggers", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListLoggerDefinitionsRequest" + }, + "output" : { + "shape" : "ListLoggerDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of logger definitions." + }, + "ListResourceDefinitionVersions" : { + "name" : "ListResourceDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListResourceDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListResourceDefinitionVersionsResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a resource definition." + }, + "ListResourceDefinitions" : { + "name" : "ListResourceDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/resources", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListResourceDefinitionsRequest" + }, + "output" : { + "shape" : "ListResourceDefinitionsResponse", + "documentation" : "The IDs of all the Greengrass resource definitions in this account." + }, + "errors" : [ ], + "documentation" : "Retrieves a list of resource definitions." + }, + "ListSubscriptionDefinitionVersions" : { + "name" : "ListSubscriptionDefinitionVersions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListSubscriptionDefinitionVersionsRequest" + }, + "output" : { + "shape" : "ListSubscriptionDefinitionVersionsResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Lists the versions of a subscription definition." + }, + "ListSubscriptionDefinitions" : { + "name" : "ListSubscriptionDefinitions", + "http" : { + "method" : "GET", + "requestUri" : "/greengrass/definition/subscriptions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListSubscriptionDefinitionsRequest" + }, + "output" : { + "shape" : "ListSubscriptionDefinitionsResponse" + }, + "errors" : [ ], + "documentation" : "Retrieves a list of subscription definitions." + }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Retrieves a list of resource tags for a resource arn." + }, + "ResetDeployments" : { + "name" : "ResetDeployments", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/groups/{GroupId}/deployments/$reset", + "responseCode" : 200 + }, + "input" : { + "shape" : "ResetDeploymentsRequest" + }, + "output" : { + "shape" : "ResetDeploymentsResponse", + "documentation" : "Success. The group's deployments were reset." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Resets a group's deployments." + }, + "StartBulkDeployment" : { + "name" : "StartBulkDeployment", + "http" : { + "method" : "POST", + "requestUri" : "/greengrass/bulk/deployments", + "responseCode" : 200 + }, + "input" : { + "shape" : "StartBulkDeploymentRequest" + }, + "output" : { + "shape" : "StartBulkDeploymentResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Deploys multiple groups in one operation. This action starts the bulk deployment of a specified set of group versions. Each group version deployment will be triggered with an adaptive rate that has a fixed upper limit. We recommend that you include an ''X-Amzn-Client-Token'' token in every ''StartBulkDeployment'' request. These requests are idempotent with respect to the token and the request parameters." + }, + "StopBulkDeployment" : { + "name" : "StopBulkDeployment", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/bulk/deployments/{BulkDeploymentId}/$stop", + "responseCode" : 200 + }, + "input" : { + "shape" : "StopBulkDeploymentRequest" + }, + "output" : { + "shape" : "StopBulkDeploymentResponse", + "documentation" : "Success. The bulk deployment is being stopped." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Stops the execution of a bulk deployment. This action returns a status of ''Stopping'' until the deployment is stopped. You cannot start a new bulk deployment while a previous deployment is in the ''Stopping'' state. This action doesn't rollback completed deployments or cancel pending deployments." + }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Adds tags to a Greengrass resource. Valid resources are 'Group', 'ConnectorDefinition', 'CoreDefinition', 'DeviceDefinition', 'FunctionDefinition', 'LoggerDefinition', 'SubscriptionDefinition', 'ResourceDefinition', and 'BulkDeployment'." + }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Remove resource tags from a Greengrass Resource." + }, + "UpdateConnectivityInfo" : { + "name" : "UpdateConnectivityInfo", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/things/{ThingName}/connectivityInfo", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConnectivityInfoRequest" + }, + "output" : { + "shape" : "UpdateConnectivityInfoResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Updates the connectivity information for the core. Any devices that belong to the group which has this core will receive this information in order to find the location of the core and connect to it." + }, + "UpdateConnectorDefinition" : { + "name" : "UpdateConnectorDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/connectors/{ConnectorDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConnectorDefinitionRequest" + }, + "output" : { + "shape" : "UpdateConnectorDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a connector definition." + }, + "UpdateCoreDefinition" : { + "name" : "UpdateCoreDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/cores/{CoreDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateCoreDefinitionRequest" + }, + "output" : { + "shape" : "UpdateCoreDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a core definition." + }, + "UpdateDeviceDefinition" : { + "name" : "UpdateDeviceDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/devices/{DeviceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeviceDefinitionRequest" + }, + "output" : { + "shape" : "UpdateDeviceDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a device definition." + }, + "UpdateFunctionDefinition" : { + "name" : "UpdateFunctionDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/functions/{FunctionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateFunctionDefinitionRequest" + }, + "output" : { + "shape" : "UpdateFunctionDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a Lambda function definition." + }, + "UpdateGroup" : { + "name" : "UpdateGroup", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateGroupRequest" + }, + "output" : { + "shape" : "UpdateGroupResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a group." + }, + "UpdateGroupCertificateConfiguration" : { + "name" : "UpdateGroupCertificateConfiguration", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateGroupCertificateConfigurationRequest" + }, + "output" : { + "shape" : "UpdateGroupCertificateConfigurationResponse", + "documentation" : "Success. The response body contains the PKI Configuration." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + }, { + "shape" : "InternalServerErrorException", + "documentation" : "server error" + } ], + "documentation" : "Updates the Certificate expiry time for a group." + }, + "UpdateLoggerDefinition" : { + "name" : "UpdateLoggerDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/loggers/{LoggerDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateLoggerDefinitionRequest" + }, + "output" : { + "shape" : "UpdateLoggerDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a logger definition." + }, + "UpdateResourceDefinition" : { + "name" : "UpdateResourceDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/resources/{ResourceDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateResourceDefinitionRequest" + }, + "output" : { + "shape" : "UpdateResourceDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a resource definition." + }, + "UpdateSubscriptionDefinition" : { + "name" : "UpdateSubscriptionDefinition", + "http" : { + "method" : "PUT", + "requestUri" : "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateSubscriptionDefinitionRequest" + }, + "output" : { + "shape" : "UpdateSubscriptionDefinitionResponse", + "documentation" : "success" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "invalid request" + } ], + "documentation" : "Updates a subscription definition." + } + }, + "shapes" : { + "AssociateRoleToGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of the role you wish to associate with this group. The existence of the role is not validated." + } + }, + "required" : [ "GroupId", "RoleArn" ] + }, + "AssociateRoleToGroupResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the role ARN was associated with the group." + } + } + }, + "AssociateServiceRoleToAccountRequest" : { + "type" : "structure", + "members" : { + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of the service role you wish to associate with your account." + } + }, + "required" : [ "RoleArn" ] + }, + "AssociateServiceRoleToAccountResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "The time when the service role was associated with the account." + } + } + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Details about the error." + }, + "Message" : { + "shape" : "__string", + "documentation" : "A message containing information about the error." + } + }, + "documentation" : "General error information.", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "BulkDeployment" : { + "type" : "structure", + "members" : { + "BulkDeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the bulk deployment." + }, + "BulkDeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the bulk deployment." + }, + "CreatedAt" : { + "shape" : "__string", + "documentation" : "The time, in ISO format, when the deployment was created." + } + }, + "documentation" : "Information about a bulk deployment. You cannot start a new bulk deployment while another one is still running or in a non-terminal state." + }, + "BulkDeploymentMetrics" : { + "type" : "structure", + "members" : { + "InvalidInputRecords" : { + "shape" : "__integer", + "documentation" : "The total number of records that returned a non-retryable error. For example, this can occur if a group record from the input file uses an invalid format or specifies a nonexistent group version, or if the execution role doesn't grant permission to deploy a group or group version." + }, + "RecordsProcessed" : { + "shape" : "__integer", + "documentation" : "The total number of group records from the input file that have been processed so far, or attempted." + }, + "RetryAttempts" : { + "shape" : "__integer", + "documentation" : "The total number of deployment attempts that returned a retryable error. For example, a retry is triggered if the attempt to deploy a group returns a throttling error. ''StartBulkDeployment'' retries a group deployment up to five times." + } + }, + "documentation" : "Relevant metrics on input records processed during bulk deployment." + }, + "BulkDeploymentResult" : { + "type" : "structure", + "members" : { + "CreatedAt" : { + "shape" : "__string", + "documentation" : "The time, in ISO format, when the deployment was created." + }, + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the group deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the group deployment." + }, + "DeploymentStatus" : { + "shape" : "__string", + "documentation" : "The current status of the group deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''." + }, + "DeploymentType" : { + "shape" : "DeploymentType", + "documentation" : "The type of the deployment." + }, + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Details about the error." + }, + "ErrorMessage" : { + "shape" : "__string", + "documentation" : "The error message for a failed deployment" + }, + "GroupArn" : { + "shape" : "__string", + "documentation" : "The ARN of the Greengrass group." + } + }, + "documentation" : "Information about an individual group deployment in a bulk deployment operation." + }, + "BulkDeploymentResults" : { + "type" : "list", + "member" : { + "shape" : "BulkDeploymentResult" + } + }, + "BulkDeploymentStatus" : { + "type" : "string", + "documentation" : "The current status of the bulk deployment.", + "enum" : [ "Initializing", "Running", "Completed", "Stopping", "Stopped", "Failed" ] + }, + "BulkDeployments" : { + "type" : "list", + "member" : { + "shape" : "BulkDeployment" + } + }, + "ConnectivityInfo" : { + "type" : "structure", + "members" : { + "HostAddress" : { + "shape" : "__string", + "documentation" : "The endpoint for the Greengrass core. Can be an IP address or DNS." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the connectivity information." + }, + "Metadata" : { + "shape" : "__string", + "documentation" : "Metadata for this endpoint." + }, + "PortNumber" : { + "shape" : "__integer", + "documentation" : "The port of the Greengrass core. Usually 8883." + } + }, + "documentation" : "Information about a Greengrass core's connectivity." + }, + "Connector" : { + "type" : "structure", + "members" : { + "ConnectorArn" : { + "shape" : "__string", + "documentation" : "The ARN of the connector." + }, + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the connector. This value must be unique within the connector definition version. Max length is 128 characters with pattern [a-zA-Z0-9:_-]+." + }, + "Parameters" : { + "shape" : "__mapOf__string", + "documentation" : "The parameters or configuration that the connector uses." + } + }, + "documentation" : "Information about a connector. Connectors run on the Greengrass core and contain built-in integration with local infrastructure, device protocols, AWS, and other cloud services.", + "required" : [ "ConnectorArn", "Id" ] + }, + "ConnectorDefinitionVersion" : { + "type" : "structure", + "members" : { + "Connectors" : { + "shape" : "__listOfConnector", + "documentation" : "A list of references to connectors in this version, with their corresponding configuration settings." + } + }, + "documentation" : "Information about the connector definition version, which is a container for connectors." + }, + "Core" : { + "type" : "structure", + "members" : { + "CertificateArn" : { + "shape" : "__string", + "documentation" : "The ARN of the certificate associated with the core." + }, + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the core. This value must be unique within the core definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''." + }, + "SyncShadow" : { + "shape" : "__boolean", + "documentation" : "If true, the core's local shadow is automatically synced with the cloud." + }, + "ThingArn" : { + "shape" : "__string", + "documentation" : "The ARN of the thing which is the core." + } + }, + "documentation" : "Information about a core.", + "required" : [ "ThingArn", "Id", "CertificateArn" ] + }, + "CoreDefinitionVersion" : { + "type" : "structure", + "members" : { + "Cores" : { + "shape" : "__listOfCore", + "documentation" : "A list of cores in the core definition version." + } + }, + "documentation" : "Information about a core definition version." + }, + "CreateConnectorDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "ConnectorDefinitionVersion", + "documentation" : "Information about the initial version of the connector definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the connector definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateConnectorDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateConnectorDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + }, + "Connectors" : { + "shape" : "__listOfConnector", + "documentation" : "A list of references to connectors in this version, with their corresponding configuration settings." + } + }, + "required" : [ "ConnectorDefinitionId" ] + }, + "CreateConnectorDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "CoreDefinitionVersion", + "documentation" : "Information about the initial version of the core definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the core definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + }, + "documentation" : "Information needed to create a core definition." + }, + "CreateCoreDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateCoreDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + }, + "Cores" : { + "shape" : "__listOfCore", + "documentation" : "A list of cores in the core definition version." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "CreateCoreDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateDeploymentRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the deployment if you wish to redeploy a previous deployment." + }, + "DeploymentType" : { + "shape" : "DeploymentType", + "documentation" : "The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "GroupVersionId" : { + "shape" : "__string", + "documentation" : "The ID of the group version to be deployed." + } + }, + "required" : [ "GroupId", "DeploymentType" ] + }, + "CreateDeploymentResponse" : { + "type" : "structure", + "members" : { + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the deployment." + } + } + }, + "CreateDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "DeviceDefinitionVersion", + "documentation" : "Information about the initial version of the device definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the device definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateDeviceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + }, + "Devices" : { + "shape" : "__listOfDevice", + "documentation" : "A list of devices in the definition version." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "CreateDeviceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "FunctionDefinitionVersion", + "documentation" : "Information about the initial version of the function definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the function definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateFunctionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "DefaultConfig" : { + "shape" : "FunctionDefaultConfig", + "documentation" : "The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings." + }, + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + }, + "Functions" : { + "shape" : "__listOfFunction", + "documentation" : "A list of Lambda functions in this function definition version." + } + }, + "documentation" : "Information needed to create a function definition version.", + "required" : [ "FunctionDefinitionId" ] + }, + "CreateFunctionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateGroupCertificateAuthorityRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "CreateGroupCertificateAuthorityResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "The ARN of the group certificate authority." + } + } + }, + "CreateGroupRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "GroupVersion", + "documentation" : "Information about the initial version of the group." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the group." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateGroupResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateGroupVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "ConnectorDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the connector definition version for this group." + }, + "CoreDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the core definition version for this group." + }, + "DeviceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the device definition version for this group." + }, + "FunctionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the function definition version for this group." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "LoggerDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the logger definition version for this group." + }, + "ResourceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the resource definition version for this group." + }, + "SubscriptionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the subscription definition version for this group." + } + }, + "required" : [ "GroupId" ] + }, + "CreateGroupVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "LoggerDefinitionVersion", + "documentation" : "Information about the initial version of the logger definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the logger definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateLoggerDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + }, + "Loggers" : { + "shape" : "__listOfLogger", + "documentation" : "A list of loggers." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "CreateLoggerDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateResourceDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "ResourceDefinitionVersion", + "documentation" : "Information about the initial version of the resource definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the resource definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateResourceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateResourceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + }, + "Resources" : { + "shape" : "__listOfResource", + "documentation" : "A list of resources." + } + }, + "required" : [ "ResourceDefinitionId" ] + }, + "CreateResourceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "CreateSoftwareUpdateJobRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "S3UrlSignerRole" : { + "shape" : "S3UrlSignerRole" + }, + "SoftwareToUpdate" : { + "shape" : "SoftwareToUpdate" + }, + "UpdateAgentLogLevel" : { + "shape" : "UpdateAgentLogLevel" + }, + "UpdateTargets" : { + "shape" : "UpdateTargets" + }, + "UpdateTargetsArchitecture" : { + "shape" : "UpdateTargetsArchitecture" + }, + "UpdateTargetsOperatingSystem" : { + "shape" : "UpdateTargetsOperatingSystem" + } + }, + "required" : [ "S3UrlSignerRole", "UpdateTargetsArchitecture", "SoftwareToUpdate", "UpdateTargets", "UpdateTargetsOperatingSystem" ] + }, + "CreateSoftwareUpdateJobResponse" : { + "type" : "structure", + "members" : { + "IotJobArn" : { + "shape" : "__string", + "documentation" : "The IoT Job ARN corresponding to this update." + }, + "IotJobId" : { + "shape" : "__string", + "documentation" : "The IoT Job Id corresponding to this update." + }, + "PlatformSoftwareVersion" : { + "shape" : "__string", + "documentation" : "The software version installed on the device or devices after the update." + } + } + }, + "CreateSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "InitialVersion" : { + "shape" : "SubscriptionDefinitionVersion", + "documentation" : "Information about the initial version of the subscription definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the subscription definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + } + }, + "CreateSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + } + }, + "CreateSubscriptionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + }, + "Subscriptions" : { + "shape" : "__listOfSubscription", + "documentation" : "A list of subscriptions." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "CreateSubscriptionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + } + }, + "DefinitionInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "Tags" : { + "shape" : "Tags", + "locationName" : "tags", + "documentation" : "Tag(s) attached to the resource arn." + } + }, + "documentation" : "Information about a definition." + }, + "DeleteConnectorDefinitionRequest" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + } + }, + "required" : [ "ConnectorDefinitionId" ] + }, + "DeleteConnectorDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "DeleteCoreDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "DeleteDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "DeleteFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "DeleteGroupResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "DeleteLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteResourceDefinitionRequest" : { + "type" : "structure", + "members" : { + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + } + }, + "required" : [ "ResourceDefinitionId" ] + }, + "DeleteResourceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "DeleteSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "DeleteSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "Deployment" : { + "type" : "structure", + "members" : { + "CreatedAt" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the deployment was created." + }, + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the deployment." + }, + "DeploymentType" : { + "shape" : "DeploymentType", + "documentation" : "The type of the deployment." + }, + "GroupArn" : { + "shape" : "__string", + "documentation" : "The ARN of the group for this deployment." + } + }, + "documentation" : "Information about a deployment." + }, + "DeploymentType" : { + "type" : "string", + "documentation" : "The type of deployment. When used for ''CreateDeployment'', only ''NewDeployment'' and ''Redeployment'' are valid.", + "enum" : [ "NewDeployment", "Redeployment", "ResetDeployment", "ForceResetDeployment" ] + }, + "Deployments" : { + "type" : "list", + "member" : { + "shape" : "Deployment" + } + }, + "Device" : { + "type" : "structure", + "members" : { + "CertificateArn" : { + "shape" : "__string", + "documentation" : "The ARN of the certificate associated with the device." + }, + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''." + }, + "SyncShadow" : { + "shape" : "__boolean", + "documentation" : "If true, the device's local shadow will be automatically synced with the cloud." + }, + "ThingArn" : { + "shape" : "__string", + "documentation" : "The thing ARN of the device." + } + }, + "documentation" : "Information about a device.", + "required" : [ "ThingArn", "Id", "CertificateArn" ] + }, + "DeviceDefinitionVersion" : { + "type" : "structure", + "members" : { + "Devices" : { + "shape" : "__listOfDevice", + "documentation" : "A list of devices in the definition version." + } + }, + "documentation" : "Information about a device definition version." + }, + "DisassociateRoleFromGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "DisassociateRoleFromGroupResponse" : { + "type" : "structure", + "members" : { + "DisassociatedAt" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the role was disassociated from the group." + } + } + }, + "DisassociateServiceRoleFromAccountRequest" : { + "type" : "structure", + "members" : { } + }, + "DisassociateServiceRoleFromAccountResponse" : { + "type" : "structure", + "members" : { + "DisassociatedAt" : { + "shape" : "__string", + "documentation" : "The time when the service role was disassociated from the account." + } + } + }, + "Empty" : { + "type" : "structure", + "members" : { }, + "documentation" : "Empty" + }, + "EncodingType" : { + "type" : "string", + "enum" : [ "binary", "json" ] + }, + "ErrorDetail" : { + "type" : "structure", + "members" : { + "DetailedErrorCode" : { + "shape" : "__string", + "documentation" : "A detailed error code." + }, + "DetailedErrorMessage" : { + "shape" : "__string", + "documentation" : "A detailed error message." + } + }, + "documentation" : "Details about the error." + }, + "ErrorDetails" : { + "type" : "list", + "documentation" : "A list of error details.", + "member" : { + "shape" : "ErrorDetail" + } + }, + "Function" : { + "type" : "structure", + "members" : { + "FunctionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the Lambda function." + }, + "FunctionConfiguration" : { + "shape" : "FunctionConfiguration", + "documentation" : "The configuration of the Lambda function." + }, + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the function. This value must be unique within the function definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''." + } + }, + "documentation" : "Information about a Lambda function.", + "required" : [ "Id" ] + }, + "FunctionConfiguration" : { + "type" : "structure", + "members" : { + "EncodingType" : { + "shape" : "EncodingType", + "documentation" : "The expected encoding type of the input payload for the function. The default is ''json''." + }, + "Environment" : { + "shape" : "FunctionConfigurationEnvironment", + "documentation" : "The environment configuration of the function." + }, + "ExecArgs" : { + "shape" : "__string", + "documentation" : "The execution arguments." + }, + "Executable" : { + "shape" : "__string", + "documentation" : "The name of the function executable." + }, + "MemorySize" : { + "shape" : "__integer", + "documentation" : "The memory size, in KB, which the function requires. This setting is not applicable and should be cleared when you run the Lambda function without containerization." + }, + "Pinned" : { + "shape" : "__boolean", + "documentation" : "True if the function is pinned. Pinned means the function is long-lived and starts when the core starts." + }, + "Timeout" : { + "shape" : "__integer", + "documentation" : "The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned Lambda functions for each request." + } + }, + "documentation" : "The configuration of the Lambda function." + }, + "FunctionConfigurationEnvironment" : { + "type" : "structure", + "members" : { + "AccessSysfs" : { + "shape" : "__boolean", + "documentation" : "If true, the Lambda function is allowed to access the host's /sys folder. Use this when the Lambda function needs to read device information from /sys. This setting applies only when you run the Lambda function in a Greengrass container." + }, + "Execution" : { + "shape" : "FunctionExecutionConfig", + "documentation" : "Configuration related to executing the Lambda function" + }, + "ResourceAccessPolicies" : { + "shape" : "__listOfResourceAccessPolicy", + "documentation" : "A list of the resources, with their permissions, to which the Lambda function will be granted access. A Lambda function can have at most 10 resources. ResourceAccessPolicies apply only when you run the Lambda function in a Greengrass container." + }, + "Variables" : { + "shape" : "__mapOf__string", + "documentation" : "Environment variables for the Lambda function's configuration." + } + }, + "documentation" : "The environment configuration of the function." + }, + "FunctionDefaultConfig" : { + "type" : "structure", + "members" : { + "Execution" : { + "shape" : "FunctionDefaultExecutionConfig" + } + }, + "documentation" : "The default configuration that applies to all Lambda functions in the group. Individual Lambda functions can override these settings." + }, + "FunctionDefaultExecutionConfig" : { + "type" : "structure", + "members" : { + "IsolationMode" : { + "shape" : "FunctionIsolationMode" + }, + "RunAs" : { + "shape" : "FunctionRunAsConfig" + } + }, + "documentation" : "Configuration information that specifies how a Lambda function runs. " + }, + "FunctionDefinitionVersion" : { + "type" : "structure", + "members" : { + "DefaultConfig" : { + "shape" : "FunctionDefaultConfig", + "documentation" : "The default configuration that applies to all Lambda functions in this function definition version. Individual Lambda functions can override these settings." + }, + "Functions" : { + "shape" : "__listOfFunction", + "documentation" : "A list of Lambda functions in this function definition version." + } + }, + "documentation" : "Information about a function definition version." + }, + "FunctionExecutionConfig" : { + "type" : "structure", + "members" : { + "IsolationMode" : { + "shape" : "FunctionIsolationMode" + }, + "RunAs" : { + "shape" : "FunctionRunAsConfig" + } + }, + "documentation" : "Configuration information that specifies how a Lambda function runs. " + }, + "FunctionIsolationMode" : { + "type" : "string", + "documentation" : "Specifies whether the Lambda function runs in a Greengrass container (default) or without containerization. Unless your scenario requires that you run without containerization, we recommend that you run in a Greengrass container. Omit this value to run the Lambda function with the default containerization for the group.", + "enum" : [ "GreengrassContainer", "NoContainer" ] + }, + "FunctionRunAsConfig" : { + "type" : "structure", + "members" : { + "Gid" : { + "shape" : "__integer", + "documentation" : "The group ID whose permissions are used to run a Lambda function." + }, + "Uid" : { + "shape" : "__integer", + "documentation" : "The user ID whose permissions are used to run a Lambda function." + } + }, + "documentation" : "Specifies the user and group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values. We recommend that you avoid running as root unless absolutely necessary to minimize the risk of unintended changes or malicious attacks. To run as root, you must set ''IsolationMode'' to ''NoContainer'' and update config.json in ''greengrass-root/config'' to set ''allowFunctionsToRunAsRoot'' to ''yes''." + }, + "GeneralError" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Details about the error." + }, + "Message" : { + "shape" : "__string", + "documentation" : "A message containing information about the error." + } + }, + "documentation" : "General error information." + }, + "GetAssociatedRoleRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "GetAssociatedRoleResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "The time when the role was associated with the group." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of the role that is associated with the group." + } + } + }, + "GetBulkDeploymentStatusRequest" : { + "type" : "structure", + "members" : { + "BulkDeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "BulkDeploymentId", + "documentation" : "The ID of the bulk deployment." + } + }, + "required" : [ "BulkDeploymentId" ] + }, + "GetBulkDeploymentStatusResponse" : { + "type" : "structure", + "members" : { + "BulkDeploymentMetrics" : { + "shape" : "BulkDeploymentMetrics", + "documentation" : "Relevant metrics on input records processed during bulk deployment." + }, + "BulkDeploymentStatus" : { + "shape" : "BulkDeploymentStatus", + "documentation" : "The status of the bulk deployment." + }, + "CreatedAt" : { + "shape" : "__string", + "documentation" : "The time, in ISO format, when the deployment was created." + }, + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Error details" + }, + "ErrorMessage" : { + "shape" : "__string", + "documentation" : "Error message" + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetConnectivityInfoRequest" : { + "type" : "structure", + "members" : { + "ThingName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ThingName", + "documentation" : "The thing name." + } + }, + "required" : [ "ThingName" ] + }, + "GetConnectivityInfoResponse" : { + "type" : "structure", + "members" : { + "ConnectivityInfo" : { + "shape" : "__listOfConnectivityInfo", + "documentation" : "Connectivity info list." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "A message about the connectivity info request." + } + } + }, + "GetConnectorDefinitionRequest" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + } + }, + "required" : [ "ConnectorDefinitionId" ] + }, + "GetConnectorDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetConnectorDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + }, + "ConnectorDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionVersionId", + "documentation" : "The ID of the connector definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListConnectorDefinitionVersions'' requests. If the version is the last one that was associated with a connector definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "ConnectorDefinitionId", "ConnectorDefinitionVersionId" ] + }, + "GetConnectorDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the connector definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the connector definition version was created." + }, + "Definition" : { + "shape" : "ConnectorDefinitionVersion", + "documentation" : "Information about the connector definition version." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the connector definition version." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the connector definition version." + } + } + }, + "GetCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "GetCoreDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetCoreDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + }, + "CoreDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionVersionId", + "documentation" : "The ID of the core definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListCoreDefinitionVersions'' requests. If the version is the last one that was associated with a core definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + } + }, + "required" : [ "CoreDefinitionId", "CoreDefinitionVersionId" ] + }, + "GetCoreDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the core definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the core definition version was created." + }, + "Definition" : { + "shape" : "CoreDefinitionVersion", + "documentation" : "Information about the core definition version." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the core definition version." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the core definition version." + } + } + }, + "GetDeploymentStatusRequest" : { + "type" : "structure", + "members" : { + "DeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeploymentId", + "documentation" : "The ID of the deployment." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId", "DeploymentId" ] + }, + "GetDeploymentStatusResponse" : { + "type" : "structure", + "members" : { + "DeploymentStatus" : { + "shape" : "__string", + "documentation" : "The status of the deployment: ''InProgress'', ''Building'', ''Success'', or ''Failure''." + }, + "DeploymentType" : { + "shape" : "DeploymentType", + "documentation" : "The type of the deployment." + }, + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Error details" + }, + "ErrorMessage" : { + "shape" : "__string", + "documentation" : "Error message" + }, + "UpdatedAt" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the deployment status was updated." + } + } + }, + "GetDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "GetDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetDeviceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + }, + "DeviceDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionVersionId", + "documentation" : "The ID of the device definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListDeviceDefinitionVersions'' requests. If the version is the last one that was associated with a device definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "DeviceDefinitionVersionId", "DeviceDefinitionId" ] + }, + "GetDeviceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the device definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the device definition version was created." + }, + "Definition" : { + "shape" : "DeviceDefinitionVersion", + "documentation" : "Information about the device definition version." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the device definition version." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the device definition version." + } + } + }, + "GetFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "GetFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetFunctionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + }, + "FunctionDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionVersionId", + "documentation" : "The ID of the function definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListFunctionDefinitionVersions'' requests. If the version is the last one that was associated with a function definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "FunctionDefinitionId", "FunctionDefinitionVersionId" ] + }, + "GetFunctionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the function definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the function definition version was created." + }, + "Definition" : { + "shape" : "FunctionDefinitionVersion", + "documentation" : "Information on the definition." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the function definition version." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the function definition version." + } + } + }, + "GetGroupCertificateAuthorityRequest" : { + "type" : "structure", + "members" : { + "CertificateAuthorityId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CertificateAuthorityId", + "documentation" : "The ID of the certificate authority." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "CertificateAuthorityId", "GroupId" ] + }, + "GetGroupCertificateAuthorityResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "The ARN of the certificate authority for the group." + }, + "GroupCertificateAuthorityId" : { + "shape" : "__string", + "documentation" : "The ID of the certificate authority for the group." + }, + "PemEncodedCertificate" : { + "shape" : "__string", + "documentation" : "The PEM encoded certificate for the group." + } + } + }, + "GetGroupCertificateConfigurationRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "GetGroupCertificateConfigurationResponse" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "The ID of the group certificate configuration." + } + } + }, + "GetGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "GetGroupResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetGroupVersionRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "GroupVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupVersionId", + "documentation" : "The ID of the group version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListGroupVersions'' requests. If the version is the last one that was associated with a group, the value also maps to the ''LatestVersion'' property of the corresponding ''GroupInformation'' object." + } + }, + "required" : [ "GroupVersionId", "GroupId" ] + }, + "GetGroupVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the group version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the group version was created." + }, + "Definition" : { + "shape" : "GroupVersion", + "documentation" : "Information about the group version definition." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the group that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the group version." + } + } + }, + "GetLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "GetLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetLoggerDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + }, + "LoggerDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionVersionId", + "documentation" : "The ID of the logger definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListLoggerDefinitionVersions'' requests. If the version is the last one that was associated with a logger definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "LoggerDefinitionVersionId", "LoggerDefinitionId" ] + }, + "GetLoggerDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the logger definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the logger definition version was created." + }, + "Definition" : { + "shape" : "LoggerDefinitionVersion", + "documentation" : "Information about the logger definition version." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the logger definition version." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the logger definition version." + } + } + }, + "GetResourceDefinitionRequest" : { + "type" : "structure", + "members" : { + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + } + }, + "required" : [ "ResourceDefinitionId" ] + }, + "GetResourceDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetResourceDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + }, + "ResourceDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionVersionId", + "documentation" : "The ID of the resource definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListResourceDefinitionVersions'' requests. If the version is the last one that was associated with a resource definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + } + }, + "required" : [ "ResourceDefinitionVersionId", "ResourceDefinitionId" ] + }, + "GetResourceDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "Arn of the resource definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the resource definition version was created." + }, + "Definition" : { + "shape" : "ResourceDefinitionVersion", + "documentation" : "Information about the definition." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the resource definition version." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the resource definition version." + } + } + }, + "GetServiceRoleForAccountRequest" : { + "type" : "structure", + "members" : { } + }, + "GetServiceRoleForAccountResponse" : { + "type" : "structure", + "members" : { + "AssociatedAt" : { + "shape" : "__string", + "documentation" : "The time when the service role was associated with the account." + }, + "RoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of the role which is associated with the account." + } + } + }, + "GetSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "GetSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the definition." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the definition." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the definition was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the definition." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) attached to the resource arn." + } + } + }, + "GetSubscriptionDefinitionVersionRequest" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + }, + "SubscriptionDefinitionVersionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionVersionId", + "documentation" : "The ID of the subscription definition version. This value maps to the ''Version'' property of the corresponding ''VersionInformation'' object, which is returned by ''ListSubscriptionDefinitionVersions'' requests. If the version is the last one that was associated with a subscription definition, the value also maps to the ''LatestVersion'' property of the corresponding ''DefinitionInformation'' object." + } + }, + "required" : [ "SubscriptionDefinitionId", "SubscriptionDefinitionVersionId" ] + }, + "GetSubscriptionDefinitionVersionResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the subscription definition version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the subscription definition version was created." + }, + "Definition" : { + "shape" : "SubscriptionDefinitionVersion", + "documentation" : "Information about the subscription definition version." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the subscription definition version." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The version of the subscription definition version." + } + } + }, + "GroupCertificateAuthorityProperties" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorityArn" : { + "shape" : "__string", + "documentation" : "The ARN of the certificate authority for the group." + }, + "GroupCertificateAuthorityId" : { + "shape" : "__string", + "documentation" : "The ID of the certificate authority for the group." + } + }, + "documentation" : "Information about a certificate authority for a group." + }, + "GroupCertificateConfiguration" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "The ID of the group certificate configuration." + } + }, + "documentation" : "Information about a group certificate configuration." + }, + "GroupInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the group." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the group was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the group." + }, + "LastUpdatedTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the group was last updated." + }, + "LatestVersion" : { + "shape" : "__string", + "documentation" : "The ID of the latest version associated with the group." + }, + "LatestVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the latest version associated with the group." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the group." + } + }, + "documentation" : "Information about a group." + }, + "GroupOwnerSetting" : { + "type" : "structure", + "members" : { + "AutoAddGroupOwner" : { + "shape" : "__boolean", + "documentation" : "If true, AWS IoT Greengrass automatically adds the specified Linux OS group owner of the resource to the Lambda process privileges. Thus the Lambda process will have the file access permissions of the added Linux group." + }, + "GroupOwner" : { + "shape" : "__string", + "documentation" : "The name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional." + } + }, + "documentation" : "Group owner related settings for local resources." + }, + "GroupVersion" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the connector definition version for this group." + }, + "CoreDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the core definition version for this group." + }, + "DeviceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the device definition version for this group." + }, + "FunctionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the function definition version for this group." + }, + "LoggerDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the logger definition version for this group." + }, + "ResourceDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the resource definition version for this group." + }, + "SubscriptionDefinitionVersionArn" : { + "shape" : "__string", + "documentation" : "The ARN of the subscription definition version for this group." + } + }, + "documentation" : "Information about a group version." + }, + "InternalServerErrorException" : { + "type" : "structure", + "members" : { + "ErrorDetails" : { + "shape" : "ErrorDetails", + "documentation" : "Details about the error." + }, + "Message" : { + "shape" : "__string", + "documentation" : "A message containing information about the error." + } + }, + "documentation" : "General error information.", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "ListBulkDeploymentDetailedReportsRequest" : { + "type" : "structure", + "members" : { + "BulkDeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "BulkDeploymentId", + "documentation" : "The ID of the bulk deployment." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "BulkDeploymentId" ] + }, + "ListBulkDeploymentDetailedReportsResponse" : { + "type" : "structure", + "members" : { + "Deployments" : { + "shape" : "BulkDeploymentResults", + "documentation" : "A list of the individual group deployments in the bulk deployment operation." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListBulkDeploymentsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListBulkDeploymentsResponse" : { + "type" : "structure", + "members" : { + "BulkDeployments" : { + "shape" : "BulkDeployments", + "documentation" : "A list of bulk deployments." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListConnectorDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "ConnectorDefinitionId" ] + }, + "ListConnectorDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListConnectorDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListConnectorDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListCoreDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "ListCoreDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListCoreDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListCoreDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "documentation" : "A list of definitions." + }, + "ListDeploymentsRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "GroupId" ] + }, + "ListDeploymentsResponse" : { + "type" : "structure", + "members" : { + "Deployments" : { + "shape" : "Deployments", + "documentation" : "A list of deployments for the requested groups." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListDeviceDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "ListDeviceDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListDeviceDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListDeviceDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListFunctionDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "ListFunctionDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListFunctionDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListFunctionDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListGroupCertificateAuthoritiesRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "ListGroupCertificateAuthoritiesResponse" : { + "type" : "structure", + "members" : { + "GroupCertificateAuthorities" : { + "shape" : "__listOfGroupCertificateAuthorityProperties", + "documentation" : "A list of certificate authorities associated with the group." + } + } + }, + "ListGroupVersionsRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "GroupId" ] + }, + "ListGroupVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListGroupsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListGroupsResponse" : { + "type" : "structure", + "members" : { + "Groups" : { + "shape" : "__listOfGroupInformation", + "documentation" : "Information about a group." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListLoggerDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + }, + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "ListLoggerDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListLoggerDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListLoggerDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListResourceDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + } + }, + "required" : [ "ResourceDefinitionId" ] + }, + "ListResourceDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListResourceDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListResourceDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListSubscriptionDefinitionVersionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "ListSubscriptionDefinitionVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + } + }, + "ListSubscriptionDefinitionsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "MaxResults", + "documentation" : "The maximum number of results to be returned per request." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListSubscriptionDefinitionsResponse" : { + "type" : "structure", + "members" : { + "Definitions" : { + "shape" : "__listOfDefinitionInformation", + "documentation" : "Information about a definition." + }, + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + } + } + }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "tags" : { + "shape" : "Tags" + } + } + }, + "ListVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "documentation" : "The token for the next set of results, or ''null'' if there are no additional results." + }, + "Versions" : { + "shape" : "__listOfVersionInformation", + "documentation" : "Information about a version." + } + }, + "documentation" : "A list of versions." + }, + "LocalDeviceResourceData" : { + "type" : "structure", + "members" : { + "GroupOwnerSetting" : { + "shape" : "GroupOwnerSetting", + "documentation" : "Group/owner related settings for local resources." + }, + "SourcePath" : { + "shape" : "__string", + "documentation" : "The local absolute path of the device resource. The source path for a device resource can refer only to a character device or block device under ''/dev''." + } + }, + "documentation" : "Attributes that define a local device resource." + }, + "LocalVolumeResourceData" : { + "type" : "structure", + "members" : { + "DestinationPath" : { + "shape" : "__string", + "documentation" : "The absolute local path of the resource inside the Lambda environment." + }, + "GroupOwnerSetting" : { + "shape" : "GroupOwnerSetting", + "documentation" : "Allows you to configure additional group privileges for the Lambda process. This field is optional." + }, + "SourcePath" : { + "shape" : "__string", + "documentation" : "The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with ''/sys''." + } + }, + "documentation" : "Attributes that define a local volume resource." + }, + "Logger" : { + "type" : "structure", + "members" : { + "Component" : { + "shape" : "LoggerComponent", + "documentation" : "The component that will be subject to logging." + }, + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the logger. This value must be unique within the logger definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''." + }, + "Level" : { + "shape" : "LoggerLevel", + "documentation" : "The level of the logs." + }, + "Space" : { + "shape" : "__integer", + "documentation" : "The amount of file space, in KB, to use if the local file system is used for logging purposes." + }, + "Type" : { + "shape" : "LoggerType", + "documentation" : "The type of log output which will be used." + } + }, + "documentation" : "Information about a logger", + "required" : [ "Type", "Level", "Id", "Component" ] + }, + "LoggerComponent" : { + "type" : "string", + "enum" : [ "GreengrassSystem", "Lambda" ] + }, + "LoggerDefinitionVersion" : { + "type" : "structure", + "members" : { + "Loggers" : { + "shape" : "__listOfLogger", + "documentation" : "A list of loggers." + } + }, + "documentation" : "Information about a logger definition version." + }, + "LoggerLevel" : { + "type" : "string", + "enum" : [ "DEBUG", "INFO", "WARN", "ERROR", "FATAL" ] + }, + "LoggerType" : { + "type" : "string", + "enum" : [ "FileSystem", "AWSCloudWatch" ] + }, + "Permission" : { + "type" : "string", + "documentation" : "The type of permission a function has to access a resource.", + "enum" : [ "ro", "rw" ] + }, + "ResetDeploymentsRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "Force" : { + "shape" : "__boolean", + "documentation" : "If true, performs a best-effort only core reset." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "documentation" : "Information needed to reset deployments.", + "required" : [ "GroupId" ] + }, + "ResetDeploymentsResponse" : { + "type" : "structure", + "members" : { + "DeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the deployment." + }, + "DeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the deployment." + } + } + }, + "Resource" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string", + "documentation" : "The resource ID, used to refer to a resource in the Lambda function configuration. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The descriptive resource name, which is displayed on the AWS IoT Greengrass console. Max length 128 characters with pattern ''[a-zA-Z0-9:_-]+''. This must be unique within a Greengrass group." + }, + "ResourceDataContainer" : { + "shape" : "ResourceDataContainer", + "documentation" : "A container of data for all resource types." + } + }, + "documentation" : "Information about a resource.", + "required" : [ "ResourceDataContainer", "Id", "Name" ] + }, + "ResourceAccessPolicy" : { + "type" : "structure", + "members" : { + "Permission" : { + "shape" : "Permission", + "documentation" : "The permissions that the Lambda function has to the resource. Can be one of ''rw'' (read/write) or ''ro'' (read-only)." + }, + "ResourceId" : { + "shape" : "__string", + "documentation" : "The ID of the resource. (This ID is assigned to the resource when you create the resource definiton.)" + } + }, + "documentation" : "A policy used by the function to access a resource.", + "required" : [ "ResourceId" ] + }, + "ResourceDataContainer" : { + "type" : "structure", + "members" : { + "LocalDeviceResourceData" : { + "shape" : "LocalDeviceResourceData", + "documentation" : "Attributes that define the local device resource." + }, + "LocalVolumeResourceData" : { + "shape" : "LocalVolumeResourceData", + "documentation" : "Attributes that define the local volume resource." + }, + "S3MachineLearningModelResourceData" : { + "shape" : "S3MachineLearningModelResourceData", + "documentation" : "Attributes that define an Amazon S3 machine learning resource." + }, + "SageMakerMachineLearningModelResourceData" : { + "shape" : "SageMakerMachineLearningModelResourceData", + "documentation" : "Attributes that define an Amazon SageMaker machine learning resource." + }, + "SecretsManagerSecretResourceData" : { + "shape" : "SecretsManagerSecretResourceData", + "documentation" : "Attributes that define a secret resource, which references a secret from AWS Secrets Manager." + } + }, + "documentation" : "A container for resource data. The container takes only one of the following supported resource data types: ''LocalDeviceResourceData'', ''LocalVolumeResourceData'', ''SageMakerMachineLearningModelResourceData'', ''S3MachineLearningModelResourceData'', ''SecretsManagerSecretResourceData''." + }, + "ResourceDefinitionVersion" : { + "type" : "structure", + "members" : { + "Resources" : { + "shape" : "__listOfResource", + "documentation" : "A list of resources." + } + }, + "documentation" : "Information about a resource definition version." + }, + "ResourceDownloadOwnerSetting" : { + "type" : "structure", + "members" : { + "GroupOwner" : { + "shape" : "__string", + "documentation" : "The group owner of the resource. This is the name of an existing Linux OS group on the system or a GID. The group's permissions are added to the Lambda process." + }, + "GroupPermission" : { + "shape" : "Permission", + "documentation" : "The permissions that the group owner has to the resource. Valid values are ''rw'' (read/write) or ''ro'' (read-only)." + } + }, + "documentation" : "The owner setting for downloaded machine learning resources.", + "required" : [ "GroupOwner", "GroupPermission" ] + }, + "S3MachineLearningModelResourceData" : { + "type" : "structure", + "members" : { + "DestinationPath" : { + "shape" : "__string", + "documentation" : "The absolute local path of the resource inside the Lambda environment." + }, + "OwnerSetting" : { + "shape" : "ResourceDownloadOwnerSetting" + }, + "S3Uri" : { + "shape" : "__string", + "documentation" : "The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format." + } + }, + "documentation" : "Attributes that define an Amazon S3 machine learning resource." + }, + "S3UrlSignerRole" : { + "type" : "string", + "documentation" : "The IAM Role that Greengrass will use to create pre-signed URLs pointing towards the update artifact." + }, + "SageMakerMachineLearningModelResourceData" : { + "type" : "structure", + "members" : { + "DestinationPath" : { + "shape" : "__string", + "documentation" : "The absolute local path of the resource inside the Lambda environment." + }, + "OwnerSetting" : { + "shape" : "ResourceDownloadOwnerSetting" + }, + "SageMakerJobArn" : { + "shape" : "__string", + "documentation" : "The ARN of the Amazon SageMaker training job that represents the source model." + } + }, + "documentation" : "Attributes that define an Amazon SageMaker machine learning resource." + }, + "SecretsManagerSecretResourceData" : { + "type" : "structure", + "members" : { + "ARN" : { + "shape" : "__string", + "documentation" : "The ARN of the Secrets Manager secret to make available on the core. The value of the secret's latest version (represented by the ''AWSCURRENT'' staging label) is included by default." + }, + "AdditionalStagingLabelsToDownload" : { + "shape" : "__listOf__string", + "documentation" : "Optional. The staging labels whose values you want to make available on the core, in addition to ''AWSCURRENT''." + } + }, + "documentation" : "Attributes that define a secret resource, which references a secret from AWS Secrets Manager. AWS IoT Greengrass stores a local, encrypted copy of the secret on the Greengrass core, where it can be securely accessed by connectors and Lambda functions." + }, + "SoftwareToUpdate" : { + "type" : "string", + "documentation" : "The piece of software on the Greengrass core that will be updated.", + "enum" : [ "core", "ota_agent" ] + }, + "StartBulkDeploymentRequest" : { + "type" : "structure", + "members" : { + "AmznClientToken" : { + "shape" : "__string", + "location" : "header", + "locationName" : "X-Amzn-Client-Token", + "documentation" : "A client token used to correlate requests and responses." + }, + "ExecutionRoleArn" : { + "shape" : "__string", + "documentation" : "The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file." + }, + "InputFileUri" : { + "shape" : "__string", + "documentation" : "The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types." + }, + "tags" : { + "shape" : "Tags", + "documentation" : "Tag(s) to add to the new resource." + } + }, + "required" : [ "ExecutionRoleArn", "InputFileUri" ] + }, + "StartBulkDeploymentResponse" : { + "type" : "structure", + "members" : { + "BulkDeploymentArn" : { + "shape" : "__string", + "documentation" : "The ARN of the bulk deployment." + }, + "BulkDeploymentId" : { + "shape" : "__string", + "documentation" : "The ID of the bulk deployment." + } + } + }, + "StopBulkDeploymentRequest" : { + "type" : "structure", + "members" : { + "BulkDeploymentId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "BulkDeploymentId", + "documentation" : "The ID of the bulk deployment." + } + }, + "required" : [ "BulkDeploymentId" ] + }, + "StopBulkDeploymentResponse" : { + "type" : "structure", + "members" : { } + }, + "Subscription" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string", + "documentation" : "A descriptive or arbitrary ID for the subscription. This value must be unique within the subscription definition version. Max length is 128 characters with pattern ''[a-zA-Z0-9:_-]+''." + }, + "Source" : { + "shape" : "__string", + "documentation" : "The source of the subscription. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'." + }, + "Subject" : { + "shape" : "__string", + "documentation" : "The MQTT topic used to route the message." + }, + "Target" : { + "shape" : "__string", + "documentation" : "Where the message is sent to. Can be a thing ARN, a Lambda function ARN, a connector ARN, 'cloud' (which represents the AWS IoT cloud), or 'GGShadowService'." + } + }, + "documentation" : "Information about a subscription.", + "required" : [ "Target", "Id", "Subject", "Source" ] + }, + "SubscriptionDefinitionVersion" : { + "type" : "structure", + "members" : { + "Subscriptions" : { + "shape" : "__listOfSubscription", + "documentation" : "A list of subscriptions." + } + }, + "documentation" : "Information about a subscription definition version." + }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + }, + "tags" : { + "shape" : "Tags" + } + }, + "documentation" : "A map of the key-value pairs for the resource tag.", + "required" : [ "ResourceArn" ] + }, + "Tags" : { + "type" : "map", + "documentation" : "The key-value pair for the resource tag.", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource." + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "An array of tag keys to delete" + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, + "UpdateAgentLogLevel" : { + "type" : "string", + "documentation" : "The minimum level of log statements that should be logged by the OTA Agent during an update.", + "enum" : [ "NONE", "TRACE", "DEBUG", "VERBOSE", "INFO", "WARN", "ERROR", "FATAL" ] + }, + "UpdateConnectivityInfoRequest" : { + "type" : "structure", + "members" : { + "ConnectivityInfo" : { + "shape" : "__listOfConnectivityInfo", + "documentation" : "A list of connectivity info." + }, + "ThingName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ThingName", + "documentation" : "The thing name." + } + }, + "documentation" : "Connectivity information.", + "required" : [ "ThingName" ] + }, + "UpdateConnectivityInfoResponse" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "A message about the connectivity info update request." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The new version of the connectivity info." + } + } + }, + "UpdateConnectorDefinitionRequest" : { + "type" : "structure", + "members" : { + "ConnectorDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConnectorDefinitionId", + "documentation" : "The ID of the connector definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "ConnectorDefinitionId" ] + }, + "UpdateConnectorDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateCoreDefinitionRequest" : { + "type" : "structure", + "members" : { + "CoreDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "CoreDefinitionId", + "documentation" : "The ID of the core definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "CoreDefinitionId" ] + }, + "UpdateCoreDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateDeviceDefinitionRequest" : { + "type" : "structure", + "members" : { + "DeviceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "DeviceDefinitionId", + "documentation" : "The ID of the device definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "DeviceDefinitionId" ] + }, + "UpdateDeviceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateFunctionDefinitionRequest" : { + "type" : "structure", + "members" : { + "FunctionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "FunctionDefinitionId", + "documentation" : "The ID of the Lambda function definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "FunctionDefinitionId" ] + }, + "UpdateFunctionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateGroupCertificateConfigurationRequest" : { + "type" : "structure", + "members" : { + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + } + }, + "required" : [ "GroupId" ] + }, + "UpdateGroupCertificateConfigurationResponse" : { + "type" : "structure", + "members" : { + "CertificateAuthorityExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate authority expires, in milliseconds." + }, + "CertificateExpiryInMilliseconds" : { + "shape" : "__string", + "documentation" : "The amount of time remaining before the certificate expires, in milliseconds." + }, + "GroupId" : { + "shape" : "__string", + "documentation" : "The ID of the group certificate configuration." + } + } + }, + "UpdateGroupRequest" : { + "type" : "structure", + "members" : { + "GroupId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "GroupId", + "documentation" : "The ID of the Greengrass group." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "GroupId" ] + }, + "UpdateGroupResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateLoggerDefinitionRequest" : { + "type" : "structure", + "members" : { + "LoggerDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "LoggerDefinitionId", + "documentation" : "The ID of the logger definition." + }, + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + } + }, + "required" : [ "LoggerDefinitionId" ] + }, + "UpdateLoggerDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateResourceDefinitionRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "ResourceDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ResourceDefinitionId", + "documentation" : "The ID of the resource definition." + } + }, + "required" : [ "ResourceDefinitionId" ] + }, + "UpdateResourceDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateSubscriptionDefinitionRequest" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "documentation" : "The name of the definition." + }, + "SubscriptionDefinitionId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "SubscriptionDefinitionId", + "documentation" : "The ID of the subscription definition." + } + }, + "required" : [ "SubscriptionDefinitionId" ] + }, + "UpdateSubscriptionDefinitionResponse" : { + "type" : "structure", + "members" : { } + }, + "UpdateTargets" : { + "type" : "list", + "documentation" : "The ARNs of the targets (IoT things or IoT thing groups) that this update will be applied to.", + "member" : { + "shape" : "__string" + } + }, + "UpdateTargetsArchitecture" : { + "type" : "string", + "documentation" : "The architecture of the cores which are the targets of an update.", + "enum" : [ "armv6l", "armv7l", "x86_64", "aarch64" ] + }, + "UpdateTargetsOperatingSystem" : { + "type" : "string", + "documentation" : "The operating system of the cores which are the targets of an update.", + "enum" : [ "ubuntu", "raspbian", "amazon_linux", "openwrt" ] + }, + "VersionInformation" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "documentation" : "The ARN of the version." + }, + "CreationTimestamp" : { + "shape" : "__string", + "documentation" : "The time, in milliseconds since the epoch, when the version was created." + }, + "Id" : { + "shape" : "__string", + "documentation" : "The ID of the parent definition that the version is associated with." + }, + "Version" : { + "shape" : "__string", + "documentation" : "The ID of the version." + } + }, + "documentation" : "Information about a version." + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__listOfConnectivityInfo" : { + "type" : "list", + "member" : { + "shape" : "ConnectivityInfo" + } + }, + "__listOfConnector" : { + "type" : "list", + "member" : { + "shape" : "Connector" + } + }, + "__listOfCore" : { + "type" : "list", + "member" : { + "shape" : "Core" + } + }, + "__listOfDefinitionInformation" : { + "type" : "list", + "member" : { + "shape" : "DefinitionInformation" + } + }, + "__listOfDevice" : { + "type" : "list", + "member" : { + "shape" : "Device" + } + }, + "__listOfFunction" : { + "type" : "list", + "member" : { + "shape" : "Function" + } + }, + "__listOfGroupCertificateAuthorityProperties" : { + "type" : "list", + "member" : { + "shape" : "GroupCertificateAuthorityProperties" + } + }, + "__listOfGroupInformation" : { + "type" : "list", + "member" : { + "shape" : "GroupInformation" + } + }, + "__listOfLogger" : { + "type" : "list", + "member" : { + "shape" : "Logger" + } + }, + "__listOfResource" : { + "type" : "list", + "member" : { + "shape" : "Resource" + } + }, + "__listOfResourceAccessPolicy" : { + "type" : "list", + "member" : { + "shape" : "ResourceAccessPolicy" + } + }, + "__listOfSubscription" : { + "type" : "list", + "member" : { + "shape" : "Subscription" + } + }, + "__listOfVersionInformation" : { + "type" : "list", + "member" : { + "shape" : "VersionInformation" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "AWS IoT Greengrass seamlessly extends AWS onto physical devices so they can act locally on the data they generate, while still using the cloud for management, analytics, and durable storage. AWS IoT Greengrass ensures your devices can respond quickly to local events and operate with intermittent connectivity. AWS IoT Greengrass minimizes the cost of transmitting data to the cloud by allowing you to author AWS Lambda functions that execute locally." +} diff -Nru python-botocore-1.4.70/botocore/data/groundstation/2019-05-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/groundstation/2019-05-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/groundstation/2019-05-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/groundstation/2019-05-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListConfigs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "configList" + }, + "ListContacts": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "contactList" + }, + "ListDataflowEndpointGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "dataflowEndpointGroupList" + }, + "ListMissionProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "missionProfileList" + }, + "ListGroundStations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "groundStationList" + }, + "ListSatellites": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "satellites" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/groundstation/2019-05-23/service-2.json python-botocore-1.16.19+repack/botocore/data/groundstation/2019-05-23/service-2.json --- python-botocore-1.4.70/botocore/data/groundstation/2019-05-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/groundstation/2019-05-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2056 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-05-23", + "endpointPrefix":"groundstation", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Ground Station", + "serviceId":"GroundStation", + "signatureVersion":"v4", + "signingName":"groundstation", + "uid":"groundstation-2019-05-23" + }, + "operations":{ + "CancelContact":{ + "name":"CancelContact", + "http":{ + "method":"DELETE", + "requestUri":"/contact/{contactId}", + "responseCode":200 + }, + "input":{"shape":"CancelContactRequest"}, + "output":{"shape":"ContactIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Cancels a contact with a specified contact ID.

", + "idempotent":true + }, + "CreateConfig":{ + "name":"CreateConfig", + "http":{ + "method":"POST", + "requestUri":"/config", + "responseCode":200 + }, + "input":{"shape":"CreateConfigRequest"}, + "output":{"shape":"ConfigIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a Config with the specified configData parameters.

Only one type of configData can be specified.

" + }, + "CreateDataflowEndpointGroup":{ + "name":"CreateDataflowEndpointGroup", + "http":{ + "method":"POST", + "requestUri":"/dataflowEndpointGroup", + "responseCode":200 + }, + "input":{"shape":"CreateDataflowEndpointGroupRequest"}, + "output":{"shape":"DataflowEndpointGroupIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

The name field in each endpoint is used in your mission profile DataflowEndpointConfig to specify which endpoints to use during a contact.

When a contact uses multiple DataflowEndpointConfig objects, each Config must match a DataflowEndpoint in the same group.

" + }, + "CreateMissionProfile":{ + "name":"CreateMissionProfile", + "http":{ + "method":"POST", + "requestUri":"/missionprofile", + "responseCode":200 + }, + "input":{"shape":"CreateMissionProfileRequest"}, + "output":{"shape":"MissionProfileIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates a mission profile.

dataflowEdges is a list of lists of strings. Each lower level list of strings has two elements: a from ARN and a to ARN.

" + }, + "DeleteConfig":{ + "name":"DeleteConfig", + "http":{ + "method":"DELETE", + "requestUri":"/config/{configType}/{configId}", + "responseCode":200 + }, + "input":{"shape":"DeleteConfigRequest"}, + "output":{"shape":"ConfigIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a Config.

", + "idempotent":true + }, + "DeleteDataflowEndpointGroup":{ + "name":"DeleteDataflowEndpointGroup", + "http":{ + "method":"DELETE", + "requestUri":"/dataflowEndpointGroup/{dataflowEndpointGroupId}", + "responseCode":200 + }, + "input":{"shape":"DeleteDataflowEndpointGroupRequest"}, + "output":{"shape":"DataflowEndpointGroupIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a dataflow endpoint group.

", + "idempotent":true + }, + "DeleteMissionProfile":{ + "name":"DeleteMissionProfile", + "http":{ + "method":"DELETE", + "requestUri":"/missionprofile/{missionProfileId}", + "responseCode":200 + }, + "input":{"shape":"DeleteMissionProfileRequest"}, + "output":{"shape":"MissionProfileIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a mission profile.

", + "idempotent":true + }, + "DescribeContact":{ + "name":"DescribeContact", + "http":{ + "method":"GET", + "requestUri":"/contact/{contactId}", + "responseCode":200 + }, + "input":{"shape":"DescribeContactRequest"}, + "output":{"shape":"DescribeContactResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an existing contact.

" + }, + "GetConfig":{ + "name":"GetConfig", + "http":{ + "method":"GET", + "requestUri":"/config/{configType}/{configId}", + "responseCode":200 + }, + "input":{"shape":"GetConfigRequest"}, + "output":{"shape":"GetConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns Config information.

Only one Config response can be returned.

" + }, + "GetDataflowEndpointGroup":{ + "name":"GetDataflowEndpointGroup", + "http":{ + "method":"GET", + "requestUri":"/dataflowEndpointGroup/{dataflowEndpointGroupId}", + "responseCode":200 + }, + "input":{"shape":"GetDataflowEndpointGroupRequest"}, + "output":{"shape":"GetDataflowEndpointGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the dataflow endpoint group.

" + }, + "GetMinuteUsage":{ + "name":"GetMinuteUsage", + "http":{ + "method":"POST", + "requestUri":"/minute-usage", + "responseCode":200 + }, + "input":{"shape":"GetMinuteUsageRequest"}, + "output":{"shape":"GetMinuteUsageResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the number of minutes used by account.

" + }, + "GetMissionProfile":{ + "name":"GetMissionProfile", + "http":{ + "method":"GET", + "requestUri":"/missionprofile/{missionProfileId}", + "responseCode":200 + }, + "input":{"shape":"GetMissionProfileRequest"}, + "output":{"shape":"GetMissionProfileResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a mission profile.

" + }, + "GetSatellite":{ + "name":"GetSatellite", + "http":{ + "method":"GET", + "requestUri":"/satellite/{satelliteId}", + "responseCode":200 + }, + "input":{"shape":"GetSatelliteRequest"}, + "output":{"shape":"GetSatelliteResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a satellite.

" + }, + "ListConfigs":{ + "name":"ListConfigs", + "http":{ + "method":"GET", + "requestUri":"/config", + "responseCode":200 + }, + "input":{"shape":"ListConfigsRequest"}, + "output":{"shape":"ListConfigsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of Config objects.

" + }, + "ListContacts":{ + "name":"ListContacts", + "http":{ + "method":"POST", + "requestUri":"/contacts", + "responseCode":200 + }, + "input":{"shape":"ListContactsRequest"}, + "output":{"shape":"ListContactsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of contacts.

If statusList contains AVAILABLE, the request must include groundStation, missionprofileArn, and satelliteArn.

" + }, + "ListDataflowEndpointGroups":{ + "name":"ListDataflowEndpointGroups", + "http":{ + "method":"GET", + "requestUri":"/dataflowEndpointGroup", + "responseCode":200 + }, + "input":{"shape":"ListDataflowEndpointGroupsRequest"}, + "output":{"shape":"ListDataflowEndpointGroupsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of DataflowEndpoint groups.

" + }, + "ListGroundStations":{ + "name":"ListGroundStations", + "http":{ + "method":"GET", + "requestUri":"/groundstation", + "responseCode":200 + }, + "input":{"shape":"ListGroundStationsRequest"}, + "output":{"shape":"ListGroundStationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of ground stations.

" + }, + "ListMissionProfiles":{ + "name":"ListMissionProfiles", + "http":{ + "method":"GET", + "requestUri":"/missionprofile", + "responseCode":200 + }, + "input":{"shape":"ListMissionProfilesRequest"}, + "output":{"shape":"ListMissionProfilesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of mission profiles.

" + }, + "ListSatellites":{ + "name":"ListSatellites", + "http":{ + "method":"GET", + "requestUri":"/satellite", + "responseCode":200 + }, + "input":{"shape":"ListSatellitesRequest"}, + "output":{"shape":"ListSatellitesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of satellites.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of tags for a specified resource.

" + }, + "ReserveContact":{ + "name":"ReserveContact", + "http":{ + "method":"POST", + "requestUri":"/contact", + "responseCode":200 + }, + "input":{"shape":"ReserveContactRequest"}, + "output":{"shape":"ContactIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Reserves a contact using specified parameters.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Assigns a tag to a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deassigns a resource tag.

", + "idempotent":true + }, + "UpdateConfig":{ + "name":"UpdateConfig", + "http":{ + "method":"PUT", + "requestUri":"/config/{configType}/{configId}", + "responseCode":200 + }, + "input":{"shape":"UpdateConfigRequest"}, + "output":{"shape":"ConfigIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the Config used when scheduling contacts.

Updating a Config will not update the execution parameters for existing future contacts scheduled with this Config.

", + "idempotent":true + }, + "UpdateMissionProfile":{ + "name":"UpdateMissionProfile", + "http":{ + "method":"PUT", + "requestUri":"/missionprofile/{missionProfileId}", + "responseCode":200 + }, + "input":{"shape":"UpdateMissionProfileRequest"}, + "output":{"shape":"MissionProfileIdResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"DependencyException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates a mission profile.

Updating a mission profile will not update the execution parameters for existing future contacts.

", + "idempotent":true + } + }, + "shapes":{ + "AngleUnits":{ + "type":"string", + "enum":[ + "DEGREE_ANGLE", + "RADIAN" + ] + }, + "AntennaDownlinkConfig":{ + "type":"structure", + "required":["spectrumConfig"], + "members":{ + "spectrumConfig":{ + "shape":"SpectrumConfig", + "documentation":"

Object that describes a spectral Config.

" + } + }, + "documentation":"

Information about how AWS Ground Station should configure an antenna for downlink during a contact.

" + }, + "AntennaDownlinkDemodDecodeConfig":{ + "type":"structure", + "required":[ + "decodeConfig", + "demodulationConfig", + "spectrumConfig" + ], + "members":{ + "decodeConfig":{ + "shape":"DecodeConfig", + "documentation":"

Information about the decode Config.

" + }, + "demodulationConfig":{ + "shape":"DemodulationConfig", + "documentation":"

Information about the demodulation Config.

" + }, + "spectrumConfig":{ + "shape":"SpectrumConfig", + "documentation":"

Information about the spectral Config.

" + } + }, + "documentation":"

Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact.

" + }, + "AntennaUplinkConfig":{ + "type":"structure", + "required":[ + "spectrumConfig", + "targetEirp" + ], + "members":{ + "spectrumConfig":{ + "shape":"UplinkSpectrumConfig", + "documentation":"

Information about the uplink spectral Config.

" + }, + "targetEirp":{ + "shape":"Eirp", + "documentation":"

EIRP of the target.

" + } + }, + "documentation":"

Information about the uplink Config of an antenna.

" + }, + "BandwidthUnits":{ + "type":"string", + "enum":[ + "GHz", + "MHz", + "kHz" + ] + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CancelContactRequest":{ + "type":"structure", + "required":["contactId"], + "members":{ + "contactId":{ + "shape":"String", + "documentation":"

UUID of a contact.

", + "location":"uri", + "locationName":"contactId" + } + }, + "documentation":"

" + }, + "ConfigArn":{"type":"string"}, + "ConfigCapabilityType":{ + "type":"string", + "enum":[ + "antenna-downlink", + "antenna-downlink-demod-decode", + "antenna-uplink", + "dataflow-endpoint", + "tracking", + "uplink-echo" + ] + }, + "ConfigIdResponse":{ + "type":"structure", + "members":{ + "configArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a Config.

" + }, + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

" + } + }, + "documentation":"

" + }, + "ConfigList":{ + "type":"list", + "member":{"shape":"ConfigListItem"} + }, + "ConfigListItem":{ + "type":"structure", + "members":{ + "configArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a Config.

" + }, + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

" + }, + "name":{ + "shape":"String", + "documentation":"

Name of a Config.

" + } + }, + "documentation":"

An item in a list of Config objects.

" + }, + "ConfigTypeData":{ + "type":"structure", + "members":{ + "antennaDownlinkConfig":{ + "shape":"AntennaDownlinkConfig", + "documentation":"

Information about how AWS Ground Station should configure an antenna for downlink during a contact.

" + }, + "antennaDownlinkDemodDecodeConfig":{ + "shape":"AntennaDownlinkDemodDecodeConfig", + "documentation":"

Information about how AWS Ground Station should configure an antenna for downlink demod decode during a contact.

" + }, + "antennaUplinkConfig":{ + "shape":"AntennaUplinkConfig", + "documentation":"

Information about how AWS Ground Station should configure an antenna for uplink during a contact.

" + }, + "dataflowEndpointConfig":{ + "shape":"DataflowEndpointConfig", + "documentation":"

Information about the dataflow endpoint Config.

" + }, + "trackingConfig":{ + "shape":"TrackingConfig", + "documentation":"

Object that determines whether tracking should be used during a contact executed with this Config in the mission profile.

" + }, + "uplinkEchoConfig":{ + "shape":"UplinkEchoConfig", + "documentation":"

Information about an uplink echo Config.

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" + } + }, + "documentation":"

Object containing the parameters of a Config.

See the subtype definitions for what each type of Config contains.

" + }, + "ContactData":{ + "type":"structure", + "members":{ + "contactId":{ + "shape":"String", + "documentation":"

UUID of a contact.

" + }, + "contactStatus":{ + "shape":"ContactStatus", + "documentation":"

Status of a contact.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

End time of a contact.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

Error message of a contact.

" + }, + "groundStation":{ + "shape":"String", + "documentation":"

Name of a ground station.

" + }, + "maximumElevation":{ + "shape":"Elevation", + "documentation":"

Maximum elevation angle of a contact.

" + }, + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "postPassEndTime":{ + "shape":"Timestamp", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "prePassStartTime":{ + "shape":"Timestamp", + "documentation":"

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "region":{ + "shape":"String", + "documentation":"

Region of a contact.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

Start time of a contact.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a contact.

" + } + }, + "documentation":"

Data describing a contact.

" + }, + "ContactIdResponse":{ + "type":"structure", + "members":{ + "contactId":{ + "shape":"String", + "documentation":"

UUID of a contact.

" + } + }, + "documentation":"

" + }, + "ContactList":{ + "type":"list", + "member":{"shape":"ContactData"} + }, + "ContactStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "AWS_CANCELLED", + "CANCELLED", + "CANCELLING", + "COMPLETED", + "FAILED", + "FAILED_TO_SCHEDULE", + "PASS", + "POSTPASS", + "PREPASS", + "SCHEDULED", + "SCHEDULING" + ] + }, + "CreateConfigRequest":{ + "type":"structure", + "required":[ + "configData", + "name" + ], + "members":{ + "configData":{ + "shape":"ConfigTypeData", + "documentation":"

Parameters of a Config.

" + }, + "name":{ + "shape":"SafeName", + "documentation":"

Name of a Config.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a Config.

" + } + }, + "documentation":"

" + }, + "CreateDataflowEndpointGroupRequest":{ + "type":"structure", + "required":["endpointDetails"], + "members":{ + "endpointDetails":{ + "shape":"EndpointDetailsList", + "documentation":"

Endpoint details of each endpoint in the dataflow endpoint group.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags of a dataflow endpoint group.

" + } + }, + "documentation":"

" + }, + "CreateMissionProfileRequest":{ + "type":"structure", + "required":[ + "dataflowEdges", + "minimumViableContactDurationSeconds", + "name", + "trackingConfigArn" + ], + "members":{ + "contactPostPassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "dataflowEdges":{ + "shape":"DataflowEdgeList", + "documentation":"

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

" + }, + "minimumViableContactDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "name":{ + "shape":"SafeName", + "documentation":"

Name of a mission profile.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a mission profile.

" + }, + "trackingConfigArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a tracking Config.

" + } + }, + "documentation":"

" + }, + "Criticality":{ + "type":"string", + "enum":[ + "PREFERRED", + "REMOVED", + "REQUIRED" + ] + }, + "DataflowEdge":{ + "type":"list", + "member":{"shape":"ConfigArn"}, + "max":2, + "min":2 + }, + "DataflowEdgeList":{ + "type":"list", + "member":{"shape":"DataflowEdge"} + }, + "DataflowEndpoint":{ + "type":"structure", + "members":{ + "address":{ + "shape":"SocketAddress", + "documentation":"

Socket address of a dataflow endpoint.

" + }, + "name":{ + "shape":"SafeName", + "documentation":"

Name of a dataflow endpoint.

" + }, + "status":{ + "shape":"EndpointStatus", + "documentation":"

Status of a dataflow endpoint.

" + } + }, + "documentation":"

Information about a dataflow endpoint.

" + }, + "DataflowEndpointConfig":{ + "type":"structure", + "required":["dataflowEndpointName"], + "members":{ + "dataflowEndpointName":{ + "shape":"String", + "documentation":"

Name of a dataflow endpoint.

" + }, + "dataflowEndpointRegion":{ + "shape":"String", + "documentation":"

Region of a dataflow endpoint.

" + } + }, + "documentation":"

Information about the dataflow endpoint Config.

" + }, + "DataflowEndpointGroupArn":{"type":"string"}, + "DataflowEndpointGroupIdResponse":{ + "type":"structure", + "members":{ + "dataflowEndpointGroupId":{ + "shape":"String", + "documentation":"

UUID of a dataflow endpoint group.

" + } + }, + "documentation":"

" + }, + "DataflowEndpointGroupList":{ + "type":"list", + "member":{"shape":"DataflowEndpointListItem"} + }, + "DataflowEndpointListItem":{ + "type":"structure", + "members":{ + "dataflowEndpointGroupArn":{ + "shape":"DataflowEndpointGroupArn", + "documentation":"

ARN of a dataflow endpoint group.

" + }, + "dataflowEndpointGroupId":{ + "shape":"String", + "documentation":"

UUID of a dataflow endpoint group.

" + } + }, + "documentation":"

Item in a list of DataflowEndpoint groups.

" + }, + "DecodeConfig":{ + "type":"structure", + "required":["unvalidatedJSON"], + "members":{ + "unvalidatedJSON":{ + "shape":"JsonString", + "documentation":"

Unvalidated JSON of a decode Config.

" + } + }, + "documentation":"

Information about the decode Config.

" + }, + "DeleteConfigRequest":{ + "type":"structure", + "required":[ + "configId", + "configType" + ], + "members":{ + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

", + "location":"uri", + "locationName":"configId" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

", + "location":"uri", + "locationName":"configType" + } + }, + "documentation":"

" + }, + "DeleteDataflowEndpointGroupRequest":{ + "type":"structure", + "required":["dataflowEndpointGroupId"], + "members":{ + "dataflowEndpointGroupId":{ + "shape":"String", + "documentation":"

UUID of a dataflow endpoint group.

", + "location":"uri", + "locationName":"dataflowEndpointGroupId" + } + }, + "documentation":"

" + }, + "DeleteMissionProfileRequest":{ + "type":"structure", + "required":["missionProfileId"], + "members":{ + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

", + "location":"uri", + "locationName":"missionProfileId" + } + }, + "documentation":"

" + }, + "DemodulationConfig":{ + "type":"structure", + "required":["unvalidatedJSON"], + "members":{ + "unvalidatedJSON":{ + "shape":"JsonString", + "documentation":"

Unvalidated JSON of a demodulation Config.

" + } + }, + "documentation":"

Information about the demodulation Config.

" + }, + "DependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "parameterName":{ + "shape":"String", + "documentation":"

" + } + }, + "documentation":"

Dependency encountered an error.

", + "error":{"httpStatusCode":531}, + "exception":true, + "fault":true + }, + "DescribeContactRequest":{ + "type":"structure", + "required":["contactId"], + "members":{ + "contactId":{ + "shape":"String", + "documentation":"

UUID of a contact.

", + "location":"uri", + "locationName":"contactId" + } + }, + "documentation":"

" + }, + "DescribeContactResponse":{ + "type":"structure", + "members":{ + "contactId":{ + "shape":"String", + "documentation":"

UUID of a contact.

" + }, + "contactStatus":{ + "shape":"ContactStatus", + "documentation":"

Status of a contact.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

End time of a contact.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

Error message for a contact.

" + }, + "groundStation":{ + "shape":"String", + "documentation":"

Ground station for a contact.

" + }, + "maximumElevation":{ + "shape":"Elevation", + "documentation":"

Maximum elevation angle of a contact.

" + }, + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "postPassEndTime":{ + "shape":"Timestamp", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "prePassStartTime":{ + "shape":"Timestamp", + "documentation":"

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "region":{ + "shape":"String", + "documentation":"

Region of a contact.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

Start time of a contact.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a contact.

" + } + }, + "documentation":"

" + }, + "Double":{ + "type":"double", + "box":true + }, + "DurationInSeconds":{ + "type":"integer", + "max":21600, + "min":1 + }, + "Eirp":{ + "type":"structure", + "required":[ + "units", + "value" + ], + "members":{ + "units":{ + "shape":"EirpUnits", + "documentation":"

Units of an EIRP.

" + }, + "value":{ + "shape":"Double", + "documentation":"

Value of an EIRP.

" + } + }, + "documentation":"

Object that represents EIRP.

" + }, + "EirpUnits":{ + "type":"string", + "enum":["dBW"] + }, + "Elevation":{ + "type":"structure", + "required":[ + "unit", + "value" + ], + "members":{ + "unit":{ + "shape":"AngleUnits", + "documentation":"

Elevation angle units.

" + }, + "value":{ + "shape":"Double", + "documentation":"

Elevation angle value.

" + } + }, + "documentation":"

Elevation angle of the satellite in the sky during a contact.

" + }, + "EndpointDetails":{ + "type":"structure", + "members":{ + "endpoint":{ + "shape":"DataflowEndpoint", + "documentation":"

A dataflow endpoint.

" + }, + "securityDetails":{ + "shape":"SecurityDetails", + "documentation":"

Endpoint security details.

" + } + }, + "documentation":"

Information about the endpoint details.

" + }, + "EndpointDetailsList":{ + "type":"list", + "member":{"shape":"EndpointDetails"} + }, + "EndpointStatus":{ + "type":"string", + "enum":[ + "created", + "creating", + "deleted", + "deleting", + "failed" + ] + }, + "Frequency":{ + "type":"structure", + "required":[ + "units", + "value" + ], + "members":{ + "units":{ + "shape":"FrequencyUnits", + "documentation":"

Frequency units.

" + }, + "value":{ + "shape":"Double", + "documentation":"

Frequency value.

" + } + }, + "documentation":"

Object that describes the frequency.

" + }, + "FrequencyBandwidth":{ + "type":"structure", + "required":[ + "units", + "value" + ], + "members":{ + "units":{ + "shape":"BandwidthUnits", + "documentation":"

Frequency bandwidth units.

" + }, + "value":{ + "shape":"Double", + "documentation":"

Frequency bandwidth value.

" + } + }, + "documentation":"

Object that describes the frequency bandwidth.

" + }, + "FrequencyUnits":{ + "type":"string", + "enum":[ + "GHz", + "MHz", + "kHz" + ] + }, + "GetConfigRequest":{ + "type":"structure", + "required":[ + "configId", + "configType" + ], + "members":{ + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

", + "location":"uri", + "locationName":"configId" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

", + "location":"uri", + "locationName":"configType" + } + }, + "documentation":"

" + }, + "GetConfigResponse":{ + "type":"structure", + "required":[ + "configArn", + "configData", + "configId", + "name" + ], + "members":{ + "configArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a Config

" + }, + "configData":{ + "shape":"ConfigTypeData", + "documentation":"

Data elements in a Config.

" + }, + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

" + }, + "name":{ + "shape":"String", + "documentation":"

Name of a Config.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a Config.

" + } + }, + "documentation":"

" + }, + "GetDataflowEndpointGroupRequest":{ + "type":"structure", + "required":["dataflowEndpointGroupId"], + "members":{ + "dataflowEndpointGroupId":{ + "shape":"String", + "documentation":"

UUID of a dataflow endpoint group.

", + "location":"uri", + "locationName":"dataflowEndpointGroupId" + } + }, + "documentation":"

" + }, + "GetDataflowEndpointGroupResponse":{ + "type":"structure", + "members":{ + "dataflowEndpointGroupArn":{ + "shape":"DataflowEndpointGroupArn", + "documentation":"

ARN of a dataflow endpoint group.

" + }, + "dataflowEndpointGroupId":{ + "shape":"String", + "documentation":"

UUID of a dataflow endpoint group.

" + }, + "endpointsDetails":{ + "shape":"EndpointDetailsList", + "documentation":"

Details of a dataflow endpoint.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a dataflow endpoint group.

" + } + }, + "documentation":"

" + }, + "GetMinuteUsageRequest":{ + "type":"structure", + "required":[ + "month", + "year" + ], + "members":{ + "month":{ + "shape":"Integer", + "documentation":"

The month being requested, with a value of 1-12.

" + }, + "year":{ + "shape":"Integer", + "documentation":"

The year being requested, in the format of YYYY.

" + } + }, + "documentation":"

" + }, + "GetMinuteUsageResponse":{ + "type":"structure", + "members":{ + "estimatedMinutesRemaining":{ + "shape":"Integer", + "documentation":"

Estimated number of minutes remaining for an account, specific to the month being requested.

" + }, + "isReservedMinutesCustomer":{ + "shape":"Boolean", + "documentation":"

Returns whether or not an account has signed up for the reserved minutes pricing plan, specific to the month being requested.

" + }, + "totalReservedMinuteAllocation":{ + "shape":"Integer", + "documentation":"

Total number of reserved minutes allocated, specific to the month being requested.

" + }, + "totalScheduledMinutes":{ + "shape":"Integer", + "documentation":"

Total scheduled minutes for an account, specific to the month being requested.

" + }, + "upcomingMinutesScheduled":{ + "shape":"Integer", + "documentation":"

Upcoming minutes scheduled for an account, specific to the month being requested.

" + } + }, + "documentation":"

" + }, + "GetMissionProfileRequest":{ + "type":"structure", + "required":["missionProfileId"], + "members":{ + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

", + "location":"uri", + "locationName":"missionProfileId" + } + }, + "documentation":"

" + }, + "GetMissionProfileResponse":{ + "type":"structure", + "members":{ + "contactPostPassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

" + }, + "dataflowEdges":{ + "shape":"DataflowEdgeList", + "documentation":"

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

" + }, + "minimumViableContactDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

" + }, + "name":{ + "shape":"String", + "documentation":"

Name of a mission profile.

" + }, + "region":{ + "shape":"String", + "documentation":"

Region of a mission profile.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a mission profile.

" + }, + "trackingConfigArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a tracking Config.

" + } + }, + "documentation":"

" + }, + "GetSatelliteRequest":{ + "type":"structure", + "required":["satelliteId"], + "members":{ + "satelliteId":{ + "shape":"String", + "documentation":"

UUID of a satellite.

", + "location":"uri", + "locationName":"satelliteId" + } + }, + "documentation":"

" + }, + "GetSatelliteResponse":{ + "type":"structure", + "members":{ + "groundStations":{ + "shape":"GroundStationIdList", + "documentation":"

A list of ground stations to which the satellite is on-boarded.

" + }, + "noradSatelliteID":{ + "shape":"noradSatelliteID", + "documentation":"

NORAD satellite ID number.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite.

" + }, + "satelliteId":{ + "shape":"Uuid", + "documentation":"

UUID of a satellite.

" + } + }, + "documentation":"

" + }, + "GroundStationData":{ + "type":"structure", + "members":{ + "groundStationId":{ + "shape":"String", + "documentation":"

UUID of a ground station.

" + }, + "groundStationName":{ + "shape":"String", + "documentation":"

Name of a ground station.

" + }, + "region":{ + "shape":"String", + "documentation":"

Ground station Region.

" + } + }, + "documentation":"

Information about the ground station data.

" + }, + "GroundStationIdList":{ + "type":"list", + "member":{"shape":"String"} + }, + "GroundStationList":{ + "type":"list", + "member":{"shape":"GroundStationData"} + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "parameterName":{ + "shape":"String", + "documentation":"

" + } + }, + "documentation":"

One or more parameters are not valid.

", + "error":{ + "httpStatusCode":431, + "senderFault":true + }, + "exception":true + }, + "JsonString":{ + "type":"string", + "max":8192, + "min":2, + "pattern":"^[{}\\[\\]:.,\"0-9A-z\\-_\\s]{2,8192}$" + }, + "ListConfigsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of Configs returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the request of a previous ListConfigs call. Used to get the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

" + }, + "ListConfigsResponse":{ + "type":"structure", + "members":{ + "configList":{ + "shape":"ConfigList", + "documentation":"

List of Config items.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the response of a previous ListConfigs call. Used to get the next page of results.

" + } + }, + "documentation":"

" + }, + "ListContactsRequest":{ + "type":"structure", + "required":[ + "endTime", + "startTime", + "statusList" + ], + "members":{ + "endTime":{ + "shape":"Timestamp", + "documentation":"

End time of a contact.

" + }, + "groundStation":{ + "shape":"String", + "documentation":"

Name of a ground station.

" + }, + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of contacts returned.

" + }, + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the request of a previous ListContacts call. Used to get the next page of results.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

Start time of a contact.

" + }, + "statusList":{ + "shape":"StatusList", + "documentation":"

Status of a contact reservation.

" + } + }, + "documentation":"

" + }, + "ListContactsResponse":{ + "type":"structure", + "members":{ + "contactList":{ + "shape":"ContactList", + "documentation":"

List of contacts.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the response of a previous ListContacts call. Used to get the next page of results.

" + } + }, + "documentation":"

" + }, + "ListDataflowEndpointGroupsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of dataflow endpoint groups returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the request of a previous ListDataflowEndpointGroups call. Used to get the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

" + }, + "ListDataflowEndpointGroupsResponse":{ + "type":"structure", + "members":{ + "dataflowEndpointGroupList":{ + "shape":"DataflowEndpointGroupList", + "documentation":"

A list of dataflow endpoint groups.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the response of a previous ListDataflowEndpointGroups call. Used to get the next page of results.

" + } + }, + "documentation":"

" + }, + "ListGroundStationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of ground stations returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token that can be supplied in the next call to get the next page of ground stations.

", + "location":"querystring", + "locationName":"nextToken" + }, + "satelliteId":{ + "shape":"String", + "documentation":"

Satellite ID to retrieve on-boarded ground stations.

", + "location":"querystring", + "locationName":"satelliteId" + } + }, + "documentation":"

" + }, + "ListGroundStationsResponse":{ + "type":"structure", + "members":{ + "groundStationList":{ + "shape":"GroundStationList", + "documentation":"

List of ground stations.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token that can be supplied in the next call to get the next page of ground stations.

" + } + }, + "documentation":"

" + }, + "ListMissionProfilesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of mission profiles returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the request of a previous ListMissionProfiles call. Used to get the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

" + }, + "ListMissionProfilesResponse":{ + "type":"structure", + "members":{ + "missionProfileList":{ + "shape":"MissionProfileList", + "documentation":"

List of mission profiles.

" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token returned in the response of a previous ListMissionProfiles call. Used to get the next page of results.

" + } + }, + "documentation":"

" + }, + "ListSatellitesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"Integer", + "documentation":"

Maximum number of satellites returned.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

Next token that can be supplied in the next call to get the next page of satellites.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

" + }, + "ListSatellitesResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

Next token that can be supplied in the next call to get the next page of satellites.

" + }, + "satellites":{ + "shape":"SatelliteList", + "documentation":"

List of satellites.

" + } + }, + "documentation":"

" + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

ARN of a resource.

", + "location":"uri", + "locationName":"resourceArn" + } + }, + "documentation":"

" + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a resource.

" + } + }, + "documentation":"

" + }, + "MissionProfileArn":{"type":"string"}, + "MissionProfileIdResponse":{ + "type":"structure", + "members":{ + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

" + } + }, + "documentation":"

" + }, + "MissionProfileList":{ + "type":"list", + "member":{"shape":"MissionProfileListItem"} + }, + "MissionProfileListItem":{ + "type":"structure", + "members":{ + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

" + }, + "name":{ + "shape":"String", + "documentation":"

Name of a mission profile.

" + }, + "region":{ + "shape":"String", + "documentation":"

Region of a mission profile.

" + } + }, + "documentation":"

Item in a list of mission profiles.

" + }, + "Polarization":{ + "type":"string", + "enum":[ + "LEFT_HAND", + "NONE", + "RIGHT_HAND" + ] + }, + "ReserveContactRequest":{ + "type":"structure", + "required":[ + "endTime", + "groundStation", + "missionProfileArn", + "satelliteArn", + "startTime" + ], + "members":{ + "endTime":{ + "shape":"Timestamp", + "documentation":"

End time of a contact.

" + }, + "groundStation":{ + "shape":"String", + "documentation":"

Name of a ground station.

" + }, + "missionProfileArn":{ + "shape":"MissionProfileArn", + "documentation":"

ARN of a mission profile.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

Start time of a contact.

" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a contact.

" + } + }, + "documentation":"

" + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "parameterName":{ + "shape":"String", + "documentation":"

" + } + }, + "documentation":"

Account limits for this resource have been exceeded.

", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Resource was not found.

", + "error":{ + "httpStatusCode":434, + "senderFault":true + }, + "exception":true + }, + "RoleArn":{"type":"string"}, + "SafeName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[ a-zA-Z0-9_:-]{1,256}$" + }, + "SatelliteList":{ + "type":"list", + "member":{"shape":"SatelliteListItem"} + }, + "SatelliteListItem":{ + "type":"structure", + "members":{ + "groundStations":{ + "shape":"GroundStationIdList", + "documentation":"

A list of ground stations to which the satellite is on-boarded.

" + }, + "noradSatelliteID":{ + "shape":"noradSatelliteID", + "documentation":"

NORAD satellite ID number.

" + }, + "satelliteArn":{ + "shape":"satelliteArn", + "documentation":"

ARN of a satellite.

" + }, + "satelliteId":{ + "shape":"Uuid", + "documentation":"

UUID of a satellite.

" + } + }, + "documentation":"

Item in a list of satellites.

" + }, + "SecurityDetails":{ + "type":"structure", + "required":[ + "roleArn", + "securityGroupIds", + "subnetIds" + ], + "members":{ + "roleArn":{ + "shape":"RoleArn", + "documentation":"

ARN to a role needed for connecting streams to your instances.

" + }, + "securityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

The security groups to attach to the elastic network interfaces.

" + }, + "subnetIds":{ + "shape":"SubnetList", + "documentation":"

A list of subnets where AWS Ground Station places elastic network interfaces to send streams to your instances.

" + } + }, + "documentation":"

Information about endpoints.

" + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SocketAddress":{ + "type":"structure", + "required":[ + "name", + "port" + ], + "members":{ + "name":{ + "shape":"String", + "documentation":"

Name of a socket address.

" + }, + "port":{ + "shape":"Integer", + "documentation":"

Port of a socket address.

" + } + }, + "documentation":"

Information about the socket address.

" + }, + "SpectrumConfig":{ + "type":"structure", + "required":[ + "bandwidth", + "centerFrequency" + ], + "members":{ + "bandwidth":{ + "shape":"FrequencyBandwidth", + "documentation":"

Bandwidth of a spectral Config.

" + }, + "centerFrequency":{ + "shape":"Frequency", + "documentation":"

Center frequency of a spectral Config.

" + }, + "polarization":{ + "shape":"Polarization", + "documentation":"

Polarization of a spectral Config.

" + } + }, + "documentation":"

Object that describes a spectral Config.

" + }, + "StatusList":{ + "type":"list", + "member":{"shape":"ContactStatus"} + }, + "String":{"type":"string"}, + "SubnetList":{ + "type":"list", + "member":{"shape":"String"} + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"String"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

ARN of a resource tag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"

Tags assigned to a resource.

" + } + }, + "documentation":"

" + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

" + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "Timestamp":{"type":"timestamp"}, + "TrackingConfig":{ + "type":"structure", + "required":["autotrack"], + "members":{ + "autotrack":{ + "shape":"Criticality", + "documentation":"

Current setting for autotrack.

" + } + }, + "documentation":"

Object that determines whether tracking should be used during a contact executed with this Config in the mission profile.

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

ARN of a resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

Keys of a resource tag.

", + "location":"querystring", + "locationName":"tagKeys" + } + }, + "documentation":"

" + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

" + }, + "UpdateConfigRequest":{ + "type":"structure", + "required":[ + "configData", + "configId", + "configType", + "name" + ], + "members":{ + "configData":{ + "shape":"ConfigTypeData", + "documentation":"

Parameters of a Config.

" + }, + "configId":{ + "shape":"String", + "documentation":"

UUID of a Config.

", + "location":"uri", + "locationName":"configId" + }, + "configType":{ + "shape":"ConfigCapabilityType", + "documentation":"

Type of a Config.

", + "location":"uri", + "locationName":"configType" + }, + "name":{ + "shape":"SafeName", + "documentation":"

Name of a Config.

" + } + }, + "documentation":"

" + }, + "UpdateMissionProfileRequest":{ + "type":"structure", + "required":["missionProfileId"], + "members":{ + "contactPostPassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "contactPrePassDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

" + }, + "dataflowEdges":{ + "shape":"DataflowEdgeList", + "documentation":"

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

" + }, + "minimumViableContactDurationSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

" + }, + "missionProfileId":{ + "shape":"String", + "documentation":"

UUID of a mission profile.

", + "location":"uri", + "locationName":"missionProfileId" + }, + "name":{ + "shape":"SafeName", + "documentation":"

Name of a mission profile.

" + }, + "trackingConfigArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of a tracking Config.

" + } + }, + "documentation":"

" + }, + "UplinkEchoConfig":{ + "type":"structure", + "required":[ + "antennaUplinkConfigArn", + "enabled" + ], + "members":{ + "antennaUplinkConfigArn":{ + "shape":"ConfigArn", + "documentation":"

ARN of an uplink Config.

" + }, + "enabled":{ + "shape":"Boolean", + "documentation":"

Whether or not an uplink Config is enabled.

" + } + }, + "documentation":"

Information about an uplink echo Config.

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" + }, + "UplinkSpectrumConfig":{ + "type":"structure", + "required":["centerFrequency"], + "members":{ + "centerFrequency":{ + "shape":"Frequency", + "documentation":"

Center frequency of an uplink spectral Config.

" + }, + "polarization":{ + "shape":"Polarization", + "documentation":"

Polarization of an uplink spectral Config.

" + } + }, + "documentation":"

Information about the uplink spectral Config.

" + }, + "Uuid":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + }, + "noradSatelliteID":{ + "type":"integer", + "max":99999, + "min":1 + }, + "satelliteArn":{"type":"string"} + }, + "documentation":"

Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that enables you to control satellite communications, downlink and process satellite data, and scale your satellite operations efficiently and cost-effectively without having to build or manage your own ground station infrastructure.

" +} diff -Nru python-botocore-1.4.70/botocore/data/guardduty/2017-11-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/guardduty/2017-11-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/guardduty/2017-11-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/guardduty/2017-11-28/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,52 @@ +{ + "pagination": { + "ListDetectors": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DetectorIds" + }, + "ListFindings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FindingIds" + }, + "ListIPSets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "IpSetIds" + }, + "ListThreatIntelSets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ThreatIntelSetIds" + }, + "ListInvitations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Invitations" + }, + "ListMembers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Members" + }, + "ListFilters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "FilterNames" + }, + "ListOrganizationAdminAccounts": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AdminAccounts" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/guardduty/2017-11-28/service-2.json python-botocore-1.16.19+repack/botocore/data/guardduty/2017-11-28/service-2.json --- python-botocore-1.4.70/botocore/data/guardduty/2017-11-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/guardduty/2017-11-28/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,4203 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-28", + "endpointPrefix":"guardduty", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon GuardDuty", + "serviceId":"GuardDuty", + "signatureVersion":"v4", + "signingName":"guardduty", + "uid":"guardduty-2017-11-28" + }, + "operations":{ + "AcceptInvitation":{ + "name":"AcceptInvitation", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/master", + "responseCode":200 + }, + "input":{"shape":"AcceptInvitationRequest"}, + "output":{"shape":"AcceptInvitationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Accepts the invitation to be monitored by a master GuardDuty account.

" + }, + "ArchiveFindings":{ + "name":"ArchiveFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/archive", + "responseCode":200 + }, + "input":{"shape":"ArchiveFindingsRequest"}, + "output":{"shape":"ArchiveFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Archives GuardDuty findings that are specified by the list of finding IDs.

Only the master account can archive findings. Member accounts don't have permission to archive findings from their accounts.

" + }, + "CreateDetector":{ + "name":"CreateDetector", + "http":{ + "method":"POST", + "requestUri":"/detector", + "responseCode":200 + }, + "input":{"shape":"CreateDetectorRequest"}, + "output":{"shape":"CreateDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a single Amazon GuardDuty detector. A detector is a resource that represents the GuardDuty service. To start using GuardDuty, you must create a detector in each Region where you enable the service. You can have only one detector per account per Region.

" + }, + "CreateFilter":{ + "name":"CreateFilter", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/filter", + "responseCode":200 + }, + "input":{"shape":"CreateFilterRequest"}, + "output":{"shape":"CreateFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a filter using the specified finding criteria.

" + }, + "CreateIPSet":{ + "name":"CreateIPSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/ipset", + "responseCode":200 + }, + "input":{"shape":"CreateIPSetRequest"}, + "output":{"shape":"CreateIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with AWS infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the master account can use this operation.

" + }, + "CreateMembers":{ + "name":"CreateMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member", + "responseCode":200 + }, + "input":{"shape":"CreateMembersRequest"}, + "output":{"shape":"CreateMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates member accounts of the current AWS account by specifying a list of AWS account IDs. The current AWS account can then invite these members to manage GuardDuty in their accounts.

" + }, + "CreatePublishingDestination":{ + "name":"CreatePublishingDestination", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/publishingDestination", + "responseCode":200 + }, + "input":{"shape":"CreatePublishingDestinationRequest"}, + "output":{"shape":"CreatePublishingDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a publishing destination to export findings to. The resource to export findings to must exist before you use this operation.

" + }, + "CreateSampleFindings":{ + "name":"CreateSampleFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/create", + "responseCode":200 + }, + "input":{"shape":"CreateSampleFindingsRequest"}, + "output":{"shape":"CreateSampleFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types.

" + }, + "CreateThreatIntelSet":{ + "name":"CreateThreatIntelSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/threatintelset", + "responseCode":200 + }, + "input":{"shape":"CreateThreatIntelSetRequest"}, + "output":{"shape":"CreateThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the master account can use this operation.

" + }, + "DeclineInvitations":{ + "name":"DeclineInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitation/decline", + "responseCode":200 + }, + "input":{"shape":"DeclineInvitationsRequest"}, + "output":{"shape":"DeclineInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Declines invitations sent to the current member account by AWS accounts specified by their account IDs.

" + }, + "DeleteDetector":{ + "name":"DeleteDetector", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"DeleteDetectorRequest"}, + "output":{"shape":"DeleteDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes an Amazon GuardDuty detector that is specified by the detector ID.

" + }, + "DeleteFilter":{ + "name":"DeleteFilter", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"DeleteFilterRequest"}, + "output":{"shape":"DeleteFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the filter specified by the filter name.

" + }, + "DeleteIPSet":{ + "name":"DeleteIPSet", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"DeleteIPSetRequest"}, + "output":{"shape":"DeleteIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the IPSet specified by the ipSetId. IPSets are called trusted IP lists in the console user interface.

" + }, + "DeleteInvitations":{ + "name":"DeleteInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitation/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteInvitationsRequest"}, + "output":{"shape":"DeleteInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes invitations sent to the current member account by AWS accounts specified by their account IDs.

" + }, + "DeleteMembers":{ + "name":"DeleteMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/delete", + "responseCode":200 + }, + "input":{"shape":"DeleteMembersRequest"}, + "output":{"shape":"DeleteMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "DeletePublishingDestination":{ + "name":"DeletePublishingDestination", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/publishingDestination/{destinationId}", + "responseCode":200 + }, + "input":{"shape":"DeletePublishingDestinationRequest"}, + "output":{"shape":"DeletePublishingDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the publishing definition with the specified destinationId.

" + }, + "DeleteThreatIntelSet":{ + "name":"DeleteThreatIntelSet", + "http":{ + "method":"DELETE", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"DeleteThreatIntelSetRequest"}, + "output":{"shape":"DeleteThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.

" + }, + "DescribeOrganizationConfiguration":{ + "name":"DescribeOrganizationConfiguration", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/admin", + "responseCode":200 + }, + "input":{"shape":"DescribeOrganizationConfigurationRequest"}, + "output":{"shape":"DescribeOrganizationConfigurationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns information about the account selected as the delegated administrator for GuardDuty.

" + }, + "DescribePublishingDestination":{ + "name":"DescribePublishingDestination", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/publishingDestination/{destinationId}", + "responseCode":200 + }, + "input":{"shape":"DescribePublishingDestinationRequest"}, + "output":{"shape":"DescribePublishingDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns information about the publishing destination specified by the provided destinationId.

" + }, + "DisableOrganizationAdminAccount":{ + "name":"DisableOrganizationAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/admin/disable", + "responseCode":200 + }, + "input":{"shape":"DisableOrganizationAdminAccountRequest"}, + "output":{"shape":"DisableOrganizationAdminAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disables an AWS account within the Organization as the GuardDuty delegated administrator.

" + }, + "DisassociateFromMasterAccount":{ + "name":"DisassociateFromMasterAccount", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/master/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateFromMasterAccountRequest"}, + "output":{"shape":"DisassociateFromMasterAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disassociates the current GuardDuty member account from its master account.

" + }, + "DisassociateMembers":{ + "name":"DisassociateMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/disassociate", + "responseCode":200 + }, + "input":{"shape":"DisassociateMembersRequest"}, + "output":{"shape":"DisassociateMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Disassociates GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "EnableOrganizationAdminAccount":{ + "name":"EnableOrganizationAdminAccount", + "http":{ + "method":"POST", + "requestUri":"/admin/enable", + "responseCode":200 + }, + "input":{"shape":"EnableOrganizationAdminAccountRequest"}, + "output":{"shape":"EnableOrganizationAdminAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Enables an AWS account within the organization as the GuardDuty delegated administrator.

" + }, + "GetDetector":{ + "name":"GetDetector", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"GetDetectorRequest"}, + "output":{"shape":"GetDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves an Amazon GuardDuty detector specified by the detectorId.

" + }, + "GetFilter":{ + "name":"GetFilter", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"GetFilterRequest"}, + "output":{"shape":"GetFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns the details of the filter specified by the filter name.

" + }, + "GetFindings":{ + "name":"GetFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/get", + "responseCode":200 + }, + "input":{"shape":"GetFindingsRequest"}, + "output":{"shape":"GetFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Describes Amazon GuardDuty findings specified by finding IDs.

" + }, + "GetFindingsStatistics":{ + "name":"GetFindingsStatistics", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/statistics", + "responseCode":200 + }, + "input":{"shape":"GetFindingsStatisticsRequest"}, + "output":{"shape":"GetFindingsStatisticsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists Amazon GuardDuty findings statistics for the specified detector ID.

" + }, + "GetIPSet":{ + "name":"GetIPSet", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"GetIPSetRequest"}, + "output":{"shape":"GetIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves the IPSet specified by the ipSetId.

" + }, + "GetInvitationsCount":{ + "name":"GetInvitationsCount", + "http":{ + "method":"GET", + "requestUri":"/invitation/count", + "responseCode":200 + }, + "input":{"shape":"GetInvitationsCountRequest"}, + "output":{"shape":"GetInvitationsCountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns the count of all GuardDuty membership invitations that were sent to the current member account except the currently accepted invitation.

" + }, + "GetMasterAccount":{ + "name":"GetMasterAccount", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/master", + "responseCode":200 + }, + "input":{"shape":"GetMasterAccountRequest"}, + "output":{"shape":"GetMasterAccountResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Provides the details for the GuardDuty master account associated with the current GuardDuty member account.

" + }, + "GetMembers":{ + "name":"GetMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/get", + "responseCode":200 + }, + "input":{"shape":"GetMembersRequest"}, + "output":{"shape":"GetMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

" + }, + "GetThreatIntelSet":{ + "name":"GetThreatIntelSet", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"GetThreatIntelSetRequest"}, + "output":{"shape":"GetThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

" + }, + "InviteMembers":{ + "name":"InviteMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/invite", + "responseCode":200 + }, + "input":{"shape":"InviteMembersRequest"}, + "output":{"shape":"InviteMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty, and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account.

" + }, + "ListDetectors":{ + "name":"ListDetectors", + "http":{ + "method":"GET", + "requestUri":"/detector", + "responseCode":200 + }, + "input":{"shape":"ListDetectorsRequest"}, + "output":{"shape":"ListDetectorsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

" + }, + "ListFilters":{ + "name":"ListFilters", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/filter", + "responseCode":200 + }, + "input":{"shape":"ListFiltersRequest"}, + "output":{"shape":"ListFiltersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns a paginated list of the current filters.

" + }, + "ListFindings":{ + "name":"ListFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings", + "responseCode":200 + }, + "input":{"shape":"ListFindingsRequest"}, + "output":{"shape":"ListFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists Amazon GuardDuty findings for the specified detector ID.

" + }, + "ListIPSets":{ + "name":"ListIPSets", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/ipset", + "responseCode":200 + }, + "input":{"shape":"ListIPSetsRequest"}, + "output":{"shape":"ListIPSetsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated master account.

" + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"GET", + "requestUri":"/invitation", + "responseCode":200 + }, + "input":{"shape":"ListInvitationsRequest"}, + "output":{"shape":"ListInvitationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists all GuardDuty membership invitations that were sent to the current AWS account.

" + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/member", + "responseCode":200 + }, + "input":{"shape":"ListMembersRequest"}, + "output":{"shape":"ListMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists details about associated member accounts for the current GuardDuty master account.

" + }, + "ListOrganizationAdminAccounts":{ + "name":"ListOrganizationAdminAccounts", + "http":{ + "method":"GET", + "requestUri":"/admin", + "responseCode":200 + }, + "input":{"shape":"ListOrganizationAdminAccountsRequest"}, + "output":{"shape":"ListOrganizationAdminAccountsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists the accounts configured as GuardDuty delegated administrators.

" + }, + "ListPublishingDestinations":{ + "name":"ListPublishingDestinations", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/publishingDestination", + "responseCode":200 + }, + "input":{"shape":"ListPublishingDestinationsRequest"}, + "output":{"shape":"ListPublishingDestinationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Returns a list of publishing destinations associated with the specified dectectorId.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and threat intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.

" + }, + "ListThreatIntelSets":{ + "name":"ListThreatIntelSets", + "http":{ + "method":"GET", + "requestUri":"/detector/{detectorId}/threatintelset", + "responseCode":200 + }, + "input":{"shape":"ListThreatIntelSetsRequest"}, + "output":{"shape":"ListThreatIntelSetsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Lists the ThreatIntelSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the ThreatIntelSets associated with the master account are returned.

" + }, + "StartMonitoringMembers":{ + "name":"StartMonitoringMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/start", + "responseCode":200 + }, + "input":{"shape":"StartMonitoringMembersRequest"}, + "output":{"shape":"StartMonitoringMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Turns on GuardDuty monitoring of the specified member accounts. Use this operation to restart monitoring of accounts that you stopped monitoring with the StopMonitoringMembers operation.

" + }, + "StopMonitoringMembers":{ + "name":"StopMonitoringMembers", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/member/stop", + "responseCode":200 + }, + "input":{"shape":"StopMonitoringMembersRequest"}, + "output":{"shape":"StopMonitoringMembersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers operation to restart monitoring for those accounts.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Adds tags to a resource.

" + }, + "UnarchiveFindings":{ + "name":"UnarchiveFindings", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/unarchive", + "responseCode":200 + }, + "input":{"shape":"UnarchiveFindingsRequest"}, + "output":{"shape":"UnarchiveFindingsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Unarchives GuardDuty findings specified by the findingIds.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Removes tags from a resource.

" + }, + "UpdateDetector":{ + "name":"UpdateDetector", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDetectorRequest"}, + "output":{"shape":"UpdateDetectorResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the Amazon GuardDuty detector specified by the detectorId.

" + }, + "UpdateFilter":{ + "name":"UpdateFilter", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/filter/{filterName}", + "responseCode":200 + }, + "input":{"shape":"UpdateFilterRequest"}, + "output":{"shape":"UpdateFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the filter specified by the filter name.

" + }, + "UpdateFindingsFeedback":{ + "name":"UpdateFindingsFeedback", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/findings/feedback", + "responseCode":200 + }, + "input":{"shape":"UpdateFindingsFeedbackRequest"}, + "output":{"shape":"UpdateFindingsFeedbackResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Marks the specified GuardDuty findings as useful or not useful.

" + }, + "UpdateIPSet":{ + "name":"UpdateIPSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/ipset/{ipSetId}", + "responseCode":200 + }, + "input":{"shape":"UpdateIPSetRequest"}, + "output":{"shape":"UpdateIPSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the IPSet specified by the IPSet ID.

" + }, + "UpdateOrganizationConfiguration":{ + "name":"UpdateOrganizationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/admin", + "responseCode":200 + }, + "input":{"shape":"UpdateOrganizationConfigurationRequest"}, + "output":{"shape":"UpdateOrganizationConfigurationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the delegated administrator account with the values provided.

" + }, + "UpdatePublishingDestination":{ + "name":"UpdatePublishingDestination", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/publishingDestination/{destinationId}", + "responseCode":200 + }, + "input":{"shape":"UpdatePublishingDestinationRequest"}, + "output":{"shape":"UpdatePublishingDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates information about the publishing destination specified by the destinationId.

" + }, + "UpdateThreatIntelSet":{ + "name":"UpdateThreatIntelSet", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/threatintelset/{threatIntelSetId}", + "responseCode":200 + }, + "input":{"shape":"UpdateThreatIntelSetRequest"}, + "output":{"shape":"UpdateThreatIntelSetResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

Updates the ThreatIntelSet specified by the ThreatIntelSet ID.

" + } + }, + "shapes":{ + "AcceptInvitationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "MasterId", + "InvitationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" + }, + "MasterId":{ + "shape":"String", + "documentation":"

The account ID of the master GuardDuty account whose invitation you're accepting.

", + "locationName":"masterId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

The value that is used to validate the master account to the member account.

", + "locationName":"invitationId" + } + } + }, + "AcceptInvitationResponse":{ + "type":"structure", + "members":{ + } + }, + "AccessKeyDetails":{ + "type":"structure", + "members":{ + "AccessKeyId":{ + "shape":"String", + "documentation":"

The access key ID of the user.

", + "locationName":"accessKeyId" + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

The principal ID of the user.

", + "locationName":"principalId" + }, + "UserName":{ + "shape":"String", + "documentation":"

The name of the user.

", + "locationName":"userName" + }, + "UserType":{ + "shape":"String", + "documentation":"

The type of the user.

", + "locationName":"userType" + } + }, + "documentation":"

Contains information about the access keys.

" + }, + "AccountDetail":{ + "type":"structure", + "required":[ + "AccountId", + "Email" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The member account ID.

", + "locationName":"accountId" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address of the member account.

", + "locationName":"email" + } + }, + "documentation":"

Contains information about the account.

" + }, + "AccountDetails":{ + "type":"list", + "member":{"shape":"AccountDetail"}, + "max":50, + "min":1 + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12 + }, + "AccountIds":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":50, + "min":1 + }, + "Action":{ + "type":"structure", + "members":{ + "ActionType":{ + "shape":"String", + "documentation":"

The GuardDuty finding activity type.

", + "locationName":"actionType" + }, + "AwsApiCallAction":{ + "shape":"AwsApiCallAction", + "documentation":"

Information about the AWS_API_CALL action described in this finding.

", + "locationName":"awsApiCallAction" + }, + "DnsRequestAction":{ + "shape":"DnsRequestAction", + "documentation":"

Information about the DNS_REQUEST action described in this finding.

", + "locationName":"dnsRequestAction" + }, + "NetworkConnectionAction":{ + "shape":"NetworkConnectionAction", + "documentation":"

Information about the NETWORK_CONNECTION action described in this finding.

", + "locationName":"networkConnectionAction" + }, + "PortProbeAction":{ + "shape":"PortProbeAction", + "documentation":"

Information about the PORT_PROBE action described in this finding.

", + "locationName":"portProbeAction" + } + }, + "documentation":"

Contains information about actions.

" + }, + "AdminAccount":{ + "type":"structure", + "members":{ + "AdminAccountId":{ + "shape":"String", + "documentation":"

The AWS account ID for the account.

", + "locationName":"adminAccountId" + }, + "AdminStatus":{ + "shape":"AdminStatus", + "documentation":"

Indicates whether the account is enabled as the delegated administrator.

", + "locationName":"adminStatus" + } + }, + "documentation":"

The account within the organization specified as the GuardDuty delegated administrator.

" + }, + "AdminAccounts":{ + "type":"list", + "member":{"shape":"AdminAccount"}, + "max":1, + "min":0 + }, + "AdminStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLE_IN_PROGRESS" + ], + "max":300, + "min":1 + }, + "ArchiveFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to archive.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings that you want to archive.

", + "locationName":"findingIds" + } + } + }, + "ArchiveFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "AwsApiCallAction":{ + "type":"structure", + "members":{ + "Api":{ + "shape":"String", + "documentation":"

The AWS API name.

", + "locationName":"api" + }, + "CallerType":{ + "shape":"String", + "documentation":"

The AWS API caller type.

", + "locationName":"callerType" + }, + "DomainDetails":{ + "shape":"DomainDetails", + "documentation":"

The domain information for the AWS API call.

", + "locationName":"domainDetails" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

The remote IP information of the connection.

", + "locationName":"remoteIpDetails" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The AWS service name whose API was invoked.

", + "locationName":"serviceName" + } + }, + "documentation":"

Contains information about the API operation.

" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + }, + "Type":{ + "shape":"String", + "documentation":"

The error type.

", + "locationName":"__type" + } + }, + "documentation":"

A bad request exception object.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "City":{ + "type":"structure", + "members":{ + "CityName":{ + "shape":"String", + "documentation":"

The city name of the remote IP address.

", + "locationName":"cityName" + } + }, + "documentation":"

Contains information about the city associated with the IP address.

" + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":0 + }, + "Condition":{ + "type":"structure", + "members":{ + "Eq":{ + "shape":"Eq", + "documentation":"

Represents the equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"eq" + }, + "Neq":{ + "shape":"Neq", + "documentation":"

Represents the not equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"neq" + }, + "Gt":{ + "shape":"Integer", + "documentation":"

Represents a greater than condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"gt" + }, + "Gte":{ + "shape":"Integer", + "documentation":"

Represents a greater than or equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"gte" + }, + "Lt":{ + "shape":"Integer", + "documentation":"

Represents a less than condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"lt" + }, + "Lte":{ + "shape":"Integer", + "documentation":"

Represents a less than or equal condition to be applied to a single field when querying for findings.

", + "deprecated":true, + "locationName":"lte" + }, + "Equals":{ + "shape":"Equals", + "documentation":"

Represents an equal condition to be applied to a single field when querying for findings.

", + "locationName":"equals" + }, + "NotEquals":{ + "shape":"NotEquals", + "documentation":"

Represents a not equal condition to be applied to a single field when querying for findings.

", + "locationName":"notEquals" + }, + "GreaterThan":{ + "shape":"Long", + "documentation":"

Represents a greater than condition to be applied to a single field when querying for findings.

", + "locationName":"greaterThan" + }, + "GreaterThanOrEqual":{ + "shape":"Long", + "documentation":"

Represents a greater than or equal condition to be applied to a single field when querying for findings.

", + "locationName":"greaterThanOrEqual" + }, + "LessThan":{ + "shape":"Long", + "documentation":"

Represents a less than condition to be applied to a single field when querying for findings.

", + "locationName":"lessThan" + }, + "LessThanOrEqual":{ + "shape":"Long", + "documentation":"

Represents a less than or equal condition to be applied to a single field when querying for findings.

", + "locationName":"lessThanOrEqual" + } + }, + "documentation":"

Contains information about the condition.

" + }, + "CountBySeverity":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Integer"} + }, + "Country":{ + "type":"structure", + "members":{ + "CountryCode":{ + "shape":"String", + "documentation":"

The country code of the remote IP address.

", + "locationName":"countryCode" + }, + "CountryName":{ + "shape":"String", + "documentation":"

The country name of the remote IP address.

", + "locationName":"countryName" + } + }, + "documentation":"

Contains information about the country where the remote IP address is located.

" + }, + "CreateDetectorRequest":{ + "type":"structure", + "required":["Enable"], + "members":{ + "Enable":{ + "shape":"Boolean", + "documentation":"

A Boolean value that specifies whether the detector is to be enabled.

", + "locationName":"enable" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

An enum value that specifies how frequently updated findings are exported.

", + "locationName":"findingPublishingFrequency" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new detector resource.

", + "locationName":"tags" + } + } + }, + "CreateDetectorResponse":{ + "type":"structure", + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the created detector.

", + "locationName":"detectorId" + } + } + }, + "CreateFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "FindingCriteria" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to create a filter for.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

You can only use the following attributes to query findings:

  • accountId

  • region

  • confidence

  • id

  • resource.accessKeyDetails.accessKeyId

  • resource.accessKeyDetails.principalId

  • resource.accessKeyDetails.userName

  • resource.accessKeyDetails.userType

  • resource.instanceDetails.iamInstanceProfile.id

  • resource.instanceDetails.imageId

  • resource.instanceDetails.instanceId

  • resource.instanceDetails.outpostArn

  • resource.instanceDetails.networkInterfaces.ipv6Addresses

  • resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress

  • resource.instanceDetails.networkInterfaces.publicDnsName

  • resource.instanceDetails.networkInterfaces.publicIp

  • resource.instanceDetails.networkInterfaces.securityGroups.groupId

  • resource.instanceDetails.networkInterfaces.securityGroups.groupName

  • resource.instanceDetails.networkInterfaces.subnetId

  • resource.instanceDetails.networkInterfaces.vpcId

  • resource.instanceDetails.tags.key

  • resource.instanceDetails.tags.value

  • resource.resourceType

  • service.action.actionType

  • service.action.awsApiCallAction.api

  • service.action.awsApiCallAction.callerType

  • service.action.awsApiCallAction.remoteIpDetails.city.cityName

  • service.action.awsApiCallAction.remoteIpDetails.country.countryName

  • service.action.awsApiCallAction.remoteIpDetails.ipAddressV4

  • service.action.awsApiCallAction.remoteIpDetails.organization.asn

  • service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg

  • service.action.awsApiCallAction.serviceName

  • service.action.dnsRequestAction.domain

  • service.action.networkConnectionAction.blocked

  • service.action.networkConnectionAction.connectionDirection

  • service.action.networkConnectionAction.localPortDetails.port

  • service.action.networkConnectionAction.protocol

  • service.action.networkConnectionAction.localIpDetails.ipAddressV4

  • service.action.networkConnectionAction.remoteIpDetails.city.cityName

  • service.action.networkConnectionAction.remoteIpDetails.country.countryName

  • service.action.networkConnectionAction.remoteIpDetails.ipAddressV4

  • service.action.networkConnectionAction.remoteIpDetails.organization.asn

  • service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg

  • service.action.networkConnectionAction.remotePortDetails.port

  • service.additionalInfo.threatListName

  • service.archived

    When this attribute is set to TRUE, only archived findings are listed. When it's set to FALSE, only unarchived findings are listed. When this attribute is not set, all existing findings are listed.

  • service.resourceRole

  • severity

  • type

  • updatedAt

    Type: ISO 8601 string format: YYYY-MM-DDTHH:MM:SS.SSSZ or YYYY-MM-DDTHH:MM:SSZ depending on whether the value contains milliseconds.

", + "locationName":"findingCriteria" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new filter resource.

", + "locationName":"tags" + } + } + }, + "CreateFilterResponse":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the successfully created filter.

", + "locationName":"name" + } + } + }, + "CreateIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "Format", + "Location", + "Activate" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to create an IPSet for.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The user-friendly name to identify the IPSet.

Allowed characters are alphanumerics, spaces, hyphens (-), and underscores (_).

", + "locationName":"name" + }, + "Format":{ + "shape":"IpSetFormat", + "documentation":"

The format of the file that contains the IPSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the IPSet.

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

A Boolean value that indicates whether GuardDuty is to start using the uploaded IPSet.

", + "locationName":"activate" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new IP set resource.

", + "locationName":"tags" + } + } + }, + "CreateIPSetResponse":{ + "type":"structure", + "required":["IpSetId"], + "members":{ + "IpSetId":{ + "shape":"String", + "documentation":"

The ID of the IPSet resource.

", + "locationName":"ipSetId" + } + } + }, + "CreateMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountDetails" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to associate member accounts with.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountDetails":{ + "shape":"AccountDetails", + "documentation":"

A list of account ID and email address pairs of the accounts that you want to associate with the master GuardDuty account.

", + "locationName":"accountDetails" + } + } + }, + "CreateMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that include the accountIds of the unprocessed accounts and a result string that explains why each was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "CreatePublishingDestinationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "DestinationType", + "DestinationProperties" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the GuardDuty detector associated with the publishing destination.

", + "location":"uri", + "locationName":"detectorId" + }, + "DestinationType":{ + "shape":"DestinationType", + "documentation":"

The type of resource for the publishing destination. Currently only Amazon S3 buckets are supported.

", + "locationName":"destinationType" + }, + "DestinationProperties":{ + "shape":"DestinationProperties", + "documentation":"

The properties of the publishing destination, including the ARNs for the destination and the KMS key used for encryption.

", + "locationName":"destinationProperties" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the request.

", + "idempotencyToken":true, + "locationName":"clientToken" + } + } + }, + "CreatePublishingDestinationResponse":{ + "type":"structure", + "required":["DestinationId"], + "members":{ + "DestinationId":{ + "shape":"String", + "documentation":"

The ID of the publishing destination that is created.

", + "locationName":"destinationId" + } + } + }, + "CreateSampleFindingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector to create sample findings for.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingTypes":{ + "shape":"FindingTypes", + "documentation":"

The types of sample findings to generate.

", + "locationName":"findingTypes" + } + } + }, + "CreateSampleFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "Name", + "Format", + "Location", + "Activate" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to create a threatIntelSet for.

", + "location":"uri", + "locationName":"detectorId" + }, + "Name":{ + "shape":"Name", + "documentation":"

A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"ThreatIntelSetFormat", + "documentation":"

The format of the file that contains the ThreatIntelSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the ThreatIntelSet.

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.

", + "locationName":"activate" + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token for the create request.

", + "idempotencyToken":true, + "locationName":"clientToken" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a new threat list resource.

", + "locationName":"tags" + } + } + }, + "CreateThreatIntelSetResponse":{ + "type":"structure", + "required":["ThreatIntelSetId"], + "members":{ + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The ID of the ThreatIntelSet resource.

", + "locationName":"threatIntelSetId" + } + } + }, + "Criterion":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"Condition"} + }, + "DeclineInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to decline invitations from.

", + "locationName":"accountIds" + } + } + }, + "DeclineInvitationsResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "DeleteDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that you want to delete.

", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "DeleteDetectorResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter that you want to delete.

", + "location":"uri", + "locationName":"filterName" + } + } + }, + "DeleteFilterResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector associated with the IPSet.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID of the IPSet to delete.

", + "location":"uri", + "locationName":"ipSetId" + } + } + }, + "DeleteIPSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the AWS accounts that sent invitations to the current member account that you want to delete invitations from.

", + "locationName":"accountIds" + } + } + }, + "DeleteInvitationsResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "DeleteMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to delete.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to delete.

", + "locationName":"accountIds" + } + } + }, + "DeleteMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

The accounts that could not be processed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "DeletePublishingDestinationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "DestinationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector associated with the publishing destination to delete.

", + "location":"uri", + "locationName":"detectorId" + }, + "DestinationId":{ + "shape":"String", + "documentation":"

The ID of the publishing destination to delete.

", + "location":"uri", + "locationName":"destinationId" + } + } + }, + "DeletePublishingDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID of the threatIntelSet that you want to delete.

", + "location":"uri", + "locationName":"threatIntelSetId" + } + } + }, + "DeleteThreatIntelSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeOrganizationConfigurationRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector to retrieve information about the delegated administrator from.

", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "DescribeOrganizationConfigurationResponse":{ + "type":"structure", + "required":[ + "AutoEnable", + "MemberAccountLimitReached" + ], + "members":{ + "AutoEnable":{ + "shape":"Boolean", + "documentation":"

Indicates whether GuardDuty is automatically enabled for accounts added to the organization.

", + "locationName":"autoEnable" + }, + "MemberAccountLimitReached":{ + "shape":"Boolean", + "documentation":"

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator master account.

", + "locationName":"memberAccountLimitReached" + } + } + }, + "DescribePublishingDestinationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "DestinationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector associated with the publishing destination to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "DestinationId":{ + "shape":"String", + "documentation":"

The ID of the publishing destination to retrieve.

", + "location":"uri", + "locationName":"destinationId" + } + } + }, + "DescribePublishingDestinationResponse":{ + "type":"structure", + "required":[ + "DestinationId", + "DestinationType", + "Status", + "PublishingFailureStartTimestamp", + "DestinationProperties" + ], + "members":{ + "DestinationId":{ + "shape":"String", + "documentation":"

The ID of the publishing destination.

", + "locationName":"destinationId" + }, + "DestinationType":{ + "shape":"DestinationType", + "documentation":"

The type of publishing destination. Currently, only Amazon S3 buckets are supported.

", + "locationName":"destinationType" + }, + "Status":{ + "shape":"PublishingStatus", + "documentation":"

The status of the publishing destination.

", + "locationName":"status" + }, + "PublishingFailureStartTimestamp":{ + "shape":"Long", + "documentation":"

The time, in epoch millisecond format, at which GuardDuty was first unable to publish findings to the destination.

", + "locationName":"publishingFailureStartTimestamp" + }, + "DestinationProperties":{ + "shape":"DestinationProperties", + "documentation":"

A DestinationProperties object that includes the DestinationArn and KmsKeyArn of the publishing destination.

", + "locationName":"destinationProperties" + } + } + }, + "Destination":{ + "type":"structure", + "required":[ + "DestinationId", + "DestinationType", + "Status" + ], + "members":{ + "DestinationId":{ + "shape":"String", + "documentation":"

The unique ID of the publishing destination.

", + "locationName":"destinationId" + }, + "DestinationType":{ + "shape":"DestinationType", + "documentation":"

The type of resource used for the publishing destination. Currently, only Amazon S3 buckets are supported.

", + "locationName":"destinationType" + }, + "Status":{ + "shape":"PublishingStatus", + "documentation":"

The status of the publishing destination.

", + "locationName":"status" + } + }, + "documentation":"

Contains information about the publishing destination, including the ID, type, and status.

" + }, + "DestinationProperties":{ + "type":"structure", + "members":{ + "DestinationArn":{ + "shape":"String", + "documentation":"

The ARN of the resource to publish to.

", + "locationName":"destinationArn" + }, + "KmsKeyArn":{ + "shape":"String", + "documentation":"

The ARN of the KMS key to use for encryption.

", + "locationName":"kmsKeyArn" + } + }, + "documentation":"

Contains the Amazon Resource Name (ARN) of the resource to publish to, such as an S3 bucket, and the ARN of the KMS key to use to encrypt published findings.

" + }, + "DestinationType":{ + "type":"string", + "enum":["S3"], + "max":300, + "min":1 + }, + "Destinations":{ + "type":"list", + "member":{"shape":"Destination"} + }, + "DetectorId":{ + "type":"string", + "max":300, + "min":1 + }, + "DetectorIds":{ + "type":"list", + "member":{"shape":"DetectorId"}, + "max":50, + "min":0 + }, + "DetectorStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ], + "max":300, + "min":1 + }, + "DisableOrganizationAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccountId"], + "members":{ + "AdminAccountId":{ + "shape":"String", + "documentation":"

The AWS Account ID for the organizations account to be disabled as a GuardDuty delegated administrator.

", + "locationName":"adminAccountId" + } + } + }, + "DisableOrganizationAdminAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateFromMasterAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "DisassociateFromMasterAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to disassociate from the master account.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to disassociate from the master account.

", + "locationName":"accountIds" + } + } + }, + "DisassociateMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "DnsRequestAction":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"String", + "documentation":"

The domain information for the API request.

", + "locationName":"domain" + } + }, + "documentation":"

Contains information about the DNS_REQUEST action described in this finding.

" + }, + "DomainDetails":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"String", + "documentation":"

The domain information for the AWS API call.

", + "locationName":"domain" + } + }, + "documentation":"

Contains information about the domain.

" + }, + "Double":{"type":"double"}, + "Email":{ + "type":"string", + "max":64, + "min":1 + }, + "EnableOrganizationAdminAccountRequest":{ + "type":"structure", + "required":["AdminAccountId"], + "members":{ + "AdminAccountId":{ + "shape":"String", + "documentation":"

The AWS Account ID for the organization account to be enabled as a GuardDuty delegated administrator.

", + "locationName":"adminAccountId" + } + } + }, + "EnableOrganizationAdminAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "Eq":{ + "type":"list", + "member":{"shape":"String"} + }, + "Equals":{ + "type":"list", + "member":{"shape":"String"} + }, + "Evidence":{ + "type":"structure", + "members":{ + "ThreatIntelligenceDetails":{ + "shape":"ThreatIntelligenceDetails", + "documentation":"

A list of threat intelligence details related to the evidence.

", + "locationName":"threatIntelligenceDetails" + } + }, + "documentation":"

Contains information about the reason that the finding was generated.

" + }, + "Feedback":{ + "type":"string", + "enum":[ + "USEFUL", + "NOT_USEFUL" + ] + }, + "FilterAction":{ + "type":"string", + "enum":[ + "NOOP", + "ARCHIVE" + ], + "max":300, + "min":1 + }, + "FilterDescription":{ + "type":"string", + "max":512, + "min":0 + }, + "FilterName":{ + "type":"string", + "max":64, + "min":3 + }, + "FilterNames":{ + "type":"list", + "member":{"shape":"FilterName"}, + "max":50, + "min":0 + }, + "FilterRank":{ + "type":"integer", + "max":100, + "min":1 + }, + "Finding":{ + "type":"structure", + "required":[ + "AccountId", + "Arn", + "CreatedAt", + "Id", + "Region", + "Resource", + "SchemaVersion", + "Severity", + "Type", + "UpdatedAt" + ], + "members":{ + "AccountId":{ + "shape":"String", + "documentation":"

The ID of the account in which the finding was generated.

", + "locationName":"accountId" + }, + "Arn":{ + "shape":"String", + "documentation":"

The ARN of the finding.

", + "locationName":"arn" + }, + "Confidence":{ + "shape":"Double", + "documentation":"

The confidence score for the finding.

", + "locationName":"confidence" + }, + "CreatedAt":{ + "shape":"String", + "documentation":"

The time and date when the finding was created.

", + "locationName":"createdAt" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the finding.

", + "locationName":"description" + }, + "Id":{ + "shape":"String", + "documentation":"

The ID of the finding.

", + "locationName":"id" + }, + "Partition":{ + "shape":"String", + "documentation":"

The partition associated with the finding.

", + "locationName":"partition" + }, + "Region":{ + "shape":"String", + "documentation":"

The Region where the finding was generated.

", + "locationName":"region" + }, + "Resource":{ + "shape":"Resource", + "locationName":"resource" + }, + "SchemaVersion":{ + "shape":"String", + "documentation":"

The version of the schema used for the finding.

", + "locationName":"schemaVersion" + }, + "Service":{ + "shape":"Service", + "locationName":"service" + }, + "Severity":{ + "shape":"Double", + "documentation":"

The severity of the finding.

", + "locationName":"severity" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the finding.

", + "locationName":"title" + }, + "Type":{ + "shape":"FindingType", + "documentation":"

The type of finding.

", + "locationName":"type" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

The time and date when the finding was last updated.

", + "locationName":"updatedAt" + } + }, + "documentation":"

Contains information about the finding, which is generated when abnormal or suspicious activity is detected.

" + }, + "FindingCriteria":{ + "type":"structure", + "members":{ + "Criterion":{ + "shape":"Criterion", + "documentation":"

Represents a map of finding properties that match specified conditions and values when querying findings.

", + "locationName":"criterion" + } + }, + "documentation":"

Contains information about the criteria used for querying findings.

" + }, + "FindingId":{ + "type":"string", + "max":300, + "min":1 + }, + "FindingIds":{ + "type":"list", + "member":{"shape":"FindingId"}, + "max":50, + "min":0 + }, + "FindingPublishingFrequency":{ + "type":"string", + "enum":[ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ] + }, + "FindingStatisticType":{ + "type":"string", + "enum":["COUNT_BY_SEVERITY"] + }, + "FindingStatisticTypes":{ + "type":"list", + "member":{"shape":"FindingStatisticType"}, + "max":10, + "min":0 + }, + "FindingStatistics":{ + "type":"structure", + "members":{ + "CountBySeverity":{ + "shape":"CountBySeverity", + "documentation":"

Represents a map of severity to count statistics for a set of findings.

", + "locationName":"countBySeverity" + } + }, + "documentation":"

Contains information about finding statistics.

" + }, + "FindingType":{ + "type":"string", + "max":50, + "min":1 + }, + "FindingTypes":{ + "type":"list", + "member":{"shape":"FindingType"}, + "max":50, + "min":0 + }, + "Findings":{ + "type":"list", + "member":{"shape":"Finding"}, + "max":50, + "min":0 + }, + "GeoLocation":{ + "type":"structure", + "members":{ + "Lat":{ + "shape":"Double", + "documentation":"

The latitude information of the remote IP address.

", + "locationName":"lat" + }, + "Lon":{ + "shape":"Double", + "documentation":"

The longitude information of the remote IP address.

", + "locationName":"lon" + } + }, + "documentation":"

Contains information about the location of the remote IP address.

" + }, + "GetDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that you want to get.

", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "GetDetectorResponse":{ + "type":"structure", + "required":[ + "ServiceRole", + "Status" + ], + "members":{ + "CreatedAt":{ + "shape":"String", + "documentation":"

The timestamp of when the detector was created.

", + "locationName":"createdAt" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

The publishing frequency of the finding.

", + "locationName":"findingPublishingFrequency" + }, + "ServiceRole":{ + "shape":"String", + "documentation":"

The GuardDuty service role.

", + "locationName":"serviceRole" + }, + "Status":{ + "shape":"DetectorStatus", + "documentation":"

The detector status.

", + "locationName":"status" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

The last-updated timestamp for the detector.

", + "locationName":"updatedAt" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the detector resource.

", + "locationName":"tags" + } + } + }, + "GetFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter you want to get.

", + "location":"uri", + "locationName":"filterName" + } + } + }, + "GetFilterResponse":{ + "type":"structure", + "required":[ + "Name", + "Action", + "FindingCriteria" + ], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

", + "locationName":"findingCriteria" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the filter resource.

", + "locationName":"tags" + } + } + }, + "GetFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings that you want to retrieve.

", + "locationName":"findingIds" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

Represents the criteria used for sorting findings.

", + "locationName":"sortCriteria" + } + } + }, + "GetFindingsResponse":{ + "type":"structure", + "required":["Findings"], + "members":{ + "Findings":{ + "shape":"Findings", + "documentation":"

A list of findings.

", + "locationName":"findings" + } + } + }, + "GetFindingsStatisticsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingStatisticTypes" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings' statistics you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingStatisticTypes":{ + "shape":"FindingStatisticTypes", + "documentation":"

The types of finding statistics to retrieve.

", + "locationName":"findingStatisticTypes" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria that is used for querying findings.

", + "locationName":"findingCriteria" + } + } + }, + "GetFindingsStatisticsResponse":{ + "type":"structure", + "required":["FindingStatistics"], + "members":{ + "FindingStatistics":{ + "shape":"FindingStatistics", + "documentation":"

The finding statistics object.

", + "locationName":"findingStatistics" + } + } + }, + "GetIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the IPSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID of the IPSet to retrieve.

", + "location":"uri", + "locationName":"ipSetId" + } + } + }, + "GetIPSetResponse":{ + "type":"structure", + "required":[ + "Name", + "Format", + "Location", + "Status" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

The user-friendly name for the IPSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"IpSetFormat", + "documentation":"

The format of the file that contains the IPSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the IPSet.

", + "locationName":"location" + }, + "Status":{ + "shape":"IpSetStatus", + "documentation":"

The status of IPSet file that was uploaded.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the IPSet resource.

", + "locationName":"tags" + } + } + }, + "GetInvitationsCountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetInvitationsCountResponse":{ + "type":"structure", + "members":{ + "InvitationsCount":{ + "shape":"Integer", + "documentation":"

The number of received invitations.

", + "locationName":"invitationsCount" + } + } + }, + "GetMasterAccountRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty member account.

", + "location":"uri", + "locationName":"detectorId" + } + } + }, + "GetMasterAccountResponse":{ + "type":"structure", + "required":["Master"], + "members":{ + "Master":{ + "shape":"Master", + "documentation":"

The master account details.

", + "locationName":"master" + } + } + }, + "GetMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account whose members you want to retrieve.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts that you want to describe.

", + "locationName":"accountIds" + } + } + }, + "GetMembersResponse":{ + "type":"structure", + "required":[ + "Members", + "UnprocessedAccounts" + ], + "members":{ + "Members":{ + "shape":"Members", + "documentation":"

A list of members.

", + "locationName":"members" + }, + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "GetThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID of the threatIntelSet that you want to get.

", + "location":"uri", + "locationName":"threatIntelSetId" + } + } + }, + "GetThreatIntelSetResponse":{ + "type":"structure", + "required":[ + "Name", + "Format", + "Location", + "Status" + ], + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

A user-friendly ThreatIntelSet name displayed in all findings that are generated by activity that involves IP addresses included in this ThreatIntelSet.

", + "locationName":"name" + }, + "Format":{ + "shape":"ThreatIntelSetFormat", + "documentation":"

The format of the threatIntelSet.

", + "locationName":"format" + }, + "Location":{ + "shape":"Location", + "documentation":"

The URI of the file that contains the ThreatIntelSet.

", + "locationName":"location" + }, + "Status":{ + "shape":"ThreatIntelSetStatus", + "documentation":"

The status of threatIntelSet file uploaded.

", + "locationName":"status" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags of the threat list resource.

", + "locationName":"tags" + } + } + }, + "GuardDutyArn":{ + "type":"string", + "pattern":"^arn:[A-Za-z_.-]{1,20}:guardduty:[A-Za-z0-9_/.-]{0,63}:\\d+:detector/[A-Za-z0-9_/.-]{32,264}$" + }, + "IamInstanceProfile":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The profile ARN of the EC2 instance.

", + "locationName":"arn" + }, + "Id":{ + "shape":"String", + "documentation":"

The profile ID of the EC2 instance.

", + "locationName":"id" + } + }, + "documentation":"

Contains information about the EC2 instance profile.

" + }, + "InstanceDetails":{ + "type":"structure", + "members":{ + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The Availability Zone of the EC2 instance.

", + "locationName":"availabilityZone" + }, + "IamInstanceProfile":{ + "shape":"IamInstanceProfile", + "documentation":"

The profile information of the EC2 instance.

", + "locationName":"iamInstanceProfile" + }, + "ImageDescription":{ + "shape":"String", + "documentation":"

The image description of the EC2 instance.

", + "locationName":"imageDescription" + }, + "ImageId":{ + "shape":"String", + "documentation":"

The image ID of the EC2 instance.

", + "locationName":"imageId" + }, + "InstanceId":{ + "shape":"String", + "documentation":"

The ID of the EC2 instance.

", + "locationName":"instanceId" + }, + "InstanceState":{ + "shape":"String", + "documentation":"

The state of the EC2 instance.

", + "locationName":"instanceState" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The type of the EC2 instance.

", + "locationName":"instanceType" + }, + "OutpostArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS Outposts instances.

", + "locationName":"outpostArn" + }, + "LaunchTime":{ + "shape":"String", + "documentation":"

The launch time of the EC2 instance.

", + "locationName":"launchTime" + }, + "NetworkInterfaces":{ + "shape":"NetworkInterfaces", + "documentation":"

The elastic network interface information of the EC2 instance.

", + "locationName":"networkInterfaces" + }, + "Platform":{ + "shape":"String", + "documentation":"

The platform of the EC2 instance.

", + "locationName":"platform" + }, + "ProductCodes":{ + "shape":"ProductCodes", + "documentation":"

The product code of the EC2 instance.

", + "locationName":"productCodes" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tags of the EC2 instance.

", + "locationName":"tags" + } + }, + "documentation":"

Contains information about the details of an instance.

" + }, + "Integer":{"type":"integer"}, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message.

", + "locationName":"message" + }, + "Type":{ + "shape":"String", + "documentation":"

The error type.

", + "locationName":"__type" + } + }, + "documentation":"

An internal server error exception object.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "Invitation":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account that the invitation was sent from.

", + "locationName":"accountId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

The ID of the invitation. This value is used to validate the inviter account to the member account.

", + "locationName":"invitationId" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the inviter and invitee accounts.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

The timestamp when the invitation was sent.

", + "locationName":"invitedAt" + } + }, + "documentation":"

Contains information about the invitation to become a member account.

" + }, + "Invitations":{ + "type":"list", + "member":{"shape":"Invitation"}, + "max":50, + "min":0 + }, + "InviteMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty account that you want to invite members with.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the accounts that you want to invite to GuardDuty as members.

", + "locationName":"accountIds" + }, + "DisableEmailNotification":{ + "shape":"Boolean", + "documentation":"

A Boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members.

", + "locationName":"disableEmailNotification" + }, + "Message":{ + "shape":"String", + "documentation":"

The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members.

", + "locationName":"message" + } + } + }, + "InviteMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "IpSetFormat":{ + "type":"string", + "enum":[ + "TXT", + "STIX", + "OTX_CSV", + "ALIEN_VAULT", + "PROOF_POINT", + "FIRE_EYE" + ], + "max":300, + "min":1 + }, + "IpSetIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":0 + }, + "IpSetStatus":{ + "type":"string", + "enum":[ + "INACTIVE", + "ACTIVATING", + "ACTIVE", + "DEACTIVATING", + "ERROR", + "DELETE_PENDING", + "DELETED" + ], + "max":300, + "min":1 + }, + "Ipv6Addresses":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListDetectorsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListDetectorsResponse":{ + "type":"structure", + "required":["DetectorIds"], + "members":{ + "DetectorIds":{ + "shape":"DetectorIds", + "documentation":"

A list of detector IDs.

", + "locationName":"detectorIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListFiltersRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the filter is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListFiltersResponse":{ + "type":"structure", + "required":["FilterNames"], + "members":{ + "FilterNames":{ + "shape":"FilterNames", + "documentation":"

A list of filter names.

", + "locationName":"filterNames" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListFindingsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector that specifies the GuardDuty service whose findings you want to list.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria used for querying findings. Valid values include:

  • JSON field name

  • accountId

  • region

  • confidence

  • id

  • resource.accessKeyDetails.accessKeyId

  • resource.accessKeyDetails.principalId

  • resource.accessKeyDetails.userName

  • resource.accessKeyDetails.userType

  • resource.instanceDetails.iamInstanceProfile.id

  • resource.instanceDetails.imageId

  • resource.instanceDetails.instanceId

  • resource.instanceDetails.outpostArn

  • resource.instanceDetails.networkInterfaces.ipv6Addresses

  • resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress

  • resource.instanceDetails.networkInterfaces.publicDnsName

  • resource.instanceDetails.networkInterfaces.publicIp

  • resource.instanceDetails.networkInterfaces.securityGroups.groupId

  • resource.instanceDetails.networkInterfaces.securityGroups.groupName

  • resource.instanceDetails.networkInterfaces.subnetId

  • resource.instanceDetails.networkInterfaces.vpcId

  • resource.instanceDetails.tags.key

  • resource.instanceDetails.tags.value

  • resource.resourceType

  • service.action.actionType

  • service.action.awsApiCallAction.api

  • service.action.awsApiCallAction.callerType

  • service.action.awsApiCallAction.remoteIpDetails.city.cityName

  • service.action.awsApiCallAction.remoteIpDetails.country.countryName

  • service.action.awsApiCallAction.remoteIpDetails.ipAddressV4

  • service.action.awsApiCallAction.remoteIpDetails.organization.asn

  • service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg

  • service.action.awsApiCallAction.serviceName

  • service.action.dnsRequestAction.domain

  • service.action.networkConnectionAction.blocked

  • service.action.networkConnectionAction.connectionDirection

  • service.action.networkConnectionAction.localPortDetails.port

  • service.action.networkConnectionAction.protocol

  • service.action.networkConnectionAction.localIpDetails.ipAddressV4

  • service.action.networkConnectionAction.remoteIpDetails.city.cityName

  • service.action.networkConnectionAction.remoteIpDetails.country.countryName

  • service.action.networkConnectionAction.remoteIpDetails.ipAddressV4

  • service.action.networkConnectionAction.remoteIpDetails.organization.asn

  • service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg

  • service.action.networkConnectionAction.remotePortDetails.port

  • service.additionalInfo.threatListName

  • service.archived

    When this attribute is set to 'true', only archived findings are listed. When it's set to 'false', only unarchived findings are listed. When this attribute is not set, all existing findings are listed.

  • service.resourceRole

  • severity

  • type

  • updatedAt

    Type: Timestamp in Unix Epoch millisecond format: 1486685375000

", + "locationName":"findingCriteria" + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

Represents the criteria used for sorting findings.

", + "locationName":"sortCriteria" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "locationName":"nextToken" + } + } + }, + "ListFindingsResponse":{ + "type":"structure", + "required":["FindingIds"], + "members":{ + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings that you're listing.

", + "locationName":"findingIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListIPSetsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the IPSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListIPSetsResponse":{ + "type":"structure", + "required":["IpSetIds"], + "members":{ + "IpSetIds":{ + "shape":"IpSetIds", + "documentation":"

The IDs of the IPSet resources.

", + "locationName":"ipSetIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListInvitationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListInvitationsResponse":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"Invitations", + "documentation":"

A list of invitation descriptions.

", + "locationName":"invitations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListMembersRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector the member is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + }, + "OnlyAssociated":{ + "shape":"String", + "documentation":"

Specifies what member accounts the response includes based on their relationship status with the master account. The default value is \"true\". If set to \"false\" the response includes all existing member accounts (including members who haven't been invited yet or have been disassociated).

", + "location":"querystring", + "locationName":"onlyAssociated" + } + } + }, + "ListMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"Members", + "documentation":"

A list of members.

", + "locationName":"members" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListOrganizationAdminAccountsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListOrganizationAdminAccountsResponse":{ + "type":"structure", + "members":{ + "AdminAccounts":{ + "shape":"AdminAccounts", + "documentation":"

An AdminAccounts object that includes a list of accounts configured as GuardDuty delegated administrators.

", + "locationName":"adminAccounts" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "ListPublishingDestinationsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector to retrieve publishing destinations for.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListPublishingDestinationsResponse":{ + "type":"structure", + "required":["Destinations"], + "members":{ + "Destinations":{ + "shape":"Destinations", + "documentation":"

A Destinations object that includes information about each publishing destination returned.

", + "locationName":"destinations" + }, + "NextToken":{ + "shape":"String", + "documentation":"

A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

", + "locationName":"nextToken" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the given GuardDuty resource.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags associated with the resource.

", + "locationName":"tags" + } + } + }, + "ListThreatIntelSetsRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that the threatIntelSet is associated with.

", + "location":"uri", + "locationName":"detectorId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

You can use this parameter to paginate results in the response. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListThreatIntelSetsResponse":{ + "type":"structure", + "required":["ThreatIntelSetIds"], + "members":{ + "ThreatIntelSetIds":{ + "shape":"ThreatIntelSetIds", + "documentation":"

The IDs of the ThreatIntelSet resources.

", + "locationName":"threatIntelSetIds" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The pagination parameter to be used on the next list operation to retrieve more items.

", + "locationName":"nextToken" + } + } + }, + "LocalIpDetails":{ + "type":"structure", + "members":{ + "IpAddressV4":{ + "shape":"String", + "documentation":"

The IPv4 local address of the connection.

", + "locationName":"ipAddressV4" + } + }, + "documentation":"

Contains information about the local IP address of the connection.

" + }, + "LocalPortDetails":{ + "type":"structure", + "members":{ + "Port":{ + "shape":"Integer", + "documentation":"

The port number of the local connection.

", + "locationName":"port" + }, + "PortName":{ + "shape":"String", + "documentation":"

The port name of the local connection.

", + "locationName":"portName" + } + }, + "documentation":"

Contains information about the port for the local connection.

" + }, + "Location":{ + "type":"string", + "max":300, + "min":1 + }, + "Long":{"type":"long"}, + "Master":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the account used as the master account.

", + "locationName":"accountId" + }, + "InvitationId":{ + "shape":"String", + "documentation":"

The value used to validate the master account to the member account.

", + "locationName":"invitationId" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the master and member accounts.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

The timestamp when the invitation was sent.

", + "locationName":"invitedAt" + } + }, + "documentation":"

Contains information about the master account and invitation.

" + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "Member":{ + "type":"structure", + "required":[ + "AccountId", + "MasterId", + "Email", + "RelationshipStatus", + "UpdatedAt" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The ID of the member account.

", + "locationName":"accountId" + }, + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detector ID of the member account.

", + "locationName":"detectorId" + }, + "MasterId":{ + "shape":"String", + "documentation":"

The master account ID.

", + "locationName":"masterId" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address of the member account.

", + "locationName":"email" + }, + "RelationshipStatus":{ + "shape":"String", + "documentation":"

The status of the relationship between the member and the master.

", + "locationName":"relationshipStatus" + }, + "InvitedAt":{ + "shape":"String", + "documentation":"

The timestamp when the invitation was sent.

", + "locationName":"invitedAt" + }, + "UpdatedAt":{ + "shape":"String", + "documentation":"

The last-updated timestamp of the member.

", + "locationName":"updatedAt" + } + }, + "documentation":"

Contains information about the member account.

" + }, + "Members":{ + "type":"list", + "member":{"shape":"Member"}, + "max":50, + "min":0 + }, + "Name":{ + "type":"string", + "max":300, + "min":1 + }, + "Neq":{ + "type":"list", + "member":{"shape":"String"} + }, + "NetworkConnectionAction":{ + "type":"structure", + "members":{ + "Blocked":{ + "shape":"Boolean", + "documentation":"

Indicates whether EC2 blocked the network connection to your instance.

", + "locationName":"blocked" + }, + "ConnectionDirection":{ + "shape":"String", + "documentation":"

The network connection direction.

", + "locationName":"connectionDirection" + }, + "LocalPortDetails":{ + "shape":"LocalPortDetails", + "documentation":"

The local port information of the connection.

", + "locationName":"localPortDetails" + }, + "Protocol":{ + "shape":"String", + "documentation":"

The network connection protocol.

", + "locationName":"protocol" + }, + "LocalIpDetails":{ + "shape":"LocalIpDetails", + "documentation":"

The local IP information of the connection.

", + "locationName":"localIpDetails" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

The remote IP information of the connection.

", + "locationName":"remoteIpDetails" + }, + "RemotePortDetails":{ + "shape":"RemotePortDetails", + "documentation":"

The remote port information of the connection.

", + "locationName":"remotePortDetails" + } + }, + "documentation":"

Contains information about the NETWORK_CONNECTION action described in the finding.

" + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "Ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

A list of IPv6 addresses for the EC2 instance.

", + "locationName":"ipv6Addresses" + }, + "NetworkInterfaceId":{ + "shape":"String", + "documentation":"

The ID of the network interface.

", + "locationName":"networkInterfaceId" + }, + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name of the EC2 instance.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IP address of the EC2 instance.

", + "locationName":"privateIpAddress" + }, + "PrivateIpAddresses":{ + "shape":"PrivateIpAddresses", + "documentation":"

Other private IP address information of the EC2 instance.

", + "locationName":"privateIpAddresses" + }, + "PublicDnsName":{ + "shape":"String", + "documentation":"

The public DNS name of the EC2 instance.

", + "locationName":"publicDnsName" + }, + "PublicIp":{ + "shape":"String", + "documentation":"

The public IP address of the EC2 instance.

", + "locationName":"publicIp" + }, + "SecurityGroups":{ + "shape":"SecurityGroups", + "documentation":"

The security groups associated with the EC2 instance.

", + "locationName":"securityGroups" + }, + "SubnetId":{ + "shape":"String", + "documentation":"

The subnet ID of the EC2 instance.

", + "locationName":"subnetId" + }, + "VpcId":{ + "shape":"String", + "documentation":"

The VPC ID of the EC2 instance.

", + "locationName":"vpcId" + } + }, + "documentation":"

Contains information about the elastic network interface of the EC2 instance.

" + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"NetworkInterface"} + }, + "NotEquals":{ + "type":"list", + "member":{"shape":"String"} + }, + "OrderBy":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, + "Organization":{ + "type":"structure", + "members":{ + "Asn":{ + "shape":"String", + "documentation":"

The Autonomous System Number (ASN) of the internet provider of the remote IP address.

", + "locationName":"asn" + }, + "AsnOrg":{ + "shape":"String", + "documentation":"

The organization that registered this ASN.

", + "locationName":"asnOrg" + }, + "Isp":{ + "shape":"String", + "documentation":"

The ISP information for the internet provider.

", + "locationName":"isp" + }, + "Org":{ + "shape":"String", + "documentation":"

The name of the internet provider.

", + "locationName":"org" + } + }, + "documentation":"

Contains information about the ISP organization of the remote IP address.

" + }, + "PortProbeAction":{ + "type":"structure", + "members":{ + "Blocked":{ + "shape":"Boolean", + "documentation":"

Indicates whether EC2 blocked the port probe to the instance, such as with an ACL.

", + "locationName":"blocked" + }, + "PortProbeDetails":{ + "shape":"PortProbeDetails", + "documentation":"

A list of objects related to port probe details.

", + "locationName":"portProbeDetails" + } + }, + "documentation":"

Contains information about the PORT_PROBE action described in the finding.

" + }, + "PortProbeDetail":{ + "type":"structure", + "members":{ + "LocalPortDetails":{ + "shape":"LocalPortDetails", + "documentation":"

The local port information of the connection.

", + "locationName":"localPortDetails" + }, + "LocalIpDetails":{ + "shape":"LocalIpDetails", + "documentation":"

The local IP information of the connection.

", + "locationName":"localIpDetails" + }, + "RemoteIpDetails":{ + "shape":"RemoteIpDetails", + "documentation":"

The remote IP information of the connection.

", + "locationName":"remoteIpDetails" + } + }, + "documentation":"

Contains information about the port probe details.

" + }, + "PortProbeDetails":{ + "type":"list", + "member":{"shape":"PortProbeDetail"} + }, + "PrivateIpAddressDetails":{ + "type":"structure", + "members":{ + "PrivateDnsName":{ + "shape":"String", + "documentation":"

The private DNS name of the EC2 instance.

", + "locationName":"privateDnsName" + }, + "PrivateIpAddress":{ + "shape":"String", + "documentation":"

The private IP address of the EC2 instance.

", + "locationName":"privateIpAddress" + } + }, + "documentation":"

Contains other private IP address information of the EC2 instance.

" + }, + "PrivateIpAddresses":{ + "type":"list", + "member":{"shape":"PrivateIpAddressDetails"} + }, + "ProductCode":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"String", + "documentation":"

The product code information.

", + "locationName":"code" + }, + "ProductType":{ + "shape":"String", + "documentation":"

The product code type.

", + "locationName":"productType" + } + }, + "documentation":"

Contains information about the product code for the EC2 instance.

" + }, + "ProductCodes":{ + "type":"list", + "member":{"shape":"ProductCode"} + }, + "PublishingStatus":{ + "type":"string", + "enum":[ + "PENDING_VERIFICATION", + "PUBLISHING", + "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY", + "STOPPED" + ], + "max":300, + "min":1 + }, + "RemoteIpDetails":{ + "type":"structure", + "members":{ + "City":{ + "shape":"City", + "documentation":"

The city information of the remote IP address.

", + "locationName":"city" + }, + "Country":{ + "shape":"Country", + "documentation":"

The country code of the remote IP address.

", + "locationName":"country" + }, + "GeoLocation":{ + "shape":"GeoLocation", + "documentation":"

The location information of the remote IP address.

", + "locationName":"geoLocation" + }, + "IpAddressV4":{ + "shape":"String", + "documentation":"

The IPv4 remote address of the connection.

", + "locationName":"ipAddressV4" + }, + "Organization":{ + "shape":"Organization", + "documentation":"

The ISP organization information of the remote IP address.

", + "locationName":"organization" + } + }, + "documentation":"

Contains information about the remote IP address of the connection.

" + }, + "RemotePortDetails":{ + "type":"structure", + "members":{ + "Port":{ + "shape":"Integer", + "documentation":"

The port number of the remote connection.

", + "locationName":"port" + }, + "PortName":{ + "shape":"String", + "documentation":"

The port name of the remote connection.

", + "locationName":"portName" + } + }, + "documentation":"

Contains information about the remote port.

" + }, + "Resource":{ + "type":"structure", + "members":{ + "AccessKeyDetails":{ + "shape":"AccessKeyDetails", + "documentation":"

The IAM access key details (IAM user information) of a user that engaged in the activity that prompted GuardDuty to generate a finding.

", + "locationName":"accessKeyDetails" + }, + "InstanceDetails":{ + "shape":"InstanceDetails", + "documentation":"

The information about the EC2 instance associated with the activity that prompted GuardDuty to generate a finding.

", + "locationName":"instanceDetails" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The type of AWS resource.

", + "locationName":"resourceType" + } + }, + "documentation":"

Contains information about the AWS resource associated with the activity that prompted GuardDuty to generate a finding.

" + }, + "SecurityGroup":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"String", + "documentation":"

The security group ID of the EC2 instance.

", + "locationName":"groupId" + }, + "GroupName":{ + "shape":"String", + "documentation":"

The security group name of the EC2 instance.

", + "locationName":"groupName" + } + }, + "documentation":"

Contains information about the security groups associated with the EC2 instance.

" + }, + "SecurityGroups":{ + "type":"list", + "member":{"shape":"SecurityGroup"} + }, + "Service":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"Action", + "documentation":"

Information about the activity that is described in a finding.

", + "locationName":"action" + }, + "Evidence":{ + "shape":"Evidence", + "documentation":"

An evidence object associated with the service.

", + "locationName":"evidence" + }, + "Archived":{ + "shape":"Boolean", + "documentation":"

Indicates whether this finding is archived.

", + "locationName":"archived" + }, + "Count":{ + "shape":"Integer", + "documentation":"

The total count of the occurrences of this finding type.

", + "locationName":"count" + }, + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detector ID for the GuardDuty service.

", + "locationName":"detectorId" + }, + "EventFirstSeen":{ + "shape":"String", + "documentation":"

The first-seen timestamp of the activity that prompted GuardDuty to generate this finding.

", + "locationName":"eventFirstSeen" + }, + "EventLastSeen":{ + "shape":"String", + "documentation":"

The last-seen timestamp of the activity that prompted GuardDuty to generate this finding.

", + "locationName":"eventLastSeen" + }, + "ResourceRole":{ + "shape":"String", + "documentation":"

The resource role information for this finding.

", + "locationName":"resourceRole" + }, + "ServiceName":{ + "shape":"String", + "documentation":"

The name of the AWS service (GuardDuty) that generated a finding.

", + "locationName":"serviceName" + }, + "UserFeedback":{ + "shape":"String", + "documentation":"

Feedback that was submitted about the finding.

", + "locationName":"userFeedback" + } + }, + "documentation":"

Contains additional information about the generated finding.

" + }, + "SortCriteria":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

Represents the finding attribute (for example, accountId) to sort findings by.

", + "locationName":"attributeName" + }, + "OrderBy":{ + "shape":"OrderBy", + "documentation":"

The order by which the sorted findings are to be displayed.

", + "locationName":"orderBy" + } + }, + "documentation":"

Contains information about the criteria used for sorting findings.

" + }, + "StartMonitoringMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector of the GuardDuty master account associated with the member accounts to monitor.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs of the GuardDuty member accounts to start monitoring.

", + "locationName":"accountIds" + } + } + }, + "StartMonitoringMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain the unprocessed account and a result string that explains why it was unprocessed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "StopMonitoringMembersRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AccountIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector associated with the GuardDuty master account that is monitoring member accounts.

", + "location":"uri", + "locationName":"detectorId" + }, + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

A list of account IDs for the member accounts to stop monitoring.

", + "locationName":"accountIds" + } + } + }, + "StopMonitoringMembersResponse":{ + "type":"structure", + "required":["UnprocessedAccounts"], + "members":{ + "UnprocessedAccounts":{ + "shape":"UnprocessedAccounts", + "documentation":"

A list of objects that contain an accountId for each account that could not be processed, and a result string that indicates why the account was not processed.

", + "locationName":"unprocessedAccounts" + } + } + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The EC2 instance tag key.

", + "locationName":"key" + }, + "Value":{ + "shape":"String", + "documentation":"

The EC2 instance tag value.

", + "locationName":"value" + } + }, + "documentation":"

Contains information about a tag associated with the EC2 instance.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag to.

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

The tags to be added to a resource.

", + "locationName":"tags" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "ThreatIntelSetFormat":{ + "type":"string", + "enum":[ + "TXT", + "STIX", + "OTX_CSV", + "ALIEN_VAULT", + "PROOF_POINT", + "FIRE_EYE" + ], + "max":300, + "min":1 + }, + "ThreatIntelSetIds":{ + "type":"list", + "member":{"shape":"String"}, + "max":50, + "min":0 + }, + "ThreatIntelSetStatus":{ + "type":"string", + "enum":[ + "INACTIVE", + "ACTIVATING", + "ACTIVE", + "DEACTIVATING", + "ERROR", + "DELETE_PENDING", + "DELETED" + ], + "max":300, + "min":1 + }, + "ThreatIntelligenceDetail":{ + "type":"structure", + "members":{ + "ThreatListName":{ + "shape":"String", + "documentation":"

The name of the threat intelligence list that triggered the finding.

", + "locationName":"threatListName" + }, + "ThreatNames":{ + "shape":"ThreatNames", + "documentation":"

A list of names of the threats in the threat intelligence list that triggered the finding.

", + "locationName":"threatNames" + } + }, + "documentation":"

An instance of a threat intelligence detail that constitutes evidence for the finding.

" + }, + "ThreatIntelligenceDetails":{ + "type":"list", + "member":{"shape":"ThreatIntelligenceDetail"} + }, + "ThreatNames":{ + "type":"list", + "member":{"shape":"String"} + }, + "UnarchiveFindingsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector associated with the findings to unarchive.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings to unarchive.

", + "locationName":"findingIds" + } + } + }, + "UnarchiveFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UnprocessedAccount":{ + "type":"structure", + "required":[ + "AccountId", + "Result" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The AWS account ID.

", + "locationName":"accountId" + }, + "Result":{ + "shape":"String", + "documentation":"

A reason why the account hasn't been processed.

", + "locationName":"result" + } + }, + "documentation":"

Contains information about the accounts that weren't processed.

" + }, + "UnprocessedAccounts":{ + "type":"list", + "member":{"shape":"UnprocessedAccount"}, + "max":50, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"GuardDutyArn", + "documentation":"

The Amazon Resource Name (ARN) for the resource to remove tags from.

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to remove from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDetectorRequest":{ + "type":"structure", + "required":["DetectorId"], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "Enable":{ + "shape":"Boolean", + "documentation":"

Specifies whether the detector is enabled or not enabled.

", + "locationName":"enable" + }, + "FindingPublishingFrequency":{ + "shape":"FindingPublishingFrequency", + "documentation":"

An enum value that specifies how frequently findings are exported, such as to CloudWatch Events.

", + "locationName":"findingPublishingFrequency" + } + } + }, + "UpdateDetectorResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFilterRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FilterName" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The unique ID of the detector that specifies the GuardDuty service where you want to update a filter.

", + "location":"uri", + "locationName":"detectorId" + }, + "FilterName":{ + "shape":"String", + "documentation":"

The name of the filter.

", + "location":"uri", + "locationName":"filterName" + }, + "Description":{ + "shape":"FilterDescription", + "documentation":"

The description of the filter.

", + "locationName":"description" + }, + "Action":{ + "shape":"FilterAction", + "documentation":"

Specifies the action that is to be applied to the findings that match the filter.

", + "locationName":"action" + }, + "Rank":{ + "shape":"FilterRank", + "documentation":"

Specifies the position of the filter in the list of current filters. Also specifies the order in which this filter is applied to the findings.

", + "locationName":"rank" + }, + "FindingCriteria":{ + "shape":"FindingCriteria", + "documentation":"

Represents the criteria to be used in the filter for querying findings.

", + "locationName":"findingCriteria" + } + } + }, + "UpdateFilterResponse":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

The name of the filter.

", + "locationName":"name" + } + } + }, + "UpdateFindingsFeedbackRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "FindingIds", + "Feedback" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector associated with the findings to update feedback for.

", + "location":"uri", + "locationName":"detectorId" + }, + "FindingIds":{ + "shape":"FindingIds", + "documentation":"

The IDs of the findings that you want to mark as useful or not useful.

", + "locationName":"findingIds" + }, + "Feedback":{ + "shape":"Feedback", + "documentation":"

The feedback for the finding.

", + "locationName":"feedback" + }, + "Comments":{ + "shape":"String", + "documentation":"

Additional feedback about the GuardDuty findings.

", + "locationName":"comments" + } + } + }, + "UpdateFindingsFeedbackResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateIPSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "IpSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detectorID that specifies the GuardDuty service whose IPSet you want to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "IpSetId":{ + "shape":"String", + "documentation":"

The unique ID that specifies the IPSet that you want to update.

", + "location":"uri", + "locationName":"ipSetId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The unique ID that specifies the IPSet that you want to update.

", + "locationName":"name" + }, + "Location":{ + "shape":"Location", + "documentation":"

The updated URI of the file that contains the IPSet.

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

The updated Boolean value that specifies whether the IPSet is active or not.

", + "locationName":"activate" + } + } + }, + "UpdateIPSetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateOrganizationConfigurationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "AutoEnable" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector to update the delegated administrator for.

", + "location":"uri", + "locationName":"detectorId" + }, + "AutoEnable":{ + "shape":"Boolean", + "documentation":"

Indicates whether to automatically enable member accounts in the organization.

", + "locationName":"autoEnable" + } + } + }, + "UpdateOrganizationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdatePublishingDestinationRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "DestinationId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The ID of the detector associated with the publishing destinations to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "DestinationId":{ + "shape":"String", + "documentation":"

The ID of the publishing destination to update.

", + "location":"uri", + "locationName":"destinationId" + }, + "DestinationProperties":{ + "shape":"DestinationProperties", + "documentation":"

A DestinationProperties object that includes the DestinationArn and KmsKeyArn of the publishing destination.

", + "locationName":"destinationProperties" + } + } + }, + "UpdatePublishingDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateThreatIntelSetRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "ThreatIntelSetId" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "documentation":"

The detectorID that specifies the GuardDuty service whose ThreatIntelSet you want to update.

", + "location":"uri", + "locationName":"detectorId" + }, + "ThreatIntelSetId":{ + "shape":"String", + "documentation":"

The unique ID that specifies the ThreatIntelSet that you want to update.

", + "location":"uri", + "locationName":"threatIntelSetId" + }, + "Name":{ + "shape":"Name", + "documentation":"

The unique ID that specifies the ThreatIntelSet that you want to update.

", + "locationName":"name" + }, + "Location":{ + "shape":"Location", + "documentation":"

The updated URI of the file that contains the ThreateIntelSet.

", + "locationName":"location" + }, + "Activate":{ + "shape":"Boolean", + "documentation":"

The updated Boolean value that specifies whether the ThreateIntelSet is active or not.

", + "locationName":"activate" + } + } + }, + "UpdateThreatIntelSetResponse":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"

Amazon GuardDuty is a continuous security monitoring service that analyzes and processes the following data sources: VPC Flow Logs, AWS CloudTrail event logs, and DNS logs. It uses threat intelligence feeds (such as lists of malicious IPs and domains) and machine learning to identify unexpected, potentially unauthorized, and malicious activity within your AWS environment. This can include issues like escalations of privileges, uses of exposed credentials, or communication with malicious IPs, URLs, or domains. For example, GuardDuty can detect compromised EC2 instances that serve malware or mine bitcoin.

GuardDuty also monitors AWS account access behavior for signs of compromise. Some examples of this are unauthorized infrastructure deployments such as EC2 instances deployed in a Region that has never been used, or unusual API calls like a password policy change to reduce password strength.

GuardDuty informs you of the status of your AWS environment by producing security findings that you can view in the GuardDuty console or through Amazon CloudWatch events. For more information, see the Amazon GuardDuty User Guide .

" +} diff -Nru python-botocore-1.4.70/botocore/data/health/2016-08-04/examples-1.json python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/examples-1.json --- python-botocore-1.4.70/botocore/data/health/2016-08-04/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/health/2016-08-04/paginators-1.json python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/paginators-1.json --- python-botocore-1.4.70/botocore/data/health/2016-08-04/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,52 @@ +{ + "pagination": { + "DescribeAffectedEntities": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "entities" + }, + "DescribeEventAggregates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "eventAggregates" + }, + "DescribeEvents": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "events" + }, + "DescribeEventTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "eventTypes" + }, + "DescribeAffectedAccountsForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "affectedAccounts", + "non_aggregate_keys": [ + "eventScopeCode" + ] + }, + "DescribeAffectedEntitiesForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "non_aggregate_keys": [ + "failedSet" + ], + "output_token": "nextToken", + "result_key": "entities" + }, + "DescribeEventsForOrganization": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "events" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/health/2016-08-04/service-2.json python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/service-2.json --- python-botocore-1.4.70/botocore/data/health/2016-08-04/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/health/2016-08-04/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1296 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-08-04", + "endpointPrefix":"health", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWSHealth", + "serviceFullName":"AWS Health APIs and Notifications", + "serviceId":"Health", + "signatureVersion":"v4", + "targetPrefix":"AWSHealth_20160804", + "uid":"health-2016-08-04" + }, + "operations":{ + "DescribeAffectedAccountsForOrganization":{ + "name":"DescribeAffectedAccountsForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAffectedAccountsForOrganizationRequest"}, + "output":{"shape":"DescribeAffectedAccountsForOrganizationResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"} + ], + "documentation":"

Returns a list of accounts in the organization from AWS Organizations that are affected by the provided event.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent":true + }, + "DescribeAffectedEntities":{ + "name":"DescribeAffectedEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAffectedEntitiesRequest"}, + "output":{"shape":"DescribeAffectedEntitiesResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"}, + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this.

At least one event ARN is required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

", + "idempotent":true + }, + "DescribeAffectedEntitiesForOrganization":{ + "name":"DescribeAffectedEntitiesForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAffectedEntitiesForOrganizationRequest"}, + "output":{"shape":"DescribeAffectedEntitiesForOrganizationResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"}, + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in AWS Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the AWS service.

At least one event ARN and account ID are required. Results are sorted by the lastUpdatedTime of the entity, starting with the most recent.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent":true + }, + "DescribeEntityAggregates":{ + "name":"DescribeEntityAggregates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEntityAggregatesRequest"}, + "output":{"shape":"DescribeEntityAggregatesResponse"}, + "documentation":"

Returns the number of entities that are affected by each of the specified events. If no events are specified, the counts of all affected entities are returned.

", + "idempotent":true + }, + "DescribeEventAggregates":{ + "name":"DescribeEventAggregates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventAggregatesRequest"}, + "output":{"shape":"DescribeEventAggregatesResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"} + ], + "documentation":"

Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned.

", + "idempotent":true + }, + "DescribeEventDetails":{ + "name":"DescribeEventDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventDetailsRequest"}, + "output":{"shape":"DescribeEventDetailsResponse"}, + "errors":[ + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns detailed information about one or more specified events. Information includes standard event data (region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntities operation.

If a specified event cannot be retrieved, an error message is returned for that event.

", + "idempotent":true + }, + "DescribeEventDetailsForOrganization":{ + "name":"DescribeEventDetailsForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventDetailsForOrganizationRequest"}, + "output":{"shape":"DescribeEventDetailsForOrganizationResponse"}, + "errors":[ + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns detailed information about one or more specified events for one or more accounts in your organization. Information includes standard event data (Region, service, and so on, as returned by DescribeEventsForOrganization, a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included; to retrieve those, use the DescribeAffectedEntitiesForOrganization operation.

Before you can call this operation, you must first enable AWS Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent":true + }, + "DescribeEventTypes":{ + "name":"DescribeEventTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventTypesRequest"}, + "output":{"shape":"DescribeEventTypesResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"}, + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event types are returned, in no particular order.

", + "idempotent":true + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsRequest"}, + "output":{"shape":"DescribeEventsResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"}, + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations.

If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent.

", + "idempotent":true + }, + "DescribeEventsForOrganization":{ + "name":"DescribeEventsForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsForOrganizationRequest"}, + "output":{"shape":"DescribeEventsForOrganizationResponse"}, + "errors":[ + {"shape":"InvalidPaginationToken"}, + {"shape":"UnsupportedLocale"} + ], + "documentation":"

Returns information about events across your organization in AWS Organizations, meeting the specified filter criteria. Events are returned in a summary form and do not include the accounts impacted, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeAffectedAccountsForOrganization, DescribeEventDetailsForOrganization, and DescribeAffectedEntitiesForOrganization operations.

If no filter criteria are specified, all events across your organization are returned. Results are sorted by lastModifiedTime, starting with the most recent.

Before you can call this operation, you must first enable Health to work with AWS Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's master account.

", + "idempotent":true + }, + "DescribeHealthServiceStatusForOrganization":{ + "name":"DescribeHealthServiceStatusForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{"shape":"DescribeHealthServiceStatusForOrganizationResponse"}, + "documentation":"

This operation provides status information on enabling or disabling AWS Health to work with your organization. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent":true + }, + "DisableHealthServiceAccessForOrganization":{ + "name":"DisableHealthServiceAccessForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Calling this operation disables Health from working with AWS Organizations. This does not remove the Service Linked Role (SLR) from the the master account in your organization. Use the IAM console, API, or AWS CLI to remove the SLR if desired. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent":true + }, + "EnableHealthServiceAccessForOrganization":{ + "name":"EnableHealthServiceAccessForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Calling this operation enables AWS Health to work with AWS Organizations. This applies a Service Linked Role (SLR) to the master account in the organization. To learn more about the steps in this process, visit enabling service access for AWS Health in AWS Organizations. To call this operation, you must sign in as an IAM user, assume an IAM role, or sign in as the root user (not recommended) in the organization's master account.

", + "idempotent":true + } + }, + "shapes":{ + "AffectedEntity":{ + "type":"structure", + "members":{ + "entityArn":{ + "shape":"entityArn", + "documentation":"

The unique identifier for the entity. Format: arn:aws:health:entity-region:aws-account:entity/entity-id . Example: arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K

" + }, + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "entityValue":{ + "shape":"entityValue", + "documentation":"

The ID of the affected entity.

" + }, + "entityUrl":{ + "shape":"entityUrl", + "documentation":"

The URL of the affected entity.

" + }, + "awsAccountId":{ + "shape":"accountId", + "documentation":"

The 12-digit AWS account number that contains the affected entity.

" + }, + "lastUpdatedTime":{ + "shape":"timestamp", + "documentation":"

The most recent time that the entity was updated.

" + }, + "statusCode":{ + "shape":"entityStatusCode", + "documentation":"

The most recent status of the entity affected by the event. The possible values are IMPAIRED, UNIMPAIRED, and UNKNOWN.

" + }, + "tags":{ + "shape":"tagSet", + "documentation":"

A map of entity tags attached to the affected entity.

" + } + }, + "documentation":"

Information about an entity that is affected by a Health event.

" + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

EnableHealthServiceAccessForOrganization is already in progress. Wait for the action to complete before trying again. To get the current status, use the DescribeHealthServiceStatusForOrganization operation.

", + "exception":true + }, + "DateTimeRange":{ + "type":"structure", + "members":{ + "from":{ + "shape":"timestamp", + "documentation":"

The starting date and time of a time range.

" + }, + "to":{ + "shape":"timestamp", + "documentation":"

The ending date and time of a time range.

" + } + }, + "documentation":"

A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from. If from is not set and to is set: match items where the timestamp value is equal to or before to.

" + }, + "DescribeAffectedAccountsForOrganizationRequest":{ + "type":"structure", + "required":["eventArn"], + "members":{ + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeAffectedAccountsForOrganizationResponse":{ + "type":"structure", + "members":{ + "affectedAccounts":{ + "shape":"affectedAccountsList", + "documentation":"

A JSON set of elements of the affected accounts.

" + }, + "eventScopeCode":{"shape":"eventScopeCode"}, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeAffectedEntitiesForOrganizationFailedSet":{ + "type":"list", + "member":{"shape":"OrganizationAffectedEntitiesErrorItem"} + }, + "DescribeAffectedEntitiesForOrganizationRequest":{ + "type":"structure", + "required":["organizationEntityFilters"], + "members":{ + "organizationEntityFilters":{ + "shape":"OrganizationEntityFiltersList", + "documentation":"

A JSON set of elements including the awsAccountId and the eventArn.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeAffectedEntitiesForOrganizationResponse":{ + "type":"structure", + "members":{ + "entities":{ + "shape":"EntityList", + "documentation":"

A JSON set of elements including the awsAccountId and its entityArn, entityValue and its entityArn, lastUpdatedTime, statusCode, and tags.

" + }, + "failedSet":{ + "shape":"DescribeAffectedEntitiesForOrganizationFailedSet", + "documentation":"

A JSON set of elements of the failed response, including the awsAccountId, errorMessage, errorName, and eventArn.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeAffectedEntitiesRequest":{ + "type":"structure", + "required":["filter"], + "members":{ + "filter":{ + "shape":"EntityFilter", + "documentation":"

Values to narrow the results returned. At least one event ARN is required.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeAffectedEntitiesResponse":{ + "type":"structure", + "members":{ + "entities":{ + "shape":"EntityList", + "documentation":"

The entities that match the filter criteria.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeEntityAggregatesRequest":{ + "type":"structure", + "members":{ + "eventArns":{ + "shape":"EventArnsList", + "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" + } + } + }, + "DescribeEntityAggregatesResponse":{ + "type":"structure", + "members":{ + "entityAggregates":{ + "shape":"EntityAggregateList", + "documentation":"

The number of entities that are affected by each of the specified events.

" + } + } + }, + "DescribeEventAggregatesRequest":{ + "type":"structure", + "required":["aggregateField"], + "members":{ + "filter":{ + "shape":"EventFilter", + "documentation":"

Values to narrow the results returned.

" + }, + "aggregateField":{ + "shape":"eventAggregateField", + "documentation":"

The only currently supported value is eventTypeCategory.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeEventAggregatesResponse":{ + "type":"structure", + "members":{ + "eventAggregates":{ + "shape":"EventAggregateList", + "documentation":"

The number of events in each category that meet the optional filter criteria.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeEventDetailsFailedSet":{ + "type":"list", + "member":{"shape":"EventDetailsErrorItem"} + }, + "DescribeEventDetailsForOrganizationFailedSet":{ + "type":"list", + "member":{"shape":"OrganizationEventDetailsErrorItem"} + }, + "DescribeEventDetailsForOrganizationRequest":{ + "type":"structure", + "required":["organizationEventDetailFilters"], + "members":{ + "organizationEventDetailFilters":{ + "shape":"OrganizationEventDetailFiltersList", + "documentation":"

A set of JSON elements that includes the awsAccountId and the eventArn.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventDetailsForOrganizationResponse":{ + "type":"structure", + "members":{ + "successfulSet":{ + "shape":"DescribeEventDetailsForOrganizationSuccessfulSet", + "documentation":"

Information about the events that could be retrieved.

" + }, + "failedSet":{ + "shape":"DescribeEventDetailsForOrganizationFailedSet", + "documentation":"

Error messages for any events that could not be retrieved.

" + } + } + }, + "DescribeEventDetailsForOrganizationSuccessfulSet":{ + "type":"list", + "member":{"shape":"OrganizationEventDetails"} + }, + "DescribeEventDetailsRequest":{ + "type":"structure", + "required":["eventArns"], + "members":{ + "eventArns":{ + "shape":"eventArnList", + "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventDetailsResponse":{ + "type":"structure", + "members":{ + "successfulSet":{ + "shape":"DescribeEventDetailsSuccessfulSet", + "documentation":"

Information about the events that could be retrieved.

" + }, + "failedSet":{ + "shape":"DescribeEventDetailsFailedSet", + "documentation":"

Error messages for any events that could not be retrieved.

" + } + } + }, + "DescribeEventDetailsSuccessfulSet":{ + "type":"list", + "member":{"shape":"EventDetails"} + }, + "DescribeEventTypesRequest":{ + "type":"structure", + "members":{ + "filter":{ + "shape":"EventTypeFilter", + "documentation":"

Values to narrow the results returned.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + } + } + }, + "DescribeEventTypesResponse":{ + "type":"structure", + "members":{ + "eventTypes":{ + "shape":"EventTypeList", + "documentation":"

A list of event types that match the filter criteria. Event types have a category (issue, accountNotification, or scheduledChange), a service (for example, EC2, RDS, DATAPIPELINE, BILLING), and a code (in the format AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeEventsForOrganizationRequest":{ + "type":"structure", + "members":{ + "filter":{ + "shape":"OrganizationEventFilter", + "documentation":"

Values to narrow the results returned.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventsForOrganizationResponse":{ + "type":"structure", + "members":{ + "events":{ + "shape":"OrganizationEventList", + "documentation":"

The events that match the specified filter criteria.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeEventsRequest":{ + "type":"structure", + "members":{ + "filter":{ + "shape":"EventFilter", + "documentation":"

Values to narrow the results returned.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return in one batch, between 10 and 100, inclusive.

" + }, + "locale":{ + "shape":"locale", + "documentation":"

The locale (language) to return information in. English (en) is the default and the only supported value at this time.

" + } + } + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "events":{ + "shape":"EventList", + "documentation":"

The events that match the specified filter criteria.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + } + } + }, + "DescribeHealthServiceStatusForOrganizationResponse":{ + "type":"structure", + "members":{ + "healthServiceAccessStatusForOrganization":{ + "shape":"healthServiceAccessStatusForOrganization", + "documentation":"

Information about the status of enabling or disabling AWS Health Organizational View in your organization.

Valid values are ENABLED | DISABLED | PENDING.

" + } + } + }, + "EntityAggregate":{ + "type":"structure", + "members":{ + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "count":{ + "shape":"count", + "documentation":"

The number entities that match the criteria for the specified events.

" + } + }, + "documentation":"

The number of entities that are affected by one or more events. Returned by the DescribeEntityAggregates operation.

" + }, + "EntityAggregateList":{ + "type":"list", + "member":{"shape":"EntityAggregate"} + }, + "EntityFilter":{ + "type":"structure", + "required":["eventArns"], + "members":{ + "eventArns":{ + "shape":"eventArnList", + "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" + }, + "entityArns":{ + "shape":"entityArnList", + "documentation":"

A list of entity ARNs (unique identifiers).

" + }, + "entityValues":{ + "shape":"entityValueList", + "documentation":"

A list of IDs for affected entities.

" + }, + "lastUpdatedTimes":{ + "shape":"dateTimeRangeList", + "documentation":"

A list of the most recent dates and times that the entity was updated.

" + }, + "tags":{ + "shape":"tagFilter", + "documentation":"

A map of entity tags attached to the affected entity.

" + }, + "statusCodes":{ + "shape":"entityStatusCodeList", + "documentation":"

A list of entity status codes (IMPAIRED, UNIMPAIRED, or UNKNOWN).

" + } + }, + "documentation":"

The values to use to filter results from the DescribeAffectedEntities operation.

" + }, + "EntityList":{ + "type":"list", + "member":{"shape":"AffectedEntity"} + }, + "Event":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "service":{ + "shape":"service", + "documentation":"

The AWS service that is affected by the event. For example, EC2, RDS.

" + }, + "eventTypeCode":{ + "shape":"eventTypeCode", + "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + }, + "eventTypeCategory":{ + "shape":"eventTypeCategory", + "documentation":"

The category of the event. Possible values are issue, scheduledChange, and accountNotification.

" + }, + "region":{ + "shape":"region", + "documentation":"

The AWS region name of the event.

" + }, + "availabilityZone":{ + "shape":"availabilityZone", + "documentation":"

The AWS Availability Zone of the event. For example, us-east-1a.

" + }, + "startTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the event began.

" + }, + "endTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the event ended.

" + }, + "lastUpdatedTime":{ + "shape":"timestamp", + "documentation":"

The most recent date and time that the event was updated.

" + }, + "statusCode":{ + "shape":"eventStatusCode", + "documentation":"

The most recent status of the event. Possible values are open, closed, and upcoming.

" + }, + "eventScopeCode":{"shape":"eventScopeCode"} + }, + "documentation":"

Summary information about an AWS Health event.

" + }, + "EventAccountFilter":{ + "type":"structure", + "required":["eventArn"], + "members":{ + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "awsAccountId":{ + "shape":"accountId", + "documentation":"

The 12-digit AWS account numbers that contains the affected entities.

" + } + }, + "documentation":"

The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations.

" + }, + "EventAggregate":{ + "type":"structure", + "members":{ + "aggregateValue":{ + "shape":"aggregateValue", + "documentation":"

The issue type for the associated count.

" + }, + "count":{ + "shape":"count", + "documentation":"

The number of events of the associated issue type.

" + } + }, + "documentation":"

The number of events of each issue type. Returned by the DescribeEventAggregates operation.

" + }, + "EventAggregateList":{ + "type":"list", + "member":{"shape":"EventAggregate"} + }, + "EventArnsList":{ + "type":"list", + "member":{"shape":"eventArn"}, + "max":50, + "min":1 + }, + "EventDescription":{ + "type":"structure", + "members":{ + "latestDescription":{ + "shape":"eventDescription", + "documentation":"

The most recent description of the event.

" + } + }, + "documentation":"

The detailed description of the event. Included in the information returned by the DescribeEventDetails operation.

" + }, + "EventDetails":{ + "type":"structure", + "members":{ + "event":{ + "shape":"Event", + "documentation":"

Summary information about the event.

" + }, + "eventDescription":{ + "shape":"EventDescription", + "documentation":"

The most recent description of the event.

" + }, + "eventMetadata":{ + "shape":"eventMetadata", + "documentation":"

Additional metadata about the event.

" + } + }, + "documentation":"

Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetails operation.

" + }, + "EventDetailsErrorItem":{ + "type":"structure", + "members":{ + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "errorName":{ + "shape":"string", + "documentation":"

The name of the error.

" + }, + "errorMessage":{ + "shape":"string", + "documentation":"

A message that describes the error.

" + } + }, + "documentation":"

Error information returned when a DescribeEventDetails operation cannot find a specified event.

" + }, + "EventFilter":{ + "type":"structure", + "members":{ + "eventArns":{ + "shape":"eventArnList", + "documentation":"

A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\"

" + }, + "eventTypeCodes":{ + "shape":"eventTypeList", + "documentation":"

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\".

" + }, + "services":{ + "shape":"serviceList", + "documentation":"

The AWS services associated with the event. For example, EC2, RDS.

" + }, + "regions":{ + "shape":"regionList", + "documentation":"

A list of AWS regions.

" + }, + "availabilityZones":{ + "shape":"availabilityZones", + "documentation":"

A list of AWS availability zones.

" + }, + "startTimes":{ + "shape":"dateTimeRangeList", + "documentation":"

A list of dates and times that the event began.

" + }, + "endTimes":{ + "shape":"dateTimeRangeList", + "documentation":"

A list of dates and times that the event ended.

" + }, + "lastUpdatedTimes":{ + "shape":"dateTimeRangeList", + "documentation":"

A list of dates and times that the event was last updated.

" + }, + "entityArns":{ + "shape":"entityArnList", + "documentation":"

A list of entity ARNs (unique identifiers).

" + }, + "entityValues":{ + "shape":"entityValueList", + "documentation":"

A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

" + }, + "eventTypeCategories":{ + "shape":"eventTypeCategoryList", + "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" + }, + "tags":{ + "shape":"tagFilter", + "documentation":"

A map of entity tags attached to the affected entity.

" + }, + "eventStatusCodes":{ + "shape":"eventStatusCodeList", + "documentation":"

A list of event status codes.

" + } + }, + "documentation":"

The values to use to filter results from the DescribeEvents and DescribeEventAggregates operations.

" + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "EventType":{ + "type":"structure", + "members":{ + "service":{ + "shape":"service", + "documentation":"

The AWS service that is affected by the event. For example, EC2, RDS.

" + }, + "code":{ + "shape":"eventTypeCode", + "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + }, + "category":{ + "shape":"eventTypeCategory", + "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" + } + }, + "documentation":"

Metadata about a type of event that is reported by AWS Health. Data consists of the category (for example, issue), the service (for example, EC2), and the event type code (for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT).

" + }, + "EventTypeCategoryList":{ + "type":"list", + "member":{"shape":"eventTypeCategory"}, + "max":10, + "min":1 + }, + "EventTypeCodeList":{ + "type":"list", + "member":{"shape":"eventTypeCode"}, + "max":10, + "min":1 + }, + "EventTypeFilter":{ + "type":"structure", + "members":{ + "eventTypeCodes":{ + "shape":"EventTypeCodeList", + "documentation":"

A list of event type codes.

" + }, + "services":{ + "shape":"serviceList", + "documentation":"

The AWS services associated with the event. For example, EC2, RDS.

" + }, + "eventTypeCategories":{ + "shape":"EventTypeCategoryList", + "documentation":"

A list of event type category codes (issue, scheduledChange, or accountNotification).

" + } + }, + "documentation":"

The values to use to filter results from the DescribeEventTypes operation.

" + }, + "EventTypeList":{ + "type":"list", + "member":{"shape":"EventType"} + }, + "InvalidPaginationToken":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

The specified pagination token (nextToken) is not valid.

", + "exception":true + }, + "OrganizationAffectedEntitiesErrorItem":{ + "type":"structure", + "members":{ + "awsAccountId":{ + "shape":"accountId", + "documentation":"

The 12-digit AWS account numbers that contains the affected entities.

" + }, + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "errorName":{ + "shape":"string", + "documentation":"

The name of the error.

" + }, + "errorMessage":{ + "shape":"string", + "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + } + }, + "documentation":"

Error information returned when a DescribeAffectedEntitiesForOrganization operation cannot find or process a specific entity.

" + }, + "OrganizationEntityFiltersList":{ + "type":"list", + "member":{"shape":"EventAccountFilter"}, + "max":10, + "min":1 + }, + "OrganizationEvent":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "service":{ + "shape":"service", + "documentation":"

The AWS service that is affected by the event. For example, EC2, RDS.

" + }, + "eventTypeCode":{ + "shape":"eventTypeCode", + "documentation":"

The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT.

" + }, + "eventTypeCategory":{ + "shape":"eventTypeCategory", + "documentation":"

The category of the event type.

" + }, + "eventScopeCode":{"shape":"eventScopeCode"}, + "region":{ + "shape":"region", + "documentation":"

The AWS Region name of the event.

" + }, + "startTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the event began.

" + }, + "endTime":{ + "shape":"timestamp", + "documentation":"

The date and time that the event ended.

" + }, + "lastUpdatedTime":{ + "shape":"timestamp", + "documentation":"

The most recent date and time that the event was updated.

" + }, + "statusCode":{ + "shape":"eventStatusCode", + "documentation":"

The most recent status of the event. Possible values are open, closed, and upcoming.

" + } + }, + "documentation":"

Summary information about an event, returned by the DescribeEventsForOrganization operation.

" + }, + "OrganizationEventDetailFiltersList":{ + "type":"list", + "member":{"shape":"EventAccountFilter"}, + "max":10, + "min":1 + }, + "OrganizationEventDetails":{ + "type":"structure", + "members":{ + "awsAccountId":{ + "shape":"accountId", + "documentation":"

The 12-digit AWS account numbers that contains the affected entities.

" + }, + "event":{"shape":"Event"}, + "eventDescription":{"shape":"EventDescription"}, + "eventMetadata":{ + "shape":"eventMetadata", + "documentation":"

Additional metadata about the event.

" + } + }, + "documentation":"

Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetailsForOrganization operation.

" + }, + "OrganizationEventDetailsErrorItem":{ + "type":"structure", + "members":{ + "awsAccountId":{ + "shape":"accountId", + "documentation":"

Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

" + }, + "eventArn":{ + "shape":"eventArn", + "documentation":"

The unique identifier for the event. Format: arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID . Example: Example: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456

" + }, + "errorName":{ + "shape":"string", + "documentation":"

The name of the error.

" + }, + "errorMessage":{ + "shape":"string", + "documentation":"

A message that describes the error.

" + } + }, + "documentation":"

Error information returned when a DescribeEventDetailsForOrganization operation cannot find a specified event.

" + }, + "OrganizationEventFilter":{ + "type":"structure", + "members":{ + "eventTypeCodes":{ + "shape":"eventTypeList", + "documentation":"

A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\".

" + }, + "awsAccountIds":{ + "shape":"awsAccountIdsList", + "documentation":"

A list of 12-digit AWS account numbers that contains the affected entities.

" + }, + "services":{ + "shape":"serviceList", + "documentation":"

The AWS services associated with the event. For example, EC2, RDS.

" + }, + "regions":{ + "shape":"regionList", + "documentation":"

A list of AWS Regions.

" + }, + "startTime":{"shape":"DateTimeRange"}, + "endTime":{"shape":"DateTimeRange"}, + "lastUpdatedTime":{"shape":"DateTimeRange"}, + "entityArns":{ + "shape":"entityArnList", + "documentation":"

REPLACEME

" + }, + "entityValues":{ + "shape":"entityValueList", + "documentation":"

A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e).

" + }, + "eventTypeCategories":{ + "shape":"eventTypeCategoryList", + "documentation":"

REPLACEME

" + }, + "eventStatusCodes":{ + "shape":"eventStatusCodeList", + "documentation":"

A list of event status codes.

" + } + }, + "documentation":"

The values to filter results from the DescribeEventsForOrganization operation.

" + }, + "OrganizationEventList":{ + "type":"list", + "member":{"shape":"OrganizationEvent"} + }, + "UnsupportedLocale":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

The specified locale is not supported.

", + "exception":true + }, + "accountId":{ + "type":"string", + "max":12, + "pattern":"^\\S+$" + }, + "affectedAccountsList":{ + "type":"list", + "member":{"shape":"accountId"} + }, + "aggregateValue":{"type":"string"}, + "availabilityZone":{ + "type":"string", + "max":18, + "min":6, + "pattern":"[a-z]{2}\\-[0-9a-z\\-]{4,16}" + }, + "availabilityZones":{ + "type":"list", + "member":{"shape":"availabilityZone"} + }, + "awsAccountIdsList":{ + "type":"list", + "member":{"shape":"accountId"}, + "max":50, + "min":1 + }, + "count":{"type":"integer"}, + "dateTimeRangeList":{ + "type":"list", + "member":{"shape":"DateTimeRange"}, + "max":10, + "min":1 + }, + "entityArn":{ + "type":"string", + "max":1600, + "pattern":".{0,1600}" + }, + "entityArnList":{ + "type":"list", + "member":{"shape":"entityArn"}, + "max":100, + "min":1 + }, + "entityStatusCode":{ + "type":"string", + "enum":[ + "IMPAIRED", + "UNIMPAIRED", + "UNKNOWN" + ] + }, + "entityStatusCodeList":{ + "type":"list", + "member":{"shape":"entityStatusCode"}, + "max":3, + "min":1 + }, + "entityUrl":{"type":"string"}, + "entityValue":{ + "type":"string", + "max":1224, + "pattern":".{0,1224}" + }, + "entityValueList":{ + "type":"list", + "member":{"shape":"entityValue"}, + "max":100, + "min":1 + }, + "eventAggregateField":{ + "type":"string", + "enum":["eventTypeCategory"] + }, + "eventArn":{ + "type":"string", + "max":1600, + "pattern":"arn:aws(-[a-z]+(-[a-z]+)?)?:health:[^:]*:[^:]*:event(?:/[\\w-]+){3}" + }, + "eventArnList":{ + "type":"list", + "member":{"shape":"eventArn"}, + "max":10, + "min":1 + }, + "eventDescription":{"type":"string"}, + "eventMetadata":{ + "type":"map", + "key":{"shape":"metadataKey"}, + "value":{"shape":"metadataValue"} + }, + "eventScopeCode":{ + "type":"string", + "enum":[ + "PUBLIC", + "ACCOUNT_SPECIFIC", + "NONE" + ] + }, + "eventStatusCode":{ + "type":"string", + "enum":[ + "open", + "closed", + "upcoming" + ] + }, + "eventStatusCodeList":{ + "type":"list", + "member":{"shape":"eventStatusCode"}, + "max":6, + "min":1 + }, + "eventType":{ + "type":"string", + "max":100, + "min":3, + "pattern":"[^:/]{3,100}" + }, + "eventTypeCategory":{ + "type":"string", + "enum":[ + "issue", + "accountNotification", + "scheduledChange", + "investigation" + ], + "max":255, + "min":3 + }, + "eventTypeCategoryList":{ + "type":"list", + "member":{"shape":"eventTypeCategory"}, + "max":10, + "min":1 + }, + "eventTypeCode":{ + "type":"string", + "max":100, + "min":3, + "pattern":"[a-zA-Z0-9\\_\\-]{3,100}" + }, + "eventTypeList":{ + "type":"list", + "member":{"shape":"eventType"}, + "max":10, + "min":1 + }, + "healthServiceAccessStatusForOrganization":{"type":"string"}, + "locale":{ + "type":"string", + "max":256, + "min":2, + "pattern":".{2,256}" + }, + "maxResults":{ + "type":"integer", + "max":100, + "min":10 + }, + "metadataKey":{ + "type":"string", + "max":32766 + }, + "metadataValue":{ + "type":"string", + "max":32766 + }, + "nextToken":{ + "type":"string", + "max":10000, + "min":4, + "pattern":"[a-zA-Z0-9=/+_.-]{4,10000}" + }, + "region":{ + "type":"string", + "max":25, + "min":2, + "pattern":"[^:/]{2,25}" + }, + "regionList":{ + "type":"list", + "member":{"shape":"region"}, + "max":10, + "min":1 + }, + "service":{ + "type":"string", + "max":30, + "min":2, + "pattern":"[^:/]{2,30}" + }, + "serviceList":{ + "type":"list", + "member":{"shape":"service"}, + "max":10, + "min":1 + }, + "string":{"type":"string"}, + "tagFilter":{ + "type":"list", + "member":{"shape":"tagSet"}, + "max":50 + }, + "tagKey":{ + "type":"string", + "max":127, + "pattern":".{0,127}" + }, + "tagSet":{ + "type":"map", + "key":{"shape":"tagKey"}, + "value":{"shape":"tagValue"}, + "max":50 + }, + "tagValue":{ + "type":"string", + "max":255, + "pattern":".{0,255}" + }, + "timestamp":{"type":"timestamp"} + }, + "documentation":"AWS Health

The AWS Health API provides programmatic access to the AWS Health information that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS resources:

In addition, these operations provide information about event types and summary counts of events or affected entities:

AWS Health integrates with AWS Organizations to provide a centralized view of AWS Health events across all accounts in your organization.

You can use the following operations to enable or disable AWS Health from working with AWS Organizations.

The Health API requires a Business or Enterprise support plan from AWS Support. Calling the Health API from an account that does not have a Business or Enterprise support plan causes a SubscriptionRequiredException.

For authentication of requests, AWS Health uses the Signature Version 4 Signing Process.

See the AWS Health User Guide for information about how to use the API.

Service Endpoint

The HTTP endpoint for the AWS Health API is:

  • https://health.us-east-1.amazonaws.com

" +} diff -Nru python-botocore-1.4.70/botocore/data/iam/2010-05-08/examples-1.json python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/examples-1.json --- python-botocore-1.4.70/botocore/data/iam/2010-05-08/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1191 @@ +{ + "version": "1.0", + "examples": { + "AddClientIDToOpenIDConnectProvider": [ + { + "input": { + "ClientID": "my-application-ID", + "OpenIDConnectProviderArn": "arn:aws:iam::123456789012:oidc-provider/server.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following add-client-id-to-open-id-connect-provider command adds the client ID my-application-ID to the OIDC provider named server.example.com:", + "id": "028e91f4-e2a6-4d59-9e3b-4965a3fb19be", + "title": "To add a client ID (audience) to an Open-ID Connect (OIDC) provider" + } + ], + "AddRoleToInstanceProfile": [ + { + "input": { + "InstanceProfileName": "Webserver", + "RoleName": "S3Access" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds the role named S3Access to the instance profile named Webserver:", + "id": "c107fac3-edb6-4827-8a71-8863ec91c81f", + "title": "To add a role to an instance profile" + } + ], + "AddUserToGroup": [ + { + "input": { + "GroupName": "Admins", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds an IAM user named Bob to the IAM group named Admins:", + "id": "619c7e6b-09f8-4036-857b-51a6ea5027ca", + "title": "To add a user to an IAM group" + } + ], + "AttachGroupPolicy": [ + { + "input": { + "GroupName": "Finance", + "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named ReadOnlyAccess to the IAM group named Finance.", + "id": "87551489-86f0-45db-9889-759936778f2b", + "title": "To attach a managed policy to an IAM group" + } + ], + "AttachRolePolicy": [ + { + "input": { + "PolicyArn": "arn:aws:iam::aws:policy/ReadOnlyAccess", + "RoleName": "ReadOnlyRole" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named ReadOnlyAccess to the IAM role named ReadOnlyRole.", + "id": "3e1b8c7c-99c8-4fc4-a20c-131fe3f22c7e", + "title": "To attach a managed policy to an IAM role" + } + ], + "AttachUserPolicy": [ + { + "input": { + "PolicyArn": "arn:aws:iam::aws:policy/AdministratorAccess", + "UserName": "Alice" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches the AWS managed policy named AdministratorAccess to the IAM user named Alice.", + "id": "1372ebd8-9475-4b1a-a479-23b6fd4b8b3e", + "title": "To attach a managed policy to an IAM user" + } + ], + "ChangePassword": [ + { + "input": { + "NewPassword": "]35d/{pB9Fo9wJ", + "OldPassword": "3s0K_;xh4~8XXI" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the password for the current IAM user.", + "id": "3a80c66f-bffb-46df-947c-1e8fa583b470", + "title": "To change the password for your IAM user" + } + ], + "CreateAccessKey": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "AccessKey": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "CreateDate": "2015-03-09T18:39:23.411Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "Status": "Active", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an access key (access key ID and secret access key) for the IAM user named Bob.", + "id": "1fbb3211-4cf2-41db-8c20-ba58d9f5802d", + "title": "To create an access key for an IAM user" + } + ], + "CreateAccountAlias": [ + { + "input": { + "AccountAlias": "examplecorp" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command associates the alias examplecorp to your AWS account.", + "id": "5adaf6fb-94fc-4ca2-b825-2fbc2062add1", + "title": "To create an account alias" + } + ], + "CreateGroup": [ + { + "input": { + "GroupName": "Admins" + }, + "output": { + "Group": { + "Arn": "arn:aws:iam::123456789012:group/Admins", + "CreateDate": "2015-03-09T20:30:24.940Z", + "GroupId": "AIDGPMS9RO4H3FEXAMPLE", + "GroupName": "Admins", + "Path": "/" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an IAM group named Admins.", + "id": "d5da2a90-5e69-4ef7-8ae8-4c33dc21fd21", + "title": "To create an IAM group" + } + ], + "CreateInstanceProfile": [ + { + "input": { + "InstanceProfileName": "Webserver" + }, + "output": { + "InstanceProfile": { + "Arn": "arn:aws:iam::123456789012:instance-profile/Webserver", + "CreateDate": "2015-03-09T20:33:19.626Z", + "InstanceProfileId": "AIPAJMBYC7DLSPEXAMPLE", + "InstanceProfileName": "Webserver", + "Path": "/", + "Roles": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates an instance profile named Webserver that is ready to have a role attached and then be associated with an EC2 instance.", + "id": "5d84e6ae-5921-4e39-8454-10232cd9ff9a", + "title": "To create an instance profile" + } + ], + "CreateLoginProfile": [ + { + "input": { + "Password": "h]6EszR}vJ*m", + "PasswordResetRequired": true, + "UserName": "Bob" + }, + "output": { + "LoginProfile": { + "CreateDate": "2015-03-10T20:55:40.274Z", + "PasswordResetRequired": true, + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes IAM user Bob's password and sets the flag that required Bob to change the password the next time he signs in.", + "id": "c63795bc-3444-40b3-89df-83c474ef88be", + "title": "To create an instance profile" + } + ], + "CreateOpenIDConnectProvider": [ + { + "input": { + "ClientIDList": [ + "my-application-id" + ], + "ThumbprintList": [ + "3768084dfb3d2b68b7897bf5f565da8efEXAMPLE" + ], + "Url": "https://server.example.com" + }, + "output": { + "OpenIDConnectProviderArn": "arn:aws:iam::123456789012:oidc-provider/server.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example defines a new OIDC provider in IAM with a client ID of my-application-id and pointing at the server with a URL of https://server.example.com.", + "id": "4e4a6bff-cc97-4406-922e-0ab4a82cdb63", + "title": "To create an instance profile" + } + ], + "CreateRole": [ + { + "input": { + "AssumeRolePolicyDocument": "", + "Path": "/", + "RoleName": "Test-Role" + }, + "output": { + "Role": { + "Arn": "arn:aws:iam::123456789012:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-06-07T20:43:32.821Z", + "Path": "/", + "RoleId": "AKIAIOSFODNN7EXAMPLE", + "RoleName": "Test-Role" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates a role named Test-Role and attaches a trust policy to it that is provided as a URL-encoded JSON string.", + "id": "eaaa4b5f-51f1-4f73-b0d3-30127040eff8", + "title": "To create an IAM role" + } + ], + "CreateUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "User": { + "Arn": "arn:aws:iam::123456789012:user/Bob", + "CreateDate": "2013-06-08T03:20:41.270Z", + "Path": "/", + "UserId": "AKIAIOSFODNN7EXAMPLE", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following create-user command creates an IAM user named Bob in the current account.", + "id": "eb15f90b-e5f5-4af8-a594-e4e82b181a62", + "title": "To create an IAM user" + } + ], + "DeleteAccessKey": [ + { + "input": { + "AccessKeyId": "AKIDPMS9RO4H3FEXAMPLE", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes one access key (access key ID and secret access key) assigned to the IAM user named Bob.", + "id": "61a785a7-d30a-415a-ae18-ab9236e56871", + "title": "To delete an access key for an IAM user" + } + ], + "DeleteAccountAlias": [ + { + "input": { + "AccountAlias": "mycompany" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the alias mycompany from the current AWS account:", + "id": "7abeca65-04a8-4500-a890-47f1092bf766", + "title": "To delete an account alias" + } + ], + "DeleteAccountPasswordPolicy": [ + { + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the password policy from the current AWS account:", + "id": "9ddf755e-495c-49bc-ae3b-ea6cc9b8ebcf", + "title": "To delete the current account password policy" + } + ], + "DeleteGroupPolicy": [ + { + "input": { + "GroupName": "Admins", + "PolicyName": "ExamplePolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the policy named ExamplePolicy from the group named Admins:", + "id": "e683f2bd-98a4-4fe0-bb66-33169c692d4a", + "title": "To delete a policy from an IAM group" + } + ], + "DeleteInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the instance profile named ExampleInstanceProfile", + "id": "12d74fb8-3433-49db-8171-a1fc764e354d", + "title": "To delete an instance profile" + } + ], + "DeleteLoginProfile": [ + { + "input": { + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the password for the IAM user named Bob.", + "id": "1fe57059-fc73-42e2-b992-517b7d573b5c", + "title": "To delete a password for an IAM user" + } + ], + "DeleteRole": [ + { + "input": { + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the role named Test-Role.", + "id": "053cdf74-9bda-44b8-bdbb-140fd5a32603", + "title": "To delete an IAM role" + } + ], + "DeleteRolePolicy": [ + { + "input": { + "PolicyName": "ExamplePolicy", + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the policy named ExamplePolicy from the role named Test-Role.", + "id": "9c667336-fde3-462c-b8f3-950800821e27", + "title": "To remove a policy from an IAM role" + } + ], + "DeleteSigningCertificate": [ + { + "input": { + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "UserName": "Anika" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deletes the specified signing certificate for the IAM user named Anika.", + "id": "e3357586-ba9c-4070-b35b-d1a899b71987", + "title": "To delete a signing certificate for an IAM user" + } + ], + "DeleteUser": [ + { + "input": { + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the IAM user named Bob from the current account.", + "id": "a13dc3f9-59fe-42d9-abbb-fb98b204fdf0", + "title": "To delete an IAM user" + } + ], + "DeleteUserPolicy": [ + { + "input": { + "PolicyName": "ExamplePolicy", + "UserName": "Juan" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following delete-user-policy command removes the specified policy from the IAM user named Juan:", + "id": "34f07ddc-9bc1-4f52-bc59-cd0a3ccd06c8", + "title": "To remove a policy from an IAM user" + } + ], + "DeleteVirtualMFADevice": [ + { + "input": { + "SerialNumber": "arn:aws:iam::123456789012:mfa/ExampleName" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following delete-virtual-mfa-device command removes the specified MFA device from the current AWS account.", + "id": "2933b08b-dbe7-4b89-b8c1-fdf75feea1ee", + "title": "To remove a virtual MFA device" + } + ], + "GetAccountPasswordPolicy": [ + { + "output": { + "PasswordPolicy": { + "AllowUsersToChangePassword": false, + "ExpirePasswords": false, + "HardExpiry": false, + "MaxPasswordAge": 90, + "MinimumPasswordLength": 8, + "PasswordReusePrevention": 12, + "RequireLowercaseCharacters": false, + "RequireNumbers": true, + "RequireSymbols": true, + "RequireUppercaseCharacters": false + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command displays details about the password policy for the current AWS account.", + "id": "5e4598c7-c425-431f-8af1-19073b3c4a5f", + "title": "To see the current account password policy" + } + ], + "GetAccountSummary": [ + { + "output": { + "SummaryMap": { + "AccessKeysPerUserQuota": 2, + "AccountAccessKeysPresent": 1, + "AccountMFAEnabled": 0, + "AccountSigningCertificatesPresent": 0, + "AttachedPoliciesPerGroupQuota": 10, + "AttachedPoliciesPerRoleQuota": 10, + "AttachedPoliciesPerUserQuota": 10, + "GroupPolicySizeQuota": 5120, + "Groups": 15, + "GroupsPerUserQuota": 10, + "GroupsQuota": 100, + "MFADevices": 6, + "MFADevicesInUse": 3, + "Policies": 8, + "PoliciesQuota": 1000, + "PolicySizeQuota": 5120, + "PolicyVersionsInUse": 22, + "PolicyVersionsInUseQuota": 10000, + "ServerCertificates": 1, + "ServerCertificatesQuota": 20, + "SigningCertificatesPerUserQuota": 2, + "UserPolicySizeQuota": 2048, + "Users": 27, + "UsersQuota": 5000, + "VersionsPerPolicyQuota": 5 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command returns information about the IAM entity quotas and usage in the current AWS account.", + "id": "9d8447af-f344-45de-8219-2cebc3cce7f2", + "title": "To get information about IAM entity quotas and usage in the current account" + } + ], + "GetInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile" + }, + "output": { + "InstanceProfile": { + "Arn": "arn:aws:iam::336924118301:instance-profile/ExampleInstanceProfile", + "CreateDate": "2013-06-12T23:52:02Z", + "InstanceProfileId": "AID2MAB8DPLSRHEXAMPLE", + "InstanceProfileName": "ExampleInstanceProfile", + "Path": "/", + "Roles": [ + { + "Arn": "arn:aws:iam::336924118301:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-01-09T06:33:26Z", + "Path": "/", + "RoleId": "AIDGPMS9RO4H3FEXAMPLE", + "RoleName": "Test-Role" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the instance profile named ExampleInstanceProfile.", + "id": "463b9ba5-18cc-4608-9ccb-5a7c6b6e5fe7", + "title": "To get information about an instance profile" + } + ], + "GetLoginProfile": [ + { + "input": { + "UserName": "Anika" + }, + "output": { + "LoginProfile": { + "CreateDate": "2012-09-21T23:03:39Z", + "UserName": "Anika" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the password for the IAM user named Anika.", + "id": "d6b580cc-909f-4925-9caa-d425cbc1ad47", + "title": "To get password information for an IAM user" + } + ], + "GetRole": [ + { + "input": { + "RoleName": "Test-Role" + }, + "output": { + "Role": { + "Arn": "arn:aws:iam::123456789012:role/Test-Role", + "AssumeRolePolicyDocument": "", + "CreateDate": "2013-04-18T05:01:58Z", + "Path": "/", + "RoleId": "AIDIODR4TAW7CSEXAMPLE", + "RoleName": "Test-Role" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the role named Test-Role.", + "id": "5b7d03a6-340c-472d-aa77-56425950d8b0", + "title": "To get information about an IAM role" + } + ], + "GetUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "User": { + "Arn": "arn:aws:iam::123456789012:user/Bob", + "CreateDate": "2012-09-21T23:03:13Z", + "Path": "/", + "UserId": "AKIAIOSFODNN7EXAMPLE", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command gets information about the IAM user named Bob.", + "id": "ede000a1-9e4c-40db-bd0a-d4f95e41a6ab", + "title": "To get information about an IAM user" + } + ], + "ListAccessKeys": [ + { + "input": { + "UserName": "Alice" + }, + "output": { + "AccessKeyMetadata": [ + { + "AccessKeyId": "AKIA111111111EXAMPLE", + "CreateDate": "2016-12-01T22:19:58Z", + "Status": "Active", + "UserName": "Alice" + }, + { + "AccessKeyId": "AKIA222222222EXAMPLE", + "CreateDate": "2016-12-01T22:20:01Z", + "Status": "Active", + "UserName": "Alice" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the access keys IDs for the IAM user named Alice.", + "id": "15571463-ebea-411a-a021-1c76bd2a3625", + "title": "To list the access key IDs for an IAM user" + } + ], + "ListAccountAliases": [ + { + "input": { + }, + "output": { + "AccountAliases": [ + "exmaple-corporation" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the aliases for the current account.", + "id": "e27b457a-16f9-4e05-a006-3df7b3472741", + "title": "To list account aliases" + } + ], + "ListGroupPolicies": [ + { + "input": { + "GroupName": "Admins" + }, + "output": { + "PolicyNames": [ + "AdminRoot", + "KeyPolicy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the names of in-line policies that are embedded in the IAM group named Admins.", + "id": "02de5095-2410-4d3a-ac1b-cc40234af68f", + "title": "To list the in-line policies for an IAM group" + } + ], + "ListGroups": [ + { + "input": { + }, + "output": { + "Groups": [ + { + "Arn": "arn:aws:iam::123456789012:group/Admins", + "CreateDate": "2016-12-15T21:40:08.121Z", + "GroupId": "AGPA1111111111EXAMPLE", + "GroupName": "Admins", + "Path": "/division_abc/subdivision_xyz/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/engineering/Test", + "CreateDate": "2016-11-30T14:10:01.156Z", + "GroupId": "AGP22222222222EXAMPLE", + "GroupName": "Test", + "Path": "/division_abc/subdivision_xyz/product_1234/engineering/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/Managers", + "CreateDate": "2016-06-12T20:14:52.032Z", + "GroupId": "AGPI3333333333EXAMPLE", + "GroupName": "Managers", + "Path": "/division_abc/subdivision_xyz/product_1234/" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the IAM groups in the current account:", + "id": "b3ab1380-2a21-42fb-8e85-503f65512c66", + "title": "To list the IAM groups for the current account" + } + ], + "ListGroupsForUser": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "Groups": [ + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/engineering/Test", + "CreateDate": "2016-11-30T14:10:01.156Z", + "GroupId": "AGP2111111111EXAMPLE", + "GroupName": "Test", + "Path": "/division_abc/subdivision_xyz/product_1234/engineering/" + }, + { + "Arn": "arn:aws:iam::123456789012:group/division_abc/subdivision_xyz/product_1234/Managers", + "CreateDate": "2016-06-12T20:14:52.032Z", + "GroupId": "AGPI222222222SEXAMPLE", + "GroupName": "Managers", + "Path": "/division_abc/subdivision_xyz/product_1234/" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command displays the groups that the IAM user named Bob belongs to.", + "id": "278ec2ee-fc28-4136-83fb-433af0ae46a2", + "title": "To list the groups that an IAM user belongs to" + } + ], + "ListSigningCertificates": [ + { + "input": { + "UserName": "Bob" + }, + "output": { + "Certificates": [ + { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "Status": "Active", + "UploadDate": "2013-06-06T21:40:08Z", + "UserName": "Bob" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the signing certificates for the IAM user named Bob.", + "id": "b4c10256-4fc9-457e-b3fd-4a110d4d73dc", + "title": "To list the signing certificates for an IAM user" + } + ], + "ListUsers": [ + { + "input": { + }, + "output": { + "Users": [ + { + "Arn": "arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Juan", + "CreateDate": "2012-09-05T19:38:48Z", + "PasswordLastUsed": "2016-09-08T21:47:36Z", + "Path": "/division_abc/subdivision_xyz/engineering/", + "UserId": "AID2MAB8DPLSRHEXAMPLE", + "UserName": "Juan" + }, + { + "Arn": "arn:aws:iam::123456789012:user/division_abc/subdivision_xyz/engineering/Anika", + "CreateDate": "2014-04-09T15:43:45Z", + "PasswordLastUsed": "2016-09-24T16:18:07Z", + "Path": "/division_abc/subdivision_xyz/engineering/", + "UserId": "AIDIODR4TAW7CSEXAMPLE", + "UserName": "Anika" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the IAM users in the current account.", + "id": "9edfbd73-03d8-4d8a-9a79-76c85e8c8298", + "title": "To list IAM users" + } + ], + "ListVirtualMFADevices": [ + { + "input": { + }, + "output": { + "VirtualMFADevices": [ + { + "SerialNumber": "arn:aws:iam::123456789012:mfa/ExampleMFADevice" + }, + { + "SerialNumber": "arn:aws:iam::123456789012:mfa/Juan" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command lists the virtual MFA devices that have been configured for the current account.", + "id": "54f9ac18-5100-4070-bec4-fe5f612710d5", + "title": "To list virtual MFA devices" + } + ], + "PutGroupPolicy": [ + { + "input": { + "GroupName": "Admins", + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"*\",\"Resource\":\"*\"}}", + "PolicyName": "AllPerms" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds a policy named AllPerms to the IAM group named Admins.", + "id": "4bc17418-758f-4d0f-ab0c-4d00265fec2e", + "title": "To add a policy to a group" + } + ], + "PutRolePolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}}", + "PolicyName": "S3AccessPolicy", + "RoleName": "S3Access" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command adds a permissions policy to the role named Test-Role.", + "id": "de62fd00-46c7-4601-9e0d-71d5fbb11ecb", + "title": "To attach a permissions policy to an IAM role" + } + ], + "PutUserPolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"*\",\"Resource\":\"*\"}}", + "PolicyName": "AllAccessPolicy", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command attaches a policy to the IAM user named Bob.", + "id": "2551ffc6-3576-4d39-823f-30b60bffc2c7", + "title": "To attach a policy to an IAM user" + } + ], + "RemoveRoleFromInstanceProfile": [ + { + "input": { + "InstanceProfileName": "ExampleInstanceProfile", + "RoleName": "Test-Role" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the role named Test-Role from the instance profile named ExampleInstanceProfile.", + "id": "6d9f46f1-9f4a-4873-b403-51a85c5c627c", + "title": "To remove a role from an instance profile" + } + ], + "RemoveUserFromGroup": [ + { + "input": { + "GroupName": "Admins", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command removes the user named Bob from the IAM group named Admins.", + "id": "fb54d5b4-0caf-41d8-af0e-10a84413f174", + "title": "To remove a user from an IAM group" + } + ], + "UpdateAccessKey": [ + { + "input": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Status": "Inactive", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command deactivates the specified access key (access key ID and secret access key) for the IAM user named Bob.", + "id": "02b556fd-e673-49b7-ab6b-f2f9035967d0", + "title": "To activate or deactivate an access key for an IAM user" + } + ], + "UpdateAccountPasswordPolicy": [ + { + "input": { + "MinimumPasswordLength": 8, + "RequireNumbers": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command sets the password policy to require a minimum length of eight characters and to require one or more numbers in the password:", + "id": "c263a1af-37dc-4423-8dba-9790284ef5e0", + "title": "To set or change the current account password policy" + } + ], + "UpdateAssumeRolePolicy": [ + { + "input": { + "PolicyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":[\"ec2.amazonaws.com\"]},\"Action\":[\"sts:AssumeRole\"]}]}", + "RoleName": "S3AccessForEC2Instances" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command updates the role trust policy for the role named Test-Role:", + "id": "c9150063-d953-4e99-9576-9685872006c6", + "title": "To update the trust policy for an IAM role" + } + ], + "UpdateGroup": [ + { + "input": { + "GroupName": "Test", + "NewGroupName": "Test-1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the name of the IAM group Test to Test-1.", + "id": "f0cf1662-91ae-4278-a80e-7db54256ccba", + "title": "To rename an IAM group" + } + ], + "UpdateLoginProfile": [ + { + "input": { + "Password": "SomeKindOfPassword123!@#", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command creates or changes the password for the IAM user named Bob.", + "id": "036d9498-ecdb-4ed6-a8d8-366c383d1487", + "title": "To change the password for an IAM user" + } + ], + "UpdateSigningCertificate": [ + { + "input": { + "CertificateId": "TA7SMP42TDN5Z26OBPJE7EXAMPLE", + "Status": "Inactive", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the status of a signing certificate for a user named Bob to Inactive.", + "id": "829aee7b-efc5-4b3b-84a5-7f899b38018d", + "title": "To change the active status of a signing certificate for an IAM user" + } + ], + "UpdateUser": [ + { + "input": { + "NewUserName": "Robert", + "UserName": "Bob" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command changes the name of the IAM user Bob to Robert. It does not change the user's path.", + "id": "275d53ed-347a-44e6-b7d0-a96276154352", + "title": "To change an IAM user's name" + } + ], + "UploadServerCertificate": [ + { + "input": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "Path": "/company/servercerts/", + "PrivateKey": "-----BEGIN DSA PRIVATE KEY----------END DSA PRIVATE KEY-----", + "ServerCertificateName": "ProdServerCert" + }, + "output": { + "ServerCertificateMetadata": { + "Arn": "arn:aws:iam::123456789012:server-certificate/company/servercerts/ProdServerCert", + "Expiration": "2012-05-08T01:02:03.004Z", + "Path": "/company/servercerts/", + "ServerCertificateId": "ASCA1111111111EXAMPLE", + "ServerCertificateName": "ProdServerCert", + "UploadDate": "2010-05-08T01:02:03.004Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following upload-server-certificate command uploads a server certificate to your AWS account:", + "id": "06eab6d1-ebf2-4bd9-839d-f7508b9a38b6", + "title": "To upload a server certificate to your AWS account" + } + ], + "UploadSigningCertificate": [ + { + "input": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "UserName": "Bob" + }, + "output": { + "Certificate": { + "CertificateBody": "-----BEGIN CERTIFICATE----------END CERTIFICATE-----", + "CertificateId": "ID123456789012345EXAMPLE", + "Status": "Active", + "UploadDate": "2015-06-06T21:40:08.121Z", + "UserName": "Bob" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following command uploads a signing certificate for the IAM user named Bob.", + "id": "e67489b6-7b73-4e30-9ed3-9a9e0231e458", + "title": "To upload a signing certificate for an IAM user" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/iam/2010-05-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/iam/2010-05-08/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -195,4 +195,4 @@ "result_key": "EvaluationResults" } } -} \ No newline at end of file +} diff -Nru python-botocore-1.4.70/botocore/data/iam/2010-05-08/service-2.json python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/service-2.json --- python-botocore-1.4.70/botocore/data/iam/2010-05-08/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,7 +7,9 @@ "protocol":"query", "serviceAbbreviation":"IAM", "serviceFullName":"AWS Identity and Access Management", + "serviceId":"IAM", "signatureVersion":"v4", + "uid":"iam-2010-05-08", "xmlNamespace":"https://iam.amazonaws.com/doc/2010-05-08/" }, "operations":{ @@ -24,7 +26,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource.

This action is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

" + "documentation":"

Adds a new client ID (also known as audience) to the list of client IDs already registered for the specified IAM OpenID Connect (OIDC) provider resource.

This operation is idempotent; it does not fail or return an error if you add an existing client ID to the provider.

" }, "AddRoleToInstanceProfile":{ "name":"AddRoleToInstanceProfile", @@ -37,9 +39,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds the specified IAM role to the specified instance profile.

The caller of this API must be granted the PassRole permission on the IAM role by a permission policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Adds the specified IAM role to the specified instance profile. An instance profile can contain only one role, and this limit cannot be increased. You can remove the existing role and then add a different role to an instance profile. You must then wait for the change to appear across all of AWS because of eventual consistency. To force the change, you must disassociate the instance profile and then associate the instance profile, or you can stop your instance and then restart it.

The caller of this API must be granted the PassRole permission on the IAM role by a permissions policy.

For more information about roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "AddUserToGroup":{ "name":"AddUserToGroup", @@ -66,9 +69,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified IAM group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified IAM group.

You use this API to attach a managed policy to a group. To embed an inline policy in a group, use PutGroupPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "AttachRolePolicy":{ "name":"AttachRolePolicy", @@ -81,9 +85,11 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified IAM role.

When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy. You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified IAM role. When you attach a managed policy to a role, the managed policy becomes part of the role's permission (access) policy.

You cannot use a managed policy as the role's trust policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy.

Use this API to attach a managed policy to a role. To embed an inline policy in a role, use PutRolePolicy. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "AttachUserPolicy":{ "name":"AttachUserPolicy", @@ -96,9 +102,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Attaches the specified managed policy to the specified user.

You use this API to attach a managed policy to a user. To embed an inline policy in a user, use PutUserPolicy.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ChangePassword":{ "name":"ChangePassword", @@ -115,7 +122,7 @@ {"shape":"PasswordPolicyViolationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the password of the IAM user who is calling this action. The root account password is not affected by this action.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Changes the password of the IAM user who is calling this operation. The AWS account root user password is not affected by this operation.

To change the password for a different user, see UpdateLoginProfile. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" }, "CreateAccessKey":{ "name":"CreateAccessKey", @@ -133,7 +140,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

" + "documentation":"

Creates a new AWS secret access key and corresponding AWS access key ID for the specified user. The default status for new keys is Active.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials. This is true even if the AWS account has no associated users.

For information about limits on the number of keys you can create, see Limitations on IAM Entities in the IAM User Guide.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation. You must save the key (for example, in a text file) if you want to be able to access it again. If a secret key is lost, you can delete the access keys for the associated user and then create new keys.

" }, "CreateAccountAlias":{ "name":"CreateAccountAlias", @@ -147,7 +154,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Creates an alias for your AWS account. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "CreateGroup":{ "name":"CreateGroup", @@ -166,7 +173,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new group.

For information about the number of groups you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateInstanceProfile":{ "name":"CreateInstanceProfile", @@ -184,7 +191,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new instance profile. For information about instance profiles, go to About Instance Profiles.

For information about the number of instance profiles you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateLoginProfile":{ "name":"CreateLoginProfile", @@ -204,7 +211,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Creates a password for the specified user, giving the user the ability to access AWS services through the AWS Management Console. For more information about managing passwords, see Managing Passwords in the IAM User Guide.

" }, "CreateOpenIDConnectProvider":{ "name":"CreateOpenIDConnectProvider", @@ -223,7 +230,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy to establish a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the URL of the OIDC identity provider (IdP) to trust, a list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider, and a list of thumbprints of the server certificate(s) that the IdP uses. You get all of this information from the OIDC IdP that you want to use for access to AWS.

Because trust for the OIDC provider is ultimately derived from the IAM provider that this action creates, it is a best practice to limit access to the CreateOpenIDConnectProvider action to highly-privileged users.

" + "documentation":"

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

The OIDC provider that you create with this operation can be used as a principal in a role's trust policy. Such a policy establishes a trust relationship between AWS and the OIDC provider.

When you create the IAM OIDC provider, you specify the following:

  • The URL of the OIDC identity provider (IdP) to trust

  • A list of client IDs (also known as audiences) that identify the application or applications that are allowed to authenticate using the OIDC provider

  • A list of thumbprints of one or more server certificates that the IdP uses

You get all of this information from the OIDC IdP that you want to use to access AWS.

The trust for the OIDC provider is derived from the IAM provider that this operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged users.

" }, "CreatePolicy":{ "name":"CreatePolicy", @@ -243,7 +250,7 @@ {"shape":"MalformedPolicyDocumentException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Creates a new managed policy for your AWS account.

This operation creates a policy version with a version identifier of v1 and sets v1 as the policy's default version. For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

For more information about managed policies in general, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "CreatePolicyVersion":{ "name":"CreatePolicyVersion", @@ -263,7 +270,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Creates a new version of the specified managed policy. To update a managed policy, you create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must delete an existing version using DeletePolicyVersion before you create a new version.

Optionally, you can set the new version as the policy's default version. The default version is the version that is in effect for the IAM users, groups, and roles to which the policy is attached.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "CreateRole":{ "name":"CreateRole", @@ -278,11 +285,13 @@ }, "errors":[ {"shape":"LimitExceededException"}, + {"shape":"InvalidInputException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"MalformedPolicyDocumentException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new role for your AWS account. For more information about roles, go to Working with Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new role for your AWS account. For more information about roles, go to IAM Roles. For information about limitations on role names and the number of roles you can create, go to Limitations on IAM Entities in the IAM User Guide.

" }, "CreateSAMLProvider":{ "name":"CreateSAMLProvider", @@ -301,7 +310,44 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy to enable federated users who sign-in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload an a SAML metadata document that you get from your IdP and that includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" + "documentation":"

Creates an IAM resource that describes an identity provider (IdP) that supports SAML 2.0.

The SAML provider resource that you create with this operation can be used as a principal in an IAM role's trust policy. Such a policy can enable federated users who sign in using the SAML IdP to assume the role. You can create an IAM role that supports Web-based single sign-on (SSO) to the AWS Management Console or one that supports API access to AWS.

When you create the SAML provider resource, you upload a SAML metadata document that you get from your IdP. That document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that the IdP sends. You must generate the metadata document using the identity management software that is used as your organization's IdP.

This operation requires Signature Version 4.

For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console and About SAML 2.0-based Federation in the IAM User Guide.

" + }, + "CreateServiceLinkedRole":{ + "name":"CreateServiceLinkedRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceLinkedRoleRequest"}, + "output":{ + "shape":"CreateServiceLinkedRoleResponse", + "resultWrapper":"CreateServiceLinkedRoleResult" + }, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Creates an IAM role that is linked to a specific AWS service. The service controls the attached policies and when the role can be deleted. This helps ensure that the service is not broken by an unexpectedly changed or deleted role, which could put your AWS resources into an unknown state. Allowing the service to control the role helps improve service stability and proper cleanup when a service and its role are no longer needed. For more information, see Using Service-Linked Roles in the IAM User Guide.

To attach a policy to this service-linked role, you must make the request using the AWS service that depends on this role.

" + }, + "CreateServiceSpecificCredential":{ + "name":"CreateServiceSpecificCredential", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceSpecificCredentialRequest"}, + "output":{ + "shape":"CreateServiceSpecificCredentialResponse", + "resultWrapper":"CreateServiceSpecificCredentialResult" + }, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceNotSupportedException"} + ], + "documentation":"

Generates a set of credentials consisting of a user name and password that can be used to access the service specified in the request. These credentials are generated by IAM, and can be used only for the specified service.

You can have a maximum of two sets of service-specific credentials for each supported service per user.

The only supported service at this time is AWS CodeCommit.

You can reset the password to a new service-generated value by calling ResetServiceSpecificCredential.

For more information about service-specific credentials, see Using IAM with AWS CodeCommit: Git Credentials, SSH Keys, and AWS Access Keys in the IAM User Guide.

" }, "CreateUser":{ "name":"CreateUser", @@ -318,9 +364,11 @@ {"shape":"LimitExceededException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new IAM user for your AWS account.

For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Creates a new IAM user for your AWS account.

For information about limitations on the number of IAM users you can create, see Limitations on IAM Entities in the IAM User Guide.

" }, "CreateVirtualMFADevice":{ "name":"CreateVirtualMFADevice", @@ -338,7 +386,7 @@ {"shape":"EntityAlreadyExistsException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information, such as your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

" + "documentation":"

Creates a new virtual MFA device for the AWS account. After creating the virtual MFA, use EnableMFADevice to attach the MFA device to an IAM user. For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

For information about limits on the number of MFA devices you can create, see Limitations on Entities in the IAM User Guide.

The seed information contained in the QR code and the Base32 string should be treated like any other secret access information. In other words, protect the seed information as you would your AWS access keys or your passwords. After you provision your virtual device, you should ensure that the information is destroyed following secure procedures.

" }, "DeactivateMFADevice":{ "name":"DeactivateMFADevice", @@ -353,7 +401,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" + "documentation":"

Deactivates the specified MFA device and removes it from association with the user name for which it was originally enabled.

For more information about creating and working with virtual MFA devices, go to Enabling a Virtual Multi-factor Authentication (MFA) Device in the IAM User Guide.

" }, "DeleteAccessKey":{ "name":"DeleteAccessKey", @@ -367,7 +415,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

" + "documentation":"

Deletes the access key pair associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "DeleteAccountAlias":{ "name":"DeleteAccountAlias", @@ -381,7 +429,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Deletes the specified AWS account alias. For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "DeleteAccountPasswordPolicy":{ "name":"DeleteAccountPasswordPolicy", @@ -423,7 +471,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM group.

A group can also have managed policies attached to it. To detach a managed policy from a group, use DetachGroupPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteInstanceProfile":{ "name":"DeleteInstanceProfile", @@ -438,7 +486,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Deletes the specified instance profile. The instance profile must not have an associated role.

Make sure that you do not have any Amazon EC2 instances running with the instance profile you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

For more information about instance profiles, go to About Instance Profiles.

" }, "DeleteLoginProfile":{ "name":"DeleteLoginProfile", @@ -453,7 +501,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

" + "documentation":"

Deletes the password for the specified IAM user, which terminates the user's ability to access AWS services through the AWS Management Console.

Deleting a user's password does not prevent a user from accessing AWS through the command line interface or the API. To prevent all user access, you must also either make any access keys inactive or delete them. For more information about making keys inactive or deleting them, see UpdateAccessKey and DeleteAccessKey.

" }, "DeleteOpenIDConnectProvider":{ "name":"DeleteOpenIDConnectProvider", @@ -467,7 +515,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes an OpenID Connect identity provider (IdP) resource object in IAM.

Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails.

This action is idempotent; it does not fail or return an error if you call the action for a provider that does not exist.

" + "documentation":"

Deletes an OpenID Connect identity provider (IdP) resource object in IAM.

Deleting an IAM OIDC provider resource does not update any roles that reference the provider as a principal in their trust policies. Any attempt to assume a role that references a deleted provider fails.

This operation is idempotent; it does not fail or return an error if you call the operation for a provider that does not exist.

" }, "DeletePolicy":{ "name":"DeletePolicy", @@ -483,7 +531,7 @@ {"shape":"DeleteConflictException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to, and you must delete all of the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy APIs. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified managed policy.

Before you can delete a managed policy, you must first detach the policy from all users, groups, and roles that it is attached to. In addition, you must delete all the policy's versions. The following steps describe the process for deleting a managed policy:

  • Detach the policy from all users, groups, and roles that the policy is attached to, using the DetachUserPolicy, DetachGroupPolicy, or DetachRolePolicy API operations. To list all the users, groups, and roles that a policy is attached to, use ListEntitiesForPolicy.

  • Delete all versions of the policy using DeletePolicyVersion. To list the policy's versions, use ListPolicyVersions. You cannot use DeletePolicyVersion to delete the version that is marked as the default version. You delete the policy's default version in the next step of the process.

  • Delete the policy (this automatically deletes the policy's default version) using this API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeletePolicyVersion":{ "name":"DeletePolicyVersion", @@ -499,7 +547,7 @@ {"shape":"DeleteConflictException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified version from the specified managed policy.

You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified version from the specified managed policy.

You cannot delete the default version from a policy using this API. To delete the default version from a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

For information about versions for managed policies, see Versioning for Managed Policies in the IAM User Guide.

" }, "DeleteRole":{ "name":"DeleteRole", @@ -512,9 +560,25 @@ {"shape":"NoSuchEntityException"}, {"shape":"DeleteConflictException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" + }, + "DeleteRolePermissionsBoundary":{ + "name":"DeleteRolePermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRolePermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified role. The role must not have any policies attached. For more information about roles, go to Working with Roles.

Make sure you do not have any Amazon EC2 instances running with the role you are about to delete. Deleting a role or instance profile that is associated with a running instance will break any applications running on the instance.

" + "documentation":"

Deletes the permissions boundary for the specified IAM role.

Deleting the permissions boundary for a role might increase its permissions. For example, it might allow anyone who assumes the role to perform all the actions granted in its permissions policies.

" }, "DeleteRolePolicy":{ "name":"DeleteRolePolicy", @@ -526,9 +590,10 @@ "errors":[ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM role.

A role can also have managed policies attached to it. To detach a managed policy from a role, use DetachRolePolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteSAMLProvider":{ "name":"DeleteSAMLProvider", @@ -543,7 +608,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

" + "documentation":"

Deletes a SAML provider resource in IAM.

Deleting the provider resource from IAM does not update any roles that reference the SAML provider resource's ARN as a principal in their trust policies. Any attempt to assume a role that references a non-existent provider resource ARN fails.

This operation requires Signature Version 4.

" }, "DeleteSSHPublicKey":{ "name":"DeleteSSHPublicKey", @@ -555,7 +620,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Deletes the specified SSH public key.

The SSH public key deleted by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Deletes the specified SSH public key.

The SSH public key deleted by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "DeleteServerCertificate":{ "name":"DeleteServerCertificate", @@ -570,7 +635,37 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified server certificate.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

" + "documentation":"

Deletes the specified server certificate.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

If you are using a server certificate with Elastic Load Balancing, deleting the certificate could have implications for your application. If Elastic Load Balancing doesn't detect the deletion of bound certificates, it may continue to use the certificates. This could cause Elastic Load Balancing to stop accepting traffic. We recommend that you remove the reference to the certificate from Elastic Load Balancing before using this command to delete the certificate. For more information, go to DeleteLoadBalancerListeners in the Elastic Load Balancing API Reference.

" + }, + "DeleteServiceLinkedRole":{ + "name":"DeleteServiceLinkedRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceLinkedRoleRequest"}, + "output":{ + "shape":"DeleteServiceLinkedRoleResponse", + "resultWrapper":"DeleteServiceLinkedRoleResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Submits a service-linked role deletion request and returns a DeletionTaskId, which you can use to check the status of the deletion. Before you call this operation, confirm that the role has no active sessions and that any resources used by the role in the linked service are deleted. If you call this operation more than once for the same service-linked role and an earlier deletion task is not complete, then the DeletionTaskId of the earlier request is returned.

If you submit a deletion request for a service-linked role whose linked service is still accessing a resource, then the deletion task fails. If it fails, the GetServiceLinkedRoleDeletionStatus API operation returns the reason for the failure, usually including the resources that must be deleted. To delete the service-linked role, you must first remove those resources from the linked service and then submit the deletion request again. Resources are specific to the service that is linked to the role. For more information about removing resources from a service, see the AWS documentation for your service.

For more information about service-linked roles, see Roles Terms and Concepts: AWS Service-Linked Role in the IAM User Guide.

" + }, + "DeleteServiceSpecificCredential":{ + "name":"DeleteServiceSpecificCredential", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceSpecificCredentialRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"} + ], + "documentation":"

Deletes the specified service-specific credential.

" }, "DeleteSigningCertificate":{ "name":"DeleteSigningCertificate", @@ -584,7 +679,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated IAM users.

" + "documentation":"

Deletes a signing certificate associated with the specified IAM user.

If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated IAM users.

" }, "DeleteUser":{ "name":"DeleteUser", @@ -597,9 +692,23 @@ {"shape":"LimitExceededException"}, {"shape":"NoSuchEntityException"}, {"shape":"DeleteConflictException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Deletes the specified IAM user. Unlike the AWS Management Console, when you delete a user programmatically, you must delete the items attached to the user manually, or the deletion fails. For more information, see Deleting an IAM User. Before attempting to delete a user, remove the following items:

" + }, + "DeleteUserPermissionsBoundary":{ + "name":"DeleteUserPermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserPermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified IAM user. The user must not belong to any groups or have any access keys, signing certificates, or attached policies.

" + "documentation":"

Deletes the permissions boundary for the specified IAM user.

Deleting the permissions boundary for a user might increase its permissions by allowing the user to perform all the actions granted in its permissions policies.

" }, "DeleteUserPolicy":{ "name":"DeleteUserPolicy", @@ -613,7 +722,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Deletes the specified inline policy that is embedded in the specified IAM user.

A user can also have managed policies attached to it. To detach a managed policy from a user, use DetachUserPolicy. For more information about policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "DeleteVirtualMFADevice":{ "name":"DeleteVirtualMFADevice", @@ -643,7 +752,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified IAM group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified IAM group.

A group can also have inline policies embedded with it. To delete an inline policy, use the DeleteGroupPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DetachRolePolicy":{ "name":"DetachRolePolicy", @@ -656,9 +765,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified role.

A role can also have inline policies embedded with it. To delete an inline policy, use the DeleteRolePolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "DetachUserPolicy":{ "name":"DetachUserPolicy", @@ -673,7 +783,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Removes the specified managed policy from the specified user.

A user can also have inline policies embedded with it. To delete an inline policy, use the DeleteUserPolicy API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "EnableMFADevice":{ "name":"EnableMFADevice", @@ -706,7 +816,40 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + "documentation":"

Generates a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + }, + "GenerateOrganizationsAccessReport":{ + "name":"GenerateOrganizationsAccessReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateOrganizationsAccessReportRequest"}, + "output":{ + "shape":"GenerateOrganizationsAccessReportResponse", + "resultWrapper":"GenerateOrganizationsAccessReportResult" + }, + "errors":[ + {"shape":"ReportGenerationLimitExceededException"} + ], + "documentation":"

Generates a report for service last accessed data for AWS Organizations. You can generate a report for any entities (organization root, organizational unit, or account) or policies in your organization.

To call this operation, you must be signed in using your AWS Organizations master account credentials. You can use your long-term IAM user or root user credentials, or temporary credentials from assuming an IAM role. SCPs must be enabled for your organization root. You must have the required IAM and AWS Organizations permissions. For more information, see Refining Permissions Using Service Last Accessed Data in the IAM User Guide.

You can generate a service last accessed data report for entities by specifying only the entity's path. This data includes a list of services that are allowed by any service control policies (SCPs) that apply to the entity.

You can generate a service last accessed data report for a policy by specifying an entity's path and an optional AWS Organizations policy ID. This data includes a list of services that are allowed by the specified SCP.

For each service in both report types, the data includes the most recent account activity that the policy allows to account principals in the entity or the entity's children. For important information about the data, reporting period, permissions required, troubleshooting, and supported Regions see Reducing Permissions Using Service Last Accessed Data in the IAM User Guide.

The data includes all attempts to access AWS, not just the successful ones. This includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An unexpected entry in the service last accessed data does not mean that an account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with CloudTrail in the IAM User Guide.

This operation returns a JobId. Use this parameter in the GetOrganizationsAccessReport operation to check the status of the report generation. To check the status of this request, use the JobId parameter in the GetOrganizationsAccessReport operation and test the JobStatus response parameter. When the job is complete, you can retrieve the report.

To generate a service last accessed data report for entities, specify an entity path without specifying the optional AWS Organizations policy ID. The type of entity that you specify determines the data returned in the report.

  • Root – When you specify the organizations root as the entity, the resulting report lists all of the services allowed by SCPs that are attached to your root. For each service, the report includes data for all accounts in your organization except the master account, because the master account is not limited by SCPs.

  • OU – When you specify an organizational unit (OU) as the entity, the resulting report lists all of the services allowed by SCPs that are attached to the OU and its parents. For each service, the report includes data for all accounts in the OU or its children. This data excludes the master account, because the master account is not limited by SCPs.

  • Master account – When you specify the master account, the resulting report lists all AWS services, because the master account is not limited by SCPs. For each service, the report includes data for only the master account.

  • Account – When you specify another account as the entity, the resulting report lists all of the services allowed by SCPs that are attached to the account and its parents. For each service, the report includes data for only the specified account.

To generate a service last accessed data report for policies, specify an entity path and the optional AWS Organizations policy ID. The type of entity that you specify determines the data returned for each service.

  • Root – When you specify the root entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for all accounts in your organization to which the SCP applies. This data excludes the master account, because the master account is not limited by SCPs. If the SCP is not attached to any entities in the organization, then the report will return a list of services with no data.

  • OU – When you specify an OU entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for all accounts in the OU or its children to which the SCP applies. This means that other accounts outside the OU that are affected by the SCP might not be included in the data. This data excludes the master account, because the master account is not limited by SCPs. If the SCP is not attached to the OU or one of its children, the report will return a list of services with no data.

  • Master account – When you specify the master account, the resulting report lists all AWS services, because the master account is not limited by SCPs. If you specify a policy ID in the CLI or API, the policy is ignored. For each service, the report includes data for only the master account.

  • Account – When you specify another account entity and a policy ID, the resulting report lists all of the services that are allowed by the specified SCP. For each service, the report includes data for only the specified account. This means that other accounts in the organization that are affected by the SCP might not be included in the data. If the SCP is not attached to the account, the report will return a list of services with no data.

Service last accessed data does not use other policy types when determining whether a principal could access a service. These other policy types include identity-based policies, resource-based policies, access control lists, IAM permissions boundaries, and STS assume role policies. It only applies SCP logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

For more information about service last accessed data, see Reducing Policy Scope by Viewing User Activity in the IAM User Guide.

" + }, + "GenerateServiceLastAccessedDetails":{ + "name":"GenerateServiceLastAccessedDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateServiceLastAccessedDetailsRequest"}, + "output":{ + "shape":"GenerateServiceLastAccessedDetailsResponse", + "resultWrapper":"GenerateServiceLastAccessedDetailsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Generates a report that includes details about when an IAM resource (user, group, role, or policy) was last used in an attempt to access AWS services. Recent activity usually appears within four hours. IAM reports activity for the last 365 days, or less if your Region began supporting this feature within the last year. For more information, see Regions Where Data Is Tracked.

The service last accessed data includes all attempts to access an AWS API, not just the successful ones. This includes all attempts that were made using the AWS Management Console, the AWS API through any of the SDKs, or any of the command line tools. An unexpected entry in the service last accessed data does not mean that your account has been compromised, because the request might have been denied. Refer to your CloudTrail logs as the authoritative source for information about all API calls and whether they were successful or denied access. For more information, see Logging IAM Events with CloudTrail in the IAM User Guide.

The GenerateServiceLastAccessedDetails operation returns a JobId. Use this parameter in the following operations to retrieve the following details from your report:

  • GetServiceLastAccessedDetails – Use this operation for users, groups, roles, or policies to list every AWS service that the resource could access using permissions policies. For each service, the response includes information about the most recent access attempt.

    The JobId returned by GenerateServiceLastAccessedDetail must be used by the same role within a session, or by the same user when used to call GetServiceLastAccessedDetail.

  • GetServiceLastAccessedDetailsWithEntities – Use this operation for groups and policies to list information about the associated entities (users or roles) that attempted to access a specific AWS service.

To check the status of the GenerateServiceLastAccessedDetails request, use the JobId parameter in the same operations and test the JobStatus response parameter.

For additional information about the permissions policies that allow an identity (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess operation.

Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

For more information about service last accessed data, see Reducing Policy Scope by Viewing User Activity in the IAM User Guide.

" }, "GetAccessKeyLastUsed":{ "name":"GetAccessKeyLastUsed", @@ -719,10 +862,7 @@ "shape":"GetAccessKeyLastUsedResponse", "resultWrapper":"GetAccessKeyLastUsedResult" }, - "errors":[ - {"shape":"NoSuchEntityException"} - ], - "documentation":"

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and region that were specified in the last request made with that key.

" + "documentation":"

Retrieves information about when the specified access key was last used. The information includes the date and time of last use, along with the AWS service and Region that were specified in the last request made with that key.

" }, "GetAccountAuthorizationDetails":{ "name":"GetAccountAuthorizationDetails", @@ -738,7 +878,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account.

You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Retrieves information about all IAM users, groups, roles, and policies in your AWS account, including their relationships to one another. Use this API to obtain a snapshot of the configuration of IAM permissions (users, groups, roles, and policies) in your account.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

You can optionally filter the results using the Filter parameter. You can paginate the results using the MaxItems and Marker parameters.

" }, "GetAccountPasswordPolicy":{ "name":"GetAccountPasswordPolicy", @@ -754,7 +894,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

" + "documentation":"

Retrieves the password policy for the AWS account. For more information about using a password policy, go to Managing an IAM Password Policy.

" }, "GetAccountSummary":{ "name":"GetAccountSummary", @@ -769,7 +909,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide.

" + "documentation":"

Retrieves information about IAM entity usage and IAM quotas in the AWS account.

For information about limitations on IAM entities, see Limitations on IAM Entities in the IAM User Guide.

" }, "GetContextKeysForCustomPolicy":{ "name":"GetContextKeysForCustomPolicy", @@ -785,7 +925,7 @@ "errors":[ {"shape":"InvalidInputException"} ], - "documentation":"

Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

" + "documentation":"

Gets a list of all of the context keys referenced in the input policies. The policies are supplied as a list of one or more strings. To get the context keys from policies associated with an IAM user, group, or role, use GetContextKeysForPrincipalPolicy.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value specified in an IAM policy. Use GetContextKeysForCustomPolicy to understand what key names and values you must supply when you call SimulateCustomPolicy. Note that all parameters are shown in unencoded form here for clarity but must be URL encoded to be included as a part of a real HTML request.

" }, "GetContextKeysForPrincipalPolicy":{ "name":"GetContextKeysForPrincipalPolicy", @@ -802,7 +942,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"InvalidInputException"} ], - "documentation":"

Gets a list of all of the context keys referenced in all of the IAM policies attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of.

You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request, and can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy.

" + "documentation":"

Gets a list of all of the context keys referenced in all the IAM policies that are attached to the specified IAM entity. The entity can be an IAM user, group, or role. If you specify a user, then the request also includes all of the policies attached to groups that the user is a member of.

You can optionally include a list of one or more additional policies, specified as strings. If you want to include only a list of policies by string, use GetContextKeysForCustomPolicy instead.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use GetContextKeysForCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. Context keys can be evaluated by testing against a value in an IAM policy. Use GetContextKeysForPrincipalPolicy to understand what key names and values you must supply when you call SimulatePrincipalPolicy.

" }, "GetCredentialReport":{ "name":"GetCredentialReport", @@ -820,7 +960,7 @@ {"shape":"CredentialReportNotReadyException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" + "documentation":"

Retrieves a credential report for the AWS account. For more information about the credential report, see Getting Credential Reports in the IAM User Guide.

" }, "GetGroup":{ "name":"GetGroup", @@ -854,7 +994,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM group.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM group can also have managed policies attached to it. To retrieve a managed policy document that is attached to a group, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "GetInstanceProfile":{ "name":"GetInstanceProfile", @@ -871,7 +1011,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified instance profile, including the instance profile's path, GUID, ARN, and role. For more information about instance profiles, see About Instance Profiles in the IAM User Guide.

" }, "GetLoginProfile":{ "name":"GetLoginProfile", @@ -888,7 +1028,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the action returns a 404 (NoSuchEntity) error.

" + "documentation":"

Retrieves the user name and password-creation date for the specified IAM user. If the user has not been assigned a password, the operation returns a 404 (NoSuchEntity) error.

" }, "GetOpenIDConnectProvider":{ "name":"GetOpenIDConnectProvider", @@ -908,6 +1048,22 @@ ], "documentation":"

Returns information about the specified OpenID Connect (OIDC) provider resource object in IAM.

" }, + "GetOrganizationsAccessReport":{ + "name":"GetOrganizationsAccessReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOrganizationsAccessReportRequest"}, + "output":{ + "shape":"GetOrganizationsAccessReportResponse", + "resultWrapper":"GetOrganizationsAccessReportResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"} + ], + "documentation":"

Retrieves the service last accessed data report for AWS Organizations that was previously generated using the GenerateOrganizationsAccessReport operation. This operation retrieves the status of your report job and the report contents.

Depending on the parameters that you passed when you generated the report, the data returned could include different information. For details, see GenerateOrganizationsAccessReport.

To call this operation, you must be signed in to the master account in your organization. SCPs must be enabled for your organization root. You must have permissions to perform this operation. For more information, see Refining Permissions Using Service Last Accessed Data in the IAM User Guide.

For each service that principals in an account (root users, IAM users, or IAM roles) could access using SCPs, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, it returns the reason that it failed.

By default, the list is sorted by service namespace.

" + }, "GetPolicy":{ "name":"GetPolicy", "http":{ @@ -924,7 +1080,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified managed policy, including the policy's default version and the total number of IAM users, groups, and roles to which the policy is attached. To retrieve the list of the specific users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API. This API returns metadata about the policy. To retrieve the actual policy document for a specific version of the policy, use GetPolicyVersion.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded with an IAM user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "GetPolicyVersion":{ "name":"GetPolicyVersion", @@ -942,7 +1098,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified version of the specified managed policy, including the policy document.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

To list the available versions for a policy, use ListPolicyVersions.

This API retrieves information about managed policies. To retrieve information about an inline policy that is embedded in a user, group, or role, use the GetUserPolicy, GetGroupPolicy, or GetRolePolicy API.

For more information about the types of policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "GetRole":{ "name":"GetRole", @@ -959,7 +1115,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" + "documentation":"

Retrieves information about the specified role, including the role's path, GUID, ARN, and the role's trust policy that grants permission to assume the role. For more information about roles, see Working with Roles.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" }, "GetRolePolicy":{ "name":"GetRolePolicy", @@ -976,7 +1132,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about roles, see Using Roles to Delegate Permissions and Federate Identities.

" + "documentation":"

Retrieves the specified inline policy document that is embedded with the specified IAM role.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM role can also have managed policies attached to it. To retrieve a managed policy document that is attached to a role, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For more information about roles, see Using Roles to Delegate Permissions and Federate Identities.

" }, "GetSAMLProvider":{ "name":"GetSAMLProvider", @@ -994,7 +1150,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

" + "documentation":"

Returns the SAML provider metadocument that was uploaded when the IAM SAML provider resource object was created or updated.

This operation requires Signature Version 4.

" }, "GetSSHPublicKey":{ "name":"GetSSHPublicKey", @@ -1011,7 +1167,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"UnrecognizedPublicKeyEncodingException"} ], - "documentation":"

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Retrieves the specified SSH public key, including metadata about the key.

The SSH public key retrieved by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "GetServerCertificate":{ "name":"GetServerCertificate", @@ -1028,7 +1184,59 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

" + "documentation":"

Retrieves information about the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

" + }, + "GetServiceLastAccessedDetails":{ + "name":"GetServiceLastAccessedDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLastAccessedDetailsRequest"}, + "output":{ + "shape":"GetServiceLastAccessedDetailsResponse", + "resultWrapper":"GetServiceLastAccessedDetailsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves a service last accessed report that was created using the GenerateServiceLastAccessedDetails operation. You can use the JobId parameter in GetServiceLastAccessedDetails to retrieve the status of your report job. When the report is complete, you can retrieve the generated report. The report includes a list of AWS services that the resource (user, group, role, or managed policy) can access.

Service last accessed data does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

For each service that the resource could access using permissions policies, the operation returns details about the most recent access attempt. If there was no attempt, the service is listed without details about the most recent attempt to access the service. If the operation fails, the GetServiceLastAccessedDetails operation returns the reason that it failed.

The GetServiceLastAccessedDetails operation returns a list of services. This list includes the number of entities that have attempted to access the service and the date and time of the last attempt. It also returns the ARN of the following entity, depending on the resource ARN that you used to generate the report:

  • User – Returns the user ARN that you used to generate the report

  • Group – Returns the ARN of the group member (user) that last attempted to access the service

  • Role – Returns the role ARN that you used to generate the report

  • Policy – Returns the ARN of the user or role that last used the policy to attempt to access the service

By default, the list is sorted by service namespace.

" + }, + "GetServiceLastAccessedDetailsWithEntities":{ + "name":"GetServiceLastAccessedDetailsWithEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLastAccessedDetailsWithEntitiesRequest"}, + "output":{ + "shape":"GetServiceLastAccessedDetailsWithEntitiesResponse", + "resultWrapper":"GetServiceLastAccessedDetailsWithEntitiesResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

After you generate a group or policy report using the GenerateServiceLastAccessedDetails operation, you can use the JobId parameter in GetServiceLastAccessedDetailsWithEntities. This operation retrieves the status of your report job and a list of entities that could have used group or policy permissions to access the specified service.

  • Group – For a group report, this operation returns a list of users in the group that could have used the group’s policies in an attempt to access the service.

  • Policy – For a policy report, this operation returns a list of entities (users or roles) that could have used the policy in an attempt to access the service.

You can also use this operation for user or role reports to retrieve details about those entities.

If the operation fails, the GetServiceLastAccessedDetailsWithEntities operation returns the reason that it failed.

By default, the list of associated entities is sorted by date, with the most recent access listed first.

" + }, + "GetServiceLinkedRoleDeletionStatus":{ + "name":"GetServiceLinkedRoleDeletionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceLinkedRoleDeletionStatusRequest"}, + "output":{ + "shape":"GetServiceLinkedRoleDeletionStatusResponse", + "resultWrapper":"GetServiceLinkedRoleDeletionStatusResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Retrieves the status of your service-linked role deletion. After you use the DeleteServiceLinkedRole API operation to submit a service-linked role for deletion, you can use the DeletionTaskId parameter in GetServiceLinkedRoleDeletionStatus to check the status of the deletion. If the deletion fails, this operation returns the reason that it failed, if that information is returned by the service.

" }, "GetUser":{ "name":"GetUser", @@ -1062,7 +1270,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version, then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Retrieves the specified inline policy document that is embedded in the specified IAM user.

Policies returned by this API are URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

An IAM user can also have managed policies attached to it. To retrieve a managed policy document that is attached to a user, use GetPolicy to determine the policy's default version. Then use GetPolicyVersion to retrieve the policy document.

For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ListAccessKeys":{ "name":"ListAccessKeys", @@ -1079,7 +1287,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns information about the access key IDs associated with the specified IAM user. If there are none, the action returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

" + "documentation":"

Returns information about the access key IDs associated with the specified IAM user. If there is none, the operation returns an empty list.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

To ensure the security of your AWS account, the secret access key is accessible only during key and user creation.

" }, "ListAccountAliases":{ "name":"ListAccountAliases", @@ -1095,7 +1303,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" + "documentation":"

Lists the account alias associated with the AWS account (Note: you can have only one). For information about using an AWS account alias, see Using an Alias for Your AWS Account ID in the IAM User Guide.

" }, "ListAttachedGroupPolicies":{ "name":"ListAttachedGroupPolicies", @@ -1113,7 +1321,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM group.

An IAM group can also have inline policies embedded with it. To list the inline policies for a group, use the ListGroupPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListAttachedRolePolicies":{ "name":"ListAttachedRolePolicies", @@ -1131,7 +1339,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the action returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM role.

An IAM role can also have inline policies embedded with it. To list the inline policies for a role, use the ListRolePolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified role (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListAttachedUserPolicies":{ "name":"ListAttachedUserPolicies", @@ -1149,7 +1357,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the action returns an empty list.

" + "documentation":"

Lists all managed policies that are attached to the specified IAM user.

An IAM user can also have inline policies embedded with it. To list the inline policies for a user, use the ListUserPolicies API. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. You can use the PathPrefix parameter to limit the list of policies to only those matching the specified path prefix. If there are no policies attached to the specified group (or none that match the specified path prefix), the operation returns an empty list.

" }, "ListEntitiesForPolicy":{ "name":"ListEntitiesForPolicy", @@ -1184,7 +1392,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the action returns an empty list.

" + "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM group.

An IAM group can also have managed policies attached to it. To list the managed policies that are attached to a group, use ListAttachedGroupPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified group, the operation returns an empty list.

" }, "ListGroups":{ "name":"ListGroups", @@ -1233,7 +1441,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the instance profiles that have the specified path prefix. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the instance profiles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListInstanceProfilesForRole":{ "name":"ListInstanceProfilesForRole", @@ -1250,7 +1458,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the instance profiles that have the specified associated IAM role. If there are none, the action returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the instance profiles that have the specified associated IAM role. If there are none, the operation returns an empty list. For more information about instance profiles, go to About Instance Profiles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListMFADevices":{ "name":"ListMFADevices", @@ -1267,7 +1475,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this action lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the MFA devices for an IAM user. If the request includes a IAM user name, then this operation lists all the MFA devices associated with the specified user. If you do not specify a user name, IAM determines the user name implicitly based on the AWS access key ID signing the request for this API.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListOpenIDConnectProviders":{ "name":"ListOpenIDConnectProviders", @@ -1299,7 +1507,24 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS.

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Lists all the managed policies that are available in your AWS account, including your own customer-defined managed policies and all AWS managed policies.

You can filter the list of policies that is returned using the optional OnlyAttached, Scope, and PathPrefix parameters. For example, to list only the customer managed policies in your AWS account, set Scope to Local. To list only AWS managed policies, set Scope to AWS.

You can paginate the results using the MaxItems and Marker parameters.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "ListPoliciesGrantingServiceAccess":{ + "name":"ListPoliciesGrantingServiceAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesGrantingServiceAccessRequest"}, + "output":{ + "shape":"ListPoliciesGrantingServiceAccessResponse", + "resultWrapper":"ListPoliciesGrantingServiceAccessResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Retrieves a list of policies that the IAM identity (user, group, or role) can use to access each specified service.

This operation does not use other policy types when determining whether a resource could access a service. These other policy types include resource-based policies, access control lists, AWS Organizations policies, IAM permissions boundaries, and AWS STS assume role policies. It only applies permissions policy logic. For more about the evaluation of policy types, see Evaluating Policies in the IAM User Guide.

The list of policies returned by the operation depends on the ARN of the identity that you provide.

  • User – The list of policies includes the managed and inline policies that are attached to the user directly. The list also includes any additional managed and inline policies that are attached to the group to which the user belongs.

  • Group – The list of policies includes only the managed and inline policies that are attached to the group directly. Policies that are attached to the group’s user are not included.

  • Role – The list of policies includes only the managed and inline policies that are attached to the role.

For each managed policy, this operation returns the ARN and policy name. For each inline policy, it returns the policy name and the entity to which it is attached. Inline policies do not have an ARN. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

Policies that are attached to users and roles as permissions boundaries are not returned. To view which managed policy is currently used to set the permissions boundary for a user or role, use the GetUser or GetRole operations.

" }, "ListPolicyVersions":{ "name":"ListPolicyVersions", @@ -1317,7 +1542,7 @@ {"shape":"InvalidInputException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Lists information about the versions of the specified managed policy, including the version that is currently set as the policy's default version.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ListRolePolicies":{ "name":"ListRolePolicies", @@ -1334,7 +1559,24 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the action returns an empty list.

" + "documentation":"

Lists the names of the inline policies that are embedded in the specified IAM role.

An IAM role can also have managed policies attached to it. To list the managed policies that are attached to a role, use ListAttachedRolePolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified role, the operation returns an empty list.

" + }, + "ListRoleTags":{ + "name":"ListRoleTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRoleTagsRequest"}, + "output":{ + "shape":"ListRoleTagsResponse", + "resultWrapper":"ListRoleTagsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the tags that are attached to the specified role. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "ListRoles":{ "name":"ListRoles", @@ -1350,7 +1592,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the IAM roles that have the specified path prefix. If there are none, the action returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the IAM roles that have the specified path prefix. If there are none, the operation returns an empty list. For more information about roles, go to Working with Roles.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListSAMLProviders":{ "name":"ListSAMLProviders", @@ -1366,7 +1608,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

" + "documentation":"

Lists the SAML provider resource objects defined in IAM in the account.

This operation requires Signature Version 4.

" }, "ListSSHPublicKeys":{ "name":"ListSSHPublicKeys", @@ -1382,7 +1624,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Returns information about the SSH public keys associated with the specified IAM user. If there are none, the action returns an empty list.

The SSH public keys returned by this action are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Returns information about the SSH public keys associated with the specified IAM user. If none exists, the operation returns an empty list.

The SSH public keys returned by this operation are used only for authenticating the IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

Although each user is limited to a small number of keys, you can still paginate the results using the MaxItems and Marker parameters.

" }, "ListServerCertificates":{ "name":"ListServerCertificates", @@ -1398,7 +1640,24 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

" + "documentation":"

Lists the server certificates stored in IAM that have the specified path prefix. If none exist, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

" + }, + "ListServiceSpecificCredentials":{ + "name":"ListServiceSpecificCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceSpecificCredentialsRequest"}, + "output":{ + "shape":"ListServiceSpecificCredentialsResponse", + "resultWrapper":"ListServiceSpecificCredentialsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceNotSupportedException"} + ], + "documentation":"

Returns information about the service-specific credentials associated with the specified IAM user. If none exists, the operation returns an empty list. The service-specific credentials returned by this operation are used only for authenticating the IAM user to a specific service. For more information about using service-specific credentials to authenticate to an AWS service, see Set Up service-specific credentials in the AWS CodeCommit User Guide.

" }, "ListSigningCertificates":{ "name":"ListSigningCertificates", @@ -1415,7 +1674,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Returns information about the signing certificates associated with the specified IAM user. If there are none, the action returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

" + "documentation":"

Returns information about the signing certificates associated with the specified IAM user. If none exists, the operation returns an empty list.

Although each user is limited to a small number of signing certificates, you can still paginate the results using the MaxItems and Marker parameters.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request for this API. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "ListUserPolicies":{ "name":"ListUserPolicies", @@ -1432,7 +1691,24 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the action returns an empty list.

" + "documentation":"

Lists the names of the inline policies embedded in the specified IAM user.

An IAM user can also have managed policies attached to it. To list the managed policies that are attached to a user, use ListAttachedUserPolicies. For more information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

You can paginate the results using the MaxItems and Marker parameters. If there are no inline policies embedded with the specified user, the operation returns an empty list.

" + }, + "ListUserTags":{ + "name":"ListUserTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUserTagsRequest"}, + "output":{ + "shape":"ListUserTagsResponse", + "resultWrapper":"ListUserTagsResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Lists the tags that are attached to the specified user. The returned list of tags is sorted by tag key. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "ListUsers":{ "name":"ListUsers", @@ -1448,7 +1724,7 @@ "errors":[ {"shape":"ServiceFailureException"} ], - "documentation":"

Lists the IAM users that have the specified path prefix. If no path prefix is specified, the action returns all users in the AWS account. If there are none, the action returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the IAM users that have the specified path prefix. If no path prefix is specified, the operation returns all users in the AWS account. If there are none, the operation returns an empty list.

You can paginate the results using the MaxItems and Marker parameters.

" }, "ListVirtualMFADevices":{ "name":"ListVirtualMFADevices", @@ -1461,7 +1737,7 @@ "shape":"ListVirtualMFADevicesResponse", "resultWrapper":"ListVirtualMFADevicesResult" }, - "documentation":"

Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the action returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any.

You can paginate the results using the MaxItems and Marker parameters.

" + "documentation":"

Lists the virtual MFA devices defined in the AWS account by assignment status. If you do not specify an assignment status, the operation returns a list of all virtual MFA devices. Assignment status can be Assigned, Unassigned, or Any.

You can paginate the results using the MaxItems and Marker parameters.

" }, "PutGroupPolicy":{ "name":"PutGroupPolicy", @@ -1476,7 +1752,23 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM group.

A user can also have managed policies attached to it. To attach a managed policy to a group, use AttachGroupPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a group, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutGroupPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + }, + "PutRolePermissionsBoundary":{ + "name":"PutRolePermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRolePermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"PolicyNotAttachableException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds or updates the policy that is specified as the IAM role's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a role. Use the boundary to control the maximum permissions that the role can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the role.

You cannot set the boundary for a service-linked role.

Policies used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the role. To learn how the effective permissions for a role are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide.

" }, "PutRolePolicy":{ "name":"PutRolePolicy", @@ -1489,9 +1781,25 @@ {"shape":"LimitExceededException"}, {"shape":"MalformedPolicyDocumentException"}, {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + }, + "PutUserPermissionsBoundary":{ + "name":"PutUserPermissionsBoundary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutUserPermissionsBoundaryRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachableException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM role.

When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using CreateRole. You can update a role's trust policy using UpdateAssumeRolePolicy. For more information about IAM roles, go to Using Roles to Delegate Permissions and Federate Identities.

A role can also have a managed policy attached to it. To attach a managed policy to a role, use AttachRolePolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed with a role, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutRolePolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates the policy that is specified as the IAM user's permissions boundary. You can use an AWS managed policy or a customer managed policy to set the boundary for a user. Use the boundary to control the maximum permissions that the user can have. Setting a permissions boundary is an advanced feature that can affect the permissions for the user.

Policies that are used as permissions boundaries do not provide permissions. You must also attach a permissions policy to the user. To learn how the effective permissions for a user are evaluated, see IAM JSON Policy Evaluation Logic in the IAM User Guide.

" }, "PutUserPolicy":{ "name":"PutUserPolicy", @@ -1506,7 +1814,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Adds or updates an inline policy document that is embedded in the specified IAM user.

An IAM user can also have a managed policy attached to it. To attach a managed policy to a user, use AttachUserPolicy. To create a new managed policy, use CreatePolicy. For information about policies, see Managed Policies and Inline Policies in the IAM User Guide.

For information about limits on the number of inline policies that you can embed in a user, see Limitations on IAM Entities in the IAM User Guide.

Because policy documents can be large, you should use POST rather than GET when calling PutUserPolicy. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" }, "RemoveClientIDFromOpenIDConnectProvider":{ "name":"RemoveClientIDFromOpenIDConnectProvider", @@ -1520,7 +1828,7 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object.

This action is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist.

" + "documentation":"

Removes the specified client ID (also known as audience) from the list of client IDs registered for the specified IAM OpenID Connect (OIDC) provider resource object.

This operation is idempotent; it does not fail or return an error if you try to remove a client ID that does not exist.

" }, "RemoveRoleFromInstanceProfile":{ "name":"RemoveRoleFromInstanceProfile", @@ -1532,9 +1840,10 @@ "errors":[ {"shape":"NoSuchEntityException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" + "documentation":"

Removes the specified IAM role from the specified EC2 instance profile.

Make sure that you do not have any Amazon EC2 instances running with the role you are about to remove from the instance profile. Removing a role from an instance profile that is associated with a running instance might break any applications running on the instance.

For more information about IAM roles, go to Working with Roles. For more information about instance profiles, go to About Instance Profiles.

" }, "RemoveUserFromGroup":{ "name":"RemoveUserFromGroup", @@ -1550,6 +1859,22 @@ ], "documentation":"

Removes the specified user from the specified group.

" }, + "ResetServiceSpecificCredential":{ + "name":"ResetServiceSpecificCredential", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetServiceSpecificCredentialRequest"}, + "output":{ + "shape":"ResetServiceSpecificCredentialResponse", + "resultWrapper":"ResetServiceSpecificCredentialResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"} + ], + "documentation":"

Resets the password for a service-specific credential. The new password is AWS generated and cryptographically strong. It cannot be configured by the user. Resetting the password immediately invalidates the previous password associated with this user.

" + }, "ResyncMFADevice":{ "name":"ResyncMFADevice", "http":{ @@ -1563,7 +1888,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Synchronizes the specified MFA device with its IAM resource object on the AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" + "documentation":"

Synchronizes the specified MFA device with its IAM resource object on the AWS servers.

For more information about creating and working with virtual MFA devices, go to Using a Virtual MFA Device in the IAM User Guide.

" }, "SetDefaultPolicyVersion":{ "name":"SetDefaultPolicyVersion", @@ -1578,7 +1903,19 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version.

This action affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version.

This operation affects all users, groups, and roles that the policy is attached to. To list the users, groups, and roles that the policy is attached to, use the ListEntitiesForPolicy API.

For information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "SetSecurityTokenServicePreferences":{ + "name":"SetSecurityTokenServicePreferences", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetSecurityTokenServicePreferencesRequest"}, + "errors":[ + {"shape":"ServiceFailureException"} + ], + "documentation":"

Sets the specified version of the global endpoint token as the token version used for the AWS account.

By default, AWS Security Token Service (STS) is available as a global service, and all STS requests go to a single endpoint at https://sts.amazonaws.com. AWS recommends using Regional STS endpoints to reduce latency, build in redundancy, and increase session token availability. For information about Regional endpoints for STS, see AWS Regions and Endpoints in the AWS General Reference.

If you make an STS call to the global endpoint, the resulting session tokens might be valid in some Regions but not others. It depends on the version that is set in this operation. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens. For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

To view the current session token version, see the GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation.

" }, "SimulateCustomPolicy":{ "name":"SimulateCustomPolicy", @@ -1595,7 +1932,7 @@ {"shape":"InvalidInputException"}, {"shape":"PolicyEvaluationException"} ], - "documentation":"

Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API actions and AWS resources to determine the policies' effective permissions. The policies are provided as strings.

The simulation does not perform the API actions; it only checks the authorization to determine if the simulated policies allow or deny the actions.

If you want to simulate existing policies attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.

If the output is long, you can use MaxItems and Marker parameters to paginate the results.

" + "documentation":"

Simulate how a set of IAM policies and optionally a resource-based policy works with a list of API operations and AWS resources to determine the policies' effective permissions. The policies are provided as strings.

The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations.

If you want to simulate existing policies that are attached to an IAM user, group, or role, use SimulatePrincipalPolicy instead.

Context keys are variables that are maintained by AWS and its services and which provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForCustomPolicy.

If the output is long, you can use MaxItems and Marker parameters to paginate the results.

" }, "SimulatePrincipalPolicy":{ "name":"SimulatePrincipalPolicy", @@ -1613,7 +1950,67 @@ {"shape":"InvalidInputException"}, {"shape":"PolicyEvaluationException"} ], - "documentation":"

Simulate how a set of IAM policies attached to an IAM entity works with a list of API actions and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to .

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API actions, it only checks the authorization to determine if the simulated policies allow or deny the actions.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

" + "documentation":"

Simulate how a set of IAM policies attached to an IAM entity works with a list of API operations and AWS resources to determine the policies' effective permissions. The entity can be an IAM user, group, or role. If you specify a user, then the simulation also includes all of the policies that are attached to groups that the user belongs to.

You can optionally include a list of one or more additional policies specified as strings to include in the simulation. If you want to simulate only policies specified as strings, use SimulateCustomPolicy instead.

You can also optionally include one resource-based policy to be evaluated with each of the resources included in the simulation.

The simulation does not perform the API operations; it only checks the authorization to determine if the simulated policies allow or deny the operations.

Note: This API discloses information about the permissions granted to other users. If you do not want users to see other user's permissions, then consider allowing them to use SimulateCustomPolicy instead.

Context keys are variables maintained by AWS and its services that provide details about the context of an API query request. You can use the Condition element of an IAM policy to evaluate context keys. To get the list of context keys that the policies require for correct simulation, use GetContextKeysForPrincipalPolicy.

If the output is long, you can use the MaxItems and Marker parameters to paginate the results.

" + }, + "TagRole":{ + "name":"TagRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagRoleRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds one or more tags to an IAM role. The role can be a regular role or a service-linked role. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM user or role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "TagUser":{ + "name":"TagUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagUserRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Adds one or more tags to an IAM user. If a tag with the same key name already exists, then that tag is overwritten with the new value.

A tag consists of a key name and an associated value. By assigning tags to your resources, you can do the following:

  • Administrative grouping and discovery - Attach tags to resources to aid in organization and search. For example, you could search for all resources with the key name Project and the value MyImportantProject. Or search for all resources with the key name Cost Center and the value 41200.

  • Access control - Reference tags in IAM user-based and resource-based policies. You can use tags to restrict access to only an IAM requesting user or to a role that has a specified tag attached. You can also restrict access to only those resources that have a certain tag attached. For examples of policies that show how to use tags to control access, see Control Access Using IAM Tags in the IAM User Guide.

  • Cost allocation - Use tags to help track which individuals and teams are using which AWS resources.

  • Make sure that you have no invalid tags and that you do not exceed the allowed number of tags per role. In either case, the entire request fails and no tags are added to the role.

  • AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "UntagRole":{ + "name":"UntagRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagRoleRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Removes the specified tags from the role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "UntagUser":{ + "name":"UntagUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagUserRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Removes the specified tags from the user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" }, "UpdateAccessKey":{ "name":"UpdateAccessKey", @@ -1627,7 +2024,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the status of the specified access key from Active to Inactive, or vice versa. This action can be used to disable a user's key as part of a key rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

" + "documentation":"

Changes the status of the specified access key from Active to Inactive, or vice versa. This operation can be used to disable a user's key as part of a key rotation workflow.

If the UserName is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

For information about rotating keys, see Managing Keys and Certificates in the IAM User Guide.

" }, "UpdateAccountPasswordPolicy":{ "name":"UpdateAccountPasswordPolicy", @@ -1642,7 +2039,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the password policy settings for the AWS account.

This action does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

" + "documentation":"

Updates the password policy settings for the AWS account.

  • This operation does not support partial updates. No parameters are required, but if you do not specify a parameter, that parameter's value reverts to its default value. See the Request Parameters section for each parameter's default value. Also note that some parameters do not allow the default parameter to be explicitly set. Instead, to invoke the default value, do not include that parameter when you invoke the operation.

For more information about using a password policy, see Managing an IAM Password Policy in the IAM User Guide.

" }, "UpdateAssumeRolePolicy":{ "name":"UpdateAssumeRolePolicy", @@ -1655,9 +2052,10 @@ {"shape":"NoSuchEntityException"}, {"shape":"MalformedPolicyDocumentException"}, {"shape":"LimitExceededException"}, + {"shape":"UnmodifiableEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

" + "documentation":"

Updates the policy that grants an IAM entity permission to assume a role. This is typically referred to as the \"role trust policy\". For more information about roles, go to Using Roles to Delegate Permissions and Federate Identities.

" }, "UpdateGroup":{ "name":"UpdateGroup", @@ -1672,7 +2070,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

To change an IAM group name the requester must have appropriate permissions on both the source object and the target object. For example, to change \"Managers\" to \"MGRs\", the entity making the request must have permission on both \"Managers\" and \"MGRs\", or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" + "documentation":"

Updates the name and/or the path of the specified IAM group.

You should understand the implications of changing a group's path or name. For more information, see Renaming Users and Groups in the IAM User Guide.

The person making the request (the principal), must have permission to change the role group with the old name and the new name. For example, to change the group named Managers to MGRs, the principal must have a policy that allows them to update both groups. If the principal has permission to update the Managers group, but not the MGRs group, then the update fails. For more information about permissions, see Access Management.

" }, "UpdateLoginProfile":{ "name":"UpdateLoginProfile", @@ -1688,7 +2086,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the password for the specified IAM user.

IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" + "documentation":"

Changes the password for the specified IAM user.

IAM users can change their own passwords by calling ChangePassword. For more information about modifying passwords, see Managing Passwords in the IAM User Guide.

" }, "UpdateOpenIDConnectProviderThumbprint":{ "name":"UpdateOpenIDConnectProviderThumbprint", @@ -1702,17 +2100,53 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this action completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Because trust for the OIDC provider is ultimately derived from the provider's certificate and is validated by the thumbprint, it is a best practice to limit access to the UpdateOpenIDConnectProviderThumbprint action to highly-privileged users.

" + "documentation":"

Replaces the existing list of server certificate thumbprints associated with an OpenID Connect (OIDC) provider resource object with a new list of thumbprints.

The list that you pass with this operation completely replaces the existing list of thumbprints. (The lists are not merged.)

Typically, you need to update a thumbprint only when the identity provider's certificate changes, which occurs rarely. However, if the provider's certificate does change, any attempt to assume an IAM role that specifies the OIDC provider as a principal fails until the certificate thumbprint is updated.

Trust for the OIDC provider is derived from the provider's certificate and is validated by the thumbprint. Therefore, it is best to limit access to the UpdateOpenIDConnectProviderThumbprint operation to highly privileged users.

" }, - "UpdateSAMLProvider":{ - "name":"UpdateSAMLProvider", + "UpdateRole":{ + "name":"UpdateRole", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateSAMLProviderRequest"}, + "input":{"shape":"UpdateRoleRequest"}, "output":{ - "shape":"UpdateSAMLProviderResponse", + "shape":"UpdateRoleResponse", + "resultWrapper":"UpdateRoleResult" + }, + "errors":[ + {"shape":"UnmodifiableEntityException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Updates the description or maximum session duration setting of a role.

" + }, + "UpdateRoleDescription":{ + "name":"UpdateRoleDescription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRoleDescriptionRequest"}, + "output":{ + "shape":"UpdateRoleDescriptionResponse", + "resultWrapper":"UpdateRoleDescriptionResult" + }, + "errors":[ + {"shape":"NoSuchEntityException"}, + {"shape":"UnmodifiableEntityException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

Use UpdateRole instead.

Modifies only the description of a role. This operation performs the same function as the Description parameter in the UpdateRole operation.

" + }, + "UpdateSAMLProvider":{ + "name":"UpdateSAMLProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSAMLProviderRequest"}, + "output":{ + "shape":"UpdateSAMLProviderResponse", "resultWrapper":"UpdateSAMLProviderResult" }, "errors":[ @@ -1721,7 +2155,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

" + "documentation":"

Updates the metadata document for an existing SAML provider resource object.

This operation requires Signature Version 4.

" }, "UpdateSSHPublicKey":{ "name":"UpdateSSHPublicKey", @@ -1733,7 +2167,7 @@ "errors":[ {"shape":"NoSuchEntityException"} ], - "documentation":"

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This action can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this action is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Sets the status of an IAM user's SSH public key to active or inactive. SSH public keys that are inactive cannot be used for authentication. This operation can be used to disable a user's SSH public key as part of a key rotation work flow.

The SSH public key affected by this operation is used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "UpdateServerCertificate":{ "name":"UpdateServerCertificate", @@ -1748,7 +2182,19 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

To change a server certificate name the requester must have appropriate permissions on both the source object and the target object. For example, to change the name from \"ProductionCert\" to \"ProdCert\", the entity making the request must have permission on \"ProductionCert\" and \"ProdCert\", or must have permission on all (*). For more information about permissions, see Access Management in the IAM User Guide.

" + "documentation":"

Updates the name and/or the path of the specified server certificate stored in IAM.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic also includes a list of AWS services that can use the server certificates that you manage with IAM.

You should understand the implications of changing a server certificate's path or name. For more information, see Renaming a Server Certificate in the IAM User Guide.

The person making the request (the principal), must have permission to change the server certificate with the old name and the new name. For example, to change the certificate named ProductionCert to ProdCert, the principal must have a policy that allows them to update both certificates. If the principal has permission to update the ProductionCert group, but not the ProdCert certificate, then the update fails. For more information about permissions, see Access Management in the IAM User Guide.

" + }, + "UpdateServiceSpecificCredential":{ + "name":"UpdateServiceSpecificCredential", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSpecificCredentialRequest"}, + "errors":[ + {"shape":"NoSuchEntityException"} + ], + "documentation":"

Sets the status of a service-specific credential to Active or Inactive. Service-specific credentials that are inactive cannot be used for authentication to the service. This operation can be used to disable a user's service-specific credential as part of a credential rotation work flow.

" }, "UpdateSigningCertificate":{ "name":"UpdateSigningCertificate", @@ -1762,7 +2208,7 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This action can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the UserName is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

" + "documentation":"

Changes the status of the specified user signing certificate from active to disabled, or vice versa. This operation can be used to disable an IAM user's signing certificate as part of a certificate rotation work flow.

If the UserName field is not specified, the user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

" }, "UpdateUser":{ "name":"UpdateUser", @@ -1776,9 +2222,10 @@ {"shape":"LimitExceededException"}, {"shape":"EntityAlreadyExistsException"}, {"shape":"EntityTemporarilyUnmodifiableException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Updates the name and/or the path of the specified IAM user.

You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide.

To change a user name the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" + "documentation":"

Updates the name and/or the path of the specified IAM user.

You should understand the implications of changing an IAM user's path or name. For more information, see Renaming an IAM User and Renaming an IAM Group in the IAM User Guide.

To change a user name, the requester must have appropriate permissions on both the source object and the target object. For example, to change Bob to Robert, the entity making the request must have permission on Bob and Robert, or must have permission on all (*). For more information about permissions, see Permissions and Policies.

" }, "UploadSSHPublicKey":{ "name":"UploadSSHPublicKey", @@ -1798,7 +2245,7 @@ {"shape":"DuplicateSSHPublicKeyException"}, {"shape":"UnrecognizedPublicKeyEncodingException"} ], - "documentation":"

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this action can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" + "documentation":"

Uploads an SSH public key and associates it with the specified IAM user.

The SSH public key uploaded by this operation can be used only for authenticating the associated IAM user to an AWS CodeCommit repository. For more information about using SSH keys to authenticate to an AWS CodeCommit repository, see Set up AWS CodeCommit for SSH Connections in the AWS CodeCommit User Guide.

" }, "UploadServerCertificate":{ "name":"UploadServerCertificate", @@ -1818,7 +2265,7 @@ {"shape":"KeyPairMismatchException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

For more information about working with server certificates, including a list of AWS services that can use the server certificates that you manage with IAM, go to Working with Server Certificates in the IAM User Guide.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" + "documentation":"

Uploads a server certificate entity for the AWS account. The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.

We recommend that you use AWS Certificate Manager to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the AWS Certificate Manager User Guide.

For more information about working with server certificates, see Working with Server Certificates in the IAM User Guide. This topic includes a list of AWS services that can use the server certificates that you manage with IAM.

For information about the number of server certificates you can upload, see Limitations on IAM Entities and Objects in the IAM User Guide.

Because the body of the public key certificate, private key, and the certificate chain can be large, you should use POST rather than GET when calling UploadServerCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Calling the API by Making HTTP Query Requests in the IAM User Guide.

" }, "UploadSigningCertificate":{ "name":"UploadSigningCertificate", @@ -1840,10 +2287,48 @@ {"shape":"NoSuchEntityException"}, {"shape":"ServiceFailureException"} ], - "documentation":"

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName field is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. Because this action works for access keys under the AWS account, you can use this action to manage root credentials even if the AWS account has no associated users.

Because the body of a X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" + "documentation":"

Uploads an X.509 signing certificate and associates it with the specified IAM user. Some AWS services use X.509 signing certificates to validate requests that are signed with a corresponding private key. When you upload the certificate, its default status is Active.

If the UserName is not specified, the IAM user name is determined implicitly based on the AWS access key ID used to sign the request. This operation works for access keys under the AWS account. Consequently, you can use this operation to manage AWS account root user credentials even if the AWS account has no associated users.

Because the body of an X.509 certificate can be large, you should use POST rather than GET when calling UploadSigningCertificate. For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about using the Query API with IAM, go to Making Query Requests in the IAM User Guide.

" } }, "shapes":{ + "AccessDetail":{ + "type":"structure", + "required":[ + "ServiceName", + "ServiceNamespace" + ], + "members":{ + "ServiceName":{ + "shape":"serviceNameType", + "documentation":"

The name of the service in which access was attempted.

" + }, + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The namespace of the service in which access was attempted.

To learn the service namespace of a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "Region":{ + "shape":"stringType", + "documentation":"

The Region where the last service access attempt occurred.

This field is null if no principals in the reported Organizations entity attempted to access the service within the reporting period.

" + }, + "EntityPath":{ + "shape":"organizationsEntityPathType", + "documentation":"

The path of the Organizations entity (root, organizational unit, or account) from which an authenticated principal last attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no principals (IAM users, IAM roles, or root users) in the reported Organizations entity attempted to access the service within the reporting period.

" + }, + "LastAuthenticatedTime":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when an authenticated principal most recently attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no principals in the reported Organizations entity attempted to access the service within the reporting period.

" + }, + "TotalAuthenticatedEntities":{ + "shape":"integerType", + "documentation":"

The number of accounts with authenticated principals (root users, IAM users, and IAM roles) that attempted to access the service in the reporting period.

" + } + }, + "documentation":"

An object that contains details about when a principal in the reported AWS Organizations entity last attempted to access an AWS service. A principal can be an IAM user, an IAM role, or the AWS account root user within the reported Organizations entity.

This data type is a response element in the GetOrganizationsAccessReport operation.

" + }, + "AccessDetails":{ + "type":"list", + "member":{"shape":"AccessDetail"} + }, "AccessKey":{ "type":"structure", "required":[ @@ -1863,7 +2348,7 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the access key. Active means the key is valid for API calls, while Inactive means it is not.

" + "documentation":"

The status of the access key. Active means that the key is valid for API calls, while Inactive means it is not.

" }, "SecretAccessKey":{ "shape":"accessKeySecretType", @@ -1874,7 +2359,7 @@ "documentation":"

The date when the access key was created.

" } }, - "documentation":"

Contains information about an AWS access key.

This data type is used as a response element in the CreateAccessKey and ListAccessKeys actions.

The SecretAccessKey value is returned only in response to CreateAccessKey. You can get a secret access key only when you first create an access key; you cannot recover the secret access key later. If you lose a secret access key, you must create a new access key.

" + "documentation":"

Contains information about an AWS access key.

This data type is used as a response element in the CreateAccessKey and ListAccessKeys operations.

The SecretAccessKey value is returned only in response to CreateAccessKey. You can get a secret access key only when you first create an access key; you cannot recover the secret access key later. If you lose a secret access key, you must create a new access key.

" }, "AccessKeyLastUsed":{ "type":"structure", @@ -1886,18 +2371,18 @@ "members":{ "LastUsedDate":{ "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" + "documentation":"

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM began tracking this information.

  • There is no sign-in data associated with the user.

" }, "ServiceName":{ "shape":"stringType", - "documentation":"

The name of the AWS service with which this access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

" + "documentation":"

The name of the AWS service with which this access key was most recently used. The value of this field is \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM started tracking this information.

  • There is no sign-in data associated with the user.

" }, "Region":{ "shape":"stringType", - "documentation":"

The AWS region where this access key was most recently used. This field is null when:

  • The user does not have an access key.

  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.

  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" + "documentation":"

The AWS Region where this access key was most recently used. The value for this field is \"N/A\" in the following situations:

  • The user does not have an access key.

  • An access key exists but has not been used since IAM began tracking this information.

  • There is no sign-in data associated with the user.

For more information about AWS Regions, see Regions and Endpoints in the Amazon Web Services General Reference.

" } }, - "documentation":"

Contains information about the last time an AWS access key was used.

This data type is used as a response element in the GetAccessKeyLastUsed action.

" + "documentation":"

Contains information about the last time an AWS access key was used since IAM began tracking this information on April 22, 2015.

This data type is used as a response element in the GetAccessKeyLastUsed operation.

" }, "AccessKeyMetadata":{ "type":"structure", @@ -1912,14 +2397,14 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

" + "documentation":"

The status of the access key. Active means that the key is valid for API calls; Inactive means it is not.

" }, "CreateDate":{ "shape":"dateType", "documentation":"

The date when the access key was created.

" } }, - "documentation":"

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys action.

" + "documentation":"

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys operation.

" }, "ActionNameListType":{ "type":"list", @@ -1939,7 +2424,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect (OIDC) provider resource to add the client ID to. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

" }, "ClientID":{ "shape":"clientIDType", @@ -1956,11 +2441,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the instance profile to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to add.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to add.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -1973,14 +2458,18 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to add.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to add.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, + "ArnListType":{ + "type":"list", + "member":{"shape":"arnType"} + }, "AttachGroupPolicyRequest":{ "type":"structure", "required":[ @@ -1990,11 +2479,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group to attach the policy to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the group to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2007,11 +2496,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2024,14 +2513,28 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user to attach the policy to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM user to attach the policy to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to attach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, + "AttachedPermissionsBoundary":{ + "type":"structure", + "members":{ + "PermissionsBoundaryType":{ + "shape":"PermissionsBoundaryAttachmentType", + "documentation":"

The permissions boundary usage type that indicates what type of IAM resource is used as the permissions boundary for an entity. This data type can only have a value of Policy.

" + }, + "PermissionsBoundaryArn":{ + "shape":"arnType", + "documentation":"

The ARN of the policy used to set the permissions boundary for the user or role.

" + } + }, + "documentation":"

Contains information about an attached permissions boundary.

An attached permissions boundary is a managed policy that has been attached to a user or role to set the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, "AttachedPolicy":{ "type":"structure", "members":{ @@ -2041,7 +2544,7 @@ }, "PolicyArn":{"shape":"arnType"} }, - "documentation":"

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "BootstrapDatum":{ "type":"blob", @@ -2060,11 +2563,25 @@ }, "NewPassword":{ "shape":"passwordType", - "documentation":"

The new password. The new password must conform to the AWS account's password policy, if one exists.

The regex pattern for this parameter is a string of characters consisting of almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool.

" + "documentation":"

The new password. The new password must conform to the AWS account's password policy, if one exists.

The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

" } } }, "ColumnNumber":{"type":"integer"}, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ConcurrentModificationMessage"} + }, + "documentation":"

The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again.

", + "error":{ + "code":"ConcurrentModification", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ConcurrentModificationMessage":{"type":"string"}, "ContextEntry":{ "type":"structure", "members":{ @@ -2074,14 +2591,14 @@ }, "ContextKeyValues":{ "shape":"ContextKeyValueListType", - "documentation":"

The value (or values, if the condition context key supports multiple values) to provide to the simulation for use when the key is referenced by a Condition element in an input policy.

" + "documentation":"

The value (or values, if the condition context key supports multiple values) to provide to the simulation when the key is referenced by a Condition element in an input policy.

" }, "ContextKeyType":{ "shape":"ContextKeyTypeEnum", "documentation":"

The data type of the value (or values) specified in the ContextKeyValues parameter.

" } }, - "documentation":"

Contains information about a condition context key. It includes the name of the key and specifies the value (or values, if the context key supports multiple values) to use in the simulation. This information is used when evaluating the Condition elements of the input policies.

This data type is used as an input parameter to SimulateCustomPolicy and SimulateCustomPolicy .

" + "documentation":"

Contains information about a condition context key. It includes the name of the key and specifies the value (or values, if the context key supports multiple values) to use in the simulation. This information is used when evaluating the Condition elements of the input policies.

This data type is used as an input parameter to SimulateCustomPolicy and SimulatePrincipalPolicy.

" }, "ContextEntryListType":{ "type":"list", @@ -2123,7 +2640,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user that the new key will belong to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user that the new key will belong to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2144,7 +2661,7 @@ "members":{ "AccountAlias":{ "shape":"accountAliasType", - "documentation":"

The account alias to create.

The regex pattern for this parameter is a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" + "documentation":"

The account alias to create.

This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" } } }, @@ -2154,11 +2671,11 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to create. Do not include the path in this value.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. The group name must be unique within the account. Group names are not distinguished by case. For example, you cannot create groups named both \"ADMINS\" and \"admins\".

" + "documentation":"

The name of the group to create. Do not include the path in this value.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -2179,11 +2696,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to create.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the instance profile to create.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Path":{ "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" } } }, @@ -2207,11 +2724,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to create a password for. The user must already exist.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user to create a password for. The user must already exist.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Password":{ "shape":"passwordType", - "documentation":"

The new password for the user.

The regex pattern for this parameter is a string of characters consisting of almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Although any of these characters are valid in a password, note that many tools, such as the AWS Management Console, might restrict the ability to enter certain characters because they have special meaning within that tool.

" + "documentation":"

The new password for the user.

The regex pattern that is used to validate this parameter is a string of characters. That string can include almost any printable ASCII character from the space (\\u0020) through the end of the ASCII character range (\\u00FF). You can also include the tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D) characters. Any of these characters are valid in a password. However, many tools, such as the AWS Management Console, might restrict the ability to type certain characters because they have special meaning within that tool.

" }, "PasswordResetRequired":{ "shape":"booleanType", @@ -2239,15 +2756,15 @@ "members":{ "Url":{ "shape":"OpenIDConnectProviderUrlType", - "documentation":"

The URL of the identity provider. The URL must begin with \"https://\" and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a host name, like \"https://server.example.org\" or \"https://example.com\".

You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.

" + "documentation":"

The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com.

You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error.

" }, "ClientIDList":{ "shape":"clientIDListType", - "documentation":"

A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)

You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest action accepts client IDs up to 255 characters long.

" + "documentation":"

A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)

You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider.

There is no defined format for a client ID. The CreateOpenIDConnectProviderRequest operation accepts client IDs up to 255 characters long.

" }, "ThumbprintList":{ "shape":"thumbprintListType", - "documentation":"

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, if the OIDC provider is server.example.com and the provider stores its keys at \"https://keys.server.example.com/openid-connect\", the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

" + "documentation":"

A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only one entry. However, IAM lets you have up to five thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates.

The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

You must provide at least one thumbprint when creating an IAM OIDC provider. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com.

For more information about obtaining the OIDC provider's thumbprint, see Obtaining the Thumbprint for an OpenID Connect Provider in the IAM User Guide.

" } } }, @@ -2270,15 +2787,15 @@ "members":{ "PolicyName":{ "shape":"policyNameType", - "documentation":"

The friendly name of the policy.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The friendly name of the policy.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" }, "Path":{ "shape":"policyPathType", - "documentation":"

The path for the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for the new policy.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The JSON policy document that you want to use as the content for the new policy.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "Description":{ "shape":"policyDescriptionType", @@ -2305,15 +2822,15 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy to which you want to add a new version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The JSON policy document that you want to use as the content for this new version of the policy.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The JSON policy document that you want to use as the content for this new version of the policy.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "SetAsDefault":{ "shape":"booleanType", - "documentation":"

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version; that is, the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

Specifies whether to set this version as the policy's default version.

When this parameter is true, the new policy version becomes the operative version. That is, it becomes the version that is in effect for the IAM users, groups, and roles that the policy is attached to.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" } } }, @@ -2336,15 +2853,31 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to create.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. Role names are not distinguished by case. For example, you cannot create roles named both \"PRODROLE\" and \"prodrole\".

" + "documentation":"

The name of the role to create.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" }, "AssumeRolePolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The trust relationship policy document that grants an entity permission to assume the role.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The trust relationship policy document that grants an entity permission to assume the role.

In IAM, you must provide a JSON policy that has been converted to a string. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

Upon success, the response includes the same trust policy in JSON format.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

A description of the role.

" + }, + "MaxSessionDuration":{ + "shape":"roleMaxSessionDurationType", + "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" + }, + "PermissionsBoundary":{ + "shape":"arnType", + "documentation":"

The ARN of the policy that is used to set the permissions boundary for the role.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that you want to attach to the newly created role. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per role, then the entire request fails and the role is not created.

" } } }, @@ -2368,11 +2901,11 @@ "members":{ "SAMLMetadataDocument":{ "shape":"SAMLMetadataDocumentType", - "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based Federation in the IAM User Guide

" + "documentation":"

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based Federation in the IAM User Guide

" }, "Name":{ "shape":"SAMLProviderNameType", - "documentation":"

The name of the provider to create.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the provider to create.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2386,17 +2919,78 @@ }, "documentation":"

Contains the response to a successful CreateSAMLProvider request.

" }, + "CreateServiceLinkedRoleRequest":{ + "type":"structure", + "required":["AWSServiceName"], + "members":{ + "AWSServiceName":{ + "shape":"groupNameType", + "documentation":"

The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com.

Service principals are unique and case-sensitive. To find the exact service principal for your service-linked role, see AWS Services That Work with IAM in the IAM User Guide. Look for the services that have Yes in the Service-Linked Role column. Choose the Yes link to view the service-linked role documentation for that service.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

The description of the role.

" + }, + "CustomSuffix":{ + "shape":"customSuffixType", + "documentation":"

A string that you provide, which is combined with the service-provided prefix to form the complete role name. If you make multiple requests for the same service, then you must supply a different CustomSuffix for each request. Otherwise the request fails with a duplicate role name error. For example, you could add -1 or -debug to the suffix.

Some services do not support the CustomSuffix parameter. If you provide an optional suffix and the operation fails, try the operation again without the suffix.

" + } + } + }, + "CreateServiceLinkedRoleResponse":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"Role", + "documentation":"

A Role object that contains details about the newly created role.

" + } + } + }, + "CreateServiceSpecificCredentialRequest":{ + "type":"structure", + "required":[ + "UserName", + "ServiceName" + ], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user that is to be associated with the credentials. The new service-specific credentials have the same permissions as the associated user except that they can be used only to access the specified service.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "ServiceName":{ + "shape":"serviceName", + "documentation":"

The name of the AWS service that is to be associated with the credentials. The service you specify here is the only service that can be accessed using these credentials.

" + } + } + }, + "CreateServiceSpecificCredentialResponse":{ + "type":"structure", + "members":{ + "ServiceSpecificCredential":{ + "shape":"ServiceSpecificCredential", + "documentation":"

A structure that contains information about the newly created service-specific credential.

This is the only time that the password for this credential set is available. It cannot be recovered later. Instead, you must reset the password with ResetServiceSpecificCredential.

" + } + } + }, "CreateUserRequest":{ "type":"structure", "required":["UserName"], "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the user name. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user to create.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-. User names are not distinguished by case. For example, you cannot create users named both \"TESTUSER\" and \"testuser\".

" + "documentation":"

The name of the user to create.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" + }, + "PermissionsBoundary":{ + "shape":"arnType", + "documentation":"

The ARN of the policy that is used to set the permissions boundary for the user.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that you want to attach to the newly created user. Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

If any one of the tags is invalid or if you exceed the allowed number of tags per user, then the entire request fails and the user is not created.

" } } }, @@ -2416,11 +3010,11 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path for the virtual MFA device. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/).

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "VirtualMFADeviceName":{ "shape":"virtualMFADeviceName", - "documentation":"

The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the virtual MFA device. Use with path to uniquely identify a virtual MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2440,7 +3034,7 @@ "members":{ "message":{"shape":"credentialReportExpiredExceptionMessage"} }, - "documentation":"

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the IAM User Guide.

", + "documentation":"

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the IAM User Guide.

", "error":{ "code":"ReportExpired", "httpStatusCode":410, @@ -2483,11 +3077,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to deactivate.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose MFA device you want to deactivate.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, @@ -2497,11 +3091,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose access key pair you want to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose access key pair you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The access key ID for the access key ID and secret access key you want to delete.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The access key ID for the access key ID and secret access key you want to delete.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -2511,7 +3105,7 @@ "members":{ "AccountAlias":{ "shape":"accountAliasType", - "documentation":"

The name of the account alias to delete.

The regex pattern for this parameter is a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" + "documentation":"

The name of the account alias to delete.

This parameter allows (through its regex pattern) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row.

" } } }, @@ -2537,11 +3131,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) identifying the group that the policy is embedded in.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the group that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name identifying the policy document to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name identifying the policy document to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2551,7 +3145,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the IAM group to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM group to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2561,7 +3155,7 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the instance profile to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2571,7 +3165,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose password you want to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose password you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2581,7 +3175,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders action.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OpenID Connect provider resource object to delete. You can get a list of OpenID Connect provider resource ARNs by using the ListOpenIDConnectProviders operation.

" } } }, @@ -2591,7 +3185,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to delete.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to delete.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2604,11 +3198,21 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy from which you want to delete a version.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "VersionId":{ "shape":"policyVersionIdType", - "documentation":"

The policy version to delete.

The regex pattern for this parameter is a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

The policy version to delete.

This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + } + } + }, + "DeleteRolePermissionsBoundaryRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name (friendly name, not ARN) of the IAM role from which you want to remove the permissions boundary.

" } } }, @@ -2621,11 +3225,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the role that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the inline policy to delete from the specified IAM role.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the inline policy to delete from the specified IAM role.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2635,7 +3239,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2658,11 +3262,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -2672,7 +3276,41 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the server certificate you want to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + } + } + }, + "DeleteServiceLinkedRoleRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the service-linked role to be deleted.

" + } + } + }, + "DeleteServiceLinkedRoleResponse":{ + "type":"structure", + "required":["DeletionTaskId"], + "members":{ + "DeletionTaskId":{ + "shape":"DeletionTaskIdType", + "documentation":"

The deletion task identifier that you can use to check the status of the deletion. This identifier is returned in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

" + } + } + }, + "DeleteServiceSpecificCredentialRequest":{ + "type":"structure", + "required":["ServiceSpecificCredentialId"], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "ServiceSpecificCredentialId":{ + "shape":"serviceSpecificCredentialId", + "documentation":"

The unique identifier of the service-specific credential. You can get this value by calling ListServiceSpecificCredentials.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -2682,7 +3320,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate belongs to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user the signing certificate belongs to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateId":{ "shape":"certificateIdType", @@ -2690,6 +3328,16 @@ } } }, + "DeleteUserPermissionsBoundaryRequest":{ + "type":"structure", + "required":["UserName"], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name (friendly name, not ARN) of the IAM user from which you want to remove the permissions boundary.

" + } + } + }, "DeleteUserPolicyRequest":{ "type":"structure", "required":[ @@ -2699,11 +3347,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name (friendly name, not ARN) identifying the user that the policy is embedded in.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) identifying the user that the policy is embedded in.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name identifying the policy document to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name identifying the policy document to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2713,7 +3361,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to delete.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to delete.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -2723,10 +3371,38 @@ "members":{ "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the same as the ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" } } }, + "DeletionTaskFailureReasonType":{ + "type":"structure", + "members":{ + "Reason":{ + "shape":"ReasonType", + "documentation":"

A short description of the reason that the service-linked role deletion failed.

" + }, + "RoleUsageList":{ + "shape":"RoleUsageListType", + "documentation":"

A list of objects that contains details about the service-linked role deletion failure, if that information is returned by the service. If the service-linked role has active sessions or if any resources that were used by the role have not been deleted from the linked service, the role can't be deleted. This parameter includes a list of the resources that are associated with the role and the Region in which the resources are being used.

" + } + }, + "documentation":"

The reason that the service-linked role deletion failed.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

" + }, + "DeletionTaskIdType":{ + "type":"string", + "max":1000, + "min":1 + }, + "DeletionTaskStatusType":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "IN_PROGRESS", + "FAILED", + "NOT_STARTED" + ] + }, "DetachGroupPolicyRequest":{ "type":"structure", "required":[ @@ -2736,11 +3412,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM group to detach the policy from.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM group to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2753,11 +3429,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM role to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2770,11 +3446,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the IAM user to detach the policy from.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the IAM user to detach the policy from.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy you want to detach.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -2815,19 +3491,19 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user for whom you want to enable the MFA device.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user for whom you want to enable the MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =/:,.@-

" + "documentation":"

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@:/-

" }, "AuthenticationCode1":{ "shape":"authenticationCodeType", - "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

" + "documentation":"

An authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" }, "AuthenticationCode2":{ "shape":"authenticationCodeType", - "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of 6 digits.

" + "documentation":"

A subsequent authentication code emitted by the device.

The format for this parameter is a string of six digits.

Submit your request immediately after generating the authentication codes. If you generate the codes and then wait too long to submit the request, the MFA device successfully associates with the user but the MFA device becomes out of sync. This happens because time-based one-time passwords (TOTP) expire after a short period of time. If this happens, you can resync the device.

" } } }, @@ -2844,6 +3520,50 @@ }, "exception":true }, + "EntityDetails":{ + "type":"structure", + "required":["EntityInfo"], + "members":{ + "EntityInfo":{ + "shape":"EntityInfo", + "documentation":"

The EntityInfo object that contains details about the entity (user or role).

" + }, + "LastAuthenticated":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the authenticated entity last attempted to access AWS. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + } + }, + "documentation":"

An object that contains details about when the IAM entities (users or roles) were last used in an attempt to access the specified AWS service.

This data type is a response element in the GetServiceLastAccessedDetailsWithEntities operation.

" + }, + "EntityInfo":{ + "type":"structure", + "required":[ + "Arn", + "Name", + "Type", + "Id" + ], + "members":{ + "Arn":{"shape":"arnType"}, + "Name":{ + "shape":"userNameType", + "documentation":"

The name of the entity (user or role).

" + }, + "Type":{ + "shape":"policyOwnerEntityType", + "documentation":"

The type of entity (user or role).

" + }, + "Id":{ + "shape":"idType", + "documentation":"

The identifier of the entity (user or role).

" + }, + "Path":{ + "shape":"pathType", + "documentation":"

The path to the entity (user or role). For more information about paths, see IAM Identifiers in the IAM User Guide.

" + } + }, + "documentation":"

Contains details about the specified entity (user or role).

This data type is an element of the EntityDetails object.

" + }, "EntityTemporarilyUnmodifiableException":{ "type":"structure", "members":{ @@ -2867,6 +3587,24 @@ "AWSManagedPolicy" ] }, + "ErrorDetails":{ + "type":"structure", + "required":[ + "Message", + "Code" + ], + "members":{ + "Message":{ + "shape":"stringType", + "documentation":"

Detailed information about the reason that the operation failed.

" + }, + "Code":{ + "shape":"stringType", + "documentation":"

The error code associated with the operation failure.

" + } + }, + "documentation":"

Contains information about the reason that the operation failed.

This data type is used as a response element in the GetOrganizationsAccessReport, GetServiceLastAccessedDetails, and GetServiceLastAccessedDetailsWithEntities operations.

" + }, "EvalDecisionDetailsType":{ "type":"map", "key":{"shape":"EvalDecisionSourceType"}, @@ -2886,11 +3624,11 @@ "members":{ "EvalActionName":{ "shape":"ActionNameType", - "documentation":"

The name of the API action tested on the indicated resource.

" + "documentation":"

The name of the API operation tested on the indicated resource.

" }, "EvalResourceName":{ "shape":"ResourceNameType", - "documentation":"

The ARN of the resource that the indicated API action was tested on.

" + "documentation":"

The ARN of the resource that the indicated API operation was tested on.

" }, "EvalDecision":{ "shape":"PolicyEvaluationDecisionType", @@ -2898,19 +3636,27 @@ }, "MatchedStatements":{ "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the action on the resource, if only one statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" + "documentation":"

A list of the statements in the input policies that determine the result for this scenario. Remember that even if multiple statements allow the operation on the resource, if only one statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.

" }, "MissingContextValues":{ "shape":"ContextKeyNamesResultListType", "documentation":"

A list of context keys that are required by the included input policies but that were not provided by one of the input parameters. This list is used when the resource in a simulation is \"*\", either explicitly, or when the ResourceArns parameter blank. If you include a list of resources, then any missing context values are instead included under the ResourceSpecificResults section. To discover the context keys used by a set of policies, you can call GetContextKeysForCustomPolicy or GetContextKeysForPrincipalPolicy.

" }, + "OrganizationsDecisionDetail":{ + "shape":"OrganizationsDecisionDetail", + "documentation":"

A structure that details how Organizations and its service control policies affect the results of the simulation. Only applies if the simulated user's account is part of an organization.

" + }, + "PermissionsBoundaryDecisionDetail":{ + "shape":"PermissionsBoundaryDecisionDetail", + "documentation":"

Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.

" + }, "EvalDecisionDetails":{ "shape":"EvalDecisionDetailsType", - "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access. See How IAM Roles Differ from Resource-based Policies

" + "documentation":"

Additional details about the results of the cross-account evaluation decision. This parameter is populated for only cross-account simulations. It contains a brief summary of how each policy type contributes to the final evaluation decision.

If the simulation evaluates policies within the same account and includes a resource ARN, then the parameter is present but the response is empty. If the simulation evaluates policies within the same account and specifies all resources (*), then the parameter is not returned.

When you make a cross-account request, AWS evaluates the request in the trusting account and the trusted account. The request is allowed only if both evaluations return true. For more information about how policies are evaluated, see Evaluating Policies Within a Single Account.

If an AWS Organizations SCP included in the evaluation denies access, the simulation ends. In this case, policy evaluation does not proceed any further and this parameter is not returned.

" }, "ResourceSpecificResults":{ "shape":"ResourceSpecificResultListType", - "documentation":"

The individual results of the simulation of the API action specified in EvalActionName on each resource.

" + "documentation":"

The individual results of the simulation of the API operation specified in EvalActionName on each resource.

" } }, "documentation":"

Contains the results of a simulation.

This data type is used by the return parameter of SimulateCustomPolicy and SimulatePrincipalPolicy .

" @@ -2933,13 +3679,55 @@ }, "documentation":"

Contains the response to a successful GenerateCredentialReport request.

" }, + "GenerateOrganizationsAccessReportRequest":{ + "type":"structure", + "required":["EntityPath"], + "members":{ + "EntityPath":{ + "shape":"organizationsEntityPathType", + "documentation":"

The path of the AWS Organizations entity (root, OU, or account). You can build an entity path using the known structure of your organization. For example, assume that your account ID is 123456789012 and its parent OU ID is ou-rge0-awsabcde. The organization root ID is r-f6g7h8i9j0example and your organization ID is o-a1b2c3d4e5. Your entity path is o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012.

" + }, + "OrganizationsPolicyId":{ + "shape":"organizationsPolicyIdType", + "documentation":"

The identifier of the AWS Organizations service control policy (SCP). This parameter is optional.

This ID is used to generate information about when an account principal that is limited by the SCP attempted to access an AWS service.

" + } + } + }, + "GenerateOrganizationsAccessReportResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The job identifier that you can use in the GetOrganizationsAccessReport operation.

" + } + } + }, + "GenerateServiceLastAccessedDetailsRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"arnType", + "documentation":"

The ARN of the IAM resource (user, group, role, or managed policy) used to generate information about when the resource was last used in an attempt to access an AWS service.

" + } + } + }, + "GenerateServiceLastAccessedDetailsResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The JobId that you can use in the GetServiceLastAccessedDetails or GetServiceLastAccessedDetailsWithEntities operations. The JobId returned by GenerateServiceLastAccessedDetail must be used by the same role within a session, or by the same user when used to call GetServiceLastAccessedDetail.

" + } + } + }, "GetAccessKeyLastUsedRequest":{ "type":"structure", "required":["AccessKeyId"], "members":{ "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The identifier of an access key.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The identifier of an access key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" } } }, @@ -2966,7 +3754,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -2995,10 +3783,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3008,7 +3796,10 @@ "type":"structure", "required":["PasswordPolicy"], "members":{ - "PasswordPolicy":{"shape":"PasswordPolicy"} + "PasswordPolicy":{ + "shape":"PasswordPolicy", + "documentation":"

A structure that contains details about the account's password policy.

" + } }, "documentation":"

Contains the response to a successful GetAccountPasswordPolicy request.

" }, @@ -3017,7 +3808,7 @@ "members":{ "SummaryMap":{ "shape":"summaryMapType", - "documentation":"

A set of key value pairs containing information about IAM entity usage and IAM quotas.

" + "documentation":"

A set of key–value pairs containing information about IAM entity usage and IAM quotas.

" } }, "documentation":"

Contains the response to a successful GetAccountSummary request.

" @@ -3028,7 +3819,7 @@ "members":{ "PolicyInputList":{ "shape":"SimulationPolicyListType", - "documentation":"

A list of policies for which you want the list of context keys referenced in those policies. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

A list of policies for which you want the list of context keys referenced in those policies. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -3048,11 +3839,11 @@ "members":{ "PolicySourceArn":{ "shape":"arnType", - "documentation":"

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies attached to the user as well as to all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The ARN of a user, group, or role whose policies contain the context keys that you want listed. If you specify a user, the list includes context keys that are found in all policies that are attached to the user. The list also includes all groups that the user is a member of. If you pick a group or a role, then it includes only those context keys that are found in policies attached to that entity. Note that all parameters are shown in unencoded form here for clarity, but must be URL encoded to be included as a part of a real HTML request.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyInputList":{ "shape":"SimulationPolicyListType", - "documentation":"

An optional list of additional policies for which you want the list of context keys that are referenced.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

An optional list of additional policies for which you want the list of context keys that are referenced.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -3083,11 +3874,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group the policy is associated with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group the policy is associated with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3109,7 +3900,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetGroupPolicy request.

" @@ -3120,7 +3911,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -3128,7 +3919,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3149,10 +3940,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3164,7 +3955,7 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to get information about.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the instance profile to get information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3185,7 +3976,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose login profile you want to retrieve.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose login profile you want to retrieve.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3206,7 +3997,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the OIDC provider resource object in IAM to get information for. You can get a list of OIDC provider resource ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3232,41 +4023,105 @@ }, "documentation":"

Contains the response to a successful GetOpenIDConnectProvider request.

" }, - "GetPolicyRequest":{ + "GetOrganizationsAccessReportRequest":{ "type":"structure", - "required":["PolicyArn"], + "required":["JobId"], "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "JobId":{ + "shape":"jobIDType", + "documentation":"

The identifier of the request generated by the GenerateOrganizationsAccessReport operation.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + }, + "SortKey":{ + "shape":"sortKeyType", + "documentation":"

The key that is used to sort the results. If you choose the namespace key, the results are returned in alphabetical order. If you choose the time key, the results are sorted numerically by the date and time.

" } } }, - "GetPolicyResponse":{ - "type":"structure", - "members":{ - "Policy":{ - "shape":"Policy", - "documentation":"

A structure containing details about the policy.

" - } - }, - "documentation":"

Contains the response to a successful GetPolicy request.

" - }, - "GetPolicyVersionRequest":{ + "GetOrganizationsAccessReportResponse":{ "type":"structure", "required":[ - "PolicyArn", - "VersionId" + "JobStatus", + "JobCreationDate" ], "members":{ - "PolicyArn":{ - "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "JobStatus":{ + "shape":"jobStatusType", + "documentation":"

The status of the job.

" }, - "VersionId":{ - "shape":"policyVersionIdType", - "documentation":"

Identifies the policy version to retrieve.

The regex pattern for this parameter is a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

" - } + "JobCreationDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the report job was created.

" + }, + "JobCompletionDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the generated report job was completed or failed.

This field is null if the job is still in progress, as indicated by a job status value of IN_PROGRESS.

" + }, + "NumberOfServicesAccessible":{ + "shape":"integerType", + "documentation":"

The number of services that the applicable SCPs allow account principals to access.

" + }, + "NumberOfServicesNotAccessed":{ + "shape":"integerType", + "documentation":"

The number of services that account principals are allowed but did not attempt to access.

" + }, + "AccessDetails":{ + "shape":"AccessDetails", + "documentation":"

An object that contains details about the most recent attempt to access the service.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + }, + "ErrorDetails":{"shape":"ErrorDetails"} + } + }, + "GetPolicyRequest":{ + "type":"structure", + "required":["PolicyArn"], + "members":{ + "PolicyArn":{ + "shape":"arnType", + "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + } + } + }, + "GetPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure containing details about the policy.

" + } + }, + "documentation":"

Contains the response to a successful GetPolicy request.

" + }, + "GetPolicyVersionRequest":{ + "type":"structure", + "required":[ + "PolicyArn", + "VersionId" + ], + "members":{ + "PolicyArn":{ + "shape":"arnType", + "documentation":"

The Amazon Resource Name (ARN) of the managed policy that you want information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + }, + "VersionId":{ + "shape":"policyVersionIdType", + "documentation":"

Identifies the policy version to retrieve.

This parameter allows (through its regex pattern) a string of characters that consists of the lowercase letter 'v' followed by one or two digits, and optionally followed by a period '.' and a string of letters and digits.

" + } } }, "GetPolicyVersionResponse":{ @@ -3288,11 +4143,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role associated with the policy.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role associated with the policy.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3314,7 +4169,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetRolePolicy request.

" @@ -3325,7 +4180,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the IAM role to get information about.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM role to get information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3346,7 +4201,7 @@ "members":{ "SAMLProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the SAML provider resource object in IAM to get information about.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -3378,11 +4233,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Encoding":{ "shape":"encodingType", @@ -3406,7 +4261,7 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate you want to retrieve information about.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the server certificate you want to retrieve information about.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3421,6 +4276,151 @@ }, "documentation":"

Contains the response to a successful GetServerCertificate request.

" }, + "GetServiceLastAccessedDetailsRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The ID of the request generated by the GenerateServiceLastAccessedDetails operation. The JobId returned by GenerateServiceLastAccessedDetail must be used by the same role within a session, or by the same user when used to call GetServiceLastAccessedDetail.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + } + } + }, + "GetServiceLastAccessedDetailsResponse":{ + "type":"structure", + "required":[ + "JobStatus", + "JobCreationDate", + "ServicesLastAccessed", + "JobCompletionDate" + ], + "members":{ + "JobStatus":{ + "shape":"jobStatusType", + "documentation":"

The status of the job.

" + }, + "JobCreationDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the report job was created.

" + }, + "ServicesLastAccessed":{ + "shape":"ServicesLastAccessed", + "documentation":"

ServiceLastAccessed object that contains details about the most recent attempt to access the service.

" + }, + "JobCompletionDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the generated report job was completed or failed.

This field is null if the job is still in progress, as indicated by a job status value of IN_PROGRESS.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + }, + "Error":{ + "shape":"ErrorDetails", + "documentation":"

An object that contains details about the reason the operation failed.

" + } + } + }, + "GetServiceLastAccessedDetailsWithEntitiesRequest":{ + "type":"structure", + "required":[ + "JobId", + "ServiceNamespace" + ], + "members":{ + "JobId":{ + "shape":"jobIDType", + "documentation":"

The ID of the request generated by the GenerateServiceLastAccessedDetails operation.

" + }, + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The service namespace for an AWS service. Provide the service namespace to learn when the IAM entity last attempted to access the specified service.

To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + } + } + }, + "GetServiceLastAccessedDetailsWithEntitiesResponse":{ + "type":"structure", + "required":[ + "JobStatus", + "JobCreationDate", + "JobCompletionDate", + "EntityDetailsList" + ], + "members":{ + "JobStatus":{ + "shape":"jobStatusType", + "documentation":"

The status of the job.

" + }, + "JobCreationDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the report job was created.

" + }, + "JobCompletionDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the generated report job was completed or failed.

This field is null if the job is still in progress, as indicated by a job status value of IN_PROGRESS.

" + }, + "EntityDetailsList":{ + "shape":"entityDetailsListType", + "documentation":"

An EntityDetailsList object that contains details about when an IAM entity (user or role) used group or policy permissions in an attempt to access the specified AWS service.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + }, + "Error":{ + "shape":"ErrorDetails", + "documentation":"

An object that contains details about the reason the operation failed.

" + } + } + }, + "GetServiceLinkedRoleDeletionStatusRequest":{ + "type":"structure", + "required":["DeletionTaskId"], + "members":{ + "DeletionTaskId":{ + "shape":"DeletionTaskIdType", + "documentation":"

The deletion task identifier. This identifier is returned by the DeleteServiceLinkedRole operation in the format task/aws-service-role/<service-principal-name>/<role-name>/<task-uuid>.

" + } + } + }, + "GetServiceLinkedRoleDeletionStatusResponse":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"DeletionTaskStatusType", + "documentation":"

The status of the deletion.

" + }, + "Reason":{ + "shape":"DeletionTaskFailureReasonType", + "documentation":"

An object that contains details about the reason the deletion failed.

" + } + } + }, "GetUserPolicyRequest":{ "type":"structure", "required":[ @@ -3430,11 +4430,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user who the policy is associated with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user who the policy is associated with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document to get.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document to get.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3456,7 +4456,7 @@ }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

" + "documentation":"

The policy document.

IAM stores policies in JSON format. However, resources that were created using AWS CloudFormation templates can be formatted in YAML. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

" } }, "documentation":"

Contains the response to a successful GetUserPolicy request.

" @@ -3466,7 +4466,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to get information about.

This parameter is optional. If it is not included, it defaults to the user making the request. The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to get information about.

This parameter is optional. If it is not included, it defaults to the user making the request. This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -3476,7 +4476,7 @@ "members":{ "User":{ "shape":"User", - "documentation":"

A structure containing details about the IAM user.

" + "documentation":"

A structure containing details about the IAM user.

Due to a service issue, password last used data does not include password use from May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used dates in the IAM credential report, and returned by this GetUser API. If users signed in during the affected time, the password last used date that is returned is the date the user last signed in before May 3, 2018. For users that signed in after May 23, 2018 14:08 PDT, the returned password last used date is accurate.

You can use password last used information to identify unused credentials for deletion. For example, you might delete users who did not sign in to AWS in the last 90 days. In cases like this, we recommend that you adjust your evaluation window to include dates after May 23, 2018. Alternatively, if your users use access keys to access AWS programmatically you can refer to access key last used information because it is accurate for all dates.

" } }, "documentation":"

Contains the response to a successful GetUser request.

" @@ -3493,7 +4493,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "GroupName":{ "shape":"groupNameType", @@ -3501,25 +4501,25 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

" }, "CreateDate":{ "shape":"dateType", "documentation":"

The date and time, in ISO 8601 date-time format, when the group was created.

" } }, - "documentation":"

Contains information about an IAM group entity.

This data type is used as a response element in the following actions:

" + "documentation":"

Contains information about an IAM group entity.

This data type is used as a response element in the following operations:

" }, "GroupDetail":{ "type":"structure", "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the group. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "GroupName":{ "shape":"groupNameType", @@ -3527,7 +4527,7 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -3543,7 +4543,7 @@ "documentation":"

A list of the managed policies attached to the group.

" } }, - "documentation":"

Contains information about an IAM group, including all of the group's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

" + "documentation":"

Contains information about an IAM group, including all of the group's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" }, "InstanceProfile":{ "type":"structure", @@ -3558,7 +4558,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the instance profile. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "InstanceProfileName":{ "shape":"instanceProfileNameType", @@ -3566,11 +4566,11 @@ }, "InstanceProfileId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

" }, "CreateDate":{ "shape":"dateType", @@ -3581,7 +4581,7 @@ "documentation":"

The role associated with the instance profile.

" } }, - "documentation":"

Contains information about an instance profile.

This data type is used as a response element in the following actions:

" + "documentation":"

Contains information about an instance profile.

This data type is used as a response element in the following operations:

" }, "InvalidAuthenticationCodeException":{ "type":"structure", @@ -3680,7 +4680,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -3688,7 +4688,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3702,10 +4702,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3720,7 +4720,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3734,10 +4734,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3749,11 +4749,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name (friendly name, not ARN) of the group to list attached policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the group to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -3761,7 +4761,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3774,10 +4774,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3789,11 +4789,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the role to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -3801,7 +4801,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3814,10 +4814,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3829,11 +4829,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name (friendly name, not ARN) of the user to list attached policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name (friendly name, not ARN) of the user to list attached policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -3841,7 +4841,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3854,10 +4854,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3869,7 +4869,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "EntityFilter":{ "shape":"EntityType", @@ -3877,7 +4877,11 @@ }, "PathPrefix":{ "shape":"pathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all entities.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + }, + "PolicyUsageFilter":{ + "shape":"PolicyUsageType", + "documentation":"

The policy usage method to use for filtering the results.

To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary.

This parameter is optional. If it is not included, all policies are returned.

" }, "Marker":{ "shape":"markerType", @@ -3885,7 +4889,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3906,10 +4910,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3921,7 +4925,7 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to list policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -3929,7 +4933,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3939,14 +4943,14 @@ "members":{ "PolicyNames":{ "shape":"policyNameListType", - "documentation":"

A list of policy names.

" + "documentation":"

A list of policy names.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3958,7 +4962,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to list groups for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to list groups for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -3966,7 +4970,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -3980,10 +4984,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -3994,7 +4998,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /division_abc/subdivision_xyz/ gets all groups whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all groups. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4002,7 +5006,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4016,10 +5020,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4031,7 +5035,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list instance profiles for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to list instance profiles for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4039,7 +5043,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4053,10 +5057,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4067,7 +5071,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all instance profiles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all instance profiles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4075,7 +5079,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4089,10 +5093,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4103,7 +5107,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA devices you want to list.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose MFA devices you want to list.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4111,7 +5115,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4125,10 +5129,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4149,6 +5153,59 @@ }, "documentation":"

Contains the response to a successful ListOpenIDConnectProviders request.

" }, + "ListPoliciesGrantingServiceAccessEntry":{ + "type":"structure", + "members":{ + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The namespace of the service that was accessed.

To learn the service namespace of a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "Policies":{ + "shape":"policyGrantingServiceAccessListType", + "documentation":"

The PoliciesGrantingServiceAccess object that contains details about the policy.

" + } + }, + "documentation":"

Contains details about the permissions policies that are attached to the specified identity (user, group, or role).

This data type is used as a response element in the ListPoliciesGrantingServiceAccess operation.

" + }, + "ListPoliciesGrantingServiceAccessRequest":{ + "type":"structure", + "required":[ + "Arn", + "ServiceNamespaces" + ], + "members":{ + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + }, + "Arn":{ + "shape":"arnType", + "documentation":"

The ARN of the IAM identity (user, group, or role) whose policies you want to list.

" + }, + "ServiceNamespaces":{ + "shape":"serviceNamespaceListType", + "documentation":"

The service namespace for the AWS services whose policies you want to list.

To learn the service namespace for a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + } + } + }, + "ListPoliciesGrantingServiceAccessResponse":{ + "type":"structure", + "required":["PoliciesGrantingServiceAccess"], + "members":{ + "PoliciesGrantingServiceAccess":{ + "shape":"listPolicyGrantingServiceAccessResponseListType", + "documentation":"

ListPoliciesGrantingServiceAccess object that contains details about the permissions policies attached to the specified identity (user, group, or role).

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + } + } + }, "ListPoliciesRequest":{ "type":"structure", "members":{ @@ -4162,7 +5219,11 @@ }, "PathPrefix":{ "shape":"policyPathType", - "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. This parameter is optional. If it is not included, it defaults to a slash (/), listing all policies. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + }, + "PolicyUsageFilter":{ + "shape":"PolicyUsageType", + "documentation":"

The policy usage method to use for filtering the results.

To list only permissions policies, set PolicyUsageFilter to PermissionsPolicy. To list only the policies used to set permissions boundaries, set the value to PermissionsBoundary.

This parameter is optional. If it is not included, all policies are returned.

" }, "Marker":{ "shape":"markerType", @@ -4170,7 +5231,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4183,10 +5244,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4198,7 +5259,7 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy for which you want the versions.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "Marker":{ "shape":"markerType", @@ -4206,7 +5267,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4215,14 +5276,14 @@ "members":{ "Versions":{ "shape":"policyDocumentVersionListType", - "documentation":"

A list of policy versions.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

A list of policy versions.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4234,7 +5295,7 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to list policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4242,7 +5303,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4256,21 +5317,57 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, "documentation":"

Contains the response to a successful ListRolePolicies request.

" }, + "ListRoleTagsRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the IAM role for which you want to see the list of tags.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when more results are available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + } + } + }, + "ListRoleTagsResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"tagListType", + "documentation":"

The list of tags currently that is attached to the role. Each tag consists of a key name and an associated value. If no tags are attached to the specified role, the response contains an empty list.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can use the Marker request parameter to make a subsequent pagination request that retrieves more items. Note that IAM might return fewer than the MaxItems number of results even when more results are available. Check IsTruncated after every call to ensure that you receive all of your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + } + } + }, "ListRolesRequest":{ "type":"structure", "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all roles. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4278,7 +5375,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4292,10 +5389,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4321,7 +5418,7 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user to list SSH public keys for. If none is specified, the UserName field is determined implicitly based on the AWS access key used to sign the request.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4329,7 +5426,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4342,10 +5439,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4356,7 +5453,7 @@ "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example: /company/servercerts would get all server certificates for which the path starts with /company/servercerts.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all server certificates. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4364,7 +5461,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4378,21 +5475,43 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, "documentation":"

Contains the response to a successful ListServerCertificates request.

" }, + "ListServiceSpecificCredentialsRequest":{ + "type":"structure", + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the user whose service-specific credentials you want information about. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "ServiceName":{ + "shape":"serviceName", + "documentation":"

Filters the returned results to only those for the specified AWS service. If not specified, then AWS returns service-specific credentials for all services.

" + } + } + }, + "ListServiceSpecificCredentialsResponse":{ + "type":"structure", + "members":{ + "ServiceSpecificCredentials":{ + "shape":"ServiceSpecificCredentialsListType", + "documentation":"

A list of structures that each contain details about a service-specific credential.

" + } + } + }, "ListSigningCertificatesRequest":{ "type":"structure", "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user whose signing certificates you want to examine.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user whose signing certificates you want to examine.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4400,7 +5519,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4414,10 +5533,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4429,7 +5548,7 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to list policies for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to list policies for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Marker":{ "shape":"markerType", @@ -4437,7 +5556,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4451,21 +5570,57 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, "documentation":"

Contains the response to a successful ListUserPolicies request.

" }, + "ListUserTagsRequest":{ + "type":"structure", + "required":["UserName"], + "members":{ + "UserName":{ + "shape":"existingUserNameType", + "documentation":"

The name of the IAM user whose tags you want to see.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + }, + "Marker":{ + "shape":"markerType", + "documentation":"

Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the Marker element in the response that you received to indicate where the next call should start.

" + }, + "MaxItems":{ + "shape":"maxItemsType", + "documentation":"

(Optional) Use this only when paginating results to indicate the maximum number of items that you want in the response. If additional items exist beyond the maximum that you specify, the IsTruncated response element is true.

If you do not include this parameter, it defaults to 100. Note that IAM might return fewer results, even when more results are available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + } + } + }, + "ListUserTagsResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"tagListType", + "documentation":"

The list of tags that are currently attached to the user. Each tag consists of a key name and an associated value. If no tags are attached to the specified user, the response contains an empty list.

" + }, + "IsTruncated":{ + "shape":"booleanType", + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can use the Marker request parameter to make a subsequent pagination request that retrieves more items. Note that IAM might return fewer than the MaxItems number of results even when more results are available. Check IsTruncated after every call to ensure that you receive all of your results.

" + }, + "Marker":{ + "shape":"responseMarkerType", + "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + } + } + }, "ListUsersRequest":{ "type":"structure", "members":{ "PathPrefix":{ "shape":"pathPrefixType", - "documentation":"

The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The path prefix for filtering the results. For example: /division_abc/subdivision_xyz/, which would get all user names whose path starts with /division_abc/subdivision_xyz/.

This parameter is optional. If it is not included, it defaults to a slash (/), listing all user names. This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "Marker":{ "shape":"markerType", @@ -4473,7 +5628,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4487,10 +5642,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4501,7 +5656,7 @@ "members":{ "AssignmentStatus":{ "shape":"assignmentStatusType", - "documentation":"

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the action defaults to Any which lists both assigned and unassigned virtual MFA devices.

" + "documentation":"

The status (Unassigned or Assigned) of the devices to list. If you do not specify an AssignmentStatus, the operation defaults to Any, which lists both assigned and unassigned virtual MFA devices.,

" }, "Marker":{ "shape":"markerType", @@ -4509,7 +5664,7 @@ }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" } } }, @@ -4523,10 +5678,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -4552,7 +5707,7 @@ "documentation":"

Specifies whether the user is required to set a new password on next sign-in.

" } }, - "documentation":"

Contains the user name and password create date for a user.

This data type is used as a response element in the CreateLoginProfile and GetLoginProfile actions.

" + "documentation":"

Contains the user name and password create date for a user.

This data type is used as a response element in the CreateLoginProfile and GetLoginProfile operations.

" }, "MFADevice":{ "type":"structure", @@ -4575,7 +5730,7 @@ "documentation":"

The date when the MFA device was enabled for the user.

" } }, - "documentation":"

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices action.

" + "documentation":"

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices operation.

" }, "MalformedCertificateException":{ "type":"structure", @@ -4612,21 +5767,25 @@ }, "PolicyId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{"shape":"arnType"}, "Path":{ "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "DefaultVersionId":{ "shape":"policyVersionIdType", - "documentation":"

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

" + "documentation":"

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the IAM User Guide.

" }, "AttachmentCount":{ "shape":"attachmentCountType", "documentation":"

The number of principal entities (users, groups, and roles) that the policy is attached to.

" }, + "PermissionsBoundaryUsageCount":{ + "shape":"attachmentCountType", + "documentation":"

The number of entities (users and roles) for which the policy is used as the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, "IsAttachable":{ "shape":"booleanType", "documentation":"

Specifies whether the policy can be attached to an IAM user, group, or role.

" @@ -4648,7 +5807,7 @@ "documentation":"

A list containing information about the versions of the policy.

" } }, - "documentation":"

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

For more information about managed policies, see Managed Policies and Inline Policies in the IAM User Guide.

" }, "ManagedPolicyDetailListType":{ "type":"list", @@ -4659,7 +5818,7 @@ "members":{ "message":{"shape":"noSuchEntityMessage"} }, - "documentation":"

The request was rejected because it referenced an entity that does not exist. The error message describes the entity.

", + "documentation":"

The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource.

", "error":{ "code":"NoSuchEntity", "httpStatusCode":404, @@ -4685,13 +5844,23 @@ "max":255, "min":1 }, - "PasswordPolicy":{ + "OrganizationsDecisionDetail":{ "type":"structure", "members":{ - "MinimumPasswordLength":{ - "shape":"minimumPasswordLengthType", - "documentation":"

Minimum length to require for IAM user passwords.

" - }, + "AllowedByOrganizations":{ + "shape":"booleanType", + "documentation":"

Specifies whether the simulated operation is allowed by the Organizations service control policies that impact the simulated user's account.

" + } + }, + "documentation":"

Contains information about the effect that Organizations has on a policy simulation.

" + }, + "PasswordPolicy":{ + "type":"structure", + "members":{ + "MinimumPasswordLength":{ + "shape":"minimumPasswordLengthType", + "documentation":"

Minimum length to require for IAM user passwords.

" + }, "RequireSymbols":{ "shape":"booleanType", "documentation":"

Specifies whether to require symbols for IAM user passwords.

" @@ -4714,7 +5883,7 @@ }, "ExpirePasswords":{ "shape":"booleanType", - "documentation":"

Indicates whether passwords in the account expire. Returns true if MaxPasswordAge is contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.

" + "documentation":"

Indicates whether passwords in the account expire. Returns true if MaxPasswordAge contains a value greater than 0. Returns false if MaxPasswordAge is 0 or not present.

" }, "MaxPasswordAge":{ "shape":"maxPasswordAgeType", @@ -4729,7 +5898,7 @@ "documentation":"

Specifies whether IAM users are prevented from setting a new password after their password has expired.

" } }, - "documentation":"

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy action.

" + "documentation":"

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy operation.

" }, "PasswordPolicyViolationException":{ "type":"structure", @@ -4744,6 +5913,20 @@ }, "exception":true }, + "PermissionsBoundaryAttachmentType":{ + "type":"string", + "enum":["PermissionsBoundaryPolicy"] + }, + "PermissionsBoundaryDecisionDetail":{ + "type":"structure", + "members":{ + "AllowedByPermissionsBoundary":{ + "shape":"booleanType", + "documentation":"

Specifies whether an action is allowed by a permissions boundary that is applied to an IAM entity (user or role). A value of true means that the permissions boundary does not deny the action. This means that the policy includes an Allow statement that matches the request. In this case, if an identity-based policy also allows the action, the request is allowed. A value of false means that either the requested action is not allowed (implicitly denied) or that the action is explicitly denied by the permissions boundary. In both of these cases, the action is not allowed, regardless of the identity-based policy.

" + } + }, + "documentation":"

Contains information about the effect that a permissions boundary has on a policy simulation when the boundary is applied to an IAM entity.

" + }, "Policy":{ "type":"structure", "members":{ @@ -4753,12 +5936,12 @@ }, "PolicyId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{"shape":"arnType"}, "Path":{ "shape":"policyPathType", - "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the policy.

For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "DefaultVersionId":{ "shape":"policyVersionIdType", @@ -4768,6 +5951,10 @@ "shape":"attachmentCountType", "documentation":"

The number of entities (users, groups, and roles) that the policy is attached to.

" }, + "PermissionsBoundaryUsageCount":{ + "shape":"attachmentCountType", + "documentation":"

The number of entities (users and roles) for which the policy is used to set the permissions boundary.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, "IsAttachable":{ "shape":"booleanType", "documentation":"

Specifies whether the policy can be attached to an IAM user, group, or role.

" @@ -4785,7 +5972,7 @@ "documentation":"

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

" } }, - "documentation":"

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "PolicyDetail":{ "type":"structure", @@ -4799,7 +5986,7 @@ "documentation":"

The policy document.

" } }, - "documentation":"

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

" + "documentation":"

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" }, "PolicyEvaluationDecisionType":{ "type":"string", @@ -4814,13 +6001,40 @@ "members":{ "message":{"shape":"policyEvaluationErrorMessage"} }, - "documentation":"

The request failed because a provided policy could not be successfully evaluated. An additional detail message indicates the source of the failure.

", + "documentation":"

The request failed because a provided policy could not be successfully evaluated. An additional detailed message indicates the source of the failure.

", "error":{ "code":"PolicyEvaluation", "httpStatusCode":500 }, "exception":true }, + "PolicyGrantingServiceAccess":{ + "type":"structure", + "required":[ + "PolicyName", + "PolicyType" + ], + "members":{ + "PolicyName":{ + "shape":"policyNameType", + "documentation":"

The policy name.

" + }, + "PolicyType":{ + "shape":"policyType", + "documentation":"

The policy type. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "PolicyArn":{"shape":"arnType"}, + "EntityType":{ + "shape":"policyOwnerEntityType", + "documentation":"

The type of entity (user or role) that used the policy to access the service to which the inline policy is attached.

This field is null for managed policies. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + }, + "EntityName":{ + "shape":"entityNameType", + "documentation":"

The name of the entity (user or role) to which the inline policy is attached.

This field is null for managed policies. For more information about these policy types, see Managed Policies and Inline Policies in the IAM User Guide.

" + } + }, + "documentation":"

Contains details about the permissions policies that are attached to the specified identity (user, group, or role).

This data type is an element of the ListPoliciesGrantingServiceAccessEntry object.

" + }, "PolicyGroup":{ "type":"structure", "members":{ @@ -4830,16 +6044,29 @@ }, "GroupId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "PolicyGroupListType":{ "type":"list", "member":{"shape":"PolicyGroup"} }, "PolicyIdentifierType":{"type":"string"}, + "PolicyNotAttachableException":{ + "type":"structure", + "members":{ + "message":{"shape":"policyNotAttachableMessage"} + }, + "documentation":"

The request failed because AWS service role policies can only be attached to the service-linked role for that service.

", + "error":{ + "code":"PolicyNotAttachable", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PolicyRole":{ "type":"structure", "members":{ @@ -4849,10 +6076,10 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "PolicyRoleListType":{ "type":"list", @@ -4870,6 +6097,14 @@ "none" ] }, + "PolicyUsageType":{ + "type":"string", + "documentation":"

The policy usage type that indicates whether the policy is used as a permissions policy or as the permissions boundary for an entity.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

", + "enum":[ + "PermissionsPolicy", + "PermissionsBoundary" + ] + }, "PolicyUser":{ "type":"structure", "members":{ @@ -4879,10 +6114,10 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" } }, - "documentation":"

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy operation.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "PolicyUserListType":{ "type":"list", @@ -4893,7 +6128,7 @@ "members":{ "Document":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

" + "documentation":"

The policy document.

The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

The policy document returned in this structure is URL-encoded compliant with RFC 3986. You can use a URL decoding method to convert the policy back to plain JSON text. For example, if you use Java, you can use the decode method of the java.net.URLDecoder utility class in the Java SDK. Other languages and SDKs provide similar functionality.

" }, "VersionId":{ "shape":"policyVersionIdType", @@ -4908,7 +6143,7 @@ "documentation":"

The date and time, in ISO 8601 date-time format, when the policy version was created.

" } }, - "documentation":"

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

" + "documentation":"

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails operations.

For more information about managed policies, refer to Managed Policies and Inline Policies in the IAM User Guide.

" }, "Position":{ "type":"structure", @@ -4934,15 +6169,32 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to associate the policy with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group to associate the policy with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-.

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + } + } + }, + "PutRolePermissionsBoundaryRequest":{ + "type":"structure", + "required":[ + "RoleName", + "PermissionsBoundary" + ], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name (friendly name, not ARN) of the IAM role for which you want to set the permissions boundary.

" + }, + "PermissionsBoundary":{ + "shape":"arnType", + "documentation":"

The ARN of the policy that is used to set the permissions boundary for the role.

" } } }, @@ -4956,15 +6208,32 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to associate the policy with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to associate the policy with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + } + } + }, + "PutUserPermissionsBoundaryRequest":{ + "type":"structure", + "required":[ + "UserName", + "PermissionsBoundary" + ], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name (friendly name, not ARN) of the IAM user for which you want to set the permissions boundary.

" + }, + "PermissionsBoundary":{ + "shape":"arnType", + "documentation":"

The ARN of the policy that is used to set the permissions boundary for the user.

" } } }, @@ -4978,18 +6247,27 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to associate the policy with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to associate the policy with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyName":{ "shape":"policyNameType", - "documentation":"

The name of the policy document.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the policy document.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy document.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The policy document.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, + "ReasonType":{ + "type":"string", + "max":1000 + }, + "RegionNameType":{ + "type":"string", + "max":100, + "min":1 + }, "RemoveClientIDFromOpenIDConnectProviderRequest":{ "type":"structure", "required":[ @@ -4999,7 +6277,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource to remove the client ID from. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ClientID":{ "shape":"clientIDType", @@ -5016,11 +6294,11 @@ "members":{ "InstanceProfileName":{ "shape":"instanceProfileNameType", - "documentation":"

The name of the instance profile to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the instance profile to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to remove.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to remove.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -5033,11 +6311,11 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

The name of the group to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the group to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user to remove.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user to remove.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" } } }, @@ -5046,6 +6324,19 @@ "type":"string", "enum":["text/csv"] }, + "ReportGenerationLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"reportGenerationLimitExceededMessage"} + }, + "documentation":"

The request failed because the maximum number of concurrent requests for this account are already running.

", + "error":{ + "code":"ReportGenerationLimitExceeded", + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, "ReportStateDescriptionType":{"type":"string"}, "ReportStateType":{ "type":"string", @@ -5055,6 +6346,29 @@ "COMPLETE" ] }, + "ResetServiceSpecificCredentialRequest":{ + "type":"structure", + "required":["ServiceSpecificCredentialId"], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user associated with the service-specific credential. If this value is not specified, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "ServiceSpecificCredentialId":{ + "shape":"serviceSpecificCredentialId", + "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + } + } + }, + "ResetServiceSpecificCredentialResponse":{ + "type":"structure", + "members":{ + "ServiceSpecificCredential":{ + "shape":"ServiceSpecificCredential", + "documentation":"

A structure with details about the updated service-specific credential, including the new password.

This is the only time that you can access the password. You cannot recover the password later, but you can reset it again.

" + } + } + }, "ResourceHandlingOptionType":{ "type":"string", "max":64, @@ -5082,11 +6396,11 @@ }, "EvalResourceDecision":{ "shape":"PolicyEvaluationDecisionType", - "documentation":"

The result of the simulation of the simulated API action on the resource specified in EvalResourceName.

" + "documentation":"

The result of the simulation of the simulated API operation on the resource specified in EvalResourceName.

" }, "MatchedStatements":{ "shape":"StatementListType", - "documentation":"

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the action on the resource, if any statement denies that action, then the explicit deny overrides any allow, and the deny statement is the only entry included in the result.

" + "documentation":"

A list of the statements in the input policies that determine the result for this part of the simulation. Remember that even if multiple statements allow the operation on the resource, if any statement denies that operation, then the explicit deny overrides any allow. In addition, the deny statement is the only entry included in the result.

" }, "MissingContextValues":{ "shape":"ContextKeyNamesResultListType", @@ -5094,10 +6408,14 @@ }, "EvalDecisionDetails":{ "shape":"EvalDecisionDetailsType", - "documentation":"

Additional details about the results of the evaluation decision. When there are both IAM policies and resource policies, this parameter explains how each set of policies contributes to the final evaluation decision. When simulating cross-account access to a resource, both the resource-based policy and the caller's IAM policy must grant access.

" + "documentation":"

Additional details about the results of the evaluation decision on a single resource. This parameter is returned only for cross-account simulations. This parameter explains how each policy type contributes to the resource-specific evaluation decision.

" + }, + "PermissionsBoundaryDecisionDetail":{ + "shape":"PermissionsBoundaryDecisionDetail", + "documentation":"

Contains information about the effect that a permissions boundary has on a policy simulation when that boundary is applied to an IAM entity.

" } }, - "documentation":"

Contains the result of the simulation of a single API action call on a single resource.

This data type is used by a member of the EvaluationResult data type.

" + "documentation":"

Contains the result of the simulation of a single API operation call on a single resource.

This data type is used by a member of the EvaluationResult data type.

" }, "ResourceSpecificResultListType":{ "type":"list", @@ -5114,11 +6432,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose MFA device you want to resynchronize.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose MFA device you want to resynchronize.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

Serial number that uniquely identifies the MFA device.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

Serial number that uniquely identifies the MFA device.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AuthenticationCode1":{ "shape":"authenticationCodeType", @@ -5142,7 +6460,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "RoleName":{ "shape":"roleNameType", @@ -5150,11 +6468,11 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide guide.

" }, "CreateDate":{ "shape":"dateType", @@ -5163,16 +6481,36 @@ "AssumeRolePolicyDocument":{ "shape":"policyDocumentType", "documentation":"

The policy that grants an entity permission to assume the role.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

A description of the role that you provide.

" + }, + "MaxSessionDuration":{ + "shape":"roleMaxSessionDurationType", + "documentation":"

The maximum session duration (in seconds) for the specified role. Anyone who uses the AWS CLI, or API to assume the role can specify the duration using the optional DurationSeconds API parameter or duration-seconds CLI parameter.

" + }, + "PermissionsBoundary":{ + "shape":"AttachedPermissionsBoundary", + "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "RoleLastUsed":{ + "shape":"RoleLastUsed", + "documentation":"

Contains information about the last time that an IAM role was used. This includes the date and time and the Region in which the role was last used. Activity is only reported for the trailing 400 days. This period can be shorter if your Region began supporting these features within the last year. The role might have been used more than 400 days ago. For more information, see Regions Where Data Is Tracked in the IAM User Guide.

" } }, - "documentation":"

Contains information about an IAM role.

This data type is used as a response element in the following actions:

" + "documentation":"

Contains information about an IAM role. This structure is returned as a response element in several API operations that interact with roles.

" }, "RoleDetail":{ "type":"structure", "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the role. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "RoleName":{ "shape":"roleNameType", @@ -5180,7 +6518,7 @@ }, "RoleId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -5191,7 +6529,10 @@ "shape":"policyDocumentType", "documentation":"

The trust policy that grants permission to assume the role.

" }, - "InstanceProfileList":{"shape":"instanceProfileListType"}, + "InstanceProfileList":{ + "shape":"instanceProfileListType", + "documentation":"

A list of instance profiles that contain this role.

" + }, "RolePolicyList":{ "shape":"policyDetailListType", "documentation":"

A list of inline policies embedded in the role. These policies are the role's access (permissions) policies.

" @@ -5199,9 +6540,53 @@ "AttachedManagedPolicies":{ "shape":"attachedPoliciesListType", "documentation":"

A list of managed policies attached to the role. These policies are the role's access (permissions) policies.

" + }, + "PermissionsBoundary":{ + "shape":"AttachedPermissionsBoundary", + "documentation":"

The ARN of the policy used to set the permissions boundary for the role.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are attached to the specified role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "RoleLastUsed":{ + "shape":"RoleLastUsed", + "documentation":"

Contains information about the last time that an IAM role was used. This includes the date and time and the Region in which the role was last used. Activity is only reported for the trailing 400 days. This period can be shorter if your Region began supporting these features within the last year. The role might have been used more than 400 days ago. For more information, see Regions Where Data Is Tracked in the IAM User Guide.

" + } + }, + "documentation":"

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" + }, + "RoleLastUsed":{ + "type":"structure", + "members":{ + "LastUsedDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format that the role was last used.

This field is null if the role has not been used within the IAM tracking period. For more information about the tracking period, see Regions Where Data Is Tracked in the IAM User Guide.

" + }, + "Region":{ + "shape":"stringType", + "documentation":"

The name of the AWS Region in which the role was last used.

" } }, - "documentation":"

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

" + "documentation":"

Contains information about the last time that an IAM role was used. This includes the date and time and the Region in which the role was last used. Activity is only reported for the trailing 400 days. This period can be shorter if your Region began supporting these features within the last year. The role might have been used more than 400 days ago. For more information, see Regions Where Data Is Tracked in the IAM User Guide.

This data type is returned as a response element in the GetRole and GetAccountAuthorizationDetails operations.

" + }, + "RoleUsageListType":{ + "type":"list", + "member":{"shape":"RoleUsageType"} + }, + "RoleUsageType":{ + "type":"structure", + "members":{ + "Region":{ + "shape":"RegionNameType", + "documentation":"

The name of the Region where the service-linked role is being used.

" + }, + "Resources":{ + "shape":"ArnListType", + "documentation":"

The name of the resource that is using the service-linked role.

" + } + }, + "documentation":"

An object that contains details about how a service-linked role is used, if that information is returned by the service.

This data type is used as a response element in the GetServiceLinkedRoleDeletionStatus operation.

" }, "SAMLMetadataDocumentType":{ "type":"string", @@ -5264,14 +6649,14 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

" + "documentation":"

The status of the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" }, "UploadDate":{ "shape":"dateType", "documentation":"

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

" } }, - "documentation":"

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey actions.

" + "documentation":"

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey operations.

" }, "SSHPublicKeyListType":{ "type":"list", @@ -5296,14 +6681,14 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

" + "documentation":"

The status of the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" }, "UploadDate":{ "shape":"dateType", "documentation":"

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

" } }, - "documentation":"

Contains information about an SSH public key, without the key's body or fingerprint.

This data type is used as a response element in the ListSSHPublicKeys action.

" + "documentation":"

Contains information about an SSH public key, without the key's body or fingerprint.

This data type is used as a response element in the ListSSHPublicKeys operation.

" }, "ServerCertificate":{ "type":"structure", @@ -5325,7 +6710,7 @@ "documentation":"

The contents of the public key certificate chain.

" } }, - "documentation":"

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate action.

" + "documentation":"

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate operation.

" }, "ServerCertificateMetadata":{ "type":"structure", @@ -5338,7 +6723,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "ServerCertificateName":{ "shape":"serverCertificateNameType", @@ -5346,11 +6731,11 @@ }, "ServerCertificateId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

" }, "UploadDate":{ "shape":"dateType", @@ -5361,7 +6746,7 @@ "documentation":"

The date on which the certificate is set to expire.

" } }, - "documentation":"

Contains information about a server certificate without its certificate body, certificate chain, and private key.

This data type is used as a response element in the UploadServerCertificate and ListServerCertificates actions.

" + "documentation":"

Contains information about a server certificate without its certificate body, certificate chain, and private key.

This data type is used as a response element in the UploadServerCertificate and ListServerCertificates operations.

" }, "ServiceFailureException":{ "type":"structure", @@ -5375,6 +6760,138 @@ }, "exception":true }, + "ServiceLastAccessed":{ + "type":"structure", + "required":[ + "ServiceName", + "ServiceNamespace" + ], + "members":{ + "ServiceName":{ + "shape":"serviceNameType", + "documentation":"

The name of the service in which access was attempted.

" + }, + "LastAuthenticated":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when an authenticated entity most recently attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + }, + "ServiceNamespace":{ + "shape":"serviceNamespaceType", + "documentation":"

The namespace of the service in which access was attempted.

To learn the service namespace of a service, go to Actions, Resources, and Condition Keys for AWS Services in the IAM User Guide. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, (service prefix: a4b). For more information about service namespaces, see AWS Service Namespaces in the AWS General Reference.

" + }, + "LastAuthenticatedEntity":{ + "shape":"arnType", + "documentation":"

The ARN of the authenticated entity (user or role) that last attempted to access the service. AWS does not report unauthenticated requests.

This field is null if no IAM entities attempted to access the service within the reporting period.

" + }, + "TotalAuthenticatedEntities":{ + "shape":"integerType", + "documentation":"

The total number of authenticated principals (root user, IAM users, or IAM roles) that have attempted to access the service.

This field is null if no principals attempted to access the service within the reporting period.

" + } + }, + "documentation":"

Contains details about the most recent attempt to access the service.

This data type is used as a response element in the GetServiceLastAccessedDetails operation.

" + }, + "ServiceNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"serviceNotSupportedMessage"} + }, + "documentation":"

The specified service does not support service-specific credentials.

", + "error":{ + "code":"NotSupportedService", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ServiceSpecificCredential":{ + "type":"structure", + "required":[ + "CreateDate", + "ServiceName", + "ServiceUserName", + "ServicePassword", + "ServiceSpecificCredentialId", + "UserName", + "Status" + ], + "members":{ + "CreateDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

" + }, + "ServiceName":{ + "shape":"serviceName", + "documentation":"

The name of the service associated with the service-specific credential.

" + }, + "ServiceUserName":{ + "shape":"serviceUserName", + "documentation":"

The generated user name for the service-specific credential. This value is generated by combining the IAM user's name combined with the ID number of the AWS account, as in jane-at-123456789012, for example. This value cannot be configured by the user.

" + }, + "ServicePassword":{ + "shape":"servicePassword", + "documentation":"

The generated password for the service-specific credential.

" + }, + "ServiceSpecificCredentialId":{ + "shape":"serviceSpecificCredentialId", + "documentation":"

The unique identifier for the service-specific credential.

" + }, + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user associated with the service-specific credential.

" + }, + "Status":{ + "shape":"statusType", + "documentation":"

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

" + } + }, + "documentation":"

Contains the details of a service-specific credential.

" + }, + "ServiceSpecificCredentialMetadata":{ + "type":"structure", + "required":[ + "UserName", + "Status", + "ServiceUserName", + "CreateDate", + "ServiceSpecificCredentialId", + "ServiceName" + ], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user associated with the service-specific credential.

" + }, + "Status":{ + "shape":"statusType", + "documentation":"

The status of the service-specific credential. Active means that the key is valid for API calls, while Inactive means it is not.

" + }, + "ServiceUserName":{ + "shape":"serviceUserName", + "documentation":"

The generated user name for the service-specific credential.

" + }, + "CreateDate":{ + "shape":"dateType", + "documentation":"

The date and time, in ISO 8601 date-time format, when the service-specific credential were created.

" + }, + "ServiceSpecificCredentialId":{ + "shape":"serviceSpecificCredentialId", + "documentation":"

The unique identifier for the service-specific credential.

" + }, + "ServiceName":{ + "shape":"serviceName", + "documentation":"

The name of the service associated with the service-specific credential.

" + } + }, + "documentation":"

Contains additional details about a service-specific credential.

" + }, + "ServiceSpecificCredentialsListType":{ + "type":"list", + "member":{"shape":"ServiceSpecificCredentialMetadata"} + }, + "ServicesLastAccessed":{ + "type":"list", + "member":{"shape":"ServiceLastAccessed"} + }, "SetDefaultPolicyVersionRequest":{ "type":"structure", "required":[ @@ -5384,11 +6901,21 @@ "members":{ "PolicyArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM policy whose default version you want to set.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "VersionId":{ "shape":"policyVersionIdType", - "documentation":"

The version of the policy to set as the default (operative) version.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + "documentation":"

The version of the policy to set as the default (operative) version.

For more information about managed policy versions, see Versioning for Managed Policies in the IAM User Guide.

" + } + } + }, + "SetSecurityTokenServicePreferencesRequest":{ + "type":"structure", + "required":["GlobalEndpointTokenVersion"], + "members":{ + "GlobalEndpointTokenVersion":{ + "shape":"globalEndpointTokenVersion", + "documentation":"

The version of the global endpoint token. Version 1 tokens are valid only in AWS Regions that are available by default. These tokens do not work in manually enabled Regions, such as Asia Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2 tokens are longer and might affect systems where you temporarily store tokens.

For information, see Activating and Deactivating STS in an AWS Region in the IAM User Guide.

" } } }, @@ -5415,14 +6942,14 @@ }, "Status":{ "shape":"statusType", - "documentation":"

The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not.

" + "documentation":"

The status of the signing certificate. Active means that the key is valid for API calls, while Inactive means it is not.

" }, "UploadDate":{ "shape":"dateType", "documentation":"

The date when the signing certificate was uploaded.

" } }, - "documentation":"

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates actions.

" + "documentation":"

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates operations.

" }, "SimulateCustomPolicyRequest":{ "type":"structure", @@ -5433,39 +6960,43 @@ "members":{ "PolicyInputList":{ "shape":"SimulationPolicyListType", - "documentation":"

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole APIs to restrict what a user can do while using the temporary credentials.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

A list of policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy. Do not include any resource-based policies in this parameter. Any resource-based policy must be submitted with the ResourcePolicy parameter. The policies cannot be \"scope-down\" policies, such as you could include in a call to GetFederationToken or one of the AssumeRole API operations. In other words, do not use policies designed to restrict what a user can do while using the temporary credentials.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + }, + "PermissionsBoundaryPolicyInputList":{ + "shape":"SimulationPolicyListType", + "documentation":"

The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that an IAM entity can have. You can input only one permissions boundary when you pass a policy to this operation. For more information about permissions boundaries, see Permissions Boundaries for IAM Entities in the IAM User Guide. The policy input is specified as a string that contains the complete, valid JSON text of a permissions boundary policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "ActionNames":{ "shape":"ActionNameListType", - "documentation":"

A list of names of API actions to evaluate in the simulation. Each action is evaluated against each resource. Each action must include the service identifier, such as iam:CreateUser.

" + "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated against each resource. Each operation must include the service identifier, such as iam:CreateUser. This operation does not support using wildcards (*) in an action name.

" }, "ResourceArns":{ "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

If you include a ResourcePolicy, then it must be applicable to all of the resources included in the simulation or you receive an invalid input error.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ResourcePolicy":{ "shape":"policyDocumentType", - "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "ResourceOwner":{ "shape":"ResourceNameType", - "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" + "documentation":"

An ARN representing the AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

The ARN for an account uses the following syntax: arn:aws:iam::AWS-account-ID:root. For example, to represent the account with the 112233445566 ID, use the following ARN: arn:aws:iam::112233445566-ID:root.

" }, "CallerArn":{ "shape":"ResourceNameType", - "documentation":"

The ARN of the IAM user that you want to use as the simulated caller of the APIs. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

" + "documentation":"

The ARN of the IAM user that you want to use as the simulated caller of the API operations. CallerArn is required if you include a ResourcePolicy so that the policy's Principal element has a value to use in evaluating the policy.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

" }, "ContextEntries":{ "shape":"ContextEntryListType", - "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permission policies, the corresponding value is supplied.

" + "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.

" }, "ResourceHandlingOption":{ "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" + "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -5482,10 +7013,10 @@ }, "IsTruncated":{ "shape":"booleanType", - "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all of your results.

" + "documentation":"

A flag that indicates whether there are more items to return. If your results were truncated, you can make a subsequent pagination request using the Marker request parameter to retrieve more items. Note that IAM might return fewer than the MaxItems number of results even when there are more results available. We recommend that you check IsTruncated after every call to ensure that you receive all your results.

" }, "Marker":{ - "shape":"markerType", + "shape":"responseMarkerType", "documentation":"

When IsTruncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" } }, @@ -5500,43 +7031,47 @@ "members":{ "PolicySourceArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of a user, group, or role whose policies you want to include in the simulation. If you specify a user, group, or role, the simulation includes all policies that are associated with that entity. If you specify a user, the simulation also includes all policies that are attached to any groups the user belongs to.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "PolicyInputList":{ "shape":"SimulationPolicyListType", - "documentation":"

An optional list of additional policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

An optional list of additional policy documents to include in the simulation. Each document is specified as a string containing the complete, valid JSON text of an IAM policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" + }, + "PermissionsBoundaryPolicyInputList":{ + "shape":"SimulationPolicyListType", + "documentation":"

The IAM permissions boundary policy to simulate. The permissions boundary sets the maximum permissions that the entity can have. You can input only one permissions boundary when you pass a policy to this operation. An IAM entity can only have one permissions boundary in effect at a time. For example, if a permissions boundary is attached to an entity and you pass in a different permissions boundary policy using this parameter, then the new permission boundary policy is used for the simulation. For more information about permissions boundaries, see Permissions Boundaries for IAM Entities in the IAM User Guide. The policy input is specified as a string containing the complete, valid JSON text of a permissions boundary policy.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "ActionNames":{ "shape":"ActionNameListType", - "documentation":"

A list of names of API actions to evaluate in the simulation. Each action is evaluated for each resource. Each action must include the service identifier, such as iam:CreateUser.

" + "documentation":"

A list of names of API operations to evaluate in the simulation. Each operation is evaluated for each resource. Each operation must include the service identifier, such as iam:CreateUser.

" }, "ResourceArns":{ "shape":"ResourceNameListType", - "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

A list of ARNs of AWS resources to include in the simulation. If this parameter is not provided, then the value defaults to * (all resources). Each API in the ActionNames parameter is evaluated for each resource in this list. The simulation determines the access result (allowed or denied) of each combination and reports it in the response.

The simulation does not automatically retrieve policies for the specified resources. If you want to include a resource policy in the simulation, then you must include the policy as a string in the ResourcePolicy parameter.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ResourcePolicy":{ "shape":"policyDocumentType", - "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

A resource-based policy to include in the simulation provided as a string. Each resource in the simulation is treated as if it had this policy attached. You can include only one resource-based policy in a simulation.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "ResourceOwner":{ "shape":"ResourceNameType", - "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN, such as an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" + "documentation":"

An AWS account ID that specifies the owner of any simulated resource that does not identify its owner in the resource ARN. Examples of resource ARNs include an S3 bucket or object. If ResourceOwner is specified, it is also used as the account owner of any ResourcePolicy included in the simulation. If the ResourceOwner parameter is not specified, then the owner of the resources and the resource policy defaults to the account of the identity provided in CallerArn. This parameter is required only if you specify a resource-based policy and account that owns the resource is different from the account that owns the simulated calling user CallerArn.

" }, "CallerArn":{ "shape":"ResourceNameType", - "documentation":"

The ARN of the IAM user that you want to specify as the simulated caller of the APIs. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the APIs as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The ARN of the IAM user that you want to specify as the simulated caller of the API operations. If you do not specify a CallerArn, it defaults to the ARN of the user that you specify in PolicySourceArn, if you specified a user. If you include both a PolicySourceArn (for example, arn:aws:iam::123456789012:user/David) and a CallerArn (for example, arn:aws:iam::123456789012:user/Bob), the result is that you simulate calling the API operations as Bob, as if Bob had David's policies.

You can specify only the ARN of an IAM user. You cannot specify the ARN of an assumed role, federated user, or a service principal.

CallerArn is required if you include a ResourcePolicy and the PolicySourceArn is not the ARN for an IAM user. This is required so that the resource-based policy's Principal element has a value to use in evaluating the policy.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ContextEntries":{ "shape":"ContextEntryListType", - "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permission policies, the corresponding value is supplied.

" + "documentation":"

A list of context keys and corresponding values for the simulation to use. Whenever a context key is evaluated in one of the simulated IAM permissions policies, the corresponding value is supplied.

" }, "ResourceHandlingOption":{ "shape":"ResourceHandlingOptionType", - "documentation":"

Specifies the type of simulation to run. Different APIs that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security-group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network-interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the AWS EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security-group

  • EC2-Classic-EBS

    instance, image, security-group, volume

  • EC2-VPC-InstanceStore

    instance, image, security-group, network-interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security-group, network-interface, subnet

  • EC2-VPC-EBS

    instance, image, security-group, network-interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security-group, network-interface, subnet, volume

" + "documentation":"

Specifies the type of simulation to run. Different API operations that support resource-based policies require different combinations of resources. By specifying the type of simulation to run, you enable the policy simulator to enforce the presence of the required resources to ensure reliable simulation results. If your simulation does not match one of the following scenarios, then you can omit this parameter. The following list shows each of the supported scenario values and the resources that you must define to run the simulation.

Each of the EC2 scenarios requires that you specify instance, image, and security group resources. If your scenario includes an EBS volume, then you must specify that volume as a resource. If the EC2 scenario includes VPC, then you must supply the network interface resource. If it includes an IP subnet, then you must specify the subnet resource. For more information on the EC2 scenario options, see Supported Platforms in the Amazon EC2 User Guide.

  • EC2-Classic-InstanceStore

    instance, image, security group

  • EC2-Classic-EBS

    instance, image, security group, volume

  • EC2-VPC-InstanceStore

    instance, image, security group, network interface

  • EC2-VPC-InstanceStore-Subnet

    instance, image, security group, network interface, subnet

  • EC2-VPC-EBS

    instance, image, security group, network interface, volume

  • EC2-VPC-EBS-Subnet

    instance, image, security group, network interface, subnet, volume

" }, "MaxItems":{ "shape":"maxItemsType", - "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

This parameter is optional. If you do not include it, it defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" + "documentation":"

Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the IsTruncated response element is true.

If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the IsTruncated response element returns true, and Marker contains a value to include in the subsequent call that tells the service where to continue from.

" }, "Marker":{ "shape":"markerType", @@ -5574,6 +7109,71 @@ "type":"list", "member":{"shape":"Statement"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"tagKeyType", + "documentation":"

The key name that can be used to look up or retrieve the associated value. For example, Department or Cost Center are common choices.

" + }, + "Value":{ + "shape":"tagValueType", + "documentation":"

The value associated with this tag. For example, tags with a key name of Department could have values such as Human Resources, Accounting, and Support. Tags with a key name of Cost Center might have values that consist of the number associated with the different cost centers in your company. Typically, many resources have tags with the same key name but with different values.

AWS always interprets the tag Value as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.

" + } + }, + "documentation":"

A structure that represents user-provided metadata that can be associated with a resource such as an IAM user or role. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" + }, + "TagRoleRequest":{ + "type":"structure", + "required":[ + "RoleName", + "Tags" + ], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the role that you want to add tags to.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

The list of tags that you want to attach to the role. Each tag consists of a key name and an associated value. You can specify this with a JSON string.

" + } + } + }, + "TagUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "Tags" + ], + "members":{ + "UserName":{ + "shape":"existingUserNameType", + "documentation":"

The name of the user that you want to add tags to.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

The list of tags that you want to attach to the user. Each tag consists of a key name and an associated value.

" + } + } + }, + "UnmodifiableEntityException":{ + "type":"structure", + "members":{ + "message":{"shape":"unmodifiableEntityMessage"} + }, + "documentation":"

The request was rejected because only the service that depends on the service-linked role can modify or delete the role on your behalf. The error message includes the name of the service that depends on this service-linked role. You must request the change through that service.

", + "error":{ + "code":"UnmodifiableEntity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "UnrecognizedPublicKeyEncodingException":{ "type":"structure", "members":{ @@ -5587,6 +7187,40 @@ }, "exception":true }, + "UntagRoleRequest":{ + "type":"structure", + "required":[ + "RoleName", + "TagKeys" + ], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the IAM role from which you want to remove tags.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "TagKeys":{ + "shape":"tagKeyListType", + "documentation":"

A list of key names as a simple array of strings. The tags with matching keys are removed from the specified role.

" + } + } + }, + "UntagUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "TagKeys" + ], + "members":{ + "UserName":{ + "shape":"existingUserNameType", + "documentation":"

The name of the IAM user from which you want to remove tags.

This parameter accepts (through its regex pattern) a string of characters that consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + }, + "TagKeys":{ + "shape":"tagKeyListType", + "documentation":"

A list of key names as a simple array of strings. The tags with matching keys are removed from the specified user.

" + } + } + }, "UpdateAccessKeyRequest":{ "type":"structure", "required":[ @@ -5596,15 +7230,15 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user whose key you want to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose key you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "AccessKeyId":{ "shape":"accessKeyIdType", - "documentation":"

The access key ID of the secret access key you want to update.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The access key ID of the secret access key you want to update.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", - "documentation":"

The status you want to assign to the secret access key. Active means the key can be used for API calls to AWS, while Inactive means the key cannot be used.

" + "documentation":"

The status you want to assign to the secret access key. Active means that the key can be used for API calls to AWS, while Inactive means that the key cannot be used.

" } } }, @@ -5613,39 +7247,39 @@ "members":{ "MinimumPasswordLength":{ "shape":"minimumPasswordLengthType", - "documentation":"

The minimum number of characters allowed in an IAM user password.

Default value: 6

" + "documentation":"

The minimum number of characters allowed in an IAM user password.

If you do not specify a value for this parameter, then the operation uses the default value of 6.

" }, "RequireSymbols":{ "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

! @ # $ % ^ &amp; * ( ) _ + - = [ ] { } | '

Default value: false

" + "documentation":"

Specifies whether IAM user passwords must contain at least one of the following non-alphanumeric characters:

! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one symbol character.

" }, "RequireNumbers":{ "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

Default value: false

" + "documentation":"

Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one numeric character.

" }, "RequireUppercaseCharacters":{ "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

Default value: false

" + "documentation":"

Specifies whether IAM user passwords must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one uppercase character.

" }, "RequireLowercaseCharacters":{ "shape":"booleanType", - "documentation":"

Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

Default value: false

" + "documentation":"

Specifies whether IAM user passwords must contain at least one lowercase character from the ISO basic Latin alphabet (a to z).

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that passwords do not require at least one lowercase character.

" }, "AllowUsersToChangePassword":{ "shape":"booleanType", - "documentation":"

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

Default value: false

" + "documentation":"

Allows all IAM users in your account to use the AWS Management Console to change their own passwords. For more information, see Letting IAM Users Change Their Own Passwords in the IAM User Guide.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users in the account do not automatically have permissions to change their own password.

" }, "MaxPasswordAge":{ "shape":"maxPasswordAgeType", - "documentation":"

The number of days that an IAM user password is valid. The default value of 0 means IAM user passwords never expire.

Default value: 0

" + "documentation":"

The number of days that an IAM user password is valid.

If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM user passwords never expire.

" }, "PasswordReusePrevention":{ "shape":"passwordReusePreventionType", - "documentation":"

Specifies the number of previous passwords that IAM users are prevented from reusing. The default value of 0 means IAM users are not prevented from reusing previous passwords.

Default value: 0

" + "documentation":"

Specifies the number of previous passwords that IAM users are prevented from reusing.

If you do not specify a value for this parameter, then the operation uses the default value of 0. The result is that IAM users are not prevented from reusing previous passwords.

" }, "HardExpiry":{ "shape":"booleanObjectType", - "documentation":"

Prevents IAM users from setting a new password after their password has expired.

Default value: false

" + "documentation":"

Prevents IAM users from setting a new password after their password has expired. The IAM user cannot be accessed until an administrator resets the password.

If you do not specify a value for this parameter, then the operation uses the default value of false. The result is that IAM users can change their passwords after they expire and continue to sign in as the user.

" } } }, @@ -5658,11 +7292,11 @@ "members":{ "RoleName":{ "shape":"roleNameType", - "documentation":"

The name of the role to update with the new policy.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the role to update with the new policy.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "PolicyDocument":{ "shape":"policyDocumentType", - "documentation":"

The policy that grants an entity permission to assume the role.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The policy that grants an entity permission to assume the role.

You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5672,15 +7306,15 @@ "members":{ "GroupName":{ "shape":"groupNameType", - "documentation":"

Name of the IAM group to update. If you're changing the name of the group, this is the original name.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

Name of the IAM group to update. If you're changing the name of the group, this is the original name.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

New path for the IAM group. Only include this if changing the group's path.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

New path for the IAM group. Only include this if changing the group's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewGroupName":{ "shape":"groupNameType", - "documentation":"

New name for the IAM group. Only include this if changing the group's name.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

New name for the IAM group. Only include this if changing the group's name.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -5690,11 +7324,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the user whose password you want to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user whose password you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "Password":{ "shape":"passwordType", - "documentation":"

The new password for the specified IAM user.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D). However, the format can be further restricted by the account administrator by setting a password policy on the AWS account. For more information, see UpdateAccountPasswordPolicy.

" + "documentation":"

The new password for the specified IAM user.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

However, the format can be further restricted by the account administrator by setting a password policy on the AWS account. For more information, see UpdateAccountPasswordPolicy.

" }, "PasswordResetRequired":{ "shape":"booleanObjectType", @@ -5711,7 +7345,7 @@ "members":{ "OpenIDConnectProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders action.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the IAM OIDC provider resource object for which you want to update the thumbprint. You can get a list of OIDC provider ARNs by using the ListOpenIDConnectProviders operation.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" }, "ThumbprintList":{ "shape":"thumbprintListType", @@ -5719,6 +7353,55 @@ } } }, + "UpdateRoleDescriptionRequest":{ + "type":"structure", + "required":[ + "RoleName", + "Description" + ], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the role that you want to modify.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

The new description that you want to apply to the specified role.

" + } + } + }, + "UpdateRoleDescriptionResponse":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"Role", + "documentation":"

A structure that contains details about the modified role.

" + } + } + }, + "UpdateRoleRequest":{ + "type":"structure", + "required":["RoleName"], + "members":{ + "RoleName":{ + "shape":"roleNameType", + "documentation":"

The name of the role that you want to modify.

" + }, + "Description":{ + "shape":"roleDescriptionType", + "documentation":"

The new description that you want to apply to the specified role.

" + }, + "MaxSessionDuration":{ + "shape":"roleMaxSessionDurationType", + "documentation":"

The maximum session duration (in seconds) that you want to set for the specified role. If you do not specify a value for this setting, the default maximum of one hour is applied. This setting can have a value from 1 hour to 12 hours.

Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter. If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

" + } + } + }, + "UpdateRoleResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateSAMLProviderRequest":{ "type":"structure", "required":[ @@ -5732,7 +7415,7 @@ }, "SAMLProviderArn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to update.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the SAML provider to update.

For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

" } } }, @@ -5756,15 +7439,15 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user associated with the SSH public key.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user associated with the SSH public key.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyId":{ "shape":"publicKeyIdType", - "documentation":"

The unique identifier for the SSH public key.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The unique identifier for the SSH public key.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", - "documentation":"

The status to assign to the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

" + "documentation":"

The status to assign to the SSH public key. Active means that the key can be used for authentication with an AWS CodeCommit repository. Inactive means that the key cannot be used.

" } } }, @@ -5774,15 +7457,36 @@ "members":{ "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name of the server certificate that you want to update.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the server certificate that you want to update.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

The new path for the server certificate. Include this only if you are updating the server certificate's path.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

The new path for the server certificate. Include this only if you are updating the server certificate's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The new name for the server certificate. Include this only if you are updating the server certificate's name. The name of the certificate cannot contain any spaces.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + } + } + }, + "UpdateServiceSpecificCredentialRequest":{ + "type":"structure", + "required":[ + "ServiceSpecificCredentialId", + "Status" + ], + "members":{ + "UserName":{ + "shape":"userNameType", + "documentation":"

The name of the IAM user associated with the service-specific credential. If you do not specify this value, then the operation assumes the user whose credentials are used to call the operation.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" + }, + "ServiceSpecificCredentialId":{ + "shape":"serviceSpecificCredentialId", + "documentation":"

The unique identifier of the service-specific credential.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" + }, + "Status":{ + "shape":"statusType", + "documentation":"

The status to be assigned to the service-specific credential.

" } } }, @@ -5795,15 +7499,15 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the IAM user the signing certificate belongs to.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user the signing certificate belongs to.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateId":{ "shape":"certificateIdType", - "documentation":"

The ID of the signing certificate you want to update.

The regex pattern for this parameter is a string of characters that can consist of any upper or lowercased letter or digit.

" + "documentation":"

The ID of the signing certificate you want to update.

This parameter allows (through its regex pattern) a string of characters that can consist of any upper or lowercased letter or digit.

" }, "Status":{ "shape":"statusType", - "documentation":"

The status you want to assign to the certificate. Active means the certificate can be used for API calls to AWS, while Inactive means the certificate cannot be used.

" + "documentation":"

The status you want to assign to the certificate. Active means that the certificate can be used for API calls to AWS Inactive means that the certificate cannot be used.

" } } }, @@ -5813,15 +7517,15 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

Name of the user to update. If you're changing the name of the user, this is the original user name.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

Name of the user to update. If you're changing the name of the user, this is the original user name.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "NewPath":{ "shape":"pathType", - "documentation":"

New path for the IAM user. Include this parameter only if you're changing the user's path.

The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" + "documentation":"

New path for the IAM user. Include this parameter only if you're changing the user's path.

This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

" }, "NewUserName":{ "shape":"userNameType", - "documentation":"

New name for the user. Include this parameter only if you're changing the user's name.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

New name for the user. Include this parameter only if you're changing the user's name.

IAM user, group, role, and policy names must be unique within the account. Names are not distinguished by case. For example, you cannot create resources named both \"MyResource\" and \"myresource\".

" } } }, @@ -5834,11 +7538,11 @@ "members":{ "UserName":{ "shape":"userNameType", - "documentation":"

The name of the IAM user to associate the SSH public key with.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the IAM user to associate the SSH public key with.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "SSHPublicKeyBody":{ "shape":"publicKeyMaterialType", - "documentation":"

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The SSH public key. The public key must be encoded in ssh-rsa format or PEM format. The minimum bit-length of the public key is 2048 bits. For example, you can generate a 2048-bit key, and the resulting PEM file is 1679 bytes long.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5862,23 +7566,23 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/). The regex pattern for this parameter is a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes, containing any ASCII character from the ! (\\u0021) thru the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the --path option. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

" + "documentation":"

The path for the server certificate. For more information about paths, see IAM Identifiers in the IAM User Guide.

This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its regex pattern) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including most punctuation characters, digits, and upper and lowercased letters.

If you are uploading a server certificate specifically for use with Amazon CloudFront distributions, you must specify a path using the path parameter. The path must begin with /cloudfront and must include a trailing slash (for example, /cloudfront/test/).

" }, "ServerCertificateName":{ "shape":"serverCertificateNameType", - "documentation":"

The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name for the server certificate. Do not include the path in this value. The name of the certificate cannot contain any spaces.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateBody":{ "shape":"certificateBodyType", - "documentation":"

The contents of the public key certificate in PEM-encoded format.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The contents of the public key certificate in PEM-encoded format.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "PrivateKey":{ "shape":"privateKeyType", - "documentation":"

The contents of the private key in PEM-encoded format.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The contents of the private key in PEM-encoded format.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" }, "CertificateChain":{ "shape":"certificateChainType", - "documentation":"

The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The contents of the certificate chain. This is typically a concatenation of the PEM-encoded public key certificates of the chain.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5898,11 +7602,11 @@ "members":{ "UserName":{ "shape":"existingUserNameType", - "documentation":"

The name of the user the signing certificate is for.

The regex pattern for this parameter is a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-

" + "documentation":"

The name of the user the signing certificate is for.

This parameter allows (through its regex pattern) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-

" }, "CertificateBody":{ "shape":"certificateBodyType", - "documentation":"

The contents of the signing certificate.

The regex pattern for this parameter is a string of characters consisting of any printable ASCII character ranging from the space character (\\u0020) through end of the ASCII character range (\\u00FF). It also includes the special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D).

" + "documentation":"

The contents of the signing certificate.

The regex pattern used to validate this parameter is a string of characters consisting of the following:

  • Any printable ASCII character ranging from the space character (\\u0020) through the end of the ASCII character range

  • The printable characters in the Basic Latin and Latin-1 Supplement character set (through \\u00FF)

  • The special characters tab (\\u0009), line feed (\\u000A), and carriage return (\\u000D)

" } } }, @@ -5929,7 +7633,7 @@ "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "UserName":{ "shape":"userNameType", @@ -5937,11 +7641,11 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{ "shape":"arnType", - "documentation":"

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.

" }, "CreateDate":{ "shape":"dateType", @@ -5949,17 +7653,25 @@ }, "PasswordLastUsed":{ "shape":"dateType", - "documentation":"

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

  • The user does not have a password

  • The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014

  • there is no sign-in data associated with the user

This value is returned only in the GetUser and ListUsers actions.

" + "documentation":"

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the IAM User Guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. If the field is null (no value), then it indicates that they never signed in with a password. This can be because:

  • The user never had a password.

  • A password exists but has not been used since IAM started tracking this information on October 20, 2014.

A null value does not mean that the user never had a password. Also, if the user does not currently have a password but had one in the past, then this field contains the date and time the most recent password was used.

This value is returned only in the GetUser and ListUsers operations.

" + }, + "PermissionsBoundary":{ + "shape":"AttachedPermissionsBoundary", + "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, - "documentation":"

Contains information about an IAM user entity.

This data type is used as a response element in the following actions:

" + "documentation":"

Contains information about an IAM user entity.

This data type is used as a response element in the following operations:

" }, "UserDetail":{ "type":"structure", "members":{ "Path":{ "shape":"pathType", - "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The path to the user. For more information about paths, see IAM Identifiers in the IAM User Guide.

" }, "UserName":{ "shape":"userNameType", @@ -5967,7 +7679,7 @@ }, "UserId":{ "shape":"idType", - "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

" + "documentation":"

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the IAM User Guide.

" }, "Arn":{"shape":"arnType"}, "CreateDate":{ @@ -5985,9 +7697,17 @@ "AttachedManagedPolicies":{ "shape":"attachedPoliciesListType", "documentation":"

A list of the managed policies attached to the user.

" + }, + "PermissionsBoundary":{ + "shape":"AttachedPermissionsBoundary", + "documentation":"

The ARN of the policy used to set the permissions boundary for the user.

For more information about permissions boundaries, see Permissions Boundaries for IAM Identities in the IAM User Guide.

" + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

A list of tags that are associated with the specified user. For more information about tagging, see Tagging IAM Identities in the IAM User Guide.

" } }, - "documentation":"

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

" + "documentation":"

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails operation.

" }, "VirtualMFADevice":{ "type":"structure", @@ -5999,13 +7719,16 @@ }, "Base32StringSeed":{ "shape":"BootstrapDatum", - "documentation":"

The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

" + "documentation":"

The base32 seed defined as specified in RFC3548. The Base32StringSeed is base64-encoded.

" }, "QRCodePNG":{ "shape":"BootstrapDatum", - "documentation":"

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

" + "documentation":"

A QR code PNG image that encodes otpauth://totp/$virtualMFADeviceName@$AccountName?secret=$Base32String where $virtualMFADeviceName is one of the create call arguments. AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in base32 format. The Base32String value is base64-encoded.

" + }, + "User":{ + "shape":"User", + "documentation":"

The IAM user associated with this virtual MFA device.

" }, - "User":{"shape":"User"}, "EnableDate":{ "shape":"dateType", "documentation":"

The date and time on which the virtual MFA device was enabled.

" @@ -6015,14 +7738,14 @@ }, "accessKeyIdType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]+" }, "accessKeyMetadataListType":{ "type":"list", "member":{"shape":"AccessKeyMetadata"}, - "documentation":"

Contains a list of access key metadata.

This data type is used as a response element in the ListAccessKeys action.

" + "documentation":"

Contains a list of access key metadata.

This data type is used as a response element in the ListAccessKeys operation.

" }, "accessKeySecretType":{ "type":"string", @@ -6040,7 +7763,7 @@ }, "arnType":{ "type":"string", - "documentation":"

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", + "documentation":"

The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS resources.

For more information about ARNs, go to Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

", "max":2048, "min":20 }, @@ -6089,7 +7812,7 @@ "certificateListType":{ "type":"list", "member":{"shape":"SigningCertificate"}, - "documentation":"

Contains a list of signing certificates.

This data type is used as a response element in the ListSigningCertificates action.

" + "documentation":"

Contains a list of signing certificates.

This data type is used as a response element in the ListSigningCertificates operation.

" }, "clientIDListType":{ "type":"list", @@ -6103,6 +7826,12 @@ "credentialReportExpiredExceptionMessage":{"type":"string"}, "credentialReportNotPresentExceptionMessage":{"type":"string"}, "credentialReportNotReadyExceptionMessage":{"type":"string"}, + "customSuffixType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, "dateType":{"type":"timestamp"}, "deleteConflictMessage":{"type":"string"}, "duplicateCertificateMessage":{"type":"string"}, @@ -6115,10 +7844,20 @@ ] }, "entityAlreadyExistsMessage":{"type":"string"}, + "entityDetailsListType":{ + "type":"list", + "member":{"shape":"EntityDetails"} + }, "entityListType":{ "type":"list", "member":{"shape":"EntityType"} }, + "entityNameType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, "entityTemporarilyUnmodifiableMessage":{"type":"string"}, "existingUserNameType":{ "type":"string", @@ -6126,6 +7865,13 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "globalEndpointTokenVersion":{ + "type":"string", + "enum":[ + "v1Token", + "v2Token" + ] + }, "groupDetailListType":{ "type":"list", "member":{"shape":"GroupDetail"} @@ -6133,7 +7879,7 @@ "groupListType":{ "type":"list", "member":{"shape":"Group"}, - "documentation":"

Contains a list of IAM groups.

This data type is used as a response element in the ListGroups action.

" + "documentation":"

Contains a list of IAM groups.

This data type is used as a response element in the ListGroups operation.

" }, "groupNameListType":{ "type":"list", @@ -6147,7 +7893,7 @@ }, "idType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]+" }, @@ -6162,13 +7908,31 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "integerType":{"type":"integer"}, "invalidAuthenticationCodeMessage":{"type":"string"}, "invalidCertificateMessage":{"type":"string"}, "invalidInputMessage":{"type":"string"}, "invalidPublicKeyMessage":{"type":"string"}, "invalidUserTypeMessage":{"type":"string"}, + "jobIDType":{ + "type":"string", + "max":36, + "min":36 + }, + "jobStatusType":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "FAILED" + ] + }, "keyPairMismatchMessage":{"type":"string"}, "limitExceededMessage":{"type":"string"}, + "listPolicyGrantingServiceAccessResponseListType":{ + "type":"list", + "member":{"shape":"ListPoliciesGrantingServiceAccessEntry"} + }, "malformedCertificateMessage":{"type":"string"}, "malformedPolicyDocumentMessage":{"type":"string"}, "markerType":{ @@ -6191,7 +7955,7 @@ "mfaDeviceListType":{ "type":"list", "member":{"shape":"MFADevice"}, - "documentation":"

Contains a list of MFA devices.

This data type is used as a response element in the ListMFADevices and ListVirtualMFADevices actions.

" + "documentation":"

Contains a list of MFA devices.

This data type is used as a response element in the ListMFADevices and ListVirtualMFADevices operations.

" }, "minimumPasswordLengthType":{ "type":"integer", @@ -6199,6 +7963,16 @@ "min":6 }, "noSuchEntityMessage":{"type":"string"}, + "organizationsEntityPathType":{ + "type":"string", + "max":427, + "min":19, + "pattern":"^o-[0-9a-z]{10,32}\\/r-[0-9a-z]{4,32}[0-9a-z-\\/]*" + }, + "organizationsPolicyIdType":{ + "type":"string", + "pattern":"^p-[0-9a-zA-Z_]{8,128}$" + }, "passwordPolicyViolationMessage":{"type":"string"}, "passwordReusePreventionType":{ "type":"integer", @@ -6244,6 +8018,10 @@ "member":{"shape":"PolicyVersion"} }, "policyEvaluationErrorMessage":{"type":"string"}, + "policyGrantingServiceAccessListType":{ + "type":"list", + "member":{"shape":"PolicyGrantingServiceAccess"} + }, "policyListType":{ "type":"list", "member":{"shape":"Policy"} @@ -6251,7 +8029,7 @@ "policyNameListType":{ "type":"list", "member":{"shape":"policyNameType"}, - "documentation":"

Contains a list of policy names.

This data type is used as a response element in the ListPolicies action.

" + "documentation":"

Contains a list of policy names.

This data type is used as a response element in the ListPolicies operation.

" }, "policyNameType":{ "type":"string", @@ -6259,8 +8037,19 @@ "min":1, "pattern":"[\\w+=,.@-]+" }, + "policyNotAttachableMessage":{"type":"string"}, + "policyOwnerEntityType":{ + "type":"string", + "enum":[ + "USER", + "ROLE", + "GROUP" + ] + }, "policyPathType":{ "type":"string", + "max":512, + "min":1, "pattern":"((/[A-Za-z0-9\\.,\\+@=_-]+)*)/" }, "policyScopeType":{ @@ -6271,6 +8060,13 @@ "Local" ] }, + "policyType":{ + "type":"string", + "enum":[ + "INLINE", + "MANAGED" + ] + }, "policyVersionIdType":{ "type":"string", "pattern":"v[1-9][0-9]*(\\.[A-Za-z0-9-]*)?" @@ -6300,6 +8096,13 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, + "reportGenerationLimitExceededMessage":{"type":"string"}, + "responseMarkerType":{"type":"string"}, + "roleDescriptionType":{ + "type":"string", + "max":1000, + "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + }, "roleDetailListType":{ "type":"list", "member":{"shape":"RoleDetail"} @@ -6307,7 +8110,12 @@ "roleListType":{ "type":"list", "member":{"shape":"Role"}, - "documentation":"

Contains a list of IAM roles.

This data type is used as a response element in the ListRoles action.

" + "documentation":"

Contains a list of IAM roles.

This data type is used as a response element in the ListRoles operation.

" + }, + "roleMaxSessionDurationType":{ + "type":"integer", + "max":43200, + "min":3600 }, "roleNameType":{ "type":"string", @@ -6332,6 +8140,46 @@ "pattern":"[\\w+=,.@-]+" }, "serviceFailureExceptionMessage":{"type":"string"}, + "serviceName":{"type":"string"}, + "serviceNameType":{"type":"string"}, + "serviceNamespaceListType":{ + "type":"list", + "member":{"shape":"serviceNamespaceType"}, + "max":200, + "min":1 + }, + "serviceNamespaceType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\w-]*" + }, + "serviceNotSupportedMessage":{"type":"string"}, + "servicePassword":{ + "type":"string", + "sensitive":true + }, + "serviceSpecificCredentialId":{ + "type":"string", + "max":128, + "min":20, + "pattern":"[\\w]+" + }, + "serviceUserName":{ + "type":"string", + "max":200, + "min":17, + "pattern":"[\\w+=,.@-]+" + }, + "sortKeyType":{ + "type":"string", + "enum":[ + "SERVICE_NAMESPACE_ASCENDING", + "SERVICE_NAMESPACE_DESCENDING", + "LAST_AUTHENTICATED_TIME_ASCENDING", + "LAST_AUTHENTICATED_TIME_DESCENDING" + ] + }, "statusType":{ "type":"string", "enum":[ @@ -6367,7 +8215,8 @@ "PolicySizeQuota", "PolicyVersionsInUse", "PolicyVersionsInUseQuota", - "VersionsPerPolicyQuota" + "VersionsPerPolicyQuota", + "GlobalEndpointTokenVersion" ] }, "summaryMapType":{ @@ -6376,6 +8225,28 @@ "value":{"shape":"summaryValueType"} }, "summaryValueType":{"type":"integer"}, + "tagKeyListType":{ + "type":"list", + "member":{"shape":"tagKeyType"}, + "max":50 + }, + "tagKeyType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+" + }, + "tagListType":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50 + }, + "tagValueType":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" + }, "thumbprintListType":{ "type":"list", "member":{"shape":"thumbprintType"}, @@ -6383,10 +8254,11 @@ }, "thumbprintType":{ "type":"string", - "documentation":"

Contains a thumbprint for an identity provider's server certificate.

The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string.

", + "documentation":"

Contains a thumbprint for an identity provider's server certificate.

The identity provider's server certificate thumbprint is the hex-encoded SHA-1 hash value of the self-signed X.509 certificate. This thumbprint is used by the domain where the OpenID Connect provider makes its keys available. The thumbprint is always a 40-character string.

", "max":40, "min":40 }, + "unmodifiableEntityMessage":{"type":"string"}, "unrecognizedPublicKeyEncodingMessage":{"type":"string"}, "userDetailListType":{ "type":"list", @@ -6395,7 +8267,7 @@ "userListType":{ "type":"list", "member":{"shape":"User"}, - "documentation":"

Contains a list of users.

This data type is used as a response element in the GetGroup and ListUsers actions.

" + "documentation":"

Contains a list of users.

This data type is used as a response element in the GetGroup and ListUsers operations.

" }, "userNameType":{ "type":"string", @@ -6413,5 +8285,5 @@ "pattern":"[\\w+=,.@-]+" } }, - "documentation":"AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.

  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.

  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

" + "documentation":"AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.

  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.

  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

" } diff -Nru python-botocore-1.4.70/botocore/data/iam/2010-05-08/waiters-2.json python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/waiters-2.json --- python-botocore-1.4.70/botocore/data/iam/2010-05-08/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iam/2010-05-08/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -34,6 +34,40 @@ "expected": "NoSuchEntity" } ] + }, + "RoleExists": { + "delay": 1, + "operation": "GetRole", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "NoSuchEntity" + } + ] + }, + "PolicyExists": { + "delay": 1, + "operation": "GetPolicy", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "NoSuchEntity" + } + ] } } } diff -Nru python-botocore-1.4.70/botocore/data/imagebuilder/2019-12-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/imagebuilder/2019-12-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/imagebuilder/2019-12-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/imagebuilder/2019-12-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/imagebuilder/2019-12-02/service-2.json python-botocore-1.16.19+repack/botocore/data/imagebuilder/2019-12-02/service-2.json --- python-botocore-1.4.70/botocore/data/imagebuilder/2019-12-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/imagebuilder/2019-12-02/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3724 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-02", + "endpointPrefix":"imagebuilder", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"imagebuilder", + "serviceFullName":"EC2 Image Builder", + "serviceId":"imagebuilder", + "signatureVersion":"v4", + "signingName":"imagebuilder", + "uid":"imagebuilder-2019-12-02" + }, + "operations":{ + "CancelImageCreation":{ + "name":"CancelImageCreation", + "http":{ + "method":"PUT", + "requestUri":"/CancelImageCreation" + }, + "input":{"shape":"CancelImageCreationRequest"}, + "output":{"shape":"CancelImageCreationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state.

" + }, + "CreateComponent":{ + "name":"CreateComponent", + "http":{ + "method":"PUT", + "requestUri":"/CreateComponent" + }, + "input":{"shape":"CreateComponentRequest"}, + "output":{"shape":"CreateComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a new component that can be used to build, validate, test, and assess your image.

" + }, + "CreateDistributionConfiguration":{ + "name":"CreateDistributionConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/CreateDistributionConfiguration" + }, + "input":{"shape":"CreateDistributionConfigurationRequest"}, + "output":{"shape":"CreateDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

" + }, + "CreateImage":{ + "name":"CreateImage", + "http":{ + "method":"PUT", + "requestUri":"/CreateImage" + }, + "input":{"shape":"CreateImageRequest"}, + "output":{"shape":"CreateImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration.

" + }, + "CreateImagePipeline":{ + "name":"CreateImagePipeline", + "http":{ + "method":"PUT", + "requestUri":"/CreateImagePipeline" + }, + "input":{"shape":"CreateImagePipelineRequest"}, + "output":{"shape":"CreateImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

" + }, + "CreateImageRecipe":{ + "name":"CreateImageRecipe", + "http":{ + "method":"PUT", + "requestUri":"/CreateImageRecipe" + }, + "input":{"shape":"CreateImageRecipeRequest"}, + "output":{"shape":"CreateImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.

" + }, + "CreateInfrastructureConfiguration":{ + "name":"CreateInfrastructureConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/CreateInfrastructureConfiguration" + }, + "input":{"shape":"CreateInfrastructureConfigurationRequest"}, + "output":{"shape":"CreateInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

" + }, + "DeleteComponent":{ + "name":"DeleteComponent", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteComponent" + }, + "input":{"shape":"DeleteComponentRequest"}, + "output":{"shape":"DeleteComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes a component build version.

" + }, + "DeleteDistributionConfiguration":{ + "name":"DeleteDistributionConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteDistributionConfiguration" + }, + "input":{"shape":"DeleteDistributionConfigurationRequest"}, + "output":{"shape":"DeleteDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes a distribution configuration.

" + }, + "DeleteImage":{ + "name":"DeleteImage", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImage" + }, + "input":{"shape":"DeleteImageRequest"}, + "output":{"shape":"DeleteImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes an image.

" + }, + "DeleteImagePipeline":{ + "name":"DeleteImagePipeline", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImagePipeline" + }, + "input":{"shape":"DeleteImagePipelineRequest"}, + "output":{"shape":"DeleteImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes an image pipeline.

" + }, + "DeleteImageRecipe":{ + "name":"DeleteImageRecipe", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteImageRecipe" + }, + "input":{"shape":"DeleteImageRecipeRequest"}, + "output":{"shape":"DeleteImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes an image recipe.

" + }, + "DeleteInfrastructureConfiguration":{ + "name":"DeleteInfrastructureConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/DeleteInfrastructureConfiguration" + }, + "input":{"shape":"DeleteInfrastructureConfigurationRequest"}, + "output":{"shape":"DeleteInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceDependencyException"} + ], + "documentation":"

Deletes an infrastructure configuration.

" + }, + "GetComponent":{ + "name":"GetComponent", + "http":{ + "method":"GET", + "requestUri":"/GetComponent" + }, + "input":{"shape":"GetComponentRequest"}, + "output":{"shape":"GetComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets a component object.

" + }, + "GetComponentPolicy":{ + "name":"GetComponentPolicy", + "http":{ + "method":"GET", + "requestUri":"/GetComponentPolicy" + }, + "input":{"shape":"GetComponentPolicyRequest"}, + "output":{"shape":"GetComponentPolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets a component policy.

" + }, + "GetDistributionConfiguration":{ + "name":"GetDistributionConfiguration", + "http":{ + "method":"GET", + "requestUri":"/GetDistributionConfiguration" + }, + "input":{"shape":"GetDistributionConfigurationRequest"}, + "output":{"shape":"GetDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets a distribution configuration.

" + }, + "GetImage":{ + "name":"GetImage", + "http":{ + "method":"GET", + "requestUri":"/GetImage" + }, + "input":{"shape":"GetImageRequest"}, + "output":{"shape":"GetImageResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an image.

" + }, + "GetImagePipeline":{ + "name":"GetImagePipeline", + "http":{ + "method":"GET", + "requestUri":"/GetImagePipeline" + }, + "input":{"shape":"GetImagePipelineRequest"}, + "output":{"shape":"GetImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an image pipeline.

" + }, + "GetImagePolicy":{ + "name":"GetImagePolicy", + "http":{ + "method":"GET", + "requestUri":"/GetImagePolicy" + }, + "input":{"shape":"GetImagePolicyRequest"}, + "output":{"shape":"GetImagePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an image policy.

" + }, + "GetImageRecipe":{ + "name":"GetImageRecipe", + "http":{ + "method":"GET", + "requestUri":"/GetImageRecipe" + }, + "input":{"shape":"GetImageRecipeRequest"}, + "output":{"shape":"GetImageRecipeResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an image recipe.

" + }, + "GetImageRecipePolicy":{ + "name":"GetImageRecipePolicy", + "http":{ + "method":"GET", + "requestUri":"/GetImageRecipePolicy" + }, + "input":{"shape":"GetImageRecipePolicyRequest"}, + "output":{"shape":"GetImageRecipePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an image recipe policy.

" + }, + "GetInfrastructureConfiguration":{ + "name":"GetInfrastructureConfiguration", + "http":{ + "method":"GET", + "requestUri":"/GetInfrastructureConfiguration" + }, + "input":{"shape":"GetInfrastructureConfigurationRequest"}, + "output":{"shape":"GetInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Gets an infrastructure configuration.

" + }, + "ImportComponent":{ + "name":"ImportComponent", + "http":{ + "method":"PUT", + "requestUri":"/ImportComponent" + }, + "input":{"shape":"ImportComponentRequest"}, + "output":{"shape":"ImportComponentResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"InvalidVersionNumberException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Imports a component and transforms its data into a component document.

" + }, + "ListComponentBuildVersions":{ + "name":"ListComponentBuildVersions", + "http":{ + "method":"POST", + "requestUri":"/ListComponentBuildVersions" + }, + "input":{"shape":"ListComponentBuildVersionsRequest"}, + "output":{"shape":"ListComponentBuildVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns the list of component build versions for the specified semantic version.

" + }, + "ListComponents":{ + "name":"ListComponents", + "http":{ + "method":"POST", + "requestUri":"/ListComponents" + }, + "input":{"shape":"ListComponentsRequest"}, + "output":{"shape":"ListComponentsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns the list of component build versions for the specified semantic version.

" + }, + "ListDistributionConfigurations":{ + "name":"ListDistributionConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListDistributionConfigurations" + }, + "input":{"shape":"ListDistributionConfigurationsRequest"}, + "output":{"shape":"ListDistributionConfigurationsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of distribution configurations.

" + }, + "ListImageBuildVersions":{ + "name":"ListImageBuildVersions", + "http":{ + "method":"POST", + "requestUri":"/ListImageBuildVersions" + }, + "input":{"shape":"ListImageBuildVersionsRequest"}, + "output":{"shape":"ListImageBuildVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of distribution configurations.

" + }, + "ListImagePipelineImages":{ + "name":"ListImagePipelineImages", + "http":{ + "method":"POST", + "requestUri":"/ListImagePipelineImages" + }, + "input":{"shape":"ListImagePipelineImagesRequest"}, + "output":{"shape":"ListImagePipelineImagesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of images created by the specified pipeline.

" + }, + "ListImagePipelines":{ + "name":"ListImagePipelines", + "http":{ + "method":"POST", + "requestUri":"/ListImagePipelines" + }, + "input":{"shape":"ListImagePipelinesRequest"}, + "output":{"shape":"ListImagePipelinesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of image pipelines.

" + }, + "ListImageRecipes":{ + "name":"ListImageRecipes", + "http":{ + "method":"POST", + "requestUri":"/ListImageRecipes" + }, + "input":{"shape":"ListImageRecipesRequest"}, + "output":{"shape":"ListImageRecipesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of image recipes.

" + }, + "ListImages":{ + "name":"ListImages", + "http":{ + "method":"POST", + "requestUri":"/ListImages" + }, + "input":{"shape":"ListImagesRequest"}, + "output":{"shape":"ListImagesResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns the list of image build versions for the specified semantic version.

" + }, + "ListInfrastructureConfigurations":{ + "name":"ListInfrastructureConfigurations", + "http":{ + "method":"POST", + "requestUri":"/ListInfrastructureConfigurations" + }, + "input":{"shape":"ListInfrastructureConfigurationsRequest"}, + "output":{"shape":"ListInfrastructureConfigurationsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Returns a list of infrastructure configurations.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the list of tags for the specified resource.

" + }, + "PutComponentPolicy":{ + "name":"PutComponentPolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutComponentPolicy" + }, + "input":{"shape":"PutComponentPolicyRequest"}, + "output":{"shape":"PutComponentPolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

" + }, + "PutImagePolicy":{ + "name":"PutImagePolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutImagePolicy" + }, + "input":{"shape":"PutImagePolicyRequest"}, + "output":{"shape":"PutImagePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

" + }, + "PutImageRecipePolicy":{ + "name":"PutImageRecipePolicy", + "http":{ + "method":"PUT", + "requestUri":"/PutImageRecipePolicy" + }, + "input":{"shape":"PutImageRecipePolicyRequest"}, + "output":{"shape":"PutImageRecipePolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"} + ], + "documentation":"

Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.

" + }, + "StartImagePipelineExecution":{ + "name":"StartImagePipelineExecution", + "http":{ + "method":"PUT", + "requestUri":"/StartImagePipelineExecution" + }, + "input":{"shape":"StartImagePipelineExecutionRequest"}, + "output":{"shape":"StartImagePipelineExecutionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Manually triggers a pipeline to create an image.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds a tag to a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes a tag from a resource.

" + }, + "UpdateDistributionConfiguration":{ + "name":"UpdateDistributionConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/UpdateDistributionConfiguration" + }, + "input":{"shape":"UpdateDistributionConfigurationRequest"}, + "output":{"shape":"UpdateDistributionConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterCombinationException"} + ], + "documentation":"

Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.

" + }, + "UpdateImagePipeline":{ + "name":"UpdateImagePipeline", + "http":{ + "method":"PUT", + "requestUri":"/UpdateImagePipeline" + }, + "input":{"shape":"UpdateImagePipelineRequest"}, + "output":{"shape":"UpdateImagePipelineResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.

" + }, + "UpdateInfrastructureConfiguration":{ + "name":"UpdateInfrastructureConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/UpdateInfrastructureConfiguration" + }, + "input":{"shape":"UpdateInfrastructureConfigurationRequest"}, + "output":{"shape":"UpdateInfrastructureConfigurationResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ClientException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ForbiddenException"}, + {"shape":"CallRateLimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.

" + } + }, + "shapes":{ + "AccountList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Ami":{ + "type":"structure", + "members":{ + "region":{ + "shape":"NonEmptyString", + "documentation":"

The AWS Region of the EC2 AMI.

" + }, + "image":{ + "shape":"NonEmptyString", + "documentation":"

The AMI ID of the EC2 AMI.

" + }, + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the EC2 AMI.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the EC2 AMI.

" + }, + "state":{"shape":"ImageState"} + }, + "documentation":"

Details of an EC2 AMI.

" + }, + "AmiDistributionConfiguration":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AmiNameString", + "documentation":"

The name of the distribution configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the distribution configuration.

" + }, + "amiTags":{ + "shape":"TagMap", + "documentation":"

The tags to apply to AMIs distributed to this Region.

" + }, + "launchPermission":{ + "shape":"LaunchPermissionConfiguration", + "documentation":"

Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.

" + } + }, + "documentation":"

Define and configure the output AMIs of the pipeline.

" + }, + "AmiList":{ + "type":"list", + "member":{"shape":"Ami"} + }, + "AmiNameString":{ + "type":"string", + "max":127, + "min":1, + "pattern":"^[-_A-Za-z0-9{][-_A-Za-z0-9\\s:{}]+[-_A-Za-z0-9}]$" + }, + "Arn":{"type":"string"}, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "CallRateLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have exceeded the permitted request rate for the specific operation.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "CancelImageCreationRequest":{ + "type":"structure", + "required":[ + "imageBuildVersionArn", + "clientToken" + ], + "members":{ + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image whose creation you want to cancel.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "CancelImageCreationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image whose creation has been cancelled.

" + } + } + }, + "ClientException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an invalid resource identifier.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ClientToken":{ + "type":"string", + "max":36, + "min":1 + }, + "Component":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the component.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the component.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The version of the component.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the component.

" + }, + "changeDescription":{ + "shape":"NonEmptyString", + "documentation":"

The change description of the component.

" + }, + "type":{ + "shape":"ComponentType", + "documentation":"

The type of the component denotes whether the component is used to build the image or only to test it.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the component.

" + }, + "supportedOsVersions":{ + "shape":"OsVersionList", + "documentation":"

The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the component.

" + }, + "data":{ + "shape":"ComponentData", + "documentation":"

The data of the component.

" + }, + "kmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The KMS key identifier used to encrypt the component.

" + }, + "encrypted":{ + "shape":"NullableBoolean", + "documentation":"

The encryption status of the component.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date that the component was created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags associated with the component.

" + } + }, + "documentation":"

A detailed view of a component.

" + }, + "ComponentBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$" + }, + "ComponentConfiguration":{ + "type":"structure", + "required":["componentArn"], + "members":{ + "componentArn":{ + "shape":"ComponentVersionArnOrBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component.

" + } + }, + "documentation":"

Configuration details of the component.

" + }, + "ComponentConfigurationList":{ + "type":"list", + "member":{"shape":"ComponentConfiguration"}, + "min":1 + }, + "ComponentData":{"type":"string"}, + "ComponentFormat":{ + "type":"string", + "enum":["SHELL"] + }, + "ComponentSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the component.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the component.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The version of the component.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the component.

" + }, + "supportedOsVersions":{ + "shape":"OsVersionList", + "documentation":"

The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

" + }, + "type":{ + "shape":"ComponentType", + "documentation":"

The type of the component denotes whether the component is used to build the image or only to test it.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the component.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the component.

" + }, + "changeDescription":{ + "shape":"NonEmptyString", + "documentation":"

The change description of the component.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date that the component was created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags associated with the component.

" + } + }, + "documentation":"

A high-level summary of a component.

" + }, + "ComponentSummaryList":{ + "type":"list", + "member":{"shape":"ComponentSummary"} + }, + "ComponentType":{ + "type":"string", + "enum":[ + "BUILD", + "TEST" + ] + }, + "ComponentVersion":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the component.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the component.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the component.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the component.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the component.

" + }, + "supportedOsVersions":{ + "shape":"OsVersionList", + "documentation":"

The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

" + }, + "type":{ + "shape":"ComponentType", + "documentation":"

The type of the component denotes whether the component is used to build the image or only to test it.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the component.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date that the component was created.

" + } + }, + "documentation":"

A high-level overview of a component semantic version.

" + }, + "ComponentVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ComponentVersionArnOrBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):component/[a-z0-9-_]+/(?:(?:(\\d+|x)\\.(\\d+|x)\\.(\\d+|x))|(?:\\d+\\.\\d+\\.\\d+/\\d+))$" + }, + "ComponentVersionList":{ + "type":"list", + "member":{"shape":"ComponentVersion"} + }, + "CreateComponentRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "platform", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the component.

" + }, + "semanticVersion":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the component. Describes the contents of the component.

" + }, + "changeDescription":{ + "shape":"NonEmptyString", + "documentation":"

The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the component.

" + }, + "supportedOsVersions":{ + "shape":"OsVersionList", + "documentation":"

The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the parent image OS version during image recipe creation.

" + }, + "data":{ + "shape":"InlineComponentData", + "documentation":"

The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.

" + }, + "uri":{ + "shape":"Uri", + "documentation":"

The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.

" + }, + "kmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the KMS key that should be used to encrypt this component.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the component.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token of the component.

", + "idempotencyToken":true + } + } + }, + "CreateComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component that was created by this request.

" + } + } + }, + "CreateDistributionConfigurationRequest":{ + "type":"structure", + "required":[ + "name", + "distributions", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the distribution configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the distribution configuration.

" + }, + "distributions":{ + "shape":"DistributionList", + "documentation":"

The distributions of the distribution configuration.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the distribution configuration.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token of the distribution configuration.

", + "idempotencyToken":true + } + } + }, + "CreateDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that was created by this request.

" + } + } + }, + "CreateImagePipelineRequest":{ + "type":"structure", + "required":[ + "name", + "imageRecipeArn", + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image pipeline.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the image pipeline.

" + }, + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.

" + }, + "imageTestsConfiguration":{ + "shape":"ImageTestsConfiguration", + "documentation":"

The image test configuration of the image pipeline.

" + }, + "enhancedImageMetadataEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"

The schedule of the image pipeline.

" + }, + "status":{ + "shape":"PipelineStatus", + "documentation":"

The status of the image pipeline.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image pipeline.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "CreateImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that was created by this request.

" + } + } + }, + "CreateImageRecipeRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "components", + "parentImage", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image recipe.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the image recipe.

" + }, + "semanticVersion":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the image recipe.

" + }, + "components":{ + "shape":"ComponentConfigurationList", + "documentation":"

The components of the image recipe.

" + }, + "parentImage":{ + "shape":"NonEmptyString", + "documentation":"

The parent image of the image recipe. The value of the string can be the ARN of the parent image or an AMI ID. The format for the ARN follows this example: arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x. The ARN ends with /20xx.x.x, which communicates to EC2 Image Builder that you want to use the latest AMI created in 20xx (year). You can provide the specific version that you want to use, or you can use a wildcard in all of the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and the AMI must be in the same Region in which you are using Image Builder.

" + }, + "blockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappings", + "documentation":"

The block device mappings of the image recipe.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image recipe.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "CreateImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that was created by this request.

" + } + } + }, + "CreateImageRequest":{ + "type":"structure", + "required":[ + "imageRecipeArn", + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.

" + }, + "imageTestsConfiguration":{ + "shape":"ImageTestsConfiguration", + "documentation":"

The image tests configuration of the image.

" + }, + "enhancedImageMetadataEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "CreateImageResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that was created by this request.

" + } + } + }, + "CreateInfrastructureConfigurationRequest":{ + "type":"structure", + "required":[ + "name", + "instanceProfileName", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the infrastructure configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the infrastructure configuration.

" + }, + "instanceTypes":{ + "shape":"InstanceTypeList", + "documentation":"

The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.

" + }, + "instanceProfileName":{ + "shape":"NonEmptyString", + "documentation":"

The instance profile to associate with the instance used to customize your EC2 AMI.

" + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The security group IDs to associate with the instance used to customize your EC2 AMI.

" + }, + "subnetId":{ + "shape":"NonEmptyString", + "documentation":"

The subnet ID in which to place the instance used to customize your EC2 AMI.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

The logging configuration of the infrastructure configuration.

" + }, + "keyPair":{ + "shape":"NonEmptyString", + "documentation":"

The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.

" + }, + "terminateInstanceOnFailure":{ + "shape":"NullableBoolean", + "documentation":"

The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.

" + }, + "snsTopicArn":{ + "shape":"SnsTopicArn", + "documentation":"

The SNS topic on which to send image build events.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the infrastructure configuration.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "CreateInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that was created by this request.

" + } + } + }, + "DateTime":{"type":"string"}, + "DeleteComponentRequest":{ + "type":"structure", + "required":["componentBuildVersionArn"], + "members":{ + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component build version to delete.

", + "location":"querystring", + "locationName":"componentBuildVersionArn" + } + } + }, + "DeleteComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component build version that was deleted.

" + } + } + }, + "DeleteDistributionConfigurationRequest":{ + "type":"structure", + "required":["distributionConfigurationArn"], + "members":{ + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration to delete.

", + "location":"querystring", + "locationName":"distributionConfigurationArn" + } + } + }, + "DeleteDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that was deleted.

" + } + } + }, + "DeleteImagePipelineRequest":{ + "type":"structure", + "required":["imagePipelineArn"], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline to delete.

", + "location":"querystring", + "locationName":"imagePipelineArn" + } + } + }, + "DeleteImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that was deleted.

" + } + } + }, + "DeleteImageRecipeRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe to delete.

", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "DeleteImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that was deleted.

" + } + } + }, + "DeleteImageRequest":{ + "type":"structure", + "required":["imageBuildVersionArn"], + "members":{ + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image to delete.

", + "location":"querystring", + "locationName":"imageBuildVersionArn" + } + } + }, + "DeleteImageResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that was deleted.

" + } + } + }, + "DeleteInfrastructureConfigurationRequest":{ + "type":"structure", + "required":["infrastructureConfigurationArn"], + "members":{ + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration to delete.

", + "location":"querystring", + "locationName":"infrastructureConfigurationArn" + } + } + }, + "DeleteInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that was deleted.

" + } + } + }, + "Distribution":{ + "type":"structure", + "required":["region"], + "members":{ + "region":{ + "shape":"NonEmptyString", + "documentation":"

The target Region.

" + }, + "amiDistributionConfiguration":{ + "shape":"AmiDistributionConfiguration", + "documentation":"

The specific AMI settings (for example, launch permissions, AMI tags).

" + }, + "licenseConfigurationArns":{ + "shape":"ArnList", + "documentation":"

The License Manager Configuration to associate with the AMI in the specified Region.

" + } + }, + "documentation":"

Defines the settings for a specific Region.

" + }, + "DistributionConfiguration":{ + "type":"structure", + "required":["timeoutMinutes"], + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the distribution configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the distribution configuration.

" + }, + "distributions":{ + "shape":"DistributionList", + "documentation":"

The distributions of the distribution configuration.

" + }, + "timeoutMinutes":{ + "shape":"DistributionTimeoutMinutes", + "documentation":"

The maximum duration in minutes for this distribution configuration.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this distribution configuration was created.

" + }, + "dateUpdated":{ + "shape":"DateTime", + "documentation":"

The date on which this distribution configuration was last updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the distribution configuration.

" + } + }, + "documentation":"

A distribution configuration.

" + }, + "DistributionConfigurationArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):distribution-configuration/[a-z0-9-_]+$" + }, + "DistributionConfigurationSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the distribution configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the distribution configuration.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which the distribution configuration was created.

" + }, + "dateUpdated":{ + "shape":"DateTime", + "documentation":"

The date on which the distribution configuration was updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags associated with the distribution configuration.

" + } + }, + "documentation":"

A high-level overview of a distribution configuration.

" + }, + "DistributionConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"DistributionConfigurationSummary"} + }, + "DistributionList":{ + "type":"list", + "member":{"shape":"Distribution"} + }, + "DistributionTimeoutMinutes":{ + "type":"integer", + "max":720, + "min":30 + }, + "EbsInstanceBlockDeviceSpecification":{ + "type":"structure", + "members":{ + "encrypted":{ + "shape":"NullableBoolean", + "documentation":"

Use to configure device encryption.

" + }, + "deleteOnTermination":{ + "shape":"NullableBoolean", + "documentation":"

Use to configure delete on termination of the associated device.

" + }, + "iops":{ + "shape":"EbsIopsInteger", + "documentation":"

Use to configure device IOPS.

" + }, + "kmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

Use to configure the KMS key to use when encrypting the device.

" + }, + "snapshotId":{ + "shape":"NonEmptyString", + "documentation":"

The snapshot that defines the device contents.

" + }, + "volumeSize":{ + "shape":"EbsVolumeSizeInteger", + "documentation":"

Use to override the device's volume size.

" + }, + "volumeType":{ + "shape":"EbsVolumeType", + "documentation":"

Use to override the device's volume type.

" + } + }, + "documentation":"

Amazon EBS-specific block device mapping specifications.

" + }, + "EbsIopsInteger":{ + "type":"integer", + "max":10000, + "min":100 + }, + "EbsVolumeSizeInteger":{ + "type":"integer", + "max":16000, + "min":1 + }, + "EbsVolumeType":{ + "type":"string", + "enum":[ + "standard", + "io1", + "gp2", + "sc1", + "st1" + ] + }, + "EmptyString":{ + "type":"string", + "max":0, + "min":0 + }, + "ErrorMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FilterName", + "documentation":"

The name of the filter. Filter names are case-sensitive.

" + }, + "values":{ + "shape":"FilterValues", + "documentation":"

The filter values. Filter values are case-sensitive.

" + } + }, + "documentation":"

A filter name and value pair that is used to return a more specific list of results from a list operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

" + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":10, + "min":1 + }, + "FilterName":{ + "type":"string", + "pattern":"^[a-zA-Z]{1,1024}$" + }, + "FilterValue":{ + "type":"string", + "pattern":"^[0-9a-zA-Z./_ :-]{1,1024}$" + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "max":10, + "min":1 + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You are not authorized to perform the requested operation.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "GetComponentPolicyRequest":{ + "type":"structure", + "required":["componentArn"], + "members":{ + "componentArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component whose policy you want to retrieve.

", + "location":"querystring", + "locationName":"componentArn" + } + } + }, + "GetComponentPolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The component policy.

" + } + } + }, + "GetComponentRequest":{ + "type":"structure", + "required":["componentBuildVersionArn"], + "members":{ + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires \"/\\d+$\" suffix.

", + "location":"querystring", + "locationName":"componentBuildVersionArn" + } + } + }, + "GetComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "component":{ + "shape":"Component", + "documentation":"

The component object associated with the specified ARN.

" + } + } + }, + "GetDistributionConfigurationRequest":{ + "type":"structure", + "required":["distributionConfigurationArn"], + "members":{ + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that you want to retrieve.

", + "location":"querystring", + "locationName":"distributionConfigurationArn" + } + } + }, + "GetDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "distributionConfiguration":{ + "shape":"DistributionConfiguration", + "documentation":"

The distribution configuration object.

" + } + } + }, + "GetImagePipelineRequest":{ + "type":"structure", + "required":["imagePipelineArn"], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve.

", + "location":"querystring", + "locationName":"imagePipelineArn" + } + } + }, + "GetImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imagePipeline":{ + "shape":"ImagePipeline", + "documentation":"

The image pipeline object.

" + } + } + }, + "GetImagePolicyRequest":{ + "type":"structure", + "required":["imageArn"], + "members":{ + "imageArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image whose policy you want to retrieve.

", + "location":"querystring", + "locationName":"imageArn" + } + } + }, + "GetImagePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The image policy object.

" + } + } + }, + "GetImageRecipePolicyRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe whose policy you want to retrieve.

", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "GetImageRecipePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The image recipe policy object.

" + } + } + }, + "GetImageRecipeRequest":{ + "type":"structure", + "required":["imageRecipeArn"], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that you want to retrieve.

", + "location":"querystring", + "locationName":"imageRecipeArn" + } + } + }, + "GetImageRecipeResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageRecipe":{ + "shape":"ImageRecipe", + "documentation":"

The image recipe object.

" + } + } + }, + "GetImageRequest":{ + "type":"structure", + "required":["imageBuildVersionArn"], + "members":{ + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that you want to retrieve.

", + "location":"querystring", + "locationName":"imageBuildVersionArn" + } + } + }, + "GetImageResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "image":{ + "shape":"Image", + "documentation":"

The image object.

" + } + } + }, + "GetInfrastructureConfigurationRequest":{ + "type":"structure", + "required":["infrastructureConfigurationArn"], + "members":{ + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that you want to retrieve.

", + "location":"querystring", + "locationName":"infrastructureConfigurationArn" + } + }, + "documentation":"

GetInfrastructureConfiguration request object.

" + }, + "GetInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "infrastructureConfiguration":{ + "shape":"InfrastructureConfiguration", + "documentation":"

The infrastructure configuration object.

" + } + }, + "documentation":"

GetInfrastructureConfiguration response object.

" + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have specified a client token for an operation using parameter values that differ from a previous request that used the same client token.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Image":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the image.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image.

" + }, + "enhancedImageMetadataEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

" + }, + "osVersion":{ + "shape":"OsVersion", + "documentation":"

The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" + }, + "state":{ + "shape":"ImageState", + "documentation":"

The state of the image.

" + }, + "imageRecipe":{ + "shape":"ImageRecipe", + "documentation":"

The image recipe used when creating the image.

" + }, + "sourcePipelineName":{ + "shape":"ResourceName", + "documentation":"

The name of the image pipeline that created this image.

" + }, + "sourcePipelineArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that created this image.

" + }, + "infrastructureConfiguration":{ + "shape":"InfrastructureConfiguration", + "documentation":"

The infrastructure used when creating this image.

" + }, + "distributionConfiguration":{ + "shape":"DistributionConfiguration", + "documentation":"

The distribution configuration used when creating this image.

" + }, + "imageTestsConfiguration":{ + "shape":"ImageTestsConfiguration", + "documentation":"

The image tests configuration used when creating this image.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this image was created.

" + }, + "outputResources":{ + "shape":"OutputResources", + "documentation":"

The output resources produced when creating this image.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image.

" + } + }, + "documentation":"

An image build version.

" + }, + "ImageBuildVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+/\\d+$" + }, + "ImageBuilderArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):(?:image-recipe|infrastructure-configuration|distribution-configuration|component|image|image-pipeline)/[a-z0-9-_]+(?:/(?:(?:x|\\d+)\\.(?:x|\\d+)\\.(?:x|\\d+))(?:/\\d+)?)?$" + }, + "ImagePipeline":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image pipeline.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the image pipeline.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image pipeline.

" + }, + "enhancedImageMetadataEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

" + }, + "imageRecipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.

" + }, + "infrastructureConfigurationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.

" + }, + "distributionConfigurationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.

" + }, + "imageTestsConfiguration":{ + "shape":"ImageTestsConfiguration", + "documentation":"

The image tests configuration of the image pipeline.

" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"

The schedule of the image pipeline.

" + }, + "status":{ + "shape":"PipelineStatus", + "documentation":"

The status of the image pipeline.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this image pipeline was created.

" + }, + "dateUpdated":{ + "shape":"DateTime", + "documentation":"

The date on which this image pipeline was last updated.

" + }, + "dateLastRun":{ + "shape":"DateTime", + "documentation":"

The date on which this image pipeline was last run.

" + }, + "dateNextRun":{ + "shape":"DateTime", + "documentation":"

The date on which this image pipeline will next be run.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of this image pipeline.

" + } + }, + "documentation":"

Details of an image pipeline.

" + }, + "ImagePipelineArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-pipeline/[a-z0-9-_]+$" + }, + "ImagePipelineList":{ + "type":"list", + "member":{"shape":"ImagePipeline"} + }, + "ImageRecipe":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image recipe.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the image recipe.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image recipe.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the image recipe.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The version of the image recipe.

" + }, + "components":{ + "shape":"ComponentConfigurationList", + "documentation":"

The components of the image recipe.

" + }, + "parentImage":{ + "shape":"NonEmptyString", + "documentation":"

The parent image of the image recipe.

" + }, + "blockDeviceMappings":{ + "shape":"InstanceBlockDeviceMappings", + "documentation":"

The block device mappings to apply when creating images from this recipe.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this image recipe was created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image recipe.

" + } + }, + "documentation":"

An image recipe.

" + }, + "ImageRecipeArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image-recipe/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ImageRecipeSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image recipe.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image recipe.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the image recipe.

" + }, + "parentImage":{ + "shape":"NonEmptyString", + "documentation":"

The parent image of the image recipe.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this image recipe was created.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image recipe.

" + } + }, + "documentation":"

A summary of an image recipe.

" + }, + "ImageRecipeSummaryList":{ + "type":"list", + "member":{"shape":"ImageRecipeSummary"} + }, + "ImageState":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ImageStatus", + "documentation":"

The status of the image.

" + }, + "reason":{ + "shape":"NonEmptyString", + "documentation":"

The reason for the image's status.

" + } + }, + "documentation":"

Image state shows the image status and the reason for that status.

" + }, + "ImageStatus":{ + "type":"string", + "enum":[ + "PENDING", + "CREATING", + "BUILDING", + "TESTING", + "DISTRIBUTING", + "INTEGRATING", + "AVAILABLE", + "CANCELLED", + "FAILED", + "DEPRECATED", + "DELETED" + ] + }, + "ImageSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The version of the image.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image.

" + }, + "osVersion":{ + "shape":"OsVersion", + "documentation":"

The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" + }, + "state":{ + "shape":"ImageState", + "documentation":"

The state of the image.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the image.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which this image was created.

" + }, + "outputResources":{ + "shape":"OutputResources", + "documentation":"

The output resources produced when creating this image.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the image.

" + } + }, + "documentation":"

An image summary.

" + }, + "ImageSummaryList":{ + "type":"list", + "member":{"shape":"ImageSummary"} + }, + "ImageTestsConfiguration":{ + "type":"structure", + "members":{ + "imageTestsEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Defines if tests should be executed when building this image.

" + }, + "timeoutMinutes":{ + "shape":"ImageTestsTimeoutMinutes", + "documentation":"

The maximum time in minutes that tests are permitted to run.

" + } + }, + "documentation":"

Image tests configuration.

" + }, + "ImageTestsTimeoutMinutes":{ + "type":"integer", + "max":1440, + "min":60 + }, + "ImageVersion":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the image semantic version.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the image semantic version.

" + }, + "version":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the image semantic version.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the image semantic version.

" + }, + "osVersion":{ + "shape":"OsVersion", + "documentation":"

The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.

" + }, + "owner":{ + "shape":"NonEmptyString", + "documentation":"

The owner of the image semantic version.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date at which this image semantic version was created.

" + } + }, + "documentation":"

An image semantic version.

" + }, + "ImageVersionArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):image/[a-z0-9-_]+/\\d+\\.\\d+\\.\\d+$" + }, + "ImageVersionList":{ + "type":"list", + "member":{"shape":"ImageVersion"} + }, + "ImportComponentRequest":{ + "type":"structure", + "required":[ + "name", + "semanticVersion", + "type", + "format", + "platform", + "clientToken" + ], + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the component.

" + }, + "semanticVersion":{ + "shape":"VersionNumber", + "documentation":"

The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the component. Describes the contents of the component.

" + }, + "changeDescription":{ + "shape":"NonEmptyString", + "documentation":"

The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.

" + }, + "type":{ + "shape":"ComponentType", + "documentation":"

The type of the component denotes whether the component is used to build the image or only to test it.

" + }, + "format":{ + "shape":"ComponentFormat", + "documentation":"

The format of the resource that you want to import as a component.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The platform of the component.

" + }, + "data":{ + "shape":"NonEmptyString", + "documentation":"

The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.

" + }, + "uri":{ + "shape":"Uri", + "documentation":"

The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.

" + }, + "kmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the KMS key that should be used to encrypt this component.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the component.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token of the component.

", + "idempotencyToken":true + } + } + }, + "ImportComponentResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "componentBuildVersionArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the imported component.

" + } + } + }, + "InfrastructureConfiguration":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the infrastructure configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the infrastructure configuration.

" + }, + "instanceTypes":{ + "shape":"InstanceTypeList", + "documentation":"

The instance types of the infrastructure configuration.

" + }, + "instanceProfileName":{ + "shape":"NonEmptyString", + "documentation":"

The instance profile of the infrastructure configuration.

" + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The security group IDs of the infrastructure configuration.

" + }, + "subnetId":{ + "shape":"NonEmptyString", + "documentation":"

The subnet ID of the infrastructure configuration.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

The logging configuration of the infrastructure configuration.

" + }, + "keyPair":{ + "shape":"NonEmptyString", + "documentation":"

The EC2 key pair of the infrastructure configuration.

" + }, + "terminateInstanceOnFailure":{ + "shape":"NullableBoolean", + "documentation":"

The terminate instance on failure configuration of the infrastructure configuration.

" + }, + "snsTopicArn":{ + "shape":"NonEmptyString", + "documentation":"

The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which the infrastructure configuration was created.

" + }, + "dateUpdated":{ + "shape":"DateTime", + "documentation":"

The date on which the infrastructure configuration was last updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the infrastructure configuration.

" + } + }, + "documentation":"

Details of the infrastructure configuration.

" + }, + "InfrastructureConfigurationArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:\\d{12}|aws):infrastructure-configuration/[a-z0-9-_]+$" + }, + "InfrastructureConfigurationSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the infrastructure configuration.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the infrastructure configuration.

" + }, + "dateCreated":{ + "shape":"DateTime", + "documentation":"

The date on which the infrastructure configuration was created.

" + }, + "dateUpdated":{ + "shape":"DateTime", + "documentation":"

The date on which the infrastructure configuration was last updated.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags of the infrastructure configuration.

" + } + }, + "documentation":"

The infrastructure used when building EC2 AMIs.

" + }, + "InfrastructureConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"InfrastructureConfigurationSummary"} + }, + "InlineComponentData":{ + "type":"string", + "max":16000, + "min":1 + }, + "InstanceBlockDeviceMapping":{ + "type":"structure", + "members":{ + "deviceName":{ + "shape":"NonEmptyString", + "documentation":"

The device to which these mappings apply.

" + }, + "ebs":{ + "shape":"EbsInstanceBlockDeviceSpecification", + "documentation":"

Use to manage Amazon EBS-specific configuration for this mapping.

" + }, + "virtualName":{ + "shape":"NonEmptyString", + "documentation":"

Use to manage instance ephemeral devices.

" + }, + "noDevice":{ + "shape":"EmptyString", + "documentation":"

Use to remove a mapping from the parent image.

" + } + }, + "documentation":"

Defines block device mappings for the instance used to configure your image.

" + }, + "InstanceBlockDeviceMappings":{ + "type":"list", + "member":{"shape":"InstanceBlockDeviceMapping"} + }, + "InstanceType":{"type":"string"}, + "InstanceTypeList":{ + "type":"list", + "member":{"shape":"InstanceType"} + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have provided an invalid pagination token in your request.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have specified two or more mutually exclusive parameters. Review the error message for details.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified parameter is invalid. Review the available parameters for the API request.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value that you provided for the specified parameter is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have made a request for an action that is not supported by the service.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidVersionNumberException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Your version number is out of bounds or does not follow the required syntax.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LaunchPermissionConfiguration":{ + "type":"structure", + "members":{ + "userIds":{ + "shape":"AccountList", + "documentation":"

The AWS account ID.

" + }, + "userGroups":{ + "shape":"StringList", + "documentation":"

The name of the group.

" + } + }, + "documentation":"

Describes the configuration for a launch permission. The launch permission modification request is sent to the EC2 ModifyImageAttribute API on behalf of the user for each Region they have selected to distribute the AMI.

" + }, + "ListComponentBuildVersionsRequest":{ + "type":"structure", + "required":["componentVersionArn"], + "members":{ + "componentVersionArn":{ + "shape":"ComponentVersionArn", + "documentation":"

The component version Amazon Resource Name (ARN) whose versions you want to list.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListComponentBuildVersionsResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "componentSummaryList":{ + "shape":"ComponentSummaryList", + "documentation":"

The list of component summaries for the specified semantic version.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListComponentsRequest":{ + "type":"structure", + "members":{ + "owner":{ + "shape":"Ownership", + "documentation":"

The owner defines which components you want to list. By default, this request will only show components owned by your account. You can use this field to specify if you want to view components owned by yourself, by Amazon, or those components that have been shared with you by other customers.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListComponentsResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "componentVersionList":{ + "shape":"ComponentVersionList", + "documentation":"

The list of component semantic versions.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListDistributionConfigurationsRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListDistributionConfigurationsResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "distributionConfigurationSummaryList":{ + "shape":"DistributionConfigurationSummaryList", + "documentation":"

The list of distributions.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListImageBuildVersionsRequest":{ + "type":"structure", + "required":["imageVersionArn"], + "members":{ + "imageVersionArn":{ + "shape":"ImageVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListImageBuildVersionsResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageSummaryList":{ + "shape":"ImageSummaryList", + "documentation":"

The list of image build versions.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListImagePipelineImagesRequest":{ + "type":"structure", + "required":["imagePipelineArn"], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline whose images you want to view.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListImagePipelineImagesResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageSummaryList":{ + "shape":"ImageSummaryList", + "documentation":"

The list of images built by this pipeline.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListImagePipelinesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListImagePipelinesResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imagePipelineList":{ + "shape":"ImagePipelineList", + "documentation":"

The list of image pipelines.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListImageRecipesRequest":{ + "type":"structure", + "members":{ + "owner":{ + "shape":"Ownership", + "documentation":"

The owner defines which image recipes you want to list. By default, this request will only show image recipes owned by your account. You can use this field to specify if you want to view image recipes owned by yourself, by Amazon, or those image recipes that have been shared with you by other customers.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListImageRecipesResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageRecipeSummaryList":{ + "shape":"ImageRecipeSummaryList", + "documentation":"

The list of image pipelines.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListImagesRequest":{ + "type":"structure", + "members":{ + "owner":{ + "shape":"Ownership", + "documentation":"

The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers.

" + }, + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListImagesResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageVersionList":{ + "shape":"ImageVersionList", + "documentation":"

The list of image semantic versions.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListInfrastructureConfigurationsRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"FilterList", + "documentation":"

The filters.

" + }, + "maxResults":{ + "shape":"RestrictedInteger", + "documentation":"

The maximum items to return in a request.

", + "box":true + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

" + } + } + }, + "ListInfrastructureConfigurationsResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "infrastructureConfigurationSummaryList":{ + "shape":"InfrastructureConfigurationSummaryList", + "documentation":"

The list of infrastructure configurations.

" + }, + "nextToken":{ + "shape":"NonEmptyString", + "documentation":"

The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The tags for the specified resource.

" + } + } + }, + "Logging":{ + "type":"structure", + "members":{ + "s3Logs":{ + "shape":"S3Logs", + "documentation":"

The Amazon S3 logging configuration.

" + } + }, + "documentation":"

Logging configuration defines where Image Builder uploads your logs.

" + }, + "NonEmptyString":{ + "type":"string", + "max":1024, + "min":1 + }, + "NullableBoolean":{"type":"boolean"}, + "OsVersion":{ + "type":"string", + "min":1 + }, + "OsVersionList":{ + "type":"list", + "member":{"shape":"OsVersion"}, + "max":25, + "min":1 + }, + "OutputResources":{ + "type":"structure", + "members":{ + "amis":{ + "shape":"AmiList", + "documentation":"

The EC2 AMIs created by this image.

" + } + }, + "documentation":"

The resources produced by this image.

" + }, + "Ownership":{ + "type":"string", + "enum":[ + "Self", + "Shared", + "Amazon" + ] + }, + "PipelineExecutionStartCondition":{ + "type":"string", + "enum":[ + "EXPRESSION_MATCH_ONLY", + "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE" + ] + }, + "PipelineStatus":{ + "type":"string", + "enum":[ + "DISABLED", + "ENABLED" + ] + }, + "Platform":{ + "type":"string", + "enum":[ + "Windows", + "Linux" + ] + }, + "PutComponentPolicyRequest":{ + "type":"structure", + "required":[ + "componentArn", + "policy" + ], + "members":{ + "componentArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component that this policy should be applied to.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The policy to apply.

" + } + } + }, + "PutComponentPolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "componentArn":{ + "shape":"ComponentBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the component that this policy was applied to.

" + } + } + }, + "PutImagePolicyRequest":{ + "type":"structure", + "required":[ + "imageArn", + "policy" + ], + "members":{ + "imageArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that this policy should be applied to.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The policy to apply.

" + } + } + }, + "PutImagePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that this policy was applied to.

" + } + } + }, + "PutImageRecipePolicyRequest":{ + "type":"structure", + "required":[ + "imageRecipeArn", + "policy" + ], + "members":{ + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that this policy should be applied to.

" + }, + "policy":{ + "shape":"ResourcePolicyDocument", + "documentation":"

The policy to apply.

" + } + } + }, + "PutImageRecipePolicyResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that this policy was applied to.

" + } + } + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource that you are trying to create already exists.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceDependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have attempted to mutate or delete a resource with a dependency that prohibits this action. See the error message for more details.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The resource that you are trying to operate on is currently in use. Review the message details and retry later.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceName":{ + "type":"string", + "pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

At least one of the resources referenced by your request does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourcePolicyDocument":{ + "type":"string", + "max":30000, + "min":1 + }, + "RestrictedInteger":{ + "type":"integer", + "max":25, + "min":1 + }, + "S3Logs":{ + "type":"structure", + "members":{ + "s3BucketName":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon S3 bucket in which to store the logs.

" + }, + "s3KeyPrefix":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon S3 path in which to store the logs.

" + } + }, + "documentation":"

Amazon S3 logging configuration.

" + }, + "Schedule":{ + "type":"structure", + "members":{ + "scheduleExpression":{ + "shape":"NonEmptyString", + "documentation":"

The expression determines how often EC2 Image Builder evaluates your pipelineExecutionStartCondition.

" + }, + "pipelineExecutionStartCondition":{ + "shape":"PipelineExecutionStartCondition", + "documentation":"

The condition configures when the pipeline should trigger a new image build. When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, EC2 Image Builder will build a new image only when there are known changes pending. When it is set to EXPRESSION_MATCH_ONLY, it will build a new image every time the CRON expression matches the current time.

" + } + }, + "documentation":"

A schedule configures how often and when a pipeline will automatically create a new image.

" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "ServiceException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

This exception is thrown when the service encounters an unrecoverable exception.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service is unable to process your request at this time.

", + "error":{"httpStatusCode":503}, + "exception":true + }, + "SnsTopicArn":{ + "type":"string", + "pattern":"^arn:aws[^:]*:sns:[^:]+:\\d{12}:[a-zA-Z0-9-_]{1,256}$" + }, + "StartImagePipelineExecutionRequest":{ + "type":"structure", + "required":[ + "imagePipelineArn", + "clientToken" + ], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that you want to manually invoke.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "StartImagePipelineExecutionResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imageBuildVersionArn":{ + "shape":"ImageBuildVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the image that was created by this request.

" + } + } + }, + "StringList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to tag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags to apply to the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ImageBuilderArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to untag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to remove from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDistributionConfigurationRequest":{ + "type":"structure", + "required":[ + "distributionConfigurationArn", + "distributions", + "clientToken" + ], + "members":{ + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that you want to update.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the distribution configuration.

" + }, + "distributions":{ + "shape":"DistributionList", + "documentation":"

The distributions of the distribution configuration.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token of the distribution configuration.

", + "idempotencyToken":true + } + } + }, + "UpdateDistributionConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that was updated by this request.

" + } + } + }, + "UpdateImagePipelineRequest":{ + "type":"structure", + "required":[ + "imagePipelineArn", + "imageRecipeArn", + "infrastructureConfigurationArn", + "clientToken" + ], + "members":{ + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that you want to update.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the image pipeline.

" + }, + "imageRecipeArn":{ + "shape":"ImageRecipeArn", + "documentation":"

The Amazon Resource Name (ARN) of the image recipe that will be used to configure images updated by this image pipeline.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images updated by this image pipeline.

" + }, + "distributionConfigurationArn":{ + "shape":"DistributionConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images updated by this image pipeline.

" + }, + "imageTestsConfiguration":{ + "shape":"ImageTestsConfiguration", + "documentation":"

The image test configuration of the image pipeline.

" + }, + "enhancedImageMetadataEnabled":{ + "shape":"NullableBoolean", + "documentation":"

Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.

" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"

The schedule of the image pipeline.

" + }, + "status":{ + "shape":"PipelineStatus", + "documentation":"

The status of the image pipeline.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "UpdateImagePipelineResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "imagePipelineArn":{ + "shape":"ImagePipelineArn", + "documentation":"

The Amazon Resource Name (ARN) of the image pipeline that was updated by this request.

" + } + } + }, + "UpdateInfrastructureConfigurationRequest":{ + "type":"structure", + "required":[ + "infrastructureConfigurationArn", + "instanceProfileName", + "clientToken" + ], + "members":{ + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that you want to update.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

The description of the infrastructure configuration.

" + }, + "instanceTypes":{ + "shape":"InstanceTypeList", + "documentation":"

The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.

" + }, + "instanceProfileName":{ + "shape":"NonEmptyString", + "documentation":"

The instance profile to associate with the instance used to customize your EC2 AMI.

" + }, + "securityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The security group IDs to associate with the instance used to customize your EC2 AMI.

" + }, + "subnetId":{ + "shape":"NonEmptyString", + "documentation":"

The subnet ID to place the instance used to customize your EC2 AMI in.

" + }, + "logging":{ + "shape":"Logging", + "documentation":"

The logging configuration of the infrastructure configuration.

" + }, + "keyPair":{ + "shape":"NonEmptyString", + "documentation":"

The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.

" + }, + "terminateInstanceOnFailure":{ + "shape":"NullableBoolean", + "documentation":"

The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.

" + }, + "snsTopicArn":{ + "shape":"SnsTopicArn", + "documentation":"

The SNS topic on which to send image build events.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

", + "idempotencyToken":true + } + } + }, + "UpdateInfrastructureConfigurationResponse":{ + "type":"structure", + "members":{ + "requestId":{ + "shape":"NonEmptyString", + "documentation":"

The request ID that uniquely identifies this request.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

The idempotency token used to make this request idempotent.

" + }, + "infrastructureConfigurationArn":{ + "shape":"InfrastructureConfigurationArn", + "documentation":"

The Amazon Resource Name (ARN) of the infrastructure configuration that was updated by this request.

" + } + } + }, + "Uri":{"type":"string"}, + "VersionNumber":{ + "type":"string", + "pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$" + } + }, + "documentation":"

EC2 Image Builder is a fully managed AWS service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date “golden” server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.

" +} diff -Nru python-botocore-1.4.70/botocore/data/importexport/2010-06-01/service-2.json python-botocore-1.16.19+repack/botocore/data/importexport/2010-06-01/service-2.json --- python-botocore-1.4.70/botocore/data/importexport/2010-06-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/importexport/2010-06-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,10 +1,12 @@ { "version":"2.0", "metadata":{ + "uid":"importexport-2010-06-01", "apiVersion":"2010-06-01", "endpointPrefix":"importexport", "globalEndpoint":"importexport.amazonaws.com", "serviceFullName":"AWS Import/Export", + "serviceId":"ImportExport", "signatureVersion":"v2", "xmlNamespace":"http://importexport.amazonaws.com/doc/2010-06-01/", "protocol":"query" diff -Nru python-botocore-1.4.70/botocore/data/inspector/2015-08-18/service-2.json python-botocore-1.16.19+repack/botocore/data/inspector/2015-08-18/service-2.json --- python-botocore-1.4.70/botocore/data/inspector/2015-08-18/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/inspector/2015-08-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,6 +6,7 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Inspector", + "serviceId":"Inspector", "signatureVersion":"v4", "targetPrefix":"InspectorService" }, diff -Nru python-botocore-1.4.70/botocore/data/inspector/2016-02-16/examples-1.json python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/examples-1.json --- python-botocore-1.4.70/botocore/data/inspector/2016-02-16/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1148 @@ +{ + "version": "1.0", + "examples": { + "AddAttributesToFindings": [ + { + "input": { + "attributes": [ + { + "key": "Example", + "value": "example" + } + ], + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-8l1VIE0D/run/0-Z02cjjug/finding/0-T8yM9mEU" + ] + }, + "output": { + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings.", + "id": "add-attributes-to-findings-1481063856401", + "title": "Add attributes to findings" + } + ], + "CreateAssessmentTarget": [ + { + "input": { + "assessmentTargetName": "ExampleAssessmentTarget", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-AB6DMKnv" + }, + "output": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account.", + "id": "create-assessment-target-1481063953657", + "title": "Create assessment target" + } + ], + "CreateAssessmentTemplate": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX", + "assessmentTemplateName": "ExampleAssessmentTemplate", + "durationInSeconds": 180, + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-11B9DBXp" + ], + "userAttributesForFindings": [ + { + "key": "Example", + "value": "example" + } + ] + }, + "output": { + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates an assessment template for the assessment target that is specified by the ARN of the assessment target.", + "id": "create-assessment-template-1481064046719", + "title": "Create assessment template" + } + ], + "CreateResourceGroup": [ + { + "input": { + "resourceGroupTags": [ + { + "key": "Name", + "value": "example" + } + ] + }, + "output": { + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-AB6DMKnv" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Amazon Inspector assessment target. The created resource group is then used to create an Amazon Inspector assessment target. ", + "id": "create-resource-group-1481064169037", + "title": "Create resource group" + } + ], + "DeleteAssessmentRun": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-11LMTAVe" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment run that is specified by the ARN of the assessment run.", + "id": "delete-assessment-run-1481064251629", + "title": "Delete assessment run" + } + ], + "DeleteAssessmentTarget": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment target that is specified by the ARN of the assessment target.", + "id": "delete-assessment-target-1481064309029", + "title": "Delete assessment target" + } + ], + "DeleteAssessmentTemplate": [ + { + "input": { + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the assessment template that is specified by the ARN of the assessment template.", + "id": "delete-assessment-template-1481064364074", + "title": "Delete assessment template" + } + ], + "DescribeAssessmentRuns": [ + { + "input": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + ] + }, + "output": { + "assessmentRuns": [ + { + "name": "Run 1 for ExampleAssessmentTemplate", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "completedAt": "1458680301.4", + "createdAt": "1458680170.035", + "dataCollected": true, + "durationInSeconds": 3600, + "findingCounts": { + "High": 14, + "Informational": 0, + "Low": 0, + "Medium": 2, + "Undefined": 0 + }, + "notifications": [ + + ], + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP" + ], + "startedAt": "1458680170.161", + "state": "COMPLETED", + "stateChangedAt": "1458680301.4", + "stateChanges": [ + { + "state": "CREATED", + "stateChangedAt": "1458680170.035" + }, + { + "state": "START_DATA_COLLECTION_PENDING", + "stateChangedAt": "1458680170.065" + }, + { + "state": "START_DATA_COLLECTION_IN_PROGRESS", + "stateChangedAt": "1458680170.096" + }, + { + "state": "COLLECTING_DATA", + "stateChangedAt": "1458680170.161" + }, + { + "state": "STOP_DATA_COLLECTION_PENDING", + "stateChangedAt": "1458680239.883" + }, + { + "state": "DATA_COLLECTED", + "stateChangedAt": "1458680299.847" + }, + { + "state": "EVALUATING_RULES", + "stateChangedAt": "1458680300.099" + }, + { + "state": "COMPLETED", + "stateChangedAt": "1458680301.4" + } + ], + "userAttributesForFindings": [ + + ] + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "describte-assessment-runs-1481064424352", + "title": "Describte assessment runs" + } + ], + "DescribeAssessmentTargets": [ + { + "input": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ] + }, + "output": { + "assessmentTargets": [ + { + "name": "ExampleAssessmentTarget", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq", + "createdAt": "1458074191.459", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI", + "updatedAt": "1458074191.459" + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment targets that are specified by the ARNs of the assessment targets.", + "id": "describte-assessment-targets-1481064527735", + "title": "Describte assessment targets" + } + ], + "DescribeAssessmentTemplates": [ + { + "input": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw" + ] + }, + "output": { + "assessmentTemplates": [ + { + "name": "ExampleAssessmentTemplate", + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "assessmentRunCount": 0, + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq", + "createdAt": "1458074191.844", + "durationInSeconds": 3600, + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP" + ], + "userAttributesForFindings": [ + + ] + } + ], + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the assessment templates that are specified by the ARNs of the assessment templates.", + "id": "describte-assessment-templates-1481064606829", + "title": "Describte assessment templates" + } + ], + "DescribeCrossAccountAccessRole": [ + { + "output": { + "registeredAt": "1458069182.826", + "roleArn": "arn:aws:iam::123456789012:role/inspector", + "valid": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the IAM role that enables Amazon Inspector to access your AWS account.", + "id": "describte-cross-account-access-role-1481064682267", + "title": "Describte cross account access role" + } + ], + "DescribeFindings": [ + { + "input": { + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4" + ] + }, + "output": { + "failedItems": { + }, + "findings": [ + { + "arn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4", + "assetAttributes": { + "ipv4Addresses": [ + + ], + "schemaVersion": 1 + }, + "assetType": "ec2-instance", + "attributes": [ + + ], + "confidence": 10, + "createdAt": "1458680301.37", + "description": "Amazon Inspector did not find any potential security issues during this assessment.", + "indicatorOfCompromise": false, + "numericSeverity": 0, + "recommendation": "No remediation needed.", + "schemaVersion": 1, + "service": "Inspector", + "serviceAttributes": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "rulesPackageArn": "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-X1KXtawP", + "schemaVersion": 1 + }, + "severity": "Informational", + "title": "No potential security issues found", + "updatedAt": "1458680301.37", + "userAttributes": [ + + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the findings that are specified by the ARNs of the findings.", + "id": "describte-findings-1481064771803", + "title": "Describe findings" + } + ], + "DescribeResourceGroups": [ + { + "input": { + "resourceGroupArns": [ + "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI" + ] + }, + "output": { + "failedItems": { + }, + "resourceGroups": [ + { + "arn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-PyGXopAI", + "createdAt": "1458074191.098", + "tags": [ + { + "key": "Name", + "value": "example" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the resource groups that are specified by the ARNs of the resource groups.", + "id": "describe-resource-groups-1481065787743", + "title": "Describe resource groups" + } + ], + "DescribeRulesPackages": [ + { + "input": { + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ" + ] + }, + "output": { + "failedItems": { + }, + "rulesPackages": [ + { + "version": "1.1", + "name": "Security Best Practices", + "arn": "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ", + "description": "The rules in this package help determine whether your systems are configured securely.", + "provider": "Amazon Web Services, Inc." + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the rules packages that are specified by the ARNs of the rules packages.", + "id": "describe-rules-packages-1481069641979", + "title": "Describe rules packages" + } + ], + "GetTelemetryMetadata": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + }, + "output": { + "telemetryMetadata": [ + { + "count": 2, + "dataSize": 345, + "messageType": "InspectorDuplicateProcess" + }, + { + "count": 3, + "dataSize": 255, + "messageType": "InspectorTimeEventMsg" + }, + { + "count": 4, + "dataSize": 1082, + "messageType": "InspectorNetworkInterface" + }, + { + "count": 2, + "dataSize": 349, + "messageType": "InspectorDnsEntry" + }, + { + "count": 11, + "dataSize": 2514, + "messageType": "InspectorDirectoryInfoMsg" + }, + { + "count": 1, + "dataSize": 179, + "messageType": "InspectorTcpV6ListeningPort" + }, + { + "count": 101, + "dataSize": 10949, + "messageType": "InspectorTerminal" + }, + { + "count": 26, + "dataSize": 5916, + "messageType": "InspectorUser" + }, + { + "count": 282, + "dataSize": 32148, + "messageType": "InspectorDynamicallyLoadedCodeModule" + }, + { + "count": 18, + "dataSize": 10172, + "messageType": "InspectorCreateProcess" + }, + { + "count": 3, + "dataSize": 8001, + "messageType": "InspectorProcessPerformance" + }, + { + "count": 1, + "dataSize": 360, + "messageType": "InspectorOperatingSystem" + }, + { + "count": 6, + "dataSize": 546, + "messageType": "InspectorStopProcess" + }, + { + "count": 1, + "dataSize": 1553, + "messageType": "InspectorInstanceMetaData" + }, + { + "count": 2, + "dataSize": 434, + "messageType": "InspectorTcpV4Connection" + }, + { + "count": 474, + "dataSize": 2960322, + "messageType": "InspectorPackageInfo" + }, + { + "count": 3, + "dataSize": 2235, + "messageType": "InspectorSystemPerformance" + }, + { + "count": 105, + "dataSize": 46048, + "messageType": "InspectorCodeModule" + }, + { + "count": 1, + "dataSize": 182, + "messageType": "InspectorUdpV6ListeningPort" + }, + { + "count": 2, + "dataSize": 371, + "messageType": "InspectorUdpV4ListeningPort" + }, + { + "count": 18, + "dataSize": 8362, + "messageType": "InspectorKernelModule" + }, + { + "count": 29, + "dataSize": 48788, + "messageType": "InspectorConfigurationInfo" + }, + { + "count": 1, + "dataSize": 79, + "messageType": "InspectorMonitoringStart" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgBegin" + }, + { + "count": 51, + "dataSize": 4593, + "messageType": "InspectorGroup" + }, + { + "count": 1, + "dataSize": 184, + "messageType": "InspectorTcpV4ListeningPort" + }, + { + "count": 1159, + "dataSize": 3146579, + "messageType": "Total" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgEnd" + }, + { + "count": 1, + "dataSize": 612, + "messageType": "InspectorLoadImageInProcess" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Information about the data that is collected for the specified assessment run.", + "id": "get-telemetry-metadata-1481066021297", + "title": "Get telemetry metadata" + } + ], + "ListAssessmentRunAgents": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "maxResults": 123 + }, + "output": { + "assessmentRunAgents": [ + { + "agentHealth": "HEALTHY", + "agentHealthCode": "RUNNING", + "agentId": "i-49113b93", + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "telemetryMetadata": [ + { + "count": 2, + "dataSize": 345, + "messageType": "InspectorDuplicateProcess" + }, + { + "count": 3, + "dataSize": 255, + "messageType": "InspectorTimeEventMsg" + }, + { + "count": 4, + "dataSize": 1082, + "messageType": "InspectorNetworkInterface" + }, + { + "count": 2, + "dataSize": 349, + "messageType": "InspectorDnsEntry" + }, + { + "count": 11, + "dataSize": 2514, + "messageType": "InspectorDirectoryInfoMsg" + }, + { + "count": 1, + "dataSize": 179, + "messageType": "InspectorTcpV6ListeningPort" + }, + { + "count": 101, + "dataSize": 10949, + "messageType": "InspectorTerminal" + }, + { + "count": 26, + "dataSize": 5916, + "messageType": "InspectorUser" + }, + { + "count": 282, + "dataSize": 32148, + "messageType": "InspectorDynamicallyLoadedCodeModule" + }, + { + "count": 18, + "dataSize": 10172, + "messageType": "InspectorCreateProcess" + }, + { + "count": 3, + "dataSize": 8001, + "messageType": "InspectorProcessPerformance" + }, + { + "count": 1, + "dataSize": 360, + "messageType": "InspectorOperatingSystem" + }, + { + "count": 6, + "dataSize": 546, + "messageType": "InspectorStopProcess" + }, + { + "count": 1, + "dataSize": 1553, + "messageType": "InspectorInstanceMetaData" + }, + { + "count": 2, + "dataSize": 434, + "messageType": "InspectorTcpV4Connection" + }, + { + "count": 474, + "dataSize": 2960322, + "messageType": "InspectorPackageInfo" + }, + { + "count": 3, + "dataSize": 2235, + "messageType": "InspectorSystemPerformance" + }, + { + "count": 105, + "dataSize": 46048, + "messageType": "InspectorCodeModule" + }, + { + "count": 1, + "dataSize": 182, + "messageType": "InspectorUdpV6ListeningPort" + }, + { + "count": 2, + "dataSize": 371, + "messageType": "InspectorUdpV4ListeningPort" + }, + { + "count": 18, + "dataSize": 8362, + "messageType": "InspectorKernelModule" + }, + { + "count": 29, + "dataSize": 48788, + "messageType": "InspectorConfigurationInfo" + }, + { + "count": 1, + "dataSize": 79, + "messageType": "InspectorMonitoringStart" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgBegin" + }, + { + "count": 51, + "dataSize": 4593, + "messageType": "InspectorGroup" + }, + { + "count": 1, + "dataSize": 184, + "messageType": "InspectorTcpV4ListeningPort" + }, + { + "count": 1159, + "dataSize": 3146579, + "messageType": "Total" + }, + { + "count": 5, + "dataSize": 0, + "messageType": "InspectorSplitMsgEnd" + }, + { + "count": 1, + "dataSize": 612, + "messageType": "InspectorLoadImageInProcess" + } + ] + } + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the agents of the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "list-assessment-run-agents-1481918140642", + "title": "List assessment run agents" + } + ], + "ListAssessmentRuns": [ + { + "input": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw" + ], + "maxResults": 123 + }, + "output": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the assessment runs that correspond to the assessment templates that are specified by the ARNs of the assessment templates.", + "id": "list-assessment-runs-1481066340844", + "title": "List assessment runs" + } + ], + "ListAssessmentTargets": [ + { + "input": { + "maxResults": 123 + }, + "output": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the ARNs of the assessment targets within this AWS account. ", + "id": "list-assessment-targets-1481066540849", + "title": "List assessment targets" + } + ], + "ListAssessmentTemplates": [ + { + "input": { + "assessmentTargetArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + ], + "maxResults": 123 + }, + "output": { + "assessmentTemplateArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-Uza6ihLh" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the assessment templates that correspond to the assessment targets that are specified by the ARNs of the assessment targets.", + "id": "list-assessment-templates-1481066623520", + "title": "List assessment templates" + } + ], + "ListEventSubscriptions": [ + { + "input": { + "maxResults": 123, + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0" + }, + "output": { + "nextToken": "1", + "subscriptions": [ + { + "eventSubscriptions": [ + { + "event": "ASSESSMENT_RUN_COMPLETED", + "subscribedAt": "1459455440.867" + } + ], + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all the event subscriptions for the assessment template that is specified by the ARN of the assessment template. ", + "id": "list-event-subscriptions-1481068376945", + "title": "List event subscriptions" + } + ], + "ListFindings": [ + { + "input": { + "assessmentRunArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE" + ], + "maxResults": 123 + }, + "output": { + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-MKkpXXPE/finding/0-HwPnsDm4", + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-4r1V2mAw/run/0-v5D6fI3v/finding/0-tyvmqBLy" + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists findings that are generated by the assessment runs that are specified by the ARNs of the assessment runs.", + "id": "list-findings-1481066840611", + "title": "List findings" + } + ], + "ListRulesPackages": [ + { + "input": { + "maxResults": 123 + }, + "output": { + "nextToken": "1", + "rulesPackageArns": [ + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-9hgA516p", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-H5hpSawc", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-JJOtZiqQ", + "arn:aws:inspector:us-west-2:758058086616:rulespackage/0-vg5GGHSD" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all available Amazon Inspector rules packages.", + "id": "list-rules-packages-1481066954883", + "title": "List rules packages" + } + ], + "ListTagsForResource": [ + { + "input": { + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-gcwFliYu" + }, + "output": { + "tags": [ + { + "key": "Name", + "value": "Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists all tags associated with an assessment template.", + "id": "list-tags-for-resource-1481067025240", + "title": "List tags for resource" + } + ], + "PreviewAgents": [ + { + "input": { + "maxResults": 123, + "previewAgentsArn": "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq" + }, + "output": { + "agentPreviews": [ + { + "agentId": "i-49113b93" + } + ], + "nextToken": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Previews the agents installed on the EC2 instances that are part of the specified assessment target.", + "id": "preview-agents-1481067101888", + "title": "Preview agents" + } + ], + "RegisterCrossAccountAccessRole": [ + { + "input": { + "roleArn": "arn:aws:iam::123456789012:role/inspector" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Registers the IAM role that Amazon Inspector uses to list your EC2 instances at the start of the assessment run or when you call the PreviewAgents action.", + "id": "register-cross-account-access-role-1481067178301", + "title": "Register cross account access role" + } + ], + "RemoveAttributesFromFindings": [ + { + "input": { + "attributeKeys": [ + "key=Example,value=example" + ], + "findingArns": [ + "arn:aws:inspector:us-west-2:123456789012:target/0-0kFIPusq/template/0-8l1VIE0D/run/0-Z02cjjug/finding/0-T8yM9mEU" + ] + }, + "output": { + "failedItems": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Removes entire attributes (key and value pairs) from the findings that are specified by the ARNs of the findings where an attribute with the specified key exists.", + "id": "remove-attributes-from-findings-1481067246548", + "title": "Remove attributes from findings" + } + ], + "SetTagsForResource": [ + { + "input": { + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "tags": [ + { + "key": "Example", + "value": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template.", + "id": "set-tags-for-resource-1481067329646", + "title": "Set tags for resource" + } + ], + "StartAssessmentRun": [ + { + "input": { + "assessmentRunName": "examplerun", + "assessmentTemplateArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T" + }, + "output": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-jOoroxyY" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Starts the assessment run specified by the ARN of the assessment template. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.", + "id": "start-assessment-run-1481067407484", + "title": "Start assessment run" + } + ], + "StopAssessmentRun": [ + { + "input": { + "assessmentRunArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-it5r2S4T/run/0-11LMTAVe" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Stops the assessment run that is specified by the ARN of the assessment run.", + "id": "stop-assessment-run-1481067502857", + "title": "Stop assessment run" + } + ], + "SubscribeToEvent": [ + { + "input": { + "event": "ASSESSMENT_RUN_COMPLETED", + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.", + "id": "subscribe-to-event-1481067686031", + "title": "Subscribe to event" + } + ], + "UnsubscribeFromEvent": [ + { + "input": { + "event": "ASSESSMENT_RUN_COMPLETED", + "resourceArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX/template/0-7sbz2Kz0", + "topicArn": "arn:aws:sns:us-west-2:123456789012:exampletopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.", + "id": "unsubscribe-from-event-1481067781705", + "title": "Unsubscribe from event" + } + ], + "UpdateAssessmentTarget": [ + { + "input": { + "assessmentTargetArn": "arn:aws:inspector:us-west-2:123456789012:target/0-nvgVhaxX", + "assessmentTargetName": "Example", + "resourceGroupArn": "arn:aws:inspector:us-west-2:123456789012:resourcegroup/0-yNbgL5Pt" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the assessment target that is specified by the ARN of the assessment target.", + "id": "update-assessment-target-1481067866692", + "title": "Update assessment target" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/inspector/2016-02-16/paginators-1.json python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/paginators-1.json --- python-botocore-1.4.70/botocore/data/inspector/2016-02-16/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "ListFindings": { + "result_key": "findingArns", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentTemplates": { + "result_key": "assessmentTemplateArns", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "PreviewAgents": { + "result_key": "agentPreviews", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListEventSubscriptions": { + "result_key": "subscriptions", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListRulesPackages": { + "result_key": "rulesPackageArns", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentRunAgents": { + "result_key": "assessmentRunAgents", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentRuns": { + "result_key": "assessmentRunArns", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListAssessmentTargets": { + "result_key": "assessmentTargetArns", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListExclusions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "exclusionArns" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/inspector/2016-02-16/service-2.json python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/service-2.json --- python-botocore-1.4.70/botocore/data/inspector/2016-02-16/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/inspector/2016-02-16/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Inspector", + "serviceId":"Inspector", "signatureVersion":"v4", - "targetPrefix":"InspectorService" + "targetPrefix":"InspectorService", + "uid":"inspector-2016-02-16" }, "operations":{ "AddAttributesToFindings":{ @@ -22,7 +24,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Assigns attributes (key and value pairs) to the findings that are specified by the ARNs of the findings.

" }, @@ -39,9 +42,11 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"InvalidCrossAccountRoleException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], - "documentation":"

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

" + "documentation":"

Creates a new assessment target using the ARN of the resource group that is generated by CreateResourceGroup. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see Amazon Inspector Assessment Targets.

" }, "CreateAssessmentTemplate":{ "name":"CreateAssessmentTemplate", @@ -56,9 +61,28 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} + ], + "documentation":"

Creates an assessment template for the assessment target that is specified by the ARN of the assessment target. If the service-linked role isn’t already registered, this action also creates and registers a service-linked role to grant Amazon Inspector access to AWS Services needed to perform security assessments.

" + }, + "CreateExclusionsPreview":{ + "name":"CreateExclusionsPreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateExclusionsPreviewRequest"}, + "output":{"shape":"CreateExclusionsPreviewResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"PreviewGenerationInProgressException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], - "documentation":"

Creates an assessment template for the assessment target that is specified by the ARN of the assessment target.

" + "documentation":"

Starts the generation of an exclusions preview for the specified assessment template. The exclusions preview lists the potential exclusions (ExclusionPreview) that Inspector can detect before it runs the assessment.

" }, "CreateResourceGroup":{ "name":"CreateResourceGroup", @@ -72,7 +96,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, - {"shape":"AccessDeniedException"} + {"shape":"AccessDeniedException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Amazon Inspector assessment target. The created resource group is then used to create an Amazon Inspector assessment target. For more information, see CreateAssessmentTarget.

" }, @@ -88,7 +113,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Deletes the assessment run that is specified by the ARN of the assessment run.

" }, @@ -104,7 +130,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Deletes the assessment target that is specified by the ARN of the assessment target.

" }, @@ -120,7 +147,8 @@ {"shape":"InvalidInputException"}, {"shape":"AssessmentRunInProgressException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Deletes the assessment template that is specified by the ARN of the assessment template.

" }, @@ -178,6 +206,20 @@ ], "documentation":"

Describes the IAM role that enables Amazon Inspector to access your AWS account.

" }, + "DescribeExclusions":{ + "name":"DescribeExclusions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExclusionsRequest"}, + "output":{"shape":"DescribeExclusionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Describes the exclusions that are specified by the exclusions' ARNs.

" + }, "DescribeFindings":{ "name":"DescribeFindings", "http":{ @@ -220,6 +262,41 @@ ], "documentation":"

Describes the rules packages that are specified by the ARNs of the rules packages.

" }, + "GetAssessmentReport":{ + "name":"GetAssessmentReport", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssessmentReportRequest"}, + "output":{"shape":"GetAssessmentReportResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"}, + {"shape":"AssessmentRunInProgressException"}, + {"shape":"UnsupportedFeatureException"}, + {"shape":"ServiceTemporarilyUnavailableException"} + ], + "documentation":"

Produces an assessment report that includes detailed and comprehensive results of a specified assessment run.

" + }, + "GetExclusionsPreview":{ + "name":"GetExclusionsPreview", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExclusionsPreviewRequest"}, + "output":{"shape":"GetExclusionsPreviewResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"} + ], + "documentation":"

Retrieves the exclusions preview (a list of ExclusionPreview objects) specified by the preview token. You can obtain the preview token by running the CreateExclusionsPreview API.

" + }, "GetTelemetryMetadata":{ "name":"GetTelemetryMetadata", "http":{ @@ -281,7 +358,7 @@ {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

" + "documentation":"

Lists the ARNs of the assessment targets within this AWS account. For more information about assessment targets, see Amazon Inspector Assessment Targets.

" }, "ListAssessmentTemplates":{ "name":"ListAssessmentTemplates", @@ -315,6 +392,22 @@ ], "documentation":"

Lists all the event subscriptions for the assessment template that is specified by the ARN of the assessment template. For more information, see SubscribeToEvent and UnsubscribeFromEvent.

" }, + "ListExclusions":{ + "name":"ListExclusions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExclusionsRequest"}, + "output":{"shape":"ListExclusionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchEntityException"} + ], + "documentation":"

List exclusions that are generated by the assessment run.

" + }, "ListFindings":{ "name":"ListFindings", "http":{ @@ -390,9 +483,10 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"InvalidCrossAccountRoleException"} + {"shape":"InvalidCrossAccountRoleException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], - "documentation":"

Registers the IAM role that Amazon Inspector uses to list your EC2 instances at the start of the assessment run or when you call the PreviewAgents action.

" + "documentation":"

Registers the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

" }, "RemoveAttributesFromFindings":{ "name":"RemoveAttributesFromFindings", @@ -406,7 +500,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Removes entire attributes (key and value pairs) from the findings that are specified by the ARNs of the findings where an attribute with the specified key exists.

" }, @@ -421,7 +516,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Sets tags (key and value pairs) to the assessment template that is specified by the ARN of the assessment template.

" }, @@ -440,7 +536,8 @@ {"shape":"AccessDeniedException"}, {"shape":"NoSuchEntityException"}, {"shape":"InvalidCrossAccountRoleException"}, - {"shape":"AgentsAlreadyRunningAssessmentException"} + {"shape":"AgentsAlreadyRunningAssessmentException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Starts the assessment run specified by the ARN of the assessment template. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.

" }, @@ -455,7 +552,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Stops the assessment run that is specified by the ARN of the assessment run.

" }, @@ -471,7 +569,8 @@ {"shape":"InvalidInputException"}, {"shape":"LimitExceededException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

" }, @@ -486,7 +585,8 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], "documentation":"

Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified SNS topic.

" }, @@ -501,9 +601,10 @@ {"shape":"InternalException"}, {"shape":"InvalidInputException"}, {"shape":"AccessDeniedException"}, - {"shape":"NoSuchEntityException"} + {"shape":"NoSuchEntityException"}, + {"shape":"ServiceTemporarilyUnavailableException"} ], - "documentation":"

Updates the assessment target that is specified by the ARN of the assessment target.

" + "documentation":"

Updates the assessment target that is specified by the ARN of the assessment target.

If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target.

" } }, "shapes":{ @@ -623,7 +724,8 @@ "type":"string", "enum":[ "HEALTHY", - "UNHEALTHY" + "UNHEALTHY", + "UNKNOWN" ] }, "AgentHealthCode":{ @@ -657,13 +759,17 @@ "AgentIdList":{ "type":"list", "member":{"shape":"AgentId"}, - "max":500, + "max":99, "min":0 }, "AgentPreview":{ "type":"structure", "required":["agentId"], "members":{ + "hostname":{ + "shape":"Hostname", + "documentation":"

The hostname of the EC2 instance on which the Amazon Inspector Agent is installed.

" + }, "agentId":{ "shape":"AgentId", "documentation":"

The ID of the EC2 instance where the agent is installed.

" @@ -671,6 +777,26 @@ "autoScalingGroup":{ "shape":"AutoScalingGroup", "documentation":"

The Auto Scaling group for the EC2 instance where the agent is installed.

" + }, + "agentHealth":{ + "shape":"AgentHealth", + "documentation":"

The health status of the Amazon Inspector Agent.

" + }, + "agentVersion":{ + "shape":"AgentVersion", + "documentation":"

The version of the Amazon Inspector Agent.

" + }, + "operatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

The operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" + }, + "kernelVersion":{ + "shape":"KernelVersion", + "documentation":"

The kernel version of the operating system running on the EC2 instance on which the Amazon Inspector Agent is installed.

" + }, + "ipv4Address":{ + "shape":"Ipv4Address", + "documentation":"

The IP address of the EC2 instance on which the Amazon Inspector Agent is installed.

" } }, "documentation":"

Used as a response element in the PreviewAgents action.

" @@ -681,6 +807,11 @@ "max":100, "min":0 }, + "AgentVersion":{ + "type":"string", + "max":128, + "min":1 + }, "AgentsAlreadyRunningAssessmentException":{ "type":"structure", "required":[ @@ -720,6 +851,7 @@ "max":300, "min":1 }, + "ArnCount":{"type":"integer"}, "AssessmentRulesPackageArnList":{ "type":"list", "member":{"shape":"Arn"}, @@ -740,7 +872,8 @@ "stateChangedAt", "dataCollected", "stateChanges", - "notifications" + "notifications", + "findingCounts" ], "members":{ "arn":{ @@ -798,6 +931,10 @@ "notifications":{ "shape":"AssessmentRunNotificationList", "documentation":"

A list of notifications for the event subscriptions. A notification about a particular generated finding is added to this list only once.

" + }, + "findingCounts":{ + "shape":"AssessmentRunFindingCounts", + "documentation":"

Provides a total count of generated findings per severity.

" } }, "documentation":"

A snapshot of an Amazon Inspector assessment run that contains the findings of the assessment run .

Used as the response element in the DescribeAssessmentRuns action.

" @@ -888,6 +1025,11 @@ }, "documentation":"

Used as the request parameter in the ListAssessmentRuns action.

" }, + "AssessmentRunFindingCounts":{ + "type":"map", + "key":{"shape":"Severity"}, + "value":{"shape":"FindingCount"} + }, "AssessmentRunInProgressArnList":{ "type":"list", "member":{"shape":"Arn"}, @@ -950,7 +1092,10 @@ "shape":"InspectorEvent", "documentation":"

The event for which a notification is sent.

" }, - "message":{"shape":"Message"}, + "message":{ + "shape":"Message", + "documentation":"

The message included in the notification.

" + }, "error":{ "shape":"Bool", "documentation":"

The Boolean value that specifies whether the notification represents an error.

" @@ -990,10 +1135,13 @@ "COLLECTING_DATA", "STOP_DATA_COLLECTION_PENDING", "DATA_COLLECTED", + "START_EVALUATING_RULES_PENDING", "EVALUATING_RULES", "FAILED", + "ERROR", "COMPLETED", - "COMPLETED_WITH_ERRORS" + "COMPLETED_WITH_ERRORS", + "CANCELED" ] }, "AssessmentRunStateChange":{ @@ -1031,7 +1179,6 @@ "required":[ "arn", "name", - "resourceGroupArn", "createdAt", "updatedAt" ], @@ -1089,6 +1236,7 @@ "durationInSeconds", "rulesPackageArns", "userAttributesForFindings", + "assessmentRunCount", "createdAt" ], "members":{ @@ -1106,7 +1254,7 @@ }, "durationInSeconds":{ "shape":"AssessmentRunDuration", - "documentation":"

The duration in seconds specified for this assessment tempate. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" + "documentation":"

The duration in seconds specified for this assessment template. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).

" }, "rulesPackageArns":{ "shape":"AssessmentTemplateRulesPackageArnList", @@ -1116,6 +1264,14 @@ "shape":"UserAttributeList", "documentation":"

The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template.

" }, + "lastAssessmentRunArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the most recent assessment run associated with this assessment template. This value exists only when the value of assessmentRunCount is greaterpa than zero.

" + }, + "assessmentRunCount":{ + "shape":"ArnCount", + "documentation":"

The number of existing assessment runs associated with this assessment template. This value can be zero or a positive integer.

" + }, "createdAt":{ "shape":"Timestamp", "documentation":"

The time at which the assessment template is created.

" @@ -1185,6 +1341,14 @@ "ipv4Addresses":{ "shape":"Ipv4AddressList", "documentation":"

The list of IP v4 addresses of the EC2 instance where the finding is generated.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The tags related to the EC2 instance where the finding is generated.

" + }, + "networkInterfaces":{ + "shape":"NetworkInterfaces", + "documentation":"

An array of the network interfaces interacting with the EC2 instance where the finding is generated.

" } }, "documentation":"

A collection of attributes of the host from which the finding is generated.

" @@ -1241,13 +1405,16 @@ "max":10, "min":1 }, + "BatchDescribeExclusionsArnList":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100, + "min":1 + }, "Bool":{"type":"boolean"}, "CreateAssessmentTargetRequest":{ "type":"structure", - "required":[ - "assessmentTargetName", - "resourceGroupArn" - ], + "required":["assessmentTargetName"], "members":{ "assessmentTargetName":{ "shape":"AssessmentTargetName", @@ -1255,7 +1422,7 @@ }, "resourceGroupArn":{ "shape":"Arn", - "documentation":"

The ARN that specifies the resource group that is used to create the assessment target.

" + "documentation":"

The ARN that specifies the resource group that is used to create the assessment target. If resourceGroupArn is not specified, all EC2 instances in the current AWS account and region are included in the assessment target.

" } } }, @@ -1288,7 +1455,7 @@ }, "durationInSeconds":{ "shape":"AssessmentRunDuration", - "documentation":"

The duration of the assessment run in seconds. The default value is 3600 seconds (one hour).

" + "documentation":"

The duration of the assessment run in seconds.

" }, "rulesPackageArns":{ "shape":"AssessmentTemplateRulesPackageArnList", @@ -1296,7 +1463,7 @@ }, "userAttributesForFindings":{ "shape":"UserAttributeList", - "documentation":"

The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template.

" + "documentation":"

The user-defined attributes that are assigned to every finding that is generated by the assessment run that uses this assessment template. An attribute is a key and value pair (an Attribute object). Within an assessment template, each key must be unique.

" } } }, @@ -1310,6 +1477,26 @@ } } }, + "CreateExclusionsPreviewRequest":{ + "type":"structure", + "required":["assessmentTemplateArn"], + "members":{ + "assessmentTemplateArn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies the assessment template for which you want to create an exclusions preview.

" + } + } + }, + "CreateExclusionsPreviewResponse":{ + "type":"structure", + "required":["previewToken"], + "members":{ + "previewToken":{ + "shape":"UUID", + "documentation":"

Specifies the unique identifier of the requested exclusions preview. You can use the unique identifier to retrieve the exclusions preview when running the GetExclusionsPreview API.

" + } + } + }, "CreateResourceGroupRequest":{ "type":"structure", "required":["resourceGroupTags"], @@ -1418,10 +1605,7 @@ "type":"structure", "required":["assessmentTemplateArns"], "members":{ - "assessmentTemplateArns":{ - "shape":"BatchDescribeArnList", - "documentation":"

The ARN that specifiesthe assessment templates that you want to describe.

" - } + "assessmentTemplateArns":{"shape":"BatchDescribeArnList"} } }, "DescribeAssessmentTemplatesResponse":{ @@ -1463,6 +1647,37 @@ } } }, + "DescribeExclusionsRequest":{ + "type":"structure", + "required":["exclusionArns"], + "members":{ + "exclusionArns":{ + "shape":"BatchDescribeExclusionsArnList", + "documentation":"

The list of ARNs that specify the exclusions that you want to describe.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The locale into which you want to translate the exclusion's title, description, and recommendation.

" + } + } + }, + "DescribeExclusionsResponse":{ + "type":"structure", + "required":[ + "exclusions", + "failedItems" + ], + "members":{ + "exclusions":{ + "shape":"ExclusionMap", + "documentation":"

Information about the exclusions.

" + }, + "failedItems":{ + "shape":"FailedItems", + "documentation":"

Exclusion details that cannot be described. An error code is provided for each failed item.

" + } + } + }, "DescribeFindingsRequest":{ "type":"structure", "required":["findingArns"], @@ -1595,6 +1810,88 @@ "max":50, "min":1 }, + "Exclusion":{ + "type":"structure", + "required":[ + "arn", + "title", + "description", + "recommendation", + "scopes" + ], + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies the exclusion.

" + }, + "title":{ + "shape":"Text", + "documentation":"

The name of the exclusion.

" + }, + "description":{ + "shape":"Text", + "documentation":"

The description of the exclusion.

" + }, + "recommendation":{ + "shape":"Text", + "documentation":"

The recommendation for the exclusion.

" + }, + "scopes":{ + "shape":"ScopeList", + "documentation":"

The AWS resources for which the exclusion pertains.

" + }, + "attributes":{ + "shape":"AttributeList", + "documentation":"

The system-defined attributes for the exclusion.

" + } + }, + "documentation":"

Contains information about what was excluded from an assessment run.

" + }, + "ExclusionMap":{ + "type":"map", + "key":{"shape":"Arn"}, + "value":{"shape":"Exclusion"}, + "max":100, + "min":1 + }, + "ExclusionPreview":{ + "type":"structure", + "required":[ + "title", + "description", + "recommendation", + "scopes" + ], + "members":{ + "title":{ + "shape":"Text", + "documentation":"

The name of the exclusion preview.

" + }, + "description":{ + "shape":"Text", + "documentation":"

The description of the exclusion preview.

" + }, + "recommendation":{ + "shape":"Text", + "documentation":"

The recommendation for the exclusion preview.

" + }, + "scopes":{ + "shape":"ScopeList", + "documentation":"

The AWS resources for which the exclusion preview pertains.

" + }, + "attributes":{ + "shape":"AttributeList", + "documentation":"

The system-defined attributes for the exclusion preview.

" + } + }, + "documentation":"

Contains information about what is excluded from an assessment run given the current state of the assessment template.

" + }, + "ExclusionPreviewList":{ + "type":"list", + "member":{"shape":"ExclusionPreview"}, + "max":100, + "min":0 + }, "FailedItemDetails":{ "type":"structure", "required":[ @@ -1657,7 +1954,10 @@ "shape":"ServiceName", "documentation":"

The data element is set to \"Inspector\".

" }, - "serviceAttributes":{"shape":"InspectorServiceAttributes"}, + "serviceAttributes":{ + "shape":"InspectorServiceAttributes", + "documentation":"

This data type is used in the Finding data type.

" + }, "assetType":{ "shape":"AssetType", "documentation":"

The type of the host from which the finding is generated.

" @@ -1717,6 +2017,7 @@ }, "documentation":"

Contains information about an Amazon Inspector finding. This data type is used as the response element in the DescribeFindings action.

" }, + "FindingCount":{"type":"integer"}, "FindingFilter":{ "type":"structure", "members":{ @@ -1763,9 +2064,92 @@ "FindingList":{ "type":"list", "member":{"shape":"Finding"}, - "max":10, + "max":100, "min":0 }, + "GetAssessmentReportRequest":{ + "type":"structure", + "required":[ + "assessmentRunArn", + "reportFileFormat", + "reportType" + ], + "members":{ + "assessmentRunArn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies the assessment run for which you want to generate a report.

" + }, + "reportFileFormat":{ + "shape":"ReportFileFormat", + "documentation":"

Specifies the file format (html or pdf) of the assessment report that you want to generate.

" + }, + "reportType":{ + "shape":"ReportType", + "documentation":"

Specifies the type of the assessment report that you want to generate. There are two types of assessment reports: a finding report and a full report. For more information, see Assessment Reports.

" + } + } + }, + "GetAssessmentReportResponse":{ + "type":"structure", + "required":["status"], + "members":{ + "status":{ + "shape":"ReportStatus", + "documentation":"

Specifies the status of the request to generate an assessment report.

" + }, + "url":{ + "shape":"Url", + "documentation":"

Specifies the URL where you can find the generated assessment report. This parameter is only returned if the report is successfully generated.

" + } + } + }, + "GetExclusionsPreviewRequest":{ + "type":"structure", + "required":[ + "assessmentTemplateArn", + "previewToken" + ], + "members":{ + "assessmentTemplateArn":{ + "shape":"Arn", + "documentation":"

The ARN that specifies the assessment template for which the exclusions preview was requested.

" + }, + "previewToken":{ + "shape":"UUID", + "documentation":"

The unique identifier associated of the exclusions preview.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the GetExclusionsPreviewRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + }, + "maxResults":{ + "shape":"ListMaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The locale into which you want to translate the exclusion's title, description, and recommendation.

" + } + } + }, + "GetExclusionsPreviewResponse":{ + "type":"structure", + "required":["previewStatus"], + "members":{ + "previewStatus":{ + "shape":"PreviewStatus", + "documentation":"

Specifies the status of the request to generate an exclusions preview.

" + }, + "exclusionPreviews":{ + "shape":"ExclusionPreviewList", + "documentation":"

Information about the exclusions included in the preview.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When a response is generated, if there is more data to be listed, this parameters is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" + } + } + }, "GetTelemetryMetadataRequest":{ "type":"structure", "required":["assessmentRunArn"], @@ -1970,6 +2354,15 @@ "max":50, "min":0 }, + "Ipv6Addresses":{ + "type":"list", + "member":{"shape":"Text"} + }, + "KernelVersion":{ + "type":"string", + "max":128, + "min":1 + }, "LimitExceededErrorCode":{ "type":"string", "enum":[ @@ -2173,6 +2566,38 @@ } } }, + "ListExclusionsRequest":{ + "type":"structure", + "required":["assessmentRunArn"], + "members":{ + "assessmentRunArn":{ + "shape":"Arn", + "documentation":"

The ARN of the assessment run that generated the exclusions that you want to list.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListExclusionsRequest action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + }, + "maxResults":{ + "shape":"ListMaxResults", + "documentation":"

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 100. The maximum value is 500.

" + } + } + }, + "ListExclusionsResponse":{ + "type":"structure", + "required":["exclusionArns"], + "members":{ + "exclusionArns":{ + "shape":"ListReturnedArnList", + "documentation":"

A list of exclusions' ARNs returned by the action.

" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

When a response is generated, if there is more data to be listed, this parameters is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" + } + } + }, "ListFindingsRequest":{ "type":"structure", "members":{ @@ -2288,6 +2713,56 @@ "max":140, "min":1 }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "networkInterfaceId":{ + "shape":"Text", + "documentation":"

The ID of the network interface.

" + }, + "subnetId":{ + "shape":"Text", + "documentation":"

The ID of a subnet associated with the network interface.

" + }, + "vpcId":{ + "shape":"Text", + "documentation":"

The ID of a VPC associated with the network interface.

" + }, + "privateDnsName":{ + "shape":"Text", + "documentation":"

The name of a private DNS associated with the network interface.

" + }, + "privateIpAddress":{ + "shape":"Text", + "documentation":"

The private IP address associated with the network interface.

" + }, + "privateIpAddresses":{ + "shape":"PrivateIpAddresses", + "documentation":"

A list of the private IP addresses associated with the network interface. Includes the privateDnsName and privateIpAddress.

" + }, + "publicDnsName":{ + "shape":"Text", + "documentation":"

The name of a public DNS associated with the network interface.

" + }, + "publicIp":{ + "shape":"Text", + "documentation":"

The public IP address from which the network interface is reachable.

" + }, + "ipv6Addresses":{ + "shape":"Ipv6Addresses", + "documentation":"

The IP addresses associated with the network interface.

" + }, + "securityGroups":{ + "shape":"SecurityGroups", + "documentation":"

A list of the security groups associated with the network interface. Includes the groupId and groupName.

" + } + }, + "documentation":"

Contains information about the network interfaces interacting with an EC2 instance. This data type is used as one of the elements of the AssetAttributes data type.

" + }, + "NetworkInterfaces":{ + "type":"list", + "member":{"shape":"NetworkInterface"} + }, "NoSuchEntityErrorCode":{ "type":"string", "enum":[ @@ -2334,6 +2809,11 @@ "type":"integer", "min":0 }, + "OperatingSystem":{ + "type":"string", + "max":256, + "min":1 + }, "PaginationToken":{ "type":"string", "max":300, @@ -2372,6 +2852,40 @@ } } }, + "PreviewGenerationInProgressException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request is rejected. The specified assessment template is currently generating an exclusions preview.

", + "exception":true + }, + "PreviewStatus":{ + "type":"string", + "enum":[ + "WORK_IN_PROGRESS", + "COMPLETED" + ] + }, + "PrivateIp":{ + "type":"structure", + "members":{ + "privateDnsName":{ + "shape":"Text", + "documentation":"

The DNS name of the private IP address.

" + }, + "privateIpAddress":{ + "shape":"Text", + "documentation":"

The full IP address of the network inteface.

" + } + }, + "documentation":"

Contains information about a private IP address associated with a network interface. This data type is used as a response element in the DescribeFindings action.

" + }, + "PrivateIpAddresses":{ + "type":"list", + "member":{"shape":"PrivateIp"} + }, "ProviderName":{ "type":"string", "max":1000, @@ -2383,7 +2897,7 @@ "members":{ "roleArn":{ "shape":"Arn", - "documentation":"

The ARN of the IAM role that Amazon Inspector uses to list your EC2 instances during the assessment run or when you call the PreviewAgents action.

" + "documentation":"

The ARN of the IAM role that grants Amazon Inspector access to AWS Services needed to perform security assessments.

" } } }, @@ -2414,6 +2928,28 @@ } } }, + "ReportFileFormat":{ + "type":"string", + "enum":[ + "HTML", + "PDF" + ] + }, + "ReportStatus":{ + "type":"string", + "enum":[ + "WORK_IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, + "ReportType":{ + "type":"string", + "enum":[ + "FINDING", + "FULL" + ] + }, "ResourceGroup":{ "type":"structure", "required":[ @@ -2517,11 +3053,75 @@ "max":1000, "min":0 }, + "Scope":{ + "type":"structure", + "members":{ + "key":{ + "shape":"ScopeType", + "documentation":"

The type of the scope.

" + }, + "value":{ + "shape":"ScopeValue", + "documentation":"

The resource identifier for the specified scope type.

" + } + }, + "documentation":"

This data type contains key-value pairs that identify various Amazon resources.

" + }, + "ScopeList":{ + "type":"list", + "member":{"shape":"Scope"}, + "min":1 + }, + "ScopeType":{ + "type":"string", + "enum":[ + "INSTANCE_ID", + "RULES_PACKAGE_ARN" + ] + }, + "ScopeValue":{"type":"string"}, + "SecurityGroup":{ + "type":"structure", + "members":{ + "groupName":{ + "shape":"Text", + "documentation":"

The name of the security group.

" + }, + "groupId":{ + "shape":"Text", + "documentation":"

The ID of the security group.

" + } + }, + "documentation":"

Contains information about a security group associated with a network interface. This data type is used as one of the elements of the NetworkInterface data type.

" + }, + "SecurityGroups":{ + "type":"list", + "member":{"shape":"SecurityGroup"} + }, "ServiceName":{ "type":"string", "max":128, "min":0 }, + "ServiceTemporarilyUnavailableException":{ + "type":"structure", + "required":[ + "message", + "canRetry" + ], + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

Details of the exception error.

" + }, + "canRetry":{ + "shape":"Bool", + "documentation":"

You can wait and then retry your request.

" + } + }, + "documentation":"

The serice is temporary unavailable.

", + "exception":true + }, "SetTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -2562,7 +3162,7 @@ }, "assessmentRunName":{ "shape":"AssessmentRunName", - "documentation":"

You can specify the name for the assessment run, or you can use the auto-generated name that is based on the assessment template name. The name must be unique for the assessment template.

" + "documentation":"

You can specify the name for the assessment run. The name must be unique for the assessment template whose ARN is used to start the assessment run.

" } } }, @@ -2576,6 +3176,13 @@ } } }, + "StopAction":{ + "type":"string", + "enum":[ + "START_EVALUATION", + "SKIP_EVALUATION" + ] + }, "StopAssessmentRunRequest":{ "type":"structure", "required":["assessmentRunArn"], @@ -2583,6 +3190,10 @@ "assessmentRunArn":{ "shape":"Arn", "documentation":"

The ARN of the assessment run that you want to stop.

" + }, + "stopAction":{ + "shape":"StopAction", + "documentation":"

An input option that can be set to either START_EVALUATION or SKIP_EVALUATION. START_EVALUATION (the default value), stops the AWS agent from collecting data and begins the results evaluation and the findings generation process. SKIP_EVALUATION cancels the assessment run immediately, after which no findings are generated.

" } } }, @@ -2668,6 +3279,10 @@ "max":256, "min":1 }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, "TelemetryMetadata":{ "type":"structure", "required":[ @@ -2716,6 +3331,10 @@ }, "documentation":"

This data type is used in the AssessmentRunFilter data type.

" }, + "UUID":{ + "type":"string", + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, "UnsubscribeFromEventRequest":{ "type":"structure", "required":[ @@ -2738,12 +3357,24 @@ } } }, + "UnsupportedFeatureException":{ + "type":"structure", + "required":[ + "message", + "canRetry" + ], + "members":{ + "message":{"shape":"ErrorMessage"}, + "canRetry":{"shape":"Bool"} + }, + "documentation":"

Used by the GetAssessmentReport API. The request was rejected because you tried to generate a report for an assessment run that existed before reporting was supported in Amazon Inspector. You can only generate reports for assessment runs that took place or will take place after generating reports in Amazon Inspector became available.

", + "exception":true + }, "UpdateAssessmentTargetRequest":{ "type":"structure", "required":[ "assessmentTargetArn", - "assessmentTargetName", - "resourceGroupArn" + "assessmentTargetName" ], "members":{ "assessmentTargetArn":{ @@ -2760,6 +3391,10 @@ } } }, + "Url":{ + "type":"string", + "max":2048 + }, "UserAttributeKeyList":{ "type":"list", "member":{"shape":"AttributeKey"}, @@ -2778,5 +3413,5 @@ "min":0 } }, - "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" + "documentation":"Amazon Inspector

Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see Amazon Inspector User Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/iot/2015-05-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/examples-1.json --- python-botocore-1.4.70/botocore/data/iot/2015-05-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot/2015-05-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/iot/2015-05-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,225 @@ +{ + "pagination": { + "ListCACertificates": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "certificates" + }, + "ListCertificates": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "certificates" + }, + "ListCertificatesByCA": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "certificates" + }, + "ListOutgoingCertificates": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "outgoingCertificates" + }, + "ListPolicies": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "policies" + }, + "ListPolicyPrincipals": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "principals" + }, + "ListPrincipalPolicies": { + "input_token": "marker", + "output_token": "nextMarker", + "limit_key": "pageSize", + "result_key": "policies" + }, + "ListPrincipalThings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "things" + }, + "ListThingTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "thingTypes" + }, + "ListThings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "things" + }, + "ListTopicRules": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "rules" + }, + "ListActiveViolations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "activeViolations" + }, + "ListAttachedPolicies": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "policies" + }, + "ListAuditFindings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "findings" + }, + "ListAuditTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tasks" + }, + "ListAuthorizers": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "authorizers" + }, + "ListBillingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "billingGroups" + }, + "ListIndices": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "indexNames" + }, + "ListJobExecutionsForJob": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobExecutionsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobs" + }, + "ListOTAUpdates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "otaUpdates" + }, + "ListRoleAliases": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "roleAliases" + }, + "ListScheduledAudits": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "scheduledAudits" + }, + "ListSecurityProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileIdentifiers" + }, + "ListSecurityProfilesForTarget": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargetMappings" + }, + "ListStreams": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "streams" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "tags" + }, + "ListTargetsForPolicy": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "targets" + }, + "ListTargetsForSecurityProfile": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargets" + }, + "ListThingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingGroupsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingRegistrationTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "taskIds" + }, + "ListThingsInBillingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListThingsInThingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListV2LoggingLevels": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "logTargetConfigurations" + }, + "ListViolationEvents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "violationEvents" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot/2015-05-28/service-2.json python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/service-2.json --- python-botocore-1.4.70/botocore/data/iot/2015-05-28/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot/2015-05-28/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -3,12 +3,13 @@ "metadata":{ "apiVersion":"2015-05-28", "endpointPrefix":"iot", + "protocol":"rest-json", "serviceFullName":"AWS IoT", + "serviceId":"IoT", "signatureVersion":"v4", "signingName":"execute-api", - "protocol":"rest-json" + "uid":"iot-2015-05-28" }, - "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected things (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each thing (Thing Registry), configure logging, and create and manage policies and credentials to authenticate things.

For more information about how AWS IoT works, see the Developer Guide.

", "operations":{ "AcceptCertificateTransfer":{ "name":"AcceptCertificateTransfer", @@ -16,4369 +17,13587 @@ "method":"PATCH", "requestUri":"/accept-certificate-transfer/{certificateId}" }, - "input":{ - "shape":"AcceptCertificateTransferRequest", - "documentation":"

The input for the AcceptCertificateTransfer operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AcceptCertificateTransferRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], "documentation":"

Accepts a pending certificate transfer. The default state of the certificate is INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

" }, - "AttachPrincipalPolicy":{ - "name":"AttachPrincipalPolicy", + "AddThingToBillingGroup":{ + "name":"AddThingToBillingGroup", "http":{ "method":"PUT", - "requestUri":"/principal-policies/{policyName}" + "requestUri":"/billing-groups/addThingToBillingGroup" }, - "input":{ - "shape":"AttachPrincipalPolicyRequest", - "documentation":"

The input for the AttachPrincipalPolicy operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" - } + "input":{"shape":"AddThingToBillingGroupRequest"}, + "output":{"shape":"AddThingToBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Attaches the specified policy to the specified principal (certificate or other credential).

" + "documentation":"

Adds a thing to a billing group.

" }, - "AttachThingPrincipal":{ - "name":"AttachThingPrincipal", + "AddThingToThingGroup":{ + "name":"AddThingToThingGroup", "http":{ "method":"PUT", - "requestUri":"/things/{thingName}/principals" + "requestUri":"/thing-groups/addThingToThingGroup" }, - "input":{ - "shape":"AttachThingPrincipalRequest", - "documentation":"

The input for the AttachThingPrincipal operation.

" - }, - "output":{ - "shape":"AttachThingPrincipalResponse", - "documentation":"

The output from the AttachThingPrincipal operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AddThingToThingGroupRequest"}, + "output":{"shape":"AddThingToThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Attaches the specified principal to the specified thing.

" + "documentation":"

Adds a thing to a thing group.

" }, - "CancelCertificateTransfer":{ - "name":"CancelCertificateTransfer", + "AssociateTargetsWithJob":{ + "name":"AssociateTargetsWithJob", "http":{ - "method":"PATCH", - "requestUri":"/cancel-certificate-transfer/{certificateId}" + "method":"POST", + "requestUri":"/jobs/{jobId}/targets" }, - "input":{ - "shape":"CancelCertificateTransferRequest", - "documentation":"

The input for the CancelCertificateTransfer operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AssociateTargetsWithJobRequest"}, + "output":{"shape":"AssociateTargetsWithJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Cancels a pending transfer for the specified certificate.

Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.

" + "documentation":"

Associates a group with a continuous job. The following criteria must be met:

  • The job must have been created with the targetSelection field set to \"CONTINUOUS\".

  • The job status must currently be \"IN_PROGRESS\".

  • The total number of targets associated with a job must not exceed 100.

" }, - "CreateCertificateFromCsr":{ - "name":"CreateCertificateFromCsr", + "AttachPolicy":{ + "name":"AttachPolicy", "http":{ - "method":"POST", - "requestUri":"/certificates" + "method":"PUT", + "requestUri":"/target-policies/{policyName}" }, - "input":{ - "shape":"CreateCertificateFromCsrRequest", - "documentation":"

The input for the CreateCertificateFromCsr operation.

" - }, - "output":{ - "shape":"CreateCertificateFromCsrResponse", - "documentation":"

The output from the CreateCertificateFromCsr operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AttachPolicyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Creates an X.509 certificate using the specified certificate signing request.

Note Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

" + "documentation":"

Attaches a policy to the specified target.

" }, - "CreateKeysAndCertificate":{ - "name":"CreateKeysAndCertificate", + "AttachPrincipalPolicy":{ + "name":"AttachPrincipalPolicy", "http":{ - "method":"POST", - "requestUri":"/keys-and-certificate" + "method":"PUT", + "requestUri":"/principal-policies/{policyName}" }, - "input":{ - "shape":"CreateKeysAndCertificateRequest", - "documentation":"

The input for the CreateKeysAndCertificate operation.

" - }, - "output":{ - "shape":"CreateKeysAndCertificateResponse", - "documentation":"

The output of the CreateKeysAndCertificate operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AttachPrincipalPolicyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

" + "documentation":"

Attaches the specified policy to the specified principal (certificate or other credential).

Note: This API is deprecated. Please use AttachPolicy instead.

", + "deprecated":true }, - "CreatePolicy":{ - "name":"CreatePolicy", + "AttachSecurityProfile":{ + "name":"AttachSecurityProfile", "http":{ - "method":"POST", - "requestUri":"/policies/{policyName}" + "method":"PUT", + "requestUri":"/security-profiles/{securityProfileName}/targets" }, - "input":{ - "shape":"CreatePolicyRequest", - "documentation":"

The input for the CreatePolicy operation.

" - }, - "output":{ - "shape":"CreatePolicyResponse", - "documentation":"

The output from the CreatePolicy operation.

" - }, - "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"MalformedPolicyException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AttachSecurityProfileRequest"}, + "output":{"shape":"AttachSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates an AWS IoT policy.

The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.

" + "documentation":"

Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.

" }, - "CreatePolicyVersion":{ - "name":"CreatePolicyVersion", + "AttachThingPrincipal":{ + "name":"AttachThingPrincipal", "http":{ - "method":"POST", - "requestUri":"/policies/{policyName}/version" + "method":"PUT", + "requestUri":"/things/{thingName}/principals" }, - "input":{ - "shape":"CreatePolicyVersionRequest", - "documentation":"

The input for the CreatePolicyVersion operation.

" - }, - "output":{ - "shape":"CreatePolicyVersionResponse", - "documentation":"

The output of the CreatePolicyVersion operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"MalformedPolicyException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" - }, - { - "shape":"VersionsLimitExceededException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The number of policy versions exceeds the limit.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"AttachThingPrincipalRequest"}, + "output":{"shape":"AttachThingPrincipalResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one.

Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" + "documentation":"

Attaches the specified principal to the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" }, - "CreateThing":{ - "name":"CreateThing", + "CancelAuditMitigationActionsTask":{ + "name":"CancelAuditMitigationActionsTask", "http":{ - "method":"POST", - "requestUri":"/things/{thingName}" + "method":"PUT", + "requestUri":"/audit/mitigationactions/tasks/{taskId}/cancel" }, - "input":{ - "shape":"CreateThingRequest", - "documentation":"

The input for the CreateThing operation.

" - }, - "output":{ - "shape":"CreateThingResponse", - "documentation":"

The output of the CreateThing operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"CancelAuditMitigationActionsTaskRequest"}, + "output":{"shape":"CancelAuditMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates a thing record in the thing registry.

" + "documentation":"

Cancels a mitigation action task that is in progress. If the task is not in progress, an InvalidRequestException occurs.

" }, - "CreateThingType":{ - "name":"CreateThingType", + "CancelAuditTask":{ + "name":"CancelAuditTask", "http":{ - "method":"POST", - "requestUri":"/thing-types/{thingTypeName}" + "method":"PUT", + "requestUri":"/audit/tasks/{taskId}/cancel" }, - "input":{ - "shape":"CreateThingTypeRequest", - "documentation":"

The input for the CreateThingType operation.

" - }, - "output":{ - "shape":"CreateThingTypeResponse", - "documentation":"

The output of the CreateThingType operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - } + "input":{"shape":"CancelAuditTaskRequest"}, + "output":{"shape":"CancelAuditTaskResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates a new thing type.

" + "documentation":"

Cancels an audit that is in progress. The audit can be either scheduled or on-demand. If the audit is not in progress, an \"InvalidRequestException\" occurs.

" }, - "CreateTopicRule":{ - "name":"CreateTopicRule", + "CancelCertificateTransfer":{ + "name":"CancelCertificateTransfer", "http":{ - "method":"POST", - "requestUri":"/rules/{ruleName}" + "method":"PATCH", + "requestUri":"/cancel-certificate-transfer/{certificateId}" }, - "input":{ - "shape":"CreateTopicRuleRequest", - "documentation":"

The input for the CreateTopicRule operation.

" - }, - "errors":[ - { - "shape":"SqlParseException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" - }, - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + "input":{"shape":"CancelCertificateTransferRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" + "documentation":"

Cancels a pending transfer for the specified certificate.

Note Only the transfer source account can use this operation to cancel a transfer. (Transfer destinations can use RejectCertificateTransfer instead.) After transfer, AWS IoT returns the certificate to the source account in the INACTIVE state. After the destination account has accepted the transfer, the transfer cannot be cancelled.

After a certificate transfer is cancelled, the status of the certificate changes from PENDING_TRANSFER to INACTIVE.

" }, - "DeleteCACertificate":{ - "name":"DeleteCACertificate", + "CancelJob":{ + "name":"CancelJob", "http":{ - "method":"DELETE", - "requestUri":"/cacertificate/{caCertificateId}" + "method":"PUT", + "requestUri":"/jobs/{jobId}/cancel" }, - "input":{ - "shape":"DeleteCACertificateRequest", - "documentation":"

Input for the DeleteCACertificate operation.

" - }, - "output":{ - "shape":"DeleteCACertificateResponse", - "documentation":"

The output for the DeleteCACertificate operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"CancelJobRequest"}, + "output":{"shape":"CancelJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes a registered CA certificate.

" + "documentation":"

Cancels a job.

" }, - "DeleteCertificate":{ - "name":"DeleteCertificate", + "CancelJobExecution":{ + "name":"CancelJobExecution", "http":{ - "method":"DELETE", - "requestUri":"/certificates/{certificateId}" + "method":"PUT", + "requestUri":"/things/{thingName}/jobs/{jobId}/cancel" }, - "input":{ - "shape":"DeleteCertificateRequest", - "documentation":"

The input for the DeleteCertificate operation.

" - }, - "errors":[ - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"CancelJobExecutionRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"VersionConflictException"} ], - "documentation":"

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

" + "documentation":"

Cancels the execution of a job for a given thing.

" }, - "DeletePolicy":{ - "name":"DeletePolicy", + "ClearDefaultAuthorizer":{ + "name":"ClearDefaultAuthorizer", "http":{ "method":"DELETE", - "requestUri":"/policies/{policyName}" + "requestUri":"/default-authorizer" }, - "input":{ - "shape":"DeletePolicyRequest", - "documentation":"

The input for the DeletePolicy operation.

" - }, - "errors":[ - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"ClearDefaultAuthorizerRequest"}, + "output":{"shape":"ClearDefaultAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Deletes the specified policy.

A policy cannot be deleted if it has non-default versions or it is attached to any certificate.

To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

" + "documentation":"

Clears the default authorizer.

" }, - "DeletePolicyVersion":{ - "name":"DeletePolicyVersion", + "ConfirmTopicRuleDestination":{ + "name":"ConfirmTopicRuleDestination", "http":{ - "method":"DELETE", - "requestUri":"/policies/{policyName}/version/{policyVersionId}" + "method":"GET", + "requestUri":"/confirmdestination/{confirmationToken+}" }, - "input":{ - "shape":"DeletePolicyVersionRequest", - "documentation":"

The input for the DeletePolicyVersion operation.

" - }, - "errors":[ - { - "shape":"DeleteConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"ConfirmTopicRuleDestinationRequest"}, + "output":{"shape":"ConfirmTopicRuleDestinationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} ], - "documentation":"

Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

" + "documentation":"

Confirms a topic rule destination. When you create a rule requiring a destination, AWS IoT sends a confirmation message to the endpoint or base address you specify. The message includes a token which you pass back when calling ConfirmTopicRuleDestination to confirm that you own or have access to the endpoint.

" }, - "DeleteRegistrationCode":{ - "name":"DeleteRegistrationCode", + "CreateAuthorizer":{ + "name":"CreateAuthorizer", "http":{ - "method":"DELETE", - "requestUri":"/registrationcode" + "method":"POST", + "requestUri":"/authorizer/{authorizerName}" }, - "input":{ - "shape":"DeleteRegistrationCodeRequest", - "documentation":"

The input for the DeleteRegistrationCode operation.

" - }, - "output":{ - "shape":"DeleteRegistrationCodeResponse", - "documentation":"

The output for the DeleteRegistrationCode operation.

" - }, - "errors":[ - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateAuthorizerRequest"}, + "output":{"shape":"CreateAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Deletes a CA certificate registration code.

" + "documentation":"

Creates an authorizer.

" }, - "DeleteThing":{ - "name":"DeleteThing", + "CreateBillingGroup":{ + "name":"CreateBillingGroup", "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}" + "method":"POST", + "requestUri":"/billing-groups/{billingGroupName}" }, - "input":{ - "shape":"DeleteThingRequest", - "documentation":"

The input for the DeleteThing operation.

" - }, - "output":{ - "shape":"DeleteThingResponse", - "documentation":"

The output of the DeleteThing operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"VersionConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateBillingGroupRequest"}, + "output":{"shape":"CreateBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Deletes the specified thing.

" + "documentation":"

Creates a billing group.

" }, - "DeleteThingType":{ - "name":"DeleteThingType", + "CreateCertificateFromCsr":{ + "name":"CreateCertificateFromCsr", "http":{ - "method":"DELETE", - "requestUri":"/thing-types/{thingTypeName}" + "method":"POST", + "requestUri":"/certificates" }, - "input":{ - "shape":"DeleteThingTypeRequest", - "documentation":"

The input for the DeleteThingType operation.

" - }, - "output":{ - "shape":"DeleteThingTypeResponse", - "documentation":"

The output for the DeleteThingType operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateCertificateFromCsrRequest"}, + "output":{"shape":"CreateCertificateFromCsrResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Deletes the specified thing type . You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.

" + "documentation":"

Creates an X.509 certificate using the specified certificate signing request.

Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves.

Note: Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

" }, - "DeleteTopicRule":{ - "name":"DeleteTopicRule", + "CreateDimension":{ + "name":"CreateDimension", "http":{ - "method":"DELETE", - "requestUri":"/rules/{ruleName}" + "method":"POST", + "requestUri":"/dimensions/{name}" }, - "input":{ - "shape":"DeleteTopicRuleRequest", - "documentation":"

The input for the DeleteTopicRule operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + "input":{"shape":"CreateDimensionRequest"}, + "output":{"shape":"CreateDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"} ], - "documentation":"

Deletes the specified rule.

" + "documentation":"

Create a dimension that you can use to limit the scope of a metric used in a security profile for AWS IoT Device Defender. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

" }, - "DeprecateThingType":{ - "name":"DeprecateThingType", + "CreateDomainConfiguration":{ + "name":"CreateDomainConfiguration", "http":{ "method":"POST", - "requestUri":"/thing-types/{thingTypeName}/deprecate" + "requestUri":"/domainConfigurations/{domainConfigurationName}" }, - "input":{ - "shape":"DeprecateThingTypeRequest", - "documentation":"

The input for the DeprecateThingType operation.

" - }, - "output":{ - "shape":"DeprecateThingTypeResponse", - "documentation":"

The output for the DeprecateThingType operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateDomainConfigurationRequest"}, + "output":{"shape":"CreateDomainConfigurationResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"CertificateValidationException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} ], - "documentation":"

Deprecates a thing type. You can not associate new things with deprecated thing type.

" + "documentation":"

Creates a domain configuration.

The domain configuration feature is in public preview and is subject to change.

" }, - "DescribeCACertificate":{ - "name":"DescribeCACertificate", + "CreateDynamicThingGroup":{ + "name":"CreateDynamicThingGroup", "http":{ - "method":"GET", - "requestUri":"/cacertificate/{caCertificateId}" + "method":"POST", + "requestUri":"/dynamic-thing-groups/{thingGroupName}" }, - "input":{ - "shape":"DescribeCACertificateRequest", - "documentation":"

The input for the DescribeCACertificate operation.

" - }, - "output":{ - "shape":"DescribeCACertificateResponse", - "documentation":"

The output from the DescribeCACertificate operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"CreateDynamicThingGroupRequest"}, + "output":{"shape":"CreateDynamicThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidQueryException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Describes a registered CA certificate.

" + "documentation":"

Creates a dynamic thing group.

" }, - "DescribeCertificate":{ - "name":"DescribeCertificate", + "CreateJob":{ + "name":"CreateJob", "http":{ - "method":"GET", - "requestUri":"/certificates/{certificateId}" + "method":"PUT", + "requestUri":"/jobs/{jobId}" }, - "input":{ - "shape":"DescribeCertificateRequest", - "documentation":"

The input for the DescribeCertificate operation.

" - }, - "output":{ - "shape":"DescribeCertificateResponse", - "documentation":"

The output of the DescribeCertificate operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"CreateJobRequest"}, + "output":{"shape":"CreateJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Gets information about the specified certificate.

" + "documentation":"

Creates a job.

" }, - "DescribeEndpoint":{ - "name":"DescribeEndpoint", + "CreateKeysAndCertificate":{ + "name":"CreateKeysAndCertificate", "http":{ - "method":"GET", - "requestUri":"/endpoint" + "method":"POST", + "requestUri":"/keys-and-certificate" }, - "input":{ - "shape":"DescribeEndpointRequest", - "documentation":"

The input for the DescribeEndpoint operation.

" - }, - "output":{ - "shape":"DescribeEndpointResponse", - "documentation":"

The output from the DescribeEndpoint operation.

" - }, - "errors":[ - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - } + "input":{"shape":"CreateKeysAndCertificateRequest"}, + "output":{"shape":"CreateKeysAndCertificateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Returns a unique endpoint specific to the AWS account making the call.

" + "documentation":"

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call CreateKeysAndCertificate over MQTT from a device, for more information, see Provisioning MQTT API.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

" }, - "DescribeThing":{ - "name":"DescribeThing", + "CreateMitigationAction":{ + "name":"CreateMitigationAction", "http":{ - "method":"GET", - "requestUri":"/things/{thingName}" + "method":"POST", + "requestUri":"/mitigationactions/actions/{actionName}" }, - "input":{ - "shape":"DescribeThingRequest", - "documentation":"

The input for the DescribeThing operation.

" - }, - "output":{ - "shape":"DescribeThingResponse", - "documentation":"

The output from the DescribeThing operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateMitigationActionRequest"}, + "output":{"shape":"CreateMitigationActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Gets information about the specified thing.

" + "documentation":"

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Each mitigation action can apply only one type of change.

" }, - "DescribeThingType":{ - "name":"DescribeThingType", + "CreateOTAUpdate":{ + "name":"CreateOTAUpdate", "http":{ - "method":"GET", - "requestUri":"/thing-types/{thingTypeName}" + "method":"POST", + "requestUri":"/otaUpdates/{otaUpdateId}" }, - "input":{ - "shape":"DescribeThingTypeRequest", - "documentation":"

The input for the DescribeThingType operation.

" - }, - "output":{ - "shape":"DescribeThingTypeResponse", - "documentation":"

The output for the DescribeThingType operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateOTAUpdateRequest"}, + "output":{"shape":"CreateOTAUpdateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Gets information about the specified thing type.

" + "documentation":"

Creates an AWS IoT OTAUpdate on a target group of things or groups.

" }, - "DetachPrincipalPolicy":{ - "name":"DetachPrincipalPolicy", + "CreatePolicy":{ + "name":"CreatePolicy", "http":{ - "method":"DELETE", - "requestUri":"/principal-policies/{policyName}" + "method":"POST", + "requestUri":"/policies/{policyName}" }, - "input":{ - "shape":"DetachPrincipalPolicyRequest", - "documentation":"

The input for the DetachPrincipalPolicy operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreatePolicyRequest"}, + "output":{"shape":"CreatePolicyResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"MalformedPolicyException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Removes the specified policy from the specified certificate.

" + "documentation":"

Creates an AWS IoT policy.

The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.

" }, - "DetachThingPrincipal":{ - "name":"DetachThingPrincipal", + "CreatePolicyVersion":{ + "name":"CreatePolicyVersion", "http":{ - "method":"DELETE", - "requestUri":"/things/{thingName}/principals" + "method":"POST", + "requestUri":"/policies/{policyName}/version" }, - "input":{ - "shape":"DetachThingPrincipalRequest", - "documentation":"

The input for the DetachThingPrincipal operation.

" - }, - "output":{ - "shape":"DetachThingPrincipalResponse", - "documentation":"

The output from the DetachThingPrincipal operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreatePolicyVersionRequest"}, + "output":{"shape":"CreatePolicyVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"MalformedPolicyException"}, + {"shape":"VersionsLimitExceededException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Detaches the specified principal from the specified thing.

" + "documentation":"

Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one.

Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" }, - "DisableTopicRule":{ - "name":"DisableTopicRule", + "CreateProvisioningClaim":{ + "name":"CreateProvisioningClaim", "http":{ "method":"POST", - "requestUri":"/rules/{ruleName}/disable" + "requestUri":"/provisioning-templates/{templateName}/provisioning-claim" }, - "input":{ - "shape":"DisableTopicRuleRequest", - "documentation":"

The input for the DisableTopicRuleRequest operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + "input":{"shape":"CreateProvisioningClaimRequest"}, + "output":{"shape":"CreateProvisioningClaimResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Disables the specified rule.

" + "documentation":"

Creates a provisioning claim.

" }, - "EnableTopicRule":{ - "name":"EnableTopicRule", + "CreateProvisioningTemplate":{ + "name":"CreateProvisioningTemplate", "http":{ "method":"POST", - "requestUri":"/rules/{ruleName}/enable" + "requestUri":"/provisioning-templates" }, - "input":{ - "shape":"EnableTopicRuleRequest", - "documentation":"

The input for the EnableTopicRuleRequest operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + "input":{"shape":"CreateProvisioningTemplateRequest"}, + "output":{"shape":"CreateProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

Enables the specified rule.

" + "documentation":"

Creates a fleet provisioning template.

" }, - "GetLoggingOptions":{ - "name":"GetLoggingOptions", + "CreateProvisioningTemplateVersion":{ + "name":"CreateProvisioningTemplateVersion", "http":{ - "method":"GET", - "requestUri":"/loggingOptions" + "method":"POST", + "requestUri":"/provisioning-templates/{templateName}/versions" }, - "input":{ - "shape":"GetLoggingOptionsRequest", - "documentation":"

The input for the GetLoggingOptions operation.

" - }, - "output":{ - "shape":"GetLoggingOptionsResponse", - "documentation":"

The output from the GetLoggingOptions operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + "input":{"shape":"CreateProvisioningTemplateVersionRequest"}, + "output":{"shape":"CreateProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"VersionsLimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} ], - "documentation":"

Gets the logging options.

" + "documentation":"

Creates a new version of a fleet provisioning template.

" }, - "GetPolicy":{ - "name":"GetPolicy", + "CreateRoleAlias":{ + "name":"CreateRoleAlias", "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}" + "method":"POST", + "requestUri":"/role-aliases/{roleAlias}" }, - "input":{ - "shape":"GetPolicyRequest", - "documentation":"

The input for the GetPolicy operation.

" - }, - "output":{ - "shape":"GetPolicyResponse", - "documentation":"

The output from the GetPolicy operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateRoleAliasRequest"}, + "output":{"shape":"CreateRoleAliasResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Gets information about the specified policy with the policy document of the default version.

" + "documentation":"

Creates a role alias.

" }, - "GetPolicyVersion":{ - "name":"GetPolicyVersion", + "CreateScheduledAudit":{ + "name":"CreateScheduledAudit", "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}/version/{policyVersionId}" + "method":"POST", + "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" }, - "input":{ - "shape":"GetPolicyVersionRequest", - "documentation":"

The input for the GetPolicyVersion operation.

" - }, - "output":{ - "shape":"GetPolicyVersionResponse", - "documentation":"

The output from the GetPolicyVersion operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateScheduledAuditRequest"}, + "output":{"shape":"CreateScheduledAuditResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

Gets information about the specified policy version.

" + "documentation":"

Creates a scheduled audit that is run at a specified time interval.

" }, - "GetRegistrationCode":{ - "name":"GetRegistrationCode", + "CreateSecurityProfile":{ + "name":"CreateSecurityProfile", "http":{ - "method":"GET", - "requestUri":"/registrationcode" + "method":"POST", + "requestUri":"/security-profiles/{securityProfileName}" }, - "input":{ - "shape":"GetRegistrationCodeRequest", - "documentation":"

The input to the GetRegistrationCode operation.

" - }, - "output":{ - "shape":"GetRegistrationCodeResponse", - "documentation":"

The output from the GetRegistrationCode operation.

" - }, - "errors":[ - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - } + "input":{"shape":"CreateSecurityProfileRequest"}, + "output":{"shape":"CreateSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Gets a registration code used to register a CA certificate with AWS IoT.

" + "documentation":"

Creates a Device Defender security profile.

" }, - "GetTopicRule":{ - "name":"GetTopicRule", + "CreateStream":{ + "name":"CreateStream", "http":{ - "method":"GET", - "requestUri":"/rules/{ruleName}" + "method":"POST", + "requestUri":"/streams/{streamId}" }, - "input":{ - "shape":"GetTopicRuleRequest", - "documentation":"

The input for the GetTopicRule operation.

" - }, - "output":{ - "shape":"GetTopicRuleResponse", - "documentation":"

The output from the GetTopicRule operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + "input":{"shape":"CreateStreamRequest"}, + "output":{"shape":"CreateStreamResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Gets information about the specified rule.

" + "documentation":"

Creates a stream for delivering one or more large files in chunks over MQTT. A stream transports data bytes in chunks or blocks packaged as MQTT messages from a source like S3. You can have one or more files associated with a stream.

" }, - "ListCACertificates":{ - "name":"ListCACertificates", + "CreateThing":{ + "name":"CreateThing", "http":{ - "method":"GET", - "requestUri":"/cacertificates" + "method":"POST", + "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"ListCACertificatesRequest", - "documentation":"

Input for the ListCACertificates operation.

" - }, - "output":{ - "shape":"ListCACertificatesResponse", - "documentation":"

The output from the ListCACertificates operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateThingRequest"}, + "output":{"shape":"CreateThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" + "documentation":"

Creates a thing record in the registry. If this call is made multiple times using the same thing name and configuration, the call will succeed. If this call is made with the same thing name but different configuration a ResourceAlreadyExistsException is thrown.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" }, - "ListCertificates":{ - "name":"ListCertificates", + "CreateThingGroup":{ + "name":"CreateThingGroup", "http":{ - "method":"GET", - "requestUri":"/certificates" + "method":"POST", + "requestUri":"/thing-groups/{thingGroupName}" }, - "input":{ - "shape":"ListCertificatesRequest", - "documentation":"

The input for the ListCertificates operation.

" - }, - "output":{ - "shape":"ListCertificatesResponse", - "documentation":"

The output of the ListCertificates operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateThingGroupRequest"}, + "output":{"shape":"CreateThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" + "documentation":"

Create a thing group.

This is a control plane operation. See Authorization for information about authorizing control plane actions.

" }, - "ListCertificatesByCA":{ - "name":"ListCertificatesByCA", + "CreateThingType":{ + "name":"CreateThingType", "http":{ - "method":"GET", - "requestUri":"/certificates-by-ca/{caCertificateId}" + "method":"POST", + "requestUri":"/thing-types/{thingTypeName}" }, - "input":{ - "shape":"ListCertificatesByCARequest", - "documentation":"

The input to the ListCertificatesByCA operation.

" - }, - "output":{ - "shape":"ListCertificatesByCAResponse", - "documentation":"

The output of the ListCertificatesByCA operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateThingTypeRequest"}, + "output":{"shape":"CreateThingTypeResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

List the device certificates signed by the specified CA certificate.

" + "documentation":"

Creates a new thing type.

" }, - "ListOutgoingCertificates":{ - "name":"ListOutgoingCertificates", + "CreateTopicRule":{ + "name":"CreateTopicRule", "http":{ - "method":"GET", - "requestUri":"/certificates-out-going" + "method":"POST", + "requestUri":"/rules/{ruleName}" }, - "input":{ - "shape":"ListOutgoingCertificatesRequest", - "documentation":"

The input to the ListOutgoingCertificates operation.

" - }, - "output":{ - "shape":"ListOutgoingCertificatesResponse", - "documentation":"

The output from the ListOutgoingCertificates operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateTopicRuleRequest"}, + "errors":[ + {"shape":"SqlParseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ConflictingResourceUpdateException"} ], - "documentation":"

Lists certificates that are being transfered but not yet accepted.

" + "documentation":"

Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" }, - "ListPolicies":{ - "name":"ListPolicies", + "CreateTopicRuleDestination":{ + "name":"CreateTopicRuleDestination", "http":{ - "method":"GET", - "requestUri":"/policies" + "method":"POST", + "requestUri":"/destinations" }, - "input":{ - "shape":"ListPoliciesRequest", - "documentation":"

The input for the ListPolicies operation.

" - }, - "output":{ - "shape":"ListPoliciesResponse", - "documentation":"

The output from the ListPolicies operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"CreateTopicRuleDestinationRequest"}, + "output":{"shape":"CreateTopicRuleDestinationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ConflictingResourceUpdateException"} ], - "documentation":"

Lists your policies.

" + "documentation":"

Creates a topic rule destination. The destination must be confirmed prior to use.

" }, - "ListPolicyPrincipals":{ - "name":"ListPolicyPrincipals", + "DeleteAccountAuditConfiguration":{ + "name":"DeleteAccountAuditConfiguration", "http":{ - "method":"GET", - "requestUri":"/policy-principals" + "method":"DELETE", + "requestUri":"/audit/configuration" }, - "input":{ - "shape":"ListPolicyPrincipalsRequest", - "documentation":"

The input for the ListPolicyPrincipals operation.

" - }, - "output":{ - "shape":"ListPolicyPrincipalsResponse", - "documentation":"

The output from the ListPolicyPrincipals operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteAccountAuditConfigurationRequest"}, + "output":{"shape":"DeleteAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Lists the principals associated with the specified policy.

" + "documentation":"

Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled.

" }, - "ListPolicyVersions":{ - "name":"ListPolicyVersions", + "DeleteAuthorizer":{ + "name":"DeleteAuthorizer", "http":{ - "method":"GET", - "requestUri":"/policies/{policyName}/version" + "method":"DELETE", + "requestUri":"/authorizer/{authorizerName}" }, - "input":{ - "shape":"ListPolicyVersionsRequest", - "documentation":"

The input for the ListPolicyVersions operation.

" - }, - "output":{ - "shape":"ListPolicyVersionsResponse", - "documentation":"

The output from the ListPolicyVersions operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteAuthorizerRequest"}, + "output":{"shape":"DeleteAuthorizerResponse"}, + "errors":[ + {"shape":"DeleteConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Lists the versions of the specified policy and identifies the default version.

" + "documentation":"

Deletes an authorizer.

" }, - "ListPrincipalPolicies":{ - "name":"ListPrincipalPolicies", + "DeleteBillingGroup":{ + "name":"DeleteBillingGroup", "http":{ - "method":"GET", - "requestUri":"/principal-policies" + "method":"DELETE", + "requestUri":"/billing-groups/{billingGroupName}" }, - "input":{ - "shape":"ListPrincipalPoliciesRequest", - "documentation":"

The input for the ListPrincipalPolicies operation.

" - }, - "output":{ - "shape":"ListPrincipalPoliciesResponse", - "documentation":"

The output from the ListPrincipalPolicies operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteBillingGroupRequest"}, + "output":{"shape":"DeleteBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

" + "documentation":"

Deletes the billing group.

" }, - "ListPrincipalThings":{ - "name":"ListPrincipalThings", + "DeleteCACertificate":{ + "name":"DeleteCACertificate", "http":{ - "method":"GET", - "requestUri":"/principals/things" + "method":"DELETE", + "requestUri":"/cacertificate/{caCertificateId}" }, - "input":{ - "shape":"ListPrincipalThingsRequest", - "documentation":"

The input for the ListPrincipalThings operation.

" - }, - "output":{ - "shape":"ListPrincipalThingsResponse", - "documentation":"

The output from the ListPrincipalThings operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"DeleteCACertificateRequest"}, + "output":{"shape":"DeleteCACertificateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"CertificateStateException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the things associated with the specified principal.

" + "documentation":"

Deletes a registered CA certificate.

" }, - "ListThingPrincipals":{ - "name":"ListThingPrincipals", + "DeleteCertificate":{ + "name":"DeleteCertificate", "http":{ - "method":"GET", - "requestUri":"/things/{thingName}/principals" + "method":"DELETE", + "requestUri":"/certificates/{certificateId}" }, - "input":{ - "shape":"ListThingPrincipalsRequest", - "documentation":"

The input for the ListThingPrincipal operation.

" - }, - "output":{ - "shape":"ListThingPrincipalsResponse", - "documentation":"

The output from the ListThingPrincipals operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"DeleteCertificateRequest"}, + "errors":[ + {"shape":"CertificateStateException"}, + {"shape":"DeleteConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Lists the principals associated with the specified thing.

" + "documentation":"

Deletes the specified certificate.

A certificate cannot be deleted if it has a policy or IoT thing attached to it or if its status is set to ACTIVE. To delete a certificate, first use the DetachPrincipalPolicy API to detach all policies. Next, use the UpdateCertificate API to set the certificate to the INACTIVE status.

" }, - "ListThingTypes":{ - "name":"ListThingTypes", + "DeleteDimension":{ + "name":"DeleteDimension", "http":{ - "method":"GET", - "requestUri":"/thing-types" + "method":"DELETE", + "requestUri":"/dimensions/{name}" }, - "input":{ - "shape":"ListThingTypesRequest", - "documentation":"

The input for the ListThingTypes operation.

" - }, - "output":{ - "shape":"ListThingTypesResponse", - "documentation":"

The output for the ListThingTypes operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteDimensionRequest"}, + "output":{"shape":"DeleteDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"} ], - "documentation":"

Lists the existing thing types.

" + "documentation":"

Removes the specified dimension from your AWS account.

" }, - "ListThings":{ - "name":"ListThings", + "DeleteDomainConfiguration":{ + "name":"DeleteDomainConfiguration", "http":{ - "method":"GET", - "requestUri":"/things" + "method":"DELETE", + "requestUri":"/domainConfigurations/{domainConfigurationName}" }, - "input":{ - "shape":"ListThingsRequest", - "documentation":"

The input for the ListThings operation.

" - }, - "output":{ - "shape":"ListThingsResponse", - "documentation":"

The output from the ListThings operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteDomainConfigurationRequest"}, + "output":{"shape":"DeleteDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} ], - "documentation":"

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

" + "documentation":"

Deletes the specified domain configuration.

The domain configuration feature is in public preview and is subject to change.

" }, - "ListTopicRules":{ - "name":"ListTopicRules", + "DeleteDynamicThingGroup":{ + "name":"DeleteDynamicThingGroup", "http":{ - "method":"GET", - "requestUri":"/rules" + "method":"DELETE", + "requestUri":"/dynamic-thing-groups/{thingGroupName}" }, - "input":{ - "shape":"ListTopicRulesRequest", - "documentation":"

The input for the ListTopicRules operation.

" - }, - "output":{ - "shape":"ListTopicRulesResponse", - "documentation":"

The output from the ListTopicRules operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + "input":{"shape":"DeleteDynamicThingGroupRequest"}, + "output":{"shape":"DeleteDynamicThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Lists the rules for the specific topic.

" + "documentation":"

Deletes a dynamic thing group.

" }, - "RegisterCACertificate":{ - "name":"RegisterCACertificate", + "DeleteJob":{ + "name":"DeleteJob", "http":{ - "method":"POST", - "requestUri":"/cacertificate" + "method":"DELETE", + "requestUri":"/jobs/{jobId}" }, - "input":{ - "shape":"RegisterCACertificateRequest", - "documentation":"

The input to the RegisterCACertificate operation.

" - }, - "output":{ - "shape":"RegisterCACertificateResponse", - "documentation":"

The output from the RegisterCACertificateResponse operation.

" - }, - "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"RegistrationCodeValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The registration code is invalid.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"LimitExceededException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteJobRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field and public key. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

" + "documentation":"

Deletes a job and its related job executions.

Deleting a job may take time, depending on the number of job executions created for the job and various other factors. While the job is being deleted, the status of the job will be shown as \"DELETION_IN_PROGRESS\". Attempting to delete or cancel a job whose status is already \"DELETION_IN_PROGRESS\" will result in an error.

Only 10 jobs may have status \"DELETION_IN_PROGRESS\" at the same time, or a LimitExceededException will occur.

" }, - "RegisterCertificate":{ - "name":"RegisterCertificate", + "DeleteJobExecution":{ + "name":"DeleteJobExecution", "http":{ - "method":"POST", - "requestUri":"/certificate/register" + "method":"DELETE", + "requestUri":"/things/{thingName}/jobs/{jobId}/executionNumber/{executionNumber}" }, - "input":{ - "shape":"RegisterCertificateRequest", - "documentation":"

The input to the RegisterCertificate operation.

" - }, - "output":{ - "shape":"RegisterCertificateResponse", - "documentation":"

The output from the RegisterCertificate operation.

" - }, - "errors":[ - { - "shape":"ResourceAlreadyExistsException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"CertificateValidationException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"CertificateConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteJobExecutionRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

" + "documentation":"

Deletes a job execution.

" }, - "RejectCertificateTransfer":{ - "name":"RejectCertificateTransfer", + "DeleteMitigationAction":{ + "name":"DeleteMitigationAction", "http":{ - "method":"PATCH", - "requestUri":"/reject-certificate-transfer/{certificateId}" + "method":"DELETE", + "requestUri":"/mitigationactions/actions/{actionName}" }, - "input":{ - "shape":"RejectCertificateTransferRequest", - "documentation":"

The input for the RejectCertificateTransfer operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"TransferAlreadyCompletedException", - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteMitigationActionRequest"}, + "output":{"shape":"DeleteMitigationActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

" + "documentation":"

Deletes a defined mitigation action from your AWS account.

" }, - "ReplaceTopicRule":{ - "name":"ReplaceTopicRule", + "DeleteOTAUpdate":{ + "name":"DeleteOTAUpdate", "http":{ - "method":"PATCH", - "requestUri":"/rules/{ruleName}" + "method":"DELETE", + "requestUri":"/otaUpdates/{otaUpdateId}" }, - "input":{ - "shape":"ReplaceTopicRuleRequest", - "documentation":"

The input for the ReplaceTopicRule operation.

" - }, - "errors":[ - { - "shape":"SqlParseException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" - }, - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - } + "input":{"shape":"DeleteOTAUpdateRequest"}, + "output":{"shape":"DeleteOTAUpdateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"VersionConflictException"} ], - "documentation":"

Replaces the specified rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" + "documentation":"

Delete an OTA update.

" }, - "SetDefaultPolicyVersion":{ - "name":"SetDefaultPolicyVersion", + "DeletePolicy":{ + "name":"DeletePolicy", "http":{ - "method":"PATCH", + "method":"DELETE", + "requestUri":"/policies/{policyName}" + }, + "input":{"shape":"DeletePolicyRequest"}, + "errors":[ + {"shape":"DeleteConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes the specified policy.

A policy cannot be deleted if it has non-default versions or it is attached to any certificate.

To delete a policy, use the DeletePolicyVersion API to delete all non-default versions of the policy; use the DetachPrincipalPolicy API to detach the policy from any certificate; and then use the DeletePolicy API to delete the policy.

When a policy is deleted using DeletePolicy, its default version is deleted with it.

" + }, + "DeletePolicyVersion":{ + "name":"DeletePolicyVersion", + "http":{ + "method":"DELETE", "requestUri":"/policies/{policyName}/version/{policyVersionId}" }, - "input":{ - "shape":"SetDefaultPolicyVersionRequest", - "documentation":"

The input for the SetDefaultPolicyVersion operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeletePolicyVersionRequest"}, + "errors":[ + {"shape":"DeleteConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.

" + "documentation":"

Deletes the specified version of the specified policy. You cannot delete the default version of a policy using this API. To delete the default version of a policy, use DeletePolicy. To find out which version of a policy is marked as the default version, use ListPolicyVersions.

" }, - "SetLoggingOptions":{ - "name":"SetLoggingOptions", + "DeleteProvisioningTemplate":{ + "name":"DeleteProvisioningTemplate", "http":{ - "method":"POST", - "requestUri":"/loggingOptions" + "method":"DELETE", + "requestUri":"/provisioning-templates/{templateName}" }, - "input":{ - "shape":"SetLoggingOptionsRequest", - "documentation":"

The input for the SetLoggingOptions operation.

" - }, - "errors":[ - { - "shape":"InternalException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - } + "input":{"shape":"DeleteProvisioningTemplateRequest"}, + "output":{"shape":"DeleteProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DeleteConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} ], - "documentation":"

Sets the logging options.

" + "documentation":"

Deletes a fleet provisioning template.

" }, - "TransferCertificate":{ - "name":"TransferCertificate", + "DeleteProvisioningTemplateVersion":{ + "name":"DeleteProvisioningTemplateVersion", "http":{ - "method":"PATCH", - "requestUri":"/transfer-certificate/{certificateId}" + "method":"DELETE", + "requestUri":"/provisioning-templates/{templateName}/versions/{versionId}" }, - "input":{ - "shape":"TransferCertificateRequest", - "documentation":"

The input for the TransferCertificate operation.

" - }, - "output":{ - "shape":"TransferCertificateResponse", - "documentation":"

The output from the TransferCertificate operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"TransferConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't transfer the certificate because authorization policies are still attached.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteProvisioningTemplateVersionRequest"}, + "output":{"shape":"DeleteProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"DeleteConflictException"} ], - "documentation":"

Transfers the specified certificate to the specified AWS account.

You can cancel the transfer until it is acknowledged by the recipient.

No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target.

The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.

" + "documentation":"

Deletes a fleet provisioning template version.

" }, - "UpdateCACertificate":{ - "name":"UpdateCACertificate", + "DeleteRegistrationCode":{ + "name":"DeleteRegistrationCode", "http":{ - "method":"PUT", - "requestUri":"/cacertificate/{caCertificateId}" + "method":"DELETE", + "requestUri":"/registrationcode" }, - "input":{ - "shape":"UpdateCACertificateRequest", - "documentation":"

The input to the UpdateCACertificate operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteRegistrationCodeRequest"}, + "output":{"shape":"DeleteRegistrationCodeResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Updates a registered CA certificate.

" + "documentation":"

Deletes a CA certificate registration code.

" }, - "UpdateCertificate":{ - "name":"UpdateCertificate", + "DeleteRoleAlias":{ + "name":"DeleteRoleAlias", "http":{ - "method":"PUT", - "requestUri":"/certificates/{certificateId}" + "method":"DELETE", + "requestUri":"/role-aliases/{roleAlias}" }, - "input":{ - "shape":"UpdateCertificateRequest", - "documentation":"

The input for the UpdateCertificate operation.

" - }, - "errors":[ - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - }, - { - "shape":"CertificateStateException", - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" - }, - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - } + "input":{"shape":"DeleteRoleAliasRequest"}, + "output":{"shape":"DeleteRoleAliasResponse"}, + "errors":[ + {"shape":"DeleteConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

" + "documentation":"

Deletes a role alias

" }, - "UpdateThing":{ - "name":"UpdateThing", + "DeleteScheduledAudit":{ + "name":"DeleteScheduledAudit", "http":{ - "method":"PATCH", + "method":"DELETE", + "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" + }, + "input":{"shape":"DeleteScheduledAuditRequest"}, + "output":{"shape":"DeleteScheduledAuditResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a scheduled audit.

" + }, + "DeleteSecurityProfile":{ + "name":"DeleteSecurityProfile", + "http":{ + "method":"DELETE", + "requestUri":"/security-profiles/{securityProfileName}" + }, + "input":{"shape":"DeleteSecurityProfileRequest"}, + "output":{"shape":"DeleteSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"VersionConflictException"} + ], + "documentation":"

Deletes a Device Defender security profile.

" + }, + "DeleteStream":{ + "name":"DeleteStream", + "http":{ + "method":"DELETE", + "requestUri":"/streams/{streamId}" + }, + "input":{"shape":"DeleteStreamRequest"}, + "output":{"shape":"DeleteStreamResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"DeleteConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a stream.

" + }, + "DeleteThing":{ + "name":"DeleteThing", + "http":{ + "method":"DELETE", "requestUri":"/things/{thingName}" }, - "input":{ - "shape":"UpdateThingRequest", - "documentation":"

The input for the UpdateThing operation.

" - }, - "output":{ - "shape":"UpdateThingResponse", - "documentation":"

The output from the UpdateThing operation.

" - }, - "errors":[ - { - "shape":"InvalidRequestException", - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" - }, - { - "shape":"VersionConflictException", - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" - }, - { - "shape":"ThrottlingException", - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" - }, - { - "shape":"UnauthorizedException", - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" - }, - { - "shape":"ServiceUnavailableException", - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" - }, - { - "shape":"InternalFailureException", - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" - }, - { - "shape":"ResourceNotFoundException", - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" - } + "input":{"shape":"DeleteThingRequest"}, + "output":{"shape":"DeleteThingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"VersionConflictException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} ], - "documentation":"

Updates the data for a thing.

" - } - }, - "shapes":{ - "AcceptCertificateTransferRequest":{ - "type":"structure", - "required":["certificateId"], - "members":{ - "certificateId":{ - "shape":"CertificateId", - "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" - }, - "setAsActive":{ - "shape":"SetAsActive", - "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" - } + "documentation":"

Deletes the specified thing. Returns successfully with no error if the deletion is successful or you specify a thing that doesn't exist.

" + }, + "DeleteThingGroup":{ + "name":"DeleteThingGroup", + "http":{ + "method":"DELETE", + "requestUri":"/thing-groups/{thingGroupName}" }, - "documentation":"

The input for the AcceptCertificateTransfer operation.

" + "input":{"shape":"DeleteThingGroupRequest"}, + "output":{"shape":"DeleteThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes a thing group.

" + }, + "DeleteThingType":{ + "name":"DeleteThingType", + "http":{ + "method":"DELETE", + "requestUri":"/thing-types/{thingTypeName}" + }, + "input":{"shape":"DeleteThingTypeRequest"}, + "output":{"shape":"DeleteThingTypeResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deletes the specified thing type. You cannot delete a thing type if it has things associated with it. To delete a thing type, first mark it as deprecated by calling DeprecateThingType, then remove any associated things by calling UpdateThing to change the thing type on any associated thing, and finally use DeleteThingType to delete the thing type.

" + }, + "DeleteTopicRule":{ + "name":"DeleteTopicRule", + "http":{ + "method":"DELETE", + "requestUri":"/rules/{ruleName}" + }, + "input":{"shape":"DeleteTopicRuleRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Deletes the rule.

" + }, + "DeleteTopicRuleDestination":{ + "name":"DeleteTopicRuleDestination", + "http":{ + "method":"DELETE", + "requestUri":"/destinations/{arn+}" + }, + "input":{"shape":"DeleteTopicRuleDestinationRequest"}, + "output":{"shape":"DeleteTopicRuleDestinationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Deletes a topic rule destination.

" + }, + "DeleteV2LoggingLevel":{ + "name":"DeleteV2LoggingLevel", + "http":{ + "method":"DELETE", + "requestUri":"/v2LoggingLevel" + }, + "input":{"shape":"DeleteV2LoggingLevelRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes a logging level.

" + }, + "DeprecateThingType":{ + "name":"DeprecateThingType", + "http":{ + "method":"POST", + "requestUri":"/thing-types/{thingTypeName}/deprecate" + }, + "input":{"shape":"DeprecateThingTypeRequest"}, + "output":{"shape":"DeprecateThingTypeResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Deprecates a thing type. You can not associate new things with deprecated thing type.

" + }, + "DescribeAccountAuditConfiguration":{ + "name":"DescribeAccountAuditConfiguration", + "http":{ + "method":"GET", + "requestUri":"/audit/configuration" + }, + "input":{"shape":"DescribeAccountAuditConfigurationRequest"}, + "output":{"shape":"DescribeAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

" + }, + "DescribeAuditFinding":{ + "name":"DescribeAuditFinding", + "http":{ + "method":"GET", + "requestUri":"/audit/findings/{findingId}" + }, + "input":{"shape":"DescribeAuditFindingRequest"}, + "output":{"shape":"DescribeAuditFindingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and when the audit that returned the finding was started.

" + }, + "DescribeAuditMitigationActionsTask":{ + "name":"DescribeAuditMitigationActionsTask", + "http":{ + "method":"GET", + "requestUri":"/audit/mitigationactions/tasks/{taskId}" + }, + "input":{"shape":"DescribeAuditMitigationActionsTaskRequest"}, + "output":{"shape":"DescribeAuditMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics.

" + }, + "DescribeAuditTask":{ + "name":"DescribeAuditTask", + "http":{ + "method":"GET", + "requestUri":"/audit/tasks/{taskId}" + }, + "input":{"shape":"DescribeAuditTaskRequest"}, + "output":{"shape":"DescribeAuditTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a Device Defender audit.

" + }, + "DescribeAuthorizer":{ + "name":"DescribeAuthorizer", + "http":{ + "method":"GET", + "requestUri":"/authorizer/{authorizerName}" + }, + "input":{"shape":"DescribeAuthorizerRequest"}, + "output":{"shape":"DescribeAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Describes an authorizer.

" + }, + "DescribeBillingGroup":{ + "name":"DescribeBillingGroup", + "http":{ + "method":"GET", + "requestUri":"/billing-groups/{billingGroupName}" + }, + "input":{"shape":"DescribeBillingGroupRequest"}, + "output":{"shape":"DescribeBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a billing group.

" + }, + "DescribeCACertificate":{ + "name":"DescribeCACertificate", + "http":{ + "method":"GET", + "requestUri":"/cacertificate/{caCertificateId}" + }, + "input":{"shape":"DescribeCACertificateRequest"}, + "output":{"shape":"DescribeCACertificateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a registered CA certificate.

" + }, + "DescribeCertificate":{ + "name":"DescribeCertificate", + "http":{ + "method":"GET", + "requestUri":"/certificates/{certificateId}" + }, + "input":{"shape":"DescribeCertificateRequest"}, + "output":{"shape":"DescribeCertificateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets information about the specified certificate.

" + }, + "DescribeDefaultAuthorizer":{ + "name":"DescribeDefaultAuthorizer", + "http":{ + "method":"GET", + "requestUri":"/default-authorizer" + }, + "input":{"shape":"DescribeDefaultAuthorizerRequest"}, + "output":{"shape":"DescribeDefaultAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Describes the default authorizer.

" + }, + "DescribeDimension":{ + "name":"DescribeDimension", + "http":{ + "method":"GET", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"DescribeDimensionRequest"}, + "output":{"shape":"DescribeDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Provides details about a dimension that is defined in your AWS account.

" + }, + "DescribeDomainConfiguration":{ + "name":"DescribeDomainConfiguration", + "http":{ + "method":"GET", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"DescribeDomainConfigurationRequest"}, + "output":{"shape":"DescribeDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets summary information about a domain configuration.

The domain configuration feature is in public preview and is subject to change.

" + }, + "DescribeEndpoint":{ + "name":"DescribeEndpoint", + "http":{ + "method":"GET", + "requestUri":"/endpoint" + }, + "input":{"shape":"DescribeEndpointRequest"}, + "output":{"shape":"DescribeEndpointResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns a unique endpoint specific to the AWS account making the call.

" + }, + "DescribeEventConfigurations":{ + "name":"DescribeEventConfigurations", + "http":{ + "method":"GET", + "requestUri":"/event-configurations" + }, + "input":{"shape":"DescribeEventConfigurationsRequest"}, + "output":{"shape":"DescribeEventConfigurationsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Describes event configurations.

" + }, + "DescribeIndex":{ + "name":"DescribeIndex", + "http":{ + "method":"GET", + "requestUri":"/indices/{indexName}" + }, + "input":{"shape":"DescribeIndexRequest"}, + "output":{"shape":"DescribeIndexResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a search index.

" + }, + "DescribeJob":{ + "name":"DescribeJob", + "http":{ + "method":"GET", + "requestUri":"/jobs/{jobId}" + }, + "input":{"shape":"DescribeJobRequest"}, + "output":{"shape":"DescribeJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes a job.

" + }, + "DescribeJobExecution":{ + "name":"DescribeJobExecution", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/jobs/{jobId}" + }, + "input":{"shape":"DescribeJobExecutionRequest"}, + "output":{"shape":"DescribeJobExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes a job execution.

" + }, + "DescribeMitigationAction":{ + "name":"DescribeMitigationAction", + "http":{ + "method":"GET", + "requestUri":"/mitigationactions/actions/{actionName}" + }, + "input":{"shape":"DescribeMitigationActionRequest"}, + "output":{"shape":"DescribeMitigationActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a mitigation action.

" + }, + "DescribeProvisioningTemplate":{ + "name":"DescribeProvisioningTemplate", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}" + }, + "input":{"shape":"DescribeProvisioningTemplateRequest"}, + "output":{"shape":"DescribeProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Returns information about a fleet provisioning template.

" + }, + "DescribeProvisioningTemplateVersion":{ + "name":"DescribeProvisioningTemplateVersion", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}/versions/{versionId}" + }, + "input":{"shape":"DescribeProvisioningTemplateVersionRequest"}, + "output":{"shape":"DescribeProvisioningTemplateVersionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Returns information about a fleet provisioning template version.

" + }, + "DescribeRoleAlias":{ + "name":"DescribeRoleAlias", + "http":{ + "method":"GET", + "requestUri":"/role-aliases/{roleAlias}" + }, + "input":{"shape":"DescribeRoleAliasRequest"}, + "output":{"shape":"DescribeRoleAliasResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a role alias.

" + }, + "DescribeScheduledAudit":{ + "name":"DescribeScheduledAudit", + "http":{ + "method":"GET", + "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" + }, + "input":{"shape":"DescribeScheduledAuditRequest"}, + "output":{"shape":"DescribeScheduledAuditResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a scheduled audit.

" + }, + "DescribeSecurityProfile":{ + "name":"DescribeSecurityProfile", + "http":{ + "method":"GET", + "requestUri":"/security-profiles/{securityProfileName}" + }, + "input":{"shape":"DescribeSecurityProfileRequest"}, + "output":{"shape":"DescribeSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a Device Defender security profile.

" + }, + "DescribeStream":{ + "name":"DescribeStream", + "http":{ + "method":"GET", + "requestUri":"/streams/{streamId}" + }, + "input":{"shape":"DescribeStreamRequest"}, + "output":{"shape":"DescribeStreamResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about a stream.

" + }, + "DescribeThing":{ + "name":"DescribeThing", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}" + }, + "input":{"shape":"DescribeThingRequest"}, + "output":{"shape":"DescribeThingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about the specified thing.

" + }, + "DescribeThingGroup":{ + "name":"DescribeThingGroup", + "http":{ + "method":"GET", + "requestUri":"/thing-groups/{thingGroupName}" + }, + "input":{"shape":"DescribeThingGroupRequest"}, + "output":{"shape":"DescribeThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describe a thing group.

" + }, + "DescribeThingRegistrationTask":{ + "name":"DescribeThingRegistrationTask", + "http":{ + "method":"GET", + "requestUri":"/thing-registration-tasks/{taskId}" + }, + "input":{"shape":"DescribeThingRegistrationTaskRequest"}, + "output":{"shape":"DescribeThingRegistrationTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a bulk thing provisioning task.

" + }, + "DescribeThingType":{ + "name":"DescribeThingType", + "http":{ + "method":"GET", + "requestUri":"/thing-types/{thingTypeName}" + }, + "input":{"shape":"DescribeThingTypeRequest"}, + "output":{"shape":"DescribeThingTypeResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about the specified thing type.

" + }, + "DetachPolicy":{ + "name":"DetachPolicy", + "http":{ + "method":"POST", + "requestUri":"/target-policies/{policyName}" + }, + "input":{"shape":"DetachPolicyRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Detaches a policy from the specified target.

" + }, + "DetachPrincipalPolicy":{ + "name":"DetachPrincipalPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/principal-policies/{policyName}" + }, + "input":{"shape":"DetachPrincipalPolicyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Removes the specified policy from the specified certificate.

Note: This API is deprecated. Please use DetachPolicy instead.

", + "deprecated":true + }, + "DetachSecurityProfile":{ + "name":"DetachSecurityProfile", + "http":{ + "method":"DELETE", + "requestUri":"/security-profiles/{securityProfileName}/targets" + }, + "input":{"shape":"DetachSecurityProfileRequest"}, + "output":{"shape":"DetachSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Disassociates a Device Defender security profile from a thing group or from this account.

" + }, + "DetachThingPrincipal":{ + "name":"DetachThingPrincipal", + "http":{ + "method":"DELETE", + "requestUri":"/things/{thingName}/principals" + }, + "input":{"shape":"DetachThingPrincipalRequest"}, + "output":{"shape":"DetachThingPrincipalResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Detaches the specified principal from the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

This call is asynchronous. It might take several seconds for the detachment to propagate.

" + }, + "DisableTopicRule":{ + "name":"DisableTopicRule", + "http":{ + "method":"POST", + "requestUri":"/rules/{ruleName}/disable" + }, + "input":{"shape":"DisableTopicRuleRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Disables the rule.

" + }, + "EnableTopicRule":{ + "name":"EnableTopicRule", + "http":{ + "method":"POST", + "requestUri":"/rules/{ruleName}/enable" + }, + "input":{"shape":"EnableTopicRuleRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Enables the rule.

" + }, + "GetCardinality":{ + "name":"GetCardinality", + "http":{ + "method":"POST", + "requestUri":"/indices/cardinality" + }, + "input":{"shape":"GetCardinalityRequest"}, + "output":{"shape":"GetCardinalityResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"}, + {"shape":"InvalidAggregationException"}, + {"shape":"IndexNotReadyException"} + ], + "documentation":"

Returns the approximate count of unique values that match the query.

" + }, + "GetEffectivePolicies":{ + "name":"GetEffectivePolicies", + "http":{ + "method":"POST", + "requestUri":"/effective-policies" + }, + "input":{"shape":"GetEffectivePoliciesRequest"}, + "output":{"shape":"GetEffectivePoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Gets a list of the policies that have an effect on the authorization behavior of the specified device when it connects to the AWS IoT device gateway.

" + }, + "GetIndexingConfiguration":{ + "name":"GetIndexingConfiguration", + "http":{ + "method":"GET", + "requestUri":"/indexing/config" + }, + "input":{"shape":"GetIndexingConfigurationRequest"}, + "output":{"shape":"GetIndexingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets the indexing configuration.

" + }, + "GetJobDocument":{ + "name":"GetJobDocument", + "http":{ + "method":"GET", + "requestUri":"/jobs/{jobId}/job-document" + }, + "input":{"shape":"GetJobDocumentRequest"}, + "output":{"shape":"GetJobDocumentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets a job document.

" + }, + "GetLoggingOptions":{ + "name":"GetLoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/loggingOptions" + }, + "input":{"shape":"GetLoggingOptionsRequest"}, + "output":{"shape":"GetLoggingOptionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets the logging options.

NOTE: use of this command is not recommended. Use GetV2LoggingOptions instead.

" + }, + "GetOTAUpdate":{ + "name":"GetOTAUpdate", + "http":{ + "method":"GET", + "requestUri":"/otaUpdates/{otaUpdateId}" + }, + "input":{"shape":"GetOTAUpdateRequest"}, + "output":{"shape":"GetOTAUpdateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets an OTA update.

" + }, + "GetPercentiles":{ + "name":"GetPercentiles", + "http":{ + "method":"POST", + "requestUri":"/indices/percentiles" + }, + "input":{"shape":"GetPercentilesRequest"}, + "output":{"shape":"GetPercentilesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"}, + {"shape":"InvalidAggregationException"}, + {"shape":"IndexNotReadyException"} + ], + "documentation":"

Groups the aggregated values that match the query into percentile groupings. The default percentile groupings are: 1,5,25,50,75,95,99, although you can specify your own when you call GetPercentiles. This function returns a value for each percentile group specified (or the default percentile groupings). The percentile group \"1\" contains the aggregated field value that occurs in approximately one percent of the values that match the query. The percentile group \"5\" contains the aggregated field value that occurs in approximately five percent of the values that match the query, and so on. The result is an approximation, the more values that match the query, the more accurate the percentile values.

" + }, + "GetPolicy":{ + "name":"GetPolicy", + "http":{ + "method":"GET", + "requestUri":"/policies/{policyName}" + }, + "input":{"shape":"GetPolicyRequest"}, + "output":{"shape":"GetPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about the specified policy with the policy document of the default version.

" + }, + "GetPolicyVersion":{ + "name":"GetPolicyVersion", + "http":{ + "method":"GET", + "requestUri":"/policies/{policyName}/version/{policyVersionId}" + }, + "input":{"shape":"GetPolicyVersionRequest"}, + "output":{"shape":"GetPolicyVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets information about the specified policy version.

" + }, + "GetRegistrationCode":{ + "name":"GetRegistrationCode", + "http":{ + "method":"GET", + "requestUri":"/registrationcode" + }, + "input":{"shape":"GetRegistrationCodeRequest"}, + "output":{"shape":"GetRegistrationCodeResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Gets a registration code used to register a CA certificate with AWS IoT.

" + }, + "GetStatistics":{ + "name":"GetStatistics", + "http":{ + "method":"POST", + "requestUri":"/indices/statistics" + }, + "input":{"shape":"GetStatisticsRequest"}, + "output":{"shape":"GetStatisticsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"}, + {"shape":"InvalidAggregationException"}, + {"shape":"IndexNotReadyException"} + ], + "documentation":"

Returns the count, average, sum, minimum, maximum, sum of squares, variance, and standard deviation for the specified aggregated field. If the aggregation field is of type String, only the count statistic is returned.

" + }, + "GetTopicRule":{ + "name":"GetTopicRule", + "http":{ + "method":"GET", + "requestUri":"/rules/{ruleName}" + }, + "input":{"shape":"GetTopicRuleRequest"}, + "output":{"shape":"GetTopicRuleResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Gets information about the rule.

" + }, + "GetTopicRuleDestination":{ + "name":"GetTopicRuleDestination", + "http":{ + "method":"GET", + "requestUri":"/destinations/{arn+}" + }, + "input":{"shape":"GetTopicRuleDestinationRequest"}, + "output":{"shape":"GetTopicRuleDestinationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Gets information about a topic rule destination.

" + }, + "GetV2LoggingOptions":{ + "name":"GetV2LoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/v2LoggingOptions" + }, + "input":{"shape":"GetV2LoggingOptionsRequest"}, + "output":{"shape":"GetV2LoggingOptionsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"NotConfiguredException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets the fine grained logging options.

" + }, + "ListActiveViolations":{ + "name":"ListActiveViolations", + "http":{ + "method":"GET", + "requestUri":"/active-violations" + }, + "input":{"shape":"ListActiveViolationsRequest"}, + "output":{"shape":"ListActiveViolationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the active violations for a given Device Defender security profile.

" + }, + "ListAttachedPolicies":{ + "name":"ListAttachedPolicies", + "http":{ + "method":"POST", + "requestUri":"/attached-policies/{target}" + }, + "input":{"shape":"ListAttachedPoliciesRequest"}, + "output":{"shape":"ListAttachedPoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Lists the policies attached to the specified thing group.

" + }, + "ListAuditFindings":{ + "name":"ListAuditFindings", + "http":{ + "method":"POST", + "requestUri":"/audit/findings" + }, + "input":{"shape":"ListAuditFindingsRequest"}, + "output":{"shape":"ListAuditFindingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 180 days.)

" + }, + "ListAuditMitigationActionsExecutions":{ + "name":"ListAuditMitigationActionsExecutions", + "http":{ + "method":"GET", + "requestUri":"/audit/mitigationactions/executions" + }, + "input":{"shape":"ListAuditMitigationActionsExecutionsRequest"}, + "output":{"shape":"ListAuditMitigationActionsExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets the status of audit mitigation action tasks that were executed.

" + }, + "ListAuditMitigationActionsTasks":{ + "name":"ListAuditMitigationActionsTasks", + "http":{ + "method":"GET", + "requestUri":"/audit/mitigationactions/tasks" + }, + "input":{"shape":"ListAuditMitigationActionsTasksRequest"}, + "output":{"shape":"ListAuditMitigationActionsTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets a list of audit mitigation action tasks that match the specified filters.

" + }, + "ListAuditTasks":{ + "name":"ListAuditTasks", + "http":{ + "method":"GET", + "requestUri":"/audit/tasks" + }, + "input":{"shape":"ListAuditTasksRequest"}, + "output":{"shape":"ListAuditTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the Device Defender audits that have been performed during a given time period.

" + }, + "ListAuthorizers":{ + "name":"ListAuthorizers", + "http":{ + "method":"GET", + "requestUri":"/authorizers/" + }, + "input":{"shape":"ListAuthorizersRequest"}, + "output":{"shape":"ListAuthorizersResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the authorizers registered in your account.

" + }, + "ListBillingGroups":{ + "name":"ListBillingGroups", + "http":{ + "method":"GET", + "requestUri":"/billing-groups" + }, + "input":{"shape":"ListBillingGroupsRequest"}, + "output":{"shape":"ListBillingGroupsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists the billing groups you have created.

" + }, + "ListCACertificates":{ + "name":"ListCACertificates", + "http":{ + "method":"GET", + "requestUri":"/cacertificates" + }, + "input":{"shape":"ListCACertificatesRequest"}, + "output":{"shape":"ListCACertificatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the CA certificates registered for your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" + }, + "ListCertificates":{ + "name":"ListCertificates", + "http":{ + "method":"GET", + "requestUri":"/certificates" + }, + "input":{"shape":"ListCertificatesRequest"}, + "output":{"shape":"ListCertificatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the certificates registered in your AWS account.

The results are paginated with a default page size of 25. You can use the returned marker to retrieve additional results.

" + }, + "ListCertificatesByCA":{ + "name":"ListCertificatesByCA", + "http":{ + "method":"GET", + "requestUri":"/certificates-by-ca/{caCertificateId}" + }, + "input":{"shape":"ListCertificatesByCARequest"}, + "output":{"shape":"ListCertificatesByCAResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

List the device certificates signed by the specified CA certificate.

" + }, + "ListDimensions":{ + "name":"ListDimensions", + "http":{ + "method":"GET", + "requestUri":"/dimensions" + }, + "input":{"shape":"ListDimensionsRequest"}, + "output":{"shape":"ListDimensionsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

List the set of dimensions that are defined for your AWS account.

" + }, + "ListDomainConfigurations":{ + "name":"ListDomainConfigurations", + "http":{ + "method":"GET", + "requestUri":"/domainConfigurations" + }, + "input":{"shape":"ListDomainConfigurationsRequest"}, + "output":{"shape":"ListDomainConfigurationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets a list of domain configurations for the user. This list is sorted alphabetically by domain configuration name.

The domain configuration feature is in public preview and is subject to change.

" + }, + "ListIndices":{ + "name":"ListIndices", + "http":{ + "method":"GET", + "requestUri":"/indices" + }, + "input":{"shape":"ListIndicesRequest"}, + "output":{"shape":"ListIndicesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the search indices.

" + }, + "ListJobExecutionsForJob":{ + "name":"ListJobExecutionsForJob", + "http":{ + "method":"GET", + "requestUri":"/jobs/{jobId}/things" + }, + "input":{"shape":"ListJobExecutionsForJobRequest"}, + "output":{"shape":"ListJobExecutionsForJobResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the job executions for a job.

" + }, + "ListJobExecutionsForThing":{ + "name":"ListJobExecutionsForThing", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/jobs" + }, + "input":{"shape":"ListJobExecutionsForThingRequest"}, + "output":{"shape":"ListJobExecutionsForThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the job executions for the specified thing.

" + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"GET", + "requestUri":"/jobs" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists jobs.

" + }, + "ListMitigationActions":{ + "name":"ListMitigationActions", + "http":{ + "method":"GET", + "requestUri":"/mitigationactions/actions" + }, + "input":{"shape":"ListMitigationActionsRequest"}, + "output":{"shape":"ListMitigationActionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets a list of all mitigation actions that match the specified filter criteria.

" + }, + "ListOTAUpdates":{ + "name":"ListOTAUpdates", + "http":{ + "method":"GET", + "requestUri":"/otaUpdates" + }, + "input":{"shape":"ListOTAUpdatesRequest"}, + "output":{"shape":"ListOTAUpdatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists OTA updates.

" + }, + "ListOutgoingCertificates":{ + "name":"ListOutgoingCertificates", + "http":{ + "method":"GET", + "requestUri":"/certificates-out-going" + }, + "input":{"shape":"ListOutgoingCertificatesRequest"}, + "output":{"shape":"ListOutgoingCertificatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists certificates that are being transferred but not yet accepted.

" + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"GET", + "requestUri":"/policies" + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists your policies.

" + }, + "ListPolicyPrincipals":{ + "name":"ListPolicyPrincipals", + "http":{ + "method":"GET", + "requestUri":"/policy-principals" + }, + "input":{"shape":"ListPolicyPrincipalsRequest"}, + "output":{"shape":"ListPolicyPrincipalsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the principals associated with the specified policy.

Note: This API is deprecated. Please use ListTargetsForPolicy instead.

", + "deprecated":true + }, + "ListPolicyVersions":{ + "name":"ListPolicyVersions", + "http":{ + "method":"GET", + "requestUri":"/policies/{policyName}/version" + }, + "input":{"shape":"ListPolicyVersionsRequest"}, + "output":{"shape":"ListPolicyVersionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the versions of the specified policy and identifies the default version.

" + }, + "ListPrincipalPolicies":{ + "name":"ListPrincipalPolicies", + "http":{ + "method":"GET", + "requestUri":"/principal-policies" + }, + "input":{"shape":"ListPrincipalPoliciesRequest"}, + "output":{"shape":"ListPrincipalPoliciesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the policies attached to the specified principal. If you use an Cognito identity, the ID must be in AmazonCognito Identity format.

Note: This API is deprecated. Please use ListAttachedPolicies instead.

", + "deprecated":true + }, + "ListPrincipalThings":{ + "name":"ListPrincipalThings", + "http":{ + "method":"GET", + "requestUri":"/principals/things" + }, + "input":{"shape":"ListPrincipalThingsRequest"}, + "output":{"shape":"ListPrincipalThingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the things associated with the specified principal. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" + }, + "ListProvisioningTemplateVersions":{ + "name":"ListProvisioningTemplateVersions", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates/{templateName}/versions" + }, + "input":{"shape":"ListProvisioningTemplateVersionsRequest"}, + "output":{"shape":"ListProvisioningTemplateVersionsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

A list of fleet provisioning template versions.

" + }, + "ListProvisioningTemplates":{ + "name":"ListProvisioningTemplates", + "http":{ + "method":"GET", + "requestUri":"/provisioning-templates" + }, + "input":{"shape":"ListProvisioningTemplatesRequest"}, + "output":{"shape":"ListProvisioningTemplatesResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists the fleet provisioning templates in your AWS account.

" + }, + "ListRoleAliases":{ + "name":"ListRoleAliases", + "http":{ + "method":"GET", + "requestUri":"/role-aliases" + }, + "input":{"shape":"ListRoleAliasesRequest"}, + "output":{"shape":"ListRoleAliasesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the role aliases registered in your account.

" + }, + "ListScheduledAudits":{ + "name":"ListScheduledAudits", + "http":{ + "method":"GET", + "requestUri":"/audit/scheduledaudits" + }, + "input":{"shape":"ListScheduledAuditsRequest"}, + "output":{"shape":"ListScheduledAuditsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists all of your scheduled audits.

" + }, + "ListSecurityProfiles":{ + "name":"ListSecurityProfiles", + "http":{ + "method":"GET", + "requestUri":"/security-profiles" + }, + "input":{"shape":"ListSecurityProfilesRequest"}, + "output":{"shape":"ListSecurityProfilesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the Device Defender security profiles you have created. You can use filters to list only those security profiles associated with a thing group or only those associated with your account.

" + }, + "ListSecurityProfilesForTarget":{ + "name":"ListSecurityProfilesForTarget", + "http":{ + "method":"GET", + "requestUri":"/security-profiles-for-target" + }, + "input":{"shape":"ListSecurityProfilesForTargetRequest"}, + "output":{"shape":"ListSecurityProfilesForTargetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the Device Defender security profiles attached to a target (thing group).

" + }, + "ListStreams":{ + "name":"ListStreams", + "http":{ + "method":"GET", + "requestUri":"/streams" + }, + "input":{"shape":"ListStreamsRequest"}, + "output":{"shape":"ListStreamsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists all of the streams in your AWS account.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists the tags (metadata) you have assigned to the resource.

" + }, + "ListTargetsForPolicy":{ + "name":"ListTargetsForPolicy", + "http":{ + "method":"POST", + "requestUri":"/policy-targets/{policyName}" + }, + "input":{"shape":"ListTargetsForPolicyRequest"}, + "output":{"shape":"ListTargetsForPolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

List targets for the specified policy.

" + }, + "ListTargetsForSecurityProfile":{ + "name":"ListTargetsForSecurityProfile", + "http":{ + "method":"GET", + "requestUri":"/security-profiles/{securityProfileName}/targets" + }, + "input":{"shape":"ListTargetsForSecurityProfileRequest"}, + "output":{"shape":"ListTargetsForSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the targets (thing groups) associated with a given Device Defender security profile.

" + }, + "ListThingGroups":{ + "name":"ListThingGroups", + "http":{ + "method":"GET", + "requestUri":"/thing-groups" + }, + "input":{"shape":"ListThingGroupsRequest"}, + "output":{"shape":"ListThingGroupsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

List the thing groups in your account.

" + }, + "ListThingGroupsForThing":{ + "name":"ListThingGroupsForThing", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/thing-groups" + }, + "input":{"shape":"ListThingGroupsForThingRequest"}, + "output":{"shape":"ListThingGroupsForThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

List the thing groups to which the specified thing belongs.

" + }, + "ListThingPrincipals":{ + "name":"ListThingPrincipals", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/principals" + }, + "input":{"shape":"ListThingPrincipalsRequest"}, + "output":{"shape":"ListThingPrincipalsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the principals associated with the specified thing. A principal can be X.509 certificates, IAM users, groups, and roles, Amazon Cognito identities or federated identities.

" + }, + "ListThingRegistrationTaskReports":{ + "name":"ListThingRegistrationTaskReports", + "http":{ + "method":"GET", + "requestUri":"/thing-registration-tasks/{taskId}/reports" + }, + "input":{"shape":"ListThingRegistrationTaskReportsRequest"}, + "output":{"shape":"ListThingRegistrationTaskReportsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Information about the thing registration tasks.

" + }, + "ListThingRegistrationTasks":{ + "name":"ListThingRegistrationTasks", + "http":{ + "method":"GET", + "requestUri":"/thing-registration-tasks" + }, + "input":{"shape":"ListThingRegistrationTasksRequest"}, + "output":{"shape":"ListThingRegistrationTasksResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

List bulk thing provisioning tasks.

" + }, + "ListThingTypes":{ + "name":"ListThingTypes", + "http":{ + "method":"GET", + "requestUri":"/thing-types" + }, + "input":{"shape":"ListThingTypesRequest"}, + "output":{"shape":"ListThingTypesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the existing thing types.

" + }, + "ListThings":{ + "name":"ListThings", + "http":{ + "method":"GET", + "requestUri":"/things" + }, + "input":{"shape":"ListThingsRequest"}, + "output":{"shape":"ListThingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

" + }, + "ListThingsInBillingGroup":{ + "name":"ListThingsInBillingGroup", + "http":{ + "method":"GET", + "requestUri":"/billing-groups/{billingGroupName}/things" + }, + "input":{"shape":"ListThingsInBillingGroupRequest"}, + "output":{"shape":"ListThingsInBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Lists the things you have added to the given billing group.

" + }, + "ListThingsInThingGroup":{ + "name":"ListThingsInThingGroup", + "http":{ + "method":"GET", + "requestUri":"/thing-groups/{thingGroupName}/things" + }, + "input":{"shape":"ListThingsInThingGroupRequest"}, + "output":{"shape":"ListThingsInThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the things in the specified group.

" + }, + "ListTopicRuleDestinations":{ + "name":"ListTopicRuleDestinations", + "http":{ + "method":"GET", + "requestUri":"/destinations" + }, + "input":{"shape":"ListTopicRuleDestinationsRequest"}, + "output":{"shape":"ListTopicRuleDestinationsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"} + ], + "documentation":"

Lists all the topic rule destinations in your AWS account.

" + }, + "ListTopicRules":{ + "name":"ListTopicRules", + "http":{ + "method":"GET", + "requestUri":"/rules" + }, + "input":{"shape":"ListTopicRulesRequest"}, + "output":{"shape":"ListTopicRulesResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the rules for the specific topic.

" + }, + "ListV2LoggingLevels":{ + "name":"ListV2LoggingLevels", + "http":{ + "method":"GET", + "requestUri":"/v2LoggingLevel" + }, + "input":{"shape":"ListV2LoggingLevelsRequest"}, + "output":{"shape":"ListV2LoggingLevelsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"NotConfiguredException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists logging levels.

" + }, + "ListViolationEvents":{ + "name":"ListViolationEvents", + "http":{ + "method":"GET", + "requestUri":"/violation-events" + }, + "input":{"shape":"ListViolationEventsRequest"}, + "output":{"shape":"ListViolationEventsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the Device Defender security profile violations discovered during the given time period. You can use filters to limit the results to those alerts issued for a particular security profile, behavior, or thing (device).

" + }, + "RegisterCACertificate":{ + "name":"RegisterCACertificate", + "http":{ + "method":"POST", + "requestUri":"/cacertificate" + }, + "input":{"shape":"RegisterCACertificateRequest"}, + "output":{"shape":"RegisterCACertificateResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"RegistrationCodeValidationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CertificateValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Registers a CA certificate with AWS IoT. This CA certificate can then be used to sign device certificates, which can be then registered with AWS IoT. You can register up to 10 CA certificates per AWS account that have the same subject field. This enables you to have up to 10 certificate authorities sign your device certificates. If you have more than one CA certificate registered, make sure you pass the CA certificate when you register your device certificates with the RegisterCertificate API.

" + }, + "RegisterCertificate":{ + "name":"RegisterCertificate", + "http":{ + "method":"POST", + "requestUri":"/certificate/register" + }, + "input":{"shape":"RegisterCertificateRequest"}, + "output":{"shape":"RegisterCertificateResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CertificateValidationException"}, + {"shape":"CertificateStateException"}, + {"shape":"CertificateConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Registers a device certificate with AWS IoT. If you have more than one CA certificate that has the same subject field, you must specify the CA certificate that was used to sign the device certificate being registered.

" + }, + "RegisterCertificateWithoutCA":{ + "name":"RegisterCertificateWithoutCA", + "http":{ + "method":"POST", + "requestUri":"/certificate/register-no-ca" + }, + "input":{"shape":"RegisterCertificateWithoutCARequest"}, + "output":{"shape":"RegisterCertificateWithoutCAResponse"}, + "errors":[ + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"CertificateStateException"}, + {"shape":"CertificateValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Register a certificate that does not have a certificate authority (CA).

" + }, + "RegisterThing":{ + "name":"RegisterThing", + "http":{ + "method":"POST", + "requestUri":"/things" + }, + "input":{"shape":"RegisterThingRequest"}, + "output":{"shape":"RegisterThingResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingResourceUpdateException"}, + {"shape":"ResourceRegistrationFailureException"} + ], + "documentation":"

Provisions a thing in the device registry. RegisterThing calls other AWS IoT control plane APIs. These calls might exceed your account level AWS IoT Throttling Limits and cause throttle errors. Please contact AWS Customer Support to raise your throttling limits if necessary.

" + }, + "RejectCertificateTransfer":{ + "name":"RejectCertificateTransfer", + "http":{ + "method":"PATCH", + "requestUri":"/reject-certificate-transfer/{certificateId}" + }, + "input":{"shape":"RejectCertificateTransferRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TransferAlreadyCompletedException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Rejects a pending certificate transfer. After AWS IoT rejects a certificate transfer, the certificate status changes from PENDING_TRANSFER to INACTIVE.

To check for pending certificate transfers, call ListCertificates to enumerate your certificates.

This operation can only be called by the transfer destination. After it is called, the certificate will be returned to the source's account in the INACTIVE state.

" + }, + "RemoveThingFromBillingGroup":{ + "name":"RemoveThingFromBillingGroup", + "http":{ + "method":"PUT", + "requestUri":"/billing-groups/removeThingFromBillingGroup" + }, + "input":{"shape":"RemoveThingFromBillingGroupRequest"}, + "output":{"shape":"RemoveThingFromBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes the given thing from the billing group.

" + }, + "RemoveThingFromThingGroup":{ + "name":"RemoveThingFromThingGroup", + "http":{ + "method":"PUT", + "requestUri":"/thing-groups/removeThingFromThingGroup" + }, + "input":{"shape":"RemoveThingFromThingGroupRequest"}, + "output":{"shape":"RemoveThingFromThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Remove the specified thing from the specified group.

" + }, + "ReplaceTopicRule":{ + "name":"ReplaceTopicRule", + "http":{ + "method":"PATCH", + "requestUri":"/rules/{ruleName}" + }, + "input":{"shape":"ReplaceTopicRuleRequest"}, + "errors":[ + {"shape":"SqlParseException"}, + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Replaces the rule. You must specify all parameters for the new rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

" + }, + "SearchIndex":{ + "name":"SearchIndex", + "http":{ + "method":"POST", + "requestUri":"/indices/search" + }, + "input":{"shape":"SearchIndexRequest"}, + "output":{"shape":"SearchIndexResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"}, + {"shape":"IndexNotReadyException"} + ], + "documentation":"

The query search index.

" + }, + "SetDefaultAuthorizer":{ + "name":"SetDefaultAuthorizer", + "http":{ + "method":"POST", + "requestUri":"/default-authorizer" + }, + "input":{"shape":"SetDefaultAuthorizerRequest"}, + "output":{"shape":"SetDefaultAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Sets the default authorizer. This will be used if a websocket connection is made without specifying an authorizer.

" + }, + "SetDefaultPolicyVersion":{ + "name":"SetDefaultPolicyVersion", + "http":{ + "method":"PATCH", + "requestUri":"/policies/{policyName}/version/{policyVersionId}" + }, + "input":{"shape":"SetDefaultPolicyVersionRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Sets the specified version of the specified policy as the policy's default (operative) version. This action affects all certificates to which the policy is attached. To list the principals the policy is attached to, use the ListPrincipalPolicy API.

" + }, + "SetLoggingOptions":{ + "name":"SetLoggingOptions", + "http":{ + "method":"POST", + "requestUri":"/loggingOptions" + }, + "input":{"shape":"SetLoggingOptionsRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets the logging options.

NOTE: use of this command is not recommended. Use SetV2LoggingOptions instead.

" + }, + "SetV2LoggingLevel":{ + "name":"SetV2LoggingLevel", + "http":{ + "method":"POST", + "requestUri":"/v2LoggingLevel" + }, + "input":{"shape":"SetV2LoggingLevelRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"NotConfiguredException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets the logging level.

" + }, + "SetV2LoggingOptions":{ + "name":"SetV2LoggingOptions", + "http":{ + "method":"POST", + "requestUri":"/v2LoggingOptions" + }, + "input":{"shape":"SetV2LoggingOptionsRequest"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Sets the logging options for the V2 logging service.

" + }, + "StartAuditMitigationActionsTask":{ + "name":"StartAuditMitigationActionsTask", + "http":{ + "method":"POST", + "requestUri":"/audit/mitigationactions/tasks/{taskId}" + }, + "input":{"shape":"StartAuditMitigationActionsTaskRequest"}, + "output":{"shape":"StartAuditMitigationActionsTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TaskAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Starts a task that applies a set of mitigation actions to the specified target.

" + }, + "StartOnDemandAuditTask":{ + "name":"StartOnDemandAuditTask", + "http":{ + "method":"POST", + "requestUri":"/audit/tasks" + }, + "input":{"shape":"StartOnDemandAuditTaskRequest"}, + "output":{"shape":"StartOnDemandAuditTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Starts an on-demand Device Defender audit.

" + }, + "StartThingRegistrationTask":{ + "name":"StartThingRegistrationTask", + "http":{ + "method":"POST", + "requestUri":"/thing-registration-tasks" + }, + "input":{"shape":"StartThingRegistrationTaskRequest"}, + "output":{"shape":"StartThingRegistrationTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a bulk thing provisioning task.

" + }, + "StopThingRegistrationTask":{ + "name":"StopThingRegistrationTask", + "http":{ + "method":"PUT", + "requestUri":"/thing-registration-tasks/{taskId}/cancel" + }, + "input":{"shape":"StopThingRegistrationTaskRequest"}, + "output":{"shape":"StopThingRegistrationTaskResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Cancels a bulk thing provisioning task.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

" + }, + "TestAuthorization":{ + "name":"TestAuthorization", + "http":{ + "method":"POST", + "requestUri":"/test-authorization" + }, + "input":{"shape":"TestAuthorizationRequest"}, + "output":{"shape":"TestAuthorizationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Tests if a specified principal is authorized to perform an AWS IoT action on a specified resource. Use this to test and debug the authorization behavior of devices that connect to the AWS IoT device gateway.

" + }, + "TestInvokeAuthorizer":{ + "name":"TestInvokeAuthorizer", + "http":{ + "method":"POST", + "requestUri":"/authorizer/{authorizerName}/test" + }, + "input":{"shape":"TestInvokeAuthorizerRequest"}, + "output":{"shape":"TestInvokeAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"InvalidResponseException"} + ], + "documentation":"

Tests a custom authorization behavior by invoking a specified custom authorizer. Use this to test and debug the custom authorization behavior of devices that connect to the AWS IoT device gateway.

" + }, + "TransferCertificate":{ + "name":"TransferCertificate", + "http":{ + "method":"PATCH", + "requestUri":"/transfer-certificate/{certificateId}" + }, + "input":{"shape":"TransferCertificateRequest"}, + "output":{"shape":"TransferCertificateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateStateException"}, + {"shape":"TransferConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Transfers the specified certificate to the specified AWS account.

You can cancel the transfer until it is acknowledged by the recipient.

No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target.

The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untag" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Removes the given tags (metadata) from the resource.

" + }, + "UpdateAccountAuditConfiguration":{ + "name":"UpdateAccountAuditConfiguration", + "http":{ + "method":"PATCH", + "requestUri":"/audit/configuration" + }, + "input":{"shape":"UpdateAccountAuditConfigurationRequest"}, + "output":{"shape":"UpdateAccountAuditConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

" + }, + "UpdateAuthorizer":{ + "name":"UpdateAuthorizer", + "http":{ + "method":"PUT", + "requestUri":"/authorizer/{authorizerName}" + }, + "input":{"shape":"UpdateAuthorizerRequest"}, + "output":{"shape":"UpdateAuthorizerResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates an authorizer.

" + }, + "UpdateBillingGroup":{ + "name":"UpdateBillingGroup", + "http":{ + "method":"PATCH", + "requestUri":"/billing-groups/{billingGroupName}" + }, + "input":{"shape":"UpdateBillingGroupRequest"}, + "output":{"shape":"UpdateBillingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates information about the billing group.

" + }, + "UpdateCACertificate":{ + "name":"UpdateCACertificate", + "http":{ + "method":"PUT", + "requestUri":"/cacertificate/{caCertificateId}" + }, + "input":{"shape":"UpdateCACertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a registered CA certificate.

" + }, + "UpdateCertificate":{ + "name":"UpdateCertificate", + "http":{ + "method":"PUT", + "requestUri":"/certificates/{certificateId}" + }, + "input":{"shape":"UpdateCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateStateException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

" + }, + "UpdateDimension":{ + "name":"UpdateDimension", + "http":{ + "method":"PATCH", + "requestUri":"/dimensions/{name}" + }, + "input":{"shape":"UpdateDimensionRequest"}, + "output":{"shape":"UpdateDimensionResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and re-create it).

" + }, + "UpdateDomainConfiguration":{ + "name":"UpdateDomainConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/domainConfigurations/{domainConfigurationName}" + }, + "input":{"shape":"UpdateDomainConfigurationRequest"}, + "output":{"shape":"UpdateDomainConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"CertificateValidationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

The domain configuration feature is in public preview and is subject to change.

" + }, + "UpdateDynamicThingGroup":{ + "name":"UpdateDynamicThingGroup", + "http":{ + "method":"PATCH", + "requestUri":"/dynamic-thing-groups/{thingGroupName}" + }, + "input":{"shape":"UpdateDynamicThingGroupRequest"}, + "output":{"shape":"UpdateDynamicThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidQueryException"} + ], + "documentation":"

Updates a dynamic thing group.

" + }, + "UpdateEventConfigurations":{ + "name":"UpdateEventConfigurations", + "http":{ + "method":"PATCH", + "requestUri":"/event-configurations" + }, + "input":{"shape":"UpdateEventConfigurationsRequest"}, + "output":{"shape":"UpdateEventConfigurationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the event configurations.

" + }, + "UpdateIndexingConfiguration":{ + "name":"UpdateIndexingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/indexing/config" + }, + "input":{"shape":"UpdateIndexingConfigurationRequest"}, + "output":{"shape":"UpdateIndexingConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the search configuration.

" + }, + "UpdateJob":{ + "name":"UpdateJob", + "http":{ + "method":"PATCH", + "requestUri":"/jobs/{jobId}" + }, + "input":{"shape":"UpdateJobRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Updates supported fields of the specified job.

" + }, + "UpdateMitigationAction":{ + "name":"UpdateMitigationAction", + "http":{ + "method":"PATCH", + "requestUri":"/mitigationactions/actions/{actionName}" + }, + "input":{"shape":"UpdateMitigationActionRequest"}, + "output":{"shape":"UpdateMitigationActionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the definition for the specified mitigation action.

" + }, + "UpdateProvisioningTemplate":{ + "name":"UpdateProvisioningTemplate", + "http":{ + "method":"PATCH", + "requestUri":"/provisioning-templates/{templateName}" + }, + "input":{"shape":"UpdateProvisioningTemplateRequest"}, + "output":{"shape":"UpdateProvisioningTemplateResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Updates a fleet provisioning template.

" + }, + "UpdateRoleAlias":{ + "name":"UpdateRoleAlias", + "http":{ + "method":"PUT", + "requestUri":"/role-aliases/{roleAlias}" + }, + "input":{"shape":"UpdateRoleAliasRequest"}, + "output":{"shape":"UpdateRoleAliasResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a role alias.

" + }, + "UpdateScheduledAudit":{ + "name":"UpdateScheduledAudit", + "http":{ + "method":"PATCH", + "requestUri":"/audit/scheduledaudits/{scheduledAuditName}" + }, + "input":{"shape":"UpdateScheduledAuditRequest"}, + "output":{"shape":"UpdateScheduledAuditResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a scheduled audit, including which checks are performed and how often the audit takes place.

" + }, + "UpdateSecurityProfile":{ + "name":"UpdateSecurityProfile", + "http":{ + "method":"PATCH", + "requestUri":"/security-profiles/{securityProfileName}" + }, + "input":{"shape":"UpdateSecurityProfileRequest"}, + "output":{"shape":"UpdateSecurityProfileResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates a Device Defender security profile.

" + }, + "UpdateStream":{ + "name":"UpdateStream", + "http":{ + "method":"PUT", + "requestUri":"/streams/{streamId}" + }, + "input":{"shape":"UpdateStreamRequest"}, + "output":{"shape":"UpdateStreamResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates an existing stream. The stream version will be incremented by one.

" + }, + "UpdateThing":{ + "name":"UpdateThing", + "http":{ + "method":"PATCH", + "requestUri":"/things/{thingName}" + }, + "input":{"shape":"UpdateThingRequest"}, + "output":{"shape":"UpdateThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the data for a thing.

" + }, + "UpdateThingGroup":{ + "name":"UpdateThingGroup", + "http":{ + "method":"PATCH", + "requestUri":"/thing-groups/{thingGroupName}" + }, + "input":{"shape":"UpdateThingGroupRequest"}, + "output":{"shape":"UpdateThingGroupResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"VersionConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Update a thing group.

" + }, + "UpdateThingGroupsForThing":{ + "name":"UpdateThingGroupsForThing", + "http":{ + "method":"PUT", + "requestUri":"/thing-groups/updateThingGroupsForThing" + }, + "input":{"shape":"UpdateThingGroupsForThingRequest"}, + "output":{"shape":"UpdateThingGroupsForThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the groups to which the thing belongs.

" + }, + "UpdateTopicRuleDestination":{ + "name":"UpdateTopicRuleDestination", + "http":{ + "method":"PATCH", + "requestUri":"/destinations" + }, + "input":{"shape":"UpdateTopicRuleDestinationRequest"}, + "output":{"shape":"UpdateTopicRuleDestinationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"ConflictingResourceUpdateException"} + ], + "documentation":"

Updates a topic rule destination. You use this to change the status, endpoint URL, or confirmation URL of the destination.

" + }, + "ValidateSecurityProfileBehaviors":{ + "name":"ValidateSecurityProfileBehaviors", + "http":{ + "method":"POST", + "requestUri":"/security-profile-behaviors/validate" + }, + "input":{"shape":"ValidateSecurityProfileBehaviorsRequest"}, + "output":{"shape":"ValidateSecurityProfileBehaviorsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Validates a Device Defender security profile behaviors specification.

" + } + }, + "shapes":{ + "AbortAction":{ + "type":"string", + "enum":["CANCEL"] + }, + "AbortConfig":{ + "type":"structure", + "required":["criteriaList"], + "members":{ + "criteriaList":{ + "shape":"AbortCriteriaList", + "documentation":"

The list of abort criteria to define rules to abort the job.

" + } + }, + "documentation":"

Details of abort criteria to abort the job.

" + }, + "AbortCriteria":{ + "type":"structure", + "required":[ + "failureType", + "action", + "thresholdPercentage", + "minNumberOfExecutedThings" + ], + "members":{ + "failureType":{ + "shape":"JobExecutionFailureType", + "documentation":"

The type of job execution failure to define a rule to initiate a job abort.

" + }, + "action":{ + "shape":"AbortAction", + "documentation":"

The type of abort action to initiate a job abort.

" + }, + "thresholdPercentage":{ + "shape":"AbortThresholdPercentage", + "documentation":"

The threshold as a percentage of the total number of executed things that will initiate a job abort.

AWS IoT supports up to two digits after the decimal (for example, 10.9 and 10.99, but not 10.999).

" + }, + "minNumberOfExecutedThings":{ + "shape":"MinimumNumberOfExecutedThings", + "documentation":"

Minimum number of executed things before evaluating an abort rule.

" + } + }, + "documentation":"

Details of abort criteria to define rules to abort the job.

" + }, + "AbortCriteriaList":{ + "type":"list", + "member":{"shape":"AbortCriteria"}, + "min":1 + }, + "AbortThresholdPercentage":{ + "type":"double", + "max":100 + }, + "AcceptCertificateTransferRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"certificateId" + }, + "setAsActive":{ + "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", + "location":"querystring", + "locationName":"setAsActive" + } + }, + "documentation":"

The input for the AcceptCertificateTransfer operation.

" + }, + "AcmCertificateArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:acm:[a-z]{2}-(gov-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/?[a-zA-Z0-9/-]+" }, "Action":{ "type":"structure", "members":{ - "dynamoDB":{ - "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.

" - }, - "sns":{ - "shape":"SnsAction", - "documentation":"

Publish to an Amazon SNS topic.

" - }, - "sqs":{ - "shape":"SqsAction", - "documentation":"

Publish to an Amazon SQS queue.

" - }, - "kinesis":{ - "shape":"KinesisAction", - "documentation":"

Write data to an Amazon Kinesis stream.

" - }, - "republish":{ - "shape":"RepublishAction", - "documentation":"

Publish to another MQTT topic.

" - }, - "s3":{ - "shape":"S3Action", - "documentation":"

Write to an Amazon S3 bucket.

" + "dynamoDB":{ + "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.

" + }, + "sns":{ + "shape":"SnsAction", + "documentation":"

Publish to an Amazon SNS topic.

" + }, + "sqs":{ + "shape":"SqsAction", + "documentation":"

Publish to an Amazon SQS queue.

" + }, + "kinesis":{ + "shape":"KinesisAction", + "documentation":"

Write data to an Amazon Kinesis stream.

" + }, + "republish":{ + "shape":"RepublishAction", + "documentation":"

Publish to another MQTT topic.

" + }, + "s3":{ + "shape":"S3Action", + "documentation":"

Write to an Amazon S3 bucket.

" + }, + "firehose":{ + "shape":"FirehoseAction", + "documentation":"

Write to an Amazon Kinesis Firehose stream.

" + }, + "cloudwatchMetric":{ + "shape":"CloudwatchMetricAction", + "documentation":"

Capture a CloudWatch metric.

" + }, + "cloudwatchAlarm":{ + "shape":"CloudwatchAlarmAction", + "documentation":"

Change the state of a CloudWatch alarm.

" + }, + "cloudwatchLogs":{ + "shape":"CloudwatchLogsAction", + "documentation":"

Send data to CloudWatch Logs.

" + }, + "elasticsearch":{ + "shape":"ElasticsearchAction", + "documentation":"

Write data to an Amazon Elasticsearch Service domain.

" + }, + "salesforce":{ + "shape":"SalesforceAction", + "documentation":"

Send a message to a Salesforce IoT Cloud Input Stream.

" + }, + "iotAnalytics":{ + "shape":"IotAnalyticsAction", + "documentation":"

Sends message data to an AWS IoT Analytics channel.

" + }, + "iotEvents":{ + "shape":"IotEventsAction", + "documentation":"

Sends an input to an AWS IoT Events detector.

" + }, + "iotSiteWise":{ + "shape":"IotSiteWiseAction", + "documentation":"

Sends data from the MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

" + }, + "stepFunctions":{ + "shape":"StepFunctionsAction", + "documentation":"

Starts execution of a Step Functions state machine.

" + }, + "http":{ + "shape":"HttpAction", + "documentation":"

Send data to an HTTPS endpoint.

" + } + }, + "documentation":"

Describes the actions associated with a rule.

" + }, + "ActionList":{ + "type":"list", + "member":{"shape":"Action"}, + "max":10, + "min":0 + }, + "ActionType":{ + "type":"string", + "enum":[ + "PUBLISH", + "SUBSCRIBE", + "RECEIVE", + "CONNECT" + ] + }, + "ActiveViolation":{ + "type":"structure", + "members":{ + "violationId":{ + "shape":"ViolationId", + "documentation":"

The ID of the active violation.

" + }, + "thingName":{ + "shape":"DeviceDefenderThingName", + "documentation":"

The name of the thing responsible for the active violation.

" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The security profile whose behavior is in violation.

" + }, + "behavior":{ + "shape":"Behavior", + "documentation":"

The behavior which is being violated.

" + }, + "lastViolationValue":{ + "shape":"MetricValue", + "documentation":"

The value of the metric (the measurement) which caused the most recent violation.

" + }, + "lastViolationTime":{ + "shape":"Timestamp", + "documentation":"

The time the most recent violation occurred.

" + }, + "violationStartTime":{ + "shape":"Timestamp", + "documentation":"

The time the violation started.

" + } + }, + "documentation":"

Information about an active Device Defender security profile behavior violation.

" + }, + "ActiveViolations":{ + "type":"list", + "member":{"shape":"ActiveViolation"} + }, + "AddThingToBillingGroupRequest":{ + "type":"structure", + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

" + }, + "billingGroupArn":{ + "shape":"BillingGroupArn", + "documentation":"

The ARN of the billing group.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to be added to the billing group.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing to be added to the billing group.

" + } + } + }, + "AddThingToBillingGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "AddThingToThingGroupRequest":{ + "type":"structure", + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the group to which you are adding a thing.

" + }, + "thingGroupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The ARN of the group to which you are adding a thing.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to add to a group.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing to add to a group.

" + }, + "overrideDynamicGroups":{ + "shape":"OverrideDynamicGroups", + "documentation":"

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

" + } + } + }, + "AddThingToThingGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "AddThingsToThingGroupParams":{ + "type":"structure", + "required":["thingGroupNames"], + "members":{ + "thingGroupNames":{ + "shape":"ThingGroupNames", + "documentation":"

The list of groups to which you want to add the things that triggered the mitigation action. You can add a thing to a maximum of 10 groups, but you cannot add a thing to more than one group in the same hierarchy.

" + }, + "overrideDynamicGroups":{ + "shape":"OverrideDynamicGroups", + "documentation":"

Specifies if this mitigation action can move the things that triggered the mitigation action even if they are part of one or more dynamic things groups.

" + } + }, + "documentation":"

Parameters used when defining a mitigation action that move a set of things to a thing group.

" + }, + "AdditionalMetricsToRetainList":{ + "type":"list", + "member":{"shape":"BehaviorMetric"} + }, + "AdditionalMetricsToRetainV2List":{ + "type":"list", + "member":{"shape":"MetricToRetain"} + }, + "AdditionalParameterMap":{ + "type":"map", + "key":{"shape":"AttributeKey"}, + "value":{"shape":"Value"} + }, + "AggregationField":{ + "type":"string", + "min":1 + }, + "AlarmName":{"type":"string"}, + "AlertTarget":{ + "type":"structure", + "required":[ + "alertTargetArn", + "roleArn" + ], + "members":{ + "alertTargetArn":{ + "shape":"AlertTargetArn", + "documentation":"

The ARN of the notification target to which alerts are sent.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that grants permission to send alerts to the notification target.

" + } + }, + "documentation":"

A structure containing the alert target ARN and the role ARN.

" + }, + "AlertTargetArn":{"type":"string"}, + "AlertTargetType":{ + "type":"string", + "documentation":"

The type of alert target: one of \"SNS\".

", + "enum":["SNS"] + }, + "AlertTargets":{ + "type":"map", + "key":{"shape":"AlertTargetType"}, + "value":{"shape":"AlertTarget"} + }, + "AllowAuthorizerOverride":{"type":"boolean"}, + "AllowAutoRegistration":{"type":"boolean"}, + "Allowed":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

A list of policies that allowed the authentication.

" + } + }, + "documentation":"

Contains information that allowed the authorization.

" + }, + "ApproximateSecondsBeforeTimedOut":{"type":"long"}, + "AscendingOrder":{"type":"boolean"}, + "AssetId":{"type":"string"}, + "AssetPropertyAlias":{ + "type":"string", + "max":2048, + "min":1 + }, + "AssetPropertyBooleanValue":{"type":"string"}, + "AssetPropertyDoubleValue":{"type":"string"}, + "AssetPropertyEntryId":{"type":"string"}, + "AssetPropertyId":{"type":"string"}, + "AssetPropertyIntegerValue":{"type":"string"}, + "AssetPropertyOffsetInNanos":{"type":"string"}, + "AssetPropertyQuality":{"type":"string"}, + "AssetPropertyStringValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "AssetPropertyTimeInSeconds":{"type":"string"}, + "AssetPropertyTimestamp":{ + "type":"structure", + "required":["timeInSeconds"], + "members":{ + "timeInSeconds":{ + "shape":"AssetPropertyTimeInSeconds", + "documentation":"

A string that contains the time in seconds since epoch. Accepts substitution templates.

" + }, + "offsetInNanos":{ + "shape":"AssetPropertyOffsetInNanos", + "documentation":"

Optional. A string that contains the nanosecond time offset. Accepts substitution templates.

" + } + }, + "documentation":"

An asset property timestamp entry containing the following information.

" + }, + "AssetPropertyValue":{ + "type":"structure", + "required":[ + "value", + "timestamp" + ], + "members":{ + "value":{ + "shape":"AssetPropertyVariant", + "documentation":"

The value of the asset property.

" + }, + "timestamp":{ + "shape":"AssetPropertyTimestamp", + "documentation":"

The asset property value timestamp.

" + }, + "quality":{ + "shape":"AssetPropertyQuality", + "documentation":"

Optional. A string that describes the quality of the value. Accepts substitution templates. Must be GOOD, BAD, or UNCERTAIN.

" + } + }, + "documentation":"

An asset property value entry containing the following information.

" + }, + "AssetPropertyValueList":{ + "type":"list", + "member":{"shape":"AssetPropertyValue"}, + "min":1 + }, + "AssetPropertyVariant":{ + "type":"structure", + "members":{ + "stringValue":{ + "shape":"AssetPropertyStringValue", + "documentation":"

Optional. The string value of the value entry. Accepts substitution templates.

" + }, + "integerValue":{ + "shape":"AssetPropertyIntegerValue", + "documentation":"

Optional. A string that contains the integer value of the value entry. Accepts substitution templates.

" + }, + "doubleValue":{ + "shape":"AssetPropertyDoubleValue", + "documentation":"

Optional. A string that contains the double value of the value entry. Accepts substitution templates.

" + }, + "booleanValue":{ + "shape":"AssetPropertyBooleanValue", + "documentation":"

Optional. A string that contains the boolean value (true or false) of the value entry. Accepts substitution templates.

" + } + }, + "documentation":"

Contains an asset property value (of a single type).

" + }, + "AssociateTargetsWithJobRequest":{ + "type":"structure", + "required":[ + "targets", + "jobId" + ], + "members":{ + "targets":{ + "shape":"JobTargets", + "documentation":"

A list of thing group ARNs that define the targets of the job.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "comment":{ + "shape":"Comment", + "documentation":"

An optional comment string describing why the job was associated with the targets.

" + } + } + }, + "AssociateTargetsWithJobResponse":{ + "type":"structure", + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

An ARN identifying the job.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "description":{ + "shape":"JobDescription", + "documentation":"

A short text description of the job.

" + } + } + }, + "AttachPolicyRequest":{ + "type":"structure", + "required":[ + "policyName", + "target" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy to attach.

", + "location":"uri", + "locationName":"policyName" + }, + "target":{ + "shape":"PolicyTarget", + "documentation":"

The identity to which the policy is attached.

" + } + } + }, + "AttachPrincipalPolicyRequest":{ + "type":"structure", + "required":[ + "policyName", + "principal" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"uri", + "locationName":"policyName" + }, + "principal":{ + "shape":"Principal", + "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", + "location":"header", + "locationName":"x-amzn-iot-principal" + } + }, + "documentation":"

The input for the AttachPrincipalPolicy operation.

" + }, + "AttachSecurityProfileRequest":{ + "type":"structure", + "required":[ + "securityProfileName", + "securityProfileTargetArn" + ], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The security profile that is attached.

", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "documentation":"

The ARN of the target (thing group) to which the security profile is attached.

", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "AttachSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "AttachThingPrincipalRequest":{ + "type":"structure", + "required":[ + "thingName", + "principal" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

", + "location":"uri", + "locationName":"thingName" + }, + "principal":{ + "shape":"Principal", + "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", + "location":"header", + "locationName":"x-amzn-principal" + } + }, + "documentation":"

The input for the AttachThingPrincipal operation.

" + }, + "AttachThingPrincipalResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output from the AttachThingPrincipal operation.

" + }, + "AttributeKey":{"type":"string"}, + "AttributeName":{ + "type":"string", + "max":128, + "pattern":"[a-zA-Z0-9_.,@/:#-]+" + }, + "AttributePayload":{ + "type":"structure", + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

A JSON string containing up to three key-value pair in JSON format. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" + }, + "merge":{ + "shape":"Flag", + "documentation":"

Specifies whether the list of attributes provided in the AttributePayload is merged with the attributes stored in the registry, instead of overwriting them.

To remove an attribute, call UpdateThing with an empty attribute value.

The merge attribute is only valid when calling UpdateThing or UpdateThingGroup.

" + } + }, + "documentation":"

The attribute payload.

" + }, + "AttributeValue":{ + "type":"string", + "max":800, + "pattern":"[a-zA-Z0-9_.,@/:#-]*" + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "AttributesMap":{ + "type":"map", + "key":{"shape":"AttributeKey"}, + "value":{"shape":"Value"} + }, + "AuditCheckConfiguration":{ + "type":"structure", + "members":{ + "enabled":{ + "shape":"Enabled", + "documentation":"

True if this audit check is enabled for this account.

" + } + }, + "documentation":"

Which audit checks are enabled and disabled for this account.

" + }, + "AuditCheckConfigurations":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"AuditCheckConfiguration"} + }, + "AuditCheckDetails":{ + "type":"structure", + "members":{ + "checkRunStatus":{ + "shape":"AuditCheckRunStatus", + "documentation":"

The completion status of this check. One of \"IN_PROGRESS\", \"WAITING_FOR_DATA_COLLECTION\", \"CANCELED\", \"COMPLETED_COMPLIANT\", \"COMPLETED_NON_COMPLIANT\", or \"FAILED\".

" + }, + "checkCompliant":{ + "shape":"CheckCompliant", + "documentation":"

True if the check is complete and found all resources compliant.

" + }, + "totalResourcesCount":{ + "shape":"TotalResourcesCount", + "documentation":"

The number of resources on which the check was performed.

" + }, + "nonCompliantResourcesCount":{ + "shape":"NonCompliantResourcesCount", + "documentation":"

The number of resources that were found noncompliant during the check.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code of any error encountered when this check is performed during this audit. One of \"INSUFFICIENT_PERMISSIONS\" or \"AUDIT_CHECK_DISABLED\".

" + }, + "message":{ + "shape":"ErrorMessage", + "documentation":"

The message associated with any error encountered when this check is performed during this audit.

" + } + }, + "documentation":"

Information about the audit check.

" + }, + "AuditCheckName":{ + "type":"string", + "documentation":"

An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

" + }, + "AuditCheckRunStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "WAITING_FOR_DATA_COLLECTION", + "CANCELED", + "COMPLETED_COMPLIANT", + "COMPLETED_NON_COMPLIANT", + "FAILED" + ] + }, + "AuditCheckToActionsMapping":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"MitigationActionNameList"} + }, + "AuditCheckToReasonCodeFilter":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"ReasonForNonComplianceCodes"} + }, + "AuditDetails":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"AuditCheckDetails"} + }, + "AuditFinding":{ + "type":"structure", + "members":{ + "findingId":{ + "shape":"FindingId", + "documentation":"

A unique identifier for this set of audit findings. This identifier is used to apply mitigation tasks to one or more sets of findings.

" + }, + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

The ID of the audit that generated this result (finding).

" + }, + "checkName":{ + "shape":"AuditCheckName", + "documentation":"

The audit check that generated this result.

" + }, + "taskStartTime":{ + "shape":"Timestamp", + "documentation":"

The time the audit started.

" + }, + "findingTime":{ + "shape":"Timestamp", + "documentation":"

The time the result (finding) was discovered.

" + }, + "severity":{ + "shape":"AuditFindingSeverity", + "documentation":"

The severity of the result (finding).

" + }, + "nonCompliantResource":{ + "shape":"NonCompliantResource", + "documentation":"

The resource that was found to be noncompliant with the audit check.

" + }, + "relatedResources":{ + "shape":"RelatedResources", + "documentation":"

The list of related resources.

" + }, + "reasonForNonCompliance":{ + "shape":"ReasonForNonCompliance", + "documentation":"

The reason the resource was noncompliant.

" + }, + "reasonForNonComplianceCode":{ + "shape":"ReasonForNonComplianceCode", + "documentation":"

A code that indicates the reason that the resource was noncompliant.

" + } + }, + "documentation":"

The findings (results) of the audit.

" + }, + "AuditFindingSeverity":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ] + }, + "AuditFindings":{ + "type":"list", + "member":{"shape":"AuditFinding"} + }, + "AuditFrequency":{ + "type":"string", + "enum":[ + "DAILY", + "WEEKLY", + "BIWEEKLY", + "MONTHLY" + ] + }, + "AuditMitigationActionExecutionMetadata":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

The unique identifier for the task that applies the mitigation action.

" + }, + "findingId":{ + "shape":"FindingId", + "documentation":"

The unique identifier for the findings to which the task and associated mitigation action are applied.

" + }, + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The friendly name of the mitigation action being applied by the task.

" + }, + "actionId":{ + "shape":"MitigationActionId", + "documentation":"

The unique identifier for the mitigation action being applied by the task.

" + }, + "status":{ + "shape":"AuditMitigationActionsExecutionStatus", + "documentation":"

The current status of the task being executed.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the task was started.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the task was completed or canceled. Blank if the task is still running.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

If an error occurred, the code that indicates which type of error occurred.

" + }, + "message":{ + "shape":"ErrorMessage", + "documentation":"

If an error occurred, a message that describes the error.

" + } + }, + "documentation":"

Returned by ListAuditMitigationActionsTask, this object contains information that describes a mitigation action that has been started.

" + }, + "AuditMitigationActionExecutionMetadataList":{ + "type":"list", + "member":{"shape":"AuditMitigationActionExecutionMetadata"} + }, + "AuditMitigationActionsExecutionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "CANCELED", + "SKIPPED", + "PENDING" + ] + }, + "AuditMitigationActionsTaskId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "AuditMitigationActionsTaskMetadata":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

The unique identifier for the task.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the audit mitigation actions task was started.

" + }, + "taskStatus":{ + "shape":"AuditMitigationActionsTaskStatus", + "documentation":"

The current state of the audit mitigation actions task.

" + } + }, + "documentation":"

Information about an audit mitigation actions task that is returned by ListAuditMitigationActionsTasks.

" + }, + "AuditMitigationActionsTaskMetadataList":{ + "type":"list", + "member":{"shape":"AuditMitigationActionsTaskMetadata"} + }, + "AuditMitigationActionsTaskStatistics":{ + "type":"map", + "key":{"shape":"AuditCheckName"}, + "value":{"shape":"TaskStatisticsForAuditCheck"} + }, + "AuditMitigationActionsTaskStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "CANCELED" + ] + }, + "AuditMitigationActionsTaskTarget":{ + "type":"structure", + "members":{ + "auditTaskId":{ + "shape":"AuditTaskId", + "documentation":"

If the task will apply a mitigation action to findings from a specific audit, this value uniquely identifies the audit.

" + }, + "findingIds":{ + "shape":"FindingIds", + "documentation":"

If the task will apply a mitigation action to one or more listed findings, this value uniquely identifies those findings.

" + }, + "auditCheckToReasonCodeFilter":{ + "shape":"AuditCheckToReasonCodeFilter", + "documentation":"

Specifies a filter in the form of an audit check and set of reason codes that identify the findings from the audit to which the audit mitigation actions task apply.

" + } + }, + "documentation":"

Used in MitigationActionParams, this information identifies the target findings to which the mitigation actions are applied. Only one entry appears.

" + }, + "AuditNotificationTarget":{ + "type":"structure", + "members":{ + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The ARN of the target (SNS topic) to which audit notifications are sent.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that grants permission to send notifications to the target.

" + }, + "enabled":{ + "shape":"Enabled", + "documentation":"

True if notifications to the target are enabled.

" + } + }, + "documentation":"

Information about the targets to which audit notifications are sent.

" + }, + "AuditNotificationTargetConfigurations":{ + "type":"map", + "key":{"shape":"AuditNotificationType"}, + "value":{"shape":"AuditNotificationTarget"} + }, + "AuditNotificationType":{ + "type":"string", + "enum":["SNS"] + }, + "AuditTaskId":{ + "type":"string", + "max":40, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "AuditTaskMetadata":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

The ID of this audit.

" + }, + "taskStatus":{ + "shape":"AuditTaskStatus", + "documentation":"

The status of this audit. One of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".

" + }, + "taskType":{ + "shape":"AuditTaskType", + "documentation":"

The type of this audit. One of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

" + } + }, + "documentation":"

The audits that were performed.

" + }, + "AuditTaskMetadataList":{ + "type":"list", + "member":{"shape":"AuditTaskMetadata"} + }, + "AuditTaskStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "CANCELED" + ] + }, + "AuditTaskType":{ + "type":"string", + "enum":[ + "ON_DEMAND_AUDIT_TASK", + "SCHEDULED_AUDIT_TASK" + ] + }, + "AuthDecision":{ + "type":"string", + "enum":[ + "ALLOWED", + "EXPLICIT_DENY", + "IMPLICIT_DENY" + ] + }, + "AuthInfo":{ + "type":"structure", + "required":["resources"], + "members":{ + "actionType":{ + "shape":"ActionType", + "documentation":"

The type of action for which the principal is being authorized.

" + }, + "resources":{ + "shape":"Resources", + "documentation":"

The resources for which the principal is being authorized to perform the specified action.

" + } + }, + "documentation":"

A collection of authorization information.

" + }, + "AuthInfos":{ + "type":"list", + "member":{"shape":"AuthInfo"}, + "max":10, + "min":1 + }, + "AuthResult":{ + "type":"structure", + "members":{ + "authInfo":{ + "shape":"AuthInfo", + "documentation":"

Authorization information.

" + }, + "allowed":{ + "shape":"Allowed", + "documentation":"

The policies and statements that allowed the specified action.

" + }, + "denied":{ + "shape":"Denied", + "documentation":"

The policies and statements that denied the specified action.

" + }, + "authDecision":{ + "shape":"AuthDecision", + "documentation":"

The final authorization decision of this scenario. Multiple statements are taken into account when determining the authorization decision. An explicit deny statement can override multiple allow statements.

" + }, + "missingContextValues":{ + "shape":"MissingContextValues", + "documentation":"

Contains any missing context values found while evaluating policy.

" + } + }, + "documentation":"

The authorizer result.

" + }, + "AuthResults":{ + "type":"list", + "member":{"shape":"AuthResult"} + }, + "AuthorizerArn":{"type":"string"}, + "AuthorizerConfig":{ + "type":"structure", + "members":{ + "defaultAuthorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The name of the authorization service for a domain configuration.

" + }, + "allowAuthorizerOverride":{ + "shape":"AllowAuthorizerOverride", + "documentation":"

A Boolean that specifies whether the domain configuration's authorization service can be overridden.

", + "box":true + } + }, + "documentation":"

An object that specifies the authorization service for a domain.

" + }, + "AuthorizerDescription":{ + "type":"structure", + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

" + }, + "authorizerArn":{ + "shape":"AuthorizerArn", + "documentation":"

The authorizer ARN.

" + }, + "authorizerFunctionArn":{ + "shape":"AuthorizerFunctionArn", + "documentation":"

The authorizer's Lambda function ARN.

" + }, + "tokenKeyName":{ + "shape":"TokenKeyName", + "documentation":"

The key used to extract the token from the HTTP headers.

" + }, + "tokenSigningPublicKeys":{ + "shape":"PublicKeyMap", + "documentation":"

The public keys used to validate the token signature returned by your custom authentication service.

" + }, + "status":{ + "shape":"AuthorizerStatus", + "documentation":"

The status of the authorizer.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The UNIX timestamp of when the authorizer was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The UNIX timestamp of when the authorizer was last updated.

" + }, + "signingDisabled":{ + "shape":"BooleanKey", + "documentation":"

Specifies whether AWS IoT validates the token signature in an authorization request.

" + } + }, + "documentation":"

The authorizer description.

" + }, + "AuthorizerFunctionArn":{"type":"string"}, + "AuthorizerName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w=,@-]+" + }, + "AuthorizerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "AuthorizerSummary":{ + "type":"structure", + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

" + }, + "authorizerArn":{ + "shape":"AuthorizerArn", + "documentation":"

The authorizer ARN.

" + } + }, + "documentation":"

The authorizer summary.

" + }, + "Authorizers":{ + "type":"list", + "member":{"shape":"AuthorizerSummary"} + }, + "AutoRegistrationStatus":{ + "type":"string", + "enum":[ + "ENABLE", + "DISABLE" + ] + }, + "Average":{"type":"double"}, + "AwsAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"[0-9]+" + }, + "AwsArn":{"type":"string"}, + "AwsIotJobArn":{"type":"string"}, + "AwsIotJobId":{"type":"string"}, + "AwsIotSqlVersion":{"type":"string"}, + "AwsJobExecutionsRolloutConfig":{ + "type":"structure", + "members":{ + "maximumPerMinute":{ + "shape":"MaximumPerMinute", + "documentation":"

The maximum number of OTA update job executions started per minute.

" + } + }, + "documentation":"

Configuration for the rollout of OTA updates.

" + }, + "AwsJobPresignedUrlConfig":{ + "type":"structure", + "members":{ + "expiresInSec":{ + "shape":"ExpiresInSeconds", + "documentation":"

How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 1800 seconds. Pre-signed URLs are generated when a request for the job document is received.

" + } + }, + "documentation":"

Configuration information for pre-signed URLs. Valid when protocols contains HTTP.

" + }, + "Behavior":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BehaviorName", + "documentation":"

The name you have given to the behavior.

" + }, + "metric":{ + "shape":"BehaviorMetric", + "documentation":"

What is measured by the behavior.

" + }, + "metricDimension":{ + "shape":"MetricDimension", + "documentation":"

The dimension for a metric in your behavior. For example, using a TOPIC_FILTER dimension, you can narrow down the scope of the metric only to MQTT topics whose name match the pattern specified in the dimension.

" + }, + "criteria":{ + "shape":"BehaviorCriteria", + "documentation":"

The criteria that determine if a device is behaving normally in regard to the metric.

" + } + }, + "documentation":"

A Device Defender security profile behavior.

" + }, + "BehaviorCriteria":{ + "type":"structure", + "members":{ + "comparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

The operator that relates the thing measured (metric) to the criteria (containing a value or statisticalThreshold).

" + }, + "value":{ + "shape":"MetricValue", + "documentation":"

The value to be compared with the metric.

" + }, + "durationSeconds":{ + "shape":"DurationSeconds", + "documentation":"

Use this to specify the time duration over which the behavior is evaluated, for those criteria which have a time dimension (for example, NUM_MESSAGES_SENT). For a statisticalThreshhold metric comparison, measurements from all devices are accumulated over this time duration before being used to calculate percentiles, and later, measurements from an individual device are also accumulated over this time duration before being given a percentile rank.

" + }, + "consecutiveDatapointsToAlarm":{ + "shape":"ConsecutiveDatapointsToAlarm", + "documentation":"

If a device is in violation of the behavior for the specified number of consecutive datapoints, an alarm occurs. If not specified, the default is 1.

" + }, + "consecutiveDatapointsToClear":{ + "shape":"ConsecutiveDatapointsToClear", + "documentation":"

If an alarm has occurred and the offending device is no longer in violation of the behavior for the specified number of consecutive datapoints, the alarm is cleared. If not specified, the default is 1.

" + }, + "statisticalThreshold":{ + "shape":"StatisticalThreshold", + "documentation":"

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" + } + }, + "documentation":"

The criteria by which the behavior is determined to be normal.

" + }, + "BehaviorMetric":{"type":"string"}, + "BehaviorName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "Behaviors":{ + "type":"list", + "member":{"shape":"Behavior"}, + "max":100 + }, + "BillingGroupArn":{"type":"string"}, + "BillingGroupDescription":{ + "type":"string", + "max":2028, + "pattern":"[\\p{Graph}\\x20]*" + }, + "BillingGroupId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "BillingGroupMetadata":{ + "type":"structure", + "members":{ + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date the billing group was created.

" + } + }, + "documentation":"

Additional information about the billing group.

" + }, + "BillingGroupName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "BillingGroupNameAndArnList":{ + "type":"list", + "member":{"shape":"GroupNameAndArn"} + }, + "BillingGroupProperties":{ + "type":"structure", + "members":{ + "billingGroupDescription":{ + "shape":"BillingGroupDescription", + "documentation":"

The description of the billing group.

" + } + }, + "documentation":"

The properties of a billing group.

" + }, + "Boolean":{"type":"boolean"}, + "BooleanKey":{"type":"boolean"}, + "BucketName":{"type":"string"}, + "CACertificate":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The ARN of the CA certificate.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the CA certificate.

" + }, + "status":{ + "shape":"CACertificateStatus", + "documentation":"

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date the CA certificate was created.

" + } + }, + "documentation":"

A CA certificate.

" + }, + "CACertificateDescription":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The CA certificate ARN.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The CA certificate ID.

" + }, + "status":{ + "shape":"CACertificateStatus", + "documentation":"

The status of a CA certificate.

" + }, + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The CA certificate data, in PEM format.

" + }, + "ownedBy":{ + "shape":"AwsAccountId", + "documentation":"

The owner of the CA certificate.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date the CA certificate was created.

" + }, + "autoRegistrationStatus":{ + "shape":"AutoRegistrationStatus", + "documentation":"

Whether the CA certificate configured for auto registration of device certificates. Valid values are \"ENABLE\" and \"DISABLE\"

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the CA certificate was last modified.

" + }, + "customerVersion":{ + "shape":"CustomerVersion", + "documentation":"

The customer version of the CA certificate.

" + }, + "generationId":{ + "shape":"GenerationId", + "documentation":"

The generation ID of the CA certificate.

" + }, + "validity":{ + "shape":"CertificateValidity", + "documentation":"

When the CA certificate is valid.

" + } + }, + "documentation":"

Describes a CA certificate.

" + }, + "CACertificateStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "CACertificateUpdateAction":{ + "type":"string", + "enum":["DEACTIVATE"] + }, + "CACertificates":{ + "type":"list", + "member":{"shape":"CACertificate"} + }, + "CancelAuditMitigationActionsTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

The unique identifier for the task that you want to cancel.

", + "location":"uri", + "locationName":"taskId" + } + } + }, + "CancelAuditMitigationActionsTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "CancelAuditTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

The ID of the audit you want to cancel. You can only cancel an audit that is \"IN_PROGRESS\".

", + "location":"uri", + "locationName":"taskId" + } + } + }, + "CancelAuditTaskResponse":{ + "type":"structure", + "members":{ + } + }, + "CancelCertificateTransferRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"certificateId" + } + }, + "documentation":"

The input for the CancelCertificateTransfer operation.

" + }, + "CancelJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The ID of the job to be canceled.

", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing whose execution of the job will be canceled.

", + "location":"uri", + "locationName":"thingName" + }, + "force":{ + "shape":"ForceFlag", + "documentation":"

(Optional) If true the job execution will be canceled if it has status IN_PROGRESS or QUEUED, otherwise the job execution will be canceled only if it has status QUEUED. If you attempt to cancel a job execution that is IN_PROGRESS, and you do not set force to true, then an InvalidStateTransitionException will be thrown. The default is false.

Canceling a job execution which is \"IN_PROGRESS\", will cause the device to be unable to update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

", + "location":"querystring", + "locationName":"force" + }, + "expectedVersion":{ + "shape":"ExpectedVersion", + "documentation":"

(Optional) The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)

" + }, + "statusDetails":{ + "shape":"DetailsMap", + "documentation":"

A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged. You can specify at most 10 name/value pairs.

" + } + } + }, + "CancelJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "reasonCode":{ + "shape":"ReasonCode", + "documentation":"

(Optional)A reason code string that explains why the job was canceled.

" + }, + "comment":{ + "shape":"Comment", + "documentation":"

An optional comment string describing why the job was canceled.

" + }, + "force":{ + "shape":"ForceFlag", + "documentation":"

(Optional) If true job executions with status \"IN_PROGRESS\" and \"QUEUED\" are canceled, otherwise only job executions with status \"QUEUED\" are canceled. The default is false.

Canceling a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to update the job execution status. Use caution and ensure that each device executing a job which is canceled is able to recover to a valid state.

", + "location":"querystring", + "locationName":"force" + } + } + }, + "CancelJobResponse":{ + "type":"structure", + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

The job ARN.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "description":{ + "shape":"JobDescription", + "documentation":"

A short text description of the job.

" + } + } + }, + "CanceledChecksCount":{"type":"integer"}, + "CanceledFindingsCount":{"type":"long"}, + "CanceledThings":{"type":"integer"}, + "CannedAccessControlList":{ + "type":"string", + "enum":[ + "private", + "public-read", + "public-read-write", + "aws-exec-read", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control", + "log-delivery-write" + ] + }, + "Certificate":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The ARN of the certificate.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

" + }, + "status":{ + "shape":"CertificateStatus", + "documentation":"

The status of the certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" + }, + "certificateMode":{ + "shape":"CertificateMode", + "documentation":"

The mode of the certificate.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date and time the certificate was created.

" + } + }, + "documentation":"

Information about a certificate.

" + }, + "CertificateArn":{"type":"string"}, + "CertificateConflictException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CertificateDescription":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The ARN of the certificate.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate.

" + }, + "caCertificateId":{ + "shape":"CertificateId", + "documentation":"

The certificate ID of the CA certificate used to sign this certificate.

" + }, + "status":{ + "shape":"CertificateStatus", + "documentation":"

The status of the certificate.

" + }, + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" + }, + "ownedBy":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the AWS account that owns the certificate.

" + }, + "previousOwnedBy":{ + "shape":"AwsAccountId", + "documentation":"

The ID of the AWS account of the previous owner of the certificate.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date and time the certificate was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date and time the certificate was last modified.

" + }, + "customerVersion":{ + "shape":"CustomerVersion", + "documentation":"

The customer version of the certificate.

" + }, + "transferData":{ + "shape":"TransferData", + "documentation":"

The transfer data.

" + }, + "generationId":{ + "shape":"GenerationId", + "documentation":"

The generation ID of the certificate.

" + }, + "validity":{ + "shape":"CertificateValidity", + "documentation":"

When the certificate is valid.

" + }, + "certificateMode":{ + "shape":"CertificateMode", + "documentation":"

The mode of the certificate.

" + } + }, + "documentation":"

Describes a certificate.

" + }, + "CertificateId":{ + "type":"string", + "max":64, + "min":64, + "pattern":"(0x)?[a-fA-F0-9]+" + }, + "CertificateMode":{ + "type":"string", + "enum":[ + "DEFAULT", + "SNI_ONLY" + ] + }, + "CertificateName":{"type":"string"}, + "CertificatePathOnDevice":{"type":"string"}, + "CertificatePem":{ + "type":"string", + "documentation":"

The PEM of a certificate.

", + "max":65536, + "min":1 + }, + "CertificateSigningRequest":{ + "type":"string", + "min":1 + }, + "CertificateStateException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The certificate operation is not allowed.

", + "error":{"httpStatusCode":406}, + "exception":true + }, + "CertificateStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE", + "REVOKED", + "PENDING_TRANSFER", + "REGISTER_INACTIVE", + "PENDING_ACTIVATION" + ] + }, + "CertificateValidationException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

Additional information about the exception.

" + } + }, + "documentation":"

The certificate is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "CertificateValidity":{ + "type":"structure", + "members":{ + "notBefore":{ + "shape":"DateType", + "documentation":"

The certificate is not valid before this date.

" + }, + "notAfter":{ + "shape":"DateType", + "documentation":"

The certificate is not valid after this date.

" + } + }, + "documentation":"

When the certificate is valid.

" + }, + "Certificates":{ + "type":"list", + "member":{"shape":"Certificate"} + }, + "ChannelName":{"type":"string"}, + "CheckCompliant":{"type":"boolean"}, + "Cidr":{ + "type":"string", + "max":43, + "min":2, + "pattern":"[a-fA-F0-9:\\.\\/]+" + }, + "Cidrs":{ + "type":"list", + "member":{"shape":"Cidr"} + }, + "ClearDefaultAuthorizerRequest":{ + "type":"structure", + "members":{ + } + }, + "ClearDefaultAuthorizerResponse":{ + "type":"structure", + "members":{ + } + }, + "ClientId":{"type":"string"}, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "CloudwatchAlarmAction":{ + "type":"structure", + "required":[ + "roleArn", + "alarmName", + "stateReason", + "stateValue" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role that allows access to the CloudWatch alarm.

" + }, + "alarmName":{ + "shape":"AlarmName", + "documentation":"

The CloudWatch alarm name.

" + }, + "stateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the alarm change.

" + }, + "stateValue":{ + "shape":"StateValue", + "documentation":"

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

" + } + }, + "documentation":"

Describes an action that updates a CloudWatch alarm.

" + }, + "CloudwatchLogsAction":{ + "type":"structure", + "required":[ + "roleArn", + "logGroupName" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role that allows access to the CloudWatch log.

" + }, + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The CloudWatch log group to which the action sends data.

" + } + }, + "documentation":"

Describes an action that sends data to CloudWatch Logs.

" + }, + "CloudwatchMetricAction":{ + "type":"structure", + "required":[ + "roleArn", + "metricNamespace", + "metricName", + "metricValue", + "metricUnit" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role that allows access to the CloudWatch metric.

" + }, + "metricNamespace":{ + "shape":"String", + "documentation":"

The CloudWatch metric namespace name.

" + }, + "metricName":{ + "shape":"String", + "documentation":"

The CloudWatch metric name.

" + }, + "metricValue":{ + "shape":"String", + "documentation":"

The CloudWatch metric value.

" + }, + "metricUnit":{ + "shape":"String", + "documentation":"

The metric unit supported by CloudWatch.

" + }, + "metricTimestamp":{ + "shape":"String", + "documentation":"

An optional Unix timestamp.

" + } + }, + "documentation":"

Describes an action that captures a CloudWatch metric.

" + }, + "Code":{"type":"string"}, + "CodeSigning":{ + "type":"structure", + "members":{ + "awsSignerJobId":{ + "shape":"SigningJobId", + "documentation":"

The ID of the AWSSignerJob which was created to sign the file.

" + }, + "startSigningJobParameter":{ + "shape":"StartSigningJobParameter", + "documentation":"

Describes the code-signing job.

" + }, + "customCodeSigning":{ + "shape":"CustomCodeSigning", + "documentation":"

A custom method for code signing a file.

" + } + }, + "documentation":"

Describes the method to use when code signing a file.

" + }, + "CodeSigningCertificateChain":{ + "type":"structure", + "members":{ + "certificateName":{ + "shape":"CertificateName", + "documentation":"

The name of the certificate.

" + }, + "inlineDocument":{ + "shape":"InlineDocument", + "documentation":"

A base64 encoded binary representation of the code signing certificate chain.

" + } + }, + "documentation":"

Describes the certificate chain being used when code signing a file.

" + }, + "CodeSigningSignature":{ + "type":"structure", + "members":{ + "inlineDocument":{ + "shape":"Signature", + "documentation":"

A base64 encoded binary representation of the code signing signature.

" + } + }, + "documentation":"

Describes the signature for a file.

" + }, + "CognitoIdentityPoolId":{"type":"string"}, + "Comment":{ + "type":"string", + "max":2028, + "pattern":"[^\\p{C}]+" + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "less-than", + "less-than-equals", + "greater-than", + "greater-than-equals", + "in-cidr-set", + "not-in-cidr-set", + "in-port-set", + "not-in-port-set" + ] + }, + "CompliantChecksCount":{"type":"integer"}, + "Configuration":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

True to enable the configuration.

" + } + }, + "documentation":"

Configuration.

" + }, + "ConfirmTopicRuleDestinationRequest":{ + "type":"structure", + "required":["confirmationToken"], + "members":{ + "confirmationToken":{ + "shape":"ConfirmationToken", + "documentation":"

The token used to confirm ownership or access to the topic rule confirmation URL.

", + "location":"uri", + "locationName":"confirmationToken" + } + } + }, + "ConfirmTopicRuleDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "ConfirmationToken":{ + "type":"string", + "max":2048, + "min":1 + }, + "ConflictingResourceUpdateException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

A conflicting resource update exception. This exception is thrown when two pending updates cause a conflict.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ConnectivityTimestamp":{"type":"long"}, + "ConsecutiveDatapointsToAlarm":{ + "type":"integer", + "max":10, + "min":1 + }, + "ConsecutiveDatapointsToClear":{ + "type":"integer", + "max":10, + "min":1 + }, + "Count":{"type":"integer"}, + "CreateAuthorizerRequest":{ + "type":"structure", + "required":[ + "authorizerName", + "authorizerFunctionArn" + ], + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

", + "location":"uri", + "locationName":"authorizerName" + }, + "authorizerFunctionArn":{ + "shape":"AuthorizerFunctionArn", + "documentation":"

The ARN of the authorizer's Lambda function.

" + }, + "tokenKeyName":{ + "shape":"TokenKeyName", + "documentation":"

The name of the token key used to extract the token from the HTTP headers.

" + }, + "tokenSigningPublicKeys":{ + "shape":"PublicKeyMap", + "documentation":"

The public keys used to verify the digital signature returned by your custom authentication service.

" + }, + "status":{ + "shape":"AuthorizerStatus", + "documentation":"

The status of the create authorizer request.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the custom authorizer.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" + }, + "signingDisabled":{ + "shape":"BooleanKey", + "documentation":"

Specifies whether AWS IoT validates the token signature in an authorization request.

" + } + } + }, + "CreateAuthorizerResponse":{ + "type":"structure", + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer's name.

" + }, + "authorizerArn":{ + "shape":"AuthorizerArn", + "documentation":"

The authorizer ARN.

" + } + } + }, + "CreateBillingGroupRequest":{ + "type":"structure", + "required":["billingGroupName"], + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name you wish to give to the billing group.

", + "location":"uri", + "locationName":"billingGroupName" + }, + "billingGroupProperties":{ + "shape":"BillingGroupProperties", + "documentation":"

The properties of the billing group.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the billing group.

" + } + } + }, + "CreateBillingGroupResponse":{ + "type":"structure", + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name you gave to the billing group.

" + }, + "billingGroupArn":{ + "shape":"BillingGroupArn", + "documentation":"

The ARN of the billing group.

" + }, + "billingGroupId":{ + "shape":"BillingGroupId", + "documentation":"

The ID of the billing group.

" + } + } + }, + "CreateCertificateFromCsrRequest":{ + "type":"structure", + "required":["certificateSigningRequest"], + "members":{ + "certificateSigningRequest":{ + "shape":"CertificateSigningRequest", + "documentation":"

The certificate signing request (CSR).

" + }, + "setAsActive":{ + "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", + "location":"querystring", + "locationName":"setAsActive" + } + }, + "documentation":"

The input for the CreateCertificateFromCsr operation.

" + }, + "CreateCertificateFromCsrResponse":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. Certificate management operations only take a certificateId.

" + }, + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" + } + }, + "documentation":"

The output from the CreateCertificateFromCsr operation.

" + }, + "CreateDimensionRequest":{ + "type":"structure", + "required":[ + "name", + "type", + "stringValues", + "clientRequestToken" + ], + "members":{ + "name":{ + "shape":"DimensionName", + "documentation":"

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

", + "location":"uri", + "locationName":"name" + }, + "type":{ + "shape":"DimensionType", + "documentation":"

Specifies the type of dimension. Supported types: TOPIC_FILTER.

" + }, + "stringValues":{ + "shape":"DimensionStringValues", + "documentation":"

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\").

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata that can be used to manage the dimension.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", + "idempotencyToken":true + } + } + }, + "CreateDimensionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"DimensionName", + "documentation":"

A unique identifier for the dimension.

" + }, + "arn":{ + "shape":"DimensionArn", + "documentation":"

The ARN (Amazon resource name) of the created dimension.

" + } + } + }, + "CreateDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"DomainConfigurationName", + "documentation":"

The name of the domain configuration. This value must be unique to a region.

", + "location":"uri", + "locationName":"domainConfigurationName" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "serverCertificateArns":{ + "shape":"ServerCertificateArns", + "documentation":"

The ARNs of the certificates that AWS IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for AWS-managed domains.

" + }, + "validationCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for AWS-managed domains.

" + }, + "authorizerConfig":{ + "shape":"AuthorizerConfig", + "documentation":"

An object that specifies the authorization service for a domain.

" + }, + "serviceType":{ + "shape":"ServiceType", + "documentation":"

The type of service delivered by the endpoint.

AWS IoT Core currently supports only the DATA service type.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the domain configuration.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" + } + } + }, + "CreateDomainConfigurationResponse":{ + "type":"structure", + "members":{ + "domainConfigurationName":{ + "shape":"DomainConfigurationName", + "documentation":"

The name of the domain configuration.

" + }, + "domainConfigurationArn":{ + "shape":"DomainConfigurationArn", + "documentation":"

The ARN of the domain configuration.

" + } + } + }, + "CreateDynamicThingGroupRequest":{ + "type":"structure", + "required":[ + "thingGroupName", + "queryString" + ], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The dynamic thing group name to create.

", + "location":"uri", + "locationName":"thingGroupName" + }, + "thingGroupProperties":{ + "shape":"ThingGroupProperties", + "documentation":"

The dynamic thing group properties.

" + }, + "indexName":{ + "shape":"IndexName", + "documentation":"

The dynamic thing group index name.

Currently one index is supported: \"AWS_Things\".

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The dynamic thing group search query string.

See Query Syntax for information about query string syntax.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The dynamic thing group query version.

Currently one query version is supported: \"2017-09-30\". If not specified, the query version defaults to this value.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the dynamic thing group.

" + } + } + }, + "CreateDynamicThingGroupResponse":{ + "type":"structure", + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The dynamic thing group name.

" + }, + "thingGroupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The dynamic thing group ARN.

" + }, + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

The dynamic thing group ID.

" + }, + "indexName":{ + "shape":"IndexName", + "documentation":"

The dynamic thing group index name.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The dynamic thing group search query string.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The dynamic thing group query version.

" + } + } + }, + "CreateJobRequest":{ + "type":"structure", + "required":[ + "jobId", + "targets" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

A job identifier which must be unique for your AWS account. We recommend using a UUID. Alpha-numeric characters, \"-\" and \"_\" are valid for use here.

", + "location":"uri", + "locationName":"jobId" + }, + "targets":{ + "shape":"JobTargets", + "documentation":"

A list of things and thing groups to which the job should be sent.

" + }, + "documentSource":{ + "shape":"JobDocumentSource", + "documentation":"

An S3 link to the job document.

" + }, + "document":{ + "shape":"JobDocument", + "documentation":"

The job document.

If the job document resides in an S3 bucket, you must use a placeholder link when specifying the document.

The placeholder link is of the following form:

${aws:iot:s3-presigned-url:https://s3.amazonaws.com/bucket/key}

where bucket is your bucket name and key is the object in the bucket to which you are linking.

" + }, + "description":{ + "shape":"JobDescription", + "documentation":"

A short text description of the job.

" + }, + "presignedUrlConfig":{ + "shape":"PresignedUrlConfig", + "documentation":"

Configuration information for pre-signed S3 URLs.

" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

" + }, + "jobExecutionsRolloutConfig":{ + "shape":"JobExecutionsRolloutConfig", + "documentation":"

Allows you to create a staged rollout of the job.

" + }, + "abortConfig":{ + "shape":"AbortConfig", + "documentation":"

Allows you to create criteria to abort a job.

" + }, + "timeoutConfig":{ + "shape":"TimeoutConfig", + "documentation":"

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the job.

" + } + } + }, + "CreateJobResponse":{ + "type":"structure", + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

The job ARN.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job.

" + }, + "description":{ + "shape":"JobDescription", + "documentation":"

The job description.

" + } + } + }, + "CreateKeysAndCertificateRequest":{ + "type":"structure", + "members":{ + "setAsActive":{ + "shape":"SetAsActive", + "documentation":"

Specifies whether the certificate is active.

", + "location":"querystring", + "locationName":"setAsActive" + } + }, + "documentation":"

The input for the CreateKeysAndCertificate operation.

" + }, + "CreateKeysAndCertificateResponse":{ + "type":"structure", + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The ARN of the certificate.

" + }, + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).

" + }, + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" + }, + "keyPair":{ + "shape":"KeyPair", + "documentation":"

The generated key pair.

" + } + }, + "documentation":"

The output of the CreateKeysAndCertificate operation.

" + }, + "CreateMitigationActionRequest":{ + "type":"structure", + "required":[ + "actionName", + "roleArn", + "actionParams" + ], + "members":{ + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

A friendly name for the action. Choose a friendly name that accurately describes the action (for example, EnableLoggingAction).

", + "location":"uri", + "locationName":"actionName" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that is used to apply the mitigation action.

" + }, + "actionParams":{ + "shape":"MitigationActionParams", + "documentation":"

Defines the type of action and the parameters for that action.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata that can be used to manage the mitigation action.

" + } + } + }, + "CreateMitigationActionResponse":{ + "type":"structure", + "members":{ + "actionArn":{ + "shape":"MitigationActionArn", + "documentation":"

The ARN for the new mitigation action.

" + }, + "actionId":{ + "shape":"MitigationActionId", + "documentation":"

A unique identifier for the new mitigation action.

" + } + } + }, + "CreateOTAUpdateRequest":{ + "type":"structure", + "required":[ + "otaUpdateId", + "targets", + "files", + "roleArn" + ], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The ID of the OTA update to be created.

", + "location":"uri", + "locationName":"otaUpdateId" + }, + "description":{ + "shape":"OTAUpdateDescription", + "documentation":"

The description of the OTA update.

" + }, + "targets":{ + "shape":"Targets", + "documentation":"

The targeted devices to receive OTA updates.

" + }, + "protocols":{ + "shape":"Protocols", + "documentation":"

The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.

" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the update will continue to run (CONTINUOUS), or will be complete after all the things specified as targets have completed the update (SNAPSHOT). If continuous, the update may also be run on a thing when a change is detected in a target. For example, an update will run on a thing when the thing is added to a target group, even after the update was completed by all things originally in the group. Valid values: CONTINUOUS | SNAPSHOT.

" + }, + "awsJobExecutionsRolloutConfig":{ + "shape":"AwsJobExecutionsRolloutConfig", + "documentation":"

Configuration for the rollout of OTA updates.

" + }, + "awsJobPresignedUrlConfig":{ + "shape":"AwsJobPresignedUrlConfig", + "documentation":"

Configuration information for pre-signed URLs.

" + }, + "files":{ + "shape":"OTAUpdateFiles", + "documentation":"

The files to be streamed by the OTA update.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The IAM role that allows access to the AWS IoT Jobs service.

" + }, + "additionalParameters":{ + "shape":"AdditionalParameterMap", + "documentation":"

A list of additional OTA update parameters which are name-value pairs.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage updates.

" + } + } + }, + "CreateOTAUpdateResponse":{ + "type":"structure", + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The OTA update ID.

" + }, + "awsIotJobId":{ + "shape":"AwsIotJobId", + "documentation":"

The AWS IoT job ID associated with the OTA update.

" + }, + "otaUpdateArn":{ + "shape":"OTAUpdateArn", + "documentation":"

The OTA update ARN.

" + }, + "awsIotJobArn":{ + "shape":"AwsIotJobArn", + "documentation":"

The AWS IoT job ARN associated with the OTA update.

" + }, + "otaUpdateStatus":{ + "shape":"OTAUpdateStatus", + "documentation":"

The OTA update status.

" + } + } + }, + "CreatePolicyRequest":{ + "type":"structure", + "required":[ + "policyName", + "policyDocument" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"uri", + "locationName":"policyName" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the policy.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" + } + }, + "documentation":"

The input for the CreatePolicy operation.

" + }, + "CreatePolicyResponse":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

" + }, + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy.

" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

" + } + }, + "documentation":"

The output from the CreatePolicy operation.

" + }, + "CreatePolicyVersionRequest":{ + "type":"structure", + "required":[ + "policyName", + "policyDocument" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"uri", + "locationName":"policyName" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespace.

" + }, + "setAsDefault":{ + "shape":"SetAsDefault", + "documentation":"

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

", + "location":"querystring", + "locationName":"setAsDefault" + } + }, + "documentation":"

The input for the CreatePolicyVersion operation.

" + }, + "CreatePolicyVersionResponse":{ + "type":"structure", + "members":{ + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy.

" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

" + }, + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

Specifies whether the policy version is the default.

" + } + }, + "documentation":"

The output of the CreatePolicyVersion operation.

" + }, + "CreateProvisioningClaimRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the provisioning template to use.

", + "location":"uri", + "locationName":"templateName" + } + } + }, + "CreateProvisioningClaimResponse":{ + "type":"structure", + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate.

" + }, + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The provisioning claim certificate.

" + }, + "keyPair":{ + "shape":"KeyPair", + "documentation":"

The provisioning claim key pair.

" + }, + "expiration":{ + "shape":"DateType", + "documentation":"

The provisioning claim expiration time.

" + } + } + }, + "CreateProvisioningTemplateRequest":{ + "type":"structure", + "required":[ + "templateName", + "templateBody", + "provisioningRoleArn" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

" + }, + "description":{ + "shape":"TemplateDescription", + "documentation":"

The description of the fleet provisioning template.

" + }, + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The JSON formatted contents of the fleet provisioning template.

" + }, + "enabled":{ + "shape":"Enabled", + "documentation":"

True to enable the fleet provisioning template, otherwise false.

" + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

The role ARN for the role associated with the fleet provisioning template. This IoT role grants permission to provision a device.

" + }, + "preProvisioningHook":{ + "shape":"ProvisioningHook", + "documentation":"

Creates a pre-provisioning hook template.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the fleet provisioning template.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" + } + } + }, + "CreateProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + "templateArn":{ + "shape":"TemplateArn", + "documentation":"

The ARN that identifies the provisioning template.

" + }, + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

" + }, + "defaultVersionId":{ + "shape":"TemplateVersionId", + "documentation":"

The default version of the fleet provisioning template.

" + } + } + }, + "CreateProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "templateBody" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

", + "location":"uri", + "locationName":"templateName" + }, + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The JSON formatted contents of the fleet provisioning template.

" + }, + "setAsDefault":{ + "shape":"SetAsDefault", + "documentation":"

Sets a fleet provision template version as the default version.

", + "location":"querystring", + "locationName":"setAsDefault" + } + } + }, + "CreateProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + "templateArn":{ + "shape":"TemplateArn", + "documentation":"

The ARN that identifies the provisioning template.

" + }, + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

" + }, + "versionId":{ + "shape":"TemplateVersionId", + "documentation":"

The version of the fleet provisioning template.

" + }, + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

True if the fleet provisioning template version is the default version, otherwise false.

" + } + } + }, + "CreateRoleAliasRequest":{ + "type":"structure", + "required":[ + "roleAlias", + "roleArn" + ], + "members":{ + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias that points to a role ARN. This allows you to change the role without having to update the device.

", + "location":"uri", + "locationName":"roleAlias" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The role ARN.

" + }, + "credentialDurationSeconds":{ + "shape":"CredentialDurationSeconds", + "documentation":"

How long (in seconds) the credentials will be valid.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the role alias.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" + } + } + }, + "CreateRoleAliasResponse":{ + "type":"structure", + "members":{ + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias.

" + }, + "roleAliasArn":{ + "shape":"RoleAliasArn", + "documentation":"

The role alias ARN.

" + } + } + }, + "CreateScheduledAuditRequest":{ + "type":"structure", + "required":[ + "frequency", + "targetCheckNames", + "scheduledAuditName" + ], + "members":{ + "frequency":{ + "shape":"AuditFrequency", + "documentation":"

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\" or \"MONTHLY\". The start time of each audit is determined by the system.

" + }, + "dayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" + }, + "dayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

" + }, + "targetCheckNames":{ + "shape":"TargetAuditCheckNames", + "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

" + }, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name you want to give to the scheduled audit. (Max. 128 chars)

", + "location":"uri", + "locationName":"scheduledAuditName" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata that can be used to manage the scheduled audit.

" + } + } + }, + "CreateScheduledAuditResponse":{ + "type":"structure", + "members":{ + "scheduledAuditArn":{ + "shape":"ScheduledAuditArn", + "documentation":"

The ARN of the scheduled audit.

" + } + } + }, + "CreateSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name you are giving to the security profile.

", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileDescription":{ + "shape":"SecurityProfileDescription", + "documentation":"

A description of the security profile.

" + }, + "behaviors":{ + "shape":"Behaviors", + "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" + }, + "alertTargets":{ + "shape":"AlertTargets", + "documentation":"

Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.

" + }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{ + "shape":"AdditionalMetricsToRetainV2List", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata that can be used to manage the security profile.

" + } + } + }, + "CreateSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name you gave to the security profile.

" + }, + "securityProfileArn":{ + "shape":"SecurityProfileArn", + "documentation":"

The ARN of the security profile.

" + } + } + }, + "CreateStreamRequest":{ + "type":"structure", + "required":[ + "streamId", + "files", + "roleArn" + ], + "members":{ + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

", + "location":"uri", + "locationName":"streamId" + }, + "description":{ + "shape":"StreamDescription", + "documentation":"

A description of the stream.

" + }, + "files":{ + "shape":"StreamFiles", + "documentation":"

The files to stream.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

An IAM role that allows the IoT service principal assumes to access your S3 files.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage streams.

" + } + } + }, + "CreateStreamResponse":{ + "type":"structure", + "members":{ + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

" + }, + "streamArn":{ + "shape":"StreamArn", + "documentation":"

The stream ARN.

" + }, + "description":{ + "shape":"StreamDescription", + "documentation":"

A description of the stream.

" + }, + "streamVersion":{ + "shape":"StreamVersion", + "documentation":"

The version of the stream.

" + } + } + }, + "CreateThingGroupRequest":{ + "type":"structure", + "required":["thingGroupName"], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The thing group name to create.

", + "location":"uri", + "locationName":"thingGroupName" + }, + "parentGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the parent thing group.

" + }, + "thingGroupProperties":{ + "shape":"ThingGroupProperties", + "documentation":"

The thing group properties.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the thing group.

" + } + } + }, + "CreateThingGroupResponse":{ + "type":"structure", + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The thing group name.

" + }, + "thingGroupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The thing group ARN.

" + }, + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

The thing group ID.

" + } + } + }, + "CreateThingRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to create.

You can't change a thing's name after you create it. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.

", + "location":"uri", + "locationName":"thingName" + }, + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type associated with the new thing.

" + }, + "attributePayload":{ + "shape":"AttributePayload", + "documentation":"

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}}

" + }, + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group the thing will be added to.

" + } + }, + "documentation":"

The input for the CreateThing operation.

" + }, + "CreateThingResponse":{ + "type":"structure", + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the new thing.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the new thing.

" + }, + "thingId":{ + "shape":"ThingId", + "documentation":"

The thing ID.

" + } + }, + "documentation":"

The output of the CreateThing operation.

" + }, + "CreateThingTypeRequest":{ + "type":"structure", + "required":["thingTypeName"], + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", + "location":"uri", + "locationName":"thingTypeName" + }, + "thingTypeProperties":{ + "shape":"ThingTypeProperties", + "documentation":"

The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the thing type.

" + } + }, + "documentation":"

The input for the CreateThingType operation.

" + }, + "CreateThingTypeResponse":{ + "type":"structure", + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

" + }, + "thingTypeArn":{ + "shape":"ThingTypeArn", + "documentation":"

The Amazon Resource Name (ARN) of the thing type.

" + }, + "thingTypeId":{ + "shape":"ThingTypeId", + "documentation":"

The thing type ID.

" + } + }, + "documentation":"

The output of the CreateThingType operation.

" + }, + "CreateTopicRuleDestinationRequest":{ + "type":"structure", + "required":["destinationConfiguration"], + "members":{ + "destinationConfiguration":{ + "shape":"TopicRuleDestinationConfiguration", + "documentation":"

The topic rule destination configuration.

" + } + } + }, + "CreateTopicRuleDestinationResponse":{ + "type":"structure", + "members":{ + "topicRuleDestination":{ + "shape":"TopicRuleDestination", + "documentation":"

The topic rule destination.

" + } + } + }, + "CreateTopicRuleRequest":{ + "type":"structure", + "required":[ + "ruleName", + "topicRulePayload" + ], + "members":{ + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

", + "location":"uri", + "locationName":"ruleName" + }, + "topicRulePayload":{ + "shape":"TopicRulePayload", + "documentation":"

The rule payload.

" + }, + "tags":{ + "shape":"String", + "documentation":"

Metadata which can be used to manage the topic rule.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: --tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

", + "location":"header", + "locationName":"x-amz-tagging" + } + }, + "documentation":"

The input for the CreateTopicRule operation.

", + "payload":"topicRulePayload" + }, + "CreatedAtDate":{"type":"timestamp"}, + "CreationDate":{"type":"timestamp"}, + "CredentialDurationSeconds":{ + "type":"integer", + "max":3600, + "min":900 + }, + "CustomCodeSigning":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"CodeSigningSignature", + "documentation":"

The signature for the file.

" + }, + "certificateChain":{ + "shape":"CodeSigningCertificateChain", + "documentation":"

The certificate chain.

" + }, + "hashAlgorithm":{ + "shape":"HashAlgorithm", + "documentation":"

The hash algorithm used to code sign the file.

" + }, + "signatureAlgorithm":{ + "shape":"SignatureAlgorithm", + "documentation":"

The signature algorithm used to code sign the file.

" + } + }, + "documentation":"

Describes a custom method used to code sign a file.

" + }, + "CustomerVersion":{ + "type":"integer", + "min":1 + }, + "DateType":{"type":"timestamp"}, + "DayOfMonth":{ + "type":"string", + "pattern":"^([1-9]|[12][0-9]|3[01])$|^LAST$" + }, + "DayOfWeek":{ + "type":"string", + "enum":[ + "SUN", + "MON", + "TUE", + "WED", + "THU", + "FRI", + "SAT" + ] + }, + "DeleteAccountAuditConfigurationRequest":{ + "type":"structure", + "members":{ + "deleteScheduledAudits":{ + "shape":"DeleteScheduledAudits", + "documentation":"

If true, all scheduled audits are deleted.

", + "location":"querystring", + "locationName":"deleteScheduledAudits" + } + } + }, + "DeleteAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAdditionalMetricsToRetain":{"type":"boolean"}, + "DeleteAlertTargets":{"type":"boolean"}, + "DeleteAuthorizerRequest":{ + "type":"structure", + "required":["authorizerName"], + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The name of the authorizer to delete.

", + "location":"uri", + "locationName":"authorizerName" + } + } + }, + "DeleteAuthorizerResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteBehaviors":{"type":"boolean"}, + "DeleteBillingGroupRequest":{ + "type":"structure", + "required":["billingGroupName"], + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

", + "location":"uri", + "locationName":"billingGroupName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the DeleteBillingGroup request is rejected with a VersionConflictException.

", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "DeleteBillingGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteCACertificateRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate to delete. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"caCertificateId" + } + }, + "documentation":"

Input for the DeleteCACertificate operation.

" + }, + "DeleteCACertificateResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output for the DeleteCACertificate operation.

" + }, + "DeleteCertificateRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"certificateId" + }, + "forceDelete":{ + "shape":"ForceDelete", + "documentation":"

Forces the deletion of a certificate if it is inactive and is not attached to an IoT thing.

", + "location":"querystring", + "locationName":"forceDelete" + } + }, + "documentation":"

The input for the DeleteCertificate operation.

" + }, + "DeleteConflictException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

You can't delete the resource because it is attached to one or more resources.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DeleteDimensionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DimensionName", + "documentation":"

The unique identifier for the dimension that you want to delete.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteDimensionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"DomainConfigurationName", + "documentation":"

The name of the domain configuration to be deleted.

", + "location":"uri", + "locationName":"domainConfigurationName" + } + } + }, + "DeleteDomainConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDynamicThingGroupRequest":{ + "type":"structure", + "required":["thingGroupName"], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the dynamic thing group to delete.

", + "location":"uri", + "locationName":"thingGroupName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the dynamic thing group to delete.

", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "DeleteDynamicThingGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName", + "executionNumber" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The ID of the job whose execution on a particular device will be deleted.

", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing whose job execution will be deleted.

", + "location":"uri", + "locationName":"thingName" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

The ID of the job execution to be deleted. The executionNumber refers to the execution of a particular job on a particular device.

Note that once a job execution is deleted, the executionNumber may be reused by IoT, so be sure you get and use the correct value here.

", + "location":"uri", + "locationName":"executionNumber" + }, + "force":{ + "shape":"ForceFlag", + "documentation":"

(Optional) When true, you can delete a job execution which is \"IN_PROGRESS\". Otherwise, you can only delete a job execution which is in a terminal state (\"SUCCEEDED\", \"FAILED\", \"REJECTED\", \"REMOVED\" or \"CANCELED\") or an exception will occur. The default is false.

Deleting a job execution which is \"IN_PROGRESS\", will cause the device to be unable to access job information or update the job execution status. Use caution and ensure that the device is able to recover to a valid state.

", + "location":"querystring", + "locationName":"force" + } + } + }, + "DeleteJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The ID of the job to be deleted.

After a job deletion is completed, you may reuse this jobId when you create a new job. However, this is not recommended, and you must ensure that your devices are not using the jobId to refer to the deleted job.

", + "location":"uri", + "locationName":"jobId" + }, + "force":{ + "shape":"ForceFlag", + "documentation":"

(Optional) When true, you can delete a job which is \"IN_PROGRESS\". Otherwise, you can only delete a job which is in a terminal state (\"COMPLETED\" or \"CANCELED\") or an exception will occur. The default is false.

Deleting a job which is \"IN_PROGRESS\", will cause a device which is executing the job to be unable to access job information or update the job execution status. Use caution and ensure that each device executing a job which is deleted is able to recover to a valid state.

", + "location":"querystring", + "locationName":"force" + } + } + }, + "DeleteMitigationActionRequest":{ + "type":"structure", + "required":["actionName"], + "members":{ + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The name of the mitigation action that you want to delete.

", + "location":"uri", + "locationName":"actionName" + } + } + }, + "DeleteMitigationActionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteOTAUpdateRequest":{ + "type":"structure", + "required":["otaUpdateId"], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The OTA update ID to delete.

", + "location":"uri", + "locationName":"otaUpdateId" + }, + "deleteStream":{ + "shape":"DeleteStream", + "documentation":"

Specifies if the stream associated with an OTA update should be deleted when the OTA update is deleted.

", + "location":"querystring", + "locationName":"deleteStream" + }, + "forceDeleteAWSJob":{ + "shape":"ForceDeleteAWSJob", + "documentation":"

Specifies if the AWS Job associated with the OTA update should be deleted with the OTA update is deleted.

", + "location":"querystring", + "locationName":"forceDeleteAWSJob" + } + } + }, + "DeleteOTAUpdateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeletePolicyRequest":{ + "type":"structure", + "required":["policyName"], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy to delete.

", + "location":"uri", + "locationName":"policyName" + } + }, + "documentation":"

The input for the DeletePolicy operation.

" + }, + "DeletePolicyVersionRequest":{ + "type":"structure", + "required":[ + "policyName", + "policyVersionId" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy.

", + "location":"uri", + "locationName":"policyName" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", + "location":"uri", + "locationName":"policyVersionId" + } + }, + "documentation":"

The input for the DeletePolicyVersion operation.

" + }, + "DeleteProvisioningTemplateRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provision template to delete.

", + "location":"uri", + "locationName":"templateName" + } + } + }, + "DeleteProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "versionId" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template version to delete.

", + "location":"uri", + "locationName":"templateName" + }, + "versionId":{ + "shape":"TemplateVersionId", + "documentation":"

The fleet provisioning template version ID to delete.

", + "location":"uri", + "locationName":"versionId" + } + } + }, + "DeleteProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRegistrationCodeRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

The input for the DeleteRegistrationCode operation.

" + }, + "DeleteRegistrationCodeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output for the DeleteRegistrationCode operation.

" + }, + "DeleteRoleAliasRequest":{ + "type":"structure", + "required":["roleAlias"], + "members":{ + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias to delete.

", + "location":"uri", + "locationName":"roleAlias" + } + } + }, + "DeleteRoleAliasResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteScheduledAuditRequest":{ + "type":"structure", + "required":["scheduledAuditName"], + "members":{ + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit you want to delete.

", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "DeleteScheduledAuditResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteScheduledAudits":{"type":"boolean"}, + "DeleteSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile to be deleted.

", + "location":"uri", + "locationName":"securityProfileName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "DeleteSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteStream":{"type":"boolean"}, + "DeleteStreamRequest":{ + "type":"structure", + "required":["streamId"], + "members":{ + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

", + "location":"uri", + "locationName":"streamId" + } + } + }, + "DeleteStreamResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteThingGroupRequest":{ + "type":"structure", + "required":["thingGroupName"], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the thing group to delete.

", + "location":"uri", + "locationName":"thingGroupName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the thing group to delete.

", + "location":"querystring", + "locationName":"expectedVersion" + } + } + }, + "DeleteThingGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteThingRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to delete.

", + "location":"uri", + "locationName":"thingName" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.

", + "location":"querystring", + "locationName":"expectedVersion" + } + }, + "documentation":"

The input for the DeleteThing operation.

" + }, + "DeleteThingResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output of the DeleteThing operation.

" + }, + "DeleteThingTypeRequest":{ + "type":"structure", + "required":["thingTypeName"], + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", + "location":"uri", + "locationName":"thingTypeName" + } + }, + "documentation":"

The input for the DeleteThingType operation.

" + }, + "DeleteThingTypeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output for the DeleteThingType operation.

" + }, + "DeleteTopicRuleDestinationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the topic rule destination to delete.

", + "location":"uri", + "locationName":"arn" + } + } + }, + "DeleteTopicRuleDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTopicRuleRequest":{ + "type":"structure", + "required":["ruleName"], + "members":{ + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

", + "location":"uri", + "locationName":"ruleName" + } + }, + "documentation":"

The input for the DeleteTopicRule operation.

" + }, + "DeleteV2LoggingLevelRequest":{ + "type":"structure", + "required":[ + "targetType", + "targetName" + ], + "members":{ + "targetType":{ + "shape":"LogTargetType", + "documentation":"

The type of resource for which you are configuring logging. Must be THING_Group.

", + "location":"querystring", + "locationName":"targetType" + }, + "targetName":{ + "shape":"LogTargetName", + "documentation":"

The name of the resource for which you are configuring logging.

", + "location":"querystring", + "locationName":"targetName" + } + } + }, + "DeliveryStreamName":{"type":"string"}, + "Denied":{ + "type":"structure", + "members":{ + "implicitDeny":{ + "shape":"ImplicitDeny", + "documentation":"

Information that implicitly denies the authorization. When a policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

" + }, + "explicitDeny":{ + "shape":"ExplicitDeny", + "documentation":"

Information that explicitly denies the authorization.

" + } + }, + "documentation":"

Contains information that denied the authorization.

" + }, + "DeprecateThingTypeRequest":{ + "type":"structure", + "required":["thingTypeName"], + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type to deprecate.

", + "location":"uri", + "locationName":"thingTypeName" + }, + "undoDeprecate":{ + "shape":"UndoDeprecate", + "documentation":"

Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.

" + } + }, + "documentation":"

The input for the DeprecateThingType operation.

" + }, + "DeprecateThingTypeResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output for the DeprecateThingType operation.

" + }, + "DeprecationDate":{"type":"timestamp"}, + "DescribeAccountAuditConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.

On the first call to UpdateAccountAuditConfiguration, this parameter is required.

" + }, + "auditNotificationTargetConfigurations":{ + "shape":"AuditNotificationTargetConfigurations", + "documentation":"

Information about the targets to which audit notifications are sent for this account.

" + }, + "auditCheckConfigurations":{ + "shape":"AuditCheckConfigurations", + "documentation":"

Which audit checks are enabled and disabled for this account.

" + } + } + }, + "DescribeAuditFindingRequest":{ + "type":"structure", + "required":["findingId"], + "members":{ + "findingId":{ + "shape":"FindingId", + "documentation":"

A unique identifier for a single audit finding. You can use this identifier to apply mitigation actions to the finding.

", + "location":"uri", + "locationName":"findingId" + } + } + }, + "DescribeAuditFindingResponse":{ + "type":"structure", + "members":{ + "finding":{"shape":"AuditFinding"} + } + }, + "DescribeAuditMitigationActionsTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

The unique identifier for the audit mitigation task.

", + "location":"uri", + "locationName":"taskId" + } + } + }, + "DescribeAuditMitigationActionsTaskResponse":{ + "type":"structure", + "members":{ + "taskStatus":{ + "shape":"AuditMitigationActionsTaskStatus", + "documentation":"

The current status of the task.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the task was started.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The date and time when the task was completed or canceled.

" + }, + "taskStatistics":{ + "shape":"AuditMitigationActionsTaskStatistics", + "documentation":"

Aggregate counts of the results when the mitigation tasks were applied to the findings for this audit mitigation actions task.

" + }, + "target":{ + "shape":"AuditMitigationActionsTaskTarget", + "documentation":"

Identifies the findings to which the mitigation actions are applied. This can be by audit checks, by audit task, or a set of findings.

" + }, + "auditCheckToActionsMapping":{ + "shape":"AuditCheckToActionsMapping", + "documentation":"

Specifies the mitigation actions that should be applied to specific audit checks.

" + }, + "actionsDefinition":{ + "shape":"MitigationActionList", + "documentation":"

Specifies the mitigation actions and their parameters that are applied as part of this task.

" + } + } + }, + "DescribeAuditTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

The ID of the audit whose information you want to get.

", + "location":"uri", + "locationName":"taskId" + } + } + }, + "DescribeAuditTaskResponse":{ + "type":"structure", + "members":{ + "taskStatus":{ + "shape":"AuditTaskStatus", + "documentation":"

The status of the audit: one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".

" + }, + "taskType":{ + "shape":"AuditTaskType", + "documentation":"

The type of audit: \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED_AUDIT_TASK\".

" + }, + "taskStartTime":{ + "shape":"Timestamp", + "documentation":"

The time the audit started.

" + }, + "taskStatistics":{ + "shape":"TaskStatistics", + "documentation":"

Statistical information about the audit.

" + }, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit (only if the audit was a scheduled audit).

" + }, + "auditDetails":{ + "shape":"AuditDetails", + "documentation":"

Detailed information about each check performed during this audit.

" + } + } + }, + "DescribeAuthorizerRequest":{ + "type":"structure", + "required":["authorizerName"], + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The name of the authorizer to describe.

", + "location":"uri", + "locationName":"authorizerName" + } + } + }, + "DescribeAuthorizerResponse":{ + "type":"structure", + "members":{ + "authorizerDescription":{ + "shape":"AuthorizerDescription", + "documentation":"

The authorizer description.

" + } + } + }, + "DescribeBillingGroupRequest":{ + "type":"structure", + "required":["billingGroupName"], + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

", + "location":"uri", + "locationName":"billingGroupName" + } + } + }, + "DescribeBillingGroupResponse":{ + "type":"structure", + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

" + }, + "billingGroupId":{ + "shape":"BillingGroupId", + "documentation":"

The ID of the billing group.

" + }, + "billingGroupArn":{ + "shape":"BillingGroupArn", + "documentation":"

The ARN of the billing group.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the billing group.

" + }, + "billingGroupProperties":{ + "shape":"BillingGroupProperties", + "documentation":"

The properties of the billing group.

" + }, + "billingGroupMetadata":{ + "shape":"BillingGroupMetadata", + "documentation":"

Additional information about the billing group.

" + } + } + }, + "DescribeCACertificateRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The CA certificate identifier.

", + "location":"uri", + "locationName":"caCertificateId" + } + }, + "documentation":"

The input for the DescribeCACertificate operation.

" + }, + "DescribeCACertificateResponse":{ + "type":"structure", + "members":{ + "certificateDescription":{ + "shape":"CACertificateDescription", + "documentation":"

The CA certificate description.

" + }, + "registrationConfig":{ + "shape":"RegistrationConfig", + "documentation":"

Information about the registration configuration.

" + } + }, + "documentation":"

The output from the DescribeCACertificate operation.

" + }, + "DescribeCertificateRequest":{ + "type":"structure", + "required":["certificateId"], + "members":{ + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"certificateId" + } + }, + "documentation":"

The input for the DescribeCertificate operation.

" + }, + "DescribeCertificateResponse":{ + "type":"structure", + "members":{ + "certificateDescription":{ + "shape":"CertificateDescription", + "documentation":"

The description of the certificate.

" + } + }, + "documentation":"

The output of the DescribeCertificate operation.

" + }, + "DescribeDefaultAuthorizerRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeDefaultAuthorizerResponse":{ + "type":"structure", + "members":{ + "authorizerDescription":{ + "shape":"AuthorizerDescription", + "documentation":"

The default authorizer's description.

" + } + } + }, + "DescribeDimensionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DimensionName", + "documentation":"

The unique identifier for the dimension.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DescribeDimensionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"DimensionName", + "documentation":"

The unique identifier for the dimension.

" + }, + "arn":{ + "shape":"DimensionArn", + "documentation":"

The ARN (Amazon resource name) for the dimension.

" + }, + "type":{ + "shape":"DimensionType", + "documentation":"

The type of the dimension.

" + }, + "stringValues":{ + "shape":"DimensionStringValues", + "documentation":"

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the dimension was created.

" + }, + "lastModifiedDate":{ + "shape":"Timestamp", + "documentation":"

The date the dimension was last modified.

" + } + } + }, + "DescribeDomainConfigurationRequest":{ + "type":"structure", + "required":["domainConfigurationName"], + "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "documentation":"

The name of the domain configuration.

", + "location":"uri", + "locationName":"domainConfigurationName" + } + } + }, + "DescribeDomainConfigurationResponse":{ + "type":"structure", + "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "documentation":"

The name of the domain configuration.

" + }, + "domainConfigurationArn":{ + "shape":"DomainConfigurationArn", + "documentation":"

The ARN of the domain configuration.

" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "serverCertificates":{ + "shape":"ServerCertificates", + "documentation":"

A list containing summary information about the server certificate included in the domain configuration.

" + }, + "authorizerConfig":{ + "shape":"AuthorizerConfig", + "documentation":"

An object that specifies the authorization service for a domain.

" + }, + "domainConfigurationStatus":{ + "shape":"DomainConfigurationStatus", + "documentation":"

A Boolean value that specifies the current state of the domain configuration.

" + }, + "serviceType":{ + "shape":"ServiceType", + "documentation":"

The type of service delivered by the endpoint.

" + }, + "domainType":{ + "shape":"DomainType", + "documentation":"

The type of the domain.

" + } + } + }, + "DescribeEndpointRequest":{ + "type":"structure", + "members":{ + "endpointType":{ + "shape":"EndpointType", + "documentation":"

The endpoint type. Valid endpoint types include:

  • iot:Data - Returns a VeriSign signed data endpoint.

  • iot:Data-ATS - Returns an ATS signed data endpoint.

  • iot:CredentialProvider - Returns an AWS IoT credentials provider API endpoint.

  • iot:Jobs - Returns an AWS IoT device management Jobs API endpoint.

We strongly recommend that customers use the newer iot:Data-ATS endpoint type to avoid issues related to the widespread distrust of Symantec certificate authorities.

", + "location":"querystring", + "locationName":"endpointType" + } + }, + "documentation":"

The input for the DescribeEndpoint operation.

" + }, + "DescribeEndpointResponse":{ + "type":"structure", + "members":{ + "endpointAddress":{ + "shape":"EndpointAddress", + "documentation":"

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

" + } + }, + "documentation":"

The output from the DescribeEndpoint operation.

" + }, + "DescribeEventConfigurationsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeEventConfigurationsResponse":{ + "type":"structure", + "members":{ + "eventConfigurations":{ + "shape":"EventConfigurations", + "documentation":"

The event configurations.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The creation date of the event configuration.

" + }, + "lastModifiedDate":{ + "shape":"LastModifiedDate", + "documentation":"

The date the event configurations were last modified.

" + } + } + }, + "DescribeIndexRequest":{ + "type":"structure", + "required":["indexName"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The index name.

", + "location":"uri", + "locationName":"indexName" + } + } + }, + "DescribeIndexResponse":{ + "type":"structure", + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The index name.

" + }, + "indexStatus":{ + "shape":"IndexStatus", + "documentation":"

The index status.

" + }, + "schema":{ + "shape":"IndexSchema", + "documentation":"

Contains a value that specifies the type of indexing performed. Valid values are:

  • REGISTRY – Your thing index contains only registry data.

  • REGISTRY_AND_SHADOW - Your thing index contains registry data and shadow data.

  • REGISTRY_AND_CONNECTIVITY_STATUS - Your thing index contains registry data and thing connectivity status data.

  • REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS - Your thing index contains registry data, shadow data, and thing connectivity status data.

" + } + } + }, + "DescribeJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing on which the job execution is running.

", + "location":"uri", + "locationName":"thingName" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

A string (consisting of the digits \"0\" through \"9\" which is used to specify a particular job execution on a particular device.

", + "location":"querystring", + "locationName":"executionNumber" + } + } + }, + "DescribeJobExecutionResponse":{ + "type":"structure", + "members":{ + "execution":{ + "shape":"JobExecution", + "documentation":"

Information about the job execution.

" + } + } + }, + "DescribeJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + } + } + }, + "DescribeJobResponse":{ + "type":"structure", + "members":{ + "documentSource":{ + "shape":"JobDocumentSource", + "documentation":"

An S3 link to the job document.

" + }, + "job":{ + "shape":"Job", + "documentation":"

Information about the job.

" + } + } + }, + "DescribeMitigationActionRequest":{ + "type":"structure", + "required":["actionName"], + "members":{ + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The friendly name that uniquely identifies the mitigation action.

", + "location":"uri", + "locationName":"actionName" + } + } + }, + "DescribeMitigationActionResponse":{ + "type":"structure", + "members":{ + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The friendly name that uniquely identifies the mitigation action.

" + }, + "actionType":{ + "shape":"MitigationActionType", + "documentation":"

The type of mitigation action.

" + }, + "actionArn":{ + "shape":"MitigationActionArn", + "documentation":"

The ARN that identifies this migration action.

" + }, + "actionId":{ + "shape":"MitigationActionId", + "documentation":"

A unique identifier for this action.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role used to apply this action.

" + }, + "actionParams":{ + "shape":"MitigationActionParams", + "documentation":"

Parameters that control how the mitigation action is applied, specific to the type of mitigation action.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time when the mitigation action was added to your AWS account.

" + }, + "lastModifiedDate":{ + "shape":"Timestamp", + "documentation":"

The date and time when the mitigation action was last changed.

" + } + } + }, + "DescribeProvisioningTemplateRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

", + "location":"uri", + "locationName":"templateName" + } + } + }, + "DescribeProvisioningTemplateResponse":{ + "type":"structure", + "members":{ + "templateArn":{ + "shape":"TemplateArn", + "documentation":"

The ARN of the fleet provisioning template.

" + }, + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

" + }, + "description":{ + "shape":"TemplateDescription", + "documentation":"

The description of the fleet provisioning template.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template was last modified.

" + }, + "defaultVersionId":{ + "shape":"TemplateVersionId", + "documentation":"

The default fleet template version ID.

" + }, + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The JSON formatted contents of the fleet provisioning template.

" + }, + "enabled":{ + "shape":"Enabled", + "documentation":"

True if the fleet provisioning template is enabled, otherwise false.

" + }, + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

" + }, + "preProvisioningHook":{ + "shape":"ProvisioningHook", + "documentation":"

Gets information about a pre-provisioned hook.

" + } + } + }, + "DescribeProvisioningTemplateVersionRequest":{ + "type":"structure", + "required":[ + "templateName", + "versionId" + ], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The template name.

", + "location":"uri", + "locationName":"templateName" + }, + "versionId":{ + "shape":"TemplateVersionId", + "documentation":"

The fleet provisioning template version ID.

", + "location":"uri", + "locationName":"versionId" + } + } + }, + "DescribeProvisioningTemplateVersionResponse":{ + "type":"structure", + "members":{ + "versionId":{ + "shape":"TemplateVersionId", + "documentation":"

The fleet provisioning template version ID.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template version was created.

" + }, + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The JSON formatted contents of the fleet provisioning template version.

" + }, + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

True if the fleet provisioning template version is the default version.

" + } + } + }, + "DescribeRoleAliasRequest":{ + "type":"structure", + "required":["roleAlias"], + "members":{ + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias to describe.

", + "location":"uri", + "locationName":"roleAlias" + } + } + }, + "DescribeRoleAliasResponse":{ + "type":"structure", + "members":{ + "roleAliasDescription":{ + "shape":"RoleAliasDescription", + "documentation":"

The role alias description.

" + } + } + }, + "DescribeScheduledAuditRequest":{ + "type":"structure", + "required":["scheduledAuditName"], + "members":{ + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit whose information you want to get.

", + "location":"uri", + "locationName":"scheduledAuditName" + } + } + }, + "DescribeScheduledAuditResponse":{ + "type":"structure", + "members":{ + "frequency":{ + "shape":"AuditFrequency", + "documentation":"

How often the scheduled audit takes place. One of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\", or \"MONTHLY\". The start time of each audit is determined by the system.

" + }, + "dayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month on which the scheduled audit takes place. Will be \"1\" through \"31\" or \"LAST\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" + }, + "dayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

The day of the week on which the scheduled audit takes place. One of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\".

" + }, + "targetCheckNames":{ + "shape":"TargetAuditCheckNames", + "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

" + }, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit.

" + }, + "scheduledAuditArn":{ + "shape":"ScheduledAuditArn", + "documentation":"

The ARN of the scheduled audit.

" + } + } + }, + "DescribeSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile whose information you want to get.

", + "location":"uri", + "locationName":"securityProfileName" + } + } + }, + "DescribeSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile.

" + }, + "securityProfileArn":{ + "shape":"SecurityProfileArn", + "documentation":"

The ARN of the security profile.

" + }, + "securityProfileDescription":{ + "shape":"SecurityProfileDescription", + "documentation":"

A description of the security profile (associated with the security profile when it was created or updated).

" + }, + "behaviors":{ + "shape":"Behaviors", + "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" + }, + "alertTargets":{ + "shape":"AlertTargets", + "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" + }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.

", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{ + "shape":"AdditionalMetricsToRetainV2List", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the security profile. A new version is generated whenever the security profile is updated.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The time the security profile was created.

" + }, + "lastModifiedDate":{ + "shape":"Timestamp", + "documentation":"

The time the security profile was last modified.

" + } + } + }, + "DescribeStreamRequest":{ + "type":"structure", + "required":["streamId"], + "members":{ + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

", + "location":"uri", + "locationName":"streamId" + } + } + }, + "DescribeStreamResponse":{ + "type":"structure", + "members":{ + "streamInfo":{ + "shape":"StreamInfo", + "documentation":"

Information about the stream.

" + } + } + }, + "DescribeThingGroupRequest":{ + "type":"structure", + "required":["thingGroupName"], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the thing group.

", + "location":"uri", + "locationName":"thingGroupName" + } + } + }, + "DescribeThingGroupResponse":{ + "type":"structure", + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the thing group.

" + }, + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

The thing group ID.

" + }, + "thingGroupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The thing group ARN.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the thing group.

" + }, + "thingGroupProperties":{ + "shape":"ThingGroupProperties", + "documentation":"

The thing group properties.

" + }, + "thingGroupMetadata":{ + "shape":"ThingGroupMetadata", + "documentation":"

Thing group metadata.

" + }, + "indexName":{ + "shape":"IndexName", + "documentation":"

The dynamic thing group index name.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The dynamic thing group search query string.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The dynamic thing group query version.

" + }, + "status":{ + "shape":"DynamicGroupStatus", + "documentation":"

The dynamic thing group status.

" + } + } + }, + "DescribeThingRegistrationTaskRequest":{ + "type":"structure", + "required":["taskId"], + "members":{ + "taskId":{ + "shape":"TaskId", + "documentation":"

The task ID.

", + "location":"uri", + "locationName":"taskId" + } + } + }, + "DescribeThingRegistrationTaskResponse":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"TaskId", + "documentation":"

The task ID.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The task creation date.

" + }, + "lastModifiedDate":{ + "shape":"LastModifiedDate", + "documentation":"

The date when the task was last modified.

" + }, + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The task's template.

" + }, + "inputFileBucket":{ + "shape":"RegistryS3BucketName", + "documentation":"

The S3 bucket that contains the input file.

" + }, + "inputFileKey":{ + "shape":"RegistryS3KeyName", + "documentation":"

The input file key.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The role ARN that grants access to the input file bucket.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bulk thing provisioning task.

" + }, + "message":{ + "shape":"ErrorMessage", + "documentation":"

The message.

" + }, + "successCount":{ + "shape":"Count", + "documentation":"

The number of things successfully provisioned.

" + }, + "failureCount":{ + "shape":"Count", + "documentation":"

The number of things that failed to be provisioned.

" + }, + "percentageProgress":{ + "shape":"Percentage", + "documentation":"

The progress of the bulk provisioning task expressed as a percentage.

" + } + } + }, + "DescribeThingRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

", + "location":"uri", + "locationName":"thingName" + } + }, + "documentation":"

The input for the DescribeThing operation.

" + }, + "DescribeThingResponse":{ + "type":"structure", + "members":{ + "defaultClientId":{ + "shape":"ClientId", + "documentation":"

The default MQTT client ID. For a typical device, the thing name is also used as the default MQTT client ID. Although we don’t require a mapping between a thing's registry name and its use of MQTT client IDs, certificates, or shadow state, we recommend that you choose a thing name and use it as the MQTT client ID for the registry and the Device Shadow service.

This lets you better organize your AWS IoT fleet without removing the flexibility of the underlying device certificate model or shadows.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

" + }, + "thingId":{ + "shape":"ThingId", + "documentation":"

The ID of the thing to describe.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing to describe.

" + }, + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The thing type name.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

The thing attributes.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The current version of the thing record in the registry.

To avoid unintentional changes to the information in the registry, you can pass the version information in the expectedVersion parameter of the UpdateThing and DeleteThing calls.

" + }, + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group the thing belongs to.

" + } + }, + "documentation":"

The output from the DescribeThing operation.

" + }, + "DescribeThingTypeRequest":{ + "type":"structure", + "required":["thingTypeName"], + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", + "location":"uri", + "locationName":"thingTypeName" + } + }, + "documentation":"

The input for the DescribeThingType operation.

" + }, + "DescribeThingTypeResponse":{ + "type":"structure", + "members":{ + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

" + }, + "thingTypeId":{ + "shape":"ThingTypeId", + "documentation":"

The thing type ID.

" + }, + "thingTypeArn":{ + "shape":"ThingTypeArn", + "documentation":"

The thing type ARN.

" + }, + "thingTypeProperties":{ + "shape":"ThingTypeProperties", + "documentation":"

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

" + }, + "thingTypeMetadata":{ + "shape":"ThingTypeMetadata", + "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

" + } + }, + "documentation":"

The output for the DescribeThingType operation.

" + }, + "Description":{"type":"string"}, + "Destination":{ + "type":"structure", + "members":{ + "s3Destination":{ + "shape":"S3Destination", + "documentation":"

Describes the location in S3 of the updated firmware.

" + } + }, + "documentation":"

Describes the location of the updated firmware.

" + }, + "DetachPolicyRequest":{ + "type":"structure", + "required":[ + "policyName", + "target" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy to detach.

", + "location":"uri", + "locationName":"policyName" + }, + "target":{ + "shape":"PolicyTarget", + "documentation":"

The target from which the policy will be detached.

" + } + } + }, + "DetachPrincipalPolicyRequest":{ + "type":"structure", + "required":[ + "policyName", + "principal" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy to detach.

", + "location":"uri", + "locationName":"policyName" + }, + "principal":{ + "shape":"Principal", + "documentation":"

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

", + "location":"header", + "locationName":"x-amzn-iot-principal" + } + }, + "documentation":"

The input for the DetachPrincipalPolicy operation.

" + }, + "DetachSecurityProfileRequest":{ + "type":"structure", + "required":[ + "securityProfileName", + "securityProfileTargetArn" + ], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The security profile that is detached.

", + "location":"uri", + "locationName":"securityProfileName" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "documentation":"

The ARN of the thing group from which the security profile is detached.

", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "DetachSecurityProfileResponse":{ + "type":"structure", + "members":{ + } + }, + "DetachThingPrincipalRequest":{ + "type":"structure", + "required":[ + "thingName", + "principal" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

", + "location":"uri", + "locationName":"thingName" + }, + "principal":{ + "shape":"Principal", + "documentation":"

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

", + "location":"header", + "locationName":"x-amzn-principal" + } + }, + "documentation":"

The input for the DetachThingPrincipal operation.

" + }, + "DetachThingPrincipalResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The output from the DetachThingPrincipal operation.

" + }, + "DetailsKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "DetailsMap":{ + "type":"map", + "key":{"shape":"DetailsKey"}, + "value":{"shape":"DetailsValue"} + }, + "DetailsValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[^\\p{C}]*+" + }, + "DeviceCertificateUpdateAction":{ + "type":"string", + "enum":["DEACTIVATE"] + }, + "DeviceDefenderThingName":{ + "type":"string", + "max":128, + "min":1 + }, + "DimensionArn":{"type":"string"}, + "DimensionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "DimensionNames":{ + "type":"list", + "member":{"shape":"DimensionName"} + }, + "DimensionStringValue":{ + "type":"string", + "max":256, + "min":1 + }, + "DimensionStringValues":{ + "type":"list", + "member":{"shape":"DimensionStringValue"}, + "max":100, + "min":1 + }, + "DimensionType":{ + "type":"string", + "enum":["TOPIC_FILTER"] + }, + "DimensionValueOperator":{ + "type":"string", + "enum":[ + "IN", + "NOT_IN" + ] + }, + "DisableAllLogs":{"type":"boolean"}, + "DisableTopicRuleRequest":{ + "type":"structure", + "required":["ruleName"], + "members":{ + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule to disable.

", + "location":"uri", + "locationName":"ruleName" + } + }, + "documentation":"

The input for the DisableTopicRuleRequest operation.

" + }, + "DomainConfigurationArn":{"type":"string"}, + "DomainConfigurationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w.-]+" + }, + "DomainConfigurationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "DomainConfigurationSummary":{ + "type":"structure", + "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "documentation":"

The name of the domain configuration. This value must be unique to a region.

" + }, + "domainConfigurationArn":{ + "shape":"DomainConfigurationArn", + "documentation":"

The ARN of the domain configuration.

" + }, + "serviceType":{ + "shape":"ServiceType", + "documentation":"

The type of service delivered by the endpoint.

" + } + }, + "documentation":"

The summary of a domain configuration. A domain configuration specifies custom IoT-specific information about a domain. A domain configuration can be associated with an AWS-managed domain (for example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer managed domain, or a default endpoint.

  • Data

  • Jobs

  • CredentialProvider

The domain configuration feature is in public preview and is subject to change.

" + }, + "DomainConfigurations":{ + "type":"list", + "member":{"shape":"DomainConfigurationSummary"} + }, + "DomainName":{ + "type":"string", + "max":253, + "min":1 + }, + "DomainType":{ + "type":"string", + "enum":[ + "ENDPOINT", + "AWS_MANAGED", + "CUSTOMER_MANAGED" + ] + }, + "DurationSeconds":{"type":"integer"}, + "DynamicGroupStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "BUILDING", + "REBUILDING" + ] + }, + "DynamoDBAction":{ + "type":"structure", + "required":[ + "tableName", + "roleArn", + "hashKeyField", + "hashKeyValue" + ], + "members":{ + "tableName":{ + "shape":"TableName", + "documentation":"

The name of the DynamoDB table.

" + }, + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" + }, + "operation":{ + "shape":"DynamoOperation", + "documentation":"

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

" + }, + "hashKeyField":{ + "shape":"HashKeyField", + "documentation":"

The hash key name.

" + }, + "hashKeyValue":{ + "shape":"HashKeyValue", + "documentation":"

The hash key value.

" + }, + "hashKeyType":{ + "shape":"DynamoKeyType", + "documentation":"

The hash key type. Valid values are \"STRING\" or \"NUMBER\"

" + }, + "rangeKeyField":{ + "shape":"RangeKeyField", + "documentation":"

The range key name.

" + }, + "rangeKeyValue":{ + "shape":"RangeKeyValue", + "documentation":"

The range key value.

" + }, + "rangeKeyType":{ + "shape":"DynamoKeyType", + "documentation":"

The range key type. Valid values are \"STRING\" or \"NUMBER\"

" + }, + "payloadField":{ + "shape":"PayloadField", + "documentation":"

The action payload. This name can be customized.

" + } + }, + "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", + "required":[ + "roleArn", + "putItem" + ], + "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":[ + "STRING", + "NUMBER" + ] + }, + "DynamoOperation":{"type":"string"}, + "EffectivePolicies":{ + "type":"list", + "member":{"shape":"EffectivePolicy"} + }, + "EffectivePolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

" + }, + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The IAM policy document.

" + } + }, + "documentation":"

The policy that has the effect on the authorization results.

" + }, + "ElasticsearchAction":{ + "type":"structure", + "required":[ + "roleArn", + "endpoint", + "index", + "type", + "id" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role ARN that has access to Elasticsearch.

" + }, + "endpoint":{ + "shape":"ElasticsearchEndpoint", + "documentation":"

The endpoint of your Elasticsearch domain.

" + }, + "index":{ + "shape":"ElasticsearchIndex", + "documentation":"

The Elasticsearch index where you want to store your data.

" + }, + "type":{ + "shape":"ElasticsearchType", + "documentation":"

The type of document you are storing.

" + }, + "id":{ + "shape":"ElasticsearchId", + "documentation":"

The unique identifier for the document you are storing.

" + } + }, + "documentation":"

Describes an action that writes data to an Amazon Elasticsearch Service domain.

" + }, + "ElasticsearchEndpoint":{ + "type":"string", + "pattern":"https?://.*" + }, + "ElasticsearchId":{"type":"string"}, + "ElasticsearchIndex":{"type":"string"}, + "ElasticsearchType":{"type":"string"}, + "EnableIoTLoggingParams":{ + "type":"structure", + "required":[ + "roleArnForLogging", + "logLevel" + ], + "members":{ + "roleArnForLogging":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role used for logging.

" + }, + "logLevel":{ + "shape":"LogLevel", + "documentation":"

Specifies the types of information to be logged.

" + } + }, + "documentation":"

Parameters used when defining a mitigation action that enable AWS IoT logging.

" + }, + "EnableTopicRuleRequest":{ + "type":"structure", + "required":["ruleName"], + "members":{ + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the topic rule to enable.

", + "location":"uri", + "locationName":"ruleName" + } + }, + "documentation":"

The input for the EnableTopicRuleRequest operation.

" + }, + "Enabled":{"type":"boolean"}, + "EndpointAddress":{"type":"string"}, + "EndpointType":{ + "type":"string", + "max":128 + }, + "ErrorCode":{"type":"string"}, + "ErrorInfo":{ + "type":"structure", + "members":{ + "code":{ + "shape":"Code", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"OTAUpdateErrorMessage", + "documentation":"

The error message.

" + } + }, + "documentation":"

Error information.

" + }, + "ErrorMessage":{ + "type":"string", + "max":2048 + }, + "EvaluationStatistic":{ + "type":"string", + "pattern":"(p0|p0\\.1|p0\\.01|p1|p10|p50|p90|p99|p99\\.9|p99\\.99|p100)" + }, + "EventConfigurations":{ + "type":"map", + "key":{"shape":"EventType"}, + "value":{"shape":"Configuration"} + }, + "EventType":{ + "type":"string", + "enum":[ + "THING", + "THING_GROUP", + "THING_TYPE", + "THING_GROUP_MEMBERSHIP", + "THING_GROUP_HIERARCHY", + "THING_TYPE_ASSOCIATION", + "JOB", + "JOB_EXECUTION", + "POLICY", + "CERTIFICATE", + "CA_CERTIFICATE" + ] + }, + "ExecutionNamePrefix":{"type":"string"}, + "ExecutionNumber":{"type":"long"}, + "ExpectedVersion":{"type":"long"}, + "ExpiresInSec":{ + "type":"long", + "max":3600, + "min":60 + }, + "ExpiresInSeconds":{"type":"long"}, + "ExplicitDeny":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

The policies that denied the authorization.

" + } + }, + "documentation":"

Information that explicitly denies authorization.

" + }, + "ExponentialRolloutRate":{ + "type":"structure", + "required":[ + "baseRatePerMinute", + "incrementFactor", + "rateIncreaseCriteria" + ], + "members":{ + "baseRatePerMinute":{ + "shape":"RolloutRatePerMinute", + "documentation":"

The minimum number of things that will be notified of a pending job, per minute at the start of job rollout. This parameter allows you to define the initial rate of rollout.

" + }, + "incrementFactor":{ + "shape":"IncrementFactor", + "documentation":"

The exponential factor to increase the rate of rollout for a job.

" + }, + "rateIncreaseCriteria":{ + "shape":"RateIncreaseCriteria", + "documentation":"

The criteria to initiate the increase in rate of rollout for a job.

AWS IoT supports up to one digit after the decimal (for example, 1.5, but not 1.55).

" + } + }, + "documentation":"

Allows you to create an exponential rate of rollout for a job.

" + }, + "FailedChecksCount":{"type":"integer"}, + "FailedFindingsCount":{"type":"long"}, + "FailedThings":{"type":"integer"}, + "Field":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FieldName", + "documentation":"

The name of the field.

" + }, + "type":{ + "shape":"FieldType", + "documentation":"

The datatype of the field.

" + } + }, + "documentation":"

Describes the name and data type at a field.

" + }, + "FieldName":{"type":"string"}, + "FieldType":{ + "type":"string", + "enum":[ + "Number", + "String", + "Boolean" + ] + }, + "Fields":{ + "type":"list", + "member":{"shape":"Field"} + }, + "FileId":{ + "type":"integer", + "max":255, + "min":0 + }, + "FileLocation":{ + "type":"structure", + "members":{ + "stream":{ + "shape":"Stream", + "documentation":"

The stream that contains the OTA update.

" + }, + "s3Location":{ + "shape":"S3Location", + "documentation":"

The location of the updated firmware in S3.

" + } + }, + "documentation":"

The location of the OTA update.

" + }, + "FileName":{"type":"string"}, + "FindingId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "FindingIds":{ + "type":"list", + "member":{"shape":"FindingId"}, + "max":25, + "min":1 + }, + "FirehoseAction":{ + "type":"structure", + "required":[ + "roleArn", + "deliveryStreamName" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role that grants access to the Amazon Kinesis Firehose stream.

" + }, + "deliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The delivery stream name.

" + }, + "separator":{ + "shape":"FirehoseSeparator", + "documentation":"

A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\\n' (newline), '\\t' (tab), '\\r\\n' (Windows newline), ',' (comma).

" + } + }, + "documentation":"

Describes an action that writes data to an Amazon Kinesis Firehose stream.

" + }, + "FirehoseSeparator":{ + "type":"string", + "pattern":"([\\n\\t])|(\\r\\n)|(,)" + }, + "Flag":{"type":"boolean"}, + "ForceDelete":{"type":"boolean"}, + "ForceDeleteAWSJob":{"type":"boolean"}, + "ForceFlag":{"type":"boolean"}, + "Forced":{"type":"boolean"}, + "FunctionArn":{"type":"string"}, + "GenerationId":{"type":"string"}, + "GetCardinalityRequest":{ + "type":"structure", + "required":["queryString"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The name of the index to search.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The search query.

" + }, + "aggregationField":{ + "shape":"AggregationField", + "documentation":"

The field to aggregate.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The query version.

" + } + } + }, + "GetCardinalityResponse":{ + "type":"structure", + "members":{ + "cardinality":{ + "shape":"Count", + "documentation":"

The approximate count of unique values that match the query.

" + } + } + }, + "GetEffectivePoliciesRequest":{ + "type":"structure", + "members":{ + "principal":{ + "shape":"Principal", + "documentation":"

The principal.

" + }, + "cognitoIdentityPoolId":{ + "shape":"CognitoIdentityPoolId", + "documentation":"

The Cognito identity pool ID.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing name.

", + "location":"querystring", + "locationName":"thingName" + } + } + }, + "GetEffectivePoliciesResponse":{ + "type":"structure", + "members":{ + "effectivePolicies":{ + "shape":"EffectivePolicies", + "documentation":"

The effective policies.

" + } + } + }, + "GetIndexingConfigurationRequest":{ + "type":"structure", + "members":{ + } + }, + "GetIndexingConfigurationResponse":{ + "type":"structure", + "members":{ + "thingIndexingConfiguration":{ + "shape":"ThingIndexingConfiguration", + "documentation":"

Thing indexing configuration.

" + }, + "thingGroupIndexingConfiguration":{ + "shape":"ThingGroupIndexingConfiguration", + "documentation":"

The index configuration.

" + } + } + }, + "GetJobDocumentRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + } + } + }, + "GetJobDocumentResponse":{ + "type":"structure", + "members":{ + "document":{ + "shape":"JobDocument", + "documentation":"

The job document content.

" + } + } + }, + "GetLoggingOptionsRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

The input for the GetLoggingOptions operation.

" + }, + "GetLoggingOptionsResponse":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" + }, + "logLevel":{ + "shape":"LogLevel", + "documentation":"

The logging level.

" + } + }, + "documentation":"

The output from the GetLoggingOptions operation.

" + }, + "GetOTAUpdateRequest":{ + "type":"structure", + "required":["otaUpdateId"], + "members":{ + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The OTA update ID.

", + "location":"uri", + "locationName":"otaUpdateId" + } + } + }, + "GetOTAUpdateResponse":{ + "type":"structure", + "members":{ + "otaUpdateInfo":{ + "shape":"OTAUpdateInfo", + "documentation":"

The OTA update info.

" + } + } + }, + "GetPercentilesRequest":{ + "type":"structure", + "required":["queryString"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The name of the index to search.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The query string.

" + }, + "aggregationField":{ + "shape":"AggregationField", + "documentation":"

The field to aggregate.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The query version.

" + }, + "percents":{ + "shape":"PercentList", + "documentation":"

The percentile groups returned.

" + } + } + }, + "GetPercentilesResponse":{ + "type":"structure", + "members":{ + "percentiles":{ + "shape":"Percentiles", + "documentation":"

The percentile values of the aggregated fields.

" + } + } + }, + "GetPolicyRequest":{ + "type":"structure", + "required":["policyName"], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy.

", + "location":"uri", + "locationName":"policyName" + } + }, + "documentation":"

The input for the GetPolicy operation.

" + }, + "GetPolicyResponse":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

" + }, + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy.

" + }, + "defaultVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The default policy version ID.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date the policy was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the policy was last modified.

" + }, + "generationId":{ + "shape":"GenerationId", + "documentation":"

The generation ID of the policy.

" + } + }, + "documentation":"

The output from the GetPolicy operation.

" + }, + "GetPolicyVersionRequest":{ + "type":"structure", + "required":[ + "policyName", + "policyVersionId" + ], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy.

", + "location":"uri", + "locationName":"policyName" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", + "location":"uri", + "locationName":"policyVersionId" + } + }, + "documentation":"

The input for the GetPolicyVersion operation.

" + }, + "GetPolicyVersionResponse":{ + "type":"structure", + "members":{ + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" + }, + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The JSON document that describes the policy.

" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

" + }, + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

Specifies whether the policy version is the default.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date the policy was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date the policy was last modified.

" + }, + "generationId":{ + "shape":"GenerationId", + "documentation":"

The generation ID of the policy version.

" + } + }, + "documentation":"

The output from the GetPolicyVersion operation.

" + }, + "GetRegistrationCodeRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

The input to the GetRegistrationCode operation.

" + }, + "GetRegistrationCodeResponse":{ + "type":"structure", + "members":{ + "registrationCode":{ + "shape":"RegistrationCode", + "documentation":"

The CA certificate registration code.

" + } + }, + "documentation":"

The output from the GetRegistrationCode operation.

" + }, + "GetStatisticsRequest":{ + "type":"structure", + "required":["queryString"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The name of the index to search. The default value is AWS_Things.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The query used to search. You can specify \"*\" for the query string to get the count of all indexed things in your AWS account.

" + }, + "aggregationField":{ + "shape":"AggregationField", + "documentation":"

The aggregation field name.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The version of the query used to search.

" + } + } + }, + "GetStatisticsResponse":{ + "type":"structure", + "members":{ + "statistics":{ + "shape":"Statistics", + "documentation":"

The statistics returned by the Fleet Indexing service based on the query and aggregation field.

" + } + } + }, + "GetTopicRuleDestinationRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the topic rule destination.

", + "location":"uri", + "locationName":"arn" + } + } + }, + "GetTopicRuleDestinationResponse":{ + "type":"structure", + "members":{ + "topicRuleDestination":{ + "shape":"TopicRuleDestination", + "documentation":"

The topic rule destination.

" + } + } + }, + "GetTopicRuleRequest":{ + "type":"structure", + "required":["ruleName"], + "members":{ + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

", + "location":"uri", + "locationName":"ruleName" + } + }, + "documentation":"

The input for the GetTopicRule operation.

" + }, + "GetTopicRuleResponse":{ + "type":"structure", + "members":{ + "ruleArn":{ + "shape":"RuleArn", + "documentation":"

The rule ARN.

" + }, + "rule":{ + "shape":"TopicRule", + "documentation":"

The rule.

" + } + }, + "documentation":"

The output from the GetTopicRule operation.

" + }, + "GetV2LoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "GetV2LoggingOptionsResponse":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The IAM role ARN AWS IoT uses to write to your CloudWatch logs.

" + }, + "defaultLogLevel":{ + "shape":"LogLevel", + "documentation":"

The default log level.

" + }, + "disableAllLogs":{ + "shape":"DisableAllLogs", + "documentation":"

Disables all logs.

" + } + } + }, + "GroupNameAndArn":{ + "type":"structure", + "members":{ + "groupName":{ + "shape":"ThingGroupName", + "documentation":"

The group name.

" + }, + "groupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The group ARN.

" + } + }, + "documentation":"

The name and ARN of a group.

" + }, + "HashAlgorithm":{"type":"string"}, + "HashKeyField":{"type":"string"}, + "HashKeyValue":{"type":"string"}, + "HeaderKey":{ + "type":"string", + "max":256, + "min":1 + }, + "HeaderList":{ + "type":"list", + "member":{"shape":"HttpActionHeader"}, + "max":100, + "min":0 + }, + "HeaderValue":{"type":"string"}, + "HttpAction":{ + "type":"structure", + "required":["url"], + "members":{ + "url":{ + "shape":"Url", + "documentation":"

The endpoint URL. If substitution templates are used in the URL, you must also specify a confirmationUrl. If this is a new destination, a new TopicRuleDestination is created if possible.

" + }, + "confirmationUrl":{ + "shape":"Url", + "documentation":"

The URL to which AWS IoT sends a confirmation message. The value of the confirmation URL must be a prefix of the endpoint URL. If you do not specify a confirmation URL AWS IoT uses the endpoint URL as the confirmation URL. If you use substitution templates in the confirmationUrl, you must create and enable topic rule destinations that match each possible value of the substitution template before traffic is allowed to your endpoint URL.

" + }, + "headers":{ + "shape":"HeaderList", + "documentation":"

The HTTP headers to send with the message data.

" + }, + "auth":{ + "shape":"HttpAuthorization", + "documentation":"

The authentication method to use when sending data to an HTTPS endpoint.

" + } + }, + "documentation":"

Send data to an HTTPS endpoint.

" + }, + "HttpActionHeader":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"HeaderKey", + "documentation":"

The HTTP header key.

" + }, + "value":{ + "shape":"HeaderValue", + "documentation":"

The HTTP header value. Substitution templates are supported.

" + } + }, + "documentation":"

The HTTP action header.

" + }, + "HttpAuthorization":{ + "type":"structure", + "members":{ + "sigv4":{ + "shape":"SigV4Authorization", + "documentation":"

Use Sig V4 authorization. For more information, see Signature Version 4 Signing Process.

" + } + }, + "documentation":"

The authorization method used to send messages.

" + }, + "HttpContext":{ + "type":"structure", + "members":{ + "headers":{ + "shape":"HttpHeaders", + "documentation":"

The header keys and values in an HTTP authorization request.

" + }, + "queryString":{ + "shape":"HttpQueryString", + "documentation":"

The query string keys and values in an HTTP authorization request.

" + } + }, + "documentation":"

Specifies the HTTP context to use for the test authorizer request.

" + }, + "HttpHeaderName":{ + "type":"string", + "max":8192, + "min":1 + }, + "HttpHeaderValue":{ + "type":"string", + "max":8192, + "min":1 + }, + "HttpHeaders":{ + "type":"map", + "key":{"shape":"HttpHeaderName"}, + "value":{"shape":"HttpHeaderValue"} + }, + "HttpQueryString":{ + "type":"string", + "max":4096, + "min":1 + }, + "HttpUrlDestinationConfiguration":{ + "type":"structure", + "required":["confirmationUrl"], + "members":{ + "confirmationUrl":{ + "shape":"Url", + "documentation":"

The URL AWS IoT uses to confirm ownership of or access to the topic rule destination URL.

" + } + }, + "documentation":"

HTTP URL destination configuration used by the topic rule's HTTP action.

" + }, + "HttpUrlDestinationProperties":{ + "type":"structure", + "members":{ + "confirmationUrl":{ + "shape":"Url", + "documentation":"

The URL used to confirm the HTTP topic rule destination URL.

" + } + }, + "documentation":"

HTTP URL destination properties.

" + }, + "HttpUrlDestinationSummary":{ + "type":"structure", + "members":{ + "confirmationUrl":{ + "shape":"Url", + "documentation":"

The URL used to confirm ownership of or access to the HTTP topic rule destination URL.

" + } + }, + "documentation":"

Information about an HTTP URL destination.

" + }, + "ImplicitDeny":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

Policies that don't contain a matching allow or deny statement for the specified action on the specified resource.

" + } + }, + "documentation":"

Information that implicitly denies authorization. When policy doesn't explicitly deny or allow an action on a resource it is considered an implicit deny.

" + }, + "InProgressChecksCount":{"type":"integer"}, + "InProgressThings":{"type":"integer"}, + "InProgressTimeoutInMinutes":{"type":"long"}, + "IncrementFactor":{ + "type":"double", + "max":5, + "min":1 + }, + "IndexName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "IndexNamesList":{ + "type":"list", + "member":{"shape":"IndexName"} + }, + "IndexNotReadyException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The index is not ready.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IndexSchema":{"type":"string"}, + "IndexStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "BUILDING", + "REBUILDING" + ] + }, + "InlineDocument":{"type":"string"}, + "InputName":{ + "type":"string", + "max":128, + "min":1 + }, + "InternalException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An unexpected error has occurred.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An unexpected error has occurred.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidAggregationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The aggregation is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidQueryException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The query is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidResponseException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The response is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidStateTransitionException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An attempt was made to change to an invalid state, for example by deleting a job or a job execution which is \"IN_PROGRESS\" without setting the force parameter.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "IotAnalyticsAction":{ + "type":"structure", + "members":{ + "channelArn":{ + "shape":"AwsArn", + "documentation":"

(deprecated) The ARN of the IoT Analytics channel to which message data will be sent.

" + }, + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the IoT Analytics channel to which message data will be sent.

" + }, + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the role which has a policy that grants IoT Analytics permission to send message data via IoT Analytics (iotanalytics:BatchPutMessage).

" + } + }, + "documentation":"

Sends message data to an AWS IoT Analytics channel.

" + }, + "IotEventsAction":{ + "type":"structure", + "required":[ + "inputName", + "roleArn" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the AWS IoT Events input.

" + }, + "messageId":{ + "shape":"MessageId", + "documentation":"

[Optional] Use this to ensure that only one input (message) with a given messageId will be processed by an AWS IoT Events detector.

" + }, + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the role that grants AWS IoT permission to send an input to an AWS IoT Events detector. (\"Action\":\"iotevents:BatchPutMessage\").

" + } + }, + "documentation":"

Sends an input to an AWS IoT Events detector.

" + }, + "IotSiteWiseAction":{ + "type":"structure", + "required":[ + "putAssetPropertyValueEntries", + "roleArn" + ], + "members":{ + "putAssetPropertyValueEntries":{ + "shape":"PutAssetPropertyValueEntryList", + "documentation":"

A list of asset property value entries.

" + }, + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the role that grants AWS IoT permission to send an asset property value to AWS IoTSiteWise. (\"Action\": \"iotsitewise:BatchPutAssetPropertyValue\"). The trust policy can restrict access to specific asset hierarchy paths.

" + } + }, + "documentation":"

Describes an action to send data from an MQTT message that triggered the rule to AWS IoT SiteWise asset properties.

" + }, + "IsAuthenticated":{"type":"boolean"}, + "IsDefaultVersion":{"type":"boolean"}, + "IsDisabled":{"type":"boolean"}, + "Job":{ + "type":"structure", + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

An ARN identifying the job with format \"arn:aws:iot:region:account:job/jobId\".

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a device when the thing representing the device is added to a target group, even after the job was completed by all things originally in the group.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

The status of the job, one of IN_PROGRESS, CANCELED, DELETION_IN_PROGRESS or COMPLETED.

" + }, + "forceCanceled":{ + "shape":"Forced", + "documentation":"

Will be true if the job was canceled with the optional force parameter set to true.

" + }, + "reasonCode":{ + "shape":"ReasonCode", + "documentation":"

If the job was updated, provides the reason code for the update.

" + }, + "comment":{ + "shape":"Comment", + "documentation":"

If the job was updated, describes the reason for the update.

" + }, + "targets":{ + "shape":"JobTargets", + "documentation":"

A list of IoT things and thing groups to which the job should be sent.

" + }, + "description":{ + "shape":"JobDescription", + "documentation":"

A short text description of the job.

" + }, + "presignedUrlConfig":{ + "shape":"PresignedUrlConfig", + "documentation":"

Configuration for pre-signed S3 URLs.

" + }, + "jobExecutionsRolloutConfig":{ + "shape":"JobExecutionsRolloutConfig", + "documentation":"

Allows you to create a staged rollout of a job.

" + }, + "abortConfig":{ + "shape":"AbortConfig", + "documentation":"

Configuration for criteria to abort the job.

" + }, + "createdAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job was last updated.

" + }, + "completedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job was completed.

" + }, + "jobProcessDetails":{ + "shape":"JobProcessDetails", + "documentation":"

Details about the job process.

" + }, + "timeoutConfig":{ + "shape":"TimeoutConfig", + "documentation":"

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

" + } + }, + "documentation":"

The Job object contains details about a job.

" + }, + "JobArn":{"type":"string"}, + "JobDescription":{ + "type":"string", + "max":2028, + "pattern":"[^\\p{C}]+" + }, + "JobDocument":{ + "type":"string", + "max":32768 + }, + "JobDocumentSource":{ + "type":"string", + "max":1350, + "min":1 + }, + "JobExecution":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to the job when it was created.

" + }, + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The status of the job execution (IN_PROGRESS, QUEUED, FAILED, SUCCEEDED, TIMED_OUT, CANCELED, or REJECTED).

" + }, + "forceCanceled":{ + "shape":"Forced", + "documentation":"

Will be true if the job execution was canceled with the optional force parameter set to true.

" + }, + "statusDetails":{ + "shape":"JobExecutionStatusDetails", + "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing on which the job execution is running.

" + }, + "queuedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution was queued.

" + }, + "startedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution started.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution was last updated.

" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

A string (consisting of the digits \"0\" through \"9\") which identifies this particular job execution on this particular device. It can be used in commands which return or update job execution information.

" + }, + "versionNumber":{ + "shape":"VersionNumber", + "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" + }, + "approximateSecondsBeforeTimedOut":{ + "shape":"ApproximateSecondsBeforeTimedOut", + "documentation":"

The estimated number of seconds that remain before the job execution status will be changed to TIMED_OUT. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The actual job execution timeout can occur up to 60 seconds later than the estimated duration. This value will not be included if the job execution has reached a terminal status.

" + } + }, + "documentation":"

The job execution object represents the execution of a job on a particular device.

" + }, + "JobExecutionFailureType":{ + "type":"string", + "enum":[ + "FAILED", + "REJECTED", + "TIMED_OUT", + "ALL" + ] + }, + "JobExecutionStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "TIMED_OUT", + "REJECTED", + "REMOVED", + "CANCELED" + ] + }, + "JobExecutionStatusDetails":{ + "type":"structure", + "members":{ + "detailsMap":{ + "shape":"DetailsMap", + "documentation":"

The job execution status.

" + } + }, + "documentation":"

Details of the job execution status.

" + }, + "JobExecutionSummary":{ + "type":"structure", + "members":{ + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The status of the job execution.

" + }, + "queuedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution was queued.

" + }, + "startedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution started.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job execution was last updated.

" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

A string (consisting of the digits \"0\" through \"9\") which identifies this particular job execution on this particular device. It can be used later in commands which return or update job execution information.

" + } + }, + "documentation":"

The job execution summary.

" + }, + "JobExecutionSummaryForJob":{ + "type":"structure", + "members":{ + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing on which the job execution is running.

" + }, + "jobExecutionSummary":{ + "shape":"JobExecutionSummary", + "documentation":"

Contains a subset of information about a job execution.

" + } + }, + "documentation":"

Contains a summary of information about job executions for a specific job.

" + }, + "JobExecutionSummaryForJobList":{ + "type":"list", + "member":{"shape":"JobExecutionSummaryForJob"} + }, + "JobExecutionSummaryForThing":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "jobExecutionSummary":{ + "shape":"JobExecutionSummary", + "documentation":"

Contains a subset of information about a job execution.

" + } + }, + "documentation":"

The job execution summary for a thing.

" + }, + "JobExecutionSummaryForThingList":{ + "type":"list", + "member":{"shape":"JobExecutionSummaryForThing"} + }, + "JobExecutionsRolloutConfig":{ + "type":"structure", + "members":{ + "maximumPerMinute":{ + "shape":"MaxJobExecutionsPerMin", + "documentation":"

The maximum number of things that will be notified of a pending job, per minute. This parameter allows you to create a staged rollout.

" + }, + "exponentialRate":{ + "shape":"ExponentialRolloutRate", + "documentation":"

The rate of increase for a job rollout. This parameter allows you to define an exponential rate for a job rollout.

" + } + }, + "documentation":"

Allows you to create a staged rollout of a job.

" + }, + "JobId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "JobProcessDetails":{ + "type":"structure", + "members":{ + "processingTargets":{ + "shape":"ProcessingTargetNameList", + "documentation":"

The target devices to which the job execution is being rolled out. This value will be null after the job execution has finished rolling out to all the target devices.

" + }, + "numberOfCanceledThings":{ + "shape":"CanceledThings", + "documentation":"

The number of things that cancelled the job.

" + }, + "numberOfSucceededThings":{ + "shape":"SucceededThings", + "documentation":"

The number of things which successfully completed the job.

" + }, + "numberOfFailedThings":{ + "shape":"FailedThings", + "documentation":"

The number of things that failed executing the job.

" + }, + "numberOfRejectedThings":{ + "shape":"RejectedThings", + "documentation":"

The number of things that rejected the job.

" + }, + "numberOfQueuedThings":{ + "shape":"QueuedThings", + "documentation":"

The number of things that are awaiting execution of the job.

" + }, + "numberOfInProgressThings":{ + "shape":"InProgressThings", + "documentation":"

The number of things currently executing the job.

" + }, + "numberOfRemovedThings":{ + "shape":"RemovedThings", + "documentation":"

The number of things that are no longer scheduled to execute the job because they have been deleted or have been removed from the group that was a target of the job.

" + }, + "numberOfTimedOutThings":{ + "shape":"TimedOutThings", + "documentation":"

The number of things whose job execution status is TIMED_OUT.

" + } + }, + "documentation":"

The job process details.

" + }, + "JobStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "CANCELED", + "COMPLETED", + "DELETION_IN_PROGRESS" + ] + }, + "JobSummary":{ + "type":"structure", + "members":{ + "jobArn":{ + "shape":"JobArn", + "documentation":"

The job ARN.

" + }, + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

The ID of the thing group.

" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

" + }, + "status":{ + "shape":"JobStatus", + "documentation":"

The job summary status.

" + }, + "createdAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job was last updated.

" + }, + "completedAt":{ + "shape":"DateType", + "documentation":"

The time, in seconds since the epoch, when the job completed.

" + } + }, + "documentation":"

The job summary.

" + }, + "JobSummaryList":{ + "type":"list", + "member":{"shape":"JobSummary"} + }, + "JobTargets":{ + "type":"list", + "member":{"shape":"TargetArn"}, + "min":1 + }, + "JsonDocument":{"type":"string"}, + "Key":{"type":"string"}, + "KeyName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "KeyPair":{ + "type":"structure", + "members":{ + "PublicKey":{ + "shape":"PublicKey", + "documentation":"

The public key.

" + }, + "PrivateKey":{ + "shape":"PrivateKey", + "documentation":"

The private key.

" + } + }, + "documentation":"

Describes a key pair.

" + }, + "KeyValue":{ + "type":"string", + "max":5120 + }, + "KinesisAction":{ + "type":"structure", + "required":[ + "roleArn", + "streamName" + ], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

" + }, + "streamName":{ + "shape":"StreamName", + "documentation":"

The name of the Amazon Kinesis stream.

" + }, + "partitionKey":{ + "shape":"PartitionKey", + "documentation":"

The partition key.

" + } + }, + "documentation":"

Describes an action to write data to an Amazon Kinesis stream.

" + }, + "LambdaAction":{ + "type":"structure", + "required":["functionArn"], + "members":{ + "functionArn":{ + "shape":"FunctionArn", + "documentation":"

The ARN of the Lambda function.

" + } + }, + "documentation":"

Describes an action to invoke a Lambda function.

" + }, + "LaserMaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "LastModifiedDate":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

A limit has been exceeded.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListActiveViolationsRequest":{ + "type":"structure", + "members":{ + "thingName":{ + "shape":"DeviceDefenderThingName", + "documentation":"

The name of the thing whose active violations are listed.

", + "location":"querystring", + "locationName":"thingName" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the Device Defender security profile for which violations are listed.

", + "location":"querystring", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListActiveViolationsResponse":{ + "type":"structure", + "members":{ + "activeViolations":{ + "shape":"ActiveViolations", + "documentation":"

The list of active violations.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAttachedPoliciesRequest":{ + "type":"structure", + "required":["target"], + "members":{ + "target":{ + "shape":"PolicyTarget", + "documentation":"

The group or principal for which the policies will be listed.

", + "location":"uri", + "locationName":"target" + }, + "recursive":{ + "shape":"Recursive", + "documentation":"

When true, recursively list attached policies.

", + "location":"querystring", + "locationName":"recursive" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to be returned per request.

", + "location":"querystring", + "locationName":"pageSize" + } + } + }, + "ListAttachedPoliciesResponse":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

The policies.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The token to retrieve the next set of results, or ``null`` if there are no more results.

" + } + } + }, + "ListAuditFindingsRequest":{ + "type":"structure", + "members":{ + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

A filter to limit results to the audit with the specified ID. You must specify either the taskId or the startTime and endTime, but not both.

" + }, + "checkName":{ + "shape":"AuditCheckName", + "documentation":"

A filter to limit results to the findings for the specified audit check.

" + }, + "resourceIdentifier":{ + "shape":"ResourceIdentifier", + "documentation":"

Information identifying the noncompliant resource.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those found after the specified time. You must specify either the startTime and endTime or the taskId, but not both.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those found before the specified time. You must specify either the startTime and endTime or the taskId, but not both.

" + } + } + }, + "ListAuditFindingsResponse":{ + "type":"structure", + "members":{ + "findings":{ + "shape":"AuditFindings", + "documentation":"

The findings (results) of the audit.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAuditMitigationActionsExecutionsRequest":{ + "type":"structure", + "required":[ + "taskId", + "findingId" + ], + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

Specify this filter to limit results to actions for a specific audit mitigation actions task.

", + "location":"querystring", + "locationName":"taskId" + }, + "actionStatus":{ + "shape":"AuditMitigationActionsExecutionStatus", + "documentation":"

Specify this filter to limit results to those with a specific status.

", + "location":"querystring", + "locationName":"actionStatus" + }, + "findingId":{ + "shape":"FindingId", + "documentation":"

Specify this filter to limit results to those that were applied to a specific audit finding.

", + "location":"querystring", + "locationName":"findingId" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAuditMitigationActionsExecutionsResponse":{ + "type":"structure", + "members":{ + "actionsExecutions":{ + "shape":"AuditMitigationActionExecutionMetadataList", + "documentation":"

A set of task execution results based on the input parameters. Details include the mitigation action applied, start time, and task status.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + } + } + }, + "ListAuditMitigationActionsTasksRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "auditTaskId":{ + "shape":"AuditTaskId", + "documentation":"

Specify this filter to limit results to tasks that were applied to results for a specific audit.

", + "location":"querystring", + "locationName":"auditTaskId" + }, + "findingId":{ + "shape":"FindingId", + "documentation":"

Specify this filter to limit results to tasks that were applied to a specific audit finding.

", + "location":"querystring", + "locationName":"findingId" + }, + "taskStatus":{ + "shape":"AuditMitigationActionsTaskStatus", + "documentation":"

Specify this filter to limit results to tasks that are in a specific state.

", + "location":"querystring", + "locationName":"taskStatus" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

Specify this filter to limit results to tasks that began on or after a specific date and time.

", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

Specify this filter to limit results to tasks that were completed or canceled on or before a specific date and time.

", + "location":"querystring", + "locationName":"endTime" + } + } + }, + "ListAuditMitigationActionsTasksResponse":{ + "type":"structure", + "members":{ + "tasks":{ + "shape":"AuditMitigationActionsTaskMetadataList", + "documentation":"

The collection of audit mitigation tasks that matched the filter criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + } + } + }, + "ListAuditTasksRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{ + "shape":"Timestamp", + "documentation":"

The beginning of the time period. Audit information is retained for a limited time (180 days). Requesting a start time prior to what is retained results in an \"InvalidRequestException\".

", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end of the time period.

", + "location":"querystring", + "locationName":"endTime" + }, + "taskType":{ + "shape":"AuditTaskType", + "documentation":"

A filter to limit the output to the specified type of audit: can be one of \"ON_DEMAND_AUDIT_TASK\" or \"SCHEDULED__AUDIT_TASK\".

", + "location":"querystring", + "locationName":"taskType" + }, + "taskStatus":{ + "shape":"AuditTaskStatus", + "documentation":"

A filter to limit the output to audits with the specified completion status: can be one of \"IN_PROGRESS\", \"COMPLETED\", \"FAILED\", or \"CANCELED\".

", + "location":"querystring", + "locationName":"taskStatus" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAuditTasksResponse":{ + "type":"structure", + "members":{ + "tasks":{ + "shape":"AuditTaskMetadataList", + "documentation":"

The audits that were performed during the specified time period.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAuthorizersRequest":{ + "type":"structure", + "members":{ + "pageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Return the list of authorizers in ascending alphabetical order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + }, + "status":{ + "shape":"AuthorizerStatus", + "documentation":"

The status of the list authorizers request.

", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListAuthorizersResponse":{ + "type":"structure", + "members":{ + "authorizers":{ + "shape":"Authorizers", + "documentation":"

The authorizers.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

" + } + } + }, + "ListBillingGroupsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return per request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "namePrefixFilter":{ + "shape":"BillingGroupName", + "documentation":"

Limit the results to billing groups whose names have the given prefix.

", + "location":"querystring", + "locationName":"namePrefixFilter" + } + } + }, + "ListBillingGroupsResponse":{ + "type":"structure", + "members":{ + "billingGroups":{ + "shape":"BillingGroupNameAndArnList", + "documentation":"

The list of billing groups.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListCACertificatesRequest":{ + "type":"structure", + "members":{ + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Determines the order of the results.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

Input for the ListCACertificates operation.

" + }, + "ListCACertificatesResponse":{ + "type":"structure", + "members":{ + "certificates":{ + "shape":"CACertificates", + "documentation":"

The CA certificates registered in your AWS account.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The current position within the list of CA certificates.

" + } + }, + "documentation":"

The output from the ListCACertificates operation.

" + }, + "ListCertificatesByCARequest":{ + "type":"structure", + "required":["caCertificateId"], + "members":{ + "caCertificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

", + "location":"uri", + "locationName":"caCertificateId" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input to the ListCertificatesByCA operation.

" + }, + "ListCertificatesByCAResponse":{ + "type":"structure", + "members":{ + "certificates":{ + "shape":"Certificates", + "documentation":"

The device certificates signed by the specified CA certificate.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output of the ListCertificatesByCA operation.

" + }, + "ListCertificatesRequest":{ + "type":"structure", + "members":{ + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input for the ListCertificates operation.

" + }, + "ListCertificatesResponse":{ + "type":"structure", + "members":{ + "certificates":{ + "shape":"Certificates", + "documentation":"

The descriptions of the certificates.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output of the ListCertificates operation.

" + }, + "ListDimensionsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to retrieve at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDimensionsResponse":{ + "type":"structure", + "members":{ + "dimensionNames":{ + "shape":"DimensionNames", + "documentation":"

A list of the names of the defined dimensions. Use DescribeDimension to get details for a dimension.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListDomainConfigurationsRequest":{ + "type":"structure", + "members":{ + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "serviceType":{ + "shape":"ServiceType", + "documentation":"

The type of service delivered by the endpoint.

", + "location":"querystring", + "locationName":"serviceType" + } + } + }, + "ListDomainConfigurationsResponse":{ + "type":"structure", + "members":{ + "domainConfigurations":{ + "shape":"DomainConfigurations", + "documentation":"

A list of objects that contain summary information about the user's domain configurations.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

" + } + } + }, + "ListIndicesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"QueryMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListIndicesResponse":{ + "type":"structure", + "members":{ + "indexNames":{ + "shape":"IndexNamesList", + "documentation":"

The index names.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListJobExecutionsForJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The status of the job.

", + "location":"querystring", + "locationName":"status" + }, + "maxResults":{ + "shape":"LaserMaxResults", + "documentation":"

The maximum number of results to be returned per request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListJobExecutionsForJobResponse":{ + "type":"structure", + "members":{ + "executionSummaries":{ + "shape":"JobExecutionSummaryForJobList", + "documentation":"

A list of job execution summaries.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListJobExecutionsForThingRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing name.

", + "location":"uri", + "locationName":"thingName" + }, + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

An optional filter that lets you search for jobs that have the specified status.

", + "location":"querystring", + "locationName":"status" + }, + "maxResults":{ + "shape":"LaserMaxResults", + "documentation":"

The maximum number of results to be returned per request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListJobExecutionsForThingResponse":{ + "type":"structure", + "members":{ + "executionSummaries":{ + "shape":"JobExecutionSummaryForThingList", + "documentation":"

A list of job execution summaries.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListJobsRequest":{ + "type":"structure", + "members":{ + "status":{ + "shape":"JobStatus", + "documentation":"

An optional filter that lets you search for jobs that have the specified status.

", + "location":"querystring", + "locationName":"status" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the job will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the job (SNAPSHOT). If continuous, the job may also be run on a thing when a change is detected in a target. For example, a job will run on a thing when the thing is added to a target group, even after the job was completed by all things originally in the group.

", + "location":"querystring", + "locationName":"targetSelection" + }, + "maxResults":{ + "shape":"LaserMaxResults", + "documentation":"

The maximum number of results to return per request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

A filter that limits the returned jobs to those for the specified group.

", + "location":"querystring", + "locationName":"thingGroupName" + }, + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

A filter that limits the returned jobs to those for the specified group.

", + "location":"querystring", + "locationName":"thingGroupId" + } + } + }, + "ListJobsResponse":{ + "type":"structure", + "members":{ + "jobs":{ + "shape":"JobSummaryList", + "documentation":"

A list of jobs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListMitigationActionsRequest":{ + "type":"structure", + "members":{ + "actionType":{ + "shape":"MitigationActionType", + "documentation":"

Specify a value to limit the result to mitigation actions with a specific action type.

", + "location":"querystring", + "locationName":"actionType" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListMitigationActionsResponse":{ + "type":"structure", + "members":{ + "actionIdentifiers":{ + "shape":"MitigationActionIdentifierList", + "documentation":"

A set of actions that matched the specified filter criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

" + } + } + }, + "ListOTAUpdatesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "otaUpdateStatus":{ + "shape":"OTAUpdateStatus", + "documentation":"

The OTA update job status.

", + "location":"querystring", + "locationName":"otaUpdateStatus" + } + } + }, + "ListOTAUpdatesResponse":{ + "type":"structure", + "members":{ + "otaUpdates":{ + "shape":"OTAUpdatesSummary", + "documentation":"

A list of OTA update jobs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to use to get the next set of results.

" + } + } + }, + "ListOutgoingCertificatesRequest":{ + "type":"structure", + "members":{ + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input to the ListOutgoingCertificates operation.

" + }, + "ListOutgoingCertificatesResponse":{ + "type":"structure", + "members":{ + "outgoingCertificates":{ + "shape":"OutgoingCertificates", + "documentation":"

The certificates that are being transferred but not yet accepted.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

" + } + }, + "documentation":"

The output from the ListOutgoingCertificates operation.

" + }, + "ListPoliciesRequest":{ + "type":"structure", + "members":{ + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input for the ListPolicies operation.

" + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

The descriptions of the policies.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output from the ListPolicies operation.

" + }, + "ListPolicyPrincipalsRequest":{ + "type":"structure", + "required":["policyName"], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"header", + "locationName":"x-amzn-iot-policy" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input for the ListPolicyPrincipals operation.

" + }, + "ListPolicyPrincipalsResponse":{ + "type":"structure", + "members":{ + "principals":{ + "shape":"Principals", + "documentation":"

The descriptions of the principals.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output from the ListPolicyPrincipals operation.

" + }, + "ListPolicyVersionsRequest":{ + "type":"structure", + "required":["policyName"], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"uri", + "locationName":"policyName" + } + }, + "documentation":"

The input for the ListPolicyVersions operation.

" + }, + "ListPolicyVersionsResponse":{ + "type":"structure", + "members":{ + "policyVersions":{ + "shape":"PolicyVersions", + "documentation":"

The policy versions.

" + } + }, + "documentation":"

The output from the ListPolicyVersions operation.

" + }, + "ListPrincipalPoliciesRequest":{ + "type":"structure", + "required":["principal"], + "members":{ + "principal":{ + "shape":"Principal", + "documentation":"

The principal.

", + "location":"header", + "locationName":"x-amzn-iot-principal" + }, + "marker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The result page size.

", + "location":"querystring", + "locationName":"pageSize" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Specifies the order for results. If true, results are returned in ascending creation order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + }, + "documentation":"

The input for the ListPrincipalPolicies operation.

" + }, + "ListPrincipalPoliciesResponse":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"Policies", + "documentation":"

The policies.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output from the ListPrincipalPolicies operation.

" + }, + "ListPrincipalThingsRequest":{ + "type":"structure", + "required":["principal"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", + "location":"querystring", + "locationName":"maxResults" + }, + "principal":{ + "shape":"Principal", + "documentation":"

The principal.

", + "location":"header", + "locationName":"x-amzn-principal" + } + }, + "documentation":"

The input for the ListPrincipalThings operation.

" + }, + "ListPrincipalThingsResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"ThingNameList", + "documentation":"

The things.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output from the ListPrincipalThings operation.

" + }, + "ListProvisioningTemplateVersionsRequest":{ + "type":"structure", + "required":["templateName"], + "members":{ + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

", + "location":"uri", + "locationName":"templateName" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProvisioningTemplateVersionsResponse":{ + "type":"structure", + "members":{ + "versions":{ + "shape":"ProvisioningTemplateVersionListing", + "documentation":"

The list of fleet provisioning template versions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results.

" + } + } + }, + "ListProvisioningTemplatesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProvisioningTemplatesResponse":{ + "type":"structure", + "members":{ + "templates":{ + "shape":"ProvisioningTemplateListing", + "documentation":"

A list of fleet provisioning templates

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results.

" + } + } + }, + "ListRoleAliasesRequest":{ + "type":"structure", + "members":{ + "pageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"pageSize" + }, + "marker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Return the list of role aliases in ascending alphabetical order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + } + }, + "ListRoleAliasesResponse":{ + "type":"structure", + "members":{ + "roleAliases":{ + "shape":"RoleAliases", + "documentation":"

The role aliases.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

" + } + } + }, + "ListScheduledAuditsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time. The default is 25.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListScheduledAuditsResponse":{ + "type":"structure", + "members":{ + "scheduledAudits":{ + "shape":"ScheduledAuditMetadataList", + "documentation":"

The list of scheduled audits.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListSecurityProfilesForTargetRequest":{ + "type":"structure", + "required":["securityProfileTargetArn"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "recursive":{ + "shape":"Recursive", + "documentation":"

If true, return child groups too.

", + "location":"querystring", + "locationName":"recursive" + }, + "securityProfileTargetArn":{ + "shape":"SecurityProfileTargetArn", + "documentation":"

The ARN of the target (thing group) whose attached security profiles you want to get.

", + "location":"querystring", + "locationName":"securityProfileTargetArn" + } + } + }, + "ListSecurityProfilesForTargetResponse":{ + "type":"structure", + "members":{ + "securityProfileTargetMappings":{ + "shape":"SecurityProfileTargetMappings", + "documentation":"

A list of security profiles and their associated targets.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListSecurityProfilesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "dimensionName":{ + "shape":"DimensionName", + "documentation":"

A filter to limit results to the security profiles that use the defined dimension.

", + "location":"querystring", + "locationName":"dimensionName" + } + } + }, + "ListSecurityProfilesResponse":{ + "type":"structure", + "members":{ + "securityProfileIdentifiers":{ + "shape":"SecurityProfileIdentifiers", + "documentation":"

A list of security profile identifiers (names and ARNs).

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListStreamsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at a time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to get the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "ascendingOrder":{ + "shape":"AscendingOrder", + "documentation":"

Set to true to return the list of streams in ascending order.

", + "location":"querystring", + "locationName":"isAscendingOrder" + } + } + }, + "ListStreamsResponse":{ + "type":"structure", + "members":{ + "streams":{ + "shape":"StreamsSummary", + "documentation":"

A list of streams.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to get the next set of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The list of tags assigned to the resource.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListTargetsForPolicyRequest":{ + "type":"structure", + "required":["policyName"], + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

", + "location":"uri", + "locationName":"policyName" + }, + "marker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

", + "location":"querystring", + "locationName":"marker" + }, + "pageSize":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"pageSize" + } + } + }, + "ListTargetsForPolicyResponse":{ + "type":"structure", + "members":{ + "targets":{ + "shape":"PolicyTargets", + "documentation":"

The policy targets.

" + }, + "nextMarker":{ + "shape":"Marker", + "documentation":"

A marker used to get the next set of results.

" + } + } + }, + "ListTargetsForSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The security profile.

", + "location":"uri", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListTargetsForSecurityProfileResponse":{ + "type":"structure", + "members":{ + "securityProfileTargets":{ + "shape":"SecurityProfileTargets", + "documentation":"

The thing groups to which the security profile is attached.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingGroupsForThingRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing name.

", + "location":"uri", + "locationName":"thingName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListThingGroupsForThingResponse":{ + "type":"structure", + "members":{ + "thingGroups":{ + "shape":"ThingGroupNameAndArnList", + "documentation":"

The thing groups.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingGroupsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "parentGroup":{ + "shape":"ThingGroupName", + "documentation":"

A filter that limits the results to those with the specified parent group.

", + "location":"querystring", + "locationName":"parentGroup" + }, + "namePrefixFilter":{ + "shape":"ThingGroupName", + "documentation":"

A filter that limits the results to those with the specified name prefix.

", + "location":"querystring", + "locationName":"namePrefixFilter" + }, + "recursive":{ + "shape":"RecursiveWithoutDefault", + "documentation":"

If true, return child groups as well.

", + "location":"querystring", + "locationName":"recursive" + } + } + }, + "ListThingGroupsResponse":{ + "type":"structure", + "members":{ + "thingGroups":{ + "shape":"ThingGroupNameAndArnList", + "documentation":"

The thing groups.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingPrincipalsRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

", + "location":"uri", + "locationName":"thingName" + } + }, + "documentation":"

The input for the ListThingPrincipal operation.

" + }, + "ListThingPrincipalsResponse":{ + "type":"structure", + "members":{ + "principals":{ + "shape":"Principals", + "documentation":"

The principals associated with the thing.

" + } + }, + "documentation":"

The output from the ListThingPrincipals operation.

" + }, + "ListThingRegistrationTaskReportsRequest":{ + "type":"structure", + "required":[ + "taskId", + "reportType" + ], + "members":{ + "taskId":{ + "shape":"TaskId", + "documentation":"

The id of the task.

", + "location":"uri", + "locationName":"taskId" + }, + "reportType":{ + "shape":"ReportType", + "documentation":"

The type of task report.

", + "location":"querystring", + "locationName":"reportType" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return per request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListThingRegistrationTaskReportsResponse":{ + "type":"structure", + "members":{ + "resourceLinks":{ + "shape":"S3FileUrlList", + "documentation":"

Links to the task resources.

" + }, + "reportType":{ + "shape":"ReportType", + "documentation":"

The type of task report.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingRegistrationTasksRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bulk thing provisioning task.

", + "location":"querystring", + "locationName":"status" + } + } + }, + "ListThingRegistrationTasksResponse":{ + "type":"structure", + "members":{ + "taskIds":{ + "shape":"TaskIdList", + "documentation":"

A list of bulk thing provisioning task IDs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingTypesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", + "location":"querystring", + "locationName":"maxResults" + }, + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

", + "location":"querystring", + "locationName":"thingTypeName" + } + }, + "documentation":"

The input for the ListThingTypes operation.

" + }, + "ListThingTypesResponse":{ + "type":"structure", + "members":{ + "thingTypes":{ + "shape":"ThingTypeList", + "documentation":"

The thing types.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output for the ListThingTypes operation.

" + }, + "ListThingsInBillingGroupRequest":{ + "type":"structure", + "required":["billingGroupName"], + "members":{ + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

", + "location":"uri", + "locationName":"billingGroupName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return per request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListThingsInBillingGroupResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"ThingNameList", + "documentation":"

A list of things in the billing group.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingsInThingGroupRequest":{ + "type":"structure", + "required":["thingGroupName"], + "members":{ + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The thing group name.

", + "location":"uri", + "locationName":"thingGroupName" + }, + "recursive":{ + "shape":"Recursive", + "documentation":"

When true, list things in this thing group and in all child groups as well.

", + "location":"querystring", + "locationName":"recursive" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListThingsInThingGroupResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"ThingNameList", + "documentation":"

The things in the specified thing group.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListThingsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"RegistryMaxResults", + "documentation":"

The maximum number of results to return in this operation.

", + "location":"querystring", + "locationName":"maxResults" + }, + "attributeName":{ + "shape":"AttributeName", + "documentation":"

The attribute name used to search for things.

", + "location":"querystring", + "locationName":"attributeName" + }, + "attributeValue":{ + "shape":"AttributeValue", + "documentation":"

The attribute value used to search for things.

", + "location":"querystring", + "locationName":"attributeValue" + }, + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type used to search for things.

", + "location":"querystring", + "locationName":"thingTypeName" + } + }, + "documentation":"

The input for the ListThings operation.

" + }, + "ListThingsResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"ThingAttributeList", + "documentation":"

The things.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + }, + "documentation":"

The output from the ListThings operation.

" + }, + "ListTopicRuleDestinationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"TopicRuleDestinationMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTopicRuleDestinationsResponse":{ + "type":"structure", + "members":{ + "destinationSummaries":{ + "shape":"TopicRuleDestinationSummaries", + "documentation":"

Information about a topic rule destination.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

" + } + } + }, + "ListTopicRulesRequest":{ + "type":"structure", + "members":{ + "topic":{ + "shape":"Topic", + "documentation":"

The topic.

", + "location":"querystring", + "locationName":"topic" + }, + "maxResults":{ + "shape":"TopicRuleMaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to retrieve the next value.

", + "location":"querystring", + "locationName":"nextToken" + }, + "ruleDisabled":{ + "shape":"IsDisabled", + "documentation":"

Specifies whether the rule is disabled.

", + "location":"querystring", + "locationName":"ruleDisabled" + } + }, + "documentation":"

The input for the ListTopicRules operation.

" + }, + "ListTopicRulesResponse":{ + "type":"structure", + "members":{ + "rules":{ + "shape":"TopicRuleList", + "documentation":"

The rules.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to retrieve the next value.

" + } + }, + "documentation":"

The output from the ListTopicRules operation.

" + }, + "ListV2LoggingLevelsRequest":{ + "type":"structure", + "members":{ + "targetType":{ + "shape":"LogTargetType", + "documentation":"

The type of resource for which you are configuring logging. Must be THING_Group.

", + "location":"querystring", + "locationName":"targetType" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"SkyfallMaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListV2LoggingLevelsResponse":{ + "type":"structure", + "members":{ + "logTargetConfigurations":{ + "shape":"LogTargetConfigurations", + "documentation":"

The logging configuration for a target.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" + } + } + }, + "ListViolationEventsRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime" + ], + "members":{ + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start time for the alerts to be listed.

", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end time for the alerts to be listed.

", + "location":"querystring", + "locationName":"endTime" + }, + "thingName":{ + "shape":"DeviceDefenderThingName", + "documentation":"

A filter to limit results to those alerts caused by the specified thing.

", + "location":"querystring", + "locationName":"thingName" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

A filter to limit results to those alerts generated by the specified security profile.

", + "location":"querystring", + "locationName":"securityProfileName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListViolationEventsResponse":{ + "type":"structure", + "members":{ + "violationEvents":{ + "shape":"ViolationEvents", + "documentation":"

The security profile violation alerts issued for this account during the given time period, potentially filtered by security profile, behavior violated, or thing (device) violating.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token that can be used to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "LogGroupName":{"type":"string"}, + "LogLevel":{ + "type":"string", + "enum":[ + "DEBUG", + "INFO", + "ERROR", + "WARN", + "DISABLED" + ] + }, + "LogTarget":{ + "type":"structure", + "required":["targetType"], + "members":{ + "targetType":{ + "shape":"LogTargetType", + "documentation":"

The target type.

" + }, + "targetName":{ + "shape":"LogTargetName", + "documentation":"

The target name.

" + } + }, + "documentation":"

A log target.

" + }, + "LogTargetConfiguration":{ + "type":"structure", + "members":{ + "logTarget":{ + "shape":"LogTarget", + "documentation":"

A log target

" + }, + "logLevel":{ + "shape":"LogLevel", + "documentation":"

The logging level.

" + } + }, + "documentation":"

The target configuration.

" + }, + "LogTargetConfigurations":{ + "type":"list", + "member":{"shape":"LogTargetConfiguration"} + }, + "LogTargetName":{"type":"string"}, + "LogTargetType":{ + "type":"string", + "enum":[ + "DEFAULT", + "THING_GROUP" + ] + }, + "LoggingOptionsPayload":{ + "type":"structure", + "required":["roleArn"], + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" + }, + "logLevel":{ + "shape":"LogLevel", + "documentation":"

The log level.

" + } + }, + "documentation":"

Describes the logging options payload.

" + }, + "MalformedPolicyException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The policy documentation is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Marker":{ + "type":"string", + "pattern":"[A-Za-z0-9+/]+={0,2}" + }, + "MaxJobExecutionsPerMin":{ + "type":"integer", + "max":1000, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "Maximum":{"type":"double"}, + "MaximumPerMinute":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Message":{ + "type":"string", + "max":128 + }, + "MessageFormat":{ + "type":"string", + "enum":[ + "RAW", + "JSON" + ] + }, + "MessageId":{ + "type":"string", + "max":128 + }, + "MetricDimension":{ + "type":"structure", + "required":["dimensionName"], + "members":{ + "dimensionName":{ + "shape":"DimensionName", + "documentation":"

A unique identifier for the dimension.

" }, - "firehose":{ - "shape":"FirehoseAction", - "documentation":"

Write to an Amazon Kinesis Firehose stream.

" + "operator":{ + "shape":"DimensionValueOperator", + "documentation":"

Defines how the dimensionValues of a dimension are interpreted. For example, for dimension type TOPIC_FILTER, the IN operator, a message will be counted only if its topic matches one of the topic filters. With NOT_IN operator, a message will be counted only if it doesn't match any of the topic filters. The operator is optional: if it's not provided (is null), it will be interpreted as IN.

" + } + }, + "documentation":"

The dimension of a metric.

" + }, + "MetricToRetain":{ + "type":"structure", + "required":["metric"], + "members":{ + "metric":{ + "shape":"BehaviorMetric", + "documentation":"

What is measured by the behavior.

" }, - "cloudwatchMetric":{ - "shape":"CloudwatchMetricAction", - "documentation":"

Capture a CloudWatch metric.

" + "metricDimension":{ + "shape":"MetricDimension", + "documentation":"

The dimension of a metric.

" + } + }, + "documentation":"

The metric you want to retain. Dimensions are optional.

" + }, + "MetricValue":{ + "type":"structure", + "members":{ + "count":{ + "shape":"UnsignedLong", + "documentation":"

If the comparisonOperator calls for a numeric value, use this to specify that numeric value to be compared with the metric.

" }, - "cloudwatchAlarm":{ - "shape":"CloudwatchAlarmAction", - "documentation":"

Change the state of a CloudWatch alarm.

" + "cidrs":{ + "shape":"Cidrs", + "documentation":"

If the comparisonOperator calls for a set of CIDRs, use this to specify that set to be compared with the metric.

" }, - "elasticsearch":{ - "shape":"ElasticsearchAction", - "documentation":"

Write data to an Amazon Elasticsearch Service domain.

" + "ports":{ + "shape":"Ports", + "documentation":"

If the comparisonOperator calls for a set of ports, use this to specify that set to be compared with the metric.

" } }, - "documentation":"

Describes the actions associated with a rule.

" + "documentation":"

The value to be compared with the metric.

" }, - "ActionList":{ + "Minimum":{"type":"double"}, + "MinimumNumberOfExecutedThings":{ + "type":"integer", + "min":1 + }, + "MissingContextValue":{"type":"string"}, + "MissingContextValues":{ "type":"list", - "member":{"shape":"Action"}, - "min":0, - "max":10 + "member":{"shape":"MissingContextValue"} }, - "AlarmName":{"type":"string"}, - "AllowAutoRegistration":{"type":"boolean"}, - "AscendingOrder":{"type":"boolean"}, - "AttachPrincipalPolicyRequest":{ + "MitigationAction":{ "type":"structure", - "required":[ - "policyName", - "principal" - ], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "name":{ + "shape":"MitigationActionName", + "documentation":"

A user-friendly name for the mitigation action.

" }, - "principal":{ - "shape":"Principal", - "location":"header", - "locationName":"x-amzn-iot-principal", - "documentation":"

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

" + "id":{ + "shape":"MitigationActionId", + "documentation":"

A unique identifier for the mitigation action.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The IAM role ARN used to apply this mitigation action.

" + }, + "actionParams":{ + "shape":"MitigationActionParams", + "documentation":"

The set of parameters for this mitigation action. The parameters vary, depending on the kind of action you apply.

" } }, - "documentation":"

The input for the AttachPrincipalPolicy operation.

" + "documentation":"

Describes which changes should be applied as part of a mitigation action.

" }, - "AttachThingPrincipalRequest":{ + "MitigationActionArn":{"type":"string"}, + "MitigationActionId":{"type":"string"}, + "MitigationActionIdentifier":{ "type":"structure", - "required":[ - "thingName", - "principal" - ], "members":{ - "thingName":{ - "shape":"ThingName", - "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The friendly name of the mitigation action.

" }, - "principal":{ - "shape":"Principal", - "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

The principal, such as a certificate or other credential.

" + "actionArn":{ + "shape":"MitigationActionArn", + "documentation":"

The IAM role ARN used to apply this mitigation action.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date when this mitigation action was created.

" } }, - "documentation":"

The input for the AttachThingPrincipal operation.

" + "documentation":"

Information that identifies a mitigation action. This information is returned by ListMitigationActions.

" }, - "AttachThingPrincipalResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output from the AttachThingPrincipal operation.

" + "MitigationActionIdentifierList":{ + "type":"list", + "member":{"shape":"MitigationActionIdentifier"} }, - "AttributeName":{ + "MitigationActionList":{ + "type":"list", + "member":{"shape":"MitigationAction"} + }, + "MitigationActionName":{ "type":"string", "max":128, - "pattern":"[a-zA-Z0-9_.,@/:#-]+" + "pattern":"[a-zA-Z0-9_-]+" }, - "AttributePayload":{ + "MitigationActionNameList":{ + "type":"list", + "member":{"shape":"MitigationActionName"}, + "max":5, + "min":1 + }, + "MitigationActionParams":{ "type":"structure", "members":{ - "attributes":{ - "shape":"Attributes", - "documentation":"

A JSON string containing up to three key-value pair in JSON format. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}})

" + "updateDeviceCertificateParams":{ + "shape":"UpdateDeviceCertificateParams", + "documentation":"

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

" }, - "merge":{ - "shape":"Flag", - "documentation":"

Specifies whether the list of attributes provided in the AttributePayload is merged with the attributes stored in the registry, instead of overwriting them.

To remove an attribute, call UpdateThing with an empty attribute value.

The merge attribute is only valid when calling UpdateThing.

" + "updateCACertificateParams":{ + "shape":"UpdateCACertificateParams", + "documentation":"

Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

" + }, + "addThingsToThingGroupParams":{ + "shape":"AddThingsToThingGroupParams", + "documentation":"

Parameters to define a mitigation action that moves devices associated with a certificate to one or more specified thing groups, typically for quarantine.

" + }, + "replaceDefaultPolicyVersionParams":{ + "shape":"ReplaceDefaultPolicyVersionParams", + "documentation":"

Parameters to define a mitigation action that adds a blank policy to restrict permissions.

" + }, + "enableIoTLoggingParams":{ + "shape":"EnableIoTLoggingParams", + "documentation":"

Parameters to define a mitigation action that enables AWS IoT logging at a specified level of detail.

" + }, + "publishFindingToSnsParams":{ + "shape":"PublishFindingToSnsParams", + "documentation":"

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

" } }, - "documentation":"

The attribute payload.

" - }, - "AttributeValue":{ - "type":"string", - "max":800, - "pattern":"[a-zA-Z0-9_.,@/:#-]*", - "documentation":"An attribute value for an Thing. An empty or null value in Update means that existing value for that attribute should be deleted. Empty and null values in create are ignored." - }, - "Attributes":{ - "type":"map", - "key":{"shape":"AttributeName"}, - "value":{"shape":"AttributeValue"} + "documentation":"

The set of parameters for this mitigation action. You can specify only one type of parameter (in other words, you can apply only one action for each defined mitigation action).

" }, - "AutoRegistrationStatus":{ + "MitigationActionType":{ "type":"string", "enum":[ - "ENABLE", - "DISABLE" + "UPDATE_DEVICE_CERTIFICATE", + "UPDATE_CA_CERTIFICATE", + "ADD_THINGS_TO_THING_GROUP", + "REPLACE_DEFAULT_POLICY_VERSION", + "ENABLE_IOT_LOGGING", + "PUBLISH_FINDING_TO_SNS" ] }, - "AwsAccountId":{ + "MqttClientId":{ "type":"string", - "pattern":"[0-9]{12}" + "max":65535, + "min":1 }, - "AwsArn":{"type":"string"}, - "AwsIotSqlVersion":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "BucketName":{"type":"string"}, - "CACertificate":{ + "MqttContext":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the CA certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the CA certificate.

" + "username":{ + "shape":"MqttUsername", + "documentation":"

The value of the username key in an MQTT authorization request.

" }, - "status":{ - "shape":"CACertificateStatus", - "documentation":"

The status of the CA certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "password":{ + "shape":"MqttPassword", + "documentation":"

The value of the password key in an MQTT authorization request.

" }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the CA certificate was created.

" + "clientId":{ + "shape":"MqttClientId", + "documentation":"

The value of the clientId key in an MQTT authorization request.

" } }, - "documentation":"

A CA certificate.

" + "documentation":"

Specifies the MQTT context to use for the test authorizer request

" }, - "CACertificateDescription":{ + "MqttPassword":{ + "type":"blob", + "max":65535, + "min":1 + }, + "MqttUsername":{ + "type":"string", + "max":65535, + "min":1 + }, + "NextToken":{"type":"string"}, + "NonCompliantChecksCount":{"type":"integer"}, + "NonCompliantResource":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The CA certificate ARN.

" + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the noncompliant resource.

" }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate ID.

" + "resourceIdentifier":{ + "shape":"ResourceIdentifier", + "documentation":"

Information that identifies the noncompliant resource.

" }, - "status":{ - "shape":"CACertificateStatus", - "documentation":"

The status of a CA certificate.

" + "additionalInfo":{ + "shape":"StringMap", + "documentation":"

Other information about the noncompliant resource.

" + } + }, + "documentation":"

Information about the resource that was noncompliant with the audit check.

" + }, + "NonCompliantResourcesCount":{"type":"long"}, + "NotConfiguredException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource is not configured.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NumberOfThings":{ + "type":"integer", + "min":1 + }, + "OTAUpdateArn":{"type":"string"}, + "OTAUpdateDescription":{ + "type":"string", + "max":2028, + "pattern":"[^\\p{C}]+" + }, + "OTAUpdateErrorMessage":{"type":"string"}, + "OTAUpdateFile":{ + "type":"structure", + "members":{ + "fileName":{ + "shape":"FileName", + "documentation":"

The name of the file.

" }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate data, in PEM format.

" + "fileVersion":{ + "shape":"OTAUpdateFileVersion", + "documentation":"

The file version.

" }, - "ownedBy":{ - "shape":"AwsAccountId", - "documentation":"

The owner of the CA certificate.

" + "fileLocation":{ + "shape":"FileLocation", + "documentation":"

The location of the updated firmware.

" }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The date the CA certificate was created.

" + "codeSigning":{ + "shape":"CodeSigning", + "documentation":"

The code signing method of the file.

" }, - "autoRegistrationStatus":{ - "shape":"AutoRegistrationStatus", - "documentation":"

Whether the CA certificate configured for auto registration of device certificates. Valid values are \"ENABLE\" and \"DISABLE\"

" + "attributes":{ + "shape":"AttributesMap", + "documentation":"

A list of name/attribute pairs.

" } }, - "documentation":"

Describes a CA certificate.

" - }, - "CACertificateStatus":{ - "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE" - ] + "documentation":"

Describes a file to be associated with an OTA update.

" }, - "CACertificates":{ + "OTAUpdateFileVersion":{"type":"string"}, + "OTAUpdateFiles":{ "type":"list", - "member":{"shape":"CACertificate"} + "member":{"shape":"OTAUpdateFile"}, + "max":50, + "min":1 }, - "CancelCertificateTransferRequest":{ + "OTAUpdateId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "OTAUpdateInfo":{ "type":"structure", - "required":["certificateId"], "members":{ - "certificateId":{ - "shape":"CertificateId", - "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The OTA update ID.

" + }, + "otaUpdateArn":{ + "shape":"OTAUpdateArn", + "documentation":"

The OTA update ARN.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The date when the OTA update was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date when the OTA update was last updated.

" + }, + "description":{ + "shape":"OTAUpdateDescription", + "documentation":"

A description of the OTA update.

" + }, + "targets":{ + "shape":"Targets", + "documentation":"

The targets of the OTA update.

" + }, + "protocols":{ + "shape":"Protocols", + "documentation":"

The protocol used to transfer the OTA update image. Valid values are [HTTP], [MQTT], [HTTP, MQTT]. When both HTTP and MQTT are specified, the target device can choose the protocol.

" + }, + "awsJobExecutionsRolloutConfig":{ + "shape":"AwsJobExecutionsRolloutConfig", + "documentation":"

Configuration for the rollout of OTA updates.

" + }, + "awsJobPresignedUrlConfig":{ + "shape":"AwsJobPresignedUrlConfig", + "documentation":"

Configuration information for pre-signed URLs. Valid when protocols contains HTTP.

" + }, + "targetSelection":{ + "shape":"TargetSelection", + "documentation":"

Specifies whether the OTA update will continue to run (CONTINUOUS), or will be complete after all those things specified as targets have completed the OTA update (SNAPSHOT). If continuous, the OTA update may also be run on a thing when a change is detected in a target. For example, an OTA update will run on a thing when the thing is added to a target group, even after the OTA update was completed by all things originally in the group.

" + }, + "otaUpdateFiles":{ + "shape":"OTAUpdateFiles", + "documentation":"

A list of files associated with the OTA update.

" + }, + "otaUpdateStatus":{ + "shape":"OTAUpdateStatus", + "documentation":"

The status of the OTA update.

" + }, + "awsIotJobId":{ + "shape":"AwsIotJobId", + "documentation":"

The AWS IoT job ID associated with the OTA update.

" + }, + "awsIotJobArn":{ + "shape":"AwsIotJobArn", + "documentation":"

The AWS IoT job ARN associated with the OTA update.

" + }, + "errorInfo":{ + "shape":"ErrorInfo", + "documentation":"

Error information associated with the OTA update.

" + }, + "additionalParameters":{ + "shape":"AdditionalParameterMap", + "documentation":"

A collection of name/value pairs

" } }, - "documentation":"

The input for the CancelCertificateTransfer operation.

" + "documentation":"

Information about an OTA update.

" }, - "CannedAccessControlList":{ + "OTAUpdateStatus":{ "type":"string", "enum":[ - "private", - "public-read", - "public-read-write", - "aws-exec-read", - "authenticated-read", - "bucket-owner-read", - "bucket-owner-full-control", - "log-delivery-write" + "CREATE_PENDING", + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED" ] }, - "Certificate":{ + "OTAUpdateSummary":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate.

" + "otaUpdateId":{ + "shape":"OTAUpdateId", + "documentation":"

The OTA update ID.

" }, - "status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the certificate.

The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "otaUpdateArn":{ + "shape":"OTAUpdateArn", + "documentation":"

The OTA update ARN.

" }, "creationDate":{ "shape":"DateType", - "documentation":"

The date and time the certificate was created.

" + "documentation":"

The date when the OTA update was created.

" } }, - "documentation":"

Information about a certificate.

" + "documentation":"

An OTA update summary.

" }, - "CertificateArn":{"type":"string"}, - "CertificateConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

Unable to verify the CA certificate used to sign the device certificate you are attempting to register. This is happens when you have registered more than one CA certificate that has the same subject field and public key.

" + "OTAUpdatesSummary":{ + "type":"list", + "member":{"shape":"OTAUpdateSummary"} }, - "CertificateDescription":{ + "OptionalVersion":{"type":"long"}, + "OutgoingCertificate":{ "type":"structure", "members":{ "certificateArn":{ "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" + "documentation":"

The certificate ARN.

" }, "certificateId":{ "shape":"CertificateId", - "documentation":"

The ID of the certificate.

" - }, - "caCertificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate ID of the CA certificate used to sign this certificate.

" - }, - "status":{ - "shape":"CertificateStatus", - "documentation":"

The status of the certificate.

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" - }, - "ownedBy":{ - "shape":"AwsAccountId", - "documentation":"

The ID of the AWS account that owns the certificate.

" + "documentation":"

The certificate ID.

" }, - "previousOwnedBy":{ + "transferredTo":{ "shape":"AwsAccountId", - "documentation":"

The ID of the AWS account of the previous owner of the certificate.

" + "documentation":"

The AWS account to which the transfer was made.

" }, - "creationDate":{ + "transferDate":{ "shape":"DateType", - "documentation":"

The date and time the certificate was created.

" + "documentation":"

The date the transfer was initiated.

" }, - "lastModifiedDate":{ - "shape":"DateType", - "documentation":"

The date and time the certificate was last modified.

" + "transferMessage":{ + "shape":"Message", + "documentation":"

The transfer message.

" }, - "transferData":{ - "shape":"TransferData", - "documentation":"

The transfer data.

" + "creationDate":{ + "shape":"DateType", + "documentation":"

The certificate creation date.

" } }, - "documentation":"

Describes a certificate.

" - }, - "CertificateId":{ - "type":"string", - "min":64, - "max":64, - "pattern":"(0x)?[a-fA-F0-9]+" + "documentation":"

A certificate that has been transferred but not yet accepted.

" }, - "CertificatePem":{ - "type":"string", - "min":1, - "max":65536 + "OutgoingCertificates":{ + "type":"list", + "member":{"shape":"OutgoingCertificate"} }, - "CertificateSigningRequest":{ - "type":"string", + "OverrideDynamicGroups":{"type":"boolean"}, + "PageSize":{ + "type":"integer", + "max":250, "min":1 }, - "CertificateStateException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "error":{"httpStatusCode":406}, - "exception":true, - "documentation":"

The certificate operation is not allowed.

" + "Parameter":{"type":"string"}, + "Parameters":{ + "type":"map", + "key":{"shape":"Parameter"}, + "value":{"shape":"Value"} }, - "CertificateStatus":{ + "PartitionKey":{"type":"string"}, + "PayloadField":{"type":"string"}, + "PayloadVersion":{ "type":"string", - "enum":[ - "ACTIVE", - "INACTIVE", - "REVOKED", - "PENDING_TRANSFER", - "REGISTER_INACTIVE", - "PENDING_ACTIVATION" - ] - }, - "CertificateValidationException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Additional information about the exception.

" - } - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The certificate is invalid.

" + "max":32, + "min":10, + "pattern":"^[0-9-]+$" + }, + "Percent":{ + "type":"double", + "max":100, + "min":0 }, - "Certificates":{ + "PercentList":{ "type":"list", - "member":{"shape":"Certificate"} + "member":{"shape":"Percent"} }, - "ClientId":{"type":"string"}, - "CloudwatchAlarmAction":{ + "PercentPair":{ "type":"structure", - "required":[ - "roleArn", - "alarmName", - "stateReason", - "stateValue" - ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that allows access to the CloudWatch alarm.

" - }, - "alarmName":{ - "shape":"AlarmName", - "documentation":"

The CloudWatch alarm name.

" + "percent":{ + "shape":"Percent", + "documentation":"

The percentile.

" }, - "stateReason":{ - "shape":"StateReason", - "documentation":"

The reason for the alarm change.

" - }, - "stateValue":{ - "shape":"StateValue", - "documentation":"

The value of the alarm state. Acceptable values are: OK, ALARM, INSUFFICIENT_DATA.

" + "value":{ + "shape":"PercentValue", + "documentation":"

The value of the percentile.

" } }, - "documentation":"

Describes an action that updates a CloudWatch alarm.

" + "documentation":"

Describes the percentile and percentile value.

" }, - "CloudwatchMetricAction":{ - "type":"structure", - "required":[ - "roleArn", - "metricNamespace", - "metricName", - "metricValue", - "metricUnit" - ], - "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that allows access to the CloudWatch metric.

" - }, - "metricNamespace":{ - "shape":"MetricNamespace", - "documentation":"

The CloudWatch metric namespace name.

" - }, - "metricName":{ - "shape":"MetricName", - "documentation":"

The CloudWatch metric name.

" - }, - "metricValue":{ - "shape":"MetricValue", - "documentation":"

The CloudWatch metric value.

" - }, - "metricUnit":{ - "shape":"MetricUnit", - "documentation":"

The metric unit supported by CloudWatch.

" - }, - "metricTimestamp":{ - "shape":"MetricTimestamp", - "documentation":"

An optional Unix timestamp.

" - } - }, - "documentation":"

Describes an action that captures a CloudWatch metric.

" + "PercentValue":{"type":"double"}, + "Percentage":{ + "type":"integer", + "max":100, + "min":0 }, - "CreateCertificateFromCsrRequest":{ + "Percentiles":{ + "type":"list", + "member":{"shape":"PercentPair"} + }, + "Platform":{"type":"string"}, + "Policies":{ + "type":"list", + "member":{"shape":"Policy"} + }, + "Policy":{ "type":"structure", - "required":["certificateSigningRequest"], "members":{ - "certificateSigningRequest":{ - "shape":"CertificateSigningRequest", - "documentation":"

The certificate signing request (CSR).

" + "policyName":{ + "shape":"PolicyName", + "documentation":"

The policy name.

" }, - "setAsActive":{ - "shape":"SetAsActive", - "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" + "policyArn":{ + "shape":"PolicyArn", + "documentation":"

The policy ARN.

" } }, - "documentation":"

The input for the CreateCertificateFromCsr operation.

" + "documentation":"

Describes an AWS IoT policy.

" }, - "CreateCertificateFromCsrResponse":{ + "PolicyArn":{"type":"string"}, + "PolicyDocument":{"type":"string"}, + "PolicyDocuments":{ + "type":"list", + "member":{"shape":"PolicyDocument"} + }, + "PolicyName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]+" + }, + "PolicyNames":{ + "type":"list", + "member":{"shape":"PolicyName"} + }, + "PolicyTarget":{"type":"string"}, + "PolicyTargets":{ + "type":"list", + "member":{"shape":"PolicyTarget"} + }, + "PolicyTemplateName":{ + "type":"string", + "enum":["BLANK_POLICY"] + }, + "PolicyVersion":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The Amazon Resource Name (ARN) of the certificate. You can use the ARN as a principal for policy operations.

" + "versionId":{ + "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

" }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. Certificate management operations only take a certificateId.

" + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

Specifies whether the policy version is the default.

" }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" + "createDate":{ + "shape":"DateType", + "documentation":"

The date and time the policy was created.

" } }, - "documentation":"

The output from the CreateCertificateFromCsr operation.

" + "documentation":"

Describes a policy version.

" }, - "CreateKeysAndCertificateRequest":{ + "PolicyVersionId":{ + "type":"string", + "pattern":"[0-9]+" + }, + "PolicyVersionIdentifier":{ "type":"structure", "members":{ - "setAsActive":{ - "shape":"SetAsActive", - "location":"querystring", - "locationName":"setAsActive", - "documentation":"

Specifies whether the certificate is active.

" + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy.

" + }, + "policyVersionId":{ + "shape":"PolicyVersionId", + "documentation":"

The ID of the version of the policy associated with the resource.

" } }, - "documentation":"

The input for the CreateKeysAndCertificate operation.

" + "documentation":"

Information about the version of the policy associated with the resource.

" }, - "CreateKeysAndCertificateResponse":{ + "PolicyVersions":{ + "type":"list", + "member":{"shape":"PolicyVersion"} + }, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "Ports":{ + "type":"list", + "member":{"shape":"Port"} + }, + "Prefix":{"type":"string"}, + "PresignedUrlConfig":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The ID of the certificate. AWS IoT issues a default subject name for the certificate (for example, AWS IoT Certificate).

" - }, - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of an IAM role that grants grants permission to download files from the S3 bucket where the job data/updates are stored. The role must also grant permission for IoT to download the files.

" }, - "keyPair":{ - "shape":"KeyPair", - "documentation":"

The generated key pair.

" + "expiresInSec":{ + "shape":"ExpiresInSec", + "documentation":"

How long (in seconds) pre-signed URLs are valid. Valid values are 60 - 3600, the default value is 3600 seconds. Pre-signed URLs are generated when Jobs receives an MQTT request for the job document.

" } }, - "documentation":"

The output of the CreateKeysAndCertificate operation.

" + "documentation":"

Configuration for pre-signed S3 URLs.

" }, - "CreatePolicyRequest":{ + "Principal":{"type":"string"}, + "PrincipalArn":{"type":"string"}, + "PrincipalId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9]+" + }, + "Principals":{ + "type":"list", + "member":{"shape":"PrincipalArn"} + }, + "PrivateKey":{ + "type":"string", + "min":1, + "sensitive":true + }, + "ProcessingTargetName":{"type":"string"}, + "ProcessingTargetNameList":{ + "type":"list", + "member":{"shape":"ProcessingTargetName"} + }, + "Protocol":{ + "type":"string", + "enum":[ + "MQTT", + "HTTP" + ] + }, + "Protocols":{ + "type":"list", + "member":{"shape":"Protocol"}, + "max":2, + "min":1 + }, + "ProvisioningHook":{ "type":"structure", - "required":[ - "policyName", - "policyDocument" - ], + "required":["targetArn"], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "payloadVersion":{ + "shape":"PayloadVersion", + "documentation":"

The payload that was sent to the target function.

Note: Only Lambda functions are currently supported.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace.

" + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The ARN of the target function.

Note: Only Lambda functions are currently supported.

" } }, - "documentation":"

The input for the CreatePolicy operation.

" + "documentation":"

Structure that contains payloadVersion and targetArn.

" }, - "CreatePolicyResponse":{ + "ProvisioningTemplateListing":{ + "type":"list", + "member":{"shape":"ProvisioningTemplateSummary"} + }, + "ProvisioningTemplateSummary":{ "type":"structure", "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" + "templateArn":{ + "shape":"TemplateArn", + "documentation":"

The ARN of the fleet provisioning template.

" }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" + "description":{ + "shape":"TemplateDescription", + "documentation":"

The description of the fleet provisioning template.

" }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" + "creationDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template summary was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template summary was last modified.

" + }, + "enabled":{ + "shape":"Enabled", + "documentation":"

True if the fleet provision template is enabled, otherwise false.

" } }, - "documentation":"

The output from the CreatePolicy operation.

" + "documentation":"

A summary of information about a fleet provisioning template.

" }, - "CreatePolicyVersionRequest":{ + "ProvisioningTemplateVersionListing":{ + "type":"list", + "member":{"shape":"ProvisioningTemplateVersionSummary"} + }, + "ProvisioningTemplateVersionSummary":{ "type":"structure", - "required":[ - "policyName", - "policyDocument" - ], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "versionId":{ + "shape":"TemplateVersionId", + "documentation":"

The ID of the fleet privisioning template version.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy. Minimum length of 1. Maximum length of 2048, excluding whitespaces

" + "creationDate":{ + "shape":"DateType", + "documentation":"

The date when the fleet provisioning template version was created

" }, - "setAsDefault":{ - "shape":"SetAsDefault", - "location":"querystring", - "locationName":"setAsDefault", - "documentation":"

Specifies whether the policy version is set as the default. When this parameter is true, the new policy version becomes the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

" + "isDefaultVersion":{ + "shape":"IsDefaultVersion", + "documentation":"

True if the fleet provisioning template version is the default version, otherwise false.

" } }, - "documentation":"

The input for the CreatePolicyVersion operation.

" + "documentation":"

A summary of information about a fleet provision template version.

" }, - "CreatePolicyVersionResponse":{ + "PublicKey":{ + "type":"string", + "min":1 + }, + "PublicKeyMap":{ + "type":"map", + "key":{"shape":"KeyName"}, + "value":{"shape":"KeyValue"} + }, + "PublishFindingToSnsParams":{ "type":"structure", + "required":["topicArn"], "members":{ - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" + "topicArn":{ + "shape":"SnsTopicArn", + "documentation":"

The ARN of the topic to which you want to publish the findings.

" + } + }, + "documentation":"

Parameters to define a mitigation action that publishes findings to Amazon SNS. You can implement your own custom actions in response to the Amazon SNS messages.

" + }, + "PutAssetPropertyValueEntry":{ + "type":"structure", + "required":["propertyValues"], + "members":{ + "entryId":{ + "shape":"AssetPropertyEntryId", + "documentation":"

Optional. A unique identifier for this entry that you can define to better track which message caused an error in case of failure. Accepts substitution templates. Defaults to a new UUID.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" + "assetId":{ + "shape":"AssetId", + "documentation":"

The ID of the AWS IoT SiteWise asset. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

" }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" + "propertyId":{ + "shape":"AssetPropertyId", + "documentation":"

The ID of the asset's property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

" }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The name of the property alias associated with your asset property. You must specify either a propertyAlias or both an aliasId and a propertyId. Accepts substitution templates.

" + }, + "propertyValues":{ + "shape":"AssetPropertyValueList", + "documentation":"

A list of property values to insert that each contain timestamp, quality, and value (TQV) information.

" } }, - "documentation":"

The output of the CreatePolicyVersion operation.

" + "documentation":"

An asset property value entry containing the following information.

" }, - "CreateThingRequest":{ + "PutAssetPropertyValueEntryList":{ + "type":"list", + "member":{"shape":"PutAssetPropertyValueEntry"}, + "min":1 + }, + "PutItemInput":{ "type":"structure", - "required":["thingName"], + "required":["tableName"], "members":{ - "thingName":{ - "shape":"ThingName", - "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to create.

" - }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type associated with the new thing.

" - }, - "attributePayload":{ - "shape":"AttributePayload", - "documentation":"

The attribute payload, which consists of up to three name/value pairs in a JSON document. For example:

{\\\"attributes\\\":{\\\"string1\\\":\\\"string2\\\"}})

" + "tableName":{ + "shape":"TableName", + "documentation":"

The table where the message data will be written.

" } }, - "documentation":"

The input for the CreateThing operation.

" + "documentation":"

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

" }, - "CreateThingResponse":{ + "Qos":{ + "type":"integer", + "max":1, + "min":0 + }, + "QueryMaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "QueryString":{ + "type":"string", + "min":1 + }, + "QueryVersion":{"type":"string"}, + "QueueUrl":{"type":"string"}, + "QueuedThings":{"type":"integer"}, + "RangeKeyField":{"type":"string"}, + "RangeKeyValue":{"type":"string"}, + "RateIncreaseCriteria":{ "type":"structure", "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the new thing.

" + "numberOfNotifiedThings":{ + "shape":"NumberOfThings", + "documentation":"

The threshold for number of notified things that will initiate the increase in rate of rollout.

" }, - "thingArn":{ - "shape":"ThingArn", - "documentation":"

The ARN of the new thing.

" + "numberOfSucceededThings":{ + "shape":"NumberOfThings", + "documentation":"

The threshold for number of succeeded things that will initiate the increase in rate of rollout.

" } }, - "documentation":"

The output of the CreateThing operation.

" + "documentation":"

Allows you to define a criteria to initiate the increase in rate of rollout for a job.

" }, - "CreateThingTypeRequest":{ + "ReasonCode":{ + "type":"string", + "max":128, + "pattern":"[\\p{Upper}\\p{Digit}_]+" + }, + "ReasonForNonCompliance":{"type":"string"}, + "ReasonForNonComplianceCode":{"type":"string"}, + "ReasonForNonComplianceCodes":{ + "type":"list", + "member":{"shape":"ReasonForNonComplianceCode"}, + "max":25, + "min":1 + }, + "Recursive":{"type":"boolean"}, + "RecursiveWithoutDefault":{"type":"boolean"}, + "RegisterCACertificateRequest":{ "type":"structure", - "required":["thingTypeName"], + "required":[ + "caCertificate", + "verificationCertificate" + ], "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "caCertificate":{ + "shape":"CertificatePem", + "documentation":"

The CA certificate.

" }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties for the thing type to create. It contains information about the new thing type including a description, and a list of searchable thing attribute names.

" + "verificationCertificate":{ + "shape":"CertificatePem", + "documentation":"

The private key verification certificate.

" + }, + "setAsActive":{ + "shape":"SetAsActive", + "documentation":"

A boolean value that specifies if the CA certificate is set to active.

", + "location":"querystring", + "locationName":"setAsActive" + }, + "allowAutoRegistration":{ + "shape":"AllowAutoRegistration", + "documentation":"

Allows this CA certificate to be used for auto registration of device certificates.

", + "location":"querystring", + "locationName":"allowAutoRegistration" + }, + "registrationConfig":{ + "shape":"RegistrationConfig", + "documentation":"

Information about the registration configuration.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the CA certificate.

For URI Request parameters use format: ...key1=value1&key2=value2...

For the CLI command-line parameter use format: &&tags \"key1=value1&key2=value2...\"

For the cli-input-json file use format: \"tags\": \"key1=value1&key2=value2...\"

" } }, - "documentation":"

The input for the CreateThingType operation.

" + "documentation":"

The input to the RegisterCACertificate operation.

" }, - "CreateThingTypeResponse":{ + "RegisterCACertificateResponse":{ "type":"structure", "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The CA certificate ARN.

" }, - "thingTypeArn":{ - "shape":"ThingTypeArn", - "documentation":"

The Amazon Resource Name (ARN) of the thing type.

" + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The CA certificate identifier.

" } }, - "documentation":"

The output of the CreateThingType operation.

" + "documentation":"

The output from the RegisterCACertificateResponse operation.

" }, - "CreateTopicRuleRequest":{ + "RegisterCertificateRequest":{ "type":"structure", - "required":[ - "ruleName", - "topicRulePayload" - ], + "required":["certificatePem"], "members":{ - "ruleName":{ - "shape":"RuleName", - "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" }, - "topicRulePayload":{ - "shape":"TopicRulePayload", - "documentation":"

The rule payload.

" + "caCertificatePem":{ + "shape":"CertificatePem", + "documentation":"

The CA certificate used to sign the device certificate being registered.

" + }, + "setAsActive":{ + "shape":"SetAsActiveFlag", + "documentation":"

A boolean value that specifies if the certificate is set to active.

", + "deprecated":true, + "location":"querystring", + "locationName":"setAsActive" + }, + "status":{ + "shape":"CertificateStatus", + "documentation":"

The status of the register certificate request.

" } }, - "documentation":"

The input for the CreateTopicRule operation.

", - "payload":"topicRulePayload" + "documentation":"

The input to the RegisterCertificate operation.

" }, - "CreatedAtDate":{"type":"timestamp"}, - "CreationDate":{"type":"timestamp"}, - "DateType":{"type":"timestamp"}, - "DeleteCACertificateRequest":{ + "RegisterCertificateResponse":{ "type":"structure", - "required":["certificateId"], "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The certificate ARN.

" + }, "certificateId":{ "shape":"CertificateId", - "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The ID of the certificate to delete.

" + "documentation":"

The certificate identifier.

" } }, - "documentation":"

Input for the DeleteCACertificate operation.

" + "documentation":"

The output from the RegisterCertificate operation.

" }, - "DeleteCACertificateResponse":{ + "RegisterCertificateWithoutCARequest":{ "type":"structure", + "required":["certificatePem"], "members":{ - }, - "documentation":"

The output for the DeleteCACertificate operation.

" + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" + }, + "status":{ + "shape":"CertificateStatus", + "documentation":"

The status of the register certificate request.

" + } + } }, - "DeleteCertificateRequest":{ + "RegisterCertificateWithoutCAResponse":{ "type":"structure", - "required":["certificateId"], "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

The Amazon Resource Name (ARN) of the registered certificate.

" + }, "certificateId":{ "shape":"CertificateId", - "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" - } - }, - "documentation":"

The input for the DeleteCertificate operation.

" - }, - "DeleteConflictException":{ - "type":"structure", - "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "documentation":"

The ID of the registered certificate. (The last part of the certificate ARN contains the certificate ID.

" } - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't delete the resource because it is attached to one or more resources.

" + } }, - "DeletePolicyRequest":{ + "RegisterThingRequest":{ "type":"structure", - "required":["policyName"], + "required":["templateBody"], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy to delete.

" + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The provisioning template. See Provisioning Devices That Have Device Certificates for more information.

" + }, + "parameters":{ + "shape":"Parameters", + "documentation":"

The parameters for provisioning a thing. See Provisioning Templates for more information.

" } - }, - "documentation":"

The input for the DeletePolicy operation.

" + } }, - "DeletePolicyVersionRequest":{ + "RegisterThingResponse":{ "type":"structure", - "required":[ - "policyName", - "policyVersionId" - ], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "certificatePem":{ + "shape":"CertificatePem", + "documentation":"

The certificate data, in PEM format.

" }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "resourceArns":{ + "shape":"ResourceArns", + "documentation":"

ARNs for the generated resources.

" } - }, - "documentation":"

The input for the DeletePolicyVersion operation.

" + } }, - "DeleteRegistrationCodeRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input for the DeleteRegistrationCode operation.

" + "RegistrationCode":{ + "type":"string", + "max":64, + "min":64, + "pattern":"(0x)?[a-fA-F0-9]+" }, - "DeleteRegistrationCodeResponse":{ + "RegistrationCodeValidationException":{ "type":"structure", "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

Additional information about the exception.

" + } }, - "documentation":"

The output for the DeleteRegistrationCode operation.

" + "documentation":"

The registration code is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true }, - "DeleteThingRequest":{ + "RegistrationConfig":{ "type":"structure", - "required":["thingName"], "members":{ - "thingName":{ - "shape":"ThingName", - "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to delete.

" + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The template body.

" }, - "expectedVersion":{ - "shape":"OptionalVersion", - "location":"querystring", - "locationName":"expectedVersion", - "documentation":"

The expected version of the thing record in the registry. If the version of the record in the registry does not match the expected version specified in the request, the DeleteThing request is rejected with a VersionConflictException.

" + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role.

" } }, - "documentation":"

The input for the DeleteThing operation.

" + "documentation":"

The registration configuration.

" }, - "DeleteThingResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output of the DeleteThing operation.

" + "RegistryMaxResults":{ + "type":"integer", + "max":250, + "min":1 }, - "DeleteThingTypeRequest":{ + "RegistryS3BucketName":{ + "type":"string", + "max":256, + "min":3, + "pattern":"[a-zA-Z0-9._-]+" + }, + "RegistryS3KeyName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[a-zA-Z0-9!_.*'()-\\/]+" + }, + "RejectCertificateTransferRequest":{ "type":"structure", - "required":["thingTypeName"], + "required":["certificateId"], "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "locationName":"certificateId" + }, + "rejectReason":{ + "shape":"Message", + "documentation":"

The reason the certificate transfer was rejected.

" } }, - "documentation":"

The input for the DeleteThingType operation.

" - }, - "DeleteThingTypeResponse":{ - "type":"structure", - "members":{ - }, - "documentation":"

The output for the DeleteThingType operation.

" + "documentation":"

The input for the RejectCertificateTransfer operation.

" }, - "DeleteTopicRuleRequest":{ + "RejectedThings":{"type":"integer"}, + "RelatedResource":{ "type":"structure", "members":{ - "ruleName":{ - "shape":"RuleName", - "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource.

" + }, + "resourceIdentifier":{ + "shape":"ResourceIdentifier", + "documentation":"

Information that identifies the resource.

" + }, + "additionalInfo":{ + "shape":"StringMap", + "documentation":"

Other information about the resource.

" } }, - "documentation":"

The input for the DeleteTopicRule operation.

", - "required":["ruleName"] + "documentation":"

Information about a related resource.

" }, - "DeliveryStreamName":{"type":"string"}, - "DeprecateThingTypeRequest":{ + "RelatedResources":{ + "type":"list", + "member":{"shape":"RelatedResource"} + }, + "RemoveAuthorizerConfig":{"type":"boolean"}, + "RemoveAutoRegistration":{"type":"boolean"}, + "RemoveHook":{"type":"boolean"}, + "RemoveThingFromBillingGroupRequest":{ "type":"structure", - "required":["thingTypeName"], "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type to deprecate.

" + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

" }, - "undoDeprecate":{ - "shape":"UndoDeprecate", - "documentation":"

Whether to undeprecate a deprecated thing type. If true, the thing type will not be deprecated anymore and you can associate it with things.

" + "billingGroupArn":{ + "shape":"BillingGroupArn", + "documentation":"

The ARN of the billing group.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to be removed from the billing group.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing to be removed from the billing group.

" } - }, - "documentation":"

The input for the DeprecateThingType operation.

" + } }, - "DeprecateThingTypeResponse":{ + "RemoveThingFromBillingGroupResponse":{ "type":"structure", "members":{ - }, - "documentation":"

The output for the DeprecateThingType operation.

" + } }, - "DeprecationDate":{"type":"timestamp"}, - "DescribeCACertificateRequest":{ + "RemoveThingFromThingGroupRequest":{ "type":"structure", - "required":["certificateId"], "members":{ - "certificateId":{ - "shape":"CertificateId", - "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The CA certificate identifier.

" + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The group name.

" + }, + "thingGroupArn":{ + "shape":"ThingGroupArn", + "documentation":"

The group ARN.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to remove from the group.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing to remove from the group.

" } - }, - "documentation":"

The input for the DescribeCACertificate operation.

" + } }, - "DescribeCACertificateResponse":{ + "RemoveThingFromThingGroupResponse":{ "type":"structure", "members":{ - "certificateDescription":{ - "shape":"CACertificateDescription", - "documentation":"

The CA certificate description.

" - } - }, - "documentation":"

The output from the DescribeCACertificate operation.

" + } }, - "DescribeCertificateRequest":{ + "RemoveThingType":{"type":"boolean"}, + "RemovedThings":{"type":"integer"}, + "ReplaceDefaultPolicyVersionParams":{ "type":"structure", - "required":["certificateId"], + "required":["templateName"], "members":{ - "certificateId":{ - "shape":"CertificateId", - "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "templateName":{ + "shape":"PolicyTemplateName", + "documentation":"

The name of the template to be applied. The only supported value is BLANK_POLICY.

" } }, - "documentation":"

The input for the DescribeCertificate operation.

" + "documentation":"

Parameters to define a mitigation action that adds a blank policy to restrict permissions.

" }, - "DescribeCertificateResponse":{ + "ReplaceTopicRuleRequest":{ "type":"structure", + "required":[ + "ruleName", + "topicRulePayload" + ], "members":{ - "certificateDescription":{ - "shape":"CertificateDescription", - "documentation":"

The description of the certificate.

" + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

", + "location":"uri", + "locationName":"ruleName" + }, + "topicRulePayload":{ + "shape":"TopicRulePayload", + "documentation":"

The rule payload.

" } }, - "documentation":"

The output of the DescribeCertificate operation.

" + "documentation":"

The input for the ReplaceTopicRule operation.

", + "payload":"topicRulePayload" }, - "DescribeEndpointRequest":{ - "type":"structure", - "members":{ - }, - "documentation":"

The input for the DescribeEndpoint operation.

" + "ReportType":{ + "type":"string", + "enum":[ + "ERRORS", + "RESULTS" + ] }, - "DescribeEndpointResponse":{ + "RepublishAction":{ "type":"structure", + "required":[ + "roleArn", + "topic" + ], "members":{ - "endpointAddress":{ - "shape":"EndpointAddress", - "documentation":"

The endpoint. The format of the endpoint is as follows: identifier.iot.region.amazonaws.com.

" + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" + }, + "topic":{ + "shape":"TopicPattern", + "documentation":"

The name of the MQTT topic.

" + }, + "qos":{ + "shape":"Qos", + "documentation":"

The Quality of Service (QoS) level to use when republishing messages. The default value is 0.

" } }, - "documentation":"

The output from the DescribeEndpoint operation.

" + "documentation":"

Describes an action to republish to another topic.

" }, - "DescribeThingRequest":{ + "ReservedDomainConfigurationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w.:-]+" + }, + "Resource":{"type":"string"}, + "ResourceAlreadyExistsException":{ "type":"structure", - "required":["thingName"], "members":{ - "thingName":{ - "shape":"ThingName", - "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + }, + "resourceId":{ + "shape":"resourceId", + "documentation":"

The ID of the resource that caused the exception.

" + }, + "resourceArn":{ + "shape":"resourceArn", + "documentation":"

The ARN of the resource that caused the exception.

" } }, - "documentation":"

The input for the DescribeThing operation.

" + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":409}, + "exception":true }, - "DescribeThingResponse":{ + "ResourceArn":{"type":"string"}, + "ResourceArns":{ + "type":"map", + "key":{"shape":"ResourceLogicalId"}, + "value":{"shape":"ResourceArn"} + }, + "ResourceIdentifier":{ "type":"structure", "members":{ - "defaultClientId":{ + "deviceCertificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate attached to the resource.

" + }, + "caCertificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the CA certificate used to authorize the certificate.

" + }, + "cognitoIdentityPoolId":{ + "shape":"CognitoIdentityPoolId", + "documentation":"

The ID of the Amazon Cognito identity pool.

" + }, + "clientId":{ "shape":"ClientId", - "documentation":"

The default client ID.

" + "documentation":"

The client ID.

" }, - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

" + "policyVersionIdentifier":{ + "shape":"PolicyVersionIdentifier", + "documentation":"

The version of the policy associated with the resource.

" }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The thing type name.

" + "account":{ + "shape":"AwsAccountId", + "documentation":"

The account with which the resource is associated.

" }, - "attributes":{ - "shape":"Attributes", - "documentation":"

The thing attributes.

" + "iamRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has overly permissive actions.

" }, - "version":{ - "shape":"Version", - "documentation":"

The current version of the thing record in the registry.

To avoid unintentional changes to the information in the registry, you can pass the version information in the expectedVersion parameter of the UpdateThing and DeleteThing calls.

" + "roleAliasArn":{ + "shape":"RoleAliasArn", + "documentation":"

The ARN of the role alias that has overly permissive actions.

" } }, - "documentation":"

The output from the DescribeThing operation.

" + "documentation":"

Information that identifies the noncompliant resource.

" }, - "DescribeThingTypeRequest":{ + "ResourceLogicalId":{"type":"string"}, + "ResourceNotFoundException":{ "type":"structure", - "required":["thingTypeName"], "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "location":"uri", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" } }, - "documentation":"

The input for the DescribeThingType operation.

" + "documentation":"

The specified resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true }, - "DescribeThingTypeResponse":{ + "ResourceRegistrationFailureException":{ "type":"structure", "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" - }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties contains information about the thing type including description, and a list of searchable thing attribute names.

" - }, - "thingTypeMetadata":{"shape":"ThingTypeMetadata"} + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } }, - "documentation":"

The output for the DescribeThingType operation.

" + "documentation":"

The resource registration failed.

", + "error":{"httpStatusCode":400}, + "exception":true }, - "Description":{"type":"string"}, - "DetachPrincipalPolicyRequest":{ + "ResourceType":{ + "type":"string", + "enum":[ + "DEVICE_CERTIFICATE", + "CA_CERTIFICATE", + "IOT_POLICY", + "COGNITO_IDENTITY_POOL", + "CLIENT_ID", + "ACCOUNT_SETTINGS", + "ROLE_ALIAS", + "IAM_ROLE" + ] + }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "RoleAlias":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w=,@-]+" + }, + "RoleAliasArn":{ + "type":"string", + "max":2048, + "min":1 + }, + "RoleAliasDescription":{ "type":"structure", - "required":[ - "policyName", - "principal" - ], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy to detach.

" + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias.

" }, - "principal":{ - "shape":"Principal", - "location":"header", - "locationName":"x-amzn-iot-principal", - "documentation":"

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

" + "roleAliasArn":{ + "shape":"RoleAliasArn", + "documentation":"

The ARN of the role alias.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The role ARN.

" + }, + "owner":{ + "shape":"AwsAccountId", + "documentation":"

The role alias owner.

" + }, + "credentialDurationSeconds":{ + "shape":"CredentialDurationSeconds", + "documentation":"

The number of seconds for which the credential is valid.

" + }, + "creationDate":{ + "shape":"DateType", + "documentation":"

The UNIX timestamp of when the role alias was created.

" + }, + "lastModifiedDate":{ + "shape":"DateType", + "documentation":"

The UNIX timestamp of when the role alias was last modified.

" } }, - "documentation":"

The input for the DetachPrincipalPolicy operation.

" + "documentation":"

Role alias description.

" }, - "DetachThingPrincipalRequest":{ + "RoleAliases":{ + "type":"list", + "member":{"shape":"RoleAlias"} + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "RolloutRatePerMinute":{ + "type":"integer", + "max":1000, + "min":1 + }, + "RuleArn":{"type":"string"}, + "RuleName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "S3Action":{ "type":"structure", "required":[ - "thingName", - "principal" + "roleArn", + "bucketName", + "key" ], "members":{ - "thingName":{ - "shape":"ThingName", - "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing.

" + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" }, - "principal":{ - "shape":"Principal", - "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

" + "bucketName":{ + "shape":"BucketName", + "documentation":"

The Amazon S3 bucket.

" + }, + "key":{ + "shape":"Key", + "documentation":"

The object key.

" + }, + "cannedAcl":{ + "shape":"CannedAccessControlList", + "documentation":"

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

" } }, - "documentation":"

The input for the DetachThingPrincipal operation.

" + "documentation":"

Describes an action to write data to an Amazon S3 bucket.

" }, - "DetachThingPrincipalResponse":{ + "S3Bucket":{ + "type":"string", + "min":1 + }, + "S3Destination":{ "type":"structure", "members":{ + "bucket":{ + "shape":"S3Bucket", + "documentation":"

The S3 bucket that contains the updated firmware.

" + }, + "prefix":{ + "shape":"Prefix", + "documentation":"

The S3 prefix.

" + } }, - "documentation":"

The output from the DetachThingPrincipal operation.

" + "documentation":"

Describes the location of updated firmware in S3.

" }, - "DisableTopicRuleRequest":{ + "S3FileUrl":{ + "type":"string", + "max":65535 + }, + "S3FileUrlList":{ + "type":"list", + "member":{"shape":"S3FileUrl"} + }, + "S3Key":{ + "type":"string", + "min":1 + }, + "S3Location":{ "type":"structure", - "required":["ruleName"], "members":{ - "ruleName":{ - "shape":"RuleName", - "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule to disable.

" + "bucket":{ + "shape":"S3Bucket", + "documentation":"

The S3 bucket.

" + }, + "key":{ + "shape":"S3Key", + "documentation":"

The S3 key.

" + }, + "version":{ + "shape":"S3Version", + "documentation":"

The S3 bucket version.

" } }, - "documentation":"

The input for the DisableTopicRuleRequest operation.

" + "documentation":"

The S3 location.

" }, - "DynamoDBAction":{ + "S3Version":{"type":"string"}, + "SQL":{"type":"string"}, + "SalesforceAction":{ "type":"structure", "required":[ - "tableName", - "roleArn", - "hashKeyField", - "hashKeyValue" + "token", + "url" ], "members":{ - "tableName":{ - "shape":"TableName", - "documentation":"

The name of the DynamoDB table.

" + "token":{ + "shape":"SalesforceToken", + "documentation":"

The token used to authenticate access to the Salesforce IoT Cloud Input Stream. The token is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

" }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" + "url":{ + "shape":"SalesforceEndpoint", + "documentation":"

The URL exposed by the Salesforce IoT Cloud Input Stream. The URL is available from the Salesforce IoT Cloud platform after creation of the Input Stream.

" + } + }, + "documentation":"

Describes an action to write a message to a Salesforce IoT Cloud Input Stream.

" + }, + "SalesforceEndpoint":{ + "type":"string", + "max":2000, + "pattern":"https://ingestion-[a-zA-Z0-9]{1,12}\\.[a-zA-Z0-9]+\\.((sfdc-matrix\\.net)|(sfdcnow\\.com))/streams/\\w{1,20}/\\w{1,20}/event" + }, + "SalesforceToken":{ + "type":"string", + "min":40 + }, + "ScheduledAuditArn":{"type":"string"}, + "ScheduledAuditMetadata":{ + "type":"structure", + "members":{ + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit.

" }, - "operation":{ - "shape":"DynamoOperation", - "documentation":"

The type of operation to be performed. This follows the substitution template, so it can be ${operation}, but the substitution must result in one of the following: INSERT, UPDATE, or DELETE.

" + "scheduledAuditArn":{ + "shape":"ScheduledAuditArn", + "documentation":"

The ARN of the scheduled audit.

" }, - "hashKeyField":{ - "shape":"HashKeyField", - "documentation":"

The hash key name.

" + "frequency":{ + "shape":"AuditFrequency", + "documentation":"

How often the scheduled audit occurs.

" }, - "hashKeyValue":{ - "shape":"HashKeyValue", - "documentation":"

The hash key value.

" + "dayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month on which the scheduled audit is run (if the frequency is \"MONTHLY\"). If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" }, - "hashKeyType":{ - "shape":"DynamoKeyType", - "documentation":"

The hash key type. Valid values are \"STRING\" or \"NUMBER\"

" + "dayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

The day of the week on which the scheduled audit is run (if the frequency is \"WEEKLY\" or \"BIWEEKLY\").

" + } + }, + "documentation":"

Information about the scheduled audit.

" + }, + "ScheduledAuditMetadataList":{ + "type":"list", + "member":{"shape":"ScheduledAuditMetadata"} + }, + "ScheduledAuditName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "SearchIndexRequest":{ + "type":"structure", + "required":["queryString"], + "members":{ + "indexName":{ + "shape":"IndexName", + "documentation":"

The search index name.

" }, - "rangeKeyField":{ - "shape":"RangeKeyField", - "documentation":"

The range key name.

" + "queryString":{ + "shape":"QueryString", + "documentation":"

The search query string.

" }, - "rangeKeyValue":{ - "shape":"RangeKeyValue", - "documentation":"

The range key value.

" + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" }, - "rangeKeyType":{ - "shape":"DynamoKeyType", - "documentation":"

The range key type. Valid values are \"STRING\" or \"NUMBER\"

" + "maxResults":{ + "shape":"QueryMaxResults", + "documentation":"

The maximum number of results to return at one time.

" }, - "payloadField":{ - "shape":"PayloadField", - "documentation":"

The action payload. This name can be customized.

" + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The query version.

" } - }, - "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":{ + "SearchIndexResponse":{ "type":"structure", "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the DynamoDB table.

" + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to get the next set of results, or null if there are no additional results.

" }, - "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.

" + "things":{ + "shape":"ThingDocumentList", + "documentation":"

The things that match the search query.

" + }, + "thingGroups":{ + "shape":"ThingGroupDocumentList", + "documentation":"

The thing groups that match the search query.

" } - }, - "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":{ + "SearchableAttributes":{ + "type":"list", + "member":{"shape":"AttributeName"} + }, + "Seconds":{"type":"integer"}, + "SecurityProfileArn":{"type":"string"}, + "SecurityProfileDescription":{ "type":"string", - "enum":[ - "STRING", - "NUMBER" - ] + "max":1000, + "pattern":"[\\p{Graph}\\x20]*" }, - "DynamoOperation":{"type":"string"}, - "ElasticsearchAction":{ + "SecurityProfileIdentifier":{ "type":"structure", - "required":[ - "roleArn", - "endpoint", - "index", - "type", - "id" + "required":[ + "name", + "arn" ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role ARN that has access to Elasticsearch.

" - }, - "endpoint":{ - "shape":"ElasticsearchEndpoint", - "documentation":"

The endpoint of your Elasticsearch domain.

" - }, - "index":{ - "shape":"ElasticsearchIndex", - "documentation":"

The Elasticsearch index where you want to store your data.

" - }, - "type":{ - "shape":"ElasticsearchType", - "documentation":"

The type of document you are storing.

" + "name":{ + "shape":"SecurityProfileName", + "documentation":"

The name you have given to the security profile.

" }, - "id":{ - "shape":"ElasticsearchId", - "documentation":"

The unique identifier for the document you are storing.

" + "arn":{ + "shape":"SecurityProfileArn", + "documentation":"

The ARN of the security profile.

" } }, - "documentation":"

Describes an action that writes data to an Amazon Elasticsearch Service domain.

" + "documentation":"

Identifying information for a Device Defender security profile.

" }, - "ElasticsearchEndpoint":{ + "SecurityProfileIdentifiers":{ + "type":"list", + "member":{"shape":"SecurityProfileIdentifier"} + }, + "SecurityProfileName":{ "type":"string", - "pattern":"https?://.*" + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" }, - "ElasticsearchId":{"type":"string"}, - "ElasticsearchIndex":{"type":"string"}, - "ElasticsearchType":{"type":"string"}, - "EnableTopicRuleRequest":{ + "SecurityProfileTarget":{ "type":"structure", - "required":["ruleName"], + "required":["arn"], "members":{ - "ruleName":{ - "shape":"RuleName", - "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the topic rule to enable.

" + "arn":{ + "shape":"SecurityProfileTargetArn", + "documentation":"

The ARN of the security profile.

" } }, - "documentation":"

The input for the EnableTopicRuleRequest operation.

" + "documentation":"

A target to which an alert is sent when a security profile behavior is violated.

" }, - "EndpointAddress":{"type":"string"}, - "FirehoseAction":{ + "SecurityProfileTargetArn":{"type":"string"}, + "SecurityProfileTargetMapping":{ "type":"structure", - "required":[ - "roleArn", - "deliveryStreamName" - ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The IAM role that grants access to the Amazon Kinesis Firehost stream.

" - }, - "deliveryStreamName":{ - "shape":"DeliveryStreamName", - "documentation":"

The delivery stream name.

" + "securityProfileIdentifier":{ + "shape":"SecurityProfileIdentifier", + "documentation":"

Information that identifies the security profile.

" }, - "separator":{ - "shape":"FirehoseSeparator", - "documentation":"

A character separator that will be used to separate records written to the Firehose stream. Valid values are: '\\n' (newline), '\\t' (tab), '\\r\\n' (Windows newline), ',' (comma).

" + "target":{ + "shape":"SecurityProfileTarget", + "documentation":"

Information about the target (thing group) associated with the security profile.

" } }, - "documentation":"

Describes an action that writes data to an Amazon Kinesis Firehose stream.

" + "documentation":"

Information about a security profile and the target associated with it.

" }, - "FirehoseSeparator":{ + "SecurityProfileTargetMappings":{ + "type":"list", + "member":{"shape":"SecurityProfileTargetMapping"} + }, + "SecurityProfileTargets":{ + "type":"list", + "member":{"shape":"SecurityProfileTarget"} + }, + "ServerCertificateArns":{ + "type":"list", + "member":{"shape":"AcmCertificateArn"}, + "max":1, + "min":0 + }, + "ServerCertificateStatus":{ "type":"string", - "pattern":"([\\n\\t])|(\\r\\n)|(,)" + "enum":[ + "INVALID", + "VALID" + ] }, - "Flag":{"type":"boolean"}, - "FunctionArn":{"type":"string"}, - "GetLoggingOptionsRequest":{ + "ServerCertificateStatusDetail":{"type":"string"}, + "ServerCertificateSummary":{ "type":"structure", "members":{ + "serverCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

The ARN of the server certificate.

" + }, + "serverCertificateStatus":{ + "shape":"ServerCertificateStatus", + "documentation":"

The status of the server certificate.

" + }, + "serverCertificateStatusDetail":{ + "shape":"ServerCertificateStatusDetail", + "documentation":"

Details that explain the status of the server certificate.

" + } }, - "documentation":"

The input for the GetLoggingOptions operation.

" + "documentation":"

An object that contains information about a server certificate.

" }, - "GetLoggingOptionsResponse":{ + "ServerCertificates":{ + "type":"list", + "member":{"shape":"ServerCertificateSummary"} + }, + "ServerName":{ + "type":"string", + "max":253, + "min":1 + }, + "ServiceName":{"type":"string"}, + "ServiceType":{ + "type":"string", + "enum":[ + "DATA", + "CREDENTIAL_PROVIDER", + "JOBS" + ] + }, + "ServiceUnavailableException":{ "type":"structure", "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The logging level.

" + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" } }, - "documentation":"

The output from the GetLoggingOptions operation.

" + "documentation":"

The service is temporarily unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true }, - "GetPolicyRequest":{ + "SetAsActive":{"type":"boolean"}, + "SetAsActiveFlag":{"type":"boolean"}, + "SetAsDefault":{"type":"boolean"}, + "SetDefaultAuthorizerRequest":{ "type":"structure", - "required":["policyName"], + "required":["authorizerName"], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

" } - }, - "documentation":"

The input for the GetPolicy operation.

" + } }, - "GetPolicyResponse":{ + "SetDefaultAuthorizerResponse":{ "type":"structure", "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" - }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" - }, - "defaultVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The default policy version ID.

" + "authorizerArn":{ + "shape":"AuthorizerArn", + "documentation":"

The authorizer ARN.

" } - }, - "documentation":"

The output from the GetPolicy operation.

" + } }, - "GetPolicyVersionRequest":{ + "SetDefaultPolicyVersionRequest":{ "type":"structure", "required":[ "policyName", @@ -4387,1054 +13606,1440 @@ "members":{ "policyName":{ "shape":"PolicyName", + "documentation":"

The policy name.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The name of the policy.

" + "locationName":"policyName" }, "policyVersionId":{ "shape":"PolicyVersionId", + "documentation":"

The policy version ID.

", "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "locationName":"policyVersionId" } }, - "documentation":"

The input for the GetPolicyVersion operation.

" + "documentation":"

The input for the SetDefaultPolicyVersion operation.

" }, - "GetPolicyVersionResponse":{ + "SetLoggingOptionsRequest":{ "type":"structure", + "required":["loggingOptionsPayload"], "members":{ - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" + "loggingOptionsPayload":{ + "shape":"LoggingOptionsPayload", + "documentation":"

The logging options payload.

" + } + }, + "documentation":"

The input for the SetLoggingOptions operation.

", + "payload":"loggingOptionsPayload" + }, + "SetV2LoggingLevelRequest":{ + "type":"structure", + "required":[ + "logTarget", + "logLevel" + ], + "members":{ + "logTarget":{ + "shape":"LogTarget", + "documentation":"

The log target.

" }, - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" + "logLevel":{ + "shape":"LogLevel", + "documentation":"

The log level.

" + } + } + }, + "SetV2LoggingOptionsRequest":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the role that allows IoT to write to Cloudwatch logs.

" }, - "policyDocument":{ - "shape":"PolicyDocument", - "documentation":"

The JSON document that describes the policy.

" + "defaultLogLevel":{ + "shape":"LogLevel", + "documentation":"

The default logging level.

" }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" + "disableAllLogs":{ + "shape":"DisableAllLogs", + "documentation":"

If true all logs are disabled. The default is false.

" + } + } + }, + "SigV4Authorization":{ + "type":"structure", + "required":[ + "signingRegion", + "serviceName", + "roleArn" + ], + "members":{ + "signingRegion":{ + "shape":"SigningRegion", + "documentation":"

The signing region.

" + }, + "serviceName":{ + "shape":"ServiceName", + "documentation":"

The service name to use while signing with Sig V4.

" }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the signing role.

" } }, - "documentation":"

The output from the GetPolicyVersion operation.

" + "documentation":"

Use Sig V4 authorization.

" }, - "GetRegistrationCodeRequest":{ + "Signature":{"type":"blob"}, + "SignatureAlgorithm":{"type":"string"}, + "SigningJobId":{"type":"string"}, + "SigningProfileName":{"type":"string"}, + "SigningProfileParameter":{ "type":"structure", "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

Certificate ARN.

" + }, + "platform":{ + "shape":"Platform", + "documentation":"

The hardware platform of your device.

" + }, + "certificatePathOnDevice":{ + "shape":"CertificatePathOnDevice", + "documentation":"

The location of the code-signing certificate on your device.

" + } }, - "documentation":"

The input to the GetRegistrationCode operation.

" + "documentation":"

Describes the code-signing profile.

" }, - "GetRegistrationCodeResponse":{ + "SigningRegion":{"type":"string"}, + "SkippedFindingsCount":{"type":"long"}, + "SkyfallMaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "SnsAction":{ "type":"structure", + "required":[ + "targetArn", + "roleArn" + ], "members":{ - "registrationCode":{ - "shape":"RegistrationCode", - "documentation":"

The CA certificate registration code.

" + "targetArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the SNS topic.

" + }, + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" + }, + "messageFormat":{ + "shape":"MessageFormat", + "documentation":"

(Optional) The message format of the message to publish. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see https://docs.aws.amazon.com/sns/latest/dg/json-formats.html refer to their official documentation.

" } }, - "documentation":"

The output from the GetRegistrationCode operation.

" + "documentation":"

Describes an action to publish to an Amazon SNS topic.

" }, - "GetTopicRuleRequest":{ + "SnsTopicArn":{ + "type":"string", + "max":350 + }, + "SqlParseException":{ "type":"structure", - "required":["ruleName"], "members":{ - "ruleName":{ - "shape":"RuleName", - "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" } }, - "documentation":"

The input for the GetTopicRule operation.

" + "documentation":"

The Rule-SQL expression can't be parsed correctly.

", + "error":{"httpStatusCode":400}, + "exception":true }, - "GetTopicRuleResponse":{ + "SqsAction":{ "type":"structure", + "required":[ + "roleArn", + "queueUrl" + ], "members":{ - "ruleArn":{ - "shape":"RuleArn", - "documentation":"

The rule ARN.

" + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the IAM role that grants access.

" }, - "rule":{ - "shape":"TopicRule", - "documentation":"

The rule.

" + "queueUrl":{ + "shape":"QueueUrl", + "documentation":"

The URL of the Amazon SQS queue.

" + }, + "useBase64":{ + "shape":"UseBase64", + "documentation":"

Specifies whether to use Base64 encoding.

" } }, - "documentation":"

The output from the GetTopicRule operation.

" + "documentation":"

Describes an action to publish data to an Amazon SQS queue.

" }, - "HashKeyField":{"type":"string"}, - "HashKeyValue":{"type":"string"}, - "InternalException":{ + "StartAuditMitigationActionsTaskRequest":{ + "type":"structure", + "required":[ + "taskId", + "target", + "auditCheckToActionsMapping", + "clientRequestToken" + ], + "members":{ + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

A unique identifier for the task. You can use this identifier to check the status of the task or to cancel it.

", + "location":"uri", + "locationName":"taskId" + }, + "target":{ + "shape":"AuditMitigationActionsTaskTarget", + "documentation":"

Specifies the audit findings to which the mitigation actions are applied. You can apply them to a type of audit check, to all findings from an audit, or to a speecific set of findings.

" + }, + "auditCheckToActionsMapping":{ + "shape":"AuditCheckToActionsMapping", + "documentation":"

For an audit check, specifies which mitigation actions to apply. Those actions must be defined in your AWS account.

" + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

", + "idempotencyToken":true + } + } + }, + "StartAuditMitigationActionsTaskResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "taskId":{ + "shape":"AuditMitigationActionsTaskId", + "documentation":"

The unique identifier for the audit mitigation task. This matches the taskId that you specified in the request.

" } - }, - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" + } }, - "InternalFailureException":{ + "StartOnDemandAuditTaskRequest":{ "type":"structure", + "required":["targetCheckNames"], "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "targetCheckNames":{ + "shape":"TargetAuditCheckNames", + "documentation":"

Which checks are performed during the audit. The checks you specify must be enabled for your account or an exception occurs. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or UpdateAccountAuditConfiguration to select which checks are enabled.

" } - }, - "error":{"httpStatusCode":500}, - "exception":true, - "fault":true, - "documentation":"

An unexpected error has occurred.

" + } }, - "InvalidRequestException":{ + "StartOnDemandAuditTaskResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "taskId":{ + "shape":"AuditTaskId", + "documentation":"

The ID of the on-demand audit you started.

" } - }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The request is not valid.

" + } }, - "IsDefaultVersion":{"type":"boolean"}, - "IsDisabled":{"type":"boolean"}, - "Key":{"type":"string"}, - "KeyPair":{ + "StartSigningJobParameter":{ "type":"structure", "members":{ - "PublicKey":{ - "shape":"PublicKey", - "documentation":"

The public key.

" + "signingProfileParameter":{ + "shape":"SigningProfileParameter", + "documentation":"

Describes the code-signing profile.

" }, - "PrivateKey":{ - "shape":"PrivateKey", - "documentation":"

The private key.

" + "signingProfileName":{ + "shape":"SigningProfileName", + "documentation":"

The code-signing profile name.

" + }, + "destination":{ + "shape":"Destination", + "documentation":"

The location to write the code-signed file.

" } }, - "documentation":"

Describes a key pair.

" + "documentation":"

Information required to start a signing job.

" }, - "KinesisAction":{ + "StartThingRegistrationTaskRequest":{ "type":"structure", "required":[ - "roleArn", - "streamName" + "templateBody", + "inputFileBucket", + "inputFileKey", + "roleArn" ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access to the Amazon Kinesis stream.

" - }, - "streamName":{ - "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis stream.

" + "templateBody":{ + "shape":"TemplateBody", + "documentation":"

The provisioning template.

" + }, + "inputFileBucket":{ + "shape":"RegistryS3BucketName", + "documentation":"

The S3 bucket that contains the input file.

" + }, + "inputFileKey":{ + "shape":"RegistryS3KeyName", + "documentation":"

The name of input file within the S3 bucket. This file contains a newline delimited JSON file. Each line contains the parameter values to provision one device (thing).

" }, - "partitionKey":{ - "shape":"PartitionKey", - "documentation":"

The partition key.

" + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The IAM role ARN that grants permission the input file.

" } - }, - "documentation":"

Describes an action to write data to an Amazon Kinesis stream.

" + } }, - "LambdaAction":{ + "StartThingRegistrationTaskResponse":{ "type":"structure", - "required":["functionArn"], "members":{ - "functionArn":{ - "shape":"FunctionArn", - "documentation":"

The ARN of the Lambda function.

" + "taskId":{ + "shape":"TaskId", + "documentation":"

The bulk thing provisioning task ID.

" } - }, - "documentation":"

Describes an action to invoke a Lambda function.

" + } }, - "LimitExceededException":{ + "StateMachineName":{"type":"string"}, + "StateReason":{"type":"string"}, + "StateValue":{"type":"string"}, + "StatisticalThreshold":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "statistic":{ + "shape":"EvaluationStatistic", + "documentation":"

The percentile which resolves to a threshold value by which compliance with a behavior is determined. Metrics are collected over the specified period (durationSeconds) from all reporting devices in your account and statistical ranks are calculated. Then, the measurements from a device are collected over the same period. If the accumulated measurements from the device fall above or below (comparisonOperator) the value associated with the percentile specified, then the device is considered to be in compliance with the behavior, otherwise a violation occurs.

" } }, - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

The number of attached entities exceeds the limit.

" + "documentation":"

A statistical ranking (percentile) which indicates a threshold value by which a behavior is determined to be in compliance or in violation of the behavior.

" }, - "ListCACertificatesRequest":{ + "Statistics":{ "type":"structure", "members":{ - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "count":{ + "shape":"Count", + "documentation":"

The count of things that match the query.

" }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "average":{ + "shape":"Average", + "documentation":"

The average of the aggregated field values.

", + "box":true }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Determines the order of the results.

" + "sum":{ + "shape":"Sum", + "documentation":"

The sum of the aggregated field values.

", + "box":true + }, + "minimum":{ + "shape":"Minimum", + "documentation":"

The minimum aggregated field value.

", + "box":true + }, + "maximum":{ + "shape":"Maximum", + "documentation":"

The maximum aggregated field value.

", + "box":true + }, + "sumOfSquares":{ + "shape":"SumOfSquares", + "documentation":"

The sum of the squares of the aggregated field values.

", + "box":true + }, + "variance":{ + "shape":"Variance", + "documentation":"

The variance of the aggregated field values.

", + "box":true + }, + "stdDeviation":{ + "shape":"StdDeviation", + "documentation":"

The standard deviation of the aggregated field values.

", + "box":true } }, - "documentation":"

Input for the ListCACertificates operation.

" + "documentation":"

A map of key-value pairs for all supported statistics. Currently, only count is supported.

" }, - "ListCACertificatesResponse":{ + "Status":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Cancelled", + "Cancelling" + ] + }, + "StdDeviation":{"type":"double"}, + "StepFunctionsAction":{ "type":"structure", + "required":[ + "stateMachineName", + "roleArn" + ], "members":{ - "certificates":{ - "shape":"CACertificates", - "documentation":"

The CA certificates registered in your AWS account.

" + "executionNamePrefix":{ + "shape":"ExecutionNamePrefix", + "documentation":"

(Optional) A name will be given to the state machine execution consisting of this prefix followed by a UUID. Step Functions automatically creates a unique name for each state machine execution if one is not provided.

" + }, + "stateMachineName":{ + "shape":"StateMachineName", + "documentation":"

The name of the Step Functions state machine whose execution will be started.

" }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The current position within the list of CA certificates.

" + "roleArn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the role that grants IoT permission to start execution of a state machine (\"Action\":\"states:StartExecution\").

" } }, - "documentation":"

The output from the ListCACertificates operation.

" + "documentation":"

Starts execution of a Step Functions state machine.

" }, - "ListCertificatesByCARequest":{ + "StopThingRegistrationTaskRequest":{ "type":"structure", - "required":["caCertificateId"], + "required":["taskId"], "members":{ - "caCertificateId":{ - "shape":"CertificateId", + "taskId":{ + "shape":"TaskId", + "documentation":"

The bulk thing provisioning task ID.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The ID of the CA certificate. This operation will list all registered device certificate that were signed by this CA certificate.

" - }, - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" - }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" - }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "locationName":"taskId" } - }, - "documentation":"

The input to the ListCertificatesByCA operation.

" + } }, - "ListCertificatesByCAResponse":{ + "StopThingRegistrationTaskResponse":{ "type":"structure", "members":{ - "certificates":{ - "shape":"Certificates", - "documentation":"

The device certificates signed by the specified CA certificate.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" - } - }, - "documentation":"

The output of the ListCertificatesByCA operation.

" + } }, - "ListCertificatesRequest":{ + "Stream":{ "type":"structure", "members":{ - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" - }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

" }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "fileId":{ + "shape":"FileId", + "documentation":"

The ID of a file associated with a stream.

" } }, - "documentation":"

The input for the ListCertificates operation.

" + "documentation":"

Describes a group of files that can be streamed.

" }, - "ListCertificatesResponse":{ + "StreamArn":{"type":"string"}, + "StreamDescription":{ + "type":"string", + "max":2028, + "pattern":"[^\\p{C}]+" + }, + "StreamFile":{ "type":"structure", "members":{ - "certificates":{ - "shape":"Certificates", - "documentation":"

The descriptions of the certificates.

" + "fileId":{ + "shape":"FileId", + "documentation":"

The file ID.

" }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + "s3Location":{ + "shape":"S3Location", + "documentation":"

The location of the file in S3.

" } }, - "documentation":"

The output of the ListCertificates operation.

" + "documentation":"

Represents a file to stream.

" }, - "ListOutgoingCertificatesRequest":{ + "StreamFiles":{ + "type":"list", + "member":{"shape":"StreamFile"}, + "max":50, + "min":1 + }, + "StreamId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "StreamInfo":{ "type":"structure", "members":{ - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

" }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "streamArn":{ + "shape":"StreamArn", + "documentation":"

The stream ARN.

" }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

" + "streamVersion":{ + "shape":"StreamVersion", + "documentation":"

The stream version.

" + }, + "description":{ + "shape":"StreamDescription", + "documentation":"

The description of the stream.

" + }, + "files":{ + "shape":"StreamFiles", + "documentation":"

The files to stream.

" + }, + "createdAt":{ + "shape":"DateType", + "documentation":"

The date when the stream was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The date when the stream was last updated.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

An IAM role AWS IoT assumes to access your S3 files.

" } }, - "documentation":"

The input to the ListOutgoingCertificates operation.

" + "documentation":"

Information about a stream.

" }, - "ListOutgoingCertificatesResponse":{ + "StreamName":{"type":"string"}, + "StreamSummary":{ "type":"structure", "members":{ - "outgoingCertificates":{ - "shape":"OutgoingCertificates", - "documentation":"

The certificates that are being transfered but not yet accepted.

" + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

" }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results.

" + "streamArn":{ + "shape":"StreamArn", + "documentation":"

The stream ARN.

" + }, + "streamVersion":{ + "shape":"StreamVersion", + "documentation":"

The stream version.

" + }, + "description":{ + "shape":"StreamDescription", + "documentation":"

A description of the stream.

" } }, - "documentation":"

The output from the ListOutgoingCertificates operation.

" + "documentation":"

A summary of a stream.

" }, - "ListPoliciesRequest":{ + "StreamVersion":{ + "type":"integer", + "max":65535, + "min":0 + }, + "StreamsSummary":{ + "type":"list", + "member":{"shape":"StreamSummary"} + }, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "SucceededFindingsCount":{"type":"long"}, + "SucceededThings":{"type":"integer"}, + "Sum":{"type":"double"}, + "SumOfSquares":{"type":"double"}, + "TableName":{"type":"string"}, + "Tag":{ "type":"structure", + "required":["Key"], "members":{ - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" - }, - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "Key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

" + "Value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" } }, - "documentation":"

The input for the ListPolicies operation.

" + "documentation":"

A set of key/value pairs that are used to manage the resource.

" }, - "ListPoliciesResponse":{ + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ "type":"structure", + "required":[ + "resourceArn", + "tags" + ], "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The descriptions of the policies.

" + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource.

" }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + "tags":{ + "shape":"TagList", + "documentation":"

The new or modified tags for the resource.

" } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "Target":{"type":"string"}, + "TargetArn":{ + "type":"string", + "max":2048 + }, + "TargetAuditCheckNames":{ + "type":"list", + "member":{"shape":"AuditCheckName"} + }, + "TargetSelection":{ + "type":"string", + "enum":[ + "CONTINUOUS", + "SNAPSHOT" + ] + }, + "Targets":{ + "type":"list", + "member":{"shape":"Target"}, + "min":1 + }, + "TaskAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} }, - "documentation":"

The output from the ListPolicies operation.

" + "documentation":"

This exception occurs if you attempt to start a task with the same task-id as an existing task but with a different clientRequestToken.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TaskId":{ + "type":"string", + "max":40 }, - "ListPolicyPrincipalsRequest":{ + "TaskIdList":{ + "type":"list", + "member":{"shape":"TaskId"} + }, + "TaskStatistics":{ "type":"structure", - "required":["policyName"], "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"header", - "locationName":"x-amzn-iot-policy", - "documentation":"

The policy name.

" + "totalChecks":{ + "shape":"TotalChecksCount", + "documentation":"

The number of checks in this audit.

" }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "inProgressChecks":{ + "shape":"InProgressChecksCount", + "documentation":"

The number of checks in progress.

" }, - "pageSize":{ - "shape":"PageSize", - "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "waitingForDataCollectionChecks":{ + "shape":"WaitingForDataCollectionChecksCount", + "documentation":"

The number of checks waiting for data collection.

" }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, the results are returned in ascending creation order.

" + "compliantChecks":{ + "shape":"CompliantChecksCount", + "documentation":"

The number of checks that found compliant resources.

" + }, + "nonCompliantChecks":{ + "shape":"NonCompliantChecksCount", + "documentation":"

The number of checks that found noncompliant resources.

" + }, + "failedChecks":{ + "shape":"FailedChecksCount", + "documentation":"

The number of checks.

" + }, + "canceledChecks":{ + "shape":"CanceledChecksCount", + "documentation":"

The number of checks that did not run because the audit was canceled.

" } }, - "documentation":"

The input for the ListPolicyPrincipals operation.

" + "documentation":"

Statistics for the checks performed during the audit.

" }, - "ListPolicyPrincipalsResponse":{ + "TaskStatisticsForAuditCheck":{ "type":"structure", "members":{ - "principals":{ - "shape":"Principals", - "documentation":"

The descriptions of the principals.

" + "totalFindingsCount":{ + "shape":"TotalFindingsCount", + "documentation":"

The total number of findings to which a task is being applied.

" }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + "failedFindingsCount":{ + "shape":"FailedFindingsCount", + "documentation":"

The number of findings for which at least one of the actions failed when applied.

" + }, + "succeededFindingsCount":{ + "shape":"SucceededFindingsCount", + "documentation":"

The number of findings for which all mitigation actions succeeded when applied.

" + }, + "skippedFindingsCount":{ + "shape":"SkippedFindingsCount", + "documentation":"

The number of findings skipped because of filter conditions provided in the parameters to the command.

" + }, + "canceledFindingsCount":{ + "shape":"CanceledFindingsCount", + "documentation":"

The number of findings to which the mitigation action task was canceled when applied.

" } }, - "documentation":"

The output from the ListPolicyPrincipals operation.

" + "documentation":"

Provides summary counts of how many tasks for findings are in a particular state. This information is included in the response from DescribeAuditMitigationActionsTask.

" }, - "ListPolicyVersionsRequest":{ - "type":"structure", - "required":["policyName"], - "members":{ - "policyName":{ - "shape":"PolicyName", - "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" - } - }, - "documentation":"

The input for the ListPolicyVersions operation.

" + "TemplateArn":{"type":"string"}, + "TemplateBody":{"type":"string"}, + "TemplateDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[^\\p{C}]*" }, - "ListPolicyVersionsResponse":{ - "type":"structure", - "members":{ - "policyVersions":{ - "shape":"PolicyVersions", - "documentation":"

The policy versions.

" - } - }, - "documentation":"

The output from the ListPolicyVersions operation.

" + "TemplateName":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^[0-9A-Za-z_-]+$" }, - "ListPrincipalPoliciesRequest":{ + "TemplateVersionId":{"type":"integer"}, + "TestAuthorizationRequest":{ "type":"structure", - "required":["principal"], + "required":["authInfos"], "members":{ "principal":{ "shape":"Principal", - "location":"header", - "locationName":"x-amzn-iot-principal", "documentation":"

The principal.

" }, - "marker":{ - "shape":"Marker", - "location":"querystring", - "locationName":"marker", - "documentation":"

The marker for the next set of results.

" + "cognitoIdentityPoolId":{ + "shape":"CognitoIdentityPoolId", + "documentation":"

The Cognito identity pool ID.

" + }, + "authInfos":{ + "shape":"AuthInfos", + "documentation":"

A list of authorization info objects. Simulating authorization will create a response for each authInfo object in the list.

" }, - "pageSize":{ - "shape":"PageSize", + "clientId":{ + "shape":"ClientId", + "documentation":"

The MQTT client ID.

", "location":"querystring", - "locationName":"pageSize", - "documentation":"

The result page size.

" + "locationName":"clientId" }, - "ascendingOrder":{ - "shape":"AscendingOrder", - "location":"querystring", - "locationName":"isAscendingOrder", - "documentation":"

Specifies the order for results. If true, results are returned in ascending creation order.

" + "policyNamesToAdd":{ + "shape":"PolicyNames", + "documentation":"

When testing custom authorization, the policies specified here are treated as if they are attached to the principal being authorized.

" + }, + "policyNamesToSkip":{ + "shape":"PolicyNames", + "documentation":"

When testing custom authorization, the policies specified here are treated as if they are not attached to the principal being authorized.

" } - }, - "documentation":"

The input for the ListPrincipalPolicies operation.

" + } }, - "ListPrincipalPoliciesResponse":{ + "TestAuthorizationResponse":{ "type":"structure", "members":{ - "policies":{ - "shape":"Policies", - "documentation":"

The policies.

" - }, - "nextMarker":{ - "shape":"Marker", - "documentation":"

The marker for the next set of results, or null if there are no additional results.

" + "authResults":{ + "shape":"AuthResults", + "documentation":"

The authentication results.

" } - }, - "documentation":"

The output from the ListPrincipalPolicies operation.

" + } }, - "ListPrincipalThingsRequest":{ + "TestInvokeAuthorizerRequest":{ "type":"structure", - "required":["principal"], + "required":["authorizerName"], "members":{ - "nextToken":{ - "shape":"NextToken", - "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The custom authorizer name.

", + "location":"uri", + "locationName":"authorizerName" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" + "token":{ + "shape":"Token", + "documentation":"

The token returned by your custom authentication service.

" }, - "principal":{ - "shape":"Principal", - "location":"header", - "locationName":"x-amzn-principal", - "documentation":"

The principal.

" + "tokenSignature":{ + "shape":"TokenSignature", + "documentation":"

The signature made with the token and your custom authentication service's private key. This value must be Base-64-encoded.

" + }, + "httpContext":{ + "shape":"HttpContext", + "documentation":"

Specifies a test HTTP authorization request.

" + }, + "mqttContext":{ + "shape":"MqttContext", + "documentation":"

Specifies a test MQTT authorization request.

" + }, + "tlsContext":{ + "shape":"TlsContext", + "documentation":"

Specifies a test TLS authorization request.

" } - }, - "documentation":"

The input for the ListPrincipalThings operation.

" + } }, - "ListPrincipalThingsResponse":{ + "TestInvokeAuthorizerResponse":{ "type":"structure", "members":{ - "things":{ - "shape":"ThingNameList", - "documentation":"

The things.

" + "isAuthenticated":{ + "shape":"IsAuthenticated", + "documentation":"

True if the token is authenticated, otherwise false.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "principalId":{ + "shape":"PrincipalId", + "documentation":"

The principal ID.

" + }, + "policyDocuments":{ + "shape":"PolicyDocuments", + "documentation":"

IAM policy documents.

" + }, + "refreshAfterInSeconds":{ + "shape":"Seconds", + "documentation":"

The number of seconds after which the temporary credentials are refreshed.

" + }, + "disconnectAfterInSeconds":{ + "shape":"Seconds", + "documentation":"

The number of seconds after which the connection is terminated.

" } - }, - "documentation":"

The output from the ListPrincipalThings operation.

" + } }, - "ListThingPrincipalsRequest":{ + "ThingArn":{"type":"string"}, + "ThingAttribute":{ "type":"structure", - "required":["thingName"], "members":{ "thingName":{ "shape":"ThingName", - "location":"uri", - "locationName":"thingName", "documentation":"

The name of the thing.

" - } - }, - "documentation":"

The input for the ListThingPrincipal operation.

" - }, - "ListThingPrincipalsResponse":{ - "type":"structure", - "members":{ - "principals":{ - "shape":"Principals", - "documentation":"

The principals associated with the thing.

" - } - }, - "documentation":"

The output from the ListThingPrincipals operation.

" - }, - "ListThingTypesRequest":{ - "type":"structure", - "members":{ - "nextToken":{ - "shape":"NextToken", - "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" }, "thingTypeName":{ "shape":"ThingTypeName", - "location":"querystring", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type.

" + "documentation":"

The name of the thing type, if the thing has been associated with a type.

" + }, + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The thing ARN.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

A list of thing attributes which are name-value pairs.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the thing record in the registry.

" } }, - "documentation":"

The input for the ListThingTypes operation.

" + "documentation":"

The properties of the thing, including thing name, thing type name, and a list of thing attributes.

" }, - "ListThingTypesResponse":{ + "ThingAttributeList":{ + "type":"list", + "member":{"shape":"ThingAttribute"} + }, + "ThingConnectivity":{ "type":"structure", "members":{ - "thingTypes":{ - "shape":"ThingTypeList", - "documentation":"

The thing types.

" + "connected":{ + "shape":"Boolean", + "documentation":"

True if the thing is connected to the AWS IoT service; false if it is not connected.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "timestamp":{ + "shape":"ConnectivityTimestamp", + "documentation":"

The epoch time (in milliseconds) when the thing last connected or disconnected. If the thing has been disconnected for more than a few weeks, the time value might be missing.

" } }, - "documentation":"

The output for the ListThingTypes operation.

" + "documentation":"

The connectivity status of the thing.

" }, - "ListThingsRequest":{ + "ThingConnectivityIndexingMode":{ + "type":"string", + "enum":[ + "OFF", + "STATUS" + ] + }, + "ThingDocument":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"NextToken", - "location":"querystring", - "locationName":"nextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" - }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return in this operation.

" - }, - "attributeName":{ - "shape":"AttributeName", - "location":"querystring", - "locationName":"attributeName", - "documentation":"

The attribute name used to search for things.

" + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing name.

" }, - "attributeValue":{ - "shape":"AttributeValue", - "location":"querystring", - "locationName":"attributeValue", - "documentation":"

The attribute value used to search for things.

" + "thingId":{ + "shape":"ThingId", + "documentation":"

The thing ID.

" }, "thingTypeName":{ "shape":"ThingTypeName", - "location":"querystring", - "locationName":"thingTypeName", - "documentation":"

The name of the thing type used to search for things.

" - } - }, - "documentation":"

The input for the ListThings operation.

" - }, - "ListThingsResponse":{ - "type":"structure", - "members":{ - "things":{ - "shape":"ThingAttributeList", - "documentation":"

The things.

" + "documentation":"

The thing type name.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

The token for the next set of results, or null if there are no additional results.

" + "thingGroupNames":{ + "shape":"ThingGroupNameList", + "documentation":"

Thing group names.

" + }, + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes.

" + }, + "shadow":{ + "shape":"JsonDocument", + "documentation":"

The shadow.

" + }, + "connectivity":{ + "shape":"ThingConnectivity", + "documentation":"

Indicates whether the thing is connected to the AWS IoT service.

" } }, - "documentation":"

The output from the ListThings operation.

" + "documentation":"

The thing search index document.

" }, - "ListTopicRulesRequest":{ + "ThingDocumentList":{ + "type":"list", + "member":{"shape":"ThingDocument"} + }, + "ThingGroupArn":{"type":"string"}, + "ThingGroupDescription":{ + "type":"string", + "max":2028, + "pattern":"[\\p{Graph}\\x20]*" + }, + "ThingGroupDocument":{ "type":"structure", "members":{ - "topic":{ - "shape":"Topic", - "location":"querystring", - "locationName":"topic", - "documentation":"

The topic.

" + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The thing group name.

" }, - "maxResults":{ - "shape":"MaxResults", - "location":"querystring", - "locationName":"maxResults", - "documentation":"

The maximum number of results to return.

" + "thingGroupId":{ + "shape":"ThingGroupId", + "documentation":"

The thing group ID.

" }, - "nextToken":{ - "shape":"NextToken", - "location":"querystring", - "locationName":"nextToken", - "documentation":"

A token used to retrieve the next value.

" + "thingGroupDescription":{ + "shape":"ThingGroupDescription", + "documentation":"

The thing group description.

" }, - "ruleDisabled":{ - "shape":"IsDisabled", - "location":"querystring", - "locationName":"ruleDisabled", - "documentation":"

Specifies whether the rule is disabled.

" + "attributes":{ + "shape":"Attributes", + "documentation":"

The thing group attributes.

" + }, + "parentGroupNames":{ + "shape":"ThingGroupNameList", + "documentation":"

Parent group names.

" } }, - "documentation":"

The input for the ListTopicRules operation.

" + "documentation":"

The thing group search index document.

" }, - "ListTopicRulesResponse":{ + "ThingGroupDocumentList":{ + "type":"list", + "member":{"shape":"ThingGroupDocument"} + }, + "ThingGroupId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "ThingGroupIndexingConfiguration":{ "type":"structure", + "required":["thingGroupIndexingMode"], "members":{ - "rules":{ - "shape":"TopicRuleList", - "documentation":"

The rules.

" + "thingGroupIndexingMode":{ + "shape":"ThingGroupIndexingMode", + "documentation":"

Thing group indexing mode.

" }, - "nextToken":{ - "shape":"NextToken", - "documentation":"

A token used to retrieve the next value.

" + "managedFields":{ + "shape":"Fields", + "documentation":"

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

" + }, + "customFields":{ + "shape":"Fields", + "documentation":"

A list of thing group fields to index. This list cannot contain any managed fields. Use the GetIndexingConfiguration API to get a list of managed fields.

Contains custom field names and their data type.

" } }, - "documentation":"

The output from the ListTopicRules operation.

" + "documentation":"

Thing group indexing configuration.

" }, - "LogLevel":{ + "ThingGroupIndexingMode":{ "type":"string", "enum":[ - "DEBUG", - "INFO", - "ERROR", - "WARN", - "DISABLED" + "OFF", + "ON" ] }, - "LoggingOptionsPayload":{ + "ThingGroupList":{ + "type":"list", + "member":{"shape":"ThingGroupName"} + }, + "ThingGroupMetadata":{ "type":"structure", - "required":["roleArn"], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" + "parentGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The parent thing group name.

" }, - "logLevel":{ - "shape":"LogLevel", - "documentation":"

The logging level.

" + "rootToParentThingGroups":{ + "shape":"ThingGroupNameAndArnList", + "documentation":"

The root parent thing group.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The UNIX timestamp of when the thing group was created.

" } }, - "documentation":"

Describes the logging options payload.

" + "documentation":"

Thing group metadata.

" }, - "MalformedPolicyException":{ + "ThingGroupName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "ThingGroupNameAndArnList":{ + "type":"list", + "member":{"shape":"GroupNameAndArn"} + }, + "ThingGroupNameList":{ + "type":"list", + "member":{"shape":"ThingGroupName"} + }, + "ThingGroupNames":{ + "type":"list", + "member":{"shape":"ThingGroupName"}, + "max":10, + "min":1 + }, + "ThingGroupProperties":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "thingGroupDescription":{ + "shape":"ThingGroupDescription", + "documentation":"

The thing group description.

" + }, + "attributePayload":{ + "shape":"AttributePayload", + "documentation":"

The thing group attributes in JSON format.

" } }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The policy documentation is not valid.

" - }, - "Marker":{"type":"string"}, - "MaxResults":{ - "type":"integer", - "min":1, - "max":10000 + "documentation":"

Thing group properties.

" }, - "Message":{ - "type":"string", - "max":128 + "ThingId":{"type":"string"}, + "ThingIndexingConfiguration":{ + "type":"structure", + "required":["thingIndexingMode"], + "members":{ + "thingIndexingMode":{ + "shape":"ThingIndexingMode", + "documentation":"

Thing indexing mode. Valid values are:

  • REGISTRY – Your thing index contains registry data only.

  • REGISTRY_AND_SHADOW - Your thing index contains registry and shadow data.

  • OFF - Thing indexing is disabled.

" + }, + "thingConnectivityIndexingMode":{ + "shape":"ThingConnectivityIndexingMode", + "documentation":"

Thing connectivity indexing mode. Valid values are:

  • STATUS – Your thing index contains connectivity status. To enable thing connectivity indexing, thingIndexMode must not be set to OFF.

  • OFF - Thing connectivity status indexing is disabled.

" + }, + "managedFields":{ + "shape":"Fields", + "documentation":"

Contains fields that are indexed and whose types are already known by the Fleet Indexing service.

" + }, + "customFields":{ + "shape":"Fields", + "documentation":"

Contains custom field names and their data type.

" + } + }, + "documentation":"

The thing indexing configuration. For more information, see Managing Thing Indexing.

" }, - "MessageFormat":{ + "ThingIndexingMode":{ "type":"string", "enum":[ - "RAW", - "JSON" + "OFF", + "REGISTRY", + "REGISTRY_AND_SHADOW" ] }, - "MetricName":{"type":"string"}, - "MetricNamespace":{"type":"string"}, - "MetricTimestamp":{"type":"string"}, - "MetricUnit":{"type":"string"}, - "MetricValue":{"type":"string"}, - "NextToken":{"type":"string"}, - "OptionalVersion":{"type":"long"}, - "OutgoingCertificate":{ + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "ThingNameList":{ + "type":"list", + "member":{"shape":"ThingName"} + }, + "ThingTypeArn":{"type":"string"}, + "ThingTypeDefinition":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate ID.

" - }, - "transferredTo":{ - "shape":"AwsAccountId", - "documentation":"

The AWS account to which the transfer was made.

" + "thingTypeName":{ + "shape":"ThingTypeName", + "documentation":"

The name of the thing type.

" }, - "transferDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was initiated.

" + "thingTypeArn":{ + "shape":"ThingTypeArn", + "documentation":"

The thing type ARN.

" }, - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" + "thingTypeProperties":{ + "shape":"ThingTypeProperties", + "documentation":"

The ThingTypeProperties for the thing type.

" }, - "creationDate":{ - "shape":"DateType", - "documentation":"

The certificate creation date.

" + "thingTypeMetadata":{ + "shape":"ThingTypeMetadata", + "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when it was deprecated.

" } }, - "documentation":"

A certificate that has been transfered but not yet accepted.

" - }, - "OutgoingCertificates":{ - "type":"list", - "member":{"shape":"OutgoingCertificate"} + "documentation":"

The definition of the thing type, including thing type name and description.

" }, - "PageSize":{ - "type":"integer", - "min":1, - "max":250 + "ThingTypeDescription":{ + "type":"string", + "max":2028, + "pattern":"[\\p{Graph}\\x20]*" }, - "PartitionKey":{"type":"string"}, - "PayloadField":{"type":"string"}, - "Policies":{ + "ThingTypeId":{"type":"string"}, + "ThingTypeList":{ "type":"list", - "member":{"shape":"Policy"} + "member":{"shape":"ThingTypeDefinition"} }, - "Policy":{ + "ThingTypeMetadata":{ "type":"structure", "members":{ - "policyName":{ - "shape":"PolicyName", - "documentation":"

The policy name.

" + "deprecated":{ + "shape":"Boolean", + "documentation":"

Whether the thing type is deprecated. If true, no new things could be associated with this type.

" }, - "policyArn":{ - "shape":"PolicyArn", - "documentation":"

The policy ARN.

" + "deprecationDate":{ + "shape":"DeprecationDate", + "documentation":"

The date and time when the thing type was deprecated.

" + }, + "creationDate":{ + "shape":"CreationDate", + "documentation":"

The date and time when the thing type was created.

" } }, - "documentation":"

Describes an AWS IoT policy.

" + "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when time was deprecated.

" }, - "PolicyArn":{"type":"string"}, - "PolicyDocument":{"type":"string"}, - "PolicyName":{ + "ThingTypeName":{ "type":"string", - "min":1, "max":128, - "pattern":"[\\w+=,.@-]+" + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" }, - "PolicyVersion":{ + "ThingTypeProperties":{ "type":"structure", "members":{ - "versionId":{ - "shape":"PolicyVersionId", - "documentation":"

The policy version ID.

" - }, - "isDefaultVersion":{ - "shape":"IsDefaultVersion", - "documentation":"

Specifies whether the policy version is the default.

" + "thingTypeDescription":{ + "shape":"ThingTypeDescription", + "documentation":"

The description of the thing type.

" }, - "createDate":{ - "shape":"DateType", - "documentation":"

The date and time the policy was created.

" + "searchableAttributes":{ + "shape":"SearchableAttributes", + "documentation":"

A list of searchable thing attribute names.

" } }, - "documentation":"

Describes a policy version.

" + "documentation":"

The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.

" }, - "PolicyVersionId":{ - "type":"string", - "pattern":"[0-9]+" + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The rate exceeds the limit.

", + "error":{"httpStatusCode":400}, + "exception":true }, - "PolicyVersions":{ - "type":"list", - "member":{"shape":"PolicyVersion"} + "TimedOutThings":{"type":"integer"}, + "TimeoutConfig":{ + "type":"structure", + "members":{ + "inProgressTimeoutInMinutes":{ + "shape":"InProgressTimeoutInMinutes", + "documentation":"

Specifies the amount of time, in minutes, this device has to finish execution of this job. The timeout interval can be anywhere between 1 minute and 7 days (1 to 10080 minutes). The in progress timer can't be updated and will apply to all job executions for the job. Whenever a job execution remains in the IN_PROGRESS status for longer than this interval, the job execution will fail and switch to the terminal TIMED_OUT status.

" + } + }, + "documentation":"

Specifies the amount of time each device has to finish its execution of the job. A timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the timer expires, it will be automatically set to TIMED_OUT.

" }, - "Principal":{"type":"string"}, - "PrincipalArn":{"type":"string"}, - "Principals":{ - "type":"list", - "member":{"shape":"PrincipalArn"} + "Timestamp":{"type":"timestamp"}, + "TlsContext":{ + "type":"structure", + "members":{ + "serverName":{ + "shape":"ServerName", + "documentation":"

The value of the serverName key in a TLS authorization request.

" + } + }, + "documentation":"

Specifies the TLS context to use for the test authorizer request.

" }, - "PrivateKey":{ + "Token":{ "type":"string", + "max":6144, + "min":1 + }, + "TokenKeyName":{ + "type":"string", + "max":128, "min":1, - "sensitive":true + "pattern":"[a-zA-Z0-9_-]+" }, - "PublicKey":{ + "TokenSignature":{ "type":"string", - "min":1 + "max":2560, + "min":1, + "pattern":"[A-Za-z0-9+/]+={0,2}" }, - "PutItemInput":{ + "Topic":{"type":"string"}, + "TopicPattern":{"type":"string"}, + "TopicRule":{ "type":"structure", - "required":["tableName"], "members":{ - "tableName":{ - "shape":"TableName", - "documentation":"

The table where the message data will be written

" + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

" + }, + "sql":{ + "shape":"SQL", + "documentation":"

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the rule.

" + }, + "createdAt":{ + "shape":"CreatedAtDate", + "documentation":"

The date and time the rule was created.

" + }, + "actions":{ + "shape":"ActionList", + "documentation":"

The actions associated with the rule.

" + }, + "ruleDisabled":{ + "shape":"IsDisabled", + "documentation":"

Specifies whether the rule is disabled.

" + }, + "awsIotSqlVersion":{ + "shape":"AwsIotSqlVersion", + "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" + }, + "errorAction":{ + "shape":"Action", + "documentation":"

The action to perform when an error occurs.

" } }, - "documentation":"

The input for the DynamoActionVS action that specifies the DynamoDB table to which the message data will be written.

" + "documentation":"

Describes a rule.

" }, - "QueueUrl":{"type":"string"}, - "RangeKeyField":{"type":"string"}, - "RangeKeyValue":{"type":"string"}, - "RegisterCACertificateRequest":{ + "TopicRuleDestination":{ "type":"structure", - "required":[ - "caCertificate", - "verificationCertificate" - ], "members":{ - "caCertificate":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate.

" + "arn":{ + "shape":"AwsArn", + "documentation":"

The topic rule destination URL.

" }, - "verificationCertificate":{ - "shape":"CertificatePem", - "documentation":"

The private key verification certificate.

" + "status":{ + "shape":"TopicRuleDestinationStatus", + "documentation":"

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

" }, - "setAsActive":{ - "shape":"SetAsActive", - "location":"querystring", - "locationName":"setAsActive", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

" + "statusReason":{ + "shape":"String", + "documentation":"

Additional details or reason why the topic rule destination is in the current status.

" }, - "allowAutoRegistration":{ - "shape":"AllowAutoRegistration", - "location":"querystring", - "locationName":"allowAutoRegistration", - "documentation":"

Allows this CA certificate to be used for auto registration of device certificates.

" + "httpUrlProperties":{ + "shape":"HttpUrlDestinationProperties", + "documentation":"

Properties of the HTTP URL.

" } }, - "documentation":"

The input to the RegisterCACertificate operation.

" + "documentation":"

A topic rule destination.

" }, - "RegisterCACertificateResponse":{ + "TopicRuleDestinationConfiguration":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The CA certificate ARN.

" - }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The CA certificate identifier.

" + "httpUrlConfiguration":{ + "shape":"HttpUrlDestinationConfiguration", + "documentation":"

Configuration of the HTTP URL.

" } }, - "documentation":"

The output from the RegisterCACertificateResponse operation.

" + "documentation":"

Configuration of the topic rule destination.

" }, - "RegisterCertificateRequest":{ + "TopicRuleDestinationMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "TopicRuleDestinationStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "IN_PROGRESS", + "DISABLED", + "ERROR" + ] + }, + "TopicRuleDestinationSummaries":{ + "type":"list", + "member":{"shape":"TopicRuleDestinationSummary"} + }, + "TopicRuleDestinationSummary":{ "type":"structure", - "required":["certificatePem"], "members":{ - "certificatePem":{ - "shape":"CertificatePem", - "documentation":"

The certificate data, in PEM format.

" + "arn":{ + "shape":"AwsArn", + "documentation":"

The topic rule destination ARN.

" }, - "caCertificatePem":{ - "shape":"CertificatePem", - "documentation":"

The CA certificate used to sign the device certificate being registered.

" + "status":{ + "shape":"TopicRuleDestinationStatus", + "documentation":"

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

" }, - "setAsActive":{ - "shape":"SetAsActiveFlag", - "deprecated":true, - "location":"querystring", - "locationName":"setAsActive", - "documentation":"

A boolean value that specifies if the CA certificate is set to active.

" + "statusReason":{ + "shape":"String", + "documentation":"

The reason the topic rule destination is in the current status.

" }, - "status":{"shape":"CertificateStatus"} + "httpUrlSummary":{ + "shape":"HttpUrlDestinationSummary", + "documentation":"

Information about the HTTP URL.

" + } }, - "documentation":"

The input to the RegisterCertificate operation.

" + "documentation":"

Information about the topic rule destination.

" }, - "RegisterCertificateResponse":{ + "TopicRuleList":{ + "type":"list", + "member":{"shape":"TopicRuleListItem"} + }, + "TopicRuleListItem":{ "type":"structure", "members":{ - "certificateArn":{ - "shape":"CertificateArn", - "documentation":"

The certificate ARN.

" + "ruleArn":{ + "shape":"RuleArn", + "documentation":"

The rule ARN.

" }, - "certificateId":{ - "shape":"CertificateId", - "documentation":"

The certificate identifier.

" + "ruleName":{ + "shape":"RuleName", + "documentation":"

The name of the rule.

" + }, + "topicPattern":{ + "shape":"TopicPattern", + "documentation":"

The pattern for the topic names that apply.

" + }, + "createdAt":{ + "shape":"CreatedAtDate", + "documentation":"

The date and time the rule was created.

" + }, + "ruleDisabled":{ + "shape":"IsDisabled", + "documentation":"

Specifies whether the rule is disabled.

" } }, - "documentation":"

The output from the RegisterCertificate operation.

" + "documentation":"

Describes a rule.

" }, - "RegistrationCode":{ - "type":"string", - "min":64, - "max":64, - "pattern":"(0x)?[a-fA-F0-9]+" + "TopicRuleMaxResults":{ + "type":"integer", + "max":10000, + "min":1 }, - "RegistrationCodeValidationException":{ + "TopicRulePayload":{ "type":"structure", + "required":[ + "sql", + "actions" + ], "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

Additional information about the exception.

" + "sql":{ + "shape":"SQL", + "documentation":"

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the rule.

" + }, + "actions":{ + "shape":"ActionList", + "documentation":"

The actions associated with the rule.

" + }, + "ruleDisabled":{ + "shape":"IsDisabled", + "documentation":"

Specifies whether the rule is disabled.

" + }, + "awsIotSqlVersion":{ + "shape":"AwsIotSqlVersion", + "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" + }, + "errorAction":{ + "shape":"Action", + "documentation":"

The action to take when an error occurs.

" } }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The registration code is invalid.

" + "documentation":"

Describes a rule.

" }, - "RejectCertificateTransferRequest":{ + "TotalChecksCount":{"type":"integer"}, + "TotalFindingsCount":{"type":"long"}, + "TotalResourcesCount":{"type":"long"}, + "TransferAlreadyCompletedException":{ "type":"structure", - "required":["certificateId"], "members":{ - "certificateId":{ - "shape":"CertificateId", - "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" - }, - "rejectReason":{ - "shape":"Message", - "documentation":"

The reason the certificate transfer was rejected.

" + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" } }, - "documentation":"

The input for the RejectCertificateTransfer operation.

" + "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

", + "error":{"httpStatusCode":410}, + "exception":true }, - "RemoveThingType":{"type":"boolean"}, - "ReplaceTopicRuleRequest":{ + "TransferCertificateRequest":{ "type":"structure", "required":[ - "ruleName", - "topicRulePayload" + "certificateId", + "targetAwsAccount" ], "members":{ - "ruleName":{ - "shape":"RuleName", + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", "location":"uri", - "locationName":"ruleName", - "documentation":"

The name of the rule.

" + "locationName":"certificateId" }, - "topicRulePayload":{ - "shape":"TopicRulePayload", - "documentation":"

The rule payload.

" + "targetAwsAccount":{ + "shape":"AwsAccountId", + "documentation":"

The AWS account.

", + "location":"querystring", + "locationName":"targetAwsAccount" + }, + "transferMessage":{ + "shape":"Message", + "documentation":"

The transfer message.

" } }, - "documentation":"

The input for the ReplaceTopicRule operation.

", - "payload":"topicRulePayload" + "documentation":"

The input for the TransferCertificate operation.

" }, - "RepublishAction":{ + "TransferCertificateResponse":{ "type":"structure", - "required":[ - "roleArn", - "topic" - ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "topic":{ - "shape":"TopicPattern", - "documentation":"

The name of the MQTT topic.

" + "transferredCertificateArn":{ + "shape":"CertificateArn", + "documentation":"

The ARN of the certificate.

" } }, - "documentation":"

Describes an action to republish to another topic.

" + "documentation":"

The output from the TransferCertificate operation.

" }, - "ResourceAlreadyExistsException":{ + "TransferConflictException":{ "type":"structure", "members":{ "message":{ "shape":"errorMessage", "documentation":"

The message for the exception.

" + } + }, + "documentation":"

You can't transfer the certificate because authorization policies are still attached.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "TransferData":{ + "type":"structure", + "members":{ + "transferMessage":{ + "shape":"Message", + "documentation":"

The transfer message.

" }, - "resourceId":{ - "shape":"resourceId", - "documentation":"

The ID of the resource that caused the exception.

" + "rejectReason":{ + "shape":"Message", + "documentation":"

The reason why the transfer was rejected.

" }, - "resourceArn":{ - "shape":"resourceArn", - "documentation":"

The ARN of the resource that caused the exception.

" + "transferDate":{ + "shape":"DateType", + "documentation":"

The date the transfer took place.

" + }, + "acceptDate":{ + "shape":"DateType", + "documentation":"

The date the transfer was accepted.

" + }, + "rejectDate":{ + "shape":"DateType", + "documentation":"

The date the transfer was rejected.

" } }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The resource already exists.

" + "documentation":"

Data used to transfer a certificate to an AWS account.

" }, - "ResourceNotFoundException":{ + "UnauthorizedException":{ "type":"structure", "members":{ "message":{ @@ -5442,512 +15047,747 @@ "documentation":"

The message for the exception.

" } }, - "error":{"httpStatusCode":404}, - "exception":true, - "documentation":"

The specified resource does not exist.

" + "documentation":"

You are not authorized to perform this operation.

", + "error":{"httpStatusCode":401}, + "exception":true }, - "RuleArn":{"type":"string"}, - "RuleName":{ - "type":"string", - "min":1, - "max":128, - "pattern":"^[a-zA-Z0-9_]+$" + "UndoDeprecate":{"type":"boolean"}, + "UnsignedLong":{ + "type":"long", + "min":0 }, - "S3Action":{ + "UntagResourceRequest":{ "type":"structure", "required":[ - "roleArn", - "bucketName", - "key" + "resourceArn", + "tagKeys" ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource.

" }, - "bucketName":{ - "shape":"BucketName", - "documentation":"

The Amazon S3 bucket.

" + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of the keys of the tags to be removed from the resource.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAccountAuditConfigurationRequest":{ + "type":"structure", + "members":{ + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that grants permission to AWS IoT to access information about your devices, policies, certificates and other items as required when performing an audit.

" }, - "key":{ - "shape":"Key", - "documentation":"

The object key.

" + "auditNotificationTargetConfigurations":{ + "shape":"AuditNotificationTargetConfigurations", + "documentation":"

Information about the targets to which audit notifications are sent.

" }, - "cannedAcl":{ - "shape":"CannedAccessControlList", - "documentation":"

The Amazon S3 canned ACL that controls access to the object identified by the object key. For more information, see S3 canned ACLs.

" + "auditCheckConfigurations":{ + "shape":"AuditCheckConfigurations", + "documentation":"

Specifies which audit checks are enabled and disabled for this account. Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are currently enabled.

Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted.

You cannot disable a check if it is used by any scheduled audit. You must first delete the check from the scheduled audit or delete the scheduled audit itself.

On the first call to UpdateAccountAuditConfiguration, this parameter is required and must specify at least one enabled check.

" } - }, - "documentation":"

Describes an action to write data to an Amazon S3 bucket.

" + } }, - "SQL":{"type":"string"}, - "SearchableAttributes":{ - "type":"list", - "member":{"shape":"AttributeName"} + "UpdateAccountAuditConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAuthorizerRequest":{ + "type":"structure", + "required":["authorizerName"], + "members":{ + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

", + "location":"uri", + "locationName":"authorizerName" + }, + "authorizerFunctionArn":{ + "shape":"AuthorizerFunctionArn", + "documentation":"

The ARN of the authorizer's Lambda function.

" + }, + "tokenKeyName":{ + "shape":"TokenKeyName", + "documentation":"

The key used to extract the token from the HTTP headers.

" + }, + "tokenSigningPublicKeys":{ + "shape":"PublicKeyMap", + "documentation":"

The public keys used to verify the token signature.

" + }, + "status":{ + "shape":"AuthorizerStatus", + "documentation":"

The status of the update authorizer request.

" + } + } }, - "ServiceUnavailableException":{ + "UpdateAuthorizerResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "authorizerName":{ + "shape":"AuthorizerName", + "documentation":"

The authorizer name.

" + }, + "authorizerArn":{ + "shape":"AuthorizerArn", + "documentation":"

The authorizer ARN.

" } - }, - "error":{"httpStatusCode":503}, - "exception":true, - "fault":true, - "documentation":"

The service is temporarily unavailable.

" + } }, - "SetAsActive":{"type":"boolean"}, - "SetAsActiveFlag":{"type":"boolean"}, - "SetAsDefault":{"type":"boolean"}, - "SetDefaultPolicyVersionRequest":{ + "UpdateBillingGroupRequest":{ "type":"structure", "required":[ - "policyName", - "policyVersionId" + "billingGroupName", + "billingGroupProperties" ], "members":{ - "policyName":{ - "shape":"PolicyName", + "billingGroupName":{ + "shape":"BillingGroupName", + "documentation":"

The name of the billing group.

", "location":"uri", - "locationName":"policyName", - "documentation":"

The policy name.

" + "locationName":"billingGroupName" }, - "policyVersionId":{ - "shape":"PolicyVersionId", - "location":"uri", - "locationName":"policyVersionId", - "documentation":"

The policy version ID.

" + "billingGroupProperties":{ + "shape":"BillingGroupProperties", + "documentation":"

The properties of the billing group.

" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the billing group. If the version of the billing group does not match the expected version specified in the request, the UpdateBillingGroup request is rejected with a VersionConflictException.

" + } + } + }, + "UpdateBillingGroupResponse":{ + "type":"structure", + "members":{ + "version":{ + "shape":"Version", + "documentation":"

The latest version of the billing group.

" + } + } + }, + "UpdateCACertificateParams":{ + "type":"structure", + "required":["action"], + "members":{ + "action":{ + "shape":"CACertificateUpdateAction", + "documentation":"

The action that you want to apply to the CA cerrtificate. The only supported value is DEACTIVATE.

" } }, - "documentation":"

The input for the SetDefaultPolicyVersion operation.

" + "documentation":"

Parameters to define a mitigation action that changes the state of the CA certificate to inactive.

" }, - "SetLoggingOptionsRequest":{ + "UpdateCACertificateRequest":{ "type":"structure", - "required":["loggingOptionsPayload"], + "required":["certificateId"], "members":{ - "loggingOptionsPayload":{ - "shape":"LoggingOptionsPayload", - "documentation":"

The logging options payload.

" + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The CA certificate identifier.

", + "location":"uri", + "locationName":"caCertificateId" + }, + "newStatus":{ + "shape":"CACertificateStatus", + "documentation":"

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

", + "location":"querystring", + "locationName":"newStatus" + }, + "newAutoRegistrationStatus":{ + "shape":"AutoRegistrationStatus", + "documentation":"

The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".

", + "location":"querystring", + "locationName":"newAutoRegistrationStatus" + }, + "registrationConfig":{ + "shape":"RegistrationConfig", + "documentation":"

Information about the registration configuration.

" + }, + "removeAutoRegistration":{ + "shape":"RemoveAutoRegistration", + "documentation":"

If true, removes auto registration.

" } }, - "documentation":"

The input for the SetLoggingOptions operation.

", - "payload":"loggingOptionsPayload" + "documentation":"

The input to the UpdateCACertificate operation.

" }, - "SnsAction":{ + "UpdateCertificateRequest":{ "type":"structure", "required":[ - "targetArn", - "roleArn" + "certificateId", + "newStatus" ], "members":{ - "targetArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the SNS topic.

" - }, - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" + "certificateId":{ + "shape":"CertificateId", + "documentation":"

The ID of the certificate. (The last part of the certificate ARN contains the certificate ID.)

", + "location":"uri", + "locationName":"certificateId" }, - "messageFormat":{ - "shape":"MessageFormat", - "documentation":"

The message format of the message to publish. Optional. Accepted values are \"JSON\" and \"RAW\". The default value of the attribute is \"RAW\". SNS uses this setting to determine if the payload should be parsed and relevant platform-specific bits of the payload should be extracted. To read more about SNS message formats, see refer to their official documentation.

" + "newStatus":{ + "shape":"CertificateStatus", + "documentation":"

The new status.

Note: Setting the status to PENDING_TRANSFER or PENDING_ACTIVATION will result in an exception being thrown. PENDING_TRANSFER and PENDING_ACTIVATION are statuses used internally by AWS IoT. They are not intended for developer use.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

", + "location":"querystring", + "locationName":"newStatus" } }, - "documentation":"

Describes an action to publish to an Amazon SNS topic.

" + "documentation":"

The input for the UpdateCertificate operation.

" }, - "SqlParseException":{ + "UpdateDeviceCertificateParams":{ "type":"structure", + "required":["action"], "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "action":{ + "shape":"DeviceCertificateUpdateAction", + "documentation":"

The action that you want to apply to the device cerrtificate. The only supported value is DEACTIVATE.

" } }, - "error":{"httpStatusCode":400}, - "exception":true, - "documentation":"

The Rule-SQL expression can't be parsed correctly.

" + "documentation":"

Parameters to define a mitigation action that changes the state of the device certificate to inactive.

" }, - "SqsAction":{ + "UpdateDimensionRequest":{ "type":"structure", "required":[ - "roleArn", - "queueUrl" + "name", + "stringValues" ], "members":{ - "roleArn":{ - "shape":"AwsArn", - "documentation":"

The ARN of the IAM role that grants access.

" - }, - "queueUrl":{ - "shape":"QueueUrl", - "documentation":"

The URL of the Amazon SQS queue.

" + "name":{ + "shape":"DimensionName", + "documentation":"

A unique identifier for the dimension. Choose something that describes the type and value to make it easy to remember what it does.

", + "location":"uri", + "locationName":"name" }, - "useBase64":{ - "shape":"UseBase64", - "documentation":"

Specifies whether to use Base64 encoding.

" + "stringValues":{ + "shape":"DimensionStringValues", + "documentation":"

Specifies the value or list of values for the dimension. For TOPIC_FILTER dimensions, this is a pattern used to match the MQTT topic (for example, \"admin/#\").

" } - }, - "documentation":"

Describes an action to publish data to an Amazon SQS queue.

" + } }, - "StateReason":{"type":"string"}, - "StateValue":{"type":"string"}, - "StreamName":{"type":"string"}, - "TableName":{"type":"string"}, - "ThingArn":{"type":"string"}, - "ThingAttribute":{ + "UpdateDimensionResponse":{ "type":"structure", "members":{ - "thingName":{ - "shape":"ThingName", - "documentation":"

The name of the thing.

" + "name":{ + "shape":"DimensionName", + "documentation":"

A unique identifier for the dimension.

" }, - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type, if the thing has been associated with a type.

" + "arn":{ + "shape":"DimensionArn", + "documentation":"

The ARN (Amazon resource name) of the created dimension.

" }, - "attributes":{ - "shape":"Attributes", - "documentation":"

A list of thing attributes which are name-value pairs.

" + "type":{ + "shape":"DimensionType", + "documentation":"

The type of the dimension.

" }, - "version":{ - "shape":"Version", - "documentation":"

The version of the thing record in the registry.

" + "stringValues":{ + "shape":"DimensionStringValues", + "documentation":"

The value or list of values used to scope the dimension. For example, for topic filters, this is the pattern used to match the MQTT topic name.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time, in milliseconds since epoch, when the dimension was initially created.

" + }, + "lastModifiedDate":{ + "shape":"Timestamp", + "documentation":"

The date and time, in milliseconds since epoch, when the dimension was most recently updated.

" } - }, - "documentation":"

The properties of the thing, including thing name, thing type name, and a list of thing attributes.

" - }, - "ThingAttributeList":{ - "type":"list", - "member":{"shape":"ThingAttribute"} - }, - "ThingName":{ - "type":"string", - "min":1, - "max":128, - "pattern":"[a-zA-Z0-9:_-]+" - }, - "ThingNameList":{ - "type":"list", - "member":{"shape":"ThingName"} + } }, - "ThingTypeArn":{"type":"string"}, - "ThingTypeDefinition":{ + "UpdateDomainConfigurationRequest":{ "type":"structure", + "required":["domainConfigurationName"], "members":{ - "thingTypeName":{ - "shape":"ThingTypeName", - "documentation":"

The name of the thing type.

" + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "documentation":"

The name of the domain configuration to be updated.

", + "location":"uri", + "locationName":"domainConfigurationName" }, - "thingTypeProperties":{ - "shape":"ThingTypeProperties", - "documentation":"

The ThingTypeProperties for the thing type.

" + "authorizerConfig":{ + "shape":"AuthorizerConfig", + "documentation":"

An object that specifies the authorization service for a domain.

" }, - "thingTypeMetadata":{"shape":"ThingTypeMetadata"} - }, - "documentation":"

The definition of the thing type, including thing type name and description.

" - }, - "ThingTypeDescription":{ - "type":"string", - "max":2028, - "pattern":"[\\p{Graph}\\x20]*" + "domainConfigurationStatus":{ + "shape":"DomainConfigurationStatus", + "documentation":"

The status to which the domain configuration should be updated.

" + }, + "removeAuthorizerConfig":{ + "shape":"RemoveAuthorizerConfig", + "documentation":"

Removes the authorization configuration from a domain.

" + } + } }, - "ThingTypeList":{ - "type":"list", - "member":{"shape":"ThingTypeDefinition"} + "UpdateDomainConfigurationResponse":{ + "type":"structure", + "members":{ + "domainConfigurationName":{ + "shape":"ReservedDomainConfigurationName", + "documentation":"

The name of the domain configuration that was updated.

" + }, + "domainConfigurationArn":{ + "shape":"DomainConfigurationArn", + "documentation":"

The ARN of the domain configuration that was updated.

" + } + } }, - "ThingTypeMetadata":{ + "UpdateDynamicThingGroupRequest":{ "type":"structure", + "required":[ + "thingGroupName", + "thingGroupProperties" + ], "members":{ - "deprecated":{ - "shape":"Boolean", - "documentation":"

Whether the thing type is deprecated. If true, no new things could be associated with this type.

" + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The name of the dynamic thing group to update.

", + "location":"uri", + "locationName":"thingGroupName" }, - "deprecationDate":{ - "shape":"DeprecationDate", - "documentation":"

The date and time when the thing type was deprecated.

" + "thingGroupProperties":{ + "shape":"ThingGroupProperties", + "documentation":"

The dynamic thing group properties to update.

" }, - "creationDate":{ - "shape":"CreationDate", - "documentation":"

The date and time when the thing type was created.

" + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the dynamic thing group to update.

" + }, + "indexName":{ + "shape":"IndexName", + "documentation":"

The dynamic thing group index to update.

Currently one index is supported: 'AWS_Things'.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The dynamic thing group search query string to update.

" + }, + "queryVersion":{ + "shape":"QueryVersion", + "documentation":"

The dynamic thing group query version to update.

Currently one query version is supported: \"2017-09-30\". If not specified, the query version defaults to this value.

" } - }, - "documentation":"

The ThingTypeMetadata contains additional information about the thing type including: creation date and time, a value indicating whether the thing type is deprecated, and a date and time when time was deprecated.

" - }, - "ThingTypeName":{ - "type":"string", - "min":1, - "max":128, - "pattern":"[a-zA-Z0-9:_-]+" + } }, - "ThingTypeProperties":{ + "UpdateDynamicThingGroupResponse":{ "type":"structure", "members":{ - "thingTypeDescription":{ - "shape":"ThingTypeDescription", - "documentation":"

The description of the thing type.

" - }, - "searchableAttributes":{ - "shape":"SearchableAttributes", - "documentation":"

A list of searchable thing attribute names.

" + "version":{ + "shape":"Version", + "documentation":"

The dynamic thing group version.

" } - }, - "documentation":"

The ThingTypeProperties contains information about the thing type including: a thing type description, and a list of searchable thing attribute names.

" + } }, - "ThrottlingException":{ + "UpdateEventConfigurationsRequest":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "eventConfigurations":{ + "shape":"EventConfigurations", + "documentation":"

The new event configuration values.

" } - }, - "error":{"httpStatusCode":429}, - "exception":true, - "documentation":"

The rate exceeds the limit.

" + } }, - "Topic":{"type":"string"}, - "TopicPattern":{"type":"string"}, - "TopicRule":{ + "UpdateEventConfigurationsResponse":{ "type":"structure", "members":{ - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" + } + }, + "UpdateIndexingConfigurationRequest":{ + "type":"structure", + "members":{ + "thingIndexingConfiguration":{ + "shape":"ThingIndexingConfiguration", + "documentation":"

Thing indexing configuration.

" }, - "sql":{ - "shape":"SQL", - "documentation":"

The SQL statement used to query the topic. When using a SQL query with multiple lines, be sure to escape the newline characters.

" + "thingGroupIndexingConfiguration":{ + "shape":"ThingGroupIndexingConfiguration", + "documentation":"

Thing group indexing configuration.

" + } + } + }, + "UpdateIndexingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The ID of the job to be updated.

", + "location":"uri", + "locationName":"jobId" }, "description":{ - "shape":"Description", - "documentation":"

The description of the rule.

" + "shape":"JobDescription", + "documentation":"

A short text description of the job.

" }, - "createdAt":{ - "shape":"CreatedAtDate", - "documentation":"

The date and time the rule was created.

" + "presignedUrlConfig":{ + "shape":"PresignedUrlConfig", + "documentation":"

Configuration information for pre-signed S3 URLs.

" }, - "actions":{ - "shape":"ActionList", - "documentation":"

The actions associated with the rule.

" + "jobExecutionsRolloutConfig":{ + "shape":"JobExecutionsRolloutConfig", + "documentation":"

Allows you to create a staged rollout of the job.

" }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" + "abortConfig":{ + "shape":"AbortConfig", + "documentation":"

Allows you to create criteria to abort a job.

" }, - "awsIotSqlVersion":{ - "shape":"AwsIotSqlVersion", - "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" - } - }, - "documentation":"

Describes a rule.

" - }, - "TopicRuleList":{ - "type":"list", - "member":{"shape":"TopicRuleListItem"} + "timeoutConfig":{ + "shape":"TimeoutConfig", + "documentation":"

Specifies the amount of time each device has to finish its execution of the job. The timer is started when the job execution status is set to IN_PROGRESS. If the job execution status is not set to another terminal state before the time expires, it will be automatically set to TIMED_OUT.

" + } + } }, - "TopicRuleListItem":{ + "UpdateMitigationActionRequest":{ "type":"structure", + "required":["actionName"], "members":{ - "ruleArn":{ - "shape":"RuleArn", - "documentation":"

The rule ARN.

" - }, - "ruleName":{ - "shape":"RuleName", - "documentation":"

The name of the rule.

" + "actionName":{ + "shape":"MitigationActionName", + "documentation":"

The friendly name for the mitigation action. You can't change the name by using UpdateMitigationAction. Instead, you must delete and re-create the mitigation action with the new name.

", + "location":"uri", + "locationName":"actionName" }, - "topicPattern":{ - "shape":"TopicPattern", - "documentation":"

The pattern for the topic names that apply.

" + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that is used to apply the mitigation action.

" }, - "createdAt":{ - "shape":"CreatedAtDate", - "documentation":"

The date and time the rule was created.

" + "actionParams":{ + "shape":"MitigationActionParams", + "documentation":"

Defines the type of action and the parameters for that action.

" + } + } + }, + "UpdateMitigationActionResponse":{ + "type":"structure", + "members":{ + "actionArn":{ + "shape":"MitigationActionArn", + "documentation":"

The ARN for the new mitigation action.

" }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" + "actionId":{ + "shape":"MitigationActionId", + "documentation":"

A unique identifier for the mitigation action.

" } - }, - "documentation":"

Describes a rule.

" + } }, - "TopicRulePayload":{ + "UpdateProvisioningTemplateRequest":{ "type":"structure", - "required":[ - "sql", - "actions" - ], + "required":["templateName"], "members":{ - "sql":{ - "shape":"SQL", - "documentation":"

The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference in the AWS IoT Developer Guide.

" + "templateName":{ + "shape":"TemplateName", + "documentation":"

The name of the fleet provisioning template.

", + "location":"uri", + "locationName":"templateName" }, "description":{ - "shape":"Description", - "documentation":"

The description of the rule.

" + "shape":"TemplateDescription", + "documentation":"

The description of the fleet provisioning template.

" }, - "actions":{ - "shape":"ActionList", - "documentation":"

The actions associated with the rule.

" + "enabled":{ + "shape":"Enabled", + "documentation":"

True to enable the fleet provisioning template, otherwise false.

" }, - "ruleDisabled":{ - "shape":"IsDisabled", - "documentation":"

Specifies whether the rule is disabled.

" + "defaultVersionId":{ + "shape":"TemplateVersionId", + "documentation":"

The ID of the default provisioning template version.

" }, - "awsIotSqlVersion":{ - "shape":"AwsIotSqlVersion", - "documentation":"

The version of the SQL rules engine to use when evaluating the rule.

" + "provisioningRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role associated with the provisioning template. This IoT role grants permission to provision a device.

" + }, + "preProvisioningHook":{ + "shape":"ProvisioningHook", + "documentation":"

Updates the pre-provisioning hook template.

" + }, + "removePreProvisioningHook":{ + "shape":"RemoveHook", + "documentation":"

Removes pre-provisioning hook template.

" } - }, - "documentation":"

Describes a rule.

" + } }, - "TransferAlreadyCompletedException":{ + "UpdateProvisioningTemplateResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" - } - }, - "error":{"httpStatusCode":410}, - "exception":true, - "documentation":"

You can't revert the certificate transfer because the transfer is already complete.

" + } }, - "TransferCertificateRequest":{ + "UpdateRoleAliasRequest":{ "type":"structure", - "required":[ - "certificateId", - "targetAwsAccount" - ], + "required":["roleAlias"], "members":{ - "certificateId":{ - "shape":"CertificateId", + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias to update.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"roleAlias" }, - "targetAwsAccount":{ - "shape":"AwsAccountId", - "location":"querystring", - "locationName":"targetAwsAccount", - "documentation":"

The AWS account.

" + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The role ARN.

" }, - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" + "credentialDurationSeconds":{ + "shape":"CredentialDurationSeconds", + "documentation":"

The number of seconds the credential will be valid.

" } - }, - "documentation":"

The input for the TransferCertificate operation.

" + } }, - "TransferCertificateResponse":{ + "UpdateRoleAliasResponse":{ "type":"structure", "members":{ - "transferredCertificateArn":{ - "shape":"CertificateArn", - "documentation":"

The ARN of the certificate.

" + "roleAlias":{ + "shape":"RoleAlias", + "documentation":"

The role alias.

" + }, + "roleAliasArn":{ + "shape":"RoleAliasArn", + "documentation":"

The role alias ARN.

" } - }, - "documentation":"

The output from the TransferCertificate operation.

" + } }, - "TransferConflictException":{ + "UpdateScheduledAuditRequest":{ "type":"structure", + "required":["scheduledAuditName"], "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "frequency":{ + "shape":"AuditFrequency", + "documentation":"

How often the scheduled audit takes place. Can be one of \"DAILY\", \"WEEKLY\", \"BIWEEKLY\", or \"MONTHLY\". The start time of each audit is determined by the system.

" + }, + "dayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

The day of the month on which the scheduled audit takes place. Can be \"1\" through \"31\" or \"LAST\". This field is required if the \"frequency\" parameter is set to \"MONTHLY\". If days 29-31 are specified, and the month does not have that many days, the audit takes place on the \"LAST\" day of the month.

" + }, + "dayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

The day of the week on which the scheduled audit takes place. Can be one of \"SUN\", \"MON\", \"TUE\", \"WED\", \"THU\", \"FRI\", or \"SAT\". This field is required if the \"frequency\" parameter is set to \"WEEKLY\" or \"BIWEEKLY\".

" + }, + "targetCheckNames":{ + "shape":"TargetAuditCheckNames", + "documentation":"

Which checks are performed during the scheduled audit. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration to select which checks are enabled.)

" + }, + "scheduledAuditName":{ + "shape":"ScheduledAuditName", + "documentation":"

The name of the scheduled audit. (Max. 128 chars)

", + "location":"uri", + "locationName":"scheduledAuditName" } - }, - "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

You can't transfer the certificate because authorization policies are still attached.

" + } }, - "TransferData":{ + "UpdateScheduledAuditResponse":{ "type":"structure", "members":{ - "transferMessage":{ - "shape":"Message", - "documentation":"

The transfer message.

" + "scheduledAuditArn":{ + "shape":"ScheduledAuditArn", + "documentation":"

The ARN of the scheduled audit.

" + } + } + }, + "UpdateSecurityProfileRequest":{ + "type":"structure", + "required":["securityProfileName"], + "members":{ + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile you want to update.

", + "location":"uri", + "locationName":"securityProfileName" }, - "rejectReason":{ - "shape":"Message", - "documentation":"

The reason why the transfer was rejected.

" + "securityProfileDescription":{ + "shape":"SecurityProfileDescription", + "documentation":"

A description of the security profile.

" }, - "transferDate":{ - "shape":"DateType", - "documentation":"

The date the transfer took place.

" + "behaviors":{ + "shape":"Behaviors", + "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" }, - "acceptDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was accepted.

" + "alertTargets":{ + "shape":"AlertTargets", + "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" }, - "rejectDate":{ - "shape":"DateType", - "documentation":"

The date the transfer was rejected.

" + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.

", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{ + "shape":"AdditionalMetricsToRetainV2List", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" + }, + "deleteBehaviors":{ + "shape":"DeleteBehaviors", + "documentation":"

If true, delete all behaviors defined for this security profile. If any behaviors are defined in the current invocation, an exception occurs.

" + }, + "deleteAlertTargets":{ + "shape":"DeleteAlertTargets", + "documentation":"

If true, delete all alertTargets defined for this security profile. If any alertTargets are defined in the current invocation, an exception occurs.

" + }, + "deleteAdditionalMetricsToRetain":{ + "shape":"DeleteAdditionalMetricsToRetain", + "documentation":"

If true, delete all additionalMetricsToRetain defined for this security profile. If any additionalMetricsToRetain are defined in the current invocation, an exception occurs.

" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException is thrown.

", + "location":"querystring", + "locationName":"expectedVersion" } - }, - "documentation":"

Data used to transfer a certificate to an AWS account.

" + } }, - "UnauthorizedException":{ + "UpdateSecurityProfileResponse":{ "type":"structure", "members":{ - "message":{ - "shape":"errorMessage", - "documentation":"

The message for the exception.

" + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile that was updated.

" + }, + "securityProfileArn":{ + "shape":"SecurityProfileArn", + "documentation":"

The ARN of the security profile that was updated.

" + }, + "securityProfileDescription":{ + "shape":"SecurityProfileDescription", + "documentation":"

The description of the security profile.

" + }, + "behaviors":{ + "shape":"Behaviors", + "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" + }, + "alertTargets":{ + "shape":"AlertTargets", + "documentation":"

Where the alerts are sent. (Alerts are always sent to the console.)

" + }, + "additionalMetricsToRetain":{ + "shape":"AdditionalMetricsToRetainList", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the security profile's behaviors, but it is also retained for any metric specified here.

Note: This API field is deprecated. Please use UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.

", + "deprecated":true, + "deprecatedMessage":"Use additionalMetricsToRetainV2." + }, + "additionalMetricsToRetainV2":{ + "shape":"AdditionalMetricsToRetainV2List", + "documentation":"

A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The updated version of the security profile.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The time the security profile was created.

" + }, + "lastModifiedDate":{ + "shape":"Timestamp", + "documentation":"

The time the security profile was last modified.

" } - }, - "error":{"httpStatusCode":401}, - "exception":true, - "documentation":"

You are not authorized to perform this operation.

" + } }, - "UndoDeprecate":{"type":"boolean"}, - "UpdateCACertificateRequest":{ + "UpdateStreamRequest":{ "type":"structure", - "required":["certificateId"], + "required":["streamId"], "members":{ - "certificateId":{ - "shape":"CertificateId", + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

", "location":"uri", - "locationName":"caCertificateId", - "documentation":"

The CA certificate identifier.

" + "locationName":"streamId" }, - "newStatus":{ - "shape":"CACertificateStatus", - "location":"querystring", - "locationName":"newStatus", - "documentation":"

The updated status of the CA certificate.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "description":{ + "shape":"StreamDescription", + "documentation":"

The description of the stream.

" }, - "newAutoRegistrationStatus":{ - "shape":"AutoRegistrationStatus", - "location":"querystring", - "locationName":"newAutoRegistrationStatus", - "documentation":"

The new value for the auto registration status. Valid values are: \"ENABLE\" or \"DISABLE\".

" + "files":{ + "shape":"StreamFiles", + "documentation":"

The files associated with the stream.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

An IAM role that allows the IoT service principal assumes to access your S3 files.

" } - }, - "documentation":"

The input to the UpdateCACertificate operation.

" + } }, - "UpdateCertificateRequest":{ + "UpdateStreamResponse":{ + "type":"structure", + "members":{ + "streamId":{ + "shape":"StreamId", + "documentation":"

The stream ID.

" + }, + "streamArn":{ + "shape":"StreamArn", + "documentation":"

The stream ARN.

" + }, + "description":{ + "shape":"StreamDescription", + "documentation":"

A description of the stream.

" + }, + "streamVersion":{ + "shape":"StreamVersion", + "documentation":"

The stream version.

" + } + } + }, + "UpdateThingGroupRequest":{ "type":"structure", "required":[ - "certificateId", - "newStatus" + "thingGroupName", + "thingGroupProperties" ], "members":{ - "certificateId":{ - "shape":"CertificateId", + "thingGroupName":{ + "shape":"ThingGroupName", + "documentation":"

The thing group to update.

", "location":"uri", - "locationName":"certificateId", - "documentation":"

The ID of the certificate.

" + "locationName":"thingGroupName" }, - "newStatus":{ - "shape":"CertificateStatus", - "location":"querystring", - "locationName":"newStatus", - "documentation":"

The new status.

Note: Setting the status to PENDING_TRANSFER will result in an exception being thrown. PENDING_TRANSFER is a status used internally by AWS IoT. It is not intended for developer use.

Note: The status value REGISTER_INACTIVE is deprecated and should not be used.

" + "thingGroupProperties":{ + "shape":"ThingGroupProperties", + "documentation":"

The thing group properties.

" + }, + "expectedVersion":{ + "shape":"OptionalVersion", + "documentation":"

The expected version of the thing group. If this does not match the version of the thing group being updated, the update will fail.

" } - }, - "documentation":"

The input for the UpdateCertificate operation.

" + } + }, + "UpdateThingGroupResponse":{ + "type":"structure", + "members":{ + "version":{ + "shape":"Version", + "documentation":"

The version of the updated thing group.

" + } + } + }, + "UpdateThingGroupsForThingRequest":{ + "type":"structure", + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing whose group memberships will be updated.

" + }, + "thingGroupsToAdd":{ + "shape":"ThingGroupList", + "documentation":"

The groups to which the thing will be added.

" + }, + "thingGroupsToRemove":{ + "shape":"ThingGroupList", + "documentation":"

The groups from which the thing will be removed.

" + }, + "overrideDynamicGroups":{ + "shape":"OverrideDynamicGroups", + "documentation":"

Override dynamic thing groups with static thing groups when 10-group limit is reached. If a thing belongs to 10 thing groups, and one or more of those groups are dynamic thing groups, adding a thing to a static group removes the thing from the last dynamic group.

" + } + } + }, + "UpdateThingGroupsForThingResponse":{ + "type":"structure", + "members":{ + } }, "UpdateThingRequest":{ "type":"structure", @@ -5955,9 +15795,9 @@ "members":{ "thingName":{ "shape":"ThingName", + "documentation":"

The name of the thing to update.

You can't change a thing's name. To change a thing's name, you must create a new thing, give it the new name, and then delete the old thing.

", "location":"uri", - "locationName":"thingName", - "documentation":"

The name of the thing to update.

" + "locationName":"thingName" }, "thingTypeName":{ "shape":"ThingTypeName", @@ -5965,7 +15805,7 @@ }, "attributePayload":{ "shape":"AttributePayload", - "documentation":"

A list of thing attributes, a JSON string containing name-value pairs. For example:

{\\\"attributes\\\":{\\\"name1\\\":\\\"value2\\\"}})

This data is used to add new attributes or update existing attributes.

" + "documentation":"

A list of thing attributes, a JSON string containing name-value pairs. For example:

{\\\"attributes\\\":{\\\"name1\\\":\\\"value2\\\"}}

This data is used to add new attributes or update existing attributes.

" }, "expectedVersion":{ "shape":"OptionalVersion", @@ -5973,7 +15813,7 @@ }, "removeThingType":{ "shape":"RemoveThingType", - "documentation":"

Remove a thing type association. If true, the assocation is removed.

" + "documentation":"

Remove a thing type association. If true, the association is removed.

" } }, "documentation":"

The input for the UpdateThing operation.

" @@ -5984,7 +15824,73 @@ }, "documentation":"

The output from the UpdateThing operation.

" }, + "UpdateTopicRuleDestinationRequest":{ + "type":"structure", + "required":[ + "arn", + "status" + ], + "members":{ + "arn":{ + "shape":"AwsArn", + "documentation":"

The ARN of the topic rule destination.

" + }, + "status":{ + "shape":"TopicRuleDestinationStatus", + "documentation":"

The status of the topic rule destination. Valid values are:

IN_PROGRESS

A topic rule destination was created but has not been confirmed. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

ENABLED

Confirmation was completed, and traffic to this destination is allowed. You can set status to DISABLED by calling UpdateTopicRuleDestination.

DISABLED

Confirmation was completed, and traffic to this destination is not allowed. You can set status to ENABLED by calling UpdateTopicRuleDestination.

ERROR

Confirmation could not be completed, for example if the confirmation timed out. You can call GetTopicRuleDestination for details about the error. You can set status to IN_PROGRESS by calling UpdateTopicRuleDestination. Calling UpdateTopicRuleDestination causes a new confirmation challenge to be sent to your confirmation endpoint.

" + } + } + }, + "UpdateTopicRuleDestinationResponse":{ + "type":"structure", + "members":{ + } + }, + "Url":{ + "type":"string", + "max":2000 + }, "UseBase64":{"type":"boolean"}, + "Valid":{"type":"boolean"}, + "ValidateSecurityProfileBehaviorsRequest":{ + "type":"structure", + "required":["behaviors"], + "members":{ + "behaviors":{ + "shape":"Behaviors", + "documentation":"

Specifies the behaviors that, when violated by a device (thing), cause an alert.

" + } + } + }, + "ValidateSecurityProfileBehaviorsResponse":{ + "type":"structure", + "members":{ + "valid":{ + "shape":"Valid", + "documentation":"

True if the behaviors were valid.

" + }, + "validationErrors":{ + "shape":"ValidationErrors", + "documentation":"

The list of any errors found in the behaviors.

" + } + } + }, + "ValidationError":{ + "type":"structure", + "members":{ + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The description of an error found in the behaviors.

" + } + }, + "documentation":"

Information about an error found in a behavior specification.

" + }, + "ValidationErrors":{ + "type":"list", + "member":{"shape":"ValidationError"} + }, + "Value":{"type":"string"}, + "Variance":{"type":"double"}, "Version":{"type":"long"}, "VersionConflictException":{ "type":"structure", @@ -5994,10 +15900,11 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

An exception thrown when the version of an entity specified with the expectedVersion parameter does not match the latest version in the system.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

An exception thrown when the version of a thing passed to a command is different than the version specified with the --version parameter.

" + "exception":true }, + "VersionNumber":{"type":"long"}, "VersionsLimitExceededException":{ "type":"structure", "members":{ @@ -6006,14 +15913,66 @@ "documentation":"

The message for the exception.

" } }, + "documentation":"

The number of policy versions exceeds the limit.

", "error":{"httpStatusCode":409}, - "exception":true, - "documentation":"

The number of policy versions exceeds the limit.

" + "exception":true + }, + "ViolationEvent":{ + "type":"structure", + "members":{ + "violationId":{ + "shape":"ViolationId", + "documentation":"

The ID of the violation event.

" + }, + "thingName":{ + "shape":"DeviceDefenderThingName", + "documentation":"

The name of the thing responsible for the violation event.

" + }, + "securityProfileName":{ + "shape":"SecurityProfileName", + "documentation":"

The name of the security profile whose behavior was violated.

" + }, + "behavior":{ + "shape":"Behavior", + "documentation":"

The behavior which was violated.

" + }, + "metricValue":{ + "shape":"MetricValue", + "documentation":"

The value of the metric (the measurement).

" + }, + "violationEventType":{ + "shape":"ViolationEventType", + "documentation":"

The type of violation event.

" + }, + "violationEventTime":{ + "shape":"Timestamp", + "documentation":"

The time the violation event occurred.

" + } + }, + "documentation":"

Information about a Device Defender security profile behavior violation.

" + }, + "ViolationEventType":{ + "type":"string", + "enum":[ + "in-alarm", + "alarm-cleared", + "alarm-invalidated" + ] + }, + "ViolationEvents":{ + "type":"list", + "member":{"shape":"ViolationEvent"} + }, + "ViolationId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\-]+" }, + "WaitingForDataCollectionChecksCount":{"type":"integer"}, "errorMessage":{"type":"string"}, "resourceArn":{"type":"string"}, "resourceId":{"type":"string"} }, - "examples":{ - } + "documentation":"AWS IoT

AWS IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the AWS cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.

The service endpoints that expose this API are listed in AWS IoT Core Endpoints and Quotas. You must use the endpoint for the region that has the resources you want to access.

The service name used by AWS Signature Version 4 to sign the request is: execute-api.

For more information about how AWS IoT works, see the Developer Guide.

For information about how to use the credentials provider for AWS IoT, see Authorizing Direct Calls to AWS Services.

" } diff -Nru python-botocore-1.4.70/botocore/data/iot1click-devices/2018-05-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iot1click-devices/2018-05-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/iot1click-devices/2018-05-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot1click-devices/2018-05-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListDeviceEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Events" + }, + "ListDevices": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Devices" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot1click-devices/2018-05-14/service-2.json python-botocore-1.16.19+repack/botocore/data/iot1click-devices/2018-05-14/service-2.json --- python-botocore-1.4.70/botocore/data/iot1click-devices/2018-05-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot1click-devices/2018-05-14/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1042 @@ +{ + "metadata" : { + "apiVersion" : "2018-05-14", + "endpointPrefix" : "devices.iot1click", + "signingName" : "iot1click", + "serviceFullName" : "AWS IoT 1-Click Devices Service", + "serviceId" : "IoT 1Click Devices Service", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "devices-2018-05-14", + "signatureVersion" : "v4" + }, + "operations" : { + "ClaimDevicesByClaimCode" : { + "name" : "ClaimDevicesByClaimCode", + "http" : { + "method" : "PUT", + "requestUri" : "/claims/{claimCode}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ClaimDevicesByClaimCodeRequest" + }, + "output" : { + "shape" : "ClaimDevicesByClaimCodeResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + }, { + "shape" : "ForbiddenException", + "documentation" : "

403 response

" + } ], + "documentation" : "

Adds device(s) to your account (i.e., claim one or more devices) if and only if you\n received a claim code with the device(s).

" + }, + "DescribeDevice" : { + "name" : "DescribeDevice", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeDeviceRequest" + }, + "output" : { + "shape" : "DescribeDeviceResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Given a device ID, returns a DescribeDeviceResponse object describing the\n details of the device.

" + }, + "FinalizeDeviceClaim" : { + "name" : "FinalizeDeviceClaim", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/finalize-claim", + "responseCode" : 200 + }, + "input" : { + "shape" : "FinalizeDeviceClaimRequest" + }, + "output" : { + "shape" : "FinalizeDeviceClaimResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + }, { + "shape" : "PreconditionFailedException", + "documentation" : "

412 response

" + }, { + "shape" : "ResourceConflictException", + "documentation" : "

409 response

" + } ], + "documentation" : "

Given a device ID, finalizes the claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.

\n
" + }, + "GetDeviceMethods" : { + "name" : "GetDeviceMethods", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}/methods", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetDeviceMethodsRequest" + }, + "output" : { + "shape" : "GetDeviceMethodsResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Given a device ID, returns the invokable methods associated with the device.

" + }, + "InitiateDeviceClaim" : { + "name" : "InitiateDeviceClaim", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/initiate-claim", + "responseCode" : 200 + }, + "input" : { + "shape" : "InitiateDeviceClaimRequest" + }, + "output" : { + "shape" : "InitiateDeviceClaimResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + }, { + "shape" : "ResourceConflictException", + "documentation" : "

409 response

" + } ], + "documentation" : "

Given a device ID, initiates a claim request for the associated device.

\n

Claiming a device consists of initiating a claim, then publishing a device event,\n and finalizing the claim. For a device of type button, a device event can\n be published by simply clicking the device.

\n
" + }, + "InvokeDeviceMethod" : { + "name" : "InvokeDeviceMethod", + "http" : { + "method" : "POST", + "requestUri" : "/devices/{deviceId}/methods", + "responseCode" : 200 + }, + "input" : { + "shape" : "InvokeDeviceMethodRequest" + }, + "output" : { + "shape" : "InvokeDeviceMethodResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "PreconditionFailedException", + "documentation" : "

412 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + }, { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "RangeNotSatisfiableException", + "documentation" : "

416 response

" + }, { + "shape" : "ResourceConflictException", + "documentation" : "

409 response

" + } ], + "documentation" : "

Given a device ID, issues a request to invoke a named device method (with possible\n parameters). See the \"Example POST\" code snippet below.

" + }, + "ListDeviceEvents" : { + "name" : "ListDeviceEvents", + "http" : { + "method" : "GET", + "requestUri" : "/devices/{deviceId}/events", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDeviceEventsRequest" + }, + "output" : { + "shape" : "ListDeviceEventsResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "RangeNotSatisfiableException", + "documentation" : "

416 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Using a device ID, returns a DeviceEventsResponse object containing an\n array of events for the device.

" + }, + "ListDevices" : { + "name" : "ListDevices", + "http" : { + "method" : "GET", + "requestUri" : "/devices", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListDevicesRequest" + }, + "output" : { + "shape" : "ListDevicesResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "RangeNotSatisfiableException", + "documentation" : "

416 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Lists the 1-Click compatible devices associated with your AWS account.

" + }, + "ListTagsForResource" : { + "name" : "ListTagsForResource", + "http" : { + "method" : "GET", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsForResourceRequest" + }, + "output" : { + "shape" : "ListTagsForResourceResponse" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Lists the tags associated with the specified resource ARN.

" + }, + "TagResource" : { + "name" : "TagResource", + "http" : { + "method" : "POST", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "TagResourceRequest" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Adds or updates the tags associated with the resource ARN. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per\n resource.

" + }, + "UnclaimDevice" : { + "name" : "UnclaimDevice", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/unclaim", + "responseCode" : 200 + }, + "input" : { + "shape" : "UnclaimDeviceRequest" + }, + "output" : { + "shape" : "UnclaimDeviceResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Disassociates a device from your AWS account using its device ID.

" + }, + "UntagResource" : { + "name" : "UntagResource", + "http" : { + "method" : "DELETE", + "requestUri" : "/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "UntagResourceRequest" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Using tag keys, deletes the tags (key/value pairs) associated with the specified\n resource ARN.

" + }, + "UpdateDeviceState" : { + "name" : "UpdateDeviceState", + "http" : { + "method" : "PUT", + "requestUri" : "/devices/{deviceId}/state", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateDeviceStateRequest" + }, + "output" : { + "shape" : "UpdateDeviceStateResponse", + "documentation" : "

200 response

" + }, + "errors" : [ { + "shape" : "ResourceNotFoundException", + "documentation" : "

404 response

" + }, { + "shape" : "InvalidRequestException", + "documentation" : "

400 response

" + }, { + "shape" : "InternalFailureException", + "documentation" : "

500 response

" + } ], + "documentation" : "

Using a Boolean value (true or false), this operation\n enables or disables the device given a device ID.

" + } + }, + "shapes" : { + "Attributes" : { + "type" : "structure", + "members" : { } + }, + "ClaimDevicesByClaimCodeRequest" : { + "type" : "structure", + "members" : { + "ClaimCode" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "claimCode", + "documentation" : "

The claim code, starting with \"C-\", as provided by the device manufacturer.

" + } + }, + "required" : [ "ClaimCode" ] + }, + "ClaimDevicesByClaimCodeResponse" : { + "type" : "structure", + "members" : { + "ClaimCode" : { + "shape" : "__stringMin12Max40", + "locationName" : "claimCode", + "documentation" : "

The claim code provided by the device manufacturer.

" + }, + "Total" : { + "shape" : "__integer", + "locationName" : "total", + "documentation" : "

The total number of devices associated with the claim code that has been processed in\n the claim request.

" + } + } + }, + "DescribeDeviceRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + } + }, + "required" : [ "DeviceId" ] + }, + "DescribeDeviceResponse" : { + "type" : "structure", + "members" : { + "DeviceDescription" : { + "shape" : "DeviceDescription", + "locationName" : "deviceDescription", + "documentation" : "

Device details.

" + } + } + }, + "Device" : { + "type" : "structure", + "members" : { + "Attributes" : { + "shape" : "Attributes", + "locationName" : "attributes", + "documentation" : "

The user specified attributes associated with the device for an event.

" + }, + "DeviceId" : { + "shape" : "__string", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "Type" : { + "shape" : "__string", + "locationName" : "type", + "documentation" : "

The device type, such as \"button\".

" + } + } + }, + "DeviceAttributes" : { + "type" : "map", + "documentation" : "

\n DeviceAttributes is a string-to-string map specified by the user.

", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "DeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state", + "documentation" : "

The device's final claim state.

" + } + } + }, + "DeviceDescription" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "

The ARN of the device.

" + }, + "Attributes" : { + "shape" : "DeviceAttributes", + "locationName" : "attributes", + "documentation" : "

An array of zero or more elements of DeviceAttribute objects providing\n user specified device attributes.

" + }, + "DeviceId" : { + "shape" : "__string", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled", + "documentation" : "

A Boolean value indicating whether or not the device is enabled.

" + }, + "RemainingLife" : { + "shape" : "__doubleMin0Max100", + "locationName" : "remainingLife", + "documentation" : "

A value between 0 and 1 inclusive, representing the fraction of life remaining for the\n device.

" + }, + "Type" : { + "shape" : "__string", + "locationName" : "type", + "documentation" : "

The type of the device, such as \"button\".

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

The tags currently associated with the AWS IoT 1-Click device.

" + } + } + }, + "DeviceEvent" : { + "type" : "structure", + "members" : { + "Device" : { + "shape" : "Device", + "locationName" : "device", + "documentation" : "

An object representing the device associated with the event.

" + }, + "StdEvent" : { + "shape" : "__string", + "locationName" : "stdEvent", + "documentation" : "

A serialized JSON object representing the device-type specific event.

" + } + } + }, + "DeviceEventsResponse" : { + "type" : "structure", + "members" : { + "Events" : { + "shape" : "__listOfDeviceEvent", + "locationName" : "events", + "documentation" : "

An array of zero or more elements describing the event(s) associated with the\n device.

" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

The token to retrieve the next set of results.

" + } + } + }, + "DeviceMethod" : { + "type" : "structure", + "members" : { + "DeviceType" : { + "shape" : "__string", + "locationName" : "deviceType", + "documentation" : "

The type of the device, such as \"button\".

" + }, + "MethodName" : { + "shape" : "__string", + "locationName" : "methodName", + "documentation" : "

The name of the method applicable to the deviceType.

" + } + } + }, + "Empty" : { + "type" : "structure", + "members" : { }, + "documentation" : "

On success, an empty object is returned.

" + }, + "FinalizeDeviceClaimRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" + } + }, + "required" : [ "DeviceId" ] + }, + "FinalizeDeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state", + "documentation" : "

The device's final claim state.

" + } + } + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

403

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

The 403 error message returned by the web server.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "GetDeviceMethodsRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + } + }, + "required" : [ "DeviceId" ] + }, + "GetDeviceMethodsResponse" : { + "type" : "structure", + "members" : { + "DeviceMethods" : { + "shape" : "__listOfDeviceMethod", + "locationName" : "deviceMethods", + "documentation" : "

List of available device APIs.

" + } + } + }, + "InitiateDeviceClaimRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + } + }, + "required" : [ "DeviceId" ] + }, + "InitiateDeviceClaimResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state", + "documentation" : "

The device's final claim state.

" + } + } + }, + "InternalFailureException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

500

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

The 500 error message returned by the web server.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "InvalidRequestException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

400

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

The 400 error message returned by the web server.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "InvokeDeviceMethodRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "DeviceMethod" : { + "shape" : "DeviceMethod", + "locationName" : "deviceMethod", + "documentation" : "

The device method to invoke.

" + }, + "DeviceMethodParameters" : { + "shape" : "__string", + "locationName" : "deviceMethodParameters", + "documentation" : "

A JSON encoded string containing the device method request parameters.

" + } + }, + "required" : [ "DeviceId" ] + }, + "InvokeDeviceMethodResponse" : { + "type" : "structure", + "members" : { + "DeviceMethodResponse" : { + "shape" : "__string", + "locationName" : "deviceMethodResponse", + "documentation" : "

A JSON encoded string containing the device method response.

" + } + } + }, + "ListDeviceEventsRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "FromTimeStamp" : { + "shape" : "__timestampIso8601", + "location" : "querystring", + "locationName" : "fromTimeStamp", + "documentation" : "

The start date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n

" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of results to return per request. If not set, a default value of\n 100 is used.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The token to retrieve the next set of results.

" + }, + "ToTimeStamp" : { + "shape" : "__timestampIso8601", + "location" : "querystring", + "locationName" : "toTimeStamp", + "documentation" : "

The end date for the device event query, in ISO8061 format. For example,\n 2018-03-28T15:45:12.880Z\n

" + } + }, + "required" : [ "DeviceId", "FromTimeStamp", "ToTimeStamp" ] + }, + "ListDeviceEventsResponse" : { + "type" : "structure", + "members" : { + "Events" : { + "shape" : "__listOfDeviceEvent", + "locationName" : "events", + "documentation" : "

An array of zero or more elements describing the event(s) associated with the\n device.

" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

The token to retrieve the next set of results.

" + } + } + }, + "ListDevicesRequest" : { + "type" : "structure", + "members" : { + "DeviceType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "deviceType", + "documentation" : "

The type of the device, such as \"button\".

" + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "

The maximum number of results to return per request. If not set, a default value of\n 100 is used.

" + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

The token to retrieve the next set of results.

" + } + } + }, + "ListDevicesResponse" : { + "type" : "structure", + "members" : { + "Devices" : { + "shape" : "__listOfDeviceDescription", + "locationName" : "devices", + "documentation" : "

A list of devices.

" + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

The token to retrieve the next set of results.

" + } + } + }, + "ListTagsForResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsForResourceResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" + } + } + }, + "MaxResults" : { + "type" : "integer", + "min" : 1, + "max" : 250 + }, + "PreconditionFailedException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

412

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

An error message explaining the error or its remedy.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 412 + } + }, + "RangeNotSatisfiableException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

416

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

The requested number of results specified by nextToken cannot be\n satisfied.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 416 + } + }, + "ResourceConflictException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

409

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

An error message explaining the error or its remedy.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "ResourceNotFoundException" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code", + "documentation" : "

404

" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

The requested device could not be found.

" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "TagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "

A collection of key/value pairs defining the resource tags. For example, {\n \"tags\": {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS\n Tagging Strategies.

\n \n

" + } + }, + "required" : [ "ResourceArn", "Tags" ] + }, + "UnclaimDeviceRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + } + }, + "required" : [ "DeviceId" ] + }, + "UnclaimDeviceResponse" : { + "type" : "structure", + "members" : { + "State" : { + "shape" : "__string", + "locationName" : "state", + "documentation" : "

The device's final claim state.

" + } + } + }, + "UntagResourceRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "

The ARN of the resource.

" + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "

A collections of tag keys. For example, {\"key1\",\"key2\"}

" + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, + "UpdateDeviceStateRequest" : { + "type" : "structure", + "members" : { + "DeviceId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "deviceId", + "documentation" : "

The unique identifier of the device.

" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled", + "documentation" : "

If true, the device is enabled. If false, the device is\n disabled.

" + } + }, + "required" : [ "DeviceId" ] + }, + "UpdateDeviceStateResponse" : { + "type" : "structure", + "members" : { } + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__doubleMin0Max100" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__listOfDeviceDescription" : { + "type" : "list", + "member" : { + "shape" : "DeviceDescription" + } + }, + "__listOfDeviceEvent" : { + "type" : "list", + "member" : { + "shape" : "DeviceEvent" + } + }, + "__listOfDeviceMethod" : { + "type" : "list", + "member" : { + "shape" : "DeviceMethod" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "__string" : { + "type" : "string" + }, + "__stringMin12Max40" : { + "type" : "string", + "min" : 12, + "max" : 40 + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "

Describes all of the AWS IoT 1-Click device-related API operations for the service.\n Also provides sample requests, responses, and errors for the supported web services\n protocols.

" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/examples-1.json python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/examples-1.json --- python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListPlacements": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "placements" + }, + "ListProjects": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "projects" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/service-2.json python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/service-2.json --- python-botocore-1.4.70/botocore/data/iot1click-projects/2018-05-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot1click-projects/2018-05-14/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1070 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-14", + "endpointPrefix":"projects.iot1click", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWS IoT 1-Click Projects", + "serviceFullName":"AWS IoT 1-Click Projects Service", + "serviceId":"IoT 1Click Projects", + "signatureVersion":"v4", + "signingName":"iot1click", + "uid":"iot1click-projects-2018-05-14" + }, + "operations":{ + "AssociateDeviceWithPlacement":{ + "name":"AssociateDeviceWithPlacement", + "http":{ + "method":"PUT", + "requestUri":"/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}" + }, + "input":{"shape":"AssociateDeviceWithPlacementRequest"}, + "output":{"shape":"AssociateDeviceWithPlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Associates a physical device with a placement.

" + }, + "CreatePlacement":{ + "name":"CreatePlacement", + "http":{ + "method":"POST", + "requestUri":"/projects/{projectName}/placements" + }, + "input":{"shape":"CreatePlacementRequest"}, + "output":{"shape":"CreatePlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates an empty placement.

" + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/projects" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Creates an empty project with a placement template. A project contains zero or more placements that adhere to the placement template defined in the project.

" + }, + "DeletePlacement":{ + "name":"DeletePlacement", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectName}/placements/{placementName}" + }, + "input":{"shape":"DeletePlacementRequest"}, + "output":{"shape":"DeletePlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes a placement. To delete a placement, it must not have any devices associated with it.

When you delete a placement, all associated data becomes irretrievable.

" + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes a project. To delete a project, it must not have any placements associated with it.

When you delete a project, all associated data becomes irretrievable.

" + }, + "DescribePlacement":{ + "name":"DescribePlacement", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}/placements/{placementName}" + }, + "input":{"shape":"DescribePlacementRequest"}, + "output":{"shape":"DescribePlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a placement in a project.

" + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns an object describing a project.

" + }, + "DisassociateDeviceFromPlacement":{ + "name":"DisassociateDeviceFromPlacement", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectName}/placements/{placementName}/devices/{deviceTemplateName}" + }, + "input":{"shape":"DisassociateDeviceFromPlacementRequest"}, + "output":{"shape":"DisassociateDeviceFromPlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a physical device from a placement.

" + }, + "GetDevicesInPlacement":{ + "name":"GetDevicesInPlacement", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}/placements/{placementName}/devices" + }, + "input":{"shape":"GetDevicesInPlacementRequest"}, + "output":{"shape":"GetDevicesInPlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns an object enumerating the devices in a placement.

" + }, + "ListPlacements":{ + "name":"ListPlacements", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectName}/placements" + }, + "input":{"shape":"ListPlacementsRequest"}, + "output":{"shape":"ListPlacementsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the placement(s) of a project.

" + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/projects" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Lists the AWS IoT 1-Click project(s) associated with your AWS account and region.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags (metadata key/value pairs) which you have assigned to the resource.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Creates or modifies tags for a resource. Tags are key/value pairs (metadata) that can be used to manage a resource. For more information, see AWS Tagging Strategies.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes one or more tags (metadata key/value pairs) from a resource.

" + }, + "UpdatePlacement":{ + "name":"UpdatePlacement", + "http":{ + "method":"PUT", + "requestUri":"/projects/{projectName}/placements/{placementName}" + }, + "input":{"shape":"UpdatePlacementRequest"}, + "output":{"shape":"UpdatePlacementResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates a placement with the given attributes. To clear an attribute, pass an empty value (i.e., \"\").

" + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"PUT", + "requestUri":"/projects/{projectName}" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates a project associated with your AWS account and region. With the exception of device template names, you can pass just the values that need to be updated because the update request will change only the values that are provided. To clear a value, pass the empty string (i.e., \"\").

" + } + }, + "shapes":{ + "AssociateDeviceWithPlacementRequest":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "deviceId", + "deviceTemplateName" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project containing the placement in which to associate the device.

", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement in which to associate the device.

", + "location":"uri", + "locationName":"placementName" + }, + "deviceId":{ + "shape":"DeviceId", + "documentation":"

The ID of the physical device to be associated with the given placement in the project. Note that a mandatory 4 character prefix is required for all deviceId values.

" + }, + "deviceTemplateName":{ + "shape":"DeviceTemplateName", + "documentation":"

The device template name to associate with the device ID.

", + "location":"uri", + "locationName":"deviceTemplateName" + } + } + }, + "AssociateDeviceWithPlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "AttributeDefaultValue":{ + "type":"string", + "max":800 + }, + "AttributeName":{ + "type":"string", + "max":128, + "min":1 + }, + "AttributeValue":{ + "type":"string", + "max":800 + }, + "Code":{"type":"string"}, + "CreatePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement to be created.

" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project in which to create the placement.

", + "location":"uri", + "locationName":"projectName" + }, + "attributes":{ + "shape":"PlacementAttributeMap", + "documentation":"

Optional user-defined key/value pairs providing contextual data (such as location or function) for the placement.

" + } + } + }, + "CreatePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project to create.

" + }, + "description":{ + "shape":"Description", + "documentation":"

An optional description for the project.

" + }, + "placementTemplate":{ + "shape":"PlacementTemplate", + "documentation":"

The schema defining the placement to be created. A placement template defines placement default attributes and device templates. You cannot add or remove device templates after the project has been created. However, you can update callbackOverrides for the device templates using the UpdateProject API.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

Optional tags (metadata key/value pairs) to be associated with the project. For example, { {\"key1\": \"value1\", \"key2\": \"value2\"} }. For more information, see AWS Tagging Strategies.

" + } + } + }, + "CreateProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DefaultPlacementAttributeMap":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeDefaultValue"} + }, + "DeletePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the empty placement to delete.

", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The project containing the empty placement to delete.

", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DeletePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the empty project to delete.

", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DeleteProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement within a project.

", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The project containing the placement to be described.

", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DescribePlacementResponse":{ + "type":"structure", + "required":["placement"], + "members":{ + "placement":{ + "shape":"PlacementDescription", + "documentation":"

An object describing the placement.

" + } + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project to be described.

", + "location":"uri", + "locationName":"projectName" + } + } + }, + "DescribeProjectResponse":{ + "type":"structure", + "required":["project"], + "members":{ + "project":{ + "shape":"ProjectDescription", + "documentation":"

An object describing the project.

" + } + } + }, + "Description":{ + "type":"string", + "max":500, + "min":0 + }, + "DeviceCallbackKey":{ + "type":"string", + "max":128, + "min":1 + }, + "DeviceCallbackOverrideMap":{ + "type":"map", + "key":{"shape":"DeviceCallbackKey"}, + "value":{"shape":"DeviceCallbackValue"} + }, + "DeviceCallbackValue":{ + "type":"string", + "max":200 + }, + "DeviceId":{ + "type":"string", + "max":32, + "min":1 + }, + "DeviceMap":{ + "type":"map", + "key":{"shape":"DeviceTemplateName"}, + "value":{"shape":"DeviceId"} + }, + "DeviceTemplate":{ + "type":"structure", + "members":{ + "deviceType":{ + "shape":"DeviceType", + "documentation":"

The device type, which currently must be \"button\".

" + }, + "callbackOverrides":{ + "shape":"DeviceCallbackOverrideMap", + "documentation":"

An optional Lambda function to invoke instead of the default Lambda function provided by the placement template.

" + } + }, + "documentation":"

An object representing a device for a placement template (see PlacementTemplate).

" + }, + "DeviceTemplateMap":{ + "type":"map", + "key":{"shape":"DeviceTemplateName"}, + "value":{"shape":"DeviceTemplate"} + }, + "DeviceTemplateName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "DeviceType":{ + "type":"string", + "max":128 + }, + "DisassociateDeviceFromPlacementRequest":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "deviceTemplateName" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project that contains the placement.

", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement that the device should be removed from.

", + "location":"uri", + "locationName":"placementName" + }, + "deviceTemplateName":{ + "shape":"DeviceTemplateName", + "documentation":"

The device ID that should be removed from the placement.

", + "location":"uri", + "locationName":"deviceTemplateName" + } + } + }, + "DisassociateDeviceFromPlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "GetDevicesInPlacementRequest":{ + "type":"structure", + "required":[ + "projectName", + "placementName" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project containing the placement.

", + "location":"uri", + "locationName":"projectName" + }, + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement to get the devices from.

", + "location":"uri", + "locationName":"placementName" + } + } + }, + "GetDevicesInPlacementResponse":{ + "type":"structure", + "required":["devices"], + "members":{ + "devices":{ + "shape":"DeviceMap", + "documentation":"

An object containing the devices (zero or more) within the placement.

" + } + } + }, + "InternalFailureException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "documentation":"

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "documentation":"

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListPlacementsRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The project containing the placements to be listed.

", + "location":"uri", + "locationName":"projectName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return per request. If not set, a default value of 100 is used.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPlacementsResponse":{ + "type":"structure", + "required":["placements"], + "members":{ + "placements":{ + "shape":"PlacementSummaryList", + "documentation":"

An object listing the requested placements.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

" + } + } + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return per request. If not set, a default value of 100 is used.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProjectsResponse":{ + "type":"structure", + "required":["projects"], + "members":{ + "projects":{ + "shape":"ProjectSummaryList", + "documentation":"

An object containing the list of projects.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token used to retrieve the next set of results - will be effectively empty if there are no further results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resource whose tags you want to list.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) which you have assigned to the resource.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "Message":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "PlacementAttributeMap":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "PlacementDescription":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "attributes", + "createdDate", + "updatedDate" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project containing the placement.

" + }, + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement.

" + }, + "attributes":{ + "shape":"PlacementAttributeMap", + "documentation":"

The user-defined attributes associated with the placement.

" + }, + "createdDate":{ + "shape":"Time", + "documentation":"

The date when the placement was initially created, in UNIX epoch time format.

" + }, + "updatedDate":{ + "shape":"Time", + "documentation":"

The date when the placement was last updated, in UNIX epoch time format. If the placement was not updated, then createdDate and updatedDate are the same.

" + } + }, + "documentation":"

An object describing a project's placement.

" + }, + "PlacementName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "PlacementSummary":{ + "type":"structure", + "required":[ + "projectName", + "placementName", + "createdDate", + "updatedDate" + ], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project containing the placement.

" + }, + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement being summarized.

" + }, + "createdDate":{ + "shape":"Time", + "documentation":"

The date when the placement was originally created, in UNIX epoch time format.

" + }, + "updatedDate":{ + "shape":"Time", + "documentation":"

The date when the placement was last updated, in UNIX epoch time format. If the placement was not updated, then createdDate and updatedDate are the same.

" + } + }, + "documentation":"

An object providing summary information for a particular placement.

" + }, + "PlacementSummaryList":{ + "type":"list", + "member":{"shape":"PlacementSummary"} + }, + "PlacementTemplate":{ + "type":"structure", + "members":{ + "defaultAttributes":{ + "shape":"DefaultPlacementAttributeMap", + "documentation":"

The default attributes (key/value pairs) to be applied to all placements using this template.

" + }, + "deviceTemplates":{ + "shape":"DeviceTemplateMap", + "documentation":"

An object specifying the DeviceTemplate for all placements using this (PlacementTemplate) template.

" + } + }, + "documentation":"

An object defining the template for a placement.

" + }, + "ProjectArn":{ + "type":"string", + "pattern":"^arn:aws:iot1click:[A-Za-z0-9_/.-]{0,63}:\\d+:projects/[0-9A-Za-z_-]{1,128}$" + }, + "ProjectDescription":{ + "type":"structure", + "required":[ + "projectName", + "createdDate", + "updatedDate" + ], + "members":{ + "arn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the project.

" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project for which to obtain information from.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the project.

" + }, + "createdDate":{ + "shape":"Time", + "documentation":"

The date when the project was originally created, in UNIX epoch time format.

" + }, + "updatedDate":{ + "shape":"Time", + "documentation":"

The date when the project was last updated, in UNIX epoch time format. If the project was not updated, then createdDate and updatedDate are the same.

" + }, + "placementTemplate":{ + "shape":"PlacementTemplate", + "documentation":"

An object describing the project's placement specifications.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) associated with the project.

" + } + }, + "documentation":"

An object providing detailed information for a particular project associated with an AWS account and region.

" + }, + "ProjectName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9A-Za-z_-]+$" + }, + "ProjectSummary":{ + "type":"structure", + "required":[ + "projectName", + "createdDate", + "updatedDate" + ], + "members":{ + "arn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the project.

" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project being summarized.

" + }, + "createdDate":{ + "shape":"Time", + "documentation":"

The date when the project was originally created, in UNIX epoch time format.

" + }, + "updatedDate":{ + "shape":"Time", + "documentation":"

The date when the project was last updated, in UNIX epoch time format. If the project was not updated, then createdDate and updatedDate are the same.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The tags (metadata key/value pairs) associated with the project.

" + } + }, + "documentation":"

An object providing summary information for a particular project for an associated AWS account and region.

" + }, + "ProjectSummaryList":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "ResourceConflictException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "documentation":"

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "documentation":"

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resouce for which tag(s) should be added or modified.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

The new or modifying tag(s) for the resource. See AWS IoT 1-Click Service Limits for the maximum number of tags allowed per resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Time":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{"shape":"Code"}, + "message":{"shape":"Message"} + }, + "documentation":"

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ProjectArn", + "documentation":"

The ARN of the resource whose tag you want to remove.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of those tags which you want to remove.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdatePlacementRequest":{ + "type":"structure", + "required":[ + "placementName", + "projectName" + ], + "members":{ + "placementName":{ + "shape":"PlacementName", + "documentation":"

The name of the placement to update.

", + "location":"uri", + "locationName":"placementName" + }, + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project containing the placement to be updated.

", + "location":"uri", + "locationName":"projectName" + }, + "attributes":{ + "shape":"PlacementAttributeMap", + "documentation":"

The user-defined object of attributes used to update the placement. The maximum number of key/value pairs is 50.

" + } + } + }, + "UpdatePlacementResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{ + "shape":"ProjectName", + "documentation":"

The name of the project to be updated.

", + "location":"uri", + "locationName":"projectName" + }, + "description":{ + "shape":"Description", + "documentation":"

An optional user-defined description for the project.

" + }, + "placementTemplate":{ + "shape":"PlacementTemplate", + "documentation":"

An object defining the project update. Once a project has been created, you cannot add device template names to the project. However, for a given placementTemplate, you can update the associated callbackOverrides for the device definition using this API.

" + } + } + }, + "UpdateProjectResponse":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"

The AWS IoT 1-Click Projects API Reference

" +} diff -Nru python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/examples-1.json python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/examples-1.json --- python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListChannels": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "channelSummaries" + }, + "ListDatasetContents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetContentSummaries" + }, + "ListDatasets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetSummaries" + }, + "ListDatastores": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datastoreSummaries" + }, + "ListPipelines": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "pipelineSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/service-2.json python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/service-2.json --- python-botocore-1.4.70/botocore/data/iotanalytics/2017-11-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotanalytics/2017-11-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3148 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-27", + "endpointPrefix":"iotanalytics", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Analytics", + "serviceId":"IoTAnalytics", + "signatureVersion":"v4", + "signingName":"iotanalytics", + "uid":"iotanalytics-2017-11-27" + }, + "operations":{ + "BatchPutMessage":{ + "name":"BatchPutMessage", + "http":{ + "method":"POST", + "requestUri":"/messages/batch", + "responseCode":200 + }, + "input":{"shape":"BatchPutMessageRequest"}, + "output":{"shape":"BatchPutMessageResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Sends messages to a channel.

" + }, + "CancelPipelineReprocessing":{ + "name":"CancelPipelineReprocessing", + "http":{ + "method":"DELETE", + "requestUri":"/pipelines/{pipelineName}/reprocessing/{reprocessingId}" + }, + "input":{"shape":"CancelPipelineReprocessingRequest"}, + "output":{"shape":"CancelPipelineReprocessingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Cancels the reprocessing of data through the pipeline.

" + }, + "CreateChannel":{ + "name":"CreateChannel", + "http":{ + "method":"POST", + "requestUri":"/channels", + "responseCode":201 + }, + "input":{"shape":"CreateChannelRequest"}, + "output":{"shape":"CreateChannelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a channel. A channel collects data from an MQTT topic and archives the raw, unprocessed messages before publishing the data to a pipeline.

" + }, + "CreateDataset":{ + "name":"CreateDataset", + "http":{ + "method":"POST", + "requestUri":"/datasets", + "responseCode":201 + }, + "input":{"shape":"CreateDatasetRequest"}, + "output":{"shape":"CreateDatasetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a data set. A data set stores data retrieved from a data store by applying a \"queryAction\" (a SQL query) or a \"containerAction\" (executing a containerized application). This operation creates the skeleton of a data set. The data set can be populated manually by calling \"CreateDatasetContent\" or automatically according to a \"trigger\" you specify.

" + }, + "CreateDatasetContent":{ + "name":"CreateDatasetContent", + "http":{ + "method":"POST", + "requestUri":"/datasets/{datasetName}/content" + }, + "input":{"shape":"CreateDatasetContentRequest"}, + "output":{"shape":"CreateDatasetContentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Creates the content of a data set by applying a \"queryAction\" (a SQL query) or a \"containerAction\" (executing a containerized application).

" + }, + "CreateDatastore":{ + "name":"CreateDatastore", + "http":{ + "method":"POST", + "requestUri":"/datastores", + "responseCode":201 + }, + "input":{"shape":"CreateDatastoreRequest"}, + "output":{"shape":"CreateDatastoreResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a data store, which is a repository for messages.

" + }, + "CreatePipeline":{ + "name":"CreatePipeline", + "http":{ + "method":"POST", + "requestUri":"/pipelines", + "responseCode":201 + }, + "input":{"shape":"CreatePipelineRequest"}, + "output":{"shape":"CreatePipelineResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a pipeline. A pipeline consumes messages from a channel and allows you to process the messages before storing them in a data store. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array.

" + }, + "DeleteChannel":{ + "name":"DeleteChannel", + "http":{ + "method":"DELETE", + "requestUri":"/channels/{channelName}", + "responseCode":204 + }, + "input":{"shape":"DeleteChannelRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified channel.

" + }, + "DeleteDataset":{ + "name":"DeleteDataset", + "http":{ + "method":"DELETE", + "requestUri":"/datasets/{datasetName}", + "responseCode":204 + }, + "input":{"shape":"DeleteDatasetRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified data set.

You do not have to delete the content of the data set before you perform this operation.

" + }, + "DeleteDatasetContent":{ + "name":"DeleteDatasetContent", + "http":{ + "method":"DELETE", + "requestUri":"/datasets/{datasetName}/content", + "responseCode":204 + }, + "input":{"shape":"DeleteDatasetContentRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the content of the specified data set.

" + }, + "DeleteDatastore":{ + "name":"DeleteDatastore", + "http":{ + "method":"DELETE", + "requestUri":"/datastores/{datastoreName}", + "responseCode":204 + }, + "input":{"shape":"DeleteDatastoreRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified data store.

" + }, + "DeletePipeline":{ + "name":"DeletePipeline", + "http":{ + "method":"DELETE", + "requestUri":"/pipelines/{pipelineName}", + "responseCode":204 + }, + "input":{"shape":"DeletePipelineRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified pipeline.

" + }, + "DescribeChannel":{ + "name":"DescribeChannel", + "http":{ + "method":"GET", + "requestUri":"/channels/{channelName}" + }, + "input":{"shape":"DescribeChannelRequest"}, + "output":{"shape":"DescribeChannelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a channel.

" + }, + "DescribeDataset":{ + "name":"DescribeDataset", + "http":{ + "method":"GET", + "requestUri":"/datasets/{datasetName}" + }, + "input":{"shape":"DescribeDatasetRequest"}, + "output":{"shape":"DescribeDatasetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a data set.

" + }, + "DescribeDatastore":{ + "name":"DescribeDatastore", + "http":{ + "method":"GET", + "requestUri":"/datastores/{datastoreName}" + }, + "input":{"shape":"DescribeDatastoreRequest"}, + "output":{"shape":"DescribeDatastoreResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a data store.

" + }, + "DescribeLoggingOptions":{ + "name":"DescribeLoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/logging" + }, + "input":{"shape":"DescribeLoggingOptionsRequest"}, + "output":{"shape":"DescribeLoggingOptionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves the current settings of the AWS IoT Analytics logging options.

" + }, + "DescribePipeline":{ + "name":"DescribePipeline", + "http":{ + "method":"GET", + "requestUri":"/pipelines/{pipelineName}" + }, + "input":{"shape":"DescribePipelineRequest"}, + "output":{"shape":"DescribePipelineResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a pipeline.

" + }, + "GetDatasetContent":{ + "name":"GetDatasetContent", + "http":{ + "method":"GET", + "requestUri":"/datasets/{datasetName}/content" + }, + "input":{"shape":"GetDatasetContentRequest"}, + "output":{"shape":"GetDatasetContentResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves the contents of a data set as pre-signed URIs.

" + }, + "ListChannels":{ + "name":"ListChannels", + "http":{ + "method":"GET", + "requestUri":"/channels" + }, + "input":{"shape":"ListChannelsRequest"}, + "output":{"shape":"ListChannelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a list of channels.

" + }, + "ListDatasetContents":{ + "name":"ListDatasetContents", + "http":{ + "method":"GET", + "requestUri":"/datasets/{datasetName}/contents" + }, + "input":{"shape":"ListDatasetContentsRequest"}, + "output":{"shape":"ListDatasetContentsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists information about data set contents that have been created.

" + }, + "ListDatasets":{ + "name":"ListDatasets", + "http":{ + "method":"GET", + "requestUri":"/datasets" + }, + "input":{"shape":"ListDatasetsRequest"}, + "output":{"shape":"ListDatasetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about data sets.

" + }, + "ListDatastores":{ + "name":"ListDatastores", + "http":{ + "method":"GET", + "requestUri":"/datastores" + }, + "input":{"shape":"ListDatastoresRequest"}, + "output":{"shape":"ListDatastoresResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a list of data stores.

" + }, + "ListPipelines":{ + "name":"ListPipelines", + "http":{ + "method":"GET", + "requestUri":"/pipelines" + }, + "input":{"shape":"ListPipelinesRequest"}, + "output":{"shape":"ListPipelinesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a list of pipelines.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags (metadata) which you have assigned to the resource.

" + }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"PUT", + "requestUri":"/logging" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Sets or updates the AWS IoT Analytics logging options.

Note that if you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. Also, if you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy) it takes up to 5 minutes for that change to take effect.

" + }, + "RunPipelineActivity":{ + "name":"RunPipelineActivity", + "http":{ + "method":"POST", + "requestUri":"/pipelineactivities/run" + }, + "input":{"shape":"RunPipelineActivityRequest"}, + "output":{"shape":"RunPipelineActivityResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Simulates the results of running a pipeline activity on a message payload.

" + }, + "SampleChannelData":{ + "name":"SampleChannelData", + "http":{ + "method":"GET", + "requestUri":"/channels/{channelName}/sample" + }, + "input":{"shape":"SampleChannelDataRequest"}, + "output":{"shape":"SampleChannelDataResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a sample of messages from the specified channel ingested during the specified timeframe. Up to 10 messages can be retrieved.

" + }, + "StartPipelineReprocessing":{ + "name":"StartPipelineReprocessing", + "http":{ + "method":"POST", + "requestUri":"/pipelines/{pipelineName}/reprocessing" + }, + "input":{"shape":"StartPipelineReprocessingRequest"}, + "output":{"shape":"StartPipelineReprocessingResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Starts the reprocessing of raw message data through the pipeline.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes the given tags (metadata) from the resource.

" + }, + "UpdateChannel":{ + "name":"UpdateChannel", + "http":{ + "method":"PUT", + "requestUri":"/channels/{channelName}" + }, + "input":{"shape":"UpdateChannelRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the settings of a channel.

" + }, + "UpdateDataset":{ + "name":"UpdateDataset", + "http":{ + "method":"PUT", + "requestUri":"/datasets/{datasetName}" + }, + "input":{"shape":"UpdateDatasetRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the settings of a data set.

" + }, + "UpdateDatastore":{ + "name":"UpdateDatastore", + "http":{ + "method":"PUT", + "requestUri":"/datastores/{datastoreName}" + }, + "input":{"shape":"UpdateDatastoreRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the settings of a data store.

" + }, + "UpdatePipeline":{ + "name":"UpdatePipeline", + "http":{ + "method":"PUT", + "requestUri":"/pipelines/{pipelineName}" + }, + "input":{"shape":"UpdatePipelineRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Updates the settings of a pipeline. You must specify both a channel and a datastore activity and, optionally, as many as 23 additional activities in the pipelineActivities array.

" + } + }, + "shapes":{ + "ActivityBatchSize":{ + "type":"integer", + "max":1000, + "min":1 + }, + "ActivityName":{ + "type":"string", + "max":128, + "min":1 + }, + "AddAttributesActivity":{ + "type":"structure", + "required":[ + "name", + "attributes" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'addAttributes' activity.

" + }, + "attributes":{ + "shape":"AttributeNameMapping", + "documentation":"

A list of 1-50 \"AttributeNameMapping\" objects that map an existing attribute to a new attribute.

The existing attributes remain in the message, so if you want to remove the originals, use \"RemoveAttributeActivity\".

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that adds other attributes based on existing attributes in the message.

" + }, + "AttributeName":{ + "type":"string", + "max":256, + "min":1 + }, + "AttributeNameMapping":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeName"}, + "max":50, + "min":1 + }, + "AttributeNames":{ + "type":"list", + "member":{"shape":"AttributeName"}, + "max":50, + "min":1 + }, + "BatchPutMessageErrorEntries":{ + "type":"list", + "member":{"shape":"BatchPutMessageErrorEntry"} + }, + "BatchPutMessageErrorEntry":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID of the message that caused the error. (See the value corresponding to the \"messageId\" key in the message object.)

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code associated with the error.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The message associated with the error.

" + } + }, + "documentation":"

Contains informations about errors.

" + }, + "BatchPutMessageRequest":{ + "type":"structure", + "required":[ + "channelName", + "messages" + ], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel where the messages are sent.

" + }, + "messages":{ + "shape":"Messages", + "documentation":"

The list of messages to be sent. Each message has format: '{ \"messageId\": \"string\", \"payload\": \"string\"}'.

Note that the field names of message payloads (data) that you send to AWS IoT Analytics:

  • Must contain only alphanumeric characters and undescores (_); no other special characters are allowed.

  • Must begin with an alphabetic character or single underscore (_).

  • Cannot contain hyphens (-).

  • In regular expression terms: \"^[A-Za-z_]([A-Za-z0-9]*|[A-Za-z0-9][A-Za-z0-9_]*)$\".

  • Cannot be greater than 255 characters.

  • Are case-insensitive. (Fields named \"foo\" and \"FOO\" in the same payload are considered duplicates.)

For example, {\"temp_01\": 29} or {\"_temp_01\": 29} are valid, but {\"temp-01\": 29}, {\"01_temp\": 29} or {\"__temp_01\": 29} are invalid in message payloads.

" + } + } + }, + "BatchPutMessageResponse":{ + "type":"structure", + "members":{ + "batchPutMessageErrorEntries":{ + "shape":"BatchPutMessageErrorEntries", + "documentation":"

A list of any errors encountered when sending the messages to the channel.

" + } + } + }, + "BucketKeyExpression":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9!_.*'()/{}:-]*$" + }, + "BucketName":{ + "type":"string", + "max":255, + "min":3, + "pattern":"^[a-zA-Z0-9.\\-_]*$" + }, + "CancelPipelineReprocessingRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "reprocessingId" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of pipeline for which data reprocessing is canceled.

", + "location":"uri", + "locationName":"pipelineName" + }, + "reprocessingId":{ + "shape":"ReprocessingId", + "documentation":"

The ID of the reprocessing task (returned by \"StartPipelineReprocessing\").

", + "location":"uri", + "locationName":"reprocessingId" + } + } + }, + "CancelPipelineReprocessingResponse":{ + "type":"structure", + "members":{ + } + }, + "Channel":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ChannelName", + "documentation":"

The name of the channel.

" + }, + "storage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel.

" + }, + "arn":{ + "shape":"ChannelArn", + "documentation":"

The ARN of the channel.

" + }, + "status":{ + "shape":"ChannelStatus", + "documentation":"

The status of the channel.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the channel.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the channel was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

When the channel was last updated.

" + } + }, + "documentation":"

A collection of data from an MQTT topic. Channels archive the raw, unprocessed messages before publishing the data to a pipeline.

" + }, + "ChannelActivity":{ + "type":"structure", + "required":[ + "name", + "channelName" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'channel' activity.

" + }, + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel from which the messages are processed.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

The activity that determines the source of the messages to be processed.

" + }, + "ChannelArn":{"type":"string"}, + "ChannelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "ChannelStatistics":{ + "type":"structure", + "members":{ + "size":{ + "shape":"EstimatedResourceSize", + "documentation":"

The estimated size of the channel.

" + } + }, + "documentation":"

Statistics information about the channel.

" + }, + "ChannelStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING" + ] + }, + "ChannelStorage":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedChannelS3Storage", + "documentation":"

Use this to store channel data in an S3 bucket managed by the AWS IoT Analytics service. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the channel.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedChannelS3Storage", + "documentation":"

Use this to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the \"retentionPeriod\" parameter is ignored. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the channel.

" + } + }, + "documentation":"

Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel.

" + }, + "ChannelStorageSummary":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedChannelS3StorageSummary", + "documentation":"

Used to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedChannelS3StorageSummary", + "documentation":"

Used to store channel data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where channel data is stored.

" + }, + "ChannelSummaries":{ + "type":"list", + "member":{"shape":"ChannelSummary"} + }, + "ChannelSummary":{ + "type":"structure", + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel.

" + }, + "channelStorage":{ + "shape":"ChannelStorageSummary", + "documentation":"

Where channel data is stored.

" + }, + "status":{ + "shape":"ChannelStatus", + "documentation":"

The status of the channel.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the channel was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the channel was updated.

" + } + }, + "documentation":"

A summary of information about a channel.

" + }, + "ComputeType":{ + "type":"string", + "enum":[ + "ACU_1", + "ACU_2" + ] + }, + "ContainerDatasetAction":{ + "type":"structure", + "required":[ + "image", + "executionRoleArn", + "resourceConfiguration" + ], + "members":{ + "image":{ + "shape":"Image", + "documentation":"

The ARN of the Docker container stored in your account. The Docker container contains an application and needed support libraries and is used to generate data set contents.

" + }, + "executionRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which gives permission to the system to access needed resources in order to run the \"containerAction\". This includes, at minimum, permission to retrieve the data set contents which are the input to the containerized application.

" + }, + "resourceConfiguration":{ + "shape":"ResourceConfiguration", + "documentation":"

Configuration of the resource which executes the \"containerAction\".

" + }, + "variables":{ + "shape":"Variables", + "documentation":"

The values of variables used within the context of the execution of the containerized application (basically, parameters passed to the application). Each variable must have a name and a value given by one of \"stringValue\", \"datasetContentVersionValue\", or \"outputFileUriValue\".

" + } + }, + "documentation":"

Information needed to run the \"containerAction\" to produce data set contents.

" + }, + "CreateChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel.

" + }, + "channelStorage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the channel. When \"customerManagedS3\" storage is selected, this parameter is ignored.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the channel.

" + } + } + }, + "CreateChannelResponse":{ + "type":"structure", + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel.

" + }, + "channelArn":{ + "shape":"ChannelArn", + "documentation":"

The ARN of the channel.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the channel.

" + } + } + }, + "CreateDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set.

", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "CreateDatasetContentResponse":{ + "type":"structure", + "members":{ + "versionId":{ + "shape":"DatasetContentVersion", + "documentation":"

The version ID of the data set contents which are being created.

" + } + } + }, + "CreateDatasetRequest":{ + "type":"structure", + "required":[ + "datasetName", + "actions" + ], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set.

" + }, + "actions":{ + "shape":"DatasetActions", + "documentation":"

A list of actions that create the data set contents.

" + }, + "triggers":{ + "shape":"DatasetTriggers", + "documentation":"

A list of triggers. A trigger causes data set contents to be populated at a specified time interval or when another data set's contents are created. The list of triggers can be empty or contain up to five DataSetTrigger objects.

" + }, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

[Optional] How long, in days, versions of data set contents are kept for the data set. If not specified or set to null, versions of data set contents are retained for at most 90 days. The number of versions of data set contents retained is determined by the versioningConfiguration parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the data set.

" + } + } + }, + "CreateDatasetResponse":{ + "type":"structure", + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set.

" + }, + "datasetArn":{ + "shape":"DatasetArn", + "documentation":"

The ARN of the data set.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, data set contents are kept for the data set.

" + } + } + }, + "CreateDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store.

" + }, + "datastoreStorage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the data store. When \"customerManagedS3\" storage is selected, this parameter is ignored.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the data store.

" + } + } + }, + "CreateDatastoreResponse":{ + "type":"structure", + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store.

" + }, + "datastoreArn":{ + "shape":"DatastoreArn", + "documentation":"

The ARN of the data store.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the data store.

" + } + } + }, + "CreatePipelineRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "pipelineActivities" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline.

" + }, + "pipelineActivities":{ + "shape":"PipelineActivities", + "documentation":"

A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ]

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata which can be used to manage the pipeline.

" + } + } + }, + "CreatePipelineResponse":{ + "type":"structure", + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline.

" + }, + "pipelineArn":{ + "shape":"PipelineArn", + "documentation":"

The ARN of the pipeline.

" + } + } + }, + "CustomerManagedChannelS3Storage":{ + "type":"structure", + "required":[ + "bucket", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which channel data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

[Optional] The prefix used to create the keys of the channel data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). The prefix must end with a '/'.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Use this to store channel data in an S3 bucket that you manage. If customer managed storage is selected, the \"retentionPeriod\" parameter is ignored. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the channel.

" + }, + "CustomerManagedChannelS3StorageSummary":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which channel data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

[Optional] The prefix used to create the keys of the channel data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). The prefix must end with a '/'.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Used to store channel data in an S3 bucket that you manage.

" + }, + "CustomerManagedDatastoreS3Storage":{ + "type":"structure", + "required":[ + "bucket", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which data store data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

[Optional] The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). The prefix must end with a '/'.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Use this to store data store data in an S3 bucket that you manage. When customer managed storage is selected, the \"retentionPeriod\" parameter is ignored. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.

" + }, + "CustomerManagedDatastoreS3StorageSummary":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket in which data store data is stored.

" + }, + "keyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

[Optional] The prefix used to create the keys of the data store data objects. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). The prefix must end with a '/'.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 resources.

" + } + }, + "documentation":"

Used to store data store data in an S3 bucket that you manage.

" + }, + "Dataset":{ + "type":"structure", + "members":{ + "name":{ + "shape":"DatasetName", + "documentation":"

The name of the data set.

" + }, + "arn":{ + "shape":"DatasetArn", + "documentation":"

The ARN of the data set.

" + }, + "actions":{ + "shape":"DatasetActions", + "documentation":"

The \"DatasetAction\" objects that automatically create the data set contents.

" + }, + "triggers":{ + "shape":"DatasetTriggers", + "documentation":"

The \"DatasetTrigger\" objects that specify when the data set is automatically updated.

" + }, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, + "status":{ + "shape":"DatasetStatus", + "documentation":"

The status of the data set.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the data set was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the data set was updated.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

[Optional] How long, in days, message data is kept for the data set.

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" + } + }, + "documentation":"

Information about a data set.

" + }, + "DatasetAction":{ + "type":"structure", + "members":{ + "actionName":{ + "shape":"DatasetActionName", + "documentation":"

The name of the data set action by which data set contents are automatically created.

" + }, + "queryAction":{ + "shape":"SqlQueryDatasetAction", + "documentation":"

An \"SqlQueryDatasetAction\" object that uses an SQL query to automatically create data set contents.

" + }, + "containerAction":{ + "shape":"ContainerDatasetAction", + "documentation":"

Information which allows the system to run a containerized application in order to create the data set contents. The application must be in a Docker container along with any needed support libraries.

" + } + }, + "documentation":"

A \"DatasetAction\" object that specifies how data set contents are automatically created.

" + }, + "DatasetActionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "DatasetActionSummaries":{ + "type":"list", + "member":{"shape":"DatasetActionSummary"}, + "max":1, + "min":1 + }, + "DatasetActionSummary":{ + "type":"structure", + "members":{ + "actionName":{ + "shape":"DatasetActionName", + "documentation":"

The name of the action which automatically creates the data set's contents.

" + }, + "actionType":{ + "shape":"DatasetActionType", + "documentation":"

The type of action by which the data set's contents are automatically created.

" + } + }, + "documentation":"

Information about the action which automatically creates the data set's contents.

" + }, + "DatasetActionType":{ + "type":"string", + "enum":[ + "QUERY", + "CONTAINER" + ] + }, + "DatasetActions":{ + "type":"list", + "member":{"shape":"DatasetAction"}, + "max":1, + "min":1 + }, + "DatasetArn":{"type":"string"}, + "DatasetContentDeliveryDestination":{ + "type":"structure", + "members":{ + "iotEventsDestinationConfiguration":{ + "shape":"IotEventsDestinationConfiguration", + "documentation":"

Configuration information for delivery of data set contents to AWS IoT Events.

" + }, + "s3DestinationConfiguration":{ + "shape":"S3DestinationConfiguration", + "documentation":"

Configuration information for delivery of data set contents to Amazon S3.

" + } + }, + "documentation":"

The destination to which data set contents are delivered.

" + }, + "DatasetContentDeliveryRule":{ + "type":"structure", + "required":["destination"], + "members":{ + "entryName":{ + "shape":"EntryName", + "documentation":"

The name of the data set content delivery rules entry.

" + }, + "destination":{ + "shape":"DatasetContentDeliveryDestination", + "documentation":"

The destination to which data set contents are delivered.

" + } + }, + "documentation":"

When data set contents are created they are delivered to destination specified here.

" + }, + "DatasetContentDeliveryRules":{ + "type":"list", + "member":{"shape":"DatasetContentDeliveryRule"}, + "max":20, + "min":0 + }, + "DatasetContentState":{ + "type":"string", + "enum":[ + "CREATING", + "SUCCEEDED", + "FAILED" + ] + }, + "DatasetContentStatus":{ + "type":"structure", + "members":{ + "state":{ + "shape":"DatasetContentState", + "documentation":"

The state of the data set contents. Can be one of \"READY\", \"CREATING\", \"SUCCEEDED\" or \"FAILED\".

" + }, + "reason":{ + "shape":"Reason", + "documentation":"

The reason the data set contents are in this state.

" + } + }, + "documentation":"

The state of the data set contents and the reason they are in this state.

" + }, + "DatasetContentSummaries":{ + "type":"list", + "member":{"shape":"DatasetContentSummary"} + }, + "DatasetContentSummary":{ + "type":"structure", + "members":{ + "version":{ + "shape":"DatasetContentVersion", + "documentation":"

The version of the data set contents.

" + }, + "status":{ + "shape":"DatasetContentStatus", + "documentation":"

The status of the data set contents.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The actual time the creation of the data set contents was started.

" + }, + "scheduleTime":{ + "shape":"Timestamp", + "documentation":"

The time the creation of the data set contents was scheduled to start.

" + }, + "completionTime":{ + "shape":"Timestamp", + "documentation":"

The time the dataset content status was updated to SUCCEEDED or FAILED.

" + } + }, + "documentation":"

Summary information about data set contents.

" + }, + "DatasetContentVersion":{ + "type":"string", + "max":36, + "min":7 + }, + "DatasetContentVersionValue":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose latest contents are used as input to the notebook or application.

" + } + }, + "documentation":"

The data set whose latest contents are used as input to the notebook or application.

" + }, + "DatasetEntries":{ + "type":"list", + "member":{"shape":"DatasetEntry"} + }, + "DatasetEntry":{ + "type":"structure", + "members":{ + "entryName":{ + "shape":"EntryName", + "documentation":"

The name of the data set item.

" + }, + "dataURI":{ + "shape":"PresignedURI", + "documentation":"

The pre-signed URI of the data set item.

" + } + }, + "documentation":"

The reference to a data set entry.

" + }, + "DatasetName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "DatasetStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING" + ] + }, + "DatasetSummaries":{ + "type":"list", + "member":{"shape":"DatasetSummary"} + }, + "DatasetSummary":{ + "type":"structure", + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set.

" + }, + "status":{ + "shape":"DatasetStatus", + "documentation":"

The status of the data set.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the data set was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the data set was updated.

" + }, + "triggers":{ + "shape":"DatasetTriggers", + "documentation":"

A list of triggers. A trigger causes data set content to be populated at a specified time interval or when another data set is populated. The list of triggers can be empty or contain up to five DataSetTrigger objects

" + }, + "actions":{ + "shape":"DatasetActionSummaries", + "documentation":"

A list of \"DataActionSummary\" objects.

" + } + }, + "documentation":"

A summary of information about a data set.

" + }, + "DatasetTrigger":{ + "type":"structure", + "members":{ + "schedule":{ + "shape":"Schedule", + "documentation":"

The \"Schedule\" when the trigger is initiated.

" + }, + "dataset":{ + "shape":"TriggeringDataset", + "documentation":"

The data set whose content creation triggers the creation of this data set's contents.

" + } + }, + "documentation":"

The \"DatasetTrigger\" that specifies when the data set is automatically updated.

" + }, + "DatasetTriggers":{ + "type":"list", + "member":{"shape":"DatasetTrigger"}, + "max":5, + "min":0 + }, + "Datastore":{ + "type":"structure", + "members":{ + "name":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store.

" + }, + "storage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.

" + }, + "arn":{ + "shape":"DatastoreArn", + "documentation":"

The ARN of the data store.

" + }, + "status":{ + "shape":"DatastoreStatus", + "documentation":"

The status of a data store:

CREATING

The data store is being created.

ACTIVE

The data store has been created and can be used.

DELETING

The data store is being deleted.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the data store. When \"customerManagedS3\" storage is selected, this parameter is ignored.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the data store was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the data store was updated.

" + } + }, + "documentation":"

Information about a data store.

" + }, + "DatastoreActivity":{ + "type":"structure", + "required":[ + "name", + "datastoreName" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'datastore' activity.

" + }, + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store where processed messages are stored.

" + } + }, + "documentation":"

The 'datastore' activity that specifies where to store the processed data.

" + }, + "DatastoreArn":{"type":"string"}, + "DatastoreName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "DatastoreStatistics":{ + "type":"structure", + "members":{ + "size":{ + "shape":"EstimatedResourceSize", + "documentation":"

The estimated size of the data store.

" + } + }, + "documentation":"

Statistical information about the data store.

" + }, + "DatastoreStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING" + ] + }, + "DatastoreStorage":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedDatastoreS3Storage", + "documentation":"

Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedDatastoreS3Storage", + "documentation":"

Use this to store data store data in an S3 bucket that you manage. When customer managed storage is selected, the \"retentionPeriod\" parameter is ignored. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.

" + } + }, + "documentation":"

Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.

" + }, + "DatastoreStorageSummary":{ + "type":"structure", + "members":{ + "serviceManagedS3":{ + "shape":"ServiceManagedDatastoreS3StorageSummary", + "documentation":"

Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "customerManagedS3":{ + "shape":"CustomerManagedDatastoreS3StorageSummary", + "documentation":"

Used to store data store data in an S3 bucket that you manage.

" + } + }, + "documentation":"

Where data store data is stored.

" + }, + "DatastoreSummaries":{ + "type":"list", + "member":{"shape":"DatastoreSummary"} + }, + "DatastoreSummary":{ + "type":"structure", + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store.

" + }, + "datastoreStorage":{ + "shape":"DatastoreStorageSummary", + "documentation":"

Where data store data is stored.

" + }, + "status":{ + "shape":"DatastoreStatus", + "documentation":"

The status of the data store.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the data store was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the data store was updated.

" + } + }, + "documentation":"

A summary of information about a data store.

" + }, + "DeleteChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel to delete.

", + "location":"uri", + "locationName":"channelName" + } + } + }, + "DeleteDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose content is deleted.

", + "location":"uri", + "locationName":"datasetName" + }, + "versionId":{ + "shape":"DatasetContentVersion", + "documentation":"

The version of the data set whose content is deleted. You can also use the strings \"$LATEST\" or \"$LATEST_SUCCEEDED\" to delete the latest or latest successfully completed data set. If not specified, \"$LATEST_SUCCEEDED\" is the default.

", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "DeleteDatasetRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set to delete.

", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "DeleteDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store to delete.

", + "location":"uri", + "locationName":"datastoreName" + } + } + }, + "DeletePipelineRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline to delete.

", + "location":"uri", + "locationName":"pipelineName" + } + } + }, + "DeltaTime":{ + "type":"structure", + "required":[ + "offsetSeconds", + "timeExpression" + ], + "members":{ + "offsetSeconds":{ + "shape":"OffsetSeconds", + "documentation":"

The number of seconds of estimated \"in flight\" lag time of message data. When you create data set contents using message data from a specified time frame, some message data may still be \"in flight\" when processing begins, and so will not arrive in time to be processed. Use this field to make allowances for the \"in flight\" time of your message data, so that data not processed from a previous time frame will be included with the next time frame. Without this, missed message data would be excluded from processing during the next time frame as well, because its timestamp places it within the previous time frame.

" + }, + "timeExpression":{ + "shape":"TimeExpression", + "documentation":"

An expression by which the time of the message data may be determined. This may be the name of a timestamp field, or a SQL expression which is used to derive the time the message data was generated.

" + } + }, + "documentation":"

Used to limit data to that which has arrived since the last execution of the action.

" + }, + "DescribeChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel whose information is retrieved.

", + "location":"uri", + "locationName":"channelName" + }, + "includeStatistics":{ + "shape":"IncludeStatisticsFlag", + "documentation":"

If true, additional statistical information about the channel is included in the response. This feature cannot be used with a channel whose S3 storage is customer-managed.

", + "location":"querystring", + "locationName":"includeStatistics" + } + } + }, + "DescribeChannelResponse":{ + "type":"structure", + "members":{ + "channel":{ + "shape":"Channel", + "documentation":"

An object that contains information about the channel.

" + }, + "statistics":{ + "shape":"ChannelStatistics", + "documentation":"

Statistics about the channel. Included if the 'includeStatistics' parameter is set to true in the request.

" + } + } + }, + "DescribeDatasetRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose information is retrieved.

", + "location":"uri", + "locationName":"datasetName" + } + } + }, + "DescribeDatasetResponse":{ + "type":"structure", + "members":{ + "dataset":{ + "shape":"Dataset", + "documentation":"

An object that contains information about the data set.

" + } + } + }, + "DescribeDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store

", + "location":"uri", + "locationName":"datastoreName" + }, + "includeStatistics":{ + "shape":"IncludeStatisticsFlag", + "documentation":"

If true, additional statistical information about the data store is included in the response. This feature cannot be used with a data store whose S3 storage is customer-managed.

", + "location":"querystring", + "locationName":"includeStatistics" + } + } + }, + "DescribeDatastoreResponse":{ + "type":"structure", + "members":{ + "datastore":{ + "shape":"Datastore", + "documentation":"

Information about the data store.

" + }, + "statistics":{ + "shape":"DatastoreStatistics", + "documentation":"

Additional statistical information about the data store. Included if the 'includeStatistics' parameter is set to true in the request.

" + } + } + }, + "DescribeLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeLoggingOptionsResponse":{ + "type":"structure", + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The current settings of the AWS IoT Analytics logging options.

" + } + } + }, + "DescribePipelineRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline whose information is retrieved.

", + "location":"uri", + "locationName":"pipelineName" + } + } + }, + "DescribePipelineResponse":{ + "type":"structure", + "members":{ + "pipeline":{ + "shape":"Pipeline", + "documentation":"

A \"Pipeline\" object that contains information about the pipeline.

" + } + } + }, + "DeviceRegistryEnrichActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "thingName", + "roleArn" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'deviceRegistryEnrich' activity.

" + }, + "attribute":{ + "shape":"AttributeName", + "documentation":"

The name of the attribute that is added to the message.

" + }, + "thingName":{ + "shape":"AttributeName", + "documentation":"

The name of the IoT device whose registry information is added to the message.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that allows access to the device's registry information.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that adds data from the AWS IoT device registry to your message.

" + }, + "DeviceShadowEnrichActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "thingName", + "roleArn" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'deviceShadowEnrich' activity.

" + }, + "attribute":{ + "shape":"AttributeName", + "documentation":"

The name of the attribute that is added to the message.

" + }, + "thingName":{ + "shape":"AttributeName", + "documentation":"

The name of the IoT device whose shadow information is added to the message.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that allows access to the device's shadow.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that adds information from the AWS IoT Device Shadows service to a message.

" + }, + "DoubleValue":{"type":"double"}, + "EndTime":{"type":"timestamp"}, + "EntryName":{"type":"string"}, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "EstimatedResourceSize":{ + "type":"structure", + "members":{ + "estimatedSizeInBytes":{ + "shape":"SizeInBytes", + "documentation":"

The estimated size of the resource in bytes.

" + }, + "estimatedOn":{ + "shape":"Timestamp", + "documentation":"

The time when the estimate of the size of the resource was made.

" + } + }, + "documentation":"

The estimated size of the resource.

" + }, + "FilterActivity":{ + "type":"structure", + "required":[ + "name", + "filter" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'filter' activity.

" + }, + "filter":{ + "shape":"FilterExpression", + "documentation":"

An expression that looks like a SQL WHERE clause that must return a Boolean value.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that filters a message based on its attributes.

" + }, + "FilterExpression":{ + "type":"string", + "max":256, + "min":1 + }, + "GetDatasetContentRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose contents are retrieved.

", + "location":"uri", + "locationName":"datasetName" + }, + "versionId":{ + "shape":"DatasetContentVersion", + "documentation":"

The version of the data set whose contents are retrieved. You can also use the strings \"$LATEST\" or \"$LATEST_SUCCEEDED\" to retrieve the contents of the latest or latest successfully completed data set. If not specified, \"$LATEST_SUCCEEDED\" is the default.

", + "location":"querystring", + "locationName":"versionId" + } + } + }, + "GetDatasetContentResponse":{ + "type":"structure", + "members":{ + "entries":{ + "shape":"DatasetEntries", + "documentation":"

A list of \"DatasetEntry\" objects.

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The time when the request was made.

" + }, + "status":{ + "shape":"DatasetContentStatus", + "documentation":"

The status of the data set content.

" + } + } + }, + "GlueConfiguration":{ + "type":"structure", + "required":[ + "tableName", + "databaseName" + ], + "members":{ + "tableName":{ + "shape":"GlueTableName", + "documentation":"

The name of the table in your AWS Glue Data Catalog which is used to perform the ETL (extract, transform and load) operations. (An AWS Glue Data Catalog table contains partitioned data and descriptions of data sources and targets.)

" + }, + "databaseName":{ + "shape":"GlueDatabaseName", + "documentation":"

The name of the database in your AWS Glue Data Catalog in which the table is located. (An AWS Glue Data Catalog database contains Glue Data tables.)

" + } + }, + "documentation":"

Configuration information for coordination with the AWS Glue ETL (extract, transform and load) service.

" + }, + "GlueDatabaseName":{ + "type":"string", + "max":150, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "GlueTableName":{ + "type":"string", + "max":150, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "Image":{ + "type":"string", + "max":255 + }, + "IncludeStatisticsFlag":{"type":"boolean"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

There was an internal failure.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The request was not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IotEventsDestinationConfiguration":{ + "type":"structure", + "required":[ + "inputName", + "roleArn" + ], + "members":{ + "inputName":{ + "shape":"IotEventsInputName", + "documentation":"

The name of the AWS IoT Events input to which data set contents are delivered.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to deliver data set contents to an AWS IoT Events input.

" + } + }, + "documentation":"

Configuration information for delivery of data set contents to AWS IoT Events.

" + }, + "IotEventsInputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "LambdaActivity":{ + "type":"structure", + "required":[ + "name", + "lambdaName", + "batchSize" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'lambda' activity.

" + }, + "lambdaName":{ + "shape":"LambdaName", + "documentation":"

The name of the Lambda function that is run on the message.

" + }, + "batchSize":{ + "shape":"ActivityBatchSize", + "documentation":"

The number of messages passed to the Lambda function for processing.

The AWS Lambda function must be able to process all of these messages within five minutes, which is the maximum timeout duration for Lambda functions.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that runs a Lambda function to modify the message.

" + }, + "LambdaName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The command caused an internal limit to be exceeded.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListChannelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListChannelsResponse":{ + "type":"structure", + "members":{ + "channelSummaries":{ + "shape":"ChannelSummaries", + "documentation":"

A list of \"ChannelSummary\" objects.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" + } + } + }, + "ListDatasetContentsRequest":{ + "type":"structure", + "required":["datasetName"], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose contents information you want to list.

", + "location":"uri", + "locationName":"datasetName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in this request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "scheduledOnOrAfter":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those data set contents whose creation is scheduled on or after the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)

", + "location":"querystring", + "locationName":"scheduledOnOrAfter" + }, + "scheduledBefore":{ + "shape":"Timestamp", + "documentation":"

A filter to limit results to those data set contents whose creation is scheduled before the given time. See the field triggers.schedule in the CreateDataset request. (timestamp)

", + "location":"querystring", + "locationName":"scheduledBefore" + } + } + }, + "ListDatasetContentsResponse":{ + "type":"structure", + "members":{ + "datasetContentSummaries":{ + "shape":"DatasetContentSummaries", + "documentation":"

Summary information about data set contents that have been created.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" + } + } + }, + "ListDatasetsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDatasetsResponse":{ + "type":"structure", + "members":{ + "datasetSummaries":{ + "shape":"DatasetSummaries", + "documentation":"

A list of \"DatasetSummary\" objects.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" + } + } + }, + "ListDatastoresRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDatastoresResponse":{ + "type":"structure", + "members":{ + "datastoreSummaries":{ + "shape":"DatastoreSummaries", + "documentation":"

A list of \"DatastoreSummary\" objects.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" + } + } + }, + "ListPipelinesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in this request.

The default value is 100.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPipelinesResponse":{ + "type":"structure", + "members":{ + "pipelineSummaries":{ + "shape":"PipelineSummaries", + "documentation":"

A list of \"PipelineSummary\" objects.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource whose tags you want to list.

", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags (metadata) which you have assigned to the resource.

" + } + } + }, + "LogResult":{"type":"string"}, + "LoggingEnabled":{"type":"boolean"}, + "LoggingLevel":{ + "type":"string", + "enum":["ERROR"] + }, + "LoggingOptions":{ + "type":"structure", + "required":[ + "roleArn", + "level", + "enabled" + ], + "members":{ + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that grants permission to AWS IoT Analytics to perform logging.

" + }, + "level":{ + "shape":"LoggingLevel", + "documentation":"

The logging level. Currently, only \"ERROR\" is supported.

" + }, + "enabled":{ + "shape":"LoggingEnabled", + "documentation":"

If true, logging is enabled for AWS IoT Analytics.

" + } + }, + "documentation":"

Information about logging options.

" + }, + "MathActivity":{ + "type":"structure", + "required":[ + "name", + "attribute", + "math" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'math' activity.

" + }, + "attribute":{ + "shape":"AttributeName", + "documentation":"

The name of the attribute that contains the result of the math operation.

" + }, + "math":{ + "shape":"MathExpression", + "documentation":"

An expression that uses one or more existing attributes and must return an integer value.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that computes an arithmetic expression using the message's attributes.

" + }, + "MathExpression":{ + "type":"string", + "max":256, + "min":1 + }, + "MaxMessages":{ + "type":"integer", + "max":10, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "MaxVersions":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Message":{ + "type":"structure", + "required":[ + "messageId", + "payload" + ], + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID you wish to assign to the message. Each \"messageId\" must be unique within each batch sent.

" + }, + "payload":{ + "shape":"MessagePayload", + "documentation":"

The payload of the message. This may be a JSON string or a Base64-encoded string representing binary data (in which case you must decode it by means of a pipeline activity).

" + } + }, + "documentation":"

Information about a message.

" + }, + "MessageId":{ + "type":"string", + "max":128, + "min":1 + }, + "MessagePayload":{"type":"blob"}, + "MessagePayloads":{ + "type":"list", + "member":{"shape":"MessagePayload"}, + "max":10, + "min":1 + }, + "Messages":{ + "type":"list", + "member":{"shape":"Message"} + }, + "NextToken":{"type":"string"}, + "OffsetSeconds":{"type":"integer"}, + "OutputFileName":{ + "type":"string", + "pattern":"[\\w\\.-]{1,255}" + }, + "OutputFileUriValue":{ + "type":"structure", + "required":["fileName"], + "members":{ + "fileName":{ + "shape":"OutputFileName", + "documentation":"

The URI of the location where data set contents are stored, usually the URI of a file in an S3 bucket.

" + } + }, + "documentation":"

The value of the variable as a structure that specifies an output file URI.

" + }, + "Pipeline":{ + "type":"structure", + "members":{ + "name":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline.

" + }, + "arn":{ + "shape":"PipelineArn", + "documentation":"

The ARN of the pipeline.

" + }, + "activities":{ + "shape":"PipelineActivities", + "documentation":"

The activities that perform transformations on the messages.

" + }, + "reprocessingSummaries":{ + "shape":"ReprocessingSummaries", + "documentation":"

A summary of information about the pipeline reprocessing.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the pipeline was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the pipeline was updated.

" + } + }, + "documentation":"

Contains information about a pipeline.

" + }, + "PipelineActivities":{ + "type":"list", + "member":{"shape":"PipelineActivity"}, + "max":25, + "min":1 + }, + "PipelineActivity":{ + "type":"structure", + "members":{ + "channel":{ + "shape":"ChannelActivity", + "documentation":"

Determines the source of the messages to be processed.

" + }, + "lambda":{ + "shape":"LambdaActivity", + "documentation":"

Runs a Lambda function to modify the message.

" + }, + "datastore":{ + "shape":"DatastoreActivity", + "documentation":"

Specifies where to store the processed message data.

" + }, + "addAttributes":{ + "shape":"AddAttributesActivity", + "documentation":"

Adds other attributes based on existing attributes in the message.

" + }, + "removeAttributes":{ + "shape":"RemoveAttributesActivity", + "documentation":"

Removes attributes from a message.

" + }, + "selectAttributes":{ + "shape":"SelectAttributesActivity", + "documentation":"

Creates a new message using only the specified attributes from the original message.

" + }, + "filter":{ + "shape":"FilterActivity", + "documentation":"

Filters a message based on its attributes.

" + }, + "math":{ + "shape":"MathActivity", + "documentation":"

Computes an arithmetic expression using the message's attributes and adds it to the message.

" + }, + "deviceRegistryEnrich":{ + "shape":"DeviceRegistryEnrichActivity", + "documentation":"

Adds data from the AWS IoT device registry to your message.

" + }, + "deviceShadowEnrich":{ + "shape":"DeviceShadowEnrichActivity", + "documentation":"

Adds information from the AWS IoT Device Shadows service to a message.

" + } + }, + "documentation":"

An activity that performs a transformation on a message.

" + }, + "PipelineArn":{"type":"string"}, + "PipelineName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_]+$" + }, + "PipelineSummaries":{ + "type":"list", + "member":{"shape":"PipelineSummary"} + }, + "PipelineSummary":{ + "type":"structure", + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline.

" + }, + "reprocessingSummaries":{ + "shape":"ReprocessingSummaries", + "documentation":"

A summary of information about the pipeline reprocessing.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

When the pipeline was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

When the pipeline was last updated.

" + } + }, + "documentation":"

A summary of information about a pipeline.

" + }, + "PresignedURI":{"type":"string"}, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The new values of the AWS IoT Analytics logging options.

" + } + } + }, + "QueryFilter":{ + "type":"structure", + "members":{ + "deltaTime":{ + "shape":"DeltaTime", + "documentation":"

Used to limit data to that which has arrived since the last execution of the action.

" + } + }, + "documentation":"

Information which is used to filter message data, to segregate it according to the time frame in which it arrives.

" + }, + "QueryFilters":{ + "type":"list", + "member":{"shape":"QueryFilter"}, + "max":1, + "min":0 + }, + "Reason":{"type":"string"}, + "RemoveAttributesActivity":{ + "type":"structure", + "required":[ + "name", + "attributes" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'removeAttributes' activity.

" + }, + "attributes":{ + "shape":"AttributeNames", + "documentation":"

A list of 1-50 attributes to remove from the message.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

An activity that removes attributes from a message.

" + }, + "ReprocessingId":{"type":"string"}, + "ReprocessingStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "CANCELLED", + "FAILED" + ] + }, + "ReprocessingSummaries":{ + "type":"list", + "member":{"shape":"ReprocessingSummary"} + }, + "ReprocessingSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"ReprocessingId", + "documentation":"

The 'reprocessingId' returned by \"StartPipelineReprocessing\".

" + }, + "status":{ + "shape":"ReprocessingStatus", + "documentation":"

The status of the pipeline reprocessing.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the pipeline reprocessing was created.

" + } + }, + "documentation":"

Information about pipeline reprocessing.

" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"}, + "resourceId":{ + "shape":"resourceId", + "documentation":"

The ID of the resource.

" + }, + "resourceArn":{ + "shape":"resourceArn", + "documentation":"

The ARN of the resource.

" + } + }, + "documentation":"

A resource with the same name already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "ResourceConfiguration":{ + "type":"structure", + "required":[ + "computeType", + "volumeSizeInGB" + ], + "members":{ + "computeType":{ + "shape":"ComputeType", + "documentation":"

The type of the compute resource used to execute the \"containerAction\". Possible values are: ACU_1 (vCPU=4, memory=16GiB) or ACU_2 (vCPU=8, memory=32GiB).

" + }, + "volumeSizeInGB":{ + "shape":"VolumeSizeInGB", + "documentation":"

The size (in GB) of the persistent storage available to the resource instance used to execute the \"containerAction\" (min: 1, max: 50).

" + } + }, + "documentation":"

The configuration of the resource used to execute the \"containerAction\".

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

A resource with the specified name could not be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetentionPeriod":{ + "type":"structure", + "members":{ + "unlimited":{ + "shape":"UnlimitedRetentionPeriod", + "documentation":"

If true, message data is kept indefinitely.

" + }, + "numberOfDays":{ + "shape":"RetentionPeriodInDays", + "documentation":"

The number of days that message data is kept. The \"unlimited\" parameter must be false.

" + } + }, + "documentation":"

How long, in days, message data is kept.

" + }, + "RetentionPeriodInDays":{ + "type":"integer", + "min":1 + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "RunPipelineActivityRequest":{ + "type":"structure", + "required":[ + "pipelineActivity", + "payloads" + ], + "members":{ + "pipelineActivity":{ + "shape":"PipelineActivity", + "documentation":"

The pipeline activity that is run. This must not be a 'channel' activity or a 'datastore' activity because these activities are used in a pipeline only to load the original message and to store the (possibly) transformed message. If a 'lambda' activity is specified, only short-running Lambda functions (those with a timeout of less than 30 seconds or less) can be used.

" + }, + "payloads":{ + "shape":"MessagePayloads", + "documentation":"

The sample message payloads on which the pipeline activity is run.

" + } + } + }, + "RunPipelineActivityResponse":{ + "type":"structure", + "members":{ + "payloads":{ + "shape":"MessagePayloads", + "documentation":"

The enriched or transformed sample message payloads as base64-encoded strings. (The results of running the pipeline activity on each input sample message payload, encoded in base64.)

" + }, + "logResult":{ + "shape":"LogResult", + "documentation":"

In case the pipeline activity fails, the log message that is generated.

" + } + } + }, + "S3DestinationConfiguration":{ + "type":"structure", + "required":[ + "bucket", + "key", + "roleArn" + ], + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

The name of the Amazon S3 bucket to which data set contents are delivered.

" + }, + "key":{ + "shape":"BucketKeyExpression", + "documentation":"

The key of the data set contents object. Each object in an Amazon S3 bucket has a key that is its unique identifier within the bucket (each object in a bucket has exactly one key). To produce a unique key, you can use \"!{iotanalytics:scheduledTime}\" to insert the time of the scheduled SQL query run, or \"!{iotanalytics:versioned} to insert a unique hash identifying the data set, for example: \"/DataSet/!{iotanalytics:scheduledTime}/!{iotanalytics:versioned}.csv\".

" + }, + "glueConfiguration":{ + "shape":"GlueConfiguration", + "documentation":"

Configuration information for coordination with the AWS Glue ETL (extract, transform and load) service.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role which grants AWS IoT Analytics permission to interact with your Amazon S3 and AWS Glue resources.

" + } + }, + "documentation":"

Configuration information for delivery of data set contents to Amazon S3.

" + }, + "S3KeyPrefix":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9!_.*'()/{}:-]*/$" + }, + "SampleChannelDataRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel whose message samples are retrieved.

", + "location":"uri", + "locationName":"channelName" + }, + "maxMessages":{ + "shape":"MaxMessages", + "documentation":"

The number of sample messages to be retrieved. The limit is 10, the default is also 10.

", + "location":"querystring", + "locationName":"maxMessages" + }, + "startTime":{ + "shape":"StartTime", + "documentation":"

The start of the time window from which sample messages are retrieved.

", + "location":"querystring", + "locationName":"startTime" + }, + "endTime":{ + "shape":"EndTime", + "documentation":"

The end of the time window from which sample messages are retrieved.

", + "location":"querystring", + "locationName":"endTime" + } + } + }, + "SampleChannelDataResponse":{ + "type":"structure", + "members":{ + "payloads":{ + "shape":"MessagePayloads", + "documentation":"

The list of message samples. Each sample message is returned as a base64-encoded string.

" + } + } + }, + "Schedule":{ + "type":"structure", + "members":{ + "expression":{ + "shape":"ScheduleExpression", + "documentation":"

The expression that defines when to trigger an update. For more information, see Schedule Expressions for Rules in the Amazon CloudWatch Events User Guide.

" + } + }, + "documentation":"

The schedule for when to trigger an update.

" + }, + "ScheduleExpression":{"type":"string"}, + "SelectAttributesActivity":{ + "type":"structure", + "required":[ + "name", + "attributes" + ], + "members":{ + "name":{ + "shape":"ActivityName", + "documentation":"

The name of the 'selectAttributes' activity.

" + }, + "attributes":{ + "shape":"AttributeNames", + "documentation":"

A list of the attributes to select from the message.

" + }, + "next":{ + "shape":"ActivityName", + "documentation":"

The next activity in the pipeline.

" + } + }, + "documentation":"

Creates a new message using only the specified attributes from the original message.

" + }, + "ServiceManagedChannelS3Storage":{ + "type":"structure", + "members":{ + }, + "documentation":"

Use this to store channel data in an S3 bucket managed by the AWS IoT Analytics service. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the channel.

" + }, + "ServiceManagedChannelS3StorageSummary":{ + "type":"structure", + "members":{ + }, + "documentation":"

Used to store channel data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "ServiceManagedDatastoreS3Storage":{ + "type":"structure", + "members":{ + }, + "documentation":"

Use this to store data store data in an S3 bucket managed by the AWS IoT Analytics service. The choice of service-managed or customer-managed S3 storage cannot be changed after creation of the data store.

" + }, + "ServiceManagedDatastoreS3StorageSummary":{ + "type":"structure", + "members":{ + }, + "documentation":"

Used to store data store data in an S3 bucket managed by the AWS IoT Analytics service.

" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The service is temporarily unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SizeInBytes":{"type":"double"}, + "SqlQuery":{"type":"string"}, + "SqlQueryDatasetAction":{ + "type":"structure", + "required":["sqlQuery"], + "members":{ + "sqlQuery":{ + "shape":"SqlQuery", + "documentation":"

A SQL query string.

" + }, + "filters":{ + "shape":"QueryFilters", + "documentation":"

Pre-filters applied to message data.

" + } + }, + "documentation":"

The SQL query to modify the message.

" + }, + "StartPipelineReprocessingRequest":{ + "type":"structure", + "required":["pipelineName"], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline on which to start reprocessing.

", + "location":"uri", + "locationName":"pipelineName" + }, + "startTime":{ + "shape":"StartTime", + "documentation":"

The start time (inclusive) of raw message data that is reprocessed.

" + }, + "endTime":{ + "shape":"EndTime", + "documentation":"

The end time (exclusive) of raw message data that is reprocessed.

" + } + } + }, + "StartPipelineReprocessingResponse":{ + "type":"structure", + "members":{ + "reprocessingId":{ + "shape":"ReprocessingId", + "documentation":"

The ID of the pipeline reprocessing activity that was started.

" + } + } + }, + "StartTime":{"type":"timestamp"}, + "StringValue":{ + "type":"string", + "max":1024, + "min":0 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

A set of key/value pairs which are used to manage the resource.

" + }, + "TagKey":{ + "type":"string", + "max":256, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource whose tags you want to modify.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The new or modified tags for the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimeExpression":{"type":"string"}, + "Timestamp":{"type":"timestamp"}, + "TriggeringDataset":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DatasetName", + "documentation":"

The name of the data set whose content generation triggers the new data set content generation.

" + } + }, + "documentation":"

Information about the data set whose content generation triggers the new data set content generation.

" + }, + "UnlimitedRetentionPeriod":{"type":"boolean"}, + "UnlimitedVersioning":{"type":"boolean"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource whose tags you want to remove.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of those tags which you want to remove.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateChannelRequest":{ + "type":"structure", + "required":["channelName"], + "members":{ + "channelName":{ + "shape":"ChannelName", + "documentation":"

The name of the channel to be updated.

", + "location":"uri", + "locationName":"channelName" + }, + "channelStorage":{ + "shape":"ChannelStorage", + "documentation":"

Where channel data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after creation of the channel.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the channel. The retention period cannot be updated if the channel's S3 storage is customer-managed.

" + } + } + }, + "UpdateDatasetRequest":{ + "type":"structure", + "required":[ + "datasetName", + "actions" + ], + "members":{ + "datasetName":{ + "shape":"DatasetName", + "documentation":"

The name of the data set to update.

", + "location":"uri", + "locationName":"datasetName" + }, + "actions":{ + "shape":"DatasetActions", + "documentation":"

A list of \"DatasetAction\" objects.

" + }, + "triggers":{ + "shape":"DatasetTriggers", + "documentation":"

A list of \"DatasetTrigger\" objects. The list can be empty or can contain up to five DataSetTrigger objects.

" + }, + "contentDeliveryRules":{ + "shape":"DatasetContentDeliveryRules", + "documentation":"

When data set contents are created they are delivered to destinations specified here.

" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, data set contents are kept for the data set.

" + }, + "versioningConfiguration":{ + "shape":"VersioningConfiguration", + "documentation":"

[Optional] How many versions of data set contents are kept. If not specified or set to null, only the latest version plus the latest succeeded version (if they are different) are kept for the time period specified by the \"retentionPeriod\" parameter. (For more information, see https://docs.aws.amazon.com/iotanalytics/latest/userguide/getting-started.html#aws-iot-analytics-dataset-versions)

" + } + } + }, + "UpdateDatastoreRequest":{ + "type":"structure", + "required":["datastoreName"], + "members":{ + "datastoreName":{ + "shape":"DatastoreName", + "documentation":"

The name of the data store to be updated.

", + "location":"uri", + "locationName":"datastoreName" + }, + "retentionPeriod":{ + "shape":"RetentionPeriod", + "documentation":"

How long, in days, message data is kept for the data store. The retention period cannot be updated if the data store's S3 storage is customer-managed.

" + }, + "datastoreStorage":{ + "shape":"DatastoreStorage", + "documentation":"

Where data store data is stored. You may choose one of \"serviceManagedS3\" or \"customerManagedS3\" storage. If not specified, the default is \"serviceManagedS3\". This cannot be changed after the data store is created.

" + } + } + }, + "UpdatePipelineRequest":{ + "type":"structure", + "required":[ + "pipelineName", + "pipelineActivities" + ], + "members":{ + "pipelineName":{ + "shape":"PipelineName", + "documentation":"

The name of the pipeline to update.

", + "location":"uri", + "locationName":"pipelineName" + }, + "pipelineActivities":{ + "shape":"PipelineActivities", + "documentation":"

A list of \"PipelineActivity\" objects. Activities perform transformations on your messages, such as removing, renaming or adding message attributes; filtering messages based on attribute values; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformations to normalize device data.

The list can be 2-25 PipelineActivity objects and must contain both a channel and a datastore activity. Each entry in the list must contain only one activity, for example:

pipelineActivities = [ { \"channel\": { ... } }, { \"lambda\": { ... } }, ... ]

" + } + } + }, + "Variable":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "stringValue":{ + "shape":"StringValue", + "documentation":"

The value of the variable as a string.

" + }, + "doubleValue":{ + "shape":"DoubleValue", + "documentation":"

The value of the variable as a double (numeric).

", + "box":true + }, + "datasetContentVersionValue":{ + "shape":"DatasetContentVersionValue", + "documentation":"

The value of the variable as a structure that specifies a data set content version.

" + }, + "outputFileUriValue":{ + "shape":"OutputFileUriValue", + "documentation":"

The value of the variable as a structure that specifies an output file URI.

" + } + }, + "documentation":"

An instance of a variable to be passed to the \"containerAction\" execution. Each variable must have a name and a value given by one of \"stringValue\", \"datasetContentVersionValue\", or \"outputFileUriValue\".

" + }, + "VariableName":{ + "type":"string", + "max":256, + "min":1 + }, + "Variables":{ + "type":"list", + "member":{"shape":"Variable"}, + "max":50, + "min":0 + }, + "VersioningConfiguration":{ + "type":"structure", + "members":{ + "unlimited":{ + "shape":"UnlimitedVersioning", + "documentation":"

If true, unlimited versions of data set contents will be kept.

" + }, + "maxVersions":{ + "shape":"MaxVersions", + "documentation":"

How many versions of data set contents will be kept. The \"unlimited\" parameter must be false.

" + } + }, + "documentation":"

Information about the versioning of data set contents.

" + }, + "VolumeSizeInGB":{ + "type":"integer", + "max":50, + "min":1 + }, + "errorMessage":{"type":"string"}, + "resourceArn":{"type":"string"}, + "resourceId":{"type":"string"} + }, + "documentation":"

AWS IoT Analytics allows you to collect large amounts of device data, process messages, and store them. You can then query the data and run sophisticated analytics on it. AWS IoT Analytics enables advanced data exploration through integration with Jupyter Notebooks and data visualization through integration with Amazon QuickSight.

Traditional analytics and business intelligence tools are designed to process structured data. IoT data often comes from devices that record noisy processes (such as temperature, motion, or sound). As a result the data from these devices can have significant gaps, corrupted messages, and false readings that must be cleaned up before analysis can occur. Also, IoT data is often only meaningful in the context of other data from external sources.

AWS IoT Analytics automates the steps required to analyze data from IoT devices. AWS IoT Analytics filters, transforms, and enriches IoT data before storing it in a time-series data store for analysis. You can set up the service to collect only the data you need from your devices, apply mathematical transforms to process the data, and enrich the data with device-specific metadata such as device type and location before storing it. Then, you can analyze your data by running queries using the built-in SQL query engine, or perform more complex analytics and machine learning inference. AWS IoT Analytics includes pre-built models for common IoT use cases so you can answer questions like which devices are about to fail or which customers are at risk of abandoning their wearable devices.

" +} diff -Nru python-botocore-1.4.70/botocore/data/iot-data/2015-05-28/service-2.json python-botocore-1.16.19+repack/botocore/data/iot-data/2015-05-28/service-2.json --- python-botocore-1.4.70/botocore/data/iot-data/2015-05-28/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot-data/2015-05-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,10 +1,12 @@ { "version":"2.0", "metadata":{ + "uid":"iot-data-2015-05-28", "apiVersion":"2015-05-28", "endpointPrefix":"data.iot", "protocol":"rest-json", "serviceFullName":"AWS IoT Data Plane", + "serviceId":"IoT Data Plane", "signatureVersion":"v4", "signingName":"iotdata" }, diff -Nru python-botocore-1.4.70/botocore/data/iotevents/2018-07-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotevents/2018-07-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotevents/2018-07-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotevents/2018-07-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/iotevents/2018-07-27/service-2.json python-botocore-1.16.19+repack/botocore/data/iotevents/2018-07-27/service-2.json --- python-botocore-1.4.70/botocore/data/iotevents/2018-07-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotevents/2018-07-27/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1845 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-07-27", + "endpointPrefix":"iotevents", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Events", + "serviceId":"IoT Events", + "signatureVersion":"v4", + "signingName":"iotevents", + "uid":"iotevents-2018-07-27" + }, + "operations":{ + "CreateDetectorModel":{ + "name":"CreateDetectorModel", + "http":{ + "method":"POST", + "requestUri":"/detector-models" + }, + "input":{"shape":"CreateDetectorModelRequest"}, + "output":{"shape":"CreateDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates a detector model.

" + }, + "CreateInput":{ + "name":"CreateInput", + "http":{ + "method":"POST", + "requestUri":"/inputs", + "responseCode":201 + }, + "input":{"shape":"CreateInputRequest"}, + "output":{"shape":"CreateInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

Creates an input.

" + }, + "DeleteDetectorModel":{ + "name":"DeleteDetectorModel", + "http":{ + "method":"DELETE", + "requestUri":"/detector-models/{detectorModelName}", + "responseCode":204 + }, + "input":{"shape":"DeleteDetectorModelRequest"}, + "output":{"shape":"DeleteDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes a detector model. Any active instances of the detector model are also deleted.

" + }, + "DeleteInput":{ + "name":"DeleteInput", + "http":{ + "method":"DELETE", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"DeleteInputRequest"}, + "output":{"shape":"DeleteInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes an input.

" + }, + "DescribeDetectorModel":{ + "name":"DescribeDetectorModel", + "http":{ + "method":"GET", + "requestUri":"/detector-models/{detectorModelName}" + }, + "input":{"shape":"DescribeDetectorModelRequest"}, + "output":{"shape":"DescribeDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes a detector model. If the version parameter is not specified, information about the latest version is returned.

" + }, + "DescribeInput":{ + "name":"DescribeInput", + "http":{ + "method":"GET", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"DescribeInputRequest"}, + "output":{"shape":"DescribeInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Describes an input.

" + }, + "DescribeLoggingOptions":{ + "name":"DescribeLoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/logging" + }, + "input":{"shape":"DescribeLoggingOptionsRequest"}, + "output":{"shape":"DescribeLoggingOptionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

Retrieves the current settings of the AWS IoT Events logging options.

" + }, + "ListDetectorModelVersions":{ + "name":"ListDetectorModelVersions", + "http":{ + "method":"GET", + "requestUri":"/detector-models/{detectorModelName}/versions" + }, + "input":{"shape":"ListDetectorModelVersionsRequest"}, + "output":{"shape":"ListDetectorModelVersionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists all the versions of a detector model. Only the metadata associated with each detector model version is returned.

" + }, + "ListDetectorModels":{ + "name":"ListDetectorModels", + "http":{ + "method":"GET", + "requestUri":"/detector-models" + }, + "input":{"shape":"ListDetectorModelsRequest"}, + "output":{"shape":"ListDetectorModelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the detector models you have created. Only the metadata associated with each detector model is returned.

" + }, + "ListInputs":{ + "name":"ListInputs", + "http":{ + "method":"GET", + "requestUri":"/inputs" + }, + "input":{"shape":"ListInputsRequest"}, + "output":{"shape":"ListInputsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the inputs you have created.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists the tags (metadata) you have assigned to the resource.

" + }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"PUT", + "requestUri":"/logging" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Sets or updates the AWS IoT Events logging options.

If you update the value of any loggingOptions field, it takes up to one minute for the change to take effect. If you change the policy attached to the role you specified in the roleArn field (for example, to correct an invalid policy), it takes up to five minutes for that change to take effect.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Adds to or modifies the tags of the given resource. Tags are metadata that can be used to manage a resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Removes the given tags (metadata) from the resource.

" + }, + "UpdateDetectorModel":{ + "name":"UpdateDetectorModel", + "http":{ + "method":"POST", + "requestUri":"/detector-models/{detectorModelName}" + }, + "input":{"shape":"UpdateDetectorModelRequest"}, + "output":{"shape":"UpdateDetectorModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Updates a detector model. Detectors (instances) spawned by the previous version are deleted and then re-created as new inputs arrive.

" + }, + "UpdateInput":{ + "name":"UpdateInput", + "http":{ + "method":"PUT", + "requestUri":"/inputs/{inputName}" + }, + "input":{"shape":"UpdateInputRequest"}, + "output":{"shape":"UpdateInputResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates an input.

" + } + }, + "shapes":{ + "Action":{ + "type":"structure", + "members":{ + "setVariable":{ + "shape":"SetVariableAction", + "documentation":"

Sets a variable to a specified value.

" + }, + "sns":{ + "shape":"SNSTopicPublishAction", + "documentation":"

Sends an Amazon SNS message.

" + }, + "iotTopicPublish":{ + "shape":"IotTopicPublishAction", + "documentation":"

Publishes an MQTT message with the given topic to the AWS IoT message broker.

" + }, + "setTimer":{ + "shape":"SetTimerAction", + "documentation":"

Information needed to set the timer.

" + }, + "clearTimer":{ + "shape":"ClearTimerAction", + "documentation":"

Information needed to clear the timer.

" + }, + "resetTimer":{ + "shape":"ResetTimerAction", + "documentation":"

Information needed to reset the timer.

" + }, + "lambda":{ + "shape":"LambdaAction", + "documentation":"

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

" + }, + "iotEvents":{ + "shape":"IotEventsAction", + "documentation":"

Sends AWS IoT Events input, which passes information about the detector model instance and the event that triggered the action.

" + }, + "sqs":{ + "shape":"SqsAction", + "documentation":"

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

" + }, + "firehose":{ + "shape":"FirehoseAction", + "documentation":"

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

" + }, + "dynamoDB":{ + "shape":"DynamoDBAction", + "documentation":"

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

" + }, + "dynamoDBv2":{ + "shape":"DynamoDBv2Action", + "documentation":"

Writes to the DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify. For more information, see Actions in AWS IoT Events Developer Guide.

" + }, + "iotSiteWise":{ + "shape":"IotSiteWiseAction", + "documentation":"

Sends information about the detector model instance and the event that triggered the action to an asset property in AWS IoT SiteWise .

" + } + }, + "documentation":"

An action to be performed when the condition is TRUE.

" + }, + "Actions":{ + "type":"list", + "member":{"shape":"Action"} + }, + "AmazonResourceName":{ + "type":"string", + "max":2048, + "min":1 + }, + "AssetId":{"type":"string"}, + "AssetPropertyAlias":{"type":"string"}, + "AssetPropertyBooleanValue":{"type":"string"}, + "AssetPropertyDoubleValue":{"type":"string"}, + "AssetPropertyEntryId":{"type":"string"}, + "AssetPropertyId":{"type":"string"}, + "AssetPropertyIntegerValue":{"type":"string"}, + "AssetPropertyOffsetInNanos":{"type":"string"}, + "AssetPropertyQuality":{"type":"string"}, + "AssetPropertyStringValue":{"type":"string"}, + "AssetPropertyTimeInSeconds":{"type":"string"}, + "AssetPropertyTimestamp":{ + "type":"structure", + "required":["timeInSeconds"], + "members":{ + "timeInSeconds":{ + "shape":"AssetPropertyTimeInSeconds", + "documentation":"

The timestamp, in seconds, in the Unix epoch format. The valid range is between 1-31556889864403199. You can also specify an expression.

" + }, + "offsetInNanos":{ + "shape":"AssetPropertyOffsetInNanos", + "documentation":"

The nanosecond offset converted from timeInSeconds. The valid range is between 0-999999999. You can also specify an expression.

" + } + }, + "documentation":"

A structure that contains timestamp information. For more information, see TimeInNanos in the AWS IoT SiteWise API Reference.

For parameters that are string data type, you can specify the following options:

  • Use a string. For example, the timeInSeconds value can be '1586400675'.

  • Use an expression. For example, the timeInSeconds value can be '${$input.TemperatureInput.sensorData.timestamp/1000}'.

    For more information, see Expressions in the AWS IoT Events Developer Guide.

" + }, + "AssetPropertyValue":{ + "type":"structure", + "required":["value"], + "members":{ + "value":{ + "shape":"AssetPropertyVariant", + "documentation":"

The value to send to an asset property.

" + }, + "timestamp":{ + "shape":"AssetPropertyTimestamp", + "documentation":"

The timestamp associated with the asset property value. The default is the current event time.

" + }, + "quality":{ + "shape":"AssetPropertyQuality", + "documentation":"

The quality of the asset property value. The value must be GOOD, BAD, or UNCERTAIN. You can also specify an expression.

" + } + }, + "documentation":"

A structure that contains value information. For more information, see AssetPropertyValue in the AWS IoT SiteWise API Reference.

For parameters that are string data type, you can specify the following options:

  • Use a string. For example, the quality value can be 'GOOD'.

  • Use an expression. For example, the quality value can be $input.TemperatureInput.sensorData.quality .

    For more information, see Expressions in the AWS IoT Events Developer Guide.

" + }, + "AssetPropertyVariant":{ + "type":"structure", + "members":{ + "stringValue":{ + "shape":"AssetPropertyStringValue", + "documentation":"

The asset property value is a string. You can also specify an expression. If you use an expression, the evaluated result should be a string.

" + }, + "integerValue":{ + "shape":"AssetPropertyIntegerValue", + "documentation":"

The asset property value is an integer. You can also specify an expression. If you use an expression, the evaluated result should be an integer.

" + }, + "doubleValue":{ + "shape":"AssetPropertyDoubleValue", + "documentation":"

The asset property value is a double. You can also specify an expression. If you use an expression, the evaluated result should be a double.

" + }, + "booleanValue":{ + "shape":"AssetPropertyBooleanValue", + "documentation":"

The asset property value is a Boolean value that must be TRUE or FALSE. You can also specify an expression. If you use an expression, the evaluated result should be a Boolean value.

" + } + }, + "documentation":"

A structure that contains an asset property value. For more information, see Variant in the AWS IoT SiteWise API Reference.

You must specify one of the following value types, depending on the dataType of the specified asset property. For more information, see AssetProperty in the AWS IoT SiteWise API Reference.

For parameters that are string data type, you can specify the following options:

  • Use a string. For example, the doubleValue value can be '47.9'.

  • Use an expression. For example, the doubleValue value can be $input.TemperatureInput.sensorData.temperature.

    For more information, see Expressions in the AWS IoT Events Developer Guide.

" + }, + "Attribute":{ + "type":"structure", + "required":["jsonPath"], + "members":{ + "jsonPath":{ + "shape":"AttributeJsonPath", + "documentation":"

An expression that specifies an attribute-value pair in a JSON structure. Use this to specify an attribute from the JSON payload that is made available by the input. Inputs are derived from messages sent to AWS IoT Events (BatchPutMessage). Each such message contains a JSON payload. The attribute (and its paired value) specified here are available for use in the condition expressions used by detectors.

Syntax: <field-name>.<field-name>...

" + } + }, + "documentation":"

The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using BatchPutMessage. Each such message contains a JSON payload. Those attributes (and their paired values) specified here are available for use in the condition expressions used by detectors.

" + }, + "AttributeJsonPath":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^((`[\\w\\- ]+`)|([\\w\\-]+))(\\.((`[\\w- ]+`)|([\\w\\-]+)))*$" + }, + "Attributes":{ + "type":"list", + "member":{"shape":"Attribute"}, + "max":200, + "min":1 + }, + "ClearTimerAction":{ + "type":"structure", + "required":["timerName"], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer to clear.

" + } + }, + "documentation":"

Information needed to clear the timer.

" + }, + "Condition":{ + "type":"string", + "max":512 + }, + "ContentExpression":{ + "type":"string", + "min":1 + }, + "CreateDetectorModelRequest":{ + "type":"structure", + "required":[ + "detectorModelName", + "detectorModelDefinition", + "roleArn" + ], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how the detectors operate.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "key":{ + "shape":"AttributeJsonPath", + "documentation":"

The input attribute key used to identify a device or system to create a detector (an instance of the detector model) and then to route each input received to the appropriate detector (instance). This parameter uses a JSON-path expression in the message payload of each input to specify the attribute-value pair that is used to identify the device associated with the input.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

Metadata that can be used to manage the detector model.

" + }, + "evaluationMethod":{ + "shape":"EvaluationMethod", + "documentation":"

Information about the order in which events are evaluated and how actions are executed.

" + } + } + }, + "CreateDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector model is configured.

" + } + } + }, + "CreateInputRequest":{ + "type":"structure", + "required":[ + "inputName", + "inputDefinition" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name you want to give to the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

Metadata that can be used to manage the input.

" + } + } + }, + "CreateInputResponse":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of the input.

" + } + } + }, + "DeleteDetectorModelRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model to be deleted.

", + "location":"uri", + "locationName":"detectorModelName" + } + } + }, + "DeleteDetectorModelResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteInputRequest":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input to delete.

", + "location":"uri", + "locationName":"inputName" + } + } + }, + "DeleteInputResponse":{ + "type":"structure", + "members":{ + } + }, + "DeliveryStreamName":{"type":"string"}, + "DescribeDetectorModelRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model.

", + "location":"querystring", + "locationName":"version" + } + } + }, + "DescribeDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModel":{ + "shape":"DetectorModel", + "documentation":"

Information about the detector model.

" + } + } + }, + "DescribeInputRequest":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

", + "location":"uri", + "locationName":"inputName" + } + } + }, + "DescribeInputResponse":{ + "type":"structure", + "members":{ + "input":{ + "shape":"Input", + "documentation":"

Information about the input.

" + } + } + }, + "DescribeLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeLoggingOptionsResponse":{ + "type":"structure", + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The current settings of the AWS IoT Events logging options.

" + } + } + }, + "DetectorDebugOption":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the input attribute key used to create the detector (the instance of the detector model).

" + } + }, + "documentation":"

The detector model and the specific detectors (instances) for which the logging level is given.

" + }, + "DetectorDebugOptions":{ + "type":"list", + "member":{"shape":"DetectorDebugOption"}, + "min":1 + }, + "DetectorModel":{ + "type":"structure", + "members":{ + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how a detector operates.

" + }, + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector is configured.

" + } + }, + "documentation":"

Information about the detector model.

" + }, + "DetectorModelArn":{"type":"string"}, + "DetectorModelConfiguration":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "detectorModelArn":{ + "shape":"DetectorModelArn", + "documentation":"

The ARN of the detector model.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was last updated.

" + }, + "status":{ + "shape":"DetectorModelVersionStatus", + "documentation":"

The status of the detector model.

" + }, + "key":{ + "shape":"AttributeJsonPath", + "documentation":"

The value used to identify a detector instance. When a device or system sends input, a new detector instance with a unique key value is created. AWS IoT Events can continue to route input to its corresponding detector instance based on this identifying information.

This parameter uses a JSON-path expression to select the attribute-value pair in the message payload that is used for identification. To route the message to the correct detector instance, the device must send a message payload that contains the same attribute-value.

" + }, + "evaluationMethod":{ + "shape":"EvaluationMethod", + "documentation":"

Information about the order in which events are evaluated and how actions are executed.

" + } + }, + "documentation":"

Information about how the detector model is configured.

" + }, + "DetectorModelDefinition":{ + "type":"structure", + "required":[ + "states", + "initialStateName" + ], + "members":{ + "states":{ + "shape":"States", + "documentation":"

Information about the states of the detector.

" + }, + "initialStateName":{ + "shape":"StateName", + "documentation":"

The state that is entered at the creation of each detector (instance).

" + } + }, + "documentation":"

Information that defines how a detector operates.

" + }, + "DetectorModelDescription":{ + "type":"string", + "max":128 + }, + "DetectorModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "DetectorModelSummaries":{ + "type":"list", + "member":{"shape":"DetectorModelSummary"} + }, + "DetectorModelSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model was created.

" + } + }, + "documentation":"

Information about the detector model.

" + }, + "DetectorModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "DetectorModelVersionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ACTIVATING", + "INACTIVE", + "DEPRECATED", + "DRAFT", + "PAUSED", + "FAILED" + ] + }, + "DetectorModelVersionSummaries":{ + "type":"list", + "member":{"shape":"DetectorModelVersionSummary"} + }, + "DetectorModelVersionSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model.

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The ID of the detector model version.

" + }, + "detectorModelArn":{ + "shape":"DetectorModelArn", + "documentation":"

The ARN of the detector model version.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants the detector model permission to perform its tasks.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector model version was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the detector model version was updated.

" + }, + "status":{ + "shape":"DetectorModelVersionStatus", + "documentation":"

The status of the detector model version.

" + }, + "evaluationMethod":{ + "shape":"EvaluationMethod", + "documentation":"

Information about the order in which events are evaluated and how actions are executed.

" + } + }, + "documentation":"

Information about the detector model version.

" + }, + "DynamoDBAction":{ + "type":"structure", + "required":[ + "hashKeyField", + "hashKeyValue", + "tableName" + ], + "members":{ + "hashKeyType":{ + "shape":"DynamoKeyType", + "documentation":"

The data type for the hash key (also called the partition key). You can specify the following values:

  • STRING - The hash key is a string.

  • NUMBER - The hash key is a number.

If you don't specify hashKeyType, the default value is STRING.

" + }, + "hashKeyField":{ + "shape":"DynamoKeyField", + "documentation":"

The name of the hash key (also called the partition key).

" + }, + "hashKeyValue":{ + "shape":"DynamoKeyValue", + "documentation":"

The value of the hash key (also called the partition key).

" + }, + "rangeKeyType":{ + "shape":"DynamoKeyType", + "documentation":"

The data type for the range key (also called the sort key), You can specify the following values:

  • STRING - The range key is a string.

  • NUMBER - The range key is number.

If you don't specify rangeKeyField, the default value is STRING.

" + }, + "rangeKeyField":{ + "shape":"DynamoKeyField", + "documentation":"

The name of the range key (also called the sort key).

" + }, + "rangeKeyValue":{ + "shape":"DynamoKeyValue", + "documentation":"

The value of the range key (also called the sort key).

" + }, + "operation":{ + "shape":"DynamoOperation", + "documentation":"

The type of operation to perform. You can specify the following values:

  • INSERT - Insert data as a new item into the DynamoDB table. This item uses the specified hash key as a partition key. If you specified a range key, the item uses the range key as a sort key.

  • UPDATE - Update an existing item of the DynamoDB table with new data. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.

  • DELETE - Delete an existing item of the DynamoDB table. This item's partition key must match the specified hash key. If you specified a range key, the range key must match the item's sort key.

If you don't specify this parameter, AWS IoT Events triggers the INSERT operation.

" + }, + "payloadField":{ + "shape":"DynamoKeyField", + "documentation":"

The name of the DynamoDB column that receives the action payload.

If you don't specify this parameter, the name of the DynamoDB column is payload.

" + }, + "tableName":{ + "shape":"DynamoTableName", + "documentation":"

The name of the DynamoDB table.

" + }, + "payload":{"shape":"Payload"} + }, + "documentation":"

Defines an action to write to the Amazon DynamoDB table that you created. The standard action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the payload. One column of the DynamoDB table receives all attribute-value pairs in the payload that you specify.

The tableName and hashKeyField values must match the table name and the partition key of the DynamoDB table.

If the DynamoDB table also has a sort key, you must specify rangeKeyField. The rangeKeyField value must match the sort key.

The hashKeyValue and rangeKeyValue use substitution templates. These templates provide data at runtime. The syntax is ${sql-expression}.

You can use expressions for parameters that are string data type. For more information, see Expressions in the AWS IoT Events Developer Guide.

If the defined payload type is a string, DynamoDBAction writes non-JSON data to the DynamoDB table as binary data. The DynamoDB console displays the data as Base64-encoded text. The payloadField is <payload-field>_raw.

" + }, + "DynamoDBv2Action":{ + "type":"structure", + "required":["tableName"], + "members":{ + "tableName":{ + "shape":"DynamoTableName", + "documentation":"

The name of the DynamoDB table.

" + }, + "payload":{"shape":"Payload"} + }, + "documentation":"

Defines an action to write to the Amazon DynamoDB table that you created. The default action payload contains all attribute-value pairs that have the information about the detector model instance and the event that triggered the action. You can also customize the payload. A separate column of the DynamoDB table receives one attribute-value pair in the payload that you specify.

The type value for Payload must be JSON.

You can use expressions for parameters that are strings. For more information, see Expressions in the AWS IoT Events Developer Guide.

" + }, + "DynamoKeyField":{"type":"string"}, + "DynamoKeyType":{"type":"string"}, + "DynamoKeyValue":{"type":"string"}, + "DynamoOperation":{"type":"string"}, + "DynamoTableName":{"type":"string"}, + "EvaluationMethod":{ + "type":"string", + "enum":[ + "BATCH", + "SERIAL" + ] + }, + "Event":{ + "type":"structure", + "required":["eventName"], + "members":{ + "eventName":{ + "shape":"EventName", + "documentation":"

The name of the event.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

Optional. The Boolean expression that, when TRUE, causes the actions to be performed. If not present, the actions are performed (=TRUE). If the expression result is not a Boolean value, the actions are not performed (=FALSE).

" + }, + "actions":{ + "shape":"Actions", + "documentation":"

The actions to be performed.

" + } + }, + "documentation":"

Specifies the actions to be performed when the condition evaluates to TRUE.

" + }, + "EventName":{ + "type":"string", + "max":128 + }, + "Events":{ + "type":"list", + "member":{"shape":"Event"} + }, + "FirehoseAction":{ + "type":"structure", + "required":["deliveryStreamName"], + "members":{ + "deliveryStreamName":{ + "shape":"DeliveryStreamName", + "documentation":"

The name of the Kinesis Data Firehose delivery stream where the data is written.

" + }, + "separator":{ + "shape":"FirehoseSeparator", + "documentation":"

A character separator that is used to separate records written to the Kinesis Data Firehose delivery stream. Valid values are: '\\n' (newline), '\\t' (tab), '\\r\\n' (Windows newline), ',' (comma).

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you send a message to an Amazon Kinesis Data Firehose delivery stream.

" + } + }, + "documentation":"

Sends information about the detector model instance and the event that triggered the action to an Amazon Kinesis Data Firehose delivery stream.

" + }, + "FirehoseSeparator":{ + "type":"string", + "pattern":"([\\n\\t])|(\\r\\n)|(,)" + }, + "Input":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of an input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + } + }, + "documentation":"

Information about the input.

" + }, + "InputArn":{"type":"string"}, + "InputConfiguration":{ + "type":"structure", + "required":[ + "inputName", + "inputArn", + "creationTime", + "lastUpdateTime", + "status" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputArn":{ + "shape":"InputArn", + "documentation":"

The ARN of the input.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the input was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the input was updated.

" + }, + "status":{ + "shape":"InputStatus", + "documentation":"

The status of the input.

" + } + }, + "documentation":"

Information about the configuration of an input.

" + }, + "InputDefinition":{ + "type":"structure", + "required":["attributes"], + "members":{ + "attributes":{ + "shape":"Attributes", + "documentation":"

The attributes from the JSON payload that are made available by the input. Inputs are derived from messages sent to the AWS IoT Events system using BatchPutMessage. Each such message contains a JSON payload, and those attributes (and their paired values) specified here are available for use in the condition expressions used by detectors that monitor this input.

" + } + }, + "documentation":"

The definition of the input.

" + }, + "InputDescription":{ + "type":"string", + "max":128 + }, + "InputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "InputStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "ACTIVE", + "DELETING" + ] + }, + "InputSummaries":{ + "type":"list", + "member":{"shape":"InputSummary"} + }, + "InputSummary":{ + "type":"structure", + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input.

" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputArn":{ + "shape":"InputArn", + "documentation":"

The ARN of the input.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the input was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The last time the input was updated.

" + }, + "status":{ + "shape":"InputStatus", + "documentation":"

The status of the input.

" + } + }, + "documentation":"

Information about the input.

" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An internal failure occurred.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request was invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IotEventsAction":{ + "type":"structure", + "required":["inputName"], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the AWS IoT Events input where the data is sent.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you send a message to an AWS IoT Events input.

" + } + }, + "documentation":"

Sends an AWS IoT Events input, passing in information about the detector model instance and the event that triggered the action.

" + }, + "IotSiteWiseAction":{ + "type":"structure", + "required":["propertyValue"], + "members":{ + "entryId":{ + "shape":"AssetPropertyEntryId", + "documentation":"

A unique identifier for this entry. You can use the entry ID to track which data entry causes an error in case of failure. The default is a new unique identifier. You can also specify an expression.

" + }, + "assetId":{ + "shape":"AssetId", + "documentation":"

The ID of the asset that has the specified property. You can specify an expression.

" + }, + "propertyId":{ + "shape":"AssetPropertyId", + "documentation":"

The ID of the asset property. You can specify an expression.

" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The alias of the asset property. You can also specify an expression.

" + }, + "propertyValue":{ + "shape":"AssetPropertyValue", + "documentation":"

The value to send to the asset property. This value contains timestamp, quality, and value (TQV) information.

" + } + }, + "documentation":"

Sends information about the detector model instance and the event that triggered the action to a specified asset property in AWS IoT SiteWise.

You must specify either propertyAlias or both assetId and propertyId to identify the target asset property in AWS IoT SiteWise.

For parameters that are string data type, you can specify the following options:

  • Use a string. For example, the propertyAlias value can be '/company/windfarm/3/turbine/7/temperature'.

  • Use an expression. For example, the propertyAlias value can be 'company/windfarm/${$input.TemperatureInput.sensorData.windfarmID}/turbine/${$input.TemperatureInput.sensorData.turbineID}/temperature'.

    For more information, see Expressions in the AWS IoT Events Developer Guide.

" + }, + "IotTopicPublishAction":{ + "type":"structure", + "required":["mqttTopic"], + "members":{ + "mqttTopic":{ + "shape":"MQTTTopic", + "documentation":"

The MQTT topic of the message. You can use a string expression that includes variables ($variable.<variable-name>) and input values ($input.<input-name>.<path-to-datum>) as the topic string.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you publish a message to an AWS IoT Core topic.

" + } + }, + "documentation":"

Information required to publish the MQTT message through the AWS IoT message broker.

" + }, + "KeyValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-_:]+$" + }, + "LambdaAction":{ + "type":"structure", + "required":["functionArn"], + "members":{ + "functionArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the Lambda function that is executed.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you send a message to a Lambda function.

" + } + }, + "documentation":"

Calls a Lambda function, passing in information about the detector model instance and the event that triggered the action.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

A limit was exceeded.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListDetectorModelVersionsRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose versions are returned.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorModelVersionsResponse":{ + "type":"structure", + "members":{ + "detectorModelVersionSummaries":{ + "shape":"DetectorModelVersionSummaries", + "documentation":"

Summary information about the detector model versions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListDetectorModelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorModelsResponse":{ + "type":"structure", + "members":{ + "detectorModelSummaries":{ + "shape":"DetectorModelSummaries", + "documentation":"

Summary information about the detector models.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListInputsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListInputsResponse":{ + "type":"structure", + "members":{ + "inputSummaries":{ + "shape":"InputSummaries", + "documentation":"

Summary information about the inputs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The list of tags assigned to the resource.

" + } + } + }, + "LoggingEnabled":{"type":"boolean"}, + "LoggingLevel":{ + "type":"string", + "enum":[ + "ERROR", + "INFO", + "DEBUG" + ] + }, + "LoggingOptions":{ + "type":"structure", + "required":[ + "roleArn", + "level", + "enabled" + ], + "members":{ + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform logging.

" + }, + "level":{ + "shape":"LoggingLevel", + "documentation":"

The logging level.

" + }, + "enabled":{ + "shape":"LoggingEnabled", + "documentation":"

If TRUE, logging is enabled for AWS IoT Events.

" + }, + "detectorDebugOptions":{ + "shape":"DetectorDebugOptions", + "documentation":"

Information that identifies those detector models and their detectors (instances) for which the logging level is given.

" + } + }, + "documentation":"

The values of the AWS IoT Events logging options.

" + }, + "MQTTTopic":{ + "type":"string", + "max":128, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "NextToken":{"type":"string"}, + "OnEnterLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions that are performed when the state is entered and the condition is TRUE.

" + } + }, + "documentation":"

When entering this state, perform these actions if the condition is TRUE.

" + }, + "OnExitLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions that are performed when the state is exited and the condition is TRUE.

" + } + }, + "documentation":"

When exiting this state, perform these actions if the specified condition is TRUE.

" + }, + "OnInputLifecycle":{ + "type":"structure", + "members":{ + "events":{ + "shape":"Events", + "documentation":"

Specifies the actions performed when the condition evaluates to TRUE.

" + }, + "transitionEvents":{ + "shape":"TransitionEvents", + "documentation":"

Specifies the actions performed, and the next state entered, when a condition evaluates to TRUE.

" + } + }, + "documentation":"

Specifies the actions performed when the condition evaluates to TRUE.

" + }, + "Payload":{ + "type":"structure", + "required":[ + "contentExpression", + "type" + ], + "members":{ + "contentExpression":{ + "shape":"ContentExpression", + "documentation":"

The content of the payload. You can use a string expression that includes quoted strings ('<string>'), variables ($variable.<variable-name>), input values ($input.<input-name>.<path-to-datum>), string concatenations, and quoted strings that contain ${} as the content. The recommended maximum size of a content expression is 1 KB.

" + }, + "type":{ + "shape":"PayloadType", + "documentation":"

The value of the payload type can be either STRING or JSON.

" + } + }, + "documentation":"

Information needed to configure the payload.

By default, AWS IoT Events generates a standard payload in JSON for any action. This action payload contains all attribute-value pairs that have the information about the detector model instance and the event triggered the action. To configure the action payload, you can use contentExpression.

" + }, + "PayloadType":{ + "type":"string", + "enum":[ + "STRING", + "JSON" + ] + }, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The new values of the AWS IoT Events logging options.

" + } + } + }, + "QueueUrl":{"type":"string"}, + "ResetTimerAction":{ + "type":"structure", + "required":["timerName"], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer to reset.

" + } + }, + "documentation":"

Information required to reset the timer. The timer is reset to the previously evaluated result of the duration. The duration expression isn't reevaluated when you reset the timer.

" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + }, + "resourceId":{ + "shape":"resourceId", + "documentation":"

The ID of the resource.

" + }, + "resourceArn":{ + "shape":"resourceArn", + "documentation":"

The ARN of the resource.

" + } + }, + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource is in use.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SNSTopicPublishAction":{ + "type":"structure", + "required":["targetArn"], + "members":{ + "targetArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the Amazon SNS target where the message is sent.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you send a message as an Amazon SNS push notification.

" + } + }, + "documentation":"

Information required to publish the Amazon SNS message.

" + }, + "Seconds":{ + "type":"integer", + "max":31622400, + "min":1 + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The service is currently unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SetTimerAction":{ + "type":"structure", + "required":["timerName"], + "members":{ + "timerName":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "seconds":{ + "shape":"Seconds", + "documentation":"

The number of seconds until the timer expires. The minimum value is 60 seconds to ensure accuracy. The maximum value is 31622400 seconds.

", + "deprecated":true, + "deprecatedMessage":"seconds is deprecated. You can use durationExpression for SetTimerAction. The value of seconds can be used as a string expression for durationExpression." + }, + "durationExpression":{ + "shape":"VariableValue", + "documentation":"

The duration of the timer, in seconds. You can use a string expression that includes numbers, variables ($variable.<variable-name>), and input values ($input.<input-name>.<path-to-datum>) as the duration. The range of the duration is 1-31622400 seconds. To ensure accuracy, the minimum duration is 60 seconds. The evaluated result of the duration is rounded down to the nearest whole number.

" + } + }, + "documentation":"

Information needed to set the timer.

" + }, + "SetVariableAction":{ + "type":"structure", + "required":[ + "variableName", + "value" + ], + "members":{ + "variableName":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The new value of the variable.

" + } + }, + "documentation":"

Information about the variable and its new value.

" + }, + "SqsAction":{ + "type":"structure", + "required":["queueUrl"], + "members":{ + "queueUrl":{ + "shape":"QueueUrl", + "documentation":"

The URL of the SQS queue where the data is written.

" + }, + "useBase64":{ + "shape":"UseBase64", + "documentation":"

Set this to TRUE if you want the data to be base-64 encoded before it is written to the queue. Otherwise, set this to FALSE.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

You can configure the action payload when you send a message to an Amazon SQS queue.

" + } + }, + "documentation":"

Sends information about the detector model instance and the event that triggered the action to an Amazon SQS queue.

" + }, + "State":{ + "type":"structure", + "required":["stateName"], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + }, + "onInput":{ + "shape":"OnInputLifecycle", + "documentation":"

When an input is received and the condition is TRUE, perform the specified actions.

" + }, + "onEnter":{ + "shape":"OnEnterLifecycle", + "documentation":"

When entering this state, perform these actions if the condition is TRUE.

" + }, + "onExit":{ + "shape":"OnExitLifecycle", + "documentation":"

When exiting this state, perform these actions if the specified condition is TRUE.

" + } + }, + "documentation":"

Information that defines a state of a detector.

" + }, + "StateName":{ + "type":"string", + "max":128, + "min":1 + }, + "States":{ + "type":"list", + "member":{"shape":"State"}, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The tag's key.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The tag's value.

" + } + }, + "documentation":"

Metadata that can be used to manage the resource.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The new or modified tags for the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request could not be completed due to throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimerName":{ + "type":"string", + "max":128, + "min":1 + }, + "Timestamp":{"type":"timestamp"}, + "TransitionEvent":{ + "type":"structure", + "required":[ + "eventName", + "condition", + "nextState" + ], + "members":{ + "eventName":{ + "shape":"EventName", + "documentation":"

The name of the transition event.

" + }, + "condition":{ + "shape":"Condition", + "documentation":"

Required. A Boolean expression that when TRUE causes the actions to be performed and the nextState to be entered.

" + }, + "actions":{ + "shape":"Actions", + "documentation":"

The actions to be performed.

" + }, + "nextState":{ + "shape":"StateName", + "documentation":"

The next state to enter.

" + } + }, + "documentation":"

Specifies the actions performed and the next state entered when a condition evaluates to TRUE.

" + }, + "TransitionEvents":{ + "type":"list", + "member":{"shape":"TransitionEvent"} + }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The requested operation is not supported.

", + "error":{"httpStatusCode":501}, + "exception":true, + "fault":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of the keys of the tags to be removed from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDetectorModelRequest":{ + "type":"structure", + "required":[ + "detectorModelName", + "detectorModelDefinition", + "roleArn" + ], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that is updated.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "detectorModelDefinition":{ + "shape":"DetectorModelDefinition", + "documentation":"

Information that defines how a detector operates.

" + }, + "detectorModelDescription":{ + "shape":"DetectorModelDescription", + "documentation":"

A brief description of the detector model.

" + }, + "roleArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the role that grants permission to AWS IoT Events to perform its operations.

" + }, + "evaluationMethod":{ + "shape":"EvaluationMethod", + "documentation":"

Information about the order in which events are evaluated and how actions are executed.

" + } + } + }, + "UpdateDetectorModelResponse":{ + "type":"structure", + "members":{ + "detectorModelConfiguration":{ + "shape":"DetectorModelConfiguration", + "documentation":"

Information about how the detector model is configured.

" + } + } + }, + "UpdateInputRequest":{ + "type":"structure", + "required":[ + "inputName", + "inputDefinition" + ], + "members":{ + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input you want to update.

", + "location":"uri", + "locationName":"inputName" + }, + "inputDescription":{ + "shape":"InputDescription", + "documentation":"

A brief description of the input.

" + }, + "inputDefinition":{ + "shape":"InputDefinition", + "documentation":"

The definition of the input.

" + } + } + }, + "UpdateInputResponse":{ + "type":"structure", + "members":{ + "inputConfiguration":{ + "shape":"InputConfiguration", + "documentation":"

Information about the configuration of the input.

" + } + } + }, + "UseBase64":{"type":"boolean"}, + "VariableName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "VariableValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "errorMessage":{"type":"string"}, + "resourceArn":{"type":"string"}, + "resourceId":{"type":"string"} + }, + "documentation":"

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. You can use AWS IoT Events API operations to create, read, update, and delete inputs and detector models, and to list their versions.

" +} diff -Nru python-botocore-1.4.70/botocore/data/iotevents-data/2018-10-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotevents-data/2018-10-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotevents-data/2018-10-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotevents-data/2018-10-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/iotevents-data/2018-10-23/service-2.json python-botocore-1.16.19+repack/botocore/data/iotevents-data/2018-10-23/service-2.json --- python-botocore-1.4.70/botocore/data/iotevents-data/2018-10-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotevents-data/2018-10-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,639 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-23", + "endpointPrefix":"data.iotevents", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Events Data", + "serviceId":"IoT Events Data", + "signatureVersion":"v4", + "signingName":"ioteventsdata", + "uid":"iotevents-data-2018-10-23" + }, + "operations":{ + "BatchPutMessage":{ + "name":"BatchPutMessage", + "http":{ + "method":"POST", + "requestUri":"/inputs/messages", + "responseCode":200 + }, + "input":{"shape":"BatchPutMessageRequest"}, + "output":{"shape":"BatchPutMessageResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Sends a set of messages to the AWS IoT Events system. Each message payload is transformed into the input you specify (\"inputName\") and ingested into any detectors that monitor that input. If multiple messages are sent, the order in which the messages are processed isn't guaranteed. To guarantee ordering, you must send messages one at a time and wait for a successful response.

" + }, + "BatchUpdateDetector":{ + "name":"BatchUpdateDetector", + "http":{ + "method":"POST", + "requestUri":"/detectors", + "responseCode":200 + }, + "input":{"shape":"BatchUpdateDetectorRequest"}, + "output":{"shape":"BatchUpdateDetectorResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates the state, variable values, and timer settings of one or more detectors (instances) of a specified detector model.

" + }, + "DescribeDetector":{ + "name":"DescribeDetector", + "http":{ + "method":"GET", + "requestUri":"/detectors/{detectorModelName}/keyValues/" + }, + "input":{"shape":"DescribeDetectorRequest"}, + "output":{"shape":"DescribeDetectorResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns information about the specified detector (instance).

" + }, + "ListDetectors":{ + "name":"ListDetectors", + "http":{ + "method":"GET", + "requestUri":"/detectors/{detectorModelName}" + }, + "input":{"shape":"ListDetectorsRequest"}, + "output":{"shape":"ListDetectorsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists detectors (the instances of a detector model).

" + } + }, + "shapes":{ + "BatchPutMessageErrorEntries":{ + "type":"list", + "member":{"shape":"BatchPutMessageErrorEntry"} + }, + "BatchPutMessageErrorEntry":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID of the message that caused the error. (See the value corresponding to the \"messageId\" key in the \"message\" object.)

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code associated with the error.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

More information about the error.

" + } + }, + "documentation":"

Contains information about the errors encountered.

" + }, + "BatchPutMessageRequest":{ + "type":"structure", + "required":["messages"], + "members":{ + "messages":{ + "shape":"Messages", + "documentation":"

The list of messages to send. Each message has the following format: '{ \"messageId\": \"string\", \"inputName\": \"string\", \"payload\": \"string\"}'

" + } + } + }, + "BatchPutMessageResponse":{ + "type":"structure", + "members":{ + "BatchPutMessageErrorEntries":{ + "shape":"BatchPutMessageErrorEntries", + "documentation":"

A list of any errors encountered when sending the messages.

" + } + } + }, + "BatchUpdateDetectorErrorEntries":{ + "type":"list", + "member":{"shape":"BatchUpdateDetectorErrorEntry"} + }, + "BatchUpdateDetectorErrorEntry":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The \"messageId\" of the update request that caused the error. (The value of the \"messageId\" in the update request \"Detector\" object.)

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The code of the error.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

A message describing the error.

" + } + }, + "documentation":"

Information about the error that occured when attempting to update a detector.

" + }, + "BatchUpdateDetectorRequest":{ + "type":"structure", + "required":["detectors"], + "members":{ + "detectors":{ + "shape":"UpdateDetectorRequests", + "documentation":"

The list of detectors (instances) to update, along with the values to update.

" + } + } + }, + "BatchUpdateDetectorResponse":{ + "type":"structure", + "members":{ + "batchUpdateDetectorErrorEntries":{ + "shape":"BatchUpdateDetectorErrorEntries", + "documentation":"

A list of those detector updates that resulted in errors. (If an error is listed here, the specific update did not occur.)

" + } + } + }, + "DescribeDetectorRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose detectors (instances) you want information about.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

A filter used to limit results to detectors (instances) created because of the given key ID.

", + "location":"querystring", + "locationName":"keyValue" + } + } + }, + "DescribeDetectorResponse":{ + "type":"structure", + "members":{ + "detector":{ + "shape":"Detector", + "documentation":"

Information about the detector (instance).

" + } + } + }, + "Detector":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created this detector (instance).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model that created this detector (instance).

" + }, + "state":{ + "shape":"DetectorState", + "documentation":"

The current state of the detector (instance).

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was last updated.

" + } + }, + "documentation":"

Information about the detector (instance).

" + }, + "DetectorModelName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "DetectorModelVersion":{ + "type":"string", + "max":128, + "min":1 + }, + "DetectorState":{ + "type":"structure", + "required":[ + "stateName", + "variables", + "timers" + ], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + }, + "variables":{ + "shape":"Variables", + "documentation":"

The current values of the detector's variables.

" + }, + "timers":{ + "shape":"Timers", + "documentation":"

The current state of the detector's timers.

" + } + }, + "documentation":"

Information about the current state of the detector instance.

" + }, + "DetectorStateDefinition":{ + "type":"structure", + "required":[ + "stateName", + "variables", + "timers" + ], + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the new state of the detector (instance).

" + }, + "variables":{ + "shape":"VariableDefinitions", + "documentation":"

The new values of the detector's variables. Any variable whose value isn't specified is cleared.

" + }, + "timers":{ + "shape":"TimerDefinitions", + "documentation":"

The new values of the detector's timers. Any timer whose value isn't specified is cleared, and its timeout event won't occur.

" + } + }, + "documentation":"

The new state, variable values, and timer settings of the detector (instance).

" + }, + "DetectorStateSummary":{ + "type":"structure", + "members":{ + "stateName":{ + "shape":"StateName", + "documentation":"

The name of the state.

" + } + }, + "documentation":"

Information about the detector state.

" + }, + "DetectorSummaries":{ + "type":"list", + "member":{"shape":"DetectorSummary"} + }, + "DetectorSummary":{ + "type":"structure", + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created this detector (instance).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the key (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "detectorModelVersion":{ + "shape":"DetectorModelVersion", + "documentation":"

The version of the detector model that created this detector (instance).

" + }, + "state":{ + "shape":"DetectorStateSummary", + "documentation":"

The current state of the detector (instance).

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was created.

" + }, + "lastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

The time the detector (instance) was last updated.

" + } + }, + "documentation":"

Information about the detector (instance).

" + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFoundException", + "InvalidRequestException", + "InternalFailureException", + "ServiceUnavailableException", + "ThrottlingException" + ] + }, + "ErrorMessage":{"type":"string"}, + "InputName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

An internal failure occured.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request was invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "KeyValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9\\-_:]+$" + }, + "ListDetectorsRequest":{ + "type":"structure", + "required":["detectorModelName"], + "members":{ + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model whose detectors (instances) are listed.

", + "location":"uri", + "locationName":"detectorModelName" + }, + "stateName":{ + "shape":"StateName", + "documentation":"

A filter that limits results to those detectors (instances) in the given state.

", + "location":"querystring", + "locationName":"stateName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at one time.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDetectorsResponse":{ + "type":"structure", + "members":{ + "detectorSummaries":{ + "shape":"DetectorSummaries", + "documentation":"

A list of summary information about the detectors (instances).

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results, or null if there are no additional results.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "Message":{ + "type":"structure", + "required":[ + "messageId", + "inputName", + "payload" + ], + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID to assign to the message. Within each batch sent, each \"messageId\" must be unique.

" + }, + "inputName":{ + "shape":"InputName", + "documentation":"

The name of the input into which the message payload is transformed.

" + }, + "payload":{ + "shape":"Payload", + "documentation":"

The payload of the message. This can be a JSON string or a Base-64-encoded string representing binary data (in which case you must decode it).

" + } + }, + "documentation":"

Information about a message.

" + }, + "MessageId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "Messages":{ + "type":"list", + "member":{"shape":"Message"}, + "min":1 + }, + "NextToken":{"type":"string"}, + "Payload":{"type":"blob"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The resource was not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Seconds":{"type":"integer"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The service is currently unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "StateName":{ + "type":"string", + "max":128, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The request could not be completed due to throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timer":{ + "type":"structure", + "required":[ + "name", + "timestamp" + ], + "members":{ + "name":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The number of seconds which have elapsed on the timer.

" + } + }, + "documentation":"

The current state of a timer.

" + }, + "TimerDefinition":{ + "type":"structure", + "required":[ + "name", + "seconds" + ], + "members":{ + "name":{ + "shape":"TimerName", + "documentation":"

The name of the timer.

" + }, + "seconds":{ + "shape":"Seconds", + "documentation":"

The new setting of the timer (the number of seconds before the timer elapses).

" + } + }, + "documentation":"

The new setting of a timer.

" + }, + "TimerDefinitions":{ + "type":"list", + "member":{"shape":"TimerDefinition"} + }, + "TimerName":{ + "type":"string", + "max":128, + "min":1 + }, + "Timers":{ + "type":"list", + "member":{"shape":"Timer"} + }, + "Timestamp":{"type":"timestamp"}, + "UpdateDetectorRequest":{ + "type":"structure", + "required":[ + "messageId", + "detectorModelName", + "state" + ], + "members":{ + "messageId":{ + "shape":"MessageId", + "documentation":"

The ID to assign to the detector update \"message\". Each \"messageId\" must be unique within each batch sent.

" + }, + "detectorModelName":{ + "shape":"DetectorModelName", + "documentation":"

The name of the detector model that created the detectors (instances).

" + }, + "keyValue":{ + "shape":"KeyValue", + "documentation":"

The value of the input key attribute (identifying the device or system) that caused the creation of this detector (instance).

" + }, + "state":{ + "shape":"DetectorStateDefinition", + "documentation":"

The new state, variable values, and timer settings of the detector (instance).

" + } + }, + "documentation":"

Information used to update the detector (instance).

" + }, + "UpdateDetectorRequests":{ + "type":"list", + "member":{"shape":"UpdateDetectorRequest"}, + "min":1 + }, + "Variable":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The current value of the variable.

" + } + }, + "documentation":"

The current state of the variable.

" + }, + "VariableDefinition":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The name of the variable.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The new value of the variable.

" + } + }, + "documentation":"

The new value of the variable.

" + }, + "VariableDefinitions":{ + "type":"list", + "member":{"shape":"VariableDefinition"} + }, + "VariableName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "VariableValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "Variables":{ + "type":"list", + "member":{"shape":"Variable"} + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

AWS IoT Events monitors your equipment or device fleets for failures or changes in operation, and triggers actions when such events occur. AWS IoT Events Data API commands enable you to send inputs to detectors, list detectors, and view or update a detector's status.

" +} diff -Nru python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/examples-1.json python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/examples-1.json --- python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/service-2.json python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/service-2.json --- python-botocore-1.4.70/botocore/data/iot-jobs-data/2017-09-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iot-jobs-data/2017-09-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,494 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-29", + "endpointPrefix":"data.jobs.iot", + "protocol":"rest-json", + "serviceFullName":"AWS IoT Jobs Data Plane", + "serviceId":"IoT Jobs Data Plane", + "signatureVersion":"v4", + "signingName":"iot-jobs-data", + "uid":"iot-jobs-data-2017-09-29" + }, + "operations":{ + "DescribeJobExecution":{ + "name":"DescribeJobExecution", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/jobs/{jobId}" + }, + "input":{"shape":"DescribeJobExecutionRequest"}, + "output":{"shape":"DescribeJobExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"CertificateValidationException"}, + {"shape":"TerminalStateException"} + ], + "documentation":"

Gets details of a job execution.

" + }, + "GetPendingJobExecutions":{ + "name":"GetPendingJobExecutions", + "http":{ + "method":"GET", + "requestUri":"/things/{thingName}/jobs" + }, + "input":{"shape":"GetPendingJobExecutionsRequest"}, + "output":{"shape":"GetPendingJobExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"CertificateValidationException"} + ], + "documentation":"

Gets the list of all jobs for a thing that are not in a terminal status.

" + }, + "StartNextPendingJobExecution":{ + "name":"StartNextPendingJobExecution", + "http":{ + "method":"PUT", + "requestUri":"/things/{thingName}/jobs/$next" + }, + "input":{"shape":"StartNextPendingJobExecutionRequest"}, + "output":{"shape":"StartNextPendingJobExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"CertificateValidationException"} + ], + "documentation":"

Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing.

" + }, + "UpdateJobExecution":{ + "name":"UpdateJobExecution", + "http":{ + "method":"POST", + "requestUri":"/things/{thingName}/jobs/{jobId}" + }, + "input":{"shape":"UpdateJobExecutionRequest"}, + "output":{"shape":"UpdateJobExecutionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"CertificateValidationException"}, + {"shape":"InvalidStateTransitionException"} + ], + "documentation":"

Updates the status of a job execution.

" + } + }, + "shapes":{ + "ApproximateSecondsBeforeTimedOut":{"type":"long"}, + "BinaryBlob":{"type":"blob"}, + "CertificateValidationException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

Additional information about the exception.

" + } + }, + "documentation":"

The certificate is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "DescribeJobExecutionJobId":{ + "type":"string", + "pattern":"[a-zA-Z0-9_-]+|^\\$next" + }, + "DescribeJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName" + ], + "members":{ + "jobId":{ + "shape":"DescribeJobExecutionJobId", + "documentation":"

The unique identifier assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The thing name associated with the device the job execution is running on.

", + "location":"uri", + "locationName":"thingName" + }, + "includeJobDocument":{ + "shape":"IncludeJobDocument", + "documentation":"

Optional. When set to true, the response contains the job document. The default is false.

", + "location":"querystring", + "locationName":"includeJobDocument" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

Optional. A number that identifies a particular job execution on a particular device. If not specified, the latest job execution is returned.

", + "location":"querystring", + "locationName":"executionNumber" + } + } + }, + "DescribeJobExecutionResponse":{ + "type":"structure", + "members":{ + "execution":{ + "shape":"JobExecution", + "documentation":"

Contains data about a job execution.

" + } + } + }, + "DetailsKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "DetailsMap":{ + "type":"map", + "key":{"shape":"DetailsKey"}, + "value":{"shape":"DetailsValue"} + }, + "DetailsValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[^\\p{C}]*+" + }, + "ExecutionNumber":{"type":"long"}, + "ExpectedVersion":{"type":"long"}, + "GetPendingJobExecutionsRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing that is executing the job.

", + "location":"uri", + "locationName":"thingName" + } + } + }, + "GetPendingJobExecutionsResponse":{ + "type":"structure", + "members":{ + "inProgressJobs":{ + "shape":"JobExecutionSummaryList", + "documentation":"

A list of JobExecutionSummary objects with status IN_PROGRESS.

" + }, + "queuedJobs":{ + "shape":"JobExecutionSummaryList", + "documentation":"

A list of JobExecutionSummary objects with status QUEUED.

" + } + } + }, + "IncludeExecutionState":{"type":"boolean"}, + "IncludeJobDocument":{"type":"boolean"}, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The contents of the request were invalid. For example, this code is returned when an UpdateJobExecution request contains invalid status details. The message contains details about the error.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidStateTransitionException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

An update attempted to change the job execution to a state that is invalid because of the job execution's current state (for example, an attempt to change a request in state SUCCESS to state IN_PROGRESS). In this case, the body of the error message also contains the executionState field.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "JobDocument":{ + "type":"string", + "max":32768 + }, + "JobExecution":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing that is executing the job.

" + }, + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The status of the job execution. Can be one of: \"QUEUED\", \"IN_PROGRESS\", \"FAILED\", \"SUCCESS\", \"CANCELED\", \"REJECTED\", or \"REMOVED\".

" + }, + "statusDetails":{ + "shape":"DetailsMap", + "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" + }, + "queuedAt":{ + "shape":"QueuedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution was enqueued.

" + }, + "startedAt":{ + "shape":"StartedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution was started.

" + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" + }, + "approximateSecondsBeforeTimedOut":{ + "shape":"ApproximateSecondsBeforeTimedOut", + "documentation":"

The estimated number of seconds that remain before the job execution status will be changed to TIMED_OUT.

" + }, + "versionNumber":{ + "shape":"VersionNumber", + "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

A number that identifies a particular job execution on a particular device. It can be used later in commands that return or update job execution information.

" + }, + "jobDocument":{ + "shape":"JobDocument", + "documentation":"

The content of the job document.

" + } + }, + "documentation":"

Contains data about a job execution.

" + }, + "JobExecutionState":{ + "type":"structure", + "members":{ + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The status of the job execution. Can be one of: \"QUEUED\", \"IN_PROGRESS\", \"FAILED\", \"SUCCESS\", \"CANCELED\", \"REJECTED\", or \"REMOVED\".

" + }, + "statusDetails":{ + "shape":"DetailsMap", + "documentation":"

A collection of name/value pairs that describe the status of the job execution.

" + }, + "versionNumber":{ + "shape":"VersionNumber", + "documentation":"

The version of the job execution. Job execution versions are incremented each time they are updated by a device.

" + } + }, + "documentation":"

Contains data about the state of a job execution.

" + }, + "JobExecutionStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "TIMED_OUT", + "REJECTED", + "REMOVED", + "CANCELED" + ] + }, + "JobExecutionSummary":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier you assigned to this job when it was created.

" + }, + "queuedAt":{ + "shape":"QueuedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution was enqueued.

" + }, + "startedAt":{ + "shape":"StartedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution started.

" + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

The time, in milliseconds since the epoch, when the job execution was last updated.

" + }, + "versionNumber":{ + "shape":"VersionNumber", + "documentation":"

The version of the job execution. Job execution versions are incremented each time AWS IoT Jobs receives an update from a device.

" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

A number that identifies a particular job execution on a particular device.

" + } + }, + "documentation":"

Contains a subset of information about a job execution.

" + }, + "JobExecutionSummaryList":{ + "type":"list", + "member":{"shape":"JobExecutionSummary"} + }, + "JobId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "LastUpdatedAt":{"type":"long"}, + "QueuedAt":{"type":"long"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The specified resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message for the exception.

" + } + }, + "documentation":"

The service is temporarily unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "StartNextPendingJobExecutionRequest":{ + "type":"structure", + "required":["thingName"], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing associated with the device.

", + "location":"uri", + "locationName":"thingName" + }, + "statusDetails":{ + "shape":"DetailsMap", + "documentation":"

A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.

" + }, + "stepTimeoutInMinutes":{ + "shape":"StepTimeoutInMinutes", + "documentation":"

Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by calling UpdateJobExecution, setting the status to IN_PROGRESS and specifying a new timeout value in field stepTimeoutInMinutes) the job execution status will be automatically set to TIMED_OUT. Note that setting this timeout has no effect on that job execution timeout which may have been specified when the job was created (CreateJob using field timeoutConfig).

" + } + } + }, + "StartNextPendingJobExecutionResponse":{ + "type":"structure", + "members":{ + "execution":{ + "shape":"JobExecution", + "documentation":"

A JobExecution object.

" + } + } + }, + "StartedAt":{"type":"long"}, + "StepTimeoutInMinutes":{"type":"long"}, + "TerminalStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The job is in a terminal state.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"errorMessage", + "documentation":"

The message associated with the exception.

" + }, + "payload":{ + "shape":"BinaryBlob", + "documentation":"

The payload associated with the exception.

" + } + }, + "documentation":"

The rate exceeds the limit.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UpdateJobExecutionRequest":{ + "type":"structure", + "required":[ + "jobId", + "thingName", + "status" + ], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

The unique identifier assigned to this job when it was created.

", + "location":"uri", + "locationName":"jobId" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing associated with the device.

", + "location":"uri", + "locationName":"thingName" + }, + "status":{ + "shape":"JobExecutionStatus", + "documentation":"

The new status for the job execution (IN_PROGRESS, FAILED, SUCCESS, or REJECTED). This must be specified on every update.

" + }, + "statusDetails":{ + "shape":"DetailsMap", + "documentation":"

Optional. A collection of name/value pairs that describe the status of the job execution. If not specified, the statusDetails are unchanged.

" + }, + "stepTimeoutInMinutes":{ + "shape":"StepTimeoutInMinutes", + "documentation":"

Specifies the amount of time this device has to finish execution of this job. If the job execution status is not set to a terminal state before this timer expires, or before the timer is reset (by again calling UpdateJobExecution, setting the status to IN_PROGRESS and specifying a new timeout value in this field) the job execution status will be automatically set to TIMED_OUT. Note that setting or resetting this timeout has no effect on that job execution timeout which may have been specified when the job was created (CreateJob using field timeoutConfig).

" + }, + "expectedVersion":{ + "shape":"ExpectedVersion", + "documentation":"

Optional. The expected current version of the job execution. Each time you update the job execution, its version is incremented. If the version of the job execution stored in Jobs does not match, the update is rejected with a VersionMismatch error, and an ErrorResponse that contains the current job execution status data is returned. (This makes it unnecessary to perform a separate DescribeJobExecution request in order to obtain the job execution status data.)

" + }, + "includeJobExecutionState":{ + "shape":"IncludeExecutionState", + "documentation":"

Optional. When included and set to true, the response contains the JobExecutionState data. The default is false.

" + }, + "includeJobDocument":{ + "shape":"IncludeJobDocument", + "documentation":"

Optional. When set to true, the response contains the job document. The default is false.

" + }, + "executionNumber":{ + "shape":"ExecutionNumber", + "documentation":"

Optional. A number that identifies a particular job execution on a particular device.

" + } + } + }, + "UpdateJobExecutionResponse":{ + "type":"structure", + "members":{ + "executionState":{ + "shape":"JobExecutionState", + "documentation":"

A JobExecutionState object.

" + }, + "jobDocument":{ + "shape":"JobDocument", + "documentation":"

The contents of the Job Documents.

" + } + } + }, + "VersionNumber":{"type":"long"}, + "errorMessage":{"type":"string"} + }, + "documentation":"

AWS IoT Jobs is a service that allows you to define a set of jobs — remote operations that are sent to and executed on one or more devices connected to AWS IoT. For example, you can define a job that instructs a set of devices to download and install application or firmware updates, reboot, rotate certificates, or perform remote troubleshooting operations.

To create a job, you make a job document which is a description of the remote operations to be performed, and you specify a list of targets that should perform the operations. The targets can be individual things, thing groups or both.

AWS IoT Jobs sends a message to inform the targets that a job is available. The target starts the execution of the job by downloading the job document, performing the operations it specifies, and reporting its progress to AWS IoT. The Jobs service provides commands to track the progress of a job on a specific target and for all the targets of the job

" +} diff -Nru python-botocore-1.4.70/botocore/data/iotsecuretunneling/2018-10-05/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotsecuretunneling/2018-10-05/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotsecuretunneling/2018-10-05/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotsecuretunneling/2018-10-05/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/iotsecuretunneling/2018-10-05/service-2.json python-botocore-1.16.19+repack/botocore/data/iotsecuretunneling/2018-10-05/service-2.json --- python-botocore-1.4.70/botocore/data/iotsecuretunneling/2018-10-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotsecuretunneling/2018-10-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,539 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-05", + "endpointPrefix":"api.tunneling.iot", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS IoT Secure Tunneling", + "serviceId":"IoTSecureTunneling", + "signatureVersion":"v4", + "signingName":"IoTSecuredTunneling", + "targetPrefix":"IoTSecuredTunneling", + "uid":"iotsecuretunneling-2018-10-05" + }, + "operations":{ + "CloseTunnel":{ + "name":"CloseTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CloseTunnelRequest"}, + "output":{"shape":"CloseTunnelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Closes a tunnel identified by the unique tunnel id. When a CloseTunnel request is received, we close the WebSocket connections between the client and proxy server so no data can be transmitted.

" + }, + "DescribeTunnel":{ + "name":"DescribeTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTunnelRequest"}, + "output":{"shape":"DescribeTunnelResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets information about a tunnel identified by the unique tunnel id.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Lists the tags for the specified resource.

" + }, + "ListTunnels":{ + "name":"ListTunnels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTunnelsRequest"}, + "output":{"shape":"ListTunnelsResponse"}, + "documentation":"

List all tunnels for an AWS account. Tunnels are listed by creation time in descending order, newer tunnels will be listed before older tunnels.

" + }, + "OpenTunnel":{ + "name":"OpenTunnel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"OpenTunnelRequest"}, + "output":{"shape":"OpenTunnelResponse"}, + "errors":[ + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a new tunnel, and returns two client access tokens for clients to use to connect to the AWS IoT Secure Tunneling proxy server. .

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

A resource tag.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes a tag from a resource.

" + } + }, + "shapes":{ + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "ClientAccessToken":{ + "type":"string", + "sensitive":true + }, + "CloseTunnelRequest":{ + "type":"structure", + "required":["tunnelId"], + "members":{ + "tunnelId":{ + "shape":"TunnelId", + "documentation":"

The ID of the tunnel to close.

" + }, + "delete":{ + "shape":"DeleteFlag", + "documentation":"

When set to true, AWS IoT Secure Tunneling deletes the tunnel data immediately.

", + "box":true + } + } + }, + "CloseTunnelResponse":{ + "type":"structure", + "members":{ + } + }, + "ConnectionState":{ + "type":"structure", + "members":{ + "status":{ + "shape":"ConnectionStatus", + "documentation":"

The connection status of the tunnel. Valid values are CONNECTED and DISCONNECTED.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The last time the connection status was updated.

" + } + }, + "documentation":"

The state of a connection.

" + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "CONNECTED", + "DISCONNECTED" + ] + }, + "DateType":{"type":"timestamp"}, + "DeleteFlag":{"type":"boolean"}, + "DescribeTunnelRequest":{ + "type":"structure", + "required":["tunnelId"], + "members":{ + "tunnelId":{ + "shape":"TunnelId", + "documentation":"

The tunnel to describe.

" + } + } + }, + "DescribeTunnelResponse":{ + "type":"structure", + "members":{ + "tunnel":{ + "shape":"Tunnel", + "documentation":"

The tunnel being described.

" + } + } + }, + "Description":{ + "type":"string", + "pattern":"[^\\p{C}]{1,2048}" + }, + "DestinationConfig":{ + "type":"structure", + "required":[ + "thingName", + "services" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the IoT thing to which you want to connect.

" + }, + "services":{ + "shape":"ServiceList", + "documentation":"

A list of service names that identity the target application. Currently, you can only specify a single name. The AWS IoT client running on the destination device reads this value and uses it to look up a port or an IP address and a port. The AWS IoT client instantiates the local proxy which uses this information to connect to the destination application.

" + } + }, + "documentation":"

The destination configuration.

" + }, + "ErrorMessage":{"type":"string"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Thrown when a tunnel limit is exceeded.

", + "exception":true + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The resource ARN.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the specified resource.

" + } + } + }, + "ListTunnelsRequest":{ + "type":"structure", + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the IoT thing associated with the destination device.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return at once.

", + "box":true + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to retrieve the next set of results.

" + } + } + }, + "ListTunnelsResponse":{ + "type":"structure", + "members":{ + "tunnelSummaries":{ + "shape":"TunnelSummaryList", + "documentation":"

A short description of the tunnels in an AWS account.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token to used to retrieve the next set of results.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "pattern":"[a-zA-Z0-9_=-]{1,4096}" + }, + "OpenTunnelRequest":{ + "type":"structure", + "members":{ + "description":{ + "shape":"Description", + "documentation":"

A short text description of the tunnel.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A collection of tag metadata.

" + }, + "destinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

The destination configuration for the OpenTunnel request.

" + }, + "timeoutConfig":{ + "shape":"TimeoutConfig", + "documentation":"

Timeout configuration for a tunnel.

" + } + } + }, + "OpenTunnelResponse":{ + "type":"structure", + "members":{ + "tunnelId":{ + "shape":"TunnelId", + "documentation":"

A unique alpha-numeric tunnel ID.

" + }, + "tunnelArn":{ + "shape":"TunnelArn", + "documentation":"

The Amazon Resource Name for the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

" + }, + "sourceAccessToken":{ + "shape":"ClientAccessToken", + "documentation":"

The access token the source local proxy uses to connect to AWS IoT Secure Tunneling.

" + }, + "destinationAccessToken":{ + "shape":"ClientAccessToken", + "documentation":"

The access token the destination local proxy uses to connect to AWS IoT Secure Tunneling.

" + } + } + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Thrown when an operation is attempted on a resource that does not exist.

", + "exception":true + }, + "Service":{ + "type":"string", + "max":8, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "ServiceList":{ + "type":"list", + "member":{"shape":"Service"}, + "max":1, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The key of the tag.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The value of the tag.

" + } + }, + "documentation":"

An arbitary key/value pair used to add searchable metadata to secure tunnel resources.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tags for the resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "TimeoutConfig":{ + "type":"structure", + "members":{ + "maxLifetimeTimeoutMinutes":{ + "shape":"TimeoutInMin", + "documentation":"

The maximum amount of time (in minutes) a tunnel can remain open. If not specified, maxLifetimeTimeoutMinutes defaults to 720 minutes. Valid values are from 1 minute to 12 hours (720 minutes)

", + "box":true + } + }, + "documentation":"

Tunnel timeout configuration.

" + }, + "TimeoutInMin":{ + "type":"integer", + "max":720, + "min":1 + }, + "Tunnel":{ + "type":"structure", + "members":{ + "tunnelId":{ + "shape":"TunnelId", + "documentation":"

A unique alpha-numeric ID that identifies a tunnel.

" + }, + "tunnelArn":{ + "shape":"TunnelArn", + "documentation":"

The Amazon Resource Name (ARN) of a tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

" + }, + "status":{ + "shape":"TunnelStatus", + "documentation":"

The status of a tunnel. Valid values are: Open and Closed.

" + }, + "sourceConnectionState":{ + "shape":"ConnectionState", + "documentation":"

The connection state of the source application.

" + }, + "destinationConnectionState":{ + "shape":"ConnectionState", + "documentation":"

The connection state of the destination application.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the tunnel.

" + }, + "destinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

The destination configuration that specifies the thing name of the destination device and a service name that the local proxy uses to connect to the destination application.

" + }, + "timeoutConfig":{ + "shape":"TimeoutConfig", + "documentation":"

Timeout configuration for the tunnel.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag metadata associated with the secure tunnel.

" + }, + "createdAt":{ + "shape":"DateType", + "documentation":"

The time when the tunnel was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The last time the tunnel was updated.

" + } + }, + "documentation":"

A connection between a source computer and a destination device.

" + }, + "TunnelArn":{ + "type":"string", + "max":1600, + "min":1 + }, + "TunnelId":{ + "type":"string", + "pattern":"[a-zA-Z0-9_\\-+=:]{1,128}" + }, + "TunnelStatus":{ + "type":"string", + "enum":[ + "OPEN", + "CLOSED" + ] + }, + "TunnelSummary":{ + "type":"structure", + "members":{ + "tunnelId":{ + "shape":"TunnelId", + "documentation":"

The unique alpha-numeric identifier for the tunnel.

" + }, + "tunnelArn":{ + "shape":"TunnelArn", + "documentation":"

The Amazon Resource Name of the tunnel. The tunnel ARN format is arn:aws:tunnel:<region>:<account-id>:tunnel/<tunnel-id>

" + }, + "status":{ + "shape":"TunnelStatus", + "documentation":"

The status of a tunnel. Valid values are: Open and Closed.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the tunnel.

" + }, + "createdAt":{ + "shape":"DateType", + "documentation":"

The time the tunnel was created.

" + }, + "lastUpdatedAt":{ + "shape":"DateType", + "documentation":"

The time the tunnel was last updated.

" + } + }, + "documentation":"

Information about the tunnel.

" + }, + "TunnelSummaryList":{ + "type":"list", + "member":{"shape":"TunnelSummary"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The resource ARN.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of the tags to remove.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"AWS IoT Secure Tunneling

AWS IoT Secure Tunnling enables you to create remote connections to devices deployed in the field.

For more information about how AWS IoT Secure Tunneling works, see the User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,70 @@ +{ + "pagination": { + "GetAssetPropertyAggregates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "aggregatedValues" + }, + "GetAssetPropertyValueHistory": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetPropertyValueHistory" + }, + "ListAccessPolicies": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "accessPolicySummaries" + }, + "ListAssetModels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetModelSummaries" + }, + "ListAssets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetSummaries" + }, + "ListAssociatedAssets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetSummaries" + }, + "ListDashboards": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "dashboardSummaries" + }, + "ListGateways": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "gatewaySummaries" + }, + "ListPortals": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "portalSummaries" + }, + "ListProjectAssets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "assetIds" + }, + "ListProjects": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "projectSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/service-2.json python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/service-2.json --- python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,4859 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-02", + "endpointPrefix":"iotsitewise", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS IoT SiteWise", + "serviceId":"IoTSiteWise", + "signatureVersion":"v4", + "signingName":"iotsitewise", + "uid":"iotsitewise-2019-12-02" + }, + "operations":{ + "AssociateAssets":{ + "name":"AssociateAssets", + "http":{ + "method":"POST", + "requestUri":"/assets/{assetId}/associate" + }, + "input":{"shape":"AssociateAssetsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Associates a child asset with the given parent asset through a hierarchy defined in the parent asset's model. For more information, see Associating Assets in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"model."} + }, + "BatchAssociateProjectAssets":{ + "name":"BatchAssociateProjectAssets", + "http":{ + "method":"POST", + "requestUri":"/projects/{projectId}/assets/associate", + "responseCode":200 + }, + "input":{"shape":"BatchAssociateProjectAssetsRequest"}, + "output":{"shape":"BatchAssociateProjectAssetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Associates a group (batch) of assets with an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "BatchDisassociateProjectAssets":{ + "name":"BatchDisassociateProjectAssets", + "http":{ + "method":"POST", + "requestUri":"/projects/{projectId}/assets/disassociate", + "responseCode":200 + }, + "input":{"shape":"BatchDisassociateProjectAssetsRequest"}, + "output":{"shape":"BatchDisassociateProjectAssetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Disassociates a group (batch) of assets from an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "BatchPutAssetPropertyValue":{ + "name":"BatchPutAssetPropertyValue", + "http":{ + "method":"POST", + "requestUri":"/properties" + }, + "input":{"shape":"BatchPutAssetPropertyValueRequest"}, + "output":{"shape":"BatchPutAssetPropertyValueResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Sends a list of asset property values to AWS IoT SiteWise. Each value is a timestamp-quality-value (TQV) data point. For more information, see Ingesting Data Using the API in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

  • The assetId and propertyId of an asset property.

  • A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

With respect to Unix epoch time, AWS IoT SiteWise accepts only TQVs that have a timestamp of no more than 15 minutes in the past and no more than 5 minutes in the future. AWS IoT SiteWise rejects timestamps outside of the inclusive range of [-15, +5] minutes and returns a TimestampOutOfRangeException error.

For each asset property, AWS IoT SiteWise overwrites TQVs with duplicate timestamps unless the newer TQV has a different quality. For example, if you store a TQV {T1, GOOD, V1}, then storing {T1, GOOD, V2} replaces the existing TQV.

", + "endpoint":{"hostPrefix":"data."} + }, + "CreateAccessPolicy":{ + "name":"CreateAccessPolicy", + "http":{ + "method":"POST", + "requestUri":"/access-policies", + "responseCode":201 + }, + "input":{"shape":"CreateAccessPolicyRequest"}, + "output":{"shape":"CreateAccessPolicyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an access policy that grants the specified AWS Single Sign-On user or group access to the specified AWS IoT SiteWise Monitor portal or project resource.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "CreateAsset":{ + "name":"CreateAsset", + "http":{ + "method":"POST", + "requestUri":"/assets", + "responseCode":202 + }, + "input":{"shape":"CreateAssetRequest"}, + "output":{"shape":"CreateAssetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Creates an asset from an existing asset model. For more information, see Creating Assets in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"model."} + }, + "CreateAssetModel":{ + "name":"CreateAssetModel", + "http":{ + "method":"POST", + "requestUri":"/asset-models", + "responseCode":202 + }, + "input":{"shape":"CreateAssetModelRequest"}, + "output":{"shape":"CreateAssetModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Creates an asset model from specified property and hierarchy definitions. You create assets from asset models. With asset models, you can easily create assets of the same type that have standardized definitions. Each asset created from a model inherits the asset model's property and hierarchy definitions. For more information, see Defining Asset Models in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"model."} + }, + "CreateDashboard":{ + "name":"CreateDashboard", + "http":{ + "method":"POST", + "requestUri":"/dashboards", + "responseCode":201 + }, + "input":{"shape":"CreateDashboardRequest"}, + "output":{"shape":"CreateDashboardResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a dashboard in an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "CreateGateway":{ + "name":"CreateGateway", + "http":{ + "method":"POST", + "requestUri":"/20200301/gateways", + "responseCode":201 + }, + "input":{"shape":"CreateGatewayRequest"}, + "output":{"shape":"CreateGatewayResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a gateway, which is a virtual or edge device that delivers industrial data streams from local servers to AWS IoT SiteWise. For more information, see Ingesting data using a gateway in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"edge."} + }, + "CreatePortal":{ + "name":"CreatePortal", + "http":{ + "method":"POST", + "requestUri":"/portals", + "responseCode":202 + }, + "input":{"shape":"CreatePortalRequest"}, + "output":{"shape":"CreatePortalResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a portal, which can contain projects and dashboards. Before you can create a portal, you must configure AWS Single Sign-On in the current Region. AWS IoT SiteWise Monitor uses AWS SSO to manage user permissions. For more information, see Enabling AWS SSO in the AWS IoT SiteWise User Guide.

Before you can sign in to a new portal, you must add at least one AWS SSO user or group to that portal. For more information, see Adding or Removing Portal Administrators in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/projects", + "responseCode":201 + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a project in the specified portal.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DeleteAccessPolicy":{ + "name":"DeleteAccessPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/access-policies/{accessPolicyId}", + "responseCode":204 + }, + "input":{"shape":"DeleteAccessPolicyRequest"}, + "output":{"shape":"DeleteAccessPolicyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes an access policy that grants the specified AWS Single Sign-On identity access to the specified AWS IoT SiteWise Monitor resource. You can use this operation to revoke access to an AWS IoT SiteWise Monitor resource.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DeleteAsset":{ + "name":"DeleteAsset", + "http":{ + "method":"DELETE", + "requestUri":"/assets/{assetId}", + "responseCode":202 + }, + "input":{"shape":"DeleteAssetRequest"}, + "output":{"shape":"DeleteAssetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Deletes an asset. This action can't be undone. For more information, see Deleting Assets and Models in the AWS IoT SiteWise User Guide.

You can't delete an asset that's associated to another asset. For more information, see DisassociateAssets.

", + "endpoint":{"hostPrefix":"model."} + }, + "DeleteAssetModel":{ + "name":"DeleteAssetModel", + "http":{ + "method":"DELETE", + "requestUri":"/asset-models/{assetModelId}", + "responseCode":202 + }, + "input":{"shape":"DeleteAssetModelRequest"}, + "output":{"shape":"DeleteAssetModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Deletes an asset model. This action can't be undone. You must delete all assets created from an asset model before you can delete the model. Also, you can't delete an asset model if a parent asset model exists that contains a property formula expression that depends on the asset model that you want to delete. For more information, see Deleting Assets and Models in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"model."} + }, + "DeleteDashboard":{ + "name":"DeleteDashboard", + "http":{ + "method":"DELETE", + "requestUri":"/dashboards/{dashboardId}", + "responseCode":204 + }, + "input":{"shape":"DeleteDashboardRequest"}, + "output":{"shape":"DeleteDashboardResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes a dashboard from AWS IoT SiteWise Monitor.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DeleteGateway":{ + "name":"DeleteGateway", + "http":{ + "method":"DELETE", + "requestUri":"/20200301/gateways/{gatewayId}" + }, + "input":{"shape":"DeleteGatewayRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes a gateway from AWS IoT SiteWise. When you delete a gateway, some of the gateway's files remain in your gateway's file system. For more information, see Data retention in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"edge."} + }, + "DeletePortal":{ + "name":"DeletePortal", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalId}", + "responseCode":202 + }, + "input":{"shape":"DeletePortalRequest"}, + "output":{"shape":"DeletePortalResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Deletes a portal from AWS IoT SiteWise Monitor.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectId}", + "responseCode":204 + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes a project from AWS IoT SiteWise Monitor.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DescribeAccessPolicy":{ + "name":"DescribeAccessPolicy", + "http":{ + "method":"GET", + "requestUri":"/access-policies/{accessPolicyId}", + "responseCode":200 + }, + "input":{"shape":"DescribeAccessPolicyRequest"}, + "output":{"shape":"DescribeAccessPolicyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Describes an access policy, which specifies an AWS SSO user or group's access to an AWS IoT SiteWise Monitor portal or project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DescribeAsset":{ + "name":"DescribeAsset", + "http":{ + "method":"GET", + "requestUri":"/assets/{assetId}" + }, + "input":{"shape":"DescribeAssetRequest"}, + "output":{"shape":"DescribeAssetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about an asset.

", + "endpoint":{"hostPrefix":"model."} + }, + "DescribeAssetModel":{ + "name":"DescribeAssetModel", + "http":{ + "method":"GET", + "requestUri":"/asset-models/{assetModelId}" + }, + "input":{"shape":"DescribeAssetModelRequest"}, + "output":{"shape":"DescribeAssetModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about an asset model.

", + "endpoint":{"hostPrefix":"model."} + }, + "DescribeAssetProperty":{ + "name":"DescribeAssetProperty", + "http":{ + "method":"GET", + "requestUri":"/assets/{assetId}/properties/{propertyId}" + }, + "input":{"shape":"DescribeAssetPropertyRequest"}, + "output":{"shape":"DescribeAssetPropertyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about an asset's property.

", + "endpoint":{"hostPrefix":"model."} + }, + "DescribeDashboard":{ + "name":"DescribeDashboard", + "http":{ + "method":"GET", + "requestUri":"/dashboards/{dashboardId}", + "responseCode":200 + }, + "input":{"shape":"DescribeDashboardRequest"}, + "output":{"shape":"DescribeDashboardResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a dashboard.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DescribeGateway":{ + "name":"DescribeGateway", + "http":{ + "method":"GET", + "requestUri":"/20200301/gateways/{gatewayId}" + }, + "input":{"shape":"DescribeGatewayRequest"}, + "output":{"shape":"DescribeGatewayResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a gateway.

", + "endpoint":{"hostPrefix":"edge."} + }, + "DescribeGatewayCapabilityConfiguration":{ + "name":"DescribeGatewayCapabilityConfiguration", + "http":{ + "method":"GET", + "requestUri":"/20200301/gateways/{gatewayId}/capability/{capabilityNamespace}" + }, + "input":{"shape":"DescribeGatewayCapabilityConfigurationRequest"}, + "output":{"shape":"DescribeGatewayCapabilityConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a gateway capability configuration. Each gateway capability defines data sources for a gateway. A capability configuration can contain multiple data source configurations. If you define OPC-UA sources for a gateway in the AWS IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To list all capability configurations for a gateway, use DescribeGateway.

", + "endpoint":{"hostPrefix":"edge."} + }, + "DescribeLoggingOptions":{ + "name":"DescribeLoggingOptions", + "http":{ + "method":"GET", + "requestUri":"/logging" + }, + "input":{"shape":"DescribeLoggingOptionsRequest"}, + "output":{"shape":"DescribeLoggingOptionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves the current AWS IoT SiteWise logging options.

", + "endpoint":{"hostPrefix":"model."} + }, + "DescribePortal":{ + "name":"DescribePortal", + "http":{ + "method":"GET", + "requestUri":"/portals/{portalId}", + "responseCode":200 + }, + "input":{"shape":"DescribePortalRequest"}, + "output":{"shape":"DescribePortalResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a portal.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectId}", + "responseCode":200 + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves information about a project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "DisassociateAssets":{ + "name":"DisassociateAssets", + "http":{ + "method":"POST", + "requestUri":"/assets/{assetId}/disassociate" + }, + "input":{"shape":"DisassociateAssetsRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Disassociates a child asset from the given parent asset through a hierarchy defined in the parent asset's model.

", + "endpoint":{"hostPrefix":"model."} + }, + "GetAssetPropertyAggregates":{ + "name":"GetAssetPropertyAggregates", + "http":{ + "method":"GET", + "requestUri":"/properties/aggregates" + }, + "input":{"shape":"GetAssetPropertyAggregatesRequest"}, + "output":{"shape":"GetAssetPropertyAggregatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets aggregated values for an asset property. For more information, see Querying Aggregated Property Values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

  • The assetId and propertyId of an asset property.

  • A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

", + "endpoint":{"hostPrefix":"data."} + }, + "GetAssetPropertyValue":{ + "name":"GetAssetPropertyValue", + "http":{ + "method":"GET", + "requestUri":"/properties/latest" + }, + "input":{"shape":"GetAssetPropertyValueRequest"}, + "output":{"shape":"GetAssetPropertyValueResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets an asset property's current value. For more information, see Querying Current Property Values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

  • The assetId and propertyId of an asset property.

  • A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

", + "endpoint":{"hostPrefix":"data."} + }, + "GetAssetPropertyValueHistory":{ + "name":"GetAssetPropertyValueHistory", + "http":{ + "method":"GET", + "requestUri":"/properties/history" + }, + "input":{"shape":"GetAssetPropertyValueHistoryRequest"}, + "output":{"shape":"GetAssetPropertyValueHistoryResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Gets the history of an asset property's values. For more information, see Querying Historical Property Values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

  • The assetId and propertyId of an asset property.

  • A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). To define an asset property's alias, see UpdateAssetProperty.

", + "endpoint":{"hostPrefix":"data."} + }, + "ListAccessPolicies":{ + "name":"ListAccessPolicies", + "http":{ + "method":"GET", + "requestUri":"/access-policies", + "responseCode":200 + }, + "input":{"shape":"ListAccessPoliciesRequest"}, + "output":{"shape":"ListAccessPoliciesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of access policies for an AWS SSO identity (a user or group) or an AWS IoT SiteWise Monitor resource (a portal or project).

", + "endpoint":{"hostPrefix":"monitor."} + }, + "ListAssetModels":{ + "name":"ListAssetModels", + "http":{ + "method":"GET", + "requestUri":"/asset-models" + }, + "input":{"shape":"ListAssetModelsRequest"}, + "output":{"shape":"ListAssetModelsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of summaries of all asset models.

", + "endpoint":{"hostPrefix":"model."} + }, + "ListAssets":{ + "name":"ListAssets", + "http":{ + "method":"GET", + "requestUri":"/assets" + }, + "input":{"shape":"ListAssetsRequest"}, + "output":{"shape":"ListAssetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of asset summaries.

You can use this operation to do the following:

  • List assets based on a specific asset model.

  • List top-level assets.

You can't use this operation to list all assets. To retrieve summaries for all of your assets, use ListAssetModels to get all of your asset model IDs. Then, use ListAssets to get all assets for each asset model.

", + "endpoint":{"hostPrefix":"model."} + }, + "ListAssociatedAssets":{ + "name":"ListAssociatedAssets", + "http":{ + "method":"GET", + "requestUri":"/assets/{assetId}/hierarchies" + }, + "input":{"shape":"ListAssociatedAssetsRequest"}, + "output":{"shape":"ListAssociatedAssetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of the assets associated to a parent asset (assetId) by a given hierarchy (hierarchyId).

", + "endpoint":{"hostPrefix":"model."} + }, + "ListDashboards":{ + "name":"ListDashboards", + "http":{ + "method":"GET", + "requestUri":"/dashboards", + "responseCode":200 + }, + "input":{"shape":"ListDashboardsRequest"}, + "output":{"shape":"ListDashboardsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of dashboards for an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "ListGateways":{ + "name":"ListGateways", + "http":{ + "method":"GET", + "requestUri":"/20200301/gateways" + }, + "input":{"shape":"ListGatewaysRequest"}, + "output":{"shape":"ListGatewaysResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of gateways.

", + "endpoint":{"hostPrefix":"edge."} + }, + "ListPortals":{ + "name":"ListPortals", + "http":{ + "method":"GET", + "requestUri":"/portals", + "responseCode":200 + }, + "input":{"shape":"ListPortalsRequest"}, + "output":{"shape":"ListPortalsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of AWS IoT SiteWise Monitor portals.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "ListProjectAssets":{ + "name":"ListProjectAssets", + "http":{ + "method":"GET", + "requestUri":"/projects/{projectId}/assets", + "responseCode":200 + }, + "input":{"shape":"ListProjectAssetsRequest"}, + "output":{"shape":"ListProjectAssetsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of assets associated with an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/projects", + "responseCode":200 + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Retrieves a paginated list of projects for an AWS IoT SiteWise Monitor portal.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Retrieves the list of tags for an AWS IoT SiteWise resource.

" + }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"PUT", + "requestUri":"/logging" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "output":{"shape":"PutLoggingOptionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Sets logging options for AWS IoT SiteWise.

", + "endpoint":{"hostPrefix":"model."} + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

Adds tags to an AWS IoT SiteWise resource. If a tag already exists for the resource, this operation updates the tag's value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes a tag from an AWS IoT SiteWise resource.

" + }, + "UpdateAccessPolicy":{ + "name":"UpdateAccessPolicy", + "http":{ + "method":"PUT", + "requestUri":"/access-policies/{accessPolicyId}", + "responseCode":200 + }, + "input":{"shape":"UpdateAccessPolicyRequest"}, + "output":{"shape":"UpdateAccessPolicyResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates an existing access policy that specifies an AWS SSO user or group's access to an AWS IoT SiteWise Monitor portal or project resource.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "UpdateAsset":{ + "name":"UpdateAsset", + "http":{ + "method":"PUT", + "requestUri":"/assets/{assetId}", + "responseCode":202 + }, + "input":{"shape":"UpdateAssetRequest"}, + "output":{"shape":"UpdateAssetResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Updates an asset's name. For more information, see Updating Assets and Models in the AWS IoT SiteWise User Guide.

", + "endpoint":{"hostPrefix":"model."} + }, + "UpdateAssetModel":{ + "name":"UpdateAssetModel", + "http":{ + "method":"PUT", + "requestUri":"/asset-models/{assetModelId}", + "responseCode":202 + }, + "input":{"shape":"UpdateAssetModelRequest"}, + "output":{"shape":"UpdateAssetModelResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Updates an asset model and all of the assets that were created from the model. Each asset created from the model inherits the updated asset model's property and hierarchy definitions. For more information, see Updating Assets and Models in the AWS IoT SiteWise User Guide.

This operation overwrites the existing model with the provided model. To avoid deleting your asset model's properties or hierarchies, you must include their IDs and definitions in the updated asset model payload. For more information, see DescribeAssetModel.

If you remove a property from an asset model or update a property's formula expression, AWS IoT SiteWise deletes all previous data for that property. If you remove a hierarchy definition from an asset model, AWS IoT SiteWise disassociates every asset associated with that hierarchy. You can't change the type or data type of an existing property.

", + "endpoint":{"hostPrefix":"model."} + }, + "UpdateAssetProperty":{ + "name":"UpdateAssetProperty", + "http":{ + "method":"PUT", + "requestUri":"/assets/{assetId}/properties/{propertyId}" + }, + "input":{"shape":"UpdateAssetPropertyRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Updates an asset property's alias and notification state.

This operation overwrites the property's existing alias and notification state. To keep your existing property's alias or notification state, you must include the existing values in the UpdateAssetProperty request. For more information, see DescribeAssetProperty.

", + "endpoint":{"hostPrefix":"model."} + }, + "UpdateDashboard":{ + "name":"UpdateDashboard", + "http":{ + "method":"PUT", + "requestUri":"/dashboards/{dashboardId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDashboardRequest"}, + "output":{"shape":"UpdateDashboardResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates an AWS IoT SiteWise Monitor dashboard.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "UpdateGateway":{ + "name":"UpdateGateway", + "http":{ + "method":"PUT", + "requestUri":"/20200301/gateways/{gatewayId}" + }, + "input":{"shape":"UpdateGatewayRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates a gateway's name.

", + "endpoint":{"hostPrefix":"edge."} + }, + "UpdateGatewayCapabilityConfiguration":{ + "name":"UpdateGatewayCapabilityConfiguration", + "http":{ + "method":"POST", + "requestUri":"/20200301/gateways/{gatewayId}/capability", + "responseCode":201 + }, + "input":{"shape":"UpdateGatewayCapabilityConfigurationRequest"}, + "output":{"shape":"UpdateGatewayCapabilityConfigurationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Updates a gateway capability configuration or defines a new capability configuration. Each gateway capability defines data sources for a gateway. A capability configuration can contain multiple data source configurations. If you define OPC-UA sources for a gateway in the AWS IoT SiteWise console, all of your OPC-UA sources are stored in one capability configuration. To list all capability configurations for a gateway, use DescribeGateway.

", + "endpoint":{"hostPrefix":"edge."} + }, + "UpdatePortal":{ + "name":"UpdatePortal", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalId}", + "responseCode":202 + }, + "input":{"shape":"UpdatePortalRequest"}, + "output":{"shape":"UpdatePortalResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictingOperationException"} + ], + "documentation":"

Updates an AWS IoT SiteWise Monitor portal.

", + "endpoint":{"hostPrefix":"monitor."} + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"PUT", + "requestUri":"/projects/{projectId}", + "responseCode":200 + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Updates an AWS IoT SiteWise Monitor project.

", + "endpoint":{"hostPrefix":"monitor."} + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":1600, + "min":1, + "pattern":".*" + }, + "AccessPolicySummaries":{ + "type":"list", + "member":{"shape":"AccessPolicySummary"} + }, + "AccessPolicySummary":{ + "type":"structure", + "required":[ + "id", + "identity", + "resource", + "permission" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the access policy.

" + }, + "identity":{ + "shape":"Identity", + "documentation":"

The AWS SSO identity (a user or group).

" + }, + "resource":{ + "shape":"Resource", + "documentation":"

The AWS IoT SiteWise Monitor resource (a portal or project).

" + }, + "permission":{ + "shape":"Permission", + "documentation":"

The permissions for the access policy. Note that a project ADMINISTRATOR is also known as a project owner.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the access policy was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the access policy was last updated, in Unix epoch time.

" + } + }, + "documentation":"

Contains an access policy that defines an AWS SSO identity's access to an AWS IoT SiteWise Monitor resource.

" + }, + "AggregateType":{ + "type":"string", + "enum":[ + "AVERAGE", + "COUNT", + "MAXIMUM", + "MINIMUM", + "SUM", + "STANDARD_DEVIATION" + ] + }, + "AggregateTypes":{ + "type":"list", + "member":{"shape":"AggregateType"}, + "min":1 + }, + "AggregatedDoubleValue":{"type":"double"}, + "AggregatedValue":{ + "type":"structure", + "required":[ + "timestamp", + "value" + ], + "members":{ + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The date the aggregating computations occurred, in Unix epoch time.

" + }, + "quality":{ + "shape":"Quality", + "documentation":"

The quality of the aggregated data.

" + }, + "value":{ + "shape":"Aggregates", + "documentation":"

The value of the aggregates.

" + } + }, + "documentation":"

Contains aggregated asset property values (for example, average, minimum, and maximum).

" + }, + "AggregatedValues":{ + "type":"list", + "member":{"shape":"AggregatedValue"} + }, + "Aggregates":{ + "type":"structure", + "members":{ + "average":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The average (mean) value of the time series over a time interval window.

" + }, + "count":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The count of data points in the time series over a time interval window.

" + }, + "maximum":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The maximum value of the time series over a time interval window.

" + }, + "minimum":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The minimum value of the time series over a time interval window.

" + }, + "sum":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The sum of the time series over a time interval window.

" + }, + "standardDeviation":{ + "shape":"AggregatedDoubleValue", + "documentation":"

The standard deviation of the time series over a time interval window.

" + } + }, + "documentation":"

Contains the (pre-calculated) aggregate values for an asset property.

" + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "AssetErrorCode":{ + "type":"string", + "enum":["INTERNAL_FAILURE"] + }, + "AssetErrorDetails":{ + "type":"structure", + "required":[ + "assetId", + "code", + "message" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

" + }, + "code":{ + "shape":"AssetErrorCode", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"AssetErrorMessage", + "documentation":"

The error message.

" + } + }, + "documentation":"

Contains error details for the requested associate project asset action.

" + }, + "AssetErrorMessage":{"type":"string"}, + "AssetHierarchies":{ + "type":"list", + "member":{"shape":"AssetHierarchy"} + }, + "AssetHierarchy":{ + "type":"structure", + "required":["name"], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the hierarchy. This ID is a hierarchyId.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The hierarchy name provided in the CreateAssetModel or UpdateAssetModel API.

" + } + }, + "documentation":"

Describes an asset hierarchy that contains a hierarchy's name and ID.

" + }, + "AssetIDs":{ + "type":"list", + "member":{"shape":"ID"} + }, + "AssetModelHierarchies":{ + "type":"list", + "member":{"shape":"AssetModelHierarchy"} + }, + "AssetModelHierarchy":{ + "type":"structure", + "required":[ + "name", + "childAssetModelId" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset model hierarchy. This ID is a hierarchyId.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the asset model hierarchy that you specify by using the CreateAssetModel or UpdateAssetModel API.

" + }, + "childAssetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model. All assets in this hierarchy must be instances of the childAssetModelId asset model.

" + } + }, + "documentation":"

Describes an asset hierarchy that contains a hierarchy's name, ID, and child asset model ID that specifies the type of asset that can be in this hierarchy.

" + }, + "AssetModelHierarchyDefinition":{ + "type":"structure", + "required":[ + "name", + "childAssetModelId" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the asset model hierarchy definition (as specified in CreateAssetModel or UpdateAssetModel).

" + }, + "childAssetModelId":{ + "shape":"ID", + "documentation":"

The ID of an asset model for this hierarchy.

" + } + }, + "documentation":"

Contains an asset model hierarchy used in asset model creation. An asset model hierarchy determines the kind (or type) of asset that can belong to a hierarchy.

" + }, + "AssetModelHierarchyDefinitions":{ + "type":"list", + "member":{"shape":"AssetModelHierarchyDefinition"} + }, + "AssetModelProperties":{ + "type":"list", + "member":{"shape":"AssetModelProperty"} + }, + "AssetModelProperty":{ + "type":"structure", + "required":[ + "name", + "dataType", + "type" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset model property.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the asset model property.

" + }, + "dataType":{ + "shape":"PropertyDataType", + "documentation":"

The data type of the asset model property.

" + }, + "unit":{ + "shape":"PropertyUnit", + "documentation":"

The unit of the asset model property, such as Newtons or RPM.

" + }, + "type":{ + "shape":"PropertyType", + "documentation":"

The property type (see PropertyType).

" + } + }, + "documentation":"

Contains information about an asset model property.

" + }, + "AssetModelPropertyDefinition":{ + "type":"structure", + "required":[ + "name", + "dataType", + "type" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the property definition.

" + }, + "dataType":{ + "shape":"PropertyDataType", + "documentation":"

The data type of the property definition.

" + }, + "unit":{ + "shape":"PropertyUnit", + "documentation":"

The unit of the property definition, such as Newtons or RPM.

" + }, + "type":{ + "shape":"PropertyType", + "documentation":"

The property definition type (see PropertyType). You can only specify one type in a property definition.

" + } + }, + "documentation":"

Contains an asset model property definition. This property definition is applied to all assets created from the asset model.

" + }, + "AssetModelPropertyDefinitions":{ + "type":"list", + "member":{"shape":"AssetModelPropertyDefinition"} + }, + "AssetModelState":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "PROPAGATING", + "DELETING", + "FAILED" + ] + }, + "AssetModelStatus":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{ + "shape":"AssetModelState", + "documentation":"

The current state of the asset model.

" + }, + "error":{ + "shape":"ErrorDetails", + "documentation":"

Contains associated error information, if any.

" + } + }, + "documentation":"

Contains current status information for an asset model. For more information, see Asset and Model States in the AWS IoT SiteWise User Guide.

" + }, + "AssetModelSummaries":{ + "type":"list", + "member":{"shape":"AssetModelSummary"} + }, + "AssetModelSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "name", + "description", + "creationDate", + "lastUpdateDate", + "status" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset model (used with AWS IoT SiteWise APIs).

" + }, + "arn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset model, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the asset model.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The asset model description.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset model was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset model was last updated, in Unix epoch time.

" + }, + "status":{ + "shape":"AssetModelStatus", + "documentation":"

The current status of the asset model.

" + } + }, + "documentation":"

Contains a summary of an asset model.

" + }, + "AssetProperties":{ + "type":"list", + "member":{"shape":"AssetProperty"} + }, + "AssetProperty":{ + "type":"structure", + "required":[ + "id", + "name", + "dataType" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the property.

" + }, + "alias":{ + "shape":"PropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

" + }, + "notification":{ + "shape":"PropertyNotification", + "documentation":"

The asset property's notification topic and state. For more information, see UpdateAssetProperty

" + }, + "dataType":{ + "shape":"PropertyDataType", + "documentation":"

The data type of the asset property.

" + }, + "unit":{ + "shape":"PropertyUnit", + "documentation":"

The unit (such as Newtons or RPM) of the asset property.

" + } + }, + "documentation":"

Contains asset property information.

" + }, + "AssetPropertyAlias":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "AssetPropertyValue":{ + "type":"structure", + "required":[ + "value", + "timestamp" + ], + "members":{ + "value":{ + "shape":"Variant", + "documentation":"

The value of the asset property (see Variant).

" + }, + "timestamp":{ + "shape":"TimeInNanos", + "documentation":"

The timestamp of the asset property value.

" + }, + "quality":{ + "shape":"Quality", + "documentation":"

The quality of the asset property value.

" + } + }, + "documentation":"

Contains asset property value information.

" + }, + "AssetPropertyValueHistory":{ + "type":"list", + "member":{"shape":"AssetPropertyValue"} + }, + "AssetPropertyValues":{ + "type":"list", + "member":{"shape":"AssetPropertyValue"} + }, + "AssetState":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "FAILED" + ] + }, + "AssetStatus":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{ + "shape":"AssetState", + "documentation":"

The current status of the asset.

" + }, + "error":{ + "shape":"ErrorDetails", + "documentation":"

Contains associated error information, if any.

" + } + }, + "documentation":"

Contains information about the current status of an asset. For more information, see Asset and Model States in the AWS IoT SiteWise User Guide.

" + }, + "AssetSummaries":{ + "type":"list", + "member":{"shape":"AssetSummary"} + }, + "AssetSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "name", + "assetModelId", + "creationDate", + "lastUpdateDate", + "status", + "hierarchies" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset.

" + }, + "arn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the asset.

" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model used to create this asset.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was last updated, in Unix epoch time.

" + }, + "status":{ + "shape":"AssetStatus", + "documentation":"

The current status of the asset.

" + }, + "hierarchies":{ + "shape":"AssetHierarchies", + "documentation":"

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

" + } + }, + "documentation":"

Contains a summary of an asset.

" + }, + "AssociateAssetsRequest":{ + "type":"structure", + "required":[ + "assetId", + "hierarchyId", + "childAssetId" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the parent asset.

", + "location":"uri", + "locationName":"assetId" + }, + "hierarchyId":{ + "shape":"ID", + "documentation":"

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings of assets to be formed that all come from the same asset model. For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

" + }, + "childAssetId":{ + "shape":"ID", + "documentation":"

The ID of the child asset to be associated.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "AssociatedAssetsSummaries":{ + "type":"list", + "member":{"shape":"AssociatedAssetsSummary"} + }, + "AssociatedAssetsSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "name", + "assetModelId", + "creationDate", + "lastUpdateDate", + "status", + "hierarchies" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset.

" + }, + "arn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the asset.

" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model used to create the asset.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was last updated, in Unix epoch time.

" + }, + "status":{ + "shape":"AssetStatus", + "documentation":"

The current status of the asset.

" + }, + "hierarchies":{ + "shape":"AssetHierarchies", + "documentation":"

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

" + } + }, + "documentation":"

Contains a summary of an associated asset.

" + }, + "Attribute":{ + "type":"structure", + "members":{ + "defaultValue":{ + "shape":"DefaultValue", + "documentation":"

The default value of the asset model property attribute. All assets that you create from the asset model contain this attribute value. You can update an attribute's value after you create an asset. For more information, see Updating Attribute Values in the AWS IoT SiteWise User Guide.

" + } + }, + "documentation":"

Contains an asset attribute property. For more information, see Attributes in the AWS IoT SiteWise User Guide.

" + }, + "BatchAssociateProjectAssetsErrors":{ + "type":"list", + "member":{"shape":"AssetErrorDetails"} + }, + "BatchAssociateProjectAssetsRequest":{ + "type":"structure", + "required":[ + "projectId", + "assetIds" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project to which to associate the assets.

", + "location":"uri", + "locationName":"projectId" + }, + "assetIds":{ + "shape":"IDs", + "documentation":"

The IDs of the assets to be associated to the project.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "BatchAssociateProjectAssetsResponse":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"BatchAssociateProjectAssetsErrors", + "documentation":"

A list of associated error information, if any.

" + } + } + }, + "BatchDisassociateProjectAssetsErrors":{ + "type":"list", + "member":{"shape":"AssetErrorDetails"} + }, + "BatchDisassociateProjectAssetsRequest":{ + "type":"structure", + "required":[ + "projectId", + "assetIds" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project from which to disassociate the assets.

", + "location":"uri", + "locationName":"projectId" + }, + "assetIds":{ + "shape":"IDs", + "documentation":"

The IDs of the assets to be disassociated from the project.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "BatchDisassociateProjectAssetsResponse":{ + "type":"structure", + "members":{ + "errors":{ + "shape":"BatchDisassociateProjectAssetsErrors", + "documentation":"

A list of associated error information, if any.

" + } + } + }, + "BatchPutAssetPropertyError":{ + "type":"structure", + "required":[ + "errorCode", + "errorMessage", + "timestamps" + ], + "members":{ + "errorCode":{ + "shape":"BatchPutAssetPropertyValueErrorCode", + "documentation":"

The error code.

" + }, + "errorMessage":{ + "shape":"ErrorMessage", + "documentation":"

The associated error message.

" + }, + "timestamps":{ + "shape":"Timestamps", + "documentation":"

A list of timestamps for each error, if any.

" + } + }, + "documentation":"

Contains error information from updating a batch of asset property values.

" + }, + "BatchPutAssetPropertyErrorEntries":{ + "type":"list", + "member":{"shape":"BatchPutAssetPropertyErrorEntry"} + }, + "BatchPutAssetPropertyErrorEntry":{ + "type":"structure", + "required":[ + "entryId", + "errors" + ], + "members":{ + "entryId":{ + "shape":"EntryId", + "documentation":"

The ID of the failed entry.

" + }, + "errors":{ + "shape":"BatchPutAssetPropertyErrors", + "documentation":"

The list of update property value errors.

" + } + }, + "documentation":"

Contains error information for asset property value entries that are associated with the BatchPutAssetPropertyValue API.

" + }, + "BatchPutAssetPropertyErrors":{ + "type":"list", + "member":{"shape":"BatchPutAssetPropertyError"} + }, + "BatchPutAssetPropertyValueErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFoundException", + "InvalidRequestException", + "InternalFailureException", + "ServiceUnavailableException", + "ThrottlingException", + "LimitExceededException", + "ConflictingOperationException", + "TimestampOutOfRangeException", + "AccessDeniedException" + ] + }, + "BatchPutAssetPropertyValueRequest":{ + "type":"structure", + "required":["entries"], + "members":{ + "entries":{ + "shape":"PutAssetPropertyValueEntries", + "documentation":"

The list of asset property value entries for the batch put request. You can specify up to 10 entries per request.

" + } + } + }, + "BatchPutAssetPropertyValueResponse":{ + "type":"structure", + "required":["errorEntries"], + "members":{ + "errorEntries":{ + "shape":"BatchPutAssetPropertyErrorEntries", + "documentation":"

A list of the errors (if any) associated with the batch put request. Each error entry contains the entryId of the entry that failed.

" + } + } + }, + "CapabilityConfiguration":{ + "type":"string", + "max":204800, + "min":1 + }, + "CapabilityNamespace":{ + "type":"string", + "max":512, + "min":1, + "pattern":"^[a-zA-Z]+:[a-zA-Z]+:[0-9]+$" + }, + "CapabilitySyncStatus":{ + "type":"string", + "enum":[ + "IN_SYNC", + "OUT_OF_SYNC", + "SYNC_FAILED" + ] + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":36, + "pattern":"\\S{36,64}" + }, + "ConflictingOperationException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceArn" + ], + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource that conflicts with this operation.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource that conflicts with this operation.

" + } + }, + "documentation":"

Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateAccessPolicyRequest":{ + "type":"structure", + "required":[ + "accessPolicyIdentity", + "accessPolicyResource", + "accessPolicyPermission" + ], + "members":{ + "accessPolicyIdentity":{ + "shape":"Identity", + "documentation":"

The identity for this access policy. Choose either a user or a group but not both.

" + }, + "accessPolicyResource":{ + "shape":"Resource", + "documentation":"

The AWS IoT SiteWise Monitor resource for this access policy. Choose either portal or project but not both.

" + }, + "accessPolicyPermission":{ + "shape":"Permission", + "documentation":"

The permission level for this access policy. Note that a project ADMINISTRATOR is also known as a project owner.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the access policy. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateAccessPolicyResponse":{ + "type":"structure", + "required":[ + "accessPolicyId", + "accessPolicyArn" + ], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "documentation":"

The ID of the access policy.

" + }, + "accessPolicyArn":{ + "shape":"ARN", + "documentation":"

The ARN of the access policy, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}

" + } + } + }, + "CreateAssetModelRequest":{ + "type":"structure", + "required":["assetModelName"], + "members":{ + "assetModelName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the asset model.

" + }, + "assetModelDescription":{ + "shape":"Description", + "documentation":"

A description for the asset model.

" + }, + "assetModelProperties":{ + "shape":"AssetModelPropertyDefinitions", + "documentation":"

The property definitions of the asset model. For more information, see Asset Properties in the AWS IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "assetModelHierarchies":{ + "shape":"AssetModelHierarchyDefinitions", + "documentation":"

The hierarchy definitions of the asset model. Each hierarchy specifies an asset model whose assets can be children of any other assets created from this asset model. For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

You can specify up to 10 hierarchies per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the asset model. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateAssetModelResponse":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelArn", + "assetModelStatus" + ], + "members":{ + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model. You can use this ID when you call other AWS IoT SiteWise APIs.

" + }, + "assetModelArn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset model, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}

" + }, + "assetModelStatus":{ + "shape":"AssetModelStatus", + "documentation":"

The status of the asset model, which contains a state (CREATING after successfully calling this operation) and any error message.

" + } + } + }, + "CreateAssetRequest":{ + "type":"structure", + "required":[ + "assetName", + "assetModelId" + ], + "members":{ + "assetName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the asset.

" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model from which to create the asset.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the asset. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateAssetResponse":{ + "type":"structure", + "required":[ + "assetId", + "assetArn", + "assetStatus" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset. This ID uniquely identifies the asset within AWS IoT SiteWise and can be used with other AWS IoT SiteWise APIs.

" + }, + "assetArn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

" + }, + "assetStatus":{ + "shape":"AssetStatus", + "documentation":"

The status of the asset, which contains a state (CREATING after successfully calling this operation) and any error message.

" + } + } + }, + "CreateDashboardRequest":{ + "type":"structure", + "required":[ + "projectId", + "dashboardName", + "dashboardDefinition" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project in which to create the dashboard.

" + }, + "dashboardName":{ + "shape":"Name", + "documentation":"

A friendly name for the dashboard.

" + }, + "dashboardDescription":{ + "shape":"Description", + "documentation":"

A description for the dashboard.

" + }, + "dashboardDefinition":{ + "shape":"DashboardDefinition", + "documentation":"

The dashboard definition specified in a JSON literal. For detailed information, see Creating Dashboards (CLI) in the AWS IoT SiteWise User Guide.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the dashboard. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateDashboardResponse":{ + "type":"structure", + "required":[ + "dashboardId", + "dashboardArn" + ], + "members":{ + "dashboardId":{ + "shape":"ID", + "documentation":"

The ID of the dashboard.

" + }, + "dashboardArn":{ + "shape":"ARN", + "documentation":"

The ARN of the dashboard, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}

" + } + } + }, + "CreateGatewayRequest":{ + "type":"structure", + "required":[ + "gatewayName", + "gatewayPlatform" + ], + "members":{ + "gatewayName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the gateway.

" + }, + "gatewayPlatform":{ + "shape":"GatewayPlatform", + "documentation":"

The gateway's platform. You can only specify one platform in a gateway.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the gateway. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateGatewayResponse":{ + "type":"structure", + "required":[ + "gatewayId", + "gatewayArn" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway device. You can use this ID when you call other AWS IoT SiteWise APIs.

" + }, + "gatewayArn":{ + "shape":"ARN", + "documentation":"

The ARN of the gateway, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}

" + } + } + }, + "CreatePortalRequest":{ + "type":"structure", + "required":[ + "portalName", + "portalContactEmail", + "roleArn" + ], + "members":{ + "portalName":{ + "shape":"Name", + "documentation":"

A friendly name for the portal.

" + }, + "portalDescription":{ + "shape":"Description", + "documentation":"

A description for the portal.

" + }, + "portalContactEmail":{ + "shape":"Email", + "documentation":"

The AWS administrator's contact email address.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "portalLogoImageFile":{ + "shape":"ImageFile", + "documentation":"

A logo image to display in the portal. Upload a square, high-resolution image. The image is displayed on a dark background.

" + }, + "roleArn":{ + "shape":"ARN", + "documentation":"

The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the portal. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreatePortalResponse":{ + "type":"structure", + "required":[ + "portalId", + "portalArn", + "portalStartUrl", + "portalStatus", + "ssoApplicationId" + ], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the created portal.

" + }, + "portalArn":{ + "shape":"ARN", + "documentation":"

The ARN of the portal, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}

" + }, + "portalStartUrl":{ + "shape":"Url", + "documentation":"

The public URL for the AWS IoT SiteWise Monitor portal.

" + }, + "portalStatus":{ + "shape":"PortalStatus", + "documentation":"

The status of the portal, which contains a state (CREATING after successfully calling this operation) and any error message.

" + }, + "ssoApplicationId":{ + "shape":"SSOApplicationId", + "documentation":"

The associated AWS SSO application Id.

" + } + } + }, + "CreateProjectRequest":{ + "type":"structure", + "required":[ + "portalId", + "projectName" + ], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal in which to create the project.

" + }, + "projectName":{ + "shape":"Name", + "documentation":"

A friendly name for the project.

" + }, + "projectDescription":{ + "shape":"Description", + "documentation":"

A description for the project.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the project. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "CreateProjectResponse":{ + "type":"structure", + "required":[ + "projectId", + "projectArn" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

" + }, + "projectArn":{ + "shape":"ARN", + "documentation":"

The ARN of the project, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}

" + } + } + }, + "DashboardDefinition":{ + "type":"string", + "max":204800, + "min":0, + "pattern":".+" + }, + "DashboardSummaries":{ + "type":"list", + "member":{"shape":"DashboardSummary"} + }, + "DashboardSummary":{ + "type":"structure", + "required":[ + "id", + "name" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the dashboard.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the dashboard

" + }, + "description":{ + "shape":"Description", + "documentation":"

The dashboard's description.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the dashboard was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the dashboard was last updated, in Unix epoch time.

" + } + }, + "documentation":"

Contains a dashboard summary.

" + }, + "DefaultValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "DeleteAccessPolicyRequest":{ + "type":"structure", + "required":["accessPolicyId"], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "documentation":"

The ID of the access policy to be deleted.

", + "location":"uri", + "locationName":"accessPolicyId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteAccessPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAssetModelRequest":{ + "type":"structure", + "required":["assetModelId"], + "members":{ + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model to delete.

", + "location":"uri", + "locationName":"assetModelId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteAssetModelResponse":{ + "type":"structure", + "required":["assetModelStatus"], + "members":{ + "assetModelStatus":{ + "shape":"AssetModelStatus", + "documentation":"

The status of the asset model, which contains a state (DELETING after successfully calling this operation) and any error message.

" + } + } + }, + "DeleteAssetRequest":{ + "type":"structure", + "required":["assetId"], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset to delete.

", + "location":"uri", + "locationName":"assetId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteAssetResponse":{ + "type":"structure", + "required":["assetStatus"], + "members":{ + "assetStatus":{ + "shape":"AssetStatus", + "documentation":"

The status of the asset, which contains a state (DELETING after successfully calling this operation) and any error message.

" + } + } + }, + "DeleteDashboardRequest":{ + "type":"structure", + "required":["dashboardId"], + "members":{ + "dashboardId":{ + "shape":"ID", + "documentation":"

The ID of the dashboard to delete.

", + "location":"uri", + "locationName":"dashboardId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteDashboardResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGatewayRequest":{ + "type":"structure", + "required":["gatewayId"], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway to delete.

", + "location":"uri", + "locationName":"gatewayId" + } + } + }, + "DeletePortalRequest":{ + "type":"structure", + "required":["portalId"], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal to delete.

", + "location":"uri", + "locationName":"portalId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeletePortalResponse":{ + "type":"structure", + "required":["portalStatus"], + "members":{ + "portalStatus":{ + "shape":"PortalStatus", + "documentation":"

The status of the portal, which contains a state (DELETING after successfully calling this operation) and any error message.

" + } + } + }, + "DeleteProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

", + "location":"uri", + "locationName":"projectId" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true, + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccessPolicyRequest":{ + "type":"structure", + "required":["accessPolicyId"], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "documentation":"

The ID of the access policy.

", + "location":"uri", + "locationName":"accessPolicyId" + } + } + }, + "DescribeAccessPolicyResponse":{ + "type":"structure", + "required":[ + "accessPolicyId", + "accessPolicyArn", + "accessPolicyIdentity", + "accessPolicyResource", + "accessPolicyPermission", + "accessPolicyCreationDate", + "accessPolicyLastUpdateDate" + ], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "documentation":"

The ID of the access policy.

" + }, + "accessPolicyArn":{ + "shape":"ARN", + "documentation":"

The ARN of the access policy, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:access-policy/${AccessPolicyId}

" + }, + "accessPolicyIdentity":{ + "shape":"Identity", + "documentation":"

The AWS SSO identity (user or group) to which this access policy applies.

" + }, + "accessPolicyResource":{ + "shape":"Resource", + "documentation":"

The AWS IoT SiteWise Monitor resource (portal or project) to which this access policy provides access.

" + }, + "accessPolicyPermission":{ + "shape":"Permission", + "documentation":"

The access policy permission. Note that a project ADMINISTRATOR is also known as a project owner.

" + }, + "accessPolicyCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the access policy was created, in Unix epoch time.

" + }, + "accessPolicyLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the access policy was last updated, in Unix epoch time.

" + } + } + }, + "DescribeAssetModelRequest":{ + "type":"structure", + "required":["assetModelId"], + "members":{ + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model.

", + "location":"uri", + "locationName":"assetModelId" + } + } + }, + "DescribeAssetModelResponse":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelArn", + "assetModelName", + "assetModelDescription", + "assetModelProperties", + "assetModelHierarchies", + "assetModelCreationDate", + "assetModelLastUpdateDate", + "assetModelStatus" + ], + "members":{ + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model.

" + }, + "assetModelArn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset model, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset-model/${AssetModelId}

" + }, + "assetModelName":{ + "shape":"Name", + "documentation":"

The name of the asset model.

" + }, + "assetModelDescription":{ + "shape":"Description", + "documentation":"

The asset model's description.

" + }, + "assetModelProperties":{ + "shape":"AssetModelProperties", + "documentation":"

The list of asset properties for the asset model.

" + }, + "assetModelHierarchies":{ + "shape":"AssetModelHierarchies", + "documentation":"

A list of asset model hierarchies that each contain a childAssetModelId and a hierarchyId (named id). A hierarchy specifies allowed parent/child asset relationships for an asset model.

" + }, + "assetModelCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset model was created, in Unix epoch time.

" + }, + "assetModelLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset model was last updated, in Unix epoch time.

" + }, + "assetModelStatus":{ + "shape":"AssetModelStatus", + "documentation":"

The current status of the asset model, which contains a state and any error message.

" + } + } + }, + "DescribeAssetPropertyRequest":{ + "type":"structure", + "required":[ + "assetId", + "propertyId" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

", + "location":"uri", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

", + "location":"uri", + "locationName":"propertyId" + } + } + }, + "DescribeAssetPropertyResponse":{ + "type":"structure", + "required":[ + "assetId", + "assetName", + "assetModelId", + "assetProperty" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

" + }, + "assetName":{ + "shape":"Name", + "documentation":"

The name of the asset.

" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model.

" + }, + "assetProperty":{ + "shape":"Property", + "documentation":"

The asset property's definition, alias, and notification state.

" + } + } + }, + "DescribeAssetRequest":{ + "type":"structure", + "required":["assetId"], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

", + "location":"uri", + "locationName":"assetId" + } + } + }, + "DescribeAssetResponse":{ + "type":"structure", + "required":[ + "assetId", + "assetArn", + "assetName", + "assetModelId", + "assetProperties", + "assetHierarchies", + "assetCreationDate", + "assetLastUpdateDate", + "assetStatus" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

" + }, + "assetArn":{ + "shape":"ARN", + "documentation":"

The ARN of the asset, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:asset/${AssetId}

" + }, + "assetName":{ + "shape":"Name", + "documentation":"

The name of the asset.

" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model that was used to create the asset.

" + }, + "assetProperties":{ + "shape":"AssetProperties", + "documentation":"

The list of asset properties for the asset.

" + }, + "assetHierarchies":{ + "shape":"AssetHierarchies", + "documentation":"

A list of asset hierarchies that each contain a hierarchyId. A hierarchy specifies allowed parent/child asset relationships.

" + }, + "assetCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was created, in Unix epoch time.

" + }, + "assetLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the asset was last updated, in Unix epoch time.

" + }, + "assetStatus":{ + "shape":"AssetStatus", + "documentation":"

The current status of the asset, which contains a state and any error message.

" + } + } + }, + "DescribeDashboardRequest":{ + "type":"structure", + "required":["dashboardId"], + "members":{ + "dashboardId":{ + "shape":"ID", + "documentation":"

The ID of the dashboard.

", + "location":"uri", + "locationName":"dashboardId" + } + } + }, + "DescribeDashboardResponse":{ + "type":"structure", + "required":[ + "dashboardId", + "dashboardArn", + "dashboardName", + "projectId", + "dashboardDefinition", + "dashboardCreationDate", + "dashboardLastUpdateDate" + ], + "members":{ + "dashboardId":{ + "shape":"ID", + "documentation":"

The ID of the dashboard.

" + }, + "dashboardArn":{ + "shape":"ARN", + "documentation":"

The ARN of the dashboard, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:dashboard/${DashboardId}

" + }, + "dashboardName":{ + "shape":"Name", + "documentation":"

The name of the dashboard.

" + }, + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project that the dashboard is in.

" + }, + "dashboardDescription":{ + "shape":"Description", + "documentation":"

The dashboard's description.

" + }, + "dashboardDefinition":{ + "shape":"DashboardDefinition", + "documentation":"

The dashboard's definition JSON literal. For detailed information, see Creating Dashboards (CLI) in the AWS IoT SiteWise User Guide.

" + }, + "dashboardCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the dashboard was created, in Unix epoch time.

" + }, + "dashboardLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the dashboard was last updated, in Unix epoch time.

" + } + } + }, + "DescribeGatewayCapabilityConfigurationRequest":{ + "type":"structure", + "required":[ + "gatewayId", + "capabilityNamespace" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway that defines the capability configuration.

", + "location":"uri", + "locationName":"gatewayId" + }, + "capabilityNamespace":{ + "shape":"CapabilityNamespace", + "documentation":"

The namespace of the capability configuration. For example, if you configure OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version, where version is a number such as 1.

", + "location":"uri", + "locationName":"capabilityNamespace" + } + } + }, + "DescribeGatewayCapabilityConfigurationResponse":{ + "type":"structure", + "required":[ + "gatewayId", + "capabilityNamespace", + "capabilityConfiguration", + "capabilitySyncStatus" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway that defines the capability configuration.

" + }, + "capabilityNamespace":{ + "shape":"CapabilityNamespace", + "documentation":"

The namespace of the gateway capability.

" + }, + "capabilityConfiguration":{ + "shape":"CapabilityConfiguration", + "documentation":"

The JSON document that defines the gateway capability's configuration. For more information, see Configuring data sources (CLI) in the AWS IoT SiteWise User Guide.

" + }, + "capabilitySyncStatus":{ + "shape":"CapabilitySyncStatus", + "documentation":"

The synchronization status of the capability configuration. The sync status can be one of the following:

  • IN_SYNC – The gateway is running the capability configuration.

  • OUT_OF_SYNC – The gateway hasn't received the capability configuration.

  • SYNC_FAILED – The gateway rejected the capability configuration.

" + } + } + }, + "DescribeGatewayRequest":{ + "type":"structure", + "required":["gatewayId"], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway device.

", + "location":"uri", + "locationName":"gatewayId" + } + } + }, + "DescribeGatewayResponse":{ + "type":"structure", + "required":[ + "gatewayId", + "gatewayName", + "gatewayArn", + "gatewayCapabilitySummaries", + "creationDate", + "lastUpdateDate" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway device.

" + }, + "gatewayName":{ + "shape":"Name", + "documentation":"

The name of the gateway.

" + }, + "gatewayArn":{ + "shape":"ARN", + "documentation":"

The ARN of the gateway, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:gateway/${GatewayId}

" + }, + "gatewayPlatform":{ + "shape":"GatewayPlatform", + "documentation":"

The gateway's platform.

" + }, + "gatewayCapabilitySummaries":{ + "shape":"GatewayCapabilitySummaries", + "documentation":"

A list of gateway capability summaries that each contain a namespace and status. Each gateway capability defines data sources for the gateway. To retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the gateway was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the gateway was last updated, in Unix epoch time.

" + } + } + }, + "DescribeLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeLoggingOptionsResponse":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The current logging options.

" + } + } + }, + "DescribePortalRequest":{ + "type":"structure", + "required":["portalId"], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal.

", + "location":"uri", + "locationName":"portalId" + } + } + }, + "DescribePortalResponse":{ + "type":"structure", + "required":[ + "portalId", + "portalArn", + "portalName", + "portalClientId", + "portalStartUrl", + "portalContactEmail", + "portalStatus", + "portalCreationDate", + "portalLastUpdateDate" + ], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal.

" + }, + "portalArn":{ + "shape":"ARN", + "documentation":"

The ARN of the portal, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:portal/${PortalId}

" + }, + "portalName":{ + "shape":"Name", + "documentation":"

The name of the portal.

" + }, + "portalDescription":{ + "shape":"Description", + "documentation":"

The portal's description.

" + }, + "portalClientId":{ + "shape":"PortalClientId", + "documentation":"

The AWS SSO application generated client ID (used with AWS SSO APIs).

" + }, + "portalStartUrl":{ + "shape":"Url", + "documentation":"

The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal.

" + }, + "portalContactEmail":{ + "shape":"Email", + "documentation":"

The AWS administrator's contact email address.

" + }, + "portalStatus":{ + "shape":"PortalStatus", + "documentation":"

The current status of the portal, which contains a state and any error message.

" + }, + "portalCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the portal was created, in Unix epoch time.

" + }, + "portalLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the portal was last updated, in Unix epoch time.

" + }, + "portalLogoImageLocation":{ + "shape":"ImageLocation", + "documentation":"

The portal's logo image, which is available at a URL.

" + }, + "roleArn":{ + "shape":"ARN", + "documentation":"

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

" + } + } + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

", + "location":"uri", + "locationName":"projectId" + } + } + }, + "DescribeProjectResponse":{ + "type":"structure", + "required":[ + "projectId", + "projectArn", + "projectName", + "portalId", + "projectCreationDate", + "projectLastUpdateDate" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

" + }, + "projectArn":{ + "shape":"ARN", + "documentation":"

The ARN of the project, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}

" + }, + "projectName":{ + "shape":"Name", + "documentation":"

The name of the project.

" + }, + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal that the project is in.

" + }, + "projectDescription":{ + "shape":"Description", + "documentation":"

The project's description.

" + }, + "projectCreationDate":{ + "shape":"Timestamp", + "documentation":"

The date the project was created, in Unix epoch time.

" + }, + "projectLastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the project was last updated, in Unix epoch time.

" + } + } + }, + "Description":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "DisassociateAssetsRequest":{ + "type":"structure", + "required":[ + "assetId", + "hierarchyId", + "childAssetId" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the parent asset from which to disassociate the child asset.

", + "location":"uri", + "locationName":"assetId" + }, + "hierarchyId":{ + "shape":"ID", + "documentation":"

The ID of a hierarchy in the parent asset's model. Hierarchies allow different groupings of assets to be formed that all come from the same asset model. You can use the hierarchy ID to identify the correct asset to disassociate. For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

" + }, + "childAssetId":{ + "shape":"ID", + "documentation":"

The ID of the child asset to disassociate.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "Email":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[^@]+@[^@]+" + }, + "EntryId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_-]+$" + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "VALIDATION_ERROR", + "INTERNAL_FAILURE" + ] + }, + "ErrorDetails":{ + "type":"structure", + "required":[ + "code", + "message" + ], + "members":{ + "code":{ + "shape":"ErrorCode", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"ErrorMessage", + "documentation":"

The error message.

" + } + }, + "documentation":"

Contains the details of an AWS IoT SiteWise error.

" + }, + "ErrorMessage":{"type":"string"}, + "ExceptionMessage":{"type":"string"}, + "Expression":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[a-z0-9._+\\-*%/^, ()]+$" + }, + "ExpressionVariable":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"VariableName", + "documentation":"

The friendly name of the variable to be used in the expression.

" + }, + "value":{ + "shape":"VariableValue", + "documentation":"

The variable that identifies an asset property from which to use values.

" + } + }, + "documentation":"

Contains expression variable information.

" + }, + "ExpressionVariables":{ + "type":"list", + "member":{"shape":"ExpressionVariable"} + }, + "GatewayCapabilitySummaries":{ + "type":"list", + "member":{"shape":"GatewayCapabilitySummary"} + }, + "GatewayCapabilitySummary":{ + "type":"structure", + "required":[ + "capabilityNamespace", + "capabilitySyncStatus" + ], + "members":{ + "capabilityNamespace":{ + "shape":"CapabilityNamespace", + "documentation":"

The namespace of the capability configuration. For example, if you configure OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version, where version is a number such as 1.

" + }, + "capabilitySyncStatus":{ + "shape":"CapabilitySyncStatus", + "documentation":"

The synchronization status of the capability configuration. The sync status can be one of the following:

  • IN_SYNC – The gateway is running the capability configuration.

  • OUT_OF_SYNC – The gateway hasn't received the capability configuration.

  • SYNC_FAILED – The gateway rejected the capability configuration.

" + } + }, + "documentation":"

Contains a summary of a gateway capability configuration.

" + }, + "GatewayPlatform":{ + "type":"structure", + "required":["greengrass"], + "members":{ + "greengrass":{ + "shape":"Greengrass", + "documentation":"

A gateway that runs on AWS IoT Greengrass.

" + } + }, + "documentation":"

Contains a gateway's platform information.

" + }, + "GatewaySummaries":{ + "type":"list", + "member":{"shape":"GatewaySummary"} + }, + "GatewaySummary":{ + "type":"structure", + "required":[ + "gatewayId", + "gatewayName", + "creationDate", + "lastUpdateDate" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway device.

" + }, + "gatewayName":{ + "shape":"Name", + "documentation":"

The name of the asset.

" + }, + "gatewayCapabilitySummaries":{ + "shape":"GatewayCapabilitySummaries", + "documentation":"

A list of gateway capability summaries that each contain a namespace and status. Each gateway capability defines data sources for the gateway. To retrieve a capability configuration's definition, use DescribeGatewayCapabilityConfiguration.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the gateway was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the gateway was last updated, in Unix epoch time.

" + } + }, + "documentation":"

Contains a summary of a gateway.

" + }, + "GetAssetPropertyAggregatesRequest":{ + "type":"structure", + "required":[ + "aggregateTypes", + "resolution", + "startDate", + "endDate" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

", + "location":"querystring", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

", + "location":"querystring", + "locationName":"propertyId" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

", + "location":"querystring", + "locationName":"propertyAlias" + }, + "aggregateTypes":{ + "shape":"AggregateTypes", + "documentation":"

The data aggregating function.

", + "location":"querystring", + "locationName":"aggregateTypes" + }, + "resolution":{ + "shape":"Resolution", + "documentation":"

The time interval over which to aggregate data.

", + "location":"querystring", + "locationName":"resolution" + }, + "qualities":{ + "shape":"Qualities", + "documentation":"

The quality by which to filter asset data.

", + "location":"querystring", + "locationName":"qualities" + }, + "startDate":{ + "shape":"Timestamp", + "documentation":"

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

", + "location":"querystring", + "locationName":"startDate" + }, + "endDate":{ + "shape":"Timestamp", + "documentation":"

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

", + "location":"querystring", + "locationName":"endDate" + }, + "timeOrdering":{ + "shape":"TimeOrdering", + "documentation":"

The chronological sorting order of the requested information.

", + "location":"querystring", + "locationName":"timeOrdering" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetAssetPropertyAggregatesResponse":{ + "type":"structure", + "required":["aggregatedValues"], + "members":{ + "aggregatedValues":{ + "shape":"AggregatedValues", + "documentation":"

The requested aggregated values.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "GetAssetPropertyValueHistoryRequest":{ + "type":"structure", + "required":[ + "startDate", + "endDate" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

", + "location":"querystring", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

", + "location":"querystring", + "locationName":"propertyId" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

", + "location":"querystring", + "locationName":"propertyAlias" + }, + "startDate":{ + "shape":"Timestamp", + "documentation":"

The exclusive start of the range from which to query historical data, expressed in seconds in Unix epoch time.

", + "location":"querystring", + "locationName":"startDate" + }, + "endDate":{ + "shape":"Timestamp", + "documentation":"

The inclusive end of the range from which to query historical data, expressed in seconds in Unix epoch time.

", + "location":"querystring", + "locationName":"endDate" + }, + "qualities":{ + "shape":"Qualities", + "documentation":"

The quality by which to filter asset data.

", + "location":"querystring", + "locationName":"qualities" + }, + "timeOrdering":{ + "shape":"TimeOrdering", + "documentation":"

The chronological sorting order of the requested information.

", + "location":"querystring", + "locationName":"timeOrdering" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetAssetPropertyValueHistoryResponse":{ + "type":"structure", + "required":["assetPropertyValueHistory"], + "members":{ + "assetPropertyValueHistory":{ + "shape":"AssetPropertyValueHistory", + "documentation":"

The asset property's value history.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "GetAssetPropertyValueRequest":{ + "type":"structure", + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset.

", + "location":"querystring", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

", + "location":"querystring", + "locationName":"propertyId" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

", + "location":"querystring", + "locationName":"propertyAlias" + } + } + }, + "GetAssetPropertyValueResponse":{ + "type":"structure", + "members":{ + "propertyValue":{ + "shape":"AssetPropertyValue", + "documentation":"

The current asset property value.

" + } + } + }, + "Greengrass":{ + "type":"structure", + "required":["groupArn"], + "members":{ + "groupArn":{ + "shape":"ARN", + "documentation":"

The ARN of the Greengrass group. For more information about how to find a group's ARN, see ListGroups and GetGroup in the AWS IoT Greengrass API Reference.

" + } + }, + "documentation":"

Contains details for a gateway that runs on AWS IoT Greengrass. To create a gateway that runs on AWS IoT Greengrass, you must add the IoT SiteWise connector to a Greengrass group and deploy it. Your Greengrass group must also have permissions to upload data to AWS IoT SiteWise. For more information, see Ingesting data using a gateway in the AWS IoT SiteWise User Guide.

" + }, + "GroupIdentity":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"IdentityId", + "documentation":"

The AWS SSO ID of the group.

" + } + }, + "documentation":"

Contains information for a group identity in an access policy.

" + }, + "ID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "IDs":{ + "type":"list", + "member":{"shape":"ID"}, + "max":100, + "min":1 + }, + "Identity":{ + "type":"structure", + "members":{ + "user":{ + "shape":"UserIdentity", + "documentation":"

A user identity.

" + }, + "group":{ + "shape":"GroupIdentity", + "documentation":"

A group identity.

" + } + }, + "documentation":"

Contains an AWS SSO identity ID for a user or group.

Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs. You can find the AWS SSO identity IDs in the URL of user and group pages in the AWS SSO console.

" + }, + "IdentityId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"\\S+" + }, + "IdentityType":{ + "type":"string", + "enum":[ + "USER", + "GROUP" + ] + }, + "Image":{ + "type":"structure", + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of an existing image. Specify this parameter to keep an existing image.

" + }, + "file":{"shape":"ImageFile"} + }, + "documentation":"

Contains an image that is one of the following:

  • An image file. Choose this option to upload a new image.

  • The ID of an existing image. Choose this option to keep an existing image.

" + }, + "ImageFile":{ + "type":"structure", + "required":[ + "data", + "type" + ], + "members":{ + "data":{ + "shape":"ImageFileData", + "documentation":"

The image file contents, represented as a base64-encoded string. The file size must be less than 1 MB.

" + }, + "type":{ + "shape":"ImageFileType", + "documentation":"

The file type of the image.

" + } + }, + "documentation":"

Contains an image file.

" + }, + "ImageFileData":{ + "type":"blob", + "max":1500000, + "min":1 + }, + "ImageFileType":{ + "type":"string", + "enum":["PNG"] + }, + "ImageLocation":{ + "type":"structure", + "required":[ + "id", + "url" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the image.

" + }, + "url":{ + "shape":"Url", + "documentation":"

The URL where the image is available. The URL is valid for 15 minutes so that you can view and download the image

" + } + }, + "documentation":"

Contains an image that is uploaded to AWS IoT SiteWise and available at a URL.

" + }, + "InternalFailureException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

AWS IoT SiteWise can't process your request right now. Try again later.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Interval":{ + "type":"string", + "max":3, + "min":2, + "pattern":"1w|1d|1h|15m|5m|1m" + }, + "InvalidRequestException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

You've reached the limit for a resource. For example, this can occur if you're trying to associate more than the allowed number of child assets or attempting to create more than the allowed number of properties for an asset model.

For more information, see Quotas in the AWS IoT SiteWise User Guide.

", + "error":{"httpStatusCode":410}, + "exception":true + }, + "ListAccessPoliciesRequest":{ + "type":"structure", + "members":{ + "identityType":{ + "shape":"IdentityType", + "documentation":"

The type of identity (user or group). This parameter is required if you specify identityId.

", + "location":"querystring", + "locationName":"identityType" + }, + "identityId":{ + "shape":"IdentityId", + "documentation":"

The ID of the identity. This parameter is required if you specify identityType.

", + "location":"querystring", + "locationName":"identityId" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource (portal or project). This parameter is required if you specify resourceId.

", + "location":"querystring", + "locationName":"resourceType" + }, + "resourceId":{ + "shape":"ID", + "documentation":"

The ID of the resource. This parameter is required if you specify resourceType.

", + "location":"querystring", + "locationName":"resourceId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAccessPoliciesResponse":{ + "type":"structure", + "required":["accessPolicySummaries"], + "members":{ + "accessPolicySummaries":{ + "shape":"AccessPolicySummaries", + "documentation":"

A list that summarizes each access policy.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAssetModelsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAssetModelsResponse":{ + "type":"structure", + "required":["assetModelSummaries"], + "members":{ + "assetModelSummaries":{ + "shape":"AssetModelSummaries", + "documentation":"

A list that summarizes each asset model.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAssetsFilter":{ + "type":"string", + "enum":[ + "ALL", + "TOP_LEVEL" + ] + }, + "ListAssetsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model by which to filter the list of assets. This parameter is required if you choose ALL for filter.

", + "location":"querystring", + "locationName":"assetModelId" + }, + "filter":{ + "shape":"ListAssetsFilter", + "documentation":"

The filter for the requested list of assets. Choose one of the following options. Defaults to ALL.

  • ALL – The list includes all assets for a given asset model ID. The assetModelId parameter is required if you filter by ALL.

  • TOP_LEVEL – The list includes only top-level assets in the asset hierarchy tree.

", + "location":"querystring", + "locationName":"filter" + } + } + }, + "ListAssetsResponse":{ + "type":"structure", + "required":["assetSummaries"], + "members":{ + "assetSummaries":{ + "shape":"AssetSummaries", + "documentation":"

A list that summarizes each asset.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListAssociatedAssetsRequest":{ + "type":"structure", + "required":[ + "assetId", + "hierarchyId" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the parent asset.

", + "location":"uri", + "locationName":"assetId" + }, + "hierarchyId":{ + "shape":"ID", + "documentation":"

The hierarchy ID (of the parent asset model) whose associated assets are returned. To find a hierarchy ID, use the DescribeAsset or DescribeAssetModel actions.

For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

", + "location":"querystring", + "locationName":"hierarchyId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAssociatedAssetsResponse":{ + "type":"structure", + "required":["assetSummaries"], + "members":{ + "assetSummaries":{ + "shape":"AssociatedAssetsSummaries", + "documentation":"

A list that summarizes the associated assets.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListDashboardsRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

", + "location":"querystring", + "locationName":"projectId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListDashboardsResponse":{ + "type":"structure", + "required":["dashboardSummaries"], + "members":{ + "dashboardSummaries":{ + "shape":"DashboardSummaries", + "documentation":"

A list that summarizes each dashboard in the project.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListGatewaysRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListGatewaysResponse":{ + "type":"structure", + "required":["gatewaySummaries"], + "members":{ + "gatewaySummaries":{ + "shape":"GatewaySummaries", + "documentation":"

A list that summarizes each gateway.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListPortalsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPortalsResponse":{ + "type":"structure", + "members":{ + "portalSummaries":{ + "shape":"PortalSummaries", + "documentation":"

A list that summarizes each portal.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListProjectAssetsRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project.

", + "location":"uri", + "locationName":"projectId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProjectAssetsResponse":{ + "type":"structure", + "required":["assetIds"], + "members":{ + "assetIds":{ + "shape":"AssetIDs", + "documentation":"

A list that contains the IDs of each asset associated with the project.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListProjectsRequest":{ + "type":"structure", + "required":["portalId"], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal.

", + "location":"querystring", + "locationName":"portalId" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to be used for the next set of paginated results.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to be returned per paginated request.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListProjectsResponse":{ + "type":"structure", + "required":["projectSummaries"], + "members":{ + "projectSummaries":{ + "shape":"ProjectSummaries", + "documentation":"

A list that summarizes each project in the portal.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource.

", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

The list of key-value pairs that contain metadata for the resource. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "LoggingLevel":{ + "type":"string", + "enum":[ + "ERROR", + "INFO", + "OFF" + ] + }, + "LoggingOptions":{ + "type":"structure", + "required":["level"], + "members":{ + "level":{ + "shape":"LoggingLevel", + "documentation":"

The AWS IoT SiteWise logging verbosity level.

" + } + }, + "documentation":"

Contains logging options.

" + }, + "Macro":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "Measurement":{ + "type":"structure", + "members":{ + }, + "documentation":"

Contains an asset measurement property. This structure is empty. For more information, see Measurements in the AWS IoT SiteWise User Guide.

" + }, + "Metric":{ + "type":"structure", + "required":[ + "expression", + "variables", + "window" + ], + "members":{ + "expression":{ + "shape":"Expression", + "documentation":"

The mathematical expression that defines the metric aggregation function. You can specify up to 10 variables per expression. You can specify up to 10 functions per expression.

For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "variables":{ + "shape":"ExpressionVariables", + "documentation":"

The list of variables used in the expression.

" + }, + "window":{ + "shape":"MetricWindow", + "documentation":"

The window (time interval) over which AWS IoT SiteWise computes the metric's aggregation expression. AWS IoT SiteWise computes one data point per window.

" + } + }, + "documentation":"

Contains an asset metric property. With metrics, you can calculate aggregate functions, such as an average, maximum, or minimum, as specified through an expression. A metric maps several values to a single value (such as a sum).

The maximum number of dependent/cascading variables used in any one metric calculation is 10. Therefore, a root metric can have up to 10 cascading metrics in its computational dependency tree. Additionally, a metric can only have a data type of DOUBLE and consume properties with data types of INTEGER or DOUBLE.

For more information, see Metrics in the AWS IoT SiteWise User Guide.

" + }, + "MetricWindow":{ + "type":"structure", + "members":{ + "tumbling":{ + "shape":"TumblingWindow", + "documentation":"

The tumbling time interval window.

" + } + }, + "documentation":"

Contains a time interval window used for data aggregate computations (for example, average, sum, count, and so on).

" + }, + "MonitorErrorCode":{ + "type":"string", + "enum":["INTERNAL_FAILURE"] + }, + "MonitorErrorDetails":{ + "type":"structure", + "members":{ + "code":{ + "shape":"MonitorErrorCode", + "documentation":"

The error code.

" + }, + "message":{ + "shape":"MonitorErrorMessage", + "documentation":"

The error message.

" + } + }, + "documentation":"

Contains AWS IoT SiteWise Monitor error details.

" + }, + "MonitorErrorMessage":{"type":"string"}, + "Name":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[A-Za-z0-9+/=]+" + }, + "OffsetInNanos":{ + "type":"integer", + "max":999999999, + "min":0 + }, + "Permission":{ + "type":"string", + "enum":[ + "ADMINISTRATOR", + "VIEWER" + ] + }, + "PortalClientId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[!-~]*" + }, + "PortalResource":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the portal.

" + } + }, + "documentation":"

Identifies an AWS IoT SiteWise Monitor portal.

" + }, + "PortalState":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "ACTIVE", + "FAILED" + ] + }, + "PortalStatus":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{ + "shape":"PortalState", + "documentation":"

The current state of the portal.

" + }, + "error":{ + "shape":"MonitorErrorDetails", + "documentation":"

Contains associated error information, if any.

" + } + }, + "documentation":"

Contains information about the current status of a portal.

" + }, + "PortalSummaries":{ + "type":"list", + "member":{"shape":"PortalSummary"} + }, + "PortalSummary":{ + "type":"structure", + "required":[ + "id", + "name", + "startUrl" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the portal.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the portal.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The portal's description.

" + }, + "startUrl":{ + "shape":"Url", + "documentation":"

The public root URL for the AWS IoT AWS IoT SiteWise Monitor application portal.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the portal was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the portal was last updated, in Unix epoch time.

" + }, + "roleArn":{ + "shape":"ARN", + "documentation":"

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

" + } + }, + "documentation":"

Contains a portal summary.

" + }, + "ProjectResource":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the project.

" + } + }, + "documentation":"

Identifies a specific AWS IoT SiteWise Monitor project.

" + }, + "ProjectSummaries":{ + "type":"list", + "member":{"shape":"ProjectSummary"} + }, + "ProjectSummary":{ + "type":"structure", + "required":[ + "id", + "name" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the project.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the project.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The project's description.

" + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

The date the project was created, in Unix epoch time.

" + }, + "lastUpdateDate":{ + "shape":"Timestamp", + "documentation":"

The date the project was last updated, in Unix epoch time.

" + } + }, + "documentation":"

Contains project summary information.

" + }, + "Property":{ + "type":"structure", + "required":[ + "id", + "name", + "dataType" + ], + "members":{ + "id":{ + "shape":"ID", + "documentation":"

The ID of the asset property.

" + }, + "name":{ + "shape":"Name", + "documentation":"

The name of the property.

" + }, + "alias":{ + "shape":"PropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

" + }, + "notification":{ + "shape":"PropertyNotification", + "documentation":"

The asset property's notification topic and state. For more information, see UpdateAssetProperty

" + }, + "dataType":{ + "shape":"PropertyDataType", + "documentation":"

The property data type.

" + }, + "unit":{ + "shape":"PropertyUnit", + "documentation":"

The unit (such as Newtons or RPM) of the asset property.

" + }, + "type":{ + "shape":"PropertyType", + "documentation":"

The property type (see PropertyType). A property contains one type.

" + } + }, + "documentation":"

Contains asset property information.

" + }, + "PropertyAlias":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "PropertyDataType":{ + "type":"string", + "enum":[ + "STRING", + "INTEGER", + "DOUBLE", + "BOOLEAN" + ] + }, + "PropertyNotification":{ + "type":"structure", + "required":[ + "topic", + "state" + ], + "members":{ + "topic":{ + "shape":"PropertyNotificationTopic", + "documentation":"

The MQTT topic to which AWS IoT SiteWise publishes property value update notifications.

" + }, + "state":{ + "shape":"PropertyNotificationState", + "documentation":"

The current notification state.

" + } + }, + "documentation":"

Contains asset property value notification information. When the notification state is enabled, AWS IoT SiteWise publishes property value updates to a unique MQTT topic. For more information, see Interacting with Other Services in the AWS IoT SiteWise User Guide.

" + }, + "PropertyNotificationState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "PropertyNotificationTopic":{"type":"string"}, + "PropertyType":{ + "type":"structure", + "members":{ + "attribute":{ + "shape":"Attribute", + "documentation":"

Specifies an asset attribute property. An attribute generally contains static information, such as the serial number of an IIoT wind turbine.

" + }, + "measurement":{ + "shape":"Measurement", + "documentation":"

Specifies an asset measurement property. A measurement represents a device's raw sensor data stream, such as timestamped temperature values or timestamped power values.

" + }, + "transform":{ + "shape":"Transform", + "documentation":"

Specifies an asset transform property. A transform contains a mathematical expression that maps a property's data points from one form to another, such as a unit conversion from Celsius to Fahrenheit.

" + }, + "metric":{ + "shape":"Metric", + "documentation":"

Specifies an asset metric property. A metric contains a mathematical expression that uses aggregate functions to process all input data points over a time interval and output a single data point, such as to calculate the average hourly temperature.

" + } + }, + "documentation":"

Contains a property type, which can be one of attribute, measurement, metric, or transform.

" + }, + "PropertyUnit":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "PropertyValueBooleanValue":{"type":"boolean"}, + "PropertyValueDoubleValue":{"type":"double"}, + "PropertyValueIntegerValue":{"type":"integer"}, + "PropertyValueStringValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[^\\u0000-\\u001F\\u007F]+" + }, + "PutAssetPropertyValueEntries":{ + "type":"list", + "member":{"shape":"PutAssetPropertyValueEntry"} + }, + "PutAssetPropertyValueEntry":{ + "type":"structure", + "required":[ + "entryId", + "propertyValues" + ], + "members":{ + "entryId":{ + "shape":"EntryId", + "documentation":"

The user specified ID for the entry. You can use this ID to identify which entries failed.

" + }, + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset to update.

" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property for this entry.

" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

" + }, + "propertyValues":{ + "shape":"AssetPropertyValues", + "documentation":"

The list of property values to upload. You can specify up to 10 propertyValues array elements.

" + } + }, + "documentation":"

Contains a list of value updates for an asset property in the list of asset entries consumed by the BatchPutAssetPropertyValue API.

" + }, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["loggingOptions"], + "members":{ + "loggingOptions":{ + "shape":"LoggingOptions", + "documentation":"

The logging options to set.

" + } + } + }, + "PutLoggingOptionsResponse":{ + "type":"structure", + "members":{ + } + }, + "Qualities":{ + "type":"list", + "member":{"shape":"Quality"}, + "max":1, + "min":1 + }, + "Quality":{ + "type":"string", + "enum":[ + "GOOD", + "BAD", + "UNCERTAIN" + ] + }, + "Resolution":{ + "type":"string", + "max":2, + "min":2, + "pattern":"1m|1h|1d" + }, + "Resource":{ + "type":"structure", + "members":{ + "portal":{ + "shape":"PortalResource", + "documentation":"

A portal resource.

" + }, + "project":{ + "shape":"ProjectResource", + "documentation":"

A project resource.

" + } + }, + "documentation":"

Contains an AWS IoT SiteWise Monitor resource ID for a portal or project.

" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "required":[ + "message", + "resourceId", + "resourceArn" + ], + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"

The ID of the resource that already exists.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The ARN of the resource that already exists.

" + } + }, + "documentation":"

The resource already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceArn":{"type":"string"}, + "ResourceId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested resource can't be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "PORTAL", + "PROJECT" + ] + }, + "SSOApplicationId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[!-~]*" + }, + "ServiceUnavailableException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested service is unavailable.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource to tag.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

A list of key-value pairs that contain metadata for the resource. For more information, see Tagging your AWS IoT SiteWise resources in the AWS IoT SiteWise User Guide.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Your request exceeded a rate limit. For example, you might have exceeded the number of AWS IoT SiteWise assets that can be created per second, the allowed number of messages per second, and so on.

For more information, see Quotas in the AWS IoT SiteWise User Guide.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimeInNanos":{ + "type":"structure", + "required":["timeInSeconds"], + "members":{ + "timeInSeconds":{ + "shape":"TimeInSeconds", + "documentation":"

The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond data is provided by offsetInNanos.

" + }, + "offsetInNanos":{ + "shape":"OffsetInNanos", + "documentation":"

The nanosecond offset from timeInSeconds.

" + } + }, + "documentation":"

Contains a timestamp with optional nanosecond granularity.

" + }, + "TimeInSeconds":{ + "type":"long", + "max":31556889864403199, + "min":1 + }, + "TimeOrdering":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "Timestamp":{"type":"timestamp"}, + "Timestamps":{ + "type":"list", + "member":{"shape":"TimeInNanos"} + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceName":{ + "shape":"AmazonResourceName", + "documentation":"

The name of the resource with too many tags.

" + } + }, + "documentation":"

You've reached the limit for the number of tags allowed for a resource. For more information, see Tag naming limits and requirements in the AWS General Reference.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Transform":{ + "type":"structure", + "required":[ + "expression", + "variables" + ], + "members":{ + "expression":{ + "shape":"Expression", + "documentation":"

The mathematical expression that defines the transformation function. You can specify up to 10 variables per expression. You can specify up to 10 functions per expression.

For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "variables":{ + "shape":"ExpressionVariables", + "documentation":"

The list of variables used in the expression.

" + } + }, + "documentation":"

Contains an asset transform property. A transform is a one-to-one mapping of a property's data points from one form to another. For example, you can use a transform to convert a Celsius data stream to Fahrenheit by applying the transformation expression to each data point of the Celsius stream. A transform can only have a data type of DOUBLE and consume properties with data types of INTEGER or DOUBLE.

For more information, see Transforms in the AWS IoT SiteWise User Guide.

" + }, + "TumblingWindow":{ + "type":"structure", + "required":["interval"], + "members":{ + "interval":{ + "shape":"Interval", + "documentation":"

The time interval for the tumbling window. Note that w represents weeks, d represents days, h represents hours, and m represents minutes. AWS IoT SiteWise computes the 1w interval the end of Sunday at midnight each week (UTC), the 1d interval at the end of each day at midnight (UTC), the 1h interval at the end of each hour, and so on.

When AWS IoT SiteWise aggregates data points for metric computations, the start of each interval is exclusive and the end of each interval is inclusive. AWS IoT SiteWise places the computed data point at the end of the interval.

" + } + }, + "documentation":"

Contains a tumbling window, which is a repeating fixed-sized, non-overlapping, and contiguous time interval. This window is used in metric and aggregation computations.

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The ARN of the resource to untag.

", + "location":"querystring", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of keys for tags to remove from the resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAccessPolicyRequest":{ + "type":"structure", + "required":[ + "accessPolicyId", + "accessPolicyIdentity", + "accessPolicyResource", + "accessPolicyPermission" + ], + "members":{ + "accessPolicyId":{ + "shape":"ID", + "documentation":"

The ID of the access policy.

", + "location":"uri", + "locationName":"accessPolicyId" + }, + "accessPolicyIdentity":{ + "shape":"Identity", + "documentation":"

The identity for this access policy. Choose either a user or a group but not both.

" + }, + "accessPolicyResource":{ + "shape":"Resource", + "documentation":"

The AWS IoT SiteWise Monitor resource for this access policy. Choose either portal or project but not both.

" + }, + "accessPolicyPermission":{ + "shape":"Permission", + "documentation":"

The permission level for this access policy. Note that a project ADMINISTRATOR is also known as a project owner.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateAccessPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateAssetModelRequest":{ + "type":"structure", + "required":[ + "assetModelId", + "assetModelName" + ], + "members":{ + "assetModelId":{ + "shape":"ID", + "documentation":"

The ID of the asset model to update.

", + "location":"uri", + "locationName":"assetModelId" + }, + "assetModelName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the asset model.

" + }, + "assetModelDescription":{ + "shape":"Description", + "documentation":"

A description for the asset model.

" + }, + "assetModelProperties":{ + "shape":"AssetModelProperties", + "documentation":"

The updated property definitions of the asset model. For more information, see Asset Properties in the AWS IoT SiteWise User Guide.

You can specify up to 200 properties per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "assetModelHierarchies":{ + "shape":"AssetModelHierarchies", + "documentation":"

The updated hierarchy definitions of the asset model. Each hierarchy specifies an asset model whose assets can be children of any other assets created from this asset model. For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

You can specify up to 10 hierarchies per asset model. For more information, see Quotas in the AWS IoT SiteWise User Guide.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateAssetModelResponse":{ + "type":"structure", + "required":["assetModelStatus"], + "members":{ + "assetModelStatus":{ + "shape":"AssetModelStatus", + "documentation":"

The status of the asset model, which contains a state (UPDATING after successfully calling this operation) and any error message.

" + } + } + }, + "UpdateAssetPropertyRequest":{ + "type":"structure", + "required":[ + "assetId", + "propertyId" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset to be updated.

", + "location":"uri", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "documentation":"

The ID of the asset property to be updated.

", + "location":"uri", + "locationName":"propertyId" + }, + "propertyAlias":{ + "shape":"PropertyAlias", + "documentation":"

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping Industrial Data Streams to Asset Properties in the AWS IoT SiteWise User Guide.

If you omit this parameter, the alias is removed from the property.

" + }, + "propertyNotificationState":{ + "shape":"PropertyNotificationState", + "documentation":"

The MQTT notification state (enabled or disabled) for this asset property. When the notification state is enabled, AWS IoT SiteWise publishes property value updates to a unique MQTT topic. For more information, see Interacting with Other Services in the AWS IoT SiteWise User Guide.

If you omit this parameter, the notification state is set to DISABLED.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateAssetRequest":{ + "type":"structure", + "required":[ + "assetId", + "assetName" + ], + "members":{ + "assetId":{ + "shape":"ID", + "documentation":"

The ID of the asset to update.

", + "location":"uri", + "locationName":"assetId" + }, + "assetName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the asset.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateAssetResponse":{ + "type":"structure", + "required":["assetStatus"], + "members":{ + "assetStatus":{ + "shape":"AssetStatus", + "documentation":"

The status of the asset, which contains a state (UPDATING after successfully calling this operation) and any error message.

" + } + } + }, + "UpdateDashboardRequest":{ + "type":"structure", + "required":[ + "dashboardId", + "dashboardName", + "dashboardDefinition" + ], + "members":{ + "dashboardId":{ + "shape":"ID", + "documentation":"

The ID of the dashboard to update.

", + "location":"uri", + "locationName":"dashboardId" + }, + "dashboardName":{ + "shape":"Name", + "documentation":"

A new friendly name for the dashboard.

" + }, + "dashboardDescription":{ + "shape":"Description", + "documentation":"

A new description for the dashboard.

" + }, + "dashboardDefinition":{ + "shape":"DashboardDefinition", + "documentation":"

The new dashboard definition, as specified in a JSON literal. For detailed information, see Creating Dashboards (CLI) in the AWS IoT SiteWise User Guide.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateDashboardResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateGatewayCapabilityConfigurationRequest":{ + "type":"structure", + "required":[ + "gatewayId", + "capabilityNamespace", + "capabilityConfiguration" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway to be updated.

", + "location":"uri", + "locationName":"gatewayId" + }, + "capabilityNamespace":{ + "shape":"CapabilityNamespace", + "documentation":"

The namespace of the gateway capability configuration to be updated. For example, if you configure OPC-UA sources from the AWS IoT SiteWise console, your OPC-UA capability configuration has the namespace iotsitewise:opcuacollector:version, where version is a number such as 1.

" + }, + "capabilityConfiguration":{ + "shape":"CapabilityConfiguration", + "documentation":"

The JSON document that defines the configuration for the gateway capability. For more information, see Configuring data sources (CLI) in the AWS IoT SiteWise User Guide.

" + } + } + }, + "UpdateGatewayCapabilityConfigurationResponse":{ + "type":"structure", + "required":[ + "capabilityNamespace", + "capabilitySyncStatus" + ], + "members":{ + "capabilityNamespace":{ + "shape":"CapabilityNamespace", + "documentation":"

The namespace of the gateway capability.

" + }, + "capabilitySyncStatus":{ + "shape":"CapabilitySyncStatus", + "documentation":"

The synchronization status of the capability configuration. The sync status can be one of the following:

  • IN_SYNC – The gateway is running the capability configuration.

  • OUT_OF_SYNC – The gateway hasn't received the capability configuration.

  • SYNC_FAILED – The gateway rejected the capability configuration.

After you update a capability configuration, its sync status is OUT_OF_SYNC until the gateway receives and applies or rejects the updated configuration.

" + } + } + }, + "UpdateGatewayRequest":{ + "type":"structure", + "required":[ + "gatewayId", + "gatewayName" + ], + "members":{ + "gatewayId":{ + "shape":"ID", + "documentation":"

The ID of the gateway to update.

", + "location":"uri", + "locationName":"gatewayId" + }, + "gatewayName":{ + "shape":"Name", + "documentation":"

A unique, friendly name for the gateway.

" + } + } + }, + "UpdatePortalRequest":{ + "type":"structure", + "required":[ + "portalId", + "portalName", + "portalContactEmail", + "roleArn" + ], + "members":{ + "portalId":{ + "shape":"ID", + "documentation":"

The ID of the portal to update.

", + "location":"uri", + "locationName":"portalId" + }, + "portalName":{ + "shape":"Name", + "documentation":"

A new friendly name for the portal.

" + }, + "portalDescription":{ + "shape":"Description", + "documentation":"

A new description for the portal.

" + }, + "portalContactEmail":{ + "shape":"Email", + "documentation":"

The AWS administrator's contact email address.

" + }, + "portalLogoImage":{"shape":"Image"}, + "roleArn":{ + "shape":"ARN", + "documentation":"

The ARN of a service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdatePortalResponse":{ + "type":"structure", + "required":["portalStatus"], + "members":{ + "portalStatus":{ + "shape":"PortalStatus", + "documentation":"

The status of the portal, which contains a state (UPDATING after successfully calling this operation) and any error message.

" + } + } + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":[ + "projectId", + "projectName" + ], + "members":{ + "projectId":{ + "shape":"ID", + "documentation":"

The ID of the project to update.

", + "location":"uri", + "locationName":"projectId" + }, + "projectName":{ + "shape":"Name", + "documentation":"

A new friendly name for the project.

" + }, + "projectDescription":{ + "shape":"Description", + "documentation":"

A new description for the project.

" + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required.

", + "idempotencyToken":true + } + } + }, + "UpdateProjectResponse":{ + "type":"structure", + "members":{ + } + }, + "Url":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^(http|https)\\://\\S+" + }, + "UserIdentity":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"IdentityId", + "documentation":"

The AWS SSO ID of the user.

" + } + }, + "documentation":"

Contains information for a user identity in an access policy.

" + }, + "VariableName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-z][a-z0-9_]*$" + }, + "VariableValue":{ + "type":"structure", + "required":["propertyId"], + "members":{ + "propertyId":{ + "shape":"Macro", + "documentation":"

The ID of the property to use as the variable. You can use the property name if it's from the same asset model.

" + }, + "hierarchyId":{ + "shape":"Macro", + "documentation":"

The ID of the hierarchy to query for the property ID. You can use the hierarchy's name instead of the hierarchy's ID.

You use a hierarchy ID instead of a model ID because you can have several hierarchies using the same model and therefore the same propertyId. For example, you might have separately grouped assets that come from the same asset model. For more information, see Asset Hierarchies in the AWS IoT SiteWise User Guide.

" + } + }, + "documentation":"

Identifies a property value used in an expression.

" + }, + "Variant":{ + "type":"structure", + "members":{ + "stringValue":{ + "shape":"PropertyValueStringValue", + "documentation":"

Asset property data of type string (sequence of characters).

" + }, + "integerValue":{ + "shape":"PropertyValueIntegerValue", + "documentation":"

Asset property data of type integer (whole number).

" + }, + "doubleValue":{ + "shape":"PropertyValueDoubleValue", + "documentation":"

Asset property data of type double (floating point number).

" + }, + "booleanValue":{ + "shape":"PropertyValueBooleanValue", + "documentation":"

Asset property data of type Boolean (true or false).

" + } + }, + "documentation":"

Contains an asset property value (of a single type only).

" + } + }, + "documentation":"

Welcome to the AWS IoT SiteWise API Reference. AWS IoT SiteWise is an AWS service that connects Industrial Internet of Things (IIoT) devices to the power of the AWS Cloud. For more information, see the AWS IoT SiteWise User Guide. For information about AWS IoT SiteWise quotas, see Quotas in the AWS IoT SiteWise User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/waiters-2.json python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/waiters-2.json --- python-botocore-1.4.70/botocore/data/iotsitewise/2019-12-02/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotsitewise/2019-12-02/waiters-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,92 @@ +{ + "version": 2, + "waiters": { + "AssetModelNotExists": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribeAssetModel", + "acceptors": [ + { + "state": "success", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "AssetModelActive": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribeAssetModel", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "assetModelStatus.state", + "expected": "ACTIVE" + }, + { + "state": "failure", + "matcher": "path", + "argument": "assetModelStatus.state", + "expected": "FAILED" + } + ] + }, + "AssetNotExists": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribeAsset", + "acceptors": [ + { + "state": "success", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "AssetActive": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribeAsset", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "assetStatus.state", + "expected": "ACTIVE" + }, + { + "state": "failure", + "matcher": "path", + "argument": "assetStatus.state", + "expected": "FAILED" + } + ] + }, + "PortalNotExists": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribePortal", + "acceptors": [ + { + "state": "success", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "PortalActive": { + "delay": 3, + "maxAttempts": 20, + "operation": "DescribePortal", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "portalStatus.state", + "expected": "ACTIVE" + } + ] + } + } + } diff -Nru python-botocore-1.4.70/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotthingsgraph/2018-09-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,64 @@ +{ + "pagination": { + "GetFlowTemplateRevisions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "GetSystemTemplateRevisions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "ListFlowExecutionMessages": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "messages" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tags" + }, + "SearchEntities": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "descriptions" + }, + "SearchFlowExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchFlowTemplates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchSystemInstances": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchSystemTemplates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "summaries" + }, + "SearchThings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/iotthingsgraph/2018-09-06/service-2.json python-botocore-1.16.19+repack/botocore/data/iotthingsgraph/2018-09-06/service-2.json --- python-botocore-1.4.70/botocore/data/iotthingsgraph/2018-09-06/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/iotthingsgraph/2018-09-06/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2218 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-06", + "endpointPrefix":"iotthingsgraph", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS IoT Things Graph", + "serviceId":"IoTThingsGraph", + "signatureVersion":"v4", + "signingName":"iotthingsgraph", + "targetPrefix":"IotThingsGraphFrontEndService", + "uid":"iotthingsgraph-2018-09-06" + }, + "operations":{ + "AssociateEntityToThing":{ + "name":"AssociateEntityToThing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateEntityToThingRequest"}, + "output":{"shape":"AssociateEntityToThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Associates a device with a concrete thing that is in the user's registry.

A thing can be associated with only one device at a time. If you associate a thing with a new device id, its previous association will be removed.

" + }, + "CreateFlowTemplate":{ + "name":"CreateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFlowTemplateRequest"}, + "output":{"shape":"CreateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a workflow template. Workflows can be created only in the user's namespace. (The public namespace contains only entities.) The workflow can contain only entities in the specified namespace. The workflow is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request.

" + }, + "CreateSystemInstance":{ + "name":"CreateSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSystemInstanceRequest"}, + "output":{"shape":"CreateSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates a system instance.

This action validates the system instance, prepares the deployment-related resources. For Greengrass deployments, it updates the Greengrass group that is specified by the greengrassGroupName parameter. It also adds a file to the S3 bucket specified by the s3BucketName parameter. You need to call DeploySystemInstance after running this action.

For Greengrass deployments, since this action modifies and adds resources to a Greengrass group and an S3 bucket on the caller's behalf, the calling identity must have write permissions to both the specified Greengrass group and S3 bucket. Otherwise, the call will fail with an authorization error.

For cloud deployments, this action requires a flowActionsRoleArn value. This is an IAM role that has permissions to access AWS services, such as AWS Lambda and AWS IoT, that the flow uses when it executes.

If the definition document doesn't specify a version of the user's namespace, the latest version will be used by default.

" + }, + "CreateSystemTemplate":{ + "name":"CreateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSystemTemplateRequest"}, + "output":{"shape":"CreateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a system. The system is validated against the entities in the latest version of the user's namespace unless another namespace version is specified in the request.

" + }, + "DeleteFlowTemplate":{ + "name":"DeleteFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFlowTemplateRequest"}, + "output":{"shape":"DeleteFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a workflow. Any new system or deployment that contains this workflow will fail to update or deploy. Existing deployments that contain the workflow will continue to run (since they use a snapshot of the workflow taken at the time of deployment).

" + }, + "DeleteNamespace":{ + "name":"DeleteNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamespaceRequest"}, + "output":{"shape":"DeleteNamespaceResponse"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Deletes the specified namespace. This action deletes all of the entities in the namespace. Delete the systems and flows that use entities in the namespace before performing this action.

" + }, + "DeleteSystemInstance":{ + "name":"DeleteSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSystemInstanceRequest"}, + "output":{"shape":"DeleteSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a system instance. Only system instances that have never been deployed, or that have been undeployed can be deleted.

Users can create a new system instance that has the same ID as a deleted system instance.

" + }, + "DeleteSystemTemplate":{ + "name":"DeleteSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSystemTemplateRequest"}, + "output":{"shape":"DeleteSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a system. New deployments can't contain the system after its deletion. Existing deployments that contain the system will continue to work because they use a snapshot of the system that is taken when it is deployed.

" + }, + "DeploySystemInstance":{ + "name":"DeploySystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeploySystemInstanceRequest"}, + "output":{"shape":"DeploySystemInstanceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Greengrass and Cloud Deployments

Deploys the system instance to the target specified in CreateSystemInstance.

Greengrass Deployments

If the system or any workflows and entities have been updated before this action is called, then the deployment will create a new Amazon Simple Storage Service resource file and then deploy it.

Since this action creates a Greengrass deployment on the caller's behalf, the calling identity must have write permissions to the specified Greengrass group. Otherwise, the call will fail with an authorization error.

For information about the artifacts that get added to your Greengrass core device when you use this API, see AWS IoT Things Graph and AWS IoT Greengrass.

" + }, + "DeprecateFlowTemplate":{ + "name":"DeprecateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprecateFlowTemplateRequest"}, + "output":{"shape":"DeprecateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deprecates the specified workflow. This action marks the workflow for deletion. Deprecated flows can't be deployed, but existing deployments will continue to run.

" + }, + "DeprecateSystemTemplate":{ + "name":"DeprecateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeprecateSystemTemplateRequest"}, + "output":{"shape":"DeprecateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deprecates the specified system.

" + }, + "DescribeNamespace":{ + "name":"DescribeNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNamespaceRequest"}, + "output":{"shape":"DescribeNamespaceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the latest version of the user's namespace and the public version that it is tracking.

" + }, + "DissociateEntityFromThing":{ + "name":"DissociateEntityFromThing", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DissociateEntityFromThingRequest"}, + "output":{"shape":"DissociateEntityFromThingResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Dissociates a device entity from a concrete thing. The action takes only the type of the entity that you need to dissociate because only one entity of a particular type can be associated with a thing.

" + }, + "GetEntities":{ + "name":"GetEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEntitiesRequest"}, + "output":{"shape":"GetEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Gets definitions of the specified entities. Uses the latest version of the user's namespace by default. This API returns the following TDM entities.

  • Properties

  • States

  • Events

  • Actions

  • Capabilities

  • Mappings

  • Devices

  • Device Models

  • Services

This action doesn't return definitions for systems, flows, and deployments.

" + }, + "GetFlowTemplate":{ + "name":"GetFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFlowTemplateRequest"}, + "output":{"shape":"GetFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the latest version of the DefinitionDocument and FlowTemplateSummary for the specified workflow.

" + }, + "GetFlowTemplateRevisions":{ + "name":"GetFlowTemplateRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFlowTemplateRevisionsRequest"}, + "output":{"shape":"GetFlowTemplateRevisionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets revisions of the specified workflow. Only the last 100 revisions are stored. If the workflow has been deprecated, this action will return revisions that occurred before the deprecation. This action won't work for workflows that have been deleted.

" + }, + "GetNamespaceDeletionStatus":{ + "name":"GetNamespaceDeletionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamespaceDeletionStatusRequest"}, + "output":{"shape":"GetNamespaceDeletionStatusResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the status of a namespace deletion task.

" + }, + "GetSystemInstance":{ + "name":"GetSystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemInstanceRequest"}, + "output":{"shape":"GetSystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets a system instance.

" + }, + "GetSystemTemplate":{ + "name":"GetSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemTemplateRequest"}, + "output":{"shape":"GetSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets a system.

" + }, + "GetSystemTemplateRevisions":{ + "name":"GetSystemTemplateRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSystemTemplateRevisionsRequest"}, + "output":{"shape":"GetSystemTemplateRevisionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets revisions made to the specified system template. Only the previous 100 revisions are stored. If the system has been deprecated, this action will return the revisions that occurred before its deprecation. This action won't work with systems that have been deleted.

" + }, + "GetUploadStatus":{ + "name":"GetUploadStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUploadStatusRequest"}, + "output":{"shape":"GetUploadStatusResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Gets the status of the specified upload.

" + }, + "ListFlowExecutionMessages":{ + "name":"ListFlowExecutionMessages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFlowExecutionMessagesRequest"}, + "output":{"shape":"ListFlowExecutionMessagesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of objects that contain information about events in a flow execution.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Lists all tags on an AWS IoT Things Graph resource.

" + }, + "SearchEntities":{ + "name":"SearchEntities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchEntitiesRequest"}, + "output":{"shape":"SearchEntitiesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Searches for entities of the specified type. You can search for entities in your namespace and the public namespace that you're tracking.

" + }, + "SearchFlowExecutions":{ + "name":"SearchFlowExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFlowExecutionsRequest"}, + "output":{"shape":"SearchFlowExecutionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Searches for AWS IoT Things Graph workflow execution instances.

" + }, + "SearchFlowTemplates":{ + "name":"SearchFlowTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFlowTemplatesRequest"}, + "output":{"shape":"SearchFlowTemplatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for summary information about workflows.

" + }, + "SearchSystemInstances":{ + "name":"SearchSystemInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSystemInstancesRequest"}, + "output":{"shape":"SearchSystemInstancesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for system instances in the user's account.

" + }, + "SearchSystemTemplates":{ + "name":"SearchSystemTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchSystemTemplatesRequest"}, + "output":{"shape":"SearchSystemTemplatesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Searches for summary information about systems in the user's account. You can filter by the ID of a workflow to return only systems that use the specified workflow.

" + }, + "SearchThings":{ + "name":"SearchThings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchThingsRequest"}, + "output":{"shape":"SearchThingsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Searches for things associated with the specified entity. You can search by both device and device model.

For example, if two different devices, camera1 and camera2, implement the camera device model, the user can associate thing1 to camera1 and thing2 to camera2. SearchThings(camera2) will return only thing2, but SearchThings(camera) will return both thing1 and thing2.

This action searches for exact matches and doesn't perform partial text matching.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Creates a tag for the specified resource.

" + }, + "UndeploySystemInstance":{ + "name":"UndeploySystemInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UndeploySystemInstanceRequest"}, + "output":{"shape":"UndeploySystemInstanceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Removes a system instance from its target (Cloud or Greengrass).

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Removes a tag from the specified resource.

" + }, + "UpdateFlowTemplate":{ + "name":"UpdateFlowTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFlowTemplateRequest"}, + "output":{"shape":"UpdateFlowTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the specified workflow. All deployed systems and system instances that use the workflow will see the changes in the flow when it is redeployed. If you don't want this behavior, copy the workflow (creating a new workflow with a different ID), and update the copy. The workflow can contain only entities in the specified namespace.

" + }, + "UpdateSystemTemplate":{ + "name":"UpdateSystemTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSystemTemplateRequest"}, + "output":{"shape":"UpdateSystemTemplateResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Updates the specified system. You don't need to run this action after updating a workflow. Any deployment that uses the system will see the changes in the system when it is redeployed.

" + }, + "UploadEntityDefinitions":{ + "name":"UploadEntityDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UploadEntityDefinitionsRequest"}, + "output":{"shape":"UploadEntityDefinitionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Asynchronously uploads one or more entity definitions to the user's namespace. The document parameter is required if syncWithPublicNamespace and deleteExistingEntites are false. If the syncWithPublicNamespace parameter is set to true, the user's namespace will synchronize with the latest version of the public namespace. If deprecateExistingEntities is set to true, all entities in the latest version will be deleted before the new DefinitionDocument is uploaded.

When a user uploads entity definitions for the first time, the service creates a new namespace for the user. The new namespace tracks the public namespace. Currently users can have only one namespace. The namespace version increments whenever a user uploads entity definitions that are backwards-incompatible and whenever a user sets the syncWithPublicNamespace parameter or the deprecateExistingEntities parameter to true.

The IDs for all of the entities should be in URN format. Each entity must be in the user's namespace. Users can't create entities in the public namespace, but entity definitions can refer to entities in the public namespace.

Valid entities are Device, DeviceModel, Service, Capability, State, Action, Event, Property, Mapping, Enum.

" + } + }, + "shapes":{ + "Arn":{"type":"string"}, + "AssociateEntityToThingRequest":{ + "type":"structure", + "required":[ + "thingName", + "entityId" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to which the entity is to be associated.

" + }, + "entityId":{ + "shape":"Urn", + "documentation":"

The ID of the device to be associated with the thing.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "AssociateEntityToThingResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateFlowTemplateRequest":{ + "type":"structure", + "required":["definition"], + "members":{ + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The workflow DefinitionDocument.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version in which the workflow is to be created.

If no value is specified, the latest version is used by default.

" + } + } + }, + "CreateFlowTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

The summary object that describes the created workflow.

" + } + } + }, + "CreateSystemInstanceRequest":{ + "type":"structure", + "required":[ + "definition", + "target" + ], + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

Metadata, consisting of key-value pairs, that can be used to categorize your system instances.

" + }, + "definition":{"shape":"DefinitionDocument"}, + "target":{ + "shape":"DeploymentTarget", + "documentation":"

The target type of the deployment. Valid values are GREENGRASS and CLOUD.

" + }, + "greengrassGroupName":{ + "shape":"GroupName", + "documentation":"

The name of the Greengrass group where the system instance will be deployed. This value is required if the value of the target parameter is GREENGRASS.

" + }, + "s3BucketName":{ + "shape":"S3BucketName", + "documentation":"

The name of the Amazon Simple Storage Service bucket that will be used to store and deploy the system instance's resource file. This value is required if the value of the target parameter is GREENGRASS.

" + }, + "metricsConfiguration":{"shape":"MetricsConfiguration"}, + "flowActionsRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that AWS IoT Things Graph will assume when it executes the flow. This role must have read and write access to AWS Lambda and AWS IoT and any other AWS services that the flow uses when it executes. This value is required if the value of the target parameter is CLOUD.

" + } + } + }, + "CreateSystemInstanceResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

The summary object that describes the new system instance.

" + } + } + }, + "CreateSystemTemplateRequest":{ + "type":"structure", + "required":["definition"], + "members":{ + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument used to create the system.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version in which the system is to be created.

If no value is specified, the latest version is used by default.

" + } + } + }, + "CreateSystemTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

The summary object that describes the created system.

" + } + } + }, + "DefinitionDocument":{ + "type":"structure", + "required":[ + "language", + "text" + ], + "members":{ + "language":{ + "shape":"DefinitionLanguage", + "documentation":"

The language used to define the entity. GRAPHQL is the only valid value.

" + }, + "text":{ + "shape":"DefinitionText", + "documentation":"

The GraphQL text that defines the entity.

" + } + }, + "documentation":"

A document that defines an entity.

" + }, + "DefinitionLanguage":{ + "type":"string", + "enum":["GRAPHQL"] + }, + "DefinitionText":{ + "type":"string", + "max":1048576 + }, + "DeleteFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + } + } + }, + "DeleteFlowTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNamespaceRequest":{ + "type":"structure", + "members":{ + } + }, + "DeleteNamespaceResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace to be deleted.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace to be deleted.

" + } + } + }, + "DeleteSystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance to be deleted.

" + } + } + }, + "DeleteSystemInstanceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + } + } + }, + "DeleteSystemTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DependencyRevision":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow or system.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the workflow or system.

" + } + }, + "documentation":"

An object that contains the ID and revision number of a workflow or system that is part of a deployment.

" + }, + "DependencyRevisions":{ + "type":"list", + "member":{"shape":"DependencyRevision"} + }, + "DeploySystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance. This value is returned by the CreateSystemInstance action.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME

" + } + } + }, + "DeploySystemInstanceResponse":{ + "type":"structure", + "required":["summary"], + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about a system instance that was deployed.

" + }, + "greengrassDeploymentId":{ + "shape":"GreengrassDeploymentId", + "documentation":"

The ID of the Greengrass deployment used to deploy the system instance.

" + } + } + }, + "DeploymentTarget":{ + "type":"string", + "enum":[ + "GREENGRASS", + "CLOUD" + ] + }, + "DeprecateExistingEntities":{"type":"boolean"}, + "DeprecateFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be deleted.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + } + } + }, + "DeprecateFlowTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DeprecateSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to delete.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + } + } + }, + "DeprecateSystemTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeNamespaceRequest":{ + "type":"structure", + "members":{ + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the user's namespace. Set this to aws to get the public namespace.

" + } + } + }, + "DescribeNamespaceResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace.

" + }, + "trackingNamespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the public namespace that the latest namespace version is tracking.

" + }, + "trackingNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the public namespace that the latest version is tracking.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace to describe.

" + } + } + }, + "DissociateEntityFromThingRequest":{ + "type":"structure", + "required":[ + "thingName", + "entityType" + ], + "members":{ + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing to disassociate.

" + }, + "entityType":{ + "shape":"EntityType", + "documentation":"

The entity type from which to disassociate the thing.

" + } + } + }, + "DissociateEntityFromThingResponse":{ + "type":"structure", + "members":{ + } + }, + "Enabled":{"type":"boolean"}, + "EntityDescription":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The entity ID.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The entity ARN.

" + }, + "type":{ + "shape":"EntityType", + "documentation":"

The entity type.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The time at which the entity was created.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The definition document of the entity.

" + } + }, + "documentation":"

Describes the properties of an entity.

" + }, + "EntityDescriptions":{ + "type":"list", + "member":{"shape":"EntityDescription"} + }, + "EntityFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"EntityFilterName", + "documentation":"

The name of the entity search filter field. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, you can filter on the ID of a property that is used in a state.

" + }, + "value":{ + "shape":"EntityFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters an entity search. Multiple filters function as OR criteria in the search. For example a search that includes a NAMESPACE and a REFERENCED_ENTITY_ID filter searches for entities in the specified namespace that use the entity specified by the value of REFERENCED_ENTITY_ID.

" + }, + "EntityFilterName":{ + "type":"string", + "enum":[ + "NAME", + "NAMESPACE", + "SEMANTIC_TYPE_PATH", + "REFERENCED_ENTITY_ID" + ] + }, + "EntityFilterValue":{"type":"string"}, + "EntityFilterValues":{ + "type":"list", + "member":{"shape":"EntityFilterValue"} + }, + "EntityFilters":{ + "type":"list", + "member":{"shape":"EntityFilter"} + }, + "EntityType":{ + "type":"string", + "enum":[ + "DEVICE", + "SERVICE", + "DEVICE_MODEL", + "CAPABILITY", + "STATE", + "ACTION", + "EVENT", + "PROPERTY", + "MAPPING", + "ENUM" + ] + }, + "EntityTypes":{ + "type":"list", + "member":{"shape":"EntityType"} + }, + "ErrorMessage":{ + "type":"string", + "max":2048 + }, + "FlowExecutionEventType":{ + "type":"string", + "enum":[ + "EXECUTION_STARTED", + "EXECUTION_FAILED", + "EXECUTION_ABORTED", + "EXECUTION_SUCCEEDED", + "STEP_STARTED", + "STEP_FAILED", + "STEP_SUCCEEDED", + "ACTIVITY_SCHEDULED", + "ACTIVITY_STARTED", + "ACTIVITY_FAILED", + "ACTIVITY_SUCCEEDED", + "START_FLOW_EXECUTION_TASK", + "SCHEDULE_NEXT_READY_STEPS_TASK", + "THING_ACTION_TASK", + "THING_ACTION_TASK_FAILED", + "THING_ACTION_TASK_SUCCEEDED", + "ACKNOWLEDGE_TASK_MESSAGE" + ] + }, + "FlowExecutionId":{"type":"string"}, + "FlowExecutionMessage":{ + "type":"structure", + "members":{ + "messageId":{ + "shape":"FlowExecutionMessageId", + "documentation":"

The unique identifier of the message.

" + }, + "eventType":{ + "shape":"FlowExecutionEventType", + "documentation":"

The type of flow event .

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time when the message was last updated.

" + }, + "payload":{ + "shape":"FlowExecutionMessagePayload", + "documentation":"

A string containing information about the flow event.

" + } + }, + "documentation":"

An object that contains information about a flow event.

" + }, + "FlowExecutionMessageId":{"type":"string"}, + "FlowExecutionMessagePayload":{"type":"string"}, + "FlowExecutionMessages":{ + "type":"list", + "member":{"shape":"FlowExecutionMessage"} + }, + "FlowExecutionStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "ABORTED", + "SUCCEEDED", + "FAILED" + ] + }, + "FlowExecutionSummaries":{ + "type":"list", + "member":{"shape":"FlowExecutionSummary"} + }, + "FlowExecutionSummary":{ + "type":"structure", + "members":{ + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of the flow execution.

" + }, + "status":{ + "shape":"FlowExecutionStatus", + "documentation":"

The current status of the flow execution.

" + }, + "systemInstanceId":{ + "shape":"Urn", + "documentation":"

The ID of the system instance that contains the flow.

" + }, + "flowTemplateId":{ + "shape":"Urn", + "documentation":"

The ID of the flow.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the flow execution summary was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the flow execution summary was last updated.

" + } + }, + "documentation":"

An object that contains summary information about a flow execution.

" + }, + "FlowTemplateDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

An object that contains summary information about a workflow.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

A workflow's definition document.

" + }, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace against which the workflow was validated. Use this value in your system instance.

" + } + }, + "documentation":"

An object that contains a workflow's definition and summary information.

" + }, + "FlowTemplateFilter":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"FlowTemplateFilterName", + "documentation":"

The name of the search filter field.

" + }, + "value":{ + "shape":"FlowTemplateFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a workflow search.

" + }, + "FlowTemplateFilterName":{ + "type":"string", + "enum":["DEVICE_MODEL_ID"] + }, + "FlowTemplateFilterValue":{ + "type":"string", + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "FlowTemplateFilterValues":{ + "type":"list", + "member":{"shape":"FlowTemplateFilterValue"} + }, + "FlowTemplateFilters":{ + "type":"list", + "member":{"shape":"FlowTemplateFilter"} + }, + "FlowTemplateSummaries":{ + "type":"list", + "member":{"shape":"FlowTemplateSummary"} + }, + "FlowTemplateSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the workflow.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the workflow.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the workflow was created.

" + } + }, + "documentation":"

An object that contains summary information about a workflow.

" + }, + "GetEntitiesRequest":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{ + "shape":"Urns", + "documentation":"

An array of entity IDs.

The IDs should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "GetEntitiesResponse":{ + "type":"structure", + "members":{ + "descriptions":{ + "shape":"EntityDescriptions", + "documentation":"

An array of descriptions for the specified entities.

" + } + } + }, + "GetFlowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The number of the workflow revision to retrieve.

" + } + } + }, + "GetFlowTemplateResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"FlowTemplateDescription", + "documentation":"

The object that describes the specified workflow.

" + } + } + }, + "GetFlowTemplateRevisionsRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "GetFlowTemplateRevisionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowTemplateSummaries", + "documentation":"

An array of objects that provide summary data about each revision.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "GetNamespaceDeletionStatusRequest":{ + "type":"structure", + "members":{ + } + }, + "GetNamespaceDeletionStatusResponse":{ + "type":"structure", + "members":{ + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the namespace that is being deleted.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the namespace that is being deleted.

" + }, + "status":{ + "shape":"NamespaceDeletionStatus", + "documentation":"

The status of the deletion request.

" + }, + "errorCode":{ + "shape":"NamespaceDeletionStatusErrorCodes", + "documentation":"

An error code returned by the namespace deletion task.

" + }, + "errorMessage":{ + "shape":"String", + "documentation":"

An error code returned by the namespace deletion task.

" + } + } + }, + "GetSystemInstanceRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system deployment instance. This value is returned by CreateSystemInstance.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:deployment:DEPLOYMENTNAME

" + } + } + }, + "GetSystemInstanceResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"SystemInstanceDescription", + "documentation":"

An object that describes the system instance.

" + } + } + }, + "GetSystemTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to get. This ID must be in the user's namespace.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The number that specifies the revision of the system to get.

" + } + } + }, + "GetSystemTemplateResponse":{ + "type":"structure", + "members":{ + "description":{ + "shape":"SystemTemplateDescription", + "documentation":"

An object that contains summary data about the system.

" + } + } + }, + "GetSystemTemplateRevisionsRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system template.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "GetSystemTemplateRevisionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemTemplateSummaries", + "documentation":"

An array of objects that contain summary data about the system template revisions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "GetUploadStatusRequest":{ + "type":"structure", + "required":["uploadId"], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID of the upload. This value is returned by the UploadEntityDefinitions action.

" + } + } + }, + "GetUploadStatusResponse":{ + "type":"structure", + "required":[ + "uploadId", + "uploadStatus", + "createdDate" + ], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID of the upload.

" + }, + "uploadStatus":{ + "shape":"UploadStatus", + "documentation":"

The status of the upload. The initial status is IN_PROGRESS. The response show all validation failures if the upload fails.

" + }, + "namespaceArn":{ + "shape":"Arn", + "documentation":"

The ARN of the upload.

" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"

The name of the upload's namespace.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + }, + "failureReason":{ + "shape":"StringList", + "documentation":"

The reason for an upload failure.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date at which the upload was created.

" + } + } + }, + "GreengrassDeploymentId":{"type":"string"}, + "GreengrassGroupId":{"type":"string"}, + "GreengrassGroupVersionId":{"type":"string"}, + "GroupName":{"type":"string"}, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true, + "fault":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ListFlowExecutionMessagesRequest":{ + "type":"structure", + "required":["flowExecutionId"], + "members":{ + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of the flow execution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "ListFlowExecutionMessagesResponse":{ + "type":"structure", + "members":{ + "messages":{ + "shape":"FlowExecutionMessages", + "documentation":"

A list of objects that contain information about events in the specified flow execution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of tags to return.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are to be returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that specifies the next page of results to return.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

List of tags returned by the ListTagsForResource operation.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token that specifies the next page of results to return.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":250, + "min":1 + }, + "MetricsConfiguration":{ + "type":"structure", + "members":{ + "cloudMetricEnabled":{ + "shape":"Enabled", + "documentation":"

A Boolean that specifies whether cloud metrics are collected.

" + }, + "metricRuleRoleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the role that is used to collect cloud metrics.

" + } + }, + "documentation":"

An object that specifies whether cloud metrics are collected in a deployment and, if so, what role is used to collect metrics.

" + }, + "NamespaceDeletionStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "NamespaceDeletionStatusErrorCodes":{ + "type":"string", + "enum":["VALIDATION_FAILED"] + }, + "NamespaceName":{ + "type":"string", + "max":128 + }, + "NextToken":{"type":"string"}, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":1 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "S3BucketName":{"type":"string"}, + "SearchEntitiesRequest":{ + "type":"structure", + "required":["entityTypes"], + "members":{ + "entityTypes":{ + "shape":"EntityTypes", + "documentation":"

The entity types for which to search.

" + }, + "filters":{ + "shape":"EntityFilters", + "documentation":"

Optional filter to apply to the search. Valid filters are NAME NAMESPACE, SEMANTIC_TYPE_PATH and REFERENCED_ENTITY_ID. REFERENCED_ENTITY_ID filters on entities that are used by the entity in the result set. For example, you can filter on the ID of a property that is used in a state.

Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "SearchEntitiesResponse":{ + "type":"structure", + "members":{ + "descriptions":{ + "shape":"EntityDescriptions", + "documentation":"

An array of descriptions for each entity returned in the search result.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchFlowExecutionsRequest":{ + "type":"structure", + "required":["systemInstanceId"], + "members":{ + "systemInstanceId":{ + "shape":"Urn", + "documentation":"

The ID of the system instance that contains the flow.

" + }, + "flowExecutionId":{ + "shape":"FlowExecutionId", + "documentation":"

The ID of a flow execution.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the earliest flow execution to return.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of the latest flow execution to return.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchFlowExecutionsResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowExecutionSummaries", + "documentation":"

An array of objects that contain summary information about each workflow execution in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchFlowTemplatesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"FlowTemplateFilters", + "documentation":"

An array of objects that limit the result set. The only valid filter is DEVICE_MODEL_ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchFlowTemplatesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"FlowTemplateSummaries", + "documentation":"

An array of objects that contain summary information about each workflow in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchSystemInstancesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"SystemInstanceFilters", + "documentation":"

Optional filter to apply to the search. Valid filters are SYSTEM_TEMPLATE_ID, STATUS, and GREENGRASS_GROUP_NAME.

Multiple filters function as OR criteria in the query. Multiple values passed inside the filter function as AND criteria.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchSystemInstancesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemInstanceSummaries", + "documentation":"

An array of objects that contain summary data abour the system instances in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchSystemTemplatesRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"SystemTemplateFilters", + "documentation":"

An array of filters that limit the result set. The only valid filter is FLOW_TEMPLATE_ID.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + } + } + }, + "SearchSystemTemplatesResponse":{ + "type":"structure", + "members":{ + "summaries":{ + "shape":"SystemTemplateSummaries", + "documentation":"

An array of objects that contain summary information about each system deployment in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "SearchThingsRequest":{ + "type":"structure", + "required":["entityId"], + "members":{ + "entityId":{ + "shape":"Urn", + "documentation":"

The ID of the entity to which the things are associated.

The IDs should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:device:DEVICENAME

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string that specifies the next page of results. Use this when you're paginating results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return in the response.

" + }, + "namespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

" + } + } + }, + "SearchThingsResponse":{ + "type":"structure", + "members":{ + "things":{ + "shape":"Things", + "documentation":"

An array of things in the result set.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The string to specify as nextToken when you request the next page of results.

" + } + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SyncWithPublicNamespace":{"type":"boolean"}, + "SystemInstanceDeploymentStatus":{ + "type":"string", + "enum":[ + "NOT_DEPLOYED", + "BOOTSTRAP", + "DEPLOY_IN_PROGRESS", + "DEPLOYED_IN_TARGET", + "UNDEPLOY_IN_PROGRESS", + "FAILED", + "PENDING_DELETE", + "DELETED_IN_TARGET" + ] + }, + "SystemInstanceDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about a system instance.

" + }, + "definition":{"shape":"DefinitionDocument"}, + "s3BucketName":{ + "shape":"S3BucketName", + "documentation":"

The Amazon Simple Storage Service bucket where information about a system instance is stored.

" + }, + "metricsConfiguration":{"shape":"MetricsConfiguration"}, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace against which the system instance was validated.

" + }, + "validatedDependencyRevisions":{ + "shape":"DependencyRevisions", + "documentation":"

A list of objects that contain all of the IDs and revision numbers of workflows and systems that are used in a system instance.

" + }, + "flowActionsRoleArn":{ + "shape":"RoleArn", + "documentation":"

The AWS Identity and Access Management (IAM) role that AWS IoT Things Graph assumes during flow execution in a cloud deployment. This role must have read and write permissionss to AWS Lambda and AWS IoT and to any other AWS services that the flow uses.

" + } + }, + "documentation":"

An object that contains a system instance definition and summary information.

" + }, + "SystemInstanceFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SystemInstanceFilterName", + "documentation":"

The name of the search filter field.

" + }, + "value":{ + "shape":"SystemInstanceFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a system instance search. Multiple filters function as OR criteria in the search. For example a search that includes a GREENGRASS_GROUP_NAME and a STATUS filter searches for system instances in the specified Greengrass group that have the specified status.

" + }, + "SystemInstanceFilterName":{ + "type":"string", + "enum":[ + "SYSTEM_TEMPLATE_ID", + "STATUS", + "GREENGRASS_GROUP_NAME" + ] + }, + "SystemInstanceFilterValue":{"type":"string"}, + "SystemInstanceFilterValues":{ + "type":"list", + "member":{"shape":"SystemInstanceFilterValue"} + }, + "SystemInstanceFilters":{ + "type":"list", + "member":{"shape":"SystemInstanceFilter"} + }, + "SystemInstanceSummaries":{ + "type":"list", + "member":{"shape":"SystemInstanceSummary"} + }, + "SystemInstanceSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the system instance.

" + }, + "status":{ + "shape":"SystemInstanceDeploymentStatus", + "documentation":"

The status of the system instance.

" + }, + "target":{ + "shape":"DeploymentTarget", + "documentation":"

The target of the system instance.

" + }, + "greengrassGroupName":{ + "shape":"GroupName", + "documentation":"

The ID of the Greengrass group where the system instance is deployed.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the system instance was created.

" + }, + "updatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time when the system instance was last updated.

" + }, + "greengrassGroupId":{ + "shape":"GreengrassGroupId", + "documentation":"

The ID of the Greengrass group where the system instance is deployed.

" + }, + "greengrassGroupVersionId":{ + "shape":"GreengrassGroupVersionId", + "documentation":"

The version of the Greengrass group where the system instance is deployed.

" + } + }, + "documentation":"

An object that contains summary information about a system instance.

" + }, + "SystemTemplateDescription":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

An object that contains summary information about a system.

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The definition document of a system.

" + }, + "validatedNamespaceVersion":{ + "shape":"Version", + "documentation":"

The namespace version against which the system was validated. Use this value in your system instance.

" + } + }, + "documentation":"

An object that contains a system's definition document and summary information.

" + }, + "SystemTemplateFilter":{ + "type":"structure", + "required":[ + "name", + "value" + ], + "members":{ + "name":{ + "shape":"SystemTemplateFilterName", + "documentation":"

The name of the system search filter field.

" + }, + "value":{ + "shape":"SystemTemplateFilterValues", + "documentation":"

An array of string values for the search filter field. Multiple values function as AND criteria in the search.

" + } + }, + "documentation":"

An object that filters a system search.

" + }, + "SystemTemplateFilterName":{ + "type":"string", + "enum":["FLOW_TEMPLATE_ID"] + }, + "SystemTemplateFilterValue":{ + "type":"string", + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "SystemTemplateFilterValues":{ + "type":"list", + "member":{"shape":"SystemTemplateFilterValue"} + }, + "SystemTemplateFilters":{ + "type":"list", + "member":{"shape":"SystemTemplateFilter"} + }, + "SystemTemplateSummaries":{ + "type":"list", + "member":{"shape":"SystemTemplateSummary"} + }, + "SystemTemplateSummary":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of the system.

" + }, + "revisionNumber":{ + "shape":"Version", + "documentation":"

The revision number of the system.

" + }, + "createdAt":{ + "shape":"Timestamp", + "documentation":"

The date when the system was created.

" + } + }, + "documentation":"

An object that contains information about a system.

" + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The required name of the tag. The string value can be from 1 to 128 Unicode characters in length.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The optional value of the tag. The string value can be from 1 to 256 Unicode characters in length.

" + } + }, + "documentation":"

Metadata assigned to an AWS IoT Things Graph resource consisting of a key-value pair.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are returned.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags to add to the resource.>

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "Thing":{ + "type":"structure", + "members":{ + "thingArn":{ + "shape":"ThingArn", + "documentation":"

The ARN of the thing.

" + }, + "thingName":{ + "shape":"ThingName", + "documentation":"

The name of the thing.

" + } + }, + "documentation":"

An AWS IoT thing.

" + }, + "ThingArn":{"type":"string"}, + "ThingName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9:_-]+" + }, + "Things":{ + "type":"list", + "member":{"shape":"Thing"} + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UndeploySystemInstanceRequest":{ + "type":"structure", + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system instance to remove from its target.

" + } + } + }, + "UndeploySystemInstanceResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemInstanceSummary", + "documentation":"

An object that contains summary information about the system instance that was removed from its target.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource whose tags are to be removed.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag key names to remove from the resource. You don't specify the value. Both the key and its associated value are removed.

This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFlowTemplateRequest":{ + "type":"structure", + "required":[ + "id", + "definition" + ], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the workflow to be updated.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that contains the updated workflow definition.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace.

If no value is specified, the latest version is used by default. Use the GetFlowTemplateRevisions if you want to find earlier revisions of the flow to update.

" + } + } + }, + "UpdateFlowTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"FlowTemplateSummary", + "documentation":"

An object containing summary information about the updated workflow.

" + } + } + }, + "UpdateSystemTemplateRequest":{ + "type":"structure", + "required":[ + "id", + "definition" + ], + "members":{ + "id":{ + "shape":"Urn", + "documentation":"

The ID of the system to be updated.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:system:SYSTEMNAME

" + }, + "definition":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that contains the updated system definition.

" + }, + "compatibleNamespaceVersion":{ + "shape":"Version", + "documentation":"

The version of the user's namespace. Defaults to the latest version of the user's namespace.

If no value is specified, the latest version is used by default.

" + } + } + }, + "UpdateSystemTemplateResponse":{ + "type":"structure", + "members":{ + "summary":{ + "shape":"SystemTemplateSummary", + "documentation":"

An object containing summary information about the updated system.

" + } + } + }, + "UploadEntityDefinitionsRequest":{ + "type":"structure", + "members":{ + "document":{ + "shape":"DefinitionDocument", + "documentation":"

The DefinitionDocument that defines the updated entities.

" + }, + "syncWithPublicNamespace":{ + "shape":"SyncWithPublicNamespace", + "documentation":"

A Boolean that specifies whether to synchronize with the latest version of the public namespace. If set to true, the upload will create a new namespace version.

" + }, + "deprecateExistingEntities":{ + "shape":"DeprecateExistingEntities", + "documentation":"

A Boolean that specifies whether to deprecate all entities in the latest version before uploading the new DefinitionDocument. If set to true, the upload will create a new namespace version.

" + } + } + }, + "UploadEntityDefinitionsResponse":{ + "type":"structure", + "required":["uploadId"], + "members":{ + "uploadId":{ + "shape":"UploadId", + "documentation":"

The ID that specifies the upload action. You can use this to track the status of the upload.

" + } + } + }, + "UploadId":{ + "type":"string", + "max":40, + "min":1 + }, + "UploadStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "Urn":{ + "type":"string", + "max":160, + "pattern":"^urn:tdm:(([a-z]{2}-(gov-)?[a-z]{4,9}-[0-9]{1,3}/[0-9]+/)*[\\p{Alnum}_]+(/[\\p{Alnum}_]+)*):([\\p{Alpha}]*):([\\p{Alnum}_]+(/[\\p{Alnum}_]+)*)$" + }, + "Urns":{ + "type":"list", + "member":{"shape":"Urn"}, + "max":25, + "min":0 + }, + "Version":{"type":"long"} + }, + "documentation":"AWS IoT Things Graph

AWS IoT Things Graph provides an integrated set of tools that enable developers to connect devices and services that use different standards, such as units of measure and communication protocols. AWS IoT Things Graph makes it possible to build IoT applications with little to no code by connecting devices and services and defining how they interact at an abstract level.

For more information about how AWS IoT Things Graph works, see the User Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/kafka/2018-11-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kafka/2018-11-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/kafka/2018-11-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kafka/2018-11-14/paginators-1.json 2020-05-28 19:27:56.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClusterInfoList" + }, + "ListNodes": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NodeInfoList" + }, + "ListConfigurations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Configurations" + }, + "ListClusterOperations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterOperationInfoList" + }, + "ListConfigurationRevisions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Revisions" + }, + "ListKafkaVersions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "KafkaVersions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/kafka/2018-11-14/service-2.json python-botocore-1.16.19+repack/botocore/data/kafka/2018-11-14/service-2.json --- python-botocore-1.4.70/botocore/data/kafka/2018-11-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kafka/2018-11-14/service-2.json 2020-05-28 19:28:04.000000000 +0000 @@ -0,0 +1,2911 @@ +{ + "metadata": { + "apiVersion": "2018-11-14", + "endpointPrefix": "kafka", + "signingName": "kafka", + "serviceFullName": "Managed Streaming for Kafka", + "serviceAbbreviation": "Kafka", + "serviceId": "Kafka", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "kafka-2018-11-14", + "signatureVersion": "v4" + }, + "operations": { + "CreateCluster": { + "name": "CreateCluster", + "http": { + "method": "POST", + "requestUri": "/v1/clusters", + "responseCode": 200 + }, + "input": { + "shape": "CreateClusterRequest" + }, + "output": { + "shape": "CreateClusterResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + }, + { + "shape": "TooManyRequestsException", + "documentation": "\n

429 response

\n " + }, + { + "shape": "ConflictException", + "documentation": "\n

This cluster name already exists. Retry your request using another name.

\n " + } + ], + "documentation": "\n

Creates a new MSK cluster.

\n " + }, + "CreateConfiguration": { + "name": "CreateConfiguration", + "http": { + "method": "POST", + "requestUri": "/v1/configurations", + "responseCode": 200 + }, + "input": { + "shape": "CreateConfigurationRequest" + }, + "output": { + "shape": "CreateConfigurationResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + }, + { + "shape": "TooManyRequestsException", + "documentation": "\n

429 response

\n " + }, + { + "shape": "ConflictException", + "documentation": "\n

This cluster name already exists. Retry your request using another name.

\n " + } + ], + "documentation": "\n

Creates a new MSK configuration.

\n " + }, + "DeleteCluster": { + "name": "DeleteCluster", + "http": { + "method": "DELETE", + "requestUri": "/v1/clusters/{clusterArn}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteClusterRequest" + }, + "output": { + "shape": "DeleteClusterResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

\n " + }, + "DescribeCluster": { + "name": "DescribeCluster", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeClusterRequest" + }, + "output": { + "shape": "DescribeClusterResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

\n " + }, + "DescribeClusterOperation": { + "name": "DescribeClusterOperation", + "http": { + "method": "GET", + "requestUri": "/v1/operations/{clusterOperationArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeClusterOperationRequest" + }, + "output": { + "shape": "DescribeClusterOperationResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a description of the cluster operation specified by the ARN.

\n " + }, + "DescribeConfiguration": { + "name": "DescribeConfiguration", + "http": { + "method": "GET", + "requestUri": "/v1/configurations/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeConfigurationRequest" + }, + "output": { + "shape": "DescribeConfigurationResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + } + ], + "documentation": "\n

Returns a description of this MSK configuration.

\n " + }, + "DescribeConfigurationRevision": { + "name": "DescribeConfigurationRevision", + "http": { + "method": "GET", + "requestUri": "/v1/configurations/{arn}/revisions/{revision}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeConfigurationRevisionRequest" + }, + "output": { + "shape": "DescribeConfigurationRevisionResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + } + ], + "documentation": "\n

Returns a description of this revision of the configuration.

\n " + }, + "GetBootstrapBrokers": { + "name": "GetBootstrapBrokers", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/bootstrap-brokers", + "responseCode": 200 + }, + "input": { + "shape": "GetBootstrapBrokersRequest" + }, + "output": { + "shape": "GetBootstrapBrokersResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ConflictException", + "documentation": "\n

This cluster name already exists. Retry your request using another name.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

A list of brokers that a client application can use to bootstrap.

\n " + }, + "GetCompatibleKafkaVersions" : { + "name" : "GetCompatibleKafkaVersions", + "http" : { + "method" : "GET", + "requestUri" : "/v1/compatible-kafka-versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCompatibleKafkaVersionsRequest" + }, + "output" : { + "shape" : "GetCompatibleKafkaVersionsResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors" : + [ + { + "shape" : "BadRequestException", + "documentation" : "n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

n " + }, + { + "shape" : "UnauthorizedException", + "documentation" : "n

The request is not authorized. The provided credentials couldn't be validated.

n " + }, + { + "shape" : "InternalServerErrorException", + "documentation" : "n

There was an unexpected internal server error. Retrying your request might resolve the issue.

n " + }, + { + "shape" : "ForbiddenException", + "documentation" : "n

Access forbidden. Check your credentials and then retry your request.

n " + }, + { + "shape" : "NotFoundException", + "documentation" : "n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

n " + }, + { + "shape" : "ServiceUnavailableException", + "documentation" : "n

503 response

n " + }, + { + "shape" : "TooManyRequestsException", + "documentation" : "n

429 response

n " + } + ], + "documentation": "\n

Gets the Apache Kafka versions to which you can update the MSK cluster.

\n " + }, + "ListClusterOperations": { + "name": "ListClusterOperations", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/operations", + "responseCode": 200 + }, + "input": { + "shape": "ListClusterOperationsRequest" + }, + "output": { + "shape": "ListClusterOperationsResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a list of all the operations that have been performed on the specified MSK cluster.

\n " + }, + "ListClusters": { + "name": "ListClusters", + "http": { + "method": "GET", + "requestUri": "/v1/clusters", + "responseCode": 200 + }, + "input": { + "shape": "ListClustersRequest" + }, + "output": { + "shape": "ListClustersResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a list of all the MSK clusters in the current Region.

\n " + }, + "ListConfigurationRevisions": { + "name": "ListConfigurationRevisions", + "http": { + "method": "GET", + "requestUri": "/v1/configurations/{arn}/revisions", + "responseCode": 200 + }, + "input": { + "shape": "ListConfigurationRevisionsRequest" + }, + "output": { + "shape": "ListConfigurationRevisionsResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + } + ], + "documentation": "\n

Returns a list of all the MSK configurations in this Region.

\n " + }, + "ListConfigurations": { + "name": "ListConfigurations", + "http": { + "method": "GET", + "requestUri": "/v1/configurations", + "responseCode": 200 + }, + "input": { + "shape": "ListConfigurationsRequest" + }, + "output": { + "shape": "ListConfigurationsResponse", + "documentation": "\n

200 response

\n " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a list of all the MSK configurations in this Region.

\n " + }, + "ListKafkaVersions": { + "name": "ListKafkaVersions", + "http": { + "method": "GET", + "requestUri": "/v1/kafka-versions", + "responseCode": 200 + }, + "input": { + "shape": "ListKafkaVersionsRequest" + }, + "output": { + "shape": "ListKafkaVersionsResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a list of Kafka versions.

\n " + }, + "ListNodes": { + "name": "ListNodes", + "http": { + "method": "GET", + "requestUri": "/v1/clusters/{clusterArn}/nodes", + "responseCode": 200 + }, + "input": { + "shape": "ListNodesRequest" + }, + "output": { + "shape": "ListNodesResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Returns a list of the broker nodes in the cluster.

\n " + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/v1/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "\n

Success response.

\n " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + } + ], + "documentation": "\n

Returns a list of the tags associated with the specified resource.

\n " + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/v1/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + } + ], + "documentation": "\n

Adds tags to the specified MSK resource.

\n " + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/v1/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + } + ], + "documentation": "\n

Removes the tags associated with the keys that are provided in the query.

\n " + }, + "UpdateBrokerCount": { + "name": "UpdateBrokerCount", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/nodes/count", + "responseCode": 200 + }, + "input": { + "shape": "UpdateBrokerCountRequest" + }, + "output": { + "shape": "UpdateBrokerCountResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Updates the number of broker nodes in the cluster.

\n " + }, + "UpdateBrokerStorage": { + "name": "UpdateBrokerStorage", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/nodes/storage", + "responseCode": 200 + }, + "input": { + "shape": "UpdateBrokerStorageRequest" + }, + "output": { + "shape": "UpdateBrokerStorageResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + }, + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + } + ], + "documentation": "\n

Updates the EBS storage associated with MSK brokers.

\n " + }, + "UpdateClusterConfiguration": { + "name": "UpdateClusterConfiguration", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/configuration", + "responseCode": 200 + }, + "input": { + "shape": "UpdateClusterConfigurationRequest" + }, + "output": { + "shape": "UpdateClusterConfigurationResponse", + "documentation": "\n

Successful response.

\n " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape": "UnauthorizedException", + "documentation": "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape": "InternalServerErrorException", + "documentation": "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape": "ForbiddenException", + "documentation": "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape": "NotFoundException", + "documentation": "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "\n

503 response

\n " + } + ], + "documentation": "\n

Updates the cluster with the configuration that is specified in the request body.

\n " + }, + "UpdateClusterKafkaVersion" : { + "name" : "UpdateClusterKafkaVersion", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/clusters/{clusterArn}/version", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateClusterKafkaVersionRequest" + }, + "output" : { + "shape" : "UpdateClusterKafkaVersionResponse", + "documentation" : "\n

Successful response.

\n " + }, + "errors" : [ + { + "shape" : "BadRequestException", + "documentation" : "\n

The request isn't valid because the input is incorrect. Correct your input and then submit it again.

\n " + }, + { + "shape" : "UnauthorizedException", + "documentation" : "\n

The request is not authorized. The provided credentials couldn't be validated.

\n " + }, + { + "shape" : "InternalServerErrorException", + "documentation" : "\n

There was an unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, + { + "shape" : "ForbiddenException", + "documentation" : "\n

Access forbidden. Check your credentials and then retry your request.

\n " + }, + { + "shape" : "NotFoundException", + "documentation" : "\n

The resource could not be found due to incorrect input. Correct the input, then retry the request.

\n " + }, + { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

503 response

\n " + }, + { + "shape" : "TooManyRequestsException", + "documentation" : "\n

429 response

\n " + } + ], + "documentation": "\n

Updates the Apache Kafka version for the cluster.

\n " + }, + "UpdateMonitoring" : { + "name" : "UpdateMonitoring", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/clusters/{clusterArn}/monitoring", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateMonitoringRequest" + }, + "output" : { + "shape" : "UpdateMonitoringResponse", + "documentation" : "\n

HTTP Status Code 200: OK.

\n " + }, + "errors" : [ { + "shape" : "ServiceUnavailableException", + "documentation" : "\n

HTTP Status Code 503: Service Unavailable. Retrying your request in some time might resolve the issue.

\n " + }, { + "shape" : "BadRequestException", + "documentation" : "\n

HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it.

\n " + }, { + "shape" : "UnauthorizedException", + "documentation" : "\n

HTTP Status Code 401: Unauthorized request. The provided credentials couldn't be validated.

\n " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "\n

HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue.

\n " + }, { + "shape" : "ForbiddenException", + "documentation" : "\n

HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request.

\n " + } ], + "documentation" : "\n

Updates the monitoring settings for the cluster. You can use this operation to specify which Apache Kafka metrics you want Amazon MSK to send to Amazon CloudWatch. You can also specify settings for open monitoring with Prometheus.

\n " + } + }, + "shapes": { + "BadRequestException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "BrokerAZDistribution": { + "type": "string", + "documentation": "\n

The distribution of broker nodes across Availability Zones. This is an optional parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. You can also explicitly set this parameter to the value DEFAULT. No other values are currently allowed.

\n

Amazon MSK distributes the broker nodes evenly across the Availability Zones that correspond to the subnets you provide when you create the cluster.

\n ", + "enum": [ + "DEFAULT" + ] + }, + "BrokerEBSVolumeInfo": { + "type": "structure", + "members": { + "KafkaBrokerNodeId": { + "shape": "__string", + "locationName": "kafkaBrokerNodeId", + "documentation": "\n

The ID of the broker to update.

\n " + }, + "VolumeSizeGB": { + "shape": "__integer", + "locationName": "volumeSizeGB", + "documentation": "\n

Size of the EBS volume to update.

\n " + } + }, + "documentation": "\n

Specifies the EBS volume upgrade information. The broker identifier must be set to the keyword ALL. This means the changes apply to all the brokers in the cluster.

\n ", + "required": [ + "VolumeSizeGB", + "KafkaBrokerNodeId" + ] + }, + "BrokerLogs": { + "type": "structure", + "members": { + "CloudWatchLogs": { + "shape": "CloudWatchLogs", + "locationName": "cloudWatchLogs" + }, + "Firehose": { + "shape": "Firehose", + "locationName": "firehose" + }, + "S3": { + "shape": "S3", + "locationName": "s3" + } + } + }, + "BrokerNodeGroupInfo": { + "type": "structure", + "members": { + "BrokerAZDistribution": { + "shape": "BrokerAZDistribution", + "locationName": "brokerAZDistribution", + "documentation": "\n

The distribution of broker nodes across Availability Zones. This is an optional parameter. If you don't specify it, Amazon MSK gives it the value DEFAULT. You can also explicitly set this parameter to the value DEFAULT. No other values are currently allowed.

\n

Amazon MSK distributes the broker nodes evenly across the Availability Zones that correspond to the subnets you provide when you create the cluster.

\n " + }, + "ClientSubnets": { + "shape": "__listOf__string", + "locationName": "clientSubnets", + "documentation": "\n

The list of subnets to connect to in the client virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data. Client subnets can't be in Availability Zone us-east-1e.

\n " + }, + "InstanceType": { + "shape": "__stringMin5Max32", + "locationName": "instanceType", + "documentation": "\n

The type of Amazon EC2 instances to use for Kafka brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge,\nkafka.m5.4xlarge, kafka.m5.12xlarge, and kafka.m5.24xlarge.

\n " + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups", + "documentation": "\n

The AWS security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC.

\n " + }, + "StorageInfo": { + "shape": "StorageInfo", + "locationName": "storageInfo", + "documentation": "\n

Contains information about storage volumes attached to MSK broker nodes.

\n " + } + }, + "documentation": "\n

Describes the setup to be used for Kafka broker nodes in the cluster.

\n ", + "required": [ + "ClientSubnets", + "InstanceType" + ] + }, + "BrokerNodeInfo": { + "type": "structure", + "members": { + "AttachedENIId": { + "shape": "__string", + "locationName": "attachedENIId", + "documentation": "\n

The attached elastic network interface of the broker.

\n " + }, + "BrokerId": { + "shape": "__double", + "locationName": "brokerId", + "documentation": "\n

The ID of the broker.

\n " + }, + "ClientSubnet": { + "shape": "__string", + "locationName": "clientSubnet", + "documentation": "\n

The client subnet to which this broker node belongs.

\n " + }, + "ClientVpcIpAddress": { + "shape": "__string", + "locationName": "clientVpcIpAddress", + "documentation": "\n

The virtual private cloud (VPC) of the client.

\n " + }, + "CurrentBrokerSoftwareInfo": { + "shape": "BrokerSoftwareInfo", + "locationName": "currentBrokerSoftwareInfo", + "documentation": "\n

Information about the version of software currently deployed on the Kafka brokers in the cluster.

\n " + }, + "Endpoints": { + "shape": "__listOf__string", + "locationName": "endpoints", + "documentation": "\n

Endpoints for accessing the broker.

\n " + } + }, + "documentation": "\n

BrokerNodeInfo

\n " + }, + "BrokerSoftwareInfo": { + "type": "structure", + "members": { + "ConfigurationArn": { + "shape": "__string", + "locationName": "configurationArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the configuration used for the cluster. This field isn't visible in this preview release.

\n " + }, + "ConfigurationRevision": { + "shape": "__long", + "locationName": "configurationRevision", + "documentation": "\n

The revision of the configuration to use. This field isn't visible in this preview release.

\n " + }, + "KafkaVersion": { + "shape": "__string", + "locationName": "kafkaVersion", + "documentation": "\n

The version of Apache Kafka.

\n " + } + }, + "documentation": "\n

Information about the current software installed on the cluster.

\n " + }, + "ClientAuthentication": { + "type": "structure", + "members": { + "Tls": { + "shape": "Tls", + "locationName": "tls", + "documentation": "\n

Details for ClientAuthentication using TLS.

\n " + } + }, + "documentation": "\n

Includes all client authentication information.

\n " + }, + "ClientBroker": { + "type": "string", + "documentation": "\n

Client-broker encryption in transit setting.

\n ", + "enum": [ + "TLS", + "TLS_PLAINTEXT", + "PLAINTEXT" + ] + }, + "CloudWatchLogs" : { + "type" : "structure", + "members" : { + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + }, + "LogGroup" : { + "shape" : "__string", + "locationName" : "logGroup" + } + }, + "required" : [ "Enabled" ] + }, + "ClusterInfo": { + "type": "structure", + "members": { + "ActiveOperationArn": { + "shape": "__string", + "locationName": "activeOperationArn", + "documentation": "\n

Arn of active cluster operation.

\n " + }, + "BrokerNodeGroupInfo": { + "shape": "BrokerNodeGroupInfo", + "locationName": "brokerNodeGroupInfo", + "documentation": "\n

Information about the broker nodes.

\n " + }, + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication information.

\n " + }, + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "ClusterName": { + "shape": "__string", + "locationName": "clusterName", + "documentation": "\n

The name of the cluster.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the cluster was created.

\n " + }, + "CurrentBrokerSoftwareInfo": { + "shape": "BrokerSoftwareInfo", + "locationName": "currentBrokerSoftwareInfo", + "documentation": "\n

Information about the version of software currently deployed on the Kafka brokers in the cluster.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion", + "documentation": "\n

The current version of the MSK cluster.

\n " + }, + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo", + "documentation": "\n

Includes all encryption-related information.

\n " + }, + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring", + "documentation": "\n

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoring", + "locationName" : "openMonitoring", + "documentation" : "\n

Settings for open monitoring using Prometheus.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo" + }, + "NumberOfBrokerNodes": { + "shape": "__integer", + "locationName": "numberOfBrokerNodes", + "documentation": "\n

The number of broker nodes in the cluster.

\n " + }, + "State": { + "shape": "ClusterState", + "locationName": "state", + "documentation": "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + }, + "StateInfo" : { + "shape" : "StateInfo", + "locationName" : "stateInfo" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

Tags attached to the cluster.

\n " + }, + "ZookeeperConnectString": { + "shape": "__string", + "locationName": "zookeeperConnectString", + "documentation": "\n

The connection string to use to connect to the Apache ZooKeeper cluster.

\n " + } + }, + "documentation": "\n

Returns information about a cluster.

\n " + }, + "ClusterOperationInfo": { + "type": "structure", + "members": { + "ClientRequestId": { + "shape": "__string", + "locationName": "clientRequestId", + "documentation": "\n

The ID of the API request that triggered this operation.

\n " + }, + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

ARN of the cluster.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time that the operation was created.

\n " + }, + "EndTime": { + "shape": "__timestampIso8601", + "locationName": "endTime", + "documentation": "\n

The time at which the operation finished.

\n " + }, + "ErrorInfo": { + "shape": "ErrorInfo", + "locationName": "errorInfo", + "documentation": "\n

Describes the error if the operation fails.

\n " + }, + "OperationArn": { + "shape": "__string", + "locationName": "operationArn", + "documentation": "\n

ARN of the cluster operation.

\n " + }, + "OperationState": { + "shape": "__string", + "locationName": "operationState", + "documentation": "\n

State of the cluster operation.

\n " + }, + "OperationSteps" : { + "shape" : "__listOfClusterOperationStep", + "locationName" : "operationSteps", + "documentation" : "\n

Steps completed during the operation.

\n " + }, + "OperationType": { + "shape": "__string", + "locationName": "operationType", + "documentation": "\n

Type of the cluster operation.

\n " + }, + "SourceClusterInfo": { + "shape": "MutableClusterInfo", + "locationName": "sourceClusterInfo", + "documentation": "\n

Information about cluster attributes before a cluster is updated.

\n " + }, + "TargetClusterInfo": { + "shape": "MutableClusterInfo", + "locationName": "targetClusterInfo", + "documentation": "\n

Information about cluster attributes after a cluster is updated.

\n " + } + }, + "documentation": "\n

Returns information about a cluster operation.

\n " + }, + "ClusterOperationStep" : { + "type" : "structure", + "members" : { + "StepInfo" : { + "shape" : "ClusterOperationStepInfo", + "locationName" : "stepInfo", + "documentation" : "\n

Information about the step and its status.

\n " + }, + "StepName" : { + "shape" : "__string", + "locationName" : "stepName", + "documentation" : "\n

The name of the step.

\n " + } + }, + "documentation" : "\n

Step taken during a cluster operation.

\n " + }, + "ClusterOperationStepInfo" : { + "type" : "structure", + "members" : { + "StepStatus" : { + "shape" : "__string", + "locationName" : "stepStatus", + "documentation" : "\n

The steps current status.

\n " + } + }, + "documentation" : "\n

State information about the operation step.

\n " + }, + "ClusterState": { + "type": "string", + "documentation": "\n

The state of a Kafka cluster.

\n ", + "enum": [ + "ACTIVE", + "CREATING", + "UPDATING", + "DELETING", + "FAILED" + ] + }, + "CompatibleKafkaVersion" : { + "type" : "structure", + "members" : { + "SourceVersion" : { + "shape" : "__string", + "locationName" : "sourceVersion", + "documentation": "\n

A Kafka version.

\n " + }, + "TargetVersions" : { + "shape" : "__listOf__string", + "locationName" : "targetVersions", + "documentation": "\n

A list of Kafka versions.

\n " + } + }, + "documentation": "\n

Contains source Kafka versions and compatible target Kafka versions.

\n " + }, + "Configuration": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the configuration was created.

\n " + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "\n

The description of the configuration.

\n " + }, + "KafkaVersions": { + "shape": "__listOf__string", + "locationName": "kafkaVersions", + "documentation": "\n

An array of the versions of Apache Kafka with which you can use this MSK configuration. You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this array.

\n " + }, + "LatestRevision": { + "shape": "ConfigurationRevision", + "locationName": "latestRevision", + "documentation": "\n

Latest revision of the configuration.

\n " + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "\n

The name of the configuration.

\n " + } + }, + "documentation": "\n

Represents an MSK Configuration.

\n ", + "required": [ + "Description", + "LatestRevision", + "CreationTime", + "KafkaVersions", + "Arn", + "Name" + ] + }, + "ConfigurationInfo": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "\n

ARN of the configuration to use.

\n " + }, + "Revision": { + "shape": "__long", + "locationName": "revision", + "documentation": "\n

The revision of the configuration to use.

\n " + } + }, + "documentation": "\n

Specifies the configuration to use for the brokers.

\n ", + "required": [ + "Revision", + "Arn" + ] + }, + "ConfigurationRevision": { + "type": "structure", + "members": { + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the configuration revision was created.

\n " + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "\n

The description of the configuration revision.

\n " + }, + "Revision": { + "shape": "__long", + "locationName": "revision", + "documentation": "\n

The revision number.

\n " + } + }, + "documentation": "\n

Describes a configuration revision.

\n ", + "required": [ + "Revision", + "CreationTime" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateClusterRequest": { + "type": "structure", + "members": { + "BrokerNodeGroupInfo": { + "shape": "BrokerNodeGroupInfo", + "locationName": "brokerNodeGroupInfo", + "documentation": "\n

Information about the broker nodes in the cluster.

\n " + }, + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication related information.

\n " + }, + "ClusterName": { + "shape": "__stringMin1Max64", + "locationName": "clusterName", + "documentation": "\n

The name of the cluster.

\n " + }, + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo", + "documentation": "\n

Represents the configuration that you want MSK to use for the brokers in a cluster.

\n " + }, + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo", + "documentation": "\n

Includes all encryption-related information.

\n " + }, + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring", + "documentation": "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoringInfo", + "locationName" : "openMonitoring", + "documentation" : "\n

The settings for open monitoring.

\n " + }, + "KafkaVersion": { + "shape": "__stringMin1Max128", + "locationName": "kafkaVersion", + "documentation": "\n

The version of Apache Kafka.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo" + }, + "NumberOfBrokerNodes": { + "shape": "__integerMin1Max15", + "locationName": "numberOfBrokerNodes", + "documentation": "\n

The number of broker nodes in the cluster.

\n " + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

Create tags when creating the cluster.

\n " + } + }, + "required": [ + "BrokerNodeGroupInfo", + "KafkaVersion", + "NumberOfBrokerNodes", + "ClusterName" + ] + }, + "CreateClusterResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterName": { + "shape": "__string", + "locationName": "clusterName", + "documentation": "\n

The name of the MSK cluster.

\n " + }, + "State": { + "shape": "ClusterState", + "locationName": "state", + "documentation": "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + } + } + }, + "CreateConfigurationRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "\n

The description of the configuration.

\n " + }, + "KafkaVersions": { + "shape": "__listOf__string", + "locationName": "kafkaVersions", + "documentation": "\n

The versions of Apache Kafka with which you can use this MSK configuration.

\n " + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "\n

The name of the configuration.

\n " + }, + "ServerProperties": { + "shape": "__blob", + "locationName": "serverProperties", + "documentation": "\n

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

\n " + } + }, + "required": [ + "ServerProperties", + "Name" + ] + }, + "CreateConfigurationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the configuration was created.

\n " + }, + "LatestRevision": { + "shape": "ConfigurationRevision", + "locationName": "latestRevision", + "documentation": "\n

Latest revision of the configuration.

\n " + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "\n

The name of the configuration.

\n " + } + } + }, + "DeleteClusterRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "currentVersion", + "documentation": "\n

The current version of the MSK cluster.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "DeleteClusterResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "State": { + "shape": "ClusterState", + "locationName": "state", + "documentation": "\n

The state of the cluster. The possible states are CREATING, ACTIVE, and FAILED.

\n " + } + } + }, + "DescribeClusterOperationRequest": { + "type": "structure", + "members": { + "ClusterOperationArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the MSK cluster operation.

\n " + } + }, + "required": [ + "ClusterOperationArn" + ] + }, + "DescribeClusterOperationResponse": { + "type": "structure", + "members": { + "ClusterOperationInfo": { + "shape": "ClusterOperationInfo", + "locationName": "clusterOperationInfo", + "documentation": "\n

Cluster operation information

\n " + } + } + }, + "DescribeClusterRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "DescribeClusterResponse": { + "type": "structure", + "members": { + "ClusterInfo": { + "shape": "ClusterInfo", + "locationName": "clusterInfo", + "documentation": "\n

The cluster information.

\n " + } + } + }, + "DescribeConfigurationRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "location": "uri", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " + } + }, + "required": [ + "Arn" + ] + }, + "DescribeConfigurationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the configuration was created.

\n " + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "\n

The description of the configuration.

\n " + }, + "KafkaVersions": { + "shape": "__listOf__string", + "locationName": "kafkaVersions", + "documentation": "\n

The versions of Apache Kafka with which you can use this MSK configuration.

\n " + }, + "LatestRevision": { + "shape": "ConfigurationRevision", + "locationName": "latestRevision", + "documentation": "\n

Latest revision of the configuration.

\n " + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "\n

The name of the configuration.

\n " + } + } + }, + "DescribeConfigurationRevisionRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "location": "uri", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " + }, + "Revision": { + "shape": "__long", + "location": "uri", + "locationName": "revision", + "documentation": "\n

A string that uniquely identifies a revision of an MSK configuration.

\n " + } + }, + "required": [ + "Revision", + "Arn" + ] + }, + "DescribeConfigurationRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) of the configuration.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the configuration was created.

\n " + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "\n

The description of the configuration.

\n " + }, + "Revision": { + "shape": "__long", + "locationName": "revision", + "documentation": "\n

The revision number.

\n " + }, + "ServerProperties": { + "shape": "__blob", + "locationName": "serverProperties", + "documentation": "\n

Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. \n When using the AWS Management Console, the SDK, or the AWS CLI, the contents of server.properties can be in plaintext.

\n " + } + } + }, + "EBSStorageInfo": { + "type": "structure", + "members": { + "VolumeSize": { + "shape": "__integerMin1Max16384", + "locationName": "volumeSize", + "documentation": "\n

The size in GiB of the EBS volume for the data drive on each broker node.

\n " + } + }, + "documentation": "\n

Contains information about the EBS storage volumes attached to Kafka broker nodes.

\n " + }, + "EncryptionAtRest": { + "type": "structure", + "members": { + "DataVolumeKMSKeyId": { + "shape": "__string", + "locationName": "dataVolumeKMSKeyId", + "documentation": "\n

The ARN of the AWS KMS key for encrypting data at rest. If you don't specify a KMS key, MSK creates one for you and uses it.

\n " + } + }, + "documentation": "\n

The data-volume encryption details.

\n ", + "required": [ + "DataVolumeKMSKeyId" + ] + }, + "EncryptionInTransit": { + "type": "structure", + "members": { + "ClientBroker": { + "shape": "ClientBroker", + "locationName": "clientBroker", + "documentation": "\n

Indicates the encryption setting for data in transit between clients and brokers. The following are the possible values.

\n

\n TLS means that client-broker communication is enabled with TLS only.

\n

\n TLS_PLAINTEXT means that client-broker communication is enabled for both TLS-encrypted, as well as plaintext data.

\n

\n PLAINTEXT means that client-broker communication is enabled in plaintext only.

\n

The default value is TLS_PLAINTEXT.

\n " + }, + "InCluster": { + "shape": "__boolean", + "locationName": "inCluster", + "documentation": "\n

When set to true, it indicates that data communication among the broker nodes of the cluster is encrypted. When set to false, the communication happens in plaintext.

\n

The default value is true.

\n " + } + }, + "documentation": "\n

The settings for encrypting data in transit.

\n " + }, + "EncryptionInfo": { + "type": "structure", + "members": { + "EncryptionAtRest": { + "shape": "EncryptionAtRest", + "locationName": "encryptionAtRest", + "documentation": "\n

The data-volume encryption details.

\n " + }, + "EncryptionInTransit": { + "shape": "EncryptionInTransit", + "locationName": "encryptionInTransit", + "documentation": "\n

The details for encryption in transit.

\n " + } + }, + "documentation": "\n

Includes encryption-related information, such as the AWS KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.

\n " + }, + "EnhancedMonitoring": { + "type": "string", + "documentation": "\n

Specifies which metrics are gathered for the MSK cluster. This property has three possible values: DEFAULT, PER_BROKER, and PER_TOPIC_PER_BROKER. For a list of the metrics associated with each of these three levels of monitoring, see Monitoring.

\n ", + "enum": [ + "DEFAULT", + "PER_BROKER", + "PER_TOPIC_PER_BROKER" + ] + }, + "Error": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n " + }, + "ErrorInfo": { + "type": "structure", + "members": { + "ErrorCode": { + "shape": "__string", + "locationName": "errorCode", + "documentation": "\n

A number describing the error programmatically.

\n " + }, + "ErrorString": { + "shape": "__string", + "locationName": "errorString", + "documentation": "\n

An optional field to provide more details about the error.

\n " + } + }, + "documentation": "\n

Returns information about an error state of the cluster.

\n " + }, + "Firehose" : { + "type" : "structure", + "members" : { + "DeliveryStream" : { + "shape" : "__string", + "locationName" : "deliveryStream" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + } + }, + "required" : [ "Enabled" ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "GetBootstrapBrokersRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "GetBootstrapBrokersResponse": { + "type": "structure", + "members": { + "BootstrapBrokerString": { + "shape": "__string", + "locationName": "bootstrapBrokerString", + "documentation": "\n

A string containing one or more hostname:port pairs.

\n " + }, + "BootstrapBrokerStringTls": { + "shape": "__string", + "locationName": "bootstrapBrokerStringTls", + "documentation": "\n

A string containing one or more DNS names (or IP) and TLS port pairs.

\n " + } + } + }, + "GetCompatibleKafkaVersionsRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster check.

\n " + } + } + }, + "GetCompatibleKafkaVersionsResponse" : { + "type" : "structure", + "members" : { + "CompatibleKafkaVersions" : { + "shape" : "__listOfCompatibleKafkaVersion", + "locationName" : "compatibleKafkaVersions", + "documentation": "\n

A list of CompatibleKafkaVersion objects.

\n " + } + } + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "KafkaVersion": { + "type": "structure", + "members": { + "Version": { + "shape": "__string", + "locationName": "version" + }, + "Status": { + "shape": "KafkaVersionStatus", + "locationName": "status" + } + } + }, + "KafkaVersionStatus": { + "type": "string", + "enum": [ + "ACTIVE", + "DEPRECATED" + ] + }, + "ListClusterOperationsRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "ListClusterOperationsResponse": { + "type": "structure", + "members": { + "ClusterOperationInfoList": { + "shape": "__listOfClusterOperationInfo", + "locationName": "clusterOperationInfoList", + "documentation": "\n

An array of cluster operation information objects.

\n " + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

If the response of ListClusterOperations is truncated, it returns a NextToken in the response. This Nexttoken should be sent in the subsequent request to ListClusterOperations.

\n " + } + } + }, + "ListClustersRequest": { + "type": "structure", + "members": { + "ClusterNameFilter": { + "shape": "__string", + "location": "querystring", + "locationName": "clusterNameFilter", + "documentation": "\n

Specify a prefix of the name of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

\n " + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + } + }, + "ListClustersResponse": { + "type": "structure", + "members": { + "ClusterInfoList": { + "shape": "__listOfClusterInfo", + "locationName": "clusterInfoList", + "documentation": "\n

Information on each of the MSK clusters in the response.

\n " + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

\n " + } + } + }, + "ListConfigurationRevisionsRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "location": "uri", + "locationName": "arn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies an MSK configuration and all of its revisions.

\n " + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + }, + "required": [ + "Arn" + ] + }, + "ListConfigurationRevisionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

Paginated results marker.

\n " + }, + "Revisions": { + "shape": "__listOfConfigurationRevision", + "locationName": "revisions", + "documentation": "\n

List of ConfigurationRevision objects.

\n " + } + } + }, + "ListConfigurationsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + } + }, + "ListConfigurationsResponse": { + "type": "structure", + "members": { + "Configurations": { + "shape": "__listOfConfiguration", + "locationName": "configurations", + "documentation": "\n

An array of MSK configurations.

\n " + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of a ListConfigurations operation is truncated, the call returns NextToken in the response. \n To get another batch of configurations, provide this token in your next request.

\n " + } + } + }, + "ListKafkaVersionsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. To get the next batch, provide this token in your next request.

" + } + } + }, + "ListKafkaVersionsResponse": { + "type": "structure", + "members": { + "KafkaVersions": { + "shape": "__listOfKafkaVersion", + "locationName": "kafkaVersions" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListNodesRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "ListNodesResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of a ListNodes operation is truncated, the call returns NextToken in the response. \n To get another batch of nodes, provide this token in your next request.

\n " + }, + "NodeInfoList": { + "shape": "__listOfNodeInfo", + "locationName": "nodeInfoList", + "documentation": "\n

List containing a NodeInfo object.

\n " + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

The key-value pair for the resource tag.

\n " + } + } + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 100 + }, + "LoggingInfo": { + "type": "structure", + "members": { + "BrokerLogs": { + "shape": "BrokerLogs", + "locationName": "brokerLogs" + } + }, + "required": [ "BrokerLogs" ] + }, + "MutableClusterInfo": { + "type": "structure", + "members": { + "BrokerEBSVolumeInfo": { + "shape": "__listOfBrokerEBSVolumeInfo", + "locationName": "brokerEBSVolumeInfo", + "documentation": "\n

Specifies the size of the EBS volume and the ID of the associated broker.

\n " + }, + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo", + "documentation": "\n

Information about the changes in the configuration of the brokers.

\n " + }, + "NumberOfBrokerNodes": { + "shape": "__integer", + "locationName": "numberOfBrokerNodes", + "documentation": "\n

The number of broker nodes in the cluster.

\n " + }, + "EnhancedMonitoring" : { + "shape" : "EnhancedMonitoring", + "locationName" : "enhancedMonitoring", + "documentation" : "\n

Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoring", + "locationName" : "openMonitoring", + "documentation" : "\n

The settings for open monitoring.

\n " + }, + "KafkaVersion" : { + "shape" : "__string", + "locationName" : "kafkaVersion", + "documentation" : "\n

The Kafka version.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo" + } + }, + "documentation": "\n

Information about cluster attributes that can be updated via update APIs.

\n " + }, + "NodeExporter" : { + "type" : "structure", + "members" : { + "EnabledInBroker" : { + "shape" : "__boolean", + "locationName" : "enabledInBroker", + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n " + } + }, + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n ", + "required" : [ "EnabledInBroker" ] + }, + "NodeExporterInfo" : { + "type" : "structure", + "members" : { + "EnabledInBroker" : { + "shape" : "__boolean", + "locationName" : "enabledInBroker", + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n " + } + }, + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n ", + "required" : [ "EnabledInBroker" ] + }, + "JmxExporter" : { + "type" : "structure", + "members" : { + "EnabledInBroker" : { + "shape" : "__boolean", + "locationName" : "enabledInBroker", + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n " + } + }, + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n ", + "required" : [ "EnabledInBroker" ] + }, + "JmxExporterInfo" : { + "type" : "structure", + "members" : { + "EnabledInBroker" : { + "shape" : "__boolean", + "locationName" : "enabledInBroker", + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n " + } + }, + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n ", + "required" : [ "EnabledInBroker" ] + }, + "OpenMonitoring" : { + "type" : "structure", + "members" : { + "Prometheus" : { + "shape" : "Prometheus", + "locationName" : "prometheus", + "documentation" : "\n

Prometheus settings.

\n " + } + }, + "documentation" : "\n

JMX and Node monitoring for the MSK cluster.

\n ", + "required" : [ "Prometheus" ] + }, + "OpenMonitoringInfo" : { + "type" : "structure", + "members" : { + "Prometheus" : { + "shape" : "PrometheusInfo", + "locationName" : "prometheus", + "documentation" : "\n

Prometheus settings.

\n " + } + }, + "documentation" : "\n

JMX and Node monitoring for the MSK cluster.

\n ", + "required" : [ "Prometheus" ] + }, + "Prometheus" : { + "type" : "structure", + "members" : { + "JmxExporter" : { + "shape" : "JmxExporter", + "locationName" : "jmxExporter", + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n " + }, + "NodeExporter" : { + "shape" : "NodeExporter", + "locationName" : "nodeExporter", + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n " + } + }, + "documentation" : "\n

Prometheus settings.

\n " + }, + "PrometheusInfo" : { + "type" : "structure", + "members" : { + "JmxExporter" : { + "shape" : "JmxExporterInfo", + "locationName" : "jmxExporter", + "documentation" : "\n

Indicates whether you want to enable or disable the JMX Exporter.

\n " + }, + "NodeExporter" : { + "shape" : "NodeExporterInfo", + "locationName" : "nodeExporter", + "documentation" : "\n

Indicates whether you want to enable or disable the Node Exporter.

\n " + } + }, + "documentation" : "\n

Prometheus settings.

\n " + }, + "S3" : { + "type" : "structure", + "members" : { + "Bucket" : { + "shape" : "__string", + "locationName" : "bucket" + }, + "Enabled" : { + "shape" : "__boolean", + "locationName" : "enabled" + }, + "Prefix" : { + "shape" : "__string", + "locationName" : "prefix" + } + }, + "required" : [ "Enabled" ] + }, + "NodeInfo": { + "type": "structure", + "members": { + "AddedToClusterTime": { + "shape": "__string", + "locationName": "addedToClusterTime", + "documentation": "\n

The start time.

\n " + }, + "BrokerNodeInfo": { + "shape": "BrokerNodeInfo", + "locationName": "brokerNodeInfo", + "documentation": "\n

The broker node info.

\n " + }, + "InstanceType": { + "shape": "__string", + "locationName": "instanceType", + "documentation": "\n

The instance type.

\n " + }, + "NodeARN": { + "shape": "__string", + "locationName": "nodeARN", + "documentation": "\n

The Amazon Resource Name (ARN) of the node.

\n " + }, + "NodeType": { + "shape": "NodeType", + "locationName": "nodeType", + "documentation": "\n

The node type.

\n " + }, + "ZookeeperNodeInfo": { + "shape": "ZookeeperNodeInfo", + "locationName": "zookeeperNodeInfo", + "documentation": "\n

The ZookeeperNodeInfo.

\n " + } + }, + "documentation": "\n

The node information object.

\n " + }, + "NodeType": { + "type": "string", + "documentation": "\n

The broker or Zookeeper node.

\n ", + "enum": [ + "BROKER" + ] + }, + "NotFoundException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 503 + } + }, + "StateInfo" : { + "type" : "structure", + "members" : { + "Code" : { + "shape" : "__string", + "locationName" : "code" + }, + "Message" : { + "shape" : "__string", + "locationName" : "message" + } + } + }, + "StorageInfo": { + "type": "structure", + "members": { + "EbsStorageInfo": { + "shape": "EBSStorageInfo", + "locationName": "ebsStorageInfo", + "documentation": "\n

EBS volume information.

\n " + } + }, + "documentation": "\n

Contains information about storage volumes attached to MSK broker nodes.

\n " + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

The key-value pair for the resource tag.

\n " + } + }, + "required": [ + "ResourceArn", + "Tags" + ] + }, + "Tls": { + "type": "structure", + "members": { + "CertificateAuthorityArnList": { + "shape": "__listOf__string", + "locationName": "certificateAuthorityArnList", + "documentation": "\n

List of ACM Certificate Authority ARNs.

\n " + } + }, + "documentation": "\n

Details for client authentication using TLS.

\n " + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "UnauthorizedException": { + "type": "structure", + "members": { + "InvalidParameter": { + "shape": "__string", + "locationName": "invalidParameter", + "documentation": "\n

The parameter that caused the error.

\n " + }, + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "\n

The description of the error.

\n " + } + }, + "documentation": "\n

Returns information about an error.

\n ", + "exception": true, + "error": { + "httpStatusCode": 401 + } + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the resource that's associated with the tags.

\n " + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "\n

Tag keys must be unique for a given cluster. In addition, the following restrictions apply:

\n
    \n
  • \n

    Each tag key must be unique. If you add a tag with a key that's already in\n use, your new tag overwrites the existing key-value pair.

    \n
  • \n
  • \n

    You can't start a tag key with aws: because this prefix is reserved for use\n by AWS. AWS creates tags that begin with this prefix on your behalf, but\n you can't edit or delete them.

    \n
  • \n
  • \n

    Tag keys must be between 1 and 128 Unicode characters in length.

    \n
  • \n
  • \n

    Tag keys must consist of the following characters: Unicode letters, digits,\n white space, and the following special characters: _ . / = + -\n @.

    \n
  • \n
\n " + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateBrokerCountRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion", + "documentation": "\n

The version of cluster to update from. A successful operation will then generate a new version.

\n " + }, + "TargetNumberOfBrokerNodes": { + "shape": "__integerMin1Max15", + "locationName": "targetNumberOfBrokerNodes", + "documentation": "\n

The number of broker nodes that you want the cluster to have after this operation completes successfully.

\n " + } + }, + "required": [ + "ClusterArn", + "CurrentVersion", + "TargetNumberOfBrokerNodes" + ] + }, + "UpdateBrokerCountResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "UpdateBrokerStorageRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion", + "documentation": "\n

The version of cluster to update from. A successful operation will then generate a new version.

\n " + }, + "TargetBrokerEBSVolumeInfo": { + "shape": "__listOfBrokerEBSVolumeInfo", + "locationName": "targetBrokerEBSVolumeInfo", + "documentation": "\n

Describes the target volume size and the ID of the broker to apply the update to.

\n " + } + }, + "required": [ + "ClusterArn", + "TargetBrokerEBSVolumeInfo", + "CurrentVersion" + ] + }, + "UpdateBrokerStorageResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "UpdateClusterConfigurationRequest": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo", + "documentation": "\n

Represents the configuration that you want MSK to use for the brokers in a cluster.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion", + "documentation": "\n

The version of the cluster that needs to be updated.

\n " + } + }, + "required": [ + "ClusterArn", + "CurrentVersion", + "ConfigurationInfo" + ] + }, + "UpdateClusterConfigurationResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "UpdateClusterKafkaVersionRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster to be updated.

\n " + }, + "ConfigurationInfo" : { + "shape" : "ConfigurationInfo", + "locationName" : "configurationInfo", + "documentation": "\n

The custom configuration that should be applied on the new version of cluster.

\n " + }, + "CurrentVersion" : { + "shape" : "__string", + "locationName" : "currentVersion", + "documentation": "\n

Current cluster version.

\n " + }, + "TargetKafkaVersion" : { + "shape" : "__string", + "locationName" : "targetKafkaVersion" + ,"documentation": "\n

Target Kafka version.

\n " + } + }, + "required" : [ "ClusterArn", "TargetKafkaVersion", "CurrentVersion" ] + }, + "UpdateClusterKafkaVersionResponse" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn" : { + "shape" : "__string", + "locationName" : "clusterOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "UpdateMonitoringRequest" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "CurrentVersion" : { + "shape" : "__string", + "locationName" : "currentVersion", + "documentation" : "\n

The version of the MSK cluster to update. Cluster versions aren't simple numbers. You can describe an MSK cluster to find its version. When this update operation is successful, it generates a new cluster version.

\n " + }, + "EnhancedMonitoring" : { + "shape" : "EnhancedMonitoring", + "locationName" : "enhancedMonitoring", + "documentation" : "\n

Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoringInfo", + "locationName" : "openMonitoring", + "documentation" : "\n

The settings for open monitoring.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo" + } + }, + "documentation" : "Request body for UpdateMonitoring.", + "required" : [ "ClusterArn", "CurrentVersion" ] + }, + "UpdateMonitoringResponse" : { + "type" : "structure", + "members" : { + "ClusterArn" : { + "shape" : "__string", + "locationName" : "clusterArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterOperationArn" : { + "shape" : "__string", + "locationName" : "clusterOperationArn", + "documentation" : "\n

The Amazon Resource Name (ARN) of the cluster operation.

\n " + } + } + }, + "ZookeeperNodeInfo": { + "type": "structure", + "members": { + "AttachedENIId": { + "shape": "__string", + "locationName": "attachedENIId", + "documentation": "\n

The attached elastic network interface of the broker.

\n " + }, + "ClientVpcIpAddress": { + "shape": "__string", + "locationName": "clientVpcIpAddress", + "documentation": "\n

The virtual private cloud (VPC) IP address of the client.

\n " + }, + "Endpoints": { + "shape": "__listOf__string", + "locationName": "endpoints", + "documentation": "\n

Endpoints for accessing the ZooKeeper.

\n " + }, + "ZookeeperId": { + "shape": "__double", + "locationName": "zookeeperId", + "documentation": "\n

The role-specific ID for Zookeeper.

\n " + }, + "ZookeeperVersion": { + "shape": "__string", + "locationName": "zookeeperVersion", + "documentation": "\n

The version of Zookeeper.

\n " + } + }, + "documentation": "\n

Zookeeper node information.

\n " + }, + "__boolean": { + "type": "boolean" + }, + "__blob": { + "type": "blob" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin1Max15": { + "type": "integer", + "min": 1, + "max": 15 + }, + "__integerMin1Max16384": { + "type": "integer", + "min": 1, + "max": 16384 + }, + "__listOfBrokerEBSVolumeInfo": { + "type": "list", + "member": { + "shape": "BrokerEBSVolumeInfo" + } + }, + "__listOfClusterInfo": { + "type": "list", + "member": { + "shape": "ClusterInfo" + } + }, + "__listOfClusterOperationInfo": { + "type": "list", + "member": { + "shape": "ClusterOperationInfo" + } + }, + "__listOfClusterOperationStep" : { + "type" : "list", + "member" : { + "shape" : "ClusterOperationStep" + } + }, + "__listOfCompatibleKafkaVersion" : { + "type" : "list", + "member" : { + "shape" : "CompatibleKafkaVersion" + } + }, + "__listOfConfiguration": { + "type": "list", + "member": { + "shape": "Configuration" + } + }, + "__listOfConfigurationRevision": { + "type": "list", + "member": { + "shape": "ConfigurationRevision" + } + }, + "__listOfKafkaVersion": { + "type": "list", + "member": { + "shape": "KafkaVersion" + } + }, + "__listOfNodeInfo": { + "type": "list", + "member": { + "shape": "NodeInfo" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__stringMin1Max128": { + "type": "string", + "min": 1, + "max": 128 + }, + "__stringMin1Max64": { + "type": "string", + "min": 1, + "max": 64 + }, + "__stringMin5Max32": { + "type": "string", + "min": 5, + "max": 32 + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + } + }, + "documentation": "\n

The operations for managing an Amazon MSK cluster.

\n " +} diff -Nru python-botocore-1.4.70/botocore/data/kendra/2019-02-03/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kendra/2019-02-03/paginators-1.json --- python-botocore-1.4.70/botocore/data/kendra/2019-02-03/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kendra/2019-02-03/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/kendra/2019-02-03/service-2.json python-botocore-1.16.19+repack/botocore/data/kendra/2019-02-03/service-2.json --- python-botocore-1.4.70/botocore/data/kendra/2019-02-03/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kendra/2019-02-03/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3343 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-02-03", + "endpointPrefix":"kendra", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"kendra", + "serviceFullName":"AWSKendraFrontendService", + "serviceId":"kendra", + "signatureVersion":"v4", + "signingName":"kendra", + "targetPrefix":"AWSKendraFrontendService", + "uid":"kendra-2019-02-03" + }, + "operations":{ + "BatchDeleteDocument":{ + "name":"BatchDeleteDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteDocumentRequest"}, + "output":{"shape":"BatchDeleteDocumentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes one or more documents from an index. The documents must have been added with the BatchPutDocument operation.

The documents are deleted asynchronously. You can see the progress of the deletion by using AWS CloudWatch. Any error messages releated to the processing of the batch are sent to you CloudWatch log.

" + }, + "BatchPutDocument":{ + "name":"BatchPutDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchPutDocumentRequest"}, + "output":{"shape":"BatchPutDocumentResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Adds one or more documents to an index.

The BatchPutDocument operation enables you to ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use this operation to ingest your text and unstructured text into an index, add custom attributes to the documents, and to attach an access control list to the documents added to the index.

The documents are indexed asynchronously. You can see the progress of the batch using AWS CloudWatch. Any error messages related to processing the batch are sent to your AWS CloudWatch log.

" + }, + "CreateDataSource":{ + "name":"CreateDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDataSourceRequest"}, + "output":{"shape":"CreateDataSourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a data source that you use to with an Amazon Kendra index.

You specify a name, connector type and description for your data source. You can choose between an S3 connector, a SharePoint Online connector, and a database connector.

You also specify configuration information such as document metadata (author, source URI, and so on) and user context information.

CreateDataSource is a synchronous operation. The operation returns 200 if the data source was successfully created. Otherwise, an exception is raised.

" + }, + "CreateFaq":{ + "name":"CreateFaq", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFaqRequest"}, + "output":{"shape":"CreateFaqResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates an new set of frequently asked question (FAQ) questions and answers.

" + }, + "CreateIndex":{ + "name":"CreateIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIndexRequest"}, + "output":{"shape":"CreateIndexResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceAlreadyExistException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new Amazon Kendra index. Index creation is an asynchronous operation. To determine if index creation has completed, check the Status field returned from a call to . The Status field is set to ACTIVE when the index is ready to use.

Once the index is active you can index your documents using the operation or using one of the supported data sources.

" + }, + "DeleteDataSource":{ + "name":"DeleteDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDataSourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an Amazon Kendra data source. An exception is not thrown if the data source is already being deleted. While the data source is being deleted, the Status field returned by a call to the operation is set to DELETING. For more information, see Deleting Data Sources.

" + }, + "DeleteFaq":{ + "name":"DeleteFaq", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFaqRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes an FAQ from an index.

" + }, + "DeleteIndex":{ + "name":"DeleteIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIndexRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an existing Amazon Kendra index. An exception is not thrown if the index is already being deleted. While the index is being deleted, the Status field returned by a call to the DescribeIndex operation is set to DELETING.

" + }, + "DescribeDataSource":{ + "name":"DescribeDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDataSourceRequest"}, + "output":{"shape":"DescribeDataSourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about a Amazon Kendra data source.

" + }, + "DescribeFaq":{ + "name":"DescribeFaq", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFaqRequest"}, + "output":{"shape":"DescribeFaqResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about an FAQ list.

" + }, + "DescribeIndex":{ + "name":"DescribeIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIndexRequest"}, + "output":{"shape":"DescribeIndexResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes an existing Amazon Kendra index

" + }, + "ListDataSourceSyncJobs":{ + "name":"ListDataSourceSyncJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDataSourceSyncJobsRequest"}, + "output":{"shape":"ListDataSourceSyncJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets statistics about synchronizing Amazon Kendra with a data source.

" + }, + "ListDataSources":{ + "name":"ListDataSources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDataSourcesRequest"}, + "output":{"shape":"ListDataSourcesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the data sources that you have created.

" + }, + "ListFaqs":{ + "name":"ListFaqs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFaqsRequest"}, + "output":{"shape":"ListFaqsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of FAQ lists associated with an index.

" + }, + "ListIndices":{ + "name":"ListIndices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIndicesRequest"}, + "output":{"shape":"ListIndicesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the Amazon Kendra indexes that you have created.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets a list of tags associated with a specified resource. Indexes, FAQs, and data sources can have tags associated with them.

" + }, + "Query":{ + "name":"Query", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"QueryRequest"}, + "output":{"shape":"QueryResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Searches an active index. Use this API to search your documents using query. The Query operation enables to do faceted search and to filter results based on document attributes.

It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the search results.

Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response contains three types of results.

  • Relevant passages

  • Matching FAQs

  • Relevant documents

You can specify that the query return only one type of result using the QueryResultTypeConfig parameter.

" + }, + "StartDataSourceSyncJob":{ + "name":"StartDataSourceSyncJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDataSourceSyncJobRequest"}, + "output":{"shape":"StartDataSourceSyncJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Starts a synchronization job for a data source. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception.

" + }, + "StopDataSourceSyncJob":{ + "name":"StopDataSourceSyncJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDataSourceSyncJobRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Stops a running synchronization job. You can't stop a scheduled synchronization job.

" + }, + "SubmitFeedback":{ + "name":"SubmitFeedback", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SubmitFeedbackRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Enables you to provide feedback to Amazon Kendra to improve the performance of the service.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Adds the specified tag to the specified index, FAQ, or data source resource. If the tag already exists, the existing value is replaced with the new value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes a tag from an index, FAQ, or a data source.

" + }, + "UpdateDataSource":{ + "name":"UpdateDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDataSourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates an existing Amazon Kendra data source.

" + }, + "UpdateIndex":{ + "name":"UpdateIndex", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIndexRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates an existing Amazon Kendra index.

" + } + }, + "shapes":{ + "AccessControlListConfiguration":{ + "type":"structure", + "members":{ + "KeyPath":{ + "shape":"S3ObjectKey", + "documentation":"

Path to the AWS S3 bucket that contains the ACL files.

" + } + }, + "documentation":"

Access Control List files for the documents in a data source.

" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "AclConfiguration":{ + "type":"structure", + "required":["AllowedGroupsColumnName"], + "members":{ + "AllowedGroupsColumnName":{ + "shape":"ColumnName", + "documentation":"

A list of groups, separated by semi-colons, that filters a query response based on user context. The document is only returned to users that are in one of the groups specified in the UserContext field of the Query operation.

" + } + }, + "documentation":"

Provides information about the column that should be used for filtering the query response by groups.

" + }, + "AdditionalResultAttribute":{ + "type":"structure", + "required":[ + "Key", + "ValueType", + "Value" + ], + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The key that identifies the attribute.

" + }, + "ValueType":{ + "shape":"AdditionalResultAttributeValueType", + "documentation":"

The data type of the Value property.

" + }, + "Value":{ + "shape":"AdditionalResultAttributeValue", + "documentation":"

An object that contains the attribute value.

" + } + }, + "documentation":"

An attribute returned from an index query.

" + }, + "AdditionalResultAttributeList":{ + "type":"list", + "member":{"shape":"AdditionalResultAttribute"} + }, + "AdditionalResultAttributeValue":{ + "type":"structure", + "members":{ + "TextWithHighlightsValue":{ + "shape":"TextWithHighlights", + "documentation":"

The text associated with the attribute and information about the highlight to apply to the text.

" + } + }, + "documentation":"

An attribute returned with a document from a search.

" + }, + "AdditionalResultAttributeValueType":{ + "type":"string", + "enum":["TEXT_WITH_HIGHLIGHTS_VALUE"] + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "AttributeFilter":{ + "type":"structure", + "members":{ + "AndAllFilters":{ + "shape":"AttributeFilterList", + "documentation":"

Performs a logical AND operation on all supplied filters.

" + }, + "OrAllFilters":{ + "shape":"AttributeFilterList", + "documentation":"

Performs a logical OR operation on all supplied filters.

" + }, + "NotFilter":{ + "shape":"AttributeFilter", + "documentation":"

Performs a logical NOT operation on all supplied filters.

" + }, + "EqualsTo":{ + "shape":"DocumentAttribute", + "documentation":"

Performs an equals operation on two document attributes.

" + }, + "ContainsAll":{ + "shape":"DocumentAttribute", + "documentation":"

Returns true when a document contains all of the specified document attributes. This filter is only appicable to StringListValue metadata.

" + }, + "ContainsAny":{ + "shape":"DocumentAttribute", + "documentation":"

Returns true when a document contains any of the specified document attributes.This filter is only appicable to StringListValue metadata.

" + }, + "GreaterThan":{ + "shape":"DocumentAttribute", + "documentation":"

Performs a greater than operation on two document attributes. Use with a document attribute of type Integer or Long.

" + }, + "GreaterThanOrEquals":{ + "shape":"DocumentAttribute", + "documentation":"

Performs a greater or equals than operation on two document attributes. Use with a document attribute of type Integer or Long.

" + }, + "LessThan":{ + "shape":"DocumentAttribute", + "documentation":"

Performs a less than operation on two document attributes. Use with a document attribute of type Integer or Long.

" + }, + "LessThanOrEquals":{ + "shape":"DocumentAttribute", + "documentation":"

Performs a less than or equals operation on two document attributes. Use with a document attribute of type Integer or Long.

" + } + }, + "documentation":"

Provides filtering the query results based on document attributes.

When you use the AndAllFilters or OrAllFilters, filters you can use 2 layers under the first attribute filter. For example, you can use:

<AndAllFilters>

  1. <OrAllFilters>

  2. <EqualTo>

If you use more than 2 layers, you receive a ValidationException exception with the message \"AttributeFilter cannot have a depth of more than 2.\"

" + }, + "AttributeFilterList":{ + "type":"list", + "member":{"shape":"AttributeFilter"} + }, + "BatchDeleteDocumentRequest":{ + "type":"structure", + "required":[ + "IndexId", + "DocumentIdList" + ], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the documents to delete.

" + }, + "DocumentIdList":{ + "shape":"DocumentIdList", + "documentation":"

One or more identifiers for documents to delete from the index.

" + }, + "DataSourceSyncJobMetricTarget":{"shape":"DataSourceSyncJobMetricTarget"} + } + }, + "BatchDeleteDocumentResponse":{ + "type":"structure", + "members":{ + "FailedDocuments":{ + "shape":"BatchDeleteDocumentResponseFailedDocuments", + "documentation":"

A list of documents that could not be removed from the index. Each entry contains an error message that indicates why the document couldn't be removed from the index.

" + } + } + }, + "BatchDeleteDocumentResponseFailedDocument":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"DocumentId", + "documentation":"

The identifier of the document that couldn't be removed from the index.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The error code for why the document couldn't be removed from the index.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

An explanation for why the document couldn't be removed from the index.

" + } + }, + "documentation":"

Provides information about documents that could not be removed from an index by the BatchDeleteDocument operation.

" + }, + "BatchDeleteDocumentResponseFailedDocuments":{ + "type":"list", + "member":{"shape":"BatchDeleteDocumentResponseFailedDocument"} + }, + "BatchPutDocumentRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Documents" + ], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index to add the documents to. You need to create the index first using the CreateIndex operation.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of a role that is allowed to run the BatchPutDocument operation. For more information, see IAM Roles for Amazon Kendra.

" + }, + "Documents":{ + "shape":"DocumentList", + "documentation":"

One or more documents to add to the index.

Documents have the following file size limits.

  • 5 MB total size for inline documents

  • 50 MB total size for files from an S3 bucket

  • 5 MB extracted text for any file

For more information about file size and transaction per second quotas, see Quotas.

" + } + } + }, + "BatchPutDocumentResponse":{ + "type":"structure", + "members":{ + "FailedDocuments":{ + "shape":"BatchPutDocumentResponseFailedDocuments", + "documentation":"

A list of documents that were not added to the index because the document failed a validation check. Each document contains an error message that indicates why the document couldn't be added to the index.

If there was an error adding a document to an index the error is reported in your AWS CloudWatch log. For more information, see Monitoring Amazon Kendra with Amazon CloudWatch Logs

" + } + } + }, + "BatchPutDocumentResponseFailedDocument":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"DocumentId", + "documentation":"

The unique identifier of the document.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

The type of error that caused the document to fail to be indexed.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

A description of the reason why the document could not be indexed.

" + } + }, + "documentation":"

Provides information about a document that could not be indexed.

" + }, + "BatchPutDocumentResponseFailedDocuments":{ + "type":"list", + "member":{"shape":"BatchPutDocumentResponseFailedDocument"} + }, + "Blob":{"type":"blob"}, + "Boolean":{"type":"boolean"}, + "CapacityUnitsConfiguration":{ + "type":"structure", + "required":[ + "StorageCapacityUnits", + "QueryCapacityUnits" + ], + "members":{ + "StorageCapacityUnits":{ + "shape":"StorageCapacityUnit", + "documentation":"

The amount of extra storage capacity for an index. Each capacity unit provides 150 Gb of storage space or 500,000 documents, whichever is reached first.

" + }, + "QueryCapacityUnits":{ + "shape":"QueryCapacityUnit", + "documentation":"

The amount of extra query capacity for an index. Each capacity unit provides 0.5 queries per second and 40,000 queries per day.

" + } + }, + "documentation":"

Specifies capacity units configured for your index. You can add and remove capacity units to tune an index to your requirements.

" + }, + "ChangeDetectingColumns":{ + "type":"list", + "member":{"shape":"ColumnName"}, + "max":5, + "min":1 + }, + "ClickFeedback":{ + "type":"structure", + "required":[ + "ResultId", + "ClickTime" + ], + "members":{ + "ResultId":{ + "shape":"ResultId", + "documentation":"

The unique identifier of the search result that was clicked.

" + }, + "ClickTime":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp of the date and time that the result was clicked.

" + } + }, + "documentation":"

Gathers information about when a particular result was clicked by a user. Your application uses the SubmitFeedback operation to provide click information.

" + }, + "ClickFeedbackList":{ + "type":"list", + "member":{"shape":"ClickFeedback"} + }, + "ClientTokenName":{ + "type":"string", + "max":100, + "min":1 + }, + "ColumnConfiguration":{ + "type":"structure", + "required":[ + "DocumentIdColumnName", + "DocumentDataColumnName", + "ChangeDetectingColumns" + ], + "members":{ + "DocumentIdColumnName":{ + "shape":"ColumnName", + "documentation":"

The column that provides the document's unique identifier.

" + }, + "DocumentDataColumnName":{ + "shape":"ColumnName", + "documentation":"

The column that contains the contents of the document.

" + }, + "DocumentTitleColumnName":{ + "shape":"ColumnName", + "documentation":"

The column that contains the title of the document.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

An array of objects that map database column names to the corresponding fields in an index. You must first create the fields in the index using the UpdateIndex operation.

" + }, + "ChangeDetectingColumns":{ + "shape":"ChangeDetectingColumns", + "documentation":"

One to five columns that indicate when a document in the database has changed.

" + } + }, + "documentation":"

Provides information about how Amazon Kendra should use the columns of a database in an index.

" + }, + "ColumnName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ConnectionConfiguration":{ + "type":"structure", + "required":[ + "DatabaseHost", + "DatabasePort", + "DatabaseName", + "TableName", + "SecretArn" + ], + "members":{ + "DatabaseHost":{ + "shape":"DatabaseHost", + "documentation":"

The name of the host for the database. Can be either a string (host.subdomain.domain.tld) or an IPv4 or IPv6 address.

" + }, + "DatabasePort":{ + "shape":"DatabasePort", + "documentation":"

The port that the database uses for connections.

" + }, + "DatabaseName":{ + "shape":"DatabaseName", + "documentation":"

The name of the database containing the document data.

" + }, + "TableName":{ + "shape":"TableName", + "documentation":"

The name of the table that contains the document data.

" + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The credentials should be a user/password pair. For more information, see Using a Database Data Source. For more information about AWS Secrets Manager, see What Is AWS Secrets Manager in the AWS Secrets Manager user guide.

" + } + }, + "documentation":"

Provides the information necessary to connect to a database.

" + }, + "ContentType":{ + "type":"string", + "enum":[ + "PDF", + "HTML", + "MS_WORD", + "PLAIN_TEXT", + "PPT" + ] + }, + "CreateDataSourceRequest":{ + "type":"structure", + "required":[ + "Name", + "IndexId", + "Type", + "Configuration", + "RoleArn" + ], + "members":{ + "Name":{ + "shape":"DataSourceName", + "documentation":"

A unique name for the data source. A data source name can't be changed without deleting and recreating the data source.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that should be associated with this data source.

" + }, + "Type":{ + "shape":"DataSourceType", + "documentation":"

The type of repository that contains the data source.

" + }, + "Configuration":{ + "shape":"DataSourceConfiguration", + "documentation":"

The connector configuration information that is required to access the repository.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description for the data source.

" + }, + "Schedule":{ + "shape":"ScanSchedule", + "documentation":"

Sets the frequency that Amazon Kendra will check the documents in your repository and update the index. If you don't set a schedule Amazon Kendra will not periodically update the index. You can call the StartDataSourceSyncJob operation to update the index.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of a role with permission to access the data source. For more information, see IAM Roles for Amazon Kendra.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs that identify the data source. You can use the tags to identify and organize your resources and to control access to resources.

" + } + } + }, + "CreateDataSourceResponse":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

A unique identifier for the data source.

" + } + } + }, + "CreateFaqRequest":{ + "type":"structure", + "required":[ + "IndexId", + "Name", + "S3Path", + "RoleArn" + ], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the FAQ.

" + }, + "Name":{ + "shape":"FaqName", + "documentation":"

The name that should be associated with the FAQ.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description of the FAQ.

" + }, + "S3Path":{ + "shape":"S3Path", + "documentation":"

The S3 location of the FAQ input data.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of a role with permission to access the S3 bucket that contains the FAQs. For more information, see IAM Roles for Amazon Kendra.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs that identify the FAQ. You can use the tags to identify and organize your resources and to control access to resources.

" + } + } + }, + "CreateFaqResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"FaqId", + "documentation":"

The unique identifier of the FAQ.

" + } + } + }, + "CreateIndexRequest":{ + "type":"structure", + "required":[ + "Name", + "RoleArn" + ], + "members":{ + "Name":{ + "shape":"IndexName", + "documentation":"

The name for the new index.

" + }, + "Edition":{ + "shape":"IndexEdition", + "documentation":"

The Amazon Kendra edition to use for the index. Choose DEVELOPER_EDITION for indexes intended for development, testing, or proof of concept. Use ENTERPRISE_EDITION for your production databases. Once you set the edition for an index, it can't be changed.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

An IAM role that gives Amazon Kendra permissions to access your Amazon CloudWatch logs and metrics. This is also the role used when you use the BatchPutDocument operation to index documents from an Amazon S3 bucket.

" + }, + "ServerSideEncryptionConfiguration":{ + "shape":"ServerSideEncryptionConfiguration", + "documentation":"

The identifier of the AWS KMS customer managed key (CMK) to use to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A description for the index.

" + }, + "ClientToken":{ + "shape":"ClientTokenName", + "documentation":"

A token that you provide to identify the request to create an index. Multiple calls to the CreateIndex operation with the same client token will create only one index.”

", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of key-value pairs that identify the index. You can use the tags to identify and organize your resources and to control access to resources.

" + } + } + }, + "CreateIndexResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IndexId", + "documentation":"

The unique identifier of the index. Use this identifier when you query an index, set up a data source, or index a document.

" + } + } + }, + "DataSourceConfiguration":{ + "type":"structure", + "members":{ + "S3Configuration":{ + "shape":"S3DataSourceConfiguration", + "documentation":"

Provides information to create a connector for a document repository in an Amazon S3 bucket.

" + }, + "SharePointConfiguration":{ + "shape":"SharePointConfiguration", + "documentation":"

Provides information necessary to create a connector for a Microsoft SharePoint site.

" + }, + "DatabaseConfiguration":{ + "shape":"DatabaseConfiguration", + "documentation":"

Provides information necessary to create a connector for a database.

" + }, + "SalesforceConfiguration":{ + "shape":"SalesforceConfiguration", + "documentation":"

Provides configuration information for data sources that connect to a Salesforce site.

" + }, + "OneDriveConfiguration":{ + "shape":"OneDriveConfiguration", + "documentation":"

Provided configuration for data sources that connect to Microsoft OneDrive.

" + }, + "ServiceNowConfiguration":{ + "shape":"ServiceNowConfiguration", + "documentation":"

Provides configuration for data sources that connect to ServiceNow instances.

" + } + }, + "documentation":"

Configuration information for a Amazon Kendra data source.

" + }, + "DataSourceDateFieldFormat":{ + "type":"string", + "max":40, + "min":4, + "pattern":"^(?!\\s).*(?The name of the data source.

" + }, + "Id":{ + "shape":"DataSourceId", + "documentation":"

The unique identifier for the data source.

" + }, + "Type":{ + "shape":"DataSourceType", + "documentation":"

The type of the data source.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the data source was created.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the data source was lasted updated.

" + }, + "Status":{ + "shape":"DataSourceStatus", + "documentation":"

The status of the data source. When the status is ATIVE the data source is ready to use.

" + } + }, + "documentation":"

Summary information for a Amazon Kendra data source. Returned in a call to .

" + }, + "DataSourceSummaryList":{ + "type":"list", + "member":{"shape":"DataSourceSummary"} + }, + "DataSourceSyncJob":{ + "type":"structure", + "members":{ + "ExecutionId":{ + "shape":"String", + "documentation":"

A unique identifier for the synchronization job.

" + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the synchronization job was started.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the synchronization job was completed.

" + }, + "Status":{ + "shape":"DataSourceSyncJobStatus", + "documentation":"

The execution status of the synchronization job. When the Status field is set to SUCCEEDED, the synchronization job is done. If the status code is set to FAILED, the ErrorCode and ErrorMessage fields give you the reason for the failure.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

If the Status field is set to ERROR, the ErrorMessage field contains a description of the error that caused the synchronization to fail.

" + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

If the Status field is set to FAILED, the ErrorCode field contains a the reason that the synchronization failed.

" + }, + "DataSourceErrorCode":{ + "shape":"String", + "documentation":"

If the reason that the synchronization failed is due to an error with the underlying data source, this field contains a code that identifies the error.

" + }, + "Metrics":{ + "shape":"DataSourceSyncJobMetrics", + "documentation":"

Maps a batch delete document request to a specific data source sync job. This is optional and should only be supplied when documents are deleted by a connector.

" + } + }, + "documentation":"

Provides information about a synchronization job.

" + }, + "DataSourceSyncJobHistoryList":{ + "type":"list", + "member":{"shape":"DataSourceSyncJob"} + }, + "DataSourceSyncJobId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "DataSourceSyncJobMetricTarget":{ + "type":"structure", + "required":[ + "DataSourceId", + "DataSourceSyncJobId" + ], + "members":{ + "DataSourceId":{ + "shape":"DataSourceId", + "documentation":"

The ID of the data source that is running the sync job.

" + }, + "DataSourceSyncJobId":{ + "shape":"DataSourceSyncJobId", + "documentation":"

The ID of the sync job that is running on the data source.

" + } + }, + "documentation":"

Maps a particular data source sync job to a particular data source.

" + }, + "DataSourceSyncJobMetrics":{ + "type":"structure", + "members":{ + "DocumentsAdded":{ + "shape":"MetricValue", + "documentation":"

The number of documents added from the data source up to now in the data source sync.

" + }, + "DocumentsModified":{ + "shape":"MetricValue", + "documentation":"

The number of documents modified in the data source up to now in the data source sync run.

" + }, + "DocumentsDeleted":{ + "shape":"MetricValue", + "documentation":"

The number of documents deleted from the data source up to now in the data source sync run.

" + }, + "DocumentsFailed":{ + "shape":"MetricValue", + "documentation":"

The number of documents that failed to sync from the data source up to now in the data source sync run.

" + }, + "DocumentsScanned":{ + "shape":"MetricValue", + "documentation":"

The current number of documents crawled by the current sync job in the data source.

" + } + }, + "documentation":"

Maps a batch delete document request to a specific data source sync job. This is optional and should only be supplied when documents are deleted by a connector.

" + }, + "DataSourceSyncJobStatus":{ + "type":"string", + "enum":[ + "FAILED", + "SUCCEEDED", + "SYNCING", + "INCOMPLETE", + "STOPPING", + "ABORTED", + "SYNCING_INDEXING" + ] + }, + "DataSourceToIndexFieldMapping":{ + "type":"structure", + "required":[ + "DataSourceFieldName", + "IndexFieldName" + ], + "members":{ + "DataSourceFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the column or attribute in the data source.

" + }, + "DateFieldFormat":{ + "shape":"DataSourceDateFieldFormat", + "documentation":"

The type of data stored in the column or attribute.

" + }, + "IndexFieldName":{ + "shape":"IndexFieldName", + "documentation":"

The name of the field in the index.

" + } + }, + "documentation":"

Maps a column or attribute in the data source to an index field. You must first create the fields in the index using the UpdateIndex operation.

" + }, + "DataSourceToIndexFieldMappingList":{ + "type":"list", + "member":{"shape":"DataSourceToIndexFieldMapping"}, + "max":100, + "min":1 + }, + "DataSourceType":{ + "type":"string", + "enum":[ + "S3", + "SHAREPOINT", + "DATABASE", + "SALESFORCE", + "ONEDRIVE", + "SERVICENOW" + ] + }, + "DataSourceVpcConfiguration":{ + "type":"structure", + "required":[ + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "SubnetIds":{ + "shape":"SubnetIdList", + "documentation":"

A list of identifiers for subnets within your Amazon VPC. The subnets should be able to connect to each other in the VPC, and they should have outgoing access to the Internet through a NAT device.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIdList", + "documentation":"

A list of identifiers of security groups within your Amazon VPC. The security groups should enable Amazon Kendra to connect to the data source.

" + } + }, + "documentation":"

Provides information for connecting to an Amazon VPC.

" + }, + "DatabaseConfiguration":{ + "type":"structure", + "required":[ + "DatabaseEngineType", + "ConnectionConfiguration", + "ColumnConfiguration" + ], + "members":{ + "DatabaseEngineType":{ + "shape":"DatabaseEngineType", + "documentation":"

The type of database engine that runs the database.

" + }, + "ConnectionConfiguration":{ + "shape":"ConnectionConfiguration", + "documentation":"

The information necessary to connect to a database.

" + }, + "VpcConfiguration":{"shape":"DataSourceVpcConfiguration"}, + "ColumnConfiguration":{ + "shape":"ColumnConfiguration", + "documentation":"

Information about where the index should get the document information from the database.

" + }, + "AclConfiguration":{ + "shape":"AclConfiguration", + "documentation":"

Information about the database column that provides information for user context filtering.

" + } + }, + "documentation":"

Provides the information necessary to connect a database to an index.

" + }, + "DatabaseEngineType":{ + "type":"string", + "enum":[ + "RDS_AURORA_MYSQL", + "RDS_AURORA_POSTGRESQL", + "RDS_MYSQL", + "RDS_POSTGRESQL" + ] + }, + "DatabaseHost":{ + "type":"string", + "max":253, + "min":1 + }, + "DatabaseName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "DatabasePort":{ + "type":"integer", + "max":65535, + "min":1 + }, + "DeleteDataSourceRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The unique identifier of the data source to delete.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The unique identifier of the index associated with the data source.

" + } + } + }, + "DeleteFaqRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"FaqId", + "documentation":"

The identifier of the FAQ to remove.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The index to remove the FAQ from.

" + } + } + }, + "DeleteIndexRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"IndexId", + "documentation":"

The identifier of the index to delete.

" + } + } + }, + "DescribeDataSourceRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The unique identifier of the data source to describe.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + } + } + }, + "DescribeDataSourceResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The identifier of the data source.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + }, + "Name":{ + "shape":"DataSourceName", + "documentation":"

The name that you gave the data source when it was created.

" + }, + "Type":{ + "shape":"DataSourceType", + "documentation":"

The type of the data source.

" + }, + "Configuration":{ + "shape":"DataSourceConfiguration", + "documentation":"

Information that describes where the data source is located and how the data source is configured. The specific information in the description depends on the data source provider.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp of when the data source was created.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp of when the data source was last updated.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the data source.

" + }, + "Status":{ + "shape":"DataSourceStatus", + "documentation":"

The current status of the data source. When the status is ACTIVE the data source is ready to use. When the status is FAILED, the ErrorMessage field contains the reason that the data source failed.

" + }, + "Schedule":{ + "shape":"ScanSchedule", + "documentation":"

The schedule that Amazon Kendra will update the data source.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the role that enables the data source to access its resources.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

When the Status field value is FAILED, the ErrorMessage field contains a description of the error that caused the data source to fail.

" + } + } + }, + "DescribeFaqRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"FaqId", + "documentation":"

The unique identifier of the FAQ.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the FAQ.

" + } + } + }, + "DescribeFaqResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"FaqId", + "documentation":"

The identifier of the FAQ.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the FAQ.

" + }, + "Name":{ + "shape":"FaqName", + "documentation":"

The name that you gave the FAQ when it was created.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the FAQ that you provided when it was created.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time that the FAQ was created.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The date and time that the FAQ was last updated.

" + }, + "S3Path":{"shape":"S3Path"}, + "Status":{ + "shape":"FaqStatus", + "documentation":"

The status of the FAQ. It is ready to use when the status is ACTIVE.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the role that provides access to the S3 bucket containing the input files for the FAQ.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

If the Status field is FAILED, the ErrorMessage field contains the reason why the FAQ failed.

" + } + } + }, + "DescribeIndexRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"IndexId", + "documentation":"

The name of the index to describe.

" + } + } + }, + "DescribeIndexResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"IndexName", + "documentation":"

The name of the index.

" + }, + "Id":{ + "shape":"IndexId", + "documentation":"

the name of the index.

" + }, + "Edition":{ + "shape":"IndexEdition", + "documentation":"

The Amazon Kendra edition used for the index. You decide the edition when you create the index.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role that gives Amazon Kendra permission to write to your Amazon Cloudwatch logs.

" + }, + "ServerSideEncryptionConfiguration":{ + "shape":"ServerSideEncryptionConfiguration", + "documentation":"

The identifier of the AWS KMS customer master key (CMK) used to encrypt your data. Amazon Kendra doesn't support asymmetric CMKs.

" + }, + "Status":{ + "shape":"IndexStatus", + "documentation":"

The current status of the index. When the value is ACTIVE, the index is ready for use. If the Status field value is FAILED, the ErrorMessage field contains a message that explains why.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the index.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix datetime that the index was created.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix datetime that the index was last updated.

" + }, + "DocumentMetadataConfigurations":{ + "shape":"DocumentMetadataConfigurationList", + "documentation":"

Configuration settings for any metadata applied to the documents in the index.

" + }, + "IndexStatistics":{ + "shape":"IndexStatistics", + "documentation":"

Provides information about the number of FAQ questions and answers and the number of text documents indexed.

" + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

When th eStatus field value is FAILED, the ErrorMessage field contains a message that explains why.

" + }, + "CapacityUnits":{ + "shape":"CapacityUnitsConfiguration", + "documentation":"

For enterprise edtion indexes, you can choose to use additional capacity to meet the needs of your application. This contains the capacity units used for the index. A 0 for the query capacity or the storage capacity indicates that the index is using the default capacity for the index.

" + } + } + }, + "Description":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^\\P{C}*$" + }, + "Document":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"DocumentId", + "documentation":"

A unique identifier of the document in the index.

" + }, + "Title":{ + "shape":"Title", + "documentation":"

The title of the document.

" + }, + "Blob":{ + "shape":"Blob", + "documentation":"

The contents of the document.

Documents passed to the Blob parameter must be base64 encoded. Your code might not need to encode the document file bytes if you're using an AWS SDK to call Amazon Kendra operations. If you are calling the Amazon Kendra endpoint directly using REST, you must base64 encode the contents before sending.

" + }, + "S3Path":{"shape":"S3Path"}, + "Attributes":{ + "shape":"DocumentAttributeList", + "documentation":"

Custom attributes to apply to the document. Use the custom attributes to provide additional information for searching, to provide facets for refining searches, and to provide additional information in the query response.

" + }, + "AccessControlList":{ + "shape":"PrincipalList", + "documentation":"

Information to use for user context filtering.

" + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

The file type of the document in the Blob field.

" + } + }, + "documentation":"

A document in an index.

" + }, + "DocumentAttribute":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"DocumentAttributeKey", + "documentation":"

The identifier for the attribute.

" + }, + "Value":{ + "shape":"DocumentAttributeValue", + "documentation":"

The value of the attribute.

" + } + }, + "documentation":"

A custom attribute value assigned to a document.

" + }, + "DocumentAttributeKey":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[a-zA-Z0-9_][a-zA-Z0-9_-]*" + }, + "DocumentAttributeKeyList":{ + "type":"list", + "member":{"shape":"DocumentAttributeKey"}, + "max":100, + "min":1 + }, + "DocumentAttributeList":{ + "type":"list", + "member":{"shape":"DocumentAttribute"} + }, + "DocumentAttributeStringListValue":{ + "type":"list", + "member":{"shape":"String"} + }, + "DocumentAttributeStringValue":{ + "type":"string", + "max":2048, + "min":1 + }, + "DocumentAttributeValue":{ + "type":"structure", + "members":{ + "StringValue":{ + "shape":"DocumentAttributeStringValue", + "documentation":"

A string, such as \"department\".

" + }, + "StringListValue":{ + "shape":"DocumentAttributeStringListValue", + "documentation":"

A list of strings.

" + }, + "LongValue":{ + "shape":"Long", + "documentation":"

A long integer value.

" + }, + "DateValue":{ + "shape":"Timestamp", + "documentation":"

A date value expressed as seconds from the Unix epoch.

" + } + }, + "documentation":"

The value of a custom document attribute. You can only provide one value for a custom attribute.

" + }, + "DocumentAttributeValueCountPair":{ + "type":"structure", + "members":{ + "DocumentAttributeValue":{ + "shape":"DocumentAttributeValue", + "documentation":"

The value of the attribute. For example, \"HR.\"

" + }, + "Count":{ + "shape":"Integer", + "documentation":"

The number of documents in the response that have the attribute value for the key.

" + } + }, + "documentation":"

Provides the count of documents that match a particular attribute when doing a faceted search.

" + }, + "DocumentAttributeValueCountPairList":{ + "type":"list", + "member":{"shape":"DocumentAttributeValueCountPair"} + }, + "DocumentAttributeValueType":{ + "type":"string", + "enum":[ + "STRING_VALUE", + "STRING_LIST_VALUE", + "LONG_VALUE", + "DATE_VALUE" + ] + }, + "DocumentId":{ + "type":"string", + "max":2048, + "min":1 + }, + "DocumentIdList":{ + "type":"list", + "member":{"shape":"DocumentId"}, + "max":10, + "min":1 + }, + "DocumentList":{ + "type":"list", + "member":{"shape":"Document"}, + "max":10, + "min":1 + }, + "DocumentMetadataBoolean":{"type":"boolean"}, + "DocumentMetadataConfiguration":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "Name":{ + "shape":"DocumentMetadataConfigurationName", + "documentation":"

The name of the index field.

" + }, + "Type":{ + "shape":"DocumentAttributeValueType", + "documentation":"

The data type of the index field.

" + }, + "Relevance":{ + "shape":"Relevance", + "documentation":"

Provides manual tuning parameters to determine how the field affects the search results.

" + }, + "Search":{ + "shape":"Search", + "documentation":"

Provides information about how the field is used during a search.

" + } + }, + "documentation":"

Specifies the properties of a custom index field.

" + }, + "DocumentMetadataConfigurationList":{ + "type":"list", + "member":{"shape":"DocumentMetadataConfiguration"}, + "max":500, + "min":0 + }, + "DocumentMetadataConfigurationName":{ + "type":"string", + "max":30, + "min":1 + }, + "DocumentsMetadataConfiguration":{ + "type":"structure", + "members":{ + "S3Prefix":{ + "shape":"S3ObjectKey", + "documentation":"

A prefix used to filter metadata configuration files in the AWS S3 bucket. The S3 bucket might contain multiple metadata files. Use S3Prefix to include only the desired metadata files.

" + } + }, + "documentation":"

Document metadata files that contain information such as the document access control information, source URI, document author, and custom attributes. Each metadata file contains metadata about a single document.

" + }, + "Duration":{ + "type":"string", + "max":10, + "min":1, + "pattern":"[0-9]+[s]" + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "InternalError", + "InvalidRequest" + ] + }, + "ErrorMessage":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^\\P{C}*$" + }, + "Facet":{ + "type":"structure", + "members":{ + "DocumentAttributeKey":{ + "shape":"DocumentAttributeKey", + "documentation":"

The unique key for the document attribute.

" + } + }, + "documentation":"

Information about a document attribute

" + }, + "FacetList":{ + "type":"list", + "member":{"shape":"Facet"} + }, + "FacetResult":{ + "type":"structure", + "members":{ + "DocumentAttributeKey":{ + "shape":"DocumentAttributeKey", + "documentation":"

The key for the facet values. This is the same as the DocumentAttributeKey provided in the query.

" + }, + "DocumentAttributeValueCountPairs":{ + "shape":"DocumentAttributeValueCountPairList", + "documentation":"

An array of key/value pairs, where the key is the value of the attribute and the count is the number of documents that share the key value.

" + } + }, + "documentation":"

The facet values for the documents in the response.

" + }, + "FacetResultList":{ + "type":"list", + "member":{"shape":"FacetResult"} + }, + "FaqId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "FaqName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "FaqStatistics":{ + "type":"structure", + "required":["IndexedQuestionAnswersCount"], + "members":{ + "IndexedQuestionAnswersCount":{ + "shape":"IndexedQuestionAnswersCount", + "documentation":"

The total number of FAQ questions and answers contained in the index.

" + } + }, + "documentation":"

Provides statistical information about the FAQ questions and answers contained in an index.

" + }, + "FaqStatus":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "ACTIVE", + "DELETING", + "FAILED" + ] + }, + "FaqSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"FaqId", + "documentation":"

The unique identifier of the FAQ.

" + }, + "Name":{ + "shape":"FaqName", + "documentation":"

The name that you assigned the FAQ when you created or updated the FAQ.

" + }, + "Status":{ + "shape":"FaqStatus", + "documentation":"

The current status of the FAQ. When the status is ACTIVE the FAQ is ready for use.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the FAQ was added to the index.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime that the FAQ was last updated.

" + } + }, + "documentation":"

Provides information about a frequently asked questions and answer contained in an index.

" + }, + "FaqSummaryItems":{ + "type":"list", + "member":{"shape":"FaqSummary"} + }, + "Highlight":{ + "type":"structure", + "required":[ + "BeginOffset", + "EndOffset" + ], + "members":{ + "BeginOffset":{ + "shape":"Integer", + "documentation":"

The zero-based location in the response string where the highlight starts.

" + }, + "EndOffset":{ + "shape":"Integer", + "documentation":"

The zero-based location in the response string where the highlight ends.

" + }, + "TopAnswer":{ + "shape":"Boolean", + "documentation":"

Indicates whether the response is the best response. True if this is the best response; otherwise, false.

" + } + }, + "documentation":"

Provides information that you can use to highlight a search result so that your users can quickly identify terms in the response.

" + }, + "HighlightList":{ + "type":"list", + "member":{"shape":"Highlight"} + }, + "Importance":{ + "type":"integer", + "max":10, + "min":1 + }, + "IndexConfigurationSummary":{ + "type":"structure", + "required":[ + "CreatedAt", + "UpdatedAt", + "Status" + ], + "members":{ + "Name":{ + "shape":"IndexName", + "documentation":"

The name of the index.

" + }, + "Id":{ + "shape":"IndexId", + "documentation":"

A unique identifier for the index. Use this to identify the index when you are using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex.

" + }, + "Edition":{ + "shape":"IndexEdition", + "documentation":"

Indicates whether the index is a enterprise edition index or a developer edition index.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp when the index was created.

" + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

The Unix timestamp when the index was last updated by the UpdateIndex operation.

" + }, + "Status":{ + "shape":"IndexStatus", + "documentation":"

The current status of the index. When the status is ACTIVE, the index is ready to search.

" + } + }, + "documentation":"

A summary of information about an index.

" + }, + "IndexConfigurationSummaryList":{ + "type":"list", + "member":{"shape":"IndexConfigurationSummary"} + }, + "IndexEdition":{ + "type":"string", + "enum":[ + "DEVELOPER_EDITION", + "ENTERPRISE_EDITION" + ] + }, + "IndexFieldName":{ + "type":"string", + "max":30, + "min":1, + "pattern":"^\\P{C}*$" + }, + "IndexId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9-]*" + }, + "IndexName":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "IndexStatistics":{ + "type":"structure", + "required":[ + "FaqStatistics", + "TextDocumentStatistics" + ], + "members":{ + "FaqStatistics":{ + "shape":"FaqStatistics", + "documentation":"

The number of question and answer topics in the index.

" + }, + "TextDocumentStatistics":{ + "shape":"TextDocumentStatistics", + "documentation":"

The number of text documents indexed.

" + } + }, + "documentation":"

Provides information about the number of documents and the number of questions and answers in an index.

" + }, + "IndexStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPDATING", + "SYSTEM_UPDATING" + ] + }, + "IndexedQuestionAnswersCount":{ + "type":"integer", + "min":0 + }, + "IndexedTextBytes":{ + "type":"long", + "min":0 + }, + "IndexedTextDocumentsCount":{ + "type":"integer", + "min":0 + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true, + "fault":true + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "ListDataSourceSyncJobsRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The identifier of the data source.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request to GetDataSourceSyncJobHistory was truncated, include the NextToken to fetch the next set of jobs.

" + }, + "MaxResults":{ + "shape":"MaxResultsIntegerForListDataSourceSyncJobsRequest", + "documentation":"

The maximum number of synchronization jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.

" + }, + "StartTimeFilter":{ + "shape":"TimeRange", + "documentation":"

When specified, the synchronization jobs returned in the list are limited to jobs between the specified dates.

" + }, + "StatusFilter":{ + "shape":"DataSourceSyncJobStatus", + "documentation":"

When specified, only returns synchronization jobs with the Status field equal to the specified status.

" + } + } + }, + "ListDataSourceSyncJobsResponse":{ + "type":"structure", + "members":{ + "History":{ + "shape":"DataSourceSyncJobHistoryList", + "documentation":"

A history of synchronization jobs for the data source.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The GetDataSourceSyncJobHistory operation returns a page of vocabularies at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Kendra returns the NextPage token. Include the token in the next request to the GetDataSourceSyncJobHistory operation to return in the next page of jobs.

" + } + } + }, + "ListDataSourcesRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of data sources (DataSourceSummaryItems).

" + }, + "MaxResults":{ + "shape":"MaxResultsIntegerForListDataSourcesRequest", + "documentation":"

The maximum number of data sources to return.

" + } + } + }, + "ListDataSourcesResponse":{ + "type":"structure", + "members":{ + "SummaryItems":{ + "shape":"DataSourceSummaryList", + "documentation":"

An array of summary information for one or more data sources.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Kendra returns this token that you can use in the subsequent request to retrieve the next set of data sources.

" + } + } + }, + "ListFaqsRequest":{ + "type":"structure", + "required":["IndexId"], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The index that contains the FAQ lists.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the result of the previous request to ListFaqs was truncated, include the NextToken to fetch the next set of FAQs.

" + }, + "MaxResults":{ + "shape":"MaxResultsIntegerForListFaqsRequest", + "documentation":"

The maximum number of FAQs to return in the response. If there are fewer results in the list, this response contains only the actual results.

" + } + } + }, + "ListFaqsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The ListFaqs operation returns a page of FAQs at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Kendra returns the NextPage token. Include the token in the next request to the ListFaqs operation to return the next page of FAQs.

" + }, + "FaqSummaryItems":{ + "shape":"FaqSummaryItems", + "documentation":"

information about the FAQs associated with the specified index.

" + } + } + }, + "ListIndicesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Kendra returns a pagination token in the response. You can use this pagination token to retrieve the next set of indexes (DataSourceSummaryItems).

" + }, + "MaxResults":{ + "shape":"MaxResultsIntegerForListIndicesRequest", + "documentation":"

The maximum number of data sources to return.

" + } + } + }, + "ListIndicesResponse":{ + "type":"structure", + "members":{ + "IndexConfigurationSummaryItems":{ + "shape":"IndexConfigurationSummaryList", + "documentation":"

An array of summary information for one or more indexes.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, Amazon Kendra returns this token that you can use in the subsequent request to retrieve the next set of indexes.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the index, FAQ, or data source to get a list of tags for.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags associated with the index, FAQ, or data source.

" + } + } + }, + "Long":{"type":"long"}, + "MaxResultsIntegerForListDataSourceSyncJobsRequest":{ + "type":"integer", + "max":10, + "min":1 + }, + "MaxResultsIntegerForListDataSourcesRequest":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResultsIntegerForListFaqsRequest":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResultsIntegerForListIndicesRequest":{ + "type":"integer", + "max":100, + "min":1 + }, + "MetricValue":{ + "type":"string", + "pattern":"(([1-9][0-9]*)|0)" + }, + "NextToken":{ + "type":"string", + "max":800, + "min":1 + }, + "OneDriveConfiguration":{ + "type":"structure", + "required":[ + "TenantDomain", + "SecretArn", + "OneDriveUsers" + ], + "members":{ + "TenantDomain":{ + "shape":"TenantDomain", + "documentation":"

Tha Azure Active Directory domain of the organization.

" + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the user name and password to connect to OneDrive. The user namd should be the application ID for the OneDrive application, and the password is the application key for the OneDrive application.

" + }, + "OneDriveUsers":{ + "shape":"OneDriveUsers", + "documentation":"

A list of user accounts whose documents should be indexed.

" + }, + "InclusionPatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of regular expression patterns. Documents that match the pattern are included in the index. Documents that don't match the pattern are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The exclusion pattern is applied to the file name.

" + }, + "ExclusionPatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

List of regular expressions applied to documents. Items that match the exclusion pattern are not indexed. If you provide both an inclusion pattern and an exclusion pattern, any item that matches the exclusion pattern isn't indexed.

The exclusion pattern is applied to the file name.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

A list of DataSourceToIndexFieldMapping objects that map Microsoft OneDrive fields to custom fields in the Amazon Kendra index. You must first create the index fields before you map OneDrive fields.

" + } + }, + "documentation":"

Provides configuration information for data sources that connect to OneDrive.

" + }, + "OneDriveUser":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^(?!\\s).+@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$" + }, + "OneDriveUserList":{ + "type":"list", + "member":{"shape":"OneDriveUser"}, + "max":100, + "min":1 + }, + "OneDriveUsers":{ + "type":"structure", + "members":{ + "OneDriveUserList":{ + "shape":"OneDriveUserList", + "documentation":"

A list of users whose documents should be indexed. Specify the user names in email format, for example, username@tenantdomain. If you need to index the documents of more than 100 users, use the OneDriveUserS3Path field to specify the location of a file containing a list of users.

" + }, + "OneDriveUserS3Path":{ + "shape":"S3Path", + "documentation":"

The S3 bucket location of a file containing a list of users whose documents should be indexed.

" + } + }, + "documentation":"

User accounts whose documents should be indexed.

" + }, + "Order":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "Principal":{ + "type":"structure", + "required":[ + "Name", + "Type", + "Access" + ], + "members":{ + "Name":{ + "shape":"PrincipalName", + "documentation":"

The name of the user or group.

" + }, + "Type":{ + "shape":"PrincipalType", + "documentation":"

The type of principal.

" + }, + "Access":{ + "shape":"ReadAccessType", + "documentation":"

Whether to allow or deny access to the principal.

" + } + }, + "documentation":"

Provides user and group information for document access filtering.

" + }, + "PrincipalList":{ + "type":"list", + "member":{"shape":"Principal"} + }, + "PrincipalName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^\\P{C}*$" + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "USER", + "GROUP" + ] + }, + "QueryCapacityUnit":{ + "type":"integer", + "min":0 + }, + "QueryId":{ + "type":"string", + "max":36, + "min":1 + }, + "QueryRequest":{ + "type":"structure", + "required":[ + "IndexId", + "QueryText" + ], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The unique identifier of the index to search. The identifier is returned in the response from the operation.

" + }, + "QueryText":{ + "shape":"QueryText", + "documentation":"

The text to search for.

" + }, + "AttributeFilter":{ + "shape":"AttributeFilter", + "documentation":"

Enables filtered searches based on document attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters.

The AttributeFilter parameter enables you to create a set of filtering rules that a document must satisfy to be included in the query results.

" + }, + "Facets":{ + "shape":"FacetList", + "documentation":"

An array of documents attributes. Amazon Kendra returns a count for each attribute key specified. You can use this information to help narrow the search for your user.

" + }, + "RequestedDocumentAttributes":{ + "shape":"DocumentAttributeKeyList", + "documentation":"

An array of document attributes to include in the response. No other document attributes are included in the response. By default all document attributes are included in the response.

" + }, + "QueryResultTypeFilter":{ + "shape":"QueryResultType", + "documentation":"

Sets the type of query. Only results for the specified query type are returned.

" + }, + "PageNumber":{ + "shape":"Integer", + "documentation":"

Query results are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

" + }, + "PageSize":{ + "shape":"Integer", + "documentation":"

Sets the number of results that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

" + } + } + }, + "QueryResult":{ + "type":"structure", + "members":{ + "QueryId":{ + "shape":"QueryId", + "documentation":"

The unique identifier for the search. You use QueryId to identify the search when using the feedback API.

" + }, + "ResultItems":{ + "shape":"QueryResultItemList", + "documentation":"

The results of the search.

" + }, + "FacetResults":{ + "shape":"FacetResultList", + "documentation":"

Contains the facet results. A FacetResult contains the counts for each attribute key that was specified in the Facets input parameter.

" + }, + "TotalNumberOfResults":{ + "shape":"Integer", + "documentation":"

The number of items returned by the search. Use this to determine when you have requested the last set of results.

" + } + } + }, + "QueryResultItem":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResultId", + "documentation":"

The unique identifier for the query result.

" + }, + "Type":{ + "shape":"QueryResultType", + "documentation":"

The type of document.

" + }, + "AdditionalAttributes":{ + "shape":"AdditionalResultAttributeList", + "documentation":"

One or more additional attribues associated with the query result.

" + }, + "DocumentId":{ + "shape":"DocumentId", + "documentation":"

The unique identifier for the document.

" + }, + "DocumentTitle":{ + "shape":"TextWithHighlights", + "documentation":"

The title of the document. Contains the text of the title and information for highlighting the relevant terms in the title.

" + }, + "DocumentExcerpt":{ + "shape":"TextWithHighlights", + "documentation":"

An extract of the text in the document. Contains information about highlighting the relevant terms in the excerpt.

" + }, + "DocumentURI":{ + "shape":"Url", + "documentation":"

The URI of the original location of the document.

" + }, + "DocumentAttributes":{ + "shape":"DocumentAttributeList", + "documentation":"

An array of document attributes for the document that the query result maps to. For example, the document author (Author) or the source URI (SourceUri) of the document.

" + } + }, + "documentation":"

A single query result.

A query result contains information about a document returned by the query. This includes the original location of the document, a list of attributes assigned to the document, and relevant text from the document that satisfies the query.

" + }, + "QueryResultItemList":{ + "type":"list", + "member":{"shape":"QueryResultItem"} + }, + "QueryResultType":{ + "type":"string", + "enum":[ + "DOCUMENT", + "QUESTION_ANSWER", + "ANSWER" + ] + }, + "QueryText":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^\\P{C}*$" + }, + "ReadAccessType":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "Relevance":{ + "type":"structure", + "members":{ + "Freshness":{ + "shape":"DocumentMetadataBoolean", + "documentation":"

Indicates that this field determines how \"fresh\" a document is. For example, if document 1 was created on November 5, and document 2 was created on October 31, document 1 is \"fresher\" than document 2. You can only set the Freshness field on one DATE type field. Only applies to DATE fields.

" + }, + "Importance":{ + "shape":"Importance", + "documentation":"

The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers.

" + }, + "Duration":{ + "shape":"Duration", + "documentation":"

Specifies the time period that the boost applies to. For example, to make the boost apply to documents with the field value within the last month, you would use \"2628000s\". Once the field value is beyond the specified range, the effect of the boost drops off. The higher the importance, the faster the effect drops off. If you don't specify a value, the default is 3 months. The value of the field is a numeric string followed by the character \"s\", for example \"86400s\" for one day, or \"604800s\" for one week.

Only applies to DATE fields.

" + }, + "RankOrder":{ + "shape":"Order", + "documentation":"

Determines how values should be interpreted.

When the RankOrder field is ASCENDING, higher numbers are better. For example, a document with a rating score of 10 is higher ranking than a document with a rating score of 1.

When the RankOrder field is DESCENDING, lower numbers are better. For example, in a task tracking application, a priority 1 task is more important than a priority 5 task.

Only applies to LONG and DOUBLE fields.

" + }, + "ValueImportanceMap":{ + "shape":"ValueImportanceMap", + "documentation":"

A list of values that should be given a different boost when they appear in the result list. For example, if you are boosting a field called \"department,\" query terms that match the department field are boosted in the result. However, you can add entries from the department field to boost documents with those values higher.

For example, you can add entries to the map with names of departments. If you add \"HR\",5 and \"Legal\",3 those departments are given special attention when they appear in the metadata of a document. When those terms appear they are given the specified importance instead of the regular importance for the boost.

" + } + }, + "documentation":"

Provides information for manually tuning the relevance of a field in a search. When a query includes terms that match the field, the results are given a boost in the response based on these tuning parameters.

" + }, + "RelevanceFeedback":{ + "type":"structure", + "required":[ + "ResultId", + "RelevanceValue" + ], + "members":{ + "ResultId":{ + "shape":"ResultId", + "documentation":"

The unique identifier of the search result that the user provided relevance feedback for.

" + }, + "RelevanceValue":{ + "shape":"RelevanceType", + "documentation":"

Whether to document was relevant or not relevant to the search.

" + } + }, + "documentation":"

Provides feedback on how relevant a document is to a search. Your application uses the SubmitFeedback operation to provide relevance information.

" + }, + "RelevanceFeedbackList":{ + "type":"list", + "member":{"shape":"RelevanceFeedback"} + }, + "RelevanceType":{ + "type":"string", + "enum":[ + "RELEVANT", + "NOT_RELEVANT" + ] + }, + "ResourceAlreadyExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResourceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ResultId":{ + "type":"string", + "max":73, + "min":1 + }, + "RoleArn":{ + "type":"string", + "max":1284, + "min":1, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "S3BucketName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]" + }, + "S3DataSourceConfiguration":{ + "type":"structure", + "required":["BucketName"], + "members":{ + "BucketName":{ + "shape":"S3BucketName", + "documentation":"

The name of the bucket that contains the documents.

" + }, + "InclusionPrefixes":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of S3 prefixes for the documents that should be included in the index.

" + }, + "ExclusionPatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of glob patterns for documents that should not be indexed. If a document that matches an inclusion prefix also matches an exclusion pattern, the document is not indexed.

For more information about glob patterns, see glob (programming) in Wikipedia.

" + }, + "DocumentsMetadataConfiguration":{"shape":"DocumentsMetadataConfiguration"}, + "AccessControlListConfiguration":{ + "shape":"AccessControlListConfiguration", + "documentation":"

Provides the path to the S3 bucket that contains the user context filtering files for the data source.

" + } + }, + "documentation":"

Provides configuration information for a data source to index documents in an Amazon S3 bucket.

" + }, + "S3ObjectKey":{ + "type":"string", + "max":1024, + "min":1 + }, + "S3Path":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"S3BucketName", + "documentation":"

The name of the S3 bucket that contains the file.

" + }, + "Key":{ + "shape":"S3ObjectKey", + "documentation":"

The name of the file.

" + } + }, + "documentation":"

Information required to find a specific file in an Amazon S3 bucket.

" + }, + "SalesforceChatterFeedConfiguration":{ + "type":"structure", + "required":["DocumentDataFieldName"], + "members":{ + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the column in the Salesforce FeedItem table that contains the content to index. Typically this is the Body column.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the column in the Salesforce FeedItem table that contains the title of the document. This is typically the Title collumn.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

Maps fields from a Salesforce chatter feed into Amazon Kendra index fields.

" + }, + "IncludeFilterTypes":{ + "shape":"SalesforceChatterFeedIncludeFilterTypes", + "documentation":"

Filters the documents in the feed based on status of the user. When you specify ACTIVE_USERS only documents from users who have an active account are indexed. When you specify STANDARD_USER only documents for Salesforce standard users are documented. You can specify both.

" + } + }, + "documentation":"

Defines configuration for syncing a Salesforce chatter feed. The contents of the object comes from the Salesforce FeedItem table.

" + }, + "SalesforceChatterFeedIncludeFilterType":{ + "type":"string", + "enum":[ + "ACTIVE_USER", + "STANDARD_USER" + ] + }, + "SalesforceChatterFeedIncludeFilterTypes":{ + "type":"list", + "member":{"shape":"SalesforceChatterFeedIncludeFilterType"}, + "max":2, + "min":1 + }, + "SalesforceConfiguration":{ + "type":"structure", + "required":[ + "ServerUrl", + "SecretArn" + ], + "members":{ + "ServerUrl":{ + "shape":"Url", + "documentation":"

The instance URL for the Salesforce site that you want to index.

" + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

The Amazon Resource Name (ARN) of an AWS Secrets Manager secret that contains the key/value pairs required to connect to your Salesforce instance. The secret must contain a JSON structure with the following keys:

  • authenticationUrl - The OAUTH endpoint that Amazon Kendra connects to get an OAUTH token.

  • consumerKey - The application public key generated when you created your Salesforce application.

  • consumerSecret - The application private key generated when you created your Salesforce application.

  • password - The password associated with the user logging in to the Salesforce instance.

  • securityToken - The token associated with the user account logging in to the Salesforce instance.

  • username - The user name of the user logging in to the Salesforce instance.

" + }, + "StandardObjectConfigurations":{ + "shape":"SalesforceStandardObjectConfigurationList", + "documentation":"

Specifies the Salesforce standard objects that Amazon Kendra indexes.

" + }, + "KnowledgeArticleConfiguration":{ + "shape":"SalesforceKnowledgeArticleConfiguration", + "documentation":"

Specifies configuration information for the knowlege article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both.

" + }, + "ChatterFeedConfiguration":{ + "shape":"SalesforceChatterFeedConfiguration", + "documentation":"

Specifies configuration information for Salesforce chatter feeds.

" + }, + "CrawlAttachments":{ + "shape":"Boolean", + "documentation":"

Indicates whether Amazon Kendra should index attachments to Salesforce objects.

" + }, + "StandardObjectAttachmentConfiguration":{ + "shape":"SalesforceStandardObjectAttachmentConfiguration", + "documentation":"

Provides configuration information for processing attachments to Salesforce standard objects.

" + }, + "IncludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of regular expression patterns. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The regex is applied to the name of the attached file.

" + }, + "ExcludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of regular expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the name of the attached file.

" + } + }, + "documentation":"

Provides configuration information for connecting to a Salesforce data source.

" + }, + "SalesforceCustomKnowledgeArticleTypeConfiguration":{ + "type":"structure", + "required":[ + "Name", + "DocumentDataFieldName" + ], + "members":{ + "Name":{ + "shape":"SalesforceCustomKnowledgeArticleTypeName", + "documentation":"

The name of the configuration.

" + }, + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field in the custom knowledge article that contains the document data to index.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field in the custom knowledge article that contains the document title.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

One or more objects that map fields in the custom knowledge article to fields in the Amazon Kendra index.

" + } + }, + "documentation":"

Provides configuration information for indexing Salesforce custom articles.

" + }, + "SalesforceCustomKnowledgeArticleTypeConfigurationList":{ + "type":"list", + "member":{"shape":"SalesforceCustomKnowledgeArticleTypeConfiguration"}, + "max":10, + "min":1 + }, + "SalesforceCustomKnowledgeArticleTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "SalesforceKnowledgeArticleConfiguration":{ + "type":"structure", + "required":["IncludedStates"], + "members":{ + "IncludedStates":{ + "shape":"SalesforceKnowledgeArticleStateList", + "documentation":"

Specifies the document states that should be included when Amazon Kendra indexes knowledge articles. You must specify at least one state.

" + }, + "StandardKnowledgeArticleTypeConfiguration":{ + "shape":"SalesforceStandardKnowledgeArticleTypeConfiguration", + "documentation":"

Provides configuration information for standard Salesforce knowledge articles.

" + }, + "CustomKnowledgeArticleTypeConfigurations":{ + "shape":"SalesforceCustomKnowledgeArticleTypeConfigurationList", + "documentation":"

Provides configuration information for custom Salesforce knowledge articles.

" + } + }, + "documentation":"

Specifies configuration information for the knowlege article types that Amazon Kendra indexes. Amazon Kendra indexes standard knowledge articles and the standard fields of knowledge articles, or the custom fields of custom knowledge articles, but not both

" + }, + "SalesforceKnowledgeArticleState":{ + "type":"string", + "enum":[ + "DRAFT", + "PUBLISHED", + "ARCHIVED" + ] + }, + "SalesforceKnowledgeArticleStateList":{ + "type":"list", + "member":{"shape":"SalesforceKnowledgeArticleState"}, + "max":3, + "min":1 + }, + "SalesforceStandardKnowledgeArticleTypeConfiguration":{ + "type":"structure", + "required":["DocumentDataFieldName"], + "members":{ + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field that contains the document data to index.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field that contains the document title.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

One or more objects that map fields in the knowledge article to Amazon Kendra index fields. The index field must exist before you can map a Salesforce field to it.

" + } + }, + "documentation":"

Provides configuration information for standard Salesforce knowledge articles.

" + }, + "SalesforceStandardObjectAttachmentConfiguration":{ + "type":"structure", + "members":{ + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field used for the document title.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

One or more objects that map fields in attachments to Amazon Kendra index fields.

" + } + }, + "documentation":"

Provides configuration information for processing attachments to Salesforce standard objects.

" + }, + "SalesforceStandardObjectConfiguration":{ + "type":"structure", + "required":[ + "Name", + "DocumentDataFieldName" + ], + "members":{ + "Name":{ + "shape":"SalesforceStandardObjectName", + "documentation":"

The name of the standard object.

" + }, + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field in the standard object table that contains the document contents.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the field in the standard object table that contains the document titleB.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

One or more objects that map fields in the standard object to Amazon Kendra index fields. The index field must exist before you can map a Salesforce field to it.

" + } + }, + "documentation":"

Specifies confguration information for indexing a single standard object.

" + }, + "SalesforceStandardObjectConfigurationList":{ + "type":"list", + "member":{"shape":"SalesforceStandardObjectConfiguration"}, + "max":17, + "min":1 + }, + "SalesforceStandardObjectName":{ + "type":"string", + "enum":[ + "ACCOUNT", + "CAMPAIGN", + "CASE", + "CONTACT", + "CONTRACT", + "DOCUMENT", + "GROUP", + "IDEA", + "LEAD", + "OPPORTUNITY", + "PARTNER", + "PRICEBOOK", + "PRODUCT", + "PROFILE", + "SOLUTION", + "TASK", + "USER" + ] + }, + "ScanSchedule":{"type":"string"}, + "Search":{ + "type":"structure", + "members":{ + "Facetable":{ + "shape":"Boolean", + "documentation":"

Indicates that the field can be used to create search facets, a count of results for each value in the field. The default is false .

" + }, + "Searchable":{ + "shape":"Boolean", + "documentation":"

Determines whether the field is used in the search. If the Searchable field is true, you can use relevance tuning to manually tune how Amazon Kendra weights the field in the search. The default is true for string fields and false for number and date fields.

" + }, + "Displayable":{ + "shape":"Boolean", + "documentation":"

Determines whether the field is returned in the query response. The default is true.

" + } + }, + "documentation":"

Provides information about how a custom index field is used during a search.

" + }, + "SecretArn":{ + "type":"string", + "max":1284, + "min":1, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"VpcSecurityGroupId"}, + "max":10, + "min":1 + }, + "ServerSideEncryptionConfiguration":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The identifier of the AWS KMS customer master key (CMK). Amazon Kendra doesn't support asymmetric CMKs.

" + } + }, + "documentation":"

Provides the identifier of the AWS KMS customer master key (CMK) used to encrypt data indexed by Amazon Kendra. Amazon Kendra doesn't support asymmetric CMKs.

" + }, + "ServiceNowBuildVersionType":{ + "type":"string", + "enum":[ + "LONDON", + "OTHERS" + ] + }, + "ServiceNowConfiguration":{ + "type":"structure", + "required":[ + "HostUrl", + "SecretArn", + "ServiceNowBuildVersion" + ], + "members":{ + "HostUrl":{ + "shape":"ServiceNowHostUrl", + "documentation":"

The ServiceNow instance that the data source connects to. The host endpoint should look like the following: {instance}.service-now.com.

" + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS Secret Manager secret that contains the user name and password required to connect to the ServiceNow instance.

" + }, + "ServiceNowBuildVersion":{ + "shape":"ServiceNowBuildVersionType", + "documentation":"

The identifier of the release that the ServiceNow host is running. If the host is not running the LONDON release, use OTHERS.

" + }, + "KnowledgeArticleConfiguration":{ + "shape":"ServiceNowKnowledgeArticleConfiguration", + "documentation":"

Provides configuration information for crawling knowledge articles in the ServiceNow site.

" + }, + "ServiceCatalogConfiguration":{ + "shape":"ServiceNowServiceCatalogConfiguration", + "documentation":"

Provides configuration information for crawling service catalogs in the ServiceNow site.

" + } + }, + "documentation":"

Provides configuration information required to connect to a ServiceNow data source.

" + }, + "ServiceNowHostUrl":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(?!(^(https?|ftp|file):\\/\\/))[a-z0-9-]+(\\.service-now\\.com)$" + }, + "ServiceNowKnowledgeArticleConfiguration":{ + "type":"structure", + "required":["DocumentDataFieldName"], + "members":{ + "CrawlAttachments":{ + "shape":"Boolean", + "documentation":"

Indicates whether Amazon Kendra should index attachments to knowledge articles.

" + }, + "IncludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

List of regular expressions applied to knowledge articles. Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the PatternTargetField.

" + }, + "ExcludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

List of regular expressions applied to knowledge articles. Items that don't match the inclusion pattern are not indexed. The regex is applied to the field specified in the PatternTargetField

" + }, + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the ServiceNow field that is mapped to the index document title field.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index field before you map the field.

" + } + }, + "documentation":"

Provides configuration information for crawling knowledge articles in the ServiceNow site.

" + }, + "ServiceNowServiceCatalogConfiguration":{ + "type":"structure", + "required":["DocumentDataFieldName"], + "members":{ + "CrawlAttachments":{ + "shape":"Boolean", + "documentation":"

Indicates whether Amazon Kendra should crawl attachments to the service catalog items.

" + }, + "IncludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

Determines the types of file attachments that are included in the index.

" + }, + "ExcludeAttachmentFilePatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

Determines the types of file attachments that are excluded from the index.

" + }, + "DocumentDataFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the ServiceNow field that is mapped to the index document contents field in the Amazon Kendra index.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The name of the ServiceNow field that is mapped to the index document title field.

" + }, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

Mapping between ServiceNow fields and Amazon Kendra index fields. You must create the index field before you map the field.

" + } + }, + "documentation":"

Provides configuration information for crawling service catalog items in the ServiceNow site

" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "SharePointConfiguration":{ + "type":"structure", + "required":[ + "SharePointVersion", + "Urls", + "SecretArn" + ], + "members":{ + "SharePointVersion":{ + "shape":"SharePointVersion", + "documentation":"

The version of Microsoft SharePoint that you are using as a data source.

" + }, + "Urls":{ + "shape":"SharePointUrlList", + "documentation":"

The URLs of the Microsoft SharePoint site that contains the documents that should be indexed.

" + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

The Amazon Resource Name (ARN) of credentials stored in AWS Secrets Manager. The credentials should be a user/password pair. For more information, see Using a Microsoft SharePoint Data Source. For more information about AWS Secrets Manager, see What Is AWS Secrets Manager in the AWS Secrets Manager user guide.

" + }, + "CrawlAttachments":{ + "shape":"Boolean", + "documentation":"

TRUE to include attachments to documents stored in your Microsoft SharePoint site in the index; otherwise, FALSE.

" + }, + "UseChangeLog":{ + "shape":"Boolean", + "documentation":"

Set to TRUE to use the Microsoft SharePoint change log to determine the documents that need to be updated in the index. Depending on the size of the SharePoint change log, it may take longer for Amazon Kendra to use the change log than it takes it to determine the changed documents using the Amazon Kendra document crawler.

" + }, + "InclusionPatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of regular expression patterns. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion pattern and an exclusion pattern, the document is not included in the index.

The regex is applied to the display URL of the SharePoint document.

" + }, + "ExclusionPatterns":{ + "shape":"DataSourceInclusionsExclusionsStrings", + "documentation":"

A list of regulary expression patterns. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an exclusion pattern and an inclusion pattern, the document is not included in the index.

The regex is applied to the display URL of the SharePoint document.

" + }, + "VpcConfiguration":{"shape":"DataSourceVpcConfiguration"}, + "FieldMappings":{ + "shape":"DataSourceToIndexFieldMappingList", + "documentation":"

A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint attributes to custom fields in the Amazon Kendra index. You must first create the index fields using the operation before you map SharePoint attributes. For more information, see Mapping Data Source Fields.

" + }, + "DocumentTitleFieldName":{ + "shape":"DataSourceFieldName", + "documentation":"

The Microsoft SharePoint attribute field that contains the title of the document.

" + } + }, + "documentation":"

Provides configuration information for connecting to a Microsoft SharePoint data source.

" + }, + "SharePointUrlList":{ + "type":"list", + "member":{"shape":"Url"}, + "max":100, + "min":1 + }, + "SharePointVersion":{ + "type":"string", + "enum":["SHAREPOINT_ONLINE"] + }, + "StartDataSourceSyncJobRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The identifier of the data source to synchronize.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + } + } + }, + "StartDataSourceSyncJobResponse":{ + "type":"structure", + "members":{ + "ExecutionId":{ + "shape":"String", + "documentation":"

Identifies a particular synchronization job.

" + } + } + }, + "StopDataSourceSyncJobRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The identifier of the data source for which to stop the synchronization jobs.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source.

" + } + } + }, + "StorageCapacityUnit":{ + "type":"integer", + "min":0 + }, + "String":{ + "type":"string", + "max":2048, + "min":1 + }, + "SubmitFeedbackRequest":{ + "type":"structure", + "required":[ + "IndexId", + "QueryId" + ], + "members":{ + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that was queried.

" + }, + "QueryId":{ + "shape":"QueryId", + "documentation":"

The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the operation.

" + }, + "ClickFeedbackItems":{ + "shape":"ClickFeedbackList", + "documentation":"

Tells Amazon Kendra that a particular search result link was chosen by the user.

" + }, + "RelevanceFeedbackItems":{ + "shape":"RelevanceFeedbackList", + "documentation":"

Provides Amazon Kendra with relevant or not relevant feedback for whether a particular item was relevant to the search.

" + } + } + }, + "SubnetId":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[\\-0-9a-zA-Z]+" + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":6, + "min":1 + }, + "TableName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9_]*$" + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key for the tag. Keys are not case sensitive and must be unique for the index, FAQ, or data source.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value associated with the tag. The value may be an empty string but it can't be null.

" + } + }, + "documentation":"

A list of key/value pairs that identify an index, FAQ, or data source. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the index, FAQ, or data source to tag.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tag keys to add to the index, FAQ, or data source. If a tag already exists, the existing value is replaced with the new value.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TenantDomain":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([a-zA-Z0-9]+(-[a-zA-Z0-9]+)*\\.)+[a-z]{2,}$" + }, + "TextDocumentStatistics":{ + "type":"structure", + "required":[ + "IndexedTextDocumentsCount", + "IndexedTextBytes" + ], + "members":{ + "IndexedTextDocumentsCount":{ + "shape":"IndexedTextDocumentsCount", + "documentation":"

The number of text documents indexed.

" + }, + "IndexedTextBytes":{ + "shape":"IndexedTextBytes", + "documentation":"

The total size, in bytes, of the indexed documents.

" + } + }, + "documentation":"

Provides information about text documents indexed in an index.

" + }, + "TextWithHighlights":{ + "type":"structure", + "members":{ + "Text":{ + "shape":"String", + "documentation":"

The text to display to the user.

" + }, + "Highlights":{ + "shape":"HighlightList", + "documentation":"

The beginning and end of the text that should be highlighted.

" + } + }, + "documentation":"

Provides text and information about where to highlight the text.

" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "TimeRange":{ + "type":"structure", + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime of the beginning of the time range.

" + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

The UNIX datetime of the end of the time range.

" + } + }, + "documentation":"

Provides a range of time.

" + }, + "Timestamp":{"type":"timestamp"}, + "Title":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the index, FAQ, or data source to remove the tag from.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys to remove from the index, FAQ, or data source. If a tag key does not exist on the resource, it is ignored.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDataSourceRequest":{ + "type":"structure", + "required":[ + "Id", + "IndexId" + ], + "members":{ + "Id":{ + "shape":"DataSourceId", + "documentation":"

The unique identifier of the data source to update.

" + }, + "Name":{ + "shape":"DataSourceName", + "documentation":"

The name of the data source to update. The name of the data source can't be updated. To rename a data source you must delete the data source and re-create it.

" + }, + "IndexId":{ + "shape":"IndexId", + "documentation":"

The identifier of the index that contains the data source to update.

" + }, + "Configuration":{"shape":"DataSourceConfiguration"}, + "Description":{ + "shape":"Description", + "documentation":"

The new description for the data source.

" + }, + "Schedule":{ + "shape":"ScanSchedule", + "documentation":"

The new update schedule for the data source.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the new role to use when the data source is accessing resources on your behalf.

" + } + } + }, + "UpdateIndexRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"IndexId", + "documentation":"

The identifier of the index to update.

" + }, + "Name":{ + "shape":"IndexName", + "documentation":"

The name of the index to update.

" + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

A new IAM role that gives Amazon Kendra permission to access your Amazon CloudWatch logs.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

A new description for the index.

" + }, + "DocumentMetadataConfigurationUpdates":{ + "shape":"DocumentMetadataConfigurationList", + "documentation":"

The document metadata to update.

" + }, + "CapacityUnits":{ + "shape":"CapacityUnitsConfiguration", + "documentation":"

Sets the number of addtional storage and query capacity units that should be used by the index. You can change the capacity of the index up to 5 times per day.

If you are using extra storage units, you can't reduce the storage capacity below that required to meet the storage needs for your index.

" + } + } + }, + "Url":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(https?|ftp|file):\\/\\/([^\\s]*)" + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

", + "exception":true + }, + "ValueImportanceMap":{ + "type":"map", + "key":{"shape":"ValueImportanceMapKey"}, + "value":{"shape":"Importance"} + }, + "ValueImportanceMapKey":{ + "type":"string", + "max":50, + "min":1 + }, + "VpcSecurityGroupId":{ + "type":"string", + "max":200, + "min":1, + "pattern":"[-0-9a-zA-Z]+" + } + }, + "documentation":"

Amazon Kendra is a service for indexing large document sets.

" +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/examples-1.json python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/examples-1.json --- python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -11,7 +11,10 @@ "StreamDescription.StreamName", "StreamDescription.StreamStatus", "StreamDescription.RetentionPeriodHours", - "StreamDescription.EnhancedMonitoring" + "StreamDescription.EnhancedMonitoring", + "StreamDescription.EncryptionType", + "StreamDescription.KeyId", + "StreamDescription.StreamCreationTimestamp" ] }, "ListStreams": { @@ -20,6 +23,18 @@ "more_results": "HasMoreStreams", "output_token": "StreamNames[-1]", "result_key": "StreamNames" + }, + "ListShards": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Shards" + }, + "ListStreamConsumers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Consumers" } } } diff -Nru python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/service-2.json --- python-botocore-1.4.70/botocore/data/kinesis/2013-12-02/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis/2013-12-02/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,10 +5,13 @@ "endpointPrefix":"kinesis", "jsonVersion":"1.1", "protocol":"json", + "protocolSettings":{"h2":"eventstream"}, "serviceAbbreviation":"Kinesis", "serviceFullName":"Amazon Kinesis", + "serviceId":"Kinesis", "signatureVersion":"v4", - "targetPrefix":"Kinesis_20131202" + "targetPrefix":"Kinesis_20131202", + "uid":"kinesis-2013-12-02" }, "operations":{ "AddTagsToStream":{ @@ -24,7 +27,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Adds or updates tags for the specified Amazon Kinesis stream. Each stream can have up to 10 tags.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

" + "documentation":"

Adds or updates tags for the specified Kinesis data stream. Each time you invoke this operation, you can specify up to 10 tags. If you want to add more than 10 tags to your stream, you can invoke this operation multiple times. In total, each stream can have up to 50 tags.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

AddTagsToStream has a limit of five transactions per second per account.

" }, "CreateStream":{ "name":"CreateStream", @@ -38,7 +41,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Creates an Amazon Kinesis stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to 5 transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You can add shards to a stream if the amount of data input increases and you can remove shards if the amount of data input decreases.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Amazon Kinesis immediately returns and sets the stream status to CREATING. After the stream is created, Amazon Kinesis sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request if you try to do one of the following:

  • Have more than five streams in the CREATING state at any point in time.
  • Create more shards than are authorized for your account.

For the default shard limit for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. If you need to increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of 5 transactions per second per account.

" + "documentation":"

Creates a Kinesis data stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2 MB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. If the amount of data input increases or decreases, you can add or remove shards.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by AWS Region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different Regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request when you try to do one of the following:

  • Have more than five streams in the CREATING state at any point in time.

  • Create more shards than are authorized for your account.

For the default shard limit for an AWS account, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of five transactions per second per account.

" }, "DecreaseStreamRetentionPeriod":{ "name":"DecreaseStreamRetentionPeriod", @@ -53,7 +56,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Decreases the Amazon Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours.

This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

" + "documentation":"

Decreases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours.

This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

" }, "DeleteStream":{ "name":"DeleteStream", @@ -64,9 +67,37 @@ "input":{"shape":"DeleteStreamInput"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a Kinesis data stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it receives the exception ResourceNotFoundException.

If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

Note: Kinesis Data Streams might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete.

When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

You can use the DescribeStream operation to check the state of the stream, which is returned in StreamStatus.

DeleteStream has a limit of five transactions per second per account.

" + }, + "DeregisterStreamConsumer":{ + "name":"DeregisterStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterStreamConsumerInput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

To deregister a consumer, provide its ARN. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its name and ARN.

This operation has a limit of five transactions per second per account.

" + }, + "DescribeLimits":{ + "name":"DescribeLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLimitsInput"}, + "output":{"shape":"DescribeLimitsOutput"}, + "errors":[ {"shape":"LimitExceededException"} ], - "documentation":"

Deletes an Amazon Kinesis stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it will receive the exception ResourceNotFoundException.

If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Amazon Kinesis completes the deletion.

Note: Amazon Kinesis might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete.

When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

You can use the DescribeStream operation to check the state of the stream, which is returned in StreamStatus.

DeleteStream has a limit of 5 transactions per second per account.

" + "documentation":"

Describes the shard limits and usage for the account.

If you update your account limits, the old limits might be returned for a few minutes.

This operation has a limit of one transaction per second per account.

" }, "DescribeStream":{ "name":"DescribeStream", @@ -80,7 +111,36 @@ {"shape":"ResourceNotFoundException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Describes the specified Amazon Kinesis stream.

The information about the stream includes its current status, its Amazon Resource Name (ARN), and an array of shard objects. For each shard object, there is information about the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. A sequence number is the identifier associated with every record ingested in the stream. The sequence number is assigned when a record is put into the stream.

You can limit the number of returned shards using the Limit parameter. The number of shards in a stream may be too large to return from a single call to DescribeStream. You can detect this by using the HasMoreShards flag in the returned output. HasMoreShards is set to true when there is more data available.

DescribeStream is a paginated operation. If there are more shards available, you can request them using the shard ID of the last shard returned. Specify this ID in the ExclusiveStartShardId parameter in a subsequent request to DescribeStream.

There are no guarantees about the chronological order shards returned in DescribeStream results. If you want to process shards in chronological order, use ParentShardId to track lineage to the oldest shard.

DescribeStream has a limit of 10 transactions per second per account.

" + "documentation":"

Describes the specified Kinesis data stream.

The information returned includes the stream name, Amazon Resource Name (ARN), creation time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. For each shard object, there is the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. Every record ingested in the stream is identified by a sequence number, which is assigned when the record is put into the stream.

You can limit the number of shards returned by each call. For more information, see Retrieving Shards from a Stream in the Amazon Kinesis Data Streams Developer Guide.

There are no guarantees about the chronological order shards returned. To process shards in chronological order, use the ID of the parent shard to track the lineage to the oldest shard.

This operation has a limit of 10 transactions per second per account.

" + }, + "DescribeStreamConsumer":{ + "name":"DescribeStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStreamConsumerInput"}, + "output":{"shape":"DescribeStreamConsumerOutput"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

To get the description of a registered consumer, provide the ARN of the consumer. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to describe, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream.

This operation has a limit of 20 transactions per second per account.

" + }, + "DescribeStreamSummary":{ + "name":"DescribeStreamSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStreamSummaryInput"}, + "output":{"shape":"DescribeStreamSummaryOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Provides a summarized description of the specified Kinesis data stream without the shard list.

The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation time, monitoring, encryption details, and open shard count.

" }, "DisableEnhancedMonitoring":{ "name":"DisableEnhancedMonitoring", @@ -112,7 +172,7 @@ {"shape":"ResourceInUseException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Enables enhanced Amazon Kinesis stream monitoring for shard-level metrics.

" + "documentation":"

Enables enhanced Kinesis data stream monitoring for shard-level metrics.

" }, "GetRecords":{ "name":"GetRecords", @@ -126,9 +186,15 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArgumentException"}, {"shape":"ProvisionedThroughputExceededException"}, - {"shape":"ExpiredIteratorException"} + {"shape":"ExpiredIteratorException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"} ], - "documentation":"

Gets data records from an Amazon Kinesis stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. Note that it might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Streams Limits in the Amazon Kinesis Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. Note that if the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MB in size, and each shard can read up to 2 MB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit.

The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the shard, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. Note that GetRecords won't return any data when it throws an exception. For this reason, we recommend that you wait one second between calls to GetRecords; however, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side timestamp, whereas a client-side timestamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The timestamp has millisecond precision. There are no guarantees about the timestamp accuracy, or that the timestamp is always increasing. For example, records in a shard or across a stream might have timestamps that are out of order.

" + "documentation":"

Gets data records from a Kinesis data stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MiB in size, and each shard can read up to 2 MiB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The maximum number of records that can be returned per call is 10,000.

The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MiB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the stream, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't return any data when it throws an exception. For this reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Data Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side time stamp, whereas a client-side time stamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The time stamp has millisecond precision. There are no guarantees about the time stamp accuracy, or that the time stamp is always increasing. For example, records in a shard or across a stream might have time stamps that are out of order.

This operation has a limit of five transactions per second per account.

" }, "GetShardIterator":{ "name":"GetShardIterator", @@ -143,7 +209,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"ProvisionedThroughputExceededException"} ], - "documentation":"

Gets an Amazon Kinesis shard iterator. A shard iterator expires five minutes after it is returned to the requester.

A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type, or right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers returned by earlier calls to PutRecord, PutRecords, GetRecords, or DescribeStream. In the request, you can specify the shard iterator type AT_TIMESTAMP to read records from an arbitrary point in time, TRIM_HORIZON to cause ShardIterator to point to the last untrimmed record in the shard in the system (the oldest data record in the shard), or LATEST so that you always read the most recent data in the shard.

When you read repeatedly from a stream, use a GetShardIterator request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard iterator is returned by every GetRecords request in NextShardIterator, which you use in the ShardIterator parameter of the next GetRecords request.

If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. For more information about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Streams Developer Guide.

If the shard is closed, GetShardIterator returns a valid iterator for the last sequence number of the shard. Note that a shard can be closed as a result of using SplitShard or MergeShards.

GetShardIterator has a limit of 5 transactions per second per account per open shard.

" + "documentation":"

Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it is returned to the requester.

A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. Alternatively, the parameter can read right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers returned by earlier calls to PutRecord, PutRecords, GetRecords, or DescribeStream. In the request, you can specify the shard iterator type AT_TIMESTAMP to read records from an arbitrary point in time, TRIM_HORIZON to cause ShardIterator to point to the last untrimmed record in the shard in the system (the oldest data record in the shard), or LATEST so that you always read the most recent data in the shard.

When you read repeatedly from a stream, use a GetShardIterator request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard iterator is returned by every GetRecords request in NextShardIterator, which you use in the ShardIterator parameter of the next GetRecords request.

If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. For more information about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Data Streams Developer Guide.

If the shard is closed, GetShardIterator returns a valid iterator for the last sequence number of the shard. A shard can be closed as a result of using SplitShard or MergeShards.

GetShardIterator has a limit of five transactions per second per account per open shard.

" }, "IncreaseStreamRetentionPeriod":{ "name":"IncreaseStreamRetentionPeriod", @@ -158,7 +224,41 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidArgumentException"} ], - "documentation":"

Increases the Amazon Kinesis stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days).

Upon choosing a longer stream retention period, this operation will increase the time period records are accessible that have not yet expired. However, it will not make previous data that has expired (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours will remain inaccessible to consumer applications.

" + "documentation":"

Increases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days).

If you choose a longer stream retention period, this operation increases the time period during which records that have not yet expired are accessible. However, it does not make previous, expired data (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours remains inaccessible to consumer applications.

" + }, + "ListShards":{ + "name":"ListShards", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListShardsInput"}, + "output":{"shape":"ListShardsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ExpiredNextTokenException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Lists the shards in a stream and provides information about each shard. This operation has a limit of 100 transactions per second per data stream.

This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). If you have a fine-grained IAM policy that only allows specific operations, you must update your policy to allow calls to this API. For more information, see Controlling Access to Amazon Kinesis Data Streams Resources Using IAM.

" + }, + "ListStreamConsumers":{ + "name":"ListStreamConsumers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStreamConsumersInput"}, + "output":{"shape":"ListStreamConsumersOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ExpiredNextTokenException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Lists the consumers registered to receive data from a stream using enhanced fan-out, and provides information about each consumer.

This operation has a limit of 10 transactions per second per account.

" }, "ListStreams":{ "name":"ListStreams", @@ -171,7 +271,7 @@ "errors":[ {"shape":"LimitExceededException"} ], - "documentation":"

Lists your Amazon Kinesis streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Amazon Kinesis uses the default limit, which is currently 10.

You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list.

ListStreams has a limit of 5 transactions per second per account.

" + "documentation":"

Lists your Kinesis data streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis Data Streams uses the default limit, which is currently 10.

You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list.

ListStreams has a limit of five transactions per second per account.

" }, "ListTagsForStream":{ "name":"ListTagsForStream", @@ -186,7 +286,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Lists the tags for the specified Amazon Kinesis stream.

" + "documentation":"

Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account.

" }, "MergeShards":{ "name":"MergeShards", @@ -201,7 +301,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Merges two adjacent shards in an Amazon Kinesis stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStream to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Amazon Kinesis sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStream to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards or SplitShard, you will receive a LimitExceededException.

MergeShards has limit of 5 transactions per second per account.

" + "documentation":"

Merges two adjacent shards in a Kinesis data stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Data Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStream to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Kinesis Data Streams sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStream to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException.

MergeShards has a limit of five transactions per second per account.

" }, "PutRecord":{ "name":"PutRecord", @@ -214,9 +314,15 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"} + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"} ], - "documentation":"

Writes a single data record into an Amazon Kinesis stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Amazon Kinesis to distribute data across shards. Amazon Kinesis segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine which shard a given data record belongs to.

Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Streams Developer Guide.

PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record.

Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Streams Developer Guide.

If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException.

Data records are accessible for only 24 hours from the time that they are added to a stream.

" + "documentation":"

Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs.

Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record.

Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

" }, "PutRecords":{ "name":"PutRecords", @@ -229,9 +335,31 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ProvisionedThroughputExceededException"} + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"} ], - "documentation":"

Writes multiple data records into an Amazon Kinesis stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing.

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Amazon Kinesis as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Streams Developer Guide.

Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide.

The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array.

The response Records array includes both successfully and unsuccessfully processed records. Amazon Kinesis attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records.

A successfully-processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream.

An unsuccessfully-processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Streams Developer Guide.

By default, data records are accessible for only 24 hours from the time that they are added to an Amazon Kinesis stream. This retention period can be modified using the DecreaseStreamRetentionPeriod and IncreaseStreamRetentionPeriod operations.

" + "documentation":"

Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing.

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second.

You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array.

The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records.

A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream.

An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

" + }, + "RegisterStreamConsumer":{ + "name":"RegisterStreamConsumer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterStreamConsumerInput"}, + "output":{"shape":"RegisterStreamConsumerOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Registers a consumer with a Kinesis data stream. When you use this operation, the consumer you register can read data from the stream at a rate of up to 2 MiB per second. This rate is unaffected by the total number of consumers that read from the same stream.

You can register up to 5 consumers per stream. A given consumer can only be registered with one stream.

This operation has a limit of five transactions per second per account.

" }, "RemoveTagsFromStream":{ "name":"RemoveTagsFromStream", @@ -246,7 +374,7 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Removes tags from the specified Amazon Kinesis stream. Removed tags are deleted and cannot be recovered after this operation successfully completes.

If you specify a tag that does not exist, it is ignored.

" + "documentation":"

Removes tags from the specified Kinesis data stream. Removed tags are deleted and cannot be recovered after this operation successfully completes.

If you specify a tag that does not exist, it is ignored.

RemoveTagsFromStream has a limit of five transactions per second per account.

" }, "SplitShard":{ "name":"SplitShard", @@ -261,7 +389,75 @@ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Splits a shard into two new shards in the Amazon Kinesis stream to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Amazon Kinesis applications can simultaneously read data from the stream for real-time processing.

You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might simply be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information about splitting shards, see Split a Shard in the Amazon Kinesis Streams Developer Guide.

You can use DescribeStream to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Amazon Kinesis immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Amazon Kinesis sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. If a stream is in CREATING or UPDATING or DELETING states, DescribeStream returns a ResourceInUseException.

If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

For the default shard limit for an AWS account, see Streams Limits in the Amazon Kinesis Streams Developer Guide. If you need to increase this limit, contact AWS Support.

If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException.

SplitShard has limit of 5 transactions per second per account.

" + "documentation":"

Splits a shard into two new shards in the Kinesis data stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis Data Streams applications can simultaneously read data from the stream for real-time processing.

You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information, see Split a Shard in the Amazon Kinesis Data Streams Developer Guide.

You can use DescribeStream to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Kinesis Data Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis Data Streams sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. If a stream is in CREATING or UPDATING or DELETING states, DescribeStream returns a ResourceInUseException.

If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

For the default shard limit for an AWS account, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException.

SplitShard has a limit of five transactions per second per account.

" + }, + "StartStreamEncryption":{ + "name":"StartStreamEncryption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartStreamEncryptionInput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"} + ], + "documentation":"

Enables or updates server-side encryption using an AWS KMS key for a specified stream.

Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, encryption begins for records written to the stream.

API Limits: You can successfully apply a new AWS KMS key for server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from PutRecord or PutRecords.

" + }, + "StopStreamEncryption":{ + "name":"StopStreamEncryption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopStreamEncryptionInput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disables server-side encryption for a specified stream.

Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Stopping encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, records written to the stream are no longer encrypted by Kinesis Data Streams.

API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are no longer subject to encryption. After you disabled encryption, you can verify that encryption is not applied by inspecting the API response from PutRecord or PutRecords.

" + }, + "SubscribeToShard":{ + "name":"SubscribeToShard", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SubscribeToShardInput"}, + "output":{"shape":"SubscribeToShardOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Call this operation from your consumer after you call RegisterStreamConsumer to register the consumer with Kinesis Data Streams. If the call succeeds, your consumer starts receiving events of type SubscribeToShardEvent for up to 5 minutes, after which time you need to call SubscribeToShard again to renew the subscription if you want to continue to receive records.

You can make one call to SubscribeToShard per second per ConsumerARN. If your call succeeds, and then you call the operation again less than 5 seconds later, the second call generates a ResourceInUseException. If you call the operation a second time more than 5 seconds after the first call succeeds, the second call succeeds and the first connection gets shut down.

" + }, + "UpdateShardCount":{ + "name":"UpdateShardCount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateShardCountInput"}, + "output":{"shape":"UpdateShardCountOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the shard count of the specified stream to the specified number of shards.

Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING.

To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. We recommend that you double or halve the shard count, as this results in the fewest number of splits or merges.

This operation has the following default limits. By default, you cannot do the following:

  • Scale more than twice per rolling 24-hour period per stream

  • Scale up to more than double your current shard count for a stream

  • Scale down below half your current shard count for a stream

  • Scale up to more than 500 shards in a stream

  • Scale a stream with more than 500 shards down unless the result is less than 500 shards

  • Scale up to more than the shard limit for your account

For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form.

" } }, "shapes":{ @@ -278,13 +474,102 @@ }, "Tags":{ "shape":"TagMap", - "documentation":"

The set of key-value pairs to use to create the tags.

" + "documentation":"

A set of up to 10 key-value pairs to use to create the tags.

" } }, "documentation":"

Represents the input for AddTagsToStream.

" }, - "ApproximateArrivalTimestamp":{"type":"timestamp"}, "BooleanObject":{"type":"boolean"}, + "Consumer":{ + "type":"structure", + "required":[ + "ConsumerName", + "ConsumerARN", + "ConsumerStatus", + "ConsumerCreationTimestamp" + ], + "members":{ + "ConsumerName":{ + "shape":"ConsumerName", + "documentation":"

The name of the consumer is something you choose when you register the consumer.

" + }, + "ConsumerARN":{ + "shape":"ConsumerARN", + "documentation":"

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call SubscribeToShard.

If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.

" + }, + "ConsumerStatus":{ + "shape":"ConsumerStatus", + "documentation":"

A consumer can't read data while in the CREATING or DELETING states.

" + }, + "ConsumerCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

" + } + }, + "documentation":"

An object that represents the details of the consumer you registered.

" + }, + "ConsumerARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(arn):aws.*:kinesis:.*:\\d{12}:.*stream\\/[a-zA-Z0-9_.-]+\\/consumer\\/[a-zA-Z0-9_.-]+:[0-9]+" + }, + "ConsumerCountObject":{ + "type":"integer", + "max":1000000, + "min":0 + }, + "ConsumerDescription":{ + "type":"structure", + "required":[ + "ConsumerName", + "ConsumerARN", + "ConsumerStatus", + "ConsumerCreationTimestamp", + "StreamARN" + ], + "members":{ + "ConsumerName":{ + "shape":"ConsumerName", + "documentation":"

The name of the consumer is something you choose when you register the consumer.

" + }, + "ConsumerARN":{ + "shape":"ConsumerARN", + "documentation":"

When you register a consumer, Kinesis Data Streams generates an ARN for it. You need this ARN to be able to call SubscribeToShard.

If you delete a consumer and then create a new one with the same name, it won't have the same ARN. That's because consumer ARNs contain the creation timestamp. This is important to keep in mind if you have IAM policies that reference consumer ARNs.

" + }, + "ConsumerStatus":{ + "shape":"ConsumerStatus", + "documentation":"

A consumer can't read data while in the CREATING or DELETING states.

" + }, + "ConsumerCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

" + }, + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The ARN of the stream with which you registered the consumer.

" + } + }, + "documentation":"

An object that represents the details of a registered consumer.

" + }, + "ConsumerList":{ + "type":"list", + "member":{"shape":"Consumer"} + }, + "ConsumerName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ConsumerStatus":{ + "type":"string", + "enum":[ + "CREATING", + "DELETING", + "ACTIVE" + ] + }, "CreateStreamInput":{ "type":"structure", "required":[ @@ -294,7 +579,7 @@ "members":{ "StreamName":{ "shape":"StreamName", - "documentation":"

A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by region. That is, two streams in two different AWS accounts can have the same name, and two streams in the same AWS account but in two different regions can have the same name.

" + "documentation":"

A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by AWS Region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different Regions can also have the same name.

" }, "ShardCount":{ "shape":"PositiveIntegerObject", @@ -333,10 +618,80 @@ "StreamName":{ "shape":"StreamName", "documentation":"

The name of the stream to delete.

" + }, + "EnforceConsumerDeletion":{ + "shape":"BooleanObject", + "documentation":"

If this parameter is unset (null) or if you set it to false, and the stream has registered consumers, the call to DeleteStream fails with a ResourceInUseException.

" } }, "documentation":"

Represents the input for DeleteStream.

" }, + "DeregisterStreamConsumerInput":{ + "type":"structure", + "members":{ + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "ConsumerName":{ + "shape":"ConsumerName", + "documentation":"

The name that you gave to the consumer.

" + }, + "ConsumerARN":{ + "shape":"ConsumerARN", + "documentation":"

The ARN returned by Kinesis Data Streams when you registered the consumer. If you don't know the ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its ARN.

" + } + } + }, + "DescribeLimitsInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeLimitsOutput":{ + "type":"structure", + "required":[ + "ShardLimit", + "OpenShardCount" + ], + "members":{ + "ShardLimit":{ + "shape":"ShardCountObject", + "documentation":"

The maximum number of shards.

" + }, + "OpenShardCount":{ + "shape":"ShardCountObject", + "documentation":"

The number of open shards.

" + } + } + }, + "DescribeStreamConsumerInput":{ + "type":"structure", + "members":{ + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "ConsumerName":{ + "shape":"ConsumerName", + "documentation":"

The name that you gave to the consumer.

" + }, + "ConsumerARN":{ + "shape":"ConsumerARN", + "documentation":"

The ARN returned by Kinesis Data Streams when you registered the consumer.

" + } + } + }, + "DescribeStreamConsumerOutput":{ + "type":"structure", + "required":["ConsumerDescription"], + "members":{ + "ConsumerDescription":{ + "shape":"ConsumerDescription", + "documentation":"

An object that represents the details of the consumer.

" + } + } + }, "DescribeStreamInput":{ "type":"structure", "required":["StreamName"], @@ -347,7 +702,7 @@ }, "Limit":{ "shape":"DescribeStreamInputLimit", - "documentation":"

The maximum number of shards to return.

" + "documentation":"

The maximum number of shards to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 shards are returned.

" }, "ExclusiveStartShardId":{ "shape":"ShardId", @@ -367,11 +722,31 @@ "members":{ "StreamDescription":{ "shape":"StreamDescription", - "documentation":"

The current status of the stream, the stream ARN, an array of shard objects that comprise the stream, and states whether there are more shards available.

" + "documentation":"

The current status of the stream, the stream Amazon Resource Name (ARN), an array of shard objects that comprise the stream, and whether there are more shards available.

" } }, "documentation":"

Represents the output for DescribeStream.

" }, + "DescribeStreamSummaryInput":{ + "type":"structure", + "required":["StreamName"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream to describe.

" + } + } + }, + "DescribeStreamSummaryOutput":{ + "type":"structure", + "required":["StreamDescriptionSummary"], + "members":{ + "StreamDescriptionSummary":{ + "shape":"StreamDescriptionSummary", + "documentation":"

A StreamDescriptionSummary containing information about the stream.

" + } + } + }, "DisableEnhancedMonitoringInput":{ "type":"structure", "required":[ @@ -381,11 +756,11 @@ "members":{ "StreamName":{ "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis stream for which to disable enhanced monitoring.

" + "documentation":"

The name of the Kinesis data stream for which to disable enhanced monitoring.

" }, "ShardLevelMetrics":{ "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics to disable.

The following are the valid shard-level metrics. The value \"ALL\" disables every metric.

  • IncomingBytes
  • IncomingRecords
  • OutgoingBytes
  • OutgoingRecords
  • WriteProvisionedThroughputExceeded
  • ReadProvisionedThroughputExceeded
  • IteratorAgeMilliseconds
  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

" + "documentation":"

List of shard-level metrics to disable.

The following are the valid shard-level metrics. The value \"ALL\" disables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" } }, "documentation":"

Represents the input for DisableEnhancedMonitoring.

" @@ -403,17 +778,24 @@ }, "ShardLevelMetrics":{ "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics to enable.

The following are the valid shard-level metrics. The value \"ALL\" enables every metric.

  • IncomingBytes
  • IncomingRecords
  • OutgoingBytes
  • OutgoingRecords
  • WriteProvisionedThroughputExceeded
  • ReadProvisionedThroughputExceeded
  • IteratorAgeMilliseconds
  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

" + "documentation":"

List of shard-level metrics to enable.

The following are the valid shard-level metrics. The value \"ALL\" enables every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" } }, "documentation":"

Represents the input for EnableEnhancedMonitoring.

" }, + "EncryptionType":{ + "type":"string", + "enum":[ + "NONE", + "KMS" + ] + }, "EnhancedMetrics":{ "type":"structure", "members":{ "ShardLevelMetrics":{ "shape":"MetricsNameList", - "documentation":"

List of shard-level metrics.

The following are the valid shard-level metrics. The value \"ALL\" enhances every metric.

  • IncomingBytes
  • IncomingRecords
  • OutgoingBytes
  • OutgoingRecords
  • WriteProvisionedThroughputExceeded
  • ReadProvisionedThroughputExceeded
  • IteratorAgeMilliseconds
  • ALL

For more information, see Monitoring the Amazon Kinesis Streams Service with Amazon CloudWatch in the Amazon Kinesis Streams Developer Guide.

" + "documentation":"

List of shard-level metrics.

The following are the valid shard-level metrics. The value \"ALL\" enhances every metric.

  • IncomingBytes

  • IncomingRecords

  • OutgoingBytes

  • OutgoingRecords

  • WriteProvisionedThroughputExceeded

  • ReadProvisionedThroughputExceeded

  • IteratorAgeMilliseconds

  • ALL

For more information, see Monitoring the Amazon Kinesis Data Streams Service with Amazon CloudWatch in the Amazon Kinesis Data Streams Developer Guide.

" } }, "documentation":"

Represents enhanced metrics types.

" @@ -427,7 +809,7 @@ "members":{ "StreamName":{ "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis stream.

" + "documentation":"

The name of the Kinesis data stream.

" }, "CurrentShardLevelMetrics":{ "shape":"MetricsNameList", @@ -453,6 +835,14 @@ "documentation":"

The provided iterator exceeds the maximum age allowed.

", "exception":true }, + "ExpiredNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The pagination token passed to the operation is expired.

", + "exception":true + }, "GetRecordsInput":{ "type":"structure", "required":["ShardIterator"], @@ -483,11 +873,11 @@ }, "NextShardIterator":{ "shape":"ShardIterator", - "documentation":"

The next position in the shard from which to start sequentially reading data records. If set to null, the shard has been closed and the requested iterator will not return any more data.

" + "documentation":"

The next position in the shard from which to start sequentially reading data records. If set to null, the shard has been closed and the requested iterator does not return any more data.

" }, "MillisBehindLatest":{ "shape":"MillisBehindLatest", - "documentation":"

The number of milliseconds the GetRecords response is from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates record processing is caught up, and there are no new records to process at this moment.

" + "documentation":"

The number of milliseconds the GetRecords response is from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.

" } }, "documentation":"

Represents the output for GetRecords.

" @@ -502,15 +892,15 @@ "members":{ "StreamName":{ "shape":"StreamName", - "documentation":"

The name of the Amazon Kinesis stream.

" + "documentation":"

The name of the Amazon Kinesis data stream.

" }, "ShardId":{ "shape":"ShardId", - "documentation":"

The shard ID of the Amazon Kinesis shard to get the iterator for.

" + "documentation":"

The shard ID of the Kinesis Data Streams shard to get the iterator for.

" }, "ShardIteratorType":{ "shape":"ShardIteratorType", - "documentation":"

Determines how the shard iterator is used to start reading data records from the shard.

The following are the valid Amazon Kinesis shard iterator types:

  • AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.
  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.
  • AT_TIMESTAMP - Start reading from the position denoted by a specific timestamp, provided in the value Timestamp.
  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.
  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.
" + "documentation":"

Determines how the shard iterator is used to start reading data records from the shard.

The following are the valid Amazon Kinesis shard iterator types:

  • AT_SEQUENCE_NUMBER - Start reading from the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted by a specific sequence number, provided in the value StartingSequenceNumber.

  • AT_TIMESTAMP - Start reading from the position denoted by a specific time stamp, provided in the value Timestamp.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the shard in the system, which is the oldest data record in the shard.

  • LATEST - Start reading just after the most recent record in the shard, so that you always read the most recent data in the shard.

" }, "StartingSequenceNumber":{ "shape":"SequenceNumber", @@ -518,7 +908,7 @@ }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

The timestamp of the data record from which to start reading. Used with shard iterator type AT_TIMESTAMP. A timestamp is the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a record with this exact timestamp does not exist, the iterator returned is for the next (later) record. If the timestamp is older than the current trim horizon, the iterator returned is for the oldest untrimmed data record (TRIM_HORIZON).

" + "documentation":"

The time stamp of the data record from which to start reading. Used with shard iterator type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a record with this exact time stamp does not exist, the iterator returned is for the next (later) record. If the time stamp is older than the current trim horizon, the iterator returned is for the oldest untrimmed data record (TRIM_HORIZON).

" } }, "documentation":"

Represents the input for GetShardIterator.

" @@ -573,6 +963,14 @@ }, "documentation":"

Represents the input for IncreaseStreamRetentionPeriod.

" }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true, + "fault":true + }, "InvalidArgumentException":{ "type":"structure", "members":{ @@ -584,6 +982,77 @@ "documentation":"

A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.

", "exception":true }, + "KMSAccessDeniedException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The ciphertext references a key that doesn't exist or that you don't have access to.

", + "exception":true + }, + "KMSDisabledException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The request was rejected because the specified customer master key (CMK) isn't enabled.

", + "exception":true + }, + "KMSInvalidStateException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "exception":true + }, + "KMSNotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The request was rejected because the specified entity or resource can't be found.

", + "exception":true + }, + "KMSOptInRequired":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The AWS access key ID needs a subscription for the service.

", + "exception":true + }, + "KMSThrottlingException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the error.

" + } + }, + "documentation":"

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", + "exception":true + }, + "KeyId":{ + "type":"string", + "max":2048, + "min":1 + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -592,9 +1061,92 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed (5).

", + "documentation":"

The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.

", "exception":true }, + "ListShardsInput":{ + "type":"structure", + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the data stream whose shards you want to list.

You cannot specify this parameter if you specify the NextToken parameter.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When the number of shards in the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of shards in the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListShards to list the next set of shards.

Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream.

You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of shards that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListShards operation.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListShards, you have 300 seconds to use that value. If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException.

" + }, + "ExclusiveStartShardId":{ + "shape":"ShardId", + "documentation":"

Specify this parameter to indicate that you want to list the shards starting with the shard whose ID immediately follows ExclusiveStartShardId.

If you don't specify this parameter, the default behavior is for ListShards to list the shards starting with the first one in the stream.

You cannot specify this parameter if you specify NextToken.

" + }, + "MaxResults":{ + "shape":"ListShardsInputLimit", + "documentation":"

The maximum number of shards to return in a single call to ListShards. The minimum value you can specify for this parameter is 1, and the maximum is 1,000, which is also the default.

When the number of shards to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListShards to list the next set of shards.

" + }, + "StreamCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the shards for.

You cannot specify this parameter if you specify the NextToken parameter.

" + } + } + }, + "ListShardsInputLimit":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ListShardsOutput":{ + "type":"structure", + "members":{ + "Shards":{ + "shape":"ShardList", + "documentation":"

An array of JSON objects. Each object represents one shard and specifies the IDs of the shard, the shard's parent, and the shard that's adjacent to the shard's parent. Each object also contains the starting and ending hash keys and the starting and ending sequence numbers for the shard.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When the number of shards in the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of shards in the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListShards to list the next set of shards. For more information about the use of this pagination token when calling the ListShards operation, see ListShardsInput$NextToken.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListShards, you have 300 seconds to use that value. If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException.

" + } + } + }, + "ListStreamConsumersInput":{ + "type":"structure", + "required":["StreamARN"], + "members":{ + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The ARN of the Kinesis data stream for which you want to list the registered consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of consumers that are registered with the data stream, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers.

Don't specify StreamName or StreamCreationTimestamp if you specify NextToken because the latter unambiguously identifies the stream.

You can optionally specify a value for the MaxResults parameter when you specify NextToken. If you specify a MaxResults value that is less than the number of consumers that the operation returns if you don't specify MaxResults, the response will contain a new NextToken value. You can use the new NextToken value in a subsequent call to the ListStreamConsumers operation to list the next set of consumers.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException.

" + }, + "MaxResults":{ + "shape":"ListStreamConsumersInputLimit", + "documentation":"

The maximum number of consumers that you want a single call of ListStreamConsumers to return.

" + }, + "StreamCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the consumers for.

You can't specify this parameter if you specify the NextToken parameter.

" + } + } + }, + "ListStreamConsumersInputLimit":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ListStreamConsumersOutput":{ + "type":"structure", + "members":{ + "Consumers":{ + "shape":"ConsumerList", + "documentation":"

An array of JSON objects. Each object represents one registered consumer.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of registered consumers, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers. For more information about the use of this pagination token when calling the ListStreamConsumers operation, see ListStreamConsumersInput$NextToken.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException.

" + } + } + }, "ListStreamsInput":{ "type":"structure", "members":{ @@ -653,7 +1205,7 @@ }, "ListTagsForStreamInputLimit":{ "type":"integer", - "max":10, + "max":50, "min":1 }, "ListTagsForStreamOutput":{ @@ -720,6 +1272,11 @@ "type":"long", "min":0 }, + "NextToken":{ + "type":"string", + "max":1048576, + "min":1 + }, "PartitionKey":{ "type":"string", "max":256, @@ -738,7 +1295,7 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Streams Developer Guide, and Error Retries and Exponential Backoff in AWS in the AWS General Reference.

", + "documentation":"

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and Exponential Backoff in AWS in the AWS General Reference.

", "exception":true }, "PutRecordInput":{ @@ -755,11 +1312,11 @@ }, "Data":{ "shape":"Data", - "documentation":"

The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" + "documentation":"

The data blob to put into the record, which is base64-encoded when the blob is serialized. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" }, "PartitionKey":{ "shape":"PartitionKey", - "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" + "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" }, "ExplicitHashKey":{ "shape":"HashKey", @@ -767,7 +1324,7 @@ }, "SequenceNumberForOrdering":{ "shape":"SequenceNumber", - "documentation":"

Guarantees strictly increasing sequence numbers, for puts from the same client and to the same partition key. Usage: set the SequenceNumberForOrdering of record n to the sequence number of record n-1 (as returned in the result when putting record n-1). If this parameter is not set, records will be coarsely ordered based on arrival time.

" + "documentation":"

Guarantees strictly increasing sequence numbers, for puts from the same client and to the same partition key. Usage: set the SequenceNumberForOrdering of record n to the sequence number of record n-1 (as returned in the result when putting record n-1). If this parameter is not set, records are coarsely ordered based on arrival time.

" } }, "documentation":"

Represents the input for PutRecord.

" @@ -786,6 +1343,10 @@ "SequenceNumber":{ "shape":"SequenceNumber", "documentation":"

The sequence number identifier that was assigned to the put data record. The sequence number for the record is unique across all records in the stream. A sequence number is the identifier associated with every record put into the stream.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type to use on the record. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" } }, "documentation":"

Represents the output for PutRecord.

" @@ -819,9 +1380,13 @@ "Records":{ "shape":"PutRecordsResultEntryList", "documentation":"

An array of successfully and unsuccessfully processed record results, correlated with the request by natural ordering. A record that is successfully added to a stream includes SequenceNumber and ShardId in the result. A record that fails to be added to a stream includes ErrorCode and ErrorMessage in the result.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type used on the records. This parameter can be one of the following values:

  • NONE: Do not encrypt the records.

  • KMS: Use server-side encryption on the records using a customer-managed AWS KMS key.

" } }, - "documentation":"

PutRecords results.

" + "documentation":"

PutRecords results.

" }, "PutRecordsRequestEntry":{ "type":"structure", @@ -840,7 +1405,7 @@ }, "PartitionKey":{ "shape":"PartitionKey", - "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" + "documentation":"

Determines which shard in the stream the data record is assigned to. Partition keys are Unicode strings with a maximum length limit of 256 characters for each key. Amazon Kinesis Data Streams uses the partition key as input to a hash function that maps the partition key and associated data to a specific shard. Specifically, an MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream.

" } }, "documentation":"

Represents the output for PutRecords.

" @@ -889,27 +1454,58 @@ "members":{ "SequenceNumber":{ "shape":"SequenceNumber", - "documentation":"

The unique identifier of the record in the stream.

" + "documentation":"

The unique identifier of the record within its shard.

" }, "ApproximateArrivalTimestamp":{ - "shape":"ApproximateArrivalTimestamp", + "shape":"Timestamp", "documentation":"

The approximate time that the record was inserted into the stream.

" }, "Data":{ "shape":"Data", - "documentation":"

The data blob. The data in the blob is both opaque and immutable to the Amazon Kinesis service, which does not inspect, interpret, or change the data in the blob in any way. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" + "documentation":"

The data blob. The data in the blob is both opaque and immutable to Kinesis Data Streams, which does not inspect, interpret, or change the data in the blob in any way. When the data blob (the payload before base64-encoding) is added to the partition key size, the total size must not exceed the maximum record size (1 MB).

" }, "PartitionKey":{ "shape":"PartitionKey", "documentation":"

Identifies which shard in the stream the data record is assigned to.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type used on the record. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" } }, - "documentation":"

The unit of data of the Amazon Kinesis stream, which is composed of a sequence number, a partition key, and a data blob.

" + "documentation":"

The unit of data of the Kinesis data stream, which is composed of a sequence number, a partition key, and a data blob.

" }, "RecordList":{ "type":"list", "member":{"shape":"Record"} }, + "RegisterStreamConsumerInput":{ + "type":"structure", + "required":[ + "StreamARN", + "ConsumerName" + ], + "members":{ + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The ARN of the Kinesis data stream that you want to register the consumer with. For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

" + }, + "ConsumerName":{ + "shape":"ConsumerName", + "documentation":"

For a given Kinesis data stream, each consumer must have a unique name. However, consumer names don't have to be unique across data streams.

" + } + } + }, + "RegisterStreamConsumerOutput":{ + "type":"structure", + "required":["Consumer"], + "members":{ + "Consumer":{ + "shape":"Consumer", + "documentation":"

An object that represents the details of the consumer you registered. When you register a consumer, it gets an ARN that is generated by Kinesis Data Streams.

" + } + } + }, "RemoveTagsFromStreamInput":{ "type":"structure", "required":[ @@ -936,7 +1532,7 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

The resource is not available for this operation. For successful operation, the resource needs to be in the ACTIVE state.

", + "documentation":"

The resource is not available for this operation. For successful operation, the resource must be in the ACTIVE state.

", "exception":true }, "ResourceNotFoundException":{ @@ -947,13 +1543,17 @@ "documentation":"

A message that provides information about the error.

" } }, - "documentation":"

The requested resource could not be found. The stream might not be specified correctly, or it might not be in the ACTIVE state if the operation requires it.

", + "documentation":"

The requested resource could not be found. The stream might not be specified correctly.

", "exception":true }, "RetentionPeriodHours":{ "type":"integer", "max":168, - "min":24 + "min":1 + }, + "ScalingType":{ + "type":"string", + "enum":["UNIFORM_SCALING"] }, "SequenceNumber":{ "type":"string", @@ -1003,7 +1603,12 @@ "documentation":"

The range of possible sequence numbers for the shard.

" } }, - "documentation":"

A uniquely identified group of data records in an Amazon Kinesis stream.

" + "documentation":"

A uniquely identified group of data records in a Kinesis data stream.

" + }, + "ShardCountObject":{ + "type":"integer", + "max":1000000, + "min":0 }, "ShardId":{ "type":"string", @@ -1053,7 +1658,65 @@ }, "documentation":"

Represents the input for SplitShard.

" }, - "StreamARN":{"type":"string"}, + "StartStreamEncryptionInput":{ + "type":"structure", + "required":[ + "StreamName", + "EncryptionType", + "KeyId" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream for which to start encrypting records.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type to use. The only valid value is KMS.

" + }, + "KeyId":{ + "shape":"KeyId", + "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" + } + } + }, + "StartingPosition":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{"shape":"ShardIteratorType"}, + "SequenceNumber":{"shape":"SequenceNumber"}, + "Timestamp":{"shape":"Timestamp"} + } + }, + "StopStreamEncryptionInput":{ + "type":"structure", + "required":[ + "StreamName", + "EncryptionType", + "KeyId" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream on which to stop encrypting records.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type. The only valid value is KMS.

" + }, + "KeyId":{ + "shape":"KeyId", + "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" + } + } + }, + "StreamARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws.*:kinesis:.*:\\d{12}:stream/.*" + }, "StreamDescription":{ "type":"structure", "required":[ @@ -1063,6 +1726,7 @@ "Shards", "HasMoreShards", "RetentionPeriodHours", + "StreamCreationTimestamp", "EnhancedMonitoring" ], "members":{ @@ -1076,7 +1740,7 @@ }, "StreamStatus":{ "shape":"StreamStatus", - "documentation":"

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Amazon Kinesis immediately returns and sets StreamStatus to CREATING.
  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Amazon Kinesis completes the deletion.
  • ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.
  • UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.
" + "documentation":"

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Data Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

  • ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.

  • UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.

" }, "Shards":{ "shape":"ShardList", @@ -1090,13 +1754,80 @@ "shape":"RetentionPeriodHours", "documentation":"

The current retention period, in hours.

" }, + "StreamCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The approximate time that the stream was created.

" + }, "EnhancedMonitoring":{ "shape":"EnhancedMonitoringList", "documentation":"

Represents the current enhanced monitoring settings of the stream.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The server-side encryption type used on the stream. This parameter can be one of the following values:

  • NONE: Do not encrypt the records in the stream.

  • KMS: Use server-side encryption on the records in the stream using a customer-managed AWS KMS key.

" + }, + "KeyId":{ + "shape":"KeyId", + "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" } }, "documentation":"

Represents the output for DescribeStream.

" }, + "StreamDescriptionSummary":{ + "type":"structure", + "required":[ + "StreamName", + "StreamARN", + "StreamStatus", + "RetentionPeriodHours", + "StreamCreationTimestamp", + "EnhancedMonitoring", + "OpenShardCount" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream being described.

" + }, + "StreamARN":{ + "shape":"StreamARN", + "documentation":"

The Amazon Resource Name (ARN) for the stream being described.

" + }, + "StreamStatus":{ + "shape":"StreamStatus", + "documentation":"

The current status of the stream being described. The stream status is one of the following states:

  • CREATING - The stream is being created. Kinesis Data Streams immediately returns and sets StreamStatus to CREATING.

  • DELETING - The stream is being deleted. The specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

  • ACTIVE - The stream exists and is ready for read and write operations or deletion. You should perform read and write operations only on an ACTIVE stream.

  • UPDATING - Shards in the stream are being merged or split. Read and write operations continue to work while the stream is in the UPDATING state.

" + }, + "RetentionPeriodHours":{ + "shape":"PositiveIntegerObject", + "documentation":"

The current retention period, in hours.

" + }, + "StreamCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The approximate time that the stream was created.

" + }, + "EnhancedMonitoring":{ + "shape":"EnhancedMonitoringList", + "documentation":"

Represents the current enhanced monitoring settings of the stream.

" + }, + "EncryptionType":{ + "shape":"EncryptionType", + "documentation":"

The encryption type used. This value is one of the following:

  • KMS

  • NONE

" + }, + "KeyId":{ + "shape":"KeyId", + "documentation":"

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

  • Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN example: arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally unique key ID example: 12345678-1234-1234-1234-123456789012

  • Alias name example: alias/MyAliasName

  • Master key owned by Kinesis Data Streams: alias/aws/kinesis

" + }, + "OpenShardCount":{ + "shape":"ShardCountObject", + "documentation":"

The number of open shards in the stream.

" + }, + "ConsumerCount":{ + "shape":"ConsumerCountObject", + "documentation":"

The number of enhanced fan-out consumers registered with the stream.

" + } + }, + "documentation":"

Represents the output for DescribeStreamSummary

" + }, "StreamName":{ "type":"string", "max":128, @@ -1116,6 +1847,76 @@ "UPDATING" ] }, + "SubscribeToShardEvent":{ + "type":"structure", + "required":[ + "Records", + "ContinuationSequenceNumber", + "MillisBehindLatest" + ], + "members":{ + "Records":{ + "shape":"RecordList", + "documentation":"

" + }, + "ContinuationSequenceNumber":{ + "shape":"SequenceNumber", + "documentation":"

Use this as StartingSequenceNumber in the next call to SubscribeToShard.

" + }, + "MillisBehindLatest":{ + "shape":"MillisBehindLatest", + "documentation":"

The number of milliseconds the read records are from the tip of the stream, indicating how far behind current time the consumer is. A value of zero indicates that record processing is caught up, and there are no new records to process at this moment.

" + } + }, + "documentation":"

After you call SubscribeToShard, Kinesis Data Streams sends events of this type to your consumer.

", + "event":true + }, + "SubscribeToShardEventStream":{ + "type":"structure", + "required":["SubscribeToShardEvent"], + "members":{ + "SubscribeToShardEvent":{"shape":"SubscribeToShardEvent"}, + "ResourceNotFoundException":{"shape":"ResourceNotFoundException"}, + "ResourceInUseException":{"shape":"ResourceInUseException"}, + "KMSDisabledException":{"shape":"KMSDisabledException"}, + "KMSInvalidStateException":{"shape":"KMSInvalidStateException"}, + "KMSAccessDeniedException":{"shape":"KMSAccessDeniedException"}, + "KMSNotFoundException":{"shape":"KMSNotFoundException"}, + "KMSOptInRequired":{"shape":"KMSOptInRequired"}, + "KMSThrottlingException":{"shape":"KMSThrottlingException"}, + "InternalFailureException":{"shape":"InternalFailureException"} + }, + "eventstream":true + }, + "SubscribeToShardInput":{ + "type":"structure", + "required":[ + "ConsumerARN", + "ShardId", + "StartingPosition" + ], + "members":{ + "ConsumerARN":{ + "shape":"ConsumerARN", + "documentation":"

For this parameter, use the value you obtained when you called RegisterStreamConsumer.

" + }, + "ShardId":{ + "shape":"ShardId", + "documentation":"

The ID of the shard you want to subscribe to. To see a list of all the shards for a given stream, use ListShards.

" + }, + "StartingPosition":{"shape":"StartingPosition"} + } + }, + "SubscribeToShardOutput":{ + "type":"structure", + "required":["EventStream"], + "members":{ + "EventStream":{ + "shape":"SubscribeToShardEventStream", + "documentation":"

The event stream that your consumer can use to read records from the shard.

" + } + } + }, "Tag":{ "type":"structure", "required":["Key"], @@ -1139,7 +1940,7 @@ "TagKeyList":{ "type":"list", "member":{"shape":"TagKey"}, - "max":10, + "max":50, "min":1 }, "TagList":{ @@ -1151,7 +1952,7 @@ "type":"map", "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"}, - "max":10, + "max":50, "min":1 }, "TagValue":{ @@ -1159,7 +1960,46 @@ "max":256, "min":0 }, - "Timestamp":{"type":"timestamp"} + "Timestamp":{"type":"timestamp"}, + "UpdateShardCountInput":{ + "type":"structure", + "required":[ + "StreamName", + "TargetShardCount", + "ScalingType" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream.

" + }, + "TargetShardCount":{ + "shape":"PositiveIntegerObject", + "documentation":"

The new number of shards.

" + }, + "ScalingType":{ + "shape":"ScalingType", + "documentation":"

The scaling type. Uniform scaling creates shards of equal size.

" + } + } + }, + "UpdateShardCountOutput":{ + "type":"structure", + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream.

" + }, + "CurrentShardCount":{ + "shape":"PositiveIntegerObject", + "documentation":"

The current number of shards.

" + }, + "TargetShardCount":{ + "shape":"PositiveIntegerObject", + "documentation":"

The updated number of shards.

" + } + } + } }, - "documentation":"Amazon Kinesis Streams Service API Reference

Amazon Kinesis Streams is a managed service that scales elastically for real time processing of streaming big data.

" + "documentation":"Amazon Kinesis Data Streams Service API Reference

Amazon Kinesis Data Streams is a managed service that scales elastically for real-time processing of streaming big data.

" } diff -Nru python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/examples-1.json python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/examples-1.json --- python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/service-2.json --- python-botocore-1.4.70/botocore/data/kinesisanalytics/2015-08-14/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisanalytics/2015-08-14/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,11 +7,29 @@ "protocol":"json", "serviceAbbreviation":"Kinesis Analytics", "serviceFullName":"Amazon Kinesis Analytics", + "serviceId":"Kinesis Analytics", "signatureVersion":"v4", "targetPrefix":"KinesisAnalytics_20150814", - "timestampFormat":"unixTimestamp" + "uid":"kinesisanalytics-2015-08-14" }, "operations":{ + "AddApplicationCloudWatchLoggingOption":{ + "name":"AddApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"AddApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a CloudWatch log stream to monitor application configuration errors. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" + }, "AddApplicationInput":{ "name":"AddApplicationInput", "http":{ @@ -24,9 +42,28 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"CodeValidationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a streaming source to your Amazon Kinesis application. For conceptual information, see Configuring Application Input.

You can add a streaming source either when you create an application or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

This operation requires permissions to perform the kinesisanalytics:AddApplicationInput action.

" + }, + "AddApplicationInputProcessingConfiguration":{ + "name":"AddApplicationInputProcessingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationInputProcessingConfigurationRequest"}, + "output":{"shape":"AddApplicationInputProcessingConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds an InputProcessingConfiguration to an application. An input processor preprocesses records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

" }, "AddApplicationOutput":{ "name":"AddApplicationOutput", @@ -40,9 +77,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream or a Firehose delivery stream), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For conceptual information, see Understanding Application Output (Destination).

Note that any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds an external destination to your Amazon Kinesis Analytics application.

If you want Amazon Kinesis Analytics to deliver data from an in-application stream within your application to an external destination (such as an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors. For more information, see Understanding Application Output (Destination).

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

For the limits on the number of application inputs and outputs you can configure, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" }, "AddApplicationReferenceDataSource":{ "name":"AddApplicationReferenceDataSource", @@ -56,9 +94,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Adds a reference data source to an existing application.

Amazon Kinesis Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in Amazon S3 object maps to columns in the resulting in-application table.

For conceptual information, see Configuring Application Input. For the limits on data sources you can add to your application, see Limits.

This operation requires permissions to perform the kinesisanalytics:AddApplicationOutput action.

" }, "CreateApplication":{ "name":"CreateApplication", @@ -72,9 +111,11 @@ {"shape":"CodeValidationException"}, {"shape":"ResourceInUseException"}, {"shape":"LimitExceededException"}, - {"shape":"InvalidArgumentException"} + {"shape":"InvalidArgumentException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to five streaming destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source, with the option of renaming, casting and dropping columns as desired.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to five streaming destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Creates an Amazon Kinesis Analytics application. You can configure each application with one streaming source as input, application code to process the input, and up to three destinations where you want Amazon Kinesis Analytics to write the output data from your application. For an overview, see How it Works.

In the input configuration, you map the streaming source to an in-application stream, which you can think of as a constantly updating table. In the mapping, you must provide a schema for the in-application stream and map each data column in the in-application stream to a data element in the streaming source.

Your application code is one or more SQL statements that read input data, transform it, and generate output. Your application code can create one or more SQL artifacts like SQL streams or pumps.

In the output configuration, you can configure the application to write data from in-application streams created in your applications to up to three destinations.

To read data from your source stream or write data to destination streams, Amazon Kinesis Analytics needs your permissions. You grant these permissions by creating IAM roles. This operation requires permissions to perform the kinesisanalytics:CreateApplication action.

For introductory exercises to create an Amazon Kinesis Analytics application, see Getting Started.

" }, "DeleteApplication":{ "name":"DeleteApplication", @@ -87,9 +128,44 @@ "errors":[ {"shape":"ConcurrentModificationException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} + {"shape":"ResourceInUseException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes the specified application. Amazon Kinesis Analytics halts application execution and deletes the application, including any application artifacts (such as in-application streams, reference table, and application code).

This operation requires permissions to perform the kinesisanalytics:DeleteApplication action.

" + }, + "DeleteApplicationCloudWatchLoggingOption":{ + "name":"DeleteApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"DeleteApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes a CloudWatch log stream from an application. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" + }, + "DeleteApplicationInputProcessingConfiguration":{ + "name":"DeleteApplicationInputProcessingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationInputProcessingConfigurationRequest"}, + "output":{"shape":"DeleteApplicationInputProcessingConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes an InputProcessingConfiguration from an input.

" }, "DeleteApplicationOutput":{ "name":"DeleteApplicationOutput", @@ -102,9 +178,11 @@ "errors":[ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes output destination configuration from your application configuration. Amazon Kinesis Analytics will no longer write data from the corresponding in-application stream to the external output destination.

This operation requires permissions to perform the kinesisanalytics:DeleteApplicationOutput action.

" }, "DeleteApplicationReferenceDataSource":{ "name":"DeleteApplicationReferenceDataSource", @@ -118,9 +196,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Deletes a reference data source configuration from the specified application configuration.

If the application is running, Amazon Kinesis Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

This operation requires permissions to perform the kinesisanalytics.DeleteApplicationReferenceDataSource action.

" }, "DescribeApplication":{ "name":"DescribeApplication", @@ -131,9 +210,10 @@ "input":{"shape":"DescribeApplicationRequest"}, "output":{"shape":"DescribeApplicationResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Returns information about a specific Amazon Kinesis Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

This operation requires permissions to perform the kinesisanalytics:DescribeApplication action. You can use DescribeApplication to get the current application versionId, which you need to call other operations such as Update.

" }, "DiscoverInputSchema":{ "name":"DiscoverInputSchema", @@ -146,9 +226,10 @@ "errors":[ {"shape":"InvalidArgumentException"}, {"shape":"UnableToDetectSchemaException"}, - {"shape":"ResourceProvisionedThroughputExceededException"} + {"shape":"ResourceProvisionedThroughputExceededException"}, + {"shape":"ServiceUnavailableException"} ], - "documentation":"

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream). In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Infers a schema by evaluating sample records on the specified streaming source (Amazon Kinesis stream or Amazon Kinesis Firehose delivery stream) or S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. For conceptual information, see Configuring Application Input. Note that when you create an application using the Amazon Kinesis Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

This operation requires permissions to perform the kinesisanalytics:DiscoverInputSchema action.

" }, "ListApplications":{ "name":"ListApplications", @@ -158,7 +239,22 @@ }, "input":{"shape":"ListApplicationsRequest"}, "output":{"shape":"ListApplicationsResponse"}, - "documentation":"

Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response.

If you want detailed information about a specific application, use DescribeApplication.

This operation requires permissions to perform the kinesisanalytics:ListApplications action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Returns a list of Amazon Kinesis Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status. If the response returns the HasMoreApplications value as true, you can send another request by adding the ExclusiveStartApplicationName in the request body, and set the value of this to the last application name from the previous response.

If you want detailed information about a specific application, use DescribeApplication.

This operation requires permissions to perform the kinesisanalytics:ListApplications action.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging.

" }, "StartApplication":{ "name":"StartApplication", @@ -172,9 +268,10 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"InvalidApplicationConfigurationException"} + {"shape":"InvalidApplicationConfigurationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application.

After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination.

The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation.

After you start the application, you can stop the application from processing the input by calling the StopApplication operation.

This operation requires permissions to perform the kinesisanalytics:StartApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Starts the specified Amazon Kinesis Analytics application. After creating an application, you must exclusively call this operation to start your application.

After the application starts, it begins consuming the input data, processes it, and writes the output to the configured destination.

The application status must be READY for you to start an application. You can get the application status in the console or using the DescribeApplication operation.

After you start the application, you can stop the application from processing the input by calling the StopApplication operation.

This operation requires permissions to perform the kinesisanalytics:StartApplication action.

" }, "StopApplication":{ "name":"StopApplication", @@ -186,9 +283,44 @@ "output":{"shape":"StopApplicationResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, - {"shape":"ResourceInUseException"} + {"shape":"ResourceInUseException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination.

This operation requires permissions to perform the kinesisanalytics:StopApplication action.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} ], - "documentation":"

Stops the application from processing input data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state. After the application is stopped, Amazon Kinesis Analytics stops reading data from the input, the application stops processing data, and there is no output written to the destination.

This operation requires permissions to perform the kinesisanalytics:StopApplication action.

" + "documentation":"

Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging.

" }, "UpdateApplication":{ "name":"UpdateApplication", @@ -203,12 +335,72 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"UnsupportedOperationException"} ], - "documentation":"

Updates an existing Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This opeation requires permission for the kinesisanalytics:UpdateApplication action.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

" } }, "shapes":{ + "AddApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOption" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Kinesis Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Kinesis Analytics application.

" + }, + "CloudWatchLoggingOption":{ + "shape":"CloudWatchLoggingOption", + "documentation":"

Provides the CloudWatch log stream Amazon Resource Name (ARN) and the IAM role ARN. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

" + } + } + }, + "AddApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + } + }, + "AddApplicationInputProcessingConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "InputId", + "InputProcessingConfiguration" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

Name of the application to which you want to add the input processing configuration.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "InputId":{ + "shape":"Id", + "documentation":"

The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration to add to the application.

" + } + } + }, + "AddApplicationInputProcessingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "AddApplicationInputRequest":{ "type":"structure", "required":[ @@ -223,9 +415,12 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

" + "documentation":"

Current version of your Amazon Kinesis Analytics application. You can use the DescribeApplication operation to find the current application version.

" }, - "Input":{"shape":"Input"} + "Input":{ + "shape":"Input", + "documentation":"

The Input to add.

" + } }, "documentation":"

" }, @@ -249,11 +444,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application to which you want add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "Output":{ "shape":"Output", - "documentation":"

An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream), and record the formation to use when writing to the destination.

" + "documentation":"

An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, an Amazon Kinesis stream, an Amazon Kinesis Firehose delivery stream, or an AWS Lambda function), and record the formation to use when writing to the destination.

" } }, "documentation":"

" @@ -278,7 +473,7 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "ReferenceDataSource":{ "shape":"ReferenceDataSource", @@ -295,7 +490,7 @@ }, "ApplicationCode":{ "type":"string", - "max":51200, + "max":102400, "min":0 }, "ApplicationDescription":{ @@ -330,23 +525,27 @@ }, "CreateTimestamp":{ "shape":"Timestamp", - "documentation":"

Timestamp when the application version was created.

" + "documentation":"

Time stamp when the application version was created.

" }, "LastUpdateTimestamp":{ "shape":"Timestamp", - "documentation":"

Timestamp when the application was last updated.

" + "documentation":"

Time stamp when the application was last updated.

" }, "InputDescriptions":{ "shape":"InputDescriptions", - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" + "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" }, "OutputDescriptions":{ "shape":"OutputDescriptions", - "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" + "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" }, "ReferenceDataSourceDescriptions":{ "shape":"ReferenceDataSourceDescriptions", - "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" + "documentation":"

Describes reference data sources configured for the application. For more information, see Configuring Application Input.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "shape":"CloudWatchLoggingOptionDescriptions", + "documentation":"

Describes the CloudWatch log streams that are configured to receive application messages. For more information about using CloudWatch log streams with Amazon Kinesis Analytics applications, see Working with Amazon CloudWatch Logs.

" }, "ApplicationCode":{ "shape":"ApplicationCode", @@ -357,7 +556,7 @@ "documentation":"

Provides the current application version.

" } }, - "documentation":"

Provides a description of the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configuration.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Provides a description of the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configuration.

" }, "ApplicationName":{ "type":"string", @@ -401,7 +600,7 @@ "documentation":"

Status of the application.

" } }, - "documentation":"

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" + "documentation":"

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" }, "ApplicationUpdate":{ "type":"structure", @@ -421,9 +620,13 @@ "ReferenceDataSourceUpdates":{ "shape":"ReferenceDataSourceUpdates", "documentation":"

Describes application reference data source updates.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "shape":"CloudWatchLoggingOptionUpdates", + "documentation":"

Describes application CloudWatch logging option updates.

" } }, - "documentation":"

Describes updates to apply to an existing Kinesis Analytics application.

" + "documentation":"

Describes updates to apply to an existing Amazon Kinesis Analytics application.

" }, "ApplicationVersionId":{ "type":"long", @@ -453,7 +656,78 @@ "documentation":"

Column delimiter. For example, in a CSV format, a comma (\",\") is the typical column delimiter.

" } }, - "documentation":"

Provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the '\\n' as the row delimiter and a comma (\",\") as the column delimiter:

\"name1\", \"address1\"

\"name2, \"address2\"

" + "documentation":"

Provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the '\\n' as the row delimiter and a comma (\",\") as the column delimiter:

\"name1\", \"address1\"

\"name2\", \"address2\"

" + }, + "CloudWatchLoggingOption":{ + "type":"structure", + "required":[ + "LogStreamARN", + "RoleARN" + ], + "members":{ + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role that is used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Provides a description of CloudWatch logging options, including the log stream Amazon Resource Name (ARN) and the role ARN.

" + }, + "CloudWatchLoggingOptionDescription":{ + "type":"structure", + "required":[ + "LogStreamARN", + "RoleARN" + ], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

ID of the CloudWatch logging option description.

" + }, + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Description of the CloudWatch logging option.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionDescription"} + }, + "CloudWatchLoggingOptionUpdate":{ + "type":"structure", + "required":["CloudWatchLoggingOptionId"], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

ID of the CloudWatch logging option to update

" + }, + "LogStreamARNUpdate":{ + "shape":"LogStreamARN", + "documentation":"

ARN of the CloudWatch log to receive application messages.

" + }, + "RoleARNUpdate":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role to use to send application messages. Note: To write application messages to CloudWatch, the IAM role used must have the PutLogEvents policy action enabled.

" + } + }, + "documentation":"

Describes CloudWatch logging option updates.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionUpdate"} + }, + "CloudWatchLoggingOptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOption"} }, "CodeValidationException":{ "type":"structure", @@ -491,15 +765,23 @@ }, "Inputs":{ "shape":"Inputs", - "documentation":"

Use this parameter to configure the application input.

You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table).

For the streaming source, you provide its Amazon Resource Name (ARN) and format of data on the stream (for example, JSON, CSV, etc). You also must provide an IAM role that Amazon Kinesis Analytics can assume to read this stream on your behalf.

To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.

" + "documentation":"

Use this parameter to configure the application input.

You can configure your application to receive input from a single streaming source. In this configuration, you map this streaming source to an in-application stream that is created. Your application code can then query the in-application stream like a table (you can think of it as a constantly updating table).

For the streaming source, you provide its Amazon Resource Name (ARN) and format of data on the stream (for example, JSON, CSV, etc.). You also must provide an IAM role that Amazon Kinesis Analytics can assume to read this stream on your behalf.

To create the in-application stream, you need to specify a schema to transform your data into a schematized version used in SQL. In the schema, you provide the necessary mapping of the data elements in the streaming source to record columns in the in-app stream.

" }, "Outputs":{ "shape":"Outputs", - "documentation":"

You can configure application output to write data from any of the in-application streams to up to five destinations.

These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, or both.

In the configuration, you specify the in-application stream name, the destination stream Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf.

In the output configuration, you also provide the output stream Amazon Resource Name (ARN) and the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to this stream on your behalf.

" + "documentation":"

You can configure application output to write data from any of the in-application streams to up to three destinations.

These destinations can be Amazon Kinesis streams, Amazon Kinesis Firehose delivery streams, AWS Lambda destinations, or any combination of the three.

In the configuration, you specify the in-application stream name, the destination stream or Lambda function Amazon Resource Name (ARN), and the format to use when writing data. You must also provide an IAM role that Amazon Kinesis Analytics can assume to write to the destination stream or Lambda function on your behalf.

In the output configuration, you also provide the output stream or Lambda function ARN. For stream destinations, you provide the format of data in the stream (for example, JSON, CSV). You also must provide an IAM role that Amazon Kinesis Analytics can assume to write to the stream or Lambda function on your behalf.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

Use this parameter to configure a CloudWatch log stream to monitor application configuration errors. For more information, see Working with Amazon CloudWatch Logs.

" }, "ApplicationCode":{ "shape":"ApplicationCode", - "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads input data and generates a running average of the number of advertisement clicks by vendor.

You can also provide a series of SQL statements, where output of one statement can be used as the input for the next statement.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + "documentation":"

One or more SQL statements that read input data, transform it, and generate output. For example, you can write a SQL statement that reads data from one in-application stream, generates a running average of the number of advertisement clicks by vendor, and insert resulting rows in another in-application stream using pumps. For more information about the typical pattern, see Application Code.

You can provide such series of SQL statements, where output of one statement can be used as the input for the next statement. You store intermediate results by creating in-application streams and pumps.

Note that the application code must create the streams with names specified in the Outputs. For example, if your Outputs defines output streams named ExampleOutputStream1 and ExampleOutputStream2, then your application code must create these streams.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" } }, "documentation":"

TBD

" @@ -515,6 +797,60 @@ }, "documentation":"

TBD

" }, + "DeleteApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOptionId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Kinesis Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Kinesis Analytics application.

" + }, + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

The CloudWatchLoggingOptionId of the CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

" + } + } + }, + "DeleteApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteApplicationInputProcessingConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "InputId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Kinesis Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Kinesis Analytics application.

" + }, + "InputId":{ + "shape":"Id", + "documentation":"

The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

" + } + } + }, + "DeleteApplicationInputProcessingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteApplicationOutputRequest":{ "type":"structure", "required":[ @@ -529,11 +865,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Amazon Kinesis Analytics application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "OutputId":{ "shape":"Id", - "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" + "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application, either when the application is created or later using the AddApplicationOutput operation, has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" } }, "documentation":"

" @@ -558,11 +894,11 @@ }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + "documentation":"

Version of the application. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" }, "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" + "documentation":"

ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Amazon Kinesis Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" } } }, @@ -619,21 +955,17 @@ }, "DestinationSchema":{ "type":"structure", + "required":["RecordFormatType"], "members":{ "RecordFormatType":{ "shape":"RecordFormatType", "documentation":"

Specifies the format of the records on the output stream.

" } }, - "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" }, "DiscoverInputSchemaRequest":{ "type":"structure", - "required":[ - "ResourceARN", - "RoleARN", - "InputStartingPositionConfiguration" - ], "members":{ "ResourceARN":{ "shape":"ResourceARN", @@ -646,9 +978,16 @@ "InputStartingPositionConfiguration":{ "shape":"InputStartingPositionConfiguration", "documentation":"

Point at which you want Amazon Kinesis Analytics to start reading records from the specified streaming source discovery purposes.

" + }, + "S3Configuration":{ + "shape":"S3Configuration", + "documentation":"

Specify this parameter to discover a schema from data in an Amazon S3 object.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

" } - }, - "documentation":"

" + } }, "DiscoverInputSchemaResponse":{ "type":"structure", @@ -661,6 +1000,10 @@ "shape":"ParsedInputRecords", "documentation":"

An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

" }, + "ProcessedInputRecords":{ + "shape":"ProcessedInputRecords", + "documentation":"

Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

" + }, "RawInputRecords":{ "shape":"RawInputRecords", "documentation":"

Raw stream data that was sampled to infer the schema.

" @@ -669,7 +1012,11 @@ "documentation":"

" }, "ErrorMessage":{"type":"string"}, - "FileKey":{"type":"string"}, + "FileKey":{ + "type":"string", + "max":1024, + "min":1 + }, "Id":{ "type":"string", "max":50, @@ -679,8 +1026,7 @@ "InAppStreamName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "InAppStreamNames":{ "type":"list", @@ -689,8 +1035,7 @@ "InAppTableName":{ "type":"string", "max":32, - "min":1, - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, "Input":{ "type":"structure", @@ -701,26 +1046,30 @@ "members":{ "NamePrefix":{ "shape":"InAppStreamName", - "documentation":"

Name prefix to use when creating in-application stream. Suppose you specify a prefix \"MyInApplicationStream\". Kinesis Analytics will then create one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001\", \"MyInApplicationStream_002\" and so on.

" + "documentation":"

Name prefix to use when creating an in-application stream. Suppose that you specify a prefix \"MyInApplicationStream.\" Amazon Kinesis Analytics then creates one or more (as per the InputParallelism count you specified) in-application streams with names \"MyInApplicationStream_001,\" \"MyInApplicationStream_002,\" and so on.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor.

" }, "KinesisStreamsInput":{ "shape":"KinesisStreamsInput", - "documentation":"

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

If the streaming source is an Amazon Kinesis stream, identifies the stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" }, "KinesisFirehoseInput":{ "shape":"KinesisFirehoseInput", - "documentation":"

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the Firehose delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

If the streaming source is an Amazon Kinesis Firehose delivery stream, identifies the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

Note: Either KinesisStreamsInput or KinesisFirehoseInput is required.

" }, "InputParallelism":{ "shape":"InputParallelism", - "documentation":"

Describes the number of in-application streams to create.

Data from your source will be routed to these in-application input streams.

(see Configuring Application Input.

" + "documentation":"

Describes the number of in-application streams to create.

Data from your source is routed to these in-application input streams.

(see Configuring Application Input.

" }, "InputSchema":{ "shape":"SourceSchema", "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

Also used to describe the format of the reference data source.

" } }, - "documentation":"

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. For more information, see Configuring Application Input.

" + "documentation":"

When you configure the application input, you specify the streaming source, the in-application stream name that is created, and the mapping between the two. For more information, see Configuring Application Input.

" }, "InputConfiguration":{ "type":"structure", @@ -731,7 +1080,7 @@ "members":{ "Id":{ "shape":"Id", - "documentation":"

Input source ID. You can get this ID by calling the DescribeApplication operation.

" + "documentation":"

Input source ID. You can get this ID by calling the DescribeApplication operation.

" }, "InputStartingPositionConfiguration":{ "shape":"InputStartingPositionConfiguration", @@ -759,15 +1108,22 @@ "shape":"InAppStreamNames", "documentation":"

Returns the in-application stream names that are mapped to the stream source.

" }, + "InputProcessingConfigurationDescription":{ + "shape":"InputProcessingConfigurationDescription", + "documentation":"

The description of the preprocessor that executes on records in this input before the application's code is run.

" + }, "KinesisStreamsInputDescription":{ "shape":"KinesisStreamsInputDescription", - "documentation":"

If an Amazon Kinesis stream is configured as streaming source, provides Amazon Kinesis stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

If an Amazon Kinesis stream is configured as streaming source, provides Amazon Kinesis stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" }, "KinesisFirehoseInputDescription":{ "shape":"KinesisFirehoseInputDescription", - "documentation":"

If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, provides the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

If an Amazon Kinesis Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN and an IAM role that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + }, + "InputSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

" }, - "InputSchema":{"shape":"SourceSchema"}, "InputParallelism":{ "shape":"InputParallelism", "documentation":"

Describes the configured parallelism (number of in-application streams mapped to the streaming source).

" @@ -777,25 +1133,71 @@ "documentation":"

Point at which the application is configured to read from the input stream.

" } }, - "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" + "documentation":"

Describes the application input configuration. For more information, see Configuring Application Input.

" }, "InputDescriptions":{ "type":"list", "member":{"shape":"InputDescription"} }, + "InputLambdaProcessor":{ + "type":"structure", + "required":[ + "ResourceARN", + "RoleARN" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" + } + }, + "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda function.

" + }, + "InputLambdaProcessorDescription":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

" + } + }, + "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream, and the ARN of the IAM role that is used to access the AWS Lambda expression.

" + }, + "InputLambdaProcessorUpdate":{ + "type":"structure", + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + }, + "RoleARNUpdate":{ + "shape":"RoleARN", + "documentation":"

The ARN of the new IAM role that is used to access the AWS Lambda function.

" + } + }, + "documentation":"

Represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" + }, "InputParallelism":{ "type":"structure", "members":{ "Count":{ "shape":"InputParallelismCount", - "documentation":"

Number of in-application streams to create. For more information, see Limits.

" + "documentation":"

Number of in-application streams to create. For more information, see Limits.

" } }, - "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallellism, see Configuring Application Input.

" + "documentation":"

Describes the number of in-application streams to create for a given streaming source. For information about parallelism, see Configuring Application Input.

" }, "InputParallelismCount":{ "type":"integer", - "max":10, + "max":64, "min":1 }, "InputParallelismUpdate":{ @@ -808,6 +1210,38 @@ }, "documentation":"

Provides updates to the parallelism count.

" }, + "InputProcessingConfiguration":{ + "type":"structure", + "required":["InputLambdaProcessor"], + "members":{ + "InputLambdaProcessor":{ + "shape":"InputLambdaProcessor", + "documentation":"

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" + } + }, + "documentation":"

Provides a description of a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is AWS Lambda.

" + }, + "InputProcessingConfigurationDescription":{ + "type":"structure", + "members":{ + "InputLambdaProcessorDescription":{ + "shape":"InputLambdaProcessorDescription", + "documentation":"

Provides configuration information about the associated InputLambdaProcessorDescription.

" + } + }, + "documentation":"

Provides configuration information about an input processor. Currently, the only input processor available is AWS Lambda.

" + }, + "InputProcessingConfigurationUpdate":{ + "type":"structure", + "required":["InputLambdaProcessorUpdate"], + "members":{ + "InputLambdaProcessorUpdate":{ + "shape":"InputLambdaProcessorUpdate", + "documentation":"

Provides update information for an InputLambdaProcessor.

" + } + }, + "documentation":"

Describes updates to an InputProcessingConfiguration.

" + }, "InputSchemaUpdate":{ "type":"structure", "members":{ @@ -824,7 +1258,7 @@ "documentation":"

A list of RecordColumn objects. Each object describes the mapping of the streaming source element to the corresponding column in the in-application stream.

" } }, - "documentation":"

Describes updates for the application's input schema.

" + "documentation":"

Describes updates for the application's input schema.

" }, "InputStartingPosition":{ "type":"string", @@ -839,7 +1273,7 @@ "members":{ "InputStartingPosition":{ "shape":"InputStartingPosition", - "documentation":"

The starting position on the stream.

  • LATEST - Start reading just after the most recent record in the stream.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" + "documentation":"

The starting position on the stream.

  • NOW - Start reading just after the most recent record in the stream, start at the request time stamp that the customer issued.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" } }, "documentation":"

Describes the point at which the application reads from the streaming source.

" @@ -854,15 +1288,19 @@ }, "NamePrefixUpdate":{ "shape":"InAppStreamName", - "documentation":"

Name prefix for in-application stream(s) that Kinesis Analytics creates for the specific streaming source.

" + "documentation":"

Name prefix for in-application streams that Amazon Kinesis Analytics creates for the specific streaming source.

" + }, + "InputProcessingConfigurationUpdate":{ + "shape":"InputProcessingConfigurationUpdate", + "documentation":"

Describes updates for an input processing configuration.

" }, "KinesisStreamsInputUpdate":{ "shape":"KinesisStreamsInputUpdate", - "documentation":"

If a Amazon Kinesis stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN.

" + "documentation":"

If an Amazon Kinesis stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN.

" }, "KinesisFirehoseInputUpdate":{ "shape":"KinesisFirehoseInputUpdate", - "documentation":"

If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN) and IAM role ARN.

" + "documentation":"

If an Amazon Kinesis Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN and IAM role ARN.

" }, "InputSchemaUpdate":{ "shape":"InputSchemaUpdate", @@ -870,7 +1308,7 @@ }, "InputParallelismUpdate":{ "shape":"InputParallelismUpdate", - "documentation":"

Describes the parallelism updates (the number in-application streams Kinesis Analytics creates for the specific streaming source).

" + "documentation":"

Describes the parallelism updates (the number in-application streams Amazon Kinesis Analytics creates for the specific streaming source).

" } }, "documentation":"

Describes updates to a specific input configuration (identified by the InputId of an application).

" @@ -911,11 +1349,17 @@ "members":{ "RecordRowPath":{ "shape":"RecordRowPath", - "documentation":"

Path to the top-level parent that contains the records.

For example, consider the following JSON record:

In the RecordRowPath, \"$\" refers to the root and path \"$.vehicle.Model\" refers to the specific \"Model\" key in the JSON.

" + "documentation":"

Path to the top-level parent that contains the records.

" } }, "documentation":"

Provides additional mapping information when JSON is the record format on the streaming source.

" }, + "KinesisAnalyticsARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:kinesisanalytics:[a-z]{2}-[a-z]+-\\d{1}+:\\d{12}+:application/[a-zA-Z0-9_.-]{1,128}" + }, "KinesisFirehoseInput":{ "type":"structure", "required":[ @@ -925,14 +1369,14 @@ "members":{ "ResourceARN":{ "shape":"ResourceARN", - "documentation":"

ARN of the input Firehose delivery stream.

" + "documentation":"

ARN of the input delivery stream.

" }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to make sure the role has necessary permissions to access the stream.

" + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to make sure that the role has the necessary permissions to access the stream.

" } }, - "documentation":"

Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. You provide the Firehose delivery stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

Identifies an Amazon Kinesis Firehose delivery stream as the streaming source. You provide the delivery stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" }, "KinesisFirehoseInputDescription":{ "type":"structure", @@ -953,11 +1397,11 @@ "members":{ "ResourceARNUpdate":{ "shape":"ResourceARN", - "documentation":"

ARN of the input Amazon Kinesis Firehose delivery stream to read.

" + "documentation":"

Amazon Resource Name (ARN) of the input Amazon Kinesis Firehose delivery stream to read.

" }, "RoleARNUpdate":{ "shape":"RoleARN", - "documentation":"

Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role.

" + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, "documentation":"

When updating application input configuration, provides information about an Amazon Kinesis Firehose delivery stream as the streaming source.

" @@ -1003,10 +1447,10 @@ }, "RoleARNUpdate":{ "shape":"RoleARN", - "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant necessary permissions to this role.

" + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

" + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis Firehose delivery stream configured as the destination.

" }, "KinesisStreamsInput":{ "type":"structure", @@ -1024,7 +1468,7 @@ "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

Identifies an Amazon Kinesis stream as the streaming source. You provide the stream's ARN and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" + "documentation":"

Identifies an Amazon Kinesis stream as the streaming source. You provide the stream's Amazon Resource Name (ARN) and an IAM role ARN that enables Amazon Kinesis Analytics to access the stream on your behalf.

" }, "KinesisStreamsInputDescription":{ "type":"structure", @@ -1070,7 +1514,7 @@ "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When configuring application output, identifies a Amazon Kinesis stream as the destination. You provide the stream Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the stream on your behalf.

" + "documentation":"

When configuring application output, identifies an Amazon Kinesis stream as the destination. You provide the stream Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the stream on your behalf.

" }, "KinesisStreamsOutputDescription":{ "type":"structure", @@ -1098,7 +1542,53 @@ "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to access the stream on your behalf. You need to grant the necessary permissions to this role.

" } }, - "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis stream configured as the destination.

" + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an Amazon Kinesis stream configured as the destination.

" + }, + "LambdaOutput":{ + "type":"structure", + "required":[ + "ResourceARN", + "RoleARN" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function to write to.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

" + } + }, + "documentation":"

When configuring application output, identifies an AWS Lambda function as the destination. You provide the function Amazon Resource Name (ARN) and also an IAM role ARN that Amazon Kinesis Analytics can use to write to the function on your behalf.

" + }, + "LambdaOutputDescription":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function.

" + } + }, + "documentation":"

For an application output, describes the AWS Lambda function configured as its destination.

" + }, + "LambdaOutputUpdate":{ + "type":"structure", + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

Amazon Resource Name (ARN) of the destination Lambda function.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + }, + "RoleARNUpdate":{ + "shape":"RoleARN", + "documentation":"

ARN of the IAM role that Amazon Kinesis Analytics can assume to write to the destination function on your behalf. You need to grant the necessary permissions to this role.

" + } + }, + "documentation":"

When updating an output configuration using the UpdateApplication operation, provides information about an AWS Lambda function configured as the destination.

" }, "LimitExceededException":{ "type":"structure", @@ -1148,6 +1638,31 @@ }, "documentation":"

" }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application for which to retrieve tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags assigned to the application.

" + } + } + }, + "LogStreamARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:.*" + }, "MappingParameters":{ "type":"structure", "members":{ @@ -1181,9 +1696,16 @@ "shape":"KinesisFirehoseOutput", "documentation":"

Identifies an Amazon Kinesis Firehose delivery stream as the destination.

" }, - "DestinationSchema":{"shape":"DestinationSchema"} + "LambdaOutput":{ + "shape":"LambdaOutput", + "documentation":"

Identifies an AWS Lambda function as the destination.

" + }, + "DestinationSchema":{ + "shape":"DestinationSchema", + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + } }, - "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

You can configure your application to write output to up to five destinations.

" + "documentation":"

Describes application output configuration in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be an Amazon Kinesis stream or an Amazon Kinesis Firehose delivery stream.

For limits on how many destinations an application can write and other limitations, see Limits.

" }, "OutputDescription":{ "type":"structure", @@ -1204,6 +1726,10 @@ "shape":"KinesisFirehoseOutputDescription", "documentation":"

Describes the Amazon Kinesis Firehose delivery stream configured as the destination where output is written.

" }, + "LambdaOutputDescription":{ + "shape":"LambdaOutputDescription", + "documentation":"

Describes the AWS Lambda function configured as the destination where output is written.

" + }, "DestinationSchema":{ "shape":"DestinationSchema", "documentation":"

Data format used for writing data to the destination.

" @@ -1233,9 +1759,16 @@ }, "KinesisFirehoseOutputUpdate":{ "shape":"KinesisFirehoseOutputUpdate", - "documentation":"

Describes a Amazon Kinesis Firehose delivery stream as the destination for the output.

" + "documentation":"

Describes an Amazon Kinesis Firehose delivery stream as the destination for the output.

" + }, + "LambdaOutputUpdate":{ + "shape":"LambdaOutputUpdate", + "documentation":"

Describes an AWS Lambda function as the destination for the output.

" }, - "DestinationSchemaUpdate":{"shape":"DestinationSchema"} + "DestinationSchemaUpdate":{ + "shape":"DestinationSchema", + "documentation":"

Describes the data format when records are written to the destination. For more information, see Configuring Application Output.

" + } }, "documentation":"

Describes updates to the output configuration identified by the OutputId.

" }, @@ -1256,6 +1789,11 @@ "type":"list", "member":{"shape":"ParsedInputRecord"} }, + "ProcessedInputRecord":{"type":"string"}, + "ProcessedInputRecords":{ + "type":"list", + "member":{"shape":"ProcessedInputRecord"} + }, "RawInputRecord":{"type":"string"}, "RawInputRecords":{ "type":"list", @@ -1274,7 +1812,7 @@ }, "Mapping":{ "shape":"RecordColumnMapping", - "documentation":"

Reference to the data element in the streaming input of the reference data source.

" + "documentation":"

Reference to the data element in the streaming input or the reference data source. This element is required if the RecordFormatType is JSON.

" }, "SqlType":{ "shape":"RecordColumnSqlType", @@ -1283,13 +1821,16 @@ }, "documentation":"

Describes the mapping of each data element in the streaming source to the corresponding column in the in-application stream.

Also used to describe the format of the reference data source.

" }, - "RecordColumnDelimiter":{"type":"string"}, + "RecordColumnDelimiter":{ + "type":"string", + "min":1 + }, "RecordColumnMapping":{"type":"string"}, - "RecordColumnName":{ + "RecordColumnName":{"type":"string"}, + "RecordColumnSqlType":{ "type":"string", - "pattern":"[a-zA-Z][a-zA-Z0-9_]+" + "min":1 }, - "RecordColumnSqlType":{"type":"string"}, "RecordColumns":{ "type":"list", "member":{"shape":"RecordColumn"}, @@ -1308,7 +1849,10 @@ "shape":"RecordFormatType", "documentation":"

The type of record format.

" }, - "MappingParameters":{"shape":"MappingParameters"} + "MappingParameters":{ + "shape":"MappingParameters", + "documentation":"

When configuring application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

" + } }, "documentation":"

Describes the record format and relevant mapping information that should be applied to schematize the records on the stream.

" }, @@ -1319,8 +1863,14 @@ "CSV" ] }, - "RecordRowDelimiter":{"type":"string"}, - "RecordRowPath":{"type":"string"}, + "RecordRowDelimiter":{ + "type":"string", + "min":1 + }, + "RecordRowPath":{ + "type":"string", + "min":1 + }, "ReferenceDataSource":{ "type":"structure", "required":[ @@ -1332,8 +1882,14 @@ "shape":"InAppTableName", "documentation":"

Name of the in-application table to create.

" }, - "S3ReferenceDataSource":{"shape":"S3ReferenceDataSource"}, - "ReferenceSchema":{"shape":"SourceSchema"} + "S3ReferenceDataSource":{ + "shape":"S3ReferenceDataSource", + "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf. An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + }, + "ReferenceSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } }, "documentation":"

Describes the reference data source by providing the source information (S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.

" }, @@ -1347,7 +1903,7 @@ "members":{ "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source. This is the ID that Amazon Kinesis Analytics assigns when you add the reference data source to your application using the AddApplicationReferenceDataSource operation.

" + "documentation":"

ID of the reference data source. This is the ID that Amazon Kinesis Analytics assigns when you add the reference data source to your application using the AddApplicationReferenceDataSource operation.

" }, "TableName":{ "shape":"InAppTableName", @@ -1357,7 +1913,10 @@ "shape":"S3ReferenceDataSourceDescription", "documentation":"

Provides the S3 bucket name, the object key name that contains the reference data. It also provides the Amazon Resource Name (ARN) of the IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object and populate the in-application reference table.

" }, - "ReferenceSchema":{"shape":"SourceSchema"} + "ReferenceSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } }, "documentation":"

Describes the reference data source configured for an application.

" }, @@ -1371,7 +1930,7 @@ "members":{ "ReferenceId":{ "shape":"Id", - "documentation":"

ID of the reference data source being updated. You can use the DescribeApplication operation to get this value.

" + "documentation":"

ID of the reference data source being updated. You can use the DescribeApplication operation to get this value.

" }, "TableNameUpdate":{ "shape":"InAppTableName", @@ -1381,7 +1940,10 @@ "shape":"S3ReferenceDataSourceUpdate", "documentation":"

Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" }, - "ReferenceSchemaUpdate":{"shape":"SourceSchema"} + "ReferenceSchemaUpdate":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } }, "documentation":"

When you update a reference data source configuration for an application, this object provides all the updated values (such as the source bucket name and object key name), the in-application table name that is created, and updated mapping information that maps the data in the Amazon S3 object to the in-application reference table that is created.

" }, @@ -1393,7 +1955,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"arn:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:\\d{12}:[a-zA-Z_0-9+=,.@\\-_/:]+" + "pattern":"arn:.*" }, "ResourceInUseException":{ "type":"structure", @@ -1422,7 +1984,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

Discovery failed to get a record from the streaming source because of the Kinesis Streams ProvisionedThroughputExceededException.

", + "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", "exception":true }, "RoleARN":{ @@ -1431,6 +1993,29 @@ "min":1, "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" }, + "S3Configuration":{ + "type":"structure", + "required":[ + "RoleARN", + "BucketARN", + "FileKey" + ], + "members":{ + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

IAM ARN of the role used to access the data.

" + }, + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

ARN of the S3 bucket that contains the data.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

The name of the object that contains the data.

" + } + }, + "documentation":"

Provides a description of an Amazon S3 data source, including the Amazon Resource Name (ARN) of the S3 bucket, the ARN of the IAM role that is used to access the bucket, and the name of the Amazon S3 object that contains the data.

" + }, "S3ReferenceDataSource":{ "type":"structure", "required":[ @@ -1452,7 +2037,7 @@ "documentation":"

ARN of the IAM role that the service can assume to read data on your behalf. This role must have permission for the s3:GetObject action on the object and trust policy that allows Amazon Kinesis Analytics service principal to assume this role.

" } }, - "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf.

An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + "documentation":"

Identifies the S3 bucket and object that contains the reference data. Also identifies the IAM role Amazon Kinesis Analytics can assume to read this object on your behalf.

An Amazon Kinesis Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" }, "S3ReferenceDataSourceDescription":{ "type":"structure", @@ -1495,6 +2080,15 @@ }, "documentation":"

Describes the S3 bucket name, object key name, and IAM role that Amazon Kinesis Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service is unavailable. Back off and retry the operation.

", + "exception":true, + "fault":true + }, "SourceSchema":{ "type":"structure", "required":[ @@ -1558,16 +2152,114 @@ }, "documentation":"

" }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the key-value tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the key-value tag. The value is optional.

" + } + }, + "documentation":"

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application to assign the tags.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags to assign to the application.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

", + "exception":true + }, "UnableToDetectSchemaException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"}, - "RawInputRecords":{"shape":"RawInputRecords"} + "RawInputRecords":{"shape":"RawInputRecords"}, + "ProcessedInputRecords":{"shape":"ProcessedInputRecords"} }, - "documentation":"

Data format is not valid, Kinesis Analytics is not able to detect schema for the given streaming source.

", + "documentation":"

Data format is not valid. Amazon Kinesis Analytics is not able to detect schema for the given streaming source.

", "exception":true }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the Kinesis Analytics application from which to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of keys of tags to remove from the specified application.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateApplicationRequest":{ "type":"structure", "required":[ @@ -1578,11 +2270,11 @@ "members":{ "ApplicationName":{ "shape":"ApplicationName", - "documentation":"

Name of the Kinesis Analytics application to update.

" + "documentation":"

Name of the Amazon Kinesis Analytics application to update.

" }, "CurrentApplicationVersionId":{ "shape":"ApplicationVersionId", - "documentation":"

The current application version ID. You can use the DescribeApplication operation to get this value.

" + "documentation":"

The current application version ID. You can use the DescribeApplication operation to get this value.

" }, "ApplicationUpdate":{ "shape":"ApplicationUpdate", @@ -1595,5 +2287,6 @@ "members":{ } } - } + }, + "documentation":"Amazon Kinesis Analytics

Overview

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

This is the Amazon Kinesis Analytics v1 API Reference. The Amazon Kinesis Analytics Developer Guide provides additional information.

" } diff -Nru python-botocore-1.4.70/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListApplicationSnapshots": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "SnapshotSummaries" + }, + "ListApplications": { + "input_token": "NextToken", + "limit_key": "Limit", + "output_token": "NextToken", + "result_key": "ApplicationSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json --- python-botocore-1.4.70/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3541 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-23", + "endpointPrefix":"kinesisanalytics", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Kinesis Analytics V2", + "serviceFullName":"Amazon Kinesis Analytics", + "serviceId":"Kinesis Analytics V2", + "signatureVersion":"v4", + "signingName":"kinesisanalytics", + "targetPrefix":"KinesisAnalytics_20180523", + "uid":"kinesisanalyticsv2-2018-05-23" + }, + "operations":{ + "AddApplicationCloudWatchLoggingOption":{ + "name":"AddApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"AddApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} + ], + "documentation":"

Adds an Amazon CloudWatch log stream to monitor application configuration errors.

" + }, + "AddApplicationInput":{ + "name":"AddApplicationInput", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationInputRequest"}, + "output":{"shape":"AddApplicationInputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"CodeValidationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds a streaming source to your SQL-based Amazon Kinesis Data Analytics application.

You can add a streaming source when you create an application, or you can use this operation to add a streaming source after you create an application. For more information, see CreateApplication.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

" + }, + "AddApplicationInputProcessingConfiguration":{ + "name":"AddApplicationInputProcessingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationInputProcessingConfigurationRequest"}, + "output":{"shape":"AddApplicationInputProcessingConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds an InputProcessingConfiguration to an SQL-based Kinesis Data Analytics application. An input processor pre-processes records on the input stream before the application's SQL code executes. Currently, the only input processor available is AWS Lambda.

" + }, + "AddApplicationOutput":{ + "name":"AddApplicationOutput", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationOutputRequest"}, + "output":{"shape":"AddApplicationOutputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds an external destination to your SQL-based Amazon Kinesis Data Analytics application.

If you want Kinesis Data Analytics to deliver data from an in-application stream within your application to an external destination (such as an Kinesis data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), you add the relevant configuration to your application using this operation. You can configure one or more outputs for your application. Each output configuration maps an in-application stream and an external destination.

You can use one of the output configurations to deliver data from your in-application error stream to an external destination so that you can analyze the errors.

Any configuration update, including adding a streaming source using this operation, results in a new version of the application. You can use the DescribeApplication operation to find the current application version.

" + }, + "AddApplicationReferenceDataSource":{ + "name":"AddApplicationReferenceDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationReferenceDataSourceRequest"}, + "output":{"shape":"AddApplicationReferenceDataSourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Adds a reference data source to an existing SQL-based Amazon Kinesis Data Analytics application.

Kinesis Data Analytics reads reference data (that is, an Amazon S3 object) and creates an in-application table within your application. In the request, you provide the source (S3 bucket name and object key name), name of the in-application table to create, and the necessary mapping information that describes how data in an Amazon S3 object maps to columns in the resulting in-application table.

" + }, + "AddApplicationVpcConfiguration":{ + "name":"AddApplicationVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddApplicationVpcConfigurationRequest"}, + "output":{"shape":"AddApplicationVpcConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds a Virtual Private Cloud (VPC) configuration to the application. Applications can use VPCs to store and access resources securely.

Note the following about VPC configurations for Kinesis Data Analytics applications:

  • VPC configurations are not supported for SQL applications.

  • When a VPC is added to a Kinesis Data Analytics application, the application can no longer be accessed from the Internet directly. To enable Internet access to the application, add an Internet gateway to your VPC.

" + }, + "CreateApplication":{ + "name":"CreateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateApplicationRequest"}, + "output":{"shape":"CreateApplicationResponse"}, + "errors":[ + {"shape":"CodeValidationException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Creates an Amazon Kinesis Data Analytics application. For information about creating a Kinesis Data Analytics application, see Creating an Application.

" + }, + "CreateApplicationSnapshot":{ + "name":"CreateApplicationSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateApplicationSnapshotRequest"}, + "output":{"shape":"CreateApplicationSnapshotResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Creates a snapshot of the application's state data.

" + }, + "DeleteApplication":{ + "name":"DeleteApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationRequest"}, + "output":{"shape":"DeleteApplicationResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} + ], + "documentation":"

Deletes the specified application. Kinesis Data Analytics halts application execution and deletes the application.

" + }, + "DeleteApplicationCloudWatchLoggingOption":{ + "name":"DeleteApplicationCloudWatchLoggingOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationCloudWatchLoggingOptionRequest"}, + "output":{"shape":"DeleteApplicationCloudWatchLoggingOptionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} + ], + "documentation":"

Deletes an Amazon CloudWatch log stream from an Amazon Kinesis Data Analytics application.

" + }, + "DeleteApplicationInputProcessingConfiguration":{ + "name":"DeleteApplicationInputProcessingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationInputProcessingConfigurationRequest"}, + "output":{"shape":"DeleteApplicationInputProcessingConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes an InputProcessingConfiguration from an input.

" + }, + "DeleteApplicationOutput":{ + "name":"DeleteApplicationOutput", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationOutputRequest"}, + "output":{"shape":"DeleteApplicationOutputResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes the output destination configuration from your SQL-based Amazon Kinesis Data Analytics application's configuration. Kinesis Data Analytics will no longer write data from the corresponding in-application stream to the external output destination.

" + }, + "DeleteApplicationReferenceDataSource":{ + "name":"DeleteApplicationReferenceDataSource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationReferenceDataSourceRequest"}, + "output":{"shape":"DeleteApplicationReferenceDataSourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Deletes a reference data source configuration from the specified SQL-based Amazon Kinesis Data Analytics application's configuration.

If the application is running, Kinesis Data Analytics immediately removes the in-application table that you created using the AddApplicationReferenceDataSource operation.

" + }, + "DeleteApplicationSnapshot":{ + "name":"DeleteApplicationSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationSnapshotRequest"}, + "output":{"shape":"DeleteApplicationSnapshotResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a snapshot of application state.

" + }, + "DeleteApplicationVpcConfiguration":{ + "name":"DeleteApplicationVpcConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteApplicationVpcConfigurationRequest"}, + "output":{"shape":"DeleteApplicationVpcConfigurationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes a VPC configuration from a Kinesis Data Analytics application.

" + }, + "DescribeApplication":{ + "name":"DescribeApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationRequest"}, + "output":{"shape":"DescribeApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns information about a specific Amazon Kinesis Data Analytics application.

If you want to retrieve a list of all applications in your account, use the ListApplications operation.

" + }, + "DescribeApplicationSnapshot":{ + "name":"DescribeApplicationSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationSnapshotRequest"}, + "output":{"shape":"DescribeApplicationSnapshotResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

Returns information about a snapshot of application state data.

" + }, + "DiscoverInputSchema":{ + "name":"DiscoverInputSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DiscoverInputSchemaRequest"}, + "output":{"shape":"DiscoverInputSchemaResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"UnableToDetectSchemaException"}, + {"shape":"ResourceProvisionedThroughputExceededException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Infers a schema for an SQL-based Amazon Kinesis Data Analytics application by evaluating sample records on the specified streaming source (Kinesis data stream or Kinesis Data Firehose delivery stream) or Amazon S3 object. In the response, the operation returns the inferred schema and also the sample records that the operation used to infer the schema.

You can use the inferred schema when configuring a streaming source for your application. When you create an application using the Kinesis Data Analytics console, the console uses this operation to infer a schema and show it in the console user interface.

" + }, + "ListApplicationSnapshots":{ + "name":"ListApplicationSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListApplicationSnapshotsRequest"}, + "output":{"shape":"ListApplicationSnapshotsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

Lists information about the current application snapshots.

" + }, + "ListApplications":{ + "name":"ListApplications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListApplicationsRequest"}, + "output":{"shape":"ListApplicationsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"} + ], + "documentation":"

Returns a list of Amazon Kinesis Data Analytics applications in your account. For each application, the response includes the application name, Amazon Resource Name (ARN), and status.

If you want detailed information about a specific application, use DescribeApplication.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Retrieves the list of key-value tags assigned to the application. For more information, see Using Tagging.

" + }, + "StartApplication":{ + "name":"StartApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartApplicationRequest"}, + "output":{"shape":"StartApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidApplicationConfigurationException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

Starts the specified Amazon Kinesis Data Analytics application. After creating an application, you must exclusively call this operation to start your application.

" + }, + "StopApplication":{ + "name":"StopApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopApplicationRequest"}, + "output":{"shape":"StopApplicationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} + ], + "documentation":"

Stops the application from processing data. You can stop an application only if it is in the running state. You can use the DescribeApplication operation to find the application state.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Adds one or more key-value tags to a Kinesis Analytics application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

Removes one or more tags from a Kinesis Analytics application. For more information, see Using Tagging.

" + }, + "UpdateApplication":{ + "name":"UpdateApplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateApplicationRequest"}, + "output":{"shape":"UpdateApplicationResponse"}, + "errors":[ + {"shape":"CodeValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidApplicationConfigurationException"} + ], + "documentation":"

Updates an existing Amazon Kinesis Data Analytics application. Using this operation, you can update application code, input configuration, and output configuration.

Kinesis Data Analytics updates the ApplicationVersionId each time you update your application.

" + } + }, + "shapes":{ + "AddApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOption" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The Kinesis Data Analytics application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the Kinesis Data Analytics application. You can retrieve the application version ID using DescribeApplication.

" + }, + "CloudWatchLoggingOption":{ + "shape":"CloudWatchLoggingOption", + "documentation":"

Provides the Amazon CloudWatch log stream Amazon Resource Name (ARN).

" + } + } + }, + "AddApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application's ARN.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The new version ID of the Kinesis Data Analytics application. Kinesis Data Analytics updates the ApplicationVersionId each time you change the CloudWatch logging options.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "shape":"CloudWatchLoggingOptionDescriptions", + "documentation":"

The descriptions of the current CloudWatch logging options for the Kinesis Data Analytics application.

" + } + } + }, + "AddApplicationInputProcessingConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "InputId", + "InputProcessingConfiguration" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application to which you want to add the input processing configuration.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "InputId":{ + "shape":"Id", + "documentation":"

The ID of the input configuration to add the input processing configuration to. You can get a list of the input IDs for an application using the DescribeApplication operation.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration to add to the application.

" + } + } + }, + "AddApplicationInputProcessingConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Provides the current application version.

" + }, + "InputId":{ + "shape":"Id", + "documentation":"

The input ID that is associated with the application input. This is the ID that Amazon Kinesis Data Analytics assigns to each input configuration that you add to your application.

" + }, + "InputProcessingConfigurationDescription":{ + "shape":"InputProcessingConfigurationDescription", + "documentation":"

The description of the preprocessor that executes on records in this input before the application's code is run.

" + } + } + }, + "AddApplicationInputRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "Input" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of your existing application to which you want to add the streaming source.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current version of your application. You can use the DescribeApplication operation to find the current application version.

" + }, + "Input":{ + "shape":"Input", + "documentation":"

The Input to add.

" + } + } + }, + "AddApplicationInputResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Provides the current application version.

" + }, + "InputDescriptions":{ + "shape":"InputDescriptions", + "documentation":"

Describes the application input configuration.

" + } + } + }, + "AddApplicationOutputRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "Output" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application to which you want to add the output configuration.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version of the application to which you want to add the output configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "Output":{ + "shape":"Output", + "documentation":"

An array of objects, each describing one output configuration. In the output configuration, you specify the name of an in-application stream, a destination (that is, a Kinesis data stream, a Kinesis Data Firehose delivery stream, or an AWS Lambda function), and record the formation to use when writing to the destination.

" + } + } + }, + "AddApplicationOutputResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application Amazon Resource Name (ARN).

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The updated application version ID. Kinesis Data Analytics increments this ID when the application is updated.

" + }, + "OutputDescriptions":{ + "shape":"OutputDescriptions", + "documentation":"

Describes the application output configuration. For more information, see Configuring Application Output.

" + } + } + }, + "AddApplicationReferenceDataSourceRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "ReferenceDataSource" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version of the application for which you are adding the reference data source. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "ReferenceDataSource":{ + "shape":"ReferenceDataSource", + "documentation":"

The reference data source can be an object in your Amazon S3 bucket. Kinesis Data Analytics reads the object and copies the data into the in-application table that is created. You provide an S3 bucket, object key name, and the resulting in-application table that is created.

" + } + } + }, + "AddApplicationReferenceDataSourceResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application Amazon Resource Name (ARN).

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The updated application version ID. Amazon Kinesis Data Analytics increments this ID when the application is updated.

" + }, + "ReferenceDataSourceDescriptions":{ + "shape":"ReferenceDataSourceDescriptions", + "documentation":"

Describes reference data sources configured for the application.

" + } + } + }, + "AddApplicationVpcConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "VpcConfiguration" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version of the application to which you want to add the input processing configuration. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

Description of the VPC to add to the application.

" + } + } + }, + "AddApplicationVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

" + }, + "VpcConfigurationDescription":{ + "shape":"VpcConfigurationDescription", + "documentation":"

The parameters of the new VPC configuration.

" + } + } + }, + "ApplicationCodeConfiguration":{ + "type":"structure", + "required":["CodeContentType"], + "members":{ + "CodeContent":{ + "shape":"CodeContent", + "documentation":"

The location and type of the application code.

" + }, + "CodeContentType":{ + "shape":"CodeContentType", + "documentation":"

Specifies whether the code content is in text or zip format.

" + } + }, + "documentation":"

Describes code configuration for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationCodeConfigurationDescription":{ + "type":"structure", + "required":["CodeContentType"], + "members":{ + "CodeContentType":{ + "shape":"CodeContentType", + "documentation":"

Specifies whether the code content is in text or zip format.

" + }, + "CodeContentDescription":{ + "shape":"CodeContentDescription", + "documentation":"

Describes details about the location and format of the application code.

" + } + }, + "documentation":"

Describes code configuration for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationCodeConfigurationUpdate":{ + "type":"structure", + "members":{ + "CodeContentTypeUpdate":{ + "shape":"CodeContentType", + "documentation":"

Describes updates to the code content type.

" + }, + "CodeContentUpdate":{ + "shape":"CodeContentUpdate", + "documentation":"

Describes updates to the code content of an application.

" + } + }, + "documentation":"

Describes updates to a Java-based Amazon Kinesis Data Analytics application.

" + }, + "ApplicationConfiguration":{ + "type":"structure", + "required":["ApplicationCodeConfiguration"], + "members":{ + "SqlApplicationConfiguration":{ + "shape":"SqlApplicationConfiguration", + "documentation":"

The creation and update parameters for an SQL-based Kinesis Data Analytics application.

" + }, + "FlinkApplicationConfiguration":{ + "shape":"FlinkApplicationConfiguration", + "documentation":"

The creation and update parameters for a Java-based Kinesis Data Analytics application.

" + }, + "EnvironmentProperties":{ + "shape":"EnvironmentProperties", + "documentation":"

Describes execution properties for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationCodeConfiguration":{ + "shape":"ApplicationCodeConfiguration", + "documentation":"

The code location and type parameters for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationSnapshotConfiguration":{ + "shape":"ApplicationSnapshotConfiguration", + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "VpcConfigurations":{ + "shape":"VpcConfigurations", + "documentation":"

The array of descriptions of VPC configurations available to the application.

" + } + }, + "documentation":"

Specifies the creation parameters for an Amazon Kinesis Data Analytics application.

" + }, + "ApplicationConfigurationDescription":{ + "type":"structure", + "members":{ + "SqlApplicationConfigurationDescription":{ + "shape":"SqlApplicationConfigurationDescription", + "documentation":"

The details about inputs, outputs, and reference data sources for an SQL-based Kinesis Data Analytics application.

" + }, + "ApplicationCodeConfigurationDescription":{ + "shape":"ApplicationCodeConfigurationDescription", + "documentation":"

The details about the application code for a Java-based Kinesis Data Analytics application.

" + }, + "RunConfigurationDescription":{ + "shape":"RunConfigurationDescription", + "documentation":"

The details about the starting properties for a Kinesis Data Analytics application.

" + }, + "FlinkApplicationConfigurationDescription":{ + "shape":"FlinkApplicationConfigurationDescription", + "documentation":"

The details about a Java-based Kinesis Data Analytics application.

" + }, + "EnvironmentPropertyDescriptions":{ + "shape":"EnvironmentPropertyDescriptions", + "documentation":"

Describes execution properties for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationSnapshotConfigurationDescription":{ + "shape":"ApplicationSnapshotConfigurationDescription", + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "VpcConfigurationDescriptions":{ + "shape":"VpcConfigurationDescriptions", + "documentation":"

The array of descriptions of VPC configurations available to the application.

" + } + }, + "documentation":"

Describes details about the application code and starting parameters for an Amazon Kinesis Data Analytics application.

" + }, + "ApplicationConfigurationUpdate":{ + "type":"structure", + "members":{ + "SqlApplicationConfigurationUpdate":{ + "shape":"SqlApplicationConfigurationUpdate", + "documentation":"

Describes updates to an SQL-based Kinesis Data Analytics application's configuration.

" + }, + "ApplicationCodeConfigurationUpdate":{ + "shape":"ApplicationCodeConfigurationUpdate", + "documentation":"

Describes updates to a Java-based Kinesis Data Analytics application's code configuration.

" + }, + "FlinkApplicationConfigurationUpdate":{ + "shape":"FlinkApplicationConfigurationUpdate", + "documentation":"

Describes updates to a Java-based Kinesis Data Analytics application's configuration.

" + }, + "EnvironmentPropertyUpdates":{ + "shape":"EnvironmentPropertyUpdates", + "documentation":"

Describes updates to the environment properties for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationSnapshotConfigurationUpdate":{ + "shape":"ApplicationSnapshotConfigurationUpdate", + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "VpcConfigurationUpdates":{ + "shape":"VpcConfigurationUpdates", + "documentation":"

Updates to the array of descriptions of VPC configurations available to the application.

" + } + }, + "documentation":"

Describes updates to an application's configuration.

" + }, + "ApplicationDescription":{ + "type":"string", + "max":1024, + "min":0 + }, + "ApplicationDetail":{ + "type":"structure", + "required":[ + "ApplicationARN", + "ApplicationName", + "RuntimeEnvironment", + "ApplicationStatus", + "ApplicationVersionId" + ], + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the application.

" + }, + "ApplicationDescription":{ + "shape":"ApplicationDescription", + "documentation":"

The description of the application.

" + }, + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "RuntimeEnvironment":{ + "shape":"RuntimeEnvironment", + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" + }, + "ServiceExecutionRole":{ + "shape":"RoleARN", + "documentation":"

Specifies the IAM role that the application uses to access external resources.

" + }, + "ApplicationStatus":{ + "shape":"ApplicationStatus", + "documentation":"

The status of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Provides the current application version. Kinesis Data Analytics updates the ApplicationVersionId each time you update the application.

" + }, + "CreateTimestamp":{ + "shape":"Timestamp", + "documentation":"

The current timestamp when the application was created.

" + }, + "LastUpdateTimestamp":{ + "shape":"Timestamp", + "documentation":"

The current timestamp when the application was last updated.

" + }, + "ApplicationConfigurationDescription":{ + "shape":"ApplicationConfigurationDescription", + "documentation":"

Provides details about the application's SQL or Java code and starting parameters.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "shape":"CloudWatchLoggingOptionDescriptions", + "documentation":"

Describes the application Amazon CloudWatch logging options.

" + } + }, + "documentation":"

Describes the application, including the application Amazon Resource Name (ARN), status, latest version, and input and output configurations.

" + }, + "ApplicationName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ApplicationRestoreConfiguration":{ + "type":"structure", + "required":["ApplicationRestoreType"], + "members":{ + "ApplicationRestoreType":{ + "shape":"ApplicationRestoreType", + "documentation":"

Specifies how the application should be restored.

" + }, + "SnapshotName":{ + "shape":"SnapshotName", + "documentation":"

The identifier of an existing snapshot of application state to use to restart an application. The application uses this value if RESTORE_FROM_CUSTOM_SNAPSHOT is specified for the ApplicationRestoreType.

" + } + }, + "documentation":"

Specifies the method and snapshot to use when restarting an application using previously saved application state.

" + }, + "ApplicationRestoreType":{ + "type":"string", + "enum":[ + "SKIP_RESTORE_FROM_SNAPSHOT", + "RESTORE_FROM_LATEST_SNAPSHOT", + "RESTORE_FROM_CUSTOM_SNAPSHOT" + ] + }, + "ApplicationSnapshotConfiguration":{ + "type":"structure", + "required":["SnapshotsEnabled"], + "members":{ + "SnapshotsEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + } + }, + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationSnapshotConfigurationDescription":{ + "type":"structure", + "required":["SnapshotsEnabled"], + "members":{ + "SnapshotsEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + } + }, + "documentation":"

Describes whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationSnapshotConfigurationUpdate":{ + "type":"structure", + "required":["SnapshotsEnabledUpdate"], + "members":{ + "SnapshotsEnabledUpdate":{ + "shape":"BooleanObject", + "documentation":"

Describes updates to whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + } + }, + "documentation":"

Describes updates to whether snapshots are enabled for a Java-based Kinesis Data Analytics application.

" + }, + "ApplicationStatus":{ + "type":"string", + "enum":[ + "DELETING", + "STARTING", + "STOPPING", + "READY", + "RUNNING", + "UPDATING" + ] + }, + "ApplicationSummaries":{ + "type":"list", + "member":{"shape":"ApplicationSummary"} + }, + "ApplicationSummary":{ + "type":"structure", + "required":[ + "ApplicationName", + "ApplicationARN", + "ApplicationStatus", + "ApplicationVersionId", + "RuntimeEnvironment" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the application.

" + }, + "ApplicationStatus":{ + "shape":"ApplicationStatus", + "documentation":"

The status of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

Provides the current application version.

" + }, + "RuntimeEnvironment":{ + "shape":"RuntimeEnvironment", + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" + } + }, + "documentation":"

Provides application summary information, including the application Amazon Resource Name (ARN), name, and status.

" + }, + "ApplicationVersionId":{ + "type":"long", + "max":999999999, + "min":1 + }, + "BooleanObject":{"type":"boolean"}, + "BucketARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:.*" + }, + "CSVMappingParameters":{ + "type":"structure", + "required":[ + "RecordRowDelimiter", + "RecordColumnDelimiter" + ], + "members":{ + "RecordRowDelimiter":{ + "shape":"RecordRowDelimiter", + "documentation":"

The row delimiter. For example, in a CSV format, '\\n' is the typical row delimiter.

" + }, + "RecordColumnDelimiter":{ + "shape":"RecordColumnDelimiter", + "documentation":"

The column delimiter. For example, in a CSV format, a comma (\",\") is the typical column delimiter.

" + } + }, + "documentation":"

For an SQL-based application, provides additional mapping information when the record format uses delimiters, such as CSV. For example, the following sample records use CSV format, where the records use the '\\n' as the row delimiter and a comma (\",\") as the column delimiter:

\"name1\", \"address1\"

\"name2\", \"address2\"

" + }, + "CheckpointConfiguration":{ + "type":"structure", + "required":["ConfigurationType"], + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether the application uses Amazon Kinesis Data Analytics' default checkpointing behavior. You must set this property to CUSTOM in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

  • CheckpointingEnabled: true

  • CheckpointInterval: 60000

  • MinPauseBetweenCheckpoints: 5000

" + }, + "CheckpointingEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

" + }, + "CheckpointInterval":{ + "shape":"CheckpointInterval", + "documentation":"

Describes the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

" + }, + "MinPauseBetweenCheckpoints":{ + "shape":"MinPauseBetweenCheckpoints", + "documentation":"

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start. If a checkpoint operation takes longer than the CheckpointInterval, the application otherwise performs continual checkpoint operations. For more information, see Tuning Checkpointing in the Apache Flink Documentation.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

" + } + }, + "documentation":"

Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see Checkpoints for Fault Tolerance in the Apache Flink Documentation.

" + }, + "CheckpointConfigurationDescription":{ + "type":"structure", + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether the application uses the default checkpointing behavior in Kinesis Data Analytics.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

  • CheckpointingEnabled: true

  • CheckpointInterval: 60000

  • MinPauseBetweenCheckpoints: 5000

" + }, + "CheckpointingEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether checkpointing is enabled for a Java-based Kinesis Data Analytics application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

" + }, + "CheckpointInterval":{ + "shape":"CheckpointInterval", + "documentation":"

Describes the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

" + }, + "MinPauseBetweenCheckpoints":{ + "shape":"MinPauseBetweenCheckpoints", + "documentation":"

Describes the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

" + } + }, + "documentation":"

Describes checkpointing parameters for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "CheckpointConfigurationUpdate":{ + "type":"structure", + "members":{ + "ConfigurationTypeUpdate":{ + "shape":"ConfigurationType", + "documentation":"

Describes updates to whether the application uses the default checkpointing behavior of Kinesis Data Analytics. You must set this property to CUSTOM in order to set the CheckpointingEnabled, CheckpointInterval, or MinPauseBetweenCheckpoints parameters.

If this value is set to DEFAULT, the application will use the following values, even if they are set to other values using APIs or application code:

  • CheckpointingEnabled: true

  • CheckpointInterval: 60000

  • MinPauseBetweenCheckpoints: 5000

" + }, + "CheckpointingEnabledUpdate":{ + "shape":"BooleanObject", + "documentation":"

Describes updates to whether checkpointing is enabled for an application.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointingEnabled value of true, even if this value is set to another value using this API or in application code.

" + }, + "CheckpointIntervalUpdate":{ + "shape":"CheckpointInterval", + "documentation":"

Describes updates to the interval in milliseconds between checkpoint operations.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a CheckpointInterval vaue of 60000, even if this value is set to another value using this API or in application code.

" + }, + "MinPauseBetweenCheckpointsUpdate":{ + "shape":"MinPauseBetweenCheckpoints", + "documentation":"

Describes updates to the minimum time in milliseconds after a checkpoint operation completes that a new checkpoint operation can start.

If CheckpointConfiguration.ConfigurationType is DEFAULT, the application will use a MinPauseBetweenCheckpoints value of 5000, even if this value is set using this API or in application code.

" + } + }, + "documentation":"

Describes updates to the checkpointing parameters for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "CheckpointInterval":{ + "type":"long", + "min":1 + }, + "CloudWatchLoggingOption":{ + "type":"structure", + "required":["LogStreamARN"], + "members":{ + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

The ARN of the CloudWatch log to receive application messages.

" + } + }, + "documentation":"

Provides a description of Amazon CloudWatch logging options, including the log stream Amazon Resource Name (ARN).

" + }, + "CloudWatchLoggingOptionDescription":{ + "type":"structure", + "required":["LogStreamARN"], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

The ID of the CloudWatch logging option description.

" + }, + "LogStreamARN":{ + "shape":"LogStreamARN", + "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch log to receive application messages.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The IAM ARN of the role to use to send application messages.

Provided for backward compatibility. Applications created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logging option.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionDescription"} + }, + "CloudWatchLoggingOptionUpdate":{ + "type":"structure", + "required":["CloudWatchLoggingOptionId"], + "members":{ + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

The ID of the CloudWatch logging option to update

" + }, + "LogStreamARNUpdate":{ + "shape":"LogStreamARN", + "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch log to receive application messages.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logging option updates.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOptionUpdate"} + }, + "CloudWatchLoggingOptions":{ + "type":"list", + "member":{"shape":"CloudWatchLoggingOption"} + }, + "CodeContent":{ + "type":"structure", + "members":{ + "TextContent":{ + "shape":"TextContent", + "documentation":"

The text-format code for a Java-based Kinesis Data Analytics application.

" + }, + "ZipFileContent":{ + "shape":"ZipFileContent", + "documentation":"

The zip-format code for a Java-based Kinesis Data Analytics application.

" + }, + "S3ContentLocation":{ + "shape":"S3ContentLocation", + "documentation":"

Information about the Amazon S3 bucket containing the application code.

" + } + }, + "documentation":"

Specifies either the application code, or the location of the application code, for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "CodeContentDescription":{ + "type":"structure", + "members":{ + "TextContent":{ + "shape":"TextContent", + "documentation":"

The text-format code

" + }, + "CodeMD5":{ + "shape":"CodeMD5", + "documentation":"

The checksum that can be used to validate zip-format code.

" + }, + "CodeSize":{ + "shape":"CodeSize", + "documentation":"

The size in bytes of the application code. Can be used to validate zip-format code.

" + }, + "S3ApplicationCodeLocationDescription":{ + "shape":"S3ApplicationCodeLocationDescription", + "documentation":"

The S3 bucket Amazon Resource Name (ARN), file key, and object version of the application code stored in Amazon S3.

" + } + }, + "documentation":"

Describes details about the application code for a Java-based Kinesis Data Analytics application.

" + }, + "CodeContentType":{ + "type":"string", + "enum":[ + "PLAINTEXT", + "ZIPFILE" + ] + }, + "CodeContentUpdate":{ + "type":"structure", + "members":{ + "TextContentUpdate":{ + "shape":"TextContent", + "documentation":"

Describes an update to the text code for an application.

" + }, + "ZipFileContentUpdate":{ + "shape":"ZipFileContent", + "documentation":"

Describes an update to the zipped code for an application.

" + }, + "S3ContentLocationUpdate":{ + "shape":"S3ContentLocationUpdate", + "documentation":"

Describes an update to the location of code for an application.

" + } + }, + "documentation":"

Describes an update to the code of a Java-based Kinesis Data Analytics application.

" + }, + "CodeMD5":{ + "type":"string", + "max":128, + "min":128 + }, + "CodeSize":{ + "type":"long", + "max":52428800, + "min":0 + }, + "CodeValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The user-provided application code (query) is not valid. This can be a simple syntax error.

", + "exception":true + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception thrown as a result of concurrent modifications to an application. This error can be the result of attempting to modify an application without using the current application ID.

", + "exception":true + }, + "ConfigurationType":{ + "type":"string", + "enum":[ + "DEFAULT", + "CUSTOM" + ] + }, + "CreateApplicationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "RuntimeEnvironment", + "ServiceExecutionRole" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of your application (for example, sample-app).

" + }, + "ApplicationDescription":{ + "shape":"ApplicationDescription", + "documentation":"

A summary description of the application.

" + }, + "RuntimeEnvironment":{ + "shape":"RuntimeEnvironment", + "documentation":"

The runtime environment for the application (SQL-1.0 or FLINK-1_6).

" + }, + "ServiceExecutionRole":{ + "shape":"RoleARN", + "documentation":"

The IAM role used by the application to access Kinesis data streams, Kinesis Data Firehose delivery streams, Amazon S3 objects, and other external resources.

" + }, + "ApplicationConfiguration":{ + "shape":"ApplicationConfiguration", + "documentation":"

Use this parameter to configure the application.

" + }, + "CloudWatchLoggingOptions":{ + "shape":"CloudWatchLoggingOptions", + "documentation":"

Use this parameter to configure an Amazon CloudWatch log stream to monitor application configuration errors.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of one or more tags to assign to the application. A tag is a key-value pair that identifies an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" + } + } + }, + "CreateApplicationResponse":{ + "type":"structure", + "required":["ApplicationDetail"], + "members":{ + "ApplicationDetail":{ + "shape":"ApplicationDetail", + "documentation":"

In response to your CreateApplication request, Kinesis Data Analytics returns a response with details of the application it created.

" + } + } + }, + "CreateApplicationSnapshotRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "SnapshotName" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application

" + }, + "SnapshotName":{ + "shape":"SnapshotName", + "documentation":"

An identifier for the application snapshot.

" + } + } + }, + "CreateApplicationSnapshotResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteApplicationCloudWatchLoggingOptionRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "CloudWatchLoggingOptionId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the application. You can retrieve the application version ID using DescribeApplication.

" + }, + "CloudWatchLoggingOptionId":{ + "shape":"Id", + "documentation":"

The CloudWatchLoggingOptionId of the Amazon CloudWatch logging option to delete. You can get the CloudWatchLoggingOptionId by using the DescribeApplication operation.

" + } + } + }, + "DeleteApplicationCloudWatchLoggingOptionResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application's Amazon Resource Name (ARN).

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The version ID of the application. Kinesis Data Analytics updates the ApplicationVersionId each time you change the CloudWatch logging options.

" + }, + "CloudWatchLoggingOptionDescriptions":{ + "shape":"CloudWatchLoggingOptionDescriptions", + "documentation":"

The descriptions of the remaining CloudWatch logging options for the application.

" + } + } + }, + "DeleteApplicationInputProcessingConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "InputId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "InputId":{ + "shape":"Id", + "documentation":"

The ID of the input configuration from which to delete the input processing configuration. You can get a list of the input IDs for an application by using the DescribeApplication operation.

" + } + } + }, + "DeleteApplicationInputProcessingConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version ID.

" + } + } + }, + "DeleteApplicationOutputRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "OutputId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The application name.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "OutputId":{ + "shape":"Id", + "documentation":"

The ID of the configuration to delete. Each output configuration that is added to the application (either when the application is created or later) using the AddApplicationOutput operation has a unique ID. You need to provide the ID to uniquely identify the output configuration that you want to delete from the application configuration. You can use the DescribeApplication operation to get the specific OutputId.

" + } + } + }, + "DeleteApplicationOutputResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application Amazon Resource Name (ARN).

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version ID.

" + } + } + }, + "DeleteApplicationReferenceDataSourceRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "ReferenceId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version. You can use the DescribeApplication operation to get the current application version. If the version specified is not the current version, the ConcurrentModificationException is returned.

" + }, + "ReferenceId":{ + "shape":"Id", + "documentation":"

The ID of the reference data source. When you add a reference data source to your application using the AddApplicationReferenceDataSource, Kinesis Data Analytics assigns an ID. You can use the DescribeApplication operation to get the reference ID.

" + } + } + }, + "DeleteApplicationReferenceDataSourceResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The application Amazon Resource Name (ARN).

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The updated version ID of the application.

" + } + } + }, + "DeleteApplicationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CreateTimestamp" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application to delete.

" + }, + "CreateTimestamp":{ + "shape":"Timestamp", + "documentation":"

Use the DescribeApplication operation to get this value.

" + } + } + }, + "DeleteApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteApplicationSnapshotRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "SnapshotName", + "SnapshotCreationTimestamp" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "SnapshotName":{ + "shape":"SnapshotName", + "documentation":"

The identifier for the snapshot delete.

" + }, + "SnapshotCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The creation timestamp of the application snapshot to delete. You can retrieve this value using or .

" + } + } + }, + "DeleteApplicationSnapshotResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteApplicationVpcConfigurationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId", + "VpcConfigurationId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version ID. You can retrieve the application version ID using DescribeApplication.

" + }, + "VpcConfigurationId":{ + "shape":"Id", + "documentation":"

The ID of the VPC configuration to delete.

" + } + } + }, + "DeleteApplicationVpcConfigurationResponse":{ + "type":"structure", + "members":{ + "ApplicationARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the Kinesis Data Analytics application.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The updated version ID of the application.

" + } + } + }, + "DescribeApplicationRequest":{ + "type":"structure", + "required":["ApplicationName"], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "IncludeAdditionalDetails":{ + "shape":"BooleanObject", + "documentation":"

Displays verbose information about a Kinesis Data Analytics application, including the application's job plan.

" + } + } + }, + "DescribeApplicationResponse":{ + "type":"structure", + "required":["ApplicationDetail"], + "members":{ + "ApplicationDetail":{ + "shape":"ApplicationDetail", + "documentation":"

Provides a description of the application, such as the application's Amazon Resource Name (ARN), status, and latest version.

" + } + } + }, + "DescribeApplicationSnapshotRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "SnapshotName" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "SnapshotName":{ + "shape":"SnapshotName", + "documentation":"

The identifier of an application snapshot. You can retrieve this value using .

" + } + } + }, + "DescribeApplicationSnapshotResponse":{ + "type":"structure", + "required":["SnapshotDetails"], + "members":{ + "SnapshotDetails":{ + "shape":"SnapshotDetails", + "documentation":"

An object containing information about the application snapshot.

" + } + } + }, + "DestinationSchema":{ + "type":"structure", + "required":["RecordFormatType"], + "members":{ + "RecordFormatType":{ + "shape":"RecordFormatType", + "documentation":"

Specifies the format of the records on the output stream.

" + } + }, + "documentation":"

Describes the data format when records are written to the destination in an SQL-based Amazon Kinesis Data Analytics application.

" + }, + "DiscoverInputSchemaRequest":{ + "type":"structure", + "required":["ServiceExecutionRole"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the streaming source.

" + }, + "ServiceExecutionRole":{ + "shape":"RoleARN", + "documentation":"

The ARN of the role that is used to access the streaming source.

" + }, + "InputStartingPositionConfiguration":{ + "shape":"InputStartingPositionConfiguration", + "documentation":"

The point at which you want Kinesis Data Analytics to start reading records from the specified streaming source discovery purposes.

" + }, + "S3Configuration":{ + "shape":"S3Configuration", + "documentation":"

Specify this parameter to discover a schema from data in an Amazon S3 object.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration to use to preprocess the records before discovering the schema of the records.

" + } + } + }, + "DiscoverInputSchemaResponse":{ + "type":"structure", + "members":{ + "InputSchema":{ + "shape":"SourceSchema", + "documentation":"

The schema inferred from the streaming source. It identifies the format of the data in the streaming source and how each data element maps to corresponding columns in the in-application stream that you can create.

" + }, + "ParsedInputRecords":{ + "shape":"ParsedInputRecords", + "documentation":"

An array of elements, where each element corresponds to a row in a stream record (a stream record can have more than one row).

" + }, + "ProcessedInputRecords":{ + "shape":"ProcessedInputRecords", + "documentation":"

The stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

" + }, + "RawInputRecords":{ + "shape":"RawInputRecords", + "documentation":"

The raw stream data that was sampled to infer the schema.

" + } + } + }, + "EnvironmentProperties":{ + "type":"structure", + "required":["PropertyGroups"], + "members":{ + "PropertyGroups":{ + "shape":"PropertyGroups", + "documentation":"

Describes the execution property groups.

" + } + }, + "documentation":"

Describes execution properties for a Java-based Kinesis Data Analytics application.

" + }, + "EnvironmentPropertyDescriptions":{ + "type":"structure", + "members":{ + "PropertyGroupDescriptions":{ + "shape":"PropertyGroups", + "documentation":"

Describes the execution property groups.

" + } + }, + "documentation":"

Describes the execution properties for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "EnvironmentPropertyUpdates":{ + "type":"structure", + "required":["PropertyGroups"], + "members":{ + "PropertyGroups":{ + "shape":"PropertyGroups", + "documentation":"

Describes updates to the execution property groups.

" + } + }, + "documentation":"

Describes updates to the execution property groups for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "ErrorMessage":{"type":"string"}, + "FileKey":{ + "type":"string", + "max":1024, + "min":1 + }, + "FlinkApplicationConfiguration":{ + "type":"structure", + "members":{ + "CheckpointConfiguration":{ + "shape":"CheckpointConfiguration", + "documentation":"

Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance. For more information, see Checkpoints for Fault Tolerance in the Apache Flink Documentation.

" + }, + "MonitoringConfiguration":{ + "shape":"MonitoringConfiguration", + "documentation":"

Describes configuration parameters for Amazon CloudWatch logging for an application.

" + }, + "ParallelismConfiguration":{ + "shape":"ParallelismConfiguration", + "documentation":"

Describes parameters for how an application executes multiple tasks simultaneously.

" + } + }, + "documentation":"

Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "FlinkApplicationConfigurationDescription":{ + "type":"structure", + "members":{ + "CheckpointConfigurationDescription":{ + "shape":"CheckpointConfigurationDescription", + "documentation":"

Describes an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance.

" + }, + "MonitoringConfigurationDescription":{ + "shape":"MonitoringConfigurationDescription", + "documentation":"

Describes configuration parameters for Amazon CloudWatch logging for an application.

" + }, + "ParallelismConfigurationDescription":{ + "shape":"ParallelismConfigurationDescription", + "documentation":"

Describes parameters for how an application executes multiple tasks simultaneously.

" + }, + "JobPlanDescription":{ + "shape":"JobPlanDescription", + "documentation":"

The job plan for an application. For more information about the job plan, see Jobs and Scheduling in the Apache Flink Documentation. To retrieve the job plan for the application, use the DescribeApplicationRequest$IncludeAdditionalDetails parameter of the DescribeApplication operation.

" + } + }, + "documentation":"

Describes configuration parameters for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "FlinkApplicationConfigurationUpdate":{ + "type":"structure", + "members":{ + "CheckpointConfigurationUpdate":{ + "shape":"CheckpointConfigurationUpdate", + "documentation":"

Describes updates to an application's checkpointing configuration. Checkpointing is the process of persisting application state for fault tolerance.

" + }, + "MonitoringConfigurationUpdate":{ + "shape":"MonitoringConfigurationUpdate", + "documentation":"

Describes updates to the configuration parameters for Amazon CloudWatch logging for an application.

" + }, + "ParallelismConfigurationUpdate":{ + "shape":"ParallelismConfigurationUpdate", + "documentation":"

Describes updates to the parameters for how an application executes multiple tasks simultaneously.

" + } + }, + "documentation":"

Describes updates to the configuration parameters for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "FlinkRunConfiguration":{ + "type":"structure", + "members":{ + "AllowNonRestoredState":{ + "shape":"BooleanObject", + "documentation":"

When restoring from a savepoint, specifies whether the runtime is allowed to skip a state that cannot be mapped to the new program. This will happen if the program is updated between savepoints to remove stateful parameters, and state data in the savepoint no longer corresponds to valid application data. For more information, see Allowing Non-Restored State in the Apache Flink documentation.

" + } + }, + "documentation":"

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

" + }, + "Id":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "InAppStreamName":{ + "type":"string", + "max":32, + "min":1 + }, + "InAppStreamNames":{ + "type":"list", + "member":{"shape":"InAppStreamName"} + }, + "InAppTableName":{ + "type":"string", + "max":32, + "min":1 + }, + "Input":{ + "type":"structure", + "required":[ + "NamePrefix", + "InputSchema" + ], + "members":{ + "NamePrefix":{ + "shape":"InAppStreamName", + "documentation":"

The name prefix to use when creating an in-application stream. Suppose that you specify a prefix \"MyInApplicationStream.\" Kinesis Data Analytics then creates one or more (as per the InputParallelism count you specified) in-application streams with the names \"MyInApplicationStream_001,\" \"MyInApplicationStream_002,\" and so on.

" + }, + "InputProcessingConfiguration":{ + "shape":"InputProcessingConfiguration", + "documentation":"

The InputProcessingConfiguration for the input. An input processor transforms records as they are received from the stream, before the application's SQL code executes. Currently, the only input processing configuration available is InputLambdaProcessor.

" + }, + "KinesisStreamsInput":{ + "shape":"KinesisStreamsInput", + "documentation":"

If the streaming source is an Amazon Kinesis data stream, identifies the stream's Amazon Resource Name (ARN).

" + }, + "KinesisFirehoseInput":{ + "shape":"KinesisFirehoseInput", + "documentation":"

If the streaming source is an Amazon Kinesis Data Firehose delivery stream, identifies the delivery stream's ARN.

" + }, + "InputParallelism":{ + "shape":"InputParallelism", + "documentation":"

Describes the number of in-application streams to create.

" + }, + "InputSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

Also used to describe the format of the reference data source.

" + } + }, + "documentation":"

When you configure the application input for an SQL-based Amazon Kinesis Data Analytics application, you specify the streaming source, the in-application stream name that is created, and the mapping between the two.

" + }, + "InputDescription":{ + "type":"structure", + "members":{ + "InputId":{ + "shape":"Id", + "documentation":"

The input ID that is associated with the application input. This is the ID that Kinesis Data Analytics assigns to each input configuration that you add to your application.

" + }, + "NamePrefix":{ + "shape":"InAppStreamName", + "documentation":"

The in-application name prefix.

" + }, + "InAppStreamNames":{ + "shape":"InAppStreamNames", + "documentation":"

Returns the in-application stream names that are mapped to the stream source.

" + }, + "InputProcessingConfigurationDescription":{ + "shape":"InputProcessingConfigurationDescription", + "documentation":"

The description of the preprocessor that executes on records in this input before the application's code is run.

" + }, + "KinesisStreamsInputDescription":{ + "shape":"KinesisStreamsInputDescription", + "documentation":"

If a Kinesis data stream is configured as a streaming source, provides the Kinesis data stream's Amazon Resource Name (ARN).

" + }, + "KinesisFirehoseInputDescription":{ + "shape":"KinesisFirehoseInputDescription", + "documentation":"

If a Kinesis Data Firehose delivery stream is configured as a streaming source, provides the delivery stream's ARN.

" + }, + "InputSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns in the in-application stream that is being created.

" + }, + "InputParallelism":{ + "shape":"InputParallelism", + "documentation":"

Describes the configured parallelism (number of in-application streams mapped to the streaming source).

" + }, + "InputStartingPositionConfiguration":{ + "shape":"InputStartingPositionConfiguration", + "documentation":"

The point at which the application is configured to read from the input stream.

" + } + }, + "documentation":"

Describes the application input configuration for an SQL-based Amazon Kinesis Data Analytics application.

" + }, + "InputDescriptions":{ + "type":"list", + "member":{"shape":"InputDescription"} + }, + "InputLambdaProcessor":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the AWS Lambda function that operates on records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + } + }, + "documentation":"

An object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream in an SQL-based Amazon Kinesis Data Analytics application.

" + }, + "InputLambdaProcessorDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that is used to access the AWS Lambda function.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, an object that contains the Amazon Resource Name (ARN) of the AWS Lambda function that is used to preprocess records in the stream.

" + }, + "InputLambdaProcessorUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the new AWS Lambda function that is used to preprocess the records in the stream.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, represents an update to the InputLambdaProcessor that is used to preprocess the records in the stream.

" + }, + "InputParallelism":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"InputParallelismCount", + "documentation":"

The number of in-application streams to create.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the number of in-application streams to create for a given streaming source.

" + }, + "InputParallelismCount":{ + "type":"integer", + "max":64, + "min":1 + }, + "InputParallelismUpdate":{ + "type":"structure", + "required":["CountUpdate"], + "members":{ + "CountUpdate":{ + "shape":"InputParallelismCount", + "documentation":"

The number of in-application streams to create for the specified streaming source.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides updates to the parallelism count.

" + }, + "InputProcessingConfiguration":{ + "type":"structure", + "required":["InputLambdaProcessor"], + "members":{ + "InputLambdaProcessor":{ + "shape":"InputLambdaProcessor", + "documentation":"

The InputLambdaProcessor that is used to preprocess the records in the stream before being processed by your application code.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes a processor that is used to preprocess the records in the stream before being processed by your application code. Currently, the only input processor available is AWS Lambda.

" + }, + "InputProcessingConfigurationDescription":{ + "type":"structure", + "members":{ + "InputLambdaProcessorDescription":{ + "shape":"InputLambdaProcessorDescription", + "documentation":"

Provides configuration information about the associated InputLambdaProcessorDescription

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides the configuration information about an input processor. Currently, the only input processor available is AWS Lambda.

" + }, + "InputProcessingConfigurationUpdate":{ + "type":"structure", + "required":["InputLambdaProcessorUpdate"], + "members":{ + "InputLambdaProcessorUpdate":{ + "shape":"InputLambdaProcessorUpdate", + "documentation":"

Provides update information for an InputLambdaProcessor.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes updates to an InputProcessingConfiguration.

" + }, + "InputSchemaUpdate":{ + "type":"structure", + "members":{ + "RecordFormatUpdate":{ + "shape":"RecordFormat", + "documentation":"

Specifies the format of the records on the streaming source.

" + }, + "RecordEncodingUpdate":{ + "shape":"RecordEncoding", + "documentation":"

Specifies the encoding of the records in the streaming source; for example, UTF-8.

" + }, + "RecordColumnUpdates":{ + "shape":"RecordColumns", + "documentation":"

A list of RecordColumn objects. Each object describes the mapping of the streaming source element to the corresponding column in the in-application stream.

" + } + }, + "documentation":"

Describes updates for an SQL-based Amazon Kinesis Data Analytics application's input schema.

" + }, + "InputStartingPosition":{ + "type":"string", + "enum":[ + "NOW", + "TRIM_HORIZON", + "LAST_STOPPED_POINT" + ] + }, + "InputStartingPositionConfiguration":{ + "type":"structure", + "members":{ + "InputStartingPosition":{ + "shape":"InputStartingPosition", + "documentation":"

The starting position on the stream.

  • NOW - Start reading just after the most recent record in the stream, and start at the request timestamp that the customer issued.

  • TRIM_HORIZON - Start reading at the last untrimmed record in the stream, which is the oldest record available in the stream. This option is not available for an Amazon Kinesis Data Firehose delivery stream.

  • LAST_STOPPED_POINT - Resume reading from where the application last stopped reading.

" + } + }, + "documentation":"

Describes the point at which the application reads from the streaming source.

" + }, + "InputUpdate":{ + "type":"structure", + "required":["InputId"], + "members":{ + "InputId":{ + "shape":"Id", + "documentation":"

The input ID of the application input to be updated.

" + }, + "NamePrefixUpdate":{ + "shape":"InAppStreamName", + "documentation":"

The name prefix for in-application streams that Kinesis Data Analytics creates for the specific streaming source.

" + }, + "InputProcessingConfigurationUpdate":{ + "shape":"InputProcessingConfigurationUpdate", + "documentation":"

Describes updates to an InputProcessingConfiguration.

" + }, + "KinesisStreamsInputUpdate":{ + "shape":"KinesisStreamsInputUpdate", + "documentation":"

If a Kinesis data stream is the streaming source to be updated, provides an updated stream Amazon Resource Name (ARN).

" + }, + "KinesisFirehoseInputUpdate":{ + "shape":"KinesisFirehoseInputUpdate", + "documentation":"

If a Kinesis Data Firehose delivery stream is the streaming source to be updated, provides an updated stream ARN.

" + }, + "InputSchemaUpdate":{ + "shape":"InputSchemaUpdate", + "documentation":"

Describes the data format on the streaming source, and how record elements on the streaming source map to columns of the in-application stream that is created.

" + }, + "InputParallelismUpdate":{ + "shape":"InputParallelismUpdate", + "documentation":"

Describes the parallelism updates (the number of in-application streams Kinesis Data Analytics creates for the specific streaming source).

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes updates to a specific input configuration (identified by the InputId of an application).

" + }, + "InputUpdates":{ + "type":"list", + "member":{"shape":"InputUpdate"} + }, + "Inputs":{ + "type":"list", + "member":{"shape":"Input"} + }, + "InvalidApplicationConfigurationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The user-provided application configuration is not valid.

", + "exception":true + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified input parameter value is not valid.

", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request JSON is not valid for the operation.

", + "exception":true + }, + "JSONMappingParameters":{ + "type":"structure", + "required":["RecordRowPath"], + "members":{ + "RecordRowPath":{ + "shape":"RecordRowPath", + "documentation":"

The path to the top-level parent that contains the records.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides additional mapping information when JSON is the record format on the streaming source.

" + }, + "JobPlanDescription":{"type":"string"}, + "KinesisAnalyticsARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:kinesisanalytics:[a-z]{2}-[a-z]+-\\d{1}+:\\d{12}+:application/[a-zA-Z0-9_.-]{1,128}" + }, + "KinesisFirehoseInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the delivery stream.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, identifies a Kinesis Data Firehose delivery stream as the streaming source. You provide the delivery stream's Amazon Resource Name (ARN).

" + }, + "KinesisFirehoseInputDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the delivery stream.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics assumes to access the stream.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

Describes the Amazon Kinesis Data Firehose delivery stream that is configured as the streaming source in the application input configuration.

" + }, + "KinesisFirehoseInputUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the input delivery stream to read.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, when updating application input configuration, provides information about a Kinesis Data Firehose delivery stream as the streaming source.

" + }, + "KinesisFirehoseOutput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the destination delivery stream to write to.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, when configuring application output, identifies a Kinesis Data Firehose delivery stream as the destination. You provide the stream Amazon Resource Name (ARN) of the delivery stream.

" + }, + "KinesisFirehoseOutputDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the delivery stream.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics can assume to access the stream.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application's output, describes the Kinesis Data Firehose delivery stream that is configured as its destination.

" + }, + "KinesisFirehoseOutputUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the delivery stream to write to.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, when updating an output configuration using the UpdateApplication operation, provides information about a Kinesis Data Firehose delivery stream that is configured as the destination.

" + }, + "KinesisStreamsInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the input Kinesis data stream to read.

" + } + }, + "documentation":"

Identifies an Amazon Kinesis data stream as the streaming source. You provide the stream's Amazon Resource Name (ARN).

" + }, + "KinesisStreamsInputDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the Kinesis data stream.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics can assume to access the stream.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the Kinesis data stream that is configured as the streaming source in the application input configuration.

" + }, + "KinesisStreamsInputUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the input Kinesis data stream to read.

" + } + }, + "documentation":"

When you update the input configuration for an SQL-based Amazon Kinesis Data Analytics application, provides information about an Amazon Kinesis stream as the streaming source.

" + }, + "KinesisStreamsOutput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the destination Kinesis data stream to write to.

" + } + }, + "documentation":"

When you configure an SQL-based Amazon Kinesis Data Analytics application's output, identifies a Kinesis data stream as the destination. You provide the stream Amazon Resource Name (ARN).

" + }, + "KinesisStreamsOutputDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the Kinesis data stream.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics can assume to access the stream.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application's output, describes the Kinesis data stream that is configured as its destination.

" + }, + "KinesisStreamsOutputUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the Kinesis data stream where you want to write the output.

" + } + }, + "documentation":"

When you update an SQL-based Amazon Kinesis Data Analytics application's output configuration using the UpdateApplication operation, provides information about a Kinesis data stream that is configured as the destination.

" + }, + "LambdaOutput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the destination Lambda function to write to.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + } + }, + "documentation":"

When you configure an SQL-based Amazon Kinesis Data Analytics application's output, identifies an AWS Lambda function as the destination. You provide the function Amazon Resource Name (ARN) of the Lambda function.

" + }, + "LambdaOutputDescription":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the destination Lambda function.

" + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics can assume to write to the destination function.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application output, describes the AWS Lambda function that is configured as its destination.

" + }, + "LambdaOutputUpdate":{ + "type":"structure", + "required":["ResourceARNUpdate"], + "members":{ + "ResourceARNUpdate":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the destination AWS Lambda function.

To specify an earlier version of the Lambda function than the latest, include the Lambda function version in the Lambda function ARN. For more information about Lambda ARNs, see Example ARNs: AWS Lambda

" + } + }, + "documentation":"

When you update an SQL-based Amazon Kinesis Data Analytics application's output configuration using the UpdateApplication operation, provides information about an AWS Lambda function that is configured as the destination.

" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The number of allowed resources has been exceeded.

", + "exception":true + }, + "ListApplicationSnapshotsRequest":{ + "type":"structure", + "required":["ApplicationName"], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of an existing application.

" + }, + "Limit":{ + "shape":"ListSnapshotsInputLimit", + "documentation":"

The maximum number of application snapshots to list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter if you receive a NextToken response in a previous request that indicates that there is more output available. Set it to the value of the previous call's NextToken response to indicate where the output should continue from.

" + } + } + }, + "ListApplicationSnapshotsResponse":{ + "type":"structure", + "members":{ + "SnapshotSummaries":{ + "shape":"SnapshotSummaries", + "documentation":"

A collection of objects containing information about the application snapshots.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of results, or null if there are no additional results.

" + } + } + }, + "ListApplicationsInputLimit":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListApplicationsRequest":{ + "type":"structure", + "members":{ + "Limit":{ + "shape":"ListApplicationsInputLimit", + "documentation":"

The maximum number of applications to list.

" + }, + "NextToken":{ + "shape":"ApplicationName", + "documentation":"

If a previous command returned a pagination token, pass it into this value to retrieve the next set of results. For more information about pagination, see Using the AWS Command Line Interface's Pagination Options.

" + } + } + }, + "ListApplicationsResponse":{ + "type":"structure", + "required":["ApplicationSummaries"], + "members":{ + "ApplicationSummaries":{ + "shape":"ApplicationSummaries", + "documentation":"

A list of ApplicationSummary objects.

" + }, + "NextToken":{ + "shape":"ApplicationName", + "documentation":"

The pagination token for the next set of results, or null if there are no additional results. Pass this token into a subsequent command to retrieve the next set of items For more information about pagination, see Using the AWS Command Line Interface's Pagination Options.

" + } + } + }, + "ListSnapshotsInputLimit":{ + "type":"integer", + "max":50, + "min":1 + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application for which to retrieve tags.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags assigned to the application.

" + } + } + }, + "LogLevel":{ + "type":"string", + "enum":[ + "INFO", + "WARN", + "ERROR", + "DEBUG" + ] + }, + "LogStreamARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:.*" + }, + "MappingParameters":{ + "type":"structure", + "members":{ + "JSONMappingParameters":{ + "shape":"JSONMappingParameters", + "documentation":"

Provides additional mapping information when JSON is the record format on the streaming source.

" + }, + "CSVMappingParameters":{ + "shape":"CSVMappingParameters", + "documentation":"

Provides additional mapping information when the record format uses delimiters (for example, CSV).

" + } + }, + "documentation":"

When you configure an SQL-based Amazon Kinesis Data Analytics application's input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

" + }, + "MetricsLevel":{ + "type":"string", + "enum":[ + "APPLICATION", + "TASK", + "OPERATOR", + "PARALLELISM" + ] + }, + "MinPauseBetweenCheckpoints":{ + "type":"long", + "min":0 + }, + "MonitoringConfiguration":{ + "type":"structure", + "required":["ConfigurationType"], + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether to use the default CloudWatch logging configuration for an application. You must set this property to CUSTOM in order to set the LogLevel or MetricsLevel parameters.

" + }, + "MetricsLevel":{ + "shape":"MetricsLevel", + "documentation":"

Describes the granularity of the CloudWatch Logs for an application.

" + }, + "LogLevel":{ + "shape":"LogLevel", + "documentation":"

Describes the verbosity of the CloudWatch Logs for an application.

" + } + }, + "documentation":"

Describes configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application. For more information about CloudWatch logging, see Monitoring.

" + }, + "MonitoringConfigurationDescription":{ + "type":"structure", + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether to use the default CloudWatch logging configuration for an application.

" + }, + "MetricsLevel":{ + "shape":"MetricsLevel", + "documentation":"

Describes the granularity of the CloudWatch Logs for an application.

" + }, + "LogLevel":{ + "shape":"LogLevel", + "documentation":"

Describes the verbosity of the CloudWatch Logs for an application.

" + } + }, + "documentation":"

Describes configuration parameters for CloudWatch logging for a Java-based Kinesis Data Analytics application.

" + }, + "MonitoringConfigurationUpdate":{ + "type":"structure", + "members":{ + "ConfigurationTypeUpdate":{ + "shape":"ConfigurationType", + "documentation":"

Describes updates to whether to use the default CloudWatch logging configuration for an application. You must set this property to CUSTOM in order to set the LogLevel or MetricsLevel parameters.

" + }, + "MetricsLevelUpdate":{ + "shape":"MetricsLevel", + "documentation":"

Describes updates to the granularity of the CloudWatch Logs for an application.

" + }, + "LogLevelUpdate":{ + "shape":"LogLevel", + "documentation":"

Describes updates to the verbosity of the CloudWatch Logs for an application.

" + } + }, + "documentation":"

Describes updates to configuration parameters for Amazon CloudWatch logging for a Java-based Kinesis Data Analytics application.

" + }, + "NextToken":{ + "type":"string", + "max":512, + "min":1 + }, + "ObjectVersion":{"type":"string"}, + "Output":{ + "type":"structure", + "required":[ + "Name", + "DestinationSchema" + ], + "members":{ + "Name":{ + "shape":"InAppStreamName", + "documentation":"

The name of the in-application stream.

" + }, + "KinesisStreamsOutput":{ + "shape":"KinesisStreamsOutput", + "documentation":"

Identifies an Amazon Kinesis data stream as the destination.

" + }, + "KinesisFirehoseOutput":{ + "shape":"KinesisFirehoseOutput", + "documentation":"

Identifies an Amazon Kinesis Data Firehose delivery stream as the destination.

" + }, + "LambdaOutput":{ + "shape":"LambdaOutput", + "documentation":"

Identifies an AWS Lambda function as the destination.

" + }, + "DestinationSchema":{ + "shape":"DestinationSchema", + "documentation":"

Describes the data format when records are written to the destination.

" + } + }, + "documentation":"

Describes an SQL-based Amazon Kinesis Data Analytics application's output configuration, in which you identify an in-application stream and a destination where you want the in-application stream data to be written. The destination can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.

" + }, + "OutputDescription":{ + "type":"structure", + "members":{ + "OutputId":{ + "shape":"Id", + "documentation":"

A unique identifier for the output configuration.

" + }, + "Name":{ + "shape":"InAppStreamName", + "documentation":"

The name of the in-application stream that is configured as output.

" + }, + "KinesisStreamsOutputDescription":{ + "shape":"KinesisStreamsOutputDescription", + "documentation":"

Describes the Kinesis data stream that is configured as the destination where output is written.

" + }, + "KinesisFirehoseOutputDescription":{ + "shape":"KinesisFirehoseOutputDescription", + "documentation":"

Describes the Kinesis Data Firehose delivery stream that is configured as the destination where output is written.

" + }, + "LambdaOutputDescription":{ + "shape":"LambdaOutputDescription", + "documentation":"

Describes the Lambda function that is configured as the destination where output is written.

" + }, + "DestinationSchema":{ + "shape":"DestinationSchema", + "documentation":"

The data format used for writing data to the destination.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the application output configuration, which includes the in-application stream name and the destination where the stream data is written. The destination can be a Kinesis data stream or a Kinesis Data Firehose delivery stream.

" + }, + "OutputDescriptions":{ + "type":"list", + "member":{"shape":"OutputDescription"} + }, + "OutputUpdate":{ + "type":"structure", + "required":["OutputId"], + "members":{ + "OutputId":{ + "shape":"Id", + "documentation":"

Identifies the specific output configuration that you want to update.

" + }, + "NameUpdate":{ + "shape":"InAppStreamName", + "documentation":"

If you want to specify a different in-application stream for this output configuration, use this field to specify the new in-application stream name.

" + }, + "KinesisStreamsOutputUpdate":{ + "shape":"KinesisStreamsOutputUpdate", + "documentation":"

Describes a Kinesis data stream as the destination for the output.

" + }, + "KinesisFirehoseOutputUpdate":{ + "shape":"KinesisFirehoseOutputUpdate", + "documentation":"

Describes a Kinesis Data Firehose delivery stream as the destination for the output.

" + }, + "LambdaOutputUpdate":{ + "shape":"LambdaOutputUpdate", + "documentation":"

Describes an AWS Lambda function as the destination for the output.

" + }, + "DestinationSchemaUpdate":{ + "shape":"DestinationSchema", + "documentation":"

Describes the data format when records are written to the destination.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes updates to the output configuration identified by the OutputId.

" + }, + "OutputUpdates":{ + "type":"list", + "member":{"shape":"OutputUpdate"} + }, + "Outputs":{ + "type":"list", + "member":{"shape":"Output"} + }, + "Parallelism":{ + "type":"integer", + "min":1 + }, + "ParallelismConfiguration":{ + "type":"structure", + "required":["ConfigurationType"], + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether the application uses the default parallelism for the Kinesis Data Analytics service. You must set this property to CUSTOM in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

" + }, + "Parallelism":{ + "shape":"Parallelism", + "documentation":"

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics increases the CurrentParallelism value in response to application load. The service can increase the CurrentParallelism value up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

" + }, + "ParallelismPerKPU":{ + "shape":"ParallelismPerKPU", + "documentation":"

Describes the number of parallel tasks that a Java-based Kinesis Data Analytics application can perform per Kinesis Processing Unit (KPU) used by the application. For more information about KPUs, see Amazon Kinesis Data Analytics Pricing.

" + }, + "AutoScalingEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

" + } + }, + "documentation":"

Describes parameters for how a Java-based Amazon Kinesis Data Analytics application executes multiple tasks simultaneously. For more information about parallelism, see Parallel Execution in the Apache Flink Documentation.

" + }, + "ParallelismConfigurationDescription":{ + "type":"structure", + "members":{ + "ConfigurationType":{ + "shape":"ConfigurationType", + "documentation":"

Describes whether the application uses the default parallelism for the Kinesis Data Analytics service.

" + }, + "Parallelism":{ + "shape":"Parallelism", + "documentation":"

Describes the initial number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

" + }, + "ParallelismPerKPU":{ + "shape":"ParallelismPerKPU", + "documentation":"

Describes the number of parallel tasks that a Java-based Kinesis Data Analytics application can perform per Kinesis Processing Unit (KPU) used by the application.

" + }, + "CurrentParallelism":{ + "shape":"Parallelism", + "documentation":"

Describes the current number of parallel tasks that a Java-based Kinesis Data Analytics application can perform. If AutoScalingEnabled is set to True, Kinesis Data Analytics can increase this value in response to application load. The service can increase this value up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service can reduce the CurrentParallelism value down to the Parallelism setting.

" + }, + "AutoScalingEnabled":{ + "shape":"BooleanObject", + "documentation":"

Describes whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

" + } + }, + "documentation":"

Describes parameters for how a Java-based Kinesis Data Analytics application executes multiple tasks simultaneously.

" + }, + "ParallelismConfigurationUpdate":{ + "type":"structure", + "members":{ + "ConfigurationTypeUpdate":{ + "shape":"ConfigurationType", + "documentation":"

Describes updates to whether the application uses the default parallelism for the Kinesis Data Analytics service, or if a custom parallelism is used. You must set this property to CUSTOM in order to change your application's AutoScalingEnabled, Parallelism, or ParallelismPerKPU properties.

" + }, + "ParallelismUpdate":{ + "shape":"Parallelism", + "documentation":"

Describes updates to the initial number of parallel tasks an application can perform. If AutoScalingEnabled is set to True, then Kinesis Data Analytics can increase the CurrentParallelism value in response to application load. The service can increase CurrentParallelism up to the maximum parallelism, which is ParalellismPerKPU times the maximum KPUs for the application. The maximum KPUs for an application is 32 by default, and can be increased by requesting a limit increase. If application load is reduced, the service will reduce CurrentParallelism down to the Parallelism setting.

" + }, + "ParallelismPerKPUUpdate":{ + "shape":"ParallelismPerKPU", + "documentation":"

Describes updates to the number of parallel tasks an application can perform per Kinesis Processing Unit (KPU) used by the application.

" + }, + "AutoScalingEnabledUpdate":{ + "shape":"BooleanObject", + "documentation":"

Describes updates to whether the Kinesis Data Analytics service can increase the parallelism of the application in response to increased throughput.

" + } + }, + "documentation":"

Describes updates to parameters for how a Java-based Kinesis Data Analytics application executes multiple tasks simultaneously.

" + }, + "ParallelismPerKPU":{ + "type":"integer", + "min":1 + }, + "ParsedInputRecord":{ + "type":"list", + "member":{"shape":"ParsedInputRecordField"} + }, + "ParsedInputRecordField":{"type":"string"}, + "ParsedInputRecords":{ + "type":"list", + "member":{"shape":"ParsedInputRecord"} + }, + "ProcessedInputRecord":{"type":"string"}, + "ProcessedInputRecords":{ + "type":"list", + "member":{"shape":"ProcessedInputRecord"} + }, + "PropertyGroup":{ + "type":"structure", + "required":[ + "PropertyGroupId", + "PropertyMap" + ], + "members":{ + "PropertyGroupId":{ + "shape":"Id", + "documentation":"

Describes the key of an application execution property key-value pair.

" + }, + "PropertyMap":{ + "shape":"PropertyMap", + "documentation":"

Describes the value of an application execution property key-value pair.

" + } + }, + "documentation":"

Property key-value pairs passed into a Java-based Kinesis Data Analytics application.

" + }, + "PropertyGroups":{ + "type":"list", + "member":{"shape":"PropertyGroup"}, + "max":50 + }, + "PropertyKey":{ + "type":"string", + "max":2048, + "min":1 + }, + "PropertyMap":{ + "type":"map", + "key":{"shape":"PropertyKey"}, + "value":{"shape":"PropertyValue"}, + "max":50, + "min":1 + }, + "PropertyValue":{ + "type":"string", + "max":2048, + "min":1 + }, + "RawInputRecord":{"type":"string"}, + "RawInputRecords":{ + "type":"list", + "member":{"shape":"RawInputRecord"} + }, + "RecordColumn":{ + "type":"structure", + "required":[ + "Name", + "SqlType" + ], + "members":{ + "Name":{ + "shape":"RecordColumnName", + "documentation":"

The name of the column that is created in the in-application input stream or reference table.

" + }, + "Mapping":{ + "shape":"RecordColumnMapping", + "documentation":"

A reference to the data element in the streaming input or the reference data source.

" + }, + "SqlType":{ + "shape":"RecordColumnSqlType", + "documentation":"

The type of column created in the in-application input stream or reference table.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the mapping of each data element in the streaming source to the corresponding column in the in-application stream.

Also used to describe the format of the reference data source.

" + }, + "RecordColumnDelimiter":{ + "type":"string", + "min":1 + }, + "RecordColumnMapping":{"type":"string"}, + "RecordColumnName":{"type":"string"}, + "RecordColumnSqlType":{ + "type":"string", + "min":1 + }, + "RecordColumns":{ + "type":"list", + "member":{"shape":"RecordColumn"}, + "max":1000, + "min":1 + }, + "RecordEncoding":{ + "type":"string", + "pattern":"UTF-8" + }, + "RecordFormat":{ + "type":"structure", + "required":["RecordFormatType"], + "members":{ + "RecordFormatType":{ + "shape":"RecordFormatType", + "documentation":"

The type of record format.

" + }, + "MappingParameters":{ + "shape":"MappingParameters", + "documentation":"

When you configure application input at the time of creating or updating an application, provides additional mapping information specific to the record format (such as JSON, CSV, or record fields delimited by some delimiter) on the streaming source.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the record format and relevant mapping information that should be applied to schematize the records on the stream.

" + }, + "RecordFormatType":{ + "type":"string", + "enum":[ + "JSON", + "CSV" + ] + }, + "RecordRowDelimiter":{ + "type":"string", + "min":1 + }, + "RecordRowPath":{ + "type":"string", + "min":1 + }, + "ReferenceDataSource":{ + "type":"structure", + "required":[ + "TableName", + "ReferenceSchema" + ], + "members":{ + "TableName":{ + "shape":"InAppTableName", + "documentation":"

The name of the in-application table to create.

" + }, + "S3ReferenceDataSource":{ + "shape":"S3ReferenceDataSource", + "documentation":"

Identifies the S3 bucket and object that contains the reference data. A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + }, + "ReferenceSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the reference data source by providing the source information (Amazon S3 bucket name and object key name), the resulting in-application table name that is created, and the necessary schema to map the data elements in the Amazon S3 object to the in-application table.

" + }, + "ReferenceDataSourceDescription":{ + "type":"structure", + "required":[ + "ReferenceId", + "TableName", + "S3ReferenceDataSourceDescription" + ], + "members":{ + "ReferenceId":{ + "shape":"Id", + "documentation":"

The ID of the reference data source. This is the ID that Kinesis Data Analytics assigns when you add the reference data source to your application using the CreateApplication or UpdateApplication operation.

" + }, + "TableName":{ + "shape":"InAppTableName", + "documentation":"

The in-application table name created by the specific reference data source configuration.

" + }, + "S3ReferenceDataSourceDescription":{ + "shape":"S3ReferenceDataSourceDescription", + "documentation":"

Provides the Amazon S3 bucket name, the object key name that contains the reference data.

" + }, + "ReferenceSchema":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the reference data source configured for an application.

" + }, + "ReferenceDataSourceDescriptions":{ + "type":"list", + "member":{"shape":"ReferenceDataSourceDescription"} + }, + "ReferenceDataSourceUpdate":{ + "type":"structure", + "required":["ReferenceId"], + "members":{ + "ReferenceId":{ + "shape":"Id", + "documentation":"

The ID of the reference data source that is being updated. You can use the DescribeApplication operation to get this value.

" + }, + "TableNameUpdate":{ + "shape":"InAppTableName", + "documentation":"

The in-application table name that is created by this update.

" + }, + "S3ReferenceDataSourceUpdate":{ + "shape":"S3ReferenceDataSourceUpdate", + "documentation":"

Describes the S3 bucket name, object key name, and IAM role that Kinesis Data Analytics can assume to read the Amazon S3 object on your behalf and populate the in-application reference table.

" + }, + "ReferenceSchemaUpdate":{ + "shape":"SourceSchema", + "documentation":"

Describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + } + }, + "documentation":"

When you update a reference data source configuration for a SQL-based Amazon Kinesis Data Analytics application, this object provides all the updated values (such as the source bucket name and object key name), the in-application table name that is created, and updated mapping information that maps the data in the Amazon S3 object to the in-application reference table that is created.

" + }, + "ReferenceDataSourceUpdates":{ + "type":"list", + "member":{"shape":"ReferenceDataSourceUpdate"} + }, + "ReferenceDataSources":{ + "type":"list", + "member":{"shape":"ReferenceDataSource"} + }, + "ResourceARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:.*" + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The application is not available for this operation.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Specified application can't be found.

", + "exception":true + }, + "ResourceProvisionedThroughputExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Discovery failed to get a record from the streaming source because of the Amazon Kinesis Streams ProvisionedThroughputExceededException. For more information, see GetRecords in the Amazon Kinesis Streams API Reference.

", + "exception":true + }, + "RoleARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "RunConfiguration":{ + "type":"structure", + "members":{ + "FlinkRunConfiguration":{ + "shape":"FlinkRunConfiguration", + "documentation":"

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

" + }, + "SqlRunConfigurations":{ + "shape":"SqlRunConfigurations", + "documentation":"

Describes the starting parameters for an SQL-based Kinesis Data Analytics application.

" + }, + "ApplicationRestoreConfiguration":{ + "shape":"ApplicationRestoreConfiguration", + "documentation":"

Describes the restore behavior of a restarting application.

" + } + }, + "documentation":"

Describes the starting parameters for an Amazon Kinesis Data Analytics application.

" + }, + "RunConfigurationDescription":{ + "type":"structure", + "members":{ + "ApplicationRestoreConfigurationDescription":{ + "shape":"ApplicationRestoreConfiguration", + "documentation":"

Describes the restore behavior of a restarting application.

" + } + }, + "documentation":"

Describes the starting properties for a Kinesis Data Analytics application.

" + }, + "RunConfigurationUpdate":{ + "type":"structure", + "members":{ + "FlinkRunConfiguration":{ + "shape":"FlinkRunConfiguration", + "documentation":"

Describes the starting parameters for an Apache Flink-based Kinesis Data Analytics application.

" + }, + "ApplicationRestoreConfiguration":{ + "shape":"ApplicationRestoreConfiguration", + "documentation":"

Describes updates to the restore behavior of a restarting application.

" + } + }, + "documentation":"

Describes the updates to the starting parameters for a Kinesis Data Analytics application.

" + }, + "RuntimeEnvironment":{ + "type":"string", + "enum":[ + "SQL-1_0", + "FLINK-1_6", + "FLINK-1_8" + ] + }, + "S3ApplicationCodeLocationDescription":{ + "type":"structure", + "required":[ + "BucketARN", + "FileKey" + ], + "members":{ + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

The file key for the object containing the application code.

" + }, + "ObjectVersion":{ + "shape":"ObjectVersion", + "documentation":"

The version of the object containing the application code.

" + } + }, + "documentation":"

Describes the location of a Java-based Amazon Kinesis Data Analytics application's code stored in an S3 bucket.

" + }, + "S3Configuration":{ + "type":"structure", + "required":[ + "BucketARN", + "FileKey" + ], + "members":{ + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The ARN of the S3 bucket that contains the data.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

The name of the object that contains the data.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides a description of an Amazon S3 data source, including the Amazon Resource Name (ARN) of the S3 bucket and the name of the Amazon S3 object that contains the data.

" + }, + "S3ContentLocation":{ + "type":"structure", + "required":[ + "BucketARN", + "FileKey" + ], + "members":{ + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The Amazon Resource Name (ARN) for the S3 bucket containing the application code.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

The file key for the object containing the application code.

" + }, + "ObjectVersion":{ + "shape":"ObjectVersion", + "documentation":"

The version of the object containing the application code.

" + } + }, + "documentation":"

For a Java-based Amazon Kinesis Data Analytics application, provides a description of an Amazon S3 object, including the Amazon Resource Name (ARN) of the S3 bucket, the name of the Amazon S3 object that contains the data, and the version number of the Amazon S3 object that contains the data.

" + }, + "S3ContentLocationUpdate":{ + "type":"structure", + "members":{ + "BucketARNUpdate":{ + "shape":"BucketARN", + "documentation":"

The new Amazon Resource Name (ARN) for the S3 bucket containing the application code.

" + }, + "FileKeyUpdate":{ + "shape":"FileKey", + "documentation":"

The new file key for the object containing the application code.

" + }, + "ObjectVersionUpdate":{ + "shape":"ObjectVersion", + "documentation":"

The new version of the object containing the application code.

" + } + }, + "documentation":"

Describes an update for the Amazon S3 code content location for a Java-based Amazon Kinesis Data Analytics application.

" + }, + "S3ReferenceDataSource":{ + "type":"structure", + "members":{ + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the S3 bucket.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

The object key name containing the reference data.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, identifies the Amazon S3 bucket and object that contains the reference data.

A Kinesis Data Analytics application loads reference data only once. If the data changes, you call the UpdateApplication operation to trigger reloading of data into your application.

" + }, + "S3ReferenceDataSourceDescription":{ + "type":"structure", + "required":[ + "BucketARN", + "FileKey" + ], + "members":{ + "BucketARN":{ + "shape":"BucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the S3 bucket.

" + }, + "FileKey":{ + "shape":"FileKey", + "documentation":"

Amazon S3 object key name.

" + }, + "ReferenceRoleARN":{ + "shape":"RoleARN", + "documentation":"

The ARN of the IAM role that Kinesis Data Analytics can assume to read the Amazon S3 object on your behalf to populate the in-application reference table.

Provided for backward compatibility. Applications that are created with the current API version have an application-level service execution role rather than a resource-level role.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, provides the bucket name and object key name that stores the reference data.

" + }, + "S3ReferenceDataSourceUpdate":{ + "type":"structure", + "members":{ + "BucketARNUpdate":{ + "shape":"BucketARN", + "documentation":"

The Amazon Resource Name (ARN) of the S3 bucket.

" + }, + "FileKeyUpdate":{ + "shape":"FileKey", + "documentation":"

The object key name.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the Amazon S3 bucket name and object key name for an in-application reference table.

" + }, + "SecurityGroupId":{"type":"string"}, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service cannot complete the request.

", + "exception":true, + "fault":true + }, + "SnapshotDetails":{ + "type":"structure", + "required":[ + "SnapshotName", + "SnapshotStatus", + "ApplicationVersionId" + ], + "members":{ + "SnapshotName":{ + "shape":"SnapshotName", + "documentation":"

The identifier for the application snapshot.

" + }, + "SnapshotStatus":{ + "shape":"SnapshotStatus", + "documentation":"

The status of the application snapshot.

" + }, + "ApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version ID when the snapshot was created.

" + }, + "SnapshotCreationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp of the application snapshot.

" + } + }, + "documentation":"

Provides details about a snapshot of application state.

" + }, + "SnapshotName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "SnapshotStatus":{ + "type":"string", + "enum":[ + "CREATING", + "READY", + "DELETING", + "FAILED" + ] + }, + "SnapshotSummaries":{ + "type":"list", + "member":{"shape":"SnapshotDetails"} + }, + "SourceSchema":{ + "type":"structure", + "required":[ + "RecordFormat", + "RecordColumns" + ], + "members":{ + "RecordFormat":{ + "shape":"RecordFormat", + "documentation":"

Specifies the format of the records on the streaming source.

" + }, + "RecordEncoding":{ + "shape":"RecordEncoding", + "documentation":"

Specifies the encoding of the records in the streaming source. For example, UTF-8.

" + }, + "RecordColumns":{ + "shape":"RecordColumns", + "documentation":"

A list of RecordColumn objects.

" + } + }, + "documentation":"

For an SQL-based Amazon Kinesis Data Analytics application, describes the format of the data in the streaming source, and how each data element maps to corresponding columns created in the in-application stream.

" + }, + "SqlApplicationConfiguration":{ + "type":"structure", + "members":{ + "Inputs":{ + "shape":"Inputs", + "documentation":"

The array of Input objects describing the input streams used by the application.

" + }, + "Outputs":{ + "shape":"Outputs", + "documentation":"

The array of Output objects describing the destination streams used by the application.

" + }, + "ReferenceDataSources":{ + "shape":"ReferenceDataSources", + "documentation":"

The array of ReferenceDataSource objects describing the reference data sources used by the application.

" + } + }, + "documentation":"

Describes the inputs, outputs, and reference data sources for an SQL-based Kinesis Data Analytics application.

" + }, + "SqlApplicationConfigurationDescription":{ + "type":"structure", + "members":{ + "InputDescriptions":{ + "shape":"InputDescriptions", + "documentation":"

The array of InputDescription objects describing the input streams used by the application.

" + }, + "OutputDescriptions":{ + "shape":"OutputDescriptions", + "documentation":"

The array of OutputDescription objects describing the destination streams used by the application.

" + }, + "ReferenceDataSourceDescriptions":{ + "shape":"ReferenceDataSourceDescriptions", + "documentation":"

The array of ReferenceDataSourceDescription objects describing the reference data sources used by the application.

" + } + }, + "documentation":"

Describes the inputs, outputs, and reference data sources for an SQL-based Kinesis Data Analytics application.

" + }, + "SqlApplicationConfigurationUpdate":{ + "type":"structure", + "members":{ + "InputUpdates":{ + "shape":"InputUpdates", + "documentation":"

The array of InputUpdate objects describing the new input streams used by the application.

" + }, + "OutputUpdates":{ + "shape":"OutputUpdates", + "documentation":"

The array of OutputUpdate objects describing the new destination streams used by the application.

" + }, + "ReferenceDataSourceUpdates":{ + "shape":"ReferenceDataSourceUpdates", + "documentation":"

The array of ReferenceDataSourceUpdate objects describing the new reference data sources used by the application.

" + } + }, + "documentation":"

Describes updates to the input streams, destination streams, and reference data sources for an SQL-based Kinesis Data Analytics application.

" + }, + "SqlRunConfiguration":{ + "type":"structure", + "required":[ + "InputId", + "InputStartingPositionConfiguration" + ], + "members":{ + "InputId":{ + "shape":"Id", + "documentation":"

The input source ID. You can get this ID by calling the DescribeApplication operation.

" + }, + "InputStartingPositionConfiguration":{ + "shape":"InputStartingPositionConfiguration", + "documentation":"

The point at which you want the application to start processing records from the streaming source.

" + } + }, + "documentation":"

Describes the starting parameters for an SQL-based Kinesis Data Analytics application.

" + }, + "SqlRunConfigurations":{ + "type":"list", + "member":{"shape":"SqlRunConfiguration"} + }, + "StartApplicationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "RunConfiguration" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application.

" + }, + "RunConfiguration":{ + "shape":"RunConfiguration", + "documentation":"

Identifies the run configuration (start parameters) of a Kinesis Data Analytics application.

" + } + } + }, + "StartApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "StopApplicationRequest":{ + "type":"structure", + "required":["ApplicationName"], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the running application to stop.

" + } + } + }, + "StopApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "SubnetId":{"type":"string"}, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the key-value tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the key-value tag. The value is optional.

" + } + }, + "documentation":"

A key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50. For more information, see Using Tagging.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the application to assign the tags.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The key-value tags to assign to the application.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, + "TextContent":{ + "type":"string", + "max":102400, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

", + "exception":true + }, + "UnableToDetectSchemaException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "RawInputRecords":{ + "shape":"RawInputRecords", + "documentation":"

Raw stream data that was sampled to infer the schema.

" + }, + "ProcessedInputRecords":{ + "shape":"ProcessedInputRecords", + "documentation":"

Stream data that was modified by the processor specified in the InputProcessingConfiguration parameter.

" + } + }, + "documentation":"

The data format is not valid. Amazon Kinesis Data Analytics cannot detect the schema for the given streaming source.

", + "exception":true + }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"KinesisAnalyticsARN", + "documentation":"

The ARN of the Kinesis Analytics application from which to remove the tags.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of keys of tags to remove from the specified application.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateApplicationRequest":{ + "type":"structure", + "required":[ + "ApplicationName", + "CurrentApplicationVersionId" + ], + "members":{ + "ApplicationName":{ + "shape":"ApplicationName", + "documentation":"

The name of the application to update.

" + }, + "CurrentApplicationVersionId":{ + "shape":"ApplicationVersionId", + "documentation":"

The current application version ID. You can retrieve the application version ID using DescribeApplication.

" + }, + "ApplicationConfigurationUpdate":{ + "shape":"ApplicationConfigurationUpdate", + "documentation":"

Describes application configuration updates.

" + }, + "ServiceExecutionRoleUpdate":{ + "shape":"RoleARN", + "documentation":"

Describes updates to the service execution role.

" + }, + "RunConfigurationUpdate":{ + "shape":"RunConfigurationUpdate", + "documentation":"

Describes updates to the application's starting parameters.

" + }, + "CloudWatchLoggingOptionUpdates":{ + "shape":"CloudWatchLoggingOptionUpdates", + "documentation":"

Describes application Amazon CloudWatch logging option updates. You can only update existing CloudWatch logging options with this action. To add a new CloudWatch logging option, use AddApplicationCloudWatchLoggingOption.

" + } + } + }, + "UpdateApplicationResponse":{ + "type":"structure", + "required":["ApplicationDetail"], + "members":{ + "ApplicationDetail":{ + "shape":"ApplicationDetail", + "documentation":"

Describes application updates.

" + } + } + }, + "VpcConfiguration":{ + "type":"structure", + "required":[ + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

The array of Subnet IDs used by the VPC configuration.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The array of SecurityGroup IDs used by the VPC configuration.

" + } + }, + "documentation":"

Describes the parameters of a VPC used by the application.

" + }, + "VpcConfigurationDescription":{ + "type":"structure", + "required":[ + "VpcConfigurationId", + "VpcId", + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "VpcConfigurationId":{ + "shape":"Id", + "documentation":"

The ID of the VPC configuration.

" + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

The ID of the associated VPC.

" + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

The array of Subnet IDs used by the VPC configuration.

" + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

The array of SecurityGroup IDs used by the VPC configuration.

" + } + }, + "documentation":"

Describes the parameters of a VPC used by the application.

" + }, + "VpcConfigurationDescriptions":{ + "type":"list", + "member":{"shape":"VpcConfigurationDescription"} + }, + "VpcConfigurationUpdate":{ + "type":"structure", + "required":["VpcConfigurationId"], + "members":{ + "VpcConfigurationId":{ + "shape":"Id", + "documentation":"

Describes an update to the ID of the VPC configuration.

" + }, + "SubnetIdUpdates":{ + "shape":"SubnetIds", + "documentation":"

Describes updates to the array of Subnet IDs used by the VPC configuration.

" + }, + "SecurityGroupIdUpdates":{ + "shape":"SecurityGroupIds", + "documentation":"

Describes updates to the array of SecurityGroup IDs used by the VPC configuration.

" + } + }, + "documentation":"

Describes updates to the VPC configuration used by the application.

" + }, + "VpcConfigurationUpdates":{ + "type":"list", + "member":{"shape":"VpcConfigurationUpdate"} + }, + "VpcConfigurations":{ + "type":"list", + "member":{"shape":"VpcConfiguration"} + }, + "VpcId":{"type":"string"}, + "ZipFileContent":{ + "type":"blob", + "max":52428800, + "min":0 + } + }, + "documentation":"

Amazon Kinesis Data Analytics is a fully managed service that you can use to process and analyze streaming data using SQL or Java. The service enables you to quickly author and run SQL or Java code against streaming sources to perform time series analytics, feed real-time dashboards, and create real-time metrics.

" +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/examples-1.json --- python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListStreams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StreamInfoList" + }, + "ListSignalingChannels": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ChannelInfoList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/service-2.json --- python-botocore-1.4.70/botocore/data/kinesisvideo/2017-09-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesisvideo/2017-09-30/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1293 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-30", + "endpointPrefix":"kinesisvideo", + "protocol":"rest-json", + "serviceAbbreviation":"Kinesis Video", + "serviceFullName":"Amazon Kinesis Video Streams", + "serviceId":"Kinesis Video", + "signatureVersion":"v4", + "uid":"kinesisvideo-2017-09-30" + }, + "operations":{ + "CreateSignalingChannel":{ + "name":"CreateSignalingChannel", + "http":{ + "method":"POST", + "requestUri":"/createSignalingChannel" + }, + "input":{"shape":"CreateSignalingChannelInput"}, + "output":{"shape":"CreateSignalingChannelOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"AccountChannelLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TagsPerResourceExceededLimitException"} + ], + "documentation":"

Creates a signaling channel.

CreateSignalingChannel is an asynchronous operation.

" + }, + "CreateStream":{ + "name":"CreateStream", + "http":{ + "method":"POST", + "requestUri":"/createStream" + }, + "input":{"shape":"CreateStreamInput"}, + "output":{"shape":"CreateStreamOutput"}, + "errors":[ + {"shape":"AccountStreamLimitExceededException"}, + {"shape":"DeviceStreamLimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidDeviceException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"TagsPerResourceExceededLimitException"} + ], + "documentation":"

Creates a new Kinesis video stream.

When you create a new stream, Kinesis Video Streams assigns it a version number. When you change the stream's metadata, Kinesis Video Streams updates the version.

CreateStream is an asynchronous operation.

For information about how the service works, see How it Works.

You must have permissions for the KinesisVideo:CreateStream action.

" + }, + "DeleteSignalingChannel":{ + "name":"DeleteSignalingChannel", + "http":{ + "method":"POST", + "requestUri":"/deleteSignalingChannel" + }, + "input":{"shape":"DeleteSignalingChannelInput"}, + "output":{"shape":"DeleteSignalingChannelOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"VersionMismatchException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specified signaling channel. DeleteSignalingChannel is an asynchronous operation. If you don't specify the channel's current version, the most recent version is deleted.

" + }, + "DeleteStream":{ + "name":"DeleteStream", + "http":{ + "method":"POST", + "requestUri":"/deleteStream" + }, + "input":{"shape":"DeleteStreamInput"}, + "output":{"shape":"DeleteStreamOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"VersionMismatchException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a Kinesis video stream and the data contained in the stream.

This method marks the stream for deletion, and makes the data in the stream inaccessible immediately.

To ensure that you have the latest version of the stream before deleting it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

This operation requires permission for the KinesisVideo:DeleteStream action.

" + }, + "DescribeSignalingChannel":{ + "name":"DescribeSignalingChannel", + "http":{ + "method":"POST", + "requestUri":"/describeSignalingChannel" + }, + "input":{"shape":"DescribeSignalingChannelInput"}, + "output":{"shape":"DescribeSignalingChannelOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Returns the most current information about the signaling channel. You must specify either the name or the Amazon Resource Name (ARN) of the channel that you want to describe.

" + }, + "DescribeStream":{ + "name":"DescribeStream", + "http":{ + "method":"POST", + "requestUri":"/describeStream" + }, + "input":{"shape":"DescribeStreamInput"}, + "output":{"shape":"DescribeStreamOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Returns the most current information about the specified stream. You must specify either the StreamName or the StreamARN.

" + }, + "GetDataEndpoint":{ + "name":"GetDataEndpoint", + "http":{ + "method":"POST", + "requestUri":"/getDataEndpoint" + }, + "input":{"shape":"GetDataEndpointInput"}, + "output":{"shape":"GetDataEndpointOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Gets an endpoint for a specified stream for either reading or writing. Use this endpoint in your application to read from the specified stream (using the GetMedia or GetMediaForFragmentList operations) or write to it (using the PutMedia operation).

The returned endpoint does not have the API name appended. The client needs to add the API name to the returned endpoint.

In the request, specify the stream either by StreamName or StreamARN.

" + }, + "GetSignalingChannelEndpoint":{ + "name":"GetSignalingChannelEndpoint", + "http":{ + "method":"POST", + "requestUri":"/getSignalingChannelEndpoint" + }, + "input":{"shape":"GetSignalingChannelEndpointInput"}, + "output":{"shape":"GetSignalingChannelEndpointOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Provides an endpoint for the specified signaling channel to send and receive messages. This API uses the SingleMasterChannelEndpointConfiguration input parameter, which consists of the Protocols and Role properties.

Protocols is used to determine the communication mechanism. For example, if you specify WSS as the protocol, this API produces a secure websocket endpoint. If you specify HTTPS as the protocol, this API generates an HTTPS endpoint.

Role determines the messaging permissions. A MASTER role results in this API generating an endpoint that a client can use to communicate with any of the viewers on the channel. A VIEWER role results in this API generating an endpoint that a client can use to communicate only with a MASTER.

" + }, + "ListSignalingChannels":{ + "name":"ListSignalingChannels", + "http":{ + "method":"POST", + "requestUri":"/listSignalingChannels" + }, + "input":{"shape":"ListSignalingChannelsInput"}, + "output":{"shape":"ListSignalingChannelsOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Returns an array of ChannelInfo objects. Each object describes a signaling channel. To retrieve only those channels that satisfy a specific condition, you can specify a ChannelNameCondition.

" + }, + "ListStreams":{ + "name":"ListStreams", + "http":{ + "method":"POST", + "requestUri":"/listStreams" + }, + "input":{"shape":"ListStreamsInput"}, + "output":{"shape":"ListStreamsOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Returns an array of StreamInfo objects. Each object describes a stream. To retrieve only streams that satisfy a specific condition, you can specify a StreamNameCondition.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/ListTagsForResource" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Returns a list of tags associated with the specified signaling channel.

" + }, + "ListTagsForStream":{ + "name":"ListTagsForStream", + "http":{ + "method":"POST", + "requestUri":"/listTagsForStream" + }, + "input":{"shape":"ListTagsForStreamInput"}, + "output":{"shape":"ListTagsForStreamOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidResourceFormatException"} + ], + "documentation":"

Returns a list of tags associated with the specified stream.

In the request, you must specify either the StreamName or the StreamARN.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/TagResource" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"TagsPerResourceExceededLimitException"} + ], + "documentation":"

Adds one or more tags to a signaling channel. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

" + }, + "TagStream":{ + "name":"TagStream", + "http":{ + "method":"POST", + "requestUri":"/tagStream" + }, + "input":{"shape":"TagStreamInput"}, + "output":{"shape":"TagStreamOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidResourceFormatException"}, + {"shape":"TagsPerResourceExceededLimitException"} + ], + "documentation":"

Adds one or more tags to a stream. A tag is a key-value pair (the value is optional) that you can define and assign to AWS resources. If you specify a tag that already exists, the tag value is replaced with the value that you specify in the request. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

You must provide either the StreamName or the StreamARN.

This operation requires permission for the KinesisVideo:TagStream action.

Kinesis video streams support up to 50 tags.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/UntagResource" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Removes one or more tags from a signaling channel. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

" + }, + "UntagStream":{ + "name":"UntagStream", + "http":{ + "method":"POST", + "requestUri":"/untagStream" + }, + "input":{"shape":"UntagStreamInput"}, + "output":{"shape":"UntagStreamOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidResourceFormatException"} + ], + "documentation":"

Removes one or more tags from a stream. In the request, specify only a tag key or keys; don't specify the value. If you specify a tag key that does not exist, it's ignored.

In the request, you must provide the StreamName or StreamARN.

" + }, + "UpdateDataRetention":{ + "name":"UpdateDataRetention", + "http":{ + "method":"POST", + "requestUri":"/updateDataRetention" + }, + "input":{"shape":"UpdateDataRetentionInput"}, + "output":{"shape":"UpdateDataRetentionOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"VersionMismatchException"} + ], + "documentation":"

Increases or decreases the stream's data retention period by the value that you specify. To indicate whether you want to increase or decrease the data retention period, specify the Operation parameter in the request body. In the request, you must specify either the StreamName or the StreamARN.

The retention period that you specify replaces the current value.

This operation requires permission for the KinesisVideo:UpdateDataRetention action.

Changing the data retention period affects the data in the stream as follows:

  • If the data retention period is increased, existing data is retained for the new retention period. For example, if the data retention period is increased from one hour to seven hours, all existing data is retained for seven hours.

  • If the data retention period is decreased, existing data is retained for the new retention period. For example, if the data retention period is decreased from seven hours to one hour, all existing data is retained for one hour, and any data older than one hour is deleted immediately.

" + }, + "UpdateSignalingChannel":{ + "name":"UpdateSignalingChannel", + "http":{ + "method":"POST", + "requestUri":"/updateSignalingChannel" + }, + "input":{"shape":"UpdateSignalingChannelInput"}, + "output":{"shape":"UpdateSignalingChannelOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"AccessDeniedException"}, + {"shape":"VersionMismatchException"} + ], + "documentation":"

Updates the existing signaling channel. This is an asynchronous operation and takes time to complete.

If the MessageTtlSeconds value is updated (either increased or reduced), it only applies to new messages sent via this channel after it's been updated. Existing messages are still expired as per the previous MessageTtlSeconds value.

" + }, + "UpdateStream":{ + "name":"UpdateStream", + "http":{ + "method":"POST", + "requestUri":"/updateStream" + }, + "input":{"shape":"UpdateStreamInput"}, + "output":{"shape":"UpdateStreamOutput"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"VersionMismatchException"} + ], + "documentation":"

Updates stream metadata, such as the device name and media type.

You must provide the stream name or the Amazon Resource Name (ARN) of the stream.

To make sure that you have the latest version of the stream before updating it, you can specify the stream version. Kinesis Video Streams assigns a version to each stream. When you update a stream, Kinesis Video Streams assigns a new version number. To get the latest stream version, use the DescribeStream API.

UpdateStream is an asynchronous operation, and takes time to complete.

" + } + }, + "shapes":{ + "APIName":{ + "type":"string", + "enum":[ + "PUT_MEDIA", + "GET_MEDIA", + "LIST_FRAGMENTS", + "GET_MEDIA_FOR_FRAGMENT_LIST", + "GET_HLS_STREAMING_SESSION_URL", + "GET_DASH_STREAMING_SESSION_URL", + "GET_CLIP" + ] + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have required permissions to perform this operation.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "AccountChannelLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have reached the maximum limit of active signaling channels for this AWS account in this region.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AccountStreamLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The number of streams created for the account is too high.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ChannelInfo":{ + "type":"structure", + "members":{ + "ChannelName":{ + "shape":"ChannelName", + "documentation":"

The name of the signaling channel.

" + }, + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel.

" + }, + "ChannelType":{ + "shape":"ChannelType", + "documentation":"

The type of the signaling channel.

" + }, + "ChannelStatus":{ + "shape":"Status", + "documentation":"

Current status of the signaling channel.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The time at which the signaling channel was created.

" + }, + "SingleMasterConfiguration":{ + "shape":"SingleMasterConfiguration", + "documentation":"

A structure that contains the configuration for the SINGLE_MASTER channel type.

" + }, + "Version":{ + "shape":"Version", + "documentation":"

The current version of the signaling channel.

" + } + }, + "documentation":"

A structure that encapsulates a signaling channel's metadata and properties.

" + }, + "ChannelInfoList":{ + "type":"list", + "member":{"shape":"ChannelInfo"} + }, + "ChannelName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ChannelNameCondition":{ + "type":"structure", + "members":{ + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

A comparison operator. Currently, you can only specify the BEGINS_WITH operator, which finds signaling channels whose names begin with a given prefix.

" + }, + "ComparisonValue":{ + "shape":"ChannelName", + "documentation":"

A value to compare.

" + } + }, + "documentation":"

An optional input parameter for the ListSignalingChannels API. When this parameter is specified while invoking ListSignalingChannels, the API returns only the channels that satisfy a condition specified in ChannelNameCondition.

" + }, + "ChannelProtocol":{ + "type":"string", + "enum":[ + "WSS", + "HTTPS" + ] + }, + "ChannelRole":{ + "type":"string", + "enum":[ + "MASTER", + "VIEWER" + ] + }, + "ChannelType":{ + "type":"string", + "enum":["SINGLE_MASTER"] + }, + "ClientLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ComparisonOperator":{ + "type":"string", + "enum":["BEGINS_WITH"] + }, + "CreateSignalingChannelInput":{ + "type":"structure", + "required":["ChannelName"], + "members":{ + "ChannelName":{ + "shape":"ChannelName", + "documentation":"

A name for the signaling channel that you are creating. It must be unique for each AWS account and AWS Region.

" + }, + "ChannelType":{ + "shape":"ChannelType", + "documentation":"

A type of the signaling channel that you are creating. Currently, SINGLE_MASTER is the only supported channel type.

" + }, + "SingleMasterConfiguration":{ + "shape":"SingleMasterConfiguration", + "documentation":"

A structure containing the configuration for the SINGLE_MASTER channel type.

" + }, + "Tags":{ + "shape":"TagOnCreateList", + "documentation":"

A set of tags (key-value pairs) that you want to associate with this channel.

" + } + } + }, + "CreateSignalingChannelOutput":{ + "type":"structure", + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the created channel.

" + } + } + }, + "CreateStreamInput":{ + "type":"structure", + "required":["StreamName"], + "members":{ + "DeviceName":{ + "shape":"DeviceName", + "documentation":"

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

" + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

A name for the stream that you are creating.

The stream name is an identifier for the stream, and must be unique for each account and region.

" + }, + "MediaType":{ + "shape":"MediaType", + "documentation":"

The media type of the stream. Consumers of the stream can use this information when processing the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements for guidelines.

Example valid values include \"video/h264\" and \"video/h264,audio/aac\".

This parameter is optional; the default value is null (or empty in JSON).

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that you want Kinesis Video Streams to use to encrypt stream data.

If no key ID is specified, the default, Kinesis Video-managed key (aws/kinesisvideo) is used.

For more information, see DescribeKey.

" + }, + "DataRetentionInHours":{ + "shape":"DataRetentionInHours", + "documentation":"

The number of hours that you want to retain the data in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

The default value is 0, indicating that the stream does not persist data.

When the DataRetentionInHours value is 0, consumers can still consume the fragments that remain in the service host buffer, which has a retention time limit of 5 minutes and a retention memory limit of 200 MB. Fragments are removed from the buffer when either limit is reached.

" + }, + "Tags":{ + "shape":"ResourceTags", + "documentation":"

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

" + } + } + }, + "CreateStreamOutput":{ + "type":"structure", + "members":{ + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream.

" + } + } + }, + "DataEndpoint":{"type":"string"}, + "DataRetentionChangeInHours":{ + "type":"integer", + "min":1 + }, + "DataRetentionInHours":{ + "type":"integer", + "min":0 + }, + "DeleteSignalingChannelInput":{ + "type":"structure", + "required":["ChannelARN"], + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel that you want to delete.

" + }, + "CurrentVersion":{ + "shape":"Version", + "documentation":"

The current version of the signaling channel that you want to delete. You can obtain the current version by invoking the DescribeSignalingChannel or ListSignalingChannels API operations.

" + } + } + }, + "DeleteSignalingChannelOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteStreamInput":{ + "type":"structure", + "required":["StreamARN"], + "members":{ + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to delete.

" + }, + "CurrentVersion":{ + "shape":"Version", + "documentation":"

Optional: The version of the stream that you want to delete.

Specify the version as a safeguard to ensure that your are deleting the correct stream. To get the stream version, use the DescribeStream API.

If not specified, only the CreationTime is checked before deleting the stream.

" + } + } + }, + "DeleteStreamOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeSignalingChannelInput":{ + "type":"structure", + "members":{ + "ChannelName":{ + "shape":"ChannelName", + "documentation":"

The name of the signaling channel that you want to describe.

" + }, + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the signaling channel that you want to describe.

" + } + } + }, + "DescribeSignalingChannelOutput":{ + "type":"structure", + "members":{ + "ChannelInfo":{ + "shape":"ChannelInfo", + "documentation":"

A structure that encapsulates the specified signaling channel's metadata and properties.

" + } + } + }, + "DescribeStreamInput":{ + "type":"structure", + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream.

" + } + } + }, + "DescribeStreamOutput":{ + "type":"structure", + "members":{ + "StreamInfo":{ + "shape":"StreamInfo", + "documentation":"

An object that describes the stream.

" + } + } + }, + "DeviceName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "DeviceStreamLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Not implemented.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "GetDataEndpointInput":{ + "type":"structure", + "required":["APIName"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamARN in the request.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to get the endpoint for. You must specify either this parameter or a StreamName in the request.

" + }, + "APIName":{ + "shape":"APIName", + "documentation":"

The name of the API action for which to get an endpoint.

" + } + } + }, + "GetDataEndpointOutput":{ + "type":"structure", + "members":{ + "DataEndpoint":{ + "shape":"DataEndpoint", + "documentation":"

The endpoint value. To read data from the stream or to write data to it, specify this endpoint in your application.

" + } + } + }, + "GetSignalingChannelEndpointInput":{ + "type":"structure", + "required":["ChannelARN"], + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signalling channel for which you want to get an endpoint.

" + }, + "SingleMasterChannelEndpointConfiguration":{ + "shape":"SingleMasterChannelEndpointConfiguration", + "documentation":"

A structure containing the endpoint configuration for the SINGLE_MASTER channel type.

" + } + } + }, + "GetSignalingChannelEndpointOutput":{ + "type":"structure", + "members":{ + "ResourceEndpointList":{ + "shape":"ResourceEndpointList", + "documentation":"

A list of endpoints for the specified signaling channel.

" + } + } + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value for this input parameter is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidDeviceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Not implemented.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidResourceFormatException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The format of the StreamARN is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":".+" + }, + "ListOfProtocols":{ + "type":"list", + "member":{"shape":"ChannelProtocol"}, + "max":5, + "min":1 + }, + "ListSignalingChannelsInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ListStreamsInputLimit", + "documentation":"

The maximum number of channels to return in the response. The default is 500.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter, when the result of a ListSignalingChannels operation is truncated, the call returns the NextToken in the response. To get another batch of channels, provide this token in your next request.

" + }, + "ChannelNameCondition":{ + "shape":"ChannelNameCondition", + "documentation":"

Optional: Returns only the channels that satisfy a specific condition.

" + } + } + }, + "ListSignalingChannelsOutput":{ + "type":"structure", + "members":{ + "ChannelInfoList":{ + "shape":"ChannelInfoList", + "documentation":"

An array of ChannelInfo objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

" + } + } + }, + "ListStreamsInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ListStreamsInputLimit", + "documentation":"

The maximum number of streams to return in the response. The default is 10,000.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter, when the result of a ListStreams operation is truncated, the call returns the NextToken in the response. To get another batch of streams, provide this token in your next request.

" + }, + "StreamNameCondition":{ + "shape":"StreamNameCondition", + "documentation":"

Optional: Returns only streams that satisfy a specific condition. Currently, you can specify only the prefix of a stream name as a condition.

" + } + } + }, + "ListStreamsInputLimit":{ + "type":"integer", + "max":10000, + "min":1 + }, + "ListStreamsOutput":{ + "type":"structure", + "members":{ + "StreamInfoList":{ + "shape":"StreamInfoList", + "documentation":"

An array of StreamInfo objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the call returns this element with a token. To get the next batch of streams, use this token in your next request.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

" + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel for which you want to list tags.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter and the result of a ListTagsForResource call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

" + }, + "Tags":{ + "shape":"ResourceTags", + "documentation":"

A map of tag keys and values associated with the specified signaling channel.

" + } + } + }, + "ListTagsForStreamInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter and the result of a ListTagsForStream call is truncated, the response includes a token that you can use in the next request to fetch the next batch of tags.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to list tags for.

" + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream that you want to list tags for.

" + } + } + }, + "ListTagsForStreamOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

If you specify this parameter and the result of a ListTags call is truncated, the response includes a token that you can use in the next request to fetch the next set of tags.

" + }, + "Tags":{ + "shape":"ResourceTags", + "documentation":"

A map of tag keys and values associated with the specified stream.

" + } + } + }, + "MediaType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+(,[\\w\\-\\.\\+]+/[\\w\\-\\.\\+]+)*" + }, + "MessageTtlSeconds":{ + "type":"integer", + "max":120, + "min":5 + }, + "NextToken":{ + "type":"string", + "max":512, + "min":0, + "pattern":"[a-zA-Z0-9+/=]*" + }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The caller is not authorized to perform this operation.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "ResourceARN":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" + }, + "ResourceEndpoint":{"type":"string"}, + "ResourceEndpointList":{ + "type":"list", + "member":{"shape":"ResourceEndpointListItem"} + }, + "ResourceEndpointListItem":{ + "type":"structure", + "members":{ + "Protocol":{ + "shape":"ChannelProtocol", + "documentation":"

The protocol of the signaling channel returned by the GetSignalingChannelEndpoint API.

" + }, + "ResourceEndpoint":{ + "shape":"ResourceEndpoint", + "documentation":"

The endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

" + } + }, + "documentation":"

An object that describes the endpoint of the signaling channel returned by the GetSignalingChannelEndpoint API.

" + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The signaling channel is currently not available for this operation.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Amazon Kinesis Video Streams can't find the stream that you specified.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceTags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "SingleMasterChannelEndpointConfiguration":{ + "type":"structure", + "members":{ + "Protocols":{ + "shape":"ListOfProtocols", + "documentation":"

This property is used to determine the nature of communication over this SINGLE_MASTER signaling channel. If WSS is specified, this API returns a websocket endpoint. If HTTPS is specified, this API returns an HTTPS endpoint.

" + }, + "Role":{ + "shape":"ChannelRole", + "documentation":"

This property is used to determine messaging permissions in this SINGLE_MASTER signaling channel. If MASTER is specified, this API returns an endpoint that a client can use to receive offers from and send answers to any of the viewers on this signaling channel. If VIEWER is specified, this API returns an endpoint that a client can use only to send offers to another MASTER client on this signaling channel.

" + } + }, + "documentation":"

An object that contains the endpoint configuration for the SINGLE_MASTER channel type.

" + }, + "SingleMasterConfiguration":{ + "type":"structure", + "members":{ + "MessageTtlSeconds":{ + "shape":"MessageTtlSeconds", + "documentation":"

The period of time a signaling channel retains underlivered messages before they are discarded.

" + } + }, + "documentation":"

A structure that contains the configuration for the SINGLE_MASTER channel type.

" + }, + "Status":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING" + ] + }, + "StreamInfo":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"DeviceName", + "documentation":"

The name of the device that is associated with the stream.

" + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream.

" + }, + "MediaType":{ + "shape":"MediaType", + "documentation":"

The MediaType of the stream.

" + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The ID of the AWS Key Management Service (AWS KMS) key that Kinesis Video Streams uses to encrypt data on the stream.

" + }, + "Version":{ + "shape":"Version", + "documentation":"

The version of the stream.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

The status of the stream.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

A time stamp that indicates when the stream was created.

" + }, + "DataRetentionInHours":{ + "shape":"DataRetentionInHours", + "documentation":"

How long the stream retains data, in hours.

" + } + }, + "documentation":"

An object describing a Kinesis video stream.

" + }, + "StreamInfoList":{ + "type":"list", + "member":{"shape":"StreamInfo"} + }, + "StreamName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "StreamNameCondition":{ + "type":"structure", + "members":{ + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

A comparison operator. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

" + }, + "ComparisonValue":{ + "shape":"StreamName", + "documentation":"

A value to compare.

" + } + }, + "documentation":"

Specifies the condition that streams must satisfy to be returned when you list streams (see the ListStreams API). A condition has a comparison operation and a value. Currently, you can specify only the BEGINS_WITH operator, which finds streams whose names start with a given prefix.

" + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key of the tag that is associated with the specified signaling channel.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The value of the tag that is associated with the specified signaling channel.

" + } + }, + "documentation":"

A key and value pair that is associated with the specified signaling channel.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagOnCreateList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel to which you want to add tags.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags to associate with the specified signaling channel. Each tag is a key-value pair.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagStreamInput":{ + "type":"structure", + "required":["Tags"], + "members":{ + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to add the tag or tags to.

" + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream that you want to add the tag or tags to.

" + }, + "Tags":{ + "shape":"ResourceTags", + "documentation":"

A list of tags to associate with the specified stream. Each tag is a key-value pair (the value is optional).

" + } + } + }, + "TagStreamOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" + }, + "TagsPerResourceExceededLimitException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have exceeded the limit of tags that you can associate with the resource. Kinesis video streams support up to 50 tags.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeyList" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel from which you want to remove tags.

" + }, + "TagKeyList":{ + "shape":"TagKeyList", + "documentation":"

A list of the keys of the tags that you want to remove.

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UntagStreamInput":{ + "type":"structure", + "required":["TagKeyList"], + "members":{ + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream that you want to remove tags from.

" + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream that you want to remove tags from.

" + }, + "TagKeyList":{ + "shape":"TagKeyList", + "documentation":"

A list of the keys of the tags that you want to remove.

" + } + } + }, + "UntagStreamOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateDataRetentionInput":{ + "type":"structure", + "required":[ + "CurrentVersion", + "Operation", + "DataRetentionChangeInHours" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream whose retention period you want to change.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream whose retention period you want to change.

" + }, + "CurrentVersion":{ + "shape":"Version", + "documentation":"

The version of the stream whose retention period you want to change. To get the version, call either the DescribeStream or the ListStreams API.

" + }, + "Operation":{ + "shape":"UpdateDataRetentionOperation", + "documentation":"

Indicates whether you want to increase or decrease the retention period.

" + }, + "DataRetentionChangeInHours":{ + "shape":"DataRetentionChangeInHours", + "documentation":"

The retention period, in hours. The value you specify replaces the current value. The maximum value for this parameter is 87600 (ten years).

" + } + } + }, + "UpdateDataRetentionOperation":{ + "type":"string", + "enum":[ + "INCREASE_DATA_RETENTION", + "DECREASE_DATA_RETENTION" + ] + }, + "UpdateDataRetentionOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateSignalingChannelInput":{ + "type":"structure", + "required":[ + "ChannelARN", + "CurrentVersion" + ], + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the signaling channel that you want to update.

" + }, + "CurrentVersion":{ + "shape":"Version", + "documentation":"

The current version of the signaling channel that you want to update.

" + }, + "SingleMasterConfiguration":{ + "shape":"SingleMasterConfiguration", + "documentation":"

The structure containing the configuration for the SINGLE_MASTER type of the signaling channel that you want to update.

" + } + } + }, + "UpdateSignalingChannelOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateStreamInput":{ + "type":"structure", + "required":["CurrentVersion"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream whose metadata you want to update.

The stream name is an identifier for the stream, and must be unique for each account and region.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the stream whose metadata you want to update.

" + }, + "CurrentVersion":{ + "shape":"Version", + "documentation":"

The version of the stream whose metadata you want to update.

" + }, + "DeviceName":{ + "shape":"DeviceName", + "documentation":"

The name of the device that is writing to the stream.

In the current implementation, Kinesis Video Streams does not use this name.

" + }, + "MediaType":{ + "shape":"MediaType", + "documentation":"

The stream's media type. Use MediaType to specify the type of content that the stream contains to the consumers of the stream. For more information about media types, see Media Types. If you choose to specify the MediaType, see Naming Requirements.

To play video on the console, you must specify the correct video type. For example, if the video in the stream is H.264, specify video/h264 as the MediaType.

" + } + } + }, + "UpdateStreamOutput":{ + "type":"structure", + "members":{ + } + }, + "Version":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9]+" + }, + "VersionMismatchException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The stream version that you specified is not the latest version. To get the latest version, use the DescribeStream API.

", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

" +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/examples-1.json --- python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListFragments": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Fragments" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json --- python-botocore-1.4.70/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,683 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-30", + "endpointPrefix":"kinesisvideo", + "protocol":"rest-json", + "serviceAbbreviation":"Kinesis Video Archived Media", + "serviceFullName":"Amazon Kinesis Video Streams Archived Media", + "serviceId":"Kinesis Video Archived Media", + "signatureVersion":"v4", + "uid":"kinesis-video-archived-media-2017-09-30" + }, + "operations":{ + "GetClip":{ + "name":"GetClip", + "http":{ + "method":"POST", + "requestUri":"/getClip" + }, + "input":{"shape":"GetClipInput"}, + "output":{"shape":"GetClipOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UnsupportedStreamMediaTypeException"}, + {"shape":"MissingCodecPrivateDataException"}, + {"shape":"InvalidCodecPrivateDataException"}, + {"shape":"InvalidMediaFrameException"}, + {"shape":"NoDataRetentionException"} + ], + "documentation":"

Downloads an MP4 file (clip) containing the archived, on-demand media from the specified video stream over the specified time range.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

As a prerequsite to using GetCLip API, you must obtain an endpoint using GetDataEndpoint, specifying GET_CLIP for the APIName parameter.

An Amazon Kinesis video stream has the following requirements for providing data through MP4:

  • The media must contain h.264 or h.265 encoded video and, optionally, AAC or G.711 encoded audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC (for h.264) or V_MPEGH/ISO/HEVC (for H.265). Optionally, the codec ID of track 2 should be A_AAC (for AAC) or A_MS/ACM (for G.711).

  • Data retention must be greater than 0.

  • The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format and HEVC for H.265 format. For more information, see MPEG-4 specification ISO/IEC 14496-15. For information about adapting stream data to a given format, see NAL Adaptation Flags.

  • The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7) or the MS Wave format.

You can monitor the amount of outgoing data by monitoring the GetClip.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for outgoing AWS data apply.

" + }, + "GetDASHStreamingSessionURL":{ + "name":"GetDASHStreamingSessionURL", + "http":{ + "method":"POST", + "requestUri":"/getDASHStreamingSessionURL" + }, + "input":{"shape":"GetDASHStreamingSessionURLInput"}, + "output":{"shape":"GetDASHStreamingSessionURLOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UnsupportedStreamMediaTypeException"}, + {"shape":"NoDataRetentionException"}, + {"shape":"MissingCodecPrivateDataException"}, + {"shape":"InvalidCodecPrivateDataException"} + ], + "documentation":"

Retrieves an MPEG Dynamic Adaptive Streaming over HTTP (DASH) URL for the stream. You can then open the URL in a media player to view the stream contents.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

An Amazon Kinesis video stream has the following requirements for providing data through MPEG-DASH:

  • The media must contain h.264 or h.265 encoded video and, optionally, AAC or G.711 encoded audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC (for h.264) or V_MPEGH/ISO/HEVC (for H.265). Optionally, the codec ID of track 2 should be A_AAC (for AAC) or A_MS/ACM (for G.711).

  • Data retention must be greater than 0.

  • The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format and HEVC for H.265 format. For more information, see MPEG-4 specification ISO/IEC 14496-15. For information about adapting stream data to a given format, see NAL Adaptation Flags.

  • The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7) or the MS Wave format.

The following procedure shows how to use MPEG-DASH with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_DASH_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the MPEG-DASH URL using GetDASHStreamingSessionURL. Kinesis Video Streams creates an MPEG-DASH streaming session to be used for accessing content in a stream using the MPEG-DASH protocol. GetDASHStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's MPEG-DASH manifest (the root resource needed for streaming with MPEG-DASH).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the manifest consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available.

  3. Provide the URL (containing the encrypted session token) for the MPEG-DASH manifest to a media player that supports the MPEG-DASH protocol. Kinesis Video Streams makes the initialization fragment and media fragments available through the manifest URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain encoded video frames or encoded audio samples.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetDASHManifest: Retrieves an MPEG DASH manifest, which contains the metadata for the media that you want to playback.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video.

      Data retrieved with this action is billable. See Pricing for details.

The following restrictions apply to MPEG-DASH sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of ten active MPEG-DASH streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active MPEG-DASH sessions does not count against the active GetMedia connection limit.

    The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

" + }, + "GetHLSStreamingSessionURL":{ + "name":"GetHLSStreamingSessionURL", + "http":{ + "method":"POST", + "requestUri":"/getHLSStreamingSessionURL" + }, + "input":{"shape":"GetHLSStreamingSessionURLInput"}, + "output":{"shape":"GetHLSStreamingSessionURLOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"UnsupportedStreamMediaTypeException"}, + {"shape":"NoDataRetentionException"}, + {"shape":"MissingCodecPrivateDataException"}, + {"shape":"InvalidCodecPrivateDataException"} + ], + "documentation":"

Retrieves an HTTP Live Streaming (HLS) URL for the stream. You can then open the URL in a browser or media player to view the stream contents.

Both the StreamName and the StreamARN parameters are optional, but you must specify either the StreamName or the StreamARN when invoking this API operation.

An Amazon Kinesis video stream has the following requirements for providing data through HLS:

  • The media must contain h.264 or h.265 encoded video and, optionally, AAC encoded audio. Specifically, the codec ID of track 1 should be V_MPEG/ISO/AVC (for h.264) or V_MPEG/ISO/HEVC (for h.265). Optionally, the codec ID of track 2 should be A_AAC.

  • Data retention must be greater than 0.

  • The video track of each fragment must contain codec private data in the Advanced Video Coding (AVC) for H.264 format or HEVC for H.265 format (MPEG-4 specification ISO/IEC 14496-15). For information about adapting stream data to a given format, see NAL Adaptation Flags.

  • The audio track (if present) of each fragment must contain codec private data in the AAC format (AAC specification ISO/IEC 13818-7).

Kinesis Video Streams HLS sessions contain fragments in the fragmented MPEG-4 form (also called fMP4 or CMAF) or the MPEG-2 form (also called TS chunks, which the HLS specification also supports). For more information about HLS fragment types, see the HLS specification.

The following procedure shows how to use HLS with Kinesis Video Streams:

  1. Get an endpoint using GetDataEndpoint, specifying GET_HLS_STREAMING_SESSION_URL for the APIName parameter.

  2. Retrieve the HLS URL using GetHLSStreamingSessionURL. Kinesis Video Streams creates an HLS streaming session to be used for accessing content in a stream using the HLS protocol. GetHLSStreamingSessionURL returns an authenticated URL (that includes an encrypted session token) for the session's HLS master playlist (the root resource needed for streaming with HLS).

    Don't share or store this token where an unauthorized entity could access it. The token provides access to the content of the stream. Safeguard the token with the same measures that you would use with your AWS credentials.

    The media that is made available through the playlist consists only of the requested stream, time range, and format. No other media data (such as frames outside the requested window or alternate bitrates) is made available.

  3. Provide the URL (containing the encrypted session token) for the HLS master playlist to a media player that supports the HLS protocol. Kinesis Video Streams makes the HLS media playlist, initialization fragment, and media fragments available through the master playlist URL. The initialization fragment contains the codec private data for the stream, and other data needed to set up the video or audio decoder and renderer. The media fragments contain H.264-encoded video frames or AAC-encoded audio samples.

  4. The media player receives the authenticated URL and requests stream metadata and media data normally. When the media player requests data, it calls the following actions:

    • GetHLSMasterPlaylist: Retrieves an HLS master playlist, which contains a URL for the GetHLSMediaPlaylist action for each track, and additional metadata for the media player, including estimated bitrate and resolution.

    • GetHLSMediaPlaylist: Retrieves an HLS media playlist, which contains a URL to access the MP4 initialization fragment with the GetMP4InitFragment action, and URLs to access the MP4 media fragments with the GetMP4MediaFragment actions. The HLS media playlist also contains metadata about the stream that the player needs to play it, such as whether the PlaybackMode is LIVE or ON_DEMAND. The HLS media playlist is typically static for sessions with a PlaybackType of ON_DEMAND. The HLS media playlist is continually updated with new fragments for sessions with a PlaybackType of LIVE. There is a distinct HLS media playlist for the video track and the audio track (if applicable) that contains MP4 media URLs for the specific track.

    • GetMP4InitFragment: Retrieves the MP4 initialization fragment. The media player typically loads the initialization fragment before loading any media fragments. This fragment contains the \"fytp\" and \"moov\" MP4 atoms, and the child atoms that are needed to initialize the media player decoder.

      The initialization fragment does not correspond to a fragment in a Kinesis video stream. It contains only the codec private data for the stream and respective track, which the media player needs to decode the media frames.

    • GetMP4MediaFragment: Retrieves MP4 media fragments. These fragments contain the \"moof\" and \"mdat\" MP4 atoms and their child atoms, containing the encoded fragment's media frames and their timestamps.

      After the first media fragment is made available in a streaming session, any fragments that don't contain the same codec private data cause an error to be returned when those different media fragments are loaded. Therefore, the codec private data should not change between fragments in a session. This also means that the session fails if the fragments in a stream change from having only video to having both audio and video.

      Data retrieved with this action is billable. See Pricing for details.

    • GetTSFragment: Retrieves MPEG TS fragments containing both initialization and media data for all tracks in the stream.

      If the ContainerFormat is MPEG_TS, this API is used instead of GetMP4InitFragment and GetMP4MediaFragment to retrieve stream media.

      Data retrieved with this action is billable. For more information, see Kinesis Video Streams pricing.

The following restrictions apply to HLS sessions:

  • A streaming session URL should not be shared between players. The service might throttle a session if multiple media players are sharing it. For connection limits, see Kinesis Video Streams Limits.

  • A Kinesis video stream can have a maximum of ten active HLS streaming sessions. If a new session is created when the maximum number of sessions is already active, the oldest (earliest created) session is closed. The number of active GetMedia connections on a Kinesis video stream does not count against this limit, and the number of active HLS sessions does not count against the active GetMedia connection limit.

    The maximum limits for active HLS and MPEG-DASH streaming sessions are independent of each other.

You can monitor the amount of data that the media player consumes by monitoring the GetMP4MediaFragment.OutgoingBytes Amazon CloudWatch metric. For information about using CloudWatch to monitor Kinesis Video Streams, see Monitoring Kinesis Video Streams. For pricing information, see Amazon Kinesis Video Streams Pricing and AWS Pricing. Charges for both HLS sessions and outgoing AWS data apply.

For more information about HLS, see HTTP Live Streaming on the Apple Developer site.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

" + }, + "GetMediaForFragmentList":{ + "name":"GetMediaForFragmentList", + "http":{ + "method":"POST", + "requestUri":"/getMediaForFragmentList" + }, + "input":{"shape":"GetMediaForFragmentListInput"}, + "output":{"shape":"GetMediaForFragmentListOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Gets media for a list of fragments (specified by fragment number) from the archived data in an Amazon Kinesis video stream.

You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMediaForFragmentList requests to this endpoint using the --endpoint-url parameter.

The following limits apply when using the GetMediaForFragmentList API:

  • A client can call GetMediaForFragmentList up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMediaForFragmentList session.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

" + }, + "ListFragments":{ + "name":"ListFragments", + "http":{ + "method":"POST", + "requestUri":"/listFragments" + }, + "input":{"shape":"ListFragmentsInput"}, + "output":{"shape":"ListFragmentsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Returns a list of Fragment objects from the specified stream and timestamp range within the archived data.

Listing fragments is eventually consistent. This means that even if the producer receives an acknowledgment that a fragment is persisted, the result might not be returned immediately from a request to ListFragments. However, results are typically available in less than one second.

You must first call the GetDataEndpoint API to get an endpoint. Then send the ListFragments requests to this endpoint using the --endpoint-url parameter.

If an error is thrown after invoking a Kinesis Video Streams archived media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

" + } + }, + "shapes":{ + "ClientLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ClipFragmentSelector":{ + "type":"structure", + "required":[ + "FragmentSelectorType", + "TimestampRange" + ], + "members":{ + "FragmentSelectorType":{ + "shape":"ClipFragmentSelectorType", + "documentation":"

The origin of the timestamps to use (Server or Producer).

" + }, + "TimestampRange":{ + "shape":"ClipTimestampRange", + "documentation":"

The range of timestamps to return.

" + } + }, + "documentation":"

Describes the timestamp range and timestamp origin of a range of fragments.

Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the clip will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

" + }, + "ClipFragmentSelectorType":{ + "type":"string", + "enum":[ + "PRODUCER_TIMESTAMP", + "SERVER_TIMESTAMP" + ] + }, + "ClipTimestampRange":{ + "type":"structure", + "required":[ + "StartTimestamp", + "EndTimestamp" + ], + "members":{ + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

The starting timestamp in the range of timestamps for which to return fragments.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" + }, + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The end of the timestamp range for the requested media.

This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value. If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

This value is inclusive. The EndTimestamp is compared to the (starting) timestamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" + } + }, + "documentation":"

The range of timestamps for which to return fragments.

The values in the ClipTimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" + }, + "ContainerFormat":{ + "type":"string", + "enum":[ + "FRAGMENTED_MP4", + "MPEG_TS" + ] + }, + "ContentType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_\\.\\-]+$" + }, + "DASHDisplayFragmentNumber":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER" + ] + }, + "DASHDisplayFragmentTimestamp":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER" + ] + }, + "DASHFragmentSelector":{ + "type":"structure", + "members":{ + "FragmentSelectorType":{ + "shape":"DASHFragmentSelectorType", + "documentation":"

The source of the timestamps for the requested media.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetDASHStreamingSessionURLInput$PlaybackMode is ON_DEMAND or LIVE_REPLAY, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within the TimestampRange ingested immediately following the first fragment (up to the GetDASHStreamingSessionURLInput$MaxManifestFragmentResults value) are included.

Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the MPEG-DASH manifest will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetDASHStreamingSessionURLInput$PlaybackMode is LIVE, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the MPEG-DASH manifest. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.

The default is SERVER_TIMESTAMP.

" + }, + "TimestampRange":{ + "shape":"DASHTimestampRange", + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" + } + }, + "documentation":"

Contains the range of timestamps for the requested media, and the source of the timestamps.

" + }, + "DASHFragmentSelectorType":{ + "type":"string", + "enum":[ + "PRODUCER_TIMESTAMP", + "SERVER_TIMESTAMP" + ] + }, + "DASHPlaybackMode":{ + "type":"string", + "enum":[ + "LIVE", + "LIVE_REPLAY", + "ON_DEMAND" + ] + }, + "DASHStreamingSessionURL":{"type":"string"}, + "DASHTimestampRange":{ + "type":"structure", + "members":{ + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

The start of the timestamp range for the requested media.

If the DASHTimestampRange value is specified, the StartTimestamp value is required.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" + }, + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The end of the timestamp range for the requested media. This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value.

If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

The EndTimestamp value is required for ON_DEMAND mode, but optional for LIVE_REPLAY mode. If the EndTimestamp is not set for LIVE_REPLAY mode then the session will continue to include newly ingested fragments until the session expires.

This value is inclusive. The EndTimestamp is compared to the (starting) timestamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" + } + }, + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

The values in the DASHimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" + }, + "ErrorMessage":{"type":"string"}, + "Expires":{ + "type":"integer", + "max":43200, + "min":300 + }, + "Fragment":{ + "type":"structure", + "members":{ + "FragmentNumber":{ + "shape":"FragmentNumberString", + "documentation":"

The unique identifier of the fragment. This value monotonically increases based on the ingestion order.

" + }, + "FragmentSizeInBytes":{ + "shape":"Long", + "documentation":"

The total fragment size, including information about the fragment and contained media data.

" + }, + "ProducerTimestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp from the producer corresponding to the fragment.

" + }, + "ServerTimestamp":{ + "shape":"Timestamp", + "documentation":"

The timestamp from the AWS server corresponding to the fragment.

" + }, + "FragmentLengthInMilliseconds":{ + "shape":"Long", + "documentation":"

The playback duration or other time value associated with the fragment.

" + } + }, + "documentation":"

Represents a segment of video or other time-delimited data.

" + }, + "FragmentList":{ + "type":"list", + "member":{"shape":"Fragment"} + }, + "FragmentNumberList":{ + "type":"list", + "member":{"shape":"FragmentNumberString"}, + "max":1000, + "min":1 + }, + "FragmentNumberString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9]+$" + }, + "FragmentSelector":{ + "type":"structure", + "required":[ + "FragmentSelectorType", + "TimestampRange" + ], + "members":{ + "FragmentSelectorType":{ + "shape":"FragmentSelectorType", + "documentation":"

The origin of the timestamps to use (Server or Producer).

" + }, + "TimestampRange":{ + "shape":"TimestampRange", + "documentation":"

The range of timestamps to return.

" + } + }, + "documentation":"

Describes the timestamp range and timestamp origin of a range of fragments.

Only fragments with a start timestamp greater than or equal to the given start time and less than or equal to the end time are returned. For example, if a stream contains fragments with the following start timestamps:

  • 00:00:00

  • 00:00:02

  • 00:00:04

  • 00:00:06

A fragment selector range with a start time of 00:00:01 and end time of 00:00:04 would return the fragments with start times of 00:00:02 and 00:00:04.

" + }, + "FragmentSelectorType":{ + "type":"string", + "enum":[ + "PRODUCER_TIMESTAMP", + "SERVER_TIMESTAMP" + ] + }, + "GetClipInput":{ + "type":"structure", + "required":["ClipFragmentSelector"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream for which to retrieve the media clip.

You must specify either the StreamName or the StreamARN.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream for which to retrieve the media clip.

You must specify either the StreamName or the StreamARN.

" + }, + "ClipFragmentSelector":{ + "shape":"ClipFragmentSelector", + "documentation":"

The time range of the requested clip and the source of the timestamps.

" + } + } + }, + "GetClipOutput":{ + "type":"structure", + "members":{ + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the media in the requested clip.

", + "location":"header", + "locationName":"Content-Type" + }, + "Payload":{ + "shape":"Payload", + "documentation":"

Traditional MP4 file that contains the media clip from the specified video stream. The output will contain the first 100 MB or the first 200 fragments from the specified start timestamp. For more information, see Kinesis Video Streams Limits.

" + } + }, + "payload":"Payload" + }, + "GetDASHStreamingSessionURLInput":{ + "type":"structure", + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream for which to retrieve the MPEG-DASH manifest URL.

You must specify either the StreamName or the StreamARN.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream for which to retrieve the MPEG-DASH manifest URL.

You must specify either the StreamName or the StreamARN.

" + }, + "PlaybackMode":{ + "shape":"DASHPlaybackMode", + "documentation":"

Whether to retrieve live, live replay, or archived, on-demand data.

Features of the three types of sessions include the following:

  • LIVE : For sessions of this type, the MPEG-DASH manifest is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new manifest on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display.

    In LIVE mode, the newest available fragments are included in an MPEG-DASH manifest, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the MPEG-DASH manifest if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the manifest, the older fragment is not added, and the gap is not filled.

  • LIVE_REPLAY : For sessions of this type, the MPEG-DASH manifest is updated similarly to how it is updated for LIVE mode except that it starts by including fragments from a given start time. Instead of fragments being added as they are ingested, fragments are added as the duration of the next fragment elapses. For example, if the fragments in the session are two seconds long, then a new fragment is added to the manifest every two seconds. This mode is useful to be able to start playback from when an event is detected and continue live streaming media that has not yet been ingested as of the time of the session creation. This mode is also useful to stream previously archived media without being limited by the 1,000 fragment limit in the ON_DEMAND mode.

  • ON_DEMAND : For sessions of this type, the MPEG-DASH manifest contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The manifest must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display.

In all playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start timestamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the MPEG-DASH manifest. The other fragments are not included. Fragments that have different timestamps but have overlapping durations are still included in the MPEG-DASH manifest. This can lead to unexpected behavior in the media player.

The default is LIVE.

" + }, + "DisplayFragmentTimestamp":{ + "shape":"DASHDisplayFragmentTimestamp", + "documentation":"

Per the MPEG-DASH specification, the wall-clock time of fragments in the manifest file can be derived using attributes in the manifest itself. However, typically, MPEG-DASH compatible media players do not properly handle gaps in the media timeline. Kinesis Video Streams adjusts the media timeline in the manifest file to enable playback of media with discontinuities. Therefore, the wall-clock time derived from the manifest file may be inaccurate. If DisplayFragmentTimestamp is set to ALWAYS, the accurate fragment timestamp is added to each S element in the manifest file with the attribute name “kvs:ts”. A custom MPEG-DASH media player is necessary to leverage this custom attribute.

The default value is NEVER. When DASHFragmentSelector is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. Similarly, when DASHFragmentSelector is PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps.

" + }, + "DisplayFragmentNumber":{ + "shape":"DASHDisplayFragmentNumber", + "documentation":"

Fragments are identified in the manifest file based on their sequence number in the session. If DisplayFragmentNumber is set to ALWAYS, the Kinesis Video Streams fragment number is added to each S element in the manifest file with the attribute name “kvs:fn”. These fragment numbers can be used for logging or for use with other APIs (e.g. GetMedia and GetMediaForFragmentList). A custom MPEG-DASH media player is necessary to leverage these this custom attribute.

The default value is NEVER.

" + }, + "DASHFragmentSelector":{ + "shape":"DASHFragmentSelector", + "documentation":"

The time range of the requested fragment and the source of the timestamps.

This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND or LIVE_REPLAY, both FragmentSelectorType and TimestampRange must be set.

" + }, + "Expires":{ + "shape":"Expires", + "documentation":"

The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours).

When a session expires, no new calls to GetDashManifest, GetMP4InitFragment, or GetMP4MediaFragment can be made for that session.

The default is 300 (5 minutes).

" + }, + "MaxManifestFragmentResults":{ + "shape":"PageLimit", + "documentation":"

The maximum number of fragments that are returned in the MPEG-DASH manifest.

When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, the oldest fragments are returned, up to this maximum number.

When there are a higher number of fragments available in a live MPEG-DASH manifest, video players often buffer content before starting playback. Increasing the buffer size increases the playback latency, but it decreases the likelihood that rebuffering will occur during playback. We recommend that a live MPEG-DASH manifest have a minimum of 3 fragments and a maximum of 10 fragments.

The default is 5 fragments if PlaybackMode is LIVE or LIVE_REPLAY, and 1,000 if PlaybackMode is ON_DEMAND.

The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on streams with 1-second fragments, and more than 2 1/2 hours of video on streams with 10-second fragments.

" + } + } + }, + "GetDASHStreamingSessionURLOutput":{ + "type":"structure", + "members":{ + "DASHStreamingSessionURL":{ + "shape":"DASHStreamingSessionURL", + "documentation":"

The URL (containing the session token) that a media player can use to retrieve the MPEG-DASH manifest.

" + } + } + }, + "GetHLSStreamingSessionURLInput":{ + "type":"structure", + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the stream for which to retrieve the HLS master playlist URL.

You must specify either the StreamName or the StreamARN.

" + }, + "PlaybackMode":{ + "shape":"HLSPlaybackMode", + "documentation":"

Whether to retrieve live, live replay, or archived, on-demand data.

Features of the three types of sessions include the following:

  • LIVE : For sessions of this type, the HLS media playlist is continually updated with the latest fragments as they become available. We recommend that the media player retrieve a new playlist on a one-second interval. When this type of session is played in a media player, the user interface typically displays a \"live\" notification, with no scrubber control for choosing the position in the playback window to display.

    In LIVE mode, the newest available fragments are included in an HLS media playlist, even if there is a gap between fragments (that is, if a fragment is missing). A gap like this might cause a media player to halt or cause a jump in playback. In this mode, fragments are not added to the HLS media playlist if they are older than the newest fragment in the playlist. If the missing fragment becomes available after a subsequent fragment is added to the playlist, the older fragment is not added, and the gap is not filled.

  • LIVE_REPLAY : For sessions of this type, the HLS media playlist is updated similarly to how it is updated for LIVE mode except that it starts by including fragments from a given start time. Instead of fragments being added as they are ingested, fragments are added as the duration of the next fragment elapses. For example, if the fragments in the session are two seconds long, then a new fragment is added to the media playlist every two seconds. This mode is useful to be able to start playback from when an event is detected and continue live streaming media that has not yet been ingested as of the time of the session creation. This mode is also useful to stream previously archived media without being limited by the 1,000 fragment limit in the ON_DEMAND mode.

  • ON_DEMAND : For sessions of this type, the HLS media playlist contains all the fragments for the session, up to the number that is specified in MaxMediaPlaylistFragmentResults. The playlist must be retrieved only once for each session. When this type of session is played in a media player, the user interface typically displays a scrubber control for choosing the position in the playback window to display.

In all playback modes, if FragmentSelectorType is PRODUCER_TIMESTAMP, and if there are multiple fragments with the same start timestamp, the fragment that has the larger fragment number (that is, the newer fragment) is included in the HLS media playlist. The other fragments are not included. Fragments that have different timestamps but have overlapping durations are still included in the HLS media playlist. This can lead to unexpected behavior in the media player.

The default is LIVE.

" + }, + "HLSFragmentSelector":{ + "shape":"HLSFragmentSelector", + "documentation":"

The time range of the requested fragment and the source of the timestamps.

This parameter is required if PlaybackMode is ON_DEMAND or LIVE_REPLAY. This parameter is optional if PlaybackMode is LIVE. If PlaybackMode is LIVE, the FragmentSelectorType can be set, but the TimestampRange should not be set. If PlaybackMode is ON_DEMAND or LIVE_REPLAY, both FragmentSelectorType and TimestampRange must be set.

" + }, + "ContainerFormat":{ + "shape":"ContainerFormat", + "documentation":"

Specifies which format should be used for packaging the media. Specifying the FRAGMENTED_MP4 container format packages the media into MP4 fragments (fMP4 or CMAF). This is the recommended packaging because there is minimal packaging overhead. The other container format option is MPEG_TS. HLS has supported MPEG TS chunks since it was released and is sometimes the only supported packaging on older HLS players. MPEG TS typically has a 5-25 percent packaging overhead. This means MPEG TS typically requires 5-25 percent more bandwidth and cost than fMP4.

The default is FRAGMENTED_MP4.

" + }, + "DiscontinuityMode":{ + "shape":"HLSDiscontinuityMode", + "documentation":"

Specifies when flags marking discontinuities between fragments are added to the media playlists.

Media players typically build a timeline of media content to play, based on the timestamps of each fragment. This means that if there is any overlap or gap between fragments (as is typical if HLSFragmentSelector is set to SERVER_TIMESTAMP), the media player timeline will also have small gaps between fragments in some places, and will overwrite frames in other places. Gaps in the media player timeline can cause playback to stall and overlaps can cause playback to be jittery. When there are discontinuity flags between fragments, the media player is expected to reset the timeline, resulting in the next fragment being played immediately after the previous fragment.

The following modes are supported:

  • ALWAYS: a discontinuity marker is placed between every fragment in the HLS media playlist. It is recommended to use a value of ALWAYS if the fragment timestamps are not accurate.

  • NEVER: no discontinuity markers are placed anywhere. It is recommended to use a value of NEVER to ensure the media player timeline most accurately maps to the producer timestamps.

  • ON_DISCONTIUNITY: a discontinuity marker is placed between fragments that have a gap or overlap of more than 50 milliseconds. For most playback scenarios, it is recommended to use a value of ON_DISCONTINUITY so that the media player timeline is only reset when there is a significant issue with the media timeline (e.g. a missing fragment).

The default is ALWAYS when HLSFragmentSelector is set to SERVER_TIMESTAMP, and NEVER when it is set to PRODUCER_TIMESTAMP.

" + }, + "DisplayFragmentTimestamp":{ + "shape":"HLSDisplayFragmentTimestamp", + "documentation":"

Specifies when the fragment start timestamps should be included in the HLS media playlist. Typically, media players report the playhead position as a time relative to the start of the first fragment in the playback session. However, when the start timestamps are included in the HLS media playlist, some media players might report the current playhead as an absolute time based on the fragment timestamps. This can be useful for creating a playback experience that shows viewers the wall-clock time of the media.

The default is NEVER. When HLSFragmentSelector is SERVER_TIMESTAMP, the timestamps will be the server start timestamps. Similarly, when HLSFragmentSelector is PRODUCER_TIMESTAMP, the timestamps will be the producer start timestamps.

" + }, + "Expires":{ + "shape":"Expires", + "documentation":"

The time in seconds until the requested session expires. This value can be between 300 (5 minutes) and 43200 (12 hours).

When a session expires, no new calls to GetHLSMasterPlaylist, GetHLSMediaPlaylist, GetMP4InitFragment, GetMP4MediaFragment, or GetTSFragment can be made for that session.

The default is 300 (5 minutes).

" + }, + "MaxMediaPlaylistFragmentResults":{ + "shape":"PageLimit", + "documentation":"

The maximum number of fragments that are returned in the HLS media playlists.

When the PlaybackMode is LIVE, the most recent fragments are returned up to this value. When the PlaybackMode is ON_DEMAND, the oldest fragments are returned, up to this maximum number.

When there are a higher number of fragments available in a live HLS media playlist, video players often buffer content before starting playback. Increasing the buffer size increases the playback latency, but it decreases the likelihood that rebuffering will occur during playback. We recommend that a live HLS media playlist have a minimum of 3 fragments and a maximum of 10 fragments.

The default is 5 fragments if PlaybackMode is LIVE or LIVE_REPLAY, and 1,000 if PlaybackMode is ON_DEMAND.

The maximum value of 1,000 fragments corresponds to more than 16 minutes of video on streams with 1-second fragments, and more than 2 1/2 hours of video on streams with 10-second fragments.

" + } + } + }, + "GetHLSStreamingSessionURLOutput":{ + "type":"structure", + "members":{ + "HLSStreamingSessionURL":{ + "shape":"HLSStreamingSessionURL", + "documentation":"

The URL (containing the session token) that a media player can use to retrieve the HLS master playlist.

" + } + } + }, + "GetMediaForFragmentListInput":{ + "type":"structure", + "required":[ + "StreamName", + "Fragments" + ], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream from which to retrieve fragment media.

" + }, + "Fragments":{ + "shape":"FragmentNumberList", + "documentation":"

A list of the numbers of fragments for which to retrieve media. You retrieve these values with ListFragments.

" + } + } + }, + "GetMediaForFragmentListOutput":{ + "type":"structure", + "members":{ + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the requested media.

", + "location":"header", + "locationName":"Content-Type" + }, + "Payload":{ + "shape":"Payload", + "documentation":"

The payload that Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see PutMedia. The chunks that Kinesis Video Streams returns in the GetMediaForFragmentList call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_SIDE_TIMESTAMP - Server-side timestamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_SIDE_TIMESTAMP - Producer-side timestamp of the fragment.

The following tags will be included if an exception occurs:

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - The number of the fragment that threw the exception

  • AWS_KINESISVIDEO_EXCEPTION_ERROR_CODE - The integer code of the exception

  • AWS_KINESISVIDEO_EXCEPTION_MESSAGE - A text description of the exception

" + } + }, + "payload":"Payload" + }, + "HLSDiscontinuityMode":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER", + "ON_DISCONTINUITY" + ] + }, + "HLSDisplayFragmentTimestamp":{ + "type":"string", + "enum":[ + "ALWAYS", + "NEVER" + ] + }, + "HLSFragmentSelector":{ + "type":"structure", + "members":{ + "FragmentSelectorType":{ + "shape":"HLSFragmentSelectorType", + "documentation":"

The source of the timestamps for the requested media.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is ON_DEMAND or LIVE_REPLAY, the first fragment ingested with a producer timestamp within the specified FragmentSelector$TimestampRange is included in the media playlist. In addition, the fragments with producer timestamps within the TimestampRange ingested immediately following the first fragment (up to the GetHLSStreamingSessionURLInput$MaxMediaPlaylistFragmentResults value) are included.

Fragments that have duplicate producer timestamps are deduplicated. This means that if producers are producing a stream of fragments with producer timestamps that are approximately equal to the true clock time, the HLS media playlists will contain all of the fragments within the requested timestamp range. If some fragments are ingested within the same time range and very different points in time, only the oldest ingested collection of fragments are returned.

When FragmentSelectorType is set to PRODUCER_TIMESTAMP and GetHLSStreamingSessionURLInput$PlaybackMode is LIVE, the producer timestamps are used in the MP4 fragments and for deduplication. But the most recently ingested fragments based on server timestamps are included in the HLS media playlist. This means that even if fragments ingested in the past have producer timestamps with values now, they are not included in the HLS media playlist.

The default is SERVER_TIMESTAMP.

" + }, + "TimestampRange":{ + "shape":"HLSTimestampRange", + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

" + } + }, + "documentation":"

Contains the range of timestamps for the requested media, and the source of the timestamps.

" + }, + "HLSFragmentSelectorType":{ + "type":"string", + "enum":[ + "PRODUCER_TIMESTAMP", + "SERVER_TIMESTAMP" + ] + }, + "HLSPlaybackMode":{ + "type":"string", + "enum":[ + "LIVE", + "LIVE_REPLAY", + "ON_DEMAND" + ] + }, + "HLSStreamingSessionURL":{"type":"string"}, + "HLSTimestampRange":{ + "type":"structure", + "members":{ + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

The start of the timestamp range for the requested media.

If the HLSTimestampRange value is specified, the StartTimestamp value is required.

This value is inclusive. Fragments that start before the StartTimestamp and continue past it are included in the session. If FragmentSelectorType is SERVER_TIMESTAMP, the StartTimestamp must be later than the stream head.

" + }, + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The end of the timestamp range for the requested media. This value must be within 3 hours of the specified StartTimestamp, and it must be later than the StartTimestamp value.

If FragmentSelectorType for the request is SERVER_TIMESTAMP, this value must be in the past.

The EndTimestamp value is required for ON_DEMAND mode, but optional for LIVE_REPLAY mode. If the EndTimestamp is not set for LIVE_REPLAY mode then the session will continue to include newly ingested fragments until the session expires.

This value is inclusive. The EndTimestamp is compared to the (starting) timestamp of the fragment. Fragments that start before the EndTimestamp value and continue past it are included in the session.

" + } + }, + "documentation":"

The start and end of the timestamp range for the requested media.

This value should not be present if PlaybackType is LIVE.

The values in the HLSTimestampRange are inclusive. Fragments that begin before the start time but continue past it, or fragments that begin before the end time but continue past it, are included in the session.

" + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A specified parameter exceeds its restrictions, is not supported, or can't be used.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidCodecPrivateDataException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The codec private data in at least one of the tracks of the video stream is not valid for this operation.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidMediaFrameException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

One or more frames in the requested clip could not be parsed based on the specified codec.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListFragmentsInput":{ + "type":"structure", + "required":["StreamName"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The name of the stream from which to retrieve a fragment list.

" + }, + "MaxResults":{ + "shape":"PageLimit", + "documentation":"

The total number of fragments to return. If the total number of fragments available is more than the value specified in max-results, then a ListFragmentsOutput$NextToken is provided in the output that you can use to resume pagination.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token to specify where to start paginating. This is the ListFragmentsOutput$NextToken from a previously truncated response.

" + }, + "FragmentSelector":{ + "shape":"FragmentSelector", + "documentation":"

Describes the timestamp range and timestamp origin for the range of fragments to return.

" + } + } + }, + "ListFragmentsOutput":{ + "type":"structure", + "members":{ + "Fragments":{ + "shape":"FragmentList", + "documentation":"

A list of archived Fragment objects from the stream that meet the selector criteria. Results are in no specific order, even across pages.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If the returned list is truncated, the operation returns this token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + }, + "Long":{"type":"long"}, + "MissingCodecPrivateDataException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

No codec private data was found in at least one of tracks of the video stream.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NextToken":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[a-zA-Z0-9+/]+={0,2}" + }, + "NoDataRetentionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A streaming session was requested for a stream that does not retain data (that is, has a DataRetentionInHours of 0).

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "PageLimit":{ + "type":"long", + "max":1000, + "min":1 + }, + "Payload":{ + "type":"blob", + "streaming":true + }, + "ResourceARN":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

GetMedia throws this error when Kinesis Video Streams can't find the stream that you specified.

GetHLSStreamingSessionURL and GetDASHStreamingSessionURL throw this error if a session with a PlaybackMode of ON_DEMAND or LIVE_REPLAYis requested for a stream that has no fragments within the requested time range, or if a session with a PlaybackMode of LIVE is requested for a stream that has no fragments within the last 30 seconds.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "StreamName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "Timestamp":{"type":"timestamp"}, + "TimestampRange":{ + "type":"structure", + "required":[ + "StartTimestamp", + "EndTimestamp" + ], + "members":{ + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

The starting timestamp in the range of timestamps for which to return fragments.

" + }, + "EndTimestamp":{ + "shape":"Timestamp", + "documentation":"

The ending timestamp in the range of timestamps for which to return fragments.

" + } + }, + "documentation":"

The range of timestamps for which to return fragments.

" + }, + "UnsupportedStreamMediaTypeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The type of the media (for example, h.264 or h.265 video or ACC or G.711 audio) could not be determined from the codec IDs of the tracks in the first fragment for a playback session. The codec ID for track 1 should be V_MPEG/ISO/AVC and, optionally, the codec ID for track 2 should be A_AAC.

", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

" +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/examples-1.json --- python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/service-2.json --- python-botocore-1.4.70/botocore/data/kinesis-video-media/2017-09-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-media/2017-09-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,194 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-30", + "endpointPrefix":"kinesisvideo", + "protocol":"rest-json", + "serviceAbbreviation":"Kinesis Video Media", + "serviceFullName":"Amazon Kinesis Video Streams Media", + "serviceId":"Kinesis Video Media", + "signatureVersion":"v4", + "uid":"kinesis-video-media-2017-09-30" + }, + "operations":{ + "GetMedia":{ + "name":"GetMedia", + "http":{ + "method":"POST", + "requestUri":"/getMedia" + }, + "input":{"shape":"GetMediaInput"}, + "output":{"shape":"GetMediaOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"NotAuthorizedException"}, + {"shape":"InvalidEndpointException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ConnectionLimitExceededException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

Use this API to retrieve media content from a Kinesis video stream. In the request, you identify the stream name or stream Amazon Resource Name (ARN), and the starting chunk. Kinesis Video Streams then returns a stream of chunks in order by fragment number.

You must first call the GetDataEndpoint API to get an endpoint. Then send the GetMedia requests to this endpoint using the --endpoint-url parameter.

When you put media data (fragments) on a stream, Kinesis Video Streams stores each incoming fragment and related metadata in what is called a \"chunk.\" For more information, see PutMedia. The GetMedia API returns a stream of these chunks starting from the chunk that you specify in the request.

The following limits apply when using the GetMedia API:

  • A client can call GetMedia up to five times per second per stream.

  • Kinesis Video Streams sends media data at a rate of up to 25 megabytes per second (or 200 megabits per second) during a GetMedia session.

If an error is thrown after invoking a Kinesis Video Streams media API, in addition to the HTTP status code and the response body, it includes the following pieces of information:

  • x-amz-ErrorType HTTP header – contains a more specific error type in addition to what the HTTP status code provides.

  • x-amz-RequestId HTTP header – if you want to report an issue to AWS, the support team can better diagnose the problem if given the Request Id.

Both the HTTP status code and the ErrorType header can be utilized to make programmatic decisions about whether errors are retry-able and under what conditions, as well as provide information on what actions the client programmer might need to take in order to successfully try again.

For more information, see the Errors section at the bottom of this topic, as well as Common Errors.

" + } + }, + "shapes":{ + "ClientLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client calls. Try making the call later.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ConnectionLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Kinesis Video Streams has throttled the request because you have exceeded the limit of allowed client connections.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ContentType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_\\.\\-]+$" + }, + "ContinuationToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_\\.\\-]+$" + }, + "ErrorMessage":{"type":"string"}, + "FragmentNumberString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9]+$" + }, + "GetMediaInput":{ + "type":"structure", + "required":["StartSelector"], + "members":{ + "StreamName":{ + "shape":"StreamName", + "documentation":"

The Kinesis video stream name from where you want to get the media content. If you don't specify the streamName, you must specify the streamARN.

" + }, + "StreamARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the stream from where you want to get the media content. If you don't specify the streamARN, you must specify the streamName.

" + }, + "StartSelector":{ + "shape":"StartSelector", + "documentation":"

Identifies the starting chunk to get from the specified stream.

" + } + } + }, + "GetMediaOutput":{ + "type":"structure", + "members":{ + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the requested media.

", + "location":"header", + "locationName":"Content-Type" + }, + "Payload":{ + "shape":"Payload", + "documentation":"

The payload Kinesis Video Streams returns is a sequence of chunks from the specified stream. For information about the chunks, see . The chunks that Kinesis Video Streams returns in the GetMedia call also include the following additional Matroska (MKV) tags:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - In the event your GetMedia call terminates, you can use this continuation token in your next request to get the next chunk where the last request terminated.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 string) - Client applications can use this tag value to determine how far behind the chunk returned in the response is from the latest chunk on the stream.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Fragment number returned in the chunk.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Server timestamp of the fragment.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Producer timestamp of the fragment.

The following tags will be present if an error occurs:

  • AWS_KINESISVIDEO_ERROR_CODE - String description of an error that caused GetMedia to stop.

  • AWS_KINESISVIDEO_ERROR_ID: Integer code of the error.

The error codes are as follows:

  • 3002 - Error writing to the stream

  • 4000 - Requested fragment is not found

  • 4500 - Access denied for the stream's KMS key

  • 4501 - Stream's KMS key is disabled

  • 4502 - Validation error on the stream's KMS key

  • 4503 - KMS key specified in the stream is unavailable

  • 4504 - Invalid usage of the KMS key specified in the stream

  • 4505 - Invalid state of the KMS key specified in the stream

  • 4506 - Unable to find the KMS key specified in the stream

  • 5000 - Internal error

" + } + }, + "payload":"Payload" + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value for this input parameter is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidEndpointException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Status Code: 400, Caller used wrong endpoint to write data to a stream. On receiving such an exception, the user must call GetDataEndpoint with AccessMode set to \"READ\" and use the endpoint Kinesis Video returns in the next GetMedia call.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Status Code: 403, The caller is not authorized to perform an operation on the given stream, or the token has expired.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "Payload":{ + "type":"blob", + "streaming":true + }, + "ResourceARN":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Status Code: 404, The stream with the given name does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "StartSelector":{ + "type":"structure", + "required":["StartSelectorType"], + "members":{ + "StartSelectorType":{ + "shape":"StartSelectorType", + "documentation":"

Identifies the fragment on the Kinesis video stream where you want to start getting the data from.

  • NOW - Start with the latest chunk on the stream.

  • EARLIEST - Start with earliest available chunk on the stream.

  • FRAGMENT_NUMBER - Start with the chunk after a specific fragment. You must also specify the AfterFragmentNumber parameter.

  • PRODUCER_TIMESTAMP or SERVER_TIMESTAMP - Start with the chunk containing a fragment with the specified producer or server timestamp. You specify the timestamp by adding StartTimestamp.

  • CONTINUATION_TOKEN - Read using the specified continuation token.

If you choose the NOW, EARLIEST, or CONTINUATION_TOKEN as the startSelectorType, you don't provide any additional information in the startSelector.

" + }, + "AfterFragmentNumber":{ + "shape":"FragmentNumberString", + "documentation":"

Specifies the fragment number from where you want the GetMedia API to start returning the fragments.

" + }, + "StartTimestamp":{ + "shape":"Timestamp", + "documentation":"

A timestamp value. This value is required if you choose the PRODUCER_TIMESTAMP or the SERVER_TIMESTAMP as the startSelectorType. The GetMedia API then starts with the chunk containing the fragment that has the specified timestamp.

" + }, + "ContinuationToken":{ + "shape":"ContinuationToken", + "documentation":"

Continuation token that Kinesis Video Streams returned in the previous GetMedia response. The GetMedia API then starts with the chunk identified by the continuation token.

" + } + }, + "documentation":"

Identifies the chunk on the Kinesis video stream where you want the GetMedia API to start returning media data. You have the following options to identify the starting chunk:

  • Choose the latest (or oldest) chunk.

  • Identify a specific chunk. You can identify a specific chunk either by providing a fragment number or timestamp (server or producer).

  • Each chunk's metadata includes a continuation token as a Matroska (MKV) tag (AWS_KINESISVIDEO_CONTINUATION_TOKEN). If your previous GetMedia request terminated, you can use this tag value in your next GetMedia request. The API then starts returning chunks starting where the last API ended.

" + }, + "StartSelectorType":{ + "type":"string", + "enum":[ + "FRAGMENT_NUMBER", + "SERVER_TIMESTAMP", + "PRODUCER_TIMESTAMP", + "NOW", + "EARLIEST", + "CONTINUATION_TOKEN" + ] + }, + "StreamName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "Timestamp":{"type":"timestamp"} + }, + "documentation":"

" +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-signaling/2019-12-04/paginators-1.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-signaling/2019-12-04/paginators-1.json --- python-botocore-1.4.70/botocore/data/kinesis-video-signaling/2019-12-04/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-signaling/2019-12-04/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/kinesis-video-signaling/2019-12-04/service-2.json python-botocore-1.16.19+repack/botocore/data/kinesis-video-signaling/2019-12-04/service-2.json --- python-botocore-1.4.70/botocore/data/kinesis-video-signaling/2019-12-04/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kinesis-video-signaling/2019-12-04/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,249 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-04", + "endpointPrefix":"kinesisvideo", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon Kinesis Video Signaling Channels", + "serviceFullName":"Amazon Kinesis Video Signaling Channels", + "serviceId":"Kinesis Video Signaling", + "signatureVersion":"v4", + "uid":"kinesis-video-signaling-2019-12-04" + }, + "operations":{ + "GetIceServerConfig":{ + "name":"GetIceServerConfig", + "http":{ + "method":"POST", + "requestUri":"/v1/get-ice-server-config" + }, + "input":{"shape":"GetIceServerConfigRequest"}, + "output":{"shape":"GetIceServerConfigResponse"}, + "errors":[ + {"shape":"InvalidClientException"}, + {"shape":"SessionExpiredException"}, + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Gets the Interactive Connectivity Establishment (ICE) server configuration information, including URIs, username, and password which can be used to configure the WebRTC connection. The ICE component uses this configuration information to setup the WebRTC connection, including authenticating with the Traversal Using Relays around NAT (TURN) relay server.

TURN is a protocol that is used to improve the connectivity of peer-to-peer applications. By providing a cloud-based relay service, TURN ensures that a connection can be established even when one or more peers are incapable of a direct peer-to-peer connection. For more information, see A REST API For Access To TURN Services.

You can invoke this API to establish a fallback mechanism in case either of the peers is unable to establish a direct peer-to-peer connection over a signaling channel. You must specify either a signaling channel ARN or the client ID in order to invoke this API.

" + }, + "SendAlexaOfferToMaster":{ + "name":"SendAlexaOfferToMaster", + "http":{ + "method":"POST", + "requestUri":"/v1/send-alexa-offer-to-master" + }, + "input":{"shape":"SendAlexaOfferToMasterRequest"}, + "output":{"shape":"SendAlexaOfferToMasterResponse"}, + "errors":[ + {"shape":"ClientLimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

This API allows you to connect WebRTC-enabled devices with Alexa display devices. When invoked, it sends the Alexa Session Description Protocol (SDP) offer to the master peer. The offer is delivered as soon as the master is connected to the specified signaling channel. This API returns the SDP answer from the connected master. If the master is not connected to the signaling channel, redelivery requests are made until the message expires.

" + } + }, + "shapes":{ + "Answer":{ + "type":"string", + "max":10000, + "min":1 + }, + "ClientId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ClientLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Your request was throttled because you have exceeded the limit of allowed client calls. Try making the call later.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "GetIceServerConfigRequest":{ + "type":"structure", + "required":["ChannelARN"], + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the signaling channel to be used for the peer-to-peer connection between configured peers.

" + }, + "ClientId":{ + "shape":"ClientId", + "documentation":"

Unique identifier for the viewer. Must be unique within the signaling channel.

" + }, + "Service":{ + "shape":"Service", + "documentation":"

Specifies the desired service. Currently, TURN is the only valid value.

" + }, + "Username":{ + "shape":"Username", + "documentation":"

An optional user ID to be associated with the credentials.

" + } + } + }, + "GetIceServerConfigResponse":{ + "type":"structure", + "members":{ + "IceServerList":{ + "shape":"IceServerList", + "documentation":"

The list of ICE server information objects.

" + } + } + }, + "IceServer":{ + "type":"structure", + "members":{ + "Uris":{ + "shape":"Uris", + "documentation":"

An array of URIs, in the form specified in the I-D.petithuguenin-behave-turn-uris spec. These URIs provide the different addresses and/or protocols that can be used to reach the TURN server.

" + }, + "Username":{ + "shape":"Username", + "documentation":"

A username to login to the ICE server.

" + }, + "Password":{ + "shape":"Password", + "documentation":"

A password to login to the ICE server.

" + }, + "Ttl":{ + "shape":"Ttl", + "documentation":"

The period of time, in seconds, during which the username and password are valid.

" + } + }, + "documentation":"

A structure for the ICE server connection data.

" + }, + "IceServerList":{ + "type":"list", + "member":{"shape":"IceServer"} + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The value for this input parameter is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidClientException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The specified client is invalid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MessagePayload":{ + "type":"string", + "max":10000, + "min":1, + "pattern":"[a-zA-Z0-9+/=]+" + }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The caller is not authorized to perform this operation.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "Password":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ResourceARN":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SendAlexaOfferToMasterRequest":{ + "type":"structure", + "required":[ + "ChannelARN", + "SenderClientId", + "MessagePayload" + ], + "members":{ + "ChannelARN":{ + "shape":"ResourceARN", + "documentation":"

The ARN of the signaling channel by which Alexa and the master peer communicate.

" + }, + "SenderClientId":{ + "shape":"ClientId", + "documentation":"

The unique identifier for the sender client.

" + }, + "MessagePayload":{ + "shape":"MessagePayload", + "documentation":"

The base64-encoded SDP offer content.

" + } + } + }, + "SendAlexaOfferToMasterResponse":{ + "type":"structure", + "members":{ + "Answer":{ + "shape":"Answer", + "documentation":"

The base64-encoded SDP answer content.

" + } + } + }, + "Service":{ + "type":"string", + "enum":["TURN"] + }, + "SessionExpiredException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

If the client session is expired. Once the client is connected, the session is valid for 45 minutes. Client should reconnect to the channel to continue sending/receiving messages.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Ttl":{ + "type":"integer", + "max":86400, + "min":30 + }, + "Uri":{ + "type":"string", + "max":256, + "min":1 + }, + "Uris":{ + "type":"list", + "member":{"shape":"Uri"} + }, + "Username":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

Kinesis Video Streams Signaling Service is a intermediate service that establishes a communication channel for discovering peers, transmitting offers and answers in order to establish peer-to-peer connection in webRTC technology.

" +} diff -Nru python-botocore-1.4.70/botocore/data/kms/2014-11-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/kms/2014-11-01/examples-1.json --- python-botocore-1.4.70/botocore/data/kms/2014-11-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kms/2014-11-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,906 @@ +{ + "version": "1.0", + "examples": { + "CancelKeyDeletion": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose deletion you are canceling. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyId": "The ARN of the CMK whose deletion you canceled." + } + }, + "description": "The following example cancels deletion of the specified CMK.", + "id": "to-cancel-deletion-of-a-cmk-1477428535102", + "title": "To cancel deletion of a customer master key (CMK)" + } + ], + "CreateAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias", + "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "AliasName": "The alias to create. Aliases must begin with 'alias/'. Do not use aliases that begin with 'alias/aws' because they are reserved for use by AWS.", + "TargetKeyId": "The identifier of the CMK whose alias you are creating. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example creates an alias for the specified customer master key (CMK).", + "id": "to-create-an-alias-1477505685119", + "title": "To create an alias" + } + ], + "CreateGrant": [ + { + "input": { + "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "Decrypt" + ] + }, + "output": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "GrantToken": "AQpAM2RhZTk1MGMyNTk2ZmZmMzEyYWVhOWViN2I1MWM4Mzc0MWFiYjc0ZDE1ODkyNGFlNTIzODZhMzgyZjBlNGY3NiKIAgEBAgB4Pa6VDCWW__MSrqnre1HIN0Grt00ViSSuUjhqOC8OT3YAAADfMIHcBgkqhkiG9w0BBwaggc4wgcsCAQAwgcUGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMmqLyBTAegIn9XlK5AgEQgIGXZQjkBcl1dykDdqZBUQ6L1OfUivQy7JVYO2-ZJP7m6f1g8GzV47HX5phdtONAP7K_HQIflcgpkoCqd_fUnE114mSmiagWkbQ5sqAVV3ov-VeqgrvMe5ZFEWLMSluvBAqdjHEdMIkHMlhlj4ENZbzBfo9Wxk8b8SnwP4kc4gGivedzFXo-dwN8fxjjq_ZZ9JFOj2ijIbj5FyogDCN0drOfi8RORSEuCEmPvjFRMFAwcmwFkN2NPp89amA" + }, + "comments": { + "input": { + "GranteePrincipal": "The identity that is given permission to perform the operations specified in the grant.", + "KeyId": "The identifier of the CMK to which the grant applies. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "Operations": "A list of operations that the grant allows." + }, + "output": { + "GrantId": "The unique identifier of the grant.", + "GrantToken": "The grant token." + } + }, + "description": "The following example creates a grant that allows the specified IAM role to encrypt data with the specified customer master key (CMK).", + "id": "to-create-a-grant-1477972226782", + "title": "To create a grant" + } + ], + "CreateKey": [ + { + "input": { + "Tags": [ + { + "TagKey": "CreatedBy", + "TagValue": "ExampleUser" + } + ] + }, + "output": { + "KeyMetadata": { + "AWSAccountId": "111122223333", + "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "CreationDate": "2017-07-05T14:04:55-07:00", + "Description": "", + "Enabled": true, + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyManager": "CUSTOMER", + "KeyState": "Enabled", + "KeyUsage": "ENCRYPT_DECRYPT", + "Origin": "AWS_KMS" + } + }, + "comments": { + "input": { + "Tags": "One or more tags. Each tag consists of a tag key and a tag value." + }, + "output": { + "KeyMetadata": "An object that contains information about the CMK created by this operation." + } + }, + "description": "The following example creates a CMK.", + "id": "to-create-a-cmk-1478028992966", + "title": "To create a customer master key (CMK)" + } + ], + "Decrypt": [ + { + "input": { + "CiphertextBlob": "" + }, + "output": { + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "comments": { + "input": { + "CiphertextBlob": "The encrypted data (ciphertext)." + }, + "output": { + "KeyId": "The Amazon Resource Name (ARN) of the CMK that was used to decrypt the data.", + "Plaintext": "The decrypted (plaintext) data." + } + }, + "description": "The following example decrypts data that was encrypted with a customer master key (CMK) in AWS KMS.", + "id": "to-decrypt-data-1478281622886", + "title": "To decrypt data" + } + ], + "DeleteAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias" + }, + "comments": { + "input": { + "AliasName": "The alias to delete." + } + }, + "description": "The following example deletes the specified alias.", + "id": "to-delete-an-alias-1478285209338", + "title": "To delete an alias" + } + ], + "DeleteImportedKeyMaterial": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose imported key material you are deleting. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example deletes the imported key material from the specified customer master key (CMK).", + "id": "to-delete-imported-key-material-1478561674507", + "title": "To delete imported key material" + } + ], + "DescribeKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyMetadata": { + "AWSAccountId": "111122223333", + "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "CreationDate": "2017-07-05T14:04:55-07:00", + "Description": "", + "Enabled": true, + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "KeyManager": "CUSTOMER", + "KeyState": "Enabled", + "KeyUsage": "ENCRYPT_DECRYPT", + "Origin": "AWS_KMS" + } + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK that you want information about. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyMetadata": "An object that contains information about the specified CMK." + } + }, + "description": "The following example returns information (metadata) about the specified CMK.", + "id": "to-obtain-information-about-a-cmk-1478565820907", + "title": "To obtain information about a customer master key (CMK)" + } + ], + "DisableKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to disable. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example disables the specified CMK.", + "id": "to-disable-a-cmk-1478566583659", + "title": "To disable a customer master key (CMK)" + } + ], + "DisableKeyRotation": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material will no longer be rotated. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example disables automatic annual rotation of the key material for the specified CMK.", + "id": "to-disable-automatic-rotation-of-key-material-1478624396092", + "title": "To disable automatic rotation of key material" + } + ], + "EnableKey": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to enable. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example enables the specified CMK.", + "id": "to-enable-a-cmk-1478627501129", + "title": "To enable a customer master key (CMK)" + } + ], + "EnableKeyRotation": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material will be rotated annually. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example enables automatic annual rotation of the key material for the specified CMK.", + "id": "to-enable-automatic-rotation-of-key-material-1478629109677", + "title": "To enable automatic rotation of key material" + } + ], + "Encrypt": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "Plaintext": "The data to encrypt." + }, + "output": { + "CiphertextBlob": "The encrypted data (ciphertext).", + "KeyId": "The ARN of the CMK that was used to encrypt the data." + } + }, + "description": "The following example encrypts data with the specified customer master key (CMK).", + "id": "to-encrypt-data-1478906026012", + "title": "To encrypt data" + } + ], + "GenerateDataKey": [ + { + "input": { + "KeyId": "alias/ExampleAlias", + "KeySpec": "AES_256" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Plaintext": "" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use to encrypt the data key. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "KeySpec": "Specifies the type of data key to return." + }, + "output": { + "CiphertextBlob": "The encrypted data key.", + "KeyId": "The ARN of the CMK that was used to encrypt the data key.", + "Plaintext": "The unencrypted (plaintext) data key." + } + }, + "description": "The following example generates a 256-bit symmetric data encryption key (data key) in two formats. One is the unencrypted (plainext) data key, and the other is the data key encrypted with the specified customer master key (CMK).", + "id": "to-generate-a-data-key-1478912956062", + "title": "To generate a data key" + } + ], + "GenerateDataKeyWithoutPlaintext": [ + { + "input": { + "KeyId": "alias/ExampleAlias", + "KeySpec": "AES_256" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to use to encrypt the data key. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK.", + "KeySpec": "Specifies the type of data key to return." + }, + "output": { + "CiphertextBlob": "The encrypted data key.", + "KeyId": "The ARN of the CMK that was used to encrypt the data key." + } + }, + "description": "The following example generates an encrypted copy of a 256-bit symmetric data encryption key (data key). The data key is encrypted with the specified customer master key (CMK).", + "id": "to-generate-an-encrypted-data-key-1478914121134", + "title": "To generate an encrypted data key" + } + ], + "GenerateRandom": [ + { + "input": { + "NumberOfBytes": 32 + }, + "output": { + "Plaintext": "" + }, + "comments": { + "input": { + "NumberOfBytes": "The length of the random data, specified in number of bytes." + }, + "output": { + "Plaintext": "The random data." + } + }, + "description": "The following example uses AWS KMS to generate 32 bytes of random data.", + "id": "to-generate-random-data-1479163645600", + "title": "To generate random data" + } + ], + "GetKeyPolicy": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "PolicyName": "default" + }, + "output": { + "Policy": "{\n \"Version\" : \"2012-10-17\",\n \"Id\" : \"key-default-1\",\n \"Statement\" : [ {\n \"Sid\" : \"Enable IAM User Permissions\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::111122223333:root\"\n },\n \"Action\" : \"kms:*\",\n \"Resource\" : \"*\"\n } ]\n}" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key policy you want to retrieve. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "PolicyName": "The name of the key policy to retrieve." + }, + "output": { + "Policy": "The key policy document." + } + }, + "description": "The following example retrieves the key policy for the specified customer master key (CMK).", + "id": "to-retrieve-a-key-policy-1479170128325", + "title": "To retrieve a key policy" + } + ], + "GetKeyRotationStatus": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "KeyRotationEnabled": true + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key material rotation status you want to retrieve. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "KeyRotationEnabled": "A boolean that indicates the key material rotation status. Returns true when automatic annual rotation of the key material is enabled, or false when it is not." + } + }, + "description": "The following example retrieves the status of automatic annual rotation of the key material for the specified CMK.", + "id": "to-retrieve-the-rotation-status-for-a-cmk-1479172287408", + "title": "To retrieve the rotation status for a customer master key (CMK)" + } + ], + "GetParametersForImport": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "WrappingAlgorithm": "RSAES_OAEP_SHA_1", + "WrappingKeySpec": "RSA_2048" + }, + "output": { + "ImportToken": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "ParametersValidTo": "2016-12-01T14:52:17-08:00", + "PublicKey": "" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK for which to retrieve the public key and import token. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "WrappingAlgorithm": "The algorithm that you will use to encrypt the key material before importing it.", + "WrappingKeySpec": "The type of wrapping key (public key) to return in the response." + }, + "output": { + "ImportToken": "The import token to send with a subsequent ImportKeyMaterial request.", + "KeyId": "The ARN of the CMK for which you are retrieving the public key and import token. This is the same CMK specified in the request.", + "ParametersValidTo": "The time at which the import token and public key are no longer valid.", + "PublicKey": "The public key to use to encrypt the key material before importing it." + } + }, + "description": "The following example retrieves the public key and import token for the specified CMK.", + "id": "to-retrieve-the-public-key-and-import-token-for-a-cmk-1480626483211", + "title": "To retrieve the public key and import token for a customer master key (CMK)" + } + ], + "ImportKeyMaterial": [ + { + "input": { + "EncryptedKeyMaterial": "", + "ExpirationModel": "KEY_MATERIAL_DOES_NOT_EXPIRE", + "ImportToken": "", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "EncryptedKeyMaterial": "The encrypted key material to import.", + "ExpirationModel": "A value that specifies whether the key material expires.", + "ImportToken": "The import token that you received in the response to a previous GetParametersForImport request.", + "KeyId": "The identifier of the CMK to import the key material into. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example imports key material into the specified CMK.", + "id": "to-import-key-material-into-a-cmk-1480630551969", + "title": "To import key material into a customer master key (CMK)" + } + ], + "ListAliases": [ + { + "output": { + "Aliases": [ + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/acm", + "AliasName": "alias/aws/acm", + "TargetKeyId": "da03f6f7-d279-427a-9cae-de48d07e5b66" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/ebs", + "AliasName": "alias/aws/ebs", + "TargetKeyId": "25a217e7-7170-4b8c-8bf6-045ea5f70e5b" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/rds", + "AliasName": "alias/aws/rds", + "TargetKeyId": "7ec3104e-c3f2-4b5c-bf42-bfc4772c6685" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/redshift", + "AliasName": "alias/aws/redshift", + "TargetKeyId": "08f7a25a-69e2-4fb5-8f10-393db27326fa" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/aws/s3", + "AliasName": "alias/aws/s3", + "TargetKeyId": "d2b0f1a3-580d-4f79-b836-bc983be8cfa5" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example1", + "AliasName": "alias/example1", + "TargetKeyId": "4da1e216-62d0-46c5-a7c0-5f3a3d2f8046" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example2", + "AliasName": "alias/example2", + "TargetKeyId": "f32fef59-2cc2-445b-8573-2d73328acbee" + }, + { + "AliasArn": "arn:aws:kms:us-east-2:111122223333:alias/example3", + "AliasName": "alias/example3", + "TargetKeyId": "1374ef38-d34e-4d5f-b2c9-4e0daee38855" + } + ], + "Truncated": false + }, + "comments": { + "output": { + "Aliases": "A list of aliases, including the key ID of the customer master key (CMK) that each alias refers to.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists aliases.", + "id": "to-list-aliases-1480729693349", + "title": "To list aliases" + } + ], + "ListGrants": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "Grants": [ + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "91ad875e49b04a9d1f3bdeb84d821f9db6ea95e1098813f6d47f0c65fbe2a172", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "a5d67d3e207a8fc1f4928749ee3e52eb0440493a8b9cf05bbfad91655b056200", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "c541aaf05d90cb78846a73b346fc43e65be28b7163129488c738e0c9e0628f4f", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + }, + { + "CreationDate": "2016-10-25T14:37:41-07:00", + "GrantId": "dd2052c67b4c76ee45caf1dc6a1e2d24e8dc744a51b36ae2f067dc540ce0105c", + "GranteePrincipal": "acm.us-east-2.amazonaws.com", + "IssuingAccount": "arn:aws:iam::111122223333:root", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Encrypt", + "ReEncryptFrom", + "ReEncryptTo" + ], + "RetiringPrincipal": "acm.us-east-2.amazonaws.com" + } + ], + "Truncated": true + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose grants you want to list. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "Grants": "A list of grants.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists grants for the specified CMK.", + "id": "to-list-grants-for-a-cmk-1481067365389", + "title": "To list grants for a customer master key (CMK)" + } + ], + "ListKeyPolicies": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "PolicyNames": [ + "default" + ], + "Truncated": false + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose key policies you want to list. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "PolicyNames": "A list of key policy names.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists key policies for the specified CMK.", + "id": "to-list-key-policies-for-a-cmk-1481069780998", + "title": "To list key policies for a customer master key (CMK)" + } + ], + "ListKeys": [ + { + "output": { + "Keys": [ + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/0d990263-018e-4e65-a703-eff731de951e", + "KeyId": "0d990263-018e-4e65-a703-eff731de951e" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/144be297-0ae1-44ac-9c8f-93cd8c82f841", + "KeyId": "144be297-0ae1-44ac-9c8f-93cd8c82f841" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/21184251-b765-428e-b852-2c7353e72571", + "KeyId": "21184251-b765-428e-b852-2c7353e72571" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/214fe92f-5b03-4ae1-b350-db2a45dbe10c", + "KeyId": "214fe92f-5b03-4ae1-b350-db2a45dbe10c" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/339963f2-e523-49d3-af24-a0fe752aa458", + "KeyId": "339963f2-e523-49d3-af24-a0fe752aa458" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/b776a44b-df37-4438-9be4-a27494e4271a", + "KeyId": "b776a44b-df37-4438-9be4-a27494e4271a" + }, + { + "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/deaf6c9e-cf2c-46a6-bf6d-0b6d487cffbb", + "KeyId": "deaf6c9e-cf2c-46a6-bf6d-0b6d487cffbb" + } + ], + "Truncated": false + }, + "comments": { + "output": { + "Keys": "A list of CMKs, including the key ID and Amazon Resource Name (ARN) of each one.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists CMKs.", + "id": "to-list-cmks-1481071643069", + "title": "To list customer master keys (CMKs)" + } + ], + "ListResourceTags": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "output": { + "Tags": [ + { + "TagKey": "CostCenter", + "TagValue": "87654" + }, + { + "TagKey": "CreatedBy", + "TagValue": "ExampleUser" + }, + { + "TagKey": "Purpose", + "TagValue": "Test" + } + ], + "Truncated": false + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose tags you are listing. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + }, + "output": { + "Tags": "A list of tags.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists tags for a CMK.", + "id": "to-list-tags-for-a-cmk-1483996855796", + "title": "To list tags for a customer master key (CMK)" + } + ], + "ListRetirableGrants": [ + { + "input": { + "RetiringPrincipal": "arn:aws:iam::111122223333:role/ExampleRole" + }, + "output": { + "Grants": [ + { + "CreationDate": "2016-12-07T11:09:35-08:00", + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", + "IssuingAccount": "arn:aws:iam::444455556666:root", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab", + "Operations": [ + "Decrypt", + "Encrypt" + ], + "RetiringPrincipal": "arn:aws:iam::111122223333:role/ExampleRole" + } + ], + "Truncated": false + }, + "comments": { + "input": { + "RetiringPrincipal": "The retiring principal whose grants you want to list. Use the Amazon Resource Name (ARN) of an AWS principal such as an AWS account (root), IAM user, federated user, or assumed role user." + }, + "output": { + "Grants": "A list of grants that the specified principal can retire.", + "Truncated": "A boolean that indicates whether there are more items in the list. Returns true when there are more items, or false when there are not." + } + }, + "description": "The following example lists the grants that the specified principal (identity) can retire.", + "id": "to-list-grants-that-the-specified-principal-can-retire-1481140499620", + "title": "To list grants that the specified principal can retire" + } + ], + "PutKeyPolicy": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "Policy": "{\n \"Version\": \"2012-10-17\",\n \"Id\": \"custom-policy-2016-12-07\",\n \"Statement\": [\n {\n \"Sid\": \"Enable IAM User Permissions\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:root\"\n },\n \"Action\": \"kms:*\",\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow access for Key Administrators\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": [\n \"arn:aws:iam::111122223333:user/ExampleAdminUser\",\n \"arn:aws:iam::111122223333:role/ExampleAdminRole\"\n ]\n },\n \"Action\": [\n \"kms:Create*\",\n \"kms:Describe*\",\n \"kms:Enable*\",\n \"kms:List*\",\n \"kms:Put*\",\n \"kms:Update*\",\n \"kms:Revoke*\",\n \"kms:Disable*\",\n \"kms:Get*\",\n \"kms:Delete*\",\n \"kms:ScheduleKeyDeletion\",\n \"kms:CancelKeyDeletion\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow use of the key\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:role/ExamplePowerUserRole\"\n },\n \"Action\": [\n \"kms:Encrypt\",\n \"kms:Decrypt\",\n \"kms:ReEncrypt*\",\n \"kms:GenerateDataKey*\",\n \"kms:DescribeKey\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"Allow attachment of persistent resources\",\n \"Effect\": \"Allow\",\n \"Principal\": {\n \"AWS\": \"arn:aws:iam::111122223333:role/ExamplePowerUserRole\"\n },\n \"Action\": [\n \"kms:CreateGrant\",\n \"kms:ListGrants\",\n \"kms:RevokeGrant\"\n ],\n \"Resource\": \"*\",\n \"Condition\": {\n \"Bool\": {\n \"kms:GrantIsForAWSResource\": \"true\"\n }\n }\n }\n ]\n}\n", + "PolicyName": "default" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to attach the key policy to. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "Policy": "The key policy document.", + "PolicyName": "The name of the key policy." + } + }, + "description": "The following example attaches a key policy to the specified CMK.", + "id": "to-attach-a-key-policy-to-a-cmk-1481147345018", + "title": "To attach a key policy to a customer master key (CMK)" + } + ], + "ReEncrypt": [ + { + "input": { + "CiphertextBlob": "", + "DestinationKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" + }, + "output": { + "CiphertextBlob": "", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", + "SourceKeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "CiphertextBlob": "The data to reencrypt.", + "DestinationKeyId": "The identifier of the CMK to use to reencrypt the data. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK." + }, + "output": { + "CiphertextBlob": "The reencrypted data.", + "KeyId": "The ARN of the CMK that was used to reencrypt the data.", + "SourceKeyId": "The ARN of the CMK that was used to originally encrypt the data." + } + }, + "description": "The following example reencrypts data with the specified CMK.", + "id": "to-reencrypt-data-1481230358001", + "title": "To reencrypt data" + } + ], + "RetireGrant": [ + { + "input": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "KeyId": "arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "GrantId": "The identifier of the grant to retire.", + "KeyId": "The Amazon Resource Name (ARN) of the customer master key (CMK) associated with the grant." + } + }, + "description": "The following example retires a grant.", + "id": "to-retire-a-grant-1481327028297", + "title": "To retire a grant" + } + ], + "RevokeGrant": [ + { + "input": { + "GrantId": "0c237476b39f8bc44e45212e08498fbe3151305030726c0590dd8d3e9f3d6a60", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "GrantId": "The identifier of the grant to revoke.", + "KeyId": "The identifier of the customer master key (CMK) associated with the grant. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example revokes a grant.", + "id": "to-revoke-a-grant-1481329549302", + "title": "To revoke a grant" + } + ], + "ScheduleKeyDeletion": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "PendingWindowInDays": 7 + }, + "output": { + "DeletionDate": "2016-12-17T16:00:00-08:00", + "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK to schedule for deletion. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "PendingWindowInDays": "The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the CMK." + }, + "output": { + "DeletionDate": "The date and time after which AWS KMS deletes the CMK.", + "KeyId": "The ARN of the CMK that is scheduled for deletion." + } + }, + "description": "The following example schedules the specified CMK for deletion.", + "id": "to-schedule-a-cmk-for-deletion-1481331111094", + "title": "To schedule a customer master key (CMK) for deletion" + } + ], + "TagResource": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "Tags": [ + { + "TagKey": "Purpose", + "TagValue": "Test" + } + ] + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK you are tagging. You can use the key ID or the Amazon Resource Name (ARN) of the CMK.", + "Tags": "A list of tags." + } + }, + "description": "The following example tags a CMK.", + "id": "to-tag-a-cmk-1483997246518", + "title": "To tag a customer master key (CMK)" + } + ], + "UntagResource": [ + { + "input": { + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", + "TagKeys": [ + "Purpose", + "CostCenter" + ] + }, + "comments": { + "input": { + "KeyId": "The identifier of the CMK whose tags you are removing.", + "TagKeys": "A list of tag keys. Provide only the tag keys, not the tag values." + } + }, + "description": "The following example removes tags from a CMK.", + "id": "to-remove-tags-from-a-cmk-1483997590962", + "title": "To remove tags from a customer master key (CMK)" + } + ], + "UpdateAlias": [ + { + "input": { + "AliasName": "alias/ExampleAlias", + "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "AliasName": "The alias to update.", + "TargetKeyId": "The identifier of the CMK that the alias will refer to after this operation succeeds. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example updates the specified alias to refer to the specified customer master key (CMK).", + "id": "to-update-an-alias-1481572726920", + "title": "To update an alias" + } + ], + "UpdateKeyDescription": [ + { + "input": { + "Description": "Example description that indicates the intended use of this CMK.", + "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" + }, + "comments": { + "input": { + "Description": "The updated description.", + "KeyId": "The identifier of the CMK whose description you are updating. You can use the key ID or the Amazon Resource Name (ARN) of the CMK." + } + }, + "description": "The following example updates the description of the specified CMK.", + "id": "to-update-the-description-of-a-cmk-1481574808619", + "title": "To update the description of a customer master key (CMK)" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/kms/2014-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/kms/2014-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/kms/2014-11-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/kms/2014-11-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"KMS", "serviceFullName":"AWS Key Management Service", + "serviceId":"KMS", "signatureVersion":"v4", - "targetPrefix":"TrentService" + "targetPrefix":"TrentService", + "uid":"kms-2014-11-01" }, "operations":{ "CancelKeyDeletion":{ @@ -26,7 +28,24 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Cancels the deletion of a customer master key (CMK). When this operation is successful, the CMK is set to the Disabled state. To enable a CMK, use EnableKey.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

" + "documentation":"

Cancels the deletion of a customer master key (CMK). When this operation succeeds, the key state of the CMK is Disabled. To enable the CMK, use EnableKey. You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling and canceling deletion of a CMK, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "ConnectCustomKeyStore":{ + "name":"ConnectCustomKeyStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ConnectCustomKeyStoreRequest"}, + "output":{"shape":"ConnectCustomKeyStoreResponse"}, + "errors":[ + {"shape":"CloudHsmClusterNotActiveException"}, + {"shape":"CustomKeyStoreInvalidStateException"}, + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"KMSInternalException"}, + {"shape":"CloudHsmClusterInvalidConfigurationException"} + ], + "documentation":"

Connects or reconnects a custom key store to its associated AWS CloudHSM cluster.

The custom key store must be connected before you can create customer master keys (CMKs) in the key store or use the CMKs it contains. You can disconnect and reconnect a custom key store at any time.

To connect a custom key store, its associated AWS CloudHSM cluster must have at least one active HSM. To get the number of active HSMs in a cluster, use the DescribeClusters operation. To add HSMs to the cluster, use the CreateHsm operation. Also, the kmsuser crypto user (CU) must not be logged into the cluster. This prevents AWS KMS from using this account to log in.

The connection process can take an extended amount of time to complete; up to 20 minutes. This operation starts the connection process, but it does not wait for it to complete. When it succeeds, this operation quickly returns an HTTP 200 response and a JSON object with no properties. However, this response does not indicate that the custom key store is connected. To get the connection state of the custom key store, use the DescribeCustomKeyStores operation.

During the connection process, AWS KMS finds the AWS CloudHSM cluster that is associated with the custom key store, creates the connection infrastructure, connects to the cluster, logs into the AWS CloudHSM client as the kmsuser CU, and rotates its password.

The ConnectCustomKeyStore operation might fail for various reasons. To find the reason, use the DescribeCustomKeyStores operation and see the ConnectionErrorCode in the response. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

To fix the failure, use the DisconnectCustomKeyStore operation to disconnect the custom key store, correct the error, use the UpdateCustomKeyStore operation if necessary, and then use ConnectCustomKeyStore again.

If you are having trouble connecting or disconnecting a custom key store, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -44,7 +63,26 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Creates a display name for a customer master key. An alias can be used to identify a key and should be unique. The console enforces a one-to-one mapping between the alias and a key. An alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). An alias must start with the word \"alias\" followed by a forward slash (alias/). An alias that begins with \"aws\" after the forward slash (alias/aws...) is reserved by Amazon Web Services (AWS).

The alias and the key it is mapped to must be in the same AWS account and the same region.

To map an alias to a different key, call UpdateAlias.

" + "documentation":"

Creates a display name for a customer managed customer master key (CMK). You can use an alias to identify a CMK in cryptographic operations, such as Encrypt and GenerateDataKey. You can change the CMK associated with the alias at any time.

Aliases are easier to remember than key IDs. They can also help to simplify your applications. For example, if you use an alias in your code, you can change the CMK your code uses by associating a given alias with a different CMK.

To run the same code in multiple AWS regions, use an alias in your code, such as alias/ApplicationKey. Then, in each AWS Region, create an alias/ApplicationKey alias that is associated with a CMK in that Region. When you run your code, it uses the alias/ApplicationKey CMK for that AWS Region without any Region-specific code.

This operation does not return a response. To get the alias that you created, use the ListAliases operation.

To use aliases successfully, be aware of the following information.

  • Each alias points to only one CMK at a time, although a single CMK can have multiple aliases. The alias and its associated CMK must be in the same AWS account and Region.

  • You can associate an alias with any customer managed CMK in the same AWS account and Region. However, you do not have permission to associate an alias with an AWS managed CMK or an AWS owned CMK.

  • To change the CMK associated with an alias, use the UpdateAlias operation. The current CMK and the new CMK must be the same type (both symmetric or both asymmetric) and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This restriction prevents cryptographic errors in code that uses aliases.

  • The alias name must begin with alias/ followed by a name, such as alias/ExampleAlias. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

  • The alias name must be unique within an AWS Region. However, you can use the same alias name in multiple Regions of the same AWS account. Each instance of the alias is associated with a CMK in its Region.

  • After you create an alias, you cannot change its alias name. However, you can use the DeleteAlias operation to delete the alias and then create a new alias with the desired name.

  • You can use an alias name or alias ARN to identify a CMK in AWS KMS cryptographic operations and in the DescribeKey operation. However, you cannot use alias names or alias ARNs in API operations that manage CMKs, such as DisableKey or GetKeyPolicy. For information about the valid CMK identifiers for each AWS KMS API operation, see the descriptions of the KeyId parameter in the API operation documentation.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases and alias ARNs of CMKs in each AWS account and Region, use the ListAliases operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "CreateCustomKeyStore":{ + "name":"CreateCustomKeyStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomKeyStoreRequest"}, + "output":{"shape":"CreateCustomKeyStoreResponse"}, + "errors":[ + {"shape":"CloudHsmClusterInUseException"}, + {"shape":"CustomKeyStoreNameInUseException"}, + {"shape":"CloudHsmClusterNotFoundException"}, + {"shape":"KMSInternalException"}, + {"shape":"CloudHsmClusterNotActiveException"}, + {"shape":"IncorrectTrustAnchorException"}, + {"shape":"CloudHsmClusterInvalidConfigurationException"} + ], + "documentation":"

Creates a custom key store that is associated with an AWS CloudHSM cluster that you own and manage.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

Before you create the custom key store, you must assemble the required elements, including an AWS CloudHSM cluster that fulfills the requirements for a custom key store. For details about the required elements, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide.

When the operation completes successfully, it returns the ID of the new custom key store. Before you can use your new custom key store, you need to use the ConnectCustomKeyStore operation to connect the new key store to its AWS CloudHSM cluster. Even if you are not going to use your custom key store immediately, you might want to connect it to verify that all settings are correct and then disconnect it until you are ready to use it.

For help with failures, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" }, "CreateGrant":{ "name":"CreateGrant", @@ -64,7 +102,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Adds a grant to a key to specify who can use the key and under what conditions. Grants are alternate permission mechanisms to key policies.

For more information about grants, see Grants in the AWS Key Management Service Developer Guide.

" + "documentation":"

Adds a grant to a customer master key (CMK). The grant allows the grantee principal to use the CMK when the conditions specified in the grant are met. When setting permissions, grants are an alternative to key policies.

To create a grant that allows a cryptographic operation only when the request includes a particular encryption context, use the Constraints parameter. For details, see GrantConstraints.

You can create grants on symmetric and asymmetric CMKs. However, if the grant allows an operation that the CMK does not support, CreateGrant fails with a ValidationException.

  • Grants for symmetric CMKs cannot allow operations that are not supported for symmetric CMKs, including Sign, Verify, and GetPublicKey. (There are limited exceptions to this rule for legacy operations, but you should not create a grant for an operation that AWS KMS does not support.)

  • Grants for asymmetric CMKs cannot allow operations that are not supported for asymmetric CMKs, including operations that generate data keys or data key pairs, or operations related to automatic key rotation, imported key material, or CMKs in custom key stores.

  • Grants for asymmetric CMKs with a KeyUsage of ENCRYPT_DECRYPT cannot allow the Sign or Verify operations. Grants for asymmetric CMKs with a KeyUsage of SIGN_VERIFY cannot allow the Encrypt or Decrypt operations.

  • Grants for asymmetric CMKs cannot include an encryption context grant constraint. An encryption context is not supported on asymmetric CMKs.

For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter. For more information about grants, see Grants in the AWS Key Management Service Developer Guide .

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "CreateKey":{ "name":"CreateKey", @@ -80,9 +118,13 @@ {"shape":"InvalidArnException"}, {"shape":"UnsupportedOperationException"}, {"shape":"KMSInternalException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"TagException"}, + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"CustomKeyStoreInvalidStateException"}, + {"shape":"CloudHsmClusterInvalidConfigurationException"} ], - "documentation":"

Creates a customer master key (CMK).

You can use a CMK to encrypt small amounts of data (4 KiB or less) directly, but CMKs are more commonly used to encrypt data encryption keys (DEKs), which are used to encrypt raw data. For more information about DEKs and the difference between CMKs and DEKs, see the following:

" + "documentation":"

Creates a unique customer managed customer master key (CMK) in your AWS account and Region. You cannot use this operation to create a CMK in a different AWS account.

You can use the CreateKey operation to create symmetric or asymmetric CMKs.

  • Symmetric CMKs contain a 256-bit symmetric key that never leaves AWS KMS unencrypted. To use the CMK, you must call AWS KMS. You can use a symmetric CMK to encrypt and decrypt small amounts of data, but they are typically used to generate data keys and data keys pairs. For details, see GenerateDataKey and GenerateDataKeyPair.

  • Asymmetric CMKs can contain an RSA key pair or an Elliptic Curve (ECC) key pair. The private key in an asymmetric CMK never leaves AWS KMS unencrypted. However, you can use the GetPublicKey operation to download the public key so it can be used outside of AWS KMS. CMKs with RSA key pairs can be used to encrypt or decrypt data or sign and verify messages (but not both). CMKs with ECC key pairs can be used only to sign and verify messages.

For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To create different types of CMKs, use the following guidance:

Asymmetric CMKs

To create an asymmetric CMK, use the CustomerMasterKeySpec parameter to specify the type of key material in the CMK. Then, use the KeyUsage parameter to determine whether the CMK will be used to encrypt and decrypt or sign and verify. You can't change these properties after the CMK is created.

Symmetric CMKs

When creating a symmetric CMK, you don't need to specify the CustomerMasterKeySpec or KeyUsage parameters. The default value for CustomerMasterKeySpec, SYMMETRIC_DEFAULT, and the default value for KeyUsage, ENCRYPT_DECRYPT, are the only valid values for symmetric CMKs.

Imported Key Material

To import your own key material, begin by creating a symmetric CMK with no key material. To do this, use the Origin parameter of CreateKey with a value of EXTERNAL. Next, use GetParametersForImport operation to get a public key and import token, and use the public key to encrypt your key material. Then, use ImportKeyMaterial with your import token to import the key material. For step-by-step instructions, see Importing Key Material in the AWS Key Management Service Developer Guide . You cannot import the key material into an asymmetric CMK.

Custom Key Stores

To create a symmetric CMK in a custom key store, use the CustomKeyStoreId parameter to specify the custom key store. You must also use the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs in different Availability Zones in the AWS Region.

You cannot create an asymmetric CMK in a custom key store. For information about custom key stores in AWS KMS see Using Custom Key Stores in the AWS Key Management Service Developer Guide .

" }, "Decrypt":{ "name":"Decrypt", @@ -97,12 +139,14 @@ {"shape":"DisabledException"}, {"shape":"InvalidCiphertextException"}, {"shape":"KeyUnavailableException"}, + {"shape":"IncorrectKeyException"}, + {"shape":"InvalidKeyUsageException"}, {"shape":"DependencyTimeoutException"}, {"shape":"InvalidGrantTokenException"}, {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Decrypts ciphertext. Ciphertext is plaintext that has been previously encrypted by using any of the following functions:

Note that if a caller has been granted access permissions to all keys (through, for example, IAM user policies that grant Decrypt permission on all resources), then ciphertext encrypted by using keys in other accounts where the key grants access to the caller can be decrypted. To remedy this, we recommend that you do not grant Decrypt access in an IAM user policy. Instead grant Decrypt access only in key policies. If you must grant Decrypt access in an IAM user policy, you should scope the resource to specific keys or to specific trusted accounts.

" + "documentation":"

Decrypts ciphertext that was encrypted by a AWS KMS customer master key (CMK) using any of the following operations:

You can use this operation to decrypt ciphertext that was encrypted under a symmetric or asymmetric CMK. When the CMK is asymmetric, you must specify the CMK and the encryption algorithm that was used to encrypt the ciphertext. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

The Decrypt operation also decrypts ciphertext that was encrypted outside of AWS KMS by the public key in an AWS KMS asymmetric CMK. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS.

If the ciphertext was encrypted under a symmetric CMK, you do not need to specify the CMK or the encryption algorithm. AWS KMS can get this information from metadata that it adds to the symmetric ciphertext blob. However, if you prefer, you can specify the KeyId to ensure that a particular CMK is used to decrypt the ciphertext. If you specify a different CMK than the one used to encrypt the ciphertext, the Decrypt operation fails.

Whenever possible, use key policies to give users permission to call the Decrypt operation on a particular CMK, instead of using IAM policies. Otherwise, you might create an IAM user policy that gives the user Decrypt permission on all CMKs. This user could decrypt ciphertext that was encrypted by CMKs in other accounts if the key policy for the cross-account CMK permits it. If you must use an IAM policy for Decrypt permissions, limit the user to particular CMKs or particular trusted accounts.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -117,7 +161,23 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Deletes the specified alias. To map an alias to a different key, call UpdateAlias.

" + "documentation":"

Deletes the specified alias. You cannot perform this operation on an alias in a different AWS account.

Because an alias is not a property of a CMK, you can delete and change the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs, use the ListAliases operation.

Each CMK can have multiple aliases. To change the alias of a CMK, use DeleteAlias to delete the current alias and CreateAlias to create a new alias. To associate an existing alias with a different customer master key (CMK), call UpdateAlias.

" + }, + "DeleteCustomKeyStore":{ + "name":"DeleteCustomKeyStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomKeyStoreRequest"}, + "output":{"shape":"DeleteCustomKeyStoreResponse"}, + "errors":[ + {"shape":"CustomKeyStoreHasCMKsException"}, + {"shape":"CustomKeyStoreInvalidStateException"}, + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"KMSInternalException"} + ], + "documentation":"

Deletes a custom key store. This operation does not delete the AWS CloudHSM cluster that is associated with the custom key store, or affect any users or keys in the cluster.

The custom key store that you delete cannot contain any AWS KMS customer master keys (CMKs). Before deleting the key store, verify that you will never need to use any of the CMKs in the key store for any cryptographic operations. Then, use ScheduleKeyDeletion to delete the AWS KMS customer master keys (CMKs) from the key store. When the scheduled waiting period expires, the ScheduleKeyDeletion operation deletes the CMKs. Then it makes a best effort to delete the key material from the associated cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

After all CMKs are deleted from AWS KMS, use DisconnectCustomKeyStore to disconnect the key store from AWS KMS. Then, you can delete the custom key store.

Instead of deleting the custom key store, consider using DisconnectCustomKeyStore to disconnect it from AWS KMS. While the key store is disconnected, you cannot create or use the CMKs in the key store. But, you do not need to delete CMKs and you can reconnect a disconnected custom key store at any time.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "DeleteImportedKeyMaterial":{ "name":"DeleteImportedKeyMaterial", @@ -134,7 +194,21 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Deletes key material that you previously imported and makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.

After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK.

" + "documentation":"

Deletes key material that you previously imported. This operation makes the specified customer master key (CMK) unusable. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. You cannot perform this operation on a CMK in a different AWS account.

When the specified CMK is in the PendingDeletion state, this operation does not change the CMK's state. Otherwise, it changes the CMK's state to PendingImport.

After you delete key material, you can use ImportKeyMaterial to reimport the same key material into the CMK.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "DescribeCustomKeyStores":{ + "name":"DescribeCustomKeyStores", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomKeyStoresRequest"}, + "output":{"shape":"DescribeCustomKeyStoresResponse"}, + "errors":[ + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"KMSInternalException"} + ], + "documentation":"

Gets information about custom key stores in the account and region.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

By default, this operation returns information about all custom key stores in the account and region. To get only information about a particular custom key store, use either the CustomKeyStoreName or CustomKeyStoreId parameter (but not both).

To determine whether the custom key store is connected to its AWS CloudHSM cluster, use the ConnectionState element in the response. If an attempt to connect the custom key store failed, the ConnectionState value is FAILED and the ConnectionErrorCode element in the response indicates the cause of the failure. For help interpreting the ConnectionErrorCode, see CustomKeyStoresListEntry.

Custom key stores have a DISCONNECTED connection state if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If your custom key store state is CONNECTED but you are having trouble using it, make sure that its associated AWS CloudHSM cluster is active and contains the minimum number of HSMs required for the operation, if any.

For help repairing your custom key store, see the Troubleshooting Custom Key Stores topic in the AWS Key Management Service Developer Guide.

" }, "DescribeKey":{ "name":"DescribeKey", @@ -150,7 +224,7 @@ {"shape":"DependencyTimeoutException"}, {"shape":"KMSInternalException"} ], - "documentation":"

Provides detailed information about the specified customer master key.

" + "documentation":"

Provides detailed information about a customer master key (CMK). You can run DescribeKey on a customer managed CMK or an AWS managed CMK.

This detailed information includes the key ARN, creation date (and deletion date, if applicable), the key state, and the origin and expiration date (if any) of the key material. For CMKs in custom key stores, it includes information about the custom key store, such as the key store ID and the AWS CloudHSM cluster ID. It includes fields, like KeySpec, that help you distinguish symmetric from asymmetric CMKs. It also provides information that is particularly important to asymmetric CMKs, such as the key usage (encryption or signing) and the encryption algorithms or signing algorithms that the CMK supports.

DescribeKey does not return the following information:

  • Aliases associated with the CMK. To get this information, use ListAliases.

  • Whether automatic key rotation is enabled on the CMK. To get this information, use GetKeyRotationStatus. Also, some key states prevent a CMK from being automatically rotated. For details, see How Automatic Key Rotation Works in AWS Key Management Service Developer Guide.

  • Tags on the CMK. To get this information, use ListResourceTags.

  • Key policies and grants on the CMK. To get this information, use GetKeyPolicy and ListGrants.

If you call the DescribeKey operation on a predefined AWS alias, that is, an AWS alias with no key ID, AWS KMS creates an AWS managed CMK. Then, it associates the alias with the new CMK, and returns the KeyId and Arn of the new CMK in the response.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" }, "DisableKey":{ "name":"DisableKey", @@ -166,7 +240,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

Sets the state of a customer master key (CMK) to disabled, thereby preventing its use for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide .

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DisableKeyRotation":{ "name":"DisableKeyRotation", @@ -184,7 +258,22 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Disables rotation of the specified key.

" + "documentation":"

Disables automatic rotation of the key material for the specified symmetric customer master key (CMK).

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. You cannot perform this operation on a CMK in a different AWS account.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "DisconnectCustomKeyStore":{ + "name":"DisconnectCustomKeyStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisconnectCustomKeyStoreRequest"}, + "output":{"shape":"DisconnectCustomKeyStoreResponse"}, + "errors":[ + {"shape":"CustomKeyStoreInvalidStateException"}, + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"KMSInternalException"} + ], + "documentation":"

Disconnects the custom key store from its associated AWS CloudHSM cluster. While a custom key store is disconnected, you can manage the custom key store and its customer master keys (CMKs), but you cannot create or use CMKs in the custom key store. You can reconnect the custom key store at any time.

While a custom key store is disconnected, all attempts to create customer master keys (CMKs) in the custom key store or to use existing CMKs in cryptographic operations will fail. This action can prevent users from storing and accessing sensitive data.

To find the connection state of a custom key store, use the DescribeCustomKeyStores operation. To reconnect a custom key store, use the ConnectCustomKeyStore operation.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "EnableKey":{ "name":"EnableKey", @@ -201,7 +290,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Marks a key as enabled, thereby permitting its use.

" + "documentation":"

Sets the key state of a customer master key (CMK) to enabled. This allows you to use the CMK for cryptographic operations. You cannot perform this operation on a CMK in a different AWS account.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "EnableKeyRotation":{ "name":"EnableKeyRotation", @@ -219,7 +308,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Enables rotation of the specified customer master key.

" + "documentation":"

Enables automatic rotation of the key material for the specified symmetric customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "Encrypt":{ "name":"Encrypt", @@ -239,7 +328,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Encrypts plaintext into ciphertext by using a customer master key. The Encrypt function has two primary use cases:

  • You can encrypt up to 4 KB of arbitrary data such as an RSA key, a database password, or other sensitive customer information.

  • If you are moving encrypted data from one region to another, you can use this API to encrypt in the new region the plaintext data key that was used to encrypt the data in the original region. This provides you with an encrypted copy of the data key that can be decrypted in the new region and used there to decrypt the encrypted data.

Unless you are moving encrypted data from one region to another, you don't use this function to encrypt a generated data key within a region. You retrieve data keys already encrypted by calling the GenerateDataKey or GenerateDataKeyWithoutPlaintext function. Data keys don't need to be encrypted again by calling Encrypt.

If you want to encrypt data locally in your application, you can use the GenerateDataKey function to return a plaintext data encryption key and a copy of the key encrypted under the customer master key (CMK) of your choosing.

" + "documentation":"

Encrypts plaintext into ciphertext by using a customer master key (CMK). The Encrypt operation has two primary use cases:

  • You can encrypt small amounts of arbitrary data, such as a personal identifier or database password, or other sensitive information.

  • You can use the Encrypt operation to move encrypted data from one AWS region to another. In the first region, generate a data key and use the plaintext key to encrypt the data. Then, in the new region, call the Encrypt method on same plaintext data key. Now, you can safely move the encrypted data and encrypted data key to the new region, and decrypt in the new region when necessary.

You don't need to use the Encrypt operation to encrypt a data key. The GenerateDataKey and GenerateDataKeyPair operations return a plaintext data key and an encrypted copy of that data key.

When you encrypt data, you must specify a symmetric or asymmetric CMK to use in the encryption operation. The CMK must have a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage of a CMK, use the DescribeKey operation.

If you use a symmetric CMK, you can use an encryption context to add additional security to your encryption operation. If you specify an EncryptionContext when encrypting data, you must specify the same encryption context (a case-sensitive exact match) when decrypting the data. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

If you specify an asymmetric CMK, you must also specify the encryption algorithm. The algorithm must be compatible with the CMK type.

When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record the CMK and encryption algorithm that you choose. You will be required to provide the same CMK and encryption algorithm when you decrypt the data. If the CMK and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

You are not required to supply the CMK ID and encryption algorithm when you decrypt with symmetric CMKs because AWS KMS stores this information in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

The maximum size of the data that you can encrypt varies with the type of CMK and the encryption algorithm that you choose.

  • Symmetric CMKs

    • SYMMETRIC_DEFAULT: 4096 bytes

  • RSA_2048

    • RSAES_OAEP_SHA_1: 214 bytes

    • RSAES_OAEP_SHA_256: 190 bytes

  • RSA_3072

    • RSAES_OAEP_SHA_1: 342 bytes

    • RSAES_OAEP_SHA_256: 318 bytes

  • RSA_4096

    • RSAES_OAEP_SHA_1: 470 bytes

    • RSAES_OAEP_SHA_256: 446 bytes

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

To perform this operation on a CMK in a different AWS account, specify the key ARN or alias ARN in the value of the KeyId parameter.

" }, "GenerateDataKey":{ "name":"GenerateDataKey", @@ -259,7 +348,47 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns a data encryption key that you can use in your application to encrypt data locally.

You must specify the customer master key (CMK) under which to generate the data key. You must also specify the length of the data key using either the KeySpec or NumberOfBytes field. You must specify one field or the other, but not both. For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use KeySpec.

This operation returns a plaintext copy of the data key in the Plaintext field of the response, and an encrypted copy of the data key in the CiphertextBlob field. The data key is encrypted under the CMK specified in the KeyId field of the request.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use this operation (GenerateDataKey) to retrieve a data encryption key.

  2. Use the plaintext data encryption key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key into a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

To return only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To return an arbitrary unpredictable byte string, use GenerateRandom.

If you use the optional EncryptionContext field, you must store at least enough information to be able to reconstruct the full encryption context when you later send the ciphertext to the Decrypt operation. It is a good practice to choose an encryption context that you can reconstruct on the fly to better secure the ciphertext. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Generates a unique symmetric data key. This operation returns a plaintext copy of the data key and a copy that is encrypted under a customer master key (CMK) that you specify. You can use the plaintext key to encrypt your data outside of AWS KMS and store the encrypted data key with the encrypted data.

GenerateDataKey returns a unique data key for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the data key.

To generate a data key, specify the symmetric CMK that will be used to encrypt the data key. You cannot use an asymmetric CMK to generate data keys. To get the type of your CMK, use the DescribeKey operation.

You must also specify the length of the data key. Use either the KeySpec or NumberOfBytes parameters (but not both). For 128-bit and 256-bit data keys, use the KeySpec parameter.

If the operation succeeds, the plaintext copy of the data key is in the Plaintext field of the response, and the encrypted copy of the data key in the CiphertextBlob field.

To get only an encrypted copy of the data key, use GenerateDataKeyWithoutPlaintext. To generate an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operation. To get a cryptographically secure random byte string, use GenerateRandom.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

We recommend that you use the following pattern to encrypt data locally in your application:

  1. Use the GenerateDataKey operation to get a data encryption key.

  2. Use the plaintext data key (returned in the Plaintext field of the response) to encrypt data locally, then erase the plaintext data key from memory.

  3. Store the encrypted data key (returned in the CiphertextBlob field of the response) alongside the locally encrypted data.

To decrypt data locally:

  1. Use the Decrypt operation to decrypt the encrypted data key. The operation returns a plaintext copy of the data key.

  2. Use the plaintext data key to decrypt data locally, then erase the plaintext data key from memory.

" + }, + "GenerateDataKeyPair":{ + "name":"GenerateDataKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateDataKeyPairRequest"}, + "output":{"shape":"GenerateDataKeyPairResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ], + "documentation":"

Generates a unique asymmetric data key pair. The GenerateDataKeyPair operation returns a plaintext public key, a plaintext private key, and a copy of the private key that is encrypted under the symmetric CMK you specify. You can use the data key pair to perform asymmetric cryptography outside of AWS KMS.

GenerateDataKeyPair returns a unique data key pair for each request. The bytes in the keys are not related to the caller or the CMK that is used to encrypt the private key.

You can use the public key that GenerateDataKeyPair returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in a data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation.

If you are using the data key pair to encrypt data, or for any operation where you don't immediately need a private key, consider using the GenerateDataKeyPairWithoutPlaintext operation. GenerateDataKeyPairWithoutPlaintext returns a plaintext public key and an encrypted private key, but omits the plaintext private key that you need only to decrypt ciphertext or sign a message. Later, when you need to decrypt the data or sign a message, use the Decrypt operation to decrypt the encrypted private key in the data key pair.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "GenerateDataKeyPairWithoutPlaintext":{ + "name":"GenerateDataKeyPairWithoutPlaintext", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateDataKeyPairWithoutPlaintextRequest"}, + "output":{"shape":"GenerateDataKeyPairWithoutPlaintextResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ], + "documentation":"

Generates a unique asymmetric data key pair. The GenerateDataKeyPairWithoutPlaintext operation returns a plaintext public key and a copy of the private key that is encrypted under the symmetric CMK you specify. Unlike GenerateDataKeyPair, this operation does not return a plaintext private key.

To generate a data key pair, you must specify a symmetric customer master key (CMK) to encrypt the private key in the data key pair. You cannot use an asymmetric CMK. To get the type of your CMK, use the KeySpec field in the DescribeKey response.

You can use the public key that GenerateDataKeyPairWithoutPlaintext returns to encrypt data or verify a signature outside of AWS KMS. Then, store the encrypted private key with the data. When you are ready to decrypt data or sign a message, you can use the Decrypt operation to decrypt the encrypted private key.

GenerateDataKeyPairWithoutPlaintext returns a unique data key pair for each request. The bytes in the key are not related to the caller or CMK that is used to encrypt the private key.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "GenerateDataKeyWithoutPlaintext":{ "name":"GenerateDataKeyWithoutPlaintext", @@ -279,7 +408,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns a data encryption key encrypted under a customer master key (CMK). This operation is identical to GenerateDataKey but returns only the encrypted copy of the data key.

This operation is useful in a system that has multiple components with different degrees of trust. For example, consider a system that stores encrypted data in containers. Each container stores the encrypted data and an encrypted copy of the data key. One component of the system, called the control plane, creates new containers. When it creates a new container, it uses this operation (GenerateDataKeyWithoutPlaintext) to get an encrypted data key and then stores it in the container. Later, a different component of the system, called the data plane, puts encrypted data into the containers. To do this, it passes the encrypted data key to the Decrypt operation, then uses the returned plaintext data key to encrypt data, and finally stores the encrypted data in the container. In this system, the control plane never sees the plaintext data key.

" + "documentation":"

Generates a unique symmetric data key. This operation returns a data key that is encrypted under a customer master key (CMK) that you specify. To request an asymmetric data key pair, use the GenerateDataKeyPair or GenerateDataKeyPairWithoutPlaintext operations.

GenerateDataKeyWithoutPlaintext is identical to the GenerateDataKey operation except that returns only the encrypted copy of the data key. This operation is useful for systems that need to encrypt data at some point, but not immediately. When you need to encrypt the data, you call the Decrypt operation on the encrypted copy of the key.

It's also useful in distributed systems with different levels of trust. For example, you might store encrypted data in containers. One component of your system creates new containers and stores an encrypted data key with each container. Then, a different component puts the data into the containers. That component first decrypts the data key, uses the plaintext data key to encrypt data, puts the encrypted data into the container, and then destroys the plaintext data key. In this system, the component that creates the containers never sees the plaintext data key.

GenerateDataKeyWithoutPlaintext returns a unique data key for each request. The bytes in the keys are not related to the caller or CMK that is used to encrypt the private key.

To generate a data key, you must specify the symmetric customer master key (CMK) that is used to encrypt the data key. You cannot use an asymmetric CMK to generate a data key. To get the type of your CMK, use the DescribeKey operation.

If the operation succeeds, you will find the encrypted copy of the data key in the CiphertextBlob field.

You can use the optional encryption context to add additional security to the encryption operation. If you specify an EncryptionContext, you must specify the same encryption context (a case-sensitive exact match) when decrypting the encrypted data key. Otherwise, the request to decrypt fails with an InvalidCiphertextException. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "GenerateRandom":{ "name":"GenerateRandom", @@ -291,9 +420,11 @@ "output":{"shape":"GenerateRandomResponse"}, "errors":[ {"shape":"DependencyTimeoutException"}, - {"shape":"KMSInternalException"} + {"shape":"KMSInternalException"}, + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"CustomKeyStoreInvalidStateException"} ], - "documentation":"

Generates an unpredictable byte string.

" + "documentation":"

Returns a random byte string that is cryptographically secure.

By default, the random byte string is generated in AWS KMS. To generate the byte string in the AWS CloudHSM cluster that is associated with a custom key store, specify the custom key store ID.

For more information about entropy and random number generation, see the AWS Key Management Service Cryptographic Details whitepaper.

" }, "GetKeyPolicy":{ "name":"GetKeyPolicy", @@ -310,7 +441,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Retrieves a policy attached to the specified key.

" + "documentation":"

Gets a key policy attached to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

" }, "GetKeyRotationStatus":{ "name":"GetKeyRotationStatus", @@ -328,7 +459,7 @@ {"shape":"KMSInvalidStateException"}, {"shape":"UnsupportedOperationException"} ], - "documentation":"

Retrieves a Boolean value that indicates whether key rotation is enabled for the specified key.

" + "documentation":"

Gets a Boolean value that indicates whether automatic rotation of the key material is enabled for the specified customer master key (CMK).

You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store. The key rotation status for these CMKs is always false.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

  • Disabled: The key rotation status does not change when you disable a CMK. However, while the CMK is disabled, AWS KMS does not rotate the backing key.

  • Pending deletion: While a CMK is pending deletion, its key rotation status is false and AWS KMS does not rotate the backing key. If you cancel the deletion, the original key rotation status is restored.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" }, "GetParametersForImport":{ "name":"GetParametersForImport", @@ -346,7 +477,29 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Returns the items you need in order to import key material into AWS KMS from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

You must specify the key ID of the customer master key (CMK) into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material.

This operation returns a public key and an import token. Use the public key to encrypt the key material. Store the import token to send with a subsequent ImportKeyMaterial request. The public key and import token from the same response must be used together. These items are valid for 24 hours, after which they cannot be used for a subsequent ImportKeyMaterial request. To retrieve new ones, send another GetParametersForImport request.

" + "documentation":"

Returns the items you need to import key material into a symmetric, customer managed customer master key (CMK). For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

This operation returns a public key and an import token. Use the public key to encrypt the symmetric key material. Store the import token to send with a subsequent ImportKeyMaterial request.

You must specify the key ID of the symmetric CMK into which you will import key material. This CMK's Origin must be EXTERNAL. You must also specify the wrapping algorithm and type of wrapping key (public key) that you will use to encrypt the key material. You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account.

To import key material, you must use the public key and import token from the same response. These items are valid for 24 hours. The expiration date and time appear in the GetParametersForImport response. You cannot use an expired token in an ImportKeyMaterial request. If your key and token expire, send another GetParametersForImport request.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "GetPublicKey":{ + "name":"GetPublicKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPublicKeyRequest"}, + "output":{"shape":"GetPublicKeyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"UnsupportedOperationException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ], + "documentation":"

Returns the public key of an asymmetric CMK. Unlike the private key of a asymmetric CMK, which never leaves AWS KMS unencrypted, callers with kms:GetPublicKey permission can download the public key of an asymmetric CMK. You can share the public key to allow others to encrypt messages and verify signatures outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

You do not need to download the public key. Instead, you can use the public key within AWS KMS by calling the Encrypt, ReEncrypt, or Verify operations with the identifier of an asymmetric CMK. When you use the public key within AWS KMS, you benefit from the authentication, authorization, and logging that are part of every AWS KMS operation. You also reduce of risk of encrypting data that cannot be decrypted. These features are not effective outside of AWS KMS. For details, see Special Considerations for Downloading Public Keys.

To help you use the public key safely outside of AWS KMS, GetPublicKey returns important information about the public key in the response, including:

Although AWS KMS cannot enforce these restrictions on external operations, it is crucial that you use this information to prevent the public key from being used improperly. For example, you can prevent a public signing key from being used encrypt data, or prevent a public key from being used with an encryption algorithm that is not supported by AWS KMS. You can also avoid errors, such as using the wrong signing algorithm in a verification operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "ImportKeyMaterial":{ "name":"ImportKeyMaterial", @@ -368,7 +521,7 @@ {"shape":"ExpiredImportTokenException"}, {"shape":"InvalidImportTokenException"} ], - "documentation":"

Imports key material into an AWS KMS customer master key (CMK) from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

You must specify the key ID of the CMK to import the key material into. This CMK's Origin must be EXTERNAL. You must also send an import token and the encrypted key material. Send the import token that you received in the same GetParametersForImport response that contained the public key that you used to encrypt the key material. You must also specify whether the key material expires and if so, when. When the key material expires, AWS KMS deletes the key material and the CMK becomes unusable. To use the CMK again, you can reimport the same key material. If you set an expiration date, you can change it only by reimporting the same key material and specifying a new expiration date.

When this operation is successful, the specified CMK's key state changes to Enabled, and you can use the CMK.

After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

" + "documentation":"

Imports key material into an existing symmetric AWS KMS customer master key (CMK) that was created without key material. After you successfully import key material into a CMK, you can reimport the same key material into that CMK, but you cannot import different key material.

You cannot perform this operation on an asymmetric CMK or on any CMK in a different AWS account. For more information about creating CMKs with no key material and then importing key material, see Importing Key Material in the AWS Key Management Service Developer Guide.

Before using this operation, call GetParametersForImport. Its response includes a public key and an import token. Use the public key to encrypt the key material. Then, submit the import token from the same GetParametersForImport response.

When calling this operation, you must specify the following values:

  • The key ID or key ARN of a CMK with no key material. Its Origin must be EXTERNAL.

    To create a CMK with no key material, call CreateKey and set the value of its Origin parameter to EXTERNAL. To get the Origin of a CMK, call DescribeKey.)

  • The encrypted key material. To get the public key to encrypt the key material, call GetParametersForImport.

  • The import token that GetParametersForImport returned. You must use a public key and token from the same GetParametersForImport response.

  • Whether the key material expires and if so, when. If you set an expiration date, AWS KMS deletes the key material from the CMK on the specified date, and the CMK becomes unusable. To use the CMK again, you must reimport the same key material. The only way to change an expiration date is by reimporting the same key material and specifying a new expiration date.

When this operation is successful, the key state of the CMK changes from PendingImport to Enabled, and you can use the CMK.

If this operation fails, use the exception to help determine the problem. If the error is related to the key material, the import token, or wrapping key, use GetParametersForImport to get a new public key and import token for the CMK and repeat the import procedure. For help, see How To Import Key Material in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "ListAliases":{ "name":"ListAliases", @@ -381,9 +534,11 @@ "errors":[ {"shape":"DependencyTimeoutException"}, {"shape":"InvalidMarkerException"}, - {"shape":"KMSInternalException"} + {"shape":"KMSInternalException"}, + {"shape":"InvalidArnException"}, + {"shape":"NotFoundException"} ], - "documentation":"

Lists all of the key aliases in the account.

" + "documentation":"

Gets a list of aliases in the caller's AWS account and region. You cannot list aliases in other accounts. For more information about aliases, see CreateAlias.

By default, the ListAliases command returns all aliases in the account and region. To get only the aliases that point to a particular customer master key (CMK), use the KeyId parameter.

The ListAliases response can include aliases that you created and associated with your customer managed CMKs, and aliases that AWS created and associated with AWS managed CMKs in your account. You can recognize AWS aliases because their names have the format aws/<service-name>, such as aws/dynamodb.

The response might also include aliases that have no TargetKeyId field. These are predefined aliases that AWS has created but has not yet associated with a CMK. Aliases that AWS creates in your account, including predefined aliases, do not count against your AWS KMS aliases quota.

" }, "ListGrants":{ "name":"ListGrants", @@ -401,7 +556,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

List the grants for a specified key.

" + "documentation":"

Gets a list of all grants for the specified customer master key (CMK).

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" }, "ListKeyPolicies":{ "name":"ListKeyPolicies", @@ -418,7 +573,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Retrieves a list of policies attached to a key.

" + "documentation":"

Gets the names of the key policies that are attached to a customer master key (CMK). This operation is designed to get policy names that you can use in a GetKeyPolicy operation. However, the only valid policy name is default. You cannot perform this operation on a CMK in a different AWS account.

" }, "ListKeys":{ "name":"ListKeys", @@ -433,7 +588,23 @@ {"shape":"KMSInternalException"}, {"shape":"InvalidMarkerException"} ], - "documentation":"

Lists the customer master keys.

" + "documentation":"

Gets a list of all customer master keys (CMKs) in the caller's AWS account and Region.

" + }, + "ListResourceTags":{ + "name":"ListResourceTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceTagsRequest"}, + "output":{"shape":"ListResourceTagsResponse"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidMarkerException"} + ], + "documentation":"

Returns a list of all tags for the specified customer master key (CMK).

You cannot perform this operation on a CMK in a different AWS account.

" }, "ListRetirableGrants":{ "name":"ListRetirableGrants", @@ -469,7 +640,7 @@ {"shape":"LimitExceededException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Attaches a key policy to the specified customer master key (CMK).

For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide.

" + "documentation":"

Attaches a key policy to the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

For more information about key policies, see Key Policies in the AWS Key Management Service Developer Guide.

" }, "ReEncrypt":{ "name":"ReEncrypt", @@ -484,13 +655,14 @@ {"shape":"DisabledException"}, {"shape":"InvalidCiphertextException"}, {"shape":"KeyUnavailableException"}, + {"shape":"IncorrectKeyException"}, {"shape":"DependencyTimeoutException"}, {"shape":"InvalidKeyUsageException"}, {"shape":"InvalidGrantTokenException"}, {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Encrypts data on the server side with a new customer master key without exposing the plaintext of the data on the client side. The data is first decrypted and then encrypted. This operation can also be used to change the encryption context of a ciphertext.

Unlike other actions, ReEncrypt is authorized twice - once as ReEncryptFrom on the source key and once as ReEncryptTo on the destination key. We therefore recommend that you include the \"action\":\"kms:ReEncrypt*\" statement in your key policies to permit re-encryption from or to the key. The statement is included automatically when you authorize use of the key through the console but must be included manually when you set a policy by using the PutKeyPolicy function.

" + "documentation":"

Decrypts ciphertext and then reencrypts it entirely within AWS KMS. You can use this operation to change the customer master key (CMK) under which data is encrypted, such as when you manually rotate a CMK or change the CMK that protects a ciphertext. You can also use it to reencrypt ciphertext under the same CMK, such as to change the encryption context of a ciphertext.

The ReEncrypt operation can decrypt ciphertext that was encrypted by using an AWS KMS CMK in an AWS KMS operation, such as Encrypt or GenerateDataKey. It can also decrypt ciphertext that was encrypted by using the public key of an asymmetric CMK outside of AWS KMS. However, it cannot decrypt ciphertext produced by other libraries, such as the AWS Encryption SDK or Amazon S3 client-side encryption. These libraries return a ciphertext format that is incompatible with AWS KMS.

When you use the ReEncrypt operation, you need to provide information for the decrypt operation and the subsequent encrypt operation.

  • If your ciphertext was encrypted under an asymmetric CMK, you must identify the source CMK, that is, the CMK that encrypted the ciphertext. You must also supply the encryption algorithm that was used. This information is required to decrypt the data.

  • It is optional, but you can specify a source CMK even when the ciphertext was encrypted under a symmetric CMK. This ensures that the ciphertext is decrypted only by using a particular CMK. If the CMK that you specify cannot decrypt the ciphertext, the ReEncrypt operation fails.

  • To reencrypt the data, you must specify the destination CMK, that is, the CMK that re-encrypts the data after it is decrypted. You can select a symmetric or asymmetric CMK. If the destination CMK is an asymmetric CMK, you must also provide the encryption algorithm. The algorithm that you choose must be compatible with the CMK.

    When you use an asymmetric CMK to encrypt or reencrypt data, be sure to record the CMK and encryption algorithm that you choose. You will be required to provide the same CMK and encryption algorithm when you decrypt the data. If the CMK and algorithm do not match the values used to encrypt the data, the decrypt operation fails.

    You are not required to supply the CMK ID and encryption algorithm when you decrypt with symmetric CMKs because AWS KMS stores this information in the ciphertext blob. AWS KMS cannot store metadata in ciphertext generated with asymmetric keys. The standard format for asymmetric key ciphertext does not include configurable fields.

Unlike other AWS KMS API operations, ReEncrypt callers must have two permissions:

  • kms:EncryptFrom permission on the source CMK

  • kms:EncryptTo permission on the destination CMK

To permit reencryption from

or to a CMK, include the \"kms:ReEncrypt*\" permission in your key policy. This permission is automatically included in the key policy when you use the console to create a CMK. But you must include it manually when you create a CMK programmatically or when you use the PutKeyPolicy operation set a key policy.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "RetireGrant":{ "name":"RetireGrant", @@ -500,6 +672,7 @@ }, "input":{"shape":"RetireGrantRequest"}, "errors":[ + {"shape":"InvalidArnException"}, {"shape":"InvalidGrantTokenException"}, {"shape":"InvalidGrantIdException"}, {"shape":"NotFoundException"}, @@ -507,7 +680,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Retires a grant. You can retire a grant when you're done using it to clean up. You should revoke a grant when you intend to actively deny operations that depend on it. The following are permitted to call this API:

  • The account that created the grant

  • The RetiringPrincipal, if present

  • The GranteePrincipal, if RetireGrant is a grantee operation

The grant to retire must be identified by its grant token or by a combination of the key ARN and the grant ID. A grant token is a unique variable-length base64-encoded string. A grant ID is a 64 character unique identifier of a grant. Both are returned by the CreateGrant function.

" + "documentation":"

Retires a grant. To clean up, you can retire a grant when you're done using it. You should revoke a grant when you intend to actively deny operations that depend on it. The following are permitted to call this API:

  • The AWS account (root user) under which the grant was created

  • The RetiringPrincipal, if present in the grant

  • The GranteePrincipal, if RetireGrant is an operation specified in the grant

You must identify the grant to retire by its grant token or by a combination of the grant ID and the Amazon Resource Name (ARN) of the customer master key (CMK). A grant token is a unique variable-length base64-encoded string. A grant ID is a 64 character unique identifier of a grant. The CreateGrant operation returns both.

" }, "RevokeGrant":{ "name":"RevokeGrant", @@ -524,7 +697,7 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Revokes a grant. You can revoke a grant to actively deny operations that depend on it.

" + "documentation":"

Revokes the specified grant for the specified customer master key (CMK). You can revoke a grant to actively deny operations that depend on it.

To perform this operation on a CMK in a different AWS account, specify the key ARN in the value of the KeyId parameter.

" }, "ScheduleKeyDeletion":{ "name":"ScheduleKeyDeletion", @@ -541,7 +714,60 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that point to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is rendered unrecoverable. To restrict the use of a CMK without deleting it, use DisableKey.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

" + "documentation":"

Schedules the deletion of a customer master key (CMK). You may provide a waiting period, specified in days, before deletion occurs. If you do not provide a waiting period, the default period of 30 days is used. When this operation is successful, the key state of the CMK changes to PendingDeletion. Before the waiting period ends, you can use CancelKeyDeletion to cancel the deletion of the CMK. After the waiting period ends, AWS KMS deletes the CMK and all AWS KMS data associated with it, including all aliases that refer to it.

Deleting a CMK is a destructive and potentially dangerous operation. When a CMK is deleted, all data that was encrypted under the CMK is unrecoverable. To prevent the use of a CMK without deleting it, use DisableKey.

If you schedule deletion of a CMK from a custom key store, when the waiting period expires, ScheduleKeyDeletion deletes the CMK from AWS KMS. Then AWS KMS makes a best effort to delete the key material from the associated AWS CloudHSM cluster. However, you might need to manually delete the orphaned key material from the cluster and its backups.

You cannot perform this operation on a CMK in a different AWS account.

For more information about scheduling a CMK for deletion, see Deleting Customer Master Keys in the AWS Key Management Service Developer Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "Sign":{ + "name":"Sign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SignRequest"}, + "output":{"shape":"SignResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"} + ], + "documentation":"

Creates a digital signature for a message or message digest by using the private key in an asymmetric CMK. To verify the signature, use the Verify operation, or use the public key in the same asymmetric CMK outside of AWS KMS. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

Digital signatures are generated and verified by using asymmetric key pair, such as an RSA or ECC pair that is represented by an asymmetric customer master key (CMK). The key owner (or an authorized user) uses their private key to sign a message. Anyone with the public key can verify that the message was signed with that particular private key and that the message hasn't changed since it was signed.

To use the Sign operation, provide the following information:

  • Use the KeyId parameter to identify an asymmetric CMK with a KeyUsage value of SIGN_VERIFY. To get the KeyUsage value of a CMK, use the DescribeKey operation. The caller must have kms:Sign permission on the CMK.

  • Use the Message parameter to specify the message or message digest to sign. You can submit messages of up to 4096 bytes. To sign a larger message, generate a hash digest of the message, and then provide the hash digest in the Message parameter. To indicate whether the message is a full message or a digest, use the MessageType parameter.

  • Choose a signing algorithm that is compatible with the CMK.

When signing a message, be sure to record the CMK and the signing algorithm. This information is required to verify the signature.

To verify the signature that this operation generates, use the Verify operation. Or use the GetPublicKey operation to download the public key and then use the public key to verify the signature outside of AWS KMS.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"LimitExceededException"}, + {"shape":"TagException"} + ], + "documentation":"

Adds or edits tags for a customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

You can only use a tag key once for each CMK. If you use the tag key again, AWS KMS replaces the current tag value with the specified value.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"KMSInternalException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"TagException"} + ], + "documentation":"

Removes the specified tags from the specified customer master key (CMK). You cannot perform this operation on a CMK in a different AWS account.

To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "UpdateAlias":{ "name":"UpdateAlias", @@ -556,7 +782,27 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Updates an alias to map it to a different key.

An alias is not a property of a key. Therefore, an alias can be mapped to and unmapped from an existing key without changing the properties of the key.

An alias name can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). An alias must start with the word \"alias\" followed by a forward slash (alias/). An alias that begins with \"aws\" after the forward slash (alias/aws...) is reserved by Amazon Web Services (AWS).

The alias and the key it is mapped to must be in the same AWS account and the same region.

" + "documentation":"

Associates an existing AWS KMS alias with a different customer master key (CMK). Each alias is associated with only one CMK at a time, although a CMK can have multiple aliases. The alias and the CMK must be in the same AWS account and region. You cannot perform this operation on an alias in a different AWS account.

The current and new CMK must be the same type (both symmetric or both asymmetric), and they must have the same key usage (ENCRYPT_DECRYPT or SIGN_VERIFY). This restriction prevents errors in code that uses aliases. If you must assign an alias to a different type of CMK, use DeleteAlias to delete the old alias and CreateAlias to create a new alias.

You cannot use UpdateAlias to change an alias name. To change an alias name, use DeleteAlias to delete the old alias and CreateAlias to create a new alias.

Because an alias is not a property of a CMK, you can create, update, and delete the aliases of a CMK without affecting the CMK. Also, aliases do not appear in the response from the DescribeKey operation. To get the aliases of all CMKs in the account, use the ListAliases operation.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "UpdateCustomKeyStore":{ + "name":"UpdateCustomKeyStore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomKeyStoreRequest"}, + "output":{"shape":"UpdateCustomKeyStoreResponse"}, + "errors":[ + {"shape":"CustomKeyStoreNotFoundException"}, + {"shape":"CustomKeyStoreNameInUseException"}, + {"shape":"CloudHsmClusterNotFoundException"}, + {"shape":"CloudHsmClusterNotRelatedException"}, + {"shape":"CustomKeyStoreInvalidStateException"}, + {"shape":"KMSInternalException"}, + {"shape":"CloudHsmClusterNotActiveException"}, + {"shape":"CloudHsmClusterInvalidConfigurationException"} + ], + "documentation":"

Changes the properties of a custom key store. Use the CustomKeyStoreId parameter to identify the custom key store you want to edit. Use the remaining parameters to change the properties of the custom key store.

You can only update a custom key store that is disconnected. To disconnect the custom key store, use DisconnectCustomKeyStore. To reconnect the custom key store after the update completes, use ConnectCustomKeyStore. To find the connection state of a custom key store, use the DescribeCustomKeyStores operation.

Use the parameters of UpdateCustomKeyStore to edit your keystore settings.

  • Use the NewCustomKeyStoreName parameter to change the friendly name of the custom key store to the value that you specify.

  • Use the KeyStorePassword parameter tell AWS KMS the current password of the kmsuser crypto user (CU) in the associated AWS CloudHSM cluster. You can use this parameter to fix connection failures that occur when AWS KMS cannot log into the associated cluster because the kmsuser password has changed. This value does not change the password in the AWS CloudHSM cluster.

  • Use the CloudHsmClusterId parameter to associate the custom key store with a different, but related, AWS CloudHSM cluster. You can use this parameter to repair a custom key store if its AWS CloudHSM cluster becomes corrupted or is deleted, or when you need to create or restore a cluster from a backup.

If the operation succeeds, it returns a JSON object with no properties.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "UpdateKeyDescription":{ "name":"UpdateKeyDescription", @@ -572,7 +818,28 @@ {"shape":"KMSInternalException"}, {"shape":"KMSInvalidStateException"} ], - "documentation":"

Updates the description of a key.

" + "documentation":"

Updates the description of a customer master key (CMK). To see the description of a CMK, use DescribeKey.

You cannot perform this operation on a CMK in a different AWS account.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + }, + "Verify":{ + "name":"Verify", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"VerifyRequest"}, + "output":{"shape":"VerifyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"DisabledException"}, + {"shape":"KeyUnavailableException"}, + {"shape":"DependencyTimeoutException"}, + {"shape":"InvalidKeyUsageException"}, + {"shape":"InvalidGrantTokenException"}, + {"shape":"KMSInternalException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSInvalidSignatureException"} + ], + "documentation":"

Verifies a digital signature that was generated by the Sign operation.

Verification confirms that an authorized user signed the message with the specified CMK and signing algorithm, and the message hasn't changed since it was signed. If the signature is verified, the value of the SignatureValid field in the response is True. If the signature verification fails, the Verify operation fails with an KMSInvalidSignatureException exception.

A digital signature is generated by using the private key in an asymmetric CMK. The signature is verified by using the public key in the same asymmetric CMK. For information about symmetric and asymmetric CMKs, see Using Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

To verify a digital signature, you can use the Verify operation. Specify the same asymmetric CMK, message, and signing algorithm that were used to produce the signature.

You can also verify the digital signature by using the public key of the CMK outside of AWS KMS. Use the GetPublicKey operation to download the public key in the asymmetric CMK and then use the public key to verify the signature outside of AWS KMS. The advantage of using the Verify operation is that it is performed within AWS KMS. As a result, it's easy to call, the operation is performed within the FIPS boundary, it is logged in AWS CloudTrail, and you can use key policy and IAM policy to determine who is authorized to use the CMK to verify signatures.

The CMK that you use for this operation must be in a compatible key state. For details, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" } }, "shapes":{ @@ -594,7 +861,7 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the alias.

" + "documentation":"

String that contains the alias. This value begins with alias/.

" }, "AliasArn":{ "shape":"ArnType", @@ -602,7 +869,7 @@ }, "TargetKeyId":{ "shape":"KeyIdType", - "documentation":"

String that contains the key identifier pointed to by the alias.

" + "documentation":"

String that contains the key identifier referred to by the alias.

" } }, "documentation":"

Contains information about an alias.

" @@ -633,7 +900,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) for which to cancel deletion.

To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To obtain the unique key ID and key ARN for a given CMK, use ListKeys or DescribeKey.

" + "documentation":"

The unique identifier for the customer master key (CMK) for which to cancel deletion.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -651,6 +918,90 @@ "max":6144, "min":1 }, + "CloudHsmClusterIdType":{ + "type":"string", + "max":24, + "min":19 + }, + "CloudHsmClusterInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the specified AWS CloudHSM cluster is already associated with a custom key store or it shares a backup history with a cluster that is associated with a custom key store. Each custom key store must be associated with a different AWS CloudHSM cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", + "exception":true + }, + "CloudHsmClusterInvalidConfigurationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the associated AWS CloudHSM cluster did not meet the configuration requirements for a custom key store.

  • The cluster must be configured with private subnets in at least two different Availability Zones in the Region.

  • The security group for the cluster (cloudhsm-cluster-<cluster-id>-sg) must include inbound rules and outbound rules that allow TCP traffic on ports 2223-2225. The Source in the inbound rules and the Destination in the outbound rules must match the security group ID. These rules are set by default when you create the cluster. Do not delete or change them. To get information about a particular security group, use the DescribeSecurityGroups operation.

  • The cluster must contain at least as many HSMs as the operation requires. To add HSMs, use the AWS CloudHSM CreateHsm operation.

    For the CreateCustomKeyStore, UpdateCustomKeyStore, and CreateKey operations, the AWS CloudHSM cluster must have at least two active HSMs, each in a different Availability Zone. For the ConnectCustomKeyStore operation, the AWS CloudHSM must contain at least one active HSM.

For information about the requirements for an AWS CloudHSM cluster that is associated with a custom key store, see Assemble the Prerequisites in the AWS Key Management Service Developer Guide. For information about creating a private subnet for an AWS CloudHSM cluster, see Create a Private Subnet in the AWS CloudHSM User Guide. For information about cluster security groups, see Configure a Default Security Group in the AWS CloudHSM User Guide .

", + "exception":true + }, + "CloudHsmClusterNotActiveException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the AWS CloudHSM cluster that is associated with the custom key store is not active. Initialize and activate the cluster and try the command again. For detailed instructions, see Getting Started in the AWS CloudHSM User Guide.

", + "exception":true + }, + "CloudHsmClusterNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because AWS KMS cannot find the AWS CloudHSM cluster with the specified cluster ID. Retry the request with a different cluster ID.

", + "exception":true + }, + "CloudHsmClusterNotRelatedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the specified AWS CloudHSM cluster has a different cluster certificate than the original cluster. You cannot use the operation to specify an unrelated cluster.

Specify a cluster that shares a backup history with the original cluster. This includes clusters that were created from a backup of the current cluster, and clusters that were created from the same backup that produced the current cluster.

Clusters that share a backup history have the same cluster certificate. To view the cluster certificate of a cluster, use the DescribeClusters operation.

", + "exception":true + }, + "ConnectCustomKeyStoreRequest":{ + "type":"structure", + "required":["CustomKeyStoreId"], + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Enter the key store ID of the custom key store that you want to connect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + } + } + }, + "ConnectCustomKeyStoreResponse":{ + "type":"structure", + "members":{ + } + }, + "ConnectionErrorCodeType":{ + "type":"string", + "enum":[ + "INVALID_CREDENTIALS", + "CLUSTER_NOT_FOUND", + "NETWORK_ERRORS", + "INTERNAL_ERROR", + "INSUFFICIENT_CLOUDHSM_HSMS", + "USER_LOCKED_OUT", + "USER_NOT_FOUND", + "USER_LOGGED_IN", + "SUBNET_NOT_FOUND" + ] + }, + "ConnectionStateType":{ + "type":"string", + "enum":[ + "CONNECTED", + "CONNECTING", + "FAILED", + "DISCONNECTED", + "DISCONNECTING" + ] + }, "CreateAliasRequest":{ "type":"structure", "required":[ @@ -660,11 +1011,47 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the display name. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/AWS\" are reserved.

" + "documentation":"

Specifies the alias name. This value must begin with alias/ followed by a name, such as alias/ExampleAlias. The alias name cannot begin with alias/aws/. The alias/aws/ prefix is reserved for AWS managed CMKs.

" }, "TargetKeyId":{ "shape":"KeyIdType", - "documentation":"

An identifier of the key for which you are creating the alias. This value cannot be another alias but can be a globally unique identifier or a fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

Identifies the CMK to which the alias refers. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. You cannot specify another alias. For help finding the key ID and ARN, see Finding the Key ID and ARN in the AWS Key Management Service Developer Guide.

" + } + } + }, + "CreateCustomKeyStoreRequest":{ + "type":"structure", + "required":[ + "CustomKeyStoreName", + "CloudHsmClusterId", + "TrustAnchorCertificate", + "KeyStorePassword" + ], + "members":{ + "CustomKeyStoreName":{ + "shape":"CustomKeyStoreNameType", + "documentation":"

Specifies a friendly name for the custom key store. The name must be unique in your AWS account.

" + }, + "CloudHsmClusterId":{ + "shape":"CloudHsmClusterIdType", + "documentation":"

Identifies the AWS CloudHSM cluster for the custom key store. Enter the cluster ID of any active AWS CloudHSM cluster that is not already associated with a custom key store. To find the cluster ID, use the DescribeClusters operation.

" + }, + "TrustAnchorCertificate":{ + "shape":"TrustAnchorCertificateType", + "documentation":"

Enter the content of the trust anchor certificate for the cluster. This is the content of the customerCA.crt file that you created when you initialized the cluster.

" + }, + "KeyStorePassword":{ + "shape":"KeyStorePasswordType", + "documentation":"

Enter the password of the kmsuser crypto user (CU) account in the specified AWS CloudHSM cluster. AWS KMS logs into the cluster as this user to manage key material on your behalf.

The password must be a string of 7 to 32 characters. Its value is case sensitive.

This parameter tells AWS KMS the kmsuser account password; it does not change the password in the AWS CloudHSM cluster.

" + } + } + }, + "CreateCustomKeyStoreResponse":{ + "type":"structure", + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

A unique identifier for the new custom key store.

" } } }, @@ -672,36 +1059,37 @@ "type":"structure", "required":[ "KeyId", - "GranteePrincipal" + "GranteePrincipal", + "Operations" ], "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) that the grant applies to.

To specify this value, use the globally unique key ID or the Amazon Resource Name (ARN) of the key. Examples:

  • Globally unique key ID: 12345678-1234-1234-1234-123456789012

  • Key ARN: arn:aws:kms:us-west-2:123456789012:key/12345678-1234-1234-1234-123456789012

" + "documentation":"

The unique identifier for the customer master key (CMK) that the grant applies to.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "GranteePrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The principal that is given permission to perform the operations that the grant permits.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, IAM roles, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" }, "RetiringPrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The principal that is given permission to retire the grant by using RetireGrant operation.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The principal that is given permission to retire the grant by using RetireGrant operation.

To specify the principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax to use for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the AWS General Reference.

" }, "Operations":{ "shape":"GrantOperationList", - "documentation":"

A list of operations that the grant permits. The list can contain any combination of one or more of the following values:

" + "documentation":"

A list of operations that the grant permits.

" }, "Constraints":{ "shape":"GrantConstraints", - "documentation":"

The conditions under which the operations permitted by the grant are allowed.

You can use this value to allow the operations permitted by the grant only when a specified encryption context is present. For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Allows a cryptographic operation only when the encryption context matches or includes the encryption context specified in this structure. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide .

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" }, "Name":{ "shape":"GrantNameType", - "documentation":"

A friendly name for identifying the grant. Use this value to prevent unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

" + "documentation":"

A friendly name for identifying the grant. Use this value to prevent the unintended creation of duplicate grants when retrying this request.

When this value is absent, all CreateGrant requests result in a new grant with a unique GrantId even if all the supplied parameters are identical. This can result in unintended duplicates when you retry the CreateGrant request.

When this value is present, you can retry a CreateGrant request with identical parameters; if the grant already exists, the original GrantId is returned without creating a new grant. Note that the returned grant token is unique with every CreateGrant request, even when a duplicate GrantId is returned. All grant tokens obtained in this way can be used interchangeably.

" } } }, @@ -710,7 +1098,7 @@ "members":{ "GrantToken":{ "shape":"GrantTokenType", - "documentation":"

The grant token.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

The grant token.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" }, "GrantId":{ "shape":"GrantIdType", @@ -723,7 +1111,7 @@ "members":{ "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you specify a policy and do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principal(s) specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

If you do not specify a policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The policy size limit is 32 KiB (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

If you provide a key policy, it must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the CreateKey request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide .

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

If you do not provide a key policy, AWS KMS attaches a default key policy to the CMK. For more information, see Default Key Policy in the AWS Key Management Service Developer Guide.

The key policy size quota is 32 kilobytes (32768 bytes).

" }, "Description":{ "shape":"DescriptionType", @@ -731,15 +1119,27 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"

The intended use of the CMK.

You can use CMKs only for symmetric encryption and decryption.

" + "documentation":"

Determines the cryptographic operations for which you can use the CMK. The default value is ENCRYPT_DECRYPT. This parameter is required only for asymmetric CMKs. You can't change the KeyUsage value after the CMK is created.

Select only one valid value.

  • For symmetric CMKs, omit the parameter or specify ENCRYPT_DECRYPT.

  • For asymmetric CMKs with RSA key material, specify ENCRYPT_DECRYPT or SIGN_VERIFY.

  • For asymmetric CMKs with ECC key material, specify SIGN_VERIFY.

" + }, + "CustomerMasterKeySpec":{ + "shape":"CustomerMasterKeySpec", + "documentation":"

Specifies the type of CMK to create. The default value, SYMMETRIC_DEFAULT, creates a CMK with a 256-bit symmetric key for encryption and decryption. For help choosing a key spec for your CMK, see How to Choose Your CMK Configuration in the AWS Key Management Service Developer Guide.

The CustomerMasterKeySpec determines whether the CMK contains a symmetric key or an asymmetric key pair. It also determines the encryption algorithms or signing algorithms that the CMK supports. You can't change the CustomerMasterKeySpec after the CMK is created. To further restrict the algorithms that can be used with the CMK, use a condition key in its key policy or IAM policy. For more information, see kms:EncryptionAlgorithm or kms:Signing Algorithm in the AWS Key Management Service Developer Guide.

AWS services that are integrated with AWS KMS use symmetric CMKs to protect your data. These services do not support asymmetric CMKs. For help determining whether a CMK is symmetric or asymmetric, see Identifying Symmetric and Asymmetric CMKs in the AWS Key Management Service Developer Guide.

AWS KMS supports the following key specs for CMKs:

  • Symmetric key (default)

    • SYMMETRIC_DEFAULT (AES-256-GCM)

  • Asymmetric RSA key pairs

    • RSA_2048

    • RSA_3072

    • RSA_4096

  • Asymmetric NIST-recommended elliptic curve key pairs

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Other asymmetric elliptic curve key pairs

    • ECC_SECG_P256K1 (secp256k1), commonly used for cryptocurrencies.

" }, "Origin":{ "shape":"OriginType", - "documentation":"

The source of the CMK's key material.

The default is AWS_KMS, which means AWS KMS creates the key material. When this parameter is set to EXTERNAL, the request creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide.

The CMK's Origin is immutable and is set when the CMK is created.

" + "documentation":"

The source of the key material for the CMK. You cannot change the origin after you create the CMK. The default is AWS_KMS, which means AWS KMS creates the key material.

When the parameter value is EXTERNAL, AWS KMS creates a CMK without key material so that you can import key material from your existing key management infrastructure. For more information about importing key material into AWS KMS, see Importing Key Material in the AWS Key Management Service Developer Guide. This value is valid only for symmetric CMKs.

When the parameter value is AWS_CLOUDHSM, AWS KMS creates the CMK in an AWS KMS custom key store and creates its key material in the associated AWS CloudHSM cluster. You must also use the CustomKeyStoreId parameter to identify the custom key store. This value is valid only for symmetric CMKs.

" + }, + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Creates the CMK in the specified custom key store and the key material in its associated AWS CloudHSM cluster. To create a CMK in a custom key store, you must also specify the Origin parameter with a value of AWS_CLOUDHSM. The AWS CloudHSM cluster that is associated with the custom key store must have at least two active HSMs, each in a different Availability Zone in the Region.

This parameter is valid only for symmetric CMKs. You cannot create an asymmetric CMK in a custom key store.

To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

The response includes the custom key store ID and the ID of the AWS CloudHSM cluster.

This operation is part of the Custom Key Store feature feature in AWS KMS, which combines the convenience and extensive integration of AWS KMS with the isolation and control of a single-tenant key store.

" }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you include a policy in the request and you intend to prevent the principal making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide .

Use this parameter only when you include a policy in the request and you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags. Each tag consists of a tag key and a tag value. Both the tag key and the tag value are required, but the tag value can be an empty (null) string.

When you add tags to an AWS resource, AWS generates a cost allocation report with usage and costs aggregated by tags. For information about adding, changing, deleting and listing tags for CMKs, see Tagging Keys.

Use this parameter to tag the CMK when it is created. To add tags to an existing CMK, use the TagResource operation.

" } } }, @@ -752,6 +1152,111 @@ } } }, + "CustomKeyStoreHasCMKsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the custom key store contains AWS KMS customer master keys (CMKs). After verifying that you do not need to use the CMKs, use the ScheduleKeyDeletion operation to delete the CMKs. After they are deleted, you can delete the custom key store.

", + "exception":true + }, + "CustomKeyStoreIdType":{ + "type":"string", + "max":64, + "min":1 + }, + "CustomKeyStoreInvalidStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because of the ConnectionState of the custom key store. To get the ConnectionState of a custom key store, use the DescribeCustomKeyStores operation.

This exception is thrown under the following conditions:

  • You requested the CreateKey or GenerateRandom operation in a custom key store that is not connected. These operations are valid only when the custom key store ConnectionState is CONNECTED.

  • You requested the UpdateCustomKeyStore or DeleteCustomKeyStore operation on a custom key store that is not disconnected. This operation is valid only when the custom key store ConnectionState is DISCONNECTED.

  • You requested the ConnectCustomKeyStore operation on a custom key store with a ConnectionState of DISCONNECTING or FAILED. This operation is valid for all other ConnectionState values.

", + "exception":true + }, + "CustomKeyStoreNameInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the specified custom key store name is already assigned to another custom key store in the account. Try again with a custom key store name that is unique in the account.

", + "exception":true + }, + "CustomKeyStoreNameType":{ + "type":"string", + "max":256, + "min":1 + }, + "CustomKeyStoreNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because AWS KMS cannot find a custom key store with the specified key store name or ID.

", + "exception":true + }, + "CustomKeyStoresList":{ + "type":"list", + "member":{"shape":"CustomKeyStoresListEntry"} + }, + "CustomKeyStoresListEntry":{ + "type":"structure", + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

A unique identifier for the custom key store.

" + }, + "CustomKeyStoreName":{ + "shape":"CustomKeyStoreNameType", + "documentation":"

The user-specified friendly name for the custom key store.

" + }, + "CloudHsmClusterId":{ + "shape":"CloudHsmClusterIdType", + "documentation":"

A unique identifier for the AWS CloudHSM cluster that is associated with the custom key store.

" + }, + "TrustAnchorCertificate":{ + "shape":"TrustAnchorCertificateType", + "documentation":"

The trust anchor certificate of the associated AWS CloudHSM cluster. When you initialize the cluster, you create this certificate and save it in the customerCA.crt file.

" + }, + "ConnectionState":{ + "shape":"ConnectionStateType", + "documentation":"

Indicates whether the custom key store is connected to its AWS CloudHSM cluster.

You can create and use CMKs in your custom key stores only when its connection state is CONNECTED.

The value is DISCONNECTED if the key store has never been connected or you use the DisconnectCustomKeyStore operation to disconnect it. If the value is CONNECTED but you are having trouble using the custom key store, make sure that its associated AWS CloudHSM cluster is active and contains at least one active HSM.

A value of FAILED indicates that an attempt to connect was unsuccessful. The ConnectionErrorCode field in the response indicates the cause of the failure. For help resolving a connection failure, see Troubleshooting a Custom Key Store in the AWS Key Management Service Developer Guide.

" + }, + "ConnectionErrorCode":{ + "shape":"ConnectionErrorCodeType", + "documentation":"

Describes the connection error. This field appears in the response only when the ConnectionState is FAILED. For help resolving these errors, see How to Fix a Connection Failure in AWS Key Management Service Developer Guide.

Valid values are:

  • CLUSTER_NOT_FOUND - AWS KMS cannot find the AWS CloudHSM cluster with the specified cluster ID.

  • INSUFFICIENT_CLOUDHSM_HSMS - The associated AWS CloudHSM cluster does not contain any active HSMs. To connect a custom key store to its AWS CloudHSM cluster, the cluster must contain at least one active HSM.

  • INTERNAL_ERROR - AWS KMS could not complete the request due to an internal error. Retry the request. For ConnectCustomKeyStore requests, disconnect the custom key store before trying to connect again.

  • INVALID_CREDENTIALS - AWS KMS does not have the correct password for the kmsuser crypto user in the AWS CloudHSM cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you must change the kmsuser account password and update the key store password value for the custom key store.

  • NETWORK_ERRORS - Network errors are preventing AWS KMS from connecting to the custom key store.

  • SUBNET_NOT_FOUND - A subnet in the AWS CloudHSM cluster configuration was deleted. If AWS KMS cannot find all of the subnets that were configured for the cluster when the custom key store was created, attempts to connect fail. To fix this error, create a cluster from a backup and associate it with your custom key store. This process includes selecting a VPC and subnets. For details, see How to Fix a Connection Failure in the AWS Key Management Service Developer Guide.

  • USER_LOCKED_OUT - The kmsuser CU account is locked out of the associated AWS CloudHSM cluster due to too many failed password attempts. Before you can connect your custom key store to its AWS CloudHSM cluster, you must change the kmsuser account password and update the key store password value for the custom key store.

  • USER_LOGGED_IN - The kmsuser CU account is logged into the the associated AWS CloudHSM cluster. This prevents AWS KMS from rotating the kmsuser account password and logging into the cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you must log the kmsuser CU out of the cluster. If you changed the kmsuser password to log into the cluster, you must also and update the key store password value for the custom key store. For help, see How to Log Out and Reconnect in the AWS Key Management Service Developer Guide.

  • USER_NOT_FOUND - AWS KMS cannot find a kmsuser CU account in the associated AWS CloudHSM cluster. Before you can connect your custom key store to its AWS CloudHSM cluster, you must create a kmsuser CU account in the cluster, and then update the key store password value for the custom key store.

" + }, + "CreationDate":{ + "shape":"DateType", + "documentation":"

The date and time when the custom key store was created.

" + } + }, + "documentation":"

Contains information about each custom key store in the custom key store list.

" + }, + "CustomerMasterKeySpec":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_3072", + "RSA_4096", + "ECC_NIST_P256", + "ECC_NIST_P384", + "ECC_NIST_P521", + "ECC_SECG_P256K1", + "SYMMETRIC_DEFAULT" + ] + }, + "DataKeyPairSpec":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_3072", + "RSA_4096", + "ECC_NIST_P256", + "ECC_NIST_P384", + "ECC_NIST_P521", + "ECC_SECG_P256K1" + ] + }, "DataKeySpec":{ "type":"string", "enum":[ @@ -770,11 +1275,19 @@ }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

The encryption context. If this was specified in the Encrypt function, it must be specified here or the decryption operation will fail. For more information, see Encryption Context.

" + "documentation":"

Specifies the encryption context to use when decrypting the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + }, + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Specifies the customer master key (CMK) that AWS KMS will use to decrypt the ciphertext. Enter a key ID of the CMK that was used to encrypt the ciphertext.

If you specify a KeyId value, the Decrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "EncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

Specifies the encryption algorithm that will be used to decrypt the ciphertext. Specify the same algorithm that was used to encrypt the data. If you specify a different algorithm, the Decrypt operation fails.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. The default value, SYMMETRIC_DEFAULT, represents the only supported algorithm that is valid for symmetric CMKs.

" } } }, @@ -783,11 +1296,15 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

ARN of the key used to perform the decryption. This value is returned if no errors are encountered during the operation.

" + "documentation":"

The ARN of the customer master key that was used to perform the decryption.

" }, "Plaintext":{ "shape":"PlaintextType", - "documentation":"

Decrypted plaintext data. This value may not be returned if the customer master key is not available or if you didn't have permission to use it.

" + "documentation":"

Decrypted plaintext data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "EncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

The encryption algorithm that was used to decrypt the ciphertext.

" } } }, @@ -797,17 +1314,32 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

The alias to be deleted. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/AWS\" are reserved.

" + "documentation":"

The alias to be deleted. The alias name must begin with alias/ followed by the alias name, such as alias/ExampleAlias.

" } } }, + "DeleteCustomKeyStoreRequest":{ + "type":"structure", + "required":["CustomKeyStoreId"], + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Enter the ID of the custom key store you want to delete. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + } + } + }, + "DeleteCustomKeyStoreResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteImportedKeyMaterialRequest":{ "type":"structure", "required":["KeyId"], "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK whose key material to delete. The CMK's Origin must be EXTERNAL.

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + "documentation":"

Identifies the CMK from which you are deleting imported key material. The Origin of the CMK must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -820,17 +1352,55 @@ "exception":true, "fault":true }, + "DescribeCustomKeyStoresRequest":{ + "type":"structure", + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Gets only information about the specified custom key store. Enter the key store ID.

By default, this operation gets information about all custom key stores in the account and region. To limit the output to a particular custom key store, you can use either the CustomKeyStoreId or CustomKeyStoreName parameter, but not both.

" + }, + "CustomKeyStoreName":{ + "shape":"CustomKeyStoreNameType", + "documentation":"

Gets only information about the specified custom key store. Enter the friendly name of the custom key store.

By default, this operation gets information about all custom key stores in the account and region. To limit the output to a particular custom key store, you can use either the CustomKeyStoreId or CustomKeyStoreName parameter, but not both.

" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" + } + } + }, + "DescribeCustomKeyStoresResponse":{ + "type":"structure", + "members":{ + "CustomKeyStores":{ + "shape":"CustomKeyStoresList", + "documentation":"

Contains metadata about each custom key store.

" + }, + "NextMarker":{ + "shape":"MarkerType", + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" + }, + "Truncated":{ + "shape":"BooleanType", + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" + } + } + }, "DescribeKeyRequest":{ "type":"structure", "required":["KeyId"], "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

  • Alias Name Example - alias/MyAliasName

" + "documentation":"

Describes the specified customer master key (CMK).

If you specify a predefined AWS alias (an AWS alias with no key ID), KMS associates the alias with an AWS managed CMK and returns its KeyId and Arn in the response.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -854,7 +1424,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK.

Use the CMK's unique identifier or its Amazon Resource Name (ARN). For example:

  • Unique ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -864,7 +1434,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -876,13 +1446,28 @@ "documentation":"

The request was rejected because the specified CMK is not enabled.

", "exception":true }, + "DisconnectCustomKeyStoreRequest":{ + "type":"structure", + "required":["CustomKeyStoreId"], + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Enter the ID of the custom key store you want to disconnect. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + } + } + }, + "DisconnectCustomKeyStoreResponse":{ + "type":"structure", + "members":{ + } + }, "EnableKeyRequest":{ "type":"structure", "required":["KeyId"], "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -892,7 +1477,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

Identifies a symmetric customer master key (CMK). You cannot enable automatic rotation of asymmetric CMKs, CMKs with imported key material, or CMKs in a custom key store.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -905,81 +1490,197 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

  • Alias Name Example - alias/MyAliasName

" + "documentation":"

A unique identifier for the customer master key (CMK).

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "Plaintext":{ "shape":"PlaintextType", "documentation":"

Data to be encrypted.

" }, - "EncryptionContext":{ - "shape":"EncryptionContextType", - "documentation":"

Name-value pair that specifies the encryption context to be used for authenticated encryption. If used here, the same value must be supplied to the Decrypt API or decryption will fail. For more information, see Encryption Context.

" + "EncryptionContext":{ + "shape":"EncryptionContextType", + "documentation":"

Specifies the encryption context that will be used to encrypt the data. An encryption context is valid only for cryptographic operations with a symmetric CMK. The standard asymmetric encryption algorithms that AWS KMS uses do not support an encryption context.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + }, + "GrantTokens":{ + "shape":"GrantTokenList", + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + }, + "EncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

Specifies the encryption algorithm that AWS KMS will use to encrypt the plaintext message. The algorithm must be compatible with the CMK that you specify.

This parameter is required only for asymmetric CMKs. The default value, SYMMETRIC_DEFAULT, is the algorithm used for symmetric CMKs. If you are using an asymmetric CMK, we recommend RSAES_OAEP_SHA_256.

" + } + } + }, + "EncryptResponse":{ + "type":"structure", + "members":{ + "CiphertextBlob":{ + "shape":"CiphertextType", + "documentation":"

The encrypted plaintext. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

The ID of the key used during encryption.

" + }, + "EncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

The encryption algorithm that was used to encrypt the plaintext.

" + } + } + }, + "EncryptionAlgorithmSpec":{ + "type":"string", + "enum":[ + "SYMMETRIC_DEFAULT", + "RSAES_OAEP_SHA_1", + "RSAES_OAEP_SHA_256" + ] + }, + "EncryptionAlgorithmSpecList":{ + "type":"list", + "member":{"shape":"EncryptionAlgorithmSpec"} + }, + "EncryptionContextKey":{"type":"string"}, + "EncryptionContextType":{ + "type":"map", + "key":{"shape":"EncryptionContextKey"}, + "value":{"shape":"EncryptionContextValue"} + }, + "EncryptionContextValue":{"type":"string"}, + "ErrorMessageType":{"type":"string"}, + "ExpirationModelType":{ + "type":"string", + "enum":[ + "KEY_MATERIAL_EXPIRES", + "KEY_MATERIAL_DOES_NOT_EXPIRE" + ] + }, + "ExpiredImportTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the specified import token is expired. Use GetParametersForImport to get a new import token and public key, use the new public key to encrypt the key material, and then try the request again.

", + "exception":true + }, + "GenerateDataKeyPairRequest":{ + "type":"structure", + "required":[ + "KeyId", + "KeyPairSpec" + ], + "members":{ + "EncryptionContext":{ + "shape":"EncryptionContextType", + "documentation":"

Specifies the encryption context that will be used when encrypting the private key in the data key pair.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + }, + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Specifies the symmetric CMK that encrypts the private key in the data key pair. You cannot specify an asymmetric CMKs.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "KeyPairSpec":{ + "shape":"DataKeyPairSpec", + "documentation":"

Determines the type of data key pair that is generated.

The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

" + }, + "GrantTokens":{ + "shape":"GrantTokenList", + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + } + } + }, + "GenerateDataKeyPairResponse":{ + "type":"structure", + "members":{ + "PrivateKeyCiphertextBlob":{ + "shape":"CiphertextType", + "documentation":"

The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "PrivateKeyPlaintext":{ + "shape":"PlaintextType", + "documentation":"

The plaintext copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "PublicKey":{ + "shape":"PublicKeyType", + "documentation":"

The public key (in plaintext).

" + }, + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

The identifier of the CMK that encrypted the private key.

" + }, + "KeyPairSpec":{ + "shape":"DataKeyPairSpec", + "documentation":"

The type of data key pair that was generated.

" + } + } + }, + "GenerateDataKeyPairWithoutPlaintextRequest":{ + "type":"structure", + "required":[ + "KeyId", + "KeyPairSpec" + ], + "members":{ + "EncryptionContext":{ + "shape":"EncryptionContextType", + "documentation":"

Specifies the encryption context that will be used when encrypting the private key in the data key pair.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + }, + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Specifies the CMK that encrypts the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "KeyPairSpec":{ + "shape":"DataKeyPairSpec", + "documentation":"

Determines the type of data key pair that is generated.

The AWS KMS rule that restricts the use of asymmetric RSA CMKs to encrypt and decrypt or to sign and verify (but not both), and the rule that permits you to use ECC CMKs only to sign and verify, are not effective outside of AWS KMS.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, - "EncryptResponse":{ + "GenerateDataKeyPairWithoutPlaintextResponse":{ "type":"structure", "members":{ - "CiphertextBlob":{ + "PrivateKeyCiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted plaintext. If you are using the CLI, the value is Base64 encoded. Otherwise, it is not encoded.

" + "documentation":"

The encrypted copy of the private key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "PublicKey":{ + "shape":"PublicKeyType", + "documentation":"

The public key (in plaintext).

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

The ID of the key used during encryption.

" + "documentation":"

Specifies the CMK that encrypted the private key in the data key pair. You must specify a symmetric CMK. You cannot use an asymmetric CMK. To get the type of your CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "KeyPairSpec":{ + "shape":"DataKeyPairSpec", + "documentation":"

The type of data key pair that was generated.

" } } }, - "EncryptionContextKey":{"type":"string"}, - "EncryptionContextType":{ - "type":"map", - "key":{"shape":"EncryptionContextKey"}, - "value":{"shape":"EncryptionContextValue"} - }, - "EncryptionContextValue":{"type":"string"}, - "ErrorMessageType":{"type":"string"}, - "ExpirationModelType":{ - "type":"string", - "enum":[ - "KEY_MATERIAL_EXPIRES", - "KEY_MATERIAL_DOES_NOT_EXPIRE" - ] - }, - "ExpiredImportTokenException":{ - "type":"structure", - "members":{ - "message":{"shape":"ErrorMessageType"} - }, - "documentation":"

The request was rejected because the provided import token is expired. Use GetParametersForImport to retrieve a new import token and public key, use the new public key to encrypt the key material, and then try the request again.

", - "exception":true - }, "GenerateDataKeyRequest":{ "type":"structure", "required":["KeyId"], "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which to generate and encrypt the data encryption key.

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK, or the alias name or ARN of an alias that points to the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • CMK ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

" + "documentation":"

Identifies the symmetric CMK that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Specifies the encryption context that will be used when encrypting the data key.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "NumberOfBytes":{ "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" + "documentation":"

Specifies the length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For 128-bit (16-byte) and 256-bit (32-byte) data keys, use the KeySpec parameter.

You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.

" }, "KeySpec":{ "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" + "documentation":"

Specifies the length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

You must specify either the KeySpec or the NumberOfBytes parameter (but not both) in every GenerateDataKey request.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -988,15 +1689,15 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key.

" + "documentation":"

The encrypted copy of the data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" }, "Plaintext":{ "shape":"PlaintextType", - "documentation":"

The data encryption key. Use this data key for local encryption and decryption, then remove it from memory as soon as possible.

" + "documentation":"

The plaintext data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded. Use this data key to encrypt your data outside of KMS. Then, remove it from memory as soon as possible.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" + "documentation":"

The identifier of the CMK that encrypted the data key.

" } } }, @@ -1006,23 +1707,23 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which to generate and encrypt the data encryption key.

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK, or the alias name or ARN of an alias that points to the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • CMK ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

" + "documentation":"

The identifier of the symmetric customer master key (CMK) that encrypts the data key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "EncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

A set of key-value pairs that represents additional authenticated data.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Specifies the encryption context that will be used when encrypting the data key.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" }, "KeySpec":{ "shape":"DataKeySpec", - "documentation":"

The length of the data encryption key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" + "documentation":"

The length of the data key. Use AES_128 to generate a 128-bit symmetric key, or AES_256 to generate a 256-bit symmetric key.

" }, "NumberOfBytes":{ "shape":"NumberOfBytesType", - "documentation":"

The length of the data encryption key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" + "documentation":"

The length of the data key in bytes. For example, use the value 64 to generate a 512-bit data key (64 bytes is 512 bits). For common key lengths (128-bit and 256-bit symmetric keys), we recommend that you use the KeySpec field instead of this one.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1031,11 +1732,11 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The encrypted data encryption key.

" + "documentation":"

The encrypted data key. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK under which the data encryption key was generated and encrypted.

" + "documentation":"

The identifier of the CMK that encrypted the data key.

" } } }, @@ -1045,6 +1746,10 @@ "NumberOfBytes":{ "shape":"NumberOfBytesType", "documentation":"

The length of the byte string.

" + }, + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Generates the random byte string in the AWS CloudHSM cluster that is associated with the specified custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" } } }, @@ -1053,7 +1758,7 @@ "members":{ "Plaintext":{ "shape":"PlaintextType", - "documentation":"

The unpredictable byte string.

" + "documentation":"

The random byte string. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" } } }, @@ -1066,11 +1771,11 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "PolicyName":{ "shape":"PolicyNameType", - "documentation":"

String that contains the name of the policy. Currently, this must be \"default\". Policy names can be discovered by calling ListKeyPolicies.

" + "documentation":"

Specifies the name of the key policy. The only valid name is default. To get the names of key policies, use ListKeyPolicies.

" } } }, @@ -1079,7 +1784,7 @@ "members":{ "Policy":{ "shape":"PolicyType", - "documentation":"

A policy document in JSON format.

" + "documentation":"

A key policy document in JSON format.

" } } }, @@ -1089,7 +1794,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -1112,11 +1817,11 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK into which you will import key material. The CMK's Origin must be EXTERNAL.

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + "documentation":"

The identifier of the symmetric CMK into which you will import key material. The Origin of the CMK must be EXTERNAL.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "WrappingAlgorithm":{ "shape":"AlgorithmSpec", - "documentation":"

The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" + "documentation":"

The algorithm you will use to encrypt the key material before importing it with ImportKeyMaterial. For more information, see Encrypt the Key Material in the AWS Key Management Service Developer Guide.

" }, "WrappingKeySpec":{ "shape":"WrappingKeySpec", @@ -1141,7 +1846,50 @@ }, "ParametersValidTo":{ "shape":"DateType", - "documentation":"

The time at which the import token and public key are no longer valid. After this time, you cannot use them to make an ImportKeyMaterial request and you must send another GetParametersForImport request to retrieve new ones.

" + "documentation":"

The time at which the import token and public key are no longer valid. After this time, you cannot use them to make an ImportKeyMaterial request and you must send another GetParametersForImport request to get new ones.

" + } + } + }, + "GetPublicKeyRequest":{ + "type":"structure", + "required":["KeyId"], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Identifies the asymmetric CMK that includes the public key.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "GrantTokens":{ + "shape":"GrantTokenList", + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + } + } + }, + "GetPublicKeyResponse":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

The identifier of the asymmetric CMK from which the public key was downloaded.

" + }, + "PublicKey":{ + "shape":"PublicKeyType", + "documentation":"

The exported public key.

The value is a DER-encoded X.509 public key, also known as SubjectPublicKeyInfo (SPKI), as defined in RFC 5280. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "CustomerMasterKeySpec":{ + "shape":"CustomerMasterKeySpec", + "documentation":"

The type of the of the public key that was downloaded.

" + }, + "KeyUsage":{ + "shape":"KeyUsageType", + "documentation":"

The permitted use of the public key. Valid values are ENCRYPT_DECRYPT or SIGN_VERIFY.

This information is critical. If a public key with SIGN_VERIFY key usage encrypts data outside of AWS KMS, the ciphertext cannot be decrypted.

" + }, + "EncryptionAlgorithms":{ + "shape":"EncryptionAlgorithmSpecList", + "documentation":"

The encryption algorithms that AWS KMS supports for this key.

This information is critical. If a public key encrypts data outside of AWS KMS by using an unsupported encryption algorithm, the ciphertext cannot be decrypted.

This field appears in the response only when the KeyUsage of the public key is ENCRYPT_DECRYPT.

" + }, + "SigningAlgorithms":{ + "shape":"SigningAlgorithmSpecList", + "documentation":"

The signing algorithms that AWS KMS supports for this key.

This field appears in the response only when the KeyUsage of the public key is SIGN_VERIFY.

" } } }, @@ -1150,14 +1898,14 @@ "members":{ "EncryptionContextSubset":{ "shape":"EncryptionContextType", - "documentation":"

Contains a list of key-value pairs, a subset of which must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list or is a subset of this list, the grant allows the operation. Otherwise, the operation is not allowed.

" + "documentation":"

A list of key-value pairs that must be included in the encryption context of the cryptographic operation request. The grant allows the cryptographic operation only when the encryption context in the request includes the key-value pairs specified in this constraint, although it can include additional key-value pairs.

" }, "EncryptionContextEquals":{ "shape":"EncryptionContextType", - "documentation":"

Contains a list of key-value pairs that must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list, the grant allows the operation. Otherwise, the operation is not allowed.

" + "documentation":"

A list of key-value pairs that must match the encryption context in the cryptographic operation request. The grant allows the operation only when the encryption context in the request is the same as the encryption context specified in this constraint.

" } }, - "documentation":"

A structure for specifying the conditions under which the operations permitted by the grant are allowed.

You can use this structure to allow the operations permitted by the grant only when a specified encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

" + "documentation":"

Use this structure to allow cryptographic operations in the grant only when the operation request includes the specified encryption context.

AWS KMS applies the grant constraints only when the grant allows a cryptographic operation that accepts an encryption context as input, such as the following.

AWS KMS does not apply the grant constraints to other operations, such as DescribeKey or ScheduleKeyDeletion.

In a cryptographic operation, the encryption context in the decryption operation must be an exact, case-sensitive match for the keys and values in the encryption context of the encryption operation. Only the order of the pairs can vary.

However, in a grant constraint, the key in each key-value pair is not case sensitive, but the value is case sensitive.

To avoid confusion, do not use multiple encryption context pairs that differ only by case. To require a fully case-sensitive encryption context, use the kms:EncryptionContext: and kms:EncryptionContextKeys conditions in an IAM or key policy. For details, see kms:EncryptionContext: in the AWS Key Management Service Developer Guide .

" }, "GrantIdType":{ "type":"string", @@ -1205,7 +1953,7 @@ }, "Constraints":{ "shape":"GrantConstraints", - "documentation":"

The conditions under which the grant's operations are allowed.

" + "documentation":"

A list of key-value pairs that must be present in the encryption context of certain subsequent operations that the grant allows.

" } }, "documentation":"

Contains information about an entry in a list of grants.

" @@ -1225,9 +1973,14 @@ "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", + "Sign", + "Verify", + "GetPublicKey", "CreateGrant", "RetireGrant", - "DescribeKey" + "DescribeKey", + "GenerateDataKeyPair", + "GenerateDataKeyPairWithoutPlaintext" ] }, "GrantOperationList":{ @@ -1255,7 +2008,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The identifier of the CMK to import the key material into. The CMK's Origin must be EXTERNAL.

A valid identifier is the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + "documentation":"

The identifier of the symmetric CMK that receives the imported key material. The CMK's Origin must be EXTERNAL. This must be the same CMK specified in the KeyID parameter of the corresponding GetParametersForImport request.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "ImportToken":{ "shape":"CiphertextType", @@ -1263,7 +2016,7 @@ }, "EncryptedKeyMaterial":{ "shape":"CiphertextType", - "documentation":"

The encrypted key material to import. It must be encrypted with the public key that you received in the response to a previous GetParametersForImport request, using the wrapping algorithm that you specified in that request.

" + "documentation":"

The encrypted key material to import. The key material must be encrypted with the public wrapping key that GetParametersForImport returned, using the wrapping algorithm that you specified in the same GetParametersForImport request.

" }, "ValidTo":{ "shape":"DateType", @@ -1280,12 +2033,28 @@ "members":{ } }, + "IncorrectKeyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the specified CMK cannot decrypt the data. The KeyId in a Decrypt request and the SourceKeyId in a ReEncrypt request must identify the same CMK that was used to encrypt the ciphertext.

", + "exception":true + }, "IncorrectKeyMaterialException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the provided key material is invalid or is not the same key material that was previously imported into this customer master key (CMK).

", + "documentation":"

The request was rejected because the key material in the request is, expired, invalid, or is not the same key material that was previously imported into this customer master key (CMK).

", + "exception":true + }, + "IncorrectTrustAnchorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the trust anchor certificate in the request is not the trust anchor certificate for the specified AWS CloudHSM cluster.

When you initialize the cluster, you create the trust anchor certificate and save it in the customerCA.crt file.

", "exception":true }, "InvalidAliasNameException":{ @@ -1301,7 +2070,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because a specified ARN was not valid.

", + "documentation":"

The request was rejected because a specified ARN, or an ARN in a key policy, is not valid.

", "exception":true }, "InvalidCiphertextException":{ @@ -1309,7 +2078,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the specified ciphertext has been corrupted or is otherwise invalid.

", + "documentation":"

From the Decrypt or ReEncrypt operation, the request was rejected because the specified ciphertext, or additional authenticated data incorporated into the ciphertext, such as the encryption context, is corrupted, missing, or otherwise invalid.

From the ImportKeyMaterial operation, the request was rejected because AWS KMS could not decrypt the encrypted (wrapped) key material.

", "exception":true }, "InvalidGrantIdException":{ @@ -1341,7 +2110,7 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the specified KeySpec value is not valid.

", + "documentation":"

The request was rejected for one of the following reasons:

  • The KeyUsage value of the CMK is incompatible with the API operation.

  • The encryption algorithm or signing algorithm specified for the operation is incompatible with the type of key material in the CMK (CustomerMasterKeySpec).

For encrypting, decrypting, re-encrypting, and generating data keys, the KeyUsage must be ENCRYPT_DECRYPT. For signing and verifying, the KeyUsage must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.

To find the encryption or signing algorithms supported for a particular CMK, use the DescribeKey operation.

", "exception":true }, "InvalidMarkerException":{ @@ -1358,6 +2127,15 @@ "message":{"shape":"ErrorMessageType"} }, "documentation":"

The request was rejected because an internal exception occurred. The request can be retried.

", + "exception":true, + "fault":true + }, + "KMSInvalidSignatureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because the signature verification failed. Signature verification fails when it cannot confirm that signature was produced by signing the specified message with the specified CMK and signing algorithm.

", "exception":true }, "KMSInvalidStateException":{ @@ -1365,12 +2143,12 @@ "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a CMK, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide .

", "exception":true }, "KeyIdType":{ "type":"string", - "max":256, + "max":2048, "min":1 }, "KeyList":{ @@ -1391,6 +2169,13 @@ }, "documentation":"

Contains information about each entry in the key list.

" }, + "KeyManagerType":{ + "type":"string", + "enum":[ + "AWS", + "CUSTOMER" + ] + }, "KeyMetadata":{ "type":"structure", "required":["KeyId"], @@ -1405,7 +2190,7 @@ }, "Arn":{ "shape":"ArnType", - "documentation":"

The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

" + "documentation":"

The Amazon Resource Name (ARN) of the CMK. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

" }, "CreationDate":{ "shape":"DateType", @@ -1421,15 +2206,15 @@ }, "KeyUsage":{ "shape":"KeyUsageType", - "documentation":"

The cryptographic operations for which you can use the CMK. Currently the only allowed value is ENCRYPT_DECRYPT, which means you can use the CMK for the Encrypt and Decrypt operations.

" + "documentation":"

The cryptographic operations for which you can use the CMK.

" }, "KeyState":{ "shape":"KeyState", - "documentation":"

The state of the CMK.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" + "documentation":"

The state of the CMK.

For more information about how key state affects the use of a CMK, see How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

" }, "DeletionDate":{ "shape":"DateType", - "documentation":"

The date and time after which AWS KMS deletes the CMK. This value is present only when KeyState is PendingDeletion, otherwise this value is omitted.

" + "documentation":"

The date and time after which AWS KMS deletes the CMK. This value is present only when KeyState is PendingDeletion.

" }, "ValidTo":{ "shape":"DateType", @@ -1437,11 +2222,35 @@ }, "Origin":{ "shape":"OriginType", - "documentation":"

The source of the CMK's key material. When this value is AWS_KMS, AWS KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material.

" + "documentation":"

The source of the CMK's key material. When this value is AWS_KMS, AWS KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material. When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store.

" + }, + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

A unique identifier for the custom key store that contains the CMK. This value is present only when the CMK is created in a custom key store.

" + }, + "CloudHsmClusterId":{ + "shape":"CloudHsmClusterIdType", + "documentation":"

The cluster ID of the AWS CloudHSM cluster that contains the key material for the CMK. When you create a CMK in a custom key store, AWS KMS creates the key material for the CMK in the associated AWS CloudHSM cluster. This value is present only when the CMK is created in a custom key store.

" }, "ExpirationModel":{ "shape":"ExpirationModelType", "documentation":"

Specifies whether the CMK's key material expires. This value is present only when Origin is EXTERNAL, otherwise this value is omitted.

" + }, + "KeyManager":{ + "shape":"KeyManagerType", + "documentation":"

The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed. For more information about the difference, see Customer Master Keys in the AWS Key Management Service Developer Guide.

" + }, + "CustomerMasterKeySpec":{ + "shape":"CustomerMasterKeySpec", + "documentation":"

Describes the type of key material in the CMK.

" + }, + "EncryptionAlgorithms":{ + "shape":"EncryptionAlgorithmSpecList", + "documentation":"

A list of encryption algorithms that the CMK supports. You cannot use the CMK with other encryption algorithms within AWS KMS.

This field appears only when the KeyUsage of the CMK is ENCRYPT_DECRYPT.

" + }, + "SigningAlgorithms":{ + "shape":"SigningAlgorithmSpecList", + "documentation":"

A list of signing algorithms that the CMK supports. You cannot use the CMK with other signing algorithms within AWS KMS.

This field appears only when the KeyUsage of the CMK is SIGN_VERIFY.

" } }, "documentation":"

Contains metadata about a customer master key (CMK).

This data type is used as a response element for the CreateKey and DescribeKey operations.

" @@ -1452,28 +2261,38 @@ "Enabled", "Disabled", "PendingDeletion", - "PendingImport" + "PendingImport", + "Unavailable" ] }, + "KeyStorePasswordType":{ + "type":"string", + "max":32, + "min":7, + "sensitive":true + }, "KeyUnavailableException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because the specified CMK was not available. The request can be retried.

", + "documentation":"

The request was rejected because the specified CMK was not available. You can retry the request.

", "exception":true, "fault":true }, "KeyUsageType":{ "type":"string", - "enum":["ENCRYPT_DECRYPT"] + "enum":[ + "SIGN_VERIFY", + "ENCRYPT_DECRYPT" + ] }, "LimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessageType"} }, - "documentation":"

The request was rejected because a limit was exceeded. For more information, see Limits in the AWS Key Management Service Developer Guide.

", + "documentation":"

The request was rejected because a quota was exceeded. For more information, see Quotas in the AWS Key Management Service Developer Guide.

", "exception":true }, "LimitType":{ @@ -1484,13 +2303,17 @@ "ListAliasesRequest":{ "type":"structure", "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Lists only aliases that refer to the specified CMK. The value of this parameter can be the ID or Amazon Resource Name (ARN) of a CMK in the caller's account and region. You cannot use an alias name or alias ARN in this value.

This parameter is optional. If you omit it, ListAliases returns all aliases in the account and region.

" + }, "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1499,15 +2322,15 @@ "members":{ "Aliases":{ "shape":"AliasList", - "documentation":"

A list of key aliases in the user's account.

" + "documentation":"

A list of aliases.

" }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -1517,15 +2340,15 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" } } }, @@ -1538,11 +2361,11 @@ }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -1552,15 +2375,15 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

  • Alias Name Example - alias/MyAliasName

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Currently only 1 policy can be attached to a key.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

Only one policy can be attached to a key.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1569,15 +2392,15 @@ "members":{ "PolicyNames":{ "shape":"PolicyNameList", - "documentation":"

A list of policy names. Currently, there is only one policy and it is named \"Default\".

" + "documentation":"

A list of key policy names. The only valid value is default.

" }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -1586,11 +2409,11 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 1000, inclusive. If you do not include a value, it defaults to 100.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" } } }, @@ -1599,15 +2422,50 @@ "members":{ "Keys":{ "shape":"KeyList", - "documentation":"

A list of keys.

" + "documentation":"

A list of customer master keys (CMKs).

" + }, + "NextMarker":{ + "shape":"MarkerType", + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

" + }, + "Truncated":{ + "shape":"BooleanType", + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" + } + } + }, + "ListResourceTagsRequest":{ + "type":"structure", + "required":["KeyId"], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 50, inclusive. If you do not include a value, it defaults to 50.

" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

Do not attempt to construct this value. Use only the value of NextMarker from the truncated response you just received.

" + } + } + }, + "ListResourceTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

A list of tags. Each tag consists of a tag key and a tag value.

" }, "NextMarker":{ "shape":"MarkerType", - "documentation":"

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.

" + "documentation":"

When Truncated is true, this element is present and contains the value to use for the Marker parameter in a subsequent request.

Do not assume or infer any information from this value.

" }, "Truncated":{ "shape":"BooleanType", - "documentation":"

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

" + "documentation":"

A flag that indicates whether there are more items in the list. When this value is true, the list in this response is truncated. To get more items, pass the value of the NextMarker element in thisresponse to the Marker parameter in a subsequent request.

" } } }, @@ -1617,15 +2475,15 @@ "members":{ "Limit":{ "shape":"LimitType", - "documentation":"

When paginating results, specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the Truncated element in the response is set to true.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" + "documentation":"

Use this parameter to specify the maximum number of items to return. When this value is present, AWS KMS does not return more than the specified number of items, but it might return fewer.

This value is optional. If you include a value, it must be between 1 and 100, inclusive. If you do not include a value, it defaults to 50.

" }, "Marker":{ "shape":"MarkerType", - "documentation":"

Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the response you just received.

" + "documentation":"

Use this parameter in a subsequent request after you receive a response with truncated results. Set it to the value of NextMarker from the truncated response you just received.

" }, "RetiringPrincipal":{ "shape":"PrincipalIdType", - "documentation":"

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" + "documentation":"

The retiring principal for which to list grants.

To specify the retiring principal, use the Amazon Resource Name (ARN) of an AWS principal. Valid AWS principals include AWS accounts (root), IAM users, federated users, and assumed role users. For examples of the ARN syntax for specifying a principal, see AWS Identity and Access Management (IAM) in the Example ARNs section of the Amazon Web Services General Reference.

" } } }, @@ -1639,10 +2497,17 @@ }, "MarkerType":{ "type":"string", - "max":320, + "max":1024, "min":1, "pattern":"[\\u0020-\\u00FF]*" }, + "MessageType":{ + "type":"string", + "enum":[ + "RAW", + "DIGEST" + ] + }, "NotFoundException":{ "type":"structure", "members":{ @@ -1660,7 +2525,8 @@ "type":"string", "enum":[ "AWS_KMS", - "EXTERNAL" + "EXTERNAL", + "AWS_CLOUDHSM" ] }, "PendingWindowInDaysType":{ @@ -1693,6 +2559,12 @@ "PrincipalIdType":{ "type":"string", "max":256, + "min":1, + "pattern":"^[\\w+=,.@:/-]+$" + }, + "PublicKeyType":{ + "type":"blob", + "max":8192, "min":1 }, "PutKeyPolicyRequest":{ @@ -1705,19 +2577,19 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the CMK.

Use the CMK's unique identifier or its Amazon Resource Name (ARN). For example:

  • Unique ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "PolicyName":{ "shape":"PolicyNameType", - "documentation":"

The name of the key policy.

This value must be default.

" + "documentation":"

The name of the key policy. The only valid value is default.

" }, "Policy":{ "shape":"PolicyType", - "documentation":"

The key policy to attach to the CMK.

If you do not set BypassPolicyLockoutSafetyCheck to true, the policy must meet the following criteria:

  • It must allow the principal making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the likelihood that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

  • The principal(s) specified in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before specifying the new principal in a key policy because the new principal might not immediately be visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the IAM User Guide.

The policy size limit is 32 KiB (32768 bytes).

" + "documentation":"

The key policy to attach to the CMK.

The key policy must meet the following criteria:

  • If you don't set BypassPolicyLockoutSafetyCheck to true, the key policy must allow the principal that is making the PutKeyPolicy request to make a subsequent PutKeyPolicy request on the CMK. This reduces the risk that the CMK becomes unmanageable. For more information, refer to the scenario in the Default Key Policy section of the AWS Key Management Service Developer Guide.

  • Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to AWS KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to AWS KMS. For more information, see Changes that I make are not always immediately visible in the AWS Identity and Access Management User Guide.

The key policy cannot exceed 32 kilobytes (32768 bytes). For more information, see Resource Quotas in the AWS Key Management Service Developer Guide.

" }, "BypassPolicyLockoutSafetyCheck":{ "shape":"BooleanType", - "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the likelihood that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" + "documentation":"

A flag to indicate whether to bypass the key policy lockout safety check.

Setting this value to true increases the risk that the CMK becomes unmanageable. Do not set this value to true indiscriminately.

For more information, refer to the scenario in the Default Key Policy section in the AWS Key Management Service Developer Guide.

Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent PutKeyPolicy request on the CMK.

The default value is false.

" } } }, @@ -1730,23 +2602,35 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

Ciphertext of the data to re-encrypt.

" + "documentation":"

Ciphertext of the data to reencrypt.

" }, "SourceEncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

Encryption context used to encrypt and decrypt the data specified in the CiphertextBlob parameter.

" + "documentation":"

Specifies the encryption context to use to decrypt the ciphertext. Enter the same encryption context that was used to encrypt the ciphertext.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + }, + "SourceKeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK that is used to decrypt the ciphertext before it reencrypts it using the destination CMK.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK. Otherwise, AWS KMS uses the metadata that it adds to the ciphertext blob to determine which CMK was used to encrypt the ciphertext. However, you can use this parameter to ensure that a particular CMK (of any kind) is used to decrypt the ciphertext before it is reencrypted.

If you specify a KeyId value, the decrypt part of the ReEncrypt operation succeeds only if the specified CMK was used to encrypt the ciphertext.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\".

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "DestinationKeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key used to re-encrypt the data. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Alias ARN Example - arn:aws:kms:us-east-1:123456789012:alias/MyAliasName

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

  • Alias Name Example - alias/MyAliasName

" + "documentation":"

A unique identifier for the CMK that is used to reencrypt the data. Specify a symmetric or asymmetric CMK with a KeyUsage value of ENCRYPT_DECRYPT. To find the KeyUsage value of a CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" }, "DestinationEncryptionContext":{ "shape":"EncryptionContextType", - "documentation":"

Encryption context to be used when the data is re-encrypted.

" + "documentation":"

Specifies that encryption context to use when the reencrypting the data.

A destination encryption context is valid only when the destination CMK is a symmetric CMK. The standard ciphertext format for asymmetric CMKs does not include fields for metadata.

An encryption context is a collection of non-secret key-value pairs that represents additional authenticated data. When you use an encryption context to encrypt data, you must specify the same (an exact case-sensitive match) encryption context to decrypt the data. An encryption context is optional when encrypting with a symmetric CMK, but it is highly recommended.

For more information, see Encryption Context in the AWS Key Management Service Developer Guide.

" + }, + "SourceEncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

Specifies the encryption algorithm that AWS KMS will use to decrypt the ciphertext before it is reencrypted. The default value, SYMMETRIC_DEFAULT, represents the algorithm used for symmetric CMKs.

Specify the same algorithm that was used to encrypt the ciphertext. If you specify a different algorithm, the decrypt attempt fails.

This parameter is required only when the ciphertext was encrypted under an asymmetric CMK.

" + }, + "DestinationEncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

Specifies the encryption algorithm that AWS KMS will use to reecrypt the data after it has decrypted it. The default value, SYMMETRIC_DEFAULT, represents the encryption algorithm used for symmetric CMKs.

This parameter is required only when the destination CMK is an asymmetric CMK.

" }, "GrantTokens":{ "shape":"GrantTokenList", - "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" } } }, @@ -1755,15 +2639,23 @@ "members":{ "CiphertextBlob":{ "shape":"CiphertextType", - "documentation":"

The re-encrypted data. If you are using the CLI, the value is Base64 encoded. Otherwise, it is not encoded.

" + "documentation":"

The reencrypted data. When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" }, "SourceKeyId":{ "shape":"KeyIdType", - "documentation":"

Unique identifier of the key used to originally encrypt the data.

" + "documentation":"

Unique identifier of the CMK used to originally encrypt the data.

" }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

Unique identifier of the key used to re-encrypt the data.

" + "documentation":"

Unique identifier of the CMK used to reencrypt the data.

" + }, + "SourceEncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

The encryption algorithm that was used to decrypt the ciphertext before it was reencrypted.

" + }, + "DestinationEncryptionAlgorithm":{ + "shape":"EncryptionAlgorithmSpec", + "documentation":"

The encryption algorithm that was used to reencrypt the data.

" } } }, @@ -1776,11 +2668,11 @@ }, "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key associated with the grant. This value can be a globally unique identifier or a fully specified ARN of the key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

The Amazon Resource Name (ARN) of the CMK associated with the grant.

For example: arn:aws:kms:us-east-2:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab

" }, "GrantId":{ "shape":"GrantIdType", - "documentation":"

Unique identifier of the grant to be retired. The grant ID is returned by the CreateGrant function.

  • Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123

" + "documentation":"

Unique identifier of the grant to retire. The grant ID is returned in the response to a CreateGrant operation.

  • Grant ID Example - 0123456789012345678901234567890123456789012345678901234567890123

" } } }, @@ -1793,7 +2685,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key associated with the grant. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key associated with the grant.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "GrantId":{ "shape":"GrantIdType", @@ -1807,7 +2699,7 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

The unique identifier for the customer master key (CMK) to delete.

To specify this value, use the unique key ID or the Amazon Resource Name (ARN) of the CMK. Examples:

  • Unique key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To obtain the unique key ID and key ARN for a given CMK, use ListKeys or DescribeKey.

" + "documentation":"

The unique identifier of the customer master key (CMK) to delete.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "PendingWindowInDays":{ "shape":"PendingWindowInDaysType", @@ -1828,6 +2720,137 @@ } } }, + "SignRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Message", + "SigningAlgorithm" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Identifies an asymmetric CMK. AWS KMS uses the private key in the asymmetric CMK to sign the message. The KeyUsage type of the CMK must be SIGN_VERIFY. To find the KeyUsage of a CMK, use the DescribeKey operation.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "Message":{ + "shape":"PlaintextType", + "documentation":"

Specifies the message or message digest to sign. Messages can be 0-4096 bytes. To sign a larger message, provide the message digest.

If you provide a message, AWS KMS generates a hash digest of the message and then signs it.

" + }, + "MessageType":{ + "shape":"MessageType", + "documentation":"

Tells AWS KMS whether the value of the Message parameter is a message or message digest. The default value, RAW, indicates a message. To indicate a message digest, enter DIGEST.

" + }, + "GrantTokens":{ + "shape":"GrantTokenList", + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + }, + "SigningAlgorithm":{ + "shape":"SigningAlgorithmSpec", + "documentation":"

Specifies the signing algorithm to use when signing the message.

Choose an algorithm that is compatible with the type and size of the specified asymmetric CMK.

" + } + } + }, + "SignResponse":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

The Amazon Resource Name (ARN) of the asymmetric CMK that was used to sign the message.

" + }, + "Signature":{ + "shape":"CiphertextType", + "documentation":"

The cryptographic signature that was generated for the message.

  • When used with the supported RSA signing algorithms, the encoding of this value is defined by PKCS #1 in RFC 8017.

  • When used with the ECDSA_SHA_256, ECDSA_SHA_384, or ECDSA_SHA_512 signing algorithms, this value is a DER-encoded object as defined by ANS X9.62–2005 and RFC 3279 Section 2.2.3. This is the most commonly used signature format and is appropriate for most uses.

When you use the HTTP API or the AWS CLI, the value is Base64-encoded. Otherwise, it is not Base64-encoded.

" + }, + "SigningAlgorithm":{ + "shape":"SigningAlgorithmSpec", + "documentation":"

The signing algorithm that was used to sign the message.

" + } + } + }, + "SigningAlgorithmSpec":{ + "type":"string", + "enum":[ + "RSASSA_PSS_SHA_256", + "RSASSA_PSS_SHA_384", + "RSASSA_PSS_SHA_512", + "RSASSA_PKCS1_V1_5_SHA_256", + "RSASSA_PKCS1_V1_5_SHA_384", + "RSASSA_PKCS1_V1_5_SHA_512", + "ECDSA_SHA_256", + "ECDSA_SHA_384", + "ECDSA_SHA_512" + ] + }, + "SigningAlgorithmSpecList":{ + "type":"list", + "member":{"shape":"SigningAlgorithmSpec"} + }, + "Tag":{ + "type":"structure", + "required":[ + "TagKey", + "TagValue" + ], + "members":{ + "TagKey":{ + "shape":"TagKeyType", + "documentation":"

The key of the tag.

" + }, + "TagValue":{ + "shape":"TagValueType", + "documentation":"

The value of the tag.

" + } + }, + "documentation":"

A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

" + }, + "TagException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessageType"} + }, + "documentation":"

The request was rejected because one or more tags are not valid.

", + "exception":true + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKeyType"} + }, + "TagKeyType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Tags" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK you are tagging.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags. Each tag consists of a tag key and a tag value.

" + } + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, + "TrustAnchorCertificateType":{ + "type":"string", + "max":5000, + "min":1 + }, "UnsupportedOperationException":{ "type":"structure", "members":{ @@ -1836,6 +2859,23 @@ "documentation":"

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

", "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "KeyId", + "TagKeys" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

A unique identifier for the CMK from which you are removing tags.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

One or more tag keys. Specify only the tag keys, not the tag values.

" + } + } + }, "UpdateAliasRequest":{ "type":"structure", "required":[ @@ -1845,14 +2885,41 @@ "members":{ "AliasName":{ "shape":"AliasNameType", - "documentation":"

String that contains the name of the alias to be modified. The name must start with the word \"alias\" followed by a forward slash (alias/). Aliases that begin with \"alias/aws\" are reserved.

" + "documentation":"

Identifies the alias that is changing its CMK. This value must begin with alias/ followed by the alias name, such as alias/ExampleAlias. You cannot use UpdateAlias to change the alias name.

" }, "TargetKeyId":{ "shape":"KeyIdType", - "documentation":"

Unique identifier of the customer master key to be mapped to the alias. This value can be a globally unique identifier or the fully specified ARN of a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

You can call ListAliases to verify that the alias is mapped to the correct TargetKeyId.

" + "documentation":"

Identifies the CMK to associate with the alias. When the update operation completes, the alias will point to this CMK.

The CMK must be in the same AWS account and Region as the alias. Also, the new target CMK must be the same type as the current target CMK (both symmetric or both asymmetric) and they must have the same key usage.

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

To verify that the alias is mapped to the correct CMK, use ListAliases.

" + } + } + }, + "UpdateCustomKeyStoreRequest":{ + "type":"structure", + "required":["CustomKeyStoreId"], + "members":{ + "CustomKeyStoreId":{ + "shape":"CustomKeyStoreIdType", + "documentation":"

Identifies the custom key store that you want to update. Enter the ID of the custom key store. To find the ID of a custom key store, use the DescribeCustomKeyStores operation.

" + }, + "NewCustomKeyStoreName":{ + "shape":"CustomKeyStoreNameType", + "documentation":"

Changes the friendly name of the custom key store to the value that you specify. The custom key store name must be unique in the AWS account.

" + }, + "KeyStorePassword":{ + "shape":"KeyStorePasswordType", + "documentation":"

Enter the current password of the kmsuser crypto user (CU) in the AWS CloudHSM cluster that is associated with the custom key store.

This parameter tells AWS KMS the current password of the kmsuser crypto user (CU). It does not set or change the password of any users in the AWS CloudHSM cluster.

" + }, + "CloudHsmClusterId":{ + "shape":"CloudHsmClusterIdType", + "documentation":"

Associates the custom key store with a related AWS CloudHSM cluster.

Enter the cluster ID of the cluster that you used to create the custom key store or a cluster that shares a backup history and has the same cluster certificate as the original cluster. You cannot use this parameter to associate a custom key store with an unrelated cluster. In addition, the replacement cluster must fulfill the requirements for a cluster associated with a custom key store. To view the cluster certificate of a cluster, use the DescribeClusters operation.

" } } }, + "UpdateCustomKeyStoreResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateKeyDescriptionRequest":{ "type":"structure", "required":[ @@ -1862,11 +2929,63 @@ "members":{ "KeyId":{ "shape":"KeyIdType", - "documentation":"

A unique identifier for the customer master key. This value can be a globally unique identifier or the fully specified ARN to a key.

  • Key ARN Example - arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012

  • Globally Unique Key ID Example - 12345678-1234-1234-1234-123456789012

" + "documentation":"

A unique identifier for the customer master key (CMK).

Specify the key ID or the Amazon Resource Name (ARN) of the CMK.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey.

" }, "Description":{ "shape":"DescriptionType", - "documentation":"

New description for the key.

" + "documentation":"

New description for the CMK.

" + } + } + }, + "VerifyRequest":{ + "type":"structure", + "required":[ + "KeyId", + "Message", + "Signature", + "SigningAlgorithm" + ], + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

Identifies the asymmetric CMK that will be used to verify the signature. This must be the same CMK that was used to generate the signature. If you specify a different CMK, the signature verification fails.

To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with \"alias/\". To specify a CMK in a different AWS account, you must use the key ARN or alias ARN.

For example:

  • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

  • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • Alias name: alias/ExampleAlias

  • Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias

To get the key ID and key ARN for a CMK, use ListKeys or DescribeKey. To get the alias name and alias ARN, use ListAliases.

" + }, + "Message":{ + "shape":"PlaintextType", + "documentation":"

Specifies the message that was signed. You can submit a raw message of up to 4096 bytes, or a hash digest of the message. If you submit a digest, use the MessageType parameter with a value of DIGEST.

If the message specified here is different from the message that was signed, the signature verification fails. A message and its hash digest are considered to be the same message.

" + }, + "MessageType":{ + "shape":"MessageType", + "documentation":"

Tells AWS KMS whether the value of the Message parameter is a message or message digest. The default value, RAW, indicates a message. To indicate a message digest, enter DIGEST.

Use the DIGEST value only when the value of the Message parameter is a message digest. If you use the DIGEST value with a raw message, the security of the verification operation can be compromised.

" + }, + "Signature":{ + "shape":"CiphertextType", + "documentation":"

The signature that the Sign operation generated.

" + }, + "SigningAlgorithm":{ + "shape":"SigningAlgorithmSpec", + "documentation":"

The signing algorithm that was used to sign the message. If you submit a different algorithm, the signature verification fails.

" + }, + "GrantTokens":{ + "shape":"GrantTokenList", + "documentation":"

A list of grant tokens.

For more information, see Grant Tokens in the AWS Key Management Service Developer Guide.

" + } + } + }, + "VerifyResponse":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"KeyIdType", + "documentation":"

The unique identifier for the asymmetric CMK that was used to verify the signature.

" + }, + "SignatureValid":{ + "shape":"BooleanType", + "documentation":"

A Boolean value that indicates whether the signature was verified. A value of True indicates that the Signature was produced by signing the Message with the specified KeyID and SigningAlgorithm. If the signature is not verified, the Verify operation fails with a KMSInvalidSignatureException exception.

" + }, + "SigningAlgorithm":{ + "shape":"SigningAlgorithmSpec", + "documentation":"

The signing algorithm that was used to verify the signature.

" } } }, @@ -1875,5 +2994,5 @@ "enum":["RSA_2048"] } }, - "documentation":"AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user, or you can use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used APIs

Of the APIs discussed in this guide, the following will prove the most useful for most applications. You will likely perform actions other than these, such as creating keys and assigning policies, by using the console.

" + "documentation":"AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide .

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, macOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account (root) access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user. You can also use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used API Operations

Of the API operations discussed in this guide, the following will prove the most useful for most applications. You will likely perform operations other than these, such as creating keys and assigning policies, by using the console.

" } diff -Nru python-botocore-1.4.70/botocore/data/lakeformation/2017-03-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/lakeformation/2017-03-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/lakeformation/2017-03-31/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lakeformation/2017-03-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/lakeformation/2017-03-31/service-2.json python-botocore-1.16.19+repack/botocore/data/lakeformation/2017-03-31/service-2.json --- python-botocore-1.4.70/botocore/data/lakeformation/2017-03-31/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lakeformation/2017-03-31/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1020 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-31", + "endpointPrefix":"lakeformation", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Lake Formation", + "serviceId":"LakeFormation", + "signatureVersion":"v4", + "signingName":"lakeformation", + "targetPrefix":"AWSLakeFormation", + "uid":"lakeformation-2017-03-31" + }, + "operations":{ + "BatchGrantPermissions":{ + "name":"BatchGrantPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGrantPermissionsRequest"}, + "output":{"shape":"BatchGrantPermissionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Batch operation to grant permissions to the principal.

" + }, + "BatchRevokePermissions":{ + "name":"BatchRevokePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchRevokePermissionsRequest"}, + "output":{"shape":"BatchRevokePermissionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Batch operation to revoke permissions from the principal.

" + }, + "DeregisterResource":{ + "name":"DeregisterResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterResourceRequest"}, + "output":{"shape":"DeregisterResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Deregisters the resource as managed by the Data Catalog.

When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role.

" + }, + "DescribeResource":{ + "name":"DescribeResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourceRequest"}, + "output":{"shape":"DescribeResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Retrieves the current data access role for the given resource registered in AWS Lake Formation.

" + }, + "GetDataLakeSettings":{ + "name":"GetDataLakeSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDataLakeSettingsRequest"}, + "output":{"shape":"GetDataLakeSettingsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

The AWS Lake Formation principal.

" + }, + "GetEffectivePermissionsForPath":{ + "name":"GetEffectivePermissionsForPath", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEffectivePermissionsForPathRequest"}, + "output":{"shape":"GetEffectivePermissionsForPathResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Returns the permissions for a specified table or database resource located at a path in Amazon S3.

" + }, + "GrantPermissions":{ + "name":"GrantPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GrantPermissionsRequest"}, + "output":{"shape":"GrantPermissionsResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.

For information about permissions, see Security and Access Control to Metadata and Data.

" + }, + "ListPermissions":{ + "name":"ListPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPermissionsRequest"}, + "output":{"shape":"ListPermissionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

Returns a list of the principal permissions on the resource, filtered by the permissions of the caller. For example, if you are granted an ALTER permission, you are able to see only the principal permissions for ALTER.

This operation returns only those permissions that have been explicitly granted.

For information about permissions, see Security and Access Control to Metadata and Data.

" + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ], + "documentation":"

Lists the resources registered to be managed by the Data Catalog.

" + }, + "PutDataLakeSettings":{ + "name":"PutDataLakeSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutDataLakeSettingsRequest"}, + "output":{"shape":"PutDataLakeSettingsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

The AWS Lake Formation principal.

" + }, + "RegisterResource":{ + "name":"RegisterResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterResourceRequest"}, + "output":{"shape":"RegisterResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AlreadyExistsException"} + ], + "documentation":"

Registers the resource as managed by the Data Catalog.

To add or update data, Lake Formation needs read/write access to the chosen Amazon S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy.

" + }, + "RevokePermissions":{ + "name":"RevokePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokePermissionsRequest"}, + "output":{"shape":"RevokePermissionsResponse"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Revokes permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.

" + }, + "UpdateResource":{ + "name":"UpdateResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResourceRequest"}, + "output":{"shape":"UpdateResourceResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

Updates the data access role used for vending access to the given (registered) resource in AWS Lake Formation.

" + } + }, + "shapes":{ + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A resource to be created or added already exists.

", + "exception":true + }, + "BatchGrantPermissionsRequest":{ + "type":"structure", + "required":["Entries"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Entries":{ + "shape":"BatchPermissionsRequestEntryList", + "documentation":"

A list of up to 20 entries for resource permissions to be granted by batch operation to the principal.

" + } + } + }, + "BatchGrantPermissionsResponse":{ + "type":"structure", + "members":{ + "Failures":{ + "shape":"BatchPermissionsFailureList", + "documentation":"

A list of failures to grant permissions to the resources.

" + } + } + }, + "BatchPermissionsFailureEntry":{ + "type":"structure", + "members":{ + "RequestEntry":{ + "shape":"BatchPermissionsRequestEntry", + "documentation":"

An identifier for an entry of the batch request.

" + }, + "Error":{ + "shape":"ErrorDetail", + "documentation":"

An error message that applies to the failure of the entry.

" + } + }, + "documentation":"

A list of failures when performing a batch grant or batch revoke operation.

" + }, + "BatchPermissionsFailureList":{ + "type":"list", + "member":{"shape":"BatchPermissionsFailureEntry"} + }, + "BatchPermissionsRequestEntry":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"Identifier", + "documentation":"

A unique identifier for the batch permissions request entry.

" + }, + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The principal to be granted a permission.

" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

The resource to which the principal is to be granted a permission.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions to be granted.

" + }, + "PermissionsWithGrantOption":{ + "shape":"PermissionList", + "documentation":"

Indicates if the option to pass permissions is granted.

" + } + }, + "documentation":"

A permission to a resource granted by batch operation to the principal.

" + }, + "BatchPermissionsRequestEntryList":{ + "type":"list", + "member":{"shape":"BatchPermissionsRequestEntry"} + }, + "BatchRevokePermissionsRequest":{ + "type":"structure", + "required":["Entries"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Entries":{ + "shape":"BatchPermissionsRequestEntryList", + "documentation":"

A list of up to 20 entries for resource permissions to be revoked by batch operation to the principal.

" + } + } + }, + "BatchRevokePermissionsResponse":{ + "type":"structure", + "members":{ + "Failures":{ + "shape":"BatchPermissionsFailureList", + "documentation":"

A list of failures to revoke permissions to the resources.

" + } + } + }, + "CatalogIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "CatalogResource":{ + "type":"structure", + "members":{ + }, + "documentation":"

A structure for the catalog object.

" + }, + "ColumnNames":{ + "type":"list", + "member":{"shape":"NameString"} + }, + "ColumnWildcard":{ + "type":"structure", + "members":{ + "ExcludedColumnNames":{ + "shape":"ColumnNames", + "documentation":"

Excludes column names. Any column with this name will be excluded.

" + } + }, + "documentation":"

A wildcard object, consisting of an optional list of excluded column names or indexes.

" + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "EQ", + "NE", + "LE", + "LT", + "GE", + "GT", + "CONTAINS", + "NOT_CONTAINS", + "BEGINS_WITH", + "IN", + "BETWEEN" + ] + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

Two processes are trying to modify a resource simultaneously.

", + "exception":true + }, + "DataLakePrincipal":{ + "type":"structure", + "members":{ + "DataLakePrincipalIdentifier":{ + "shape":"DataLakePrincipalString", + "documentation":"

An identifier for the AWS Lake Formation principal.

" + } + }, + "documentation":"

The AWS Lake Formation principal.

" + }, + "DataLakePrincipalList":{ + "type":"list", + "member":{"shape":"DataLakePrincipal"}, + "max":10, + "min":0 + }, + "DataLakePrincipalString":{ + "type":"string", + "max":255, + "min":1 + }, + "DataLakeResourceType":{ + "type":"string", + "enum":[ + "CATALOG", + "DATABASE", + "TABLE", + "DATA_LOCATION" + ] + }, + "DataLakeSettings":{ + "type":"structure", + "members":{ + "DataLakeAdmins":{ + "shape":"DataLakePrincipalList", + "documentation":"

A list of AWS Lake Formation principals.

" + }, + "CreateDatabaseDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

A list of up to three principal permissions entries for default create database permissions.

" + }, + "CreateTableDefaultPermissions":{ + "shape":"PrincipalPermissionsList", + "documentation":"

A list of up to three principal permissions entries for default create table permissions.

" + } + }, + "documentation":"

The AWS Lake Formation principal.

" + }, + "DataLocationResource":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) that uniquely identifies the data location resource.

" + } + }, + "documentation":"

A structure for a data location object where permissions are granted or revoked.

" + }, + "DatabaseResource":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameString", + "documentation":"

The name of the database resource. Unique to the Data Catalog.

" + } + }, + "documentation":"

A structure for the database object.

" + }, + "DeregisterResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to deregister.

" + } + } + }, + "DeregisterResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The resource ARN.

" + } + } + }, + "DescribeResourceResponse":{ + "type":"structure", + "members":{ + "ResourceInfo":{ + "shape":"ResourceInfo", + "documentation":"

A structure containing information about an AWS Lake Formation resource.

" + } + } + }, + "DescriptionString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, + "EntityNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

A specified entity does not exist

", + "exception":true + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"NameString", + "documentation":"

The code associated with this error.

" + }, + "ErrorMessage":{ + "shape":"DescriptionString", + "documentation":"

A message describing the error.

" + } + }, + "documentation":"

Contains details about an error.

" + }, + "FieldNameString":{ + "type":"string", + "enum":[ + "RESOURCE_ARN", + "ROLE_ARN", + "LAST_MODIFIED" + ] + }, + "FilterCondition":{ + "type":"structure", + "members":{ + "Field":{ + "shape":"FieldNameString", + "documentation":"

The field to filter in the filter condition.

" + }, + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

The comparison operator used in the filter condition.

" + }, + "StringValueList":{ + "shape":"StringValueList", + "documentation":"

A string with values used in evaluating the filter condition.

" + } + }, + "documentation":"

This structure describes the filtering of columns in a table based on a filter condition.

" + }, + "FilterConditionList":{ + "type":"list", + "member":{"shape":"FilterCondition"}, + "max":20, + "min":1 + }, + "GetDataLakeSettingsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + } + } + }, + "GetDataLakeSettingsResponse":{ + "type":"structure", + "members":{ + "DataLakeSettings":{ + "shape":"DataLakeSettings", + "documentation":"

A list of AWS Lake Formation principals.

" + } + } + }, + "GetEffectivePermissionsForPathRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) of the resource for which you want to get permissions.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve this list.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return.

" + } + } + }, + "GetEffectivePermissionsForPathResponse":{ + "type":"structure", + "members":{ + "Permissions":{ + "shape":"PrincipalResourcePermissionsList", + "documentation":"

A list of the permissions for the specified table or database resource located at the path in Amazon S3.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve this list.

" + } + } + }, + "GrantPermissionsRequest":{ + "type":"structure", + "required":[ + "Principal", + "Resource", + "Permissions" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The principal to be granted the permissions on the resource. Supported principals are IAM users or IAM roles, and they are defined by their principal type and their ARN.

Note that if you define a resource with a particular ARN, then later delete, and recreate a resource with that same ARN, the resource maintains the permissions already granted.

" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

The resource to which permissions are to be granted. Resources in AWS Lake Formation are the Data Catalog, databases, and tables.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions granted to the principal on the resource. AWS Lake Formation defines privileges to grant and revoke access to metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. AWS Lake Formation requires that each principal be authorized to perform a specific task on AWS Lake Formation resources.

" + }, + "PermissionsWithGrantOption":{ + "shape":"PermissionList", + "documentation":"

Indicates a list of the granted permissions that the principal may pass to other users. These permissions may only be a subset of the permissions granted in the Privileges.

" + } + } + }, + "GrantPermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "IAMRoleArn":{ + "type":"string", + "pattern":"arn:aws:iam::[0-9]*:role/.*" + }, + "Identifier":{ + "type":"string", + "max":255, + "min":1 + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

An internal service error occurred.

", + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The input provided was not valid.

", + "exception":true + }, + "LastModifiedTimestamp":{"type":"timestamp"}, + "ListPermissionsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

Specifies a principal to filter the permissions returned.

" + }, + "ResourceType":{ + "shape":"DataLakeResourceType", + "documentation":"

Specifies a resource type to filter the permissions returned.

" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

A resource where you will get a list of the principal permissions.

This operation does not support getting privileges on a table with columns. Instead, call this operation on the table, and the operation returns the table and the table w columns.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve this list.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of results to return.

" + } + } + }, + "ListPermissionsResponse":{ + "type":"structure", + "members":{ + "PrincipalResourcePermissions":{ + "shape":"PrincipalResourcePermissionsList", + "documentation":"

A list of principals and their permissions on the resource for the specified principal and resource types.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve this list.

" + } + } + }, + "ListResourcesRequest":{ + "type":"structure", + "members":{ + "FilterConditionList":{ + "shape":"FilterConditionList", + "documentation":"

Any applicable row-level and/or column-level filtering conditions for the resources.

" + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

The maximum number of resource results.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve these resources.

" + } + } + }, + "ListResourcesResponse":{ + "type":"structure", + "members":{ + "ResourceInfoList":{ + "shape":"ResourceInfoList", + "documentation":"

A summary of the data lake resources.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

A continuation token, if this is not the first call to retrieve these resources.

" + } + } + }, + "MessageString":{"type":"string"}, + "NameString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "NullableBoolean":{ + "type":"boolean", + "box":true + }, + "OperationTimeoutException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"MessageString", + "documentation":"

A message describing the problem.

" + } + }, + "documentation":"

The operation timed out.

", + "exception":true + }, + "PageSize":{ + "type":"integer", + "box":true, + "max":1000, + "min":1 + }, + "Permission":{ + "type":"string", + "enum":[ + "ALL", + "SELECT", + "ALTER", + "DROP", + "DELETE", + "INSERT", + "CREATE_DATABASE", + "CREATE_TABLE", + "DATA_LOCATION_ACCESS" + ] + }, + "PermissionList":{ + "type":"list", + "member":{"shape":"Permission"} + }, + "PrincipalPermissions":{ + "type":"structure", + "members":{ + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The principal who is granted permissions.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions that are granted to the principal.

" + } + }, + "documentation":"

Permissions granted to a principal.

" + }, + "PrincipalPermissionsList":{ + "type":"list", + "member":{"shape":"PrincipalPermissions"} + }, + "PrincipalResourcePermissions":{ + "type":"structure", + "members":{ + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The Data Lake principal to be granted or revoked permissions.

" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

The resource where permissions are to be granted or revoked.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions to be granted or revoked on the resource.

" + }, + "PermissionsWithGrantOption":{ + "shape":"PermissionList", + "documentation":"

Indicates whether to grant the ability to grant permissions (as a subset of permissions granted).

" + } + }, + "documentation":"

The permissions granted or revoked on a resource.

" + }, + "PrincipalResourcePermissionsList":{ + "type":"list", + "member":{"shape":"PrincipalResourcePermissions"} + }, + "PutDataLakeSettingsRequest":{ + "type":"structure", + "required":["DataLakeSettings"], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "DataLakeSettings":{ + "shape":"DataLakeSettings", + "documentation":"

A list of AWS Lake Formation principals.

" + } + } + }, + "PutDataLakeSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "RegisterResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) of the resource that you want to register.

" + }, + "UseServiceLinkedRole":{ + "shape":"NullableBoolean", + "documentation":"

Designates a trusted caller, an IAM principal, by registering this caller with the Data Catalog.

" + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The identifier for the role.

" + } + } + }, + "RegisterResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "Resource":{ + "type":"structure", + "members":{ + "Catalog":{ + "shape":"CatalogResource", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Database":{ + "shape":"DatabaseResource", + "documentation":"

The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.

" + }, + "Table":{ + "shape":"TableResource", + "documentation":"

The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

" + }, + "TableWithColumns":{ + "shape":"TableWithColumnsResource", + "documentation":"

The table with columns for the resource. A principal with permissions to this resource can select metadata from the columns of a table in the Data Catalog and the underlying data in Amazon S3.

" + }, + "DataLocation":{ + "shape":"DataLocationResource", + "documentation":"

The location of an Amazon S3 path where permissions are granted or revoked.

" + } + }, + "documentation":"

A structure for the resource.

" + }, + "ResourceArnString":{"type":"string"}, + "ResourceInfo":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

" + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The IAM role that registered a resource.

" + }, + "LastModified":{ + "shape":"LastModifiedTimestamp", + "documentation":"

The date and time the resource was last modified.

" + } + }, + "documentation":"

A structure containing information about an AWS Lake Formation resource.

" + }, + "ResourceInfoList":{ + "type":"list", + "member":{"shape":"ResourceInfo"} + }, + "RevokePermissionsRequest":{ + "type":"structure", + "required":[ + "Principal", + "Resource", + "Permissions" + ], + "members":{ + "CatalogId":{ + "shape":"CatalogIdString", + "documentation":"

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + }, + "Principal":{ + "shape":"DataLakePrincipal", + "documentation":"

The principal to be revoked permissions on the resource.

" + }, + "Resource":{ + "shape":"Resource", + "documentation":"

The resource to which permissions are to be revoked.

" + }, + "Permissions":{ + "shape":"PermissionList", + "documentation":"

The permissions revoked to the principal on the resource. For information about permissions, see Security and Access Control to Metadata and Data.

" + }, + "PermissionsWithGrantOption":{ + "shape":"PermissionList", + "documentation":"

Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.

" + } + } + }, + "RevokePermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "StringValue":{"type":"string"}, + "StringValueList":{ + "type":"list", + "member":{"shape":"StringValue"} + }, + "TableResource":{ + "type":"structure", + "required":[ + "DatabaseName", + "Name" + ], + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database for the table. Unique to a Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the table.

" + } + }, + "documentation":"

A structure for the table object. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

" + }, + "TableWithColumnsResource":{ + "type":"structure", + "members":{ + "DatabaseName":{ + "shape":"NameString", + "documentation":"

The name of the database for the table with columns resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the table resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

" + }, + "ColumnNames":{ + "shape":"ColumnNames", + "documentation":"

The list of column names for the table. At least one of ColumnNames or ColumnWildcard is required.

" + }, + "ColumnWildcard":{ + "shape":"ColumnWildcard", + "documentation":"

A wildcard specified by a ColumnWildcard object. At least one of ColumnNames or ColumnWildcard is required.

" + } + }, + "documentation":"

A structure for a table with columns object. This object is only used when granting a SELECT permission.

This object must take a value for at least one of ColumnsNames, ColumnsIndexes, or ColumnsWildcard.

" + }, + "Token":{"type":"string"}, + "UpdateResourceRequest":{ + "type":"structure", + "required":[ + "RoleArn", + "ResourceArn" + ], + "members":{ + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

The new role to use for the given resource registered in AWS Lake Formation.

" + }, + "ResourceArn":{ + "shape":"ResourceArnString", + "documentation":"

The resource ARN.

" + } + } + }, + "UpdateResourceResponse":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"AWS Lake Formation

Defines the public endpoint for the AWS Lake Formation service.

" +} diff -Nru python-botocore-1.4.70/botocore/data/lambda/2014-11-11/service-2.json python-botocore-1.16.19+repack/botocore/data/lambda/2014-11-11/service-2.json --- python-botocore-1.4.70/botocore/data/lambda/2014-11-11/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lambda/2014-11-11/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -3,6 +3,7 @@ "apiVersion":"2014-11-11", "endpointPrefix":"lambda", "serviceFullName":"AWS Lambda", + "serviceId":"Lambda", "signatureVersion":"v4", "protocol":"rest-json" }, diff -Nru python-botocore-1.4.70/botocore/data/lambda/2015-03-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/examples-1.json --- python-botocore-1.4.70/botocore/data/lambda/2015-03-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/examples-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1513 @@ +{ + "version": "1.0", + "examples": { + "AddLayerVersionPermission": [ + { + "input": { + "Action": "lambda:GetLayerVersion", + "LayerName": "my-layer", + "Principal": "223456789012", + "StatementId": "xaccount", + "VersionNumber": 1 + }, + "output": { + "RevisionId": "35d87451-f796-4a3f-a618-95a3671b0a0c", + "Statement": "{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::223456789012:root\"},\"Action\":\"lambda:GetLayerVersion\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1\"}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example grants permission for the account 223456789012 to use version 1 of a layer named my-layer.", + "id": "to-add-permissions-to-a-layer-version-1586479797163", + "title": "To add permissions to a layer version" + } + ], + "AddPermission": [ + { + "input": { + "Action": "lambda:InvokeFunction", + "FunctionName": "my-function", + "Principal": "s3.amazonaws.com", + "SourceAccount": "123456789012", + "SourceArn": "arn:aws:s3:::my-bucket-1xpuxmplzrlbh/*", + "StatementId": "s3" + }, + "output": { + "Statement": "{\"Sid\":\"s3\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"s3.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function\",\"Condition\":{\"StringEquals\":{\"AWS:SourceAccount\":\"123456789012\"},\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:s3:::my-bucket-1xpuxmplzrlbh\"}}}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds permission for Amazon S3 to invoke a Lambda function named my-function for notifications from a bucket named my-bucket-1xpuxmplzrlbh in account 123456789012.", + "id": "add-permission-1474651469455", + "title": "To grant Amazon S3 permission to invoke a function" + }, + { + "input": { + "Action": "lambda:InvokeFunction", + "FunctionName": "my-function", + "Principal": "223456789012", + "StatementId": "xaccount" + }, + "output": { + "Statement": "{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::223456789012:root\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function\"}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds permission for account 223456789012 invoke a Lambda function named my-function.", + "id": "add-permission-1474651469456", + "title": "To grant another account permission to invoke a function" + } + ], + "CreateAlias": [ + { + "input": { + "Description": "alias for live version of function", + "FunctionName": "my-function", + "FunctionVersion": "1", + "Name": "LIVE" + }, + "output": { + "AliasArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:LIVE", + "Description": "alias for live version of function", + "FunctionVersion": "1", + "Name": "LIVE", + "RevisionId": "873282ed-xmpl-4dc8-a069-d0c647e470c6" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an alias named LIVE that points to version 1 of the my-function Lambda function.", + "id": "to-create-an-alias-for-a-lambda-function-1586480324259", + "title": "To create an alias for a Lambda function" + } + ], + "CreateEventSourceMapping": [ + { + "input": { + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:my-queue", + "FunctionName": "my-function" + }, + "output": { + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:my-queue", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "LastModified": 1569284520.333, + "State": "Creating", + "StateTransitionReason": "USER_INITIATED", + "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a mapping between an SQS queue and the my-function Lambda function.", + "id": "to-create-a-mapping-between-an-event-source-and-an-aws-lambda-function-1586480555467", + "title": "To create a mapping between an event source and an AWS Lambda function" + } + ], + "CreateFunction": [ + { + "input": { + "Code": { + "S3Bucket": "my-bucket-1xpuxmplzrlbh", + "S3Key": "function.zip" + }, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "MemorySize": 256, + "Publish": true, + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "Tags": { + "DEPARTMENT": "Assets" + }, + "Timeout": 15, + "TracingConfig": { + "Mode": "Active" + } + }, + "output": { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "LastUpdateStatus": "Successful", + "MemorySize": 256, + "RevisionId": "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "State": "Active", + "Timeout": 15, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a function with a deployment package in Amazon S3 and enables X-Ray tracing and environment variable encryption.", + "id": "to-create-a-function-1586492061186", + "title": "To create a function" + } + ], + "DeleteAlias": [ + { + "input": { + "FunctionName": "my-function", + "Name": "BLUE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an alias named BLUE from a function named my-function", + "id": "to-delete-a-lambda-function-alias-1481660370804", + "title": "To delete a Lambda function alias" + } + ], + "DeleteEventSourceMapping": [ + { + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:my-queue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", + "LastModified": "2016-11-21T19:49:20.006+0000", + "State": "Enabled", + "StateTransitionReason": "USER_INITIATED", + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "id": "to-delete-a-lambda-function-event-source-mapping-1481658973862", + "title": "To delete a Lambda function event source mapping" + } + ], + "DeleteFunction": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes version 1 of a Lambda function named my-function.", + "id": "to-delete-a-lambda-function-1481648553696", + "title": "To delete a version of a Lambda function" + } + ], + "DeleteFunctionConcurrency": [ + { + "input": { + "FunctionName": "my-function" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes the reserved concurrent execution limit from a function named my-function.", + "id": "to-remove-the-reserved-concurrent-execution-limit-from-a-function-1586480714680", + "title": "To remove the reserved concurrent execution limit from a function" + } + ], + "DeleteFunctionEventInvokeConfig": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "GREEN" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes the asynchronous invocation configuration for the GREEN alias of a function named my-function.", + "id": "to-delete-an-asynchronous-invocation-configuration-1586481102187", + "title": "To delete an asynchronous invocation configuration" + } + ], + "DeleteLayerVersion": [ + { + "input": { + "LayerName": "my-layer", + "VersionNumber": 2 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes version 2 of a layer named my-layer.", + "id": "to-delete-a-version-of-a-lambda-layer-1586481157547", + "title": "To delete a version of a Lambda layer" + } + ], + "DeleteProvisionedConcurrencyConfig": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "GREEN" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes the provisioned concurrency configuration for the GREEN alias of a function named my-function.", + "id": "to-delete-a-provisioned-concurrency-configuration-1586481032551", + "title": "To delete a provisioned concurrency configuration" + } + ], + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "AccountLimit": { + "CodeSizeUnzipped": 262144000, + "CodeSizeZipped": 52428800, + "ConcurrentExecutions": 1000, + "TotalCodeSize": 80530636800, + "UnreservedConcurrentExecutions": 1000 + }, + "AccountUsage": { + "FunctionCount": 4, + "TotalCodeSize": 9426 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation takes no parameters and returns details about storage and concurrency quotas in the current Region.", + "id": "to-get-account-settings-1481657495274", + "title": "To get account settings" + } + ], + "GetAlias": [ + { + "input": { + "FunctionName": "my-function", + "Name": "BLUE" + }, + "output": { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:BLUE", + "Description": "Production environment BLUE.", + "FunctionVersion": "3", + "Name": "BLUE", + "RevisionId": "594f41fb-xmpl-4c20-95c7-6ca5f2a92c93" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns details about an alias named BLUE for a function named my-function", + "id": "to-retrieve-a-lambda-function-alias-1481648742254", + "title": "To get a Lambda function alias" + } + ], + "GetEventSourceMapping": [ + { + "input": { + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "output": { + "BatchSize": 500, + "BisectBatchOnFunctionError": false, + "DestinationConfig": { + }, + "EventSourceArn": "arn:aws:sqs:us-east-2:123456789012:mySQSqueue", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006+0000", + "LastProcessingResult": "No records processed", + "MaximumRecordAgeInSeconds": 604800, + "MaximumRetryAttempts": 10000, + "State": "Creating", + "StateTransitionReason": "User action", + "UUID": "14e0db71-xmpl-4eb5-b481-8945cf9d10c2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns details about an event source mapping. To get a mapping's UUID, use ListEventSourceMappings.", + "id": "to-get-a-lambda-functions-event-source-mapping-1481661622799", + "title": "To get a Lambda function's event source mapping" + } + ], + "GetFunction": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "1" + }, + "output": { + "Code": { + "Location": "https://awslambda-us-west-2-tasks.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-function-e7d9d1ed-xmpl-4f79-904a-4b87f2681f30?versionId=sH3TQwBOaUy...", + "RepositoryType": "S3" + }, + "Configuration": { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "LastUpdateStatus": "Successful", + "MemorySize": 256, + "RevisionId": "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "State": "Active", + "Timeout": 15, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "$LATEST" + }, + "Tags": { + "DEPARTMENT": "Assets" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns code and configuration details for version 1 of a function named my-function.", + "id": "to-get-a-lambda-function-1481661622799", + "title": "To get a Lambda function" + } + ], + "GetFunctionConcurrency": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "ReservedConcurrentExecutions": 250 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the reserved concurrency setting for a function named my-function.", + "id": "to-get-the-reserved-concurrency-setting-for-a-function-1586481279992", + "title": "To get the reserved concurrency setting for a function" + } + ], + "GetFunctionConfiguration": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "1" + }, + "output": { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "LastUpdateStatus": "Successful", + "MemorySize": 256, + "RevisionId": "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "State": "Active", + "Timeout": 15, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "$LATEST" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns and configuration details for version 1 of a function named my-function.", + "id": "to-get-a-lambda-functions-event-source-mapping-1481661622799", + "title": "To get a Lambda function's event source mapping" + } + ], + "GetFunctionEventInvokeConfig": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "BLUE" + }, + "output": { + "DestinationConfig": { + "OnFailure": { + "Destination": "arn:aws:sqs:us-east-2:123456789012:failed-invocations" + }, + "OnSuccess": { + } + }, + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MaximumEventAgeInSeconds": 3600, + "MaximumRetryAttempts": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the asynchronous invocation configuration for the BLUE alias of a function named my-function.", + "id": "to-get-an-asynchronous-invocation-configuration-1586481338463", + "title": "To get an asynchronous invocation configuration" + } + ], + "GetLayerVersion": [ + { + "input": { + "LayerName": "my-layer", + "VersionNumber": 1 + }, + "output": { + "CompatibleRuntimes": [ + "python3.6", + "python3.7" + ], + "Content": { + "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", + "CodeSize": 169, + "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH..." + }, + "CreatedDate": "2018-11-14T23:03:52.894+0000", + "Description": "My Python layer", + "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", + "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:1", + "LicenseInfo": "MIT", + "Version": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information for version 1 of a layer named my-layer.", + "id": "to-get-information-about-a-lambda-layer-version-1586481457839", + "title": "To get information about a Lambda layer version" + } + ], + "GetLayerVersionByArn": [ + { + "input": { + "Arn": "arn:aws:lambda:ca-central-1:123456789012:layer:blank-python-lib:3" + }, + "output": { + "CompatibleRuntimes": [ + "python3.8" + ], + "Content": { + "CodeSha256": "6x+xmpl/M3BnQUk7gS9sGmfeFsR/npojXoA3fZUv4eU=", + "CodeSize": 9529009, + "Location": "https://awslambda-us-east-2-layers.s3.us-east-2.amazonaws.com/snapshots/123456789012/blank-python-lib-e5212378-xmpl-44ee-8398-9d8ec5113949?versionId=WbZnvf..." + }, + "CreatedDate": "2020-03-31T00:35:18.949+0000", + "Description": "Dependencies for the blank-python sample app.", + "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:blank-python-lib", + "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:blank-python-lib:3", + "Version": 3 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about the layer version with the specified Amazon Resource Name (ARN).", + "id": "to-get-information-about-a-lambda-layer-version-1586481457839", + "title": "To get information about a Lambda layer version" + } + ], + "GetPolicy": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "1" + }, + "output": { + "Policy": "{\"Version\":\"2012-10-17\",\"Id\":\"default\",\"Statement\":[{\"Sid\":\"xaccount\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-east-2:123456789012:function:my-function:1\"}]}", + "RevisionId": "4843f2f6-7c59-4fda-b484-afd0bc0e22b8" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the resource-based policy for version 1 of a Lambda function named my-function.", + "id": "to-retrieve-a-lambda-function-policy-1481649319053", + "title": "To retrieve a Lambda function policy" + } + ], + "GetProvisionedConcurrencyConfig": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "BLUE" + }, + "output": { + "AllocatedProvisionedConcurrentExecutions": 100, + "AvailableProvisionedConcurrentExecutions": 100, + "LastModified": "2019-12-31T20:28:49+0000", + "RequestedProvisionedConcurrentExecutions": 100, + "Status": "READY" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-get-a-provisioned-concurrency-configuration-1586490192690", + "title": "To get a provisioned concurrency configuration" + }, + { + "input": { + "FunctionName": "my-function", + "Qualifier": "BLUE" + }, + "output": { + "AllocatedProvisionedConcurrentExecutions": 100, + "AvailableProvisionedConcurrentExecutions": 100, + "LastModified": "2019-12-31T20:28:49+0000", + "RequestedProvisionedConcurrentExecutions": 100, + "Status": "READY" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-view-a-provisioned-concurrency-configuration-1586490192690", + "title": "To view a provisioned concurrency configuration" + } + ], + "Invoke": [ + { + "input": { + "FunctionName": "my-function", + "Payload": "{}", + "Qualifier": "1" + }, + "output": { + "Payload": "200 SUCCESS", + "StatusCode": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example invokes version 1 of a function named my-function with an empty event payload.", + "id": "to-invoke-a-lambda-function-1481659683915", + "title": "To invoke a Lambda function" + }, + { + "input": { + "FunctionName": "my-function", + "InvocationType": "Event", + "Payload": "{}", + "Qualifier": "1" + }, + "output": { + "Payload": "", + "StatusCode": 202 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example invokes version 1 of a function named my-function asynchronously.", + "id": "to-invoke-a-lambda-function-async-1481659683915", + "title": "To invoke a Lambda function asynchronously" + } + ], + "InvokeAsync": [ + { + "input": { + "FunctionName": "my-function", + "InvokeArgs": "{}" + }, + "output": { + "Status": 202 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example invokes a Lambda function asynchronously", + "id": "to-invoke-a-lambda-function-asynchronously-1481649694923", + "title": "To invoke a Lambda function asynchronously" + } + ], + "ListAliases": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "Aliases": [ + { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:BETA", + "Description": "Production environment BLUE.", + "FunctionVersion": "2", + "Name": "BLUE", + "RevisionId": "a410117f-xmpl-494e-8035-7e204bb7933b", + "RoutingConfig": { + "AdditionalVersionWeights": { + "1": 0.7 + } + } + }, + { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:LIVE", + "Description": "Production environment GREEN.", + "FunctionVersion": "1", + "Name": "GREEN", + "RevisionId": "21d40116-xmpl-40ba-9360-3ea284da1bb5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of aliases for a function named my-function.", + "id": "to-list-a-functions-aliases-1481650199732", + "title": "To list a function's aliases" + } + ], + "ListEventSourceMappings": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "EventSourceMappings": [ + { + "BatchSize": 5, + "EventSourceArn": "arn:aws:sqs:us-west-2:123456789012:mySQSqueue", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "LastModified": 1569284520.333, + "State": "Enabled", + "StateTransitionReason": "USER_INITIATED", + "UUID": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of the event source mappings for a function named my-function.", + "id": "to-list-the-event-source-mappings-for-a-function-1586490285906", + "title": "To list the event source mappings for a function" + } + ], + "ListFunctionEventInvokeConfigs": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "FunctionEventInvokeConfigs": [ + { + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN", + "LastModified": 1577824406.719, + "MaximumEventAgeInSeconds": 1800, + "MaximumRetryAttempts": 2 + }, + { + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", + "LastModified": 1577824396.653, + "MaximumEventAgeInSeconds": 3600, + "MaximumRetryAttempts": 0 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of asynchronous invocation configurations for a function named my-function.", + "id": "to-view-a-list-of-asynchronous-invocation-configurations-1586490355611", + "title": "To view a list of asynchronous invocation configurations" + } + ], + "ListFunctions": [ + { + "input": { + }, + "output": { + "Functions": [ + { + "CodeSha256": "dBG9m8SGdmlEjw/JYXlhhvCrAv5TxvXsbL/RMr0fT/I=", + "CodeSize": 294, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:helloworld", + "FunctionName": "helloworld", + "Handler": "helloworld.handler", + "LastModified": "2019-09-23T18:32:33.857+0000", + "MemorySize": 128, + "RevisionId": "1718e831-badf-4253-9518-d0644210af7b", + "Role": "arn:aws:iam::123456789012:role/service-role/MyTestFunction-role-zgur6bf4", + "Runtime": "nodejs10.x", + "Timeout": 3, + "TracingConfig": { + "Mode": "PassThrough" + }, + "Version": "$LATEST" + }, + { + "CodeSha256": "sU0cJ2/hOZevwV/lTxCuQqK3gDZP3i8gUoqUUVRmY6E=", + "CodeSize": 266, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "LastModified": "2019-10-01T16:47:28.490+0000", + "MemorySize": 256, + "RevisionId": "93017fc9-59cb-41dc-901b-4845ce4bf668", + "Role": "arn:aws:iam::123456789012:role/service-role/helloWorldPython-role-uy3l9qyq", + "Runtime": "nodejs10.x", + "Timeout": 3, + "TracingConfig": { + "Mode": "PassThrough" + }, + "Version": "$LATEST", + "VpcConfig": { + "SecurityGroupIds": [ + + ], + "SubnetIds": [ + + ], + "VpcId": "" + } + } + ], + "NextMarker": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation returns a list of Lambda functions.", + "id": "to-get-a-list-of-lambda-functions-1481650507425", + "title": "To get a list of Lambda functions" + } + ], + "ListLayerVersions": [ + { + "input": { + "LayerName": "blank-java-lib" + }, + "output": { + "LayerVersions": [ + { + "CompatibleRuntimes": [ + "java8" + ], + "CreatedDate": "2020-03-18T23:38:42.284+0000", + "Description": "Dependencies for the blank-java sample app.", + "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:blank-java-lib:7", + "Version": 7 + }, + { + "CompatibleRuntimes": [ + "java8" + ], + "CreatedDate": "2020-03-17T07:24:21.960+0000", + "Description": "Dependencies for the blank-java sample app.", + "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:blank-java-lib:6", + "Version": 6 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example displays information about the versions for the layer named blank-java-lib", + "id": "to-list-versions-of-a-layer-1586490857297", + "title": "To list versions of a layer" + } + ], + "ListLayers": [ + { + "input": { + "CompatibleRuntime": "python3.7" + }, + "output": { + "Layers": [ + { + "LatestMatchingVersion": { + "CompatibleRuntimes": [ + "python3.6", + "python3.7" + ], + "CreatedDate": "2018-11-15T00:37:46.592+0000", + "Description": "My layer", + "LayerVersionArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer:2", + "Version": 2 + }, + "LayerArn": "arn:aws:lambda:us-east-2:123456789012:layer:my-layer", + "LayerName": "my-layer" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns information about layers that are compatible with the Python 3.7 runtime.", + "id": "to-list-the-layers-that-are-compatible-with-your-functions-runtime-1586490857297", + "title": "To list the layers that are compatible with your function's runtime" + } + ], + "ListProvisionedConcurrencyConfigs": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "ProvisionedConcurrencyConfigs": [ + { + "AllocatedProvisionedConcurrentExecutions": 100, + "AvailableProvisionedConcurrentExecutions": 100, + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:GREEN", + "LastModified": "2019-12-31T20:29:00+0000", + "RequestedProvisionedConcurrentExecutions": 100, + "Status": "READY" + }, + { + "AllocatedProvisionedConcurrentExecutions": 100, + "AvailableProvisionedConcurrentExecutions": 100, + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:BLUE", + "LastModified": "2019-12-31T20:28:49+0000", + "RequestedProvisionedConcurrentExecutions": 100, + "Status": "READY" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of provisioned concurrency configurations for a function named my-function.", + "id": "to-get-a-list-of-provisioned-concurrency-configurations-1586491032592", + "title": "To get a list of provisioned concurrency configurations" + } + ], + "ListTags": [ + { + "input": { + "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function" + }, + "output": { + "Tags": { + "Category": "Web Tools", + "Department": "Sales" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example displays the tags attached to the my-function Lambda function.", + "id": "to-retrieve-the-list-of-tags-for-a-lambda-function-1586491111498", + "title": "To retrieve the list of tags for a Lambda function" + } + ], + "ListVersionsByFunction": [ + { + "input": { + "FunctionName": "my-function" + }, + "output": { + "Versions": [ + { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "MemorySize": 256, + "RevisionId": "850ca006-2d98-4ff4-86db-8766e9d32fe9", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "Timeout": 15, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "$LATEST" + }, + { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "MemorySize": 256, + "RevisionId": "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "Timeout": 5, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of versions of a function named my-function", + "id": "to-list-versions-1481650603750", + "title": "To list versions of a function" + } + ], + "PublishLayerVersion": [ + { + "input": { + "CompatibleRuntimes": [ + "python3.6", + "python3.7" + ], + "Content": { + "S3Bucket": "lambda-layers-us-west-2-123456789012", + "S3Key": "layer.zip" + }, + "Description": "My Python layer", + "LayerName": "my-layer", + "LicenseInfo": "MIT" + }, + "output": { + "CompatibleRuntimes": [ + "python3.6", + "python3.7" + ], + "Content": { + "CodeSha256": "tv9jJO+rPbXUUXuRKi7CwHzKtLDkDRJLB3cC3Z/ouXo=", + "CodeSize": 169, + "Location": "https://awslambda-us-west-2-layers.s3.us-west-2.amazonaws.com/snapshots/123456789012/my-layer-4aaa2fbb-ff77-4b0a-ad92-5b78a716a96a?versionId=27iWyA73cCAYqyH..." + }, + "CreatedDate": "2018-11-14T23:03:52.894+0000", + "Description": "My Python layer", + "LayerArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer", + "LayerVersionArn": "arn:aws:lambda:us-west-2:123456789012:layer:my-layer:1", + "LicenseInfo": "MIT", + "Version": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new Python library layer version. The command retrieves the layer content a file named layer.zip in the specified S3 bucket.", + "id": "to-create-a-lambda-layer-version-1586491213595", + "title": "To create a Lambda layer version" + } + ], + "PublishVersion": [ + { + "input": { + "CodeSha256": "", + "Description": "", + "FunctionName": "myFunction" + }, + "output": { + "CodeSha256": "YFgDgEKG3ugvF1+pX64gV6tu9qNuIYNUdgJm8nCxsm4=", + "CodeSize": 5797206, + "Description": "Process image objects from Amazon S3.", + "Environment": { + "Variables": { + "BUCKET": "my-bucket-1xpuxmplzrlbh", + "PREFIX": "inbound" + } + }, + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "KMSKeyArn": "arn:aws:kms:us-west-2:123456789012:key/b0844d6c-xmpl-4463-97a4-d49f50839966", + "LastModified": "2020-04-10T19:06:32.563+0000", + "LastUpdateStatus": "Successful", + "MemorySize": 256, + "RevisionId": "b75dcd81-xmpl-48a8-a75a-93ba8b5b9727", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "State": "Active", + "Timeout": 5, + "TracingConfig": { + "Mode": "Active" + }, + "Version": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation publishes a version of a Lambda function", + "id": "to-publish-a-version-of-a-lambda-function-1481650704986", + "title": "To publish a version of a Lambda function" + } + ], + "PutFunctionConcurrency": [ + { + "input": { + "FunctionName": "my-function", + "ReservedConcurrentExecutions": 100 + }, + "output": { + "ReservedConcurrentExecutions": 100 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures 100 reserved concurrent executions for the my-function function.", + "id": "to-configure-a-reserved-concurrency-limit-for-a-function-1586491405956", + "title": "To configure a reserved concurrency limit for a function" + } + ], + "PutFunctionEventInvokeConfig": [ + { + "input": { + "FunctionName": "my-function", + "MaximumEventAgeInSeconds": 3600, + "MaximumRetryAttempts": 0 + }, + "output": { + "DestinationConfig": { + "OnFailure": { + }, + "OnSuccess": { + } + }, + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", + "LastModified": "2016-11-21T19:49:20.006+0000", + "MaximumEventAgeInSeconds": 3600, + "MaximumRetryAttempts": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets a maximum event age of one hour and disables retries for the specified function.", + "id": "to-configure-error-handling-for-asynchronous-invocation-1586491524021", + "title": "To configure error handling for asynchronous invocation" + } + ], + "PutProvisionedConcurrencyConfig": [ + { + "input": { + "FunctionName": "my-function", + "ProvisionedConcurrentExecutions": 100, + "Qualifier": "BLUE" + }, + "output": { + "AllocatedProvisionedConcurrentExecutions": 0, + "LastModified": "2019-11-21T19:32:12+0000", + "RequestedProvisionedConcurrentExecutions": 100, + "Status": "IN_PROGRESS" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example allocates 100 provisioned concurrency for the BLUE alias of the specified function.", + "id": "to-allocate-provisioned-concurrency-1586491651377", + "title": "To allocate provisioned concurrency" + } + ], + "RemoveLayerVersionPermission": [ + { + "input": { + "LayerName": "my-layer", + "StatementId": "xaccount", + "VersionNumber": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes permission for an account to configure a layer version.", + "id": "to-delete-layer-version-permissions-1586491829416", + "title": "To delete layer-version permissions" + } + ], + "RemovePermission": [ + { + "input": { + "FunctionName": "my-function", + "Qualifier": "PROD", + "StatementId": "xaccount" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes a permissions statement named xaccount from the PROD alias of a function named my-function.", + "id": "to-remove-a-lambda-functions-permissions-1481661337021", + "title": "To remove a Lambda function's permissions" + } + ], + "TagResource": [ + { + "input": { + "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "Tags": { + "DEPARTMENT": "Department A" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds a tag with the key name DEPARTMENT and a value of 'Department A' to the specified Lambda function.", + "id": "to-add-tags-to-an-existing-lambda-function-1586491890446", + "title": "To add tags to an existing Lambda function" + } + ], + "UntagResource": [ + { + "input": { + "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function", + "TagKeys": [ + "DEPARTMENT" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes the tag with the key name DEPARTMENT tag from the my-function Lambda function.", + "id": "to-remove-tags-from-an-existing-lambda-function-1586491956425", + "title": "To remove tags from an existing Lambda function" + } + ], + "UpdateAlias": [ + { + "input": { + "FunctionName": "my-function", + "FunctionVersion": "2", + "Name": "BLUE", + "RoutingConfig": { + "AdditionalVersionWeights": { + "1": 0.7 + } + } + }, + "output": { + "AliasArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function:BLUE", + "Description": "Production environment BLUE.", + "FunctionVersion": "2", + "Name": "BLUE", + "RevisionId": "594f41fb-xmpl-4c20-95c7-6ca5f2a92c93", + "RoutingConfig": { + "AdditionalVersionWeights": { + "1": 0.7 + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example updates the alias named BLUE to send 30% of traffic to version 2 and 70% to version 1.", + "id": "to-update-a-function-alias-1481650817950", + "title": "To update a function alias" + } + ], + "UpdateEventSourceMapping": [ + { + "input": { + "BatchSize": 123, + "Enabled": true, + "FunctionName": "myFunction", + "UUID": "1234xCy789012" + }, + "output": { + "BatchSize": 123, + "EventSourceArn": "arn:aws:s3:::examplebucket/*", + "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction", + "LastModified": "2016-11-21T19:49:20.006+0000", + "LastProcessingResult": "", + "State": "", + "StateTransitionReason": "", + "UUID": "1234xCy789012" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation updates a Lambda function event source mapping", + "id": "to-update-a-lambda-function-event-source-mapping-1481650907413", + "title": "To update a Lambda function event source mapping" + } + ], + "UpdateFunctionCode": [ + { + "input": { + "FunctionName": "my-function", + "S3Bucket": "my-bucket-1xpuxmplzrlbh", + "S3Key": "function.zip" + }, + "output": { + "CodeSha256": "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=", + "CodeSize": 308, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "LastModified": "2019-08-14T22:26:11.234+0000", + "MemorySize": 128, + "RevisionId": "873282ed-xmpl-4dc8-a069-d0c647e470c6", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "Timeout": 3, + "TracingConfig": { + "Mode": "PassThrough" + }, + "Version": "$LATEST" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example replaces the code of the unpublished ($LATEST) version of a function named my-function with the contents of the specified zip file in Amazon S3.", + "id": "to-update-a-lambda-functions-code-1481650992672", + "title": "To update a Lambda function's code" + } + ], + "UpdateFunctionConfiguration": [ + { + "input": { + "FunctionName": "my-function", + "MemorySize": 256 + }, + "output": { + "CodeSha256": "PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=", + "CodeSize": 308, + "Description": "", + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function", + "FunctionName": "my-function", + "Handler": "index.handler", + "LastModified": "2019-08-14T22:26:11.234+0000", + "MemorySize": 256, + "RevisionId": "873282ed-xmpl-4dc8-a069-d0c647e470c6", + "Role": "arn:aws:iam::123456789012:role/lambda-role", + "Runtime": "nodejs12.x", + "Timeout": 3, + "TracingConfig": { + "Mode": "PassThrough" + }, + "Version": "$LATEST" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example modifies the memory size to be 256 MB for the unpublished ($LATEST) version of a function named my-function.", + "id": "to-update-a-lambda-functions-configuration-1481651096447", + "title": "To update a Lambda function's configuration" + } + ], + "UpdateFunctionEventInvokeConfig": [ + { + "input": { + "DestinationConfig": { + "OnFailure": { + "Destination": "arn:aws:sqs:us-east-2:123456789012:destination" + } + }, + "FunctionName": "my-function" + }, + "output": { + "DestinationConfig": { + "OnFailure": { + "Destination": "arn:aws:sqs:us-east-2:123456789012:destination" + }, + "OnSuccess": { + } + }, + "FunctionArn": "arn:aws:lambda:us-east-2:123456789012:function:my-function:$LATEST", + "LastModified": 1573687896.493, + "MaximumEventAgeInSeconds": 3600, + "MaximumRetryAttempts": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds an on-failure destination to the existing asynchronous invocation configuration for a function named my-function.", + "id": "to-update-an-asynchronous-invocation-configuration-1586492061186", + "title": "To update an asynchronous invocation configuration" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/lambda/2015-03-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/lambda/2015-03-31/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -11,6 +11,42 @@ "output_token": "NextMarker", "limit_key": "MaxItems", "result_key": "Functions" + }, + "ListAliases": { + "input_token": "Marker", + "output_token": "NextMarker", + "limit_key": "MaxItems", + "result_key": "Aliases" + }, + "ListLayerVersions": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "LayerVersions" + }, + "ListLayers": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "Layers" + }, + "ListVersionsByFunction": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "Versions" + }, + "ListFunctionEventInvokeConfigs": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "FunctionEventInvokeConfigs" + }, + "ListProvisionedConcurrencyConfigs": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextMarker", + "result_key": "ProvisionedConcurrencyConfigs" } } } diff -Nru python-botocore-1.4.70/botocore/data/lambda/2015-03-31/service-2.json python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/service-2.json --- python-botocore-1.4.70/botocore/data/lambda/2015-03-31/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,9 +5,31 @@ "endpointPrefix":"lambda", "protocol":"rest-json", "serviceFullName":"AWS Lambda", - "signatureVersion":"v4" + "serviceId":"Lambda", + "signatureVersion":"v4", + "uid":"lambda-2015-03-31" }, "operations":{ + "AddLayerVersionPermission":{ + "name":"AddLayerVersionPermission", + "http":{ + "method":"POST", + "requestUri":"/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy", + "responseCode":201 + }, + "input":{"shape":"AddLayerVersionPermissionRequest"}, + "output":{"shape":"AddLayerVersionPermissionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceConflictException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"PolicyLengthExceededException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Adds permissions to the resource-based policy of a version of an AWS Lambda layer. Use this action to grant layer usage permission to other accounts. You can grant permission to a single account, all AWS accounts, or all accounts in an organization.

To revoke permission, call RemoveLayerVersionPermission with the statement ID that you specified when you added it.

" + }, "AddPermission":{ "name":"AddPermission", "http":{ @@ -23,9 +45,10 @@ {"shape":"ResourceConflictException"}, {"shape":"InvalidParameterValueException"}, {"shape":"PolicyLengthExceededException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"} ], - "documentation":"

Adds a permission to the resource policy associated with the specified AWS Lambda function. You use resource policies to grant permissions to event sources that use push model. In a push model, event sources (such as Amazon S3 and custom applications) invoke your Lambda function. Each permission you add to the resource policy allows an event source, permission to invoke the Lambda function.

For information about the push model, see AWS Lambda: How it Works.

If you are using versioning, the permissions you add are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:AddPermission action.

" + "documentation":"

Grants an AWS service or another account permission to use a function. You can apply the policy at the function level, or specify a qualifier to restrict access to a single version or alias. If you use a qualifier, the invoker must use the full Amazon Resource Name (ARN) of that version or alias to invoke the function.

To grant permission to another account, specify the account ID as the Principal. For AWS services, the principal is a domain-style identifier defined by the service, like s3.amazonaws.com or sns.amazonaws.com. For AWS services, you can also specify the ARN of the associated resource as the SourceArn. If you grant permission to a service principal without specifying the source, other accounts could potentially configure resources in their account to invoke your Lambda function.

This action adds a statement to a resource-based permissions policy for the function. For more information about function policies, see Lambda Function Policies.

" }, "CreateAlias":{ "name":"CreateAlias", @@ -43,7 +66,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Creates an alias that points to the specified Lambda function version. For more information, see Introduction to AWS Lambda Aliases.

Alias names are unique for a given function. This requires permission for the lambda:CreateAlias action.

" + "documentation":"

Creates an alias for a Lambda function version. Use aliases to provide clients with a function identifier that you can update to invoke a different version.

You can also map an alias to split invocation requests between two versions. Use the RoutingConfig parameter to specify a second version and the percentage of invocation requests that it receives.

" }, "CreateEventSourceMapping":{ "name":"CreateEventSourceMapping", @@ -61,7 +84,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Identifies a stream as an event source for a Lambda function. It can be either an Amazon Kinesis stream or an Amazon DynamoDB stream. AWS Lambda invokes the specified function when records are posted to the stream.

This association between a stream source and a Lambda function is called the event source mapping.

This event source mapping is relevant only in the AWS Lambda pull model, where AWS Lambda invokes the function. For more information, go to AWS Lambda: How it Works in the AWS Lambda Developer Guide.

You provide mapping information (for example, which stream to read from and which Lambda function to invoke) in the request body.

Each event source, such as an Amazon Kinesis or a DynamoDB stream, can be associated with multiple AWS Lambda function. A given Lambda function can be associated with multiple AWS event sources.

If you are using versioning, you can specify a specific function version or an alias via the function name parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateEventSourceMapping action.

" + "documentation":"

Creates a mapping between an event source and an AWS Lambda function. Lambda reads items from the event source and triggers the function.

For details about each event source type, see the following topics.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

  • BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

  • DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - Discard records older than the specified age.

  • MaximumRetryAttempts - Discard records after the specified number of retries.

  • ParallelizationFactor - Process multiple batches from each shard concurrently.

" }, "CreateFunction":{ "name":"CreateFunction", @@ -80,7 +103,7 @@ {"shape":"TooManyRequestsException"}, {"shape":"CodeStorageExceededException"} ], - "documentation":"

Creates a new Lambda function. The function metadata is created from the request parameters, and the code for the function is provided by a .zip file in the request body. If the function name already exists, the operation will fail. Note that the function name is case-sensitive.

If you are using versioning, you can also publish a version of the Lambda function you are creating using the Publish parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:CreateFunction action.

" + "documentation":"

Creates a Lambda function. To create a function, you need a deployment package and an execution role. The deployment package contains your function code. The execution role grants the function permission to use AWS services, such as Amazon CloudWatch Logs for log streaming and AWS X-Ray for request tracing.

When you create a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute or so. During this time, you can't invoke or modify the function. The State, StateReason, and StateReasonCode fields in the response from GetFunctionConfiguration indicate when the function is ready to invoke. For more information, see Function States.

A function has an unpublished version, and can have published versions and aliases. The unpublished version changes when you update your function's code and configuration. A published version is a snapshot of your function code and configuration that can't be changed. An alias is a named resource that maps to a version, and can be changed to map to a different version. Use the Publish parameter to create version 1 of your function from its initial configuration.

The other parameters let you configure version-specific and function-level settings. You can modify version-specific settings later with UpdateFunctionConfiguration. Function-level settings apply to both the unpublished and published versions of the function, and include tags (TagResource) and per-function concurrency limits (PutFunctionConcurrency).

If another account or an AWS service invokes your function, use AddPermission to grant permission by creating a resource-based IAM policy. You can grant permissions at the function level, on a version, or on an alias.

To invoke your function directly, use Invoke. To invoke your function in response to events in other AWS services, create an event source mapping (CreateEventSourceMapping), or configure a function trigger in the other service. For more information, see Invoking Functions.

" }, "DeleteAlias":{ "name":"DeleteAlias", @@ -93,9 +116,10 @@ "errors":[ {"shape":"ServiceException"}, {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceConflictException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Deletes the specified Lambda function alias. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:DeleteAlias action.

" + "documentation":"

Deletes a Lambda function alias.

" }, "DeleteEventSourceMapping":{ "name":"DeleteEventSourceMapping", @@ -110,9 +134,10 @@ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceInUseException"} ], - "documentation":"

Removes an event source mapping. This means AWS Lambda will no longer invoke the function for events in the associated source.

This operation requires permission for the lambda:DeleteEventSourceMapping action.

" + "documentation":"

Deletes an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

When you delete an event source mapping, it enters a Deleting state and might not be completely deleted for several seconds.

" }, "DeleteFunction":{ "name":"DeleteFunction", @@ -129,7 +154,86 @@ {"shape":"InvalidParameterValueException"}, {"shape":"ResourceConflictException"} ], - "documentation":"

Deletes the specified Lambda function code and configuration.

If you are using the versioning feature and you don't specify a function version in your DeleteFunction request, AWS Lambda will delete the function, including all its versions, and any aliases pointing to the function versions. To delete a specific function version, you must provide the function version via the Qualifier parameter. For information about function versioning, see AWS Lambda Function Versioning and Aliases.

When you delete a function the associated resource policy is also deleted. You will need to delete the event source mappings explicitly.

This operation requires permission for the lambda:DeleteFunction action.

" + "documentation":"

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For AWS services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

" + }, + "DeleteFunctionConcurrency":{ + "name":"DeleteFunctionConcurrency", + "http":{ + "method":"DELETE", + "requestUri":"/2017-10-31/functions/{FunctionName}/concurrency", + "responseCode":204 + }, + "input":{"shape":"DeleteFunctionConcurrencyRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Removes a concurrent execution limit from a function.

" + }, + "DeleteFunctionEventInvokeConfig":{ + "name":"DeleteFunctionEventInvokeConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":204 + }, + "input":{"shape":"DeleteFunctionEventInvokeConfigRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" + }, + "DeleteLayerVersion":{ + "name":"DeleteLayerVersion", + "http":{ + "method":"DELETE", + "requestUri":"/2018-10-31/layers/{LayerName}/versions/{VersionNumber}", + "responseCode":204 + }, + "input":{"shape":"DeleteLayerVersionRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes a version of an AWS Lambda layer. Deleted versions can no longer be viewed or added to functions. To avoid breaking functions, a copy of the version remains in Lambda until no functions refer to it.

" + }, + "DeleteProvisionedConcurrencyConfig":{ + "name":"DeleteProvisionedConcurrencyConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2019-09-30/functions/{FunctionName}/provisioned-concurrency", + "responseCode":204 + }, + "input":{"shape":"DeleteProvisionedConcurrencyConfigRequest"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Deletes the provisioned concurrency configuration for a function.

" + }, + "GetAccountSettings":{ + "name":"GetAccountSettings", + "http":{ + "method":"GET", + "requestUri":"/2016-08-19/account-settings/", + "responseCode":200 + }, + "input":{"shape":"GetAccountSettingsRequest"}, + "output":{"shape":"GetAccountSettingsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Retrieves details about your account's limits and usage in an AWS Region.

" }, "GetAlias":{ "name":"GetAlias", @@ -146,7 +250,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns the specified alias information such as the alias ARN, description, and function version it is pointing to. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:GetAlias action.

" + "documentation":"

Returns details about a Lambda function alias.

" }, "GetEventSourceMapping":{ "name":"GetEventSourceMapping", @@ -163,7 +267,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns configuration information for the specified event source mapping (see CreateEventSourceMapping).

This operation requires permission for the lambda:GetEventSourceMapping action.

" + "documentation":"

Returns details about an event source mapping. You can get the identifier of a mapping from the output of ListEventSourceMappings.

" }, "GetFunction":{ "name":"GetFunction", @@ -180,7 +284,24 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the configuration information of the Lambda function and a presigned URL link to the .zip file you uploaded with CreateFunction so you can download the .zip file. Note that the URL is valid for up to 10 minutes. The configuration information is the same information you provided as parameters when uploading the function.

Using the optional Qualifier parameter, you can specify a specific function version for which you want this information. If you don't specify this parameter, the API uses unqualified function ARN which return information about the $LATEST version of the Lambda function. For more information, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunction action.

" + "documentation":"

Returns information about the function or function version, with a link to download the deployment package that's valid for 10 minutes. If you specify a function version, only details that are specific to that version are returned.

" + }, + "GetFunctionConcurrency":{ + "name":"GetFunctionConcurrency", + "http":{ + "method":"GET", + "requestUri":"/2019-09-30/functions/{FunctionName}/concurrency", + "responseCode":200 + }, + "input":{"shape":"GetFunctionConcurrencyRequest"}, + "output":{"shape":"GetFunctionConcurrencyResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Returns details about the reserved concurrency configuration for a function. To set a concurrency limit for a function, use PutFunctionConcurrency.

" }, "GetFunctionConfiguration":{ "name":"GetFunctionConfiguration", @@ -197,7 +318,75 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the configuration information of the Lambda function. This the same information you provided as parameters when uploading the function by using CreateFunction.

If you are using the versioning feature, you can retrieve this information for a specific function version by using the optional Qualifier parameter and specifying the function version or alias that points to it. If you don't provide it, the API returns information about the $LATEST version of the function. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:GetFunctionConfiguration operation.

" + "documentation":"

Returns the version-specific settings of a Lambda function or version. The output includes only options that can vary between versions of a function. To modify these settings, use UpdateFunctionConfiguration.

To get all of a function's details, including function-level settings, use GetFunction.

" + }, + "GetFunctionEventInvokeConfig":{ + "name":"GetFunctionEventInvokeConfig", + "http":{ + "method":"GET", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":200 + }, + "input":{"shape":"GetFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" + }, + "GetLayerVersion":{ + "name":"GetLayerVersion", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers/{LayerName}/versions/{VersionNumber}", + "responseCode":200 + }, + "input":{"shape":"GetLayerVersionRequest"}, + "output":{"shape":"GetLayerVersionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

" + }, + "GetLayerVersionByArn":{ + "name":"GetLayerVersionByArn", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers?find=LayerVersion", + "responseCode":200 + }, + "input":{"shape":"GetLayerVersionByArnRequest"}, + "output":{"shape":"GetLayerVersionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns information about a version of an AWS Lambda layer, with a link to download the layer archive that's valid for 10 minutes.

" + }, + "GetLayerVersionPolicy":{ + "name":"GetLayerVersionPolicy", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy", + "responseCode":200 + }, + "input":{"shape":"GetLayerVersionPolicyRequest"}, + "output":{"shape":"GetLayerVersionPolicyResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Returns the permission policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

" }, "GetPolicy":{ "name":"GetPolicy", @@ -214,7 +403,25 @@ {"shape":"TooManyRequestsException"}, {"shape":"InvalidParameterValueException"} ], - "documentation":"

Returns the resource policy associated with the specified Lambda function.

If you are using the versioning feature, you can get the resource policy associated with the specific Lambda function version or alias by specifying the version or alias name using the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

For information about adding permissions, see AddPermission.

You need permission for the lambda:GetPolicy action.

" + "documentation":"

Returns the resource-based IAM policy for a function, version, or alias.

" + }, + "GetProvisionedConcurrencyConfig":{ + "name":"GetProvisionedConcurrencyConfig", + "http":{ + "method":"GET", + "requestUri":"/2019-09-30/functions/{FunctionName}/provisioned-concurrency", + "responseCode":200 + }, + "input":{"shape":"GetProvisionedConcurrencyConfigRequest"}, + "output":{"shape":"GetProvisionedConcurrencyConfigResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"}, + {"shape":"ProvisionedConcurrencyConfigNotFoundException"} + ], + "documentation":"

Retrieves the provisioned concurrency configuration for a function's alias or version.

" }, "Invoke":{ "name":"Invoke", @@ -239,9 +446,16 @@ {"shape":"EC2AccessDeniedException"}, {"shape":"InvalidSubnetIDException"}, {"shape":"InvalidSecurityGroupIDException"}, - {"shape":"InvalidZipFileException"} + {"shape":"InvalidZipFileException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"InvalidRuntimeException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceNotReadyException"} ], - "documentation":"

Invokes a specific Lambda function.

If you are using the versioning feature, you can invoke the specific function version by providing function version or alias name that is pointing to the function version using the Qualifier parameter in the request. If you don't provide the Qualifier parameter, the $LATEST version of the Lambda function is invoked. Invocations occur at least once in response to an event and functions must be idempotent to handle this. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:InvokeFunction action.

" + "documentation":"

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. To invoke a function asynchronously, set InvocationType to Event.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Retry Behavior.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, limit errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if executing the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might be disconnected during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action.

" }, "InvokeAsync":{ "name":"InvokeAsync", @@ -255,9 +469,11 @@ "errors":[ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidRequestContentException"} + {"shape":"InvalidRequestContentException"}, + {"shape":"InvalidRuntimeException"}, + {"shape":"ResourceConflictException"} ], - "documentation":"

This API is deprecated. We recommend you use Invoke API (see Invoke).

Submits an invocation request to AWS Lambda. Upon receiving the request, Lambda executes the specified function asynchronously. To see the logs generated by the Lambda function execution, see the CloudWatch Logs console.

This operation requires permission for the lambda:InvokeFunction action.

", + "documentation":"

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

", "deprecated":true }, "ListAliases":{ @@ -275,7 +491,7 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns list of aliases created for a Lambda function. For each alias, the response includes information such as the alias ARN, description, alias name, and the function version to which it points. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:ListAliases action.

" + "documentation":"

Returns a list of aliases for a Lambda function.

" }, "ListEventSourceMappings":{ "name":"ListEventSourceMappings", @@ -292,7 +508,24 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns a list of event source mappings you created using the CreateEventSourceMapping (see CreateEventSourceMapping).

For each mapping, the API returns configuration information. You can optionally specify filters to retrieve specific event source mappings.

If you are using the versioning feature, you can get list of event source mappings for a specific Lambda function version or an alias as described in the FunctionName parameter. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:ListEventSourceMappings action.

" + "documentation":"

Lists event source mappings. Specify an EventSourceArn to only show event source mappings for a single event source.

" + }, + "ListFunctionEventInvokeConfigs":{ + "name":"ListFunctionEventInvokeConfigs", + "http":{ + "method":"GET", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config/list", + "responseCode":200 + }, + "input":{"shape":"ListFunctionEventInvokeConfigsRequest"}, + "output":{"shape":"ListFunctionEventInvokeConfigsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Retrieves a list of configurations for asynchronous invocation for a function.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" }, "ListFunctions":{ "name":"ListFunctions", @@ -305,9 +538,76 @@ "output":{"shape":"ListFunctionsResponse"}, "errors":[ {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterValueException"} + ], + "documentation":"

Returns a list of Lambda functions, with the version-specific configuration of each. Lambda returns up to 50 functions per call.

Set FunctionVersion to ALL to include all published versions of each function in addition to the unpublished version. To get more information about a function or version, use GetFunction.

" + }, + "ListLayerVersions":{ + "name":"ListLayerVersions", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers/{LayerName}/versions", + "responseCode":200 + }, + "input":{"shape":"ListLayerVersionsRequest"}, + "output":{"shape":"ListLayerVersionsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the versions of an AWS Lambda layer. Versions that have been deleted aren't listed. Specify a runtime identifier to list only versions that indicate that they're compatible with that runtime.

" + }, + "ListLayers":{ + "name":"ListLayers", + "http":{ + "method":"GET", + "requestUri":"/2018-10-31/layers", + "responseCode":200 + }, + "input":{"shape":"ListLayersRequest"}, + "output":{"shape":"ListLayersResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists AWS Lambda layers and shows information about the latest version of each. Specify a runtime identifier to list only layers that indicate that they're compatible with that runtime.

" + }, + "ListProvisionedConcurrencyConfigs":{ + "name":"ListProvisionedConcurrencyConfigs", + "http":{ + "method":"GET", + "requestUri":"/2019-09-30/functions/{FunctionName}/provisioned-concurrency?List=ALL", + "responseCode":200 + }, + "input":{"shape":"ListProvisionedConcurrencyConfigsRequest"}, + "output":{"shape":"ListProvisionedConcurrencyConfigsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Retrieves a list of provisioned concurrency configurations for a function.

" + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"GET", + "requestUri":"/2017-03-31/tags/{ARN}" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Returns a list of your Lambda functions. For each function, the response includes the function configuration information. You must use GetFunction to retrieve the code for your function.

This operation requires permission for the lambda:ListFunctions action.

If you are using versioning feature, the response returns list of $LATEST versions of your functions. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Returns a function's tags. You can also view tags with GetFunction.

" }, "ListVersionsByFunction":{ "name":"ListVersionsByFunction", @@ -324,7 +624,25 @@ {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

List all versions of a function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Returns a list of versions, with the version-specific configuration of each. Lambda returns up to 50 versions per call.

" + }, + "PublishLayerVersion":{ + "name":"PublishLayerVersion", + "http":{ + "method":"POST", + "requestUri":"/2018-10-31/layers/{LayerName}/versions", + "responseCode":201 + }, + "input":{"shape":"PublishLayerVersionRequest"}, + "output":{"shape":"PublishLayerVersionResponse"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"CodeStorageExceededException"} + ], + "documentation":"

Creates an AWS Lambda layer from a ZIP archive. Each time you call PublishLayerVersion with the same layer name, a new version is created.

Add layers to your function with CreateFunction or UpdateFunctionConfiguration.

" }, "PublishVersion":{ "name":"PublishVersion", @@ -340,102 +658,332 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} + {"shape":"CodeStorageExceededException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} ], - "documentation":"

Publishes a version of your function from the current snapshot of $LATEST. That is, AWS Lambda takes a snapshot of the function code and configuration information from $LATEST and publishes a new version. The code and configuration cannot be modified after publication. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

" + "documentation":"

Creates a version from the current code and configuration of a function. Use versions to create a snapshot of your function code and configuration that doesn't change.

AWS Lambda doesn't publish a version if the function's configuration and code haven't changed since the last version. Use UpdateFunctionCode or UpdateFunctionConfiguration to update the function before publishing a version.

Clients can invoke versions directly or with an alias. To create an alias, use CreateAlias.

" }, - "RemovePermission":{ - "name":"RemovePermission", + "PutFunctionConcurrency":{ + "name":"PutFunctionConcurrency", "http":{ - "method":"DELETE", - "requestUri":"/2015-03-31/functions/{FunctionName}/policy/{StatementId}", - "responseCode":204 + "method":"PUT", + "requestUri":"/2017-10-31/functions/{FunctionName}/concurrency", + "responseCode":200 }, - "input":{"shape":"RemovePermissionRequest"}, + "input":{"shape":"PutFunctionConcurrencyRequest"}, + "output":{"shape":"Concurrency"}, "errors":[ {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} ], - "documentation":"

You can remove individual permissions from an resource policy associated with a Lambda function by providing a statement ID that you provided when you added the permission.

If you are using versioning, the permissions you remove are specific to the Lambda function version or alias you specify in the AddPermission request via the Qualifier parameter. For more information about versioning, see AWS Lambda Function Versioning and Aliases.

Note that removal of a permission will cause an active event source to lose permission to the function.

You need permission for the lambda:RemovePermission action.

" + "documentation":"

Sets the maximum number of simultaneous executions for a function, and reserves capacity for that concurrency level.

Concurrency settings apply to the function as a whole, including all published versions and the unpublished version. Reserving concurrency both ensures that your function has capacity to process the specified number of events simultaneously, and prevents it from scaling beyond that level. Use GetFunction to see the current setting for a function.

Use GetAccountSettings to see your Regional concurrency limit. You can reserve concurrency for as many functions as you like, as long as you leave at least 100 simultaneous executions unreserved for functions that aren't configured with a per-function limit. For more information, see Managing Concurrency.

" }, - "UpdateAlias":{ - "name":"UpdateAlias", + "PutFunctionEventInvokeConfig":{ + "name":"PutFunctionEventInvokeConfig", "http":{ "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/aliases/{Name}", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", "responseCode":200 }, - "input":{"shape":"UpdateAliasRequest"}, - "output":{"shape":"AliasConfiguration"}, + "input":{"shape":"PutFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, "errors":[ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"} ], - "documentation":"

Using this API you can update the function version to which the alias points and the alias description. For more information, see Introduction to AWS Lambda Aliases.

This requires permission for the lambda:UpdateAlias action.

" + "documentation":"

Configures options for asynchronous invocation on a function, version, or alias. If a configuration already exists for a function, version, or alias, this operation overwrites it. If you exclude any settings, they are removed. To set one option without affecting existing settings for other options, use PutFunctionEventInvokeConfig.

By default, Lambda retries an asynchronous invocation twice if the function returns an error. It retains events in a queue for up to six hours. When an event fails all processing attempts or stays in the asynchronous invocation queue for too long, Lambda discards it. To retain discarded events, configure a dead-letter queue with UpdateFunctionConfiguration.

To send an invocation record to a queue, topic, function, or event bus, specify a destination. You can configure separate destinations for successful invocations (on-success) and events that fail all processing attempts (on-failure). You can configure destinations in addition to or instead of a dead-letter queue.

" }, - "UpdateEventSourceMapping":{ - "name":"UpdateEventSourceMapping", + "PutProvisionedConcurrencyConfig":{ + "name":"PutProvisionedConcurrencyConfig", "http":{ "method":"PUT", - "requestUri":"/2015-03-31/event-source-mappings/{UUID}", + "requestUri":"/2019-09-30/functions/{FunctionName}/provisioned-concurrency", "responseCode":202 }, - "input":{"shape":"UpdateEventSourceMappingRequest"}, - "output":{"shape":"EventSourceMappingConfiguration"}, + "input":{"shape":"PutProvisionedConcurrencyConfigRequest"}, + "output":{"shape":"PutProvisionedConcurrencyConfigResponse"}, "errors":[ - {"shape":"ServiceException"}, - {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceConflictException"}, {"shape":"TooManyRequestsException"}, - {"shape":"ResourceConflictException"} + {"shape":"ServiceException"} ], - "documentation":"

You can update an event source mapping. This is useful if you want to change the parameters of the existing mapping without losing your position in the stream. You can change which function will receive the stream records, but to change the stream itself, you must create a new mapping.

If you are using the versioning feature, you can update the event source mapping to map to a specific Lambda function version or alias as described in the FunctionName parameter. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

If you disable the event source mapping, AWS Lambda stops polling. If you enable again, it will resume polling from the time it had stopped polling, so you don't lose processing of any records. However, if you delete event source mapping and create it again, it will reset.

This operation requires permission for the lambda:UpdateEventSourceMapping action.

" + "documentation":"

Adds a provisioned concurrency configuration to a function's alias or version.

" }, - "UpdateFunctionCode":{ - "name":"UpdateFunctionCode", + "RemoveLayerVersionPermission":{ + "name":"RemoveLayerVersionPermission", "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/code", - "responseCode":200 + "method":"DELETE", + "requestUri":"/2018-10-31/layers/{LayerName}/versions/{VersionNumber}/policy/{StatementId}", + "responseCode":204 }, - "input":{"shape":"UpdateFunctionCodeRequest"}, - "output":{"shape":"FunctionConfiguration"}, + "input":{"shape":"RemoveLayerVersionPermissionRequest"}, "errors":[ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, {"shape":"TooManyRequestsException"}, - {"shape":"CodeStorageExceededException"} + {"shape":"PreconditionFailedException"} ], - "documentation":"

Updates the code for the specified Lambda function. This operation must only be used on an existing Lambda function and cannot be used to update the function configuration.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionCode action.

" + "documentation":"

Removes a statement from the permissions policy for a version of an AWS Lambda layer. For more information, see AddLayerVersionPermission.

" }, - "UpdateFunctionConfiguration":{ - "name":"UpdateFunctionConfiguration", + "RemovePermission":{ + "name":"RemovePermission", "http":{ - "method":"PUT", - "requestUri":"/2015-03-31/functions/{FunctionName}/configuration", - "responseCode":200 + "method":"DELETE", + "requestUri":"/2015-03-31/functions/{FunctionName}/policy/{StatementId}", + "responseCode":204 }, - "input":{"shape":"UpdateFunctionConfigurationRequest"}, - "output":{"shape":"FunctionConfiguration"}, + "input":{"shape":"RemovePermissionRequest"}, "errors":[ {"shape":"ServiceException"}, {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValueException"}, - {"shape":"TooManyRequestsException"} + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"} ], - "documentation":"

Updates the configuration parameters for the specified Lambda function by using the values provided in the request. You provide only the parameters you want to change. This operation must only be used on an existing Lambda function and cannot be used to update the function's code.

If you are using the versioning feature, note this API will always update the $LATEST version of your Lambda function. For information about the versioning feature, see AWS Lambda Function Versioning and Aliases.

This operation requires permission for the lambda:UpdateFunctionConfiguration action.

" + "documentation":"

Revokes function-use permission from an AWS service or another account. You can get the ID of the statement from the output of GetPolicy.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/2017-03-31/tags/{ARN}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Adds tags to a function.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/2017-03-31/tags/{ARN}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Removes tags from a function.

" + }, + "UpdateAlias":{ + "name":"UpdateAlias", + "http":{ + "method":"PUT", + "requestUri":"/2015-03-31/functions/{FunctionName}/aliases/{Name}", + "responseCode":200 + }, + "input":{"shape":"UpdateAliasRequest"}, + "output":{"shape":"AliasConfiguration"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Updates the configuration of a Lambda function alias.

" + }, + "UpdateEventSourceMapping":{ + "name":"UpdateEventSourceMapping", + "http":{ + "method":"PUT", + "requestUri":"/2015-03-31/event-source-mappings/{UUID}", + "responseCode":202 + }, + "input":{"shape":"UpdateEventSourceMappingRequest"}, + "output":{"shape":"EventSourceMappingConfiguration"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates an event source mapping. You can change the function that AWS Lambda invokes, or pause invocation and resume later from the same location.

The following error handling options are only available for stream sources (DynamoDB and Kinesis):

  • BisectBatchOnFunctionError - If the function returns an error, split the batch in two and retry.

  • DestinationConfig - Send discarded records to an Amazon SQS queue or Amazon SNS topic.

  • MaximumRecordAgeInSeconds - Discard records older than the specified age.

  • MaximumRetryAttempts - Discard records after the specified number of retries.

  • ParallelizationFactor - Process multiple batches from each shard concurrently.

" + }, + "UpdateFunctionCode":{ + "name":"UpdateFunctionCode", + "http":{ + "method":"PUT", + "requestUri":"/2015-03-31/functions/{FunctionName}/code", + "responseCode":200 + }, + "input":{"shape":"UpdateFunctionCodeRequest"}, + "output":{"shape":"FunctionConfiguration"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"CodeStorageExceededException"}, + {"shape":"PreconditionFailedException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

Updates a Lambda function's code.

The function's code is locked when you publish a version. You can't modify the code of a published version, only the unpublished version.

" + }, + "UpdateFunctionConfiguration":{ + "name":"UpdateFunctionConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/2015-03-31/functions/{FunctionName}/configuration", + "responseCode":200 + }, + "input":{"shape":"UpdateFunctionConfigurationRequest"}, + "output":{"shape":"FunctionConfiguration"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceConflictException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Modify the version-specific settings of a Lambda function.

When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can't modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Function States.

These settings can vary between versions of a function and are locked when you publish a version. You can't modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an account or AWS service, use AddPermission.

" + }, + "UpdateFunctionEventInvokeConfig":{ + "name":"UpdateFunctionEventInvokeConfig", + "http":{ + "method":"POST", + "requestUri":"/2019-09-25/functions/{FunctionName}/event-invoke-config", + "responseCode":200 + }, + "input":{"shape":"UpdateFunctionEventInvokeConfigRequest"}, + "output":{"shape":"FunctionEventInvokeConfig"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Updates the configuration for asynchronous invocation for a function, version, or alias.

To configure options for asynchronous invocation, use PutFunctionEventInvokeConfig.

" } }, "shapes":{ + "AccountLimit":{ + "type":"structure", + "members":{ + "TotalCodeSize":{ + "shape":"Long", + "documentation":"

The amount of storage space that you can use for all deployment packages and layer archives.

" + }, + "CodeSizeUnzipped":{ + "shape":"Long", + "documentation":"

The maximum size of a function's deployment package and layers when they're extracted.

" + }, + "CodeSizeZipped":{ + "shape":"Long", + "documentation":"

The maximum size of a deployment package when it's uploaded directly to AWS Lambda. Use Amazon S3 for larger files.

" + }, + "ConcurrentExecutions":{ + "shape":"Integer", + "documentation":"

The maximum number of simultaneous function executions.

" + }, + "UnreservedConcurrentExecutions":{ + "shape":"UnreservedConcurrentExecutions", + "documentation":"

The maximum number of simultaneous function executions, minus the capacity that's reserved for individual functions with PutFunctionConcurrency.

" + } + }, + "documentation":"

Limits that are related to concurrency and storage. All file and storage sizes are in bytes.

" + }, + "AccountUsage":{ + "type":"structure", + "members":{ + "TotalCodeSize":{ + "shape":"Long", + "documentation":"

The amount of storage space, in bytes, that's being used by deployment packages and layer archives.

" + }, + "FunctionCount":{ + "shape":"Long", + "documentation":"

The number of Lambda functions.

" + } + }, + "documentation":"

The number of functions and amount of storage in use.

" + }, "Action":{ "type":"string", "pattern":"(lambda:[*]|lambda:[a-zA-Z]+|[*])" }, + "AddLayerVersionPermissionRequest":{ + "type":"structure", + "required":[ + "LayerName", + "VersionNumber", + "StatementId", + "Action", + "Principal" + ], + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "VersionNumber":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

", + "location":"uri", + "locationName":"VersionNumber" + }, + "StatementId":{ + "shape":"StatementId", + "documentation":"

An identifier that distinguishes the policy from others on the same layer version.

" + }, + "Action":{ + "shape":"LayerPermissionAllowedAction", + "documentation":"

The API action that grants access to the layer. For example, lambda:GetLayerVersion.

" + }, + "Principal":{ + "shape":"LayerPermissionAllowedPrincipal", + "documentation":"

An account ID, or * to grant permission to all AWS accounts.

" + }, + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

With the principal set to *, grant permission to all accounts in the specified organization.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a policy that has changed since you last read it.

", + "location":"querystring", + "locationName":"RevisionId" + } + } + }, + "AddLayerVersionPermissionResponse":{ + "type":"structure", + "members":{ + "Statement":{ + "shape":"String", + "documentation":"

The permission statement.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

A unique identifier for the current revision of the policy.

" + } + } + }, "AddPermissionRequest":{ "type":"structure", "required":[ @@ -447,52 +995,65 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Name of the Lambda function whose resource policy you are updating by adding a new permission.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "StatementId":{ "shape":"StatementId", - "documentation":"

A unique statement identifier.

" + "documentation":"

A statement identifier that differentiates the statement from others in the same policy.

" }, "Action":{ "shape":"Action", - "documentation":"

The AWS Lambda action you want to allow in this statement. Each Lambda action is a string starting with lambda: followed by the API name . For example, lambda:CreateFunction. You can use wildcard (lambda:*) to grant permission for all AWS Lambda actions.

" + "documentation":"

The action that the principal can use on the function. For example, lambda:InvokeFunction or lambda:GetFunction.

" }, "Principal":{ "shape":"Principal", - "documentation":"

The principal who is getting this permission. It can be Amazon S3 service Principal (s3.amazonaws.com) if you want Amazon S3 to invoke the function, an AWS account ID if you are granting cross-account permission, or any valid AWS service principal such as sns.amazonaws.com. For example, you might want to allow a custom application in another AWS account to push events to AWS Lambda by invoking your function.

" + "documentation":"

The AWS service or account that invokes the function. If you specify a service, use SourceArn or SourceAccount to limit who can invoke the function through that service.

" }, "SourceArn":{ "shape":"Arn", - "documentation":"

This is optional; however, when granting Amazon S3 permission to invoke your function, you should specify this field with the Amazon Resource Name (ARN) as its value. This ensures that only events generated from the specified source can invoke the function.

If you add a permission for the Amazon S3 principal without providing the source ARN, any AWS account that creates a mapping to your function ARN can send events to invoke your Lambda function from Amazon S3.

" + "documentation":"

For AWS services, the ARN of the AWS resource that invokes the function. For example, an Amazon S3 bucket or Amazon SNS topic.

" }, "SourceAccount":{ "shape":"SourceOwner", - "documentation":"

This parameter is used for S3 and SES only. The AWS account ID (without a hyphen) of the source owner. For example, if the SourceArn identifies a bucket, then this is the bucket owner's account ID. You can use this additional condition to ensure the bucket you specify is owned by a specific account (it is possible the bucket owner deleted the bucket and some other AWS account created the bucket). You can also use this condition to specify all sources (that is, you don't specify the SourceArn) owned by a specific account.

" + "documentation":"

For Amazon S3, the ID of the account that owns the resource. Use this together with SourceArn to ensure that the resource is owned by the specified account. It is possible for an Amazon S3 bucket to be deleted by its owner and recreated by another account.

" }, "EventSourceToken":{ "shape":"EventSourceToken", - "documentation":"

A unique token that must be supplied by the principal invoking the function. This is currently only used for Alexa Smart Home functions.

" + "documentation":"

For Alexa Smart Home functions, a token that must be supplied by the invoker.

" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

You can use this optional query parameter to describe a qualified ARN using a function version or an alias name. The permission will then apply to the specific qualified ARN. For example, if you specify function version 2 as the qualifier, then permission applies only when request is made using qualified function ARN:

arn:aws:lambda:aws-region:acct-id:function:function-name:2

If you specify an alias name, for example PROD, then the permission is valid only for requests made using the alias ARN:

arn:aws:lambda:aws-region:acct-id:function:function-name:PROD

If the qualifier is not specified, the permission is valid only when requests is made using unqualified function ARN.

arn:aws:lambda:aws-region:acct-id:function:function-name

", + "documentation":"

Specify a version or alias to add permissions to a published version of the function.

", "location":"querystring", "locationName":"Qualifier" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

" } - }, - "documentation":"

" + } }, "AddPermissionResponse":{ "type":"structure", "members":{ "Statement":{ "shape":"String", - "documentation":"

The permission statement you specified in the request. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" + "documentation":"

The permission statement that's added to the function policy.

" } - }, - "documentation":"

" + } + }, + "AdditionalVersion":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[0-9]+" + }, + "AdditionalVersionWeights":{ + "type":"map", + "key":{"shape":"AdditionalVersion"}, + "value":{"shape":"Weight"} }, "Alias":{ "type":"string", @@ -505,37 +1066,59 @@ "members":{ "AliasArn":{ "shape":"FunctionArn", - "documentation":"

Lambda function ARN that is qualified using the alias name as the suffix. For example, if you create an alias called BETA that points to a helloworld function version, the ARN is arn:aws:lambda:aws-regions:acct-id:function:helloworld:BETA.

" + "documentation":"

The Amazon Resource Name (ARN) of the alias.

" }, "Name":{ "shape":"Alias", - "documentation":"

Alias name.

" + "documentation":"

The name of the alias.

" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Function version to which the alias points.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

Alias description.

" + "documentation":"

A description of the alias.

" + }, + "RoutingConfig":{ + "shape":"AliasRoutingConfiguration", + "documentation":"

The routing configuration of the alias.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

A unique identifier that changes when you update the alias.

" } }, - "documentation":"

Provides configuration information about a Lambda function version alias.

" + "documentation":"

Provides configuration information about a Lambda function alias.

" }, "AliasList":{ "type":"list", "member":{"shape":"AliasConfiguration"} }, + "AliasRoutingConfiguration":{ + "type":"structure", + "members":{ + "AdditionalVersionWeights":{ + "shape":"AdditionalVersionWeights", + "documentation":"

The name of the second alias, and the percentage of traffic that's routed to it.

" + } + }, + "documentation":"

The traffic-shifting configuration of a Lambda function alias.

" + }, "Arn":{ "type":"string", - "pattern":"arn:aws:([a-zA-Z0-9\\-])+:([a-z]{2}-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" + "pattern":"arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" }, "BatchSize":{ "type":"integer", "max":10000, "min":1 }, - "Blob":{"type":"blob"}, + "BisectBatchOnFunctionError":{"type":"boolean"}, + "Blob":{ + "type":"blob", + "sensitive":true + }, "BlobStream":{ "type":"blob", "streaming":true @@ -546,14 +1129,28 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception type.

" }, "message":{"shape":"String"} }, - "documentation":"

You have exceeded your maximum total code size per account. Limits

", + "documentation":"

You have exceeded your maximum total code size per account. Learn more

", "error":{"httpStatusCode":400}, "exception":true }, + "CompatibleRuntimes":{ + "type":"list", + "member":{"shape":"Runtime"}, + "max":5 + }, + "Concurrency":{ + "type":"structure", + "members":{ + "ReservedConcurrentExecutions":{ + "shape":"ReservedConcurrentExecutions", + "documentation":"

The number of concurrent executions that are reserved for this function. For more information, see Managing Concurrency.

" + } + } + }, "CreateAliasRequest":{ "type":"structure", "required":[ @@ -564,21 +1161,25 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Name of the Lambda function for which you want to create an alias.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name for the alias you are creating.

" + "documentation":"

The name of the alias.

" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Lambda function version for which you are creating the alias.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

Description of the alias.

" + "documentation":"

A description of the alias.

" + }, + "RoutingConfig":{ + "shape":"AliasRoutingConfiguration", + "documentation":"

The routing configuration of the alias.

" } } }, @@ -586,32 +1187,58 @@ "type":"structure", "required":[ "EventSourceArn", - "FunctionName", - "StartingPosition" + "FunctionName" ], "members":{ "EventSourceArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis or the Amazon DynamoDB stream that is the event source. Any record added to this stream could cause AWS Lambda to invoke your Lambda function, it depends on the BatchSize. AWS Lambda POSTs the Amazon Kinesis event, containing records, to your Lambda function as JSON.

" + "documentation":"

The Amazon Resource Name (ARN) of the event source.

  • Amazon Kinesis - The ARN of the data stream or a stream consumer.

  • Amazon DynamoDB Streams - The ARN of the stream.

  • Amazon Simple Queue Service - The ARN of the queue.

" }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail).

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail).

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

" + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

" }, "Enabled":{ "shape":"Enabled", - "documentation":"

Indicates whether AWS Lambda should begin polling the event source. By default, Enabled is true.

" + "documentation":"

Disables the event source mapping to pause polling and invocation.

" }, "BatchSize":{ "shape":"BatchSize", - "documentation":"

The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records. The default is 100 records.

" + "documentation":"

The maximum number of items to retrieve in a single batch.

  • Amazon Kinesis - Default 100. Max 10,000.

  • Amazon DynamoDB Streams - Default 100. Max 1,000.

  • Amazon Simple Queue Service - Default 10. Max 10.

" + }, + "MaximumBatchingWindowInSeconds":{ + "shape":"MaximumBatchingWindowInSeconds", + "documentation":"

(Streams) The maximum amount of time to gather records before invoking the function, in seconds.

" + }, + "ParallelizationFactor":{ + "shape":"ParallelizationFactor", + "documentation":"

(Streams) The number of batches to process from each shard concurrently.

" }, "StartingPosition":{ "shape":"EventSourcePosition", - "documentation":"

The position in the stream where AWS Lambda should start reading. For more information, go to ShardIteratorType in the Amazon Kinesis API Reference.

" + "documentation":"

The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported for Amazon Kinesis streams.

" + }, + "StartingPositionTimestamp":{ + "shape":"Date", + "documentation":"

With StartingPosition set to AT_TIMESTAMP, the time from which to start reading.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

" + }, + "MaximumRecordAgeInSeconds":{ + "shape":"MaximumRecordAgeInSeconds", + "documentation":"

(Streams) The maximum age of a record that Lambda sends to a function for processing.

" + }, + "BisectBatchOnFunctionError":{ + "shape":"BisectBatchOnFunctionError", + "documentation":"

(Streams) If the function returns an error, split the batch in two and retry.

" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttemptsEventSourceMapping", + "documentation":"

(Streams) The maximum number of times to retry when the function returns an error.

" } - }, - "documentation":"

" + } }, "CreateFunctionRequest":{ "type":"structure", @@ -625,48 +1252,81 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name you want to assign to the function you are uploading. The function names appear in the console and are returned in the ListFunctions API. Function names are used to specify functions to other AWS Lambda APIs, such as Invoke.

" + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function you are uploading.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

" + "documentation":"

The identifier of the function's runtime.

" }, "Role":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources. For more information, see AWS Lambda: How it Works.

" + "documentation":"

The Amazon Resource Name (ARN) of the function's execution role.

" }, "Handler":{ "shape":"Handler", - "documentation":"

The function within your code that Lambda calls to begin execution. For Node.js, it is the module-name.export value in your function. For Java, it can be package.class-name::handler or package.class-name. For more information, see Lambda Function Handler (Java).

" + "documentation":"

The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.

" }, "Code":{ "shape":"FunctionCode", - "documentation":"

The code for the Lambda function.

" + "documentation":"

The code for the function.

" }, "Description":{ "shape":"Description", - "documentation":"

A short, user-defined function description. Lambda does not use this value. Assign a meaningful description as you see fit.

" + "documentation":"

A description of the function.

" }, "Timeout":{ "shape":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" + "documentation":"

The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. Lambda uses this memory size to infer the amount of CPU and memory allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" + "documentation":"

The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

" }, "Publish":{ "shape":"Boolean", - "documentation":"

This boolean parameter can be used to request AWS Lambda to create the Lambda function and publish a version as an atomic operation.

" + "documentation":"

Set to true to publish the first version of the function during creation.

" }, "VpcConfig":{ "shape":"VpcConfig", - "documentation":"

If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" + "documentation":"

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" + }, + "DeadLetterConfig":{ + "shape":"DeadLetterConfig", + "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" + }, + "Environment":{ + "shape":"Environment", + "documentation":"

Environment variables that are accessible from function code during execution.

" + }, + "KMSKeyArn":{ + "shape":"KMSKeyArn", + "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

" + }, + "TracingConfig":{ + "shape":"TracingConfig", + "documentation":"

Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags to apply to the function.

" + }, + "Layers":{ + "shape":"LayerList", + "documentation":"

A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.

" } - }, - "documentation":"

" + } }, "Date":{"type":"timestamp"}, + "DeadLetterConfig":{ + "type":"structure", + "members":{ + "TargetArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + } + }, + "documentation":"

The dead-letter queue for failed asynchronous invocations.

" + }, "DeleteAliasRequest":{ "type":"structure", "required":[ @@ -676,13 +1336,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name for which the alias is created. Deleting an alias does not delete the function version to which it is pointing.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name of the alias to delete.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" } @@ -694,60 +1354,151 @@ "members":{ "UUID":{ "shape":"String", - "documentation":"

The event source mapping ID.

", + "documentation":"

The identifier of the event source mapping.

", "location":"uri", "locationName":"UUID" } - }, - "documentation":"

" + } }, - "DeleteFunctionRequest":{ + "DeleteFunctionConcurrencyRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + } + } + }, + "DeleteFunctionEventInvokeConfigRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to delete.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

Using this optional parameter you can specify a function version (but not the $LATEST version) to direct AWS Lambda to delete a specific function version. If the function version has one or more aliases pointing to it, you will get an error because you cannot have aliases pointing to it. You can delete any function version but not the $LATEST, that is, you cannot specify $LATEST as the value of this parameter. The $LATEST version can be deleted only when you want to delete all the function versions and aliases.

You can only specify a function version, not an alias name, using this parameter. You cannot delete a function version using its alias.

If you don't specify this parameter, AWS Lambda will delete the function, including all of its versions and aliases.

", + "documentation":"

A version number or alias name.

", "location":"querystring", "locationName":"Qualifier" } } }, - "Description":{ - "type":"string", - "max":256, - "min":0 - }, - "EC2AccessDeniedException":{ + "DeleteFunctionRequest":{ "type":"structure", + "required":["FunctionName"], "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

", - "error":{"httpStatusCode":502}, - "exception":true + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function or version.

Name formats

  • Function name - my-function (name-only), my-function:1 (with version).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

Specify a version to delete. You can't delete a version that's referenced by an alias.

", + "location":"querystring", + "locationName":"Qualifier" + } + } }, - "EC2ThrottledException":{ + "DeleteLayerVersionRequest":{ "type":"structure", + "required":[ + "LayerName", + "VersionNumber" + ], "members":{ - "Type":{"shape":"String"}, - "Message":{"shape":"String"} - }, - "documentation":"

AWS Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role provided for the Lambda function.

", - "error":{"httpStatusCode":502}, - "exception":true + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "VersionNumber":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

", + "location":"uri", + "locationName":"VersionNumber" + } + } }, - "EC2UnexpectedException":{ + "DeleteProvisionedConcurrencyConfigRequest":{ "type":"structure", - "members":{ - "Type":{"shape":"String"}, + "required":[ + "FunctionName", + "Qualifier" + ], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

The version number or alias name.

", + "location":"querystring", + "locationName":"Qualifier" + } + } + }, + "Description":{ + "type":"string", + "max":256, + "min":0 + }, + "DestinationArn":{ + "type":"string", + "max":350, + "min":0, + "pattern":"^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]{2}(-gov)?-[a-z]+-\\d{1})?:(\\d{12})?:(.*)" + }, + "DestinationConfig":{ + "type":"structure", + "members":{ + "OnSuccess":{ + "shape":"OnSuccess", + "documentation":"

The destination configuration for successful invocations.

" + }, + "OnFailure":{ + "shape":"OnFailure", + "documentation":"

The destination configuration for failed invocations.

" + } + }, + "documentation":"

A configuration object that specifies the destination of an event after Lambda processes it.

" + }, + "EC2AccessDeniedException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

Need additional permissions to configure VPC settings.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "EC2ThrottledException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

AWS Lambda was throttled by Amazon EC2 during Lambda function initialization using the execution role provided for the Lambda function.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "EC2UnexpectedException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, "Message":{"shape":"String"}, "EC2ErrorCode":{"shape":"String"} }, @@ -761,33 +1512,94 @@ "Type":{"shape":"String"}, "Message":{"shape":"String"} }, - "documentation":"

AWS Lambda was not able to create an Elastic Network Interface (ENI) in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached.

", + "documentation":"

AWS Lambda was not able to create an elastic network interface in the VPC, specified as part of Lambda function configuration, because the limit for network interfaces has been reached.

", "error":{"httpStatusCode":502}, "exception":true }, "Enabled":{"type":"boolean"}, + "Environment":{ + "type":"structure", + "members":{ + "Variables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment variable key-value pairs.

" + } + }, + "documentation":"

A function's environment variable settings.

" + }, + "EnvironmentError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"String", + "documentation":"

The error code.

" + }, + "Message":{ + "shape":"SensitiveString", + "documentation":"

The error message.

" + } + }, + "documentation":"

Error messages for environment variables that couldn't be applied.

" + }, + "EnvironmentResponse":{ + "type":"structure", + "members":{ + "Variables":{ + "shape":"EnvironmentVariables", + "documentation":"

Environment variable key-value pairs.

" + }, + "Error":{ + "shape":"EnvironmentError", + "documentation":"

Error messages for environment variables that couldn't be applied.

" + } + }, + "documentation":"

The results of an operation to update or read environment variables. If the operation is successful, the response contains the environment variables. If it failed, the response contains details about the error.

" + }, + "EnvironmentVariableName":{ + "type":"string", + "pattern":"[a-zA-Z]([a-zA-Z0-9_])+", + "sensitive":true + }, + "EnvironmentVariableValue":{ + "type":"string", + "sensitive":true + }, + "EnvironmentVariables":{ + "type":"map", + "key":{"shape":"EnvironmentVariableName"}, + "value":{"shape":"EnvironmentVariableValue"}, + "sensitive":true + }, "EventSourceMappingConfiguration":{ "type":"structure", "members":{ "UUID":{ "shape":"String", - "documentation":"

The AWS Lambda assigned opaque identifier for the mapping.

" + "documentation":"

The identifier of the event source mapping.

" }, "BatchSize":{ "shape":"BatchSize", - "documentation":"

The largest number of records that AWS Lambda will retrieve from your event source at the time of invoking your function. Your function receives an event with all the retrieved records.

" + "documentation":"

The maximum number of items to retrieve in a single batch.

" + }, + "MaximumBatchingWindowInSeconds":{ + "shape":"MaximumBatchingWindowInSeconds", + "documentation":"

(Streams) The maximum amount of time to gather records before invoking the function, in seconds.

" + }, + "ParallelizationFactor":{ + "shape":"ParallelizationFactor", + "documentation":"

(Streams) The number of batches to process from each shard concurrently.

" }, "EventSourceArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis stream that is the source of events.

" + "documentation":"

The Amazon Resource Name (ARN) of the event source.

" }, "FunctionArn":{ "shape":"FunctionArn", - "documentation":"

The Lambda function to invoke when AWS Lambda detects an event on the stream.

" + "documentation":"

The ARN of the Lambda function.

" }, "LastModified":{ "shape":"Date", - "documentation":"

The UTC time string indicating the last time the event mapping was updated.

" + "documentation":"

The date that the event source mapping was last updated, or its state changed.

" }, "LastProcessingResult":{ "shape":"String", @@ -795,14 +1607,30 @@ }, "State":{ "shape":"String", - "documentation":"

The state of the event source mapping. It can be Creating, Enabled, Disabled, Enabling, Disabling, Updating, or Deleting.

" + "documentation":"

The state of the event source mapping. It can be one of the following: Creating, Enabling, Enabled, Disabling, Disabled, Updating, or Deleting.

" }, "StateTransitionReason":{ "shape":"String", - "documentation":"

The reason the event source mapping is in its current state. It is either user-requested or an AWS Lambda-initiated state transition.

" + "documentation":"

Indicates whether the last change to the event source mapping was made by a user, or by the Lambda service.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

" + }, + "MaximumRecordAgeInSeconds":{ + "shape":"MaximumRecordAgeInSeconds", + "documentation":"

(Streams) The maximum age of a record that Lambda sends to a function for processing.

" + }, + "BisectBatchOnFunctionError":{ + "shape":"BisectBatchOnFunctionError", + "documentation":"

(Streams) If the function returns an error, split the batch in two and retry.

" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttemptsEventSourceMapping", + "documentation":"

(Streams) The maximum number of times to retry when the function returns an error.

" } }, - "documentation":"

Describes mapping between an Amazon Kinesis stream and a Lambda function.

" + "documentation":"

A mapping between an AWS resource and an AWS Lambda function. See CreateEventSourceMapping for details.

" }, "EventSourceMappingsList":{ "type":"list", @@ -812,7 +1640,8 @@ "type":"string", "enum":[ "TRIM_HORIZON", - "LATEST" + "LATEST", + "AT_TIMESTAMP" ] }, "EventSourceToken":{ @@ -823,90 +1652,90 @@ }, "FunctionArn":{ "type":"string", - "pattern":"arn:aws:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" }, "FunctionCode":{ "type":"structure", "members":{ "ZipFile":{ "shape":"Blob", - "documentation":"

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, go to Execution Permissions in the AWS Lambda Developer Guide.

" + "documentation":"

The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" }, "S3Bucket":{ "shape":"S3Bucket", - "documentation":"

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.

" + "documentation":"

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

" }, "S3Key":{ "shape":"S3Key", - "documentation":"

The Amazon S3 object (the deployment package) key name you want to upload.

" + "documentation":"

The Amazon S3 key of the deployment package.

" }, "S3ObjectVersion":{ "shape":"S3ObjectVersion", - "documentation":"

The Amazon S3 object (the deployment package) version you want to upload.

" + "documentation":"

For versioned objects, the version of the deployment package object to use.

" } }, - "documentation":"

The code for the Lambda function.

" + "documentation":"

The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

" }, "FunctionCodeLocation":{ "type":"structure", "members":{ "RepositoryType":{ "shape":"String", - "documentation":"

The repository from which you can download the function.

" + "documentation":"

The service that's hosting the file.

" }, "Location":{ "shape":"String", - "documentation":"

The presigned URL you can use to download the function's .zip file that you previously uploaded. The URL is valid for up to 10 minutes.

" + "documentation":"

A presigned URL that you can use to download the deployment package.

" } }, - "documentation":"

The object for the Lambda function location.

" + "documentation":"

Details about a function's deployment package.

" }, "FunctionConfiguration":{ "type":"structure", "members":{ "FunctionName":{ - "shape":"FunctionName", + "shape":"NamespacedFunctionName", "documentation":"

The name of the function.

" }, "FunctionArn":{ - "shape":"FunctionArn", - "documentation":"

The Amazon Resource Name (ARN) assigned to the function.

" + "shape":"NameSpacedFunctionArn", + "documentation":"

The function's Amazon Resource Name (ARN).

" }, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

" + "documentation":"

The runtime environment for the Lambda function.

" }, "Role":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda assumes when it executes your function to access any other Amazon Web Services (AWS) resources.

" + "documentation":"

The function's execution role.

" }, "Handler":{ "shape":"Handler", - "documentation":"

The function Lambda calls to begin executing your function.

" + "documentation":"

The function that Lambda calls to begin executing your function.

" }, "CodeSize":{ "shape":"Long", - "documentation":"

The size, in bytes, of the function .zip file you uploaded.

" + "documentation":"

The size of the function's deployment package, in bytes.

" }, "Description":{ "shape":"Description", - "documentation":"

The user-provided description.

" + "documentation":"

The function's description.

" }, "Timeout":{ "shape":"Timeout", - "documentation":"

The function execution time at which Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" + "documentation":"

The amount of time in seconds that Lambda allows a function to run before stopping it.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The memory size, in MB, you configured for the function. Must be a multiple of 64 MB.

" + "documentation":"

The memory that's allocated to the function.

" }, "LastModified":{ "shape":"Timestamp", - "documentation":"

The time stamp of the last time you updated the function.

" + "documentation":"

The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" }, "CodeSha256":{ "shape":"String", - "documentation":"

It is the SHA256 hash of your function deployment package.

" + "documentation":"

The SHA256 hash of the function's deployment package.

" }, "Version":{ "shape":"Version", @@ -914,10 +1743,91 @@ }, "VpcConfig":{ "shape":"VpcConfigResponse", - "documentation":"

VPC configuration associated with your Lambda function.

" + "documentation":"

The function's networking configuration.

" + }, + "DeadLetterConfig":{ + "shape":"DeadLetterConfig", + "documentation":"

The function's dead letter queue.

" + }, + "Environment":{ + "shape":"EnvironmentResponse", + "documentation":"

The function's environment variables.

" + }, + "KMSKeyArn":{ + "shape":"KMSKeyArn", + "documentation":"

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

" + }, + "TracingConfig":{ + "shape":"TracingConfigResponse", + "documentation":"

The function's AWS X-Ray tracing configuration.

" + }, + "MasterArn":{ + "shape":"FunctionArn", + "documentation":"

For Lambda@Edge functions, the ARN of the master function.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

The latest updated revision of the function or alias.

" + }, + "Layers":{ + "shape":"LayersReferenceList", + "documentation":"

The function's layers.

" + }, + "State":{ + "shape":"State", + "documentation":"

The current state of the function. When the state is Inactive, you can reactivate the function by invoking it.

" + }, + "StateReason":{ + "shape":"StateReason", + "documentation":"

The reason for the function's current state.

" + }, + "StateReasonCode":{ + "shape":"StateReasonCode", + "documentation":"

The reason code for the function's current state. When the code is Creating, you can't invoke or modify the function.

" + }, + "LastUpdateStatus":{ + "shape":"LastUpdateStatus", + "documentation":"

The status of the last update that was performed on the function. This is first set to Successful after function creation completes.

" + }, + "LastUpdateStatusReason":{ + "shape":"LastUpdateStatusReason", + "documentation":"

The reason for the last update that was performed on the function.

" + }, + "LastUpdateStatusReasonCode":{ + "shape":"LastUpdateStatusReasonCode", + "documentation":"

The reason code for the last update that was performed on the function.

" } }, - "documentation":"

A complex type that describes function metadata.

" + "documentation":"

Details about a function's configuration.

" + }, + "FunctionEventInvokeConfig":{ + "type":"structure", + "members":{ + "LastModified":{ + "shape":"Date", + "documentation":"

The date and time that the configuration was last updated.

" + }, + "FunctionArn":{ + "shape":"FunctionArn", + "documentation":"

The Amazon Resource Name (ARN) of the function.

" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttempts", + "documentation":"

The maximum number of times to retry when the function returns an error.

" + }, + "MaximumEventAgeInSeconds":{ + "shape":"MaximumEventAgeInSeconds", + "documentation":"

The maximum age of a request that Lambda sends to a function for processing.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

A destination for events after they have been sent to a function for processing.

Destinations

  • Function - The Amazon Resource Name (ARN) of a Lambda function.

  • Queue - The ARN of an SQS queue.

  • Topic - The ARN of an SNS topic.

  • Event Bus - The ARN of an Amazon EventBridge event bus.

" + } + } + }, + "FunctionEventInvokeConfigList":{ + "type":"list", + "member":{"shape":"FunctionEventInvokeConfig"} }, "FunctionList":{ "type":"list", @@ -927,7 +1837,29 @@ "type":"string", "max":140, "min":1, - "pattern":"(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + }, + "FunctionVersion":{ + "type":"string", + "enum":["ALL"] + }, + "GetAccountSettingsRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAccountSettingsResponse":{ + "type":"structure", + "members":{ + "AccountLimit":{ + "shape":"AccountLimit", + "documentation":"

Limits that are related to concurrency and code storage.

" + }, + "AccountUsage":{ + "shape":"AccountUsage", + "documentation":"

The number of functions and amount of storage in use.

" + } + } }, "GetAliasRequest":{ "type":"structure", @@ -938,13 +1870,13 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Function name for which the alias is created. An alias is a subresource that exists only in the context of an existing Lambda function so you must specify the function name.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

Name of the alias for which you want to retrieve information.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" } @@ -956,87 +1888,292 @@ "members":{ "UUID":{ "shape":"String", - "documentation":"

The AWS Lambda assigned ID of the event source mapping.

", + "documentation":"

The identifier of the event source mapping.

", "location":"uri", "locationName":"UUID" } - }, - "documentation":"

" + } + }, + "GetFunctionConcurrencyRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + } + } + }, + "GetFunctionConcurrencyResponse":{ + "type":"structure", + "members":{ + "ReservedConcurrentExecutions":{ + "shape":"ReservedConcurrentExecutions", + "documentation":"

The number of simultaneous executions that are reserved for the function.

" + } + } }, "GetFunctionConfigurationRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

Specify a version or alias to get details about a published version of the function.

", + "location":"querystring", + "locationName":"Qualifier" + } + } + }, + "GetFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function for which you want to retrieve the configuration information.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

Using this optional parameter you can specify a function version or an alias name. If you specify function version, the API uses qualified function ARN and returns information about the specific function version. If you specify an alias name, the API uses the alias ARN and returns information about the function version to which the alias points.

If you don't specify this parameter, the API uses unqualified function ARN, and returns information about the $LATEST function version.

", + "documentation":"

A version number or alias name.

", "location":"querystring", "locationName":"Qualifier" } - }, - "documentation":"

" + } }, "GetFunctionRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

Using this optional parameter to specify a function version or an alias name. If you specify function version, the API uses qualified function ARN for the request and returns information about the specific Lambda function version. If you specify an alias name, the API uses the alias ARN and returns information about the function version to which the alias points. If you don't provide this parameter, the API uses unqualified function ARN and returns information about the $LATEST version of the Lambda function.

", + "documentation":"

Specify a version or alias to get details about a published version of the function.

", "location":"querystring", "locationName":"Qualifier" } - }, - "documentation":"

" + } }, "GetFunctionResponse":{ "type":"structure", "members":{ - "Configuration":{"shape":"FunctionConfiguration"}, - "Code":{"shape":"FunctionCodeLocation"} - }, - "documentation":"

This response contains the object for the Lambda function location (see .

" + "Configuration":{ + "shape":"FunctionConfiguration", + "documentation":"

The configuration of the function or version.

" + }, + "Code":{ + "shape":"FunctionCodeLocation", + "documentation":"

The deployment package of the function or version.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The function's tags.

" + }, + "Concurrency":{ + "shape":"Concurrency", + "documentation":"

The function's reserved concurrency.

" + } + } + }, + "GetLayerVersionByArnRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"LayerVersionArn", + "documentation":"

The ARN of the layer version.

", + "location":"querystring", + "locationName":"Arn" + } + } + }, + "GetLayerVersionPolicyRequest":{ + "type":"structure", + "required":[ + "LayerName", + "VersionNumber" + ], + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "VersionNumber":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

", + "location":"uri", + "locationName":"VersionNumber" + } + } + }, + "GetLayerVersionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"String", + "documentation":"

The policy document.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

A unique identifier for the current revision of the policy.

" + } + } + }, + "GetLayerVersionRequest":{ + "type":"structure", + "required":[ + "LayerName", + "VersionNumber" + ], + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "VersionNumber":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

", + "location":"uri", + "locationName":"VersionNumber" + } + } + }, + "GetLayerVersionResponse":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"LayerVersionContentOutput", + "documentation":"

Details about the layer version.

" + }, + "LayerArn":{ + "shape":"LayerArn", + "documentation":"

The ARN of the layer.

" + }, + "LayerVersionArn":{ + "shape":"LayerVersionArn", + "documentation":"

The ARN of the layer version.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the version.

" + }, + "CreatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + }, + "Version":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

" + }, + "CompatibleRuntimes":{ + "shape":"CompatibleRuntimes", + "documentation":"

The layer's compatible runtimes.

" + }, + "LicenseInfo":{ + "shape":"LicenseInfo", + "documentation":"

The layer's software license.

" + } + } }, "GetPolicyRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ - "shape":"FunctionName", - "documentation":"

Function name whose resource policy you want to retrieve.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

You can specify this optional query parameter to specify a function version or an alias name in which case this API will return all permissions associated with the specific qualified ARN. If you don't provide this parameter, the API will return permissions that apply to the unqualified function ARN.

", + "documentation":"

Specify a version or alias to get the policy for that resource.

", "location":"querystring", "locationName":"Qualifier" } - }, - "documentation":"

" + } }, "GetPolicyResponse":{ "type":"structure", "members":{ "Policy":{ "shape":"String", - "documentation":"

The resource policy associated with the specified function. The response returns the same as a string using a backslash (\"\\\") as an escape character in the JSON.

" + "documentation":"

The resource-based policy.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

A unique identifier for the current revision of the policy.

" } - }, - "documentation":"

" + } + }, + "GetProvisionedConcurrencyConfigRequest":{ + "type":"structure", + "required":[ + "FunctionName", + "Qualifier" + ], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

The version number or alias name.

", + "location":"querystring", + "locationName":"Qualifier" + } + } + }, + "GetProvisionedConcurrencyConfigResponse":{ + "type":"structure", + "members":{ + "RequestedProvisionedConcurrentExecutions":{ + "shape":"PositiveInteger", + "documentation":"

The amount of provisioned concurrency requested.

" + }, + "AvailableProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency available.

" + }, + "AllocatedProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency allocated.

" + }, + "Status":{ + "shape":"ProvisionedConcurrencyStatusEnum", + "documentation":"

The status of the allocation process.

" + }, + "StatusReason":{ + "shape":"String", + "documentation":"

For failed allocations, the reason that provisioned concurrency could not be allocated.

" + }, + "LastModified":{ + "shape":"Timestamp", + "documentation":"

The date and time that a user last updated the configuration, in ISO 8601 format.

" + } + } }, "Handler":{ "type":"string", @@ -1050,14 +2187,14 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception type.

" }, "message":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception message.

" } }, - "documentation":"

One of the parameters in the request is invalid. For example, if you provided an IAM role for AWS Lambda to assume in the CreateFunction or the UpdateFunctionConfiguration API, that AWS Lambda is unable to assume you will get this exception.

", + "documentation":"

One of the parameters in the request is invalid.

", "error":{"httpStatusCode":400}, "exception":true }, @@ -1066,24 +2203,34 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception type.

" }, "message":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception message.

" } }, "documentation":"

The request body could not be parsed as JSON.

", "error":{"httpStatusCode":400}, "exception":true }, - "InvalidSecurityGroupIDException":{ + "InvalidRuntimeException":{ "type":"structure", "members":{ "Type":{"shape":"String"}, "Message":{"shape":"String"} }, - "documentation":"

The Security Group ID provided in the Lambda function VPC configuration is invalid.

", + "documentation":"

The runtime or runtime version specified is not supported.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "InvalidSecurityGroupIDException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

The Security Group ID provided in the Lambda function VPC configuration is invalid.

", "error":{"httpStatusCode":502}, "exception":true }, @@ -1103,7 +2250,7 @@ "Type":{"shape":"String"}, "Message":{"shape":"String"} }, - "documentation":"

AWS Lambda could not unzip the function zip file.

", + "documentation":"

AWS Lambda could not unzip the deployment package.

", "error":{"httpStatusCode":502}, "exception":true }, @@ -1112,41 +2259,40 @@ "required":["FunctionName"], "members":{ "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function name.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "InvocationType":{ "shape":"InvocationType", - "documentation":"

By default, the Invoke API assumes RequestResponse invocation type. You can optionally request asynchronous execution by specifying Event as the InvocationType. You can also use this parameter to request AWS Lambda to not execute the function but do some verification, such as if the caller is authorized to invoke the function and if the inputs are valid. You request this by specifying DryRun as the InvocationType. This is useful in a cross-account scenario when you want to verify access to a function without running it.

", + "documentation":"

Choose from the following options.

  • RequestResponse (default) - Invoke the function synchronously. Keep the connection open until the function returns a response or times out. The API response includes the function response and additional data.

  • Event - Invoke the function asynchronously. Send events that fail multiple times to the function's dead-letter queue (if it's configured). The API response only includes a status code.

  • DryRun - Validate parameter values and verify that the user or role has permission to invoke the function.

", "location":"header", "locationName":"X-Amz-Invocation-Type" }, "LogType":{ "shape":"LogType", - "documentation":"

You can set this optional parameter to Tail in the request only if you specify the InvocationType parameter with value RequestResponse. In this case, AWS Lambda returns the base64-encoded last 4 KB of log data produced by your Lambda function in the x-amz-log-result header.

", + "documentation":"

Set to Tail to include the execution log in the response.

", "location":"header", "locationName":"X-Amz-Log-Type" }, "ClientContext":{ "shape":"String", - "documentation":"

Using the ClientContext you can pass client-specific information to the Lambda function you are invoking. You can then process the client information in your Lambda function as you choose through the context variable. For an example of a ClientContext JSON, see PutEvents in the Amazon Mobile Analytics API Reference and User Guide.

The ClientContext JSON must be base64-encoded.

", + "documentation":"

Up to 3583 bytes of base64-encoded data about the invoking client to pass to the function in the context object.

", "location":"header", "locationName":"X-Amz-Client-Context" }, "Payload":{ "shape":"Blob", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" + "documentation":"

The JSON that you want to provide to your Lambda function as input.

" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

You can use this optional parameter to specify a Lambda function version or alias name. If you specify a function version, the API uses the qualified function ARN to invoke a specific Lambda function. If you specify an alias name, the API uses the alias ARN to invoke the Lambda function version to which the alias points.

If you don't provide this parameter, then the API uses unqualified function ARN which results in invocation of the $LATEST version.

", + "documentation":"

Specify a version or alias to invoke a published version of the function.

", "location":"querystring", "locationName":"Qualifier" } }, - "documentation":"

", "payload":"Payload" }, "InvocationResponse":{ @@ -1154,27 +2300,32 @@ "members":{ "StatusCode":{ "shape":"Integer", - "documentation":"

The HTTP status code will be in the 200 range for successful request. For the RequestResonse invocation type this status code will be 200. For the Event invocation type this status code will be 202. For the DryRun invocation type the status code will be 204.

", + "documentation":"

The HTTP status code is in the 200 range for a successful request. For the RequestResponse invocation type, this status code is 200. For the Event invocation type, this status code is 202. For the DryRun invocation type, the status code is 204.

", "location":"statusCode" }, "FunctionError":{ "shape":"String", - "documentation":"

Indicates whether an error occurred while executing the Lambda function. If an error occurred this field will have one of two values; Handled or Unhandled. Handled errors are errors that are reported by the function while the Unhandled errors are those detected and reported by AWS Lambda. Unhandled errors include out of memory errors and function timeouts. For information about how to report an Handled error, see Programming Model.

", + "documentation":"

If present, indicates that an error occurred during function execution. Details about the error are included in the response payload.

", "location":"header", "locationName":"X-Amz-Function-Error" }, "LogResult":{ "shape":"String", - "documentation":"

It is the base64-encoded logs for the Lambda function invocation. This is present only if the invocation type is RequestResponse and the logs were requested.

", + "documentation":"

The last 4 KB of the execution log, which is base64 encoded.

", "location":"header", "locationName":"X-Amz-Log-Result" }, "Payload":{ "shape":"Blob", - "documentation":"

It is the JSON representation of the object returned by the Lambda function. In This is present only if the invocation type is RequestResponse.

In the event of a function error this field contains a message describing the error. For the Handled errors the Lambda function will report this message. For Unhandled errors AWS Lambda reports the message.

" + "documentation":"

The response from the function, or an error object.

" + }, + "ExecutedVersion":{ + "shape":"Version", + "documentation":"

The version of the function that executed. When you invoke a function with an alias, this indicates which version the alias resolved to.

", + "location":"header", + "locationName":"X-Amz-Executed-Version" } }, - "documentation":"

Upon success, returns an empty response. Otherwise, throws an exception.

", "payload":"Payload" }, "InvocationType":{ @@ -1193,17 +2344,16 @@ ], "members":{ "FunctionName":{ - "shape":"FunctionName", - "documentation":"

The Lambda function name.

", + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "InvokeArgs":{ "shape":"BlobStream", - "documentation":"

JSON that you want to provide to your Lambda function as input.

" + "documentation":"

The JSON that you want to provide to your Lambda function as input.

" } }, - "documentation":"

", "deprecated":true, "payload":"InvokeArgs" }, @@ -1212,38 +2362,252 @@ "members":{ "Status":{ "shape":"HttpStatus", - "documentation":"

It will be 202 upon success.

", + "documentation":"

The status code.

", "location":"statusCode" } }, - "documentation":"

Upon success, it returns empty response. Otherwise, throws an exception.

", + "documentation":"

A success response (202 Accepted) indicates that the request is queued for invocation.

", "deprecated":true }, + "KMSAccessDeniedException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

Lambda was unable to decrypt the environment variables because KMS access was denied. Check the Lambda function's KMS permissions.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "KMSDisabledException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key used is disabled. Check the Lambda function's KMS key settings.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "KMSInvalidStateException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key used is in an invalid state for Decrypt. Check the function's KMS key settings.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "KMSKeyArn":{ + "type":"string", + "pattern":"(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()" + }, + "KMSNotFoundException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

Lambda was unable to decrypt the environment variables because the KMS key was not found. Check the function's KMS key settings.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "LastUpdateStatus":{ + "type":"string", + "enum":[ + "Successful", + "Failed", + "InProgress" + ] + }, + "LastUpdateStatusReason":{"type":"string"}, + "LastUpdateStatusReasonCode":{ + "type":"string", + "enum":[ + "EniLimitExceeded", + "InsufficientRolePermissions", + "InvalidConfiguration", + "InternalError", + "SubnetOutOfIPAddresses", + "InvalidSubnet", + "InvalidSecurityGroup" + ] + }, + "Layer":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"LayerVersionArn", + "documentation":"

The Amazon Resource Name (ARN) of the function layer.

" + }, + "CodeSize":{ + "shape":"Long", + "documentation":"

The size of the layer archive in bytes.

" + } + }, + "documentation":"

An AWS Lambda layer.

" + }, + "LayerArn":{ + "type":"string", + "max":140, + "min":1, + "pattern":"arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+" + }, + "LayerList":{ + "type":"list", + "member":{"shape":"LayerVersionArn"} + }, + "LayerName":{ + "type":"string", + "max":140, + "min":1, + "pattern":"(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+" + }, + "LayerPermissionAllowedAction":{ + "type":"string", + "pattern":"lambda:GetLayerVersion" + }, + "LayerPermissionAllowedPrincipal":{ + "type":"string", + "pattern":"\\d{12}|\\*|arn:(aws[a-zA-Z-]*):iam::\\d{12}:root" + }, + "LayerVersionArn":{ + "type":"string", + "max":140, + "min":1, + "pattern":"arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+" + }, + "LayerVersionContentInput":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

The Amazon S3 bucket of the layer archive.

" + }, + "S3Key":{ + "shape":"S3Key", + "documentation":"

The Amazon S3 key of the layer archive.

" + }, + "S3ObjectVersion":{ + "shape":"S3ObjectVersion", + "documentation":"

For versioned objects, the version of the layer archive object to use.

" + }, + "ZipFile":{ + "shape":"Blob", + "documentation":"

The base64-encoded contents of the layer archive. AWS SDK and AWS CLI clients handle the encoding for you.

" + } + }, + "documentation":"

A ZIP archive that contains the contents of an AWS Lambda layer. You can specify either an Amazon S3 location, or upload a layer archive directly.

" + }, + "LayerVersionContentOutput":{ + "type":"structure", + "members":{ + "Location":{ + "shape":"String", + "documentation":"

A link to the layer archive in Amazon S3 that is valid for 10 minutes.

" + }, + "CodeSha256":{ + "shape":"String", + "documentation":"

The SHA-256 hash of the layer archive.

" + }, + "CodeSize":{ + "shape":"Long", + "documentation":"

The size of the layer archive in bytes.

" + } + }, + "documentation":"

Details about a version of an AWS Lambda layer.

" + }, + "LayerVersionNumber":{"type":"long"}, + "LayerVersionsList":{ + "type":"list", + "member":{"shape":"LayerVersionsListItem"} + }, + "LayerVersionsListItem":{ + "type":"structure", + "members":{ + "LayerVersionArn":{ + "shape":"LayerVersionArn", + "documentation":"

The ARN of the layer version.

" + }, + "Version":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the version.

" + }, + "CreatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

" + }, + "CompatibleRuntimes":{ + "shape":"CompatibleRuntimes", + "documentation":"

The layer's compatible runtimes.

" + }, + "LicenseInfo":{ + "shape":"LicenseInfo", + "documentation":"

The layer's open-source license.

" + } + }, + "documentation":"

Details about a version of an AWS Lambda layer.

" + }, + "LayersList":{ + "type":"list", + "member":{"shape":"LayersListItem"} + }, + "LayersListItem":{ + "type":"structure", + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name of the layer.

" + }, + "LayerArn":{ + "shape":"LayerArn", + "documentation":"

The Amazon Resource Name (ARN) of the function layer.

" + }, + "LatestMatchingVersion":{ + "shape":"LayerVersionsListItem", + "documentation":"

The newest version of the layer.

" + } + }, + "documentation":"

Details about an AWS Lambda layer.

" + }, + "LayersReferenceList":{ + "type":"list", + "member":{"shape":"Layer"} + }, + "LicenseInfo":{ + "type":"string", + "max":512 + }, "ListAliasesRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Lambda function name for which the alias is created.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

If you specify this optional parameter, the API returns only the aliases that are pointing to the specific Lambda function version, otherwise the API returns all of the aliases created for the Lambda function.

", + "documentation":"

Specify a function version to only list aliases that invoke that version.

", "location":"querystring", "locationName":"FunctionVersion" }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListAliases operation. If present, indicates where to continue the listing.

", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of aliases to return in response. This parameter value must be greater than 0.

", + "documentation":"

Limit the number of aliases returned.

", "location":"querystring", "locationName":"MaxItems" } @@ -1254,7 +2618,7 @@ "members":{ "NextMarker":{ "shape":"String", - "documentation":"

A string, present if there are more aliases.

" + "documentation":"

The pagination token that's included if more results are available.

" }, "Aliases":{ "shape":"AliasList", @@ -1267,168 +2631,693 @@ "members":{ "EventSourceArn":{ "shape":"Arn", - "documentation":"

The Amazon Resource Name (ARN) of the Amazon Kinesis stream. (This parameter is optional.)

", + "documentation":"

The Amazon Resource Name (ARN) of the event source.

  • Amazon Kinesis - The ARN of the data stream or a stream consumer.

  • Amazon DynamoDB Streams - The ARN of the stream.

  • Amazon Simple Queue Service - The ARN of the queue.

", "location":"querystring", "locationName":"EventSourceArn" }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

You can specify the function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). AWS Lambda also allows you to specify only the function name with the account ID qualifier (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

", "location":"querystring", "locationName":"FunctionName" }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListEventSourceMappings operation. If present, specifies to continue the list from where the returning call left off.

", + "documentation":"

A pagination token returned by a previous call.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of event sources to return in response. This value must be greater than 0.

", + "documentation":"

The maximum number of event source mappings to return.

", "location":"querystring", "locationName":"MaxItems" } - }, - "documentation":"

" + } }, "ListEventSourceMappingsResponse":{ "type":"structure", "members":{ "NextMarker":{ "shape":"String", - "documentation":"

A string, present if there are more event source mappings.

" + "documentation":"

A pagination token that's returned when the response doesn't contain all event source mappings.

" }, "EventSourceMappings":{ "shape":"EventSourceMappingsList", - "documentation":"

An array of EventSourceMappingConfiguration objects.

" + "documentation":"

A list of event source mappings.

" } - }, - "documentation":"

Contains a list of event sources (see )

" + } + }, + "ListFunctionEventInvokeConfigsRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Marker":{ + "shape":"String", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxFunctionEventInvokeConfigListItems", + "documentation":"

The maximum number of configurations to return.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListFunctionEventInvokeConfigsResponse":{ + "type":"structure", + "members":{ + "FunctionEventInvokeConfigs":{ + "shape":"FunctionEventInvokeConfigList", + "documentation":"

A list of configurations.

" + }, + "NextMarker":{ + "shape":"String", + "documentation":"

The pagination token that's included if more results are available.

" + } + } }, "ListFunctionsRequest":{ "type":"structure", "members":{ + "MasterRegion":{ + "shape":"MasterRegion", + "documentation":"

For Lambda@Edge functions, the AWS Region of the master function. For example, us-east-1 filters the list of functions to only include Lambda@Edge functions replicated from a master function in US East (N. Virginia). If specified, you must set FunctionVersion to ALL.

", + "location":"querystring", + "locationName":"MasterRegion" + }, + "FunctionVersion":{ + "shape":"FunctionVersion", + "documentation":"

Set to ALL to include entries for all published versions of each function.

", + "location":"querystring", + "locationName":"FunctionVersion" + }, "Marker":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListFunctions operation. If present, indicates where to continue the listing.

", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", "location":"querystring", "locationName":"Marker" }, "MaxItems":{ "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda functions to return in response. This parameter value must be greater than 0.

", + "documentation":"

The maximum number of functions to return.

", "location":"querystring", "locationName":"MaxItems" } - }, - "documentation":"

" + } }, "ListFunctionsResponse":{ "type":"structure", "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more functions.

" + "NextMarker":{ + "shape":"String", + "documentation":"

The pagination token that's included if more results are available.

" + }, + "Functions":{ + "shape":"FunctionList", + "documentation":"

A list of Lambda functions.

" + } + }, + "documentation":"

A list of Lambda functions.

" + }, + "ListLayerVersionsRequest":{ + "type":"structure", + "required":["LayerName"], + "members":{ + "CompatibleRuntime":{ + "shape":"Runtime", + "documentation":"

A runtime identifier. For example, go1.x.

", + "location":"querystring", + "locationName":"CompatibleRuntime" + }, + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "Marker":{ + "shape":"String", + "documentation":"

A pagination token returned by a previous call.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxLayerListItems", + "documentation":"

The maximum number of versions to return.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListLayerVersionsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"String", + "documentation":"

A pagination token returned when the response doesn't contain all versions.

" + }, + "LayerVersions":{ + "shape":"LayerVersionsList", + "documentation":"

A list of versions.

" + } + } + }, + "ListLayersRequest":{ + "type":"structure", + "members":{ + "CompatibleRuntime":{ + "shape":"Runtime", + "documentation":"

A runtime identifier. For example, go1.x.

", + "location":"querystring", + "locationName":"CompatibleRuntime" + }, + "Marker":{ + "shape":"String", + "documentation":"

A pagination token returned by a previous call.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxLayerListItems", + "documentation":"

The maximum number of layers to return.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListLayersResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"String", + "documentation":"

A pagination token returned when the response doesn't contain all layers.

" + }, + "Layers":{ + "shape":"LayersList", + "documentation":"

A list of function layers.

" + } + } + }, + "ListProvisionedConcurrencyConfigsRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Marker":{ + "shape":"String", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxProvisionedConcurrencyConfigListItems", + "documentation":"

Specify a number to limit the number of configurations returned.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListProvisionedConcurrencyConfigsResponse":{ + "type":"structure", + "members":{ + "ProvisionedConcurrencyConfigs":{ + "shape":"ProvisionedConcurrencyConfigList", + "documentation":"

A list of provisioned concurrency configurations.

" + }, + "NextMarker":{ + "shape":"String", + "documentation":"

The pagination token that's included if more results are available.

" + } + } + }, + "ListTagsRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The function's Amazon Resource Name (ARN).

", + "location":"uri", + "locationName":"ARN" + } + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The function's tags.

" + } + } + }, + "ListVersionsByFunctionRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"NamespacedFunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Marker":{ + "shape":"String", + "documentation":"

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

", + "location":"querystring", + "locationName":"Marker" + }, + "MaxItems":{ + "shape":"MaxListItems", + "documentation":"

The maximum number of versions to return.

", + "location":"querystring", + "locationName":"MaxItems" + } + } + }, + "ListVersionsByFunctionResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"String", + "documentation":"

The pagination token that's included if more results are available.

" + }, + "Versions":{ + "shape":"FunctionList", + "documentation":"

A list of Lambda function versions.

" + } + } + }, + "LogType":{ + "type":"string", + "enum":[ + "None", + "Tail" + ] + }, + "Long":{"type":"long"}, + "MasterRegion":{ + "type":"string", + "pattern":"ALL|[a-z]{2}(-gov)?-[a-z]+-\\d{1}" + }, + "MaxFunctionEventInvokeConfigListItems":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaxLayerListItems":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaxListItems":{ + "type":"integer", + "max":10000, + "min":1 + }, + "MaxProvisionedConcurrencyConfigListItems":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaximumBatchingWindowInSeconds":{ + "type":"integer", + "max":300, + "min":0 + }, + "MaximumEventAgeInSeconds":{ + "type":"integer", + "max":21600, + "min":60 + }, + "MaximumRecordAgeInSeconds":{ + "type":"integer", + "max":604800, + "min":60 + }, + "MaximumRetryAttempts":{ + "type":"integer", + "max":2, + "min":0 + }, + "MaximumRetryAttemptsEventSourceMapping":{ + "type":"integer", + "max":10000, + "min":0 + }, + "MemorySize":{ + "type":"integer", + "max":3008, + "min":128 + }, + "NameSpacedFunctionArn":{ + "type":"string", + "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + }, + "NamespacedFunctionName":{ + "type":"string", + "max":170, + "min":1, + "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_\\.]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + }, + "NamespacedStatementId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"([a-zA-Z0-9-_.]+)" + }, + "NonNegativeInteger":{ + "type":"integer", + "min":0 + }, + "OnFailure":{ + "type":"structure", + "members":{ + "Destination":{ + "shape":"DestinationArn", + "documentation":"

The Amazon Resource Name (ARN) of the destination resource.

" + } + }, + "documentation":"

A destination for events that failed processing.

" + }, + "OnSuccess":{ + "type":"structure", + "members":{ + "Destination":{ + "shape":"DestinationArn", + "documentation":"

The Amazon Resource Name (ARN) of the destination resource.

" + } + }, + "documentation":"

A destination for events that were processed successfully.

" + }, + "OrganizationId":{ + "type":"string", + "pattern":"o-[a-z0-9]{10,32}" + }, + "ParallelizationFactor":{ + "type":"integer", + "max":10, + "min":1 + }, + "PolicyLengthExceededException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "message":{"shape":"String"} + }, + "documentation":"

The permissions policy for the resource is too large. Learn more

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "PositiveInteger":{ + "type":"integer", + "min":1 + }, + "PreconditionFailedException":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The exception type.

" + }, + "message":{ + "shape":"String", + "documentation":"

The exception message.

" + } + }, + "documentation":"

The RevisionId provided does not match the latest RevisionId for the Lambda function or alias. Call the GetFunction or the GetAlias API to retrieve the latest RevisionId for your resource.

", + "error":{"httpStatusCode":412}, + "exception":true + }, + "Principal":{ + "type":"string", + "pattern":".*" + }, + "ProvisionedConcurrencyConfigList":{ + "type":"list", + "member":{"shape":"ProvisionedConcurrencyConfigListItem"} + }, + "ProvisionedConcurrencyConfigListItem":{ + "type":"structure", + "members":{ + "FunctionArn":{ + "shape":"FunctionArn", + "documentation":"

The Amazon Resource Name (ARN) of the alias or version.

" + }, + "RequestedProvisionedConcurrentExecutions":{ + "shape":"PositiveInteger", + "documentation":"

The amount of provisioned concurrency requested.

" + }, + "AvailableProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency available.

" + }, + "AllocatedProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency allocated.

" + }, + "Status":{ + "shape":"ProvisionedConcurrencyStatusEnum", + "documentation":"

The status of the allocation process.

" + }, + "StatusReason":{ + "shape":"String", + "documentation":"

For failed allocations, the reason that provisioned concurrency could not be allocated.

" + }, + "LastModified":{ + "shape":"Timestamp", + "documentation":"

The date and time that a user last updated the configuration, in ISO 8601 format.

" + } + }, + "documentation":"

Details about the provisioned concurrency configuration for a function alias or version.

" + }, + "ProvisionedConcurrencyConfigNotFoundException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "message":{"shape":"String"} + }, + "documentation":"

The specified configuration does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ProvisionedConcurrencyStatusEnum":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "READY", + "FAILED" + ] + }, + "PublishLayerVersionRequest":{ + "type":"structure", + "required":[ + "LayerName", + "Content" + ], + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the version.

" + }, + "Content":{ + "shape":"LayerVersionContentInput", + "documentation":"

The function layer archive.

" + }, + "CompatibleRuntimes":{ + "shape":"CompatibleRuntimes", + "documentation":"

A list of compatible function runtimes. Used for filtering with ListLayers and ListLayerVersions.

" + }, + "LicenseInfo":{ + "shape":"LicenseInfo", + "documentation":"

The layer's software license. It can be any of the following:

  • An SPDX license identifier. For example, MIT.

  • The URL of a license hosted on the internet. For example, https://opensource.org/licenses/MIT.

  • The full text of the license.

" + } + } + }, + "PublishLayerVersionResponse":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"LayerVersionContentOutput", + "documentation":"

Details about the layer version.

" }, - "Functions":{ - "shape":"FunctionList", - "documentation":"

A list of Lambda functions.

" + "LayerArn":{ + "shape":"LayerArn", + "documentation":"

The ARN of the layer.

" + }, + "LayerVersionArn":{ + "shape":"LayerVersionArn", + "documentation":"

The ARN of the layer version.

" + }, + "Description":{ + "shape":"Description", + "documentation":"

The description of the version.

" + }, + "CreatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the layer version was created, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

" + }, + "Version":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

" + }, + "CompatibleRuntimes":{ + "shape":"CompatibleRuntimes", + "documentation":"

The layer's compatible runtimes.

" + }, + "LicenseInfo":{ + "shape":"LicenseInfo", + "documentation":"

The layer's software license.

" } - }, - "documentation":"

Contains a list of AWS Lambda function configurations (see FunctionConfiguration.

" + } }, - "ListVersionsByFunctionRequest":{ + "PublishVersionRequest":{ "type":"structure", "required":["FunctionName"], "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Function name whose versions to list. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, - "Marker":{ + "CodeSha256":{ "shape":"String", - "documentation":"

Optional string. An opaque pagination token returned from a previous ListVersionsByFunction operation. If present, indicates where to continue the listing.

", - "location":"querystring", - "locationName":"Marker" + "documentation":"

Only publish a version if the hash value matches the value that's specified. Use this option to avoid publishing a version if the function code has changed since you last updated it. You can get the hash for the version that you uploaded from the output of UpdateFunctionCode.

" }, - "MaxItems":{ - "shape":"MaxListItems", - "documentation":"

Optional integer. Specifies the maximum number of AWS Lambda function versions to return in response. This parameter value must be greater than 0.

", - "location":"querystring", - "locationName":"MaxItems" + "Description":{ + "shape":"Description", + "documentation":"

A description for the version to override the description in the function configuration.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid publishing a version if the function configuration has changed since you last updated it.

" } - }, - "documentation":"

" + } }, - "ListVersionsByFunctionResponse":{ + "PutFunctionConcurrencyRequest":{ "type":"structure", + "required":[ + "FunctionName", + "ReservedConcurrentExecutions" + ], "members":{ - "NextMarker":{ - "shape":"String", - "documentation":"

A string, present if there are more function versions.

" + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" }, - "Versions":{ - "shape":"FunctionList", - "documentation":"

A list of Lambda function versions.

" + "ReservedConcurrentExecutions":{ + "shape":"ReservedConcurrentExecutions", + "documentation":"

The number of simultaneous executions to reserve for the function.

" } - }, - "documentation":"

" - }, - "LogType":{ - "type":"string", - "enum":[ - "None", - "Tail" - ] - }, - "Long":{"type":"long"}, - "MaxListItems":{ - "type":"integer", - "max":10000, - "min":1 - }, - "MemorySize":{ - "type":"integer", - "max":1536, - "min":128 + } }, - "PolicyLengthExceededException":{ + "PutFunctionEventInvokeConfigRequest":{ "type":"structure", + "required":["FunctionName"], "members":{ - "Type":{"shape":"String"}, - "message":{"shape":"String"} - }, - "documentation":"

Lambda function access policy is limited to 20 KB.

", - "error":{"httpStatusCode":400}, - "exception":true - }, - "Principal":{ - "type":"string", - "pattern":".*" + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

A version number or alias name.

", + "location":"querystring", + "locationName":"Qualifier" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttempts", + "documentation":"

The maximum number of times to retry when the function returns an error.

" + }, + "MaximumEventAgeInSeconds":{ + "shape":"MaximumEventAgeInSeconds", + "documentation":"

The maximum age of a request that Lambda sends to a function for processing.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

A destination for events after they have been sent to a function for processing.

Destinations

  • Function - The Amazon Resource Name (ARN) of a Lambda function.

  • Queue - The ARN of an SQS queue.

  • Topic - The ARN of an SNS topic.

  • Event Bus - The ARN of an Amazon EventBridge event bus.

" + } + } }, - "PublishVersionRequest":{ + "PutProvisionedConcurrencyConfigRequest":{ "type":"structure", - "required":["FunctionName"], + "required":[ + "FunctionName", + "Qualifier", + "ProvisionedConcurrentExecutions" + ], "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function name. You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, - "CodeSha256":{ + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

The version number or alias name.

", + "location":"querystring", + "locationName":"Qualifier" + }, + "ProvisionedConcurrentExecutions":{ + "shape":"PositiveInteger", + "documentation":"

The amount of provisioned concurrency to allocate for the version or alias.

" + } + } + }, + "PutProvisionedConcurrencyConfigResponse":{ + "type":"structure", + "members":{ + "RequestedProvisionedConcurrentExecutions":{ + "shape":"PositiveInteger", + "documentation":"

The amount of provisioned concurrency requested.

" + }, + "AvailableProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency available.

" + }, + "AllocatedProvisionedConcurrentExecutions":{ + "shape":"NonNegativeInteger", + "documentation":"

The amount of provisioned concurrency allocated.

" + }, + "Status":{ + "shape":"ProvisionedConcurrencyStatusEnum", + "documentation":"

The status of the allocation process.

" + }, + "StatusReason":{ "shape":"String", - "documentation":"

The SHA256 hash of the deployment package you want to publish. This provides validation on the code you are publishing. If you provide this parameter value must match the SHA256 of the $LATEST version for the publication to succeed.

" + "documentation":"

For failed allocations, the reason that provisioned concurrency could not be allocated.

" }, - "Description":{ - "shape":"Description", - "documentation":"

The description for the version you are publishing. If not provided, AWS Lambda copies the description from the $LATEST version.

" + "LastModified":{ + "shape":"Timestamp", + "documentation":"

The date and time that a user last updated the configuration, in ISO 8601 format.

" } - }, - "documentation":"

" + } }, "Qualifier":{ "type":"string", @@ -1436,6 +3325,40 @@ "min":1, "pattern":"(|[a-zA-Z0-9$_-]+)" }, + "RemoveLayerVersionPermissionRequest":{ + "type":"structure", + "required":[ + "LayerName", + "VersionNumber", + "StatementId" + ], + "members":{ + "LayerName":{ + "shape":"LayerName", + "documentation":"

The name or Amazon Resource Name (ARN) of the layer.

", + "location":"uri", + "locationName":"LayerName" + }, + "VersionNumber":{ + "shape":"LayerVersionNumber", + "documentation":"

The version number.

", + "location":"uri", + "locationName":"VersionNumber" + }, + "StatementId":{ + "shape":"StatementId", + "documentation":"

The identifier that was specified when the statement was added.

", + "location":"uri", + "locationName":"StatementId" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the policy if the revision ID matches the ID specified. Use this option to avoid modifying a policy that has changed since you last read it.

", + "location":"querystring", + "locationName":"RevisionId" + } + } + }, "RemovePermissionRequest":{ "type":"structure", "required":[ @@ -1445,24 +3368,29 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

Lambda function whose resource policy you want to remove a permission from.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "StatementId":{ - "shape":"StatementId", + "shape":"NamespacedStatementId", "documentation":"

Statement ID of the permission to remove.

", "location":"uri", "locationName":"StatementId" }, "Qualifier":{ "shape":"Qualifier", - "documentation":"

You can specify this optional parameter to remove permission associated with a specific function version or function alias. If you don't specify this parameter, the API removes permission associated with the unqualified function ARN.

", + "documentation":"

Specify a version or alias to remove permissions from a published version of the function.

", "location":"querystring", "locationName":"Qualifier" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

", + "location":"querystring", + "locationName":"RevisionId" } - }, - "documentation":"

" + } }, "RequestTooLargeException":{ "type":"structure", @@ -1470,47 +3398,98 @@ "Type":{"shape":"String"}, "message":{"shape":"String"} }, - "documentation":"

The request payload exceeded the Invoke request body JSON input limit. For more information, see Limits.

", + "documentation":"

The request payload exceeded the Invoke request body JSON input limit. For more information, see Limits.

", "error":{"httpStatusCode":413}, "exception":true }, + "ReservedConcurrentExecutions":{ + "type":"integer", + "min":0 + }, + "ResourceArn":{ + "type":"string", + "pattern":"(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()" + }, "ResourceConflictException":{ "type":"structure", "members":{ "Type":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception type.

" }, "message":{ "shape":"String", - "documentation":"

" + "documentation":"

The exception message.

" } }, - "documentation":"

The resource already exists.

", + "documentation":"

The resource already exists, or another operation is in progress.

", "error":{"httpStatusCode":409}, "exception":true }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Type":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

The operation conflicts with the resource's availability. For example, you attempted to update an EventSource Mapping in CREATING, or tried to delete a EventSource mapping currently in the UPDATING state.

", + "error":{"httpStatusCode":400}, + "exception":true + }, "ResourceNotFoundException":{ "type":"structure", "members":{ "Type":{"shape":"String"}, "Message":{"shape":"String"} }, - "documentation":"

The resource (for example, a Lambda function or access policy statement) specified in the request does not exist.

", + "documentation":"

The resource specified in the request does not exist.

", "error":{"httpStatusCode":404}, "exception":true }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

The exception type.

" + }, + "message":{ + "shape":"String", + "documentation":"

The exception message.

" + } + }, + "documentation":"

The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to reestablish and try again.

", + "error":{"httpStatusCode":502}, + "exception":true + }, "RoleArn":{ "type":"string", - "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + "pattern":"arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" }, "Runtime":{ "type":"string", "enum":[ "nodejs", "nodejs4.3", + "nodejs6.10", + "nodejs8.10", + "nodejs10.x", + "nodejs12.x", "java8", - "python2.7" + "java11", + "python2.7", + "python3.6", + "python3.7", + "python3.8", + "dotnetcore1.0", + "dotnetcore2.0", + "dotnetcore2.1", + "dotnetcore3.1", + "nodejs4.3-edge", + "go1.x", + "ruby2.5", + "ruby2.7", + "provided" ] }, "S3Bucket":{ @@ -1535,6 +3514,10 @@ "member":{"shape":"SecurityGroupId"}, "max":5 }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, "ServiceException":{ "type":"structure", "members":{ @@ -1549,6 +3532,31 @@ "type":"string", "pattern":"\\d{12}" }, + "State":{ + "type":"string", + "enum":[ + "Pending", + "Active", + "Inactive", + "Failed" + ] + }, + "StateReason":{"type":"string"}, + "StateReasonCode":{ + "type":"string", + "enum":[ + "Idle", + "Creating", + "Restoring", + "EniLimitExceeded", + "InsufficientRolePermissions", + "InvalidConfiguration", + "InternalError", + "SubnetOutOfIPAddresses", + "InvalidSubnet", + "InvalidSecurityGroup" + ] + }, "StatementId":{ "type":"string", "max":100, @@ -1572,11 +3580,43 @@ "member":{"shape":"SubnetId"}, "max":16 }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The function's Amazon Resource Name (ARN).

", + "location":"uri", + "locationName":"ARN" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A list of tags to apply to the function.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, "ThrottleReason":{ "type":"string", "enum":[ "ConcurrentInvocationLimitExceeded", "FunctionInvocationRateLimitExceeded", + "ReservedFunctionConcurrentInvocationLimitExceeded", + "ReservedFunctionInvocationRateLimitExceeded", "CallerRateLimitExceeded" ] }, @@ -1598,10 +3638,41 @@ "message":{"shape":"String"}, "Reason":{"shape":"ThrottleReason"} }, - "documentation":"

", + "documentation":"

The request throughput limit was exceeded.

", "error":{"httpStatusCode":429}, "exception":true }, + "TracingConfig":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"TracingMode", + "documentation":"

The tracing mode.

" + } + }, + "documentation":"

The function's AWS X-Ray tracing configuration. To sample and record incoming requests, set Mode to Active.

" + }, + "TracingConfigResponse":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"TracingMode", + "documentation":"

The tracing mode.

" + } + }, + "documentation":"

The function's AWS X-Ray tracing configuration.

" + }, + "TracingMode":{ + "type":"string", + "enum":[ + "Active", + "PassThrough" + ] + }, + "UnreservedConcurrentExecutions":{ + "type":"integer", + "min":0 + }, "UnsupportedMediaTypeException":{ "type":"structure", "members":{ @@ -1612,6 +3683,27 @@ "error":{"httpStatusCode":415}, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"FunctionArn", + "documentation":"

The function's Amazon Resource Name (ARN).

", + "location":"uri", + "locationName":"ARN" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys to remove from the function.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, "UpdateAliasRequest":{ "type":"structure", "required":[ @@ -1621,23 +3713,31 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The function name for which the alias is created.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Name":{ "shape":"Alias", - "documentation":"

The alias name.

", + "documentation":"

The name of the alias.

", "location":"uri", "locationName":"Name" }, "FunctionVersion":{ "shape":"Version", - "documentation":"

Using this parameter you can change the Lambda function version to which the alias points.

" + "documentation":"

The function version that the alias invokes.

" }, "Description":{ "shape":"Description", - "documentation":"

You can change the description of the alias using this parameter.

" + "documentation":"

A description of the alias.

" + }, + "RoutingConfig":{ + "shape":"AliasRoutingConfiguration", + "documentation":"

The routing configuration of the alias.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the alias if the revision ID matches the ID that's specified. Use this option to avoid modifying an alias that has changed since you last read it.

" } } }, @@ -1647,24 +3747,47 @@ "members":{ "UUID":{ "shape":"String", - "documentation":"

The event source mapping identifier.

", + "documentation":"

The identifier of the event source mapping.

", "location":"uri", "locationName":"UUID" }, "FunctionName":{ "shape":"FunctionName", - "documentation":"

The Lambda function to which you want the stream records sent.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail).

If you are using versioning, you can also provide a qualified function ARN (ARN that is qualified with function version or alias name as suffix). For more information about versioning, see AWS Lambda Function Versioning and Aliases

Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

" + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - MyFunction.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • Version or Alias ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction:PROD.

  • Partial ARN - 123456789012:function:MyFunction.

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

" }, "Enabled":{ "shape":"Enabled", - "documentation":"

Specifies whether AWS Lambda should actively poll the stream or not. If disabled, AWS Lambda will not poll the stream.

" + "documentation":"

Disables the event source mapping to pause polling and invocation.

" }, "BatchSize":{ "shape":"BatchSize", - "documentation":"

The maximum number of stream records that can be sent to your Lambda function for a single invocation.

" + "documentation":"

The maximum number of items to retrieve in a single batch.

  • Amazon Kinesis - Default 100. Max 10,000.

  • Amazon DynamoDB Streams - Default 100. Max 1,000.

  • Amazon Simple Queue Service - Default 10. Max 10.

" + }, + "MaximumBatchingWindowInSeconds":{ + "shape":"MaximumBatchingWindowInSeconds", + "documentation":"

(Streams) The maximum amount of time to gather records before invoking the function, in seconds.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

(Streams) An Amazon SQS queue or Amazon SNS topic destination for discarded records.

" + }, + "MaximumRecordAgeInSeconds":{ + "shape":"MaximumRecordAgeInSeconds", + "documentation":"

(Streams) The maximum age of a record that Lambda sends to a function for processing.

" + }, + "BisectBatchOnFunctionError":{ + "shape":"BisectBatchOnFunctionError", + "documentation":"

(Streams) If the function returns an error, split the batch in two and retry.

" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttemptsEventSourceMapping", + "documentation":"

(Streams) The maximum number of times to retry when the function returns an error.

" + }, + "ParallelizationFactor":{ + "shape":"ParallelizationFactor", + "documentation":"

(Streams) The number of batches to process from each shard concurrently.

" } - }, - "documentation":"

" + } }, "UpdateFunctionCodeRequest":{ "type":"structure", @@ -1672,32 +3795,39 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The existing Lambda function name whose code you want to replace.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "ZipFile":{ "shape":"Blob", - "documentation":"

The contents of your zip file containing your deployment package. If you are using the web API directly, the contents of the zip file must be base64-encoded. If you are using the AWS SDKs or the AWS CLI, the SDKs or CLI will do the encoding for you. For more information about creating a .zip file, go to Execution Permissions in the AWS Lambda Developer Guide.

" + "documentation":"

The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" }, "S3Bucket":{ "shape":"S3Bucket", - "documentation":"

Amazon S3 bucket name where the .zip file containing your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.

" + "documentation":"

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

" }, "S3Key":{ "shape":"S3Key", - "documentation":"

The Amazon S3 object (the deployment package) key name you want to upload.

" + "documentation":"

The Amazon S3 key of the deployment package.

" }, "S3ObjectVersion":{ "shape":"S3ObjectVersion", - "documentation":"

The Amazon S3 object (the deployment package) version you want to upload.

" + "documentation":"

For versioned objects, the version of the deployment package object to use.

" }, "Publish":{ "shape":"Boolean", - "documentation":"

This boolean parameter can be used to request AWS Lambda to update the Lambda function and publish a version as an atomic operation.

" + "documentation":"

Set to true to publish a new version of the function after updating the code. This has the same effect as calling PublishVersion separately.

" + }, + "DryRun":{ + "shape":"Boolean", + "documentation":"

Set to true to validate the request parameters and access permissions without modifying the function code.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.

" } - }, - "documentation":"

" + } }, "UpdateFunctionConfigurationRequest":{ "type":"structure", @@ -1705,37 +3835,93 @@ "members":{ "FunctionName":{ "shape":"FunctionName", - "documentation":"

The name of the Lambda function.

You can specify a function name (for example, Thumbnail) or you can specify Amazon Resource Name (ARN) of the function (for example, arn:aws:lambda:us-west-2:account-id:function:ThumbNail). AWS Lambda also allows you to specify a partial ARN (for example, account-id:Thumbnail). Note that the length constraint applies only to the ARN. If you specify only the function name, it is limited to 64 character in length.

", + "documentation":"

The name of the Lambda function.

Name formats

  • Function name - my-function.

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "location":"uri", "locationName":"FunctionName" }, "Role":{ "shape":"RoleArn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that Lambda will assume when it executes your function.

" + "documentation":"

The Amazon Resource Name (ARN) of the function's execution role.

" }, "Handler":{ "shape":"Handler", - "documentation":"

The function that Lambda calls to begin executing your function. For Node.js, it is the module-name.export value in your function.

" + "documentation":"

The name of the method within your code that Lambda calls to execute your function. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.

" }, "Description":{ "shape":"Description", - "documentation":"

A short user-defined function description. AWS Lambda does not use this value. Assign a meaningful description as you see fit.

" + "documentation":"

A description of the function.

" }, "Timeout":{ "shape":"Timeout", - "documentation":"

The function execution time at which AWS Lambda should terminate the function. Because the execution time has cost implications, we recommend you set this value based on your expected execution time. The default is 3 seconds.

" + "documentation":"

The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.

" }, "MemorySize":{ "shape":"MemorySize", - "documentation":"

The amount of memory, in MB, your Lambda function is given. AWS Lambda uses this memory size to infer the amount of CPU allocated to your function. Your function use-case determines your CPU and memory requirements. For example, a database operation might need less memory compared to an image processing function. The default value is 128 MB. The value must be a multiple of 64 MB.

" + "documentation":"

The amount of memory that your function has access to. Increasing the function's memory also increases its CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.

" + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.

" + }, + "Environment":{ + "shape":"Environment", + "documentation":"

Environment variables that are accessible from function code during execution.

" }, - "VpcConfig":{"shape":"VpcConfig"}, "Runtime":{ "shape":"Runtime", - "documentation":"

The runtime environment for the Lambda function.

To use the Node.js runtime v4.3, set the value to \"nodejs4.3\". To use earlier runtime (v0.10.42), set the value to \"nodejs\".

" + "documentation":"

The identifier of the function's runtime.

" + }, + "DeadLetterConfig":{ + "shape":"DeadLetterConfig", + "documentation":"

A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.

" + }, + "KMSKeyArn":{ + "shape":"KMSKeyArn", + "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.

" + }, + "TracingConfig":{ + "shape":"TracingConfig", + "documentation":"

Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.

" + }, + "RevisionId":{ + "shape":"String", + "documentation":"

Only update the function if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it.

" + }, + "Layers":{ + "shape":"LayerList", + "documentation":"

A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.

" } - }, - "documentation":"

" + } + }, + "UpdateFunctionEventInvokeConfigRequest":{ + "type":"structure", + "required":["FunctionName"], + "members":{ + "FunctionName":{ + "shape":"FunctionName", + "documentation":"

The name of the Lambda function, version, or alias.

Name formats

  • Function name - my-function (name-only), my-function:v1 (with alias).

  • Function ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function.

  • Partial ARN - 123456789012:function:my-function.

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "location":"uri", + "locationName":"FunctionName" + }, + "Qualifier":{ + "shape":"Qualifier", + "documentation":"

A version number or alias name.

", + "location":"querystring", + "locationName":"Qualifier" + }, + "MaximumRetryAttempts":{ + "shape":"MaximumRetryAttempts", + "documentation":"

The maximum number of times to retry when the function returns an error.

" + }, + "MaximumEventAgeInSeconds":{ + "shape":"MaximumEventAgeInSeconds", + "documentation":"

The maximum age of a request that Lambda sends to a function for processing.

" + }, + "DestinationConfig":{ + "shape":"DestinationConfig", + "documentation":"

A destination for events after they have been sent to a function for processing.

Destinations

  • Function - The Amazon Resource Name (ARN) of a Lambda function.

  • Queue - The ARN of an SQS queue.

  • Topic - The ARN of an SNS topic.

  • Event Bus - The ARN of an Amazon EventBridge event bus.

" + } + } }, "Version":{ "type":"string", @@ -1748,34 +3934,39 @@ "members":{ "SubnetIds":{ "shape":"SubnetIds", - "documentation":"

A list of one or more subnet IDs in your VPC.

" + "documentation":"

A list of VPC subnet IDs.

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIds", - "documentation":"

A list of one or more security groups IDs in your VPC.

" + "documentation":"

A list of VPC security groups IDs.

" } }, - "documentation":"

If your Lambda function accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

" + "documentation":"

The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

" }, "VpcConfigResponse":{ "type":"structure", "members":{ "SubnetIds":{ "shape":"SubnetIds", - "documentation":"

A list of subnet IDs associated with the Lambda function.

" + "documentation":"

A list of VPC subnet IDs.

" }, "SecurityGroupIds":{ "shape":"SecurityGroupIds", - "documentation":"

A list of security group IDs associated with the Lambda function.

" + "documentation":"

A list of VPC security groups IDs.

" }, "VpcId":{ "shape":"VpcId", - "documentation":"

The VPC ID associated with you Lambda function.

" + "documentation":"

The ID of the VPC.

" } }, - "documentation":"

VPC configuration associated with your Lambda function.

" + "documentation":"

The VPC security groups and subnets that are attached to a Lambda function.

" }, - "VpcId":{"type":"string"} + "VpcId":{"type":"string"}, + "Weight":{ + "type":"double", + "max":1.0, + "min":0.0 + } }, - "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, go to What is AWS Lambda, and for information about how the service works, go to AWS Lambda: How it Works in the AWS Lambda Developer Guide.

" + "documentation":"AWS Lambda

Overview

This is the AWS Lambda API Reference. The AWS Lambda Developer Guide provides additional information. For the service overview, see What is AWS Lambda, and for information about how the service works, see AWS Lambda: How it Works in the AWS Lambda Developer Guide.

" } diff -Nru python-botocore-1.4.70/botocore/data/lambda/2015-03-31/waiters-2.json python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/waiters-2.json --- python-botocore-1.4.70/botocore/data/lambda/2015-03-31/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lambda/2015-03-31/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,74 @@ +{ + "version": 2, + "waiters": { + "FunctionExists": { + "delay": 1, + "operation": "GetFunction", + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "status", + "expected": 200 + }, + { + "state": "retry", + "matcher": "error", + "expected": "ResourceNotFoundException" + } + ] + }, + "FunctionActive": { + "delay": 5, + "maxAttempts": 60, + "operation": "GetFunctionConfiguration", + "description": "Waits for the function's State to be Active.", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "Active" + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "Failed" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "Pending" + } + ] + }, + "FunctionUpdated": { + "delay": 5, + "maxAttempts": 60, + "operation": "GetFunctionConfiguration", + "description": "Waits for the function's LastUpdateStatus to be Successful.", + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "Successful" + }, + { + "state": "failure", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "Failed" + }, + { + "state": "retry", + "matcher": "path", + "argument": "LastUpdateStatus", + "expected": "InProgress" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/examples-1.json python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/examples-1.json --- python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,758 @@ +{ + "version": "1.0", + "examples": { + "GetBot": [ + { + "input": { + "name": "DocOrderPizza", + "versionOrAlias": "$LATEST" + }, + "output": { + "version": "$LATEST", + "name": "DocOrderPizzaBot", + "abortStatement": { + "messages": [ + { + "content": "I don't understand. Can you try again?", + "contentType": "PlainText" + }, + { + "content": "I'm sorry, I don't understand.", + "contentType": "PlainText" + } + ] + }, + "checksum": "20172ee3-fa06-49b2-bbc5-667c090303e9", + "childDirected": true, + "clarificationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "I'm sorry, I didn't hear that. Can you repeate what you just said?", + "contentType": "PlainText" + }, + { + "content": "Can you say that again?", + "contentType": "PlainText" + } + ] + }, + "createdDate": 1494360160.133, + "description": "Orders a pizza from a local pizzeria.", + "idleSessionTTLInSeconds": 300, + "intents": [ + { + "intentName": "DocOrderPizza", + "intentVersion": "$LATEST" + } + ], + "lastUpdatedDate": 1494360160.133, + "locale": "en-US", + "status": "NOT_BUILT" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get configuration information for a bot.", + "id": "to-get-information-about-a-bot-1494431724188", + "title": "To get information about a bot" + } + ], + "GetBots": [ + { + "input": { + "maxResults": 5, + "nextToken": "" + }, + "output": { + "bots": [ + { + "version": "$LATEST", + "name": "DocOrderPizzaBot", + "createdDate": 1494360160.133, + "description": "Orders a pizza from a local pizzeria.", + "lastUpdatedDate": 1494360160.133, + "status": "NOT_BUILT" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get a list of all of the bots in your account.", + "id": "to-get-a-list-of-bots-1494432220036", + "title": "To get a list of bots" + } + ], + "GetIntent": [ + { + "input": { + "version": "$LATEST", + "name": "DocOrderPizza" + }, + "output": { + "version": "$LATEST", + "name": "DocOrderPizza", + "checksum": "ca9bc13d-afc8-4706-bbaf-091f7a5935d6", + "conclusionStatement": { + "messages": [ + { + "content": "All right, I ordered you a {Crust} crust {Type} pizza with {Sauce} sauce.", + "contentType": "PlainText" + }, + { + "content": "OK, your {Crust} crust {Type} pizza with {Sauce} sauce is on the way.", + "contentType": "PlainText" + } + ], + "responseCard": "foo" + }, + "confirmationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "Should I order your {Crust} crust {Type} pizza with {Sauce} sauce?", + "contentType": "PlainText" + } + ] + }, + "createdDate": 1494359783.453, + "description": "Order a pizza from a local pizzeria.", + "fulfillmentActivity": { + "type": "ReturnIntent" + }, + "lastUpdatedDate": 1494359783.453, + "rejectionStatement": { + "messages": [ + { + "content": "Ok, I'll cancel your order.", + "contentType": "PlainText" + }, + { + "content": "I cancelled your order.", + "contentType": "PlainText" + } + ] + }, + "sampleUtterances": [ + "Order me a pizza.", + "Order me a {Type} pizza.", + "I want a {Crust} crust {Type} pizza", + "I want a {Crust} crust {Type} pizza with {Sauce} sauce." + ], + "slots": [ + { + "name": "Type", + "description": "The type of pizza to order.", + "priority": 1, + "sampleUtterances": [ + "Get me a {Type} pizza.", + "A {Type} pizza please.", + "I'd like a {Type} pizza." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of pizza would you like?", + "contentType": "PlainText" + }, + { + "content": "Vegie or cheese pizza?", + "contentType": "PlainText" + }, + { + "content": "I can get you a vegie or a cheese pizza.", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Crust", + "description": "The type of pizza crust to order.", + "priority": 2, + "sampleUtterances": [ + "Make it a {Crust} crust.", + "I'd like a {Crust} crust." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaCrustType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of crust would you like?", + "contentType": "PlainText" + }, + { + "content": "Thick or thin crust?", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Sauce", + "description": "The type of sauce to use on the pizza.", + "priority": 3, + "sampleUtterances": [ + "Make it {Sauce} sauce.", + "I'd like {Sauce} sauce." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaSauceType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "White or red sauce?", + "contentType": "PlainText" + }, + { + "content": "Garlic or tomato sauce?", + "contentType": "PlainText" + } + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get information about an intent.", + "id": "to-get-a-information-about-an-intent-1494432574147", + "title": "To get a information about an intent" + } + ], + "GetIntents": [ + { + "input": { + "maxResults": 10, + "nextToken": "" + }, + "output": { + "intents": [ + { + "version": "$LATEST", + "name": "DocOrderPizza", + "createdDate": 1494359783.453, + "description": "Order a pizza from a local pizzeria.", + "lastUpdatedDate": 1494359783.453 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get a list of all of the intents in your account.", + "id": "to-get-a-list-of-intents-1494432416363", + "title": "To get a list of intents" + } + ], + "GetSlotType": [ + { + "input": { + "version": "$LATEST", + "name": "DocPizzaCrustType" + }, + "output": { + "version": "$LATEST", + "name": "DocPizzaCrustType", + "checksum": "210b3d5a-90a3-4b22-ac7e-f50c2c71095f", + "createdDate": 1494359274.403, + "description": "Available crust types", + "enumerationValues": [ + { + "value": "thick" + }, + { + "value": "thin" + } + ], + "lastUpdatedDate": 1494359274.403 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get information about a slot type.", + "id": "to-get-information-about-a-slot-type-1494432961004", + "title": "To get information about a slot type" + } + ], + "GetSlotTypes": [ + { + "input": { + "maxResults": 10, + "nextToken": "" + }, + "output": { + "slotTypes": [ + { + "version": "$LATEST", + "name": "DocPizzaCrustType", + "createdDate": 1494359274.403, + "description": "Available crust types", + "lastUpdatedDate": 1494359274.403 + }, + { + "version": "$LATEST", + "name": "DocPizzaSauceType", + "createdDate": 1494356442.23, + "description": "Available pizza sauces", + "lastUpdatedDate": 1494356442.23 + }, + { + "version": "$LATEST", + "name": "DocPizzaType", + "createdDate": 1494359198.656, + "description": "Available pizzas", + "lastUpdatedDate": 1494359198.656 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to get a list of all of the slot types in your account.", + "id": "to-get-a-list-of-slot-types-1494432757458", + "title": "To get a list of slot types" + } + ], + "PutBot": [ + { + "input": { + "name": "DocOrderPizzaBot", + "abortStatement": { + "messages": [ + { + "content": "I don't understand. Can you try again?", + "contentType": "PlainText" + }, + { + "content": "I'm sorry, I don't understand.", + "contentType": "PlainText" + } + ] + }, + "childDirected": true, + "clarificationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "I'm sorry, I didn't hear that. Can you repeate what you just said?", + "contentType": "PlainText" + }, + { + "content": "Can you say that again?", + "contentType": "PlainText" + } + ] + }, + "description": "Orders a pizza from a local pizzeria.", + "idleSessionTTLInSeconds": 300, + "intents": [ + { + "intentName": "DocOrderPizza", + "intentVersion": "$LATEST" + } + ], + "locale": "en-US", + "processBehavior": "SAVE" + }, + "output": { + "version": "$LATEST", + "name": "DocOrderPizzaBot", + "abortStatement": { + "messages": [ + { + "content": "I don't understand. Can you try again?", + "contentType": "PlainText" + }, + { + "content": "I'm sorry, I don't understand.", + "contentType": "PlainText" + } + ] + }, + "checksum": "20172ee3-fa06-49b2-bbc5-667c090303e9", + "childDirected": true, + "clarificationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "I'm sorry, I didn't hear that. Can you repeate what you just said?", + "contentType": "PlainText" + }, + { + "content": "Can you say that again?", + "contentType": "PlainText" + } + ] + }, + "createdDate": 1494360160.133, + "description": "Orders a pizza from a local pizzeria.", + "idleSessionTTLInSeconds": 300, + "intents": [ + { + "intentName": "DocOrderPizza", + "intentVersion": "$LATEST" + } + ], + "lastUpdatedDate": 1494360160.133, + "locale": "en-US", + "status": "NOT_BUILT" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to create a bot for ordering pizzas.", + "id": "to-create-a-bot-1494360003886", + "title": "To create a bot" + } + ], + "PutIntent": [ + { + "input": { + "name": "DocOrderPizza", + "conclusionStatement": { + "messages": [ + { + "content": "All right, I ordered you a {Crust} crust {Type} pizza with {Sauce} sauce.", + "contentType": "PlainText" + }, + { + "content": "OK, your {Crust} crust {Type} pizza with {Sauce} sauce is on the way.", + "contentType": "PlainText" + } + ], + "responseCard": "foo" + }, + "confirmationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "Should I order your {Crust} crust {Type} pizza with {Sauce} sauce?", + "contentType": "PlainText" + } + ] + }, + "description": "Order a pizza from a local pizzeria.", + "fulfillmentActivity": { + "type": "ReturnIntent" + }, + "rejectionStatement": { + "messages": [ + { + "content": "Ok, I'll cancel your order.", + "contentType": "PlainText" + }, + { + "content": "I cancelled your order.", + "contentType": "PlainText" + } + ] + }, + "sampleUtterances": [ + "Order me a pizza.", + "Order me a {Type} pizza.", + "I want a {Crust} crust {Type} pizza", + "I want a {Crust} crust {Type} pizza with {Sauce} sauce." + ], + "slots": [ + { + "name": "Type", + "description": "The type of pizza to order.", + "priority": 1, + "sampleUtterances": [ + "Get me a {Type} pizza.", + "A {Type} pizza please.", + "I'd like a {Type} pizza." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of pizza would you like?", + "contentType": "PlainText" + }, + { + "content": "Vegie or cheese pizza?", + "contentType": "PlainText" + }, + { + "content": "I can get you a vegie or a cheese pizza.", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Crust", + "description": "The type of pizza crust to order.", + "priority": 2, + "sampleUtterances": [ + "Make it a {Crust} crust.", + "I'd like a {Crust} crust." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaCrustType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of crust would you like?", + "contentType": "PlainText" + }, + { + "content": "Thick or thin crust?", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Sauce", + "description": "The type of sauce to use on the pizza.", + "priority": 3, + "sampleUtterances": [ + "Make it {Sauce} sauce.", + "I'd like {Sauce} sauce." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaSauceType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "White or red sauce?", + "contentType": "PlainText" + }, + { + "content": "Garlic or tomato sauce?", + "contentType": "PlainText" + } + ] + } + } + ] + }, + "output": { + "version": "$LATEST", + "name": "DocOrderPizza", + "checksum": "ca9bc13d-afc8-4706-bbaf-091f7a5935d6", + "conclusionStatement": { + "messages": [ + { + "content": "All right, I ordered you a {Crust} crust {Type} pizza with {Sauce} sauce.", + "contentType": "PlainText" + }, + { + "content": "OK, your {Crust} crust {Type} pizza with {Sauce} sauce is on the way.", + "contentType": "PlainText" + } + ], + "responseCard": "foo" + }, + "confirmationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "Should I order your {Crust} crust {Type} pizza with {Sauce} sauce?", + "contentType": "PlainText" + } + ] + }, + "createdDate": 1494359783.453, + "description": "Order a pizza from a local pizzeria.", + "fulfillmentActivity": { + "type": "ReturnIntent" + }, + "lastUpdatedDate": 1494359783.453, + "rejectionStatement": { + "messages": [ + { + "content": "Ok, I'll cancel your order.", + "contentType": "PlainText" + }, + { + "content": "I cancelled your order.", + "contentType": "PlainText" + } + ] + }, + "sampleUtterances": [ + "Order me a pizza.", + "Order me a {Type} pizza.", + "I want a {Crust} crust {Type} pizza", + "I want a {Crust} crust {Type} pizza with {Sauce} sauce." + ], + "slots": [ + { + "name": "Sauce", + "description": "The type of sauce to use on the pizza.", + "priority": 3, + "sampleUtterances": [ + "Make it {Sauce} sauce.", + "I'd like {Sauce} sauce." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaSauceType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "White or red sauce?", + "contentType": "PlainText" + }, + { + "content": "Garlic or tomato sauce?", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Type", + "description": "The type of pizza to order.", + "priority": 1, + "sampleUtterances": [ + "Get me a {Type} pizza.", + "A {Type} pizza please.", + "I'd like a {Type} pizza." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of pizza would you like?", + "contentType": "PlainText" + }, + { + "content": "Vegie or cheese pizza?", + "contentType": "PlainText" + }, + { + "content": "I can get you a vegie or a cheese pizza.", + "contentType": "PlainText" + } + ] + } + }, + { + "name": "Crust", + "description": "The type of pizza crust to order.", + "priority": 2, + "sampleUtterances": [ + "Make it a {Crust} crust.", + "I'd like a {Crust} crust." + ], + "slotConstraint": "Required", + "slotType": "DocPizzaCrustType", + "slotTypeVersion": "$LATEST", + "valueElicitationPrompt": { + "maxAttempts": 1, + "messages": [ + { + "content": "What type of crust would you like?", + "contentType": "PlainText" + }, + { + "content": "Thick or thin crust?", + "contentType": "PlainText" + } + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to create an intent for ordering pizzas.", + "id": "to-create-an-intent-1494358144659", + "title": "To create an intent" + } + ], + "PutSlotType": [ + { + "input": { + "name": "PizzaSauceType", + "description": "Available pizza sauces", + "enumerationValues": [ + { + "value": "red" + }, + { + "value": "white" + } + ] + }, + "output": { + "version": "$LATEST", + "name": "DocPizzaSauceType", + "checksum": "cfd00ed1-775d-4357-947c-aca7e73b44ba", + "createdDate": 1494356442.23, + "description": "Available pizza sauces", + "enumerationValues": [ + { + "value": "red" + }, + { + "value": "white" + } + ], + "lastUpdatedDate": 1494356442.23 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to create a slot type that describes pizza sauces.", + "id": "to-create-a-slot-type-1494357262258", + "title": "To Create a Slot Type" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/paginators-1.json python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/paginators-1.json --- python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,64 @@ +{ + "pagination": { + "GetSlotTypeVersions": { + "result_key": "slotTypes", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetSlotTypes": { + "result_key": "slotTypes", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetIntents": { + "result_key": "intents", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBotChannelAssociations": { + "result_key": "botChannelAssociations", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBots": { + "result_key": "bots", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBuiltinSlotTypes": { + "result_key": "slotTypes", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetIntentVersions": { + "result_key": "intents", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBotAliases": { + "result_key": "BotAliases", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBuiltinIntents": { + "result_key": "intents", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "GetBotVersions": { + "result_key": "bots", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/service-2.json python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/service-2.json --- python-botocore-1.4.70/botocore/data/lex-models/2017-04-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-models/2017-04-19/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3718 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-04-19", + "endpointPrefix":"models.lex", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Lex Model Building Service", + "serviceId":"Lex Model Building Service", + "signatureVersion":"v4", + "signingName":"lex", + "uid":"lex-models-2017-04-19" + }, + "operations":{ + "CreateBotVersion":{ + "name":"CreateBotVersion", + "http":{ + "method":"POST", + "requestUri":"/bots/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateBotVersionRequest"}, + "output":{"shape":"CreateBotVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of the bot based on the $LATEST version. If the $LATEST version of this resource hasn't changed since you created the last version, Amazon Lex doesn't create a new version. It returns the last created version.

You can update only the $LATEST version of the bot. You can't update the numbered versions that you create with the CreateBotVersion operation.

When you create the first version of a bot, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permission for the lex:CreateBotVersion action.

" + }, + "CreateIntentVersion":{ + "name":"CreateIntentVersion", + "http":{ + "method":"POST", + "requestUri":"/intents/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateIntentVersionRequest"}, + "output":{"shape":"CreateIntentVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of an intent based on the $LATEST version of the intent. If the $LATEST version of this intent hasn't changed since you last updated it, Amazon Lex doesn't create a new version. It returns the last version you created.

You can update only the $LATEST version of the intent. You can't update the numbered versions that you create with the CreateIntentVersion operation.

When you create a version of an intent, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions to perform the lex:CreateIntentVersion action.

" + }, + "CreateSlotTypeVersion":{ + "name":"CreateSlotTypeVersion", + "http":{ + "method":"POST", + "requestUri":"/slottypes/{name}/versions", + "responseCode":201 + }, + "input":{"shape":"CreateSlotTypeVersionRequest"}, + "output":{"shape":"CreateSlotTypeVersionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a new version of a slot type based on the $LATEST version of the specified slot type. If the $LATEST version of this resource has not changed since the last version that you created, Amazon Lex doesn't create a new version. It returns the last version that you created.

You can update only the $LATEST version of a slot type. You can't update the numbered versions that you create with the CreateSlotTypeVersion operation.

When you create a version of a slot type, Amazon Lex sets the version to 1. Subsequent versions increment by 1. For more information, see versioning-intro.

This operation requires permissions for the lex:CreateSlotTypeVersion action.

" + }, + "DeleteBot":{ + "name":"DeleteBot", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the bot, including the $LATEST version. To delete a specific version of the bot, use the DeleteBotVersion operation. The DeleteBot operation doesn't immediately remove the bot schema. Instead, it is marked for deletion and removed later.

Amazon Lex stores utterances indefinitely for improving the ability of your bot to respond to user inputs. These utterances are not removed when the bot is deleted. To remove the utterances, use the DeleteUtterances operation.

If a bot has an alias, you can't delete it. Instead, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the alias that refers to the bot. To remove the reference to the bot, delete the alias. If you get the same exception again, delete the referring alias until the DeleteBot operation is successful.

This operation requires permissions for the lex:DeleteBot action.

" + }, + "DeleteBotAlias":{ + "name":"DeleteBotAlias", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotAliasRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes an alias for the specified bot.

You can't delete an alias that is used in the association between a bot and a messaging channel. If an alias is used in a channel association, the DeleteBot operation returns a ResourceInUseException exception that includes a reference to the channel association that refers to the bot. You can remove the reference to the alias by deleting the channel association. If you get the same exception again, delete the referring association until the DeleteBotAlias operation is successful.

" + }, + "DeleteBotChannelAssociation":{ + "name":"DeleteBotChannelAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotChannelAssociationRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes the association between an Amazon Lex bot and a messaging platform.

This operation requires permission for the lex:DeleteBotChannelAssociation action.

" + }, + "DeleteBotVersion":{ + "name":"DeleteBotVersion", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{name}/versions/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteBotVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of a bot. To delete all versions of a bot, use the DeleteBot operation.

This operation requires permissions for the lex:DeleteBotVersion action.

" + }, + "DeleteIntent":{ + "name":"DeleteIntent", + "http":{ + "method":"DELETE", + "requestUri":"/intents/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteIntentRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the intent, including the $LATEST version. To delete a specific version of the intent, use the DeleteIntentVersion operation.

You can delete a version of an intent only if it is not referenced. To delete an intent that is referred to in one or more bots (see how-it-works), you must remove those references first.

If you get the ResourceInUseException exception, it provides an example reference that shows where the intent is referenced. To remove the reference to the intent, either update the bot or delete it. If you get the same exception when you attempt to delete the intent again, repeat until the intent has no references and the call to DeleteIntent is successful.

This operation requires permission for the lex:DeleteIntent action.

" + }, + "DeleteIntentVersion":{ + "name":"DeleteIntentVersion", + "http":{ + "method":"DELETE", + "requestUri":"/intents/{name}/versions/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteIntentVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of an intent. To delete all versions of a intent, use the DeleteIntent operation.

This operation requires permissions for the lex:DeleteIntentVersion action.

" + }, + "DeleteSlotType":{ + "name":"DeleteSlotType", + "http":{ + "method":"DELETE", + "requestUri":"/slottypes/{name}", + "responseCode":204 + }, + "input":{"shape":"DeleteSlotTypeRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of the slot type, including the $LATEST version. To delete a specific version of the slot type, use the DeleteSlotTypeVersion operation.

You can delete a version of a slot type only if it is not referenced. To delete a slot type that is referred to in one or more intents, you must remove those references first.

If you get the ResourceInUseException exception, the exception provides an example reference that shows the intent where the slot type is referenced. To remove the reference to the slot type, either update the intent or delete it. If you get the same exception when you attempt to delete the slot type again, repeat until the slot type has no references and the DeleteSlotType call is successful.

This operation requires permission for the lex:DeleteSlotType action.

" + }, + "DeleteSlotTypeVersion":{ + "name":"DeleteSlotTypeVersion", + "http":{ + "method":"DELETE", + "requestUri":"/slottypes/{name}/version/{version}", + "responseCode":204 + }, + "input":{"shape":"DeleteSlotTypeVersionRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a specific version of a slot type. To delete all versions of a slot type, use the DeleteSlotType operation.

This operation requires permissions for the lex:DeleteSlotTypeVersion action.

" + }, + "DeleteUtterances":{ + "name":"DeleteUtterances", + "http":{ + "method":"DELETE", + "requestUri":"/bots/{botName}/utterances/{userId}", + "responseCode":204 + }, + "input":{"shape":"DeleteUtterancesRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Deletes stored utterances.

Amazon Lex stores the utterances that users send to your bot. Utterances are stored for 15 days for use with the GetUtterancesView operation, and then stored indefinitely for use in improving the ability of your bot to respond to user input.

Use the DeleteUtterances operation to manually delete stored utterances for a specific user. When you use the DeleteUtterances operation, utterances stored for improving your bot's ability to respond to user input are deleted immediately. Utterances stored for use with the GetUtterancesView operation are deleted after 15 days.

This operation requires permissions for the lex:DeleteUtterances action.

" + }, + "GetBot":{ + "name":"GetBot", + "http":{ + "method":"GET", + "requestUri":"/bots/{name}/versions/{versionoralias}", + "responseCode":200 + }, + "input":{"shape":"GetBotRequest"}, + "output":{"shape":"GetBotResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns metadata information for a specific bot. You must provide the bot name and the bot version or alias.

This operation requires permissions for the lex:GetBot action.

" + }, + "GetBotAlias":{ + "name":"GetBotAlias", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":200 + }, + "input":{"shape":"GetBotAliasRequest"}, + "output":{"shape":"GetBotAliasResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about an Amazon Lex bot alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:GetBotAlias action.

" + }, + "GetBotAliases":{ + "name":"GetBotAliases", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/", + "responseCode":200 + }, + "input":{"shape":"GetBotAliasesRequest"}, + "output":{"shape":"GetBotAliasesResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns a list of aliases for a specified Amazon Lex bot.

This operation requires permissions for the lex:GetBotAliases action.

" + }, + "GetBotChannelAssociation":{ + "name":"GetBotChannelAssociation", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/{name}", + "responseCode":200 + }, + "input":{"shape":"GetBotChannelAssociationRequest"}, + "output":{"shape":"GetBotChannelAssociationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about the association between an Amazon Lex bot and a messaging platform.

This operation requires permissions for the lex:GetBotChannelAssociation action.

" + }, + "GetBotChannelAssociations":{ + "name":"GetBotChannelAssociations", + "http":{ + "method":"GET", + "requestUri":"/bots/{botName}/aliases/{aliasName}/channels/", + "responseCode":200 + }, + "input":{"shape":"GetBotChannelAssociationsRequest"}, + "output":{"shape":"GetBotChannelAssociationsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns a list of all of the channels associated with the specified bot.

The GetBotChannelAssociations operation requires permissions for the lex:GetBotChannelAssociations action.

" + }, + "GetBotVersions":{ + "name":"GetBotVersions", + "http":{ + "method":"GET", + "requestUri":"/bots/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetBotVersionsRequest"}, + "output":{"shape":"GetBotVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all of the versions of a bot.

The GetBotVersions operation returns a BotMetadata object for each version of a bot. For example, if a bot has three numbered versions, the GetBotVersions operation returns four BotMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetBotVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetBotVersions action.

" + }, + "GetBots":{ + "name":"GetBots", + "http":{ + "method":"GET", + "requestUri":"/bots/", + "responseCode":200 + }, + "input":{"shape":"GetBotsRequest"}, + "output":{"shape":"GetBotsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns bot information as follows:

  • If you provide the nameContains field, the response includes information for the $LATEST version of all bots whose name contains the specified string.

  • If you don't specify the nameContains field, the operation returns information about the $LATEST version of all of your bots.

This operation requires permission for the lex:GetBots action.

" + }, + "GetBuiltinIntent":{ + "name":"GetBuiltinIntent", + "http":{ + "method":"GET", + "requestUri":"/builtins/intents/{signature}", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinIntentRequest"}, + "output":{"shape":"GetBuiltinIntentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about a built-in intent.

This operation requires permission for the lex:GetBuiltinIntent action.

" + }, + "GetBuiltinIntents":{ + "name":"GetBuiltinIntents", + "http":{ + "method":"GET", + "requestUri":"/builtins/intents/", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinIntentsRequest"}, + "output":{"shape":"GetBuiltinIntentsResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets a list of built-in intents that meet the specified criteria.

This operation requires permission for the lex:GetBuiltinIntents action.

" + }, + "GetBuiltinSlotTypes":{ + "name":"GetBuiltinSlotTypes", + "http":{ + "method":"GET", + "requestUri":"/builtins/slottypes/", + "responseCode":200 + }, + "input":{"shape":"GetBuiltinSlotTypesRequest"}, + "output":{"shape":"GetBuiltinSlotTypesResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets a list of built-in slot types that meet the specified criteria.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

This operation requires permission for the lex:GetBuiltInSlotTypes action.

" + }, + "GetExport":{ + "name":"GetExport", + "http":{ + "method":"GET", + "requestUri":"/exports/", + "responseCode":200 + }, + "input":{"shape":"GetExportRequest"}, + "output":{"shape":"GetExportResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Exports the contents of a Amazon Lex resource in a specified format.

" + }, + "GetImport":{ + "name":"GetImport", + "http":{ + "method":"GET", + "requestUri":"/imports/{importId}", + "responseCode":200 + }, + "input":{"shape":"GetImportRequest"}, + "output":{"shape":"GetImportResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about an import job started with the StartImport operation.

" + }, + "GetIntent":{ + "name":"GetIntent", + "http":{ + "method":"GET", + "requestUri":"/intents/{name}/versions/{version}", + "responseCode":200 + }, + "input":{"shape":"GetIntentRequest"}, + "output":{"shape":"GetIntentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about an intent. In addition to the intent name, you must specify the intent version.

This operation requires permissions to perform the lex:GetIntent action.

" + }, + "GetIntentVersions":{ + "name":"GetIntentVersions", + "http":{ + "method":"GET", + "requestUri":"/intents/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetIntentVersionsRequest"}, + "output":{"shape":"GetIntentVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all of the versions of an intent.

The GetIntentVersions operation returns an IntentMetadata object for each version of an intent. For example, if an intent has three numbered versions, the GetIntentVersions operation returns four IntentMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetIntentVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetIntentVersions action.

" + }, + "GetIntents":{ + "name":"GetIntents", + "http":{ + "method":"GET", + "requestUri":"/intents/", + "responseCode":200 + }, + "input":{"shape":"GetIntentsRequest"}, + "output":{"shape":"GetIntentsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns intent information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all intents that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all intents.

The operation requires permission for the lex:GetIntents action.

" + }, + "GetSlotType":{ + "name":"GetSlotType", + "http":{ + "method":"GET", + "requestUri":"/slottypes/{name}/versions/{version}", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypeRequest"}, + "output":{"shape":"GetSlotTypeResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns information about a specific version of a slot type. In addition to specifying the slot type name, you must specify the slot type version.

This operation requires permissions for the lex:GetSlotType action.

" + }, + "GetSlotTypeVersions":{ + "name":"GetSlotTypeVersions", + "http":{ + "method":"GET", + "requestUri":"/slottypes/{name}/versions/", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypeVersionsRequest"}, + "output":{"shape":"GetSlotTypeVersionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Gets information about all versions of a slot type.

The GetSlotTypeVersions operation returns a SlotTypeMetadata object for each version of a slot type. For example, if a slot type has three numbered versions, the GetSlotTypeVersions operation returns four SlotTypeMetadata objects in the response, one for each numbered version and one for the $LATEST version.

The GetSlotTypeVersions operation always returns at least one version, the $LATEST version.

This operation requires permissions for the lex:GetSlotTypeVersions action.

" + }, + "GetSlotTypes":{ + "name":"GetSlotTypes", + "http":{ + "method":"GET", + "requestUri":"/slottypes/", + "responseCode":200 + }, + "input":{"shape":"GetSlotTypesRequest"}, + "output":{"shape":"GetSlotTypesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Returns slot type information as follows:

  • If you specify the nameContains field, returns the $LATEST version of all slot types that contain the specified string.

  • If you don't specify the nameContains field, returns information about the $LATEST version of all slot types.

The operation requires permission for the lex:GetSlotTypes action.

" + }, + "GetUtterancesView":{ + "name":"GetUtterancesView", + "http":{ + "method":"GET", + "requestUri":"/bots/{botname}/utterances?view=aggregation", + "responseCode":200 + }, + "input":{"shape":"GetUtterancesViewRequest"}, + "output":{"shape":"GetUtterancesViewResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Use the GetUtterancesView operation to get information about the utterances that your users have made to your bot. You can use this list to tune the utterances that your bot responds to.

For example, say that you have created a bot to order flowers. After your users have used your bot for a while, use the GetUtterancesView operation to see the requests that they have made and whether they have been successful. You might find that the utterance \"I want flowers\" is not being recognized. You could add this utterance to the OrderFlowers intent so that your bot recognizes that utterance.

After you publish a new version of a bot, you can get information about the old version and the new so that you can compare the performance across the two versions.

Utterance statistics are generated once a day. Data is available for the last 15 days. You can request information for up to 5 versions of your bot in each request. Amazon Lex returns the most frequent utterances received by the bot in the last 15 days. The response contains information about a maximum of 100 utterances for each version.

If you set childDirected field to true when you created your bot, or if you opted out of participating in improving Amazon Lex, utterances are not available.

This operation requires permissions for the lex:GetUtterancesView action.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Gets a list of tags associated with the specified resource. Only bots, bot aliases, and bot channels can have tags associated with them.

" + }, + "PutBot":{ + "name":"PutBot", + "http":{ + "method":"PUT", + "requestUri":"/bots/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutBotRequest"}, + "output":{"shape":"PutBotResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an Amazon Lex conversational bot or replaces an existing bot. When you create or update a bot you are only required to specify a name, a locale, and whether the bot is directed toward children under age 13. You can use this to add intents later, or to remove intents from an existing bot. When you create a bot with the minimum information, the bot is created or updated but Amazon Lex returns the response FAILED. You can build the bot after you add one or more intents. For more information about Amazon Lex bots, see how-it-works.

If you specify the name of an existing bot, the fields in the request replace the existing values in the $LATEST version of the bot. Amazon Lex removes any fields that you don't provide values for in the request, except for the idleTTLInSeconds and privacySettings fields, which are set to their default values. If you don't specify values for required fields, Amazon Lex throws an exception.

This operation requires permissions for the lex:PutBot action. For more information, see security-iam.

" + }, + "PutBotAlias":{ + "name":"PutBotAlias", + "http":{ + "method":"PUT", + "requestUri":"/bots/{botName}/aliases/{name}", + "responseCode":200 + }, + "input":{"shape":"PutBotAliasRequest"}, + "output":{"shape":"PutBotAliasResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an alias for the specified version of the bot or replaces an alias for the specified bot. To change the version of the bot that the alias points to, replace the alias. For more information about aliases, see versioning-aliases.

This operation requires permissions for the lex:PutBotAlias action.

" + }, + "PutIntent":{ + "name":"PutIntent", + "http":{ + "method":"PUT", + "requestUri":"/intents/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutIntentRequest"}, + "output":{"shape":"PutIntentResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates an intent or replaces an existing intent.

To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an OrderPizza intent.

To create an intent or replace an existing intent, you must provide the following:

  • Intent name. For example, OrderPizza.

  • Sample utterances. For example, \"Can I order a pizza, please.\" and \"I want to order a pizza.\"

  • Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.

  • How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.

You can specify other optional information in the request, such as:

  • A confirmation prompt to ask the user to confirm an intent. For example, \"Shall I order your pizza?\"

  • A conclusion statement to send to the user after the intent has been fulfilled. For example, \"I placed your pizza order.\"

  • A follow-up prompt that asks the user for additional activity. For example, asking \"Do you want to order a drink with your pizza?\"

If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the $LATEST version of the intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the $LATEST version of an intent, the status field of any bot that uses the $LATEST version of the intent is set to NOT_BUILT.

For more information, see how-it-works.

This operation requires permissions for the lex:PutIntent action.

" + }, + "PutSlotType":{ + "name":"PutSlotType", + "http":{ + "method":"PUT", + "requestUri":"/slottypes/{name}/versions/$LATEST", + "responseCode":200 + }, + "input":{"shape":"PutSlotTypeRequest"}, + "output":{"shape":"PutSlotTypeResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"}, + {"shape":"PreconditionFailedException"} + ], + "documentation":"

Creates a custom slot type or replaces an existing custom slot type.

To create a custom slot type, specify a name for the slot type and a set of enumeration values, which are the values that a slot of this type can assume. For more information, see how-it-works.

If you specify the name of an existing slot type, the fields in the request replace the existing values in the $LATEST version of the slot type. Amazon Lex removes the fields that you don't provide in the request. If you don't specify required fields, Amazon Lex throws an exception. When you update the $LATEST version of a slot type, if a bot uses the $LATEST version of an intent that contains the slot type, the bot's status field is set to NOT_BUILT.

This operation requires permissions for the lex:PutSlotType action.

" + }, + "StartImport":{ + "name":"StartImport", + "http":{ + "method":"POST", + "requestUri":"/imports/", + "responseCode":201 + }, + "input":{"shape":"StartImportRequest"}, + "output":{"shape":"StartImportResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Starts a job to import a resource to Amazon Lex.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Adds the specified tags to the specified resource. If a tag key already exists, the existing value is replaced with the new value.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Removes tags from a bot, bot alias or bot channel.

" + } + }, + "shapes":{ + "AliasName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([A-Za-z]_?)+$" + }, + "AliasNameOrListAll":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(-|^([A-Za-z]_?)+$)$" + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The request is not well formed. For example, a value is invalid or a required field is missing. Check the field values, and try again.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Blob":{"type":"blob"}, + "Boolean":{"type":"boolean"}, + "BotAliasMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the Amazon Lex bot to which the alias points.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot to which the alias points.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot alias.

" + }, + "conversationLogs":{ + "shape":"ConversationLogsResponse", + "documentation":"

Settings that determine how Amazon Lex uses conversation logs for the alias.

" + } + }, + "documentation":"

Provides information about a bot alias.

" + }, + "BotAliasMetadataList":{ + "type":"list", + "member":{"shape":"BotAliasMetadata"} + }, + "BotChannelAssociation":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A text description of the association you are creating.

" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot to which this association is being made.

Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the association between the Amazon Lex bot and the channel was created.

" + }, + "type":{ + "shape":"ChannelType", + "documentation":"

Specifies the type of association by indicating the type of channel being established between the Amazon Lex bot and the external messaging platform.

" + }, + "botConfiguration":{ + "shape":"ChannelConfigurationMap", + "documentation":"

Provides information necessary to communicate with the messaging platform.

" + }, + "status":{ + "shape":"ChannelStatus", + "documentation":"

The status of the bot channel.

  • CREATED - The channel has been created and is ready for use.

  • IN_PROGRESS - Channel creation is in progress.

  • FAILED - There was an error creating the channel. For information about the reason for the failure, see the failureReason field.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

" + } + }, + "documentation":"

Represents an association between an Amazon Lex bot and an external messaging platform.

" + }, + "BotChannelAssociationList":{ + "type":"list", + "member":{"shape":"BotChannelAssociation"} + }, + "BotChannelName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([A-Za-z]_?)+$" + }, + "BotMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a bot, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + } + }, + "documentation":"

Provides information about a bot. .

" + }, + "BotMetadataList":{ + "type":"list", + "member":{"shape":"BotMetadata"} + }, + "BotName":{ + "type":"string", + "max":50, + "min":2, + "pattern":"^([A-Za-z]_?)+$" + }, + "BotVersions":{ + "type":"list", + "member":{"shape":"Version"}, + "max":5, + "min":1 + }, + "BuiltinIntentMetadata":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of identifiers for the locales that the intent supports.

" + } + }, + "documentation":"

Provides metadata for a built-in intent.

" + }, + "BuiltinIntentMetadataList":{ + "type":"list", + "member":{"shape":"BuiltinIntentMetadata"} + }, + "BuiltinIntentSignature":{"type":"string"}, + "BuiltinIntentSlot":{ + "type":"structure", + "members":{ + "name":{ + "shape":"String", + "documentation":"

A list of the slots defined for the intent.

" + } + }, + "documentation":"

Provides information about a slot used in a built-in intent.

" + }, + "BuiltinIntentSlotList":{ + "type":"list", + "member":{"shape":"BuiltinIntentSlot"} + }, + "BuiltinSlotTypeMetadata":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinSlotTypeSignature", + "documentation":"

A unique identifier for the built-in slot type. To find the signature for a slot type, see Slot Type Reference in the Alexa Skills Kit.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of target locales for the slot.

" + } + }, + "documentation":"

Provides information about a built in slot type.

" + }, + "BuiltinSlotTypeMetadataList":{ + "type":"list", + "member":{"shape":"BuiltinSlotTypeMetadata"} + }, + "BuiltinSlotTypeSignature":{"type":"string"}, + "ChannelConfigurationMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"}, + "max":10, + "min":1, + "sensitive":true + }, + "ChannelStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "CREATED", + "FAILED" + ] + }, + "ChannelType":{ + "type":"string", + "enum":[ + "Facebook", + "Slack", + "Twilio-Sms", + "Kik" + ] + }, + "CodeHook":{ + "type":"structure", + "required":[ + "uri", + "messageVersion" + ], + "members":{ + "uri":{ + "shape":"LambdaARN", + "documentation":"

The Amazon Resource Name (ARN) of the Lambda function.

" + }, + "messageVersion":{ + "shape":"MessageVersion", + "documentation":"

The version of the request-response that you want Amazon Lex to use to invoke your Lambda function. For more information, see using-lambda.

" + } + }, + "documentation":"

Specifies a Lambda function that verifies requests to a bot or fulfills the user's request to a bot..

" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

There was a conflict processing the request. Try your request again.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContentString":{ + "type":"string", + "max":1000, + "min":1 + }, + "ContentType":{ + "type":"string", + "enum":[ + "PlainText", + "SSML", + "CustomPayload" + ] + }, + "ConversationLogsRequest":{ + "type":"structure", + "required":[ + "logSettings", + "iamRoleArn" + ], + "members":{ + "logSettings":{ + "shape":"LogSettingsRequestList", + "documentation":"

The settings for your conversation logs. You can log the conversation text, conversation audio, or both.

" + }, + "iamRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of an IAM role with permission to write to your CloudWatch Logs for text logs and your S3 bucket for audio logs. If audio encryption is enabled, this role also provides access permission for the AWS KMS key used for encrypting audio logs. For more information, see Creating an IAM Role and Policy for Conversation Logs.

" + } + }, + "documentation":"

Provides the settings needed for conversation logs.

" + }, + "ConversationLogsResponse":{ + "type":"structure", + "members":{ + "logSettings":{ + "shape":"LogSettingsResponseList", + "documentation":"

The settings for your conversation logs. You can log text, audio, or both.

" + }, + "iamRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role used to write your logs to CloudWatch Logs or an S3 bucket.

" + } + }, + "documentation":"

Contains information about conversation log settings.

" + }, + "Count":{"type":"integer"}, + "CreateBotVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot that you want to create a new version of. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version of the bot. If you specify a checksum and the $LATEST version of the bot has a different checksum, a PreconditionFailedException exception is returned and Amazon Lex doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateBotVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. For more information, see PutBot.

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The message that Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

" + }, + "status":{ + "shape":"Status", + "documentation":"

When you send a request to create or update a bot, Amazon Lex sets the status response element to BUILDING. After Amazon Lex builds the bot, it sets status to READY. If Amazon Lex can't build the bot, it sets status to FAILED. Amazon Lex returns the reason for the failure in the failureReason response element.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date when the $LATEST version of this bot was updated.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date when the bot version was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interactions with the user.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum identifying the version of the bot that was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

Specifies the target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + }, + "detectSentiment":{ + "shape":"Boolean", + "documentation":"

Indicates whether utterances entered by the user should be sent to Amazon Comprehend for sentiment analysis.

" + } + } + }, + "CreateIntentVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent that you want to create a new version of. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the intent that should be used to create the new version. If you specify a checksum and the $LATEST version of the intent has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish a new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateIntentVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of slot types that defines the information required to fulfill the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined, the prompt that Amazon Lex uses to confirm the user's intent before fulfilling it.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in the fulfillmentActivity field fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined, Amazon Lex invokes this Lambda function for each user input.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Describes how the intent is fulfilled.

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for a built-in intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version number assigned to the new version of the intent.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the intent version created.

" + } + } + }, + "CreateSlotTypeVersionRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type that you want to create a new version for. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum for the $LATEST version of the slot type that you want to publish. If you specify a checksum and the $LATEST version of the slot type has a different checksum, Amazon Lex returns a PreconditionFailedException exception and doesn't publish the new version. If you don't specify a checksum, Amazon Lex publishes the $LATEST version.

" + } + } + }, + "CreateSlotTypeVersionResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version assigned to the new slot type version.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + }, + "valueSelectionStrategy":{ + "shape":"SlotValueSelectionStrategy", + "documentation":"

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" + }, + "parentSlotTypeSignature":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The built-in slot type used a the parent of the slot type.

" + }, + "slotTypeConfigurations":{ + "shape":"SlotTypeConfigurations", + "documentation":"

Configuration information that extends the parent built-in slot type.

" + } + } + }, + "CustomOrBuiltinSlotTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^((AMAZON\\.)_?|[A-Za-z]_?)+" + }, + "DeleteBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias to delete. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

", + "location":"uri", + "locationName":"botName" + } + } + }, + "DeleteBotChannelAssociationRequest":{ + "type":"structure", + "required":[ + "name", + "botName", + "botAlias" + ], + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias that points to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + } + } + }, + "DeleteBotRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteBotVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the bot to delete. You cannot delete the $LATEST version of the bot. To delete the $LATEST version, use the DeleteBot operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteIntentRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteIntentVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the intent to delete. You cannot delete the $LATEST version of the intent. To delete the $LATEST version, use the DeleteIntent operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteSlotTypeRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteSlotTypeVersionRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the slot type to delete. You cannot delete the $LATEST version of the slot type. To delete the $LATEST version, use the DeleteSlotType operation.

", + "location":"uri", + "locationName":"version" + } + } + }, + "DeleteUtterancesRequest":{ + "type":"structure", + "required":[ + "botName", + "userId" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that stored the utterances.

", + "location":"uri", + "locationName":"botName" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The unique identifier for the user that made the utterances. This is the user ID that was sent in the PostContent or PostText operation request that contained the utterance.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "Description":{ + "type":"string", + "max":200, + "min":0 + }, + "Destination":{ + "type":"string", + "enum":[ + "CLOUDWATCH_LOGS", + "S3" + ] + }, + "EnumerationValue":{ + "type":"structure", + "required":["value"], + "members":{ + "value":{ + "shape":"Value", + "documentation":"

The value of the slot type.

" + }, + "synonyms":{ + "shape":"SynonymList", + "documentation":"

Additional values related to the slot type value.

" + } + }, + "documentation":"

Each slot type can have a set of values. Each enumeration value represents a value the slot type can take.

For example, a pizza ordering bot could have a slot type that specifies the type of crust that the pizza should have. The slot type could include the values

  • thick

  • thin

  • stuffed

" + }, + "EnumerationValues":{ + "type":"list", + "member":{"shape":"EnumerationValue"}, + "max":10000, + "min":0 + }, + "ExportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "READY", + "FAILED" + ] + }, + "ExportType":{ + "type":"string", + "enum":[ + "ALEXA_SKILLS_KIT", + "LEX" + ] + }, + "FollowUpPrompt":{ + "type":"structure", + "required":[ + "prompt", + "rejectionStatement" + ], + "members":{ + "prompt":{ + "shape":"Prompt", + "documentation":"

Prompts for information from the user.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in the prompt field, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + } + }, + "documentation":"

A prompt for additional activity after an intent is fulfilled. For example, after the OrderPizza intent is fulfilled, you might prompt the user to find out whether the user wants to order drinks.

" + }, + "FulfillmentActivity":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"FulfillmentActivityType", + "documentation":"

How the intent should be fulfilled, either by running a Lambda function or by returning the slot data to the client application.

" + }, + "codeHook":{ + "shape":"CodeHook", + "documentation":"

A description of the Lambda function that is run to fulfill the intent.

" + } + }, + "documentation":"

Describes how the intent is fulfilled after the user provides all of the information required for the intent. You can provide a Lambda function to process the intent, or you can return the intent information to the client application. We recommend that you use a Lambda function so that the relevant logic lives in the Cloud and limit the client-side code primarily to presentation. If you need to update the logic, you only update the Lambda function; you don't need to upgrade your client application.

Consider the following examples:

  • In a pizza ordering application, after the user provides all of the information for placing an order, you use a Lambda function to place an order with a pizzeria.

  • In a gaming application, when a user says \"pick up a rock,\" this information must go back to the client application so that it can perform the operation and update the graphics. In this case, you want Amazon Lex to return the intent data to the client.

" + }, + "FulfillmentActivityType":{ + "type":"string", + "enum":[ + "ReturnIntent", + "CodeHook" + ] + }, + "GetBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + } + } + }, + "GetBotAliasResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the bot alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that the alias points to.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot alias.

" + }, + "conversationLogs":{ + "shape":"ConversationLogsResponse", + "documentation":"

The settings that determine how Amazon Lex uses conversation logs for the alias.

" + } + } + }, + "GetBotAliasesRequest":{ + "type":"structure", + "required":["botName"], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of aliases to return in the response. The default is 50. .

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"AliasName", + "documentation":"

Substring to match in bot alias names. An alias will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotAliasesResponse":{ + "type":"structure", + "members":{ + "BotAliases":{ + "shape":"BotAliasMetadataList", + "documentation":"

An array of BotAliasMetadata objects, each describing a bot alias.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching next page of aliases. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of aliases, specify the pagination token in the next request.

" + } + } + }, + "GetBotChannelAssociationRequest":{ + "type":"structure", + "required":[ + "name", + "botName", + "botAlias" + ], + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + } + } + }, + "GetBotChannelAssociationResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotChannelName", + "documentation":"

The name of the association between the bot and the channel.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the association between the bot and the channel.

" + }, + "botAlias":{ + "shape":"AliasName", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the association between the bot and the channel was created.

" + }, + "type":{ + "shape":"ChannelType", + "documentation":"

The type of the messaging platform.

" + }, + "botConfiguration":{ + "shape":"ChannelConfigurationMap", + "documentation":"

Provides information that the messaging platform needs to communicate with the Amazon Lex bot.

" + }, + "status":{ + "shape":"ChannelStatus", + "documentation":"

The status of the bot channel.

  • CREATED - The channel has been created and is ready for use.

  • IN_PROGRESS - Channel creation is in progress.

  • FAILED - There was an error creating the channel. For information about the reason for the failure, see the failureReason field.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to create the association.

" + } + } + }, + "GetBotChannelAssociationsRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot in the association.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"AliasNameOrListAll", + "documentation":"

An alias pointing to the specific version of the Amazon Lex bot to which this association is being made.

", + "location":"uri", + "locationName":"aliasName" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of associations to return in the response. The default is 50.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"BotChannelName", + "documentation":"

Substring to match in channel association names. An association will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To return all bot channel associations, use a hyphen (\"-\") as the nameContains parameter.

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotChannelAssociationsResponse":{ + "type":"structure", + "members":{ + "botChannelAssociations":{ + "shape":"BotChannelAssociationList", + "documentation":"

An array of objects, one for each association, that provides information about the Amazon Lex bot and its association with the channel.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of associations. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of associations, specify the pagination token in the next request.

" + } + } + }, + "GetBotRequest":{ + "type":"structure", + "required":[ + "name", + "versionOrAlias" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "versionOrAlias":{ + "shape":"String", + "documentation":"

The version or alias of the bot.

", + "location":"uri", + "locationName":"versionoralias" + } + } + }, + "GetBotResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of intent objects. For more information, see PutBot.

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The message Amazon Lex uses when it doesn't understand the user's request. For more information, see PutBot.

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see PutBot.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the bot.

When the status is BUILDING Amazon Lex is building the bot for testing and use.

If the status of the bot is READY_BASIC_TESTING, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is READY.

If there was a problem with building the bot, the status is FAILED and the failureReason field explains why the bot did not build.

If the bot was saved but not built, the status is NOT_BUILT.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex explains why it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot used to identify a specific revision of the bot's $LATEST version.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + }, + "detectSentiment":{ + "shape":"Boolean", + "documentation":"

Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.

" + } + } + }, + "GetBotVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of bot versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBotVersionsResponse":{ + "type":"structure", + "members":{ + "bots":{ + "shape":"BotMetadataList", + "documentation":"

An array of BotMetadata objects, one for each numbered version of the bot plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of bot versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetBotsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of bots. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of bots, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of bots to return in the response that the request will return. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"BotName", + "documentation":"

Substring to match in bot names. A bot will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetBotsResponse":{ + "type":"structure", + "members":{ + "bots":{ + "shape":"BotMetadataList", + "documentation":"

An array of botMetadata objects, with one entry for each bot.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, it includes a pagination token that you can specify in your next request to fetch the next page of bots.

" + } + } + }, + "GetBuiltinIntentRequest":{ + "type":"structure", + "required":["signature"], + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

The unique identifier for a built-in intent. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"signature" + } + } + }, + "GetBuiltinIntentResponse":{ + "type":"structure", + "members":{ + "signature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

The unique identifier for a built-in intent.

" + }, + "supportedLocales":{ + "shape":"LocaleList", + "documentation":"

A list of locales that the intent supports.

" + }, + "slots":{ + "shape":"BuiltinIntentSlotList", + "documentation":"

An array of BuiltinIntentSlot objects, one entry for each slot type in the intent.

" + } + } + }, + "GetBuiltinIntentsRequest":{ + "type":"structure", + "members":{ + "locale":{ + "shape":"Locale", + "documentation":"

A list of locales that the intent supports.

", + "location":"querystring", + "locationName":"locale" + }, + "signatureContains":{ + "shape":"String", + "documentation":"

Substring to match in built-in intent signatures. An intent will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\" To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"querystring", + "locationName":"signatureContains" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, use the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intents to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBuiltinIntentsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"BuiltinIntentMetadataList", + "documentation":"

An array of builtinIntentMetadata objects, one for each intent in the response.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

" + } + } + }, + "GetBuiltinSlotTypesRequest":{ + "type":"structure", + "members":{ + "locale":{ + "shape":"Locale", + "documentation":"

A list of locales that the slot type supports.

", + "location":"querystring", + "locationName":"locale" + }, + "signatureContains":{ + "shape":"String", + "documentation":"

Substring to match in built-in slot type signatures. A slot type will be returned if any part of its signature matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"signatureContains" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of slot types, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot types to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetBuiltinSlotTypesResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"BuiltinSlotTypeMetadataList", + "documentation":"

An array of BuiltInSlotTypeMetadata objects, one entry for each slot type returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the response includes a pagination token that you can use in your next request to fetch the next page of slot types.

" + } + } + }, + "GetExportRequest":{ + "type":"structure", + "required":[ + "name", + "version", + "resourceType", + "exportType" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the bot to export.

", + "location":"querystring", + "locationName":"name" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the bot to export.

", + "location":"querystring", + "locationName":"version" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to export.

", + "location":"querystring", + "locationName":"resourceType" + }, + "exportType":{ + "shape":"ExportType", + "documentation":"

The format of the exported data.

", + "location":"querystring", + "locationName":"exportType" + } + } + }, + "GetExportResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the bot being exported.

" + }, + "version":{ + "shape":"NumericalVersion", + "documentation":"

The version of the bot being exported.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of the exported resource.

" + }, + "exportType":{ + "shape":"ExportType", + "documentation":"

The format of the exported data.

" + }, + "exportStatus":{ + "shape":"ExportStatus", + "documentation":"

The status of the export.

  • IN_PROGRESS - The export is in progress.

  • READY - The export is complete.

  • FAILED - The export could not be completed.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to export the resource.

" + }, + "url":{ + "shape":"String", + "documentation":"

An S3 pre-signed URL that provides the location of the exported resource. The exported resource is a ZIP archive that contains the exported resource in JSON format. The structure of the archive may change. Your code should not rely on the archive structure.

" + } + } + }, + "GetImportRequest":{ + "type":"structure", + "required":["importId"], + "members":{ + "importId":{ + "shape":"String", + "documentation":"

The identifier of the import job information to return.

", + "location":"uri", + "locationName":"importId" + } + } + }, + "GetImportResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name given to the import job.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource imported.

" + }, + "mergeStrategy":{ + "shape":"MergeStrategy", + "documentation":"

The action taken when there was a conflict between an existing resource and a resource in the import file.

" + }, + "importId":{ + "shape":"String", + "documentation":"

The identifier for the specific import job.

" + }, + "importStatus":{ + "shape":"ImportStatus", + "documentation":"

The status of the import job. If the status is FAILED, you can get the reason for the failure from the failureReason field.

" + }, + "failureReason":{ + "shape":"StringList", + "documentation":"

A string that describes why an import job failed to complete.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

A timestamp for the date and time that the import job was created.

" + } + } + }, + "GetIntentRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

", + "location":"uri", + "locationName":"version" + } + } + }, + "GetIntentResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots configured for the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined in the bot, Amazon Lex uses prompt to confirm the intent before fulfilling the user's request. For more information, see PutIntent.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined in the bot, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled. For more information, see PutIntent.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in the fulfillmentActivity element fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined in the bot, Amazon Amazon Lex invokes this Lambda function for each user input. For more information, see PutIntent.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Describes how the intent is fulfilled. For more information, see PutIntent.

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for a built-in intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the intent.

" + } + } + }, + "GetIntentVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intent versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetIntentVersionsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"IntentMetadataList", + "documentation":"

An array of IntentMetadata objects, one for each numbered version of the intent plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of intent versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetIntentsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of intents. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of intents, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of intents to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"IntentName", + "documentation":"

Substring to match in intent names. An intent will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetIntentsResponse":{ + "type":"structure", + "members":{ + "intents":{ + "shape":"IntentMetadataList", + "documentation":"

An array of Intent objects. For more information, see PutBot.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, the response includes a pagination token that you can specify in your next request to fetch the next page of intents.

" + } + } + }, + "GetSlotTypeRequest":{ + "type":"structure", + "required":[ + "name", + "version" + ], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

", + "location":"uri", + "locationName":"version" + } + } + }, + "GetSlotTypeResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + }, + "valueSelectionStrategy":{ + "shape":"SlotValueSelectionStrategy", + "documentation":"

The strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" + }, + "parentSlotTypeSignature":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The built-in slot type used as a parent for the slot type.

" + }, + "slotTypeConfigurations":{ + "shape":"SlotTypeConfigurations", + "documentation":"

Configuration information that extends the parent built-in slot type.

" + } + } + }, + "GetSlotTypeVersionsRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type for which versions should be returned.

", + "location":"uri", + "locationName":"name" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of slot type versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot type versions to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "GetSlotTypeVersionsResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"SlotTypeMetadataList", + "documentation":"

An array of SlotTypeMetadata objects, one for each numbered version of the slot type plus one for the $LATEST version.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token for fetching the next page of slot type versions. If the response to this call is truncated, Amazon Lex returns a pagination token in the response. To fetch the next page of versions, specify the pagination token in the next request.

" + } + } + }, + "GetSlotTypesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A pagination token that fetches the next page of slot types. If the response to this API call is truncated, Amazon Lex returns a pagination token in the response. To fetch next page of slot types, specify the pagination token in the next request.

", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of slot types to return in the response. The default is 10.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nameContains":{ + "shape":"SlotTypeName", + "documentation":"

Substring to match in slot type names. A slot type will be returned if any part of its name matches the substring. For example, \"xyz\" matches both \"xyzabc\" and \"abcxyz.\"

", + "location":"querystring", + "locationName":"nameContains" + } + } + }, + "GetSlotTypesResponse":{ + "type":"structure", + "members":{ + "slotTypes":{ + "shape":"SlotTypeMetadataList", + "documentation":"

An array of objects, one for each slot type, that provides information such as the name of the slot type, the version, and a description.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

If the response is truncated, it includes a pagination token that you can specify in your next request to fetch the next page of slot types.

" + } + } + }, + "GetUtterancesViewRequest":{ + "type":"structure", + "required":[ + "botName", + "botVersions", + "statusType" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot for which utterance information should be returned.

", + "location":"uri", + "locationName":"botname" + }, + "botVersions":{ + "shape":"BotVersions", + "documentation":"

An array of bot versions for which utterance information should be returned. The limit is 5 versions per request.

", + "location":"querystring", + "locationName":"bot_versions" + }, + "statusType":{ + "shape":"StatusType", + "documentation":"

To return utterances that were recognized and handled, use Detected. To return utterances that were not recognized, use Missed.

", + "location":"querystring", + "locationName":"status_type" + } + } + }, + "GetUtterancesViewResponse":{ + "type":"structure", + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot for which utterance information was returned.

" + }, + "utterances":{ + "shape":"ListsOfUtterances", + "documentation":"

An array of UtteranceList objects, each containing a list of UtteranceData objects describing the utterances that were processed by your bot. The response contains a maximum of 100 UtteranceData objects for each version. Amazon Lex returns the most frequent utterances received by the bot in the last 15 days.

" + } + } + }, + "GroupNumber":{ + "type":"integer", + "box":true, + "max":5, + "min":1 + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w\\-]+:iam::[\\d]{12}:role\\/[\\w+=,\\.@\\-]{1,64}$" + }, + "ImportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETE", + "FAILED" + ] + }, + "Intent":{ + "type":"structure", + "required":[ + "intentName", + "intentVersion" + ], + "members":{ + "intentName":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "intentVersion":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + } + }, + "documentation":"

Identifies the specific version of an intent.

" + }, + "IntentList":{ + "type":"list", + "member":{"shape":"Intent"} + }, + "IntentMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create an intent, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent.

" + } + }, + "documentation":"

Provides information about an intent.

" + }, + "IntentMetadataList":{ + "type":"list", + "member":{"shape":"IntentMetadata"} + }, + "IntentName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([A-Za-z]_?)+$" + }, + "IntentUtteranceList":{ + "type":"list", + "member":{"shape":"Utterance"}, + "max":1500, + "min":0 + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

An internal Amazon Lex error occurred. Try your request again.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w\\-]+:kms:[\\w\\-]+:[\\d]{12}:(?:key\\/[\\w\\-]+|alias\\/[a-zA-Z0-9:\\/_\\-]{1,256})$" + }, + "LambdaARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws:lambda:[a-z]+-[a-z]+-[0-9]:[0-9]{12}:function:[a-zA-Z0-9-_]+(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})?(:[a-zA-Z0-9-_]+)?" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"String", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"String"} + }, + "documentation":"

The request exceeded a limit. Try your request again.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListOfUtterance":{ + "type":"list", + "member":{"shape":"UtteranceData"} + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource to get a list of tags for.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

The tags associated with a resource.

" + } + } + }, + "ListsOfUtterances":{ + "type":"list", + "member":{"shape":"UtteranceList"} + }, + "Locale":{ + "type":"string", + "enum":[ + "en-US", + "en-GB", + "de-DE" + ] + }, + "LocaleList":{ + "type":"list", + "member":{"shape":"Locale"} + }, + "LogSettingsRequest":{ + "type":"structure", + "required":[ + "logType", + "destination", + "resourceArn" + ], + "members":{ + "logType":{ + "shape":"LogType", + "documentation":"

The type of logging to enable. Text logs are delivered to a CloudWatch Logs log group. Audio logs are delivered to an S3 bucket.

" + }, + "destination":{ + "shape":"Destination", + "documentation":"

Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs log group. Audio logs are delivered to an S3 bucket.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the AWS KMS customer managed key for encrypting audio logs delivered to an S3 bucket. The key does not apply to CloudWatch Logs and is optional for S3 buckets.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs should be delivered.

" + } + }, + "documentation":"

Settings used to configure delivery mode and destination for conversation logs.

" + }, + "LogSettingsRequestList":{ + "type":"list", + "member":{"shape":"LogSettingsRequest"} + }, + "LogSettingsResponse":{ + "type":"structure", + "members":{ + "logType":{ + "shape":"LogType", + "documentation":"

The type of logging that is enabled.

" + }, + "destination":{ + "shape":"Destination", + "documentation":"

The destination where logs are delivered.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 bucket.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket where the logs are delivered.

" + }, + "resourcePrefix":{ + "shape":"ResourcePrefix", + "documentation":"

The resource prefix is the first part of the S3 object key within the S3 bucket that you specified to contain audio logs. For CloudWatch Logs it is the prefix of the log stream name within the log group that you specified.

" + } + }, + "documentation":"

The settings for conversation logs.

" + }, + "LogSettingsResponseList":{ + "type":"list", + "member":{"shape":"LogSettingsResponse"} + }, + "LogType":{ + "type":"string", + "enum":[ + "AUDIO", + "TEXT" + ] + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "MergeStrategy":{ + "type":"string", + "enum":[ + "OVERWRITE_LATEST", + "FAIL_ON_CONFLICT" + ] + }, + "Message":{ + "type":"structure", + "required":[ + "contentType", + "content" + ], + "members":{ + "contentType":{ + "shape":"ContentType", + "documentation":"

The content type of the message string.

" + }, + "content":{ + "shape":"ContentString", + "documentation":"

The text of the message.

" + }, + "groupNumber":{ + "shape":"GroupNumber", + "documentation":"

Identifies the message group that the message belongs to. When a group is assigned to a message, Amazon Lex returns one message from each group in the response.

" + } + }, + "documentation":"

The message object that provides the message text and its type.

" + }, + "MessageList":{ + "type":"list", + "member":{"shape":"Message"}, + "max":15, + "min":1 + }, + "MessageVersion":{ + "type":"string", + "max":5, + "min":1 + }, + "Name":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z_]+" + }, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource specified in the request was not found. Check the resource and try again.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NumericalVersion":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9]+" + }, + "ObfuscationSetting":{ + "type":"string", + "enum":[ + "NONE", + "DEFAULT_OBFUSCATION" + ] + }, + "PreconditionFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The checksum of the resource that you are trying to change does not match the checksum in the request. Check the resource's checksum and try again.

", + "error":{"httpStatusCode":412}, + "exception":true + }, + "Priority":{ + "type":"integer", + "max":100, + "min":0 + }, + "ProcessBehavior":{ + "type":"string", + "enum":[ + "SAVE", + "BUILD" + ] + }, + "Prompt":{ + "type":"structure", + "required":[ + "messages", + "maxAttempts" + ], + "members":{ + "messages":{ + "shape":"MessageList", + "documentation":"

An array of objects, each of which provides a message string and its type. You can specify the message string in plain text or in Speech Synthesis Markup Language (SSML).

" + }, + "maxAttempts":{ + "shape":"PromptMaxAttempts", + "documentation":"

The number of times to prompt the user for information.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

A response card. Amazon Lex uses this prompt at runtime, in the PostText API response. It substitutes session attributes and slot values for placeholders in the response card. For more information, see ex-resp-card.

" + } + }, + "documentation":"

Obtains information from the user. To define a prompt, provide one or more messages and specify the number of attempts to get information from the user. If you provide more than one message, Amazon Lex chooses one of the messages to use to prompt the user. For more information, see how-it-works.

" + }, + "PromptMaxAttempts":{ + "type":"integer", + "max":5, + "min":1 + }, + "PutBotAliasRequest":{ + "type":"structure", + "required":[ + "name", + "botVersion", + "botName" + ], + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias. The name is not case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot.

", + "location":"uri", + "locationName":"botName" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new bot alias, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a bot alias, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + }, + "conversationLogs":{ + "shape":"ConversationLogsRequest", + "documentation":"

Settings for conversation logs for the alias.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags to add to the bot alias. You can only add tags when you create an alias, you can't use the PutBotAlias operation to update the tags on a bot alias. To update tags, use the TagResource operation.

" + } + } + }, + "PutBotAliasResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AliasName", + "documentation":"

The name of the alias.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the alias.

" + }, + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that the alias points to.

" + }, + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that the alias points to.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was updated. When you create a resource, the creation date and the last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot alias was created.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

The checksum for the current version of the alias.

" + }, + "conversationLogs":{ + "shape":"ConversationLogsResponse", + "documentation":"

The settings that determine how Amazon Lex uses conversation logs for the alias.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags associated with a bot.

" + } + } + }, + "PutBotRequest":{ + "type":"structure", + "required":[ + "name", + "locale", + "childDirected" + ], + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot. The name is not case sensitive.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. Each intent represents a command that a user can express. For example, a pizza ordering bot might support an OrderPizza intent. For more information, see how-it-works.

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

When Amazon Lex doesn't understand the user's intent, it uses this message to get clarification. To specify how many times Amazon Lex should repeat the clarification prompt, use the maxAttempts field. If Amazon Lex still doesn't understand, it sends the message in the abortStatement field.

When you create a clarification prompt, make sure that it suggests the correct response from the user. for example, for a bot that orders pizza and drinks, you might create this clarification prompt: \"What would you like to do? You can say 'Order a pizza' or 'Order a drink.'\"

If you have defined a fallback intent, it will be invoked if the clarification prompt is repeated the number of times defined in the maxAttempts field. For more information, see AMAZON.FallbackIntent.

If you don't define a clarification prompt, at runtime Amazon Lex will return a 400 Bad Request exception in three cases:

  • Follow-up prompt - When the user responds to a follow-up prompt but does not provide an intent. For example, in response to a follow-up prompt that says \"Would you like anything else today?\" the user says \"Yes.\" Amazon Lex will return a 400 Bad Request exception because it does not have a clarification prompt to send to the user to get an intent.

  • Lambda function - When using a Lambda function, you return an ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt to get an intent from the user, it returns a 400 Bad Request exception.

  • PutSession operation - When using the PutSession operation, you send an ElicitIntent dialog type. Since Amazon Lex does not have a clarification prompt to get an intent from the user, it returns a 400 Bad Request exception.

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

When Amazon Lex can't understand the user's input in context, it tries to elicit the information a few times. After that, Amazon Lex sends the message defined in abortStatement to the user, and then aborts the conversation. To set the number of retries, use the valueElicitationPrompt field for the slot type.

For example, in a pizza ordering bot, Amazon Lex might ask a user \"What type of crust would you like?\" If the user's response is not one of the expected responses (for example, \"thin crust, \"deep dish,\" etc.), Amazon Lex tries to elicit a correct response a few more times.

For example, in a pizza ordering application, OrderPizza might be one of the intents. This intent might require the CrustType slot. You specify the valueElicitationPrompt field when you create the CrustType slot.

If you have defined a fallback intent the abort statement will not be sent to the user, the fallback intent is used instead. For more information, see AMAZON.FallbackIntent.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum time in seconds that Amazon Lex retains the data gathered in a conversation.

A user interaction session remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Lex deletes any data provided before the timeout.

For example, suppose that a user chooses the OrderPizza intent, but gets sidetracked halfway through placing an order. If the user doesn't complete the order within the specified time, Amazon Lex discards the slot information that it gathered, and the user must start over.

If you don't include the idleSessionTTLInSeconds element in a PutBot operation request, Amazon Lex uses the default value. This is also true if the request replaces an existing bot.

The default is 300 seconds (5 minutes).

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that you want Amazon Lex to use for voice interactions with the user. The locale configured for the voice must match the locale of the bot. For more information, see Voices in Amazon Polly in the Amazon Polly Developer Guide.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new bot, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a bot, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + }, + "processBehavior":{ + "shape":"ProcessBehavior", + "documentation":"

If you set the processBehavior element to BUILD, Amazon Lex builds the bot so that it can be run. If you set the element to SAVE Amazon Lex saves the bot, but doesn't build it.

If you don't specify this value, the default value is BUILD.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

Specifies the target locale for the bot. Any intent used in the bot must be compatible with the locale of the bot.

The default is en-US.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + }, + "detectSentiment":{ + "shape":"Boolean", + "documentation":"

When set to true user utterances are sent to Amazon Comprehend for sentiment analysis. If you don't specify detectSentiment, the default is false.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

When set to true a new numbered version of the bot is created. This is the same as calling the CreateBotVersion operation. If you don't specify createVersion, the default is false.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags to add to the bot. You can only add tags when you create a bot, you can't use the PutBot operation to update the tags on a bot. To update tags, use the TagResource operation.

" + } + } + }, + "PutBotResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"BotName", + "documentation":"

The name of the bot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the bot.

" + }, + "intents":{ + "shape":"IntentList", + "documentation":"

An array of Intent objects. For more information, see PutBot.

" + }, + "clarificationPrompt":{ + "shape":"Prompt", + "documentation":"

The prompts that Amazon Lex uses when it doesn't understand the user's intent. For more information, see PutBot.

" + }, + "abortStatement":{ + "shape":"Statement", + "documentation":"

The message that Amazon Lex uses to abort a conversation. For more information, see PutBot.

" + }, + "status":{ + "shape":"Status", + "documentation":"

When you send a request to create a bot with processBehavior set to BUILD, Amazon Lex sets the status response element to BUILDING.

In the READY_BASIC_TESTING state you can test the bot with user inputs that exactly match the utterances configured for the bot's intents and values in the slot types.

If Amazon Lex can't build the bot, Amazon Lex sets status to FAILED. Amazon Lex returns the reason for the failure in the failureReason response element.

When you set processBehavior to SAVE, Amazon Lex sets the status code to NOT BUILT.

When the bot is in the READY state you can test and publish the bot.

" + }, + "failureReason":{ + "shape":"String", + "documentation":"

If status is FAILED, Amazon Lex provides the reason that it failed to build the bot.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the bot was created.

" + }, + "idleSessionTTLInSeconds":{ + "shape":"SessionTTL", + "documentation":"

The maximum length of time that Amazon Lex retains the data gathered in a conversation. For more information, see PutBot.

" + }, + "voiceId":{ + "shape":"String", + "documentation":"

The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see PutBot.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the bot that you created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the bot. For a new bot, the version is always $LATEST.

" + }, + "locale":{ + "shape":"Locale", + "documentation":"

The target locale for the bot.

" + }, + "childDirected":{ + "shape":"Boolean", + "documentation":"

For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying true or false in the childDirected field. By specifying true in the childDirected field, you confirm that your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying false in the childDirected field, you confirm that your use of Amazon Lex is not related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the childDirected field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.

If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the Amazon Lex FAQ.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

True if a new version of the bot was created. If the createVersion field was not specified in the request, the createVersion field is set to false in the response.

" + }, + "detectSentiment":{ + "shape":"Boolean", + "documentation":"

true if the bot is configured to send user utterances to Amazon Comprehend for sentiment analysis. If the detectSentiment field was not specified in the request, the detectSentiment field is false in the response.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags associated with the bot.

" + } + } + }, + "PutIntentRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent. The name is not case sensitive.

The name can't match a built-in intent name, or a built-in intent name with \"AMAZON.\" removed. For example, because there is a built-in intent called AMAZON.HelpIntent, you can't create a custom intent called HelpIntent.

For a list of built-in intents, see Standard Built-in Intents in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see how-it-works.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of utterances (strings) that a user might say to signal the intent. For example, \"I want {PizzaSize} pizza\", \"Order {Quantity} {PizzaSize} pizzas\".

In each utterance, a slot name is enclosed in curly braces.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

Prompts the user to confirm the intent. This question should have a yes or no answer.

Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the OrderPizza intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.

You you must provide both the rejectionStatement and the confirmationPrompt, or neither.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

When the user answers \"no\" to the question defined in confirmationPrompt, Amazon Lex responds with this statement to acknowledge that the intent was canceled.

You must provide both the rejectionStatement and the confirmationPrompt, or neither.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the OrderPizza intent is fulfilled, you might prompt the user to order a drink.

The action that Amazon Lex takes depends on the user's response, as follows:

  • If the user says \"Yes\" it responds with the clarification prompt that is configured for the bot.

  • if the user says \"Yes\" and continues with an utterance that triggers an intent it starts a conversation for the intent.

  • If the user says \"No\" it responds with the rejection statement configured for the the follow-up prompt.

  • If it doesn't recognize the utterance it repeats the follow-up prompt again.

The followUpPrompt field and the conclusionStatement field are mutually exclusive. You can specify only one.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.

This element is relevant only if you provide a Lambda function in the fulfillmentActivity. If you return the intent to the client application, you can't specify this element.

The followUpPrompt and conclusionStatement are mutually exclusive. You can specify only one.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.

For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, GlutenIntolerant, to true. You might find John's phone number and set the corresponding session attribute.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, fulfillmentActivity defines how the bot places an order with a local pizza store.

You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see Standard Built-in Intents in the Alexa Skills Kit.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new intent, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a intent, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

When set to true a new numbered version of the intent is created. This is the same as calling the CreateIntentVersion operation. If you do not specify createVersion, the default is false.

" + } + } + }, + "PutIntentResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the intent.

" + }, + "slots":{ + "shape":"SlotList", + "documentation":"

An array of intent slots that are configured for the intent.

" + }, + "sampleUtterances":{ + "shape":"IntentUtteranceList", + "documentation":"

An array of sample utterances that are configured for the intent.

" + }, + "confirmationPrompt":{ + "shape":"Prompt", + "documentation":"

If defined in the intent, Amazon Lex prompts the user to confirm the intent before fulfilling it.

" + }, + "rejectionStatement":{ + "shape":"Statement", + "documentation":"

If the user answers \"no\" to the question defined in confirmationPrompt Amazon Lex responds with this statement to acknowledge that the intent was canceled.

" + }, + "followUpPrompt":{ + "shape":"FollowUpPrompt", + "documentation":"

If defined in the intent, Amazon Lex uses this prompt to solicit additional user activity after the intent is fulfilled.

" + }, + "conclusionStatement":{ + "shape":"Statement", + "documentation":"

After the Lambda function specified in thefulfillmentActivityintent fulfills the intent, Amazon Lex conveys this statement to the user.

" + }, + "dialogCodeHook":{ + "shape":"CodeHook", + "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function for each user input.

" + }, + "fulfillmentActivity":{ + "shape":"FulfillmentActivity", + "documentation":"

If defined in the intent, Amazon Lex invokes this Lambda function to fulfill the intent after the user provides all of the information required by the intent.

" + }, + "parentIntentSignature":{ + "shape":"BuiltinIntentSignature", + "documentation":"

A unique identifier for the built-in intent that this intent is based on.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was updated. When you create a resource, the creation date and last update dates are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the intent was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the intent. For a new intent, the version is always $LATEST.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATESTversion of the intent created or updated.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

True if a new version of the intent was created. If the createVersion field was not specified in the request, the createVersion field is set to false in the response.

" + } + } + }, + "PutSlotTypeRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type. The name is not case sensitive.

The name can't match a built-in slot type name, or a built-in slot type name with \"AMAZON.\" removed. For example, because there is a built-in slot type called AMAZON.DATE, you can't create a custom slot type called DATE.

For a list of built-in slot types, see Slot Type Reference in the Alexa Skills Kit.

", + "location":"uri", + "locationName":"name" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take. Each value can have a list of synonyms, which are additional values that help train the machine learning model about the values that it resolves for a slot.

When Amazon Lex resolves a slot value, it generates a resolution list that contains up to five possible values for the slot. If you are using a Lambda function, this resolution list is passed to the function. If you are not using a Lambda function you can choose to return the value that the user entered or the first value in the resolution list as the slot value. The valueSelectionStrategy field indicates the option to use.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Identifies a specific revision of the $LATEST version.

When you create a new slot type, leave the checksum field blank. If you specify a checksum you get a BadRequestException exception.

When you want to update a slot type, set the checksum field to the checksum of the most recent revision of the $LATEST version. If you don't specify the checksum field, or if the checksum does not match the $LATEST version, you get a PreconditionFailedException exception.

" + }, + "valueSelectionStrategy":{ + "shape":"SlotValueSelectionStrategy", + "documentation":"

Determines the slot resolution strategy that Amazon Lex uses to return slot type values. The field can be set to one of the following values:

  • ORIGINAL_VALUE - Returns the value entered by the user, if the user value is similar to the slot value.

  • TOP_RESOLUTION - If there is a resolution list for the slot, return the first value in the resolution list as the slot type value. If there is no resolution list, null is returned.

If you don't specify the valueSelectionStrategy, the default is ORIGINAL_VALUE.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

When set to true a new numbered version of the slot type is created. This is the same as calling the CreateSlotTypeVersion operation. If you do not specify createVersion, the default is false.

" + }, + "parentSlotTypeSignature":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The built-in slot type used as the parent of the slot type. When you define a parent slot type, the new slot type has all of the same configuration as the parent.

Only AMAZON.AlphaNumeric is supported.

" + }, + "slotTypeConfigurations":{ + "shape":"SlotTypeConfigurations", + "documentation":"

Configuration information that extends the parent built-in slot type. The configuration is added to the settings for the parent slot type.

" + } + } + }, + "PutSlotTypeResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "enumerationValues":{ + "shape":"EnumerationValues", + "documentation":"

A list of EnumerationValue objects that defines the values that the slot type can take.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a slot type, the creation date and last update date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type. For a new slot type, the version is always $LATEST.

" + }, + "checksum":{ + "shape":"String", + "documentation":"

Checksum of the $LATEST version of the slot type.

" + }, + "valueSelectionStrategy":{ + "shape":"SlotValueSelectionStrategy", + "documentation":"

The slot resolution strategy that Amazon Lex uses to determine the value of the slot. For more information, see PutSlotType.

" + }, + "createVersion":{ + "shape":"Boolean", + "documentation":"

True if a new version of the slot type was created. If the createVersion field was not specified in the request, the createVersion field is set to false in the response.

" + }, + "parentSlotTypeSignature":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The built-in slot type used as the parent of the slot type.

" + }, + "slotTypeConfigurations":{ + "shape":"SlotTypeConfigurations", + "documentation":"

Configuration information that extends the parent built-in slot type.

" + } + } + }, + "ReferenceType":{ + "type":"string", + "enum":[ + "Intent", + "Bot", + "BotAlias", + "BotChannel" + ] + }, + "RegexPattern":{ + "type":"string", + "max":100, + "min":1 + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^arn:[\\w\\-]+:(?:logs:[\\w\\-]+:[\\d]{12}:log-group:[\\.\\-_/#A-Za-z0-9]{1,512}(?::\\*)?|s3:::[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9])$" + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "referenceType":{"shape":"ReferenceType"}, + "exampleReference":{"shape":"ResourceReference"} + }, + "documentation":"

The resource that you are attempting to delete is referred to by another resource. Use this information to remove references to the resource that you are trying to delete.

The body of the exception contains a JSON object that describes the resource.

{ \"resourceType\": BOT | BOTALIAS | BOTCHANNEL | INTENT,

\"resourceReference\": {

\"name\": string, \"version\": string } }

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourcePrefix":{ + "type":"string", + "max":1024 + }, + "ResourceReference":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the resource that is using the resource that you are trying to delete.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the resource that is using the resource that you are trying to delete.

" + } + }, + "documentation":"

Describes the resource that refers to the resource that you are attempting to delete. This object is returned as part of the ResourceInUseException exception.

" + }, + "ResourceType":{ + "type":"string", + "enum":[ + "BOT", + "INTENT", + "SLOT_TYPE" + ] + }, + "ResponseCard":{ + "type":"string", + "max":50000, + "min":1 + }, + "SessionTTL":{ + "type":"integer", + "max":86400, + "min":60 + }, + "Slot":{ + "type":"structure", + "required":[ + "name", + "slotConstraint" + ], + "members":{ + "name":{ + "shape":"SlotName", + "documentation":"

The name of the slot.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot.

" + }, + "slotConstraint":{ + "shape":"SlotConstraint", + "documentation":"

Specifies whether the slot is required or optional.

" + }, + "slotType":{ + "shape":"CustomOrBuiltinSlotTypeName", + "documentation":"

The type of the slot, either a custom slot type that you defined or one of the built-in slot types.

" + }, + "slotTypeVersion":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + }, + "valueElicitationPrompt":{ + "shape":"Prompt", + "documentation":"

The prompt that Amazon Lex uses to elicit the slot value from the user.

" + }, + "priority":{ + "shape":"Priority", + "documentation":"

Directs Lex the order in which to elicit this slot value from the user. For example, if the intent has two slots with priorities 1 and 2, AWS Lex first elicits a value for the slot with priority 1.

If multiple slots share the same priority, the order in which Lex elicits values is arbitrary.

" + }, + "sampleUtterances":{ + "shape":"SlotUtteranceList", + "documentation":"

If you know a specific pattern with which users might respond to an Amazon Lex request for a slot value, you can provide those utterances to improve accuracy. This is optional. In most cases, Amazon Lex is capable of understanding user utterances.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

A set of possible responses for the slot type used by text-based clients. A user chooses an option from the response card, instead of using text to reply.

" + }, + "obfuscationSetting":{ + "shape":"ObfuscationSetting", + "documentation":"

Determines whether a slot is obfuscated in conversation logs and stored utterances. When you obfuscate a slot, the value is replaced by the slot name in curly braces ({}). For example, if the slot name is \"full_name\", obfuscated values are replaced with \"{full_name}\". For more information, see Slot Obfuscation .

" + } + }, + "documentation":"

Identifies the version of a specific slot.

" + }, + "SlotConstraint":{ + "type":"string", + "enum":[ + "Required", + "Optional" + ] + }, + "SlotList":{ + "type":"list", + "member":{"shape":"Slot"}, + "max":100, + "min":0 + }, + "SlotName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([A-Za-z](-|_|.)?)+$" + }, + "SlotTypeConfiguration":{ + "type":"structure", + "members":{ + "regexConfiguration":{ + "shape":"SlotTypeRegexConfiguration", + "documentation":"

A regular expression used to validate the value of a slot.

" + } + }, + "documentation":"

Provides configuration information for a slot type.

" + }, + "SlotTypeConfigurations":{ + "type":"list", + "member":{"shape":"SlotTypeConfiguration"}, + "max":10, + "min":0 + }, + "SlotTypeMetadata":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SlotTypeName", + "documentation":"

The name of the slot type.

" + }, + "description":{ + "shape":"Description", + "documentation":"

A description of the slot type.

" + }, + "lastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was updated. When you create a resource, the creation date and last updated date are the same.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

The date that the slot type was created.

" + }, + "version":{ + "shape":"Version", + "documentation":"

The version of the slot type.

" + } + }, + "documentation":"

Provides information about a slot type..

" + }, + "SlotTypeMetadataList":{ + "type":"list", + "member":{"shape":"SlotTypeMetadata"} + }, + "SlotTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^([A-Za-z]_?)+$" + }, + "SlotTypeRegexConfiguration":{ + "type":"structure", + "required":["pattern"], + "members":{ + "pattern":{ + "shape":"RegexPattern", + "documentation":"

A regular expression used to validate the value of a slot.

Use a standard regular expression. Amazon Lex supports the following characters in the regular expression:

  • A-Z, a-z

  • 0-9

  • Unicode characters (\"\\ u<Unicode>\")

Represent Unicode characters with four digits, for example \"\\u0041\" or \"\\u005A\".

The following regular expression operators are not supported:

  • Infinite repeaters: *, +, or {x,} with no upper bound.

  • Wild card (.)

" + } + }, + "documentation":"

Provides a regular expression used to validate the value of a slot.

" + }, + "SlotUtteranceList":{ + "type":"list", + "member":{"shape":"Utterance"}, + "max":10, + "min":0 + }, + "SlotValueSelectionStrategy":{ + "type":"string", + "enum":[ + "ORIGINAL_VALUE", + "TOP_RESOLUTION" + ] + }, + "StartImportRequest":{ + "type":"structure", + "required":[ + "payload", + "resourceType", + "mergeStrategy" + ], + "members":{ + "payload":{ + "shape":"Blob", + "documentation":"

A zip archive in binary format. The archive should contain one file, a JSON file containing the resource to import. The resource should match the type specified in the resourceType field.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

Specifies the type of resource to export. Each resource also exports any resources that it depends on.

  • A bot exports dependent intents.

  • An intent exports dependent slot types.

" + }, + "mergeStrategy":{ + "shape":"MergeStrategy", + "documentation":"

Specifies the action that the StartImport operation should take when there is an existing resource with the same name.

  • FAIL_ON_CONFLICT - The import operation is stopped on the first conflict between a resource in the import file and an existing resource. The name of the resource causing the conflict is in the failureReason field of the response to the GetImport operation.

    OVERWRITE_LATEST - The import operation proceeds even if there is a conflict with an existing resource. The $LASTEST version of the existing resource is overwritten with the data from the import file.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags to add to the imported bot. You can only add tags when you import a bot, you can't add tags to an intent or slot type.

" + } + } + }, + "StartImportResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name given to the import job.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource to import.

" + }, + "mergeStrategy":{ + "shape":"MergeStrategy", + "documentation":"

The action to take when there is a merge conflict.

" + }, + "importId":{ + "shape":"String", + "documentation":"

The identifier for the specific import job.

" + }, + "importStatus":{ + "shape":"ImportStatus", + "documentation":"

The status of the import job. If the status is FAILED, you can get the reason for the failure using the GetImport operation.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tags added to the imported bot.

" + }, + "createdDate":{ + "shape":"Timestamp", + "documentation":"

A timestamp for the date and time that the import job was requested.

" + } + } + }, + "Statement":{ + "type":"structure", + "required":["messages"], + "members":{ + "messages":{ + "shape":"MessageList", + "documentation":"

A collection of message objects.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

At runtime, if the client is using the PostText API, Amazon Lex includes the response card in the response. It substitutes all of the session attributes and slot values for placeholders in the response card.

" + } + }, + "documentation":"

A collection of messages that convey information to the user. At runtime, Amazon Lex selects the message to convey.

" + }, + "Status":{ + "type":"string", + "enum":[ + "BUILDING", + "READY", + "READY_BASIC_TESTING", + "FAILED", + "NOT_BUILT" + ] + }, + "StatusType":{ + "type":"string", + "enum":[ + "Detected", + "Missed" + ] + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SynonymList":{ + "type":"list", + "member":{"shape":"Value"} + }, + "Tag":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The key for the tag. Keys are not case-sensitive and must be unique.

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The value associated with a key. The value may be an empty string but it can't be null.

" + } + }, + "documentation":"

A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + - @.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagList", + "documentation":"

A list of tag keys to add to the resource. If a tag key already exists, the existing value is replaced with the new value.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

The Amazon Resource Name (ARN) of the resource to remove the tags from.

", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

A list of tag keys to remove from the resource. If a tag key does not exist on the resource, it is ignored.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UserId":{ + "type":"string", + "max":100, + "min":2 + }, + "Utterance":{ + "type":"string", + "max":200, + "min":1 + }, + "UtteranceData":{ + "type":"structure", + "members":{ + "utteranceString":{ + "shape":"UtteranceString", + "documentation":"

The text that was entered by the user or the text representation of an audio clip.

" + }, + "count":{ + "shape":"Count", + "documentation":"

The number of times that the utterance was processed.

" + }, + "distinctUsers":{ + "shape":"Count", + "documentation":"

The total number of individuals that used the utterance.

" + }, + "firstUtteredDate":{ + "shape":"Timestamp", + "documentation":"

The date that the utterance was first recorded.

" + }, + "lastUtteredDate":{ + "shape":"Timestamp", + "documentation":"

The date that the utterance was last recorded.

" + } + }, + "documentation":"

Provides information about a single utterance that was made to your bot.

" + }, + "UtteranceList":{ + "type":"structure", + "members":{ + "botVersion":{ + "shape":"Version", + "documentation":"

The version of the bot that processed the list.

" + }, + "utterances":{ + "shape":"ListOfUtterance", + "documentation":"

One or more UtteranceData objects that contain information about the utterances that have been made to a bot. The maximum number of object is 100.

" + } + }, + "documentation":"

Provides a list of utterances that have been made to a specific version of your bot. The list contains a maximum of 100 utterances.

" + }, + "UtteranceString":{ + "type":"string", + "max":2000, + "min":1 + }, + "Value":{ + "type":"string", + "max":140, + "min":1 + }, + "Version":{ + "type":"string", + "max":64, + "min":1, + "pattern":"\\$LATEST|[0-9]+" + } + }, + "documentation":"Amazon Lex Build-Time Actions

Amazon Lex is an AWS service for building conversational voice and text interfaces. Use these actions to create, update, and delete conversational bots for new and existing client applications.

" +} diff -Nru python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/examples-1.json --- python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/service-2.json python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/service-2.json --- python-botocore-1.4.70/botocore/data/lex-runtime/2016-11-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lex-runtime/2016-11-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,937 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"runtime.lex", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Lex Runtime Service", + "serviceId":"Lex Runtime Service", + "signatureVersion":"v4", + "signingName":"lex", + "uid":"runtime.lex-2016-11-28" + }, + "operations":{ + "DeleteSession":{ + "name":"DeleteSession", + "http":{ + "method":"DELETE", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/session" + }, + "input":{"shape":"DeleteSessionRequest"}, + "output":{"shape":"DeleteSessionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

Removes session information for a specified bot, alias, and user ID.

" + }, + "GetSession":{ + "name":"GetSession", + "http":{ + "method":"GET", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/session/" + }, + "input":{"shape":"GetSessionRequest"}, + "output":{"shape":"GetSessionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

Returns session information for a specified bot, alias, and user ID.

" + }, + "PostContent":{ + "name":"PostContent", + "http":{ + "method":"POST", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/content" + }, + "input":{"shape":"PostContentRequest"}, + "output":{"shape":"PostContentResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"UnsupportedMediaTypeException"}, + {"shape":"NotAcceptableException"}, + {"shape":"RequestTimeoutException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"LoopDetectedException"} + ], + "documentation":"

Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model that it built for the bot.

The PostContent operation supports audio input at 8kHz and 16kHz. You can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications.

In response, Amazon Lex returns the next message to convey to the user. Consider the following example messages:

  • For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\".

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to get user confirmation: \"Order the pizza?\".

  • After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a response from the user. For example, conclusion statements do not require a response. Some messages require only a yes or no response. In addition to the message, Amazon Lex provides additional context about the message in the response that you can use to enhance client behavior, such as displaying the appropriate client user interface. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • x-amz-lex-dialog-state header set to ElicitSlot

    • x-amz-lex-intent-name header set to the intent name in the current context

    • x-amz-lex-slot-to-elicit header set to the slot name for which the message is eliciting information

    • x-amz-lex-slots header set to a map of slots configured for the intent with their current values

  • If the message is a confirmation prompt, the x-amz-lex-dialog-state header is set to Confirmation and the x-amz-lex-slot-to-elicit header is omitted.

  • If the message is a clarification prompt configured for the intent, indicating that the user intent is not understood, the x-amz-dialog-state header is set to ElicitIntent and the x-amz-slot-to-elicit header is omitted.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

", + "authtype":"v4-unsigned-body" + }, + "PostText":{ + "name":"PostText", + "http":{ + "method":"POST", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/text" + }, + "input":{"shape":"PostTextRequest"}, + "output":{"shape":"PostTextResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"}, + {"shape":"LoopDetectedException"} + ], + "documentation":"

Sends user input to Amazon Lex. Client applications can use this API to send requests to Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it built for the bot.

In response, Amazon Lex returns the next message to convey to the user an optional responseCard to display. Consider the following example messages:

  • For a user input \"I would like a pizza\", Amazon Lex might return a response with a message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\"

  • After the user provides all of the pizza order information, Amazon Lex might return a response with a message to obtain user confirmation \"Proceed with the pizza order?\".

  • After the user replies to a confirmation prompt with a \"yes\", Amazon Lex might return a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".

Not all Amazon Lex messages require a user response. For example, a conclusion statement does not require a response. Some messages require only a \"yes\" or \"no\" user response. In addition to the message, Amazon Lex provides additional context about the message in the response that you might use to enhance client behavior, for example, to display the appropriate client user interface. These are the slotToElicit, dialogState, intentName, and slots fields in the response. Consider the following examples:

  • If the message is to elicit slot data, Amazon Lex returns the following context information:

    • dialogState set to ElicitSlot

    • intentName set to the intent name in the current context

    • slotToElicit set to the slot name for which the message is eliciting information

    • slots set to a map of slots, configured for the intent, with currently known values

  • If the message is a confirmation prompt, the dialogState is set to ConfirmIntent and SlotToElicit is set to null.

  • If the message is a clarification prompt (configured for the intent) that indicates that user intent is not understood, the dialogState is set to ElicitIntent and slotToElicit is set to null.

In addition, Amazon Lex also returns your application-specific sessionAttributes. For more information, see Managing Conversation Context.

" + }, + "PutSession":{ + "name":"PutSession", + "http":{ + "method":"POST", + "requestUri":"/bot/{botName}/alias/{botAlias}/user/{userId}/session" + }, + "input":{"shape":"PutSessionRequest"}, + "output":{"shape":"PutSessionResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"}, + {"shape":"NotAcceptableException"}, + {"shape":"DependencyFailedException"}, + {"shape":"BadGatewayException"} + ], + "documentation":"

Creates a new session or modifies an existing session with an Amazon Lex bot. Use this operation to enable your application to set the state of the bot.

For more information, see Managing Sessions.

" + } + }, + "shapes":{ + "Accept":{"type":"string"}, + "AttributesString":{ + "type":"string", + "sensitive":true + }, + "BadGatewayException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Either the Amazon Lex bot is still building, or one of the dependent services (Amazon Polly, AWS Lambda) failed with an internal service error.

", + "error":{"httpStatusCode":502}, + "exception":true + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Request validation failed, there is no usable message in the context, or the bot build failed, is still in progress, or contains unbuilt changes.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BlobStream":{ + "type":"blob", + "streaming":true + }, + "BotAlias":{"type":"string"}, + "BotName":{"type":"string"}, + "Button":{ + "type":"structure", + "required":[ + "text", + "value" + ], + "members":{ + "text":{ + "shape":"ButtonTextStringWithLength", + "documentation":"

Text that is visible to the user on the button.

" + }, + "value":{ + "shape":"ButtonValueStringWithLength", + "documentation":"

The value sent to Amazon Lex when a user chooses the button. For example, consider button text \"NYC.\" When the user chooses the button, the value sent can be \"New York City.\"

" + } + }, + "documentation":"

Represents an option to be shown on the client platform (Facebook, Slack, etc.)

" + }, + "ButtonTextStringWithLength":{ + "type":"string", + "max":15, + "min":1 + }, + "ButtonValueStringWithLength":{ + "type":"string", + "max":1000, + "min":1 + }, + "ConfirmationStatus":{ + "type":"string", + "enum":[ + "None", + "Confirmed", + "Denied" + ] + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Two clients are using the same AWS account, Amazon Lex bot, and user ID.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContentType":{ + "type":"string", + "enum":["application/vnd.amazonaws.card.generic"] + }, + "DeleteSessionRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that contains the session data.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias in use for the bot that contains the session data.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The identifier of the user associated with the session data.

", + "location":"uri", + "locationName":"userId" + } + } + }, + "DeleteSessionResponse":{ + "type":"structure", + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot associated with the session data.

" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias in use for the bot associated with the session data.

" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user.

" + }, + "sessionId":{ + "shape":"String", + "documentation":"

The unique identifier for the session.

" + } + } + }, + "DependencyFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

One of the dependencies, such as AWS Lambda or Amazon Polly, threw an exception. For example,

  • If Amazon Lex does not have sufficient permissions to call a Lambda function.

  • If a Lambda function takes longer than 30 seconds to execute.

  • If a fulfillment Lambda function returns a Delegate dialog action without removing any slot values.

", + "error":{"httpStatusCode":424}, + "exception":true + }, + "DialogAction":{ + "type":"structure", + "required":["type"], + "members":{ + "type":{ + "shape":"DialogActionType", + "documentation":"

The next action that the bot should take in its interaction with the user. The possible values are:

  • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as \"Place the order?\"

  • Close - Indicates that the there will not be a response from the user. For example, the statement \"Your order has been placed\" does not require a response.

  • Delegate - The next action is determined by Amazon Lex.

  • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

  • ElicitSlot - The next action is to elicit a slot value from the user.

" + }, + "intentName":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "slots":{ + "shape":"StringMap", + "documentation":"

Map of the slots that have been gathered and their values.

" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

The name of the slot that should be elicited from the user.

" + }, + "fulfillmentState":{ + "shape":"FulfillmentState", + "documentation":"

The fulfillment state of the intent. The possible values are:

  • Failed - The Lambda function associated with the intent failed to fulfill the intent.

  • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

  • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

" + }, + "message":{ + "shape":"Text", + "documentation":"

The message that should be shown to the user. If you don't specify a message, Amazon Lex will use the message configured for the intent.

" + }, + "messageFormat":{ + "shape":"MessageFormatType", + "documentation":"
  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format for the client.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages. For more information, see Message Groups.

" + } + }, + "documentation":"

Describes the next action that the bot should take in its interaction with the user and provides information about the context in which the action takes place. Use the DialogAction data type to set the interaction to a specific state, or to return the interaction to a previous state.

" + }, + "DialogActionType":{ + "type":"string", + "enum":[ + "ElicitIntent", + "ConfirmIntent", + "ElicitSlot", + "Close", + "Delegate" + ] + }, + "DialogState":{ + "type":"string", + "enum":[ + "ElicitIntent", + "ConfirmIntent", + "ElicitSlot", + "Fulfilled", + "ReadyForFulfillment", + "Failed" + ] + }, + "ErrorMessage":{"type":"string"}, + "FulfillmentState":{ + "type":"string", + "enum":[ + "Fulfilled", + "Failed", + "ReadyForFulfillment" + ] + }, + "GenericAttachment":{ + "type":"structure", + "members":{ + "title":{ + "shape":"StringWithLength", + "documentation":"

The title of the option.

" + }, + "subTitle":{ + "shape":"StringWithLength", + "documentation":"

The subtitle shown below the title.

" + }, + "attachmentLinkUrl":{ + "shape":"StringUrlWithLength", + "documentation":"

The URL of an attachment to the response card.

" + }, + "imageUrl":{ + "shape":"StringUrlWithLength", + "documentation":"

The URL of an image that is displayed to the user.

" + }, + "buttons":{ + "shape":"listOfButtons", + "documentation":"

The list of options to show to the user.

" + } + }, + "documentation":"

Represents an option rendered to the user when a prompt is shown. It could be an image, a button, a link, or text.

" + }, + "GetSessionRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that contains the session data.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias in use for the bot that contains the session data.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.

", + "location":"uri", + "locationName":"userId" + }, + "checkpointLabelFilter":{ + "shape":"IntentSummaryCheckpointLabel", + "documentation":"

A string used to filter the intents returned in the recentIntentSummaryView structure.

When you specify a filter, only intents with their checkpointLabel field set to that string are returned.

", + "location":"querystring", + "locationName":"checkpointLabelFilter" + } + } + }, + "GetSessionResponse":{ + "type":"structure", + "members":{ + "recentIntentSummaryView":{ + "shape":"IntentSummaryList", + "documentation":"

An array of information about the intents used in the session. The array can contain a maximum of three summaries. If more than three intents are used in the session, the recentIntentSummaryView operation contains information about the last three intents used.

If you set the checkpointLabelFilter parameter in the request, the array contains only the intents with the specified label.

" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.

" + }, + "sessionId":{ + "shape":"String", + "documentation":"

A unique identifier for the session.

" + }, + "dialogAction":{ + "shape":"DialogAction", + "documentation":"

Describes the current state of the bot.

" + } + } + }, + "HttpContentType":{"type":"string"}, + "IntentName":{"type":"string"}, + "IntentSummary":{ + "type":"structure", + "required":["dialogActionType"], + "members":{ + "intentName":{ + "shape":"IntentName", + "documentation":"

The name of the intent.

" + }, + "checkpointLabel":{ + "shape":"IntentSummaryCheckpointLabel", + "documentation":"

A user-defined label that identifies a particular intent. You can use this label to return to a previous intent.

Use the checkpointLabelFilter parameter of the GetSessionRequest operation to filter the intents returned by the operation to those with only the specified label.

" + }, + "slots":{ + "shape":"StringMap", + "documentation":"

Map of the slots that have been gathered and their values.

" + }, + "confirmationStatus":{ + "shape":"ConfirmationStatus", + "documentation":"

The status of the intent after the user responds to the confirmation prompt. If the user confirms the intent, Amazon Lex sets this field to Confirmed. If the user denies the intent, Amazon Lex sets this value to Denied. The possible values are:

  • Confirmed - The user has responded \"Yes\" to the confirmation prompt, confirming that the intent is complete and that it is ready to be fulfilled.

  • Denied - The user has responded \"No\" to the confirmation prompt.

  • None - The user has never been prompted for confirmation; or, the user was prompted but did not confirm or deny the prompt.

" + }, + "dialogActionType":{ + "shape":"DialogActionType", + "documentation":"

The next action that the bot should take in its interaction with the user. The possible values are:

  • ConfirmIntent - The next action is asking the user if the intent is complete and ready to be fulfilled. This is a yes/no question such as \"Place the order?\"

  • Close - Indicates that the there will not be a response from the user. For example, the statement \"Your order has been placed\" does not require a response.

  • ElicitIntent - The next action is to determine the intent that the user wants to fulfill.

  • ElicitSlot - The next action is to elicit a slot value from the user.

" + }, + "fulfillmentState":{ + "shape":"FulfillmentState", + "documentation":"

The fulfillment state of the intent. The possible values are:

  • Failed - The Lambda function associated with the intent failed to fulfill the intent.

  • Fulfilled - The intent has fulfilled by the Lambda function associated with the intent.

  • ReadyForFulfillment - All of the information necessary for the intent is present and the intent ready to be fulfilled by the client application.

" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

The next slot to elicit from the user. If there is not slot to elicit, the field is blank.

" + } + }, + "documentation":"

Provides information about the state of an intent. You can use this information to get the current state of an intent so that you can process the intent, or so that you can return the intent to its previous state.

" + }, + "IntentSummaryCheckpointLabel":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "IntentSummaryList":{ + "type":"list", + "member":{"shape":"IntentSummary"}, + "max":3, + "min":0 + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

Internal service error. Retry the call.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"String", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"String"} + }, + "documentation":"

Exceeded a limit.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "LoopDetectedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

This exception is not used.

", + "error":{"httpStatusCode":508}, + "exception":true + }, + "MessageFormatType":{ + "type":"string", + "enum":[ + "PlainText", + "CustomPayload", + "SSML", + "Composite" + ] + }, + "NotAcceptableException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The accept header in the request does not have a valid value.

", + "error":{"httpStatusCode":406}, + "exception":true + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The resource (such as the Amazon Lex bot or an alias) that is referred to is not found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "PostContentRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId", + "contentType", + "inputStream" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

Name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

Alias of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

", + "location":"uri", + "locationName":"userId" + }, + "sessionAttributes":{ + "shape":"AttributesString", + "documentation":"

You pass this value as the x-amz-lex-session-attributes HTTP header.

Application-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the sessionAttributes and requestAttributes headers is limited to 12 KB.

For more information, see Setting Session Attributes.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-session-attributes" + }, + "requestAttributes":{ + "shape":"AttributesString", + "documentation":"

You pass this value as the x-amz-lex-request-attributes HTTP header.

Request-specific information passed between Amazon Lex and a client application. The value must be a JSON serialized and base64 encoded map with string keys and values. The total size of the requestAttributes and sessionAttributes headers is limited to 12 KB.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-request-attributes" + }, + "contentType":{ + "shape":"HttpContentType", + "documentation":"

You pass this value as the Content-Type HTTP header.

Indicates the audio format or text. The header value must start with one of the following prefixes:

  • PCM format, audio data must be in little-endian byte order.

    • audio/l16; rate=16000; channels=1

    • audio/x-l16; sample-rate=16000; channel-count=1

    • audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false

  • Opus format

    • audio/x-cbr-opus-with-preamble; preamble-size=0; bit-rate=256000; frame-size-milliseconds=4

  • Text format

    • text/plain; charset=utf-8

", + "location":"header", + "locationName":"Content-Type" + }, + "accept":{ + "shape":"Accept", + "documentation":"

You pass this value as the Accept HTTP header.

The message Amazon Lex returns in the response can be either text or speech based on the Accept HTTP header value in the request.

  • If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response.

  • If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech (using the configuration you specified in the Accept header). For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format.

  • If the value is audio/pcm, the speech returned is audio/pcm in 16-bit, little endian format.

  • The following are the accepted values:

    • audio/mpeg

    • audio/ogg

    • audio/pcm

    • text/plain; charset=utf-8

    • audio/* (defaults to mpeg)

", + "location":"header", + "locationName":"Accept" + }, + "inputStream":{ + "shape":"BlobStream", + "documentation":"

User input in PCM or Opus audio format or text format as described in the Content-Type HTTP header.

You can stream audio data to Amazon Lex or you can create a local buffer that captures all of the audio data before sending. In general, you get better performance if you stream audio data rather than buffering the data locally.

" + } + }, + "payload":"inputStream" + }, + "PostContentResponse":{ + "type":"structure", + "members":{ + "contentType":{ + "shape":"HttpContentType", + "documentation":"

Content type as specified in the Accept HTTP header in the request.

", + "location":"header", + "locationName":"Content-Type" + }, + "intentName":{ + "shape":"IntentName", + "documentation":"

Current user intent that Amazon Lex is aware of.

", + "location":"header", + "locationName":"x-amz-lex-intent-name" + }, + "slots":{ + "shape":"String", + "documentation":"

Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation. The field is base-64 encoded.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-slots" + }, + "sessionAttributes":{ + "shape":"String", + "documentation":"

Map of key/value pairs representing the session-specific context information.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-session-attributes" + }, + "sentimentResponse":{ + "shape":"String", + "documentation":"

The sentiment expressed in and utterance.

When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.

", + "location":"header", + "locationName":"x-amz-lex-sentiment" + }, + "message":{ + "shape":"Text", + "documentation":"

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

", + "location":"header", + "locationName":"x-amz-lex-message" + }, + "messageFormat":{ + "shape":"MessageFormatType", + "documentation":"

The format of the response message. One of the following values:

  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format for the client.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.

", + "location":"header", + "locationName":"x-amz-lex-message-format" + }, + "dialogState":{ + "shape":"DialogState", + "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit the user's intent. Consider the following examples:

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple \"yes\" or \"no\" response, a user might respond with additional information. For example, \"yes, but make it a thick crust pizza\" or \"no, I want to order a drink.\" Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the request.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.

", + "location":"header", + "locationName":"x-amz-lex-dialog-state" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", + "location":"header", + "locationName":"x-amz-lex-slot-to-elicit" + }, + "inputTranscript":{ + "shape":"String", + "documentation":"

The text used to process the request.

If the input was an audio stream, the inputTranscript field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.

", + "location":"header", + "locationName":"x-amz-lex-input-transcript" + }, + "audioStream":{ + "shape":"BlobStream", + "documentation":"

The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.

" + }, + "sessionId":{ + "shape":"String", + "documentation":"

The unique identifier for the session.

", + "location":"header", + "locationName":"x-amz-lex-session-id" + } + }, + "payload":"audioStream" + }, + "PostTextRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId", + "inputText" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias of the Amazon Lex bot.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot. At runtime, each request must contain the userID field.

To decide the user ID to use for your application, consider the following factors.

  • The userID field must not contain any personally identifiable information of the user, for example, name, personal identification numbers, or other end user personal information.

  • If you want a user to start a conversation on one device and continue on another device, use a user-specific identifier.

  • If you want the same user to be able to have two independent conversations on two different devices, choose a device-specific identifier.

  • A user can't have two independent conversations with two different versions of the same bot. For example, a user can't have a conversation with the PROD and BETA versions of the same bot. If you anticipate that a user will need to have conversation with two different versions, for example, while testing, include the bot alias in the user ID to separate the two conversations.

", + "location":"uri", + "locationName":"userId" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

Application-specific information passed between Amazon Lex and a client application.

For more information, see Setting Session Attributes.

" + }, + "requestAttributes":{ + "shape":"StringMap", + "documentation":"

Request-specific information passed between Amazon Lex and a client application.

The namespace x-amz-lex: is reserved for special attributes. Don't create any request attributes with the prefix x-amz-lex:.

For more information, see Setting Request Attributes.

" + }, + "inputText":{ + "shape":"Text", + "documentation":"

The text that the user entered (Amazon Lex interprets this text).

" + } + } + }, + "PostTextResponse":{ + "type":"structure", + "members":{ + "intentName":{ + "shape":"IntentName", + "documentation":"

The current user intent that Amazon Lex is aware of.

" + }, + "slots":{ + "shape":"StringMap", + "documentation":"

The intent slots that Amazon Lex detected from the user input in the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy, the default is ORIGINAL_VALUE.

" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

A map of key-value pairs representing the session-specific context information.

" + }, + "message":{ + "shape":"Text", + "documentation":"

The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.

If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate as the dialogAction.type its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.

When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats.

If the Lambda function returns a message, Amazon Lex passes it to the client in its response.

" + }, + "sentimentResponse":{ + "shape":"SentimentResponse", + "documentation":"

The sentiment expressed in and utterance.

When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.

" + }, + "messageFormat":{ + "shape":"MessageFormatType", + "documentation":"

The format of the response message. One of the following values:

  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format defined by the Lambda function.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.

" + }, + "dialogState":{ + "shape":"DialogState", + "documentation":"

Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState. The client can optionally use this information to customize the user interface.

  • ElicitIntent - Amazon Lex wants to elicit user intent.

    For example, a user might utter an intent (\"I want to order a pizza\"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialogState.

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response.

    For example, Amazon Lex wants user confirmation before fulfilling an intent.

    Instead of a simple \"yes\" or \"no,\" a user might respond with additional information. For example, \"yes, but make it thick crust pizza\" or \"no, I want to order a drink\". Amazon Lex can process such additional information (in these examples, update the crust type slot value, or change intent from OrderPizza to OrderDrink).

  • ElicitSlot - Amazon Lex is expecting a slot value for the current intent.

    For example, suppose that in the response Amazon Lex sends this message: \"What size pizza would you like?\". A user might reply with the slot value (e.g., \"medium\"). The user might also provide additional information in the response (e.g., \"medium thick crust pizza\"). Amazon Lex can process such additional information appropriately.

  • Fulfilled - Conveys that the Lambda function configured for the intent has successfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the intent.

  • Failed - Conveys that the conversation with the user failed.

    This can happen for various reasons including that the user did not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or the Lambda function failed to fulfill the intent.

" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

If the dialogState value is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

" + }, + "responseCard":{ + "shape":"ResponseCard", + "documentation":"

Represents the options that the user has to respond to the current prompt. Response Card can come from the bot configuration (in the Amazon Lex console, choose the settings button next to a slot) or from a code hook (Lambda function).

" + }, + "sessionId":{ + "shape":"String", + "documentation":"

A unique identifier for the session.

" + } + } + }, + "PutSessionRequest":{ + "type":"structure", + "required":[ + "botName", + "botAlias", + "userId" + ], + "members":{ + "botName":{ + "shape":"BotName", + "documentation":"

The name of the bot that contains the session data.

", + "location":"uri", + "locationName":"botName" + }, + "botAlias":{ + "shape":"BotAlias", + "documentation":"

The alias in use for the bot that contains the session data.

", + "location":"uri", + "locationName":"botAlias" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.

", + "location":"uri", + "locationName":"userId" + }, + "sessionAttributes":{ + "shape":"StringMap", + "documentation":"

Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.

" + }, + "dialogAction":{ + "shape":"DialogAction", + "documentation":"

Sets the next action that the bot should take to fulfill the conversation.

" + }, + "recentIntentSummaryView":{ + "shape":"IntentSummaryList", + "documentation":"

A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.

An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:

  • intentName

  • slot names

  • slotToElict

If you send the recentIntentSummaryView parameter in a PutSession request, the contents of the new summary view replaces the old summary view. For example, if a GetSession request returns three intents in the summary view and you call PutSession with one intent in the summary view, the next call to GetSession will only return one intent.

" + }, + "accept":{ + "shape":"Accept", + "documentation":"

The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.

  • If the value is text/plain; charset=utf-8, Amazon Lex returns text in the response.

  • If the value begins with audio/, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify audio/mpeg as the value, Amazon Lex returns speech in the MPEG format.

  • If the value is audio/pcm, the speech is returned as audio/pcm in 16-bit, little endian format.

  • The following are the accepted values:

    • audio/mpeg

    • audio/ogg

    • audio/pcm

    • audio/* (defaults to mpeg)

    • text/plain; charset=utf-8

", + "location":"header", + "locationName":"Accept" + } + } + }, + "PutSessionResponse":{ + "type":"structure", + "members":{ + "contentType":{ + "shape":"HttpContentType", + "documentation":"

Content type as specified in the Accept HTTP header in the request.

", + "location":"header", + "locationName":"Content-Type" + }, + "intentName":{ + "shape":"IntentName", + "documentation":"

The name of the current intent.

", + "location":"header", + "locationName":"x-amz-lex-intent-name" + }, + "slots":{ + "shape":"String", + "documentation":"

Map of zero or more intent slots Amazon Lex detected from the user input during the conversation.

Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy selected when the slot type was created or updated. If valueSelectionStrategy is set to ORIGINAL_VALUE, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy is set to TOP_RESOLUTION Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy the default is ORIGINAL_VALUE.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-slots" + }, + "sessionAttributes":{ + "shape":"String", + "documentation":"

Map of key/value pairs representing session-specific context information.

", + "jsonvalue":true, + "location":"header", + "locationName":"x-amz-lex-session-attributes" + }, + "message":{ + "shape":"Text", + "documentation":"

The next message that should be presented to the user.

", + "location":"header", + "locationName":"x-amz-lex-message" + }, + "messageFormat":{ + "shape":"MessageFormatType", + "documentation":"

The format of the response message. One of the following values:

  • PlainText - The message contains plain UTF-8 text.

  • CustomPayload - The message is a custom format for the client.

  • SSML - The message contains text formatted for voice output.

  • Composite - The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.

", + "location":"header", + "locationName":"x-amz-lex-message-format" + }, + "dialogState":{ + "shape":"DialogState", + "documentation":"

  • ConfirmIntent - Amazon Lex is expecting a \"yes\" or \"no\" response to confirm the intent before fulfilling an intent.

  • ElicitIntent - Amazon Lex wants to elicit the user's intent.

  • ElicitSlot - Amazon Lex is expecting the value of a slot for the current intent.

  • Failed - Conveys that the conversation with the user has failed. This can happen for various reasons, including the user does not provide an appropriate response to prompts from the service, or if the Lambda function fails to fulfill the intent.

  • Fulfilled - Conveys that the Lambda function has sucessfully fulfilled the intent.

  • ReadyForFulfillment - Conveys that the client has to fulfill the intent.

", + "location":"header", + "locationName":"x-amz-lex-dialog-state" + }, + "slotToElicit":{ + "shape":"String", + "documentation":"

If the dialogState is ElicitSlot, returns the name of the slot for which Amazon Lex is eliciting a value.

", + "location":"header", + "locationName":"x-amz-lex-slot-to-elicit" + }, + "audioStream":{ + "shape":"BlobStream", + "documentation":"

The audio version of the message to convey to the user.

" + }, + "sessionId":{ + "shape":"String", + "documentation":"

A unique identifier for the session.

", + "location":"header", + "locationName":"x-amz-lex-session-id" + } + }, + "payload":"audioStream" + }, + "RequestTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The input speech is too long.

", + "error":{"httpStatusCode":408}, + "exception":true + }, + "ResponseCard":{ + "type":"structure", + "members":{ + "version":{ + "shape":"String", + "documentation":"

The version of the response card format.

" + }, + "contentType":{ + "shape":"ContentType", + "documentation":"

The content type of the response.

" + }, + "genericAttachments":{ + "shape":"genericAttachmentList", + "documentation":"

An array of attachment objects representing options.

" + } + }, + "documentation":"

If you configure a response card when creating your bots, Amazon Lex substitutes the session attributes and slot values that are available, and then returns it. The response card can also come from a Lambda function ( dialogCodeHook and fulfillmentActivity on an intent).

" + }, + "SentimentLabel":{"type":"string"}, + "SentimentResponse":{ + "type":"structure", + "members":{ + "sentimentLabel":{ + "shape":"SentimentLabel", + "documentation":"

The inferred sentiment that Amazon Comprehend has the highest confidence in.

" + }, + "sentimentScore":{ + "shape":"SentimentScore", + "documentation":"

The likelihood that the sentiment was correctly inferred.

" + } + }, + "documentation":"

The sentiment expressed in an utterance.

When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field structure contains the result of the analysis.

" + }, + "SentimentScore":{"type":"string"}, + "String":{"type":"string"}, + "StringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"}, + "sensitive":true + }, + "StringUrlWithLength":{ + "type":"string", + "max":2048, + "min":1 + }, + "StringWithLength":{ + "type":"string", + "max":80, + "min":1 + }, + "Text":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "UnsupportedMediaTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

The Content-Type header (PostContent API) has an invalid value.

", + "error":{"httpStatusCode":415}, + "exception":true + }, + "UserId":{ + "type":"string", + "max":100, + "min":2, + "pattern":"[0-9a-zA-Z._:-]+" + }, + "genericAttachmentList":{ + "type":"list", + "member":{"shape":"GenericAttachment"}, + "max":10, + "min":0 + }, + "listOfButtons":{ + "type":"list", + "member":{"shape":"Button"}, + "max":5, + "min":0 + } + }, + "documentation":"

Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of operations (API). Your conversational bot uses the runtime API to understand user utterances (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in user conversation on behalf of the bot to elicit required information (slot values, such as pizza size and crust type), and then performs fulfillment activity (that you configured when you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For a list of build-time operations, see the build-time API, .

" +} diff -Nru python-botocore-1.4.70/botocore/data/license-manager/2018-08-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/license-manager/2018-08-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/license-manager/2018-08-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/license-manager/2018-08-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListAssociationsForLicenseConfiguration": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurationAssociations" + }, + "ListLicenseConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurations" + }, + "ListLicenseSpecificationsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseSpecifications" + }, + "ListResourceInventory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceInventoryList" + }, + "ListUsageForLicenseConfiguration": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LicenseConfigurationUsageList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/license-manager/2018-08-01/service-2.json python-botocore-1.16.19+repack/botocore/data/license-manager/2018-08-01/service-2.json --- python-botocore-1.4.70/botocore/data/license-manager/2018-08-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/license-manager/2018-08-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1364 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-08-01", + "endpointPrefix":"license-manager", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS License Manager", + "serviceId":"License Manager", + "signatureVersion":"v4", + "targetPrefix":"AWSLicenseManager", + "uid":"license-manager-2018-08-01" + }, + "operations":{ + "CreateLicenseConfiguration":{ + "name":"CreateLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLicenseConfigurationRequest"}, + "output":{"shape":"CreateLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Creates a license configuration.

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

" + }, + "DeleteLicenseConfiguration":{ + "name":"DeleteLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLicenseConfigurationRequest"}, + "output":{"shape":"DeleteLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Deletes the specified license configuration.

You cannot delete a license configuration that is in use.

" + }, + "GetLicenseConfiguration":{ + "name":"GetLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLicenseConfigurationRequest"}, + "output":{"shape":"GetLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Gets detailed information about the specified license configuration.

" + }, + "GetServiceSettings":{ + "name":"GetServiceSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceSettingsRequest"}, + "output":{"shape":"GetServiceSettingsResponse"}, + "errors":[ + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Gets the License Manager settings for the current Region.

" + }, + "ListAssociationsForLicenseConfiguration":{ + "name":"ListAssociationsForLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociationsForLicenseConfigurationRequest"}, + "output":{"shape":"ListAssociationsForLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"FilterLimitExceededException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists the resource associations for the specified license configuration.

Resource associations need not consume licenses from a license configuration. For example, an AMI or a stopped instance might not consume a license (depending on the license rules).

" + }, + "ListFailuresForLicenseConfigurationOperations":{ + "name":"ListFailuresForLicenseConfigurationOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFailuresForLicenseConfigurationOperationsRequest"}, + "output":{"shape":"ListFailuresForLicenseConfigurationOperationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists the license configuration operations that failed.

" + }, + "ListLicenseConfigurations":{ + "name":"ListLicenseConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLicenseConfigurationsRequest"}, + "output":{"shape":"ListLicenseConfigurationsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"FilterLimitExceededException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists the license configurations for your account.

" + }, + "ListLicenseSpecificationsForResource":{ + "name":"ListLicenseSpecificationsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLicenseSpecificationsForResourceRequest"}, + "output":{"shape":"ListLicenseSpecificationsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Describes the license configurations for the specified resource.

" + }, + "ListResourceInventory":{ + "name":"ListResourceInventory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceInventoryRequest"}, + "output":{"shape":"ListResourceInventoryResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"FilterLimitExceededException"}, + {"shape":"FailedDependencyException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists resources managed using Systems Manager inventory.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists the tags for the specified license configuration.

" + }, + "ListUsageForLicenseConfiguration":{ + "name":"ListUsageForLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsageForLicenseConfigurationRequest"}, + "output":{"shape":"ListUsageForLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"FilterLimitExceededException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Lists all license usage records for a license configuration, displaying license consumption details by resource at a selected point in time. Use this action to audit the current license consumption for any license inventory and configuration.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Adds the specified tags to the specified license configuration.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Removes the specified tags from the specified license configuration.

" + }, + "UpdateLicenseConfiguration":{ + "name":"UpdateLicenseConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLicenseConfigurationRequest"}, + "output":{"shape":"UpdateLicenseConfigurationResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Modifies the attributes of an existing license configuration.

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

" + }, + "UpdateLicenseSpecificationsForResource":{ + "name":"UpdateLicenseSpecificationsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLicenseSpecificationsForResourceRequest"}, + "output":{"shape":"UpdateLicenseSpecificationsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"LicenseUsageException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Adds or removes the specified license configurations for the specified AWS resource.

You can update the license specifications of AMIs, instances, and hosts. You cannot update the license specifications for launch templates and AWS CloudFormation templates, as they send license configurations to the operation that creates the resource.

" + }, + "UpdateServiceSettings":{ + "name":"UpdateServiceSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSettingsRequest"}, + "output":{"shape":"UpdateServiceSettingsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ServerInternalException"}, + {"shape":"AuthorizationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"RateLimitExceededException"} + ], + "documentation":"

Updates License Manager settings for the current Region.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

Access to resource denied.

", + "exception":true + }, + "AuthorizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The AWS user account does not have permission to perform the action. Check the IAM policy associated with this account.

", + "exception":true + }, + "AutomatedDiscoveryInformation":{ + "type":"structure", + "members":{ + "LastRunTime":{ + "shape":"DateTime", + "documentation":"

Time that automated discovery last ran.

" + } + }, + "documentation":"

Describes automated discovery.

" + }, + "Boolean":{"type":"boolean"}, + "BoxBoolean":{"type":"boolean"}, + "BoxInteger":{"type":"integer"}, + "BoxLong":{"type":"long"}, + "ConsumedLicenseSummary":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Resource type of the resource consuming a license.

" + }, + "ConsumedLicenses":{ + "shape":"BoxLong", + "documentation":"

Number of licenses consumed by the resource.

" + } + }, + "documentation":"

Details about license consumption.

" + }, + "ConsumedLicenseSummaryList":{ + "type":"list", + "member":{"shape":"ConsumedLicenseSummary"} + }, + "CreateLicenseConfigurationRequest":{ + "type":"structure", + "required":[ + "Name", + "LicenseCountingType" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

Name of the license configuration.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Description of the license configuration.

" + }, + "LicenseCountingType":{ + "shape":"LicenseCountingType", + "documentation":"

Dimension used to track the license inventory.

" + }, + "LicenseCount":{ + "shape":"BoxLong", + "documentation":"

Number of licenses managed by the license configuration.

" + }, + "LicenseCountHardLimit":{ + "shape":"BoxBoolean", + "documentation":"

Indicates whether hard or soft license enforcement is used. Exceeding a hard limit blocks the launch of new instances.

" + }, + "LicenseRules":{ + "shape":"StringList", + "documentation":"

License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). Available rules vary by dimension.

  • Cores dimension: allowedTenancy | maximumCores | minimumCores

  • Instances dimension: allowedTenancy | maximumCores | minimumCores | maximumSockets | minimumSockets | maximumVcpus | minimumVcpus

  • Sockets dimension: allowedTenancy | maximumSockets | minimumSockets

  • vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus | minimumVcpus

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags to add to the license configuration.

" + }, + "ProductInformationList":{ + "shape":"ProductInformationList", + "documentation":"

Product information.

" + } + } + }, + "CreateLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + } + } + }, + "DateTime":{"type":"timestamp"}, + "DeleteLicenseConfigurationRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

ID of the license configuration.

" + } + } + }, + "DeleteLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "FailedDependencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

A dependency required to run the API is missing.

", + "exception":true + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

Name of the filter. Filter names are case-sensitive.

" + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

Filter values. Filter values are case-sensitive.

" + } + }, + "documentation":"

A filter name and value pair that is used to return more specific results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

" + }, + "FilterLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The request uses too many filters or too many filter values.

", + "exception":true + }, + "FilterName":{"type":"string"}, + "FilterValue":{"type":"string"}, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "GetLicenseConfigurationRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + } + } + }, + "GetLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurationId":{ + "shape":"String", + "documentation":"

Unique ID for the license configuration.

" + }, + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "Name":{ + "shape":"String", + "documentation":"

Name of the license configuration.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Description of the license configuration.

" + }, + "LicenseCountingType":{ + "shape":"LicenseCountingType", + "documentation":"

Dimension on which the licenses are counted.

" + }, + "LicenseRules":{ + "shape":"StringList", + "documentation":"

License rules.

" + }, + "LicenseCount":{ + "shape":"BoxLong", + "documentation":"

Number of available licenses.

" + }, + "LicenseCountHardLimit":{ + "shape":"BoxBoolean", + "documentation":"

Sets the number of available licenses as a hard limit.

" + }, + "ConsumedLicenses":{ + "shape":"BoxLong", + "documentation":"

Number of licenses assigned to resources.

" + }, + "Status":{ + "shape":"String", + "documentation":"

License configuration status.

" + }, + "OwnerAccountId":{ + "shape":"String", + "documentation":"

Account ID of the owner of the license configuration.

" + }, + "ConsumedLicenseSummaryList":{ + "shape":"ConsumedLicenseSummaryList", + "documentation":"

Summaries of the licenses consumed by resources.

" + }, + "ManagedResourceSummaryList":{ + "shape":"ManagedResourceSummaryList", + "documentation":"

Summaries of the managed resources.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

Tags for the license configuration.

" + }, + "ProductInformationList":{ + "shape":"ProductInformationList", + "documentation":"

Product information.

" + }, + "AutomatedDiscoveryInformation":{ + "shape":"AutomatedDiscoveryInformation", + "documentation":"

Automated discovery information.

" + } + } + }, + "GetServiceSettingsRequest":{ + "type":"structure", + "members":{ + } + }, + "GetServiceSettingsResponse":{ + "type":"structure", + "members":{ + "S3BucketArn":{ + "shape":"String", + "documentation":"

Regional S3 bucket path for storing reports, license trail event data, discovery data, and so on.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

SNS topic configured to receive notifications from License Manager.

" + }, + "OrganizationConfiguration":{ + "shape":"OrganizationConfiguration", + "documentation":"

Indicates whether AWS Organizations has been integrated with License Manager for cross-account discovery.

" + }, + "EnableCrossAccountsDiscovery":{ + "shape":"BoxBoolean", + "documentation":"

Indicates whether cross-account discovery has been enabled.

" + }, + "LicenseManagerResourceShareArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the AWS resource share. The License Manager master account will provide member accounts with access to this share.

" + } + } + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

One or more parameter values are not valid.

", + "exception":true, + "synthetic":true + }, + "InvalidResourceStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

License Manager cannot allocate a license to a resource because of its state.

For example, you cannot allocate a license to an instance in the process of shutting down.

", + "exception":true + }, + "InventoryFilter":{ + "type":"structure", + "required":[ + "Name", + "Condition" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

Name of the filter.

" + }, + "Condition":{ + "shape":"InventoryFilterCondition", + "documentation":"

Condition of the filter.

" + }, + "Value":{ + "shape":"String", + "documentation":"

Value of the filter.

" + } + }, + "documentation":"

An inventory filter.

" + }, + "InventoryFilterCondition":{ + "type":"string", + "enum":[ + "EQUALS", + "NOT_EQUALS", + "BEGINS_WITH", + "CONTAINS" + ] + }, + "InventoryFilterList":{ + "type":"list", + "member":{"shape":"InventoryFilter"} + }, + "LicenseConfiguration":{ + "type":"structure", + "members":{ + "LicenseConfigurationId":{ + "shape":"String", + "documentation":"

Unique ID of the license configuration.

" + }, + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "Name":{ + "shape":"String", + "documentation":"

Name of the license configuration.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Description of the license configuration.

" + }, + "LicenseCountingType":{ + "shape":"LicenseCountingType", + "documentation":"

Dimension to use to track the license inventory.

" + }, + "LicenseRules":{ + "shape":"StringList", + "documentation":"

License rules.

" + }, + "LicenseCount":{ + "shape":"BoxLong", + "documentation":"

Number of licenses managed by the license configuration.

" + }, + "LicenseCountHardLimit":{ + "shape":"BoxBoolean", + "documentation":"

Number of available licenses as a hard limit.

" + }, + "ConsumedLicenses":{ + "shape":"BoxLong", + "documentation":"

Number of licenses consumed.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Status of the license configuration.

" + }, + "OwnerAccountId":{ + "shape":"String", + "documentation":"

Account ID of the license configuration's owner.

" + }, + "ConsumedLicenseSummaryList":{ + "shape":"ConsumedLicenseSummaryList", + "documentation":"

Summaries for licenses consumed by various resources.

" + }, + "ManagedResourceSummaryList":{ + "shape":"ManagedResourceSummaryList", + "documentation":"

Summaries for managed resources.

" + }, + "ProductInformationList":{ + "shape":"ProductInformationList", + "documentation":"

Product information.

" + }, + "AutomatedDiscoveryInformation":{ + "shape":"AutomatedDiscoveryInformation", + "documentation":"

Automated discovery information.

" + } + }, + "documentation":"

A license configuration is an abstraction of a customer license agreement that can be consumed and enforced by License Manager. Components include specifications for the license type (licensing by instance, socket, CPU, or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated Host, or all of these), host affinity (how long a VM must be associated with a host), and the number of licenses purchased and used.

" + }, + "LicenseConfigurationAssociation":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of server resource.

" + }, + "ResourceOwnerId":{ + "shape":"String", + "documentation":"

ID of the AWS account that owns the resource consuming licenses.

" + }, + "AssociationTime":{ + "shape":"DateTime", + "documentation":"

Time when the license configuration was associated with the resource.

" + } + }, + "documentation":"

Describes an association with a license configuration.

" + }, + "LicenseConfigurationAssociations":{ + "type":"list", + "member":{"shape":"LicenseConfigurationAssociation"} + }, + "LicenseConfigurationStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "DISABLED" + ] + }, + "LicenseConfigurationUsage":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of resource.

" + }, + "ResourceStatus":{ + "shape":"String", + "documentation":"

Status of the resource.

" + }, + "ResourceOwnerId":{ + "shape":"String", + "documentation":"

ID of the account that owns the resource.

" + }, + "AssociationTime":{ + "shape":"DateTime", + "documentation":"

Time when the license configuration was initially associated with the resource.

" + }, + "ConsumedLicenses":{ + "shape":"BoxLong", + "documentation":"

Number of licenses consumed by the resource.

" + } + }, + "documentation":"

Details about the usage of a resource associated with a license configuration.

" + }, + "LicenseConfigurationUsageList":{ + "type":"list", + "member":{"shape":"LicenseConfigurationUsage"} + }, + "LicenseConfigurations":{ + "type":"list", + "member":{"shape":"LicenseConfiguration"} + }, + "LicenseCountingType":{ + "type":"string", + "enum":[ + "vCPU", + "Instance", + "Core", + "Socket" + ] + }, + "LicenseOperationFailure":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Resource type.

" + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

Error message.

" + }, + "FailureTime":{ + "shape":"DateTime", + "documentation":"

Failure time.

" + }, + "OperationName":{ + "shape":"String", + "documentation":"

Name of the operation.

" + }, + "ResourceOwnerId":{ + "shape":"String", + "documentation":"

ID of the AWS account that owns the resource.

" + }, + "OperationRequestedBy":{ + "shape":"String", + "documentation":"

The requester is \"License Manager Automated Discovery\".

" + }, + "MetadataList":{ + "shape":"MetadataList", + "documentation":"

Reserved.

" + } + }, + "documentation":"

Describes the failure of a license operation.

" + }, + "LicenseOperationFailureList":{ + "type":"list", + "member":{"shape":"LicenseOperationFailure"} + }, + "LicenseSpecification":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + } + }, + "documentation":"

Details for associating a license configuration with a resource.

" + }, + "LicenseSpecifications":{ + "type":"list", + "member":{"shape":"LicenseSpecification"} + }, + "LicenseUsageException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

You do not have enough licenses available to support a new resource launch.

", + "exception":true + }, + "ListAssociationsForLicenseConfigurationRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of a license configuration.

" + }, + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListAssociationsForLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurationAssociations":{ + "shape":"LicenseConfigurationAssociations", + "documentation":"

Information about the associations for the license configuration.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListFailuresForLicenseConfigurationOperationsRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name of the license configuration.

" + }, + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListFailuresForLicenseConfigurationOperationsResponse":{ + "type":"structure", + "members":{ + "LicenseOperationFailureList":{ + "shape":"LicenseOperationFailureList", + "documentation":"

License configuration operations that failed.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListLicenseConfigurationsRequest":{ + "type":"structure", + "members":{ + "LicenseConfigurationArns":{ + "shape":"StringList", + "documentation":"

Amazon Resource Names (ARN) of the license configurations.

" + }, + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

Filters to scope the results. The following filters and logical operators are supported:

  • licenseCountingType - The dimension on which licenses are counted (vCPU). Logical operators are EQUALS | NOT_EQUALS.

  • enforceLicenseCount - A Boolean value that indicates whether hard license enforcement is used. Logical operators are EQUALS | NOT_EQUALS.

  • usagelimitExceeded - A Boolean value that indicates whether the available licenses have been exceeded. Logical operators are EQUALS | NOT_EQUALS.

" + } + } + }, + "ListLicenseConfigurationsResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurations":{ + "shape":"LicenseConfigurations", + "documentation":"

Information about the license configurations.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListLicenseSpecificationsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of a resource that has an associated license configuration.

" + }, + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListLicenseSpecificationsForResourceResponse":{ + "type":"structure", + "members":{ + "LicenseSpecifications":{ + "shape":"LicenseSpecifications", + "documentation":"

License configurations associated with a resource.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListResourceInventoryRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + }, + "Filters":{ + "shape":"InventoryFilterList", + "documentation":"

Filters to scope the results. The following filters and logical operators are supported:

  • account_id - The ID of the AWS account that owns the resource. Logical operators are EQUALS | NOT_EQUALS.

  • application_name - The name of the application. Logical operators are EQUALS | BEGINS_WITH.

  • license_included - The type of license included. Logical operators are EQUALS | NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard | sql-server-web | windows-server-datacenter.

  • platform - The platform of the resource. Logical operators are EQUALS | BEGINS_WITH.

  • resource_id - The ID of the resource. Logical operators are EQUALS | NOT_EQUALS.

" + } + } + }, + "ListResourceInventoryResponse":{ + "type":"structure", + "members":{ + "ResourceInventoryList":{ + "shape":"ResourceInventoryList", + "documentation":"

Information about the resources.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

Information about the tags.

" + } + } + }, + "ListUsageForLicenseConfigurationRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "MaxResults":{ + "shape":"BoxInteger", + "documentation":"

Maximum number of results to return in a single call.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + }, + "Filters":{ + "shape":"Filters", + "documentation":"

Filters to scope the results. The following filters and logical operators are supported:

  • resourceArn - The ARN of the license configuration resource. Logical operators are EQUALS | NOT_EQUALS.

  • resourceType - The resource type (EC2_INSTANCE | EC2_HOST | EC2_AMI | SYSTEMS_MANAGER_MANAGED_INSTANCE). Logical operators are EQUALS | NOT_EQUALS.

  • resourceAccount - The ID of the account that owns the resource. Logical operators are EQUALS | NOT_EQUALS.

" + } + } + }, + "ListUsageForLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + "LicenseConfigurationUsageList":{ + "shape":"LicenseConfigurationUsageList", + "documentation":"

Information about the license configurations.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

Token for the next set of results.

" + } + } + }, + "ManagedResourceSummary":{ + "type":"structure", + "members":{ + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of resource associated with a license.

" + }, + "AssociationCount":{ + "shape":"BoxLong", + "documentation":"

Number of resources associated with licenses.

" + } + }, + "documentation":"

Summary information about a managed resource.

" + }, + "ManagedResourceSummaryList":{ + "type":"list", + "member":{"shape":"ManagedResourceSummary"} + }, + "Message":{"type":"string"}, + "Metadata":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

Reserved.

" + }, + "Value":{ + "shape":"String", + "documentation":"

Reserved.

" + } + }, + "documentation":"

Reserved.

" + }, + "MetadataList":{ + "type":"list", + "member":{"shape":"Metadata"} + }, + "OrganizationConfiguration":{ + "type":"structure", + "required":["EnableIntegration"], + "members":{ + "EnableIntegration":{ + "shape":"Boolean", + "documentation":"

Enables AWS Organization integration.

" + } + }, + "documentation":"

Configuration information for AWS Organizations.

" + }, + "ProductInformation":{ + "type":"structure", + "required":[ + "ResourceType", + "ProductInformationFilterList" + ], + "members":{ + "ResourceType":{ + "shape":"String", + "documentation":"

Resource type. The value is SSM_MANAGED.

" + }, + "ProductInformationFilterList":{ + "shape":"ProductInformationFilterList", + "documentation":"

Product information filters. The following filters and logical operators are supported:

  • Application Name - The name of the application. Logical operator is EQUALS.

  • Application Publisher - The publisher of the application. Logical operator is EQUALS.

  • Application Version - The version of the application. Logical operator is EQUALS.

  • Platform Name - The name of the platform. Logical operator is EQUALS.

  • Platform Type - The platform type. Logical operator is EQUALS.

  • License Included - The type of license included. Logical operators are EQUALS and NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard | sql-server-web | windows-server-datacenter.

" + } + }, + "documentation":"

Describes product information for a license configuration.

" + }, + "ProductInformationFilter":{ + "type":"structure", + "required":[ + "ProductInformationFilterName", + "ProductInformationFilterValue", + "ProductInformationFilterComparator" + ], + "members":{ + "ProductInformationFilterName":{ + "shape":"String", + "documentation":"

Filter name.

" + }, + "ProductInformationFilterValue":{ + "shape":"StringList", + "documentation":"

Filter value.

" + }, + "ProductInformationFilterComparator":{ + "shape":"String", + "documentation":"

Logical operator.

" + } + }, + "documentation":"

Describes product information filters.

" + }, + "ProductInformationFilterList":{ + "type":"list", + "member":{"shape":"ProductInformationFilter"} + }, + "ProductInformationList":{ + "type":"list", + "member":{"shape":"ProductInformation"} + }, + "RateLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

Too many requests have been submitted. Try again after a brief wait.

", + "exception":true + }, + "ResourceInventory":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"String", + "documentation":"

ID of the resource.

" + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

Type of resource.

" + }, + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the resource.

" + }, + "Platform":{ + "shape":"String", + "documentation":"

Platform of the resource.

" + }, + "PlatformVersion":{ + "shape":"String", + "documentation":"

Platform version of the resource in the inventory.

" + }, + "ResourceOwningAccountId":{ + "shape":"String", + "documentation":"

ID of the account that owns the resource.

" + } + }, + "documentation":"

Details about a resource.

" + }, + "ResourceInventoryList":{ + "type":"list", + "member":{"shape":"ResourceInventory"} + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

Your resource limits have been exceeded.

", + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "EC2_INSTANCE", + "EC2_HOST", + "EC2_AMI", + "RDS", + "SYSTEMS_MANAGER_MANAGED_INSTANCE" + ] + }, + "ServerInternalException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

The server experienced an internal error. Try again.

", + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

Tag key.

" + }, + "Value":{ + "shape":"String", + "documentation":"

Tag value.

" + } + }, + "documentation":"

Details about a tag for a license configuration.

" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

One or more tags.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

Keys identifying the tags to remove.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLicenseConfigurationRequest":{ + "type":"structure", + "required":["LicenseConfigurationArn"], + "members":{ + "LicenseConfigurationArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the license configuration.

" + }, + "LicenseConfigurationStatus":{ + "shape":"LicenseConfigurationStatus", + "documentation":"

New status of the license configuration.

" + }, + "LicenseRules":{ + "shape":"StringList", + "documentation":"

New license rules.

" + }, + "LicenseCount":{ + "shape":"BoxLong", + "documentation":"

New number of licenses managed by the license configuration.

" + }, + "LicenseCountHardLimit":{ + "shape":"BoxBoolean", + "documentation":"

New hard limit of the number of available licenses.

" + }, + "Name":{ + "shape":"String", + "documentation":"

New name of the license configuration.

" + }, + "Description":{ + "shape":"String", + "documentation":"

New description of the license configuration.

" + }, + "ProductInformationList":{ + "shape":"ProductInformationList", + "documentation":"

New product information.

" + } + } + }, + "UpdateLicenseConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLicenseSpecificationsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the AWS resource.

" + }, + "AddLicenseSpecifications":{ + "shape":"LicenseSpecifications", + "documentation":"

ARNs of the license configurations to add.

" + }, + "RemoveLicenseSpecifications":{ + "shape":"LicenseSpecifications", + "documentation":"

ARNs of the license configurations to remove.

" + } + } + }, + "UpdateLicenseSpecificationsForResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateServiceSettingsRequest":{ + "type":"structure", + "members":{ + "S3BucketArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the Amazon S3 bucket where the License Manager information is stored.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

Amazon Resource Name (ARN) of the Amazon SNS topic used for License Manager alerts.

" + }, + "OrganizationConfiguration":{ + "shape":"OrganizationConfiguration", + "documentation":"

Enables integration with AWS Organizations for cross-account discovery.

" + }, + "EnableCrossAccountsDiscovery":{ + "shape":"BoxBoolean", + "documentation":"

Activates cross-account discovery.

" + } + } + }, + "UpdateServiceSettingsResponse":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":" AWS License Manager

AWS License Manager makes it easier to manage licenses from software vendors across multiple AWS accounts and on-premises servers.

" +} diff -Nru python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/examples-1.json --- python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,104 @@ +{ + "pagination": { + "GetActiveNames": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "activeNames" + }, + "GetBlueprints": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "blueprints" + }, + "GetBundles": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "bundles" + }, + "GetDomains": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "domains" + }, + "GetInstanceSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "instanceSnapshots" + }, + "GetInstances": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "instances" + }, + "GetKeyPairs": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "keyPairs" + }, + "GetOperations": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "operations" + }, + "GetStaticIps": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "staticIps" + }, + "GetCloudFormationStackRecords": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "cloudFormationStackRecords" + }, + "GetDiskSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "diskSnapshots" + }, + "GetDisks": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "disks" + }, + "GetExportSnapshotRecords": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "exportSnapshotRecords" + }, + "GetLoadBalancers": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "loadBalancers" + }, + "GetRelationalDatabaseBlueprints": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "blueprints" + }, + "GetRelationalDatabaseBundles": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "bundles" + }, + "GetRelationalDatabaseEvents": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabaseEvents" + }, + "GetRelationalDatabaseParameters": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "parameters" + }, + "GetRelationalDatabaseSnapshots": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabaseSnapshots" + }, + "GetRelationalDatabases": { + "input_token": "pageToken", + "output_token": "nextPageToken", + "result_key": "relationalDatabases" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/service-2.json python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/service-2.json --- python-botocore-1.4.70/botocore/data/lightsail/2016-11-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/lightsail/2016-11-28/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,8129 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"lightsail", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Lightsail", + "serviceId":"Lightsail", + "signatureVersion":"v4", + "targetPrefix":"Lightsail_20161128", + "uid":"lightsail-2016-11-28" + }, + "operations":{ + "AllocateStaticIp":{ + "name":"AllocateStaticIp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AllocateStaticIpRequest"}, + "output":{"shape":"AllocateStaticIpResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Allocates a static IP address.

" + }, + "AttachDisk":{ + "name":"AttachDisk", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachDiskRequest"}, + "output":{"shape":"AttachDiskResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name.

The attach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

" + }, + "AttachInstancesToLoadBalancer":{ + "name":"AttachInstancesToLoadBalancer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachInstancesToLoadBalancerRequest"}, + "output":{"shape":"AttachInstancesToLoadBalancerResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Attaches one or more Lightsail instances to a load balancer.

After some time, the instances are attached to the load balancer and the health check status is available.

The attach instances to load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "AttachLoadBalancerTlsCertificate":{ + "name":"AttachLoadBalancerTlsCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachLoadBalancerTlsCertificateRequest"}, + "output":{"shape":"AttachLoadBalancerTlsCertificateResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL).

Once you create and validate your certificate, you can attach it to your load balancer. You can also use this API to rotate the certificates on your account. Use the AttachLoadBalancerTlsCertificate action with the non-attached certificate, and it will replace the existing one and become the attached certificate.

The AttachLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "AttachStaticIp":{ + "name":"AttachStaticIp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachStaticIpRequest"}, + "output":{"shape":"AttachStaticIpResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Attaches a static IP address to a specific Amazon Lightsail instance.

" + }, + "CloseInstancePublicPorts":{ + "name":"CloseInstancePublicPorts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CloseInstancePublicPortsRequest"}, + "output":{"shape":"CloseInstancePublicPortsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Closes ports for a specific Amazon Lightsail instance.

The CloseInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + }, + "CopySnapshot":{ + "name":"CopySnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopySnapshotRequest"}, + "output":{"shape":"CopySnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Copies a manual snapshot of an instance or disk as another manual snapshot, or copies an automatic snapshot of an instance or disk as a manual snapshot. This operation can also be used to copy a manual or automatic snapshot of an instance or a disk from one AWS Region to another in Amazon Lightsail.

When copying a manual snapshot, be sure to define the source region, source snapshot name, and target snapshot name parameters.

When copying an automatic snapshot, be sure to define the source region, source resource name, target snapshot name, and either the restore date or the use latest restorable auto snapshot parameters.

" + }, + "CreateCloudFormationStack":{ + "name":"CreateCloudFormationStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCloudFormationStackRequest"}, + "output":{"shape":"CreateCloudFormationStackResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation stack record that can be used to track the AWS CloudFormation stack created. Use the get cloud formation stack records operation to get a list of the CloudFormation stacks created.

Wait until after your new Amazon EC2 instance is created before running the create cloud formation stack operation again with the same export snapshot record.

" + }, + "CreateContactMethod":{ + "name":"CreateContactMethod", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContactMethodRequest"}, + "output":{"shape":"CreateContactMethodResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates an email or SMS text message contact method.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

" + }, + "CreateDisk":{ + "name":"CreateDisk", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDiskRequest"}, + "output":{"shape":"CreateDiskResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a block storage disk that can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a).

The create disk operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateDiskFromSnapshot":{ + "name":"CreateDiskFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDiskFromSnapshotRequest"}, + "output":{"shape":"CreateDiskFromSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a block storage disk from a manual or automatic snapshot of a disk. The resulting disk can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a).

The create disk from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide.

" + }, + "CreateDiskSnapshot":{ + "name":"CreateDiskSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDiskSnapshotRequest"}, + "output":{"shape":"CreateDiskSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance.

You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending.

You can also use this operation to create a snapshot of an instance's system volume. You might want to do this, for example, to recover data from the system volume of a botched instance or to create a backup of the system volume like you would for a block storage disk. To create a snapshot of a system volume, just define the instance name parameter when issuing the snapshot command, and a snapshot of the defined instance's system volume will be created. After the snapshot is available, you can create a block storage disk from the snapshot and attach it to a running instance to access the data on the disk.

The create disk snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateDomain":{ + "name":"CreateDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDomainRequest"}, + "output":{"shape":"CreateDomainResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a domain resource for the specified domain (e.g., example.com).

The create domain operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateDomainEntry":{ + "name":"CreateDomainEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDomainEntryRequest"}, + "output":{"shape":"CreateDomainEntryResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates one of the following entry records associated with the domain: Address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The create domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

" + }, + "CreateInstanceSnapshot":{ + "name":"CreateInstanceSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstanceSnapshotRequest"}, + "output":{"shape":"CreateInstanceSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a snapshot of a specific virtual private server, or instance. You can use a snapshot to create a new instance that is based on that snapshot.

The create instance snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateInstances":{ + "name":"CreateInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstancesRequest"}, + "output":{"shape":"CreateInstancesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates one or more Amazon Lightsail instances.

The create instances operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateInstancesFromSnapshot":{ + "name":"CreateInstancesFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInstancesFromSnapshotRequest"}, + "output":{"shape":"CreateInstancesFromSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates one or more new instances from a manual or automatic snapshot of an instance.

The create instances from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide.

" + }, + "CreateKeyPair":{ + "name":"CreateKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateKeyPairRequest"}, + "output":{"shape":"CreateKeyPairResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates an SSH key pair.

The create key pair operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateLoadBalancer":{ + "name":"CreateLoadBalancer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLoadBalancerRequest"}, + "output":{"shape":"CreateLoadBalancerResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see Configure your Lightsail instances for load balancing. You can create up to 5 load balancers per AWS Region in your account.

When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation.

The create load balancer operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateLoadBalancerTlsCertificate":{ + "name":"CreateLoadBalancerTlsCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLoadBalancerTlsCertificateRequest"}, + "output":{"shape":"CreateLoadBalancerTlsCertificateResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a Lightsail load balancer TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

The CreateLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "CreateRelationalDatabase":{ + "name":"CreateRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRelationalDatabaseRequest"}, + "output":{"shape":"CreateRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a new database in Amazon Lightsail.

The create relational database operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "CreateRelationalDatabaseFromSnapshot":{ + "name":"CreateRelationalDatabaseFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRelationalDatabaseFromSnapshotRequest"}, + "output":{"shape":"CreateRelationalDatabaseFromSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a new database from an existing database snapshot in Amazon Lightsail.

You can create a new database from a snapshot in if something goes wrong with your original database, or to change it to a different plan, such as a high availability or standard plan.

The create relational database from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by relationalDatabaseSnapshotName. For more information, see the Lightsail Dev Guide.

" + }, + "CreateRelationalDatabaseSnapshot":{ + "name":"CreateRelationalDatabaseSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRelationalDatabaseSnapshotRequest"}, + "output":{"shape":"CreateRelationalDatabaseSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Creates a snapshot of your database in Amazon Lightsail. You can use snapshots for backups, to make copies of a database, and to save data before deleting a database.

The create relational database snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteAlarm":{ + "name":"DeleteAlarm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAlarmRequest"}, + "output":{"shape":"DeleteAlarmResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes an alarm.

An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

" + }, + "DeleteAutoSnapshot":{ + "name":"DeleteAutoSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAutoSnapshotRequest"}, + "output":{"shape":"DeleteAutoSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes an automatic snapshot of an instance or disk. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteContactMethod":{ + "name":"DeleteContactMethod", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContactMethodRequest"}, + "output":{"shape":"DeleteContactMethodResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Deletes a contact method.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

" + }, + "DeleteDisk":{ + "name":"DeleteDisk", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDiskRequest"}, + "output":{"shape":"DeleteDiskResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the specified block storage disk. The disk must be in the available state (not attached to a Lightsail instance).

The disk may remain in the deleting state for several minutes.

The delete disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteDiskSnapshot":{ + "name":"DeleteDiskSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDiskSnapshotRequest"}, + "output":{"shape":"DeleteDiskSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the specified disk snapshot.

When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the disk.

The delete disk snapshot operation supports tag-based access control via resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteDomain":{ + "name":"DeleteDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDomainRequest"}, + "output":{"shape":"DeleteDomainResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the specified domain recordset and all of its domain records.

The delete domain operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteDomainEntry":{ + "name":"DeleteDomainEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDomainEntryRequest"}, + "output":{"shape":"DeleteDomainEntryResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a specific domain entry.

The delete domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteInstance":{ + "name":"DeleteInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstanceRequest"}, + "output":{"shape":"DeleteInstanceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes an Amazon Lightsail instance.

The delete instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteInstanceSnapshot":{ + "name":"DeleteInstanceSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstanceSnapshotRequest"}, + "output":{"shape":"DeleteInstanceSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a specific snapshot of a virtual private server (or instance).

The delete instance snapshot operation supports tag-based access control via resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteKeyPair":{ + "name":"DeleteKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteKeyPairRequest"}, + "output":{"shape":"DeleteKeyPairResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a specific SSH key pair.

The delete key pair operation supports tag-based access control via resource tags applied to the resource identified by key pair name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteKnownHostKeys":{ + "name":"DeleteKnownHostKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteKnownHostKeysRequest"}, + "output":{"shape":"DeleteKnownHostKeysResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the known host key or certificate used by the Amazon Lightsail browser-based SSH or RDP clients to authenticate an instance. This operation enables the Lightsail browser-based SSH or RDP clients to connect to the instance after a host key mismatch.

Perform this operation only if you were expecting the host key or certificate mismatch or if you are familiar with the new host key or certificate on the instance. For more information, see Troubleshooting connection issues when using the Amazon Lightsail browser-based SSH or RDP client.

" + }, + "DeleteLoadBalancer":{ + "name":"DeleteLoadBalancer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLoadBalancerRequest"}, + "output":{"shape":"DeleteLoadBalancerResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a Lightsail load balancer and all its associated SSL/TLS certificates. Once the load balancer is deleted, you will need to create a new load balancer, create a new certificate, and verify domain ownership again.

The delete load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteLoadBalancerTlsCertificate":{ + "name":"DeleteLoadBalancerTlsCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLoadBalancerTlsCertificateRequest"}, + "output":{"shape":"DeleteLoadBalancerTlsCertificateResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes an SSL/TLS certificate associated with a Lightsail load balancer.

The DeleteLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteRelationalDatabase":{ + "name":"DeleteRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRelationalDatabaseRequest"}, + "output":{"shape":"DeleteRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a database in Amazon Lightsail.

The delete relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "DeleteRelationalDatabaseSnapshot":{ + "name":"DeleteRelationalDatabaseSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRelationalDatabaseSnapshotRequest"}, + "output":{"shape":"DeleteRelationalDatabaseSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a database snapshot in Amazon Lightsail.

The delete relational database snapshot operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "DetachDisk":{ + "name":"DetachDisk", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachDiskRequest"}, + "output":{"shape":"DetachDiskResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Detaches a stopped block storage disk from a Lightsail instance. Make sure to unmount any file systems on the device within your operating system before stopping the instance and detaching the disk.

The detach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

" + }, + "DetachInstancesFromLoadBalancer":{ + "name":"DetachInstancesFromLoadBalancer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachInstancesFromLoadBalancerRequest"}, + "output":{"shape":"DetachInstancesFromLoadBalancerResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Detaches the specified instances from a Lightsail load balancer.

This operation waits until the instances are no longer needed before they are detached from the load balancer.

The detach instances from load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "DetachStaticIp":{ + "name":"DetachStaticIp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachStaticIpRequest"}, + "output":{"shape":"DetachStaticIpResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Detaches a static IP from the Amazon Lightsail instance to which it is attached.

" + }, + "DisableAddOn":{ + "name":"DisableAddOn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableAddOnRequest"}, + "output":{"shape":"DisableAddOnResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Disables an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide.

" + }, + "DownloadDefaultKeyPair":{ + "name":"DownloadDefaultKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DownloadDefaultKeyPairRequest"}, + "output":{"shape":"DownloadDefaultKeyPairResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Downloads the default SSH key pair from the user's account.

" + }, + "EnableAddOn":{ + "name":"EnableAddOn", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAddOnRequest"}, + "output":{"shape":"EnableAddOnResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Enables or modifies an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide.

" + }, + "ExportSnapshot":{ + "name":"ExportSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportSnapshotRequest"}, + "output":{"shape":"ExportSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot record that can be used with the create cloud formation stack operation to create new Amazon EC2 instances.

Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images (AMIs), and the instance system disk appears as an Amazon Elastic Block Store (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon EBS volumes. Snapshots are exported to the same Amazon Web Services Region in Amazon EC2 as the source Lightsail snapshot.

The export snapshot operation supports tag-based access control via resource tags applied to the resource identified by source snapshot name. For more information, see the Lightsail Dev Guide.

Use the get instance snapshots or get disk snapshots operations to get a list of snapshots that you can export to Amazon EC2.

" + }, + "GetActiveNames":{ + "name":"GetActiveNames", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetActiveNamesRequest"}, + "output":{"shape":"GetActiveNamesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the names of all active (not deleted) resources.

" + }, + "GetAlarms":{ + "name":"GetAlarms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAlarmsRequest"}, + "output":{"shape":"GetAlarmsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Returns information about the configured alarms. Specify an alarm name in your request to return information about a specific alarm, or specify a monitored resource name to return information about all alarms for a specific resource.

An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

" + }, + "GetAutoSnapshots":{ + "name":"GetAutoSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAutoSnapshotsRequest"}, + "output":{"shape":"GetAutoSnapshotsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the available automatic snapshots for an instance or disk. For more information, see the Lightsail Dev Guide.

" + }, + "GetBlueprints":{ + "name":"GetBlueprints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetBlueprintsRequest"}, + "output":{"shape":"GetBlueprintsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the list of available instance images, or blueprints. You can use a blueprint to create a new instance already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose.

Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

" + }, + "GetBundles":{ + "name":"GetBundles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetBundlesRequest"}, + "output":{"shape":"GetBundlesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or instance).

" + }, + "GetCloudFormationStackRecords":{ + "name":"GetCloudFormationStackRecords", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCloudFormationStackRecordsRequest"}, + "output":{"shape":"GetCloudFormationStackRecordsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the CloudFormation stack record created as a result of the create cloud formation stack operation.

An AWS CloudFormation stack is used to create a new Amazon EC2 instance from an exported Lightsail snapshot.

" + }, + "GetContactMethods":{ + "name":"GetContactMethods", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContactMethodsRequest"}, + "output":{"shape":"GetContactMethodsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about the configured contact methods. Specify a protocol in your request to return information about a specific contact method.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

" + }, + "GetDisk":{ + "name":"GetDisk", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiskRequest"}, + "output":{"shape":"GetDiskResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific block storage disk.

" + }, + "GetDiskSnapshot":{ + "name":"GetDiskSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiskSnapshotRequest"}, + "output":{"shape":"GetDiskSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific block storage disk snapshot.

" + }, + "GetDiskSnapshots":{ + "name":"GetDiskSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDiskSnapshotsRequest"}, + "output":{"shape":"GetDiskSnapshotsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all block storage disk snapshots in your AWS account and region.

" + }, + "GetDisks":{ + "name":"GetDisks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDisksRequest"}, + "output":{"shape":"GetDisksResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all block storage disks in your AWS account and region.

" + }, + "GetDomain":{ + "name":"GetDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDomainRequest"}, + "output":{"shape":"GetDomainResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific domain recordset.

" + }, + "GetDomains":{ + "name":"GetDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDomainsRequest"}, + "output":{"shape":"GetDomainsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of all domains in the user's account.

" + }, + "GetExportSnapshotRecords":{ + "name":"GetExportSnapshotRecords", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExportSnapshotRecordsRequest"}, + "output":{"shape":"GetExportSnapshotRecordsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the export snapshot record created as a result of the export snapshot operation.

An export snapshot record can be used to create a new Amazon EC2 instance and its related resources with the create cloud formation stack operation.

" + }, + "GetInstance":{ + "name":"GetInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceRequest"}, + "output":{"shape":"GetInstanceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific Amazon Lightsail instance, which is a virtual private server.

" + }, + "GetInstanceAccessDetails":{ + "name":"GetInstanceAccessDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceAccessDetailsRequest"}, + "output":{"shape":"GetInstanceAccessDetailsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns temporary SSH keys you can use to connect to a specific virtual private server, or instance.

The get instance access details operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

" + }, + "GetInstanceMetricData":{ + "name":"GetInstanceMetricData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceMetricDataRequest"}, + "output":{"shape":"GetInstanceMetricDataResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the data points for the specified Amazon Lightsail instance metric, given an instance name.

" + }, + "GetInstancePortStates":{ + "name":"GetInstancePortStates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstancePortStatesRequest"}, + "output":{"shape":"GetInstancePortStatesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the firewall port states for a specific Amazon Lightsail instance, the IP addresses allowed to connect to the instance through the ports, and the protocol.

" + }, + "GetInstanceSnapshot":{ + "name":"GetInstanceSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceSnapshotRequest"}, + "output":{"shape":"GetInstanceSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific instance snapshot.

" + }, + "GetInstanceSnapshots":{ + "name":"GetInstanceSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceSnapshotsRequest"}, + "output":{"shape":"GetInstanceSnapshotsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns all instance snapshots for the user's account.

" + }, + "GetInstanceState":{ + "name":"GetInstanceState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceStateRequest"}, + "output":{"shape":"GetInstanceStateResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the state of a specific instance. Works on one instance at a time.

" + }, + "GetInstances":{ + "name":"GetInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstancesRequest"}, + "output":{"shape":"GetInstancesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all Amazon Lightsail virtual private servers, or instances.

" + }, + "GetKeyPair":{ + "name":"GetKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetKeyPairRequest"}, + "output":{"shape":"GetKeyPairResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific key pair.

" + }, + "GetKeyPairs":{ + "name":"GetKeyPairs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetKeyPairsRequest"}, + "output":{"shape":"GetKeyPairsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all key pairs in the user's account.

" + }, + "GetLoadBalancer":{ + "name":"GetLoadBalancer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoadBalancerRequest"}, + "output":{"shape":"GetLoadBalancerResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about the specified Lightsail load balancer.

" + }, + "GetLoadBalancerMetricData":{ + "name":"GetLoadBalancerMetricData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoadBalancerMetricDataRequest"}, + "output":{"shape":"GetLoadBalancerMetricDataResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about health metrics for your Lightsail load balancer.

" + }, + "GetLoadBalancerTlsCertificates":{ + "name":"GetLoadBalancerTlsCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoadBalancerTlsCertificatesRequest"}, + "output":{"shape":"GetLoadBalancerTlsCertificatesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about the TLS certificates that are associated with the specified Lightsail load balancer.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

You can have a maximum of 2 certificates associated with a Lightsail load balancer. One is active and the other is inactive.

" + }, + "GetLoadBalancers":{ + "name":"GetLoadBalancers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoadBalancersRequest"}, + "output":{"shape":"GetLoadBalancersResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all load balancers in an account.

" + }, + "GetOperation":{ + "name":"GetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOperationRequest"}, + "output":{"shape":"GetOperationResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific operation. Operations include events such as when you create an instance, allocate a static IP, attach a static IP, and so on.

" + }, + "GetOperations":{ + "name":"GetOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOperationsRequest"}, + "output":{"shape":"GetOperationsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all operations.

Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to GetOperations use the maximum (last) statusChangedAt value from the previous request.

" + }, + "GetOperationsForResource":{ + "name":"GetOperationsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOperationsForResourceRequest"}, + "output":{"shape":"GetOperationsForResourceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Gets operations for a specific resource (e.g., an instance or a static IP).

" + }, + "GetRegions":{ + "name":"GetRegions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegionsRequest"}, + "output":{"shape":"GetRegionsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of all valid regions for Amazon Lightsail. Use the include availability zones parameter to also return the Availability Zones in a region.

" + }, + "GetRelationalDatabase":{ + "name":"GetRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseRequest"}, + "output":{"shape":"GetRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific database in Amazon Lightsail.

" + }, + "GetRelationalDatabaseBlueprints":{ + "name":"GetRelationalDatabaseBlueprints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseBlueprintsRequest"}, + "output":{"shape":"GetRelationalDatabaseBlueprintsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of available database blueprints in Amazon Lightsail. A blueprint describes the major engine version of a database.

You can use a blueprint ID to create a new database that runs a specific database engine.

" + }, + "GetRelationalDatabaseBundles":{ + "name":"GetRelationalDatabaseBundles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseBundlesRequest"}, + "output":{"shape":"GetRelationalDatabaseBundlesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the list of bundles that are available in Amazon Lightsail. A bundle describes the performance specifications for a database.

You can use a bundle ID to create a new database with explicit performance specifications.

" + }, + "GetRelationalDatabaseEvents":{ + "name":"GetRelationalDatabaseEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseEventsRequest"}, + "output":{"shape":"GetRelationalDatabaseEventsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of events for a specific database in Amazon Lightsail.

" + }, + "GetRelationalDatabaseLogEvents":{ + "name":"GetRelationalDatabaseLogEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseLogEventsRequest"}, + "output":{"shape":"GetRelationalDatabaseLogEventsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of log events for a database in Amazon Lightsail.

" + }, + "GetRelationalDatabaseLogStreams":{ + "name":"GetRelationalDatabaseLogStreams", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseLogStreamsRequest"}, + "output":{"shape":"GetRelationalDatabaseLogStreamsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a list of available log streams for a specific database in Amazon Lightsail.

" + }, + "GetRelationalDatabaseMasterUserPassword":{ + "name":"GetRelationalDatabaseMasterUserPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseMasterUserPasswordRequest"}, + "output":{"shape":"GetRelationalDatabaseMasterUserPasswordResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the current, previous, or pending versions of the master user password for a Lightsail database.

The GetRelationalDatabaseMasterUserPassword operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName.

" + }, + "GetRelationalDatabaseMetricData":{ + "name":"GetRelationalDatabaseMetricData", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseMetricDataRequest"}, + "output":{"shape":"GetRelationalDatabaseMetricDataResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns the data points of the specified metric for a database in Amazon Lightsail.

" + }, + "GetRelationalDatabaseParameters":{ + "name":"GetRelationalDatabaseParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseParametersRequest"}, + "output":{"shape":"GetRelationalDatabaseParametersResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns all of the runtime parameters offered by the underlying database software, or engine, for a specific database in Amazon Lightsail.

In addition to the parameter names and values, this operation returns other information about each parameter. This information includes whether changes require a reboot, whether the parameter is modifiable, the allowed values, and the data types.

" + }, + "GetRelationalDatabaseSnapshot":{ + "name":"GetRelationalDatabaseSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseSnapshotRequest"}, + "output":{"shape":"GetRelationalDatabaseSnapshotResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific database snapshot in Amazon Lightsail.

" + }, + "GetRelationalDatabaseSnapshots":{ + "name":"GetRelationalDatabaseSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabaseSnapshotsRequest"}, + "output":{"shape":"GetRelationalDatabaseSnapshotsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all of your database snapshots in Amazon Lightsail.

" + }, + "GetRelationalDatabases":{ + "name":"GetRelationalDatabases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRelationalDatabasesRequest"}, + "output":{"shape":"GetRelationalDatabasesResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all of your databases in Amazon Lightsail.

" + }, + "GetStaticIp":{ + "name":"GetStaticIp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetStaticIpRequest"}, + "output":{"shape":"GetStaticIpResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about a specific static IP.

" + }, + "GetStaticIps":{ + "name":"GetStaticIps", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetStaticIpsRequest"}, + "output":{"shape":"GetStaticIpsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns information about all static IPs in the user's account.

" + }, + "ImportKeyPair":{ + "name":"ImportKeyPair", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportKeyPairRequest"}, + "output":{"shape":"ImportKeyPairResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Imports a public SSH key from a specific key pair.

" + }, + "IsVpcPeered":{ + "name":"IsVpcPeered", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IsVpcPeeredRequest"}, + "output":{"shape":"IsVpcPeeredResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Returns a Boolean value indicating whether your Lightsail VPC is peered.

" + }, + "OpenInstancePublicPorts":{ + "name":"OpenInstancePublicPorts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"OpenInstancePublicPortsRequest"}, + "output":{"shape":"OpenInstancePublicPortsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol.

The OpenInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + }, + "PeerVpc":{ + "name":"PeerVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PeerVpcRequest"}, + "output":{"shape":"PeerVpcResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Tries to peer the Lightsail VPC with the user's default VPC.

" + }, + "PutAlarm":{ + "name":"PutAlarm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAlarmRequest"}, + "output":{"shape":"PutAlarmResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Creates or updates an alarm, and associates it with the specified metric.

An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

When this action creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed.

When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. The alarm is then evaluated with the updated configuration.

" + }, + "PutInstancePublicPorts":{ + "name":"PutInstancePublicPorts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInstancePublicPortsRequest"}, + "output":{"shape":"PutInstancePublicPortsResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol. This action also closes all currently open ports that are not included in the request. Include all of the ports and the protocols you want to open in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts action to open ports without closing currently open ports.

The PutInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

" + }, + "RebootInstance":{ + "name":"RebootInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootInstanceRequest"}, + "output":{"shape":"RebootInstanceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Restarts a specific instance.

The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

" + }, + "RebootRelationalDatabase":{ + "name":"RebootRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootRelationalDatabaseRequest"}, + "output":{"shape":"RebootRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Restarts a specific database in Amazon Lightsail.

The reboot relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "ReleaseStaticIp":{ + "name":"ReleaseStaticIp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReleaseStaticIpRequest"}, + "output":{"shape":"ReleaseStaticIpResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes a specific static IP from your account.

" + }, + "SendContactMethodVerification":{ + "name":"SendContactMethodVerification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendContactMethodVerificationRequest"}, + "output":{"shape":"SendContactMethodVerificationResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Sends a verification request to an email contact method to ensure it's owned by the requester. SMS contact methods don't need to be verified.

A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

A verification request is sent to the contact method when you initially create it. Use this action to send another verification request if a previous verification request was deleted, or has expired.

Notifications are not sent to an email contact method until after it is verified, and confirmed as valid.

" + }, + "StartInstance":{ + "name":"StartInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartInstanceRequest"}, + "output":{"shape":"StartInstanceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The start instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

" + }, + "StartRelationalDatabase":{ + "name":"StartRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartRelationalDatabaseRequest"}, + "output":{"shape":"StartRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Starts a specific database from a stopped state in Amazon Lightsail. To restart a database, use the reboot relational database operation.

The start relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "StopInstance":{ + "name":"StopInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopInstanceRequest"}, + "output":{"shape":"StopInstanceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Stops a specific Amazon Lightsail instance that is currently running.

When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide.

The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

" + }, + "StopRelationalDatabase":{ + "name":"StopRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopRelationalDatabaseRequest"}, + "output":{"shape":"StopRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Stops a specific database that is currently running in Amazon Lightsail.

The stop relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Adds one or more tags to the specified Amazon Lightsail resource. Each resource can have a maximum of 50 tags. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see the Lightsail Dev Guide.

The tag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide.

" + }, + "TestAlarm":{ + "name":"TestAlarm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestAlarmRequest"}, + "output":{"shape":"TestAlarmResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationFailureException"}, + {"shape":"UnauthenticatedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Tests an alarm by displaying a banner on the Amazon Lightsail console. If a notification trigger is configured for the specified alarm, the test also sends a notification to the notification protocol (Email and/or SMS) configured for the alarm.

An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

" + }, + "UnpeerVpc":{ + "name":"UnpeerVpc", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UnpeerVpcRequest"}, + "output":{"shape":"UnpeerVpcResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Attempts to unpeer the Lightsail VPC from the user's default VPC.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Deletes the specified set of tag keys and their values from the specified Amazon Lightsail resource.

The untag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide.

" + }, + "UpdateDomainEntry":{ + "name":"UpdateDomainEntry", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDomainEntryRequest"}, + "output":{"shape":"UpdateDomainEntryResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Updates a domain recordset after it is created.

The update domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

" + }, + "UpdateLoadBalancerAttribute":{ + "name":"UpdateLoadBalancerAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateLoadBalancerAttributeRequest"}, + "output":{"shape":"UpdateLoadBalancerAttributeResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Updates the specified attribute for a load balancer. You can only update one attribute at a time.

The update load balancer attribute operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

" + }, + "UpdateRelationalDatabase":{ + "name":"UpdateRelationalDatabase", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRelationalDatabaseRequest"}, + "output":{"shape":"UpdateRelationalDatabaseResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Allows the update of one or more attributes of a database in Amazon Lightsail.

Updates are applied immediately, or in cases where the updates could result in an outage, are applied during the database's predefined maintenance window.

The update relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + }, + "UpdateRelationalDatabaseParameters":{ + "name":"UpdateRelationalDatabaseParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRelationalDatabaseParametersRequest"}, + "output":{"shape":"UpdateRelationalDatabaseParametersResult"}, + "errors":[ + {"shape":"ServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"NotFoundException"}, + {"shape":"OperationFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"AccountSetupInProgressException"}, + {"shape":"UnauthenticatedException"} + ], + "documentation":"

Allows the update of one or more parameters of a database in Amazon Lightsail.

Parameter updates don't cause outages; therefore, their application is not subject to the preferred maintenance window. However, there are two ways in which parameter updates are applied: dynamic or pending-reboot. Parameters marked with a dynamic apply type are applied immediately. Parameters marked with a pending-reboot apply type are applied only after the database is rebooted using the reboot relational database operation.

The update relational database parameters operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.

", + "exception":true + }, + "AccessDirection":{ + "type":"string", + "enum":[ + "inbound", + "outbound" + ] + }, + "AccountSetupInProgressException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when an account is still in the setup in progress state.

", + "exception":true + }, + "AddOn":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the add-on.

" + }, + "status":{ + "shape":"string", + "documentation":"

The status of the add-on.

" + }, + "snapshotTimeOfDay":{ + "shape":"TimeOfDay", + "documentation":"

The daily time when an automatic snapshot is created.

The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).

The snapshot is automatically created between the time shown and up to 45 minutes after.

" + }, + "nextSnapshotTimeOfDay":{ + "shape":"TimeOfDay", + "documentation":"

The next daily time an automatic snapshot will be created.

The time shown is in HH:00 format, and in Coordinated Universal Time (UTC).

The snapshot is automatically created between the time shown and up to 45 minutes after.

" + } + }, + "documentation":"

Describes an add-on that is enabled for an Amazon Lightsail resource.

" + }, + "AddOnList":{ + "type":"list", + "member":{"shape":"AddOn"} + }, + "AddOnRequest":{ + "type":"structure", + "required":["addOnType"], + "members":{ + "addOnType":{ + "shape":"AddOnType", + "documentation":"

The add-on type.

" + }, + "autoSnapshotAddOnRequest":{ + "shape":"AutoSnapshotAddOnRequest", + "documentation":"

An object that represents additional parameters when enabling or modifying the automatic snapshot add-on.

" + } + }, + "documentation":"

Describes a request to enable, modify, or disable an add-on for an Amazon Lightsail resource.

An additional cost may be associated with enabling add-ons. For more information, see the Lightsail pricing page.

" + }, + "AddOnRequestList":{ + "type":"list", + "member":{"shape":"AddOnRequest"} + }, + "AddOnType":{ + "type":"string", + "enum":["AutoSnapshot"] + }, + "Alarm":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the alarm.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the alarm.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the alarm was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

An object that lists information about the location of the alarm.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., Alarm).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail alarm. This code enables our support team to look up your Lightsail information more easily.

" + }, + "monitoredResourceInfo":{ + "shape":"MonitoredResourceInfo", + "documentation":"

An object that lists information about the resource monitored by the alarm.

" + }, + "comparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

The arithmetic operation used when comparing the specified statistic and threshold.

" + }, + "evaluationPeriods":{ + "shape":"integer", + "documentation":"

The number of periods over which data is compared to the specified threshold.

" + }, + "period":{ + "shape":"MetricPeriod", + "documentation":"

The period, in seconds, over which the statistic is applied.

" + }, + "threshold":{ + "shape":"double", + "documentation":"

The value against which the specified statistic is compared.

" + }, + "datapointsToAlarm":{ + "shape":"integer", + "documentation":"

The number of data points that must not within the specified threshold to trigger the alarm.

" + }, + "treatMissingData":{ + "shape":"TreatMissingData", + "documentation":"

Specifies how the alarm handles missing data points.

An alarm can treat missing data in the following ways:

  • breaching - Assume the missing data is not within the threshold. Missing data counts towards the number of times the metric is not within the threshold.

  • notBreaching - Assume the missing data is within the threshold. Missing data does not count towards the number of times the metric is not within the threshold.

  • ignore - Ignore the missing data. Maintains the current alarm state.

  • missing - Missing data is treated as missing.

" + }, + "statistic":{ + "shape":"MetricStatistic", + "documentation":"

The statistic for the metric associated with the alarm.

The following statistics are available:

  • Minimum - The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application.

  • Maximum - The highest value observed during the specified period. Use this value to determine high volumes of activity for your application.

  • Sum - All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric.

  • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources.

  • SampleCount - The count, or number, of data points used for the statistical calculation.

" + }, + "metricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric associated with the alarm.

" + }, + "state":{ + "shape":"AlarmState", + "documentation":"

The current state of the alarm.

An alarm has the following possible states:

  • ALARM - The metric is outside of the defined threshold.

  • INSUFFICIENT_DATA - The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state.

  • OK - The metric is within the defined threshold.

" + }, + "unit":{ + "shape":"MetricUnit", + "documentation":"

The unit of the metric associated with the alarm.

" + }, + "contactProtocols":{ + "shape":"ContactProtocolsList", + "documentation":"

The contact protocols for the alarm, such as Email, SMS (text messaging), or both.

" + }, + "notificationTriggers":{ + "shape":"NotificationTriggerList", + "documentation":"

The alarm states that trigger a notification.

" + }, + "notificationEnabled":{ + "shape":"boolean", + "documentation":"

Indicates whether the alarm is enabled.

" + } + }, + "documentation":"

Describes an alarm.

An alarm is a way to monitor your Amazon Lightsail resource metrics. For more information, see Alarms in Amazon Lightsail.

" + }, + "AlarmState":{ + "type":"string", + "enum":[ + "OK", + "ALARM", + "INSUFFICIENT_DATA" + ] + }, + "AlarmsList":{ + "type":"list", + "member":{"shape":"Alarm"} + }, + "AllocateStaticIpRequest":{ + "type":"structure", + "required":["staticIpName"], + "members":{ + "staticIpName":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP address.

" + } + } + }, + "AllocateStaticIpResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "AttachDiskRequest":{ + "type":"structure", + "required":[ + "diskName", + "instanceName", + "diskPath" + ], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail instance where you want to utilize the storage disk.

" + }, + "diskPath":{ + "shape":"NonEmptyString", + "documentation":"

The disk path to expose to the instance (e.g., /dev/xvdf).

" + } + } + }, + "AttachDiskResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "AttachInstancesToLoadBalancerRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "instanceNames" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer.

" + }, + "instanceNames":{ + "shape":"ResourceNameList", + "documentation":"

An array of strings representing the instance name(s) you want to attach to your load balancer.

An instance must be running before you can attach it to your load balancer.

There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).

" + } + } + }, + "AttachInstancesToLoadBalancerResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "AttachLoadBalancerTlsCertificateRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "certificateName" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer to which you want to associate the SSL/TLS certificate.

" + }, + "certificateName":{ + "shape":"ResourceName", + "documentation":"

The name of your SSL/TLS certificate.

" + } + } + }, + "AttachLoadBalancerTlsCertificateResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

These SSL/TLS certificates are only usable by Lightsail load balancers. You can't get the certificate and use it for another purpose.

" + } + } + }, + "AttachStaticIpRequest":{ + "type":"structure", + "required":[ + "staticIpName", + "instanceName" + ], + "members":{ + "staticIpName":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The instance name to which you want to attach the static IP address.

" + } + } + }, + "AttachStaticIpResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "AttachedDisk":{ + "type":"structure", + "members":{ + "path":{ + "shape":"string", + "documentation":"

The path of the disk (e.g., /dev/xvdf).

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB.

" + } + }, + "documentation":"

Describes a block storage disk that is attached to an instance, and is included in an automatic snapshot.

" + }, + "AttachedDiskList":{ + "type":"list", + "member":{"shape":"AttachedDisk"} + }, + "AttachedDiskMap":{ + "type":"map", + "key":{"shape":"ResourceName"}, + "value":{"shape":"DiskMapList"} + }, + "AutoSnapshotAddOnRequest":{ + "type":"structure", + "members":{ + "snapshotTimeOfDay":{ + "shape":"TimeOfDay", + "documentation":"

The daily time when an automatic snapshot will be created.

Constraints:

  • Must be in HH:00 format, and in an hourly increment.

  • Specified in Coordinated Universal Time (UTC).

  • The snapshot will be automatically created between the time specified and up to 45 minutes after.

" + } + }, + "documentation":"

Describes a request to enable or modify the automatic snapshot add-on for an Amazon Lightsail instance or disk.

When you modify the automatic snapshot time for a resource, it is typically effective immediately except under the following conditions:

  • If an automatic snapshot has been created for the current day, and you change the snapshot time to a later time of day, then the new snapshot time will be effective the following day. This ensures that two snapshots are not created for the current day.

  • If an automatic snapshot has not yet been created for the current day, and you change the snapshot time to an earlier time of day, then the new snapshot time will be effective the following day and a snapshot is automatically created at the previously set time for the current day. This ensures that a snapshot is created for the current day.

  • If an automatic snapshot has not yet been created for the current day, and you change the snapshot time to a time that is within 30 minutes from your current time, then the new snapshot time will be effective the following day and a snapshot is automatically created at the previously set time for the current day. This ensures that a snapshot is created for the current day, because 30 minutes is required between your current time and the new snapshot time that you specify.

  • If an automatic snapshot is scheduled to be created within 30 minutes from your current time and you change the snapshot time, then the new snapshot time will be effective the following day and a snapshot is automatically created at the previously set time for the current day. This ensures that a snapshot is created for the current day, because 30 minutes is required between your current time and the new snapshot time that you specify.

" + }, + "AutoSnapshotDate":{ + "type":"string", + "pattern":"^[0-9]{4}-[0-9]{2}-[0-9]{2}$" + }, + "AutoSnapshotDetails":{ + "type":"structure", + "members":{ + "date":{ + "shape":"string", + "documentation":"

The date of the automatic snapshot in YYYY-MM-DD format.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the automatic snapshot was created.

" + }, + "status":{ + "shape":"AutoSnapshotStatus", + "documentation":"

The status of the automatic snapshot.

" + }, + "fromAttachedDisks":{ + "shape":"AttachedDiskList", + "documentation":"

An array of objects that describe the block storage disks attached to the instance when the automatic snapshot was created.

" + } + }, + "documentation":"

Describes an automatic snapshot.

" + }, + "AutoSnapshotDetailsList":{ + "type":"list", + "member":{"shape":"AutoSnapshotDetails"} + }, + "AutoSnapshotStatus":{ + "type":"string", + "enum":[ + "Success", + "Failed", + "InProgress", + "NotFound" + ] + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "zoneName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the Availability Zone. The format is us-east-2a (case-sensitive).

" + }, + "state":{ + "shape":"NonEmptyString", + "documentation":"

The state of the Availability Zone.

" + } + }, + "documentation":"

Describes an Availability Zone.

" + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{"shape":"AvailabilityZone"} + }, + "Base64":{"type":"string"}, + "Blueprint":{ + "type":"structure", + "members":{ + "blueprintId":{ + "shape":"NonEmptyString", + "documentation":"

The ID for the virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0).

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The friendly name of the blueprint (e.g., Amazon Linux).

" + }, + "group":{ + "shape":"NonEmptyString", + "documentation":"

The group name of the blueprint (e.g., amazon-linux).

" + }, + "type":{ + "shape":"BlueprintType", + "documentation":"

The type of the blueprint (e.g., os or app).

" + }, + "description":{ + "shape":"string", + "documentation":"

The description of the blueprint.

" + }, + "isActive":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the blueprint is active. Inactive blueprints are listed to support customers with existing instances but are not necessarily available for launch of new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

" + }, + "minPower":{ + "shape":"integer", + "documentation":"

The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. 0 indicates that the blueprint runs on all instance sizes.

" + }, + "version":{ + "shape":"string", + "documentation":"

The version number of the operating system, application, or stack (e.g., 2016.03.0).

" + }, + "versionCode":{ + "shape":"string", + "documentation":"

The version code.

" + }, + "productUrl":{ + "shape":"string", + "documentation":"

The product URL to learn more about the image or blueprint.

" + }, + "licenseUrl":{ + "shape":"string", + "documentation":"

The end-user license agreement URL for the image or blueprint.

" + }, + "platform":{ + "shape":"InstancePlatform", + "documentation":"

The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.

" + } + }, + "documentation":"

Describes a blueprint (a virtual private server image).

" + }, + "BlueprintList":{ + "type":"list", + "member":{"shape":"Blueprint"} + }, + "BlueprintType":{ + "type":"string", + "enum":[ + "os", + "app" + ] + }, + "Bundle":{ + "type":"structure", + "members":{ + "price":{ + "shape":"float", + "documentation":"

The price in US dollars (e.g., 5.0).

" + }, + "cpuCount":{ + "shape":"integer", + "documentation":"

The number of vCPUs included in the bundle (e.g., 2).

" + }, + "diskSizeInGb":{ + "shape":"integer", + "documentation":"

The size of the SSD (e.g., 30).

" + }, + "bundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle ID (e.g., micro_1_0).

" + }, + "instanceType":{ + "shape":"string", + "documentation":"

The Amazon EC2 instance type (e.g., t2.micro).

" + }, + "isActive":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the bundle is active.

" + }, + "name":{ + "shape":"string", + "documentation":"

A friendly name for the bundle (e.g., Micro).

" + }, + "power":{ + "shape":"integer", + "documentation":"

A numeric value that represents the power of the bundle (e.g., 500). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.

" + }, + "ramSizeInGb":{ + "shape":"float", + "documentation":"

The amount of RAM in GB (e.g., 2.0).

" + }, + "transferPerMonthInGb":{ + "shape":"integer", + "documentation":"

The data transfer rate per month in GB (e.g., 2000).

" + }, + "supportedPlatforms":{ + "shape":"InstancePlatformList", + "documentation":"

The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a WINDOWS bundle on a blueprint that supports the WINDOWS platform. LINUX_UNIX blueprints require a LINUX_UNIX bundle.

" + } + }, + "documentation":"

Describes a bundle, which is a set of specs describing your virtual private server (or instance).

" + }, + "BundleList":{ + "type":"list", + "member":{"shape":"Bundle"} + }, + "CloseInstancePublicPortsRequest":{ + "type":"structure", + "required":[ + "portInfo", + "instanceName" + ], + "members":{ + "portInfo":{ + "shape":"PortInfo", + "documentation":"

An object to describe the ports to close for the specified instance.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which to close ports.

" + } + } + }, + "CloseInstancePublicPortsResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An object that describes the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CloudFormationStackRecord":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the CloudFormation stack record. It starts with CloudFormationStackRecord followed by a GUID.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the CloudFormation stack record.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the CloudFormation stack record was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

A list of objects describing the Availability Zone and AWS Region of the CloudFormation stack record.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., CloudFormationStackRecord).

" + }, + "state":{ + "shape":"RecordState", + "documentation":"

The current state of the CloudFormation stack record.

" + }, + "sourceInfo":{ + "shape":"CloudFormationStackRecordSourceInfoList", + "documentation":"

A list of objects describing the source of the CloudFormation stack record.

" + }, + "destinationInfo":{ + "shape":"DestinationInfo", + "documentation":"

A list of objects describing the destination service, which is AWS CloudFormation, and the Amazon Resource Name (ARN) of the AWS CloudFormation stack.

" + } + }, + "documentation":"

Describes a CloudFormation stack record created as a result of the create cloud formation stack operation.

A CloudFormation stack record provides information about the AWS CloudFormation stack used to create a new Amazon Elastic Compute Cloud instance from an exported Lightsail instance snapshot.

" + }, + "CloudFormationStackRecordList":{ + "type":"list", + "member":{"shape":"CloudFormationStackRecord"} + }, + "CloudFormationStackRecordSourceInfo":{ + "type":"structure", + "members":{ + "resourceType":{ + "shape":"CloudFormationStackRecordSourceType", + "documentation":"

The Lightsail resource type (e.g., ExportSnapshotRecord).

" + }, + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the record.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the export snapshot record.

" + } + }, + "documentation":"

Describes the source of a CloudFormation stack record (i.e., the export snapshot record).

" + }, + "CloudFormationStackRecordSourceInfoList":{ + "type":"list", + "member":{"shape":"CloudFormationStackRecordSourceInfo"} + }, + "CloudFormationStackRecordSourceType":{ + "type":"string", + "enum":["ExportSnapshotRecord"] + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "GreaterThanOrEqualToThreshold", + "GreaterThanThreshold", + "LessThanThreshold", + "LessThanOrEqualToThreshold" + ] + }, + "ContactMethod":{ + "type":"structure", + "members":{ + "contactEndpoint":{ + "shape":"NonEmptyString", + "documentation":"

The destination of the contact method, such as an email address or a mobile phone number.

" + }, + "status":{ + "shape":"ContactMethodStatus", + "documentation":"

The current status of the contact method.

A contact method has the following possible status:

  • PendingVerification - The contact method has not yet been verified, and the verification has not yet expired.

  • Valid - The contact method has been verified.

  • InValid - An attempt was made to verify the contact method, but the verification has expired.

" + }, + "protocol":{ + "shape":"ContactProtocol", + "documentation":"

The protocol of the contact method, such as email or SMS (text messaging).

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the contact method.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the contact method.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the contact method was created.

" + }, + "location":{"shape":"ResourceLocation"}, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., ContactMethod).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail contact method. This code enables our support team to look up your Lightsail information more easily.

" + } + }, + "documentation":"

Describes a contact method.

A contact method is a way to send you notifications. For more information, see Notifications in Amazon Lightsail.

" + }, + "ContactMethodStatus":{ + "type":"string", + "enum":[ + "PendingVerification", + "Valid", + "Invalid" + ] + }, + "ContactMethodVerificationProtocol":{ + "type":"string", + "enum":["Email"] + }, + "ContactMethodsList":{ + "type":"list", + "member":{"shape":"ContactMethod"} + }, + "ContactProtocol":{ + "type":"string", + "enum":[ + "Email", + "SMS" + ] + }, + "ContactProtocolsList":{ + "type":"list", + "member":{"shape":"ContactProtocol"} + }, + "CopySnapshotRequest":{ + "type":"structure", + "required":[ + "targetSnapshotName", + "sourceRegion" + ], + "members":{ + "sourceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the source manual snapshot to copy.

Constraint:

  • Define this parameter only when copying a manual snapshot as another manual snapshot.

" + }, + "sourceResourceName":{ + "shape":"string", + "documentation":"

The name of the source instance or disk from which the source automatic snapshot was created.

Constraint:

  • Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "restoreDate":{ + "shape":"string", + "documentation":"

The date of the source automatic snapshot to copy. Use the get auto snapshots operation to identify the dates of the available automatic snapshots.

Constraints:

  • Must be specified in YYYY-MM-DD format.

  • This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive.

  • Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "useLatestRestorableAutoSnapshot":{ + "shape":"boolean", + "documentation":"

A Boolean value to indicate whether to use the latest available automatic snapshot of the specified source instance or disk.

Constraints:

  • This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive.

  • Define this parameter only when copying an automatic snapshot as a manual snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "targetSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the new manual snapshot to be created as a copy.

" + }, + "sourceRegion":{ + "shape":"RegionName", + "documentation":"

The AWS Region where the source manual or automatic snapshot is located.

" + } + } + }, + "CopySnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateCloudFormationStackRequest":{ + "type":"structure", + "required":["instances"], + "members":{ + "instances":{ + "shape":"InstanceEntryList", + "documentation":"

An array of parameters that will be used to create the new Amazon EC2 instance. You can only pass one instance entry at a time in this array. You will get an invalid parameter error if you pass more than one instance entry in this array.

" + } + } + }, + "CreateCloudFormationStackResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateContactMethodRequest":{ + "type":"structure", + "required":[ + "protocol", + "contactEndpoint" + ], + "members":{ + "protocol":{ + "shape":"ContactProtocol", + "documentation":"

The protocol of the contact method, such as Email or SMS (text messaging).

The SMS protocol is supported only in the following AWS Regions.

  • US East (N. Virginia) (us-east-1)

  • US West (Oregon) (us-west-2)

  • Europe (Ireland) (eu-west-1)

  • Asia Pacific (Tokyo) (ap-northeast-1)

  • Asia Pacific (Singapore) (ap-southeast-1)

  • Asia Pacific (Sydney) (ap-southeast-2)

For a list of countries/regions where SMS text messages can be sent, and the latest AWS Regions where SMS text messaging is supported, see Supported Regions and Countries in the Amazon SNS Developer Guide.

For more information about notifications in Amazon Lightsail, see Notifications in Amazon Lightsail.

" + }, + "contactEndpoint":{ + "shape":"StringMax256", + "documentation":"

The destination of the contact method, such as an email address or a mobile phone number.

Use the E.164 format when specifying a mobile phone number. E.164 is a standard for the phone number structure used for international telecommunication. Phone numbers that follow this format can have a maximum of 15 digits, and they are prefixed with the plus character (+) and the country code. For example, a U.S. phone number in E.164 format would be specified as +1XXX5550100. For more information, see E.164 on Wikipedia.

" + } + } + }, + "CreateContactMethodResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateDiskFromSnapshotRequest":{ + "type":"structure", + "required":[ + "diskName", + "availabilityZone", + "sizeInGb" + ], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" + }, + "diskSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the disk snapshot (e.g., my-snapshot) from which to create the new storage disk.

Constraint:

  • This parameter cannot be defined together with the source disk name parameter. The disk snapshot name and source disk name parameters are mutually exclusive.

" + }, + "availabilityZone":{ + "shape":"NonEmptyString", + "documentation":"

The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB (e.g., 32).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + }, + "addOns":{ + "shape":"AddOnRequestList", + "documentation":"

An array of objects that represent the add-ons to enable for the new disk.

" + }, + "sourceDiskName":{ + "shape":"string", + "documentation":"

The name of the source disk from which the source automatic snapshot was created.

Constraints:

  • This parameter cannot be defined together with the disk snapshot name parameter. The source disk name and disk snapshot name parameters are mutually exclusive.

  • Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "restoreDate":{ + "shape":"string", + "documentation":"

The date of the automatic snapshot to use for the new disk. Use the get auto snapshots operation to identify the dates of the available automatic snapshots.

Constraints:

  • Must be specified in YYYY-MM-DD format.

  • This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive.

  • Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "useLatestRestorableAutoSnapshot":{ + "shape":"boolean", + "documentation":"

A Boolean value to indicate whether to use the latest available automatic snapshot.

Constraints:

  • This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive.

  • Define this parameter only when creating a new disk from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + } + } + }, + "CreateDiskFromSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateDiskRequest":{ + "type":"structure", + "required":[ + "diskName", + "availabilityZone", + "sizeInGb" + ], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique Lightsail disk name (e.g., my-disk).

" + }, + "availabilityZone":{ + "shape":"NonEmptyString", + "documentation":"

The Availability Zone where you want to create the disk (e.g., us-east-2a). Use the same Availability Zone as the Lightsail instance to which you want to attach the disk.

Use the get regions operation to list the Availability Zones where Lightsail is currently available.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB (e.g., 32).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + }, + "addOns":{ + "shape":"AddOnRequestList", + "documentation":"

An array of objects that represent the add-ons to enable for the new disk.

" + } + } + }, + "CreateDiskResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateDiskSnapshotRequest":{ + "type":"structure", + "required":["diskSnapshotName"], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source disk (e.g., Disk-Virginia-1).

This parameter cannot be defined together with the instance name parameter. The disk name and instance name parameters are mutually exclusive.

" + }, + "diskSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the destination disk snapshot (e.g., my-disk-snapshot) based on the source disk.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). When this is defined, a snapshot of the instance's system volume is created.

This parameter cannot be defined together with the disk name parameter. The instance name and disk name parameters are mutually exclusive.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateDiskSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateDomainEntryRequest":{ + "type":"structure", + "required":[ + "domainName", + "domainEntry" + ], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The domain name (e.g., example.com) for which you want to create the domain entry.

" + }, + "domainEntry":{ + "shape":"DomainEntry", + "documentation":"

An array of key-value pairs containing information about the domain entry request.

" + } + } + }, + "CreateDomainEntryResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateDomainRequest":{ + "type":"structure", + "required":["domainName"], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The domain name to manage (e.g., example.com).

You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateDomainResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateInstanceSnapshotRequest":{ + "type":"structure", + "required":[ + "instanceSnapshotName", + "instanceName" + ], + "members":{ + "instanceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name for your new snapshot.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The Lightsail instance on which to base your snapshot.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateInstanceSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateInstancesFromSnapshotRequest":{ + "type":"structure", + "required":[ + "instanceNames", + "availabilityZone", + "bundleId" + ], + "members":{ + "instanceNames":{ + "shape":"StringList", + "documentation":"

The names for your new instances.

" + }, + "attachedDiskMapping":{ + "shape":"AttachedDiskMap", + "documentation":"

An object containing information about one or more disk mappings.

" + }, + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone where you want to create your instances. Use the following formatting: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request.

" + }, + "instanceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.

Constraint:

  • This parameter cannot be defined together with the source instance name parameter. The instance snapshot name and source instance name parameters are mutually exclusive.

" + }, + "bundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

" + }, + "userData":{ + "shape":"string", + "documentation":"

You can create a launch script that configures a server with additional user data. For example, apt-get -y update.

Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

" + }, + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name for your key pair.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + }, + "addOns":{ + "shape":"AddOnRequestList", + "documentation":"

An array of objects representing the add-ons to enable for the new instance.

" + }, + "sourceInstanceName":{ + "shape":"string", + "documentation":"

The name of the source instance from which the source automatic snapshot was created.

Constraints:

  • This parameter cannot be defined together with the instance snapshot name parameter. The source instance name and instance snapshot name parameters are mutually exclusive.

  • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "restoreDate":{ + "shape":"string", + "documentation":"

The date of the automatic snapshot to use for the new instance. Use the get auto snapshots operation to identify the dates of the available automatic snapshots.

Constraints:

  • Must be specified in YYYY-MM-DD format.

  • This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive.

  • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + }, + "useLatestRestorableAutoSnapshot":{ + "shape":"boolean", + "documentation":"

A Boolean value to indicate whether to use the latest available automatic snapshot.

Constraints:

  • This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive.

  • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Lightsail Dev Guide.

" + } + } + }, + "CreateInstancesFromSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateInstancesRequest":{ + "type":"structure", + "required":[ + "instanceNames", + "availabilityZone", + "blueprintId", + "bundleId" + ], + "members":{ + "instanceNames":{ + "shape":"StringList", + "documentation":"

The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: [\"MyFirstInstance\",\"MySecondInstance\"]

" + }, + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request.

" + }, + "customImageName":{ + "shape":"ResourceName", + "documentation":"

(Deprecated) The name for your custom image.

In releases prior to June 12, 2017, this parameter was ignored by the API. It is now deprecated.

", + "deprecated":true + }, + "blueprintId":{ + "shape":"NonEmptyString", + "documentation":"

The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). Use the get blueprints operation to return a list of available images (or blueprints).

Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

" + }, + "bundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

" + }, + "userData":{ + "shape":"string", + "documentation":"

A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.

Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

" + }, + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name of your key pair.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + }, + "addOns":{ + "shape":"AddOnRequestList", + "documentation":"

An array of objects representing the add-ons to enable for the new instance.

" + } + } + }, + "CreateInstancesResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateKeyPairRequest":{ + "type":"structure", + "required":["keyPairName"], + "members":{ + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name for your new key pair.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateKeyPairResult":{ + "type":"structure", + "members":{ + "keyPair":{ + "shape":"KeyPair", + "documentation":"

An array of key-value pairs containing information about the new key pair you just created.

" + }, + "publicKeyBase64":{ + "shape":"Base64", + "documentation":"

A base64-encoded public key of the ssh-rsa type.

" + }, + "privateKeyBase64":{ + "shape":"Base64", + "documentation":"

A base64-encoded RSA private key.

" + }, + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateLoadBalancerRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "instancePort" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of your load balancer.

" + }, + "instancePort":{ + "shape":"Port", + "documentation":"

The instance port where you're creating your load balancer.

" + }, + "healthCheckPath":{ + "shape":"string", + "documentation":"

The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., \"/\").

You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it.

" + }, + "certificateName":{ + "shape":"ResourceName", + "documentation":"

The name of the SSL/TLS certificate.

If you specify certificateName, then certificateDomainName is required (and vice-versa).

" + }, + "certificateDomainName":{ + "shape":"DomainName", + "documentation":"

The domain name with which your certificate is associated (e.g., example.com).

If you specify certificateDomainName, then certificateName is required (and vice-versa).

" + }, + "certificateAlternativeNames":{ + "shape":"DomainNameList", + "documentation":"

The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateLoadBalancerResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateLoadBalancerTlsCertificateRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "certificateName", + "certificateDomainName" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The load balancer name where you want to create the SSL/TLS certificate.

" + }, + "certificateName":{ + "shape":"ResourceName", + "documentation":"

The SSL/TLS certificate name.

You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see Limits.

" + }, + "certificateDomainName":{ + "shape":"DomainName", + "documentation":"

The domain name (e.g., example.com) for your SSL/TLS certificate.

" + }, + "certificateAlternativeNames":{ + "shape":"DomainNameList", + "documentation":"

An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., *.example.com).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateLoadBalancerTlsCertificateResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateRelationalDatabaseFromSnapshotRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name to use for your new database.

Constraints:

  • Must contain from 2 to 255 alphanumeric characters, or hyphens.

  • The first and last character must be a letter or number.

" + }, + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format.

You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request.

" + }, + "publiclyAccessible":{ + "shape":"boolean", + "documentation":"

Specifies the accessibility options for your new database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database.

" + }, + "relationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the database snapshot from which to create your new database.

" + }, + "relationalDatabaseBundleId":{ + "shape":"string", + "documentation":"

The bundle ID for your new database. A bundle describes the performance specifications for your database.

You can get a list of database bundle IDs by using the get relational database bundles operation.

When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the source database.

" + }, + "sourceRelationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of the source database.

" + }, + "restoreTime":{ + "shape":"IsoDate", + "documentation":"

The date and time to restore your database from.

Constraints:

  • Must be before the latest restorable time for the database.

  • Cannot be specified if the use latest restorable time parameter is true.

  • Specified in Coordinated Universal Time (UTC).

  • Specified in the Unix time format.

    For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the restore time.

" + }, + "useLatestRestorableTime":{ + "shape":"boolean", + "documentation":"

Specifies whether your database is restored from the latest backup time. A value of true restores from the latest backup time.

Default: false

Constraints: Cannot be specified if the restore time parameter is provided.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateRelationalDatabaseFromSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateRelationalDatabaseRequest":{ + "type":"structure", + "required":[ + "relationalDatabaseName", + "relationalDatabaseBlueprintId", + "relationalDatabaseBundleId", + "masterDatabaseName", + "masterUsername" + ], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name to use for your new database.

Constraints:

  • Must contain from 2 to 255 alphanumeric characters, or hyphens.

  • The first and last character must be a letter or number.

" + }, + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format.

You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request.

" + }, + "relationalDatabaseBlueprintId":{ + "shape":"string", + "documentation":"

The blueprint ID for your new database. A blueprint describes the major engine version of a database.

You can get a list of database blueprints IDs by using the get relational database blueprints operation.

" + }, + "relationalDatabaseBundleId":{ + "shape":"string", + "documentation":"

The bundle ID for your new database. A bundle describes the performance specifications for your database.

You can get a list of database bundle IDs by using the get relational database bundles operation.

" + }, + "masterDatabaseName":{ + "shape":"string", + "documentation":"

The name of the master database created when the Lightsail database resource is created.

Constraints:

  • Must contain from 1 to 64 alphanumeric characters.

  • Cannot be a word reserved by the specified database engine

" + }, + "masterUsername":{ + "shape":"string", + "documentation":"

The master user name for your new database.

Constraints:

  • Master user name is required.

  • Must contain from 1 to 16 alphanumeric characters.

  • The first character must be a letter.

  • Cannot be a reserved word for the database engine you choose.

    For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved Words articles for MySQL 5.6 or MySQL 5.7 respectively.

" + }, + "masterUserPassword":{ + "shape":"SensitiveString", + "documentation":"

The password for the master user of your new database. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain 8 to 41 characters.

" + }, + "preferredBackupWindow":{ + "shape":"string", + "documentation":"

The daily time range during which automated backups are created for your new database if automated backups are enabled.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. For more information about the preferred backup window time blocks for each region, see the Working With Backups guide in the Amazon Relational Database Service (Amazon RDS) documentation.

Constraints:

  • Must be in the hh24:mi-hh24:mi format.

    Example: 16:00-16:30

  • Specified in Coordinated Universal Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "preferredMaintenanceWindow":{ + "shape":"string", + "documentation":"

The weekly time range during which system maintenance can occur on your new database.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Constraints:

  • Must be in the ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

  • Specified in Coordinated Universal Time (UTC).

  • Example: Tue:17:00-Tue:17:30

" + }, + "publiclyAccessible":{ + "shape":"boolean", + "documentation":"

Specifies the accessibility options for your new database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "CreateRelationalDatabaseSnapshotRequest":{ + "type":"structure", + "required":[ + "relationalDatabaseName", + "relationalDatabaseSnapshotName" + ], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of the database on which to base your new snapshot.

" + }, + "relationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name for your new database snapshot.

Constraints:

  • Must contain from 2 to 255 alphanumeric characters, or hyphens.

  • The first and last character must be a letter or number.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values to add to the resource during create.

To tag a resource after it has been created, see the tag resource operation.

" + } + } + }, + "CreateRelationalDatabaseSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteAlarmRequest":{ + "type":"structure", + "required":["alarmName"], + "members":{ + "alarmName":{ + "shape":"ResourceName", + "documentation":"

The name of the alarm to delete.

" + } + } + }, + "DeleteAlarmResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteAutoSnapshotRequest":{ + "type":"structure", + "required":[ + "resourceName", + "date" + ], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the source instance or disk from which to delete the automatic snapshot.

" + }, + "date":{ + "shape":"AutoSnapshotDate", + "documentation":"

The date of the automatic snapshot to delete in YYYY-MM-DD format. Use the get auto snapshots operation to get the available automatic snapshots for a resource.

" + } + } + }, + "DeleteAutoSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteContactMethodRequest":{ + "type":"structure", + "required":["protocol"], + "members":{ + "protocol":{ + "shape":"ContactProtocol", + "documentation":"

The protocol that will be deleted, such as Email or SMS (text messaging).

To delete an Email and an SMS contact method if you added both, you must run separate DeleteContactMethod actions to delete each protocol.

" + } + } + }, + "DeleteContactMethodResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteDiskRequest":{ + "type":"structure", + "required":["diskName"], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the disk you want to delete (e.g., my-disk).

" + }, + "forceDeleteAddOns":{ + "shape":"boolean", + "documentation":"

A Boolean value to indicate whether to delete the enabled add-ons for the disk.

" + } + } + }, + "DeleteDiskResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteDiskSnapshotRequest":{ + "type":"structure", + "required":["diskSnapshotName"], + "members":{ + "diskSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).

" + } + } + }, + "DeleteDiskSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteDomainEntryRequest":{ + "type":"structure", + "required":[ + "domainName", + "domainEntry" + ], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain entry to delete.

" + }, + "domainEntry":{ + "shape":"DomainEntry", + "documentation":"

An array of key-value pairs containing information about your domain entries.

" + } + } + }, + "DeleteDomainEntryResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteDomainRequest":{ + "type":"structure", + "required":["domainName"], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The specific domain name to delete.

" + } + } + }, + "DeleteDomainResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteInstanceRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance to delete.

" + }, + "forceDeleteAddOns":{ + "shape":"boolean", + "documentation":"

A Boolean value to indicate whether to delete the enabled add-ons for the disk.

" + } + } + }, + "DeleteInstanceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteInstanceSnapshotRequest":{ + "type":"structure", + "required":["instanceSnapshotName"], + "members":{ + "instanceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the snapshot to delete.

" + } + } + }, + "DeleteInstanceSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteKeyPairRequest":{ + "type":"structure", + "required":["keyPairName"], + "members":{ + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name of the key pair to delete.

" + } + } + }, + "DeleteKeyPairResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteKnownHostKeysRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which you want to reset the host key or certificate.

" + } + } + }, + "DeleteKnownHostKeysResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteLoadBalancerRequest":{ + "type":"structure", + "required":["loadBalancerName"], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer you want to delete.

" + } + } + }, + "DeleteLoadBalancerResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteLoadBalancerTlsCertificateRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "certificateName" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The load balancer name.

" + }, + "certificateName":{ + "shape":"ResourceName", + "documentation":"

The SSL/TLS certificate name.

" + }, + "force":{ + "shape":"boolean", + "documentation":"

When true, forces the deletion of an SSL/TLS certificate.

There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer.

" + } + } + }, + "DeleteLoadBalancerTlsCertificateResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of the database that you are deleting.

" + }, + "skipFinalSnapshot":{ + "shape":"boolean", + "documentation":"

Determines whether a final database snapshot is created before your database is deleted. If true is specified, no database snapshot is created. If false is specified, a database snapshot is created before your database is deleted.

You must specify the final relational database snapshot name parameter if the skip final snapshot parameter is false.

Default: false

" + }, + "finalRelationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the database snapshot created if skip final snapshot is false, which is the default value for that parameter.

Specifying this parameter and also specifying the skip final snapshot parameter to true results in an error.

Constraints:

  • Must contain from 2 to 255 alphanumeric characters, or hyphens.

  • The first and last character must be a letter or number.

" + } + } + }, + "DeleteRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DeleteRelationalDatabaseSnapshotRequest":{ + "type":"structure", + "required":["relationalDatabaseSnapshotName"], + "members":{ + "relationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the database snapshot that you are deleting.

" + } + } + }, + "DeleteRelationalDatabaseSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DestinationInfo":{ + "type":"structure", + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the resource created at the destination.

" + }, + "service":{ + "shape":"NonEmptyString", + "documentation":"

The destination service of the record.

" + } + }, + "documentation":"

Describes the destination of a record.

" + }, + "DetachDiskRequest":{ + "type":"structure", + "required":["diskName"], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the disk you want to detach from your instance (e.g., my-disk).

" + } + } + }, + "DetachDiskResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DetachInstancesFromLoadBalancerRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "instanceNames" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail load balancer.

" + }, + "instanceNames":{ + "shape":"ResourceNameList", + "documentation":"

An array of strings containing the names of the instances you want to detach from the load balancer.

" + } + } + }, + "DetachInstancesFromLoadBalancerResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DetachStaticIpRequest":{ + "type":"structure", + "required":["staticIpName"], + "members":{ + "staticIpName":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP to detach from the instance.

" + } + } + }, + "DetachStaticIpResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "DisableAddOnRequest":{ + "type":"structure", + "required":[ + "addOnType", + "resourceName" + ], + "members":{ + "addOnType":{ + "shape":"AddOnType", + "documentation":"

The add-on type to disable.

" + }, + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the source resource for which to disable the add-on.

" + } + } + }, + "DisableAddOnResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "Disk":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The unique name of the disk.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the disk.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the disk was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zone where the disk is located.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., Disk).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "addOns":{ + "shape":"AddOnList", + "documentation":"

An array of objects representing the add-ons enabled on the disk.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB.

" + }, + "isSystemDisk":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).

" + }, + "iops":{ + "shape":"integer", + "documentation":"

The input/output operations per second (IOPS) of the disk.

" + }, + "path":{ + "shape":"string", + "documentation":"

The disk path.

" + }, + "state":{ + "shape":"DiskState", + "documentation":"

Describes the status of the disk.

" + }, + "attachedTo":{ + "shape":"ResourceName", + "documentation":"

The resources to which the disk is attached.

" + }, + "isAttached":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the disk is attached.

" + }, + "attachmentState":{ + "shape":"string", + "documentation":"

(Deprecated) The attachment state of the disk.

In releases prior to November 14, 2017, this parameter returned attached for system disks in the API response. It is now deprecated, but still included in the response. Use isAttached instead.

", + "deprecated":true + }, + "gbInUse":{ + "shape":"integer", + "documentation":"

(Deprecated) The number of GB in use by the disk.

In releases prior to November 14, 2017, this parameter was not included in the API response. It is now deprecated.

", + "deprecated":true + } + }, + "documentation":"

Describes a system disk or a block storage disk.

" + }, + "DiskInfo":{ + "type":"structure", + "members":{ + "name":{ + "shape":"string", + "documentation":"

The disk name.

" + }, + "path":{ + "shape":"NonEmptyString", + "documentation":"

The disk path.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB (e.g., 32).

" + }, + "isSystemDisk":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).

" + } + }, + "documentation":"

Describes a disk.

" + }, + "DiskInfoList":{ + "type":"list", + "member":{"shape":"DiskInfo"} + }, + "DiskList":{ + "type":"list", + "member":{"shape":"Disk"} + }, + "DiskMap":{ + "type":"structure", + "members":{ + "originalDiskPath":{ + "shape":"NonEmptyString", + "documentation":"

The original disk path exposed to the instance (for example, /dev/sdh).

" + }, + "newDiskName":{ + "shape":"ResourceName", + "documentation":"

The new disk name (e.g., my-new-disk).

" + } + }, + "documentation":"

Describes a block storage disk mapping.

" + }, + "DiskMapList":{ + "type":"list", + "member":{"shape":"DiskMap"} + }, + "DiskSnapshot":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the disk snapshot (e.g., my-disk-snapshot).

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the disk snapshot.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the disk snapshot was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zone where the disk snapshot was created.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., DiskSnapshot).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB.

" + }, + "state":{ + "shape":"DiskSnapshotState", + "documentation":"

The status of the disk snapshot operation.

" + }, + "progress":{ + "shape":"string", + "documentation":"

The progress of the disk snapshot operation.

" + }, + "fromDiskName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source disk from which the disk snapshot was created.

" + }, + "fromDiskArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the source disk from which the disk snapshot was created.

" + }, + "fromInstanceName":{ + "shape":"ResourceName", + "documentation":"

The unique name of the source instance from which the disk (system volume) snapshot was created.

" + }, + "fromInstanceArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the source instance from which the disk (system volume) snapshot was created.

" + }, + "isFromAutoSnapshot":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the snapshot was created from an automatic snapshot.

" + } + }, + "documentation":"

Describes a block storage disk snapshot.

" + }, + "DiskSnapshotInfo":{ + "type":"structure", + "members":{ + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB (e.g., 32).

" + } + }, + "documentation":"

Describes a disk snapshot.

" + }, + "DiskSnapshotList":{ + "type":"list", + "member":{"shape":"DiskSnapshot"} + }, + "DiskSnapshotState":{ + "type":"string", + "enum":[ + "pending", + "completed", + "error", + "unknown" + ] + }, + "DiskState":{ + "type":"string", + "enum":[ + "pending", + "error", + "available", + "in-use", + "unknown" + ] + }, + "Domain":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the domain.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the domain recordset (e.g., arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the domain recordset was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zones where the domain recordset was created.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "domainEntries":{ + "shape":"DomainEntryList", + "documentation":"

An array of key-value pairs containing information about the domain entries.

" + } + }, + "documentation":"

Describes a domain where you are storing recordsets in Lightsail.

" + }, + "DomainEntry":{ + "type":"structure", + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the domain recordset entry.

" + }, + "name":{ + "shape":"DomainName", + "documentation":"

The name of the domain.

" + }, + "target":{ + "shape":"string", + "documentation":"

The target AWS name server (e.g., ns-111.awsdns-22.com.).

For Lightsail load balancers, the value looks like ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com. Be sure to also set isAlias to true when setting up an A record for a load balancer.

" + }, + "isAlias":{ + "shape":"boolean", + "documentation":"

When true, specifies whether the domain entry is an alias used by the Lightsail load balancer. You can include an alias (A type) record in your request, which points to a load balancer DNS name and routes traffic to your load balancer

" + }, + "type":{ + "shape":"DomainEntryType", + "documentation":"

The type of domain entry, such as address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).

The following domain entry types can be used:

  • A

  • CNAME

  • MX

  • NS

  • SOA

  • SRV

  • TXT

" + }, + "options":{ + "shape":"DomainEntryOptions", + "documentation":"

(Deprecated) The options for the domain entry.

In releases prior to November 29, 2017, this parameter was not included in the API response. It is now deprecated.

", + "deprecated":true + } + }, + "documentation":"

Describes a domain recordset entry.

" + }, + "DomainEntryList":{ + "type":"list", + "member":{"shape":"DomainEntry"} + }, + "DomainEntryOptions":{ + "type":"map", + "key":{"shape":"DomainEntryOptionsKeys"}, + "value":{"shape":"string"} + }, + "DomainEntryOptionsKeys":{"type":"string"}, + "DomainEntryType":{"type":"string"}, + "DomainList":{ + "type":"list", + "member":{"shape":"Domain"} + }, + "DomainName":{"type":"string"}, + "DomainNameList":{ + "type":"list", + "member":{"shape":"DomainName"} + }, + "DownloadDefaultKeyPairRequest":{ + "type":"structure", + "members":{ + } + }, + "DownloadDefaultKeyPairResult":{ + "type":"structure", + "members":{ + "publicKeyBase64":{ + "shape":"Base64", + "documentation":"

A base64-encoded public key of the ssh-rsa type.

" + }, + "privateKeyBase64":{ + "shape":"Base64", + "documentation":"

A base64-encoded RSA private key.

" + } + } + }, + "EnableAddOnRequest":{ + "type":"structure", + "required":[ + "resourceName", + "addOnRequest" + ], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the source resource for which to enable or modify the add-on.

" + }, + "addOnRequest":{ + "shape":"AddOnRequest", + "documentation":"

An array of strings representing the add-on to enable or modify.

" + } + } + }, + "EnableAddOnResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "ExportSnapshotRecord":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The export snapshot record name.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the export snapshot record.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the export snapshot record was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zone where the export snapshot record is located.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type (e.g., ExportSnapshotRecord).

" + }, + "state":{ + "shape":"RecordState", + "documentation":"

The state of the export snapshot record.

" + }, + "sourceInfo":{ + "shape":"ExportSnapshotRecordSourceInfo", + "documentation":"

A list of objects describing the source of the export snapshot record.

" + }, + "destinationInfo":{ + "shape":"DestinationInfo", + "documentation":"

A list of objects describing the destination of the export snapshot record.

" + } + }, + "documentation":"

Describes an export snapshot record.

" + }, + "ExportSnapshotRecordList":{ + "type":"list", + "member":{"shape":"ExportSnapshotRecord"} + }, + "ExportSnapshotRecordSourceInfo":{ + "type":"structure", + "members":{ + "resourceType":{ + "shape":"ExportSnapshotRecordSourceType", + "documentation":"

The Lightsail resource type (e.g., InstanceSnapshot or DiskSnapshot).

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when the source instance or disk snapshot was created.

" + }, + "name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the source instance or disk snapshot.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the source instance or disk snapshot.

" + }, + "fromResourceName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the snapshot's source instance or disk.

" + }, + "fromResourceArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the snapshot's source instance or disk.

" + }, + "instanceSnapshotInfo":{ + "shape":"InstanceSnapshotInfo", + "documentation":"

A list of objects describing an instance snapshot.

" + }, + "diskSnapshotInfo":{ + "shape":"DiskSnapshotInfo", + "documentation":"

A list of objects describing a disk snapshot.

" + } + }, + "documentation":"

Describes the source of an export snapshot record.

" + }, + "ExportSnapshotRecordSourceType":{ + "type":"string", + "enum":[ + "InstanceSnapshot", + "DiskSnapshot" + ] + }, + "ExportSnapshotRequest":{ + "type":"structure", + "required":["sourceSnapshotName"], + "members":{ + "sourceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance or disk snapshot to be exported to Amazon EC2.

" + } + } + }, + "ExportSnapshotResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "GetActiveNamesRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetActiveNames request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetActiveNamesResult":{ + "type":"structure", + "members":{ + "activeNames":{ + "shape":"StringList", + "documentation":"

The list of active names returned by the get active names request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetActiveNames request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetAlarmsRequest":{ + "type":"structure", + "members":{ + "alarmName":{ + "shape":"ResourceName", + "documentation":"

The name of the alarm.

Specify an alarm name to return information about a specific alarm.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetAlarms request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + }, + "monitoredResourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail resource being monitored by the alarm.

Specify a monitored resource name to return information about all alarms for a specific resource.

" + } + } + }, + "GetAlarmsResult":{ + "type":"structure", + "members":{ + "alarms":{ + "shape":"AlarmsList", + "documentation":"

An array of objects that describe the alarms.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetAlarms request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetAutoSnapshotsRequest":{ + "type":"structure", + "required":["resourceName"], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the source instance or disk from which to get automatic snapshot information.

" + } + } + }, + "GetAutoSnapshotsResult":{ + "type":"structure", + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the source instance or disk for the automatic snapshots.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (e.g., Instance or Disk).

" + }, + "autoSnapshots":{ + "shape":"AutoSnapshotDetailsList", + "documentation":"

An array of objects that describe the automatic snapshots that are available for the specified source instance or disk.

" + } + } + }, + "GetBlueprintsRequest":{ + "type":"structure", + "members":{ + "includeInactive":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether to include inactive results in your request.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetBlueprints request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetBlueprintsResult":{ + "type":"structure", + "members":{ + "blueprints":{ + "shape":"BlueprintList", + "documentation":"

An array of key-value pairs that contains information about the available blueprints.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetBlueprints request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetBundlesRequest":{ + "type":"structure", + "members":{ + "includeInactive":{ + "shape":"boolean", + "documentation":"

A Boolean value that indicates whether to include inactive bundle results in your request.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetBundles request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetBundlesResult":{ + "type":"structure", + "members":{ + "bundles":{ + "shape":"BundleList", + "documentation":"

An array of key-value pairs that contains information about the available bundles.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetBundles request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetCloudFormationStackRecordsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetClouFormationStackRecords request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetCloudFormationStackRecordsResult":{ + "type":"structure", + "members":{ + "cloudFormationStackRecords":{ + "shape":"CloudFormationStackRecordList", + "documentation":"

A list of objects describing the CloudFormation stack records.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetCloudFormationStackRecords request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetContactMethodsRequest":{ + "type":"structure", + "members":{ + "protocols":{ + "shape":"ContactProtocolsList", + "documentation":"

The protocols used to send notifications, such as Email, or SMS (text messaging).

Specify a protocol in your request to return information about a specific contact method protocol.

" + } + } + }, + "GetContactMethodsResult":{ + "type":"structure", + "members":{ + "contactMethods":{ + "shape":"ContactMethodsList", + "documentation":"

An array of objects that describe the contact methods.

" + } + } + }, + "GetDiskRequest":{ + "type":"structure", + "required":["diskName"], + "members":{ + "diskName":{ + "shape":"ResourceName", + "documentation":"

The name of the disk (e.g., my-disk).

" + } + } + }, + "GetDiskResult":{ + "type":"structure", + "members":{ + "disk":{ + "shape":"Disk", + "documentation":"

An object containing information about the disk.

" + } + } + }, + "GetDiskSnapshotRequest":{ + "type":"structure", + "required":["diskSnapshotName"], + "members":{ + "diskSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the disk snapshot (e.g., my-disk-snapshot).

" + } + } + }, + "GetDiskSnapshotResult":{ + "type":"structure", + "members":{ + "diskSnapshot":{ + "shape":"DiskSnapshot", + "documentation":"

An object containing information about the disk snapshot.

" + } + } + }, + "GetDiskSnapshotsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetDiskSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetDiskSnapshotsResult":{ + "type":"structure", + "members":{ + "diskSnapshots":{ + "shape":"DiskSnapshotList", + "documentation":"

An array of objects containing information about all block storage disk snapshots.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetDiskSnapshots request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetDisksRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetDisks request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetDisksResult":{ + "type":"structure", + "members":{ + "disks":{ + "shape":"DiskList", + "documentation":"

An array of objects containing information about all block storage disks.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetDisks request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetDomainRequest":{ + "type":"structure", + "required":["domainName"], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The domain name for which your want to return information about.

" + } + } + }, + "GetDomainResult":{ + "type":"structure", + "members":{ + "domain":{ + "shape":"Domain", + "documentation":"

An array of key-value pairs containing information about your get domain request.

" + } + } + }, + "GetDomainsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetDomains request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetDomainsResult":{ + "type":"structure", + "members":{ + "domains":{ + "shape":"DomainList", + "documentation":"

An array of key-value pairs containing information about each of the domain entries in the user's account.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetDomains request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetExportSnapshotRecordsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetExportSnapshotRecords request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetExportSnapshotRecordsResult":{ + "type":"structure", + "members":{ + "exportSnapshotRecords":{ + "shape":"ExportSnapshotRecordList", + "documentation":"

A list of objects describing the export snapshot records.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetExportSnapshotRecords request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetInstanceAccessDetailsRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance to access.

" + }, + "protocol":{ + "shape":"InstanceAccessProtocol", + "documentation":"

The protocol to use to connect to your instance. Defaults to ssh.

" + } + } + }, + "GetInstanceAccessDetailsResult":{ + "type":"structure", + "members":{ + "accessDetails":{ + "shape":"InstanceAccessDetails", + "documentation":"

An array of key-value pairs containing information about a get instance access request.

" + } + } + }, + "GetInstanceMetricDataRequest":{ + "type":"structure", + "required":[ + "instanceName", + "metricName", + "period", + "startTime", + "endTime", + "unit", + "statistics" + ], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which you want to get metrics data.

" + }, + "metricName":{ + "shape":"InstanceMetricName", + "documentation":"

The metric for which you want to return information.

Valid instance metric names are listed below, along with the most useful statistics to include in your request, and the published unit value.

  • CPUUtilization - The percentage of allocated compute units that are currently in use on the instance. This metric identifies the processing power to run the applications on the instance. Tools in your operating system can show a lower percentage than Lightsail when the instance is not allocated a full processor core.

    Statistics: The most useful statistics are Maximum and Average.

    Unit: The published unit is Percent.

  • NetworkIn - The number of bytes received on all network interfaces by the instance. This metric identifies the volume of incoming network traffic to the instance. The number reported is the number of bytes received during the period. Because this metric is reported in 5-minute intervals, divide the reported number by 300 to find Bytes/second.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Bytes.

  • NetworkOut - The number of bytes sent out on all network interfaces by the instance. This metric identifies the volume of outgoing network traffic from the instance. The number reported is the number of bytes sent during the period. Because this metric is reported in 5-minute intervals, divide the reported number by 300 to find Bytes/second.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Bytes.

  • StatusCheckFailed - Reports whether the instance passed or failed both the instance status check and the system status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

  • StatusCheckFailed_Instance - Reports whether the instance passed or failed the instance status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

  • StatusCheckFailed_System - Reports whether the instance passed or failed the system status check. This metric can be either 0 (passed) or 1 (failed). This metric data is available in 1-minute (60 seconds) granularity.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

" + }, + "period":{ + "shape":"MetricPeriod", + "documentation":"

The granularity, in seconds, of the returned data points.

The StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System instance metric data is available in 1-minute (60 seconds) granularity. All other instance metric data is available in 5-minute (300 seconds) granularity.

" + }, + "startTime":{ + "shape":"timestamp", + "documentation":"

The start time of the time period.

" + }, + "endTime":{ + "shape":"timestamp", + "documentation":"

The end time of the time period.

" + }, + "unit":{ + "shape":"MetricUnit", + "documentation":"

The unit for the metric data request. Valid units depend on the metric data being requested. For the valid units to specify with each available metric, see the metricName parameter.

" + }, + "statistics":{ + "shape":"MetricStatisticList", + "documentation":"

The statistic for the metric.

The following statistics are available:

  • Minimum - The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application.

  • Maximum - The highest value observed during the specified period. Use this value to determine high volumes of activity for your application.

  • Sum - All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric.

  • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources.

  • SampleCount - The count, or number, of data points used for the statistical calculation.

" + } + } + }, + "GetInstanceMetricDataResult":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"InstanceMetricName", + "documentation":"

The metric name to return data for.

" + }, + "metricData":{ + "shape":"MetricDatapointList", + "documentation":"

An array of key-value pairs containing information about the results of your get instance metric data request.

" + } + } + }, + "GetInstancePortStatesRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which to return firewall port states.

" + } + } + }, + "GetInstancePortStatesResult":{ + "type":"structure", + "members":{ + "portStates":{ + "shape":"InstancePortStateList", + "documentation":"

An array of objects that describe the firewall port states for the specified instance.

" + } + } + }, + "GetInstanceRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance.

" + } + } + }, + "GetInstanceResult":{ + "type":"structure", + "members":{ + "instance":{ + "shape":"Instance", + "documentation":"

An array of key-value pairs containing information about the specified instance.

" + } + } + }, + "GetInstanceSnapshotRequest":{ + "type":"structure", + "required":["instanceSnapshotName"], + "members":{ + "instanceSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the snapshot for which you are requesting information.

" + } + } + }, + "GetInstanceSnapshotResult":{ + "type":"structure", + "members":{ + "instanceSnapshot":{ + "shape":"InstanceSnapshot", + "documentation":"

An array of key-value pairs containing information about the results of your get instance snapshot request.

" + } + } + }, + "GetInstanceSnapshotsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetInstanceSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetInstanceSnapshotsResult":{ + "type":"structure", + "members":{ + "instanceSnapshots":{ + "shape":"InstanceSnapshotList", + "documentation":"

An array of key-value pairs containing information about the results of your get instance snapshots request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetInstanceSnapshots request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetInstanceStateRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance to get state information about.

" + } + } + }, + "GetInstanceStateResult":{ + "type":"structure", + "members":{ + "state":{ + "shape":"InstanceState", + "documentation":"

The state of the instance.

" + } + } + }, + "GetInstancesRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetInstances request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetInstancesResult":{ + "type":"structure", + "members":{ + "instances":{ + "shape":"InstanceList", + "documentation":"

An array of key-value pairs containing information about your instances.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetInstances request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetKeyPairRequest":{ + "type":"structure", + "required":["keyPairName"], + "members":{ + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name of the key pair for which you are requesting information.

" + } + } + }, + "GetKeyPairResult":{ + "type":"structure", + "members":{ + "keyPair":{ + "shape":"KeyPair", + "documentation":"

An array of key-value pairs containing information about the key pair.

" + } + } + }, + "GetKeyPairsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetKeyPairs request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetKeyPairsResult":{ + "type":"structure", + "members":{ + "keyPairs":{ + "shape":"KeyPairList", + "documentation":"

An array of key-value pairs containing information about the key pairs.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetKeyPairs request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetLoadBalancerMetricDataRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "metricName", + "period", + "startTime", + "endTime", + "unit", + "statistics" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer.

" + }, + "metricName":{ + "shape":"LoadBalancerMetricName", + "documentation":"

The metric for which you want to return information.

Valid load balancer metric names are listed below, along with the most useful statistics to include in your request, and the published unit value.

  • ClientTLSNegotiationErrorCount - The number of TLS connections initiated by the client that did not establish a session with the load balancer due to a TLS error generated by the load balancer. Possible causes include a mismatch of ciphers or protocols.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

  • HealthyHostCount - The number of target instances that are considered healthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

    Unit: The published unit is Count.

  • HTTPCode_Instance_2XX_Count - The number of HTTP 2XX response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • HTTPCode_Instance_3XX_Count - The number of HTTP 3XX response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • HTTPCode_Instance_4XX_Count - The number of HTTP 4XX response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • HTTPCode_Instance_5XX_Count - The number of HTTP 5XX response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that originated from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests were not received by the target instance. This count does not include response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that originated from the load balancer. This does not include any response codes generated by the target instance. This metric is reported if there are no healthy instances attached to the load balancer, or if the request rate exceeds the capacity of the instances (spillover) or the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • InstanceResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received.

    Statistics: The most useful statistic is Average.

    Unit: The published unit is Seconds.

  • RejectedConnectionCount - The number of connections that were rejected because the load balancer had reached its maximum number of connections.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

  • RequestCount - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    Unit: The published unit is Count.

  • UnhealthyHostCount - The number of target instances that are considered unhealthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

    Unit: The published unit is Count.

" + }, + "period":{ + "shape":"MetricPeriod", + "documentation":"

The granularity, in seconds, of the returned data points.

" + }, + "startTime":{ + "shape":"timestamp", + "documentation":"

The start time of the period.

" + }, + "endTime":{ + "shape":"timestamp", + "documentation":"

The end time of the period.

" + }, + "unit":{ + "shape":"MetricUnit", + "documentation":"

The unit for the metric data request. Valid units depend on the metric data being required. For the valid units with each available metric, see the metricName parameter.

" + }, + "statistics":{ + "shape":"MetricStatisticList", + "documentation":"

The statistic for the metric.

The following statistics are available:

  • Minimum - The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application.

  • Maximum - The highest value observed during the specified period. Use this value to determine high volumes of activity for your application.

  • Sum - All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric.

  • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources.

  • SampleCount - The count, or number, of data points used for the statistical calculation.

" + } + } + }, + "GetLoadBalancerMetricDataResult":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"LoadBalancerMetricName", + "documentation":"

The metric about which you are receiving information. Valid values are listed below, along with the most useful statistics to include in your request.

  • ClientTLSNegotiationErrorCount - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.

    Statistics: The most useful statistic is Sum.

  • HealthyHostCount - The number of target instances that are considered healthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • UnhealthyHostCount - The number of target instances that are considered unhealthy.

    Statistics: The most useful statistic are Average, Minimum, and Maximum.

  • HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • InstanceResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received.

    Statistics: The most useful statistic is Average.

  • RejectedConnectionCount - The number of connections that were rejected because the load balancer had reached its maximum number of connections.

    Statistics: The most useful statistic is Sum.

  • RequestCount - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer.

    Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

" + }, + "metricData":{ + "shape":"MetricDatapointList", + "documentation":"

An array of metric datapoint objects.

" + } + } + }, + "GetLoadBalancerRequest":{ + "type":"structure", + "required":["loadBalancerName"], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer.

" + } + } + }, + "GetLoadBalancerResult":{ + "type":"structure", + "members":{ + "loadBalancer":{ + "shape":"LoadBalancer", + "documentation":"

An object containing information about your load balancer.

" + } + } + }, + "GetLoadBalancerTlsCertificatesRequest":{ + "type":"structure", + "required":["loadBalancerName"], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer you associated with your SSL/TLS certificate.

" + } + } + }, + "GetLoadBalancerTlsCertificatesResult":{ + "type":"structure", + "members":{ + "tlsCertificates":{ + "shape":"LoadBalancerTlsCertificateList", + "documentation":"

An array of LoadBalancerTlsCertificate objects describing your SSL/TLS certificates.

" + } + } + }, + "GetLoadBalancersRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetLoadBalancers request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetLoadBalancersResult":{ + "type":"structure", + "members":{ + "loadBalancers":{ + "shape":"LoadBalancerList", + "documentation":"

An array of LoadBalancer objects describing your load balancers.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetLoadBalancers request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetOperationRequest":{ + "type":"structure", + "required":["operationId"], + "members":{ + "operationId":{ + "shape":"NonEmptyString", + "documentation":"

A GUID used to identify the operation.

" + } + } + }, + "GetOperationResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "GetOperationsForResourceRequest":{ + "type":"structure", + "required":["resourceName"], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the resource for which you are requesting information.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetOperationsForResource request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetOperationsForResourceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + }, + "nextPageCount":{ + "shape":"string", + "documentation":"

(Deprecated) Returns the number of pages of results that remain.

In releases prior to June 12, 2017, this parameter returned null by the API. It is now deprecated, and the API returns the next page token parameter instead.

", + "deprecated":true + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetOperationsForResource request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetOperationsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetOperations request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetOperationsResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetOperations request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRegionsRequest":{ + "type":"structure", + "members":{ + "includeAvailabilityZones":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., us-east-2a.

" + }, + "includeRelationalDatabaseAvailabilityZones":{ + "shape":"boolean", + "documentation":"

>A Boolean value indicating whether to also include Availability Zones for databases in your get regions request. Availability Zones are indicated with a letter (e.g., us-east-2a).

" + } + } + }, + "GetRegionsResult":{ + "type":"structure", + "members":{ + "regions":{ + "shape":"RegionList", + "documentation":"

An array of key-value pairs containing information about your get regions request.

" + } + } + }, + "GetRelationalDatabaseBlueprintsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseBlueprints request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseBlueprintsResult":{ + "type":"structure", + "members":{ + "blueprints":{ + "shape":"RelationalDatabaseBlueprintList", + "documentation":"

An object describing the result of your get relational database blueprints request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabaseBlueprints request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRelationalDatabaseBundlesRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseBundles request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseBundlesResult":{ + "type":"structure", + "members":{ + "bundles":{ + "shape":"RelationalDatabaseBundleList", + "documentation":"

An object describing the result of your get relational database bundles request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabaseBundles request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRelationalDatabaseEventsRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of the database from which to get events.

" + }, + "durationInMinutes":{ + "shape":"integer", + "documentation":"

The number of minutes in the past from which to retrieve events. For example, to get all events from the past 2 hours, enter 120.

Default: 60

The minimum is 1 and the maximum is 14 days (20160 minutes).

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseEvents request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseEventsResult":{ + "type":"structure", + "members":{ + "relationalDatabaseEvents":{ + "shape":"RelationalDatabaseEventList", + "documentation":"

An object describing the result of your get relational database events request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabaseEvents request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRelationalDatabaseLogEventsRequest":{ + "type":"structure", + "required":[ + "relationalDatabaseName", + "logStreamName" + ], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database for which to get log events.

" + }, + "logStreamName":{ + "shape":"string", + "documentation":"

The name of the log stream.

Use the get relational database log streams operation to get a list of available log streams.

" + }, + "startTime":{ + "shape":"IsoDate", + "documentation":"

The start of the time interval from which to get log events.

Constraints:

  • Specified in Coordinated Universal Time (UTC).

  • Specified in the Unix time format.

    For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the start time.

" + }, + "endTime":{ + "shape":"IsoDate", + "documentation":"

The end of the time interval from which to get log events.

Constraints:

  • Specified in Coordinated Universal Time (UTC).

  • Specified in the Unix time format.

    For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the end time.

" + }, + "startFromHead":{ + "shape":"boolean", + "documentation":"

Parameter to specify if the log should start from head or tail. If true is specified, the log event starts from the head of the log. If false is specified, the log event starts from the tail of the log.

For PostgreSQL, the default value of false is the only option available.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next or previous page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseLogEvents request. If your results are paginated, the response will return a next forward token and/or next backward token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseLogEventsResult":{ + "type":"structure", + "members":{ + "resourceLogEvents":{ + "shape":"LogEventList", + "documentation":"

An object describing the result of your get relational database log events request.

" + }, + "nextBackwardToken":{ + "shape":"string", + "documentation":"

A token used for advancing to the previous page of results from your get relational database log events request.

" + }, + "nextForwardToken":{ + "shape":"string", + "documentation":"

A token used for advancing to the next page of results from your get relational database log events request.

" + } + } + }, + "GetRelationalDatabaseLogStreamsRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database for which to get log streams.

" + } + } + }, + "GetRelationalDatabaseLogStreamsResult":{ + "type":"structure", + "members":{ + "logStreams":{ + "shape":"StringList", + "documentation":"

An object describing the result of your get relational database log streams request.

" + } + } + }, + "GetRelationalDatabaseMasterUserPasswordRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database for which to get the master user password.

" + }, + "passwordVersion":{ + "shape":"RelationalDatabasePasswordVersion", + "documentation":"

The password version to return.

Specifying CURRENT or PREVIOUS returns the current or previous passwords respectively. Specifying PENDING returns the newest version of the password that will rotate to CURRENT. After the PENDING password rotates to CURRENT, the PENDING password is no longer available.

Default: CURRENT

" + } + } + }, + "GetRelationalDatabaseMasterUserPasswordResult":{ + "type":"structure", + "members":{ + "masterUserPassword":{ + "shape":"SensitiveString", + "documentation":"

The master user password for the password version specified.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the specified version of the master user password was created.

" + } + } + }, + "GetRelationalDatabaseMetricDataRequest":{ + "type":"structure", + "required":[ + "relationalDatabaseName", + "metricName", + "period", + "startTime", + "endTime", + "unit", + "statistics" + ], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database from which to get metric data.

" + }, + "metricName":{ + "shape":"RelationalDatabaseMetricName", + "documentation":"

The metric for which you want to return information.

Valid relational database metric names are listed below, along with the most useful statistics to include in your request, and the published unit value. All relational database metric data is available in 1-minute (60 seconds) granularity.

  • CPUUtilization - The percentage of CPU utilization currently in use on the database.

    Statistics: The most useful statistics are Maximum and Average.

    Unit: The published unit is Percent.

  • DatabaseConnections - The number of database connections in use.

    Statistics: The most useful statistics are Maximum and Sum.

    Unit: The published unit is Count.

  • DiskQueueDepth - The number of outstanding IOs (read/write requests) that are waiting to access the disk.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Count.

  • FreeStorageSpace - The amount of available storage space.

    Statistics: The most useful statistic is Sum.

    Unit: The published unit is Bytes.

  • NetworkReceiveThroughput - The incoming (Receive) network traffic on the database, including both customer database traffic and AWS traffic used for monitoring and replication.

    Statistics: The most useful statistic is Average.

    Unit: The published unit is Bytes/Second.

  • NetworkTransmitThroughput - The outgoing (Transmit) network traffic on the database, including both customer database traffic and AWS traffic used for monitoring and replication.

    Statistics: The most useful statistic is Average.

    Unit: The published unit is Bytes/Second.

" + }, + "period":{ + "shape":"MetricPeriod", + "documentation":"

The granularity, in seconds, of the returned data points.

All relational database metric data is available in 1-minute (60 seconds) granularity.

" + }, + "startTime":{ + "shape":"IsoDate", + "documentation":"

The start of the time interval from which to get metric data.

Constraints:

  • Specified in Coordinated Universal Time (UTC).

  • Specified in the Unix time format.

    For example, if you wish to use a start time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the start time.

" + }, + "endTime":{ + "shape":"IsoDate", + "documentation":"

The end of the time interval from which to get metric data.

Constraints:

  • Specified in Coordinated Universal Time (UTC).

  • Specified in the Unix time format.

    For example, if you wish to use an end time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the end time.

" + }, + "unit":{ + "shape":"MetricUnit", + "documentation":"

The unit for the metric data request. Valid units depend on the metric data being required. For the valid units with each available metric, see the metricName parameter.

" + }, + "statistics":{ + "shape":"MetricStatisticList", + "documentation":"

The statistic for the metric.

The following statistics are available:

  • Minimum - The lowest value observed during the specified period. Use this value to determine low volumes of activity for your application.

  • Maximum - The highest value observed during the specified period. Use this value to determine high volumes of activity for your application.

  • Sum - All values submitted for the matching metric added together. You can use this statistic to determine the total volume of a metric.

  • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum values, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum values. This comparison helps you to know when to increase or decrease your resources.

  • SampleCount - The count, or number, of data points used for the statistical calculation.

" + } + } + }, + "GetRelationalDatabaseMetricDataResult":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"RelationalDatabaseMetricName", + "documentation":"

The name of the metric.

" + }, + "metricData":{ + "shape":"MetricDatapointList", + "documentation":"

An object describing the result of your get relational database metric data request.

" + } + } + }, + "GetRelationalDatabaseParametersRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database for which to get parameters.

" + }, + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseParameters request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseParametersResult":{ + "type":"structure", + "members":{ + "parameters":{ + "shape":"RelationalDatabaseParameterList", + "documentation":"

An object describing the result of your get relational database parameters request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabaseParameters request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of the database that you are looking up.

" + } + } + }, + "GetRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "relationalDatabase":{ + "shape":"RelationalDatabase", + "documentation":"

An object describing the specified database.

" + } + } + }, + "GetRelationalDatabaseSnapshotRequest":{ + "type":"structure", + "required":["relationalDatabaseSnapshotName"], + "members":{ + "relationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of the database snapshot for which to get information.

" + } + } + }, + "GetRelationalDatabaseSnapshotResult":{ + "type":"structure", + "members":{ + "relationalDatabaseSnapshot":{ + "shape":"RelationalDatabaseSnapshot", + "documentation":"

An object describing the specified database snapshot.

" + } + } + }, + "GetRelationalDatabaseSnapshotsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabaseSnapshots request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabaseSnapshotsResult":{ + "type":"structure", + "members":{ + "relationalDatabaseSnapshots":{ + "shape":"RelationalDatabaseSnapshotList", + "documentation":"

An object describing the result of your get relational database snapshots request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabaseSnapshots request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetRelationalDatabasesRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetRelationalDatabases request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetRelationalDatabasesResult":{ + "type":"structure", + "members":{ + "relationalDatabases":{ + "shape":"RelationalDatabaseList", + "documentation":"

An object describing the result of your get relational databases request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetRelationalDatabases request and specify the next page token using the pageToken parameter.

" + } + } + }, + "GetStaticIpRequest":{ + "type":"structure", + "required":["staticIpName"], + "members":{ + "staticIpName":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP in Lightsail.

" + } + } + }, + "GetStaticIpResult":{ + "type":"structure", + "members":{ + "staticIp":{ + "shape":"StaticIp", + "documentation":"

An array of key-value pairs containing information about the requested static IP.

" + } + } + }, + "GetStaticIpsRequest":{ + "type":"structure", + "members":{ + "pageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of results from your request.

To get a page token, perform an initial GetStaticIps request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request.

" + } + } + }, + "GetStaticIpsResult":{ + "type":"structure", + "members":{ + "staticIps":{ + "shape":"StaticIpList", + "documentation":"

An array of key-value pairs containing information about your get static IPs request.

" + }, + "nextPageToken":{ + "shape":"string", + "documentation":"

The token to advance to the next page of resutls from your request.

A next page token is not returned if there are no more results to display.

To get the next page of results, perform another GetStaticIps request and specify the next page token using the pageToken parameter.

" + } + } + }, + "HostKeyAttributes":{ + "type":"structure", + "members":{ + "algorithm":{ + "shape":"string", + "documentation":"

The SSH host key algorithm or the RDP certificate format.

For SSH host keys, the algorithm may be ssh-rsa, ecdsa-sha2-nistp256, ssh-ed25519, etc. For RDP certificates, the algorithm is always x509-cert.

" + }, + "publicKey":{ + "shape":"string", + "documentation":"

The public SSH host key or the RDP certificate.

" + }, + "witnessedAt":{ + "shape":"IsoDate", + "documentation":"

The time that the SSH host key or RDP certificate was recorded by Lightsail.

" + }, + "fingerprintSHA1":{ + "shape":"string", + "documentation":"

The SHA-1 fingerprint of the returned SSH host key or RDP certificate.

  • Example of an SHA-1 SSH fingerprint:

    SHA1:1CHH6FaAaXjtFOsR/t83vf91SR0

  • Example of an SHA-1 RDP fingerprint:

    af:34:51:fe:09:f0:e0:da:b8:4e:56:ca:60:c2:10:ff:38:06:db:45

" + }, + "fingerprintSHA256":{ + "shape":"string", + "documentation":"

The SHA-256 fingerprint of the returned SSH host key or RDP certificate.

  • Example of an SHA-256 SSH fingerprint:

    SHA256:KTsMnRBh1IhD17HpdfsbzeGA4jOijm5tyXsMjKVbB8o

  • Example of an SHA-256 RDP fingerprint:

    03:9b:36:9f:4b:de:4e:61:70:fc:7c:c9:78:e7:d2:1a:1c:25:a8:0c:91:f6:7c:e4:d6:a0:85:c8:b4:53:99:68

" + }, + "notValidBefore":{ + "shape":"IsoDate", + "documentation":"

The returned RDP certificate is valid after this point in time.

This value is listed only for RDP certificates.

" + }, + "notValidAfter":{ + "shape":"IsoDate", + "documentation":"

The returned RDP certificate is not valid after this point in time.

This value is listed only for RDP certificates.

" + } + }, + "documentation":"

Describes the public SSH host keys or the RDP certificate.

" + }, + "HostKeysList":{ + "type":"list", + "member":{"shape":"HostKeyAttributes"} + }, + "ImportKeyPairRequest":{ + "type":"structure", + "required":[ + "keyPairName", + "publicKeyBase64" + ], + "members":{ + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name of the key pair for which you want to import the public key.

" + }, + "publicKeyBase64":{ + "shape":"Base64", + "documentation":"

A base64-encoded public key of the ssh-rsa type.

" + } + } + }, + "ImportKeyPairResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "Instance":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name the user gave the instance (e.g., Amazon_Linux-1GB-Ohio-1).

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the instance (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the instance was created (e.g., 1479734909.17).

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The region name and Availability Zone where the instance is located.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource (usually Instance).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "blueprintId":{ + "shape":"NonEmptyString", + "documentation":"

The blueprint ID (e.g., os_amlinux_2016_03).

" + }, + "blueprintName":{ + "shape":"NonEmptyString", + "documentation":"

The friendly name of the blueprint (e.g., Amazon Linux).

" + }, + "bundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle for the instance (e.g., micro_1_0).

" + }, + "addOns":{ + "shape":"AddOnList", + "documentation":"

An array of objects representing the add-ons enabled on the instance.

" + }, + "isStaticIp":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether this instance has a static IP assigned to it.

" + }, + "privateIpAddress":{ + "shape":"IpAddress", + "documentation":"

The private IP address of the instance.

" + }, + "publicIpAddress":{ + "shape":"IpAddress", + "documentation":"

The public IP address of the instance.

" + }, + "ipv6Address":{ + "shape":"IpV6Address", + "documentation":"

The IPv6 address of the instance.

" + }, + "hardware":{ + "shape":"InstanceHardware", + "documentation":"

The size of the vCPU and the amount of RAM for the instance.

" + }, + "networking":{ + "shape":"InstanceNetworking", + "documentation":"

Information about the public ports and monthly data transfer rates for the instance.

" + }, + "state":{ + "shape":"InstanceState", + "documentation":"

The status code and the state (e.g., running) for the instance.

" + }, + "username":{ + "shape":"NonEmptyString", + "documentation":"

The user name for connecting to the instance (e.g., ec2-user).

" + }, + "sshKeyName":{ + "shape":"ResourceName", + "documentation":"

The name of the SSH key being used to connect to the instance (e.g., LightsailDefaultKeyPair).

" + } + }, + "documentation":"

Describes an instance (a virtual private server).

" + }, + "InstanceAccessDetails":{ + "type":"structure", + "members":{ + "certKey":{ + "shape":"string", + "documentation":"

For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to tempkey-cert.pub.

" + }, + "expiresAt":{ + "shape":"IsoDate", + "documentation":"

For SSH access, the date on which the temporary keys expire.

" + }, + "ipAddress":{ + "shape":"IpAddress", + "documentation":"

The public IP address of the Amazon Lightsail instance.

" + }, + "password":{ + "shape":"string", + "documentation":"

For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.

If you create an instance using any key pair other than the default (LightsailDefaultKeyPair), password will always be an empty string.

If you change the Administrator password on the instance, Lightsail will continue to return the original password value. When accessing the instance using RDP, you need to manually enter the Administrator password after changing it from the default.

" + }, + "passwordData":{ + "shape":"PasswordData", + "documentation":"

For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if password is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.

" + }, + "privateKey":{ + "shape":"string", + "documentation":"

For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to tempkey).

" + }, + "protocol":{ + "shape":"InstanceAccessProtocol", + "documentation":"

The protocol for these Amazon Lightsail instance access details.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of this Amazon Lightsail instance.

" + }, + "username":{ + "shape":"string", + "documentation":"

The user name to use when logging in to the Amazon Lightsail instance.

" + }, + "hostKeys":{ + "shape":"HostKeysList", + "documentation":"

Describes the public SSH host keys or the RDP certificate.

" + } + }, + "documentation":"

The parameters for gaining temporary access to one of your Amazon Lightsail instances.

" + }, + "InstanceAccessProtocol":{ + "type":"string", + "enum":[ + "ssh", + "rdp" + ] + }, + "InstanceEntry":{ + "type":"structure", + "required":[ + "sourceName", + "instanceType", + "portInfoSource", + "availabilityZone" + ], + "members":{ + "sourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the export snapshot record, which contains the exported Lightsail instance snapshot that will be used as the source of the new Amazon EC2 instance.

Use the get export snapshot records operation to get a list of export snapshot records that you can use to create a CloudFormation stack.

" + }, + "instanceType":{ + "shape":"NonEmptyString", + "documentation":"

The instance type (e.g., t2.micro) to use for the new Amazon EC2 instance.

" + }, + "portInfoSource":{ + "shape":"PortInfoSourceType", + "documentation":"

The port configuration to use for the new Amazon EC2 instance.

The following configuration options are available:

  • DEFAULT - Use the default firewall settings from the Lightsail instance blueprint.

  • INSTANCE - Use the configured firewall settings from the source Lightsail instance.

  • NONE - Use the default Amazon EC2 security group.

  • CLOSED - All ports closed.

If you configured lightsail-connect as a cidrListAliases on your instance, or if you chose to allow the Lightsail browser-based SSH or RDP clients to connect to your instance, that configuration is not carried over to your new Amazon EC2 instance.

" + }, + "userData":{ + "shape":"string", + "documentation":"

A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.

Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg.

" + }, + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone for the new Amazon EC2 instance.

" + } + }, + "documentation":"

Describes the Amazon Elastic Compute Cloud instance and related resources to be created using the create cloud formation stack operation.

" + }, + "InstanceEntryList":{ + "type":"list", + "member":{"shape":"InstanceEntry"} + }, + "InstanceHardware":{ + "type":"structure", + "members":{ + "cpuCount":{ + "shape":"integer", + "documentation":"

The number of vCPUs the instance has.

" + }, + "disks":{ + "shape":"DiskList", + "documentation":"

The disks attached to the instance.

" + }, + "ramSizeInGb":{ + "shape":"float", + "documentation":"

The amount of RAM in GB on the instance (e.g., 1.0).

" + } + }, + "documentation":"

Describes the hardware for the instance.

" + }, + "InstanceHealthReason":{ + "type":"string", + "enum":[ + "Lb.RegistrationInProgress", + "Lb.InitialHealthChecking", + "Lb.InternalError", + "Instance.ResponseCodeMismatch", + "Instance.Timeout", + "Instance.FailedHealthChecks", + "Instance.NotRegistered", + "Instance.NotInUse", + "Instance.DeregistrationInProgress", + "Instance.InvalidState", + "Instance.IpUnusable" + ] + }, + "InstanceHealthState":{ + "type":"string", + "enum":[ + "initial", + "healthy", + "unhealthy", + "unused", + "draining", + "unavailable" + ] + }, + "InstanceHealthSummary":{ + "type":"structure", + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail instance for which you are requesting health check data.

" + }, + "instanceHealth":{ + "shape":"InstanceHealthState", + "documentation":"

Describes the overall instance health. Valid values are below.

" + }, + "instanceHealthReason":{ + "shape":"InstanceHealthReason", + "documentation":"

More information about the instance health. If the instanceHealth is healthy, then an instanceHealthReason value is not provided.

If instanceHealth is initial, the instanceHealthReason value can be one of the following:

  • Lb.RegistrationInProgress - The target instance is in the process of being registered with the load balancer.

  • Lb.InitialHealthChecking - The Lightsail load balancer is still sending the target instance the minimum number of health checks required to determine its health status.

If instanceHealth is unhealthy, the instanceHealthReason value can be one of the following:

  • Instance.ResponseCodeMismatch - The health checks did not return an expected HTTP code.

  • Instance.Timeout - The health check requests timed out.

  • Instance.FailedHealthChecks - The health checks failed because the connection to the target instance timed out, the target instance response was malformed, or the target instance failed the health check for an unknown reason.

  • Lb.InternalError - The health checks failed due to an internal error.

If instanceHealth is unused, the instanceHealthReason value can be one of the following:

  • Instance.NotRegistered - The target instance is not registered with the target group.

  • Instance.NotInUse - The target group is not used by any load balancer, or the target instance is in an Availability Zone that is not enabled for its load balancer.

  • Instance.IpUnusable - The target IP address is reserved for use by a Lightsail load balancer.

  • Instance.InvalidState - The target is in the stopped or terminated state.

If instanceHealth is draining, the instanceHealthReason value can be one of the following:

  • Instance.DeregistrationInProgress - The target instance is in the process of being deregistered and the deregistration delay period has not expired.

" + } + }, + "documentation":"

Describes information about the health of the instance.

" + }, + "InstanceHealthSummaryList":{ + "type":"list", + "member":{"shape":"InstanceHealthSummary"} + }, + "InstanceList":{ + "type":"list", + "member":{"shape":"Instance"} + }, + "InstanceMetricName":{ + "type":"string", + "enum":[ + "CPUUtilization", + "NetworkIn", + "NetworkOut", + "StatusCheckFailed", + "StatusCheckFailed_Instance", + "StatusCheckFailed_System" + ] + }, + "InstanceNetworking":{ + "type":"structure", + "members":{ + "monthlyTransfer":{ + "shape":"MonthlyTransfer", + "documentation":"

The amount of data in GB allocated for monthly data transfers.

" + }, + "ports":{ + "shape":"InstancePortInfoList", + "documentation":"

An array of key-value pairs containing information about the ports on the instance.

" + } + }, + "documentation":"

Describes monthly data transfer rates and port information for an instance.

" + }, + "InstancePlatform":{ + "type":"string", + "enum":[ + "LINUX_UNIX", + "WINDOWS" + ] + }, + "InstancePlatformList":{ + "type":"list", + "member":{"shape":"InstancePlatform"} + }, + "InstancePortInfo":{ + "type":"structure", + "members":{ + "fromPort":{ + "shape":"Port", + "documentation":"

The first port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - 8 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "toPort":{ + "shape":"Port", + "documentation":"

The last port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - -1 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "protocol":{ + "shape":"NetworkProtocol", + "documentation":"

The IP protocol name.

The name can be one of the following:

  • tcp - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.

  • all - All transport layer protocol types. For more general information, see Transport layer on Wikipedia.

  • udp - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.

  • icmp - Internet Control Message Protocol (ICMP) is used to send error messages and operational information indicating success or failure when communicating with an instance. For example, an error is indicated when an instance could not be reached.

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "accessFrom":{ + "shape":"string", + "documentation":"

The location from which access is allowed. For example, Anywhere (0.0.0.0/0), or Custom if a specific IP address or range of IP addresses is allowed.

" + }, + "accessType":{ + "shape":"PortAccessType", + "documentation":"

The type of access (Public or Private).

" + }, + "commonName":{ + "shape":"string", + "documentation":"

The common name of the port information.

" + }, + "accessDirection":{ + "shape":"AccessDirection", + "documentation":"

The access direction (inbound or outbound).

Lightsail currently supports only inbound access direction.

" + }, + "cidrs":{ + "shape":"StringList", + "documentation":"

The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

For more information about CIDR block notation, see Classless Inter-Domain Routing on Wikipedia.

" + }, + "cidrListAliases":{ + "shape":"StringList", + "documentation":"

An alias that defines access for a preconfigured range of IP addresses.

The only alias currently supported is lightsail-connect, which allows IP addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your instance.

" + } + }, + "documentation":"

Describes information about ports for an Amazon Lightsail instance.

" + }, + "InstancePortInfoList":{ + "type":"list", + "member":{"shape":"InstancePortInfo"} + }, + "InstancePortState":{ + "type":"structure", + "members":{ + "fromPort":{ + "shape":"Port", + "documentation":"

The first port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - 8 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "toPort":{ + "shape":"Port", + "documentation":"

The last port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - -1 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "protocol":{ + "shape":"NetworkProtocol", + "documentation":"

The IP protocol name.

The name can be one of the following:

  • tcp - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.

  • all - All transport layer protocol types. For more general information, see Transport layer on Wikipedia.

  • udp - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.

  • icmp - Internet Control Message Protocol (ICMP) is used to send error messages and operational information indicating success or failure when communicating with an instance. For example, an error is indicated when an instance could not be reached.

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "state":{ + "shape":"PortState", + "documentation":"

Specifies whether the instance port is open or closed.

The port state for Lightsail instances is always open.

" + }, + "cidrs":{ + "shape":"StringList", + "documentation":"

The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

For more information about CIDR block notation, see Classless Inter-Domain Routing on Wikipedia.

" + }, + "cidrListAliases":{ + "shape":"StringList", + "documentation":"

An alias that defines access for a preconfigured range of IP addresses.

The only alias currently supported is lightsail-connect, which allows IP addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your instance.

" + } + }, + "documentation":"

Describes open ports on an instance, the IP addresses allowed to connect to the instance through the ports, and the protocol.

" + }, + "InstancePortStateList":{ + "type":"list", + "member":{"shape":"InstancePortState"} + }, + "InstanceSnapshot":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the snapshot.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the snapshot (e.g., arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the snapshot was created (e.g., 1479907467.024).

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The region name and Availability Zone where you created the snapshot.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The type of resource (usually InstanceSnapshot).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "state":{ + "shape":"InstanceSnapshotState", + "documentation":"

The state the snapshot is in.

" + }, + "progress":{ + "shape":"string", + "documentation":"

The progress of the snapshot.

" + }, + "fromAttachedDisks":{ + "shape":"DiskList", + "documentation":"

An array of disk objects containing information about all block storage disks.

" + }, + "fromInstanceName":{ + "shape":"ResourceName", + "documentation":"

The instance from which the snapshot was created.

" + }, + "fromInstanceArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE).

" + }, + "fromBlueprintId":{ + "shape":"string", + "documentation":"

The blueprint ID from which you created the snapshot (e.g., os_debian_8_3). A blueprint is a virtual private server (or instance) image used to create instances quickly.

" + }, + "fromBundleId":{ + "shape":"string", + "documentation":"

The bundle ID from which you created the snapshot (e.g., micro_1_0).

" + }, + "isFromAutoSnapshot":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the snapshot was created from an automatic snapshot.

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size in GB of the SSD.

" + } + }, + "documentation":"

Describes an instance snapshot.

" + }, + "InstanceSnapshotInfo":{ + "type":"structure", + "members":{ + "fromBundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle ID from which the source instance was created (e.g., micro_1_0).

" + }, + "fromBlueprintId":{ + "shape":"NonEmptyString", + "documentation":"

The blueprint ID from which the source instance (e.g., os_debian_8_3).

" + }, + "fromDiskInfo":{ + "shape":"DiskInfoList", + "documentation":"

A list of objects describing the disks that were attached to the source instance.

" + } + }, + "documentation":"

Describes an instance snapshot.

" + }, + "InstanceSnapshotList":{ + "type":"list", + "member":{"shape":"InstanceSnapshot"} + }, + "InstanceSnapshotState":{ + "type":"string", + "enum":[ + "pending", + "error", + "available" + ] + }, + "InstanceState":{ + "type":"structure", + "members":{ + "code":{ + "shape":"integer", + "documentation":"

The status code for the instance.

" + }, + "name":{ + "shape":"string", + "documentation":"

The state of the instance (e.g., running or pending).

" + } + }, + "documentation":"

Describes the virtual private server (or instance) status.

" + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Domain-related APIs are only available in the N. Virginia (us-east-1) Region. Please set your AWS Region configuration to us-east-1 to create, view, or edit these resources.

", + "exception":true + }, + "IpAddress":{ + "type":"string", + "pattern":"([0-9]{1,3}\\.){3}[0-9]{1,3}" + }, + "IpV6Address":{ + "type":"string", + "pattern":"([A-F0-9]{1,4}:){7}[A-F0-9]{1,4}" + }, + "IsVpcPeeredRequest":{ + "type":"structure", + "members":{ + } + }, + "IsVpcPeeredResult":{ + "type":"structure", + "members":{ + "isPeered":{ + "shape":"boolean", + "documentation":"

Returns true if the Lightsail VPC is peered; otherwise, false.

" + } + } + }, + "IsoDate":{"type":"timestamp"}, + "KeyPair":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The friendly name of the SSH key pair.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the key pair (e.g., arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the key pair was created (e.g., 1479816991.349).

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The region name and Availability Zone where the key pair was created.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (usually KeyPair).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "fingerprint":{ + "shape":"Base64", + "documentation":"

The RSA fingerprint of the key pair.

" + } + }, + "documentation":"

Describes the SSH key pair.

" + }, + "KeyPairList":{ + "type":"list", + "member":{"shape":"KeyPair"} + }, + "LoadBalancer":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer (e.g., my-load-balancer).

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the load balancer.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail load balancer. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The date when your load balancer was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region where your load balancer was created (e.g., us-east-2a). Lightsail automatically creates your load balancer across Availability Zones.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (e.g., LoadBalancer.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "dnsName":{ + "shape":"NonEmptyString", + "documentation":"

The DNS name of your Lightsail load balancer.

" + }, + "state":{ + "shape":"LoadBalancerState", + "documentation":"

The status of your load balancer. Valid values are below.

" + }, + "protocol":{ + "shape":"LoadBalancerProtocol", + "documentation":"

The protocol you have enabled for your load balancer. Valid values are below.

You can't just have HTTP_HTTPS, but you can have just HTTP.

" + }, + "publicPorts":{ + "shape":"PortList", + "documentation":"

An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, use port 443.

" + }, + "healthCheckPath":{ + "shape":"NonEmptyString", + "documentation":"

The path you specified to perform your health checks. If no path is specified, the load balancer tries to make a request to the default (root) page.

" + }, + "instancePort":{ + "shape":"integer", + "documentation":"

The port where the load balancer will direct traffic to your Lightsail instances. For HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.

" + }, + "instanceHealthSummary":{ + "shape":"InstanceHealthSummaryList", + "documentation":"

An array of InstanceHealthSummary objects describing the health of the load balancer.

" + }, + "tlsCertificateSummaries":{ + "shape":"LoadBalancerTlsCertificateSummaryList", + "documentation":"

An array of LoadBalancerTlsCertificateSummary objects that provide additional information about the SSL/TLS certificates. For example, if true, the certificate is attached to the load balancer.

" + }, + "configurationOptions":{ + "shape":"LoadBalancerConfigurationOptions", + "documentation":"

A string to string map of the configuration options for your load balancer. Valid values are listed below.

" + } + }, + "documentation":"

Describes the Lightsail load balancer.

" + }, + "LoadBalancerAttributeName":{ + "type":"string", + "enum":[ + "HealthCheckPath", + "SessionStickinessEnabled", + "SessionStickiness_LB_CookieDurationSeconds" + ] + }, + "LoadBalancerConfigurationOptions":{ + "type":"map", + "key":{"shape":"LoadBalancerAttributeName"}, + "value":{"shape":"string"} + }, + "LoadBalancerList":{ + "type":"list", + "member":{"shape":"LoadBalancer"} + }, + "LoadBalancerMetricName":{ + "type":"string", + "enum":[ + "ClientTLSNegotiationErrorCount", + "HealthyHostCount", + "UnhealthyHostCount", + "HTTPCode_LB_4XX_Count", + "HTTPCode_LB_5XX_Count", + "HTTPCode_Instance_2XX_Count", + "HTTPCode_Instance_3XX_Count", + "HTTPCode_Instance_4XX_Count", + "HTTPCode_Instance_5XX_Count", + "InstanceResponseTime", + "RejectedConnectionCount", + "RequestCount" + ] + }, + "LoadBalancerProtocol":{ + "type":"string", + "enum":[ + "HTTP_HTTPS", + "HTTP" + ] + }, + "LoadBalancerState":{ + "type":"string", + "enum":[ + "active", + "provisioning", + "active_impaired", + "failed", + "unknown" + ] + }, + "LoadBalancerTlsCertificate":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the SSL/TLS certificate (e.g., my-certificate).

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the SSL/TLS certificate.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The time when you created your SSL/TLS certificate.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zone where you created your certificate.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (e.g., LoadBalancerTlsCertificate).

  • Instance - A Lightsail instance (a virtual private server)

  • StaticIp - A static IP address

  • KeyPair - The key pair used to connect to a Lightsail instance

  • InstanceSnapshot - A Lightsail instance snapshot

  • Domain - A DNS zone

  • PeeredVpc - A peered VPC

  • LoadBalancer - A Lightsail load balancer

  • LoadBalancerTlsCertificate - An SSL/TLS certificate associated with a Lightsail load balancer

  • Disk - A Lightsail block storage disk

  • DiskSnapshot - A block storage disk snapshot

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The load balancer name where your SSL/TLS certificate is attached.

" + }, + "isAttached":{ + "shape":"boolean", + "documentation":"

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

" + }, + "status":{ + "shape":"LoadBalancerTlsCertificateStatus", + "documentation":"

The status of the SSL/TLS certificate. Valid values are below.

" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

The domain name for your SSL/TLS certificate.

" + }, + "domainValidationRecords":{ + "shape":"LoadBalancerTlsCertificateDomainValidationRecordList", + "documentation":"

An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the records.

" + }, + "failureReason":{ + "shape":"LoadBalancerTlsCertificateFailureReason", + "documentation":"

The reason for the SSL/TLS certificate validation failure.

" + }, + "issuedAt":{ + "shape":"IsoDate", + "documentation":"

The time when the SSL/TLS certificate was issued.

" + }, + "issuer":{ + "shape":"NonEmptyString", + "documentation":"

The issuer of the certificate.

" + }, + "keyAlgorithm":{ + "shape":"NonEmptyString", + "documentation":"

The algorithm that was used to generate the key pair (the public and private key).

" + }, + "notAfter":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the SSL/TLS certificate expires.

" + }, + "notBefore":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the SSL/TLS certificate is first valid.

" + }, + "renewalSummary":{ + "shape":"LoadBalancerTlsCertificateRenewalSummary", + "documentation":"

An object containing information about the status of Lightsail's managed renewal for the certificate.

" + }, + "revocationReason":{ + "shape":"LoadBalancerTlsCertificateRevocationReason", + "documentation":"

The reason the certificate was revoked. Valid values are below.

" + }, + "revokedAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the SSL/TLS certificate was revoked.

" + }, + "serial":{ + "shape":"NonEmptyString", + "documentation":"

The serial number of the certificate.

" + }, + "signatureAlgorithm":{ + "shape":"NonEmptyString", + "documentation":"

The algorithm that was used to sign the certificate.

" + }, + "subject":{ + "shape":"NonEmptyString", + "documentation":"

The name of the entity that is associated with the public key contained in the certificate.

" + }, + "subjectAlternativeNames":{ + "shape":"StringList", + "documentation":"

One or more domains or subdomains 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 (CNAME) of the certificate and additional domain names that can be used to connect to the website, such as example.com, www.example.com, or m.example.com.

" + } + }, + "documentation":"

Describes a load balancer SSL/TLS certificate.

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

" + }, + "LoadBalancerTlsCertificateDomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "FAILED", + "SUCCESS" + ] + }, + "LoadBalancerTlsCertificateDomainValidationOption":{ + "type":"structure", + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The fully qualified domain name in the certificate request.

" + }, + "validationStatus":{ + "shape":"LoadBalancerTlsCertificateDomainStatus", + "documentation":"

The status of the domain validation. Valid values are listed below.

" + } + }, + "documentation":"

Contains information about the domain names on an SSL/TLS certificate that you will use to validate domain ownership.

" + }, + "LoadBalancerTlsCertificateDomainValidationOptionList":{ + "type":"list", + "member":{"shape":"LoadBalancerTlsCertificateDomainValidationOption"} + }, + "LoadBalancerTlsCertificateDomainValidationRecord":{ + "type":"structure", + "members":{ + "name":{ + "shape":"NonEmptyString", + "documentation":"

A fully qualified domain name in the certificate. For example, example.com.

" + }, + "type":{ + "shape":"NonEmptyString", + "documentation":"

The type of validation record. For example, CNAME for domain validation.

" + }, + "value":{ + "shape":"NonEmptyString", + "documentation":"

The value for that type.

" + }, + "validationStatus":{ + "shape":"LoadBalancerTlsCertificateDomainStatus", + "documentation":"

The validation status. Valid values are listed below.

" + }, + "domainName":{ + "shape":"DomainName", + "documentation":"

The domain name against which your SSL/TLS certificate was validated.

" + } + }, + "documentation":"

Describes the validation record of each domain name in the SSL/TLS certificate.

" + }, + "LoadBalancerTlsCertificateDomainValidationRecordList":{ + "type":"list", + "member":{"shape":"LoadBalancerTlsCertificateDomainValidationRecord"} + }, + "LoadBalancerTlsCertificateFailureReason":{ + "type":"string", + "enum":[ + "NO_AVAILABLE_CONTACTS", + "ADDITIONAL_VERIFICATION_REQUIRED", + "DOMAIN_NOT_ALLOWED", + "INVALID_PUBLIC_DOMAIN", + "OTHER" + ] + }, + "LoadBalancerTlsCertificateList":{ + "type":"list", + "member":{"shape":"LoadBalancerTlsCertificate"} + }, + "LoadBalancerTlsCertificateRenewalStatus":{ + "type":"string", + "enum":[ + "PENDING_AUTO_RENEWAL", + "PENDING_VALIDATION", + "SUCCESS", + "FAILED" + ] + }, + "LoadBalancerTlsCertificateRenewalSummary":{ + "type":"structure", + "members":{ + "renewalStatus":{ + "shape":"LoadBalancerTlsCertificateRenewalStatus", + "documentation":"

The status of Lightsail's managed renewal of the certificate. Valid values are listed below.

" + }, + "domainValidationOptions":{ + "shape":"LoadBalancerTlsCertificateDomainValidationOptionList", + "documentation":"

Contains information about the validation of each domain name in the certificate, as it pertains to Lightsail's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request.

" + } + }, + "documentation":"

Contains information about the status of Lightsail's managed renewal for the certificate.

" + }, + "LoadBalancerTlsCertificateRevocationReason":{ + "type":"string", + "enum":[ + "UNSPECIFIED", + "KEY_COMPROMISE", + "CA_COMPROMISE", + "AFFILIATION_CHANGED", + "SUPERCEDED", + "CESSATION_OF_OPERATION", + "CERTIFICATE_HOLD", + "REMOVE_FROM_CRL", + "PRIVILEGE_WITHDRAWN", + "A_A_COMPROMISE" + ] + }, + "LoadBalancerTlsCertificateStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "ISSUED", + "INACTIVE", + "EXPIRED", + "VALIDATION_TIMED_OUT", + "REVOKED", + "FAILED", + "UNKNOWN" + ] + }, + "LoadBalancerTlsCertificateSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the SSL/TLS certificate.

" + }, + "isAttached":{ + "shape":"boolean", + "documentation":"

When true, the SSL/TLS certificate is attached to the Lightsail load balancer.

" + } + }, + "documentation":"

Provides a summary of SSL/TLS certificate metadata.

" + }, + "LoadBalancerTlsCertificateSummaryList":{ + "type":"list", + "member":{"shape":"LoadBalancerTlsCertificateSummary"} + }, + "LogEvent":{ + "type":"structure", + "members":{ + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the database log event was created.

" + }, + "message":{ + "shape":"string", + "documentation":"

The message of the database log event.

" + } + }, + "documentation":"

Describes a database log event.

" + }, + "LogEventList":{ + "type":"list", + "member":{"shape":"LogEvent"} + }, + "MetricDatapoint":{ + "type":"structure", + "members":{ + "average":{ + "shape":"double", + "documentation":"

The average.

" + }, + "maximum":{ + "shape":"double", + "documentation":"

The maximum.

" + }, + "minimum":{ + "shape":"double", + "documentation":"

The minimum.

" + }, + "sampleCount":{ + "shape":"double", + "documentation":"

The sample count.

" + }, + "sum":{ + "shape":"double", + "documentation":"

The sum.

" + }, + "timestamp":{ + "shape":"timestamp", + "documentation":"

The timestamp (e.g., 1479816991.349).

" + }, + "unit":{ + "shape":"MetricUnit", + "documentation":"

The unit.

" + } + }, + "documentation":"

Describes the metric data point.

" + }, + "MetricDatapointList":{ + "type":"list", + "member":{"shape":"MetricDatapoint"} + }, + "MetricName":{ + "type":"string", + "enum":[ + "CPUUtilization", + "NetworkIn", + "NetworkOut", + "StatusCheckFailed", + "StatusCheckFailed_Instance", + "StatusCheckFailed_System", + "ClientTLSNegotiationErrorCount", + "HealthyHostCount", + "UnhealthyHostCount", + "HTTPCode_LB_4XX_Count", + "HTTPCode_LB_5XX_Count", + "HTTPCode_Instance_2XX_Count", + "HTTPCode_Instance_3XX_Count", + "HTTPCode_Instance_4XX_Count", + "HTTPCode_Instance_5XX_Count", + "InstanceResponseTime", + "RejectedConnectionCount", + "RequestCount", + "DatabaseConnections", + "DiskQueueDepth", + "FreeStorageSpace", + "NetworkReceiveThroughput", + "NetworkTransmitThroughput" + ] + }, + "MetricPeriod":{ + "type":"integer", + "max":86400, + "min":60 + }, + "MetricStatistic":{ + "type":"string", + "enum":[ + "Minimum", + "Maximum", + "Sum", + "Average", + "SampleCount" + ] + }, + "MetricStatisticList":{ + "type":"list", + "member":{"shape":"MetricStatistic"} + }, + "MetricUnit":{ + "type":"string", + "enum":[ + "Seconds", + "Microseconds", + "Milliseconds", + "Bytes", + "Kilobytes", + "Megabytes", + "Gigabytes", + "Terabytes", + "Bits", + "Kilobits", + "Megabits", + "Gigabits", + "Terabits", + "Percent", + "Count", + "Bytes/Second", + "Kilobytes/Second", + "Megabytes/Second", + "Gigabytes/Second", + "Terabytes/Second", + "Bits/Second", + "Kilobits/Second", + "Megabits/Second", + "Gigabits/Second", + "Terabits/Second", + "Count/Second", + "None" + ] + }, + "MonitoredResourceInfo":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource being monitored.

" + }, + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail resource being monitored.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type of the resource being monitored.

Instances, load balancers, and relational databases are the only Lightsail resources that can currently be monitored by alarms.

" + } + }, + "documentation":"

Describes resource being monitored by an alarm.

An alarm is a way to monitor your Amazon Lightsail resource metrics. For more information, see Alarms in Amazon Lightsail.

" + }, + "MonthlyTransfer":{ + "type":"structure", + "members":{ + "gbPerMonthAllocated":{ + "shape":"integer", + "documentation":"

The amount allocated per month (in GB).

" + } + }, + "documentation":"

Describes the monthly data transfer in and out of your virtual private server (or instance).

" + }, + "NetworkProtocol":{ + "type":"string", + "enum":[ + "tcp", + "all", + "udp", + "icmp" + ] + }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when it cannot find a resource.

", + "exception":true + }, + "NotificationTriggerList":{ + "type":"list", + "member":{"shape":"AlarmState"} + }, + "OpenInstancePublicPortsRequest":{ + "type":"structure", + "required":[ + "portInfo", + "instanceName" + ], + "members":{ + "portInfo":{ + "shape":"PortInfo", + "documentation":"

An object to describe the ports to open for the specified instance.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which to open ports.

" + } + } + }, + "OpenInstancePublicPortsResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "Operation":{ + "type":"structure", + "members":{ + "id":{ + "shape":"NonEmptyString", + "documentation":"

The ID of the operation.

" + }, + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The resource name.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the operation was initialized (e.g., 1479816991.349).

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The AWS Region and Availability Zone.

" + }, + "isTerminal":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the operation is terminal.

" + }, + "operationDetails":{ + "shape":"string", + "documentation":"

Details about the operation (e.g., Debian-1GB-Ohio-1).

" + }, + "operationType":{ + "shape":"OperationType", + "documentation":"

The type of operation.

" + }, + "status":{ + "shape":"OperationStatus", + "documentation":"

The status of the operation.

" + }, + "statusChangedAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the status was changed (e.g., 1479816991.349).

" + }, + "errorCode":{ + "shape":"string", + "documentation":"

The error code.

" + }, + "errorDetails":{ + "shape":"string", + "documentation":"

The error details.

" + } + }, + "documentation":"

Describes the API operation.

" + }, + "OperationFailureException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when an operation fails to execute.

", + "exception":true + }, + "OperationList":{ + "type":"list", + "member":{"shape":"Operation"} + }, + "OperationStatus":{ + "type":"string", + "enum":[ + "NotStarted", + "Started", + "Failed", + "Completed", + "Succeeded" + ] + }, + "OperationType":{ + "type":"string", + "enum":[ + "DeleteKnownHostKeys", + "DeleteInstance", + "CreateInstance", + "StopInstance", + "StartInstance", + "RebootInstance", + "OpenInstancePublicPorts", + "PutInstancePublicPorts", + "CloseInstancePublicPorts", + "AllocateStaticIp", + "ReleaseStaticIp", + "AttachStaticIp", + "DetachStaticIp", + "UpdateDomainEntry", + "DeleteDomainEntry", + "CreateDomain", + "DeleteDomain", + "CreateInstanceSnapshot", + "DeleteInstanceSnapshot", + "CreateInstancesFromSnapshot", + "CreateLoadBalancer", + "DeleteLoadBalancer", + "AttachInstancesToLoadBalancer", + "DetachInstancesFromLoadBalancer", + "UpdateLoadBalancerAttribute", + "CreateLoadBalancerTlsCertificate", + "DeleteLoadBalancerTlsCertificate", + "AttachLoadBalancerTlsCertificate", + "CreateDisk", + "DeleteDisk", + "AttachDisk", + "DetachDisk", + "CreateDiskSnapshot", + "DeleteDiskSnapshot", + "CreateDiskFromSnapshot", + "CreateRelationalDatabase", + "UpdateRelationalDatabase", + "DeleteRelationalDatabase", + "CreateRelationalDatabaseFromSnapshot", + "CreateRelationalDatabaseSnapshot", + "DeleteRelationalDatabaseSnapshot", + "UpdateRelationalDatabaseParameters", + "StartRelationalDatabase", + "RebootRelationalDatabase", + "StopRelationalDatabase", + "EnableAddOn", + "DisableAddOn", + "PutAlarm", + "GetAlarms", + "DeleteAlarm", + "TestAlarm", + "CreateContactMethod", + "GetContactMethods", + "SendContactMethodVerification", + "DeleteContactMethod" + ] + }, + "PasswordData":{ + "type":"structure", + "members":{ + "ciphertext":{ + "shape":"string", + "documentation":"

The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.

If you use the default key pair (LightsailDefaultKeyPair), the decrypted password will be available in the password field.

If you are using a custom key pair, you need to use your own means of decryption.

If you change the Administrator password on the instance, Lightsail will continue to return the original ciphertext value. When accessing the instance using RDP, you need to manually enter the Administrator password after changing it from the default.

" + }, + "keyPairName":{ + "shape":"ResourceName", + "documentation":"

The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (LightsailDefaultKeyPair).

If you are using a custom key pair, you need to use your own means of decrypting your password using the ciphertext. Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.

" + } + }, + "documentation":"

The password data for the Windows Server-based instance, including the ciphertext and the key pair name.

" + }, + "PeerVpcRequest":{ + "type":"structure", + "members":{ + } + }, + "PeerVpcResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "action":{ + "shape":"NonEmptyString", + "documentation":"

The type of pending database maintenance action.

" + }, + "description":{ + "shape":"NonEmptyString", + "documentation":"

Additional detail about the pending database maintenance action.

" + }, + "currentApplyDate":{ + "shape":"IsoDate", + "documentation":"

The effective date of the pending database maintenance action.

" + } + }, + "documentation":"

Describes a pending database maintenance action.

" + }, + "PendingMaintenanceActionList":{ + "type":"list", + "member":{"shape":"PendingMaintenanceAction"} + }, + "PendingModifiedRelationalDatabaseValues":{ + "type":"structure", + "members":{ + "masterUserPassword":{ + "shape":"string", + "documentation":"

The password for the master user of the database.

" + }, + "engineVersion":{ + "shape":"string", + "documentation":"

The database engine version.

" + }, + "backupRetentionEnabled":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether automated backup retention is enabled.

" + } + }, + "documentation":"

Describes a pending database value modification.

" + }, + "Port":{ + "type":"integer", + "max":65535, + "min":-1 + }, + "PortAccessType":{ + "type":"string", + "enum":[ + "Public", + "Private" + ] + }, + "PortInfo":{ + "type":"structure", + "members":{ + "fromPort":{ + "shape":"Port", + "documentation":"

The first port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - 8 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "toPort":{ + "shape":"Port", + "documentation":"

The last port in a range of open ports on an instance.

Allowed ports:

  • TCP and UDP - 0 to 65535

  • ICMP - -1 (to configure Ping)

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "protocol":{ + "shape":"NetworkProtocol", + "documentation":"

The IP protocol name.

The name can be one of the following:

  • tcp - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.

  • all - All transport layer protocol types. For more general information, see Transport layer on Wikipedia.

  • udp - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.

  • icmp - Internet Control Message Protocol (ICMP) is used to send error messages and operational information indicating success or failure when communicating with an instance. For example, an error is indicated when an instance could not be reached.

    Ping is the only communication supported through the ICMP protocol in Lightsail. To configure ping, specify the fromPort parameter as 8, and the toPort parameter as -1.

" + }, + "cidrs":{ + "shape":"StringList", + "documentation":"

The IP address, or range of IP addresses in CIDR notation, that are allowed to connect to an instance through the ports, and the protocol. Lightsail supports IPv4 addresses.

Examples:

  • To allow the IP address 192.0.2.44, specify 192.0.2.44 or 192.0.2.44/32.

  • To allow the IP addresses 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

For more information about CIDR block notation, see Classless Inter-Domain Routing on Wikipedia.

" + }, + "cidrListAliases":{ + "shape":"StringList", + "documentation":"

An alias that defines access for a preconfigured range of IP addresses.

The only alias currently supported is lightsail-connect, which allows IP addresses of the browser-based RDP/SSH client in the Lightsail console to connect to your instance.

" + } + }, + "documentation":"

Describes ports to open on an instance, the IP addresses allowed to connect to the instance through the ports, and the protocol.

" + }, + "PortInfoList":{ + "type":"list", + "member":{"shape":"PortInfo"} + }, + "PortInfoSourceType":{ + "type":"string", + "enum":[ + "DEFAULT", + "INSTANCE", + "NONE", + "CLOSED" + ] + }, + "PortList":{ + "type":"list", + "member":{"shape":"Port"} + }, + "PortState":{ + "type":"string", + "enum":[ + "open", + "closed" + ] + }, + "PutAlarmRequest":{ + "type":"structure", + "required":[ + "alarmName", + "metricName", + "monitoredResourceName", + "comparisonOperator", + "threshold", + "evaluationPeriods" + ], + "members":{ + "alarmName":{ + "shape":"ResourceName", + "documentation":"

The name for the alarm. Specify the name of an existing alarm to update, and overwrite the previous configuration of the alarm.

" + }, + "metricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric to associate with the alarm.

You can configure up to two alarms per metric.

The following metrics are available for each resource type:

  • Instances: CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance, and StatusCheckFailed_System.

  • Load balancers: ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount, HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count, HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count, InstanceResponseTime, RejectedConnectionCount, and RequestCount.

  • Relational databases: CPUUtilization, DatabaseConnections, DiskQueueDepth, FreeStorageSpace, NetworkReceiveThroughput, and NetworkTransmitThroughput.

" + }, + "monitoredResourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the Lightsail resource that will be monitored.

Instances, load balancers, and relational databases are the only Lightsail resources that can currently be monitored by alarms.

" + }, + "comparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

The arithmetic operation to use when comparing the specified statistic to the threshold. The specified statistic value is used as the first operand.

" + }, + "threshold":{ + "shape":"double", + "documentation":"

The value against which the specified statistic is compared.

" + }, + "evaluationPeriods":{ + "shape":"integer", + "documentation":"

The number of most recent periods over which data is compared to the specified threshold. If you are setting an \"M out of N\" alarm, this value (evaluationPeriods) is the N.

If you are setting an alarm that requires that a number of consecutive data points be breaching to trigger the alarm, this value specifies the rolling period of time in which data points are evaluated.

Each evaluation period is five minutes long. For example, specify an evaluation period of 24 to evaluate a metric over a rolling period of two hours.

You can specify a minimum valuation period of 1 (5 minutes), and a maximum evaluation period of 288 (24 hours).

" + }, + "datapointsToAlarm":{ + "shape":"integer", + "documentation":"

The number of data points that must be not within the specified threshold to trigger the alarm. If you are setting an \"M out of N\" alarm, this value (datapointsToAlarm) is the M.

" + }, + "treatMissingData":{ + "shape":"TreatMissingData", + "documentation":"

Sets how this alarm will handle missing data points.

An alarm can treat missing data in the following ways:

  • breaching - Assume the missing data is not within the threshold. Missing data counts towards the number of times the metric is not within the threshold.

  • notBreaching - Assume the missing data is within the threshold. Missing data does not count towards the number of times the metric is not within the threshold.

  • ignore - Ignore the missing data. Maintains the current alarm state.

  • missing - Missing data is treated as missing.

If treatMissingData is not specified, the default behavior of missing is used.

" + }, + "contactProtocols":{ + "shape":"ContactProtocolsList", + "documentation":"

The contact protocols to use for the alarm, such as Email, SMS (text messaging), or both.

A notification is sent via the specified contact protocol if notifications are enabled for the alarm, and when the alarm is triggered.

A notification is not sent if a contact protocol is not specified, if the specified contact protocol is not configured in the AWS Region, or if notifications are not enabled for the alarm using the notificationEnabled paramater.

Use the CreateContactMethod action to configure a contact protocol in an AWS Region.

" + }, + "notificationTriggers":{ + "shape":"NotificationTriggerList", + "documentation":"

The alarm states that trigger a notification.

An alarm has the following possible states:

  • ALARM - The metric is outside of the defined threshold.

  • INSUFFICIENT_DATA - The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state.

  • OK - The metric is within the defined threshold.

When you specify a notification trigger, the ALARM state must be specified. The INSUFFICIENT_DATA and OK states can be specified in addition to the ALARM state.

  • If you specify OK as an alarm trigger, a notification is sent when the alarm switches from an ALARM or INSUFFICIENT_DATA alarm state to an OK state. This can be thought of as an all clear alarm notification.

  • If you specify INSUFFICIENT_DATA as the alarm trigger, a notification is sent when the alarm switches from an OK or ALARM alarm state to an INSUFFICIENT_DATA state.

The notification trigger defaults to ALARM if you don't specify this parameter.

" + }, + "notificationEnabled":{ + "shape":"boolean", + "documentation":"

Indicates whether the alarm is enabled.

Notifications are enabled by default if you don't specify this parameter.

" + } + } + }, + "PutAlarmResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "PutInstancePublicPortsRequest":{ + "type":"structure", + "required":[ + "portInfos", + "instanceName" + ], + "members":{ + "portInfos":{ + "shape":"PortInfoList", + "documentation":"

An array of objects to describe the ports to open for the specified instance.

" + }, + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance for which to open ports.

" + } + } + }, + "PutInstancePublicPortsResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "RebootInstanceRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance to reboot.

" + } + } + }, + "RebootInstanceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "RebootRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database to reboot.

" + } + } + }, + "RebootRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "RecordState":{ + "type":"string", + "enum":[ + "Started", + "Succeeded", + "Failed" + ] + }, + "Region":{ + "type":"structure", + "members":{ + "continentCode":{ + "shape":"string", + "documentation":"

The continent code (e.g., NA, meaning North America).

" + }, + "description":{ + "shape":"string", + "documentation":"

The description of the AWS Region (e.g., This region is recommended to serve users in the eastern United States and eastern Canada).

" + }, + "displayName":{ + "shape":"string", + "documentation":"

The display name (e.g., Ohio).

" + }, + "name":{ + "shape":"RegionName", + "documentation":"

The region name (e.g., us-east-2).

" + }, + "availabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones. Follows the format us-east-2a (case-sensitive).

" + }, + "relationalDatabaseAvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

The Availability Zones for databases. Follows the format us-east-2a (case-sensitive).

" + } + }, + "documentation":"

Describes the AWS Region.

" + }, + "RegionList":{ + "type":"list", + "member":{"shape":"Region"} + }, + "RegionName":{ + "type":"string", + "enum":[ + "us-east-1", + "us-east-2", + "us-west-1", + "us-west-2", + "eu-west-1", + "eu-west-2", + "eu-west-3", + "eu-central-1", + "ca-central-1", + "ap-south-1", + "ap-southeast-1", + "ap-southeast-2", + "ap-northeast-1", + "ap-northeast-2" + ] + }, + "RelationalDatabase":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The unique name of the database resource in Lightsail.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the database.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code for the database. Include this code in your email to support when you have questions about a database in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the database was created. Formatted in Unix time.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The Region name and Availability Zone where the database is located.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type for the database (for example, RelationalDatabase).

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "relationalDatabaseBlueprintId":{ + "shape":"NonEmptyString", + "documentation":"

The blueprint ID for the database. A blueprint describes the major engine version of a database.

" + }, + "relationalDatabaseBundleId":{ + "shape":"NonEmptyString", + "documentation":"

The bundle ID for the database. A bundle describes the performance specifications for your database.

" + }, + "masterDatabaseName":{ + "shape":"string", + "documentation":"

The name of the master database created when the Lightsail database resource is created.

" + }, + "hardware":{ + "shape":"RelationalDatabaseHardware", + "documentation":"

Describes the hardware of the database.

" + }, + "state":{ + "shape":"NonEmptyString", + "documentation":"

Describes the current state of the database.

" + }, + "secondaryAvailabilityZone":{ + "shape":"string", + "documentation":"

Describes the secondary Availability Zone of a high availability database.

The secondary database is used for failover support of a high availability database.

" + }, + "backupRetentionEnabled":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether automated backup retention is enabled for the database.

" + }, + "pendingModifiedValues":{ + "shape":"PendingModifiedRelationalDatabaseValues", + "documentation":"

Describes pending database value modifications.

" + }, + "engine":{ + "shape":"NonEmptyString", + "documentation":"

The database software (for example, MySQL).

" + }, + "engineVersion":{ + "shape":"NonEmptyString", + "documentation":"

The database engine version (for example, 5.7.23).

" + }, + "latestRestorableTime":{ + "shape":"IsoDate", + "documentation":"

The latest point in time to which the database can be restored. Formatted in Unix time.

" + }, + "masterUsername":{ + "shape":"NonEmptyString", + "documentation":"

The master user name of the database.

" + }, + "parameterApplyStatus":{ + "shape":"NonEmptyString", + "documentation":"

The status of parameter updates for the database.

" + }, + "preferredBackupWindow":{ + "shape":"NonEmptyString", + "documentation":"

The daily time range during which automated backups are created for the database (for example, 16:00-16:30).

" + }, + "preferredMaintenanceWindow":{ + "shape":"NonEmptyString", + "documentation":"

The weekly time range during which system maintenance can occur on the database.

In the format ddd:hh24:mi-ddd:hh24:mi. For example, Tue:17:00-Tue:17:30.

" + }, + "publiclyAccessible":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the database is publicly accessible.

" + }, + "masterEndpoint":{ + "shape":"RelationalDatabaseEndpoint", + "documentation":"

The master endpoint for the database.

" + }, + "pendingMaintenanceActions":{ + "shape":"PendingMaintenanceActionList", + "documentation":"

Describes the pending maintenance actions for the database.

" + }, + "caCertificateIdentifier":{ + "shape":"string", + "documentation":"

The certificate associated with the database.

" + } + }, + "documentation":"

Describes a database.

" + }, + "RelationalDatabaseBlueprint":{ + "type":"structure", + "members":{ + "blueprintId":{ + "shape":"string", + "documentation":"

The ID for the database blueprint.

" + }, + "engine":{ + "shape":"RelationalDatabaseEngine", + "documentation":"

The database software of the database blueprint (for example, MySQL).

" + }, + "engineVersion":{ + "shape":"string", + "documentation":"

The database engine version for the database blueprint (for example, 5.7.23).

" + }, + "engineDescription":{ + "shape":"string", + "documentation":"

The description of the database engine for the database blueprint.

" + }, + "engineVersionDescription":{ + "shape":"string", + "documentation":"

The description of the database engine version for the database blueprint.

" + }, + "isEngineDefault":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the engine version is the default for the database blueprint.

" + } + }, + "documentation":"

Describes a database image, or blueprint. A blueprint describes the major engine version of a database.

" + }, + "RelationalDatabaseBlueprintList":{ + "type":"list", + "member":{"shape":"RelationalDatabaseBlueprint"} + }, + "RelationalDatabaseBundle":{ + "type":"structure", + "members":{ + "bundleId":{ + "shape":"string", + "documentation":"

The ID for the database bundle.

" + }, + "name":{ + "shape":"string", + "documentation":"

The name for the database bundle.

" + }, + "price":{ + "shape":"float", + "documentation":"

The cost of the database bundle in US currency.

" + }, + "ramSizeInGb":{ + "shape":"float", + "documentation":"

The amount of RAM in GB (for example, 2.0) for the database bundle.

" + }, + "diskSizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk for the database bundle.

" + }, + "transferPerMonthInGb":{ + "shape":"integer", + "documentation":"

The data transfer rate per month in GB for the database bundle.

" + }, + "cpuCount":{ + "shape":"integer", + "documentation":"

The number of virtual CPUs (vCPUs) for the database bundle.

" + }, + "isEncrypted":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the database bundle is encrypted.

" + }, + "isActive":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the database bundle is active.

" + } + }, + "documentation":"

Describes a database bundle. A bundle describes the performance specifications of the database.

" + }, + "RelationalDatabaseBundleList":{ + "type":"list", + "member":{"shape":"RelationalDatabaseBundle"} + }, + "RelationalDatabaseEndpoint":{ + "type":"structure", + "members":{ + "port":{ + "shape":"integer", + "documentation":"

Specifies the port that the database is listening on.

" + }, + "address":{ + "shape":"NonEmptyString", + "documentation":"

Specifies the DNS address of the database.

" + } + }, + "documentation":"

Describes an endpoint for a database.

" + }, + "RelationalDatabaseEngine":{ + "type":"string", + "enum":["mysql"] + }, + "RelationalDatabaseEvent":{ + "type":"structure", + "members":{ + "resource":{ + "shape":"ResourceName", + "documentation":"

The database that the database event relates to.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the database event was created.

" + }, + "message":{ + "shape":"string", + "documentation":"

The message of the database event.

" + }, + "eventCategories":{ + "shape":"StringList", + "documentation":"

The category that the database event belongs to.

" + } + }, + "documentation":"

Describes an event for a database.

" + }, + "RelationalDatabaseEventList":{ + "type":"list", + "member":{"shape":"RelationalDatabaseEvent"} + }, + "RelationalDatabaseHardware":{ + "type":"structure", + "members":{ + "cpuCount":{ + "shape":"integer", + "documentation":"

The number of vCPUs for the database.

" + }, + "diskSizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk for the database.

" + }, + "ramSizeInGb":{ + "shape":"float", + "documentation":"

The amount of RAM in GB for the database.

" + } + }, + "documentation":"

Describes the hardware of a database.

" + }, + "RelationalDatabaseList":{ + "type":"list", + "member":{"shape":"RelationalDatabase"} + }, + "RelationalDatabaseMetricName":{ + "type":"string", + "enum":[ + "CPUUtilization", + "DatabaseConnections", + "DiskQueueDepth", + "FreeStorageSpace", + "NetworkReceiveThroughput", + "NetworkTransmitThroughput" + ] + }, + "RelationalDatabaseParameter":{ + "type":"structure", + "members":{ + "allowedValues":{ + "shape":"string", + "documentation":"

Specifies the valid range of values for the parameter.

" + }, + "applyMethod":{ + "shape":"string", + "documentation":"

Indicates when parameter updates are applied.

Can be immediate or pending-reboot.

" + }, + "applyType":{ + "shape":"string", + "documentation":"

Specifies the engine-specific parameter type.

" + }, + "dataType":{ + "shape":"string", + "documentation":"

Specifies the valid data type for the parameter.

" + }, + "description":{ + "shape":"string", + "documentation":"

Provides a description of the parameter.

" + }, + "isModifiable":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the parameter can be modified.

" + }, + "parameterName":{ + "shape":"string", + "documentation":"

Specifies the name of the parameter.

" + }, + "parameterValue":{ + "shape":"string", + "documentation":"

Specifies the value of the parameter.

" + } + }, + "documentation":"

Describes the parameters of a database.

" + }, + "RelationalDatabaseParameterList":{ + "type":"list", + "member":{"shape":"RelationalDatabaseParameter"} + }, + "RelationalDatabasePasswordVersion":{ + "type":"string", + "enum":[ + "CURRENT", + "PREVIOUS", + "PENDING" + ] + }, + "RelationalDatabaseSnapshot":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the database snapshot.

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the database snapshot.

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code for the database snapshot. Include this code in your email to support when you have questions about a database snapshot in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the database snapshot was created.

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The Region name and Availability Zone where the database snapshot is located.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The Lightsail resource type.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys and optional values for the resource. For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "engine":{ + "shape":"NonEmptyString", + "documentation":"

The software of the database snapshot (for example, MySQL)

" + }, + "engineVersion":{ + "shape":"NonEmptyString", + "documentation":"

The database engine version for the database snapshot (for example, 5.7.23).

" + }, + "sizeInGb":{ + "shape":"integer", + "documentation":"

The size of the disk in GB (for example, 32) for the database snapshot.

" + }, + "state":{ + "shape":"NonEmptyString", + "documentation":"

The state of the database snapshot.

" + }, + "fromRelationalDatabaseName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the source database from which the database snapshot was created.

" + }, + "fromRelationalDatabaseArn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the database from which the database snapshot was created.

" + }, + "fromRelationalDatabaseBundleId":{ + "shape":"string", + "documentation":"

The bundle ID of the database from which the database snapshot was created.

" + }, + "fromRelationalDatabaseBlueprintId":{ + "shape":"string", + "documentation":"

The blueprint ID of the database from which the database snapshot was created. A blueprint describes the major engine version of a database.

" + } + }, + "documentation":"

Describes a database snapshot.

" + }, + "RelationalDatabaseSnapshotList":{ + "type":"list", + "member":{"shape":"RelationalDatabaseSnapshot"} + }, + "ReleaseStaticIpRequest":{ + "type":"structure", + "required":["staticIpName"], + "members":{ + "staticIpName":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP to delete.

" + } + } + }, + "ReleaseStaticIpResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "ResourceArn":{ + "type":"string", + "pattern":"^arn:(aws[^:]*):([a-zA-Z0-9-]+):([a-z0-9-]+):([0-9]+):([a-zA-Z]+)/([a-zA-Z0-9-]+)$" + }, + "ResourceLocation":{ + "type":"structure", + "members":{ + "availabilityZone":{ + "shape":"string", + "documentation":"

The Availability Zone. Follows the format us-east-2a (case-sensitive).

" + }, + "regionName":{ + "shape":"RegionName", + "documentation":"

The AWS Region name.

" + } + }, + "documentation":"

Describes the resource location.

" + }, + "ResourceName":{ + "type":"string", + "pattern":"\\w[\\w\\-]*\\w" + }, + "ResourceNameList":{ + "type":"list", + "member":{"shape":"ResourceName"} + }, + "ResourceType":{ + "type":"string", + "enum":[ + "Instance", + "StaticIp", + "KeyPair", + "InstanceSnapshot", + "Domain", + "PeeredVpc", + "LoadBalancer", + "LoadBalancerTlsCertificate", + "Disk", + "DiskSnapshot", + "RelationalDatabase", + "RelationalDatabaseSnapshot", + "ExportSnapshotRecord", + "CloudFormationStackRecord", + "Alarm", + "ContactMethod" + ] + }, + "SendContactMethodVerificationRequest":{ + "type":"structure", + "required":["protocol"], + "members":{ + "protocol":{ + "shape":"ContactMethodVerificationProtocol", + "documentation":"

The protocol to verify, such as Email or SMS (text messaging).

" + } + } + }, + "SendContactMethodVerificationResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "SensitiveString":{ + "type":"string", + "sensitive":true + }, + "ServiceException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

A general service exception.

", + "exception":true, + "fault":true + }, + "StartInstanceRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance (a virtual private server) to start.

" + } + } + }, + "StartInstanceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "StartRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database to start.

" + } + } + }, + "StartRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "StaticIp":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ResourceName", + "documentation":"

The name of the static IP (e.g., StaticIP-Ohio-EXAMPLE).

" + }, + "arn":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Resource Name (ARN) of the static IP (e.g., arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).

" + }, + "supportCode":{ + "shape":"string", + "documentation":"

The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.

" + }, + "createdAt":{ + "shape":"IsoDate", + "documentation":"

The timestamp when the static IP was created (e.g., 1479735304.222).

" + }, + "location":{ + "shape":"ResourceLocation", + "documentation":"

The region and Availability Zone where the static IP was created.

" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"

The resource type (usually StaticIp).

" + }, + "ipAddress":{ + "shape":"IpAddress", + "documentation":"

The static IP address.

" + }, + "attachedTo":{ + "shape":"ResourceName", + "documentation":"

The instance where the static IP is attached (e.g., Amazon_Linux-1GB-Ohio-1).

" + }, + "isAttached":{ + "shape":"boolean", + "documentation":"

A Boolean value indicating whether the static IP is attached.

" + } + }, + "documentation":"

Describes the static IP.

" + }, + "StaticIpList":{ + "type":"list", + "member":{"shape":"StaticIp"} + }, + "StopInstanceRequest":{ + "type":"structure", + "required":["instanceName"], + "members":{ + "instanceName":{ + "shape":"ResourceName", + "documentation":"

The name of the instance (a virtual private server) to stop.

" + }, + "force":{ + "shape":"boolean", + "documentation":"

When set to True, forces a Lightsail instance that is stuck in a stopping state to stop.

Only use the force parameter if your instance is stuck in the stopping state. In any other state, your instance should stop normally without adding this parameter to your API request.

" + } + } + }, + "StopInstanceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "StopRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database to stop.

" + }, + "relationalDatabaseSnapshotName":{ + "shape":"ResourceName", + "documentation":"

The name of your new database snapshot to be created before stopping your database.

" + } + } + }, + "StopRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "StringList":{ + "type":"list", + "member":{"shape":"string"} + }, + "StringMax256":{ + "type":"string", + "max":256, + "min":1 + }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

The key of the tag.

Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

" + }, + "value":{ + "shape":"TagValue", + "documentation":"

The value of the tag.

Constraints: Tag values accept a maximum of 256 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

" + } + }, + "documentation":"

Describes a tag key and optional value assigned to an Amazon Lightsail resource.

For more information about tags in Lightsail, see the Lightsail Dev Guide.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceName", + "tags" + ], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the resource to which you are adding tags.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource to which you want to add a tag.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag key and optional value.

" + } + } + }, + "TagResourceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "TagValue":{"type":"string"}, + "TestAlarmRequest":{ + "type":"structure", + "required":[ + "alarmName", + "state" + ], + "members":{ + "alarmName":{ + "shape":"ResourceName", + "documentation":"

The name of the alarm to test.

" + }, + "state":{ + "shape":"AlarmState", + "documentation":"

The alarm state to test.

An alarm has the following possible states that can be tested:

  • ALARM - The metric is outside of the defined threshold.

  • INSUFFICIENT_DATA - The alarm has just started, the metric is not available, or not enough data is available for the metric to determine the alarm state.

  • OK - The metric is within the defined threshold.

" + } + } + }, + "TestAlarmResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "TimeOfDay":{ + "type":"string", + "pattern":"^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$" + }, + "TreatMissingData":{ + "type":"string", + "enum":[ + "breaching", + "notBreaching", + "ignore", + "missing" + ] + }, + "UnauthenticatedException":{ + "type":"structure", + "members":{ + "code":{"shape":"string"}, + "docs":{"shape":"string"}, + "message":{"shape":"string"}, + "tip":{"shape":"string"} + }, + "documentation":"

Lightsail throws this exception when the user has not been authenticated.

", + "exception":true + }, + "UnpeerVpcRequest":{ + "type":"structure", + "members":{ + } + }, + "UnpeerVpcResult":{ + "type":"structure", + "members":{ + "operation":{ + "shape":"Operation", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceName", + "tagKeys" + ], + "members":{ + "resourceName":{ + "shape":"ResourceName", + "documentation":"

The name of the resource from which you are removing a tag.

" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"

The Amazon Resource Name (ARN) of the resource from which you want to remove a tag.

" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to delete from the specified resource.

" + } + } + }, + "UntagResourceResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "UpdateDomainEntryRequest":{ + "type":"structure", + "required":[ + "domainName", + "domainEntry" + ], + "members":{ + "domainName":{ + "shape":"DomainName", + "documentation":"

The name of the domain recordset to update.

" + }, + "domainEntry":{ + "shape":"DomainEntry", + "documentation":"

An array of key-value pairs containing information about the domain entry.

" + } + } + }, + "UpdateDomainEntryResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "UpdateLoadBalancerAttributeRequest":{ + "type":"structure", + "required":[ + "loadBalancerName", + "attributeName", + "attributeValue" + ], + "members":{ + "loadBalancerName":{ + "shape":"ResourceName", + "documentation":"

The name of the load balancer that you want to modify (e.g., my-load-balancer.

" + }, + "attributeName":{ + "shape":"LoadBalancerAttributeName", + "documentation":"

The name of the attribute you want to update. Valid values are below.

" + }, + "attributeValue":{ + "shape":"StringMax256", + "documentation":"

The value that you want to specify for the attribute name.

" + } + } + }, + "UpdateLoadBalancerAttributeResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "UpdateRelationalDatabaseParametersRequest":{ + "type":"structure", + "required":[ + "relationalDatabaseName", + "parameters" + ], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database for which to update parameters.

" + }, + "parameters":{ + "shape":"RelationalDatabaseParameterList", + "documentation":"

The database parameters to update.

" + } + } + }, + "UpdateRelationalDatabaseParametersResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "UpdateRelationalDatabaseRequest":{ + "type":"structure", + "required":["relationalDatabaseName"], + "members":{ + "relationalDatabaseName":{ + "shape":"ResourceName", + "documentation":"

The name of your database to update.

" + }, + "masterUserPassword":{ + "shape":"SensitiveString", + "documentation":"

The password for the master user of your database. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain 8 to 41 characters.

" + }, + "rotateMasterUserPassword":{ + "shape":"boolean", + "documentation":"

When true, the master user password is changed to a new strong password generated by Lightsail.

Use the get relational database master user password operation to get the new password.

" + }, + "preferredBackupWindow":{ + "shape":"string", + "documentation":"

The daily time range during which automated backups are created for your database if automated backups are enabled.

Constraints:

  • Must be in the hh24:mi-hh24:mi format.

    Example: 16:00-16:30

  • Specified in Coordinated Universal Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "preferredMaintenanceWindow":{ + "shape":"string", + "documentation":"

The weekly time range during which system maintenance can occur on your database.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Constraints:

  • Must be in the ddd:hh24:mi-ddd:hh24:mi format.

  • Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

  • Must be at least 30 minutes.

  • Specified in Coordinated Universal Time (UTC).

  • Example: Tue:17:00-Tue:17:30

" + }, + "enableBackupRetention":{ + "shape":"boolean", + "documentation":"

When true, enables automated backup retention for your database.

Updates are applied during the next maintenance window because this can result in an outage.

" + }, + "disableBackupRetention":{ + "shape":"boolean", + "documentation":"

When true, disables automated backup retention for your database.

Disabling backup retention deletes all automated database backups. Before disabling this, you may want to create a snapshot of your database using the create relational database snapshot operation.

Updates are applied during the next maintenance window because this can result in an outage.

" + }, + "publiclyAccessible":{ + "shape":"boolean", + "documentation":"

Specifies the accessibility options for your database. A value of true specifies a database that is available to resources outside of your Lightsail account. A value of false specifies a database that is available only to your Lightsail resources in the same region as your database.

" + }, + "applyImmediately":{ + "shape":"boolean", + "documentation":"

When true, applies changes immediately. When false, applies changes during the preferred maintenance window. Some changes may cause an outage.

Default: false

" + }, + "caCertificateIdentifier":{ + "shape":"string", + "documentation":"

Indicates the certificate that needs to be associated with the database.

" + } + } + }, + "UpdateRelationalDatabaseResult":{ + "type":"structure", + "members":{ + "operations":{ + "shape":"OperationList", + "documentation":"

An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.

" + } + } + }, + "boolean":{"type":"boolean"}, + "double":{"type":"double"}, + "float":{"type":"float"}, + "integer":{"type":"integer"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"

Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, a managed database, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).

For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide.

To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/logs/2014-03-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/examples-1.json --- python-botocore-1.4.70/botocore/data/logs/2014-03-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/logs/2014-03-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/logs/2014-03-28/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -38,6 +38,24 @@ "events", "searchedLogStreams" ] + }, + "DescribeExportTasks": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "exportTasks" + }, + "DescribeQueries": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "queries" + }, + "DescribeResourcePolicies": { + "input_token": "nextToken", + "limit_key": "limit", + "output_token": "nextToken", + "result_key": "resourcePolicies" } } } diff -Nru python-botocore-1.4.70/botocore/data/logs/2014-03-28/service-2.json python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/service-2.json --- python-botocore-1.4.70/botocore/data/logs/2014-03-28/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/logs/2014-03-28/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,10 +6,27 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon CloudWatch Logs", + "serviceId":"CloudWatch Logs", "signatureVersion":"v4", - "targetPrefix":"Logs_20140328" + "targetPrefix":"Logs_20140328", + "uid":"logs-2014-03-28" }, "operations":{ + "AssociateKmsKey":{ + "name":"AssociateKmsKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateKmsKeyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationAbortedException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Associates the specified AWS Key Management Service (AWS KMS) customer master key (CMK) with the specified log group.

Associating an AWS KMS CMK with a log group overrides any existing associations between the log group and a CMK. After a CMK is associated with a log group, all newly ingested data for the log group is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

Important: CloudWatch Logs supports only symmetric CMKs. Do not use an associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys.

Note that it can take up to 5 minutes for this operation to take effect.

If you attempt to associate a CMK with a log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

" + }, "CancelExportTask":{ "name":"CancelExportTask", "http":{ @@ -23,7 +40,7 @@ {"shape":"InvalidOperationException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Cancels an export task if it is in PENDING or RUNNING state.

" + "documentation":"

Cancels the specified export task.

The task must be in the PENDING or RUNNING state.

" }, "CreateExportTask":{ "name":"CreateExportTask", @@ -41,7 +58,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceAlreadyExistsException"} ], - "documentation":"

Creates an ExportTask which allows you to efficiently export data from a Log Group to your Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this API will initiate an export task and respond with the task Id. Once started, DescribeExportTasks can be used to get the status of an export task. You can only have one active (RUNNING or PENDING) export task at a time, per account.

You can export logs from multiple log groups or multiple time ranges to the same Amazon S3 bucket. To separate out log data for each export task, you can specify a prefix that will be used as the Amazon S3 key prefix for all exported objects.

" + "documentation":"

Creates an export task, which allows you to efficiently export data from a log group to an Amazon S3 bucket.

This is an asynchronous call. If all the required information is provided, this operation initiates an export task and responds with the ID of the task. After the task has started, you can use DescribeExportTasks to get the status of the export task. Each account can only have one active (RUNNING or PENDING) export task at a time. To cancel an export task, use CancelExportTask.

You can export logs from multiple log groups or multiple time ranges to the same S3 bucket. To separate out log data for each export task, you can specify a prefix to be used as the Amazon S3 key prefix for all exported objects.

Exporting to S3 buckets that are encrypted with AES-256 is supported. Exporting to S3 buckets encrypted with SSE-KMS is not supported.

" }, "CreateLogGroup":{ "name":"CreateLogGroup", @@ -57,7 +74,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates a new log group with the specified name. The name of the log group must be unique within a region for an AWS account. You can create up to 500 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names can be between 1 and 512 characters long.

  • Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

" + "documentation":"

Creates a log group with the specified name.

You can create up to 20,000 log groups per account.

You must use the following guidelines when naming a log group:

  • Log group names must be unique within a region for an AWS account.

  • Log group names can be between 1 and 512 characters long.

  • Log group names consist of the following characters: a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), '.' (period), and '#' (number sign)

If you associate a AWS Key Management Service (AWS KMS) customer master key (CMK) with the log group, ingested data is encrypted using the CMK. This association is stored as long as the data encrypted with the CMK is still within Amazon CloudWatch Logs. This enables Amazon CloudWatch Logs to decrypt this data whenever it is requested.

If you attempt to associate a CMK with the log group but the CMK does not exist or the CMK is disabled, you will receive an InvalidParameterException error.

Important: CloudWatch Logs supports only symmetric CMKs. Do not associate an asymmetric CMK with your log group. For more information, see Using Symmetric and Asymmetric Keys.

" }, "CreateLogStream":{ "name":"CreateLogStream", @@ -72,7 +89,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group.

You must use the following guidelines when naming a log stream:

  • Log stream names can be between 1 and 512 characters long.

  • The ':' colon character is not allowed.

" + "documentation":"

Creates a log stream for the specified log group.

There is no limit on the number of log streams that you can create for a log group. There is a limit of 50 TPS on CreateLogStream operations, after which transactions are throttled.

You must use the following guidelines when naming a log stream:

  • Log stream names must be unique within the log group.

  • Log stream names can be between 1 and 512 characters long.

  • The ':' (colon) and '*' (asterisk) characters are not allowed.

" }, "DeleteDestination":{ "name":"DeleteDestination", @@ -87,7 +104,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes the destination with the specified name and eventually disables all the subscription filters that publish to it. This will not delete the physical resource encapsulated by the destination.

" + "documentation":"

Deletes the specified destination, and eventually disables all the subscription filters that publish to it. This operation does not delete the physical resource encapsulated by the destination.

" }, "DeleteLogGroup":{ "name":"DeleteLogGroup", @@ -102,7 +119,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes the log group with the specified name and permanently deletes all the archived log events associated with it.

" + "documentation":"

Deletes the specified log group and permanently deletes all the archived log events associated with the log group.

" }, "DeleteLogStream":{ "name":"DeleteLogStream", @@ -117,7 +134,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes a log stream and permanently deletes all the archived log events associated with it.

" + "documentation":"

Deletes the specified log stream and permanently deletes all the archived log events associated with the log stream.

" }, "DeleteMetricFilter":{ "name":"DeleteMetricFilter", @@ -132,7 +149,35 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes a metric filter associated with the specified log group.

" + "documentation":"

Deletes the specified metric filter.

" + }, + "DeleteQueryDefinition":{ + "name":"DeleteQueryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQueryDefinitionRequest"}, + "output":{"shape":"DeleteQueryDefinitionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ] + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Deletes a resource policy from this account. This revokes the access of the identities in that policy to put log events to this account.

" }, "DeleteRetentionPolicy":{ "name":"DeleteRetentionPolicy", @@ -147,7 +192,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes the retention policy of the specified log group. Log events would not expire if they belong to log groups without a retention policy.

" + "documentation":"

Deletes the specified retention policy.

Log events do not expire if they belong to log groups without a retention policy.

" }, "DeleteSubscriptionFilter":{ "name":"DeleteSubscriptionFilter", @@ -162,7 +207,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Deletes a subscription filter associated with the specified log group.

" + "documentation":"

Deletes the specified subscription filter.

" }, "DescribeDestinations":{ "name":"DescribeDestinations", @@ -176,7 +221,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the destinations that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by destination name.

By default, this operation returns up to 50 destinations. If there are more destinations to list, the response would contain a nextToken value in the response body. You can also limit the number of destinations returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists all your destinations. The results are ASCII-sorted by destination name.

" }, "DescribeExportTasks":{ "name":"DescribeExportTasks", @@ -190,7 +235,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the export tasks that are associated with the AWS account making the request. The export tasks can be filtered based on TaskId or TaskStatus.

By default, this operation returns up to 50 export tasks that satisfy the specified filters. If there are more export tasks to list, the response would contain a nextToken value in the response body. You can also limit the number of export tasks returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists the specified export tasks. You can list all your export tasks or filter the results based on task ID or task status.

" }, "DescribeLogGroups":{ "name":"DescribeLogGroups", @@ -204,7 +249,7 @@ {"shape":"InvalidParameterException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the log groups that are associated with the AWS account making the request. The list returned in the response is ASCII-sorted by log group name.

By default, this operation returns up to 50 log groups. If there are more log groups to list, the response would contain a nextToken value in the response body. You can also limit the number of log groups returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists the specified log groups. You can list all your log groups or filter the results by prefix. The results are ASCII-sorted by log group name.

" }, "DescribeLogStreams":{ "name":"DescribeLogStreams", @@ -219,7 +264,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the log streams that are associated with the specified log group. The list returned in the response is ASCII-sorted by log stream name.

By default, this operation returns up to 50 log streams. If there are more log streams to list, the response would contain a nextToken value in the response body. You can also limit the number of log streams returned in the response by specifying the limit parameter in the request. This operation has a limit of five transactions per second, after which transactions are throttled.

" + "documentation":"

Lists the log streams for the specified log group. You can list all the log streams or filter the results by prefix. You can also control how the results are ordered.

This operation has a limit of five transactions per second, after which transactions are throttled.

" }, "DescribeMetricFilters":{ "name":"DescribeMetricFilters", @@ -234,7 +279,49 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the metrics filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

By default, this operation returns up to 50 metric filters. If there are more metric filters to list, the response would contain a nextToken value in the response body. You can also limit the number of metric filters returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists the specified metric filters. You can list all the metric filters or filter the results by log name, prefix, metric name, or metric namespace. The results are ASCII-sorted by filter name.

" + }, + "DescribeQueries":{ + "name":"DescribeQueries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeQueriesRequest"}, + "output":{"shape":"DescribeQueriesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of CloudWatch Logs Insights queries that are scheduled, executing, or have been executed recently in this account. You can request all queries, or limit it to queries of a specific log group or queries with a certain status.

" + }, + "DescribeQueryDefinitions":{ + "name":"DescribeQueryDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeQueryDefinitionsRequest"}, + "output":{"shape":"DescribeQueryDefinitionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServiceUnavailableException"} + ] + }, + "DescribeResourcePolicies":{ + "name":"DescribeResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourcePoliciesRequest"}, + "output":{"shape":"DescribeResourcePoliciesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the resource policies in this account.

" }, "DescribeSubscriptionFilters":{ "name":"DescribeSubscriptionFilters", @@ -249,7 +336,22 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Returns all the subscription filters associated with the specified log group. The list returned in the response is ASCII-sorted by filter name.

By default, this operation returns up to 50 subscription filters. If there are more subscription filters to list, the response would contain a nextToken value in the response body. You can also limit the number of subscription filters returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists the subscription filters for the specified log group. You can list all the subscription filters or filter the results by prefix. The results are ASCII-sorted by filter name.

" + }, + "DisassociateKmsKey":{ + "name":"DisassociateKmsKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateKmsKeyRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationAbortedException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Disassociates the associated AWS Key Management Service (AWS KMS) customer master key (CMK) from the specified log group.

After the AWS KMS CMK is disassociated from the log group, AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires permissions for the CMK whenever the encrypted data is requested.

Note that it can take up to 5 minutes for this operation to take effect.

" }, "FilterLogEvents":{ "name":"FilterLogEvents", @@ -264,7 +366,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Retrieves log events, optionally filtered by a filter pattern from the specified log group. You can provide an optional time range to filter the results on the event timestamp. You can limit the streams searched to an explicit list of logStreamNames.

By default, this operation returns as much matching log events as can fit in a response size of 1MB, up to 10,000 log events, or all the events found within a time-bounded scan window. If the response includes a nextToken, then there is more data to search, and the search can be resumed with a new request providing the nextToken. The response will contain a list of searchedLogStreams that contains information about which streams were searched in the request and whether they have been searched completely or require further pagination. The limit parameter in the request can be used to specify the maximum number of events to return in a page.

" + "documentation":"

Lists log events from the specified log group. You can list all the log events or filter the results using a filter pattern, a time range, and the name of the log stream.

By default, this operation returns as many log events as can fit in 1 MB (up to 10,000 log events), or all the events found within the time range that you specify. If the results include a token, then there are more log events available, and you can get additional results by specifying the token in a subsequent call.

" }, "GetLogEvents":{ "name":"GetLogEvents", @@ -279,7 +381,68 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Retrieves log events from the specified log stream. You can provide an optional time range to filter the results on the event timestamp.

By default, this operation returns as much log events as can fit in a response size of 1MB, up to 10,000 log events. The response will always include a nextForwardToken and a nextBackwardToken in the response body. You can use any of these tokens in subsequent GetLogEvents requests to paginate through events in either forward or backward direction. You can also limit the number of log events returned in the response by specifying the limit parameter in the request.

" + "documentation":"

Lists log events from the specified log stream. You can list all the log events or filter using a time range.

By default, this operation returns as many log events as can fit in a response size of 1MB (up to 10,000 log events). You can get additional log events by specifying one of the tokens in a subsequent call.

" + }, + "GetLogGroupFields":{ + "name":"GetLogGroupFields", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLogGroupFieldsRequest"}, + "output":{"shape":"GetLogGroupFieldsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns a list of the fields that are included in log events in the specified log group, along with the percentage of log events that contain each field. The search is limited to a time period that you specify.

In the results, fields that start with @ are fields generated by CloudWatch Logs. For example, @timestamp is the timestamp of each log event. For more information about the fields that are generated by CloudWatch logs, see Supported Logs and Discovered Fields.

The response results are sorted by the frequency percentage, starting with the highest percentage.

" + }, + "GetLogRecord":{ + "name":"GetLogRecord", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLogRecordRequest"}, + "output":{"shape":"GetLogRecordResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Retrieves all the fields and values of a single log event. All fields are retrieved, even if the original query that produced the logRecordPointer retrieved only a subset of fields. Fields are returned as field name/field value pairs.

Additionally, the entire unparsed log event is returned within @message.

" + }, + "GetQueryResults":{ + "name":"GetQueryResults", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQueryResultsRequest"}, + "output":{"shape":"GetQueryResultsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Returns the results from the specified query.

Only the fields requested in the query are returned, along with a @ptr field which is the identifier for the log record. You can use the value of @ptr in a GetLogRecord operation to get the full log record.

GetQueryResults does not start a query execution. To run a query, use StartQuery.

If the value of the Status field in the output is Running, this operation returns only partial results. If you see a value of Scheduled or Running for the status, you can retry the operation later to see the final results.

" + }, + "ListTagsLogGroup":{ + "name":"ListTagsLogGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsLogGroupRequest"}, + "output":{"shape":"ListTagsLogGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Lists the tags for the specified log group.

" }, "PutDestination":{ "name":"PutDestination", @@ -294,7 +457,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates a Destination. A destination encapsulates a physical resource (such as a Kinesis stream) and allows you to subscribe to a real-time stream of log events of a different account, ingested through PutLogEvents requests. Currently, the only supported physical resource is a Amazon Kinesis stream belonging to the same account as the destination.

A destination controls what is written to its Amazon Kinesis stream through an access policy. By default, PutDestination does not set any access policy with the destination, which means a cross-account user will not be able to call PutSubscriptionFilter against this destination. To enable that, the destination owner must call PutDestinationPolicy after PutDestination.

" + "documentation":"

Creates or updates a destination. This operation is used only to create destinations for cross-account subscriptions.

A destination encapsulates a physical resource (such as an Amazon Kinesis stream) and enables you to subscribe to a real-time stream of log events for a different account, ingested using PutLogEvents.

Through an access policy, a destination controls what is written to it. By default, PutDestination does not set any access policy with the destination, which means a cross-account user cannot call PutSubscriptionFilter against this destination. To enable this, the destination owner must call PutDestinationPolicy after PutDestination.

" }, "PutDestinationPolicy":{ "name":"PutDestinationPolicy", @@ -308,7 +471,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates an access policy associated with an existing Destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

" + "documentation":"

Creates or updates an access policy associated with an existing destination. An access policy is an IAM policy document that is used to authorize claims to register a subscription filter against a given destination.

" }, "PutLogEvents":{ "name":"PutLogEvents", @@ -323,9 +486,10 @@ {"shape":"InvalidSequenceTokenException"}, {"shape":"DataAlreadyAcceptedException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"ServiceUnavailableException"} + {"shape":"ServiceUnavailableException"}, + {"shape":"UnrecognizedClientException"} ], - "documentation":"

Uploads a batch of log events to the specified log stream.

Every PutLogEvents request must include the sequenceToken obtained from the response of the previous request. An upload in a newly created log stream does not require a sequenceToken. You can also get the sequenceToken using DescribeLogStreams.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their timestamp.

  • The maximum number of log events in a batch is 10,000.

  • A batch of log events in a single PutLogEvents request cannot span more than 24 hours. Otherwise, the PutLogEvents operation will fail.

" + "documentation":"

Uploads a batch of log events to the specified log stream.

You must include the sequence token obtained from the response of the previous call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token in the expectedSequenceToken field from InvalidSequenceTokenException. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

The batch of events must satisfy the following constraints:

  • The maximum batch size is 1,048,576 bytes, and this size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

  • None of the log events in the batch can be more than 2 hours in the future.

  • None of the log events in the batch can be older than 14 days or older than the retention period of the log group.

  • The log events in the batch must be in chronological ordered by their timestamp. The timestamp is the time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. (In AWS Tools for PowerShell and the AWS SDK for .NET, the timestamp is specified in .NET format: yyyy-mm-ddThh:mm:ss. For example, 2017-09-15T13:45:30.)

  • A batch of log events in a single request cannot span more than 24 hours. Otherwise, the operation fails.

  • The maximum number of log events in a batch is 10,000.

  • There is a quota of 5 requests per second per log stream. Additional requests are throttled. This quota can't be changed.

If a call to PutLogEvents returns \"UnrecognizedClientException\" the most likely cause is an invalid AWS access key ID or secret key.

" }, "PutMetricFilter":{ "name":"PutMetricFilter", @@ -341,7 +505,36 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents requests.

The maximum number of metric filters that can be associated with a log group is 100.

" + "documentation":"

Creates or updates a metric filter and associates it with the specified log group. Metric filters allow you to configure rules to extract metric data from log events ingested through PutLogEvents.

The maximum number of metric filters that can be associated with a log group is 100.

" + }, + "PutQueryDefinition":{ + "name":"PutQueryDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutQueryDefinitionRequest"}, + "output":{"shape":"PutQueryDefinitionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ] + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyRequest"}, + "output":{"shape":"PutResourcePolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Creates or updates a resource policy allowing other AWS services to put log events to this account, such as Amazon Route 53. An account can have up to 10 resource policies per region.

" }, "PutRetentionPolicy":{ "name":"PutRetentionPolicy", @@ -356,7 +549,7 @@ {"shape":"OperationAbortedException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Sets the retention of the specified log group. A retention policy allows you to configure the number of days you want to retain log events in the specified log group.

" + "documentation":"

Sets the retention of the specified log group. A retention policy allows you to configure the number of days for which to retain log events in the specified log group.

" }, "PutSubscriptionFilter":{ "name":"PutSubscriptionFilter", @@ -372,7 +565,52 @@ {"shape":"LimitExceededException"}, {"shape":"ServiceUnavailableException"} ], - "documentation":"

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents requests and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

Currently there can only be one subscription filter associated with a log group.

" + "documentation":"

Creates or updates a subscription filter and associates it with the specified log group. Subscription filters allow you to subscribe to a real-time stream of log events ingested through PutLogEvents and have them delivered to a specific destination. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination that belongs to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream that belongs to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function that belongs to the same account as the subscription filter, for same-account delivery.

There can only be one subscription filter associated with a log group. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group.

" + }, + "StartQuery":{ + "name":"StartQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartQueryRequest"}, + "output":{"shape":"StartQueryResponse"}, + "errors":[ + {"shape":"MalformedQueryException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Schedules a query of a log group using CloudWatch Logs Insights. You specify the log group and time range to query, and the query string to use.

For more information, see CloudWatch Logs Insights Query Syntax.

Queries time out after 15 minutes of execution. If your queries are timing out, reduce the time range being searched, or partition your query into a number of queries.

" + }, + "StopQuery":{ + "name":"StopQuery", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopQueryRequest"}, + "output":{"shape":"StopQueryResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

Stops a CloudWatch Logs Insights query that is in progress. If the query has already ended, the operation returns an error indicating that the specified query is not running.

" + }, + "TagLogGroup":{ + "name":"TagLogGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagLogGroupRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"} + ], + "documentation":"

Adds or updates the specified tags for the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To remove tags, use UntagLogGroup.

For more information about tags, see Tag Log Groups in Amazon CloudWatch Logs in the Amazon CloudWatch Logs User Guide.

" }, "TestMetricFilter":{ "name":"TestMetricFilter", @@ -387,6 +625,18 @@ {"shape":"ServiceUnavailableException"} ], "documentation":"

Tests the filter pattern of a metric filter against a sample of log event messages. You can use this operation to validate the correctness of a metric filter pattern.

" + }, + "UntagLogGroup":{ + "name":"UntagLogGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagLogGroupRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes the specified tags from the specified log group.

To list the tags for a log group, use ListTagsLogGroup. To add tags, use TagLogGroup.

" } }, "shapes":{ @@ -395,13 +645,30 @@ "min":1 }, "Arn":{"type":"string"}, + "AssociateKmsKeyRequest":{ + "type":"structure", + "required":[ + "logGroupName", + "kmsKeyId" + ], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. This must be a symmetric CMK. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS) and Using Symmetric and Asymmetric Keys.

" + } + } + }, "CancelExportTaskRequest":{ "type":"structure", "required":["taskId"], "members":{ "taskId":{ "shape":"ExportTaskId", - "documentation":"

Id of the export task to cancel.

" + "documentation":"

The ID of the export task.

" } } }, @@ -420,27 +687,27 @@ }, "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to export.

" + "documentation":"

The name of the log group.

" }, "logStreamNamePrefix":{ "shape":"LogStreamName", - "documentation":"

Will only export log streams that match the provided logStreamNamePrefix. If you don't specify a value, no prefix filter is applied.

" + "documentation":"

Export only log streams that match the provided prefix. If you don't specify a value, no prefix filter is applied.

" }, "from":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. It indicates the start time of the range for the request. Events with a timestamp prior to this time will not be exported.

" + "documentation":"

The start time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp earlier than this time are not exported.

" }, "to":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. It indicates the end time of the range for the request. Events with a timestamp later than this time will not be exported.

" + "documentation":"

The end time of the range for the request, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.

" }, "destination":{ "shape":"ExportDestinationBucket", - "documentation":"

Name of Amazon S3 bucket to which the log data will be exported.

Note: Only buckets in the same AWS region are supported.

" + "documentation":"

The name of S3 bucket for the exported log data. The bucket must be in the same AWS region.

" }, "destinationPrefix":{ "shape":"ExportDestinationPrefix", - "documentation":"

Prefix that will be used as the start of Amazon S3 key for every object exported. If not specified, this defaults to 'exportedlogs'.

" + "documentation":"

The prefix used as the start of the key for every object exported. If you don't specify a value, the default is exportedlogs.

" } } }, @@ -449,7 +716,7 @@ "members":{ "taskId":{ "shape":"ExportTaskId", - "documentation":"

Id of the export task that got created.

" + "documentation":"

The ID of the export task.

" } } }, @@ -459,7 +726,15 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to create.

" + "documentation":"

The name of the log group.

" + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data. For more information, see Amazon Resource Names - AWS Key Management Service (AWS KMS).

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The key-value pairs to use for the tags.

" } } }, @@ -472,11 +747,11 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group under which the log stream is to be created.

" + "documentation":"

The name of the log group.

" }, "logStreamName":{ "shape":"LogStreamName", - "documentation":"

The name of the log stream to create.

" + "documentation":"

The name of the log stream.

" } } }, @@ -485,11 +760,12 @@ "members":{ "expectedSequenceToken":{"shape":"SequenceToken"} }, + "documentation":"

The event was already logged.

", "exception":true }, "Days":{ "type":"integer", - "documentation":"

Specifies the number of days you want to retain log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 3653.

" + "documentation":"

The number of days to retain the log events in the specified log group. Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

" }, "DefaultValue":{"type":"double"}, "DeleteDestinationRequest":{ @@ -498,7 +774,7 @@ "members":{ "destinationName":{ "shape":"DestinationName", - "documentation":"

The name of destination to delete.

" + "documentation":"

The name of the destination.

" } } }, @@ -508,7 +784,7 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to delete.

" + "documentation":"

The name of the log group.

" } } }, @@ -521,11 +797,11 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group under which the log stream to delete belongs.

" + "documentation":"

The name of the log group.

" }, "logStreamName":{ "shape":"LogStreamName", - "documentation":"

The name of the log stream to delete.

" + "documentation":"

The name of the log stream.

" } } }, @@ -538,11 +814,33 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group that is associated with the metric filter to delete.

" + "documentation":"

The name of the log group.

" }, "filterName":{ "shape":"FilterName", - "documentation":"

The name of the metric filter to delete.

" + "documentation":"

The name of the metric filter.

" + } + } + }, + "DeleteQueryDefinitionRequest":{ + "type":"structure", + "required":["queryDefinitionId"], + "members":{ + "queryDefinitionId":{"shape":"QueryId"} + } + }, + "DeleteQueryDefinitionResponse":{ + "type":"structure", + "members":{ + "success":{"shape":"Success"} + } + }, + "DeleteResourcePolicyRequest":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the policy to be revoked. This parameter is required.

" } } }, @@ -552,7 +850,7 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group that is associated with the retention policy to delete.

" + "documentation":"

The name of the log group.

" } } }, @@ -565,11 +863,11 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group that is associated with the subscription filter to delete.

" + "documentation":"

The name of the log group.

" }, "filterName":{ "shape":"FilterName", - "documentation":"

The name of the subscription filter to delete.

" + "documentation":"

The name of the subscription filter.

" } } }, @@ -579,16 +877,25 @@ "members":{ "DestinationNamePrefix":{ "shape":"DestinationName", - "documentation":"

Will only return destinations that match the provided destinationNamePrefix. If you don't specify a value, no prefix is applied.

" + "documentation":"

The prefix to match. If you don't specify a value, no prefix filter is applied.

" }, - "nextToken":{"shape":"NextToken"}, - "limit":{"shape":"DescribeLimit"} + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" + }, + "limit":{ + "shape":"DescribeLimit", + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" + } } }, "DescribeDestinationsResponse":{ "type":"structure", "members":{ - "destinations":{"shape":"Destinations"}, + "destinations":{ + "shape":"Destinations", + "documentation":"

The destinations.

" + }, "nextToken":{"shape":"NextToken"} } }, @@ -597,32 +904,34 @@ "members":{ "taskId":{ "shape":"ExportTaskId", - "documentation":"

Export task that matches the specified task Id will be returned. This can result in zero or one export task.

" + "documentation":"

The ID of the export task. Specifying a task ID filters the results to zero or one export tasks.

" }, "statusCode":{ "shape":"ExportTaskStatusCode", - "documentation":"

All export tasks that matches the specified status code will be returned. This can return zero or more export tasks.

" + "documentation":"

The status code of the export task. Specifying a status code filters the results to zero or more export tasks.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the response of the previous DescribeExportTasks request.

" + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" }, "limit":{ "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned in the response. If you don't specify a value, the request would return up to 50 items.

" + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" } } }, "DescribeExportTasksResponse":{ "type":"structure", "members":{ - "exportTasks":{"shape":"ExportTasks"}, + "exportTasks":{ + "shape":"ExportTasks", + "documentation":"

The export tasks.

" + }, "nextToken":{"shape":"NextToken"} } }, "DescribeLimit":{ "type":"integer", - "documentation":"

The maximum number of results to return.

", "max":50, "min":1 }, @@ -631,22 +940,25 @@ "members":{ "logGroupNamePrefix":{ "shape":"LogGroupName", - "documentation":"

Will only return log groups that match the provided logGroupNamePrefix. If you don't specify a value, no prefix filter is applied.

" + "documentation":"

The prefix to match.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the response of the previous DescribeLogGroups request.

" + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" }, "limit":{ "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned in the response. If you don't specify a value, the request would return up to 50 items.

" + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" } } }, "DescribeLogGroupsResponse":{ "type":"structure", "members":{ - "logGroups":{"shape":"LogGroups"}, + "logGroups":{ + "shape":"LogGroups", + "documentation":"

The log groups.

" + }, "nextToken":{"shape":"NextToken"} } }, @@ -656,124 +968,214 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The log group name for which log streams are to be listed.

" + "documentation":"

The name of the log group.

" }, "logStreamNamePrefix":{ "shape":"LogStreamName", - "documentation":"

Will only return log streams that match the provided logStreamNamePrefix. If you don't specify a value, no prefix filter is applied.

" + "documentation":"

The prefix to match.

If orderBy is LastEventTime,you cannot specify this parameter.

" }, "orderBy":{ "shape":"OrderBy", - "documentation":"

Specifies what to order the returned log streams by. Valid arguments are 'LogStreamName' or 'LastEventTime'. If you don't specify a value, results are ordered by LogStreamName. If 'LastEventTime' is chosen, the request cannot also contain a logStreamNamePrefix.

" + "documentation":"

If the value is LogStreamName, the results are ordered by log stream name. If the value is LastEventTime, the results are ordered by the event time. The default value is LogStreamName.

If you order the results by event time, you cannot specify the logStreamNamePrefix parameter.

lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" }, "descending":{ "shape":"Descending", - "documentation":"

If set to true, results are returned in descending order. If you don't specify a value or set it to false, results are returned in ascending order.

" + "documentation":"

If the value is true, results are returned in descending order. If the value is to false, results are returned in ascending order. The default value is false.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the response of the previous DescribeLogStreams request.

" + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" }, "limit":{ "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned in the response. If you don't specify a value, the request would return up to 50 items.

" + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" } } }, "DescribeLogStreamsResponse":{ "type":"structure", "members":{ - "logStreams":{"shape":"LogStreams"}, + "logStreams":{ + "shape":"LogStreams", + "documentation":"

The log streams.

" + }, "nextToken":{"shape":"NextToken"} } }, "DescribeMetricFiltersRequest":{ "type":"structure", - "required":["logGroupName"], "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The log group name for which metric filters are to be listed.

" + "documentation":"

The name of the log group.

" }, "filterNamePrefix":{ "shape":"FilterName", - "documentation":"

Will only return metric filters that match the provided filterNamePrefix. If you don't specify a value, no prefix filter is applied.

" + "documentation":"

The prefix to match.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the response of the previous DescribeMetricFilters request.

" + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" }, "limit":{ "shape":"DescribeLimit", - "documentation":"

The maximum number of items returned in the response. If you don't specify a value, the request would return up to 50 items.

" + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" + }, + "metricName":{ + "shape":"MetricName", + "documentation":"

Filters results to include only those with the specified metric name. If you include this parameter in your request, you must also include the metricNamespace parameter.

" + }, + "metricNamespace":{ + "shape":"MetricNamespace", + "documentation":"

Filters results to include only those in the specified namespace. If you include this parameter in your request, you must also include the metricName parameter.

" } } }, "DescribeMetricFiltersResponse":{ "type":"structure", "members":{ - "metricFilters":{"shape":"MetricFilters"}, + "metricFilters":{ + "shape":"MetricFilters", + "documentation":"

The metric filters.

" + }, "nextToken":{"shape":"NextToken"} } }, - "DescribeSubscriptionFiltersRequest":{ + "DescribeQueriesMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "DescribeQueriesRequest":{ "type":"structure", - "required":["logGroupName"], "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The log group name for which subscription filters are to be listed.

" + "documentation":"

Limits the returned queries to only those for the specified log group.

" }, - "filterNamePrefix":{ - "shape":"FilterName", - "documentation":"

Will only return subscription filters that match the provided filterNamePrefix. If you don't specify a value, no prefix filter is applied.

" + "status":{ + "shape":"QueryStatus", + "documentation":"

Limits the returned queries to only those that have the specified status. Valid values are Cancelled, Complete, Failed, Running, and Scheduled.

" }, - "nextToken":{"shape":"NextToken"}, - "limit":{"shape":"DescribeLimit"} + "maxResults":{ + "shape":"DescribeQueriesMaxResults", + "documentation":"

Limits the number of returned queries to the specified number.

" + }, + "nextToken":{"shape":"NextToken"} } }, - "DescribeSubscriptionFiltersResponse":{ + "DescribeQueriesResponse":{ "type":"structure", "members":{ - "subscriptionFilters":{"shape":"SubscriptionFilters"}, + "queries":{ + "shape":"QueryInfoList", + "documentation":"

The list of queries that match the request.

" + }, "nextToken":{"shape":"NextToken"} } }, - "Destination":{ + "DescribeQueryDefinitionsRequest":{ "type":"structure", "members":{ - "destinationName":{ - "shape":"DestinationName", - "documentation":"

Name of the destination.

" - }, - "targetArn":{ - "shape":"TargetArn", - "documentation":"

ARN of the physical target where the log events will be delivered (eg. ARN of a Kinesis stream).

" - }, - "roleArn":{ - "shape":"RoleArn", - "documentation":"

A role for impersonation for delivering log events to the target.

" - }, - "accessPolicy":{ - "shape":"AccessPolicy", - "documentation":"

An IAM policy document that governs which AWS accounts can create subscription filters against this destination.

" - }, - "arn":{ - "shape":"Arn", - "documentation":"

ARN of this destination.

" - }, - "creationTime":{ - "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC specifying when this destination was created.

" - } - }, - "documentation":"

A cross account destination that is the recipient of subscription log events.

" - }, - "DestinationArn":{ - "type":"string", - "min":1 + "queryDefinitionNamePrefix":{"shape":"QueryDefinitionName"}, + "maxResults":{"shape":"QueryListMaxResults"}, + "nextToken":{"shape":"NextToken"} + } }, - "DestinationName":{ + "DescribeQueryDefinitionsResponse":{ + "type":"structure", + "members":{ + "queryDefinitions":{"shape":"QueryDefinitionList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "DescribeResourcePoliciesRequest":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "limit":{ + "shape":"DescribeLimit", + "documentation":"

The maximum number of resource policies to be displayed with one call of this API.

" + } + } + }, + "DescribeResourcePoliciesResponse":{ + "type":"structure", + "members":{ + "resourcePolicies":{ + "shape":"ResourcePolicies", + "documentation":"

The resource policies that exist in this account.

" + }, + "nextToken":{"shape":"NextToken"} + } + }, + "DescribeSubscriptionFiltersRequest":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "filterNamePrefix":{ + "shape":"FilterName", + "documentation":"

The prefix to match. If you don't specify a value, no prefix filter is applied.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

" + }, + "limit":{ + "shape":"DescribeLimit", + "documentation":"

The maximum number of items returned. If you don't specify a value, the default is up to 50 items.

" + } + } + }, + "DescribeSubscriptionFiltersResponse":{ + "type":"structure", + "members":{ + "subscriptionFilters":{ + "shape":"SubscriptionFilters", + "documentation":"

The subscription filters.

" + }, + "nextToken":{"shape":"NextToken"} + } + }, + "Destination":{ + "type":"structure", + "members":{ + "destinationName":{ + "shape":"DestinationName", + "documentation":"

The name of the destination.

" + }, + "targetArn":{ + "shape":"TargetArn", + "documentation":"

The Amazon Resource Name (ARN) of the physical target to where the log events are delivered (for example, a Kinesis stream).

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

A role for impersonation, used when delivering log events to the target.

" + }, + "accessPolicy":{ + "shape":"AccessPolicy", + "documentation":"

An IAM policy document that governs which AWS accounts can create subscription filters against this destination.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The ARN of this destination.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the destination, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + } + }, + "documentation":"

Represents a cross-account destination that receives subscription log events.

" + }, + "DestinationArn":{ + "type":"string", + "min":1 + }, + "DestinationName":{ "type":"string", "max":512, "min":1, @@ -783,6 +1185,24 @@ "type":"list", "member":{"shape":"Destination"} }, + "DisassociateKmsKeyRequest":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + } + } + }, + "Distribution":{ + "type":"string", + "documentation":"

The method used to distribute log data to the destination, which can be either random or grouped by log stream.

", + "enum":[ + "Random", + "ByLogStream" + ] + }, "EventId":{"type":"string"}, "EventMessage":{ "type":"string", @@ -791,7 +1211,6 @@ "EventNumber":{"type":"long"}, "EventsLimit":{ "type":"integer", - "documentation":"

The maximum number of events to return.

", "max":10000, "min":1 }, @@ -806,7 +1225,7 @@ "members":{ "taskId":{ "shape":"ExportTaskId", - "documentation":"

Id of the export task.

" + "documentation":"

The ID of the export task.

" }, "taskName":{ "shape":"ExportTaskName", @@ -818,23 +1237,23 @@ }, "from":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp prior to this time are not exported.

" + "documentation":"

The start time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not exported.

" }, "to":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.

" + "documentation":"

The end time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not exported.

" }, "destination":{ "shape":"ExportDestinationBucket", - "documentation":"

Name of Amazon S3 bucket to which the log data was exported.

" + "documentation":"

The name of Amazon S3 bucket to which the log data was exported.

" }, "destinationPrefix":{ "shape":"ExportDestinationPrefix", - "documentation":"

Prefix that was used as the start of Amazon S3 key for every object exported.

" + "documentation":"

The prefix that was used as the start of Amazon S3 key for every object exported.

" }, "status":{ "shape":"ExportTaskStatus", - "documentation":"

Status of the export task.

" + "documentation":"

The status of the export task.

" }, "executionInfo":{ "shape":"ExportTaskExecutionInfo", @@ -848,11 +1267,11 @@ "members":{ "creationTime":{ "shape":"Timestamp", - "documentation":"

A point in time when the export task got created.

" + "documentation":"

The creation time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" }, "completionTime":{ "shape":"Timestamp", - "documentation":"

A point in time when the export task got completed.

" + "documentation":"

The completion time of the export task, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" } }, "documentation":"

Represents the status of an export task.

" @@ -872,11 +1291,11 @@ "members":{ "code":{ "shape":"ExportTaskStatusCode", - "documentation":"

Status code of the export task.

" + "documentation":"

The status code of the export task.

" }, "message":{ "shape":"ExportTaskStatusMessage", - "documentation":"

Status message related to the code.

" + "documentation":"

The status message related to the status code.

" } }, "documentation":"

Represents the status of an export task.

" @@ -895,53 +1314,56 @@ "ExportTaskStatusMessage":{"type":"string"}, "ExportTasks":{ "type":"list", - "member":{"shape":"ExportTask"}, - "documentation":"

A list of export tasks.

" + "member":{"shape":"ExportTask"} }, "ExtractedValues":{ "type":"map", "key":{"shape":"Token"}, "value":{"shape":"Value"} }, - "FilterCount":{ - "type":"integer", - "documentation":"

The number of metric filters associated with the log group.

" - }, + "Field":{"type":"string"}, + "FilterCount":{"type":"integer"}, "FilterLogEventsRequest":{ "type":"structure", "required":["logGroupName"], "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to query.

" + "documentation":"

The name of the log group to search.

" }, "logStreamNames":{ "shape":"InputLogStreamNames", - "documentation":"

Optional list of log stream names within the specified log group to search. Defaults to all the log streams in the log group.

" + "documentation":"

Filters the results to only logs from the log streams in this list.

If you specify a value for both logStreamNamePrefix and logStreamNames, the action returns an InvalidParameterException error.

" + }, + "logStreamNamePrefix":{ + "shape":"LogStreamName", + "documentation":"

Filters the results to include only events from log streams that have names starting with this prefix.

If you specify a value for both logStreamNamePrefix and logStreamNames, but the value for logStreamNamePrefix does not match any log stream names specified in logStreamNames, the action returns an InvalidParameterException error.

" }, "startTime":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. If provided, events with a timestamp prior to this time are not returned.

" + "documentation":"

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp before this time are not returned.

" }, "endTime":{ "shape":"Timestamp", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. If provided, events with a timestamp later than this time are not returned.

" + "documentation":"

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp later than this time are not returned.

" }, "filterPattern":{ "shape":"FilterPattern", - "documentation":"

A valid CloudWatch Logs filter pattern to use for filtering the response. If not provided, all the events are matched.

" + "documentation":"

The filter pattern to use. For more information, see Filter and Pattern Syntax.

If not provided, all the events are matched.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A pagination token obtained from a FilterLogEvents response to continue paginating the FilterLogEvents results. This token is omitted from the response when there are no other events to display.

" + "documentation":"

The token for the next set of events to return. (You received this token from a previous call.)

" }, "limit":{ "shape":"EventsLimit", - "documentation":"

The maximum number of events to return in a page of results. Default is 10,000 events.

" + "documentation":"

The maximum number of events to return. The default is 10,000 events.

" }, "interleaved":{ "shape":"Interleaved", - "documentation":"

If provided, the API will make a best effort to provide responses that contain events from multiple log streams within the log group interleaved in a single response. If not provided, all the matched log events in the first log stream will be searched first, then those in the next log stream, etc.

" + "documentation":"

If the value is true, the operation makes a best effort to provide responses that contain events from multiple log streams within the log group, interleaved in a single response. If the value is false, all the matched log events in the first log stream are searched first, then those in the next log stream, and so on. The default is false.

IMPORTANT: Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be true. The response from this operation will always interleave events from multiple log streams within a log group.

", + "deprecated":true, + "deprecatedMessage":"Starting on June 17, 2019, this parameter will be ignored and the value will be assumed to be true. The response from this operation will always interleave events from multiple log streams within a log group." } } }, @@ -950,21 +1372,20 @@ "members":{ "events":{ "shape":"FilteredLogEvents", - "documentation":"

A list of FilteredLogEvent objects representing the matched events from the request.

" + "documentation":"

The matched events.

" }, "searchedLogStreams":{ "shape":"SearchedLogStreams", - "documentation":"

A list of SearchedLogStream objects indicating which log streams have been searched in this request and whether each has been searched completely or still has more to be paginated.

" + "documentation":"

Indicates which log streams have been searched and whether each has been searched completely.

" }, "nextToken":{ "shape":"NextToken", - "documentation":"

A pagination token obtained from a FilterLogEvents response to continue paginating the FilterLogEvents results. This token is omitted from the response when there are no other events to display.

" + "documentation":"

The token to use when requesting the next set of items. The token expires after 24 hours.

" } } }, "FilterName":{ "type":"string", - "documentation":"

A name for a metric or subscription filter.

", "max":512, "min":1, "pattern":"[^:*]*" @@ -980,25 +1401,30 @@ "members":{ "logStreamName":{ "shape":"LogStreamName", - "documentation":"

The name of the log stream this event belongs to.

" + "documentation":"

The name of the log stream to which this event belongs.

" + }, + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" }, - "timestamp":{"shape":"Timestamp"}, "message":{ "shape":"EventMessage", "documentation":"

The data contained in the log event.

" }, - "ingestionTime":{"shape":"Timestamp"}, + "ingestionTime":{ + "shape":"Timestamp", + "documentation":"

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, "eventId":{ "shape":"EventId", - "documentation":"

A unique identifier for this event.

" + "documentation":"

The ID of the event.

" } }, - "documentation":"

Represents a matched event from a FilterLogEvents request.

" + "documentation":"

Represents a matched event.

" }, "FilteredLogEvents":{ "type":"list", - "member":{"shape":"FilteredLogEvent"}, - "documentation":"

A list of matched FilteredLogEvent objects returned from a FilterLogEvents request.

" + "member":{"shape":"FilteredLogEvent"} }, "GetLogEventsRequest":{ "type":"structure", @@ -1009,34 +1435,118 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to query.

" + "documentation":"

The name of the log group.

" }, "logStreamName":{ "shape":"LogStreamName", - "documentation":"

The name of the log stream to query.

" + "documentation":"

The name of the log stream.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The start of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to this time or later than this time are included. Events with a timestamp earlier than this time are not included.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end of the time range, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. Events with a timestamp equal to or later than this time are not included.

" }, - "startTime":{"shape":"Timestamp"}, - "endTime":{"shape":"Timestamp"}, "nextToken":{ "shape":"NextToken", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the nextForwardToken or nextBackwardToken fields in the response of the previous GetLogEvents request.

" + "documentation":"

The token for the next set of items to return. (You received this token from a previous call.)

Using this token works only when you specify true for startFromHead.

" }, "limit":{ "shape":"EventsLimit", - "documentation":"

The maximum number of log events returned in the response. If you don't specify a value, the request would return as many log events as can fit in a response size of 1MB, up to 10,000 log events.

" + "documentation":"

The maximum number of log events returned. If you don't specify a value, the maximum is as many log events as can fit in a response size of 1 MB, up to 10,000 log events.

" }, "startFromHead":{ "shape":"StartFromHead", - "documentation":"

If set to true, the earliest log events would be returned first. The default is false (the latest log events are returned first).

" + "documentation":"

If the value is true, the earliest log events are returned first. If the value is false, the latest log events are returned first. The default value is false.

If you are using nextToken in this operation, you must specify true for startFromHead.

" } } }, "GetLogEventsResponse":{ "type":"structure", "members":{ - "events":{"shape":"OutputLogEvents"}, - "nextForwardToken":{"shape":"NextToken"}, - "nextBackwardToken":{"shape":"NextToken"} + "events":{ + "shape":"OutputLogEvents", + "documentation":"

The events.

" + }, + "nextForwardToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items in the forward direction. The token expires after 24 hours. If you have reached the end of the stream, it will return the same token you passed in.

" + }, + "nextBackwardToken":{ + "shape":"NextToken", + "documentation":"

The token for the next set of items in the backward direction. The token expires after 24 hours. This token will never be null. If you have reached the end of the stream, it will return the same token you passed in.

" + } + } + }, + "GetLogGroupFieldsRequest":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group to search.

" + }, + "time":{ + "shape":"Timestamp", + "documentation":"

The time to set as the center of the query. If you specify time, the 8 minutes before and 8 minutes after this time are searched. If you omit time, the past 15 minutes are queried.

The time value is specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" + } + } + }, + "GetLogGroupFieldsResponse":{ + "type":"structure", + "members":{ + "logGroupFields":{ + "shape":"LogGroupFieldList", + "documentation":"

The array of fields found in the query. Each object in the array contains the name of the field, along with the percentage of time it appeared in the log events that were queried.

" + } + } + }, + "GetLogRecordRequest":{ + "type":"structure", + "required":["logRecordPointer"], + "members":{ + "logRecordPointer":{ + "shape":"LogRecordPointer", + "documentation":"

The pointer corresponding to the log event record you want to retrieve. You get this from the response of a GetQueryResults operation. In that response, the value of the @ptr field for a log event is the value to use as logRecordPointer to retrieve that complete log event record.

" + } + } + }, + "GetLogRecordResponse":{ + "type":"structure", + "members":{ + "logRecord":{ + "shape":"LogRecord", + "documentation":"

The requested log event, as a JSON string.

" + } + } + }, + "GetQueryResultsRequest":{ + "type":"structure", + "required":["queryId"], + "members":{ + "queryId":{ + "shape":"QueryId", + "documentation":"

The ID number of the query.

" + } + } + }, + "GetQueryResultsResponse":{ + "type":"structure", + "members":{ + "results":{ + "shape":"QueryResults", + "documentation":"

The log events that matched the query criteria during the most recent time it ran.

The results value is an array of arrays. Each log event is one object in the top-level array. Each of these log event objects is an array of field/value pairs.

" + }, + "statistics":{ + "shape":"QueryStatistics", + "documentation":"

Includes the number of log events scanned by the query, the number of log events that matched the query criteria, and the total number of bytes in the log events that were scanned.

" + }, + "status":{ + "shape":"QueryStatus", + "documentation":"

The status of the most recent running of the query. Possible values are Cancelled, Complete, Failed, Running, Scheduled, Timeout, and Unknown.

Queries time out after 15 minutes of execution. To avoid having your queries time out, reduce the time range being searched, or partition your query into a number of queries.

" + } } }, "InputLogEvent":{ @@ -1046,22 +1556,26 @@ "message" ], "members":{ - "timestamp":{"shape":"Timestamp"}, - "message":{"shape":"EventMessage"} + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "message":{ + "shape":"EventMessage", + "documentation":"

The raw event message.

" + } }, - "documentation":"

A log event is a record of some activity that was recorded by the application or resource being monitored. The log event record that CloudWatch Logs understands contains two properties: the timestamp of when the event occurred, and the raw event message.

" + "documentation":"

Represents a log event, which is a record of activity that was recorded by the application or resource being monitored.

" }, "InputLogEvents":{ "type":"list", "member":{"shape":"InputLogEvent"}, - "documentation":"

A list of log events belonging to a log stream.

", "max":10000, "min":1 }, "InputLogStreamNames":{ "type":"list", "member":{"shape":"LogStreamName"}, - "documentation":"

A list of log stream names.

", "max":100, "min":1 }, @@ -1070,14 +1584,14 @@ "type":"structure", "members":{ }, - "documentation":"

Returned if the operation is not valid on the specified resource

", + "documentation":"

The operation is not valid on the specified resource.

", "exception":true }, "InvalidParameterException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if a parameter of the request is incorrectly specified.

", + "documentation":"

A parameter is specified incorrectly.

", "exception":true }, "InvalidSequenceTokenException":{ @@ -1085,26 +1599,88 @@ "members":{ "expectedSequenceToken":{"shape":"SequenceToken"} }, + "documentation":"

The sequence token is not valid. You can get the correct sequence token in the expectedSequenceToken field in the InvalidSequenceTokenException message.

", "exception":true }, + "KmsKeyId":{ + "type":"string", + "max":256 + }, "LimitExceededException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if you have reached the maximum number of resources that can be created.

", + "documentation":"

You have reached the maximum number of resources that can be created.

", "exception":true }, + "ListTagsLogGroupRequest":{ + "type":"structure", + "required":["logGroupName"], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + } + } + }, + "ListTagsLogGroupResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"

The tags for the log group.

" + } + } + }, "LogEventIndex":{"type":"integer"}, "LogGroup":{ "type":"structure", "members":{ - "logGroupName":{"shape":"LogGroupName"}, - "creationTime":{"shape":"Timestamp"}, + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, "retentionInDays":{"shape":"Days"}, - "metricFilterCount":{"shape":"FilterCount"}, - "arn":{"shape":"Arn"}, - "storedBytes":{"shape":"StoredBytes"} - } + "metricFilterCount":{ + "shape":"FilterCount", + "documentation":"

The number of metric filters.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the log group.

" + }, + "storedBytes":{ + "shape":"StoredBytes", + "documentation":"

The number of bytes stored.

" + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

The Amazon Resource Name (ARN) of the CMK to use when encrypting log data.

" + } + }, + "documentation":"

Represents a log group.

" + }, + "LogGroupField":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Field", + "documentation":"

The name of a log field.

" + }, + "percent":{ + "shape":"Percentage", + "documentation":"

The percentage of log events queried that contained the field.

" + } + }, + "documentation":"

The fields contained in log events found by a GetLogGroupFields operation, along with the percentage of queried log events in which each field appears.

" + }, + "LogGroupFieldList":{ + "type":"list", + "member":{"shape":"LogGroupField"} }, "LogGroupName":{ "type":"string", @@ -1112,24 +1688,59 @@ "min":1, "pattern":"[\\.\\-_/#A-Za-z0-9]+" }, + "LogGroupNames":{ + "type":"list", + "member":{"shape":"LogGroupName"} + }, "LogGroups":{ "type":"list", - "member":{"shape":"LogGroup"}, - "documentation":"

A list of log groups.

" + "member":{"shape":"LogGroup"} }, + "LogRecord":{ + "type":"map", + "key":{"shape":"Field"}, + "value":{"shape":"Value"} + }, + "LogRecordPointer":{"type":"string"}, "LogStream":{ "type":"structure", "members":{ - "logStreamName":{"shape":"LogStreamName"}, - "creationTime":{"shape":"Timestamp"}, - "firstEventTimestamp":{"shape":"Timestamp"}, - "lastEventTimestamp":{"shape":"Timestamp"}, - "lastIngestionTime":{"shape":"Timestamp"}, - "uploadSequenceToken":{"shape":"SequenceToken"}, - "arn":{"shape":"Arn"}, - "storedBytes":{"shape":"StoredBytes"} + "logStreamName":{ + "shape":"LogStreamName", + "documentation":"

The name of the log stream.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the stream, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "firstEventTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time of the first event, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "lastEventTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time of the most recent log event in the log stream in CloudWatch Logs. This number is expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC. The lastEventTime value updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in some rare situations.

" + }, + "lastIngestionTime":{ + "shape":"Timestamp", + "documentation":"

The ingestion time, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "uploadSequenceToken":{ + "shape":"SequenceToken", + "documentation":"

The sequence token.

" + }, + "arn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the log stream.

" + }, + "storedBytes":{ + "shape":"StoredBytes", + "documentation":"

The number of bytes stored.

IMPORTANT:On June 17, 2019, this parameter was deprecated for log streams, and is always reported as zero. This change applies only to log streams. The storedBytes parameter for log groups is not affected.

", + "deprecated":true, + "deprecatedMessage":"Starting on June 17, 2019, this parameter will be deprecated for log streams, and will be reported as zero. This change applies only to log streams. The storedBytes parameter for log groups is not affected." + } }, - "documentation":"

A log stream is sequence of log events from a single emitter of logs.

" + "documentation":"

Represents a log stream, which is a sequence of log events from a single emitter of logs.

" }, "LogStreamName":{ "type":"string", @@ -1140,26 +1751,57 @@ "LogStreamSearchedCompletely":{"type":"boolean"}, "LogStreams":{ "type":"list", - "member":{"shape":"LogStream"}, - "documentation":"

A list of log streams.

" + "member":{"shape":"LogStream"} }, + "MalformedQueryException":{ + "type":"structure", + "members":{ + "queryCompileError":{"shape":"QueryCompileError"} + }, + "documentation":"

The query string is not valid. Details about this error are displayed in a QueryCompileError object. For more information, see QueryCompileError\"/>.

For more information about valid query syntax, see CloudWatch Logs Insights Query Syntax.

", + "exception":true + }, + "Message":{"type":"string"}, "MetricFilter":{ "type":"structure", "members":{ - "filterName":{"shape":"FilterName"}, + "filterName":{ + "shape":"FilterName", + "documentation":"

The name of the metric filter.

" + }, "filterPattern":{"shape":"FilterPattern"}, - "metricTransformations":{"shape":"MetricTransformations"}, - "creationTime":{"shape":"Timestamp"} + "metricTransformations":{ + "shape":"MetricTransformations", + "documentation":"

The metric transformations.

" + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the metric filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + } }, - "documentation":"

Metric filters can be used to express how CloudWatch Logs would extract metric observations from ingested log events and transform them to metric data in a CloudWatch metric.

" + "documentation":"

Metric filters express how CloudWatch Logs would extract metric observations from ingested log events and transform them into metric data in a CloudWatch metric.

" }, "MetricFilterMatchRecord":{ "type":"structure", "members":{ - "eventNumber":{"shape":"EventNumber"}, - "eventMessage":{"shape":"EventMessage"}, - "extractedValues":{"shape":"ExtractedValues"} - } + "eventNumber":{ + "shape":"EventNumber", + "documentation":"

The event number.

" + }, + "eventMessage":{ + "shape":"EventMessage", + "documentation":"

The raw event data.

" + }, + "extractedValues":{ + "shape":"ExtractedValues", + "documentation":"

The values extracted from the event data by the filter.

" + } + }, + "documentation":"

Represents a matched event.

" }, "MetricFilterMatches":{ "type":"list", @@ -1177,7 +1819,6 @@ }, "MetricNamespace":{ "type":"string", - "documentation":"

The destination namespace of the new CloudWatch metric.

", "max":255, "pattern":"[^:*$]*" }, @@ -1191,21 +1832,22 @@ "members":{ "metricName":{ "shape":"MetricName", - "documentation":"

Name of the metric.

" + "documentation":"

The name of the CloudWatch metric.

" }, "metricNamespace":{ "shape":"MetricNamespace", - "documentation":"

Namespace to which the metric belongs.

" + "documentation":"

A custom namespace to contain your metric in CloudWatch. Use namespaces to group together metrics that are similar. For more information, see Namespaces.

" }, "metricValue":{ "shape":"MetricValue", - "documentation":"

A string representing a value to publish to this metric when a filter pattern matches a log event.

" + "documentation":"

The value to publish to the CloudWatch metric when a filter pattern matches a log event.

" }, "defaultValue":{ "shape":"DefaultValue", - "documentation":"

(Optional) A default value to emit when a filter pattern does not match a log event. Can be null.

" + "documentation":"

(Optional) The value to emit when a filter pattern does not match a log event. This value can be null.

" } - } + }, + "documentation":"

Indicates how to transform ingested log events to metric data in a CloudWatch metric.

" }, "MetricTransformations":{ "type":"list", @@ -1215,19 +1857,19 @@ }, "MetricValue":{ "type":"string", - "documentation":"

What to publish to the metric. For example, if you're counting the occurrences of a particular term like \"Error\", the value will be \"1\" for each occurrence. If you're counting the bytes transferred the published value will be the value in the log event.

", + "documentation":"

The value to publish to the CloudWatch metric. For example, if you're counting the occurrences of a term like \"Error\", the value is \"1\" for each occurrence. If you're counting the bytes transferred, the value is the value in the log event.

", "max":100 }, "NextToken":{ "type":"string", - "documentation":"

A string token used for pagination that points to the next page of results. It must be a value obtained from the response of the previous request. The token expires after 24 hours.

", + "documentation":"

The token for the next set of items to return. The token expires after 24 hours.

", "min":1 }, "OperationAbortedException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if multiple requests to update the same resource were in conflict.

", + "documentation":"

Multiple requests to update the same resource were in conflict.

", "exception":true }, "OrderBy":{ @@ -1240,15 +1882,36 @@ "OutputLogEvent":{ "type":"structure", "members":{ - "timestamp":{"shape":"Timestamp"}, - "message":{"shape":"EventMessage"}, - "ingestionTime":{"shape":"Timestamp"} - } + "timestamp":{ + "shape":"Timestamp", + "documentation":"

The time the event occurred, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + }, + "message":{ + "shape":"EventMessage", + "documentation":"

The data contained in the log event.

" + }, + "ingestionTime":{ + "shape":"Timestamp", + "documentation":"

The time the event was ingested, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + } + }, + "documentation":"

Represents a log event.

" }, "OutputLogEvents":{ "type":"list", "member":{"shape":"OutputLogEvent"} }, + "Percentage":{ + "type":"integer", + "max":100, + "min":0 + }, + "PolicyDocument":{ + "type":"string", + "max":5120, + "min":1 + }, + "PolicyName":{"type":"string"}, "PutDestinationPolicyRequest":{ "type":"structure", "required":[ @@ -1262,7 +1925,7 @@ }, "accessPolicy":{ "shape":"AccessPolicy", - "documentation":"

An IAM policy document that authorizes cross-account users to deliver their log events to associated destination.

" + "documentation":"

An IAM policy document that authorizes cross-account users to deliver their log events to the associated destination.

" } } }, @@ -1280,18 +1943,21 @@ }, "targetArn":{ "shape":"TargetArn", - "documentation":"

The ARN of an Amazon Kinesis stream to deliver matching log events to.

" + "documentation":"

The ARN of an Amazon Kinesis stream to which to deliver matching log events.

" }, "roleArn":{ "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to do Amazon Kinesis PutRecord requests on the destination stream.

" + "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to call the Amazon Kinesis PutRecord operation on the destination stream.

" } } }, "PutDestinationResponse":{ "type":"structure", "members":{ - "destination":{"shape":"Destination"} + "destination":{ + "shape":"Destination", + "documentation":"

The destination.

" + } } }, "PutLogEventsRequest":{ @@ -1304,24 +1970,33 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to put log events to.

" + "documentation":"

The name of the log group.

" }, "logStreamName":{ "shape":"LogStreamName", - "documentation":"

The name of the log stream to put log events to.

" + "documentation":"

The name of the log stream.

" + }, + "logEvents":{ + "shape":"InputLogEvents", + "documentation":"

The log events.

" }, - "logEvents":{"shape":"InputLogEvents"}, "sequenceToken":{ "shape":"SequenceToken", - "documentation":"

A string token that must be obtained from the response of the previous PutLogEvents request.

" + "documentation":"

The sequence token obtained from the response of the previous PutLogEvents call. An upload in a newly created log stream does not require a sequence token. You can also get the sequence token using DescribeLogStreams. If you call PutLogEvents twice within a narrow time period using the same value for sequenceToken, both calls may be successful, or one may be rejected.

" } } }, "PutLogEventsResponse":{ "type":"structure", "members":{ - "nextSequenceToken":{"shape":"SequenceToken"}, - "rejectedLogEventsInfo":{"shape":"RejectedLogEventsInfo"} + "nextSequenceToken":{ + "shape":"SequenceToken", + "documentation":"

The next sequence token.

" + }, + "rejectedLogEventsInfo":{ + "shape":"RejectedLogEventsInfo", + "documentation":"

The rejected events.

" + } } }, "PutMetricFilterRequest":{ @@ -1335,7 +2010,7 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to associate the metric filter with.

" + "documentation":"

The name of the log group.

" }, "filterName":{ "shape":"FilterName", @@ -1343,11 +2018,52 @@ }, "filterPattern":{ "shape":"FilterPattern", - "documentation":"

A valid CloudWatch Logs filter pattern for extracting metric data out of ingested log events.

" + "documentation":"

A filter pattern for extracting metric data out of ingested log events.

" }, "metricTransformations":{ "shape":"MetricTransformations", - "documentation":"

A collection of information needed to define how metric data gets emitted.

" + "documentation":"

A collection of information that defines how metric data gets emitted.

" + } + } + }, + "PutQueryDefinitionRequest":{ + "type":"structure", + "required":[ + "name", + "queryString" + ], + "members":{ + "name":{"shape":"QueryDefinitionName"}, + "queryDefinitionId":{"shape":"QueryId"}, + "logGroupNames":{"shape":"LogGroupNames"}, + "queryString":{"shape":"QueryDefinitionString"} + } + }, + "PutQueryDefinitionResponse":{ + "type":"structure", + "members":{ + "queryDefinitionId":{"shape":"QueryId"} + } + }, + "PutResourcePolicyRequest":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

Name of the new policy. This parameter is required.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

Details of the new policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. This parameter is required.

The following example creates a resource policy enabling the Route 53 service to put DNS query logs in to the specified log group. Replace \"logArn\" with the ARN of your CloudWatch Logs resource, such as a log group or log stream.

{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"Route53LogsToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"route53.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"logArn\" } ] }

" + } + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + "resourcePolicy":{ + "shape":"ResourcePolicy", + "documentation":"

The new policy.

" } } }, @@ -1360,7 +2076,7 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to associate the retention policy with.

" + "documentation":"

The name of the log group.

" }, "retentionInDays":{"shape":"Days"} } @@ -1376,48 +2092,233 @@ "members":{ "logGroupName":{ "shape":"LogGroupName", - "documentation":"

The name of the log group to associate the subscription filter with.

" + "documentation":"

The name of the log group.

" }, "filterName":{ "shape":"FilterName", - "documentation":"

A name for the subscription filter.

" + "documentation":"

A name for the subscription filter. If you are updating an existing filter, you must specify the correct name in filterName. Otherwise, the call fails because you cannot associate a second filter with a log group. To find the name of the filter currently associated with a log group, use DescribeSubscriptionFilters.

" }, "filterPattern":{ "shape":"FilterPattern", - "documentation":"

A valid CloudWatch Logs filter pattern for subscribing to a filtered stream of log events.

" + "documentation":"

A filter pattern for subscribing to a filtered stream of log events.

" }, "destinationArn":{ "shape":"DestinationArn", - "documentation":"

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (used via an ARN of Destination) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

" + "documentation":"

The ARN of the destination to deliver matching log events to. Currently, the supported destinations are:

  • An Amazon Kinesis stream belonging to the same account as the subscription filter, for same-account delivery.

  • A logical destination (specified using an ARN) belonging to a different account, for cross-account delivery.

  • An Amazon Kinesis Firehose delivery stream belonging to the same account as the subscription filter, for same-account delivery.

  • An AWS Lambda function belonging to the same account as the subscription filter, for same-account delivery.

" }, "roleArn":{ "shape":"RoleArn", - "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination (used via an ARN of Destination) for cross-account delivery.

" + "documentation":"

The ARN of an IAM role that grants CloudWatch Logs permissions to deliver ingested log events to the destination stream. You don't need to provide the ARN when you are working with a logical destination for cross-account delivery.

" + }, + "distribution":{ + "shape":"Distribution", + "documentation":"

The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream.

" } } }, - "RejectedLogEventsInfo":{ + "QueryCharOffset":{"type":"integer"}, + "QueryCompileError":{ + "type":"structure", + "members":{ + "location":{ + "shape":"QueryCompileErrorLocation", + "documentation":"

Reserved.

" + }, + "message":{ + "shape":"Message", + "documentation":"

Reserved.

" + } + }, + "documentation":"

Reserved.

" + }, + "QueryCompileErrorLocation":{ + "type":"structure", + "members":{ + "startCharOffset":{ + "shape":"QueryCharOffset", + "documentation":"

Reserved.

" + }, + "endCharOffset":{ + "shape":"QueryCharOffset", + "documentation":"

Reserved.

" + } + }, + "documentation":"

Reserved.

" + }, + "QueryDefinition":{ "type":"structure", "members":{ - "tooNewLogEventStartIndex":{"shape":"LogEventIndex"}, - "tooOldLogEventEndIndex":{"shape":"LogEventIndex"}, - "expiredLogEventEndIndex":{"shape":"LogEventIndex"} + "queryDefinitionId":{"shape":"QueryId"}, + "name":{"shape":"QueryDefinitionName"}, + "queryString":{"shape":"QueryDefinitionString"}, + "lastModified":{"shape":"Timestamp"}, + "logGroupNames":{"shape":"LogGroupNames"} } }, + "QueryDefinitionList":{ + "type":"list", + "member":{"shape":"QueryDefinition"} + }, + "QueryDefinitionName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^([^:*\\/]+\\/?)*[^:*\\/]+$" + }, + "QueryDefinitionString":{ + "type":"string", + "max":10000, + "min":1 + }, + "QueryId":{ + "type":"string", + "max":256, + "min":0 + }, + "QueryInfo":{ + "type":"structure", + "members":{ + "queryId":{ + "shape":"QueryId", + "documentation":"

The unique ID number of this query.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The query string used in this query.

" + }, + "status":{ + "shape":"QueryStatus", + "documentation":"

The status of this query. Possible values are Cancelled, Complete, Failed, Running, Scheduled, and Unknown.

" + }, + "createTime":{ + "shape":"Timestamp", + "documentation":"

The date and time that this query was created.

" + }, + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group scanned by this query.

" + } + }, + "documentation":"

Information about one CloudWatch Logs Insights query that matches the request in a DescribeQueries operation.

" + }, + "QueryInfoList":{ + "type":"list", + "member":{"shape":"QueryInfo"} + }, + "QueryListMaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "QueryResults":{ + "type":"list", + "member":{"shape":"ResultRows"} + }, + "QueryStatistics":{ + "type":"structure", + "members":{ + "recordsMatched":{ + "shape":"StatsValue", + "documentation":"

The number of log events that matched the query string.

" + }, + "recordsScanned":{ + "shape":"StatsValue", + "documentation":"

The total number of log events scanned during the query.

" + }, + "bytesScanned":{ + "shape":"StatsValue", + "documentation":"

The total number of bytes in the log events scanned during the query.

" + } + }, + "documentation":"

Contains the number of log events scanned by the query, the number of log events that matched the query criteria, and the total number of bytes in the log events that were scanned.

" + }, + "QueryStatus":{ + "type":"string", + "enum":[ + "Scheduled", + "Running", + "Complete", + "Failed", + "Cancelled" + ] + }, + "QueryString":{ + "type":"string", + "max":10000, + "min":0 + }, + "RejectedLogEventsInfo":{ + "type":"structure", + "members":{ + "tooNewLogEventStartIndex":{ + "shape":"LogEventIndex", + "documentation":"

The log events that are too new.

" + }, + "tooOldLogEventEndIndex":{ + "shape":"LogEventIndex", + "documentation":"

The log events that are too old.

" + }, + "expiredLogEventEndIndex":{ + "shape":"LogEventIndex", + "documentation":"

The expired log events.

" + } + }, + "documentation":"

Represents the rejected events.

" + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if the specified resource already exists.

", + "documentation":"

The specified resource already exists.

", "exception":true }, "ResourceNotFoundException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if the specified resource does not exist.

", + "documentation":"

The specified resource does not exist.

", "exception":true }, + "ResourcePolicies":{ + "type":"list", + "member":{"shape":"ResourcePolicy"} + }, + "ResourcePolicy":{ + "type":"structure", + "members":{ + "policyName":{ + "shape":"PolicyName", + "documentation":"

The name of the resource policy.

" + }, + "policyDocument":{ + "shape":"PolicyDocument", + "documentation":"

The details of the policy.

" + }, + "lastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

Timestamp showing when this policy was last updated, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + } + }, + "documentation":"

A policy enabling one or more entities to put logs to a log group in this account.

" + }, + "ResultField":{ + "type":"structure", + "members":{ + "field":{ + "shape":"Field", + "documentation":"

The log event field.

" + }, + "value":{ + "shape":"Value", + "documentation":"

The value of this field.

" + } + }, + "documentation":"

Contains one field from one log event returned by a CloudWatch Logs Insights query, along with the value of that field.

For more information about the fields that are generated by CloudWatch logs, see Supported Logs and Discovered Fields.

" + }, + "ResultRows":{ + "type":"list", + "member":{"shape":"ResultField"} + }, "RoleArn":{ "type":"string", "min":1 @@ -1431,30 +2332,91 @@ }, "searchedCompletely":{ "shape":"LogStreamSearchedCompletely", - "documentation":"

Indicates whether all the events in this log stream were searched or more data exists to search by paginating further.

" + "documentation":"

Indicates whether all the events in this log stream were searched.

" } }, - "documentation":"

An object indicating the search status of a log stream in a FilterLogEvents request.

" + "documentation":"

Represents the search status of a log stream.

" }, "SearchedLogStreams":{ "type":"list", - "member":{"shape":"SearchedLogStream"}, - "documentation":"

A list of SearchedLogStream objects indicating the search status for log streams in a FilterLogEvents request.

" + "member":{"shape":"SearchedLogStream"} }, "SequenceToken":{ "type":"string", - "documentation":"

A string token used for making PutLogEvents requests. A sequenceToken can only be used once, and PutLogEvents requests must include the sequenceToken obtained from the response of the previous request.

", "min":1 }, "ServiceUnavailableException":{ "type":"structure", "members":{ }, - "documentation":"

Returned if the service cannot complete the request.

", + "documentation":"

The service cannot complete the request.

", "exception":true, "fault":true }, "StartFromHead":{"type":"boolean"}, + "StartQueryRequest":{ + "type":"structure", + "required":[ + "startTime", + "endTime", + "queryString" + ], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The log group on which to perform the query.

A StartQuery operation must include a logGroupNames or a logGroupName parameter, but not both.

" + }, + "logGroupNames":{ + "shape":"LogGroupNames", + "documentation":"

The list of log groups to be queried. You can include up to 20 log groups.

A StartQuery operation must include a logGroupNames or a logGroupName parameter, but not both.

" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"

The beginning of the time range to query. The range is inclusive, so the specified start time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"

The end of the time range to query. The range is inclusive, so the specified end time is included in the query. Specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

" + }, + "queryString":{ + "shape":"QueryString", + "documentation":"

The query string to use. For more information, see CloudWatch Logs Insights Query Syntax.

" + }, + "limit":{ + "shape":"EventsLimit", + "documentation":"

The maximum number of log events to return in the query. If the query string uses the fields command, only the specified fields and their values are returned. The default is 1000.

" + } + } + }, + "StartQueryResponse":{ + "type":"structure", + "members":{ + "queryId":{ + "shape":"QueryId", + "documentation":"

The unique ID of the query.

" + } + } + }, + "StatsValue":{"type":"double"}, + "StopQueryRequest":{ + "type":"structure", + "required":["queryId"], + "members":{ + "queryId":{ + "shape":"QueryId", + "documentation":"

The ID number of the query to stop. If necessary, you can use DescribeQueries to find this ID number.

" + } + } + }, + "StopQueryResponse":{ + "type":"structure", + "members":{ + "success":{ + "shape":"Success", + "documentation":"

This is true if the query was stopped by the StopQuery operation.

" + } + } + }, "StoredBytes":{ "type":"long", "min":0 @@ -1462,18 +2424,76 @@ "SubscriptionFilter":{ "type":"structure", "members":{ - "filterName":{"shape":"FilterName"}, - "logGroupName":{"shape":"LogGroupName"}, + "filterName":{ + "shape":"FilterName", + "documentation":"

The name of the subscription filter.

" + }, + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, "filterPattern":{"shape":"FilterPattern"}, - "destinationArn":{"shape":"DestinationArn"}, - "roleArn":{"shape":"RoleArn"}, - "creationTime":{"shape":"Timestamp"} - } + "destinationArn":{ + "shape":"DestinationArn", + "documentation":"

The Amazon Resource Name (ARN) of the destination.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

" + }, + "distribution":{"shape":"Distribution"}, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

The creation time of the subscription filter, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.

" + } + }, + "documentation":"

Represents a subscription filter.

" }, "SubscriptionFilters":{ "type":"list", "member":{"shape":"SubscriptionFilter"} }, + "Success":{"type":"boolean"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)$" + }, + "TagList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "min":1 + }, + "TagLogGroupRequest":{ + "type":"structure", + "required":[ + "logGroupName", + "tags" + ], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "tags":{ + "shape":"Tags", + "documentation":"

The key-value pairs to use for the tags.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, "TargetArn":{ "type":"string", "min":1 @@ -1494,23 +2514,49 @@ "filterPattern":{"shape":"FilterPattern"}, "logEventMessages":{ "shape":"TestEventMessages", - "documentation":"

A list of log event messages to test.

" + "documentation":"

The log event messages to test.

" } } }, "TestMetricFilterResponse":{ "type":"structure", "members":{ - "matches":{"shape":"MetricFilterMatches"} + "matches":{ + "shape":"MetricFilterMatches", + "documentation":"

The matched events.

" + } } }, "Timestamp":{ "type":"long", - "documentation":"

A point in time expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC.

", "min":0 }, "Token":{"type":"string"}, + "UnrecognizedClientException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The most likely cause is an invalid AWS access key ID or secret key.

", + "exception":true + }, + "UntagLogGroupRequest":{ + "type":"structure", + "required":[ + "logGroupName", + "tags" + ], + "members":{ + "logGroupName":{ + "shape":"LogGroupName", + "documentation":"

The name of the log group.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

The tag keys. The corresponding tags are removed from the log group.

" + } + } + }, "Value":{"type":"string"} }, - "documentation":"

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon Elastic Compute Cloud (Amazon EC2) instances, Amazon CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the Amazon CloudWatch console, the CloudWatch Logs commands in the AWS CLI, the CloudWatch Logs API, or the CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor Logs from Amazon EC2 Instances in Real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as \"NullReferenceException\") or count the number of occurrences of a literal term at a particular position in log data (such as \"404\" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a Amazon CloudWatch metric that you specify.

  • Monitor Amazon CloudTrail Logged Events: You can create alarms in Amazon CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive Log Data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

" + "documentation":"

You can use Amazon CloudWatch Logs to monitor, store, and access your log files from Amazon EC2 instances, AWS CloudTrail, or other sources. You can then retrieve the associated log data from CloudWatch Logs using the CloudWatch console, CloudWatch Logs commands in the AWS CLI, CloudWatch Logs API, or CloudWatch Logs SDK.

You can use CloudWatch Logs to:

  • Monitor logs from EC2 instances in real-time: You can use CloudWatch Logs to monitor applications and systems using log data. For example, CloudWatch Logs can track the number of errors that occur in your application logs and send you a notification whenever the rate of errors exceeds a threshold that you specify. CloudWatch Logs uses your log data for monitoring; so, no code changes are required. For example, you can monitor application logs for specific literal terms (such as \"NullReferenceException\") or count the number of occurrences of a literal term at a particular position in log data (such as \"404\" status codes in an Apache access log). When the term you are searching for is found, CloudWatch Logs reports the data to a CloudWatch metric that you specify.

  • Monitor AWS CloudTrail logged events: You can create alarms in CloudWatch and receive notifications of particular API activity as captured by CloudTrail and use the notification to perform troubleshooting.

  • Archive log data: You can use CloudWatch Logs to store your log data in highly durable storage. You can change the log retention setting so that any log events older than this setting are automatically deleted. The CloudWatch Logs agent makes it easy to quickly send both rotated and non-rotated log data off of a host and into the log service. You can then access the raw log data when you need it.

" } diff -Nru python-botocore-1.4.70/botocore/data/machinelearning/2014-12-12/examples-1.json python-botocore-1.16.19+repack/botocore/data/machinelearning/2014-12-12/examples-1.json --- python-botocore-1.4.70/botocore/data/machinelearning/2014-12-12/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/machinelearning/2014-12-12/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff -Nru python-botocore-1.4.70/botocore/data/machinelearning/2014-12-12/service-2.json python-botocore-1.16.19+repack/botocore/data/machinelearning/2014-12-12/service-2.json --- python-botocore-1.4.70/botocore/data/machinelearning/2014-12-12/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/machinelearning/2014-12-12/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,10 +1,12 @@ { "version":"2.0", "metadata":{ + "uid":"machinelearning-2014-12-12", "apiVersion":"2014-12-12", "endpointPrefix":"machinelearning", "jsonVersion":"1.1", "serviceFullName":"Amazon Machine Learning", + "serviceId":"Machine Learning", "signatureVersion":"v4", "targetPrefix":"AmazonML_20141212", "protocol":"json" diff -Nru python-botocore-1.4.70/botocore/data/macie/2017-12-19/examples-1.json python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/examples-1.json --- python-botocore-1.4.70/botocore/data/macie/2017-12-19/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff -Nru python-botocore-1.4.70/botocore/data/macie/2017-12-19/paginators-1.json python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/paginators-1.json --- python-botocore-1.4.70/botocore/data/macie/2017-12-19/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListMemberAccounts": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "memberAccounts" + }, + "ListS3Resources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "s3Resources" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/macie/2017-12-19/service-2.json python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/service-2.json --- python-botocore-1.4.70/botocore/data/macie/2017-12-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/macie/2017-12-19/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,495 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-12-19", + "endpointPrefix":"macie", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Macie", + "serviceId":"Macie", + "signatureVersion":"v4", + "targetPrefix":"MacieService", + "uid":"macie-2017-12-19" + }, + "operations":{ + "AssociateMemberAccount":{ + "name":"AssociateMemberAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateMemberAccountRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalException"} + ], + "documentation":"

Associates a specified AWS account with Amazon Macie Classic as a member account.

" + }, + "AssociateS3Resources":{ + "name":"AssociateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateS3ResourcesRequest"}, + "output":{"shape":"AssociateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalException"} + ], + "documentation":"

Associates specified S3 resources with Amazon Macie Classic for monitoring and data classification. If memberAccountId isn't specified, the action associates specified S3 resources with Macie Classic for the current master account. If memberAccountId is specified, the action associates specified S3 resources with Macie Classic for the specified member account.

" + }, + "DisassociateMemberAccount":{ + "name":"DisassociateMemberAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateMemberAccountRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalException"} + ], + "documentation":"

Removes the specified member account from Amazon Macie Classic.

" + }, + "DisassociateS3Resources":{ + "name":"DisassociateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateS3ResourcesRequest"}, + "output":{"shape":"DisassociateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ], + "documentation":"

Removes specified S3 resources from being monitored by Amazon Macie Classic. If memberAccountId isn't specified, the action removes specified S3 resources from Macie Classic for the current master account. If memberAccountId is specified, the action removes specified S3 resources from Macie Classic for the specified member account.

" + }, + "ListMemberAccounts":{ + "name":"ListMemberAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMemberAccountsRequest"}, + "output":{"shape":"ListMemberAccountsResult"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Lists all Amazon Macie Classic member accounts for the current Amazon Macie Classic master account.

" + }, + "ListS3Resources":{ + "name":"ListS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListS3ResourcesRequest"}, + "output":{"shape":"ListS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ], + "documentation":"

Lists all the S3 resources associated with Amazon Macie Classic. If memberAccountId isn't specified, the action lists the S3 resources associated with Amazon Macie Classic for the current master account. If memberAccountId is specified, the action lists the S3 resources associated with Amazon Macie Classic for the specified member account.

" + }, + "UpdateS3Resources":{ + "name":"UpdateS3Resources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateS3ResourcesRequest"}, + "output":{"shape":"UpdateS3ResourcesResult"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalException"} + ], + "documentation":"

Updates the classification types for the specified S3 resources. If memberAccountId isn't specified, the action updates the classification types of the S3 resources associated with Amazon Macie Classic for the current master account. If memberAccountId is specified, the action updates the classification types of the S3 resources associated with Amazon Macie Classic for the specified member account.

" + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "pattern":"[0-9]{12}" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceType":{"shape":"ResourceType"} + }, + "documentation":"

You do not have required permissions to access the requested resource.

", + "exception":true + }, + "AssociateMemberAccountRequest":{ + "type":"structure", + "required":["memberAccountId"], + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the AWS account that you want to associate with Amazon Macie Classic as a member account.

" + } + } + }, + "AssociateS3ResourcesRequest":{ + "type":"structure", + "required":["s3Resources"], + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the Amazon Macie Classic member account whose resources you want to associate with Macie Classic.

" + }, + "s3Resources":{ + "shape":"S3ResourcesClassification", + "documentation":"

The S3 resources that you want to associate with Amazon Macie Classic for monitoring and data classification.

" + } + } + }, + "AssociateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{ + "shape":"FailedS3Resources", + "documentation":"

S3 resources that couldn't be associated with Amazon Macie Classic. An error code and an error message are provided for each failed item.

" + } + } + }, + "BucketName":{ + "type":"string", + "max":500 + }, + "ClassificationType":{ + "type":"structure", + "required":[ + "oneTime", + "continuous" + ], + "members":{ + "oneTime":{ + "shape":"S3OneTimeClassificationType", + "documentation":"

A one-time classification of all of the existing objects in a specified S3 bucket.

" + }, + "continuous":{ + "shape":"S3ContinuousClassificationType", + "documentation":"

A continuous classification of the objects that are added to a specified S3 bucket. Amazon Macie Classic begins performing continuous classification after a bucket is successfully associated with Amazon Macie Classic.

" + } + }, + "documentation":"

The classification type that Amazon Macie Classic applies to the associated S3 resources.

" + }, + "ClassificationTypeUpdate":{ + "type":"structure", + "members":{ + "oneTime":{ + "shape":"S3OneTimeClassificationType", + "documentation":"

A one-time classification of all of the existing objects in a specified S3 bucket.

" + }, + "continuous":{ + "shape":"S3ContinuousClassificationType", + "documentation":"

A continuous classification of the objects that are added to a specified S3 bucket. Amazon Macie Classic begins performing continuous classification after a bucket is successfully associated with Amazon Macie Classic.

" + } + }, + "documentation":"

The classification type that Amazon Macie Classic applies to the associated S3 resources. At least one of the classification types (oneTime or continuous) must be specified.

" + }, + "DisassociateMemberAccountRequest":{ + "type":"structure", + "required":["memberAccountId"], + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the member account that you want to remove from Amazon Macie Classic.

" + } + } + }, + "DisassociateS3ResourcesRequest":{ + "type":"structure", + "required":["associatedS3Resources"], + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The ID of the Amazon Macie Classic member account whose resources you want to remove from being monitored by Amazon Macie Classic.

" + }, + "associatedS3Resources":{ + "shape":"S3Resources", + "documentation":"

The S3 resources (buckets or prefixes) that you want to remove from being monitored and classified by Amazon Macie Classic.

" + } + } + }, + "DisassociateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{ + "shape":"FailedS3Resources", + "documentation":"

S3 resources that couldn't be removed from being monitored and classified by Amazon Macie Classic. An error code and an error message are provided for each failed item.

" + } + } + }, + "ErrorCode":{ + "type":"string", + "documentation":"Error code for the exception", + "max":10 + }, + "ExceptionMessage":{ + "type":"string", + "max":10000 + }, + "FailedS3Resource":{ + "type":"structure", + "members":{ + "failedItem":{ + "shape":"S3Resource", + "documentation":"

The failed S3 resources.

" + }, + "errorCode":{ + "shape":"ErrorCode", + "documentation":"

The status code of a failed item.

" + }, + "errorMessage":{ + "shape":"ExceptionMessage", + "documentation":"

The error message of a failed item.

" + } + }, + "documentation":"

Includes details about the failed S3 resources.

" + }, + "FailedS3Resources":{ + "type":"list", + "member":{"shape":"FailedS3Resource"} + }, + "FieldName":{ + "type":"string", + "documentation":"Field that has invalid input", + "max":1000 + }, + "InternalException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Internal server error.

", + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"}, + "fieldName":{"shape":"FieldName"} + }, + "documentation":"

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

", + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "errorCode":{"shape":"ErrorCode"}, + "message":{"shape":"ExceptionMessage"}, + "resourceType":{"shape":"ResourceType"} + }, + "documentation":"

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

", + "exception":true + }, + "ListMemberAccountsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter when paginating results. Set the value of this parameter to null on your first call to the ListMemberAccounts action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

" + } + } + }, + "ListMemberAccountsResult":{ + "type":"structure", + "members":{ + "memberAccounts":{ + "shape":"MemberAccounts", + "documentation":"

A list of the Amazon Macie Classic member accounts returned by the action. The current master account is also included in this list.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" + } + } + }, + "ListS3ResourcesRequest":{ + "type":"structure", + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The Amazon Macie Classic member account ID whose associated S3 resources you want to list.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Use this parameter when paginating results. Set its value to null on your first call to the ListS3Resources action. Subsequent calls to the action fill nextToken in the request with the value of nextToken from the previous response to continue listing data.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Use this parameter to indicate the maximum number of items that you want in the response. The default value is 250.

" + } + } + }, + "ListS3ResourcesResult":{ + "type":"structure", + "members":{ + "s3Resources":{ + "shape":"S3ResourcesClassification", + "documentation":"

A list of the associated S3 resources returned by the action.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the nextToken parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to null.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":250 + }, + "MemberAccount":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AWSAccountId", + "documentation":"

The AWS account ID of the Amazon Macie Classic member account.

" + } + }, + "documentation":"

Contains information about the Amazon Macie Classic member account.

" + }, + "MemberAccounts":{ + "type":"list", + "member":{"shape":"MemberAccount"} + }, + "NextToken":{ + "type":"string", + "max":500 + }, + "Prefix":{ + "type":"string", + "max":10000 + }, + "ResourceType":{ + "type":"string", + "documentation":"Resource type that caused the exception", + "max":1000 + }, + "S3ContinuousClassificationType":{ + "type":"string", + "enum":["FULL"] + }, + "S3OneTimeClassificationType":{ + "type":"string", + "enum":[ + "FULL", + "NONE" + ] + }, + "S3Resource":{ + "type":"structure", + "required":["bucketName"], + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

The name of the S3 bucket.

" + }, + "prefix":{ + "shape":"Prefix", + "documentation":"

The prefix of the S3 bucket.

" + } + }, + "documentation":"

Contains information about the S3 resource. This data type is used as a request parameter in the DisassociateS3Resources action and can be used as a response parameter in the AssociateS3Resources and UpdateS3Resources actions.

" + }, + "S3ResourceClassification":{ + "type":"structure", + "required":[ + "bucketName", + "classificationType" + ], + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

The name of the S3 bucket that you want to associate with Amazon Macie Classic.

" + }, + "prefix":{ + "shape":"Prefix", + "documentation":"

The prefix of the S3 bucket that you want to associate with Amazon Macie Classic.

" + }, + "classificationType":{ + "shape":"ClassificationType", + "documentation":"

The classification type that you want to specify for the resource associated with Amazon Macie Classic.

" + } + }, + "documentation":"

The S3 resources that you want to associate with Amazon Macie Classic for monitoring and data classification. This data type is used as a request parameter in the AssociateS3Resources action and a response parameter in the ListS3Resources action.

" + }, + "S3ResourceClassificationUpdate":{ + "type":"structure", + "required":[ + "bucketName", + "classificationTypeUpdate" + ], + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

The name of the S3 bucket whose classification types you want to update.

" + }, + "prefix":{ + "shape":"Prefix", + "documentation":"

The prefix of the S3 bucket whose classification types you want to update.

" + }, + "classificationTypeUpdate":{ + "shape":"ClassificationTypeUpdate", + "documentation":"

The classification type that you want to update for the resource associated with Amazon Macie Classic.

" + } + }, + "documentation":"

The S3 resources whose classification types you want to update. This data type is used as a request parameter in the UpdateS3Resources action.

" + }, + "S3Resources":{ + "type":"list", + "member":{"shape":"S3Resource"} + }, + "S3ResourcesClassification":{ + "type":"list", + "member":{"shape":"S3ResourceClassification"} + }, + "S3ResourcesClassificationUpdate":{ + "type":"list", + "member":{"shape":"S3ResourceClassificationUpdate"} + }, + "UpdateS3ResourcesRequest":{ + "type":"structure", + "required":["s3ResourcesUpdate"], + "members":{ + "memberAccountId":{ + "shape":"AWSAccountId", + "documentation":"

The AWS ID of the Amazon Macie Classic member account whose S3 resources' classification types you want to update.

" + }, + "s3ResourcesUpdate":{ + "shape":"S3ResourcesClassificationUpdate", + "documentation":"

The S3 resources whose classification types you want to update.

" + } + } + }, + "UpdateS3ResourcesResult":{ + "type":"structure", + "members":{ + "failedS3Resources":{ + "shape":"FailedS3Resources", + "documentation":"

The S3 resources whose classification types can't be updated. An error code and an error message are provided for each failed item.

" + } + } + } + }, + "documentation":"Amazon Macie Classic

Amazon Macie Classic is a security service that uses machine learning to automatically discover, classify, and protect sensitive data in AWS. Macie Classic recognizes sensitive data such as personally identifiable information (PII) or intellectual property, and provides you with dashboards and alerts that give visibility into how this data is being accessed or moved. For more information, see the Amazon Macie Classic User Guide.

A new Amazon Macie is now available with significant design improvements and additional features, at a lower price and in most AWS Regions. We encourage you to explore and use the new and improved features, and benefit from the reduced cost. To learn about features and pricing for the new Amazon Macie, see Amazon Macie.

" +} diff -Nru python-botocore-1.4.70/botocore/data/macie2/2020-01-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/macie2/2020-01-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/macie2/2020-01-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/macie2/2020-01-01/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/macie2/2020-01-01/service-2.json python-botocore-1.16.19+repack/botocore/data/macie2/2020-01-01/service-2.json --- python-botocore-1.4.70/botocore/data/macie2/2020-01-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/macie2/2020-01-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,6663 @@ +{ + "metadata": { + "apiVersion": "2020-01-01", + "endpointPrefix": "macie2", + "signingName": "macie2", + "serviceFullName": "Amazon Macie 2", + "serviceId": "Macie2", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "macie2-2020-01-01", + "signatureVersion": "v4" + }, + "operations": { + "AcceptInvitation": { + "name": "AcceptInvitation", + "http": { + "method": "POST", + "requestUri": "/invitations/accept", + "responseCode": 200 + }, + "input": { + "shape": "AcceptInvitationRequest" + }, + "output": { + "shape": "AcceptInvitationResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Accepts an Amazon Macie membership invitation that was received from a specific account.

" + }, + "ArchiveFindings": { + "name": "ArchiveFindings", + "http": { + "method": "POST", + "requestUri": "/findings/archive", + "responseCode": 200 + }, + "input": { + "shape": "ArchiveFindingsRequest" + }, + "output": { + "shape": "ArchiveFindingsResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Archives one or more findings.

" + }, + "BatchGetCustomDataIdentifiers": { + "name": "BatchGetCustomDataIdentifiers", + "http": { + "method": "POST", + "requestUri": "/custom-data-identifiers/get", + "responseCode": 200 + }, + "input": { + "shape": "BatchGetCustomDataIdentifiersRequest" + }, + "output": { + "shape": "BatchGetCustomDataIdentifiersResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about one or more custom data identifiers.

" + }, + "CreateClassificationJob": { + "name": "CreateClassificationJob", + "http": { + "method": "POST", + "requestUri": "/jobs", + "responseCode": 200 + }, + "input": { + "shape": "CreateClassificationJobRequest" + }, + "output": { + "shape": "CreateClassificationJobResponse", + "documentation": "

The request succeeded. The specified job was created.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Creates and defines the settings for a classification job.

" + }, + "CreateCustomDataIdentifier": { + "name": "CreateCustomDataIdentifier", + "http": { + "method": "POST", + "requestUri": "/custom-data-identifiers", + "responseCode": 200 + }, + "input": { + "shape": "CreateCustomDataIdentifierRequest" + }, + "output": { + "shape": "CreateCustomDataIdentifierResponse", + "documentation": "

The request succeeded. The specified custom data identifier was created.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Creates and defines the criteria and other settings for a custom data identifier.

" + }, + "CreateFindingsFilter": { + "name": "CreateFindingsFilter", + "http": { + "method": "POST", + "requestUri": "/findingsfilters", + "responseCode": 200 + }, + "input": { + "shape": "CreateFindingsFilterRequest" + }, + "output": { + "shape": "CreateFindingsFilterResponse" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Creates and defines the criteria and other settings for a findings filter.

" + }, + "CreateInvitations": { + "name": "CreateInvitations", + "http": { + "method": "POST", + "requestUri": "/invitations", + "responseCode": 200 + }, + "input": { + "shape": "CreateInvitationsRequest" + }, + "output": { + "shape": "CreateInvitationsResponse", + "documentation": "

The request succeeded. Processing might not be complete.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Sends an Amazon Macie membership invitation to one or more accounts.

" + }, + "CreateMember": { + "name": "CreateMember", + "http": { + "method": "POST", + "requestUri": "/members", + "responseCode": 200 + }, + "input": { + "shape": "CreateMemberRequest" + }, + "output": { + "shape": "CreateMemberResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Associates an account with an Amazon Macie master account.

" + }, + "CreateSampleFindings": { + "name": "CreateSampleFindings", + "http": { + "method": "POST", + "requestUri": "/findings/sample", + "responseCode": 200 + }, + "input": { + "shape": "CreateSampleFindingsRequest" + }, + "output": { + "shape": "CreateSampleFindingsResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Creates sample findings.

" + }, + "DeclineInvitations": { + "name": "DeclineInvitations", + "http": { + "method": "POST", + "requestUri": "/invitations/decline", + "responseCode": 200 + }, + "input": { + "shape": "DeclineInvitationsRequest" + }, + "output": { + "shape": "DeclineInvitationsResponse", + "documentation": "

The request succeeded. Processing might not be complete.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Declines Amazon Macie membership invitations that were received from specific accounts.

" + }, + "DeleteCustomDataIdentifier": { + "name": "DeleteCustomDataIdentifier", + "http": { + "method": "DELETE", + "requestUri": "/custom-data-identifiers/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteCustomDataIdentifierRequest" + }, + "output": { + "shape": "DeleteCustomDataIdentifierResponse", + "documentation": "

The request succeeded. The specified custom data identifier was deleted and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Deletes a custom data identifier.

" + }, + "DeleteFindingsFilter": { + "name": "DeleteFindingsFilter", + "http": { + "method": "DELETE", + "requestUri": "/findingsfilters/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteFindingsFilterRequest" + }, + "output": { + "shape": "DeleteFindingsFilterResponse", + "documentation": "

The request succeeded. The specified findings filter was deleted and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Deletes a findings filter.

" + }, + "DeleteInvitations": { + "name": "DeleteInvitations", + "http": { + "method": "POST", + "requestUri": "/invitations/delete", + "responseCode": 200 + }, + "input": { + "shape": "DeleteInvitationsRequest" + }, + "output": { + "shape": "DeleteInvitationsResponse", + "documentation": "

The request succeeded. Processing might not be complete.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Deletes Amazon Macie membership invitations that were received from specific accounts.

" + }, + "DeleteMember": { + "name": "DeleteMember", + "http": { + "method": "DELETE", + "requestUri": "/members/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMemberRequest" + }, + "output": { + "shape": "DeleteMemberResponse", + "documentation": "

The request succeeded. The association was deleted and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Deletes the association between an Amazon Macie master account and an account.

" + }, + "DescribeBuckets": { + "name": "DescribeBuckets", + "http": { + "method": "POST", + "requestUri": "/datasources/s3", + "responseCode": 200 + }, + "input": { + "shape": "DescribeBucketsRequest" + }, + "output": { + "shape": "DescribeBucketsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves (queries) statistical data and other information about one or more S3 buckets that Amazon Macie monitors and analyzes.

" + }, + "DescribeClassificationJob": { + "name": "DescribeClassificationJob", + "http": { + "method": "GET", + "requestUri": "/jobs/{jobId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeClassificationJobRequest" + }, + "output": { + "shape": "DescribeClassificationJobResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the status and settings for a classification job.

" + }, + "DescribeOrganizationConfiguration": { + "name": "DescribeOrganizationConfiguration", + "http": { + "method": "GET", + "requestUri": "/admin/configuration", + "responseCode": 200 + }, + "input": { + "shape": "DescribeOrganizationConfigurationRequest" + }, + "output": { + "shape": "DescribeOrganizationConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the Amazon Macie configuration settings for an AWS organization.

" + }, + "DisableMacie": { + "name": "DisableMacie", + "http": { + "method": "DELETE", + "requestUri": "/macie", + "responseCode": 200 + }, + "input": { + "shape": "DisableMacieRequest" + }, + "output": { + "shape": "DisableMacieResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Disables an Amazon Macie account and deletes Macie resources for the account.

" + }, + "DisableOrganizationAdminAccount": { + "name": "DisableOrganizationAdminAccount", + "http": { + "method": "DELETE", + "requestUri": "/admin", + "responseCode": 200 + }, + "input": { + "shape": "DisableOrganizationAdminAccountRequest" + }, + "output": { + "shape": "DisableOrganizationAdminAccountResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Disables an account as a delegated administrator of Amazon Macie for an AWS organization.

" + }, + "DisassociateFromMasterAccount": { + "name": "DisassociateFromMasterAccount", + "http": { + "method": "POST", + "requestUri": "/master/disassociate", + "responseCode": 200 + }, + "input": { + "shape": "DisassociateFromMasterAccountRequest" + }, + "output": { + "shape": "DisassociateFromMasterAccountResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Disassociates a member account from its Amazon Macie master account.

" + }, + "DisassociateMember": { + "name": "DisassociateMember", + "http": { + "method": "POST", + "requestUri": "/members/disassociate/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DisassociateMemberRequest" + }, + "output": { + "shape": "DisassociateMemberResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Disassociates an Amazon Macie master account from a member account.

" + }, + "EnableMacie": { + "name": "EnableMacie", + "http": { + "method": "POST", + "requestUri": "/macie", + "responseCode": 200 + }, + "input": { + "shape": "EnableMacieRequest" + }, + "output": { + "shape": "EnableMacieResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Enables Amazon Macie and specifies the configuration settings for a Macie account.

" + }, + "EnableOrganizationAdminAccount": { + "name": "EnableOrganizationAdminAccount", + "http": { + "method": "POST", + "requestUri": "/admin", + "responseCode": 200 + }, + "input": { + "shape": "EnableOrganizationAdminAccountRequest" + }, + "output": { + "shape": "EnableOrganizationAdminAccountResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Enables an account as a delegated administrator of Amazon Macie for an AWS organization.

" + }, + "GetBucketStatistics": { + "name": "GetBucketStatistics", + "http": { + "method": "POST", + "requestUri": "/datasources/s3/statistics", + "responseCode": 200 + }, + "input": { + "shape": "GetBucketStatisticsRequest" + }, + "output": { + "shape": "GetBucketStatisticsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves (queries) aggregated statistical data for all the S3 buckets that Amazon Macie monitors and analyzes.

" + }, + "GetClassificationExportConfiguration": { + "name": "GetClassificationExportConfiguration", + "http": { + "method": "GET", + "requestUri": "/classification-export-configuration", + "responseCode": 200 + }, + "input": { + "shape": "GetClassificationExportConfigurationRequest" + }, + "output": { + "shape": "GetClassificationExportConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves the configuration settings for exporting data classification results.

" + }, + "GetCustomDataIdentifier": { + "name": "GetCustomDataIdentifier", + "http": { + "method": "GET", + "requestUri": "/custom-data-identifiers/{id}", + "responseCode": 200 + }, + "input": { + "shape": "GetCustomDataIdentifierRequest" + }, + "output": { + "shape": "GetCustomDataIdentifierResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the criteria and other settings for a custom data identifier.

" + }, + "GetFindingStatistics": { + "name": "GetFindingStatistics", + "http": { + "method": "POST", + "requestUri": "/findings/statistics", + "responseCode": 200 + }, + "input": { + "shape": "GetFindingStatisticsRequest" + }, + "output": { + "shape": "GetFindingStatisticsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves (queries) aggregated statistical data about findings.

" + }, + "GetFindings": { + "name": "GetFindings", + "http": { + "method": "POST", + "requestUri": "/findings/describe", + "responseCode": 200 + }, + "input": { + "shape": "GetFindingsRequest" + }, + "output": { + "shape": "GetFindingsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about one or more findings.

" + }, + "GetFindingsFilter": { + "name": "GetFindingsFilter", + "http": { + "method": "GET", + "requestUri": "/findingsfilters/{id}", + "responseCode": 200 + }, + "input": { + "shape": "GetFindingsFilterRequest" + }, + "output": { + "shape": "GetFindingsFilterResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the criteria and other settings for a findings filter.

" + }, + "GetInvitationsCount": { + "name": "GetInvitationsCount", + "http": { + "method": "GET", + "requestUri": "/invitations/count", + "responseCode": 200 + }, + "input": { + "shape": "GetInvitationsCountRequest" + }, + "output": { + "shape": "GetInvitationsCountResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves the count of Amazon Macie membership invitations that were received by an account.

" + }, + "GetMacieSession": { + "name": "GetMacieSession", + "http": { + "method": "GET", + "requestUri": "/macie", + "responseCode": 200 + }, + "input": { + "shape": "GetMacieSessionRequest" + }, + "output": { + "shape": "GetMacieSessionResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the current status and configuration settings for an Amazon Macie account.

" + }, + "GetMasterAccount": { + "name": "GetMasterAccount", + "http": { + "method": "GET", + "requestUri": "/master", + "responseCode": 200 + }, + "input": { + "shape": "GetMasterAccountRequest" + }, + "output": { + "shape": "GetMasterAccountResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the Amazon Macie master account for an account.

" + }, + "GetMember": { + "name": "GetMember", + "http": { + "method": "GET", + "requestUri": "/members/{id}", + "responseCode": 200 + }, + "input": { + "shape": "GetMemberRequest" + }, + "output": { + "shape": "GetMemberResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about a member account that's associated with an Amazon Macie master account.

" + }, + "GetUsageStatistics": { + "name": "GetUsageStatistics", + "http": { + "method": "POST", + "requestUri": "/usage/statistics", + "responseCode": 200 + }, + "input": { + "shape": "GetUsageStatisticsRequest" + }, + "output": { + "shape": "GetUsageStatisticsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves (queries) quotas and aggregated usage data for one or more accounts.

" + }, + "GetUsageTotals": { + "name": "GetUsageTotals", + "http": { + "method": "GET", + "requestUri": "/usage", + "responseCode": 200 + }, + "input": { + "shape": "GetUsageTotalsRequest" + }, + "output": { + "shape": "GetUsageTotalsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves (queries) aggregated usage data for an account.

" + }, + "ListClassificationJobs": { + "name": "ListClassificationJobs", + "http": { + "method": "POST", + "requestUri": "/jobs/list", + "responseCode": 200 + }, + "input": { + "shape": "ListClassificationJobsRequest" + }, + "output": { + "shape": "ListClassificationJobsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the status and settings for one or more classification jobs.

" + }, + "ListCustomDataIdentifiers": { + "name": "ListCustomDataIdentifiers", + "http": { + "method": "POST", + "requestUri": "/custom-data-identifiers/list", + "responseCode": 200 + }, + "input": { + "shape": "ListCustomDataIdentifiersRequest" + }, + "output": { + "shape": "ListCustomDataIdentifiersResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves a subset of information about all the custom data identifiers for an account.

" + }, + "ListFindings": { + "name": "ListFindings", + "http": { + "method": "POST", + "requestUri": "/findings", + "responseCode": 200 + }, + "input": { + "shape": "ListFindingsRequest" + }, + "output": { + "shape": "ListFindingsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves a subset of information about one or more findings.

" + }, + "ListFindingsFilters": { + "name": "ListFindingsFilters", + "http": { + "method": "GET", + "requestUri": "/findingsfilters", + "responseCode": 200 + }, + "input": { + "shape": "ListFindingsFiltersRequest" + }, + "output": { + "shape": "ListFindingsFiltersResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves a subset of information about all the findings filters for an account.

" + }, + "ListInvitations": { + "name": "ListInvitations", + "http": { + "method": "GET", + "requestUri": "/invitations", + "responseCode": 200 + }, + "input": { + "shape": "ListInvitationsRequest" + }, + "output": { + "shape": "ListInvitationsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about all the Amazon Macie membership invitations that were received by an account.

" + }, + "ListMembers": { + "name": "ListMembers", + "http": { + "method": "GET", + "requestUri": "/members", + "responseCode": 200 + }, + "input": { + "shape": "ListMembersRequest" + }, + "output": { + "shape": "ListMembersResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the accounts that are associated with an Amazon Macie master account.

" + }, + "ListOrganizationAdminAccounts": { + "name": "ListOrganizationAdminAccounts", + "http": { + "method": "GET", + "requestUri": "/admin", + "responseCode": 200 + }, + "input": { + "shape": "ListOrganizationAdminAccountsRequest" + }, + "output": { + "shape": "ListOrganizationAdminAccountsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Retrieves information about the account that's designated as the delegated administrator of Amazon Macie for an AWS organization.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [], + "documentation": "

Retrieves the tags (keys and values) that are associated with a classification job, custom data identifier, findings filter, or member account.

" + }, + "PutClassificationExportConfiguration": { + "name": "PutClassificationExportConfiguration", + "http": { + "method": "PUT", + "requestUri": "/classification-export-configuration", + "responseCode": 200 + }, + "input": { + "shape": "PutClassificationExportConfigurationRequest" + }, + "output": { + "shape": "PutClassificationExportConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Creates or updates the configuration settings for exporting data classification results.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "output": { + "shape": "TagResourceResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [], + "documentation": "

Adds or updates one or more tags (keys and values) that are associated with a classification job, custom data identifier, findings filter, or member account.

" + }, + "TestCustomDataIdentifier": { + "name": "TestCustomDataIdentifier", + "http": { + "method": "POST", + "requestUri": "/custom-data-identifiers/test", + "responseCode": 200 + }, + "input": { + "shape": "TestCustomDataIdentifierRequest" + }, + "output": { + "shape": "TestCustomDataIdentifierResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Tests a custom data identifier.

" + }, + "UnarchiveFindings": { + "name": "UnarchiveFindings", + "http": { + "method": "POST", + "requestUri": "/findings/unarchive", + "responseCode": 200 + }, + "input": { + "shape": "UnarchiveFindingsRequest" + }, + "output": { + "shape": "UnarchiveFindingsResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Reactivates (unarchives) one or more findings.

" + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "output": { + "shape": "UntagResourceResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [], + "documentation": "

Removes one or more tags (keys and values) from a classification job, custom data identifier, findings filter, or member account.

" + }, + "UpdateClassificationJob": { + "name": "UpdateClassificationJob", + "http": { + "method": "PATCH", + "requestUri": "/jobs/{jobId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateClassificationJobRequest" + }, + "output": { + "shape": "UpdateClassificationJobResponse", + "documentation": "

The request succeeded. The job's status was changed and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Cancels a classification job.

" + }, + "UpdateFindingsFilter": { + "name": "UpdateFindingsFilter", + "http": { + "method": "PATCH", + "requestUri": "/findingsfilters/{id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateFindingsFilterRequest" + }, + "output": { + "shape": "UpdateFindingsFilterResponse", + "documentation": "

The request succeeded. The specified findings filter was updated.

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Updates the criteria and other settings for a findings filter.

" + }, + "UpdateMacieSession": { + "name": "UpdateMacieSession", + "http": { + "method": "PATCH", + "requestUri": "/macie", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMacieSessionRequest" + }, + "output": { + "shape": "UpdateMacieSessionResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Suspends or re-enables an Amazon Macie account, or updates the configuration settings for a Macie account.

" + }, + "UpdateMemberSession": { + "name": "UpdateMemberSession", + "http": { + "method": "PATCH", + "requestUri": "/macie/members/{id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMemberSessionRequest" + }, + "output": { + "shape": "UpdateMemberSessionResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Enables an Amazon Macie master account to suspend or re-enable a member account.

" + }, + "UpdateOrganizationConfiguration": { + "name": "UpdateOrganizationConfiguration", + "http": { + "method": "PATCH", + "requestUri": "/admin/configuration", + "responseCode": 200 + }, + "input": { + "shape": "UpdateOrganizationConfigurationRequest" + }, + "output": { + "shape": "UpdateOrganizationConfigurationResponse", + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "errors": [ + { + "shape": "ValidationException", + "documentation": "

The request failed because it contains a syntax error.

" + }, + { + "shape": "InternalServerException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure.

" + }, + { + "shape": "ServiceQuotaExceededException", + "documentation": "

The request failed because fulfilling the request would exceed one or more service quotas for your account.

" + }, + { + "shape": "AccessDeniedException", + "documentation": "

The request was denied because you don't have sufficient access to the specified resource.

" + }, + { + "shape": "ResourceNotFoundException", + "documentation": "

The request failed because the specified resource wasn't found.

" + }, + { + "shape": "ThrottlingException", + "documentation": "

The request failed because you sent too many requests during a certain amount of time.

" + }, + { + "shape": "ConflictException", + "documentation": "

The request failed because it conflicts with the current state of the specified resource.

" + } + ], + "documentation": "

Updates Amazon Macie configuration settings for an AWS organization.

" + } + }, + "shapes": { + "AcceptInvitationRequest": { + "type": "structure", + "members": { + "invitationId": { + "shape": "__string", + "locationName": "invitationId", + "documentation": "

The unique identifier for the invitation to accept.

" + }, + "masterAccount": { + "shape": "__string", + "locationName": "masterAccount", + "documentation": "

The AWS account ID for the account that sent the invitation.

" + } + }, + "required": [ + "masterAccount", + "invitationId" + ] + }, + "AcceptInvitationResponse": { + "type": "structure", + "members": {} + }, + "AccessControlList": { + "type": "structure", + "members": { + "allowsPublicReadAccess": { + "shape": "__boolean", + "locationName": "allowsPublicReadAccess", + "documentation": "

Specifies whether the ACL grants the general public with read access permissions for the bucket.

" + }, + "allowsPublicWriteAccess": { + "shape": "__boolean", + "locationName": "allowsPublicWriteAccess", + "documentation": "

Specifies whether the ACL grants the general public with write access permissions for the bucket.

" + } + }, + "documentation": "

Provides information about the permissions settings of the bucket-level access control list (ACL) for an S3 bucket.

" + }, + "AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred due to insufficient access to a specified resource.

", + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "AccountDetail": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account.

" + }, + "email": { + "shape": "__string", + "locationName": "email", + "documentation": "

The email address for the account.

" + } + }, + "documentation": "

Specifies details for an account to associate with an Amazon Macie master account.

", + "required": [ + "email", + "accountId" + ] + }, + "AccountLevelPermissions": { + "type": "structure", + "members": { + "blockPublicAccess": { + "shape": "BlockPublicAccess", + "locationName": "blockPublicAccess", + "documentation": "

The block public access settings for the bucket.

" + } + }, + "documentation": "

Provides information about account-level permissions settings that apply to an S3 bucket.

" + }, + "AdminAccount": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account.

" + }, + "status": { + "shape": "AdminStatus", + "locationName": "status", + "documentation": "

The current status of the account as a delegated administrator of Amazon Macie for the organization.

" + } + }, + "documentation": "

Provides information about an account that's designated as a delegated administrator of Amazon Macie for an AWS organization.

" + }, + "AdminStatus": { + "type": "string", + "documentation": "

The current status of an account as a delegated administrator of Amazon Macie for an AWS organization.

", + "enum": [ + "ENABLED", + "DISABLING_IN_PROGRESS" + ] + }, + "ApiCallDetails": { + "type": "structure", + "members": { + "api": { + "shape": "__string", + "locationName": "api", + "documentation": "

Reserved for future use.

" + }, + "apiServiceName": { + "shape": "__string", + "locationName": "apiServiceName", + "documentation": "

Reserved for future use.

" + }, + "firstSeen": { + "shape": "__timestampIso8601", + "locationName": "firstSeen", + "documentation": "

Reserved for future use.

" + }, + "lastSeen": { + "shape": "__timestampIso8601", + "locationName": "lastSeen", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "ArchiveFindingsRequest": { + "type": "structure", + "members": { + "findingIds": { + "shape": "__listOf__string", + "locationName": "findingIds", + "documentation": "

An array of strings that lists the unique identifiers for the findings to archive.

" + } + }, + "required": [ + "findingIds" + ] + }, + "ArchiveFindingsResponse": { + "type": "structure", + "members": {} + }, + "AssumedRole": { + "type": "structure", + "members": { + "accessKeyId": { + "shape": "__string", + "locationName": "accessKeyId", + "documentation": "

Reserved for future use.

" + }, + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

Reserved for future use.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

Reserved for future use.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

Reserved for future use.

" + }, + "sessionContext": { + "shape": "SessionContext", + "locationName": "sessionContext", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "AwsAccount": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

Reserved for future use.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "AwsService": { + "type": "structure", + "members": { + "invokedBy": { + "shape": "__string", + "locationName": "invokedBy", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "BatchGetCustomDataIdentifierSummary": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the custom data identifier.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

" + }, + "deleted": { + "shape": "__boolean", + "locationName": "deleted", + "documentation": "

Specifies whether the custom data identifier was deleted. If you delete a custom data identifier, Amazon Macie doesn't delete it permanently. Instead, it soft deletes the identifier.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The custom description of the custom data identifier.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the custom data identifier.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the custom data identifier.

" + } + }, + "documentation": "

Provides information about a custom data identifier.

" + }, + "BatchGetCustomDataIdentifiersRequest": { + "type": "structure", + "members": { + "ids": { + "shape": "__listOf__string", + "locationName": "ids", + "documentation": "

An array of strings that lists the unique identifiers for the custom data identifiers to retrieve information about.

" + } + } + }, + "BatchGetCustomDataIdentifiersResponse": { + "type": "structure", + "members": { + "customDataIdentifiers": { + "shape": "__listOfBatchGetCustomDataIdentifierSummary", + "locationName": "customDataIdentifiers", + "documentation": "

An array of objects, one for each custom data identifier that meets the criteria specified in the request.

" + }, + "notFoundIdentifierIds": { + "shape": "__listOf__string", + "locationName": "notFoundIdentifierIds", + "documentation": "

An array of identifiers, one for each identifier that was specified in the request, but doesn't correlate to an existing custom data identifier.

" + } + } + }, + "BlockPublicAccess": { + "type": "structure", + "members": { + "blockPublicAcls": { + "shape": "__boolean", + "locationName": "blockPublicAcls", + "documentation": "

Specifies whether Amazon S3 blocks public access control lists (ACLs) for the bucket and objects in the bucket.

" + }, + "blockPublicPolicy": { + "shape": "__boolean", + "locationName": "blockPublicPolicy", + "documentation": "

Specifies whether Amazon S3 blocks public bucket policies for the bucket.

" + }, + "ignorePublicAcls": { + "shape": "__boolean", + "locationName": "ignorePublicAcls", + "documentation": "

Specifies whether Amazon S3 ignores public ACLs for the bucket and objects in the bucket.

" + }, + "restrictPublicBuckets": { + "shape": "__boolean", + "locationName": "restrictPublicBuckets", + "documentation": "

Specifies whether Amazon S3 restricts public bucket policies for the bucket.

" + } + }, + "documentation": "

Provides information about the block public access settings for an S3 bucket. These settings can apply to a bucket at the account level or bucket level. For detailed information about each setting, see Using Amazon S3 block public access in the Amazon Simple Storage Service Developer Guide.

" + }, + "BucketCountByEffectivePermission": { + "type": "structure", + "members": { + "publiclyAccessible": { + "shape": "__long", + "locationName": "publiclyAccessible", + "documentation": "

Reserved for future use.

" + }, + "publiclyReadable": { + "shape": "__long", + "locationName": "publiclyReadable", + "documentation": "

Reserved for future use.

" + }, + "publiclyWritable": { + "shape": "__long", + "locationName": "publiclyWritable", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The total number of buckets that are publicly accessible, based on a combination of permissions settings for each bucket.

" + }, + "BucketCountByEncryptionType": { + "type": "structure", + "members": { + "kmsManaged": { + "shape": "__long", + "locationName": "kmsManaged", + "documentation": "

Reserved for future use.

" + }, + "s3Managed": { + "shape": "__long", + "locationName": "s3Managed", + "documentation": "

Reserved for future use.

" + }, + "unencrypted": { + "shape": "__long", + "locationName": "unencrypted", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The total number of buckets, grouped by server-side encryption type. This object also reports the total number of buckets that aren't encrypted.

" + }, + "BucketCountBySharedAccessType": { + "type": "structure", + "members": { + "external": { + "shape": "__long", + "locationName": "external", + "documentation": "

Reserved for future use.

" + }, + "internal": { + "shape": "__long", + "locationName": "internal", + "documentation": "

Reserved for future use.

" + }, + "notShared": { + "shape": "__long", + "locationName": "notShared", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The total number of buckets that are shared with another AWS account or configured to support cross-origin resource sharing (CORS).

" + }, + "BucketCriteria": { + "type": "map", + "documentation": "

Specifies, as a map, one or more attribute-based conditions that filter the results of a query for information about S3 buckets.

", + "key": { + "shape": "__string" + }, + "value": { + "shape": "BucketCriteriaAdditionalProperties" + } + }, + "BucketCriteriaAdditionalProperties": { + "type": "structure", + "members": { + "eq": { + "shape": "__listOf__string", + "locationName": "eq", + "documentation": "

An equal to condition to apply to a specified attribute value for buckets.

" + }, + "gt": { + "shape": "__long", + "locationName": "gt", + "documentation": "

A greater than condition to apply to a specified attribute value for buckets.

" + }, + "gte": { + "shape": "__long", + "locationName": "gte", + "documentation": "

A greater than or equal to condition to apply to a specified attribute value for buckets.

" + }, + "lt": { + "shape": "__long", + "locationName": "lt", + "documentation": "

A less than condition to apply to a specified attribute value for buckets.

" + }, + "lte": { + "shape": "__long", + "locationName": "lte", + "documentation": "

A less than or equal to condition to apply to a specified attribute value for buckets.

" + }, + "neq": { + "shape": "__listOf__string", + "locationName": "neq", + "documentation": "

A not equal to condition to apply to a specified attribute value for buckets.

" + }, + "prefix": { + "shape": "__string", + "locationName": "prefix", + "documentation": "

The prefix of the buckets to include in the results.

" + } + }, + "documentation": "

Specifies the operator to use in an attribute-based condition that filters the results of a query for information about S3 buckets.

" + }, + "BucketLevelPermissions": { + "type": "structure", + "members": { + "accessControlList": { + "shape": "AccessControlList", + "locationName": "accessControlList", + "documentation": "

The permissions settings of the access control list (ACL) for the bucket. This value is null if an ACL hasn't been defined for the bucket.

" + }, + "blockPublicAccess": { + "shape": "BlockPublicAccess", + "locationName": "blockPublicAccess", + "documentation": "

The block public access settings for the bucket.

" + }, + "bucketPolicy": { + "shape": "BucketPolicy", + "locationName": "bucketPolicy", + "documentation": "

The permissions settings of the bucket policy for the bucket. This value is null if a bucket policy hasn't been defined for the bucket.

" + } + }, + "documentation": "

Provides information about bucket-level permissions settings for an S3 bucket.

" + }, + "BucketMetadata": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The unique identifier for the AWS account that's associated with the bucket.

" + }, + "bucketArn": { + "shape": "__string", + "locationName": "bucketArn", + "documentation": "

The Amazon Resource Name (ARN) of the bucket.

" + }, + "bucketCreatedAt": { + "shape": "__timestampIso8601", + "locationName": "bucketCreatedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

" + }, + "bucketName": { + "shape": "__string", + "locationName": "bucketName", + "documentation": "

The name of the bucket.

" + }, + "classifiableObjectCount": { + "shape": "__long", + "locationName": "classifiableObjectCount", + "documentation": "

The total number of objects that Amazon Macie can monitor and analyze in the bucket. These objects use a file format, file extension, or content type that Amazon Macie supports.

" + }, + "lastUpdated": { + "shape": "__timestampIso8601", + "locationName": "lastUpdated", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie last analyzed the bucket.

" + }, + "objectCount": { + "shape": "__long", + "locationName": "objectCount", + "documentation": "

The total number of objects in the bucket.

" + }, + "objectCountByEncryptionType": { + "shape": "ObjectCountByEncryptionType", + "locationName": "objectCountByEncryptionType", + "documentation": "

The total number of objects that are in the bucket, grouped by server-side encryption type. This includes a grouping that reports the total number of objects that aren't encrypted.

" + }, + "publicAccess": { + "shape": "BucketPublicAccess", + "locationName": "publicAccess", + "documentation": "

Specifies whether the bucket is publicly accessible. If this value is true, an access control list (ACL), bucket policy, or block public access settings allow the bucket to be accessed by the general public.

" + }, + "region": { + "shape": "__string", + "locationName": "region", + "documentation": "

The AWS Region that hosts the bucket.

" + }, + "replicationDetails": { + "shape": "ReplicationDetails", + "locationName": "replicationDetails", + "documentation": "

Specifies whether the bucket is configured to replicate one or more objects to buckets for other AWS accounts and, if so, which accounts.

" + }, + "sharedAccess": { + "shape": "SharedAccess", + "locationName": "sharedAccess", + "documentation": "

Specifies whether the bucket is shared with another AWS account or configured to support cross-origin resource sharing (CORS). Valid values are:

  • EXTERNAL - The bucket is shared with an AWS account that isn\u2019t part of the Amazon Macie organization.

  • INTERNAL - The bucket is shared with an AWS account that's part of the Amazon Macie organization.

  • NOT_SHARED - The bucket isn't shared with other AWS accounts.

" + }, + "sizeInBytes": { + "shape": "__long", + "locationName": "sizeInBytes", + "documentation": "

The total storage size, in bytes, of the bucket.

" + }, + "sizeInBytesCompressed": { + "shape": "__long", + "locationName": "sizeInBytesCompressed", + "documentation": "

The total compressed storage size, in bytes, of the bucket.

" + }, + "tags": { + "shape": "__listOfKeyValuePair", + "locationName": "tags", + "documentation": "

An array that specifies the tags (keys and values) that are associated with the bucket.

" + }, + "versioning": { + "shape": "__boolean", + "locationName": "versioning", + "documentation": "

Specifies whether versioning is enabled for the bucket.

" + } + }, + "documentation": "

Provides information about an S3 bucket that Amazon Macie monitors and analyzes.

" + }, + "BucketPermissionConfiguration": { + "type": "structure", + "members": { + "accountLevelPermissions": { + "shape": "AccountLevelPermissions", + "locationName": "accountLevelPermissions", + "documentation": "

The account-level permissions settings that apply to the bucket.

" + }, + "bucketLevelPermissions": { + "shape": "BucketLevelPermissions", + "locationName": "bucketLevelPermissions", + "documentation": "

The bucket-level permissions settings for the bucket.

" + } + }, + "documentation": "

The account-level and bucket-level permissions settings for an S3 bucket, or the bucket that contains an object.

" + }, + "BucketPolicy": { + "type": "structure", + "members": { + "allowsPublicReadAccess": { + "shape": "__boolean", + "locationName": "allowsPublicReadAccess", + "documentation": "

Specifies whether the bucket policy allows the general public to have read access to the bucket.

" + }, + "allowsPublicWriteAccess": { + "shape": "__boolean", + "locationName": "allowsPublicWriteAccess", + "documentation": "

Specifies whether the bucket policy allows the general public to have write access to the bucket.

" + } + }, + "documentation": "

Provides information about the permissions settings of a bucket policy for an S3 bucket.

" + }, + "BucketPublicAccess": { + "type": "structure", + "members": { + "effectivePermission": { + "shape": "EffectivePermission", + "locationName": "effectivePermission", + "documentation": "

Specifies whether the bucket is publicly accessible due to the combination of permissions settings that apply to the bucket. Possible values are: PUBLIC, the bucket is publicly accessible; and, NOT_PUBLIC, the bucket isn't publicly accessible.

" + }, + "permissionConfiguration": { + "shape": "BucketPermissionConfiguration", + "locationName": "permissionConfiguration", + "documentation": "

The account-level and bucket-level permissions for the bucket.

" + } + }, + "documentation": "

Provides information about permissions settings that determine whether an S3 bucket is publicly accessible.

" + }, + "BucketSortCriteria": { + "type": "structure", + "members": { + "attributeName": { + "shape": "__string", + "locationName": "attributeName", + "documentation": "

The name of the attribute to sort the results by. This value can be the name of any property that Amazon Macie defines as bucket metadata, such as bucketName, accountId, or lastUpdated.

" + }, + "orderBy": { + "shape": "OrderBy", + "locationName": "orderBy", + "documentation": "

The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" + } + }, + "documentation": "

Specifies criteria for sorting the results of a query for information about S3 buckets.

" + }, + "ClassificationDetails": { + "type": "structure", + "members": { + "detailedResultsLocation": { + "shape": "__string", + "locationName": "detailedResultsLocation", + "documentation": "

The Amazon Resource Name (ARN) of the file that contains the detailed record, including offsets, for the finding.

" + }, + "jobArn": { + "shape": "__string", + "locationName": "jobArn", + "documentation": "

The Amazon Resource Name (ARN) of the classification job that produced the finding.

" + }, + "jobId": { + "shape": "__string", + "locationName": "jobId", + "documentation": "

The unique identifier for the classification job that produced the finding.

" + }, + "result": { + "shape": "ClassificationResult", + "locationName": "result", + "documentation": "

The status and detailed results of the finding.

" + } + }, + "documentation": "

Provides information about a sensitive data finding, including the classification job that produced the finding.

" + }, + "ClassificationExportConfiguration": { + "type": "structure", + "members": { + "s3Destination": { + "shape": "S3Destination", + "locationName": "s3Destination", + "documentation": "

The S3 bucket to export data classification results to, and the encryption settings to use when storing results in that bucket.

" + } + }, + "documentation": "

Specifies where to export data classification results to, and the encryption settings to use when storing results in that location. Currently, you can export classification results only to an S3 bucket.

" + }, + "ClassificationResult": { + "type": "structure", + "members": { + "customDataIdentifiers": { + "shape": "CustomDataIdentifiers", + "locationName": "customDataIdentifiers", + "documentation": "

The number of occurrences of the data that produced the finding, and the custom data identifiers that detected the data.

" + }, + "mimeType": { + "shape": "__string", + "locationName": "mimeType", + "documentation": "

The type of content, expressed as a MIME type, that the finding applies to. For example, application/gzip, for a GNU Gzip compressed archive file, or application/pdf, for an Adobe PDF file.

" + }, + "sensitiveData": { + "shape": "SensitiveData", + "locationName": "sensitiveData", + "documentation": "

The category and number of occurrences of the sensitive data that produced the finding.

" + }, + "sizeClassified": { + "shape": "__long", + "locationName": "sizeClassified", + "documentation": "

The total size, in bytes, of the data that the finding applies to.

" + }, + "status": { + "shape": "ClassificationResultStatus", + "locationName": "status", + "documentation": "

The status of the finding.

" + } + }, + "documentation": "

Provides detailed information about a sensitive data finding, including the types and number of occurrences of the data that was found.

" + }, + "ClassificationResultStatus": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code", + "documentation": "

The status of the finding, such as COMPLETE.

" + }, + "reason": { + "shape": "__string", + "locationName": "reason", + "documentation": "

A brief description of the status of the finding. Amazon Macie uses this value to notify you of any errors, warnings, or considerations that might impact your analysis of the finding.

" + } + }, + "documentation": "

Provides information about the status of a sensitive data finding.

" + }, + "ConflictException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred due to a versioning conflict for a specified resource.

", + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateClassificationJobRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", + "idempotencyToken": true + }, + "customDataIdentifierIds": { + "shape": "__listOf__string", + "locationName": "customDataIdentifierIds", + "documentation": "

The custom data identifiers to use for data analysis and classification.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

A custom description of the job. The description can contain as many as 512 characters.

" + }, + "initialRun": { + "shape": "__boolean", + "locationName": "initialRun", + "documentation": "

Specifies whether to run the job immediately, after it's created.

" + }, + "jobType": { + "shape": "JobType", + "locationName": "jobType", + "documentation": "

The schedule for running the job. Valid values are:

  • ONE_TIME - Run the job only once. If you specify this value, don't specify a value for the scheduleFrequency property.

  • SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the scheduleFrequency property to define the recurrence pattern for the job.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

A custom name for the job. The name must contain at least 3 characters and can contain as many as 64 characters.

" + }, + "s3JobDefinition": { + "shape": "S3JobDefinition", + "locationName": "s3JobDefinition", + "documentation": "

The S3 buckets that contain the objects to analyze, and the scope of that analysis.

" + }, + "samplingPercentage": { + "shape": "__integer", + "locationName": "samplingPercentage", + "documentation": "

The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If the value is less than 100, Amazon Macie randomly selects the objects to analyze, up to the specified percentage.

" + }, + "scheduleFrequency": { + "shape": "JobScheduleFrequency", + "locationName": "scheduleFrequency", + "documentation": "

The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value of the jobType property to ONE_TIME.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that specifies the tags to associate with the job.

A job can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + }, + "required": [ + "s3JobDefinition", + "jobType", + "clientToken", + "name" + ] + }, + "CreateClassificationJobResponse": { + "type": "structure", + "members": { + "jobArn": { + "shape": "__string", + "locationName": "jobArn", + "documentation": "

The Amazon Resource Name (ARN) of the job.

" + }, + "jobId": { + "shape": "__string", + "locationName": "jobId", + "documentation": "

The unique identifier for the job.

" + } + } + }, + "CreateCustomDataIdentifierRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", + "idempotencyToken": true + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

A custom description of the custom data identifier. The description can contain up to 120 characters.

We strongly recommend that you avoid including any sensitive data in the description of a custom data identifier. Other users of your account might be able to see the identifier's description, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "ignoreWords": { + "shape": "__listOf__string", + "locationName": "ignoreWords", + "documentation": "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters.

" + }, + "keywords": { + "shape": "__listOf__string", + "locationName": "keywords", + "documentation": "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters.

" + }, + "maximumMatchDistance": { + "shape": "__integer", + "locationName": "maximumMatchDistance", + "documentation": "

The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 300.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

A custom name for the custom data identifier. The name can contain as many as 120 characters.

We strongly recommend that you avoid including any sensitive data in the name of a custom data identifier. Other users of your account might be able to see the identifier's name, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "regex": { + "shape": "__string", + "locationName": "regex", + "documentation": "

The regular expression (regex) that defines the pattern to match. The expression can contain as many as 500 characters.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that specifies the tags to associate with the custom data identifier.

A custom data identifier can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + } + }, + "CreateCustomDataIdentifierResponse": { + "type": "structure", + "members": { + "customDataIdentifierId": { + "shape": "__string", + "locationName": "customDataIdentifierId", + "documentation": "

The unique identifier for the custom data identifier that was created.

" + } + } + }, + "CreateFindingsFilterRequest": { + "type": "structure", + "members": { + "action": { + "shape": "FindingsFilterAction", + "locationName": "action", + "documentation": "

The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, automatically archive the findings; and, NOOP, don't perform any action on the findings.

" + }, + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", + "idempotencyToken": true + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

A custom description of the filter. The description can contain as many as 512 characters.

We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users of your account might be able to see the filter's description, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "findingCriteria": { + "shape": "FindingCriteria", + "locationName": "findingCriteria", + "documentation": "

The criteria to use to filter findings.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters.

We strongly recommend that you avoid including any sensitive data in the name of a filter. Other users of your account might be able to see the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "position": { + "shape": "__integer", + "locationName": "position", + "documentation": "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that specifies the tags to associate with the filter.

A findings filter can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + }, + "required": [ + "action", + "findingCriteria", + "name" + ] + }, + "CreateFindingsFilterResponse": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the filter that was created.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the filter that was created.

" + } + } + }, + "CreateInvitationsRequest": { + "type": "structure", + "members": { + "accountIds": { + "shape": "__listOf__string", + "locationName": "accountIds", + "documentation": "

An array that lists AWS account IDs, one for each account to send the invitation to.

" + }, + "disableEmailNotification": { + "shape": "__boolean", + "locationName": "disableEmailNotification", + "documentation": "

Specifies whether to send an email notification to the root user of each account that the invitation will be sent to. This notification is in addition to an alert that the root user receives in AWS Personal Health Dashboard. To send an email notification to the root user of each account, set this value to true.

" + }, + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

A custom message to include in the invitation. Amazon Macie adds this message to the standard content that it sends for an invitation.

" + } + }, + "required": [ + "accountIds" + ] + }, + "CreateInvitationsResponse": { + "type": "structure", + "members": { + "unprocessedAccounts": { + "shape": "__listOfUnprocessedAccount", + "locationName": "unprocessedAccounts", + "documentation": "

An array of objects, one for each account whose invitation hasn't been processed. Each object identifies the account and explains why the invitation hasn't been processed for the account.

" + } + } + }, + "CreateMemberRequest": { + "type": "structure", + "members": { + "account": { + "shape": "AccountDetail", + "locationName": "account", + "documentation": "

The details for the account to associate with the master account.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that specifies the tags to associate with the account in Amazon Macie.

An account can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + }, + "required": [ + "account" + ] + }, + "CreateMemberResponse": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the account that was associated with the master account.

" + } + } + }, + "CreateSampleFindingsRequest": { + "type": "structure", + "members": { + "findingTypes": { + "shape": "__listOfFindingType", + "locationName": "findingTypes", + "documentation": "

An array that lists one or more types of findings to include in the set of sample findings. Currently, the only supported value is Policy:IAMUser/S3BucketEncryptionDisabled.

" + } + } + }, + "CreateSampleFindingsResponse": { + "type": "structure", + "members": {} + }, + "Criterion": { + "type": "map", + "documentation": "

Specifies a condition that defines a property, operator, and value to use to filter the results of a query for findings.

", + "key": { + "shape": "__string" + }, + "value": { + "shape": "CriterionAdditionalProperties" + } + }, + "CriterionAdditionalProperties": { + "type": "structure", + "members": { + "eq": { + "shape": "__listOf__string", + "locationName": "eq", + "documentation": "

An equal to condition to apply to a specified property value for findings.

" + }, + "gt": { + "shape": "__long", + "locationName": "gt", + "documentation": "

A greater than condition to apply to a specified property value for findings.

" + }, + "gte": { + "shape": "__long", + "locationName": "gte", + "documentation": "

A greater than or equal to condition to apply to a specified property value for findings.

" + }, + "lt": { + "shape": "__long", + "locationName": "lt", + "documentation": "

A less than condition to apply to a specified property value for findings.

" + }, + "lte": { + "shape": "__long", + "locationName": "lte", + "documentation": "

A less than or equal to condition to apply to a specified property value for findings.

" + }, + "neq": { + "shape": "__listOf__string", + "locationName": "neq", + "documentation": "

A not equal to condition to apply to a specified property value for findings.

" + } + }, + "documentation": "

Specifies the operator to use in a property-based condition that filters the results of a query for findings.

" + }, + "Currency": { + "type": "string", + "documentation": "

The type of currency that data for a usage metric is reported in. Possible values are:

", + "enum": [ + "USD" + ] + }, + "CustomDataIdentifierSummary": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the custom data identifier.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The custom description of the custom data identifier.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the custom data identifier.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the custom data identifier.

" + } + }, + "documentation": "

Provides information about a custom data identifier.

" + }, + "CustomDataIdentifiers": { + "type": "structure", + "members": { + "detections": { + "shape": "CustomDetections", + "locationName": "detections", + "documentation": "

The names of the custom data identifiers that detected the data, and the number of occurrences of the data that each identifier detected.

" + }, + "totalCount": { + "shape": "__long", + "locationName": "totalCount", + "documentation": "

The total number of occurrences of the data that was detected by the custom data identifiers and produced the finding.

" + } + }, + "documentation": "

Provides information about the number of occurrences of the data that produced a sensitive data finding, and the custom data identifiers that detected the data for the finding.

" + }, + "CustomDetection": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the custom data identifier.

" + }, + "count": { + "shape": "__long", + "locationName": "count", + "documentation": "

The total number of occurrences of the data that the custom data identifier detected for the finding.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The name of the custom data identifier.

" + } + }, + "documentation": "

Provides information about a custom data identifier that produced a sensitive data finding, and the number of occurrences of the data that it detected for the finding.

" + }, + "CustomDetections": { + "type": "list", + "documentation": "

Reserved for future use.

", + "member": { + "shape": "CustomDetection" + } + }, + "DailySchedule": { + "type": "structure", + "members": {}, + "documentation": "

Run the job once a day, every day. If specified, this is an empty object.

" + }, + "DayOfWeek": { + "type": "string", + "enum": [ + "SUNDAY", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY" + ] + }, + "DeclineInvitationsRequest": { + "type": "structure", + "members": { + "accountIds": { + "shape": "__listOf__string", + "locationName": "accountIds", + "documentation": "

An array that lists AWS account IDs, one for each account that sent an invitation to decline.

" + } + }, + "required": [ + "accountIds" + ] + }, + "DeclineInvitationsResponse": { + "type": "structure", + "members": { + "unprocessedAccounts": { + "shape": "__listOfUnprocessedAccount", + "locationName": "unprocessedAccounts", + "documentation": "

An array of objects, one for each account whose invitation hasn't been declined. Each object identifies the account and explains why the request hasn't been processed for that account.

" + } + } + }, + "DefaultDetection": { + "type": "structure", + "members": { + "count": { + "shape": "__long", + "locationName": "count", + "documentation": "

The total number of occurrences of the type of data that was detected.

" + }, + "type": { + "shape": "__string", + "locationName": "type", + "documentation": "

The type of data that was detected. For example, AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.

" + } + }, + "documentation": "

Provides information about sensitive data that was detected by managed data identifiers and produced a finding.

" + }, + "DefaultDetections": { + "type": "list", + "documentation": "

Reserved for future use.

", + "member": { + "shape": "DefaultDetection" + } + }, + "DeleteCustomDataIdentifierRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "DeleteCustomDataIdentifierResponse": { + "type": "structure", + "members": {} + }, + "DeleteFindingsFilterRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "DeleteFindingsFilterResponse": { + "type": "structure", + "members": {} + }, + "DeleteInvitationsRequest": { + "type": "structure", + "members": { + "accountIds": { + "shape": "__listOf__string", + "locationName": "accountIds", + "documentation": "

An array that lists AWS account IDs, one for each account that sent an invitation to delete.

" + } + }, + "required": [ + "accountIds" + ] + }, + "DeleteInvitationsResponse": { + "type": "structure", + "members": { + "unprocessedAccounts": { + "shape": "__listOfUnprocessedAccount", + "locationName": "unprocessedAccounts", + "documentation": "

An array of objects, one for each account whose invitation hasn't been deleted. Each object identifies the account and explains why the request hasn't been processed for that account.

" + } + } + }, + "DeleteMemberRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "DeleteMemberResponse": { + "type": "structure", + "members": {} + }, + "DescribeBucketsRequest": { + "type": "structure", + "members": { + "criteria": { + "shape": "BucketCriteria", + "locationName": "criteria", + "documentation": "

The criteria to use to filter the query results.

" + }, + "maxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of the response. The default value is 50.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + }, + "sortCriteria": { + "shape": "BucketSortCriteria", + "locationName": "sortCriteria", + "documentation": "

The criteria to use to sort the query results.

" + } + } + }, + "DescribeBucketsResponse": { + "type": "structure", + "members": { + "buckets": { + "shape": "__listOfBucketMetadata", + "locationName": "buckets", + "documentation": "

An array of objects, one for each bucket that meets the filter criteria specified in the request.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "DescribeClassificationJobRequest": { + "type": "structure", + "members": { + "jobId": { + "shape": "__string", + "location": "uri", + "locationName": "jobId", + "documentation": "

The unique identifier for the classification job.

" + } + }, + "required": [ + "jobId" + ] + }, + "DescribeClassificationJobResponse": { + "type": "structure", + "members": { + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

The token that was provided to ensure the idempotency of the request to create the job.

", + "idempotencyToken": true + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the job was created.

" + }, + "customDataIdentifierIds": { + "shape": "__listOf__string", + "locationName": "customDataIdentifierIds", + "documentation": "

The custom data identifiers that the job uses to analyze data.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The custom description of the job.

" + }, + "initialRun": { + "shape": "__boolean", + "locationName": "initialRun", + "documentation": "

Specifies whether the job has run for the first time.

" + }, + "jobArn": { + "shape": "__string", + "locationName": "jobArn", + "documentation": "

The Amazon Resource Name (ARN) of the job.

" + }, + "jobId": { + "shape": "__string", + "locationName": "jobId", + "documentation": "

The unique identifier for the job.

" + }, + "jobStatus": { + "shape": "JobStatus", + "locationName": "jobStatus", + "documentation": "

The current status of the job. Possible value are:

  • CANCELLED - The job was cancelled by you or a user of the master account for your organization. A job might also be cancelled if ownership of an S3 bucket changed while the job was running, and that change affected the job's access to the bucket.

  • COMPLETE - Amazon Macie finished processing all the data specified for the job.

  • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to jobs that occur only once.

  • PAUSED - Amazon Macie started the job, but completion of the job would exceed one or more quotas for your account.

  • RUNNING - The job is in progress.

" + }, + "jobType": { + "shape": "JobType", + "locationName": "jobType", + "documentation": "

The schedule for running the job. Possible value are:

  • ONE_TIME - The job ran or will run only once.

  • SCHEDULED - The job runs on a daily, weekly, or monthly basis. The scheduleFrequency property indicates the recurrence pattern for the job.

" + }, + "lastRunTime": { + "shape": "__timestampIso8601", + "locationName": "lastRunTime", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the job last ran.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the job.

" + }, + "s3JobDefinition": { + "shape": "S3JobDefinition", + "locationName": "s3JobDefinition", + "documentation": "

The S3 buckets that the job is configured to analyze, and the scope of that analysis.

" + }, + "samplingPercentage": { + "shape": "__integer", + "locationName": "samplingPercentage", + "documentation": "

The sampling depth, as a percentage, that the job applies when it processes objects.

" + }, + "scheduleFrequency": { + "shape": "JobScheduleFrequency", + "locationName": "scheduleFrequency", + "documentation": "

The recurrence pattern for running the job. If the job is configured to run every day, this value is an empty dailySchedule object. If the job is configured to run only once, this value is null.

" + }, + "statistics": { + "shape": "Statistics", + "locationName": "statistics", + "documentation": "

The number of times that the job has run and processing statistics for the job's most recent run.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the classification job.

" + } + } + }, + "DescribeOrganizationConfigurationRequest": { + "type": "structure", + "members": {} + }, + "DescribeOrganizationConfigurationResponse": { + "type": "structure", + "members": { + "autoEnable": { + "shape": "__boolean", + "locationName": "autoEnable", + "documentation": "

Specifies whether Amazon Macie is enabled automatically for accounts that are added to the AWS organization.

" + }, + "maxAccountLimitReached": { + "shape": "__boolean", + "locationName": "maxAccountLimitReached", + "documentation": "

Specifies whether the maximum number of Amazon Macie member accounts are already associated with the AWS organization.

" + } + } + }, + "DisableMacieRequest": { + "type": "structure", + "members": {} + }, + "DisableMacieResponse": { + "type": "structure", + "members": {} + }, + "DisableOrganizationAdminAccountRequest": { + "type": "structure", + "members": { + "adminAccountId": { + "shape": "__string", + "location": "querystring", + "locationName": "adminAccountId", + "documentation": "

The AWS account ID of the delegated administrator account.

" + } + }, + "required": [ + "adminAccountId" + ] + }, + "DisableOrganizationAdminAccountResponse": { + "type": "structure", + "members": {} + }, + "DisassociateFromMasterAccountRequest": { + "type": "structure", + "members": {} + }, + "DisassociateFromMasterAccountResponse": { + "type": "structure", + "members": {} + }, + "DisassociateMemberRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "DisassociateMemberResponse": { + "type": "structure", + "members": {} + }, + "DomainDetails": { + "type": "structure", + "members": { + "domainName": { + "shape": "__string", + "locationName": "domainName", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The DNS name of the entity that performed the action on the affected resource.

" + }, + "EffectivePermission": { + "type": "string", + "enum": [ + "PUBLIC", + "NOT_PUBLIC" + ] + }, + "Empty": { + "type": "structure", + "members": {}, + "documentation": "

The request succeeded and there isn't any content to include in the body of the response (No Content).

" + }, + "EnableMacieRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", + "idempotencyToken": true + }, + "findingPublishingFrequency": { + "shape": "FindingPublishingFrequency", + "locationName": "findingPublishingFrequency", + "documentation": "Specifies how often to publish findings for the account. This includes adding findings to AWS Security Hub and exporting finding events to Amazon CloudWatch." + }, + "status": { + "shape": "MacieStatus", + "locationName": "status", + "documentation": "

Specifies the status for the account. To enable Amazon Macie and start all Amazon Macie activities for the account, set this value to ENABLED.

" + } + } + }, + "EnableMacieResponse": { + "type": "structure", + "members": {} + }, + "EnableOrganizationAdminAccountRequest": { + "type": "structure", + "members": { + "adminAccountId": { + "shape": "__string", + "locationName": "adminAccountId", + "documentation": "

The AWS account ID for the account.

" + }, + "clientToken": { + "shape": "__string", + "locationName": "clientToken", + "documentation": "

A unique, case-sensitive token that you provide to ensure the idempotency of the request.

", + "idempotencyToken": true + } + }, + "required": [ + "adminAccountId" + ] + }, + "EnableOrganizationAdminAccountResponse": { + "type": "structure", + "members": {} + }, + "EncryptionType": { + "type": "string", + "documentation": "

The server-side encryption algorithm that's used when storing the S3 bucket or object. Valid values are:

", + "enum": [ + "NONE", + "AES256", + "aws:kms" + ] + }, + "ErrorCode": { + "type": "string", + "documentation": "

The source of an error, issue, or delay. Possible values are:

", + "enum": [ + "ClientError", + "InternalError" + ] + }, + "FederatedUser": { + "type": "structure", + "members": { + "accessKeyId": { + "shape": "__string", + "locationName": "accessKeyId", + "documentation": "

Reserved for future use.

" + }, + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

Reserved for future use.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

Reserved for future use.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

Reserved for future use.

" + }, + "sessionContext": { + "shape": "SessionContext", + "locationName": "sessionContext", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "Finding": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The identifier for the AWS account that the finding applies to. This is typically the account that owns the affected resource.

" + }, + "archived": { + "shape": "__boolean", + "locationName": "archived", + "documentation": "

Specifies whether the finding is archived.

" + }, + "category": { + "shape": "FindingCategory", + "locationName": "category", + "documentation": "

The category of the finding. Possible values are: CLASSIFICATION, for a sensitive data finding; and, POLICY, for a policy finding.

" + }, + "classificationDetails": { + "shape": "ClassificationDetails", + "locationName": "classificationDetails", + "documentation": "

The details of a sensitive data finding. This value is null for a policy finding.

" + }, + "count": { + "shape": "__long", + "locationName": "count", + "documentation": "

The total number of occurrences of this finding.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the finding was created.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The description of the finding.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the finding. This is a random string that Amazon Macie generates and assigns to a finding when it creates the finding.

" + }, + "partition": { + "shape": "__string", + "locationName": "partition", + "documentation": "

The AWS partition that Amazon Macie created the finding in.

" + }, + "policyDetails": { + "shape": "PolicyDetails", + "locationName": "policyDetails", + "documentation": "

The details of a policy finding. This value is null for a sensitive data finding.

" + }, + "region": { + "shape": "__string", + "locationName": "region", + "documentation": "

The AWS Region that Amazon Macie created the finding in.

" + }, + "resourcesAffected": { + "shape": "ResourcesAffected", + "locationName": "resourcesAffected", + "documentation": "

The resources that the finding applies to.

" + }, + "sample": { + "shape": "__boolean", + "locationName": "sample", + "documentation": "

Specifies whether the finding is a sample finding. A sample finding is a finding that uses example data to demonstrate what a finding might contain.

" + }, + "schemaVersion": { + "shape": "__string", + "locationName": "schemaVersion", + "documentation": "

The version of the schema that was used to define the data structures in the finding.

" + }, + "severity": { + "shape": "Severity", + "locationName": "severity", + "documentation": "

The severity of the finding.

" + }, + "title": { + "shape": "__string", + "locationName": "title", + "documentation": "

The brief description of the finding.

" + }, + "type": { + "shape": "FindingType", + "locationName": "type", + "documentation": "

The type of the finding.

" + }, + "updatedAt": { + "shape": "__timestampIso8601", + "locationName": "updatedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the finding was last updated. For sensitive data findings, this value is the same as the value for the createdAt property. Sensitive data findings aren't updated.

" + } + }, + "documentation": "

Provides information about a finding.

" + }, + "FindingAction": { + "type": "structure", + "members": { + "actionType": { + "shape": "FindingActionType", + "locationName": "actionType", + "documentation": "

The type of action that occurred for the affected resource. This value is typically AWS_API_CALL, which indicates that an entity invoked an API operation for the resource.

" + }, + "apiCallDetails": { + "shape": "ApiCallDetails", + "locationName": "apiCallDetails", + "documentation": "

For the affected resource:

  • The name of the operation that was invoked most recently and produced the finding (api).

  • The first date and time when any operation was invoked and produced the finding (firstSeen).

  • The most recent date and time when the specified operation was invoked and produced the finding (lastSeen).

All date and time values are in UTC and extended ISO 8601 format.

" + } + }, + "documentation": "

Provides information about an action that occurred for a resource and produced a policy finding.

" + }, + "FindingActionType": { + "type": "string", + "enum": [ + "AWS_API_CALL" + ] + }, + "FindingActor": { + "type": "structure", + "members": { + "domainDetails": { + "shape": "DomainDetails", + "locationName": "domainDetails", + "documentation": "

The DNS name of the entity that performed the action on the affected resource.

" + }, + "ipAddressDetails": { + "shape": "IpAddressDetails", + "locationName": "ipAddressDetails", + "documentation": "

The IP address of the device that the entity used to perform the action on the affected resource. This object also provides information such as the owner and geographical location for the IP address.

" + }, + "userIdentity": { + "shape": "UserIdentity", + "locationName": "userIdentity", + "documentation": "

The name and type of entity who performed the action on the affected resource.

" + } + }, + "documentation": "

Provides information about an entity who performed an action that produced a policy finding for a resource.

" + }, + "FindingCategory": { + "type": "string", + "documentation": "

The category of the finding. Valid values are:

", + "enum": [ + "CLASSIFICATION", + "POLICY" + ] + }, + "FindingCriteria": { + "type": "structure", + "members": { + "criterion": { + "shape": "Criterion", + "locationName": "criterion", + "documentation": "

A condition that specifies the property, operator, and value to use to filter the results.

" + } + }, + "documentation": "

Specifies, as a map, one or more property-based conditions that filter the results of a query for findings.

" + }, + "FindingPublishingFrequency": { + "type": "string", + "documentation": "

The frequency with which Amazon Macie publishes findings for an account. This includes adding findings to AWS Security Hub and exporting finding events to Amazon CloudWatch. Valid values are:

", + "enum": [ + "FIFTEEN_MINUTES", + "ONE_HOUR", + "SIX_HOURS" + ] + }, + "FindingStatisticsSortAttributeName": { + "type": "string", + "documentation": "

The grouping to sort the results by. Valid values are:

", + "enum": [ + "groupKey", + "count" + ] + }, + "FindingStatisticsSortCriteria": { + "type": "structure", + "members": { + "attributeName": { + "shape": "FindingStatisticsSortAttributeName", + "locationName": "attributeName", + "documentation": "

The grouping to sort the results by. Valid values are: count, sort the results by the number of findings in each group of results; and, groupKey, sort the results by the name of each group of results.

" + }, + "orderBy": { + "shape": "OrderBy", + "locationName": "orderBy", + "documentation": "

The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" + } + }, + "documentation": "

Specifies criteria for sorting the results of a query for information about findings.

" + }, + "FindingType": { + "type": "string", + "documentation": "

The type of finding. Valid values are:

", + "enum": [ + "SensitiveData:S3Object/Multiple", + "SensitiveData:S3Object/Financial", + "SensitiveData:S3Object/Personal", + "SensitiveData:S3Object/Credentials", + "SensitiveData:S3Object/CustomIdentifier", + "Policy:IAMUser/S3BucketPublic", + "Policy:IAMUser/S3BucketSharedExternally", + "Policy:IAMUser/S3BucketReplicatedExternally", + "Policy:IAMUser/S3BucketEncryptionDisabled", + "Policy:IAMUser/S3BlockPublicAccessDisabled" + ] + }, + "FindingsFilterAction": { + "type": "string", + "documentation": "

The action to perform on findings that meet the filter criteria. Valid values are:

", + "enum": [ + "ARCHIVE", + "NOOP" + ] + }, + "FindingsFilterListItem": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the filter.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the filter.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the filter.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

" + } + }, + "documentation": "

Provides information about a findings filter.

" + }, + "GetBucketStatisticsRequest": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The unique identifier for the AWS account.

" + } + } + }, + "GetBucketStatisticsResponse": { + "type": "structure", + "members": { + "bucketCount": { + "shape": "__long", + "locationName": "bucketCount", + "documentation": "

The total number of buckets.

" + }, + "bucketCountByEffectivePermission": { + "shape": "BucketCountByEffectivePermission", + "locationName": "bucketCountByEffectivePermission", + "documentation": "

The total number of buckets that are publicly accessible, based on a combination of permissions settings for each bucket.

" + }, + "bucketCountByEncryptionType": { + "shape": "BucketCountByEncryptionType", + "locationName": "bucketCountByEncryptionType", + "documentation": "

The total number of buckets, grouped by server-side encryption type. This object also reports the total number of buckets that aren't encrypted.

" + }, + "bucketCountBySharedAccessType": { + "shape": "BucketCountBySharedAccessType", + "locationName": "bucketCountBySharedAccessType", + "documentation": "

The total number of buckets that are shared with another AWS account or configured to support cross-origin resource sharing (CORS).

" + }, + "classifiableObjectCount": { + "shape": "__long", + "locationName": "classifiableObjectCount", + "documentation": "

The total number of objects that Amazon Macie can monitor and analyze in all the buckets. These objects use a file format, file extension, or content type that Amazon Macie supports.

" + }, + "lastUpdated": { + "shape": "__timestampIso8601", + "locationName": "lastUpdated", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when Amazon Macie last analyzed the buckets.

" + }, + "objectCount": { + "shape": "__long", + "locationName": "objectCount", + "documentation": "

The total number of objects in all the buckets.

" + }, + "sizeInBytes": { + "shape": "__long", + "locationName": "sizeInBytes", + "documentation": "

The total storage size, in bytes, of all the buckets.

" + }, + "sizeInBytesCompressed": { + "shape": "__long", + "locationName": "sizeInBytesCompressed", + "documentation": "

The total compressed storage size, in bytes, of all the buckets.

" + } + } + }, + "GetClassificationExportConfigurationRequest": { + "type": "structure", + "members": {} + }, + "GetClassificationExportConfigurationResponse": { + "type": "structure", + "members": { + "configuration": { + "shape": "ClassificationExportConfiguration", + "locationName": "configuration", + "documentation": "

The location that data classification results are exported to, and the encryption settings that are used when storing results in that location.

" + } + } + }, + "GetCustomDataIdentifierRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "GetCustomDataIdentifierResponse": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the custom data identifier.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the custom data identifier was created.

" + }, + "deleted": { + "shape": "__boolean", + "locationName": "deleted", + "documentation": "

Specifies whether the custom data identifier was deleted. If you delete a custom data identifier, Amazon Macie doesn't delete it permanently. Instead, it soft deletes the identifier.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The custom description of the custom data identifier.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the custom data identifier.

" + }, + "ignoreWords": { + "shape": "__listOf__string", + "locationName": "ignoreWords", + "documentation": "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it.

" + }, + "keywords": { + "shape": "__listOf__string", + "locationName": "keywords", + "documentation": "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match.

" + }, + "maximumMatchDistance": { + "shape": "__integer", + "locationName": "maximumMatchDistance", + "documentation": "

The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the custom data identifier.

" + }, + "regex": { + "shape": "__string", + "locationName": "regex", + "documentation": "

The regular expression (regex) that defines the pattern to match.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the custom data identifier.

" + } + } + }, + "GetFindingStatisticsRequest": { + "type": "structure", + "members": { + "findingCriteria": { + "shape": "FindingCriteria", + "locationName": "findingCriteria", + "documentation": "

The criteria to use to filter the query results.

" + }, + "groupBy": { + "shape": "GroupBy", + "locationName": "groupBy", + "documentation": "

The finding property to use to group the query results. Valid values are:

  • classificationDetails.jobId - The unique identifier for the classification job that produced the finding.

  • resourcesAffected.s3Bucket.name - The name of the S3 bucket that the finding applies to.

  • severity.description - The severity of the finding, such as High or Medium.

  • type - The type of finding, such as Policy:IAMUser/S3BucketPublic and SensitiveData:S3Object/Personal.

" + }, + "size": { + "shape": "__integer", + "locationName": "size", + "documentation": "

The maximum number of items to include in each page of the response.

" + }, + "sortCriteria": { + "shape": "FindingStatisticsSortCriteria", + "locationName": "sortCriteria", + "documentation": "

The criteria to use to sort the query results.

" + } + }, + "required": [ + "groupBy" + ] + }, + "GetFindingStatisticsResponse": { + "type": "structure", + "members": { + "countsByGroup": { + "shape": "__listOfGroupCount", + "locationName": "countsByGroup", + "documentation": "

An array of objects, one for each group of findings that meet the filter criteria specified in the request.

" + } + } + }, + "GetFindingsFilterRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "GetFindingsFilterResponse": { + "type": "structure", + "members": { + "action": { + "shape": "FindingsFilterAction", + "locationName": "action", + "documentation": "

The action that's performed on findings that meet the filter criteria (findingCriteria). Possible values are: ARCHIVE, automatically archive the findings; and, NOOP, don't perform any action on the findings.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the filter.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

The custom description of the filter.

" + }, + "findingCriteria": { + "shape": "FindingCriteria", + "locationName": "findingCriteria", + "documentation": "

The criteria that's used to filter findings.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the filter.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the filter.

" + }, + "position": { + "shape": "__integer", + "locationName": "position", + "documentation": "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the filter.

" + } + } + }, + "GetFindingsRequest": { + "type": "structure", + "members": { + "findingIds": { + "shape": "__listOf__string", + "locationName": "findingIds", + "documentation": "

An array of strings that lists the unique identifiers for the findings to retrieve information about.

" + }, + "sortCriteria": { + "shape": "SortCriteria", + "locationName": "sortCriteria", + "documentation": "

The criteria for sorting the results of the request.

" + } + }, + "required": [ + "findingIds" + ] + }, + "GetFindingsResponse": { + "type": "structure", + "members": { + "findings": { + "shape": "__listOfFinding", + "locationName": "findings", + "documentation": "

An array of objects, one for each finding that meets the criteria specified in the request.

" + } + } + }, + "GetInvitationsCountRequest": { + "type": "structure", + "members": {} + }, + "GetInvitationsCountResponse": { + "type": "structure", + "members": { + "invitationsCount": { + "shape": "__long", + "locationName": "invitationsCount", + "documentation": "

The total number of invitations that were received by the account, not including the currently accepted invitation.

" + } + } + }, + "GetMacieSessionRequest": { + "type": "structure", + "members": {} + }, + "GetMacieSessionResponse": { + "type": "structure", + "members": { + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the Amazon Macie account was created.

" + }, + "findingPublishingFrequency": { + "shape": "FindingPublishingFrequency", + "locationName": "findingPublishingFrequency", + "documentation": "

The frequency with which Amazon Macie publishes findings for the account. This includes adding findings to AWS Security Hub and exporting finding events to Amazon CloudWatch.

" + }, + "serviceRole": { + "shape": "__string", + "locationName": "serviceRole", + "documentation": "

The Amazon Resource Name (ARN) of the service-level role that allows Amazon Macie to monitor and analyze data in AWS resources for the account.

" + }, + "status": { + "shape": "MacieStatus", + "locationName": "status", + "documentation": "

The current status of the Amazon Macie account. Possible values are: PAUSED, the account is enabled but all Amazon Macie activities are suspended (paused) for the account; and, ENABLED, the account is enabled and all Amazon Macie activities are enabled for the account.

" + }, + "updatedAt": { + "shape": "__timestampIso8601", + "locationName": "updatedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the Amazon Macie account.

" + } + } + }, + "GetMasterAccountRequest": { + "type": "structure", + "members": {} + }, + "GetMasterAccountResponse": { + "type": "structure", + "members": { + "master": { + "shape": "Invitation", + "locationName": "master", + "documentation": "

The AWS account ID for the master account. If the accounts are associated by a Macie membership invitation, this object also provides details about the invitation that was sent and accepted to establish the relationship between the accounts.

" + } + } + }, + "GetMemberRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + } + }, + "required": [ + "id" + ] + }, + "GetMemberResponse": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the account.

" + }, + "email": { + "shape": "__string", + "locationName": "email", + "documentation": "

The email address for the account.

" + }, + "invitedAt": { + "shape": "__timestampIso8601", + "locationName": "invitedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie membership invitation was last sent to the account. This value is null if a Macie invitation hasn't been sent to the account.

" + }, + "masterAccountId": { + "shape": "__string", + "locationName": "masterAccountId", + "documentation": "

The AWS account ID for the master account.

" + }, + "relationshipStatus": { + "shape": "RelationshipStatus", + "locationName": "relationshipStatus", + "documentation": "

The current status of the relationship between the account and the master account.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the member account in Amazon Macie.

" + }, + "updatedAt": { + "shape": "__timestampIso8601", + "locationName": "updatedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

" + } + } + }, + "GetUsageStatisticsRequest": { + "type": "structure", + "members": { + "filterBy": { + "shape": "__listOfUsageStatisticsFilter", + "locationName": "filterBy", + "documentation": "

The criteria to use to filter the query results.

" + }, + "maxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of the response.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + }, + "sortBy": { + "shape": "UsageStatisticsSortBy", + "locationName": "sortBy", + "documentation": "

The criteria to use to sort the query results.

" + } + } + }, + "GetUsageStatisticsResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + }, + "records": { + "shape": "__listOfUsageRecord", + "locationName": "records", + "documentation": "

An array of objects that contains the results of the query. Each object contains the data for an account that meets the filter criteria specified in the request.

" + } + } + }, + "GetUsageTotalsRequest": { + "type": "structure", + "members": {} + }, + "GetUsageTotalsResponse": { + "type": "structure", + "members": { + "usageTotals": { + "shape": "__listOfUsageTotal", + "locationName": "usageTotals", + "documentation": "

An array of objects that contains the results of the query. Each object contains the data for a specific usage metric.

" + } + } + }, + "GroupBy": { + "type": "string", + "enum": [ + "resourcesAffected.s3Bucket.name", + "type", + "classificationDetails.jobId", + "severity.description" + ] + }, + "GroupCount": { + "type": "structure", + "members": { + "count": { + "shape": "__long", + "locationName": "count", + "documentation": "

The total number of findings in the group of query results.

" + }, + "groupKey": { + "shape": "__string", + "locationName": "groupKey", + "documentation": "

The name of the property that defines the group in the query results, as specified by the groupBy property in the query request.

" + } + }, + "documentation": "

Provides a group of results for a query that retrieved information about findings.

" + }, + "IamUser": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

Reserved for future use.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

Reserved for future use.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

Reserved for future use.

" + }, + "userName": { + "shape": "__string", + "locationName": "userName", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "InternalServerException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred due to an unknown internal server error, exception, or failure.

", + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "Invitation": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account that sent the invitation.

" + }, + "invitationId": { + "shape": "__string", + "locationName": "invitationId", + "documentation": "

The unique identifier for the invitation. Amazon Macie uses this identifier to validate the inviter account with the invitee account.

" + }, + "invitedAt": { + "shape": "__timestampIso8601", + "locationName": "invitedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the invitation was sent.

" + }, + "relationshipStatus": { + "shape": "RelationshipStatus", + "locationName": "relationshipStatus", + "documentation": "

The status of the relationship between the account that sent the invitation (inviter account) and the account that received the invitation (invitee account).

" + } + }, + "documentation": "

Provides information about an Amazon Macie membership invitation that was received by an account.

" + }, + "IpAddressDetails": { + "type": "structure", + "members": { + "ipAddressV4": { + "shape": "__string", + "locationName": "ipAddressV4", + "documentation": "

Reserved for future use.

" + }, + "ipCity": { + "shape": "IpCity", + "locationName": "ipCity", + "documentation": "

Reserved for future use.

" + }, + "ipCountry": { + "shape": "IpCountry", + "locationName": "ipCountry", + "documentation": "

Reserved for future use.

" + }, + "ipGeoLocation": { + "shape": "IpGeoLocation", + "locationName": "ipGeoLocation", + "documentation": "

Reserved for future use.

" + }, + "ipOwner": { + "shape": "IpOwner", + "locationName": "ipOwner", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The IP address of the device that the entity used to perform the action on the affected resource. This object also provides information such as the owner and geographical location for the IP address.

" + }, + "IpCity": { + "type": "structure", + "members": { + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "IpCountry": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code", + "documentation": "

Reserved for future use.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "IpGeoLocation": { + "type": "structure", + "members": { + "lat": { + "shape": "__double", + "locationName": "lat", + "documentation": "

Reserved for future use.

" + }, + "lon": { + "shape": "__double", + "locationName": "lon", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "IpOwner": { + "type": "structure", + "members": { + "asn": { + "shape": "__string", + "locationName": "asn", + "documentation": "

Reserved for future use.

" + }, + "asnOrg": { + "shape": "__string", + "locationName": "asnOrg", + "documentation": "

Reserved for future use.

" + }, + "isp": { + "shape": "__string", + "locationName": "isp", + "documentation": "

Reserved for future use.

" + }, + "org": { + "shape": "__string", + "locationName": "org", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "JobComparator": { + "type": "string", + "documentation": "

The operator to use in a condition. Valid values are:

", + "enum": [ + "EQ", + "GT", + "GTE", + "LT", + "LTE", + "NE", + "CONTAINS" + ] + }, + "JobScheduleFrequency": { + "type": "structure", + "members": { + "dailySchedule": { + "shape": "DailySchedule", + "locationName": "dailySchedule", + "documentation": "

Run the job once a day, every day. If specified, this is an empty object.

" + }, + "monthlySchedule": { + "shape": "MonthlySchedule", + "locationName": "monthlySchedule", + "documentation": "

Run the job once a month, on a specific day of the month. This value can be an integer from 1 through 30.

" + }, + "weeklySchedule": { + "shape": "WeeklySchedule", + "locationName": "weeklySchedule", + "documentation": "

Run the job once a week, on a specific day of the week. Valid values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, and SUNDAY.

" + } + }, + "documentation": "

Specifies the recurrence pattern for running a classification job.

" + }, + "JobScopeTerm": { + "type": "structure", + "members": { + "simpleScopeTerm": { + "shape": "SimpleScopeTerm", + "locationName": "simpleScopeTerm", + "documentation": "

A property-based condition that defines a property, operator, and one or more values for including or excluding an object from a job.

" + }, + "tagScopeTerm": { + "shape": "TagScopeTerm", + "locationName": "tagScopeTerm", + "documentation": "

A tag-based condition that defines a property, operator, and one or more values for including or excluding an object from a job.

" + } + }, + "documentation": "

Specifies one or more conditions that determine which objects a classification job analyzes.

" + }, + "JobScopingBlock": { + "type": "structure", + "members": { + "and": { + "shape": "__listOfJobScopeTerm", + "locationName": "and", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "JobStatus": { + "type": "string", + "documentation": "

The current status of a classification job. Valid values are:

", + "enum": [ + "RUNNING", + "PAUSED", + "CANCELLED", + "COMPLETE", + "IDLE" + ] + }, + "JobSummary": { + "type": "structure", + "members": { + "bucketDefinitions": { + "shape": "__listOfS3BucketDefinitionForJob", + "locationName": "bucketDefinitions", + "documentation": "

The S3 buckets that the job is configured to analyze.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the job was created.

" + }, + "jobId": { + "shape": "__string", + "locationName": "jobId", + "documentation": "

The unique identifier for the job.

" + }, + "jobStatus": { + "shape": "JobStatus", + "locationName": "jobStatus", + "documentation": "

The current status of the job. Possible value are:

  • CANCELLED - The job was cancelled by you or a user of the master account for your organization. A job might also be cancelled if ownership of an S3 bucket changed while the job was running, and that change affected the job's access to the bucket.

  • COMPLETE - Amazon Macie finished processing all the data specified for the job.

  • IDLE - For a recurring job, the previous scheduled run is complete and the next scheduled run is pending. This value doesn't apply to jobs that occur only once.

  • PAUSED - Amazon Macie started the job, but completion of the job would exceed one or more quotas for your account.

  • RUNNING - The job is in progress.

" + }, + "jobType": { + "shape": "JobType", + "locationName": "jobType", + "documentation": "

The schedule for running the job. Possible value are:

  • ONE_TIME - The job ran or will run only once.

  • SCHEDULED - The job runs on a daily, weekly, or monthly basis.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The custom name of the job.

" + } + }, + "documentation": "

Provides information about a classification job, including the current status of the job.

" + }, + "JobType": { + "type": "string", + "documentation": "

The schedule for running a classification job. Valid values are:

", + "enum": [ + "ONE_TIME", + "SCHEDULED" + ] + }, + "KeyValuePair": { + "type": "structure", + "members": { + "key": { + "shape": "__string", + "locationName": "key", + "documentation": "

One part of a key-value pair that comprises a tag. A tag key is a general label that acts as a category for more specific tag values.

" + }, + "value": { + "shape": "__string", + "locationName": "value", + "documentation": "

One part of a key-value pair that comprises a tag. A tag value acts as a descriptor for a tag key. A tag value can be empty or null.

" + } + }, + "documentation": "

Provides information about the tags that are associated with an S3 bucket or object. Each tag consists of a required tag key and an associated tag value.

" + }, + "KeyValuePairList": { + "type": "list", + "documentation": "

Reserved for future use.

", + "member": { + "shape": "KeyValuePair" + } + }, + "ListClassificationJobsRequest": { + "type": "structure", + "members": { + "filterCriteria": { + "shape": "ListJobsFilterCriteria", + "locationName": "filterCriteria", + "documentation": "

The criteria to use to filter the results.

" + }, + "maxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of the response.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + }, + "sortCriteria": { + "shape": "ListJobsSortCriteria", + "locationName": "sortCriteria", + "documentation": "

The criteria to use to sort the results.

" + } + } + }, + "ListClassificationJobsResponse": { + "type": "structure", + "members": { + "items": { + "shape": "__listOfJobSummary", + "locationName": "items", + "documentation": "

An array of objects, one for each job that meets the filter criteria specified in the request.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListCustomDataIdentifiersRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of the response.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + } + } + }, + "ListCustomDataIdentifiersResponse": { + "type": "structure", + "members": { + "items": { + "shape": "__listOfCustomDataIdentifierSummary", + "locationName": "items", + "documentation": "

An array of objects, one for each custom data identifier.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListFindingsFiltersRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of a paginated response.

" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + } + } + }, + "ListFindingsFiltersResponse": { + "type": "structure", + "members": { + "findingsFilterListItems": { + "shape": "__listOfFindingsFilterListItem", + "locationName": "findingsFilterListItems", + "documentation": "

An array of objects, one for each filter that's associated with the account.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListFindingsRequest": { + "type": "structure", + "members": { + "findingCriteria": { + "shape": "FindingCriteria", + "locationName": "findingCriteria", + "documentation": "

The criteria to use to filter the results.

" + }, + "maxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of the response.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + }, + "sortCriteria": { + "shape": "SortCriteria", + "locationName": "sortCriteria", + "documentation": "

The criteria to use to sort the results.

" + } + } + }, + "ListFindingsResponse": { + "type": "structure", + "members": { + "findingIds": { + "shape": "__listOf__string", + "locationName": "findingIds", + "documentation": "

An array of strings, where each string is the unique identifier for a finding that meets the filter criteria specified in the request.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListInvitationsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of a paginated response.

" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + } + } + }, + "ListInvitationsResponse": { + "type": "structure", + "members": { + "invitations": { + "shape": "__listOfInvitation", + "locationName": "invitations", + "documentation": "

An array of objects, one for each invitation that was received by the account.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListJobsFilterCriteria": { + "type": "structure", + "members": { + "excludes": { + "shape": "__listOfListJobsFilterTerm", + "locationName": "excludes", + "documentation": "

An array of objects, one for each condition that determines which jobs to exclude from the results.

" + }, + "includes": { + "shape": "__listOfListJobsFilterTerm", + "locationName": "includes", + "documentation": "

An array of objects, one for each condition that determines which jobs to include in the results.

" + } + }, + "documentation": "

Specifies criteria for filtering the results of a request for information about classification jobs.

" + }, + "ListJobsFilterKey": { + "type": "string", + "documentation": "

The property to use to filter the results. Valid values are:

", + "enum": [ + "jobType", + "jobStatus", + "createdAt", + "name" + ] + }, + "ListJobsFilterTerm": { + "type": "structure", + "members": { + "comparator": { + "shape": "JobComparator", + "locationName": "comparator", + "documentation": "

The operator to use to filter the results.

" + }, + "key": { + "shape": "ListJobsFilterKey", + "locationName": "key", + "documentation": "

The property to use to filter the results.

" + }, + "values": { + "shape": "__listOf__string", + "locationName": "values", + "documentation": "

An array that lists one or more values to use to filter the results.

" + } + }, + "documentation": "

Specifies a condition that filters the results of a request for information about classification jobs. Each condition consists of a property, an operator, and one or more values.

" + }, + "ListJobsSortAttributeName": { + "type": "string", + "documentation": "

The property to sort the results by. Valid values are:

", + "enum": [ + "createdAt", + "jobStatus", + "name", + "jobType" + ] + }, + "ListJobsSortCriteria": { + "type": "structure", + "members": { + "attributeName": { + "shape": "ListJobsSortAttributeName", + "locationName": "attributeName", + "documentation": "

The property to sort the results by.

" + }, + "orderBy": { + "shape": "OrderBy", + "locationName": "orderBy", + "documentation": "

The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" + } + }, + "documentation": "

Specifies criteria for sorting the results of a request for information about classification jobs.

" + }, + "ListMembersRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of a paginated response.

" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + }, + "onlyAssociated": { + "shape": "__string", + "location": "querystring", + "locationName": "onlyAssociated", + "documentation": "

Specifies which accounts to include in the response, based on the status of an account's relationship with the master account. By default, the response includes only current member accounts. To include all accounts, set the value for this parameter to false.

" + } + } + }, + "ListMembersResponse": { + "type": "structure", + "members": { + "members": { + "shape": "__listOfMember", + "locationName": "members", + "documentation": "

An array of objects, one for each account that's associated with the master account and meets the criteria specified by the onlyAssociated request parameter.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListOrganizationAdminAccountsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "

The maximum number of items to include in each page of a paginated response.

" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

The nextToken string that specifies which page of results to return in a paginated response.

" + } + } + }, + "ListOrganizationAdminAccountsResponse": { + "type": "structure", + "members": { + "adminAccounts": { + "shape": "__listOfAdminAccount", + "locationName": "adminAccounts", + "documentation": "

An array of objects, one for each account that's designated as a delegated administrator of Amazon Macie for the AWS organization. Of those accounts, only one can have a status of ENABLED.

" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "

The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

" + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "

The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

" + } + }, + "required": [ + "resourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the resource.

" + } + } + }, + "MacieStatus": { + "type": "string", + "documentation": "

The status of an Amazon Macie account. Valid values are:

", + "enum": [ + "PAUSED", + "ENABLED" + ] + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 25 + }, + "Member": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the account.

" + }, + "email": { + "shape": "__string", + "locationName": "email", + "documentation": "

The email address for the account.

" + }, + "invitedAt": { + "shape": "__timestampIso8601", + "locationName": "invitedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when an Amazon Macie membership invitation was last sent to the account. This value is null if a Macie invitation hasn't been sent to the account.

" + }, + "masterAccountId": { + "shape": "__string", + "locationName": "masterAccountId", + "documentation": "

The AWS account ID for the master account.

" + }, + "relationshipStatus": { + "shape": "RelationshipStatus", + "locationName": "relationshipStatus", + "documentation": "

The current status of the relationship between the account and the master account.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that identifies the tags (keys and values) that are associated with the account in Amazon Macie.

" + }, + "updatedAt": { + "shape": "__timestampIso8601", + "locationName": "updatedAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, of the most recent change to the status of the relationship between the account and the master account.

" + } + }, + "documentation": "

Provides information about an account that's associated with an Amazon Macie master account.

" + }, + "MonthlySchedule": { + "type": "structure", + "members": { + "dayOfMonth": { + "shape": "__integer", + "locationName": "dayOfMonth", + "documentation": "

Run the job once a month, on a specific day of the month. This value can be an integer from 1 through 30.

" + } + }, + "documentation": "

Run the job once a month, on a specific day of the month. This value can be an integer from 1 through 30.

" + }, + "ObjectCountByEncryptionType": { + "type": "structure", + "members": { + "customerManaged": { + "shape": "__long", + "locationName": "customerManaged", + "documentation": "

Reserved for future use.

" + }, + "kmsManaged": { + "shape": "__long", + "locationName": "kmsManaged", + "documentation": "

Reserved for future use.

" + }, + "s3Managed": { + "shape": "__long", + "locationName": "s3Managed", + "documentation": "

Reserved for future use.

" + }, + "unencrypted": { + "shape": "__long", + "locationName": "unencrypted", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

The total number of objects that are in the bucket, grouped by server-side encryption type. This includes a grouping that reports the total number of objects that aren't encrypted.

" + }, + "OrderBy": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + }, + "PolicyDetails": { + "type": "structure", + "members": { + "action": { + "shape": "FindingAction", + "locationName": "action", + "documentation": "

The action that occurred and produced the finding.

" + }, + "actor": { + "shape": "FindingActor", + "locationName": "actor", + "documentation": "

The entity who performed the action that produced the finding.

" + } + }, + "documentation": "

Provides detailed information about a policy finding.

" + }, + "PutClassificationExportConfigurationRequest": { + "type": "structure", + "members": { + "configuration": { + "shape": "ClassificationExportConfiguration", + "locationName": "configuration", + "documentation": "

The location to export data classification results to, and the encryption settings to use when storing results in that location.

" + } + }, + "required": [ + "configuration" + ] + }, + "PutClassificationExportConfigurationResponse": { + "type": "structure", + "members": { + "configuration": { + "shape": "ClassificationExportConfiguration", + "locationName": "configuration", + "documentation": "

The location that data classification results are exported to, and the encryption settings that are used when storing results in that location.

" + } + } + }, + "RelationshipStatus": { + "type": "string", + "documentation": "

The current status of the relationship between an account and an associated Amazon Macie master account (inviter account). Possible values are:

", + "enum": [ + "Enabled", + "Paused", + "Invited", + "Created", + "Removed", + "Resigned", + "EmailVerificationInProgress", + "EmailVerificationFailed" + ] + }, + "ReplicationDetails": { + "type": "structure", + "members": { + "replicated": { + "shape": "__boolean", + "locationName": "replicated", + "documentation": "

Specifies whether the bucket is configured to replicate one or more objects to any destination.

" + }, + "replicatedExternally": { + "shape": "__boolean", + "locationName": "replicatedExternally", + "documentation": "

Specifies whether the bucket is configured to replicate one or more objects to an AWS account that isn't part of the Amazon Macie organization.

" + }, + "replicationAccounts": { + "shape": "__listOf__string", + "locationName": "replicationAccounts", + "documentation": "

An array of AWS account IDs, one for each AWS account that the bucket is configured to replicate one or more objects to.

" + } + }, + "documentation": "

Provides information about settings that define whether one or more objects in an S3 bucket are replicated to S3 buckets for other AWS accounts and, if so, which accounts.

" + }, + "ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred because a specified resource wasn't found.

", + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "ResourcesAffected": { + "type": "structure", + "members": { + "s3Bucket": { + "shape": "S3Bucket", + "locationName": "s3Bucket", + "documentation": "

An array of objects, one for each S3 bucket that the finding applies to. Each object provides a set of metadata about an affected S3 bucket.

" + }, + "s3Object": { + "shape": "S3Object", + "locationName": "s3Object", + "documentation": "

An array of objects, one for each S3 object that the finding applies to. Each object provides a set of metadata about an affected S3 object.

" + } + }, + "documentation": "

Provides information about the resources that a finding applies to.

" + }, + "S3Bucket": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the bucket.

" + }, + "createdAt": { + "shape": "__timestampIso8601", + "locationName": "createdAt", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the bucket was created.

" + }, + "defaultServerSideEncryption": { + "shape": "ServerSideEncryption", + "locationName": "defaultServerSideEncryption", + "documentation": "

The server-side encryption settings for the bucket.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

The name of the bucket.

" + }, + "owner": { + "shape": "S3BucketOwner", + "locationName": "owner", + "documentation": "

The display name and account identifier for the user who owns the bucket.

" + }, + "publicAccess": { + "shape": "BucketPublicAccess", + "locationName": "publicAccess", + "documentation": "

The permissions settings that determine whether the bucket is publicly accessible.

" + }, + "tags": { + "shape": "KeyValuePairList", + "locationName": "tags", + "documentation": "

The tags that are associated with the bucket.

" + } + }, + "documentation": "

Provides information about an S3 bucket that a finding applies to.

" + }, + "S3BucketDefinitionForJob": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The unique identifier for the AWS account that owns one or more of the buckets. If specified, the job analyzes objects in all the buckets that are owned by the account and meet other conditions specified for the job.

" + }, + "buckets": { + "shape": "__listOf__string", + "locationName": "buckets", + "documentation": "

An array that lists the names of the buckets.

" + } + }, + "documentation": "

Specifies which S3 buckets contain the objects that a classification job analyzes.

" + }, + "S3BucketOwner": { + "type": "structure", + "members": { + "displayName": { + "shape": "__string", + "locationName": "displayName", + "documentation": "

The display name of the user who owns the bucket.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The AWS account ID for the user who owns the bucket.

" + } + }, + "documentation": "

Provides information about the user who owns an S3 bucket.

" + }, + "S3Destination": { + "type": "structure", + "members": { + "bucketName": { + "shape": "__string", + "locationName": "bucketName", + "documentation": "

The Amazon Resource Name (ARN) of the bucket. This must be the ARN of an existing bucket.

" + }, + "keyPrefix": { + "shape": "__string", + "locationName": "keyPrefix", + "documentation": "

The path prefix to use in the path to the location in the bucket. This prefix specifies where to store classification results in the bucket.

" + }, + "kmsKeyArn": { + "shape": "__string", + "locationName": "kmsKeyArn", + "documentation": "

The Amazon Resource Name (ARN) of the AWS Key Management Service master key to use for encryption of the exported results. This must be the ARN of an existing KMS key. In addition, the key must be in the same AWS Region as the bucket.

" + } + }, + "documentation": "

Specifies an S3 bucket to export data classification results to, and the encryption settings to use when storing results in that bucket.

", + "required": [ + "bucketName", + "kmsKeyArn" + ] + }, + "S3JobDefinition": { + "type": "structure", + "members": { + "bucketDefinitions": { + "shape": "__listOfS3BucketDefinitionForJob", + "locationName": "bucketDefinitions", + "documentation": "

An array of objects, one for each bucket that contains objects to analyze.

" + }, + "scoping": { + "shape": "Scoping", + "locationName": "scoping", + "documentation": "

A JobScopeTerm object that specifies conditions for including or excluding objects from the job.

" + } + }, + "documentation": "

Specifies which S3 buckets contain the objects that a classification job analyzes, and the scope of that analysis.

" + }, + "S3Object": { + "type": "structure", + "members": { + "bucketArn": { + "shape": "__string", + "locationName": "bucketArn", + "documentation": "

The Amazon Resource Name (ARN) of the bucket that contains the object.

" + }, + "eTag": { + "shape": "__string", + "locationName": "eTag", + "documentation": "

The entity tag (ETag) that identifies the affected version of the object. If the object was overwritten or changed after Amazon Macie produced the finding, this value might be different from the current ETag for the object.

" + }, + "extension": { + "shape": "__string", + "locationName": "extension", + "documentation": "

The file extension of the object. If the object doesn't have a file extension, this value is \"\".

" + }, + "key": { + "shape": "__string", + "locationName": "key", + "documentation": "

The full key (name) that's assigned to the object.

" + }, + "lastModified": { + "shape": "__timestampIso8601", + "locationName": "lastModified", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the object was last modified.

" + }, + "path": { + "shape": "__string", + "locationName": "path", + "documentation": "

The path to the object, including the full key (name).

" + }, + "publicAccess": { + "shape": "__boolean", + "locationName": "publicAccess", + "documentation": "

Specifies whether the object is publicly accessible due to the combination of permissions settings that apply to the object.

" + }, + "serverSideEncryption": { + "shape": "ServerSideEncryption", + "locationName": "serverSideEncryption", + "documentation": "

The server-side encryption settings for the object.

" + }, + "size": { + "shape": "__long", + "locationName": "size", + "documentation": "

The total storage size, in bytes, of the object.

" + }, + "storageClass": { + "shape": "StorageClass", + "locationName": "storageClass", + "documentation": "

The storage class of the object.

" + }, + "tags": { + "shape": "KeyValuePairList", + "locationName": "tags", + "documentation": "

The tags that are associated with the object.

" + }, + "versionId": { + "shape": "__string", + "locationName": "versionId", + "documentation": "

The identifier for the affected version of the object.

" + } + }, + "documentation": "

Provides information about an S3 object that a finding applies to.

" + }, + "ScopeFilterKey": { + "type": "string", + "documentation": "

The property to use in a condition that determines which objects are analyzed by a classification job. Valid values are:

", + "enum": [ + "BUCKET_CREATION_DATE", + "OBJECT_EXTENSION", + "OBJECT_LAST_MODIFIED_DATE", + "OBJECT_SIZE", + "TAG" + ] + }, + "Scoping": { + "type": "structure", + "documentation": "

An object that specifies conditions for including or excluding objects from the job.

", + "members": { + "excludes": { + "shape": "JobScopingBlock", + "locationName": "excludes", + "documentation": "

Reserved for future use.

" + }, + "includes": { + "shape": "JobScopingBlock", + "locationName": "includes", + "documentation": "

Reserved for future use.

" + } + } + }, + "SensitiveData": { + "type": "list", + "documentation": "

Provides information about the category and number of occurrences of sensitive data that produced a finding.

", + "member": { + "shape": "SensitiveDataItem" + } + }, + "SensitiveDataItem": { + "type": "structure", + "members": { + "category": { + "shape": "SensitiveDataItemCategory", + "locationName": "category", + "documentation": "

The category of sensitive data that was detected. For example, FINANCIAL_INFORMATION, for financial information such as credit card numbers, or PERSONAL_INFORMATION, for personally identifiable information such as names and addresses.

" + }, + "detections": { + "shape": "DefaultDetections", + "locationName": "detections", + "documentation": "

An array of objects, one for each type of sensitive data that was detected. Each object reports the number of occurrences of a specific type of sensitive data that was detected.

" + }, + "totalCount": { + "shape": "__long", + "locationName": "totalCount", + "documentation": "

The total number of occurrences of the sensitive data that was detected.

" + } + }, + "documentation": "

Provides information about the category, type, and number of occurrences of sensitive data that produced a finding.

" + }, + "SensitiveDataItemCategory": { + "type": "string", + "enum": [ + "FINANCIAL_INFORMATION", + "PERSONAL_INFORMATION", + "CREDENTIALS", + "CUSTOM_IDENTIFIER" + ] + }, + "ServerSideEncryption": { + "type": "structure", + "members": { + "encryptionType": { + "shape": "EncryptionType", + "locationName": "encryptionType", + "documentation": "

The server-side encryption algorithm that's used when storing data in the bucket or object. If encryption is disabled for the bucket or object, this value is NONE.

" + }, + "kmsMasterKeyId": { + "shape": "__string", + "locationName": "kmsMasterKeyId", + "documentation": "

The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) master key that's used to encrypt the bucket or object. This value is null if KMS isn't used to encrypt the bucket or object.

" + } + }, + "documentation": "

Provides information about the server-side encryption settings for an S3 bucket or object.

" + }, + "ServiceLimit": { + "type": "structure", + "members": { + "isServiceLimited": { + "shape": "__boolean", + "locationName": "isServiceLimited", + "documentation": "

Specifies whether the account has met the quota that corresponds to the metric specified by the UsageByAccount.type field in the response.

" + }, + "unit": { + "shape": "Unit", + "locationName": "unit", + "documentation": "

The unit of measurement for the value specified by the value field.

" + }, + "value": { + "shape": "__long", + "locationName": "value", + "documentation": "

The value for the metric specified by the UsageByAccount.type field in the response.

" + } + }, + "documentation": "

Specifies a current quota for an account.

" + }, + "ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred due to one or more service quotas for an account.

", + "exception": true, + "error": { + "httpStatusCode": 402 + } + }, + "SessionContext": { + "type": "structure", + "members": { + "attributes": { + "shape": "SessionContextAttributes", + "locationName": "attributes", + "documentation": "

The date and time when the credentials were issued, and whether the credentials were authenticated with a multi-factor authentication (MFA) device.

" + }, + "sessionIssuer": { + "shape": "SessionIssuer", + "locationName": "sessionIssuer", + "documentation": "

The source and type of credentials that the entity obtained.

" + } + }, + "documentation": "

Provides information about a session that was created for an entity who performed an action by using temporary security credentials.

" + }, + "SessionContextAttributes": { + "type": "structure", + "members": { + "creationDate": { + "shape": "__timestampIso8601", + "locationName": "creationDate", + "documentation": "

The date and time, in ISO 8601 format, when the credentials were issued.

" + }, + "mfaAuthenticated": { + "shape": "__boolean", + "locationName": "mfaAuthenticated", + "documentation": "

Specifies whether the credentials were authenticated with a multi-factor authentication (MFA) device.

" + } + }, + "documentation": "

Provides information about the context in which temporary security credentials were issued to an entity.

" + }, + "SessionIssuer": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The account that owns the entity that was used to get the credentials.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the source account, IAM user, or role that was used to get the credentials.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

The internal identifier for the entity that was used to get the credentials.

" + }, + "type": { + "shape": "__string", + "locationName": "type", + "documentation": "

The source of the temporary security credentials, such as Root, IAMUser, or Role.

" + }, + "userName": { + "shape": "__string", + "locationName": "userName", + "documentation": "

The name or alias of the user or role that issued the session. This value is null if the credentials were obtained from a root account that doesn't have an alias.

" + } + }, + "documentation": "

Provides information about the source and type of temporary security credentials that were issued to an entity.

" + }, + "Severity": { + "type": "structure", + "members": { + "description": { + "shape": "SeverityDescription", + "locationName": "description", + "documentation": "

The textual representation of the severity value, such as Low or High.

" + }, + "score": { + "shape": "__long", + "locationName": "score", + "documentation": "

The numeric score for the severity value, ranging from 0 (least severe) to 4 (most severe).

" + } + }, + "documentation": "

Provides the numeric score and textual representation of a severity value.

" + }, + "SeverityDescription": { + "type": "string", + "documentation": "

The textual representation of the finding's severity. Valid values are:

", + "enum": [ + "Low", + "Medium", + "High" + ] + }, + "SharedAccess": { + "type": "string", + "enum": [ + "EXTERNAL", + "INTERNAL", + "NOT_SHARED" + ] + }, + "SimpleScopeTerm": { + "type": "structure", + "members": { + "comparator": { + "shape": "JobComparator", + "locationName": "comparator", + "documentation": "

The operator to use in the condition.

" + }, + "key": { + "shape": "ScopeFilterKey", + "locationName": "key", + "documentation": "

The property to use in the condition.

" + }, + "values": { + "shape": "__listOf__string", + "locationName": "values", + "documentation": "

An array that lists one or more values to use in the condition.

" + } + }, + "documentation": "

Specifies a property-based condition that determines whether an object is included or excluded from a classification job.

" + }, + "SortCriteria": { + "type": "structure", + "members": { + "attributeName": { + "shape": "__string", + "locationName": "attributeName", + "documentation": "

The name of the property to sort the results by. This value can be the name of any property that Amazon Macie defines for a finding.

" + }, + "orderBy": { + "shape": "OrderBy", + "locationName": "orderBy", + "documentation": "

The sort order to apply to the results, based on the value for the property specified by the attributeName property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" + } + }, + "documentation": "

Specifies criteria for sorting the results of a request for information about findings.

" + }, + "Statistics": { + "type": "structure", + "members": { + "approximateNumberOfObjectsToProcess": { + "shape": "__double", + "locationName": "approximateNumberOfObjectsToProcess", + "documentation": "

The approximate number of objects that the job has yet to process during its current run.

" + }, + "numberOfRuns": { + "shape": "__double", + "locationName": "numberOfRuns", + "documentation": "

The number of times that the job has run.

" + } + }, + "documentation": "

Provides processing statistics for a classification job.

" + }, + "StorageClass": { + "type": "string", + "documentation": "

The storage class of the S3 bucket or object. Valid values are:

", + "enum": [ + "STANDARD", + "REDUCED_REDUNDANCY", + "STANDARD_IA", + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE", + "ONEZONE_IA", + "GLACIER" + ] + }, + "TagMap": { + "type": "map", + "documentation": "

A string-to-string map of key-value pairs that specifies the tags (keys and values) for a classification job, custom data identifier, findings filter, or member account.

", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "

The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

" + }, + "tags": { + "shape": "TagMap", + "locationName": "tags", + "documentation": "

A map of key-value pairs that specifies the tags to associate with the resource.

A resource can have a maximum of 50 tags. Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

" + } + }, + "required": [ + "resourceArn", + "tags" + ] + }, + "TagResourceResponse": { + "type": "structure", + "members": {} + }, + "TagScopeTerm": { + "type": "structure", + "members": { + "comparator": { + "shape": "JobComparator", + "locationName": "comparator", + "documentation": "

The operator to use in the condition.

" + }, + "key": { + "shape": "__string", + "locationName": "key", + "documentation": "

The tag key to use in the condition.

" + }, + "tagValues": { + "shape": "__listOfTagValuePair", + "locationName": "tagValues", + "documentation": "

The tag key and value pairs to use in the condition.

" + }, + "target": { + "shape": "TagTarget", + "locationName": "target", + "documentation": "

The type of object to apply the condition to.

" + } + }, + "documentation": "

Specifies a tag-based condition that determines whether an object is included or excluded from a classification job.

" + }, + "TagTarget": { + "type": "string", + "documentation": "

The type of object to apply a tag-based condition to. Valid values are:

", + "enum": [ + "S3_OBJECT" + ] + }, + "TagValuePair": { + "type": "structure", + "members": { + "key": { + "shape": "__string", + "locationName": "key", + "documentation": "

The value for the tag key to use in the condition.

" + }, + "value": { + "shape": "__string", + "locationName": "value", + "documentation": "

The tag value, associated with the specified tag key, to use in the condition.

" + } + }, + "documentation": "

Specifies a tag key and value, as a pair, to use in a tag-based condition for a classification job.

" + }, + "TestCustomDataIdentifierRequest": { + "type": "structure", + "members": { + "ignoreWords": { + "shape": "__listOf__string", + "locationName": "ignoreWords", + "documentation": "

An array that lists specific character sequences (ignore words) to exclude from the results. If the text matched by the regular expression is the same as any string in this array, Amazon Macie ignores it. The array can contain as many as 10 ignore words. Each ignore word can contain 4 - 90 characters.

" + }, + "keywords": { + "shape": "__listOf__string", + "locationName": "keywords", + "documentation": "

An array that lists specific character sequences (keywords), one of which must be within proximity (maximumMatchDistance) of the regular expression to match. The array can contain as many as 50 keywords. Each keyword can contain 4 - 90 characters.

" + }, + "maximumMatchDistance": { + "shape": "__integer", + "locationName": "maximumMatchDistance", + "documentation": "

The maximum number of characters that can exist between text that matches the regex pattern and the character sequences specified by the keywords array. Macie includes or excludes a result based on the proximity of a keyword to text that matches the regex pattern. The distance can be 1 - 300 characters. The default value is 300.

" + }, + "regex": { + "shape": "__string", + "locationName": "regex", + "documentation": "

The regular expression (regex) that defines the pattern to match. The expression can contain as many as 500 characters.

" + }, + "sampleText": { + "shape": "__string", + "locationName": "sampleText", + "documentation": "

The sample text to inspect by using the custom data identifier. The text can contain as many as 1,000 characters.

" + } + }, + "required": [ + "regex", + "sampleText" + ] + }, + "TestCustomDataIdentifierResponse": { + "type": "structure", + "members": { + "matchCount": { + "shape": "__integer", + "locationName": "matchCount", + "documentation": "

The number of instances of sample text that matched the detection criteria specified in the custom data identifier.

" + } + } + }, + "ThrottlingException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred because too many requests were sent during a certain amount of time.

", + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "UnarchiveFindingsRequest": { + "type": "structure", + "members": { + "findingIds": { + "shape": "__listOf__string", + "locationName": "findingIds", + "documentation": "

An array of strings that lists the unique identifiers for the findings to reactivate.

" + } + }, + "required": [ + "findingIds" + ] + }, + "UnarchiveFindingsResponse": { + "type": "structure", + "members": {} + }, + "Unit": { + "type": "string", + "enum": [ + "TERABYTES" + ] + }, + "UnprocessedAccount": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account that the request applies to.

" + }, + "errorCode": { + "shape": "ErrorCode", + "locationName": "errorCode", + "documentation": "

The source of the issue or delay in processing the request.

" + }, + "errorMessage": { + "shape": "__string", + "locationName": "errorMessage", + "documentation": "

The reason why the request hasn't been processed.

" + } + }, + "documentation": "

Provides information about an account-related request that hasn't been processed.

" + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "

The Amazon Resource Name (ARN) of the classification job, custom data identifier, findings filter, or member account.

" + }, + "tagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "

The key of the tag to remove from the resource. To remove multiple tags, append the tagKeys parameter and argument for each additional tag to remove, separated by an ampersand (&).

" + } + }, + "required": [ + "tagKeys", + "resourceArn" + ] + }, + "UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "UpdateClassificationJobRequest": { + "type": "structure", + "members": { + "jobId": { + "shape": "__string", + "location": "uri", + "locationName": "jobId", + "documentation": "

The unique identifier for the classification job.

" + }, + "jobStatus": { + "shape": "JobStatus", + "locationName": "jobStatus", + "documentation": "

The status to change the job's status to. The only supported value is CANCELLED, which cancels the job completely.

" + } + }, + "required": [ + "jobId", + "jobStatus" + ] + }, + "UpdateClassificationJobResponse": { + "type": "structure", + "members": {} + }, + "UpdateFindingsFilterRequest": { + "type": "structure", + "members": { + "action": { + "shape": "FindingsFilterAction", + "locationName": "action", + "documentation": "

The action to perform on findings that meet the filter criteria (findingCriteria). Valid values are: ARCHIVE, automatically archive the findings; and, NOOP, don't perform any action on the findings.

" + }, + "description": { + "shape": "__string", + "locationName": "description", + "documentation": "

A custom description of the filter. The description can contain as many as 512 characters.

We strongly recommend that you avoid including any sensitive data in the description of a filter. Other users might be able to see the filter's description, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "findingCriteria": { + "shape": "FindingCriteria", + "locationName": "findingCriteria", + "documentation": "

The criteria to use to filter findings.

" + }, + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + }, + "name": { + "shape": "__string", + "locationName": "name", + "documentation": "

A custom name for the filter. The name must contain at least 3 characters and can contain as many as 64 characters.

We strongly recommend that you avoid including any sensitive data in the name of a filter. Other users might be able to see the filter's name, depending on the actions that they're allowed to perform in Amazon Macie.

" + }, + "position": { + "shape": "__integer", + "locationName": "position", + "documentation": "

The position of the filter in the list of saved filters on the Amazon Macie console. This value also determines the order in which the filter is applied to findings, relative to other filters that are also applied to the findings.

" + } + }, + "required": [ + "id" + ] + }, + "UpdateFindingsFilterResponse": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

The Amazon Resource Name (ARN) of the filter that was updated.

" + }, + "id": { + "shape": "__string", + "locationName": "id", + "documentation": "

The unique identifier for the filter that was updated.

" + } + } + }, + "UpdateMacieSessionRequest": { + "type": "structure", + "members": { + "findingPublishingFrequency": { + "shape": "FindingPublishingFrequency", + "locationName": "findingPublishingFrequency", + "documentation": "Specifies how often to publish findings for the account. This includes adding findings to AWS Security Hub and exporting finding events to Amazon CloudWatch." + }, + "status": { + "shape": "MacieStatus", + "locationName": "status", + "documentation": "

Specifies whether to change the status of the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account.

" + } + } + }, + "UpdateMacieSessionResponse": { + "type": "structure", + "members": {} + }, + "UpdateMemberSessionRequest": { + "type": "structure", + "members": { + "id": { + "shape": "__string", + "location": "uri", + "locationName": "id", + "documentation": "

The unique identifier for the Amazon Macie resource or account that the request applies to.

" + }, + "status": { + "shape": "MacieStatus", + "locationName": "status", + "documentation": "

Specifies the new status for the account. Valid values are: ENABLED, resume all Amazon Macie activities for the account; and, PAUSED, suspend all Macie activities for the account.

" + } + }, + "required": [ + "id", + "status" + ] + }, + "UpdateMemberSessionResponse": { + "type": "structure", + "members": {} + }, + "UpdateOrganizationConfigurationRequest": { + "type": "structure", + "members": { + "autoEnable": { + "shape": "__boolean", + "locationName": "autoEnable", + "documentation": "

Specifies whether Amazon Macie is enabled automatically for each account, when the account is added to the AWS organization.

" + } + }, + "required": [ + "autoEnable" + ] + }, + "UpdateOrganizationConfigurationResponse": { + "type": "structure", + "members": {} + }, + "UsageByAccount": { + "type": "structure", + "members": { + "currency": { + "shape": "Currency", + "locationName": "currency", + "documentation": "

The type of currency that the value for the metric (estimatedCost) is reported in.

" + }, + "estimatedCost": { + "shape": "__string", + "locationName": "estimatedCost", + "documentation": "

The estimated value for the metric.

" + }, + "serviceLimit": { + "shape": "ServiceLimit", + "locationName": "serviceLimit", + "documentation": "

The current value for the quota that corresponds to the metric specified by the type field.

" + }, + "type": { + "shape": "UsageType", + "locationName": "type", + "documentation": "

The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

" + } + }, + "documentation": "

Provides data for a specific usage metric and the corresponding quota for an account. The value for the metric is an aggregated value that reports usage during the past 30 days.

" + }, + "UsageRecord": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

The AWS account ID for the account that the data applies to.

" + }, + "freeTrialStartDate": { + "shape": "__timestampIso8601", + "locationName": "freeTrialStartDate", + "documentation": "

The date and time, in UTC and extended ISO 8601 format, when the free trial period started for the account. This value is null if the account didn't participate in the free trial.

" + }, + "usage": { + "shape": "__listOfUsageByAccount", + "locationName": "usage", + "documentation": "

An array of objects that contains usage data and quotas for the account. Each object contains the data for a specific usage metric and the corresponding quota.

" + } + }, + "documentation": "

Provides quota and aggregated usage data for an account.

" + }, + "UsageStatisticsFilter": { + "type": "structure", + "members": { + "key": { + "shape": "UsageStatisticsFilterKey", + "locationName": "key", + "documentation": "

The field to use to filter the results. The only supported value is accountId.

" + }, + "values": { + "shape": "__listOf__string", + "locationName": "values", + "documentation": "

An array that lists the AWS account ID for each account to include in the results.

" + } + }, + "documentation": "

Specifies criteria for filtering the results of a query for account quotas and usage data.

" + }, + "UsageStatisticsFilterKey": { + "type": "string", + "documentation": "

The field to use to filter the results of a query for account quotas and usage data.

", + "enum": [ + "accountId" + ] + }, + "UsageStatisticsSortBy": { + "type": "structure", + "members": { + "key": { + "shape": "UsageStatisticsSortKey", + "locationName": "key", + "documentation": "

The field to sort the results by.

" + }, + "orderBy": { + "shape": "OrderBy", + "locationName": "orderBy", + "documentation": "

The sort order to apply to the results, based on the value for the field specified by the key property. Valid values are: ASC, sort the results in ascending order; and, DESC, sort the results in descending order.

" + } + }, + "documentation": "

Specifies criteria for sorting the results of a query for account quotas and usage data.

" + }, + "UsageStatisticsSortKey": { + "type": "string", + "documentation": "

The field to use to sort the results of a query for account quotas and usage data.

", + "enum": [ + "accountId", + "total" + ] + }, + "UsageTotal": { + "type": "structure", + "members": { + "currency": { + "shape": "Currency", + "locationName": "currency", + "documentation": "

The type of currency that the value for the metric (estimatedCost) is reported in.

" + }, + "estimatedCost": { + "shape": "__string", + "locationName": "estimatedCost", + "documentation": "

The estimated value for the metric.

" + }, + "type": { + "shape": "UsageType", + "locationName": "type", + "documentation": "

The name of the metric. Possible values are: DATA_INVENTORY_EVALUATION, for monitoring S3 buckets; and, SENSITIVE_DATA_DISCOVERY, for analyzing sensitive data.

" + } + }, + "documentation": "

Provides aggregated data for a usage metric. The value for the metric reports usage data for an account during the past 30 days.

" + }, + "UsageType": { + "type": "string", + "documentation": "

The name of a usage metric for an account. Possible values are:

", + "enum": [ + "DATA_INVENTORY_EVALUATION", + "SENSITIVE_DATA_DISCOVERY" + ] + }, + "UserIdentity": { + "type": "structure", + "members": { + "assumedRole": { + "shape": "AssumedRole", + "locationName": "assumedRole" + }, + "awsAccount": { + "shape": "AwsAccount", + "locationName": "awsAccount" + }, + "awsService": { + "shape": "AwsService", + "locationName": "awsService" + }, + "federatedUser": { + "shape": "FederatedUser", + "locationName": "federatedUser" + }, + "iamUser": { + "shape": "IamUser", + "locationName": "iamUser" + }, + "root": { + "shape": "UserIdentityRoot", + "locationName": "root" + }, + "type": { + "shape": "UserIdentityType", + "locationName": "type" + } + }, + "documentation": "

The name and type of entity who performed the action on the affected resource.

" + }, + "UserIdentityRoot": { + "type": "structure", + "members": { + "accountId": { + "shape": "__string", + "locationName": "accountId", + "documentation": "

Reserved for future use.

" + }, + "arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "

Reserved for future use.

" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId", + "documentation": "

Reserved for future use.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "UserIdentityType": { + "type": "string", + "documentation": "

Reserved for future use.

", + "enum": [ + "AssumedRole", + "IAMUser", + "FederatedUser", + "Root", + "AWSAccount", + "AWSService" + ] + }, + "ValidationException": { + "type": "structure", + "members": { + "message": { + "shape": "__string", + "locationName": "message", + "documentation": "

The explanation of the error that occurred.

" + } + }, + "documentation": "

Provides information about an error that occurred due to a syntax error in a request.

", + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "WeeklySchedule": { + "type": "structure", + "members": { + "dayOfWeek": { + "shape": "DayOfWeek", + "locationName": "dayOfWeek", + "documentation": "

Run the job once a week, on a specific day of the week. Valid values are: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, and SUNDAY.

" + } + }, + "documentation": "

Reserved for future use.

" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfAdminAccount": { + "type": "list", + "member": { + "shape": "AdminAccount" + } + }, + "__listOfBatchGetCustomDataIdentifierSummary": { + "type": "list", + "member": { + "shape": "BatchGetCustomDataIdentifierSummary" + } + }, + "__listOfBucketMetadata": { + "type": "list", + "member": { + "shape": "BucketMetadata" + } + }, + "__listOfCustomDataIdentifierSummary": { + "type": "list", + "member": { + "shape": "CustomDataIdentifierSummary" + } + }, + "__listOfFinding": { + "type": "list", + "member": { + "shape": "Finding" + } + }, + "__listOfFindingType": { + "type": "list", + "member": { + "shape": "FindingType" + } + }, + "__listOfFindingsFilterListItem": { + "type": "list", + "member": { + "shape": "FindingsFilterListItem" + } + }, + "__listOfGroupCount": { + "type": "list", + "member": { + "shape": "GroupCount" + } + }, + "__listOfInvitation": { + "type": "list", + "member": { + "shape": "Invitation" + } + }, + "__listOfJobScopeTerm": { + "type": "list", + "member": { + "shape": "JobScopeTerm" + } + }, + "__listOfJobSummary": { + "type": "list", + "member": { + "shape": "JobSummary" + } + }, + "__listOfKeyValuePair": { + "type": "list", + "member": { + "shape": "KeyValuePair" + } + }, + "__listOfListJobsFilterTerm": { + "type": "list", + "member": { + "shape": "ListJobsFilterTerm" + } + }, + "__listOfMember": { + "type": "list", + "member": { + "shape": "Member" + } + }, + "__listOfS3BucketDefinitionForJob": { + "type": "list", + "member": { + "shape": "S3BucketDefinitionForJob" + } + }, + "__listOfTagValuePair": { + "type": "list", + "member": { + "shape": "TagValuePair" + } + }, + "__listOfUnprocessedAccount": { + "type": "list", + "member": { + "shape": "UnprocessedAccount" + } + }, + "__listOfUsageByAccount": { + "type": "list", + "member": { + "shape": "UsageByAccount" + } + }, + "__listOfUsageRecord": { + "type": "list", + "member": { + "shape": "UsageRecord" + } + }, + "__listOfUsageStatisticsFilter": { + "type": "list", + "member": { + "shape": "UsageStatisticsFilter" + } + }, + "__listOfUsageTotal": { + "type": "list", + "member": { + "shape": "UsageTotal" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + } + }, + "documentation": "

Amazon Macie

" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/managedblockchain/2018-09-24/paginators-1.json python-botocore-1.16.19+repack/botocore/data/managedblockchain/2018-09-24/paginators-1.json --- python-botocore-1.4.70/botocore/data/managedblockchain/2018-09-24/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/managedblockchain/2018-09-24/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/managedblockchain/2018-09-24/service-2.json python-botocore-1.16.19+repack/botocore/data/managedblockchain/2018-09-24/service-2.json --- python-botocore-1.4.70/botocore/data/managedblockchain/2018-09-24/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/managedblockchain/2018-09-24/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2050 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-24", + "endpointPrefix":"managedblockchain", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"ManagedBlockchain", + "serviceFullName":"Amazon Managed Blockchain", + "serviceId":"ManagedBlockchain", + "signatureVersion":"v4", + "signingName":"managedblockchain", + "uid":"managedblockchain-2018-09-24" + }, + "operations":{ + "CreateMember":{ + "name":"CreateMember", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/members" + }, + "input":{"shape":"CreateMemberInput"}, + "output":{"shape":"CreateMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a member within a Managed Blockchain network.

" + }, + "CreateNetwork":{ + "name":"CreateNetwork", + "http":{ + "method":"POST", + "requestUri":"/networks" + }, + "input":{"shape":"CreateNetworkInput"}, + "output":{"shape":"CreateNetworkOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a new blockchain network using Amazon Managed Blockchain.

" + }, + "CreateNode":{ + "name":"CreateNode", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes" + }, + "input":{"shape":"CreateNodeInput"}, + "output":{"shape":"CreateNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a peer node in a member.

" + }, + "CreateProposal":{ + "name":"CreateProposal", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/proposals" + }, + "input":{"shape":"CreateProposalInput"}, + "output":{"shape":"CreateProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Creates a proposal for a change to the network that other members of the network can vote on, for example, a proposal to add a new member to the network. Any member can create a proposal.

" + }, + "DeleteMember":{ + "name":"DeleteMember", + "http":{ + "method":"DELETE", + "requestUri":"/networks/{networkId}/members/{memberId}" + }, + "input":{"shape":"DeleteMemberInput"}, + "output":{"shape":"DeleteMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Deletes a member. Deleting a member removes the member and all associated resources from the network. DeleteMember can only be called for a specified MemberId if the principal performing the action is associated with the AWS account that owns the member. In all other cases, the DeleteMember action is carried out as the result of an approved proposal to remove a member. If MemberId is the last member in a network specified by the last AWS account, the network is deleted also.

" + }, + "DeleteNode":{ + "name":"DeleteNode", + "http":{ + "method":"DELETE", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes/{nodeId}" + }, + "input":{"shape":"DeleteNodeInput"}, + "output":{"shape":"DeleteNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Deletes a peer node from a member that your AWS account owns. All data on the node is lost and cannot be recovered.

" + }, + "GetMember":{ + "name":"GetMember", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}" + }, + "input":{"shape":"GetMemberInput"}, + "output":{"shape":"GetMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a member.

" + }, + "GetNetwork":{ + "name":"GetNetwork", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}" + }, + "input":{"shape":"GetNetworkInput"}, + "output":{"shape":"GetNetworkOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a network.

" + }, + "GetNode":{ + "name":"GetNode", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes/{nodeId}" + }, + "input":{"shape":"GetNodeInput"}, + "output":{"shape":"GetNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a peer node.

" + }, + "GetProposal":{ + "name":"GetProposal", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals/{proposalId}" + }, + "input":{"shape":"GetProposalInput"}, + "output":{"shape":"GetProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns detailed information about a proposal.

" + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"GET", + "requestUri":"/invitations" + }, + "input":{"shape":"ListInvitationsInput"}, + "output":{"shape":"ListInvitationsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of all invitations made on the specified network.

" + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members" + }, + "input":{"shape":"ListMembersInput"}, + "output":{"shape":"ListMembersOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of the members in a network and properties of their configurations.

" + }, + "ListNetworks":{ + "name":"ListNetworks", + "http":{ + "method":"GET", + "requestUri":"/networks" + }, + "input":{"shape":"ListNetworksInput"}, + "output":{"shape":"ListNetworksOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns information about the networks in which the current AWS account has members.

" + }, + "ListNodes":{ + "name":"ListNodes", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes" + }, + "input":{"shape":"ListNodesInput"}, + "output":{"shape":"ListNodesOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns information about the nodes within a network.

" + }, + "ListProposalVotes":{ + "name":"ListProposalVotes", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals/{proposalId}/votes" + }, + "input":{"shape":"ListProposalVotesInput"}, + "output":{"shape":"ListProposalVotesOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns the listing of votes for a specified proposal, including the value of each vote and the unique identifier of the member that cast the vote.

" + }, + "ListProposals":{ + "name":"ListProposals", + "http":{ + "method":"GET", + "requestUri":"/networks/{networkId}/proposals" + }, + "input":{"shape":"ListProposalsInput"}, + "output":{"shape":"ListProposalsOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Returns a listing of proposals for the network.

" + }, + "RejectInvitation":{ + "name":"RejectInvitation", + "http":{ + "method":"DELETE", + "requestUri":"/invitations/{invitationId}" + }, + "input":{"shape":"RejectInvitationInput"}, + "output":{"shape":"RejectInvitationOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"IllegalActionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Rejects an invitation to join a network. This action can be called by a principal in an AWS account that has received an invitation to create a member and join a network.

" + }, + "UpdateMember":{ + "name":"UpdateMember", + "http":{ + "method":"PATCH", + "requestUri":"/networks/{networkId}/members/{memberId}" + }, + "input":{"shape":"UpdateMemberInput"}, + "output":{"shape":"UpdateMemberOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Updates a member configuration with new parameters.

" + }, + "UpdateNode":{ + "name":"UpdateNode", + "http":{ + "method":"PATCH", + "requestUri":"/networks/{networkId}/members/{memberId}/nodes/{nodeId}" + }, + "input":{"shape":"UpdateNodeInput"}, + "output":{"shape":"UpdateNodeOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Updates a node configuration with new parameters.

" + }, + "VoteOnProposal":{ + "name":"VoteOnProposal", + "http":{ + "method":"POST", + "requestUri":"/networks/{networkId}/proposals/{proposalId}/votes" + }, + "input":{"shape":"VoteOnProposalInput"}, + "output":{"shape":"VoteOnProposalOutput"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"IllegalActionException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

Casts a vote for a specified ProposalId on behalf of a member. The member to vote as, specified by VoterMemberId, must be in the same AWS account as the principal that calls the action.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "ApprovalThresholdPolicy":{ + "type":"structure", + "members":{ + "ThresholdPercentage":{ + "shape":"ThresholdPercentageInt", + "documentation":"

The percentage of votes among all members that must be YES for a proposal to be approved. For example, a ThresholdPercentage value of 50 indicates 50%. The ThresholdComparator determines the precise comparison. If a ThresholdPercentage value of 50 is specified on a network with 10 members, along with a ThresholdComparator value of GREATER_THAN, this indicates that 6 YES votes are required for the proposal to be approved.

" + }, + "ProposalDurationInHours":{ + "shape":"ProposalDurationInt", + "documentation":"

The duration from the time that a proposal is created until it expires. If members cast neither the required number of YES votes to approve the proposal nor the number of NO votes required to reject it before the duration expires, the proposal is EXPIRED and ProposalActions are not carried out.

" + }, + "ThresholdComparator":{ + "shape":"ThresholdComparator", + "documentation":"

Determines whether the vote percentage must be greater than the ThresholdPercentage or must be greater than or equal to the ThreholdPercentage to be approved.

" + } + }, + "documentation":"

A policy type that defines the voting rules for the network. The rules decide if a proposal is approved. Approval may be based on criteria such as the percentage of YES votes and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

" + }, + "AvailabilityZoneString":{"type":"string"}, + "ClientRequestTokenString":{ + "type":"string", + "max":64, + "min":1 + }, + "CreateMemberInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "InvitationId", + "NetworkId", + "MemberConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the invitation that is sent to the member to join the network.

" + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network in which the member is created.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberConfiguration":{ + "shape":"MemberConfiguration", + "documentation":"

Member configuration parameters.

" + } + } + }, + "CreateMemberOutput":{ + "type":"structure", + "members":{ + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + } + } + }, + "CreateNetworkInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "Name", + "Framework", + "FrameworkVersion", + "VotingPolicy", + "MemberConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description for the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "FrameworkConfiguration":{ + "shape":"NetworkFrameworkConfiguration", + "documentation":"

Configuration properties of the blockchain framework relevant to the network configuration.

" + }, + "VotingPolicy":{ + "shape":"VotingPolicy", + "documentation":"

The voting rules used by the network to determine if a proposal is approved.

" + }, + "MemberConfiguration":{ + "shape":"MemberConfiguration", + "documentation":"

Configuration properties for the first member within the network.

" + } + } + }, + "CreateNetworkOutput":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the network.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the first member within the network.

" + } + } + }, + "CreateNodeInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "NetworkId", + "MemberId", + "NodeConfiguration" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network in which this node runs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns this node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeConfiguration":{ + "shape":"NodeConfiguration", + "documentation":"

The properties of a node configuration.

" + } + } + }, + "CreateNodeOutput":{ + "type":"structure", + "members":{ + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + } + } + }, + "CreateProposalInput":{ + "type":"structure", + "required":[ + "ClientRequestToken", + "NetworkId", + "MemberId", + "Actions" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestTokenString", + "documentation":"

A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than one time. This identifier is required only if you make a service request directly using an HTTP client. It is generated automatically if you use an AWS SDK or the AWS CLI.

", + "idempotencyToken":true + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that is creating the proposal. This identifier is especially useful for identifying the member making the proposal when multiple members exist in a single AWS account.

" + }, + "Actions":{ + "shape":"ProposalActions", + "documentation":"

The type of actions proposed, such as inviting a member or removing a member. The types of Actions in a proposal are mutually exclusive. For example, a proposal with Invitations actions cannot also contain Removals actions.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

A description for the proposal that is visible to voting members, for example, \"Proposal to add Example Corp. as member.\"

" + } + } + }, + "CreateProposalOutput":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + } + } + }, + "DeleteMemberInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network from which the member is removed.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to remove.

", + "location":"uri", + "locationName":"memberId" + } + } + }, + "DeleteMemberOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteNodeInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId", + "NodeId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network that the node belongs to.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns this node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

", + "location":"uri", + "locationName":"nodeId" + } + } + }, + "DeleteNodeOutput":{ + "type":"structure", + "members":{ + } + }, + "DescriptionString":{ + "type":"string", + "max":128 + }, + "Edition":{ + "type":"string", + "enum":[ + "STARTER", + "STANDARD" + ] + }, + "Enabled":{ + "type":"boolean", + "box":true + }, + "Framework":{ + "type":"string", + "enum":["HYPERLEDGER_FABRIC"] + }, + "FrameworkVersionString":{ + "type":"string", + "max":8, + "min":1 + }, + "GetMemberInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the member belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

", + "location":"uri", + "locationName":"memberId" + } + } + }, + "GetMemberOutput":{ + "type":"structure", + "members":{ + "Member":{ + "shape":"Member", + "documentation":"

The properties of a member.

" + } + } + }, + "GetNetworkInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to get information about.

", + "location":"uri", + "locationName":"networkId" + } + } + }, + "GetNetworkOutput":{ + "type":"structure", + "members":{ + "Network":{ + "shape":"Network", + "documentation":"

An object containing network configuration parameters.

" + } + } + }, + "GetNodeInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId", + "NodeId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the node belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that owns the node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

", + "location":"uri", + "locationName":"nodeId" + } + } + }, + "GetNodeOutput":{ + "type":"structure", + "members":{ + "Node":{ + "shape":"Node", + "documentation":"

Properties of the node configuration.

" + } + } + }, + "GetProposalInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + } + } + }, + "GetProposalOutput":{ + "type":"structure", + "members":{ + "Proposal":{ + "shape":"Proposal", + "documentation":"

Information about a proposal.

" + } + } + }, + "IllegalActionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InstanceTypeString":{"type":"string"}, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request processing has failed because of an unknown error, exception or failure.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The action or operation requested is invalid. Verify that the action is typed correctly.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Invitation":{ + "type":"structure", + "members":{ + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier for the invitation.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the invitation was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the invitation expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, the invitee can no longer create a member and join the network using this InvitationId.

" + }, + "Status":{ + "shape":"InvitationStatus", + "documentation":"

The status of the invitation:

  • PENDING - The invitee has not created a member to join the network, and the invitation has not yet expired.

  • ACCEPTING - The invitee has begun creating a member, and creation has not yet completed.

  • ACCEPTED - The invitee created a member and joined the network using the InvitationID.

  • REJECTED - The invitee rejected the invitation.

  • EXPIRED - The invitee neither created a member nor rejected the invitation before the ExpirationDate.

" + }, + "NetworkSummary":{"shape":"NetworkSummary"} + }, + "documentation":"

An invitation to an AWS account to create a member and join the network.

" + }, + "InvitationList":{ + "type":"list", + "member":{"shape":"Invitation"} + }, + "InvitationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "ACCEPTING", + "REJECTED", + "EXPIRED" + ] + }, + "InviteAction":{ + "type":"structure", + "required":["Principal"], + "members":{ + "Principal":{ + "shape":"PrincipalString", + "documentation":"

The AWS account ID to invite.

" + } + }, + "documentation":"

An action to invite a specific AWS account to create a member and join the network. The InviteAction is carried out when a Proposal is APPROVED.

" + }, + "InviteActionList":{ + "type":"list", + "member":{"shape":"InviteAction"} + }, + "IsOwned":{ + "type":"boolean", + "box":true + }, + "ListInvitationsInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of invitations to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListInvitationsOutput":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"InvitationList", + "documentation":"

The invitations for the network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListMembersInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which to list members.

", + "location":"uri", + "locationName":"networkId" + }, + "Name":{ + "shape":"String", + "documentation":"

The optional name of the member to list.

", + "location":"querystring", + "locationName":"name" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

An optional status specifier. If provided, only members currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "IsOwned":{ + "shape":"IsOwned", + "documentation":"

An optional Boolean value. If provided, the request is limited either to members that the current AWS account owns (true) or that other AWS accounts own (false). If omitted, all members are listed.

", + "location":"querystring", + "locationName":"isOwned" + }, + "MaxResults":{ + "shape":"MemberListMaxResults", + "documentation":"

The maximum number of members to return in the request.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListMembersOutput":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"MemberSummaryList", + "documentation":"

An array of MemberSummary objects. Each object contains details about a network member.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListNetworksInput":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the network.

", + "location":"querystring", + "locationName":"name" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

An optional framework specifier. If provided, only networks of this framework type are listed.

", + "location":"querystring", + "locationName":"framework" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

An optional status specifier. If provided, only networks currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "MaxResults":{ + "shape":"NetworkListMaxResults", + "documentation":"

The maximum number of networks to list.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNetworksOutput":{ + "type":"structure", + "members":{ + "Networks":{ + "shape":"NetworkSummaryList", + "documentation":"

An array of NetworkSummary objects that contain configuration properties for each network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListNodesInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which to list nodes.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member who owns the nodes to list.

", + "location":"uri", + "locationName":"memberId" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

An optional status specifier. If provided, only nodes currently in this status are listed.

", + "location":"querystring", + "locationName":"status" + }, + "MaxResults":{ + "shape":"NodeListMaxResults", + "documentation":"

The maximum number of nodes to list.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNodesOutput":{ + "type":"structure", + "members":{ + "Nodes":{ + "shape":"NodeSummaryList", + "documentation":"

An array of NodeSummary objects that contain configuration properties for each node.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListProposalVotesInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + }, + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of votes to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProposalVotesOutput":{ + "type":"structure", + "members":{ + "ProposalVotes":{ + "shape":"ProposalVoteList", + "documentation":"

The listing of votes.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "ListProposalsInput":{ + "type":"structure", + "required":["NetworkId"], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "MaxResults":{ + "shape":"ProposalListMaxResults", + "documentation":"

The maximum number of proposals to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListProposalsOutput":{ + "type":"structure", + "members":{ + "Proposals":{ + "shape":"ProposalSummaryList", + "documentation":"

The summary of each proposal made on the network.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The pagination token that indicates the next set of results to retrieve.

" + } + } + }, + "LogConfiguration":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

Indicates whether logging is enabled.

" + } + }, + "documentation":"

A configuration for logging events.

" + }, + "LogConfigurations":{ + "type":"structure", + "members":{ + "Cloudwatch":{ + "shape":"LogConfiguration", + "documentation":"

Parameters for publishing logs to Amazon CloudWatch Logs.

" + } + }, + "documentation":"

A collection of log configurations.

" + }, + "Member":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network to which the member belongs.

" + }, + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + }, + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description for the member.

" + }, + "FrameworkAttributes":{ + "shape":"MemberFrameworkAttributes", + "documentation":"

Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "LogPublishingConfiguration":{ + "shape":"MemberLogPublishingConfiguration", + "documentation":"

Configuration properties for logging events associated with a member.

" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

The status of a member.

  • CREATING - The AWS account is in the process of creating a member.

  • AVAILABLE - The member has been created and can participate in the network.

  • CREATE_FAILED - The AWS account attempted to create a member and creation failed.

  • DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

  • DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the member was created.

" + } + }, + "documentation":"

Member configuration properties.

" + }, + "MemberConfiguration":{ + "type":"structure", + "required":[ + "Name", + "FrameworkConfiguration" + ], + "members":{ + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the member.

" + }, + "FrameworkConfiguration":{ + "shape":"MemberFrameworkConfiguration", + "documentation":"

Configuration properties of the blockchain framework relevant to the member.

" + }, + "LogPublishingConfiguration":{ + "shape":"MemberLogPublishingConfiguration", + "documentation":"

" + } + }, + "documentation":"

Configuration properties of the member.

" + }, + "MemberFabricAttributes":{ + "type":"structure", + "members":{ + "AdminUsername":{ + "shape":"UsernameString", + "documentation":"

The user name for the initial administrator user for the member.

" + }, + "CaEndpoint":{ + "shape":"String", + "documentation":"

The endpoint used to access the member's certificate authority.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a member in a Managed Blockchain network using the Hyperledger Fabric framework.

" + }, + "MemberFabricConfiguration":{ + "type":"structure", + "required":[ + "AdminUsername", + "AdminPassword" + ], + "members":{ + "AdminUsername":{ + "shape":"UsernameString", + "documentation":"

The user name for the member's initial administrative user.

" + }, + "AdminPassword":{ + "shape":"PasswordString", + "documentation":"

The password for the member's initial administrative user. The AdminPassword must be at least eight characters long and no more than 32 characters. It must contain at least one uppercase letter, one lowercase letter, and one digit. It cannot have a single quote(‘), double quote(“), forward slash(/), backward slash(\\), @, or a space.

" + } + }, + "documentation":"

Configuration properties for Hyperledger Fabric for a member in a Managed Blockchain network using the Hyperledger Fabric framework.

" + }, + "MemberFabricLogPublishingConfiguration":{ + "type":"structure", + "members":{ + "CaLogs":{ + "shape":"LogConfigurations", + "documentation":"

Configuration properties for logging events associated with a member's Certificate Authority (CA). CA logs help you determine when a member in your account joins the network, or when new peers register with a member CA.

" + } + }, + "documentation":"

Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.

" + }, + "MemberFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"MemberFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric relevant to a member on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "MemberFrameworkConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"MemberFabricConfiguration", + "documentation":"

Attributes of Hyperledger Fabric for a member on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Configuration properties relevant to a member for the blockchain framework that the Managed Blockchain network uses.

" + }, + "MemberListMaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "MemberLogPublishingConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"MemberFabricLogPublishingConfiguration", + "documentation":"

Configuration properties for logging events associated with a member of a Managed Blockchain network using the Hyperledger Fabric framework.

" + } + }, + "documentation":"

Configuration properties for logging events associated with a member of a Managed Blockchain network.

" + }, + "MemberStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "UPDATING", + "DELETING", + "DELETED" + ] + }, + "MemberSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member.

" + }, + "Name":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the member.

" + }, + "Status":{ + "shape":"MemberStatus", + "documentation":"

The status of the member.

  • CREATING - The AWS account is in the process of creating a member.

  • AVAILABLE - The member has been created and can participate in the network.

  • CREATE_FAILED - The AWS account attempted to create a member and creation failed.

  • DELETING - The member and all associated resources are in the process of being deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

  • DELETED - The member can no longer participate on the network and all associated resources are deleted. Either the AWS account that owns the member deleted it, or the member is being deleted as the result of an APPROVED PROPOSAL to remove the member.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the member was created.

" + }, + "IsOwned":{ + "shape":"IsOwned", + "documentation":"

An indicator of whether the member is owned by your AWS account or a different AWS account.

" + } + }, + "documentation":"

A summary of configuration properties for a member.

" + }, + "MemberSummaryList":{ + "type":"list", + "member":{"shape":"MemberSummary"} + }, + "NameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*\\S.*" + }, + "Network":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

Attributes of the blockchain framework for the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "FrameworkAttributes":{ + "shape":"NetworkFrameworkAttributes", + "documentation":"

Attributes of the blockchain framework that the network uses.

" + }, + "VpcEndpointServiceName":{ + "shape":"String", + "documentation":"

The VPC endpoint service name of the VPC endpoint service of the network. Members use the VPC endpoint service name to create a VPC endpoint to access network resources.

" + }, + "VotingPolicy":{ + "shape":"VotingPolicy", + "documentation":"

The voting rules for the network to decide if a proposal is accepted.

" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

The current status of the network.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the network was created.

" + } + }, + "documentation":"

Network configuration properties.

" + }, + "NetworkFabricAttributes":{ + "type":"structure", + "members":{ + "OrderingServiceEndpoint":{ + "shape":"String", + "documentation":"

The endpoint of the ordering service for the network.

" + }, + "Edition":{ + "shape":"Edition", + "documentation":"

The edition of Amazon Managed Blockchain that Hyperledger Fabric uses. For more information, see Amazon Managed Blockchain Pricing.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a network.

" + }, + "NetworkFabricConfiguration":{ + "type":"structure", + "required":["Edition"], + "members":{ + "Edition":{ + "shape":"Edition", + "documentation":"

The edition of Amazon Managed Blockchain that the network uses. For more information, see Amazon Managed Blockchain Pricing.

" + } + }, + "documentation":"

Hyperledger Fabric configuration properties for the network.

" + }, + "NetworkFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NetworkFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric for a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to the network for the blockchain framework that the network uses.

" + }, + "NetworkFrameworkConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NetworkFabricConfiguration", + "documentation":"

Hyperledger Fabric configuration properties for a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Configuration properties relevant to the network for the blockchain framework that the network uses.

" + }, + "NetworkListMaxResults":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "NetworkMemberNameString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^(?!-)^[^0-9](?!.*--)[A-Za-z0-9-]+[^- ]$" + }, + "NetworkStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "DELETING", + "DELETED" + ] + }, + "NetworkSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

" + }, + "Name":{ + "shape":"NameString", + "documentation":"

The name of the network.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

An optional description of the network.

" + }, + "Framework":{ + "shape":"Framework", + "documentation":"

The blockchain framework that the network uses.

" + }, + "FrameworkVersion":{ + "shape":"FrameworkVersionString", + "documentation":"

The version of the blockchain framework that the network uses.

" + }, + "Status":{ + "shape":"NetworkStatus", + "documentation":"

The current status of the network.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the network was created.

" + } + }, + "documentation":"

A summary of network configuration properties.

" + }, + "NetworkSummaryList":{ + "type":"list", + "member":{"shape":"NetworkSummary"} + }, + "Node":{ + "type":"structure", + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network that the node is in.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to which the node belongs.

" + }, + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + }, + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The instance type of the node.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + }, + "FrameworkAttributes":{ + "shape":"NodeFrameworkAttributes", + "documentation":"

Attributes of the blockchain framework being used.

" + }, + "LogPublishingConfiguration":{ + "shape":"NodeLogPublishingConfiguration", + "documentation":"

" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

The status of the node.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the node was created.

" + } + }, + "documentation":"

Configuration properties of a peer node.

" + }, + "NodeConfiguration":{ + "type":"structure", + "required":[ + "InstanceType", + "AvailabilityZone" + ], + "members":{ + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The Amazon Managed Blockchain instance type for the node.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + }, + "LogPublishingConfiguration":{ + "shape":"NodeLogPublishingConfiguration", + "documentation":"

" + } + }, + "documentation":"

Configuration properties of a peer node.

" + }, + "NodeFabricAttributes":{ + "type":"structure", + "members":{ + "PeerEndpoint":{ + "shape":"String", + "documentation":"

The endpoint that identifies the peer node for all services except peer channel-based event services.

" + }, + "PeerEventEndpoint":{ + "shape":"String", + "documentation":"

The endpoint that identifies the peer node for peer channel-based event services.

" + } + }, + "documentation":"

Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.

" + }, + "NodeFabricLogPublishingConfiguration":{ + "type":"structure", + "members":{ + "ChaincodeLogs":{ + "shape":"LogConfigurations", + "documentation":"

Configuration properties for logging events associated with chaincode execution on a peer node. Chaincode logs contain the results of instantiating, invoking, and querying the chaincode. A peer can run multiple instances of chaincode. When enabled, a log stream is created for all chaincodes, with an individual log stream for each chaincode.

" + }, + "PeerLogs":{ + "shape":"LogConfigurations", + "documentation":"

Configuration properties for a peer node log. Peer node logs contain messages generated when your client submits transaction proposals to peer nodes, requests to join channels, enrolls an admin peer, and lists the chaincode instances on a peer node.

" + } + }, + "documentation":"

Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network.

" + }, + "NodeFrameworkAttributes":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NodeFabricAttributes", + "documentation":"

Attributes of Hyperledger Fabric for a peer node on a Managed Blockchain network that uses Hyperledger Fabric.

" + } + }, + "documentation":"

Attributes relevant to a peer node on a Managed Blockchain network for the blockchain framework that the network uses.

" + }, + "NodeListMaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "NodeLogPublishingConfiguration":{ + "type":"structure", + "members":{ + "Fabric":{ + "shape":"NodeFabricLogPublishingConfiguration", + "documentation":"

Configuration properties for logging events associated with a node that is owned by a member of a Managed Blockchain network using the Hyperledger Fabric framework.

" + } + }, + "documentation":"

Configuration properties for logging events associated with a peer node owned by a member in a Managed Blockchain network.

" + }, + "NodeStatus":{ + "type":"string", + "enum":[ + "CREATING", + "AVAILABLE", + "CREATE_FAILED", + "UPDATING", + "DELETING", + "DELETED", + "FAILED" + ] + }, + "NodeSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the node.

" + }, + "Status":{ + "shape":"NodeStatus", + "documentation":"

The status of the node.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the node was created.

" + }, + "AvailabilityZone":{ + "shape":"AvailabilityZoneString", + "documentation":"

The Availability Zone in which the node exists.

" + }, + "InstanceType":{ + "shape":"InstanceTypeString", + "documentation":"

The EC2 instance type for the node.

" + } + }, + "documentation":"

A summary of configuration properties for a peer node.

" + }, + "NodeSummaryList":{ + "type":"list", + "member":{"shape":"NodeSummary"} + }, + "PaginationToken":{ + "type":"string", + "max":128 + }, + "PasswordString":{ + "type":"string", + "max":32, + "min":8, + "pattern":"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?!.*[@'\\\\\"/])[a-zA-Z0-9\\S]*$", + "sensitive":true + }, + "PrincipalString":{"type":"string"}, + "Proposal":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + }, + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network for which the proposal is made.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the proposal.

" + }, + "Actions":{ + "shape":"ProposalActions", + "documentation":"

The actions to perform on the network if the proposal is APPROVED.

" + }, + "ProposedByMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that created the proposal.

" + }, + "ProposedByMemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that created the proposal.

" + }, + "Status":{ + "shape":"ProposalStatus", + "documentation":"

The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.

  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.

  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out.

  • EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out.

  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error. The ACTION_FAILED status occurs even if only one ProposalAction fails and other actions are successful.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.

" + }, + "YesVoteCount":{ + "shape":"VoteCount", + "documentation":"

The current total of YES votes cast on the proposal by members.

" + }, + "NoVoteCount":{ + "shape":"VoteCount", + "documentation":"

The current total of NO votes cast on the proposal by members.

" + }, + "OutstandingVoteCount":{ + "shape":"VoteCount", + "documentation":"

The number of votes remaining to be cast on the proposal by members. In other words, the number of members minus the sum of YES votes and NO votes.

" + } + }, + "documentation":"

Properties of a proposal on a Managed Blockchain network.

" + }, + "ProposalActions":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"InviteActionList", + "documentation":"

The actions to perform for an APPROVED proposal to invite an AWS account to create a member and join the network.

" + }, + "Removals":{ + "shape":"RemoveActionList", + "documentation":"

The actions to perform for an APPROVED proposal to remove a member from the network, which deletes the member and all associated member resources from the network.

" + } + }, + "documentation":"

The actions to carry out if a proposal is APPROVED.

" + }, + "ProposalDurationInt":{ + "type":"integer", + "box":true, + "max":168, + "min":1 + }, + "ProposalListMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ProposalStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "APPROVED", + "REJECTED", + "EXPIRED", + "ACTION_FAILED" + ] + }, + "ProposalSummary":{ + "type":"structure", + "members":{ + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

" + }, + "Description":{ + "shape":"DescriptionString", + "documentation":"

The description of the proposal.

" + }, + "ProposedByMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that created the proposal.

" + }, + "ProposedByMemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that created the proposal.

" + }, + "Status":{ + "shape":"ProposalStatus", + "documentation":"

The status of the proposal. Values are as follows:

  • IN_PROGRESS - The proposal is active and open for member voting.

  • APPROVED - The proposal was approved with sufficient YES votes among members according to the VotingPolicy specified for the Network. The specified proposal actions are carried out.

  • REJECTED - The proposal was rejected with insufficient YES votes among members according to the VotingPolicy specified for the Network. The specified ProposalActions are not carried out.

  • EXPIRED - Members did not cast the number of votes required to determine the proposal outcome before the proposal expired. The specified ProposalActions are not carried out.

  • ACTION_FAILED - One or more of the specified ProposalActions in a proposal that was approved could not be completed because of an error.

" + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal was created.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The date and time that the proposal expires. This is the CreationDate plus the ProposalDurationInHours that is specified in the ProposalThresholdPolicy. After this date and time, if members have not cast enough votes to determine the outcome according to the voting policy, the proposal is EXPIRED and Actions are not carried out.

" + } + }, + "documentation":"

Properties of a proposal.

" + }, + "ProposalSummaryList":{ + "type":"list", + "member":{"shape":"ProposalSummary"} + }, + "ProposalVoteList":{ + "type":"list", + "member":{"shape":"VoteSummary"} + }, + "RejectInvitationInput":{ + "type":"structure", + "required":["InvitationId"], + "members":{ + "InvitationId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the invitation to reject.

", + "location":"uri", + "locationName":"invitationId" + } + } + }, + "RejectInvitationOutput":{ + "type":"structure", + "members":{ + } + }, + "RemoveAction":{ + "type":"structure", + "required":["MemberId"], + "members":{ + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member to remove.

" + } + }, + "documentation":"

An action to remove a member from a Managed Blockchain network as the result of a removal proposal that is APPROVED. The member and all associated resources are deleted from the network.

" + }, + "RemoveActionList":{ + "type":"list", + "member":{"shape":"RemoveAction"} + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

A resource request is issued for a resource that already exists.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceIdString":{ + "type":"string", + "max":32, + "min":1 + }, + "ResourceLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The maximum number of resources of that type already exist. Ensure the resources requested are within the boundaries of the service edition and your account limits.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

A requested resource does not exist on the network. It may have been deleted or referenced inaccurately.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The requested resource exists but is not in a status that can complete the operation.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "String":{"type":"string"}, + "ThresholdComparator":{ + "type":"string", + "enum":[ + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL_TO" + ] + }, + "ThresholdPercentageInt":{ + "type":"integer", + "box":true, + "max":100, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

The request or operation could not be performed because a service is throttling requests. The most common source of throttling errors is launching EC2 instances such that your service limit for EC2 instances is exceeded. Request a limit increase or delete unused resources if possible.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "UpdateMemberInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique ID of the Managed Blockchain network to which the member belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique ID of the member.

", + "location":"uri", + "locationName":"memberId" + }, + "LogPublishingConfiguration":{ + "shape":"MemberLogPublishingConfiguration", + "documentation":"

Configuration properties for publishing to Amazon CloudWatch Logs.

" + } + } + }, + "UpdateMemberOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateNodeInput":{ + "type":"structure", + "required":[ + "NetworkId", + "MemberId", + "NodeId" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique ID of the Managed Blockchain network to which the node belongs.

", + "location":"uri", + "locationName":"networkId" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique ID of the member that owns the node.

", + "location":"uri", + "locationName":"memberId" + }, + "NodeId":{ + "shape":"ResourceIdString", + "documentation":"

The unique ID of the node.

", + "location":"uri", + "locationName":"nodeId" + }, + "LogPublishingConfiguration":{ + "shape":"NodeLogPublishingConfiguration", + "documentation":"

Configuration properties for publishing to Amazon CloudWatch Logs.

" + } + } + }, + "UpdateNodeOutput":{ + "type":"structure", + "members":{ + } + }, + "UsernameString":{ + "type":"string", + "max":16, + "min":1, + "pattern":"^[a-zA-Z][a-zA-Z0-9]*$" + }, + "VoteCount":{ + "type":"integer", + "box":true + }, + "VoteOnProposalInput":{ + "type":"structure", + "required":[ + "NetworkId", + "ProposalId", + "VoterMemberId", + "Vote" + ], + "members":{ + "NetworkId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the network.

", + "location":"uri", + "locationName":"networkId" + }, + "ProposalId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the proposal.

", + "location":"uri", + "locationName":"proposalId" + }, + "VoterMemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member casting the vote.

" + }, + "Vote":{ + "shape":"VoteValue", + "documentation":"

The value of the vote.

" + } + } + }, + "VoteOnProposalOutput":{ + "type":"structure", + "members":{ + } + }, + "VoteSummary":{ + "type":"structure", + "members":{ + "Vote":{ + "shape":"VoteValue", + "documentation":"

The vote value, either YES or NO.

" + }, + "MemberName":{ + "shape":"NetworkMemberNameString", + "documentation":"

The name of the member that cast the vote.

" + }, + "MemberId":{ + "shape":"ResourceIdString", + "documentation":"

The unique identifier of the member that cast the vote.

" + } + }, + "documentation":"

Properties of an individual vote that a member cast for a proposal.

" + }, + "VoteValue":{ + "type":"string", + "enum":[ + "YES", + "NO" + ] + }, + "VotingPolicy":{ + "type":"structure", + "members":{ + "ApprovalThresholdPolicy":{ + "shape":"ApprovalThresholdPolicy", + "documentation":"

Defines the rules for the network for voting on proposals, such as the percentage of YES votes required for the proposal to be approved and the duration of the proposal. The policy applies to all proposals and is specified when the network is created.

" + } + }, + "documentation":"

The voting rules for the network to decide if a proposal is accepted

" + } + }, + "documentation":"

Amazon Managed Blockchain is a fully managed service for creating and managing blockchain networks using open source frameworks. Blockchain allows you to build applications where multiple parties can securely and transparently run transactions and share data without the need for a trusted, central authority. Currently, Managed Blockchain supports the Hyperledger Fabric open source framework.

" +} diff -Nru python-botocore-1.4.70/botocore/data/marketplace-catalog/2018-09-17/paginators-1.json python-botocore-1.16.19+repack/botocore/data/marketplace-catalog/2018-09-17/paginators-1.json --- python-botocore-1.4.70/botocore/data/marketplace-catalog/2018-09-17/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplace-catalog/2018-09-17/paginators-1.json 2020-05-28 19:27:56.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/marketplace-catalog/2018-09-17/service-2.json python-botocore-1.16.19+repack/botocore/data/marketplace-catalog/2018-09-17/service-2.json --- python-botocore-1.4.70/botocore/data/marketplace-catalog/2018-09-17/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplace-catalog/2018-09-17/service-2.json 2020-05-28 19:28:04.000000000 +0000 @@ -0,0 +1,772 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-17", + "endpointPrefix":"catalog.marketplace", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"AWS Marketplace Catalog", + "serviceFullName":"AWS Marketplace Catalog Service", + "serviceId":"Marketplace Catalog", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "uid":"marketplace-catalog-2018-09-17" + }, + "operations":{ + "CancelChangeSet":{ + "name":"CancelChangeSet", + "http":{ + "method":"PATCH", + "requestUri":"/CancelChangeSet" + }, + "input":{"shape":"CancelChangeSetRequest"}, + "output":{"shape":"CancelChangeSetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Used to cancel an open change request. Must be sent before the status of the request changes to APPLYING, the final stage of completing your change request. You can describe a change during the 60-day request history retention period for API calls.

" + }, + "DescribeChangeSet":{ + "name":"DescribeChangeSet", + "http":{ + "method":"GET", + "requestUri":"/DescribeChangeSet" + }, + "input":{"shape":"DescribeChangeSetRequest"}, + "output":{"shape":"DescribeChangeSetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Provides information about a given change set.

" + }, + "DescribeEntity":{ + "name":"DescribeEntity", + "http":{ + "method":"GET", + "requestUri":"/DescribeEntity" + }, + "input":{"shape":"DescribeEntityRequest"}, + "output":{"shape":"DescribeEntityResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotSupportedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the metadata and content of the entity.

" + }, + "ListChangeSets":{ + "name":"ListChangeSets", + "http":{ + "method":"POST", + "requestUri":"/ListChangeSets" + }, + "input":{"shape":"ListChangeSetsRequest"}, + "output":{"shape":"ListChangeSetsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Returns the list of change sets owned by the account being used to make the call. You can filter this list by providing any combination of entityId, ChangeSetName, and status. If you provide more than one filter, the API operation applies a logical AND between the filters.

You can describe a change during the 60-day request history retention period for API calls.

" + }, + "ListEntities":{ + "name":"ListEntities", + "http":{ + "method":"POST", + "requestUri":"/ListEntities" + }, + "input":{"shape":"ListEntitiesRequest"}, + "output":{"shape":"ListEntitiesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

Provides the list of entities of a given type.

" + }, + "StartChangeSet":{ + "name":"StartChangeSet", + "http":{ + "method":"POST", + "requestUri":"/StartChangeSet" + }, + "input":{"shape":"StartChangeSetRequest"}, + "output":{"shape":"StartChangeSetResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

This operation allows you to request changes for your entities. Within a single ChangeSet, you cannot start the same change type against the same entity multiple times. Additionally, when a ChangeSet is running, all the entities targeted by the different changes are locked until the ChangeSet has completed (either succeeded, cancelled, or failed). If you try to start a ChangeSet containing a change against an entity that is already locked, you will receive a ResourceInUseException.

For example, you cannot start the ChangeSet described in the example below because it contains two changes to execute the same change type (AddRevisions) against the same entity (entity-id@1).

" + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[a-zA-Z0-9:*/-]+$" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

Access is denied.

", + "error":{"httpStatusCode":403}, + "exception":true, + "synthetic":true + }, + "CancelChangeSetRequest":{ + "type":"structure", + "required":[ + "Catalog", + "ChangeSetId" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

Required. The catalog related to the request. Fixed value: AWSMarketplace.

", + "location":"querystring", + "locationName":"catalog" + }, + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

Required. The unique identifier of the StartChangeSet request that you want to cancel.

", + "location":"querystring", + "locationName":"changeSetId" + } + } + }, + "CancelChangeSetResponse":{ + "type":"structure", + "members":{ + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

The unique identifier for the change set referenced in this request.

" + }, + "ChangeSetArn":{ + "shape":"ARN", + "documentation":"

The ARN associated with the change set referenced in this request.

" + } + } + }, + "Catalog":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "Change":{ + "type":"structure", + "required":[ + "ChangeType", + "Entity", + "Details" + ], + "members":{ + "ChangeType":{ + "shape":"ChangeType", + "documentation":"

Change types are single string values that describe your intention for the change. Each change type is unique for each EntityType provided in the change's scope.

" + }, + "Entity":{ + "shape":"Entity", + "documentation":"

The entity to be changed.

" + }, + "Details":{ + "shape":"Json", + "documentation":"

This object contains details specific to the change type of the requested change.

" + } + }, + "documentation":"

An object that contains the ChangeType, Details, and Entity.

" + }, + "ChangeSetDescription":{ + "type":"list", + "member":{"shape":"ChangeSummary"} + }, + "ChangeSetName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[\\w\\s+=.:@-]+$" + }, + "ChangeSetSummaryList":{ + "type":"list", + "member":{"shape":"ChangeSetSummaryListItem"} + }, + "ChangeSetSummaryListItem":{ + "type":"structure", + "members":{ + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

The unique identifier for a change set.

" + }, + "ChangeSetArn":{ + "shape":"ARN", + "documentation":"

The ARN associated with the unique identifier for the change set referenced in this request.

" + }, + "ChangeSetName":{ + "shape":"ChangeSetName", + "documentation":"

The non-unique name for the change set.

" + }, + "StartTime":{ + "shape":"DateTimeISO8601", + "documentation":"

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was started.

" + }, + "EndTime":{ + "shape":"DateTimeISO8601", + "documentation":"

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was finished.

" + }, + "Status":{ + "shape":"ChangeStatus", + "documentation":"

The current status of the change set.

" + }, + "EntityIdList":{ + "shape":"ResourceIdList", + "documentation":"

This object is a list of entity IDs (string) that are a part of a change set. The entity ID list is a maximum of 20 entities. It must contain at least one entity.

" + } + }, + "documentation":"

A summary of a change set returned in a list of change sets when the ListChangeSets action is called.

" + }, + "ChangeStatus":{ + "type":"string", + "enum":[ + "PREPARING", + "APPLYING", + "SUCCEEDED", + "CANCELLED", + "FAILED" + ] + }, + "ChangeSummary":{ + "type":"structure", + "members":{ + "ChangeType":{ + "shape":"ChangeType", + "documentation":"

The type of the change.

" + }, + "Entity":{ + "shape":"Entity", + "documentation":"

The entity to be changed.

" + }, + "Details":{ + "shape":"Json", + "documentation":"

This object contains details specific to the change type of the requested change.

" + }, + "ErrorDetailList":{ + "shape":"ErrorDetailList", + "documentation":"

An array of ErrorDetail objects associated with the change.

" + } + }, + "documentation":"

This object is a container for common summary information about the change. The summary doesn't contain the whole change structure.

" + }, + "ChangeType":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[A-Z][\\w]*$" + }, + "ClientRequestToken":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^[\\w\\-]+$" + }, + "DateTimeISO8601":{ + "type":"string", + "max":20, + "min":20, + "pattern":"^([\\d]{4})\\-(1[0-2]|0[1-9])\\-(3[01]|0[1-9]|[12][\\d])T(2[0-3]|[01][\\d]):([0-5][\\d]):([0-5][\\d])Z$" + }, + "DescribeChangeSetRequest":{ + "type":"structure", + "required":[ + "Catalog", + "ChangeSetId" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

Required. The catalog related to the request. Fixed value: AWSMarketplace

", + "location":"querystring", + "locationName":"catalog" + }, + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

Required. The unique identifier for the StartChangeSet request that you want to describe the details for.

", + "location":"querystring", + "locationName":"changeSetId" + } + } + }, + "DescribeChangeSetResponse":{ + "type":"structure", + "members":{ + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

Required. The unique identifier for the change set referenced in this request.

" + }, + "ChangeSetArn":{ + "shape":"ARN", + "documentation":"

The ARN associated with the unique identifier for the change set referenced in this request.

" + }, + "ChangeSetName":{ + "shape":"ChangeSetName", + "documentation":"

The optional name provided in the StartChangeSet request. If you do not provide a name, one is set by default.

" + }, + "StartTime":{ + "shape":"DateTimeISO8601", + "documentation":"

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started.

" + }, + "EndTime":{ + "shape":"DateTimeISO8601", + "documentation":"

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned to a terminal state. The change cannot transition to a different state. Null if the request is not in a terminal state.

" + }, + "Status":{ + "shape":"ChangeStatus", + "documentation":"

The status of the change request.

" + }, + "FailureDescription":{ + "shape":"StringValue", + "documentation":"

Returned if there is a failure on the change set, but that failure is not related to any of the changes in the request.

" + }, + "ChangeSet":{ + "shape":"ChangeSetDescription", + "documentation":"

An array of ChangeSummary objects.

" + } + } + }, + "DescribeEntityRequest":{ + "type":"structure", + "required":[ + "Catalog", + "EntityId" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

Required. The catalog related to the request. Fixed value: AWSMarketplace

", + "location":"querystring", + "locationName":"catalog" + }, + "EntityId":{ + "shape":"ResourceId", + "documentation":"

Required. The unique ID of the entity to describe.

", + "location":"querystring", + "locationName":"entityId" + } + } + }, + "DescribeEntityResponse":{ + "type":"structure", + "members":{ + "EntityType":{ + "shape":"EntityType", + "documentation":"

The named type of the entity, in the format of EntityType@Version.

" + }, + "EntityIdentifier":{ + "shape":"Identifier", + "documentation":"

The identifier of the entity, in the format of EntityId@RevisionId.

" + }, + "EntityArn":{ + "shape":"ARN", + "documentation":"

The ARN associated to the unique identifier for the change set referenced in this request.

" + }, + "LastModifiedDate":{ + "shape":"StringValue", + "documentation":"

The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).

" + }, + "Details":{ + "shape":"Json", + "documentation":"

This stringified JSON object includes the details of the entity.

" + } + } + }, + "Entity":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"EntityType", + "documentation":"

The type of entity.

" + }, + "Identifier":{ + "shape":"Identifier", + "documentation":"

The identifier for the entity.

" + } + }, + "documentation":"

A product entity contains data that describes your product, its supported features, and how it can be used or launched by your customer.

" + }, + "EntitySummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"StringValue", + "documentation":"

The name for the entity. This value is not unique. It is defined by the seller.

" + }, + "EntityType":{ + "shape":"EntityType", + "documentation":"

The type of the entity.

" + }, + "EntityId":{ + "shape":"ResourceId", + "documentation":"

The unique identifier for the entity.

" + }, + "EntityArn":{ + "shape":"ARN", + "documentation":"

The ARN associated with the unique identifier for the entity.

" + }, + "LastModifiedDate":{ + "shape":"StringValue", + "documentation":"

The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).

" + }, + "Visibility":{ + "shape":"StringValue", + "documentation":"

The visibility status of the entity to buyers. This value can be Public (everyone can view the entity), Limited (the entity is visible to limited accounts only), or Restricted (the entity was published and then unpublished and only existing buyers can view it).

" + } + }, + "documentation":"

This object is a container for common summary information about the entity. The summary doesn't contain the whole entity structure, but it does contain information common across all entities.

" + }, + "EntitySummaryList":{ + "type":"list", + "member":{"shape":"EntitySummary"} + }, + "EntityType":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"StringValue", + "documentation":"

The error code that identifies the type of error.

" + }, + "ErrorMessage":{ + "shape":"StringValue", + "documentation":"

The message for the error.

" + } + }, + "documentation":"

Details about the error.

" + }, + "ErrorDetailList":{ + "type":"list", + "member":{"shape":"ErrorDetail"} + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

For ListEntities, the supported value for this is an EntityId.

For ListChangeSets, the supported values are as follows:

" + }, + "ValueList":{ + "shape":"ValueList", + "documentation":"

ListEntities - This is a list of unique EntityIds.

ListChangeSets - The supported filter names and associated ValueLists is as follows:

  • ChangeSetName - The supported ValueList is a list of non-unique ChangeSetNames. These are defined when you call the StartChangeSet action.

  • Status - The supported ValueList is a list of statuses for all change set requests.

  • EntityId - The supported ValueList is a list of unique EntityIds.

  • BeforeStartTime - The supported ValueList is a list of all change sets that started before the filter value.

  • AfterStartTime - The supported ValueList is a list of all change sets that started after the filter value.

  • BeforeEndTime - The supported ValueList is a list of all change sets that ended before the filter value.

  • AfterEndTime - The supported ValueList is a list of all change sets that ended after the filter value.

" + } + }, + "documentation":"

A filter object, used to optionally filter results from calls to the ListEntities and ListChangeSets actions.

" + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":8, + "min":1 + }, + "FilterName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "Identifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w\\-@]+$" + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

There was an internal service exception.

", + "error":{"httpStatusCode":500}, + "exception":true, + "synthetic":true + }, + "Json":{ + "type":"string", + "max":16384, + "min":2, + "pattern":"^[\\s]*\\{[\\s\\S]*\\}[\\s]*$" + }, + "ListChangeSetsRequest":{ + "type":"structure", + "required":["Catalog"], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

The catalog related to the request. Fixed value: AWSMarketplace

" + }, + "FilterList":{ + "shape":"FilterList", + "documentation":"

An array of filter objects.

" + }, + "Sort":{ + "shape":"Sort", + "documentation":"

An object that contains two attributes, SortBy and SortOrder.

" + }, + "MaxResults":{ + "shape":"MaxResultInteger", + "documentation":"

The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. By default, this value is 20.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token value retrieved from a previous call to access the next page of results.

" + } + } + }, + "ListChangeSetsResponse":{ + "type":"structure", + "members":{ + "ChangeSetSummaryList":{ + "shape":"ChangeSetSummaryList", + "documentation":"

Array of ChangeSetSummaryListItem objects.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The value of the next token, if it exists. Null if there are no more results.

" + } + } + }, + "ListEntitiesRequest":{ + "type":"structure", + "required":[ + "Catalog", + "EntityType" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

The catalog related to the request. Fixed value: AWSMarketplace

" + }, + "EntityType":{ + "shape":"EntityType", + "documentation":"

The type of entities to retrieve.

" + }, + "FilterList":{ + "shape":"FilterList", + "documentation":"

An array of filter objects. Each filter object contains two attributes, filterName and filterValues.

" + }, + "Sort":{ + "shape":"Sort", + "documentation":"

An object that contains two attributes, SortBy and SortOrder.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The value of the next token, if it exists. Null if there are no more results.

" + }, + "MaxResults":{ + "shape":"MaxResultInteger", + "documentation":"

Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20.

" + } + } + }, + "ListEntitiesResponse":{ + "type":"structure", + "members":{ + "EntitySummaryList":{ + "shape":"EntitySummaryList", + "documentation":"

Array of EntitySummary object.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The value of the next token if it exists. Null if there is no more result.

" + } + } + }, + "MaxResultInteger":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[\\w+=.:@\\-\\/]$" + }, + "RequestedChangeList":{ + "type":"list", + "member":{"shape":"Change"}, + "max":20, + "min":1 + }, + "ResourceId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w\\-]+$" + }, + "ResourceIdList":{ + "type":"list", + "member":{"shape":"ResourceId"} + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

The resource is currently in use.

", + "error":{"httpStatusCode":423}, + "exception":true, + "synthetic":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

The specified resource wasn't found.

", + "error":{"httpStatusCode":404}, + "exception":true, + "synthetic":true + }, + "ResourceNotSupportedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

Currently, the specified resource is not supported.

", + "error":{"httpStatusCode":415}, + "exception":true, + "synthetic":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

The maximum number of open requests per account has been exceeded.

", + "error":{"httpStatusCode":402}, + "exception":true, + "synthetic":true + }, + "Sort":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"SortBy", + "documentation":"

For ListEntities, supported attributes include LastModifiedDate (default), Visibility, EntityId, and Name.

For ListChangeSets, supported attributes include StartTime and EndTime.

" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

" + } + }, + "documentation":"

An object that contains two attributes, SortBy and SortOrder.

" + }, + "SortBy":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "StartChangeSetRequest":{ + "type":"structure", + "required":[ + "Catalog", + "ChangeSet" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"

The catalog related to the request. Fixed value: AWSMarketplace

" + }, + "ChangeSet":{ + "shape":"RequestedChangeList", + "documentation":"

Array of change object.

" + }, + "ChangeSetName":{ + "shape":"ChangeSetName", + "documentation":"

Optional case sensitive string of up to 100 ASCII characters. The change set name can be used to filter the list of change sets.

" + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

A unique token to identify the request to ensure idempotency.

" + } + } + }, + "StartChangeSetResponse":{ + "type":"structure", + "members":{ + "ChangeSetId":{ + "shape":"ResourceId", + "documentation":"

Unique identifier generated for the request.

" + }, + "ChangeSetArn":{ + "shape":"ARN", + "documentation":"

The ARN associated to the unique identifier generated for the request.

" + } + } + }, + "StringValue":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

Too many requests.

", + "error":{"httpStatusCode":429}, + "exception":true, + "synthetic":true + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"StringValue"} + }, + "documentation":"

An error occurred during validation.

", + "error":{"httpStatusCode":422}, + "exception":true, + "synthetic":true + }, + "ValueList":{ + "type":"list", + "member":{"shape":"StringValue"}, + "max":10, + "min":1 + } + }, + "documentation":"

Catalog API actions allow you to manage your entities through list, describe, and update capabilities. An entity can be a product or an offer on AWS Marketplace.

You can automate your entity update process by integrating the AWS Marketplace Catalog API with your AWS Marketplace product build or deployment pipelines. You can also create your own applications on top of the Catalog API to manage your products on AWS Marketplace.

" +} diff -Nru python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json --- python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json --- python-botocore-1.4.70/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,9 +6,11 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Marketplace Commerce Analytics", + "serviceId":"Marketplace Commerce Analytics", "signatureVersion":"v4", "signingName":"marketplacecommerceanalytics", - "targetPrefix":"MarketplaceCommerceAnalytics20150701" + "targetPrefix":"MarketplaceCommerceAnalytics20150701", + "uid":"marketplacecommerceanalytics-2015-07-01" }, "operations":{ "GenerateDataSet":{ @@ -61,14 +63,21 @@ "daily_business_canceled_product_subscribers", "monthly_revenue_billing_and_revenue_data", "monthly_revenue_annual_subscriptions", + "monthly_revenue_field_demonstration_usage", + "monthly_revenue_flexible_payment_schedule", "disbursed_amount_by_product", "disbursed_amount_by_product_with_uncollected_funds", + "disbursed_amount_by_instance_hours", "disbursed_amount_by_customer_geo", "disbursed_amount_by_age_of_uncollected_funds", "disbursed_amount_by_age_of_disbursed_funds", + "disbursed_amount_by_age_of_past_due_funds", + "disbursed_amount_by_uncollected_funds_breakdown", "customer_profile_by_industry", "customer_profile_by_revenue", - "customer_profile_by_geography" + "customer_profile_by_geography", + "sales_compensation_billed_revenue", + "us_sales_and_use_tax_records" ], "max":255, "min":1 @@ -92,11 +101,11 @@ "members":{ "dataSetType":{ "shape":"DataSetType", - "documentation":"

The desired data set type.

  • customer_subscriber_hourly_monthly_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • customer_subscriber_annual_subscriptions - Available daily by 5:00 PM Pacific Time since 2014-07-21.
  • daily_business_usage_by_instance_type - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_fees - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_free_trial_conversions - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_instances - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_new_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • daily_business_canceled_product_subscribers - Available daily by 5:00 PM Pacific Time since 2015-01-26.
  • monthly_revenue_billing_and_revenue_data - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • monthly_revenue_annual_subscriptions - Available monthly on the 4th day of the month by 5:00 PM Pacific Time since 2015-02.
  • disbursed_amount_by_product - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_product_with_uncollected_funds -This data set is only available from 2012-04-19 until 2015-01-25. After 2015-01-25, this data set was split into three data sets: disbursed_amount_by_product, disbursed_amount_by_age_of_uncollected_funds, and disbursed_amount_by_age_of_disbursed_funds.
  • disbursed_amount_by_customer_geo - Available every 30 days by 5:00 PM Pacific Time since 2012-04-19.
  • disbursed_amount_by_age_of_uncollected_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • disbursed_amount_by_age_of_disbursed_funds - Available every 30 days by 5:00 PM Pacific Time since 2015-01-26.
  • customer_profile_by_industry - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_revenue - Available daily by 5:00 PM Pacific Time since 2015-10-01.
  • customer_profile_by_geography - Available daily by 5:00 PM Pacific Time since 2015-10-01.

" + "documentation":"

The desired data set type.

  • customer_subscriber_hourly_monthly_subscriptions

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • customer_subscriber_annual_subscriptions

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_usage_by_instance_type

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_fees

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_free_trial_conversions

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_new_instances

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_new_product_subscribers

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • daily_business_canceled_product_subscribers

    From 2017-09-15 to present: Available daily by 24:00 UTC.

  • monthly_revenue_billing_and_revenue_data

    From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes metered transactions (e.g. hourly) from one month prior.

  • monthly_revenue_annual_subscriptions

    From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes up-front software charges (e.g. annual) from one month prior.

  • monthly_revenue_field_demonstration_usage

    From 2018-03-15 to present: Available monthly on the 15th day of the month by 24:00 UTC.

  • monthly_revenue_flexible_payment_schedule

    From 2018-11-15 to present: Available monthly on the 15th day of the month by 24:00 UTC.

  • disbursed_amount_by_product

    From 2017-09-15 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_instance_hours

    From 2017-09-15 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_customer_geo

    From 2017-09-15 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_age_of_uncollected_funds

    From 2017-09-15 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_age_of_disbursed_funds

    From 2017-09-15 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_age_of_past_due_funds

    From 2018-04-07 to present: Available every 30 days by 24:00 UTC.

  • disbursed_amount_by_uncollected_funds_breakdown

    From 2019-10-04 to present: Available every 30 days by 24:00 UTC.

  • sales_compensation_billed_revenue

    From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC. Data includes metered transactions (e.g. hourly) from one month prior, and up-front software charges (e.g. annual) from one month prior.

  • us_sales_and_use_tax_records

    From 2017-09-15 to present: Available monthly on the 15th day of the month by 24:00 UTC.

" }, "dataSetPublicationDate":{ "shape":"DataSetPublicationDate", - "documentation":"The date a data set was published. For daily data sets, provide a date with day-level granularity for the desired day. For weekly data sets, provide a date with day-level granularity within the desired week (the day value will be ignored). For monthly data sets, provide a date with month-level granularity for the desired month (the day value will be ignored)." + "documentation":"The date a data set was published. For daily data sets, provide a date with day-level granularity for the desired day. For monthly data sets except those with prefix disbursed_amount, provide a date with month-level granularity for the desired month (the day value will be ignored). For data sets with prefix disbursed_amount, provide a date with day-level granularity for the desired day. For these data sets we will look backwards in time over the range of 31 days until the first data set is found (the latest one)." }, "roleNameArn":{ "shape":"RoleNameArn", @@ -134,7 +143,10 @@ "MarketplaceCommerceAnalyticsException":{ "type":"structure", "members":{ - "message":{"shape":"ExceptionMessage"} + "message":{ + "shape":"ExceptionMessage", + "documentation":"This message describes details of the error." + } }, "documentation":"This exception is thrown when an internal service error occurs.", "exception":true, @@ -170,11 +182,11 @@ "members":{ "dataSetType":{ "shape":"SupportDataSetType", - "documentation":"

Specifies the data set type to be written to the output csv file. The data set types customer_support_contacts_data and test_customer_support_contacts_data both result in a csv file containing the following fields: Product Id, Customer Guid, Subscription Guid, Subscription Start Date, Organization, AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country Code, ZIP Code, Operation Type, and Operation Time. Currently, only the test_customer_support_contacts_data value is supported

  • customer_support_contacts_data Customer support contact data. The data set will contain all changes (Creates, Updates, and Deletes) to customer support contact data from the date specified in the from_date parameter.
  • test_customer_support_contacts_data An example data set containing static test data in the same format as customer_support_contacts_data

" + "documentation":"

Specifies the data set type to be written to the output csv file. The data set types customer_support_contacts_data and test_customer_support_contacts_data both result in a csv file containing the following fields: Product Id, Product Code, Customer Guid, Subscription Guid, Subscription Start Date, Organization, AWS Account Id, Given Name, Surname, Telephone Number, Email, Title, Country Code, ZIP Code, Operation Type, and Operation Time.

  • customer_support_contacts_data Customer support contact data. The data set will contain all changes (Creates, Updates, and Deletes) to customer support contact data from the date specified in the from_date parameter.
  • test_customer_support_contacts_data An example data set containing static test data in the same format as customer_support_contacts_data

" }, "fromDate":{ "shape":"FromDate", - "documentation":"The start date from which to retrieve the data set. This parameter only affects the customer_support_contacts_data data set type." + "documentation":"The start date from which to retrieve the data set in UTC. This parameter only affects the customer_support_contacts_data data set type." }, "roleNameArn":{ "shape":"RoleNameArn", diff -Nru python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/examples-1.json python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/examples-1.json --- python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json --- python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "GetEntitlements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Entitlements" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/service-2.json python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/service-2.json --- python-botocore-1.4.70/botocore/data/marketplace-entitlement/2017-01-11/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/marketplace-entitlement/2017-01-11/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,183 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-11", + "endpointPrefix":"entitlement.marketplace", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Marketplace Entitlement Service", + "serviceId":"Marketplace Entitlement Service", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "targetPrefix":"AWSMPEntitlementService", + "uid":"entitlement.marketplace-2017-01-11" + }, + "operations":{ + "GetEntitlements":{ + "name":"GetEntitlements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetEntitlementsRequest"}, + "output":{"shape":"GetEntitlementsResult"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

GetEntitlements retrieves entitlement values for a given product. The results can be filtered based on customer identifier or product dimensions.

" + } + }, + "shapes":{ + "Boolean":{"type":"boolean"}, + "Double":{"type":"double"}, + "Entitlement":{ + "type":"structure", + "members":{ + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

The product code for which the given entitlement applies. Product codes are provided by AWS Marketplace when the product listing is created.

" + }, + "Dimension":{ + "shape":"NonEmptyString", + "documentation":"

The dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.

" + }, + "CustomerIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

The customer identifier is a handle to each unique customer in an application. Customer identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering Service.

" + }, + "Value":{ + "shape":"EntitlementValue", + "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" + }, + "ExpirationDate":{ + "shape":"Timestamp", + "documentation":"

The expiration date represents the minimum date through which this entitlement is expected to remain valid. For contractual products listed on AWS Marketplace, the expiration date is the date at which the customer will renew or cancel their contract. Customers who are opting to renew their contract will still have entitlements with an expiration date.

" + } + }, + "documentation":"

An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

" + }, + "EntitlementList":{ + "type":"list", + "member":{"shape":"Entitlement"}, + "min":0 + }, + "EntitlementValue":{ + "type":"structure", + "members":{ + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The IntegerValue field will be populated with an integer value when the entitlement is an integer type. Otherwise, the field will not be set.

" + }, + "DoubleValue":{ + "shape":"Double", + "documentation":"

The DoubleValue field will be populated with a double value when the entitlement is a double type. Otherwise, the field will not be set.

" + }, + "BooleanValue":{ + "shape":"Boolean", + "documentation":"

The BooleanValue field will be populated with a boolean value when the entitlement is a boolean type. Otherwise, the field will not be set.

" + }, + "StringValue":{ + "shape":"String", + "documentation":"

The StringValue field will be populated with a string value when the entitlement is a string type. Otherwise, the field will not be set.

" + } + }, + "documentation":"

The EntitlementValue represents the amount of capacity that the customer is entitled to for the product.

" + }, + "ErrorMessage":{"type":"string"}, + "FilterValue":{"type":"string"}, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "min":1 + }, + "GetEntitlementFilterName":{ + "type":"string", + "enum":[ + "CUSTOMER_IDENTIFIER", + "DIMENSION" + ] + }, + "GetEntitlementFilters":{ + "type":"map", + "key":{"shape":"GetEntitlementFilterName"}, + "value":{"shape":"FilterValueList"} + }, + "GetEntitlementsRequest":{ + "type":"structure", + "required":["ProductCode"], + "members":{ + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code will be provided by AWS Marketplace when the product listing is created.

" + }, + "Filter":{ + "shape":"GetEntitlementFilters", + "documentation":"

Filter is used to return entitlements for a specific customer or for a specific dimension. Filters are described as keys mapped to a lists of values. Filtered requests are unioned for each value in the value list, and then intersected for each filter key.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

For paginated calls to GetEntitlements, pass the NextToken from the previous GetEntitlementsResult.

" + }, + "MaxResults":{ + "shape":"Integer", + "documentation":"

The maximum number of items to retrieve from the GetEntitlements operation. For pagination, use the NextToken field in subsequent calls to GetEntitlements.

" + } + }, + "documentation":"

The GetEntitlementsRequest contains parameters for the GetEntitlements operation.

" + }, + "GetEntitlementsResult":{ + "type":"structure", + "members":{ + "Entitlements":{ + "shape":"EntitlementList", + "documentation":"

The set of entitlements found through the GetEntitlements operation. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

For paginated results, use NextToken in subsequent calls to GetEntitlements. If the result contains an empty set of entitlements, NextToken might still be present and should be used.

" + } + }, + "documentation":"

The GetEntitlementsRequest contains results from the GetEntitlements operation.

" + }, + "Integer":{"type":"integer"}, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.

", + "exception":true, + "fault":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

One or more parameters in your request was invalid.

", + "exception":true + }, + "NonEmptyString":{ + "type":"string", + "pattern":"\\S+" + }, + "ProductCode":{ + "type":"string", + "max":255, + "min":1 + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The calls to the GetEntitlements API are throttled.

", + "exception":true + }, + "Timestamp":{"type":"timestamp"} + }, + "documentation":"AWS Marketplace Entitlement Service

This reference provides descriptions of the AWS Marketplace Entitlement Service API.

AWS Marketplace Entitlement Service is used to determine the entitlement of a customer to a given product. An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database.

Getting Entitlement Records

  • GetEntitlements- Gets the entitlements for a Marketplace product.

" +} diff -Nru python-botocore-1.4.70/botocore/data/mediaconnect/2018-11-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediaconnect/2018-11-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediaconnect/2018-11-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediaconnect/2018-11-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListFlows": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Flows" + }, + "ListEntitlements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Entitlements" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediaconnect/2018-11-14/service-2.json python-botocore-1.16.19+repack/botocore/data/mediaconnect/2018-11-14/service-2.json --- python-botocore-1.4.70/botocore/data/mediaconnect/2018-11-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediaconnect/2018-11-14/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2826 @@ +{ + "metadata": { + "apiVersion": "2018-11-14", + "endpointPrefix": "mediaconnect", + "signingName": "mediaconnect", + "serviceFullName": "AWS MediaConnect", + "serviceId": "MediaConnect", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "mediaconnect-2018-11-14", + "signatureVersion": "v4" + }, + "operations": { + "AddFlowOutputs": { + "name": "AddFlowOutputs", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/outputs", + "responseCode": 201 + }, + "input": { + "shape": "AddFlowOutputsRequest" + }, + "output": { + "shape": "AddFlowOutputsResponse", + "documentation": "AWS Elemental MediaConnect added the outputs successfully." + }, + "errors": [ + { + "shape": "AddFlowOutputs420Exception", + "documentation": "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed outputs (50). For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Adds outputs to an existing flow. You can create up to 50 outputs per flow." + }, + "AddFlowSources": { + "name": "AddFlowSources", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/source", + "responseCode": 201 + }, + "input": { + "shape": "AddFlowSourcesRequest" + }, + "output": { + "shape": "AddFlowSourcesResponse", + "documentation": "AWS Elemental MediaConnect added sources to the flow successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Adds Sources to flow" + }, + "AddFlowVpcInterfaces": { + "name": "AddFlowVpcInterfaces", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/vpcInterfaces", + "responseCode": 201 + }, + "input": { + "shape": "AddFlowVpcInterfacesRequest" + }, + "output": { + "shape": "AddFlowVpcInterfacesResponse", + "documentation": "The following VPC interface was added to the Flow configuration." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Adds VPC interfaces to flow" + }, + "CreateFlow": { + "name": "CreateFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows", + "responseCode": 201 + }, + "input": { + "shape": "CreateFlowRequest" + }, + "output": { + "shape": "CreateFlowResponse", + "documentation": "AWS Elemental MediaConnect created the new flow successfully." + }, + "errors": [ + { + "shape": "CreateFlow420Exception", + "documentation": "Your account already contains the maximum number of 20 flows per account, per Region. For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50)." + }, + "DeleteFlow": { + "name": "DeleteFlow", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteFlowRequest" + }, + "output": { + "shape": "DeleteFlowResponse", + "documentation": "AWS Elemental MediaConnect is deleting the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Deletes a flow. Before you can delete a flow, you must stop the flow." + }, + "DescribeFlow": { + "name": "DescribeFlow", + "http": { + "method": "GET", + "requestUri": "/v1/flows/{flowArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeFlowRequest" + }, + "output": { + "shape": "DescribeFlowResponse", + "documentation": "AWS Elemental MediaConnect returned the flow details successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Displays the details of a flow. The response includes the flow ARN, name, and Availability Zone, as well as details about the source, outputs, and entitlements." + }, + "GrantFlowEntitlements": { + "name": "GrantFlowEntitlements", + "http": { + "method": "POST", + "requestUri": "/v1/flows/{flowArn}/entitlements", + "responseCode": 200 + }, + "input": { + "shape": "GrantFlowEntitlementsRequest" + }, + "output": { + "shape": "GrantFlowEntitlementsResponse", + "documentation": "AWS Elemental MediaConnect granted the entitlements successfully." + }, + "errors": [ + { + "shape": "GrantFlowEntitlements420Exception", + "documentation": "AWS Elemental MediaConnect can't complete this request because this flow already has the maximum number of allowed entitlements (50). For more information, contact AWS Customer Support." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Grants entitlements to an existing flow." + }, + "ListEntitlements": { + "name": "ListEntitlements", + "http": { + "method": "GET", + "requestUri": "/v1/entitlements", + "responseCode": 200 + }, + "input": { + "shape": "ListEntitlementsRequest" + }, + "output": { + "shape": "ListEntitlementsResponse", + "documentation": "AWS Elemental MediaConnect returned the list of entitlements successfully." + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + } + ], + "documentation": "Displays a list of all entitlements that have been granted to this account. This request returns 20 results per page." + }, + "ListFlows": { + "name": "ListFlows", + "http": { + "method": "GET", + "requestUri": "/v1/flows", + "responseCode": 200 + }, + "input": { + "shape": "ListFlowsRequest" + }, + "output": { + "shape": "ListFlowsResponse", + "documentation": "AWS Elemental MediaConnect returned the list of flows successfully." + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + }, + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + } + ], + "documentation": "Displays a list of flows that are associated with this account. This request returns a paginated result." + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "The tags for the resource" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "List all tags on an AWS Elemental MediaConnect resource" + }, + "RemoveFlowOutput": { + "name": "RemoveFlowOutput", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/outputs/{outputArn}", + "responseCode": 202 + }, + "input": { + "shape": "RemoveFlowOutputRequest" + }, + "output": { + "shape": "RemoveFlowOutputResponse", + "documentation": "output successfully removed from flow configuration." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Removes an output from an existing flow. This request can be made only on an output that does not have an entitlement associated with it. If the output has an entitlement, you must revoke the entitlement instead. When an entitlement is revoked from a flow, the service automatically removes the associated output." + }, + "RemoveFlowSource": { + "name": "RemoveFlowSource", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/source/{sourceArn}", + "responseCode": 202 + }, + "input": { + "shape": "RemoveFlowSourceRequest" + }, + "output": { + "shape": "RemoveFlowSourceResponse", + "documentation": "source successfully removed from flow configuration." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Removes a source from an existing flow. This request can be made only if there is more than one source on the flow." + }, + "RemoveFlowVpcInterface": { + "name": "RemoveFlowVpcInterface", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/vpcInterfaces/{vpcInterfaceName}", + "responseCode": 200 + }, + "input": { + "shape": "RemoveFlowVpcInterfaceRequest" + }, + "output": { + "shape": "RemoveFlowVpcInterfaceResponse", + "documentation": "VPC interface successfully removed from flow configuration." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Removes a VPC Interface from an existing flow. This request can be made only on a VPC interface that does not have a Source or Output associated with it. If the VPC interface is referenced by a Source or Output, you must first delete or update the Source or Output to no longer reference the VPC interface." + }, + "RevokeFlowEntitlement": { + "name": "RevokeFlowEntitlement", + "http": { + "method": "DELETE", + "requestUri": "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + "responseCode": 202 + }, + "input": { + "shape": "RevokeFlowEntitlementRequest" + }, + "output": { + "shape": "RevokeFlowEntitlementResponse", + "documentation": "AWS Elemental MediaConnect revoked the entitlement successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Revokes an entitlement from a flow. Once an entitlement is revoked, the content becomes unavailable to the subscriber and the associated output is removed." + }, + "StartFlow": { + "name": "StartFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows/start/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "StartFlowRequest" + }, + "output": { + "shape": "StartFlowResponse", + "documentation": "AWS Elemental MediaConnect is starting the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Starts a flow." + }, + "StopFlow": { + "name": "StopFlow", + "http": { + "method": "POST", + "requestUri": "/v1/flows/stop/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "StopFlowRequest" + }, + "output": { + "shape": "StopFlowResponse", + "documentation": "AWS Elemental MediaConnect is stopping the flow." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Stops a flow." + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "Associates the specified tags to a resource with the specified resourceArn. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are deleted as well." + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The requested resource was not found" + }, + { + "shape": "BadRequestException", + "documentation": "The client performed an invalid request" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + } + ], + "documentation": "Deletes specified tags from a resource." + }, + "UpdateFlow": { + "name": "UpdateFlow", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowRequest" + }, + "output": { + "shape": "UpdateFlowResponse", + "documentation": "AWS Elemental MediaConnect updated the flow successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Updates flow" + }, + "UpdateFlowEntitlement": { + "name": "UpdateFlowEntitlement", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/entitlements/{entitlementArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowEntitlementRequest" + }, + "output": { + "shape": "UpdateFlowEntitlementResponse", + "documentation": "AWS Elemental MediaConnect updated the entitlement successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "You can change an entitlement's description, subscribers, and encryption. If you change the subscribers, the service will remove the outputs that are are used by the subscribers that are removed." + }, + "UpdateFlowOutput": { + "name": "UpdateFlowOutput", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/outputs/{outputArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowOutputRequest" + }, + "output": { + "shape": "UpdateFlowOutputResponse", + "documentation": "AWS Elemental MediaConnect updated the output successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Updates an existing flow output." + }, + "UpdateFlowSource": { + "name": "UpdateFlowSource", + "http": { + "method": "PUT", + "requestUri": "/v1/flows/{flowArn}/source/{sourceArn}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateFlowSourceRequest" + }, + "output": { + "shape": "UpdateFlowSourceResponse", + "documentation": "AWS Elemental MediaConnect updated the flow successfully." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request that you submitted is not valid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "AWS Elemental MediaConnect can't fulfill your request because it encountered an unexpected condition." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have the required permissions to perform this operation." + }, + { + "shape": "NotFoundException", + "documentation": "AWS Elemental MediaConnect did not find the resource that you specified in the request." + }, + { + "shape": "ServiceUnavailableException", + "documentation": "AWS Elemental MediaConnect is currently unavailable. Try again later." + }, + { + "shape": "TooManyRequestsException", + "documentation": "You have exceeded the service request rate limit for your AWS Elemental MediaConnect account." + } + ], + "documentation": "Updates the source of a flow." + } + }, + "shapes": { + "AddFlowOutputs420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 + } + }, + "AddFlowOutputsRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to add outputs to." + }, + "Outputs": { + "shape": "__listOfAddOutputRequest", + "locationName": "outputs", + "documentation": "A list of outputs that you want to add." + } + }, + "documentation": "A request to add outputs to the specified flow.", + "required": [ + "FlowArn", + "Outputs" + ] + }, + "AddFlowOutputsResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these outputs were added to." + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs", + "documentation": "The details of the newly added outputs." + } + } + }, + "AddFlowSourcesRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to mutate." + }, + "Sources": { + "shape": "__listOfSetSourceRequest", + "locationName": "sources", + "documentation": "A list of sources that you want to add." + } + }, + "documentation": "A request to add sources to the flow.", + "required": [ + "FlowArn", + "Sources" + ] + }, + "AddFlowSourcesResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these sources were added to." + }, + "Sources": { + "shape": "__listOfSource", + "locationName": "sources", + "documentation": "The details of the newly added sources." + } + } + }, + "AddFlowVpcInterfacesRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to mutate." + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterfaceRequest", + "locationName": "vpcInterfaces", + "documentation": "A list of VPC interfaces that you want to add." + } + }, + "documentation": "A request to add VPC interfaces to the flow.", + "required": [ + "FlowArn", + "VpcInterfaces" + ] + }, + "AddFlowVpcInterfacesResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these VPC interfaces were added to." + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterface", + "locationName": "vpcInterfaces", + "documentation": "The details of the newly added VPC interfaces." + } + } + }, + "AddOutputRequest": { + "type": "structure", + "members": { + "CidrAllowList": { + "shape": "__listOf__string", + "locationName": "cidrAllowList", + "documentation": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The IP address from which video will be sent to output destinations." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the output. This value must be unique within the current flow." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol to use for the output." + }, + "RemoteId": { + "shape": "__string", + "locationName": "remoteId", + "documentation": "The remote ID for the Zixi-pull output stream." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "VpcInterfaceAttachment": { + "shape": "VpcInterfaceAttachment", + "locationName": "vpcInterfaceAttachment", + "documentation": "The name of the VPC interface attachment to use for this output." + } + }, + "documentation": "The output that you want to add to this flow.", + "required": [ + "Protocol" + ] + }, + "Algorithm": { + "type": "string", + "enum": [ + "aes128", + "aes192", + "aes256" + ] + }, + "BadRequestException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "CreateFlow420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 + } + }, + "CreateFlowRequest": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS Region." + }, + "Entitlements": { + "shape": "__listOfGrantEntitlementRequest", + "locationName": "entitlements", + "documentation": "The entitlements that you want to grant on a flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "Outputs": { + "shape": "__listOfAddOutputRequest", + "locationName": "outputs", + "documentation": "The outputs that you want to add to this flow." + }, + "Source": { + "shape": "SetSourceRequest", + "locationName": "source" + }, + "SourceFailoverConfig": { + "shape": "FailoverConfig", + "locationName": "sourceFailoverConfig" + }, + "Sources": { + "shape": "__listOfSetSourceRequest", + "locationName": "sources" + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterfaceRequest", + "locationName": "vpcInterfaces", + "documentation": "The VPC interfaces you want on the flow." + } + }, + "documentation": "Creates a new flow. The request must include one source. The request optionally can include outputs (up to 50) and entitlements (up to 50).", + "required": [ + "Name" + ] + }, + "CreateFlowResponse": { + "type": "structure", + "members": { + "Flow": { + "shape": "Flow", + "locationName": "flow" + } + } + }, + "DeleteFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to delete." + } + }, + "required": [ + "FlowArn" + ] + }, + "DeleteFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that was deleted." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the DeleteFlow process begins." + } + } + }, + "DescribeFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to describe." + } + }, + "required": [ + "FlowArn" + ] + }, + "DescribeFlowResponse": { + "type": "structure", + "members": { + "Flow": { + "shape": "Flow", + "locationName": "flow" + }, + "Messages": { + "shape": "Messages", + "locationName": "messages" + } + } + }, + "Encryption": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "Algorithm", + "locationName": "algorithm", + "documentation": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." + }, + "ConstantInitializationVector": { + "shape": "__string", + "locationName": "constantInitializationVector", + "documentation": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption." + }, + "DeviceId": { + "shape": "__string", + "locationName": "deviceId", + "documentation": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "KeyType": { + "shape": "KeyType", + "locationName": "keyType", + "documentation": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "ResourceId": { + "shape": "__string", + "locationName": "resourceId", + "documentation": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption." + } + }, + "documentation": "Information about the encryption of the flow.", + "required": [ + "Algorithm", + "RoleArn" + ] + }, + "Entitlement": { + "type": "structure", + "members": { + "DataTransferSubscriberFeePercent": { + "shape": "__integer", + "locationName": "dataTransferSubscriberFeePercent", + "documentation": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output that is associated with this entitlement." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the entitlement." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." + } + }, + "documentation": "The settings for a flow entitlement.", + "required": [ + "EntitlementArn", + "Subscribers", + "Name" + ] + }, + "FailoverConfig": { + "type": "structure", + "members": { + "RecoveryWindow": { + "shape": "__integer", + "locationName": "recoveryWindow", + "documentation": "Search window time to look for dash-7 packets" + }, + "State": { + "shape": "State", + "locationName": "state" + } + }, + "documentation": "The settings for source failover" + }, + "Flow": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that you want to create the flow in. These options are limited to the Availability Zones within the current AWS." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the flow. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EgressIp": { + "shape": "__string", + "locationName": "egressIp", + "documentation": "The IP address from which video will be sent to output destinations." + }, + "Entitlements": { + "shape": "__listOfEntitlement", + "locationName": "entitlements", + "documentation": "The entitlements in this flow." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The Amazon Resource Name (ARN), a unique identifier for any AWS resource, of the flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs", + "documentation": "The outputs in this flow." + }, + "Source": { + "shape": "Source", + "locationName": "source" + }, + "SourceFailoverConfig": { + "shape": "FailoverConfig", + "locationName": "sourceFailoverConfig" + }, + "Sources": { + "shape": "__listOfSource", + "locationName": "sources" + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The current status of the flow." + }, + "VpcInterfaces": { + "shape": "__listOfVpcInterface", + "locationName": "vpcInterfaces", + "documentation": "The VPC Interfaces for this flow." + } + }, + "documentation": "The settings for a flow, including its source, outputs, and entitlements.", + "required": [ + "Status", + "Entitlements", + "Outputs", + "AvailabilityZone", + "FlowArn", + "Source", + "Name" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "GrantEntitlementRequest": { + "type": "structure", + "members": { + "DataTransferSubscriberFeePercent": { + "shape": "__integer", + "locationName": "dataTransferSubscriberFeePercent", + "documentation": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output that is associated with this entitlement." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the entitlement. This value must be unique within the current flow." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flows using your content as the source." + } + }, + "documentation": "The entitlements that you want to grant on a flow.", + "required": [ + "Subscribers" + ] + }, + "GrantFlowEntitlements420Exception": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 420 + } + }, + "GrantFlowEntitlementsRequest": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfGrantEntitlementRequest", + "locationName": "entitlements", + "documentation": "The list of entitlements that you want to grant." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to grant entitlements on." + } + }, + "documentation": "A request to grant entitlements on a flow.", + "required": [ + "FlowArn", + "Entitlements" + ] + }, + "GrantFlowEntitlementsResponse": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfEntitlement", + "locationName": "entitlements", + "documentation": "The entitlements that were just granted." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that these entitlements were granted to." + } + } + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "KeyType": { + "type": "string", + "enum": [ + "speke", + "static-key" + ] + }, + "ListEntitlementsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of results to return per API request. For example, you submit a ListEntitlements request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 20 results per page." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." + } + } + }, + "ListEntitlementsResponse": { + "type": "structure", + "members": { + "Entitlements": { + "shape": "__listOfListedEntitlement", + "locationName": "entitlements", + "documentation": "A list of entitlements that have been granted to you from other AWS accounts." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListEntitlements request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListEntitlements request a second time and specify the NextToken value." + } + } + }, + "ListFlowsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of results to return per API request. For example, you submit a ListFlows request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." + } + } + }, + "ListFlowsResponse": { + "type": "structure", + "members": { + "Flows": { + "shape": "__listOfListedFlow", + "locationName": "flows", + "documentation": "A list of flow summaries." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The token that identifies which batch of results that you want to see. For example, you submit a ListFlows request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListFlows request a second time and specify the NextToken value." + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource for which to list the tags." + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." + } + } + }, + "ListedEntitlement": { + "type": "structure", + "members": { + "DataTransferSubscriberFeePercent": { + "shape": "__integer", + "locationName": "dataTransferSubscriberFeePercent", + "documentation": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement." + }, + "EntitlementName": { + "shape": "__string", + "locationName": "entitlementName", + "documentation": "The name of the entitlement." + } + }, + "documentation": "An entitlement that has been granted to you from other AWS accounts.", + "required": [ + "EntitlementArn", + "EntitlementName" + ] + }, + "ListedFlow": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The Availability Zone that the flow was created in." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the flow." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the flow." + }, + "SourceType": { + "shape": "SourceType", + "locationName": "sourceType", + "documentation": "The type of source. This value is either owned (originated somewhere other than an AWS Elemental MediaConnect flow owned by another AWS account) or entitled (originated at an AWS Elemental MediaConnect flow owned by another AWS account)." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The current status of the flow." + } + }, + "documentation": "Provides a summary of a flow, including its ARN, Availability Zone, and source type.", + "required": [ + "Status", + "Description", + "SourceType", + "AvailabilityZone", + "FlowArn", + "Name" + ] + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 1000 + }, + "Messages": { + "type": "structure", + "members": { + "Errors": { + "shape": "__listOf__string", + "locationName": "errors", + "documentation": "A list of errors that might have been generated from processes on this flow." + } + }, + "documentation": "Messages that provide the state of the flow.", + "required": [ + "Errors" + ] + }, + "NotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "Output": { + "type": "structure", + "members": { + "DataTransferSubscriberFeePercent": { + "shape": "__integer", + "locationName": "dataTransferSubscriberFeePercent", + "documentation": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The address where you want to send the output." + }, + "Encryption": { + "shape": "Encryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement on the originator''s flow. This value is relevant only on entitled flows." + }, + "MediaLiveInputArn": { + "shape": "__string", + "locationName": "mediaLiveInputArn", + "documentation": "The input ARN of the AWS Elemental MediaLive channel. This parameter is relevant only for outputs that were added by creating a MediaLive input." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the output. This value must be unique within the current flow." + }, + "OutputArn": { + "shape": "__string", + "locationName": "outputArn", + "documentation": "The ARN of the output." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Transport": { + "shape": "Transport", + "locationName": "transport", + "documentation": "Attributes related to the transport stream that are used in the output." + }, + "VpcInterfaceAttachment": { + "shape": "VpcInterfaceAttachment", + "locationName": "vpcInterfaceAttachment", + "documentation": "The name of the VPC interface attachment to use for this output." + } + }, + "documentation": "The settings for an output.", + "required": [ + "OutputArn", + "Name" + ] + }, + "Protocol": { + "type": "string", + "enum": [ + "zixi-push", + "rtp-fec", + "rtp", + "zixi-pull", + "rist" + ] + }, + "RemoveFlowOutputRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to remove an output from." + }, + "OutputArn": { + "shape": "__string", + "location": "uri", + "locationName": "outputArn", + "documentation": "The ARN of the output that you want to remove." + } + }, + "required": [ + "FlowArn", + "OutputArn" + ] + }, + "RemoveFlowOutputResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the output you removed." + }, + "OutputArn": { + "shape": "__string", + "locationName": "outputArn", + "documentation": "The ARN of the output that was removed." + } + } + }, + "RemoveFlowSourceRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to remove a source from." + }, + "SourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "sourceArn", + "documentation": "The ARN of the source that you want to remove." + } + }, + "required": [ + "FlowArn", + "SourceArn" + ] + }, + "RemoveFlowSourceResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the source you removed." + }, + "SourceArn": { + "shape": "__string", + "locationName": "sourceArn", + "documentation": "The ARN of the source that was removed." + } + } + }, + "RemoveFlowVpcInterfaceRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to remove a VPC interface from." + }, + "VpcInterfaceName": { + "shape": "__string", + "location": "uri", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC interface that you want to remove." + } + }, + "required": [ + "FlowArn", + "VpcInterfaceName" + ] + }, + "RemoveFlowVpcInterfaceResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the VPC interface you removed." + }, + "NonDeletedNetworkInterfaceIds": { + "shape": "__listOf__string", + "locationName": "nonDeletedNetworkInterfaceIds", + "documentation": "IDs of network interfaces associated with the removed VPC interface that Media Connect was unable to remove." + }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC interface that was removed." + } + } + }, + "ResponseError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ] + }, + "RevokeFlowEntitlementRequest": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__string", + "location": "uri", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that you want to revoke." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to revoke an entitlement from." + } + }, + "required": [ + "FlowArn", + "EntitlementArn" + ] + }, + "RevokeFlowEntitlementResponse": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that was revoked." + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that the entitlement was revoked from." + } + } + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 503 + } + }, + "SetSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "shape": "Encryption", + "locationName": "decryption", + "documentation": "The type of encryption that is used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the source." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC interface to use for this source." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "The settings for the source of the flow." + }, + "Source": { + "type": "structure", + "members": { + "DataTransferSubscriberFeePercent": { + "shape": "__integer", + "locationName": "dataTransferSubscriberFeePercent", + "documentation": "Percentage from 0-100 of the data transfer cost to be billed to the subscriber." + }, + "Decryption": { + "shape": "Encryption", + "locationName": "decryption", + "documentation": "The type of encryption that is used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to content that comes from another AWS account. The entitlement is set by the content originator and the ARN is generated as part of the originator's flow." + }, + "IngestIp": { + "shape": "__string", + "locationName": "ingestIp", + "documentation": "The IP address that the flow will be listening on for incoming content." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the source." + }, + "SourceArn": { + "shape": "__string", + "locationName": "sourceArn", + "documentation": "The ARN of the source." + }, + "Transport": { + "shape": "Transport", + "locationName": "transport", + "documentation": "Attributes related to the transport stream that are used in the source." + }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC Interface this Source is configured with." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "The settings for the source of the flow.", + "required": [ + "SourceArn", + "Name" + ] + }, + "SourceType": { + "type": "string", + "enum": [ + "OWNED", + "ENTITLED" + ] + }, + "StartFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to start." + } + }, + "required": [ + "FlowArn" + ] + }, + "StartFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you started." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the StartFlow process begins." + } + } + }, + "State": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Status": { + "type": "string", + "enum": [ + "STANDBY", + "ACTIVE", + "UPDATING", + "DELETING", + "STARTING", + "STOPPING", + "ERROR" + ] + }, + "StopFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to stop." + } + }, + "required": [ + "FlowArn" + ] + }, + "StopFlowResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you stopped." + }, + "Status": { + "shape": "Status", + "locationName": "status", + "documentation": "The status of the flow when the StopFlow process begins." + } + } + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource to which to add tags." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "A map from tag keys to values. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters." + } + }, + "documentation": "The tags to add to the resource. A tag is an array of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.", + "required": [ + "ResourceArn", + "Tags" + ] + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message returned by AWS Elemental MediaConnect." + } + }, + "documentation": "Exception raised by AWS Elemental MediaConnect. See the error message and documentation for the operation for more information on the cause of this exception.", + "required": [ + "Message" + ], + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "Transport": { + "type": "structure", + "members": { + "CidrAllowList": { + "shape": "__listOf__string", + "locationName": "cidrAllowList", + "documentation": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source or output." + }, + "RemoteId": { + "shape": "__string", + "locationName": "remoteId", + "documentation": "The remote ID for the Zixi-pull stream." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + } + }, + "documentation": "Attributes related to the transport stream that are used in a source or output.", + "required": [ + "Protocol" + ] + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn", + "documentation": "The Amazon Resource Name (ARN) that identifies the AWS Elemental MediaConnect resource from which to delete tags." + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "The keys of the tags to be removed." + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateEncryption": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "Algorithm", + "locationName": "algorithm", + "documentation": "The type of algorithm that is used for the encryption (such as aes128, aes192, or aes256)." + }, + "ConstantInitializationVector": { + "shape": "__string", + "locationName": "constantInitializationVector", + "documentation": "A 128-bit, 16-byte hex value represented by a 32-character string, to be used with the key for encrypting content. This parameter is not valid for static key encryption." + }, + "DeviceId": { + "shape": "__string", + "locationName": "deviceId", + "documentation": "The value of one of the devices that you configured with your digital rights management (DRM) platform key provider. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "KeyType": { + "shape": "KeyType", + "locationName": "keyType", + "documentation": "The type of key that is used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "The AWS Region that the API Gateway proxy endpoint was created in. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "ResourceId": { + "shape": "__string", + "locationName": "resourceId", + "documentation": "An identifier for the content. The service sends this value to the key server to identify the current endpoint. The resource ID is also known as the content ID. This parameter is required for SPEKE encryption and is not valid for static key encryption." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The ARN of the role that you created during setup (when you set up AWS Elemental MediaConnect as a trusted entity)." + }, + "SecretArn": { + "shape": "__string", + "locationName": "secretArn", + "documentation": "The ARN of the secret that you created in AWS Secrets Manager to store the encryption key. This parameter is required for static key encryption and is not valid for SPEKE encryption." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "The URL from the API Gateway proxy that you set up to talk to your key server. This parameter is required for SPEKE encryption and is not valid for static key encryption." + } + }, + "documentation": "Information about the encryption of the flow." + }, + "UpdateFailoverConfig": { + "type": "structure", + "members": { + "RecoveryWindow": { + "shape": "__integer", + "locationName": "recoveryWindow", + "documentation": "Recovery window time to look for dash-7 packets" + }, + "State": { + "shape": "State", + "locationName": "state" + } + }, + "documentation": "The settings for source failover" + }, + "UpdateFlowEntitlementRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the entitlement. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the subscriber or end user." + }, + "Encryption": { + "shape": "UpdateEncryption", + "locationName": "encryption", + "documentation": "The type of encryption that will be used on the output associated with this entitlement." + }, + "EntitlementArn": { + "shape": "__string", + "location": "uri", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that you want to update." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the entitlement that you want to update." + }, + "Subscribers": { + "shape": "__listOf__string", + "locationName": "subscribers", + "documentation": "The AWS account IDs that you want to share your content with. The receiving accounts (subscribers) will be allowed to create their own flow using your content as the source." + } + }, + "documentation": "The entitlement fields that you want to update.", + "required": [ + "FlowArn", + "EntitlementArn" + ] + }, + "UpdateFlowEntitlementResponse": { + "type": "structure", + "members": { + "Entitlement": { + "shape": "Entitlement", + "locationName": "entitlement" + }, + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that this entitlement was granted on." + } + } + }, + "UpdateFlowOutputRequest": { + "type": "structure", + "members": { + "CidrAllowList": { + "shape": "__listOf__string", + "locationName": "cidrAllowList", + "documentation": "The range of IP addresses that should be allowed to initiate output requests to this flow. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description of the output. This description appears only on the AWS Elemental MediaConnect console and will not be seen by the end user." + }, + "Destination": { + "shape": "__string", + "locationName": "destination", + "documentation": "The IP address where you want to send the output." + }, + "Encryption": { + "shape": "UpdateEncryption", + "locationName": "encryption", + "documentation": "The type of key used for the encryption. If no keyType is provided, the service will use the default setting (static-key)." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the output that you want to update." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds for Zixi-based streams." + }, + "OutputArn": { + "shape": "__string", + "location": "uri", + "locationName": "outputArn", + "documentation": "The ARN of the output that you want to update." + }, + "Port": { + "shape": "__integer", + "locationName": "port", + "documentation": "The port to use when content is distributed to this output." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol to use for the output." + }, + "RemoteId": { + "shape": "__string", + "locationName": "remoteId", + "documentation": "The remote ID for the Zixi-pull stream." + }, + "SmoothingLatency": { + "shape": "__integer", + "locationName": "smoothingLatency", + "documentation": "The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC streams." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "VpcInterfaceAttachment": { + "shape": "VpcInterfaceAttachment", + "locationName": "vpcInterfaceAttachment", + "documentation": "The name of the VPC interface attachment to use for this output." + } + }, + "documentation": "The fields that you want to update in the output.", + "required": [ + "FlowArn", + "OutputArn" + ] + }, + "UpdateFlowOutputResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that is associated with the updated output." + }, + "Output": { + "shape": "Output", + "locationName": "output" + } + } + }, + "UpdateFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that you want to update." + }, + "SourceFailoverConfig": { + "shape": "UpdateFailoverConfig", + "locationName": "sourceFailoverConfig" + } + }, + "documentation": "A request to update flow.", + "required": [ + "FlowArn" + ] + }, + "UpdateFlowResponse": { + "type": "structure", + "members": { + "Flow": { + "shape": "Flow", + "locationName": "flow" + } + } + }, + "UpdateFlowSourceRequest": { + "type": "structure", + "members": { + "Decryption": { + "shape": "UpdateEncryption", + "locationName": "decryption", + "documentation": "The type of encryption used on the content ingested from this source." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "A description for the source. This value is not used or seen outside of the current AWS Elemental MediaConnect account." + }, + "EntitlementArn": { + "shape": "__string", + "locationName": "entitlementArn", + "documentation": "The ARN of the entitlement that allows you to subscribe to this flow. The entitlement is set by the flow originator, and the ARN is generated as part of the originator's flow." + }, + "FlowArn": { + "shape": "__string", + "location": "uri", + "locationName": "flowArn", + "documentation": "The flow that is associated with the source that you want to update." + }, + "IngestPort": { + "shape": "__integer", + "locationName": "ingestPort", + "documentation": "The port that the flow will be listening on for incoming content." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The smoothing max bitrate for RIST, RTP, and RTP-FEC streams." + }, + "MaxLatency": { + "shape": "__integer", + "locationName": "maxLatency", + "documentation": "The maximum latency in milliseconds. This parameter applies only to RIST-based and Zixi-based streams." + }, + "Protocol": { + "shape": "Protocol", + "locationName": "protocol", + "documentation": "The protocol that is used by the source." + }, + "SourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "sourceArn", + "documentation": "The ARN of the source that you want to update." + }, + "StreamId": { + "shape": "__string", + "locationName": "streamId", + "documentation": "The stream ID that you want to use for this transport. This parameter applies only to Zixi-based streams." + }, + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC Interface to configure this Source with." + }, + "WhitelistCidr": { + "shape": "__string", + "locationName": "whitelistCidr", + "documentation": "The range of IP addresses that should be allowed to contribute content to your source. These IP addresses should be in the form of a Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0/16." + } + }, + "documentation": "A request to update the source of a flow.", + "required": [ + "FlowArn", + "SourceArn" + ] + }, + "UpdateFlowSourceResponse": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the flow that you want to update." + }, + "Source": { + "shape": "Source", + "locationName": "source", + "documentation": "The settings for the source of the flow." + } + } + }, + "VpcInterface": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Immutable and has to be a unique against other VpcInterfaces in this Flow" + }, + "NetworkInterfaceIds": { + "shape": "__listOf__string", + "locationName": "networkInterfaceIds", + "documentation": "IDs of the network interfaces created in customer's account by MediaConnect." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "Role Arn MediaConnect can assumes to create ENIs in customer's account" + }, + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds", + "documentation": "Security Group IDs to be used on ENI." + }, + "SubnetId": { + "shape": "__string", + "locationName": "subnetId", + "documentation": "Subnet must be in the AZ of the Flow" + } + }, + "documentation": "The settings for a VPC Source.", + "required": [ + "NetworkInterfaceIds", + "SubnetId", + "SecurityGroupIds", + "RoleArn", + "Name" + ] + }, + "VpcInterfaceAttachment": { + "type": "structure", + "members": { + "VpcInterfaceName": { + "shape": "__string", + "locationName": "vpcInterfaceName", + "documentation": "The name of the VPC interface to use for this output." + } + }, + "documentation": "The settings for attaching a VPC interface to an output." + }, + "VpcInterfaceRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the VPC Interface. This value must be unique within the current flow." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "Role Arn MediaConnect can assumes to create ENIs in customer's account" + }, + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds", + "documentation": "Security Group IDs to be used on ENI." + }, + "SubnetId": { + "shape": "__string", + "locationName": "subnetId", + "documentation": "Subnet must be in the AZ of the Flow" + } + }, + "documentation": "Desired VPC Interface for a Flow", + "required": [ + "SubnetId", + "SecurityGroupIds", + "RoleArn", + "Name" + ] + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfAddOutputRequest": { + "type": "list", + "member": { + "shape": "AddOutputRequest" + } + }, + "__listOfEntitlement": { + "type": "list", + "member": { + "shape": "Entitlement" + } + }, + "__listOfGrantEntitlementRequest": { + "type": "list", + "member": { + "shape": "GrantEntitlementRequest" + } + }, + "__listOfListedEntitlement": { + "type": "list", + "member": { + "shape": "ListedEntitlement" + } + }, + "__listOfListedFlow": { + "type": "list", + "member": { + "shape": "ListedFlow" + } + }, + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" + } + }, + "__listOfSetSourceRequest": { + "type": "list", + "member": { + "shape": "SetSourceRequest" + } + }, + "__listOfSource": { + "type": "list", + "member": { + "shape": "Source" + } + }, + "__listOfVpcInterface": { + "type": "list", + "member": { + "shape": "VpcInterface" + } + }, + "__listOfVpcInterfaceRequest": { + "type": "list", + "member": { + "shape": "VpcInterfaceRequest" + } + }, + "__listOf__integer": { + "type": "list", + "member": { + "shape": "__integer" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + } + }, + "documentation": "API for AWS Elemental MediaConnect" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/mediaconvert/2017-08-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediaconvert/2017-08-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediaconvert/2017-08-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediaconvert/2017-08-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "DescribeEndpoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Endpoints" + }, + "ListJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Jobs" + }, + "ListPresets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Presets" + }, + "ListJobTemplates": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "JobTemplates" + }, + "ListQueues": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Queues" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediaconvert/2017-08-29/service-2.json python-botocore-1.16.19+repack/botocore/data/mediaconvert/2017-08-29/service-2.json --- python-botocore-1.4.70/botocore/data/mediaconvert/2017-08-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediaconvert/2017-08-29/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,10443 @@ +{ + "metadata": { + "apiVersion": "2017-08-29", + "endpointPrefix": "mediaconvert", + "signingName": "mediaconvert", + "serviceFullName": "AWS Elemental MediaConvert", + "serviceId": "MediaConvert", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "mediaconvert-2017-08-29", + "signatureVersion": "v4", + "serviceAbbreviation": "MediaConvert" + }, + "operations": { + "AssociateCertificate": { + "name": "AssociateCertificate", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/certificates", + "responseCode": 201 + }, + "input": { + "shape": "AssociateCertificateRequest" + }, + "output": { + "shape": "AssociateCertificateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and cannot fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested does not exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Associates an AWS Certificate Manager (ACM) Amazon Resource Name (ARN) with AWS Elemental MediaConvert." + }, + "CancelJob": { + "name": "CancelJob", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/jobs/{id}", + "responseCode": 202 + }, + "input": { + "shape": "CancelJobRequest" + }, + "output": { + "shape": "CancelJobResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Permanently cancel a job. Once you have canceled a job, you can't start it again." + }, + "CreateJob": { + "name": "CreateJob", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/jobs", + "responseCode": 201 + }, + "input": { + "shape": "CreateJobRequest" + }, + "output": { + "shape": "CreateJobResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Create a new transcoding job. For information about jobs and job settings, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + }, + "CreateJobTemplate": { + "name": "CreateJobTemplate", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/jobTemplates", + "responseCode": 201 + }, + "input": { + "shape": "CreateJobTemplateRequest" + }, + "output": { + "shape": "CreateJobTemplateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Create a new job template. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + }, + "CreatePreset": { + "name": "CreatePreset", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/presets", + "responseCode": 201 + }, + "input": { + "shape": "CreatePresetRequest" + }, + "output": { + "shape": "CreatePresetResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Create a new preset. For information about job templates see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + }, + "CreateQueue": { + "name": "CreateQueue", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/queues", + "responseCode": 201 + }, + "input": { + "shape": "CreateQueueRequest" + }, + "output": { + "shape": "CreateQueueResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Create a new transcoding queue. For information about queues, see Working With Queues in the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html" + }, + "DeleteJobTemplate": { + "name": "DeleteJobTemplate", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/jobTemplates/{name}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteJobTemplateRequest" + }, + "output": { + "shape": "DeleteJobTemplateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Permanently delete a job template you have created." + }, + "DeletePreset": { + "name": "DeletePreset", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/presets/{name}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePresetRequest" + }, + "output": { + "shape": "DeletePresetResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Permanently delete a preset you have created." + }, + "DeleteQueue": { + "name": "DeleteQueue", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/queues/{name}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteQueueRequest" + }, + "output": { + "shape": "DeleteQueueResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Permanently delete a queue you have created." + }, + "DescribeEndpoints": { + "name": "DescribeEndpoints", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/endpoints", + "responseCode": 200 + }, + "input": { + "shape": "DescribeEndpointsRequest" + }, + "output": { + "shape": "DescribeEndpointsResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "BadRequestException" + }, + { + "shape": "InternalServerErrorException", + "documentation": "InternalServiceException" + }, + { + "shape": "ForbiddenException", + "documentation": "AccessDeniedException" + }, + { + "shape": "NotFoundException", + "documentation": "ResourceNotFoundException" + }, + { + "shape": "TooManyRequestsException", + "documentation": "LimitExceededException" + }, + { + "shape": "ConflictException", + "documentation": "ResourceInUseException" + } + ], + "documentation": "Send an request with an empty body to the regional API endpoint to get your account API endpoint." + }, + "DisassociateCertificate": { + "name": "DisassociateCertificate", + "http": { + "method": "DELETE", + "requestUri": "/2017-08-29/certificates/{arn}", + "responseCode": 202 + }, + "input": { + "shape": "DisassociateCertificateRequest" + }, + "output": { + "shape": "DisassociateCertificateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and cannot fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested does not exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service could not complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Removes an association between the Amazon Resource Name (ARN) of an AWS Certificate Manager (ACM) certificate and an AWS Elemental MediaConvert resource." + }, + "GetJob": { + "name": "GetJob", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/jobs/{id}", + "responseCode": 200 + }, + "input": { + "shape": "GetJobRequest" + }, + "output": { + "shape": "GetJobResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve the JSON for a specific completed transcoding job." + }, + "GetJobTemplate": { + "name": "GetJobTemplate", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/jobTemplates/{name}", + "responseCode": 200 + }, + "input": { + "shape": "GetJobTemplateRequest" + }, + "output": { + "shape": "GetJobTemplateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve the JSON for a specific job template." + }, + "GetPreset": { + "name": "GetPreset", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/presets/{name}", + "responseCode": 200 + }, + "input": { + "shape": "GetPresetRequest" + }, + "output": { + "shape": "GetPresetResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve the JSON for a specific preset." + }, + "GetQueue": { + "name": "GetQueue", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/queues/{name}", + "responseCode": 200 + }, + "input": { + "shape": "GetQueueRequest" + }, + "output": { + "shape": "GetQueueResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve the JSON for a specific queue." + }, + "ListJobTemplates": { + "name": "ListJobTemplates", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/jobTemplates", + "responseCode": 200 + }, + "input": { + "shape": "ListJobTemplatesRequest" + }, + "output": { + "shape": "ListJobTemplatesResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve a JSON array of up to twenty of your job templates. This will return the templates themselves, not just a list of them. To retrieve the next twenty templates, use the nextToken string returned with the array" + }, + "ListJobs": { + "name": "ListJobs", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/jobs", + "responseCode": 200 + }, + "input": { + "shape": "ListJobsRequest" + }, + "output": { + "shape": "ListJobsResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve a JSON array of up to twenty of your most recently created jobs. This array includes in-process, completed, and errored jobs. This will return the jobs themselves, not just a list of the jobs. To retrieve the twenty next most recent jobs, use the nextToken string returned with the array." + }, + "ListPresets": { + "name": "ListPresets", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/presets", + "responseCode": 200 + }, + "input": { + "shape": "ListPresetsRequest" + }, + "output": { + "shape": "ListPresetsResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve a JSON array of up to twenty of your presets. This will return the presets themselves, not just a list of them. To retrieve the next twenty presets, use the nextToken string returned with the array." + }, + "ListQueues": { + "name": "ListQueues", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/queues", + "responseCode": 200 + }, + "input": { + "shape": "ListQueuesRequest" + }, + "output": { + "shape": "ListQueuesResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve a JSON array of up to twenty of your queues. This will return the queues themselves, not just a list of them. To retrieve the next twenty queues, use the nextToken string returned with the array." + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/2017-08-29/tags/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Retrieve the tags for a MediaConvert resource." + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/2017-08-29/tags", + "responseCode": 200 + }, + "input": { + "shape": "TagResourceRequest" + }, + "output": { + "shape": "TagResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Add tags to a MediaConvert queue, preset, or job template. For information about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html" + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "PUT", + "requestUri": "/2017-08-29/tags/{arn}", + "responseCode": 200 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "output": { + "shape": "UntagResourceResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Remove tags from a MediaConvert queue, preset, or job template. For information about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html" + }, + "UpdateJobTemplate": { + "name": "UpdateJobTemplate", + "http": { + "method": "PUT", + "requestUri": "/2017-08-29/jobTemplates/{name}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateJobTemplateRequest" + }, + "output": { + "shape": "UpdateJobTemplateResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Modify one of your existing job templates." + }, + "UpdatePreset": { + "name": "UpdatePreset", + "http": { + "method": "PUT", + "requestUri": "/2017-08-29/presets/{name}", + "responseCode": 200 + }, + "input": { + "shape": "UpdatePresetRequest" + }, + "output": { + "shape": "UpdatePresetResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Modify one of your existing presets." + }, + "UpdateQueue": { + "name": "UpdateQueue", + "http": { + "method": "PUT", + "requestUri": "/2017-08-29/queues/{name}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateQueueRequest" + }, + "output": { + "shape": "UpdateQueueResponse" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + { + "shape": "NotFoundException", + "documentation": "The resource you requested doesn't exist." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + { + "shape": "ConflictException", + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + } + ], + "documentation": "Modify one of your existing queues." + } + }, + "shapes": { + "AacAudioDescriptionBroadcasterMix": { + "type": "string", + "documentation": "Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you provide for AudioType and FollowInputAudioType.", + "enum": [ + "BROADCASTER_MIXED_AD", + "NORMAL" + ] + }, + "AacCodecProfile": { + "type": "string", + "documentation": "AAC Profile.", + "enum": [ + "LC", + "HEV1", + "HEV2" + ] + }, + "AacCodingMode": { + "type": "string", + "documentation": "Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. \"1.0 - Audio Description (Receiver Mix)\" setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E.", + "enum": [ + "AD_RECEIVER_MIX", + "CODING_MODE_1_0", + "CODING_MODE_1_1", + "CODING_MODE_2_0", + "CODING_MODE_5_1" + ] + }, + "AacRateControlMode": { + "type": "string", + "documentation": "Rate Control Mode.", + "enum": [ + "CBR", + "VBR" + ] + }, + "AacRawFormat": { + "type": "string", + "documentation": "Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose \"No container\" for the output container.", + "enum": [ + "LATM_LOAS", + "NONE" + ] + }, + "AacSettings": { + "type": "structure", + "members": { + "AudioDescriptionBroadcasterMix": { + "shape": "AacAudioDescriptionBroadcasterMix", + "locationName": "audioDescriptionBroadcasterMix", + "documentation": "Choose BROADCASTER_MIXED_AD when the input contains pre-mixed main audio + audio description (AD) as a stereo pair. The value for AudioType will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. When you choose BROADCASTER_MIXED_AD, the encoder ignores any values you provide in AudioType and FollowInputAudioType. Choose NORMAL when the input does not contain pre-mixed audio + audio description (AD). In this case, the encoder will use any values you provide for AudioType and FollowInputAudioType." + }, + "Bitrate": { + "shape": "__integerMin6000Max1024000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. The set of valid values for this setting is: 6000, 8000, 10000, 12000, 14000, 16000, 20000, 24000, 28000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 288000, 320000, 384000, 448000, 512000, 576000, 640000, 768000, 896000, 1024000. The value you set is also constrained by the values that you choose for Profile (codecProfile), Bitrate control mode (codingMode), and Sample rate (sampleRate). Default values depend on Bitrate control mode and Profile." + }, + "CodecProfile": { + "shape": "AacCodecProfile", + "locationName": "codecProfile", + "documentation": "AAC Profile." + }, + "CodingMode": { + "shape": "AacCodingMode", + "locationName": "codingMode", + "documentation": "Mono (Audio Description), Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. \"1.0 - Audio Description (Receiver Mix)\" setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E." + }, + "RateControlMode": { + "shape": "AacRateControlMode", + "locationName": "rateControlMode", + "documentation": "Rate Control Mode." + }, + "RawFormat": { + "shape": "AacRawFormat", + "locationName": "rawFormat", + "documentation": "Enables LATM/LOAS AAC output. Note that if you use LATM/LOAS AAC in an output, you must choose \"No container\" for the output container." + }, + "SampleRate": { + "shape": "__integerMin8000Max96000", + "locationName": "sampleRate", + "documentation": "Sample rate in Hz. Valid values depend on rate control mode and profile." + }, + "Specification": { + "shape": "AacSpecification", + "locationName": "specification", + "documentation": "Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers." + }, + "VbrQuality": { + "shape": "AacVbrQuality", + "locationName": "vbrQuality", + "documentation": "VBR Quality Level - Only used if rate_control_mode is VBR." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to \"VBR\" or \"CBR\". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode." + }, + "AacSpecification": { + "type": "string", + "documentation": "Use MPEG-2 AAC instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers.", + "enum": [ + "MPEG2", + "MPEG4" + ] + }, + "AacVbrQuality": { + "type": "string", + "documentation": "VBR Quality Level - Only used if rate_control_mode is VBR.", + "enum": [ + "LOW", + "MEDIUM_LOW", + "MEDIUM_HIGH", + "HIGH" + ] + }, + "Ac3BitstreamMode": { + "type": "string", + "documentation": "Specify the bitstream mode for the AC-3 stream that the encoder emits. For more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex E).", + "enum": [ + "COMPLETE_MAIN", + "COMMENTARY", + "DIALOGUE", + "EMERGENCY", + "HEARING_IMPAIRED", + "MUSIC_AND_EFFECTS", + "VISUALLY_IMPAIRED", + "VOICE_OVER" + ] + }, + "Ac3CodingMode": { + "type": "string", + "documentation": "Dolby Digital coding mode. Determines number of channels.", + "enum": [ + "CODING_MODE_1_0", + "CODING_MODE_1_1", + "CODING_MODE_2_0", + "CODING_MODE_3_2_LFE" + ] + }, + "Ac3DynamicRangeCompressionProfile": { + "type": "string", + "documentation": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification.", + "enum": [ + "FILM_STANDARD", + "NONE" + ] + }, + "Ac3LfeFilter": { + "type": "string", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Ac3MetadataControl": { + "type": "string", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "Ac3Settings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__integerMin64000Max640000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode." + }, + "BitstreamMode": { + "shape": "Ac3BitstreamMode", + "locationName": "bitstreamMode", + "documentation": "Specify the bitstream mode for the AC-3 stream that the encoder emits. For more information about the AC3 bitstream mode, see ATSC A/52-2012 (Annex E)." + }, + "CodingMode": { + "shape": "Ac3CodingMode", + "locationName": "codingMode", + "documentation": "Dolby Digital coding mode. Determines number of channels." + }, + "Dialnorm": { + "shape": "__integerMin1Max31", + "locationName": "dialnorm", + "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital, dialnorm will be passed through." + }, + "DynamicRangeCompressionProfile": { + "shape": "Ac3DynamicRangeCompressionProfile", + "locationName": "dynamicRangeCompressionProfile", + "documentation": "If set to FILM_STANDARD, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification." + }, + "LfeFilter": { + "shape": "Ac3LfeFilter", + "locationName": "lfeFilter", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode." + }, + "MetadataControl": { + "shape": "Ac3MetadataControl", + "locationName": "metadataControl", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." + }, + "SampleRate": { + "shape": "__integerMin48000Max48000", + "locationName": "sampleRate", + "documentation": "This value is always 48000. It represents the sample rate in Hz." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3." + }, + "AccelerationMode": { + "type": "string", + "documentation": "Specify whether the service runs your job with accelerated transcoding. Choose DISABLED if you don't want accelerated transcoding. Choose ENABLED if you want your job to run with accelerated transcoding and to fail if your input files or your job settings aren't compatible with accelerated transcoding. Choose PREFERRED if you want your job to run with accelerated transcoding if the job is compatible with the feature and to run at standard speed if it's not.", + "enum": [ + "DISABLED", + "ENABLED", + "PREFERRED" + ] + }, + "AccelerationSettings": { + "type": "structure", + "members": { + "Mode": { + "shape": "AccelerationMode", + "locationName": "mode", + "documentation": "Specify the conditions when the service will run your job with accelerated transcoding." + } + }, + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content.", + "required": [ + "Mode" + ] + }, + "AccelerationStatus": { + "type": "string", + "documentation": "Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED.", + "enum": [ + "NOT_APPLICABLE", + "IN_PROGRESS", + "ACCELERATED", + "NOT_ACCELERATED" + ] + }, + "AfdSignaling": { + "type": "string", + "documentation": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data.", + "enum": [ + "NONE", + "AUTO", + "FIXED" + ] + }, + "AiffSettings": { + "type": "structure", + "members": { + "BitDepth": { + "shape": "__integerMin16Max24", + "locationName": "bitDepth", + "documentation": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track." + }, + "Channels": { + "shape": "__integerMin1Max64", + "locationName": "channels", + "documentation": "Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64." + }, + "SampleRate": { + "shape": "__integerMin8000Max192000", + "locationName": "sampleRate", + "documentation": "Sample rate in hz." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF." + }, + "AlphaBehavior": { + "type": "string", + "documentation": "Ignore this setting unless this input is a QuickTime animation with an alpha channel. Use this setting to create separate Key and Fill outputs. In each output, specify which part of the input MediaConvert uses. Leave this setting at the default value DISCARD to delete the alpha channel and preserve the video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the luma channel of your outputs.", + "enum": [ + "DISCARD", + "REMAP_TO_LUMA" + ] + }, + "AncillaryConvert608To708": { + "type": "string", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708.", + "enum": [ + "UPCONVERT", + "DISABLED" + ] + }, + "AncillarySourceSettings": { + "type": "structure", + "members": { + "Convert608To708": { + "shape": "AncillaryConvert608To708", + "locationName": "convert608To708", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708." + }, + "SourceAncillaryChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "sourceAncillaryChannelNumber", + "documentation": "Specifies the 608 channel number in the ancillary data track from which to extract captions. Unused for passthrough." + }, + "TerminateCaptions": { + "shape": "AncillaryTerminateCaptions", + "locationName": "terminateCaptions", + "documentation": "By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting." + } + }, + "documentation": "Settings for ancillary captions source." + }, + "AncillaryTerminateCaptions": { + "type": "string", + "documentation": "By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting.", + "enum": [ + "END_OF_INPUT", + "DISABLED" + ] + }, + "AntiAlias": { + "type": "string", + "documentation": "The anti-alias filter is automatically applied to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "AssociateCertificateRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The ARN of the ACM certificate that you want to associate with your MediaConvert resource." + } + }, + "required": [ + "Arn" + ] + }, + "AssociateCertificateResponse": { + "type": "structure", + "members": { + } + }, + "AudioCodec": { + "type": "string", + "documentation": "Type of Audio codec.", + "enum": [ + "AAC", + "MP2", + "MP3", + "WAV", + "AIFF", + "AC3", + "EAC3", + "EAC3_ATMOS", + "PASSTHROUGH" + ] + }, + "AudioCodecSettings": { + "type": "structure", + "members": { + "AacSettings": { + "shape": "AacSettings", + "locationName": "aacSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AAC. The service accepts one of two mutually exclusive groups of AAC settings--VBR and CBR. To select one of these modes, set the value of Bitrate control mode (rateControlMode) to \"VBR\" or \"CBR\". In VBR mode, you control the audio quality with the setting VBR quality (vbrQuality). In CBR mode, you use the setting Bitrate (bitrate). Defaults and valid values depend on the rate control mode." + }, + "Ac3Settings": { + "shape": "Ac3Settings", + "locationName": "ac3Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AC3." + }, + "AiffSettings": { + "shape": "AiffSettings", + "locationName": "aiffSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value AIFF." + }, + "Codec": { + "shape": "AudioCodec", + "locationName": "codec", + "documentation": "Type of Audio codec." + }, + "Eac3AtmosSettings": { + "shape": "Eac3AtmosSettings", + "locationName": "eac3AtmosSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3_ATMOS." + }, + "Eac3Settings": { + "shape": "Eac3Settings", + "locationName": "eac3Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3." + }, + "Mp2Settings": { + "shape": "Mp2Settings", + "locationName": "mp2Settings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2." + }, + "Mp3Settings": { + "shape": "Mp3Settings", + "locationName": "mp3Settings", + "documentation": "Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3." + }, + "WavSettings": { + "shape": "WavSettings", + "locationName": "wavSettings", + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV." + } + }, + "documentation": "Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value that you choose for Audio codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings" + }, + "AudioDefaultSelection": { + "type": "string", + "documentation": "Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio.", + "enum": [ + "DEFAULT", + "NOT_DEFAULT" + ] + }, + "AudioDescription": { + "type": "structure", + "members": { + "AudioNormalizationSettings": { + "shape": "AudioNormalizationSettings", + "locationName": "audioNormalizationSettings", + "documentation": "Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard." + }, + "AudioSourceName": { + "shape": "__string", + "locationName": "audioSourceName", + "documentation": "Specifies which audio data to use from each input. In the simplest case, specify an \"Audio Selector\":#inputs-audio_selector by name based on its order within each input. For example if you specify \"Audio Selector 3\", then the third audio selector will be used from each input. If an input does not have an \"Audio Selector 3\", then the audio selector marked as \"default\" in that input will be used. If there is no audio selector marked as \"default\", silence will be inserted for the duration of that input. Alternatively, an \"Audio Selector Group\":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then \"Audio Selector 1\" will be chosen automatically." + }, + "AudioType": { + "shape": "__integerMin0Max255", + "locationName": "audioType", + "documentation": "Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved." + }, + "AudioTypeControl": { + "shape": "AudioTypeControl", + "locationName": "audioTypeControl", + "documentation": "When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD." + }, + "CodecSettings": { + "shape": "AudioCodecSettings", + "locationName": "codecSettings", + "documentation": "Audio codec settings (CodecSettings) under (AudioDescriptions) contains the group of settings related to audio encoding. The settings in this group vary depending on the value that you choose for Audio codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * AAC, AacSettings * MP2, Mp2Settings * MP3, Mp3Settings * WAV, WavSettings * AIFF, AiffSettings * AC3, Ac3Settings * EAC3, Eac3Settings * EAC3_ATMOS, Eac3AtmosSettings" + }, + "CustomLanguageCode": { + "shape": "__stringPatternAZaZ23AZaZ", + "locationName": "customLanguageCode", + "documentation": "Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control (AudioLanguageCodeControl) to Use configured (USE_CONFIGURED). The service also uses your specified custom language code when you set Language code control (AudioLanguageCodeControl) to Follow input (FOLLOW_INPUT), but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input." + }, + "LanguageCodeControl": { + "shape": "AudioLanguageCodeControl", + "locationName": "languageCodeControl", + "documentation": "Specify which source for language code takes precedence for this audio track. When you choose Follow input (FOLLOW_INPUT), the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code (languageCode or customLanguageCode). When you choose Use configured (USE_CONFIGURED), the service uses the language code that you specify." + }, + "RemixSettings": { + "shape": "RemixSettings", + "locationName": "remixSettings", + "documentation": "Advanced audio remixing settings." + }, + "StreamName": { + "shape": "__stringPatternWS", + "locationName": "streamName", + "documentation": "Specify a label for this output audio stream. For example, \"English\", \"Director commentary\", or \"track_2\". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting." + } + }, + "documentation": "Description of audio output" + }, + "AudioLanguageCodeControl": { + "type": "string", + "documentation": "Specify which source for language code takes precedence for this audio track. When you choose Follow input (FOLLOW_INPUT), the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code (languageCode or customLanguageCode). When you choose Use configured (USE_CONFIGURED), the service uses the language code that you specify.", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "AudioNormalizationAlgorithm": { + "type": "string", + "documentation": "Choose one of the following audio normalization algorithms: ITU-R BS.1770-1: Ungated loudness. A measurement of ungated average loudness for an entire piece of content, suitable for measurement of short-form content under ATSC recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated average loudness compliant with the requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same loudness measurement algorithm as 1770-2, with an updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows for more audio channels than the other algorithms, including configurations such as 7.1.", + "enum": [ + "ITU_BS_1770_1", + "ITU_BS_1770_2", + "ITU_BS_1770_3", + "ITU_BS_1770_4" + ] + }, + "AudioNormalizationAlgorithmControl": { + "type": "string", + "documentation": "When enabled the output audio is corrected using the chosen algorithm. If disabled, the audio will be measured but not adjusted.", + "enum": [ + "CORRECT_AUDIO", + "MEASURE_ONLY" + ] + }, + "AudioNormalizationLoudnessLogging": { + "type": "string", + "documentation": "If set to LOG, log each output's audio track loudness to a CSV file.", + "enum": [ + "LOG", + "DONT_LOG" + ] + }, + "AudioNormalizationPeakCalculation": { + "type": "string", + "documentation": "If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio track loudness.", + "enum": [ + "TRUE_PEAK", + "NONE" + ] + }, + "AudioNormalizationSettings": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "AudioNormalizationAlgorithm", + "locationName": "algorithm", + "documentation": "Choose one of the following audio normalization algorithms: ITU-R BS.1770-1: Ungated loudness. A measurement of ungated average loudness for an entire piece of content, suitable for measurement of short-form content under ATSC recommendation A/85. Supports up to 5.1 audio channels. ITU-R BS.1770-2: Gated loudness. A measurement of gated average loudness compliant with the requirements of EBU-R128. Supports up to 5.1 audio channels. ITU-R BS.1770-3: Modified peak. The same loudness measurement algorithm as 1770-2, with an updated true peak measurement. ITU-R BS.1770-4: Higher channel count. Allows for more audio channels than the other algorithms, including configurations such as 7.1." + }, + "AlgorithmControl": { + "shape": "AudioNormalizationAlgorithmControl", + "locationName": "algorithmControl", + "documentation": "When enabled the output audio is corrected using the chosen algorithm. If disabled, the audio will be measured but not adjusted." + }, + "CorrectionGateLevel": { + "shape": "__integerMinNegative70Max0", + "locationName": "correctionGateLevel", + "documentation": "Content measuring above this level will be corrected to the target level. Content measuring below this level will not be corrected." + }, + "LoudnessLogging": { + "shape": "AudioNormalizationLoudnessLogging", + "locationName": "loudnessLogging", + "documentation": "If set to LOG, log each output's audio track loudness to a CSV file." + }, + "PeakCalculation": { + "shape": "AudioNormalizationPeakCalculation", + "locationName": "peakCalculation", + "documentation": "If set to TRUE_PEAK, calculate and log the TruePeak for each output's audio track loudness." + }, + "TargetLkfs": { + "shape": "__doubleMinNegative59Max0", + "locationName": "targetLkfs", + "documentation": "When you use Audio normalization (AudioNormalizationSettings), optionally use this setting to specify a target loudness. If you don't specify a value here, the encoder chooses a value for you, based on the algorithm that you choose for Algorithm (algorithm). If you choose algorithm 1770-1, the encoder will choose -24 LKFS; otherwise, the encoder will choose -23 LKFS." + } + }, + "documentation": "Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard." + }, + "AudioSelector": { + "type": "structure", + "members": { + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode", + "documentation": "Selects a specific language code from within an audio source, using the ISO 639-2 or ISO 639-3 three-letter language code" + }, + "DefaultSelection": { + "shape": "AudioDefaultSelection", + "locationName": "defaultSelection", + "documentation": "Enable this setting on one audio selector to set it as the default for the job. The service uses this default for outputs where it can't find the specified input audio. If you don't set a default, those outputs have no audio." + }, + "ExternalAudioFileInput": { + "shape": "__stringPatternS3MM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE", + "locationName": "externalAudioFileInput", + "documentation": "Specifies audio data from an external file source." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Selects a specific language code from within an audio source." + }, + "Offset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "offset", + "documentation": "Specifies a time delta in milliseconds to offset the audio from the input video." + }, + "Pids": { + "shape": "__listOf__integerMin1Max2147483647", + "locationName": "pids", + "documentation": "Selects a specific PID from within an audio source (e.g. 257 selects PID 0x101)." + }, + "ProgramSelection": { + "shape": "__integerMin0Max8", + "locationName": "programSelection", + "documentation": "Use this setting for input streams that contain Dolby E, to have the service extract specific program data from the track. To select multiple programs, create multiple selectors with the same Track and different Program numbers. In the console, this setting is visible when you set Selector type to Track. Choose the program number from the dropdown list. If you are sending a JSON file, provide the program ID, which is part of the audio metadata. If your input file has incorrect metadata, you can choose All channels instead of a program number to have the service ignore the program IDs and include all the programs in the track." + }, + "RemixSettings": { + "shape": "RemixSettings", + "locationName": "remixSettings", + "documentation": "Use these settings to reorder the audio channels of one input to match those of another input. This allows you to combine the two files into a single output, one after the other." + }, + "SelectorType": { + "shape": "AudioSelectorType", + "locationName": "selectorType", + "documentation": "Specifies the type of the audio selector." + }, + "Tracks": { + "shape": "__listOf__integerMin1Max2147483647", + "locationName": "tracks", + "documentation": "Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For examle, type \"1,2,3\" to include tracks 1 through 3. Specifying directly in your JSON job file, provide the track numbers in an array. For example, \"tracks\": [1,2,3]." + } + }, + "documentation": "Selector for Audio" + }, + "AudioSelectorGroup": { + "type": "structure", + "members": { + "AudioSelectorNames": { + "shape": "__listOf__stringMin1", + "locationName": "audioSelectorNames", + "documentation": "Name of an Audio Selector within the same input to include in the group. Audio selector names are standardized, based on their order within the input (e.g., \"Audio Selector 1\"). The audio selector name parameter can be repeated to add any number of audio selectors to the group." + } + }, + "documentation": "Group of Audio Selectors" + }, + "AudioSelectorType": { + "type": "string", + "documentation": "Specifies the type of the audio selector.", + "enum": [ + "PID", + "TRACK", + "LANGUAGE_CODE" + ] + }, + "AudioTypeControl": { + "type": "string", + "documentation": "When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD.", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "Av1AdaptiveQuantization": { + "type": "string", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", + "enum": [ + "OFF", + "LOW", + "MEDIUM", + "HIGH", + "HIGHER", + "MAX" + ] + }, + "Av1FramerateControl": { + "type": "string", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "Av1FramerateConversionAlgorithm": { + "type": "string", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", + "enum": [ + "DUPLICATE_DROP", + "INTERPOLATE" + ] + }, + "Av1QvbrSettings": { + "type": "structure", + "members": { + "QvbrQualityLevel": { + "shape": "__integerMin1Max10", + "locationName": "qvbrQualityLevel", + "documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within av1Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33." + }, + "QvbrQualityLevelFineTune": { + "shape": "__doubleMin0Max1", + "locationName": "qvbrQualityLevelFineTune", + "documentation": "Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33." + } + }, + "documentation": "Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "Av1RateControlMode": { + "type": "string", + "documentation": "'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.'", + "enum": [ + "QVBR" + ] + }, + "Av1Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "Av1AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "FramerateControl": { + "shape": "Av1FramerateControl", + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." + }, + "FramerateConversionAlgorithm": { + "shape": "Av1FramerateConversionAlgorithm", + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateDenominator", + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateNumerator", + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." + }, + "GopSize": { + "shape": "__doubleMin0", + "locationName": "gopSize", + "documentation": "Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert doesn't support GOP length in seconds. This value must be greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer value." + }, + "MaxBitrate": { + "shape": "__integerMin1000Max1152000000", + "locationName": "maxBitrate", + "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR." + }, + "NumberBFramesBetweenReferenceFrames": { + "shape": "__integerMin7Max15", + "locationName": "numberBFramesBetweenReferenceFrames", + "documentation": "Specify the number of B-frames. With AV1, MediaConvert supports only 7 or 15." + }, + "QvbrSettings": { + "shape": "Av1QvbrSettings", + "locationName": "qvbrSettings", + "documentation": "Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "RateControlMode": { + "shape": "Av1RateControlMode", + "locationName": "rateControlMode", + "documentation": "'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.'" + }, + "Slices": { + "shape": "__integerMin1Max32", + "locationName": "slices", + "documentation": "Specify the number of slices per picture. This value must be 1, 2, 4, 8, 16, or 32. For progressive pictures, this value must be less than or equal to the number of macroblock rows. For interlaced pictures, this value must be less than or equal to half the number of macroblock rows." + }, + "SpatialAdaptiveQuantization": { + "shape": "Av1SpatialAdaptiveQuantization", + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." + } + }, + "documentation": "Required when you set Codec, under VideoDescription>CodecSettings to the value AV1." + }, + "Av1SpatialAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "AvailBlanking": { + "type": "structure", + "members": { + "AvailBlankingImage": { + "shape": "__stringMin14PatternS3BmpBMPPngPNGHttpsBmpBMPPngPNG", + "locationName": "availBlankingImage", + "documentation": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported." + } + }, + "documentation": "Settings for Avail Blanking" + }, + "BadRequestException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 400 + }, + "documentation": "The service can't process your request because of a problem in the request. Please check your request form and syntax." + }, + "BillingTagsSource": { + "type": "string", + "documentation": "The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.", + "enum": [ + "QUEUE", + "PRESET", + "JOB_TEMPLATE", + "JOB" + ] + }, + "BurninDestinationSettings": { + "type": "structure", + "members": { + "Alignment": { + "shape": "BurninSubtitleAlignment", + "locationName": "alignment", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundColor": { + "shape": "BurninSubtitleBackgroundColor", + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match." + }, + "BackgroundOpacity": { + "shape": "__integerMin0Max255", + "locationName": "backgroundOpacity", + "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "FontColor": { + "shape": "BurninSubtitleFontColor", + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "FontOpacity": { + "shape": "__integerMin0Max255", + "locationName": "fontOpacity", + "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match." + }, + "FontResolution": { + "shape": "__integerMin96Max600", + "locationName": "fontResolution", + "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." + }, + "FontScript": { + "shape": "FontScript", + "locationName": "fontScript", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset. This is used to help determine the appropriate font for rendering burn-in captions." + }, + "FontSize": { + "shape": "__integerMin0Max96", + "locationName": "fontSize", + "documentation": "A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match." + }, + "OutlineColor": { + "shape": "BurninSubtitleOutlineColor", + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "OutlineSize": { + "shape": "__integerMin0Max10", + "locationName": "outlineSize", + "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "ShadowColor": { + "shape": "BurninSubtitleShadowColor", + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match." + }, + "ShadowOpacity": { + "shape": "__integerMin0Max255", + "locationName": "shadowOpacity", + "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "ShadowXOffset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "shadowXOffset", + "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." + }, + "ShadowYOffset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "shadowYOffset", + "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." + }, + "TeletextSpacing": { + "shape": "BurninSubtitleTeletextSpacing", + "locationName": "teletextSpacing", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption." + }, + "XPosition": { + "shape": "__integerMin0Max2147483647", + "locationName": "xPosition", + "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "YPosition": { + "shape": "__integerMin0Max2147483647", + "locationName": "yPosition", + "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + } + }, + "documentation": "Burn-In Destination Settings." + }, + "BurninSubtitleAlignment": { + "type": "string", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "CENTERED", + "LEFT" + ] + }, + "BurninSubtitleBackgroundColor": { + "type": "string", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match.", + "enum": [ + "NONE", + "BLACK", + "WHITE" + ] + }, + "BurninSubtitleFontColor": { + "type": "string", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "WHITE", + "BLACK", + "YELLOW", + "RED", + "GREEN", + "BLUE" + ] + }, + "BurninSubtitleOutlineColor": { + "type": "string", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "BLACK", + "WHITE", + "YELLOW", + "RED", + "GREEN", + "BLUE" + ] + }, + "BurninSubtitleShadowColor": { + "type": "string", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match.", + "enum": [ + "NONE", + "BLACK", + "WHITE" + ] + }, + "BurninSubtitleTeletextSpacing": { + "type": "string", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption.", + "enum": [ + "FIXED_GRID", + "PROPORTIONAL" + ] + }, + "CancelJobRequest": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The Job ID of the job to be cancelled.", + "location": "uri" + } + }, + "required": [ + "Id" + ] + }, + "CancelJobResponse": { + "type": "structure", + "members": { + } + }, + "CaptionDescription": { + "type": "structure", + "members": { + "CaptionSelectorName": { + "shape": "__stringMin1", + "locationName": "captionSelectorName", + "documentation": "Specifies which \"Caption Selector\":#inputs-caption_selector to use from each input when generating captions. The name should be of the format \"Caption Selector \", which denotes that the Nth Caption Selector will be used from each input." + }, + "CustomLanguageCode": { + "shape": "__stringPatternAZaZ23AZaZ", + "locationName": "customLanguageCode", + "documentation": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming." + }, + "DestinationSettings": { + "shape": "CaptionDestinationSettings", + "locationName": "destinationSettings", + "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." + }, + "LanguageDescription": { + "shape": "__string", + "locationName": "languageDescription", + "documentation": "Specify a label for this set of output captions. For example, \"English\", \"Director commentary\", or \"track_2\". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting." + } + }, + "documentation": "Description of Caption output" + }, + "CaptionDescriptionPreset": { + "type": "structure", + "members": { + "CustomLanguageCode": { + "shape": "__stringPatternAZaZ23AZaZ", + "locationName": "customLanguageCode", + "documentation": "Specify the language for this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information when automatically selecting the font script for rendering the captions text. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming." + }, + "DestinationSettings": { + "shape": "CaptionDestinationSettings", + "locationName": "destinationSettings", + "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Specify the language of this captions output track. For most captions output formats, the encoder puts this language information in the output captions metadata. If your output captions format is DVB-Sub or Burn in, the encoder uses this language information to choose the font language for rendering the captions text." + }, + "LanguageDescription": { + "shape": "__string", + "locationName": "languageDescription", + "documentation": "Specify a label for this set of output captions. For example, \"English\", \"Director commentary\", or \"track_2\". For streaming outputs, MediaConvert passes this information into destination manifests for display on the end-viewer's player device. For outputs in other output groups, the service ignores this setting." + } + }, + "documentation": "Caption Description for preset" + }, + "CaptionDestinationSettings": { + "type": "structure", + "members": { + "BurninDestinationSettings": { + "shape": "BurninDestinationSettings", + "locationName": "burninDestinationSettings", + "documentation": "Burn-In Destination Settings." + }, + "DestinationType": { + "shape": "CaptionDestinationType", + "locationName": "destinationType", + "documentation": "Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, IMSC, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20)." + }, + "DvbSubDestinationSettings": { + "shape": "DvbSubDestinationSettings", + "locationName": "dvbSubDestinationSettings", + "documentation": "DVB-Sub Destination Settings" + }, + "EmbeddedDestinationSettings": { + "shape": "EmbeddedDestinationSettings", + "locationName": "embeddedDestinationSettings", + "documentation": "Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number." + }, + "ImscDestinationSettings": { + "shape": "ImscDestinationSettings", + "locationName": "imscDestinationSettings", + "documentation": "Settings specific to IMSC caption outputs." + }, + "SccDestinationSettings": { + "shape": "SccDestinationSettings", + "locationName": "sccDestinationSettings", + "documentation": "Settings for SCC caption output." + }, + "TeletextDestinationSettings": { + "shape": "TeletextDestinationSettings", + "locationName": "teletextDestinationSettings", + "documentation": "Settings for Teletext caption output" + }, + "TtmlDestinationSettings": { + "shape": "TtmlDestinationSettings", + "locationName": "ttmlDestinationSettings", + "documentation": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." + } + }, + "documentation": "Specific settings required by destination type. Note that burnin_destination_settings are not available if the source of the caption data is Embedded or Teletext." + }, + "CaptionDestinationType": { + "type": "string", + "documentation": "Specify the format for this set of captions on this output. The default format is embedded without SCTE-20. Other options are embedded with SCTE-20, burn-in, DVB-sub, IMSC, SCC, SRT, teletext, TTML, and web-VTT. If you are using SCTE-20, choose SCTE-20 plus embedded (SCTE20_PLUS_EMBEDDED) to create an output that complies with the SCTE-43 spec. To create a non-compliant output where the embedded captions come first, choose Embedded plus SCTE-20 (EMBEDDED_PLUS_SCTE20).", + "enum": [ + "BURN_IN", + "DVB_SUB", + "EMBEDDED", + "EMBEDDED_PLUS_SCTE20", + "IMSC", + "SCTE20_PLUS_EMBEDDED", + "SCC", + "SRT", + "SMI", + "TELETEXT", + "TTML", + "WEBVTT" + ] + }, + "CaptionSelector": { + "type": "structure", + "members": { + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode", + "documentation": "The specific language to extract from source, using the ISO 639-2 or ISO 639-3 three-letter language code. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions." + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "The specific language to extract from source. If input is SCTE-27, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub and output is Burn-in or SMPTE-TT, complete this field and/or PID to select the caption language to extract. If input is DVB-Sub that is being passed through, omit this field (and PID field); there is no way to extract a specific language with pass-through captions." + }, + "SourceSettings": { + "shape": "CaptionSourceSettings", + "locationName": "sourceSettings", + "documentation": "If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." + } + }, + "documentation": "Set up captions in your outputs by first selecting them from your input here." + }, + "CaptionSourceFramerate": { + "type": "structure", + "members": { + "FramerateDenominator": { + "shape": "__integerMin1Max1001", + "locationName": "framerateDenominator", + "documentation": "Specify the denominator of the fraction that represents the framerate for the setting Caption source framerate (CaptionSourceFramerate). Use this setting along with the setting Framerate numerator (framerateNumerator)." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max60000", + "locationName": "framerateNumerator", + "documentation": "Specify the numerator of the fraction that represents the framerate for the setting Caption source framerate (CaptionSourceFramerate). Use this setting along with the setting Framerate denominator (framerateDenominator)." + } + }, + "documentation": "Ignore this setting unless your input captions format is SCC. To have the service compensate for differing framerates between your input captions and input video, specify the framerate of the captions file. Specify this value as a fraction, using the settings Framerate numerator (framerateNumerator) and Framerate denominator (framerateDenominator). For example, you might specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, or 30000 / 1001 for 29.97 fps." + }, + "CaptionSourceSettings": { + "type": "structure", + "members": { + "AncillarySourceSettings": { + "shape": "AncillarySourceSettings", + "locationName": "ancillarySourceSettings", + "documentation": "Settings for ancillary captions source." + }, + "DvbSubSourceSettings": { + "shape": "DvbSubSourceSettings", + "locationName": "dvbSubSourceSettings", + "documentation": "DVB Sub Source Settings" + }, + "EmbeddedSourceSettings": { + "shape": "EmbeddedSourceSettings", + "locationName": "embeddedSourceSettings", + "documentation": "Settings for embedded captions Source" + }, + "FileSourceSettings": { + "shape": "FileSourceSettings", + "locationName": "fileSourceSettings", + "documentation": "If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." + }, + "SourceType": { + "shape": "CaptionSourceType", + "locationName": "sourceType", + "documentation": "Use Source (SourceType) to identify the format of your input captions. The service cannot auto-detect caption format." + }, + "TeletextSourceSettings": { + "shape": "TeletextSourceSettings", + "locationName": "teletextSourceSettings", + "documentation": "Settings specific to Teletext caption sources, including Page number." + }, + "TrackSourceSettings": { + "shape": "TrackSourceSettings", + "locationName": "trackSourceSettings", + "documentation": "Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings." + } + }, + "documentation": "If your input captions are SCC, TTML, STL, SMI, SRT, or IMSC in an xml file, specify the URI of the input captions source file. If your input captions are IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." + }, + "CaptionSourceType": { + "type": "string", + "documentation": "Use Source (SourceType) to identify the format of your input captions. The service cannot auto-detect caption format.", + "enum": [ + "ANCILLARY", + "DVB_SUB", + "EMBEDDED", + "SCTE20", + "SCC", + "TTML", + "STL", + "SRT", + "SMI", + "TELETEXT", + "NULL_SOURCE", + "IMSC" + ] + }, + "ChannelMapping": { + "type": "structure", + "members": { + "OutputChannels": { + "shape": "__listOfOutputChannelMapping", + "locationName": "outputChannels", + "documentation": "List of output channels" + } + }, + "documentation": "Channel mapping (ChannelMapping) contains the group of fields that hold the remixing value for each channel. Units are in dB. Acceptable values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or amplification)." + }, + "CmafAdditionalManifest": { + "type": "structure", + "members": { + "ManifestNameModifier": { + "shape": "__stringMin1", + "locationName": "manifestNameModifier", + "documentation": "Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter \"-no-premium\" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests." + }, + "SelectedOutputs": { + "shape": "__listOf__stringMin1", + "locationName": "selectedOutputs", + "documentation": "Specify the outputs that you want this additional top-level manifest to reference." + } + }, + "documentation": "Specify the details for each pair of HLS and DASH additional manifests that you want the service to generate for this CMAF output group. Each pair of manifests can reference a different subset of outputs in the group." + }, + "CmafClientCache": { + "type": "string", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "CmafCodecSpecification": { + "type": "string", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.", + "enum": [ + "RFC_6381", + "RFC_4281" + ] + }, + "CmafEncryptionSettings": { + "type": "structure", + "members": { + "ConstantInitializationVector": { + "shape": "__stringMin32Max32Pattern09aFAF32", + "locationName": "constantInitializationVector", + "documentation": "This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default." + }, + "EncryptionMethod": { + "shape": "CmafEncryptionType", + "locationName": "encryptionMethod", + "documentation": "Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR)." + }, + "InitializationVectorInManifest": { + "shape": "CmafInitializationVectorInManifest", + "locationName": "initializationVectorInManifest", + "documentation": "When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests." + }, + "SpekeKeyProvider": { + "shape": "SpekeKeyProviderCmaf", + "locationName": "spekeKeyProvider", + "documentation": "If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead." + }, + "StaticKeyProvider": { + "shape": "StaticKeyProvider", + "locationName": "staticKeyProvider", + "documentation": "Use these settings to set up encryption with a static key provider." + }, + "Type": { + "shape": "CmafKeyProviderType", + "locationName": "type", + "documentation": "Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html." + } + }, + "documentation": "Settings for CMAF encryption" + }, + "CmafEncryptionType": { + "type": "string", + "documentation": "Specify the encryption scheme that you want the service to use when encrypting your CMAF segments. Choose AES-CBC subsample (SAMPLE-AES) or AES_CTR (AES-CTR).", + "enum": [ + "SAMPLE_AES", + "AES_CTR" + ] + }, + "CmafGroupSettings": { + "type": "structure", + "members": { + "AdditionalManifests": { + "shape": "__listOfCmafAdditionalManifest", + "locationName": "additionalManifests", + "documentation": "By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest." + }, + "BaseUrl": { + "shape": "__string", + "locationName": "baseUrl", + "documentation": "A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file." + }, + "ClientCache": { + "shape": "CmafClientCache", + "locationName": "clientCache", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay." + }, + "CodecSpecification": { + "shape": "CmafCodecSpecification", + "locationName": "codecSpecification", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." + }, + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination", + "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, + "Encryption": { + "shape": "CmafEncryptionSettings", + "locationName": "encryption", + "documentation": "DRM settings." + }, + "FragmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "fragmentLength", + "documentation": "Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." + }, + "ManifestCompression": { + "shape": "CmafManifestCompression", + "locationName": "manifestCompression", + "documentation": "When set to GZIP, compresses HLS playlist." + }, + "ManifestDurationFormat": { + "shape": "CmafManifestDurationFormat", + "locationName": "manifestDurationFormat", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration." + }, + "MinBufferTime": { + "shape": "__integerMin0Max2147483647", + "locationName": "minBufferTime", + "documentation": "Minimum time of initially buffered media that is needed to ensure smooth playout." + }, + "MinFinalSegmentLength": { + "shape": "__doubleMin0Max2147483647", + "locationName": "minFinalSegmentLength", + "documentation": "Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds." + }, + "MpdProfile": { + "shape": "CmafMpdProfile", + "locationName": "mpdProfile", + "documentation": "Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE)." + }, + "SegmentControl": { + "shape": "CmafSegmentControl", + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created." + }, + "SegmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "segmentLength", + "documentation": "Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment." + }, + "StreamInfResolution": { + "shape": "CmafStreamInfResolution", + "locationName": "streamInfResolution", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." + }, + "WriteDashManifest": { + "shape": "CmafWriteDASHManifest", + "locationName": "writeDashManifest", + "documentation": "When set to ENABLED, a DASH MPD manifest will be generated for this output." + }, + "WriteHlsManifest": { + "shape": "CmafWriteHLSManifest", + "locationName": "writeHlsManifest", + "documentation": "When set to ENABLED, an Apple HLS manifest will be generated for this output." + }, + "WriteSegmentTimelineInRepresentation": { + "shape": "CmafWriteSegmentTimelineInRepresentation", + "locationName": "writeSegmentTimelineInRepresentation", + "documentation": "When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element." + } + }, + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output." + }, + "CmafInitializationVectorInManifest": { + "type": "string", + "documentation": "When you use DRM with CMAF outputs, choose whether the service writes the 128-bit encryption initialization vector in the HLS and DASH manifests.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "CmafKeyProviderType": { + "type": "string", + "documentation": "Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.", + "enum": [ + "SPEKE", + "STATIC_KEY" + ] + }, + "CmafManifestCompression": { + "type": "string", + "documentation": "When set to GZIP, compresses HLS playlist.", + "enum": [ + "GZIP", + "NONE" + ] + }, + "CmafManifestDurationFormat": { + "type": "string", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration.", + "enum": [ + "FLOATING_POINT", + "INTEGER" + ] + }, + "CmafMpdProfile": { + "type": "string", + "documentation": "Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE).", + "enum": [ + "MAIN_PROFILE", + "ON_DEMAND_PROFILE" + ] + }, + "CmafSegmentControl": { + "type": "string", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", + "enum": [ + "SINGLE_FILE", + "SEGMENTED_FILES" + ] + }, + "CmafStreamInfResolution": { + "type": "string", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "CmafWriteDASHManifest": { + "type": "string", + "documentation": "When set to ENABLED, a DASH MPD manifest will be generated for this output.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "CmafWriteHLSManifest": { + "type": "string", + "documentation": "When set to ENABLED, an Apple HLS manifest will be generated for this output.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "CmafWriteSegmentTimelineInRepresentation": { + "type": "string", + "documentation": "When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "CmfcScte35Esam": { + "type": "string", + "documentation": "Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).", + "enum": [ + "INSERT", + "NONE" + ] + }, + "CmfcScte35Source": { + "type": "string", + "documentation": "Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output.", + "enum": [ + "PASSTHROUGH", + "NONE" + ] + }, + "CmfcSettings": { + "type": "structure", + "members": { + "Scte35Esam": { + "shape": "CmfcScte35Esam", + "locationName": "scte35Esam", + "documentation": "Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." + }, + "Scte35Source": { + "shape": "CmfcScte35Source", + "locationName": "scte35Source", + "documentation": "Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output." + } + }, + "documentation": "Settings for MP4 segments in CMAF" + }, + "ColorCorrector": { + "type": "structure", + "members": { + "Brightness": { + "shape": "__integerMin1Max100", + "locationName": "brightness", + "documentation": "Brightness level." + }, + "ColorSpaceConversion": { + "shape": "ColorSpaceConversion", + "locationName": "colorSpaceConversion", + "documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR." + }, + "Contrast": { + "shape": "__integerMin1Max100", + "locationName": "contrast", + "documentation": "Contrast level." + }, + "Hdr10Metadata": { + "shape": "Hdr10Metadata", + "locationName": "hdr10Metadata", + "documentation": "Use these settings when you convert to the HDR 10 color space. Specify the SMPTE ST 2086 Mastering Display Color Volume static metadata that you want signaled in the output. These values don't affect the pixel values that are encoded in the video stream. They are intended to help the downstream video player display content in a way that reflects the intentions of the the content creator. When you set Color space conversion (ColorSpaceConversion) to HDR 10 (FORCE_HDR10), these settings are required. You must set values for Max frame average light level (maxFrameAverageLightLevel) and Max content light level (maxContentLightLevel); these settings don't have a default value. The default values for the other HDR 10 metadata settings are defined by the P3D65 color space. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr." + }, + "Hue": { + "shape": "__integerMinNegative180Max180", + "locationName": "hue", + "documentation": "Hue in degrees." + }, + "Saturation": { + "shape": "__integerMin1Max100", + "locationName": "saturation", + "documentation": "Saturation level." + } + }, + "documentation": "Settings for color correction." + }, + "ColorMetadata": { + "type": "string", + "documentation": "Choose Insert (INSERT) for this setting to include color metadata in this output. Choose Ignore (IGNORE) to exclude color metadata from this output. If you don't specify a value, the service sets this to Insert by default.", + "enum": [ + "IGNORE", + "INSERT" + ] + }, + "ColorSpace": { + "type": "string", + "documentation": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr.", + "enum": [ + "FOLLOW", + "REC_601", + "REC_709", + "HDR10", + "HLG_2020" + ] + }, + "ColorSpaceConversion": { + "type": "string", + "documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR.", + "enum": [ + "NONE", + "FORCE_601", + "FORCE_709", + "FORCE_HDR10", + "FORCE_HLG_2020" + ] + }, + "ColorSpaceUsage": { + "type": "string", + "documentation": "There are two sources for color metadata, the input file and the job input settings Color space (ColorSpace) and HDR master display information settings(Hdr10Metadata). The Color space usage setting determines which takes precedence. Choose Force (FORCE) to use color metadata from the input job settings. If you don't specify values for those settings, the service defaults to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the source when it is present. If there's no color metadata in your input file, the service defaults to using values you specify in the input settings.", + "enum": [ + "FORCE", + "FALLBACK" + ] + }, + "Commitment": { + "type": "string", + "documentation": "The length of the term of your reserved queue pricing plan commitment.", + "enum": [ + "ONE_YEAR" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 409 + }, + "documentation": "The service couldn't complete your request because there is a conflict with the current state of the resource." + }, + "ContainerSettings": { + "type": "structure", + "members": { + "CmfcSettings": { + "shape": "CmfcSettings", + "locationName": "cmfcSettings", + "documentation": "Settings for MP4 segments in CMAF" + }, + "Container": { + "shape": "ContainerType", + "locationName": "container", + "documentation": "Container for this output. Some containers require a container settings object. If not specified, the default object will be created." + }, + "F4vSettings": { + "shape": "F4vSettings", + "locationName": "f4vSettings", + "documentation": "Settings for F4v container" + }, + "M2tsSettings": { + "shape": "M2tsSettings", + "locationName": "m2tsSettings", + "documentation": "MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset." + }, + "M3u8Settings": { + "shape": "M3u8Settings", + "locationName": "m3u8Settings", + "documentation": "Settings for TS segments in HLS" + }, + "MovSettings": { + "shape": "MovSettings", + "locationName": "movSettings", + "documentation": "Settings for MOV Container." + }, + "Mp4Settings": { + "shape": "Mp4Settings", + "locationName": "mp4Settings", + "documentation": "Settings for MP4 container. You can create audio-only AAC outputs with this container." + }, + "MpdSettings": { + "shape": "MpdSettings", + "locationName": "mpdSettings", + "documentation": "Settings for MP4 segments in DASH" + }, + "MxfSettings": { + "shape": "MxfSettings", + "locationName": "mxfSettings", + "documentation": "MXF settings" + } + }, + "documentation": "Container specific settings." + }, + "ContainerType": { + "type": "string", + "documentation": "Container for this output. Some containers require a container settings object. If not specified, the default object will be created.", + "enum": [ + "F4V", + "ISMV", + "M2TS", + "M3U8", + "CMFC", + "MOV", + "MP4", + "MPD", + "MXF", + "RAW" + ] + }, + "CreateJobRequest": { + "type": "structure", + "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Optional. Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, + "BillingTagsSource": { + "shape": "BillingTagsSource", + "locationName": "billingTagsSource", + "documentation": "Optional. Choose a tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up. Any transcoding outputs that don't have an associated tag will appear in your billing report unsorted. If you don't choose a valid value for this field, your job outputs will appear on the billing report unsorted." + }, + "ClientRequestToken": { + "shape": "__string", + "locationName": "clientRequestToken", + "documentation": "Optional. Idempotency token for CreateJob operation.", + "idempotencyToken": true + }, + "HopDestinations": { + "shape": "__listOfHopDestination", + "locationName": "hopDestinations", + "documentation": "Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide." + }, + "JobTemplate": { + "shape": "__string", + "locationName": "jobTemplate", + "documentation": "Optional. When you create a job, you can either specify a job template or specify the transcoding settings individually." + }, + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Optional. Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "Optional. When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html." + }, + "Role": { + "shape": "__string", + "locationName": "role", + "documentation": "Required. The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html." + }, + "Settings": { + "shape": "JobSettings", + "locationName": "settings", + "documentation": "JobSettings contains all the transcode settings for a job." + }, + "SimulateReservedQueue": { + "shape": "SimulateReservedQueue", + "locationName": "simulateReservedQueue", + "documentation": "Optional. Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Optional. Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "Optional. The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." + }, + "UserMetadata": { + "shape": "__mapOf__string", + "locationName": "userMetadata", + "documentation": "Optional. User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs." + } + }, + "required": [ + "Role", + "Settings" + ] + }, + "CreateJobResponse": { + "type": "structure", + "members": { + "Job": { + "shape": "Job", + "locationName": "job", + "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + } + } + }, + "CreateJobTemplateRequest": { + "type": "structure", + "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "Optional. A category for the job template you are creating" + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "Optional. A description of the job template you are creating." + }, + "HopDestinations": { + "shape": "__listOfHopDestination", + "locationName": "hopDestinations", + "documentation": "Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the job template you are creating." + }, + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue." + }, + "Settings": { + "shape": "JobTemplateSettings", + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." + } + }, + "required": [ + "Settings", + "Name" + ] + }, + "CreateJobTemplateResponse": { + "type": "structure", + "members": { + "JobTemplate": { + "shape": "JobTemplate", + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." + } + } + }, + "CreatePresetRequest": { + "type": "structure", + "members": { + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "Optional. A category for the preset you are creating." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "Optional. A description of the preset you are creating." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the preset you are creating." + }, + "Settings": { + "shape": "PresetSettings", + "locationName": "settings", + "documentation": "Settings for preset" + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." + } + }, + "required": [ + "Settings", + "Name" + ] + }, + "CreatePresetResponse": { + "type": "structure", + "members": { + "Preset": { + "shape": "Preset", + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." + } + } + }, + "CreateQueueRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "Optional. A description of the queue that you are creating." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the queue that you are creating." + }, + "PricingPlan": { + "shape": "PricingPlan", + "locationName": "pricingPlan", + "documentation": "Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment. When you use the API to create a queue, the default is on-demand." + }, + "ReservationPlanSettings": { + "shape": "ReservationPlanSettings", + "locationName": "reservationPlanSettings", + "documentation": "Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues." + }, + "Status": { + "shape": "QueueStatus", + "locationName": "status", + "documentation": "Initial state of the queue. If you create a paused queue, then jobs in that queue won't begin." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." + } + }, + "required": [ + "Name" + ] + }, + "CreateQueueResponse": { + "type": "structure", + "members": { + "Queue": { + "shape": "Queue", + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." + } + } + }, + "DashAdditionalManifest": { + "type": "structure", + "members": { + "ManifestNameModifier": { + "shape": "__stringMin1", + "locationName": "manifestNameModifier", + "documentation": "Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your DASH group is film-name.mpd. If you enter \"-no-premium\" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.mpd." + }, + "SelectedOutputs": { + "shape": "__listOf__stringMin1", + "locationName": "selectedOutputs", + "documentation": "Specify the outputs that you want this additional top-level manifest to reference." + } + }, + "documentation": "Specify the details for each additional DASH manifest that you want the service to generate for this output group. Each manifest can reference a different subset of outputs in the group." + }, + "DashIsoEncryptionSettings": { + "type": "structure", + "members": { + "PlaybackDeviceCompatibility": { + "shape": "DashIsoPlaybackDeviceCompatibility", + "locationName": "playbackDeviceCompatibility", + "documentation": "This setting can improve the compatibility of your output with video players on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that output, the service will exclude the access unit delimiter and will leave the SEI NAL units unencrypted." + }, + "SpekeKeyProvider": { + "shape": "SpekeKeyProvider", + "locationName": "spekeKeyProvider", + "documentation": "If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead." + } + }, + "documentation": "Specifies DRM settings for DASH outputs." + }, + "DashIsoGroupSettings": { + "type": "structure", + "members": { + "AdditionalManifests": { + "shape": "__listOfDashAdditionalManifest", + "locationName": "additionalManifests", + "documentation": "By default, the service creates one .mpd DASH manifest for each DASH ISO output group in your job. This default manifest references every output in the output group. To create additional DASH manifests that reference a subset of the outputs in the output group, specify a list of them here." + }, + "BaseUrl": { + "shape": "__string", + "locationName": "baseUrl", + "documentation": "A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file." + }, + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination", + "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, + "Encryption": { + "shape": "DashIsoEncryptionSettings", + "locationName": "encryption", + "documentation": "DRM settings." + }, + "FragmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "fragmentLength", + "documentation": "Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." + }, + "HbbtvCompliance": { + "shape": "DashIsoHbbtvCompliance", + "locationName": "hbbtvCompliance", + "documentation": "Supports HbbTV specification as indicated" + }, + "MinBufferTime": { + "shape": "__integerMin0Max2147483647", + "locationName": "minBufferTime", + "documentation": "Minimum time of initially buffered media that is needed to ensure smooth playout." + }, + "MpdProfile": { + "shape": "DashIsoMpdProfile", + "locationName": "mpdProfile", + "documentation": "Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE)." + }, + "SegmentControl": { + "shape": "DashIsoSegmentControl", + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created." + }, + "SegmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "segmentLength", + "documentation": "Length of mpd segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer. When Emit Single File is checked, the segmentation is internal to a single output file and it does not cause the creation of many output files as in other output types." + }, + "WriteSegmentTimelineInRepresentation": { + "shape": "DashIsoWriteSegmentTimelineInRepresentation", + "locationName": "writeSegmentTimelineInRepresentation", + "documentation": "If you get an HTTP error in the 400 range when you play back your DASH output, enable this setting and run your transcoding job again. When you enable this setting, the service writes precise segment durations in the DASH manifest. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When you don't enable this setting, the service writes approximate segment durations in your DASH manifest." + } + }, + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS." + }, + "DashIsoHbbtvCompliance": { + "type": "string", + "documentation": "Supports HbbTV specification as indicated", + "enum": [ + "HBBTV_1_5", + "NONE" + ] + }, + "DashIsoMpdProfile": { + "type": "string", + "documentation": "Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE).", + "enum": [ + "MAIN_PROFILE", + "ON_DEMAND_PROFILE" + ] + }, + "DashIsoPlaybackDeviceCompatibility": { + "type": "string", + "documentation": "This setting can improve the compatibility of your output with video players on obsolete devices. It applies only to DASH H.264 outputs with DRM encryption. Choose Unencrypted SEI (UNENCRYPTED_SEI) only to correct problems with playback on older devices. Otherwise, keep the default setting CENC v1 (CENC_V1). If you choose Unencrypted SEI, for that output, the service will exclude the access unit delimiter and will leave the SEI NAL units unencrypted.", + "enum": [ + "CENC_V1", + "UNENCRYPTED_SEI" + ] + }, + "DashIsoSegmentControl": { + "type": "string", + "documentation": "When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.", + "enum": [ + "SINGLE_FILE", + "SEGMENTED_FILES" + ] + }, + "DashIsoWriteSegmentTimelineInRepresentation": { + "type": "string", + "documentation": "When you enable Precise segment duration in manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "DecryptionMode": { + "type": "string", + "documentation": "Specify the encryption mode that you used to encrypt your input files.", + "enum": [ + "AES_CTR", + "AES_CBC", + "AES_GCM" + ] + }, + "DeinterlaceAlgorithm": { + "type": "string", + "documentation": "Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling headline at the bottom of the frame.", + "enum": [ + "INTERPOLATE", + "INTERPOLATE_TICKER", + "BLEND", + "BLEND_TICKER" + ] + }, + "Deinterlacer": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "DeinterlaceAlgorithm", + "locationName": "algorithm", + "documentation": "Only applies when you set Deinterlacer (DeinterlaceMode) to Deinterlace (DEINTERLACE) or Adaptive (ADAPTIVE). Motion adaptive interpolate (INTERPOLATE) produces sharper pictures, while blend (BLEND) produces smoother motion. Use (INTERPOLATE_TICKER) OR (BLEND_TICKER) if your source file includes a ticker, such as a scrolling headline at the bottom of the frame." + }, + "Control": { + "shape": "DeinterlacerControl", + "locationName": "control", + "documentation": "- When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video." + }, + "Mode": { + "shape": "DeinterlacerMode", + "locationName": "mode", + "documentation": "Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive." + } + }, + "documentation": "Settings for deinterlacer" + }, + "DeinterlacerControl": { + "type": "string", + "documentation": "- When set to NORMAL (default), the deinterlacer does not convert frames that are tagged in metadata as progressive. It will only convert those that are tagged as some other type. - When set to FORCE_ALL_FRAMES, the deinterlacer converts every frame to progressive - even those that are already tagged as progressive. Turn Force mode on only if there is a good chance that the metadata has tagged frames as progressive when they are not progressive. Do not turn on otherwise; processing frames that are already progressive into progressive will probably result in lower quality video.", + "enum": [ + "FORCE_ALL_FRAMES", + "NORMAL" + ] + }, + "DeinterlacerMode": { + "type": "string", + "documentation": "Use Deinterlacer (DeinterlaceMode) to choose how the service will do deinterlacing. Default is Deinterlace. - Deinterlace converts interlaced to progressive. - Inverse telecine converts Hard Telecine 29.97i to progressive 23.976p. - Adaptive auto-detects and converts to progressive.", + "enum": [ + "DEINTERLACE", + "INVERSE_TELECINE", + "ADAPTIVE" + ] + }, + "DeleteJobTemplateRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the job template to be deleted.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "DeleteJobTemplateResponse": { + "type": "structure", + "members": { + } + }, + "DeletePresetRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the preset to be deleted.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "DeletePresetResponse": { + "type": "structure", + "members": { + } + }, + "DeleteQueueRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the queue that you want to delete.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "DeleteQueueResponse": { + "type": "structure", + "members": { + } + }, + "DescribeEndpointsMode": { + "type": "string", + "documentation": "Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to return your endpoints if any exist, or to create an endpoint for you and return it if one doesn't already exist. Specify GET_ONLY to return your endpoints if any exist, or an empty list if none exist.", + "enum": [ + "DEFAULT", + "GET_ONLY" + ] + }, + "DescribeEndpointsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "__integer", + "locationName": "maxResults", + "documentation": "Optional. Max number of endpoints, up to twenty, that will be returned at one time." + }, + "Mode": { + "shape": "DescribeEndpointsMode", + "locationName": "mode", + "documentation": "Optional field, defaults to DEFAULT. Specify DEFAULT for this operation to return your endpoints if any exist, or to create an endpoint for you and return it if one doesn't already exist. Specify GET_ONLY to return your endpoints if any exist, or an empty list if none exist." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string, provided with the response to a previous request, to request the next batch of endpoints." + } + }, + "documentation": "DescribeEndpointsRequest" + }, + "DescribeEndpointsResponse": { + "type": "structure", + "members": { + "Endpoints": { + "shape": "__listOfEndpoint", + "locationName": "endpoints", + "documentation": "List of endpoints" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string to request the next batch of endpoints." + } + } + }, + "DestinationSettings": { + "type": "structure", + "members": { + "S3Settings": { + "shape": "S3DestinationSettings", + "locationName": "s3Settings", + "documentation": "Settings associated with S3 destination" + } + }, + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, + "DisassociateCertificateRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The ARN of the ACM certificate that you want to disassociate from your MediaConvert resource.", + "location": "uri" + } + }, + "required": [ + "Arn" + ] + }, + "DisassociateCertificateResponse": { + "type": "structure", + "members": { + } + }, + "DolbyVision": { + "type": "structure", + "members": { + "L6Metadata": { + "shape": "DolbyVisionLevel6Metadata", + "locationName": "l6Metadata", + "documentation": "Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in your input with new values." + }, + "L6Mode": { + "shape": "DolbyVisionLevel6Mode", + "locationName": "l6Mode", + "documentation": "Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies." + }, + "Profile": { + "shape": "DolbyVisionProfile", + "locationName": "profile", + "documentation": "In the current MediaConvert implementation, the Dolby Vision profile is always 5 (PROFILE_5). Therefore, all of your inputs must contain Dolby Vision frame interleaved data." + } + }, + "documentation": "Settings for Dolby Vision" + }, + "DolbyVisionLevel6Metadata": { + "type": "structure", + "members": { + "MaxCll": { + "shape": "__integerMin0Max65535", + "locationName": "maxCll", + "documentation": "Maximum Content Light Level. Static HDR metadata that corresponds to the brightest pixel in the entire stream. Measured in nits." + }, + "MaxFall": { + "shape": "__integerMin0Max65535", + "locationName": "maxFall", + "documentation": "Maximum Frame-Average Light Level. Static HDR metadata that corresponds to the highest frame-average brightness in the entire stream. Measured in nits." + } + }, + "documentation": "Use these settings when you set DolbyVisionLevel6Mode to SPECIFY to override the MaxCLL and MaxFALL values in your input with new values." + }, + "DolbyVisionLevel6Mode": { + "type": "string", + "documentation": "Use Dolby Vision Mode to choose how the service will handle Dolby Vision MaxCLL and MaxFALL properies.", + "enum": [ + "PASSTHROUGH", + "RECALCULATE", + "SPECIFY" + ] + }, + "DolbyVisionProfile": { + "type": "string", + "documentation": "In the current MediaConvert implementation, the Dolby Vision profile is always 5 (PROFILE_5). Therefore, all of your inputs must contain Dolby Vision frame interleaved data.", + "enum": [ + "PROFILE_5" + ] + }, + "DropFrameTimecode": { + "type": "string", + "documentation": "Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "DvbNitSettings": { + "type": "structure", + "members": { + "NetworkId": { + "shape": "__integerMin0Max65535", + "locationName": "networkId", + "documentation": "The numeric value placed in the Network Information Table (NIT)." + }, + "NetworkName": { + "shape": "__stringMin1Max256", + "locationName": "networkName", + "documentation": "The network name text placed in the network_name_descriptor inside the Network Information Table. Maximum length is 256 characters." + }, + "NitInterval": { + "shape": "__integerMin25Max10000", + "locationName": "nitInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." + }, + "DvbSdtSettings": { + "type": "structure", + "members": { + "OutputSdt": { + "shape": "OutputSdt", + "locationName": "outputSdt", + "documentation": "Selects method of inserting SDT information into output stream. \"Follow input SDT\" copies SDT information from input stream to output stream. \"Follow input SDT if present\" copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. Enter \"SDT Manually\" means user will enter the SDT information. \"No SDT\" means output stream will not contain SDT information." + }, + "SdtInterval": { + "shape": "__integerMin25Max2000", + "locationName": "sdtInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + }, + "ServiceName": { + "shape": "__stringMin1Max256", + "locationName": "serviceName", + "documentation": "The service name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters." + }, + "ServiceProviderName": { + "shape": "__stringMin1Max256", + "locationName": "serviceProviderName", + "documentation": "The service provider name placed in the service_descriptor in the Service Description Table. Maximum length is 256 characters." + } + }, + "documentation": "Inserts DVB Service Description Table (NIT) at the specified table repetition interval." + }, + "DvbSubDestinationSettings": { + "type": "structure", + "members": { + "Alignment": { + "shape": "DvbSubtitleAlignment", + "locationName": "alignment", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundColor": { + "shape": "DvbSubtitleBackgroundColor", + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match." + }, + "BackgroundOpacity": { + "shape": "__integerMin0Max255", + "locationName": "backgroundOpacity", + "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "FontColor": { + "shape": "DvbSubtitleFontColor", + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "FontOpacity": { + "shape": "__integerMin0Max255", + "locationName": "fontOpacity", + "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent.\nAll burn-in and DVB-Sub font settings must match." + }, + "FontResolution": { + "shape": "__integerMin96Max600", + "locationName": "fontResolution", + "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi.\nAll burn-in and DVB-Sub font settings must match." + }, + "FontScript": { + "shape": "FontScript", + "locationName": "fontScript", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset. This is used to help determine the appropriate font for rendering DVB-Sub captions." + }, + "FontSize": { + "shape": "__integerMin0Max96", + "locationName": "fontSize", + "documentation": "A positive integer indicates the exact font size in points. Set to 0 for automatic font size selection. All burn-in and DVB-Sub font settings must match." + }, + "OutlineColor": { + "shape": "DvbSubtitleOutlineColor", + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "OutlineSize": { + "shape": "__integerMin0Max10", + "locationName": "outlineSize", + "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "ShadowColor": { + "shape": "DvbSubtitleShadowColor", + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match." + }, + "ShadowOpacity": { + "shape": "__integerMin0Max255", + "locationName": "shadowOpacity", + "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "ShadowXOffset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "shadowXOffset", + "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." + }, + "ShadowYOffset": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "shadowYOffset", + "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." + }, + "SubtitlingType": { + "shape": "DvbSubtitlingType", + "locationName": "subtitlingType", + "documentation": "Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue." + }, + "TeletextSpacing": { + "shape": "DvbSubtitleTeletextSpacing", + "locationName": "teletextSpacing", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption." + }, + "XPosition": { + "shape": "__integerMin0Max2147483647", + "locationName": "xPosition", + "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit x_position is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "YPosition": { + "shape": "__integerMin0Max2147483647", + "locationName": "yPosition", + "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit y_position is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + } + }, + "documentation": "DVB-Sub Destination Settings" + }, + "DvbSubSourceSettings": { + "type": "structure", + "members": { + "Pid": { + "shape": "__integerMin1Max2147483647", + "locationName": "pid", + "documentation": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors." + } + }, + "documentation": "DVB Sub Source Settings" + }, + "DvbSubtitleAlignment": { + "type": "string", + "documentation": "If no explicit x_position or y_position is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "CENTERED", + "LEFT" + ] + }, + "DvbSubtitleBackgroundColor": { + "type": "string", + "documentation": "Specifies the color of the rectangle behind the captions.\nAll burn-in and DVB-Sub font settings must match.", + "enum": [ + "NONE", + "BLACK", + "WHITE" + ] + }, + "DvbSubtitleFontColor": { + "type": "string", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "WHITE", + "BLACK", + "YELLOW", + "RED", + "GREEN", + "BLUE" + ] + }, + "DvbSubtitleOutlineColor": { + "type": "string", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match.", + "enum": [ + "BLACK", + "WHITE", + "YELLOW", + "RED", + "GREEN", + "BLUE" + ] + }, + "DvbSubtitleShadowColor": { + "type": "string", + "documentation": "Specifies the color of the shadow cast by the captions.\nAll burn-in and DVB-Sub font settings must match.", + "enum": [ + "NONE", + "BLACK", + "WHITE" + ] + }, + "DvbSubtitleTeletextSpacing": { + "type": "string", + "documentation": "Only applies to jobs with input captions in Teletext or STL formats. Specify whether the spacing between letters in your captions is set by the captions grid or varies depending on letter width. Choose fixed grid to conform to the spacing specified in the captions file more accurately. Choose proportional to make the text easier to read if the captions are closed caption.", + "enum": [ + "FIXED_GRID", + "PROPORTIONAL" + ] + }, + "DvbSubtitlingType": { + "type": "string", + "documentation": "Specify whether your DVB subtitles are standard or for hearing impaired. Choose hearing impaired if your subtitles include audio descriptions and dialogue. Choose standard if your subtitles include only dialogue.", + "enum": [ + "HEARING_IMPAIRED", + "STANDARD" + ] + }, + "DvbTdtSettings": { + "type": "structure", + "members": { + "TdtInterval": { + "shape": "__integerMin1000Max30000", + "locationName": "tdtInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." + }, + "Eac3AtmosBitstreamMode": { + "type": "string", + "documentation": "Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).", + "enum": [ + "COMPLETE_MAIN" + ] + }, + "Eac3AtmosCodingMode": { + "type": "string", + "documentation": "The coding mode for Dolby Digital Plus JOC (Atmos) is always 9.1.6 (CODING_MODE_9_1_6).", + "enum": [ + "CODING_MODE_9_1_6" + ] + }, + "Eac3AtmosDialogueIntelligence": { + "type": "string", + "documentation": "Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Eac3AtmosDynamicRangeCompressionLine": { + "type": "string", + "documentation": "Specify the absolute peak level for a signal with dynamic range compression.", + "enum": [ + "NONE", + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH" + ] + }, + "Eac3AtmosDynamicRangeCompressionRf": { + "type": "string", + "documentation": "Specify how the service limits the audio dynamic range when compressing the audio.", + "enum": [ + "NONE", + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH" + ] + }, + "Eac3AtmosMeteringMode": { + "type": "string", + "documentation": "Choose how the service meters the loudness of your audio.", + "enum": [ + "LEQ_A", + "ITU_BS_1770_1", + "ITU_BS_1770_2", + "ITU_BS_1770_3", + "ITU_BS_1770_4" + ] + }, + "Eac3AtmosSettings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__integerMin384000Max768000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second.\nValid values: 384k, 448k, 640k, 768k" + }, + "BitstreamMode": { + "shape": "Eac3AtmosBitstreamMode", + "locationName": "bitstreamMode", + "documentation": "Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E)." + }, + "CodingMode": { + "shape": "Eac3AtmosCodingMode", + "locationName": "codingMode", + "documentation": "The coding mode for Dolby Digital Plus JOC (Atmos) is always 9.1.6 (CODING_MODE_9_1_6)." + }, + "DialogueIntelligence": { + "shape": "Eac3AtmosDialogueIntelligence", + "locationName": "dialogueIntelligence", + "documentation": "Enable Dolby Dialogue Intelligence to adjust loudness based on dialogue analysis." + }, + "DynamicRangeCompressionLine": { + "shape": "Eac3AtmosDynamicRangeCompressionLine", + "locationName": "dynamicRangeCompressionLine", + "documentation": "Specify the absolute peak level for a signal with dynamic range compression." + }, + "DynamicRangeCompressionRf": { + "shape": "Eac3AtmosDynamicRangeCompressionRf", + "locationName": "dynamicRangeCompressionRf", + "documentation": "Specify how the service limits the audio dynamic range when compressing the audio." + }, + "LoRoCenterMixLevel": { + "shape": "__doubleMinNegative6Max3", + "locationName": "loRoCenterMixLevel", + "documentation": "Specify a value for the following Dolby Atmos setting: Left only/Right only center mix\n(Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this\nvalue depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix).\nValid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0." + }, + "LoRoSurroundMixLevel": { + "shape": "__doubleMinNegative60MaxNegative1", + "locationName": "loRoSurroundMixLevel", + "documentation": "Specify a value for the following Dolby Atmos setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel." + }, + "LtRtCenterMixLevel": { + "shape": "__doubleMinNegative6Max3", + "locationName": "ltRtCenterMixLevel", + "documentation": "Specify a value for the following Dolby Atmos setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, and -6.0." + }, + "LtRtSurroundMixLevel": { + "shape": "__doubleMinNegative60MaxNegative1", + "locationName": "ltRtSurroundMixLevel", + "documentation": "Specify a value for the following Dolby Atmos setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3AtmosStereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel." + }, + "MeteringMode": { + "shape": "Eac3AtmosMeteringMode", + "locationName": "meteringMode", + "documentation": "Choose how the service meters the loudness of your audio." + }, + "SampleRate": { + "shape": "__integerMin48000Max48000", + "locationName": "sampleRate", + "documentation": "This value is always 48000. It represents the sample rate in Hz." + }, + "SpeechThreshold": { + "shape": "__integerMin1Max100", + "locationName": "speechThreshold", + "documentation": "Specify the percentage of audio content that must be speech before the encoder uses the measured speech loudness as the overall program loudness." + }, + "StereoDownmix": { + "shape": "Eac3AtmosStereoDownmix", + "locationName": "stereoDownmix", + "documentation": "Choose how the service does stereo downmixing." + }, + "SurroundExMode": { + "shape": "Eac3AtmosSurroundExMode", + "locationName": "surroundExMode", + "documentation": "Specify whether your input audio has an additional center rear surround channel matrix encoded into your left and right surround channels." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3_ATMOS." + }, + "Eac3AtmosStereoDownmix": { + "type": "string", + "documentation": "Choose how the service does stereo downmixing.", + "enum": [ + "NOT_INDICATED", + "STEREO", + "SURROUND", + "DPL2" + ] + }, + "Eac3AtmosSurroundExMode": { + "type": "string", + "documentation": "Specify whether your input audio has an additional center rear surround channel matrix encoded into your left and right surround channels.", + "enum": [ + "NOT_INDICATED", + "ENABLED", + "DISABLED" + ] + }, + "Eac3AttenuationControl": { + "type": "string", + "documentation": "If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode.", + "enum": [ + "ATTENUATE_3_DB", + "NONE" + ] + }, + "Eac3BitstreamMode": { + "type": "string", + "documentation": "Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E).", + "enum": [ + "COMPLETE_MAIN", + "COMMENTARY", + "EMERGENCY", + "HEARING_IMPAIRED", + "VISUALLY_IMPAIRED" + ] + }, + "Eac3CodingMode": { + "type": "string", + "documentation": "Dolby Digital Plus coding mode. Determines number of channels.", + "enum": [ + "CODING_MODE_1_0", + "CODING_MODE_2_0", + "CODING_MODE_3_2" + ] + }, + "Eac3DcFilter": { + "type": "string", + "documentation": "Activates a DC highpass filter for all input channels.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Eac3DynamicRangeCompressionLine": { + "type": "string", + "documentation": "Specify the absolute peak level for a signal with dynamic range compression.", + "enum": [ + "NONE", + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH" + ] + }, + "Eac3DynamicRangeCompressionRf": { + "type": "string", + "documentation": "Specify how the service limits the audio dynamic range when compressing the audio.", + "enum": [ + "NONE", + "FILM_STANDARD", + "FILM_LIGHT", + "MUSIC_STANDARD", + "MUSIC_LIGHT", + "SPEECH" + ] + }, + "Eac3LfeControl": { + "type": "string", + "documentation": "When encoding 3/2 audio, controls whether the LFE channel is enabled", + "enum": [ + "LFE", + "NO_LFE" + ] + }, + "Eac3LfeFilter": { + "type": "string", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Eac3MetadataControl": { + "type": "string", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used.", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "Eac3PassthroughControl": { + "type": "string", + "documentation": "When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding.", + "enum": [ + "WHEN_POSSIBLE", + "NO_PASSTHROUGH" + ] + }, + "Eac3PhaseControl": { + "type": "string", + "documentation": "Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode.", + "enum": [ + "SHIFT_90_DEGREES", + "NO_SHIFT" + ] + }, + "Eac3Settings": { + "type": "structure", + "members": { + "AttenuationControl": { + "shape": "Eac3AttenuationControl", + "locationName": "attenuationControl", + "documentation": "If set to ATTENUATE_3_DB, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode." + }, + "Bitrate": { + "shape": "__integerMin64000Max640000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. Valid bitrates depend on the coding mode." + }, + "BitstreamMode": { + "shape": "Eac3BitstreamMode", + "locationName": "bitstreamMode", + "documentation": "Specify the bitstream mode for the E-AC-3 stream that the encoder emits. For more information about the EAC3 bitstream mode, see ATSC A/52-2012 (Annex E)." + }, + "CodingMode": { + "shape": "Eac3CodingMode", + "locationName": "codingMode", + "documentation": "Dolby Digital Plus coding mode. Determines number of channels." + }, + "DcFilter": { + "shape": "Eac3DcFilter", + "locationName": "dcFilter", + "documentation": "Activates a DC highpass filter for all input channels." + }, + "Dialnorm": { + "shape": "__integerMin1Max31", + "locationName": "dialnorm", + "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." + }, + "DynamicRangeCompressionLine": { + "shape": "Eac3DynamicRangeCompressionLine", + "locationName": "dynamicRangeCompressionLine", + "documentation": "Specify the absolute peak level for a signal with dynamic range compression." + }, + "DynamicRangeCompressionRf": { + "shape": "Eac3DynamicRangeCompressionRf", + "locationName": "dynamicRangeCompressionRf", + "documentation": "Specify how the service limits the audio dynamic range when compressing the audio." + }, + "LfeControl": { + "shape": "Eac3LfeControl", + "locationName": "lfeControl", + "documentation": "When encoding 3/2 audio, controls whether the LFE channel is enabled" + }, + "LfeFilter": { + "shape": "Eac3LfeFilter", + "locationName": "lfeFilter", + "documentation": "Applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with 3_2_LFE coding mode." + }, + "LoRoCenterMixLevel": { + "shape": "__doubleMinNegative60Max3", + "locationName": "loRoCenterMixLevel", + "documentation": "Specify a value for the following Dolby Digital Plus setting: Left only/Right only center mix (Lo/Ro center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only center (loRoCenterMixLevel)." + }, + "LoRoSurroundMixLevel": { + "shape": "__doubleMinNegative60MaxNegative1", + "locationName": "loRoSurroundMixLevel", + "documentation": "Specify a value for the following Dolby Digital Plus setting: Left only/Right only (Lo/Ro surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left only/Right only surround (loRoSurroundMixLevel)." + }, + "LtRtCenterMixLevel": { + "shape": "__doubleMinNegative60Max3", + "locationName": "ltRtCenterMixLevel", + "documentation": "Specify a value for the following Dolby Digital Plus setting: Left total/Right total center mix (Lt/Rt center). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: 3.0, 1.5, 0.0, -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total center (ltRtCenterMixLevel)." + }, + "LtRtSurroundMixLevel": { + "shape": "__doubleMinNegative60MaxNegative1", + "locationName": "ltRtSurroundMixLevel", + "documentation": "Specify a value for the following Dolby Digital Plus setting: Left total/Right total surround mix (Lt/Rt surround). MediaConvert uses this value for downmixing. How the service uses this value depends on the value that you choose for Stereo downmix (Eac3StereoDownmix). Valid values: -1.5, -3.0, -4.5, -6.0, and -60. The value -60 mutes the channel. This setting applies only if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Left total/Right total surround (ltRtSurroundMixLevel)." + }, + "MetadataControl": { + "shape": "Eac3MetadataControl", + "locationName": "metadataControl", + "documentation": "When set to FOLLOW_INPUT, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." + }, + "PassthroughControl": { + "shape": "Eac3PassthroughControl", + "locationName": "passthroughControl", + "documentation": "When set to WHEN_POSSIBLE, input DD+ audio will be passed through if it is present on the input. this detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding." + }, + "PhaseControl": { + "shape": "Eac3PhaseControl", + "locationName": "phaseControl", + "documentation": "Controls the amount of phase-shift applied to the surround channels. Only used for 3/2 coding mode." + }, + "SampleRate": { + "shape": "__integerMin48000Max48000", + "locationName": "sampleRate", + "documentation": "This value is always 48000. It represents the sample rate in Hz." + }, + "StereoDownmix": { + "shape": "Eac3StereoDownmix", + "locationName": "stereoDownmix", + "documentation": "Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix)." + }, + "SurroundExMode": { + "shape": "Eac3SurroundExMode", + "locationName": "surroundExMode", + "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels." + }, + "SurroundMode": { + "shape": "Eac3SurroundMode", + "locationName": "surroundMode", + "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value EAC3." + }, + "Eac3StereoDownmix": { + "type": "string", + "documentation": "Choose how the service does stereo downmixing. This setting only applies if you keep the default value of 3/2 - L, R, C, Ls, Rs (CODING_MODE_3_2) for the setting Coding mode (Eac3CodingMode). If you choose a different value for Coding mode, the service ignores Stereo downmix (Eac3StereoDownmix).", + "enum": [ + "NOT_INDICATED", + "LO_RO", + "LT_RT", + "DPL2" + ] + }, + "Eac3SurroundExMode": { + "type": "string", + "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels.", + "enum": [ + "NOT_INDICATED", + "ENABLED", + "DISABLED" + ] + }, + "Eac3SurroundMode": { + "type": "string", + "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels.", + "enum": [ + "NOT_INDICATED", + "ENABLED", + "DISABLED" + ] + }, + "EmbeddedConvert608To708": { + "type": "string", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708.", + "enum": [ + "UPCONVERT", + "DISABLED" + ] + }, + "EmbeddedDestinationSettings": { + "type": "structure", + "members": { + "Destination608ChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "destination608ChannelNumber", + "documentation": "Ignore this setting unless your input captions are SCC format and your output captions are embedded in the video stream. Specify a CC number for each captions channel in this output. If you have two channels, choose CC numbers that aren't in the same field. For example, choose 1 and 3. For more information, see https://docs.aws.amazon.com/console/mediaconvert/dual-scc-to-embedded." + }, + "Destination708ServiceNumber": { + "shape": "__integerMin1Max6", + "locationName": "destination708ServiceNumber", + "documentation": "Ignore this setting unless your input captions are SCC format and you want both 608 and 708 captions embedded in your output stream. Optionally, specify the 708 service number for each output captions channel. Choose a different number for each channel. To use this setting, also set Force 608 to 708 upconvert (Convert608To708) to Upconvert (UPCONVERT) in your input captions selector settings. If you choose to upconvert but don't specify a 708 service number, MediaConvert uses the number that you specify for CC channel number (destination608ChannelNumber) for the 708 service number. For more information, see https://docs.aws.amazon.com/console/mediaconvert/dual-scc-to-embedded." + } + }, + "documentation": "Settings specific to embedded/ancillary caption outputs, including 608/708 Channel destination number." + }, + "EmbeddedSourceSettings": { + "type": "structure", + "members": { + "Convert608To708": { + "shape": "EmbeddedConvert608To708", + "locationName": "convert608To708", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708." + }, + "Source608ChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "source608ChannelNumber", + "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + }, + "Source608TrackNumber": { + "shape": "__integerMin1Max1", + "locationName": "source608TrackNumber", + "documentation": "Specifies the video track index used for extracting captions. The system only supports one input video track, so this should always be set to '1'." + }, + "TerminateCaptions": { + "shape": "EmbeddedTerminateCaptions", + "locationName": "terminateCaptions", + "documentation": "By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting." + } + }, + "documentation": "Settings for embedded captions Source" + }, + "EmbeddedTerminateCaptions": { + "type": "string", + "documentation": "By default, the service terminates any unterminated captions at the end of each input. If you want the caption to continue onto your next input, disable this setting.", + "enum": [ + "END_OF_INPUT", + "DISABLED" + ] + }, + "Endpoint": { + "type": "structure", + "members": { + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "URL of endpoint" + } + }, + "documentation": "Describes an account-specific API endpoint." + }, + "EsamManifestConfirmConditionNotification": { + "type": "structure", + "members": { + "MccXml": { + "shape": "__stringPatternSNManifestConfirmConditionNotificationNS", + "locationName": "mccXml", + "documentation": "Provide your ESAM ManifestConfirmConditionNotification XML document inside your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The transcoder will use the Manifest Conditioning instructions in the message that you supply." + } + }, + "documentation": "ESAM ManifestConfirmConditionNotification defined by OC-SP-ESAM-API-I03-131025." + }, + "EsamSettings": { + "type": "structure", + "members": { + "ManifestConfirmConditionNotification": { + "shape": "EsamManifestConfirmConditionNotification", + "locationName": "manifestConfirmConditionNotification", + "documentation": "Specifies an ESAM ManifestConfirmConditionNotification XML as per OC-SP-ESAM-API-I03-131025. The transcoder uses the manifest conditioning instructions that you provide in the setting MCC XML (mccXml)." + }, + "ResponseSignalPreroll": { + "shape": "__integerMin0Max30000", + "locationName": "responseSignalPreroll", + "documentation": "Specifies the stream distance, in milliseconds, between the SCTE 35 messages that the transcoder places and the splice points that they refer to. If the time between the start of the asset and the SCTE-35 message is less than this value, then the transcoder places the SCTE-35 marker at the beginning of the stream." + }, + "SignalProcessingNotification": { + "shape": "EsamSignalProcessingNotification", + "locationName": "signalProcessingNotification", + "documentation": "Specifies an ESAM SignalProcessingNotification XML as per OC-SP-ESAM-API-I03-131025. The transcoder uses the signal processing instructions that you provide in the setting SCC XML (sccXml)." + } + }, + "documentation": "Settings for Event Signaling And Messaging (ESAM). If you don't do ad insertion, you can ignore these settings." + }, + "EsamSignalProcessingNotification": { + "type": "structure", + "members": { + "SccXml": { + "shape": "__stringPatternSNSignalProcessingNotificationNS", + "locationName": "sccXml", + "documentation": "Provide your ESAM SignalProcessingNotification XML document inside your JSON job settings. Form the XML document as per OC-SP-ESAM-API-I03-131025. The transcoder will use the signal processing instructions in the message that you supply. Provide your ESAM SignalProcessingNotification XML document inside your JSON job settings. For your MPEG2-TS file outputs, if you want the service to place SCTE-35 markers at the insertion points you specify in the XML document, you must also enable SCTE-35 ESAM (scte35Esam). Note that you can either specify an ESAM XML document or enable SCTE-35 passthrough. You can't do both." + } + }, + "documentation": "ESAM SignalProcessingNotification data defined by OC-SP-ESAM-API-I03-131025." + }, + "ExceptionBody": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + } + }, + "F4vMoovPlacement": { + "type": "string", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end.", + "enum": [ + "PROGRESSIVE_DOWNLOAD", + "NORMAL" + ] + }, + "F4vSettings": { + "type": "structure", + "members": { + "MoovPlacement": { + "shape": "F4vMoovPlacement", + "locationName": "moovPlacement", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end." + } + }, + "documentation": "Settings for F4v container" + }, + "FileGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination", + "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + } + }, + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS." + }, + "FileSourceConvert608To708": { + "type": "string", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708.", + "enum": [ + "UPCONVERT", + "DISABLED" + ] + }, + "FileSourceSettings": { + "type": "structure", + "members": { + "Convert608To708": { + "shape": "FileSourceConvert608To708", + "locationName": "convert608To708", + "documentation": "Specify whether this set of input captions appears in your outputs in both 608 and 708 format. If you choose Upconvert (UPCONVERT), MediaConvert includes the captions data in two ways: it passes the 608 data through using the 608 compatibility bytes fields of the 708 wrapper, and it also translates the 608 data into 708." + }, + "Framerate": { + "shape": "CaptionSourceFramerate", + "locationName": "framerate", + "documentation": "Ignore this setting unless your input captions format is SCC. To have the service compensate for differing framerates between your input captions and input video, specify the framerate of the captions file. Specify this value as a fraction, using the settings Framerate numerator (framerateNumerator) and Framerate denominator (framerateDenominator). For example, you might specify 24 / 1 for 24 fps, 25 / 1 for 25 fps, 24000 / 1001 for 23.976 fps, or 30000 / 1001 for 29.97 fps." + }, + "SourceFile": { + "shape": "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMI", + "locationName": "sourceFile", + "documentation": "External caption file used for loading captions. Accepted file extensions are 'scc', 'ttml', 'dfxp', 'stl', 'srt', 'xml', and 'smi'." + }, + "TimeDelta": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "timeDelta", + "documentation": "Specifies a time delta in seconds to offset the captions from the source file." + } + }, + "documentation": "If your input captions are SCC, SMI, SRT, STL, TTML, or IMSC 1.1 in an xml file, specify the URI of the input caption source file. If your caption source is IMSC in an IMF package, use TrackSourceSettings instead of FileSoureSettings." + }, + "FontScript": { + "type": "string", + "documentation": "Provide the font script, using an ISO 15924 script code, if the LanguageCode is not sufficient for determining the script type. Where LanguageCode or CustomLanguageCode is sufficient, use \"AUTOMATIC\" or leave unset.", + "enum": [ + "AUTOMATIC", + "HANS", + "HANT" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 403 + }, + "documentation": "You don't have permissions for this action with the credentials you sent." + }, + "FrameCaptureSettings": { + "type": "structure", + "members": { + "FramerateDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateDenominator", + "documentation": "Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.n.jpg where n is the 0-based sequence number of each Capture." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateNumerator", + "documentation": "Frame capture will encode the first frame of the output stream, then one frame every framerateDenominator/framerateNumerator seconds. For example, settings of framerateNumerator = 1 and framerateDenominator = 3 (a rate of 1/3 frame per second) will capture the first frame, then 1 frame every 3s. Files will be named as filename.NNNNNNN.jpg where N is the 0-based frame sequence number zero padded to 7 decimal places." + }, + "MaxCaptures": { + "shape": "__integerMin1Max10000000", + "locationName": "maxCaptures", + "documentation": "Maximum number of captures (encoded jpg output files)." + }, + "Quality": { + "shape": "__integerMin1Max100", + "locationName": "quality", + "documentation": "JPEG Quality - a higher value equals higher quality." + } + }, + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE." + }, + "GetJobRequest": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "the job ID of the job.", + "location": "uri" + } + }, + "required": [ + "Id" + ] + }, + "GetJobResponse": { + "type": "structure", + "members": { + "Job": { + "shape": "Job", + "locationName": "job", + "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + } + } + }, + "GetJobTemplateRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the job template.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "GetJobTemplateResponse": { + "type": "structure", + "members": { + "JobTemplate": { + "shape": "JobTemplate", + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." + } + } + }, + "GetPresetRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the preset.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "GetPresetResponse": { + "type": "structure", + "members": { + "Preset": { + "shape": "Preset", + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." + } + } + }, + "GetQueueRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the queue that you want information about.", + "location": "uri" + } + }, + "required": [ + "Name" + ] + }, + "GetQueueResponse": { + "type": "structure", + "members": { + "Queue": { + "shape": "Queue", + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." + } + } + }, + "H264AdaptiveQuantization": { + "type": "string", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", + "enum": [ + "OFF", + "LOW", + "MEDIUM", + "HIGH", + "HIGHER", + "MAX" + ] + }, + "H264CodecLevel": { + "type": "string", + "documentation": "Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO).", + "enum": [ + "AUTO", + "LEVEL_1", + "LEVEL_1_1", + "LEVEL_1_2", + "LEVEL_1_3", + "LEVEL_2", + "LEVEL_2_1", + "LEVEL_2_2", + "LEVEL_3", + "LEVEL_3_1", + "LEVEL_3_2", + "LEVEL_4", + "LEVEL_4_1", + "LEVEL_4_2", + "LEVEL_5", + "LEVEL_5_1", + "LEVEL_5_2" + ] + }, + "H264CodecProfile": { + "type": "string", + "documentation": "H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License.", + "enum": [ + "BASELINE", + "HIGH", + "HIGH_10BIT", + "HIGH_422", + "HIGH_422_10BIT", + "MAIN" + ] + }, + "H264DynamicSubGop": { + "type": "string", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", + "enum": [ + "ADAPTIVE", + "STATIC" + ] + }, + "H264EntropyEncoding": { + "type": "string", + "documentation": "Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.", + "enum": [ + "CABAC", + "CAVLC" + ] + }, + "H264FieldEncoding": { + "type": "string", + "documentation": "Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.", + "enum": [ + "PAFF", + "FORCE_FIELD" + ] + }, + "H264FlickerAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264FramerateControl": { + "type": "string", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H264FramerateConversionAlgorithm": { + "type": "string", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", + "enum": [ + "DUPLICATE_DROP", + "INTERPOLATE" + ] + }, + "H264GopBReference": { + "type": "string", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264GopSizeUnits": { + "type": "string", + "documentation": "Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", + "enum": [ + "FRAMES", + "SECONDS" + ] + }, + "H264InterlaceMode": { + "type": "string", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "enum": [ + "PROGRESSIVE", + "TOP_FIELD", + "BOTTOM_FIELD", + "FOLLOW_TOP_FIELD", + "FOLLOW_BOTTOM_FIELD" + ] + }, + "H264ParControl": { + "type": "string", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H264QualityTuningLevel": { + "type": "string", + "documentation": "Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.", + "enum": [ + "SINGLE_PASS", + "SINGLE_PASS_HQ", + "MULTI_PASS_HQ" + ] + }, + "H264QvbrSettings": { + "type": "structure", + "members": { + "MaxAverageBitrate": { + "shape": "__integerMin1000Max1152000000", + "locationName": "maxAverageBitrate", + "documentation": "Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value that you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output." + }, + "QvbrQualityLevel": { + "shape": "__integerMin1Max10", + "locationName": "qvbrQualityLevel", + "documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h264Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33." + }, + "QvbrQualityLevelFineTune": { + "shape": "__doubleMin0Max1", + "locationName": "qvbrQualityLevelFineTune", + "documentation": "Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33." + } + }, + "documentation": "Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "H264RateControlMode": { + "type": "string", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).", + "enum": [ + "VBR", + "CBR", + "QVBR" + ] + }, + "H264RepeatPps": { + "type": "string", + "documentation": "Places a PPS header on each encoded picture, even if repeated.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264SceneChangeDetect": { + "type": "string", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.", + "enum": [ + "DISABLED", + "ENABLED", + "TRANSITION_DETECTION" + ] + }, + "H264Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "H264AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "Bitrate": { + "shape": "__integerMin1000Max1152000000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." + }, + "CodecLevel": { + "shape": "H264CodecLevel", + "locationName": "codecLevel", + "documentation": "Specify an H.264 level that is consistent with your output video settings. If you aren't sure what level to specify, choose Auto (AUTO)." + }, + "CodecProfile": { + "shape": "H264CodecProfile", + "locationName": "codecProfile", + "documentation": "H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License." + }, + "DynamicSubGop": { + "shape": "H264DynamicSubGop", + "locationName": "dynamicSubGop", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." + }, + "EntropyEncoding": { + "shape": "H264EntropyEncoding", + "locationName": "entropyEncoding", + "documentation": "Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC." + }, + "FieldEncoding": { + "shape": "H264FieldEncoding", + "locationName": "fieldEncoding", + "documentation": "Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs." + }, + "FlickerAdaptiveQuantization": { + "shape": "H264FlickerAdaptiveQuantization", + "locationName": "flickerAdaptiveQuantization", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames." + }, + "FramerateControl": { + "shape": "H264FramerateControl", + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." + }, + "FramerateConversionAlgorithm": { + "shape": "H264FramerateConversionAlgorithm", + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateDenominator", + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateNumerator", + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + }, + "GopBReference": { + "shape": "H264GopBReference", + "locationName": "gopBReference", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1." + }, + "GopClosedCadence": { + "shape": "__integerMin0Max2147483647", + "locationName": "gopClosedCadence", + "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." + }, + "GopSize": { + "shape": "__doubleMin0", + "locationName": "gopSize", + "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." + }, + "GopSizeUnits": { + "shape": "H264GopSizeUnits", + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." + }, + "HrdBufferInitialFillPercentage": { + "shape": "__integerMin0Max100", + "locationName": "hrdBufferInitialFillPercentage", + "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." + }, + "HrdBufferSize": { + "shape": "__integerMin0Max1152000000", + "locationName": "hrdBufferSize", + "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + }, + "InterlaceMode": { + "shape": "H264InterlaceMode", + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." + }, + "MaxBitrate": { + "shape": "__integerMin1000Max1152000000", + "locationName": "maxBitrate", + "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR." + }, + "MinIInterval": { + "shape": "__integerMin0Max30", + "locationName": "minIInterval", + "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + }, + "NumberBFramesBetweenReferenceFrames": { + "shape": "__integerMin0Max7", + "locationName": "numberBFramesBetweenReferenceFrames", + "documentation": "Number of B-frames between reference frames." + }, + "NumberReferenceFrames": { + "shape": "__integerMin1Max6", + "locationName": "numberReferenceFrames", + "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + }, + "ParControl": { + "shape": "H264ParControl", + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." + }, + "ParDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "QualityTuningLevel": { + "shape": "H264QualityTuningLevel", + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding." + }, + "QvbrSettings": { + "shape": "H264QvbrSettings", + "locationName": "qvbrSettings", + "documentation": "Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "RateControlMode": { + "shape": "H264RateControlMode", + "locationName": "rateControlMode", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR)." + }, + "RepeatPps": { + "shape": "H264RepeatPps", + "locationName": "repeatPps", + "documentation": "Places a PPS header on each encoded picture, even if repeated." + }, + "SceneChangeDetect": { + "shape": "H264SceneChangeDetect", + "locationName": "sceneChangeDetect", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr." + }, + "Slices": { + "shape": "__integerMin1Max32", + "locationName": "slices", + "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures." + }, + "SlowPal": { + "shape": "H264SlowPal", + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." + }, + "Softness": { + "shape": "__integerMin0Max128", + "locationName": "softness", + "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + }, + "SpatialAdaptiveQuantization": { + "shape": "H264SpatialAdaptiveQuantization", + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." + }, + "Syntax": { + "shape": "H264Syntax", + "locationName": "syntax", + "documentation": "Produces a bitstream compliant with SMPTE RP-2027." + }, + "Telecine": { + "shape": "H264Telecine", + "locationName": "telecine", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i." + }, + "TemporalAdaptiveQuantization": { + "shape": "H264TemporalAdaptiveQuantization", + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." + }, + "UnregisteredSeiTimecode": { + "shape": "H264UnregisteredSeiTimecode", + "locationName": "unregisteredSeiTimecode", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message." + } + }, + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264." + }, + "H264SlowPal": { + "type": "string", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264SpatialAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264Syntax": { + "type": "string", + "documentation": "Produces a bitstream compliant with SMPTE RP-2027.", + "enum": [ + "DEFAULT", + "RP2027" + ] + }, + "H264Telecine": { + "type": "string", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i.", + "enum": [ + "NONE", + "SOFT", + "HARD" + ] + }, + "H264TemporalAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264UnregisteredSeiTimecode": { + "type": "string", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265AdaptiveQuantization": { + "type": "string", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", + "enum": [ + "OFF", + "LOW", + "MEDIUM", + "HIGH", + "HIGHER", + "MAX" + ] + }, + "H265AlternateTransferFunctionSei": { + "type": "string", + "documentation": "Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF).", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265CodecLevel": { + "type": "string", + "documentation": "H.265 Level.", + "enum": [ + "AUTO", + "LEVEL_1", + "LEVEL_2", + "LEVEL_2_1", + "LEVEL_3", + "LEVEL_3_1", + "LEVEL_4", + "LEVEL_4_1", + "LEVEL_5", + "LEVEL_5_1", + "LEVEL_5_2", + "LEVEL_6", + "LEVEL_6_1", + "LEVEL_6_2" + ] + }, + "H265CodecProfile": { + "type": "string", + "documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License.", + "enum": [ + "MAIN_MAIN", + "MAIN_HIGH", + "MAIN10_MAIN", + "MAIN10_HIGH", + "MAIN_422_8BIT_MAIN", + "MAIN_422_8BIT_HIGH", + "MAIN_422_10BIT_MAIN", + "MAIN_422_10BIT_HIGH" + ] + }, + "H265DynamicSubGop": { + "type": "string", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", + "enum": [ + "ADAPTIVE", + "STATIC" + ] + }, + "H265FlickerAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265FramerateControl": { + "type": "string", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H265FramerateConversionAlgorithm": { + "type": "string", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", + "enum": [ + "DUPLICATE_DROP", + "INTERPOLATE" + ] + }, + "H265GopBReference": { + "type": "string", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265GopSizeUnits": { + "type": "string", + "documentation": "Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", + "enum": [ + "FRAMES", + "SECONDS" + ] + }, + "H265InterlaceMode": { + "type": "string", + "documentation": "Choose the scan line type for the output. Choose Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Choose Top Field First (TOP_FIELD) or Bottom Field First (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Choose Follow, Default Top (FOLLOW_TOP_FIELD) or Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) to create an interlaced output with the same field polarity as the source. If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". If the source is progressive, your output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose. If you don't choose a value, the service will default to Progressive (PROGRESSIVE).", + "enum": [ + "PROGRESSIVE", + "TOP_FIELD", + "BOTTOM_FIELD", + "FOLLOW_TOP_FIELD", + "FOLLOW_BOTTOM_FIELD" + ] + }, + "H265ParControl": { + "type": "string", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H265QualityTuningLevel": { + "type": "string", + "documentation": "Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.", + "enum": [ + "SINGLE_PASS", + "SINGLE_PASS_HQ", + "MULTI_PASS_HQ" + ] + }, + "H265QvbrSettings": { + "type": "structure", + "members": { + "MaxAverageBitrate": { + "shape": "__integerMin1000Max1466400000", + "locationName": "maxAverageBitrate", + "documentation": "Use this setting only when Rate control mode is QVBR and Quality tuning level is Multi-pass HQ. For Max average bitrate values suited to the complexity of your input video, the service limits the average bitrate of the video part of this output to the value that you choose. That is, the total size of the video element is less than or equal to the value you set multiplied by the number of seconds of encoded output." + }, + "QvbrQualityLevel": { + "shape": "__integerMin1Max10", + "locationName": "qvbrQualityLevel", + "documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within h265Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33." + }, + "QvbrQualityLevelFineTune": { + "shape": "__doubleMin0Max1", + "locationName": "qvbrQualityLevelFineTune", + "documentation": "Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33." + } + }, + "documentation": "Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "H265RateControlMode": { + "type": "string", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).", + "enum": [ + "VBR", + "CBR", + "QVBR" + ] + }, + "H265SampleAdaptiveOffsetFilterMode": { + "type": "string", + "documentation": "Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content", + "enum": [ + "DEFAULT", + "ADAPTIVE", + "OFF" + ] + }, + "H265SceneChangeDetect": { + "type": "string", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.", + "enum": [ + "DISABLED", + "ENABLED", + "TRANSITION_DETECTION" + ] + }, + "H265Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "H265AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "AlternateTransferFunctionSei": { + "shape": "H265AlternateTransferFunctionSei", + "locationName": "alternateTransferFunctionSei", + "documentation": "Enables Alternate Transfer Function SEI message for outputs using Hybrid Log Gamma (HLG) Electro-Optical Transfer Function (EOTF)." + }, + "Bitrate": { + "shape": "__integerMin1000Max1466400000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." + }, + "CodecLevel": { + "shape": "H265CodecLevel", + "locationName": "codecLevel", + "documentation": "H.265 Level." + }, + "CodecProfile": { + "shape": "H265CodecProfile", + "locationName": "codecProfile", + "documentation": "Represents the Profile and Tier, per the HEVC (H.265) specification. Selections are grouped as [Profile] / [Tier], so \"Main/High\" represents Main Profile with High Tier. 4:2:2 profiles are only available with the HEVC 4:2:2 License." + }, + "DynamicSubGop": { + "shape": "H265DynamicSubGop", + "locationName": "dynamicSubGop", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." + }, + "FlickerAdaptiveQuantization": { + "shape": "H265FlickerAdaptiveQuantization", + "locationName": "flickerAdaptiveQuantization", + "documentation": "Adjust quantization within each frame to reduce flicker or 'pop' on I-frames." + }, + "FramerateControl": { + "shape": "H265FramerateControl", + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." + }, + "FramerateConversionAlgorithm": { + "shape": "H265FramerateConversionAlgorithm", + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateDenominator", + "documentation": "Frame rate denominator." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateNumerator", + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + }, + "GopBReference": { + "shape": "H265GopBReference", + "locationName": "gopBReference", + "documentation": "If enable, use reference B frames for GOP structures that have B frames > 1." + }, + "GopClosedCadence": { + "shape": "__integerMin0Max2147483647", + "locationName": "gopClosedCadence", + "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." + }, + "GopSize": { + "shape": "__doubleMin0", + "locationName": "gopSize", + "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." + }, + "GopSizeUnits": { + "shape": "H265GopSizeUnits", + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in H265 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." + }, + "HrdBufferInitialFillPercentage": { + "shape": "__integerMin0Max100", + "locationName": "hrdBufferInitialFillPercentage", + "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." + }, + "HrdBufferSize": { + "shape": "__integerMin0Max1466400000", + "locationName": "hrdBufferSize", + "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + }, + "InterlaceMode": { + "shape": "H265InterlaceMode", + "locationName": "interlaceMode", + "documentation": "Choose the scan line type for the output. Choose Progressive (PROGRESSIVE) to create a progressive output, regardless of the scan type of your input. Choose Top Field First (TOP_FIELD) or Bottom Field First (BOTTOM_FIELD) to create an output that's interlaced with the same field polarity throughout. Choose Follow, Default Top (FOLLOW_TOP_FIELD) or Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) to create an interlaced output with the same field polarity as the source. If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". If the source is progressive, your output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose. If you don't choose a value, the service will default to Progressive (PROGRESSIVE)." + }, + "MaxBitrate": { + "shape": "__integerMin1000Max1466400000", + "locationName": "maxBitrate", + "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR." + }, + "MinIInterval": { + "shape": "__integerMin0Max30", + "locationName": "minIInterval", + "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + }, + "NumberBFramesBetweenReferenceFrames": { + "shape": "__integerMin0Max7", + "locationName": "numberBFramesBetweenReferenceFrames", + "documentation": "Number of B-frames between reference frames." + }, + "NumberReferenceFrames": { + "shape": "__integerMin1Max6", + "locationName": "numberReferenceFrames", + "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + }, + "ParControl": { + "shape": "H265ParControl", + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." + }, + "ParDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "QualityTuningLevel": { + "shape": "H265QualityTuningLevel", + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (H265QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding." + }, + "QvbrSettings": { + "shape": "H265QvbrSettings", + "locationName": "qvbrSettings", + "documentation": "Settings for quality-defined variable bitrate encoding with the H.265 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode." + }, + "RateControlMode": { + "shape": "H265RateControlMode", + "locationName": "rateControlMode", + "documentation": "Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR)." + }, + "SampleAdaptiveOffsetFilterMode": { + "shape": "H265SampleAdaptiveOffsetFilterMode", + "locationName": "sampleAdaptiveOffsetFilterMode", + "documentation": "Specify Sample Adaptive Offset (SAO) filter strength. Adaptive mode dynamically selects best strength based on content" + }, + "SceneChangeDetect": { + "shape": "H265SceneChangeDetect", + "locationName": "sceneChangeDetect", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr." + }, + "Slices": { + "shape": "__integerMin1Max32", + "locationName": "slices", + "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures." + }, + "SlowPal": { + "shape": "H265SlowPal", + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." + }, + "SpatialAdaptiveQuantization": { + "shape": "H265SpatialAdaptiveQuantization", + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." + }, + "Telecine": { + "shape": "H265Telecine", + "locationName": "telecine", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i." + }, + "TemporalAdaptiveQuantization": { + "shape": "H265TemporalAdaptiveQuantization", + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." + }, + "TemporalIds": { + "shape": "H265TemporalIds", + "locationName": "temporalIds", + "documentation": "Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output." + }, + "Tiles": { + "shape": "H265Tiles", + "locationName": "tiles", + "documentation": "Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures." + }, + "UnregisteredSeiTimecode": { + "shape": "H265UnregisteredSeiTimecode", + "locationName": "unregisteredSeiTimecode", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message." + }, + "WriteMp4PackagingType": { + "shape": "H265WriteMp4PackagingType", + "locationName": "writeMp4PackagingType", + "documentation": "If the location of parameter set NAL units doesn't matter in your workflow, ignore this setting. Use this setting only with CMAF or DASH outputs, or with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose HVC1 to mark your output as HVC1. This makes your output compliant with the following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. For MP4 outputs, when you choose HVC1, your output video might not work properly with some downstream systems and video players. The service defaults to marking your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples." + } + }, + "documentation": "Settings for H265 codec" + }, + "H265SlowPal": { + "type": "string", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265SpatialAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265Telecine": { + "type": "string", + "documentation": "This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i.", + "enum": [ + "NONE", + "SOFT", + "HARD" + ] + }, + "H265TemporalAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265TemporalIds": { + "type": "string", + "documentation": "Enables temporal layer identifiers in the encoded bitstream. Up to 3 layers are supported depending on GOP structure: I- and P-frames form one layer, reference B-frames can form a second layer and non-reference b-frames can form a third layer. Decoders can optionally decode only the lower temporal layers to generate a lower frame rate output. For example, given a bitstream with temporal IDs and with b-frames = 1 (i.e. IbPbPb display order), a decoder could decode all the frames for full frame rate output or only the I and P frames (lowest temporal layer) for a half frame rate output.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265Tiles": { + "type": "string", + "documentation": "Enable use of tiles, allowing horizontal as well as vertical subdivision of the encoded pictures.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265UnregisteredSeiTimecode": { + "type": "string", + "documentation": "Inserts timecode for each frame as 4 bytes of an unregistered SEI message.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265WriteMp4PackagingType": { + "type": "string", + "documentation": "If the location of parameter set NAL units doesn't matter in your workflow, ignore this setting. Use this setting only with CMAF or DASH outputs, or with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose HVC1 to mark your output as HVC1. This makes your output compliant with the following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. For MP4 outputs, when you choose HVC1, your output video might not work properly with some downstream systems and video players. The service defaults to marking your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples.", + "enum": [ + "HVC1", + "HEV1" + ] + }, + "Hdr10Metadata": { + "type": "structure", + "members": { + "BluePrimaryX": { + "shape": "__integerMin0Max50000", + "locationName": "bluePrimaryX", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "BluePrimaryY": { + "shape": "__integerMin0Max50000", + "locationName": "bluePrimaryY", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "GreenPrimaryX": { + "shape": "__integerMin0Max50000", + "locationName": "greenPrimaryX", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "GreenPrimaryY": { + "shape": "__integerMin0Max50000", + "locationName": "greenPrimaryY", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "MaxContentLightLevel": { + "shape": "__integerMin0Max65535", + "locationName": "maxContentLightLevel", + "documentation": "Maximum light level among all samples in the coded video sequence, in units of candelas per square meter. This setting doesn't have a default value; you must specify a value that is suitable for the content." + }, + "MaxFrameAverageLightLevel": { + "shape": "__integerMin0Max65535", + "locationName": "maxFrameAverageLightLevel", + "documentation": "Maximum average light level of any frame in the coded video sequence, in units of candelas per square meter. This setting doesn't have a default value; you must specify a value that is suitable for the content." + }, + "MaxLuminance": { + "shape": "__integerMin0Max2147483647", + "locationName": "maxLuminance", + "documentation": "Nominal maximum mastering display luminance in units of of 0.0001 candelas per square meter." + }, + "MinLuminance": { + "shape": "__integerMin0Max2147483647", + "locationName": "minLuminance", + "documentation": "Nominal minimum mastering display luminance in units of of 0.0001 candelas per square meter" + }, + "RedPrimaryX": { + "shape": "__integerMin0Max50000", + "locationName": "redPrimaryX", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "RedPrimaryY": { + "shape": "__integerMin0Max50000", + "locationName": "redPrimaryY", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "WhitePointX": { + "shape": "__integerMin0Max50000", + "locationName": "whitePointX", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + }, + "WhitePointY": { + "shape": "__integerMin0Max50000", + "locationName": "whitePointY", + "documentation": "HDR Master Display Information must be provided by a color grader, using color grading tools. Range is 0 to 50,000, each increment represents 0.00002 in CIE1931 color coordinate. Note that this setting is not for color correction." + } + }, + "documentation": "Use these settings to specify static color calibration metadata, as defined by SMPTE ST 2086. These values don't affect the pixel values that are encoded in the video stream. They are intended to help the downstream video player display content in a way that reflects the intentions of the the content creator." + }, + "HlsAdMarkers": { + "type": "string", + "enum": [ + "ELEMENTAL", + "ELEMENTAL_SCTE35" + ] + }, + "HlsAdditionalManifest": { + "type": "structure", + "members": { + "ManifestNameModifier": { + "shape": "__stringMin1", + "locationName": "manifestNameModifier", + "documentation": "Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your HLS group is film-name.m3u8. If you enter \"-no-premium\" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.m3u8. For HLS output groups, specify a manifestNameModifier that is different from the nameModifier of the output. The service uses the output name modifier to create unique names for the individual variant manifests." + }, + "SelectedOutputs": { + "shape": "__listOf__stringMin1", + "locationName": "selectedOutputs", + "documentation": "Specify the outputs that you want this additional top-level manifest to reference." + } + }, + "documentation": "Specify the details for each additional HLS manifest that you want the service to generate for this output group. Each manifest can reference a different subset of outputs in the group." + }, + "HlsAudioOnlyContainer": { + "type": "string", + "documentation": "Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream (M2TS) to create a file in an MPEG2-TS container. Keep the default value Automatic (AUTOMATIC) to create a raw audio-only file with no container. Regardless of the value that you specify here, if this output has video, the service will place outputs into an MPEG2-TS container.", + "enum": [ + "AUTOMATIC", + "M2TS" + ] + }, + "HlsAudioTrackType": { + "type": "string", + "documentation": "Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO", + "enum": [ + "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", + "ALTERNATE_AUDIO_AUTO_SELECT", + "ALTERNATE_AUDIO_NOT_AUTO_SELECT", + "AUDIO_ONLY_VARIANT_STREAM" + ] + }, + "HlsCaptionLanguageMapping": { + "type": "structure", + "members": { + "CaptionChannel": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "captionChannel", + "documentation": "Caption channel." + }, + "CustomLanguageCode": { + "shape": "__stringMin3Max3PatternAZaZ3", + "locationName": "customLanguageCode", + "documentation": "Specify the language for this captions channel, using the ISO 639-2 or ISO 639-3 three-letter language code" + }, + "LanguageCode": { + "shape": "LanguageCode", + "locationName": "languageCode", + "documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php." + }, + "LanguageDescription": { + "shape": "__string", + "locationName": "languageDescription", + "documentation": "Caption language description." + } + }, + "documentation": "Caption Language Mapping" + }, + "HlsCaptionLanguageSetting": { + "type": "string", + "documentation": "Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest.", + "enum": [ + "INSERT", + "OMIT", + "NONE" + ] + }, + "HlsClientCache": { + "type": "string", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "HlsCodecSpecification": { + "type": "string", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.", + "enum": [ + "RFC_6381", + "RFC_4281" + ] + }, + "HlsDirectoryStructure": { + "type": "string", + "documentation": "Indicates whether segments should be placed in subdirectories.", + "enum": [ + "SINGLE_DIRECTORY", + "SUBDIRECTORY_PER_STREAM" + ] + }, + "HlsEncryptionSettings": { + "type": "structure", + "members": { + "ConstantInitializationVector": { + "shape": "__stringMin32Max32Pattern09aFAF32", + "locationName": "constantInitializationVector", + "documentation": "This is a 128-bit, 16-byte hex value represented by a 32-character text string. If this parameter is not set then the Initialization Vector will follow the segment number by default." + }, + "EncryptionMethod": { + "shape": "HlsEncryptionType", + "locationName": "encryptionMethod", + "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption." + }, + "InitializationVectorInManifest": { + "shape": "HlsInitializationVectorInManifest", + "locationName": "initializationVectorInManifest", + "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest." + }, + "OfflineEncrypted": { + "shape": "HlsOfflineEncrypted", + "locationName": "offlineEncrypted", + "documentation": "Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection." + }, + "SpekeKeyProvider": { + "shape": "SpekeKeyProvider", + "locationName": "spekeKeyProvider", + "documentation": "If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead." + }, + "StaticKeyProvider": { + "shape": "StaticKeyProvider", + "locationName": "staticKeyProvider", + "documentation": "Use these settings to set up encryption with a static key provider." + }, + "Type": { + "shape": "HlsKeyProviderType", + "locationName": "type", + "documentation": "Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html." + } + }, + "documentation": "Settings for HLS encryption" + }, + "HlsEncryptionType": { + "type": "string", + "documentation": "Encrypts the segments with the given encryption scheme. Leave blank to disable. Selecting 'Disabled' in the web interface also disables encryption.", + "enum": [ + "AES128", + "SAMPLE_AES" + ] + }, + "HlsGroupSettings": { + "type": "structure", + "members": { + "AdMarkers": { + "shape": "__listOfHlsAdMarkers", + "locationName": "adMarkers", + "documentation": "Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves." + }, + "AdditionalManifests": { + "shape": "__listOfHlsAdditionalManifest", + "locationName": "additionalManifests", + "documentation": "By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here." + }, + "BaseUrl": { + "shape": "__string", + "locationName": "baseUrl", + "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." + }, + "CaptionLanguageMappings": { + "shape": "__listOfHlsCaptionLanguageMapping", + "locationName": "captionLanguageMappings", + "documentation": "Language to be used on Caption outputs" + }, + "CaptionLanguageSetting": { + "shape": "HlsCaptionLanguageSetting", + "locationName": "captionLanguageSetting", + "documentation": "Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest." + }, + "ClientCache": { + "shape": "HlsClientCache", + "locationName": "clientCache", + "documentation": "When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay." + }, + "CodecSpecification": { + "shape": "HlsCodecSpecification", + "locationName": "codecSpecification", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." + }, + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination", + "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, + "DirectoryStructure": { + "shape": "HlsDirectoryStructure", + "locationName": "directoryStructure", + "documentation": "Indicates whether segments should be placed in subdirectories." + }, + "Encryption": { + "shape": "HlsEncryptionSettings", + "locationName": "encryption", + "documentation": "DRM settings." + }, + "ManifestCompression": { + "shape": "HlsManifestCompression", + "locationName": "manifestCompression", + "documentation": "When set to GZIP, compresses HLS playlist." + }, + "ManifestDurationFormat": { + "shape": "HlsManifestDurationFormat", + "locationName": "manifestDurationFormat", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration." + }, + "MinFinalSegmentLength": { + "shape": "__doubleMin0Max2147483647", + "locationName": "minFinalSegmentLength", + "documentation": "Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds." + }, + "MinSegmentLength": { + "shape": "__integerMin0Max2147483647", + "locationName": "minSegmentLength", + "documentation": "When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed." + }, + "OutputSelection": { + "shape": "HlsOutputSelection", + "locationName": "outputSelection", + "documentation": "Indicates whether the .m3u8 manifest file should be generated for this HLS output group." + }, + "ProgramDateTime": { + "shape": "HlsProgramDateTime", + "locationName": "programDateTime", + "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset." + }, + "ProgramDateTimePeriod": { + "shape": "__integerMin0Max3600", + "locationName": "programDateTimePeriod", + "documentation": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." + }, + "SegmentControl": { + "shape": "HlsSegmentControl", + "locationName": "segmentControl", + "documentation": "When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback." + }, + "SegmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "segmentLength", + "documentation": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer." + }, + "SegmentsPerSubdirectory": { + "shape": "__integerMin1Max2147483647", + "locationName": "segmentsPerSubdirectory", + "documentation": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect." + }, + "StreamInfResolution": { + "shape": "HlsStreamInfResolution", + "locationName": "streamInfResolution", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." + }, + "TimedMetadataId3Frame": { + "shape": "HlsTimedMetadataId3Frame", + "locationName": "timedMetadataId3Frame", + "documentation": "Indicates ID3 frame that has the timecode." + }, + "TimedMetadataId3Period": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "timedMetadataId3Period", + "documentation": "Timed Metadata interval in seconds." + }, + "TimestampDeltaMilliseconds": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "timestampDeltaMilliseconds", + "documentation": "Provides an extra millisecond delta offset to fine tune the timestamps." + } + }, + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS." + }, + "HlsIFrameOnlyManifest": { + "type": "string", + "documentation": "When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS manifest", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "HlsInitializationVectorInManifest": { + "type": "string", + "documentation": "The Initialization Vector is a 128-bit number used in conjunction with the key for encrypting blocks. If set to INCLUDE, Initialization Vector is listed in the manifest. Otherwise Initialization Vector is not in the manifest.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "HlsKeyProviderType": { + "type": "string", + "documentation": "Specify whether your DRM encryption key is static or from a key provider that follows the SPEKE standard. For more information about SPEKE, see https://docs.aws.amazon.com/speke/latest/documentation/what-is-speke.html.", + "enum": [ + "SPEKE", + "STATIC_KEY" + ] + }, + "HlsManifestCompression": { + "type": "string", + "documentation": "When set to GZIP, compresses HLS playlist.", + "enum": [ + "GZIP", + "NONE" + ] + }, + "HlsManifestDurationFormat": { + "type": "string", + "documentation": "Indicates whether the output manifest should use floating point values for segment duration.", + "enum": [ + "FLOATING_POINT", + "INTEGER" + ] + }, + "HlsOfflineEncrypted": { + "type": "string", + "documentation": "Enable this setting to insert the EXT-X-SESSION-KEY element into the master playlist. This allows for offline Apple HLS FairPlay content protection.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "HlsOutputSelection": { + "type": "string", + "documentation": "Indicates whether the .m3u8 manifest file should be generated for this HLS output group.", + "enum": [ + "MANIFESTS_AND_SEGMENTS", + "SEGMENTS_ONLY" + ] + }, + "HlsProgramDateTime": { + "type": "string", + "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "HlsSegmentControl": { + "type": "string", + "documentation": "When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback.", + "enum": [ + "SINGLE_FILE", + "SEGMENTED_FILES" + ] + }, + "HlsSettings": { + "type": "structure", + "members": { + "AudioGroupId": { + "shape": "__string", + "locationName": "audioGroupId", + "documentation": "Specifies the group to which the audio Rendition belongs." + }, + "AudioOnlyContainer": { + "shape": "HlsAudioOnlyContainer", + "locationName": "audioOnlyContainer", + "documentation": "Use this setting only in audio-only outputs. Choose MPEG-2 Transport Stream (M2TS) to create a file in an MPEG2-TS container. Keep the default value Automatic (AUTOMATIC) to create an audio-only file in a raw container. Regardless of the value that you specify here, if this output has video, the service will place the output into an MPEG2-TS container." + }, + "AudioRenditionSets": { + "shape": "__string", + "locationName": "audioRenditionSets", + "documentation": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','." + }, + "AudioTrackType": { + "shape": "HlsAudioTrackType", + "locationName": "audioTrackType", + "documentation": "Four types of audio-only tracks are supported: Audio-Only Variant Stream The client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest. Alternate Audio, Auto Select, Default Alternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES Alternate Audio, Auto Select, Not Default Alternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES Alternate Audio, not Auto Select Alternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO" + }, + "IFrameOnlyManifest": { + "shape": "HlsIFrameOnlyManifest", + "locationName": "iFrameOnlyManifest", + "documentation": "When set to INCLUDE, writes I-Frame Only Manifest in addition to the HLS manifest" + }, + "SegmentModifier": { + "shape": "__string", + "locationName": "segmentModifier", + "documentation": "Use this setting to add an identifying string to the filename of each segment. The service adds this string between the name modifier and segment index number. You can use format identifiers in the string. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html" + } + }, + "documentation": "Settings for HLS output groups" + }, + "HlsStreamInfResolution": { + "type": "string", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "HlsTimedMetadataId3Frame": { + "type": "string", + "documentation": "Indicates ID3 frame that has the timecode.", + "enum": [ + "NONE", + "PRIV", + "TDRL" + ] + }, + "HopDestination": { + "type": "structure", + "members": { + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Optional. When you set up a job to use queue hopping, you can specify a different relative priority for the job in the destination queue. If you don't specify, the relative priority will remain the same as in the previous queue." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "Optional unless the job is submitted on the default queue. When you set up a job to use queue hopping, you can specify a destination queue. This queue cannot be the original queue to which the job is submitted. If the original queue isn't the default queue and you don't specify the destination queue, the job will move to the default queue." + }, + "WaitMinutes": { + "shape": "__integer", + "locationName": "waitMinutes", + "documentation": "Required for setting up a job to use queue hopping. Minimum wait time in minutes until the job can hop to the destination queue. Valid range is 1 to 1440 minutes, inclusive." + } + }, + "documentation": "Optional. Configuration for a destination queue to which the job can hop once a customer-defined minimum wait time has passed." + }, + "Id3Insertion": { + "type": "structure", + "members": { + "Id3": { + "shape": "__stringPatternAZaZ0902", + "locationName": "id3", + "documentation": "Use ID3 tag (Id3) to provide a tag value in base64-encode format." + }, + "Timecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "timecode", + "documentation": "Provide a Timecode (TimeCode) in HH:MM:SS:FF or HH:MM:SS;FF format." + } + }, + "documentation": "To insert ID3 tags in your output, specify two values. Use ID3 tag (Id3) to specify the base 64 encoded string and use Timecode (TimeCode) to specify the time when the tag should be inserted. To insert multiple ID3 tags in your output, create multiple instances of ID3 insertion (Id3Insertion)." + }, + "ImageInserter": { + "type": "structure", + "members": { + "InsertableImages": { + "shape": "__listOfInsertableImage", + "locationName": "insertableImages", + "documentation": "Specify the images that you want to overlay on your video. The images must be PNG or TGA files." + } + }, + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input or output individually. This setting is disabled by default." + }, + "ImscDestinationSettings": { + "type": "structure", + "members": { + "StylePassthrough": { + "shape": "ImscStylePassthrough", + "locationName": "stylePassthrough", + "documentation": "Keep this setting enabled to have MediaConvert use the font style and position information from the captions source in the output. This option is available only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting for simplified output captions." + } + }, + "documentation": "Settings specific to IMSC caption outputs." + }, + "ImscStylePassthrough": { + "type": "string", + "documentation": "Keep this setting enabled to have MediaConvert use the font style and position information from the captions source in the output. This option is available only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting for simplified output captions.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Input": { + "type": "structure", + "members": { + "AudioSelectorGroups": { + "shape": "__mapOfAudioSelectorGroup", + "locationName": "audioSelectorGroups", + "documentation": "Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See \"Audio Selector Group\":#inputs-audio_selector_group for more information." + }, + "AudioSelectors": { + "shape": "__mapOfAudioSelector", + "locationName": "audioSelectors", + "documentation": "Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use mutiple Audio selectors per input." + }, + "CaptionSelectors": { + "shape": "__mapOfCaptionSelector", + "locationName": "captionSelectors", + "documentation": "Use Captions selectors (CaptionSelectors) to specify the captions data from the input that you will use in your outputs. You can use mutiple captions selectors per input." + }, + "Crop": { + "shape": "Rectangle", + "locationName": "crop", + "documentation": "Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop)." + }, + "DeblockFilter": { + "shape": "InputDeblockFilter", + "locationName": "deblockFilter", + "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs." + }, + "DecryptionSettings": { + "shape": "InputDecryptionSettings", + "locationName": "decryptionSettings", + "documentation": "Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content." + }, + "DenoiseFilter": { + "shape": "InputDenoiseFilter", + "locationName": "denoiseFilter", + "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs." + }, + "FileInput": { + "shape": "__stringPatternS3MM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL", + "locationName": "fileInput", + "documentation": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, \"s3://bucket/vf/cpl.xml\". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL." + }, + "FilterEnable": { + "shape": "InputFilterEnable", + "locationName": "filterEnable", + "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type." + }, + "FilterStrength": { + "shape": "__integerMinNegative5Max5", + "locationName": "filterStrength", + "documentation": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0." + }, + "ImageInserter": { + "shape": "ImageInserter", + "locationName": "imageInserter", + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." + }, + "InputClippings": { + "shape": "__listOfInputClipping", + "locationName": "inputClippings", + "documentation": "(InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them." + }, + "Position": { + "shape": "Rectangle", + "locationName": "position", + "documentation": "Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior)." + }, + "ProgramNumber": { + "shape": "__integerMin1Max2147483647", + "locationName": "programNumber", + "documentation": "Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default." + }, + "PsiControl": { + "shape": "InputPsiControl", + "locationName": "psiControl", + "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data." + }, + "SupplementalImps": { + "shape": "__listOf__stringPatternS3ASSETMAPXml", + "locationName": "supplementalImps", + "documentation": "Provide a list of any necessary supplemental IMPs. You need supplemental IMPs if the CPL that you're using for your input is in an incomplete IMP. Specify either the supplemental IMP directories with a trailing slash or the ASSETMAP.xml files. For example [\"s3://bucket/ov/\", \"s3://bucket/vf2/ASSETMAP.xml\"]. You don't need to specify the IMP that contains your input CPL, because the service automatically detects it." + }, + "TimecodeSource": { + "shape": "InputTimecodeSource", + "locationName": "timecodeSource", + "documentation": "Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode." + }, + "TimecodeStart": { + "shape": "__stringMin11Max11Pattern01D20305D205D", + "locationName": "timecodeStart", + "documentation": "Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode." + }, + "VideoSelector": { + "shape": "VideoSelector", + "locationName": "videoSelector", + "documentation": "Selector for video." + } + }, + "documentation": "Specifies media input" + }, + "InputClipping": { + "type": "structure", + "members": { + "EndTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "endTimecode", + "documentation": "Set End timecode (EndTimecode) to the end of the portion of the input you are clipping. The frame corresponding to the End timecode value is included in the clip. Start timecode or End timecode may be left blank, but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When choosing this value, take into account your setting for timecode source under input settings (InputTimecodeSource). For example, if you have embedded timecodes that start at 01:00:00:00 and you want your clip to end six minutes into the video, use 01:06:00:00." + }, + "StartTimecode": { + "shape": "__stringPattern010920405090509092", + "locationName": "startTimecode", + "documentation": "Set Start timecode (StartTimecode) to the beginning of the portion of the input you are clipping. The frame corresponding to the Start timecode value is included in the clip. Start timecode or End timecode may be left blank, but not both. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When choosing this value, take into account your setting for Input timecode source. For example, if you have embedded timecodes that start at 01:00:00:00 and you want your clip to begin five minutes into the video, use 01:05:00:00." + } + }, + "documentation": "To transcode only portions of your input (clips), include one Input clipping (one instance of InputClipping in the JSON job file) for each input clip. All input clips you specify will be included in every output of the job." + }, + "InputDeblockFilter": { + "type": "string", + "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "InputDecryptionSettings": { + "type": "structure", + "members": { + "DecryptionMode": { + "shape": "DecryptionMode", + "locationName": "decryptionMode", + "documentation": "Specify the encryption mode that you used to encrypt your input files." + }, + "EncryptedDecryptionKey": { + "shape": "__stringMin24Max512PatternAZaZ0902", + "locationName": "encryptedDecryptionKey", + "documentation": "Warning! Don't provide your encryption key in plaintext. Your job settings could be intercepted, making your encrypted content vulnerable. Specify the encrypted version of the data key that you used to encrypt your content. The data key must be encrypted by AWS Key Management Service (KMS). The key can be 128, 192, or 256 bits." + }, + "InitializationVector": { + "shape": "__stringMin16Max24PatternAZaZ0922AZaZ0916", + "locationName": "initializationVector", + "documentation": "Specify the initialization vector that you used when you encrypted your content before uploading it to Amazon S3. You can use a 16-byte initialization vector with any encryption mode. Or, you can use a 12-byte initialization vector with GCM or CTR. MediaConvert accepts only initialization vectors that are base64-encoded." + }, + "KmsKeyRegion": { + "shape": "__stringMin9Max19PatternAZ26EastWestCentralNorthSouthEastWest1912", + "locationName": "kmsKeyRegion", + "documentation": "Specify the AWS Region for AWS Key Management Service (KMS) that you used to encrypt your data key, if that Region is different from the one you are using for AWS Elemental MediaConvert." + } + }, + "documentation": "Settings for decrypting any input files that you encrypt before you upload them to Amazon S3. MediaConvert can decrypt files only when you use AWS Key Management Service (KMS) to encrypt the data key that you use to encrypt your content." + }, + "InputDenoiseFilter": { + "type": "string", + "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "InputFilterEnable": { + "type": "string", + "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type.", + "enum": [ + "AUTO", + "DISABLE", + "FORCE" + ] + }, + "InputPsiControl": { + "type": "string", + "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data.", + "enum": [ + "IGNORE_PSI", + "USE_PSI" + ] + }, + "InputRotate": { + "type": "string", + "documentation": "Use Rotate (InputRotate) to specify how the service rotates your video. You can choose automatic rotation or specify a rotation. You can specify a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or .mp4 and your input has rotation metadata, you can choose Automatic to have the service rotate your video according to the rotation specified in the metadata. The rotation must be within one degree of 90, 180, or 270 degrees. If the rotation metadata specifies any other rotation, the service will default to no rotation. By default, the service does no rotation, even if your input video has rotation metadata. The service doesn't pass through rotation metadata.", + "enum": [ + "DEGREE_0", + "DEGREES_90", + "DEGREES_180", + "DEGREES_270", + "AUTO" + ] + }, + "InputTemplate": { + "type": "structure", + "members": { + "AudioSelectorGroups": { + "shape": "__mapOfAudioSelectorGroup", + "locationName": "audioSelectorGroups", + "documentation": "Specifies set of audio selectors within an input to combine. An input may have multiple audio selector groups. See \"Audio Selector Group\":#inputs-audio_selector_group for more information." + }, + "AudioSelectors": { + "shape": "__mapOfAudioSelector", + "locationName": "audioSelectors", + "documentation": "Use Audio selectors (AudioSelectors) to specify a track or set of tracks from the input that you will use in your outputs. You can use mutiple Audio selectors per input." + }, + "CaptionSelectors": { + "shape": "__mapOfCaptionSelector", + "locationName": "captionSelectors", + "documentation": "Use Captions selectors (CaptionSelectors) to specify the captions data from the input that you will use in your outputs. You can use mutiple captions selectors per input." + }, + "Crop": { + "shape": "Rectangle", + "locationName": "crop", + "documentation": "Use Cropping selection (crop) to specify the video area that the service will include in the output video frame. If you specify a value here, it will override any value that you specify in the output setting Cropping selection (crop)." + }, + "DeblockFilter": { + "shape": "InputDeblockFilter", + "locationName": "deblockFilter", + "documentation": "Enable Deblock (InputDeblockFilter) to produce smoother motion in the output. Default is disabled. Only manaully controllable for MPEG2 and uncompressed video inputs." + }, + "DenoiseFilter": { + "shape": "InputDenoiseFilter", + "locationName": "denoiseFilter", + "documentation": "Enable Denoise (InputDenoiseFilter) to filter noise from the input. Default is disabled. Only applicable to MPEG2, H.264, H.265, and uncompressed video inputs." + }, + "FilterEnable": { + "shape": "InputFilterEnable", + "locationName": "filterEnable", + "documentation": "Use Filter enable (InputFilterEnable) to specify how the transcoding service applies the denoise and deblock filters. You must also enable the filters separately, with Denoise (InputDenoiseFilter) and Deblock (InputDeblockFilter). * Auto - The transcoding service determines whether to apply filtering, depending on input type and quality. * Disable - The input is not filtered. This is true even if you use the API to enable them in (InputDeblockFilter) and (InputDeblockFilter). * Force - The in put is filtered regardless of input type." + }, + "FilterStrength": { + "shape": "__integerMinNegative5Max5", + "locationName": "filterStrength", + "documentation": "Use Filter strength (FilterStrength) to adjust the magnitude the input filter settings (Deblock and Denoise). The range is -5 to 5. Default is 0." + }, + "ImageInserter": { + "shape": "ImageInserter", + "locationName": "imageInserter", + "documentation": "Enable the image inserter feature to include a graphic overlay on your video. Enable or disable this feature for each input individually. This setting is disabled by default." + }, + "InputClippings": { + "shape": "__listOfInputClipping", + "locationName": "inputClippings", + "documentation": "(InputClippings) contains sets of start and end times that together specify a portion of the input to be used in the outputs. If you provide only a start time, the clip will be the entire input from that point to the end. If you provide only an end time, it will be the entire input up to that point. When you specify more than one input clip, the transcoding service creates the job outputs by stringing the clips together in the order you specify them." + }, + "Position": { + "shape": "Rectangle", + "locationName": "position", + "documentation": "Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black. If you specify a value here, it will override any value that you specify in the output setting Selection placement (position). If you specify a value here, this will override any AFD values in your input, even if you set Respond to AFD (RespondToAfd) to Respond (RESPOND). If you specify a value here, this will ignore anything that you specify for the setting Scaling Behavior (scalingBehavior)." + }, + "ProgramNumber": { + "shape": "__integerMin1Max2147483647", + "locationName": "programNumber", + "documentation": "Use Program (programNumber) to select a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported. Default is the first program within the transport stream. If the program you specify doesn't exist, the transcoding service will use this default." + }, + "PsiControl": { + "shape": "InputPsiControl", + "locationName": "psiControl", + "documentation": "Set PSI control (InputPsiControl) for transport stream inputs to specify which data the demux process to scans. * Ignore PSI - Scan all PIDs for audio and video. * Use PSI - Scan only PSI data." + }, + "TimecodeSource": { + "shape": "InputTimecodeSource", + "locationName": "timecodeSource", + "documentation": "Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode." + }, + "TimecodeStart": { + "shape": "__stringMin11Max11Pattern01D20305D205D", + "locationName": "timecodeStart", + "documentation": "Specify the timecode that you want the service to use for this input's initial frame. To use this setting, you must set the Timecode source setting, located under the input settings (InputTimecodeSource), to Specified start (SPECIFIEDSTART). For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode." + }, + "VideoSelector": { + "shape": "VideoSelector", + "locationName": "videoSelector", + "documentation": "Selector for video." + } + }, + "documentation": "Specified video input in a template." + }, + "InputTimecodeSource": { + "type": "string", + "documentation": "Use this Timecode source setting, located under the input settings (InputTimecodeSource), to specify how the service counts input video frames. This input frame count affects only the behavior of features that apply to a single input at a time, such as input clipping and synchronizing some captions formats. Choose Embedded (EMBEDDED) to use the timecodes in your input video. Choose Start at zero (ZEROBASED) to start the first frame at zero. Choose Specified start (SPECIFIEDSTART) to start the first frame at the timecode that you specify in the setting Start timecode (timecodeStart). If you don't specify a value for Timecode source, the service will use Embedded by default. For more information about timecodes, see https://docs.aws.amazon.com/console/mediaconvert/timecode.", + "enum": [ + "EMBEDDED", + "ZEROBASED", + "SPECIFIEDSTART" + ] + }, + "InsertableImage": { + "type": "structure", + "members": { + "Duration": { + "shape": "__integerMin0Max2147483647", + "locationName": "duration", + "documentation": "Specify the time, in milliseconds, for the image to remain on the output video. This duration includes fade-in time but not fade-out time." + }, + "FadeIn": { + "shape": "__integerMin0Max2147483647", + "locationName": "fadeIn", + "documentation": "Specify the length of time, in milliseconds, between the Start time that you specify for the image insertion and the time that the image appears at full opacity. Full opacity is the level that you specify for the opacity setting. If you don't specify a value for Fade-in, the image will appear abruptly at the overlay start time." + }, + "FadeOut": { + "shape": "__integerMin0Max2147483647", + "locationName": "fadeOut", + "documentation": "Specify the length of time, in milliseconds, between the end of the time that you have specified for the image overlay Duration and when the overlaid image has faded to total transparency. If you don't specify a value for Fade-out, the image will disappear abruptly at the end of the inserted image duration." + }, + "Height": { + "shape": "__integerMin0Max2147483647", + "locationName": "height", + "documentation": "Specify the height of the inserted image in pixels. If you specify a value that's larger than the video resolution height, the service will crop your overlaid image to fit. To use the native height of the image, keep this setting blank." + }, + "ImageInserterInput": { + "shape": "__stringMin14PatternS3BmpBMPPngPNGTgaTGAHttpsBmpBMPPngPNGTgaTGA", + "locationName": "imageInserterInput", + "documentation": "Specify the HTTP, HTTPS, or Amazon S3 location of the image that you want to overlay on the video. Use a PNG or TGA file." + }, + "ImageX": { + "shape": "__integerMin0Max2147483647", + "locationName": "imageX", + "documentation": "Specify the distance, in pixels, between the inserted image and the left edge of the video frame. Required for any image overlay that you specify." + }, + "ImageY": { + "shape": "__integerMin0Max2147483647", + "locationName": "imageY", + "documentation": "Specify the distance, in pixels, between the overlaid image and the top edge of the video frame. Required for any image overlay that you specify." + }, + "Layer": { + "shape": "__integerMin0Max99", + "locationName": "layer", + "documentation": "Specify how overlapping inserted images appear. Images with higher values for Layer appear on top of images with lower values for Layer." + }, + "Opacity": { + "shape": "__integerMin0Max100", + "locationName": "opacity", + "documentation": "Use Opacity (Opacity) to specify how much of the underlying video shows through the inserted image. 0 is transparent and 100 is fully opaque. Default is 50." + }, + "StartTime": { + "shape": "__stringPattern01D20305D205D", + "locationName": "startTime", + "documentation": "Specify the timecode of the frame that you want the overlay to first appear on. This must be in timecode (HH:MM:SS:FF or HH:MM:SS;FF) format. Remember to take into account your timecode source settings." + }, + "Width": { + "shape": "__integerMin0Max2147483647", + "locationName": "width", + "documentation": "Specify the width of the inserted image in pixels. If you specify a value that's larger than the video resolution width, the service will crop your overlaid image to fit. To use the native width of the image, keep this setting blank." + } + }, + "documentation": "Settings that specify how your still graphic overlay appears." + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 500 + }, + "documentation": "The service encountered an unexpected condition and can't fulfill your request." + }, + "Job": { + "type": "structure", + "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content." + }, + "AccelerationStatus": { + "shape": "AccelerationStatus", + "locationName": "accelerationStatus", + "documentation": "Describes whether the current job is running with accelerated transcoding. For jobs that have Acceleration (AccelerationMode) set to DISABLED, AccelerationStatus is always NOT_APPLICABLE. For jobs that have Acceleration (AccelerationMode) set to ENABLED or PREFERRED, AccelerationStatus is one of the other states. AccelerationStatus is IN_PROGRESS initially, while the service determines whether the input files and job settings are compatible with accelerated transcoding. If they are, AcclerationStatus is ACCELERATED. If your input files and job settings aren't compatible with accelerated transcoding, the service either fails your job or runs it without accelerated transcoding, depending on how you set Acceleration (AccelerationMode). When the service runs your job without accelerated transcoding, AccelerationStatus is NOT_ACCELERATED." + }, + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "An identifier for this resource that is unique within all of AWS." + }, + "BillingTagsSource": { + "shape": "BillingTagsSource", + "locationName": "billingTagsSource", + "documentation": "The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up." + }, + "CreatedAt": { + "shape": "__timestampUnix", + "locationName": "createdAt", + "documentation": "The time, in Unix epoch format in seconds, when the job got created." + }, + "CurrentPhase": { + "shape": "JobPhase", + "locationName": "currentPhase", + "documentation": "A job's phase can be PROBING, TRANSCODING OR UPLOADING" + }, + "ErrorCode": { + "shape": "__integer", + "locationName": "errorCode", + "documentation": "Error code for the job" + }, + "ErrorMessage": { + "shape": "__string", + "locationName": "errorMessage", + "documentation": "Error message of Job" + }, + "HopDestinations": { + "shape": "__listOfHopDestination", + "locationName": "hopDestinations", + "documentation": "Optional list of hop destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "A portion of the job's ARN, unique within your AWS Elemental MediaConvert resources" + }, + "JobPercentComplete": { + "shape": "__integer", + "locationName": "jobPercentComplete", + "documentation": "An estimate of how far your job has progressed. This estimate is shown as a percentage of the total time from when your job leaves its queue to when your output files appear in your output Amazon S3 bucket. AWS Elemental MediaConvert provides jobPercentComplete in CloudWatch STATUS_UPDATE events and in the response to GetJob and ListJobs requests. The jobPercentComplete estimate is reliable for the following input containers: Quicktime, Transport Stream, MP4, and MXF. For some jobs, the service can't provide information about job progress. In those cases, jobPercentComplete returns a null value." + }, + "JobTemplate": { + "shape": "__string", + "locationName": "jobTemplate", + "documentation": "The job template that the job is created from, if it is created from a job template." + }, + "Messages": { + "shape": "JobMessages", + "locationName": "messages", + "documentation": "Provides messages from the service about jobs that you have already successfully submitted." + }, + "OutputGroupDetails": { + "shape": "__listOfOutputGroupDetail", + "locationName": "outputGroupDetails", + "documentation": "List of output group details" + }, + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Relative priority on the job." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "When you create a job, you can specify a queue to send it to. If you don't specify, the job will go to the default queue. For more about queues, see the User Guide topic at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html" + }, + "QueueTransitions": { + "shape": "__listOfQueueTransition", + "locationName": "queueTransitions", + "documentation": "The job's queue hopping history." + }, + "RetryCount": { + "shape": "__integer", + "locationName": "retryCount", + "documentation": "The number of times that the service automatically attempted to process your job after encountering an error." + }, + "Role": { + "shape": "__string", + "locationName": "role", + "documentation": "The IAM role you use for creating this job. For details about permissions, see the User Guide topic at the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html" + }, + "Settings": { + "shape": "JobSettings", + "locationName": "settings", + "documentation": "JobSettings contains all the transcode settings for a job." + }, + "SimulateReservedQueue": { + "shape": "SimulateReservedQueue", + "locationName": "simulateReservedQueue", + "documentation": "Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default." + }, + "Status": { + "shape": "JobStatus", + "locationName": "status", + "documentation": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." + }, + "Timing": { + "shape": "Timing", + "locationName": "timing", + "documentation": "Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds." + }, + "UserMetadata": { + "shape": "__mapOf__string", + "locationName": "userMetadata", + "documentation": "User-defined metadata that you want to associate with an MediaConvert job. You specify metadata in key/value pairs." + } + }, + "documentation": "Each job converts an input file into an output file or files. For more information, see the User Guide at http://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html", + "required": [ + "Role", + "Settings" + ] + }, + "JobMessages": { + "type": "structure", + "members": { + "Info": { + "shape": "__listOf__string", + "locationName": "info", + "documentation": "List of messages that are informational only and don't indicate a problem with your job." + }, + "Warning": { + "shape": "__listOf__string", + "locationName": "warning", + "documentation": "List of messages that warn about conditions that might cause your job not to run or to fail." + } + }, + "documentation": "Provides messages from the service about jobs that you have already successfully submitted." + }, + "JobPhase": { + "type": "string", + "documentation": "A job's phase can be PROBING, TRANSCODING OR UPLOADING", + "enum": [ + "PROBING", + "TRANSCODING", + "UPLOADING" + ] + }, + "JobSettings": { + "type": "structure", + "members": { + "AdAvailOffset": { + "shape": "__integerMinNegative1000Max1000", + "locationName": "adAvailOffset", + "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time." + }, + "AvailBlanking": { + "shape": "AvailBlanking", + "locationName": "availBlanking", + "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." + }, + "Esam": { + "shape": "EsamSettings", + "locationName": "esam", + "documentation": "Settings for Event Signaling And Messaging (ESAM)." + }, + "Inputs": { + "shape": "__listOfInput", + "locationName": "inputs", + "documentation": "Use Inputs (inputs) to define source file used in the transcode job. There can be multiple inputs add in a job. These inputs will be concantenated together to create the output." + }, + "MotionImageInserter": { + "shape": "MotionImageInserter", + "locationName": "motionImageInserter", + "documentation": "Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups." + }, + "NielsenConfiguration": { + "shape": "NielsenConfiguration", + "locationName": "nielsenConfiguration", + "documentation": "Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting." + }, + "OutputGroups": { + "shape": "__listOfOutputGroup", + "locationName": "outputGroups", + "documentation": "(OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings" + }, + "TimecodeConfig": { + "shape": "TimecodeConfig", + "locationName": "timecodeConfig", + "documentation": "Contains settings used to acquire and adjust timecode information from inputs." + }, + "TimedMetadataInsertion": { + "shape": "TimedMetadataInsertion", + "locationName": "timedMetadataInsertion", + "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." + } + }, + "documentation": "JobSettings contains all the transcode settings for a job." + }, + "JobStatus": { + "type": "string", + "documentation": "A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.", + "enum": [ + "SUBMITTED", + "PROGRESSING", + "COMPLETE", + "CANCELED", + "ERROR" + ] + }, + "JobTemplate": { + "type": "structure", + "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content." + }, + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "An identifier for this resource that is unique within all of AWS." + }, + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "An optional category you create to organize your job templates." + }, + "CreatedAt": { + "shape": "__timestampUnix", + "locationName": "createdAt", + "documentation": "The timestamp in epoch seconds for Job template creation." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "An optional description you create for each job template." + }, + "HopDestinations": { + "shape": "__listOfHopDestination", + "locationName": "hopDestinations", + "documentation": "Optional list of hop destinations." + }, + "LastUpdated": { + "shape": "__timestampUnix", + "locationName": "lastUpdated", + "documentation": "The timestamp in epoch seconds when the Job template was last updated." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name you create for each job template. Each name must be unique within your account." + }, + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Relative priority on the job." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "Optional. The queue that jobs created from this template are assigned to. If you don't specify this, jobs will go to the default queue." + }, + "Settings": { + "shape": "JobTemplateSettings", + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." + }, + "Type": { + "shape": "Type", + "locationName": "type", + "documentation": "A job template can be of two types: system or custom. System or built-in job templates can't be modified or deleted by the user." + } + }, + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job.", + "required": [ + "Settings", + "Name" + ] + }, + "JobTemplateListBy": { + "type": "string", + "documentation": "Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", + "enum": [ + "NAME", + "CREATION_DATE", + "SYSTEM" + ] + }, + "JobTemplateSettings": { + "type": "structure", + "members": { + "AdAvailOffset": { + "shape": "__integerMinNegative1000Max1000", + "locationName": "adAvailOffset", + "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time." + }, + "AvailBlanking": { + "shape": "AvailBlanking", + "locationName": "availBlanking", + "documentation": "Settings for ad avail blanking. Video can be blanked or overlaid with an image, and audio muted during SCTE-35 triggered ad avails." + }, + "Esam": { + "shape": "EsamSettings", + "locationName": "esam", + "documentation": "Settings for Event Signaling And Messaging (ESAM)." + }, + "Inputs": { + "shape": "__listOfInputTemplate", + "locationName": "inputs", + "documentation": "Use Inputs (inputs) to define the source file used in the transcode job. There can only be one input in a job template. Using the API, you can include multiple inputs when referencing a job template." + }, + "MotionImageInserter": { + "shape": "MotionImageInserter", + "locationName": "motionImageInserter", + "documentation": "Overlay motion graphics on top of your video. The motion graphics that you specify here appear on all outputs in all output groups." + }, + "NielsenConfiguration": { + "shape": "NielsenConfiguration", + "locationName": "nielsenConfiguration", + "documentation": "Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting." + }, + "OutputGroups": { + "shape": "__listOfOutputGroup", + "locationName": "outputGroups", + "documentation": "(OutputGroups) contains one group of settings for each set of outputs that share a common package type. All unpackaged files (MPEG-4, MPEG-2 TS, Quicktime, MXF, and no container) are grouped in a single output group as well. Required in (OutputGroups) is a group of settings that apply to the whole group. This required object depends on the value you set for (Type) under (OutputGroups)>(OutputGroupSettings). Type, settings object pairs are as follows. * FILE_GROUP_SETTINGS, FileGroupSettings * HLS_GROUP_SETTINGS, HlsGroupSettings * DASH_ISO_GROUP_SETTINGS, DashIsoGroupSettings * MS_SMOOTH_GROUP_SETTINGS, MsSmoothGroupSettings * CMAF_GROUP_SETTINGS, CmafGroupSettings" + }, + "TimecodeConfig": { + "shape": "TimecodeConfig", + "locationName": "timecodeConfig", + "documentation": "Contains settings used to acquire and adjust timecode information from inputs." + }, + "TimedMetadataInsertion": { + "shape": "TimedMetadataInsertion", + "locationName": "timedMetadataInsertion", + "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." + } + }, + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "LanguageCode": { + "type": "string", + "documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.", + "enum": [ + "ENG", + "SPA", + "FRA", + "DEU", + "GER", + "ZHO", + "ARA", + "HIN", + "JPN", + "RUS", + "POR", + "ITA", + "URD", + "VIE", + "KOR", + "PAN", + "ABK", + "AAR", + "AFR", + "AKA", + "SQI", + "AMH", + "ARG", + "HYE", + "ASM", + "AVA", + "AVE", + "AYM", + "AZE", + "BAM", + "BAK", + "EUS", + "BEL", + "BEN", + "BIH", + "BIS", + "BOS", + "BRE", + "BUL", + "MYA", + "CAT", + "KHM", + "CHA", + "CHE", + "NYA", + "CHU", + "CHV", + "COR", + "COS", + "CRE", + "HRV", + "CES", + "DAN", + "DIV", + "NLD", + "DZO", + "ENM", + "EPO", + "EST", + "EWE", + "FAO", + "FIJ", + "FIN", + "FRM", + "FUL", + "GLA", + "GLG", + "LUG", + "KAT", + "ELL", + "GRN", + "GUJ", + "HAT", + "HAU", + "HEB", + "HER", + "HMO", + "HUN", + "ISL", + "IDO", + "IBO", + "IND", + "INA", + "ILE", + "IKU", + "IPK", + "GLE", + "JAV", + "KAL", + "KAN", + "KAU", + "KAS", + "KAZ", + "KIK", + "KIN", + "KIR", + "KOM", + "KON", + "KUA", + "KUR", + "LAO", + "LAT", + "LAV", + "LIM", + "LIN", + "LIT", + "LUB", + "LTZ", + "MKD", + "MLG", + "MSA", + "MAL", + "MLT", + "GLV", + "MRI", + "MAR", + "MAH", + "MON", + "NAU", + "NAV", + "NDE", + "NBL", + "NDO", + "NEP", + "SME", + "NOR", + "NOB", + "NNO", + "OCI", + "OJI", + "ORI", + "ORM", + "OSS", + "PLI", + "FAS", + "POL", + "PUS", + "QUE", + "QAA", + "RON", + "ROH", + "RUN", + "SMO", + "SAG", + "SAN", + "SRD", + "SRB", + "SNA", + "III", + "SND", + "SIN", + "SLK", + "SLV", + "SOM", + "SOT", + "SUN", + "SWA", + "SSW", + "SWE", + "TGL", + "TAH", + "TGK", + "TAM", + "TAT", + "TEL", + "THA", + "BOD", + "TIR", + "TON", + "TSO", + "TSN", + "TUR", + "TUK", + "TWI", + "UIG", + "UKR", + "UZB", + "VEN", + "VOL", + "WLN", + "CYM", + "FRY", + "WOL", + "XHO", + "YID", + "YOR", + "ZHA", + "ZUL", + "ORJ", + "QPC", + "TNG" + ] + }, + "ListJobTemplatesRequest": { + "type": "structure", + "members": { + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "Optionally, specify a job template category to limit responses to only job templates from that category.", + "location": "querystring" + }, + "ListBy": { + "shape": "JobTemplateListBy", + "locationName": "listBy", + "documentation": "Optional. When you request a list of job templates, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", + "location": "querystring" + }, + "MaxResults": { + "shape": "__integerMin1Max20", + "locationName": "maxResults", + "documentation": "Optional. Number of job templates, up to twenty, that will be returned at one time.", + "location": "querystring" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string, provided with the response to a previous request, to request the next batch of job templates.", + "location": "querystring" + }, + "Order": { + "shape": "Order", + "locationName": "order", + "documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "location": "querystring" + } + } + }, + "ListJobTemplatesResponse": { + "type": "structure", + "members": { + "JobTemplates": { + "shape": "__listOfJobTemplate", + "locationName": "jobTemplates", + "documentation": "List of Job templates." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string to request the next batch of job templates." + } + } + }, + "ListJobsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "__integerMin1Max20", + "locationName": "maxResults", + "documentation": "Optional. Number of jobs, up to twenty, that will be returned at one time.", + "location": "querystring" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Optional. Use this string, provided with the response to a previous request, to request the next batch of jobs.", + "location": "querystring" + }, + "Order": { + "shape": "Order", + "locationName": "order", + "documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "location": "querystring" + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "Optional. Provide a queue name to get back only jobs from that queue.", + "location": "querystring" + }, + "Status": { + "shape": "JobStatus", + "locationName": "status", + "documentation": "Optional. A job's status can be SUBMITTED, PROGRESSING, COMPLETE, CANCELED, or ERROR.", + "location": "querystring" + } + } + }, + "ListJobsResponse": { + "type": "structure", + "members": { + "Jobs": { + "shape": "__listOfJob", + "locationName": "jobs", + "documentation": "List of jobs" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string to request the next batch of jobs." + } + } + }, + "ListPresetsRequest": { + "type": "structure", + "members": { + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "Optionally, specify a preset category to limit responses to only presets from that category.", + "location": "querystring" + }, + "ListBy": { + "shape": "PresetListBy", + "locationName": "listBy", + "documentation": "Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", + "location": "querystring" + }, + "MaxResults": { + "shape": "__integerMin1Max20", + "locationName": "maxResults", + "documentation": "Optional. Number of presets, up to twenty, that will be returned at one time", + "location": "querystring" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string, provided with the response to a previous request, to request the next batch of presets.", + "location": "querystring" + }, + "Order": { + "shape": "Order", + "locationName": "order", + "documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "location": "querystring" + } + } + }, + "ListPresetsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string to request the next batch of presets." + }, + "Presets": { + "shape": "__listOfPreset", + "locationName": "presets", + "documentation": "List of presets" + } + } + }, + "ListQueuesRequest": { + "type": "structure", + "members": { + "ListBy": { + "shape": "QueueListBy", + "locationName": "listBy", + "documentation": "Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date.", + "location": "querystring" + }, + "MaxResults": { + "shape": "__integerMin1Max20", + "locationName": "maxResults", + "documentation": "Optional. Number of queues, up to twenty, that will be returned at one time.", + "location": "querystring" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string, provided with the response to a previous request, to request the next batch of queues.", + "location": "querystring" + }, + "Order": { + "shape": "Order", + "locationName": "order", + "documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "location": "querystring" + } + } + }, + "ListQueuesResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Use this string to request the next batch of queues." + }, + "Queues": { + "shape": "__listOfQueue", + "locationName": "queues", + "documentation": "List of queues." + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Amazon Resource Name (ARN) of the resource that you want to list tags for. To get the ARN, send a GET request with the resource name.", + "location": "uri" + } + }, + "required": [ + "Arn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "ResourceTags": { + "shape": "ResourceTags", + "locationName": "resourceTags", + "documentation": "The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert resource." + } + } + }, + "M2tsAudioBufferModel": { + "type": "string", + "documentation": "Selects between the DVB and ATSC buffer models for Dolby Digital audio.", + "enum": [ + "DVB", + "ATSC" + ] + }, + "M2tsBufferModel": { + "type": "string", + "documentation": "Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions.", + "enum": [ + "MULTIPLEX", + "NONE" + ] + }, + "M2tsEbpAudioInterval": { + "type": "string", + "documentation": "When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY).", + "enum": [ + "VIDEO_AND_FIXED_INTERVALS", + "VIDEO_INTERVAL" + ] + }, + "M2tsEbpPlacement": { + "type": "string", + "documentation": "Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY).", + "enum": [ + "VIDEO_AND_AUDIO_PIDS", + "VIDEO_PID" + ] + }, + "M2tsEsRateInPes": { + "type": "string", + "documentation": "Controls whether to include the ES Rate field in the PES header.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "M2tsForceTsVideoEbpOrder": { + "type": "string", + "documentation": "Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE).", + "enum": [ + "FORCE", + "DEFAULT" + ] + }, + "M2tsNielsenId3": { + "type": "string", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.", + "enum": [ + "INSERT", + "NONE" + ] + }, + "M2tsPcrControl": { + "type": "string", + "documentation": "When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream.", + "enum": [ + "PCR_EVERY_PES_PACKET", + "CONFIGURED_PCR_PERIOD" + ] + }, + "M2tsRateMode": { + "type": "string", + "documentation": "When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate.", + "enum": [ + "VBR", + "CBR" + ] + }, + "M2tsScte35Esam": { + "type": "structure", + "members": { + "Scte35EsamPid": { + "shape": "__integerMin32Max8182", + "locationName": "scte35EsamPid", + "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream generated by ESAM." + } + }, + "documentation": "Settings for SCTE-35 signals from ESAM. Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." + }, + "M2tsScte35Source": { + "type": "string", + "documentation": "For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam).", + "enum": [ + "PASSTHROUGH", + "NONE" + ] + }, + "M2tsSegmentationMarkers": { + "type": "string", + "documentation": "Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format.", + "enum": [ + "NONE", + "RAI_SEGSTART", + "RAI_ADAPT", + "PSI_SEGSTART", + "EBP", + "EBP_LEGACY" + ] + }, + "M2tsSegmentationStyle": { + "type": "string", + "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of \"reset_cadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of \"maintain_cadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule.", + "enum": [ + "MAINTAIN_CADENCE", + "RESET_CADENCE" + ] + }, + "M2tsSettings": { + "type": "structure", + "members": { + "AudioBufferModel": { + "shape": "M2tsAudioBufferModel", + "locationName": "audioBufferModel", + "documentation": "Selects between the DVB and ATSC buffer models for Dolby Digital audio." + }, + "AudioFramesPerPes": { + "shape": "__integerMin0Max2147483647", + "locationName": "audioFramesPerPes", + "documentation": "The number of audio frames to insert for each PES packet." + }, + "AudioPids": { + "shape": "__listOf__integerMin32Max8182", + "locationName": "audioPids", + "documentation": "Specify the packet identifiers (PIDs) for any elementary audio streams you include in this output. Specify multiple PIDs as a JSON array. Default is the range 482-492." + }, + "Bitrate": { + "shape": "__integerMin0Max2147483647", + "locationName": "bitrate", + "documentation": "Specify the output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate. Other common values are 3750000, 7500000, and 15000000." + }, + "BufferModel": { + "shape": "M2tsBufferModel", + "locationName": "bufferModel", + "documentation": "Controls what buffer model to use for accurate interleaving. If set to MULTIPLEX, use multiplex buffer model. If set to NONE, this can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions." + }, + "DvbNitSettings": { + "shape": "DvbNitSettings", + "locationName": "dvbNitSettings", + "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." + }, + "DvbSdtSettings": { + "shape": "DvbSdtSettings", + "locationName": "dvbSdtSettings", + "documentation": "Inserts DVB Service Description Table (NIT) at the specified table repetition interval." + }, + "DvbSubPids": { + "shape": "__listOf__integerMin32Max8182", + "locationName": "dvbSubPids", + "documentation": "Specify the packet identifiers (PIDs) for DVB subtitle data included in this output. Specify multiple PIDs as a JSON array. Default is the range 460-479." + }, + "DvbTdtSettings": { + "shape": "DvbTdtSettings", + "locationName": "dvbTdtSettings", + "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." + }, + "DvbTeletextPid": { + "shape": "__integerMin32Max8182", + "locationName": "dvbTeletextPid", + "documentation": "Specify the packet identifier (PID) for DVB teletext data you include in this output. Default is 499." + }, + "EbpAudioInterval": { + "shape": "M2tsEbpAudioInterval", + "locationName": "ebpAudioInterval", + "documentation": "When set to VIDEO_AND_FIXED_INTERVALS, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. When set to VIDEO_INTERVAL, these additional markers will not be inserted. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY)." + }, + "EbpPlacement": { + "shape": "M2tsEbpPlacement", + "locationName": "ebpPlacement", + "documentation": "Selects which PIDs to place EBP markers on. They can either be placed only on the video PID, or on both the video PID and all audio PIDs. Only applicable when EBP segmentation markers are is selected (segmentationMarkers is EBP or EBP_LEGACY)." + }, + "EsRateInPes": { + "shape": "M2tsEsRateInPes", + "locationName": "esRateInPes", + "documentation": "Controls whether to include the ES Rate field in the PES header." + }, + "ForceTsVideoEbpOrder": { + "shape": "M2tsForceTsVideoEbpOrder", + "locationName": "forceTsVideoEbpOrder", + "documentation": "Keep the default value (DEFAULT) unless you know that your audio EBP markers are incorrectly appearing before your video EBP markers. To correct this problem, set this value to Force (FORCE)." + }, + "FragmentTime": { + "shape": "__doubleMin0", + "locationName": "fragmentTime", + "documentation": "The length, in seconds, of each fragment. Only used with EBP markers." + }, + "MaxPcrInterval": { + "shape": "__integerMin0Max500", + "locationName": "maxPcrInterval", + "documentation": "Specify the maximum time, in milliseconds, between Program Clock References (PCRs) inserted into the transport stream." + }, + "MinEbpInterval": { + "shape": "__integerMin0Max10000", + "locationName": "minEbpInterval", + "documentation": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate." + }, + "NielsenId3": { + "shape": "M2tsNielsenId3", + "locationName": "nielsenId3", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + }, + "NullPacketBitrate": { + "shape": "__doubleMin0", + "locationName": "nullPacketBitrate", + "documentation": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets." + }, + "PatInterval": { + "shape": "__integerMin0Max1000", + "locationName": "patInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + }, + "PcrControl": { + "shape": "M2tsPcrControl", + "locationName": "pcrControl", + "documentation": "When set to PCR_EVERY_PES_PACKET, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This is effective only when the PCR PID is the same as the video or audio elementary stream." + }, + "PcrPid": { + "shape": "__integerMin32Max8182", + "locationName": "pcrPid", + "documentation": "Specify the packet identifier (PID) for the program clock reference (PCR) in this output. If you do not specify a value, the service will use the value for Video PID (VideoPid)." + }, + "PmtInterval": { + "shape": "__integerMin0Max1000", + "locationName": "pmtInterval", + "documentation": "Specify the number of milliseconds between instances of the program map table (PMT) in the output transport stream." + }, + "PmtPid": { + "shape": "__integerMin32Max8182", + "locationName": "pmtPid", + "documentation": "Specify the packet identifier (PID) for the program map table (PMT) itself. Default is 480." + }, + "PrivateMetadataPid": { + "shape": "__integerMin32Max8182", + "locationName": "privateMetadataPid", + "documentation": "Specify the packet identifier (PID) of the private metadata stream. Default is 503." + }, + "ProgramNumber": { + "shape": "__integerMin0Max65535", + "locationName": "programNumber", + "documentation": "Use Program number (programNumber) to specify the program number used in the program map table (PMT) for this output. Default is 1. Program numbers and program map tables are parts of MPEG-2 transport stream containers, used for organizing data." + }, + "RateMode": { + "shape": "M2tsRateMode", + "locationName": "rateMode", + "documentation": "When set to CBR, inserts null packets into transport stream to fill specified bitrate. When set to VBR, the bitrate setting acts as the maximum bitrate, but the output will not be padded up to that bitrate." + }, + "Scte35Esam": { + "shape": "M2tsScte35Esam", + "locationName": "scte35Esam", + "documentation": "Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." + }, + "Scte35Pid": { + "shape": "__integerMin32Max8182", + "locationName": "scte35Pid", + "documentation": "Specify the packet identifier (PID) of the SCTE-35 stream in the transport stream." + }, + "Scte35Source": { + "shape": "M2tsScte35Source", + "locationName": "scte35Source", + "documentation": "For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE). Also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml). Also enable ESAM SCTE-35 (include the property scte35Esam)." + }, + "SegmentationMarkers": { + "shape": "M2tsSegmentationMarkers", + "locationName": "segmentationMarkers", + "documentation": "Inserts segmentation markers at each segmentation_time period. rai_segstart sets the Random Access Indicator bit in the adaptation field. rai_adapt sets the RAI bit and adds the current timecode in the private data bytes. psi_segstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebp_legacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format." + }, + "SegmentationStyle": { + "shape": "M2tsSegmentationStyle", + "locationName": "segmentationStyle", + "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted. When a segmentation style of \"reset_cadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of of $segmentation_time seconds. When a segmentation style of \"maintain_cadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentation_time seconds. Note that EBP lookahead is a slight exception to this rule." + }, + "SegmentationTime": { + "shape": "__doubleMin0", + "locationName": "segmentationTime", + "documentation": "Specify the length, in seconds, of each segment. Required unless markers is set to _none_." + }, + "TimedMetadataPid": { + "shape": "__integerMin32Max8182", + "locationName": "timedMetadataPid", + "documentation": "Specify the packet identifier (PID) for timed metadata in this output. Default is 502." + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId", + "documentation": "Specify the ID for the transport stream itself in the program map table for this output. Transport stream IDs and program map tables are parts of MPEG-2 transport stream containers, used for organizing data." + }, + "VideoPid": { + "shape": "__integerMin32Max8182", + "locationName": "videoPid", + "documentation": "Specify the packet identifier (PID) of the elementary video stream in the transport stream." + } + }, + "documentation": "MPEG-2 TS container settings. These apply to outputs in a File output group when the output's container (ContainerType) is MPEG-2 Transport Stream (M2TS). In these assets, data is organized by the program map table (PMT). Each transport stream program contains subsets of data, including audio, video, and metadata. Each of these subsets of data has a numerical label called a packet identifier (PID). Each transport stream program corresponds to one MediaConvert output. The PMT lists the types of data in a program along with their PID. Downstream systems and players use the program map table to look up the PID for each type of data it accesses and then uses the PIDs to locate specific data within the asset." + }, + "M3u8NielsenId3": { + "type": "string", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output.", + "enum": [ + "INSERT", + "NONE" + ] + }, + "M3u8PcrControl": { + "type": "string", + "documentation": "When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream.", + "enum": [ + "PCR_EVERY_PES_PACKET", + "CONFIGURED_PCR_PERIOD" + ] + }, + "M3u8Scte35Source": { + "type": "string", + "documentation": "For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers (adMarkers) if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml).", + "enum": [ + "PASSTHROUGH", + "NONE" + ] + }, + "M3u8Settings": { + "type": "structure", + "members": { + "AudioFramesPerPes": { + "shape": "__integerMin0Max2147483647", + "locationName": "audioFramesPerPes", + "documentation": "The number of audio frames to insert for each PES packet." + }, + "AudioPids": { + "shape": "__listOf__integerMin32Max8182", + "locationName": "audioPids", + "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation." + }, + "NielsenId3": { + "shape": "M3u8NielsenId3", + "locationName": "nielsenId3", + "documentation": "If INSERT, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + }, + "PatInterval": { + "shape": "__integerMin0Max1000", + "locationName": "patInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + }, + "PcrControl": { + "shape": "M3u8PcrControl", + "locationName": "pcrControl", + "documentation": "When set to PCR_EVERY_PES_PACKET a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." + }, + "PcrPid": { + "shape": "__integerMin32Max8182", + "locationName": "pcrPid", + "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID." + }, + "PmtInterval": { + "shape": "__integerMin0Max1000", + "locationName": "pmtInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + }, + "PmtPid": { + "shape": "__integerMin32Max8182", + "locationName": "pmtPid", + "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream." + }, + "PrivateMetadataPid": { + "shape": "__integerMin32Max8182", + "locationName": "privateMetadataPid", + "documentation": "Packet Identifier (PID) of the private metadata stream in the transport stream." + }, + "ProgramNumber": { + "shape": "__integerMin0Max65535", + "locationName": "programNumber", + "documentation": "The value of the program number field in the Program Map Table." + }, + "Scte35Pid": { + "shape": "__integerMin32Max8182", + "locationName": "scte35Pid", + "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream." + }, + "Scte35Source": { + "shape": "M3u8Scte35Source", + "locationName": "scte35Source", + "documentation": "For SCTE-35 markers from your input-- Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want SCTE-35 markers in this output. For SCTE-35 markers from an ESAM XML document-- Choose None (NONE) if you don't want manifest conditioning. Choose Passthrough (PASSTHROUGH) and choose Ad markers (adMarkers) if you do want manifest conditioning. In both cases, also provide the ESAM XML as a string in the setting Signal processing notification XML (sccXml)." + }, + "TimedMetadata": { + "shape": "TimedMetadata", + "locationName": "timedMetadata", + "documentation": "Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output." + }, + "TimedMetadataPid": { + "shape": "__integerMin32Max8182", + "locationName": "timedMetadataPid", + "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream." + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId", + "documentation": "The value of the transport stream ID field in the Program Map Table." + }, + "VideoPid": { + "shape": "__integerMin32Max8182", + "locationName": "videoPid", + "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream." + } + }, + "documentation": "Settings for TS segments in HLS" + }, + "MotionImageInserter": { + "type": "structure", + "members": { + "Framerate": { + "shape": "MotionImageInsertionFramerate", + "locationName": "framerate", + "documentation": "If your motion graphic asset is a .mov file, keep this setting unspecified. If your motion graphic asset is a series of .png files, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. Make sure that the number of images in your series matches the frame rate and your intended overlay duration. For example, if you want a 30-second overlay at 30 fps, you should have 900 .png images. This overlay frame rate doesn't need to match the frame rate of the underlying video." + }, + "Input": { + "shape": "__stringMin14Max1285PatternS3Mov09PngHttpsMov09Png", + "locationName": "input", + "documentation": "Specify the .mov file or series of .png files that you want to overlay on your video. For .png files, provide the file name of the first file in the series. Make sure that the names of the .png files end with sequential numbers that specify the order that they are played in. For example, overlay_000.png, overlay_001.png, overlay_002.png, and so on. The sequence must start at zero, and each image file name must have the same number of digits. Pad your initial file names with enough zeros to complete the sequence. For example, if the first image is overlay_0.png, there can be only 10 images in the sequence, with the last image being overlay_9.png. But if the first image is overlay_00.png, there can be 100 images in the sequence." + }, + "InsertionMode": { + "shape": "MotionImageInsertionMode", + "locationName": "insertionMode", + "documentation": "Choose the type of motion graphic asset that you are providing for your overlay. You can choose either a .mov file or a series of .png files." + }, + "Offset": { + "shape": "MotionImageInsertionOffset", + "locationName": "offset", + "documentation": "Use Offset to specify the placement of your motion graphic overlay on the video frame. Specify in pixels, from the upper-left corner of the frame. If you don't specify an offset, the service scales your overlay to the full size of the frame. Otherwise, the service inserts the overlay at its native resolution and scales the size up or down with any video scaling." + }, + "Playback": { + "shape": "MotionImagePlayback", + "locationName": "playback", + "documentation": "Specify whether your motion graphic overlay repeats on a loop or plays only once." + }, + "StartTime": { + "shape": "__stringMin11Max11Pattern01D20305D205D", + "locationName": "startTime", + "documentation": "Specify when the motion overlay begins. Use timecode format (HH:MM:SS:FF or HH:MM:SS;FF). Make sure that the timecode you provide here takes into account how you have set up your timecode configuration under both job settings and input settings. The simplest way to do that is to set both to start at 0. If you need to set up your job to follow timecodes embedded in your source that don't start at zero, make sure that you specify a start time that is after the first embedded timecode. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/setting-up-timecode.html Find job-wide and input timecode configuration settings in your JSON job settings specification at settings>timecodeConfig>source and settings>inputs>timecodeSource." + } + }, + "documentation": "Overlay motion graphics on top of your video at the time that you specify." + }, + "MotionImageInsertionFramerate": { + "type": "structure", + "members": { + "FramerateDenominator": { + "shape": "__integerMin1Max17895697", + "locationName": "framerateDenominator", + "documentation": "The bottom of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 1." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483640", + "locationName": "framerateNumerator", + "documentation": "The top of the fraction that expresses your overlay frame rate. For example, if your frame rate is 24 fps, set this value to 24." + } + }, + "documentation": "For motion overlays that don't have a built-in frame rate, specify the frame rate of the overlay in frames per second, as a fraction. For example, specify 24 fps as 24/1. The overlay frame rate doesn't need to match the frame rate of the underlying video." + }, + "MotionImageInsertionMode": { + "type": "string", + "documentation": "Choose the type of motion graphic asset that you are providing for your overlay. You can choose either a .mov file or a series of .png files.", + "enum": [ + "MOV", + "PNG" + ] + }, + "MotionImageInsertionOffset": { + "type": "structure", + "members": { + "ImageX": { + "shape": "__integerMin0Max2147483647", + "locationName": "imageX", + "documentation": "Set the distance, in pixels, between the overlay and the left edge of the video frame." + }, + "ImageY": { + "shape": "__integerMin0Max2147483647", + "locationName": "imageY", + "documentation": "Set the distance, in pixels, between the overlay and the top edge of the video frame." + } + }, + "documentation": "Specify the offset between the upper-left corner of the video frame and the top left corner of the overlay." + }, + "MotionImagePlayback": { + "type": "string", + "documentation": "Specify whether your motion graphic overlay repeats on a loop or plays only once.", + "enum": [ + "ONCE", + "REPEAT" + ] + }, + "MovClapAtom": { + "type": "string", + "documentation": "When enabled, include 'clap' atom if appropriate for the video output settings.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "MovCslgAtom": { + "type": "string", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "MovMpeg2FourCCControl": { + "type": "string", + "documentation": "When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2.", + "enum": [ + "XDCAM", + "MPEG" + ] + }, + "MovPaddingControl": { + "type": "string", + "documentation": "If set to OMNEON, inserts Omneon-compatible padding", + "enum": [ + "OMNEON", + "NONE" + ] + }, + "MovReference": { + "type": "string", + "documentation": "Always keep the default value (SELF_CONTAINED) for this setting.", + "enum": [ + "SELF_CONTAINED", + "EXTERNAL" + ] + }, + "MovSettings": { + "type": "structure", + "members": { + "ClapAtom": { + "shape": "MovClapAtom", + "locationName": "clapAtom", + "documentation": "When enabled, include 'clap' atom if appropriate for the video output settings." + }, + "CslgAtom": { + "shape": "MovCslgAtom", + "locationName": "cslgAtom", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools." + }, + "Mpeg2FourCCControl": { + "shape": "MovMpeg2FourCCControl", + "locationName": "mpeg2FourCCControl", + "documentation": "When set to XDCAM, writes MPEG2 video streams into the QuickTime file using XDCAM fourcc codes. This increases compatibility with Apple editors and players, but may decrease compatibility with other players. Only applicable when the video codec is MPEG2." + }, + "PaddingControl": { + "shape": "MovPaddingControl", + "locationName": "paddingControl", + "documentation": "If set to OMNEON, inserts Omneon-compatible padding" + }, + "Reference": { + "shape": "MovReference", + "locationName": "reference", + "documentation": "Always keep the default value (SELF_CONTAINED) for this setting." + } + }, + "documentation": "Settings for MOV Container." + }, + "Mp2Settings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__integerMin32000Max384000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second." + }, + "Channels": { + "shape": "__integerMin1Max2", + "locationName": "channels", + "documentation": "Set Channels to specify the number of channels in this output audio track. Choosing Mono in the console will give you 1 output channel; choosing Stereo will give you 2. In the API, valid values are 1 and 2." + }, + "SampleRate": { + "shape": "__integerMin32000Max48000", + "locationName": "sampleRate", + "documentation": "Sample rate in hz." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value MP2." + }, + "Mp3RateControlMode": { + "type": "string", + "documentation": "Specify whether the service encodes this MP3 audio output with a constant bitrate (CBR) or a variable bitrate (VBR).", + "enum": [ + "CBR", + "VBR" + ] + }, + "Mp3Settings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__integerMin16000Max320000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second." + }, + "Channels": { + "shape": "__integerMin1Max2", + "locationName": "channels", + "documentation": "Specify the number of channels in this output audio track. Choosing Mono on the console gives you 1 output channel; choosing Stereo gives you 2. In the API, valid values are 1 and 2." + }, + "RateControlMode": { + "shape": "Mp3RateControlMode", + "locationName": "rateControlMode", + "documentation": "Specify whether the service encodes this MP3 audio output with a constant bitrate (CBR) or a variable bitrate (VBR)." + }, + "SampleRate": { + "shape": "__integerMin22050Max48000", + "locationName": "sampleRate", + "documentation": "Sample rate in hz." + }, + "VbrQuality": { + "shape": "__integerMin0Max9", + "locationName": "vbrQuality", + "documentation": "Required when you set Bitrate control mode (rateControlMode) to VBR. Specify the audio quality of this MP3 output from 0 (highest quality) to 9 (lowest quality)." + } + }, + "documentation": "Required when you set Codec, under AudioDescriptions>CodecSettings, to the value MP3." + }, + "Mp4CslgAtom": { + "type": "string", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "Mp4FreeSpaceBox": { + "type": "string", + "documentation": "Inserts a free-space box immediately after the moov box.", + "enum": [ + "INCLUDE", + "EXCLUDE" + ] + }, + "Mp4MoovPlacement": { + "type": "string", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end.", + "enum": [ + "PROGRESSIVE_DOWNLOAD", + "NORMAL" + ] + }, + "Mp4Settings": { + "type": "structure", + "members": { + "CslgAtom": { + "shape": "Mp4CslgAtom", + "locationName": "cslgAtom", + "documentation": "When enabled, file composition times will start at zero, composition times in the 'ctts' (composition time to sample) box for B-frames will be negative, and a 'cslg' (composition shift least greatest) box will be included per 14496-1 amendment 1. This improves compatibility with Apple players and tools." + }, + "CttsVersion": { + "shape": "__integerMin0Max1", + "locationName": "cttsVersion", + "documentation": "Ignore this setting unless compliance to the CTTS box version specification matters in your workflow. Specify a value of 1 to set your CTTS box version to 1 and make your output compliant with the specification. When you specify a value of 1, you must also set CSLG atom (cslgAtom) to the value INCLUDE. Keep the default value 0 to set your CTTS box version to 0. This can provide backward compatibility for some players and packagers." + }, + "FreeSpaceBox": { + "shape": "Mp4FreeSpaceBox", + "locationName": "freeSpaceBox", + "documentation": "Inserts a free-space box immediately after the moov box." + }, + "MoovPlacement": { + "shape": "Mp4MoovPlacement", + "locationName": "moovPlacement", + "documentation": "If set to PROGRESSIVE_DOWNLOAD, the MOOV atom is relocated to the beginning of the archive as required for progressive downloading. Otherwise it is placed normally at the end." + }, + "Mp4MajorBrand": { + "shape": "__string", + "locationName": "mp4MajorBrand", + "documentation": "Overrides the \"Major Brand\" field in the output file. Usually not necessary to specify." + } + }, + "documentation": "Settings for MP4 container. You can create audio-only AAC outputs with this container." + }, + "MpdCaptionContainerType": { + "type": "string", + "documentation": "Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw (RAW) for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 (FRAGMENTED_MP4) for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files.", + "enum": [ + "RAW", + "FRAGMENTED_MP4" + ] + }, + "MpdScte35Esam": { + "type": "string", + "documentation": "Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).", + "enum": [ + "INSERT", + "NONE" + ] + }, + "MpdScte35Source": { + "type": "string", + "documentation": "Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output.", + "enum": [ + "PASSTHROUGH", + "NONE" + ] + }, + "MpdSettings": { + "type": "structure", + "members": { + "CaptionContainerType": { + "shape": "MpdCaptionContainerType", + "locationName": "captionContainerType", + "documentation": "Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw (RAW) for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 (FRAGMENTED_MP4) for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files." + }, + "Scte35Esam": { + "shape": "MpdScte35Esam", + "locationName": "scte35Esam", + "documentation": "Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml)." + }, + "Scte35Source": { + "shape": "MpdScte35Source", + "locationName": "scte35Source", + "documentation": "Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough (PASSTHROUGH) if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None (NONE) if you don't want those SCTE-35 markers in this output." + } + }, + "documentation": "Settings for MP4 segments in DASH" + }, + "Mpeg2AdaptiveQuantization": { + "type": "string", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.", + "enum": [ + "OFF", + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "Mpeg2CodecLevel": { + "type": "string", + "documentation": "Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output.", + "enum": [ + "AUTO", + "LOW", + "MAIN", + "HIGH1440", + "HIGH" + ] + }, + "Mpeg2CodecProfile": { + "type": "string", + "documentation": "Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output.", + "enum": [ + "MAIN", + "PROFILE_422" + ] + }, + "Mpeg2DynamicSubGop": { + "type": "string", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).", + "enum": [ + "ADAPTIVE", + "STATIC" + ] + }, + "Mpeg2FramerateControl": { + "type": "string", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "Mpeg2FramerateConversionAlgorithm": { + "type": "string", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", + "enum": [ + "DUPLICATE_DROP", + "INTERPOLATE" + ] + }, + "Mpeg2GopSizeUnits": { + "type": "string", + "documentation": "Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.", + "enum": [ + "FRAMES", + "SECONDS" + ] + }, + "Mpeg2InterlaceMode": { + "type": "string", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "enum": [ + "PROGRESSIVE", + "TOP_FIELD", + "BOTTOM_FIELD", + "FOLLOW_TOP_FIELD", + "FOLLOW_BOTTOM_FIELD" + ] + }, + "Mpeg2IntraDcPrecision": { + "type": "string", + "documentation": "Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio.", + "enum": [ + "AUTO", + "INTRA_DC_PRECISION_8", + "INTRA_DC_PRECISION_9", + "INTRA_DC_PRECISION_10", + "INTRA_DC_PRECISION_11" + ] + }, + "Mpeg2ParControl": { + "type": "string", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "Mpeg2QualityTuningLevel": { + "type": "string", + "documentation": "Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to use single-pass or multipass video encoding.", + "enum": [ + "SINGLE_PASS", + "MULTI_PASS" + ] + }, + "Mpeg2RateControlMode": { + "type": "string", + "documentation": "Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr).", + "enum": [ + "VBR", + "CBR" + ] + }, + "Mpeg2SceneChangeDetect": { + "type": "string", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Mpeg2Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "Mpeg2AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "Bitrate": { + "shape": "__integerMin1000Max288000000", + "locationName": "bitrate", + "documentation": "Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000." + }, + "CodecLevel": { + "shape": "Mpeg2CodecLevel", + "locationName": "codecLevel", + "documentation": "Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video output." + }, + "CodecProfile": { + "shape": "Mpeg2CodecProfile", + "locationName": "codecProfile", + "documentation": "Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the video output." + }, + "DynamicSubGop": { + "shape": "Mpeg2DynamicSubGop", + "locationName": "dynamicSubGop", + "documentation": "Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames)." + }, + "FramerateControl": { + "shape": "Mpeg2FramerateControl", + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." + }, + "FramerateConversionAlgorithm": { + "shape": "Mpeg2FramerateConversionAlgorithm", + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max1001", + "locationName": "framerateDenominator", + "documentation": "Frame rate denominator." + }, + "FramerateNumerator": { + "shape": "__integerMin24Max60000", + "locationName": "framerateNumerator", + "documentation": "Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + }, + "GopClosedCadence": { + "shape": "__integerMin0Max2147483647", + "locationName": "gopClosedCadence", + "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." + }, + "GopSize": { + "shape": "__doubleMin0", + "locationName": "gopSize", + "documentation": "GOP Length (keyframe interval) in frames or seconds. Must be greater than zero." + }, + "GopSizeUnits": { + "shape": "Mpeg2GopSizeUnits", + "locationName": "gopSizeUnits", + "documentation": "Indicates if the GOP Size in MPEG2 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time." + }, + "HrdBufferInitialFillPercentage": { + "shape": "__integerMin0Max100", + "locationName": "hrdBufferInitialFillPercentage", + "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." + }, + "HrdBufferSize": { + "shape": "__integerMin0Max47185920", + "locationName": "hrdBufferSize", + "documentation": "Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000." + }, + "InterlaceMode": { + "shape": "Mpeg2InterlaceMode", + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." + }, + "IntraDcPrecision": { + "shape": "Mpeg2IntraDcPrecision", + "locationName": "intraDcPrecision", + "documentation": "Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization precision for intra-block DC coefficients. If you choose the value auto, the service will automatically select the precision based on the per-frame compression ratio." + }, + "MaxBitrate": { + "shape": "__integerMin1000Max300000000", + "locationName": "maxBitrate", + "documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000." + }, + "MinIInterval": { + "shape": "__integerMin0Max30", + "locationName": "minIInterval", + "documentation": "Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + }, + "NumberBFramesBetweenReferenceFrames": { + "shape": "__integerMin0Max7", + "locationName": "numberBFramesBetweenReferenceFrames", + "documentation": "Number of B-frames between reference frames." + }, + "ParControl": { + "shape": "Mpeg2ParControl", + "locationName": "parControl", + "documentation": "Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio." + }, + "ParDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "QualityTuningLevel": { + "shape": "Mpeg2QualityTuningLevel", + "locationName": "qualityTuningLevel", + "documentation": "Use Quality tuning level (Mpeg2QualityTuningLevel) to specifiy whether to use single-pass or multipass video encoding." + }, + "RateControlMode": { + "shape": "Mpeg2RateControlMode", + "locationName": "rateControlMode", + "documentation": "Use Rate control mode (Mpeg2RateControlMode) to specifiy whether the bitrate is variable (vbr) or constant (cbr)." + }, + "SceneChangeDetect": { + "shape": "Mpeg2SceneChangeDetect", + "locationName": "sceneChangeDetect", + "documentation": "Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default." + }, + "SlowPal": { + "shape": "Mpeg2SlowPal", + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." + }, + "Softness": { + "shape": "__integerMin0Max128", + "locationName": "softness", + "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + }, + "SpatialAdaptiveQuantization": { + "shape": "Mpeg2SpatialAdaptiveQuantization", + "locationName": "spatialAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity." + }, + "Syntax": { + "shape": "Mpeg2Syntax", + "locationName": "syntax", + "documentation": "Produces a Type D-10 compatible bitstream (SMPTE 356M-2001)." + }, + "Telecine": { + "shape": "Mpeg2Telecine", + "locationName": "telecine", + "documentation": "Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player." + }, + "TemporalAdaptiveQuantization": { + "shape": "Mpeg2TemporalAdaptiveQuantization", + "locationName": "temporalAdaptiveQuantization", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity." + } + }, + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2." + }, + "Mpeg2SlowPal": { + "type": "string", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Mpeg2SpatialAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on spatial variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Mpeg2Syntax": { + "type": "string", + "documentation": "Produces a Type D-10 compatible bitstream (SMPTE 356M-2001).", + "enum": [ + "DEFAULT", + "D_10" + ] + }, + "Mpeg2Telecine": { + "type": "string", + "documentation": "Only use Telecine (Mpeg2Telecine) when you set Framerate (Framerate) to 29.970. Set Telecine (Mpeg2Telecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player.", + "enum": [ + "NONE", + "SOFT", + "HARD" + ] + }, + "Mpeg2TemporalAdaptiveQuantization": { + "type": "string", + "documentation": "Adjust quantization within each frame based on temporal variation of content complexity.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "MsSmoothAdditionalManifest": { + "type": "structure", + "members": { + "ManifestNameModifier": { + "shape": "__stringMin1", + "locationName": "manifestNameModifier", + "documentation": "Specify a name modifier that the service adds to the name of this manifest to make it different from the file names of the other main manifests in the output group. For example, say that the default main manifest for your Microsoft Smooth group is film-name.ismv. If you enter \"-no-premium\" for this setting, then the file name the service generates for this top-level manifest is film-name-no-premium.ismv." + }, + "SelectedOutputs": { + "shape": "__listOf__stringMin1", + "locationName": "selectedOutputs", + "documentation": "Specify the outputs that you want this additional top-level manifest to reference." + } + }, + "documentation": "Specify the details for each additional Microsoft Smooth Streaming manifest that you want the service to generate for this output group. Each manifest can reference a different subset of outputs in the group." + }, + "MsSmoothAudioDeduplication": { + "type": "string", + "documentation": "COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream.", + "enum": [ + "COMBINE_DUPLICATE_STREAMS", + "NONE" + ] + }, + "MsSmoothEncryptionSettings": { + "type": "structure", + "members": { + "SpekeKeyProvider": { + "shape": "SpekeKeyProvider", + "locationName": "spekeKeyProvider", + "documentation": "If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead." + } + }, + "documentation": "If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider." + }, + "MsSmoothGroupSettings": { + "type": "structure", + "members": { + "AdditionalManifests": { + "shape": "__listOfMsSmoothAdditionalManifest", + "locationName": "additionalManifests", + "documentation": "By default, the service creates one .ism Microsoft Smooth Streaming manifest for each Microsoft Smooth Streaming output group in your job. This default manifest references every output in the output group. To create additional manifests that reference a subset of the outputs in the output group, specify a list of them here." + }, + "AudioDeduplication": { + "shape": "MsSmoothAudioDeduplication", + "locationName": "audioDeduplication", + "documentation": "COMBINE_DUPLICATE_STREAMS combines identical audio encoding settings across a Microsoft Smooth output group into a single audio stream." + }, + "Destination": { + "shape": "__stringPatternS3", + "locationName": "destination", + "documentation": "Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file." + }, + "DestinationSettings": { + "shape": "DestinationSettings", + "locationName": "destinationSettings", + "documentation": "Settings associated with the destination. Will vary based on the type of destination" + }, + "Encryption": { + "shape": "MsSmoothEncryptionSettings", + "locationName": "encryption", + "documentation": "If you are using DRM, set DRM System (MsSmoothEncryptionSettings) to specify the value SpekeKeyProvider." + }, + "FragmentLength": { + "shape": "__integerMin1Max2147483647", + "locationName": "fragmentLength", + "documentation": "Use Fragment length (FragmentLength) to specify the mp4 fragment sizes in seconds. Fragment length must be compatible with GOP size and frame rate." + }, + "ManifestEncoding": { + "shape": "MsSmoothManifestEncoding", + "locationName": "manifestEncoding", + "documentation": "Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16." + } + }, + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS." + }, + "MsSmoothManifestEncoding": { + "type": "string", + "documentation": "Use Manifest encoding (MsSmoothManifestEncoding) to specify the encoding format for the server and client manifest. Valid options are utf8 and utf16.", + "enum": [ + "UTF8", + "UTF16" + ] + }, + "MxfAfdSignaling": { + "type": "string", + "documentation": "Optional. When you have AFD signaling set up in your output video stream, use this setting to choose whether to also include it in the MXF wrapper. Choose Don't copy (NO_COPY) to exclude AFD signaling from the MXF wrapper. Choose Copy from video stream (COPY_FROM_VIDEO) to copy the AFD values from the video stream for this output to the MXF wrapper. Regardless of which option you choose, the AFD values remain in the video stream. Related settings: To set up your output to include or exclude AFD values, see AfdSignaling, under VideoDescription. On the console, find AFD signaling under the output's video encoding settings.", + "enum": [ + "NO_COPY", + "COPY_FROM_VIDEO" + ] + }, + "MxfSettings": { + "type": "structure", + "members": { + "AfdSignaling": { + "shape": "MxfAfdSignaling", + "locationName": "afdSignaling", + "documentation": "Optional. When you have AFD signaling set up in your output video stream, use this setting to choose whether to also include it in the MXF wrapper. Choose Don't copy (NO_COPY) to exclude AFD signaling from the MXF wrapper. Choose Copy from video stream (COPY_FROM_VIDEO) to copy the AFD values from the video stream for this output to the MXF wrapper. Regardless of which option you choose, the AFD values remain in the video stream. Related settings: To set up your output to include or exclude AFD values, see AfdSignaling, under VideoDescription. On the console, find AFD signaling under the output's video encoding settings." + } + }, + "documentation": "MXF settings" + }, + "NielsenConfiguration": { + "type": "structure", + "members": { + "BreakoutCode": { + "shape": "__integerMin0Max0", + "locationName": "breakoutCode", + "documentation": "Nielsen has discontinued the use of breakout code functionality. If you must include this property, set the value to zero." + }, + "DistributorId": { + "shape": "__string", + "locationName": "distributorId", + "documentation": "Use Distributor ID (DistributorID) to specify the distributor ID that is assigned to your organization by Neilsen." + } + }, + "documentation": "Settings for your Nielsen configuration. If you don't do Nielsen measurement and analytics, ignore these settings. When you enable Nielsen configuration (nielsenConfiguration), MediaConvert enables PCM to ID3 tagging for all outputs in the job. To enable Nielsen configuration programmatically, include an instance of nielsenConfiguration in your JSON job specification. Even if you don't include any children of nielsenConfiguration, you still enable the setting." + }, + "NoiseReducer": { + "type": "structure", + "members": { + "Filter": { + "shape": "NoiseReducerFilter", + "locationName": "filter", + "documentation": "Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution filtering. * Conserve does min/max noise reduction. * Spatial does frequency-domain filtering based on JND principles. * Temporal optimizes video quality for complex motion." + }, + "FilterSettings": { + "shape": "NoiseReducerFilterSettings", + "locationName": "filterSettings", + "documentation": "Settings for a noise reducer filter" + }, + "SpatialFilterSettings": { + "shape": "NoiseReducerSpatialFilterSettings", + "locationName": "spatialFilterSettings", + "documentation": "Noise reducer filter settings for spatial filter." + }, + "TemporalFilterSettings": { + "shape": "NoiseReducerTemporalFilterSettings", + "locationName": "temporalFilterSettings", + "documentation": "Noise reducer filter settings for temporal filter." + } + }, + "documentation": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer (NoiseReducer), you must also select a value for Noise reducer filter (NoiseReducerFilter)." + }, + "NoiseReducerFilter": { + "type": "string", + "documentation": "Use Noise reducer filter (NoiseReducerFilter) to select one of the following spatial image filtering functions. To use this setting, you must also enable Noise reducer (NoiseReducer). * Bilateral preserves edges while reducing noise. * Mean (softest), Gaussian, Lanczos, and Sharpen (sharpest) do convolution filtering. * Conserve does min/max noise reduction. * Spatial does frequency-domain filtering based on JND principles. * Temporal optimizes video quality for complex motion.", + "enum": [ + "BILATERAL", + "MEAN", + "GAUSSIAN", + "LANCZOS", + "SHARPEN", + "CONSERVE", + "SPATIAL", + "TEMPORAL" + ] + }, + "NoiseReducerFilterSettings": { + "type": "structure", + "members": { + "Strength": { + "shape": "__integerMin0Max3", + "locationName": "strength", + "documentation": "Relative strength of noise reducing filter. Higher values produce stronger filtering." + } + }, + "documentation": "Settings for a noise reducer filter" + }, + "NoiseReducerSpatialFilterSettings": { + "type": "structure", + "members": { + "PostFilterSharpenStrength": { + "shape": "__integerMin0Max3", + "locationName": "postFilterSharpenStrength", + "documentation": "Specify strength of post noise reduction sharpening filter, with 0 disabling the filter and 3 enabling it at maximum strength." + }, + "Speed": { + "shape": "__integerMinNegative2Max3", + "locationName": "speed", + "documentation": "The speed of the filter, from -2 (lower speed) to 3 (higher speed), with 0 being the nominal value." + }, + "Strength": { + "shape": "__integerMin0Max16", + "locationName": "strength", + "documentation": "Relative strength of noise reducing filter. Higher values produce stronger filtering." + } + }, + "documentation": "Noise reducer filter settings for spatial filter." + }, + "NoiseReducerTemporalFilterSettings": { + "type": "structure", + "members": { + "AggressiveMode": { + "shape": "__integerMin0Max4", + "locationName": "aggressiveMode", + "documentation": "Use Aggressive mode for content that has complex motion. Higher values produce stronger temporal filtering. This filters highly complex scenes more aggressively and creates better VQ for low bitrate outputs." + }, + "Speed": { + "shape": "__integerMinNegative1Max3", + "locationName": "speed", + "documentation": "The speed of the filter (higher number is faster). Low setting reduces bit rate at the cost of transcode time, high setting improves transcode time at the cost of bit rate." + }, + "Strength": { + "shape": "__integerMin0Max16", + "locationName": "strength", + "documentation": "Specify the strength of the noise reducing filter on this output. Higher values produce stronger filtering. We recommend the following value ranges, depending on the result that you want: * 0-2 for complexity reduction with minimal sharpness loss * 2-8 for complexity reduction with image preservation * 8-16 for a high level of complexity reduction" + } + }, + "documentation": "Noise reducer filter settings for temporal filter." + }, + "NotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 404 + }, + "documentation": "The resource you requested doesn't exist." + }, + "Order": { + "type": "string", + "documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "enum": [ + "ASCENDING", + "DESCENDING" + ] + }, + "Output": { + "type": "structure", + "members": { + "AudioDescriptions": { + "shape": "__listOfAudioDescription", + "locationName": "audioDescriptions", + "documentation": "(AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings." + }, + "CaptionDescriptions": { + "shape": "__listOfCaptionDescription", + "locationName": "captionDescriptions", + "documentation": "(CaptionDescriptions) contains groups of captions settings. For each output that has captions, include one instance of (CaptionDescriptions). (CaptionDescriptions) can contain multiple groups of captions settings." + }, + "ContainerSettings": { + "shape": "ContainerSettings", + "locationName": "containerSettings", + "documentation": "Container specific settings." + }, + "Extension": { + "shape": "__string", + "locationName": "extension", + "documentation": "Use Extension (Extension) to specify the file extension for outputs in File output groups. If you do not specify a value, the service will use default extensions by container type as follows * MPEG-2 transport stream, m2ts * Quicktime, mov * MXF container, mxf * MPEG-4 container, mp4 * No Container, the service will use codec extensions (e.g. AAC, H265, H265, AC3)" + }, + "NameModifier": { + "shape": "__stringMin1", + "locationName": "nameModifier", + "documentation": "Use Name modifier (NameModifier) to have the service add a string to the end of each output filename. You specify the base filename as part of your destination URI. When you create multiple outputs in the same output group, Name modifier (NameModifier) is required. Name modifier also accepts format identifiers. For DASH ISO outputs, if you use the format identifiers $Number$ or $Time$ in one output, you must use them in the same way in all outputs of the output group." + }, + "OutputSettings": { + "shape": "OutputSettings", + "locationName": "outputSettings", + "documentation": "Specific settings for this type of output." + }, + "Preset": { + "shape": "__stringMin0", + "locationName": "preset", + "documentation": "Use Preset (Preset) to specifiy a preset for your transcoding settings. Provide the system or custom preset name. You can specify either Preset (Preset) or Container settings (ContainerSettings), but not both." + }, + "VideoDescription": { + "shape": "VideoDescription", + "locationName": "videoDescription", + "documentation": "(VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec that you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output." + } + }, + "documentation": "An output object describes the settings for a single output file or stream in an output group." + }, + "OutputChannelMapping": { + "type": "structure", + "members": { + "InputChannels": { + "shape": "__listOf__integerMinNegative60Max6", + "locationName": "inputChannels", + "documentation": "List of input channels" + } + }, + "documentation": "OutputChannel mapping settings." + }, + "OutputDetail": { + "type": "structure", + "members": { + "DurationInMs": { + "shape": "__integer", + "locationName": "durationInMs", + "documentation": "Duration in milliseconds" + }, + "VideoDetails": { + "shape": "VideoDetail", + "locationName": "videoDetails", + "documentation": "Contains details about the output's video stream" + } + }, + "documentation": "Details regarding output" + }, + "OutputGroup": { + "type": "structure", + "members": { + "CustomName": { + "shape": "__string", + "locationName": "customName", + "documentation": "Use Custom Group Name (CustomName) to specify a name for the output group. This value is displayed on the console and can make your job settings JSON more human-readable. It does not affect your outputs. Use up to twelve characters that are either letters, numbers, spaces, or underscores." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the output group" + }, + "OutputGroupSettings": { + "shape": "OutputGroupSettings", + "locationName": "outputGroupSettings", + "documentation": "Output Group settings, including type" + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs", + "documentation": "This object holds groups of encoding settings, one group of settings per output." + } + }, + "documentation": "Group of outputs" + }, + "OutputGroupDetail": { + "type": "structure", + "members": { + "OutputDetails": { + "shape": "__listOfOutputDetail", + "locationName": "outputDetails", + "documentation": "Details about the output" + } + }, + "documentation": "Contains details about the output groups specified in the job settings." + }, + "OutputGroupSettings": { + "type": "structure", + "members": { + "CmafGroupSettings": { + "shape": "CmafGroupSettings", + "locationName": "cmafGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output." + }, + "DashIsoGroupSettings": { + "shape": "DashIsoGroupSettings", + "locationName": "dashIsoGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to DASH_ISO_GROUP_SETTINGS." + }, + "FileGroupSettings": { + "shape": "FileGroupSettings", + "locationName": "fileGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to FILE_GROUP_SETTINGS." + }, + "HlsGroupSettings": { + "shape": "HlsGroupSettings", + "locationName": "hlsGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to HLS_GROUP_SETTINGS." + }, + "MsSmoothGroupSettings": { + "shape": "MsSmoothGroupSettings", + "locationName": "msSmoothGroupSettings", + "documentation": "Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to MS_SMOOTH_GROUP_SETTINGS." + }, + "Type": { + "shape": "OutputGroupType", + "locationName": "type", + "documentation": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF)" + } + }, + "documentation": "Output Group settings, including type" + }, + "OutputGroupType": { + "type": "string", + "documentation": "Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF)", + "enum": [ + "HLS_GROUP_SETTINGS", + "DASH_ISO_GROUP_SETTINGS", + "FILE_GROUP_SETTINGS", + "MS_SMOOTH_GROUP_SETTINGS", + "CMAF_GROUP_SETTINGS" + ] + }, + "OutputSdt": { + "type": "string", + "documentation": "Selects method of inserting SDT information into output stream. \"Follow input SDT\" copies SDT information from input stream to output stream. \"Follow input SDT if present\" copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. Enter \"SDT Manually\" means user will enter the SDT information. \"No SDT\" means output stream will not contain SDT information.", + "enum": [ + "SDT_FOLLOW", + "SDT_FOLLOW_IF_PRESENT", + "SDT_MANUAL", + "SDT_NONE" + ] + }, + "OutputSettings": { + "type": "structure", + "members": { + "HlsSettings": { + "shape": "HlsSettings", + "locationName": "hlsSettings", + "documentation": "Settings for HLS output groups" + } + }, + "documentation": "Specific settings for this type of output." + }, + "Preset": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "An identifier for this resource that is unique within all of AWS." + }, + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "An optional category you create to organize your presets." + }, + "CreatedAt": { + "shape": "__timestampUnix", + "locationName": "createdAt", + "documentation": "The timestamp in epoch seconds for preset creation." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "An optional description you create for each preset." + }, + "LastUpdated": { + "shape": "__timestampUnix", + "locationName": "lastUpdated", + "documentation": "The timestamp in epoch seconds when the preset was last updated." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name you create for each preset. Each name must be unique within your account." + }, + "Settings": { + "shape": "PresetSettings", + "locationName": "settings", + "documentation": "Settings for preset" + }, + "Type": { + "shape": "Type", + "locationName": "type", + "documentation": "A preset can be of two types: system or custom. System or built-in preset can't be modified or deleted by the user." + } + }, + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process.", + "required": [ + "Settings", + "Name" + ] + }, + "PresetListBy": { + "type": "string", + "documentation": "Optional. When you request a list of presets, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by name.", + "enum": [ + "NAME", + "CREATION_DATE", + "SYSTEM" + ] + }, + "PresetSettings": { + "type": "structure", + "members": { + "AudioDescriptions": { + "shape": "__listOfAudioDescription", + "locationName": "audioDescriptions", + "documentation": "(AudioDescriptions) contains groups of audio encoding settings organized by audio codec. Include one instance of (AudioDescriptions) per output. (AudioDescriptions) can contain multiple groups of encoding settings." + }, + "CaptionDescriptions": { + "shape": "__listOfCaptionDescriptionPreset", + "locationName": "captionDescriptions", + "documentation": "Caption settings for this preset. There can be multiple caption settings in a single output." + }, + "ContainerSettings": { + "shape": "ContainerSettings", + "locationName": "containerSettings", + "documentation": "Container specific settings." + }, + "VideoDescription": { + "shape": "VideoDescription", + "locationName": "videoDescription", + "documentation": "(VideoDescription) contains a group of video encoding settings. The specific video settings depend on the video codec that you choose when you specify a value for Video codec (codec). Include one instance of (VideoDescription) per output." + } + }, + "documentation": "Settings for preset" + }, + "PricingPlan": { + "type": "string", + "documentation": "Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment.", + "enum": [ + "ON_DEMAND", + "RESERVED" + ] + }, + "ProresCodecProfile": { + "type": "string", + "documentation": "Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output.", + "enum": [ + "APPLE_PRORES_422", + "APPLE_PRORES_422_HQ", + "APPLE_PRORES_422_LT", + "APPLE_PRORES_422_PROXY" + ] + }, + "ProresFramerateControl": { + "type": "string", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "ProresFramerateConversionAlgorithm": { + "type": "string", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.", + "enum": [ + "DUPLICATE_DROP", + "INTERPOLATE" + ] + }, + "ProresInterlaceMode": { + "type": "string", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.", + "enum": [ + "PROGRESSIVE", + "TOP_FIELD", + "BOTTOM_FIELD", + "FOLLOW_TOP_FIELD", + "FOLLOW_BOTTOM_FIELD" + ] + }, + "ProresParControl": { + "type": "string", + "documentation": "Use (ProresParControl) to specify how the service determines the pixel aspect ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect ratio from the input. To specify a different pixel aspect ratio: Using the console, choose it from the dropdown menu. Using the API, set ProresParControl to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator).", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "ProresSettings": { + "type": "structure", + "members": { + "CodecProfile": { + "shape": "ProresCodecProfile", + "locationName": "codecProfile", + "documentation": "Use Profile (ProResCodecProfile) to specifiy the type of Apple ProRes codec to use for this output." + }, + "FramerateControl": { + "shape": "ProresFramerateControl", + "locationName": "framerateControl", + "documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job sepecification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator." + }, + "FramerateConversionAlgorithm": { + "shape": "ProresFramerateConversionAlgorithm", + "locationName": "framerateConversionAlgorithm", + "documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateDenominator", + "documentation": "Frame rate denominator." + }, + "FramerateNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "framerateNumerator", + "documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator." + }, + "InterlaceMode": { + "shape": "ProresInterlaceMode", + "locationName": "interlaceMode", + "documentation": "Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type.\n - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\".\n - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose." + }, + "ParControl": { + "shape": "ProresParControl", + "locationName": "parControl", + "documentation": "Use (ProresParControl) to specify how the service determines the pixel aspect ratio. Set to Follow source (INITIALIZE_FROM_SOURCE) to use the pixel aspect ratio from the input. To specify a different pixel aspect ratio: Using the console, choose it from the dropdown menu. Using the API, set ProresParControl to (SPECIFIED) and provide for (ParNumerator) and (ParDenominator)." + }, + "ParDenominator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integerMin1Max2147483647", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "SlowPal": { + "shape": "ProresSlowPal", + "locationName": "slowPal", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly." + }, + "Telecine": { + "shape": "ProresTelecine", + "locationName": "telecine", + "documentation": "Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player." + } + }, + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES." + }, + "ProresSlowPal": { + "type": "string", + "documentation": "Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "ProresTelecine": { + "type": "string", + "documentation": "Only use Telecine (ProresTelecine) when you set Framerate (Framerate) to 29.970. Set Telecine (ProresTelecine) to Hard (hard) to produce a 29.97i output from a 23.976 input. Set it to Soft (soft) to produce 23.976 output and leave converstion to the player.", + "enum": [ + "NONE", + "HARD" + ] + }, + "Queue": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "An identifier for this resource that is unique within all of AWS." + }, + "CreatedAt": { + "shape": "__timestampUnix", + "locationName": "createdAt", + "documentation": "The timestamp in epoch seconds for when you created the queue." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "An optional description that you create for each queue." + }, + "LastUpdated": { + "shape": "__timestampUnix", + "locationName": "lastUpdated", + "documentation": "The timestamp in epoch seconds for when you most recently updated the queue." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name that you create for each queue. Each name must be unique within your account." + }, + "PricingPlan": { + "shape": "PricingPlan", + "locationName": "pricingPlan", + "documentation": "Specifies whether the pricing plan for the queue is on-demand or reserved. For on-demand, you pay per minute, billed in increments of .01 minute. For reserved, you pay for the transcoding capacity of the entire queue, regardless of how much or how little you use it. Reserved pricing requires a 12-month commitment." + }, + "ProgressingJobsCount": { + "shape": "__integer", + "locationName": "progressingJobsCount", + "documentation": "The estimated number of jobs with a PROGRESSING status." + }, + "ReservationPlan": { + "shape": "ReservationPlan", + "locationName": "reservationPlan", + "documentation": "Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues." + }, + "Status": { + "shape": "QueueStatus", + "locationName": "status", + "documentation": "Queues can be ACTIVE or PAUSED. If you pause a queue, the service won't begin processing jobs in that queue. Jobs that are running when you pause the queue continue to run until they finish or result in an error." + }, + "SubmittedJobsCount": { + "shape": "__integer", + "locationName": "submittedJobsCount", + "documentation": "The estimated number of jobs with a SUBMITTED status." + }, + "Type": { + "shape": "Type", + "locationName": "type", + "documentation": "Specifies whether this on-demand queue is system or custom. System queues are built in. You can't modify or delete system queues. You can create and modify custom queues." + } + }, + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html.", + "required": [ + "Name" + ] + }, + "QueueListBy": { + "type": "string", + "documentation": "Optional. When you request a list of queues, you can choose to list them alphabetically by NAME or chronologically by CREATION_DATE. If you don't specify, the service will list them by creation date.", + "enum": [ + "NAME", + "CREATION_DATE" + ] + }, + "QueueStatus": { + "type": "string", + "documentation": "Queues can be ACTIVE or PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause a queue continue to run until they finish or result in an error.", + "enum": [ + "ACTIVE", + "PAUSED" + ] + }, + "QueueTransition": { + "type": "structure", + "members": { + "DestinationQueue": { + "shape": "__string", + "locationName": "destinationQueue", + "documentation": "The queue that the job was on after the transition." + }, + "SourceQueue": { + "shape": "__string", + "locationName": "sourceQueue", + "documentation": "The queue that the job was on before the transition." + }, + "Timestamp": { + "shape": "__timestampUnix", + "locationName": "timestamp", + "documentation": "The time, in Unix epoch format, that the job moved from the source queue to the destination queue." + } + }, + "documentation": "Description of the source and destination queues between which the job has moved, along with the timestamp of the move" + }, + "Rectangle": { + "type": "structure", + "members": { + "Height": { + "shape": "__integerMin2Max2147483647", + "locationName": "height", + "documentation": "Height of rectangle in pixels. Specify only even numbers." + }, + "Width": { + "shape": "__integerMin2Max2147483647", + "locationName": "width", + "documentation": "Width of rectangle in pixels. Specify only even numbers." + }, + "X": { + "shape": "__integerMin0Max2147483647", + "locationName": "x", + "documentation": "The distance, in pixels, between the rectangle and the left edge of the video frame. Specify only even numbers." + }, + "Y": { + "shape": "__integerMin0Max2147483647", + "locationName": "y", + "documentation": "The distance, in pixels, between the rectangle and the top edge of the video frame. Specify only even numbers." + } + }, + "documentation": "Use Rectangle to identify a specific area of the video frame." + }, + "RemixSettings": { + "type": "structure", + "members": { + "ChannelMapping": { + "shape": "ChannelMapping", + "locationName": "channelMapping", + "documentation": "Channel mapping (ChannelMapping) contains the group of fields that hold the remixing value for each channel. Units are in dB. Acceptable values are within the range from -60 (mute) through 6. A setting of 0 passes the input channel unchanged to the output channel (no attenuation or amplification)." + }, + "ChannelsIn": { + "shape": "__integerMin1Max64", + "locationName": "channelsIn", + "documentation": "Specify the number of audio channels from your input that you want to use in your output. With remixing, you might combine or split the data in these channels, so the number of channels in your final output might be different." + }, + "ChannelsOut": { + "shape": "__integerMin1Max64", + "locationName": "channelsOut", + "documentation": "Specify the number of channels in this output after remixing. Valid values: 1, 2, 4, 6, 8... 64. (1 and even numbers to 64.)" + } + }, + "documentation": "Use Manual audio remixing (RemixSettings) to adjust audio levels for each audio channel in each output of your job. With audio remixing, you can output more or fewer audio channels than your input audio source provides." + }, + "RenewalType": { + "type": "string", + "documentation": "Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term.", + "enum": [ + "AUTO_RENEW", + "EXPIRE" + ] + }, + "ReservationPlan": { + "type": "structure", + "members": { + "Commitment": { + "shape": "Commitment", + "locationName": "commitment", + "documentation": "The length of the term of your reserved queue pricing plan commitment." + }, + "ExpiresAt": { + "shape": "__timestampUnix", + "locationName": "expiresAt", + "documentation": "The timestamp in epoch seconds for when the current pricing plan term for this reserved queue expires." + }, + "PurchasedAt": { + "shape": "__timestampUnix", + "locationName": "purchasedAt", + "documentation": "The timestamp in epoch seconds for when you set up the current pricing plan for this reserved queue." + }, + "RenewalType": { + "shape": "RenewalType", + "locationName": "renewalType", + "documentation": "Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term." + }, + "ReservedSlots": { + "shape": "__integer", + "locationName": "reservedSlots", + "documentation": "Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. When you increase this number, you extend your existing commitment with a new 12-month commitment for a larger number of RTS. The new commitment begins when you purchase the additional capacity. You can't decrease the number of RTS in your reserved queue." + }, + "Status": { + "shape": "ReservationPlanStatus", + "locationName": "status", + "documentation": "Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED." + } + }, + "documentation": "Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues." + }, + "ReservationPlanSettings": { + "type": "structure", + "members": { + "Commitment": { + "shape": "Commitment", + "locationName": "commitment", + "documentation": "The length of the term of your reserved queue pricing plan commitment." + }, + "RenewalType": { + "shape": "RenewalType", + "locationName": "renewalType", + "documentation": "Specifies whether the term of your reserved queue pricing plan is automatically extended (AUTO_RENEW) or expires (EXPIRE) at the end of the term. When your term is auto renewed, you extend your commitment by 12 months from the auto renew date. You can cancel this commitment." + }, + "ReservedSlots": { + "shape": "__integer", + "locationName": "reservedSlots", + "documentation": "Specifies the number of reserved transcode slots (RTS) for this queue. The number of RTS determines how many jobs the queue can process in parallel; each RTS can process one job at a time. You can't decrease the number of RTS in your reserved queue. You can increase the number of RTS by extending your existing commitment with a new 12-month commitment for the larger number. The new commitment begins when you purchase the additional capacity. You can't cancel your commitment or revert to your original commitment after you increase the capacity." + } + }, + "documentation": "Details about the pricing plan for your reserved queue. Required for reserved queues and not applicable to on-demand queues.", + "required": [ + "Commitment", + "ReservedSlots", + "RenewalType" + ] + }, + "ReservationPlanStatus": { + "type": "string", + "documentation": "Specifies whether the pricing plan for your reserved queue is ACTIVE or EXPIRED.", + "enum": [ + "ACTIVE", + "EXPIRED" + ] + }, + "ResourceTags": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Amazon Resource Name (ARN) of the resource." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "The tags for the resource." + } + }, + "documentation": "The Amazon Resource Name (ARN) and tags for an AWS Elemental MediaConvert resource." + }, + "RespondToAfd": { + "type": "string", + "documentation": "Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output.", + "enum": [ + "NONE", + "RESPOND", + "PASSTHROUGH" + ] + }, + "S3DestinationAccessControl": { + "type": "structure", + "members": { + "CannedAcl": { + "shape": "S3ObjectCannedAcl", + "locationName": "cannedAcl", + "documentation": "Choose an Amazon S3 canned ACL for MediaConvert to apply to this output." + } + }, + "documentation": "Optional. Have MediaConvert automatically apply Amazon S3 access control for the outputs in this output group. When you don't use this setting, S3 automatically applies the default access control list PRIVATE." + }, + "S3DestinationSettings": { + "type": "structure", + "members": { + "AccessControl": { + "shape": "S3DestinationAccessControl", + "locationName": "accessControl", + "documentation": "Optional. Have MediaConvert automatically apply Amazon S3 access control for the outputs in this output group. When you don't use this setting, S3 automatically applies the default access control list PRIVATE." + }, + "Encryption": { + "shape": "S3EncryptionSettings", + "locationName": "encryption", + "documentation": "Settings for how your job outputs are encrypted as they are uploaded to Amazon S3." + } + }, + "documentation": "Settings associated with S3 destination" + }, + "S3EncryptionSettings": { + "type": "structure", + "members": { + "EncryptionType": { + "shape": "S3ServerSideEncryptionType", + "locationName": "encryptionType", + "documentation": "Specify how you want your data keys managed. AWS uses data keys to encrypt your content. AWS also encrypts the data keys themselves, using a customer master key (CMK), and then stores the encrypted data keys alongside your encrypted content. Use this setting to specify which AWS service manages the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). If you want your master key to be managed by AWS Key Management Service (KMS), choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with Amazon S3 to encrypt your data keys. You can optionally choose to specify a different, customer managed CMK. Do so by specifying the Amazon Resource Name (ARN) of the key for the setting KMS ARN (kmsKeyArn)." + }, + "KmsKeyArn": { + "shape": "__stringPatternArnAwsUsGovCnKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912", + "locationName": "kmsKeyArn", + "documentation": "Optionally, specify the customer master key (CMK) that you want to use to encrypt the data key that AWS uses to encrypt your output content. Enter the Amazon Resource Name (ARN) of the CMK. To use this setting, you must also set Server-side encryption (S3ServerSideEncryptionType) to AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). If you set Server-side encryption to AWS KMS but don't specify a CMK here, AWS uses the AWS managed CMK associated with Amazon S3." + } + }, + "documentation": "Settings for how your job outputs are encrypted as they are uploaded to Amazon S3." + }, + "S3ObjectCannedAcl": { + "type": "string", + "documentation": "Choose an Amazon S3 canned ACL for MediaConvert to apply to this output.", + "enum": [ + "PUBLIC_READ", + "AUTHENTICATED_READ", + "BUCKET_OWNER_READ", + "BUCKET_OWNER_FULL_CONTROL" + ] + }, + "S3ServerSideEncryptionType": { + "type": "string", + "documentation": "Specify how you want your data keys managed. AWS uses data keys to encrypt your content. AWS also encrypts the data keys themselves, using a customer master key (CMK), and then stores the encrypted data keys alongside your encrypted content. Use this setting to specify which AWS service manages the CMK. For simplest set up, choose Amazon S3 (SERVER_SIDE_ENCRYPTION_S3). If you want your master key to be managed by AWS Key Management Service (KMS), choose AWS KMS (SERVER_SIDE_ENCRYPTION_KMS). By default, when you choose AWS KMS, KMS uses the AWS managed customer master key (CMK) associated with Amazon S3 to encrypt your data keys. You can optionally choose to specify a different, customer managed CMK. Do so by specifying the Amazon Resource Name (ARN) of the key for the setting KMS ARN (kmsKeyArn).", + "enum": [ + "SERVER_SIDE_ENCRYPTION_S3", + "SERVER_SIDE_ENCRYPTION_KMS" + ] + }, + "ScalingBehavior": { + "type": "string", + "documentation": "Specify how the service handles outputs that have a different aspect ratio from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the service stretch your video image to fit. Keep the setting Default (DEFAULT) to have the service letterbox your video instead. This setting overrides any value that you specify for the setting Selection placement (position) in this output.", + "enum": [ + "DEFAULT", + "STRETCH_TO_OUTPUT" + ] + }, + "SccDestinationFramerate": { + "type": "string", + "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a frame rate that matches the frame rate of the associated video. If the video frame rate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME).", + "enum": [ + "FRAMERATE_23_97", + "FRAMERATE_24", + "FRAMERATE_25", + "FRAMERATE_29_97_DROPFRAME", + "FRAMERATE_29_97_NON_DROPFRAME" + ] + }, + "SccDestinationSettings": { + "type": "structure", + "members": { + "Framerate": { + "shape": "SccDestinationFramerate", + "locationName": "framerate", + "documentation": "Set Framerate (SccDestinationFramerate) to make sure that the captions and the video are synchronized in the output. Specify a frame rate that matches the frame rate of the associated video. If the video frame rate is 29.97, choose 29.97 dropframe (FRAMERATE_29_97_DROPFRAME) only if the video has video_insertion=true and drop_frame_timecode=true; otherwise, choose 29.97 non-dropframe (FRAMERATE_29_97_NON_DROPFRAME)." + } + }, + "documentation": "Settings for SCC caption output." + }, + "SimulateReservedQueue": { + "type": "string", + "documentation": "Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default.", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "SpekeKeyProvider": { + "type": "structure", + "members": { + "CertificateArn": { + "shape": "__stringPatternArnAwsUsGovAcm", + "locationName": "certificateArn", + "documentation": "If you want your key provider to encrypt the content keys that it provides to MediaConvert, set up a certificate with a master key using AWS Certificate Manager. Specify the certificate's Amazon Resource Name (ARN) here." + }, + "ResourceId": { + "shape": "__string", + "locationName": "resourceId", + "documentation": "Specify the resource ID that your SPEKE-compliant key provider uses to identify this content." + }, + "SystemIds": { + "shape": "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12", + "locationName": "systemIds", + "documentation": "Relates to SPEKE implementation. DRM system identifiers. DASH output groups support a max of two system ids. Other group types support one system id. See\n https://dashif.org/identifiers/content_protection/ for more details." + }, + "Url": { + "shape": "__stringPatternHttps", + "locationName": "url", + "documentation": "Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content." + } + }, + "documentation": "If your output group type is HLS, DASH, or Microsoft Smooth, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is CMAF, use the SpekeKeyProviderCmaf settings instead." + }, + "SpekeKeyProviderCmaf": { + "type": "structure", + "members": { + "CertificateArn": { + "shape": "__stringPatternArnAwsUsGovAcm", + "locationName": "certificateArn", + "documentation": "If you want your key provider to encrypt the content keys that it provides to MediaConvert, set up a certificate with a master key using AWS Certificate Manager. Specify the certificate's Amazon Resource Name (ARN) here." + }, + "DashSignaledSystemIds": { + "shape": "__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12", + "locationName": "dashSignaledSystemIds", + "documentation": "Specify the DRM system IDs that you want signaled in the DASH manifest that MediaConvert creates as part of this CMAF package. The DASH manifest can currently signal up to three system IDs. For more information, see https://dashif.org/identifiers/content_protection/." + }, + "HlsSignaledSystemIds": { + "shape": "__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12", + "locationName": "hlsSignaledSystemIds", + "documentation": "Specify the DRM system ID that you want signaled in the HLS manifest that MediaConvert creates as part of this CMAF package. The HLS manifest can currently signal only one system ID. For more information, see https://dashif.org/identifiers/content_protection/." + }, + "ResourceId": { + "shape": "__stringPatternW", + "locationName": "resourceId", + "documentation": "Specify the resource ID that your SPEKE-compliant key provider uses to identify this content." + }, + "Url": { + "shape": "__stringPatternHttps", + "locationName": "url", + "documentation": "Specify the URL to the key server that your SPEKE-compliant DRM key provider uses to provide keys for encrypting your content." + } + }, + "documentation": "If your output group type is CMAF, use these settings when doing DRM encryption with a SPEKE-compliant key provider. If your output group type is HLS, DASH, or Microsoft Smooth, use the SpekeKeyProvider settings instead." + }, + "StaticKeyProvider": { + "type": "structure", + "members": { + "KeyFormat": { + "shape": "__stringPatternIdentityAZaZ26AZaZ09163", + "locationName": "keyFormat", + "documentation": "Relates to DRM implementation. Sets the value of the KEYFORMAT attribute. Must be 'identity' or a reverse DNS string. May be omitted to indicate an implicit value of 'identity'." + }, + "KeyFormatVersions": { + "shape": "__stringPatternDD", + "locationName": "keyFormatVersions", + "documentation": "Relates to DRM implementation. Either a single positive integer version value or a slash delimited list of version values (1/2/3)." + }, + "StaticKeyValue": { + "shape": "__stringPatternAZaZ0932", + "locationName": "staticKeyValue", + "documentation": "Relates to DRM implementation. Use a 32-character hexidecimal string to specify Key Value (StaticKeyValue)." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "Relates to DRM implementation. The location of the license server used for protecting content." + } + }, + "documentation": "Use these settings to set up encryption with a static key provider." + }, + "StatusUpdateInterval": { + "type": "string", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error.", + "enum": [ + "SECONDS_10", + "SECONDS_12", + "SECONDS_15", + "SECONDS_20", + "SECONDS_30", + "SECONDS_60", + "SECONDS_120", + "SECONDS_180", + "SECONDS_240", + "SECONDS_300", + "SECONDS_360", + "SECONDS_420", + "SECONDS_480", + "SECONDS_540", + "SECONDS_600" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Amazon Resource Name (ARN) of the resource that you want to tag. To get the ARN, send a GET request with the resource name." + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "The tags that you want to add to the resource. You can tag resources with a key-value pair or with only a key." + } + }, + "required": [ + "Arn", + "Tags" + ] + }, + "TagResourceResponse": { + "type": "structure", + "members": { + } + }, + "TeletextDestinationSettings": { + "type": "structure", + "members": { + "PageNumber": { + "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", + "locationName": "pageNumber", + "documentation": "Set pageNumber to the Teletext page number for the destination captions for this output. This value must be a three-digit hexadecimal string; strings ending in -FF are invalid. If you are passing through the entire set of Teletext data, do not use this field." + }, + "PageTypes": { + "shape": "__listOfTeletextPageType", + "locationName": "pageTypes", + "documentation": "Specify the page types for this Teletext page. If you don't specify a value here, the service sets the page type to the default value Subtitle (PAGE_TYPE_SUBTITLE). If you pass through the entire set of Teletext data, don't use this field. When you pass through a set of Teletext pages, your output has the same page types as your input." + } + }, + "documentation": "Settings for Teletext caption output" + }, + "TeletextPageType": { + "type": "string", + "documentation": "A page type as defined in the standard ETSI EN 300 468, Table 94", + "enum": [ + "PAGE_TYPE_INITIAL", + "PAGE_TYPE_SUBTITLE", + "PAGE_TYPE_ADDL_INFO", + "PAGE_TYPE_PROGRAM_SCHEDULE", + "PAGE_TYPE_HEARING_IMPAIRED_SUBTITLE" + ] + }, + "TeletextSourceSettings": { + "type": "structure", + "members": { + "PageNumber": { + "shape": "__stringMin3Max3Pattern1809aFAF09aEAE", + "locationName": "pageNumber", + "documentation": "Use Page Number (PageNumber) to specify the three-digit hexadecimal page number that will be used for Teletext captions. Do not use this setting if you are passing through teletext from the input source to output." + } + }, + "documentation": "Settings specific to Teletext caption sources, including Page number." + }, + "TimecodeBurnin": { + "type": "structure", + "members": { + "FontSize": { + "shape": "__integerMin10Max48", + "locationName": "fontSize", + "documentation": "Use Font Size (FontSize) to set the font size of any burned-in timecode. Valid values are 10, 16, 32, 48." + }, + "Position": { + "shape": "TimecodeBurninPosition", + "locationName": "position", + "documentation": "Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video." + }, + "Prefix": { + "shape": "__stringPattern", + "locationName": "prefix", + "documentation": "Use Prefix (Prefix) to place ASCII characters before any burned-in timecode. For example, a prefix of \"EZ-\" will result in the timecode \"EZ-00:00:00:00\". Provide either the characters themselves or the ASCII code equivalents. The supported range of characters is 0x20 through 0x7e. This includes letters, numbers, and all special characters represented on a standard English keyboard." + } + }, + "documentation": "Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output." + }, + "TimecodeBurninPosition": { + "type": "string", + "documentation": "Use Position (Position) under under Timecode burn-in (TimecodeBurnIn) to specify the location the burned-in timecode on output video.", + "enum": [ + "TOP_CENTER", + "TOP_LEFT", + "TOP_RIGHT", + "MIDDLE_LEFT", + "MIDDLE_CENTER", + "MIDDLE_RIGHT", + "BOTTOM_LEFT", + "BOTTOM_CENTER", + "BOTTOM_RIGHT" + ] + }, + "TimecodeConfig": { + "type": "structure", + "members": { + "Anchor": { + "shape": "__stringPattern010920405090509092", + "locationName": "anchor", + "documentation": "If you use an editing platform that relies on an anchor timecode, use Anchor Timecode (Anchor) to specify a timecode that will match the input video frame to the output video frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF). This setting ignores frame rate conversion. System behavior for Anchor Timecode varies depending on your setting for Source (TimecodeSource). * If Source (TimecodeSource) is set to Specified Start (SPECIFIEDSTART), the first input frame is the specified value in Start Timecode (Start). Anchor Timecode (Anchor) and Start Timecode (Start) are used calculate output timecode. * If Source (TimecodeSource) is set to Start at 0 (ZEROBASED) the first frame is 00:00:00:00. * If Source (TimecodeSource) is set to Embedded (EMBEDDED), the first frame is the timecode value on the first input frame of the input." + }, + "Source": { + "shape": "TimecodeSource", + "locationName": "source", + "documentation": "Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value." + }, + "Start": { + "shape": "__stringPattern010920405090509092", + "locationName": "start", + "documentation": "Only use when you set Source (TimecodeSource) to Specified start (SPECIFIEDSTART). Use Start timecode (Start) to specify the timecode for the initial frame. Use 24-hour format with frame number, (HH:MM:SS:FF) or (HH:MM:SS;FF)." + }, + "TimestampOffset": { + "shape": "__stringPattern0940191020191209301", + "locationName": "timestampOffset", + "documentation": "Only applies to outputs that support program-date-time stamp. Use Timestamp offset (TimestampOffset) to overwrite the timecode date without affecting the time and frame number. Provide the new date as a string in the format \"yyyy-mm-dd\". To use Time stamp offset, you must also enable Insert program-date-time (InsertProgramDateTime) in the output settings. For example, if the date part of your timecodes is 2002-1-25 and you want to change it to one year later, set Timestamp offset (TimestampOffset) to 2003-1-25." + } + }, + "documentation": "These settings control how the service handles timecodes throughout the job. These settings don't affect input clipping." + }, + "TimecodeSource": { + "type": "string", + "documentation": "Use Source (TimecodeSource) to set how timecodes are handled within this job. To make sure that your video, audio, captions, and markers are synchronized and that time-based features, such as image inserter, work correctly, choose the Timecode source option that matches your assets. All timecodes are in a 24-hour format with frame number (HH:MM:SS:FF). * Embedded (EMBEDDED) - Use the timecode that is in the input video. If no embedded timecode is in the source, the service will use Start at 0 (ZEROBASED) instead. * Start at 0 (ZEROBASED) - Set the timecode of the initial frame to 00:00:00:00. * Specified Start (SPECIFIEDSTART) - Set the timecode of the initial frame to a value other than zero. You use Start timecode (Start) to provide this value.", + "enum": [ + "EMBEDDED", + "ZEROBASED", + "SPECIFIEDSTART" + ] + }, + "TimedMetadata": { + "type": "string", + "documentation": "Applies only to HLS outputs. Use this setting to specify whether the service inserts the ID3 timed metadata from the input in this output.", + "enum": [ + "PASSTHROUGH", + "NONE" + ] + }, + "TimedMetadataInsertion": { + "type": "structure", + "members": { + "Id3Insertions": { + "shape": "__listOfId3Insertion", + "locationName": "id3Insertions", + "documentation": "Id3Insertions contains the array of Id3Insertion instances." + } + }, + "documentation": "Enable Timed metadata insertion (TimedMetadataInsertion) to include ID3 tags in your job. To include timed metadata, you must enable it here, enable it in each output container, and specify tags and timecodes in ID3 insertion (Id3Insertion) objects." + }, + "Timing": { + "type": "structure", + "members": { + "FinishTime": { + "shape": "__timestampUnix", + "locationName": "finishTime", + "documentation": "The time, in Unix epoch format, that the transcoding job finished" + }, + "StartTime": { + "shape": "__timestampUnix", + "locationName": "startTime", + "documentation": "The time, in Unix epoch format, that transcoding for the job began." + }, + "SubmitTime": { + "shape": "__timestampUnix", + "locationName": "submitTime", + "documentation": "The time, in Unix epoch format, that you submitted the job." + } + }, + "documentation": "Information about when jobs are submitted, started, and finished is specified in Unix epoch format in seconds." + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 429 + }, + "documentation": "Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests." + }, + "TrackSourceSettings": { + "type": "structure", + "members": { + "TrackNumber": { + "shape": "__integerMin1Max2147483647", + "locationName": "trackNumber", + "documentation": "Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector." + } + }, + "documentation": "Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings." + }, + "TtmlDestinationSettings": { + "type": "structure", + "members": { + "StylePassthrough": { + "shape": "TtmlStylePassthrough", + "locationName": "stylePassthrough", + "documentation": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT) to the TTML output." + } + }, + "documentation": "Settings specific to TTML caption outputs, including Pass style information (TtmlStylePassthrough)." + }, + "TtmlStylePassthrough": { + "type": "string", + "documentation": "Pass through style and position information from a TTML-like input source (TTML, SMPTE-TT) to the TTML output.", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "Type": { + "type": "string", + "enum": [ + "SYSTEM", + "CUSTOM" + ] + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Amazon Resource Name (ARN) of the resource that you want to remove tags from. To get the ARN, send a GET request with the resource name.", + "location": "uri" + }, + "TagKeys": { + "shape": "__listOf__string", + "locationName": "tagKeys", + "documentation": "The keys of the tags that you want to remove from the resource." + } + }, + "required": [ + "Arn" + ] + }, + "UntagResourceResponse": { + "type": "structure", + "members": { + } + }, + "UpdateJobTemplateRequest": { + "type": "structure", + "members": { + "AccelerationSettings": { + "shape": "AccelerationSettings", + "locationName": "accelerationSettings", + "documentation": "Accelerated transcoding can significantly speed up jobs with long, visually complex content. Outputs that use this feature incur pro-tier pricing. For information about feature limitations, see the AWS Elemental MediaConvert User Guide." + }, + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "The new category for the job template, if you are changing it." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "The new description for the job template, if you are changing it." + }, + "HopDestinations": { + "shape": "__listOfHopDestination", + "locationName": "hopDestinations", + "documentation": "Optional list of hop destinations." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the job template you are modifying", + "location": "uri" + }, + "Priority": { + "shape": "__integerMinNegative50Max50", + "locationName": "priority", + "documentation": "Specify the relative priority for this job. In any given queue, the service begins processing the job with the highest value first. When more than one job has the same priority, the service begins processing the job that you submitted first. If you don't specify a priority, the service uses the default value 0." + }, + "Queue": { + "shape": "__string", + "locationName": "queue", + "documentation": "The new queue for the job template, if you are changing it." + }, + "Settings": { + "shape": "JobTemplateSettings", + "locationName": "settings", + "documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." + }, + "StatusUpdateInterval": { + "shape": "StatusUpdateInterval", + "locationName": "statusUpdateInterval", + "documentation": "Specify how often MediaConvert sends STATUS_UPDATE events to Amazon CloudWatch Events. Set the interval, in seconds, between status updates. MediaConvert sends an update at this interval from the time the service begins processing your job to the time it completes the transcode or encounters an error." + } + }, + "required": [ + "Name" + ] + }, + "UpdateJobTemplateResponse": { + "type": "structure", + "members": { + "JobTemplate": { + "shape": "JobTemplate", + "locationName": "jobTemplate", + "documentation": "A job template is a pre-made set of encoding instructions that you can use to quickly create a job." + } + } + }, + "UpdatePresetRequest": { + "type": "structure", + "members": { + "Category": { + "shape": "__string", + "locationName": "category", + "documentation": "The new category for the preset, if you are changing it." + }, + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "The new description for the preset, if you are changing it." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the preset you are modifying.", + "location": "uri" + }, + "Settings": { + "shape": "PresetSettings", + "locationName": "settings", + "documentation": "Settings for preset" + } + }, + "required": [ + "Name" + ] + }, + "UpdatePresetResponse": { + "type": "structure", + "members": { + "Preset": { + "shape": "Preset", + "locationName": "preset", + "documentation": "A preset is a collection of preconfigured media conversion settings that you want MediaConvert to apply to the output during the conversion process." + } + } + }, + "UpdateQueueRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "locationName": "description", + "documentation": "The new description for the queue, if you are changing it." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the queue that you are modifying.", + "location": "uri" + }, + "ReservationPlanSettings": { + "shape": "ReservationPlanSettings", + "locationName": "reservationPlanSettings", + "documentation": "The new details of your pricing plan for your reserved queue. When you set up a new pricing plan to replace an expired one, you enter into another 12-month commitment. When you add capacity to your queue by increasing the number of RTS, you extend the term of your commitment to 12 months from when you add capacity. After you make these commitments, you can't cancel them." + }, + "Status": { + "shape": "QueueStatus", + "locationName": "status", + "documentation": "Pause or activate a queue by changing its status between ACTIVE and PAUSED. If you pause a queue, jobs in that queue won't begin. Jobs that are running when you pause the queue continue to run until they finish or result in an error." + } + }, + "required": [ + "Name" + ] + }, + "UpdateQueueResponse": { + "type": "structure", + "members": { + "Queue": { + "shape": "Queue", + "locationName": "queue", + "documentation": "You can use queues to manage the resources that are available to your AWS account for running multiple transcoding jobs at the same time. If you don't specify a queue, the service sends all jobs through the default queue. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/working-with-queues.html." + } + } + }, + "VideoCodec": { + "type": "string", + "documentation": "Type of video codec", + "enum": [ + "FRAME_CAPTURE", + "AV1", + "H_264", + "H_265", + "MPEG2", + "PRORES" + ] + }, + "VideoCodecSettings": { + "type": "structure", + "members": { + "Av1Settings": { + "shape": "Av1Settings", + "locationName": "av1Settings", + "documentation": "Required when you set Codec, under VideoDescription>CodecSettings to the value AV1." + }, + "Codec": { + "shape": "VideoCodec", + "locationName": "codec", + "documentation": "Specifies the video codec. This must be equal to one of the enum values defined by the object VideoCodec." + }, + "FrameCaptureSettings": { + "shape": "FrameCaptureSettings", + "locationName": "frameCaptureSettings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value FRAME_CAPTURE." + }, + "H264Settings": { + "shape": "H264Settings", + "locationName": "h264Settings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264." + }, + "H265Settings": { + "shape": "H265Settings", + "locationName": "h265Settings", + "documentation": "Settings for H265 codec" + }, + "Mpeg2Settings": { + "shape": "Mpeg2Settings", + "locationName": "mpeg2Settings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2." + }, + "ProresSettings": { + "shape": "ProresSettings", + "locationName": "proresSettings", + "documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES." + } + }, + "documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings" + }, + "VideoDescription": { + "type": "structure", + "members": { + "AfdSignaling": { + "shape": "AfdSignaling", + "locationName": "afdSignaling", + "documentation": "This setting only applies to H.264, H.265, and MPEG2 outputs. Use Insert AFD signaling (AfdSignaling) to specify whether the service includes AFD values in the output video data and what those values are. * Choose None to remove all AFD values from this output. * Choose Fixed to ignore input AFD values and instead encode the value specified in the job. * Choose Auto to calculate output AFD values based on the input AFD scaler data." + }, + "AntiAlias": { + "shape": "AntiAlias", + "locationName": "antiAlias", + "documentation": "The anti-alias filter is automatically applied to all outputs. The service no longer accepts the value DISABLED for AntiAlias. If you specify that in your job, the service will ignore the setting." + }, + "CodecSettings": { + "shape": "VideoCodecSettings", + "locationName": "codecSettings", + "documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings" + }, + "ColorMetadata": { + "shape": "ColorMetadata", + "locationName": "colorMetadata", + "documentation": "Choose Insert (INSERT) for this setting to include color metadata in this output. Choose Ignore (IGNORE) to exclude color metadata from this output. If you don't specify a value, the service sets this to Insert by default." + }, + "Crop": { + "shape": "Rectangle", + "locationName": "crop", + "documentation": "Use Cropping selection (crop) to specify the video area that the service will include in the output video frame." + }, + "DropFrameTimecode": { + "shape": "DropFrameTimecode", + "locationName": "dropFrameTimecode", + "documentation": "Applies only to 29.97 fps outputs. When this feature is enabled, the service will use drop-frame timecode on outputs. If it is not possible to use drop-frame timecode, the system will fall back to non-drop-frame. This setting is enabled by default when Timecode insertion (TimecodeInsertion) is enabled." + }, + "FixedAfd": { + "shape": "__integerMin0Max15", + "locationName": "fixedAfd", + "documentation": "Applies only if you set AFD Signaling(AfdSignaling) to Fixed (FIXED). Use Fixed (FixedAfd) to specify a four-bit AFD value which the service will write on all frames of this video output." + }, + "Height": { + "shape": "__integerMin32Max8192", + "locationName": "height", + "documentation": "Use the Height (Height) setting to define the video resolution height for this output. Specify in pixels. If you don't provide a value here, the service will use the input height." + }, + "Position": { + "shape": "Rectangle", + "locationName": "position", + "documentation": "Use Selection placement (position) to define the video area in your output frame. The area outside of the rectangle that you specify here is black." + }, + "RespondToAfd": { + "shape": "RespondToAfd", + "locationName": "respondToAfd", + "documentation": "Use Respond to AFD (RespondToAfd) to specify how the service changes the video itself in response to AFD values in the input. * Choose Respond to clip the input video frame according to the AFD value, input display aspect ratio, and output display aspect ratio. * Choose Passthrough to include the input AFD values. Do not choose this when AfdSignaling is set to (NONE). A preferred implementation of this workflow is to set RespondToAfd to (NONE) and set AfdSignaling to (AUTO). * Choose None to remove all input AFD values from this output." + }, + "ScalingBehavior": { + "shape": "ScalingBehavior", + "locationName": "scalingBehavior", + "documentation": "Specify how the service handles outputs that have a different aspect ratio from the input aspect ratio. Choose Stretch to output (STRETCH_TO_OUTPUT) to have the service stretch your video image to fit. Keep the setting Default (DEFAULT) to have the service letterbox your video instead. This setting overrides any value that you specify for the setting Selection placement (position) in this output." + }, + "Sharpness": { + "shape": "__integerMin0Max100", + "locationName": "sharpness", + "documentation": "Use Sharpness (Sharpness) setting to specify the strength of anti-aliasing. This setting changes the width of the anti-alias filter kernel used for scaling. Sharpness only applies if your output resolution is different from your input resolution. 0 is the softest setting, 100 the sharpest, and 50 recommended for most content." + }, + "TimecodeInsertion": { + "shape": "VideoTimecodeInsertion", + "locationName": "timecodeInsertion", + "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does." + }, + "VideoPreprocessors": { + "shape": "VideoPreprocessor", + "locationName": "videoPreprocessors", + "documentation": "Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default." + }, + "Width": { + "shape": "__integerMin32Max8192", + "locationName": "width", + "documentation": "Use Width (Width) to define the video resolution width, in pixels, for this output. If you don't provide a value here, the service will use the input width." + } + }, + "documentation": "Settings for video outputs" + }, + "VideoDetail": { + "type": "structure", + "members": { + "HeightInPx": { + "shape": "__integer", + "locationName": "heightInPx", + "documentation": "Height in pixels for the output" + }, + "WidthInPx": { + "shape": "__integer", + "locationName": "widthInPx", + "documentation": "Width in pixels for the output" + } + }, + "documentation": "Contains details about the output's video stream" + }, + "VideoPreprocessor": { + "type": "structure", + "members": { + "ColorCorrector": { + "shape": "ColorCorrector", + "locationName": "colorCorrector", + "documentation": "Enable the Color corrector (ColorCorrector) feature if necessary. Enable or disable this feature for each output individually. This setting is disabled by default." + }, + "Deinterlacer": { + "shape": "Deinterlacer", + "locationName": "deinterlacer", + "documentation": "Use Deinterlacer (Deinterlacer) to produce smoother motion and a clearer picture." + }, + "DolbyVision": { + "shape": "DolbyVision", + "locationName": "dolbyVision", + "documentation": "Enable Dolby Vision feature to produce Dolby Vision compatible video output." + }, + "ImageInserter": { + "shape": "ImageInserter", + "locationName": "imageInserter", + "documentation": "Enable the Image inserter (ImageInserter) feature to include a graphic overlay on your video. Enable or disable this feature for each output individually. This setting is disabled by default." + }, + "NoiseReducer": { + "shape": "NoiseReducer", + "locationName": "noiseReducer", + "documentation": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default." + }, + "TimecodeBurnin": { + "shape": "TimecodeBurnin", + "locationName": "timecodeBurnin", + "documentation": "Timecode burn-in (TimecodeBurnIn)--Burns the output timecode and specified prefix into the output." + } + }, + "documentation": "Find additional transcoding features under Preprocessors (VideoPreprocessors). Enable the features at each output individually. These features are disabled by default." + }, + "VideoSelector": { + "type": "structure", + "members": { + "AlphaBehavior": { + "shape": "AlphaBehavior", + "locationName": "alphaBehavior", + "documentation": "Ignore this setting unless this input is a QuickTime animation with an alpha channel. Use this setting to create separate Key and Fill outputs. In each output, specify which part of the input MediaConvert uses. Leave this setting at the default value DISCARD to delete the alpha channel and preserve the video. Set it to REMAP_TO_LUMA to delete the video and map the alpha channel to the luma channel of your outputs." + }, + "ColorSpace": { + "shape": "ColorSpace", + "locationName": "colorSpace", + "documentation": "If your input video has accurate color space metadata, or if you don't know about color space, leave this set to the default value Follow (FOLLOW). The service will automatically detect your input color space. If your input video has metadata indicating the wrong color space, specify the accurate color space here. If your input video is HDR 10 and the SMPTE ST 2086 Mastering Display Color Volume static metadata isn't present in your video stream, or if that metadata is present but not accurate, choose Force HDR 10 (FORCE_HDR10) here and specify correct values in the input HDR 10 metadata (Hdr10Metadata) settings. For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr." + }, + "ColorSpaceUsage": { + "shape": "ColorSpaceUsage", + "locationName": "colorSpaceUsage", + "documentation": "There are two sources for color metadata, the input file and the job input settings Color space (ColorSpace) and HDR master display information settings(Hdr10Metadata). The Color space usage setting determines which takes precedence. Choose Force (FORCE) to use color metadata from the input job settings. If you don't specify values for those settings, the service defaults to using metadata from your input. FALLBACK - Choose Fallback (FALLBACK) to use color metadata from the source when it is present. If there's no color metadata in your input file, the service defaults to using values you specify in the input settings." + }, + "Hdr10Metadata": { + "shape": "Hdr10Metadata", + "locationName": "hdr10Metadata", + "documentation": "Use these settings to provide HDR 10 metadata that is missing or inaccurate in your input video. Appropriate values vary depending on the input video and must be provided by a color grader. The color grader generates these values during the HDR 10 mastering process. The valid range for each of these settings is 0 to 50,000. Each increment represents 0.00002 in CIE1931 color coordinate. Related settings - When you specify these values, you must also set Color space (ColorSpace) to HDR 10 (HDR10). To specify whether the the values you specify here take precedence over the values in the metadata of your input file, set Color space usage (ColorSpaceUsage). To specify whether color metadata is included in an output, set Color metadata (ColorMetadata). For more information about MediaConvert HDR jobs, see https://docs.aws.amazon.com/console/mediaconvert/hdr." + }, + "Pid": { + "shape": "__integerMin1Max2147483647", + "locationName": "pid", + "documentation": "Use PID (Pid) to select specific video data from an input file. Specify this value as an integer; the system automatically converts it to the hexidecimal value. For example, 257 selects PID 0x101. A PID, or packet identifier, is an identifier for a set of data in an MPEG-2 transport stream container." + }, + "ProgramNumber": { + "shape": "__integerMinNegative2147483648Max2147483647", + "locationName": "programNumber", + "documentation": "Selects a specific program from within a multi-program transport stream. Note that Quad 4K is not currently supported." + }, + "Rotate": { + "shape": "InputRotate", + "locationName": "rotate", + "documentation": "Use Rotate (InputRotate) to specify how the service rotates your video. You can choose automatic rotation or specify a rotation. You can specify a clockwise rotation of 0, 90, 180, or 270 degrees. If your input video container is .mov or .mp4 and your input has rotation metadata, you can choose Automatic to have the service rotate your video according to the rotation specified in the metadata. The rotation must be within one degree of 90, 180, or 270 degrees. If the rotation metadata specifies any other rotation, the service will default to no rotation. By default, the service does no rotation, even if your input video has rotation metadata. The service doesn't pass through rotation metadata." + } + }, + "documentation": "Selector for video." + }, + "VideoTimecodeInsertion": { + "type": "string", + "documentation": "Applies only to H.264, H.265, MPEG2, and ProRes outputs. Only enable Timecode insertion when the input frame rate is identical to the output frame rate. To include timecodes in this output, set Timecode insertion (VideoTimecodeInsertion) to PIC_TIMING_SEI. To leave them out, set it to DISABLED. Default is DISABLED. When the service inserts timecodes in an output, by default, it uses any embedded timecodes from the input. If none are present, the service will set the timecode for the first output frame to zero. To change this default behavior, adjust the settings under Timecode configuration (TimecodeConfig). In the console, these settings are located under Job > Job settings > Timecode configuration. Note - Timecode source under input settings (InputTimecodeSource) does not affect the timecodes that are inserted in the output. Source under Job settings > Timecode configuration (TimecodeSource) does.", + "enum": [ + "DISABLED", + "PIC_TIMING_SEI" + ] + }, + "WavFormat": { + "type": "string", + "documentation": "The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64.", + "enum": [ + "RIFF", + "RF64" + ] + }, + "WavSettings": { + "type": "structure", + "members": { + "BitDepth": { + "shape": "__integerMin16Max24", + "locationName": "bitDepth", + "documentation": "Specify Bit depth (BitDepth), in bits per sample, to choose the encoding quality for this audio track." + }, + "Channels": { + "shape": "__integerMin1Max64", + "locationName": "channels", + "documentation": "Specify the number of channels in this output audio track. Valid values are 1 and even numbers up to 64. For example, 1, 2, 4, 6, and so on, up to 64." + }, + "Format": { + "shape": "WavFormat", + "locationName": "format", + "documentation": "The service defaults to using RIFF for WAV outputs. If your output audio is likely to exceed 4 GB in file size, or if you otherwise need the extended support of the RF64 format, set your output WAV file format to RF64." + }, + "SampleRate": { + "shape": "__integerMin8000Max192000", + "locationName": "sampleRate", + "documentation": "Sample rate in Hz." + } + }, + "documentation": "Required when you set (Codec) under (AudioDescriptions)>(CodecSettings) to the value WAV." + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__doubleMin0": { + "type": "double" + }, + "__doubleMin0Max1": { + "type": "double" + }, + "__doubleMin0Max2147483647": { + "type": "double" + }, + "__doubleMinNegative59Max0": { + "type": "double" + }, + "__doubleMinNegative60Max3": { + "type": "double" + }, + "__doubleMinNegative60MaxNegative1": { + "type": "double" + }, + "__doubleMinNegative6Max3": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin0Max0": { + "type": "integer", + "min": 0, + "max": 0 + }, + "__integerMin0Max1": { + "type": "integer", + "min": 0, + "max": 1 + }, + "__integerMin0Max10": { + "type": "integer", + "min": 0, + "max": 10 + }, + "__integerMin0Max100": { + "type": "integer", + "min": 0, + "max": 100 + }, + "__integerMin0Max1000": { + "type": "integer", + "min": 0, + "max": 1000 + }, + "__integerMin0Max10000": { + "type": "integer", + "min": 0, + "max": 10000 + }, + "__integerMin0Max1152000000": { + "type": "integer", + "min": 0, + "max": 1152000000 + }, + "__integerMin0Max128": { + "type": "integer", + "min": 0, + "max": 128 + }, + "__integerMin0Max1466400000": { + "type": "integer", + "min": 0, + "max": 1466400000 + }, + "__integerMin0Max15": { + "type": "integer", + "min": 0, + "max": 15 + }, + "__integerMin0Max16": { + "type": "integer", + "min": 0, + "max": 16 + }, + "__integerMin0Max2147483647": { + "type": "integer", + "min": 0, + "max": 2147483647 + }, + "__integerMin0Max255": { + "type": "integer", + "min": 0, + "max": 255 + }, + "__integerMin0Max3": { + "type": "integer", + "min": 0, + "max": 3 + }, + "__integerMin0Max30": { + "type": "integer", + "min": 0, + "max": 30 + }, + "__integerMin0Max30000": { + "type": "integer", + "min": 0, + "max": 30000 + }, + "__integerMin0Max3600": { + "type": "integer", + "min": 0, + "max": 3600 + }, + "__integerMin0Max4": { + "type": "integer", + "min": 0, + "max": 4 + }, + "__integerMin0Max47185920": { + "type": "integer", + "min": 0, + "max": 47185920 + }, + "__integerMin0Max500": { + "type": "integer", + "min": 0, + "max": 500 + }, + "__integerMin0Max50000": { + "type": "integer", + "min": 0, + "max": 50000 + }, + "__integerMin0Max65535": { + "type": "integer", + "min": 0, + "max": 65535 + }, + "__integerMin0Max7": { + "type": "integer", + "min": 0, + "max": 7 + }, + "__integerMin0Max8": { + "type": "integer", + "min": 0, + "max": 8 + }, + "__integerMin0Max9": { + "type": "integer", + "min": 0, + "max": 9 + }, + "__integerMin0Max96": { + "type": "integer", + "min": 0, + "max": 96 + }, + "__integerMin0Max99": { + "type": "integer", + "min": 0, + "max": 99 + }, + "__integerMin1000Max1152000000": { + "type": "integer", + "min": 1000, + "max": 1152000000 + }, + "__integerMin1000Max1466400000": { + "type": "integer", + "min": 1000, + "max": 1466400000 + }, + "__integerMin1000Max288000000": { + "type": "integer", + "min": 1000, + "max": 288000000 + }, + "__integerMin1000Max30000": { + "type": "integer", + "min": 1000, + "max": 30000 + }, + "__integerMin1000Max300000000": { + "type": "integer", + "min": 1000, + "max": 300000000 + }, + "__integerMin10Max48": { + "type": "integer", + "min": 10, + "max": 48 + }, + "__integerMin16000Max320000": { + "type": "integer", + "min": 16000, + "max": 320000 + }, + "__integerMin16Max24": { + "type": "integer", + "min": 16, + "max": 24 + }, + "__integerMin1Max1": { + "type": "integer", + "min": 1, + "max": 1 + }, + "__integerMin1Max10": { + "type": "integer", + "min": 1, + "max": 10 + }, + "__integerMin1Max100": { + "type": "integer", + "min": 1, + "max": 100 + }, + "__integerMin1Max10000000": { + "type": "integer", + "min": 1, + "max": 10000000 + }, + "__integerMin1Max1001": { + "type": "integer", + "min": 1, + "max": 1001 + }, + "__integerMin1Max17895697": { + "type": "integer", + "min": 1, + "max": 17895697 + }, + "__integerMin1Max2": { + "type": "integer", + "min": 1, + "max": 2 + }, + "__integerMin1Max20": { + "type": "integer", + "min": 1, + "max": 20 + }, + "__integerMin1Max2147483640": { + "type": "integer", + "min": 1, + "max": 2147483640 + }, + "__integerMin1Max2147483647": { + "type": "integer", + "min": 1, + "max": 2147483647 + }, + "__integerMin1Max31": { + "type": "integer", + "min": 1, + "max": 31 + }, + "__integerMin1Max32": { + "type": "integer", + "min": 1, + "max": 32 + }, + "__integerMin1Max4": { + "type": "integer", + "min": 1, + "max": 4 + }, + "__integerMin1Max6": { + "type": "integer", + "min": 1, + "max": 6 + }, + "__integerMin1Max60000": { + "type": "integer", + "min": 1, + "max": 60000 + }, + "__integerMin1Max64": { + "type": "integer", + "min": 1, + "max": 64 + }, + "__integerMin22050Max48000": { + "type": "integer", + "min": 22050, + "max": 48000 + }, + "__integerMin24Max60000": { + "type": "integer", + "min": 24, + "max": 60000 + }, + "__integerMin25Max10000": { + "type": "integer", + "min": 25, + "max": 10000 + }, + "__integerMin25Max2000": { + "type": "integer", + "min": 25, + "max": 2000 + }, + "__integerMin2Max2147483647": { + "type": "integer", + "min": 2, + "max": 2147483647 + }, + "__integerMin32000Max384000": { + "type": "integer", + "min": 32000, + "max": 384000 + }, + "__integerMin32000Max48000": { + "type": "integer", + "min": 32000, + "max": 48000 + }, + "__integerMin32Max8182": { + "type": "integer", + "min": 32, + "max": 8182 + }, + "__integerMin32Max8192": { + "type": "integer", + "min": 32, + "max": 8192 + }, + "__integerMin384000Max768000": { + "type": "integer", + "min": 384000, + "max": 768000 + }, + "__integerMin48000Max48000": { + "type": "integer", + "min": 48000, + "max": 48000 + }, + "__integerMin6000Max1024000": { + "type": "integer", + "min": 6000, + "max": 1024000 + }, + "__integerMin64000Max640000": { + "type": "integer", + "min": 64000, + "max": 640000 + }, + "__integerMin7Max15": { + "type": "integer", + "min": 7, + "max": 15 + }, + "__integerMin8000Max192000": { + "type": "integer", + "min": 8000, + "max": 192000 + }, + "__integerMin8000Max96000": { + "type": "integer", + "min": 8000, + "max": 96000 + }, + "__integerMin96Max600": { + "type": "integer", + "min": 96, + "max": 600 + }, + "__integerMinNegative1000Max1000": { + "type": "integer", + "min": -1000, + "max": 1000 + }, + "__integerMinNegative180Max180": { + "type": "integer", + "min": -180, + "max": 180 + }, + "__integerMinNegative1Max3": { + "type": "integer", + "min": -1, + "max": 3 + }, + "__integerMinNegative2147483648Max2147483647": { + "type": "integer", + "min": -2147483648, + "max": 2147483647 + }, + "__integerMinNegative2Max3": { + "type": "integer", + "min": -2, + "max": 3 + }, + "__integerMinNegative50Max50": { + "type": "integer", + "min": -50, + "max": 50 + }, + "__integerMinNegative5Max5": { + "type": "integer", + "min": -5, + "max": 5 + }, + "__integerMinNegative60Max6": { + "type": "integer", + "min": -60, + "max": 6 + }, + "__integerMinNegative70Max0": { + "type": "integer", + "min": -70, + "max": 0 + }, + "__listOfAudioDescription": { + "type": "list", + "member": { + "shape": "AudioDescription" + } + }, + "__listOfCaptionDescription": { + "type": "list", + "member": { + "shape": "CaptionDescription" + } + }, + "__listOfCaptionDescriptionPreset": { + "type": "list", + "member": { + "shape": "CaptionDescriptionPreset" + } + }, + "__listOfCmafAdditionalManifest": { + "type": "list", + "member": { + "shape": "CmafAdditionalManifest" + } + }, + "__listOfDashAdditionalManifest": { + "type": "list", + "member": { + "shape": "DashAdditionalManifest" + } + }, + "__listOfEndpoint": { + "type": "list", + "member": { + "shape": "Endpoint" + } + }, + "__listOfHlsAdMarkers": { + "type": "list", + "member": { + "shape": "HlsAdMarkers" + } + }, + "__listOfHlsAdditionalManifest": { + "type": "list", + "member": { + "shape": "HlsAdditionalManifest" + } + }, + "__listOfHlsCaptionLanguageMapping": { + "type": "list", + "member": { + "shape": "HlsCaptionLanguageMapping" + } + }, + "__listOfHopDestination": { + "type": "list", + "member": { + "shape": "HopDestination" + } + }, + "__listOfId3Insertion": { + "type": "list", + "member": { + "shape": "Id3Insertion" + } + }, + "__listOfInput": { + "type": "list", + "member": { + "shape": "Input" + } + }, + "__listOfInputClipping": { + "type": "list", + "member": { + "shape": "InputClipping" + } + }, + "__listOfInputTemplate": { + "type": "list", + "member": { + "shape": "InputTemplate" + } + }, + "__listOfInsertableImage": { + "type": "list", + "member": { + "shape": "InsertableImage" + } + }, + "__listOfJob": { + "type": "list", + "member": { + "shape": "Job" + } + }, + "__listOfJobTemplate": { + "type": "list", + "member": { + "shape": "JobTemplate" + } + }, + "__listOfMsSmoothAdditionalManifest": { + "type": "list", + "member": { + "shape": "MsSmoothAdditionalManifest" + } + }, + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" + } + }, + "__listOfOutputChannelMapping": { + "type": "list", + "member": { + "shape": "OutputChannelMapping" + } + }, + "__listOfOutputDetail": { + "type": "list", + "member": { + "shape": "OutputDetail" + } + }, + "__listOfOutputGroup": { + "type": "list", + "member": { + "shape": "OutputGroup" + } + }, + "__listOfOutputGroupDetail": { + "type": "list", + "member": { + "shape": "OutputGroupDetail" + } + }, + "__listOfPreset": { + "type": "list", + "member": { + "shape": "Preset" + } + }, + "__listOfQueue": { + "type": "list", + "member": { + "shape": "Queue" + } + }, + "__listOfQueueTransition": { + "type": "list", + "member": { + "shape": "QueueTransition" + } + }, + "__listOfTeletextPageType": { + "type": "list", + "member": { + "shape": "TeletextPageType" + } + }, + "__listOf__integerMin1Max2147483647": { + "type": "list", + "member": { + "shape": "__integerMin1Max2147483647" + } + }, + "__listOf__integerMin32Max8182": { + "type": "list", + "member": { + "shape": "__integerMin32Max8182" + } + }, + "__listOf__integerMinNegative60Max6": { + "type": "list", + "member": { + "shape": "__integerMinNegative60Max6" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__listOf__stringMin1": { + "type": "list", + "member": { + "shape": "__stringMin1" + } + }, + "__listOf__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "type": "list", + "member": { + "shape": "__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12" + } + }, + "__listOf__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "type": "list", + "member": { + "shape": "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12" + } + }, + "__listOf__stringPatternS3ASSETMAPXml": { + "type": "list", + "member": { + "shape": "__stringPatternS3ASSETMAPXml" + } + }, + "__mapOfAudioSelector": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "AudioSelector" + } + }, + "__mapOfAudioSelectorGroup": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "AudioSelectorGroup" + } + }, + "__mapOfCaptionSelector": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "CaptionSelector" + } + }, + "__mapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__stringMin0": { + "type": "string", + "min": 0 + }, + "__stringMin1": { + "type": "string", + "min": 1 + }, + "__stringMin11Max11Pattern01D20305D205D": { + "type": "string", + "min": 11, + "max": 11, + "pattern": "^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$" + }, + "__stringMin14Max1285PatternS3Mov09PngHttpsMov09Png": { + "type": "string", + "min": 14, + "max": 1285, + "pattern": "^((s3://(.*)(\\.mov|[0-9]+\\.png))|(https?://(.*)(\\.mov|[0-9]+\\.png)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringMin14PatternS3BmpBMPPngPNGHttpsBmpBMPPngPNG": { + "type": "string", + "min": 14, + "pattern": "^((s3://(.*?)\\.(bmp|BMP|png|PNG))|(https?://(.*?)\\.(bmp|BMP|png|PNG)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringMin14PatternS3BmpBMPPngPNGTgaTGAHttpsBmpBMPPngPNGTgaTGA": { + "type": "string", + "min": 14, + "pattern": "^((s3://(.*?)\\.(bmp|BMP|png|PNG|tga|TGA))|(https?://(.*?)\\.(bmp|BMP|png|PNG|tga|TGA)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringMin14PatternS3SccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMIHttpsSccSCCTtmlTTMLDfxpDFXPStlSTLSrtSRTXmlXMLSmiSMI": { + "type": "string", + "min": 14, + "pattern": "^((s3://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI))|(https?://(.*?)\\.(scc|SCC|ttml|TTML|dfxp|DFXP|stl|STL|srt|SRT|xml|XML|smi|SMI)(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringMin16Max24PatternAZaZ0922AZaZ0916": { + "type": "string", + "min": 16, + "max": 24, + "pattern": "^[A-Za-z0-9+\\/]{22}==$|^[A-Za-z0-9+\\/]{16}$" + }, + "__stringMin1Max256": { + "type": "string", + "min": 1, + "max": 256 + }, + "__stringMin24Max512PatternAZaZ0902": { + "type": "string", + "min": 24, + "max": 512, + "pattern": "^[A-Za-z0-9+\\/]+={0,2}$" + }, + "__stringMin32Max32Pattern09aFAF32": { + "type": "string", + "min": 32, + "max": 32, + "pattern": "^[0-9a-fA-F]{32}$" + }, + "__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "type": "string", + "min": 36, + "max": 36, + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "__stringMin3Max3Pattern1809aFAF09aEAE": { + "type": "string", + "min": 3, + "max": 3, + "pattern": "^[1-8][0-9a-fA-F][0-9a-eA-E]$" + }, + "__stringMin3Max3PatternAZaZ3": { + "type": "string", + "min": 3, + "max": 3, + "pattern": "^[A-Za-z]{3}$" + }, + "__stringMin9Max19PatternAZ26EastWestCentralNorthSouthEastWest1912": { + "type": "string", + "min": 9, + "max": 19, + "pattern": "^[a-z-]{2,6}-(east|west|central|((north|south)(east|west)?))-[1-9]{1,2}$" + }, + "__stringPattern": { + "type": "string", + "pattern": "^[ -~]+$" + }, + "__stringPattern010920405090509092": { + "type": "string", + "pattern": "^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}$" + }, + "__stringPattern01D20305D205D": { + "type": "string", + "pattern": "^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$" + }, + "__stringPattern0940191020191209301": { + "type": "string", + "pattern": "^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$" + }, + "__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12": { + "type": "string", + "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" + }, + "__stringPatternAZaZ0902": { + "type": "string", + "pattern": "^[A-Za-z0-9+\\/]+={0,2}$" + }, + "__stringPatternAZaZ0932": { + "type": "string", + "pattern": "^[A-Za-z0-9]{32}$" + }, + "__stringPatternAZaZ23AZaZ": { + "type": "string", + "pattern": "^[A-Za-z]{2,3}(-[A-Za-z-]+)?$" + }, + "__stringPatternArnAwsUsGovAcm": { + "type": "string", + "pattern": "^arn:aws(-us-gov)?:acm:" + }, + "__stringPatternArnAwsUsGovCnKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912": { + "type": "string", + "pattern": "^arn:aws(-us-gov|-cn)?:kms:[a-z-]{2,6}-(east|west|central|((north|south)(east|west)?))-[1-9]{1,2}:\\d{12}:key/[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" + }, + "__stringPatternDD": { + "type": "string", + "pattern": "^(\\d+(\\/\\d+)*)$" + }, + "__stringPatternHttps": { + "type": "string", + "pattern": "^https:\\/\\/" + }, + "__stringPatternIdentityAZaZ26AZaZ09163": { + "type": "string", + "pattern": "^(identity|[A-Za-z]{2,6}(\\.[A-Za-z0-9-]{1,63})+)$" + }, + "__stringPatternS3": { + "type": "string", + "pattern": "^s3:\\/\\/" + }, + "__stringPatternS3ASSETMAPXml": { + "type": "string", + "pattern": "^s3:\\/\\/.*\\/(ASSETMAP.xml)?$" + }, + "__stringPatternS3MM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEE": { + "type": "string", + "pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringPatternS3MM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMOOVVMMTTSSMM2TTWWMMVVAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLL": { + "type": "string", + "pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vV]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + }, + "__stringPatternSNManifestConfirmConditionNotificationNS": { + "type": "string", + "pattern": "^\\s*<(.|\\n)*ManifestConfirmConditionNotification(.|\\n)*>\\s*$" + }, + "__stringPatternSNSignalProcessingNotificationNS": { + "type": "string", + "pattern": "^\\s*<(.|\\n)*SignalProcessingNotification(.|\\n)*>\\s*$" + }, + "__stringPatternW": { + "type": "string", + "pattern": "^[\\w-]+$" + }, + "__stringPatternWS": { + "type": "string", + "pattern": "^[\\w\\s]*$" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + } + }, + "documentation": "AWS Elemental MediaConvert" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/medialive/2017-10-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/medialive/2017-10-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "ListInputs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Inputs" + }, + "ListChannels": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Channels" + }, + "ListInputSecurityGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InputSecurityGroups" + }, + "ListOfferings": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Offerings" + }, + "ListReservations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Reservations" + }, + "DescribeSchedule": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ScheduleActions" + }, + "ListMultiplexPrograms": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "MultiplexPrograms" + }, + "ListMultiplexes": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Multiplexes" + }, + "ListInputDevices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InputDevices" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/medialive/2017-10-14/service-2.json python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/service-2.json --- python-botocore-1.4.70/botocore/data/medialive/2017-10-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,13662 @@ +{ + "metadata": { + "apiVersion": "2017-10-14", + "endpointPrefix": "medialive", + "signingName": "medialive", + "serviceFullName": "AWS Elemental MediaLive", + "serviceId": "MediaLive", + "protocol": "rest-json", + "uid": "medialive-2017-10-14", + "signatureVersion": "v4", + "serviceAbbreviation": "MediaLive", + "jsonVersion": "1.1" + }, + "operations": { + "BatchUpdateSchedule": { + "name": "BatchUpdateSchedule", + "http": { + "method": "PUT", + "requestUri": "/prod/channels/{channelId}/schedule", + "responseCode": 200 + }, + "input": { + "shape": "BatchUpdateScheduleRequest" + }, + "output": { + "shape": "BatchUpdateScheduleResponse", + "documentation": "Successful update of the schedule." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The update schedule request failed validation." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update the channel schedule." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The specified channel id does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on update schedule calls." + } + ], + "documentation": "Update a channel schedule" + }, + "CreateChannel": { + "name": "CreateChannel", + "http": { + "method": "POST", + "requestUri": "/prod/channels", + "responseCode": 201 + }, + "input": { + "shape": "CreateChannelRequest" + }, + "output": { + "shape": "CreateChannelResponse", + "documentation": "Creation of channel is started." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The Channel failed validation and could not be created." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to create the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on create channel calls to channel service." + }, + { + "shape": "ConflictException", + "documentation": "The channel is unable to create due to an issue with channel resources." + } + ], + "documentation": "Creates a new channel" + }, + "CreateInput": { + "name": "CreateInput", + "http": { + "method": "POST", + "requestUri": "/prod/inputs", + "responseCode": 201 + }, + "input": { + "shape": "CreateInputRequest" + }, + "output": { + "shape": "CreateInputResponse", + "documentation": "Successfully created the input." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit exceeded" + } + ], + "documentation": "Create an input" + }, + "CreateInputSecurityGroup": { + "name": "CreateInputSecurityGroup", + "http": { + "method": "POST", + "requestUri": "/prod/inputSecurityGroups", + "responseCode": 200 + }, + "input": { + "shape": "CreateInputSecurityGroupRequest" + }, + "output": { + "shape": "CreateInputSecurityGroupResponse", + "documentation": "Successfully created the Input Security Group." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request to create an Input Security Group was Invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Server Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to create an Input Security Group" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit Exceeded Error" + } + ], + "documentation": "Creates a Input Security Group" + }, + "CreateMultiplex": { + "name": "CreateMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes", + "responseCode": 201 + }, + "input": { + "shape": "CreateMultiplexRequest" + }, + "output": { + "shape": "CreateMultiplexResponse", + "documentation": "Creation of the multiplex is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The Multiplex failed validation and could not be created." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to create the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on create multiplex calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex is unable to create due to an issue with multiplex resources." + } + ], + "documentation": "Create a new multiplex." + }, + "CreateMultiplexProgram": { + "name": "CreateMultiplexProgram", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/programs", + "responseCode": 201 + }, + "input": { + "shape": "CreateMultiplexProgramRequest" + }, + "output": { + "shape": "CreateMultiplexProgramResponse", + "documentation": "Creation of the program is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The Multiplex program failed validation and could not be created." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to create a program." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on create multiplex program calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex program is unable to create due to an issue with multiplex resources." + } + ], + "documentation": "Create a new program in the multiplex." + }, + "CreateTags": { + "name": "CreateTags", + "http": { + "method": "POST", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "CreateTagsRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found." + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Create tags for a resource" + }, + "DeleteChannel": { + "name": "DeleteChannel", + "http": { + "method": "DELETE", + "requestUri": "/prod/channels/{channelId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteChannelRequest" + }, + "output": { + "shape": "DeleteChannelResponse", + "documentation": "Deletion was successfully initiated." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to delete the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're requesting to delete does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete channel calls to channel service." + }, + { + "shape": "ConflictException", + "documentation": "The channel is unable to delete due to an issue with channel resources." + } + ], + "documentation": "Starts deletion of channel. The associated outputs are also deleted." + }, + "DeleteInput": { + "name": "DeleteInput", + "http": { + "method": "DELETE", + "requestUri": "/prod/inputs/{inputId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteInputRequest" + }, + "output": { + "shape": "DeleteInputResponse", + "documentation": "Successful deletion" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "Input not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit exceeded" + }, + { + "shape": "ConflictException", + "documentation": "Resource conflict" + } + ], + "documentation": "Deletes the input end point" + }, + "DeleteInputSecurityGroup": { + "name": "DeleteInputSecurityGroup", + "http": { + "method": "DELETE", + "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteInputSecurityGroupRequest" + }, + "output": { + "shape": "DeleteInputSecurityGroupResponse", + "documentation": "An Input Security Group" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request to delete the Input Security Group was Invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Server Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to delete this Input Security Group" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "Input Security Group not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit Exceeded Error" + } + ], + "documentation": "Deletes an Input Security Group" + }, + "DeleteMultiplex": { + "name": "DeleteMultiplex", + "http": { + "method": "DELETE", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteMultiplexRequest" + }, + "output": { + "shape": "DeleteMultiplexResponse", + "documentation": "Deletion of the multiplex is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to delete the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The multiplex that you are trying to delete doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete multiplex calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex is unable to delete due to an issue with multiplex resources." + } + ], + "documentation": "Delete a multiplex. The multiplex must be idle." + }, + "DeleteMultiplexProgram": { + "name": "DeleteMultiplexProgram", + "http": { + "method": "DELETE", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteMultiplexProgramRequest" + }, + "output": { + "shape": "DeleteMultiplexProgramResponse", + "documentation": "Deletion of the program is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to delete the multiplex program." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The program that you are trying to delete doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete multiplex program calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex program is unable to delete due to an issue with multiplex resources." + } + ], + "documentation": "Delete a program from a multiplex." + }, + "DeleteReservation": { + "name": "DeleteReservation", + "http": { + "method": "DELETE", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteReservationRequest" + }, + "output": { + "shape": "DeleteReservationResponse", + "documentation": "Deleted reservation" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to delete reservation" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Reservation you're attempting to delete does not exist" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete reservation request" + }, + { + "shape": "ConflictException", + "documentation": "The reservation could not be deleted because it is currently active." + } + ], + "documentation": "Delete an expired reservation." + }, + "DeleteSchedule": { + "name": "DeleteSchedule", + "http": { + "method": "DELETE", + "requestUri": "/prod/channels/{channelId}/schedule", + "responseCode": 200 + }, + "input": { + "shape": "DeleteScheduleRequest" + }, + "output": { + "shape": "DeleteScheduleResponse", + "documentation": "Successful delete of the schedule." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request to delete the schedule on this channel was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to delete the channel schedule." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The specified channel does not exist to have its schedule deleted." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on delete schedule calls." + } + ], + "documentation": "Delete all schedule actions on a channel." + }, + "DeleteTags": { + "name": "DeleteTags", + "http": { + "method": "DELETE", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteTagsRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found." + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Removes tags for a resource" + }, + "DescribeChannel": { + "name": "DescribeChannel", + "http": { + "method": "GET", + "requestUri": "/prod/channels/{channelId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeChannelRequest" + }, + "output": { + "shape": "DescribeChannelResponse", + "documentation": "Channel details" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to describe the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're requesting to describe does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe channel calls to channel service." + } + ], + "documentation": "Gets details about a channel" + }, + "DescribeInput": { + "name": "DescribeInput", + "http": { + "method": "GET", + "requestUri": "/prod/inputs/{inputId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeInputRequest" + }, + "output": { + "shape": "DescribeInputResponse", + "documentation": "Input details" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "Input not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit exceeded" + } + ], + "documentation": "Produces details about an input" + }, + "DescribeInputDevice": { + "name": "DescribeInputDevice", + "http": { + "method": "GET", + "requestUri": "/prod/inputDevices/{inputDeviceId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeInputDeviceRequest" + }, + "output": { + "shape": "DescribeInputDeviceResponse", + "documentation": "Details for the input device." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to describe the input device." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error." + }, + { + "shape": "NotFoundException", + "documentation": "The input device you're requesting to describe does not exist. Check the ID." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe calls to the input device service." + } + ], + "documentation": "Gets the details for the input device" + }, + "DescribeInputSecurityGroup": { + "name": "DescribeInputSecurityGroup", + "http": { + "method": "GET", + "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeInputSecurityGroupRequest" + }, + "output": { + "shape": "DescribeInputSecurityGroupResponse", + "documentation": "An Input Security Group" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request to describe an Input Security Group was Invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Server Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to describe this Input Security Group" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "Input Security Group not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit Exceeded Error" + } + ], + "documentation": "Produces a summary of an Input Security Group" + }, + "DescribeMultiplex": { + "name": "DescribeMultiplex", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMultiplexRequest" + }, + "output": { + "shape": "DescribeMultiplexResponse", + "documentation": "Details for one multiplex." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to describe the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The multiplex that you are trying to describe doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe multiplex calls to multiplex service." + } + ], + "documentation": "Gets details about a multiplex." + }, + "DescribeMultiplexProgram": { + "name": "DescribeMultiplexProgram", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeMultiplexProgramRequest" + }, + "output": { + "shape": "DescribeMultiplexProgramResponse", + "documentation": "The details of one program." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to describe the multiplex program." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "MediaLive can't describe the program. The multiplex or the program that you specified doesn\u2019t exist. Check the IDs and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe multiplex program calls to multiplex service." + } + ], + "documentation": "Get the details for a program in a multiplex." + }, + "DescribeOffering": { + "name": "DescribeOffering", + "http": { + "method": "GET", + "requestUri": "/prod/offerings/{offeringId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeOfferingRequest" + }, + "output": { + "shape": "DescribeOfferingResponse", + "documentation": "Offering details" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to describe offering" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Offering you're attempting to describe does not exist" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe offering request" + } + ], + "documentation": "Get details for an offering." + }, + "DescribeReservation": { + "name": "DescribeReservation", + "http": { + "method": "GET", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeReservationRequest" + }, + "output": { + "shape": "DescribeReservationResponse", + "documentation": "Reservation details" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to describe reservation" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Reservation you're attempting to describe does not exist" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe reservation request" + } + ], + "documentation": "Get details for a reservation." + }, + "DescribeSchedule": { + "name": "DescribeSchedule", + "http": { + "method": "GET", + "requestUri": "/prod/channels/{channelId}/schedule", + "responseCode": 200 + }, + "input": { + "shape": "DescribeScheduleRequest" + }, + "output": { + "shape": "DescribeScheduleResponse", + "documentation": "An array of channel schedule actions." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to describe the channel schedule." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're requesting a schedule describe for does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on describe schedule calls." + } + ], + "documentation": "Get a channel schedule" + }, + "ListChannels": { + "name": "ListChannels", + "http": { + "method": "GET", + "requestUri": "/prod/channels", + "responseCode": 200 + }, + "input": { + "shape": "ListChannelsRequest" + }, + "output": { + "shape": "ListChannelsResponse", + "documentation": "An array of channels" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to list channels." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list channel calls to channel service." + } + ], + "documentation": "Produces list of channels that have been created" + }, + "ListInputDevices": { + "name": "ListInputDevices", + "http": { + "method": "GET", + "requestUri": "/prod/inputDevices", + "responseCode": 200 + }, + "input": { + "shape": "ListInputDevicesRequest" + }, + "output": { + "shape": "ListInputDevicesResponse", + "documentation": "An array of input devices." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to list input devices." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list devices calls to the input device service." + } + ], + "documentation": "List input devices" + }, + "ListInputSecurityGroups": { + "name": "ListInputSecurityGroups", + "http": { + "method": "GET", + "requestUri": "/prod/inputSecurityGroups", + "responseCode": 200 + }, + "input": { + "shape": "ListInputSecurityGroupsRequest" + }, + "output": { + "shape": "ListInputSecurityGroupsResponse", + "documentation": "An array of Input Security Groups" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request to list Input Security Groups was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Server Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to call ListInputSecurityGroups" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit Exceeded Error" + } + ], + "documentation": "Produces a list of Input Security Groups for an account" + }, + "ListInputs": { + "name": "ListInputs", + "http": { + "method": "GET", + "requestUri": "/prod/inputs", + "responseCode": 200 + }, + "input": { + "shape": "ListInputsRequest" + }, + "output": { + "shape": "ListInputsResponse", + "documentation": "An array of inputs" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Limit exceeded" + } + ], + "documentation": "Produces list of inputs that have been created" + }, + "ListMultiplexPrograms": { + "name": "ListMultiplexPrograms", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes/{multiplexId}/programs", + "responseCode": 200 + }, + "input": { + "shape": "ListMultiplexProgramsRequest" + }, + "output": { + "shape": "ListMultiplexProgramsResponse", + "documentation": "An array of the programs for one multiplex." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to list multiplex programs." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "MediaLive can't provide the list of programs. The multiplex that you specified doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list multiplex calls to multiplex service." + } + ], + "documentation": "List the programs that currently exist for a specific multiplex." + }, + "ListMultiplexes": { + "name": "ListMultiplexes", + "http": { + "method": "GET", + "requestUri": "/prod/multiplexes", + "responseCode": 200 + }, + "input": { + "shape": "ListMultiplexesRequest" + }, + "output": { + "shape": "ListMultiplexesResponse", + "documentation": "An array of multiplexes." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to list multiplexes." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list multiplex calls to multiplex service." + } + ], + "documentation": "Retrieve a list of the existing multiplexes." + }, + "ListOfferings": { + "name": "ListOfferings", + "http": { + "method": "GET", + "requestUri": "/prod/offerings", + "responseCode": 200 + }, + "input": { + "shape": "ListOfferingsRequest" + }, + "output": { + "shape": "ListOfferingsResponse", + "documentation": "List of offerings" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to list offerings" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list offerings request" + } + ], + "documentation": "List offerings available for purchase." + }, + "ListReservations": { + "name": "ListReservations", + "http": { + "method": "GET", + "requestUri": "/prod/reservations", + "responseCode": 200 + }, + "input": { + "shape": "ListReservationsRequest" + }, + "output": { + "shape": "ListReservationsResponse", + "documentation": "List of reservations" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to list reservations" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on list reservations request" + } + ], + "documentation": "List purchased reservations." + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/prod/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "An array of tags" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "The arn was not found" + }, + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "Access was denied" + } + ], + "documentation": "Produces list of tags that have been created for a resource" + }, + "PurchaseOffering": { + "name": "PurchaseOffering", + "http": { + "method": "POST", + "requestUri": "/prod/offerings/{offeringId}/purchase", + "responseCode": 201 + }, + "input": { + "shape": "PurchaseOfferingRequest" + }, + "output": { + "shape": "PurchaseOfferingResponse", + "documentation": "Purchased reservation" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to purchase the offering" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Offering you're attempting to purchase does not exist" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on purchase offering request" + }, + { + "shape": "ConflictException", + "documentation": "Offering purchase prevented by service resource issue" + } + ], + "documentation": "Purchase an offering and create a reservation." + }, + "StartChannel": { + "name": "StartChannel", + "http": { + "method": "POST", + "requestUri": "/prod/channels/{channelId}/start", + "responseCode": 200 + }, + "input": { + "shape": "StartChannelRequest" + }, + "output": { + "shape": "StartChannelResponse", + "documentation": "Successfully initiated start of the channel." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to start the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're requesting to start does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on start channel calls to channel service." + }, + { + "shape": "ConflictException", + "documentation": "The channel is unable to start due to an issue with channel resources." + } + ], + "documentation": "Starts an existing channel" + }, + "StartMultiplex": { + "name": "StartMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/start", + "responseCode": 202 + }, + "input": { + "shape": "StartMultiplexRequest" + }, + "output": { + "shape": "StartMultiplexResponse", + "documentation": "The action to start the multiplex is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to start the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The multiplex that you are trying to start doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on start multiplex calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex is unable to start due to an issue with multiplex resources." + } + ], + "documentation": "Start (run) the multiplex. Starting the multiplex does not start the channels. You must explicitly start each channel." + }, + "StopChannel": { + "name": "StopChannel", + "http": { + "method": "POST", + "requestUri": "/prod/channels/{channelId}/stop", + "responseCode": 200 + }, + "input": { + "shape": "StopChannelRequest" + }, + "output": { + "shape": "StopChannelResponse", + "documentation": "Successfully initiated stop of the channel." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to stop the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're requesting to stop does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on stop channel calls to channel service." + }, + { + "shape": "ConflictException", + "documentation": "The channel is unable to stop due to an issue with channel resources." + } + ], + "documentation": "Stops a running channel" + }, + "StopMultiplex": { + "name": "StopMultiplex", + "http": { + "method": "POST", + "requestUri": "/prod/multiplexes/{multiplexId}/stop", + "responseCode": 202 + }, + "input": { + "shape": "StopMultiplexRequest" + }, + "output": { + "shape": "StopMultiplexResponse", + "documentation": "The action to stop the multiplex is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to stop the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The multiplex that you are trying to stop doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on stop multiplex calls to multiplex service." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex is unable to stop due to an issue with multiplex resources." + } + ], + "documentation": "Stops a running multiplex. If the multiplex isn't running, this action has no effect." + }, + "UpdateChannel": { + "name": "UpdateChannel", + "http": { + "method": "PUT", + "requestUri": "/prod/channels/{channelId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateChannelRequest" + }, + "output": { + "shape": "UpdateChannelResponse", + "documentation": "Channel is successfully updated." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The channel configuration failed validation and could not be updated." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update the channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "ConflictException", + "documentation": "The channel is unable to update due to an issue with channel resources." + } + ], + "documentation": "Updates a channel." + }, + "UpdateChannelClass": { + "name": "UpdateChannelClass", + "http": { + "method": "PUT", + "requestUri": "/prod/channels/{channelId}/channelClass", + "responseCode": 200 + }, + "input": { + "shape": "UpdateChannelClassRequest" + }, + "output": { + "shape": "UpdateChannelClassResponse", + "documentation": "The class of the channel has been successfully updated." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request to update the channel class was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The channel configuration failed validation when attempting to update the channel class." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update the class of this channel." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The channel you're trying to update the class on does not exist." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on update channel class calls." + }, + { + "shape": "ConflictException", + "documentation": "The channel class cannot be updated due to an issue with channel resources." + } + ], + "documentation": "Changes the class of the channel." + }, + "UpdateInput": { + "name": "UpdateInput", + "http": { + "method": "PUT", + "requestUri": "/prod/inputs/{inputId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateInputRequest" + }, + "output": { + "shape": "UpdateInputResponse", + "documentation": "The input update is successfully initiated." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request to update the input was invalid." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Service Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to update an input." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The input was not found." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "ConflictException", + "documentation": "The input was unable to be updated at this time due to an issue with input resources." + } + ], + "documentation": "Updates an input." + }, + "UpdateInputDevice": { + "name": "UpdateInputDevice", + "http": { + "method": "PUT", + "requestUri": "/prod/inputDevices/{inputDeviceId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateInputDeviceRequest" + }, + "output": { + "shape": "UpdateInputDeviceResponse", + "documentation": "Input device update is in progress." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "Input device failed validation and could not be created." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update the input device." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error." + }, + { + "shape": "NotFoundException", + "documentation": "The input device you're requesting to does not exist. Check the ID." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error." + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded on update calls to the input device service." + } + ], + "documentation": "Updates the parameters for the input device." + }, + "UpdateInputSecurityGroup": { + "name": "UpdateInputSecurityGroup", + "http": { + "method": "PUT", + "requestUri": "/prod/inputSecurityGroups/{inputSecurityGroupId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateInputSecurityGroupRequest" + }, + "output": { + "shape": "UpdateInputSecurityGroupResponse", + "documentation": "Successfully initiated the update of the Input Security Group." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "The request to update the Input Security Group was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal Server Error" + }, + { + "shape": "ForbiddenException", + "documentation": "The requester does not have permission to update an Input Security Group" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error" + }, + { + "shape": "NotFoundException", + "documentation": "The Input Security Group was not found." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error" + }, + { + "shape": "ConflictException", + "documentation": "The Input Security Group was unable to be updated due to an issue with input security group resources." + } + ], + "documentation": "Update an Input Security Group's Whilelists." + }, + "UpdateMultiplex": { + "name": "UpdateMultiplex", + "http": { + "method": "PUT", + "requestUri": "/prod/multiplexes/{multiplexId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMultiplexRequest" + }, + "output": { + "shape": "UpdateMultiplexResponse", + "documentation": "The update to the multiplex has succeeded." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The multiplex configuration failed validation and could not be updated." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to update the multiplex." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "The multiplex that you are trying to update doesn\u2019t exist. Check the ID and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex is unable to update due to an issue with multiplex resources." + } + ], + "documentation": "Updates a multiplex." + }, + "UpdateMultiplexProgram": { + "name": "UpdateMultiplexProgram", + "http": { + "method": "PUT", + "requestUri": "/prod/multiplexes/{multiplexId}/programs/{programName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateMultiplexProgramRequest" + }, + "output": { + "shape": "UpdateMultiplexProgramResponse", + "documentation": "The update to the program has succeeded." + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "MediaLive can't process your request because of a problem in the request. Please check your request form and syntax." + }, + { + "shape": "UnprocessableEntityException", + "documentation": "The multiplex program failed validation and could not be updated." + }, + { + "shape": "InternalServerErrorException", + "documentation": "Unexpected internal service error." + }, + { + "shape": "ForbiddenException", + "documentation": "You don't have permission to update the multiplex program." + }, + { + "shape": "BadGatewayException", + "documentation": "Bad Gateway Error." + }, + { + "shape": "NotFoundException", + "documentation": "MediaLive can't update the program. The multiplex or the program that you specified doesn\u2019t exist. Check the IDs and try again." + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway Timeout Error." + }, + { + "shape": "ConflictException", + "documentation": "The multiplex program is unable to update due to an issue with multiplex resources." + } + ], + "documentation": "Update a program in a multiplex." + }, + "UpdateReservation": { + "name": "UpdateReservation", + "http": { + "method": "PUT", + "requestUri": "/prod/reservations/{reservationId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateReservationRequest" + }, + "output": { + "shape": "UpdateReservationResponse", + "documentation": "Updated reservation" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "This request was invalid" + }, + { + "shape": "InternalServerErrorException", + "documentation": "Internal service error" + }, + { + "shape": "ForbiddenException", + "documentation": "You do not have permission to update reservation" + }, + { + "shape": "BadGatewayException", + "documentation": "Bad gateway error" + }, + { + "shape": "NotFoundException", + "documentation": "Reservation not found" + }, + { + "shape": "GatewayTimeoutException", + "documentation": "Gateway timeout error" + }, + { + "shape": "TooManyRequestsException", + "documentation": "Request limit exceeded" + }, + { + "shape": "ConflictException", + "documentation": "The reservation could not be updated" + } + ], + "documentation": "Update reservation." + } + }, + "shapes": { + "AacCodingMode": { + "type": "string", + "documentation": "Aac Coding Mode", + "enum": [ + "AD_RECEIVER_MIX", + "CODING_MODE_1_0", + "CODING_MODE_1_1", + "CODING_MODE_2_0", + "CODING_MODE_5_1" + ] + }, + "AacInputType": { + "type": "string", + "documentation": "Aac Input Type", + "enum": [ + "BROADCASTER_MIXED_AD", + "NORMAL" + ] + }, + "AacProfile": { + "type": "string", + "documentation": "Aac Profile", + "enum": [ + "HEV1", + "HEV2", + "LC" + ] + }, + "AacRateControlMode": { + "type": "string", + "documentation": "Aac Rate Control Mode", + "enum": [ + "CBR", + "VBR" + ] + }, + "AacRawFormat": { + "type": "string", + "documentation": "Aac Raw Format", + "enum": [ + "LATM_LOAS", + "NONE" + ] + }, + "AacSettings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__double", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second. Valid values depend on rate control mode and profile." + }, + "CodingMode": { + "shape": "AacCodingMode", + "locationName": "codingMode", + "documentation": "Mono, Stereo, or 5.1 channel layout. Valid values depend on rate control mode and profile. The adReceiverMix setting receives a stereo description plus control track and emits a mono AAC encode of the description track, with control data emitted in the PES header as per ETSI TS 101 154 Annex E." + }, + "InputType": { + "shape": "AacInputType", + "locationName": "inputType", + "documentation": "Set to \"broadcasterMixedAd\" when input contains pre-mixed main audio + AD (narration) as a stereo pair. The Audio Type field (audioType) will be set to 3, which signals to downstream systems that this stream contains \"broadcaster mixed AD\". Note that the input received by the encoder must contain pre-mixed audio; the encoder does not perform the mixing. The values in audioTypeControl and audioType (in AudioDescription) are ignored when set to broadcasterMixedAd.\n\nLeave set to \"normal\" when input does not contain pre-mixed audio + AD." + }, + "Profile": { + "shape": "AacProfile", + "locationName": "profile", + "documentation": "AAC Profile." + }, + "RateControlMode": { + "shape": "AacRateControlMode", + "locationName": "rateControlMode", + "documentation": "Rate Control Mode." + }, + "RawFormat": { + "shape": "AacRawFormat", + "locationName": "rawFormat", + "documentation": "Sets LATM / LOAS AAC output for raw containers." + }, + "SampleRate": { + "shape": "__double", + "locationName": "sampleRate", + "documentation": "Sample rate in Hz. Valid values depend on rate control mode and profile." + }, + "Spec": { + "shape": "AacSpec", + "locationName": "spec", + "documentation": "Use MPEG-2 AAC audio instead of MPEG-4 AAC audio for raw or MPEG-2 Transport Stream containers." + }, + "VbrQuality": { + "shape": "AacVbrQuality", + "locationName": "vbrQuality", + "documentation": "VBR Quality Level - Only used if rateControlMode is VBR." + } + }, + "documentation": "Aac Settings" + }, + "AacSpec": { + "type": "string", + "documentation": "Aac Spec", + "enum": [ + "MPEG2", + "MPEG4" + ] + }, + "AacVbrQuality": { + "type": "string", + "documentation": "Aac Vbr Quality", + "enum": [ + "HIGH", + "LOW", + "MEDIUM_HIGH", + "MEDIUM_LOW" + ] + }, + "Ac3BitstreamMode": { + "type": "string", + "documentation": "Ac3 Bitstream Mode", + "enum": [ + "COMMENTARY", + "COMPLETE_MAIN", + "DIALOGUE", + "EMERGENCY", + "HEARING_IMPAIRED", + "MUSIC_AND_EFFECTS", + "VISUALLY_IMPAIRED", + "VOICE_OVER" + ] + }, + "Ac3CodingMode": { + "type": "string", + "documentation": "Ac3 Coding Mode", + "enum": [ + "CODING_MODE_1_0", + "CODING_MODE_1_1", + "CODING_MODE_2_0", + "CODING_MODE_3_2_LFE" + ] + }, + "Ac3DrcProfile": { + "type": "string", + "documentation": "Ac3 Drc Profile", + "enum": [ + "FILM_STANDARD", + "NONE" + ] + }, + "Ac3LfeFilter": { + "type": "string", + "documentation": "Ac3 Lfe Filter", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Ac3MetadataControl": { + "type": "string", + "documentation": "Ac3 Metadata Control", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "Ac3Settings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__double", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." + }, + "BitstreamMode": { + "shape": "Ac3BitstreamMode", + "locationName": "bitstreamMode", + "documentation": "Specifies the bitstream mode (bsmod) for the emitted AC-3 stream. See ATSC A/52-2012 for background on these values." + }, + "CodingMode": { + "shape": "Ac3CodingMode", + "locationName": "codingMode", + "documentation": "Dolby Digital coding mode. Determines number of channels." + }, + "Dialnorm": { + "shape": "__integerMin1Max31", + "locationName": "dialnorm", + "documentation": "Sets the dialnorm for the output. If excluded and input audio is Dolby Digital, dialnorm will be passed through." + }, + "DrcProfile": { + "shape": "Ac3DrcProfile", + "locationName": "drcProfile", + "documentation": "If set to filmStandard, adds dynamic range compression signaling to the output bitstream as defined in the Dolby Digital specification." + }, + "LfeFilter": { + "shape": "Ac3LfeFilter", + "locationName": "lfeFilter", + "documentation": "When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid in codingMode32Lfe mode." + }, + "MetadataControl": { + "shape": "Ac3MetadataControl", + "locationName": "metadataControl", + "documentation": "When set to \"followInput\", encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." + } + }, + "documentation": "Ac3 Settings" + }, + "AccessDenied": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for AccessDenied" + }, + "AfdSignaling": { + "type": "string", + "documentation": "Afd Signaling", + "enum": [ + "AUTO", + "FIXED", + "NONE" + ] + }, + "ArchiveContainerSettings": { + "type": "structure", + "members": { + "M2tsSettings": { + "shape": "M2tsSettings", + "locationName": "m2tsSettings" + } + }, + "documentation": "Archive Container Settings" + }, + "ArchiveGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "A directory and base filename where archive files should be written." + }, + "RolloverInterval": { + "shape": "__integerMin1", + "locationName": "rolloverInterval", + "documentation": "Number of seconds to write to archive file before closing and starting a new one." + } + }, + "documentation": "Archive Group Settings", + "required": [ + "Destination" + ] + }, + "ArchiveOutputSettings": { + "type": "structure", + "members": { + "ContainerSettings": { + "shape": "ArchiveContainerSettings", + "locationName": "containerSettings", + "documentation": "Settings specific to the container type of the file." + }, + "Extension": { + "shape": "__string", + "locationName": "extension", + "documentation": "Output file extension. If excluded, this will be auto-selected from the container type." + }, + "NameModifier": { + "shape": "__string", + "locationName": "nameModifier", + "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." + } + }, + "documentation": "Archive Output Settings", + "required": [ + "ContainerSettings" + ] + }, + "AribDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Arib Destination Settings" + }, + "AribSourceSettings": { + "type": "structure", + "members": { + }, + "documentation": "Arib Source Settings" + }, + "AudioChannelMapping": { + "type": "structure", + "members": { + "InputChannelLevels": { + "shape": "__listOfInputChannelLevel", + "locationName": "inputChannelLevels", + "documentation": "Indices and gain values for each input channel that should be remixed into this output channel." + }, + "OutputChannel": { + "shape": "__integerMin0Max7", + "locationName": "outputChannel", + "documentation": "The index of the output channel being produced." + } + }, + "documentation": "Audio Channel Mapping", + "required": [ + "OutputChannel", + "InputChannelLevels" + ] + }, + "AudioCodecSettings": { + "type": "structure", + "members": { + "AacSettings": { + "shape": "AacSettings", + "locationName": "aacSettings" + }, + "Ac3Settings": { + "shape": "Ac3Settings", + "locationName": "ac3Settings" + }, + "Eac3Settings": { + "shape": "Eac3Settings", + "locationName": "eac3Settings" + }, + "Mp2Settings": { + "shape": "Mp2Settings", + "locationName": "mp2Settings" + }, + "PassThroughSettings": { + "shape": "PassThroughSettings", + "locationName": "passThroughSettings" + } + }, + "documentation": "Audio Codec Settings" + }, + "AudioDescription": { + "type": "structure", + "members": { + "AudioNormalizationSettings": { + "shape": "AudioNormalizationSettings", + "locationName": "audioNormalizationSettings", + "documentation": "Advanced audio normalization settings." + }, + "AudioSelectorName": { + "shape": "__string", + "locationName": "audioSelectorName", + "documentation": "The name of the AudioSelector used as the source for this AudioDescription." + }, + "AudioType": { + "shape": "AudioType", + "locationName": "audioType", + "documentation": "Applies only if audioTypeControl is useConfigured. The values for audioType are defined in ISO-IEC 13818-1." + }, + "AudioTypeControl": { + "shape": "AudioDescriptionAudioTypeControl", + "locationName": "audioTypeControl", + "documentation": "Determines how audio type is determined.\n followInput: If the input contains an ISO 639 audioType, then that value is passed through to the output. If the input contains no ISO 639 audioType, the value in Audio Type is included in the output.\n useConfigured: The value in Audio Type is included in the output.\nNote that this field and audioType are both ignored if inputType is broadcasterMixedAd." + }, + "CodecSettings": { + "shape": "AudioCodecSettings", + "locationName": "codecSettings", + "documentation": "Audio codec settings." + }, + "LanguageCode": { + "shape": "__stringMin3Max3", + "locationName": "languageCode", + "documentation": "Indicates the language of the audio output track. Only used if languageControlMode is useConfigured, or there is no ISO 639 language code specified in the input." + }, + "LanguageCodeControl": { + "shape": "AudioDescriptionLanguageCodeControl", + "locationName": "languageCodeControl", + "documentation": "Choosing followInput will cause the ISO 639 language code of the output to follow the ISO 639 language code of the input. The languageCode will be used when useConfigured is set, or when followInput is selected but there is no ISO 639 language code specified by the input." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of this AudioDescription. Outputs will use this name to uniquely identify this AudioDescription. Description names should be unique within this Live Event." + }, + "RemixSettings": { + "shape": "RemixSettings", + "locationName": "remixSettings", + "documentation": "Settings that control how input audio channels are remixed into the output audio channels." + }, + "StreamName": { + "shape": "__string", + "locationName": "streamName", + "documentation": "Used for MS Smooth and Apple HLS outputs. Indicates the name displayed by the player (eg. English, or Director Commentary)." + } + }, + "documentation": "Audio Description", + "required": [ + "AudioSelectorName", + "Name" + ] + }, + "AudioDescriptionAudioTypeControl": { + "type": "string", + "documentation": "Audio Description Audio Type Control", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "AudioDescriptionLanguageCodeControl": { + "type": "string", + "documentation": "Audio Description Language Code Control", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "AudioLanguageSelection": { + "type": "structure", + "members": { + "LanguageCode": { + "shape": "__string", + "locationName": "languageCode", + "documentation": "Selects a specific three-letter language code from within an audio source." + }, + "LanguageSelectionPolicy": { + "shape": "AudioLanguageSelectionPolicy", + "locationName": "languageSelectionPolicy", + "documentation": "When set to \"strict\", the transport stream demux strictly identifies audio streams by their language descriptor. If a PMT update occurs such that an audio stream matching the initially selected language is no longer present then mute will be encoded until the language returns. If \"loose\", then on a PMT update the demux will choose another audio stream in the program with the same stream type if it can't find one with the same language." + } + }, + "documentation": "Audio Language Selection", + "required": [ + "LanguageCode" + ] + }, + "AudioLanguageSelectionPolicy": { + "type": "string", + "documentation": "Audio Language Selection Policy", + "enum": [ + "LOOSE", + "STRICT" + ] + }, + "AudioNormalizationAlgorithm": { + "type": "string", + "documentation": "Audio Normalization Algorithm", + "enum": [ + "ITU_1770_1", + "ITU_1770_2" + ] + }, + "AudioNormalizationAlgorithmControl": { + "type": "string", + "documentation": "Audio Normalization Algorithm Control", + "enum": [ + "CORRECT_AUDIO" + ] + }, + "AudioNormalizationSettings": { + "type": "structure", + "members": { + "Algorithm": { + "shape": "AudioNormalizationAlgorithm", + "locationName": "algorithm", + "documentation": "Audio normalization algorithm to use. itu17701 conforms to the CALM Act specification, itu17702 conforms to the EBU R-128 specification." + }, + "AlgorithmControl": { + "shape": "AudioNormalizationAlgorithmControl", + "locationName": "algorithmControl", + "documentation": "When set to correctAudio the output audio is corrected using the chosen algorithm. If set to measureOnly, the audio will be measured but not adjusted." + }, + "TargetLkfs": { + "shape": "__doubleMinNegative59Max0", + "locationName": "targetLkfs", + "documentation": "Target LKFS(loudness) to adjust volume to. If no value is entered, a default value will be used according to the chosen algorithm. The CALM Act (1770-1) recommends a target of -24 LKFS. The EBU R-128 specification (1770-2) recommends a target of -23 LKFS." + } + }, + "documentation": "Audio Normalization Settings" + }, + "AudioOnlyHlsSegmentType": { + "type": "string", + "documentation": "Audio Only Hls Segment Type", + "enum": [ + "AAC", + "FMP4" + ] + }, + "AudioOnlyHlsSettings": { + "type": "structure", + "members": { + "AudioGroupId": { + "shape": "__string", + "locationName": "audioGroupId", + "documentation": "Specifies the group to which the audio Rendition belongs." + }, + "AudioOnlyImage": { + "shape": "InputLocation", + "locationName": "audioOnlyImage", + "documentation": "Optional. Specifies the .jpg or .png image to use as the cover art for an audio-only output. We recommend a low bit-size file because the image increases the output audio bandwidth.\n\nThe image is attached to the audio as an ID3 tag, frame type APIC, picture type 0x10, as per the \"ID3 tag version 2.4.0 - Native Frames\" standard." + }, + "AudioTrackType": { + "shape": "AudioOnlyHlsTrackType", + "locationName": "audioTrackType", + "documentation": "Four types of audio-only tracks are supported:\n\nAudio-Only Variant Stream\nThe client can play back this audio-only stream instead of video in low-bandwidth scenarios. Represented as an EXT-X-STREAM-INF in the HLS manifest.\n\nAlternate Audio, Auto Select, Default\nAlternate rendition that the client should try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=YES, AUTOSELECT=YES\n\nAlternate Audio, Auto Select, Not Default\nAlternate rendition that the client may try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=YES\n\nAlternate Audio, not Auto Select\nAlternate rendition that the client will not try to play back by default. Represented as an EXT-X-MEDIA in the HLS manifest with DEFAULT=NO, AUTOSELECT=NO" + }, + "SegmentType": { + "shape": "AudioOnlyHlsSegmentType", + "locationName": "segmentType", + "documentation": "Specifies the segment type." + } + }, + "documentation": "Audio Only Hls Settings" + }, + "AudioOnlyHlsTrackType": { + "type": "string", + "documentation": "Audio Only Hls Track Type", + "enum": [ + "ALTERNATE_AUDIO_AUTO_SELECT", + "ALTERNATE_AUDIO_AUTO_SELECT_DEFAULT", + "ALTERNATE_AUDIO_NOT_AUTO_SELECT", + "AUDIO_ONLY_VARIANT_STREAM" + ] + }, + "AudioPidSelection": { + "type": "structure", + "members": { + "Pid": { + "shape": "__integerMin0Max8191", + "locationName": "pid", + "documentation": "Selects a specific PID from within a source." + } + }, + "documentation": "Audio Pid Selection", + "required": [ + "Pid" + ] + }, + "AudioSelector": { + "type": "structure", + "members": { + "Name": { + "shape": "__stringMin1", + "locationName": "name", + "documentation": "The name of this AudioSelector. AudioDescriptions will use this name to uniquely identify this Selector. Selector names should be unique per input." + }, + "SelectorSettings": { + "shape": "AudioSelectorSettings", + "locationName": "selectorSettings", + "documentation": "The audio selector settings." + } + }, + "documentation": "Audio Selector", + "required": [ + "Name" + ] + }, + "AudioSelectorSettings": { + "type": "structure", + "members": { + "AudioLanguageSelection": { + "shape": "AudioLanguageSelection", + "locationName": "audioLanguageSelection" + }, + "AudioPidSelection": { + "shape": "AudioPidSelection", + "locationName": "audioPidSelection" + }, + "AudioTrackSelection": { + "shape": "AudioTrackSelection", + "locationName": "audioTrackSelection" + } + }, + "documentation": "Audio Selector Settings" + }, + "AudioTrack": { + "type": "structure", + "members": { + "Track": { + "shape": "__integerMin1", + "locationName": "track", + "documentation": "1-based integer value that maps to a specific audio track" + } + }, + "documentation": "Audio Track", + "required": [ + "Track" + ] + }, + "AudioTrackSelection": { + "type": "structure", + "members": { + "Tracks": { + "shape": "__listOfAudioTrack", + "locationName": "tracks", + "documentation": "Selects one or more unique audio tracks from within an mp4 source." + } + }, + "documentation": "Audio Track Selection", + "required": [ + "Tracks" + ] + }, + "AudioType": { + "type": "string", + "documentation": "Audio Type", + "enum": [ + "CLEAN_EFFECTS", + "HEARING_IMPAIRED", + "UNDEFINED", + "VISUAL_IMPAIRED_COMMENTARY" + ] + }, + "AuthenticationScheme": { + "type": "string", + "documentation": "Authentication Scheme", + "enum": [ + "AKAMAI", + "COMMON" + ] + }, + "AutomaticInputFailoverSettings": { + "type": "structure", + "members": { + "InputPreference": { + "shape": "InputPreference", + "locationName": "inputPreference", + "documentation": "Input preference when deciding which input to make active when a previously failed input has recovered." + }, + "SecondaryInputId": { + "shape": "__string", + "locationName": "secondaryInputId", + "documentation": "The input ID of the secondary input in the automatic input failover pair." + } + }, + "documentation": "The settings for Automatic Input Failover.", + "required": [ + "SecondaryInputId" + ] + }, + "AvailBlanking": { + "type": "structure", + "members": { + "AvailBlankingImage": { + "shape": "InputLocation", + "locationName": "availBlankingImage", + "documentation": "Blanking image to be used. Leave empty for solid black. Only bmp and png images are supported." + }, + "State": { + "shape": "AvailBlankingState", + "locationName": "state", + "documentation": "When set to enabled, causes video, audio and captions to be blanked when insertion metadata is added." + } + }, + "documentation": "Avail Blanking" + }, + "AvailBlankingState": { + "type": "string", + "documentation": "Avail Blanking State", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "AvailConfiguration": { + "type": "structure", + "members": { + "AvailSettings": { + "shape": "AvailSettings", + "locationName": "availSettings", + "documentation": "Ad avail settings." + } + }, + "documentation": "Avail Configuration" + }, + "AvailSettings": { + "type": "structure", + "members": { + "Scte35SpliceInsert": { + "shape": "Scte35SpliceInsert", + "locationName": "scte35SpliceInsert" + }, + "Scte35TimeSignalApos": { + "shape": "Scte35TimeSignalApos", + "locationName": "scte35TimeSignalApos" + } + }, + "documentation": "Avail Settings" + }, + "BadGatewayException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 502 + }, + "documentation": "Placeholder documentation for BadGatewayException" + }, + "BadRequestException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 400 + }, + "documentation": "Placeholder documentation for BadRequestException" + }, + "BatchScheduleActionCreateRequest": { + "type": "structure", + "members": { + "ScheduleActions": { + "shape": "__listOfScheduleAction", + "locationName": "scheduleActions", + "documentation": "A list of schedule actions to create." + } + }, + "documentation": "A list of schedule actions to create (in a request) or that have been created (in a response).", + "required": [ + "ScheduleActions" + ] + }, + "BatchScheduleActionCreateResult": { + "type": "structure", + "members": { + "ScheduleActions": { + "shape": "__listOfScheduleAction", + "locationName": "scheduleActions", + "documentation": "List of actions that have been created in the schedule." + } + }, + "documentation": "List of actions that have been created in the schedule.", + "required": [ + "ScheduleActions" + ] + }, + "BatchScheduleActionDeleteRequest": { + "type": "structure", + "members": { + "ActionNames": { + "shape": "__listOf__string", + "locationName": "actionNames", + "documentation": "A list of schedule actions to delete." + } + }, + "documentation": "A list of schedule actions to delete.", + "required": [ + "ActionNames" + ] + }, + "BatchScheduleActionDeleteResult": { + "type": "structure", + "members": { + "ScheduleActions": { + "shape": "__listOfScheduleAction", + "locationName": "scheduleActions", + "documentation": "List of actions that have been deleted from the schedule." + } + }, + "documentation": "List of actions that have been deleted from the schedule.", + "required": [ + "ScheduleActions" + ] + }, + "BatchUpdateScheduleRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Id of the channel whose schedule is being updated." + }, + "Creates": { + "shape": "BatchScheduleActionCreateRequest", + "locationName": "creates", + "documentation": "Schedule actions to create in the schedule." + }, + "Deletes": { + "shape": "BatchScheduleActionDeleteRequest", + "locationName": "deletes", + "documentation": "Schedule actions to delete from the schedule." + } + }, + "documentation": "List of actions to create and list of actions to delete.", + "required": [ + "ChannelId" + ] + }, + "BatchUpdateScheduleResponse": { + "type": "structure", + "members": { + "Creates": { + "shape": "BatchScheduleActionCreateResult", + "locationName": "creates", + "documentation": "Schedule actions created in the schedule." + }, + "Deletes": { + "shape": "BatchScheduleActionDeleteResult", + "locationName": "deletes", + "documentation": "Schedule actions deleted from the schedule." + } + }, + "documentation": "Placeholder documentation for BatchUpdateScheduleResponse" + }, + "BatchUpdateScheduleResult": { + "type": "structure", + "members": { + "Creates": { + "shape": "BatchScheduleActionCreateResult", + "locationName": "creates", + "documentation": "Schedule actions created in the schedule." + }, + "Deletes": { + "shape": "BatchScheduleActionDeleteResult", + "locationName": "deletes", + "documentation": "Schedule actions deleted from the schedule." + } + }, + "documentation": "Results of a batch schedule update." + }, + "BlackoutSlate": { + "type": "structure", + "members": { + "BlackoutSlateImage": { + "shape": "InputLocation", + "locationName": "blackoutSlateImage", + "documentation": "Blackout slate image to be used. Leave empty for solid black. Only bmp and png images are supported." + }, + "NetworkEndBlackout": { + "shape": "BlackoutSlateNetworkEndBlackout", + "locationName": "networkEndBlackout", + "documentation": "Setting to enabled causes the encoder to blackout the video, audio, and captions, and raise the \"Network Blackout Image\" slate when an SCTE104/35 Network End Segmentation Descriptor is encountered. The blackout will be lifted when the Network Start Segmentation Descriptor is encountered. The Network End and Network Start descriptors must contain a network ID that matches the value entered in \"Network ID\"." + }, + "NetworkEndBlackoutImage": { + "shape": "InputLocation", + "locationName": "networkEndBlackoutImage", + "documentation": "Path to local file to use as Network End Blackout image. Image will be scaled to fill the entire output raster." + }, + "NetworkId": { + "shape": "__stringMin34Max34", + "locationName": "networkId", + "documentation": "Provides Network ID that matches EIDR ID format (e.g., \"10.XXXX/XXXX-XXXX-XXXX-XXXX-XXXX-C\")." + }, + "State": { + "shape": "BlackoutSlateState", + "locationName": "state", + "documentation": "When set to enabled, causes video, audio and captions to be blanked when indicated by program metadata." + } + }, + "documentation": "Blackout Slate" + }, + "BlackoutSlateNetworkEndBlackout": { + "type": "string", + "documentation": "Blackout Slate Network End Blackout", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "BlackoutSlateState": { + "type": "string", + "documentation": "Blackout Slate State", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "BurnInAlignment": { + "type": "string", + "documentation": "Burn In Alignment", + "enum": [ + "CENTERED", + "LEFT", + "SMART" + ] + }, + "BurnInBackgroundColor": { + "type": "string", + "documentation": "Burn In Background Color", + "enum": [ + "BLACK", + "NONE", + "WHITE" + ] + }, + "BurnInDestinationSettings": { + "type": "structure", + "members": { + "Alignment": { + "shape": "BurnInAlignment", + "locationName": "alignment", + "documentation": "If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification will left-justify live subtitles and center-justify pre-recorded subtitles. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundColor": { + "shape": "BurnInBackgroundColor", + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundOpacity": { + "shape": "__integerMin0Max255", + "locationName": "backgroundOpacity", + "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "Font": { + "shape": "InputLocation", + "locationName": "font", + "documentation": "External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match." + }, + "FontColor": { + "shape": "BurnInFontColor", + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "FontOpacity": { + "shape": "__integerMin0Max255", + "locationName": "fontOpacity", + "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match." + }, + "FontResolution": { + "shape": "__integerMin96Max600", + "locationName": "fontResolution", + "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." + }, + "FontSize": { + "shape": "__string", + "locationName": "fontSize", + "documentation": "When set to 'auto' fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match." + }, + "OutlineColor": { + "shape": "BurnInOutlineColor", + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "OutlineSize": { + "shape": "__integerMin0Max10", + "locationName": "outlineSize", + "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "ShadowColor": { + "shape": "BurnInShadowColor", + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match." + }, + "ShadowOpacity": { + "shape": "__integerMin0Max255", + "locationName": "shadowOpacity", + "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter out is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "ShadowXOffset": { + "shape": "__integer", + "locationName": "shadowXOffset", + "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." + }, + "ShadowYOffset": { + "shape": "__integer", + "locationName": "shadowYOffset", + "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." + }, + "TeletextGridControl": { + "shape": "BurnInTeletextGridControl", + "locationName": "teletextGridControl", + "documentation": "Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs." + }, + "XPosition": { + "shape": "__integerMin0", + "locationName": "xPosition", + "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. All burn-in and DVB-Sub font settings must match." + }, + "YPosition": { + "shape": "__integerMin0", + "locationName": "yPosition", + "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. All burn-in and DVB-Sub font settings must match." + } + }, + "documentation": "Burn In Destination Settings" + }, + "BurnInFontColor": { + "type": "string", + "documentation": "Burn In Font Color", + "enum": [ + "BLACK", + "BLUE", + "GREEN", + "RED", + "WHITE", + "YELLOW" + ] + }, + "BurnInOutlineColor": { + "type": "string", + "documentation": "Burn In Outline Color", + "enum": [ + "BLACK", + "BLUE", + "GREEN", + "RED", + "WHITE", + "YELLOW" + ] + }, + "BurnInShadowColor": { + "type": "string", + "documentation": "Burn In Shadow Color", + "enum": [ + "BLACK", + "NONE", + "WHITE" + ] + }, + "BurnInTeletextGridControl": { + "type": "string", + "documentation": "Burn In Teletext Grid Control", + "enum": [ + "FIXED", + "SCALED" + ] + }, + "CaptionDescription": { + "type": "structure", + "members": { + "CaptionSelectorName": { + "shape": "__string", + "locationName": "captionSelectorName", + "documentation": "Specifies which input caption selector to use as a caption source when generating output captions. This field should match a captionSelector name." + }, + "DestinationSettings": { + "shape": "CaptionDestinationSettings", + "locationName": "destinationSettings", + "documentation": "Additional settings for captions destination that depend on the destination type." + }, + "LanguageCode": { + "shape": "__string", + "locationName": "languageCode", + "documentation": "ISO 639-2 three-digit code: http://www.loc.gov/standards/iso639-2/" + }, + "LanguageDescription": { + "shape": "__string", + "locationName": "languageDescription", + "documentation": "Human readable information to indicate captions available for players (eg. English, or Spanish)." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the caption description. Used to associate a caption description with an output. Names must be unique within an event." + } + }, + "documentation": "Caption Description", + "required": [ + "CaptionSelectorName", + "Name" + ] + }, + "CaptionDestinationSettings": { + "type": "structure", + "members": { + "AribDestinationSettings": { + "shape": "AribDestinationSettings", + "locationName": "aribDestinationSettings" + }, + "BurnInDestinationSettings": { + "shape": "BurnInDestinationSettings", + "locationName": "burnInDestinationSettings" + }, + "DvbSubDestinationSettings": { + "shape": "DvbSubDestinationSettings", + "locationName": "dvbSubDestinationSettings" + }, + "EmbeddedDestinationSettings": { + "shape": "EmbeddedDestinationSettings", + "locationName": "embeddedDestinationSettings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "shape": "EmbeddedPlusScte20DestinationSettings", + "locationName": "embeddedPlusScte20DestinationSettings" + }, + "RtmpCaptionInfoDestinationSettings": { + "shape": "RtmpCaptionInfoDestinationSettings", + "locationName": "rtmpCaptionInfoDestinationSettings" + }, + "Scte20PlusEmbeddedDestinationSettings": { + "shape": "Scte20PlusEmbeddedDestinationSettings", + "locationName": "scte20PlusEmbeddedDestinationSettings" + }, + "Scte27DestinationSettings": { + "shape": "Scte27DestinationSettings", + "locationName": "scte27DestinationSettings" + }, + "SmpteTtDestinationSettings": { + "shape": "SmpteTtDestinationSettings", + "locationName": "smpteTtDestinationSettings" + }, + "TeletextDestinationSettings": { + "shape": "TeletextDestinationSettings", + "locationName": "teletextDestinationSettings" + }, + "TtmlDestinationSettings": { + "shape": "TtmlDestinationSettings", + "locationName": "ttmlDestinationSettings" + }, + "WebvttDestinationSettings": { + "shape": "WebvttDestinationSettings", + "locationName": "webvttDestinationSettings" + } + }, + "documentation": "Caption Destination Settings" + }, + "CaptionLanguageMapping": { + "type": "structure", + "members": { + "CaptionChannel": { + "shape": "__integerMin1Max4", + "locationName": "captionChannel", + "documentation": "The closed caption channel being described by this CaptionLanguageMapping. Each channel mapping must have a unique channel number (maximum of 4)" + }, + "LanguageCode": { + "shape": "__stringMin3Max3", + "locationName": "languageCode", + "documentation": "Three character ISO 639-2 language code (see http://www.loc.gov/standards/iso639-2)" + }, + "LanguageDescription": { + "shape": "__stringMin1", + "locationName": "languageDescription", + "documentation": "Textual description of language" + } + }, + "documentation": "Maps a caption channel to an ISO 693-2 language code (http://www.loc.gov/standards/iso639-2), with an optional description.", + "required": [ + "LanguageCode", + "LanguageDescription", + "CaptionChannel" + ] + }, + "CaptionSelector": { + "type": "structure", + "members": { + "LanguageCode": { + "shape": "__string", + "locationName": "languageCode", + "documentation": "When specified this field indicates the three letter language code of the caption track to extract from the source." + }, + "Name": { + "shape": "__stringMin1", + "locationName": "name", + "documentation": "Name identifier for a caption selector. This name is used to associate this caption selector with one or more caption descriptions. Names must be unique within an event." + }, + "SelectorSettings": { + "shape": "CaptionSelectorSettings", + "locationName": "selectorSettings", + "documentation": "Caption selector settings." + } + }, + "documentation": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", + "required": [ + "Name" + ] + }, + "CaptionSelectorSettings": { + "type": "structure", + "members": { + "AribSourceSettings": { + "shape": "AribSourceSettings", + "locationName": "aribSourceSettings" + }, + "DvbSubSourceSettings": { + "shape": "DvbSubSourceSettings", + "locationName": "dvbSubSourceSettings" + }, + "EmbeddedSourceSettings": { + "shape": "EmbeddedSourceSettings", + "locationName": "embeddedSourceSettings" + }, + "Scte20SourceSettings": { + "shape": "Scte20SourceSettings", + "locationName": "scte20SourceSettings" + }, + "Scte27SourceSettings": { + "shape": "Scte27SourceSettings", + "locationName": "scte27SourceSettings" + }, + "TeletextSourceSettings": { + "shape": "TeletextSourceSettings", + "locationName": "teletextSourceSettings" + } + }, + "documentation": "Caption Selector Settings" + }, + "Channel": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelineDetails": { + "shape": "__listOfPipelineDetail", + "locationName": "pipelineDetails", + "documentation": "Runtime details for the pipelines of a running channel." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for Channel" + }, + "ChannelClass": { + "type": "string", + "documentation": "A standard channel has two encoding pipelines and a single pipeline channel only has one.", + "enum": [ + "STANDARD", + "SINGLE_PIPELINE" + ] + }, + "ChannelConfigurationValidationError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + }, + "ValidationErrors": { + "shape": "__listOfValidationError", + "locationName": "validationErrors", + "documentation": "A collection of validation error responses." + } + }, + "documentation": "Placeholder documentation for ChannelConfigurationValidationError" + }, + "ChannelEgressEndpoint": { + "type": "structure", + "members": { + "SourceIp": { + "shape": "__string", + "locationName": "sourceIp", + "documentation": "Public IP of where a channel's output comes from" + } + }, + "documentation": "Placeholder documentation for ChannelEgressEndpoint" + }, + "ChannelState": { + "type": "string", + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED", + "UPDATING", + "UPDATE_FAILED" + ], + "documentation": "Placeholder documentation for ChannelState" + }, + "ChannelSummary": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for ChannelSummary" + }, + "ColorSpacePassthroughSettings": { + "type": "structure", + "members": { + }, + "documentation": "Passthrough applies no color space conversion to the output" + }, + "ConflictException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 409 + }, + "documentation": "Placeholder documentation for ConflictException" + }, + "CreateChannel": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification", + "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level to write to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of channel." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", + "idempotencyToken": true + }, + "Reserved": { + "shape": "__string", + "locationName": "reserved", + "documentation": "Deprecated field that's only usable by whitelisted customers.", + "deprecated": true + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for CreateChannel" + }, + "CreateChannelRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification", + "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level to write to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of channel." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID to be specified. This is needed to prevent retries from\ncreating multiple resources.\n", + "idempotencyToken": true + }, + "Reserved": { + "shape": "__string", + "locationName": "reserved", + "documentation": "Deprecated field that's only usable by whitelisted customers.", + "deprecated": true + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "A request to create a channel" + }, + "CreateChannelResponse": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "Placeholder documentation for CreateChannelResponse" + }, + "CreateChannelResultModel": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "Placeholder documentation for CreateChannelResultModel" + }, + "CreateInput": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations", + "documentation": "Destination settings for PUSH type inputs." + }, + "InputDevices": { + "shape": "__listOfInputDeviceSettings", + "locationName": "inputDevices", + "documentation": "Settings for the devices." + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups", + "documentation": "A list of security groups referenced by IDs to attach to the input." + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlowRequest", + "locationName": "mediaConnectFlows", + "documentation": "A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the input." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", + "idempotencyToken": true + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources", + "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "Type": { + "shape": "InputType", + "locationName": "type" + }, + "Vpc": { + "shape": "InputVpcRequest", + "locationName": "vpc" + } + }, + "documentation": "Placeholder documentation for CreateInput" + }, + "CreateInputRequest": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations", + "documentation": "Destination settings for PUSH type inputs." + }, + "InputDevices": { + "shape": "__listOfInputDeviceSettings", + "locationName": "inputDevices", + "documentation": "Settings for the devices." + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups", + "documentation": "A list of security groups referenced by IDs to attach to the input." + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlowRequest", + "locationName": "mediaConnectFlows", + "documentation": "A list of the MediaConnect Flows that you want to use in this input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the input." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique identifier of the request to ensure the request is handled\nexactly once in case of retries.\n", + "idempotencyToken": true + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources", + "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "Type": { + "shape": "InputType", + "locationName": "type" + }, + "Vpc": { + "shape": "InputVpcRequest", + "locationName": "vpc" + } + }, + "documentation": "The name of the input" + }, + "CreateInputResponse": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + }, + "documentation": "Placeholder documentation for CreateInputResponse" + }, + "CreateInputResultModel": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + }, + "documentation": "Placeholder documentation for CreateInputResultModel" + }, + "CreateInputSecurityGroupRequest": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRuleCidr", + "locationName": "whitelistRules", + "documentation": "List of IPv4 CIDR addresses to whitelist" + } + }, + "documentation": "The IPv4 CIDRs to whitelist for this Input Security Group" + }, + "CreateInputSecurityGroupResponse": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + }, + "documentation": "Placeholder documentation for CreateInputSecurityGroupResponse" + }, + "CreateInputSecurityGroupResultModel": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + }, + "documentation": "Placeholder documentation for CreateInputSecurityGroupResultModel" + }, + "CreateMultiplex": { + "type": "structure", + "members": { + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex. You must specify exactly two." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of multiplex." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "required": [ + "RequestId", + "MultiplexSettings", + "AvailabilityZones", + "Name" + ], + "documentation": "Placeholder documentation for CreateMultiplex" + }, + "CreateMultiplexProgram": { + "type": "structure", + "members": { + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The settings for this multiplex program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "Name of multiplex program." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "idempotencyToken": true + } + }, + "required": [ + "RequestId", + "MultiplexProgramSettings", + "ProgramName" + ], + "documentation": "Placeholder documentation for CreateMultiplexProgram" + }, + "CreateMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "ID of the multiplex where the program is to be created." + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The settings for this multiplex program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "Name of multiplex program." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "idempotencyToken": true + } + }, + "documentation": "A request to create a program in a multiplex.", + "required": [ + "MultiplexId", + "RequestId", + "MultiplexProgramSettings", + "ProgramName" + ] + }, + "CreateMultiplexProgramResponse": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram", + "documentation": "The newly created multiplex program." + } + }, + "documentation": "Placeholder documentation for CreateMultiplexProgramResponse" + }, + "CreateMultiplexProgramResultModel": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram", + "documentation": "The newly created multiplex program." + } + }, + "documentation": "Placeholder documentation for CreateMultiplexProgramResultModel" + }, + "CreateMultiplexRequest": { + "type": "structure", + "members": { + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex. You must specify exactly two." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of multiplex." + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID. This prevents retries from creating multiple\nresources.\n", + "idempotencyToken": true + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "A request to create a multiplex.", + "required": [ + "RequestId", + "MultiplexSettings", + "AvailabilityZones", + "Name" + ] + }, + "CreateMultiplexResponse": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex", + "documentation": "The newly created multiplex." + } + }, + "documentation": "Placeholder documentation for CreateMultiplexResponse" + }, + "CreateMultiplexResultModel": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex", + "documentation": "The newly created multiplex." + } + }, + "documentation": "Placeholder documentation for CreateMultiplexResultModel" + }, + "CreateTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ResourceArn" + ], + "documentation": "Placeholder documentation for CreateTagsRequest" + }, + "DeleteChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Unique ID of the channel." + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for DeleteChannelRequest" + }, + "DeleteChannelResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelineDetails": { + "shape": "__listOfPipelineDetail", + "locationName": "pipelineDetails", + "documentation": "Runtime details for the pipelines of a running channel." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for DeleteChannelResponse" + }, + "DeleteInputRequest": { + "type": "structure", + "members": { + "InputId": { + "shape": "__string", + "location": "uri", + "locationName": "inputId", + "documentation": "Unique ID of the input" + } + }, + "required": [ + "InputId" + ], + "documentation": "Placeholder documentation for DeleteInputRequest" + }, + "DeleteInputResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for DeleteInputResponse" + }, + "DeleteInputSecurityGroupRequest": { + "type": "structure", + "members": { + "InputSecurityGroupId": { + "shape": "__string", + "location": "uri", + "locationName": "inputSecurityGroupId", + "documentation": "The Input Security Group to delete" + } + }, + "required": [ + "InputSecurityGroupId" + ], + "documentation": "Placeholder documentation for DeleteInputSecurityGroupRequest" + }, + "DeleteInputSecurityGroupResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for DeleteInputSecurityGroupResponse" + }, + "DeleteMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex that the program belongs to." + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName", + "documentation": "The multiplex program name." + } + }, + "required": [ + "MultiplexId", + "ProgramName" + ], + "documentation": "Placeholder documentation for DeleteMultiplexProgramRequest" + }, + "DeleteMultiplexProgramResponse": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId", + "documentation": "The MediaLive channel associated with the program." + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The settings for this multiplex program." + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap", + "documentation": "The packet identifier map for this multiplex program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "The name of the multiplex program." + } + }, + "documentation": "Placeholder documentation for DeleteMultiplexProgramResponse" + }, + "DeleteMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex." + } + }, + "required": [ + "MultiplexId" + ], + "documentation": "Placeholder documentation for DeleteMultiplexRequest" + }, + "DeleteMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations", + "documentation": "A list of the multiplex output destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for DeleteMultiplexResponse" + }, + "DeleteReservationRequest": { + "type": "structure", + "members": { + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + } + }, + "required": [ + "ReservationId" + ], + "documentation": "Placeholder documentation for DeleteReservationRequest" + }, + "DeleteReservationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" + }, + "Count": { + "shape": "__integer", + "locationName": "count", + "documentation": "Number of reserved resources" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode", + "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration", + "documentation": "Lease duration, e.g. '12'" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits", + "documentation": "Units for duration, e.g. 'MONTHS'" + }, + "End": { + "shape": "__string", + "locationName": "end", + "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice", + "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "User specified reservation name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription", + "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType", + "documentation": "Offering type, e.g. 'NO_UPFRONT'" + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "AWS region, e.g. 'us-west-2'" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification", + "documentation": "Resource configuration details" + }, + "Start": { + "shape": "__string", + "locationName": "start", + "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" + }, + "State": { + "shape": "ReservationState", + "locationName": "state", + "documentation": "Current state of reservation, e.g. 'ACTIVE'" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice", + "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "documentation": "Placeholder documentation for DeleteReservationResponse" + }, + "DeleteScheduleRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Id of the channel whose schedule is being deleted." + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for DeleteScheduleRequest" + }, + "DeleteScheduleResponse": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for DeleteScheduleResponse" + }, + "DeleteTagsRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "An array of tag keys to delete" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ], + "documentation": "Placeholder documentation for DeleteTagsRequest" + }, + "DescribeChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "channel ID" + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for DescribeChannelRequest" + }, + "DescribeChannelResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelineDetails": { + "shape": "__listOfPipelineDetail", + "locationName": "pipelineDetails", + "documentation": "Runtime details for the pipelines of a running channel." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for DescribeChannelResponse" + }, + "DescribeInputDeviceRequest": { + "type": "structure", + "members": { + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId", + "documentation": "The unique ID of this input device. For example, hd-123456789abcdef." + } + }, + "required": [ + "InputDeviceId" + ], + "documentation": "Placeholder documentation for DescribeInputDeviceRequest" + }, + "DescribeInputDeviceResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique ARN of the input device." + }, + "ConnectionState": { + "shape": "InputDeviceConnectionState", + "locationName": "connectionState", + "documentation": "The state of the connection between the input device and AWS." + }, + "DeviceSettingsSyncState": { + "shape": "DeviceSettingsSyncState", + "locationName": "deviceSettingsSyncState", + "documentation": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration." + }, + "HdDeviceSettings": { + "shape": "InputDeviceHdSettings", + "locationName": "hdDeviceSettings", + "documentation": "Settings that describe an input device that is type HD." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID of the input device." + }, + "MacAddress": { + "shape": "__string", + "locationName": "macAddress", + "documentation": "The network MAC address of the input device." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name that you specify for the input device." + }, + "NetworkSettings": { + "shape": "InputDeviceNetworkSettings", + "locationName": "networkSettings", + "documentation": "The network settings for the input device." + }, + "SerialNumber": { + "shape": "__string", + "locationName": "serialNumber", + "documentation": "The unique serial number of the input device." + }, + "Type": { + "shape": "InputDeviceType", + "locationName": "type", + "documentation": "The type of the input device." + } + }, + "documentation": "Placeholder documentation for DescribeInputDeviceResponse" + }, + "DescribeInputRequest": { + "type": "structure", + "members": { + "InputId": { + "shape": "__string", + "location": "uri", + "locationName": "inputId", + "documentation": "Unique ID of the input" + } + }, + "required": [ + "InputId" + ], + "documentation": "Placeholder documentation for DescribeInputRequest" + }, + "DescribeInputResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Unique ARN of the input (generated, immutable)." + }, + "AttachedChannels": { + "shape": "__listOf__string", + "locationName": "attachedChannels", + "documentation": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel)." + }, + "Destinations": { + "shape": "__listOfInputDestination", + "locationName": "destinations", + "documentation": "A list of the destinations of the input (PUSH-type)." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The generated ID of the input (unique for user account, immutable)." + }, + "InputClass": { + "shape": "InputClass", + "locationName": "inputClass", + "documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.\n" + }, + "InputDevices": { + "shape": "__listOfInputDeviceSettings", + "locationName": "inputDevices", + "documentation": "Settings for the input devices." + }, + "InputSourceType": { + "shape": "InputSourceType", + "locationName": "inputSourceType", + "documentation": "Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes\nduring input switch actions. Presently, this functionality only works with MP4_FILE inputs.\n" + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlow", + "locationName": "mediaConnectFlows", + "documentation": "A list of MediaConnect Flows for this input." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The user-assigned name (This is a mutable value)." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups", + "documentation": "A list of IDs for all the Input Security Groups attached to the input." + }, + "Sources": { + "shape": "__listOfInputSource", + "locationName": "sources", + "documentation": "A list of the sources of the input (PULL-type)." + }, + "State": { + "shape": "InputState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "Type": { + "shape": "InputType", + "locationName": "type" + } + }, + "documentation": "Placeholder documentation for DescribeInputResponse" + }, + "DescribeInputSecurityGroupRequest": { + "type": "structure", + "members": { + "InputSecurityGroupId": { + "shape": "__string", + "location": "uri", + "locationName": "inputSecurityGroupId", + "documentation": "The id of the Input Security Group to describe" + } + }, + "required": [ + "InputSecurityGroupId" + ], + "documentation": "Placeholder documentation for DescribeInputSecurityGroupRequest" + }, + "DescribeInputSecurityGroupResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique ARN of Input Security Group" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The Id of the Input Security Group" + }, + "Inputs": { + "shape": "__listOf__string", + "locationName": "inputs", + "documentation": "The list of inputs currently using this Input Security Group." + }, + "State": { + "shape": "InputSecurityGroupState", + "locationName": "state", + "documentation": "The current state of the Input Security Group." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRule", + "locationName": "whitelistRules", + "documentation": "Whitelist rules and their sync status" + } + }, + "documentation": "Placeholder documentation for DescribeInputSecurityGroupResponse" + }, + "DescribeMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex that the program belongs to." + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName", + "documentation": "The name of the program." + } + }, + "required": [ + "MultiplexId", + "ProgramName" + ], + "documentation": "Placeholder documentation for DescribeMultiplexProgramRequest" + }, + "DescribeMultiplexProgramResponse": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId", + "documentation": "The MediaLive channel associated with the program." + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The settings for this multiplex program." + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap", + "documentation": "The packet identifier map for this multiplex program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "The name of the multiplex program." + } + }, + "documentation": "Placeholder documentation for DescribeMultiplexProgramResponse" + }, + "DescribeMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex." + } + }, + "required": [ + "MultiplexId" + ], + "documentation": "Placeholder documentation for DescribeMultiplexRequest" + }, + "DescribeMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations", + "documentation": "A list of the multiplex output destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for DescribeMultiplexResponse" + }, + "DescribeOfferingRequest": { + "type": "structure", + "members": { + "OfferingId": { + "shape": "__string", + "location": "uri", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + } + }, + "required": [ + "OfferingId" + ], + "documentation": "Placeholder documentation for DescribeOfferingRequest" + }, + "DescribeOfferingResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode", + "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration", + "documentation": "Lease duration, e.g. '12'" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits", + "documentation": "Units for duration, e.g. 'MONTHS'" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice", + "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription", + "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType", + "documentation": "Offering type, e.g. 'NO_UPFRONT'" + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "AWS region, e.g. 'us-west-2'" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification", + "documentation": "Resource configuration details" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice", + "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "documentation": "Placeholder documentation for DescribeOfferingResponse" + }, + "DescribeReservationRequest": { + "type": "structure", + "members": { + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + } + }, + "required": [ + "ReservationId" + ], + "documentation": "Placeholder documentation for DescribeReservationRequest" + }, + "DescribeReservationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" + }, + "Count": { + "shape": "__integer", + "locationName": "count", + "documentation": "Number of reserved resources" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode", + "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration", + "documentation": "Lease duration, e.g. '12'" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits", + "documentation": "Units for duration, e.g. 'MONTHS'" + }, + "End": { + "shape": "__string", + "locationName": "end", + "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice", + "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "User specified reservation name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription", + "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType", + "documentation": "Offering type, e.g. 'NO_UPFRONT'" + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "AWS region, e.g. 'us-west-2'" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification", + "documentation": "Resource configuration details" + }, + "Start": { + "shape": "__string", + "locationName": "start", + "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" + }, + "State": { + "shape": "ReservationState", + "locationName": "state", + "documentation": "Current state of reservation, e.g. 'ACTIVE'" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice", + "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "documentation": "Placeholder documentation for DescribeReservationResponse" + }, + "DescribeScheduleRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Id of the channel whose schedule is being updated." + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for DescribeScheduleRequest" + }, + "DescribeScheduleResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The next token; for use in pagination." + }, + "ScheduleActions": { + "shape": "__listOfScheduleAction", + "locationName": "scheduleActions", + "documentation": "The list of actions in the schedule." + } + }, + "documentation": "Placeholder documentation for DescribeScheduleResponse" + }, + "DeviceSettingsSyncState": { + "type": "string", + "documentation": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration.", + "enum": [ + "SYNCED", + "SYNCING" + ] + }, + "DvbNitSettings": { + "type": "structure", + "members": { + "NetworkId": { + "shape": "__integerMin0Max65536", + "locationName": "networkId", + "documentation": "The numeric value placed in the Network Information Table (NIT)." + }, + "NetworkName": { + "shape": "__stringMin1Max256", + "locationName": "networkName", + "documentation": "The network name text placed in the networkNameDescriptor inside the Network Information Table. Maximum length is 256 characters." + }, + "RepInterval": { + "shape": "__integerMin25Max10000", + "locationName": "repInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "documentation": "DVB Network Information Table (NIT)", + "required": [ + "NetworkName", + "NetworkId" + ] + }, + "DvbSdtOutputSdt": { + "type": "string", + "documentation": "Dvb Sdt Output Sdt", + "enum": [ + "SDT_FOLLOW", + "SDT_FOLLOW_IF_PRESENT", + "SDT_MANUAL", + "SDT_NONE" + ] + }, + "DvbSdtSettings": { + "type": "structure", + "members": { + "OutputSdt": { + "shape": "DvbSdtOutputSdt", + "locationName": "outputSdt", + "documentation": "Selects method of inserting SDT information into output stream. The sdtFollow setting copies SDT information from input stream to output stream. The sdtFollowIfPresent setting copies SDT information from input stream to output stream if SDT information is present in the input, otherwise it will fall back on the user-defined values. The sdtManual setting means user will enter the SDT information. The sdtNone setting means output stream will not contain SDT information." + }, + "RepInterval": { + "shape": "__integerMin25Max2000", + "locationName": "repInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + }, + "ServiceName": { + "shape": "__stringMin1Max256", + "locationName": "serviceName", + "documentation": "The service name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." + }, + "ServiceProviderName": { + "shape": "__stringMin1Max256", + "locationName": "serviceProviderName", + "documentation": "The service provider name placed in the serviceDescriptor in the Service Description Table. Maximum length is 256 characters." + } + }, + "documentation": "DVB Service Description Table (SDT)" + }, + "DvbSubDestinationAlignment": { + "type": "string", + "documentation": "Dvb Sub Destination Alignment", + "enum": [ + "CENTERED", + "LEFT", + "SMART" + ] + }, + "DvbSubDestinationBackgroundColor": { + "type": "string", + "documentation": "Dvb Sub Destination Background Color", + "enum": [ + "BLACK", + "NONE", + "WHITE" + ] + }, + "DvbSubDestinationFontColor": { + "type": "string", + "documentation": "Dvb Sub Destination Font Color", + "enum": [ + "BLACK", + "BLUE", + "GREEN", + "RED", + "WHITE", + "YELLOW" + ] + }, + "DvbSubDestinationOutlineColor": { + "type": "string", + "documentation": "Dvb Sub Destination Outline Color", + "enum": [ + "BLACK", + "BLUE", + "GREEN", + "RED", + "WHITE", + "YELLOW" + ] + }, + "DvbSubDestinationSettings": { + "type": "structure", + "members": { + "Alignment": { + "shape": "DvbSubDestinationAlignment", + "locationName": "alignment", + "documentation": "If no explicit xPosition or yPosition is provided, setting alignment to centered will place the captions at the bottom center of the output. Similarly, setting a left alignment will align captions to the bottom left of the output. If x and y positions are given in conjunction with the alignment parameter, the font will be justified (either left or centered) relative to those coordinates. Selecting \"smart\" justification will left-justify live subtitles and center-justify pre-recorded subtitles. This option is not valid for source captions that are STL or 608/embedded. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundColor": { + "shape": "DvbSubDestinationBackgroundColor", + "locationName": "backgroundColor", + "documentation": "Specifies the color of the rectangle behind the captions. All burn-in and DVB-Sub font settings must match." + }, + "BackgroundOpacity": { + "shape": "__integerMin0Max255", + "locationName": "backgroundOpacity", + "documentation": "Specifies the opacity of the background rectangle. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "Font": { + "shape": "InputLocation", + "locationName": "font", + "documentation": "External font file used for caption burn-in. File extension must be 'ttf' or 'tte'. Although the user can select output fonts for many different types of input captions, embedded, STL and teletext sources use a strict grid system. Using external fonts with these caption sources could cause unexpected display of proportional fonts. All burn-in and DVB-Sub font settings must match." + }, + "FontColor": { + "shape": "DvbSubDestinationFontColor", + "locationName": "fontColor", + "documentation": "Specifies the color of the burned-in captions. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "FontOpacity": { + "shape": "__integerMin0Max255", + "locationName": "fontOpacity", + "documentation": "Specifies the opacity of the burned-in captions. 255 is opaque; 0 is transparent. All burn-in and DVB-Sub font settings must match." + }, + "FontResolution": { + "shape": "__integerMin96Max600", + "locationName": "fontResolution", + "documentation": "Font resolution in DPI (dots per inch); default is 96 dpi. All burn-in and DVB-Sub font settings must match." + }, + "FontSize": { + "shape": "__string", + "locationName": "fontSize", + "documentation": "When set to auto fontSize will scale depending on the size of the output. Giving a positive integer will specify the exact font size in points. All burn-in and DVB-Sub font settings must match." + }, + "OutlineColor": { + "shape": "DvbSubDestinationOutlineColor", + "locationName": "outlineColor", + "documentation": "Specifies font outline color. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "OutlineSize": { + "shape": "__integerMin0Max10", + "locationName": "outlineSize", + "documentation": "Specifies font outline size in pixels. This option is not valid for source captions that are either 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "ShadowColor": { + "shape": "DvbSubDestinationShadowColor", + "locationName": "shadowColor", + "documentation": "Specifies the color of the shadow cast by the captions. All burn-in and DVB-Sub font settings must match." + }, + "ShadowOpacity": { + "shape": "__integerMin0Max255", + "locationName": "shadowOpacity", + "documentation": "Specifies the opacity of the shadow. 255 is opaque; 0 is transparent. Leaving this parameter blank is equivalent to setting it to 0 (transparent). All burn-in and DVB-Sub font settings must match." + }, + "ShadowXOffset": { + "shape": "__integer", + "locationName": "shadowXOffset", + "documentation": "Specifies the horizontal offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels to the left. All burn-in and DVB-Sub font settings must match." + }, + "ShadowYOffset": { + "shape": "__integer", + "locationName": "shadowYOffset", + "documentation": "Specifies the vertical offset of the shadow relative to the captions in pixels. A value of -2 would result in a shadow offset 2 pixels above the text. All burn-in and DVB-Sub font settings must match." + }, + "TeletextGridControl": { + "shape": "DvbSubDestinationTeletextGridControl", + "locationName": "teletextGridControl", + "documentation": "Controls whether a fixed grid size will be used to generate the output subtitles bitmap. Only applicable for Teletext inputs and DVB-Sub/Burn-in outputs." + }, + "XPosition": { + "shape": "__integerMin0", + "locationName": "xPosition", + "documentation": "Specifies the horizontal position of the caption relative to the left side of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the left of the output. If no explicit xPosition is provided, the horizontal caption position will be determined by the alignment parameter. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + }, + "YPosition": { + "shape": "__integerMin0", + "locationName": "yPosition", + "documentation": "Specifies the vertical position of the caption relative to the top of the output in pixels. A value of 10 would result in the captions starting 10 pixels from the top of the output. If no explicit yPosition is provided, the caption will be positioned towards the bottom of the output. This option is not valid for source captions that are STL, 608/embedded or teletext. These source settings are already pre-defined by the caption stream. All burn-in and DVB-Sub font settings must match." + } + }, + "documentation": "Dvb Sub Destination Settings" + }, + "DvbSubDestinationShadowColor": { + "type": "string", + "documentation": "Dvb Sub Destination Shadow Color", + "enum": [ + "BLACK", + "NONE", + "WHITE" + ] + }, + "DvbSubDestinationTeletextGridControl": { + "type": "string", + "documentation": "Dvb Sub Destination Teletext Grid Control", + "enum": [ + "FIXED", + "SCALED" + ] + }, + "DvbSubSourceSettings": { + "type": "structure", + "members": { + "Pid": { + "shape": "__integerMin1", + "locationName": "pid", + "documentation": "When using DVB-Sub with Burn-In or SMPTE-TT, use this PID for the source content. Unused for DVB-Sub passthrough. All DVB-Sub content is passed through, regardless of selectors." + } + }, + "documentation": "Dvb Sub Source Settings" + }, + "DvbTdtSettings": { + "type": "structure", + "members": { + "RepInterval": { + "shape": "__integerMin1000Max30000", + "locationName": "repInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream." + } + }, + "documentation": "DVB Time and Date Table (SDT)" + }, + "Eac3AttenuationControl": { + "type": "string", + "documentation": "Eac3 Attenuation Control", + "enum": [ + "ATTENUATE_3_DB", + "NONE" + ] + }, + "Eac3BitstreamMode": { + "type": "string", + "documentation": "Eac3 Bitstream Mode", + "enum": [ + "COMMENTARY", + "COMPLETE_MAIN", + "EMERGENCY", + "HEARING_IMPAIRED", + "VISUALLY_IMPAIRED" + ] + }, + "Eac3CodingMode": { + "type": "string", + "documentation": "Eac3 Coding Mode", + "enum": [ + "CODING_MODE_1_0", + "CODING_MODE_2_0", + "CODING_MODE_3_2" + ] + }, + "Eac3DcFilter": { + "type": "string", + "documentation": "Eac3 Dc Filter", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Eac3DrcLine": { + "type": "string", + "documentation": "Eac3 Drc Line", + "enum": [ + "FILM_LIGHT", + "FILM_STANDARD", + "MUSIC_LIGHT", + "MUSIC_STANDARD", + "NONE", + "SPEECH" + ] + }, + "Eac3DrcRf": { + "type": "string", + "documentation": "Eac3 Drc Rf", + "enum": [ + "FILM_LIGHT", + "FILM_STANDARD", + "MUSIC_LIGHT", + "MUSIC_STANDARD", + "NONE", + "SPEECH" + ] + }, + "Eac3LfeControl": { + "type": "string", + "documentation": "Eac3 Lfe Control", + "enum": [ + "LFE", + "NO_LFE" + ] + }, + "Eac3LfeFilter": { + "type": "string", + "documentation": "Eac3 Lfe Filter", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "Eac3MetadataControl": { + "type": "string", + "documentation": "Eac3 Metadata Control", + "enum": [ + "FOLLOW_INPUT", + "USE_CONFIGURED" + ] + }, + "Eac3PassthroughControl": { + "type": "string", + "documentation": "Eac3 Passthrough Control", + "enum": [ + "NO_PASSTHROUGH", + "WHEN_POSSIBLE" + ] + }, + "Eac3PhaseControl": { + "type": "string", + "documentation": "Eac3 Phase Control", + "enum": [ + "NO_SHIFT", + "SHIFT_90_DEGREES" + ] + }, + "Eac3Settings": { + "type": "structure", + "members": { + "AttenuationControl": { + "shape": "Eac3AttenuationControl", + "locationName": "attenuationControl", + "documentation": "When set to attenuate3Db, applies a 3 dB attenuation to the surround channels. Only used for 3/2 coding mode." + }, + "Bitrate": { + "shape": "__double", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second. Valid bitrates depend on the coding mode." + }, + "BitstreamMode": { + "shape": "Eac3BitstreamMode", + "locationName": "bitstreamMode", + "documentation": "Specifies the bitstream mode (bsmod) for the emitted E-AC-3 stream. See ATSC A/52-2012 (Annex E) for background on these values." + }, + "CodingMode": { + "shape": "Eac3CodingMode", + "locationName": "codingMode", + "documentation": "Dolby Digital Plus coding mode. Determines number of channels." + }, + "DcFilter": { + "shape": "Eac3DcFilter", + "locationName": "dcFilter", + "documentation": "When set to enabled, activates a DC highpass filter for all input channels." + }, + "Dialnorm": { + "shape": "__integerMin1Max31", + "locationName": "dialnorm", + "documentation": "Sets the dialnorm for the output. If blank and input audio is Dolby Digital Plus, dialnorm will be passed through." + }, + "DrcLine": { + "shape": "Eac3DrcLine", + "locationName": "drcLine", + "documentation": "Sets the Dolby dynamic range compression profile." + }, + "DrcRf": { + "shape": "Eac3DrcRf", + "locationName": "drcRf", + "documentation": "Sets the profile for heavy Dolby dynamic range compression, ensures that the instantaneous signal peaks do not exceed specified levels." + }, + "LfeControl": { + "shape": "Eac3LfeControl", + "locationName": "lfeControl", + "documentation": "When encoding 3/2 audio, setting to lfe enables the LFE channel" + }, + "LfeFilter": { + "shape": "Eac3LfeFilter", + "locationName": "lfeFilter", + "documentation": "When set to enabled, applies a 120Hz lowpass filter to the LFE channel prior to encoding. Only valid with codingMode32 coding mode." + }, + "LoRoCenterMixLevel": { + "shape": "__double", + "locationName": "loRoCenterMixLevel", + "documentation": "Left only/Right only center mix level. Only used for 3/2 coding mode." + }, + "LoRoSurroundMixLevel": { + "shape": "__double", + "locationName": "loRoSurroundMixLevel", + "documentation": "Left only/Right only surround mix level. Only used for 3/2 coding mode." + }, + "LtRtCenterMixLevel": { + "shape": "__double", + "locationName": "ltRtCenterMixLevel", + "documentation": "Left total/Right total center mix level. Only used for 3/2 coding mode." + }, + "LtRtSurroundMixLevel": { + "shape": "__double", + "locationName": "ltRtSurroundMixLevel", + "documentation": "Left total/Right total surround mix level. Only used for 3/2 coding mode." + }, + "MetadataControl": { + "shape": "Eac3MetadataControl", + "locationName": "metadataControl", + "documentation": "When set to followInput, encoder metadata will be sourced from the DD, DD+, or DolbyE decoder that supplied this audio data. If audio was not supplied from one of these streams, then the static metadata settings will be used." + }, + "PassthroughControl": { + "shape": "Eac3PassthroughControl", + "locationName": "passthroughControl", + "documentation": "When set to whenPossible, input DD+ audio will be passed through if it is present on the input. This detection is dynamic over the life of the transcode. Inputs that alternate between DD+ and non-DD+ content will have a consistent DD+ output as the system alternates between passthrough and encoding." + }, + "PhaseControl": { + "shape": "Eac3PhaseControl", + "locationName": "phaseControl", + "documentation": "When set to shift90Degrees, applies a 90-degree phase shift to the surround channels. Only used for 3/2 coding mode." + }, + "StereoDownmix": { + "shape": "Eac3StereoDownmix", + "locationName": "stereoDownmix", + "documentation": "Stereo downmix preference. Only used for 3/2 coding mode." + }, + "SurroundExMode": { + "shape": "Eac3SurroundExMode", + "locationName": "surroundExMode", + "documentation": "When encoding 3/2 audio, sets whether an extra center back surround channel is matrix encoded into the left and right surround channels." + }, + "SurroundMode": { + "shape": "Eac3SurroundMode", + "locationName": "surroundMode", + "documentation": "When encoding 2/0 audio, sets whether Dolby Surround is matrix encoded into the two channels." + } + }, + "documentation": "Eac3 Settings" + }, + "Eac3StereoDownmix": { + "type": "string", + "documentation": "Eac3 Stereo Downmix", + "enum": [ + "DPL2", + "LO_RO", + "LT_RT", + "NOT_INDICATED" + ] + }, + "Eac3SurroundExMode": { + "type": "string", + "documentation": "Eac3 Surround Ex Mode", + "enum": [ + "DISABLED", + "ENABLED", + "NOT_INDICATED" + ] + }, + "Eac3SurroundMode": { + "type": "string", + "documentation": "Eac3 Surround Mode", + "enum": [ + "DISABLED", + "ENABLED", + "NOT_INDICATED" + ] + }, + "EmbeddedConvert608To708": { + "type": "string", + "documentation": "Embedded Convert608 To708", + "enum": [ + "DISABLED", + "UPCONVERT" + ] + }, + "EmbeddedDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Embedded Destination Settings" + }, + "EmbeddedPlusScte20DestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Embedded Plus Scte20 Destination Settings" + }, + "EmbeddedScte20Detection": { + "type": "string", + "documentation": "Embedded Scte20 Detection", + "enum": [ + "AUTO", + "OFF" + ] + }, + "EmbeddedSourceSettings": { + "type": "structure", + "members": { + "Convert608To708": { + "shape": "EmbeddedConvert608To708", + "locationName": "convert608To708", + "documentation": "If upconvert, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." + }, + "Scte20Detection": { + "shape": "EmbeddedScte20Detection", + "locationName": "scte20Detection", + "documentation": "Set to \"auto\" to handle streams with intermittent and/or non-aligned SCTE-20 and Embedded captions." + }, + "Source608ChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "source608ChannelNumber", + "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + }, + "Source608TrackNumber": { + "shape": "__integerMin1Max5", + "locationName": "source608TrackNumber", + "documentation": "This field is unused and deprecated." + } + }, + "documentation": "Embedded Source Settings" + }, + "Empty": { + "type": "structure", + "members": { + }, + "documentation": "Placeholder documentation for Empty" + }, + "EncoderSettings": { + "type": "structure", + "members": { + "AudioDescriptions": { + "shape": "__listOfAudioDescription", + "locationName": "audioDescriptions" + }, + "AvailBlanking": { + "shape": "AvailBlanking", + "locationName": "availBlanking", + "documentation": "Settings for ad avail blanking." + }, + "AvailConfiguration": { + "shape": "AvailConfiguration", + "locationName": "availConfiguration", + "documentation": "Event-wide configuration settings for ad avail insertion." + }, + "BlackoutSlate": { + "shape": "BlackoutSlate", + "locationName": "blackoutSlate", + "documentation": "Settings for blackout slate." + }, + "CaptionDescriptions": { + "shape": "__listOfCaptionDescription", + "locationName": "captionDescriptions", + "documentation": "Settings for caption decriptions" + }, + "GlobalConfiguration": { + "shape": "GlobalConfiguration", + "locationName": "globalConfiguration", + "documentation": "Configuration settings that apply to the event as a whole." + }, + "NielsenConfiguration": { + "shape": "NielsenConfiguration", + "locationName": "nielsenConfiguration", + "documentation": "Nielsen configuration settings." + }, + "OutputGroups": { + "shape": "__listOfOutputGroup", + "locationName": "outputGroups" + }, + "TimecodeConfig": { + "shape": "TimecodeConfig", + "locationName": "timecodeConfig", + "documentation": "Contains settings used to acquire and adjust timecode information from inputs." + }, + "VideoDescriptions": { + "shape": "__listOfVideoDescription", + "locationName": "videoDescriptions" + } + }, + "documentation": "Encoder Settings", + "required": [ + "VideoDescriptions", + "AudioDescriptions", + "OutputGroups", + "TimecodeConfig" + ] + }, + "FecOutputIncludeFec": { + "type": "string", + "documentation": "Fec Output Include Fec", + "enum": [ + "COLUMN", + "COLUMN_AND_ROW" + ] + }, + "FecOutputSettings": { + "type": "structure", + "members": { + "ColumnDepth": { + "shape": "__integerMin4Max20", + "locationName": "columnDepth", + "documentation": "Parameter D from SMPTE 2022-1. The height of the FEC protection matrix. The number of transport stream packets per column error correction packet. Must be between 4 and 20, inclusive." + }, + "IncludeFec": { + "shape": "FecOutputIncludeFec", + "locationName": "includeFec", + "documentation": "Enables column only or column and row based FEC" + }, + "RowLength": { + "shape": "__integerMin1Max20", + "locationName": "rowLength", + "documentation": "Parameter L from SMPTE 2022-1. The width of the FEC protection matrix. Must be between 1 and 20, inclusive. If only Column FEC is used, then larger values increase robustness. If Row FEC is used, then this is the number of transport stream packets per row error correction packet, and the value must be between 4 and 20, inclusive, if includeFec is columnAndRow. If includeFec is column, this value must be 1 to 20, inclusive." + } + }, + "documentation": "Fec Output Settings" + }, + "FixedAfd": { + "type": "string", + "documentation": "Fixed Afd", + "enum": [ + "AFD_0000", + "AFD_0010", + "AFD_0011", + "AFD_0100", + "AFD_1000", + "AFD_1001", + "AFD_1010", + "AFD_1011", + "AFD_1101", + "AFD_1110", + "AFD_1111" + ] + }, + "FixedModeScheduleActionStartSettings": { + "type": "structure", + "members": { + "Time": { + "shape": "__string", + "locationName": "time", + "documentation": "Start time for the action to start in the channel. (Not the time for the action to be added to the schedule: actions are always added to the schedule immediately.) UTC format: yyyy-mm-ddThh:mm:ss.nnnZ. All the letters are digits (for example, mm might be 01) except for the two constants \"T\" for time and \"Z\" for \"UTC format\"." + } + }, + "documentation": "Start time for the action.", + "required": [ + "Time" + ] + }, + "Fmp4HlsSettings": { + "type": "structure", + "members": { + "AudioRenditionSets": { + "shape": "__string", + "locationName": "audioRenditionSets", + "documentation": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','." + }, + "NielsenId3Behavior": { + "shape": "Fmp4NielsenId3Behavior", + "locationName": "nielsenId3Behavior", + "documentation": "If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + }, + "TimedMetadataBehavior": { + "shape": "Fmp4TimedMetadataBehavior", + "locationName": "timedMetadataBehavior", + "documentation": "When set to passthrough, timed metadata is passed through from input to output." + } + }, + "documentation": "Fmp4 Hls Settings" + }, + "Fmp4NielsenId3Behavior": { + "type": "string", + "documentation": "Fmp4 Nielsen Id3 Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "Fmp4TimedMetadataBehavior": { + "type": "string", + "documentation": "Fmp4 Timed Metadata Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "FollowModeScheduleActionStartSettings": { + "type": "structure", + "members": { + "FollowPoint": { + "shape": "FollowPoint", + "locationName": "followPoint", + "documentation": "Identifies whether this action starts relative to the start or relative to the end of the reference action." + }, + "ReferenceActionName": { + "shape": "__string", + "locationName": "referenceActionName", + "documentation": "The action name of another action that this one refers to." + } + }, + "documentation": "Settings to specify if an action follows another.", + "required": [ + "ReferenceActionName", + "FollowPoint" + ] + }, + "FollowPoint": { + "type": "string", + "documentation": "Follow reference point.", + "enum": [ + "END", + "START" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 403 + }, + "documentation": "Placeholder documentation for ForbiddenException" + }, + "FrameCaptureGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "The destination for the frame capture files. Either the URI for an Amazon S3 bucket and object, plus a file name prefix (for example, s3ssl://sportsDelivery/highlights/20180820/curling_) or the URI for a MediaStore container, plus a file name prefix (for example, mediastoressl://sportsDelivery/20180820/curling_). The final file names consist of the prefix from the destination field (for example, \"curling_\") + name modifier + the counter (5 digits, starting from 00001) + extension (which is always .jpg). For example, curlingLow.00001.jpg" + } + }, + "documentation": "Frame Capture Group Settings", + "required": [ + "Destination" + ] + }, + "FrameCaptureIntervalUnit": { + "type": "string", + "documentation": "Frame Capture Interval Unit", + "enum": [ + "MILLISECONDS", + "SECONDS" + ] + }, + "FrameCaptureOutputSettings": { + "type": "structure", + "members": { + "NameModifier": { + "shape": "__string", + "locationName": "nameModifier", + "documentation": "Required if the output group contains more than one output. This modifier forms part of the output file name." + } + }, + "documentation": "Frame Capture Output Settings" + }, + "FrameCaptureSettings": { + "type": "structure", + "members": { + "CaptureInterval": { + "shape": "__integerMin1Max3600000", + "locationName": "captureInterval", + "documentation": "The frequency at which to capture frames for inclusion in the output. May be specified in either seconds or milliseconds, as specified by captureIntervalUnits." + }, + "CaptureIntervalUnits": { + "shape": "FrameCaptureIntervalUnit", + "locationName": "captureIntervalUnits", + "documentation": "Unit for the frame capture interval." + } + }, + "documentation": "Frame Capture Settings", + "required": [ + "CaptureInterval" + ] + }, + "GatewayTimeoutException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 504 + }, + "documentation": "Placeholder documentation for GatewayTimeoutException" + }, + "GlobalConfiguration": { + "type": "structure", + "members": { + "InitialAudioGain": { + "shape": "__integerMinNegative60Max60", + "locationName": "initialAudioGain", + "documentation": "Value to set the initial audio gain for the Live Event." + }, + "InputEndAction": { + "shape": "GlobalConfigurationInputEndAction", + "locationName": "inputEndAction", + "documentation": "Indicates the action to take when the current input completes (e.g. end-of-file). When switchAndLoopInputs is configured the encoder will restart at the beginning of the first input. When \"none\" is configured the encoder will transcode either black, a solid color, or a user specified slate images per the \"Input Loss Behavior\" configuration until the next input switch occurs (which is controlled through the Channel Schedule API)." + }, + "InputLossBehavior": { + "shape": "InputLossBehavior", + "locationName": "inputLossBehavior", + "documentation": "Settings for system actions when input is lost." + }, + "OutputLockingMode": { + "shape": "GlobalConfigurationOutputLockingMode", + "locationName": "outputLockingMode", + "documentation": "Indicates how MediaLive pipelines are synchronized.\n\nPIPELINE_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the other.\nEPOCH_LOCKING - MediaLive will attempt to synchronize the output of each pipeline to the Unix epoch." + }, + "OutputTimingSource": { + "shape": "GlobalConfigurationOutputTimingSource", + "locationName": "outputTimingSource", + "documentation": "Indicates whether the rate of frames emitted by the Live encoder should be paced by its system clock (which optionally may be locked to another source via NTP) or should be locked to the clock of the source that is providing the input stream." + }, + "SupportLowFramerateInputs": { + "shape": "GlobalConfigurationLowFramerateInputs", + "locationName": "supportLowFramerateInputs", + "documentation": "Adjusts video input buffer for streams with very low video framerates. This is commonly set to enabled for music channels with less than one video frame per second." + } + }, + "documentation": "Global Configuration" + }, + "GlobalConfigurationInputEndAction": { + "type": "string", + "documentation": "Global Configuration Input End Action", + "enum": [ + "NONE", + "SWITCH_AND_LOOP_INPUTS" + ] + }, + "GlobalConfigurationLowFramerateInputs": { + "type": "string", + "documentation": "Global Configuration Low Framerate Inputs", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "GlobalConfigurationOutputLockingMode": { + "type": "string", + "documentation": "Global Configuration Output Locking Mode", + "enum": [ + "EPOCH_LOCKING", + "PIPELINE_LOCKING" + ] + }, + "GlobalConfigurationOutputTimingSource": { + "type": "string", + "documentation": "Global Configuration Output Timing Source", + "enum": [ + "INPUT_CLOCK", + "SYSTEM_CLOCK" + ] + }, + "H264AdaptiveQuantization": { + "type": "string", + "documentation": "H264 Adaptive Quantization", + "enum": [ + "HIGH", + "HIGHER", + "LOW", + "MAX", + "MEDIUM", + "OFF" + ] + }, + "H264ColorMetadata": { + "type": "string", + "documentation": "H264 Color Metadata", + "enum": [ + "IGNORE", + "INSERT" + ] + }, + "H264ColorSpaceSettings": { + "type": "structure", + "members": { + "ColorSpacePassthroughSettings": { + "shape": "ColorSpacePassthroughSettings", + "locationName": "colorSpacePassthroughSettings" + }, + "Rec601Settings": { + "shape": "Rec601Settings", + "locationName": "rec601Settings" + }, + "Rec709Settings": { + "shape": "Rec709Settings", + "locationName": "rec709Settings" + } + }, + "documentation": "H264 Color Space Settings" + }, + "H264EntropyEncoding": { + "type": "string", + "documentation": "H264 Entropy Encoding", + "enum": [ + "CABAC", + "CAVLC" + ] + }, + "H264FilterSettings": { + "type": "structure", + "members": { + "TemporalFilterSettings": { + "shape": "TemporalFilterSettings", + "locationName": "temporalFilterSettings" + } + }, + "documentation": "H264 Filter Settings" + }, + "H264FlickerAq": { + "type": "string", + "documentation": "H264 Flicker Aq", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264ForceFieldPictures": { + "type": "string", + "documentation": "H264 Force Field Pictures", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264FramerateControl": { + "type": "string", + "documentation": "H264 Framerate Control", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H264GopBReference": { + "type": "string", + "documentation": "H264 Gop BReference", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264GopSizeUnits": { + "type": "string", + "documentation": "H264 Gop Size Units", + "enum": [ + "FRAMES", + "SECONDS" + ] + }, + "H264Level": { + "type": "string", + "documentation": "H264 Level", + "enum": [ + "H264_LEVEL_1", + "H264_LEVEL_1_1", + "H264_LEVEL_1_2", + "H264_LEVEL_1_3", + "H264_LEVEL_2", + "H264_LEVEL_2_1", + "H264_LEVEL_2_2", + "H264_LEVEL_3", + "H264_LEVEL_3_1", + "H264_LEVEL_3_2", + "H264_LEVEL_4", + "H264_LEVEL_4_1", + "H264_LEVEL_4_2", + "H264_LEVEL_5", + "H264_LEVEL_5_1", + "H264_LEVEL_5_2", + "H264_LEVEL_AUTO" + ] + }, + "H264LookAheadRateControl": { + "type": "string", + "documentation": "H264 Look Ahead Rate Control", + "enum": [ + "HIGH", + "LOW", + "MEDIUM" + ] + }, + "H264ParControl": { + "type": "string", + "documentation": "H264 Par Control", + "enum": [ + "INITIALIZE_FROM_SOURCE", + "SPECIFIED" + ] + }, + "H264Profile": { + "type": "string", + "documentation": "H264 Profile", + "enum": [ + "BASELINE", + "HIGH", + "HIGH_10BIT", + "HIGH_422", + "HIGH_422_10BIT", + "MAIN" + ] + }, + "H264QualityLevel": { + "type": "string", + "documentation": "H264 Quality Level", + "enum": [ + "ENHANCED_QUALITY", + "STANDARD_QUALITY" + ] + }, + "H264RateControlMode": { + "type": "string", + "documentation": "H264 Rate Control Mode", + "enum": [ + "CBR", + "MULTIPLEX", + "QVBR", + "VBR" + ] + }, + "H264ScanType": { + "type": "string", + "documentation": "H264 Scan Type", + "enum": [ + "INTERLACED", + "PROGRESSIVE" + ] + }, + "H264SceneChangeDetect": { + "type": "string", + "documentation": "H264 Scene Change Detect", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "H264AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "AfdSignaling": { + "shape": "AfdSignaling", + "locationName": "afdSignaling", + "documentation": "Indicates that AFD values will be written into the output stream. If afdSignaling is \"auto\", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to \"fixed\", the AFD value will be the value configured in the fixedAfd parameter." + }, + "Bitrate": { + "shape": "__integerMin1000", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000." + }, + "BufFillPct": { + "shape": "__integerMin0Max100", + "locationName": "bufFillPct", + "documentation": "Percentage of the buffer that should initially be filled (HRD buffer model)." + }, + "BufSize": { + "shape": "__integerMin0", + "locationName": "bufSize", + "documentation": "Size of buffer (HRD buffer model) in bits." + }, + "ColorMetadata": { + "shape": "H264ColorMetadata", + "locationName": "colorMetadata", + "documentation": "Includes colorspace metadata in the output." + }, + "ColorSpaceSettings": { + "shape": "H264ColorSpaceSettings", + "locationName": "colorSpaceSettings", + "documentation": "Color Space settings" + }, + "EntropyEncoding": { + "shape": "H264EntropyEncoding", + "locationName": "entropyEncoding", + "documentation": "Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc." + }, + "FilterSettings": { + "shape": "H264FilterSettings", + "locationName": "filterSettings", + "documentation": "Optional filters that you can apply to an encode." + }, + "FixedAfd": { + "shape": "FixedAfd", + "locationName": "fixedAfd", + "documentation": "Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'." + }, + "FlickerAq": { + "shape": "H264FlickerAq", + "locationName": "flickerAq", + "documentation": "If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames." + }, + "ForceFieldPictures": { + "shape": "H264ForceFieldPictures", + "locationName": "forceFieldPictures", + "documentation": "This setting applies only when scan type is \"interlaced.\" It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.)\nenabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately.\ndisabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content." + }, + "FramerateControl": { + "shape": "H264FramerateControl", + "locationName": "framerateControl", + "documentation": "This field indicates how the output video frame rate is specified. If \"specified\" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if \"initializeFromSource\" is selected then the output video frame rate will be set equal to the input video frame rate of the first input." + }, + "FramerateDenominator": { + "shape": "__integerMin1", + "locationName": "framerateDenominator", + "documentation": "Framerate denominator." + }, + "FramerateNumerator": { + "shape": "__integerMin1", + "locationName": "framerateNumerator", + "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + }, + "GopBReference": { + "shape": "H264GopBReference", + "locationName": "gopBReference", + "documentation": "Documentation update needed" + }, + "GopClosedCadence": { + "shape": "__integerMin0", + "locationName": "gopClosedCadence", + "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." + }, + "GopNumBFrames": { + "shape": "__integerMin0Max7", + "locationName": "gopNumBFrames", + "documentation": "Number of B-frames between reference frames." + }, + "GopSize": { + "shape": "__double", + "locationName": "gopSize", + "documentation": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.\nIf gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1.\nIf gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer." + }, + "GopSizeUnits": { + "shape": "H264GopSizeUnits", + "locationName": "gopSizeUnits", + "documentation": "Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time." + }, + "Level": { + "shape": "H264Level", + "locationName": "level", + "documentation": "H.264 Level." + }, + "LookAheadRateControl": { + "shape": "H264LookAheadRateControl", + "locationName": "lookAheadRateControl", + "documentation": "Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content." + }, + "MaxBitrate": { + "shape": "__integerMin1000", + "locationName": "maxBitrate", + "documentation": "For QVBR: See the tooltip for Quality level\n\nFor VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video." + }, + "MinIInterval": { + "shape": "__integerMin0Max30", + "locationName": "minIInterval", + "documentation": "Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + }, + "NumRefFrames": { + "shape": "__integerMin1Max6", + "locationName": "numRefFrames", + "documentation": "Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding." + }, + "ParControl": { + "shape": "H264ParControl", + "locationName": "parControl", + "documentation": "This field indicates how the output pixel aspect ratio is specified. If \"specified\" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if \"initializeFromSource\" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input." + }, + "ParDenominator": { + "shape": "__integerMin1", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integer", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "Profile": { + "shape": "H264Profile", + "locationName": "profile", + "documentation": "H.264 Profile." + }, + "QualityLevel": { + "shape": "H264QualityLevel", + "locationName": "qualityLevel", + "documentation": "Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).\n- ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY.\n- STANDARD_QUALITY: Valid for any Rate control mode." + }, + "QvbrQualityLevel": { + "shape": "__integerMin1Max10", + "locationName": "qvbrQualityLevel", + "documentation": "Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are:\n- Primary screen: Quality level: 8 to 10. Max bitrate: 4M\n- PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M\n- Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M" + }, + "RateControlMode": { + "shape": "H264RateControlMode", + "locationName": "rateControlMode", + "documentation": "Rate control mode.\n\nQVBR: Quality will match the specified quality level except when it is constrained by the\nmaximum bitrate. Recommended if you or your viewers pay for bandwidth.\n\nVBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR\nif you want to maintain a specific average bitrate over the duration of the channel.\n\nCBR: Quality varies, depending on the video complexity. Recommended only if you distribute\nyour assets to devices that cannot handle variable bitrates.\n\nMultiplex: This rate control mode is only supported (and is required) when the video is being\ndelivered to a MediaLive Multiplex in which case the rate control configuration is controlled\nby the properties within the Multiplex Program." + }, + "ScanType": { + "shape": "H264ScanType", + "locationName": "scanType", + "documentation": "Sets the scan type of the output to progressive or top-field-first interlaced." + }, + "SceneChangeDetect": { + "shape": "H264SceneChangeDetect", + "locationName": "sceneChangeDetect", + "documentation": "Scene change detection.\n\n- On: inserts I-frames when scene change is detected.\n- Off: does not force an I-frame when scene change is detected." + }, + "Slices": { + "shape": "__integerMin1Max32", + "locationName": "slices", + "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures.\nThis field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution." + }, + "Softness": { + "shape": "__integerMin0Max128", + "locationName": "softness", + "documentation": "Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image." + }, + "SpatialAq": { + "shape": "H264SpatialAq", + "locationName": "spatialAq", + "documentation": "If set to enabled, adjust quantization within each frame based on spatial variation of content complexity." + }, + "SubgopLength": { + "shape": "H264SubGopLength", + "locationName": "subgopLength", + "documentation": "If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality." + }, + "Syntax": { + "shape": "H264Syntax", + "locationName": "syntax", + "documentation": "Produces a bitstream compliant with SMPTE RP-2027." + }, + "TemporalAq": { + "shape": "H264TemporalAq", + "locationName": "temporalAq", + "documentation": "If set to enabled, adjust quantization within each frame based on temporal variation of content complexity." + }, + "TimecodeInsertion": { + "shape": "H264TimecodeInsertionBehavior", + "locationName": "timecodeInsertion", + "documentation": "Determines how timecodes should be inserted into the video elementary stream.\n- 'disabled': Do not include timecodes\n- 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config" + } + }, + "documentation": "H264 Settings" + }, + "H264SpatialAq": { + "type": "string", + "documentation": "H264 Spatial Aq", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264SubGopLength": { + "type": "string", + "documentation": "H264 Sub Gop Length", + "enum": [ + "DYNAMIC", + "FIXED" + ] + }, + "H264Syntax": { + "type": "string", + "documentation": "H264 Syntax", + "enum": [ + "DEFAULT", + "RP2027" + ] + }, + "H264TemporalAq": { + "type": "string", + "documentation": "H264 Temporal Aq", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H264TimecodeInsertionBehavior": { + "type": "string", + "documentation": "H264 Timecode Insertion Behavior", + "enum": [ + "DISABLED", + "PIC_TIMING_SEI" + ] + }, + "H265AdaptiveQuantization": { + "type": "string", + "documentation": "H265 Adaptive Quantization", + "enum": [ + "HIGH", + "HIGHER", + "LOW", + "MAX", + "MEDIUM", + "OFF" + ] + }, + "H265AlternativeTransferFunction": { + "type": "string", + "documentation": "H265 Alternative Transfer Function", + "enum": [ + "INSERT", + "OMIT" + ] + }, + "H265ColorMetadata": { + "type": "string", + "documentation": "H265 Color Metadata", + "enum": [ + "IGNORE", + "INSERT" + ] + }, + "H265ColorSpaceSettings": { + "type": "structure", + "members": { + "ColorSpacePassthroughSettings": { + "shape": "ColorSpacePassthroughSettings", + "locationName": "colorSpacePassthroughSettings" + }, + "Hdr10Settings": { + "shape": "Hdr10Settings", + "locationName": "hdr10Settings" + }, + "Rec601Settings": { + "shape": "Rec601Settings", + "locationName": "rec601Settings" + }, + "Rec709Settings": { + "shape": "Rec709Settings", + "locationName": "rec709Settings" + } + }, + "documentation": "H265 Color Space Settings" + }, + "H265FlickerAq": { + "type": "string", + "documentation": "H265 Flicker Aq", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265GopSizeUnits": { + "type": "string", + "documentation": "H265 Gop Size Units", + "enum": [ + "FRAMES", + "SECONDS" + ] + }, + "H265Level": { + "type": "string", + "documentation": "H265 Level", + "enum": [ + "H265_LEVEL_1", + "H265_LEVEL_2", + "H265_LEVEL_2_1", + "H265_LEVEL_3", + "H265_LEVEL_3_1", + "H265_LEVEL_4", + "H265_LEVEL_4_1", + "H265_LEVEL_5", + "H265_LEVEL_5_1", + "H265_LEVEL_5_2", + "H265_LEVEL_6", + "H265_LEVEL_6_1", + "H265_LEVEL_6_2", + "H265_LEVEL_AUTO" + ] + }, + "H265LookAheadRateControl": { + "type": "string", + "documentation": "H265 Look Ahead Rate Control", + "enum": [ + "HIGH", + "LOW", + "MEDIUM" + ] + }, + "H265Profile": { + "type": "string", + "documentation": "H265 Profile", + "enum": [ + "MAIN", + "MAIN_10BIT" + ] + }, + "H265RateControlMode": { + "type": "string", + "documentation": "H265 Rate Control Mode", + "enum": [ + "CBR", + "MULTIPLEX", + "QVBR" + ] + }, + "H265ScanType": { + "type": "string", + "documentation": "H265 Scan Type", + "enum": [ + "PROGRESSIVE" + ] + }, + "H265SceneChangeDetect": { + "type": "string", + "documentation": "H265 Scene Change Detect", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "H265Settings": { + "type": "structure", + "members": { + "AdaptiveQuantization": { + "shape": "H265AdaptiveQuantization", + "locationName": "adaptiveQuantization", + "documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality." + }, + "AfdSignaling": { + "shape": "AfdSignaling", + "locationName": "afdSignaling", + "documentation": "Indicates that AFD values will be written into the output stream. If afdSignaling is \"auto\", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to \"fixed\", the AFD value will be the value configured in the fixedAfd parameter." + }, + "AlternativeTransferFunction": { + "shape": "H265AlternativeTransferFunction", + "locationName": "alternativeTransferFunction", + "documentation": "Whether or not EML should insert an Alternative Transfer Function SEI message to support backwards compatibility with non-HDR decoders and displays." + }, + "Bitrate": { + "shape": "__integerMin100000Max40000000", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000." + }, + "BufSize": { + "shape": "__integerMin100000Max80000000", + "locationName": "bufSize", + "documentation": "Size of buffer (HRD buffer model) in bits." + }, + "ColorMetadata": { + "shape": "H265ColorMetadata", + "locationName": "colorMetadata", + "documentation": "Includes colorspace metadata in the output." + }, + "ColorSpaceSettings": { + "shape": "H265ColorSpaceSettings", + "locationName": "colorSpaceSettings", + "documentation": "Color Space settings" + }, + "FixedAfd": { + "shape": "FixedAfd", + "locationName": "fixedAfd", + "documentation": "Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'." + }, + "FlickerAq": { + "shape": "H265FlickerAq", + "locationName": "flickerAq", + "documentation": "If set to enabled, adjust quantization within each frame to reduce flicker or 'pop' on I-frames." + }, + "FramerateDenominator": { + "shape": "__integerMin1Max3003", + "locationName": "framerateDenominator", + "documentation": "Framerate denominator." + }, + "FramerateNumerator": { + "shape": "__integerMin1", + "locationName": "framerateNumerator", + "documentation": "Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps." + }, + "GopClosedCadence": { + "shape": "__integerMin0", + "locationName": "gopClosedCadence", + "documentation": "Frequency of closed GOPs. In streaming applications, it is recommended that this be set to 1 so a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting." + }, + "GopSize": { + "shape": "__double", + "locationName": "gopSize", + "documentation": "GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.\nIf gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1.\nIf gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer." + }, + "GopSizeUnits": { + "shape": "H265GopSizeUnits", + "locationName": "gopSizeUnits", + "documentation": "Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time." + }, + "Level": { + "shape": "H265Level", + "locationName": "level", + "documentation": "H.265 Level." + }, + "LookAheadRateControl": { + "shape": "H265LookAheadRateControl", + "locationName": "lookAheadRateControl", + "documentation": "Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content." + }, + "MaxBitrate": { + "shape": "__integerMin100000Max40000000", + "locationName": "maxBitrate", + "documentation": "For QVBR: See the tooltip for Quality level" + }, + "MinIInterval": { + "shape": "__integerMin0Max30", + "locationName": "minIInterval", + "documentation": "Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk and/or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting I-interval. The normal cadence resumes for the next GOP. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1" + }, + "ParDenominator": { + "shape": "__integerMin1", + "locationName": "parDenominator", + "documentation": "Pixel Aspect Ratio denominator." + }, + "ParNumerator": { + "shape": "__integerMin1", + "locationName": "parNumerator", + "documentation": "Pixel Aspect Ratio numerator." + }, + "Profile": { + "shape": "H265Profile", + "locationName": "profile", + "documentation": "H.265 Profile." + }, + "QvbrQualityLevel": { + "shape": "__integerMin1Max10", + "locationName": "qvbrQualityLevel", + "documentation": "Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are:\n- Primary screen: Quality level: 8 to 10. Max bitrate: 4M\n- PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M\n- Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M" + }, + "RateControlMode": { + "shape": "H265RateControlMode", + "locationName": "rateControlMode", + "documentation": "Rate control mode.\n\nQVBR: Quality will match the specified quality level except when it is constrained by the\nmaximum bitrate. Recommended if you or your viewers pay for bandwidth.\n\nCBR: Quality varies, depending on the video complexity. Recommended only if you distribute\nyour assets to devices that cannot handle variable bitrates." + }, + "ScanType": { + "shape": "H265ScanType", + "locationName": "scanType", + "documentation": "Sets the scan type of the output to progressive or top-field-first interlaced." + }, + "SceneChangeDetect": { + "shape": "H265SceneChangeDetect", + "locationName": "sceneChangeDetect", + "documentation": "Scene change detection." + }, + "Slices": { + "shape": "__integerMin1Max16", + "locationName": "slices", + "documentation": "Number of slices per picture. Must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures.\nThis field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution." + }, + "Tier": { + "shape": "H265Tier", + "locationName": "tier", + "documentation": "H.265 Tier." + }, + "TimecodeInsertion": { + "shape": "H265TimecodeInsertionBehavior", + "locationName": "timecodeInsertion", + "documentation": "Determines how timecodes should be inserted into the video elementary stream.\n- 'disabled': Do not include timecodes\n- 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config" + } + }, + "documentation": "H265 Settings", + "required": [ + "FramerateNumerator", + "FramerateDenominator" + ] + }, + "H265Tier": { + "type": "string", + "documentation": "H265 Tier", + "enum": [ + "HIGH", + "MAIN" + ] + }, + "H265TimecodeInsertionBehavior": { + "type": "string", + "documentation": "H265 Timecode Insertion Behavior", + "enum": [ + "DISABLED", + "PIC_TIMING_SEI" + ] + }, + "Hdr10Settings": { + "type": "structure", + "members": { + "MaxCll": { + "shape": "__integerMin0Max32768", + "locationName": "maxCll", + "documentation": "Maximum Content Light Level\nAn integer metadata value defining the maximum light level, in nits,\nof any single pixel within an encoded HDR video stream or file." + }, + "MaxFall": { + "shape": "__integerMin0Max32768", + "locationName": "maxFall", + "documentation": "Maximum Frame Average Light Level\nAn integer metadata value defining the maximum average light level, in nits,\nfor any single frame within an encoded HDR video stream or file." + } + }, + "documentation": "Hdr10 Settings" + }, + "HlsAdMarkers": { + "type": "string", + "documentation": "Hls Ad Markers", + "enum": [ + "ADOBE", + "ELEMENTAL", + "ELEMENTAL_SCTE35" + ] + }, + "HlsAkamaiHttpTransferMode": { + "type": "string", + "documentation": "Hls Akamai Http Transfer Mode", + "enum": [ + "CHUNKED", + "NON_CHUNKED" + ] + }, + "HlsAkamaiSettings": { + "type": "structure", + "members": { + "ConnectionRetryInterval": { + "shape": "__integerMin0", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." + }, + "FilecacheDuration": { + "shape": "__integerMin0Max600", + "locationName": "filecacheDuration", + "documentation": "Size in seconds of file cache for streaming outputs." + }, + "HttpTransferMode": { + "shape": "HlsAkamaiHttpTransferMode", + "locationName": "httpTransferMode", + "documentation": "Specify whether or not to use chunked transfer encoding to Akamai. User should contact Akamai to enable this feature." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." + }, + "RestartDelay": { + "shape": "__integerMin0Max15", + "locationName": "restartDelay", + "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." + }, + "Salt": { + "shape": "__string", + "locationName": "salt", + "documentation": "Salt for authenticated Akamai." + }, + "Token": { + "shape": "__string", + "locationName": "token", + "documentation": "Token parameter for authenticated akamai. If not specified, _gda_ is used." + } + }, + "documentation": "Hls Akamai Settings" + }, + "HlsBasicPutSettings": { + "type": "structure", + "members": { + "ConnectionRetryInterval": { + "shape": "__integerMin0", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." + }, + "FilecacheDuration": { + "shape": "__integerMin0Max600", + "locationName": "filecacheDuration", + "documentation": "Size in seconds of file cache for streaming outputs." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." + }, + "RestartDelay": { + "shape": "__integerMin0Max15", + "locationName": "restartDelay", + "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." + } + }, + "documentation": "Hls Basic Put Settings" + }, + "HlsCaptionLanguageSetting": { + "type": "string", + "documentation": "Hls Caption Language Setting", + "enum": [ + "INSERT", + "NONE", + "OMIT" + ] + }, + "HlsCdnSettings": { + "type": "structure", + "members": { + "HlsAkamaiSettings": { + "shape": "HlsAkamaiSettings", + "locationName": "hlsAkamaiSettings" + }, + "HlsBasicPutSettings": { + "shape": "HlsBasicPutSettings", + "locationName": "hlsBasicPutSettings" + }, + "HlsMediaStoreSettings": { + "shape": "HlsMediaStoreSettings", + "locationName": "hlsMediaStoreSettings" + }, + "HlsWebdavSettings": { + "shape": "HlsWebdavSettings", + "locationName": "hlsWebdavSettings" + } + }, + "documentation": "Hls Cdn Settings" + }, + "HlsClientCache": { + "type": "string", + "documentation": "Hls Client Cache", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "HlsCodecSpecification": { + "type": "string", + "documentation": "Hls Codec Specification", + "enum": [ + "RFC_4281", + "RFC_6381" + ] + }, + "HlsDirectoryStructure": { + "type": "string", + "documentation": "Hls Directory Structure", + "enum": [ + "SINGLE_DIRECTORY", + "SUBDIRECTORY_PER_STREAM" + ] + }, + "HlsEncryptionType": { + "type": "string", + "documentation": "Hls Encryption Type", + "enum": [ + "AES128", + "SAMPLE_AES" + ] + }, + "HlsGroupSettings": { + "type": "structure", + "members": { + "AdMarkers": { + "shape": "__listOfHlsAdMarkers", + "locationName": "adMarkers", + "documentation": "Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs." + }, + "BaseUrlContent": { + "shape": "__string", + "locationName": "baseUrlContent", + "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." + }, + "BaseUrlContent1": { + "shape": "__string", + "locationName": "baseUrlContent1", + "documentation": "Optional. One value per output group.\n\nThis field is required only if you are completing Base URL content A, and the downstream system has notified you that the media files for pipeline 1 of all outputs are in a location different from the media files for pipeline 0." + }, + "BaseUrlManifest": { + "shape": "__string", + "locationName": "baseUrlManifest", + "documentation": "A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file." + }, + "BaseUrlManifest1": { + "shape": "__string", + "locationName": "baseUrlManifest1", + "documentation": "Optional. One value per output group.\n\nComplete this field only if you are completing Base URL manifest A, and the downstream system has notified you that the child manifest files for pipeline 1 of all outputs are in a location different from the child manifest files for pipeline 0." + }, + "CaptionLanguageMappings": { + "shape": "__listOfCaptionLanguageMapping", + "locationName": "captionLanguageMappings", + "documentation": "Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\"." + }, + "CaptionLanguageSetting": { + "shape": "HlsCaptionLanguageSetting", + "locationName": "captionLanguageSetting", + "documentation": "Applies only to 608 Embedded output captions.\ninsert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions.\nnone: Include CLOSED-CAPTIONS=NONE line in the manifest.\nomit: Omit any CLOSED-CAPTIONS line from the manifest." + }, + "ClientCache": { + "shape": "HlsClientCache", + "locationName": "clientCache", + "documentation": "When set to \"disabled\", sets the #EXT-X-ALLOW-CACHE:no tag in the manifest, which prevents clients from saving media segments for later replay." + }, + "CodecSpecification": { + "shape": "HlsCodecSpecification", + "locationName": "codecSpecification", + "documentation": "Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation." + }, + "ConstantIv": { + "shape": "__stringMin32Max32", + "locationName": "constantIv", + "documentation": "For use with encryptionType. This is a 128-bit, 16-byte hex value represented by a 32-character text string. If ivSource is set to \"explicit\" then this parameter is required and is used as the IV for encryption." + }, + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled)." + }, + "DirectoryStructure": { + "shape": "HlsDirectoryStructure", + "locationName": "directoryStructure", + "documentation": "Place segments in subdirectories." + }, + "EncryptionType": { + "shape": "HlsEncryptionType", + "locationName": "encryptionType", + "documentation": "Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired." + }, + "HlsCdnSettings": { + "shape": "HlsCdnSettings", + "locationName": "hlsCdnSettings", + "documentation": "Parameters that control interactions with the CDN." + }, + "HlsId3SegmentTagging": { + "shape": "HlsId3SegmentTaggingState", + "locationName": "hlsId3SegmentTagging", + "documentation": "State of HLS ID3 Segment Tagging" + }, + "IFrameOnlyPlaylists": { + "shape": "IFrameOnlyPlaylistType", + "locationName": "iFrameOnlyPlaylists", + "documentation": "DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field).\n\nSTANDARD: Create an I-frame-only manifest for each output that contains video, as well as the other manifests (according to the Output Selection field). The I-frame manifest contains a #EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or more #EXT-X-BYTERANGE entries identifying the I-frame position. For example, #EXT-X-BYTERANGE:160364@1461888\"" + }, + "IndexNSegments": { + "shape": "__integerMin3", + "locationName": "indexNSegments", + "documentation": "Applies only if Mode field is LIVE. Specifies the maximum number of segments in the media manifest file. After this maximum, older segments are removed from the media manifest. This number must be less than or equal to the Keep Segments field." + }, + "InputLossAction": { + "shape": "InputLossActionForHlsOut", + "locationName": "inputLossAction", + "documentation": "Parameter that control output group behavior on input loss." + }, + "IvInManifest": { + "shape": "HlsIvInManifest", + "locationName": "ivInManifest", + "documentation": "For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to \"include\", IV is listed in the manifest, otherwise the IV is not in the manifest." + }, + "IvSource": { + "shape": "HlsIvSource", + "locationName": "ivSource", + "documentation": "For use with encryptionType. The IV (Initialization Vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is \"followsSegmentNumber\", it will cause the IV to change every segment (to match the segment number). If this is set to \"explicit\", you must enter a constantIv value." + }, + "KeepSegments": { + "shape": "__integerMin1", + "locationName": "keepSegments", + "documentation": "Applies only if Mode field is LIVE. Specifies the number of media segments (.ts files) to retain in the destination directory." + }, + "KeyFormat": { + "shape": "__string", + "locationName": "keyFormat", + "documentation": "The value specifies how the key is represented in the resource identified by the URI. If parameter is absent, an implicit value of \"identity\" is used. A reverse DNS string can also be given." + }, + "KeyFormatVersions": { + "shape": "__string", + "locationName": "keyFormatVersions", + "documentation": "Either a single positive integer version value or a slash delimited list of version values (1/2/3)." + }, + "KeyProviderSettings": { + "shape": "KeyProviderSettings", + "locationName": "keyProviderSettings", + "documentation": "The key provider settings." + }, + "ManifestCompression": { + "shape": "HlsManifestCompression", + "locationName": "manifestCompression", + "documentation": "When set to gzip, compresses HLS playlist." + }, + "ManifestDurationFormat": { + "shape": "HlsManifestDurationFormat", + "locationName": "manifestDurationFormat", + "documentation": "Indicates whether the output manifest should use floating point or integer values for segment duration." + }, + "MinSegmentLength": { + "shape": "__integerMin0", + "locationName": "minSegmentLength", + "documentation": "When set, minimumSegmentLength is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed." + }, + "Mode": { + "shape": "HlsMode", + "locationName": "mode", + "documentation": "If \"vod\", all segments are indexed and kept permanently in the destination and manifest. If \"live\", only the number segments specified in keepSegments and indexNSegments are kept; newer segments replace older segments, which may prevent players from rewinding all the way to the beginning of the event.\n\nVOD mode uses HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running, converting it to a \"VOD\" type manifest on completion of the stream." + }, + "OutputSelection": { + "shape": "HlsOutputSelection", + "locationName": "outputSelection", + "documentation": "MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group.\n\nVARIANT_MANIFESTS_AND_SEGMENTS: Generates media manifests for this output group, but not a master manifest.\n\nSEGMENTS_ONLY: Does not generate any manifests for this output group." + }, + "ProgramDateTime": { + "shape": "HlsProgramDateTime", + "locationName": "programDateTime", + "documentation": "Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestampOffset." + }, + "ProgramDateTimePeriod": { + "shape": "__integerMin0Max3600", + "locationName": "programDateTimePeriod", + "documentation": "Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds." + }, + "RedundantManifest": { + "shape": "HlsRedundantManifest", + "locationName": "redundantManifest", + "documentation": "ENABLED: The master manifest (.m3u8 file) for each pipeline includes information about both pipelines: first its own media files, then the media files of the other pipeline. This feature allows playout device that support stale manifest detection to switch from one manifest to the other, when the current manifest seems to be stale. There are still two destinations and two master manifests, but both master manifests reference the media files from both pipelines.\n\nDISABLED: The master manifest (.m3u8 file) for each pipeline includes information about its own pipeline only.\n\nFor an HLS output group with MediaPackage as the destination, the DISABLED behavior is always followed. MediaPackage regenerates the manifests it serves to players so a redundant manifest from MediaLive is irrelevant." + }, + "SegmentLength": { + "shape": "__integerMin1", + "locationName": "segmentLength", + "documentation": "Length of MPEG-2 Transport Stream segments to create (in seconds). Note that segments will end on the next keyframe after this number of seconds, so actual segment length may be longer." + }, + "SegmentationMode": { + "shape": "HlsSegmentationMode", + "locationName": "segmentationMode", + "documentation": "useInputSegmentation has been deprecated. The configured segment size is always used." + }, + "SegmentsPerSubdirectory": { + "shape": "__integerMin1", + "locationName": "segmentsPerSubdirectory", + "documentation": "Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect." + }, + "StreamInfResolution": { + "shape": "HlsStreamInfResolution", + "locationName": "streamInfResolution", + "documentation": "Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest." + }, + "TimedMetadataId3Frame": { + "shape": "HlsTimedMetadataId3Frame", + "locationName": "timedMetadataId3Frame", + "documentation": "Indicates ID3 frame that has the timecode." + }, + "TimedMetadataId3Period": { + "shape": "__integerMin0", + "locationName": "timedMetadataId3Period", + "documentation": "Timed Metadata interval in seconds." + }, + "TimestampDeltaMilliseconds": { + "shape": "__integerMin0", + "locationName": "timestampDeltaMilliseconds", + "documentation": "Provides an extra millisecond delta offset to fine tune the timestamps." + }, + "TsFileMode": { + "shape": "HlsTsFileMode", + "locationName": "tsFileMode", + "documentation": "SEGMENTED_FILES: Emit the program as segments - multiple .ts media files.\n\nSINGLE_FILE: Applies only if Mode field is VOD. Emit the program as a single .ts media file. The media manifest includes #EXT-X-BYTERANGE tags to index segments for playback. A typical use for this value is when sending the output to AWS Elemental MediaConvert, which can accept only a single media file. Playback while the channel is running is not guaranteed due to HTTP server caching." + } + }, + "documentation": "Hls Group Settings", + "required": [ + "Destination" + ] + }, + "HlsH265PackagingType": { + "type": "string", + "documentation": "Hls H265 Packaging Type", + "enum": [ + "HEV1", + "HVC1" + ] + }, + "HlsId3SegmentTaggingScheduleActionSettings": { + "type": "structure", + "members": { + "Tag": { + "shape": "__string", + "locationName": "tag", + "documentation": "ID3 tag to insert into each segment. Supports special keyword identifiers to substitute in segment-related values.\\nSupported keyword identifiers: https://docs.aws.amazon.com/medialive/latest/ug/variable-data-identifiers.html" + } + }, + "documentation": "Settings for the action to insert a user-defined ID3 tag in each HLS segment", + "required": [ + "Tag" + ] + }, + "HlsId3SegmentTaggingState": { + "type": "string", + "documentation": "State of HLS ID3 Segment Tagging", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "HlsInputSettings": { + "type": "structure", + "members": { + "Bandwidth": { + "shape": "__integerMin0", + "locationName": "bandwidth", + "documentation": "When specified the HLS stream with the m3u8 BANDWIDTH that most closely matches this value will be chosen, otherwise the highest bandwidth stream in the m3u8 will be chosen. The bitrate is specified in bits per second, as in an HLS manifest." + }, + "BufferSegments": { + "shape": "__integerMin0", + "locationName": "bufferSegments", + "documentation": "When specified, reading of the HLS input will begin this many buffer segments from the end (most recently written segment). When not specified, the HLS input will begin with the first segment specified in the m3u8." + }, + "Retries": { + "shape": "__integerMin0", + "locationName": "retries", + "documentation": "The number of consecutive times that attempts to read a manifest or segment must fail before the input is considered unavailable." + }, + "RetryInterval": { + "shape": "__integerMin0", + "locationName": "retryInterval", + "documentation": "The number of seconds between retries when an attempt to read a manifest or segment fails." + } + }, + "documentation": "Hls Input Settings" + }, + "HlsIvInManifest": { + "type": "string", + "documentation": "Hls Iv In Manifest", + "enum": [ + "EXCLUDE", + "INCLUDE" + ] + }, + "HlsIvSource": { + "type": "string", + "documentation": "Hls Iv Source", + "enum": [ + "EXPLICIT", + "FOLLOWS_SEGMENT_NUMBER" + ] + }, + "HlsManifestCompression": { + "type": "string", + "documentation": "Hls Manifest Compression", + "enum": [ + "GZIP", + "NONE" + ] + }, + "HlsManifestDurationFormat": { + "type": "string", + "documentation": "Hls Manifest Duration Format", + "enum": [ + "FLOATING_POINT", + "INTEGER" + ] + }, + "HlsMediaStoreSettings": { + "type": "structure", + "members": { + "ConnectionRetryInterval": { + "shape": "__integerMin0", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." + }, + "FilecacheDuration": { + "shape": "__integerMin0Max600", + "locationName": "filecacheDuration", + "documentation": "Size in seconds of file cache for streaming outputs." + }, + "MediaStoreStorageClass": { + "shape": "HlsMediaStoreStorageClass", + "locationName": "mediaStoreStorageClass", + "documentation": "When set to temporal, output files are stored in non-persistent memory for faster reading and writing." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." + }, + "RestartDelay": { + "shape": "__integerMin0Max15", + "locationName": "restartDelay", + "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." + } + }, + "documentation": "Hls Media Store Settings" + }, + "HlsMediaStoreStorageClass": { + "type": "string", + "documentation": "Hls Media Store Storage Class", + "enum": [ + "TEMPORAL" + ] + }, + "HlsMode": { + "type": "string", + "documentation": "Hls Mode", + "enum": [ + "LIVE", + "VOD" + ] + }, + "HlsOutputSelection": { + "type": "string", + "documentation": "Hls Output Selection", + "enum": [ + "MANIFESTS_AND_SEGMENTS", + "SEGMENTS_ONLY" + ] + }, + "HlsOutputSettings": { + "type": "structure", + "members": { + "H265PackagingType": { + "shape": "HlsH265PackagingType", + "locationName": "h265PackagingType", + "documentation": "Only applicable when this output is referencing an H.265 video description.\nSpecifies whether MP4 segments should be packaged as HEV1 or HVC1." + }, + "HlsSettings": { + "shape": "HlsSettings", + "locationName": "hlsSettings", + "documentation": "Settings regarding the underlying stream. These settings are different for audio-only outputs." + }, + "NameModifier": { + "shape": "__stringMin1", + "locationName": "nameModifier", + "documentation": "String concatenated to the end of the destination filename. Accepts \\\"Format Identifiers\\\":#formatIdentifierParameters." + }, + "SegmentModifier": { + "shape": "__string", + "locationName": "segmentModifier", + "documentation": "String concatenated to end of segment filenames." + } + }, + "documentation": "Hls Output Settings", + "required": [ + "HlsSettings" + ] + }, + "HlsProgramDateTime": { + "type": "string", + "documentation": "Hls Program Date Time", + "enum": [ + "EXCLUDE", + "INCLUDE" + ] + }, + "HlsRedundantManifest": { + "type": "string", + "documentation": "Hls Redundant Manifest", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "HlsSegmentationMode": { + "type": "string", + "documentation": "Hls Segmentation Mode", + "enum": [ + "USE_INPUT_SEGMENTATION", + "USE_SEGMENT_DURATION" + ] + }, + "HlsSettings": { + "type": "structure", + "members": { + "AudioOnlyHlsSettings": { + "shape": "AudioOnlyHlsSettings", + "locationName": "audioOnlyHlsSettings" + }, + "Fmp4HlsSettings": { + "shape": "Fmp4HlsSettings", + "locationName": "fmp4HlsSettings" + }, + "StandardHlsSettings": { + "shape": "StandardHlsSettings", + "locationName": "standardHlsSettings" + } + }, + "documentation": "Hls Settings" + }, + "HlsStreamInfResolution": { + "type": "string", + "documentation": "Hls Stream Inf Resolution", + "enum": [ + "EXCLUDE", + "INCLUDE" + ] + }, + "HlsTimedMetadataId3Frame": { + "type": "string", + "documentation": "Hls Timed Metadata Id3 Frame", + "enum": [ + "NONE", + "PRIV", + "TDRL" + ] + }, + "HlsTimedMetadataScheduleActionSettings": { + "type": "structure", + "members": { + "Id3": { + "shape": "__string", + "locationName": "id3", + "documentation": "Base64 string formatted according to the ID3 specification: http://id3.org/id3v2.4.0-structure" + } + }, + "documentation": "Settings for the action to emit HLS metadata", + "required": [ + "Id3" + ] + }, + "HlsTsFileMode": { + "type": "string", + "documentation": "Hls Ts File Mode", + "enum": [ + "SEGMENTED_FILES", + "SINGLE_FILE" + ] + }, + "HlsWebdavHttpTransferMode": { + "type": "string", + "documentation": "Hls Webdav Http Transfer Mode", + "enum": [ + "CHUNKED", + "NON_CHUNKED" + ] + }, + "HlsWebdavSettings": { + "type": "structure", + "members": { + "ConnectionRetryInterval": { + "shape": "__integerMin0", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying connection to the CDN if the connection is lost." + }, + "FilecacheDuration": { + "shape": "__integerMin0Max600", + "locationName": "filecacheDuration", + "documentation": "Size in seconds of file cache for streaming outputs." + }, + "HttpTransferMode": { + "shape": "HlsWebdavHttpTransferMode", + "locationName": "httpTransferMode", + "documentation": "Specify whether or not to use chunked transfer encoding to WebDAV." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts that will be made before the Live Event is put into an error state." + }, + "RestartDelay": { + "shape": "__integerMin0Max15", + "locationName": "restartDelay", + "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." + } + }, + "documentation": "Hls Webdav Settings" + }, + "IFrameOnlyPlaylistType": { + "type": "string", + "documentation": "When set to \"standard\", an I-Frame only playlist will be written out for each video output in the output group. This I-Frame only playlist will contain byte range offsets pointing to the I-frame(s) in each segment.", + "enum": [ + "DISABLED", + "STANDARD" + ] + }, + "ImmediateModeScheduleActionStartSettings": { + "type": "structure", + "members": { + }, + "documentation": "Settings to configure an action so that it occurs as soon as possible." + }, + "Input": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The Unique ARN of the input (generated, immutable)." + }, + "AttachedChannels": { + "shape": "__listOf__string", + "locationName": "attachedChannels", + "documentation": "A list of channel IDs that that input is attached to (currently an input can only be attached to one channel)." + }, + "Destinations": { + "shape": "__listOfInputDestination", + "locationName": "destinations", + "documentation": "A list of the destinations of the input (PUSH-type)." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The generated ID of the input (unique for user account, immutable)." + }, + "InputClass": { + "shape": "InputClass", + "locationName": "inputClass", + "documentation": "STANDARD - MediaLive expects two sources to be connected to this input. If the channel is also STANDARD, both sources will be ingested. If the channel is SINGLE_PIPELINE, only the first source will be ingested; the second source will always be ignored, even if the first source fails.\nSINGLE_PIPELINE - You can connect only one source to this input. If the ChannelClass is also SINGLE_PIPELINE, this value is valid. If the ChannelClass is STANDARD, this value is not valid because the channel requires two sources in the input.\n" + }, + "InputDevices": { + "shape": "__listOfInputDeviceSettings", + "locationName": "inputDevices", + "documentation": "Settings for the input devices." + }, + "InputSourceType": { + "shape": "InputSourceType", + "locationName": "inputSourceType", + "documentation": "Certain pull input sources can be dynamic, meaning that they can have their URL's dynamically changes\nduring input switch actions. Presently, this functionality only works with MP4_FILE inputs.\n" + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlow", + "locationName": "mediaConnectFlows", + "documentation": "A list of MediaConnect Flows for this input." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The user-assigned name (This is a mutable value)." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "SecurityGroups": { + "shape": "__listOf__string", + "locationName": "securityGroups", + "documentation": "A list of IDs for all the Input Security Groups attached to the input." + }, + "Sources": { + "shape": "__listOfInputSource", + "locationName": "sources", + "documentation": "A list of the sources of the input (PULL-type)." + }, + "State": { + "shape": "InputState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "Type": { + "shape": "InputType", + "locationName": "type" + } + }, + "documentation": "Placeholder documentation for Input" + }, + "InputAttachment": { + "type": "structure", + "members": { + "AutomaticInputFailoverSettings": { + "shape": "AutomaticInputFailoverSettings", + "locationName": "automaticInputFailoverSettings", + "documentation": "User-specified settings for defining what the conditions are for declaring the input unhealthy and failing over to a different input." + }, + "InputAttachmentName": { + "shape": "__string", + "locationName": "inputAttachmentName", + "documentation": "User-specified name for the attachment. This is required if the user wants to use this input in an input switch action." + }, + "InputId": { + "shape": "__string", + "locationName": "inputId", + "documentation": "The ID of the input" + }, + "InputSettings": { + "shape": "InputSettings", + "locationName": "inputSettings", + "documentation": "Settings of an input (caption selector, etc.)" + } + }, + "documentation": "Placeholder documentation for InputAttachment" + }, + "InputChannelLevel": { + "type": "structure", + "members": { + "Gain": { + "shape": "__integerMinNegative60Max6", + "locationName": "gain", + "documentation": "Remixing value. Units are in dB and acceptable values are within the range from -60 (mute) and 6 dB." + }, + "InputChannel": { + "shape": "__integerMin0Max15", + "locationName": "inputChannel", + "documentation": "The index of the input channel used as a source." + } + }, + "documentation": "Input Channel Level", + "required": [ + "InputChannel", + "Gain" + ] + }, + "InputClass": { + "type": "string", + "documentation": "A standard input has two sources and a single pipeline input only has one.", + "enum": [ + "STANDARD", + "SINGLE_PIPELINE" + ] + }, + "InputClippingSettings": { + "type": "structure", + "members": { + "InputTimecodeSource": { + "shape": "InputTimecodeSource", + "locationName": "inputTimecodeSource", + "documentation": "The source of the timecodes in the source being clipped." + }, + "StartTimecode": { + "shape": "StartTimecode", + "locationName": "startTimecode", + "documentation": "Settings to identify the start of the clip." + }, + "StopTimecode": { + "shape": "StopTimecode", + "locationName": "stopTimecode", + "documentation": "Settings to identify the end of the clip." + } + }, + "documentation": "Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file.", + "required": [ + "InputTimecodeSource" + ] + }, + "InputCodec": { + "type": "string", + "documentation": "codec in increasing order of complexity", + "enum": [ + "MPEG2", + "AVC", + "HEVC" + ] + }, + "InputDeblockFilter": { + "type": "string", + "documentation": "Input Deblock Filter", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "InputDenoiseFilter": { + "type": "string", + "documentation": "Input Denoise Filter", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "InputDestination": { + "type": "structure", + "members": { + "Ip": { + "shape": "__string", + "locationName": "ip", + "documentation": "The system-generated static IP address of endpoint.\nIt remains fixed for the lifetime of the input.\n" + }, + "Port": { + "shape": "__string", + "locationName": "port", + "documentation": "The port number for the input." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "This represents the endpoint that the customer stream will be\npushed to.\n" + }, + "Vpc": { + "shape": "InputDestinationVpc", + "locationName": "vpc" + } + }, + "documentation": "The settings for a PUSH type input." + }, + "InputDestinationRequest": { + "type": "structure", + "members": { + "StreamName": { + "shape": "__string", + "locationName": "streamName", + "documentation": "A unique name for the location the RTMP stream is being pushed\nto.\n" + } + }, + "documentation": "Endpoint settings for a PUSH type input." + }, + "InputDestinationVpc": { + "type": "structure", + "members": { + "AvailabilityZone": { + "shape": "__string", + "locationName": "availabilityZone", + "documentation": "The availability zone of the Input destination.\n" + }, + "NetworkInterfaceId": { + "shape": "__string", + "locationName": "networkInterfaceId", + "documentation": "The network interface ID of the Input destination in the VPC.\n" + } + }, + "documentation": "The properties for a VPC type input destination." + }, + "InputDevice": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique ARN of the input device." + }, + "ConnectionState": { + "shape": "InputDeviceConnectionState", + "locationName": "connectionState", + "documentation": "The state of the connection between the input device and AWS." + }, + "DeviceSettingsSyncState": { + "shape": "DeviceSettingsSyncState", + "locationName": "deviceSettingsSyncState", + "documentation": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration." + }, + "HdDeviceSettings": { + "shape": "InputDeviceHdSettings", + "locationName": "hdDeviceSettings", + "documentation": "Settings that describe an input device that is type HD." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID of the input device." + }, + "MacAddress": { + "shape": "__string", + "locationName": "macAddress", + "documentation": "The network MAC address of the input device." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name that you specify for the input device." + }, + "NetworkSettings": { + "shape": "InputDeviceNetworkSettings", + "locationName": "networkSettings", + "documentation": "The network settings for the input device." + }, + "SerialNumber": { + "shape": "__string", + "locationName": "serialNumber", + "documentation": "The unique serial number of the input device." + }, + "Type": { + "shape": "InputDeviceType", + "locationName": "type", + "documentation": "The type of the input device." + } + }, + "documentation": "An input device." + }, + "InputDeviceActiveInput": { + "type": "string", + "documentation": "The source at the input device that is currently active.", + "enum": [ + "HDMI", + "SDI" + ] + }, + "InputDeviceConfigurableSettings": { + "type": "structure", + "members": { + "ConfiguredInput": { + "shape": "InputDeviceConfiguredInput", + "locationName": "configuredInput", + "documentation": "The input source that you want to use. If the device has a source connected to only one of its input ports, or if you don't care which source the device sends, specify Auto. If the device has sources connected to both its input ports, and you want to use a specific source, specify the source." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The maximum bitrate in bits per second. Set a value here to throttle the bitrate of the source video." + } + }, + "documentation": "Configurable settings for the input device." + }, + "InputDeviceConfigurationValidationError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message." + }, + "ValidationErrors": { + "shape": "__listOfValidationError", + "locationName": "validationErrors", + "documentation": "A collection of validation error responses." + } + }, + "documentation": "Placeholder documentation for InputDeviceConfigurationValidationError" + }, + "InputDeviceConfiguredInput": { + "type": "string", + "documentation": "The source to activate (use) from the input device.", + "enum": [ + "AUTO", + "HDMI", + "SDI" + ] + }, + "InputDeviceConnectionState": { + "type": "string", + "documentation": "The state of the connection between the input device and AWS.", + "enum": [ + "DISCONNECTED", + "CONNECTED" + ] + }, + "InputDeviceHdSettings": { + "type": "structure", + "members": { + "ActiveInput": { + "shape": "InputDeviceActiveInput", + "locationName": "activeInput", + "documentation": "If you specified Auto as the configured input, specifies which of the sources is currently active (SDI or HDMI)." + }, + "ConfiguredInput": { + "shape": "InputDeviceConfiguredInput", + "locationName": "configuredInput", + "documentation": "The source at the input device that is currently active. You can specify this source." + }, + "DeviceState": { + "shape": "InputDeviceState", + "locationName": "deviceState", + "documentation": "The state of the input device." + }, + "Framerate": { + "shape": "__double", + "locationName": "framerate", + "documentation": "The frame rate of the video source." + }, + "Height": { + "shape": "__integer", + "locationName": "height", + "documentation": "The height of the video source, in pixels." + }, + "MaxBitrate": { + "shape": "__integer", + "locationName": "maxBitrate", + "documentation": "The current maximum bitrate for ingesting this source, in bits per second. You can specify this maximum." + }, + "ScanType": { + "shape": "InputDeviceScanType", + "locationName": "scanType", + "documentation": "The scan type of the video source." + }, + "Width": { + "shape": "__integer", + "locationName": "width", + "documentation": "The width of the video source, in pixels." + } + }, + "documentation": "Settings that describe the active source from the input device, and the video characteristics of that source." + }, + "InputDeviceIpScheme": { + "type": "string", + "documentation": "Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address.", + "enum": [ + "STATIC", + "DHCP" + ] + }, + "InputDeviceNetworkSettings": { + "type": "structure", + "members": { + "DnsAddresses": { + "shape": "__listOf__string", + "locationName": "dnsAddresses", + "documentation": "The DNS addresses of the input device." + }, + "Gateway": { + "shape": "__string", + "locationName": "gateway", + "documentation": "The network gateway IP address." + }, + "IpAddress": { + "shape": "__string", + "locationName": "ipAddress", + "documentation": "The IP address of the input device." + }, + "IpScheme": { + "shape": "InputDeviceIpScheme", + "locationName": "ipScheme", + "documentation": "Specifies whether the input device has been configured (outside of MediaLive) to use a dynamic IP address assignment (DHCP) or a static IP address." + }, + "SubnetMask": { + "shape": "__string", + "locationName": "subnetMask", + "documentation": "The subnet mask of the input device." + } + }, + "documentation": "The network settings for the input device." + }, + "InputDeviceRequest": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID for the device." + } + }, + "documentation": "Settings for an input device." + }, + "InputDeviceScanType": { + "type": "string", + "documentation": "The scan type of the video source.", + "enum": [ + "INTERLACED", + "PROGRESSIVE" + ] + }, + "InputDeviceSettings": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID for the device." + } + }, + "documentation": "Settings for an input device." + }, + "InputDeviceState": { + "type": "string", + "documentation": "The state of the input device.", + "enum": [ + "IDLE", + "STREAMING" + ] + }, + "InputDeviceSummary": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique ARN of the input device." + }, + "ConnectionState": { + "shape": "InputDeviceConnectionState", + "locationName": "connectionState", + "documentation": "The state of the connection between the input device and AWS." + }, + "DeviceSettingsSyncState": { + "shape": "DeviceSettingsSyncState", + "locationName": "deviceSettingsSyncState", + "documentation": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration." + }, + "HdDeviceSettings": { + "shape": "InputDeviceHdSettings", + "locationName": "hdDeviceSettings", + "documentation": "Settings that describe an input device that is type HD." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID of the input device." + }, + "MacAddress": { + "shape": "__string", + "locationName": "macAddress", + "documentation": "The network MAC address of the input device." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name that you specify for the input device." + }, + "NetworkSettings": { + "shape": "InputDeviceNetworkSettings", + "locationName": "networkSettings", + "documentation": "Network settings for the input device." + }, + "SerialNumber": { + "shape": "__string", + "locationName": "serialNumber", + "documentation": "The unique serial number of the input device." + }, + "Type": { + "shape": "InputDeviceType", + "locationName": "type", + "documentation": "The type of the input device." + } + }, + "documentation": "Details of the input device." + }, + "InputDeviceType": { + "type": "string", + "documentation": "The type of the input device. For an AWS Elemental Link device that outputs resolutions up to 1080, choose \"HD\".", + "enum": [ + "HD" + ] + }, + "InputFilter": { + "type": "string", + "documentation": "Input Filter", + "enum": [ + "AUTO", + "DISABLED", + "FORCED" + ] + }, + "InputLocation": { + "type": "structure", + "members": { + "PasswordParam": { + "shape": "__string", + "locationName": "passwordParam", + "documentation": "key used to extract the password from EC2 Parameter store" + }, + "Uri": { + "shape": "__string", + "locationName": "uri", + "documentation": "Uniform Resource Identifier - This should be a path to a file accessible to the Live system (eg. a http:// URI) depending on the output type. For example, a RTMP destination should have a uri simliar to: \"rtmp://fmsserver/live\"." + }, + "Username": { + "shape": "__string", + "locationName": "username", + "documentation": "Documentation update needed" + } + }, + "documentation": "Input Location", + "required": [ + "Uri" + ] + }, + "InputLossActionForHlsOut": { + "type": "string", + "documentation": "Input Loss Action For Hls Out", + "enum": [ + "EMIT_OUTPUT", + "PAUSE_OUTPUT" + ] + }, + "InputLossActionForMsSmoothOut": { + "type": "string", + "documentation": "Input Loss Action For Ms Smooth Out", + "enum": [ + "EMIT_OUTPUT", + "PAUSE_OUTPUT" + ] + }, + "InputLossActionForRtmpOut": { + "type": "string", + "documentation": "Input Loss Action For Rtmp Out", + "enum": [ + "EMIT_OUTPUT", + "PAUSE_OUTPUT" + ] + }, + "InputLossActionForUdpOut": { + "type": "string", + "documentation": "Input Loss Action For Udp Out", + "enum": [ + "DROP_PROGRAM", + "DROP_TS", + "EMIT_PROGRAM" + ] + }, + "InputLossBehavior": { + "type": "structure", + "members": { + "BlackFrameMsec": { + "shape": "__integerMin0Max1000000", + "locationName": "blackFrameMsec", + "documentation": "Documentation update needed" + }, + "InputLossImageColor": { + "shape": "__stringMin6Max6", + "locationName": "inputLossImageColor", + "documentation": "When input loss image type is \"color\" this field specifies the color to use. Value: 6 hex characters representing the values of RGB." + }, + "InputLossImageSlate": { + "shape": "InputLocation", + "locationName": "inputLossImageSlate", + "documentation": "When input loss image type is \"slate\" these fields specify the parameters for accessing the slate." + }, + "InputLossImageType": { + "shape": "InputLossImageType", + "locationName": "inputLossImageType", + "documentation": "Indicates whether to substitute a solid color or a slate into the output after input loss exceeds blackFrameMsec." + }, + "RepeatFrameMsec": { + "shape": "__integerMin0Max1000000", + "locationName": "repeatFrameMsec", + "documentation": "Documentation update needed" + } + }, + "documentation": "Input Loss Behavior" + }, + "InputLossImageType": { + "type": "string", + "documentation": "Input Loss Image Type", + "enum": [ + "COLOR", + "SLATE" + ] + }, + "InputMaximumBitrate": { + "type": "string", + "documentation": "Maximum input bitrate in megabits per second. Bitrates up to 50 Mbps are supported currently.", + "enum": [ + "MAX_10_MBPS", + "MAX_20_MBPS", + "MAX_50_MBPS" + ] + }, + "InputPreference": { + "type": "string", + "documentation": "Input preference when deciding which input to make active when a previously failed input has recovered.\nIf \\\"EQUAL_INPUT_PREFERENCE\\\", then the active input will stay active as long as it is healthy.\nIf \\\"PRIMARY_INPUT_PREFERRED\\\", then always switch back to the primary input when it is healthy.\n", + "enum": [ + "EQUAL_INPUT_PREFERENCE", + "PRIMARY_INPUT_PREFERRED" + ] + }, + "InputResolution": { + "type": "string", + "documentation": "Input resolution based on lines of vertical resolution in the input; SD is less than 720 lines, HD is 720 to 1080 lines, UHD is greater than 1080 lines\n", + "enum": [ + "SD", + "HD", + "UHD" + ] + }, + "InputSecurityGroup": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique ARN of Input Security Group" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The Id of the Input Security Group" + }, + "Inputs": { + "shape": "__listOf__string", + "locationName": "inputs", + "documentation": "The list of inputs currently using this Input Security Group." + }, + "State": { + "shape": "InputSecurityGroupState", + "locationName": "state", + "documentation": "The current state of the Input Security Group." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRule", + "locationName": "whitelistRules", + "documentation": "Whitelist rules and their sync status" + } + }, + "documentation": "An Input Security Group" + }, + "InputSecurityGroupState": { + "type": "string", + "enum": [ + "IDLE", + "IN_USE", + "UPDATING", + "DELETED" + ], + "documentation": "Placeholder documentation for InputSecurityGroupState" + }, + "InputSecurityGroupWhitelistRequest": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRuleCidr", + "locationName": "whitelistRules", + "documentation": "List of IPv4 CIDR addresses to whitelist" + } + }, + "documentation": "Request of IPv4 CIDR addresses to whitelist in a security group." + }, + "InputSettings": { + "type": "structure", + "members": { + "AudioSelectors": { + "shape": "__listOfAudioSelector", + "locationName": "audioSelectors", + "documentation": "Used to select the audio stream to decode for inputs that have multiple available." + }, + "CaptionSelectors": { + "shape": "__listOfCaptionSelector", + "locationName": "captionSelectors", + "documentation": "Used to select the caption input to use for inputs that have multiple available." + }, + "DeblockFilter": { + "shape": "InputDeblockFilter", + "locationName": "deblockFilter", + "documentation": "Enable or disable the deblock filter when filtering." + }, + "DenoiseFilter": { + "shape": "InputDenoiseFilter", + "locationName": "denoiseFilter", + "documentation": "Enable or disable the denoise filter when filtering." + }, + "FilterStrength": { + "shape": "__integerMin1Max5", + "locationName": "filterStrength", + "documentation": "Adjusts the magnitude of filtering from 1 (minimal) to 5 (strongest)." + }, + "InputFilter": { + "shape": "InputFilter", + "locationName": "inputFilter", + "documentation": "Turns on the filter for this input. MPEG-2 inputs have the deblocking filter enabled by default.\n1) auto - filtering will be applied depending on input type/quality\n2) disabled - no filtering will be applied to the input\n3) forced - filtering will be applied regardless of input type" + }, + "NetworkInputSettings": { + "shape": "NetworkInputSettings", + "locationName": "networkInputSettings", + "documentation": "Input settings." + }, + "Smpte2038DataPreference": { + "shape": "Smpte2038DataPreference", + "locationName": "smpte2038DataPreference", + "documentation": "Specifies whether to extract applicable ancillary data from a SMPTE-2038 source in this input. Applicable data types are captions, timecode, AFD, and SCTE-104 messages.\n- PREFER: Extract from SMPTE-2038 if present in this input, otherwise extract from another source (if any).\n- IGNORE: Never extract any ancillary data from SMPTE-2038." + }, + "SourceEndBehavior": { + "shape": "InputSourceEndBehavior", + "locationName": "sourceEndBehavior", + "documentation": "Loop input if it is a file. This allows a file input to be streamed indefinitely." + }, + "VideoSelector": { + "shape": "VideoSelector", + "locationName": "videoSelector", + "documentation": "Informs which video elementary stream to decode for input types that have multiple available." + } + }, + "documentation": "Live Event input parameters. There can be multiple inputs in a single Live Event." + }, + "InputSource": { + "type": "structure", + "members": { + "PasswordParam": { + "shape": "__string", + "locationName": "passwordParam", + "documentation": "The key used to extract the password from EC2 Parameter store." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "This represents the customer's source URL where stream is\npulled from.\n" + }, + "Username": { + "shape": "__string", + "locationName": "username", + "documentation": "The username for the input source." + } + }, + "documentation": "The settings for a PULL type input." + }, + "InputSourceEndBehavior": { + "type": "string", + "documentation": "Input Source End Behavior", + "enum": [ + "CONTINUE", + "LOOP" + ] + }, + "InputSourceRequest": { + "type": "structure", + "members": { + "PasswordParam": { + "shape": "__string", + "locationName": "passwordParam", + "documentation": "The key used to extract the password from EC2 Parameter store." + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "This represents the customer's source URL where stream is\npulled from.\n" + }, + "Username": { + "shape": "__string", + "locationName": "username", + "documentation": "The username for the input source." + } + }, + "documentation": "Settings for for a PULL type input." + }, + "InputSourceType": { + "type": "string", + "documentation": "There are two types of input sources, static and dynamic. If an input source is dynamic you can\nchange the source url of the input dynamically using an input switch action. However, the only input type\nto support a dynamic url at this time is MP4_FILE. By default all input sources are static.\n", + "enum": [ + "STATIC", + "DYNAMIC" + ] + }, + "InputSpecification": { + "type": "structure", + "members": { + "Codec": { + "shape": "InputCodec", + "locationName": "codec", + "documentation": "Input codec" + }, + "MaximumBitrate": { + "shape": "InputMaximumBitrate", + "locationName": "maximumBitrate", + "documentation": "Maximum input bitrate, categorized coarsely" + }, + "Resolution": { + "shape": "InputResolution", + "locationName": "resolution", + "documentation": "Input resolution, categorized coarsely" + } + }, + "documentation": "Placeholder documentation for InputSpecification" + }, + "InputState": { + "type": "string", + "enum": [ + "CREATING", + "DETACHED", + "ATTACHED", + "DELETING", + "DELETED" + ], + "documentation": "Placeholder documentation for InputState" + }, + "InputSwitchScheduleActionSettings": { + "type": "structure", + "members": { + "InputAttachmentNameReference": { + "shape": "__string", + "locationName": "inputAttachmentNameReference", + "documentation": "The name of the input attachment (not the name of the input!) to switch to. The name is specified in the channel configuration." + }, + "InputClippingSettings": { + "shape": "InputClippingSettings", + "locationName": "inputClippingSettings", + "documentation": "Settings to let you create a clip of the file input, in order to set up the input to ingest only a portion of the file." + }, + "UrlPath": { + "shape": "__listOf__string", + "locationName": "urlPath", + "documentation": "The value for the variable portion of the URL for the dynamic input, for this instance of the input. Each time you use the same dynamic input in an input switch action, you can provide a different value, in order to connect the input to a different content source." + } + }, + "documentation": "Settings for the \"switch input\" action: to switch from ingesting one input to ingesting another input.", + "required": [ + "InputAttachmentNameReference" + ] + }, + "InputTimecodeSource": { + "type": "string", + "documentation": "Documentation update needed", + "enum": [ + "ZEROBASED", + "EMBEDDED" + ] + }, + "InputType": { + "type": "string", + "enum": [ + "UDP_PUSH", + "RTP_PUSH", + "RTMP_PUSH", + "RTMP_PULL", + "URL_PULL", + "MP4_FILE", + "MEDIACONNECT", + "INPUT_DEVICE" + ], + "documentation": "Placeholder documentation for InputType" + }, + "InputVpcRequest": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds", + "documentation": "A list of up to 5 EC2 VPC security group IDs to attach to the Input VPC network interfaces.\nRequires subnetIds. If none are specified then the VPC default security group will be used.\n" + }, + "SubnetIds": { + "shape": "__listOf__string", + "locationName": "subnetIds", + "documentation": "A list of 2 VPC subnet IDs from the same VPC.\nSubnet IDs must be mapped to two unique availability zones (AZ).\n" + } + }, + "documentation": "Settings for a private VPC Input.\nWhen this property is specified, the input destination addresses will be created in a VPC rather than with public Internet addresses.\nThis property requires setting the roleArn property on Input creation.\nNot compatible with the inputSecurityGroups property.\n", + "required": [ + "SubnetIds" + ] + }, + "InputWhitelistRule": { + "type": "structure", + "members": { + "Cidr": { + "shape": "__string", + "locationName": "cidr", + "documentation": "The IPv4 CIDR that's whitelisted." + } + }, + "documentation": "Whitelist rule" + }, + "InputWhitelistRuleCidr": { + "type": "structure", + "members": { + "Cidr": { + "shape": "__string", + "locationName": "cidr", + "documentation": "The IPv4 CIDR to whitelist." + } + }, + "documentation": "An IPv4 CIDR to whitelist." + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 500 + }, + "documentation": "Placeholder documentation for InternalServerErrorException" + }, + "InternalServiceError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for InternalServiceError" + }, + "InvalidRequest": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for InvalidRequest" + }, + "KeyProviderSettings": { + "type": "structure", + "members": { + "StaticKeySettings": { + "shape": "StaticKeySettings", + "locationName": "staticKeySettings" + } + }, + "documentation": "Key Provider Settings" + }, + "LastFrameClippingBehavior": { + "type": "string", + "documentation": "If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode.", + "enum": [ + "EXCLUDE_LAST_FRAME", + "INCLUDE_LAST_FRAME" + ] + }, + "LimitExceeded": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for LimitExceeded" + }, + "ListChannelsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListChannelsRequest" + }, + "ListChannelsResponse": { + "type": "structure", + "members": { + "Channels": { + "shape": "__listOfChannelSummary", + "locationName": "channels" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListChannelsResponse" + }, + "ListChannelsResultModel": { + "type": "structure", + "members": { + "Channels": { + "shape": "__listOfChannelSummary", + "locationName": "channels" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListChannelsResultModel" + }, + "ListInputDevicesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputDevicesRequest" + }, + "ListInputDevicesResponse": { + "type": "structure", + "members": { + "InputDevices": { + "shape": "__listOfInputDeviceSummary", + "locationName": "inputDevices", + "documentation": "The list of input devices." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "A token to get additional list results." + } + }, + "documentation": "Placeholder documentation for ListInputDevicesResponse" + }, + "ListInputDevicesResultModel": { + "type": "structure", + "members": { + "InputDevices": { + "shape": "__listOfInputDeviceSummary", + "locationName": "inputDevices", + "documentation": "The list of input devices." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "A token to get additional list results." + } + }, + "documentation": "The list of input devices owned by the AWS account." + }, + "ListInputSecurityGroupsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputSecurityGroupsRequest" + }, + "ListInputSecurityGroupsResponse": { + "type": "structure", + "members": { + "InputSecurityGroups": { + "shape": "__listOfInputSecurityGroup", + "locationName": "inputSecurityGroups", + "documentation": "List of input security groups" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputSecurityGroupsResponse" + }, + "ListInputSecurityGroupsResultModel": { + "type": "structure", + "members": { + "InputSecurityGroups": { + "shape": "__listOfInputSecurityGroup", + "locationName": "inputSecurityGroups", + "documentation": "List of input security groups" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Result of input security group list request" + }, + "ListInputsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputsRequest" + }, + "ListInputsResponse": { + "type": "structure", + "members": { + "Inputs": { + "shape": "__listOfInput", + "locationName": "inputs" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputsResponse" + }, + "ListInputsResultModel": { + "type": "structure", + "members": { + "Inputs": { + "shape": "__listOfInput", + "locationName": "inputs" + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken" + } + }, + "documentation": "Placeholder documentation for ListInputsResultModel" + }, + "ListMultiplexProgramsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of items to return." + }, + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex that the programs belong to." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token to retrieve the next page of results." + } + }, + "required": [ + "MultiplexId" + ], + "documentation": "Placeholder documentation for ListMultiplexProgramsRequest" + }, + "ListMultiplexProgramsResponse": { + "type": "structure", + "members": { + "MultiplexPrograms": { + "shape": "__listOfMultiplexProgramSummary", + "locationName": "multiplexPrograms", + "documentation": "List of multiplex programs." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token for the next ListMultiplexProgram request." + } + }, + "documentation": "Placeholder documentation for ListMultiplexProgramsResponse" + }, + "ListMultiplexProgramsResultModel": { + "type": "structure", + "members": { + "MultiplexPrograms": { + "shape": "__listOfMultiplexProgramSummary", + "locationName": "multiplexPrograms", + "documentation": "List of multiplex programs." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token for the next ListMultiplexProgram request." + } + }, + "documentation": "Placeholder documentation for ListMultiplexProgramsResultModel" + }, + "ListMultiplexesRequest": { + "type": "structure", + "members": { + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "The maximum number of items to return." + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "The token to retrieve the next page of results." + } + }, + "documentation": "Placeholder documentation for ListMultiplexesRequest" + }, + "ListMultiplexesResponse": { + "type": "structure", + "members": { + "Multiplexes": { + "shape": "__listOfMultiplexSummary", + "locationName": "multiplexes", + "documentation": "List of multiplexes." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token for the next ListMultiplexes request." + } + }, + "documentation": "Placeholder documentation for ListMultiplexesResponse" + }, + "ListMultiplexesResultModel": { + "type": "structure", + "members": { + "Multiplexes": { + "shape": "__listOfMultiplexSummary", + "locationName": "multiplexes", + "documentation": "List of multiplexes." + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token for the next ListMultiplexes request." + } + }, + "documentation": "Placeholder documentation for ListMultiplexesResultModel" + }, + "ListOfferingsRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "__string", + "location": "querystring", + "locationName": "channelClass", + "documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n" + }, + "ChannelConfiguration": { + "shape": "__string", + "location": "querystring", + "locationName": "channelConfiguration", + "documentation": "Filter to offerings that match the configuration of an existing channel, e.g. '2345678' (a channel ID)\n" + }, + "Codec": { + "shape": "__string", + "location": "querystring", + "locationName": "codec", + "documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'" + }, + "Duration": { + "shape": "__string", + "location": "querystring", + "locationName": "duration", + "documentation": "Filter by offering duration, e.g. '12'" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "MaximumBitrate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumBitrate", + "documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n" + }, + "MaximumFramerate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumFramerate", + "documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "Resolution": { + "shape": "__string", + "location": "querystring", + "locationName": "resolution", + "documentation": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'" + }, + "ResourceType": { + "shape": "__string", + "location": "querystring", + "locationName": "resourceType", + "documentation": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'" + }, + "SpecialFeature": { + "shape": "__string", + "location": "querystring", + "locationName": "specialFeature", + "documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n" + }, + "VideoQuality": { + "shape": "__string", + "location": "querystring", + "locationName": "videoQuality", + "documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n" + } + }, + "documentation": "Placeholder documentation for ListOfferingsRequest" + }, + "ListOfferingsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token to retrieve the next page of results" + }, + "Offerings": { + "shape": "__listOfOffering", + "locationName": "offerings", + "documentation": "List of offerings" + } + }, + "documentation": "Placeholder documentation for ListOfferingsResponse" + }, + "ListOfferingsResultModel": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token to retrieve the next page of results" + }, + "Offerings": { + "shape": "__listOfOffering", + "locationName": "offerings", + "documentation": "List of offerings" + } + }, + "documentation": "ListOfferings response" + }, + "ListReservationsRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "__string", + "location": "querystring", + "locationName": "channelClass", + "documentation": "Filter by channel class, 'STANDARD' or 'SINGLE_PIPELINE'\n" + }, + "Codec": { + "shape": "__string", + "location": "querystring", + "locationName": "codec", + "documentation": "Filter by codec, 'AVC', 'HEVC', 'MPEG2', or 'AUDIO'" + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "MaximumBitrate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumBitrate", + "documentation": "Filter by bitrate, 'MAX_10_MBPS', 'MAX_20_MBPS', or 'MAX_50_MBPS'\n" + }, + "MaximumFramerate": { + "shape": "__string", + "location": "querystring", + "locationName": "maximumFramerate", + "documentation": "Filter by framerate, 'MAX_30_FPS' or 'MAX_60_FPS'" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "Resolution": { + "shape": "__string", + "location": "querystring", + "locationName": "resolution", + "documentation": "Filter by resolution, 'SD', 'HD', 'FHD', or 'UHD'" + }, + "ResourceType": { + "shape": "__string", + "location": "querystring", + "locationName": "resourceType", + "documentation": "Filter by resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'" + }, + "SpecialFeature": { + "shape": "__string", + "location": "querystring", + "locationName": "specialFeature", + "documentation": "Filter by special feature, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'\n" + }, + "VideoQuality": { + "shape": "__string", + "location": "querystring", + "locationName": "videoQuality", + "documentation": "Filter by video quality, 'STANDARD', 'ENHANCED', or 'PREMIUM'\n" + } + }, + "documentation": "Placeholder documentation for ListReservationsRequest" + }, + "ListReservationsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token to retrieve the next page of results" + }, + "Reservations": { + "shape": "__listOfReservation", + "locationName": "reservations", + "documentation": "List of reservations" + } + }, + "documentation": "Placeholder documentation for ListReservationsResponse" + }, + "ListReservationsResultModel": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "Token to retrieve the next page of results" + }, + "Reservations": { + "shape": "__listOfReservation", + "locationName": "reservations", + "documentation": "List of reservations" + } + }, + "documentation": "ListReservations response" + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn" + } + }, + "required": [ + "ResourceArn" + ], + "documentation": "Placeholder documentation for ListTagsForResourceRequest" + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "documentation": "Placeholder documentation for ListTagsForResourceResponse" + }, + "LogLevel": { + "type": "string", + "documentation": "The log level the user wants for their channel.", + "enum": [ + "ERROR", + "WARNING", + "INFO", + "DEBUG", + "DISABLED" + ] + }, + "M2tsAbsentInputAudioBehavior": { + "type": "string", + "documentation": "M2ts Absent Input Audio Behavior", + "enum": [ + "DROP", + "ENCODE_SILENCE" + ] + }, + "M2tsArib": { + "type": "string", + "documentation": "M2ts Arib", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "M2tsAribCaptionsPidControl": { + "type": "string", + "documentation": "M2ts Arib Captions Pid Control", + "enum": [ + "AUTO", + "USE_CONFIGURED" + ] + }, + "M2tsAudioBufferModel": { + "type": "string", + "documentation": "M2ts Audio Buffer Model", + "enum": [ + "ATSC", + "DVB" + ] + }, + "M2tsAudioInterval": { + "type": "string", + "documentation": "M2ts Audio Interval", + "enum": [ + "VIDEO_AND_FIXED_INTERVALS", + "VIDEO_INTERVAL" + ] + }, + "M2tsAudioStreamType": { + "type": "string", + "documentation": "M2ts Audio Stream Type", + "enum": [ + "ATSC", + "DVB" + ] + }, + "M2tsBufferModel": { + "type": "string", + "documentation": "M2ts Buffer Model", + "enum": [ + "MULTIPLEX", + "NONE" + ] + }, + "M2tsCcDescriptor": { + "type": "string", + "documentation": "M2ts Cc Descriptor", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "M2tsEbifControl": { + "type": "string", + "documentation": "M2ts Ebif Control", + "enum": [ + "NONE", + "PASSTHROUGH" + ] + }, + "M2tsEbpPlacement": { + "type": "string", + "documentation": "M2ts Ebp Placement", + "enum": [ + "VIDEO_AND_AUDIO_PIDS", + "VIDEO_PID" + ] + }, + "M2tsEsRateInPes": { + "type": "string", + "documentation": "M2ts Es Rate In Pes", + "enum": [ + "EXCLUDE", + "INCLUDE" + ] + }, + "M2tsKlv": { + "type": "string", + "documentation": "M2ts Klv", + "enum": [ + "NONE", + "PASSTHROUGH" + ] + }, + "M2tsNielsenId3Behavior": { + "type": "string", + "documentation": "M2ts Nielsen Id3 Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "M2tsPcrControl": { + "type": "string", + "documentation": "M2ts Pcr Control", + "enum": [ + "CONFIGURED_PCR_PERIOD", + "PCR_EVERY_PES_PACKET" + ] + }, + "M2tsRateMode": { + "type": "string", + "documentation": "M2ts Rate Mode", + "enum": [ + "CBR", + "VBR" + ] + }, + "M2tsScte35Control": { + "type": "string", + "documentation": "M2ts Scte35 Control", + "enum": [ + "NONE", + "PASSTHROUGH" + ] + }, + "M2tsSegmentationMarkers": { + "type": "string", + "documentation": "M2ts Segmentation Markers", + "enum": [ + "EBP", + "EBP_LEGACY", + "NONE", + "PSI_SEGSTART", + "RAI_ADAPT", + "RAI_SEGSTART" + ] + }, + "M2tsSegmentationStyle": { + "type": "string", + "documentation": "M2ts Segmentation Style", + "enum": [ + "MAINTAIN_CADENCE", + "RESET_CADENCE" + ] + }, + "M2tsSettings": { + "type": "structure", + "members": { + "AbsentInputAudioBehavior": { + "shape": "M2tsAbsentInputAudioBehavior", + "locationName": "absentInputAudioBehavior", + "documentation": "When set to drop, output audio streams will be removed from the program if the selected input audio stream is removed from the input. This allows the output audio configuration to dynamically change based on input configuration. If this is set to encodeSilence, all output audio streams will output encoded silence when not connected to an active input stream." + }, + "Arib": { + "shape": "M2tsArib", + "locationName": "arib", + "documentation": "When set to enabled, uses ARIB-compliant field muxing and removes video descriptor." + }, + "AribCaptionsPid": { + "shape": "__string", + "locationName": "aribCaptionsPid", + "documentation": "Packet Identifier (PID) for ARIB Captions in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "AribCaptionsPidControl": { + "shape": "M2tsAribCaptionsPidControl", + "locationName": "aribCaptionsPidControl", + "documentation": "If set to auto, pid number used for ARIB Captions will be auto-selected from unused pids. If set to useConfigured, ARIB Captions will be on the configured pid number." + }, + "AudioBufferModel": { + "shape": "M2tsAudioBufferModel", + "locationName": "audioBufferModel", + "documentation": "When set to dvb, uses DVB buffer model for Dolby Digital audio. When set to atsc, the ATSC model is used." + }, + "AudioFramesPerPes": { + "shape": "__integerMin0", + "locationName": "audioFramesPerPes", + "documentation": "The number of audio frames to insert for each PES packet." + }, + "AudioPids": { + "shape": "__string", + "locationName": "audioPids", + "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "AudioStreamType": { + "shape": "M2tsAudioStreamType", + "locationName": "audioStreamType", + "documentation": "When set to atsc, uses stream type = 0x81 for AC3 and stream type = 0x87 for EAC3. When set to dvb, uses stream type = 0x06." + }, + "Bitrate": { + "shape": "__integerMin0", + "locationName": "bitrate", + "documentation": "The output bitrate of the transport stream in bits per second. Setting to 0 lets the muxer automatically determine the appropriate bitrate." + }, + "BufferModel": { + "shape": "M2tsBufferModel", + "locationName": "bufferModel", + "documentation": "If set to multiplex, use multiplex buffer model for accurate interleaving. Setting to bufferModel to none can lead to lower latency, but low-memory devices may not be able to play back the stream without interruptions." + }, + "CcDescriptor": { + "shape": "M2tsCcDescriptor", + "locationName": "ccDescriptor", + "documentation": "When set to enabled, generates captionServiceDescriptor in PMT." + }, + "DvbNitSettings": { + "shape": "DvbNitSettings", + "locationName": "dvbNitSettings", + "documentation": "Inserts DVB Network Information Table (NIT) at the specified table repetition interval." + }, + "DvbSdtSettings": { + "shape": "DvbSdtSettings", + "locationName": "dvbSdtSettings", + "documentation": "Inserts DVB Service Description Table (SDT) at the specified table repetition interval." + }, + "DvbSubPids": { + "shape": "__string", + "locationName": "dvbSubPids", + "documentation": "Packet Identifier (PID) for input source DVB Subtitle data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "DvbTdtSettings": { + "shape": "DvbTdtSettings", + "locationName": "dvbTdtSettings", + "documentation": "Inserts DVB Time and Date Table (TDT) at the specified table repetition interval." + }, + "DvbTeletextPid": { + "shape": "__string", + "locationName": "dvbTeletextPid", + "documentation": "Packet Identifier (PID) for input source DVB Teletext data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "Ebif": { + "shape": "M2tsEbifControl", + "locationName": "ebif", + "documentation": "If set to passthrough, passes any EBIF data from the input source to this output." + }, + "EbpAudioInterval": { + "shape": "M2tsAudioInterval", + "locationName": "ebpAudioInterval", + "documentation": "When videoAndFixedIntervals is selected, audio EBP markers will be added to partitions 3 and 4. The interval between these additional markers will be fixed, and will be slightly shorter than the video EBP marker interval. Only available when EBP Cablelabs segmentation markers are selected. Partitions 1 and 2 will always follow the video interval." + }, + "EbpLookaheadMs": { + "shape": "__integerMin0Max10000", + "locationName": "ebpLookaheadMs", + "documentation": "When set, enforces that Encoder Boundary Points do not come within the specified time interval of each other by looking ahead at input video. If another EBP is going to come in within the specified time interval, the current EBP is not emitted, and the segment is \"stretched\" to the next marker. The lookahead value does not add latency to the system. The Live Event must be configured elsewhere to create sufficient latency to make the lookahead accurate." + }, + "EbpPlacement": { + "shape": "M2tsEbpPlacement", + "locationName": "ebpPlacement", + "documentation": "Controls placement of EBP on Audio PIDs. If set to videoAndAudioPids, EBP markers will be placed on the video PID and all audio PIDs. If set to videoPid, EBP markers will be placed on only the video PID." + }, + "EcmPid": { + "shape": "__string", + "locationName": "ecmPid", + "documentation": "This field is unused and deprecated." + }, + "EsRateInPes": { + "shape": "M2tsEsRateInPes", + "locationName": "esRateInPes", + "documentation": "Include or exclude the ES Rate field in the PES header." + }, + "EtvPlatformPid": { + "shape": "__string", + "locationName": "etvPlatformPid", + "documentation": "Packet Identifier (PID) for input source ETV Platform data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "EtvSignalPid": { + "shape": "__string", + "locationName": "etvSignalPid", + "documentation": "Packet Identifier (PID) for input source ETV Signal data to this output. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "FragmentTime": { + "shape": "__doubleMin0", + "locationName": "fragmentTime", + "documentation": "The length in seconds of each fragment. Only used with EBP markers." + }, + "Klv": { + "shape": "M2tsKlv", + "locationName": "klv", + "documentation": "If set to passthrough, passes any KLV data from the input source to this output." + }, + "KlvDataPids": { + "shape": "__string", + "locationName": "klvDataPids", + "documentation": "Packet Identifier (PID) for input source KLV data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "NielsenId3Behavior": { + "shape": "M2tsNielsenId3Behavior", + "locationName": "nielsenId3Behavior", + "documentation": "If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + }, + "NullPacketBitrate": { + "shape": "__doubleMin0", + "locationName": "nullPacketBitrate", + "documentation": "Value in bits per second of extra null packets to insert into the transport stream. This can be used if a downstream encryption system requires periodic null packets." + }, + "PatInterval": { + "shape": "__integerMin0Max1000", + "locationName": "patInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000." + }, + "PcrControl": { + "shape": "M2tsPcrControl", + "locationName": "pcrControl", + "documentation": "When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." + }, + "PcrPeriod": { + "shape": "__integerMin0Max500", + "locationName": "pcrPeriod", + "documentation": "Maximum time in milliseconds between Program Clock Reference (PCRs) inserted into the transport stream." + }, + "PcrPid": { + "shape": "__string", + "locationName": "pcrPid", + "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "PmtInterval": { + "shape": "__integerMin0Max1000", + "locationName": "pmtInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream. Valid values are 0, 10..1000." + }, + "PmtPid": { + "shape": "__string", + "locationName": "pmtPid", + "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "ProgramNum": { + "shape": "__integerMin0Max65535", + "locationName": "programNum", + "documentation": "The value of the program number field in the Program Map Table." + }, + "RateMode": { + "shape": "M2tsRateMode", + "locationName": "rateMode", + "documentation": "When vbr, does not insert null packets into transport stream to fill specified bitrate. The bitrate setting acts as the maximum bitrate when vbr is set." + }, + "Scte27Pids": { + "shape": "__string", + "locationName": "scte27Pids", + "documentation": "Packet Identifier (PID) for input source SCTE-27 data to this output. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values. Each PID specified must be in the range of 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "Scte35Control": { + "shape": "M2tsScte35Control", + "locationName": "scte35Control", + "documentation": "Optionally pass SCTE-35 signals from the input source to this output." + }, + "Scte35Pid": { + "shape": "__string", + "locationName": "scte35Pid", + "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "SegmentationMarkers": { + "shape": "M2tsSegmentationMarkers", + "locationName": "segmentationMarkers", + "documentation": "Inserts segmentation markers at each segmentationTime period. raiSegstart sets the Random Access Indicator bit in the adaptation field. raiAdapt sets the RAI bit and adds the current timecode in the private data bytes. psiSegstart inserts PAT and PMT tables at the start of segments. ebp adds Encoder Boundary Point information to the adaptation field as per OpenCable specification OC-SP-EBP-I01-130118. ebpLegacy adds Encoder Boundary Point information to the adaptation field using a legacy proprietary format." + }, + "SegmentationStyle": { + "shape": "M2tsSegmentationStyle", + "locationName": "segmentationStyle", + "documentation": "The segmentation style parameter controls how segmentation markers are inserted into the transport stream. With avails, it is possible that segments may be truncated, which can influence where future segmentation markers are inserted.\n\nWhen a segmentation style of \"resetCadence\" is selected and a segment is truncated due to an avail, we will reset the segmentation cadence. This means the subsequent segment will have a duration of $segmentationTime seconds.\n\nWhen a segmentation style of \"maintainCadence\" is selected and a segment is truncated due to an avail, we will not reset the segmentation cadence. This means the subsequent segment will likely be truncated as well. However, all segments after that will have a duration of $segmentationTime seconds. Note that EBP lookahead is a slight exception to this rule." + }, + "SegmentationTime": { + "shape": "__doubleMin1", + "locationName": "segmentationTime", + "documentation": "The length in seconds of each segment. Required unless markers is set to _none_." + }, + "TimedMetadataBehavior": { + "shape": "M2tsTimedMetadataBehavior", + "locationName": "timedMetadataBehavior", + "documentation": "When set to passthrough, timed metadata will be passed through from input to output." + }, + "TimedMetadataPid": { + "shape": "__string", + "locationName": "timedMetadataPid", + "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId", + "documentation": "The value of the transport stream ID field in the Program Map Table." + }, + "VideoPid": { + "shape": "__string", + "locationName": "videoPid", + "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + } + }, + "documentation": "M2ts Settings" + }, + "M2tsTimedMetadataBehavior": { + "type": "string", + "documentation": "M2ts Timed Metadata Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "M3u8NielsenId3Behavior": { + "type": "string", + "documentation": "M3u8 Nielsen Id3 Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "M3u8PcrControl": { + "type": "string", + "documentation": "M3u8 Pcr Control", + "enum": [ + "CONFIGURED_PCR_PERIOD", + "PCR_EVERY_PES_PACKET" + ] + }, + "M3u8Scte35Behavior": { + "type": "string", + "documentation": "M3u8 Scte35 Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "M3u8Settings": { + "type": "structure", + "members": { + "AudioFramesPerPes": { + "shape": "__integerMin0", + "locationName": "audioFramesPerPes", + "documentation": "The number of audio frames to insert for each PES packet." + }, + "AudioPids": { + "shape": "__string", + "locationName": "audioPids", + "documentation": "Packet Identifier (PID) of the elementary audio stream(s) in the transport stream. Multiple values are accepted, and can be entered in ranges and/or by comma separation. Can be entered as decimal or hexadecimal values." + }, + "EcmPid": { + "shape": "__string", + "locationName": "ecmPid", + "documentation": "This parameter is unused and deprecated." + }, + "NielsenId3Behavior": { + "shape": "M3u8NielsenId3Behavior", + "locationName": "nielsenId3Behavior", + "documentation": "If set to passthrough, Nielsen inaudible tones for media tracking will be detected in the input audio and an equivalent ID3 tag will be inserted in the output." + }, + "PatInterval": { + "shape": "__integerMin0Max1000", + "locationName": "patInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file." + }, + "PcrControl": { + "shape": "M3u8PcrControl", + "locationName": "pcrControl", + "documentation": "When set to pcrEveryPesPacket, a Program Clock Reference value is inserted for every Packetized Elementary Stream (PES) header. This parameter is effective only when the PCR PID is the same as the video or audio elementary stream." + }, + "PcrPeriod": { + "shape": "__integerMin0Max500", + "locationName": "pcrPeriod", + "documentation": "Maximum time in milliseconds between Program Clock References (PCRs) inserted into the transport stream." + }, + "PcrPid": { + "shape": "__string", + "locationName": "pcrPid", + "documentation": "Packet Identifier (PID) of the Program Clock Reference (PCR) in the transport stream. When no value is given, the encoder will assign the same value as the Video PID. Can be entered as a decimal or hexadecimal value." + }, + "PmtInterval": { + "shape": "__integerMin0Max1000", + "locationName": "pmtInterval", + "documentation": "The number of milliseconds between instances of this table in the output transport stream. A value of \\\"0\\\" writes out the PMT once per segment file." + }, + "PmtPid": { + "shape": "__string", + "locationName": "pmtPid", + "documentation": "Packet Identifier (PID) for the Program Map Table (PMT) in the transport stream. Can be entered as a decimal or hexadecimal value." + }, + "ProgramNum": { + "shape": "__integerMin0Max65535", + "locationName": "programNum", + "documentation": "The value of the program number field in the Program Map Table." + }, + "Scte35Behavior": { + "shape": "M3u8Scte35Behavior", + "locationName": "scte35Behavior", + "documentation": "If set to passthrough, passes any SCTE-35 signals from the input source to this output." + }, + "Scte35Pid": { + "shape": "__string", + "locationName": "scte35Pid", + "documentation": "Packet Identifier (PID) of the SCTE-35 stream in the transport stream. Can be entered as a decimal or hexadecimal value." + }, + "TimedMetadataBehavior": { + "shape": "M3u8TimedMetadataBehavior", + "locationName": "timedMetadataBehavior", + "documentation": "When set to passthrough, timed metadata is passed through from input to output." + }, + "TimedMetadataPid": { + "shape": "__string", + "locationName": "timedMetadataPid", + "documentation": "Packet Identifier (PID) of the timed metadata stream in the transport stream. Can be entered as a decimal or hexadecimal value. Valid values are 32 (or 0x20)..8182 (or 0x1ff6)." + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId", + "documentation": "The value of the transport stream ID field in the Program Map Table." + }, + "VideoPid": { + "shape": "__string", + "locationName": "videoPid", + "documentation": "Packet Identifier (PID) of the elementary video stream in the transport stream. Can be entered as a decimal or hexadecimal value." + } + }, + "documentation": "Settings information for the .m3u8 container" + }, + "M3u8TimedMetadataBehavior": { + "type": "string", + "documentation": "M3u8 Timed Metadata Behavior", + "enum": [ + "NO_PASSTHROUGH", + "PASSTHROUGH" + ] + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 1000, + "documentation": "Placeholder documentation for MaxResults" + }, + "MediaConnectFlow": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The unique ARN of the MediaConnect Flow being used as a source." + } + }, + "documentation": "The settings for a MediaConnect Flow." + }, + "MediaConnectFlowRequest": { + "type": "structure", + "members": { + "FlowArn": { + "shape": "__string", + "locationName": "flowArn", + "documentation": "The ARN of the MediaConnect Flow that you want to use as a source." + } + }, + "documentation": "The settings for a MediaConnect Flow." + }, + "MediaPackageGroupSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "MediaPackage channel destination." + } + }, + "documentation": "Media Package Group Settings", + "required": [ + "Destination" + ] + }, + "MediaPackageOutputDestinationSettings": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__stringMin1", + "locationName": "channelId", + "documentation": "ID of the channel in MediaPackage that is the destination for this output group. You do not need to specify the individual inputs in MediaPackage; MediaLive will handle the connection of the two MediaLive pipelines to the two MediaPackage inputs. The MediaPackage channel and MediaLive channel must be in the same region." + } + }, + "documentation": "MediaPackage Output Destination Settings" + }, + "MediaPackageOutputSettings": { + "type": "structure", + "members": { + }, + "documentation": "Media Package Output Settings" + }, + "Mp2CodingMode": { + "type": "string", + "documentation": "Mp2 Coding Mode", + "enum": [ + "CODING_MODE_1_0", + "CODING_MODE_2_0" + ] + }, + "Mp2Settings": { + "type": "structure", + "members": { + "Bitrate": { + "shape": "__double", + "locationName": "bitrate", + "documentation": "Average bitrate in bits/second." + }, + "CodingMode": { + "shape": "Mp2CodingMode", + "locationName": "codingMode", + "documentation": "The MPEG2 Audio coding mode. Valid values are codingMode10 (for mono) or codingMode20 (for stereo)." + }, + "SampleRate": { + "shape": "__double", + "locationName": "sampleRate", + "documentation": "Sample rate in Hz." + } + }, + "documentation": "Mp2 Settings" + }, + "MsSmoothGroupSettings": { + "type": "structure", + "members": { + "AcquisitionPointId": { + "shape": "__string", + "locationName": "acquisitionPointId", + "documentation": "The ID to include in each message in the sparse track. Ignored if sparseTrackType is NONE." + }, + "AudioOnlyTimecodeControl": { + "shape": "SmoothGroupAudioOnlyTimecodeControl", + "locationName": "audioOnlyTimecodeControl", + "documentation": "If set to passthrough for an audio-only MS Smooth output, the fragment absolute time will be set to the current timecode. This option does not write timecodes to the audio elementary stream." + }, + "CertificateMode": { + "shape": "SmoothGroupCertificateMode", + "locationName": "certificateMode", + "documentation": "If set to verifyAuthenticity, verify the https certificate chain to a trusted Certificate Authority (CA). This will cause https outputs to self-signed certificates to fail." + }, + "ConnectionRetryInterval": { + "shape": "__integerMin0", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying connection to the IIS server if the connection is lost. Content will be cached during this time and the cache will be be delivered to the IIS server once the connection is re-established." + }, + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "Smooth Streaming publish point on an IIS server. Elemental Live acts as a \"Push\" encoder to IIS." + }, + "EventId": { + "shape": "__string", + "locationName": "eventId", + "documentation": "MS Smooth event ID to be sent to the IIS server.\n\nShould only be specified if eventIdMode is set to useConfigured." + }, + "EventIdMode": { + "shape": "SmoothGroupEventIdMode", + "locationName": "eventIdMode", + "documentation": "Specifies whether or not to send an event ID to the IIS server. If no event ID is sent and the same Live Event is used without changing the publishing point, clients might see cached video from the previous run.\n\nOptions:\n- \"useConfigured\" - use the value provided in eventId\n- \"useTimestamp\" - generate and send an event ID based on the current timestamp\n- \"noEventId\" - do not send an event ID to the IIS server." + }, + "EventStopBehavior": { + "shape": "SmoothGroupEventStopBehavior", + "locationName": "eventStopBehavior", + "documentation": "When set to sendEos, send EOS signal to IIS server when stopping the event" + }, + "FilecacheDuration": { + "shape": "__integerMin0", + "locationName": "filecacheDuration", + "documentation": "Size in seconds of file cache for streaming outputs." + }, + "FragmentLength": { + "shape": "__integerMin1", + "locationName": "fragmentLength", + "documentation": "Length of mp4 fragments to generate (in seconds). Fragment length must be compatible with GOP size and framerate." + }, + "InputLossAction": { + "shape": "InputLossActionForMsSmoothOut", + "locationName": "inputLossAction", + "documentation": "Parameter that control output group behavior on input loss." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts." + }, + "RestartDelay": { + "shape": "__integerMin0", + "locationName": "restartDelay", + "documentation": "Number of seconds before initiating a restart due to output failure, due to exhausting the numRetries on one segment, or exceeding filecacheDuration." + }, + "SegmentationMode": { + "shape": "SmoothGroupSegmentationMode", + "locationName": "segmentationMode", + "documentation": "useInputSegmentation has been deprecated. The configured segment size is always used." + }, + "SendDelayMs": { + "shape": "__integerMin0Max10000", + "locationName": "sendDelayMs", + "documentation": "Number of milliseconds to delay the output from the second pipeline." + }, + "SparseTrackType": { + "shape": "SmoothGroupSparseTrackType", + "locationName": "sparseTrackType", + "documentation": "Identifies the type of data to place in the sparse track:\n- SCTE35: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame to start a new segment.\n- SCTE35_WITHOUT_SEGMENTATION: Insert SCTE-35 messages from the source content. With each message, insert an IDR frame but don't start a new segment.\n- NONE: Don't generate a sparse track for any outputs in this output group." + }, + "StreamManifestBehavior": { + "shape": "SmoothGroupStreamManifestBehavior", + "locationName": "streamManifestBehavior", + "documentation": "When set to send, send stream manifest so publishing point doesn't start until all streams start." + }, + "TimestampOffset": { + "shape": "__string", + "locationName": "timestampOffset", + "documentation": "Timestamp offset for the event. Only used if timestampOffsetMode is set to useConfiguredOffset." + }, + "TimestampOffsetMode": { + "shape": "SmoothGroupTimestampOffsetMode", + "locationName": "timestampOffsetMode", + "documentation": "Type of timestamp date offset to use.\n- useEventStartDate: Use the date the event was started as the offset\n- useConfiguredOffset: Use an explicitly configured date as the offset" + } + }, + "documentation": "Ms Smooth Group Settings", + "required": [ + "Destination" + ] + }, + "MsSmoothH265PackagingType": { + "type": "string", + "documentation": "Ms Smooth H265 Packaging Type", + "enum": [ + "HEV1", + "HVC1" + ] + }, + "MsSmoothOutputSettings": { + "type": "structure", + "members": { + "H265PackagingType": { + "shape": "MsSmoothH265PackagingType", + "locationName": "h265PackagingType", + "documentation": "Only applicable when this output is referencing an H.265 video description.\nSpecifies whether MP4 segments should be packaged as HEV1 or HVC1." + }, + "NameModifier": { + "shape": "__string", + "locationName": "nameModifier", + "documentation": "String concatenated to the end of the destination filename. Required for multiple outputs of the same type." + } + }, + "documentation": "Ms Smooth Output Settings" + }, + "Multiplex": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations", + "documentation": "A list of the multiplex output destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "The multiplex object." + }, + "MultiplexConfigurationValidationError": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message." + }, + "ValidationErrors": { + "shape": "__listOfValidationError", + "locationName": "validationErrors", + "documentation": "A collection of validation error responses." + } + }, + "documentation": "Placeholder documentation for MultiplexConfigurationValidationError" + }, + "MultiplexGroupSettings": { + "type": "structure", + "members": { + }, + "documentation": "Multiplex Group Settings" + }, + "MultiplexMediaConnectOutputDestinationSettings": { + "type": "structure", + "members": { + "EntitlementArn": { + "shape": "__stringMin1", + "locationName": "entitlementArn", + "documentation": "The MediaConnect entitlement ARN available as a Flow source." + } + }, + "documentation": "Multiplex MediaConnect output destination settings." + }, + "MultiplexOutputDestination": { + "type": "structure", + "members": { + "MediaConnectSettings": { + "shape": "MultiplexMediaConnectOutputDestinationSettings", + "locationName": "mediaConnectSettings", + "documentation": "Multiplex MediaConnect output destination settings." + } + }, + "documentation": "Multiplex output destination settings" + }, + "MultiplexOutputSettings": { + "type": "structure", + "members": { + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "Destination is a Multiplex." + } + }, + "documentation": "Multiplex Output Settings", + "required": [ + "Destination" + ] + }, + "MultiplexProgram": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId", + "documentation": "The MediaLive channel associated with the program." + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The settings for this multiplex program." + }, + "PacketIdentifiersMap": { + "shape": "MultiplexProgramPacketIdentifiersMap", + "locationName": "packetIdentifiersMap", + "documentation": "The packet identifier map for this multiplex program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "The name of the multiplex program." + } + }, + "documentation": "The multiplex program object." + }, + "MultiplexProgramChannelDestinationSettings": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__stringMin1", + "locationName": "multiplexId", + "documentation": "The ID of the Multiplex that the encoder is providing output to. You do not need to specify the individual inputs to the Multiplex; MediaLive will handle the connection of the two MediaLive pipelines to the two Multiplex instances.\nThe Multiplex must be in the same region as the Channel." + }, + "ProgramName": { + "shape": "__stringMin1", + "locationName": "programName", + "documentation": "The program name of the Multiplex program that the encoder is providing output to." + } + }, + "documentation": "Multiplex Program Input Destination Settings for outputting a Channel to a Multiplex" + }, + "MultiplexProgramPacketIdentifiersMap": { + "type": "structure", + "members": { + "AudioPids": { + "shape": "__listOf__integer", + "locationName": "audioPids" + }, + "DvbSubPids": { + "shape": "__listOf__integer", + "locationName": "dvbSubPids" + }, + "DvbTeletextPid": { + "shape": "__integer", + "locationName": "dvbTeletextPid" + }, + "EtvPlatformPid": { + "shape": "__integer", + "locationName": "etvPlatformPid" + }, + "EtvSignalPid": { + "shape": "__integer", + "locationName": "etvSignalPid" + }, + "KlvDataPids": { + "shape": "__listOf__integer", + "locationName": "klvDataPids" + }, + "PcrPid": { + "shape": "__integer", + "locationName": "pcrPid" + }, + "PmtPid": { + "shape": "__integer", + "locationName": "pmtPid" + }, + "PrivateMetadataPid": { + "shape": "__integer", + "locationName": "privateMetadataPid" + }, + "Scte27Pids": { + "shape": "__listOf__integer", + "locationName": "scte27Pids" + }, + "Scte35Pid": { + "shape": "__integer", + "locationName": "scte35Pid" + }, + "TimedMetadataPid": { + "shape": "__integer", + "locationName": "timedMetadataPid" + }, + "VideoPid": { + "shape": "__integer", + "locationName": "videoPid" + } + }, + "documentation": "Packet identifiers map for a given Multiplex program." + }, + "MultiplexProgramServiceDescriptor": { + "type": "structure", + "members": { + "ProviderName": { + "shape": "__stringMax256", + "locationName": "providerName", + "documentation": "Name of the provider." + }, + "ServiceName": { + "shape": "__stringMax256", + "locationName": "serviceName", + "documentation": "Name of the service." + } + }, + "documentation": "Transport stream service descriptor configuration for the Multiplex program.", + "required": [ + "ProviderName", + "ServiceName" + ] + }, + "MultiplexProgramSettings": { + "type": "structure", + "members": { + "PreferredChannelPipeline": { + "shape": "PreferredChannelPipeline", + "locationName": "preferredChannelPipeline", + "documentation": "Indicates which pipeline is preferred by the multiplex for program ingest." + }, + "ProgramNumber": { + "shape": "__integerMin0Max65535", + "locationName": "programNumber", + "documentation": "Unique program number." + }, + "ServiceDescriptor": { + "shape": "MultiplexProgramServiceDescriptor", + "locationName": "serviceDescriptor", + "documentation": "Transport stream service descriptor configuration for the Multiplex program." + }, + "VideoSettings": { + "shape": "MultiplexVideoSettings", + "locationName": "videoSettings", + "documentation": "Program video settings configuration." + } + }, + "documentation": "Multiplex Program settings configuration.", + "required": [ + "ProgramNumber" + ] + }, + "MultiplexProgramSummary": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "locationName": "channelId", + "documentation": "The MediaLive Channel associated with the program." + }, + "ProgramName": { + "shape": "__string", + "locationName": "programName", + "documentation": "The name of the multiplex program." + } + }, + "documentation": "Placeholder documentation for MultiplexProgramSummary" + }, + "MultiplexSettings": { + "type": "structure", + "members": { + "MaximumVideoBufferDelayMilliseconds": { + "shape": "__integerMin1000Max3000", + "locationName": "maximumVideoBufferDelayMilliseconds", + "documentation": "Maximum video buffer delay in milliseconds." + }, + "TransportStreamBitrate": { + "shape": "__integerMin1000000Max100000000", + "locationName": "transportStreamBitrate", + "documentation": "Transport stream bit rate." + }, + "TransportStreamId": { + "shape": "__integerMin0Max65535", + "locationName": "transportStreamId", + "documentation": "Transport stream ID." + }, + "TransportStreamReservedBitrate": { + "shape": "__integerMin0Max100000000", + "locationName": "transportStreamReservedBitrate", + "documentation": "Transport stream reserved bit rate." + } + }, + "documentation": "Contains configuration for a Multiplex event", + "required": [ + "TransportStreamBitrate", + "TransportStreamId" + ] + }, + "MultiplexSettingsSummary": { + "type": "structure", + "members": { + "TransportStreamBitrate": { + "shape": "__integerMin1000000Max100000000", + "locationName": "transportStreamBitrate", + "documentation": "Transport stream bit rate." + } + }, + "documentation": "Contains summary configuration for a Multiplex event." + }, + "MultiplexState": { + "type": "string", + "documentation": "The current state of the multiplex.", + "enum": [ + "CREATING", + "CREATE_FAILED", + "IDLE", + "STARTING", + "RUNNING", + "RECOVERING", + "STOPPING", + "DELETING", + "DELETED" + ] + }, + "MultiplexStatmuxVideoSettings": { + "type": "structure", + "members": { + "MaximumBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "maximumBitrate", + "documentation": "Maximum statmux bitrate." + }, + "MinimumBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "minimumBitrate", + "documentation": "Minimum statmux bitrate." + } + }, + "documentation": "Statmux rate control settings" + }, + "MultiplexSummary": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettingsSummary", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for MultiplexSummary" + }, + "MultiplexVideoSettings": { + "type": "structure", + "members": { + "ConstantBitrate": { + "shape": "__integerMin100000Max100000000", + "locationName": "constantBitrate", + "documentation": "The constant bitrate configuration for the video encode.\nWhen this field is defined, StatmuxSettings must be undefined." + }, + "StatmuxSettings": { + "shape": "MultiplexStatmuxVideoSettings", + "locationName": "statmuxSettings", + "documentation": "Statmux rate control settings.\nWhen this field is defined, ConstantBitrate must be undefined." + } + }, + "documentation": "The video configuration for each program in a multiplex." + }, + "NetworkInputServerValidation": { + "type": "string", + "documentation": "Network Input Server Validation", + "enum": [ + "CHECK_CRYPTOGRAPHY_AND_VALIDATE_NAME", + "CHECK_CRYPTOGRAPHY_ONLY" + ] + }, + "NetworkInputSettings": { + "type": "structure", + "members": { + "HlsInputSettings": { + "shape": "HlsInputSettings", + "locationName": "hlsInputSettings", + "documentation": "Specifies HLS input settings when the uri is for a HLS manifest." + }, + "ServerValidation": { + "shape": "NetworkInputServerValidation", + "locationName": "serverValidation", + "documentation": "Check HTTPS server certificates. When set to checkCryptographyOnly, cryptography in the certificate will be checked, but not the server's name. Certain subdomains (notably S3 buckets that use dots in the bucket name) do not strictly match the corresponding certificate's wildcard pattern and would otherwise cause the event to error. This setting is ignored for protocols that do not use https." + } + }, + "documentation": "Network source to transcode. Must be accessible to the Elemental Live node that is running the live event through a network connection." + }, + "NielsenConfiguration": { + "type": "structure", + "members": { + "DistributorId": { + "shape": "__string", + "locationName": "distributorId", + "documentation": "Enter the Distributor ID assigned to your organization by Nielsen." + }, + "NielsenPcmToId3Tagging": { + "shape": "NielsenPcmToId3TaggingState", + "locationName": "nielsenPcmToId3Tagging", + "documentation": "Enables Nielsen PCM to ID3 tagging" + } + }, + "documentation": "Nielsen Configuration" + }, + "NielsenPcmToId3TaggingState": { + "type": "string", + "documentation": "State of Nielsen PCM to ID3 tagging", + "enum": [ + "DISABLED", + "ENABLED" + ] + }, + "NotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 404 + }, + "documentation": "Placeholder documentation for NotFoundException" + }, + "Offering": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique offering ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:offering:87654321'" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode", + "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration", + "documentation": "Lease duration, e.g. '12'" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits", + "documentation": "Units for duration, e.g. 'MONTHS'" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice", + "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription", + "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType", + "documentation": "Offering type, e.g. 'NO_UPFRONT'" + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "AWS region, e.g. 'us-west-2'" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification", + "documentation": "Resource configuration details" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice", + "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "documentation": "Reserved resources available for purchase" + }, + "OfferingDurationUnits": { + "type": "string", + "documentation": "Units for duration, e.g. 'MONTHS'", + "enum": [ + "MONTHS" + ] + }, + "OfferingType": { + "type": "string", + "documentation": "Offering type, e.g. 'NO_UPFRONT'", + "enum": [ + "NO_UPFRONT" + ] + }, + "Output": { + "type": "structure", + "members": { + "AudioDescriptionNames": { + "shape": "__listOf__string", + "locationName": "audioDescriptionNames", + "documentation": "The names of the AudioDescriptions used as audio sources for this output." + }, + "CaptionDescriptionNames": { + "shape": "__listOf__string", + "locationName": "captionDescriptionNames", + "documentation": "The names of the CaptionDescriptions used as caption sources for this output." + }, + "OutputName": { + "shape": "__stringMin1Max255", + "locationName": "outputName", + "documentation": "The name used to identify an output." + }, + "OutputSettings": { + "shape": "OutputSettings", + "locationName": "outputSettings", + "documentation": "Output type-specific settings." + }, + "VideoDescriptionName": { + "shape": "__string", + "locationName": "videoDescriptionName", + "documentation": "The name of the VideoDescription used as the source for this output." + } + }, + "documentation": "Output settings. There can be multiple outputs within a group.", + "required": [ + "OutputSettings" + ] + }, + "OutputDestination": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "User-specified id. This is used in an output group or an output." + }, + "MediaPackageSettings": { + "shape": "__listOfMediaPackageOutputDestinationSettings", + "locationName": "mediaPackageSettings", + "documentation": "Destination settings for a MediaPackage output; one destination for both encoders." + }, + "MultiplexSettings": { + "shape": "MultiplexProgramChannelDestinationSettings", + "locationName": "multiplexSettings", + "documentation": "Destination settings for a Multiplex output; one destination for both encoders." + }, + "Settings": { + "shape": "__listOfOutputDestinationSettings", + "locationName": "settings", + "documentation": "Destination settings for a standard output; one destination for each redundant encoder." + } + }, + "documentation": "Placeholder documentation for OutputDestination" + }, + "OutputDestinationSettings": { + "type": "structure", + "members": { + "PasswordParam": { + "shape": "__string", + "locationName": "passwordParam", + "documentation": "key used to extract the password from EC2 Parameter store" + }, + "StreamName": { + "shape": "__string", + "locationName": "streamName", + "documentation": "Stream name for RTMP destinations (URLs of type rtmp://)" + }, + "Url": { + "shape": "__string", + "locationName": "url", + "documentation": "A URL specifying a destination" + }, + "Username": { + "shape": "__string", + "locationName": "username", + "documentation": "username for destination" + } + }, + "documentation": "Placeholder documentation for OutputDestinationSettings" + }, + "OutputGroup": { + "type": "structure", + "members": { + "Name": { + "shape": "__stringMax32", + "locationName": "name", + "documentation": "Custom output group name optionally defined by the user. Only letters, numbers, and the underscore character allowed; only 32 characters allowed." + }, + "OutputGroupSettings": { + "shape": "OutputGroupSettings", + "locationName": "outputGroupSettings", + "documentation": "Settings associated with the output group." + }, + "Outputs": { + "shape": "__listOfOutput", + "locationName": "outputs" + } + }, + "documentation": "Output groups for this Live Event. Output groups contain information about where streams should be distributed.", + "required": [ + "Outputs", + "OutputGroupSettings" + ] + }, + "OutputGroupSettings": { + "type": "structure", + "members": { + "ArchiveGroupSettings": { + "shape": "ArchiveGroupSettings", + "locationName": "archiveGroupSettings" + }, + "FrameCaptureGroupSettings": { + "shape": "FrameCaptureGroupSettings", + "locationName": "frameCaptureGroupSettings" + }, + "HlsGroupSettings": { + "shape": "HlsGroupSettings", + "locationName": "hlsGroupSettings" + }, + "MediaPackageGroupSettings": { + "shape": "MediaPackageGroupSettings", + "locationName": "mediaPackageGroupSettings" + }, + "MsSmoothGroupSettings": { + "shape": "MsSmoothGroupSettings", + "locationName": "msSmoothGroupSettings" + }, + "MultiplexGroupSettings": { + "shape": "MultiplexGroupSettings", + "locationName": "multiplexGroupSettings" + }, + "RtmpGroupSettings": { + "shape": "RtmpGroupSettings", + "locationName": "rtmpGroupSettings" + }, + "UdpGroupSettings": { + "shape": "UdpGroupSettings", + "locationName": "udpGroupSettings" + } + }, + "documentation": "Output Group Settings" + }, + "OutputLocationRef": { + "type": "structure", + "members": { + "DestinationRefId": { + "shape": "__string", + "locationName": "destinationRefId" + } + }, + "documentation": "Reference to an OutputDestination ID defined in the channel" + }, + "OutputSettings": { + "type": "structure", + "members": { + "ArchiveOutputSettings": { + "shape": "ArchiveOutputSettings", + "locationName": "archiveOutputSettings" + }, + "FrameCaptureOutputSettings": { + "shape": "FrameCaptureOutputSettings", + "locationName": "frameCaptureOutputSettings" + }, + "HlsOutputSettings": { + "shape": "HlsOutputSettings", + "locationName": "hlsOutputSettings" + }, + "MediaPackageOutputSettings": { + "shape": "MediaPackageOutputSettings", + "locationName": "mediaPackageOutputSettings" + }, + "MsSmoothOutputSettings": { + "shape": "MsSmoothOutputSettings", + "locationName": "msSmoothOutputSettings" + }, + "MultiplexOutputSettings": { + "shape": "MultiplexOutputSettings", + "locationName": "multiplexOutputSettings" + }, + "RtmpOutputSettings": { + "shape": "RtmpOutputSettings", + "locationName": "rtmpOutputSettings" + }, + "UdpOutputSettings": { + "shape": "UdpOutputSettings", + "locationName": "udpOutputSettings" + } + }, + "documentation": "Output Settings" + }, + "PassThroughSettings": { + "type": "structure", + "members": { + }, + "documentation": "Pass Through Settings" + }, + "PauseStateScheduleActionSettings": { + "type": "structure", + "members": { + "Pipelines": { + "shape": "__listOfPipelinePauseStateSettings", + "locationName": "pipelines" + } + }, + "documentation": "Settings for the action to set pause state of a channel." + }, + "PipelineDetail": { + "type": "structure", + "members": { + "ActiveInputAttachmentName": { + "shape": "__string", + "locationName": "activeInputAttachmentName", + "documentation": "The name of the active input attachment currently being ingested by this pipeline." + }, + "ActiveInputSwitchActionName": { + "shape": "__string", + "locationName": "activeInputSwitchActionName", + "documentation": "The name of the input switch schedule action that occurred most recently and that resulted in the switch to the current input attachment for this pipeline." + }, + "PipelineId": { + "shape": "__string", + "locationName": "pipelineId", + "documentation": "Pipeline ID" + } + }, + "documentation": "Runtime details of a pipeline when a channel is running." + }, + "PipelineId": { + "type": "string", + "documentation": "Pipeline ID", + "enum": [ + "PIPELINE_0", + "PIPELINE_1" + ] + }, + "PipelinePauseStateSettings": { + "type": "structure", + "members": { + "PipelineId": { + "shape": "PipelineId", + "locationName": "pipelineId", + "documentation": "Pipeline ID to pause (\"PIPELINE_0\" or \"PIPELINE_1\")." + } + }, + "documentation": "Settings for pausing a pipeline.", + "required": [ + "PipelineId" + ] + }, + "PreferredChannelPipeline": { + "type": "string", + "documentation": "Indicates which pipeline is preferred by the multiplex for program ingest.\nIf set to \\\"PIPELINE_0\\\" or \\\"PIPELINE_1\\\" and an unhealthy ingest causes the multiplex to switch to the non-preferred pipeline,\nit will switch back once that ingest is healthy again. If set to \\\"CURRENTLY_ACTIVE\\\",\nit will not switch back to the other pipeline based on it recovering to a healthy state,\nit will only switch if the active pipeline becomes unhealthy.\n", + "enum": [ + "CURRENTLY_ACTIVE", + "PIPELINE_0", + "PIPELINE_1" + ] + }, + "PurchaseOffering": { + "type": "structure", + "members": { + "Count": { + "shape": "__integerMin1", + "locationName": "count", + "documentation": "Number of resources" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name for the new reservation" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.", + "idempotencyToken": true + }, + "Start": { + "shape": "__string", + "locationName": "start", + "documentation": "Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + } + }, + "documentation": "PurchaseOffering request", + "required": [ + "Count" + ] + }, + "PurchaseOfferingRequest": { + "type": "structure", + "members": { + "Count": { + "shape": "__integerMin1", + "locationName": "count", + "documentation": "Number of resources" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name for the new reservation" + }, + "OfferingId": { + "shape": "__string", + "location": "uri", + "locationName": "offeringId", + "documentation": "Offering to purchase, e.g. '87654321'" + }, + "RequestId": { + "shape": "__string", + "locationName": "requestId", + "documentation": "Unique request ID to be specified. This is needed to prevent retries from creating multiple resources.", + "idempotencyToken": true + }, + "Start": { + "shape": "__string", + "locationName": "start", + "documentation": "Requested reservation start time (UTC) in ISO-8601 format. The specified time must be between the first day of the current month and one year from now. If no value is given, the default is now." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + } + }, + "required": [ + "OfferingId", + "Count" + ], + "documentation": "Placeholder documentation for PurchaseOfferingRequest" + }, + "PurchaseOfferingResponse": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "Placeholder documentation for PurchaseOfferingResponse" + }, + "PurchaseOfferingResultModel": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "PurchaseOffering response" + }, + "Rec601Settings": { + "type": "structure", + "members": { + }, + "documentation": "Rec601 Settings" + }, + "Rec709Settings": { + "type": "structure", + "members": { + }, + "documentation": "Rec709 Settings" + }, + "RemixSettings": { + "type": "structure", + "members": { + "ChannelMappings": { + "shape": "__listOfAudioChannelMapping", + "locationName": "channelMappings", + "documentation": "Mapping of input channels to output channels, with appropriate gain adjustments." + }, + "ChannelsIn": { + "shape": "__integerMin1Max16", + "locationName": "channelsIn", + "documentation": "Number of input channels to be used." + }, + "ChannelsOut": { + "shape": "__integerMin1Max8", + "locationName": "channelsOut", + "documentation": "Number of output channels to be produced.\nValid values: 1, 2, 4, 6, 8" + } + }, + "documentation": "Remix Settings", + "required": [ + "ChannelMappings" + ] + }, + "Reservation": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "Unique reservation ARN, e.g. 'arn:aws:medialive:us-west-2:123456789012:reservation:1234567'" + }, + "Count": { + "shape": "__integer", + "locationName": "count", + "documentation": "Number of reserved resources" + }, + "CurrencyCode": { + "shape": "__string", + "locationName": "currencyCode", + "documentation": "Currency code for usagePrice and fixedPrice in ISO-4217 format, e.g. 'USD'" + }, + "Duration": { + "shape": "__integer", + "locationName": "duration", + "documentation": "Lease duration, e.g. '12'" + }, + "DurationUnits": { + "shape": "OfferingDurationUnits", + "locationName": "durationUnits", + "documentation": "Units for duration, e.g. 'MONTHS'" + }, + "End": { + "shape": "__string", + "locationName": "end", + "documentation": "Reservation UTC end date and time in ISO-8601 format, e.g. '2019-03-01T00:00:00'" + }, + "FixedPrice": { + "shape": "__double", + "locationName": "fixedPrice", + "documentation": "One-time charge for each reserved resource, e.g. '0.0' for a NO_UPFRONT offering" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "User specified reservation name" + }, + "OfferingDescription": { + "shape": "__string", + "locationName": "offeringDescription", + "documentation": "Offering description, e.g. 'HD AVC output at 10-20 Mbps, 30 fps, and standard VQ in US West (Oregon)'" + }, + "OfferingId": { + "shape": "__string", + "locationName": "offeringId", + "documentation": "Unique offering ID, e.g. '87654321'" + }, + "OfferingType": { + "shape": "OfferingType", + "locationName": "offeringType", + "documentation": "Offering type, e.g. 'NO_UPFRONT'" + }, + "Region": { + "shape": "__string", + "locationName": "region", + "documentation": "AWS region, e.g. 'us-west-2'" + }, + "ReservationId": { + "shape": "__string", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + }, + "ResourceSpecification": { + "shape": "ReservationResourceSpecification", + "locationName": "resourceSpecification", + "documentation": "Resource configuration details" + }, + "Start": { + "shape": "__string", + "locationName": "start", + "documentation": "Reservation UTC start date and time in ISO-8601 format, e.g. '2018-03-01T00:00:00'" + }, + "State": { + "shape": "ReservationState", + "locationName": "state", + "documentation": "Current state of reservation, e.g. 'ACTIVE'" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs" + }, + "UsagePrice": { + "shape": "__double", + "locationName": "usagePrice", + "documentation": "Recurring usage charge for each reserved resource, e.g. '157.0'" + } + }, + "documentation": "Reserved resources available to use" + }, + "ReservationCodec": { + "type": "string", + "documentation": "Codec, 'MPEG2', 'AVC', 'HEVC', or 'AUDIO'", + "enum": [ + "MPEG2", + "AVC", + "HEVC", + "AUDIO" + ] + }, + "ReservationMaximumBitrate": { + "type": "string", + "documentation": "Maximum bitrate in megabits per second", + "enum": [ + "MAX_10_MBPS", + "MAX_20_MBPS", + "MAX_50_MBPS" + ] + }, + "ReservationMaximumFramerate": { + "type": "string", + "documentation": "Maximum framerate in frames per second (Outputs only)", + "enum": [ + "MAX_30_FPS", + "MAX_60_FPS" + ] + }, + "ReservationResolution": { + "type": "string", + "documentation": "Resolution based on lines of vertical resolution; SD is less than 720 lines, HD is 720 to 1080 lines, FHD is 1080 lines, UHD is greater than 1080 lines\n", + "enum": [ + "SD", + "HD", + "FHD", + "UHD" + ] + }, + "ReservationResourceSpecification": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "Channel class, e.g. 'STANDARD'" + }, + "Codec": { + "shape": "ReservationCodec", + "locationName": "codec", + "documentation": "Codec, e.g. 'AVC'" + }, + "MaximumBitrate": { + "shape": "ReservationMaximumBitrate", + "locationName": "maximumBitrate", + "documentation": "Maximum bitrate, e.g. 'MAX_20_MBPS'" + }, + "MaximumFramerate": { + "shape": "ReservationMaximumFramerate", + "locationName": "maximumFramerate", + "documentation": "Maximum framerate, e.g. 'MAX_30_FPS' (Outputs only)" + }, + "Resolution": { + "shape": "ReservationResolution", + "locationName": "resolution", + "documentation": "Resolution, e.g. 'HD'" + }, + "ResourceType": { + "shape": "ReservationResourceType", + "locationName": "resourceType", + "documentation": "Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'" + }, + "SpecialFeature": { + "shape": "ReservationSpecialFeature", + "locationName": "specialFeature", + "documentation": "Special feature, e.g. 'AUDIO_NORMALIZATION' (Channels only)" + }, + "VideoQuality": { + "shape": "ReservationVideoQuality", + "locationName": "videoQuality", + "documentation": "Video quality, e.g. 'STANDARD' (Outputs only)" + } + }, + "documentation": "Resource configuration (codec, resolution, bitrate, ...)" + }, + "ReservationResourceType": { + "type": "string", + "documentation": "Resource type, 'INPUT', 'OUTPUT', 'MULTIPLEX', or 'CHANNEL'", + "enum": [ + "INPUT", + "OUTPUT", + "MULTIPLEX", + "CHANNEL" + ] + }, + "ReservationSpecialFeature": { + "type": "string", + "documentation": "Special features, 'ADVANCED_AUDIO' or 'AUDIO_NORMALIZATION'", + "enum": [ + "ADVANCED_AUDIO", + "AUDIO_NORMALIZATION" + ] + }, + "ReservationState": { + "type": "string", + "documentation": "Current reservation state", + "enum": [ + "ACTIVE", + "EXPIRED", + "CANCELED", + "DELETED" + ] + }, + "ReservationVideoQuality": { + "type": "string", + "documentation": "Video quality, e.g. 'STANDARD' (Outputs only)", + "enum": [ + "STANDARD", + "ENHANCED", + "PREMIUM" + ] + }, + "ResourceConflict": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for ResourceConflict" + }, + "ResourceNotFound": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "documentation": "Placeholder documentation for ResourceNotFound" + }, + "RtmpCacheFullBehavior": { + "type": "string", + "documentation": "Rtmp Cache Full Behavior", + "enum": [ + "DISCONNECT_IMMEDIATELY", + "WAIT_FOR_SERVER" + ] + }, + "RtmpCaptionData": { + "type": "string", + "documentation": "Rtmp Caption Data", + "enum": [ + "ALL", + "FIELD1_608", + "FIELD1_AND_FIELD2_608" + ] + }, + "RtmpCaptionInfoDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Rtmp Caption Info Destination Settings" + }, + "RtmpGroupSettings": { + "type": "structure", + "members": { + "AuthenticationScheme": { + "shape": "AuthenticationScheme", + "locationName": "authenticationScheme", + "documentation": "Authentication scheme to use when connecting with CDN" + }, + "CacheFullBehavior": { + "shape": "RtmpCacheFullBehavior", + "locationName": "cacheFullBehavior", + "documentation": "Controls behavior when content cache fills up. If remote origin server stalls the RTMP connection and does not accept content fast enough the 'Media Cache' will fill up. When the cache reaches the duration specified by cacheLength the cache will stop accepting new content. If set to disconnectImmediately, the RTMP output will force a disconnect. Clear the media cache, and reconnect after restartDelay seconds. If set to waitForServer, the RTMP output will wait up to 5 minutes to allow the origin server to begin accepting data again." + }, + "CacheLength": { + "shape": "__integerMin30", + "locationName": "cacheLength", + "documentation": "Cache length, in seconds, is used to calculate buffer size." + }, + "CaptionData": { + "shape": "RtmpCaptionData", + "locationName": "captionData", + "documentation": "Controls the types of data that passes to onCaptionInfo outputs. If set to 'all' then 608 and 708 carried DTVCC data will be passed. If set to 'field1AndField2608' then DTVCC data will be stripped out, but 608 data from both fields will be passed. If set to 'field1608' then only the data carried in 608 from field 1 video will be passed." + }, + "InputLossAction": { + "shape": "InputLossActionForRtmpOut", + "locationName": "inputLossAction", + "documentation": "Controls the behavior of this RTMP group if input becomes unavailable.\n\n- emitOutput: Emit a slate until input returns.\n- pauseOutput: Stop transmitting data until input returns. This does not close the underlying RTMP connection." + }, + "RestartDelay": { + "shape": "__integerMin0", + "locationName": "restartDelay", + "documentation": "If a streaming output fails, number of seconds to wait until a restart is initiated. A value of 0 means never restart." + } + }, + "documentation": "Rtmp Group Settings" + }, + "RtmpOutputCertificateMode": { + "type": "string", + "documentation": "Rtmp Output Certificate Mode", + "enum": [ + "SELF_SIGNED", + "VERIFY_AUTHENTICITY" + ] + }, + "RtmpOutputSettings": { + "type": "structure", + "members": { + "CertificateMode": { + "shape": "RtmpOutputCertificateMode", + "locationName": "certificateMode", + "documentation": "If set to verifyAuthenticity, verify the tls certificate chain to a trusted Certificate Authority (CA). This will cause rtmps outputs with self-signed certificates to fail." + }, + "ConnectionRetryInterval": { + "shape": "__integerMin1", + "locationName": "connectionRetryInterval", + "documentation": "Number of seconds to wait before retrying a connection to the Flash Media server if the connection is lost." + }, + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "The RTMP endpoint excluding the stream name (eg. rtmp://host/appname). For connection to Akamai, a username and password must be supplied. URI fields accept format identifiers." + }, + "NumRetries": { + "shape": "__integerMin0", + "locationName": "numRetries", + "documentation": "Number of retry attempts." + } + }, + "documentation": "Rtmp Output Settings", + "required": [ + "Destination" + ] + }, + "ScheduleAction": { + "type": "structure", + "members": { + "ActionName": { + "shape": "__string", + "locationName": "actionName", + "documentation": "The name of the action, must be unique within the schedule. This name provides the main reference to an action once it is added to the schedule. A name is unique if it is no longer in the schedule. The schedule is automatically cleaned up to remove actions with a start time of more than 1 hour ago (approximately) so at that point a name can be reused." + }, + "ScheduleActionSettings": { + "shape": "ScheduleActionSettings", + "locationName": "scheduleActionSettings", + "documentation": "Settings for this schedule action." + }, + "ScheduleActionStartSettings": { + "shape": "ScheduleActionStartSettings", + "locationName": "scheduleActionStartSettings", + "documentation": "The time for the action to start in the channel." + } + }, + "documentation": "Contains information on a single schedule action.", + "required": [ + "ActionName", + "ScheduleActionStartSettings", + "ScheduleActionSettings" + ] + }, + "ScheduleActionSettings": { + "type": "structure", + "members": { + "HlsId3SegmentTaggingSettings": { + "shape": "HlsId3SegmentTaggingScheduleActionSettings", + "locationName": "hlsId3SegmentTaggingSettings", + "documentation": "Action to insert HLS ID3 segment tagging" + }, + "HlsTimedMetadataSettings": { + "shape": "HlsTimedMetadataScheduleActionSettings", + "locationName": "hlsTimedMetadataSettings", + "documentation": "Action to insert HLS metadata" + }, + "InputSwitchSettings": { + "shape": "InputSwitchScheduleActionSettings", + "locationName": "inputSwitchSettings", + "documentation": "Action to switch the input" + }, + "PauseStateSettings": { + "shape": "PauseStateScheduleActionSettings", + "locationName": "pauseStateSettings", + "documentation": "Action to pause or unpause one or both channel pipelines" + }, + "Scte35ReturnToNetworkSettings": { + "shape": "Scte35ReturnToNetworkScheduleActionSettings", + "locationName": "scte35ReturnToNetworkSettings", + "documentation": "Action to insert SCTE-35 return_to_network message" + }, + "Scte35SpliceInsertSettings": { + "shape": "Scte35SpliceInsertScheduleActionSettings", + "locationName": "scte35SpliceInsertSettings", + "documentation": "Action to insert SCTE-35 splice_insert message" + }, + "Scte35TimeSignalSettings": { + "shape": "Scte35TimeSignalScheduleActionSettings", + "locationName": "scte35TimeSignalSettings", + "documentation": "Action to insert SCTE-35 time_signal message" + }, + "StaticImageActivateSettings": { + "shape": "StaticImageActivateScheduleActionSettings", + "locationName": "staticImageActivateSettings", + "documentation": "Action to activate a static image overlay" + }, + "StaticImageDeactivateSettings": { + "shape": "StaticImageDeactivateScheduleActionSettings", + "locationName": "staticImageDeactivateSettings", + "documentation": "Action to deactivate a static image overlay" + } + }, + "documentation": "Holds the settings for a single schedule action." + }, + "ScheduleActionStartSettings": { + "type": "structure", + "members": { + "FixedModeScheduleActionStartSettings": { + "shape": "FixedModeScheduleActionStartSettings", + "locationName": "fixedModeScheduleActionStartSettings", + "documentation": "Option for specifying the start time for an action." + }, + "FollowModeScheduleActionStartSettings": { + "shape": "FollowModeScheduleActionStartSettings", + "locationName": "followModeScheduleActionStartSettings", + "documentation": "Option for specifying an action as relative to another action." + }, + "ImmediateModeScheduleActionStartSettings": { + "shape": "ImmediateModeScheduleActionStartSettings", + "locationName": "immediateModeScheduleActionStartSettings", + "documentation": "Option for specifying an action that should be applied immediately." + } + }, + "documentation": "Settings to specify when an action should occur. Only one of the options must be selected." + }, + "ScheduleDeleteResultModel": { + "type": "structure", + "members": { + }, + "documentation": "Result of a schedule deletion." + }, + "ScheduleDescribeResultModel": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "The next token; for use in pagination." + }, + "ScheduleActions": { + "shape": "__listOfScheduleAction", + "locationName": "scheduleActions", + "documentation": "The list of actions in the schedule." + } + }, + "documentation": "Results of a schedule describe.", + "required": [ + "ScheduleActions" + ] + }, + "Scte20Convert608To708": { + "type": "string", + "documentation": "Scte20 Convert608 To708", + "enum": [ + "DISABLED", + "UPCONVERT" + ] + }, + "Scte20PlusEmbeddedDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Scte20 Plus Embedded Destination Settings" + }, + "Scte20SourceSettings": { + "type": "structure", + "members": { + "Convert608To708": { + "shape": "Scte20Convert608To708", + "locationName": "convert608To708", + "documentation": "If upconvert, 608 data is both passed through via the \"608 compatibility bytes\" fields of the 708 wrapper as well as translated into 708. 708 data present in the source content will be discarded." + }, + "Source608ChannelNumber": { + "shape": "__integerMin1Max4", + "locationName": "source608ChannelNumber", + "documentation": "Specifies the 608/708 channel number within the video track from which to extract captions. Unused for passthrough." + } + }, + "documentation": "Scte20 Source Settings" + }, + "Scte27DestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Scte27 Destination Settings" + }, + "Scte27SourceSettings": { + "type": "structure", + "members": { + "Pid": { + "shape": "__integerMin1", + "locationName": "pid", + "documentation": "The pid field is used in conjunction with the caption selector languageCode field as follows:\n - Specify PID and Language: Extracts captions from that PID; the language is \"informational\".\n - Specify PID and omit Language: Extracts the specified PID.\n - Omit PID and specify Language: Extracts the specified language, whichever PID that happens to be.\n - Omit PID and omit Language: Valid only if source is DVB-Sub that is being passed through; all languages will be passed through." + } + }, + "documentation": "Scte27 Source Settings" + }, + "Scte35AposNoRegionalBlackoutBehavior": { + "type": "string", + "documentation": "Scte35 Apos No Regional Blackout Behavior", + "enum": [ + "FOLLOW", + "IGNORE" + ] + }, + "Scte35AposWebDeliveryAllowedBehavior": { + "type": "string", + "documentation": "Scte35 Apos Web Delivery Allowed Behavior", + "enum": [ + "FOLLOW", + "IGNORE" + ] + }, + "Scte35ArchiveAllowedFlag": { + "type": "string", + "documentation": "Corresponds to the archive_allowed parameter. A value of ARCHIVE_NOT_ALLOWED corresponds to 0 (false) in the SCTE-35 specification. If you include one of the \"restriction\" flags then you must include all four of them.", + "enum": [ + "ARCHIVE_NOT_ALLOWED", + "ARCHIVE_ALLOWED" + ] + }, + "Scte35DeliveryRestrictions": { + "type": "structure", + "members": { + "ArchiveAllowedFlag": { + "shape": "Scte35ArchiveAllowedFlag", + "locationName": "archiveAllowedFlag", + "documentation": "Corresponds to SCTE-35 archive_allowed_flag." + }, + "DeviceRestrictions": { + "shape": "Scte35DeviceRestrictions", + "locationName": "deviceRestrictions", + "documentation": "Corresponds to SCTE-35 device_restrictions parameter." + }, + "NoRegionalBlackoutFlag": { + "shape": "Scte35NoRegionalBlackoutFlag", + "locationName": "noRegionalBlackoutFlag", + "documentation": "Corresponds to SCTE-35 no_regional_blackout_flag parameter." + }, + "WebDeliveryAllowedFlag": { + "shape": "Scte35WebDeliveryAllowedFlag", + "locationName": "webDeliveryAllowedFlag", + "documentation": "Corresponds to SCTE-35 web_delivery_allowed_flag parameter." + } + }, + "documentation": "Corresponds to SCTE-35 delivery_not_restricted_flag parameter. To declare delivery restrictions, include this element and its four \"restriction\" flags. To declare that there are no restrictions, omit this element.", + "required": [ + "DeviceRestrictions", + "ArchiveAllowedFlag", + "WebDeliveryAllowedFlag", + "NoRegionalBlackoutFlag" + ] + }, + "Scte35Descriptor": { + "type": "structure", + "members": { + "Scte35DescriptorSettings": { + "shape": "Scte35DescriptorSettings", + "locationName": "scte35DescriptorSettings", + "documentation": "SCTE-35 Descriptor Settings." + } + }, + "documentation": "Holds one set of SCTE-35 Descriptor Settings.", + "required": [ + "Scte35DescriptorSettings" + ] + }, + "Scte35DescriptorSettings": { + "type": "structure", + "members": { + "SegmentationDescriptorScte35DescriptorSettings": { + "shape": "Scte35SegmentationDescriptor", + "locationName": "segmentationDescriptorScte35DescriptorSettings", + "documentation": "SCTE-35 Segmentation Descriptor." + } + }, + "documentation": "SCTE-35 Descriptor settings.", + "required": [ + "SegmentationDescriptorScte35DescriptorSettings" + ] + }, + "Scte35DeviceRestrictions": { + "type": "string", + "documentation": "Corresponds to the device_restrictions parameter in a segmentation_descriptor. If you include one of the \"restriction\" flags then you must include all four of them.", + "enum": [ + "NONE", + "RESTRICT_GROUP0", + "RESTRICT_GROUP1", + "RESTRICT_GROUP2" + ] + }, + "Scte35NoRegionalBlackoutFlag": { + "type": "string", + "documentation": "Corresponds to the no_regional_blackout_flag parameter. A value of REGIONAL_BLACKOUT corresponds to 0 (false) in the SCTE-35 specification. If you include one of the \"restriction\" flags then you must include all four of them.", + "enum": [ + "REGIONAL_BLACKOUT", + "NO_REGIONAL_BLACKOUT" + ] + }, + "Scte35ReturnToNetworkScheduleActionSettings": { + "type": "structure", + "members": { + "SpliceEventId": { + "shape": "__longMin0Max4294967295", + "locationName": "spliceEventId", + "documentation": "The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35." + } + }, + "documentation": "Settings for a SCTE-35 return_to_network message.", + "required": [ + "SpliceEventId" + ] + }, + "Scte35SegmentationCancelIndicator": { + "type": "string", + "documentation": "Corresponds to SCTE-35 segmentation_event_cancel_indicator. SEGMENTATION_EVENT_NOT_CANCELED corresponds to 0 in the SCTE-35 specification and indicates that this is an insertion request. SEGMENTATION_EVENT_CANCELED corresponds to 1 in the SCTE-35 specification and indicates that this is a cancelation request, in which case complete this field and the existing event ID to cancel.", + "enum": [ + "SEGMENTATION_EVENT_NOT_CANCELED", + "SEGMENTATION_EVENT_CANCELED" + ] + }, + "Scte35SegmentationDescriptor": { + "type": "structure", + "members": { + "DeliveryRestrictions": { + "shape": "Scte35DeliveryRestrictions", + "locationName": "deliveryRestrictions", + "documentation": "Holds the four SCTE-35 delivery restriction parameters." + }, + "SegmentNum": { + "shape": "__integerMin0Max255", + "locationName": "segmentNum", + "documentation": "Corresponds to SCTE-35 segment_num. A value that is valid for the specified segmentation_type_id." + }, + "SegmentationCancelIndicator": { + "shape": "Scte35SegmentationCancelIndicator", + "locationName": "segmentationCancelIndicator", + "documentation": "Corresponds to SCTE-35 segmentation_event_cancel_indicator." + }, + "SegmentationDuration": { + "shape": "__longMin0Max1099511627775", + "locationName": "segmentationDuration", + "documentation": "Corresponds to SCTE-35 segmentation_duration. Optional. The duration for the time_signal, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. Enter time in 90 KHz clock ticks. If you do not enter a duration, the time_signal will continue until you insert a cancellation message." + }, + "SegmentationEventId": { + "shape": "__longMin0Max4294967295", + "locationName": "segmentationEventId", + "documentation": "Corresponds to SCTE-35 segmentation_event_id. " + }, + "SegmentationTypeId": { + "shape": "__integerMin0Max255", + "locationName": "segmentationTypeId", + "documentation": "Corresponds to SCTE-35 segmentation_type_id. One of the segmentation_type_id values listed in the SCTE-35 specification. On the console, enter the ID in decimal (for example, \"52\"). In the CLI, API, or an SDK, enter the ID in hex (for example, \"0x34\") or decimal (for example, \"52\")." + }, + "SegmentationUpid": { + "shape": "__string", + "locationName": "segmentationUpid", + "documentation": "Corresponds to SCTE-35 segmentation_upid. Enter a string containing the hexadecimal representation of the characters that make up the SCTE-35 segmentation_upid value. Must contain an even number of hex characters. Do not include spaces between each hex pair. For example, the ASCII \"ADS Information\" becomes hex \"41445320496e666f726d6174696f6e." + }, + "SegmentationUpidType": { + "shape": "__integerMin0Max255", + "locationName": "segmentationUpidType", + "documentation": "Corresponds to SCTE-35 segmentation_upid_type. On the console, enter one of the types listed in the SCTE-35 specification, converted to a decimal. For example, \"0x0C\" hex from the specification is \"12\" in decimal. In the CLI, API, or an SDK, enter one of the types listed in the SCTE-35 specification, in either hex (for example, \"0x0C\" ) or in decimal (for example, \"12\")." + }, + "SegmentsExpected": { + "shape": "__integerMin0Max255", + "locationName": "segmentsExpected", + "documentation": "Corresponds to SCTE-35 segments_expected. A value that is valid for the specified segmentation_type_id." + }, + "SubSegmentNum": { + "shape": "__integerMin0Max255", + "locationName": "subSegmentNum", + "documentation": "Corresponds to SCTE-35 sub_segment_num. A value that is valid for the specified segmentation_type_id." + }, + "SubSegmentsExpected": { + "shape": "__integerMin0Max255", + "locationName": "subSegmentsExpected", + "documentation": "Corresponds to SCTE-35 sub_segments_expected. A value that is valid for the specified segmentation_type_id." + } + }, + "documentation": "Corresponds to SCTE-35 segmentation_descriptor.", + "required": [ + "SegmentationEventId", + "SegmentationCancelIndicator" + ] + }, + "Scte35SpliceInsert": { + "type": "structure", + "members": { + "AdAvailOffset": { + "shape": "__integerMinNegative1000Max1000", + "locationName": "adAvailOffset", + "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages." + }, + "NoRegionalBlackoutFlag": { + "shape": "Scte35SpliceInsertNoRegionalBlackoutBehavior", + "locationName": "noRegionalBlackoutFlag", + "documentation": "When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates" + }, + "WebDeliveryAllowedFlag": { + "shape": "Scte35SpliceInsertWebDeliveryAllowedBehavior", + "locationName": "webDeliveryAllowedFlag", + "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" + } + }, + "documentation": "Scte35 Splice Insert" + }, + "Scte35SpliceInsertNoRegionalBlackoutBehavior": { + "type": "string", + "documentation": "Scte35 Splice Insert No Regional Blackout Behavior", + "enum": [ + "FOLLOW", + "IGNORE" + ] + }, + "Scte35SpliceInsertScheduleActionSettings": { + "type": "structure", + "members": { + "Duration": { + "shape": "__longMin0Max8589934591", + "locationName": "duration", + "documentation": "Optional, the duration for the splice_insert, in 90 KHz ticks. To convert seconds to ticks, multiple the seconds by 90,000. If you enter a duration, there is an expectation that the downstream system can read the duration and cue in at that time. If you do not enter a duration, the splice_insert will continue indefinitely and there is an expectation that you will enter a return_to_network to end the splice_insert at the appropriate time." + }, + "SpliceEventId": { + "shape": "__longMin0Max4294967295", + "locationName": "spliceEventId", + "documentation": "The splice_event_id for the SCTE-35 splice_insert, as defined in SCTE-35." + } + }, + "documentation": "Settings for a SCTE-35 splice_insert message.", + "required": [ + "SpliceEventId" + ] + }, + "Scte35SpliceInsertWebDeliveryAllowedBehavior": { + "type": "string", + "documentation": "Scte35 Splice Insert Web Delivery Allowed Behavior", + "enum": [ + "FOLLOW", + "IGNORE" + ] + }, + "Scte35TimeSignalApos": { + "type": "structure", + "members": { + "AdAvailOffset": { + "shape": "__integerMinNegative1000Max1000", + "locationName": "adAvailOffset", + "documentation": "When specified, this offset (in milliseconds) is added to the input Ad Avail PTS time. This only applies to embedded SCTE 104/35 messages and does not apply to OOB messages." + }, + "NoRegionalBlackoutFlag": { + "shape": "Scte35AposNoRegionalBlackoutBehavior", + "locationName": "noRegionalBlackoutFlag", + "documentation": "When set to ignore, Segment Descriptors with noRegionalBlackoutFlag set to 0 will no longer trigger blackouts or Ad Avail slates" + }, + "WebDeliveryAllowedFlag": { + "shape": "Scte35AposWebDeliveryAllowedBehavior", + "locationName": "webDeliveryAllowedFlag", + "documentation": "When set to ignore, Segment Descriptors with webDeliveryAllowedFlag set to 0 will no longer trigger blackouts or Ad Avail slates" + } + }, + "documentation": "Scte35 Time Signal Apos" + }, + "Scte35TimeSignalScheduleActionSettings": { + "type": "structure", + "members": { + "Scte35Descriptors": { + "shape": "__listOfScte35Descriptor", + "locationName": "scte35Descriptors", + "documentation": "The list of SCTE-35 descriptors accompanying the SCTE-35 time_signal." + } + }, + "documentation": "Settings for a SCTE-35 time_signal.", + "required": [ + "Scte35Descriptors" + ] + }, + "Scte35WebDeliveryAllowedFlag": { + "type": "string", + "documentation": "Corresponds to the web_delivery_allowed_flag parameter. A value of WEB_DELIVERY_NOT_ALLOWED corresponds to 0 (false) in the SCTE-35 specification. If you include one of the \"restriction\" flags then you must include all four of them.", + "enum": [ + "WEB_DELIVERY_NOT_ALLOWED", + "WEB_DELIVERY_ALLOWED" + ] + }, + "SmoothGroupAudioOnlyTimecodeControl": { + "type": "string", + "documentation": "Smooth Group Audio Only Timecode Control", + "enum": [ + "PASSTHROUGH", + "USE_CONFIGURED_CLOCK" + ] + }, + "SmoothGroupCertificateMode": { + "type": "string", + "documentation": "Smooth Group Certificate Mode", + "enum": [ + "SELF_SIGNED", + "VERIFY_AUTHENTICITY" + ] + }, + "SmoothGroupEventIdMode": { + "type": "string", + "documentation": "Smooth Group Event Id Mode", + "enum": [ + "NO_EVENT_ID", + "USE_CONFIGURED", + "USE_TIMESTAMP" + ] + }, + "SmoothGroupEventStopBehavior": { + "type": "string", + "documentation": "Smooth Group Event Stop Behavior", + "enum": [ + "NONE", + "SEND_EOS" + ] + }, + "SmoothGroupSegmentationMode": { + "type": "string", + "documentation": "Smooth Group Segmentation Mode", + "enum": [ + "USE_INPUT_SEGMENTATION", + "USE_SEGMENT_DURATION" + ] + }, + "SmoothGroupSparseTrackType": { + "type": "string", + "documentation": "Smooth Group Sparse Track Type", + "enum": [ + "NONE", + "SCTE_35", + "SCTE_35_WITHOUT_SEGMENTATION" + ] + }, + "SmoothGroupStreamManifestBehavior": { + "type": "string", + "documentation": "Smooth Group Stream Manifest Behavior", + "enum": [ + "DO_NOT_SEND", + "SEND" + ] + }, + "SmoothGroupTimestampOffsetMode": { + "type": "string", + "documentation": "Smooth Group Timestamp Offset Mode", + "enum": [ + "USE_CONFIGURED_OFFSET", + "USE_EVENT_START_DATE" + ] + }, + "Smpte2038DataPreference": { + "type": "string", + "documentation": "Smpte2038 Data Preference", + "enum": [ + "IGNORE", + "PREFER" + ] + }, + "SmpteTtDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Smpte Tt Destination Settings" + }, + "StandardHlsSettings": { + "type": "structure", + "members": { + "AudioRenditionSets": { + "shape": "__string", + "locationName": "audioRenditionSets", + "documentation": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','." + }, + "M3u8Settings": { + "shape": "M3u8Settings", + "locationName": "m3u8Settings" + } + }, + "documentation": "Standard Hls Settings", + "required": [ + "M3u8Settings" + ] + }, + "StartChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "A request to start a channel" + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for StartChannelRequest" + }, + "StartChannelResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelineDetails": { + "shape": "__listOfPipelineDetail", + "locationName": "pipelineDetails", + "documentation": "Runtime details for the pipelines of a running channel." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for StartChannelResponse" + }, + "StartMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex." + } + }, + "required": [ + "MultiplexId" + ], + "documentation": "Placeholder documentation for StartMultiplexRequest" + }, + "StartMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations", + "documentation": "A list of the multiplex output destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for StartMultiplexResponse" + }, + "StartTimecode": { + "type": "structure", + "members": { + "Timecode": { + "shape": "__string", + "locationName": "timecode", + "documentation": "The timecode for the frame where you want to start the clip. Optional; if not specified, the clip starts at first frame in the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF." + } + }, + "documentation": "Settings to identify the start of the clip." + }, + "StaticImageActivateScheduleActionSettings": { + "type": "structure", + "members": { + "Duration": { + "shape": "__integerMin0", + "locationName": "duration", + "documentation": "The duration in milliseconds for the image to remain on the video. If omitted or set to 0 the duration is unlimited and the image will remain until it is explicitly deactivated." + }, + "FadeIn": { + "shape": "__integerMin0", + "locationName": "fadeIn", + "documentation": "The time in milliseconds for the image to fade in. The fade-in starts at the start time of the overlay. Default is 0 (no fade-in)." + }, + "FadeOut": { + "shape": "__integerMin0", + "locationName": "fadeOut", + "documentation": "Applies only if a duration is specified. The time in milliseconds for the image to fade out. The fade-out starts when the duration time is hit, so it effectively extends the duration. Default is 0 (no fade-out)." + }, + "Height": { + "shape": "__integerMin1", + "locationName": "height", + "documentation": "The height of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified height. Leave blank to use the native height of the overlay." + }, + "Image": { + "shape": "InputLocation", + "locationName": "image", + "documentation": "The location and filename of the image file to overlay on the video. The file must be a 32-bit BMP, PNG, or TGA file, and must not be larger (in pixels) than the input video." + }, + "ImageX": { + "shape": "__integerMin0", + "locationName": "imageX", + "documentation": "Placement of the left edge of the overlay relative to the left edge of the video frame, in pixels. 0 (the default) is the left edge of the frame. If the placement causes the overlay to extend beyond the right edge of the underlying video, then the overlay is cropped on the right." + }, + "ImageY": { + "shape": "__integerMin0", + "locationName": "imageY", + "documentation": "Placement of the top edge of the overlay relative to the top edge of the video frame, in pixels. 0 (the default) is the top edge of the frame. If the placement causes the overlay to extend beyond the bottom edge of the underlying video, then the overlay is cropped on the bottom." + }, + "Layer": { + "shape": "__integerMin0Max7", + "locationName": "layer", + "documentation": "The number of the layer, 0 to 7. There are 8 layers that can be overlaid on the video, each layer with a different image. The layers are in Z order, which means that overlays with higher values of layer are inserted on top of overlays with lower values of layer. Default is 0." + }, + "Opacity": { + "shape": "__integerMin0Max100", + "locationName": "opacity", + "documentation": "Opacity of image where 0 is transparent and 100 is fully opaque. Default is 100." + }, + "Width": { + "shape": "__integerMin1", + "locationName": "width", + "documentation": "The width of the image when inserted into the video, in pixels. The overlay will be scaled up or down to the specified width. Leave blank to use the native width of the overlay." + } + }, + "documentation": "Settings for the action to activate a static image.", + "required": [ + "Image" + ] + }, + "StaticImageDeactivateScheduleActionSettings": { + "type": "structure", + "members": { + "FadeOut": { + "shape": "__integerMin0", + "locationName": "fadeOut", + "documentation": "The time in milliseconds for the image to fade out. Default is 0 (no fade-out)." + }, + "Layer": { + "shape": "__integerMin0Max7", + "locationName": "layer", + "documentation": "The image overlay layer to deactivate, 0 to 7. Default is 0." + } + }, + "documentation": "Settings for the action to deactivate the image in a specific layer." + }, + "StaticKeySettings": { + "type": "structure", + "members": { + "KeyProviderServer": { + "shape": "InputLocation", + "locationName": "keyProviderServer", + "documentation": "The URL of the license server used for protecting content." + }, + "StaticKeyValue": { + "shape": "__stringMin32Max32", + "locationName": "staticKeyValue", + "documentation": "Static key value as a 32 character hexadecimal string." + } + }, + "documentation": "Static Key Settings", + "required": [ + "StaticKeyValue" + ] + }, + "StopChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "A request to stop a running channel" + } + }, + "required": [ + "ChannelId" + ], + "documentation": "Placeholder documentation for StopChannelRequest" + }, + "StopChannelResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the channel." + }, + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The class for this channel. STANDARD for a channel with two pipelines or SINGLE_PIPELINE for a channel with one pipeline." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of destinations of the channel. For UDP outputs, there is one\ndestination per output. For other types (HLS, for example), there is\none destination per packager.\n" + }, + "EgressEndpoints": { + "shape": "__listOfChannelEgressEndpoint", + "locationName": "egressEndpoints", + "documentation": "The endpoints where outgoing connections initiate from" + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings" + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments", + "documentation": "List of input attachments for channel." + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level being written to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel. (user-mutable)" + }, + "PipelineDetails": { + "shape": "__listOfPipelineDetail", + "locationName": "pipelineDetails", + "documentation": "Runtime details for the pipelines of a running channel." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role assumed when running the Channel." + }, + "State": { + "shape": "ChannelState", + "locationName": "state" + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for StopChannelResponse" + }, + "StopMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex." + } + }, + "required": [ + "MultiplexId" + ], + "documentation": "Placeholder documentation for StopMultiplexRequest" + }, + "StopMultiplexResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique arn of the multiplex." + }, + "AvailabilityZones": { + "shape": "__listOf__string", + "locationName": "availabilityZones", + "documentation": "A list of availability zones for the multiplex." + }, + "Destinations": { + "shape": "__listOfMultiplexOutputDestination", + "locationName": "destinations", + "documentation": "A list of the multiplex output destinations." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique id of the multiplex." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "Configuration for a multiplex event." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the multiplex." + }, + "PipelinesRunningCount": { + "shape": "__integer", + "locationName": "pipelinesRunningCount", + "documentation": "The number of currently healthy pipelines." + }, + "ProgramCount": { + "shape": "__integer", + "locationName": "programCount", + "documentation": "The number of programs in the multiplex." + }, + "State": { + "shape": "MultiplexState", + "locationName": "state", + "documentation": "The current state of the multiplex." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + } + }, + "documentation": "Placeholder documentation for StopMultiplexResponse" + }, + "StopTimecode": { + "type": "structure", + "members": { + "LastFrameClippingBehavior": { + "shape": "LastFrameClippingBehavior", + "locationName": "lastFrameClippingBehavior", + "documentation": "If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode." + }, + "Timecode": { + "shape": "__string", + "locationName": "timecode", + "documentation": "The timecode for the frame where you want to stop the clip. Optional; if not specified, the clip continues to the end of the file. Enter the timecode as HH:MM:SS:FF or HH:MM:SS;FF." + } + }, + "documentation": "Settings to identify the end of the clip." + }, + "Tags": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + }, + "documentation": "Placeholder documentation for Tags" + }, + "TagsModel": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "documentation": "Placeholder documentation for TagsModel" + }, + "TeletextDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Teletext Destination Settings" + }, + "TeletextSourceSettings": { + "type": "structure", + "members": { + "PageNumber": { + "shape": "__string", + "locationName": "pageNumber", + "documentation": "Specifies the teletext page number within the data stream from which to extract captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should be specified as a hexadecimal string with no \"0x\" prefix." + } + }, + "documentation": "Teletext Source Settings" + }, + "TemporalFilterPostFilterSharpening": { + "type": "string", + "documentation": "Temporal Filter Post Filter Sharpening", + "enum": [ + "AUTO", + "DISABLED", + "ENABLED" + ] + }, + "TemporalFilterSettings": { + "type": "structure", + "members": { + "PostFilterSharpening": { + "shape": "TemporalFilterPostFilterSharpening", + "locationName": "postFilterSharpening", + "documentation": "If you enable this filter, the results are the following:\n- If the source content is noisy (it contains excessive digital artifacts), the filter cleans up the source.\n- If the source content is already clean, the filter tends to decrease the bitrate, especially when the rate control mode is QVBR." + }, + "Strength": { + "shape": "TemporalFilterStrength", + "locationName": "strength", + "documentation": "Choose a filter strength. We recommend a strength of 1 or 2. A higher strength might take out good information, resulting in an image that is overly soft." + } + }, + "documentation": "Temporal Filter Settings" + }, + "TemporalFilterStrength": { + "type": "string", + "documentation": "Temporal Filter Strength", + "enum": [ + "AUTO", + "STRENGTH_1", + "STRENGTH_2", + "STRENGTH_3", + "STRENGTH_4", + "STRENGTH_5", + "STRENGTH_6", + "STRENGTH_7", + "STRENGTH_8", + "STRENGTH_9", + "STRENGTH_10", + "STRENGTH_11", + "STRENGTH_12", + "STRENGTH_13", + "STRENGTH_14", + "STRENGTH_15", + "STRENGTH_16" + ] + }, + "TimecodeConfig": { + "type": "structure", + "members": { + "Source": { + "shape": "TimecodeConfigSource", + "locationName": "source", + "documentation": "Identifies the source for the timecode that will be associated with the events outputs.\n-Embedded (embedded): Initialize the output timecode with timecode from the the source. If no embedded timecode is detected in the source, the system falls back to using \"Start at 0\" (zerobased).\n-System Clock (systemclock): Use the UTC time.\n-Start at 0 (zerobased): The time of the first frame of the event will be 00:00:00:00." + }, + "SyncThreshold": { + "shape": "__integerMin1Max1000000", + "locationName": "syncThreshold", + "documentation": "Threshold in frames beyond which output timecode is resynchronized to the input timecode. Discrepancies below this threshold are permitted to avoid unnecessary discontinuities in the output timecode. No timecode sync when this is not specified." + } + }, + "documentation": "Timecode Config", + "required": [ + "Source" + ] + }, + "TimecodeConfigSource": { + "type": "string", + "documentation": "Timecode Config Source", + "enum": [ + "EMBEDDED", + "SYSTEMCLOCK", + "ZEROBASED" + ] + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 429 + }, + "documentation": "Placeholder documentation for TooManyRequestsException" + }, + "TtmlDestinationSettings": { + "type": "structure", + "members": { + "StyleControl": { + "shape": "TtmlDestinationStyleControl", + "locationName": "styleControl", + "documentation": "When set to passthrough, passes through style and position information from a TTML-like input source (TTML, SMPTE-TT, CFF-TT) to the CFF-TT output or TTML output." + } + }, + "documentation": "Ttml Destination Settings" + }, + "TtmlDestinationStyleControl": { + "type": "string", + "documentation": "Ttml Destination Style Control", + "enum": [ + "PASSTHROUGH", + "USE_CONFIGURED" + ] + }, + "UdpContainerSettings": { + "type": "structure", + "members": { + "M2tsSettings": { + "shape": "M2tsSettings", + "locationName": "m2tsSettings" + } + }, + "documentation": "Udp Container Settings" + }, + "UdpGroupSettings": { + "type": "structure", + "members": { + "InputLossAction": { + "shape": "InputLossActionForUdpOut", + "locationName": "inputLossAction", + "documentation": "Specifies behavior of last resort when input video is lost, and no more backup inputs are available. When dropTs is selected the entire transport stream will stop being emitted. When dropProgram is selected the program can be dropped from the transport stream (and replaced with null packets to meet the TS bitrate requirement). Or, when emitProgram is chosen the transport stream will continue to be produced normally with repeat frames, black frames, or slate frames substituted for the absent input video." + }, + "TimedMetadataId3Frame": { + "shape": "UdpTimedMetadataId3Frame", + "locationName": "timedMetadataId3Frame", + "documentation": "Indicates ID3 frame that has the timecode." + }, + "TimedMetadataId3Period": { + "shape": "__integerMin0", + "locationName": "timedMetadataId3Period", + "documentation": "Timed Metadata interval in seconds." + } + }, + "documentation": "Udp Group Settings" + }, + "UdpOutputSettings": { + "type": "structure", + "members": { + "BufferMsec": { + "shape": "__integerMin0Max10000", + "locationName": "bufferMsec", + "documentation": "UDP output buffering in milliseconds. Larger values increase latency through the transcoder but simultaneously assist the transcoder in maintaining a constant, low-jitter UDP/RTP output while accommodating clock recovery, input switching, input disruptions, picture reordering, etc." + }, + "ContainerSettings": { + "shape": "UdpContainerSettings", + "locationName": "containerSettings" + }, + "Destination": { + "shape": "OutputLocationRef", + "locationName": "destination", + "documentation": "Destination address and port number for RTP or UDP packets. Can be unicast or multicast RTP or UDP (eg. rtp://239.10.10.10:5001 or udp://10.100.100.100:5002)." + }, + "FecOutputSettings": { + "shape": "FecOutputSettings", + "locationName": "fecOutputSettings", + "documentation": "Settings for enabling and adjusting Forward Error Correction on UDP outputs." + } + }, + "documentation": "Udp Output Settings", + "required": [ + "Destination", + "ContainerSettings" + ] + }, + "UdpTimedMetadataId3Frame": { + "type": "string", + "documentation": "Udp Timed Metadata Id3 Frame", + "enum": [ + "NONE", + "PRIV", + "TDRL" + ] + }, + "UnprocessableEntityException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "locationName": "message", + "documentation": "The error message." + }, + "ValidationErrors": { + "shape": "__listOfValidationError", + "locationName": "validationErrors", + "documentation": "A collection of validation error responses." + } + }, + "exception": true, + "error": { + "httpStatusCode": 422 + }, + "documentation": "Placeholder documentation for UnprocessableEntityException" + }, + "UpdateChannel": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings", + "documentation": "The encoder settings for this channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments" + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification", + "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level to write to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed." + } + }, + "documentation": "Placeholder documentation for UpdateChannel" + }, + "UpdateChannelClass": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The channel class that you wish to update this channel to use." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + } + }, + "required": [ + "ChannelClass" + ], + "documentation": "Placeholder documentation for UpdateChannelClass" + }, + "UpdateChannelClassRequest": { + "type": "structure", + "members": { + "ChannelClass": { + "shape": "ChannelClass", + "locationName": "channelClass", + "documentation": "The channel class that you wish to update this channel to use." + }, + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "Channel Id of the channel whose class should be updated." + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + } + }, + "documentation": "Channel class that the channel should be updated to.", + "required": [ + "ChannelId", + "ChannelClass" + ] + }, + "UpdateChannelClassResponse": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "Placeholder documentation for UpdateChannelClassResponse" + }, + "UpdateChannelRequest": { + "type": "structure", + "members": { + "ChannelId": { + "shape": "__string", + "location": "uri", + "locationName": "channelId", + "documentation": "channel ID" + }, + "Destinations": { + "shape": "__listOfOutputDestination", + "locationName": "destinations", + "documentation": "A list of output destinations for this channel." + }, + "EncoderSettings": { + "shape": "EncoderSettings", + "locationName": "encoderSettings", + "documentation": "The encoder settings for this channel." + }, + "InputAttachments": { + "shape": "__listOfInputAttachment", + "locationName": "inputAttachments" + }, + "InputSpecification": { + "shape": "InputSpecification", + "locationName": "inputSpecification", + "documentation": "Specification of input for this channel (max. bitrate, resolution, codec, etc.)" + }, + "LogLevel": { + "shape": "LogLevel", + "locationName": "logLevel", + "documentation": "The log level to write to CloudWatch Logs." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of the channel." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "An optional Amazon Resource Name (ARN) of the role to assume when running the Channel. If you do not specify this on an update call but the role was previously set that role will be removed." + } + }, + "documentation": "A request to update a channel.", + "required": [ + "ChannelId" + ] + }, + "UpdateChannelResponse": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "Placeholder documentation for UpdateChannelResponse" + }, + "UpdateChannelResultModel": { + "type": "structure", + "members": { + "Channel": { + "shape": "Channel", + "locationName": "channel" + } + }, + "documentation": "The updated channel's description." + }, + "UpdateInput": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations", + "documentation": "Destination settings for PUSH type inputs." + }, + "InputDevices": { + "shape": "__listOfInputDeviceRequest", + "locationName": "inputDevices", + "documentation": "Settings for the devices." + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups", + "documentation": "A list of security groups referenced by IDs to attach to the input." + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlowRequest", + "locationName": "mediaConnectFlows", + "documentation": "A list of the MediaConnect Flow ARNs that you want to use as the source of the input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the input." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources", + "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" + } + }, + "documentation": "Placeholder documentation for UpdateInput" + }, + "UpdateInputDevice": { + "type": "structure", + "members": { + "HdDeviceSettings": { + "shape": "InputDeviceConfigurableSettings", + "locationName": "hdDeviceSettings", + "documentation": "The settings that you want to apply to the input device." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name that you assigned to this input device (not the unique ID)." + } + }, + "documentation": "Updates an input device." + }, + "UpdateInputDeviceRequest": { + "type": "structure", + "members": { + "HdDeviceSettings": { + "shape": "InputDeviceConfigurableSettings", + "locationName": "hdDeviceSettings", + "documentation": "The settings that you want to apply to the input device." + }, + "InputDeviceId": { + "shape": "__string", + "location": "uri", + "locationName": "inputDeviceId", + "documentation": "The unique ID of the input device. For example, hd-123456789abcdef." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name that you assigned to this input device (not the unique ID)." + } + }, + "documentation": "A request to update an input device.", + "required": [ + "InputDeviceId" + ] + }, + "UpdateInputDeviceResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "locationName": "arn", + "documentation": "The unique ARN of the input device." + }, + "ConnectionState": { + "shape": "InputDeviceConnectionState", + "locationName": "connectionState", + "documentation": "The state of the connection between the input device and AWS." + }, + "DeviceSettingsSyncState": { + "shape": "DeviceSettingsSyncState", + "locationName": "deviceSettingsSyncState", + "documentation": "The status of the action to synchronize the device configuration. If you change the configuration of the input device (for example, the maximum bitrate), MediaLive sends the new data to the device. The device might not update itself immediately. SYNCED means the device has updated its configuration. SYNCING means that it has not updated its configuration." + }, + "HdDeviceSettings": { + "shape": "InputDeviceHdSettings", + "locationName": "hdDeviceSettings", + "documentation": "Settings that describe an input device that is type HD." + }, + "Id": { + "shape": "__string", + "locationName": "id", + "documentation": "The unique ID of the input device." + }, + "MacAddress": { + "shape": "__string", + "locationName": "macAddress", + "documentation": "The network MAC address of the input device." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "A name that you specify for the input device." + }, + "NetworkSettings": { + "shape": "InputDeviceNetworkSettings", + "locationName": "networkSettings", + "documentation": "The network settings for the input device." + }, + "SerialNumber": { + "shape": "__string", + "locationName": "serialNumber", + "documentation": "The unique serial number of the input device." + }, + "Type": { + "shape": "InputDeviceType", + "locationName": "type", + "documentation": "The type of the input device." + } + }, + "documentation": "Placeholder documentation for UpdateInputDeviceResponse" + }, + "UpdateInputRequest": { + "type": "structure", + "members": { + "Destinations": { + "shape": "__listOfInputDestinationRequest", + "locationName": "destinations", + "documentation": "Destination settings for PUSH type inputs." + }, + "InputDevices": { + "shape": "__listOfInputDeviceRequest", + "locationName": "inputDevices", + "documentation": "Settings for the devices." + }, + "InputId": { + "shape": "__string", + "location": "uri", + "locationName": "inputId", + "documentation": "Unique ID of the input." + }, + "InputSecurityGroups": { + "shape": "__listOf__string", + "locationName": "inputSecurityGroups", + "documentation": "A list of security groups referenced by IDs to attach to the input." + }, + "MediaConnectFlows": { + "shape": "__listOfMediaConnectFlowRequest", + "locationName": "mediaConnectFlows", + "documentation": "A list of the MediaConnect Flow ARNs that you want to use as the source of the input. You can specify as few as one\nFlow and presently, as many as two. The only requirement is when you have more than one is that each Flow is in a\nseparate Availability Zone as this ensures your EML input is redundant to AZ issues.\n" + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the input." + }, + "RoleArn": { + "shape": "__string", + "locationName": "roleArn", + "documentation": "The Amazon Resource Name (ARN) of the role this input assumes during and after creation." + }, + "Sources": { + "shape": "__listOfInputSourceRequest", + "locationName": "sources", + "documentation": "The source URLs for a PULL-type input. Every PULL type input needs\nexactly two source URLs for redundancy.\nOnly specify sources for PULL type Inputs. Leave Destinations empty.\n" + } + }, + "documentation": "A request to update an input.", + "required": [ + "InputId" + ] + }, + "UpdateInputResponse": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + }, + "documentation": "Placeholder documentation for UpdateInputResponse" + }, + "UpdateInputResultModel": { + "type": "structure", + "members": { + "Input": { + "shape": "Input", + "locationName": "input" + } + }, + "documentation": "Placeholder documentation for UpdateInputResultModel" + }, + "UpdateInputSecurityGroupRequest": { + "type": "structure", + "members": { + "InputSecurityGroupId": { + "shape": "__string", + "location": "uri", + "locationName": "inputSecurityGroupId", + "documentation": "The id of the Input Security Group to update." + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "A collection of key-value pairs." + }, + "WhitelistRules": { + "shape": "__listOfInputWhitelistRuleCidr", + "locationName": "whitelistRules", + "documentation": "List of IPv4 CIDR addresses to whitelist" + } + }, + "documentation": "The request to update some combination of the Input Security Group name and the IPv4 CIDRs the Input Security Group should allow.", + "required": [ + "InputSecurityGroupId" + ] + }, + "UpdateInputSecurityGroupResponse": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + }, + "documentation": "Placeholder documentation for UpdateInputSecurityGroupResponse" + }, + "UpdateInputSecurityGroupResultModel": { + "type": "structure", + "members": { + "SecurityGroup": { + "shape": "InputSecurityGroup", + "locationName": "securityGroup" + } + }, + "documentation": "Placeholder documentation for UpdateInputSecurityGroupResultModel" + }, + "UpdateMultiplex": { + "type": "structure", + "members": { + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "The new settings for a multiplex." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the multiplex." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplex" + }, + "UpdateMultiplexProgram": { + "type": "structure", + "members": { + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The new settings for a multiplex program." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplexProgram" + }, + "UpdateMultiplexProgramRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "The ID of the multiplex of the program to update." + }, + "MultiplexProgramSettings": { + "shape": "MultiplexProgramSettings", + "locationName": "multiplexProgramSettings", + "documentation": "The new settings for a multiplex program." + }, + "ProgramName": { + "shape": "__string", + "location": "uri", + "locationName": "programName", + "documentation": "The name of the program to update." + } + }, + "documentation": "A request to update a program in a multiplex.", + "required": [ + "MultiplexId", + "ProgramName" + ] + }, + "UpdateMultiplexProgramResponse": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram", + "documentation": "The updated multiplex program." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplexProgramResponse" + }, + "UpdateMultiplexProgramResultModel": { + "type": "structure", + "members": { + "MultiplexProgram": { + "shape": "MultiplexProgram", + "locationName": "multiplexProgram", + "documentation": "The updated multiplex program." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplexProgramResultModel" + }, + "UpdateMultiplexRequest": { + "type": "structure", + "members": { + "MultiplexId": { + "shape": "__string", + "location": "uri", + "locationName": "multiplexId", + "documentation": "ID of the multiplex to update." + }, + "MultiplexSettings": { + "shape": "MultiplexSettings", + "locationName": "multiplexSettings", + "documentation": "The new settings for a multiplex." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the multiplex." + } + }, + "documentation": "A request to update a multiplex.", + "required": [ + "MultiplexId" + ] + }, + "UpdateMultiplexResponse": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex", + "documentation": "The updated multiplex." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplexResponse" + }, + "UpdateMultiplexResultModel": { + "type": "structure", + "members": { + "Multiplex": { + "shape": "Multiplex", + "locationName": "multiplex", + "documentation": "The updated multiplex." + } + }, + "documentation": "Placeholder documentation for UpdateMultiplexResultModel" + }, + "UpdateReservation": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the reservation" + } + }, + "documentation": "UpdateReservation request" + }, + "UpdateReservationRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "Name of the reservation" + }, + "ReservationId": { + "shape": "__string", + "location": "uri", + "locationName": "reservationId", + "documentation": "Unique reservation ID, e.g. '1234567'" + } + }, + "documentation": "Request to update a reservation", + "required": [ + "ReservationId" + ] + }, + "UpdateReservationResponse": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "Placeholder documentation for UpdateReservationResponse" + }, + "UpdateReservationResultModel": { + "type": "structure", + "members": { + "Reservation": { + "shape": "Reservation", + "locationName": "reservation" + } + }, + "documentation": "UpdateReservation response" + }, + "ValidationError": { + "type": "structure", + "members": { + "ElementPath": { + "shape": "__string", + "locationName": "elementPath", + "documentation": "Path to the source of the error." + }, + "ErrorMessage": { + "shape": "__string", + "locationName": "errorMessage", + "documentation": "The error message." + } + }, + "documentation": "Placeholder documentation for ValidationError" + }, + "VideoCodecSettings": { + "type": "structure", + "members": { + "FrameCaptureSettings": { + "shape": "FrameCaptureSettings", + "locationName": "frameCaptureSettings" + }, + "H264Settings": { + "shape": "H264Settings", + "locationName": "h264Settings" + }, + "H265Settings": { + "shape": "H265Settings", + "locationName": "h265Settings" + } + }, + "documentation": "Video Codec Settings" + }, + "VideoDescription": { + "type": "structure", + "members": { + "CodecSettings": { + "shape": "VideoCodecSettings", + "locationName": "codecSettings", + "documentation": "Video codec settings." + }, + "Height": { + "shape": "__integer", + "locationName": "height", + "documentation": "Output video height, in pixels. Must be an even number. For most codecs, you can leave this field and width blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required." + }, + "Name": { + "shape": "__string", + "locationName": "name", + "documentation": "The name of this VideoDescription. Outputs will use this name to uniquely identify this Description. Description names should be unique within this Live Event." + }, + "RespondToAfd": { + "shape": "VideoDescriptionRespondToAfd", + "locationName": "respondToAfd", + "documentation": "Indicates how to respond to the AFD values in the input stream. RESPOND causes input video to be clipped, depending on the AFD value, input display aspect ratio, and output display aspect ratio, and (except for FRAME_CAPTURE codec) includes the values in the output. PASSTHROUGH (does not apply to FRAME_CAPTURE codec) ignores the AFD values and includes the values in the output, so input video is not clipped. NONE ignores the AFD values and does not include the values through to the output, so input video is not clipped." + }, + "ScalingBehavior": { + "shape": "VideoDescriptionScalingBehavior", + "locationName": "scalingBehavior", + "documentation": "STRETCH_TO_OUTPUT configures the output position to stretch the video to the specified output resolution (height and width). This option will override any position value. DEFAULT may insert black boxes (pillar boxes or letter boxes) around the video to provide the specified output resolution." + }, + "Sharpness": { + "shape": "__integerMin0Max100", + "locationName": "sharpness", + "documentation": "Changes the strength of the anti-alias filter used for scaling. 0 is the softest setting, 100 is the sharpest. A setting of 50 is recommended for most content." + }, + "Width": { + "shape": "__integer", + "locationName": "width", + "documentation": "Output video width, in pixels. Must be an even number. For most codecs, you can leave this field and height blank in order to use the height and width (resolution) from the source. Note, however, that leaving blank is not recommended. For the Frame Capture codec, height and width are required." + } + }, + "documentation": "Video settings for this stream.", + "required": [ + "Name" + ] + }, + "VideoDescriptionRespondToAfd": { + "type": "string", + "documentation": "Video Description Respond To Afd", + "enum": [ + "NONE", + "PASSTHROUGH", + "RESPOND" + ] + }, + "VideoDescriptionScalingBehavior": { + "type": "string", + "documentation": "Video Description Scaling Behavior", + "enum": [ + "DEFAULT", + "STRETCH_TO_OUTPUT" + ] + }, + "VideoSelector": { + "type": "structure", + "members": { + "ColorSpace": { + "shape": "VideoSelectorColorSpace", + "locationName": "colorSpace", + "documentation": "Specifies the color space of an input. This setting works in tandem with colorSpaceUsage and a video description's colorSpaceSettingsChoice to determine if any conversion will be performed." + }, + "ColorSpaceUsage": { + "shape": "VideoSelectorColorSpaceUsage", + "locationName": "colorSpaceUsage", + "documentation": "Applies only if colorSpace is a value other than follow. This field controls how the value in the colorSpace field will be used. fallback means that when the input does include color space data, that data will be used, but when the input has no color space data, the value in colorSpace will be used. Choose fallback if your input is sometimes missing color space data, but when it does have color space data, that data is correct. force means to always use the value in colorSpace. Choose force if your input usually has no color space data or might have unreliable color space data." + }, + "SelectorSettings": { + "shape": "VideoSelectorSettings", + "locationName": "selectorSettings", + "documentation": "The video selector settings." + } + }, + "documentation": "Specifies a particular video stream within an input source. An input may have only a single video selector." + }, + "VideoSelectorColorSpace": { + "type": "string", + "documentation": "Video Selector Color Space", + "enum": [ + "FOLLOW", + "REC_601", + "REC_709" + ] + }, + "VideoSelectorColorSpaceUsage": { + "type": "string", + "documentation": "Video Selector Color Space Usage", + "enum": [ + "FALLBACK", + "FORCE" + ] + }, + "VideoSelectorPid": { + "type": "structure", + "members": { + "Pid": { + "shape": "__integerMin0Max8191", + "locationName": "pid", + "documentation": "Selects a specific PID from within a video source." + } + }, + "documentation": "Video Selector Pid" + }, + "VideoSelectorProgramId": { + "type": "structure", + "members": { + "ProgramId": { + "shape": "__integerMin0Max65536", + "locationName": "programId", + "documentation": "Selects a specific program from within a multi-program transport stream. If the program doesn't exist, the first program within the transport stream will be selected by default." + } + }, + "documentation": "Video Selector Program Id" + }, + "VideoSelectorSettings": { + "type": "structure", + "members": { + "VideoSelectorPid": { + "shape": "VideoSelectorPid", + "locationName": "videoSelectorPid" + }, + "VideoSelectorProgramId": { + "shape": "VideoSelectorProgramId", + "locationName": "videoSelectorProgramId" + } + }, + "documentation": "Video Selector Settings" + }, + "WebvttDestinationSettings": { + "type": "structure", + "members": { + }, + "documentation": "Webvtt Destination Settings" + }, + "__boolean": { + "type": "boolean", + "documentation": "Placeholder documentation for __boolean" + }, + "__double": { + "type": "double", + "documentation": "Placeholder documentation for __double" + }, + "__doubleMin0": { + "type": "double", + "documentation": "Placeholder documentation for __doubleMin0" + }, + "__doubleMin1": { + "type": "double", + "documentation": "Placeholder documentation for __doubleMin1" + }, + "__doubleMinNegative59Max0": { + "type": "double", + "documentation": "Placeholder documentation for __doubleMinNegative59Max0" + }, + "__integer": { + "type": "integer", + "documentation": "Placeholder documentation for __integer" + }, + "__integerMin0": { + "type": "integer", + "min": 0, + "documentation": "Placeholder documentation for __integerMin0" + }, + "__integerMin0Max10": { + "type": "integer", + "min": 0, + "max": 10, + "documentation": "Placeholder documentation for __integerMin0Max10" + }, + "__integerMin0Max100": { + "type": "integer", + "min": 0, + "max": 100, + "documentation": "Placeholder documentation for __integerMin0Max100" + }, + "__integerMin0Max1000": { + "type": "integer", + "min": 0, + "max": 1000, + "documentation": "Placeholder documentation for __integerMin0Max1000" + }, + "__integerMin0Max10000": { + "type": "integer", + "min": 0, + "max": 10000, + "documentation": "Placeholder documentation for __integerMin0Max10000" + }, + "__integerMin0Max1000000": { + "type": "integer", + "min": 0, + "max": 1000000, + "documentation": "Placeholder documentation for __integerMin0Max1000000" + }, + "__integerMin0Max100000000": { + "type": "integer", + "min": 0, + "max": 100000000, + "documentation": "Placeholder documentation for __integerMin0Max100000000" + }, + "__integerMin0Max128": { + "type": "integer", + "min": 0, + "max": 128, + "documentation": "Placeholder documentation for __integerMin0Max128" + }, + "__integerMin0Max15": { + "type": "integer", + "min": 0, + "max": 15, + "documentation": "Placeholder documentation for __integerMin0Max15" + }, + "__integerMin0Max255": { + "type": "integer", + "min": 0, + "max": 255, + "documentation": "Placeholder documentation for __integerMin0Max255" + }, + "__integerMin0Max30": { + "type": "integer", + "min": 0, + "max": 30, + "documentation": "Placeholder documentation for __integerMin0Max30" + }, + "__integerMin0Max32768": { + "type": "integer", + "min": 0, + "max": 32768, + "documentation": "Placeholder documentation for __integerMin0Max32768" + }, + "__integerMin0Max3600": { + "type": "integer", + "min": 0, + "max": 3600, + "documentation": "Placeholder documentation for __integerMin0Max3600" + }, + "__integerMin0Max500": { + "type": "integer", + "min": 0, + "max": 500, + "documentation": "Placeholder documentation for __integerMin0Max500" + }, + "__integerMin0Max600": { + "type": "integer", + "min": 0, + "max": 600, + "documentation": "Placeholder documentation for __integerMin0Max600" + }, + "__integerMin0Max65535": { + "type": "integer", + "min": 0, + "max": 65535, + "documentation": "Placeholder documentation for __integerMin0Max65535" + }, + "__integerMin0Max65536": { + "type": "integer", + "min": 0, + "max": 65536, + "documentation": "Placeholder documentation for __integerMin0Max65536" + }, + "__integerMin0Max7": { + "type": "integer", + "min": 0, + "max": 7, + "documentation": "Placeholder documentation for __integerMin0Max7" + }, + "__integerMin0Max8191": { + "type": "integer", + "min": 0, + "max": 8191, + "documentation": "Placeholder documentation for __integerMin0Max8191" + }, + "__integerMin1": { + "type": "integer", + "min": 1, + "documentation": "Placeholder documentation for __integerMin1" + }, + "__integerMin1000": { + "type": "integer", + "min": 1000, + "documentation": "Placeholder documentation for __integerMin1000" + }, + "__integerMin1000000Max100000000": { + "type": "integer", + "min": 1000000, + "max": 100000000, + "documentation": "Placeholder documentation for __integerMin1000000Max100000000" + }, + "__integerMin100000Max100000000": { + "type": "integer", + "min": 100000, + "max": 100000000, + "documentation": "Placeholder documentation for __integerMin100000Max100000000" + }, + "__integerMin100000Max40000000": { + "type": "integer", + "min": 100000, + "max": 40000000, + "documentation": "Placeholder documentation for __integerMin100000Max40000000" + }, + "__integerMin100000Max80000000": { + "type": "integer", + "min": 100000, + "max": 80000000, + "documentation": "Placeholder documentation for __integerMin100000Max80000000" + }, + "__integerMin1000Max3000": { + "type": "integer", + "min": 1000, + "max": 3000, + "documentation": "Placeholder documentation for __integerMin1000Max3000" + }, + "__integerMin1000Max30000": { + "type": "integer", + "min": 1000, + "max": 30000, + "documentation": "Placeholder documentation for __integerMin1000Max30000" + }, + "__integerMin1Max10": { + "type": "integer", + "min": 1, + "max": 10, + "documentation": "Placeholder documentation for __integerMin1Max10" + }, + "__integerMin1Max1000000": { + "type": "integer", + "min": 1, + "max": 1000000, + "documentation": "Placeholder documentation for __integerMin1Max1000000" + }, + "__integerMin1Max16": { + "type": "integer", + "min": 1, + "max": 16, + "documentation": "Placeholder documentation for __integerMin1Max16" + }, + "__integerMin1Max20": { + "type": "integer", + "min": 1, + "max": 20, + "documentation": "Placeholder documentation for __integerMin1Max20" + }, + "__integerMin1Max3003": { + "type": "integer", + "min": 1, + "max": 3003, + "documentation": "Placeholder documentation for __integerMin1Max3003" + }, + "__integerMin1Max31": { + "type": "integer", + "min": 1, + "max": 31, + "documentation": "Placeholder documentation for __integerMin1Max31" + }, + "__integerMin1Max32": { + "type": "integer", + "min": 1, + "max": 32, + "documentation": "Placeholder documentation for __integerMin1Max32" + }, + "__integerMin1Max3600000": { + "type": "integer", + "min": 1, + "max": 3600000, + "documentation": "Placeholder documentation for __integerMin1Max3600000" + }, + "__integerMin1Max4": { + "type": "integer", + "min": 1, + "max": 4, + "documentation": "Placeholder documentation for __integerMin1Max4" + }, + "__integerMin1Max5": { + "type": "integer", + "min": 1, + "max": 5, + "documentation": "Placeholder documentation for __integerMin1Max5" + }, + "__integerMin1Max6": { + "type": "integer", + "min": 1, + "max": 6, + "documentation": "Placeholder documentation for __integerMin1Max6" + }, + "__integerMin1Max8": { + "type": "integer", + "min": 1, + "max": 8, + "documentation": "Placeholder documentation for __integerMin1Max8" + }, + "__integerMin25Max10000": { + "type": "integer", + "min": 25, + "max": 10000, + "documentation": "Placeholder documentation for __integerMin25Max10000" + }, + "__integerMin25Max2000": { + "type": "integer", + "min": 25, + "max": 2000, + "documentation": "Placeholder documentation for __integerMin25Max2000" + }, + "__integerMin3": { + "type": "integer", + "min": 3, + "documentation": "Placeholder documentation for __integerMin3" + }, + "__integerMin30": { + "type": "integer", + "min": 30, + "documentation": "Placeholder documentation for __integerMin30" + }, + "__integerMin4Max20": { + "type": "integer", + "min": 4, + "max": 20, + "documentation": "Placeholder documentation for __integerMin4Max20" + }, + "__integerMin96Max600": { + "type": "integer", + "min": 96, + "max": 600, + "documentation": "Placeholder documentation for __integerMin96Max600" + }, + "__integerMinNegative1000Max1000": { + "type": "integer", + "min": -1000, + "max": 1000, + "documentation": "Placeholder documentation for __integerMinNegative1000Max1000" + }, + "__integerMinNegative60Max6": { + "type": "integer", + "min": -60, + "max": 6, + "documentation": "Placeholder documentation for __integerMinNegative60Max6" + }, + "__integerMinNegative60Max60": { + "type": "integer", + "min": -60, + "max": 60, + "documentation": "Placeholder documentation for __integerMinNegative60Max60" + }, + "__listOfAudioChannelMapping": { + "type": "list", + "member": { + "shape": "AudioChannelMapping" + }, + "documentation": "Placeholder documentation for __listOfAudioChannelMapping" + }, + "__listOfAudioDescription": { + "type": "list", + "member": { + "shape": "AudioDescription" + }, + "documentation": "Placeholder documentation for __listOfAudioDescription" + }, + "__listOfAudioSelector": { + "type": "list", + "member": { + "shape": "AudioSelector" + }, + "documentation": "Placeholder documentation for __listOfAudioSelector" + }, + "__listOfAudioTrack": { + "type": "list", + "member": { + "shape": "AudioTrack" + }, + "documentation": "Placeholder documentation for __listOfAudioTrack" + }, + "__listOfCaptionDescription": { + "type": "list", + "member": { + "shape": "CaptionDescription" + }, + "documentation": "Placeholder documentation for __listOfCaptionDescription" + }, + "__listOfCaptionLanguageMapping": { + "type": "list", + "member": { + "shape": "CaptionLanguageMapping" + }, + "documentation": "Placeholder documentation for __listOfCaptionLanguageMapping" + }, + "__listOfCaptionSelector": { + "type": "list", + "member": { + "shape": "CaptionSelector" + }, + "documentation": "Placeholder documentation for __listOfCaptionSelector" + }, + "__listOfChannelEgressEndpoint": { + "type": "list", + "member": { + "shape": "ChannelEgressEndpoint" + }, + "documentation": "Placeholder documentation for __listOfChannelEgressEndpoint" + }, + "__listOfChannelSummary": { + "type": "list", + "member": { + "shape": "ChannelSummary" + }, + "documentation": "Placeholder documentation for __listOfChannelSummary" + }, + "__listOfHlsAdMarkers": { + "type": "list", + "member": { + "shape": "HlsAdMarkers" + }, + "documentation": "Placeholder documentation for __listOfHlsAdMarkers" + }, + "__listOfInput": { + "type": "list", + "member": { + "shape": "Input" + }, + "documentation": "Placeholder documentation for __listOfInput" + }, + "__listOfInputAttachment": { + "type": "list", + "member": { + "shape": "InputAttachment" + }, + "documentation": "Placeholder documentation for __listOfInputAttachment" + }, + "__listOfInputChannelLevel": { + "type": "list", + "member": { + "shape": "InputChannelLevel" + }, + "documentation": "Placeholder documentation for __listOfInputChannelLevel" + }, + "__listOfInputDestination": { + "type": "list", + "member": { + "shape": "InputDestination" + }, + "documentation": "Placeholder documentation for __listOfInputDestination" + }, + "__listOfInputDestinationRequest": { + "type": "list", + "member": { + "shape": "InputDestinationRequest" + }, + "documentation": "Placeholder documentation for __listOfInputDestinationRequest" + }, + "__listOfInputDeviceRequest": { + "type": "list", + "member": { + "shape": "InputDeviceRequest" + }, + "documentation": "Placeholder documentation for __listOfInputDeviceRequest" + }, + "__listOfInputDeviceSettings": { + "type": "list", + "member": { + "shape": "InputDeviceSettings" + }, + "documentation": "Placeholder documentation for __listOfInputDeviceSettings" + }, + "__listOfInputDeviceSummary": { + "type": "list", + "member": { + "shape": "InputDeviceSummary" + }, + "documentation": "Placeholder documentation for __listOfInputDeviceSummary" + }, + "__listOfInputSecurityGroup": { + "type": "list", + "member": { + "shape": "InputSecurityGroup" + }, + "documentation": "Placeholder documentation for __listOfInputSecurityGroup" + }, + "__listOfInputSource": { + "type": "list", + "member": { + "shape": "InputSource" + }, + "documentation": "Placeholder documentation for __listOfInputSource" + }, + "__listOfInputSourceRequest": { + "type": "list", + "member": { + "shape": "InputSourceRequest" + }, + "documentation": "Placeholder documentation for __listOfInputSourceRequest" + }, + "__listOfInputWhitelistRule": { + "type": "list", + "member": { + "shape": "InputWhitelistRule" + }, + "documentation": "Placeholder documentation for __listOfInputWhitelistRule" + }, + "__listOfInputWhitelistRuleCidr": { + "type": "list", + "member": { + "shape": "InputWhitelistRuleCidr" + }, + "documentation": "Placeholder documentation for __listOfInputWhitelistRuleCidr" + }, + "__listOfMediaConnectFlow": { + "type": "list", + "member": { + "shape": "MediaConnectFlow" + }, + "documentation": "Placeholder documentation for __listOfMediaConnectFlow" + }, + "__listOfMediaConnectFlowRequest": { + "type": "list", + "member": { + "shape": "MediaConnectFlowRequest" + }, + "documentation": "Placeholder documentation for __listOfMediaConnectFlowRequest" + }, + "__listOfMediaPackageOutputDestinationSettings": { + "type": "list", + "member": { + "shape": "MediaPackageOutputDestinationSettings" + }, + "documentation": "Placeholder documentation for __listOfMediaPackageOutputDestinationSettings" + }, + "__listOfMultiplexOutputDestination": { + "type": "list", + "member": { + "shape": "MultiplexOutputDestination" + }, + "documentation": "Placeholder documentation for __listOfMultiplexOutputDestination" + }, + "__listOfMultiplexProgramSummary": { + "type": "list", + "member": { + "shape": "MultiplexProgramSummary" + }, + "documentation": "Placeholder documentation for __listOfMultiplexProgramSummary" + }, + "__listOfMultiplexSummary": { + "type": "list", + "member": { + "shape": "MultiplexSummary" + }, + "documentation": "Placeholder documentation for __listOfMultiplexSummary" + }, + "__listOfOffering": { + "type": "list", + "member": { + "shape": "Offering" + }, + "documentation": "Placeholder documentation for __listOfOffering" + }, + "__listOfOutput": { + "type": "list", + "member": { + "shape": "Output" + }, + "documentation": "Placeholder documentation for __listOfOutput" + }, + "__listOfOutputDestination": { + "type": "list", + "member": { + "shape": "OutputDestination" + }, + "documentation": "Placeholder documentation for __listOfOutputDestination" + }, + "__listOfOutputDestinationSettings": { + "type": "list", + "member": { + "shape": "OutputDestinationSettings" + }, + "documentation": "Placeholder documentation for __listOfOutputDestinationSettings" + }, + "__listOfOutputGroup": { + "type": "list", + "member": { + "shape": "OutputGroup" + }, + "documentation": "Placeholder documentation for __listOfOutputGroup" + }, + "__listOfPipelineDetail": { + "type": "list", + "member": { + "shape": "PipelineDetail" + }, + "documentation": "Placeholder documentation for __listOfPipelineDetail" + }, + "__listOfPipelinePauseStateSettings": { + "type": "list", + "member": { + "shape": "PipelinePauseStateSettings" + }, + "documentation": "Placeholder documentation for __listOfPipelinePauseStateSettings" + }, + "__listOfReservation": { + "type": "list", + "member": { + "shape": "Reservation" + }, + "documentation": "Placeholder documentation for __listOfReservation" + }, + "__listOfScheduleAction": { + "type": "list", + "member": { + "shape": "ScheduleAction" + }, + "documentation": "Placeholder documentation for __listOfScheduleAction" + }, + "__listOfScte35Descriptor": { + "type": "list", + "member": { + "shape": "Scte35Descriptor" + }, + "documentation": "Placeholder documentation for __listOfScte35Descriptor" + }, + "__listOfValidationError": { + "type": "list", + "member": { + "shape": "ValidationError" + }, + "documentation": "Placeholder documentation for __listOfValidationError" + }, + "__listOfVideoDescription": { + "type": "list", + "member": { + "shape": "VideoDescription" + }, + "documentation": "Placeholder documentation for __listOfVideoDescription" + }, + "__listOf__integer": { + "type": "list", + "member": { + "shape": "__integer" + }, + "documentation": "Placeholder documentation for __listOf__integer" + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + }, + "documentation": "Placeholder documentation for __listOf__string" + }, + "__long": { + "type": "long", + "documentation": "Placeholder documentation for __long" + }, + "__longMin0Max1099511627775": { + "type": "long", + "min": 0, + "max": 1099511627775, + "documentation": "Placeholder documentation for __longMin0Max1099511627775" + }, + "__longMin0Max4294967295": { + "type": "long", + "min": 0, + "max": 4294967295, + "documentation": "Placeholder documentation for __longMin0Max4294967295" + }, + "__longMin0Max8589934591": { + "type": "long", + "min": 0, + "max": 8589934591, + "documentation": "Placeholder documentation for __longMin0Max8589934591" + }, + "__string": { + "type": "string", + "documentation": "Placeholder documentation for __string" + }, + "__stringMax256": { + "type": "string", + "max": 256, + "documentation": "Placeholder documentation for __stringMax256" + }, + "__stringMax32": { + "type": "string", + "max": 32, + "documentation": "Placeholder documentation for __stringMax32" + }, + "__stringMin1": { + "type": "string", + "min": 1, + "documentation": "Placeholder documentation for __stringMin1" + }, + "__stringMin1Max255": { + "type": "string", + "min": 1, + "max": 255, + "documentation": "Placeholder documentation for __stringMin1Max255" + }, + "__stringMin1Max256": { + "type": "string", + "min": 1, + "max": 256, + "documentation": "Placeholder documentation for __stringMin1Max256" + }, + "__stringMin32Max32": { + "type": "string", + "min": 32, + "max": 32, + "documentation": "Placeholder documentation for __stringMin32Max32" + }, + "__stringMin34Max34": { + "type": "string", + "min": 34, + "max": 34, + "documentation": "Placeholder documentation for __stringMin34Max34" + }, + "__stringMin3Max3": { + "type": "string", + "min": 3, + "max": 3, + "documentation": "Placeholder documentation for __stringMin3Max3" + }, + "__stringMin6Max6": { + "type": "string", + "min": 6, + "max": 6, + "documentation": "Placeholder documentation for __stringMin6Max6" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601", + "documentation": "Placeholder documentation for __timestampIso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp", + "documentation": "Placeholder documentation for __timestampUnix" + } + }, + "documentation": "API for AWS Elemental MediaLive" +} diff -Nru python-botocore-1.4.70/botocore/data/medialive/2017-10-14/waiters-2.json python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/waiters-2.json --- python-botocore-1.4.70/botocore/data/medialive/2017-10-14/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/medialive/2017-10-14/waiters-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,298 @@ +{ + "version": 2, + "waiters": { + "ChannelCreated": { + "description": "Wait until a channel has been created", + "operation": "DescribeChannel", + "delay": 3, + "maxAttempts": 5, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "CREATING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "CREATE_FAILED" + } + ] + }, + "ChannelRunning": { + "description": "Wait until a channel is running", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 120, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "RUNNING" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STARTING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "ChannelStopped": { + "description": "Wait until a channel has is stopped", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 60, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STOPPING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "ChannelDeleted": { + "description": "Wait until a channel has been deleted", + "operation": "DescribeChannel", + "delay": 5, + "maxAttempts": 84, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DELETED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DELETING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "InputAttached": { + "description": "Wait until an input has been attached", + "operation": "DescribeInput", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "ATTACHED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DETACHED" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "InputDetached": { + "description": "Wait until an input has been detached", + "operation": "DescribeInput", + "delay": 5, + "maxAttempts": 84, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DETACHED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "CREATING" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "ATTACHED" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "InputDeleted": { + "description": "Wait until an input has been deleted", + "operation": "DescribeInput", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DELETED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DELETING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "MultiplexCreated": { + "description": "Wait until a multiplex has been created", + "operation": "DescribeMultiplex", + "delay": 3, + "maxAttempts": 5, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "CREATING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + }, + { + "state": "failure", + "matcher": "path", + "argument": "State", + "expected": "CREATE_FAILED" + } + ] + }, + "MultiplexRunning": { + "description": "Wait until a multiplex is running", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 120, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "RUNNING" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STARTING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "MultiplexStopped": { + "description": "Wait until a multiplex has is stopped", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 28, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "IDLE" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "STOPPING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + }, + "MultiplexDeleted": { + "description": "Wait until a multiplex has been deleted", + "operation": "DescribeMultiplex", + "delay": 5, + "maxAttempts": 20, + "acceptors": [ + { + "state": "success", + "matcher": "path", + "argument": "State", + "expected": "DELETED" + }, + { + "state": "retry", + "matcher": "path", + "argument": "State", + "expected": "DELETING" + }, + { + "state": "retry", + "matcher": "status", + "expected": 500 + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediapackage/2017-10-12/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediapackage/2017-10-12/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediapackage/2017-10-12/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediapackage/2017-10-12/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListChannels": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Channels" + }, + "ListOriginEndpoints": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "OriginEndpoints" + }, + "ListHarvestJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "HarvestJobs" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediapackage/2017-10-12/service-2.json python-botocore-1.16.19+repack/botocore/data/mediapackage/2017-10-12/service-2.json --- python-botocore-1.4.70/botocore/data/mediapackage/2017-10-12/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediapackage/2017-10-12/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2809 @@ +{ + "documentation": "AWS Elemental MediaPackage", + "metadata": { + "apiVersion": "2017-10-12", + "endpointPrefix": "mediapackage", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaPackage", + "serviceFullName": "AWS Elemental MediaPackage", + "serviceId": "MediaPackage", + "signatureVersion": "v4", + "signingName": "mediapackage", + "uid": "mediapackage-2017-10-12" + }, + "operations": { + "CreateChannel": { + "documentation": "Creates a new Channel.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/channels", + "responseCode": 200 + }, + "input": { + "shape": "CreateChannelRequest" + }, + "name": "CreateChannel", + "output": { + "documentation": "The new Channel record.", + "shape": "CreateChannelResponse" + } + }, + "CreateHarvestJob": { + "documentation": "Creates a new HarvestJob record.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/harvest_jobs", + "responseCode": 200 + }, + "input": { + "shape": "CreateHarvestJobRequest" + }, + "name": "CreateHarvestJob", + "output": { + "documentation": "A new HarvestJob record.", + "shape": "CreateHarvestJobResponse" + } + }, + "CreateOriginEndpoint": { + "documentation": "Creates a new OriginEndpoint record.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/origin_endpoints", + "responseCode": 200 + }, + "input": { + "shape": "CreateOriginEndpointRequest" + }, + "name": "CreateOriginEndpoint", + "output": { + "documentation": "A new OriginEndpoint record.", + "shape": "CreateOriginEndpointResponse" + } + }, + "DeleteChannel": { + "documentation": "Deletes an existing Channel.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/channels/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteChannelRequest" + }, + "name": "DeleteChannel", + "output": { + "documentation": "The Channel has been deleted.", + "shape": "DeleteChannelResponse" + } + }, + "DeleteOriginEndpoint": { + "documentation": "Deletes an existing OriginEndpoint.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/origin_endpoints/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteOriginEndpointRequest" + }, + "name": "DeleteOriginEndpoint", + "output": { + "documentation": "The OriginEndpoint has been deleted.", + "shape": "DeleteOriginEndpointResponse" + } + }, + "DescribeChannel": { + "documentation": "Gets details about a Channel.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/channels/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeChannelRequest" + }, + "name": "DescribeChannel", + "output": { + "documentation": "A Channel record.", + "shape": "DescribeChannelResponse" + } + }, + "DescribeHarvestJob": { + "documentation": "Gets details about an existing HarvestJob.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/harvest_jobs/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeHarvestJobRequest" + }, + "name": "DescribeHarvestJob", + "output": { + "documentation": "An HarvestJob record.", + "shape": "DescribeHarvestJobResponse" + } + }, + "DescribeOriginEndpoint": { + "documentation": "Gets details about an existing OriginEndpoint.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/origin_endpoints/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeOriginEndpointRequest" + }, + "name": "DescribeOriginEndpoint", + "output": { + "documentation": "An OriginEndpoint record.", + "shape": "DescribeOriginEndpointResponse" + } + }, + "ListChannels": { + "documentation": "Returns a collection of Channels.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/channels", + "responseCode": 200 + }, + "input": { + "shape": "ListChannelsRequest" + }, + "name": "ListChannels", + "output": { + "documentation": "A collection of Channel records.", + "shape": "ListChannelsResponse" + } + }, + "ListHarvestJobs": { + "documentation": "Returns a collection of HarvestJob records.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/harvest_jobs", + "responseCode": 200 + }, + "input": { + "shape": "ListHarvestJobsRequest" + }, + "name": "ListHarvestJobs", + "output": { + "documentation": "A collection of HarvestJob records.", + "shape": "ListHarvestJobsResponse" + } + }, + "ListOriginEndpoints": { + "documentation": "Returns a collection of OriginEndpoint records.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/origin_endpoints", + "responseCode": 200 + }, + "input": { + "shape": "ListOriginEndpointsRequest" + }, + "name": "ListOriginEndpoints", + "output": { + "documentation": "A collection of OriginEndpoint records.", + "shape": "ListOriginEndpointsResponse" + } + }, + "ListTagsForResource": { + "errors": [], + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "documentation": "200 response", + "shape": "ListTagsForResourceResponse" + } + }, + "RotateChannelCredentials": { + "deprecated": true, + "deprecatedMessage": "This API is deprecated. Please use RotateIngestEndpointCredentials instead", + "documentation": "Changes the Channel's first IngestEndpoint's username and password. WARNING - This API is deprecated. Please use RotateIngestEndpointCredentials instead", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/channels/{id}/credentials", + "responseCode": 200 + }, + "input": { + "shape": "RotateChannelCredentialsRequest" + }, + "name": "RotateChannelCredentials", + "output": { + "documentation": "The updated Channel record.", + "shape": "RotateChannelCredentialsResponse" + } + }, + "RotateIngestEndpointCredentials": { + "documentation": "Rotate the IngestEndpoint's username and password, as specified by the IngestEndpoint's id.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/channels/{id}/ingest_endpoints/{ingest_endpoint_id}/credentials", + "responseCode": 200 + }, + "input": { + "shape": "RotateIngestEndpointCredentialsRequest" + }, + "name": "RotateIngestEndpointCredentials", + "output": { + "documentation": "The updated Channel record.", + "shape": "RotateIngestEndpointCredentialsResponse" + } + }, + "TagResource": { + "errors": [], + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource" + }, + "UntagResource": { + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource" + }, + "UpdateChannel": { + "documentation": "Updates an existing Channel.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/channels/{id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateChannelRequest" + }, + "name": "UpdateChannel", + "output": { + "documentation": "The updated Channel record.", + "shape": "UpdateChannelResponse" + } + }, + "UpdateOriginEndpoint": { + "documentation": "Updates an existing OriginEndpoint.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "PUT", + "requestUri": "/origin_endpoints/{id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateOriginEndpointRequest" + }, + "name": "UpdateOriginEndpoint", + "output": { + "documentation": "An updated OriginEndpoint record.", + "shape": "UpdateOriginEndpointResponse" + } + } + }, + "shapes": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH" + ], + "type": "string" + }, + "AdTriggers": { + "documentation": "A list of SCTE-35 message types that are treated as ad markers in the output. If empty, no\nad markers are output. Specify multiple items to create ad markers for all of the included\nmessage types.\n", + "member": { + "shape": "__AdTriggersElement" + }, + "type": "list" + }, + "AdsOnDeliveryRestrictions": { + "documentation": "This setting allows the delivery restriction flags on SCTE-35 segmentation descriptors to\ndetermine whether a message signals an ad. Choosing \"NONE\" means no SCTE-35 messages become\nads. Choosing \"RESTRICTED\" means SCTE-35 messages of the types specified in AdTriggers that\ncontain delivery restrictions will be treated as ads. Choosing \"UNRESTRICTED\" means SCTE-35\nmessages of the types specified in AdTriggers that do not contain delivery restrictions will\nbe treated as ads. Choosing \"BOTH\" means all SCTE-35 messages of the types specified in\nAdTriggers will be treated as ads. Note that Splice Insert messages do not have these flags\nand are always treated as ads if specified in AdTriggers.\n", + "enum": [ + "NONE", + "RESTRICTED", + "UNRESTRICTED", + "BOTH" + ], + "type": "string" + }, + "Authorization": { + "documentation": "CDN Authorization credentials", + "members": { + "CdnIdentifierSecret": { + "documentation": "The Amazon Resource Name (ARN) for the secret in Secrets Manager that your Content Distribution Network (CDN) uses for authorization to access your endpoint.\n", + "locationName": "cdnIdentifierSecret", + "shape": "__string" + }, + "SecretsRoleArn": { + "documentation": "The Amazon Resource Name (ARN) for the IAM role that allows MediaPackage to communicate with AWS Secrets Manager.\n", + "locationName": "secretsRoleArn", + "shape": "__string" + } + }, + "required": [ + "SecretsRoleArn", + "CdnIdentifierSecret" + ], + "type": "structure" + }, + "Channel": { + "documentation": "A Channel resource configuration.", + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "ChannelCreateParameters": { + "documentation": "Configuration parameters for a new Channel.", + "members": { + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "ChannelList": { + "documentation": "A collection of Channel records.", + "members": { + "Channels": { + "documentation": "A list of Channel records.", + "locationName": "channels", + "shape": "__listOfChannel" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ChannelUpdateParameters": { + "documentation": "Configuration parameters for updating an existing Channel.", + "members": { + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + } + }, + "type": "structure" + }, + "CmafEncryption": { + "documentation": "A Common Media Application Format (CMAF) encryption configuration.", + "members": { + "KeyRotationIntervalSeconds": { + "documentation": "Time (in seconds) between each encryption key rotation.", + "locationName": "keyRotationIntervalSeconds", + "shape": "__integer" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "CmafPackage": { + "documentation": "A Common Media Application Format (CMAF) packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentPrefix": { + "documentation": "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", + "locationName": "segmentPrefix", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "CmafPackageCreateOrUpdateParameters": { + "documentation": "A Common Media Application Format (CMAF) packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifestCreateOrUpdateParameters" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentPrefix": { + "documentation": "An optional custom string that is prepended to the name of each segment. If not specified, it defaults to the ChannelId.", + "locationName": "segmentPrefix", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "CreateChannelRequest": { + "documentation": "A new Channel configuration.", + "members": { + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the Channel. The ID must be unique within the region and it\ncannot be changed after a Channel is created.\n", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "CreateChannelResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "CreateHarvestJobRequest": { + "documentation": "Configuration parameters used to create a new HarvestJob.", + "members": { + "EndTime": { + "documentation": "The end of the time-window which will be harvested\n", + "locationName": "endTime", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted\n", + "locationName": "id", + "shape": "__string" + }, + "OriginEndpointId": { + "documentation": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "locationName": "originEndpointId", + "shape": "__string" + }, + "S3Destination": { + "locationName": "s3Destination", + "shape": "S3Destination" + }, + "StartTime": { + "documentation": "The start of the time-window which will be harvested\n", + "locationName": "startTime", + "shape": "__string" + } + }, + "required": [ + "S3Destination", + "EndTime", + "OriginEndpointId", + "StartTime", + "Id" + ], + "type": "structure" + }, + "CreateHarvestJobResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the HarvestJob.\n", + "locationName": "arn", + "shape": "__string" + }, + "ChannelId": { + "documentation": "The ID of the Channel that the HarvestJob will harvest from.\n", + "locationName": "channelId", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the HarvestJob was submitted\n", + "locationName": "createdAt", + "shape": "__string" + }, + "EndTime": { + "documentation": "The end of the time-window which will be harvested.\n", + "locationName": "endTime", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted.\n", + "locationName": "id", + "shape": "__string" + }, + "OriginEndpointId": { + "documentation": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "locationName": "originEndpointId", + "shape": "__string" + }, + "S3Destination": { + "locationName": "s3Destination", + "shape": "S3Destination" + }, + "StartTime": { + "documentation": "The start of the time-window which will be harvested.\n", + "locationName": "startTime", + "shape": "__string" + }, + "Status": { + "documentation": "The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for\nHarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will\ninclude an explanation of why the HarvestJob failed.\n", + "locationName": "status", + "shape": "Status" + } + }, + "type": "structure" + }, + "CreateOriginEndpointRequest": { + "documentation": "Configuration parameters used to create a new OriginEndpoint.", + "members": { + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel that the OriginEndpoint will be associated with.\nThis cannot be changed after the OriginEndpoint is created.\n", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint. The ID must be unique within the region\nand it cannot be changed after the OriginEndpoint is created.\n", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string that will be used as the filename of the OriginEndpoint URL (defaults to \"index\").", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "required": [ + "Id", + "ChannelId" + ], + "type": "structure" + }, + "CreateOriginEndpointResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", + "locationName": "arn", + "shape": "__string" + }, + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel the OriginEndpoint is associated with.", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint.", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string appended to the end of the OriginEndpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Url": { + "documentation": "The URL of the packaged OriginEndpoint for consumption.", + "locationName": "url", + "shape": "__string" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "type": "structure" + }, + "DashEncryption": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", + "members": { + "KeyRotationIntervalSeconds": { + "documentation": "Time (in seconds) between each encryption key rotation.", + "locationName": "keyRotationIntervalSeconds", + "shape": "__integer" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "DashPackage": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", + "members": { + "AdTriggers": { + "locationName": "adTriggers", + "shape": "AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "locationName": "adsOnDeliveryRestrictions", + "shape": "AdsOnDeliveryRestrictions" + }, + "Encryption": { + "locationName": "encryption", + "shape": "DashEncryption" + }, + "ManifestLayout": { + "documentation": "Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.", + "locationName": "manifestLayout", + "shape": "ManifestLayout" + }, + "ManifestWindowSeconds": { + "documentation": "Time window (in seconds) contained in each manifest.", + "locationName": "manifestWindowSeconds", + "shape": "__integer" + }, + "MinBufferTimeSeconds": { + "documentation": "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", + "locationName": "minBufferTimeSeconds", + "shape": "__integer" + }, + "MinUpdatePeriodSeconds": { + "documentation": "Minimum duration (in seconds) between potential changes to the Dynamic Adaptive Streaming over HTTP (DASH) Media Presentation Description (MPD).", + "locationName": "minUpdatePeriodSeconds", + "shape": "__integer" + }, + "PeriodTriggers": { + "documentation": "A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH)\nMedia Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not\nbe partitioned into more than one period. If the list contains \"ADS\", new periods will be created where\nthe Channel source contains SCTE-35 ad markers.\n", + "locationName": "periodTriggers", + "shape": "__listOf__PeriodTriggersElement" + }, + "Profile": { + "documentation": "The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to \"HBBTV_1_5\", HbbTV 1.5 compliant output is enabled.", + "locationName": "profile", + "shape": "Profile" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentTemplateFormat": { + "documentation": "Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.", + "locationName": "segmentTemplateFormat", + "shape": "SegmentTemplateFormat" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + }, + "SuggestedPresentationDelaySeconds": { + "documentation": "Duration (in seconds) to delay live content before presentation.", + "locationName": "suggestedPresentationDelaySeconds", + "shape": "__integer" + } + }, + "type": "structure" + }, + "DeleteChannelRequest": { + "members": { + "Id": { + "documentation": "The ID of the Channel to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeleteChannelResponse": { + "members": {}, + "type": "structure" + }, + "DeleteOriginEndpointRequest": { + "members": { + "Id": { + "documentation": "The ID of the OriginEndpoint to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeleteOriginEndpointResponse": { + "members": {}, + "type": "structure" + }, + "DescribeChannelRequest": { + "members": { + "Id": { + "documentation": "The ID of a Channel.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeChannelResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "DescribeHarvestJobRequest": { + "members": { + "Id": { + "documentation": "The ID of the HarvestJob.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeHarvestJobResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the HarvestJob.\n", + "locationName": "arn", + "shape": "__string" + }, + "ChannelId": { + "documentation": "The ID of the Channel that the HarvestJob will harvest from.\n", + "locationName": "channelId", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the HarvestJob was submitted\n", + "locationName": "createdAt", + "shape": "__string" + }, + "EndTime": { + "documentation": "The end of the time-window which will be harvested.\n", + "locationName": "endTime", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted.\n", + "locationName": "id", + "shape": "__string" + }, + "OriginEndpointId": { + "documentation": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "locationName": "originEndpointId", + "shape": "__string" + }, + "S3Destination": { + "locationName": "s3Destination", + "shape": "S3Destination" + }, + "StartTime": { + "documentation": "The start of the time-window which will be harvested.\n", + "locationName": "startTime", + "shape": "__string" + }, + "Status": { + "documentation": "The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for\nHarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will\ninclude an explanation of why the HarvestJob failed.\n", + "locationName": "status", + "shape": "Status" + } + }, + "type": "structure" + }, + "DescribeOriginEndpointRequest": { + "members": { + "Id": { + "documentation": "The ID of the OriginEndpoint.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeOriginEndpointResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", + "locationName": "arn", + "shape": "__string" + }, + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel the OriginEndpoint is associated with.", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint.", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string appended to the end of the OriginEndpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Url": { + "documentation": "The URL of the packaged OriginEndpoint for consumption.", + "locationName": "url", + "shape": "__string" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "type": "structure" + }, + "EncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + }, + "ForbiddenException": { + "documentation": "The client is not authorized to access the requested resource.", + "error": { + "httpStatusCode": 403 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "HarvestJob": { + "documentation": "A HarvestJob resource configuration", + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the HarvestJob.\n", + "locationName": "arn", + "shape": "__string" + }, + "ChannelId": { + "documentation": "The ID of the Channel that the HarvestJob will harvest from.\n", + "locationName": "channelId", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the HarvestJob was submitted\n", + "locationName": "createdAt", + "shape": "__string" + }, + "EndTime": { + "documentation": "The end of the time-window which will be harvested.\n", + "locationName": "endTime", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted.\n", + "locationName": "id", + "shape": "__string" + }, + "OriginEndpointId": { + "documentation": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "locationName": "originEndpointId", + "shape": "__string" + }, + "S3Destination": { + "locationName": "s3Destination", + "shape": "S3Destination" + }, + "StartTime": { + "documentation": "The start of the time-window which will be harvested.\n", + "locationName": "startTime", + "shape": "__string" + }, + "Status": { + "documentation": "The current status of the HarvestJob. Consider setting up a CloudWatch Event to listen for\nHarvestJobs as they succeed or fail. In the event of failure, the CloudWatch Event will\ninclude an explanation of why the HarvestJob failed.\n", + "locationName": "status", + "shape": "Status" + } + }, + "type": "structure" + }, + "HarvestJobCreateParameters": { + "documentation": "Configuration parameters for a new HarvestJob", + "members": { + "EndTime": { + "documentation": "The end of the time-window which will be harvested\n", + "locationName": "endTime", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the HarvestJob. The ID must be unique within the region\nand it cannot be changed after the HarvestJob is submitted\n", + "locationName": "id", + "shape": "__string" + }, + "OriginEndpointId": { + "documentation": "The ID of the OriginEndpoint that the HarvestJob will harvest from.\nThis cannot be changed after the HarvestJob is submitted.\n", + "locationName": "originEndpointId", + "shape": "__string" + }, + "S3Destination": { + "locationName": "s3Destination", + "shape": "S3Destination" + }, + "StartTime": { + "documentation": "The start of the time-window which will be harvested\n", + "locationName": "startTime", + "shape": "__string" + } + }, + "required": [ + "S3Destination", + "EndTime", + "OriginEndpointId", + "StartTime", + "Id" + ], + "type": "structure" + }, + "HarvestJobList": { + "documentation": "A collection of HarvestJob records.", + "members": { + "HarvestJobs": { + "documentation": "A list of HarvestJob records.", + "locationName": "harvestJobs", + "shape": "__listOfHarvestJob" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsEncryption": { + "documentation": "An HTTP Live Streaming (HLS) encryption configuration.", + "members": { + "ConstantInitializationVector": { + "documentation": "A constant initialization vector for encryption (optional).\nWhen not specified the initialization vector will be periodically rotated.\n", + "locationName": "constantInitializationVector", + "shape": "__string" + }, + "EncryptionMethod": { + "documentation": "The encryption method to use.", + "locationName": "encryptionMethod", + "shape": "EncryptionMethod" + }, + "KeyRotationIntervalSeconds": { + "documentation": "Interval (in seconds) between each encryption key rotation.", + "locationName": "keyRotationIntervalSeconds", + "shape": "__integer" + }, + "RepeatExtXKey": { + "documentation": "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", + "locationName": "repeatExtXKey", + "shape": "__boolean" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "HlsIngest": { + "documentation": "An HTTP Live Streaming (HLS) ingest resource configuration.", + "members": { + "IngestEndpoints": { + "documentation": "A list of endpoints to which the source stream should be sent.", + "locationName": "ingestEndpoints", + "shape": "__listOfIngestEndpoint" + } + }, + "type": "structure" + }, + "HlsManifest": { + "documentation": "A HTTP Live Streaming (HLS) manifest configuration.", + "members": { + "AdMarkers": { + "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "Id": { + "documentation": "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", + "locationName": "id", + "shape": "__string" + }, + "IncludeIframeOnlyStream": { + "documentation": "When enabled, an I-Frame only stream will be included in the output.", + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "documentation": "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", + "locationName": "manifestName", + "shape": "__string" + }, + "PlaylistType": { + "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", + "locationName": "playlistType", + "shape": "PlaylistType" + }, + "PlaylistWindowSeconds": { + "documentation": "Time window (in seconds) contained in each parent manifest.", + "locationName": "playlistWindowSeconds", + "shape": "__integer" + }, + "ProgramDateTimeIntervalSeconds": { + "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "Url": { + "documentation": "The URL of the packaged OriginEndpoint for consumption.", + "locationName": "url", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "HlsManifestCreateOrUpdateParameters": { + "documentation": "A HTTP Live Streaming (HLS) manifest configuration.", + "members": { + "AdMarkers": { + "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "AdTriggers": { + "locationName": "adTriggers", + "shape": "AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "locationName": "adsOnDeliveryRestrictions", + "shape": "AdsOnDeliveryRestrictions" + }, + "Id": { + "documentation": "The ID of the manifest. The ID must be unique within the OriginEndpoint and it cannot be changed after it is created.", + "locationName": "id", + "shape": "__string" + }, + "IncludeIframeOnlyStream": { + "documentation": "When enabled, an I-Frame only stream will be included in the output.", + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "documentation": "An optional short string appended to the end of the OriginEndpoint URL. If not specified, defaults to the manifestName for the OriginEndpoint.", + "locationName": "manifestName", + "shape": "__string" + }, + "PlaylistType": { + "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", + "locationName": "playlistType", + "shape": "PlaylistType" + }, + "PlaylistWindowSeconds": { + "documentation": "Time window (in seconds) contained in each parent manifest.", + "locationName": "playlistWindowSeconds", + "shape": "__integer" + }, + "ProgramDateTimeIntervalSeconds": { + "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "HlsPackage": { + "documentation": "An HTTP Live Streaming (HLS) packaging configuration.", + "members": { + "AdMarkers": { + "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "AdTriggers": { + "locationName": "adTriggers", + "shape": "AdTriggers" + }, + "AdsOnDeliveryRestrictions": { + "locationName": "adsOnDeliveryRestrictions", + "shape": "AdsOnDeliveryRestrictions" + }, + "Encryption": { + "locationName": "encryption", + "shape": "HlsEncryption" + }, + "IncludeIframeOnlyStream": { + "documentation": "When enabled, an I-Frame only stream will be included in the output.", + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "PlaylistType": { + "documentation": "The HTTP Live Streaming (HLS) playlist type.\nWhen either \"EVENT\" or \"VOD\" is specified, a corresponding EXT-X-PLAYLIST-TYPE\nentry will be included in the media playlist.\n", + "locationName": "playlistType", + "shape": "PlaylistType" + }, + "PlaylistWindowSeconds": { + "documentation": "Time window (in seconds) contained in each parent manifest.", + "locationName": "playlistWindowSeconds", + "shape": "__integer" + }, + "ProgramDateTimeIntervalSeconds": { + "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + }, + "UseAudioRenditionGroup": { + "documentation": "When enabled, audio streams will be placed in rendition groups in the output.", + "locationName": "useAudioRenditionGroup", + "shape": "__boolean" + } + }, + "type": "structure" + }, + "IngestEndpoint": { + "documentation": "An endpoint for ingesting source content for a Channel.", + "members": { + "Id": { + "documentation": "The system generated unique identifier for the IngestEndpoint", + "locationName": "id", + "shape": "__string" + }, + "Password": { + "documentation": "The system generated password for ingest authentication.", + "locationName": "password", + "shape": "__string" + }, + "Url": { + "documentation": "The ingest URL to which the source stream should be sent.", + "locationName": "url", + "shape": "__string" + }, + "Username": { + "documentation": "The system generated username for ingest authentication.", + "locationName": "username", + "shape": "__string" + } + }, + "type": "structure" + }, + "InternalServerErrorException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListChannelsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListChannelsResponse": { + "members": { + "Channels": { + "documentation": "A list of Channel records.", + "locationName": "channels", + "shape": "__listOfChannel" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListHarvestJobsRequest": { + "members": { + "IncludeChannelId": { + "documentation": "When specified, the request will return only HarvestJobs associated with the given Channel ID.", + "location": "querystring", + "locationName": "includeChannelId", + "shape": "__string" + }, + "IncludeStatus": { + "documentation": "When specified, the request will return only HarvestJobs in the given status.", + "location": "querystring", + "locationName": "includeStatus", + "shape": "__string" + }, + "MaxResults": { + "documentation": "The upper bound on the number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListHarvestJobsResponse": { + "members": { + "HarvestJobs": { + "documentation": "A list of HarvestJob records.", + "locationName": "harvestJobs", + "shape": "__listOfHarvestJob" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListOriginEndpointsRequest": { + "members": { + "ChannelId": { + "documentation": "When specified, the request will return only OriginEndpoints associated with the given Channel ID.", + "location": "querystring", + "locationName": "channelId", + "shape": "__string" + }, + "MaxResults": { + "documentation": "The upper bound on the number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListOriginEndpointsResponse": { + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "OriginEndpoints": { + "documentation": "A list of OriginEndpoint records.", + "locationName": "originEndpoints", + "shape": "__listOfOriginEndpoint" + } + }, + "type": "structure" + }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "type": "structure" + }, + "ManifestLayout": { + "enum": [ + "FULL", + "COMPACT" + ], + "type": "string" + }, + "MaxResults": { + "max": 1000, + "min": 1, + "type": "integer" + }, + "MssEncryption": { + "documentation": "A Microsoft Smooth Streaming (MSS) encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "MssPackage": { + "documentation": "A Microsoft Smooth Streaming (MSS) packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "MssEncryption" + }, + "ManifestWindowSeconds": { + "documentation": "The time window (in seconds) contained in each manifest.", + "locationName": "manifestWindowSeconds", + "shape": "__integer" + }, + "SegmentDurationSeconds": { + "documentation": "The duration (in seconds) of each segment.", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "NotFoundException": { + "documentation": "The requested resource does not exist.", + "error": { + "httpStatusCode": 404 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "OriginEndpoint": { + "documentation": "An OriginEndpoint resource configuration.", + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", + "locationName": "arn", + "shape": "__string" + }, + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel the OriginEndpoint is associated with.", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint.", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string appended to the end of the OriginEndpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Url": { + "documentation": "The URL of the packaged OriginEndpoint for consumption.", + "locationName": "url", + "shape": "__string" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "type": "structure" + }, + "OriginEndpointCreateParameters": { + "documentation": "Configuration parameters for a new OriginEndpoint.", + "members": { + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel that the OriginEndpoint will be associated with.\nThis cannot be changed after the OriginEndpoint is created.\n", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint. The ID must be unique within the region\nand it cannot be changed after the OriginEndpoint is created.\n", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string that will be used as the filename of the OriginEndpoint URL (defaults to \"index\").", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "required": [ + "ChannelId", + "Id" + ], + "type": "structure" + }, + "OriginEndpointList": { + "documentation": "A collection of OriginEndpoint records.", + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "OriginEndpoints": { + "documentation": "A list of OriginEndpoint records.", + "locationName": "originEndpoints", + "shape": "__listOfOriginEndpoint" + } + }, + "type": "structure" + }, + "OriginEndpointUpdateParameters": { + "documentation": "Configuration parameters for updating an existing OriginEndpoint.", + "members": { + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "ManifestName": { + "documentation": "A short string that will be appended to the end of the Endpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (in seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (in seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "type": "structure" + }, + "Origination": { + "enum": [ + "ALLOW", + "DENY" + ], + "type": "string" + }, + "PlaylistType": { + "enum": [ + "NONE", + "EVENT", + "VOD" + ], + "type": "string" + }, + "Profile": { + "enum": [ + "NONE", + "HBBTV_1_5" + ], + "type": "string" + }, + "RotateChannelCredentialsRequest": { + "deprecated": true, + "members": { + "Id": { + "documentation": "The ID of the channel to update.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "RotateChannelCredentialsResponse": { + "deprecated": true, + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "RotateIngestEndpointCredentialsRequest": { + "members": { + "Id": { + "documentation": "The ID of the channel the IngestEndpoint is on.", + "location": "uri", + "locationName": "id", + "shape": "__string" + }, + "IngestEndpointId": { + "documentation": "The id of the IngestEndpoint whose credentials should be rotated", + "location": "uri", + "locationName": "ingest_endpoint_id", + "shape": "__string" + } + }, + "required": [ + "IngestEndpointId", + "Id" + ], + "type": "structure" + }, + "RotateIngestEndpointCredentialsResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "S3Destination": { + "documentation": "Configuration parameters for where in an S3 bucket to place the harvested content\n", + "members": { + "BucketName": { + "documentation": "The name of an S3 bucket within which harvested content will be exported\n", + "locationName": "bucketName", + "shape": "__string" + }, + "ManifestKey": { + "documentation": "The key in the specified S3 bucket where the harvested top-level manifest will be placed.\n", + "locationName": "manifestKey", + "shape": "__string" + }, + "RoleArn": { + "documentation": "The IAM role used to write to the specified S3 bucket\n", + "locationName": "roleArn", + "shape": "__string" + } + }, + "required": [ + "ManifestKey", + "BucketName", + "RoleArn" + ], + "type": "structure" + }, + "SegmentTemplateFormat": { + "enum": [ + "NUMBER_WITH_TIMELINE", + "TIME_WITH_TIMELINE", + "NUMBER_WITH_DURATION" + ], + "type": "string" + }, + "ServiceUnavailableException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 503 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "SpekeKeyProvider": { + "documentation": "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", + "members": { + "CertificateArn": { + "documentation": "An Amazon Resource Name (ARN) of a Certificate Manager certificate\nthat MediaPackage will use for enforcing secure end-to-end data\ntransfer with the key provider service.\n", + "locationName": "certificateArn", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "RoleArn": { + "documentation": "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", + "locationName": "roleArn", + "shape": "__string" + }, + "SystemIds": { + "documentation": "The system IDs to include in key requests.", + "locationName": "systemIds", + "shape": "__listOf__string" + }, + "Url": { + "documentation": "The URL of the external key provider service.", + "locationName": "url", + "shape": "__string" + } + }, + "required": [ + "ResourceId", + "SystemIds", + "Url", + "RoleArn" + ], + "type": "structure" + }, + "Status": { + "enum": [ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ], + "type": "string" + }, + "StreamOrder": { + "enum": [ + "ORIGINAL", + "VIDEO_BITRATE_ASCENDING", + "VIDEO_BITRATE_DESCENDING" + ], + "type": "string" + }, + "StreamSelection": { + "documentation": "A StreamSelection configuration.", + "members": { + "MaxVideoBitsPerSecond": { + "documentation": "The maximum video bitrate (bps) to include in output.", + "locationName": "maxVideoBitsPerSecond", + "shape": "__integer" + }, + "MinVideoBitsPerSecond": { + "documentation": "The minimum video bitrate (bps) to include in output.", + "locationName": "minVideoBitsPerSecond", + "shape": "__integer" + }, + "StreamOrder": { + "documentation": "A directive that determines the order of streams in the output.", + "locationName": "streamOrder", + "shape": "StreamOrder" + } + }, + "type": "structure" + }, + "TagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "ResourceArn", + "Tags" + ], + "type": "structure" + }, + "Tags": { + "documentation": "A collection of tags associated with a resource", + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "TagsModel": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "Tags" + ], + "type": "structure" + }, + "TooManyRequestsException": { + "documentation": "The client has exceeded their resource or throttling limits.", + "error": { + "httpStatusCode": 429 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UnprocessableEntityException": { + "documentation": "The parameters sent in the request are not valid.", + "error": { + "httpStatusCode": 422 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UntagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "TagKeys": { + "documentation": "The key(s) of tag to be deleted", + "location": "querystring", + "locationName": "tagKeys", + "shape": "__listOf__string" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ], + "type": "structure" + }, + "UpdateChannelRequest": { + "documentation": "Configuration parameters used to update the Channel.", + "members": { + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the Channel to update.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "UpdateChannelResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the Channel.", + "locationName": "arn", + "shape": "__string" + }, + "Description": { + "documentation": "A short text description of the Channel.", + "locationName": "description", + "shape": "__string" + }, + "HlsIngest": { + "locationName": "hlsIngest", + "shape": "HlsIngest" + }, + "Id": { + "documentation": "The ID of the Channel.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "UpdateOriginEndpointRequest": { + "documentation": "Configuration parameters used to update an existing OriginEndpoint.", + "members": { + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackageCreateOrUpdateParameters" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint to update.", + "location": "uri", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string that will be appended to the end of the Endpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (in seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (in seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "UpdateOriginEndpointResponse": { + "members": { + "Arn": { + "documentation": "The Amazon Resource Name (ARN) assigned to the OriginEndpoint.", + "locationName": "arn", + "shape": "__string" + }, + "Authorization": { + "locationName": "authorization", + "shape": "Authorization" + }, + "ChannelId": { + "documentation": "The ID of the Channel the OriginEndpoint is associated with.", + "locationName": "channelId", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "Description": { + "documentation": "A short text description of the OriginEndpoint.", + "locationName": "description", + "shape": "__string" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the OriginEndpoint.", + "locationName": "id", + "shape": "__string" + }, + "ManifestName": { + "documentation": "A short string appended to the end of the OriginEndpoint URL.", + "locationName": "manifestName", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "Origination": { + "documentation": "Control whether origination of video is allowed for this OriginEndpoint. If set to ALLOW, the OriginEndpoint\nmay by requested, pursuant to any other form of access control. If set to DENY, the OriginEndpoint may not be\nrequested. This can be helpful for Live to VOD harvesting, or for temporarily disabling origination\n", + "locationName": "origination", + "shape": "Origination" + }, + "StartoverWindowSeconds": { + "documentation": "Maximum duration (seconds) of content to retain for startover playback.\nIf not specified, startover playback will be disabled for the OriginEndpoint.\n", + "locationName": "startoverWindowSeconds", + "shape": "__integer" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + }, + "TimeDelaySeconds": { + "documentation": "Amount of delay (seconds) to enforce on the playback of live content.\nIf not specified, there will be no time delay in effect for the OriginEndpoint.\n", + "locationName": "timeDelaySeconds", + "shape": "__integer" + }, + "Url": { + "documentation": "The URL of the packaged OriginEndpoint for consumption.", + "locationName": "url", + "shape": "__string" + }, + "Whitelist": { + "documentation": "A list of source IP CIDR blocks that will be allowed to access the OriginEndpoint.", + "locationName": "whitelist", + "shape": "__listOf__string" + } + }, + "type": "structure" + }, + "__AdTriggersElement": { + "enum": [ + "SPLICE_INSERT", + "BREAK", + "PROVIDER_ADVERTISEMENT", + "DISTRIBUTOR_ADVERTISEMENT", + "PROVIDER_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_PLACEMENT_OPPORTUNITY", + "PROVIDER_OVERLAY_PLACEMENT_OPPORTUNITY", + "DISTRIBUTOR_OVERLAY_PLACEMENT_OPPORTUNITY" + ], + "type": "string" + }, + "__PeriodTriggersElement": { + "enum": [ + "ADS" + ], + "type": "string" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfChannel": { + "member": { + "shape": "Channel" + }, + "type": "list" + }, + "__listOfHarvestJob": { + "member": { + "shape": "HarvestJob" + }, + "type": "list" + }, + "__listOfHlsManifest": { + "member": { + "shape": "HlsManifest" + }, + "type": "list" + }, + "__listOfHlsManifestCreateOrUpdateParameters": { + "member": { + "shape": "HlsManifestCreateOrUpdateParameters" + }, + "type": "list" + }, + "__listOfIngestEndpoint": { + "member": { + "shape": "IngestEndpoint" + }, + "type": "list" + }, + "__listOfOriginEndpoint": { + "member": { + "shape": "OriginEndpoint" + }, + "type": "list" + }, + "__listOf__PeriodTriggersElement": { + "member": { + "shape": "__PeriodTriggersElement" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediapackage-vod/2018-11-07/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListAssets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Assets" + }, + "ListPackagingConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingConfigurations" + }, + "ListPackagingGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PackagingGroups" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediapackage-vod/2018-11-07/service-2.json python-botocore-1.16.19+repack/botocore/data/mediapackage-vod/2018-11-07/service-2.json --- python-botocore-1.4.70/botocore/data/mediapackage-vod/2018-11-07/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediapackage-vod/2018-11-07/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1943 @@ +{ + "documentation": "AWS Elemental MediaPackage VOD", + "metadata": { + "apiVersion": "2018-11-07", + "endpointPrefix": "mediapackage-vod", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaPackage Vod", + "serviceFullName": "AWS Elemental MediaPackage VOD", + "serviceId": "MediaPackage Vod", + "signatureVersion": "v4", + "signingName": "mediapackage-vod", + "uid": "mediapackage-vod-2018-11-07" + }, + "operations": { + "CreateAsset": { + "documentation": "Creates a new MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "CreateAssetRequest" + }, + "name": "CreateAsset", + "output": { + "documentation": "The new MediaPackage VOD Asset resource.", + "shape": "CreateAssetResponse" + } + }, + "CreatePackagingConfiguration": { + "documentation": "Creates a new MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingConfigurationRequest" + }, + "name": "CreatePackagingConfiguration", + "output": { + "documentation": "The new MediaPackage VOD PackagingConfiguration resource.", + "shape": "CreatePackagingConfigurationResponse" + } + }, + "CreatePackagingGroup": { + "documentation": "Creates a new MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "POST", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "CreatePackagingGroupRequest" + }, + "name": "CreatePackagingGroup", + "output": { + "documentation": "The new MediaPackage VOD PackagingGroup resource.", + "shape": "CreatePackagingGroupResponse" + } + }, + "DeleteAsset": { + "documentation": "Deletes an existing MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/assets/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteAssetRequest" + }, + "name": "DeleteAsset", + "output": { + "documentation": "The MediaPackage VOD Asset resource has been deleted.", + "shape": "DeleteAssetResponse" + } + }, + "DeletePackagingConfiguration": { + "documentation": "Deletes a MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingConfigurationRequest" + }, + "name": "DeletePackagingConfiguration", + "output": { + "documentation": "The MediaPackage VOD PackagingConfiguration resource has been deleted.", + "shape": "DeletePackagingConfigurationResponse" + } + }, + "DeletePackagingGroup": { + "documentation": "Deletes a MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/packaging_groups/{id}", + "responseCode": 202 + }, + "input": { + "shape": "DeletePackagingGroupRequest" + }, + "name": "DeletePackagingGroup", + "output": { + "documentation": "The MediaPackage VOD PackagingGroup resource has been deleted.", + "shape": "DeletePackagingGroupResponse" + } + }, + "DescribeAsset": { + "documentation": "Returns a description of a MediaPackage VOD Asset resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeAssetRequest" + }, + "name": "DescribeAsset", + "output": { + "documentation": "A MediaPackage VOD Asset resource.", + "shape": "DescribeAssetResponse" + } + }, + "DescribePackagingConfiguration": { + "documentation": "Returns a description of a MediaPackage VOD PackagingConfiguration resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingConfigurationRequest" + }, + "name": "DescribePackagingConfiguration", + "output": { + "documentation": "A MediaPackage VOD PackagingConfiguration resource.", + "shape": "DescribePackagingConfigurationResponse" + } + }, + "DescribePackagingGroup": { + "documentation": "Returns a description of a MediaPackage VOD PackagingGroup resource.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups/{id}", + "responseCode": 200 + }, + "input": { + "shape": "DescribePackagingGroupRequest" + }, + "name": "DescribePackagingGroup", + "output": { + "documentation": "A MediaPackage VOD PackagingGroup resource.", + "shape": "DescribePackagingGroupResponse" + } + }, + "ListAssets": { + "documentation": "Returns a collection of MediaPackage VOD Asset resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/assets", + "responseCode": 200 + }, + "input": { + "shape": "ListAssetsRequest" + }, + "name": "ListAssets", + "output": { + "documentation": "A collection of MediaPackage VOD Asset resources.", + "shape": "ListAssetsResponse" + } + }, + "ListPackagingConfigurations": { + "documentation": "Returns a collection of MediaPackage VOD PackagingConfiguration resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_configurations", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingConfigurationsRequest" + }, + "name": "ListPackagingConfigurations", + "output": { + "documentation": "A collection of MediaPackage VOD PackagingConfiguration resources.", + "shape": "ListPackagingConfigurationsResponse" + } + }, + "ListPackagingGroups": { + "documentation": "Returns a collection of MediaPackage VOD PackagingGroup resources.", + "errors": [ + { + "shape": "UnprocessableEntityException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ], + "http": { + "method": "GET", + "requestUri": "/packaging_groups", + "responseCode": 200 + }, + "input": { + "shape": "ListPackagingGroupsRequest" + }, + "name": "ListPackagingGroups", + "output": { + "documentation": "A collection of MediaPackage VOD PackagingGroup resources.", + "shape": "ListPackagingGroupsResponse" + } + }, + "ListTagsForResource": { + "documentation": "List tags for a given MediaPackage VOD resource", + "errors": [], + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "documentation": "200 response", + "shape": "ListTagsForResourceResponse" + } + }, + "TagResource": { + "documentation": "Set tags for a given MediaPackage VOD resource", + "errors": [], + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource" + }, + "UntagResource": { + "documentation": "Delete tags for a given MediaPackage VOD resource", + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource" + } + }, + "shapes": { + "AdMarkers": { + "enum": [ + "NONE", + "SCTE35_ENHANCED", + "PASSTHROUGH" + ], + "type": "string" + }, + "Asset": { + "documentation": "A MediaPackage VOD Asset resource.", + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the Asset was initially submitted for Ingest.", + "locationName": "createdAt", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "AssetCreateParameters": { + "documentation": "Parameters used to create a MediaPackage VOD Asset.", + "members": { + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "AssetList": { + "documentation": "A collection of MediaPackage VOD Asset resources.", + "members": { + "Assets": { + "documentation": "A list of MediaPackage VOD Asset resources.", + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "AssetShallow": { + "documentation": "A MediaPackage VOD Asset resource.", + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the Asset was initially submitted for Ingest.", + "locationName": "createdAt", + "shape": "__string" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "CmafEncryption": { + "documentation": "A CMAF encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "CmafPackage": { + "documentation": "A CMAF packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "CmafEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations.", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "CreateAssetRequest": { + "documentation": "A new MediaPackage VOD Asset configuration.", + "members": { + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role ARN used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "SourceArn", + "Id", + "PackagingGroupId", + "SourceRoleArn" + ], + "type": "structure" + }, + "CreateAssetResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the Asset was initially submitted for Ingest.", + "locationName": "createdAt", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "CreatePackagingConfigurationRequest": { + "documentation": "A new MediaPackage VOD PackagingConfiguration resource configuration.", + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "CreatePackagingConfigurationResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "CreatePackagingGroupRequest": { + "documentation": "A new MediaPackage VOD PackagingGroup resource configuration.", + "members": { + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "CreatePackagingGroupResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "DomainName": { + "documentation": "The fully qualified domain name for Assets in the PackagingGroup.", + "locationName": "domainName", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "DashEncryption": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "DashManifest": { + "documentation": "A DASH manifest configuration.", + "members": { + "ManifestLayout": { + "documentation": "Determines the position of some tags in the Media Presentation Description (MPD). When set to FULL, elements like SegmentTemplate and ContentProtection are included in each Representation. When set to COMPACT, duplicate elements are combined and presented at the AdaptationSet level.", + "locationName": "manifestLayout", + "shape": "ManifestLayout" + }, + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "MinBufferTimeSeconds": { + "documentation": "Minimum duration (in seconds) that a player will buffer media before starting the presentation.", + "locationName": "minBufferTimeSeconds", + "shape": "__integer" + }, + "Profile": { + "documentation": "The Dynamic Adaptive Streaming over HTTP (DASH) profile type. When set to \"HBBTV_1_5\", HbbTV 1.5 compliant output is enabled.", + "locationName": "profile", + "shape": "Profile" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "DashPackage": { + "documentation": "A Dynamic Adaptive Streaming over HTTP (DASH) packaging configuration.", + "members": { + "DashManifests": { + "documentation": "A list of DASH manifest configurations.", + "locationName": "dashManifests", + "shape": "__listOfDashManifest" + }, + "Encryption": { + "locationName": "encryption", + "shape": "DashEncryption" + }, + "PeriodTriggers": { + "documentation": "A list of triggers that controls when the outgoing Dynamic Adaptive Streaming over HTTP (DASH)\nMedia Presentation Description (MPD) will be partitioned into multiple periods. If empty, the content will not\nbe partitioned into more than one period. If the list contains \"ADS\", new periods will be created where\nthe Asset contains SCTE-35 ad markers.\n", + "locationName": "periodTriggers", + "shape": "__listOf__PeriodTriggersElement" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each segment. Actual segments will be\nrounded to the nearest multiple of the source segment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "SegmentTemplateFormat": { + "documentation": "Determines the type of SegmentTemplate included in the Media Presentation Description (MPD). When set to NUMBER_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Number$ media URLs. When set to TIME_WITH_TIMELINE, a full timeline is presented in each SegmentTemplate, with $Time$ media URLs. When set to NUMBER_WITH_DURATION, only a duration is included in each SegmentTemplate, with $Number$ media URLs.", + "locationName": "segmentTemplateFormat", + "shape": "SegmentTemplateFormat" + } + }, + "required": [ + "DashManifests" + ], + "type": "structure" + }, + "DeleteAssetRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD Asset resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeleteAssetResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingConfigurationRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD PackagingConfiguration resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingConfigurationResponse": { + "members": {}, + "type": "structure" + }, + "DeletePackagingGroupRequest": { + "members": { + "Id": { + "documentation": "The ID of the MediaPackage VOD PackagingGroup resource to delete.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DeletePackagingGroupResponse": { + "members": {}, + "type": "structure" + }, + "DescribeAssetRequest": { + "members": { + "Id": { + "documentation": "The ID of an MediaPackage VOD Asset resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribeAssetResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the Asset.", + "locationName": "arn", + "shape": "__string" + }, + "CreatedAt": { + "documentation": "The time the Asset was initially submitted for Ingest.", + "locationName": "createdAt", + "shape": "__string" + }, + "EgressEndpoints": { + "documentation": "The list of egress endpoints available for the Asset.", + "locationName": "egressEndpoints", + "shape": "__listOfEgressEndpoint" + }, + "Id": { + "documentation": "The unique identifier for the Asset.", + "locationName": "id", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "The ID of the PackagingGroup for the Asset.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "ResourceId": { + "documentation": "The resource ID to include in SPEKE key requests.", + "locationName": "resourceId", + "shape": "__string" + }, + "SourceArn": { + "documentation": "ARN of the source object in S3.", + "locationName": "sourceArn", + "shape": "__string" + }, + "SourceRoleArn": { + "documentation": "The IAM role_arn used to access the source S3 bucket.", + "locationName": "sourceRoleArn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "DescribePackagingConfigurationRequest": { + "members": { + "Id": { + "documentation": "The ID of a MediaPackage VOD PackagingConfiguration resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingConfigurationResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "DescribePackagingGroupRequest": { + "members": { + "Id": { + "documentation": "The ID of a MediaPackage VOD PackagingGroup resource.", + "location": "uri", + "locationName": "id", + "shape": "__string" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "DescribePackagingGroupResponse": { + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "DomainName": { + "documentation": "The fully qualified domain name for Assets in the PackagingGroup.", + "locationName": "domainName", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "EgressEndpoint": { + "documentation": "The endpoint URL used to access an Asset using one PackagingConfiguration.", + "members": { + "PackagingConfigurationId": { + "documentation": "The ID of the PackagingConfiguration being applied to the Asset.", + "locationName": "packagingConfigurationId", + "shape": "__string" + }, + "Url": { + "documentation": "The URL of the parent manifest for the repackaged Asset.", + "locationName": "url", + "shape": "__string" + } + }, + "type": "structure" + }, + "EncryptionMethod": { + "enum": [ + "AES_128", + "SAMPLE_AES" + ], + "type": "string" + }, + "ForbiddenException": { + "documentation": "The client is not authorized to access the requested resource.", + "error": { + "httpStatusCode": 403 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsEncryption": { + "documentation": "An HTTP Live Streaming (HLS) encryption configuration.", + "members": { + "ConstantInitializationVector": { + "documentation": "A constant initialization vector for encryption (optional).\nWhen not specified the initialization vector will be periodically rotated.\n", + "locationName": "constantInitializationVector", + "shape": "__string" + }, + "EncryptionMethod": { + "documentation": "The encryption method to use.", + "locationName": "encryptionMethod", + "shape": "EncryptionMethod" + }, + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "HlsManifest": { + "documentation": "An HTTP Live Streaming (HLS) manifest configuration.", + "members": { + "AdMarkers": { + "documentation": "This setting controls how ad markers are included in the packaged OriginEndpoint.\n\"NONE\" will omit all SCTE-35 ad markers from the output.\n\"PASSTHROUGH\" causes the manifest to contain a copy of the SCTE-35 ad\nmarkers (comments) taken directly from the input HTTP Live Streaming (HLS) manifest.\n\"SCTE35_ENHANCED\" generates ad markers and blackout tags based on SCTE-35\nmessages in the input source.\n", + "locationName": "adMarkers", + "shape": "AdMarkers" + }, + "IncludeIframeOnlyStream": { + "documentation": "When enabled, an I-Frame only stream will be included in the output.", + "locationName": "includeIframeOnlyStream", + "shape": "__boolean" + }, + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "ProgramDateTimeIntervalSeconds": { + "documentation": "The interval (in seconds) between each EXT-X-PROGRAM-DATE-TIME tag\ninserted into manifests. Additionally, when an interval is specified\nID3Timed Metadata messages will be generated every 5 seconds using the\ningest time of the content.\nIf the interval is not specified, or set to 0, then\nno EXT-X-PROGRAM-DATE-TIME tags will be inserted into manifests and no\nID3Timed Metadata messages will be generated. Note that irrespective\nof this parameter, if any ID3 Timed Metadata is found in HTTP Live Streaming (HLS) input,\nit will be passed through to HLS output.\n", + "locationName": "programDateTimeIntervalSeconds", + "shape": "__integer" + }, + "RepeatExtXKey": { + "documentation": "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", + "locationName": "repeatExtXKey", + "shape": "__boolean" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "HlsPackage": { + "documentation": "An HTTP Live Streaming (HLS) packaging configuration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "HlsEncryption" + }, + "HlsManifests": { + "documentation": "A list of HLS manifest configurations.", + "locationName": "hlsManifests", + "shape": "__listOfHlsManifest" + }, + "SegmentDurationSeconds": { + "documentation": "Duration (in seconds) of each fragment. Actual fragments will be\nrounded to the nearest multiple of the source fragment duration.\n", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + }, + "UseAudioRenditionGroup": { + "documentation": "When enabled, audio streams will be placed in rendition groups in the output.", + "locationName": "useAudioRenditionGroup", + "shape": "__boolean" + } + }, + "required": [ + "HlsManifests" + ], + "type": "structure" + }, + "InternalServerErrorException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "Returns Assets associated with the specified PackagingGroup.", + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListAssetsResponse": { + "members": { + "Assets": { + "documentation": "A list of MediaPackage VOD Asset resources.", + "locationName": "assets", + "shape": "__listOfAssetShallow" + }, + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroupId": { + "documentation": "Returns MediaPackage VOD PackagingConfigurations associated with the specified PackagingGroup.", + "location": "querystring", + "locationName": "packagingGroupId", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingConfigurationsResponse": { + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "documentation": "A list of MediaPackage VOD PackagingConfiguration resources.", + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "ListPackagingGroupsRequest": { + "members": { + "MaxResults": { + "documentation": "Upper bound on number of records to return.", + "location": "querystring", + "locationName": "maxResults", + "shape": "MaxResults" + }, + "NextToken": { + "documentation": "A token used to resume pagination from the end of a previous request.", + "location": "querystring", + "locationName": "nextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPackagingGroupsResponse": { + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "documentation": "A list of MediaPackage VOD PackagingGroup resources.", + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "type": "structure" + }, + "ManifestLayout": { + "enum": [ + "FULL", + "COMPACT" + ], + "type": "string" + }, + "MaxResults": { + "max": 1000, + "min": 1, + "type": "integer" + }, + "MssEncryption": { + "documentation": "A Microsoft Smooth Streaming (MSS) encryption configuration.", + "members": { + "SpekeKeyProvider": { + "locationName": "spekeKeyProvider", + "shape": "SpekeKeyProvider" + } + }, + "required": [ + "SpekeKeyProvider" + ], + "type": "structure" + }, + "MssManifest": { + "documentation": "A Microsoft Smooth Streaming (MSS) manifest configuration.", + "members": { + "ManifestName": { + "documentation": "An optional string to include in the name of the manifest.", + "locationName": "manifestName", + "shape": "__string" + }, + "StreamSelection": { + "locationName": "streamSelection", + "shape": "StreamSelection" + } + }, + "type": "structure" + }, + "MssPackage": { + "documentation": "A Microsoft Smooth Streaming (MSS) PackagingConfiguration.", + "members": { + "Encryption": { + "locationName": "encryption", + "shape": "MssEncryption" + }, + "MssManifests": { + "documentation": "A list of MSS manifest configurations.", + "locationName": "mssManifests", + "shape": "__listOfMssManifest" + }, + "SegmentDurationSeconds": { + "documentation": "The duration (in seconds) of each segment.", + "locationName": "segmentDurationSeconds", + "shape": "__integer" + } + }, + "required": [ + "MssManifests" + ], + "type": "structure" + }, + "NotFoundException": { + "documentation": "The requested resource does not exist.", + "error": { + "httpStatusCode": 404 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "PackagingConfiguration": { + "documentation": "A MediaPackage VOD PackagingConfiguration resource.", + "members": { + "Arn": { + "documentation": "The ARN of the PackagingConfiguration.", + "locationName": "arn", + "shape": "__string" + }, + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "PackagingConfigurationCreateParameters": { + "documentation": "Parameters used to create a new MediaPackage VOD PackagingConfiguration resource.", + "members": { + "CmafPackage": { + "locationName": "cmafPackage", + "shape": "CmafPackage" + }, + "DashPackage": { + "locationName": "dashPackage", + "shape": "DashPackage" + }, + "HlsPackage": { + "locationName": "hlsPackage", + "shape": "HlsPackage" + }, + "Id": { + "documentation": "The ID of the PackagingConfiguration.", + "locationName": "id", + "shape": "__string" + }, + "MssPackage": { + "locationName": "mssPackage", + "shape": "MssPackage" + }, + "PackagingGroupId": { + "documentation": "The ID of a PackagingGroup.", + "locationName": "packagingGroupId", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id", + "PackagingGroupId" + ], + "type": "structure" + }, + "PackagingConfigurationList": { + "documentation": "A collection of MediaPackage VOD PackagingConfiguration resources.", + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingConfigurations": { + "documentation": "A list of MediaPackage VOD PackagingConfiguration resources.", + "locationName": "packagingConfigurations", + "shape": "__listOfPackagingConfiguration" + } + }, + "type": "structure" + }, + "PackagingGroup": { + "documentation": "A MediaPackage VOD PackagingGroup resource.", + "members": { + "Arn": { + "documentation": "The ARN of the PackagingGroup.", + "locationName": "arn", + "shape": "__string" + }, + "DomainName": { + "documentation": "The fully qualified domain name for Assets in the PackagingGroup.", + "locationName": "domainName", + "shape": "__string" + }, + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "type": "structure" + }, + "PackagingGroupCreateParameters": { + "documentation": "Parameters used to create a new MediaPackage VOD PackagingGroup resource.", + "members": { + "Id": { + "documentation": "The ID of the PackagingGroup.", + "locationName": "id", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "Tags" + } + }, + "required": [ + "Id" + ], + "type": "structure" + }, + "PackagingGroupList": { + "documentation": "A collection of MediaPackage VOD PackagingGroup resources.", + "members": { + "NextToken": { + "documentation": "A token that can be used to resume pagination from the end of the collection.", + "locationName": "nextToken", + "shape": "__string" + }, + "PackagingGroups": { + "documentation": "A list of MediaPackage VOD PackagingGroup resources.", + "locationName": "packagingGroups", + "shape": "__listOfPackagingGroup" + } + }, + "type": "structure" + }, + "Profile": { + "enum": [ + "NONE", + "HBBTV_1_5" + ], + "type": "string" + }, + "SegmentTemplateFormat": { + "enum": [ + "NUMBER_WITH_TIMELINE", + "TIME_WITH_TIMELINE", + "NUMBER_WITH_DURATION" + ], + "type": "string" + }, + "ServiceUnavailableException": { + "documentation": "An unexpected error occurred.", + "error": { + "httpStatusCode": 503 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "SpekeKeyProvider": { + "documentation": "A configuration for accessing an external Secure Packager and Encoder Key Exchange (SPEKE) service that will provide encryption keys.", + "members": { + "RoleArn": { + "documentation": "An Amazon Resource Name (ARN) of an IAM role that AWS Elemental\nMediaPackage will assume when accessing the key provider service.\n", + "locationName": "roleArn", + "shape": "__string" + }, + "SystemIds": { + "documentation": "The system IDs to include in key requests.", + "locationName": "systemIds", + "shape": "__listOf__string" + }, + "Url": { + "documentation": "The URL of the external key provider service.", + "locationName": "url", + "shape": "__string" + } + }, + "required": [ + "SystemIds", + "Url", + "RoleArn" + ], + "type": "structure" + }, + "StreamOrder": { + "enum": [ + "ORIGINAL", + "VIDEO_BITRATE_ASCENDING", + "VIDEO_BITRATE_DESCENDING" + ], + "type": "string" + }, + "StreamSelection": { + "documentation": "A StreamSelection configuration.", + "members": { + "MaxVideoBitsPerSecond": { + "documentation": "The maximum video bitrate (bps) to include in output.", + "locationName": "maxVideoBitsPerSecond", + "shape": "__integer" + }, + "MinVideoBitsPerSecond": { + "documentation": "The minimum video bitrate (bps) to include in output.", + "locationName": "minVideoBitsPerSecond", + "shape": "__integer" + }, + "StreamOrder": { + "documentation": "A directive that determines the order of streams in the output.", + "locationName": "streamOrder", + "shape": "StreamOrder" + } + }, + "type": "structure" + }, + "TagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "ResourceArn", + "Tags" + ], + "type": "structure" + }, + "Tags": { + "documentation": "A collection of tags associated with a resource", + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "TagsModel": { + "members": { + "Tags": { + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "Tags" + ], + "type": "structure" + }, + "TooManyRequestsException": { + "documentation": "The client has exceeded their resource or throttling limits.", + "error": { + "httpStatusCode": 429 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UnprocessableEntityException": { + "documentation": "The parameters sent in the request are not valid.", + "error": { + "httpStatusCode": 422 + }, + "exception": true, + "members": { + "Message": { + "locationName": "message", + "shape": "__string" + } + }, + "type": "structure" + }, + "UntagResourceRequest": { + "members": { + "ResourceArn": { + "location": "uri", + "locationName": "resource-arn", + "shape": "__string" + }, + "TagKeys": { + "documentation": "The key(s) of tag to be deleted", + "location": "querystring", + "locationName": "tagKeys", + "shape": "__listOf__string" + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ], + "type": "structure" + }, + "__PeriodTriggersElement": { + "enum": [ + "ADS" + ], + "type": "string" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOfAssetShallow": { + "member": { + "shape": "AssetShallow" + }, + "type": "list" + }, + "__listOfDashManifest": { + "member": { + "shape": "DashManifest" + }, + "type": "list" + }, + "__listOfEgressEndpoint": { + "member": { + "shape": "EgressEndpoint" + }, + "type": "list" + }, + "__listOfHlsManifest": { + "member": { + "shape": "HlsManifest" + }, + "type": "list" + }, + "__listOfMssManifest": { + "member": { + "shape": "MssManifest" + }, + "type": "list" + }, + "__listOfPackagingConfiguration": { + "member": { + "shape": "PackagingConfiguration" + }, + "type": "list" + }, + "__listOfPackagingGroup": { + "member": { + "shape": "PackagingGroup" + }, + "type": "list" + }, + "__listOf__PeriodTriggersElement": { + "member": { + "shape": "__PeriodTriggersElement" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + } + } +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/examples-1.json --- python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListContainers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Containers" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/service-2.json python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/service-2.json --- python-botocore-1.4.70/botocore/data/mediastore/2017-09-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore/2017-09-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1070 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-01", + "endpointPrefix":"mediastore", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"MediaStore", + "serviceFullName":"AWS Elemental MediaStore", + "serviceId":"MediaStore", + "signatureVersion":"v4", + "signingName":"mediastore", + "targetPrefix":"MediaStore_20170901", + "uid":"mediastore-2017-09-01" + }, + "operations":{ + "CreateContainer":{ + "name":"CreateContainer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateContainerInput"}, + "output":{"shape":"CreateContainerOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Creates a storage container to hold objects. A container is similar to a bucket in the Amazon S3 service.

" + }, + "DeleteContainer":{ + "name":"DeleteContainer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContainerInput"}, + "output":{"shape":"DeleteContainerOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes the specified container. Before you make a DeleteContainer request, delete any objects in the container or in any folders in the container. You can delete only empty containers.

" + }, + "DeleteContainerPolicy":{ + "name":"DeleteContainerPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteContainerPolicyInput"}, + "output":{"shape":"DeleteContainerPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes the access policy that is associated with the specified container.

" + }, + "DeleteCorsPolicy":{ + "name":"DeleteCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCorsPolicyInput"}, + "output":{"shape":"DeleteCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"CorsPolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:DeleteCorsPolicy action. The container owner has this permission by default and can grant this permission to others.

" + }, + "DeleteLifecyclePolicy":{ + "name":"DeleteLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLifecyclePolicyInput"}, + "output":{"shape":"DeleteLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Removes an object lifecycle policy from a container. It takes up to 20 minutes for the change to take effect.

" + }, + "DeleteMetricPolicy":{ + "name":"DeleteMetricPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMetricPolicyInput"}, + "output":{"shape":"DeleteMetricPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes the metric policy that is associated with the specified container. If there is no metric policy associated with the container, MediaStore doesn't send metrics to CloudWatch.

" + }, + "DescribeContainer":{ + "name":"DescribeContainer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeContainerInput"}, + "output":{"shape":"DescribeContainerOutput"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Retrieves the properties of the requested container. This request is commonly used to retrieve the endpoint of a container. An endpoint is a value assigned by the service when a new container is created. A container's endpoint does not change after it has been assigned. The DescribeContainer request returns a single Container object based on ContainerName. To return all Container objects that are associated with a specified AWS account, use ListContainers.

" + }, + "GetContainerPolicy":{ + "name":"GetContainerPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContainerPolicyInput"}, + "output":{"shape":"GetContainerPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Retrieves the access policy for the specified container. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

" + }, + "GetCorsPolicy":{ + "name":"GetCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCorsPolicyInput"}, + "output":{"shape":"GetCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"CorsPolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns the cross-origin resource sharing (CORS) configuration information that is set for the container.

To use this operation, you must have permission to perform the MediaStore:GetCorsPolicy action. By default, the container owner has this permission and can grant it to others.

" + }, + "GetLifecyclePolicy":{ + "name":"GetLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLifecyclePolicyInput"}, + "output":{"shape":"GetLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Retrieves the object lifecycle policy that is assigned to a container.

" + }, + "GetMetricPolicy":{ + "name":"GetMetricPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMetricPolicyInput"}, + "output":{"shape":"GetMetricPolicyOutput"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ContainerInUseException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns the metric policy for the specified container.

" + }, + "ListContainers":{ + "name":"ListContainers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListContainersInput"}, + "output":{"shape":"ListContainersOutput"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

Lists the properties of all containers in AWS Elemental MediaStore.

You can query to receive all the containers in one response. Or you can include the MaxResults parameter to receive a limited number of containers in each response. In this case, the response includes a token. To get the next set of containers, send the command again, this time with the NextToken parameter (with the returned token as its value). The next set of responses appears, with a token if there are still more containers to receive.

See also DescribeContainer, which gets the properties of one container.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Returns a list of the tags assigned to the specified container.

" + }, + "PutContainerPolicy":{ + "name":"PutContainerPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutContainerPolicyInput"}, + "output":{"shape":"PutContainerPolicyOutput"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ContainerInUseException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Creates an access policy for the specified container to restrict the users and clients that can access it. For information about the data that is included in an access policy, see the AWS Identity and Access Management User Guide.

For this release of the REST API, you can create only one policy for a container. If you enter PutContainerPolicy twice, the second command modifies the existing policy.

" + }, + "PutCorsPolicy":{ + "name":"PutCorsPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutCorsPolicyInput"}, + "output":{"shape":"PutCorsPolicyOutput"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ContainerInUseException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Sets the cross-origin resource sharing (CORS) configuration on a container so that the container can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your AWS Elemental MediaStore container at my.example.container.com by using the browser's XMLHttpRequest capability.

To enable CORS on a container, you attach a CORS policy to the container. In the CORS policy, you configure rules that identify origins and the HTTP methods that can be executed on your container. The policy can contain up to 398,000 characters. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

To learn more about CORS, see Cross-Origin Resource Sharing (CORS) in AWS Elemental MediaStore.

" + }, + "PutLifecyclePolicy":{ + "name":"PutLifecyclePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLifecyclePolicyInput"}, + "output":{"shape":"PutLifecyclePolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Writes an object lifecycle policy to a container. If the container already has an object lifecycle policy, the service replaces the existing policy with the new policy. It takes up to 20 minutes for the change to take effect.

For information about how to construct an object lifecycle policy, see Components of an Object Lifecycle Policy.

" + }, + "PutMetricPolicy":{ + "name":"PutMetricPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutMetricPolicyInput"}, + "output":{"shape":"PutMetricPolicyOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

The metric policy that you want to add to the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes up to 20 minutes for the new policy to take effect.

" + }, + "StartAccessLogging":{ + "name":"StartAccessLogging", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAccessLoggingInput"}, + "output":{"shape":"StartAccessLoggingOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Starts access logging on the specified container. When you enable access logging on a container, MediaStore delivers access logs for objects stored in that container to Amazon CloudWatch Logs.

" + }, + "StopAccessLogging":{ + "name":"StopAccessLogging", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAccessLoggingInput"}, + "output":{"shape":"StopAccessLoggingOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Stops access logging on the specified container. When you stop access logging on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. These access logs are not saved and are not retrievable.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Adds tags to the specified AWS Elemental MediaStore container. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ContainerInUseException"}, + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Removes tags from the specified container. You can specify one or more tags to remove.

" + } + }, + "shapes":{ + "AllowedHeaders":{ + "type":"list", + "member":{"shape":"Header"}, + "max":100, + "min":0 + }, + "AllowedMethods":{ + "type":"list", + "member":{"shape":"MethodName"}, + "max":4, + "min":1 + }, + "AllowedOrigins":{ + "type":"list", + "member":{"shape":"Origin"}, + "max":100, + "min":1 + }, + "Container":{ + "type":"structure", + "members":{ + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

The DNS endpoint of the container. Use the endpoint to identify the specific container when sending requests to the data plane. The service assigns this value when the container is created. Once the value has been assigned, it does not change.

" + }, + "CreationTime":{ + "shape":"TimeStamp", + "documentation":"

Unix timestamp.

" + }, + "ARN":{ + "shape":"ContainerARN", + "documentation":"

The Amazon Resource Name (ARN) of the container. The ARN has the following format:

arn:aws:<region>:<account that owns this container>:container/<name of container>

For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

" + }, + "Name":{ + "shape":"ContainerName", + "documentation":"

The name of the container.

" + }, + "Status":{ + "shape":"ContainerStatus", + "documentation":"

The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When the endpoint is available, the status changes to ACTIVE.

" + }, + "AccessLoggingEnabled":{ + "shape":"ContainerAccessLoggingEnabled", + "documentation":"

The state of access logging on the container. This value is false by default, indicating that AWS Elemental MediaStore does not send access logs to Amazon CloudWatch Logs. When you enable access logging on the container, MediaStore changes this value to true, indicating that the service delivers access logs for objects stored in that container to CloudWatch Logs.

" + } + }, + "documentation":"

This section describes operations that you can perform on an AWS Elemental MediaStore container.

" + }, + "ContainerARN":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:aws:mediastore:[a-z]+-[a-z]+-\\d:\\d{12}:container/[\\w-]{1,255}" + }, + "ContainerAccessLoggingEnabled":{"type":"boolean"}, + "ContainerInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The container that you specified in the request already exists or is being updated.

", + "exception":true + }, + "ContainerLevelMetrics":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "ContainerList":{ + "type":"list", + "member":{"shape":"Container"} + }, + "ContainerListLimit":{ + "type":"integer", + "max":100, + "min":1 + }, + "ContainerName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\w-]+" + }, + "ContainerNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The container that you specified in the request does not exist.

", + "exception":true + }, + "ContainerPolicy":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"[\\x00-\\x7F]+" + }, + "ContainerStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "CREATING", + "DELETING" + ], + "max":16, + "min":1 + }, + "CorsPolicy":{ + "type":"list", + "member":{"shape":"CorsRule"}, + "documentation":"

The CORS policy of the container.

", + "max":100, + "min":1 + }, + "CorsPolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The CORS policy that you specified in the request does not exist.

", + "exception":true + }, + "CorsRule":{ + "type":"structure", + "required":[ + "AllowedOrigins", + "AllowedHeaders" + ], + "members":{ + "AllowedOrigins":{ + "shape":"AllowedOrigins", + "documentation":"

One or more response headers that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

Each CORS rule must have at least one AllowedOrigins element. The string value can include only one wildcard character (*), for example, http://*.example.com. Additionally, you can specify only one wildcard character to allow cross-origin access for all origins.

" + }, + "AllowedMethods":{ + "shape":"AllowedMethods", + "documentation":"

Identifies an HTTP method that the origin that is specified in the rule is allowed to execute.

Each CORS rule must contain at least one AllowedMethods and one AllowedOrigins element.

" + }, + "AllowedHeaders":{ + "shape":"AllowedHeaders", + "documentation":"

Specifies which headers are allowed in a preflight OPTIONS request through the Access-Control-Request-Headers header. Each header name that is specified in Access-Control-Request-Headers must have a corresponding entry in the rule. Only the headers that were requested are sent back.

This element can contain only one wildcard character (*).

" + }, + "MaxAgeSeconds":{ + "shape":"MaxAgeSeconds", + "documentation":"

The time in seconds that your browser caches the preflight response for the specified resource.

A CORS rule can have only one MaxAgeSeconds element.

" + }, + "ExposeHeaders":{ + "shape":"ExposeHeaders", + "documentation":"

One or more headers in the response that you want users to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

This element is optional for each rule.

" + } + }, + "documentation":"

A rule for a CORS policy. You can add up to 100 rules to a CORS policy. If more than one rule applies, the service uses the first applicable rule listed.

" + }, + "CreateContainerInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named movies in every region, as long as you don’t have an existing container with that name.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of key:value pairs that you define. These values can be anything that you want. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

" + } + } + }, + "CreateContainerOutput":{ + "type":"structure", + "required":["Container"], + "members":{ + "Container":{ + "shape":"Container", + "documentation":"

ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:<region>:<account that owns this container>:container/<name of container>. For example: arn:aws:mediastore:us-west-2:111122223333:container/movies

ContainerName: The container name as specified in the request.

CreationTime: Unix time stamp.

Status: The status of container creation or deletion. The status is one of the following: CREATING, ACTIVE, or DELETING. While the service is creating the container, the status is CREATING. When an endpoint is available, the status changes to ACTIVE.

The return value does not include the container's endpoint. To make downstream requests, you must obtain this value by using DescribeContainer or ListContainers.

" + } + } + }, + "DeleteContainerInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container to delete.

" + } + } + }, + "DeleteContainerOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteContainerPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that holds the policy.

" + } + } + }, + "DeleteContainerPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteCorsPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container to remove the policy from.

" + } + } + }, + "DeleteCorsPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteLifecyclePolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that holds the object lifecycle policy.

" + } + } + }, + "DeleteLifecyclePolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteMetricPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that is associated with the metric policy that you want to delete.

" + } + } + }, + "DeleteMetricPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeContainerInput":{ + "type":"structure", + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container to query.

" + } + } + }, + "DescribeContainerOutput":{ + "type":"structure", + "members":{ + "Container":{ + "shape":"Container", + "documentation":"

The name of the queried container.

" + } + } + }, + "Endpoint":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "ErrorMessage":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[ \\w:\\.\\?-]+" + }, + "ExposeHeaders":{ + "type":"list", + "member":{"shape":"Header"}, + "max":100, + "min":0 + }, + "GetContainerPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container.

" + } + } + }, + "GetContainerPolicyOutput":{ + "type":"structure", + "required":["Policy"], + "members":{ + "Policy":{ + "shape":"ContainerPolicy", + "documentation":"

The contents of the access policy.

" + } + } + }, + "GetCorsPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that the policy is assigned to.

" + } + } + }, + "GetCorsPolicyOutput":{ + "type":"structure", + "required":["CorsPolicy"], + "members":{ + "CorsPolicy":{ + "shape":"CorsPolicy", + "documentation":"

The CORS policy assigned to the container.

" + } + } + }, + "GetLifecyclePolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that the object lifecycle policy is assigned to.

" + } + } + }, + "GetLifecyclePolicyOutput":{ + "type":"structure", + "required":["LifecyclePolicy"], + "members":{ + "LifecyclePolicy":{ + "shape":"LifecyclePolicy", + "documentation":"

The object lifecycle policy that is assigned to the container.

" + } + } + }, + "GetMetricPolicyInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that is associated with the metric policy.

" + } + } + }, + "GetMetricPolicyOutput":{ + "type":"structure", + "required":["MetricPolicy"], + "members":{ + "MetricPolicy":{ + "shape":"MetricPolicy", + "documentation":"

The metric policy that is associated with the specific container.

" + } + } + }, + "Header":{ + "type":"string", + "max":8192, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service is temporarily unavailable.

", + "exception":true, + "fault":true + }, + "LifecyclePolicy":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A service limit has been exceeded.

", + "exception":true + }, + "ListContainersInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Only if you used MaxResults in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list.

" + }, + "MaxResults":{ + "shape":"ContainerListLimit", + "documentation":"

Enter the maximum number of containers in the response. Use from 1 to 255 characters.

" + } + } + }, + "ListContainersOutput":{ + "type":"structure", + "required":["Containers"], + "members":{ + "Containers":{ + "shape":"ContainerList", + "documentation":"

The names of the containers.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

NextToken is the token to use in the next call to ListContainers. This token is returned only if you included the MaxResults tag in the original command, and only if there are still containers to return.

" + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"ContainerARN", + "documentation":"

The Amazon Resource Name (ARN) for the container.

" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

An array of key:value pairs that are assigned to the container.

" + } + } + }, + "MaxAgeSeconds":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "MethodName":{ + "type":"string", + "enum":[ + "PUT", + "GET", + "DELETE", + "HEAD" + ] + }, + "MetricPolicy":{ + "type":"structure", + "required":["ContainerLevelMetrics"], + "members":{ + "ContainerLevelMetrics":{ + "shape":"ContainerLevelMetrics", + "documentation":"

A setting to enable or disable metrics at the container level.

" + }, + "MetricPolicyRules":{ + "shape":"MetricPolicyRules", + "documentation":"

A parameter that holds an array of rules that enable metrics at the object level. This parameter is optional, but if you choose to include it, you must also include at least one rule. By default, you can include up to five rules. You can also request a quota increase to allow up to 300 rules per policy.

" + } + }, + "documentation":"

The metric policy that is associated with the container. A metric policy allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include rules to define groups of objects that you want MediaStore to send object-level metrics for.

To view examples of how to construct a metric policy for your use case, see Example Metric Policies.

" + }, + "MetricPolicyRule":{ + "type":"structure", + "required":[ + "ObjectGroup", + "ObjectGroupName" + ], + "members":{ + "ObjectGroup":{ + "shape":"ObjectGroup", + "documentation":"

A path or file name that defines which objects to include in the group. Wildcards (*) are acceptable.

" + }, + "ObjectGroupName":{ + "shape":"ObjectGroupName", + "documentation":"

A name that allows you to refer to the object group.

" + } + }, + "documentation":"

A setting that enables metrics at the object level. Each rule contains an object group and an object group name. If the policy includes the MetricPolicyRules parameter, you must include at least one rule. Each metric policy can include up to five rules by default. You can also request a quota increase to allow up to 300 rules per policy.

" + }, + "MetricPolicyRules":{ + "type":"list", + "member":{"shape":"MetricPolicyRule"}, + "max":300, + "min":1 + }, + "ObjectGroup":{ + "type":"string", + "max":900, + "min":1, + "pattern":"/?(?:[A-Za-z0-9_=:\\.\\-\\~\\*]+/){0,10}(?:[A-Za-z0-9_=:\\.\\-\\~\\*]+)?/?" + }, + "ObjectGroupName":{ + "type":"string", + "max":30, + "min":1, + "pattern":"[a-zA-Z0-9_]+" + }, + "Origin":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" + }, + "PaginationToken":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[0-9A-Za-z=/+]+" + }, + "PolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The policy that you specified in the request does not exist.

", + "exception":true + }, + "PutContainerPolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "Policy" + ], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container.

" + }, + "Policy":{ + "shape":"ContainerPolicy", + "documentation":"

The contents of the policy, which includes the following:

  • One Version tag

  • One Statement tag that contains the standard tags for the policy.

" + } + } + }, + "PutContainerPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "PutCorsPolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "CorsPolicy" + ], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to assign the CORS policy to.

" + }, + "CorsPolicy":{ + "shape":"CorsPolicy", + "documentation":"

The CORS policy to apply to the container.

" + } + } + }, + "PutCorsPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "PutLifecyclePolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "LifecyclePolicy" + ], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to assign the object lifecycle policy to.

" + }, + "LifecyclePolicy":{ + "shape":"LifecyclePolicy", + "documentation":"

The object lifecycle policy to apply to the container.

" + } + } + }, + "PutLifecyclePolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "PutMetricPolicyInput":{ + "type":"structure", + "required":[ + "ContainerName", + "MetricPolicy" + ], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to add the metric policy to.

" + }, + "MetricPolicy":{ + "shape":"MetricPolicy", + "documentation":"

The metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:

  • An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can't have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.

  • An object group name that allows you to refer to the object group. The name can't have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore).

" + } + } + }, + "PutMetricPolicyOutput":{ + "type":"structure", + "members":{ + } + }, + "StartAccessLoggingInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to start access logging on.

" + } + } + }, + "StartAccessLoggingOutput":{ + "type":"structure", + "members":{ + } + }, + "StopAccessLoggingInput":{ + "type":"structure", + "required":["ContainerName"], + "members":{ + "ContainerName":{ + "shape":"ContainerName", + "documentation":"

The name of the container that you want to stop access logging on.

" + } + } + }, + "StopAccessLoggingOutput":{ + "type":"structure", + "members":{ + } + }, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as \"customer.\" Tag keys are case-sensitive.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as \"companyA\" or \"companyB.\" Tag values are case-sensitive.

" + } + }, + "documentation":"

A collection of tags associated with a container. Each tag consists of a key:value pair, which can be anything you define. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "Resource", + "Tags" + ], + "members":{ + "Resource":{ + "shape":"ContainerARN", + "documentation":"

The Amazon Resource Name (ARN) for the container.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

An array of key:value pairs that you want to add to the container. You need to specify only the tags that you want to add or update. For example, suppose a container already has two tags (customer:CompanyA and priority:High). You want to change the priority tag and also add a third tag (type:Contract). For TagResource, you specify the following tags: priority:Medium, type:Contract. The result is that your container has three tags: customer:CompanyA, priority:Medium, and type:Contract.

" + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" + }, + "TimeStamp":{"type":"timestamp"}, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "Resource", + "TagKeys" + ], + "members":{ + "Resource":{ + "shape":"ContainerARN", + "documentation":"

The Amazon Resource Name (ARN) for the container.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

A comma-separated list of keys for tags that you want to remove from the container. For example, if your container has two tags (customer:CompanyA and priority:High) and you want to remove one of the tags (priority:High), you specify the key for the tag that you want to remove (priority).

" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + } + }, + "documentation":"

An AWS Elemental MediaStore container is a namespace that holds folders and objects. You use a container endpoint to create, read, and delete objects.

" +} diff -Nru python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/examples-1.json --- python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListItems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/service-2.json python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/service-2.json --- python-botocore-1.4.70/botocore/data/mediastore-data/2017-09-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediastore-data/2017-09-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,480 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-09-01", + "endpointPrefix":"data.mediastore", + "protocol":"rest-json", + "serviceAbbreviation":"MediaStore Data", + "serviceFullName":"AWS Elemental MediaStore Data Plane", + "serviceId":"MediaStore Data", + "signatureVersion":"v4", + "signingName":"mediastore", + "uid":"mediastore-data-2017-09-01" + }, + "operations":{ + "DeleteObject":{ + "name":"DeleteObject", + "http":{ + "method":"DELETE", + "requestUri":"/{Path+}" + }, + "input":{"shape":"DeleteObjectRequest"}, + "output":{"shape":"DeleteObjectResponse"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Deletes an object at the specified path.

" + }, + "DescribeObject":{ + "name":"DescribeObject", + "http":{ + "method":"HEAD", + "requestUri":"/{Path+}" + }, + "input":{"shape":"DescribeObjectRequest"}, + "output":{"shape":"DescribeObjectResponse"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Gets the headers for an object at the specified path.

" + }, + "GetObject":{ + "name":"GetObject", + "http":{ + "method":"GET", + "requestUri":"/{Path+}" + }, + "input":{"shape":"GetObjectRequest"}, + "output":{"shape":"GetObjectResponse"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"ObjectNotFoundException"}, + {"shape":"RequestedRangeNotSatisfiableException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Downloads the object at the specified path. If the object’s upload availability is set to streaming, AWS Elemental MediaStore downloads the object even if it’s still uploading the object.

" + }, + "ListItems":{ + "name":"ListItems", + "http":{ + "method":"GET", + "requestUri":"/" + }, + "input":{"shape":"ListItemsRequest"}, + "output":{"shape":"ListItemsResponse"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Provides a list of metadata entries about folders and objects in the specified folder.

" + }, + "PutObject":{ + "name":"PutObject", + "http":{ + "method":"PUT", + "requestUri":"/{Path+}" + }, + "input":{"shape":"PutObjectRequest"}, + "output":{"shape":"PutObjectResponse"}, + "errors":[ + {"shape":"ContainerNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

Uploads an object to the specified path. Object sizes are limited to 25 MB for standard upload availability and 10 MB for streaming upload availability.

", + "authtype":"v4-unsigned-body" + } + }, + "shapes":{ + "ContainerNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified container was not found for the specified account.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ContentRangePattern":{ + "type":"string", + "pattern":"^bytes=\\d+\\-\\d+/\\d+$" + }, + "ContentType":{ + "type":"string", + "pattern":"^[\\w\\-\\/\\.\\+]{1,255}$" + }, + "DeleteObjectRequest":{ + "type":"structure", + "required":["Path"], + "members":{ + "Path":{ + "shape":"PathNaming", + "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

", + "location":"uri", + "locationName":"Path" + } + } + }, + "DeleteObjectResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeObjectRequest":{ + "type":"structure", + "required":["Path"], + "members":{ + "Path":{ + "shape":"PathNaming", + "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

", + "location":"uri", + "locationName":"Path" + } + } + }, + "DescribeObjectResponse":{ + "type":"structure", + "members":{ + "ETag":{ + "shape":"ETag", + "documentation":"

The ETag that represents a unique instance of the object.

", + "location":"header", + "locationName":"ETag" + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the object.

", + "location":"header", + "locationName":"Content-Type" + }, + "ContentLength":{ + "shape":"NonNegativeLong", + "documentation":"

The length of the object in bytes.

", + "location":"header", + "locationName":"Content-Length" + }, + "CacheControl":{ + "shape":"StringPrimitive", + "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", + "location":"header", + "locationName":"Cache-Control" + }, + "LastModified":{ + "shape":"TimeStamp", + "documentation":"

The date and time that the object was last modified.

", + "location":"header", + "locationName":"Last-Modified" + } + } + }, + "ETag":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9A-Fa-f]+" + }, + "ErrorMessage":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[ \\w:\\.\\?-]+" + }, + "GetObjectRequest":{ + "type":"structure", + "required":["Path"], + "members":{ + "Path":{ + "shape":"PathNaming", + "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

For example, to upload the file mlaw.avi to the folder path premium\\canada in the container movies, enter the path premium/canada/mlaw.avi.

Do not include the container name in this path.

If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder.

There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore.

For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide.

The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension.

", + "location":"uri", + "locationName":"Path" + }, + "Range":{ + "shape":"RangePattern", + "documentation":"

The range bytes of an object to retrieve. For more information about the Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. AWS Elemental MediaStore ignores this header for partially uploaded objects that have streaming upload availability.

", + "location":"header", + "locationName":"Range" + } + } + }, + "GetObjectResponse":{ + "type":"structure", + "required":["StatusCode"], + "members":{ + "Body":{ + "shape":"PayloadBlob", + "documentation":"

The bytes of the object.

" + }, + "CacheControl":{ + "shape":"StringPrimitive", + "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP spec at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", + "location":"header", + "locationName":"Cache-Control" + }, + "ContentRange":{ + "shape":"ContentRangePattern", + "documentation":"

The range of bytes to retrieve.

", + "location":"header", + "locationName":"Content-Range" + }, + "ContentLength":{ + "shape":"NonNegativeLong", + "documentation":"

The length of the object in bytes.

", + "location":"header", + "locationName":"Content-Length" + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the object.

", + "location":"header", + "locationName":"Content-Type" + }, + "ETag":{ + "shape":"ETag", + "documentation":"

The ETag that represents a unique instance of the object.

", + "location":"header", + "locationName":"ETag" + }, + "LastModified":{ + "shape":"TimeStamp", + "documentation":"

The date and time that the object was last modified.

", + "location":"header", + "locationName":"Last-Modified" + }, + "StatusCode":{ + "shape":"statusCode", + "documentation":"

The HTML status code of the request. Status codes ranging from 200 to 299 indicate success. All other status codes indicate the type of error that occurred.

", + "location":"statusCode" + } + }, + "payload":"Body" + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service is temporarily unavailable.

", + "exception":true, + "fault":true + }, + "Item":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ItemName", + "documentation":"

The name of the item.

" + }, + "Type":{ + "shape":"ItemType", + "documentation":"

The item type (folder or object).

" + }, + "ETag":{ + "shape":"ETag", + "documentation":"

The ETag that represents a unique instance of the item.

" + }, + "LastModified":{ + "shape":"TimeStamp", + "documentation":"

The date and time that the item was last modified.

" + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the item.

" + }, + "ContentLength":{ + "shape":"NonNegativeLong", + "documentation":"

The length of the item in bytes.

" + } + }, + "documentation":"

A metadata entry for a folder or object.

" + }, + "ItemList":{ + "type":"list", + "member":{"shape":"Item"} + }, + "ItemName":{ + "type":"string", + "pattern":"[A-Za-z0-9_\\.\\-\\~]+" + }, + "ItemType":{ + "type":"string", + "enum":[ + "OBJECT", + "FOLDER" + ] + }, + "ListItemsRequest":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"ListPathNaming", + "documentation":"

The path in the container from which to retrieve items. Format: <folder name>/<folder name>/<file name>

", + "location":"querystring", + "locationName":"Path" + }, + "MaxResults":{ + "shape":"ListLimit", + "documentation":"

The maximum number of results to return per API request. For example, you submit a ListItems request with MaxResults set at 500. Although 2,000 items match your request, the service returns no more than the first 500 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value.

If MaxResults is not included in the request, the service defaults to pagination with a maximum of 1,000 results per page.

", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token that identifies which batch of results that you want to see. For example, you submit a ListItems request with MaxResults set at 500. The service returns the first batch of results (up to 500) and a NextToken value. To see the next batch of results, you can submit the ListItems request a second time and specify the NextToken value.

Tokens expire after 15 minutes.

", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListItemsResponse":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"ItemList", + "documentation":"

The metadata entries for the folders and objects at the requested path.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

The token that can be used in a request to view the next set of results. For example, you submit a ListItems request that matches 2,000 items with MaxResults set at 500. The service returns the first batch of results (up to 500) and a NextToken value that can be used to fetch the next batch of results.

" + } + } + }, + "ListLimit":{ + "type":"integer", + "max":1000, + "min":1 + }, + "ListPathNaming":{ + "type":"string", + "max":900, + "min":0, + "pattern":"/?(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}(?:[A-Za-z0-9_\\.\\-\\~]+)?/?" + }, + "NonNegativeLong":{ + "type":"long", + "min":0 + }, + "ObjectNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Could not perform an operation on an object that does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "PaginationToken":{"type":"string"}, + "PathNaming":{ + "type":"string", + "max":900, + "min":1, + "pattern":"(?:[A-Za-z0-9_\\.\\-\\~]+/){0,10}[A-Za-z0-9_\\.\\-\\~]+" + }, + "PayloadBlob":{ + "type":"blob", + "streaming":true + }, + "PutObjectRequest":{ + "type":"structure", + "required":[ + "Body", + "Path" + ], + "members":{ + "Body":{ + "shape":"PayloadBlob", + "documentation":"

The bytes to be stored.

" + }, + "Path":{ + "shape":"PathNaming", + "documentation":"

The path (including the file name) where the object is stored in the container. Format: <folder name>/<folder name>/<file name>

For example, to upload the file mlaw.avi to the folder path premium\\canada in the container movies, enter the path premium/canada/mlaw.avi.

Do not include the container name in this path.

If the path includes any folders that don't exist yet, the service creates them. For example, suppose you have an existing premium/usa subfolder. If you specify premium/canada, the service creates a canada subfolder in the premium folder. You then have two subfolders, usa and canada, in the premium folder.

There is no correlation between the path to the source and the path (folders) in the container in AWS Elemental MediaStore.

For more information about folders and how they exist in a container, see the AWS Elemental MediaStore User Guide.

The file name is the name that is assigned to the file that you upload. The file can have the same name inside and outside of AWS Elemental MediaStore, or it can have the same name. The file name can include or omit an extension.

", + "location":"uri", + "locationName":"Path" + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

The content type of the object.

", + "location":"header", + "locationName":"Content-Type" + }, + "CacheControl":{ + "shape":"StringPrimitive", + "documentation":"

An optional CacheControl header that allows the caller to control the object's cache behavior. Headers can be passed in as specified in the HTTP at https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

Headers with a custom user-defined value are also accepted.

", + "location":"header", + "locationName":"Cache-Control" + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

Indicates the storage class of a Put request. Defaults to high-performance temporal storage class, and objects are persisted into durable storage shortly after being received.

", + "location":"header", + "locationName":"x-amz-storage-class" + }, + "UploadAvailability":{ + "shape":"UploadAvailability", + "documentation":"

Indicates the availability of an object while it is still uploading. If the value is set to streaming, the object is available for downloading after some initial buffering but before the object is uploaded completely. If the value is set to standard, the object is available for downloading only when it is uploaded completely. The default value for this header is standard.

To use this header, you must also set the HTTP Transfer-Encoding header to chunked.

", + "location":"header", + "locationName":"x-amz-upload-availability" + } + }, + "payload":"Body" + }, + "PutObjectResponse":{ + "type":"structure", + "members":{ + "ContentSHA256":{ + "shape":"SHA256Hash", + "documentation":"

The SHA256 digest of the object that is persisted.

" + }, + "ETag":{ + "shape":"ETag", + "documentation":"

Unique identifier of the object in the container.

" + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

The storage class where the object was persisted. The class should be “Temporal”.

" + } + } + }, + "RangePattern":{ + "type":"string", + "pattern":"^bytes=(?:\\d+\\-\\d*|\\d*\\-\\d+)$" + }, + "RequestedRangeNotSatisfiableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The requested content range is not valid.

", + "error":{"httpStatusCode":416}, + "exception":true + }, + "SHA256Hash":{ + "type":"string", + "max":64, + "min":64, + "pattern":"[0-9A-Fa-f]{64}" + }, + "StorageClass":{ + "type":"string", + "enum":["TEMPORAL"], + "max":16, + "min":1 + }, + "StringPrimitive":{"type":"string"}, + "TimeStamp":{"type":"timestamp"}, + "UploadAvailability":{ + "type":"string", + "enum":[ + "STANDARD", + "STREAMING" + ], + "max":16, + "min":1 + }, + "statusCode":{"type":"integer"} + }, + "documentation":"

An AWS Elemental MediaStore asset is an object, similar to an object in the Amazon S3 service. Objects are the fundamental entities that are stored in AWS Elemental MediaStore.

" +} diff -Nru python-botocore-1.4.70/botocore/data/mediatailor/2018-04-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mediatailor/2018-04-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/mediatailor/2018-04-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediatailor/2018-04-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListPlaybackConfigurations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Items" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mediatailor/2018-04-23/service-2.json python-botocore-1.16.19+repack/botocore/data/mediatailor/2018-04-23/service-2.json --- python-botocore-1.4.70/botocore/data/mediatailor/2018-04-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mediatailor/2018-04-23/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,699 @@ +{ + "documentation": "

Use the AWS Elemental MediaTailor SDK to configure scalable ad insertion for your live and VOD content. With AWS Elemental MediaTailor, you can serve targeted ads to viewers while maintaining broadcast quality in over-the-top (OTT) video applications. For information about using the service, including detailed information about the settings covered in this guide, see the AWS Elemental MediaTailor User Guide.

Through the SDK, you manage AWS Elemental MediaTailor configurations the same as you do through the console. For example, you specify ad insertion behavior and mapping information for the origin server and the ad decision server (ADS).

", + "metadata": { + "apiVersion": "2018-04-23", + "endpointPrefix": "api.mediatailor", + "jsonVersion": "1.1", + "protocol": "rest-json", + "serviceAbbreviation": "MediaTailor", + "serviceFullName": "AWS MediaTailor", + "serviceId": "MediaTailor", + "signatureVersion": "v4", + "signingName": "mediatailor", + "uid": "mediatailor-2018-04-23" + }, + "operations": { + "DeletePlaybackConfiguration": { + "documentation": "

Deletes the playback configuration for the specified name.

", + "errors": [], + "http": { + "method": "DELETE", + "requestUri": "/playbackConfiguration/{Name}", + "responseCode": 204 + }, + "input": { + "shape": "DeletePlaybackConfigurationRequest" + }, + "name": "DeletePlaybackConfiguration", + "output": { + "documentation": "

The request was successful and there is no content in the response.

", + "shape": "DeletePlaybackConfigurationResponse" + } + }, + "GetPlaybackConfiguration": { + "documentation": "

Returns the playback configuration for the specified name.

", + "errors": [], + "http": { + "method": "GET", + "requestUri": "/playbackConfiguration/{Name}", + "responseCode": 200 + }, + "input": { + "shape": "GetPlaybackConfigurationRequest" + }, + "name": "GetPlaybackConfiguration", + "output": { + "documentation": "

Success.

", + "shape": "GetPlaybackConfigurationResponse" + } + }, + "ListPlaybackConfigurations": { + "documentation": "

Returns a list of the playback configurations defined in AWS Elemental MediaTailor. You can specify a maximum number of configurations to return at a time. The default maximum is 50. Results are returned in pagefuls. If MediaTailor has more configurations than the specified maximum, it provides parameters in the response that you can use to retrieve the next pageful.

", + "errors": [], + "http": { + "method": "GET", + "requestUri": "/playbackConfigurations", + "responseCode": 200 + }, + "input": { + "shape": "ListPlaybackConfigurationsRequest" + }, + "name": "ListPlaybackConfigurations", + "output": { + "documentation": "

Success.

", + "shape": "ListPlaybackConfigurationsResponse" + } + }, + "ListTagsForResource": { + "documentation": "

Returns a list of the tags assigned to the specified playback configuration resource.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "GET", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "name": "ListTagsForResource", + "output": { + "documentation": "

Success.

", + "shape": "ListTagsForResourceResponse" + } + }, + "PutPlaybackConfiguration": { + "documentation": "

Adds a new playback configuration to AWS Elemental MediaTailor.

", + "errors": [], + "http": { + "method": "PUT", + "requestUri": "/playbackConfiguration", + "responseCode": 200 + }, + "input": { + "shape": "PutPlaybackConfigurationRequest" + }, + "name": "PutPlaybackConfiguration", + "output": { + "documentation": "

Success.

", + "shape": "PutPlaybackConfigurationResponse" + } + }, + "TagResource": { + "documentation": "

Adds tags to the specified playback configuration resource. You can specify one or more tags to add.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "POST", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "name": "TagResource" + }, + "UntagResource": { + "documentation": "

Removes tags from the specified playback configuration resource. You can specify one or more tags to remove.

", + "errors": [ + { + "documentation": "

Invalid request parameters.

", + "shape": "BadRequestException" + } + ], + "http": { + "method": "DELETE", + "requestUri": "/tags/{ResourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "name": "UntagResource" + } + }, + "shapes": { + "AvailSuppression" : { + "type" : "structure", + "documentation" : "

The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

", + "members" : { + "Mode" : { + "documentation" : "Sets the mode for avail suppression, also known as ad suppression. By default, ad suppression is off and all ad breaks are filled by MediaTailor with ads or slate.", + "shape" : "Mode" + }, + "Value" : { + "documentation" : "The avail suppression value is a live edge offset time in HH:MM:SS. MediaTailor won't fill ad breaks on or behind this time in the manifest lookback window. ", + "shape" : "__string" + } + } + }, + "BadRequestException": { + "documentation": "

Invalid request parameters.

", + "error": { + "httpStatusCode": 400 + }, + "exception": true, + "members": { + "Message": { + "shape": "__string" + } + }, + "type": "structure" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "members": { + "AdSegmentUrlPrefix": { + "documentation": "

A non-default content delivery network (CDN) to serve ad segments. By default, AWS Elemental MediaTailor uses Amazon CloudFront with default cache settings as its CDN for ad segments. To set up an alternate CDN, create a rule in your CDN for the following origin: ads.mediatailor.<region>.amazonaws.com. Then specify the rule's name in this AdSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for ad segments.

", + "shape": "__string" + }, + "ContentSegmentUrlPrefix": { + "documentation": "

A content delivery network (CDN) to cache content segments, so that content requests don’t always have to go to the origin server. First, create a rule in your CDN for the content segment origin server. Then specify the rule's name in this ContentSegmentUrlPrefix. When AWS Elemental MediaTailor serves a manifest, it reports your CDN as the source for content segments.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "members": { + "ManifestEndpointPrefix": { + "documentation": "

The URL generated by MediaTailor to initiate a playback session. The session uses server-side reporting. This setting is ignored in PUT operations.

", + "shape": "__string" + }, + "MpdLocation": { + "documentation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "shape": "__string" + }, + "OriginManifestType": { + "documentation": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", + "shape": "OriginManifestType" + } + }, + "type": "structure" + }, + "DashConfigurationForPut": { + "documentation": "

The configuration for DASH PUT operations.

", + "members": { + "MpdLocation": { + "documentation": "

The setting that controls whether MediaTailor includes the Location tag in DASH manifests. MediaTailor populates the Location tag with the URL for manifest update requests, to be used by players that don't support sticky redirects. Disable this if you have CDN routing rules set up for accessing MediaTailor manifests, and you are either using client-side reporting or your players support sticky HTTP redirects. Valid values are DISABLED and EMT_DEFAULT. The EMT_DEFAULT setting enables the inclusion of the tag and is the default value.

", + "shape": "__string" + }, + "OriginManifestType": { + "documentation": "

The setting that controls whether MediaTailor handles manifests from the origin server as multi-period manifests or single-period manifests. If your origin server produces single-period manifests, set this to SINGLE_PERIOD. The default setting is MULTI_PERIOD. For multi-period manifests, omit this setting or set it to MULTI_PERIOD.

", + "shape": "OriginManifestType" + } + }, + "type": "structure" + }, + "DeletePlaybackConfigurationRequest": { + "members": { + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "location": "uri", + "locationName": "Name", + "shape": "__string" + } + }, + "required": [ + "Name" + ], + "type": "structure" + }, + "DeletePlaybackConfigurationResponse": { + "members": {}, + "type": "structure" + }, + "Empty": { + "members": {}, + "type": "structure" + }, + "GetPlaybackConfigurationRequest": { + "members": { + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "location": "uri", + "locationName": "Name", + "shape": "__string" + } + }, + "required": [ + "Name" + ], + "type": "structure" + }, + "GetPlaybackConfigurationResponse": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "AvailSuppression" : { + "shape" : "AvailSuppression", + "documentation": "

The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "LivePreRollConfiguration" : { + "shape" : "LivePreRollConfiguration", + "documentation" : "

The configuration for pre-roll ad insertion.

" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PersonalizationThresholdSeconds" : { + "documentation": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", + "shape" : "__integerMin1" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "members": { + "ManifestEndpointPrefix": { + "documentation": "

The URL that is used to initiate a playback session for devices that support Apple HLS. The session uses server-side reporting.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPlaybackConfigurationsRequest": { + "members": { + "MaxResults": { + "documentation": "

Maximum number of records to return.

", + "location": "querystring", + "locationName": "MaxResults", + "shape": "__integerMin1Max100" + }, + "NextToken": { + "documentation": "

Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

", + "location": "querystring", + "locationName": "NextToken", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListPlaybackConfigurationsResponse": { + "members": { + "Items": { + "documentation": "

Array of playback configurations. This might be all the available configurations or a subset, depending on the settings that you provide and the total number of configurations stored.

", + "shape": "__listOfPlaybackConfigurations" + }, + "NextToken": { + "documentation": "

Pagination token returned by the GET list request when results exceed the maximum allowed. Use the token to fetch the next page of results.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "type": "structure" + }, + "OriginManifestType": { + "enum": [ + "SINGLE_PERIOD", + "MULTI_PERIOD" + ], + "type": "string" + }, + "Mode": { + "enum": [ + "OFF", + "BEHIND_LIVE_EDGE" + ], + "type": "string" + }, + "PlaybackConfiguration": { + "documentation": "

The AWSMediaTailor configuration.

", + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "AvailSuppression":{ + "documentation": "

The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

", + "shape": "AvailSuppression" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "PersonalizationThresholdSeconds" : { + "documentation": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", + "shape" : "__integerMin1" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "LivePreRollConfiguration" : { + "type" : "structure", + "members" : { + "AdDecisionServerUrl" : { + "shape" : "__string", + "documentation" : "

The URL for the ad decision server (ADS) for pre-roll ads. This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

" + }, + "MaxDurationSeconds" : { + "shape" : "__integer", + "documentation" : "The maximum allowed duration for the pre-roll ad avail. AWS Elemental MediaTailor won't play pre-roll ads to exceed this duration, regardless of the total duration of ads that the ADS returns." + } + }, + "documentation" : "

The configuration for pre-roll ad insertion.

" + }, + "PutPlaybackConfigurationRequest": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "AvailSuppression" : { + "shape" : "AvailSuppression", + "documentation": "

The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfigurationForPut" + }, + "LivePreRollConfiguration" : { + "shape" : "LivePreRollConfiguration", + "documentation" : "

The configuration for pre-roll ad insertion.

" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PersonalizationThresholdSeconds" : { + "documentation": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", + "shape" : "__integerMin1" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID configurations. For VPAID, the slate is required because MediaTailor provides it in the slots that are designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags to assign to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "PutPlaybackConfigurationResponse": { + "members": { + "AdDecisionServerUrl": { + "documentation": "

The URL for the ad decision server (ADS). This includes the specification of static parameters and placeholders for dynamic parameters. AWS Elemental MediaTailor substitutes player-specific and session-specific parameters as needed when calling the ADS. Alternately, for testing, you can provide a static VAST URL. The maximum length is 25,000 characters.

", + "shape": "__string" + }, + "AvailSuppression" : { + "shape" : "AvailSuppression", + "documentation": "

The configuration for Avail Suppression. Ad suppression can be used to turn off ad personalization in a long manifest, or if a viewer joins mid-break.

" + }, + "CdnConfiguration": { + "documentation": "

The configuration for using a content delivery network (CDN), like Amazon CloudFront, for content and ad segment management.

", + "shape": "CdnConfiguration" + }, + "DashConfiguration": { + "documentation": "

The configuration for DASH content.

", + "shape": "DashConfiguration" + }, + "HlsConfiguration": { + "documentation": "

The configuration for HLS content.

", + "shape": "HlsConfiguration" + }, + "LivePreRollConfiguration" : { + "shape" : "LivePreRollConfiguration", + "documentation" : "

The configuration for pre-roll ad insertion.

" + }, + "Name": { + "documentation": "

The identifier for the playback configuration.

", + "shape": "__string" + }, + "PersonalizationThresholdSeconds" : { + "documentation": "

The maximum duration of underfilled ad time (in seconds) allowed in an ad break.

", + "shape" : "__integerMin1" + }, + "PlaybackConfigurationArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration.

", + "shape": "__string" + }, + "PlaybackEndpointPrefix": { + "documentation": "

The URL that the player accesses to get a manifest from AWS Elemental MediaTailor. This session will use server-side reporting.

", + "shape": "__string" + }, + "SessionInitializationEndpointPrefix": { + "documentation": "

The URL that the player uses to initialize a session that uses client-side reporting.

", + "shape": "__string" + }, + "SlateAdUrl": { + "documentation": "

The URL for a high-quality video asset to transcode and use to fill in time that's not used by ads. AWS Elemental MediaTailor shows the slate to fill in gaps in media content. Configuring the slate is optional for non-VPAID playback configurations. For VPAID, the slate is required because MediaTailor provides it in the slots designated for dynamic ad content. The slate must be a high-quality asset that contains both audio and video.

", + "shape": "__string" + }, + "Tags": { + "documentation": "

The tags assigned to the playback configuration.

", + "locationName": "tags", + "shape": "__mapOf__string" + }, + "TranscodeProfileName": { + "documentation": "

The name that is used to associate this playback configuration with a custom transcode profile. This overrides the dynamic transcoding defaults of MediaTailor. Use this only if you have already set up custom profiles with the help of AWS Support.

", + "shape": "__string" + }, + "VideoContentSourceUrl": { + "documentation": "

The URL prefix for the master playlist for the stream, minus the asset ID. The maximum length is 512 characters.

", + "shape": "__string" + } + }, + "type": "structure" + }, + "TagResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + }, + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "ResourceArn", + "Tags" + ], + "type": "structure" + }, + "TagsModel": { + "documentation": "

A set of tags assigned to a resource.

", + "members": { + "Tags": { + "documentation": "

A comma-separated list of tag key:value pairs. For example: \n {\n \"Key1\": \"Value1\",\n \"Key2\": \"Value2\"\n }\n

", + "locationName": "tags", + "shape": "__mapOf__string" + } + }, + "required": [ + "Tags" + ], + "type": "structure" + }, + "UntagResourceRequest": { + "members": { + "ResourceArn": { + "documentation": "

The Amazon Resource Name (ARN) for the playback configuration. You can get this from the response to any playback configuration request.

", + "location": "uri", + "locationName": "ResourceArn", + "shape": "__string" + }, + "TagKeys": { + "documentation": "

A comma-separated list of the tag keys to remove from the playback configuration.

", + "location": "querystring", + "locationName": "tagKeys", + "shape": "__listOf__string" + } + }, + "required": [ + "ResourceArn", + "TagKeys" + ], + "type": "structure" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin1": { + "type": "integer", + "min": 1 + }, + "__integerMin1Max100": { + "max": 100, + "min": 1, + "type": "integer" + }, + "__listOfPlaybackConfigurations": { + "member": { + "shape": "PlaybackConfiguration" + }, + "type": "list" + }, + "__listOf__string": { + "member": { + "shape": "__string" + }, + "type": "list" + }, + "__long": { + "type": "long" + }, + "__mapOf__string": { + "key": { + "shape": "__string" + }, + "type": "map", + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "timestampFormat": "iso8601", + "type": "timestamp" + }, + "__timestampUnix": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/examples-1.json python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/examples-1.json --- python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/service-2.json python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/service-2.json --- python-botocore-1.4.70/botocore/data/meteringmarketplace/2016-01-14/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/meteringmarketplace/2016-01-14/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,11 +6,32 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWSMarketplace Metering", + "serviceId":"Marketplace Metering", "signatureVersion":"v4", "signingName":"aws-marketplace", - "targetPrefix":"AWSMPMeteringService" + "targetPrefix":"AWSMPMeteringService", + "uid":"meteringmarketplace-2016-01-14" }, "operations":{ + "BatchMeterUsage":{ + "name":"BatchMeterUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchMeterUsageRequest"}, + "output":{"shape":"BatchMeterUsageResult"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidProductCodeException"}, + {"shape":"InvalidUsageDimensionException"}, + {"shape":"InvalidCustomerIdentifierException"}, + {"shape":"TimestampOutOfBoundsException"}, + {"shape":"ThrottlingException"}, + {"shape":"DisabledApiException"} + ], + "documentation":"

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to post metering records for a set of customers.

For identical requests, the API is idempotent; requests can be retried with the same records or a subset of the input records.

Every request to BatchMeterUsage is for one product. If you need to meter usage for multiple products, you must make multiple calls to BatchMeterUsage.

BatchMeterUsage can process up to 25 UsageRecords at a time.

" + }, "MeterUsage":{ "name":"MeterUsage", "http":{ @@ -26,19 +47,118 @@ {"shape":"InvalidEndpointRegionException"}, {"shape":"TimestampOutOfBoundsException"}, {"shape":"DuplicateRequestException"}, - {"shape":"ThrottlingException"} + {"shape":"ThrottlingException"}, + {"shape":"CustomerNotEntitledException"} + ], + "documentation":"

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

MeterUsage is authenticated on the buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS pod.

" + }, + "RegisterUsage":{ + "name":"RegisterUsage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterUsageRequest"}, + "output":{"shape":"RegisterUsageResult"}, + "errors":[ + {"shape":"InvalidProductCodeException"}, + {"shape":"InvalidRegionException"}, + {"shape":"InvalidPublicKeyVersionException"}, + {"shape":"PlatformNotSupportedException"}, + {"shape":"CustomerNotEntitledException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"DisabledApiException"} + ], + "documentation":"

Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you may choose to do so if you would like to receive usage data in your seller reports. The sections below explain the behavior of RegisterUsage. RegisterUsage performs two primary functions: metering and entitlement.

  • Entitlement: RegisterUsage allows you to verify that the customer running your paid software is subscribed to your product on AWS Marketplace, enabling you to guard against unauthorized use. Your container image that integrates with RegisterUsage is only required to guard against unauthorized use at container startup, as such a CustomerNotSubscribedException/PlatformNotSupportedException will only be thrown on the initial call to RegisterUsage. Subsequent calls from the same Amazon ECS task instance (e.g. task-id) or Amazon EKS pod will not throw a CustomerNotSubscribedException, even if the customer unsubscribes while the Amazon ECS task or Amazon EKS pod is still running.

  • Metering: RegisterUsage meters software use per ECS task, per hour, or per pod for Amazon EKS with usage prorated to the second. A minimum of 1 minute of usage applies to tasks that are short lived. For example, if a customer has a 10 node Amazon ECS or Amazon EKS cluster and a service configured as a Daemon Set, then Amazon ECS or Amazon EKS will launch a task on all 10 cluster nodes and the customer will be charged: (10 * hourly_rate). Metering for software use is automatically handled by the AWS Marketplace Metering Control Plane -- your software is not required to perform any metering specific actions, other than call RegisterUsage once for metering of software use to commence. The AWS Marketplace Metering Control Plane will also continue to bill customers for running ECS tasks and Amazon EKS pods, regardless of the customers subscription state, removing the need for your software to perform entitlement checks at runtime.

" + }, + "ResolveCustomer":{ + "name":"ResolveCustomer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResolveCustomerRequest"}, + "output":{"shape":"ResolveCustomerResult"}, + "errors":[ + {"shape":"InvalidTokenException"}, + {"shape":"ExpiredTokenException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"DisabledApiException"} ], - "documentation":"

API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

" + "documentation":"

ResolveCustomer is called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a registration token through their browser. The registration token is resolved through this API to obtain a CustomerIdentifier and product code.

" } }, "shapes":{ + "BatchMeterUsageRequest":{ + "type":"structure", + "required":[ + "UsageRecords", + "ProductCode" + ], + "members":{ + "UsageRecords":{ + "shape":"UsageRecordList", + "documentation":"

The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at a time.

" + }, + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

" + } + }, + "documentation":"

A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage within your application.

" + }, + "BatchMeterUsageResult":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"UsageRecordResultList", + "documentation":"

Contains all UsageRecords processed by BatchMeterUsage. These records were either honored by AWS Marketplace Metering Service or were invalid.

" + }, + "UnprocessedRecords":{ + "shape":"UsageRecordList", + "documentation":"

Contains all UsageRecords that were not processed by BatchMeterUsage. This is a list of UsageRecords. You can retry the failed request by making another BatchMeterUsage call with this list as input in the BatchMeterUsageRequest.

" + } + }, + "documentation":"

Contains the UsageRecords processed by BatchMeterUsage and any records that have failed due to transient error.

" + }, "Boolean":{"type":"boolean"}, + "CustomerIdentifier":{ + "type":"string", + "max":255, + "min":1 + }, + "CustomerNotEntitledException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

Exception thrown when the customer does not have a valid subscription for the product.

", + "exception":true + }, + "DisabledApiException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The API is disabled in the Region.

", + "exception":true + }, "DuplicateRequestException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

A metering record has already been emitted by the same EC2 instance for the given {usageDimension, timestamp} with a different usageQuantity.

", + "documentation":"

A metering record has already been emitted by the same EC2 instance, ECS task, or EKS pod for the given {usageDimension, timestamp} with a different usageQuantity.

", + "exception":true + }, + "ExpiredTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

The submitted registration token has expired. This can happen if the buyer's browser takes too long to redirect to your page, the buyer has resubmitted the registration token, or your application has held on to the registration token for too long. Your SaaS registration website should redeem this token as soon as it is submitted by the buyer's browser.

", "exception":true }, "InternalServiceErrorException":{ @@ -50,12 +170,20 @@ "exception":true, "fault":true }, + "InvalidCustomerIdentifierException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

You have metered usage for a CustomerIdentifier that does not exist.

", + "exception":true + }, "InvalidEndpointRegionException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

The endpoint being called is in a region different from your EC2 instance. The region of the Metering service endpoint and the region of the EC2 instance must match.

", + "documentation":"

The endpoint being called is in a AWS Region different from your EC2 instance, ECS task, or EKS pod. The Region of the Metering Service endpoint and the AWS Region of the resource must match.

", "exception":true }, "InvalidProductCodeException":{ @@ -66,6 +194,30 @@ "documentation":"

The product code passed does not match the product code used for publishing the product.

", "exception":true }, + "InvalidPublicKeyVersionException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

Public Key version is invalid.

", + "exception":true + }, + "InvalidRegionException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

RegisterUsage must be called in the same AWS Region the ECS task was launched in. This prevents a container from hardcoding a Region (e.g. withRegion(“us-east-1”) when calling RegisterUsage.

", + "exception":true + }, + "InvalidTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

Registration token is invalid.

", + "exception":true + }, "InvalidUsageDimensionException":{ "type":"structure", "members":{ @@ -79,9 +231,7 @@ "required":[ "ProductCode", "Timestamp", - "UsageDimension", - "UsageQuantity", - "DryRun" + "UsageDimension" ], "members":{ "ProductCode":{ @@ -90,40 +240,118 @@ }, "Timestamp":{ "shape":"Timestamp", - "documentation":"

Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored.

" + "documentation":"

Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

" }, "UsageDimension":{ "shape":"UsageDimension", - "documentation":"

It will be one of the 'fcp dimension name' provided during the publishing of the product.

" + "documentation":"

It will be one of the fcp dimension name provided during the publishing of the product.

" }, "UsageQuantity":{ "shape":"UsageQuantity", - "documentation":"

Consumption value for the hour.

" + "documentation":"

Consumption value for the hour. Defaults to 0 if not specified.

" }, "DryRun":{ "shape":"Boolean", - "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException.

" + "documentation":"

Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException. Defaults to false if not specified.

" } } }, "MeterUsageResult":{ "type":"structure", "members":{ - "MeteringRecordId":{"shape":"String"} + "MeteringRecordId":{ + "shape":"String", + "documentation":"

Metering record id.

" + } } }, + "NonEmptyString":{ + "type":"string", + "pattern":"\\S+" + }, + "Nonce":{ + "type":"string", + "max":255 + }, + "PlatformNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

AWS Marketplace does not support metering usage from the underlying platform. Currently, only Amazon ECS is supported.

", + "exception":true + }, "ProductCode":{ "type":"string", "max":255, "min":1 }, + "RegisterUsageRequest":{ + "type":"structure", + "required":[ + "ProductCode", + "PublicKeyVersion" + ], + "members":{ + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.

" + }, + "PublicKeyVersion":{ + "shape":"VersionInteger", + "documentation":"

Public Key Version provided by AWS Marketplace

" + }, + "Nonce":{ + "shape":"Nonce", + "documentation":"

(Optional) To scope down the registration to a specific running software instance and guard against replay attacks.

" + } + } + }, + "RegisterUsageResult":{ + "type":"structure", + "members":{ + "PublicKeyRotationTimestamp":{ + "shape":"Timestamp", + "documentation":"

(Optional) Only included when public key version has expired

" + }, + "Signature":{ + "shape":"NonEmptyString", + "documentation":"

JWT Token

" + } + } + }, + "ResolveCustomerRequest":{ + "type":"structure", + "required":["RegistrationToken"], + "members":{ + "RegistrationToken":{ + "shape":"NonEmptyString", + "documentation":"

When a buyer visits your website during the registration process, the buyer submits a registration token through the browser. The registration token is resolved to obtain a CustomerIdentifier and product code.

" + } + }, + "documentation":"

Contains input to the ResolveCustomer operation.

" + }, + "ResolveCustomerResult":{ + "type":"structure", + "members":{ + "CustomerIdentifier":{ + "shape":"CustomerIdentifier", + "documentation":"

The CustomerIdentifier is used to identify an individual customer in your application. Calls to BatchMeterUsage require CustomerIdentifiers for each UsageRecord.

" + }, + "ProductCode":{ + "shape":"ProductCode", + "documentation":"

The product code is returned to confirm that the buyer is registering for your product. Subsequent BatchMeterUsage calls should be made using this product code.

" + } + }, + "documentation":"

The result of the ResolveCustomer operation. Contains the CustomerIdentifier and product code.

" + }, "String":{"type":"string"}, "ThrottlingException":{ "type":"structure", "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

The calls to the MeterUsage API are throttled.

", + "documentation":"

The calls to the API are throttled.

", "exception":true }, "Timestamp":{"type":"timestamp"}, @@ -142,10 +370,77 @@ }, "UsageQuantity":{ "type":"integer", - "max":1000000, + "max":2147483647, "min":0 }, + "UsageRecord":{ + "type":"structure", + "required":[ + "Timestamp", + "CustomerIdentifier", + "Dimension" + ], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

Timestamp, in UTC, for which the usage is being reported.

Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage.

" + }, + "CustomerIdentifier":{ + "shape":"CustomerIdentifier", + "documentation":"

The CustomerIdentifier is obtained through the ResolveCustomer operation and represents an individual buyer in your application.

" + }, + "Dimension":{ + "shape":"UsageDimension", + "documentation":"

During the process of registering a product on AWS Marketplace, up to eight dimensions are specified. These represent different units of value in your application.

" + }, + "Quantity":{ + "shape":"UsageQuantity", + "documentation":"

The quantity of usage consumed by the customer for the given dimension and time. Defaults to 0 if not specified.

" + } + }, + "documentation":"

A UsageRecord indicates a quantity of usage for a given product, customer, dimension and time.

Multiple requests with the same UsageRecords as input will be deduplicated to prevent double charges.

" + }, + "UsageRecordList":{ + "type":"list", + "member":{"shape":"UsageRecord"}, + "max":25, + "min":0 + }, + "UsageRecordResult":{ + "type":"structure", + "members":{ + "UsageRecord":{ + "shape":"UsageRecord", + "documentation":"

The UsageRecord that was part of the BatchMeterUsage request.

" + }, + "MeteringRecordId":{ + "shape":"String", + "documentation":"

The MeteringRecordId is a unique identifier for this metering event.

" + }, + "Status":{ + "shape":"UsageRecordResultStatus", + "documentation":"

The UsageRecordResult Status indicates the status of an individual UsageRecord processed by BatchMeterUsage.

  • Success- The UsageRecord was accepted and honored by BatchMeterUsage.

  • CustomerNotSubscribed- The CustomerIdentifier specified is not subscribed to your product. The UsageRecord was not honored. Future UsageRecords for this customer will fail until the customer subscribes to your product.

  • DuplicateRecord- Indicates that the UsageRecord was invalid and not honored. A previously metered UsageRecord had the same customer, dimension, and time, but a different quantity.

" + } + }, + "documentation":"

A UsageRecordResult indicates the status of a given UsageRecord processed by BatchMeterUsage.

" + }, + "UsageRecordResultList":{ + "type":"list", + "member":{"shape":"UsageRecordResult"} + }, + "UsageRecordResultStatus":{ + "type":"string", + "enum":[ + "Success", + "CustomerNotSubscribed", + "DuplicateRecord" + ] + }, + "VersionInteger":{ + "type":"integer", + "min":1 + }, "errorMessage":{"type":"string"} }, - "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product.

" + "documentation":"AWS Marketplace Metering Service

This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

Submitting Metering Records

  • MeterUsage- Submits the metering record for a Marketplace product. MeterUsage is called from an EC2 instance or a container running on EKS or ECS.

  • BatchMeterUsage- Submits the metering record for a set of customers. BatchMeterUsage is called from a software-as-a-service (SaaS) application.

Accepting New Customers

  • ResolveCustomer- Called by a SaaS application during the registration process. When a buyer visits your website during the registration process, the buyer submits a Registration Token through the browser. The Registration Token is resolved through this API to obtain a CustomerIdentifier and Product Code.

Entitlement and Metering for Paid Container Products

  • Paid container software products sold through AWS Marketplace must integrate with the AWS Marketplace Metering Service and call the RegisterUsage operation for software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but you can do so if you want to receive usage data in your seller reports. For more information on using the RegisterUsage operation, see Container-Based Products.

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to verify that the SaaS metering records that you sent are accurate by searching for records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit records over time. For more information, see the AWS CloudTrail User Guide .

" } diff -Nru python-botocore-1.4.70/botocore/data/mgh/2017-05-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/examples-1.json --- python-botocore-1.4.70/botocore/data/mgh/2017-05-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/mgh/2017-05-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/mgh/2017-05-31/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListCreatedArtifacts": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CreatedArtifactList" + }, + "ListDiscoveredResources": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DiscoveredResourceList" + }, + "ListMigrationTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "MigrationTaskSummaryList" + }, + "ListProgressUpdateStreams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProgressUpdateStreamSummaryList" + }, + "ListApplicationStates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ApplicationStateList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mgh/2017-05-31/service-2.json python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/service-2.json --- python-botocore-1.4.70/botocore/data/mgh/2017-05-31/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mgh/2017-05-31/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1275 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-05-31", + "endpointPrefix":"mgh", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Migration Hub", + "serviceId":"Migration Hub", + "signatureVersion":"v4", + "targetPrefix":"AWSMigrationHub", + "uid":"AWSMigrationHub-2017-05-31" + }, + "operations":{ + "AssociateCreatedArtifact":{ + "name":"AssociateCreatedArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateCreatedArtifactRequest"}, + "output":{"shape":"AssociateCreatedArtifactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration task performed by a migration tool. This API has the following traits:

  • Migration tools can call the AssociateCreatedArtifact operation to indicate which AWS artifact is associated with a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc.

" + }, + "AssociateDiscoveredResource":{ + "name":"AssociateDiscoveredResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDiscoveredResourceRequest"}, + "output":{"shape":"AssociateDiscoveredResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Associates a discovered resource ID from Application Discovery Service with a migration task.

" + }, + "CreateProgressUpdateStream":{ + "name":"CreateProgressUpdateStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProgressUpdateStreamRequest"}, + "output":{"shape":"CreateProgressUpdateStreamResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Creates a progress update stream which is an AWS resource used for access control as well as a namespace for migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account because it is scoped to the AWS account.

" + }, + "DeleteProgressUpdateStream":{ + "name":"DeleteProgressUpdateStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProgressUpdateStreamRequest"}, + "output":{"shape":"DeleteProgressUpdateStreamResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource used for access control. This API has the following traits:

  • The only parameter needed for DeleteProgressUpdateStream is the stream name (same as a CreateProgressUpdateStream call).

  • The call will return, and a background process will asynchronously delete the stream and all of its resources (tasks, associated resources, resource attributes, created artifacts).

  • If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams call.

  • CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState, and all Associate[*] APIs related to the tasks belonging to the stream will throw \"InvalidInputException\" if the stream of the same name is in the process of being deleted.

  • Once the stream and all of its resources are deleted, CreateProgressUpdateStream for a stream of the same name will succeed, and that stream will be an entirely new logical resource (without any resources associated with the old stream).

" + }, + "DescribeApplicationState":{ + "name":"DescribeApplicationState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeApplicationStateRequest"}, + "output":{"shape":"DescribeApplicationStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Gets the migration status of an application.

" + }, + "DescribeMigrationTask":{ + "name":"DescribeMigrationTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMigrationTaskRequest"}, + "output":{"shape":"DescribeMigrationTaskResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Retrieves a list of all attributes associated with a specific migration task.

" + }, + "DisassociateCreatedArtifact":{ + "name":"DisassociateCreatedArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateCreatedArtifactRequest"}, + "output":{"shape":"DisassociateCreatedArtifactResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was previously associated. This API has the following traits:

  • A migration user can call the DisassociateCreatedArtifacts operation to disassociate a created AWS Artifact from a migration task.

  • The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.

  • Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc.

" + }, + "DisassociateDiscoveredResource":{ + "name":"DisassociateDiscoveredResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDiscoveredResourceRequest"}, + "output":{"shape":"DisassociateDiscoveredResourceResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Disassociate an Application Discovery Service discovered resource from a migration task.

" + }, + "ImportMigrationTask":{ + "name":"ImportMigrationTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportMigrationTaskRequest"}, + "output":{"shape":"ImportMigrationTaskResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration tool.

This API is a prerequisite to calling the NotifyMigrationTaskState API as the migration tool must first register the migration task with Migration Hub.

" + }, + "ListApplicationStates":{ + "name":"ListApplicationStates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListApplicationStatesRequest"}, + "output":{"shape":"ListApplicationStatesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Lists all the migration statuses for your applications. If you use the optional ApplicationIds parameter, only the migration statuses for those applications will be returned.

" + }, + "ListCreatedArtifacts":{ + "name":"ListCreatedArtifacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCreatedArtifactsRequest"}, + "output":{"shape":"ListCreatedArtifactsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Lists the created artifacts attached to a given migration task in an update stream. This API has the following traits:

  • Gets the list of the created artifacts while migration is taking place.

  • Shows the artifacts created by the migration tool that was associated by the AssociateCreatedArtifact API.

  • Lists created artifacts in a paginated interface.

" + }, + "ListDiscoveredResources":{ + "name":"ListDiscoveredResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDiscoveredResourcesRequest"}, + "output":{"shape":"ListDiscoveredResourcesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Lists discovered resources associated with the given MigrationTask.

" + }, + "ListMigrationTasks":{ + "name":"ListMigrationTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMigrationTasksRequest"}, + "output":{"shape":"ListMigrationTasksResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This API has the following traits:

  • Can show a summary list of the most recent migration tasks.

  • Can show a summary list of migration tasks associated with a given discovered resource.

  • Lists migration tasks in a paginated interface.

" + }, + "ListProgressUpdateStreams":{ + "name":"ListProgressUpdateStreams", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProgressUpdateStreamsRequest"}, + "output":{"shape":"ListProgressUpdateStreamsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidInputException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Lists progress update streams associated with the user account making this call.

" + }, + "NotifyApplicationState":{ + "name":"NotifyApplicationState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyApplicationStateRequest"}, + "output":{"shape":"NotifyApplicationStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Sets the migration state of an application. For a given application identified by the value passed to ApplicationId, its status is set or updated by passing one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.

" + }, + "NotifyMigrationTaskState":{ + "name":"NotifyMigrationTaskState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyMigrationTaskStateRequest"}, + "output":{"shape":"NotifyMigrationTaskStateResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has the following traits:

  • Migration tools will call the NotifyMigrationTaskState API to share the latest progress and status.

  • MigrationTaskName is used for addressing updates to the correct target.

  • ProgressUpdateStream is used for access control and to provide a namespace for each migration tool.

" + }, + "PutResourceAttributes":{ + "name":"PutResourceAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourceAttributesRequest"}, + "output":{"shape":"PutResourceAttributesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DryRunOperation"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"HomeRegionNotSetException"} + ], + "documentation":"

Provides identifying details of the resource being migrated so that it can be associated in the Application Discovery Service repository. This association occurs asynchronously after PutResourceAttributes returns.

  • Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will then be required to call it with both the IP and MAC addresses to prevent overriding the MAC address.

  • Note the instructions regarding the special use case of the ResourceAttributeList parameter when specifying any \"VM\" related value.

Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm if an association was found based on the provided details, call ListDiscoveredResources.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "exception":true + }, + "ApplicationId":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"^.{1,1600}$" + }, + "ApplicationIds":{ + "type":"list", + "member":{"shape":"ApplicationId"}, + "max":100, + "min":1 + }, + "ApplicationState":{ + "type":"structure", + "members":{ + "ApplicationId":{ + "shape":"ApplicationId", + "documentation":"

The configurationId from the Application Discovery Service that uniquely identifies an application.

" + }, + "ApplicationStatus":{ + "shape":"ApplicationStatus", + "documentation":"

The current status of an application.

" + }, + "LastUpdatedTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the application status was last updated.

" + } + }, + "documentation":"

The state of an application discovered through Migration Hub import, the AWS Agentless Discovery Connector, or the AWS Application Discovery Agent.

" + }, + "ApplicationStateList":{ + "type":"list", + "member":{"shape":"ApplicationState"}, + "max":1000, + "min":0 + }, + "ApplicationStatus":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETED" + ] + }, + "AssociateCreatedArtifactRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "CreatedArtifact" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "CreatedArtifact":{ + "shape":"CreatedArtifact", + "documentation":"

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "AssociateCreatedArtifactResult":{ + "type":"structure", + "members":{ + } + }, + "AssociateDiscoveredResourceRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "DiscoveredResource" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

The identifier given to the MigrationTask. Do not store personal data in this field.

" + }, + "DiscoveredResource":{ + "shape":"DiscoveredResource", + "documentation":"

Object representing a Resource.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "AssociateDiscoveredResourceResult":{ + "type":"structure", + "members":{ + } + }, + "ConfigurationId":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"^.{1,1600}$" + }, + "CreateProgressUpdateStreamRequest":{ + "type":"structure", + "required":["ProgressUpdateStreamName"], + "members":{ + "ProgressUpdateStreamName":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream. Do not store personal data in this field.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "CreateProgressUpdateStreamResult":{ + "type":"structure", + "members":{ + } + }, + "CreatedArtifact":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CreatedArtifactName", + "documentation":"

An ARN that uniquely identifies the result of a migration task.

" + }, + "Description":{ + "shape":"CreatedArtifactDescription", + "documentation":"

A description that can be free-form text to record additional detail about the artifact for clarity or for later reference.

" + } + }, + "documentation":"

An ARN of the AWS cloud resource target receiving the migration (e.g., AMI, EC2 instance, RDS instance, etc.).

" + }, + "CreatedArtifactDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"^.{0,500}$" + }, + "CreatedArtifactList":{ + "type":"list", + "member":{"shape":"CreatedArtifact"} + }, + "CreatedArtifactName":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"arn:[a-z-]+:[a-z0-9-]+:(?:[a-z0-9-]+|):(?:[0-9]{12}|):.*" + }, + "DeleteProgressUpdateStreamRequest":{ + "type":"structure", + "required":["ProgressUpdateStreamName"], + "members":{ + "ProgressUpdateStreamName":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream. Do not store personal data in this field.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "DeleteProgressUpdateStreamResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeApplicationStateRequest":{ + "type":"structure", + "required":["ApplicationId"], + "members":{ + "ApplicationId":{ + "shape":"ApplicationId", + "documentation":"

The configurationId in Application Discovery Service that uniquely identifies the grouped application.

" + } + } + }, + "DescribeApplicationStateResult":{ + "type":"structure", + "members":{ + "ApplicationStatus":{ + "shape":"ApplicationStatus", + "documentation":"

Status of the application - Not Started, In-Progress, Complete.

" + }, + "LastUpdatedTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the application status was last updated.

" + } + } + }, + "DescribeMigrationTaskRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

The identifier given to the MigrationTask. Do not store personal data in this field.

" + } + } + }, + "DescribeMigrationTaskResult":{ + "type":"structure", + "members":{ + "MigrationTask":{ + "shape":"MigrationTask", + "documentation":"

Object encapsulating information about the migration task.

" + } + } + }, + "DisassociateCreatedArtifactRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "CreatedArtifactName" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task to be disassociated with the artifact. Do not store personal data in this field.

" + }, + "CreatedArtifactName":{ + "shape":"CreatedArtifactName", + "documentation":"

An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance, RDS instance, etc.)

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "DisassociateCreatedArtifactResult":{ + "type":"structure", + "members":{ + } + }, + "DisassociateDiscoveredResourceRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "ConfigurationId" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

The identifier given to the MigrationTask. Do not store personal data in this field.

" + }, + "ConfigurationId":{ + "shape":"ConfigurationId", + "documentation":"

ConfigurationId of the Application Discovery Service resource to be disassociated.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "DisassociateDiscoveredResourceResult":{ + "type":"structure", + "members":{ + } + }, + "DiscoveredResource":{ + "type":"structure", + "required":["ConfigurationId"], + "members":{ + "ConfigurationId":{ + "shape":"ConfigurationId", + "documentation":"

The configurationId in Application Discovery Service that uniquely identifies the on-premise resource.

" + }, + "Description":{ + "shape":"DiscoveredResourceDescription", + "documentation":"

A description that can be free-form text to record additional detail about the discovered resource for clarity or later reference.

" + } + }, + "documentation":"

Object representing the on-premises resource being migrated.

" + }, + "DiscoveredResourceDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"^.{0,500}$" + }, + "DiscoveredResourceList":{ + "type":"list", + "member":{"shape":"DiscoveredResource"} + }, + "DryRun":{"type":"boolean"}, + "DryRunOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised to indicate a successfully authorized action when the DryRun flag is set to \"true\".

", + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "HomeRegionNotSetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The home region is not set. Set the home region to continue.

", + "exception":true + }, + "ImportMigrationTaskRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream. >

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "ImportMigrationTaskResult":{ + "type":"structure", + "members":{ + } + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when an internal, configuration, or dependency error is encountered.

", + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

", + "exception":true + }, + "LatestResourceAttributeList":{ + "type":"list", + "member":{"shape":"ResourceAttribute"}, + "max":100, + "min":0 + }, + "ListApplicationStatesRequest":{ + "type":"structure", + "members":{ + "ApplicationIds":{ + "shape":"ApplicationIds", + "documentation":"

The configurationIds from the Application Discovery Service that uniquely identifies your applications.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of results to be returned per page.

" + } + } + }, + "ListApplicationStatesResult":{ + "type":"structure", + "members":{ + "ApplicationStateList":{ + "shape":"ApplicationStateList", + "documentation":"

A list of Applications that exist in Application Discovery Service.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + } + } + }, + "ListCreatedArtifactsRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + }, + "MaxResults":{ + "shape":"MaxResultsCreatedArtifacts", + "documentation":"

Maximum number of results to be returned per page.

" + } + } + }, + "ListCreatedArtifactsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

If there are more created artifacts than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" + }, + "CreatedArtifactList":{ + "shape":"CreatedArtifactList", + "documentation":"

List of created artifacts up to the maximum number of results specified in the request.

" + } + } + }, + "ListDiscoveredResourcesRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

The name of the MigrationTask. Do not store personal data in this field.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + }, + "MaxResults":{ + "shape":"MaxResultsResources", + "documentation":"

The maximum number of results returned per page.

" + } + } + }, + "ListDiscoveredResourcesResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

If there are more discovered resources than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" + }, + "DiscoveredResourceList":{ + "shape":"DiscoveredResourceList", + "documentation":"

Returned list of discovered resources associated with the given MigrationTask.

" + } + } + }, + "ListMigrationTasksRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Value to specify how many results are returned per page.

" + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

Filter migration tasks by discovered resource name.

" + } + } + }, + "ListMigrationTasksResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

If there are more migration tasks than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" + }, + "MigrationTaskSummaryList":{ + "shape":"MigrationTaskSummaryList", + "documentation":"

Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and the UpdateDateTime for each task.

" + } + } + }, + "ListProgressUpdateStreamsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Filter to limit the maximum number of results to list per page.

" + } + } + }, + "ListProgressUpdateStreamsResult":{ + "type":"structure", + "members":{ + "ProgressUpdateStreamSummaryList":{ + "shape":"ProgressUpdateStreamSummaryList", + "documentation":"

List of progress update streams up to the max number of results passed in the input.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If there are more streams created than the max result, return the next token to be passed to the next call as a bookmark of where to start from.

" + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "MaxResultsCreatedArtifacts":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "MaxResultsResources":{ + "type":"integer", + "box":true, + "max":10, + "min":1 + }, + "MigrationTask":{ + "type":"structure", + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

A name that identifies the vendor of the migration tool being used.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "Task":{ + "shape":"Task", + "documentation":"

Task object encapsulating task information.

" + }, + "UpdateDateTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the task was gathered.

" + }, + "ResourceAttributeList":{ + "shape":"LatestResourceAttributeList", + "documentation":"

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service repository.

" + } + }, + "documentation":"

Represents a migration task in a migration tool.

" + }, + "MigrationTaskName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[^:|]+" + }, + "MigrationTaskSummary":{ + "type":"structure", + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

An AWS resource used for access control. It should uniquely identify the migration tool as it is used for all updates made by the tool.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "Status":{ + "shape":"Status", + "documentation":"

Status of the task.

" + }, + "ProgressPercent":{ + "shape":"ProgressPercent", + "documentation":"

Indication of the percentage completion of the task.

" + }, + "StatusDetail":{ + "shape":"StatusDetail", + "documentation":"

Detail information of what is being done within the overall status state.

" + }, + "UpdateDateTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the task was gathered.

" + } + }, + "documentation":"

MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream, Status, and UpdateDateTime for each task.

" + }, + "MigrationTaskSummaryList":{ + "type":"list", + "member":{"shape":"MigrationTaskSummary"} + }, + "NextUpdateSeconds":{ + "type":"integer", + "min":0 + }, + "NotifyApplicationStateRequest":{ + "type":"structure", + "required":[ + "ApplicationId", + "Status" + ], + "members":{ + "ApplicationId":{ + "shape":"ApplicationId", + "documentation":"

The configurationId in Application Discovery Service that uniquely identifies the grouped application.

" + }, + "Status":{ + "shape":"ApplicationStatus", + "documentation":"

Status of the application - Not Started, In-Progress, Complete.

" + }, + "UpdateDateTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the application state changed.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "NotifyApplicationStateResult":{ + "type":"structure", + "members":{ + } + }, + "NotifyMigrationTaskStateRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "Task", + "UpdateDateTime", + "NextUpdateSeconds" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "Task":{ + "shape":"Task", + "documentation":"

Information about the task's progress and status.

" + }, + "UpdateDateTime":{ + "shape":"UpdateDateTime", + "documentation":"

The timestamp when the task was gathered.

" + }, + "NextUpdateSeconds":{ + "shape":"NextUpdateSeconds", + "documentation":"

Number of seconds after the UpdateDateTime within which the Migration Hub can expect an update. If Migration Hub does not receive an update within the specified interval, then the migration task will be considered stale.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "NotifyMigrationTaskStateResult":{ + "type":"structure", + "members":{ + } + }, + "PolicyErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when there are problems accessing Application Discovery Service (Application Discovery Service); most likely due to a misconfigured policy or the migrationhub-discovery role is missing or not configured correctly.

", + "exception":true + }, + "ProgressPercent":{ + "type":"integer", + "box":true, + "max":100, + "min":0 + }, + "ProgressUpdateStream":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[^/:|\\000-\\037]+" + }, + "ProgressUpdateStreamSummary":{ + "type":"structure", + "members":{ + "ProgressUpdateStreamName":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream. Do not store personal data in this field.

" + } + }, + "documentation":"

Summary of the AWS resource used for access control that is implicitly linked to your AWS account.

" + }, + "ProgressUpdateStreamSummaryList":{ + "type":"list", + "member":{"shape":"ProgressUpdateStreamSummary"} + }, + "PutResourceAttributesRequest":{ + "type":"structure", + "required":[ + "ProgressUpdateStream", + "MigrationTaskName", + "ResourceAttributeList" + ], + "members":{ + "ProgressUpdateStream":{ + "shape":"ProgressUpdateStream", + "documentation":"

The name of the ProgressUpdateStream.

" + }, + "MigrationTaskName":{ + "shape":"MigrationTaskName", + "documentation":"

Unique identifier that references the migration task. Do not store personal data in this field.

" + }, + "ResourceAttributeList":{ + "shape":"ResourceAttributeList", + "documentation":"

Information about the resource that is being migrated. This data will be used to map the task to a resource in the Application Discovery Service repository.

Takes the object array of ResourceAttribute where the Type field is reserved for the following values: IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID | MOTHERBOARD_SERIAL_NUMBER where the identifying value can be a string up to 256 characters.

  • If any \"VM\" related value is set for a ResourceAttribute object, it is required that VM_MANAGER_ID, as a minimum, is always set. If VM_MANAGER_ID is not set, then all \"VM\" fields will be discarded and \"VM\" fields will not be used for matching the migration task to a server in Application Discovery Service repository. See the Example section below for a use case of specifying \"VM\" related values.

  • If a server you are trying to match has multiple IP or MAC addresses, you should provide as many as you know in separate type/value pairs passed to the ResourceAttributeList parameter to maximize the chances of matching.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.

" + } + } + }, + "PutResourceAttributesResult":{ + "type":"structure", + "members":{ + } + }, + "ResourceAttribute":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"ResourceAttributeType", + "documentation":"

Type of resource.

" + }, + "Value":{ + "shape":"ResourceAttributeValue", + "documentation":"

Value of the resource type.

" + } + }, + "documentation":"

Attribute associated with a resource.

Note the corresponding format required per type listed below:

IPV4

x.x.x.x

where x is an integer in the range [0,255]

IPV6

y : y : y : y : y : y : y : y

where y is a hexadecimal between 0 and FFFF. [0, FFFF]

MAC_ADDRESS

^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

FQDN

^[^<>{}\\\\\\\\/?,=\\\\p{Cntrl}]{1,256}$

" + }, + "ResourceAttributeList":{ + "type":"list", + "member":{"shape":"ResourceAttribute"}, + "max":100, + "min":1 + }, + "ResourceAttributeType":{ + "type":"string", + "enum":[ + "IPV4_ADDRESS", + "IPV6_ADDRESS", + "MAC_ADDRESS", + "FQDN", + "VM_MANAGER_ID", + "VM_MANAGED_OBJECT_REFERENCE", + "VM_NAME", + "VM_PATH", + "BIOS_ID", + "MOTHERBOARD_SERIAL_NUMBER" + ] + }, + "ResourceAttributeValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^.{1,256}$" + }, + "ResourceName":{ + "type":"string", + "max":1600, + "min":1, + "pattern":"^.{1,1600}$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when the request references a resource (Application Discovery Service configuration, update stream, migration task, etc.) that does not exist in Application Discovery Service (Application Discovery Service) or in Migration Hub's repository.

", + "exception":true + }, + "RetryAfterSeconds":{"type":"integer"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when there is an internal, configuration, or dependency error encountered.

", + "exception":true, + "fault":true + }, + "Status":{ + "type":"string", + "enum":[ + "NOT_STARTED", + "IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, + "StatusDetail":{ + "type":"string", + "max":500, + "min":0, + "pattern":"^.{0,500}$" + }, + "Task":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"Status", + "documentation":"

Status of the task - Not Started, In-Progress, Complete.

" + }, + "StatusDetail":{ + "shape":"StatusDetail", + "documentation":"

Details of task status as notified by a migration tool. A tool might use this field to provide clarifying information about the status that is unique to that tool or that explains an error state.

" + }, + "ProgressPercent":{ + "shape":"ProgressPercent", + "documentation":"

Indication of the percentage completion of the task.

" + } + }, + "documentation":"

Task object encapsulating task information.

" + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{ + "shape":"ErrorMessage", + "documentation":"

A message that provides information about the exception.

" + }, + "RetryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

The number of seconds the caller should wait before retrying.

" + } + }, + "documentation":"

The request was denied due to request throttling.

", + "exception":true + }, + "Token":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^[a-zA-Z0-9\\/\\+\\=]{0,2048}$" + }, + "UnauthorizedOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised to indicate a request was not authorized when the DryRun flag is set to \"true\".

", + "exception":true + }, + "UpdateDateTime":{"type":"timestamp"} + }, + "documentation":"

The AWS Migration Hub API methods help to obtain server and application migration status and integrate your resource-specific migration tool by providing a programmatic interface to Migration Hub.

Remember that you must set your AWS Migration Hub home region before you call any of these APIs, or a HomeRegionNotSetException error will be returned. Also, you must make the API calls while in your home region.

" +} diff -Nru python-botocore-1.4.70/botocore/data/migrationhub-config/2019-06-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/migrationhub-config/2019-06-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/migrationhub-config/2019-06-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/migrationhub-config/2019-06-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/migrationhub-config/2019-06-30/service-2.json python-botocore-1.16.19+repack/botocore/data/migrationhub-config/2019-06-30/service-2.json --- python-botocore-1.4.70/botocore/data/migrationhub-config/2019-06-30/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/migrationhub-config/2019-06-30/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,289 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-06-30", + "endpointPrefix":"migrationhub-config", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Migration Hub Config", + "serviceId":"MigrationHub Config", + "signatureVersion":"v4", + "signingName":"mgh", + "targetPrefix":"AWSMigrationHubMultiAccountService", + "uid":"migrationhub-config-2019-06-30" + }, + "operations":{ + "CreateHomeRegionControl":{ + "name":"CreateHomeRegionControl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHomeRegionControlRequest"}, + "output":{"shape":"CreateHomeRegionControlResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"DryRunOperation"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API sets up the home region for the calling account only.

" + }, + "DescribeHomeRegionControls":{ + "name":"DescribeHomeRegionControls", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHomeRegionControlsRequest"}, + "output":{"shape":"DescribeHomeRegionControlsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

This API permits filtering on the ControlId and HomeRegion fields.

" + }, + "GetHomeRegion":{ + "name":"GetHomeRegion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetHomeRegionRequest"}, + "output":{"shape":"GetHomeRegionResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Returns the calling account’s home region, if configured. This API is used by other AWS services to determine the regional endpoint for calling AWS Application Discovery Service and Migration Hub. You must call GetHomeRegion at least once before you call any other AWS Application Discovery Service and AWS Migration Hub APIs, to obtain the account's Migration Hub home region.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "exception":true + }, + "ControlId":{ + "type":"string", + "max":50, + "min":1, + "pattern":"^hrc-[a-z0-9]{12}$" + }, + "CreateHomeRegionControlRequest":{ + "type":"structure", + "required":[ + "HomeRegion", + "Target" + ], + "members":{ + "HomeRegion":{ + "shape":"HomeRegion", + "documentation":"

The name of the home region of the calling account.

" + }, + "Target":{ + "shape":"Target", + "documentation":"

The account for which this command sets up a home region control. The Target is always of type ACCOUNT.

" + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

Optional Boolean flag to indicate whether any effect should take place. It tests whether the caller has permission to make the call.

" + } + } + }, + "CreateHomeRegionControlResult":{ + "type":"structure", + "members":{ + "HomeRegionControl":{ + "shape":"HomeRegionControl", + "documentation":"

This object is the HomeRegionControl object that's returned by a successful call to CreateHomeRegionControl.

" + } + } + }, + "DescribeHomeRegionControlsMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "DescribeHomeRegionControlsRequest":{ + "type":"structure", + "members":{ + "ControlId":{ + "shape":"ControlId", + "documentation":"

The ControlID is a unique identifier string of your HomeRegionControl object.

" + }, + "HomeRegion":{ + "shape":"HomeRegion", + "documentation":"

The name of the home region you'd like to view.

" + }, + "Target":{ + "shape":"Target", + "documentation":"

The target parameter specifies the identifier to which the home region is applied, which is always of type ACCOUNT. It applies the home region to the current ACCOUNT.

" + }, + "MaxResults":{ + "shape":"DescribeHomeRegionControlsMaxResults", + "documentation":"

The maximum number of filtering results to display per page.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, more results are available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + } + } + }, + "DescribeHomeRegionControlsResult":{ + "type":"structure", + "members":{ + "HomeRegionControls":{ + "shape":"HomeRegionControls", + "documentation":"

An array that contains your HomeRegionControl objects.

" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

If a NextToken was returned by a previous call, more results are available. To retrieve the next page of results, make the call again using the returned token in NextToken.

" + } + } + }, + "DryRun":{"type":"boolean"}, + "DryRunOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised to indicate that authorization of an action was successful, when the DryRun flag is set to true.

", + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "GetHomeRegionRequest":{ + "type":"structure", + "members":{ + } + }, + "GetHomeRegionResult":{ + "type":"structure", + "members":{ + "HomeRegion":{ + "shape":"HomeRegion", + "documentation":"

The name of the home region of the calling account.

" + } + } + }, + "HomeRegion":{ + "type":"string", + "max":50, + "min":1, + "pattern":"^([a-z]+)-([a-z]+)-([0-9]+)$" + }, + "HomeRegionControl":{ + "type":"structure", + "members":{ + "ControlId":{ + "shape":"ControlId", + "documentation":"

A unique identifier that's generated for each home region control. It's always a string that begins with \"hrc-\" followed by 12 lowercase letters and numbers.

" + }, + "HomeRegion":{ + "shape":"HomeRegion", + "documentation":"

The AWS Region that's been set as home region. For example, \"us-west-2\" or \"eu-central-1\" are valid home regions.

" + }, + "Target":{ + "shape":"Target", + "documentation":"

The target parameter specifies the identifier to which the home region is applied, which is always an ACCOUNT. It applies the home region to the current ACCOUNT.

" + }, + "RequestedTime":{ + "shape":"RequestedTime", + "documentation":"

A timestamp representing the time when the customer called CreateHomeregionControl and set the home region for the account.

" + } + }, + "documentation":"

A home region control is an object that specifies the home region for an account, with some additional information. It contains a target (always of type ACCOUNT), an ID, and a time at which the home region was set.

" + }, + "HomeRegionControls":{ + "type":"list", + "member":{"shape":"HomeRegionControl"}, + "max":100 + }, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when an internal, configuration, or dependency error is encountered.

", + "exception":true, + "fault":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when the provided input violates a policy constraint or is entered in the wrong format or data type.

", + "exception":true + }, + "RequestedTime":{"type":"timestamp"}, + "RetryAfterSeconds":{"type":"integer"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

Exception raised when a request fails due to temporary unavailability of the service.

", + "exception":true, + "fault":true + }, + "Target":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"TargetType", + "documentation":"

The target type is always an ACCOUNT.

" + }, + "Id":{ + "shape":"TargetId", + "documentation":"

The TargetID is a 12-character identifier of the ACCOUNT for which the control was created. (This must be the current account.)

" + } + }, + "documentation":"

The target parameter specifies the identifier to which the home region is applied, which is always an ACCOUNT. It applies the home region to the current ACCOUNT.

" + }, + "TargetId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^\\d{12}$" + }, + "TargetType":{ + "type":"string", + "enum":["ACCOUNT"] + }, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"ErrorMessage"}, + "RetryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

The number of seconds the caller should wait before retrying.

" + } + }, + "documentation":"

The request was denied due to request throttling.

", + "exception":true + }, + "Token":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"^[a-zA-Z0-9\\/\\+\\=]{0,2048}$" + } + }, + "documentation":"

The AWS Migration Hub home region APIs are available specifically for working with your Migration Hub home region. You can use these APIs to determine a home region, as well as to create and work with controls that describe the home region.

  • You must make API calls for write actions (create, notify, associate, disassociate, import, or put) while in your home region, or a HomeRegionNotSetException error is returned.

  • API calls for read actions (list, describe, stop, and delete) are permitted outside of your home region.

  • If you call a write API outside the home region, an InvalidInputException is returned.

  • You can call GetHomeRegion action to obtain the account's Migration Hub home region.

For specific API usage, see the sections that follow in this AWS Migration Hub Home Region API reference.

" +} diff -Nru python-botocore-1.4.70/botocore/data/mobile/2017-07-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/examples-1.json --- python-botocore-1.4.70/botocore/data/mobile/2017-07-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/mobile/2017-07-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/mobile/2017-07-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListBundles": { + "result_key": "bundleList", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + }, + "ListProjects": { + "result_key": "projects", + "output_token": "nextToken", + "input_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mobile/2017-07-01/service-2.json python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/service-2.json --- python-botocore-1.4.70/botocore/data/mobile/2017-07-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mobile/2017-07-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,732 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-01", + "endpointPrefix":"mobile", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Mobile", + "serviceId":"Mobile", + "signatureVersion":"v4", + "signingName":"AWSMobileHubService", + "uid":"mobile-2017-07-01" + }, + "operations":{ + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/projects" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an AWS Mobile Hub project.

" + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"DELETE", + "requestUri":"/projects/{projectId}" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Delets a project in AWS Mobile Hub.

" + }, + "DescribeBundle":{ + "name":"DescribeBundle", + "http":{ + "method":"GET", + "requestUri":"/bundles/{bundleId}" + }, + "input":{"shape":"DescribeBundleRequest"}, + "output":{"shape":"DescribeBundleResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Get the bundle details for the requested bundle id.

" + }, + "DescribeProject":{ + "name":"DescribeProject", + "http":{ + "method":"GET", + "requestUri":"/project" + }, + "input":{"shape":"DescribeProjectRequest"}, + "output":{"shape":"DescribeProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Gets details about a project in AWS Mobile Hub.

" + }, + "ExportBundle":{ + "name":"ExportBundle", + "http":{ + "method":"POST", + "requestUri":"/bundles/{bundleId}" + }, + "input":{"shape":"ExportBundleRequest"}, + "output":{"shape":"ExportBundleResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Generates customized software development kit (SDK) and or tool packages used to integrate mobile web or mobile app clients with backend AWS resources.

" + }, + "ExportProject":{ + "name":"ExportProject", + "http":{ + "method":"POST", + "requestUri":"/exports/{projectId}" + }, + "input":{"shape":"ExportProjectRequest"}, + "output":{"shape":"ExportProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

Exports project configuration to a snapshot which can be downloaded and shared. Note that mobile app push credentials are encrypted in exported projects, so they can only be shared successfully within the same AWS account.

" + }, + "ListBundles":{ + "name":"ListBundles", + "http":{ + "method":"GET", + "requestUri":"/bundles" + }, + "input":{"shape":"ListBundlesRequest"}, + "output":{"shape":"ListBundlesResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

List all available bundles.

" + }, + "ListProjects":{ + "name":"ListProjects", + "http":{ + "method":"GET", + "requestUri":"/projects" + }, + "input":{"shape":"ListProjectsRequest"}, + "output":{"shape":"ListProjectsResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

Lists projects in AWS Mobile Hub.

" + }, + "UpdateProject":{ + "name":"UpdateProject", + "http":{ + "method":"POST", + "requestUri":"/update" + }, + "input":{"shape":"UpdateProjectRequest"}, + "output":{"shape":"UpdateProjectResult"}, + "errors":[ + {"shape":"InternalFailureException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"AccountActionRequiredException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Update an existing project.

" + } + }, + "shapes":{ + "AccountActionRequiredException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Account Action is required in order to continue the request.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AttributeKey":{ + "type":"string", + "documentation":"

Key part of key-value attribute pairs.

" + }, + "AttributeValue":{ + "type":"string", + "documentation":"

Value part of key-value attribute pairs.

" + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttributeKey"}, + "value":{"shape":"AttributeValue"}, + "documentation":"

Key-value attribute pairs.

" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The request cannot be processed because some parameter is not valid or the project state prevents the operation from being performed.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Boolean":{"type":"boolean"}, + "BundleDescription":{ + "type":"string", + "documentation":"

Description of the download bundle.

" + }, + "BundleDetails":{ + "type":"structure", + "members":{ + "bundleId":{"shape":"BundleId"}, + "title":{"shape":"BundleTitle"}, + "version":{"shape":"BundleVersion"}, + "description":{"shape":"BundleDescription"}, + "iconUrl":{"shape":"IconUrl"}, + "availablePlatforms":{"shape":"Platforms"} + }, + "documentation":"

The details of the bundle.

" + }, + "BundleId":{ + "type":"string", + "documentation":"

Unique bundle identifier.

" + }, + "BundleList":{ + "type":"list", + "member":{"shape":"BundleDetails"}, + "documentation":"

A list of bundles.

" + }, + "BundleTitle":{ + "type":"string", + "documentation":"

Title of the download bundle.

" + }, + "BundleVersion":{ + "type":"string", + "documentation":"

Version of the download bundle.

" + }, + "ConsoleUrl":{"type":"string"}, + "Contents":{ + "type":"blob", + "documentation":"

Binary file data.

" + }, + "CreateProjectRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

Name of the project.

", + "location":"querystring", + "locationName":"name" + }, + "region":{ + "shape":"ProjectRegion", + "documentation":"

Default region where project resources should be created.

", + "location":"querystring", + "locationName":"region" + }, + "contents":{ + "shape":"Contents", + "documentation":"

ZIP or YAML file which contains configuration settings to be used when creating the project. This may be the contents of the file downloaded from the URL provided in an export project operation.

" + }, + "snapshotId":{ + "shape":"SnapshotId", + "documentation":"

Unique identifier for an exported snapshot of project configuration. This snapshot identifier is included in the share URL when a project is exported.

", + "location":"querystring", + "locationName":"snapshotId" + } + }, + "documentation":"

Request structure used to request a project be created.

", + "payload":"contents" + }, + "CreateProjectResult":{ + "type":"structure", + "members":{ + "details":{ + "shape":"ProjectDetails", + "documentation":"

Detailed information about the created AWS Mobile Hub project.

" + } + }, + "documentation":"

Result structure used in response to a request to create a project.

" + }, + "Date":{"type":"timestamp"}, + "DeleteProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

", + "location":"uri", + "locationName":"projectId" + } + }, + "documentation":"

Request structure used to request a project be deleted.

" + }, + "DeleteProjectResult":{ + "type":"structure", + "members":{ + "deletedResources":{ + "shape":"Resources", + "documentation":"

Resources which were deleted.

" + }, + "orphanedResources":{ + "shape":"Resources", + "documentation":"

Resources which were not deleted, due to a risk of losing potentially important data or files.

" + } + }, + "documentation":"

Result structure used in response to request to delete a project.

" + }, + "DescribeBundleRequest":{ + "type":"structure", + "required":["bundleId"], + "members":{ + "bundleId":{ + "shape":"BundleId", + "documentation":"

Unique bundle identifier.

", + "location":"uri", + "locationName":"bundleId" + } + }, + "documentation":"

Request structure to request the details of a specific bundle.

" + }, + "DescribeBundleResult":{ + "type":"structure", + "members":{ + "details":{ + "shape":"BundleDetails", + "documentation":"

The details of the bundle.

" + } + }, + "documentation":"

Result structure contains the details of the bundle.

" + }, + "DescribeProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

", + "location":"querystring", + "locationName":"projectId" + }, + "syncFromResources":{ + "shape":"Boolean", + "documentation":"

If set to true, causes AWS Mobile Hub to synchronize information from other services, e.g., update state of AWS CloudFormation stacks in the AWS Mobile Hub project.

", + "location":"querystring", + "locationName":"syncFromResources" + } + }, + "documentation":"

Request structure used to request details about a project.

" + }, + "DescribeProjectResult":{ + "type":"structure", + "members":{ + "details":{"shape":"ProjectDetails"} + }, + "documentation":"

Result structure used for requests of project details.

" + }, + "DownloadUrl":{ + "type":"string", + "documentation":"

The download Url.

" + }, + "ErrorMessage":{ + "type":"string", + "documentation":"

The Exception Error Message.

" + }, + "ExportBundleRequest":{ + "type":"structure", + "required":["bundleId"], + "members":{ + "bundleId":{ + "shape":"BundleId", + "documentation":"

Unique bundle identifier.

", + "location":"uri", + "locationName":"bundleId" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

", + "location":"querystring", + "locationName":"projectId" + }, + "platform":{ + "shape":"Platform", + "documentation":"

Developer desktop or target application platform.

", + "location":"querystring", + "locationName":"platform" + } + }, + "documentation":"

Request structure used to request generation of custom SDK and tool packages required to integrate mobile web or app clients with backed AWS resources.

" + }, + "ExportBundleResult":{ + "type":"structure", + "members":{ + "downloadUrl":{ + "shape":"DownloadUrl", + "documentation":"

URL which contains the custom-generated SDK and tool packages used to integrate the client mobile app or web app with the AWS resources created by the AWS Mobile Hub project.

" + } + }, + "documentation":"

Result structure which contains link to download custom-generated SDK and tool packages used to integrate mobile web or app clients with backed AWS resources.

" + }, + "ExportProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

", + "location":"uri", + "locationName":"projectId" + } + }, + "documentation":"

Request structure used in requests to export project configuration details.

" + }, + "ExportProjectResult":{ + "type":"structure", + "members":{ + "downloadUrl":{ + "shape":"DownloadUrl", + "documentation":"

URL which can be used to download the exported project configuation file(s).

" + }, + "shareUrl":{ + "shape":"ShareUrl", + "documentation":"

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

" + }, + "snapshotId":{ + "shape":"SnapshotId", + "documentation":"

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

" + } + }, + "documentation":"

Result structure used for requests to export project configuration details.

" + }, + "Feature":{ + "type":"string", + "documentation":"

Identifies which feature in AWS Mobile Hub is associated with this AWS resource.

" + }, + "IconUrl":{ + "type":"string", + "documentation":"

Icon for the download bundle.

" + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service has encountered an unexpected error condition which prevents it from servicing the request.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

There are too many AWS Mobile Hub projects in the account or the account has exceeded the maximum number of resources in some AWS service. You should create another sub-account using AWS Organizations or remove some resources and retry your request.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListBundlesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing bundles from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more bundles.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Request structure to request all available bundles.

" + }, + "ListBundlesResult":{ + "type":"structure", + "members":{ + "bundleList":{ + "shape":"BundleList", + "documentation":"

A list of bundles.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. If non-null pagination token is returned in a result, then pass its value in another request to fetch more entries.

" + } + }, + "documentation":"

Result structure contains a list of all available bundles with details.

" + }, + "ListProjectsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "documentation":"

Maximum number of records to list in a single response.

", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

Pagination token. Set to null to start listing projects from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more projects.

", + "location":"querystring", + "locationName":"nextToken" + } + }, + "documentation":"

Request structure used to request projects list in AWS Mobile Hub.

" + }, + "ListProjectsResult":{ + "type":"structure", + "members":{ + "projects":{"shape":"ProjectSummaries"}, + "nextToken":{"shape":"NextToken"} + }, + "documentation":"

Result structure used for requests to list projects in AWS Mobile Hub.

" + }, + "MaxResults":{ + "type":"integer", + "documentation":"

Maximum number of records to list in a single response.

" + }, + "NextToken":{ + "type":"string", + "documentation":"

Pagination token. Set to null to start listing records from start. If non-null pagination token is returned in a result, then pass its value in here in another request to list more entries.

" + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

No entity can be found with the specified identifier.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Platform":{ + "type":"string", + "documentation":"

Developer desktop or target mobile app or website platform.

", + "enum":[ + "OSX", + "WINDOWS", + "LINUX", + "OBJC", + "SWIFT", + "ANDROID", + "JAVASCRIPT" + ] + }, + "Platforms":{ + "type":"list", + "member":{"shape":"Platform"}, + "documentation":"

Developer desktop or mobile app or website platforms.

" + }, + "ProjectDetails":{ + "type":"structure", + "members":{ + "name":{"shape":"ProjectName"}, + "projectId":{"shape":"ProjectId"}, + "region":{"shape":"ProjectRegion"}, + "state":{"shape":"ProjectState"}, + "createdDate":{ + "shape":"Date", + "documentation":"

Date the project was created.

" + }, + "lastUpdatedDate":{ + "shape":"Date", + "documentation":"

Date of the last modification of the project.

" + }, + "consoleUrl":{ + "shape":"ConsoleUrl", + "documentation":"

Website URL for this project in the AWS Mobile Hub console.

" + }, + "resources":{"shape":"Resources"} + }, + "documentation":"

Detailed information about an AWS Mobile Hub project.

" + }, + "ProjectId":{ + "type":"string", + "documentation":"

Unique project identifier.

" + }, + "ProjectName":{ + "type":"string", + "documentation":"

Name of the project.

" + }, + "ProjectRegion":{ + "type":"string", + "documentation":"

Default region to use for AWS resource creation in the AWS Mobile Hub project.

" + }, + "ProjectState":{ + "type":"string", + "documentation":"

Synchronization state for a project.

", + "enum":[ + "NORMAL", + "SYNCING", + "IMPORTING" + ] + }, + "ProjectSummaries":{ + "type":"list", + "member":{"shape":"ProjectSummary"}, + "documentation":"

List of projects.

" + }, + "ProjectSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ProjectName", + "documentation":"

Name of the project.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

" + } + }, + "documentation":"

Summary information about an AWS Mobile Hub project.

" + }, + "Resource":{ + "type":"structure", + "members":{ + "type":{"shape":"ResourceType"}, + "name":{"shape":"ResourceName"}, + "arn":{"shape":"ResourceArn"}, + "feature":{"shape":"Feature"}, + "attributes":{"shape":"Attributes"} + }, + "documentation":"

Information about an instance of an AWS resource associated with a project.

" + }, + "ResourceArn":{ + "type":"string", + "documentation":"

AWS resource name which uniquely identifies the resource in AWS systems.

" + }, + "ResourceName":{ + "type":"string", + "documentation":"

Name of the AWS resource (e.g., for an Amazon S3 bucket this is the name of the bucket).

" + }, + "ResourceType":{ + "type":"string", + "documentation":"

Simplified name for type of AWS resource (e.g., bucket is an Amazon S3 bucket).

" + }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"}, + "documentation":"

List of AWS resources associated with a project.

" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The service is temporarily unavailable. The request should be retried after some time delay.

", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "ShareUrl":{ + "type":"string", + "documentation":"

URL which can be shared to allow other AWS users to create their own project in AWS Mobile Hub with the same configuration as the specified project. This URL pertains to a snapshot in time of the project configuration that is created when this API is called. If you want to share additional changes to your project configuration, then you will need to create and share a new snapshot by calling this method again.

" + }, + "SnapshotId":{ + "type":"string", + "documentation":"

Unique identifier for the exported snapshot of the project configuration. This snapshot identifier is included in the share URL.

" + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "retryAfterSeconds":{ + "shape":"ErrorMessage", + "location":"header", + "locationName":"Retry-After" + }, + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Too many requests have been received for this AWS account in too short a time. The request should be retried after some time delay.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Credentials of the caller are insufficient to authorize the request.

", + "error":{"httpStatusCode":401}, + "exception":true + }, + "UpdateProjectRequest":{ + "type":"structure", + "required":["projectId"], + "members":{ + "contents":{ + "shape":"Contents", + "documentation":"

ZIP or YAML file which contains project configuration to be updated. This should be the contents of the file downloaded from the URL provided in an export project operation.

" + }, + "projectId":{ + "shape":"ProjectId", + "documentation":"

Unique project identifier.

", + "location":"querystring", + "locationName":"projectId" + } + }, + "documentation":"

Request structure used for requests to update project configuration.

", + "payload":"contents" + }, + "UpdateProjectResult":{ + "type":"structure", + "members":{ + "details":{ + "shape":"ProjectDetails", + "documentation":"

Detailed information about the updated AWS Mobile Hub project.

" + } + }, + "documentation":"

Result structure used for requests to updated project configuration.

" + } + }, + "documentation":"

AWS Mobile Service provides mobile app and website developers with capabilities required to configure AWS resources and bootstrap their developer desktop projects with the necessary SDKs, constants, tools and samples to make use of those resources.

" +} diff -Nru python-botocore-1.4.70/botocore/data/mq/2017-11-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mq/2017-11-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/mq/2017-11-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mq/2017-11-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListBrokers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BrokerSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mq/2017-11-27/service-2.json python-botocore-1.16.19+repack/botocore/data/mq/2017-11-27/service-2.json --- python-botocore-1.4.70/botocore/data/mq/2017-11-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mq/2017-11-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3112 @@ +{ + "metadata" : { + "apiVersion" : "2017-11-27", + "endpointPrefix" : "mq", + "signingName" : "mq", + "serviceFullName" : "AmazonMQ", + "serviceId" : "mq", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "mq-2017-11-27", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateBroker" : { + "name" : "CreateBroker", + "http" : { + "method" : "POST", + "requestUri" : "/v1/brokers", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateBrokerRequest" + }, + "output" : { + "shape" : "CreateBrokerResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "UnauthorizedException", + "documentation" : "HTTP Status Code 401: Unauthorized request. The provided credentials couldn't be validated." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. This broker name already exists. Retry your request with another name." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Creates a broker. Note: This API is asynchronous." + }, + "CreateConfiguration" : { + "name" : "CreateConfiguration", + "http" : { + "method" : "POST", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationRequest" + }, + "output" : { + "shape" : "CreateConfigurationResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. This configuration name already exists. Retry your request with another configuration name." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your input and then retry your request." + } ], + "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." + }, + "CreateTags" : { + "name" : "CreateTags", + "http" : { + "method" : "POST", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "CreateTagsRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Add a tag to a resource." + }, + "CreateUser" : { + "name" : "CreateUser", + "http" : { + "method" : "POST", + "requestUri" : "/v1/brokers/{broker-id}/users/{username}", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateUserRequest" + }, + "output" : { + "shape" : "CreateUserResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Creates an ActiveMQ user." + }, + "DeleteBroker" : { + "name" : "DeleteBroker", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/brokers/{broker-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteBrokerRequest" + }, + "output" : { + "shape" : "DeleteBrokerResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Deletes a broker. Note: This API is asynchronous." + }, + "DeleteTags" : { + "name" : "DeleteTags", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteTagsRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Removes a tag from a resource." + }, + "DeleteUser" : { + "name" : "DeleteUser", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/brokers/{broker-id}/users/{username}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteUserRequest" + }, + "output" : { + "shape" : "DeleteUserResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Deletes an ActiveMQ user." + }, + "DescribeBroker" : { + "name" : "DescribeBroker", + "http" : { + "method" : "GET", + "requestUri" : "/v1/brokers/{broker-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeBrokerRequest" + }, + "output" : { + "shape" : "DescribeBrokerResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns information about the specified broker." + }, + "DescribeBrokerEngineTypes" : { + "name" : "DescribeBrokerEngineTypes", + "http" : { + "method" : "GET", + "requestUri" : "/v1/broker-engine-types", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeBrokerEngineTypesRequest" + }, + "output" : { + "shape" : "DescribeBrokerEngineTypesResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Describe available engine types and versions." + }, + "DescribeBrokerInstanceOptions" : { + "name" : "DescribeBrokerInstanceOptions", + "http" : { + "method" : "GET", + "requestUri" : "/v1/broker-instance-options", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeBrokerInstanceOptionsRequest" + }, + "output" : { + "shape" : "DescribeBrokerInstanceOptionsResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Describe available broker instance options." + }, + "DescribeConfiguration" : { + "name" : "DescribeConfiguration", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{configuration-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeConfigurationRequest" + }, + "output" : { + "shape" : "DescribeConfigurationResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns information about the specified configuration." + }, + "DescribeConfigurationRevision" : { + "name" : "DescribeConfigurationRevision", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{configuration-id}/revisions/{configuration-revision}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeConfigurationRevisionRequest" + }, + "output" : { + "shape" : "DescribeConfigurationRevisionResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns the specified configuration revision for the specified configuration." + }, + "DescribeUser" : { + "name" : "DescribeUser", + "http" : { + "method" : "GET", + "requestUri" : "/v1/brokers/{broker-id}/users/{username}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DescribeUserRequest" + }, + "output" : { + "shape" : "DescribeUserResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns information about an ActiveMQ user." + }, + "ListBrokers" : { + "name" : "ListBrokers", + "http" : { + "method" : "GET", + "requestUri" : "/v1/brokers", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListBrokersRequest" + }, + "output" : { + "shape" : "ListBrokersResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns a list of all brokers." + }, + "ListConfigurationRevisions" : { + "name" : "ListConfigurationRevisions", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations/{configuration-id}/revisions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationRevisionsRequest" + }, + "output" : { + "shape" : "ListConfigurationRevisionsResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns a list of all revisions for the specified configuration." + }, + "ListConfigurations" : { + "name" : "ListConfigurations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/configurations", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationsRequest" + }, + "output" : { + "shape" : "ListConfigurationsResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns a list of all configurations." + }, + "ListTags" : { + "name" : "ListTags", + "http" : { + "method" : "GET", + "requestUri" : "/v1/tags/{resource-arn}", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListTagsRequest" + }, + "output" : { + "shape" : "ListTagsResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Lists tags for a resource." + }, + "ListUsers" : { + "name" : "ListUsers", + "http" : { + "method" : "GET", + "requestUri" : "/v1/brokers/{broker-id}/users", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListUsersRequest" + }, + "output" : { + "shape" : "ListUsersResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Returns a list of all ActiveMQ users." + }, + "RebootBroker" : { + "name" : "RebootBroker", + "http" : { + "method" : "POST", + "requestUri" : "/v1/brokers/{broker-id}/reboot", + "responseCode" : 200 + }, + "input" : { + "shape" : "RebootBrokerRequest" + }, + "output" : { + "shape" : "RebootBrokerResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Reboots a broker. Note: This API is asynchronous." + }, + "UpdateBroker" : { + "name" : "UpdateBroker", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/brokers/{broker-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateBrokerRequest" + }, + "output" : { + "shape" : "UpdateBrokerResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. Concurrent broker update detected. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Adds a pending configuration change to a broker." + }, + "UpdateConfiguration" : { + "name" : "UpdateConfiguration", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/configurations/{configuration-id}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConfigurationRequest" + }, + "output" : { + "shape" : "UpdateConfigurationResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. Concurrent update to configuration. Retry to create a new revision." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your input and then retry your request." + } ], + "documentation" : "Updates the specified configuration." + }, + "UpdateUser" : { + "name" : "UpdateUser", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/brokers/{broker-id}/users/{username}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateUserRequest" + }, + "output" : { + "shape" : "UpdateUserResponse", + "documentation" : "HTTP Status Code 200: OK." + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "HTTP Status Code 404: Resource not found due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "BadRequestException", + "documentation" : "HTTP Status Code 400: Bad request due to incorrect input. Correct your request and then retry it." + }, { + "shape" : "InternalServerErrorException", + "documentation" : "HTTP Status Code 500: Unexpected internal server error. Retrying your request might resolve the issue." + }, { + "shape" : "ConflictException", + "documentation" : "HTTP Status Code 409: Conflict. Retrying your request might resolve the issue." + }, { + "shape" : "ForbiddenException", + "documentation" : "HTTP Status Code 403: Access forbidden. Correct your credentials and then retry your request." + } ], + "documentation" : "Updates the information for an ActiveMQ user." + } + }, + "shapes" : { + "AvailabilityZone" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Id for the availability zone." + } + }, + "documentation" : "Name of the availability zone." + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "BrokerEngineType" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "The type of broker engine." + }, + "EngineVersions" : { + "shape" : "__listOfEngineVersion", + "locationName" : "engineVersions", + "documentation" : "The list of engine versions." + } + }, + "documentation" : "Types of broker engines." + }, + "BrokerEngineTypeOutput" : { + "type" : "structure", + "members" : { + "BrokerEngineTypes" : { + "shape" : "__listOfBrokerEngineType", + "locationName" : "brokerEngineTypes", + "documentation" : "List of available engine types and versions." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "Returns a list of broker engine type." + }, + "BrokerInstance" : { + "type" : "structure", + "members" : { + "ConsoleURL" : { + "shape" : "__string", + "locationName" : "consoleURL", + "documentation" : "The URL of the broker's ActiveMQ Web Console." + }, + "Endpoints" : { + "shape" : "__listOf__string", + "locationName" : "endpoints", + "documentation" : "The broker's wire-level protocol endpoints." + }, + "IpAddress" : { + "shape" : "__string", + "locationName" : "ipAddress", + "documentation" : "The IP address of the Elastic Network Interface (ENI) attached to the broker." + } + }, + "documentation" : "Returns information about all brokers." + }, + "BrokerInstanceOption" : { + "type" : "structure", + "members" : { + "AvailabilityZones" : { + "shape" : "__listOfAvailabilityZone", + "locationName" : "availabilityZones", + "documentation" : "The list of available az." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "The type of broker engine." + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The type of broker instance." + }, + "StorageType" : { + "shape" : "BrokerStorageType", + "locationName" : "storageType", + "documentation" : "The broker's storage type." + }, + "SupportedDeploymentModes" : { + "shape" : "__listOfDeploymentMode", + "locationName" : "supportedDeploymentModes", + "documentation" : "The list of supported deployment modes." + }, + "SupportedEngineVersions" : { + "shape" : "__listOf__string", + "locationName" : "supportedEngineVersions", + "documentation" : "The list of supported engine versions." + } + }, + "documentation" : "Option for host instance type." + }, + "BrokerInstanceOptionsOutput" : { + "type" : "structure", + "members" : { + "BrokerInstanceOptions" : { + "shape" : "__listOfBrokerInstanceOption", + "locationName" : "brokerInstanceOptions", + "documentation" : "List of available broker instance options." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "Returns a list of broker instance options." + }, + "BrokerState" : { + "type" : "string", + "documentation" : "The status of the broker.", + "enum" : [ "CREATION_IN_PROGRESS", "CREATION_FAILED", "DELETION_IN_PROGRESS", "RUNNING", "REBOOT_IN_PROGRESS" ] + }, + "BrokerStorageType" : { + "type" : "string", + "documentation" : "The storage type of the broker.", + "enum" : [ "EBS", "EFS" ] + }, + "BrokerSummary" : { + "type" : "structure", + "members" : { + "BrokerArn" : { + "shape" : "__string", + "locationName" : "brokerArn", + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "BrokerName" : { + "shape" : "__string", + "locationName" : "brokerName", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "BrokerState" : { + "shape" : "BrokerState", + "locationName" : "brokerState", + "documentation" : "The status of the broker." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "The time when the broker was created." + }, + "DeploymentMode" : { + "shape" : "DeploymentMode", + "locationName" : "deploymentMode", + "documentation" : "Required. The deployment mode of the broker." + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The broker's instance type." + } + }, + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "ChangeType" : { + "type" : "string", + "documentation" : "The type of change pending for the ActiveMQ user.", + "enum" : [ "CREATE", "UPDATE", "DELETE" ] + }, + "Configuration" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The ARN of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration revision." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "Required. The description of the configuration." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "Required. The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this configuration." + } + }, + "documentation" : "Returns information about all configurations." + }, + "ConfigurationId" : { + "type" : "structure", + "members" : { + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "Revision" : { + "shape" : "__integer", + "locationName" : "revision", + "documentation" : "The revision number of the configuration." + } + }, + "documentation" : "A list of information about the configuration." + }, + "ConfigurationRevision" : { + "type" : "structure", + "members" : { + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration revision." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "The description of the configuration revision." + }, + "Revision" : { + "shape" : "__integer", + "locationName" : "revision", + "documentation" : "Required. The revision number of the configuration." + } + }, + "documentation" : "Returns information about the specified configuration revision." + }, + "Configurations" : { + "type" : "structure", + "members" : { + "Current" : { + "shape" : "ConfigurationId", + "locationName" : "current", + "documentation" : "The current configuration of the broker." + }, + "History" : { + "shape" : "__listOfConfigurationId", + "locationName" : "history", + "documentation" : "The history of configurations applied to the broker." + }, + "Pending" : { + "shape" : "ConfigurationId", + "locationName" : "pending", + "documentation" : "The pending configuration of the broker." + } + }, + "documentation" : "Broker configuration information" + }, + "ConflictException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "CreateBrokerInput" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "BrokerName" : { + "shape" : "__string", + "locationName" : "brokerName", + "documentation" : "Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "A list of information about the configuration." + }, + "CreatorRequestId" : { + "shape" : "__string", + "locationName" : "creatorRequestId", + "documentation" : "The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.", + "idempotencyToken" : true + }, + "DeploymentMode" : { + "shape" : "DeploymentMode", + "locationName" : "deploymentMode", + "documentation" : "Required. The deployment mode of the broker." + }, + "EncryptionOptions" : { + "shape" : "EncryptionOptions", + "locationName" : "encryptionOptions", + "documentation" : "Encryption options for the broker." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "Required. The broker's instance type." + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "Enables Amazon CloudWatch logging for brokers." + }, + "MaintenanceWindowStartTime" : { + "shape" : "WeeklyStartTime", + "locationName" : "maintenanceWindowStartTime", + "documentation" : "The parameters that determine the WeeklyStartTime." + }, + "PubliclyAccessible" : { + "shape" : "__boolean", + "locationName" : "publiclyAccessible", + "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + }, + "StorageType" : { + "shape" : "BrokerStorageType", + "locationName" : "storageType", + "documentation" : "The broker's storage type." + }, + "SubnetIds" : { + "shape" : "__listOf__string", + "locationName" : "subnetIds", + "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the broker." + }, + "Users" : { + "shape" : "__listOfUser", + "locationName" : "users", + "documentation" : "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "CreateBrokerOutput" : { + "type" : "structure", + "members" : { + "BrokerArn" : { + "shape" : "__string", + "locationName" : "brokerArn", + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + } + }, + "documentation" : "Returns information about the created broker." + }, + "CreateBrokerRequest" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "BrokerName" : { + "shape" : "__string", + "locationName" : "brokerName", + "documentation" : "Required. The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "A list of information about the configuration." + }, + "CreatorRequestId" : { + "shape" : "__string", + "locationName" : "creatorRequestId", + "documentation" : "The unique ID that the requester receives for the created broker. Amazon MQ passes your ID with the API action. Note: We recommend using a Universally Unique Identifier (UUID) for the creatorRequestId. You may omit the creatorRequestId if your application doesn't require idempotency.", + "idempotencyToken" : true + }, + "DeploymentMode" : { + "shape" : "DeploymentMode", + "locationName" : "deploymentMode", + "documentation" : "Required. The deployment mode of the broker." + }, + "EncryptionOptions" : { + "shape" : "EncryptionOptions", + "locationName" : "encryptionOptions", + "documentation" : "Encryption options for the broker." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "Required. The broker's instance type." + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "Enables Amazon CloudWatch logging for brokers." + }, + "MaintenanceWindowStartTime" : { + "shape" : "WeeklyStartTime", + "locationName" : "maintenanceWindowStartTime", + "documentation" : "The parameters that determine the WeeklyStartTime." + }, + "PubliclyAccessible" : { + "shape" : "__boolean", + "locationName" : "publiclyAccessible", + "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + }, + "StorageType" : { + "shape" : "BrokerStorageType", + "locationName" : "storageType", + "documentation" : "The broker's storage type." + }, + "SubnetIds" : { + "shape" : "__listOf__string", + "locationName" : "subnetIds", + "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the broker." + }, + "Users" : { + "shape" : "__listOfUser", + "locationName" : "users", + "documentation" : "Required. The list of ActiveMQ users (persons or applications) who can access queues and topics. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Creates a broker using the specified properties." + }, + "CreateBrokerResponse" : { + "type" : "structure", + "members" : { + "BrokerArn" : { + "shape" : "__string", + "locationName" : "brokerArn", + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + } + } + }, + "CreateConfigurationInput" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the configuration." + } + }, + "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." + }, + "CreateConfigurationOutput" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + } + }, + "documentation" : "Returns information about the created configuration." + }, + "CreateConfigurationRequest" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "Create tags when creating the configuration." + } + }, + "documentation" : "Creates a new configuration for the specified configuration name. Amazon MQ uses the default configuration (the engine type and version)." + }, + "CreateConfigurationResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + } + } + }, + "CreateTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." + } + }, + "documentation" : "A map of the key-value pairs for the resource tag.", + "required" : [ "ResourceArn" ] + }, + "CreateUserInput" : { + "type" : "structure", + "members" : { + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Password" : { + "shape" : "__string", + "locationName" : "password", + "documentation" : "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." + } + }, + "documentation" : "Creates a new ActiveMQ user." + }, + "CreateUserRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Password" : { + "shape" : "__string", + "locationName" : "password", + "documentation" : "Required. The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." + }, + "Username" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "username", + "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Creates a new ActiveMQ user.", + "required" : [ "Username", "BrokerId" ] + }, + "CreateUserResponse" : { + "type" : "structure", + "members" : { } + }, + "DayOfWeek" : { + "type" : "string", + "enum" : [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] + }, + "DeleteBrokerOutput" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + } + }, + "documentation" : "Returns information about the deleted broker." + }, + "DeleteBrokerRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + } + }, + "required" : [ "BrokerId" ] + }, + "DeleteBrokerResponse" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + } + } + }, + "DeleteTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." + }, + "TagKeys" : { + "shape" : "__listOf__string", + "location" : "querystring", + "locationName" : "tagKeys", + "documentation" : "An array of tag keys to delete" + } + }, + "required" : [ "TagKeys", "ResourceArn" ] + }, + "DeleteUserRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "Username" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "username", + "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "required" : [ "Username", "BrokerId" ] + }, + "DeleteUserResponse" : { + "type" : "structure", + "members" : { } + }, + "DeploymentMode" : { + "type" : "string", + "documentation" : "The deployment mode of the broker.", + "enum" : [ "SINGLE_INSTANCE", "ACTIVE_STANDBY_MULTI_AZ" ] + }, + "DescribeBrokerEngineTypesRequest" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "engineType", + "documentation" : "Filter response by engine type." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of engine types that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerEngineTypesResponse" : { + "type" : "structure", + "members" : { + "BrokerEngineTypes" : { + "shape" : "__listOfBrokerEngineType", + "locationName" : "brokerEngineTypes", + "documentation" : "List of available engine types and versions." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of engine types that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerInstanceOptionsRequest" : { + "type" : "structure", + "members" : { + "EngineType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "engineType", + "documentation" : "Filter response by engine type." + }, + "HostInstanceType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "hostInstanceType", + "documentation" : "Filter response by host instance type." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of instance options that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + }, + "StorageType" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "storageType", + "documentation" : "Filter response by storage type." + } + } + }, + "DescribeBrokerInstanceOptionsResponse" : { + "type" : "structure", + "members" : { + "BrokerInstanceOptions" : { + "shape" : "__listOfBrokerInstanceOption", + "locationName" : "brokerInstanceOptions", + "documentation" : "List of available broker instance options." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of instance options that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "DescribeBrokerOutput" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "BrokerArn" : { + "shape" : "__string", + "locationName" : "brokerArn", + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "BrokerInstances" : { + "shape" : "__listOfBrokerInstance", + "locationName" : "brokerInstances", + "documentation" : "A list of information about allocated brokers." + }, + "BrokerName" : { + "shape" : "__string", + "locationName" : "brokerName", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "BrokerState" : { + "shape" : "BrokerState", + "locationName" : "brokerState", + "documentation" : "The status of the broker." + }, + "Configurations" : { + "shape" : "Configurations", + "locationName" : "configurations", + "documentation" : "The list of all revisions for the specified configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "The time when the broker was created." + }, + "DeploymentMode" : { + "shape" : "DeploymentMode", + "locationName" : "deploymentMode", + "documentation" : "Required. The deployment mode of the broker." + }, + "EncryptionOptions" : { + "shape" : "EncryptionOptions", + "locationName" : "encryptionOptions", + "documentation" : "Encryption options for the broker." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The broker's instance type." + }, + "Logs" : { + "shape" : "LogsSummary", + "locationName" : "logs", + "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." + }, + "MaintenanceWindowStartTime" : { + "shape" : "WeeklyStartTime", + "locationName" : "maintenanceWindowStartTime", + "documentation" : "The parameters that determine the WeeklyStartTime." + }, + "PendingEngineVersion" : { + "shape" : "__string", + "locationName" : "pendingEngineVersion", + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "PendingHostInstanceType" : { + "shape" : "__string", + "locationName" : "pendingHostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "PendingSecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "pendingSecurityGroups", + "documentation" : "The list of pending security groups to authorize connections to brokers." + }, + "PubliclyAccessible" : { + "shape" : "__boolean", + "locationName" : "publiclyAccessible", + "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + }, + "StorageType" : { + "shape" : "BrokerStorageType", + "locationName" : "storageType", + "documentation" : "The broker's storage type." + }, + "SubnetIds" : { + "shape" : "__listOf__string", + "locationName" : "subnetIds", + "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this broker." + }, + "Users" : { + "shape" : "__listOfUserSummary", + "locationName" : "users", + "documentation" : "The list of all ActiveMQ usernames for the specified broker." + } + }, + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "DescribeBrokerRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + } + }, + "required" : [ "BrokerId" ] + }, + "DescribeBrokerResponse" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Required. Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "BrokerArn" : { + "shape" : "__string", + "locationName" : "brokerArn", + "documentation" : "The Amazon Resource Name (ARN) of the broker." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "BrokerInstances" : { + "shape" : "__listOfBrokerInstance", + "locationName" : "brokerInstances", + "documentation" : "A list of information about allocated brokers." + }, + "BrokerName" : { + "shape" : "__string", + "locationName" : "brokerName", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "BrokerState" : { + "shape" : "BrokerState", + "locationName" : "brokerState", + "documentation" : "The status of the broker." + }, + "Configurations" : { + "shape" : "Configurations", + "locationName" : "configurations", + "documentation" : "The list of all revisions for the specified configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "The time when the broker was created." + }, + "DeploymentMode" : { + "shape" : "DeploymentMode", + "locationName" : "deploymentMode", + "documentation" : "Required. The deployment mode of the broker." + }, + "EncryptionOptions" : { + "shape" : "EncryptionOptions", + "locationName" : "encryptionOptions", + "documentation" : "Encryption options for the broker." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The broker's instance type." + }, + "Logs" : { + "shape" : "LogsSummary", + "locationName" : "logs", + "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." + }, + "MaintenanceWindowStartTime" : { + "shape" : "WeeklyStartTime", + "locationName" : "maintenanceWindowStartTime", + "documentation" : "The parameters that determine the WeeklyStartTime." + }, + "PendingEngineVersion" : { + "shape" : "__string", + "locationName" : "pendingEngineVersion", + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "PendingHostInstanceType" : { + "shape" : "__string", + "locationName" : "pendingHostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "PendingSecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "pendingSecurityGroups", + "documentation" : "The list of pending security groups to authorize connections to brokers." + }, + "PubliclyAccessible" : { + "shape" : "__boolean", + "locationName" : "publiclyAccessible", + "documentation" : "Required. Enables connections from applications outside of the VPC that hosts the broker's subnets." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + }, + "StorageType" : { + "shape" : "BrokerStorageType", + "locationName" : "storageType", + "documentation" : "The broker's storage type." + }, + "SubnetIds" : { + "shape" : "__listOf__string", + "locationName" : "subnetIds", + "documentation" : "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this broker." + }, + "Users" : { + "shape" : "__listOfUserSummary", + "locationName" : "users", + "documentation" : "The list of all ActiveMQ usernames for the specified broker." + } + } + }, + "DescribeConfigurationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "configuration-id", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + } + }, + "required" : [ "ConfigurationId" ] + }, + "DescribeConfigurationResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The ARN of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration revision." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "Required. The description of the configuration." + }, + "EngineType" : { + "shape" : "EngineType", + "locationName" : "engineType", + "documentation" : "Required. The type of broker engine. Note: Currently, Amazon MQ supports only ACTIVEMQ." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "Required. The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "Required. The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The list of all tags associated with this configuration." + } + } + }, + "DescribeConfigurationRevisionOutput" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "locationName" : "configurationId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Data" : { + "shape" : "__string", + "locationName" : "data", + "documentation" : "Required. The base64-encoded XML configuration." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "The description of the configuration." + } + }, + "documentation" : "Returns the specified configuration revision for the specified configuration." + }, + "DescribeConfigurationRevisionRequest" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "configuration-id", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + }, + "ConfigurationRevision" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "configuration-revision", + "documentation" : "The revision of the configuration." + } + }, + "required" : [ "ConfigurationRevision", "ConfigurationId" ] + }, + "DescribeConfigurationRevisionResponse" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "locationName" : "configurationId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Data" : { + "shape" : "__string", + "locationName" : "data", + "documentation" : "Required. The base64-encoded XML configuration." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "The description of the configuration." + } + } + }, + "DescribeUserOutput" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Pending" : { + "shape" : "UserPendingChanges", + "locationName" : "pending", + "documentation" : "The status of the changes pending for the ActiveMQ user." + }, + "Username" : { + "shape" : "__string", + "locationName" : "username", + "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Returns information about an ActiveMQ user." + }, + "DescribeUserRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "Username" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "username", + "documentation" : "The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "required" : [ "Username", "BrokerId" ] + }, + "DescribeUserResponse" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Pending" : { + "shape" : "UserPendingChanges", + "locationName" : "pending", + "documentation" : "The status of the changes pending for the ActiveMQ user." + }, + "Username" : { + "shape" : "__string", + "locationName" : "username", + "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + } + }, + "EncryptionOptions" : { + "type" : "structure", + "members" : { + "KmsKeyId" : { + "shape" : "__string", + "locationName" : "kmsKeyId", + "documentation" : "The customer master key (CMK) to use for the AWS Key Management Service (KMS). This key is used to encrypt your data at rest. If not provided, Amazon MQ will use a default CMK to encrypt your data." + }, + "UseAwsOwnedKey" : { + "shape" : "__boolean", + "locationName" : "useAwsOwnedKey", + "documentation" : "Enables the use of an AWS owned CMK using AWS Key Management Service (KMS)." + } + }, + "documentation" : "Encryption options for the broker.", + "required" : [ "UseAwsOwnedKey" ] + }, + "EngineType" : { + "type" : "string", + "documentation" : "The type of broker engine. Note: Currently, Amazon MQ supports only ActiveMQ.", + "enum" : [ "ACTIVEMQ" ] + }, + "EngineVersion" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Id for the version." + } + }, + "documentation" : "Id of the engine version." + }, + "Error" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error." + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "InternalServerErrorException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "ListBrokersOutput" : { + "type" : "structure", + "members" : { + "BrokerSummaries" : { + "shape" : "__listOfBrokerSummary", + "locationName" : "brokerSummaries", + "documentation" : "A list of information about all brokers." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "A list of information about all brokers." + }, + "ListBrokersRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of brokers that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "ListBrokersResponse" : { + "type" : "structure", + "members" : { + "BrokerSummaries" : { + "shape" : "__listOfBrokerSummary", + "locationName" : "brokerSummaries", + "documentation" : "A list of information about all brokers." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "ListConfigurationRevisionsOutput" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "locationName" : "configurationId", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + }, + "MaxResults" : { + "shape" : "__integer", + "locationName" : "maxResults", + "documentation" : "The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + }, + "Revisions" : { + "shape" : "__listOfConfigurationRevision", + "locationName" : "revisions", + "documentation" : "The list of all revisions for the specified configuration." + } + }, + "documentation" : "Returns a list of all revisions for the specified configuration." + }, + "ListConfigurationRevisionsRequest" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "configuration-id", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "required" : [ "ConfigurationId" ] + }, + "ListConfigurationRevisionsResponse" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "locationName" : "configurationId", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + }, + "MaxResults" : { + "shape" : "__integer", + "locationName" : "maxResults", + "documentation" : "The maximum number of configuration revisions that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + }, + "Revisions" : { + "shape" : "__listOfConfigurationRevision", + "locationName" : "revisions", + "documentation" : "The list of all revisions for the specified configuration." + } + } + }, + "ListConfigurationsOutput" : { + "type" : "structure", + "members" : { + "Configurations" : { + "shape" : "__listOfConfiguration", + "locationName" : "configurations", + "documentation" : "The list of all revisions for the specified configuration." + }, + "MaxResults" : { + "shape" : "__integer", + "locationName" : "maxResults", + "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "documentation" : "Returns a list of all configurations." + }, + "ListConfigurationsRequest" : { + "type" : "structure", + "members" : { + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "ListConfigurationsResponse" : { + "type" : "structure", + "members" : { + "Configurations" : { + "shape" : "__listOfConfiguration", + "locationName" : "configurations", + "documentation" : "The list of all revisions for the specified configuration." + }, + "MaxResults" : { + "shape" : "__integer", + "locationName" : "maxResults", + "documentation" : "The maximum number of configurations that Amazon MQ can return per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + } + }, + "ListTagsRequest" : { + "type" : "structure", + "members" : { + "ResourceArn" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "resource-arn", + "documentation" : "The Amazon Resource Name (ARN) of the resource tag." + } + }, + "required" : [ "ResourceArn" ] + }, + "ListTagsResponse" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." + } + } + }, + "ListUsersOutput" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + }, + "Users" : { + "shape" : "__listOfUserSummary", + "locationName" : "users", + "documentation" : "Required. The list of all ActiveMQ usernames for the specified broker." + } + }, + "documentation" : "Returns a list of all ActiveMQ users." + }, + "ListUsersRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "MaxResults" : { + "shape" : "MaxResults", + "location" : "querystring", + "locationName" : "maxResults", + "documentation" : "The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + } + }, + "required" : [ "BrokerId" ] + }, + "ListUsersResponse" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "MaxResults" : { + "shape" : "__integerMin5Max100", + "locationName" : "maxResults", + "documentation" : "Required. The maximum number of ActiveMQ users that can be returned per page (20 by default). This value must be an integer from 5 to 100." + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "The token that specifies the next page of results Amazon MQ should return. To request the first page, leave nextToken empty." + }, + "Users" : { + "shape" : "__listOfUserSummary", + "locationName" : "users", + "documentation" : "Required. The list of all ActiveMQ usernames for the specified broker." + } + } + }, + "Logs" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit", + "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general", + "documentation" : "Enables general logging." + } + }, + "documentation" : "The list of information about logs to be enabled for the specified broker." + }, + "LogsSummary" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit", + "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." + }, + "AuditLogGroup" : { + "shape" : "__string", + "locationName" : "auditLogGroup", + "documentation" : "The location of the CloudWatch Logs log group where audit logs are sent." + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general", + "documentation" : "Enables general logging." + }, + "GeneralLogGroup" : { + "shape" : "__string", + "locationName" : "generalLogGroup", + "documentation" : "The location of the CloudWatch Logs log group where general logs are sent." + }, + "Pending" : { + "shape" : "PendingLogs", + "locationName" : "pending", + "documentation" : "The list of information about logs pending to be deployed for the specified broker." + } + }, + "documentation" : "The list of information about logs currently enabled and pending to be deployed for the specified broker." + }, + "MaxResults" : { + "type" : "integer", + "min" : 1, + "max" : 100 + }, + "NotFoundException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "PendingLogs" : { + "type" : "structure", + "members" : { + "Audit" : { + "shape" : "__boolean", + "locationName" : "audit", + "documentation" : "Enables audit logging. Every user management action made using JMX or the ActiveMQ Web Console is logged." + }, + "General" : { + "shape" : "__boolean", + "locationName" : "general", + "documentation" : "Enables general logging." + } + }, + "documentation" : "The list of information about logs to be enabled for the specified broker." + }, + "RebootBrokerRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + } + }, + "required" : [ "BrokerId" ] + }, + "RebootBrokerResponse" : { + "type" : "structure", + "members" : { } + }, + "SanitizationWarning" : { + "type" : "structure", + "members" : { + "AttributeName" : { + "shape" : "__string", + "locationName" : "attributeName", + "documentation" : "The name of the XML attribute that has been sanitized." + }, + "ElementName" : { + "shape" : "__string", + "locationName" : "elementName", + "documentation" : "The name of the XML element that has been sanitized." + }, + "Reason" : { + "shape" : "SanitizationWarningReason", + "locationName" : "reason", + "documentation" : "Required. The reason for which the XML elements or attributes were sanitized." + } + }, + "documentation" : "Returns information about the XML element or attribute that was sanitized in the configuration." + }, + "SanitizationWarningReason" : { + "type" : "string", + "documentation" : "The reason for which the XML elements or attributes were sanitized.", + "enum" : [ "DISALLOWED_ELEMENT_REMOVED", "DISALLOWED_ATTRIBUTE_REMOVED", "INVALID_ATTRIBUTE_VALUE_REMOVED" ] + }, + "Tags" : { + "type" : "structure", + "members" : { + "Tags" : { + "shape" : "__mapOf__string", + "locationName" : "tags", + "documentation" : "The key-value pair for the resource tag." + } + }, + "documentation" : "A map of the key-value pairs for the resource tag." + }, + "UnauthorizedException" : { + "type" : "structure", + "members" : { + "ErrorAttribute" : { + "shape" : "__string", + "locationName" : "errorAttribute", + "documentation" : "The attribute which caused the error." + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "The explanation of the error." + } + }, + "documentation" : "Returns information about an error.", + "exception" : true, + "error" : { + "httpStatusCode" : 401 + } + }, + "UpdateBrokerInput" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "A list of information about the configuration." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "Enables Amazon CloudWatch logging for brokers." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + } + }, + "documentation" : "Updates the broker using the specified properties." + }, + "UpdateBrokerOutput" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "The new value of automatic upgrades to new minor version for brokers." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "The ID of the updated configuration." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "The list of information about logs to be enabled for the specified broker." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + } + }, + "documentation" : "Returns information about the updated broker." + }, + "UpdateBrokerRequest" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot." + }, + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "A list of information about the configuration." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "Enables Amazon CloudWatch logging for brokers." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + } + }, + "documentation" : "Updates the broker using the specified properties.", + "required" : [ "BrokerId" ] + }, + "UpdateBrokerResponse" : { + "type" : "structure", + "members" : { + "AutoMinorVersionUpgrade" : { + "shape" : "__boolean", + "locationName" : "autoMinorVersionUpgrade", + "documentation" : "The new value of automatic upgrades to new minor version for brokers." + }, + "BrokerId" : { + "shape" : "__string", + "locationName" : "brokerId", + "documentation" : "Required. The unique ID that Amazon MQ generates for the broker." + }, + "Configuration" : { + "shape" : "ConfigurationId", + "locationName" : "configuration", + "documentation" : "The ID of the updated configuration." + }, + "EngineVersion" : { + "shape" : "__string", + "locationName" : "engineVersion", + "documentation" : "The version of the broker engine to upgrade to. For a list of supported engine versions, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/broker-engine.html" + }, + "HostInstanceType" : { + "shape" : "__string", + "locationName" : "hostInstanceType", + "documentation" : "The host instance type of the broker to upgrade to. For a list of supported instance types, see https://docs.aws.amazon.com/amazon-mq/latest/developer-guide//broker.html#broker-instance-types" + }, + "Logs" : { + "shape" : "Logs", + "locationName" : "logs", + "documentation" : "The list of information about logs to be enabled for the specified broker." + }, + "SecurityGroups" : { + "shape" : "__listOf__string", + "locationName" : "securityGroups", + "documentation" : "The list of security groups (1 minimum, 5 maximum) that authorizes connections to brokers." + } + } + }, + "UpdateConfigurationInput" : { + "type" : "structure", + "members" : { + "Data" : { + "shape" : "__string", + "locationName" : "data", + "documentation" : "Required. The base64-encoded XML configuration." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "The description of the configuration." + } + }, + "documentation" : "Updates the specified configuration." + }, + "UpdateConfigurationOutput" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Warnings" : { + "shape" : "__listOfSanitizationWarning", + "locationName" : "warnings", + "documentation" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." + } + }, + "documentation" : "Returns information about the updated configuration." + }, + "UpdateConfigurationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "configuration-id", + "documentation" : "The unique ID that Amazon MQ generates for the configuration." + }, + "Data" : { + "shape" : "__string", + "locationName" : "data", + "documentation" : "Required. The base64-encoded XML configuration." + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "The description of the configuration." + } + }, + "documentation" : "Updates the specified configuration.", + "required" : [ "ConfigurationId" ] + }, + "UpdateConfigurationResponse" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "Required. The Amazon Resource Name (ARN) of the configuration." + }, + "Created" : { + "shape" : "__timestampIso8601", + "locationName" : "created", + "documentation" : "Required. The date and time of the configuration." + }, + "Id" : { + "shape" : "__string", + "locationName" : "id", + "documentation" : "Required. The unique ID that Amazon MQ generates for the configuration." + }, + "LatestRevision" : { + "shape" : "ConfigurationRevision", + "locationName" : "latestRevision", + "documentation" : "The latest revision of the configuration." + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "Required. The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long." + }, + "Warnings" : { + "shape" : "__listOfSanitizationWarning", + "locationName" : "warnings", + "documentation" : "The list of the first 20 warnings about the configuration XML elements or attributes that were sanitized." + } + } + }, + "UpdateUserInput" : { + "type" : "structure", + "members" : { + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Password" : { + "shape" : "__string", + "locationName" : "password", + "documentation" : "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." + } + }, + "documentation" : "Updates the information for an ActiveMQ user." + }, + "UpdateUserRequest" : { + "type" : "structure", + "members" : { + "BrokerId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "broker-id", + "documentation" : "The unique ID that Amazon MQ generates for the broker." + }, + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Password" : { + "shape" : "__string", + "locationName" : "password", + "documentation" : "The password of the user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." + }, + "Username" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "username", + "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Updates the information for an ActiveMQ user.", + "required" : [ "Username", "BrokerId" ] + }, + "UpdateUserResponse" : { + "type" : "structure", + "members" : { } + }, + "User" : { + "type" : "structure", + "members" : { + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "Password" : { + "shape" : "__string", + "locationName" : "password", + "documentation" : "Required. The password of the ActiveMQ user. This value must be at least 12 characters long, must contain at least 4 unique characters, and must not contain commas." + }, + "Username" : { + "shape" : "__string", + "locationName" : "username", + "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "An ActiveMQ user associated with the broker." + }, + "UserPendingChanges" : { + "type" : "structure", + "members" : { + "ConsoleAccess" : { + "shape" : "__boolean", + "locationName" : "consoleAccess", + "documentation" : "Enables access to the the ActiveMQ Web Console for the ActiveMQ user." + }, + "Groups" : { + "shape" : "__listOf__string", + "locationName" : "groups", + "documentation" : "The list of groups (20 maximum) to which the ActiveMQ user belongs. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + }, + "PendingChange" : { + "shape" : "ChangeType", + "locationName" : "pendingChange", + "documentation" : "Required. The type of change pending for the ActiveMQ user." + } + }, + "documentation" : "Returns information about the status of the changes pending for the ActiveMQ user." + }, + "UserSummary" : { + "type" : "structure", + "members" : { + "PendingChange" : { + "shape" : "ChangeType", + "locationName" : "pendingChange", + "documentation" : "The type of change pending for the ActiveMQ user." + }, + "Username" : { + "shape" : "__string", + "locationName" : "username", + "documentation" : "Required. The username of the ActiveMQ user. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 2-100 characters long." + } + }, + "documentation" : "Returns a list of all ActiveMQ users." + }, + "WeeklyStartTime" : { + "type" : "structure", + "members" : { + "DayOfWeek" : { + "shape" : "DayOfWeek", + "locationName" : "dayOfWeek", + "documentation" : "Required. The day of the week." + }, + "TimeOfDay" : { + "shape" : "__string", + "locationName" : "timeOfDay", + "documentation" : "Required. The time, in 24-hour format." + }, + "TimeZone" : { + "shape" : "__string", + "locationName" : "timeZone", + "documentation" : "The time zone, UTC by default, in either the Country/City format, or the UTC offset format." + } + }, + "documentation" : "The scheduled time period relative to UTC during which Amazon MQ begins to apply pending updates or patches to the broker." + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__integerMin5Max100" : { + "type" : "integer", + "min" : 5, + "max" : 100 + }, + "__listOfAvailabilityZone" : { + "type" : "list", + "member" : { + "shape" : "AvailabilityZone" + } + }, + "__listOfBrokerEngineType" : { + "type" : "list", + "member" : { + "shape" : "BrokerEngineType" + } + }, + "__listOfBrokerInstance" : { + "type" : "list", + "member" : { + "shape" : "BrokerInstance" + } + }, + "__listOfBrokerInstanceOption" : { + "type" : "list", + "member" : { + "shape" : "BrokerInstanceOption" + } + }, + "__listOfBrokerSummary" : { + "type" : "list", + "member" : { + "shape" : "BrokerSummary" + } + }, + "__listOfConfiguration" : { + "type" : "list", + "member" : { + "shape" : "Configuration" + } + }, + "__listOfConfigurationId" : { + "type" : "list", + "member" : { + "shape" : "ConfigurationId" + } + }, + "__listOfConfigurationRevision" : { + "type" : "list", + "member" : { + "shape" : "ConfigurationRevision" + } + }, + "__listOfDeploymentMode" : { + "type" : "list", + "member" : { + "shape" : "DeploymentMode" + } + }, + "__listOfEngineVersion" : { + "type" : "list", + "member" : { + "shape" : "EngineVersion" + } + }, + "__listOfSanitizationWarning" : { + "type" : "list", + "member" : { + "shape" : "SanitizationWarning" + } + }, + "__listOfUser" : { + "type" : "list", + "member" : { + "shape" : "User" + } + }, + "__listOfUserSummary" : { + "type" : "list", + "member" : { + "shape" : "UserSummary" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__mapOf__string" : { + "type" : "map", + "key" : { + "shape" : "__string" + }, + "value" : { + "shape" : "__string" + } + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "authorizers" : { + "authorization_strategy" : { + "name" : "authorization_strategy", + "type" : "provided", + "placement" : { + "location" : "header", + "name" : "Authorization" + } + } + }, + "documentation" : "Amazon MQ is a managed message broker service for Apache ActiveMQ that makes it easy to set up and operate message brokers in the cloud. A message broker allows software applications and components to communicate using various programming languages, operating systems, and formal messaging protocols." +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/mturk/2017-01-17/examples-1.json python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/examples-1.json --- python-botocore-1.4.70/botocore/data/mturk/2017-01-17/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/mturk/2017-01-17/paginators-1.json python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/paginators-1.json --- python-botocore-1.4.70/botocore/data/mturk/2017-01-17/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,58 @@ +{ + "pagination": { + "ListAssignmentsForHIT": { + "result_key": "Assignments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListQualificationTypes": { + "result_key": "QualificationTypes", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListHITs": { + "result_key": "HITs", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListWorkerBlocks": { + "result_key": "WorkerBlocks", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListReviewableHITs": { + "result_key": "HITs", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListHITsForQualificationType": { + "result_key": "HITs", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListQualificationRequests": { + "result_key": "QualificationRequests", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListWorkersWithQualificationType": { + "result_key": "Qualifications", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListBonusPayments": { + "result_key": "BonusPayments", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/mturk/2017-01-17/service-2.json python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/service-2.json --- python-botocore-1.4.70/botocore/data/mturk/2017-01-17/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/mturk/2017-01-17/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2569 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-17", + "endpointPrefix":"mturk-requester", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Amazon MTurk", + "serviceFullName":"Amazon Mechanical Turk", + "serviceId":"MTurk", + "signatureVersion":"v4", + "targetPrefix":"MTurkRequesterServiceV20170117", + "uid":"mturk-requester-2017-01-17" + }, + "operations":{ + "AcceptQualificationRequest":{ + "name":"AcceptQualificationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptQualificationRequestRequest"}, + "output":{"shape":"AcceptQualificationRequestResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The AcceptQualificationRequest operation approves a Worker's request for a Qualification.

Only the owner of the Qualification type can grant a Qualification request for that type.

A successful request for the AcceptQualificationRequest operation returns with no errors and an empty body.

" + }, + "ApproveAssignment":{ + "name":"ApproveAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApproveAssignmentRequest"}, + "output":{"shape":"ApproveAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ApproveAssignment operation approves the results of a completed assignment.

Approving an assignment initiates two payments from the Requester's Amazon.com account

  • The Worker who submitted the results is paid the reward specified in the HIT.

  • Amazon Mechanical Turk fees are debited.

If the Requester's account does not have adequate funds for these payments, the call to ApproveAssignment returns an exception, and the approval is not processed. You can include an optional feedback message with the approval, which the Worker can see in the Status section of the web site.

You can also call this operation for assignments that were previous rejected and approve them by explicitly overriding the previous rejection. This only works on rejected assignments that were submitted within the previous 30 days and only if the assignment's related HIT has not been deleted.

", + "idempotent":true + }, + "AssociateQualificationWithWorker":{ + "name":"AssociateQualificationWithWorker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateQualificationWithWorkerRequest"}, + "output":{"shape":"AssociateQualificationWithWorkerResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The AssociateQualificationWithWorker operation gives a Worker a Qualification. AssociateQualificationWithWorker does not require that the Worker submit a Qualification request. It gives the Qualification directly to the Worker.

You can only assign a Qualification of a Qualification type that you created (using the CreateQualificationType operation).

Note: AssociateQualificationWithWorker does not affect any pending Qualification requests for the Qualification by the Worker. If you assign a Qualification to a Worker, then later grant a Qualification request made by the Worker, the granting of the request may modify the Qualification score. To resolve a pending Qualification request without affecting the Qualification the Worker already has, reject the request with the RejectQualificationRequest operation.

" + }, + "CreateAdditionalAssignmentsForHIT":{ + "name":"CreateAdditionalAssignmentsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAdditionalAssignmentsForHITRequest"}, + "output":{"shape":"CreateAdditionalAssignmentsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateAdditionalAssignmentsForHIT operation increases the maximum number of assignments of an existing HIT.

To extend the maximum number of assignments, specify the number of additional assignments.

  • HITs created with fewer than 10 assignments cannot be extended to have 10 or more assignments. Attempting to add assignments in a way that brings the total number of assignments for a HIT from fewer than 10 assignments to 10 or more assignments will result in an AWS.MechanicalTurk.InvalidMaximumAssignmentsIncrease exception.

  • HITs that were created before July 22, 2015 cannot be extended. Attempting to extend HITs that were created before July 22, 2015 will result in an AWS.MechanicalTurk.HITTooOldForExtension exception.

" + }, + "CreateHIT":{ + "name":"CreateHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITRequest"}, + "output":{"shape":"CreateHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHIT operation creates a new Human Intelligence Task (HIT). The new HIT is made available for Workers to find and accept on the Amazon Mechanical Turk website.

This operation allows you to specify a new HIT by passing in values for the properties of the HIT, such as its title, reward amount and number of assignments. When you pass these values to CreateHIT, a new HIT is created for you, with a new HITTypeID. The HITTypeID can be used to create additional HITs in the future without needing to specify common parameters such as the title, description and reward amount each time.

An alternative way to create HITs is to first generate a HITTypeID using the CreateHITType operation and then call the CreateHITWithHITType operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHIT also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" + }, + "CreateHITType":{ + "name":"CreateHITType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITTypeRequest"}, + "output":{"shape":"CreateHITTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHITType operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.

", + "idempotent":true + }, + "CreateHITWithHITType":{ + "name":"CreateHITWithHITType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHITWithHITTypeRequest"}, + "output":{"shape":"CreateHITWithHITTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateHITWithHITType operation creates a new Human Intelligence Task (HIT) using an existing HITTypeID generated by the CreateHITType operation.

This is an alternative way to create HITs from the CreateHIT operation. This is the recommended best practice for Requesters who are creating large numbers of HITs.

CreateHITWithHITType also supports several ways to provide question data: by providing a value for the Question parameter that fully specifies the contents of the HIT, or by providing a HitLayoutId and associated HitLayoutParameters.

If a HIT is created with 10 or more maximum assignments, there is an additional fee. For more information, see Amazon Mechanical Turk Pricing.

" + }, + "CreateQualificationType":{ + "name":"CreateQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateQualificationTypeRequest"}, + "output":{"shape":"CreateQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateQualificationType operation creates a new Qualification type, which is represented by a QualificationType data structure.

" + }, + "CreateWorkerBlock":{ + "name":"CreateWorkerBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkerBlockRequest"}, + "output":{"shape":"CreateWorkerBlockResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The CreateWorkerBlock operation allows you to prevent a Worker from working on your HITs. For example, you can block a Worker who is producing poor quality work. You can block up to 100,000 Workers.

" + }, + "DeleteHIT":{ + "name":"DeleteHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteHITRequest"}, + "output":{"shape":"DeleteHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteHIT operation is used to delete HIT that is no longer needed. Only the Requester who created the HIT can delete it.

You can only dispose of HITs that are in the Reviewable state, with all of their submitted assignments already either approved or rejected. If you call the DeleteHIT operation on a HIT that is not in the Reviewable state (for example, that has not expired, or still has active assignments), or on a HIT that is Reviewable but without all of its submitted assignments already approved or rejected, the service will return an error.

  • HITs are automatically disposed of after 120 days.

  • After you dispose of a HIT, you can no longer approve the HIT's rejected assignments.

  • Disposed HITs are not returned in results for the ListHITs operation.

  • Disposing HITs can improve the performance of operations such as ListReviewableHITs and ListHITs.

", + "idempotent":true + }, + "DeleteQualificationType":{ + "name":"DeleteQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteQualificationTypeRequest"}, + "output":{"shape":"DeleteQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteQualificationType deletes a Qualification type and deletes any HIT types that are associated with the Qualification type.

This operation does not revoke Qualifications already assigned to Workers because the Qualifications might be needed for active HITs. If there are any pending requests for the Qualification type, Amazon Mechanical Turk rejects those requests. After you delete a Qualification type, you can no longer use it to create HITs or HIT types.

DeleteQualificationType must wait for all the HITs that use the deleted Qualification type to be deleted before completing. It may take up to 48 hours before DeleteQualificationType completes and the unique name of the Qualification type is available for reuse with CreateQualificationType.

", + "idempotent":true + }, + "DeleteWorkerBlock":{ + "name":"DeleteWorkerBlock", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkerBlockRequest"}, + "output":{"shape":"DeleteWorkerBlockResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DeleteWorkerBlock operation allows you to reinstate a blocked Worker to work on your HITs. This operation reverses the effects of the CreateWorkerBlock operation. You need the Worker ID to use this operation. If the Worker ID is missing or invalid, this operation fails and returns the message “WorkerId is invalid.” If the specified Worker is not blocked, this operation returns successfully.

", + "idempotent":true + }, + "DisassociateQualificationFromWorker":{ + "name":"DisassociateQualificationFromWorker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateQualificationFromWorkerRequest"}, + "output":{"shape":"DisassociateQualificationFromWorkerResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The DisassociateQualificationFromWorker revokes a previously granted Qualification from a user.

You can provide a text message explaining why the Qualification was revoked. The user who had the Qualification can see this message.

" + }, + "GetAccountBalance":{ + "name":"GetAccountBalance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccountBalanceRequest"}, + "output":{"shape":"GetAccountBalanceResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetAccountBalance operation retrieves the amount of money in your Amazon Mechanical Turk account.

", + "idempotent":true + }, + "GetAssignment":{ + "name":"GetAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssignmentRequest"}, + "output":{"shape":"GetAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetAssignment operation retrieves the details of the specified Assignment.

", + "idempotent":true + }, + "GetFileUploadURL":{ + "name":"GetFileUploadURL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFileUploadURLRequest"}, + "output":{"shape":"GetFileUploadURLResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetFileUploadURL operation generates and returns a temporary URL. You use the temporary URL to retrieve a file uploaded by a Worker as an answer to a FileUploadAnswer question for a HIT. The temporary URL is generated the instant the GetFileUploadURL operation is called, and is valid for 60 seconds. You can get a temporary file upload URL any time until the HIT is disposed. After the HIT is disposed, any uploaded files are deleted, and cannot be retrieved. Pending Deprecation on December 12, 2017. The Answer Specification structure will no longer support the FileUploadAnswer element to be used for the QuestionForm data structure. Instead, we recommend that Requesters who want to create HITs asking Workers to upload files to use Amazon S3.

", + "idempotent":true + }, + "GetHIT":{ + "name":"GetHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetHITRequest"}, + "output":{"shape":"GetHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetHIT operation retrieves the details of the specified HIT.

", + "idempotent":true + }, + "GetQualificationScore":{ + "name":"GetQualificationScore", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQualificationScoreRequest"}, + "output":{"shape":"GetQualificationScoreResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetQualificationScore operation returns the value of a Worker's Qualification for a given Qualification type.

To get a Worker's Qualification, you must know the Worker's ID. The Worker's ID is included in the assignment data returned by the ListAssignmentsForHIT operation.

Only the owner of a Qualification type can query the value of a Worker's Qualification of that type.

", + "idempotent":true + }, + "GetQualificationType":{ + "name":"GetQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetQualificationTypeRequest"}, + "output":{"shape":"GetQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The GetQualificationTypeoperation retrieves information about a Qualification type using its ID.

", + "idempotent":true + }, + "ListAssignmentsForHIT":{ + "name":"ListAssignmentsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssignmentsForHITRequest"}, + "output":{"shape":"ListAssignmentsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListAssignmentsForHIT operation retrieves completed assignments for a HIT. You can use this operation to retrieve the results for a HIT.

You can get assignments for a HIT at any time, even if the HIT is not yet Reviewable. If a HIT requested multiple assignments, and has received some results but has not yet become Reviewable, you can still retrieve the partial results with this operation.

Use the AssignmentStatus parameter to control which set of assignments for a HIT are returned. The ListAssignmentsForHIT operation can return submitted assignments awaiting approval, or it can return assignments that have already been approved or rejected. You can set AssignmentStatus=Approved,Rejected to get assignments that have already been approved and rejected together in one result set.

Only the Requester who created the HIT can retrieve the assignments for that HIT.

Results are sorted and divided into numbered pages and the operation returns a single page of results. You can use the parameters of the operation to control sorting and pagination.

", + "idempotent":true + }, + "ListBonusPayments":{ + "name":"ListBonusPayments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBonusPaymentsRequest"}, + "output":{"shape":"ListBonusPaymentsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListBonusPayments operation retrieves the amounts of bonuses you have paid to Workers for a given HIT or assignment.

", + "idempotent":true + }, + "ListHITs":{ + "name":"ListHITs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHITsRequest"}, + "output":{"shape":"ListHITsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListHITs operation returns all of a Requester's HITs. The operation returns HITs of any status, except for HITs that have been deleted of with the DeleteHIT operation or that have been auto-deleted.

", + "idempotent":true + }, + "ListHITsForQualificationType":{ + "name":"ListHITsForQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHITsForQualificationTypeRequest"}, + "output":{"shape":"ListHITsForQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListHITsForQualificationType operation returns the HITs that use the given Qualification type for a Qualification requirement. The operation returns HITs of any status, except for HITs that have been deleted with the DeleteHIT operation or that have been auto-deleted.

", + "idempotent":true + }, + "ListQualificationRequests":{ + "name":"ListQualificationRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQualificationRequestsRequest"}, + "output":{"shape":"ListQualificationRequestsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListQualificationRequests operation retrieves requests for Qualifications of a particular Qualification type. The owner of the Qualification type calls this operation to poll for pending requests, and accepts them using the AcceptQualification operation.

", + "idempotent":true + }, + "ListQualificationTypes":{ + "name":"ListQualificationTypes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQualificationTypesRequest"}, + "output":{"shape":"ListQualificationTypesResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListQualificationTypes operation returns a list of Qualification types, filtered by an optional search term.

", + "idempotent":true + }, + "ListReviewPolicyResultsForHIT":{ + "name":"ListReviewPolicyResultsForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReviewPolicyResultsForHITRequest"}, + "output":{"shape":"ListReviewPolicyResultsForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListReviewPolicyResultsForHIT operation retrieves the computed results and the actions taken in the course of executing your Review Policies for a given HIT. For information about how to specify Review Policies when you call CreateHIT, see Review Policies. The ListReviewPolicyResultsForHIT operation can return results for both Assignment-level and HIT-level review results.

", + "idempotent":true + }, + "ListReviewableHITs":{ + "name":"ListReviewableHITs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListReviewableHITsRequest"}, + "output":{"shape":"ListReviewableHITsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListReviewableHITs operation retrieves the HITs with Status equal to Reviewable or Status equal to Reviewing that belong to the Requester calling the operation.

", + "idempotent":true + }, + "ListWorkerBlocks":{ + "name":"ListWorkerBlocks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkerBlocksRequest"}, + "output":{"shape":"ListWorkerBlocksResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListWorkersBlocks operation retrieves a list of Workers who are blocked from working on your HITs.

", + "idempotent":true + }, + "ListWorkersWithQualificationType":{ + "name":"ListWorkersWithQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkersWithQualificationTypeRequest"}, + "output":{"shape":"ListWorkersWithQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The ListWorkersWithQualificationType operation returns all of the Workers that have been associated with a given Qualification type.

", + "idempotent":true + }, + "NotifyWorkers":{ + "name":"NotifyWorkers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyWorkersRequest"}, + "output":{"shape":"NotifyWorkersResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The NotifyWorkers operation sends an email to one or more Workers that you specify with the Worker ID. You can specify up to 100 Worker IDs to send the same message with a single call to the NotifyWorkers operation. The NotifyWorkers operation will send a notification email to a Worker only if you have previously approved or rejected work from the Worker.

" + }, + "RejectAssignment":{ + "name":"RejectAssignment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectAssignmentRequest"}, + "output":{"shape":"RejectAssignmentResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The RejectAssignment operation rejects the results of a completed assignment.

You can include an optional feedback message with the rejection, which the Worker can see in the Status section of the web site. When you include a feedback message with the rejection, it helps the Worker understand why the assignment was rejected, and can improve the quality of the results the Worker submits in the future.

Only the Requester who created the HIT can reject an assignment for the HIT.

", + "idempotent":true + }, + "RejectQualificationRequest":{ + "name":"RejectQualificationRequest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectQualificationRequestRequest"}, + "output":{"shape":"RejectQualificationRequestResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The RejectQualificationRequest operation rejects a user's request for a Qualification.

You can provide a text message explaining why the request was rejected. The Worker who made the request can see this message.

" + }, + "SendBonus":{ + "name":"SendBonus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendBonusRequest"}, + "output":{"shape":"SendBonusResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The SendBonus operation issues a payment of money from your account to a Worker. This payment happens separately from the reward you pay to the Worker when you approve the Worker's assignment. The SendBonus operation requires the Worker's ID and the assignment ID as parameters to initiate payment of the bonus. You must include a message that explains the reason for the bonus payment, as the Worker may not be expecting the payment. Amazon Mechanical Turk collects a fee for bonus payments, similar to the HIT listing fee. This operation fails if your account does not have enough funds to pay for both the bonus and the fees.

" + }, + "SendTestEventNotification":{ + "name":"SendTestEventNotification", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTestEventNotificationRequest"}, + "output":{"shape":"SendTestEventNotificationResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The SendTestEventNotification operation causes Amazon Mechanical Turk to send a notification message as if a HIT event occurred, according to the provided notification specification. This allows you to test notifications without setting up notifications for a real HIT type and trying to trigger them using the website. When you call this operation, the service attempts to send the test notification immediately.

" + }, + "UpdateExpirationForHIT":{ + "name":"UpdateExpirationForHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateExpirationForHITRequest"}, + "output":{"shape":"UpdateExpirationForHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateExpirationForHIT operation allows you update the expiration time of a HIT. If you update it to a time in the past, the HIT will be immediately expired.

", + "idempotent":true + }, + "UpdateHITReviewStatus":{ + "name":"UpdateHITReviewStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHITReviewStatusRequest"}, + "output":{"shape":"UpdateHITReviewStatusResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateHITReviewStatus operation updates the status of a HIT. If the status is Reviewable, this operation can update the status to Reviewing, or it can revert a Reviewing HIT back to the Reviewable status.

", + "idempotent":true + }, + "UpdateHITTypeOfHIT":{ + "name":"UpdateHITTypeOfHIT", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHITTypeOfHITRequest"}, + "output":{"shape":"UpdateHITTypeOfHITResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateHITTypeOfHIT operation allows you to change the HITType properties of a HIT. This operation disassociates the HIT from its old HITType properties and associates it with the new HITType properties. The HIT takes on the properties of the new HITType in place of the old ones.

", + "idempotent":true + }, + "UpdateNotificationSettings":{ + "name":"UpdateNotificationSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNotificationSettingsRequest"}, + "output":{"shape":"UpdateNotificationSettingsResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateNotificationSettings operation creates, updates, disables or re-enables notifications for a HIT type. If you call the UpdateNotificationSettings operation for a HIT type that already has a notification specification, the operation replaces the old specification with a new one. You can call the UpdateNotificationSettings operation to enable or disable notifications for the HIT type, without having to modify the notification specification itself by providing updates to the Active status without specifying a new notification specification. To change the Active status of a HIT type's notifications, the HIT type must already have a notification specification, or one must be provided in the same call to UpdateNotificationSettings.

", + "idempotent":true + }, + "UpdateQualificationType":{ + "name":"UpdateQualificationType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateQualificationTypeRequest"}, + "output":{"shape":"UpdateQualificationTypeResponse"}, + "errors":[ + {"shape":"ServiceFault"}, + {"shape":"RequestError"} + ], + "documentation":"

The UpdateQualificationType operation modifies the attributes of an existing Qualification type, which is represented by a QualificationType data structure. Only the owner of a Qualification type can modify its attributes.

Most attributes of a Qualification type can be changed after the type has been created. However, the Name and Keywords fields cannot be modified. The RetryDelayInSeconds parameter can be modified or added to change the delay or to enable retries, but RetryDelayInSeconds cannot be used to disable retries.

You can use this operation to update the test for a Qualification type. The test is updated based on the values specified for the Test, TestDurationInSeconds and AnswerKey parameters. All three parameters specify the updated test. If you are updating the test for a type, you must specify the Test and TestDurationInSeconds parameters. The AnswerKey parameter is optional; omitting it specifies that the updated test does not have an answer key.

If you omit the Test parameter, the test for the Qualification type is unchanged. There is no way to remove a test from a Qualification type that has one. If the type already has a test, you cannot update it to be AutoGranted. If the Qualification type does not have a test and one is provided by an update, the type will henceforth have a test.

If you want to update the test duration or answer key for an existing test without changing the questions, you must specify a Test parameter with the original questions, along with the updated values.

If you provide an updated Test but no AnswerKey, the new test will not have an answer key. Requests for such Qualifications must be granted manually.

You can also update the AutoGranted and AutoGrantedValue attributes of the Qualification type.

" + } + }, + "shapes":{ + "AcceptQualificationRequestRequest":{ + "type":"structure", + "required":["QualificationRequestId"], + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, as returned by the GetQualificationRequests operation.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value of the Qualification. You can omit this value if you are using the presence or absence of the Qualification as the basis for a HIT requirement.

" + } + } + }, + "AcceptQualificationRequestResponse":{ + "type":"structure", + "members":{ + } + }, + "ApproveAssignmentRequest":{ + "type":"structure", + "required":["AssignmentId"], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" + }, + "OverrideRejection":{ + "shape":"Boolean", + "documentation":"

A flag indicating that an assignment should be approved even if it was previously rejected. Defaults to False.

" + } + } + }, + "ApproveAssignmentResponse":{ + "type":"structure", + "members":{ + } + }, + "Assignment":{ + "type":"structure", + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the assignment.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who accepted the HIT.

" + }, + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT.

" + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

The status of the assignment.

" + }, + "AutoApprovalTime":{ + "shape":"Timestamp", + "documentation":"

If results have been submitted, AutoApprovalTime is the date and time the results of the assignment results are considered Approved automatically if they have not already been explicitly approved or rejected by the Requester. This value is derived from the auto-approval delay specified by the Requester in the HIT. This value is omitted from the assignment if the Worker has not yet submitted results.

" + }, + "AcceptTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Worker accepted the assignment.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results, SubmitTime is the date and time the assignment was submitted. This value is omitted from the assignment if the Worker has not yet submitted results.

" + }, + "ApprovalTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results and the Requester has approved the results, ApprovalTime is the date and time the Requester approved the results. This value is omitted from the assignment if the Requester has not yet approved the results.

" + }, + "RejectionTime":{ + "shape":"Timestamp", + "documentation":"

If the Worker has submitted results and the Requester has rejected the results, RejectionTime is the date and time the Requester rejected the results.

" + }, + "Deadline":{ + "shape":"Timestamp", + "documentation":"

The date and time of the deadline for the assignment. This value is derived from the deadline specification for the HIT and the date and time the Worker accepted the HIT.

" + }, + "Answer":{ + "shape":"String", + "documentation":"

The Worker's answers submitted for the HIT contained in a QuestionFormAnswers document, if the Worker provides an answer. If the Worker does not provide any answers, Answer may contain a QuestionFormAnswers document, or Answer may be empty.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

The feedback string included with the call to the ApproveAssignment operation or the RejectAssignment operation, if the Requester approved or rejected the assignment and specified feedback.

" + } + }, + "documentation":"

The Assignment data structure represents a single assignment of a HIT to a Worker. The assignment tracks the Worker's efforts to complete the HIT, and contains the results for later retrieval.

" + }, + "AssignmentList":{ + "type":"list", + "member":{"shape":"Assignment"} + }, + "AssignmentStatus":{ + "type":"string", + "enum":[ + "Submitted", + "Approved", + "Rejected" + ] + }, + "AssignmentStatusList":{ + "type":"list", + "member":{"shape":"AssignmentStatus"} + }, + "AssociateQualificationWithWorkerRequest":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "WorkerId" + ], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to use for the assigned Qualification.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to whom the Qualification is being assigned. Worker IDs are included with submitted HIT assignments and Qualification requests.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value of the Qualification to assign.

" + }, + "SendNotification":{ + "shape":"Boolean", + "documentation":"

Specifies whether to send a notification email message to the Worker saying that the qualification was assigned to the Worker. Note: this is true by default.

" + } + } + }, + "AssociateQualificationWithWorkerResponse":{ + "type":"structure", + "members":{ + } + }, + "BonusPayment":{ + "type":"structure", + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to whom the bonus was paid.

" + }, + "BonusAmount":{"shape":"CurrencyAmount"}, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment associated with this bonus payment.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

The Reason text given when the bonus was granted, if any.

" + }, + "GrantTime":{ + "shape":"Timestamp", + "documentation":"

The date and time of when the bonus was granted.

" + } + }, + "documentation":"

An object representing a Bonus payment paid to a Worker.

" + }, + "BonusPaymentList":{ + "type":"list", + "member":{"shape":"BonusPayment"} + }, + "Boolean":{"type":"boolean"}, + "Comparator":{ + "type":"string", + "enum":[ + "LessThan", + "LessThanOrEqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "EqualTo", + "NotEqualTo", + "Exists", + "DoesNotExist", + "In", + "NotIn" + ] + }, + "CountryParameters":{ + "type":"string", + "max":2, + "min":2 + }, + "CreateAdditionalAssignmentsForHITRequest":{ + "type":"structure", + "required":[ + "HITId", + "NumberOfAdditionalAssignments" + ], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to extend.

" + }, + "NumberOfAdditionalAssignments":{ + "shape":"Integer", + "documentation":"

The number of additional assignments to request for this HIT.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request, which allows you to retry the call on error without extending the HIT multiple times. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the extend HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" + } + } + }, + "CreateAdditionalAssignmentsForHITResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateHITRequest":{ + "type":"structure", + "required":[ + "LifetimeInSeconds", + "AssignmentDurationInSeconds", + "Reward", + "Title", + "Description" + ], + "members":{ + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" + }, + "LifetimeInSeconds":{ + "shape":"Long", + "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" + }, + "Reward":{ + "shape":"CurrencyAmount", + "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "HITLayoutParameters":{ + "shape":"HITLayoutParameterList", + "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" + } + } + }, + "CreateHITResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" + } + } + }, + "CreateHITTypeRequest":{ + "type":"structure", + "required":[ + "AssignmentDurationInSeconds", + "Reward", + "Title", + "Description" + ], + "members":{ + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.

" + }, + "Reward":{ + "shape":"CurrencyAmount", + "documentation":"

The amount of money the Requester will pay a Worker for successfully completing the HIT.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" + } + } + }, + "CreateHITTypeResponse":{ + "type":"structure", + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the newly registered HIT type.

" + } + } + }, + "CreateHITWithHITTypeRequest":{ + "type":"structure", + "required":[ + "HITTypeId", + "LifetimeInSeconds" + ], + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The HIT type ID you want to create this HIT with.

" + }, + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "LifetimeInSeconds":{ + "shape":"Long", + "documentation":"

An amount of time, in seconds, after which the HIT is no longer available for users to accept. After the lifetime of the HIT elapses, the HIT no longer appears in HIT searches, even if not all of the assignments for the HIT have been accepted.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the person completing the HIT uses to produce the results.

Constraints: Must be a QuestionForm data structure, an ExternalQuestion data structure, or an HTMLQuestion data structure. The XML question data must not be larger than 64 kilobytes (65,535 bytes) in size, including whitespace.

Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field. The RequesterAnnotation parameter lets your application attach arbitrary data to the HIT for tracking purposes. For example, this parameter could be an identifier internal to the Requester's application that corresponds with the HIT.

The RequesterAnnotation parameter for a HIT is only visible to the Requester who created the HIT. It is not shown to the Worker, or any other Requester.

The RequesterAnnotation parameter may be different for each HIT you submit. It does not affect how your HITs are grouped.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request which allows you to retry the call on error without creating duplicate HITs. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the HIT already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return a AWS.MechanicalTurk.HitAlreadyExists error with a message containing the HITId.

Note: It is your responsibility to ensure uniqueness of the token. The unique token expires after 24 hours. Subsequent calls using the same UniqueRequestToken made after the 24 hour limit could create duplicate HITs.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The Assignment-level Review Policy applies to the assignments under the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The HIT-level Review Policy applies to the HIT. You can specify for Mechanical Turk to take various actions based on the policy.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The HITLayoutId allows you to use a pre-existing HIT design with placeholder values and create an additional HIT by providing those values as HITLayoutParameters.

Constraints: Either a Question parameter or a HITLayoutId parameter must be provided.

" + }, + "HITLayoutParameters":{ + "shape":"HITLayoutParameterList", + "documentation":"

If the HITLayoutId is provided, any placeholder values must be filled in with values using the HITLayoutParameter structure. For more information, see HITLayout.

" + } + } + }, + "CreateHITWithHITTypeResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the newly created HIT data. For a description of the HIT data structure as it appears in responses, see the HIT Data Structure documentation.

" + } + } + }, + "CreateQualificationTypeRequest":{ + "type":"structure", + "required":[ + "Name", + "Description", + "QualificationTypeStatus" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name you give to the Qualification type. The type name is used to represent the Qualification to Workers, and to find the type using a Qualification type search. It must be unique across all of your Qualification types.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the Qualification type, separated by commas. The keywords of a type make the type easier to find during a search.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A long description for the Qualification type. On the Amazon Mechanical Turk website, the long description is displayed when a Worker examines a Qualification type.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The initial status of the Qualification type.

Constraints: Valid values are: Active | Inactive

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds that a Worker must wait after requesting a Qualification of the Qualification type before the worker can retry the Qualification request.

Constraints: None. If not specified, retries are disabled and Workers can request a Qualification of this type only once, even if the Worker has not been granted the Qualification. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must delete existing retry-enabled Qualification type and then create a new Qualification type with retries disabled.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

Constraints: Must not be longer than 65535 bytes.

Constraints: None. If not specified, you must process Qualification requests manually.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" + } + } + }, + "CreateQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

The created Qualification type, returned as a QualificationType data structure.

" + } + } + }, + "CreateWorkerBlockRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "Reason" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to block.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message explaining the reason for blocking the Worker. This parameter enables you to keep track of your Workers. The Worker does not see this message.

" + } + } + }, + "CreateWorkerBlockResponse":{ + "type":"structure", + "members":{ + } + }, + "CurrencyAmount":{ + "type":"string", + "documentation":"

A string representing a currency amount.

", + "pattern":"^[0-9]+(\\.)?[0-9]{0,2}$" + }, + "CustomerId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^A[A-Z0-9]+$" + }, + "CustomerIdList":{ + "type":"list", + "member":{"shape":"CustomerId"} + }, + "DeleteHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to be deleted.

" + } + } + }, + "DeleteHITResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType to dispose.

" + } + } + }, + "DeleteQualificationTypeResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkerBlockRequest":{ + "type":"structure", + "required":["WorkerId"], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker to unblock.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message that explains the reason for unblocking the Worker. The Worker does not see this message.

" + } + } + }, + "DeleteWorkerBlockResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateQualificationFromWorkerRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "QualificationTypeId" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who possesses the Qualification to be revoked.

" + }, + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type of the Qualification to be revoked.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A text message that explains why the Qualification was revoked. The user who had the Qualification sees this message.

" + } + } + }, + "DisassociateQualificationFromWorkerResponse":{ + "type":"structure", + "members":{ + } + }, + "EntityId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Z0-9]+$" + }, + "EventType":{ + "type":"string", + "enum":[ + "AssignmentAccepted", + "AssignmentAbandoned", + "AssignmentReturned", + "AssignmentSubmitted", + "AssignmentRejected", + "AssignmentApproved", + "HITCreated", + "HITExpired", + "HITReviewable", + "HITExtended", + "HITDisposed", + "Ping" + ] + }, + "EventTypeList":{ + "type":"list", + "member":{"shape":"EventType"} + }, + "ExceptionMessage":{"type":"string"}, + "GetAccountBalanceRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAccountBalanceResponse":{ + "type":"structure", + "members":{ + "AvailableBalance":{"shape":"CurrencyAmount"}, + "OnHoldBalance":{"shape":"CurrencyAmount"} + } + }, + "GetAssignmentRequest":{ + "type":"structure", + "required":["AssignmentId"], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the Assignment to be retrieved.

" + } + } + }, + "GetAssignmentResponse":{ + "type":"structure", + "members":{ + "Assignment":{ + "shape":"Assignment", + "documentation":"

The assignment. The response includes one Assignment element.

" + }, + "HIT":{ + "shape":"HIT", + "documentation":"

The HIT associated with this assignment. The response includes one HIT element.

" + } + } + }, + "GetFileUploadURLRequest":{ + "type":"structure", + "required":[ + "AssignmentId", + "QuestionIdentifier" + ], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment that contains the question with a FileUploadAnswer.

" + }, + "QuestionIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the question with a FileUploadAnswer, as specified in the QuestionForm of the HIT.

" + } + } + }, + "GetFileUploadURLResponse":{ + "type":"structure", + "members":{ + "FileUploadURL":{ + "shape":"String", + "documentation":"

A temporary URL for the file that the Worker uploaded for the answer.

" + } + } + }, + "GetHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to be retrieved.

" + } + } + }, + "GetHITResponse":{ + "type":"structure", + "members":{ + "HIT":{ + "shape":"HIT", + "documentation":"

Contains the requested HIT data.

" + } + } + }, + "GetQualificationScoreRequest":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "WorkerId" + ], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker whose Qualification is being updated.

" + } + } + }, + "GetQualificationScoreResponse":{ + "type":"structure", + "members":{ + "Qualification":{ + "shape":"Qualification", + "documentation":"

The Qualification data structure of the Qualification assigned to a user, including the Qualification type and the value (score).

" + } + } + }, + "GetQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + } + } + }, + "GetQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

The returned Qualification Type

" + } + } + }, + "HIT":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the HIT.

" + }, + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type of this HIT

" + }, + "HITGroupId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT Group of this HIT.

" + }, + "HITLayoutId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT Layout of this HIT.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the HIT was created.

" + }, + "Title":{ + "shape":"String", + "documentation":"

The title of the HIT.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A general description of the HIT.

" + }, + "Question":{ + "shape":"String", + "documentation":"

The data the Worker completing the HIT uses produce the results. This is either either a QuestionForm, HTMLQuestion or an ExternalQuestion data structure.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe the HIT, separated by commas. Search terms similar to the keywords of a HIT are more likely to have the HIT in the search results.

" + }, + "HITStatus":{ + "shape":"HITStatus", + "documentation":"

The status of the HIT and its assignments. Valid Values are Assignable | Unassignable | Reviewable | Reviewing | Disposed.

" + }, + "MaxAssignments":{ + "shape":"Integer", + "documentation":"

The number of times the HIT can be accepted and completed before the HIT becomes unavailable.

" + }, + "Reward":{"shape":"CurrencyAmount"}, + "AutoApprovalDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, after the Worker submits an assignment for the HIT that the results are automatically approved by Amazon Mechanical Turk. This is the amount of time the Requester has to reject an assignment submitted by a Worker before the assignment is auto-approved and the Worker is paid.

" + }, + "Expiration":{ + "shape":"Timestamp", + "documentation":"

The date and time the HIT expires.

" + }, + "AssignmentDurationInSeconds":{ + "shape":"Long", + "documentation":"

The length of time, in seconds, that a Worker has to complete the HIT after accepting it.

" + }, + "RequesterAnnotation":{ + "shape":"String", + "documentation":"

An arbitrary data field the Requester who created the HIT can use. This field is visible only to the creator of the HIT.

" + }, + "QualificationRequirements":{ + "shape":"QualificationRequirementList", + "documentation":"

Conditions that a Worker's Qualifications must meet in order to accept the HIT. A HIT can have between zero and ten Qualification requirements. All requirements must be met in order for a Worker to accept the HIT. Additionally, other actions can be restricted using the ActionsGuarded field on each QualificationRequirement structure.

" + }, + "HITReviewStatus":{ + "shape":"HITReviewStatus", + "documentation":"

Indicates the review status of the HIT. Valid Values are NotReviewed | MarkedForReview | ReviewedAppropriate | ReviewedInappropriate.

" + }, + "NumberOfAssignmentsPending":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that are being previewed or have been accepted by Workers, but have not yet been submitted, returned, or abandoned.

" + }, + "NumberOfAssignmentsAvailable":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that are available for Workers to accept.

" + }, + "NumberOfAssignmentsCompleted":{ + "shape":"Integer", + "documentation":"

The number of assignments for this HIT that have been approved or rejected.

" + } + }, + "documentation":"

The HIT data structure represents a single HIT, including all the information necessary for a Worker to accept and complete the HIT.

" + }, + "HITAccessActions":{ + "type":"string", + "enum":[ + "Accept", + "PreviewAndAccept", + "DiscoverPreviewAndAccept" + ] + }, + "HITLayoutParameter":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the parameter in the HITLayout.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The value substituted for the parameter referenced in the HITLayout.

" + } + }, + "documentation":"

The HITLayoutParameter data structure defines parameter values used with a HITLayout. A HITLayout is a reusable Amazon Mechanical Turk project template used to provide Human Intelligence Task (HIT) question data for CreateHIT.

" + }, + "HITLayoutParameterList":{ + "type":"list", + "member":{"shape":"HITLayoutParameter"} + }, + "HITList":{ + "type":"list", + "member":{"shape":"HIT"} + }, + "HITReviewStatus":{ + "type":"string", + "enum":[ + "NotReviewed", + "MarkedForReview", + "ReviewedAppropriate", + "ReviewedInappropriate" + ] + }, + "HITStatus":{ + "type":"string", + "enum":[ + "Assignable", + "Unassignable", + "Reviewable", + "Reviewing", + "Disposed" + ] + }, + "IdempotencyToken":{ + "type":"string", + "max":64, + "min":1 + }, + "Integer":{"type":"integer"}, + "IntegerList":{ + "type":"list", + "member":{"shape":"Integer"} + }, + "ListAssignmentsForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"}, + "AssignmentStatuses":{ + "shape":"AssignmentStatusList", + "documentation":"

The status of the assignments to return: Submitted | Approved | Rejected

" + } + } + }, + "ListAssignmentsForHITResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" + }, + "Assignments":{ + "shape":"AssignmentList", + "documentation":"

The collection of Assignment data structures returned by this call.

" + } + } + }, + "ListBonusPaymentsRequest":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT associated with the bonus payments to retrieve. If not specified, all bonus payments for all assignments for the given HIT are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" + }, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment associated with the bonus payments to retrieve. If specified, only bonus payments for the given assignment are returned. Either the HITId parameter or the AssignmentId parameter must be specified

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListBonusPaymentsResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of bonus payments on this page in the filtered results list, equivalent to the number of bonus payments being returned by this call.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "BonusPayments":{ + "shape":"BonusPaymentList", + "documentation":"

A successful request to the ListBonusPayments operation returns a list of BonusPayment objects.

" + } + } + }, + "ListHITsForQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to use when querying HITs.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListHITsForQualificationTypeResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListHITsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListHITsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListQualificationRequestsRequest":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the QualificationType.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListQualificationRequestsResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualification requests on this page in the filtered results list, equivalent to the number of Qualification requests being returned by this call.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "QualificationRequests":{ + "shape":"QualificationRequestList", + "documentation":"

The Qualification request. The response includes one QualificationRequest element for each Qualification request returned by the query.

" + } + } + }, + "ListQualificationTypesRequest":{ + "type":"structure", + "required":["MustBeRequestable"], + "members":{ + "Query":{ + "shape":"String", + "documentation":"

A text query against all of the searchable attributes of Qualification types.

" + }, + "MustBeRequestable":{ + "shape":"Boolean", + "documentation":"

Specifies that only Qualification types that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test, are returned as results of the search. Some Qualification types, such as those assigned automatically by the system, cannot be requested directly by users. If false, all Qualification types, including those managed by the system, are considered. Valid values are True | False.

" + }, + "MustBeOwnedByCaller":{ + "shape":"Boolean", + "documentation":"

Specifies that only Qualification types that the Requester created are returned. If false, the operation returns all Qualification types.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

The maximum number of results to return in a single call.

" + } + } + }, + "ListQualificationTypesResponse":{ + "type":"structure", + "members":{ + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualification types on this page in the filtered results list, equivalent to the number of types this operation returns.

" + }, + "NextToken":{"shape":"PaginationToken"}, + "QualificationTypes":{ + "shape":"QualificationTypeList", + "documentation":"

The list of QualificationType elements returned by the query.

" + } + } + }, + "ListReviewPolicyResultsForHITRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The unique identifier of the HIT to retrieve review results for.

" + }, + "PolicyLevels":{ + "shape":"ReviewPolicyLevelList", + "documentation":"

The Policy Level(s) to retrieve review results for - HIT or Assignment. If omitted, the default behavior is to retrieve all data for both policy levels. For a list of all the described policies, see Review Policies.

" + }, + "RetrieveActions":{ + "shape":"Boolean", + "documentation":"

Specify if the operation should retrieve a list of the actions taken executing the Review Policies and their outcomes.

" + }, + "RetrieveResults":{ + "shape":"Boolean", + "documentation":"

Specify if the operation should retrieve a list of the results computed by the Review Policies.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListReviewPolicyResultsForHITResponse":{ + "type":"structure", + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HITId of the HIT for which results have been returned.

" + }, + "AssignmentReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The name of the Assignment-level Review Policy. This contains only the PolicyName element.

" + }, + "HITReviewPolicy":{ + "shape":"ReviewPolicy", + "documentation":"

The name of the HIT-level Review Policy. This contains only the PolicyName element.

" + }, + "AssignmentReviewReport":{ + "shape":"ReviewReport", + "documentation":"

Contains both ReviewResult and ReviewAction elements for an Assignment.

" + }, + "HITReviewReport":{ + "shape":"ReviewReport", + "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" + }, + "NextToken":{"shape":"PaginationToken"} + } + }, + "ListReviewableHITsRequest":{ + "type":"structure", + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type of the HITs to consider for the query. If not specified, all HITs for the Reviewer are considered

" + }, + "Status":{ + "shape":"ReviewableHITStatus", + "documentation":"

Can be either Reviewable or Reviewing. Reviewable is the default value.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListReviewableHITsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of HITs on this page in the filtered results list, equivalent to the number of HITs being returned by this call.

" + }, + "HITs":{ + "shape":"HITList", + "documentation":"

The list of HIT elements returned by the query.

" + } + } + }, + "ListWorkerBlocksRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination token

" + }, + "MaxResults":{"shape":"ResultSize"} + } + }, + "ListWorkerBlocksResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of assignments on the page in the filtered results list, equivalent to the number of assignments returned by this call.

" + }, + "WorkerBlocks":{ + "shape":"WorkerBlockList", + "documentation":"

The list of WorkerBlocks, containing the collection of Worker IDs and reasons for blocking.

" + } + } + }, + "ListWorkersWithQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type of the Qualifications to return.

" + }, + "Status":{ + "shape":"QualificationStatus", + "documentation":"

The status of the Qualifications to return. Can be Granted | Revoked.

" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

Pagination Token

" + }, + "MaxResults":{ + "shape":"ResultSize", + "documentation":"

Limit the number of results returned.

" + } + } + }, + "ListWorkersWithQualificationTypeResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"PaginationToken"}, + "NumResults":{ + "shape":"Integer", + "documentation":"

The number of Qualifications on this page in the filtered results list, equivalent to the number of Qualifications being returned by this call.

" + }, + "Qualifications":{ + "shape":"QualificationList", + "documentation":"

The list of Qualification elements returned by this call.

" + } + } + }, + "Locale":{ + "type":"structure", + "required":["Country"], + "members":{ + "Country":{ + "shape":"CountryParameters", + "documentation":"

The country of the locale. Must be a valid ISO 3166 country code. For example, the code US refers to the United States of America.

" + }, + "Subdivision":{ + "shape":"CountryParameters", + "documentation":"

The state or subdivision of the locale. A valid ISO 3166-2 subdivision code. For example, the code WA refers to the state of Washington.

" + } + }, + "documentation":"

The Locale data structure represents a geographical region or location.

" + }, + "LocaleList":{ + "type":"list", + "member":{"shape":"Locale"} + }, + "Long":{"type":"long"}, + "NotificationSpecification":{ + "type":"structure", + "required":[ + "Destination", + "Transport", + "Version", + "EventTypes" + ], + "members":{ + "Destination":{ + "shape":"String", + "documentation":"

The target for notification messages. The Destination’s format is determined by the specified Transport:

  • When Transport is Email, the Destination is your email address.

  • When Transport is SQS, the Destination is your queue URL.

  • When Transport is SNS, the Destination is the ARN of your topic.

" + }, + "Transport":{ + "shape":"NotificationTransport", + "documentation":"

The method Amazon Mechanical Turk uses to send the notification. Valid Values: Email | SQS | SNS.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The version of the Notification API to use. Valid value is 2006-05-05.

" + }, + "EventTypes":{ + "shape":"EventTypeList", + "documentation":"

The list of events that should cause notifications to be sent. Valid Values: AssignmentAccepted | AssignmentAbandoned | AssignmentReturned | AssignmentSubmitted | AssignmentRejected | AssignmentApproved | HITCreated | HITExtended | HITDisposed | HITReviewable | HITExpired | Ping. The Ping event is only valid for the SendTestEventNotification operation.

" + } + }, + "documentation":"

The NotificationSpecification data structure describes a HIT event notification for a HIT type.

" + }, + "NotificationTransport":{ + "type":"string", + "enum":[ + "Email", + "SQS", + "SNS" + ] + }, + "NotifyWorkersFailureCode":{ + "type":"string", + "enum":[ + "SoftFailure", + "HardFailure" + ] + }, + "NotifyWorkersFailureStatus":{ + "type":"structure", + "members":{ + "NotifyWorkersFailureCode":{ + "shape":"NotifyWorkersFailureCode", + "documentation":"

Encoded value for the failure type.

" + }, + "NotifyWorkersFailureMessage":{ + "shape":"String", + "documentation":"

A message detailing the reason the Worker could not be notified.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker.

" + } + }, + "documentation":"

When MTurk encounters an issue with notifying the Workers you specified, it returns back this object with failure details.

" + }, + "NotifyWorkersFailureStatusList":{ + "type":"list", + "member":{"shape":"NotifyWorkersFailureStatus"} + }, + "NotifyWorkersRequest":{ + "type":"structure", + "required":[ + "Subject", + "MessageText", + "WorkerIds" + ], + "members":{ + "Subject":{ + "shape":"String", + "documentation":"

The subject line of the email message to send. Can include up to 200 characters.

" + }, + "MessageText":{ + "shape":"String", + "documentation":"

The text of the email message to send. Can include up to 4,096 characters

" + }, + "WorkerIds":{ + "shape":"CustomerIdList", + "documentation":"

A list of Worker IDs you wish to notify. You can notify upto 100 Workers at a time.

" + } + } + }, + "NotifyWorkersResponse":{ + "type":"structure", + "members":{ + "NotifyWorkersFailureStatuses":{ + "shape":"NotifyWorkersFailureStatusList", + "documentation":"

When MTurk sends notifications to the list of Workers, it returns back any failures it encounters in this list of NotifyWorkersFailureStatus objects.

" + } + } + }, + "PaginationToken":{ + "type":"string", + "documentation":"

If the previous response was incomplete (because there is more data to retrieve), Amazon Mechanical Turk returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

", + "max":255, + "min":1 + }, + "ParameterMapEntry":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

The QuestionID from the HIT that is used to identify which question requires Mechanical Turk to score as part of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" + }, + "Values":{ + "shape":"StringList", + "documentation":"

The list of answers to the question specified in the MapEntry Key element. The Worker must match all values in order for the answer to be scored correctly.

" + } + }, + "documentation":"

This data structure is the data type for the AnswerKey parameter of the ScoreMyKnownAnswers/2011-09-01 Review Policy.

" + }, + "ParameterMapEntryList":{ + "type":"list", + "member":{"shape":"ParameterMapEntry"} + }, + "PolicyParameter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

Name of the parameter from the list of Review Polices.

" + }, + "Values":{ + "shape":"StringList", + "documentation":"

The list of values of the Parameter

" + }, + "MapEntries":{ + "shape":"ParameterMapEntryList", + "documentation":"

List of ParameterMapEntry objects.

" + } + }, + "documentation":"

Name of the parameter from the Review policy.

" + }, + "PolicyParameterList":{ + "type":"list", + "member":{"shape":"PolicyParameter"} + }, + "Qualification":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type for the Qualification.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who possesses the Qualification.

" + }, + "GrantTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification was granted to the Worker. If the Worker's Qualification was revoked, and then re-granted based on a new Qualification request, GrantTime is the date and time of the last call to the AcceptQualificationRequest operation.

" + }, + "IntegerValue":{ + "shape":"Integer", + "documentation":"

The value (score) of the Qualification, if the Qualification has an integer value.

" + }, + "LocaleValue":{"shape":"Locale"}, + "Status":{ + "shape":"QualificationStatus", + "documentation":"

The status of the Qualification. Valid values are Granted | Revoked.

" + } + }, + "documentation":"

The Qualification data structure represents a Qualification assigned to a user, including the Qualification type and the value (score).

" + }, + "QualificationList":{ + "type":"list", + "member":{"shape":"Qualification"} + }, + "QualificationRequest":{ + "type":"structure", + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, a unique identifier generated when the request was submitted.

" + }, + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type the Worker is requesting, as returned by the CreateQualificationType operation.

" + }, + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker requesting the Qualification.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The contents of the Qualification test that was presented to the Worker, if the type has a test and the Worker has submitted answers. This value is identical to the QuestionForm associated with the Qualification type at the time the Worker requests the Qualification.

" + }, + "Answer":{ + "shape":"String", + "documentation":"

The Worker's answers for the Qualification type's test contained in a QuestionFormAnswers document, if the type has a test and the Worker has submitted answers. If the Worker does not provide any answers, Answer may be empty.

" + }, + "SubmitTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification request had a status of Submitted. This is either the time the Worker submitted answers for a Qualification test, or the time the Worker requested the Qualification if the Qualification type does not have a test.

" + } + }, + "documentation":"

The QualificationRequest data structure represents a request a Worker has made for a Qualification.

" + }, + "QualificationRequestList":{ + "type":"list", + "member":{"shape":"QualificationRequest"} + }, + "QualificationRequirement":{ + "type":"structure", + "required":[ + "QualificationTypeId", + "Comparator" + ], + "members":{ + "QualificationTypeId":{ + "shape":"String", + "documentation":"

The ID of the Qualification type for the requirement.

" + }, + "Comparator":{ + "shape":"Comparator", + "documentation":"

The kind of comparison to make against a Qualification's value. You can compare a Qualification's value to an IntegerValue to see if it is LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo, EqualTo, or NotEqualTo the IntegerValue. You can compare it to a LocaleValue to see if it is EqualTo, or NotEqualTo the LocaleValue. You can check to see if the value is In or NotIn a set of IntegerValue or LocaleValue values. Lastly, a Qualification requirement can also test if a Qualification Exists or DoesNotExist in the user's profile, regardless of its value.

" + }, + "IntegerValues":{ + "shape":"IntegerList", + "documentation":"

The integer value to compare against the Qualification's value. IntegerValue must not be present if Comparator is Exists or DoesNotExist. IntegerValue can only be used if the Qualification type has an integer value; it cannot be used with the Worker_Locale QualificationType ID. When performing a set comparison by using the In or the NotIn comparator, you can use up to 15 IntegerValue elements in a QualificationRequirement data structure.

" + }, + "LocaleValues":{ + "shape":"LocaleList", + "documentation":"

The locale value to compare against the Qualification's value. The local value must be a valid ISO 3166 country code or supports ISO 3166-2 subdivisions. LocaleValue can only be used with a Worker_Locale QualificationType ID. LocaleValue can only be used with the EqualTo, NotEqualTo, In, and NotIn comparators. You must only use a single LocaleValue element when using the EqualTo or NotEqualTo comparators. When performing a set comparison by using the In or the NotIn comparator, you can use up to 30 LocaleValue elements in a QualificationRequirement data structure.

" + }, + "RequiredToPreview":{ + "shape":"Boolean", + "documentation":"

DEPRECATED: Use the ActionsGuarded field instead. If RequiredToPreview is true, the question data for the HIT will not be shown when a Worker whose Qualifications do not meet this requirement tries to preview the HIT. That is, a Worker's Qualifications must meet all of the requirements for which RequiredToPreview is true in order to preview the HIT. If a Worker meets all of the requirements where RequiredToPreview is true (or if there are no such requirements), but does not meet all of the requirements for the HIT, the Worker will be allowed to preview the HIT's question data, but will not be allowed to accept and complete the HIT. The default is false. This should not be used in combination with the ActionsGuarded field.

", + "deprecated":true + }, + "ActionsGuarded":{ + "shape":"HITAccessActions", + "documentation":"

Setting this attribute prevents Workers whose Qualifications do not meet this QualificationRequirement from taking the specified action. Valid arguments include \"Accept\" (Worker cannot accept the HIT, but can preview the HIT and see it in their search results), \"PreviewAndAccept\" (Worker cannot accept or preview the HIT, but can see the HIT in their search results), and \"DiscoverPreviewAndAccept\" (Worker cannot accept, preview, or see the HIT in their search results). It's possible for you to create a HIT with multiple QualificationRequirements (which can have different values for the ActionGuarded attribute). In this case, the Worker is only permitted to perform an action when they have met all QualificationRequirements guarding the action. The actions in the order of least restrictive to most restrictive are Discover, Preview and Accept. For example, if a Worker meets all QualificationRequirements that are set to DiscoverPreviewAndAccept, but do not meet all requirements that are set with PreviewAndAccept, then the Worker will be able to Discover, i.e. see the HIT in their search result, but will not be able to Preview or Accept the HIT. ActionsGuarded should not be used in combination with the RequiredToPreview field.

" + } + }, + "documentation":"

The QualificationRequirement data structure describes a Qualification that a Worker must have before the Worker is allowed to accept a HIT. A requirement may optionally state that a Worker must have the Qualification in order to preview the HIT, or see the HIT in search results.

" + }, + "QualificationRequirementList":{ + "type":"list", + "member":{"shape":"QualificationRequirement"} + }, + "QualificationStatus":{ + "type":"string", + "enum":[ + "Granted", + "Revoked" + ] + }, + "QualificationType":{ + "type":"structure", + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

A unique identifier for the Qualification type. A Qualification type is given a Qualification type ID when you call the CreateQualificationType operation.

" + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

The date and time the Qualification type was created.

" + }, + "Name":{ + "shape":"String", + "documentation":"

The name of the Qualification type. The type name is used to identify the type, and to find the type using a Qualification type search.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A long description for the Qualification type.

" + }, + "Keywords":{ + "shape":"String", + "documentation":"

One or more words or phrases that describe theQualification type, separated by commas. The Keywords make the type easier to find using a search.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The status of the Qualification type. A Qualification type's status determines if users can apply to receive a Qualification of this type, and if HITs can be created with requirements based on this type. Valid values are Active | Inactive.

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for a Qualification test associated with this Qualification type that a user can take to obtain a Qualification of this type. This parameter must be specified if AnswerKey is present. A Qualification type cannot have both a specified Test parameter and an AutoGranted value of true.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, given to a Worker to complete the Qualification test, beginning from the time the Worker requests the Qualification.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter.

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, Workers must wait after taking the Qualification test before they can take it again. Workers can take a Qualification test multiple times if they were not granted the Qualification from a previous attempt, or if the test offers a gradient score and they want a better score. If not specified, retries are disabled and Workers can request a Qualification only once.

" + }, + "IsRequestable":{ + "shape":"Boolean", + "documentation":"

Specifies whether the Qualification type is one that a user can request through the Amazon Mechanical Turk web site, such as by taking a Qualification test. This value is False for Qualifications assigned automatically by the system. Valid values are True | False.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies that requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test. Valid values are True | False.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification integer value to use for automatically granted Qualifications, if AutoGranted is true. This is 1 by default.

" + } + }, + "documentation":"

The QualificationType data structure represents a Qualification type, a description of a property of a Worker that must match the requirements of a HIT for the Worker to be able to accept the HIT. The type also describes how a Worker can obtain a Qualification of that type, such as through a Qualification test.

" + }, + "QualificationTypeList":{ + "type":"list", + "member":{"shape":"QualificationType"} + }, + "QualificationTypeStatus":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, + "RejectAssignmentRequest":{ + "type":"structure", + "required":[ + "AssignmentId", + "RequesterFeedback" + ], + "members":{ + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment. The assignment must correspond to a HIT created by the Requester.

" + }, + "RequesterFeedback":{ + "shape":"String", + "documentation":"

A message for the Worker, which the Worker can see in the Status section of the web site.

" + } + } + }, + "RejectAssignmentResponse":{ + "type":"structure", + "members":{ + } + }, + "RejectQualificationRequestRequest":{ + "type":"structure", + "required":["QualificationRequestId"], + "members":{ + "QualificationRequestId":{ + "shape":"String", + "documentation":"

The ID of the Qualification request, as returned by the ListQualificationRequests operation.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A text message explaining why the request was rejected, to be shown to the Worker who made the request.

" + } + } + }, + "RejectQualificationRequestResponse":{ + "type":"structure", + "members":{ + } + }, + "RequestError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "TurkErrorCode":{"shape":"TurkErrorCode"} + }, + "documentation":"

Your request is invalid.

", + "exception":true + }, + "ResultSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "ReviewActionDetail":{ + "type":"structure", + "members":{ + "ActionId":{ + "shape":"EntityId", + "documentation":"

The unique identifier for the action.

" + }, + "ActionName":{ + "shape":"String", + "documentation":"

The nature of the action itself. The Review Policy is responsible for examining the HIT and Assignments, emitting results, and deciding which other actions will be necessary.

" + }, + "TargetId":{ + "shape":"EntityId", + "documentation":"

The specific HITId or AssignmentID targeted by the action.

" + }, + "TargetType":{ + "shape":"String", + "documentation":"

The type of object in TargetId.

" + }, + "Status":{ + "shape":"ReviewActionStatus", + "documentation":"

The current disposition of the action: INTENDED, SUCCEEDED, FAILED, or CANCELLED.

" + }, + "CompleteTime":{ + "shape":"Timestamp", + "documentation":"

The date when the action was completed.

" + }, + "Result":{ + "shape":"String", + "documentation":"

A description of the outcome of the review.

" + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

Present only when the Results have a FAILED Status.

" + } + }, + "documentation":"

Both the AssignmentReviewReport and the HITReviewReport elements contains the ReviewActionDetail data structure. This structure is returned multiple times for each action specified in the Review Policy.

" + }, + "ReviewActionDetailList":{ + "type":"list", + "member":{"shape":"ReviewActionDetail"} + }, + "ReviewActionStatus":{ + "type":"string", + "enum":[ + "Intended", + "Succeeded", + "Failed", + "Cancelled" + ] + }, + "ReviewPolicy":{ + "type":"structure", + "required":["PolicyName"], + "members":{ + "PolicyName":{ + "shape":"String", + "documentation":"

Name of a Review Policy: SimplePlurality/2011-09-01 or ScoreMyKnownAnswers/2011-09-01

" + }, + "Parameters":{ + "shape":"PolicyParameterList", + "documentation":"

Name of the parameter from the Review policy.

" + } + }, + "documentation":"

HIT Review Policy data structures represent HIT review policies, which you specify when you create a HIT.

" + }, + "ReviewPolicyLevel":{ + "type":"string", + "enum":[ + "Assignment", + "HIT" + ] + }, + "ReviewPolicyLevelList":{ + "type":"list", + "member":{"shape":"ReviewPolicyLevel"} + }, + "ReviewReport":{ + "type":"structure", + "members":{ + "ReviewResults":{ + "shape":"ReviewResultDetailList", + "documentation":"

A list of ReviewResults objects for each action specified in the Review Policy.

" + }, + "ReviewActions":{ + "shape":"ReviewActionDetailList", + "documentation":"

A list of ReviewAction objects for each action specified in the Review Policy.

" + } + }, + "documentation":"

Contains both ReviewResult and ReviewAction elements for a particular HIT.

" + }, + "ReviewResultDetail":{ + "type":"structure", + "members":{ + "ActionId":{ + "shape":"EntityId", + "documentation":"

A unique identifier of the Review action result.

" + }, + "SubjectId":{ + "shape":"EntityId", + "documentation":"

The HITID or AssignmentId about which this result was taken. Note that HIT-level Review Policies will often emit results about both the HIT itself and its Assignments, while Assignment-level review policies generally only emit results about the Assignment itself.

" + }, + "SubjectType":{ + "shape":"String", + "documentation":"

The type of the object from the SubjectId field.

" + }, + "QuestionId":{ + "shape":"EntityId", + "documentation":"

Specifies the QuestionId the result is describing. Depending on whether the TargetType is a HIT or Assignment this results could specify multiple values. If TargetType is HIT and QuestionId is absent, then the result describes results of the HIT, including the HIT agreement score. If ObjectType is Assignment and QuestionId is absent, then the result describes the Worker's performance on the HIT.

" + }, + "Key":{ + "shape":"String", + "documentation":"

Key identifies the particular piece of reviewed information.

" + }, + "Value":{ + "shape":"String", + "documentation":"

The values of Key provided by the review policies you have selected.

" + } + }, + "documentation":"

This data structure is returned multiple times for each result specified in the Review Policy.

" + }, + "ReviewResultDetailList":{ + "type":"list", + "member":{"shape":"ReviewResultDetail"} + }, + "ReviewableHITStatus":{ + "type":"string", + "enum":[ + "Reviewable", + "Reviewing" + ] + }, + "SendBonusRequest":{ + "type":"structure", + "required":[ + "WorkerId", + "BonusAmount", + "AssignmentId", + "Reason" + ], + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker being paid the bonus.

" + }, + "BonusAmount":{ + "shape":"CurrencyAmount", + "documentation":"

The Bonus amount is a US Dollar amount specified using a string (for example, \"5\" represents $5.00 USD and \"101.42\" represents $101.42 USD). Do not include currency symbols or currency codes.

" + }, + "AssignmentId":{ + "shape":"EntityId", + "documentation":"

The ID of the assignment for which this bonus is paid.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message that explains the reason for the bonus payment. The Worker receiving the bonus can see this message.

" + }, + "UniqueRequestToken":{ + "shape":"IdempotencyToken", + "documentation":"

A unique identifier for this request, which allows you to retry the call on error without granting multiple bonuses. This is useful in cases such as network timeouts where it is unclear whether or not the call succeeded on the server. If the bonus already exists in the system from a previous call using the same UniqueRequestToken, subsequent calls will return an error with a message containing the request ID.

" + } + } + }, + "SendBonusResponse":{ + "type":"structure", + "members":{ + } + }, + "SendTestEventNotificationRequest":{ + "type":"structure", + "required":[ + "Notification", + "TestEventType" + ], + "members":{ + "Notification":{ + "shape":"NotificationSpecification", + "documentation":"

The notification specification to test. This value is identical to the value you would provide to the UpdateNotificationSettings operation when you establish the notification specification for a HIT type.

" + }, + "TestEventType":{ + "shape":"EventType", + "documentation":"

The event to simulate to test the notification specification. This event is included in the test message even if the notification specification does not include the event type. The notification specification does not filter out the test event.

" + } + } + }, + "SendTestEventNotificationResponse":{ + "type":"structure", + "members":{ + } + }, + "ServiceFault":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "TurkErrorCode":{"shape":"TurkErrorCode"} + }, + "documentation":"

Amazon Mechanical Turk is temporarily unable to process your request. Try your call again.

", + "exception":true, + "fault":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Timestamp":{"type":"timestamp"}, + "TurkErrorCode":{"type":"string"}, + "UpdateExpirationForHITRequest":{ + "type":"structure", + "required":[ + "HITId", + "ExpireAt" + ], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HIT to update.

" + }, + "ExpireAt":{ + "shape":"Timestamp", + "documentation":"

The date and time at which you want the HIT to expire

" + } + } + }, + "UpdateExpirationForHITResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateHITReviewStatusRequest":{ + "type":"structure", + "required":["HITId"], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT to update.

" + }, + "Revert":{ + "shape":"Boolean", + "documentation":"

Specifies how to update the HIT status. Default is False.

  • Setting this to false will only transition a HIT from Reviewable to Reviewing

  • Setting this to true will only transition a HIT from Reviewing to Reviewable

" + } + } + }, + "UpdateHITReviewStatusResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateHITTypeOfHITRequest":{ + "type":"structure", + "required":[ + "HITId", + "HITTypeId" + ], + "members":{ + "HITId":{ + "shape":"EntityId", + "documentation":"

The HIT to update.

" + }, + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the new HIT type.

" + } + } + }, + "UpdateHITTypeOfHITResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateNotificationSettingsRequest":{ + "type":"structure", + "required":["HITTypeId"], + "members":{ + "HITTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the HIT type whose notification specification is being updated.

" + }, + "Notification":{ + "shape":"NotificationSpecification", + "documentation":"

The notification specification for the HIT type.

" + }, + "Active":{ + "shape":"Boolean", + "documentation":"

Specifies whether notifications are sent for HITs of this HIT type, according to the notification specification. You must specify either the Notification parameter or the Active parameter for the call to UpdateNotificationSettings to succeed.

" + } + } + }, + "UpdateNotificationSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateQualificationTypeRequest":{ + "type":"structure", + "required":["QualificationTypeId"], + "members":{ + "QualificationTypeId":{ + "shape":"EntityId", + "documentation":"

The ID of the Qualification type to update.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The new description of the Qualification type.

" + }, + "QualificationTypeStatus":{ + "shape":"QualificationTypeStatus", + "documentation":"

The new status of the Qualification type - Active | Inactive

" + }, + "Test":{ + "shape":"String", + "documentation":"

The questions for the Qualification test a Worker must answer correctly to obtain a Qualification of this type. If this parameter is specified, TestDurationInSeconds must also be specified.

Constraints: Must not be longer than 65535 bytes. Must be a QuestionForm data structure. This parameter cannot be specified if AutoGranted is true.

Constraints: None. If not specified, the Worker may request the Qualification without answering any questions.

" + }, + "AnswerKey":{ + "shape":"String", + "documentation":"

The answers to the Qualification test specified in the Test parameter, in the form of an AnswerKey data structure.

" + }, + "TestDurationInSeconds":{ + "shape":"Long", + "documentation":"

The number of seconds the Worker has to complete the Qualification test, starting from the time the Worker requests the Qualification.

" + }, + "RetryDelayInSeconds":{ + "shape":"Long", + "documentation":"

The amount of time, in seconds, that Workers must wait after requesting a Qualification of the specified Qualification type before they can retry the Qualification request. It is not possible to disable retries for a Qualification type after it has been created with retries enabled. If you want to disable retries, you must dispose of the existing retry-enabled Qualification type using DisposeQualificationType and then create a new Qualification type with retries disabled using CreateQualificationType.

" + }, + "AutoGranted":{ + "shape":"Boolean", + "documentation":"

Specifies whether requests for the Qualification type are granted immediately, without prompting the Worker with a Qualification test.

Constraints: If the Test parameter is specified, this parameter cannot be true.

" + }, + "AutoGrantedValue":{ + "shape":"Integer", + "documentation":"

The Qualification value to use for automatically granted Qualifications. This parameter is used only if the AutoGranted parameter is true.

" + } + } + }, + "UpdateQualificationTypeResponse":{ + "type":"structure", + "members":{ + "QualificationType":{ + "shape":"QualificationType", + "documentation":"

Contains a QualificationType data structure.

" + } + } + }, + "WorkerBlock":{ + "type":"structure", + "members":{ + "WorkerId":{ + "shape":"CustomerId", + "documentation":"

The ID of the Worker who accepted the HIT.

" + }, + "Reason":{ + "shape":"String", + "documentation":"

A message explaining the reason the Worker was blocked.

" + } + }, + "documentation":"

The WorkerBlock data structure represents a Worker who has been blocked. It has two elements: the WorkerId and the Reason for the block.

" + }, + "WorkerBlockList":{ + "type":"list", + "member":{"shape":"WorkerBlock"} + } + }, + "documentation":"Amazon Mechanical Turk API Reference" +} diff -Nru python-botocore-1.4.70/botocore/data/neptune/2014-10-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/examples-1.json --- python-botocore-1.4.70/botocore/data/neptune/2014-10-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version":"1.0", + "examples":{ + } +} diff -Nru python-botocore-1.4.70/botocore/data/neptune/2014-10-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/neptune/2014-10-31/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,88 @@ +{ + "pagination": { + "DescribeDBEngineVersions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBEngineVersions" + }, + "DescribeDBInstances": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBInstances" + }, + "DescribeDBParameterGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBParameterGroups" + }, + "DescribeDBParameters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Parameters" + }, + "DescribeDBSubnetGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBSubnetGroups" + }, + "DescribeEngineDefaultParameters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "EngineDefaults.Marker", + "result_key": "EngineDefaults.Parameters" + }, + "DescribeEventSubscriptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "EventSubscriptionsList" + }, + "DescribeEvents": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Events" + }, + "DescribeOrderableDBInstanceOptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "OrderableDBInstanceOptions" + }, + "DescribeDBClusterParameterGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusterParameterGroups" + }, + "DescribeDBClusterParameters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Parameters" + }, + "DescribeDBClusterSnapshots": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusterSnapshots" + }, + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, + "DescribePendingMaintenanceActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "PendingMaintenanceActions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/neptune/2014-10-31/service-2.json python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/service-2.json --- python-botocore-1.4.70/botocore/data/neptune/2014-10-31/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5618 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2014-10-31", + "endpointPrefix":"rds", + "protocol":"query", + "serviceAbbreviation":"Amazon Neptune", + "serviceFullName":"Amazon Neptune", + "serviceId":"Neptune", + "signatureVersion":"v4", + "signingName":"rds", + "uid":"neptune-2014-10-31", + "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 Neptune DB cluster.

" + }, + "AddSourceIdentifierToSubscription":{ + "name":"AddSourceIdentifierToSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, + "output":{ + "shape":"AddSourceIdentifierToSubscriptionResult", + "resultWrapper":"AddSourceIdentifierToSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ], + "documentation":"

Adds a source identifier to an existing event notification subscription.

" + }, + "AddTagsToResource":{ + "name":"AddTagsToResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTagsToResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Adds metadata tags to an Amazon Neptune resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon Neptune resources, or used in a Condition statement in an IAM policy for Amazon Neptune.

" + }, + "ApplyPendingMaintenanceAction":{ + "name":"ApplyPendingMaintenanceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ApplyPendingMaintenanceActionMessage"}, + "output":{ + "shape":"ApplyPendingMaintenanceActionResult", + "resultWrapper":"ApplyPendingMaintenanceActionResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Applies a pending maintenance action to a resource (for example, to a DB instance).

" + }, + "CopyDBClusterParameterGroup":{ + "name":"CopyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CopyDBClusterParameterGroupResult", + "resultWrapper":"CopyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Copies the specified DB cluster parameter group.

" + }, + "CopyDBClusterSnapshot":{ + "name":"CopyDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBClusterSnapshotMessage"}, + "output":{ + "shape":"CopyDBClusterSnapshotResult", + "resultWrapper":"CopyDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

Copies a snapshot of a DB cluster.

To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

" + }, + "CopyDBParameterGroup":{ + "name":"CopyDBParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyDBParameterGroupMessage"}, + "output":{ + "shape":"CopyDBParameterGroupResult", + "resultWrapper":"CopyDBParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"}, + {"shape":"DBParameterGroupQuotaExceededFault"} + ], + "documentation":"

Copies the specified DB parameter group.

" + }, + "CreateDBCluster":{ + "name":"CreateDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterMessage"}, + "output":{ + "shape":"CreateDBClusterResult", + "resultWrapper":"CreateDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"} + ], + "documentation":"

Creates a new Amazon Neptune DB cluster.

You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster or Amazon Neptune DB instance.

Note that when you create a new cluster using CreateDBCluster directly, deletion protection is disabled by default (when you create a new production cluster in the console, deletion protection is enabled by default). You can only delete a DB cluster if its DeletionProtection field is set to false.

" + }, + "CreateDBClusterParameterGroup":{ + "name":"CreateDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterParameterGroupMessage"}, + "output":{ + "shape":"CreateDBClusterParameterGroupResult", + "resultWrapper":"CreateDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Creates a new DB cluster parameter group.

Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" + }, + "CreateDBClusterSnapshot":{ + "name":"CreateDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterSnapshotMessage"}, + "output":{ + "shape":"CreateDBClusterSnapshotResult", + "resultWrapper":"CreateDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

Creates a snapshot of a DB cluster.

" + }, + "CreateDBInstance":{ + "name":"CreateDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBInstanceMessage"}, + "output":{ + "shape":"CreateDBInstanceResult", + "resultWrapper":"CreateDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"InstanceQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"ProvisionedIopsNotAvailableInAZFault"}, + {"shape":"OptionGroupNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DomainNotFoundFault"} + ], + "documentation":"

Creates a new DB instance.

" + }, + "CreateDBParameterGroup":{ + "name":"CreateDBParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBParameterGroupMessage"}, + "output":{ + "shape":"CreateDBParameterGroupResult", + "resultWrapper":"CreateDBParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupQuotaExceededFault"}, + {"shape":"DBParameterGroupAlreadyExistsFault"} + ], + "documentation":"

Creates a new DB parameter group.

A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" + }, + "CreateDBSubnetGroup":{ + "name":"CreateDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBSubnetGroupMessage"}, + "output":{ + "shape":"CreateDBSubnetGroupResult", + "resultWrapper":"CreateDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupAlreadyExistsFault"}, + {"shape":"DBSubnetGroupQuotaExceededFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" + }, + "CreateEventSubscription":{ + "name":"CreateEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventSubscriptionMessage"}, + "output":{ + "shape":"CreateEventSubscriptionResult", + "resultWrapper":"CreateEventSubscriptionResult" + }, + "errors":[ + {"shape":"EventSubscriptionQuotaExceededFault"}, + {"shape":"SubscriptionAlreadyExistFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"SNSTopicArnNotFoundFault"}, + {"shape":"SubscriptionCategoryNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ], + "documentation":"

Creates an event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the Neptune console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

You can specify the type of source (SourceType) you want to be notified of, provide a list of Neptune sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your Neptune sources. If you do not specify either the SourceType nor the SourceIdentifier, you are notified of events generated from all Neptune sources belonging to your customer account.

" + }, + "DeleteDBCluster":{ + "name":"DeleteDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterMessage"}, + "output":{ + "shape":"DeleteDBClusterResult", + "resultWrapper":"DeleteDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"} + ], + "documentation":"

The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

Note that the DB Cluster cannot be deleted if deletion protection is enabled. To delete it, you must first set its DeletionProtection field to False.

" + }, + "DeleteDBClusterParameterGroup":{ + "name":"DeleteDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterParameterGroupMessage"}, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

" + }, + "DeleteDBClusterSnapshot":{ + "name":"DeleteDBClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterSnapshotMessage"}, + "output":{ + "shape":"DeleteDBClusterSnapshotResult", + "resultWrapper":"DeleteDBClusterSnapshotResult" + }, + "errors":[ + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

The DB cluster snapshot must be in the available state to be deleted.

" + }, + "DeleteDBInstance":{ + "name":"DeleteDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBInstanceMessage"}, + "output":{ + "shape":"DeleteDBInstanceResult", + "resultWrapper":"DeleteDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

If you request a final DB snapshot the status of the Amazon Neptune DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

You can't delete a DB instance if it is the only instance in the DB cluster, or if it has deletion protection enabled.

" + }, + "DeleteDBParameterGroup":{ + "name":"DeleteDBParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBParameterGroupMessage"}, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted can't be associated with any DB instances.

" + }, + "DeleteDBSubnetGroup":{ + "name":"DeleteDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBSubnetGroupMessage"}, + "errors":[ + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidDBSubnetStateFault"}, + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Deletes a DB subnet group.

The specified database subnet group must not be associated with any DB instances.

" + }, + "DeleteEventSubscription":{ + "name":"DeleteEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventSubscriptionMessage"}, + "output":{ + "shape":"DeleteEventSubscriptionResult", + "resultWrapper":"DeleteEventSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"InvalidEventSubscriptionStateFault"} + ], + "documentation":"

Deletes an event notification subscription.

" + }, + "DescribeDBClusterParameterGroups":{ + "name":"DescribeDBClusterParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParameterGroupsMessage"}, + "output":{ + "shape":"DBClusterParameterGroupsMessage", + "resultWrapper":"DescribeDBClusterParameterGroupsResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

" + }, + "DescribeDBClusterParameters":{ + "name":"DescribeDBClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterParametersMessage"}, + "output":{ + "shape":"DBClusterParameterGroupDetails", + "resultWrapper":"DescribeDBClusterParametersResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns the detailed parameter list for a particular DB cluster parameter group.

" + }, + "DescribeDBClusterSnapshotAttributes":{ + "name":"DescribeDBClusterSnapshotAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotAttributesMessage"}, + "output":{ + "shape":"DescribeDBClusterSnapshotAttributesResult", + "resultWrapper":"DescribeDBClusterSnapshotAttributesResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

" + }, + "DescribeDBClusterSnapshots":{ + "name":"DescribeDBClusterSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterSnapshotsMessage"}, + "output":{ + "shape":"DBClusterSnapshotMessage", + "resultWrapper":"DescribeDBClusterSnapshotsResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"} + ], + "documentation":"

Returns information about DB cluster snapshots. This API action supports pagination.

" + }, + "DescribeDBClusters":{ + "name":"DescribeDBClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClustersMessage"}, + "output":{ + "shape":"DBClusterMessage", + "resultWrapper":"DescribeDBClustersResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Returns information about provisioned DB clusters, and supports pagination.

This operation can also return information for Amazon RDS clusters and Amazon DocDB clusters.

" + }, + "DescribeDBEngineVersions":{ + "name":"DescribeDBEngineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBEngineVersionsMessage"}, + "output":{ + "shape":"DBEngineVersionMessage", + "resultWrapper":"DescribeDBEngineVersionsResult" + }, + "documentation":"

Returns a list of the available DB engines.

" + }, + "DescribeDBInstances":{ + "name":"DescribeDBInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBInstancesMessage"}, + "output":{ + "shape":"DBInstanceMessage", + "resultWrapper":"DescribeDBInstancesResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

Returns information about provisioned instances, and supports pagination.

This operation can also return information for Amazon RDS instances and Amazon DocDB instances.

" + }, + "DescribeDBParameterGroups":{ + "name":"DescribeDBParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBParameterGroupsMessage"}, + "output":{ + "shape":"DBParameterGroupsMessage", + "resultWrapper":"DescribeDBParameterGroupsResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName is specified, the list will contain only the description of the specified DB parameter group.

" + }, + "DescribeDBParameters":{ + "name":"DescribeDBParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBParametersMessage"}, + "output":{ + "shape":"DBParameterGroupDetails", + "resultWrapper":"DescribeDBParametersResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Returns the detailed parameter list for a particular DB parameter group.

" + }, + "DescribeDBSubnetGroups":{ + "name":"DescribeDBSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBSubnetGroupsMessage"}, + "output":{ + "shape":"DBSubnetGroupMessage", + "resultWrapper":"DescribeDBSubnetGroupsResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"} + ], + "documentation":"

Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.

For an overview of CIDR ranges, go to the Wikipedia Tutorial.

" + }, + "DescribeEngineDefaultClusterParameters":{ + "name":"DescribeEngineDefaultClusterParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineDefaultClusterParametersMessage"}, + "output":{ + "shape":"DescribeEngineDefaultClusterParametersResult", + "resultWrapper":"DescribeEngineDefaultClusterParametersResult" + }, + "documentation":"

Returns the default engine and system parameter information for the cluster database engine.

" + }, + "DescribeEngineDefaultParameters":{ + "name":"DescribeEngineDefaultParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineDefaultParametersMessage"}, + "output":{ + "shape":"DescribeEngineDefaultParametersResult", + "resultWrapper":"DescribeEngineDefaultParametersResult" + }, + "documentation":"

Returns the default engine and system parameter information for the specified database engine.

" + }, + "DescribeEventCategories":{ + "name":"DescribeEventCategories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventCategoriesMessage"}, + "output":{ + "shape":"EventCategoriesMessage", + "resultWrapper":"DescribeEventCategoriesResult" + }, + "documentation":"

Displays a list of categories for all event source types, or, if specified, for a specified source type.

" + }, + "DescribeEventSubscriptions":{ + "name":"DescribeEventSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventSubscriptionsMessage"}, + "output":{ + "shape":"EventSubscriptionsMessage", + "resultWrapper":"DescribeEventSubscriptionsResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"} + ], + "documentation":"

Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify a SubscriptionName, lists the description for that subscription.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsMessage"}, + "output":{ + "shape":"EventsMessage", + "resultWrapper":"DescribeEventsResult" + }, + "documentation":"

Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

" + }, + "DescribeOrderableDBInstanceOptions":{ + "name":"DescribeOrderableDBInstanceOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrderableDBInstanceOptionsMessage"}, + "output":{ + "shape":"OrderableDBInstanceOptionsMessage", + "resultWrapper":"DescribeOrderableDBInstanceOptionsResult" + }, + "documentation":"

Returns a list of orderable DB instance options for the specified engine.

" + }, + "DescribePendingMaintenanceActions":{ + "name":"DescribePendingMaintenanceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePendingMaintenanceActionsMessage"}, + "output":{ + "shape":"PendingMaintenanceActionsMessage", + "resultWrapper":"DescribePendingMaintenanceActionsResult" + }, + "errors":[ + {"shape":"ResourceNotFoundFault"} + ], + "documentation":"

Returns a list of resources (for example, DB instances) that have at least one pending maintenance action.

" + }, + "DescribeValidDBInstanceModifications":{ + "name":"DescribeValidDBInstanceModifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeValidDBInstanceModificationsMessage"}, + "output":{ + "shape":"DescribeValidDBInstanceModificationsResult", + "resultWrapper":"DescribeValidDBInstanceModificationsResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

" + }, + "FailoverDBCluster":{ + "name":"FailoverDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverDBClusterMessage"}, + "output":{ + "shape":"FailoverDBClusterResult", + "resultWrapper":"FailoverDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Forces a failover for a DB cluster.

A failover for a DB cluster promotes one of the Read Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

Amazon Neptune will automatically fail over to a Read Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceMessage"}, + "output":{ + "shape":"TagListMessage", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Lists all tags on an Amazon Neptune resource.

" + }, + "ModifyDBCluster":{ + "name":"ModifyDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterMessage"}, + "output":{ + "shape":"ModifyDBClusterResult", + "resultWrapper":"ModifyDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBSubnetGroupStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"DBClusterParameterGroupNotFoundFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBClusterAlreadyExistsFault"} + ], + "documentation":"

Modify a setting for a DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

" + }, + "ModifyDBClusterParameterGroup":{ + "name":"ModifyDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ModifyDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InvalidDBParameterGroupStateFault"} + ], + "documentation":"

Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon Neptune to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

" + }, + "ModifyDBClusterSnapshotAttribute":{ + "name":"ModifyDBClusterSnapshotAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterSnapshotAttributeMessage"}, + "output":{ + "shape":"ModifyDBClusterSnapshotAttributeResult", + "resultWrapper":"ModifyDBClusterSnapshotAttributeResult" + }, + "errors":[ + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"SharedSnapshotQuotaExceededFault"} + ], + "documentation":"

Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

" + }, + "ModifyDBInstance":{ + "name":"ModifyDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBInstanceMessage"}, + "output":{ + "shape":"ModifyDBInstanceResult", + "resultWrapper":"ModifyDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBSecurityGroupStateFault"}, + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"ProvisionedIopsNotAvailableInAZFault"}, + {"shape":"OptionGroupNotFoundFault"}, + {"shape":"DBUpgradeDependencyFailureFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"CertificateNotFoundFault"}, + {"shape":"DomainNotFoundFault"} + ], + "documentation":"

Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

" + }, + "ModifyDBParameterGroup":{ + "name":"ModifyDBParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBParameterGroupMessage"}, + "output":{ + "shape":"DBParameterGroupNameMessage", + "resultWrapper":"ModifyDBParameterGroupResult" + }, + "errors":[ + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"InvalidDBParameterGroupStateFault"} + ], + "documentation":"

Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon Neptune to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon Neptune console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

" + }, + "ModifyDBSubnetGroup":{ + "name":"ModifyDBSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBSubnetGroupMessage"}, + "output":{ + "shape":"ModifyDBSubnetGroupResult", + "resultWrapper":"ModifyDBSubnetGroupResult" + }, + "errors":[ + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetQuotaExceededFault"}, + {"shape":"SubnetAlreadyInUse"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"} + ], + "documentation":"

Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

" + }, + "ModifyEventSubscription":{ + "name":"ModifyEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEventSubscriptionMessage"}, + "output":{ + "shape":"ModifyEventSubscriptionResult", + "resultWrapper":"ModifyEventSubscriptionResult" + }, + "errors":[ + {"shape":"EventSubscriptionQuotaExceededFault"}, + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"SNSTopicArnNotFoundFault"}, + {"shape":"SubscriptionCategoryNotFoundFault"} + ], + "documentation":"

Modifies an existing event notification subscription. Note that you can't modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

You can see a list of the event categories for a given SourceType by using the DescribeEventCategories action.

" + }, + "PromoteReadReplicaDBCluster":{ + "name":"PromoteReadReplicaDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PromoteReadReplicaDBClusterMessage"}, + "output":{ + "shape":"PromoteReadReplicaDBClusterResult", + "resultWrapper":"PromoteReadReplicaDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

Not supported.

" + }, + "RebootDBInstance":{ + "name":"RebootDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RebootDBInstanceMessage"}, + "output":{ + "shape":"RebootDBInstanceResult", + "resultWrapper":"RebootDBInstanceResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

" + }, + "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 a DB cluster.

" + }, + "RemoveSourceIdentifierFromSubscription":{ + "name":"RemoveSourceIdentifierFromSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, + "output":{ + "shape":"RemoveSourceIdentifierFromSubscriptionResult", + "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ], + "documentation":"

Removes a source identifier from an existing event notification subscription.

" + }, + "RemoveTagsFromResource":{ + "name":"RemoveTagsFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTagsFromResourceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

Removes metadata tags from an Amazon Neptune resource.

" + }, + "ResetDBClusterParameterGroup":{ + "name":"ResetDBClusterParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetDBClusterParameterGroupMessage"}, + "output":{ + "shape":"DBClusterParameterGroupNameMessage", + "resultWrapper":"ResetDBClusterParameterGroupResult" + }, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

" + }, + "ResetDBParameterGroup":{ + "name":"ResetDBParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetDBParameterGroupMessage"}, + "output":{ + "shape":"DBParameterGroupNameMessage", + "resultWrapper":"ResetDBParameterGroupResult" + }, + "errors":[ + {"shape":"InvalidDBParameterGroupStateFault"}, + {"shape":"DBParameterGroupNotFoundFault"} + ], + "documentation":"

Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

" + }, + "RestoreDBClusterFromSnapshot":{ + "name":"RestoreDBClusterFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterFromSnapshotMessage"}, + "output":{ + "shape":"RestoreDBClusterFromSnapshotResult", + "resultWrapper":"RestoreDBClusterFromSnapshotResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"OptionGroupNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} + ], + "documentation":"

Creates a new DB cluster from a DB snapshot or DB cluster snapshot.

If a DB snapshot is specified, the target DB cluster is created from the source DB snapshot with a default configuration and default security group.

If a DB cluster snapshot is specified, the target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

" + }, + "RestoreDBClusterToPointInTime":{ + "name":"RestoreDBClusterToPointInTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBClusterToPointInTimeMessage"}, + "output":{ + "shape":"RestoreDBClusterToPointInTimeResult", + "resultWrapper":"RestoreDBClusterToPointInTimeResult" + }, + "errors":[ + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"InsufficientDBClusterCapacityFault"}, + {"shape":"InsufficientStorageClusterCapacityFault"}, + {"shape":"InvalidDBClusterSnapshotStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, + {"shape":"InvalidRestoreFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"OptionGroupNotFoundFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} + ], + "documentation":"

Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

" + }, + "StartDBCluster":{ + "name":"StartDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDBClusterMessage"}, + "output":{ + "shape":"StartDBClusterResult", + "resultWrapper":"StartDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Starts an Amazon Neptune DB cluster that was stopped using the AWS console, the AWS CLI stop-db-cluster command, or the StopDBCluster API.

" + }, + "StopDBCluster":{ + "name":"StopDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDBClusterMessage"}, + "output":{ + "shape":"StopDBClusterResult", + "resultWrapper":"StopDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

Stops an Amazon Neptune DB cluster. When you stop a DB cluster, Neptune retains the DB cluster's metadata, including its endpoints and DB parameter groups.

Neptune also retains the transaction logs so you can do a point-in-time restore if necessary.

" + } + }, + "shapes":{ + "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 Neptune DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

" + } + } + }, + "AddSourceIdentifierToSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SourceIdentifier" + ], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the event notification subscription you want to add a source identifier to.

" + }, + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source to be added.

Constraints:

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" + } + } + }, + "AddSourceIdentifierToSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, + "AddTagsToResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "Tags" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon Neptune resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the Amazon Neptune resource.

" + } + } + }, + "ApplyMethod":{ + "type":"string", + "enum":[ + "immediate", + "pending-reboot" + ] + }, + "ApplyPendingMaintenanceActionMessage":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ApplyAction", + "OptInType" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + }, + "ApplyAction":{ + "shape":"String", + "documentation":"

The pending maintenance action to apply to this resource.

Valid values: system-update, db-upgrade

" + }, + "OptInType":{ + "shape":"String", + "documentation":"

A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

" + } + } + }, + "ApplyPendingMaintenanceActionResult":{ + "type":"structure", + "members":{ + "ResourcePendingMaintenanceActions":{"shape":"ResourcePendingMaintenanceActions"} + } + }, + "AttributeValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AttributeValue" + } + }, + "AuthorizationNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

Neptune may not also be authorized via IAM to perform necessary actions on your behalf.

", + "error":{ + "code":"AuthorizationNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the availability zone.

" + } + }, + "documentation":"

Specifies an Availability Zone.

", + "wrapper":true + }, + "AvailabilityZoneList":{ + "type":"list", + "member":{ + "shape":"AvailabilityZone", + "locationName":"AvailabilityZone" + } + }, + "AvailabilityZones":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AvailabilityZone" + } + }, + "Boolean":{"type":"boolean"}, + "BooleanOptional":{"type":"boolean"}, + "CertificateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

CertificateIdentifier does not refer to an existing certificate.

", + "error":{ + "code":"CertificateNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "CharacterSet":{ + "type":"structure", + "members":{ + "CharacterSetName":{ + "shape":"String", + "documentation":"

The name of the character set.

" + }, + "CharacterSetDescription":{ + "shape":"String", + "documentation":"

The description of the character set.

" + } + }, + "documentation":"

Specifies a character set.

" + }, + "CloudwatchLogsExportConfiguration":{ + "type":"structure", + "members":{ + "EnableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to enable.

" + }, + "DisableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The list of log types to disable.

" + } + }, + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs.

" + }, + "CopyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupIdentifier", + "TargetDBClusterParameterGroupDescription" + ], + "members":{ + "SourceDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB cluster parameter group.

  • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

  • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

" + }, + "TargetDBClusterParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the copied DB cluster parameter group.

Constraints:

  • Cannot be null, empty, or blank

  • Must contain from 1 to 255 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster-param-group1

" + }, + "TargetDBClusterParameterGroupDescription":{ + "shape":"String", + "documentation":"

A description for the copied DB cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the copied DB cluster parameter group.

" + } + } + }, + "CopyDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CopyDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "SourceDBClusterSnapshotIdentifier", + "TargetDBClusterSnapshotIdentifier" + ], + "members":{ + "SourceDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

You can't copy from one AWS Region to another.

Constraints:

  • Must specify a valid system snapshot in the \"available\" state.

  • Specify a valid DB snapshot identifier.

Example: my-cluster-snapshot1

" + }, + "TargetDBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster-snapshot2

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

You cannot encrypt an unencrypted DB cluster snapshot when you copy it. If you try to copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

Not currently supported.

" + }, + "CopyTags":{ + "shape":"BooleanOptional", + "documentation":"

True to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot, and otherwise false. The default is false.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new DB cluster snapshot copy.

" + } + } + }, + "CopyDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CopyDBParameterGroupMessage":{ + "type":"structure", + "required":[ + "SourceDBParameterGroupIdentifier", + "TargetDBParameterGroupIdentifier", + "TargetDBParameterGroupDescription" + ], + "members":{ + "SourceDBParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

Constraints:

  • Must specify a valid DB parameter group.

  • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

" + }, + "TargetDBParameterGroupIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the copied DB parameter group.

Constraints:

  • Cannot be null, empty, or blank.

  • Must contain from 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-db-parameter-group

" + }, + "TargetDBParameterGroupDescription":{ + "shape":"String", + "documentation":"

A description for the copied DB parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the copied DB parameter group.

" + } + } + }, + "CopyDBParameterGroupResult":{ + "type":"structure", + "members":{ + "DBParameterGroup":{"shape":"DBParameterGroup"} + } + }, + "CreateDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "Engine" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

A list of EC2 Availability Zones that instances in the DB cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" + }, + "CharacterSetName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Neptune will not create a database in the DB cluster you are creating.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default is used.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of EC2 VPC security groups to associate with this DB cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

A DB subnet group to associate with this DB cluster.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this DB cluster.

Valid Values: neptune

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to use. Currently, setting this parameter has no effect.

Example: 1.0.1

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the instances in the DB cluster accept connections.

Default: 8182

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

The name of the master user for the DB cluster.

Constraints:

  • Must be 1 to 16 letters or numbers.

  • First character must be a letter.

  • Cannot be a reserved word for the chosen database engine.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Neptune User Guide.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + }, + "ReplicationSourceIdentifier":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a Read Replica.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new DB cluster.

" + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether the DB cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If an encryption key is not specified in KmsKeyId:

  • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon Neptune will use the encryption key used to encrypt the source. Otherwise, Amazon Neptune will use your default encryption key.

  • If the StorageEncrypted parameter is true and ReplicationSourceIdentifier is not specified, then Amazon Neptune will use your default encryption key.

AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

If you create a Read Replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the Read Replica in that AWS Region.

" + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

This parameter is not currently supported.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is enabled.

" + } + } + }, + "CreateDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "DBParameterGroupFamily", + "Description" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must match the name of an existing DBClusterParameterGroup.

This value is stored as a lowercase string.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the DB cluster parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB cluster parameter group.

" + } + } + }, + "CreateDBClusterParameterGroupResult":{ + "type":"structure", + "members":{ + "DBClusterParameterGroup":{"shape":"DBClusterParameterGroup"} + } + }, + "CreateDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "CreateDBClusterSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "DBClusterIdentifier" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: my-cluster1-snapshot1

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

Example: my-cluster1

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the DB cluster snapshot.

" + } + } + }, + "CreateDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "CreateDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "DBInstanceClass", + "Engine" + ], + "members":{ + "DBName":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

The amount of storage (in gibibytes) to allocate for the DB instance.

Type: Integer

Not applicable. Neptune cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in a Neptune cluster volume.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine to be used for this instance.

Valid Values: neptune

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

The name for the master user. Not used.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

Not used.

" + }, + "DBSecurityGroups":{ + "shape":"DBSecurityGroupNameList", + "documentation":"

A list of DB security groups to associate with this DB instance.

Default: The default DB security group for the database engine.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of EC2 VPC security groups to associate with this DB instance.

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: The default EC2 VPC security group for the DB subnet group's VPC.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

The EC2 Availability Zone that the DB instance is created in

Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

Example: us-east-1d

Constraint: The AvailabilityZone parameter can't be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same AWS Region as the current endpoint.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

A DB subnet group to associate with this DB instance.

If there is no DB subnet group, then it is a non-VPC DB instance.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine is used.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained.

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 1

Constraints:

  • Must be a value from 0 to 35

  • Cannot be set to 0 if the DB instance is a source to Read Replicas

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see CreateDBCluster.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the database accepts connections.

Not applicable. The port is managed by the DB cluster. For more information, see CreateDBCluster.

Default: 8182

Type: Integer

" + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to use. Currently, setting this parameter has no effect.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor engine upgrades are applied automatically to the DB instance during the maintenance window.

Default: true

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

License model information for this DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "CharacterSetName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "PubliclyAccessible":{ + "shape":"BooleanOptional", + "documentation":"

This flag should no longer be used.

", + "deprecated":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to assign to the new instance.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster that the instance will belong to.

For information on creating a DB cluster, see CreateDBCluster.

Type: String

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Specifies the storage type to be associated with the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" + }, + "TdeCredentialArn":{ + "shape":"String", + "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" + }, + "TdeCredentialPassword":{ + "shape":"String", + "documentation":"

The password for the given ARN from the key store in order to access the device.

" + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

Specifies whether the DB instance is encrypted.

Not applicable. The encryption for DB instances is managed by the DB cluster. For more information, see CreateDBCluster.

Default: false

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier for an encrypted DB instance.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon Neptune will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

" + }, + "Domain":{ + "shape":"String", + "documentation":"

Specify the Active Directory Domain to create the instance in.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + }, + "MonitoringInterval":{ + "shape":"IntegerOptional", + "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" + }, + "MonitoringRoleArn":{ + "shape":"String", + "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

Specify the name of the IAM role to be used when making API calls to the Directory Service.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which an Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" + }, + "Timezone":{ + "shape":"String", + "documentation":"

The time zone of the DB instance.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable AWS Identity and Access Management (IAM) authentication for Neptune.

Default: false

" + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

(Not supported by Neptune)

" + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of log types that need to be enabled for exporting to CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB Instance.

DB instances in a DB cluster can be deleted even when deletion protection is enabled in their parent DB cluster.

" + } + } + }, + "CreateDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "CreateDBParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBParameterGroupName", + "DBParameterGroupFamily", + "Description" + ], + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description for the DB parameter group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB parameter group.

" + } + } + }, + "CreateDBParameterGroupResult":{ + "type":"structure", + "members":{ + "DBParameterGroup":{"shape":"DBParameterGroup"} + } + }, + "CreateDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "DBSubnetGroupDescription", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the DB subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The EC2 Subnet IDs for the DB subnet group.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the new DB subnet group.

" + } + } + }, + "CreateDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "CreateEventSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SnsTopicArn" + ], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the subscription.

Constraints: The name must be less than 255 characters.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" + }, + "SourceIds":{ + "shape":"SourceIdsList", + "documentation":"

The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

Constraints:

  • If SourceIds are supplied, SourceType must also be provided.

  • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

  • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

  • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

  • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be applied to the new event subscription.

" + } + } + }, + "CreateEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, + "DBCluster":{ + "type":"structure", + "members":{ + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

AllocatedStorage always returns 1, because Neptune DB cluster storage size is not fixed, but instead automatically adjusts as needed.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" + }, + "CharacterSetName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

Contains the name of the initial database of this DB cluster that was provided at create time, if one was specified when the DB cluster was created. This same name is returned for the life of the DB cluster.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

" + }, + "DBClusterParameterGroup":{ + "shape":"String", + "documentation":"

Specifies the name of the DB cluster parameter group for the DB cluster.

" + }, + "DBSubnetGroup":{ + "shape":"String", + "documentation":"

Specifies information on the subnet group associated with the DB cluster, including the name, description, and subnets in the subnet group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the current state of this DB cluster.

" + }, + "PercentProgress":{ + "shape":"String", + "documentation":"

Specifies the progress of the operation as a percentage.

" + }, + "EarliestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the earliest time to which a database can be restored with point-in-time restore.

" + }, + "Endpoint":{ + "shape":"String", + "documentation":"

Specifies the connection endpoint for the primary instance of the DB cluster.

" + }, + "ReaderEndpoint":{ + "shape":"String", + "documentation":"

The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Read Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Neptune distributes the connection requests among the Read Replicas in the DB cluster. This functionality can help balance your read workload across multiple Read Replicas in your DB cluster.

If a failover occurs, and the Read Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Read Replicas in the cluster, you can then reconnect to the reader endpoint.

" + }, + "MultiAZ":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster has instances in multiple Availability Zones.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this DB cluster.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Contains the master username for the DB cluster.

" + }, + "DBClusterOptionGroupMemberships":{ + "shape":"DBClusterOptionGroupMemberships", + "documentation":"

(Not supported by Neptune)

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "ReplicationSourceIdentifier":{ + "shape":"String", + "documentation":"

Not supported by Neptune.

" + }, + "ReadReplicaIdentifiers":{ + "shape":"ReadReplicaIdentifierList", + "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB cluster.

" + }, + "DBClusterMembers":{ + "shape":"DBClusterMemberList", + "documentation":"

Provides the list of instances that make up the DB cluster.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of VPC security groups that the DB cluster belongs to.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster.

" + }, + "DbClusterResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

" + }, + "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.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" + }, + "CloneGroupId":{ + "shape":"String", + "documentation":"

Identifies the clone group to which the DB cluster is associated.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Indicates whether or not the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.

" + } + }, + "documentation":"

Contains the details of an Amazon Neptune DB cluster.

This data type is used as a response element in the DescribeDBClusters action.

", + "wrapper":true + }, + "DBClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

User already has a DB cluster with the given identifier.

", + "error":{ + "code":"DBClusterAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterList":{ + "type":"list", + "member":{ + "shape":"DBCluster", + "locationName":"DBCluster" + } + }, + "DBClusterMember":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Specifies the instance identifier for this member of the DB cluster.

" + }, + "IsClusterWriter":{ + "shape":"Boolean", + "documentation":"

Value that is true if the cluster member is the primary instance for the DB cluster and false otherwise.

" + }, + "DBClusterParameterGroupStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the DB cluster parameter group for this member of the DB cluster.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" + } + }, + "documentation":"

Contains information about an instance that is part of a DB cluster.

", + "wrapper":true + }, + "DBClusterMemberList":{ + "type":"list", + "member":{ + "shape":"DBClusterMember", + "locationName":"DBClusterMember" + } + }, + "DBClusterMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

A pagination token that can be used in a subsequent DescribeDBClusters request.

" + }, + "DBClusters":{ + "shape":"DBClusterList", + "documentation":"

Contains a list of DB clusters for the user.

" + } + } + }, + "DBClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterIdentifier does not refer to an existing DB cluster.

", + "error":{ + "code":"DBClusterNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterOptionGroupMemberships":{ + "type":"list", + "member":{ + "shape":"DBClusterOptionGroupStatus", + "locationName":"DBClusterOptionGroup" + } + }, + "DBClusterOptionGroupStatus":{ + "type":"structure", + "members":{ + "DBClusterOptionGroupName":{ + "shape":"String", + "documentation":"

Specifies the name of the DB cluster option group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the status of the DB cluster option group.

" + } + }, + "documentation":"

Contains status information for a DB cluster option group.

" + }, + "DBClusterParameterGroup":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

Provides the name of the DB cluster parameter group.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides the customer-specified description for this DB cluster parameter group.

" + }, + "DBClusterParameterGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB cluster parameter group.

" + } + }, + "documentation":"

Contains the details of an Amazon Neptune DB cluster parameter group.

This data type is used as a response element in the DescribeDBClusterParameterGroups action.

", + "wrapper":true + }, + "DBClusterParameterGroupDetails":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParametersList", + "documentation":"

Provides a list of parameters for the DB cluster parameter group.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + } + } + }, + "DBClusterParameterGroupList":{ + "type":"list", + "member":{ + "shape":"DBClusterParameterGroup", + "locationName":"DBClusterParameterGroup" + } + }, + "DBClusterParameterGroupNameMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

This value is stored as a lowercase string.

" + } + } + }, + "DBClusterParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

", + "error":{ + "code":"DBClusterParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterParameterGroups":{ + "shape":"DBClusterParameterGroupList", + "documentation":"

A list of DB cluster parameter groups.

" + } + } + }, + "DBClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

", + "error":{ + "code":"DBClusterQuotaExceededFault", + "httpStatusCode":403, + "senderFault":true + }, + "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:

  • ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

  • PENDING - the IAM role ARN is being associated with the DB cluster.

  • INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.

" + } + }, + "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":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier for a DB cluster snapshot. Must match the identifier of an existing snapshot.

After you restore a DB cluster using a DBClusterSnapshotIdentifier, you must specify the same DBClusterSnapshotIdentifier for any future updates to the DB cluster. When you specify this property for an update, the DB cluster is not restored from the snapshot again, and the data in the database is not changed.

However, if you don't specify the DBClusterSnapshotIdentifier, an empty DB cluster is created, and the original DB cluster is deleted. If you specify a property that is different from the previous snapshot restore property, the DB cluster is restored from the snapshot specified by the DBClusterSnapshotIdentifier, and the original DB cluster is deleted.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Specifies the DB cluster identifier of the DB cluster that this DB cluster snapshot was created from.

" + }, + "SnapshotCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the time when the snapshot was taken, in Universal Coordinated Time (UTC).

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Specifies the name of the database engine.

" + }, + "AllocatedStorage":{ + "shape":"Integer", + "documentation":"

Specifies the allocated storage size in gibibytes (GiB).

" + }, + "Status":{ + "shape":"String", + "documentation":"

Specifies the status of this DB cluster snapshot.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the DB cluster was listening on at the time of the snapshot.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the VPC ID associated with the DB cluster snapshot.

" + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Provides the master username for the DB cluster snapshot.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Provides the version of the database engine for this DB cluster snapshot.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

Provides the license model information for this DB cluster snapshot.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

Provides the type of the DB cluster snapshot.

" + }, + "PercentProgress":{ + "shape":"Integer", + "documentation":"

Specifies the percentage of the estimated data that has been transferred.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether the DB cluster snapshot is encrypted.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

" + }, + "DBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB cluster snapshot.

" + }, + "SourceDBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

" + } + }, + "documentation":"

Contains the details for an Amazon Neptune DB cluster snapshot

This data type is used as a response element in the DescribeDBClusterSnapshots action.

", + "wrapper":true + }, + "DBClusterSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

User already has a DB cluster snapshot with the given identifier.

", + "error":{ + "code":"DBClusterSnapshotAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterSnapshotAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the manual DB cluster snapshot attribute.

The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" + }, + "AttributeValues":{ + "shape":"AttributeValueList", + "documentation":"

The value(s) for the manual DB cluster snapshot attribute.

If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

" + } + }, + "documentation":"

Contains the name and values of a manual DB cluster snapshot attribute.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

" + }, + "DBClusterSnapshotAttributeList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshotAttribute", + "locationName":"DBClusterSnapshotAttribute" + } + }, + "DBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the manual DB cluster snapshot that the attributes apply to.

" + }, + "DBClusterSnapshotAttributes":{ + "shape":"DBClusterSnapshotAttributeList", + "documentation":"

The list of attributes and values for the manual DB cluster snapshot.

" + } + }, + "documentation":"

Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

", + "wrapper":true + }, + "DBClusterSnapshotList":{ + "type":"list", + "member":{ + "shape":"DBClusterSnapshot", + "locationName":"DBClusterSnapshot" + } + }, + "DBClusterSnapshotMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBClusterSnapshots":{ + "shape":"DBClusterSnapshotList", + "documentation":"

Provides a list of DB cluster snapshots for the user.

" + } + } + }, + "DBClusterSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

", + "error":{ + "code":"DBClusterSnapshotNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBEngineVersion":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB parameter group family for the database engine.

" + }, + "DBEngineDescription":{ + "shape":"String", + "documentation":"

The description of the database engine.

" + }, + "DBEngineVersionDescription":{ + "shape":"String", + "documentation":"

The description of the database engine version.

" + }, + "DefaultCharacterSet":{ + "shape":"CharacterSet", + "documentation":"

(Not supported by Neptune)

" + }, + "SupportedCharacterSets":{ + "shape":"SupportedCharacterSetsList", + "documentation":"

(Not supported by Neptune)

" + }, + "ValidUpgradeTarget":{ + "shape":"ValidUpgradeTargetList", + "documentation":"

A list of engine versions that this database engine version can be upgraded to.

" + }, + "SupportedTimezones":{ + "shape":"SupportedTimezonesList", + "documentation":"

A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

" + }, + "ExportableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

The types of logs that the database engine has available for export to CloudWatch Logs.

" + }, + "SupportsLogExportsToCloudwatchLogs":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

" + }, + "SupportsReadReplica":{ + "shape":"Boolean", + "documentation":"

Indicates whether the database engine version supports read replicas.

" + } + }, + "documentation":"

This data type is used as a response element in the action DescribeDBEngineVersions.

" + }, + "DBEngineVersionList":{ + "type":"list", + "member":{ + "shape":"DBEngineVersion", + "locationName":"DBEngineVersion" + } + }, + "DBEngineVersionMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBEngineVersions":{ + "shape":"DBEngineVersionList", + "documentation":"

A list of DBEngineVersion elements.

" + } + } + }, + "DBInstance":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the name of the compute and memory capacity class of the DB instance.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

Provides the name of the database engine to be used for this DB instance.

" + }, + "DBInstanceStatus":{ + "shape":"String", + "documentation":"

Specifies the current state of this database.

" + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

Contains the master username for the DB instance.

" + }, + "DBName":{ + "shape":"String", + "documentation":"

The database name.

" + }, + "Endpoint":{ + "shape":"Endpoint", + "documentation":"

Specifies the connection endpoint.

" + }, + "AllocatedStorage":{ + "shape":"Integer", + "documentation":"

Specifies the allocated storage size specified in gibibytes.

" + }, + "InstanceCreateTime":{ + "shape":"TStamp", + "documentation":"

Provides the date and time the DB instance was created.

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

Specifies the daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod.

" + }, + "BackupRetentionPeriod":{ + "shape":"Integer", + "documentation":"

Specifies the number of days for which automatic DB snapshots are retained.

" + }, + "DBSecurityGroups":{ + "shape":"DBSecurityGroupMembershipList", + "documentation":"

Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

" + }, + "VpcSecurityGroups":{ + "shape":"VpcSecurityGroupMembershipList", + "documentation":"

Provides a list of VPC security group elements that the DB instance belongs to.

" + }, + "DBParameterGroups":{ + "shape":"DBParameterGroupStatusList", + "documentation":"

Provides the list of DB parameter groups applied to this DB instance.

" + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

Specifies the name of the Availability Zone the DB instance is located in.

" + }, + "DBSubnetGroup":{ + "shape":"DBSubnetGroup", + "documentation":"

Specifies information on the subnet group associated with the DB instance, including the name, description, and subnets in the subnet group.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

" + }, + "PendingModifiedValues":{ + "shape":"PendingModifiedValues", + "documentation":"

Specifies that changes to the DB instance are pending. This element is only included when changes are pending. Specific changes are identified by subelements.

" + }, + "LatestRestorableTime":{ + "shape":"TStamp", + "documentation":"

Specifies the latest time to which a database can be restored with point-in-time restore.

" + }, + "MultiAZ":{ + "shape":"Boolean", + "documentation":"

Specifies if the DB instance is a Multi-AZ deployment.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

Indicates that minor version patches are applied automatically.

" + }, + "ReadReplicaSourceDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains the identifier of the source DB instance if this DB instance is a Read Replica.

" + }, + "ReadReplicaDBInstanceIdentifiers":{ + "shape":"ReadReplicaDBInstanceIdentifierList", + "documentation":"

Contains one or more identifiers of the Read Replicas associated with this DB instance.

" + }, + "ReadReplicaDBClusterIdentifiers":{ + "shape":"ReadReplicaDBClusterIdentifierList", + "documentation":"

Contains one or more identifiers of DB clusters that are Read Replicas of this DB instance.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

License model information for this DB instance.

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the Provisioned IOPS (I/O operations per second) value.

" + }, + "OptionGroupMemberships":{ + "shape":"OptionGroupMembershipList", + "documentation":"

(Not supported by Neptune)

" + }, + "CharacterSetName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "SecondaryAvailabilityZone":{ + "shape":"String", + "documentation":"

If present, specifies the name of the secondary Availability Zone for a DB instance with multi-AZ support.

" + }, + "PubliclyAccessible":{ + "shape":"Boolean", + "documentation":"

This flag should no longer be used.

", + "deprecated":true + }, + "StatusInfos":{ + "shape":"DBInstanceStatusInfoList", + "documentation":"

The status of a Read Replica. If the instance is not a Read Replica, this is blank.

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Specifies the storage type associated with DB instance.

" + }, + "TdeCredentialArn":{ + "shape":"String", + "documentation":"

The ARN from the key store with which the instance is associated for TDE encryption.

" + }, + "DbInstancePort":{ + "shape":"Integer", + "documentation":"

Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

" + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

Not supported: The encryption for DB instances is managed by the DB cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

Not supported: The encryption for DB instances is managed by the DB cluster.

" + }, + "DbiResourceId":{ + "shape":"String", + "documentation":"

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the CA certificate for this DB instance.

" + }, + "DomainMemberships":{ + "shape":"DomainMembershipList", + "documentation":"

Not supported

" + }, + "CopyTagsToSnapshot":{ + "shape":"Boolean", + "documentation":"

Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

" + }, + "MonitoringInterval":{ + "shape":"IntegerOptional", + "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance.

" + }, + "EnhancedMonitoringResourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that receives the Enhanced Monitoring metrics data for the DB instance.

" + }, + "MonitoringRoleArn":{ + "shape":"String", + "documentation":"

The ARN for the IAM role that permits Neptune to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

" + }, + "DBInstanceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB instance.

" + }, + "Timezone":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

True if AWS Identity and Access Management (IAM) authentication is enabled, and otherwise false.

" + }, + "PerformanceInsightsEnabled":{ + "shape":"BooleanOptional", + "documentation":"

(Not supported by Neptune)

" + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

A list of log types that this DB instance is configured to export to CloudWatch Logs.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

Indicates whether or not the DB instance has deletion protection enabled. The instance can't be deleted when deletion protection is enabled. See Deleting a DB Instance.

" + } + }, + "documentation":"

Contains the details of an Amazon Neptune DB instance.

This data type is used as a response element in the DescribeDBInstances action.

", + "wrapper":true + }, + "DBInstanceAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

User already has a DB instance with the given identifier.

", + "error":{ + "code":"DBInstanceAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceList":{ + "type":"list", + "member":{ + "shape":"DBInstance", + "locationName":"DBInstance" + } + }, + "DBInstanceMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + }, + "DBInstances":{ + "shape":"DBInstanceList", + "documentation":"

A list of DBInstance instances.

" + } + } + }, + "DBInstanceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBInstanceIdentifier does not refer to an existing DB instance.

", + "error":{ + "code":"DBInstanceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{ + "shape":"String", + "documentation":"

This value is currently \"read replication.\"

" + }, + "Normal":{ + "shape":"Boolean", + "documentation":"

Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

" + }, + "Status":{ + "shape":"String", + "documentation":"

Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

" + } + }, + "documentation":"

Provides a list of status information for a DB instance.

" + }, + "DBInstanceStatusInfoList":{ + "type":"list", + "member":{ + "shape":"DBInstanceStatusInfo", + "locationName":"DBInstanceStatusInfo" + } + }, + "DBParameterGroup":{ + "type":"structure", + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

Provides the name of the DB parameter group.

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

Provides the name of the DB parameter group family that this DB parameter group is compatible with.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides the customer-specified description for this DB parameter group.

" + }, + "DBParameterGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB parameter group.

" + } + }, + "documentation":"

Contains the details of an Amazon Neptune DB parameter group.

This data type is used as a response element in the DescribeDBParameterGroups action.

", + "wrapper":true + }, + "DBParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

A DB parameter group with the same name exists.

", + "error":{ + "code":"DBParameterGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupDetails":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of Parameter values.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DBParameterGroupList":{ + "type":"list", + "member":{ + "shape":"DBParameterGroup", + "locationName":"DBParameterGroup" + } + }, + "DBParameterGroupNameMessage":{ + "type":"structure", + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

Provides the name of the DB parameter group.

" + } + } + }, + "DBParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBParameterGroupName does not refer to an existing DB parameter group.

", + "error":{ + "code":"DBParameterGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed number of DB parameter groups.

", + "error":{ + "code":"DBParameterGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBParameterGroupStatus":{ + "type":"structure", + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DP parameter group.

" + }, + "ParameterApplyStatus":{ + "shape":"String", + "documentation":"

The status of parameter updates.

" + } + }, + "documentation":"

The status of the DB parameter group.

This data type is used as a response element in the following actions:

" + }, + "DBParameterGroupStatusList":{ + "type":"list", + "member":{ + "shape":"DBParameterGroupStatus", + "locationName":"DBParameterGroup" + } + }, + "DBParameterGroupsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBParameterGroups":{ + "shape":"DBParameterGroupList", + "documentation":"

A list of DBParameterGroup instances.

" + } + } + }, + "DBSecurityGroupMembership":{ + "type":"structure", + "members":{ + "DBSecurityGroupName":{ + "shape":"String", + "documentation":"

The name of the DB security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the DB security group.

" + } + }, + "documentation":"

Specifies membership in a designated DB security group.

" + }, + "DBSecurityGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"DBSecurityGroupMembership", + "locationName":"DBSecurityGroup" + } + }, + "DBSecurityGroupNameList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"DBSecurityGroupName" + } + }, + "DBSecurityGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSecurityGroupName does not refer to an existing DB security group.

", + "error":{ + "code":"DBSecurityGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier is already used by an existing snapshot.

", + "error":{ + "code":"DBSnapshotAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSnapshotIdentifier does not refer to an existing DB snapshot.

", + "error":{ + "code":"DBSnapshotNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroup":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group.

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

Provides the description of the DB subnet group.

" + }, + "VpcId":{ + "shape":"String", + "documentation":"

Provides the VpcId of the DB subnet group.

" + }, + "SubnetGroupStatus":{ + "shape":"String", + "documentation":"

Provides the status of the DB subnet group.

" + }, + "Subnets":{ + "shape":"SubnetList", + "documentation":"

Contains a list of Subnet elements.

" + }, + "DBSubnetGroupArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the DB subnet group.

" + } + }, + "documentation":"

Contains the details of an Amazon Neptune DB subnet group.

This data type is used as a response element in the DescribeDBSubnetGroups action.

", + "wrapper":true + }, + "DBSubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName is already used by an existing DB subnet group.

", + "error":{ + "code":"DBSubnetGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupDoesNotCoverEnoughAZs":{ + "type":"structure", + "members":{ + }, + "documentation":"

Subnets in the DB subnet group should cover at least two Availability Zones unless there is only one Availability Zone.

", + "error":{ + "code":"DBSubnetGroupDoesNotCoverEnoughAZs", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DBSubnetGroups":{ + "shape":"DBSubnetGroups", + "documentation":"

A list of DBSubnetGroup instances.

" + } + } + }, + "DBSubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DBSubnetGroupName does not refer to an existing DB subnet group.

", + "error":{ + "code":"DBSubnetGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed number of DB subnet groups.

", + "error":{ + "code":"DBSubnetGroupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSubnetGroups":{ + "type":"list", + "member":{ + "shape":"DBSubnetGroup", + "locationName":"DBSubnetGroup" + } + }, + "DBSubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

", + "error":{ + "code":"DBSubnetQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBUpgradeDependencyFailureFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB upgrade failed because a resource the DB depends on could not be modified.

", + "error":{ + "code":"DBUpgradeDependencyFailure", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DeleteDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match an existing DBClusterIdentifier.

" + }, + "SkipFinalSnapshot":{ + "shape":"Boolean", + "documentation":"

Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

Default: false

" + }, + "FinalDBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters, numbers, or hyphens.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + } + } + }, + "DeleteDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group.

Constraints:

  • Must be the name of an existing DB cluster parameter group.

  • You can't delete a default DB cluster parameter group.

  • Cannot be associated with any DB clusters.

" + } + } + }, + "DeleteDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "DeleteDBClusterSnapshotMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the DB cluster snapshot to delete.

Constraints: Must be the name of an existing DB cluster snapshot in the available state.

" + } + } + }, + "DeleteDBClusterSnapshotResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} + } + }, + "DeleteDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive.

Constraints:

  • Must match the name of an existing DB instance.

" + }, + "SkipFinalSnapshot":{ + "shape":"Boolean", + "documentation":"

Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

Specify true when deleting a Read Replica.

The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

Default: false

" + }, + "FinalDBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

Constraints:

  • Must be 1 to 255 letters or numbers.

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

  • Cannot be specified when deleting a Read Replica.

" + } + } + }, + "DeleteDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "DeleteDBParameterGroupMessage":{ + "type":"structure", + "required":["DBParameterGroupName"], + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group.

Constraints:

  • Must be the name of an existing DB parameter group

  • You can't delete a default DB parameter group

  • Cannot be associated with any DB instances

" + } + } + }, + "DeleteDBSubnetGroupMessage":{ + "type":"structure", + "required":["DBSubnetGroupName"], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the database subnet group to delete.

You can't delete the default subnet group.

Constraints:

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + } + } + }, + "DeleteEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the event notification subscription you want to delete.

" + } + } + }, + "DeleteEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, + "DescribeDBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB cluster parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBClusterParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBClusterParametersMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB cluster parameter group to return parameter details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "Source":{ + "shape":"String", + "documentation":"

A value that indicates to return only parameters for a specific source. Parameter sources can be engine, service, or customer.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBClusterSnapshotAttributesMessage":{ + "type":"structure", + "required":["DBClusterSnapshotIdentifier"], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB cluster snapshot to describe the attributes for.

" + } + } + }, + "DescribeDBClusterSnapshotAttributesResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "DescribeDBClusterSnapshotsMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBCluster.

" + }, + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

Constraints:

  • If supplied, must match the identifier of an existing DBClusterSnapshot.

  • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

" + }, + "SnapshotType":{ + "shape":"String", + "documentation":"

The type of DB cluster snapshots to be returned. You can specify one of the following values:

  • automated - Return all DB cluster snapshots that have been automatically taken by Amazon Neptune for my AWS account.

  • manual - Return all DB cluster snapshots that have been taken by my AWS account.

  • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

  • public - Return all DB cluster snapshots that have been marked as public.

If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "IncludeShared":{ + "shape":"Boolean", + "documentation":"

True to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false. The default is false.

You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

" + }, + "IncludePublic":{ + "shape":"Boolean", + "documentation":"

True to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false. The default is false. The default is false.

You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

" + } + } + }, + "DescribeDBClustersMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match an existing DBClusterIdentifier.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more DB clusters to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs.

  • engine - Accepts an engine name (such as neptune), and restricts the results list to DB clusters created by that engine.

For example, to invoke this API from the AWS CLI and filter so that only Neptune DB clusters are returned, you could use the following command:

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBEngineVersionsMessage":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The database engine to return.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The database engine version to return.

Example: 5.1.49

" + }, + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of a specific DB parameter group family to return details for.

Constraints:

  • If supplied, must match an existing DBParameterGroupFamily.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "DefaultOnly":{ + "shape":"Boolean", + "documentation":"

Indicates that only the default version of the specified engine or engine and major version combination is returned.

" + }, + "ListSupportedCharacterSets":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

" + }, + "ListSupportedTimezones":{ + "shape":"BooleanOptional", + "documentation":"

If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

" + } + } + }, + "DescribeDBInstancesMessage":{ + "type":"structure", + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

Constraints:

  • If supplied, must match the identifier of an existing DBInstance.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more DB instances to describe.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs.

  • engine - Accepts an engine name (such as neptune), and restricts the results list to DB instances created by that engine.

For example, to invoke this API from the AWS CLI and filter so that only Neptune DB instances are returned, you could use the following command:

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBInstances request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBParameterGroupsMessage":{ + "type":"structure", + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBParameterGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBParametersMessage":{ + "type":"structure", + "required":["DBParameterGroupName"], + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of a specific DB parameter group to return details for.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" + }, + "Source":{ + "shape":"String", + "documentation":"

The parameter types to return.

Default: All parameter types returned

Valid Values: user | system | engine-default

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDBSubnetGroupsMessage":{ + "type":"structure", + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group to return details for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeDBSubnetGroups request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeEngineDefaultClusterParametersMessage":{ + "type":"structure", + "required":["DBParameterGroupFamily"], + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group family to return engine parameter information for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeEngineDefaultClusterParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeEngineDefaultClusterParametersResult":{ + "type":"structure", + "members":{ + "EngineDefaults":{"shape":"EngineDefaults"} + } + }, + "DescribeEngineDefaultParametersMessage":{ + "type":"structure", + "required":["DBParameterGroupFamily"], + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

The name of the DB parameter group family.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

Not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeEngineDefaultParameters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeEngineDefaultParametersResult":{ + "type":"structure", + "members":{ + "EngineDefaults":{"shape":"EngineDefaults"} + } + }, + "DescribeEventCategoriesMessage":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The type of source that is generating the events.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + } + }, + "DescribeEventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the event notification subscription you want to describe.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + } + } + }, + "DescribeEventsMessage":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

Constraints:

  • If SourceIdentifier is supplied, SourceType must also be provided.

  • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

  • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

  • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

  • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

  • Cannot end with a hyphen or contain two consecutive hyphens.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

The event source to retrieve events for. If no value is specified, all events are returned.

" + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

The end of the time interval for which to retrieve events, specified in ISO 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia page.

Example: 2009-07-08T18:00Z

" + }, + "Duration":{ + "shape":"IntegerOptional", + "documentation":"

The number of minutes to retrieve events for.

Default: 60

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories that trigger notifications for a event notification subscription.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeEvents request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeOrderableDBInstanceOptionsMessage":{ + "type":"structure", + "required":["Engine"], + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the engine to retrieve DB instance options for.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version filter value. Specify this parameter to show only the available offerings matching the specified engine version.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The DB instance class filter value. Specify this parameter to show only the available offerings matching the specified DB instance class.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

" + }, + "Vpc":{ + "shape":"BooleanOptional", + "documentation":"

The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + } + } + }, + "DescribePendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The ARN of a resource to return pending maintenance actions for.

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

A filter that specifies one or more resources to return pending maintenance actions for.

Supported filters:

  • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs.

  • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records 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 pagination token called a marker is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

" + } + } + }, + "DescribeValidDBInstanceModificationsMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The customer identifier or the ARN of your DB instance.

" + } + } + }, + "DescribeValidDBInstanceModificationsResult":{ + "type":"structure", + "members":{ + "ValidDBInstanceModificationsMessage":{"shape":"ValidDBInstanceModificationsMessage"} + } + }, + "DomainMembership":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"String", + "documentation":"

The identifier of the Active Directory Domain.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

" + }, + "FQDN":{ + "shape":"String", + "documentation":"

The fully qualified domain name of the Active Directory Domain.

" + }, + "IAMRoleName":{ + "shape":"String", + "documentation":"

The name of the IAM role to be used when making API calls to the Directory Service.

" + } + }, + "documentation":"

An Active Directory Domain membership record associated with a DB instance.

" + }, + "DomainMembershipList":{ + "type":"list", + "member":{ + "shape":"DomainMembership", + "locationName":"DomainMembership" + } + }, + "DomainNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Domain does not refer to an existing Active Directory Domain.

", + "error":{ + "code":"DomainNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "Double":{"type":"double"}, + "DoubleOptional":{"type":"double"}, + "DoubleRange":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Double", + "documentation":"

The minimum value in the range.

" + }, + "To":{ + "shape":"Double", + "documentation":"

The maximum value in the range.

" + } + }, + "documentation":"

A range of double values.

" + }, + "DoubleRangeList":{ + "type":"list", + "member":{ + "shape":"DoubleRange", + "locationName":"DoubleRange" + } + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

Specifies the DNS address of the DB instance.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

Specifies the port that the database engine is listening on.

" + }, + "HostedZoneId":{ + "shape":"String", + "documentation":"

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

" + } + }, + "documentation":"

Specifies a connection endpoint.

" + }, + "EngineDefaults":{ + "type":"structure", + "members":{ + "DBParameterGroupFamily":{ + "shape":"String", + "documentation":"

Specifies the name of the DB parameter group family that the engine default parameters apply to.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous EngineDefaults request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

Contains a list of engine default parameters.

" + } + }, + "documentation":"

Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

", + "wrapper":true + }, + "Event":{ + "type":"structure", + "members":{ + "SourceIdentifier":{ + "shape":"String", + "documentation":"

Provides the identifier for the source of the event.

" + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

Specifies the source type for this event.

" + }, + "Message":{ + "shape":"String", + "documentation":"

Provides the text of this event.

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

Specifies the category for the event.

" + }, + "Date":{ + "shape":"TStamp", + "documentation":"

Specifies the date and time of the event.

" + }, + "SourceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the event.

" + } + }, + "documentation":"

This data type is used as a response element in the DescribeEvents action.

" + }, + "EventCategoriesList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"EventCategory" + } + }, + "EventCategoriesMap":{ + "type":"structure", + "members":{ + "SourceType":{ + "shape":"String", + "documentation":"

The source type that the returned categories belong to

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

The event categories for the specified source type

" + } + }, + "documentation":"

Contains the results of a successful invocation of the DescribeEventCategories action.

", + "wrapper":true + }, + "EventCategoriesMapList":{ + "type":"list", + "member":{ + "shape":"EventCategoriesMap", + "locationName":"EventCategoriesMap" + } + }, + "EventCategoriesMessage":{ + "type":"structure", + "members":{ + "EventCategoriesMapList":{ + "shape":"EventCategoriesMapList", + "documentation":"

A list of EventCategoriesMap data types.

" + } + } + }, + "EventList":{ + "type":"list", + "member":{ + "shape":"Event", + "locationName":"Event" + } + }, + "EventSubscription":{ + "type":"structure", + "members":{ + "CustomerAwsId":{ + "shape":"String", + "documentation":"

The AWS customer account associated with the event notification subscription.

" + }, + "CustSubscriptionId":{ + "shape":"String", + "documentation":"

The event notification subscription Id.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The topic ARN of the event notification subscription.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the event notification subscription.

Constraints:

Can be one of the following: creating | modifying | deleting | active | no-permission | topic-not-exist

The status \"no-permission\" indicates that Neptune no longer has permission to post to the SNS topic. The status \"topic-not-exist\" indicates that the topic was deleted after the subscription was created.

" + }, + "SubscriptionCreationTime":{ + "shape":"String", + "documentation":"

The time the event notification subscription was created.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The source type for the event notification subscription.

" + }, + "SourceIdsList":{ + "shape":"SourceIdsList", + "documentation":"

A list of source IDs for the event notification subscription.

" + }, + "EventCategoriesList":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for the event notification subscription.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

A Boolean value indicating if the subscription is enabled. True indicates the subscription is enabled.

" + }, + "EventSubscriptionArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) for the event subscription.

" + } + }, + "documentation":"

Contains the results of a successful invocation of the DescribeEventSubscriptions action.

", + "wrapper":true + }, + "EventSubscriptionQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the number of events you can subscribe to.

", + "error":{ + "code":"EventSubscriptionQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "EventSubscriptionsList":{ + "type":"list", + "member":{ + "shape":"EventSubscription", + "locationName":"EventSubscription" + } + }, + "EventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

" + }, + "EventSubscriptionsList":{ + "shape":"EventSubscriptionsList", + "documentation":"

A list of EventSubscriptions data types.

" + } + } + }, + "EventsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + }, + "Events":{ + "shape":"EventList", + "documentation":"

A list of Event instances.

" + } + } + }, + "FailoverDBClusterMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "TargetDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The name of the instance to promote to the primary instance.

You must specify the instance identifier for an Read Replica in the DB cluster. For example, mydbcluster-replica1.

" + } + } + }, + "FailoverDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

This parameter is not currently supported.

" + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

This parameter is not currently supported.

" + } + }, + "documentation":"

This type is not currently supported.

" + }, + "FilterList":{ + "type":"list", + "member":{ + "shape":"Filter", + "locationName":"Filter" + } + }, + "FilterValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"Value" + } + }, + "InstanceQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed number of DB instances.

", + "error":{ + "code":"InstanceQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB cluster does not have enough capacity for the current operation.

", + "error":{ + "code":"InsufficientDBClusterCapacityFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "InsufficientDBInstanceCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Specified DB instance class is not available in the specified Availability Zone.

", + "error":{ + "code":"InsufficientDBInstanceCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InsufficientStorageClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There is insufficient storage available for the current action. You may be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

", + "error":{ + "code":"InsufficientStorageClusterCapacity", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidDBClusterSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The supplied value is not a valid DB cluster snapshot state.

", + "error":{ + "code":"InvalidDBClusterSnapshotStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB cluster is not in a valid state.

", + "error":{ + "code":"InvalidDBClusterStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBInstanceStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified DB instance is not in the available state.

", + "error":{ + "code":"InvalidDBInstanceState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you cannot delete it when the parameter group is in this state.

", + "error":{ + "code":"InvalidDBParameterGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSecurityGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the DB security group does not allow deletion.

", + "error":{ + "code":"InvalidDBSecurityGroupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The state of the DB snapshot does not allow deletion.

", + "error":{ + "code":"InvalidDBSnapshotState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetGroupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet group cannot be deleted because it is in use.

", + "error":{ + "code":"InvalidDBSubnetGroupStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBSubnetStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet is not in the available state.

", + "error":{ + "code":"InvalidDBSubnetStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidEventSubscriptionStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The event subscription is in an invalid state.

", + "error":{ + "code":"InvalidEventSubscriptionState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidRestoreFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Cannot restore from vpc backup to non-vpc DB instance.

", + "error":{ + "code":"InvalidRestoreFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "documentation":"

The requested subnet is invalid, or multiple subnets were requested that are not all in a common VPC.

", + "error":{ + "code":"InvalidSubnet", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

DB subnet group does not cover all Availability Zones after it is created because users' change.

", + "error":{ + "code":"InvalidVPCNetworkStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Error accessing KMS key.

", + "error":{ + "code":"KMSKeyNotAccessibleFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon Neptune resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

This parameter is not currently supported.

" + } + } + }, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ModifyDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "NewDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • The first character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-cluster2

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

The ApplyImmediately parameter only affects the NewDBClusterIdentifier and MasterUserPassword values. If you set the ApplyImmediately parameter value to false, then changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

Default: false

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

The number of days for which automated backups are retained. You must specify a minimum value of 1.

Default: 1

Constraints:

  • Must be a value from 1 to 35

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to use for the DB cluster.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of VPC security groups that the DB cluster will belong to.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

The new password for the master database user. This password can contain any printable ASCII character except \"/\", \"\"\", or \"@\".

Constraints: Must contain from 8 to 41 characters.

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region.

Constraints:

  • Must be in the format hh24:mi-hh24:mi.

  • Must be in Universal Coordinated Time (UTC).

  • Must not conflict with the preferred maintenance window.

  • Must be at least 30 minutes.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

Constraints: Minimum 30-minute window.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the ApplyPendingMaintenanceAction API.

For a list of valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + } + } + }, + "ModifyDBClusterParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBClusterParameterGroupName", + "Parameters" + ], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to modify.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameters in the DB cluster parameter group to modify.

" + } + } + }, + "ModifyDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "ModifyDBClusterSnapshotAttributeMessage":{ + "type":"structure", + "required":[ + "DBClusterSnapshotIdentifier", + "AttributeName" + ], + "members":{ + "DBClusterSnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB cluster snapshot to modify the attributes for.

" + }, + "AttributeName":{ + "shape":"String", + "documentation":"

The name of the DB cluster snapshot attribute to modify.

To manage authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this value to restore.

" + }, + "ValuesToAdd":{ + "shape":"AttributeValueList", + "documentation":"

A list of DB cluster snapshot attributes to add to the attribute specified by AttributeName.

To authorize other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account IDs, or all to make the manual DB cluster snapshot restorable by any AWS account. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.

" + }, + "ValuesToRemove":{ + "shape":"AttributeValueList", + "documentation":"

A list of DB cluster snapshot attributes to remove from the attribute specified by AttributeName.

To remove authorization for other AWS accounts to copy or restore a manual DB cluster snapshot, set this list to include one or more AWS account identifiers, or all to remove authorization for any AWS account to copy or restore the DB cluster snapshot. If you specify all, an AWS account whose account ID is explicitly added to the restore attribute can still copy or restore a manual DB cluster snapshot.

" + } + } + }, + "ModifyDBClusterSnapshotAttributeResult":{ + "type":"structure", + "members":{ + "DBClusterSnapshotAttributesResult":{"shape":"DBClusterSnapshotAttributesResult"} + } + }, + "ModifyDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This value is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

The new amount of storage (in gibibytes) to allocate for the DB instance.

Not applicable. Storage is managed by the DB Cluster.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions.

If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

Default: Uses existing setting

" + }, + "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.

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: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetGroup

" + }, + "DBSecurityGroups":{ + "shape":"DBSecurityGroupNameList", + "documentation":"

A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

Constraints:

  • If supplied, must match existing DBSecurityGroups.

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • If supplied, must match existing VpcSecurityGroupIds.

" + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot.

Default: false

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

Not applicable.

" + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

Default: Uses existing setting

Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: Uses existing setting

" + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

The daily time range during which automated backups are created if automated backups are enabled.

Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

Constraints:

  • Must be in the format hh24:mi-hh24:mi

  • Must be in Universal Time Coordinated (UTC)

  • Must not conflict with the preferred maintenance window

  • Must be at least 30 minutes

" + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

Format: ddd:hh24:mi-ddd:hh24:mi

Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Constraints: Must be at least 30 minutes

" + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the database engine to upgrade to. Currently, setting this parameter has no effect. To upgrade your database engine to the most recent release, use the ApplyPendingMaintenanceAction API.

" + }, + "AllowMajorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

Indicates that major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

" + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and Neptune has enabled auto patching for that engine version.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

The new Provisioned IOPS (I/O operations per second) value for the instance.

Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

Default: Uses existing setting

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "NewDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

Example: mydbinstance

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "TdeCredentialArn":{ + "shape":"String", + "documentation":"

The ARN from the key store with which to associate the instance for TDE encryption.

" + }, + "TdeCredentialPassword":{ + "shape":"String", + "documentation":"

The password for the given ARN from the key store in order to access the device.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

Indicates the certificate that needs to be associated with the instance.

" + }, + "Domain":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

True to copy all tags from the DB instance to snapshots of the DB instance, and otherwise false. The default is false.

" + }, + "MonitoringInterval":{ + "shape":"IntegerOptional", + "documentation":"

The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

Valid Values: 0, 1, 5, 10, 15, 30, 60

" + }, + "DBPortNumber":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the database accepts connections.

The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

Default: 8182

" + }, + "PubliclyAccessible":{ + "shape":"BooleanOptional", + "documentation":"

This flag should no longer be used.

", + "deprecated":true + }, + "MonitoringRoleArn":{ + "shape":"String", + "documentation":"

The ARN for the IAM role that permits Neptune to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.

If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

" + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

Not supported

" + }, + "PromotionTier":{ + "shape":"IntegerOptional", + "documentation":"

A value that specifies the order in which a Read Replica is promoted to the primary instance after a failure of the existing primary instance.

Default: 1

Valid Values: 0 - 15

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

You can enable IAM database authentication for the following database engines

Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster. For more information, see ModifyDBCluster.

Default: false

" + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

(Not supported by Neptune)

" + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. See Deleting a DB Instance.

" + } + } + }, + "ModifyDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "ModifyDBParameterGroupMessage":{ + "type":"structure", + "required":[ + "DBParameterGroupName", + "Parameters" + ], + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group.

Constraints:

  • If supplied, must match the name of an existing DBParameterGroup.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

Valid Values (for the application method): immediate | pending-reboot

You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

" + } + } + }, + "ModifyDBSubnetGroupMessage":{ + "type":"structure", + "required":[ + "DBSubnetGroupName", + "SubnetIds" + ], + "members":{ + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

Example: mySubnetgroup

" + }, + "DBSubnetGroupDescription":{ + "shape":"String", + "documentation":"

The description for the DB subnet group.

" + }, + "SubnetIds":{ + "shape":"SubnetIdentifierList", + "documentation":"

The EC2 subnet IDs for the DB subnet group.

" + } + } + }, + "ModifyDBSubnetGroupResult":{ + "type":"structure", + "members":{ + "DBSubnetGroup":{"shape":"DBSubnetGroup"} + } + }, + "ModifyEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the event notification subscription.

" + }, + "SnsTopicArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

" + }, + "SourceType":{ + "shape":"String", + "documentation":"

The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

" + }, + "EventCategories":{ + "shape":"EventCategoriesList", + "documentation":"

A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType by using the DescribeEventCategories action.

" + }, + "Enabled":{ + "shape":"BooleanOptional", + "documentation":"

A Boolean value; set to true to activate the subscription.

" + } + } + }, + "ModifyEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, + "OptionGroupMembership":{ + "type":"structure", + "members":{ + "OptionGroupName":{ + "shape":"String", + "documentation":"

The name of the option group that the instance belongs to.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the DB instance's option group membership. Valid values are: in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal, applying, removing, and failed.

" + } + }, + "documentation":"

Provides information on the option groups the DB instance is a member of.

" + }, + "OptionGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"OptionGroupMembership", + "locationName":"OptionGroupMembership" + } + }, + "OptionGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The designated option group could not be found.

", + "error":{ + "code":"OptionGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "OrderableDBInstanceOption":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The engine type of a DB instance.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version of a DB instance.

" + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

The DB instance class for a DB instance.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for a DB instance.

" + }, + "AvailabilityZones":{ + "shape":"AvailabilityZoneList", + "documentation":"

A list of Availability Zones for a DB instance.

" + }, + "MultiAZCapable":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance is Multi-AZ capable.

" + }, + "ReadReplicaCapable":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance can have a Read Replica.

" + }, + "Vpc":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance is in a VPC.

" + }, + "SupportsStorageEncryption":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance supports encrypted storage.

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Indicates the storage type for a DB instance.

" + }, + "SupportsIops":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance supports provisioned IOPS.

" + }, + "SupportsEnhancedMonitoring":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

" + }, + "SupportsIAMDatabaseAuthentication":{ + "shape":"Boolean", + "documentation":"

Indicates whether a DB instance supports IAM database authentication.

" + }, + "SupportsPerformanceInsights":{ + "shape":"Boolean", + "documentation":"

(Not supported by Neptune)

" + }, + "MinStorageSize":{ + "shape":"IntegerOptional", + "documentation":"

Minimum storage size for a DB instance.

" + }, + "MaxStorageSize":{ + "shape":"IntegerOptional", + "documentation":"

Maximum storage size for a DB instance.

" + }, + "MinIopsPerDbInstance":{ + "shape":"IntegerOptional", + "documentation":"

Minimum total provisioned IOPS for a DB instance.

" + }, + "MaxIopsPerDbInstance":{ + "shape":"IntegerOptional", + "documentation":"

Maximum total provisioned IOPS for a DB instance.

" + }, + "MinIopsPerGib":{ + "shape":"DoubleOptional", + "documentation":"

Minimum provisioned IOPS per GiB for a DB instance.

" + }, + "MaxIopsPerGib":{ + "shape":"DoubleOptional", + "documentation":"

Maximum provisioned IOPS per GiB for a DB instance.

" + } + }, + "documentation":"

Contains a list of available options for a DB instance.

This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

", + "wrapper":true + }, + "OrderableDBInstanceOptionsList":{ + "type":"list", + "member":{ + "shape":"OrderableDBInstanceOption", + "locationName":"OrderableDBInstanceOption" + } + }, + "OrderableDBInstanceOptionsMessage":{ + "type":"structure", + "members":{ + "OrderableDBInstanceOptions":{ + "shape":"OrderableDBInstanceOptionsList", + "documentation":"

An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

" + } + } + }, + "Parameter":{ + "type":"structure", + "members":{ + "ParameterName":{ + "shape":"String", + "documentation":"

Specifies the name of the parameter.

" + }, + "ParameterValue":{ + "shape":"String", + "documentation":"

Specifies the value of the parameter.

" + }, + "Description":{ + "shape":"String", + "documentation":"

Provides a description of the parameter.

" + }, + "Source":{ + "shape":"String", + "documentation":"

Indicates the source of the parameter value.

" + }, + "ApplyType":{ + "shape":"String", + "documentation":"

Specifies the engine specific parameters type.

" + }, + "DataType":{ + "shape":"String", + "documentation":"

Specifies the valid data type for the parameter.

" + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

Specifies the valid range of values for the parameter.

" + }, + "IsModifiable":{ + "shape":"Boolean", + "documentation":"

Indicates whether (true) or not (false) the parameter can be modified. Some parameters have security or operational implications that prevent them from being changed.

" + }, + "MinimumEngineVersion":{ + "shape":"String", + "documentation":"

The earliest engine version to which the parameter can apply.

" + }, + "ApplyMethod":{ + "shape":"ApplyMethod", + "documentation":"

Indicates when to apply parameter updates.

" + } + }, + "documentation":"

Specifies a parameter.

" + }, + "ParametersList":{ + "type":"list", + "member":{ + "shape":"Parameter", + "locationName":"Parameter" + } + }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

" + }, + "LogTypesToDisable":{ + "shape":"LogTypeList", + "documentation":"

Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

" + } + }, + "documentation":"

A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

" + }, + "PendingMaintenanceAction":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"String", + "documentation":"

The type of pending maintenance action that is available for the resource.

" + }, + "AutoAppliedAfterDate":{ + "shape":"TStamp", + "documentation":"

The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

" + }, + "ForcedApplyDate":{ + "shape":"TStamp", + "documentation":"

The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

" + }, + "OptInStatus":{ + "shape":"String", + "documentation":"

Indicates the type of opt-in request that has been received for the resource.

" + }, + "CurrentApplyDate":{ + "shape":"TStamp", + "documentation":"

The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A description providing more detail about the maintenance action.

" + } + }, + "documentation":"

Provides information about a pending maintenance action for a resource.

" + }, + "PendingMaintenanceActionDetails":{ + "type":"list", + "member":{ + "shape":"PendingMaintenanceAction", + "locationName":"PendingMaintenanceAction" + } + }, + "PendingMaintenanceActions":{ + "type":"list", + "member":{ + "shape":"ResourcePendingMaintenanceActions", + "locationName":"ResourcePendingMaintenanceActions" + } + }, + "PendingMaintenanceActionsMessage":{ + "type":"structure", + "members":{ + "PendingMaintenanceActions":{ + "shape":"PendingMaintenanceActions", + "documentation":"

A list of the pending maintenance actions for the resource.

" + }, + "Marker":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous DescribePendingMaintenanceActions request. If this parameter is specified, the response includes only records beyond the marker, up to a number of records specified by MaxRecords.

" + } + } + }, + "PendingModifiedValues":{ + "type":"structure", + "members":{ + "DBInstanceClass":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

" + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

" + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

Contains the pending or currently-in-progress change of the master credentials for the DB instance.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending port for the DB instance.

" + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the pending number of days for which automated backups are retained.

" + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

Indicates the database engine version.

" + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

The license model for the DB instance.

Valid values: license-included | bring-your-own-license | general-public-license

" + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

" + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

" + }, + "StorageType":{ + "shape":"String", + "documentation":"

Specifies the storage type to be associated with the DB instance.

" + }, + "CACertificateIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the CA certificate for the DB instance.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The new DB subnet group for the DB instance.

" + }, + "PendingCloudwatchLogsExports":{ + "shape":"PendingCloudwatchLogsExports", + "documentation":"

This PendingCloudwatchLogsExports structure specifies pending changes to which CloudWatch logs are enabled and which are disabled.

" + } + }, + "documentation":"

This data type is used as a response element in the ModifyDBInstance action.

" + }, + "PromoteReadReplicaDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

Not supported.

" + } + } + }, + "PromoteReadReplicaDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "ProvisionedIopsNotAvailableInAZFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Provisioned IOPS not available in the specified Availability Zone.

", + "error":{ + "code":"ProvisionedIopsNotAvailableInAZFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Range":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Integer", + "documentation":"

The minimum value in the range.

" + }, + "To":{ + "shape":"Integer", + "documentation":"

The maximum value in the range.

" + }, + "Step":{ + "shape":"IntegerOptional", + "documentation":"

The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

" + } + }, + "documentation":"

A range of integer values.

" + }, + "RangeList":{ + "type":"list", + "member":{ + "shape":"Range", + "locationName":"Range" + } + }, + "ReadReplicaDBClusterIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaDBClusterIdentifier" + } + }, + "ReadReplicaDBInstanceIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaDBInstanceIdentifier" + } + }, + "ReadReplicaIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaIdentifier" + } + }, + "RebootDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

The DB instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must match the identifier of an existing DBInstance.

" + }, + "ForceFailover":{ + "shape":"BooleanOptional", + "documentation":"

When true, the reboot is conducted through a MultiAZ failover.

Constraint: You can't specify true if the instance is not configured for MultiAZ.

" + } + } + }, + "RebootDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "RemoveRoleFromDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "RoleArn" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB cluster to disassociate the IAM role from.

" + }, + "RoleArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB cluster, for example arn:aws:iam::123456789012:role/NeptuneAccessRole.

" + } + } + }, + "RemoveSourceIdentifierFromSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SourceIdentifier" + ], + "members":{ + "SubscriptionName":{ + "shape":"String", + "documentation":"

The name of the event notification subscription you want to remove a source identifier from.

" + }, + "SourceIdentifier":{ + "shape":"String", + "documentation":"

The source identifier to be removed from the subscription, such as the DB instance identifier for a DB instance or the name of a security group.

" + } + } + }, + "RemoveSourceIdentifierFromSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, + "RemoveTagsFromResourceMessage":{ + "type":"structure", + "required":[ + "ResourceName", + "TagKeys" + ], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

The Amazon Neptune resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an Amazon Resource Name (ARN).

" + }, + "TagKeys":{ + "shape":"KeyList", + "documentation":"

The tag key (name) of the tag to be removed.

" + } + } + }, + "ResetDBClusterParameterGroupMessage":{ + "type":"structure", + "required":["DBClusterParameterGroupName"], + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to reset.

" + }, + "ResetAllParameters":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is set to true.

" + } + } + }, + "ResetDBParameterGroupMessage":{ + "type":"structure", + "required":["DBParameterGroupName"], + "members":{ + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB parameter group.

Constraints:

  • Must match the name of an existing DBParameterGroup.

" + }, + "ResetAllParameters":{ + "shape":"Boolean", + "documentation":"

Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

Default: true

" + }, + "Parameters":{ + "shape":"ParametersList", + "documentation":"

To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

Valid Values (for Apply method): pending-reboot

" + } + } + }, + "ResourceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The specified resource ID was not found.

", + "error":{ + "code":"ResourceNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourcePendingMaintenanceActions":{ + "type":"structure", + "members":{ + "ResourceIdentifier":{ + "shape":"String", + "documentation":"

The ARN of the resource that has pending maintenance actions.

" + }, + "PendingMaintenanceActionDetails":{ + "shape":"PendingMaintenanceActionDetails", + "documentation":"

A list that provides details about the pending maintenance actions for the resource.

" + } + }, + "documentation":"

Describes the pending maintenance actions for a resource.

", + "wrapper":true + }, + "RestoreDBClusterFromSnapshotMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SnapshotIdentifier", + "Engine" + ], + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

" + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

Example: my-snapshot-id

" + }, + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

The identifier for the DB snapshot or DB cluster snapshot to restore from.

You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

Constraints:

  • Must match the identifier of an existing Snapshot.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The database engine to use for the new DB cluster.

Default: The same as source

Constraint: Must be compatible with the engine of the source

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version of the database engine to use for the new DB cluster.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The name of the DB subnet group to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

Not supported.

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of VPC security groups that the new DB cluster will belong to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be assigned to the restored DB cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.

  • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with the new DB cluster.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + } + } + }, + "RestoreDBClusterFromSnapshotResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "RestoreDBClusterToPointInTimeMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "SourceDBClusterIdentifier" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The name of the new DB cluster to be created.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens

  • First character must be a letter

  • Cannot end with a hyphen or contain two consecutive hyphens

" + }, + "RestoreType":{ + "shape":"String", + "documentation":"

The type of restore to be performed. You can specify one of the following values:

  • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

  • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

" + }, + "SourceDBClusterIdentifier":{ + "shape":"String", + "documentation":"

The identifier of the source DB cluster from which to restore.

Constraints:

  • Must match the identifier of an existing DBCluster.

" + }, + "RestoreToTime":{ + "shape":"TStamp", + "documentation":"

The date and time to restore the DB cluster to.

Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

Constraints:

  • Must be before the latest restorable time for the DB instance

  • Must be specified if UseLatestRestorableTime parameter is not provided

  • Cannot be specified if UseLatestRestorableTime parameter is true

  • Cannot be specified if RestoreType parameter is copy-on-write

Example: 2015-03-07T23:45:00Z

" + }, + "UseLatestRestorableTime":{ + "shape":"Boolean", + "documentation":"

A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

Default: false

Constraints: Cannot be specified if RestoreToTime parameter is provided.

" + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

The port number on which the new DB cluster accepts connections.

Constraints: Value must be 1150-65535

Default: The same port as the original DB cluster.

" + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

The DB subnet group name to use for the new DB cluster.

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

Example: mySubnetgroup

" + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

(Not supported by Neptune)

" + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

A list of VPC security groups that the new DB cluster belongs to.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to be applied to the restored DB cluster.

" + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

If you do not specify a value for the KmsKeyId parameter, then the following will occur:

  • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

  • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

If DBClusterIdentifier refers to a DB cluster that is not encrypted, then the restore request is rejected.

" + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

True to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts, and otherwise false.

Default: false

" + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

The list of logs that the restored DB cluster is to export to CloudWatch Logs.

" + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

The name of the DB cluster parameter group to associate with the new DB cluster.

Constraints:

  • If supplied, must match the name of an existing DBClusterParameterGroup.

" + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

" + } + } + }, + "RestoreDBClusterToPointInTimeResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "SNSInvalidTopicFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The SNS topic is invalid.

", + "error":{ + "code":"SNSInvalidTopic", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SNSNoAuthorizationFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

There is no SNS authorization.

", + "error":{ + "code":"SNSNoAuthorization", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SNSTopicArnNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The ARN of the SNS topic could not be found.

", + "error":{ + "code":"SNSTopicArnNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SharedSnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.

", + "error":{ + "code":"SharedSnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed number of DB snapshots.

", + "error":{ + "code":"SnapshotQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SourceIdsList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SourceId" + } + }, + "SourceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The source could not be found.

", + "error":{ + "code":"SourceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SourceType":{ + "type":"string", + "enum":[ + "db-instance", + "db-parameter-group", + "db-security-group", + "db-snapshot", + "db-cluster", + "db-cluster-snapshot" + ] + }, + "StartDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier of the Neptune DB cluster to be started. This parameter is stored as a lowercase string.

" + } + } + }, + "StartDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StopDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

The DB cluster identifier of the Neptune DB cluster to be stopped. This parameter is stored as a lowercase string.

" + } + } + }, + "StopDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StorageQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

Request would result in user exceeding the allowed amount of storage available across all DB instances.

", + "error":{ + "code":"StorageQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "StorageTypeNotSupportedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

StorageType specified cannot be associated with the DB Instance.

", + "error":{ + "code":"StorageTypeNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{ + "shape":"String", + "documentation":"

Specifies the identifier of the subnet.

" + }, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

Specifies the EC2 Availability Zone that the subnet is in.

" + }, + "SubnetStatus":{ + "shape":"String", + "documentation":"

Specifies the status of the subnet.

" + } + }, + "documentation":"

Specifies a subnet.

This data type is used as a response element in the DescribeDBSubnetGroups action.

" + }, + "SubnetAlreadyInUse":{ + "type":"structure", + "members":{ + }, + "documentation":"

The DB subnet is already in use in the Availability Zone.

", + "error":{ + "code":"SubnetAlreadyInUse", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SubnetIdentifier" + } + }, + "SubnetList":{ + "type":"list", + "member":{ + "shape":"Subnet", + "locationName":"Subnet" + } + }, + "SubscriptionAlreadyExistFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

This subscription already exists.

", + "error":{ + "code":"SubscriptionAlreadyExist", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubscriptionCategoryNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The designated subscription category could not be found.

", + "error":{ + "code":"SubscriptionCategoryNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SubscriptionNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

The designated subscription could not be found.

", + "error":{ + "code":"SubscriptionNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SupportedCharacterSetsList":{ + "type":"list", + "member":{ + "shape":"CharacterSet", + "locationName":"CharacterSet" + } + }, + "SupportedTimezonesList":{ + "type":"list", + "member":{ + "shape":"Timezone", + "locationName":"Timezone" + } + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"String", + "documentation":"

A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + }, + "Value":{ + "shape":"String", + "documentation":"

A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

" + } + }, + "documentation":"

Metadata assigned to an Amazon Neptune resource consisting of a key-value pair.

" + }, + "TagList":{ + "type":"list", + "member":{ + "shape":"Tag", + "locationName":"Tag" + } + }, + "TagListMessage":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

List of tags returned by the ListTagsForResource operation.

" + } + } + }, + "Timezone":{ + "type":"structure", + "members":{ + "TimezoneName":{ + "shape":"String", + "documentation":"

The name of the time zone.

" + } + }, + "documentation":"

A time zone associated with a DBInstance.

" + }, + "UpgradeTarget":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"String", + "documentation":"

The name of the upgrade target database engine.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The version number of the upgrade target database engine.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" + }, + "AutoUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

" + }, + "IsMajorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

A value that indicates whether a database engine is upgraded to a major version.

" + } + }, + "documentation":"

The version of the database engine that a DB instance can be upgraded to.

" + }, + "ValidDBInstanceModificationsMessage":{ + "type":"structure", + "members":{ + "Storage":{ + "shape":"ValidStorageOptionsList", + "documentation":"

Valid storage options for your DB instance.

" + } + }, + "documentation":"

Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

", + "wrapper":true + }, + "ValidStorageOptions":{ + "type":"structure", + "members":{ + "StorageType":{ + "shape":"String", + "documentation":"

The valid storage types for your DB instance. For example, gp2, io1.

" + }, + "StorageSize":{ + "shape":"RangeList", + "documentation":"

The valid range of storage in gibibytes. For example, 100 to 16384.

" + }, + "ProvisionedIops":{ + "shape":"RangeList", + "documentation":"

The valid range of provisioned IOPS. For example, 1000-20000.

" + }, + "IopsToStorageRatio":{ + "shape":"DoubleRangeList", + "documentation":"

The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

" + } + }, + "documentation":"

Information about valid modifications that you can make to your DB instance.

Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

" + }, + "ValidStorageOptionsList":{ + "type":"list", + "member":{ + "shape":"ValidStorageOptions", + "locationName":"ValidStorageOptions" + } + }, + "ValidUpgradeTargetList":{ + "type":"list", + "member":{ + "shape":"UpgradeTarget", + "locationName":"UpgradeTarget" + } + }, + "VpcSecurityGroupIdList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"VpcSecurityGroupId" + } + }, + "VpcSecurityGroupMembership":{ + "type":"structure", + "members":{ + "VpcSecurityGroupId":{ + "shape":"String", + "documentation":"

The name of the VPC security group.

" + }, + "Status":{ + "shape":"String", + "documentation":"

The status of the VPC security group.

" + } + }, + "documentation":"

This data type is used as a response element for queries on VPC security group membership.

" + }, + "VpcSecurityGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"VpcSecurityGroupMembership", + "locationName":"VpcSecurityGroupMembership" + } + } + }, + "documentation":"Amazon Neptune

Amazon Neptune is a fast, reliable, fully-managed graph database service that makes it easy to build and run applications that work with highly connected datasets. The core of Amazon Neptune is a purpose-built, high-performance graph database engine optimized for storing billions of relationships and querying the graph with milliseconds latency. Amazon Neptune supports popular graph models Property Graph and W3C's RDF, and their respective query languages Apache TinkerPop Gremlin and SPARQL, allowing you to easily build queries that efficiently navigate highly connected datasets. Neptune powers graph use cases such as recommendation engines, fraud detection, knowledge graphs, drug discovery, and network security.

This interface reference for Amazon Neptune contains documentation for a programming or command line interface you can use to manage Amazon Neptune. Note that Amazon Neptune is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

" +} diff -Nru python-botocore-1.4.70/botocore/data/neptune/2014-10-31/service-2.sdk-extras.json python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/service-2.sdk-extras.json --- python-botocore-1.4.70/botocore/data/neptune/2014-10-31/service-2.sdk-extras.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/service-2.sdk-extras.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,23 @@ + { + "version": 1.0, + "merge": { + "shapes": { + "CopyDBClusterSnapshotMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

The ID of the region that contains the snapshot to be copied.

" + } + } + }, + "CreateDBClusterMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

The ID of the region that contains the source for the db cluster.

" + } + } + } + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/neptune/2014-10-31/waiters-2.json python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/waiters-2.json --- python-botocore-1.4.70/botocore/data/neptune/2014-10-31/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/neptune/2014-10-31/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,90 @@ +{ + "version": 2, + "waiters": { + "DBInstanceAvailable": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + }, + "DBInstanceDeleted": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "deleted", + "matcher": "pathAll", + "state": "success", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "DBInstanceNotFound", + "matcher": "error", + "state": "success" + }, + { + "expected": "creating", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "modifying", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "rebooting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "resetting-master-credentials", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/networkmanager/2019-07-05/paginators-1.json python-botocore-1.16.19+repack/botocore/data/networkmanager/2019-07-05/paginators-1.json --- python-botocore-1.4.70/botocore/data/networkmanager/2019-07-05/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/networkmanager/2019-07-05/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,46 @@ +{ + "pagination": { + "DescribeGlobalNetworks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "GlobalNetworks" + }, + "GetCustomerGatewayAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "CustomerGatewayAssociations" + }, + "GetDevices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Devices" + }, + "GetLinkAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "LinkAssociations" + }, + "GetLinks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Links" + }, + "GetSites": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Sites" + }, + "GetTransitGatewayRegistrations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TransitGatewayRegistrations" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/networkmanager/2019-07-05/service-2.json python-botocore-1.16.19+repack/botocore/data/networkmanager/2019-07-05/service-2.json --- python-botocore-1.4.70/botocore/data/networkmanager/2019-07-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/networkmanager/2019-07-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2133 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-07-05", + "endpointPrefix":"networkmanager", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"NetworkManager", + "serviceFullName":"AWS Network Manager", + "serviceId":"NetworkManager", + "signatureVersion":"v4", + "signingName":"networkmanager", + "uid":"networkmanager-2019-07-05" + }, + "operations":{ + "AssociateCustomerGateway":{ + "name":"AssociateCustomerGateway", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations" + }, + "input":{"shape":"AssociateCustomerGatewayRequest"}, + "output":{"shape":"AssociateCustomerGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Associates a customer gateway with a device and optionally, with a link. If you specify a link, it must be associated with the specified device.

You can only associate customer gateways that are connected to a VPN attachment on a transit gateway. The transit gateway must be registered in your global network. When you register a transit gateway, customer gateways that are connected to the transit gateway are automatically included in the global network. To list customer gateways that are connected to a transit gateway, use the DescribeVpnConnections EC2 API and filter by transit-gateway-id.

You cannot associate a customer gateway with more than one device and link.

" + }, + "AssociateLink":{ + "name":"AssociateLink", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/link-associations" + }, + "input":{"shape":"AssociateLinkRequest"}, + "output":{"shape":"AssociateLinkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Associates a link to a device. A device can be associated to multiple links and a link can be associated to multiple devices. The device and link must be in the same global network and the same site.

" + }, + "CreateDevice":{ + "name":"CreateDevice", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/devices" + }, + "input":{"shape":"CreateDeviceRequest"}, + "output":{"shape":"CreateDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new device in a global network. If you specify both a site ID and a location, the location of the site is used for visualization in the Network Manager console.

" + }, + "CreateGlobalNetwork":{ + "name":"CreateGlobalNetwork", + "http":{ + "method":"POST", + "requestUri":"/global-networks" + }, + "input":{"shape":"CreateGlobalNetworkRequest"}, + "output":{"shape":"CreateGlobalNetworkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new, empty global network.

" + }, + "CreateLink":{ + "name":"CreateLink", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/links" + }, + "input":{"shape":"CreateLinkRequest"}, + "output":{"shape":"CreateLinkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new link for a specified site.

" + }, + "CreateSite":{ + "name":"CreateSite", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/sites" + }, + "input":{"shape":"CreateSiteRequest"}, + "output":{"shape":"CreateSiteResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Creates a new site in a global network.

" + }, + "DeleteDevice":{ + "name":"DeleteDevice", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/devices/{deviceId}" + }, + "input":{"shape":"DeleteDeviceRequest"}, + "output":{"shape":"DeleteDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an existing device. You must first disassociate the device from any links and customer gateways.

" + }, + "DeleteGlobalNetwork":{ + "name":"DeleteGlobalNetwork", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}" + }, + "input":{"shape":"DeleteGlobalNetworkRequest"}, + "output":{"shape":"DeleteGlobalNetworkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an existing global network. You must first delete all global network objects (devices, links, and sites) and deregister all transit gateways.

" + }, + "DeleteLink":{ + "name":"DeleteLink", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/links/{linkId}" + }, + "input":{"shape":"DeleteLinkRequest"}, + "output":{"shape":"DeleteLinkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an existing link. You must first disassociate the link from any devices and customer gateways.

" + }, + "DeleteSite":{ + "name":"DeleteSite", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/sites/{siteId}" + }, + "input":{"shape":"DeleteSiteRequest"}, + "output":{"shape":"DeleteSiteResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes an existing site. The site cannot be associated with any device or link.

" + }, + "DeregisterTransitGateway":{ + "name":"DeregisterTransitGateway", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations/{transitGatewayArn}" + }, + "input":{"shape":"DeregisterTransitGatewayRequest"}, + "output":{"shape":"DeregisterTransitGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deregisters a transit gateway from your global network. This action does not delete your transit gateway, or modify any of its attachments. This action removes any customer gateway associations.

" + }, + "DescribeGlobalNetworks":{ + "name":"DescribeGlobalNetworks", + "http":{ + "method":"GET", + "requestUri":"/global-networks" + }, + "input":{"shape":"DescribeGlobalNetworksRequest"}, + "output":{"shape":"DescribeGlobalNetworksResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Describes one or more global networks. By default, all global networks are described. To describe the objects in your global network, you must use the appropriate Get* action. For example, to list the transit gateways in your global network, use GetTransitGatewayRegistrations.

" + }, + "DisassociateCustomerGateway":{ + "name":"DisassociateCustomerGateway", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations/{customerGatewayArn}" + }, + "input":{"shape":"DisassociateCustomerGatewayRequest"}, + "output":{"shape":"DisassociateCustomerGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Disassociates a customer gateway from a device and a link.

" + }, + "DisassociateLink":{ + "name":"DisassociateLink", + "http":{ + "method":"DELETE", + "requestUri":"/global-networks/{globalNetworkId}/link-associations" + }, + "input":{"shape":"DisassociateLinkRequest"}, + "output":{"shape":"DisassociateLinkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Disassociates an existing device from a link. You must first disassociate any customer gateways that are associated with the link.

" + }, + "GetCustomerGatewayAssociations":{ + "name":"GetCustomerGatewayAssociations", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/customer-gateway-associations" + }, + "input":{"shape":"GetCustomerGatewayAssociationsRequest"}, + "output":{"shape":"GetCustomerGatewayAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the association information for customer gateways that are associated with devices and links in your global network.

" + }, + "GetDevices":{ + "name":"GetDevices", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/devices" + }, + "input":{"shape":"GetDevicesRequest"}, + "output":{"shape":"GetDevicesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about one or more of your devices in a global network.

" + }, + "GetLinkAssociations":{ + "name":"GetLinkAssociations", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/link-associations" + }, + "input":{"shape":"GetLinkAssociationsRequest"}, + "output":{"shape":"GetLinkAssociationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets the link associations for a device or a link. Either the device ID or the link ID must be specified.

" + }, + "GetLinks":{ + "name":"GetLinks", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/links" + }, + "input":{"shape":"GetLinksRequest"}, + "output":{"shape":"GetLinksResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about one or more links in a specified global network.

If you specify the site ID, you cannot specify the type or provider in the same request. You can specify the type and provider in the same request.

" + }, + "GetSites":{ + "name":"GetSites", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/sites" + }, + "input":{"shape":"GetSitesRequest"}, + "output":{"shape":"GetSitesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about one or more of your sites in a global network.

" + }, + "GetTransitGatewayRegistrations":{ + "name":"GetTransitGatewayRegistrations", + "http":{ + "method":"GET", + "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations" + }, + "input":{"shape":"GetTransitGatewayRegistrationsRequest"}, + "output":{"shape":"GetTransitGatewayRegistrationsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about the transit gateway registrations in a specified global network.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the tags for a specified resource.

" + }, + "RegisterTransitGateway":{ + "name":"RegisterTransitGateway", + "http":{ + "method":"POST", + "requestUri":"/global-networks/{globalNetworkId}/transit-gateway-registrations" + }, + "input":{"shape":"RegisterTransitGatewayRequest"}, + "output":{"shape":"RegisterTransitGatewayResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Registers a transit gateway in your global network. The transit gateway can be in any AWS Region, but it must be owned by the same AWS account that owns the global network. You cannot register a transit gateway in more than one global network.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Tags a specified resource.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Removes tags from a specified resource.

" + }, + "UpdateDevice":{ + "name":"UpdateDevice", + "http":{ + "method":"PATCH", + "requestUri":"/global-networks/{globalNetworkId}/devices/{deviceId}" + }, + "input":{"shape":"UpdateDeviceRequest"}, + "output":{"shape":"UpdateDeviceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates the details for an existing device. To remove information for any of the parameters, specify an empty string.

" + }, + "UpdateGlobalNetwork":{ + "name":"UpdateGlobalNetwork", + "http":{ + "method":"PATCH", + "requestUri":"/global-networks/{globalNetworkId}" + }, + "input":{"shape":"UpdateGlobalNetworkRequest"}, + "output":{"shape":"UpdateGlobalNetworkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates an existing global network. To remove information for any of the parameters, specify an empty string.

" + }, + "UpdateLink":{ + "name":"UpdateLink", + "http":{ + "method":"PATCH", + "requestUri":"/global-networks/{globalNetworkId}/links/{linkId}" + }, + "input":{"shape":"UpdateLinkRequest"}, + "output":{"shape":"UpdateLinkResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates the details for an existing link. To remove information for any of the parameters, specify an empty string.

" + }, + "UpdateSite":{ + "name":"UpdateSite", + "http":{ + "method":"PATCH", + "requestUri":"/global-networks/{globalNetworkId}/sites/{siteId}" + }, + "input":{"shape":"UpdateSiteRequest"}, + "output":{"shape":"UpdateSiteResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Updates the information for an existing site. To remove information for any of the parameters, specify an empty string.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

You do not have sufficient access to perform this action.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AssociateCustomerGatewayRequest":{ + "type":"structure", + "required":[ + "CustomerGatewayArn", + "GlobalNetworkId", + "DeviceId" + ], + "members":{ + "CustomerGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the customer gateway. For more information, see Resources Defined by Amazon EC2.

" + }, + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

" + } + } + }, + "AssociateCustomerGatewayResponse":{ + "type":"structure", + "members":{ + "CustomerGatewayAssociation":{ + "shape":"CustomerGatewayAssociation", + "documentation":"

The customer gateway association.

" + } + } + }, + "AssociateLinkRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "DeviceId", + "LinkId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

" + } + } + }, + "AssociateLinkResponse":{ + "type":"structure", + "members":{ + "LinkAssociation":{ + "shape":"LinkAssociation", + "documentation":"

The link association.

" + } + } + }, + "Bandwidth":{ + "type":"structure", + "members":{ + "UploadSpeed":{ + "shape":"Integer", + "documentation":"

Upload speed in Mbps.

" + }, + "DownloadSpeed":{ + "shape":"Integer", + "documentation":"

Download speed in Mbps.

" + } + }, + "documentation":"

Describes bandwidth information.

" + }, + "ConflictException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{"shape":"String"}, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The resource type.

" + } + }, + "documentation":"

There was a conflict processing the request. Updating or deleting the resource can cause an inconsistent state.

", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateDeviceRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the device.

Length Constraints: Maximum length of 256 characters.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the device.

" + }, + "Vendor":{ + "shape":"String", + "documentation":"

The vendor of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "Model":{ + "shape":"String", + "documentation":"

The model of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "SerialNumber":{ + "shape":"String", + "documentation":"

The serial number of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The location of the device.

" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource during creation.

" + } + } + }, + "CreateDeviceResponse":{ + "type":"structure", + "members":{ + "Device":{ + "shape":"Device", + "documentation":"

Information about the device.

" + } + } + }, + "CreateGlobalNetworkRequest":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

A description of the global network.

Length Constraints: Maximum length of 256 characters.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource during creation.

" + } + } + }, + "CreateGlobalNetworkResponse":{ + "type":"structure", + "members":{ + "GlobalNetwork":{ + "shape":"GlobalNetwork", + "documentation":"

Information about the global network object.

" + } + } + }, + "CreateLinkRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "Bandwidth", + "SiteId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the link.

Length Constraints: Maximum length of 256 characters.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the link.

Constraints: Cannot include the following characters: | \\ ^

Length Constraints: Maximum length of 128 characters.

" + }, + "Bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The upload speed and download speed in Mbps.

" + }, + "Provider":{ + "shape":"String", + "documentation":"

The provider of the link.

Constraints: Cannot include the following characters: | \\ ^

Length Constraints: Maximum length of 128 characters.

" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource during creation.

" + } + } + }, + "CreateLinkResponse":{ + "type":"structure", + "members":{ + "Link":{ + "shape":"Link", + "documentation":"

Information about the link.

" + } + } + }, + "CreateSiteRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of your site.

Length Constraints: Maximum length of 256 characters.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The site location. This information is used for visualization in the Network Manager console. If you specify the address, the latitude and longitude are automatically calculated.

  • Address: The physical address of the site.

  • Latitude: The latitude of the site.

  • Longitude: The longitude of the site.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the resource during creation.

" + } + } + }, + "CreateSiteResponse":{ + "type":"structure", + "members":{ + "Site":{ + "shape":"Site", + "documentation":"

Information about the site.

" + } + } + }, + "CustomerGatewayAssociation":{ + "type":"structure", + "members":{ + "CustomerGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the customer gateway.

" + }, + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

" + }, + "State":{ + "shape":"CustomerGatewayAssociationState", + "documentation":"

The association state.

" + } + }, + "documentation":"

Describes the association between a customer gateway, a device, and a link.

" + }, + "CustomerGatewayAssociationList":{ + "type":"list", + "member":{"shape":"CustomerGatewayAssociation"} + }, + "CustomerGatewayAssociationState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "DELETED" + ] + }, + "DateTime":{"type":"timestamp"}, + "DeleteDeviceRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "DeviceId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

", + "location":"uri", + "locationName":"deviceId" + } + } + }, + "DeleteDeviceResponse":{ + "type":"structure", + "members":{ + "Device":{ + "shape":"Device", + "documentation":"

Information about the device.

" + } + } + }, + "DeleteGlobalNetworkRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + } + } + }, + "DeleteGlobalNetworkResponse":{ + "type":"structure", + "members":{ + "GlobalNetwork":{ + "shape":"GlobalNetwork", + "documentation":"

Information about the global network.

" + } + } + }, + "DeleteLinkRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "LinkId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

", + "location":"uri", + "locationName":"linkId" + } + } + }, + "DeleteLinkResponse":{ + "type":"structure", + "members":{ + "Link":{ + "shape":"Link", + "documentation":"

Information about the link.

" + } + } + }, + "DeleteSiteRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "SiteId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

", + "location":"uri", + "locationName":"siteId" + } + } + }, + "DeleteSiteResponse":{ + "type":"structure", + "members":{ + "Site":{ + "shape":"Site", + "documentation":"

Information about the site.

" + } + } + }, + "DeregisterTransitGatewayRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "TransitGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the transit gateway.

", + "location":"uri", + "locationName":"transitGatewayArn" + } + } + }, + "DeregisterTransitGatewayResponse":{ + "type":"structure", + "members":{ + "TransitGatewayRegistration":{ + "shape":"TransitGatewayRegistration", + "documentation":"

The transit gateway registration information.

" + } + } + }, + "DescribeGlobalNetworksRequest":{ + "type":"structure", + "members":{ + "GlobalNetworkIds":{ + "shape":"StringList", + "documentation":"

The IDs of one or more global networks. The maximum is 10.

", + "location":"querystring", + "locationName":"globalNetworkIds" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "DescribeGlobalNetworksResponse":{ + "type":"structure", + "members":{ + "GlobalNetworks":{ + "shape":"GlobalNetworkList", + "documentation":"

Information about the global networks.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "Device":{ + "type":"structure", + "members":{ + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

" + }, + "DeviceArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the device.

" + }, + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the device.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The device type.

" + }, + "Vendor":{ + "shape":"String", + "documentation":"

The device vendor.

" + }, + "Model":{ + "shape":"String", + "documentation":"

The device model.

" + }, + "SerialNumber":{ + "shape":"String", + "documentation":"

The device serial number.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The site location.

" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The site ID.

" + }, + "CreatedAt":{ + "shape":"DateTime", + "documentation":"

The date and time that the site was created.

" + }, + "State":{ + "shape":"DeviceState", + "documentation":"

The device state.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the device.

" + } + }, + "documentation":"

Describes a device.

" + }, + "DeviceList":{ + "type":"list", + "member":{"shape":"Device"} + }, + "DeviceState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "UPDATING" + ] + }, + "DisassociateCustomerGatewayRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "CustomerGatewayArn" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "CustomerGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the customer gateway. For more information, see Resources Defined by Amazon EC2.

", + "location":"uri", + "locationName":"customerGatewayArn" + } + } + }, + "DisassociateCustomerGatewayResponse":{ + "type":"structure", + "members":{ + "CustomerGatewayAssociation":{ + "shape":"CustomerGatewayAssociation", + "documentation":"

Information about the customer gateway association.

" + } + } + }, + "DisassociateLinkRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "DeviceId", + "LinkId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

", + "location":"querystring", + "locationName":"deviceId" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

", + "location":"querystring", + "locationName":"linkId" + } + } + }, + "DisassociateLinkResponse":{ + "type":"structure", + "members":{ + "LinkAssociation":{ + "shape":"LinkAssociation", + "documentation":"

Information about the link association.

" + } + } + }, + "GetCustomerGatewayAssociationsRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "CustomerGatewayArns":{ + "shape":"StringList", + "documentation":"

One or more customer gateway Amazon Resource Names (ARNs). For more information, see Resources Defined by Amazon EC2. The maximum is 10.

", + "location":"querystring", + "locationName":"customerGatewayArns" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetCustomerGatewayAssociationsResponse":{ + "type":"structure", + "members":{ + "CustomerGatewayAssociations":{ + "shape":"CustomerGatewayAssociationList", + "documentation":"

The customer gateway associations.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GetDevicesRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceIds":{ + "shape":"StringList", + "documentation":"

One or more device IDs. The maximum is 10.

", + "location":"querystring", + "locationName":"deviceIds" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

", + "location":"querystring", + "locationName":"siteId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetDevicesResponse":{ + "type":"structure", + "members":{ + "Devices":{ + "shape":"DeviceList", + "documentation":"

The devices.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GetLinkAssociationsRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

", + "location":"querystring", + "locationName":"deviceId" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

", + "location":"querystring", + "locationName":"linkId" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetLinkAssociationsResponse":{ + "type":"structure", + "members":{ + "LinkAssociations":{ + "shape":"LinkAssociationList", + "documentation":"

The link associations.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GetLinksRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "LinkIds":{ + "shape":"StringList", + "documentation":"

One or more link IDs. The maximum is 10.

", + "location":"querystring", + "locationName":"linkIds" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

", + "location":"querystring", + "locationName":"siteId" + }, + "Type":{ + "shape":"String", + "documentation":"

The link type.

", + "location":"querystring", + "locationName":"type" + }, + "Provider":{ + "shape":"String", + "documentation":"

The link provider.

", + "location":"querystring", + "locationName":"provider" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetLinksResponse":{ + "type":"structure", + "members":{ + "Links":{ + "shape":"LinkList", + "documentation":"

The links.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GetSitesRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "SiteIds":{ + "shape":"StringList", + "documentation":"

One or more site IDs. The maximum is 10.

", + "location":"querystring", + "locationName":"siteIds" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetSitesResponse":{ + "type":"structure", + "members":{ + "Sites":{ + "shape":"SiteList", + "documentation":"

The sites.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GetTransitGatewayRegistrationsRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "TransitGatewayArns":{ + "shape":"StringList", + "documentation":"

The Amazon Resource Names (ARNs) of one or more transit gateways. The maximum is 10.

", + "location":"querystring", + "locationName":"transitGatewayArns" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return.

", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "GetTransitGatewayRegistrationsResponse":{ + "type":"structure", + "members":{ + "TransitGatewayRegistrations":{ + "shape":"TransitGatewayRegistrationList", + "documentation":"

The transit gateway registrations.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

The token for the next page of results.

" + } + } + }, + "GlobalNetwork":{ + "type":"structure", + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "GlobalNetworkArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the global network.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the global network.

" + }, + "CreatedAt":{ + "shape":"DateTime", + "documentation":"

The date and time that the global network was created.

" + }, + "State":{ + "shape":"GlobalNetworkState", + "documentation":"

The state of the global network.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the global network.

" + } + }, + "documentation":"

Describes a global network.

" + }, + "GlobalNetworkList":{ + "type":"list", + "member":{"shape":"GlobalNetwork"} + }, + "GlobalNetworkState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "UPDATING" + ] + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "RetryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

Indicates when to retry the request.

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

The request has failed due to an internal error.

", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Link":{ + "type":"structure", + "members":{ + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

" + }, + "LinkArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the link.

" + }, + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the link.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the link.

" + }, + "Bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The bandwidth for the link.

" + }, + "Provider":{ + "shape":"String", + "documentation":"

The provider of the link.

" + }, + "CreatedAt":{ + "shape":"DateTime", + "documentation":"

The date and time that the link was created.

" + }, + "State":{ + "shape":"LinkState", + "documentation":"

The state of the link.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the link.

" + } + }, + "documentation":"

Describes a link.

" + }, + "LinkAssociation":{ + "type":"structure", + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The device ID for the link association.

" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

" + }, + "LinkAssociationState":{ + "shape":"LinkAssociationState", + "documentation":"

The state of the association.

" + } + }, + "documentation":"

Describes the association between a device and a link.

" + }, + "LinkAssociationList":{ + "type":"list", + "member":{"shape":"LinkAssociation"} + }, + "LinkAssociationState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "DELETED" + ] + }, + "LinkList":{ + "type":"list", + "member":{"shape":"Link"} + }, + "LinkState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "UPDATING" + ] + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

The list of tags.

" + } + } + }, + "Location":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"String", + "documentation":"

The physical address.

" + }, + "Latitude":{ + "shape":"String", + "documentation":"

The latitude.

" + }, + "Longitude":{ + "shape":"String", + "documentation":"

The longitude.

" + } + }, + "documentation":"

Describes a location.

" + }, + "MaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "RegisterTransitGatewayRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "TransitGatewayArn" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "TransitGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the transit gateway. For more information, see Resources Defined by Amazon EC2.

" + } + } + }, + "RegisterTransitGatewayResponse":{ + "type":"structure", + "members":{ + "TransitGatewayRegistration":{ + "shape":"TransitGatewayRegistration", + "documentation":"

Information about the transit gateway registration.

" + } + } + }, + "ResourceARN":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "ResourceId", + "ResourceType" + ], + "members":{ + "Message":{"shape":"String"}, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The resource type.

" + } + }, + "documentation":"

The specified resource could not be found.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RetryAfterSeconds":{"type":"integer"}, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":[ + "Message", + "LimitCode", + "ServiceCode" + ], + "members":{ + "Message":{ + "shape":"String", + "documentation":"

The error message.

" + }, + "ResourceId":{ + "shape":"String", + "documentation":"

The ID of the resource.

" + }, + "ResourceType":{ + "shape":"String", + "documentation":"

The resource type.

" + }, + "LimitCode":{ + "shape":"String", + "documentation":"

The limit code.

" + }, + "ServiceCode":{ + "shape":"String", + "documentation":"

The service code.

" + } + }, + "documentation":"

A service limit was exceeded.

", + "error":{"httpStatusCode":402}, + "exception":true + }, + "Site":{ + "type":"structure", + "members":{ + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

" + }, + "SiteArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the site.

" + }, + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "Description":{ + "shape":"String", + "documentation":"

The description of the site.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The location of the site.

" + }, + "CreatedAt":{ + "shape":"DateTime", + "documentation":"

The date and time that the site was created.

" + }, + "State":{ + "shape":"SiteState", + "documentation":"

The state of the site.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags for the site.

" + } + }, + "documentation":"

Describes a site.

" + }, + "SiteList":{ + "type":"list", + "member":{"shape":"Site"} + }, + "SiteState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "UPDATING" + ] + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The tag key.

Length Constraints: Maximum length of 128 characters.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The tag value.

Length Constraints: Maximum length of 256 characters.

" + } + }, + "documentation":"

Describes a tag.

" + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

The tags to apply to the specified resource.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "RetryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

Indicates when to retry the request.

", + "location":"header", + "locationName":"Retry-After" + } + }, + "documentation":"

The request was denied due to request throttling.

", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TransitGatewayRegistration":{ + "type":"structure", + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

" + }, + "TransitGatewayArn":{ + "shape":"String", + "documentation":"

The Amazon Resource Name (ARN) of the transit gateway.

" + }, + "State":{ + "shape":"TransitGatewayRegistrationStateReason", + "documentation":"

The state of the transit gateway registration.

" + } + }, + "documentation":"

Describes the registration of a transit gateway to a global network.

" + }, + "TransitGatewayRegistrationList":{ + "type":"list", + "member":{"shape":"TransitGatewayRegistration"} + }, + "TransitGatewayRegistrationState":{ + "type":"string", + "enum":[ + "PENDING", + "AVAILABLE", + "DELETING", + "DELETED", + "FAILED" + ] + }, + "TransitGatewayRegistrationStateReason":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"TransitGatewayRegistrationState", + "documentation":"

The code for the state reason.

" + }, + "Message":{ + "shape":"String", + "documentation":"

The message for the state reason.

" + } + }, + "documentation":"

Describes the status of a transit gateway registration.

" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceARN", + "documentation":"

The Amazon Resource Name (ARN) of the resource.

", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The tag keys to remove from the specified resource.

", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDeviceRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "DeviceId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "DeviceId":{ + "shape":"String", + "documentation":"

The ID of the device.

", + "location":"uri", + "locationName":"deviceId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the device.

Length Constraints: Maximum length of 256 characters.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the device.

" + }, + "Vendor":{ + "shape":"String", + "documentation":"

The vendor of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "Model":{ + "shape":"String", + "documentation":"

The model of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "SerialNumber":{ + "shape":"String", + "documentation":"

The serial number of the device.

Length Constraints: Maximum length of 128 characters.

" + }, + "Location":{"shape":"Location"}, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of the site.

" + } + } + }, + "UpdateDeviceResponse":{ + "type":"structure", + "members":{ + "Device":{ + "shape":"Device", + "documentation":"

Information about the device.

" + } + } + }, + "UpdateGlobalNetworkRequest":{ + "type":"structure", + "required":["GlobalNetworkId"], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of your global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the global network.

Length Constraints: Maximum length of 256 characters.

" + } + } + }, + "UpdateGlobalNetworkResponse":{ + "type":"structure", + "members":{ + "GlobalNetwork":{ + "shape":"GlobalNetwork", + "documentation":"

Information about the global network object.

" + } + } + }, + "UpdateLinkRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "LinkId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "LinkId":{ + "shape":"String", + "documentation":"

The ID of the link.

", + "location":"uri", + "locationName":"linkId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of the link.

Length Constraints: Maximum length of 256 characters.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of the link.

Length Constraints: Maximum length of 128 characters.

" + }, + "Bandwidth":{ + "shape":"Bandwidth", + "documentation":"

The upload and download speed in Mbps.

" + }, + "Provider":{ + "shape":"String", + "documentation":"

The provider of the link.

Length Constraints: Maximum length of 128 characters.

" + } + } + }, + "UpdateLinkResponse":{ + "type":"structure", + "members":{ + "Link":{ + "shape":"Link", + "documentation":"

Information about the link.

" + } + } + }, + "UpdateSiteRequest":{ + "type":"structure", + "required":[ + "GlobalNetworkId", + "SiteId" + ], + "members":{ + "GlobalNetworkId":{ + "shape":"String", + "documentation":"

The ID of the global network.

", + "location":"uri", + "locationName":"globalNetworkId" + }, + "SiteId":{ + "shape":"String", + "documentation":"

The ID of your site.

", + "location":"uri", + "locationName":"siteId" + }, + "Description":{ + "shape":"String", + "documentation":"

A description of your site.

Length Constraints: Maximum length of 256 characters.

" + }, + "Location":{ + "shape":"Location", + "documentation":"

The site location:

  • Address: The physical address of the site.

  • Latitude: The latitude of the site.

  • Longitude: The longitude of the site.

" + } + } + }, + "UpdateSiteResponse":{ + "type":"structure", + "members":{ + "Site":{ + "shape":"Site", + "documentation":"

Information about the site.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"}, + "Reason":{ + "shape":"ValidationExceptionReason", + "documentation":"

The reason for the error.

" + }, + "Fields":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

The fields that caused the error, if applicable.

" + } + }, + "documentation":"

The input fails to satisfy the constraints.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "Name", + "Message" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the field.

" + }, + "Message":{ + "shape":"String", + "documentation":"

The message for the field.

" + } + }, + "documentation":"

Describes a validation exception for a field.

" + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "UnknownOperation", + "CannotParse", + "FieldValidationFailed", + "Other" + ] + } + }, + "documentation":"

Transit Gateway Network Manager (Network Manager) enables you to create a global network, in which you can monitor your AWS and on-premises networks that are built around transit gateways.

" +} diff -Nru python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/examples-1.json python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/examples-1.json --- python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/paginators-1.json python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/paginators-1.json --- python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "DescribeEcsClusters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "EcsClusters" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/service-2.json python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/service-2.json --- python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS OpsWorks", + "serviceId":"OpsWorks", "signatureVersion":"v4", - "targetPrefix":"OpsWorks_20130218" + "targetPrefix":"OpsWorks_20130218", + "uid":"opsworks-2013-02-18" }, "operations":{ "AssignInstance":{ @@ -21,7 +23,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Assign a registered instance to a layer.

  • You can assign registered on-premises instances to any layer type.

  • You can assign registered Amazon EC2 instances only to custom layers.

  • You cannot use this action with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an AWS Identity and Access Management (IAM) user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Assign a registered instance to a layer.

  • You can assign registered on-premises instances to any layer type.

  • You can assign registered Amazon EC2 instances only to custom layers.

  • You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an AWS Identity and Access Management (IAM) user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "AssignVolume":{ "name":"AssignVolume", @@ -34,7 +36,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Assigns one of the stack's registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Assigns one of the stack's registered Amazon EBS volumes to a specified instance. The volume must first be registered with the stack by calling RegisterVolume. After you register the volume, you must call UpdateVolume to specify a mount point before calling AssignVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "AssociateElasticIp":{ "name":"AssociateElasticIp", @@ -47,7 +49,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Associates one of the stack's registered Elastic IP addresses with a specified instance. The address must first be registered with the stack by calling RegisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Associates one of the stack's registered Elastic IP addresses with a specified instance. The address must first be registered with the stack by calling RegisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "AttachElasticLoadBalancer":{ "name":"AttachElasticLoadBalancer", @@ -60,7 +62,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Attaches an Elastic Load Balancing load balancer to a specified layer. For more information, see Elastic Load Balancing.

You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see Elastic Load Balancing Developer Guide.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Attaches an Elastic Load Balancing load balancer to a specified layer. AWS OpsWorks Stacks does not support Application Load Balancer. You can only use Classic Load Balancer with AWS OpsWorks Stacks. For more information, see Elastic Load Balancing.

You must create the Elastic Load Balancing instance separately, by using the Elastic Load Balancing console, API, or CLI. For more information, see Elastic Load Balancing Developer Guide.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CloneStack":{ "name":"CloneStack", @@ -74,7 +76,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates a clone of a specified stack. For more information, see Clone a Stack. By default, all parameters are set to the values used by the parent stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "CreateApp":{ "name":"CreateApp", @@ -88,7 +90,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates an app for a specified stack. For more information, see Creating Apps.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates an app for a specified stack. For more information, see Creating Apps.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CreateDeployment":{ "name":"CreateDeployment", @@ -102,7 +104,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Runs deployment or stack commands. For more information, see Deploying Apps and Run Stack Commands.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Runs deployment or stack commands. For more information, see Deploying Apps and Run Stack Commands.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CreateInstance":{ "name":"CreateInstance", @@ -116,7 +118,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates an instance in a specified stack. For more information, see Adding an Instance to a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates an instance in a specified stack. For more information, see Adding an Instance to a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CreateLayer":{ "name":"CreateLayer", @@ -130,7 +132,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Creates a layer. For more information, see How to Create a Layer.

You should use CreateLayer for noncustom layer types such as PHP App Server only if the stack does not have an existing layer of that type. A stack can have at most one instance of each noncustom layer; if you attempt to create a second instance, CreateLayer fails. A stack can have an arbitrary number of custom layers, so you can call CreateLayer as many times as you like for that layer type.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates a layer. For more information, see How to Create a Layer.

You should use CreateLayer for noncustom layer types such as PHP App Server only if the stack does not have an existing layer of that type. A stack can have at most one instance of each noncustom layer; if you attempt to create a second instance, CreateLayer fails. A stack can have an arbitrary number of custom layers, so you can call CreateLayer as many times as you like for that layer type.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "CreateStack":{ "name":"CreateStack", @@ -143,7 +145,7 @@ "errors":[ {"shape":"ValidationException"} ], - "documentation":"

Creates a new stack. For more information, see Create a New Stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates a new stack. For more information, see Create a New Stack.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "CreateUserProfile":{ "name":"CreateUserProfile", @@ -156,7 +158,7 @@ "errors":[ {"shape":"ValidationException"} ], - "documentation":"

Creates a new user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Creates a new user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DeleteApp":{ "name":"DeleteApp", @@ -169,7 +171,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a specified app.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deletes a specified app.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeleteInstance":{ "name":"DeleteInstance", @@ -182,7 +184,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a specified instance, which terminates the associated Amazon EC2 instance. You must stop an instance before you can delete it.

For more information, see Deleting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deletes a specified instance, which terminates the associated Amazon EC2 instance. You must stop an instance before you can delete it.

For more information, see Deleting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeleteLayer":{ "name":"DeleteLayer", @@ -195,7 +197,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a specified layer. You must first stop and then delete all associated instances or unassign registered instances. For more information, see How to Delete a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deletes a specified layer. You must first stop and then delete all associated instances or unassign registered instances. For more information, see How to Delete a Layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeleteStack":{ "name":"DeleteStack", @@ -208,7 +210,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a specified stack. You must first delete all instances, layers, and apps or deregister registered instances. For more information, see Shut Down a Stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deletes a specified stack. You must first delete all instances, layers, and apps or deregister registered instances. For more information, see Shut Down a Stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeleteUserProfile":{ "name":"DeleteUserProfile", @@ -221,7 +223,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deletes a user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deletes a user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DeregisterEcsCluster":{ "name":"DeregisterEcsCluster", @@ -234,7 +236,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregisters a specified Amazon ECS cluster from a stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html.

" + "documentation":"

Deregisters a specified Amazon ECS cluster from a stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html.

" }, "DeregisterElasticIp":{ "name":"DeregisterElasticIp", @@ -247,7 +249,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deregisters a specified Elastic IP address. The address can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeregisterInstance":{ "name":"DeregisterInstance", @@ -260,7 +262,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action can not be used with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deregister a registered Amazon EC2 or on-premises instance. This action removes the instance from the stack and returns it to your control. This action cannot be used with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeregisterRdsDbInstance":{ "name":"DeregisterRdsDbInstance", @@ -273,7 +275,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregisters an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deregisters an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DeregisterVolume":{ "name":"DeregisterVolume", @@ -286,7 +288,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Deregisters an Amazon EBS volume. The volume can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Deregisters an Amazon EBS volume. The volume can then be registered by another stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeAgentVersions":{ "name":"DescribeAgentVersions", @@ -300,7 +302,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the available AWS OpsWorks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.

" + "documentation":"

Describes the available AWS OpsWorks Stacks agent versions. You must specify a stack ID or a configuration manager. DescribeAgentVersions returns a list of available agent versions for the specified stack or configuration manager.

" }, "DescribeApps":{ "name":"DescribeApps", @@ -314,7 +316,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a specified set of apps.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a specified set of apps.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeCommands":{ "name":"DescribeCommands", @@ -328,7 +330,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the results of specified commands.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes the results of specified commands.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeDeployments":{ "name":"DescribeDeployments", @@ -342,7 +344,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a specified set of deployments.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a specified set of deployments.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeEcsClusters":{ "name":"DescribeEcsClusters", @@ -356,7 +358,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Amazon ECS clusters that are registered with a stack. If you specify only a stack ID, you can use the MaxResults and NextToken parameters to paginate the response. However, AWS OpsWorks Stacks currently supports only one cluster per layer, so the result set has a maximum of one element.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permission. For more information about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeElasticIps":{ "name":"DescribeElasticIps", @@ -370,7 +372,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Elastic IP addresses.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Elastic IP addresses.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeElasticLoadBalancers":{ "name":"DescribeElasticLoadBalancers", @@ -384,7 +386,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes a stack's Elastic Load Balancing instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes a stack's Elastic Load Balancing instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeInstances":{ "name":"DescribeInstances", @@ -398,7 +400,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a set of instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a set of instances.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeLayers":{ "name":"DescribeLayers", @@ -412,7 +414,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of one or more layers in a specified stack.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of one or more layers in a specified stack.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeLoadBasedAutoScaling":{ "name":"DescribeLoadBasedAutoScaling", @@ -426,7 +428,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes load-based auto scaling configurations for specified layers.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes load-based auto scaling configurations for specified layers.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeMyUserProfile":{ "name":"DescribeMyUserProfile", @@ -435,7 +437,16 @@ "requestUri":"/" }, "output":{"shape":"DescribeMyUserProfileResult"}, - "documentation":"

Describes a user's SSH information.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes a user's SSH information.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" + }, + "DescribeOperatingSystems":{ + "name":"DescribeOperatingSystems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{"shape":"DescribeOperatingSystemsResponse"}, + "documentation":"

Describes the operating systems that are supported by AWS OpsWorks Stacks.

" }, "DescribePermissions":{ "name":"DescribePermissions", @@ -449,7 +460,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the permissions for a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes the permissions for a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DescribeRaidArrays":{ "name":"DescribeRaidArrays", @@ -463,7 +474,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describe an instance's RAID arrays.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describe an instance's RAID arrays.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeRdsDbInstances":{ "name":"DescribeRdsDbInstances", @@ -477,7 +488,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes Amazon RDS instances.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeServiceErrors":{ "name":"DescribeServiceErrors", @@ -491,7 +502,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes AWS OpsWorks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes AWS OpsWorks Stacks service errors.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

This call accepts only one resource-identifying parameter.

" }, "DescribeStackProvisioningParameters":{ "name":"DescribeStackProvisioningParameters", @@ -505,7 +516,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of a stack's provisioning parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of a stack's provisioning parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeStackSummary":{ "name":"DescribeStackSummary", @@ -519,7 +530,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes the number of layers and apps in a specified stack, and the number of instances in each state, such as running_setup or online.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeStacks":{ "name":"DescribeStacks", @@ -533,7 +544,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Requests a description of one or more stacks.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Requests a description of one or more stacks.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeTimeBasedAutoScaling":{ "name":"DescribeTimeBasedAutoScaling", @@ -547,7 +558,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes time-based auto scaling configurations for specified instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes time-based auto scaling configurations for specified instances.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeUserProfiles":{ "name":"DescribeUserProfiles", @@ -561,7 +572,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describe specified users.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describe specified users.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DescribeVolumes":{ "name":"DescribeVolumes", @@ -575,7 +586,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Describes an instance's Amazon EBS volumes.

You must specify at least one of the parameters.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Describes an instance's Amazon EBS volumes.

This call accepts only one resource-identifying parameter.

Required Permissions: To use this action, an IAM user must have a Show, Deploy, or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "DetachElasticLoadBalancer":{ "name":"DetachElasticLoadBalancer", @@ -587,7 +598,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

Detaches a specified Elastic Load Balancing instance from its layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Detaches a specified Elastic Load Balancing instance from its layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "DisassociateElasticIp":{ "name":"DisassociateElasticIp", @@ -600,7 +611,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disassociates an Elastic IP address from its instance. The address remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Disassociates an Elastic IP address from its instance. The address remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "GetHostnameSuggestion":{ "name":"GetHostnameSuggestion", @@ -614,7 +625,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Gets a generated host name for the specified layer, based on the current host name theme.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Gets a generated host name for the specified layer, based on the current host name theme.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "GrantAccess":{ "name":"GrantAccess", @@ -630,6 +641,20 @@ ], "documentation":"

This action can be used only with Windows stacks.

Grants RDP access to a Windows instance for a specified time period.

" }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResult"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of tags that are applied to the specified stack or layer.

" + }, "RebootInstance":{ "name":"RebootInstance", "http":{ @@ -641,7 +666,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Reboots a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Reboots a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterEcsCluster":{ "name":"RegisterEcsCluster", @@ -655,7 +680,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers a specified Amazon ECS cluster with a stack. You can register only one cluster with a stack. A cluster can be registered with only one stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterElasticIp":{ "name":"RegisterElasticIp", @@ -669,7 +694,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers an Elastic IP address with a specified stack. An address can be registered with only one stack at a time. If the address is already registered, you must first deregister it by calling DeregisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers an Elastic IP address with a specified stack. An address can be registered with only one stack at a time. If the address is already registered, you must first deregister it by calling DeregisterElasticIp. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterInstance":{ "name":"RegisterInstance", @@ -683,7 +708,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers instances with a specified stack that were created outside of AWS OpsWorks.

We do not recommend using this action to register instances. The complete registration operation has two primary steps, installing the AWS OpsWorks agent on the instance and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation. For more information, see Registering an Instance with an AWS OpsWorks Stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers instances that were created outside of AWS OpsWorks Stacks with a specified stack.

We do not recommend using this action to register instances. The complete registration operation includes two tasks: installing the AWS OpsWorks Stacks agent on the instance, and registering the instance with the stack. RegisterInstance handles only the second step. You should instead use the AWS CLI register command, which performs the entire registration operation. For more information, see Registering an Instance with an AWS OpsWorks Stacks Stack.

Registered instances have the same requirements as instances that are created by using the CreateInstance API. For example, registered instances must be running a supported Linux-based operating system, and they must have a supported instance type. For more information about requirements for instances that you want to register, see Preparing the Instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterRdsDbInstance":{ "name":"RegisterRdsDbInstance", @@ -696,7 +721,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers an Amazon RDS instance with a stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers an Amazon RDS instance with a stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "RegisterVolume":{ "name":"RegisterVolume", @@ -710,7 +735,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Registers an Amazon EBS volume with a specified stack. A volume can be registered with only one stack at a time. If the volume is already registered, you must first deregister it by calling DeregisterVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Registers an Amazon EBS volume with a specified stack. A volume can be registered with only one stack at a time. If the volume is already registered, you must first deregister it by calling DeregisterVolume. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "SetLoadBasedAutoScaling":{ "name":"SetLoadBasedAutoScaling", @@ -723,7 +748,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Specify the load-based auto scaling configuration for a specified layer. For more information, see Managing Load with Time-based and Load-based Instances.

To use load-based auto scaling, you must create a set of load-based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Specify the load-based auto scaling configuration for a specified layer. For more information, see Managing Load with Time-based and Load-based Instances.

To use load-based auto scaling, you must create a set of load-based auto scaling instances. Load-based auto scaling operates only on the instances from that set, so you must ensure that you have created enough instances to handle the maximum anticipated load.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "SetPermission":{ "name":"SetPermission", @@ -736,7 +761,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Specifies a user's permissions. For more information, see Security and Permissions.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Specifies a user's permissions. For more information, see Security and Permissions.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "SetTimeBasedAutoScaling":{ "name":"SetTimeBasedAutoScaling", @@ -749,7 +774,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Specify the time-based auto scaling configuration for a specified instance. For more information, see Managing Load with Time-based and Load-based Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Specify the time-based auto scaling configuration for a specified instance. For more information, see Managing Load with Time-based and Load-based Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "StartInstance":{ "name":"StartInstance", @@ -762,7 +787,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Starts a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Starts a specified instance. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "StartStack":{ "name":"StartStack", @@ -775,7 +800,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Starts a stack's instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Starts a stack's instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "StopInstance":{ "name":"StopInstance", @@ -788,7 +813,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Stops a specified instance. When you stop a standard instance, the data disappears and must be reinstalled when you restart the instance. You can stop an Amazon EBS-backed instance without losing data. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Stops a specified instance. When you stop a standard instance, the data disappears and must be reinstalled when you restart the instance. You can stop an Amazon EBS-backed instance without losing data. For more information, see Starting, Stopping, and Rebooting Instances.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "StopStack":{ "name":"StopStack", @@ -801,7 +826,20 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Stops a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Stops a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Apply cost-allocation tags to a specified stack or layer in AWS OpsWorks Stacks. For more information about how tagging works, see Tags in the AWS OpsWorks User Guide.

" }, "UnassignInstance":{ "name":"UnassignInstance", @@ -814,7 +852,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Unassigns a registered instance from all of it's layers. The instance remains in the stack as an unassigned instance and can be assigned to another layer, as needed. You cannot use this action with instances that were created with AWS OpsWorks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Unassigns a registered instance from all layers that are using the instance. The instance remains in the stack as an unassigned instance, and can be assigned to another layer as needed. You cannot use this action with instances that were created with AWS OpsWorks Stacks.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "UnassignVolume":{ "name":"UnassignVolume", @@ -827,7 +865,20 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Unassigns an assigned Amazon EBS volume. The volume remains registered with the stack. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Removes tags from a specified stack or layer.

" }, "UpdateApp":{ "name":"UpdateApp", @@ -840,7 +891,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a specified app.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a specified app.

Required Permissions: To use this action, an IAM user must have a Deploy or Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateElasticIp":{ "name":"UpdateElasticIp", @@ -853,7 +904,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a registered Elastic IP address's name. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a registered Elastic IP address's name. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateInstance":{ "name":"UpdateInstance", @@ -866,7 +917,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a specified instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a specified instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateLayer":{ "name":"UpdateLayer", @@ -879,7 +930,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a specified layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a specified layer.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateMyUserProfile":{ "name":"UpdateMyUserProfile", @@ -891,7 +942,7 @@ "errors":[ {"shape":"ValidationException"} ], - "documentation":"

Updates a user's SSH public key.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a user's SSH public key.

Required Permissions: To use this action, an IAM user must have self-management enabled or an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "UpdateRdsDbInstance":{ "name":"UpdateRdsDbInstance", @@ -904,7 +955,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates an Amazon RDS instance.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateStack":{ "name":"UpdateStack", @@ -917,7 +968,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a specified stack.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" }, "UpdateUserProfile":{ "name":"UpdateUserProfile", @@ -930,7 +981,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates a specified user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates a specified user profile.

Required Permissions: To use this action, an IAM user must have an attached policy that explicitly grants permissions. For more information about user permissions, see Managing User Permissions.

" }, "UpdateVolume":{ "name":"UpdateVolume", @@ -943,7 +994,7 @@ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Updates an Amazon EBS volume's name or mount point. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" + "documentation":"

Updates an Amazon EBS volume's name or mount point. For more information, see Resource Management.

Required Permissions: To use this action, an IAM user must have a Manage permissions level for the stack, or an attached policy that explicitly grants permissions. For more information on user permissions, see Managing User Permissions.

" } }, "shapes":{ @@ -1022,7 +1073,7 @@ }, "Environment":{ "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an \"Environment: is too large (maximum is 10KB)\" message.

" + "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variable names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases, but if you do exceed it, you will cause an exception (API) with an \"Environment: is too large (maximum is 20 KB)\" message.

" } }, "documentation":"

A description of the app.

" @@ -1122,7 +1173,7 @@ }, "LayerId":{ "shape":"String", - "documentation":"

The ID of the layer that the Elastic Load Balancing instance is to be attached to.

" + "documentation":"

The ID of the layer to which the Elastic Load Balancing instance is to be attached.

" } } }, @@ -1139,7 +1190,7 @@ }, "IgnoreMetricsTime":{ "shape":"Minute", - "documentation":"

The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks to suppress scaling events long enough to get the new instances online.

" + "documentation":"

The amount of time (in minutes) after a scaling event occurs that AWS OpsWorks Stacks should ignore metrics and suppress additional scaling events. For example, AWS OpsWorks Stacks adds new instances following an upscaling event but the instances won't start reducing the load until they have been booted and configured. There is no point in raising additional scaling events during that operation, which typically takes several minutes. IgnoreMetricsTime allows you to direct AWS OpsWorks Stacks to suppress scaling events long enough to get the new instances online.

" }, "CpuThreshold":{ "shape":"Double", @@ -1155,10 +1206,10 @@ }, "Alarms":{ "shape":"Strings", - "documentation":"

Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks to Act on Your Behalf.

" + "documentation":"

Custom Cloudwatch auto scaling alarms, to be used as thresholds. This parameter takes a list of up to five alarm names, which are case sensitive and must be in the same region as the stack.

To use custom alarms, you must update your service role to allow cloudwatch:DescribeAlarms. You can either have AWS OpsWorks Stacks update the role for you when you first use this feature or you can edit the role manually. For more information, see Allowing AWS OpsWorks Stacks to Act on Your Behalf.

" } }, - "documentation":"

Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks starts or stops load-based instances.

" + "documentation":"

Describes a load-based auto scaling upscaling or downscaling threshold configuration, which specifies when AWS OpsWorks Stacks starts or stops load-based instances.

" }, "AutoScalingType":{ "type":"string", @@ -1172,7 +1223,7 @@ "members":{ "DeviceName":{ "shape":"String", - "documentation":"

The device name that is exposed to the instance, such as /dev/sdh. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks will provide the correct device name.

" + "documentation":"

The device name that is exposed to the instance, such as /dev/sdh. For the root device, you can use the explicit device name or you can set this parameter to ROOT_DEVICE and AWS OpsWorks Stacks will provide the correct device name.

" }, "NoDevice":{ "shape":"String", @@ -1180,14 +1231,14 @@ }, "VirtualName":{ "shape":"String", - "documentation":"

The virtual device name. For more information, see BlockDeviceMapping.

" + "documentation":"

The virtual device name. For more information, see BlockDeviceMapping.

" }, "Ebs":{ "shape":"EbsBlockDevice", "documentation":"

An EBSBlockDevice that defines how to configure an Amazon EBS volume when the instance is launched.

" } }, - "documentation":"

Describes a block device mapping. This data type maps directly to the Amazon EC2 BlockDeviceMapping data type.

" + "documentation":"

Describes a block device mapping. This data type maps directly to the Amazon EC2 BlockDeviceMapping data type.

" }, "BlockDeviceMappings":{ "type":"list", @@ -1228,11 +1279,11 @@ }, "Region":{ "shape":"String", - "documentation":"

The cloned stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" + "documentation":"

The cloned stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" }, "VpcId":{ "shape":"String", - "documentation":"

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2 Classic, see Supported Platforms.

" + "documentation":"

The ID of the VPC that the cloned stack is to be launched into. It must be in the specified region. All instances are launched into this VPC, and you cannot change the ID later.

  • If your account supports EC2 Classic, the default value is no VPC.

  • If your account does not support EC2 Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2 Classic, see Supported Platforms.

" }, "Attributes":{ "shape":"StackAttributes", @@ -1240,23 +1291,23 @@ }, "ServiceRoleArn":{ "shape":"String", - "documentation":"

The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

" + "documentation":"

The stack AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. If you create a stack by using the AWS OpsWorks Stacks console, it creates the role for you. You can obtain an existing stack's IAM ARN programmatically by calling DescribePermissions. For more information about IAM ARNs, see Using Identifiers.

You must set this parameter to a valid service role ARN or the action will fail; there is no default value. You can specify the source stack's service role ARN, if you prefer, but you must do so explicitly.

" }, "DefaultInstanceProfileArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

" + "documentation":"

The stack's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the parent stack's operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

You can specify a different Linux operating system for the cloned stack, but you cannot change from Linux to Windows or Windows to Linux.

" }, "HostnameTheme":{ "shape":"String", - "documentation":"

The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" + "documentation":"

The stack's host name theme, with spaces are replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities_and_Titans

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" }, "DefaultAvailabilityZone":{ "shape":"String", - "documentation":"

The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" + "documentation":"

The cloned stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" }, "DefaultSubnetId":{ "shape":"String", @@ -1264,7 +1315,7 @@ }, "CustomJson":{ "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

" + "documentation":"

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes

" }, "ConfigurationManager":{ "shape":"StackConfigurationManager", @@ -1272,7 +1323,7 @@ }, "ChefConfiguration":{ "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" + "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" }, "UseCustomCookbooks":{ "shape":"Boolean", @@ -1280,12 +1331,15 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate Amazon Elastic Compute Cloud (Amazon EC2) security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + }, + "CustomCookbooksSource":{ + "shape":"Source", + "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.

" }, - "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ "shape":"String", - "documentation":"

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" + "documentation":"

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" }, "ClonePermissions":{ "shape":"Boolean", @@ -1297,11 +1351,11 @@ }, "DefaultRootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" + "documentation":"

The default root device type. This value is used by default for all instances in the cloned stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -1315,6 +1369,189 @@ }, "documentation":"

Contains the response to a CloneStack request.

" }, + "CloudWatchLogsConfiguration":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether CloudWatch Logs is enabled for a layer.

" + }, + "LogStreams":{ + "shape":"CloudWatchLogsLogStreams", + "documentation":"

A list of configuration options for CloudWatch Logs.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer.

" + }, + "CloudWatchLogsEncoding":{ + "type":"string", + "documentation":"

Specifies the encoding of the log file so that the file can be read correctly. The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

", + "enum":[ + "ascii", + "big5", + "big5hkscs", + "cp037", + "cp424", + "cp437", + "cp500", + "cp720", + "cp737", + "cp775", + "cp850", + "cp852", + "cp855", + "cp856", + "cp857", + "cp858", + "cp860", + "cp861", + "cp862", + "cp863", + "cp864", + "cp865", + "cp866", + "cp869", + "cp874", + "cp875", + "cp932", + "cp949", + "cp950", + "cp1006", + "cp1026", + "cp1140", + "cp1250", + "cp1251", + "cp1252", + "cp1253", + "cp1254", + "cp1255", + "cp1256", + "cp1257", + "cp1258", + "euc_jp", + "euc_jis_2004", + "euc_jisx0213", + "euc_kr", + "gb2312", + "gbk", + "gb18030", + "hz", + "iso2022_jp", + "iso2022_jp_1", + "iso2022_jp_2", + "iso2022_jp_2004", + "iso2022_jp_3", + "iso2022_jp_ext", + "iso2022_kr", + "latin_1", + "iso8859_2", + "iso8859_3", + "iso8859_4", + "iso8859_5", + "iso8859_6", + "iso8859_7", + "iso8859_8", + "iso8859_9", + "iso8859_10", + "iso8859_13", + "iso8859_14", + "iso8859_15", + "iso8859_16", + "johab", + "koi8_r", + "koi8_u", + "mac_cyrillic", + "mac_greek", + "mac_iceland", + "mac_latin2", + "mac_roman", + "mac_turkish", + "ptcp154", + "shift_jis", + "shift_jis_2004", + "shift_jisx0213", + "utf_32", + "utf_32_be", + "utf_32_le", + "utf_16", + "utf_16_be", + "utf_16_le", + "utf_7", + "utf_8", + "utf_8_sig" + ] + }, + "CloudWatchLogsInitialPosition":{ + "type":"string", + "documentation":"

Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. It's only used if there is no state persisted for that log stream.

", + "enum":[ + "start_of_file", + "end_of_file" + ] + }, + "CloudWatchLogsLogStream":{ + "type":"structure", + "members":{ + "LogGroupName":{ + "shape":"String", + "documentation":"

Specifies the destination log group. A log group is created automatically if it doesn't already exist. Log group names can be between 1 and 512 characters long. Allowed characters include a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), '/' (forward slash), and '.' (period).

" + }, + "DatetimeFormat":{ + "shape":"String", + "documentation":"

Specifies how the time stamp is extracted from logs. For more information, see the CloudWatch Logs Agent Reference.

" + }, + "TimeZone":{ + "shape":"CloudWatchLogsTimeZone", + "documentation":"

Specifies the time zone of log event time stamps.

" + }, + "File":{ + "shape":"String", + "documentation":"

Specifies log files that you want to push to CloudWatch Logs.

File can point to a specific file or multiple files (by using wild card characters such as /var/log/system.log*). Only the latest file is pushed to CloudWatch Logs, based on file modification time. We recommend that you use wild card characters to specify a series of files of the same type, such as access_log.2014-06-01-01, access_log.2014-06-01-02, and so on by using a pattern like access_log.*. Don't use a wildcard to match multiple file types, such as access_log_80 and access_log_443. To specify multiple, different file types, add another log stream entry to the configuration file, so that each log file type is stored in a different log group.

Zipped files are not supported.

" + }, + "FileFingerprintLines":{ + "shape":"String", + "documentation":"

Specifies the range of lines for identifying a file. The valid values are one number, or two dash-delimited numbers, such as '1', '2-5'. The default value is '1', meaning the first line is used to calculate the fingerprint. Fingerprint lines are not sent to CloudWatch Logs unless all specified lines are available.

" + }, + "MultiLineStartPattern":{ + "shape":"String", + "documentation":"

Specifies the pattern for identifying the start of a log message.

" + }, + "InitialPosition":{ + "shape":"CloudWatchLogsInitialPosition", + "documentation":"

Specifies where to start to read data (start_of_file or end_of_file). The default is start_of_file. This setting is only used if there is no state persisted for that log stream.

" + }, + "Encoding":{ + "shape":"CloudWatchLogsEncoding", + "documentation":"

Specifies the encoding of the log file so that the file can be read correctly. The default is utf_8. Encodings supported by Python codecs.decode() can be used here.

" + }, + "BufferDuration":{ + "shape":"Integer", + "documentation":"

Specifies the time duration for the batching of log events. The minimum value is 5000ms and default value is 5000ms.

" + }, + "BatchCount":{ + "shape":"Integer", + "documentation":"

Specifies the max number of log events in a batch, up to 10000. The default value is 1000.

" + }, + "BatchSize":{ + "shape":"Integer", + "documentation":"

Specifies the maximum size of log events in a batch, in bytes, up to 1048576 bytes. The default value is 32768 bytes. This size is calculated as the sum of all event messages in UTF-8, plus 26 bytes for each log event.

" + } + }, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer. For detailed information about members of this data type, see the CloudWatch Logs Agent Reference.

" + }, + "CloudWatchLogsLogStreams":{ + "type":"list", + "member":{"shape":"CloudWatchLogsLogStream"}, + "documentation":"

Describes the Amazon CloudWatch logs configuration for a layer.

" + }, + "CloudWatchLogsTimeZone":{ + "type":"string", + "documentation":"

The preferred time zone for logs streamed to CloudWatch Logs. Valid values are LOCAL and UTC, for Coordinated Universal Time.

", + "enum":[ + "LOCAL", + "UTC" + ] + }, "Command":{ "type":"structure", "members":{ @@ -1356,7 +1593,7 @@ }, "Type":{ "shape":"String", - "documentation":"

The command type:

  • deploy

  • rollback

  • start

  • stop

  • restart

  • undeploy

  • update_dependencies

  • install_dependencies

  • update_custom_cookbooks

  • execute_recipes

" + "documentation":"

The command type:

  • configure

  • deploy

  • execute_recipes

  • install_dependencies

  • restart

  • rollback

  • setup

  • start

  • stop

  • undeploy

  • update_custom_cookbooks

  • update_dependencies

" } }, "documentation":"

Describes a command.

" @@ -1395,7 +1632,7 @@ }, "Type":{ "shape":"AppType", - "documentation":"

The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.

" + "documentation":"

The app type. Each supported type is associated with a particular layer. For example, PHP applications are associated with a PHP layer. AWS OpsWorks Stacks deploys an application to those instances that are members of the corresponding layer. If your app isn't one of the standard types, or you prefer to implement your own Deploy recipes, specify other.

" }, "AppSource":{ "shape":"Source", @@ -1419,7 +1656,7 @@ }, "Environment":{ "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 10KB).\"

This parameter is supported only by Chef 11.10 stacks. If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" + "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instance. For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 20KB).\"

If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" } } }, @@ -1466,7 +1703,7 @@ }, "CustomJson":{ "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It is used to override the corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" + "documentation":"

A string that contains user-defined, custom JSON. You can use this parameter to override some corresponding default stack configuration JSON values. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes and Overriding Attributes With Custom JSON.

" } } }, @@ -1498,7 +1735,7 @@ }, "InstanceType":{ "shape":"String", - "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" + "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" }, "AutoScalingType":{ "shape":"AutoScalingType", @@ -1510,11 +1747,11 @@ }, "Os":{ "shape":"String", - "documentation":"

The instance's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information on the supported operating systems, see Operating SystemsFor more information on how to use custom AMIs with AWS OpsWorks, see Using Custom AMIs.

" + "documentation":"

The instance's operating system, which must be set to one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom.

For more information about the supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the CreateInstance action's AmiId parameter to specify the custom AMI that you want to use. Block device mappings are not supported if the value is Custom. For more information about supported operating systems, see Operating SystemsFor more information about how to use custom AMIs with AWS OpsWorks Stacks, see Using Custom AMIs.

" }, "AmiId":{ "shape":"String", - "documentation":"

A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see Using Custom AMIs.

If you specify a custom AMI, you must set Os to Custom.

" + "documentation":"

A custom AMI ID to be used to create the instance. The AMI should be based on one of the supported operating systems. For more information, see Using Custom AMIs.

If you specify a custom AMI, you must set Os to Custom.

" }, "SshKeyName":{ "shape":"String", @@ -1522,7 +1759,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" + "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" }, "VirtualizationType":{ "shape":"String", @@ -1530,19 +1767,19 @@ }, "SubnetId":{ "shape":"String", - "documentation":"

The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks to launch the instance in a different subnet.

" + "documentation":"

The ID of the instance's subnet. If the stack is running in a VPC, you can use this parameter to override the stack's default subnet ID value and direct AWS OpsWorks Stacks to launch the instance in a different subnet.

" }, "Architecture":{ "shape":"Architecture", - "documentation":"

The instance architecture. The default option is x86_64. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" + "documentation":"

The instance architecture. The default option is x86_64. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" }, "RootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The instance root device type. For more information, see Storage for the Root Device.

" + "documentation":"

The instance root device type. For more information, see Storage for the Root Device.

" }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappings", - "documentation":"

An array of BlockDeviceMapping objects that specify the instance's block devices. For more information, see Block Device Mapping. Note that block device mappings are not supported for custom AMIs.

" + "documentation":"

An array of BlockDeviceMapping objects that specify the instance's block devices. For more information, see Block Device Mapping. Note that block device mappings are not supported for custom AMIs.

" }, "InstallUpdatesOnBoot":{ "shape":"Boolean", @@ -1554,11 +1791,11 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

" }, "Tenancy":{ "shape":"String", - "documentation":"

The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.

" + "documentation":"

The instance's tenancy option. The default option is no tenancy, or if the instance is running in a VPC, inherit tenancy settings from the VPC. The following are valid values for this parameter: dedicated, default, or host. Because there are costs associated with changes in tenancy options, we recommend that you research tenancy options before choosing them for your instances. For more information about dedicated hosts, see Dedicated Hosts Overview and Amazon EC2 Dedicated Hosts. For more information about dedicated instances, see Dedicated Instances and Amazon EC2 Dedicated Instances.

" } } }, @@ -1595,19 +1832,23 @@ }, "Shortname":{ "shape":"String", - "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference.

" + "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef recipes. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters, which are limited to the alphanumeric characters, '-', '_', and '.'.

The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference.

" }, "Attributes":{ "shape":"LayerAttributes", "documentation":"

One or more user-defined key-value pairs to be added to the stack attributes.

To create a cluster layer, set the EcsClusterArn attribute to the cluster's ARN.

" }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

" + }, "CustomInstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of an IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "CustomJson":{ "shape":"String", - "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI.

" + "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON. This feature is supported as of version 1.7.42 of the AWS CLI.

" }, "CustomSecurityGroupIds":{ "shape":"Strings", @@ -1627,11 +1868,11 @@ }, "AutoAssignElasticIps":{ "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" }, "AutoAssignPublicIps":{ "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" }, "CustomRecipes":{ "shape":"Recipes", @@ -1676,11 +1917,11 @@ }, "Region":{ "shape":"String", - "documentation":"

The stack's AWS region, such as \"ap-south-1\". For more information about Amazon regions, see Regions and Endpoints.

" + "documentation":"

The stack's AWS region, such as ap-south-1. For more information about Amazon regions, see Regions and Endpoints.

In the AWS CLI, this API maps to the --stack-region parameter. If the --stack-region parameter and the AWS CLI common parameter --region are set to the same value, the stack uses a regional endpoint. If the --stack-region parameter is not set, but the AWS CLI --region parameter is, this also results in a stack with a regional endpoint. However, if the --region parameter is set to us-east-1, and the --stack-region parameter is set to one of the following, then the stack uses a legacy or classic region: us-west-1, us-west-2, sa-east-1, eu-central-1, eu-west-1, ap-northeast-1, ap-southeast-1, ap-southeast-2. In this case, the actual API endpoint of the stack is in us-east-1. Only the preceding regions are supported as classic regions in the us-east-1 API endpoint. Because it is a best practice to choose the regional endpoint that is closest to where you manage AWS, we recommend that you use regional endpoints for new stacks. The AWS CLI common --region parameter always specifies a regional API endpoint; it cannot be used to specify a classic AWS OpsWorks Stacks region.

" }, "VpcId":{ "shape":"String", - "documentation":"

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information on how to use AWS OpsWorks with a VPC, see Running a Stack in a VPC. For more information on default VPC and EC2-Classic, see Supported Platforms.

" + "documentation":"

The ID of the VPC that the stack is to be launched into. The VPC must be in the stack's region. All instances are launched into this VPC. You cannot change the ID later.

  • If your account supports EC2-Classic, the default value is no VPC.

  • If your account does not support EC2-Classic, the default value is the default VPC for the specified region.

If the VPC ID corresponds to a default VPC and you have specified either the DefaultAvailabilityZone or the DefaultSubnetId parameter only, AWS OpsWorks Stacks infers the value of the other parameter. If you specify neither parameter, AWS OpsWorks Stacks sets these parameters to the first valid Availability Zone for the specified region and the corresponding default VPC subnet ID, respectively.

If you specify a nondefault VPC ID, note the following:

  • It must belong to a VPC in your account that is in the specified region.

  • You must specify a value for DefaultSubnetId.

For more information about how to use AWS OpsWorks Stacks with a VPC, see Running a Stack in a VPC. For more information about default VPC and EC2-Classic, see Supported Platforms.

" }, "Attributes":{ "shape":"StackAttributes", @@ -1688,23 +1929,23 @@ }, "ServiceRoleArn":{ "shape":"String", - "documentation":"

The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The stack's AWS Identity and Access Management (IAM) role, which allows AWS OpsWorks Stacks to work with AWS resources on your behalf. You must set this parameter to the Amazon Resource Name (ARN) for an existing IAM role. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultInstanceProfileArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The Amazon Resource Name (ARN) of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

" + "documentation":"

The stack's default operating system, which is installed on every instance unless you specify a different operating system when you create the instance. You can specify one of the following.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information, see Using Custom AMIs.

The default option is the current Amazon Linux version. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" }, "HostnameTheme":{ "shape":"String", - "documentation":"

The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" + "documentation":"

The stack's host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities_and_Titans

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" }, "DefaultAvailabilityZone":{ "shape":"String", - "documentation":"

The stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" + "documentation":"

The stack's default Availability Zone, which must be in the specified region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see the VpcId parameter description.

" }, "DefaultSubnetId":{ "shape":"String", @@ -1712,15 +1953,15 @@ }, "CustomJson":{ "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" + "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" }, "ConfigurationManager":{ "shape":"StackConfigurationManager", - "documentation":"

The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.

" + "documentation":"

The configuration manager. When you create a stack we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

" }, "ChefConfiguration":{ "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" + "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" }, "UseCustomCookbooks":{ "shape":"Boolean", @@ -1728,20 +1969,23 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. With UseOpsworksSecurityGroups you can instead provide your own custom security groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on creation; custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + }, + "CustomCookbooksSource":{ + "shape":"Source", + "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.

" }, - "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ "shape":"String", - "documentation":"

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" + "documentation":"

A default Amazon EC2 key pair name. The default value is none. If you specify a key pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" }, "DefaultRootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store. For more information, see Storage for the Root Device.

" + "documentation":"

The default root device type. This value is the default for all instances in the stack, but you can override it when you create an instance. The default option is instance-store. For more information, see Storage for the Root Device.

" }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is the most recent release of the agent. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -1765,7 +2009,7 @@ }, "SshUsername":{ "shape":"String", - "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

" + "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name.

" }, "SshPublicKey":{ "shape":"String", @@ -1773,7 +2017,7 @@ }, "AllowSelfManagement":{ "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Setting an IAM User's Public SSH Key.

" + "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Setting an IAM User's Public SSH Key.

" } } }, @@ -1797,7 +2041,7 @@ "members":{ "Type":{ "shape":"String", - "documentation":"

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.

" + "documentation":"

The data source's type, AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, RdsDbInstance, or None.

" }, "Arn":{ "shape":"String", @@ -1908,14 +2152,17 @@ "shape":"String", "documentation":"

A user-defined comment.

" }, - "Command":{"shape":"DeploymentCommand"}, + "Command":{ + "shape":"DeploymentCommand", + "documentation":"

Used to specify a stack or deployment command.

" + }, "Status":{ "shape":"String", "documentation":"

The deployment status:

  • running

  • successful

  • failed

" }, "CustomJson":{ "shape":"String", - "documentation":"

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" + "documentation":"

A string that contains user-defined custom JSON. It can be used to override the corresponding default stack configuration attribute values for stack or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" }, "InstanceIds":{ "shape":"Strings", @@ -1930,11 +2177,11 @@ "members":{ "Name":{ "shape":"DeploymentCommandName", - "documentation":"

Specifies the operation. You can specify only one command.

For stacks, the following commands are available:

  • execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute phpapp::appsetup, set Args to {\"recipes\":[\"phpapp::appsetup\"]}.

  • install_dependencies: Install the stack's dependencies.

  • update_custom_cookbooks: Update the stack's custom cookbooks.

  • update_dependencies: Update the stack's dependencies.

The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.

For apps, the following commands are available:

  • deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {\"migrate\":[\"true\"]} to migrate the database. The default setting is {\"migrate\":[\"false\"]}.

  • rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.

  • start: Start the app's web or application server.

  • stop: Stop the app's web or application server.

  • restart: Restart the app's web or application server.

  • undeploy: Undeploy the app.

" + "documentation":"

Specifies the operation. You can specify only one command.

For stacks, the following commands are available:

  • execute_recipes: Execute one or more recipes. To specify the recipes, set an Args parameter named recipes to the list of recipes to be executed. For example, to execute phpapp::appsetup, set Args to {\"recipes\":[\"phpapp::appsetup\"]}.

  • install_dependencies: Install the stack's dependencies.

  • update_custom_cookbooks: Update the stack's custom cookbooks.

  • update_dependencies: Update the stack's dependencies.

The update_dependencies and install_dependencies commands are supported only for Linux instances. You can run the commands successfully on Windows instances, but they do nothing.

For apps, the following commands are available:

  • deploy: Deploy an app. Ruby on Rails apps have an optional Args parameter named migrate. Set Args to {\"migrate\":[\"true\"]} to migrate the database. The default setting is {\"migrate\":[\"false\"]}.

  • rollback Roll the app back to the previous version. When you update an app, AWS OpsWorks Stacks stores the previous version, up to a maximum of five versions. You can use this command to roll an app back as many as four versions.

  • start: Start the app's web or application server.

  • stop: Stop the app's web or application server.

  • restart: Restart the app's web or application server.

  • undeploy: Undeploy the app.

" }, "Args":{ "shape":"DeploymentCommandArgs", - "documentation":"

The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

{\"arg_name1\" : [\"value1\", \"value2\", ...], \"arg_name2\" : [\"value1\", \"value2\", ...], ...}

The update_dependencies command takes two arguments:

  • upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as Amazon Linux 2014.09. You must also set the allow_reboot argument to true.

  • allow_reboot - Specifies whether to allow AWS OpsWorks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.

For example, to upgrade an instance to Amazon Linux 2014.09, set Args to the following.

{ \"upgrade_os_to\":[\"Amazon Linux 2014.09\"], \"allow_reboot\":[\"true\"] }

" + "documentation":"

The arguments of those commands that take arguments. It should be set to a JSON object with the following format:

{\"arg_name1\" : [\"value1\", \"value2\", ...], \"arg_name2\" : [\"value1\", \"value2\", ...], ...}

The update_dependencies command takes two arguments:

  • upgrade_os_to - Specifies the desired Amazon Linux version for instances whose OS you want to upgrade, such as Amazon Linux 2016.09. You must also set the allow_reboot argument to true.

  • allow_reboot - Specifies whether to allow AWS OpsWorks Stacks to reboot the instances if necessary, after installing the updates. This argument can be set to either true or false. The default value is false.

For example, to upgrade an instance to Amazon Linux 2016.09, set Args to the following.

{ \"upgrade_os_to\":[\"Amazon Linux 2016.09\"], \"allow_reboot\":[\"true\"] }

" } }, "documentation":"

Used to specify a stack or deployment command.

" @@ -1971,7 +2218,7 @@ "members":{ "EcsClusterArn":{ "shape":"String", - "documentation":"

The cluster's ARN.

" + "documentation":"

The cluster's Amazon Resource Number (ARN).

" } } }, @@ -2011,7 +2258,7 @@ "members":{ "VolumeId":{ "shape":"String", - "documentation":"

The AWS OpsWorks volume ID, which is the GUID that AWS OpsWorks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID.

" + "documentation":"

The AWS OpsWorks Stacks volume ID, which is the GUID that AWS OpsWorks Stacks assigned to the instance when you registered the volume with the stack, not the Amazon EC2 volume ID.

" } } }, @@ -2093,15 +2340,15 @@ "members":{ "StackId":{ "shape":"String", - "documentation":"

The stack ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified stack.

" + "documentation":"

The stack ID. If you include this parameter, the command returns a description of the commands associated with the specified stack.

" }, "AppId":{ "shape":"String", - "documentation":"

The app ID. If you include this parameter, DescribeDeployments returns a description of the commands associated with the specified app.

" + "documentation":"

The app ID. If you include this parameter, the command returns a description of the commands associated with the specified app.

" }, "DeploymentIds":{ "shape":"Strings", - "documentation":"

An array of deployment IDs to be described. If you include this parameter, DescribeDeployments returns a description of the specified deployments. Otherwise, it returns a description of every deployment.

" + "documentation":"

An array of deployment IDs to be described. If you include this parameter, the command returns a description of the specified deployments. Otherwise, it returns a description of every deployment.

" } } }, @@ -2280,12 +2527,22 @@ }, "documentation":"

Contains the response to a DescribeMyUserProfile request.

" }, + "DescribeOperatingSystemsResponse":{ + "type":"structure", + "members":{ + "OperatingSystems":{ + "shape":"OperatingSystems", + "documentation":"

Contains information in response to a DescribeOperatingSystems request.

" + } + }, + "documentation":"

The response to a DescribeOperatingSystems request.

" + }, "DescribePermissionsRequest":{ "type":"structure", "members":{ "IamUserArn":{ "shape":"String", - "documentation":"

The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The user's IAM ARN. This can also be a federated user's ARN. For more information about IAM ARNs, see Using Identifiers.

" }, "StackId":{ "shape":"String", @@ -2336,7 +2593,7 @@ "members":{ "StackId":{ "shape":"String", - "documentation":"

The stack ID that the instances are registered with. The operation returns descriptions of all registered Amazon RDS instances.

" + "documentation":"

The ID of the stack with which the instances are registered. The operation returns descriptions of all registered Amazon RDS instances.

" }, "RdsDbInstanceArns":{ "shape":"Strings", @@ -2387,7 +2644,7 @@ "members":{ "StackId":{ "shape":"String", - "documentation":"

The stack ID

" + "documentation":"

The stack ID.

" } } }, @@ -2396,7 +2653,7 @@ "members":{ "AgentInstallerUrl":{ "shape":"String", - "documentation":"

The AWS OpsWorks agent installer's URL.

" + "documentation":"

The AWS OpsWorks Stacks agent installer's URL.

" }, "Parameters":{ "shape":"Parameters", @@ -2554,22 +2811,22 @@ }, "Iops":{ "shape":"Integer", - "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice.

" + "documentation":"

The number of I/O operations per second (IOPS) that the volume supports. For more information, see EbsBlockDevice.

" }, "VolumeSize":{ "shape":"Integer", - "documentation":"

The volume size, in GiB. For more information, see EbsBlockDevice.

" + "documentation":"

The volume size, in GiB. For more information, see EbsBlockDevice.

" }, "VolumeType":{ "shape":"VolumeType", - "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, and standard for Magnetic volumes.

" + "documentation":"

The volume type. gp2 for General Purpose (SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for Throughput Optimized hard disk drives (HDD), sc1 for Cold HDD,and standard for Magnetic volumes.

If you specify the io1 volume type, you must also specify a value for the Iops attribute. The maximum ratio of provisioned IOPS to requested volume size (in GiB) is 50:1. AWS uses the default volume size (in GiB) specified in the AMI attributes to set IOPS to 50 x (volume size).

" }, "DeleteOnTermination":{ "shape":"Boolean", "documentation":"

Whether the volume is deleted on instance termination.

" } }, - "documentation":"

Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 EbsBlockDevice data type.

" + "documentation":"

Describes an Amazon EBS volume. This data type maps directly to the Amazon EC2 EbsBlockDevice data type.

" }, "EcsCluster":{ "type":"structure", @@ -2614,7 +2871,7 @@ }, "Region":{ "shape":"String", - "documentation":"

The AWS region. For more information, see Regions and Endpoints.

" + "documentation":"

The AWS region. For more information, see Regions and Endpoints.

" }, "InstanceId":{ "shape":"String", @@ -2729,7 +2986,7 @@ "members":{ "InstanceId":{ "shape":"String", - "documentation":"

The instance's AWS OpsWorks ID.

" + "documentation":"

The instance's AWS OpsWorks Stacks ID.

" }, "ValidForInMinutes":{ "shape":"ValidForInMinutes", @@ -2757,19 +3014,23 @@ }, "AmiId":{ "shape":"String", - "documentation":"

A custom AMI ID to be used to create the instance. For more information, see Instances

" + "documentation":"

A custom AMI ID to be used to create the instance. For more information, see Instances

" }, "Architecture":{ "shape":"Architecture", "documentation":"

The instance architecture: \"i386\" or \"x86_64\".

" }, + "Arn":{ + "shape":"String", + "documentation":"

The instance's Amazon Resource Number (ARN).

" + }, "AutoScalingType":{ "shape":"AutoScalingType", "documentation":"

For load-based or time-based instances, the type.

" }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" + "documentation":"

The instance Availability Zone. For more information, see Regions and Endpoints.

" }, "BlockDeviceMappings":{ "shape":"BlockDeviceMappings", @@ -2797,7 +3058,7 @@ }, "ElasticIp":{ "shape":"String", - "documentation":"

The instance Elastic IP address .

" + "documentation":"

The instance Elastic IP address .

" }, "Hostname":{ "shape":"String", @@ -2817,7 +3078,7 @@ }, "InstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of the instance's IAM profile. For more information about IAM ARNs, see Using Identifiers.

" }, "InstanceType":{ "shape":"String", @@ -2841,7 +3102,7 @@ }, "PrivateDns":{ "shape":"String", - "documentation":"

The The instance's private DNS name.

" + "documentation":"

The instance's private DNS name.

" }, "PrivateIp":{ "shape":"String", @@ -2861,7 +3122,7 @@ }, "ReportedAgentVersion":{ "shape":"String", - "documentation":"

The instance's reported AWS OpsWorks agent version.

" + "documentation":"

The instance's reported AWS OpsWorks Stacks agent version.

" }, "ReportedOs":{ "shape":"ReportedOs", @@ -2869,7 +3130,7 @@ }, "RootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The instance's root device type. For more information, see Storage for the Root Device.

" + "documentation":"

The instance's root device type. For more information, see Storage for the Root Device.

" }, "RootDeviceVolumeId":{ "shape":"String", @@ -2926,7 +3187,7 @@ "documentation":"

A signature that can be used to verify the document's accuracy and authenticity.

" } }, - "documentation":"

Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see Instance Metadata and User Data.

" + "documentation":"

Contains a description of an Amazon EC2 instance from the Amazon EC2 metadata service. For more information, see Instance Metadata and User Data.

" }, "Instances":{ "type":"list", @@ -2991,6 +3252,10 @@ "shape":"Integer", "documentation":"

The number of instances with start_failed status.

" }, + "StopFailed":{ + "shape":"Integer", + "documentation":"

The number of instances with stop_failed status.

" + }, "Stopped":{ "shape":"Integer", "documentation":"

The number of instances with stopped status.

" @@ -3021,6 +3286,10 @@ "Layer":{ "type":"structure", "members":{ + "Arn":{ + "shape":"String", + "documentation":"

The Amazon Resource Number (ARN) of a layer.

" + }, "StackId":{ "shape":"String", "documentation":"

The layer stack ID.

" @@ -3043,11 +3312,15 @@ }, "Attributes":{ "shape":"LayerAttributes", - "documentation":"

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks returns *****FILTERED***** instead of the actual value

For an ECS Cluster layer, AWS OpsWorks the EcsClusterArn attribute is set to the cluster's ARN.

" + "documentation":"

The layer attributes.

For the HaproxyStatsPassword, MysqlRootPassword, and GangliaPassword attributes, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value

For an ECS Cluster layer, AWS OpsWorks Stacks the EcsClusterArn attribute is set to the cluster's ARN.

" + }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

The Amazon CloudWatch Logs configuration settings for the layer.

" }, "CustomInstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of the default IAM profile to be used for the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "CustomJson":{ "shape":"String", @@ -3075,13 +3348,16 @@ }, "AutoAssignElasticIps":{ "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" }, "AutoAssignPublicIps":{ "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" + }, + "DefaultRecipes":{ + "shape":"Recipes", + "documentation":"

AWS OpsWorks Stacks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. You can also provide custom recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

" }, - "DefaultRecipes":{"shape":"Recipes"}, "CustomRecipes":{ "shape":"Recipes", "documentation":"

A LayerCustomRecipes object that specifies the layer's custom recipes.

" @@ -3171,6 +3447,38 @@ }, "documentation":"

Specifies the lifecycle event configuration

" }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

Do not use. A validation exception occurs if you add a MaxResults parameter to a ListTagsRequest call.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

Do not use. A validation exception occurs if you add a NextToken parameter to a ListTagsRequest call.

" + } + } + }, + "ListTagsResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

A set of key-value pairs that contain tag keys and tag values that are attached to a stack or layer.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If a paginated request does not return all of the remaining results, this parameter is set to a token that you can assign to the request object's NextToken parameter to get the next set of results. If the previous paginated request returned all of the remaining results, this parameter is set to null.

" + } + }, + "documentation":"

Contains the response to a ListTags request.

" + }, "LoadBasedAutoScalingConfiguration":{ "type":"structure", "members":{ @@ -3184,11 +3492,11 @@ }, "UpScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks increases the number of instances.

" + "documentation":"

An AutoScalingThresholds object that describes the upscaling configuration, which defines how and when AWS OpsWorks Stacks increases the number of instances.

" }, "DownScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks reduces the number of instances.

" + "documentation":"

An AutoScalingThresholds object that describes the downscaling configuration, which defines how and when AWS OpsWorks Stacks reduces the number of instances.

" } }, "documentation":"

Describes a layer's load-based auto scaling configuration.

" @@ -3197,12 +3505,70 @@ "type":"list", "member":{"shape":"LoadBasedAutoScalingConfiguration"} }, + "MaxResults":{"type":"integer"}, "Minute":{ "type":"integer", "box":true, "max":100, "min":1 }, + "NextToken":{"type":"string"}, + "OperatingSystem":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the operating system, such as Amazon Linux 2018.03.

" + }, + "Id":{ + "shape":"String", + "documentation":"

The ID of a supported operating system, such as Amazon Linux 2018.03.

" + }, + "Type":{ + "shape":"String", + "documentation":"

The type of a supported operating system, either Linux or Windows.

" + }, + "ConfigurationManagers":{ + "shape":"OperatingSystemConfigurationManagers", + "documentation":"

Supported configuration manager name and versions for an AWS OpsWorks Stacks operating system.

" + }, + "ReportedName":{ + "shape":"String", + "documentation":"

A short name for the operating system manufacturer.

" + }, + "ReportedVersion":{ + "shape":"String", + "documentation":"

The version of the operating system, including the release and edition, if applicable.

" + }, + "Supported":{ + "shape":"Boolean", + "documentation":"

Indicates that an operating system is not supported for new instances.

" + } + }, + "documentation":"

Describes supported operating systems in AWS OpsWorks Stacks.

" + }, + "OperatingSystemConfigurationManager":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The name of the configuration manager, which is Chef.

" + }, + "Version":{ + "shape":"String", + "documentation":"

The versions of the configuration manager that are supported by an operating system.

" + } + }, + "documentation":"

A block that contains information about the configuration manager (Chef) and the versions of the configuration manager that are supported for an operating system.

" + }, + "OperatingSystemConfigurationManagers":{ + "type":"list", + "member":{"shape":"OperatingSystemConfigurationManager"} + }, + "OperatingSystems":{ + "type":"list", + "member":{"shape":"OperatingSystem"} + }, "Parameters":{ "type":"map", "key":{"shape":"String"}, @@ -3217,7 +3583,7 @@ }, "IamUserArn":{ "shape":"String", - "documentation":"

The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The Amazon Resource Name (ARN) for an AWS Identity and Access Management (IAM) role. For more information about IAM ARNs, see Using Identifiers.

" }, "AllowSsh":{ "shape":"Boolean", @@ -3229,7 +3595,7 @@ }, "Level":{ "shape":"String", - "documentation":"

The user's permission level, which must be the following:

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions

" + "documentation":"

The user's permission level, which must be the following:

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions

" } }, "documentation":"

Describes stack or user permissions.

" @@ -3275,7 +3641,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The array's Availability Zone. For more information, see Regions and Endpoints.

" + "documentation":"

The array's Availability Zone. For more information, see Regions and Endpoints.

" }, "CreatedAt":{ "shape":"DateTime", @@ -3317,7 +3683,7 @@ }, "DbPassword":{ "shape":"String", - "documentation":"

AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "Region":{ "shape":"String", @@ -3333,11 +3699,11 @@ }, "StackId":{ "shape":"String", - "documentation":"

The ID of the stack that the instance is registered with.

" + "documentation":"

The ID of the stack with which the instance is registered.

" }, "MissingOnRds":{ "shape":"Boolean", - "documentation":"

Set to true if AWS OpsWorks was unable to discover the Amazon RDS instance. AWS OpsWorks attempts to discover the instance only once. If this value is set to true, you must deregister the instance and then register it again.

" + "documentation":"

Set to true if AWS OpsWorks Stacks is unable to discover the Amazon RDS instance. AWS OpsWorks Stacks attempts to discover the instance only once. If this value is set to true, you must deregister the instance, and then register it again.

" } }, "documentation":"

Describes an Amazon RDS instance.

" @@ -3380,7 +3746,7 @@ "documentation":"

An array of custom recipe names to be run following a shutdown event.

" } }, - "documentation":"

AWS OpsWorks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

" + "documentation":"

AWS OpsWorks Stacks supports five lifecycle events: setup, configuration, deploy, undeploy, and shutdown. For each layer, AWS OpsWorks Stacks runs a set of standard recipes for each event. In addition, you can provide custom recipes for any or all layers and events. AWS OpsWorks Stacks runs custom event recipes after the standard recipes. LayerCustomRecipes specifies the custom recipes for a particular layer to be run in response to each of the five events.

To specify a recipe, use the cookbook's directory name in the repository followed by two colons and the recipe name, which is the recipe's file name without the .rb extension. For example: phpapp2::dbsetup specifies the dbsetup.rb recipe in the repository's phpapp2 folder.

" }, "RegisterEcsClusterRequest":{ "type":"structure", @@ -3475,7 +3841,7 @@ "members":{ "InstanceId":{ "shape":"String", - "documentation":"

The registered instance's AWS OpsWorks ID.

" + "documentation":"

The registered instance's AWS OpsWorks Stacks ID.

" } }, "documentation":"

Contains the response to a RegisterInstanceResult request.

" @@ -3549,6 +3915,7 @@ }, "documentation":"

A registered instance's reported operating system.

" }, + "ResourceArn":{"type":"string"}, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -3617,7 +3984,7 @@ "documentation":"

When the error occurred.

" } }, - "documentation":"

Describes an AWS OpsWorks service error.

" + "documentation":"

Describes an AWS OpsWorks Stacks service error.

" }, "ServiceErrors":{ "type":"list", @@ -3637,11 +4004,11 @@ }, "UpScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks starts a specified number of instances.

" + "documentation":"

An AutoScalingThresholds object with the upscaling threshold configuration. If the load exceeds these thresholds for a specified amount of time, AWS OpsWorks Stacks starts a specified number of instances.

" }, "DownScaling":{ "shape":"AutoScalingThresholds", - "documentation":"

An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks stops a specified number of instances.

" + "documentation":"

An AutoScalingThresholds object with the downscaling threshold configuration. If the load falls below these thresholds for a specified amount of time, AWS OpsWorks Stacks stops a specified number of instances.

" } } }, @@ -3670,7 +4037,7 @@ }, "Level":{ "shape":"String", - "documentation":"

The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information on the permissions associated with these levels, see Managing User Permissions.

" + "documentation":"

The user's permission level, which must be set to one of the following strings. You cannot set your own permissions level.

  • deny

  • show

  • deploy

  • manage

  • iam_only

For more information about the permissions associated with these levels, see Managing User Permissions.

" } } }, @@ -3693,11 +4060,11 @@ "members":{ "ExecutionTimeout":{ "shape":"Integer", - "documentation":"

The time, in seconds, that AWS OpsWorks will wait after triggering a Shutdown event before shutting down an instance.

" + "documentation":"

The time, in seconds, that AWS OpsWorks Stacks will wait after triggering a Shutdown event before shutting down an instance.

" }, "DelayUntilElbConnectionsDrained":{ "shape":"Boolean", - "documentation":"

Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

" + "documentation":"

Whether to enable Elastic Load Balancing connection draining. For more information, see Connection Draining

" } }, "documentation":"

The Shutdown event configuration.

" @@ -3711,7 +4078,7 @@ }, "Url":{ "shape":"String", - "documentation":"

The source URL.

" + "documentation":"

The source URL. The following is an example of an Amazon S3 source URL: https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

" }, "Username":{ "shape":"String", @@ -3719,18 +4086,18 @@ }, "Password":{ "shape":"String", - "documentation":"

When included in a request, the parameter depends on the repository type.

  • For Amazon S3 bundles, set Password to the appropriate IAM secret access key.

  • For HTTP bundles and Subversion repositories, set Password to the password.

For more information on how to safely handle IAM credentials, see http://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

When included in a request, the parameter depends on the repository type.

  • For Amazon S3 bundles, set Password to the appropriate IAM secret access key.

  • For HTTP bundles and Subversion repositories, set Password to the password.

For more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "SshKey":{ "shape":"String", - "documentation":"

In requests, the repository's SSH key.

In responses, AWS OpsWorks returns *****FILTERED***** instead of the actual value.

" + "documentation":"

In requests, the repository's SSH key.

In responses, AWS OpsWorks Stacks returns *****FILTERED***** instead of the actual value.

" }, "Revision":{ "shape":"String", - "documentation":"

The application's version. AWS OpsWorks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

" + "documentation":"

The application's version. AWS OpsWorks Stacks enables you to easily deploy new versions of an application. One of the simplest approaches is to have branches or revisions in your repository that represent different versions that can potentially be deployed.

" } }, - "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Creating Apps or Custom Recipes and Cookbooks.

" + "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Creating Apps or Custom Recipes and Cookbooks.

" }, "SourceType":{ "type":"string", @@ -3780,7 +4147,7 @@ }, "Region":{ "shape":"String", - "documentation":"

The stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" + "documentation":"

The stack AWS region, such as \"ap-northeast-2\". For more information about AWS regions, see Regions and Endpoints.

" }, "VpcId":{ "shape":"String", @@ -3796,7 +4163,7 @@ }, "DefaultInstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultOs":{ "shape":"String", @@ -3808,7 +4175,7 @@ }, "DefaultAvailabilityZone":{ "shape":"String", - "documentation":"

The stack's default Availability Zone. For more information, see Regions and Endpoints.

" + "documentation":"

The stack's default Availability Zone. For more information, see Regions and Endpoints.

" }, "DefaultSubnetId":{ "shape":"String", @@ -3816,7 +4183,7 @@ }, "CustomJson":{ "shape":"String", - "documentation":"

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" + "documentation":"

A JSON object that contains user-defined attributes to be added to the stack configuration and deployment attributes. You can use custom JSON to override the corresponding default stack configuration attribute values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" }, "ConfigurationManager":{ "shape":"StackConfigurationManager", @@ -3824,7 +4191,7 @@ }, "ChefConfiguration":{ "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see Create a New Stack.

" + "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version. For more information, see Create a New Stack.

" }, "UseCustomCookbooks":{ "shape":"Boolean", @@ -3832,9 +4199,12 @@ }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether the stack automatically associates the AWS OpsWorks built-in security groups with the stack's layers.

" + "documentation":"

Whether the stack automatically associates the AWS OpsWorks Stacks built-in security groups with the stack's layers.

" + }, + "CustomCookbooksSource":{ + "shape":"Source", + "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.

" }, - "CustomCookbooksSource":{"shape":"Source"}, "DefaultSshKeyName":{ "shape":"String", "documentation":"

A default Amazon EC2 key pair for the stack's instances. You can override this value when you create or update an instance.

" @@ -3845,7 +4215,7 @@ }, "DefaultRootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" + "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" }, "AgentVersion":{ "shape":"String", @@ -3938,6 +4308,10 @@ "InstanceId":{ "shape":"String", "documentation":"

The instance ID.

" + }, + "Force":{ + "shape":"Boolean", + "documentation":"

Specifies whether to force an instance to stop. If the instance's root device type is ebs, or EBS-backed, adding the Force parameter to the StopInstances API call disassociates the AWS OpsWorks Stacks instance from EC2, and forces deletion of only the OpsWorks Stacks instance. You must also delete the formerly-associated instance in EC2 after troubleshooting and replacing the AWS OpsWorks Stacks instance with a new one.

" } } }, @@ -3957,6 +4331,34 @@ "member":{"shape":"String"} }, "Switch":{"type":"string"}, + "TagKey":{"type":"string"}, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

A map that contains tag keys and tag values that are attached to a stack or layer.

  • The key cannot be empty.

  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • Leading and trailing white spaces are trimmed from both the key and value.

  • A maximum of 40 tags is allowed for any resource.

" + } + } + }, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, "TemporaryCredential":{ "type":"structure", "members":{ @@ -3974,7 +4376,7 @@ }, "InstanceId":{ "shape":"String", - "documentation":"

The instance's AWS OpsWorks ID.

" + "documentation":"

The instance's AWS OpsWorks Stacks ID.

" } }, "documentation":"

Contains the data needed by RDP clients such as the Microsoft Remote Desktop Connection to log in to the instance.

" @@ -4017,6 +4419,23 @@ } } }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

The stack or layer's Amazon Resource Number (ARN).

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

A list of the keys of tags to be removed from a stack or layer.

" + } + } + }, "UpdateAppRequest":{ "type":"structure", "required":["AppId"], @@ -4063,7 +4482,7 @@ }, "Environment":{ "shape":"EnvironmentVariables", - "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 10 KB (10240 Bytes). This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 10KB).\"

This parameter is supported only by Chef 11.10 stacks. If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" + "documentation":"

An array of EnvironmentVariable objects that specify environment variables to be associated with the app. After you deploy the app, these variables are defined on the associated app server instances.For more information, see Environment Variables.

There is no specific limit on the number of environment variables. However, the size of the associated data structure - which includes the variables' names, values, and protected flag values - cannot exceed 20 KB. This limit should accommodate most if not all use cases. Exceeding it will cause an exception with the message, \"Environment: is too large (maximum is 20 KB).\"

If you have specified one or more environment variables, you cannot modify the stack's Chef version.

" } } }, @@ -4073,7 +4492,7 @@ "members":{ "ElasticIp":{ "shape":"String", - "documentation":"

The address.

" + "documentation":"

The IP address for which you want to update the name.

" }, "Name":{ "shape":"String", @@ -4095,7 +4514,7 @@ }, "InstanceType":{ "shape":"String", - "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" + "documentation":"

The instance type, such as t2.micro. For a list of supported instance types, open the stack in the console, choose Instances, and choose + Instance. The Size list contains the currently supported types. For more information, see Instance Families and Types. The parameter values that you use to specify the various types are in the API Name column of the Available Instance Types table.

" }, "AutoScalingType":{ "shape":"AutoScalingType", @@ -4107,7 +4526,7 @@ }, "Os":{ "shape":"String", - "documentation":"

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information on the supported operating systems, see Operating Systems. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

" + "documentation":"

The instance's operating system, which must be set to one of the following. You cannot update an instance that is using a custom AMI.

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

The default option is the current Amazon Linux version. If you set this parameter to Custom, you must use the AmiId parameter to specify the custom AMI that you want to use. For more information about supported operating systems, see Operating Systems. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

You can specify a different Linux operating system for the updated stack, but you cannot change from Linux to Windows or Windows to Linux.

" }, "AmiId":{ "shape":"String", @@ -4119,7 +4538,7 @@ }, "Architecture":{ "shape":"Architecture", - "documentation":"

The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" + "documentation":"

The instance architecture. Instance types do not necessarily support both architectures. For a list of the architectures that are supported by the different instance types, see Instance Families and Types.

" }, "InstallUpdatesOnBoot":{ "shape":"Boolean", @@ -4131,7 +4550,7 @@ }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • INHERIT - Use the stack's default agent version setting.

  • version_number - Use the specified agent version. This value overrides the stack's default setting. To update the agent version, you must edit the instance configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the instance.

The default setting is INHERIT. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

AgentVersion cannot be set to Chef 12.2.

" } } }, @@ -4149,19 +4568,23 @@ }, "Shortname":{ "shape":"String", - "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorksand by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\\A[a-z0-9\\-\\_\\.]+\\Z/.

The built-in layers' short names are defined by AWS OpsWorks. For more information, see the Layer Reference

" + "documentation":"

For custom layers only, use this parameter to specify the layer's short name, which is used internally by AWS OpsWorks Stacks and by Chef. The short name is also used as the name for the directory where your app files are installed. It can have a maximum of 200 characters and must be in the following format: /\\A[a-z0-9\\-\\_\\.]+\\Z/.

The built-in layers' short names are defined by AWS OpsWorks Stacks. For more information, see the Layer Reference

" }, "Attributes":{ "shape":"LayerAttributes", "documentation":"

One or more user-defined key/value pairs to be added to the stack attributes.

" }, + "CloudWatchLogsConfiguration":{ + "shape":"CloudWatchLogsConfiguration", + "documentation":"

Specifies CloudWatch Logs configuration options for the layer. For more information, see CloudWatchLogsLogStream.

" + }, "CustomInstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of an IAM profile to be used for all of the layer's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "CustomJson":{ "shape":"String", - "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON.

" + "documentation":"

A JSON-formatted string containing custom stack configuration and deployment attributes to be installed on the layer's instances. For more information, see Using Custom JSON.

" }, "CustomSecurityGroupIds":{ "shape":"Strings", @@ -4181,11 +4604,11 @@ }, "AutoAssignElasticIps":{ "shape":"Boolean", - "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

Whether to automatically assign an Elastic IP address to the layer's instances. For more information, see How to Edit a Layer.

" }, "AutoAssignPublicIps":{ "shape":"Boolean", - "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" + "documentation":"

For stacks that are running in a VPC, whether to automatically assign a public IP address to the layer's instances. For more information, see How to Edit a Layer.

" }, "CustomRecipes":{ "shape":"Recipes", @@ -4254,19 +4677,19 @@ }, "DefaultInstanceProfileArn":{ "shape":"String", - "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" + "documentation":"

The ARN of an IAM profile that is the default profile for all of the stack's EC2 instances. For more information about IAM ARNs, see Using Identifiers.

" }, "DefaultOs":{ "shape":"String", - "documentation":"

The stack's operating system, which must be set to one of the following:

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information on how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information on the supported operating systems, see AWS OpsWorks Operating Systems.

" + "documentation":"

The stack's operating system, which must be set to one of the following:

  • A supported Linux operating system: An Amazon Linux version, such as Amazon Linux 2018.03, Amazon Linux 2017.09, Amazon Linux 2017.03, Amazon Linux 2016.09, Amazon Linux 2016.03, Amazon Linux 2015.09, or Amazon Linux 2015.03.

  • A supported Ubuntu operating system, such as Ubuntu 16.04 LTS, Ubuntu 14.04 LTS, or Ubuntu 12.04 LTS.

  • CentOS Linux 7

  • Red Hat Enterprise Linux 7

  • A supported Windows operating system, such as Microsoft Windows Server 2012 R2 Base, Microsoft Windows Server 2012 R2 with SQL Server Express, Microsoft Windows Server 2012 R2 with SQL Server Standard, or Microsoft Windows Server 2012 R2 with SQL Server Web.

  • A custom AMI: Custom. You specify the custom AMI you want to use when you create instances. For more information about how to use custom AMIs with OpsWorks, see Using Custom AMIs.

The default option is the stack's current operating system. For more information about supported operating systems, see AWS OpsWorks Stacks Operating Systems.

" }, "HostnameTheme":{ "shape":"String", - "documentation":"

The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" + "documentation":"

The stack's new host name theme, with spaces replaced by underscores. The theme is used to generate host names for the stack's instances. By default, HostnameTheme is set to Layer_Dependent, which creates host names by appending integers to the layer's short name. The other themes are:

  • Baked_Goods

  • Clouds

  • Europe_Cities

  • Fruits

  • Greek_Deities_and_Titans

  • Legendary_creatures_from_Japan

  • Planets_and_Moons

  • Roman_Deities

  • Scottish_Islands

  • US_Cities

  • Wild_Cats

To obtain a generated host name, call GetHostNameSuggestion, which returns a host name based on the current theme.

" }, "DefaultAvailabilityZone":{ "shape":"String", - "documentation":"

The stack's default Availability Zone, which must be in the stack's region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack.

" + "documentation":"

The stack's default Availability Zone, which must be in the stack's region. For more information, see Regions and Endpoints. If you also specify a value for DefaultSubnetId, the subnet must be in the same zone. For more information, see CreateStack.

" }, "DefaultSubnetId":{ "shape":"String", @@ -4274,36 +4697,39 @@ }, "CustomJson":{ "shape":"String", - "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information on custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" + "documentation":"

A string that contains user-defined, custom JSON. It can be used to override the corresponding default stack configuration JSON values or to pass data to recipes. The string should be in the following format:

\"{\\\"key1\\\": \\\"value1\\\", \\\"key2\\\": \\\"value2\\\",...}\"

For more information about custom JSON, see Use Custom JSON to Modify the Stack Configuration Attributes.

" }, "ConfigurationManager":{ "shape":"StackConfigurationManager", - "documentation":"

The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 11.4.

" + "documentation":"

The configuration manager. When you update a stack, we recommend that you use the configuration manager to specify the Chef version: 12, 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The default value for Linux stacks is currently 12.

" }, "ChefConfiguration":{ "shape":"ChefConfiguration", - "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" + "documentation":"

A ChefConfiguration object that specifies whether to enable Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more information, see Create a New Stack.

" }, "UseCustomCookbooks":{ "shape":"Boolean", "documentation":"

Whether the stack uses custom cookbooks.

" }, - "CustomCookbooksSource":{"shape":"Source"}, + "CustomCookbooksSource":{ + "shape":"Source", + "documentation":"

Contains the information required to retrieve an app or cookbook from a repository. For more information, see Adding Apps or Cookbooks and Recipes.

" + }, "DefaultSshKeyName":{ "shape":"String", - "documentation":"

A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" + "documentation":"

A default Amazon EC2 key-pair name. The default value is none. If you specify a key-pair name, AWS OpsWorks Stacks installs the public key on the instance and you can use the private key with an SSH client to log in to the instance. For more information, see Using SSH to Communicate with an Instance and Managing SSH Access. You can override this setting by specifying a different key pair, or no key pair, when you create an instance.

" }, "DefaultRootDeviceType":{ "shape":"RootDeviceType", - "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" + "documentation":"

The default root device type. This value is used by default for all instances in the stack, but you can override it when you create an instance. For more information, see Storage for the Root Device.

" }, "UseOpsworksSecurityGroups":{ "shape":"Boolean", - "documentation":"

Whether to associate the AWS OpsWorks built-in security groups with the stack's layers.

AWS OpsWorks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to provide your own custom security groups instead of using the built-in groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" + "documentation":"

Whether to associate the AWS OpsWorks Stacks built-in security groups with the stack's layers.

AWS OpsWorks Stacks provides a standard set of built-in security groups, one for each layer, which are associated with layers by default. UseOpsworksSecurityGroups allows you to provide your own custom security groups instead of using the built-in groups. UseOpsworksSecurityGroups has the following settings:

  • True - AWS OpsWorks Stacks automatically associates the appropriate built-in security group with each layer (default setting). You can associate additional security groups with a layer after you create it, but you cannot delete the built-in security group.

  • False - AWS OpsWorks Stacks does not associate built-in security groups with layers. You must create appropriate EC2 security groups and associate a security group with each layer that you create. However, you can still manually associate a built-in security group with a layer on. Custom security groups are required only for those layers that need custom settings.

For more information, see Create a New Stack.

" }, "AgentVersion":{ "shape":"String", - "documentation":"

The default AWS OpsWorks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" + "documentation":"

The default AWS OpsWorks Stacks agent version. You have the following options:

  • Auto-update - Set this parameter to LATEST. AWS OpsWorks Stacks automatically installs new agent versions on the stack's instances as soon as they are available.

  • Fixed version - Set this parameter to your preferred agent version. To update the agent version, you must edit the stack configuration and specify a new version. AWS OpsWorks Stacks then automatically installs that version on the stack's instances.

The default setting is LATEST. To specify an agent version, you must use the complete version number, not the abbreviated number shown on the console. For a list of available agent version numbers, call DescribeAgentVersions. AgentVersion cannot be set to Chef 12.2.

You can also specify an agent version when you create or update an instance, which overrides the stack's default setting.

" } } }, @@ -4317,7 +4743,7 @@ }, "SshUsername":{ "shape":"String", - "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks generates one from the IAM user name.

" + "documentation":"

The user's SSH user name. The allowable characters are [a-z], [A-Z], [0-9], '-', and '_'. If the specified name includes other punctuation marks, AWS OpsWorks Stacks removes them. For example, my.name will be changed to myname. If you do not specify an SSH user name, AWS OpsWorks Stacks generates one from the IAM user name.

" }, "SshPublicKey":{ "shape":"String", @@ -4325,7 +4751,7 @@ }, "AllowSelfManagement":{ "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" + "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" } } }, @@ -4368,7 +4794,7 @@ }, "AllowSelfManagement":{ "shape":"Boolean", - "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" + "documentation":"

Whether users can specify their own SSH public key through the My Settings page. For more information, see Managing User Permissions.

" } }, "documentation":"

Describes a user's SSH information.

" @@ -4426,7 +4852,7 @@ }, "Status":{ "shape":"String", - "documentation":"

The value returned by DescribeVolumes.

" + "documentation":"

The value returned by DescribeVolumes.

" }, "Size":{ "shape":"Integer", @@ -4442,19 +4868,23 @@ }, "Region":{ "shape":"String", - "documentation":"

The AWS region. For more information about AWS regions, see Regions and Endpoints.

" + "documentation":"

The AWS region. For more information about AWS regions, see Regions and Endpoints.

" }, "AvailabilityZone":{ "shape":"String", - "documentation":"

The volume Availability Zone. For more information, see Regions and Endpoints.

" + "documentation":"

The volume Availability Zone. For more information, see Regions and Endpoints.

" }, "VolumeType":{ "shape":"String", - "documentation":"

The volume type, standard or PIOPS.

" + "documentation":"

The volume type. For more information, see Amazon EBS Volume Types.

  • standard - Magnetic. Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024 GiB.

  • io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size of 4 GiB and a maximum size of 16384 GiB.

  • gp2 - General Purpose (SSD). General purpose volumes must have a minimum size of 1 GiB and a maximum size of 16384 GiB.

  • st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

  • sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

" }, "Iops":{ "shape":"Integer", "documentation":"

For PIOPS volumes, the IOPS per disk.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

" } }, "documentation":"

Describes an instance's Amazon EBS volume.

" @@ -4485,11 +4915,15 @@ }, "VolumeType":{ "shape":"String", - "documentation":"

The volume type:

  • standard - Magnetic

  • io1 - Provisioned IOPS (SSD)

  • gp2 - General Purpose (SSD)

" + "documentation":"

The volume type. For more information, see Amazon EBS Volume Types.

  • standard - Magnetic. Magnetic volumes must have a minimum size of 1 GiB and a maximum size of 1024 GiB.

  • io1 - Provisioned IOPS (SSD). PIOPS volumes must have a minimum size of 4 GiB and a maximum size of 16384 GiB.

  • gp2 - General Purpose (SSD). General purpose volumes must have a minimum size of 1 GiB and a maximum size of 16384 GiB.

  • st1 - Throughput Optimized hard disk drive (HDD). Throughput optimized HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

  • sc1 - Cold HDD. Cold HDD volumes must have a minimum size of 500 GiB and a maximum size of 16384 GiB.

" }, "Iops":{ "shape":"Integer", "documentation":"

For PIOPS volumes, the IOPS per disk.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Specifies whether an Amazon EBS volume is encrypted. For more information, see Amazon EBS Encryption.

" } }, "documentation":"

Describes an Amazon EBS volume configuration.

" @@ -4545,5 +4979,5 @@ "documentation":"

Describes a time-based instance's auto scaling schedule. The schedule consists of a set of key-value pairs.

  • The key is the time period (a UTC hour) and must be an integer from 0 - 23.

  • The value indicates whether the instance should be online or offline for the specified period, and must be set to \"on\" or \"off\"

The default setting for all time periods is off, so you use the following parameters primarily to specify the online periods. You don't have to explicitly specify offline periods unless you want to change an online period to an offline period.

The following example specifies that the instance should be online for four hours, from UTC 1200 - 1600. It will be off for the remainder of the day.

{ \"12\":\"on\", \"13\":\"on\", \"14\":\"on\", \"15\":\"on\" }

" } }, - "documentation":"AWS OpsWorks

Welcome to the AWS OpsWorks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks actions and data types, including common parameters and error codes.

AWS OpsWorks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

" + "documentation":"AWS OpsWorks

Welcome to the AWS OpsWorks Stacks API Reference. This guide provides descriptions, syntax, and usage examples for AWS OpsWorks Stacks actions and data types, including common parameters and error codes.

AWS OpsWorks Stacks is an application management service that provides an integrated experience for overseeing the complete application lifecycle. For information about this product, go to the AWS OpsWorks details page.

SDKs and CLI

The most common way to use the AWS OpsWorks Stacks API is by using the AWS Command Line Interface (CLI) or by using one of the AWS SDKs to implement applications in your preferred language. For more information, see:

Endpoints

AWS OpsWorks Stacks supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Stacks can only be accessed or managed within the endpoint in which they are created.

  • opsworks.us-east-1.amazonaws.com

  • opsworks.us-east-2.amazonaws.com

  • opsworks.us-west-1.amazonaws.com

  • opsworks.us-west-2.amazonaws.com

  • opsworks.ca-central-1.amazonaws.com (API only; not available in the AWS console)

  • opsworks.eu-west-1.amazonaws.com

  • opsworks.eu-west-2.amazonaws.com

  • opsworks.eu-west-3.amazonaws.com

  • opsworks.eu-central-1.amazonaws.com

  • opsworks.ap-northeast-1.amazonaws.com

  • opsworks.ap-northeast-2.amazonaws.com

  • opsworks.ap-south-1.amazonaws.com

  • opsworks.ap-southeast-1.amazonaws.com

  • opsworks.ap-southeast-2.amazonaws.com

  • opsworks.sa-east-1.amazonaws.com

Chef Versions

When you call CreateStack, CloneStack, or UpdateStack we recommend you use the ConfigurationManager parameter to specify the Chef version. The recommended and default value for Linux stacks is currently 12. Windows stacks use Chef 12.2. For more information, see Chef Versions.

You can specify Chef 12, 11.10, or 11.4 for your Linux stack. We recommend migrating your existing Linux stacks to Chef 12 as soon as possible.

" } diff -Nru python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/waiters-2.json python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/waiters-2.json --- python-botocore-1.4.70/botocore/data/opsworks/2013-02-18/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworks/2013-02-18/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -22,7 +22,7 @@ "delay": 15, "operation": "DescribeDeployments", "maxAttempts": 40, - "description": "Wait until a deployment has completed successfully", + "description": "Wait until a deployment has completed successfully.", "acceptors": [ { "expected": "successful", @@ -173,12 +173,6 @@ "matcher": "pathAny", "state": "failure", "argument": "Instances[].Status" - }, - { - "expected": "online", - "matcher": "pathAny", - "state": "failure", - "argument": "Instances[].Status" }, { "expected": "pending", diff -Nru python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/examples-1.json --- python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "DescribeBackups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Backups" + }, + "DescribeEvents": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServerEvents" + }, + "DescribeServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Servers" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/service-2.json python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/service-2.json --- python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1432 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-01", + "endpointPrefix":"opsworks-cm", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"OpsWorksCM", + "serviceFullName":"AWS OpsWorks CM", + "serviceId":"OpsWorksCM", + "signatureVersion":"v4", + "signingName":"opsworks-cm", + "targetPrefix":"OpsWorksCM_V2016_11_01", + "uid":"opsworkscm-2016-11-01" + }, + "operations":{ + "AssociateNode":{ + "name":"AssociateNode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateNodeRequest"}, + "output":{"shape":"AssociateNodeResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Associates a new node with the server. For more information about how to disassociate a node, see DisassociateNode.

On a Chef server: This command is an alternative to knife bootstrap.

Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes \"Name=CHEF_ORGANIZATION,Value=default\" \"Name=CHEF_NODE_PUBLIC_KEY,Value=public-key-pem\"

On a Puppet server, this command is an alternative to the puppet cert sign command that signs a Puppet node CSR.

Example (Chef): aws opsworks-cm associate-node --server-name MyServer --node-name MyManagedNode --engine-attributes \"Name=PUPPET_NODE_CSR,Value=csr-pem\"

A node can can only be associated with servers that are in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid. The AssociateNode API call can be integrated into Auto Scaling configurations, AWS Cloudformation templates, or the user data of a server's instance.

" + }, + "CreateBackup":{ + "name":"CreateBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBackupRequest"}, + "output":{"shape":"CreateBackupResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates an application-level backup of a server. While the server is in the BACKING_UP state, the server cannot be changed, and no additional backup can be created.

Backups can be created for servers in RUNNING, HEALTHY, and UNHEALTHY states. By default, you can create a maximum of 50 manual backups.

This operation is asynchronous.

A LimitExceededException is thrown when the maximum number of manual backups is reached. An InvalidStateException is thrown when the server is not in any of the following states: RUNNING, HEALTHY, or UNHEALTHY. A ResourceNotFoundException is thrown when the server is not found. A ValidationException is thrown when parameters of the request are not valid.

" + }, + "CreateServer":{ + "name":"CreateServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServerRequest"}, + "output":{"shape":"CreateServerResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Creates and immedately starts a new server. The server is ready to use when it is in the HEALTHY state. By default, you can create a maximum of 10 servers.

This operation is asynchronous.

A LimitExceededException is thrown when you have created the maximum number of servers (10). A ResourceAlreadyExistsException is thrown when a server with the same name already exists in the account. A ResourceNotFoundException is thrown when you specify a backup ID that is not valid or is for a backup that does not exist. A ValidationException is thrown when parameters of the request are not valid.

If you do not specify a security group by adding the SecurityGroupIds parameter, AWS OpsWorks creates a new security group.

Chef Automate: The default security group opens the Chef server to the world on TCP port 443. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22.

Puppet Enterprise: The default security group opens TCP ports 22, 443, 4433, 8140, 8142, 8143, and 8170. If a KeyName is present, AWS OpsWorks enables SSH access. SSH is also open to the world on TCP port 22.

By default, your server is accessible from any IP address. We recommend that you update your security group rules to allow access from known IP addresses and address ranges only. To edit security group rules, open Security Groups in the navigation pane of the EC2 management console.

To specify your own domain for a server, and provide your own self-signed or CA-signed certificate and private key, specify values for CustomDomain, CustomCertificate, and CustomPrivateKey.

" + }, + "DeleteBackup":{ + "name":"DeleteBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBackupRequest"}, + "output":{"shape":"DeleteBackupResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Deletes a backup. You can delete both manual and automated backups. This operation is asynchronous.

An InvalidStateException is thrown when a backup deletion is already in progress. A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is thrown when parameters of the request are not valid.

" + }, + "DeleteServer":{ + "name":"DeleteServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServerRequest"}, + "output":{"shape":"DeleteServerResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Deletes the server and the underlying AWS CloudFormation stacks (including the server's EC2 instance). When you run this command, the server state is updated to DELETING. After the server is deleted, it is no longer returned by DescribeServer requests. If the AWS CloudFormation stack cannot be deleted, the server cannot be deleted.

This operation is asynchronous.

An InvalidStateException is thrown when a server deletion is already in progress. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "DescribeAccountAttributes":{ + "name":"DescribeAccountAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountAttributesRequest"}, + "output":{"shape":"DescribeAccountAttributesResponse"}, + "documentation":"

Describes your OpsWorks-CM account attributes.

This operation is synchronous.

" + }, + "DescribeBackups":{ + "name":"DescribeBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBackupsRequest"}, + "output":{"shape":"DescribeBackupsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Describes backups. The results are ordered by time, with newest backups first. If you do not specify a BackupId or ServerName, the command returns all backups.

This operation is synchronous.

A ResourceNotFoundException is thrown when the backup does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsRequest"}, + "output":{"shape":"DescribeEventsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes events for a specified server. Results are ordered by time, with newest events first.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "DescribeNodeAssociationStatus":{ + "name":"DescribeNodeAssociationStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNodeAssociationStatusRequest"}, + "output":{"shape":"DescribeNodeAssociationStatusResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns the current status of an existing association or disassociation request.

A ResourceNotFoundException is thrown when no recent association or disassociation request with the specified token is found, or when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "DescribeServers":{ + "name":"DescribeServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServersRequest"}, + "output":{"shape":"DescribeServersResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Lists all configuration management servers that are identified with your account. Only the stored results from Amazon DynamoDB are returned. AWS OpsWorks CM does not query other services.

This operation is synchronous.

A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "DisassociateNode":{ + "name":"DisassociateNode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateNodeRequest"}, + "output":{"shape":"DisassociateNodeResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Disassociates a node from an AWS OpsWorks CM server, and removes the node from the server's managed nodes. After a node is disassociated, the node key pair is no longer valid for accessing the configuration manager's API. For more information about how to associate a node, see AssociateNode.

A node can can only be disassociated from a server that is in a HEALTHY state. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "ExportServerEngineAttribute":{ + "name":"ExportServerEngineAttribute", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportServerEngineAttributeRequest"}, + "output":{"shape":"ExportServerEngineAttributeResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Exports a specified server engine attribute as a base64-encoded string. For example, you can export user data that you can use in EC2 to associate nodes with a server.

This operation is synchronous.

A ValidationException is raised when parameters of the request are not valid. A ResourceNotFoundException is thrown when the server does not exist. An InvalidStateException is thrown when the server is in any of the following states: CREATING, TERMINATED, FAILED or DELETING.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Returns a list of tags that are applied to the specified AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise servers or backups.

" + }, + "RestoreServer":{ + "name":"RestoreServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreServerRequest"}, + "output":{"shape":"RestoreServerResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Restores a backup to a server that is in a CONNECTION_LOST, HEALTHY, RUNNING, UNHEALTHY, or TERMINATED state. When you run RestoreServer, the server's EC2 instance is deleted, and a new EC2 instance is configured. RestoreServer maintains the existing server endpoint, so configuration management of the server's client devices (nodes) should continue to work.

Restoring from a backup is performed by creating a new EC2 instance. If restoration is successful, and the server is in a HEALTHY state, AWS OpsWorks CM switches traffic over to the new instance. After restoration is finished, the old EC2 instance is maintained in a Running or Stopped state, but is eventually terminated.

This operation is asynchronous.

An InvalidStateException is thrown when the server is not in a valid state. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "StartMaintenance":{ + "name":"StartMaintenance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMaintenanceRequest"}, + "output":{"shape":"StartMaintenanceResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Manually starts server maintenance. This command can be useful if an earlier maintenance attempt failed, and the underlying cause of maintenance failure has been resolved. The server is in an UNDER_MAINTENANCE state while maintenance is in progress.

Maintenance can only be started on servers in HEALTHY and UNHEALTHY states. Otherwise, an InvalidStateException is thrown. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Applies tags to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server, or to server backups.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

Removes specified tags from an AWS OpsWorks-CM server or backup.

" + }, + "UpdateServer":{ + "name":"UpdateServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServerRequest"}, + "output":{"shape":"UpdateServerResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates settings for a server.

This operation is synchronous.

" + }, + "UpdateServerEngineAttributes":{ + "name":"UpdateServerEngineAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServerEngineAttributesRequest"}, + "output":{"shape":"UpdateServerEngineAttributesResponse"}, + "errors":[ + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

Updates engine-specific attributes on a specified server. The server enters the MODIFYING state when this operation is in progress. Only one update can occur at a time. You can use this command to reset a Chef server's public key (CHEF_PIVOTAL_KEY) or a Puppet server's admin password (PUPPET_ADMIN_PASSWORD).

This operation is asynchronous.

This operation can only be called for servers in HEALTHY or UNHEALTHY states. Otherwise, an InvalidStateException is raised. A ResourceNotFoundException is thrown when the server does not exist. A ValidationException is raised when parameters of the request are not valid.

" + } + }, + "shapes":{ + "AWSOpsWorksCMResourceArn":{ + "type":"string", + "pattern":"arn:aws.*:opsworks-cm:.*:[0-9]{12}:.*" + }, + "AccountAttribute":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

The attribute name. The following are supported attribute names.

  • ServerLimit: The number of current servers/maximum number of servers allowed. By default, you can have a maximum of 10 servers.

  • ManualBackupLimit: The number of current manual backups/maximum number of backups allowed. By default, you can have a maximum of 50 manual backups saved.

" + }, + "Maximum":{ + "shape":"Integer", + "documentation":"

The maximum allowed value.

" + }, + "Used":{ + "shape":"Integer", + "documentation":"

The current usage, such as the current number of servers that are associated with the account.

" + } + }, + "documentation":"

Stores account attributes.

" + }, + "AccountAttributes":{ + "type":"list", + "member":{"shape":"AccountAttribute"}, + "documentation":"

A list of individual account attributes.

" + }, + "AssociateNodeRequest":{ + "type":"structure", + "required":[ + "ServerName", + "NodeName", + "EngineAttributes" + ], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server with which to associate the node.

" + }, + "NodeName":{ + "shape":"NodeName", + "documentation":"

The name of the node.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Engine attributes used for associating the node.

Attributes accepted in a AssociateNode request for Chef

  • CHEF_ORGANIZATION: The Chef organization with which the node is associated. By default only one organization named default can exist.

  • CHEF_NODE_PUBLIC_KEY: A PEM-formatted public key. This key is required for the chef-client agent to access the Chef API.

Attributes accepted in a AssociateNode request for Puppet

  • PUPPET_NODE_CSR: A PEM-formatted certificate-signing request (CSR) that is created by the node.

" + } + } + }, + "AssociateNodeResponse":{ + "type":"structure", + "members":{ + "NodeAssociationStatusToken":{ + "shape":"NodeAssociationStatusToken", + "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the association request.

" + } + } + }, + "AttributeName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Z][A-Z0-9_]*" + }, + "AttributeValue":{ + "type":"string", + "max":10000, + "pattern":"(?s).*" + }, + "Backup":{ + "type":"structure", + "members":{ + "BackupArn":{ + "shape":"String", + "documentation":"

The ARN of the backup.

" + }, + "BackupId":{ + "shape":"BackupId", + "documentation":"

The generated ID of the backup. Example: myServerName-yyyyMMddHHmmssSSS

" + }, + "BackupType":{ + "shape":"BackupType", + "documentation":"

The backup type. Valid values are automated or manual.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The time stamp when the backup was created in the database. Example: 2016-07-29T13:38:47.520Z

" + }, + "Description":{ + "shape":"String", + "documentation":"

A user-provided description for a manual backup. This field is empty for automated backups.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The engine type that is obtained from the server when the backup is created.

" + }, + "EngineModel":{ + "shape":"String", + "documentation":"

The engine model that is obtained from the server when the backup is created.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version that is obtained from the server when the backup is created.

" + }, + "InstanceProfileArn":{ + "shape":"String", + "documentation":"

The EC2 instance profile ARN that is obtained from the server when the backup is created. Because this value is stored, you are not required to provide the InstanceProfileArn again if you restore a backup.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type that is obtained from the server when the backup is created.

" + }, + "KeyPair":{ + "shape":"String", + "documentation":"

The key pair that is obtained from the server when the backup is created.

" + }, + "PreferredBackupWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The preferred backup period that is obtained from the server when the backup is created.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The preferred maintenance period that is obtained from the server when the backup is created.

" + }, + "S3DataSize":{ + "shape":"Integer", + "documentation":"

This field is deprecated and is no longer used.

", + "deprecated":true + }, + "S3DataUrl":{ + "shape":"String", + "documentation":"

This field is deprecated and is no longer used.

", + "deprecated":true + }, + "S3LogUrl":{ + "shape":"String", + "documentation":"

The Amazon S3 URL of the backup's log file.

" + }, + "SecurityGroupIds":{ + "shape":"Strings", + "documentation":"

The security group IDs that are obtained from the server when the backup is created.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which the backup was made.

" + }, + "ServiceRoleArn":{ + "shape":"String", + "documentation":"

The service role ARN that is obtained from the server when the backup is created.

" + }, + "Status":{ + "shape":"BackupStatus", + "documentation":"

The status of a backup while in progress.

" + }, + "StatusDescription":{ + "shape":"String", + "documentation":"

An informational message about backup status.

" + }, + "SubnetIds":{ + "shape":"Strings", + "documentation":"

The subnet IDs that are obtained from the server when the backup is created.

" + }, + "ToolsVersion":{ + "shape":"String", + "documentation":"

The version of AWS OpsWorks CM-specific tools that is obtained from the server when the backup is created.

" + }, + "UserArn":{ + "shape":"String", + "documentation":"

The IAM user ARN of the requester for manual backups. This field is empty for automated backups.

" + } + }, + "documentation":"

Describes a single backup.

" + }, + "BackupId":{ + "type":"string", + "max":79, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-\\.\\:]*" + }, + "BackupRetentionCountDefinition":{ + "type":"integer", + "min":1 + }, + "BackupStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "OK", + "FAILED", + "DELETING" + ] + }, + "BackupType":{ + "type":"string", + "enum":[ + "AUTOMATED", + "MANUAL" + ] + }, + "Backups":{ + "type":"list", + "member":{"shape":"Backup"} + }, + "Boolean":{"type":"boolean"}, + "CreateBackupRequest":{ + "type":"structure", + "required":["ServerName"], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server that you want to back up.

" + }, + "Description":{ + "shape":"String", + "documentation":"

A user-defined description of the backup.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A map that contains tag keys and tag values to attach to an AWS OpsWorks-CM server backup.

  • The key cannot be empty.

  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • Leading and trailing white spaces are trimmed from both the key and value.

  • A maximum of 50 user-applied tags is allowed for tag-supported AWS OpsWorks-CM resources.

" + } + } + }, + "CreateBackupResponse":{ + "type":"structure", + "members":{ + "Backup":{ + "shape":"Backup", + "documentation":"

Backup created by request.

" + } + } + }, + "CreateServerRequest":{ + "type":"structure", + "required":[ + "ServerName", + "InstanceProfileArn", + "InstanceType", + "ServiceRoleArn" + ], + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Associate a public IP address with a server that you are launching. Valid values are true or false. The default value is true.

" + }, + "CustomDomain":{ + "shape":"CustomDomain", + "documentation":"

An optional public endpoint of a server, such as https://aws.my-company.com. To access the server, create a CNAME DNS record in your preferred DNS service that points the custom domain to the endpoint that is generated when the server is created (the value of the CreateServer Endpoint attribute). You cannot access the server by using the generated Endpoint value if the server is using a custom domain. If you specify a custom domain, you must also specify values for CustomCertificate and CustomPrivateKey.

" + }, + "CustomCertificate":{ + "shape":"CustomCertificate", + "documentation":"

A PEM-formatted HTTPS certificate. The value can be be a single, self-signed certificate, or a certificate chain. If you specify a custom certificate, you must also specify values for CustomDomain and CustomPrivateKey. The following are requirements for the CustomCertificate value:

  • You can provide either a self-signed, custom certificate, or the full certificate chain.

  • The certificate must be a valid X509 certificate, or a certificate chain in PEM format.

  • The certificate must be valid at the time of upload. A certificate can't be used before its validity period begins (the certificate's NotBefore date), or after it expires (the certificate's NotAfter date).

  • The certificate’s common name or subject alternative names (SANs), if present, must match the value of CustomDomain.

  • The certificate must match the value of CustomPrivateKey.

" + }, + "CustomPrivateKey":{ + "shape":"CustomPrivateKey", + "documentation":"

A private key in PEM format for connecting to the server by using HTTPS. The private key must not be encrypted; it cannot be protected by a password or passphrase. If you specify a custom private key, you must also specify values for CustomDomain and CustomCertificate.

" + }, + "DisableAutomatedBackup":{ + "shape":"Boolean", + "documentation":"

Enable or disable scheduled backups. Valid values are true or false. The default value is true.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The configuration management engine to use. Valid values include ChefAutomate and Puppet.

" + }, + "EngineModel":{ + "shape":"String", + "documentation":"

The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The major release version of the engine that you want to use. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Optional engine attributes on a specified server.

Attributes accepted in a Chef createServer request:

  • CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA public key. The corresponding private key is required to access the Chef API. When no CHEF_AUTOMATE_PIVOTAL_KEY is set, a private key is generated and returned in the response.

  • CHEF_AUTOMATE_ADMIN_PASSWORD: The password for the administrative user in the Chef Automate web-based dashboard. The password length is a minimum of eight characters, and a maximum of 32. The password can contain letters, numbers, and special characters (!/@#$%^&+=_). The password must contain at least one lower case letter, one upper case letter, one number, and one special character. When no CHEF_AUTOMATE_ADMIN_PASSWORD is set, one is generated and returned in the response.

Attributes accepted in a Puppet createServer request:

  • PUPPET_ADMIN_PASSWORD: To work with the Puppet Enterprise console, a password must use ASCII characters.

  • PUPPET_R10K_REMOTE: The r10k remote is the URL of your control repository (for example, ssh://git@your.git-repo.com:user/control-repo.git). Specifying an r10k remote opens TCP port 8170.

  • PUPPET_R10K_PRIVATE_KEY: If you are using a private Git repository, add PUPPET_R10K_PRIVATE_KEY to specify a PEM-encoded private SSH key.

" + }, + "BackupRetentionCount":{ + "shape":"BackupRetentionCountDefinition", + "documentation":"

The number of automated backups that you want to keep. Whenever a new backup is created, AWS OpsWorks CM deletes the oldest backups if this number is exceeded. The default value is 1.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server. The server name must be unique within your AWS account, within each region. Server names must start with a letter; then letters, numbers, or hyphens (-) are allowed, up to a maximum of 40 characters.

" + }, + "InstanceProfileArn":{ + "shape":"InstanceProfileArn", + "documentation":"

The ARN of the instance profile that your Amazon EC2 instances use. Although the AWS OpsWorks console typically creates the instance profile for you, if you are using API commands instead, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the instance profile you need.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The Amazon EC2 instance type to use. For example, m5.large.

" + }, + "KeyPair":{ + "shape":"KeyPair", + "documentation":"

The Amazon EC2 key pair to set for the instance. This parameter is optional; if desired, you may specify this parameter to connect to your instances by using SSH.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The start time for a one-hour period each week during which AWS OpsWorks CM performs maintenance on the instance. Valid values must be specified in the following format: DDD:HH:MM. The specified time is in coordinated universal time (UTC). The default value is a random one-hour period on Tuesday, Wednesday, or Friday. See TimeWindowDefinition for more information.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" + }, + "PreferredBackupWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The start time for a one-hour period during which AWS OpsWorks CM backs up application-level data on your server if automated backups are enabled. Valid values must be specified in one of the following formats:

  • HH:MM for daily backups

  • DDD:HH:MM for weekly backups

The specified time is in coordinated universal time (UTC). The default value is a random, daily start time.

Example: 08:00, which represents a daily start time of 08:00 UTC.

Example: Mon:08:00, which represents a start time of every Monday at 08:00 UTC. (8:00 a.m.)

" + }, + "SecurityGroupIds":{ + "shape":"Strings", + "documentation":"

A list of security group IDs to attach to the Amazon EC2 instance. If you add this parameter, the specified security groups must be within the VPC that is specified by SubnetIds.

If you do not specify this parameter, AWS OpsWorks CM creates one new security group that uses TCP ports 22 and 443, open to 0.0.0.0/0 (everyone).

" + }, + "ServiceRoleArn":{ + "shape":"ServiceRoleArn", + "documentation":"

The service role that the AWS OpsWorks CM service backend uses to work with your account. Although the AWS OpsWorks management console typically creates the service role for you, if you are using the AWS CLI or API commands, run the service-role-creation.yaml AWS CloudFormation template, located at https://s3.amazonaws.com/opsworks-cm-us-east-1-prod-default-assets/misc/opsworks-cm-roles.yaml. This template creates a CloudFormation stack that includes the service role and instance profile that you need.

" + }, + "SubnetIds":{ + "shape":"Strings", + "documentation":"

The IDs of subnets in which to launch the server EC2 instance.

Amazon EC2-Classic customers: This field is required. All servers must run within a VPC. The VPC must have \"Auto Assign Public IP\" enabled.

EC2-VPC customers: This field is optional. If you do not specify subnet IDs, your EC2 instances are created in a default subnet that is selected by Amazon EC2. If you specify subnet IDs, the VPC must have \"Auto Assign Public IP\" enabled.

For more information about supported Amazon EC2 platforms, see Supported Platforms.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server.

  • The key cannot be empty.

  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @

  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : / @

  • Leading and trailing white spaces are trimmed from both the key and value.

  • A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server.

" + }, + "BackupId":{ + "shape":"BackupId", + "documentation":"

If you specify this field, AWS OpsWorks CM creates the server by using the backup represented by BackupId.

" + } + } + }, + "CreateServerResponse":{ + "type":"structure", + "members":{ + "Server":{ + "shape":"Server", + "documentation":"

The server that is created by the request.

" + } + } + }, + "CustomCertificate":{ + "type":"string", + "max":2097152, + "pattern":"(?s)\\s*-----BEGIN CERTIFICATE-----.+-----END CERTIFICATE-----\\s*" + }, + "CustomDomain":{ + "type":"string", + "max":253, + "pattern":"^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" + }, + "CustomPrivateKey":{ + "type":"string", + "max":4096, + "pattern":"(?ms)\\s*^-----BEGIN (?-s:.*)PRIVATE KEY-----$.*?^-----END (?-s:.*)PRIVATE KEY-----$\\s*", + "sensitive":true + }, + "DeleteBackupRequest":{ + "type":"structure", + "required":["BackupId"], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup to delete. Run the DescribeBackups command to get a list of backup IDs. Backup IDs are in the format ServerName-yyyyMMddHHmmssSSS.

" + } + } + }, + "DeleteBackupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteServerRequest":{ + "type":"structure", + "required":["ServerName"], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The ID of the server to delete.

" + } + } + }, + "DeleteServerResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountAttributesRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountAttributesResponse":{ + "type":"structure", + "members":{ + "Attributes":{ + "shape":"AccountAttributes", + "documentation":"

The attributes that are currently set for the account.

" + } + } + }, + "DescribeBackupsRequest":{ + "type":"structure", + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

Describes a single backup.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

Returns backups for the server with the specified ServerName.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

This is not currently implemented for DescribeBackups requests.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

This is not currently implemented for DescribeBackups requests.

" + } + } + }, + "DescribeBackupsResponse":{ + "type":"structure", + "members":{ + "Backups":{ + "shape":"Backups", + "documentation":"

Contains the response to a DescribeBackups request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

This is not currently implemented for DescribeBackups requests.

" + } + } + }, + "DescribeEventsRequest":{ + "type":"structure", + "required":["ServerName"], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server for which you want to view events.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeEvents again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + } + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "ServerEvents":{ + "shape":"ServerEvents", + "documentation":"

Contains the response to a DescribeEvents request.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call DescribeEvents again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" + } + } + }, + "DescribeNodeAssociationStatusRequest":{ + "type":"structure", + "required":[ + "NodeAssociationStatusToken", + "ServerName" + ], + "members":{ + "NodeAssociationStatusToken":{ + "shape":"NodeAssociationStatusToken", + "documentation":"

The token returned in either the AssociateNodeResponse or the DisassociateNodeResponse.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which to disassociate the node.

" + } + } + }, + "DescribeNodeAssociationStatusResponse":{ + "type":"structure", + "members":{ + "NodeAssociationStatus":{ + "shape":"NodeAssociationStatus", + "documentation":"

The status of the association or disassociation request.

Possible values:

  • SUCCESS: The association or disassociation succeeded.

  • FAILED: The association or disassociation failed.

  • IN_PROGRESS: The association or disassociation is still in progress.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Attributes specific to the node association. In Puppet, the attibute PUPPET_NODE_CERT contains the signed certificate (the result of the CSR).

" + } + } + }, + "DescribeServersRequest":{ + "type":"structure", + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

Describes the server with the specified ServerName.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

This is not currently implemented for DescribeServers requests.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

This is not currently implemented for DescribeServers requests.

" + } + } + }, + "DescribeServersResponse":{ + "type":"structure", + "members":{ + "Servers":{ + "shape":"Servers", + "documentation":"

Contains the response to a DescribeServers request.

For Chef Automate servers: If DescribeServersResponse$Servers$EngineAttributes includes CHEF_MAJOR_UPGRADE_AVAILABLE, you can upgrade the Chef Automate server to Chef Automate 2. To be eligible for upgrade, a server running Chef Automate 1 must have had at least one successful maintenance run after November 1, 2019.

For Puppet Server: DescribeServersResponse$Servers$EngineAttributes contains PUPPET_API_CA_CERT. This is the PEM-encoded CA certificate that is used by the Puppet API over TCP port number 8140. The CA certificate is also used to sign node certificates.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

This is not currently implemented for DescribeServers requests.

" + } + } + }, + "DisassociateNodeRequest":{ + "type":"structure", + "required":[ + "ServerName", + "NodeName" + ], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which to disassociate the node.

" + }, + "NodeName":{ + "shape":"NodeName", + "documentation":"

The name of the client node.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Engine attributes that are used for disassociating the node. No attributes are required for Puppet.

Attributes required in a DisassociateNode request for Chef

  • CHEF_ORGANIZATION: The Chef organization with which the node was associated. By default only one organization named default can exist.

" + } + } + }, + "DisassociateNodeResponse":{ + "type":"structure", + "members":{ + "NodeAssociationStatusToken":{ + "shape":"NodeAssociationStatusToken", + "documentation":"

Contains a token which can be passed to the DescribeNodeAssociationStatus API call to get the status of the disassociation request.

" + } + } + }, + "EngineAttribute":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EngineAttributeName", + "documentation":"

The name of the engine attribute.

" + }, + "Value":{ + "shape":"EngineAttributeValue", + "documentation":"

The value of the engine attribute.

" + } + }, + "documentation":"

A name and value pair that is specific to the engine of the server.

" + }, + "EngineAttributeName":{ + "type":"string", + "max":10000, + "pattern":"(?s).*" + }, + "EngineAttributeValue":{ + "type":"string", + "max":10000, + "pattern":"(?s).*", + "sensitive":true + }, + "EngineAttributes":{ + "type":"list", + "member":{"shape":"EngineAttribute"} + }, + "ExportServerEngineAttributeRequest":{ + "type":"structure", + "required":[ + "ExportAttributeName", + "ServerName" + ], + "members":{ + "ExportAttributeName":{ + "shape":"String", + "documentation":"

The name of the export attribute. Currently, the supported export attribute is Userdata. This exports a user data script that includes parameters and values provided in the InputAttributes list.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server from which you are exporting the attribute.

" + }, + "InputAttributes":{ + "shape":"EngineAttributes", + "documentation":"

The list of engine attributes. The list type is EngineAttribute. An EngineAttribute list item is a pair that includes an attribute name and its value. For the Userdata ExportAttributeName, the following are supported engine attribute names.

  • RunList In Chef, a list of roles or recipes that are run in the specified order. In Puppet, this parameter is ignored.

  • OrganizationName In Chef, an organization name. AWS OpsWorks for Chef Automate always creates the organization default. In Puppet, this parameter is ignored.

  • NodeEnvironment In Chef, a node environment (for example, development, staging, or one-box). In Puppet, this parameter is ignored.

  • NodeClientVersion In Chef, the version of the Chef engine (three numbers separated by dots, such as 13.8.5). If this attribute is empty, OpsWorks for Chef Automate uses the most current version. In Puppet, this parameter is ignored.

" + } + } + }, + "ExportServerEngineAttributeResponse":{ + "type":"structure", + "members":{ + "EngineAttribute":{ + "shape":"EngineAttribute", + "documentation":"

The requested engine attribute pair with attribute name and value.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The server name used in the request.

" + } + } + }, + "InstanceProfileArn":{ + "type":"string", + "max":10000, + "pattern":"arn:aws:iam::[0-9]{12}:instance-profile/.*" + }, + "Integer":{"type":"integer"}, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message that can contain more detail about a nextToken failure.

" + } + }, + "documentation":"

This occurs when the provided nextToken is not valid.

", + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message that provides more detail if a resource is in a state that is not valid for performing a specified action.

" + } + }, + "documentation":"

The resource is in a state that does not allow you to perform a specified action.

", + "exception":true + }, + "KeyPair":{ + "type":"string", + "max":10000, + "pattern":".*" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message that the maximum allowed number of servers or backups has been exceeded.

" + } + }, + "documentation":"

The limit of servers or backups has been reached.

", + "exception":true + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AWSOpsWorksCMResourceArn", + "documentation":"

The Amazon Resource Number (ARN) of an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server for which you want to show applied tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

NextToken is a string that is returned in some command responses. It indicates that not all entries have been returned, and that you must run at least one more request to get remaining items. To get remaining results, call ListTagsForResource again, and assign the token from the previous results as the value of the nextToken parameter. If there are no more results, the response object's nextToken parameter value is null. Setting a nextToken value that was not returned in your previous results causes an InvalidNextTokenException to occur.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

To receive a paginated response, use this parameter to specify the maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

Tags that have been applied to the resource.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

A token that you can use as the value of NextToken in subsequent calls to the API to show more results.

" + } + } + }, + "MaintenanceStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILED" + ] + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "NextToken":{ + "type":"string", + "max":10000, + "pattern":"(?s).*" + }, + "NodeAssociationStatus":{ + "type":"string", + "documentation":"

The status of the association or disassociation request.

Possible values:

  • SUCCESS: The association or disassociation succeeded.

  • FAILED: The association or disassociation failed.

  • IN_PROGRESS: The association or disassociation is still in progress.

", + "enum":[ + "SUCCESS", + "FAILED", + "IN_PROGRESS" + ] + }, + "NodeAssociationStatusToken":{ + "type":"string", + "max":10000, + "pattern":"(?s).*" + }, + "NodeName":{ + "type":"string", + "documentation":"

The node name that is used by chef-client or puppet-agentfor a new node. We recommend to use a unique FQDN as hostname. For more information, see the Chef or Puppet documentation.

", + "max":10000, + "pattern":"^[\\-\\p{Alnum}_:.]+$" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message in response to a CreateServer request that a resource cannot be created because it already exists.

" + } + }, + "documentation":"

The requested resource cannot be created because it already exists.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message that can contain more detail about problems locating or accessing a resource.

" + } + }, + "documentation":"

The requested resource does not exist, or access was denied.

", + "exception":true + }, + "RestoreServerRequest":{ + "type":"structure", + "required":[ + "BackupId", + "ServerName" + ], + "members":{ + "BackupId":{ + "shape":"BackupId", + "documentation":"

The ID of the backup that you want to use to restore a server.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server that you want to restore.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The type of instance to restore. Valid values must be specified in the following format: ^([cm][34]|t2).* For example, m5.large. Valid values are m5.large, r5.xlarge, and r5.2xlarge. If you do not specify this parameter, RestoreServer uses the instance type from the specified backup.

" + }, + "KeyPair":{ + "shape":"KeyPair", + "documentation":"

The name of the key pair to set on the new EC2 instance. This can be helpful if the administrator no longer has the SSH key.

" + } + } + }, + "RestoreServerResponse":{ + "type":"structure", + "members":{ + } + }, + "Server":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

Associate a public IP address with a server that you are launching.

" + }, + "BackupRetentionCount":{ + "shape":"Integer", + "documentation":"

The number of automated backups to keep.

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the server.

" + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

Time stamp of server creation. Example 2016-07-29T13:38:47.520Z

" + }, + "CloudFormationStackArn":{ + "shape":"String", + "documentation":"

The ARN of the CloudFormation stack that was used to create the server.

" + }, + "CustomDomain":{ + "shape":"CustomDomain", + "documentation":"

An optional public endpoint of a server, such as https://aws.my-company.com. You cannot access the server by using the Endpoint value if the server has a CustomDomain specified.

" + }, + "DisableAutomatedBackup":{ + "shape":"Boolean", + "documentation":"

Disables automated backups. The number of stored backups is dependent on the value of PreferredBackupCount.

" + }, + "Endpoint":{ + "shape":"String", + "documentation":"

A DNS name that can be used to access the engine. Example: myserver-asdfghjkl.us-east-1.opsworks.io. You cannot access the server by using the Endpoint value if the server has a CustomDomain specified.

" + }, + "Engine":{ + "shape":"String", + "documentation":"

The engine type of the server. Valid values in this release include ChefAutomate and Puppet.

" + }, + "EngineModel":{ + "shape":"String", + "documentation":"

The engine model of the server. Valid values in this release include Monolithic for Puppet and Single for Chef.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

The response of a createServer() request returns the master credential to access the server in EngineAttributes. These credentials are not stored by AWS OpsWorks CM; they are returned only as part of the result of createServer().

Attributes returned in a createServer response for Chef

  • CHEF_AUTOMATE_PIVOTAL_KEY: A base64-encoded RSA private key that is generated by AWS OpsWorks for Chef Automate. This private key is required to access the Chef API.

  • CHEF_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Chef starter kit, which includes a README, a configuration file, and the required RSA private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents. From this directory, you can run Knife commands.

Attributes returned in a createServer response for Puppet

  • PUPPET_STARTER_KIT: A base64-encoded ZIP file. The ZIP file contains a Puppet starter kit, including a README and a required private key. Save this file, unzip it, and then change to the directory where you've unzipped the file contents.

  • PUPPET_ADMIN_PASSWORD: An administrator password that you can use to sign in to the Puppet Enterprise console after the server is online.

" + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

The engine version of the server. For a Chef server, the valid value for EngineVersion is currently 12. For a Puppet server, the valid value is 2017.

" + }, + "InstanceProfileArn":{ + "shape":"String", + "documentation":"

The instance profile ARN of the server.

" + }, + "InstanceType":{ + "shape":"String", + "documentation":"

The instance type for the server, as specified in the CloudFormation stack. This might not be the same instance type that is shown in the EC2 console.

" + }, + "KeyPair":{ + "shape":"String", + "documentation":"

The key pair associated with the server.

" + }, + "MaintenanceStatus":{ + "shape":"MaintenanceStatus", + "documentation":"

The status of the most recent server maintenance run. Shows SUCCESS or FAILED.

" + }, + "PreferredMaintenanceWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The preferred maintenance period specified for the server.

" + }, + "PreferredBackupWindow":{ + "shape":"TimeWindowDefinition", + "documentation":"

The preferred backup period specified for the server.

" + }, + "SecurityGroupIds":{ + "shape":"Strings", + "documentation":"

The security group IDs for the server, as specified in the CloudFormation stack. These might not be the same security groups that are shown in the EC2 console.

" + }, + "ServiceRoleArn":{ + "shape":"String", + "documentation":"

The service role ARN used to create the server.

" + }, + "Status":{ + "shape":"ServerStatus", + "documentation":"

The server's status. This field displays the states of actions in progress, such as creating, running, or backing up the server, as well as the server's health state.

" + }, + "StatusReason":{ + "shape":"String", + "documentation":"

Depending on the server status, this field has either a human-readable message (such as a create or backup error), or an escaped block of JSON (used for health check results).

" + }, + "SubnetIds":{ + "shape":"Strings", + "documentation":"

The subnet IDs specified in a CreateServer request.

" + }, + "ServerArn":{ + "shape":"String", + "documentation":"

The ARN of the server.

" + } + }, + "documentation":"

Describes a configuration management server.

" + }, + "ServerEvent":{ + "type":"structure", + "members":{ + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

The time when the event occurred.

" + }, + "ServerName":{ + "shape":"String", + "documentation":"

The name of the server on or for which the event occurred.

" + }, + "Message":{ + "shape":"String", + "documentation":"

A human-readable informational or status message.

" + }, + "LogUrl":{ + "shape":"String", + "documentation":"

The Amazon S3 URL of the event's log file.

" + } + }, + "documentation":"

An event that is related to the server, such as the start of maintenance or backup.

" + }, + "ServerEvents":{ + "type":"list", + "member":{"shape":"ServerEvent"} + }, + "ServerName":{ + "type":"string", + "max":40, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" + }, + "ServerStatus":{ + "type":"string", + "enum":[ + "BACKING_UP", + "CONNECTION_LOST", + "CREATING", + "DELETING", + "MODIFYING", + "FAILED", + "HEALTHY", + "RUNNING", + "RESTORING", + "SETUP", + "UNDER_MAINTENANCE", + "UNHEALTHY", + "TERMINATED" + ] + }, + "Servers":{ + "type":"list", + "member":{"shape":"Server"} + }, + "ServiceRoleArn":{ + "type":"string", + "max":10000, + "pattern":"arn:aws:iam::[0-9]{12}:role/.*" + }, + "StartMaintenanceRequest":{ + "type":"structure", + "required":["ServerName"], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server on which to run maintenance.

" + }, + "EngineAttributes":{ + "shape":"EngineAttributes", + "documentation":"

Engine attributes that are specific to the server on which you want to run maintenance.

Attributes accepted in a StartMaintenance request for Chef

" + } + } + }, + "StartMaintenanceResponse":{ + "type":"structure", + "members":{ + "Server":{ + "shape":"Server", + "documentation":"

Contains the response to a StartMaintenance request.

" + } + } + }, + "String":{ + "type":"string", + "max":10000, + "pattern":"(?s).*" + }, + "Strings":{ + "type":"list", + "member":{"shape":"String"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

A tag key, such as Stage or Name. A tag key cannot be empty. The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

An optional tag value, such as Production or test-owcm-server. The value can be a maximum of 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

" + } + }, + "documentation":"

A map that contains tag keys and tag values to attach to an AWS OpsWorks for Chef Automate or AWS OpsWorks for Puppet Enterprise server. Leading and trailing white spaces are trimmed from both the key and value. A maximum of 50 user-applied tags is allowed for tag-supported AWS OpsWorks-CM resources.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AWSOpsWorksCMResourceArn", + "documentation":"

The Amazon Resource Number (ARN) of a resource to which you want to apply tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.

" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

A map that contains tag keys and tag values to attach to AWS OpsWorks-CM servers or backups.

  • The key cannot be empty.

  • The key can be a maximum of 127 characters, and can contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • The value can be a maximum 255 characters, and contain only Unicode letters, numbers, or separators, or the following special characters: + - = . _ : /

  • Leading and trailing white spaces are trimmed from both the key and value.

  • A maximum of 50 user-applied tags is allowed for any AWS OpsWorks-CM server or backup.

" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TimeWindowDefinition":{ + "type":"string", + "documentation":"

DDD:HH:MM (weekly start time) or HH:MM (daily start time).

Time windows always use coordinated universal time (UTC). Valid strings for day of week (DDD) are: Mon, Tue, Wed, Thr, Fri, Sat, or Sun.

", + "max":10000, + "pattern":"^((Mon|Tue|Wed|Thu|Fri|Sat|Sun):)?([0-1][0-9]|2[0-3]):[0-5][0-9]$" + }, + "Timestamp":{"type":"timestamp"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AWSOpsWorksCMResourceArn", + "documentation":"

The Amazon Resource Number (ARN) of a resource from which you want to remove tags. For example, arn:aws:opsworks-cm:us-west-2:123456789012:server/test-owcm-server/EXAMPLE-66b0-4196-8274-d1a2bEXAMPLE.

" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

The keys of tags that you want to remove.

" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateServerEngineAttributesRequest":{ + "type":"structure", + "required":[ + "ServerName", + "AttributeName" + ], + "members":{ + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server to update.

" + }, + "AttributeName":{ + "shape":"AttributeName", + "documentation":"

The name of the engine attribute to update.

" + }, + "AttributeValue":{ + "shape":"AttributeValue", + "documentation":"

The value to set for the attribute.

" + } + } + }, + "UpdateServerEngineAttributesResponse":{ + "type":"structure", + "members":{ + "Server":{ + "shape":"Server", + "documentation":"

Contains the response to an UpdateServerEngineAttributes request.

" + } + } + }, + "UpdateServerRequest":{ + "type":"structure", + "required":["ServerName"], + "members":{ + "DisableAutomatedBackup":{ + "shape":"Boolean", + "documentation":"

Setting DisableAutomatedBackup to true disables automated or scheduled backups. Automated backups are enabled by default.

" + }, + "BackupRetentionCount":{ + "shape":"Integer", + "documentation":"

Sets the number of automated backups that you want to keep.

" + }, + "ServerName":{ + "shape":"ServerName", + "documentation":"

The name of the server to update.

" + }, + "PreferredMaintenanceWindow":{"shape":"TimeWindowDefinition"}, + "PreferredBackupWindow":{"shape":"TimeWindowDefinition"} + } + }, + "UpdateServerResponse":{ + "type":"structure", + "members":{ + "Server":{ + "shape":"Server", + "documentation":"

Contains the response to a UpdateServer request.

" + } + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

Error or informational message that can contain more detail about a validation failure.

" + } + }, + "documentation":"

One or more of the provided request parameters are not valid.

", + "exception":true + } + }, + "documentation":"AWS OpsWorks CM

AWS OpsWorks for configuration management (CM) is a service that runs and manages configuration management servers. You can use AWS OpsWorks CM to create and manage AWS OpsWorks for Chef Automate and AWS OpsWorks for Puppet Enterprise servers, and add or remove nodes for the servers to manage.

Glossary of terms

  • Server: A configuration management server that can be highly-available. The configuration management server runs on an Amazon Elastic Compute Cloud (EC2) instance, and may use various other AWS services, such as Amazon Relational Database Service (RDS) and Elastic Load Balancing. A server is a generic abstraction over the configuration manager that you want to use, much like Amazon RDS. In AWS OpsWorks CM, you do not start or stop servers. After you create servers, they continue to run until they are deleted.

  • Engine: The engine is the specific configuration manager that you want to use. Valid values in this release include ChefAutomate and Puppet.

  • Backup: This is an application-level backup of the data that the configuration manager stores. AWS OpsWorks CM creates an S3 bucket for backups when you launch the first server. A backup maintains a snapshot of a server's configuration-related attributes at the time the backup starts.

  • Events: Events are always related to a server. Events are written during server creation, when health checks run, when backups are created, when system maintenance is performed, etc. When you delete a server, the server's events are also deleted.

  • Account attributes: Every account has attributes that are assigned in the AWS OpsWorks CM database. These attributes store information about configuration limits (servers, backups, etc.) and your customer account.

Endpoints

AWS OpsWorks CM supports the following endpoints, all HTTPS. You must connect to one of the following endpoints. Your servers can only be accessed or managed within the endpoint in which they are created.

  • opsworks-cm.us-east-1.amazonaws.com

  • opsworks-cm.us-east-2.amazonaws.com

  • opsworks-cm.us-west-1.amazonaws.com

  • opsworks-cm.us-west-2.amazonaws.com

  • opsworks-cm.ap-northeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-1.amazonaws.com

  • opsworks-cm.ap-southeast-2.amazonaws.com

  • opsworks-cm.eu-central-1.amazonaws.com

  • opsworks-cm.eu-west-1.amazonaws.com

Throttling limits

All API operations allow for five requests per second with a burst of 10 requests per second.

" +} diff -Nru python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/opsworkscm/2016-11-01/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/opsworkscm/2016-11-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,25 @@ +{ + "version": 2, + "waiters": { + "NodeAssociated": { + "delay": 15, + "maxAttempts": 15, + "operation": "DescribeNodeAssociationStatus", + "description": "Wait until node is associated or disassociated.", + "acceptors": [ + { + "expected": "SUCCESS", + "state": "success", + "matcher": "path", + "argument": "NodeAssociationStatus" + }, + { + "expected": "FAILED", + "state": "failure", + "matcher": "path", + "argument": "NodeAssociationStatus" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/organizations/2016-11-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/examples-1.json --- python-botocore-1.4.70/botocore/data/organizations/2016-11-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1409 @@ +{ + "version": "1.0", + "examples": { + "AcceptHandshake": [ + { + "input": { + "HandshakeId": "h-examplehandshakeid111" + }, + "output": { + "Handshake": { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "20170228T1215Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "juan@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "20170214T1215Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@amazon.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Org Master Account" + }, + { + "Type": "ORGANIZATION_FEATURE_SET", + "Value": "ALL" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "ACCOUNT", + "Value": "222222222222" + } + ], + "State": "ACCEPTED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Bill is the owner of an organization, and he invites Juan's account (222222222222) to join his organization. The following example shows Juan's account accepting the handshake and thus agreeing to the invitation.", + "id": "to-accept-a-handshake-from-another-account-1472500561150", + "title": "To accept a handshake from another account" + } + ], + "AttachPolicy": [ + { + "input": { + "PolicyId": "p-examplepolicyid111", + "TargetId": "ou-examplerootid111-exampleouid111" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to attach a service control policy (SCP) to an OU:\n", + "id": "to-attach-a-policy-to-an-ou", + "title": "To attach a policy to an OU" + }, + { + "input": { + "PolicyId": "p-examplepolicyid111", + "TargetId": "333333333333" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to attach a service control policy (SCP) to an account:\n", + "id": "to-attach-a-policy-to-an-account", + "title": "To attach a policy to an account" + } + ], + "CancelHandshake": [ + { + "input": { + "HandshakeId": "h-examplehandshakeid111" + }, + "output": { + "Handshake": { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "20170228T1215Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "susan@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "20170214T1215Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@example.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Master Account" + }, + { + "Type": "ORGANIZATION_FEATURE_SET", + "Value": "CONSOLIDATED_BILLING" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "ACCOUNT", + "Value": "222222222222" + }, + { + "Type": "NOTES", + "Value": "This is a request for Susan's account to join Bob's organization." + } + ], + "State": "CANCELED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Bill previously sent an invitation to Susan's account to join his organization. He changes his mind and decides to cancel the invitation before Susan accepts it. The following example shows Bill's cancellation:\n", + "id": "to-cancel-a-handshake-sent-to-a-member-account-1472501320506", + "title": "To cancel a handshake sent to a member account" + } + ], + "CreateAccount": [ + { + "input": { + "AccountName": "Production Account", + "Email": "susan@example.com" + }, + "output": { + "CreateAccountStatus": { + "Id": "car-examplecreateaccountrequestid111", + "State": "IN_PROGRESS" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The owner of an organization creates a member account in the organization. The following example shows that when the organization owner creates the member account, the account is preconfigured with the name \"Production Account\" and an owner email address of susan@example.com. An IAM role is automatically created using the default name because the roleName parameter is not used. AWS Organizations sends Susan a \"Welcome to AWS\" email:\n\n", + "id": "to-create-a-new-account-that-is-automatically-part-of-the-organization-1472501463507", + "title": "To create a new account that is automatically part of the organization" + } + ], + "CreateOrganization": [ + { + "input": { + }, + "output": { + "Organization": { + "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid", + "AvailablePolicyTypes": [ + { + "Status": "ENABLED", + "Type": "SERVICE_CONTROL_POLICY" + } + ], + "FeatureSet": "ALL", + "Id": "o-exampleorgid", + "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", + "MasterAccountEmail": "bill@example.com", + "MasterAccountId": "111111111111" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Bill wants to create an organization using credentials from account 111111111111. The following example shows that the account becomes the master account in the new organization. Because he does not specify a feature set, the new organization defaults to all features enabled and service control policies enabled on the root:\n\n", + "id": "to-create-a-new-organization-with-all-features enabled", + "title": "To create a new organization with all features enabled" + }, + { + "input": { + "FeatureSet": "CONSOLIDATED_BILLING" + }, + "output": { + "Organization": { + "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid", + "AvailablePolicyTypes": [ + + ], + "FeatureSet": "CONSOLIDATED_BILLING", + "Id": "o-exampleorgid", + "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", + "MasterAccountEmail": "bill@example.com", + "MasterAccountId": "111111111111" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "In the following example, Bill creates an organization using credentials from account 111111111111, and configures the organization to support only the consolidated billing feature set:\n\n", + "id": "to-create-a-new-organization-with-consolidated-billing-features-only", + "title": "To create a new organization with consolidated billing features only" + } + ], + "CreateOrganizationalUnit": [ + { + "input": { + "Name": "AccountingOU", + "ParentId": "r-examplerootid111" + }, + "output": { + "OrganizationalUnit": { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", + "Id": "ou-examplerootid111-exampleouid111", + "Name": "AccountingOU" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create an OU that is named AccountingOU. The new OU is directly under the root.:\n\n", + "id": "to-create-a-new-organizational-unit", + "title": "To create a new organization unit" + } + ], + "CreatePolicy": [ + { + "input": { + "Content": "{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":{\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":\\\"s3:*\\\"}}", + "Description": "Enables admins of attached accounts to delegate all S3 permissions", + "Name": "AllowAllS3Actions", + "Type": "SERVICE_CONTROL_POLICY" + }, + "output": { + "Policy": { + "Content": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Action\":\"s3:*\"}}", + "PolicySummary": { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "Description": "Allows delegation of all S3 actions", + "Name": "AllowAllS3Actions", + "Type": "SERVICE_CONTROL_POLICY" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a service control policy (SCP) that is named AllowAllS3Actions. The JSON string in the content parameter specifies the content in the policy. The parameter string is escaped with backslashes to ensure that the embedded double quotes in the JSON policy are treated as literals in the parameter, which itself is surrounded by double quotes:\n\n", + "id": "to-create-a-service-control-policy", + "title": "To create a service control policy" + } + ], + "DeclineHandshake": [ + { + "input": { + "HandshakeId": "h-examplehandshakeid111" + }, + "output": { + "Handshake": { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2016-12-15T19:27:58Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "222222222222", + "Type": "ACCOUNT" + }, + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + } + ], + "RequestedTimestamp": "2016-11-30T19:27:58Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@example.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Master Account" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "ACCOUNT", + "Value": "222222222222" + }, + { + "Type": "NOTES", + "Value": "This is an invitation to Susan's account to join the Bill's organization." + } + ], + "State": "DECLINED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows Susan declining an invitation to join Bill's organization. The DeclineHandshake operation returns a handshake object, showing that the state is now DECLINED:", + "id": "to-decline-a-handshake-sent-from-the-master-account-1472502666967", + "title": "To decline a handshake sent from the master account" + } + ], + "DeleteOrganizationalUnit": [ + { + "input": { + "OrganizationalUnitId": "ou-examplerootid111-exampleouid111" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete an OU. The example assumes that you previously removed all accounts and other OUs from the OU:\n\n", + "id": "to-delete-an-organizational-unit", + "title": "To delete an organization unit" + } + ], + "DeletePolicy": [ + { + "input": { + "PolicyId": "p-examplepolicyid111" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete a policy from an organization. The example assumes that you previously detached the policy from all entities:\n\n", + "id": "to-delete-a-policy", + "title": "To delete a policy" + } + ], + "DescribeAccount": [ + { + "input": { + "AccountId": "555555555555" + }, + "output": { + "Account": { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/555555555555", + "Email": "anika@example.com", + "Id": "555555555555", + "Name": "Beta Account" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows a user in the master account (111111111111) asking for details about account 555555555555:", + "id": "to-get-the-details-about-an-account-1472503166868", + "title": "To get the details about an account" + } + ], + "DescribeCreateAccountStatus": [ + { + "input": { + "CreateAccountRequestId": "car-exampleaccountcreationrequestid" + }, + "output": { + "CreateAccountStatus": { + "AccountId": "333333333333", + "Id": "car-exampleaccountcreationrequestid", + "State": "SUCCEEDED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request the status about a previous request to create an account in an organization. This operation can be called only by a principal from the organization's master account. In the example, the specified \"createAccountRequestId\" comes from the response of the original call to \"CreateAccount\":", + "id": "to-get-information-about-a-request-to-create-an-account-1472503727223", + "title": "To get information about a request to create an account" + } + ], + "DescribeHandshake": [ + { + "input": { + "HandshakeId": "h-examplehandshakeid111" + }, + "output": { + "Handshake": { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2016-11-30T17:24:58.046Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "333333333333", + "Type": "ACCOUNT" + } + ], + "RequestedTimestamp": "2016-11-30T17:24:58.046Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@example.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Master Account" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "ACCOUNT", + "Value": "333333333333" + } + ], + "State": "OPEN" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to request details about a handshake. The handshake ID comes either from the original call to \"InviteAccountToOrganization\", or from a call to \"ListHandshakesForAccount\" or \"ListHandshakesForOrganization\":", + "id": "to-get-information-about-a-handshake-1472503400505", + "title": "To get information about a handshake" + } + ], + "DescribeOrganization": [ + { + "output": { + "Organization": { + "Arn": "arn:aws:organizations::111111111111:organization/o-exampleorgid", + "AvailablePolicyTypes": [ + { + "Status": "ENABLED", + "Type": "SERVICE_CONTROL_POLICY" + } + ], + "FeatureSet": "ALL", + "Id": "o-exampleorgid", + "MasterAccountArn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", + "MasterAccountEmail": "bill@example.com" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request information about the current user's organization:/n/n", + "id": "to-get-information-about-an-organization-1472503400505", + "title": "To get information about an organization" + } + ], + "DescribeOrganizationalUnit": [ + { + "input": { + "OrganizationalUnitId": "ou-examplerootid111-exampleouid111" + }, + "output": { + "OrganizationalUnit": { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", + "Id": "ou-examplerootid111-exampleouid111", + "Name": "Accounting Group" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request details about an OU:/n/n", + "id": "to-get-information-about-an-organizational-unit", + "title": "To get information about an organizational unit" + } + ], + "DescribePolicy": [ + { + "input": { + "PolicyId": "p-examplepolicyid111" + }, + "output": { + "Policy": { + "Content": "{\\n \\\"Version\\\": \\\"2012-10-17\\\",\\n \\\"Statement\\\": [\\n {\\n \\\"Effect\\\": \\\"Allow\\\",\\n \\\"Action\\\": \\\"*\\\",\\n \\\"Resource\\\": \\\"*\\\"\\n }\\n ]\\n}", + "PolicySummary": { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "AwsManaged": false, + "Description": "Enables admins to delegate S3 permissions", + "Id": "p-examplepolicyid111", + "Name": "AllowAllS3Actions", + "Type": "SERVICE_CONTROL_POLICY" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request information about a policy:/n/n", + "id": "to-get-information-about-a-policy", + "title": "To get information about a policy" + } + ], + "DetachPolicy": [ + { + "input": { + "PolicyId": "p-examplepolicyid111", + "TargetId": "ou-examplerootid111-exampleouid111" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to detach a policy from an OU:/n/n", + "id": "to-detach-a-policy-from-a-root-ou-or-account", + "title": "To detach a policy from a root, OU, or account" + } + ], + "DisablePolicyType": [ + { + "input": { + "PolicyType": "SERVICE_CONTROL_POLICY", + "RootId": "r-examplerootid111" + }, + "output": { + "Root": { + "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", + "Id": "r-examplerootid111", + "Name": "Root", + "PolicyTypes": [ + + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to disable the service control policy (SCP) policy type in a root. The response shows that the PolicyTypes response element no longer includes SERVICE_CONTROL_POLICY:/n/n", + "id": "to-disable-a-policy-type-in-a-root", + "title": "To disable a policy type in a root" + } + ], + "EnableAllFeatures": [ + { + "input": { + }, + "output": { + "Handshake": { + "Action": "ENABLE_ALL_FEATURES", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/enable_all_features/h-examplehandshakeid111", + "ExpirationTimestamp": "2017-02-28T09:35:40.05Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + } + ], + "RequestedTimestamp": "2017-02-13T09:35:40.05Z", + "Resources": [ + { + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + } + ], + "State": "REQUESTED" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows the administrator asking all the invited accounts in the organization to approve enabling all features in the organization. AWS Organizations sends an email to the address that is registered with every invited member account asking the owner to approve the change by accepting the handshake that is sent. After all invited member accounts accept the handshake, the organization administrator can finalize the change to enable all features, and those with appropriate permissions can create policies and apply them to roots, OUs, and accounts:/n/n", + "id": "to-enable-all-features-in-an-organization", + "title": "To enable all features in an organization" + } + ], + "EnablePolicyType": [ + { + "input": { + "PolicyType": "SERVICE_CONTROL_POLICY", + "RootId": "r-examplerootid111" + }, + "output": { + "Root": { + "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", + "Id": "r-examplerootid111", + "Name": "Root", + "PolicyTypes": [ + { + "Status": "ENABLED", + "Type": "SERVICE_CONTROL_POLICY" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to enable the service control policy (SCP) policy type in a root. The output shows a root object with a PolicyTypes response element showing that SCPs are now enabled:/n/n", + "id": "to-enable-a-policy-type-in-a-root", + "title": "To enable a policy type in a root" + } + ], + "InviteAccountToOrganization": [ + { + "input": { + "Notes": "This is a request for Juan's account to join Bill's organization", + "Target": { + "Id": "juan@example.com", + "Type": "EMAIL" + } + }, + "output": { + "Handshake": { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2017-02-16T09:36:05.02Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "juan@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "2017-02-01T09:36:05.02Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@amazon.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Org Master Account" + }, + { + "Type": "ORGANIZATION_FEATURE_SET", + "Value": "FULL" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "EMAIL", + "Value": "juan@example.com" + } + ], + "State": "OPEN" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows the admin of the master account owned by bill@example.com inviting the account owned by juan@example.com to join an organization.", + "id": "to-invite-an-account-to-join-an-organization-1472508594110", + "title": "To invite an account to join an organization" + } + ], + "LeaveOrganization": [ + { + "comments": { + "input": { + }, + "output": { + } + }, + "description": "TThe following example shows how to remove your member account from an organization:", + "id": "to-leave-an-organization-as-a-member-account-1472508784736", + "title": "To leave an organization as a member account" + } + ], + "ListAccounts": [ + { + "input": { + }, + "output": { + "Accounts": [ + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/111111111111", + "Email": "bill@example.com", + "Id": "111111111111", + "JoinedMethod": "INVITED", + "JoinedTimestamp": "20161215T193015Z", + "Name": "Master Account", + "Status": "ACTIVE" + }, + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/222222222222", + "Email": "alice@example.com", + "Id": "222222222222", + "JoinedMethod": "INVITED", + "JoinedTimestamp": "20161215T210221Z", + "Name": "Developer Account", + "Status": "ACTIVE" + }, + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333", + "Email": "juan@example.com", + "Id": "333333333333", + "JoinedMethod": "INVITED", + "JoinedTimestamp": "20161215T210347Z", + "Name": "Test Account", + "Status": "ACTIVE" + }, + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/444444444444", + "Email": "anika@example.com", + "Id": "444444444444", + "JoinedMethod": "INVITED", + "JoinedTimestamp": "20161215T210332Z", + "Name": "Production Account", + "Status": "ACTIVE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to request a list of the accounts in an organization:", + "id": "to-retrieve-a-list-of-all-of-the-accounts-in-an-organization-1472509590974", + "title": "To retrieve a list of all of the accounts in an organization" + } + ], + "ListAccountsForParent": [ + { + "input": { + "ParentId": "ou-examplerootid111-exampleouid111" + }, + "output": { + "Accounts": [ + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333", + "Email": "juan@example.com", + "Id": "333333333333", + "JoinedMethod": "INVITED", + "JoinedTimestamp": 1481835795.536, + "Name": "Development Account", + "Status": "ACTIVE" + }, + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/444444444444", + "Email": "anika@example.com", + "Id": "444444444444", + "JoinedMethod": "INVITED", + "JoinedTimestamp": 1481835812.143, + "Name": "Test Account", + "Status": "ACTIVE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request a list of the accounts in an OU:/n/n", + "id": "to-retrieve-a-list-of-all-of-the-accounts-in-a-root-or-ou-1472509590974", + "title": "To retrieve a list of all of the accounts in a root or OU" + } + ], + "ListChildren": [ + { + "input": { + "ChildType": "ORGANIZATIONAL_UNIT", + "ParentId": "ou-examplerootid111-exampleouid111" + }, + "output": { + "Children": [ + { + "Id": "ou-examplerootid111-exampleouid111", + "Type": "ORGANIZATIONAL_UNIT" + }, + { + "Id": "ou-examplerootid111-exampleouid222", + "Type": "ORGANIZATIONAL_UNIT" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request a list of the child OUs in a parent root or OU:/n/n", + "id": "to-retrieve-a-list-of-all-of-the-child-accounts-and-OUs-in-a-parent-container", + "title": "To retrieve a list of all of the child accounts and OUs in a parent root or OU" + } + ], + "ListCreateAccountStatus": [ + { + "input": { + "States": [ + "SUCCEEDED" + ] + }, + "output": { + "CreateAccountStatuses": [ + { + "AccountId": "444444444444", + "AccountName": "Developer Test Account", + "CompletedTimestamp": "2017-01-15T13:45:23.6Z", + "Id": "car-exampleaccountcreationrequestid1", + "RequestedTimestamp": "2017-01-15T13:45:23.01Z", + "State": "SUCCEEDED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows a user requesting a list of only the completed account creation requests made for the current organization:", + "id": "to-get-a-list-of-completed-account-creation-requests-made-in-the-organization", + "title": "To get a list of completed account creation requests made in the organization" + }, + { + "input": { + "States": [ + "IN_PROGRESS" + ] + }, + "output": { + "CreateAccountStatuses": [ + { + "AccountName": "Production Account", + "Id": "car-exampleaccountcreationrequestid2", + "RequestedTimestamp": "2017-01-15T13:45:23.01Z", + "State": "IN_PROGRESS" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows a user requesting a list of only the in-progress account creation requests made for the current organization:", + "id": "to-get-a-list-of-all-account-creation-requests-made-in-the-organization-1472509174532", + "title": "To get a list of all account creation requests made in the organization" + } + ], + "ListHandshakesForAccount": [ + { + "output": { + "Handshakes": [ + { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2017-01-28T14:35:23.3Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "juan@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "2017-01-13T14:35:23.3Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@amazon.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Org Master Account" + }, + { + "Type": "ORGANIZATION_FEATURE_SET", + "Value": "FULL" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "EMAIL", + "Value": "juan@example.com" + } + ], + "State": "OPEN" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to get a list of handshakes that are associated with the account of the credentials used to call the operation:", + "id": "to-retrieve-a-list-of-the-handshakes-sent-to-an-account-1472510214747", + "title": "To retrieve a list of the handshakes sent to an account" + } + ], + "ListHandshakesForOrganization": [ + { + "output": { + "Handshakes": [ + { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2017-01-28T14:35:23.3Z", + "Id": "h-examplehandshakeid111", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "juan@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "2017-01-13T14:35:23.3Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@amazon.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Org Master Account" + }, + { + "Type": "ORGANIZATION_FEATURE_SET", + "Value": "FULL" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "EMAIL", + "Value": "juan@example.com" + } + ], + "State": "OPEN" + }, + { + "Action": "INVITE", + "Arn": "arn:aws:organizations::111111111111:handshake/o-exampleorgid/invite/h-examplehandshakeid111", + "ExpirationTimestamp": "2017-01-28T14:35:23.3Z", + "Id": "h-examplehandshakeid222", + "Parties": [ + { + "Id": "o-exampleorgid", + "Type": "ORGANIZATION" + }, + { + "Id": "anika@example.com", + "Type": "EMAIL" + } + ], + "RequestedTimestamp": "2017-01-13T14:35:23.3Z", + "Resources": [ + { + "Resources": [ + { + "Type": "MASTER_EMAIL", + "Value": "bill@example.com" + }, + { + "Type": "MASTER_NAME", + "Value": "Master Account" + } + ], + "Type": "ORGANIZATION", + "Value": "o-exampleorgid" + }, + { + "Type": "EMAIL", + "Value": "anika@example.com" + }, + { + "Type": "NOTES", + "Value": "This is an invitation to Anika's account to join Bill's organization." + } + ], + "State": "ACCEPTED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to get a list of handshakes associated with the current organization:", + "id": "to-retrieve-a-list-of-the-handshakes-associated-with-an-organization-1472511206653", + "title": "To retrieve a list of the handshakes associated with an organization" + } + ], + "ListOrganizationalUnitsForParent": [ + { + "input": { + "ParentId": "r-examplerootid111" + }, + "output": { + "OrganizationalUnits": [ + { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examlerootid111-exampleouid111", + "Id": "ou-examplerootid111-exampleouid111", + "Name": "Development" + }, + { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examlerootid111-exampleouid222", + "Id": "ou-examplerootid111-exampleouid222", + "Name": "Production" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get a list of OUs in a specified root:/n/n", + "id": "to-retrieve-a-list-of-all-of-the-OUs-in-a-parent-container", + "title": "To retrieve a list of all of the child OUs in a parent root or OU" + } + ], + "ListParents": [ + { + "input": { + "ChildId": "444444444444" + }, + "output": { + "Parents": [ + { + "Id": "ou-examplerootid111-exampleouid111", + "Type": "ORGANIZATIONAL_UNIT" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to list the root or OUs that contain account 444444444444:/n/n", + "id": "to-retrieve-a-list-of-all-of-the-parents-of-a-child-ou-or-account", + "title": "To retrieve a list of all of the parents of a child OU or account" + } + ], + "ListPolicies": [ + { + "input": { + "Filter": "SERVICE_CONTROL_POLICY" + }, + "output": { + "Policies": [ + { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "AwsManaged": false, + "Description": "Enables account admins to delegate permissions for any S3 actions to users and roles in their accounts.", + "Id": "p-examplepolicyid111", + "Name": "AllowAllS3Actions", + "Type": "SERVICE_CONTROL_POLICY" + }, + { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid222", + "AwsManaged": false, + "Description": "Enables account admins to delegate permissions for any EC2 actions to users and roles in their accounts.", + "Id": "p-examplepolicyid222", + "Name": "AllowAllEC2Actions", + "Type": "SERVICE_CONTROL_POLICY" + }, + { + "Arn": "arn:aws:organizations::aws:policy/service_control_policy/p-FullAWSAccess", + "AwsManaged": true, + "Description": "Allows access to every operation", + "Id": "p-FullAWSAccess", + "Name": "FullAWSAccess", + "Type": "SERVICE_CONTROL_POLICY" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get a list of service control policies (SCPs):/n/n", + "id": "to-retrieve-a-list-of--policies-in-the-organization", + "title": "To retrieve a list policies in the organization" + } + ], + "ListPoliciesForTarget": [ + { + "input": { + "Filter": "SERVICE_CONTROL_POLICY", + "TargetId": "444444444444" + }, + "output": { + "Policies": [ + { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid222", + "AwsManaged": false, + "Description": "Enables account admins to delegate permissions for any EC2 actions to users and roles in their accounts.", + "Id": "p-examplepolicyid222", + "Name": "AllowAllEC2Actions", + "Type": "SERVICE_CONTROL_POLICY" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get a list of all service control policies (SCPs) of the type specified by the Filter parameter, that are directly attached to an account. The returned list does not include policies that apply to the account because of inheritance from its location in an OU hierarchy:/n/n", + "id": "to-retrieve-a-list-of-policies-attached-to-a-root-ou-or-account", + "title": "To retrieve a list policies attached to a root, OU, or account" + } + ], + "ListRoots": [ + { + "input": { + }, + "output": { + "Roots": [ + { + "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", + "Id": "r-examplerootid111", + "Name": "Root", + "PolicyTypes": [ + { + "Status": "ENABLED", + "Type": "SERVICE_CONTROL_POLICY" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get the list of the roots in the current organization:/n/n", + "id": "to-retrieve-a-list-of-roots-in-the-organization", + "title": "To retrieve a list of roots in the organization" + } + ], + "ListTargetsForPolicy": [ + { + "input": { + "PolicyId": "p-FullAWSAccess" + }, + "output": { + "Targets": [ + { + "Arn": "arn:aws:organizations::111111111111:root/o-exampleorgid/r-examplerootid111", + "Name": "Root", + "TargetId": "r-examplerootid111", + "Type": "ROOT" + }, + { + "Arn": "arn:aws:organizations::111111111111:account/o-exampleorgid/333333333333;", + "Name": "Developer Test Account", + "TargetId": "333333333333", + "Type": "ACCOUNT" + }, + { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", + "Name": "Accounting", + "TargetId": "ou-examplerootid111-exampleouid111", + "Type": "ORGANIZATIONAL_UNIT" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get the list of roots, OUs, and accounts to which the specified policy is attached:/n/n", + "id": "to-retrieve-a-list-of-roots-ous-and-accounts-to-which-a-policy-is-attached", + "title": "To retrieve a list of roots, OUs, and accounts to which a policy is attached" + } + ], + "MoveAccount": [ + { + "input": { + "AccountId": "333333333333", + "DestinationParentId": "ou-examplerootid111-exampleouid111", + "SourceParentId": "r-examplerootid111" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to move a member account from the root to an OU:/n/n", + "id": "to-move-an-ou-or-account-to-another-ou-or-the-root", + "title": "To move an OU or account to another OU or the root" + } + ], + "RemoveAccountFromOrganization": [ + { + "input": { + "AccountId": "333333333333" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to remove an account from an organization:", + "id": "to-remove-an-account-from-an-organization-as-the-master-account", + "title": "To remove an account from an organization as the master account" + } + ], + "UpdateOrganizationalUnit": [ + { + "input": { + "Name": "AccountingOU", + "OrganizationalUnitId": "ou-examplerootid111-exampleouid111" + }, + "output": { + "OrganizationalUnit": { + "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorgid/ou-examplerootid111-exampleouid111", + "Id": "ou-examplerootid111-exampleouid111", + "Name": "AccountingOU" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to rename an OU. The output confirms the new name:/n/n", + "id": "to-rename-an-organizational-unit", + "title": "To rename an organizational unit" + } + ], + "UpdatePolicy": [ + { + "input": { + "Description": "This description replaces the original.", + "Name": "Renamed-Policy", + "PolicyId": "p-examplepolicyid111" + }, + "output": { + "Policy": { + "Content": "{ \"Version\": \"2012-10-17\", \"Statement\": { \"Effect\": \"Allow\", \"Action\": \"ec2:*\", \"Resource\": \"*\" } }", + "PolicySummary": { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "AwsManaged": false, + "Description": "This description replaces the original.", + "Id": "p-examplepolicyid111", + "Name": "Renamed-Policy", + "Type": "SERVICE_CONTROL_POLICY" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to rename a policy and give it a new description and new content. The output confirms the new name and description text:/n/n", + "id": "to-update-the-details-of-a-policy", + "title": "To update the details of a policy" + }, + { + "input": { + "Content": "{ \\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": {\\\"Effect\\\": \\\"Allow\\\", \\\"Action\\\": \\\"s3:*\\\", \\\"Resource\\\": \\\"*\\\" } }", + "PolicyId": "p-examplepolicyid111" + }, + "output": { + "Policy": { + "Content": "{ \\\"Version\\\": \\\"2012-10-17\\\", \\\"Statement\\\": { \\\"Effect\\\": \\\"Allow\\\", \\\"Action\\\": \\\"s3:*\\\", \\\"Resource\\\": \\\"*\\\" } }", + "PolicySummary": { + "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", + "AwsManaged": false, + "Description": "This description replaces the original.", + "Id": "p-examplepolicyid111", + "Name": "Renamed-Policy", + "Type": "SERVICE_CONTROL_POLICY" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to replace the JSON text of the SCP from the preceding example with a new JSON policy text string that allows S3 actions instead of EC2 actions:/n/n", + "id": "to-update-the-content-of-a-policy", + "title": "To update the content of a policy" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/organizations/2016-11-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/organizations/2016-11-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,99 @@ +{ + "pagination": { + "ListAccounts": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Accounts" + }, + "ListAccountsForParent": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Accounts" + }, + "ListChildren": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Children" + }, + "ListCreateAccountStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "CreateAccountStatuses" + }, + "ListHandshakesForAccount": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Handshakes" + }, + "ListHandshakesForOrganization": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Handshakes" + }, + "ListOrganizationalUnitsForParent": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "OrganizationalUnits" + }, + "ListParents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Parents" + }, + "ListPolicies": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Policies" + }, + "ListPoliciesForTarget": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Policies" + }, + "ListRoots": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Roots" + }, + "ListTargetsForPolicy": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Targets" + }, + "ListAWSServiceAccessForOrganization": { + "result_key": "EnabledServicePrincipals", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTagsForResource": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Tags" + }, + "ListDelegatedAdministrators": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DelegatedAdministrators" + }, + "ListDelegatedServicesForAccount": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DelegatedServices" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/organizations/2016-11-28/service-2.json python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/service-2.json --- python-botocore-1.4.70/botocore/data/organizations/2016-11-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/organizations/2016-11-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3399 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"organizations", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Organizations", + "serviceFullName":"AWS Organizations", + "serviceId":"Organizations", + "signatureVersion":"v4", + "targetPrefix":"AWSOrganizationsV20161128", + "uid":"organizations-2016-11-28" + }, + "operations":{ + "AcceptHandshake":{ + "name":"AcceptHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptHandshakeRequest"}, + "output":{"shape":"AcceptHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"AccessDeniedForDependencyException"} + ], + "documentation":"

Sends a response to the originator of a handshake agreeing to the action proposed by the handshake request.

This operation can be called only by the following principals when they also have the relevant IAM permissions:

  • Invitation to join or Approve all features request handshakes: only a principal from the member account.

    The user who calls the API for an invitation to join must have the organizations:AcceptHandshake permission. If you enabled all features in the organization, the user must also have the iam:CreateServiceLinkedRole permission so that AWS Organizations can create the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

  • Enable all features final confirmation handshake: only a principal from the master account.

    For more information about invitations, see Inviting an AWS Account to Join Your Organization in the AWS Organizations User Guide. For more information about requests to enable all features in the organization, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

After you accept a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" + }, + "AttachPolicy":{ + "name":"AttachPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachPolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyAttachmentException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"PolicyTypeNotEnabledException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"}, + {"shape":"PolicyChangesInProgressException"} + ], + "documentation":"

Attaches a policy to a root, an organizational unit (OU), or an individual account. How the policy affects accounts depends on the type of policy:

  • Service control policy (SCP) - An SCP specifies what permissions can be delegated to users in affected member accounts. The scope of influence for a policy depends on what you attach the policy to:

    • If you attach an SCP to a root, it affects all accounts in the organization.

    • If you attach an SCP to an OU, it affects all accounts in that OU and in any child OUs.

    • If you attach the policy directly to an account, it affects only that account.

    SCPs are JSON policies that specify the maximum permissions for an organization or organizational unit (OU). You can attach one SCP to a higher level root or OU, and a different SCP to a child OU or to an account. The child policy can further restrict only the permissions that pass through the parent filter and are available to the child. An SCP that is attached to a child can't grant a permission that the parent hasn't already granted. For example, imagine that the parent SCP allows permissions A, B, C, D, and E. The child SCP allows C, D, E, F, and G. The result is that the accounts affected by the child SCP are allowed to use only C, D, and E. They can't use A or B because the child OU filtered them out. They also can't use F and G because the parent OU filtered them out. They can't be granted back by the child SCP; child SCPs can only filter the permissions they receive from the parent SCP.

    AWS Organizations attaches a default SCP named \"FullAWSAccess to every root, OU, and account. This default SCP allows all services and actions, enabling any new child OU or account to inherit the permissions of the parent root or OU. If you detach the default policy, you must replace it with a policy that specifies the permissions that you want to allow in that OU or account.

    For more information about how AWS Organizations policies permissions work, see Using Service Control Policies in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "CancelHandshake":{ + "name":"CancelHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelHandshakeRequest"}, + "output":{"shape":"CancelHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Cancels a handshake. Canceling a handshake sets the handshake state to CANCELED.

This operation can be called only from the account that originated the handshake. The recipient of the handshake can't cancel it, but can use DeclineHandshake instead. After a handshake is canceled, the recipient can no longer respond to that handshake.

After you cancel a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" + }, + "CreateAccount":{ + "name":"CreateAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAccountRequest"}, + "output":{"shape":"CreateAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Creates an AWS account that is automatically a member of the organization whose credentials made the request. This is an asynchronous request that AWS performs in the background. Because CreateAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:

The user who calls the API to create an account must have the organizations:CreateAccount permission. If you enabled all features in the organization, AWS Organizations creates the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

AWS Organizations preconfigures the new member account with a role (named OrganizationAccountAccessRole by default) that grants users in the master account administrator permissions in the new member account. Principals in the master account can assume the role. AWS Organizations clones the company name and address information for the new account from the organization's master account.

This operation can be called only from the organization's master account.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support.

  • If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support.

  • Using CreateAccount to create multiple temporary accounts isn't recommended. You can only close an account from the Billing and Cost Management Console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools.

" + }, + "CreateGovCloudAccount":{ + "name":"CreateGovCloudAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGovCloudAccountRequest"}, + "output":{"shape":"CreateGovCloudAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

This action is available if all of the following are true:

  • You're authorized to create accounts in the AWS GovCloud (US) Region. For more information on the AWS GovCloud (US) Region, see the AWS GovCloud User Guide.

  • You already have an account in the AWS GovCloud (US) Region that is associated with your master account in the commercial Region.

  • You call this action from the master account of your organization in the commercial Region.

  • You have the organizations:CreateGovCloudAccount permission. AWS Organizations creates the required service-linked role named AWSServiceRoleForOrganizations. For more information, see AWS Organizations and Service-Linked Roles in the AWS Organizations User Guide.

AWS automatically enables AWS CloudTrail for AWS GovCloud (US) accounts, but you should also do the following:

  • Verify that AWS CloudTrail is enabled to store logs.

  • Create an S3 bucket for AWS CloudTrail log storage.

    For more information, see Verifying AWS CloudTrail Is Enabled in the AWS GovCloud User Guide.

You call this action from the master account of your organization in the commercial Region to create a standalone AWS account in the AWS GovCloud (US) Region. After the account is created, the master account of an organization in the AWS GovCloud (US) Region can invite it to that organization. For more information on inviting standalone accounts in the AWS GovCloud (US) to join an organization, see AWS Organizations in the AWS GovCloud User Guide.

Calling CreateGovCloudAccount is an asynchronous request that AWS performs in the background. Because CreateGovCloudAccount operates asynchronously, it can return a successful completion message even though account initialization might still be in progress. You might need to wait a few minutes before you can successfully access the account. To check the status of the request, do one of the following:

When you call the CreateGovCloudAccount action, you create two accounts: a standalone account in the AWS GovCloud (US) Region and an associated account in the commercial Region for billing and support purposes. The account in the commercial Region is automatically a member of the organization whose credentials made the request. Both accounts are associated with the same email address.

A role is created in the new account in the commercial Region that allows the master account in the organization in the commercial Region to assume it. An AWS GovCloud (US) account is then created and associated with the commercial account that you just created. A role is created in the new AWS GovCloud (US) account that can be assumed by the AWS GovCloud (US) account that is associated with the master account of the commercial organization. For more information and to view a diagram that explains how account access works, see AWS Organizations in the AWS GovCloud User Guide.

For more information about creating accounts, see Creating an AWS Account in Your Organization in the AWS Organizations User Guide.

  • When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required for the account to operate as a standalone account, such as a payment method and signing the end user license agreement (EULA) is not automatically collected. If you must remove an account from your organization later, you can do so only after you provide the missing information. Follow the steps at To leave an organization as a member account in the AWS Organizations User Guide.

  • If you get an exception that indicates that you exceeded your account limits for the organization, contact AWS Support.

  • If you get an exception that indicates that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists, contact AWS Support.

  • Using CreateGovCloudAccount to create multiple temporary accounts isn't recommended. You can only close an account from the AWS Billing and Cost Management console, and you must be signed in as the root user. For information on the requirements and process for closing an account, see Closing an AWS Account in the AWS Organizations User Guide.

When you create a member account with this operation, you can choose whether to create the account with the IAM User and Role Access to Billing Information switch enabled. If you enable it, IAM users and roles that have appropriate permissions can view billing information for the account. If you disable it, only the account root user can access billing information. For information about how to disable this switch for an account, see Granting Access to Your Billing Information and Tools.

" + }, + "CreateOrganization":{ + "name":"CreateOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOrganizationRequest"}, + "output":{"shape":"CreateOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AlreadyInOrganizationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"AccessDeniedForDependencyException"} + ], + "documentation":"

Creates an AWS organization. The account whose user is calling the CreateOrganization operation automatically becomes the master account of the new organization.

This operation must be called using credentials from the account that is to become the new organization's master account. The principal must also have the relevant IAM permissions.

By default (or if you set the FeatureSet parameter to ALL), the new organization is created with all features enabled and service control policies automatically enabled in the root. If you instead choose to create the organization supporting only the consolidated billing features by setting the FeatureSet parameter to CONSOLIDATED_BILLING\", no policy types are enabled by default, and you can't use organization policies

" + }, + "CreateOrganizationalUnit":{ + "name":"CreateOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOrganizationalUnitRequest"}, + "output":{"shape":"CreateOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicateOrganizationalUnitException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Creates an organizational unit (OU) within a root or parent OU. An OU is a container for accounts that enables you to organize your accounts to apply policies according to your business requirements. The number of levels deep that you can nest OUs is dependent upon the policy types enabled for that root. For service control policies, the limit is five.

For more information about OUs, see Managing Organizational Units in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "CreatePolicy":{ + "name":"CreatePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePolicyRequest"}, + "output":{"shape":"CreatePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyException"}, + {"shape":"InvalidInputException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"PolicyTypeNotAvailableForOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Creates a policy of a specified type that you can attach to a root, an organizational unit (OU), or an individual AWS account.

For more information about policies and their use, see Managing Organization Policies.

This operation can be called only from the organization's master account.

" + }, + "DeclineHandshake":{ + "name":"DeclineHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeclineHandshakeRequest"}, + "output":{"shape":"DeclineHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidHandshakeTransitionException"}, + {"shape":"HandshakeAlreadyInStateException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Declines a handshake request. This sets the handshake state to DECLINED and effectively deactivates the request.

This operation can be called only from the account that received the handshake. The originator of the handshake can use CancelHandshake instead. The originator can't reactivate a declined request, but can reinitiate the process with a new handshake request.

After you decline a handshake, it continues to appear in the results of relevant APIs for only 30 days. After that, it's deleted.

" + }, + "DeleteOrganization":{ + "name":"DeleteOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationNotEmptyException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts.

" + }, + "DeleteOrganizationalUnit":{ + "name":"DeleteOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteOrganizationalUnitRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotEmptyException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Deletes an organizational unit (OU) from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

" + }, + "DeletePolicy":{ + "name":"DeletePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyInUseException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

This operation can be called only from the organization's master account.

" + }, + "DeregisterDelegatedAdministrator":{ + "name":"DeregisterDelegatedAdministrator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterDelegatedAdministratorRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AccountNotRegisteredException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Removes the specified member AWS account as a delegated administrator for the specified AWS service.

You can run this action only for AWS services that support this feature. For a current list of services that support it, see the column Supports Delegated Administrator in the table at AWS Services that you can use with AWS Organizations in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "DescribeAccount":{ + "name":"DescribeAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountRequest"}, + "output":{"shape":"DescribeAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves AWS Organizations-related information about the specified account.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "DescribeCreateAccountStatus":{ + "name":"DescribeCreateAccountStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCreateAccountStatusRequest"}, + "output":{"shape":"DescribeCreateAccountStatusResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"CreateAccountStatusNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Retrieves the current status of an asynchronous request to create an account.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "DescribeEffectivePolicy":{ + "name":"DescribeEffectivePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEffectivePolicyRequest"}, + "output":{"shape":"DescribeEffectivePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"EffectivePolicyNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Returns the contents of the effective tag policy for the account. The effective tag policy is the aggregation of any tag policies the account inherits, plus any policy directly that is attached to the account.

This action returns information on tag policies only.

For more information on policy inheritance, see How Policy Inheritance Works in the AWS Organizations User Guide.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "DescribeHandshake":{ + "name":"DescribeHandshake", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHandshakeRequest"}, + "output":{"shape":"DescribeHandshakeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about a previously requested handshake. The handshake ID comes from the response to the original InviteAccountToOrganization operation that generated the handshake.

You can access handshakes that are ACCEPTED, DECLINED, or CANCELED for only 30 days after they change to that state. They're then deleted and no longer accessible.

This operation can be called from any account in the organization.

" + }, + "DescribeOrganization":{ + "name":"DescribeOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{"shape":"DescribeOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about the organization that the user's account belongs to.

This operation can be called from any account in the organization.

Even if a policy type is shown as available in the organization, you can disable it separately at the root level with DisablePolicyType. Use ListRoots to see the status of policy types for a specified root.

" + }, + "DescribeOrganizationalUnit":{ + "name":"DescribeOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrganizationalUnitRequest"}, + "output":{"shape":"DescribeOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Retrieves information about an organizational unit (OU).

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "DescribePolicy":{ + "name":"DescribePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePolicyRequest"}, + "output":{"shape":"DescribePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Retrieves information about a policy.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "DetachPolicy":{ + "name":"DetachPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachPolicyRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotAttachedException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"}, + {"shape":"PolicyChangesInProgressException"} + ], + "documentation":"

Detaches a policy from a target root, organizational unit (OU), or account. If the policy being detached is a service control policy (SCP), the changes to permissions for IAM users and roles in affected accounts are immediate.

Note: Every root, OU, and account must have at least one SCP attached. If you want to replace the default FullAWSAccess policy with one that limits the permissions that can be delegated, you must attach the replacement policy before you can remove the default one. This is the authorization strategy of an \"allow list\". If you instead attach a second SCP and leave the FullAWSAccess SCP still attached, and specify \"Effect\": \"Deny\" in the second SCP to override the \"Effect\": \"Allow\" in the FullAWSAccess policy (or any other attached SCP), you're using the authorization strategy of a \"deny list\".

This operation can be called only from the organization's master account.

" + }, + "DisableAWSServiceAccess":{ + "name":"DisableAWSServiceAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableAWSServiceAccessRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Disables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you disable integration, the specified service no longer can create a service-linked role in new accounts in your organization. This means the service can't perform operations on your behalf on any new accounts in your organization. The service can still perform operations in older accounts until the service completes its clean-up from AWS Organizations.

We recommend that you disable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the other service is aware that it can clean up any resources that are required only for the integration. How the service cleans up its resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

After you perform the DisableAWSServiceAccess operation, the specified service can no longer perform operations in your organization's accounts unless the operations are explicitly permitted by the IAM policies that are attached to your roles.

For more information about integrating other services with AWS Organizations, including the list of services that work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "DisablePolicyType":{ + "name":"DisablePolicyType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisablePolicyTypeRequest"}, + "output":{"shape":"DisablePolicyTypeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyTypeNotEnabledException"}, + {"shape":"RootNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"}, + {"shape":"PolicyChangesInProgressException"} + ], + "documentation":"

Disables an organizational control policy type in a root. A policy of a certain type can be attached to entities in a root only if that type is enabled in the root. After you perform this operation, you no longer can attach policies of the specified type to that root or to any organizational unit (OU) or account in that root. You can undo this by using the EnablePolicyType operation.

This is an asynchronous request that AWS performs in the background. If you disable a policy for a root, it still appears enabled for the organization if all features are enabled for the organization. AWS recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

This operation can be called only from the organization's master account.

To view the status of available policy types in the organization, use DescribeOrganization.

" + }, + "EnableAWSServiceAccess":{ + "name":"EnableAWSServiceAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAWSServiceAccessRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Enables the integration of an AWS service (the service that is specified by ServicePrincipal) with AWS Organizations. When you enable integration, you allow the specified service to create a service-linked role in all the accounts in your organization. This allows the service to perform operations on your behalf in your organization and its accounts.

We recommend that you enable integration between AWS Organizations and the specified AWS service by using the console or commands that are provided by the specified service. Doing so ensures that the service is aware that it can create the resources that are required for the integration. How the service creates those resources in the organization's accounts depends on that service. For more information, see the documentation for the other AWS service.

For more information about enabling services to integrate with AWS Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account and only if the organization has enabled all features.

" + }, + "EnableAllFeatures":{ + "name":"EnableAllFeatures", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAllFeaturesRequest"}, + "output":{"shape":"EnableAllFeaturesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

" + }, + "EnablePolicyType":{ + "name":"EnablePolicyType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnablePolicyTypeRequest"}, + "output":{"shape":"EnablePolicyTypeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyTypeAlreadyEnabledException"}, + {"shape":"RootNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"PolicyTypeNotAvailableForOrganizationException"}, + {"shape":"UnsupportedAPIEndpointException"}, + {"shape":"PolicyChangesInProgressException"} + ], + "documentation":"

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

This is an asynchronous request that AWS performs in the background. AWS recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

This operation can be called only from the organization's master account.

You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

" + }, + "InviteAccountToOrganization":{ + "name":"InviteAccountToOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"InviteAccountToOrganizationRequest"}, + "output":{"shape":"InviteAccountToOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"AccountOwnerNotVerifiedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"HandshakeConstraintViolationException"}, + {"shape":"DuplicateHandshakeException"}, + {"shape":"InvalidInputException"}, + {"shape":"FinalizingOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Sends an invitation to another account to join your organization as a member account. AWS Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

  • You can invite AWS accounts only from the same seller as the master account. For example, if your organization's master account was created by Amazon Internet Services Pvt. Ltd (AISPL), an AWS seller in India, you can invite only other AISPL accounts to your organization. You can't combine accounts from AISPL and AWS or from any other AWS seller. For more information, see Consolidated Billing in India.

  • If you receive an exception that indicates that you exceeded your account limits for the organization or that the operation failed because your organization is still initializing, wait one hour and then try again. If the error persists after an hour, contact AWS Support.

This operation can be called only from the organization's master account.

" + }, + "LeaveOrganization":{ + "name":"LeaveOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"MasterCannotLeaveOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

  • The master account in an organization with all features enabled can set service control policies (SCPs) that can restrict what administrators of member accounts can do. This includes preventing them from successfully calling LeaveOrganization and leaving the organization.

  • You can leave an organization as a member account only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For each account that you want to make standalone, you must do the following steps:

    • Accept the end user license agreement (EULA)

    • Choose a support plan

    • Provide and verify the required contact information

    • Provide a current payment method

    AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • You can leave an organization only after you enable IAM user access to billing in your account. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

" + }, + "ListAWSServiceAccessForOrganization":{ + "name":"ListAWSServiceAccessForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAWSServiceAccessForOrganizationRequest"}, + "output":{"shape":"ListAWSServiceAccessForOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListAccounts":{ + "name":"ListAccounts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccountsRequest"}, + "output":{"shape":"ListAccountsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListAccountsForParent":{ + "name":"ListAccountsForParent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccountsForParentRequest"}, + "output":{"shape":"ListAccountsForParentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListChildren":{ + "name":"ListChildren", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListChildrenRequest"}, + "output":{"shape":"ListChildrenResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists all of the organizational units (OUs) or accounts that are contained in the specified parent OU or root. This operation, along with ListParents enables you to traverse the tree structure that makes up this root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListCreateAccountStatus":{ + "name":"ListCreateAccountStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCreateAccountStatusRequest"}, + "output":{"shape":"ListCreateAccountStatusResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Lists the account creation requests that match the specified status that is currently being tracked for the organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListDelegatedAdministrators":{ + "name":"ListDelegatedAdministrators", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDelegatedAdministratorsRequest"}, + "output":{"shape":"ListDelegatedAdministratorsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Lists the AWS accounts that are designated as delegated administrators in this organization.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListDelegatedServicesForAccount":{ + "name":"ListDelegatedServicesForAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDelegatedServicesForAccountRequest"}, + "output":{"shape":"ListDelegatedServicesForAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AccountNotRegisteredException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

List the AWS services for which the specified account is a delegated administrator.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListHandshakesForAccount":{ + "name":"ListHandshakesForAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHandshakesForAccountRequest"}, + "output":{"shape":"ListHandshakesForAccountResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the current handshakes that are associated with the account of the requesting user.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListHandshakesForOrganization":{ + "name":"ListHandshakesForOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHandshakesForOrganizationRequest"}, + "output":{"shape":"ListHandshakesForOrganizationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the handshakes that are associated with the organization that the requesting user is part of. The ListHandshakesForOrganization operation returns a list of handshake structures. Each structure contains details and status about a handshake.

Handshakes that are ACCEPTED, DECLINED, or CANCELED appear in the results of this API for only 30 days after changing to that state. After that, they're deleted and no longer accessible.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListOrganizationalUnitsForParent":{ + "name":"ListOrganizationalUnitsForParent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOrganizationalUnitsForParentRequest"}, + "output":{"shape":"ListOrganizationalUnitsForParentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ParentNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the organizational units (OUs) in a parent organizational unit or root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListParents":{ + "name":"ListParents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListParentsRequest"}, + "output":{"shape":"ListParentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ChildNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the root or organizational units (OUs) that serve as the immediate parent of the specified child OU or account. This operation, along with ListChildren enables you to traverse the tree structure that makes up this root.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

In the current release, a child can have only a single parent.

" + }, + "ListPolicies":{ + "name":"ListPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesRequest"}, + "output":{"shape":"ListPoliciesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Retrieves the list of all policies in an organization of a specified type.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListPoliciesForTarget":{ + "name":"ListPoliciesForTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPoliciesForTargetRequest"}, + "output":{"shape":"ListPoliciesForTargetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Lists the policies that are directly attached to the specified target root, organizational unit (OU), or account. You must specify the policy type that you want included in the returned list.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListRoots":{ + "name":"ListRoots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRootsRequest"}, + "output":{"shape":"ListRootsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists the roots that are defined in the current organization.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

Policy types can be enabled and disabled in roots. This is distinct from whether they're available in the organization. When you enable all features, you make policy types available for use in that organization. Individual policy types can then be enabled and disabled in a root. To see the availability of a policy type in an organization, use DescribeOrganization.

" + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Lists tags for the specified resource.

Currently, you can list tags on an account in AWS Organizations.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "ListTargetsForPolicy":{ + "name":"ListTargetsForPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTargetsForPolicyRequest"}, + "output":{"shape":"ListTargetsForPolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"InvalidInputException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

" + }, + "MoveAccount":{ + "name":"MoveAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MoveAccountRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"}, + {"shape":"SourceParentNotFoundException"}, + {"shape":"DestinationParentNotFoundException"}, + {"shape":"DuplicateAccountException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ServiceException"} + ], + "documentation":"

Moves an account from its current source parent root or organizational unit (OU) to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

" + }, + "RegisterDelegatedAdministrator":{ + "name":"RegisterDelegatedAdministrator", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterDelegatedAdministratorRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountAlreadyRegisteredException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ServiceException"}, + {"shape":"UnsupportedAPIEndpointException"} + ], + "documentation":"

Enables the specified member account to administer the Organizations features of the specified AWS service. It grants read-only access to AWS Organizations service data. The account still requires IAM permissions to access and administer the AWS service.

You can run this action only for AWS services that support this feature. For a current list of services that support it, see the column Supports Delegated Administrator in the table at AWS Services that you can use with AWS Organizations in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

" + }, + "RemoveAccountFromOrganization":{ + "name":"RemoveAccountFromOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveAccountFromOrganizationRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AccountNotFoundException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"MasterCannotLeaveOrganizationException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes the specified account from the organization.

The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it's removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the end user license agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. To remove an account that doesn't yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

" + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Adds one or more tags to the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

This operation can be called only from the organization's master account.

" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"TargetNotFoundException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InvalidInputException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Removes a tag from the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

This operation can be called only from the organization's master account.

" + }, + "UpdateOrganizationalUnit":{ + "name":"UpdateOrganizationalUnit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateOrganizationalUnitRequest"}, + "output":{"shape":"UpdateOrganizationalUnitResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"DuplicateOrganizationalUnitException"}, + {"shape":"InvalidInputException"}, + {"shape":"OrganizationalUnitNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

Renames the specified organizational unit (OU). The ID and ARN don't change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

" + }, + "UpdatePolicy":{ + "name":"UpdatePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePolicyRequest"}, + "output":{"shape":"UpdatePolicyResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"AWSOrganizationsNotInUseException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"DuplicatePolicyException"}, + {"shape":"InvalidInputException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"PolicyNotFoundException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedAPIEndpointException"}, + {"shape":"PolicyChangesInProgressException"} + ], + "documentation":"

Updates an existing policy with a new name, description, or content. If you don't supply any parameter, that value remains unchanged. You can't change a policy's type.

This operation can be called only from the organization's master account.

" + } + }, + "shapes":{ + "AWSOrganizationsNotInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Your account isn't a member of an organization. To make this request, you must use the credentials of an account that belongs to an organization.

", + "exception":true + }, + "AcceptHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to accept.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits.

" + } + } + }, + "AcceptHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the accepted handshake.

" + } + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access Management in the IAM User Guide.

", + "exception":true + }, + "AccessDeniedForDependencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"AccessDeniedForDependencyExceptionReason"} + }, + "documentation":"

The operation that you attempted requires you to have the iam:CreateServiceLinkedRole for organizations.amazonaws.com permission so that AWS Organizations can create the required service-linked role. You don't have that permission.

", + "exception":true + }, + "AccessDeniedForDependencyExceptionReason":{ + "type":"string", + "enum":["ACCESS_DENIED_DURING_CREATE_SERVICE_LINKED_ROLE"] + }, + "Account":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the account.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "Arn":{ + "shape":"AccountArn", + "documentation":"

The Amazon Resource Name (ARN) of the account.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address associated with the AWS account.

The regex pattern for this parameter is a string of characters that represents a standard internet email address.

" + }, + "Name":{ + "shape":"AccountName", + "documentation":"

The friendly name of the account.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Status":{ + "shape":"AccountStatus", + "documentation":"

The status of the account in the organization.

" + }, + "JoinedMethod":{ + "shape":"AccountJoinedMethod", + "documentation":"

The method by which the account joined the organization.

" + }, + "JoinedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date the account became a part of the organization.

" + } + }, + "documentation":"

Contains information about an AWS account that is a member of an organization.

" + }, + "AccountAlreadyRegisteredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified account is already a delegated administrator for this AWS service.

", + "exception":true + }, + "AccountArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:account\\/o-[a-z0-9]{10,32}\\/\\d{12}" + }, + "AccountId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "AccountJoinedMethod":{ + "type":"string", + "enum":[ + "INVITED", + "CREATED" + ] + }, + "AccountName":{ + "type":"string", + "max":50, + "min":1, + "pattern":"[\\u0020-\\u007E]+", + "sensitive":true + }, + "AccountNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an AWS account with the AccountId that you specified, or the account whose credentials you used to make this request isn't a member of an organization.

", + "exception":true + }, + "AccountNotRegisteredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified account is not a delegated administrator for this AWS service.

", + "exception":true + }, + "AccountOwnerNotVerifiedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't invite an existing account to your organization until you verify that you own the email address associated with the master account. For more information, see Email Address Verification in the AWS Organizations User Guide.

", + "exception":true + }, + "AccountStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "SUSPENDED" + ] + }, + "Accounts":{ + "type":"list", + "member":{"shape":"Account"} + }, + "ActionType":{ + "type":"string", + "enum":[ + "INVITE", + "ENABLE_ALL_FEATURES", + "APPROVE_ALL_FEATURES", + "ADD_ORGANIZATIONS_SERVICE_LINKED_ROLE" + ] + }, + "AlreadyInOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This account is already a member of an organization. An account can belong to only one organization at a time.

", + "exception":true + }, + "AttachPolicyRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "TargetId" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to attach to the target. You can get the ID for the policy by calling the ListPolicies operation.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, OU, or account that you want to attach the policy to. You can get the ID by calling the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Account - A string that consists of exactly 12 digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + } + } + }, + "AwsManagedPolicy":{"type":"boolean"}, + "CancelHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to cancel. You can get the ID from the ListHandshakesForOrganization operation.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits.

" + } + } + }, + "CancelHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake that you canceled.

" + } + } + }, + "Child":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ChildId", + "documentation":"

The unique identifier (ID) of this child entity.

The regex pattern for a child ID string requires one of the following:

  • Account: A string that consists of exactly 12 digits.

  • Organizational unit (OU): A string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Type":{ + "shape":"ChildType", + "documentation":"

The type of this child entity.

" + } + }, + "documentation":"

Contains a list of child entities, either OUs or accounts.

" + }, + "ChildId":{ + "type":"string", + "pattern":"^(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "ChildNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an organizational unit (OU) or AWS account with the ChildId that you specified.

", + "exception":true + }, + "ChildType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATIONAL_UNIT" + ] + }, + "Children":{ + "type":"list", + "member":{"shape":"Child"} + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The target of the operation is currently being modified by a different request. Try again later.

", + "exception":true + }, + "ConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"ConstraintViolationExceptionReason"} + }, + "documentation":"

Performing this operation violates a minimum or maximum value limit. For example, attempting to remove the last service control policy (SCP) from an OU or root, inviting or creating too many accounts to the organization, or attaching too many policies to an account, OU, or root. This exception includes a reason that contains additional information about the violated limit.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first agree to the AWS Customer Agreement. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an account from the organization that doesn't yet have enough information to exist as a standalone account. This account requires you to first complete phone verification. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of accounts that you can create in one day.

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. If you need more accounts, contact AWS Support to request an increase in your limit.

    Or the number of invitations that you tried to send would cause you to exceed the limit of accounts in your organization. Send fewer invitations or contact AWS Support to request an increase in the number of accounts.

    Deleted and closed accounts still count toward your limit.

    If you get receive this exception when running a command immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You can designate only a member account as a delegated administrator.

  • CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: To complete this operation, you must first deregister this account as a delegated administrator.

  • DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: To complete this operation, you must first deregister all delegated administrators for this service.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in this organization, you first must migrate the organization's master account to the marketplace that corresponds to the master account's address. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be associated with the same marketplace.

  • MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must first provide contact a valid address and phone number for the master account. Then try the operation again.

  • MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the master account must have an associated account in the AWS GovCloud (US-West) Region. For more information, see AWS Organizations in the AWS GovCloud User Guide.

  • MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with this master account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to register more delegated administrators than allowed for the service principal.

  • MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number of policies of a certain type that can be attached to an entity at one time.

  • MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this resource.

  • MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with this member account, you first must associate a valid payment instrument, such as a credit card, with the account. Follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

  • MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy from an entity that would cause the entity to have fewer than the minimum number of policies of a certain type required.

  • OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many levels deep.

  • ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation that requires the organization to be configured to support all features. An organization that supports only consolidated billing features can't perform this operation.

  • OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you can have in an organization.

  • POLICY_NUMBER_LIMIT_EXCEEDED. You attempted to exceed the number of policies that you can have in an organization.

", + "exception":true + }, + "ConstraintViolationExceptionReason":{ + "type":"string", + "enum":[ + "ACCOUNT_NUMBER_LIMIT_EXCEEDED", + "HANDSHAKE_RATE_LIMIT_EXCEEDED", + "OU_NUMBER_LIMIT_EXCEEDED", + "OU_DEPTH_LIMIT_EXCEEDED", + "POLICY_NUMBER_LIMIT_EXCEEDED", + "POLICY_CONTENT_LIMIT_EXCEEDED", + "MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED", + "MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED", + "ACCOUNT_CANNOT_LEAVE_ORGANIZATION", + "ACCOUNT_CANNOT_LEAVE_WITHOUT_EULA", + "ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION", + "MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", + "MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED", + "ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED", + "MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE", + "MASTER_ACCOUNT_MISSING_CONTACT_INFO", + "MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED", + "ORGANIZATION_NOT_IN_ALL_FEATURES_MODE", + "CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION", + "EMAIL_VERIFICATION_CODE_EXPIRED", + "WAIT_PERIOD_ACTIVE", + "MAX_TAG_LIMIT_EXCEEDED", + "TAG_POLICY_VIOLATION", + "MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED", + "CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR", + "CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG", + "DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE" + ] + }, + "CreateAccountFailureReason":{ + "type":"string", + "enum":[ + "ACCOUNT_LIMIT_EXCEEDED", + "EMAIL_ALREADY_EXISTS", + "INVALID_ADDRESS", + "INVALID_EMAIL", + "CONCURRENT_ACCOUNT_MODIFICATION", + "INTERNAL_FAILURE", + "GOVCLOUD_ACCOUNT_ALREADY_EXISTS" + ] + }, + "CreateAccountRequest":{ + "type":"structure", + "required":[ + "Email", + "AccountName" + ], + "members":{ + "Email":{ + "shape":"Email", + "documentation":"

The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You can't access the root user of the account or remove an account that was created with an invalid email address.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The friendly name of the member account.

" + }, + "RoleName":{ + "shape":"RoleName", + "documentation":"

(Optional)

The name of an IAM role that AWS Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see the following links:

The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" + }, + "IamUserAccessToBilling":{ + "shape":"IAMUserAccessToBilling", + "documentation":"

If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" + } + } + }, + "CreateAccountRequestId":{ + "type":"string", + "pattern":"^car-[a-z0-9]{8,32}$" + }, + "CreateAccountResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{ + "shape":"CreateAccountStatus", + "documentation":"

A structure that contains details about the request to create an account. This response structure might not be fully populated when you first receive it because account creation is an asynchronous process. You can pass the returned CreateAccountStatus ID as a parameter to DescribeCreateAccountStatus to get status about the progress of the request at later times. You can also check the AWS CloudTrail log for the CreateAccountResult event. For more information, see Monitoring the Activity in Your Organization in the AWS Organizations User Guide.

" + } + } + }, + "CreateAccountState":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "CreateAccountStates":{ + "type":"list", + "member":{"shape":"CreateAccountState"} + }, + "CreateAccountStatus":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"CreateAccountRequestId", + "documentation":"

The unique identifier (ID) that references this request. You get this value from the response of the initial CreateAccount request to create the account.

The regex pattern for a create account request ID string requires \"car-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The account name given to the account when it was created.

" + }, + "State":{ + "shape":"CreateAccountState", + "documentation":"

The status of the request.

" + }, + "RequestedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the request was made for the account creation.

" + }, + "CompletedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the account was created and the request completed.

" + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

If the account was created successfully, the unique identifier (ID) of the new account.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "GovCloudAccountId":{ + "shape":"AccountId", + "documentation":"

If the account was created successfully, the unique identifier (ID) of the new account in the AWS GovCloud (US) Region.

" + }, + "FailureReason":{ + "shape":"CreateAccountFailureReason", + "documentation":"

If the request failed, a description of the reason for the failure.

  • ACCOUNT_LIMIT_EXCEEDED: The account could not be created because you have reached the limit on the number of accounts in your organization.

  • EMAIL_ALREADY_EXISTS: The account could not be created because another AWS account with that email address already exists.

  • GOVCLOUD_ACCOUNT_ALREADY_EXISTS: The account in the AWS GovCloud (US) Region could not be created because this Region already includes an account with that email address.

  • INVALID_ADDRESS: The account could not be created because the address you provided is not valid.

  • INVALID_EMAIL: The account could not be created because the email address you provided is not valid.

  • INTERNAL_FAILURE: The account could not be created because of an internal failure. Try again later. If the problem persists, contact Customer Support.

" + } + }, + "documentation":"

Contains the status about a CreateAccount or CreateGovCloudAccount request to create an AWS account or an AWS GovCloud (US) account in an organization.

" + }, + "CreateAccountStatusNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an create account request with the CreateAccountRequestId that you specified.

", + "exception":true + }, + "CreateAccountStatuses":{ + "type":"list", + "member":{"shape":"CreateAccountStatus"} + }, + "CreateGovCloudAccountRequest":{ + "type":"structure", + "required":[ + "Email", + "AccountName" + ], + "members":{ + "Email":{ + "shape":"Email", + "documentation":"

The email address of the owner to assign to the new member account in the commercial Region. This email address must not already be associated with another AWS account. You must use a valid email address to complete account creation. You can't access the root user of the account or remove an account that was created with an invalid email address. Like all request parameters for CreateGovCloudAccount, the request for the email address for the AWS GovCloud (US) account originates from the commercial Region, not from the AWS GovCloud (US) Region.

" + }, + "AccountName":{ + "shape":"AccountName", + "documentation":"

The friendly name of the member account.

" + }, + "RoleName":{ + "shape":"RoleName", + "documentation":"

(Optional)

The name of an IAM role that AWS Organizations automatically preconfigures in the new member accounts in both the AWS GovCloud (US) Region and in the commercial Region. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.

If you don't specify this parameter, the role name defaults to OrganizationAccountAccessRole.

For more information about how to use this role to access the member account, see Accessing and Administering the Member Accounts in Your Organization in the AWS Organizations User Guide and steps 2 and 3 in Tutorial: Delegate Access Across AWS Accounts Using IAM Roles in the IAM User Guide.

The regex pattern that is used to validate this parameter. The pattern can include uppercase letters, lowercase letters, digits with no spaces, and any of the following characters: =,.@-

" + }, + "IamUserAccessToBilling":{ + "shape":"IAMUserAccessToBilling", + "documentation":"

If set to ALLOW, the new linked account in the commercial Region enables IAM users to access account billing information if they have the required permissions. If set to DENY, only the root user of the new account can access account billing information. For more information, see Activating Access to the Billing and Cost Management Console in the AWS Billing and Cost Management User Guide.

If you don't specify this parameter, the value defaults to ALLOW, and IAM users and roles with the required permissions can access billing information for the new account.

" + } + } + }, + "CreateGovCloudAccountResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{"shape":"CreateAccountStatus"} + } + }, + "CreateOrganizationRequest":{ + "type":"structure", + "members":{ + "FeatureSet":{ + "shape":"OrganizationFeatureSet", + "documentation":"

Specifies the feature set supported by the new organization. Each feature set supports different levels of functionality.

  • CONSOLIDATED_BILLING: All member accounts have their bills consolidated to and paid by the master account. For more information, see Consolidated billing in the AWS Organizations User Guide.

    The consolidated billing feature subset isn't available for organizations in the AWS GovCloud (US) Region.

  • ALL: In addition to all the features supported by the consolidated billing feature set, the master account can also apply any policy type to any member account in the organization. For more information, see All features in the AWS Organizations User Guide.

" + } + } + }, + "CreateOrganizationResponse":{ + "type":"structure", + "members":{ + "Organization":{ + "shape":"Organization", + "documentation":"

A structure that contains details about the newly created organization.

" + } + } + }, + "CreateOrganizationalUnitRequest":{ + "type":"structure", + "required":[ + "ParentId", + "Name" + ], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the parent root or OU that you want to create the new OU in.

The regex pattern for a parent ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The friendly name to assign to the new OU.

" + } + } + }, + "CreateOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains details about the newly created OU.

" + } + } + }, + "CreatePolicyRequest":{ + "type":"structure", + "required":[ + "Content", + "Description", + "Name", + "Type" + ], + "members":{ + "Content":{ + "shape":"PolicyContent", + "documentation":"

The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

An optional description to assign to the policy.

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

The friendly name to assign to the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Type":{ + "shape":"PolicyType", + "documentation":"

The type of policy to create.

In the current release, the only type of policy that you can create is a service control policy (SCP).

" + } + } + }, + "CreatePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the newly created policy.

" + } + } + }, + "DeclineHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want to decline. You can get the ID from the ListHandshakesForAccount operation.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits.

" + } + } + }, + "DeclineHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the declined handshake. The state is updated to show the value DECLINED.

" + } + } + }, + "DelegatedAdministrator":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the delegated administrator's account.

" + }, + "Arn":{ + "shape":"AccountArn", + "documentation":"

The Amazon Resource Name (ARN) of the delegated administrator's account.

" + }, + "Email":{ + "shape":"Email", + "documentation":"

The email address that is associated with the delegated administrator's AWS account.

" + }, + "Name":{ + "shape":"AccountName", + "documentation":"

The friendly name of the delegated administrator's account.

" + }, + "Status":{ + "shape":"AccountStatus", + "documentation":"

The status of the delegated administrator's account in the organization.

" + }, + "JoinedMethod":{ + "shape":"AccountJoinedMethod", + "documentation":"

The method by which the delegated administrator's account joined the organization.

" + }, + "JoinedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date when the delegated administrator's account became a part of the organization.

" + }, + "DelegationEnabledDate":{ + "shape":"Timestamp", + "documentation":"

The date when the account was made a delegated administrator.

" + } + }, + "documentation":"

Contains information about the delegated administrator.

" + }, + "DelegatedAdministrators":{ + "type":"list", + "member":{"shape":"DelegatedAdministrator"} + }, + "DelegatedService":{ + "type":"structure", + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The name of a service that can request an operation for the specified service. This is typically in the form of a URL, such as: servicename.amazonaws.com.

" + }, + "DelegationEnabledDate":{ + "shape":"Timestamp", + "documentation":"

The date that the account became a delegated administrator for this service.

" + } + }, + "documentation":"

Contains information about the AWS service for which the account is a delegated administrator.

" + }, + "DelegatedServices":{ + "type":"list", + "member":{"shape":"DelegatedService"} + }, + "DeleteOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the organizational unit that you want to delete. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + } + } + }, + "DeletePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to delete. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + } + } + }, + "DeregisterDelegatedAdministratorRequest":{ + "type":"structure", + "required":[ + "AccountId", + "ServicePrincipal" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The account ID number of the member account in the organization that you want to deregister as a delegated administrator.

" + }, + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal name of an AWS service for which the account is a delegated administrator.

Delegated administrator privileges are revoked for only the specified AWS service from the member account. If the specified service is the only service for which the member account is a delegated administrator, the operation also revokes Organizations read action permissions.

" + } + } + }, + "DescribeAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the AWS account that you want information about. You can get the ID from the ListAccounts or ListAccountsForParent operations.

The regex pattern for an account ID string requires exactly 12 digits.

" + } + } + }, + "DescribeAccountResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"Account", + "documentation":"

A structure that contains information about the requested account.

" + } + } + }, + "DescribeCreateAccountStatusRequest":{ + "type":"structure", + "required":["CreateAccountRequestId"], + "members":{ + "CreateAccountRequestId":{ + "shape":"CreateAccountRequestId", + "documentation":"

Specifies the operationId that uniquely identifies the request. You can get the ID from the response to an earlier CreateAccount request, or from the ListCreateAccountStatus operation.

The regex pattern for a create account request ID string requires \"car-\" followed by from 8 to 32 lowercase letters or digits.

" + } + } + }, + "DescribeCreateAccountStatusResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatus":{ + "shape":"CreateAccountStatus", + "documentation":"

A structure that contains the current status of an account creation request.

" + } + } + }, + "DescribeEffectivePolicyRequest":{ + "type":"structure", + "required":["PolicyType"], + "members":{ + "PolicyType":{ + "shape":"EffectivePolicyType", + "documentation":"

The type of policy that you want information about.

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

When you're signed in as the master account, specify the ID of the account that you want details about. Specifying an organization root or OU as the target is not supported.

" + } + } + }, + "DescribeEffectivePolicyResponse":{ + "type":"structure", + "members":{ + "EffectivePolicy":{ + "shape":"EffectivePolicy", + "documentation":"

The contents of the effective policy.

" + } + } + }, + "DescribeHandshakeRequest":{ + "type":"structure", + "required":["HandshakeId"], + "members":{ + "HandshakeId":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of the handshake that you want information about. You can get the ID from the original call to InviteAccountToOrganization, or from a call to ListHandshakesForAccount or ListHandshakesForOrganization.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lowercase letters or digits.

" + } + } + }, + "DescribeHandshakeResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains information about the specified handshake.

" + } + } + }, + "DescribeOrganizationResponse":{ + "type":"structure", + "members":{ + "Organization":{ + "shape":"Organization", + "documentation":"

A structure that contains information about the organization.

" + } + } + }, + "DescribeOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the organizational unit that you want details about. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + } + } + }, + "DescribeOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains details about the specified OU.

" + } + } + }, + "DescribePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want details about. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + } + } + }, + "DescribePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the specified policy.

" + } + } + }, + "DestinationParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find the destination container (a root or OU) with the ParentId that you specified.

", + "exception":true + }, + "DetachPolicyRequest":{ + "type":"structure", + "required":[ + "PolicyId", + "TargetId" + ], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy you want to detach. You can get the ID from the ListPolicies or ListPoliciesForTarget operations.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, OU, or account that you want to detach the policy from. You can get the ID from the ListRoots, ListOrganizationalUnitsForParent, or ListAccounts operations.

The regex pattern for a target ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Account - A string that consists of exactly 12 digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + } + } + }, + "DisableAWSServiceAccessRequest":{ + "type":"structure", + "required":["ServicePrincipal"], + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal name of the AWS service for which you want to disable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com.

" + } + } + }, + "DisablePolicyTypeRequest":{ + "type":"structure", + "required":[ + "RootId", + "PolicyType" + ], + "members":{ + "RootId":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) of the root in which you want to disable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lowercase letters or digits.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The policy type that you want to disable in this root.

" + } + } + }, + "DisablePolicyTypeResponse":{ + "type":"structure", + "members":{ + "Root":{ + "shape":"Root", + "documentation":"

A structure that shows the root with the updated list of enabled policy types.

" + } + } + }, + "DuplicateAccountException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

That account is already present in the specified destination.

", + "exception":true + }, + "DuplicateHandshakeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A handshake with the same action and target already exists. For example, if you invited an account to join your organization, the invited account might already have a pending invitation from this organization. If you intend to resend an invitation to an account, ensure that existing handshakes that might be considered duplicates are canceled or declined.

", + "exception":true + }, + "DuplicateOrganizationalUnitException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

An OU with the same name already exists.

", + "exception":true + }, + "DuplicatePolicyAttachmentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The selected policy is already attached to the specified target.

", + "exception":true + }, + "DuplicatePolicyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

A policy with the same name already exists.

", + "exception":true + }, + "EffectivePolicy":{ + "type":"structure", + "members":{ + "PolicyContent":{ + "shape":"PolicyContent", + "documentation":"

The text content of the policy.

" + }, + "LastUpdatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The time of the last update to this policy.

" + }, + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The account ID of the policy target.

" + }, + "PolicyType":{ + "shape":"EffectivePolicyType", + "documentation":"

The policy type.

" + } + }, + "documentation":"

Contains rules to be applied to the affected accounts. The effective policy is the aggregation of any policies the account inherits, plus any policy directly attached to the account.

" + }, + "EffectivePolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

If you ran this action on the master account, this policy type is not enabled. If you ran the action on a member account, the account doesn't have an effective policy of this type. Contact the administrator of your organization about attaching a policy of this type to the account.

", + "exception":true + }, + "EffectivePolicyType":{ + "type":"string", + "enum":["TAG_POLICY"] + }, + "Email":{ + "type":"string", + "max":64, + "min":6, + "pattern":"[^\\s@]+@[^\\s@]+\\.[^\\s@]+", + "sensitive":true + }, + "EnableAWSServiceAccessRequest":{ + "type":"structure", + "required":["ServicePrincipal"], + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal name of the AWS service for which you want to enable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com.

" + } + } + }, + "EnableAllFeaturesRequest":{ + "type":"structure", + "members":{ + } + }, + "EnableAllFeaturesResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake created to support this request to enable all features in the organization.

" + } + } + }, + "EnablePolicyTypeRequest":{ + "type":"structure", + "required":[ + "RootId", + "PolicyType" + ], + "members":{ + "RootId":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) of the root in which you want to enable a policy type. You can get the ID from the ListRoots operation.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lowercase letters or digits.

" + }, + "PolicyType":{ + "shape":"PolicyType", + "documentation":"

The policy type that you want to enable.

" + } + } + }, + "EnablePolicyTypeResponse":{ + "type":"structure", + "members":{ + "Root":{ + "shape":"Root", + "documentation":"

A structure that shows the root with the updated list of enabled policy types.

" + } + } + }, + "EnabledServicePrincipal":{ + "type":"structure", + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The name of the service principal. This is typically in the form of a URL, such as: servicename.amazonaws.com.

" + }, + "DateEnabled":{ + "shape":"Timestamp", + "documentation":"

The date that the service principal was enabled for integration with AWS Organizations.

" + } + }, + "documentation":"

A structure that contains details of a service principal that represents an AWS service that is enabled to integrate with AWS Organizations.

" + }, + "EnabledServicePrincipals":{ + "type":"list", + "member":{"shape":"EnabledServicePrincipal"} + }, + "ExceptionMessage":{"type":"string"}, + "ExceptionType":{"type":"string"}, + "FinalizingOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

AWS Organizations couldn't perform the operation because your organization hasn't finished initializing. This can take up to an hour. Try again later. If after one hour you continue to receive this error, contact AWS Support.

", + "exception":true + }, + "GenericArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::.+:.+" + }, + "Handshake":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"HandshakeId", + "documentation":"

The unique identifier (ID) of a handshake. The originating account creates the ID when it initiates the handshake.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"HandshakeArn", + "documentation":"

The Amazon Resource Name (ARN) of a handshake.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Parties":{ + "shape":"HandshakeParties", + "documentation":"

Information about the two accounts that are participating in the handshake.

" + }, + "State":{ + "shape":"HandshakeState", + "documentation":"

The current state of the handshake. Use the state to trace the flow of the handshake through the process from its creation to its acceptance. The meaning of each of the valid values is as follows:

  • REQUESTED: This handshake was sent to multiple recipients (applicable to only some handshake types) and not all recipients have responded yet. The request stays in this state until all recipients respond.

  • OPEN: This handshake was sent to multiple recipients (applicable to only some policy types) and all recipients have responded, allowing the originator to complete the handshake action.

  • CANCELED: This handshake is no longer active because it was canceled by the originating account.

  • ACCEPTED: This handshake is complete because it has been accepted by the recipient.

  • DECLINED: This handshake is no longer active because it was declined by the recipient account.

  • EXPIRED: This handshake is no longer active because the originator did not receive a response of any kind from the recipient before the expiration time (15 days).

" + }, + "RequestedTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the handshake request was made.

" + }, + "ExpirationTimestamp":{ + "shape":"Timestamp", + "documentation":"

The date and time that the handshake expires. If the recipient of the handshake request fails to respond before the specified date and time, the handshake becomes inactive and is no longer valid.

" + }, + "Action":{ + "shape":"ActionType", + "documentation":"

The type of handshake, indicating what action occurs when the recipient accepts the handshake. The following handshake types are supported:

  • INVITE: This type of handshake represents a request to join an organization. It is always sent from the master account to only non-member accounts.

  • ENABLE_ALL_FEATURES: This type of handshake represents a request to enable all features in an organization. It is always sent from the master account to only invited member accounts. Created accounts do not receive this because those accounts were created by the organization's master account and approval is inferred.

  • APPROVE_ALL_FEATURES: This type of handshake is sent from the Organizations service when all member accounts have approved the ENABLE_ALL_FEATURES invitation. It is sent only to the master account and signals the master that it can finalize the process to enable all features.

" + }, + "Resources":{ + "shape":"HandshakeResources", + "documentation":"

Additional information that is needed to process the handshake.

" + } + }, + "documentation":"

Contains information that must be exchanged to securely establish a relationship between two accounts (an originator and a recipient). For example, when a master account (the originator) invites another account (the recipient) to join its organization, the two accounts exchange information as a series of handshake requests and responses.

Note: Handshakes that are CANCELED, ACCEPTED, or DECLINED show up in lists for only 30 days after entering that state After that they are deleted.

" + }, + "HandshakeAlreadyInStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified handshake is already in the requested state. For example, you can't accept a handshake that was already accepted.

", + "exception":true + }, + "HandshakeArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:handshake\\/o-[a-z0-9]{10,32}\\/[a-z_]{1,32}\\/h-[0-9a-z]{8,32}" + }, + "HandshakeConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"HandshakeConstraintViolationExceptionReason"} + }, + "documentation":"

The requested operation would violate the constraint identified in the reason code.

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit.

    If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact AWS Support.

  • ALREADY_IN_AN_ORGANIZATION: The handshake request is invalid because the invited account is already a member of an organization.

  • HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of handshakes that you can send in one day.

  • INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES: You can't issue new invitations to join an organization while it's in the process of enabling all features. You can resume inviting accounts after you finalize the process when all accounts have agreed to the change.

  • ORGANIZATION_ALREADY_HAS_ALL_FEATURES: The handshake request is invalid because the organization has already enabled all features.

  • ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD: The request failed because the account is from a different marketplace than the accounts in the organization. For example, accounts with India addresses must be associated with the AISPL marketplace. All accounts in an organization must be from the same marketplace.

  • ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED: You attempted to change the membership of an account too quickly after its previous change.

  • PAYMENT_INSTRUMENT_REQUIRED: You can't complete the operation with an account that doesn't have a payment instrument, such as a credit card, associated with it.

", + "exception":true + }, + "HandshakeConstraintViolationExceptionReason":{ + "type":"string", + "enum":[ + "ACCOUNT_NUMBER_LIMIT_EXCEEDED", + "HANDSHAKE_RATE_LIMIT_EXCEEDED", + "ALREADY_IN_AN_ORGANIZATION", + "ORGANIZATION_ALREADY_HAS_ALL_FEATURES", + "INVITE_DISABLED_DURING_ENABLE_ALL_FEATURES", + "PAYMENT_INSTRUMENT_REQUIRED", + "ORGANIZATION_FROM_DIFFERENT_SELLER_OF_RECORD", + "ORGANIZATION_MEMBERSHIP_CHANGE_RATE_LIMIT_EXCEEDED" + ] + }, + "HandshakeFilter":{ + "type":"structure", + "members":{ + "ActionType":{ + "shape":"ActionType", + "documentation":"

Specifies the type of handshake action.

If you specify ActionType, you cannot also specify ParentHandshakeId.

" + }, + "ParentHandshakeId":{ + "shape":"HandshakeId", + "documentation":"

Specifies the parent handshake. Only used for handshake types that are a child of another type.

If you specify ParentHandshakeId, you cannot also specify ActionType.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + } + }, + "documentation":"

Specifies the criteria that are used to select the handshakes for the operation.

" + }, + "HandshakeId":{ + "type":"string", + "pattern":"^h-[0-9a-z]{8,32}$" + }, + "HandshakeNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a handshake with the HandshakeId that you specified.

", + "exception":true + }, + "HandshakeNotes":{ + "type":"string", + "max":1024, + "sensitive":true + }, + "HandshakeParties":{ + "type":"list", + "member":{"shape":"HandshakeParty"} + }, + "HandshakeParty":{ + "type":"structure", + "required":[ + "Id", + "Type" + ], + "members":{ + "Id":{ + "shape":"HandshakePartyId", + "documentation":"

The unique identifier (ID) for the party.

The regex pattern for handshake ID string requires \"h-\" followed by from 8 to 32 lower-case letters or digits.

" + }, + "Type":{ + "shape":"HandshakePartyType", + "documentation":"

The type of party.

" + } + }, + "documentation":"

Identifies a participant in a handshake.

" + }, + "HandshakePartyId":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, + "HandshakePartyType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION", + "EMAIL" + ] + }, + "HandshakeResource":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"HandshakeResourceValue", + "documentation":"

The information that is passed to the other party in the handshake. The format of the value string must match the requirements of the specified type.

" + }, + "Type":{ + "shape":"HandshakeResourceType", + "documentation":"

The type of information being passed, specifying how the value is to be interpreted by the other party:

  • ACCOUNT - Specifies an AWS account ID number.

  • ORGANIZATION - Specifies an organization ID number.

  • EMAIL - Specifies the email address that is associated with the account that receives the handshake.

  • OWNER_EMAIL - Specifies the email address associated with the master account. Included as information about an organization.

  • OWNER_NAME - Specifies the name associated with the master account. Included as information about an organization.

  • NOTES - Additional text provided by the handshake initiator and intended for the recipient to read.

" + }, + "Resources":{ + "shape":"HandshakeResources", + "documentation":"

When needed, contains an additional array of HandshakeResource objects.

" + } + }, + "documentation":"

Contains additional data that is needed to process a handshake.

" + }, + "HandshakeResourceType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATION", + "ORGANIZATION_FEATURE_SET", + "EMAIL", + "MASTER_EMAIL", + "MASTER_NAME", + "NOTES", + "PARENT_HANDSHAKE" + ] + }, + "HandshakeResourceValue":{ + "type":"string", + "sensitive":true + }, + "HandshakeResources":{ + "type":"list", + "member":{"shape":"HandshakeResource"} + }, + "HandshakeState":{ + "type":"string", + "enum":[ + "REQUESTED", + "OPEN", + "CANCELED", + "ACCEPTED", + "DECLINED", + "EXPIRED" + ] + }, + "Handshakes":{ + "type":"list", + "member":{"shape":"Handshake"} + }, + "IAMUserAccessToBilling":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "InvalidHandshakeTransitionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't perform the operation on the handshake in its current state. For example, you can't cancel a handshake that was already accepted or accept a handshake that was already declined.

", + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "Reason":{"shape":"InvalidInputExceptionReason"} + }, + "documentation":"

The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit:

Some of the reasons in the following list might not be applicable to this specific API or operation:

  • IMMUTABLE_POLICY: You specified a policy that is managed by AWS and can't be modified.

  • INPUT_REQUIRED: You must include a value for all required parameters.

  • INVALID_ENUM: You specified an invalid value.

  • INVALID_FULL_NAME_TARGET: You specified a full name that contains invalid characters.

  • INVALID_LIST_MEMBER: You provided a list to a parameter that contains at least one invalid value.

  • INVALID_PAGINATION_TOKEN: Get the value for the NextToken parameter from the response to a previous call of the operation.

  • INVALID_PARTY_TYPE_TARGET: You specified the wrong type of entity (account, organization, or email) as a party.

  • INVALID_PATTERN: You provided a value that doesn't match the required pattern.

  • INVALID_PATTERN_TARGET_ID: You specified a policy target ID that doesn't match the required pattern.

  • INVALID_ROLE_NAME: You provided a role name that isn't valid. A role name can't begin with the reserved prefix AWSServiceRoleFor.

  • INVALID_SYNTAX_ORGANIZATION_ARN: You specified an invalid Amazon Resource Name (ARN) for the organization.

  • INVALID_SYNTAX_POLICY_ID: You specified an invalid policy ID.

  • INVALID_SYSTEM_TAGS_PARAMETER: You specified a tag key that is a system tag. You can’t add, edit, or delete system tag keys because they're reserved for AWS use. System tags don’t count against your tags per resource limit.

  • MAX_FILTER_LIMIT_EXCEEDED: You can specify only one filter parameter for the operation.

  • MAX_LENGTH_EXCEEDED: You provided a string parameter that is longer than allowed.

  • MAX_VALUE_EXCEEDED: You provided a numeric parameter that has a larger value than allowed.

  • MIN_LENGTH_EXCEEDED: You provided a string parameter that is shorter than allowed.

  • MIN_VALUE_EXCEEDED: You provided a numeric parameter that has a smaller value than allowed.

  • MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS: You can move an account only between entities in the same root.

", + "exception":true + }, + "InvalidInputExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_PARTY_TYPE_TARGET", + "INVALID_SYNTAX_ORGANIZATION_ARN", + "INVALID_SYNTAX_POLICY_ID", + "INVALID_ENUM", + "INVALID_ENUM_POLICY_TYPE", + "INVALID_LIST_MEMBER", + "MAX_LENGTH_EXCEEDED", + "MAX_VALUE_EXCEEDED", + "MIN_LENGTH_EXCEEDED", + "MIN_VALUE_EXCEEDED", + "IMMUTABLE_POLICY", + "INVALID_PATTERN", + "INVALID_PATTERN_TARGET_ID", + "INPUT_REQUIRED", + "INVALID_NEXT_TOKEN", + "MAX_LIMIT_EXCEEDED_FILTER", + "MOVING_ACCOUNT_BETWEEN_DIFFERENT_ROOTS", + "INVALID_FULL_NAME_TARGET", + "UNRECOGNIZED_SERVICE_PRINCIPAL", + "INVALID_ROLE_NAME", + "INVALID_SYSTEM_TAGS_PARAMETER", + "TARGET_NOT_SUPPORTED" + ] + }, + "InviteAccountToOrganizationRequest":{ + "type":"structure", + "required":["Target"], + "members":{ + "Target":{ + "shape":"HandshakeParty", + "documentation":"

The identifier (ID) of the AWS account that you want to invite to join your organization. This is a JSON object that contains the following elements:

{ \"Type\": \"ACCOUNT\", \"Id\": \"< account id number >\" }

If you use the AWS CLI, you can submit this as a single string, similar to the following example:

--target Id=123456789012,Type=ACCOUNT

If you specify \"Type\": \"ACCOUNT\", you must provide the AWS account ID number as the Id. If you specify \"Type\": \"EMAIL\", you must specify the email address that is associated with the account.

--target Id=diego@example.com,Type=EMAIL

" + }, + "Notes":{ + "shape":"HandshakeNotes", + "documentation":"

Additional information that you want to include in the generated email to the recipient account owner.

" + } + } + }, + "InviteAccountToOrganizationResponse":{ + "type":"structure", + "members":{ + "Handshake":{ + "shape":"Handshake", + "documentation":"

A structure that contains details about the handshake that is created to support this invitation request.

" + } + } + }, + "ListAWSServiceAccessForOrganizationRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListAWSServiceAccessForOrganizationResponse":{ + "type":"structure", + "members":{ + "EnabledServicePrincipals":{ + "shape":"EnabledServicePrincipals", + "documentation":"

A list of the service principals for the services that are enabled to integrate with your organization. Each principal is a structure that includes the name and the date that it was enabled for integration with AWS Organizations.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListAccountsForParentRequest":{ + "type":"structure", + "required":["ParentId"], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) for the parent root or organization unit (OU) whose accounts you want to list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListAccountsForParentResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"Accounts", + "documentation":"

A list of the accounts in the specified root or OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListAccountsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListAccountsResponse":{ + "type":"structure", + "members":{ + "Accounts":{ + "shape":"Accounts", + "documentation":"

A list of objects in the organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListChildrenRequest":{ + "type":"structure", + "required":[ + "ParentId", + "ChildType" + ], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) for the parent root or OU whose children you want to list.

The regex pattern for a parent ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "ChildType":{ + "shape":"ChildType", + "documentation":"

Filters the output to include only the specified child type.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListChildrenResponse":{ + "type":"structure", + "members":{ + "Children":{ + "shape":"Children", + "documentation":"

The list of children of the specified parent container.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListCreateAccountStatusRequest":{ + "type":"structure", + "members":{ + "States":{ + "shape":"CreateAccountStates", + "documentation":"

A list of one or more states that you want included in the response. If this parameter isn't present, all requests are included in the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListCreateAccountStatusResponse":{ + "type":"structure", + "members":{ + "CreateAccountStatuses":{ + "shape":"CreateAccountStatuses", + "documentation":"

A list of objects with details about the requests. Certain elements, such as the accountId number, are present in the output only after the account has been successfully created.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListDelegatedAdministratorsRequest":{ + "type":"structure", + "members":{ + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

Specifies a service principal name. If specified, then the operation lists the delegated administrators only for the specified service.

If you don't specify a service principal, the operation lists all delegated administrators for all services in your organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListDelegatedAdministratorsResponse":{ + "type":"structure", + "members":{ + "DelegatedAdministrators":{ + "shape":"DelegatedAdministrators", + "documentation":"

The list of delegated administrators in your organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListDelegatedServicesForAccountRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The account ID number of a delegated administrator account in the organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListDelegatedServicesForAccountResponse":{ + "type":"structure", + "members":{ + "DelegatedServices":{ + "shape":"DelegatedServices", + "documentation":"

The services for which the account is a delegated administrator.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListHandshakesForAccountRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"HandshakeFilter", + "documentation":"

Filters the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE_ALL_FEATURES, or APPROVE_ALL_FEATURES. Alternatively, for the ENABLE_ALL_FEATURES handshake that generates a separate child handshake for each member account, you can specify ParentHandshakeId to see only the handshakes that were generated by that parent request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListHandshakesForAccountResponse":{ + "type":"structure", + "members":{ + "Handshakes":{ + "shape":"Handshakes", + "documentation":"

A list of Handshake objects with details about each of the handshakes that is associated with the specified account.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListHandshakesForOrganizationRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"HandshakeFilter", + "documentation":"

A filter of the handshakes that you want included in the response. The default is all types. Use the ActionType element to limit the output to only a specified type, such as INVITE, ENABLE-ALL-FEATURES, or APPROVE-ALL-FEATURES. Alternatively, for the ENABLE-ALL-FEATURES handshake that generates a separate child handshake for each member account, you can specify the ParentHandshakeId to see only the handshakes that were generated by that parent request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListHandshakesForOrganizationResponse":{ + "type":"structure", + "members":{ + "Handshakes":{ + "shape":"Handshakes", + "documentation":"

A list of Handshake objects with details about each of the handshakes that are associated with an organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListOrganizationalUnitsForParentRequest":{ + "type":"structure", + "required":["ParentId"], + "members":{ + "ParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or OU whose child OUs you want to list.

The regex pattern for a parent ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListOrganizationalUnitsForParentResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnits":{ + "shape":"OrganizationalUnits", + "documentation":"

A list of the OUs in the specified root or parent OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListParentsRequest":{ + "type":"structure", + "required":["ChildId"], + "members":{ + "ChildId":{ + "shape":"ChildId", + "documentation":"

The unique identifier (ID) of the OU or account whose parent containers you want to list. Don't specify a root.

The regex pattern for a child ID string requires one of the following:

  • Account - A string that consists of exactly 12 digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListParentsResponse":{ + "type":"structure", + "members":{ + "Parents":{ + "shape":"Parents", + "documentation":"

A list of parents for the specified child account or OU.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListPoliciesForTargetRequest":{ + "type":"structure", + "required":[ + "TargetId", + "Filter" + ], + "members":{ + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the root, organizational unit, or account whose policies you want to list.

The regex pattern for a target ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Account - A string that consists of exactly 12 digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "Filter":{ + "shape":"PolicyType", + "documentation":"

The type of policy that you want to include in the returned list.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListPoliciesForTargetResponse":{ + "type":"structure", + "members":{ + "Policies":{ + "shape":"Policies", + "documentation":"

The list of policies that match the criteria in the request.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListPoliciesRequest":{ + "type":"structure", + "required":["Filter"], + "members":{ + "Filter":{ + "shape":"PolicyType", + "documentation":"

Specifies the type of policy that you want to include in the response.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListPoliciesResponse":{ + "type":"structure", + "members":{ + "Policies":{ + "shape":"Policies", + "documentation":"

A list of policies that match the filter criteria in the request. The output list doesn't include the policy contents. To see the content for a policy, see DescribePolicy.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListRootsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListRootsResponse":{ + "type":"structure", + "members":{ + "Roots":{ + "shape":"Roots", + "documentation":"

A list of roots that are defined in an organization.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource that you want to retrieve tags for.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

The tags that are assigned to the resource.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "ListTargetsForPolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy whose attachments you want to know.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

The parameter for receiving additional results if you receive a NextToken response in a previous request. A NextToken response indicates that more output is available. Set this parameter to the value of the previous call's NextToken response to indicate where the output should continue from.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The total number of results that you want included on each page of the response. If you do not include this parameter, it defaults to a value that is specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (is not null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Organizations might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

" + } + } + }, + "ListTargetsForPolicyResponse":{ + "type":"structure", + "members":{ + "Targets":{ + "shape":"PolicyTargets", + "documentation":"

A list of structures, each of which contains details about one of the entities to which the specified policy is attached.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If present, indicates that more output is available than is included in the current response. Use this value in the NextToken request parameter in a subsequent call to the operation to get the next part of the output. You should repeat this until the NextToken response element comes back as null.

" + } + } + }, + "MalformedPolicyDocumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The provided policy document doesn't meet the requirements of the specified policy type. For example, the syntax might be incorrect. For details about service control policy syntax, see Service Control Policy Syntax in the AWS Organizations User Guide.

", + "exception":true + }, + "MasterCannotLeaveOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't remove a master account from an organization. If you want the master account to become a member account in another organization, you must first delete the current organization of the master account.

", + "exception":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, + "MoveAccountRequest":{ + "type":"structure", + "required":[ + "AccountId", + "SourceParentId", + "DestinationParentId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the account that you want to move.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "SourceParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or organizational unit that you want to move the account from.

The regex pattern for a parent ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "DestinationParentId":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the root or organizational unit that you want to move the account to.

The regex pattern for a parent ID string requires one of the following:

  • Root - A string that begins with \"r-\" followed by from 4 to 32 lowercase letters or digits.

  • Organizational unit (OU) - A string that begins with \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + } + } + }, + "NextToken":{"type":"string"}, + "Organization":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OrganizationId", + "documentation":"

The unique identifier (ID) of an organization.

The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"OrganizationArn", + "documentation":"

The Amazon Resource Name (ARN) of an organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "FeatureSet":{ + "shape":"OrganizationFeatureSet", + "documentation":"

Specifies the functionality that currently is available to the organization. If set to \"ALL\", then all features are enabled and policies can be applied to accounts in the organization. If set to \"CONSOLIDATED_BILLING\", then only consolidated billing functionality is available. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

" + }, + "MasterAccountArn":{ + "shape":"AccountArn", + "documentation":"

The Amazon Resource Name (ARN) of the account that is designated as the master account for the organization.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "MasterAccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the master account of an organization.

The regex pattern for an account ID string requires exactly 12 digits.

" + }, + "MasterAccountEmail":{ + "shape":"Email", + "documentation":"

The email address that is associated with the AWS account that is designated as the master account for the organization.

" + }, + "AvailablePolicyTypes":{ + "shape":"PolicyTypes", + "documentation":"

A list of policy types that are enabled for this organization. For example, if your organization has all features enabled, then service control policies (SCPs) are included in the list.

Even if a policy type is shown as available in the organization, you can separately enable and disable them at the root level by using EnablePolicyType and DisablePolicyType. Use ListRoots to see the status of a policy type in that root.

" + } + }, + "documentation":"

Contains details about an organization. An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies .

" + }, + "OrganizationArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32}" + }, + "OrganizationFeatureSet":{ + "type":"string", + "enum":[ + "ALL", + "CONSOLIDATED_BILLING" + ] + }, + "OrganizationId":{ + "type":"string", + "pattern":"^o-[a-z0-9]{10,32}$" + }, + "OrganizationNotEmptyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The organization isn't empty. To delete an organization, you must first remove all accounts except the master account, delete all OUs, and delete all policies.

", + "exception":true + }, + "OrganizationalUnit":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) associated with this OU.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Arn":{ + "shape":"OrganizationalUnitArn", + "documentation":"

The Amazon Resource Name (ARN) of this OU.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The friendly name of this OU.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + } + }, + "documentation":"

Contains details about an organizational unit (OU). An OU is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.

" + }, + "OrganizationalUnitArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:ou\\/o-[a-z0-9]{10,32}\\/ou-[0-9a-z]{4,32}-[0-9a-z]{8,32}" + }, + "OrganizationalUnitId":{ + "type":"string", + "pattern":"^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$" + }, + "OrganizationalUnitName":{ + "type":"string", + "max":128, + "min":1 + }, + "OrganizationalUnitNotEmptyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified OU is not empty. Move all accounts to another root or to other OUs, remove all child OUs, and try the operation again.

", + "exception":true + }, + "OrganizationalUnitNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find an OU with the OrganizationalUnitId that you specified.

", + "exception":true + }, + "OrganizationalUnits":{ + "type":"list", + "member":{"shape":"OrganizationalUnit"} + }, + "Parent":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ParentId", + "documentation":"

The unique identifier (ID) of the parent entity.

The regex pattern for a parent ID string requires one of the following:

  • Root: A string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Organizational unit (OU): A string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Type":{ + "shape":"ParentType", + "documentation":"

The type of the parent entity.

" + } + }, + "documentation":"

Contains information about either a root or an organizational unit (OU) that can contain OUs or accounts in an organization.

" + }, + "ParentId":{ + "type":"string", + "pattern":"^(r-[0-9a-z]{4,32})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "ParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root or OU with the ParentId that you specified.

", + "exception":true + }, + "ParentType":{ + "type":"string", + "enum":[ + "ROOT", + "ORGANIZATIONAL_UNIT" + ] + }, + "Parents":{ + "type":"list", + "member":{"shape":"Parent"} + }, + "Policies":{ + "type":"list", + "member":{"shape":"PolicySummary"} + }, + "Policy":{ + "type":"structure", + "members":{ + "PolicySummary":{ + "shape":"PolicySummary", + "documentation":"

A structure that contains additional details about the policy.

" + }, + "Content":{ + "shape":"PolicyContent", + "documentation":"

The text content of the policy.

" + } + }, + "documentation":"

Contains rules to be applied to the affected accounts. Policies can be attached directly to accounts, or to roots and OUs to affect all accounts in those hierarchies.

" + }, + "PolicyArn":{ + "type":"string", + "pattern":"^(arn:aws:organizations::\\d{12}:policy\\/o-[a-z0-9]{10,32}\\/[0-9a-z_]+\\/p-[0-9a-z]{10,32})|(arn:aws:organizations::aws:policy\\/[0-9a-z_]+\\/p-[0-9a-zA-Z_]{10,128})" + }, + "PolicyChangesInProgressException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

Changes to the effective policy are in progress, and its contents can't be returned. Try the operation again later.

", + "exception":true + }, + "PolicyContent":{ + "type":"string", + "max":1000000, + "min":1 + }, + "PolicyDescription":{ + "type":"string", + "max":512 + }, + "PolicyId":{ + "type":"string", + "pattern":"^p-[0-9a-zA-Z_]{8,128}$" + }, + "PolicyInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The policy is attached to one or more entities. You must detach it from all roots, OUs, and accounts before performing this operation.

", + "exception":true + }, + "PolicyName":{ + "type":"string", + "max":128, + "min":1 + }, + "PolicyNotAttachedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The policy isn't attached to the specified target in the specified root.

", + "exception":true + }, + "PolicyNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a policy with the PolicyId that you specified.

", + "exception":true + }, + "PolicySummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"PolicyArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

The friendly name of the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

The description of the policy.

" + }, + "Type":{ + "shape":"PolicyType", + "documentation":"

The type of policy.

" + }, + "AwsManaged":{ + "shape":"AwsManagedPolicy", + "documentation":"

A boolean value that indicates whether the specified policy is an AWS managed policy. If true, then you can attach the policy to roots, OUs, or accounts, but you cannot edit it.

" + } + }, + "documentation":"

Contains information about a policy, but does not include the content. To see the content of a policy, see DescribePolicy.

" + }, + "PolicyTargetId":{ + "type":"string", + "pattern":"^(r-[0-9a-z]{4,32})|(\\d{12})|(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32})$" + }, + "PolicyTargetSummary":{ + "type":"structure", + "members":{ + "TargetId":{ + "shape":"PolicyTargetId", + "documentation":"

The unique identifier (ID) of the policy target.

The regex pattern for a target ID string requires one of the following:

  • Root: A string that begins with \"r-\" followed by from 4 to 32 lower-case letters or digits.

  • Account: A string that consists of exactly 12 digits.

  • Organizational unit (OU): A string that begins with \"ou-\" followed by from 4 to 32 lower-case letters or digits (the ID of the root that the OU is in). This string is followed by a second \"-\" dash and from 8 to 32 additional lower-case letters or digits.

" + }, + "Arn":{ + "shape":"GenericArn", + "documentation":"

The Amazon Resource Name (ARN) of the policy target.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"TargetName", + "documentation":"

The friendly name of the policy target.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Type":{ + "shape":"TargetType", + "documentation":"

The type of the policy target.

" + } + }, + "documentation":"

Contains information about a root, OU, or account that a policy is attached to.

" + }, + "PolicyTargets":{ + "type":"list", + "member":{"shape":"PolicyTargetSummary"} + }, + "PolicyType":{ + "type":"string", + "enum":[ + "SERVICE_CONTROL_POLICY", + "TAG_POLICY" + ] + }, + "PolicyTypeAlreadyEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified policy type is already enabled in the specified root.

", + "exception":true + }, + "PolicyTypeNotAvailableForOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You can't use the specified policy type with the feature set currently enabled for this organization. For example, you can enable SCPs only after you enable all features in the organization. For more information, see Enabling and Disabling a Policy Type on a Root in the AWS Organizations User Guide.

", + "exception":true + }, + "PolicyTypeNotEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

The specified policy type isn't currently enabled in this root. You can't attach policies of the specified type to entities in a root until you enable that type in the root. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

", + "exception":true + }, + "PolicyTypeStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "PENDING_ENABLE", + "PENDING_DISABLE" + ] + }, + "PolicyTypeSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"PolicyType", + "documentation":"

The name of the policy type.

" + }, + "Status":{ + "shape":"PolicyTypeStatus", + "documentation":"

The status of the policy type as it relates to the associated root. To attach a policy of the specified type to a root or to an OU or account in that root, it must be available in the organization and enabled for that root.

" + } + }, + "documentation":"

Contains information about a policy type and its status in the associated root.

" + }, + "PolicyTypes":{ + "type":"list", + "member":{"shape":"PolicyTypeSummary"} + }, + "RegisterDelegatedAdministratorRequest":{ + "type":"structure", + "required":[ + "AccountId", + "ServicePrincipal" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The account ID number of the member account in the organization to register as a delegated administrator.

" + }, + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

The service principal of the AWS service for which you want to make the member account a delegated administrator.

" + } + } + }, + "RemoveAccountFromOrganizationRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

The unique identifier (ID) of the member account that you want to remove from the organization.

The regex pattern for an account ID string requires exactly 12 digits.

" + } + } + }, + "RoleName":{ + "type":"string", + "pattern":"[\\w+=,.@-]{1,64}" + }, + "Root":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"RootId", + "documentation":"

The unique identifier (ID) for the root.

The regex pattern for a root ID string requires \"r-\" followed by from 4 to 32 lower-case letters or digits.

" + }, + "Arn":{ + "shape":"RootArn", + "documentation":"

The Amazon Resource Name (ARN) of the root.

For more information about ARNs in Organizations, see ARN Formats Supported by Organizations in the AWS Organizations User Guide.

" + }, + "Name":{ + "shape":"RootName", + "documentation":"

The friendly name of the root.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "PolicyTypes":{ + "shape":"PolicyTypes", + "documentation":"

The types of policies that are currently enabled for the root and therefore can be attached to the root or to its OUs or accounts.

Even if a policy type is shown as available in the organization, you can separately enable and disable them at the root level by using EnablePolicyType and DisablePolicyType. Use DescribeOrganization to see the availability of the policy types in that organization.

" + } + }, + "documentation":"

Contains details about a root. A root is a top-level parent node in the hierarchy of an organization that can contain organizational units (OUs) and accounts. Every root contains every AWS account in the organization. Each root enables the accounts to be organized in a different way and to have different policy types enabled for use in that root.

" + }, + "RootArn":{ + "type":"string", + "pattern":"^arn:aws:organizations::\\d{12}:root\\/o-[a-z0-9]{10,32}\\/r-[0-9a-z]{4,32}" + }, + "RootId":{ + "type":"string", + "pattern":"^r-[0-9a-z]{4,32}$" + }, + "RootName":{ + "type":"string", + "max":128, + "min":1 + }, + "RootNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root with the RootId that you specified.

", + "exception":true + }, + "Roots":{ + "type":"list", + "member":{"shape":"Root"} + }, + "ServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

AWS Organizations can't complete your request because of an internal service error. Try again later.

", + "exception":true + }, + "ServicePrincipal":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+=,.@-]*" + }, + "SourceParentNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a source root or OU with the ParentId that you specified.

", + "exception":true + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

The key identifier, or name, of the tag.

" + }, + "Value":{ + "shape":"TagValue", + "documentation":"

The string value that's associated with the key of the tag. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.

" + } + }, + "documentation":"

A custom key-value pair associated with a resource such as an account within your organization.

" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Tags" + ], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource to add a tag to.

" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

The tag to add to the specified resource. Specifying the tag key is required. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.

" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TaggableResourceId":{ + "type":"string", + "pattern":"^\\d{12}$" + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TargetName":{ + "type":"string", + "max":128, + "min":1 + }, + "TargetNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

We can't find a root, OU, or account with the TargetId that you specified.

", + "exception":true + }, + "TargetType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "ORGANIZATIONAL_UNIT", + "ROOT" + ] + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Type":{"shape":"ExceptionType"}, + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

You have sent too many requests in too short a period of time. The limit helps protect against denial-of-service attacks. Try again later.

For information on limits that affect AWS Organizations, see Limits of AWS Organizations in the AWS Organizations User Guide.

", + "exception":true + }, + "UnsupportedAPIEndpointException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

This action isn't available in the current Region.

", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "TagKeys" + ], + "members":{ + "ResourceId":{ + "shape":"TaggableResourceId", + "documentation":"

The ID of the resource to remove the tag from.

" + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

The tag to remove from the specified resource.

" + } + } + }, + "UpdateOrganizationalUnitRequest":{ + "type":"structure", + "required":["OrganizationalUnitId"], + "members":{ + "OrganizationalUnitId":{ + "shape":"OrganizationalUnitId", + "documentation":"

The unique identifier (ID) of the OU that you want to rename. You can get the ID from the ListOrganizationalUnitsForParent operation.

The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits.

" + }, + "Name":{ + "shape":"OrganizationalUnitName", + "documentation":"

The new name that you want to assign to the OU.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + } + } + }, + "UpdateOrganizationalUnitResponse":{ + "type":"structure", + "members":{ + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

A structure that contains the details about the specified OU, including its new name.

" + } + } + }, + "UpdatePolicyRequest":{ + "type":"structure", + "required":["PolicyId"], + "members":{ + "PolicyId":{ + "shape":"PolicyId", + "documentation":"

The unique identifier (ID) of the policy that you want to update.

The regex pattern for a policy ID string requires \"p-\" followed by from 8 to 128 lowercase or uppercase letters, digits, or the underscore character (_).

" + }, + "Name":{ + "shape":"PolicyName", + "documentation":"

If provided, the new name for the policy.

The regex pattern that is used to validate this parameter is a string of any of the characters in the ASCII character range.

" + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

If provided, the new description for the policy.

" + }, + "Content":{ + "shape":"PolicyContent", + "documentation":"

If provided, the new content for the policy. The text must be correctly formatted JSON that complies with the syntax for the policy's type. For more information, see Service Control Policy Syntax in the AWS Organizations User Guide.

" + } + } + }, + "UpdatePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

A structure that contains details about the updated policy, showing the requested changes.

" + } + } + } + }, + "documentation":"AWS Organizations" +} diff -Nru python-botocore-1.4.70/botocore/data/outposts/2019-12-03/paginators-1.json python-botocore-1.16.19+repack/botocore/data/outposts/2019-12-03/paginators-1.json --- python-botocore-1.4.70/botocore/data/outposts/2019-12-03/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/outposts/2019-12-03/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/outposts/2019-12-03/service-2.json python-botocore-1.16.19+repack/botocore/data/outposts/2019-12-03/service-2.json --- python-botocore-1.4.70/botocore/data/outposts/2019-12-03/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/outposts/2019-12-03/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,467 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-12-03", + "endpointPrefix":"outposts", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Outposts", + "serviceFullName":"AWS Outposts", + "serviceId":"Outposts", + "signatureVersion":"v4", + "signingName":"outposts", + "uid":"outposts-2019-12-03" + }, + "operations":{ + "CreateOutpost":{ + "name":"CreateOutpost", + "http":{ + "method":"POST", + "requestUri":"/outposts" + }, + "input":{"shape":"CreateOutpostInput"}, + "output":{"shape":"CreateOutpostOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

Creates an Outpost.

" + }, + "DeleteOutpost":{ + "name":"DeleteOutpost", + "http":{ + "method":"DELETE", + "requestUri":"/outposts/{OutpostId}" + }, + "input":{"shape":"DeleteOutpostInput"}, + "output":{"shape":"DeleteOutpostOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes the Outpost.

" + }, + "DeleteSite":{ + "name":"DeleteSite", + "http":{ + "method":"DELETE", + "requestUri":"/sites/{SiteId}" + }, + "input":{"shape":"DeleteSiteInput"}, + "output":{"shape":"DeleteSiteOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Deletes the site.

" + }, + "GetOutpost":{ + "name":"GetOutpost", + "http":{ + "method":"GET", + "requestUri":"/outposts/{OutpostId}" + }, + "input":{"shape":"GetOutpostInput"}, + "output":{"shape":"GetOutpostOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Gets information about the specified Outpost.

" + }, + "GetOutpostInstanceTypes":{ + "name":"GetOutpostInstanceTypes", + "http":{ + "method":"GET", + "requestUri":"/outposts/{OutpostId}/instanceTypes" + }, + "input":{"shape":"GetOutpostInstanceTypesInput"}, + "output":{"shape":"GetOutpostInstanceTypesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"NotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the instance types for the specified Outpost.

" + }, + "ListOutposts":{ + "name":"ListOutposts", + "http":{ + "method":"GET", + "requestUri":"/outposts" + }, + "input":{"shape":"ListOutpostsInput"}, + "output":{"shape":"ListOutpostsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

List the Outposts for your AWS account.

" + }, + "ListSites":{ + "name":"ListSites", + "http":{ + "method":"GET", + "requestUri":"/sites" + }, + "input":{"shape":"ListSitesInput"}, + "output":{"shape":"ListSitesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

Lists the sites for the specified AWS account.

" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You do not have permission to perform this operation.

", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AccountId":{ + "type":"string", + "documentation":"

The ID of the AWS account.

", + "max":12, + "min":12 + }, + "AvailabilityZone":{ + "type":"string", + "documentation":"

The Availability Zone.

You must specify AvailabilityZone or AvailabilityZoneId.

", + "max":1000, + "min":1, + "pattern":"[a-z\\d-]+" + }, + "AvailabilityZoneId":{ + "type":"string", + "documentation":"

The ID of the Availability Zone.

You must specify AvailabilityZone or AvailabilityZoneId.

", + "max":255, + "min":1, + "pattern":"[a-z]+[0-9]+-az[0-9]+" + }, + "CreateOutpostInput":{ + "type":"structure", + "required":["SiteId"], + "members":{ + "Name":{"shape":"OutpostName"}, + "Description":{"shape":"OutpostDescription"}, + "SiteId":{"shape":"SiteId"}, + "AvailabilityZone":{"shape":"AvailabilityZone"}, + "AvailabilityZoneId":{"shape":"AvailabilityZoneId"} + } + }, + "CreateOutpostOutput":{ + "type":"structure", + "members":{ + "Outpost":{"shape":"Outpost"} + } + }, + "DeleteOutpostInput":{ + "type":"structure", + "required":["OutpostId"], + "members":{ + "OutpostId":{ + "shape":"OutpostId", + "location":"uri", + "locationName":"OutpostId" + } + } + }, + "DeleteOutpostOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteSiteInput":{ + "type":"structure", + "required":["SiteId"], + "members":{ + "SiteId":{ + "shape":"SiteId", + "location":"uri", + "locationName":"SiteId" + } + } + }, + "DeleteSiteOutput":{ + "type":"structure", + "members":{ + } + }, + "ErrorMessage":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^[\\S \\n]+$" + }, + "GetOutpostInput":{ + "type":"structure", + "required":["OutpostId"], + "members":{ + "OutpostId":{ + "shape":"OutpostId", + "location":"uri", + "locationName":"OutpostId" + } + } + }, + "GetOutpostInstanceTypesInput":{ + "type":"structure", + "required":["OutpostId"], + "members":{ + "OutpostId":{ + "shape":"OutpostId", + "location":"uri", + "locationName":"OutpostId" + }, + "NextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults1000", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "GetOutpostInstanceTypesOutput":{ + "type":"structure", + "members":{ + "InstanceTypes":{"shape":"InstanceTypeListDefinition"}, + "NextToken":{"shape":"Token"}, + "OutpostId":{"shape":"OutpostId"}, + "OutpostArn":{"shape":"OutpostArn"} + } + }, + "GetOutpostOutput":{ + "type":"structure", + "members":{ + "Outpost":{"shape":"Outpost"} + } + }, + "InstanceType":{ + "type":"string", + "documentation":"

The instance type.

" + }, + "InstanceTypeItem":{ + "type":"structure", + "members":{ + "InstanceType":{"shape":"InstanceType"} + }, + "documentation":"

Information about an instance type.

" + }, + "InstanceTypeListDefinition":{ + "type":"list", + "member":{"shape":"InstanceTypeItem"}, + "documentation":"

Information about the instance types.

" + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

An internal error has occurred.

", + "error":{"httpStatusCode":500}, + "exception":true + }, + "LifeCycleStatus":{ + "type":"string", + "documentation":"

The life cycle status.

" + }, + "ListOutpostsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults1000", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListOutpostsOutput":{ + "type":"structure", + "members":{ + "Outposts":{"shape":"outpostListDefinition"}, + "NextToken":{"shape":"Token"} + } + }, + "ListSitesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults1000", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListSitesOutput":{ + "type":"structure", + "members":{ + "Sites":{"shape":"siteListDefinition"}, + "NextToken":{"shape":"Token"} + } + }, + "MaxResults1000":{ + "type":"integer", + "documentation":"

The maximum page size.

", + "box":true, + "max":1000, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified request is not valid.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Outpost":{ + "type":"structure", + "members":{ + "OutpostId":{"shape":"OutpostId"}, + "OwnerId":{"shape":"OwnerId"}, + "OutpostArn":{"shape":"OutpostArn"}, + "SiteId":{"shape":"SiteId"}, + "Name":{"shape":"OutpostName"}, + "Description":{"shape":"OutpostDescription"}, + "LifeCycleStatus":{"shape":"LifeCycleStatus"}, + "AvailabilityZone":{"shape":"AvailabilityZone"}, + "AvailabilityZoneId":{"shape":"AvailabilityZoneId"} + }, + "documentation":"

Information about an Outpost.

" + }, + "OutpostArn":{ + "type":"string", + "documentation":"

The Amazon Resource Name (ARN) of the Outpost.

", + "max":255, + "min":1, + "pattern":"^arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/op-[a-f0-9]{17}$" + }, + "OutpostDescription":{ + "type":"string", + "documentation":"

The Outpost description.

", + "max":1000, + "min":1, + "pattern":"^[\\S ]+$" + }, + "OutpostId":{ + "type":"string", + "documentation":"

The ID of the Outpost.

", + "max":180, + "min":1, + "pattern":"^(arn:aws([a-z-]+)?:outposts:[a-z\\d-]+:\\d{12}:outpost/)?op-[a-f0-9]{17}$" + }, + "OutpostName":{ + "type":"string", + "documentation":"

The name of the Outpost.

", + "max":255, + "min":1, + "pattern":"^[\\S ]+$" + }, + "OwnerId":{ + "type":"string", + "documentation":"

The AWS account ID of the Outpost owner.

", + "max":12, + "min":12, + "pattern":"\\d{12}" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

You have exceeded a service quota.

", + "error":{"httpStatusCode":402}, + "exception":true + }, + "Site":{ + "type":"structure", + "members":{ + "SiteId":{"shape":"SiteId"}, + "AccountId":{"shape":"AccountId"}, + "Name":{"shape":"SiteName"}, + "Description":{"shape":"SiteDescription"} + }, + "documentation":"

Information about a site.

" + }, + "SiteDescription":{ + "type":"string", + "documentation":"

The description of the site.

", + "max":1000, + "min":1, + "pattern":"^[\\S ]+$" + }, + "SiteId":{ + "type":"string", + "documentation":"

The ID of the site.

", + "max":255, + "min":1, + "pattern":"os-[a-f0-9]{17}" + }, + "SiteName":{ + "type":"string", + "documentation":"

The name of the site.

", + "max":1000, + "min":1, + "pattern":"^[\\S ]+$" + }, + "Token":{ + "type":"string", + "documentation":"

The pagination token.

", + "max":1005, + "min":1, + "pattern":".*\\S.*" + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

A parameter is not valid.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "outpostListDefinition":{ + "type":"list", + "member":{"shape":"Outpost"}, + "documentation":"

Information about the Outposts.

" + }, + "siteListDefinition":{ + "type":"list", + "member":{"shape":"Site"}, + "documentation":"

Information about the sites.

" + } + }, + "documentation":"

AWS Outposts is a fully-managed service that extends AWS infrastructure, APIs, and tools to customer premises. By providing local access to AWS-managed infrastructure, AWS Outposts enables customers to build and run applications on premises using the same programming interfaces as in AWS Regions, while using local compute and storage resources for lower latency and local data processing needs.

" +} diff -Nru python-botocore-1.4.70/botocore/data/personalize/2018-05-22/paginators-1.json python-botocore-1.16.19+repack/botocore/data/personalize/2018-05-22/paginators-1.json --- python-botocore-1.4.70/botocore/data/personalize/2018-05-22/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize/2018-05-22/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,64 @@ +{ + "pagination": { + "ListCampaigns": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "campaigns" + }, + "ListDatasetGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetGroups" + }, + "ListDatasetImportJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasetImportJobs" + }, + "ListDatasets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "datasets" + }, + "ListEventTrackers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "eventTrackers" + }, + "ListRecipes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "recipes" + }, + "ListSchemas": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "schemas" + }, + "ListSolutionVersions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "solutionVersions" + }, + "ListSolutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "solutions" + }, + "ListBatchInferenceJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "batchInferenceJobs" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/personalize/2018-05-22/service-2.json python-botocore-1.16.19+repack/botocore/data/personalize/2018-05-22/service-2.json --- python-botocore-1.4.70/botocore/data/personalize/2018-05-22/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize/2018-05-22/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3004 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-22", + "endpointPrefix":"personalize", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Personalize", + "serviceId":"Personalize", + "signatureVersion":"v4", + "signingName":"personalize", + "targetPrefix":"AmazonPersonalize", + "uid":"personalize-2018-05-22" + }, + "operations":{ + "CreateBatchInferenceJob":{ + "name":"CreateBatchInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBatchInferenceJobRequest"}, + "output":{"shape":"CreateBatchInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates a batch inference job. The operation can handle up to 50 million records and the input file must be in JSON format. For more information, see recommendations-batch.

" + }, + "CreateCampaign":{ + "name":"CreateCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCampaignRequest"}, + "output":{"shape":"CreateCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates a campaign by deploying a solution version. When a client calls the GetRecommendations and GetPersonalizedRanking APIs, a campaign is specified in the request.

Minimum Provisioned TPS and Auto-Scaling

A transaction is a single GetRecommendations or GetPersonalizedRanking call. Transactions per second (TPS) is the throughput and unit of billing for Amazon Personalize. The minimum provisioned TPS (minProvisionedTPS) specifies the baseline throughput provisioned by Amazon Personalize, and thus, the minimum billing charge. If your TPS increases beyond minProvisionedTPS, Amazon Personalize auto-scales the provisioned capacity up and down, but never below minProvisionedTPS, to maintain a 70% utilization. There's a short time delay while the capacity is increased that might cause loss of transactions. It's recommended to start with a low minProvisionedTPS, track your usage using Amazon CloudWatch metrics, and then increase the minProvisionedTPS as necessary.

Status

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the campaign status, call DescribeCampaign.

Wait until the status of the campaign is ACTIVE before asking the campaign for recommendations.

Related APIs

", + "idempotent":true + }, + "CreateDataset":{ + "name":"CreateDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetRequest"}, + "output":{"shape":"CreateDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates an empty dataset and adds it to the specified dataset group. Use CreateDatasetImportJob to import your training data to a dataset.

There are three types of datasets:

  • Interactions

  • Items

  • Users

Each dataset type has an associated schema with required field types. Only the Interactions dataset is required in order to train a model (also referred to as creating a solution).

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the dataset, call DescribeDataset.

Related APIs

", + "idempotent":true + }, + "CreateDatasetGroup":{ + "name":"CreateDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetGroupRequest"}, + "output":{"shape":"CreateDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an empty dataset group. A dataset group contains related datasets that supply data for training a model. A dataset group can contain at most three datasets, one for each type of dataset:

  • Interactions

  • Items

  • Users

To train a model (create a solution), a dataset group that contains an Interactions dataset is required. Call CreateDataset to add a dataset to the group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

To get the status of the dataset group, call DescribeDatasetGroup. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the creation failed.

You must wait until the status of the dataset group is ACTIVE before adding a dataset to the group.

You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group. If you specify a KMS key, you must also include an AWS Identity and Access Management (IAM) role that has permission to access the key.

APIs that require a dataset group ARN in the request

Related APIs

" + }, + "CreateDatasetImportJob":{ + "name":"CreateDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDatasetImportJobRequest"}, + "output":{"shape":"CreateDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates a job that imports training data from your data source (an Amazon S3 bucket) to an Amazon Personalize dataset. To allow Amazon Personalize to import the training data, you must specify an AWS Identity and Access Management (IAM) role that has permission to read from the data source.

The dataset import job replaces any previous data in the dataset.

Status

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

To get the status of the import job, call DescribeDatasetImportJob, providing the Amazon Resource Name (ARN) of the dataset import job. The dataset import is complete when the status shows as ACTIVE. If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Importing takes time. You must wait until the status shows as ACTIVE before training a model using the dataset.

Related APIs

" + }, + "CreateEventTracker":{ + "name":"CreateEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventTrackerRequest"}, + "output":{"shape":"CreateEventTrackerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates an event tracker that you use when sending event data to the specified dataset group using the PutEvents API.

When Amazon Personalize creates an event tracker, it also creates an event-interactions dataset in the dataset group associated with the event tracker. The event-interactions dataset stores the event data from the PutEvents call. The contents of this dataset are not available to the user.

Only one event tracker can be associated with a dataset group. You will get an error if you call CreateEventTracker using the same dataset group as an existing event tracker.

When you send event data you include your tracking ID. The tracking ID identifies the customer and authorizes the customer to send the data.

The event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the event tracker, call DescribeEventTracker.

The event tracker must be in the ACTIVE state before using the tracking ID.

Related APIs

", + "idempotent":true + }, + "CreateSchema":{ + "name":"CreateSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSchemaRequest"}, + "output":{"shape":"CreateSchemaResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

Creates an Amazon Personalize schema from the specified schema string. The schema you create must be in Avro JSON format.

Amazon Personalize recognizes three schema variants. Each schema is associated with a dataset type and has a set of required field and keywords. You specify a schema when you call CreateDataset.

Related APIs

", + "idempotent":true + }, + "CreateSolution":{ + "name":"CreateSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSolutionRequest"}, + "output":{"shape":"CreateSolutionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Creates the configuration for training a model. A trained model is known as a solution. After the configuration is created, you train the model (create a solution) by calling the CreateSolutionVersion operation. Every time you call CreateSolutionVersion, a new version of the solution is created.

After creating a solution version, you check its accuracy by calling GetSolutionMetrics. When you are satisfied with the version, you deploy it using CreateCampaign. The campaign provides recommendations to a client through the GetRecommendations API.

To train a model, Amazon Personalize requires training data and a recipe. The training data comes from the dataset group that you provide in the request. A recipe specifies the training algorithm and a feature transformation. You can specify one of the predefined recipes provided by Amazon Personalize. Alternatively, you can specify performAutoML and Amazon Personalize will analyze your data and select the optimum USER_PERSONALIZATION recipe for you.

Status

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

To get the status of the solution, call DescribeSolution. Wait until the status shows as ACTIVE before calling CreateSolutionVersion.

Related APIs

" + }, + "CreateSolutionVersion":{ + "name":"CreateSolutionVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSolutionVersionRequest"}, + "output":{"shape":"CreateSolutionVersionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Trains or retrains an active solution. A solution is created using the CreateSolution operation and must be in the ACTIVE state before calling CreateSolutionVersion. A new version of the solution is created every time you call this operation.

Status

A solution version can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

To get the status of the version, call DescribeSolutionVersion. Wait until the status shows as ACTIVE before calling CreateCampaign.

If the status shows as CREATE FAILED, the response includes a failureReason key, which describes why the job failed.

Related APIs

" + }, + "DeleteCampaign":{ + "name":"DeleteCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCampaignRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Removes a campaign by deleting the solution deployment. The solution that the campaign is based on is not deleted and can be redeployed when needed. A deleted campaign can no longer be specified in a GetRecommendations request. For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "DeleteDataset":{ + "name":"DeleteDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset. You can't delete a dataset if an associated DatasetImportJob or SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "DeleteDatasetGroup":{ + "name":"DeleteDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDatasetGroupRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a dataset group. Before you delete a dataset group, you must delete the following:

  • All associated event trackers.

  • All associated solutions.

  • All datasets in the dataset group.

", + "idempotent":true + }, + "DeleteEventTracker":{ + "name":"DeleteEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventTrackerRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes the event tracker. Does not delete the event-interactions dataset from the associated dataset group. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "DeleteSchema":{ + "name":"DeleteSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSchemaRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes a schema. Before deleting a schema, you must delete all datasets referencing the schema. For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "DeleteSolution":{ + "name":"DeleteSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSolutionRequest"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Deletes all versions of a solution and the Solution object itself. Before deleting a solution, you must delete all campaigns based on the solution. To determine what campaigns are using the solution, call ListCampaigns and supply the Amazon Resource Name (ARN) of the solution. You can't delete a solution if an associated SolutionVersion is in the CREATE PENDING or IN PROGRESS state. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "DescribeAlgorithm":{ + "name":"DescribeAlgorithm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAlgorithmRequest"}, + "output":{"shape":"DescribeAlgorithmResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given algorithm.

", + "idempotent":true + }, + "DescribeBatchInferenceJob":{ + "name":"DescribeBatchInferenceJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBatchInferenceJobRequest"}, + "output":{"shape":"DescribeBatchInferenceJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Gets the properties of a batch inference job including name, Amazon Resource Name (ARN), status, input and output configurations, and the ARN of the solution version used to generate the recommendations.

", + "idempotent":true + }, + "DescribeCampaign":{ + "name":"DescribeCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCampaignRequest"}, + "output":{"shape":"DescribeCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given campaign, including its status.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

When the status is CREATE FAILED, the response includes the failureReason key, which describes why.

For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "DescribeDataset":{ + "name":"DescribeDataset", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetRequest"}, + "output":{"shape":"DescribeDatasetResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given dataset. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "DescribeDatasetGroup":{ + "name":"DescribeDatasetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetGroupRequest"}, + "output":{"shape":"DescribeDatasetGroupResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given dataset group. For more information on dataset groups, see CreateDatasetGroup.

", + "idempotent":true + }, + "DescribeDatasetImportJob":{ + "name":"DescribeDatasetImportJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDatasetImportJobRequest"}, + "output":{"shape":"DescribeDatasetImportJobResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the dataset import job created by CreateDatasetImportJob, including the import job status.

", + "idempotent":true + }, + "DescribeEventTracker":{ + "name":"DescribeEventTracker", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventTrackerRequest"}, + "output":{"shape":"DescribeEventTrackerResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes an event tracker. The response includes the trackingId and status of the event tracker. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "DescribeFeatureTransformation":{ + "name":"DescribeFeatureTransformation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFeatureTransformationRequest"}, + "output":{"shape":"DescribeFeatureTransformationResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes the given feature transformation.

", + "idempotent":true + }, + "DescribeRecipe":{ + "name":"DescribeRecipe", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRecipeRequest"}, + "output":{"shape":"DescribeRecipeResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a recipe.

A recipe contains three items:

  • An algorithm that trains a model.

  • Hyperparameters that govern the training.

  • Feature transformation information for modifying the input data before training.

Amazon Personalize provides a set of predefined recipes. You specify a recipe when you create a solution with the CreateSolution API. CreateSolution trains a model by using the algorithm in the specified recipe and a training dataset. The solution, when deployed as a campaign, can provide recommendations using the GetRecommendations API.

", + "idempotent":true + }, + "DescribeSchema":{ + "name":"DescribeSchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSchemaRequest"}, + "output":{"shape":"DescribeSchemaResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a schema. For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "DescribeSolution":{ + "name":"DescribeSolution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSolutionRequest"}, + "output":{"shape":"DescribeSolutionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a solution. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "DescribeSolutionVersion":{ + "name":"DescribeSolutionVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSolutionVersionRequest"}, + "output":{"shape":"DescribeSolutionVersionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Describes a specific version of a solution. For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "GetSolutionMetrics":{ + "name":"GetSolutionMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSolutionMetricsRequest"}, + "output":{"shape":"GetSolutionMetricsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Gets the metrics for the specified solution version.

" + }, + "ListBatchInferenceJobs":{ + "name":"ListBatchInferenceJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBatchInferenceJobsRequest"}, + "output":{"shape":"ListBatchInferenceJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Gets a list of the batch inference jobs that have been performed off of a solution version.

", + "idempotent":true + }, + "ListCampaigns":{ + "name":"ListCampaigns", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCampaignsRequest"}, + "output":{"shape":"ListCampaignsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of campaigns that use the given solution. When a solution is not specified, all the campaigns associated with the account are listed. The response provides the properties for each campaign, including the Amazon Resource Name (ARN). For more information on campaigns, see CreateCampaign.

", + "idempotent":true + }, + "ListDatasetGroups":{ + "name":"ListDatasetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetGroupsRequest"}, + "output":{"shape":"ListDatasetGroupsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of dataset groups. The response provides the properties for each dataset group, including the Amazon Resource Name (ARN). For more information on dataset groups, see CreateDatasetGroup.

", + "idempotent":true + }, + "ListDatasetImportJobs":{ + "name":"ListDatasetImportJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetImportJobsRequest"}, + "output":{"shape":"ListDatasetImportJobsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of dataset import jobs that use the given dataset. When a dataset is not specified, all the dataset import jobs associated with the account are listed. The response provides the properties for each dataset import job, including the Amazon Resource Name (ARN). For more information on dataset import jobs, see CreateDatasetImportJob. For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "ListDatasets":{ + "name":"ListDatasets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDatasetsRequest"}, + "output":{"shape":"ListDatasetsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of datasets contained in the given dataset group. The response provides the properties for each dataset, including the Amazon Resource Name (ARN). For more information on datasets, see CreateDataset.

", + "idempotent":true + }, + "ListEventTrackers":{ + "name":"ListEventTrackers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEventTrackersRequest"}, + "output":{"shape":"ListEventTrackersResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of event trackers associated with the account. The response provides the properties for each event tracker, including the Amazon Resource Name (ARN) and tracking ID. For more information on event trackers, see CreateEventTracker.

", + "idempotent":true + }, + "ListRecipes":{ + "name":"ListRecipes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRecipesRequest"}, + "output":{"shape":"ListRecipesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of available recipes. The response provides the properties for each recipe, including the recipe's Amazon Resource Name (ARN).

", + "idempotent":true + }, + "ListSchemas":{ + "name":"ListSchemas", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSchemasRequest"}, + "output":{"shape":"ListSchemasResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns the list of schemas associated with the account. The response provides the properties for each schema, including the Amazon Resource Name (ARN). For more information on schemas, see CreateSchema.

", + "idempotent":true + }, + "ListSolutionVersions":{ + "name":"ListSolutionVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSolutionVersionsRequest"}, + "output":{"shape":"ListSolutionVersionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of solution versions for the given solution. When a solution is not specified, all the solution versions associated with the account are listed. The response provides the properties for each solution version, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "ListSolutions":{ + "name":"ListSolutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSolutionsRequest"}, + "output":{"shape":"ListSolutionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

Returns a list of solutions that use the given dataset group. When a dataset group is not specified, all the solutions associated with the account are listed. The response provides the properties for each solution, including the Amazon Resource Name (ARN). For more information on solutions, see CreateSolution.

", + "idempotent":true + }, + "UpdateCampaign":{ + "name":"UpdateCampaign", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCampaignRequest"}, + "output":{"shape":"UpdateCampaignResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

Updates a campaign by either deploying a new solution or changing the value of the campaign's minProvisionedTPS parameter.

To update a campaign, the campaign status must be ACTIVE or CREATE FAILED. Check the campaign status using the DescribeCampaign API.

You must wait until the status of the updated campaign is ACTIVE before asking the campaign for recommendations.

For more information on campaigns, see CreateCampaign.

", + "idempotent":true + } + }, + "shapes":{ + "AccountId":{ + "type":"string", + "max":256 + }, + "Algorithm":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the algorithm.

" + }, + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm.

" + }, + "algorithmImage":{ + "shape":"AlgorithmImage", + "documentation":"

The URI of the Docker container for the algorithm image.

" + }, + "defaultHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

Specifies the default hyperparameters.

" + }, + "defaultHyperParameterRanges":{ + "shape":"DefaultHyperParameterRanges", + "documentation":"

Specifies the default hyperparameters, their ranges, and whether they are tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "defaultResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

Specifies the default maximum number of training jobs and parallel training jobs.

" + }, + "trainingInputMode":{ + "shape":"TrainingInputMode", + "documentation":"

The training input mode.

" + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the role.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the algorithm was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the algorithm was last updated.

" + } + }, + "documentation":"

Describes a custom algorithm.

" + }, + "AlgorithmImage":{ + "type":"structure", + "required":["dockerURI"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the algorithm image.

" + }, + "dockerURI":{ + "shape":"DockerURI", + "documentation":"

The URI of the Docker container for the algorithm image.

" + } + }, + "documentation":"

Describes an algorithm image.

" + }, + "Arn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):personalize:.*:.*:.+" + }, + "ArnList":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100 + }, + "AutoMLConfig":{ + "type":"structure", + "members":{ + "metricName":{ + "shape":"MetricName", + "documentation":"

The metric to optimize.

" + }, + "recipeList":{ + "shape":"ArnList", + "documentation":"

The list of candidate recipes.

" + } + }, + "documentation":"

When the solution performs AutoML (performAutoML is true in CreateSolution), Amazon Personalize determines which recipe, from the specified list, optimizes the given metric. Amazon Personalize then uses that recipe for the solution.

" + }, + "AutoMLResult":{ + "type":"structure", + "members":{ + "bestRecipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the best recipe.

" + } + }, + "documentation":"

When the solution performs AutoML (performAutoML is true in CreateSolution), specifies the recipe that best optimized the specified metric.

" + }, + "AvroSchema":{ + "type":"string", + "max":10000 + }, + "BatchInferenceJob":{ + "type":"structure", + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name of the batch inference job.

" + }, + "batchInferenceJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the batch inference job.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If the batch inference job failed, the reason for the failure.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version from which the batch inference job was created.

" + }, + "numResults":{ + "shape":"NumBatchResults", + "documentation":"

The number of recommendations generated by the batch inference job. This number includes the error messages generated for failed input records.

" + }, + "jobInput":{ + "shape":"BatchInferenceJobInput", + "documentation":"

The Amazon S3 path that leads to the input data used to generate the batch inference job.

" + }, + "jobOutput":{ + "shape":"BatchInferenceJobOutput", + "documentation":"

The Amazon S3 bucket that contains the output data generated by the batch inference job.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the Amazon Identity and Access Management (IAM) role that requested the batch inference job.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the batch inference job. The status is one of the following values:

  • PENDING

  • IN PROGRESS

  • ACTIVE

  • CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The time at which the batch inference job was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The time at which the batch inference job was last updated.

" + } + }, + "documentation":"

Contains information on a batch inference job.

" + }, + "BatchInferenceJobInput":{ + "type":"structure", + "required":["s3DataSource"], + "members":{ + "s3DataSource":{ + "shape":"S3DataConfig", + "documentation":"

The URI of the Amazon S3 location that contains your input data. The Amazon S3 bucket must be in the same region as the API endpoint you are calling.

" + } + }, + "documentation":"

The input configuration of a batch inference job.

" + }, + "BatchInferenceJobOutput":{ + "type":"structure", + "required":["s3DataDestination"], + "members":{ + "s3DataDestination":{ + "shape":"S3DataConfig", + "documentation":"

Information on the Amazon S3 bucket in which the batch inference job's output is stored.

" + } + }, + "documentation":"

The output configuration parameters of a batch inference job.

" + }, + "BatchInferenceJobSummary":{ + "type":"structure", + "members":{ + "batchInferenceJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the batch inference job.

" + }, + "jobName":{ + "shape":"Name", + "documentation":"

The name of the batch inference job.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the batch inference job. The status is one of the following values:

  • PENDING

  • IN PROGRESS

  • ACTIVE

  • CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The time at which the batch inference job was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The time at which the batch inference job was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If the batch inference job failed, the reason for the failure.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution version used by the batch inference job.

" + } + }, + "documentation":"

A truncated version of the BatchInferenceJob datatype. The ListBatchInferenceJobs operation returns a list of batch inference job summaries.

" + }, + "BatchInferenceJobs":{ + "type":"list", + "member":{"shape":"BatchInferenceJobSummary"}, + "max":100 + }, + "Boolean":{"type":"boolean"}, + "Campaign":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the campaign.

" + }, + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of a specific version of the solution.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign fails, the reason behind the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the campaign was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the campaign was last updated.

" + }, + "latestCampaignUpdate":{"shape":"CampaignUpdateSummary"} + }, + "documentation":"

Describes a deployed solution version, otherwise known as a campaign. For more information on campaigns, see CreateCampaign.

" + }, + "CampaignSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the campaign.

" + }, + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign.

A campaign can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a campaign. For a complete listing, call the DescribeCampaign API.

" + }, + "CampaignUpdateSummary":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the deployed solution version.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the campaign update.

A campaign update can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a campaign update fails, the reason behind the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign update was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the campaign update was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a campaign update. For a complete listing, call the DescribeCampaign API.

" + }, + "Campaigns":{ + "type":"list", + "member":{"shape":"CampaignSummary"}, + "max":100 + }, + "CategoricalHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "values":{ + "shape":"CategoricalValues", + "documentation":"

A list of the categories for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of a categorical hyperparameter.

" + }, + "CategoricalHyperParameterRanges":{ + "type":"list", + "member":{"shape":"CategoricalHyperParameterRange"}, + "max":100 + }, + "CategoricalValue":{ + "type":"string", + "max":1000 + }, + "CategoricalValues":{ + "type":"list", + "member":{"shape":"CategoricalValue"}, + "max":100 + }, + "ContinuousHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"ContinuousMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"ContinuousMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of a continuous hyperparameter.

" + }, + "ContinuousHyperParameterRanges":{ + "type":"list", + "member":{"shape":"ContinuousHyperParameterRange"}, + "max":100 + }, + "ContinuousMaxValue":{ + "type":"double", + "min":-1000000 + }, + "ContinuousMinValue":{ + "type":"double", + "min":-1000000 + }, + "CreateBatchInferenceJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "solutionVersionArn", + "jobInput", + "jobOutput", + "roleArn" + ], + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name of the batch inference job to create.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version that will be used to generate the batch inference recommendations.

" + }, + "numResults":{ + "shape":"NumBatchResults", + "documentation":"

The number of recommendations to retreive.

" + }, + "jobInput":{ + "shape":"BatchInferenceJobInput", + "documentation":"

The Amazon S3 path that leads to the input file to base your recommendations on. The input material must be in JSON format.

" + }, + "jobOutput":{ + "shape":"BatchInferenceJobOutput", + "documentation":"

The path to the Amazon S3 bucket where the job's output will be stored.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the Amazon Identity and Access Management role that has permissions to read and write to your input and out Amazon S3 buckets respectively.

" + } + } + }, + "CreateBatchInferenceJobResponse":{ + "type":"structure", + "members":{ + "batchInferenceJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the batch inference job.

" + } + } + }, + "CreateCampaignRequest":{ + "type":"structure", + "required":[ + "name", + "solutionVersionArn", + "minProvisionedTPS" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

A name for the new campaign. The campaign name must be unique within your account.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version to deploy.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + } + } + }, + "CreateCampaignResponse":{ + "type":"structure", + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + } + } + }, + "CreateDatasetGroupRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the new dataset group.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to access the KMS key. Supplying an IAM role is only valid when also specifying a KMS key.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of a KMS key used to encrypt the datasets.

" + } + } + }, + "CreateDatasetGroupResponse":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the new dataset group.

" + } + } + }, + "CreateDatasetImportJobRequest":{ + "type":"structure", + "required":[ + "jobName", + "datasetArn", + "dataSource", + "roleArn" + ], + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name for the dataset import job.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset that receives the imported data.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The Amazon S3 bucket that contains the training data to import.

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to read from the Amazon S3 data source.

" + } + } + }, + "CreateDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset import job.

" + } + } + }, + "CreateDatasetRequest":{ + "type":"structure", + "required":[ + "name", + "schemaArn", + "datasetGroupArn", + "datasetType" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the dataset.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the schema to associate with the dataset. The schema defines the dataset fields.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group to add the dataset to.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

The type of dataset.

One of the following (case insensitive) values:

  • Interactions

  • Items

  • Users

" + } + } + }, + "CreateDatasetResponse":{ + "type":"structure", + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset.

" + } + } + }, + "CreateEventTrackerRequest":{ + "type":"structure", + "required":[ + "name", + "datasetGroupArn" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the event tracker.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that receives the event data.

" + } + } + }, + "CreateEventTrackerResponse":{ + "type":"structure", + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The ARN of the event tracker.

" + }, + "trackingId":{ + "shape":"TrackingId", + "documentation":"

The ID of the event tracker. Include this ID in requests to the PutEvents API.

" + } + } + }, + "CreateSchemaRequest":{ + "type":"structure", + "required":[ + "name", + "schema" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the schema.

" + }, + "schema":{ + "shape":"AvroSchema", + "documentation":"

A schema in Avro JSON format.

" + } + } + }, + "CreateSchemaResponse":{ + "type":"structure", + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the created schema.

" + } + } + }, + "CreateSolutionRequest":{ + "type":"structure", + "required":[ + "name", + "datasetGroupArn" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name for the solution.

" + }, + "performHPO":{ + "shape":"Boolean", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the specified or selected recipe. The default is false.

When performing AutoML, this parameter is always true and you should not set it to false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

Whether to perform automated machine learning (AutoML). The default is false. For this case, you must specify recipeArn.

When set to true, Amazon Personalize analyzes your training data and selects the optimal USER_PERSONALIZATION recipe and hyperparameters. In this case, you must omit recipeArn. Amazon Personalize determines the optimal recipe by running tests with different values for the hyperparameters. AutoML lengthens the training process as compared to selecting a specific recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe to use for model training. Only specified when performAutoML is false.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

When your have multiple event types (using an EVENT_TYPE schema field), this parameter specifies which event type (for example, 'click' or 'like') is used for training the model.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

The configuration to use with the solution. When performAutoML is set to true, Amazon Personalize only evaluates the autoMLConfig section of the solution configuration.

" + } + } + }, + "CreateSolutionResponse":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + } + } + }, + "CreateSolutionVersionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution containing the training configuration information.

" + }, + "trainingMode":{ + "shape":"TrainingMode", + "documentation":"

The scope of training to be performed when creating the solution version. The FULL option trains the solution version based on the entirety of the input solution's training data, while the UPDATE option processes only the data that has changed in comparison to the input solution. Choose UPDATE when you want to incrementally update your solution version instead of creating an entirely new one.

The UPDATE option can only be used when you already have an active solution version created from the input solution using the FULL option and the input solution was trained with the native-recipe-hrnn-coldstart recipe.

" + } + } + }, + "CreateSolutionVersionResponse":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the new solution version.

" + } + } + }, + "DataSource":{ + "type":"structure", + "members":{ + "dataLocation":{ + "shape":"S3Location", + "documentation":"

The path to the Amazon S3 bucket where the data that you want to upload to your dataset is stored. For example:

s3://bucket-name/training-data.csv

" + } + }, + "documentation":"

Describes the data source that contains the data to upload to a dataset.

" + }, + "Dataset":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset that you want metadata for.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

One of the following values:

  • Interactions

  • Items

  • Users

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The ARN of the associated schema.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset.

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

A time stamp that shows when the dataset was updated.

" + } + }, + "documentation":"

Provides metadata for a dataset.

" + }, + "DatasetGroup":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The current status of the dataset group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

" + }, + "roleArn":{ + "shape":"RoleArn", + "documentation":"

The ARN of the IAM role that has permissions to create the dataset group.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the KMS key used to encrypt the datasets.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset group.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The last update date and time (in Unix time) of the dataset group.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If creating a dataset group fails, provides the reason why.

" + } + }, + "documentation":"

A dataset group is a collection of related datasets (Interactions, User, and Item). You create a dataset group by calling CreateDatasetGroup. You then create a dataset and add it to a dataset group by calling CreateDataset. The dataset group is used to create and train a solution by calling CreateSolution. A dataset group can contain only one of each type of dataset.

You can specify an AWS Key Management Service (KMS) key to encrypt the datasets in the group.

" + }, + "DatasetGroupSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset group.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset group.

A dataset group can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset group was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset group was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If creating a dataset group fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset group. For a complete listing, call the DescribeDatasetGroup API.

" + }, + "DatasetGroups":{ + "type":"list", + "member":{"shape":"DatasetGroupSummary"}, + "max":100 + }, + "DatasetImportJob":{ + "type":"structure", + "members":{ + "jobName":{ + "shape":"Name", + "documentation":"

The name of the import job.

" + }, + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset import job.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset that receives the imported data.

" + }, + "dataSource":{ + "shape":"DataSource", + "documentation":"

The Amazon S3 bucket that contains the training data to import.

" + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

The ARN of the AWS Identity and Access Management (IAM) role that has permissions to read from the Amazon S3 data source.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the dataset import job.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) the dataset was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a dataset import job fails, provides the reason why.

" + } + }, + "documentation":"

Describes a job that imports training data from a data source (Amazon S3 bucket) to an Amazon Personalize dataset. For more information, see CreateDatasetImportJob.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "DatasetImportJobSummary":{ + "type":"structure", + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job.

" + }, + "jobName":{ + "shape":"Name", + "documentation":"

The name of the dataset import job.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset import job.

A dataset import job can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset import job was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a dataset import job fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset import job. For a complete listing, call the DescribeDatasetImportJob API.

" + }, + "DatasetImportJobs":{ + "type":"list", + "member":{"shape":"DatasetImportJobSummary"}, + "max":100 + }, + "DatasetSchema":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the schema.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema.

" + }, + "schema":{ + "shape":"AvroSchema", + "documentation":"

The schema.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was last updated.

" + } + }, + "documentation":"

Describes the schema for a dataset. For more information on schemas, see CreateSchema.

" + }, + "DatasetSchemaSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the schema.

" + }, + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the schema was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset schema. For a complete listing, call the DescribeSchema API.

" + }, + "DatasetSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the dataset.

" + }, + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset.

" + }, + "datasetType":{ + "shape":"DatasetType", + "documentation":"

The dataset type. One of the following values:

  • Interactions

  • Items

  • Users

  • Event-Interactions

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the dataset.

A dataset can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the dataset was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a dataset. For a complete listing, call the DescribeDataset API.

" + }, + "DatasetType":{ + "type":"string", + "max":256 + }, + "Datasets":{ + "type":"list", + "member":{"shape":"DatasetSummary"}, + "max":100 + }, + "Date":{"type":"timestamp"}, + "DefaultCategoricalHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "values":{ + "shape":"CategoricalValues", + "documentation":"

A list of the categories for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a categorical hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultCategoricalHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultCategoricalHyperParameterRange"}, + "max":100 + }, + "DefaultContinuousHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"ContinuousMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"ContinuousMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a continuous hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultContinuousHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultContinuousHyperParameterRange"}, + "max":100 + }, + "DefaultHyperParameterRanges":{ + "type":"structure", + "members":{ + "integerHyperParameterRanges":{ + "shape":"DefaultIntegerHyperParameterRanges", + "documentation":"

The integer-valued hyperparameters and their default ranges.

" + }, + "continuousHyperParameterRanges":{ + "shape":"DefaultContinuousHyperParameterRanges", + "documentation":"

The continuous hyperparameters and their default ranges.

" + }, + "categoricalHyperParameterRanges":{ + "shape":"DefaultCategoricalHyperParameterRanges", + "documentation":"

The categorical hyperparameters and their default ranges.

" + } + }, + "documentation":"

Specifies the hyperparameters and their default ranges. Hyperparameters can be categorical, continuous, or integer-valued.

" + }, + "DefaultIntegerHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"IntegerMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"IntegerMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + }, + "isTunable":{ + "shape":"Tunable", + "documentation":"

Indicates whether the hyperparameter is tunable.

" + } + }, + "documentation":"

Provides the name and default range of a integer-valued hyperparameter and whether the hyperparameter is tunable. A tunable hyperparameter can have its value determined during hyperparameter optimization (HPO).

" + }, + "DefaultIntegerHyperParameterRanges":{ + "type":"list", + "member":{"shape":"DefaultIntegerHyperParameterRange"}, + "max":100 + }, + "DeleteCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to delete.

" + } + } + }, + "DeleteDatasetGroupRequest":{ + "type":"structure", + "required":["datasetGroupArn"], + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of the dataset group to delete.

" + } + } + }, + "DeleteDatasetRequest":{ + "type":"structure", + "required":["datasetArn"], + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to delete.

" + } + } + }, + "DeleteEventTrackerRequest":{ + "type":"structure", + "required":["eventTrackerArn"], + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker to delete.

" + } + } + }, + "DeleteSchemaRequest":{ + "type":"structure", + "required":["schemaArn"], + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema to delete.

" + } + } + }, + "DeleteSolutionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution to delete.

" + } + } + }, + "DescribeAlgorithmRequest":{ + "type":"structure", + "required":["algorithmArn"], + "members":{ + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm to describe.

" + } + } + }, + "DescribeAlgorithmResponse":{ + "type":"structure", + "members":{ + "algorithm":{ + "shape":"Algorithm", + "documentation":"

A listing of the properties of the algorithm.

" + } + } + }, + "DescribeBatchInferenceJobRequest":{ + "type":"structure", + "required":["batchInferenceJobArn"], + "members":{ + "batchInferenceJobArn":{ + "shape":"Arn", + "documentation":"

The ARN of the batch inference job to describe.

" + } + } + }, + "DescribeBatchInferenceJobResponse":{ + "type":"structure", + "members":{ + "batchInferenceJob":{ + "shape":"BatchInferenceJob", + "documentation":"

Information on the specified batch inference job.

" + } + } + }, + "DescribeCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + } + } + }, + "DescribeCampaignResponse":{ + "type":"structure", + "members":{ + "campaign":{ + "shape":"Campaign", + "documentation":"

The properties of the campaign.

" + } + } + }, + "DescribeDatasetGroupRequest":{ + "type":"structure", + "required":["datasetGroupArn"], + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group to describe.

" + } + } + }, + "DescribeDatasetGroupResponse":{ + "type":"structure", + "members":{ + "datasetGroup":{ + "shape":"DatasetGroup", + "documentation":"

A listing of the dataset group's properties.

" + } + } + }, + "DescribeDatasetImportJobRequest":{ + "type":"structure", + "required":["datasetImportJobArn"], + "members":{ + "datasetImportJobArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset import job to describe.

" + } + } + }, + "DescribeDatasetImportJobResponse":{ + "type":"structure", + "members":{ + "datasetImportJob":{ + "shape":"DatasetImportJob", + "documentation":"

Information about the dataset import job, including the status.

The status is one of the following values:

  • CREATE PENDING

  • CREATE IN_PROGRESS

  • ACTIVE

  • CREATE FAILED

" + } + } + }, + "DescribeDatasetRequest":{ + "type":"structure", + "required":["datasetArn"], + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to describe.

" + } + } + }, + "DescribeDatasetResponse":{ + "type":"structure", + "members":{ + "dataset":{ + "shape":"Dataset", + "documentation":"

A listing of the dataset's properties.

" + } + } + }, + "DescribeEventTrackerRequest":{ + "type":"structure", + "required":["eventTrackerArn"], + "members":{ + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker to describe.

" + } + } + }, + "DescribeEventTrackerResponse":{ + "type":"structure", + "members":{ + "eventTracker":{ + "shape":"EventTracker", + "documentation":"

An object that describes the event tracker.

" + } + } + }, + "DescribeFeatureTransformationRequest":{ + "type":"structure", + "required":["featureTransformationArn"], + "members":{ + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the feature transformation to describe.

" + } + } + }, + "DescribeFeatureTransformationResponse":{ + "type":"structure", + "members":{ + "featureTransformation":{ + "shape":"FeatureTransformation", + "documentation":"

A listing of the FeatureTransformation properties.

" + } + } + }, + "DescribeRecipeRequest":{ + "type":"structure", + "required":["recipeArn"], + "members":{ + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe to describe.

" + } + } + }, + "DescribeRecipeResponse":{ + "type":"structure", + "members":{ + "recipe":{ + "shape":"Recipe", + "documentation":"

An object that describes the recipe.

" + } + } + }, + "DescribeSchemaRequest":{ + "type":"structure", + "required":["schemaArn"], + "members":{ + "schemaArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the schema to retrieve.

" + } + } + }, + "DescribeSchemaResponse":{ + "type":"structure", + "members":{ + "schema":{ + "shape":"DatasetSchema", + "documentation":"

The requested schema.

" + } + } + }, + "DescribeSolutionRequest":{ + "type":"structure", + "required":["solutionArn"], + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution to describe.

" + } + } + }, + "DescribeSolutionResponse":{ + "type":"structure", + "members":{ + "solution":{ + "shape":"Solution", + "documentation":"

An object that describes the solution.

" + } + } + }, + "DescribeSolutionVersionRequest":{ + "type":"structure", + "required":["solutionVersionArn"], + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version.

" + } + } + }, + "DescribeSolutionVersionResponse":{ + "type":"structure", + "members":{ + "solutionVersion":{ + "shape":"SolutionVersion", + "documentation":"

The solution version.

" + } + } + }, + "Description":{"type":"string"}, + "DockerURI":{ + "type":"string", + "max":256 + }, + "ErrorMessage":{"type":"string"}, + "EventTracker":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the event tracker.

" + }, + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The ARN of the event tracker.

" + }, + "accountId":{ + "shape":"AccountId", + "documentation":"

The Amazon AWS account that owns the event tracker.

" + }, + "trackingId":{ + "shape":"TrackingId", + "documentation":"

The ID of the event tracker. Include this ID in requests to the PutEvents API.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that receives the event data.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the event tracker.

An event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the event tracker was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was last updated.

" + } + }, + "documentation":"

Provides information about an event tracker.

" + }, + "EventTrackerSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the event tracker.

" + }, + "eventTrackerArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the event tracker.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the event tracker.

An event tracker can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the event tracker was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of an event tracker. For a complete listing, call the DescribeEventTracker API.

" + }, + "EventTrackers":{ + "type":"list", + "member":{"shape":"EventTrackerSummary"}, + "max":100 + }, + "EventType":{ + "type":"string", + "max":256 + }, + "EventValueThreshold":{ + "type":"string", + "max":256 + }, + "FailureReason":{"type":"string"}, + "FeatureTransformation":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the feature transformation.

" + }, + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the FeatureTransformation object.

" + }, + "defaultParameters":{ + "shape":"FeaturizationParameters", + "documentation":"

Provides the default parameters for feature transformation.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the feature transformation.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The last update date and time (in Unix time) of the feature transformation.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the feature transformation.

A feature transformation can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + } + }, + "documentation":"

Provides feature transformation information. Feature transformation is the process of modifying raw input data into a form more suitable for model training.

" + }, + "FeatureTransformationParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "FeaturizationParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "GetSolutionMetricsRequest":{ + "type":"structure", + "required":["solutionVersionArn"], + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version for which to get metrics.

" + } + } + }, + "GetSolutionMetricsResponse":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The same solution version ARN as specified in the request.

" + }, + "metrics":{ + "shape":"Metrics", + "documentation":"

The metrics for the solution version.

" + } + } + }, + "HPOConfig":{ + "type":"structure", + "members":{ + "hpoObjective":{ + "shape":"HPOObjective", + "documentation":"

The metric to optimize during HPO.

" + }, + "hpoResourceConfig":{ + "shape":"HPOResourceConfig", + "documentation":"

Describes the resource configuration for HPO.

" + }, + "algorithmHyperParameterRanges":{ + "shape":"HyperParameterRanges", + "documentation":"

The hyperparameters and their allowable ranges.

" + } + }, + "documentation":"

Describes the properties for hyperparameter optimization (HPO). For use with the bring-your-own-recipe feature. Do not use for Amazon Personalize native recipes.

" + }, + "HPOObjective":{ + "type":"structure", + "members":{ + "type":{ + "shape":"HPOObjectiveType", + "documentation":"

The type of the metric. Valid values are Maximize and Minimize.

" + }, + "metricName":{ + "shape":"MetricName", + "documentation":"

The name of the metric.

" + }, + "metricRegex":{ + "shape":"MetricRegex", + "documentation":"

A regular expression for finding the metric in the training job logs.

" + } + }, + "documentation":"

The metric to optimize during hyperparameter optimization (HPO).

" + }, + "HPOObjectiveType":{ + "type":"string", + "max":256 + }, + "HPOResource":{ + "type":"string", + "max":256 + }, + "HPOResourceConfig":{ + "type":"structure", + "members":{ + "maxNumberOfTrainingJobs":{ + "shape":"HPOResource", + "documentation":"

The maximum number of training jobs when you create a solution version. The maximum value for maxNumberOfTrainingJobs is 40.

" + }, + "maxParallelTrainingJobs":{ + "shape":"HPOResource", + "documentation":"

The maximum number of parallel training jobs when you create a solution version. The maximum value for maxParallelTrainingJobs is 10.

" + } + }, + "documentation":"

Describes the resource configuration for hyperparameter optimization (HPO).

" + }, + "HyperParameterRanges":{ + "type":"structure", + "members":{ + "integerHyperParameterRanges":{ + "shape":"IntegerHyperParameterRanges", + "documentation":"

The integer-valued hyperparameters and their ranges.

" + }, + "continuousHyperParameterRanges":{ + "shape":"ContinuousHyperParameterRanges", + "documentation":"

The continuous hyperparameters and their ranges.

" + }, + "categoricalHyperParameterRanges":{ + "shape":"CategoricalHyperParameterRanges", + "documentation":"

The categorical hyperparameters and their ranges.

" + } + }, + "documentation":"

Specifies the hyperparameters and their ranges. Hyperparameters can be categorical, continuous, or integer-valued.

" + }, + "HyperParameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "IntegerHyperParameterRange":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

The name of the hyperparameter.

" + }, + "minValue":{ + "shape":"IntegerMinValue", + "documentation":"

The minimum allowable value for the hyperparameter.

" + }, + "maxValue":{ + "shape":"IntegerMaxValue", + "documentation":"

The maximum allowable value for the hyperparameter.

" + } + }, + "documentation":"

Provides the name and range of an integer-valued hyperparameter.

" + }, + "IntegerHyperParameterRanges":{ + "type":"list", + "member":{"shape":"IntegerHyperParameterRange"}, + "max":100 + }, + "IntegerMaxValue":{ + "type":"integer", + "max":1000000 + }, + "IntegerMinValue":{ + "type":"integer", + "min":-1000000 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The token is not valid.

", + "exception":true + }, + "KmsKeyArn":{"type":"string"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The limit on the number of requests per second has been exceeded.

", + "exception":true + }, + "ListBatchInferenceJobsRequest":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version from which the batch inference jobs were created.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to request the next page of results.

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of batch inference job results to return in each page. The default value is 100.

" + } + } + }, + "ListBatchInferenceJobsResponse":{ + "type":"structure", + "members":{ + "batchInferenceJobs":{ + "shape":"BatchInferenceJobs", + "documentation":"

A list containing information on each job that is returned.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

The token to use to retreive the next page of results. The value is null when there are no more results to return.

" + } + } + }, + "ListCampaignsRequest":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution to list the campaigns for. When a solution is not specified, all the campaigns associated with the account are listed.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListCampaigns for getting the next set of campaigns (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of campaigns to return.

" + } + } + }, + "ListCampaignsResponse":{ + "type":"structure", + "members":{ + "campaigns":{ + "shape":"Campaigns", + "documentation":"

A list of the campaigns.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of campaigns (if they exist).

" + } + } + }, + "ListDatasetGroupsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetGroups for getting the next set of dataset groups (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of dataset groups to return.

" + } + } + }, + "ListDatasetGroupsResponse":{ + "type":"structure", + "members":{ + "datasetGroups":{ + "shape":"DatasetGroups", + "documentation":"

The list of your dataset groups.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of dataset groups (if they exist).

" + } + } + }, + "ListDatasetImportJobsRequest":{ + "type":"structure", + "members":{ + "datasetArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset to list the dataset import jobs for.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of dataset import jobs to return.

" + } + } + }, + "ListDatasetImportJobsResponse":{ + "type":"structure", + "members":{ + "datasetImportJobs":{ + "shape":"DatasetImportJobs", + "documentation":"

The list of dataset import jobs.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of dataset import jobs (if they exist).

" + } + } + }, + "ListDatasetsRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that contains the datasets to list.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListDatasetImportJobs for getting the next set of dataset import jobs (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of datasets to return.

" + } + } + }, + "ListDatasetsResponse":{ + "type":"structure", + "members":{ + "datasets":{ + "shape":"Datasets", + "documentation":"

An array of Dataset objects. Each object provides metadata information.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of datasets (if they exist).

" + } + } + }, + "ListEventTrackersRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The ARN of a dataset group used to filter the response.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListEventTrackers for getting the next set of event trackers (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of event trackers to return.

" + } + } + }, + "ListEventTrackersResponse":{ + "type":"structure", + "members":{ + "eventTrackers":{ + "shape":"EventTrackers", + "documentation":"

A list of event trackers.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of event trackers (if they exist).

" + } + } + }, + "ListRecipesRequest":{ + "type":"structure", + "members":{ + "recipeProvider":{ + "shape":"RecipeProvider", + "documentation":"

The default is SERVICE.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListRecipes for getting the next set of recipes (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of recipes to return.

" + } + } + }, + "ListRecipesResponse":{ + "type":"structure", + "members":{ + "recipes":{ + "shape":"Recipes", + "documentation":"

The list of available recipes.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of recipes.

" + } + } + }, + "ListSchemasRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSchemas for getting the next set of schemas (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of schemas to return.

" + } + } + }, + "ListSchemasResponse":{ + "type":"structure", + "members":{ + "schemas":{ + "shape":"Schemas", + "documentation":"

A list of schemas.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token used to get the next set of schemas (if they exist).

" + } + } + }, + "ListSolutionVersionsRequest":{ + "type":"structure", + "members":{ + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSolutionVersions for getting the next set of solution versions (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of solution versions to return.

" + } + } + }, + "ListSolutionVersionsResponse":{ + "type":"structure", + "members":{ + "solutionVersions":{ + "shape":"SolutionVersions", + "documentation":"

A list of solution versions describing the version properties.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of solution versions (if they exist).

" + } + } + }, + "ListSolutionsRequest":{ + "type":"structure", + "members":{ + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token returned from the previous call to ListSolutions for getting the next set of solutions (if they exist).

" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of solutions to return.

" + } + } + }, + "ListSolutionsResponse":{ + "type":"structure", + "members":{ + "solutions":{ + "shape":"Solutions", + "documentation":"

A list of the current solutions.

" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

A token for getting the next set of solutions (if they exist).

" + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MetricName":{ + "type":"string", + "max":256 + }, + "MetricRegex":{ + "type":"string", + "max":256 + }, + "MetricValue":{"type":"double"}, + "Metrics":{ + "type":"map", + "key":{"shape":"MetricName"}, + "value":{"shape":"MetricValue"}, + "max":100 + }, + "Name":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9][a-zA-Z0-9\\-_]*" + }, + "NextToken":{ + "type":"string", + "max":1300 + }, + "NumBatchResults":{"type":"integer"}, + "ParameterName":{ + "type":"string", + "max":256 + }, + "ParameterValue":{ + "type":"string", + "max":1000 + }, + "PerformAutoML":{"type":"boolean"}, + "PerformHPO":{"type":"boolean"}, + "Recipe":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe.

" + }, + "algorithmArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the algorithm that Amazon Personalize uses to train the model.

" + }, + "featureTransformationArn":{ + "shape":"Arn", + "documentation":"

The ARN of the FeatureTransformation object.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the recipe.

" + }, + "description":{ + "shape":"Description", + "documentation":"

The description of the recipe.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the recipe was created.

" + }, + "recipeType":{ + "shape":"RecipeType", + "documentation":"

One of the following values:

  • PERSONALIZED_RANKING

  • RELATED_ITEMS

  • USER_PERSONALIZATION

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix format) that the recipe was last updated.

" + } + }, + "documentation":"

Provides information about a recipe. Each recipe provides an algorithm that Amazon Personalize uses in model training when you use the CreateSolution operation.

" + }, + "RecipeProvider":{ + "type":"string", + "enum":["SERVICE"] + }, + "RecipeSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the recipe.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the recipe.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the recipe.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the recipe was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the recipe was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a recipe. For a complete listing, call the DescribeRecipe API.

" + }, + "RecipeType":{ + "type":"string", + "max":256 + }, + "Recipes":{ + "type":"list", + "member":{"shape":"RecipeSummary"}, + "max":100 + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource already exists.

", + "exception":true + }, + "ResourceConfig":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValue"}, + "max":100 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource is in use.

", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Could not find the specified resource.

", + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "S3DataConfig":{ + "type":"structure", + "required":["path"], + "members":{ + "path":{ + "shape":"S3Location", + "documentation":"

The file path of the Amazon S3 bucket.

" + }, + "kmsKeyArn":{ + "shape":"KmsKeyArn", + "documentation":"

The Amazon Resource Name (ARN) of the Amazon Key Management Service (KMS) key that Amazon Personalize uses to encrypt or decrypt the input and output files of a batch inference job.

" + } + }, + "documentation":"

The configuration details of an Amazon S3 input or output bucket.

" + }, + "S3Location":{ + "type":"string", + "max":256 + }, + "Schemas":{ + "type":"list", + "member":{"shape":"DatasetSchemaSummary"}, + "max":100 + }, + "Solution":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the solution.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + }, + "performHPO":{ + "shape":"PerformHPO", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

When true, Amazon Personalize performs a search for the best USER_PERSONALIZATION recipe from the list specified in the solution configuration (recipeArn must not be specified). When false (the default), Amazon Personalize uses recipeArn for training.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe used to create the solution.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group that provides the training data.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

The event type (for example, 'click' or 'like') that is used for training the model.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

Describes the configuration properties for the solution.

" + }, + "autoMLResult":{ + "shape":"AutoMLResult", + "documentation":"

When performAutoML is true, specifies the best recipe found.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution.

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The creation date and time (in Unix time) of the solution.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + }, + "latestSolutionVersion":{ + "shape":"SolutionVersionSummary", + "documentation":"

Describes the latest version of the solution, including the status and the ARN.

" + } + }, + "documentation":"

An object that provides information about a solution. A solution is a trained model that can be deployed as a campaign.

" + }, + "SolutionConfig":{ + "type":"structure", + "members":{ + "eventValueThreshold":{ + "shape":"EventValueThreshold", + "documentation":"

Only events with a value greater than or equal to this threshold are used for training a model.

" + }, + "hpoConfig":{ + "shape":"HPOConfig", + "documentation":"

Describes the properties for hyperparameter optimization (HPO).

" + }, + "algorithmHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

Lists the hyperparameter names and ranges.

" + }, + "featureTransformationParameters":{ + "shape":"FeatureTransformationParameters", + "documentation":"

Lists the feature transformation parameters.

" + }, + "autoMLConfig":{ + "shape":"AutoMLConfig", + "documentation":"

The AutoMLConfig object containing a list of recipes to search when AutoML is performed.

" + } + }, + "documentation":"

Describes the configuration properties for the solution.

" + }, + "SolutionSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

The name of the solution.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution.

A solution can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

  • DELETE PENDING > DELETE IN_PROGRESS

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + } + }, + "documentation":"

Provides a summary of the properties of a solution. For a complete listing, call the DescribeSolution API.

" + }, + "SolutionVersion":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution version.

" + }, + "solutionArn":{ + "shape":"Arn", + "documentation":"

The ARN of the solution.

" + }, + "performHPO":{ + "shape":"PerformHPO", + "documentation":"

Whether to perform hyperparameter optimization (HPO) on the chosen recipe. The default is false.

" + }, + "performAutoML":{ + "shape":"PerformAutoML", + "documentation":"

When true, Amazon Personalize searches for the most optimal recipe according to the solution configuration. When false (the default), Amazon Personalize uses recipeArn.

" + }, + "recipeArn":{ + "shape":"Arn", + "documentation":"

The ARN of the recipe used in the solution.

" + }, + "eventType":{ + "shape":"EventType", + "documentation":"

The event type (for example, 'click' or 'like') that is used for training the model.

" + }, + "datasetGroupArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the dataset group providing the training data.

" + }, + "solutionConfig":{ + "shape":"SolutionConfig", + "documentation":"

Describes the configuration properties for the solution.

" + }, + "trainingHours":{ + "shape":"TrainingHours", + "documentation":"

The time used to train the model. You are billed for the time it takes to train a model. This field is visible only after Amazon Personalize successfully trains a model.

" + }, + "trainingMode":{ + "shape":"TrainingMode", + "documentation":"

The scope of training used to create the solution version. The FULL option trains the solution version based on the entirety of the input solution's training data, while the UPDATE option processes only the training data that has changed since the creation of the last solution version. Choose UPDATE when you want to start recommending items added to the dataset without retraining the model.

The UPDATE option can only be used after you've created a solution version with the FULL option and the training solution uses the native-recipe-hrnn-coldstart.

" + }, + "tunedHPOParams":{ + "shape":"TunedHPOParams", + "documentation":"

If hyperparameter optimization was performed, contains the hyperparameter values of the best performing model.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution version.

A solution version can be in one of the following states:

  • CREATE PENDING

  • CREATE IN_PROGRESS

  • ACTIVE

  • CREATE FAILED

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If training a solution version fails, the reason for the failure.

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that this version of the solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution was last updated.

" + } + }, + "documentation":"

An object that provides information about a specific version of a Solution.

" + }, + "SolutionVersionSummary":{ + "type":"structure", + "members":{ + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the solution version.

" + }, + "status":{ + "shape":"Status", + "documentation":"

The status of the solution version.

A solution version can be in one of the following states:

  • CREATE PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED

" + }, + "creationDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that this version of a solution was created.

" + }, + "lastUpdatedDateTime":{ + "shape":"Date", + "documentation":"

The date and time (in Unix time) that the solution version was last updated.

" + }, + "failureReason":{ + "shape":"FailureReason", + "documentation":"

If a solution version fails, the reason behind the failure.

" + } + }, + "documentation":"

Provides a summary of the properties of a solution version. For a complete listing, call the DescribeSolutionVersion API.

" + }, + "SolutionVersions":{ + "type":"list", + "member":{"shape":"SolutionVersionSummary"}, + "max":100 + }, + "Solutions":{ + "type":"list", + "member":{"shape":"SolutionSummary"}, + "max":100 + }, + "Status":{ + "type":"string", + "max":256 + }, + "TrackingId":{ + "type":"string", + "max":256 + }, + "TrainingHours":{ + "type":"double", + "min":0 + }, + "TrainingInputMode":{ + "type":"string", + "max":256 + }, + "TrainingMode":{ + "type":"string", + "enum":[ + "FULL", + "UPDATE" + ] + }, + "TransactionsPerSecond":{ + "type":"integer", + "min":1 + }, + "Tunable":{"type":"boolean"}, + "TunedHPOParams":{ + "type":"structure", + "members":{ + "algorithmHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

A list of the hyperparameter values of the best performing model.

" + } + }, + "documentation":"

If hyperparameter optimization (HPO) was performed, contains the hyperparameter values of the best performing model.

" + }, + "UpdateCampaignRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" + }, + "solutionVersionArn":{ + "shape":"Arn", + "documentation":"

The ARN of a new solution version to deploy.

" + }, + "minProvisionedTPS":{ + "shape":"TransactionsPerSecond", + "documentation":"

Specifies the requested minimum provisioned transactions (recommendations) per second that Amazon Personalize will support.

" + } + } + }, + "UpdateCampaignResponse":{ + "type":"structure", + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The same campaign ARN as given in the request.

" + } + } + } + }, + "documentation":"

Amazon Personalize is a machine learning service that makes it easy to add individualized recommendations to customers.

" +} diff -Nru python-botocore-1.4.70/botocore/data/personalize-events/2018-03-22/paginators-1.json python-botocore-1.16.19+repack/botocore/data/personalize-events/2018-03-22/paginators-1.json --- python-botocore-1.4.70/botocore/data/personalize-events/2018-03-22/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize-events/2018-03-22/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/personalize-events/2018-03-22/service-2.json python-botocore-1.16.19+repack/botocore/data/personalize-events/2018-03-22/service-2.json --- python-botocore-1.4.70/botocore/data/personalize-events/2018-03-22/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize-events/2018-03-22/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,117 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-03-22", + "endpointPrefix":"personalize-events", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Personalize Events", + "serviceId":"Personalize Events", + "signatureVersion":"v4", + "signingName":"personalize", + "uid":"personalize-events-2018-03-22" + }, + "operations":{ + "PutEvents":{ + "name":"PutEvents", + "http":{ + "method":"POST", + "requestUri":"/events" + }, + "input":{"shape":"PutEventsRequest"}, + "errors":[ + {"shape":"InvalidInputException"} + ], + "documentation":"

Records user interaction event data.

" + } + }, + "shapes":{ + "Date":{"type":"timestamp"}, + "ErrorMessage":{"type":"string"}, + "Event":{ + "type":"structure", + "required":[ + "eventType", + "properties", + "sentAt" + ], + "members":{ + "eventId":{ + "shape":"StringType", + "documentation":"

An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinquish unique events. Any subsequent events after the first with the same event ID are not used in model training.

" + }, + "eventType":{ + "shape":"StringType", + "documentation":"

The type of event. This property corresponds to the EVENT_TYPE field of the Interactions schema.

" + }, + "properties":{ + "shape":"EventPropertiesJSON", + "documentation":"

A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, you might send the movie ID and rating, and the number of movie ratings made by the user.

Each item in the map consists of a key-value pair. For example,

{\"itemId\": \"movie1\"}

{\"itemId\": \"movie2\", \"eventValue\": \"4.5\"}

{\"itemId\": \"movie3\", \"eventValue\": \"3\", \"numberOfRatings\": \"12\"}

The keys use camel case names that match the fields in the Interactions schema. The itemId and eventValue keys correspond to the ITEM_ID and EVENT_VALUE fields. In the above example, the eventType might be 'MovieRating' with eventValue being the rating. The numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

", + "jsonvalue":true + }, + "sentAt":{ + "shape":"Date", + "documentation":"

The timestamp on the client side when the event occurred.

" + } + }, + "documentation":"

Represents user interaction event information sent using the PutEvents API.

" + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"}, + "max":10, + "min":1 + }, + "EventPropertiesJSON":{ + "type":"string", + "max":1024, + "min":1 + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "PutEventsRequest":{ + "type":"structure", + "required":[ + "trackingId", + "sessionId", + "eventList" + ], + "members":{ + "trackingId":{ + "shape":"StringType", + "documentation":"

The tracking ID for the event. The ID is generated by a call to the CreateEventTracker API.

" + }, + "userId":{ + "shape":"UserId", + "documentation":"

The user associated with the event.

" + }, + "sessionId":{ + "shape":"StringType", + "documentation":"

The session ID associated with the user's visit.

" + }, + "eventList":{ + "shape":"EventList", + "documentation":"

A list of event data from the session.

" + } + } + }, + "StringType":{ + "type":"string", + "max":256, + "min":1 + }, + "UserId":{ + "type":"string", + "max":256, + "min":1 + } + }, + "documentation":"

" +} diff -Nru python-botocore-1.4.70/botocore/data/personalize-runtime/2018-05-22/paginators-1.json python-botocore-1.16.19+repack/botocore/data/personalize-runtime/2018-05-22/paginators-1.json --- python-botocore-1.4.70/botocore/data/personalize-runtime/2018-05-22/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize-runtime/2018-05-22/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/personalize-runtime/2018-05-22/service-2.json python-botocore-1.16.19+repack/botocore/data/personalize-runtime/2018-05-22/service-2.json --- python-botocore-1.4.70/botocore/data/personalize-runtime/2018-05-22/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/personalize-runtime/2018-05-22/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,194 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-05-22", + "endpointPrefix":"personalize-runtime", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Personalize Runtime", + "serviceId":"Personalize Runtime", + "signatureVersion":"v4", + "signingName":"personalize", + "uid":"personalize-runtime-2018-05-22" + }, + "operations":{ + "GetPersonalizedRanking":{ + "name":"GetPersonalizedRanking", + "http":{ + "method":"POST", + "requestUri":"/personalize-ranking" + }, + "input":{"shape":"GetPersonalizedRankingRequest"}, + "output":{"shape":"GetPersonalizedRankingResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Re-ranks a list of recommended items for the given user. The first item in the list is deemed the most likely item to be of interest to the user.

The solution backing the campaign must have been created using a recipe of type PERSONALIZED_RANKING.

", + "idempotent":true + }, + "GetRecommendations":{ + "name":"GetRecommendations", + "http":{ + "method":"POST", + "requestUri":"/recommendations" + }, + "input":{"shape":"GetRecommendationsRequest"}, + "output":{"shape":"GetRecommendationsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns a list of recommended items. The required input depends on the recipe type used to create the solution backing the campaign, as follows:

  • RELATED_ITEMS - itemId required, userId not used

  • USER_PERSONALIZATION - itemId optional, userId required

Campaigns that are backed by a solution created using a recipe of type PERSONALIZED_RANKING use the API.

", + "idempotent":true + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":256, + "pattern":"arn:([a-z\\d-]+):personalize:.*:.*:.+" + }, + "AttributeName":{ + "type":"string", + "max":150, + "pattern":"[A-Za-z\\d_]+" + }, + "AttributeValue":{ + "type":"string", + "max":1000, + "sensitive":true + }, + "Context":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":150 + }, + "ErrorMessage":{"type":"string"}, + "GetPersonalizedRankingRequest":{ + "type":"structure", + "required":[ + "campaignArn", + "inputList", + "userId" + ], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to use for generating the personalized ranking.

" + }, + "inputList":{ + "shape":"InputList", + "documentation":"

A list of items (itemId's) to rank. If an item was not included in the training dataset, the item is appended to the end of the reranked list. The maximum is 500.

" + }, + "userId":{ + "shape":"UserID", + "documentation":"

The user for which you want the campaign to provide a personalized ranking.

" + }, + "context":{ + "shape":"Context", + "documentation":"

The contextual metadata to use when getting recommendations. Contextual metadata includes any interaction information that might be relevant when getting a user's recommendations, such as the user's current location or device type.

" + } + } + }, + "GetPersonalizedRankingResponse":{ + "type":"structure", + "members":{ + "personalizedRanking":{ + "shape":"ItemList", + "documentation":"

A list of items in order of most likely interest to the user. The maximum is 500.

" + } + } + }, + "GetRecommendationsRequest":{ + "type":"structure", + "required":["campaignArn"], + "members":{ + "campaignArn":{ + "shape":"Arn", + "documentation":"

The Amazon Resource Name (ARN) of the campaign to use for getting recommendations.

" + }, + "itemId":{ + "shape":"ItemID", + "documentation":"

The item ID to provide recommendations for.

Required for RELATED_ITEMS recipe type.

" + }, + "userId":{ + "shape":"UserID", + "documentation":"

The user ID to provide recommendations for.

Required for USER_PERSONALIZATION recipe type.

" + }, + "numResults":{ + "shape":"NumResults", + "documentation":"

The number of results to return. The default is 25. The maximum is 500.

" + }, + "context":{ + "shape":"Context", + "documentation":"

The contextual metadata to use when getting recommendations. Contextual metadata includes any interaction information that might be relevant when getting a user's recommendations, such as the user's current location or device type.

" + } + } + }, + "GetRecommendationsResponse":{ + "type":"structure", + "members":{ + "itemList":{ + "shape":"ItemList", + "documentation":"

A list of recommendations sorted in ascending order by prediction score. There can be a maximum of 500 items in the list.

" + } + } + }, + "InputList":{ + "type":"list", + "member":{"shape":"ItemID"} + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

Provide a valid value for the field or parameter.

", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ItemID":{ + "type":"string", + "max":256 + }, + "ItemList":{ + "type":"list", + "member":{"shape":"PredictedItem"} + }, + "NumResults":{ + "type":"integer", + "min":0 + }, + "PredictedItem":{ + "type":"structure", + "members":{ + "itemId":{ + "shape":"ItemID", + "documentation":"

The recommended item ID.

" + }, + "score":{ + "shape":"Score", + "documentation":"

A numeric representation of the model's certainty in the item's suitability. For more information on scoring logic, see how-scores-work.

" + } + }, + "documentation":"

An object that identifies an item.

The and APIs return a list of PredictedItems.

" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

The specified resource does not exist.

", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Score":{"type":"double"}, + "UserID":{ + "type":"string", + "max":256 + } + }, + "documentation":"

" +} diff -Nru python-botocore-1.4.70/botocore/data/pi/2018-02-27/examples-1.json python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/examples-1.json --- python-botocore-1.4.70/botocore/data/pi/2018-02-27/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/pi/2018-02-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/pi/2018-02-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/pi/2018-02-27/service-2.json python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/service-2.json --- python-botocore-1.4.70/botocore/data/pi/2018-02-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pi/2018-02-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,401 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-02-27", + "endpointPrefix":"pi", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWS PI", + "serviceFullName":"AWS Performance Insights", + "serviceId":"PI", + "signatureVersion":"v4", + "signingName":"pi", + "targetPrefix":"PerformanceInsightsv20180227", + "uid":"pi-2018-02-27" + }, + "operations":{ + "DescribeDimensionKeys":{ + "name":"DescribeDimensionKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDimensionKeysRequest"}, + "output":{"shape":"DescribeDimensionKeysResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceError"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

For a specific time period, retrieve the top N dimension keys for a metric.

" + }, + "GetResourceMetrics":{ + "name":"GetResourceMetrics", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourceMetricsRequest"}, + "output":{"shape":"GetResourceMetricsResponse"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"InternalServiceError"}, + {"shape":"NotAuthorizedException"} + ], + "documentation":"

Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific dimension groups and dimensions, and provide aggregation and filtering criteria for each group.

" + } + }, + "shapes":{ + "DataPoint":{ + "type":"structure", + "required":[ + "Timestamp", + "Value" + ], + "members":{ + "Timestamp":{ + "shape":"ISOTimestamp", + "documentation":"

The time, in epoch format, associated with a particular Value.

" + }, + "Value":{ + "shape":"Double", + "documentation":"

The actual value associated with a particular Timestamp.

" + } + }, + "documentation":"

A timestamp, and a single numerical value, which together represent a measurement at a particular point in time.

" + }, + "DataPointsList":{ + "type":"list", + "member":{"shape":"DataPoint"} + }, + "DescribeDimensionKeysRequest":{ + "type":"structure", + "required":[ + "ServiceType", + "Identifier", + "StartTime", + "EndTime", + "Metric", + "GroupBy" + ], + "members":{ + "ServiceType":{ + "shape":"ServiceType", + "documentation":"

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" + }, + "Identifier":{ + "shape":"String", + "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" + }, + "StartTime":{ + "shape":"ISOTimestamp", + "documentation":"

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

" + }, + "EndTime":{ + "shape":"ISOTimestamp", + "documentation":"

The date and time specifying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

" + }, + "Metric":{ + "shape":"String", + "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" + }, + "PeriodInSeconds":{ + "shape":"Integer", + "documentation":"

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

  • 1 (one second)

  • 60 (one minute)

  • 300 (five minutes)

  • 3600 (one hour)

  • 86400 (twenty-four hours)

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

" + }, + "GroupBy":{ + "shape":"DimensionGroup", + "documentation":"

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

" + }, + "PartitionBy":{ + "shape":"DimensionGroup", + "documentation":"

For each dimension specified in GroupBy, specify a secondary dimension to further subdivide the partition keys in the response.

" + }, + "Filter":{ + "shape":"MetricQueryFilterMap", + "documentation":"

One or more filters to apply in the request. Restrictions:

  • Any number of filters by the same dimension, as specified in the GroupBy or Partition parameters.

  • A single filter for any other dimension in this dimension group.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" + } + } + }, + "DescribeDimensionKeysResponse":{ + "type":"structure", + "members":{ + "AlignedStartTime":{ + "shape":"ISOTimestamp", + "documentation":"

The start time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

" + }, + "AlignedEndTime":{ + "shape":"ISOTimestamp", + "documentation":"

The end time for the returned dimension keys, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

" + }, + "PartitionKeys":{ + "shape":"ResponsePartitionKeyList", + "documentation":"

If PartitionBy was present in the request, PartitionKeys contains the breakdown of dimension keys by the specified partitions.

" + }, + "Keys":{ + "shape":"DimensionKeyDescriptionList", + "documentation":"

The dimension keys that were requested.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" + } + } + }, + "DimensionGroup":{ + "type":"structure", + "required":["Group"], + "members":{ + "Group":{ + "shape":"String", + "documentation":"

The name of the dimension group. Valid values are:

  • db.user

  • db.host

  • db.sql

  • db.sql_tokenized

  • db.wait_event

  • db.wait_event_type

" + }, + "Dimensions":{ + "shape":"StringList", + "documentation":"

A list of specific dimensions from a dimension group. If this parameter is not present, then it signifies that all of the dimensions in the group were requested, or are present in the response.

Valid values for elements in the Dimensions array are:

  • db.user.id

  • db.user.name

  • db.host.id

  • db.host.name

  • db.sql.id

  • db.sql.db_id

  • db.sql.statement

  • db.sql.tokenized_id

  • db.sql_tokenized.id

  • db.sql_tokenized.db_id

  • db.sql_tokenized.statement

  • db.wait_event.name

  • db.wait_event.type

  • db.wait_event_type.name

" + }, + "Limit":{ + "shape":"Limit", + "documentation":"

The maximum number of items to fetch for this dimension group.

" + } + }, + "documentation":"

A logical grouping of Performance Insights metrics for a related subject area. For example, the db.sql dimension group consists of the following dimensions: db.sql.id, db.sql.db_id, db.sql.statement, and db.sql.tokenized_id.

" + }, + "DimensionKeyDescription":{ + "type":"structure", + "members":{ + "Dimensions":{ + "shape":"DimensionMap", + "documentation":"

A map of name-value pairs for the dimensions in the group.

" + }, + "Total":{ + "shape":"Double", + "documentation":"

The aggregated metric value for the dimension(s), over the requested time range.

" + }, + "Partitions":{ + "shape":"MetricValuesList", + "documentation":"

If PartitionBy was specified, PartitionKeys contains the dimensions that were.

" + } + }, + "documentation":"

An array of descriptions and aggregated values for each dimension within a dimension group.

" + }, + "DimensionKeyDescriptionList":{ + "type":"list", + "member":{"shape":"DimensionKeyDescription"} + }, + "DimensionMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "Double":{"type":"double"}, + "GetResourceMetricsRequest":{ + "type":"structure", + "required":[ + "ServiceType", + "Identifier", + "MetricQueries", + "StartTime", + "EndTime" + ], + "members":{ + "ServiceType":{ + "shape":"ServiceType", + "documentation":"

The AWS service for which Performance Insights will return metrics. The only valid value for ServiceType is: RDS

" + }, + "Identifier":{ + "shape":"String", + "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" + }, + "MetricQueries":{ + "shape":"MetricQueryList", + "documentation":"

An array of one or more queries to perform. Each query must specify a Performance Insights metric, and can optionally specify aggregation and filtering criteria.

" + }, + "StartTime":{ + "shape":"ISOTimestamp", + "documentation":"

The date and time specifying the beginning of the requested time series data. You can't specify a StartTime that's earlier than 7 days ago. The value specified is inclusive - data points equal to or greater than StartTime will be returned.

The value for StartTime must be earlier than the value for EndTime.

" + }, + "EndTime":{ + "shape":"ISOTimestamp", + "documentation":"

The date and time specifiying the end of the requested time series data. The value specified is exclusive - data points less than (but not equal to) EndTime will be returned.

The value for EndTime must be later than the value for StartTime.

" + }, + "PeriodInSeconds":{ + "shape":"Integer", + "documentation":"

The granularity, in seconds, of the data points returned from Performance Insights. A period can be as short as one second, or as long as one day (86400 seconds). Valid values are:

  • 1 (one second)

  • 60 (one minute)

  • 300 (five minutes)

  • 3600 (one hour)

  • 86400 (twenty-four hours)

If you don't specify PeriodInSeconds, then Performance Insights will choose a value for you, with a goal of returning roughly 100-200 data points in the response.

" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of items to return in the response. If more items exist than the specified MaxRecords value, a pagination token is included in the response so that the remaining results can be retrieved.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" + } + } + }, + "GetResourceMetricsResponse":{ + "type":"structure", + "members":{ + "AlignedStartTime":{ + "shape":"ISOTimestamp", + "documentation":"

The start time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedStartTime will be less than or equal to the value of the user-specified StartTime.

" + }, + "AlignedEndTime":{ + "shape":"ISOTimestamp", + "documentation":"

The end time for the returned metrics, after alignment to a granular boundary (as specified by PeriodInSeconds). AlignedEndTime will be greater than or equal to the value of the user-specified Endtime.

" + }, + "Identifier":{ + "shape":"String", + "documentation":"

An immutable, AWS Region-unique identifier for a data source. Performance Insights gathers metrics from this data source.

To use an Amazon RDS instance as a data source, you specify its DbiResourceId value - for example: db-FAIHNTYBKTGAUSUZQYPDS2GW4A

" + }, + "MetricList":{ + "shape":"MetricKeyDataPointsList", + "documentation":"

An array of metric results,, where each array element contains all of the data points for a particular dimension.

" + }, + "NextToken":{ + "shape":"String", + "documentation":"

An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the token, up to the value specified by MaxRecords.

" + } + } + }, + "ISOTimestamp":{"type":"timestamp"}, + "Integer":{"type":"integer"}, + "InternalServiceError":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The request failed due to an unknown error.

", + "exception":true, + "fault":true + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

One of the arguments provided is invalid for this request.

", + "exception":true + }, + "Limit":{ + "type":"integer", + "max":10, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":20, + "min":0 + }, + "MetricKeyDataPoints":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"ResponseResourceMetricKey", + "documentation":"

The dimension(s) to which the data points apply.

" + }, + "DataPoints":{ + "shape":"DataPointsList", + "documentation":"

An array of timestamp-value pairs, representing measurements over a period of time.

" + } + }, + "documentation":"

A time-ordered series of data points, correpsonding to a dimension of a Performance Insights metric.

" + }, + "MetricKeyDataPointsList":{ + "type":"list", + "member":{"shape":"MetricKeyDataPoints"} + }, + "MetricQuery":{ + "type":"structure", + "required":["Metric"], + "members":{ + "Metric":{ + "shape":"String", + "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" + }, + "GroupBy":{ + "shape":"DimensionGroup", + "documentation":"

A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.

" + }, + "Filter":{ + "shape":"MetricQueryFilterMap", + "documentation":"

One or more filters to apply in the request. Restrictions:

  • Any number of filters by the same dimension, as specified in the GroupBy parameter.

  • A single filter for any other dimension in this dimension group.

" + } + }, + "documentation":"

A single query to be processed. You must provide the metric to query. If no other parameters are specified, Performance Insights returns all of the data points for that metric. You can optionally request that the data points be aggregated by dimension group ( GroupBy), and return only those data points that match your criteria (Filter).

" + }, + "MetricQueryFilterMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "MetricQueryList":{ + "type":"list", + "member":{"shape":"MetricQuery"}, + "max":15, + "min":1 + }, + "MetricValuesList":{ + "type":"list", + "member":{"shape":"Double"} + }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

The user is not authorized to perform this request.

", + "exception":true + }, + "ResponsePartitionKey":{ + "type":"structure", + "required":["Dimensions"], + "members":{ + "Dimensions":{ + "shape":"DimensionMap", + "documentation":"

A dimension map that contains the dimension(s) for this partition.

" + } + }, + "documentation":"

If PartitionBy was specified in a DescribeDimensionKeys request, the dimensions are returned in an array. Each element in the array specifies one dimension.

" + }, + "ResponsePartitionKeyList":{ + "type":"list", + "member":{"shape":"ResponsePartitionKey"} + }, + "ResponseResourceMetricKey":{ + "type":"structure", + "required":["Metric"], + "members":{ + "Metric":{ + "shape":"String", + "documentation":"

The name of a Performance Insights metric to be measured.

Valid values for Metric are:

  • db.load.avg - a scaled representation of the number of active sessions for the database engine.

  • db.sampledload.avg - the raw number of active sessions for the database engine.

" + }, + "Dimensions":{ + "shape":"DimensionMap", + "documentation":"

The valid dimensions for the metric.

" + } + }, + "documentation":"

An object describing a Performance Insights metric and one or more dimensions for that metric.

" + }, + "ServiceType":{ + "type":"string", + "enum":["RDS"] + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":1 + } + }, + "documentation":"

AWS Performance Insights enables you to monitor and explore different dimensions of database load based on data captured from a running RDS instance. The guide provides detailed information about Performance Insights data types, parameters and errors. For more information about Performance Insights capabilities see Using Amazon RDS Performance Insights in the Amazon RDS User Guide.

The AWS Performance Insights API provides visibility into the performance of your RDS instance, when Performance Insights is enabled for supported engine types. While Amazon CloudWatch provides the authoritative source for AWS service vended monitoring metrics, AWS Performance Insights offers a domain-specific view of database load measured as Average Active Sessions and provided to API consumers as a 2-dimensional time-series dataset. The time dimension of the data provides DB load data for each time point in the queried time range, and each time point decomposes overall load in relation to the requested dimensions, such as SQL, Wait-event, User or Host, measured at that time point.

" +} diff -Nru python-botocore-1.4.70/botocore/data/pinpoint/2016-12-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/pinpoint/2016-12-01/examples-1.json --- python-botocore-1.4.70/botocore/data/pinpoint/2016-12-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pinpoint/2016-12-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/pinpoint/2016-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/pinpoint/2016-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/pinpoint/2016-12-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pinpoint/2016-12-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,14689 @@ +{ + "metadata": { + "apiVersion": "2016-12-01", + "endpointPrefix": "pinpoint", + "signingName": "mobiletargeting", + "serviceFullName": "Amazon Pinpoint", + "serviceId": "Pinpoint", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "pinpoint-2016-12-01", + "signatureVersion": "v4" + }, + "documentation": "

Doc Engage API - Amazon Pinpoint API

", + "operations": { + "CreateApp": { + "name": "CreateApp", + "http": { + "method": "POST", + "requestUri": "/v1/apps", + "responseCode": 201 + }, + "input": { + "shape": "CreateAppRequest" + }, + "output": { + "shape": "CreateAppResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates an application.

" + }, + "CreateCampaign": { + "name": "CreateCampaign", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/campaigns", + "responseCode": 201 + }, + "input": { + "shape": "CreateCampaignRequest" + }, + "output": { + "shape": "CreateCampaignResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new campaign for an application or updates the settings of an existing campaign for an application.

" + }, + "CreateEmailTemplate": { + "name": "CreateEmailTemplate", + "http": { + "method": "POST", + "requestUri": "/v1/templates/{template-name}/email", + "responseCode": 201 + }, + "input": { + "shape": "CreateEmailTemplateRequest" + }, + "output": { + "shape": "CreateEmailTemplateResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + }, + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + } + ], + "documentation": "

Creates a message template for messages that are sent through the email channel.

" + }, + "CreateExportJob": { + "name": "CreateExportJob", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/jobs/export", + "responseCode": 202 + }, + "input": { + "shape": "CreateExportJobRequest" + }, + "output": { + "shape": "CreateExportJobResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates an export job for an application.

" + }, + "CreateImportJob": { + "name": "CreateImportJob", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/jobs/import", + "responseCode": 201 + }, + "input": { + "shape": "CreateImportJobRequest" + }, + "output": { + "shape": "CreateImportJobResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates an import job for an application.

" + }, + "CreateJourney": { + "name": "CreateJourney", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/journeys", + "responseCode": 201 + }, + "input": { + "shape": "CreateJourneyRequest" + }, + "output": { + "shape": "CreateJourneyResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a journey for an application.

" + }, + "CreatePushTemplate": { + "name": "CreatePushTemplate", + "http": { + "method": "POST", + "requestUri": "/v1/templates/{template-name}/push", + "responseCode": 201 + }, + "input": { + "shape": "CreatePushTemplateRequest" + }, + "output": { + "shape": "CreatePushTemplateResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + }, + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + } + ], + "documentation": "

Creates a message template for messages that are sent through a push notification channel.

" + }, + "CreateRecommenderConfiguration": { + "name": "CreateRecommenderConfiguration", + "http": { + "method": "POST", + "requestUri": "/v1/recommenders", + "responseCode": 201 + }, + "input": { + "shape": "CreateRecommenderConfigurationRequest" + }, + "output": { + "shape": "CreateRecommenderConfigurationResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates an Amazon Pinpoint configuration for a recommender model.

" + }, + "CreateSegment": { + "name": "CreateSegment", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/segments", + "responseCode": 201 + }, + "input": { + "shape": "CreateSegmentRequest" + }, + "output": { + "shape": "CreateSegmentResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new segment for an application or updates the configuration, dimension, and other settings for an existing segment that's associated with an application.

" + }, + "CreateSmsTemplate": { + "name": "CreateSmsTemplate", + "http": { + "method": "POST", + "requestUri": "/v1/templates/{template-name}/sms", + "responseCode": 201 + }, + "input": { + "shape": "CreateSmsTemplateRequest" + }, + "output": { + "shape": "CreateSmsTemplateResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + }, + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + } + ], + "documentation": "

Creates a message template for messages that are sent through the SMS channel.

" + }, + "CreateVoiceTemplate": { + "name": "CreateVoiceTemplate", + "http": { + "method": "POST", + "requestUri": "/v1/templates/{template-name}/voice", + "responseCode": 201 + }, + "input": { + "shape": "CreateVoiceTemplateRequest" + }, + "output": { + "shape": "CreateVoiceTemplateResponse", + "documentation": "

The request succeeded and the specified resource was created.

" + }, + "errors": [ + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + }, + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + } + ], + "documentation": "

Creates a message template for messages that are sent through the voice channel.

" + }, + "DeleteAdmChannel": { + "name": "DeleteAdmChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/adm", + "responseCode": 200 + }, + "input": { + "shape": "DeleteAdmChannelRequest" + }, + "output": { + "shape": "DeleteAdmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the ADM channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteApnsChannel": { + "name": "DeleteApnsChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/apns", + "responseCode": 200 + }, + "input": { + "shape": "DeleteApnsChannelRequest" + }, + "output": { + "shape": "DeleteApnsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the APNs channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteApnsSandboxChannel": { + "name": "DeleteApnsSandboxChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "DeleteApnsSandboxChannelRequest" + }, + "output": { + "shape": "DeleteApnsSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the APNs sandbox channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteApnsVoipChannel": { + "name": "DeleteApnsVoipChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip", + "responseCode": 200 + }, + "input": { + "shape": "DeleteApnsVoipChannelRequest" + }, + "output": { + "shape": "DeleteApnsVoipChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the APNs VoIP channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteApnsVoipSandboxChannel": { + "name": "DeleteApnsVoipSandboxChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "DeleteApnsVoipSandboxChannelRequest" + }, + "output": { + "shape": "DeleteApnsVoipSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the APNs VoIP sandbox channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteApp": { + "name": "DeleteApp", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteAppRequest" + }, + "output": { + "shape": "DeleteAppResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes an application.

" + }, + "DeleteBaiduChannel": { + "name": "DeleteBaiduChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/baidu", + "responseCode": 200 + }, + "input": { + "shape": "DeleteBaiduChannelRequest" + }, + "output": { + "shape": "DeleteBaiduChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the Baidu channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteCampaign": { + "name": "DeleteCampaign", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteCampaignRequest" + }, + "output": { + "shape": "DeleteCampaignResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a campaign from an application.

" + }, + "DeleteEmailChannel": { + "name": "DeleteEmailChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/email", + "responseCode": 200 + }, + "input": { + "shape": "DeleteEmailChannelRequest" + }, + "output": { + "shape": "DeleteEmailChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the email channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteEmailTemplate": { + "name": "DeleteEmailTemplate", + "http": { + "method": "DELETE", + "requestUri": "/v1/templates/{template-name}/email", + "responseCode": 202 + }, + "input": { + "shape": "DeleteEmailTemplateRequest" + }, + "output": { + "shape": "DeleteEmailTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a message template for messages that were sent through the email channel.

" + }, + "DeleteEndpoint": { + "name": "DeleteEndpoint", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteEndpointRequest" + }, + "output": { + "shape": "DeleteEndpointResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes an endpoint from an application.

" + }, + "DeleteEventStream": { + "name": "DeleteEventStream", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/eventstream", + "responseCode": 200 + }, + "input": { + "shape": "DeleteEventStreamRequest" + }, + "output": { + "shape": "DeleteEventStreamResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes the event stream for an application.

" + }, + "DeleteGcmChannel": { + "name": "DeleteGcmChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/gcm", + "responseCode": 200 + }, + "input": { + "shape": "DeleteGcmChannelRequest" + }, + "output": { + "shape": "DeleteGcmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the GCM channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteJourney": { + "name": "DeleteJourney", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteJourneyRequest" + }, + "output": { + "shape": "DeleteJourneyResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a journey from an application.

" + }, + "DeletePushTemplate": { + "name": "DeletePushTemplate", + "http": { + "method": "DELETE", + "requestUri": "/v1/templates/{template-name}/push", + "responseCode": 202 + }, + "input": { + "shape": "DeletePushTemplateRequest" + }, + "output": { + "shape": "DeletePushTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a message template for messages that were sent through a push notification channel.

" + }, + "DeleteRecommenderConfiguration": { + "name": "DeleteRecommenderConfiguration", + "http": { + "method": "DELETE", + "requestUri": "/v1/recommenders/{recommender-id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteRecommenderConfigurationRequest" + }, + "output": { + "shape": "DeleteRecommenderConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes an Amazon Pinpoint configuration for a recommender model.

" + }, + "DeleteSegment": { + "name": "DeleteSegment", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteSegmentRequest" + }, + "output": { + "shape": "DeleteSegmentResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a segment from an application.

" + }, + "DeleteSmsChannel": { + "name": "DeleteSmsChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/sms", + "responseCode": 200 + }, + "input": { + "shape": "DeleteSmsChannelRequest" + }, + "output": { + "shape": "DeleteSmsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the SMS channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteSmsTemplate": { + "name": "DeleteSmsTemplate", + "http": { + "method": "DELETE", + "requestUri": "/v1/templates/{template-name}/sms", + "responseCode": 202 + }, + "input": { + "shape": "DeleteSmsTemplateRequest" + }, + "output": { + "shape": "DeleteSmsTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a message template for messages that were sent through the SMS channel.

" + }, + "DeleteUserEndpoints": { + "name": "DeleteUserEndpoints", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/users/{user-id}", + "responseCode": 202 + }, + "input": { + "shape": "DeleteUserEndpointsRequest" + }, + "output": { + "shape": "DeleteUserEndpointsResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes all the endpoints that are associated with a specific user ID.

" + }, + "DeleteVoiceChannel": { + "name": "DeleteVoiceChannel", + "http": { + "method": "DELETE", + "requestUri": "/v1/apps/{application-id}/channels/voice", + "responseCode": 200 + }, + "input": { + "shape": "DeleteVoiceChannelRequest" + }, + "output": { + "shape": "DeleteVoiceChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Disables the voice channel for an application and deletes any existing settings for the channel.

" + }, + "DeleteVoiceTemplate": { + "name": "DeleteVoiceTemplate", + "http": { + "method": "DELETE", + "requestUri": "/v1/templates/{template-name}/voice", + "responseCode": 202 + }, + "input": { + "shape": "DeleteVoiceTemplateRequest" + }, + "output": { + "shape": "DeleteVoiceTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Deletes a message template for messages that were sent through the voice channel.

" + }, + "GetAdmChannel": { + "name": "GetAdmChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/adm", + "responseCode": 200 + }, + "input": { + "shape": "GetAdmChannelRequest" + }, + "output": { + "shape": "GetAdmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the ADM channel for an application.

" + }, + "GetApnsChannel": { + "name": "GetApnsChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/apns", + "responseCode": 200 + }, + "input": { + "shape": "GetApnsChannelRequest" + }, + "output": { + "shape": "GetApnsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the APNs channel for an application.

" + }, + "GetApnsSandboxChannel": { + "name": "GetApnsSandboxChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "GetApnsSandboxChannelRequest" + }, + "output": { + "shape": "GetApnsSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the APNs sandbox channel for an application.

" + }, + "GetApnsVoipChannel": { + "name": "GetApnsVoipChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip", + "responseCode": 200 + }, + "input": { + "shape": "GetApnsVoipChannelRequest" + }, + "output": { + "shape": "GetApnsVoipChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the APNs VoIP channel for an application.

" + }, + "GetApnsVoipSandboxChannel": { + "name": "GetApnsVoipSandboxChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "GetApnsVoipSandboxChannelRequest" + }, + "output": { + "shape": "GetApnsVoipSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the APNs VoIP sandbox channel for an application.

" + }, + "GetApp": { + "name": "GetApp", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetAppRequest" + }, + "output": { + "shape": "GetAppResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about an application.

" + }, + "GetApplicationDateRangeKpi": { + "name": "GetApplicationDateRangeKpi", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/kpis/daterange/{kpi-name}", + "responseCode": 200 + }, + "input": { + "shape": "GetApplicationDateRangeKpiRequest" + }, + "output": { + "shape": "GetApplicationDateRangeKpiResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves (queries) pre-aggregated data for a standard metric that applies to an application.

" + }, + "GetApplicationSettings": { + "name": "GetApplicationSettings", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/settings", + "responseCode": 200 + }, + "input": { + "shape": "GetApplicationSettingsRequest" + }, + "output": { + "shape": "GetApplicationSettingsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the settings for an application.

" + }, + "GetApps": { + "name": "GetApps", + "http": { + "method": "GET", + "requestUri": "/v1/apps", + "responseCode": 200 + }, + "input": { + "shape": "GetAppsRequest" + }, + "output": { + "shape": "GetAppsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about all the applications that are associated with your Amazon Pinpoint account.

" + }, + "GetBaiduChannel": { + "name": "GetBaiduChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/baidu", + "responseCode": 200 + }, + "input": { + "shape": "GetBaiduChannelRequest" + }, + "output": { + "shape": "GetBaiduChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the Baidu channel for an application.

" + }, + "GetCampaign": { + "name": "GetCampaign", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignRequest" + }, + "output": { + "shape": "GetCampaignResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for a campaign.

" + }, + "GetCampaignActivities": { + "name": "GetCampaignActivities", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/activities", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignActivitiesRequest" + }, + "output": { + "shape": "GetCampaignActivitiesResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about all the activities for a campaign.

" + }, + "GetCampaignDateRangeKpi": { + "name": "GetCampaignDateRangeKpi", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/kpis/daterange/{kpi-name}", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignDateRangeKpiRequest" + }, + "output": { + "shape": "GetCampaignDateRangeKpiResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves (queries) pre-aggregated data for a standard metric that applies to a campaign.

" + }, + "GetCampaignVersion": { + "name": "GetCampaignVersion", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions/{version}", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignVersionRequest" + }, + "output": { + "shape": "GetCampaignVersionResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for a specific version of a campaign.

" + }, + "GetCampaignVersions": { + "name": "GetCampaignVersions", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}/versions", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignVersionsRequest" + }, + "output": { + "shape": "GetCampaignVersionsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for all versions of a campaign.

" + }, + "GetCampaigns": { + "name": "GetCampaigns", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/campaigns", + "responseCode": 200 + }, + "input": { + "shape": "GetCampaignsRequest" + }, + "output": { + "shape": "GetCampaignsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for all the campaigns that are associated with an application.

" + }, + "GetChannels": { + "name": "GetChannels", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels", + "responseCode": 200 + }, + "input": { + "shape": "GetChannelsRequest" + }, + "output": { + "shape": "GetChannelsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the history and status of each channel for an application.

" + }, + "GetEmailChannel": { + "name": "GetEmailChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/email", + "responseCode": 200 + }, + "input": { + "shape": "GetEmailChannelRequest" + }, + "output": { + "shape": "GetEmailChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the email channel for an application.

" + }, + "GetEmailTemplate": { + "name": "GetEmailTemplate", + "http": { + "method": "GET", + "requestUri": "/v1/templates/{template-name}/email", + "responseCode": 200 + }, + "input": { + "shape": "GetEmailTemplateRequest" + }, + "output": { + "shape": "GetEmailTemplateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves the content and settings of a message template for messages that are sent through the email channel.

" + }, + "GetEndpoint": { + "name": "GetEndpoint", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetEndpointRequest" + }, + "output": { + "shape": "GetEndpointResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the settings and attributes of a specific endpoint for an application.

" + }, + "GetEventStream": { + "name": "GetEventStream", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/eventstream", + "responseCode": 200 + }, + "input": { + "shape": "GetEventStreamRequest" + }, + "output": { + "shape": "GetEventStreamResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the event stream settings for an application.

" + }, + "GetExportJob": { + "name": "GetExportJob", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/jobs/export/{job-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetExportJobRequest" + }, + "output": { + "shape": "GetExportJobResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of a specific export job for an application.

" + }, + "GetExportJobs": { + "name": "GetExportJobs", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/jobs/export", + "responseCode": 200 + }, + "input": { + "shape": "GetExportJobsRequest" + }, + "output": { + "shape": "GetExportJobsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of all the export jobs for an application.

" + }, + "GetGcmChannel": { + "name": "GetGcmChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/gcm", + "responseCode": 200 + }, + "input": { + "shape": "GetGcmChannelRequest" + }, + "output": { + "shape": "GetGcmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the GCM channel for an application.

" + }, + "GetImportJob": { + "name": "GetImportJob", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/jobs/import/{job-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetImportJobRequest" + }, + "output": { + "shape": "GetImportJobResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of a specific import job for an application.

" + }, + "GetImportJobs": { + "name": "GetImportJobs", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/jobs/import", + "responseCode": 200 + }, + "input": { + "shape": "GetImportJobsRequest" + }, + "output": { + "shape": "GetImportJobsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of all the import jobs for an application.

" + }, + "GetJourney": { + "name": "GetJourney", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyRequest" + }, + "output": { + "shape": "GetJourneyResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for a journey.

" + }, + "GetJourneyDateRangeKpi": { + "name": "GetJourneyDateRangeKpi", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/kpis/daterange/{kpi-name}", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyDateRangeKpiRequest" + }, + "output": { + "shape": "GetJourneyDateRangeKpiResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves (queries) pre-aggregated data for a standard engagement metric that applies to a journey.

" + }, + "GetJourneyExecutionActivityMetrics": { + "name": "GetJourneyExecutionActivityMetrics", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/activities/{journey-activity-id}/execution-metrics", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyExecutionActivityMetricsRequest" + }, + "output": { + "shape": "GetJourneyExecutionActivityMetricsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey activity.

" + }, + "GetJourneyExecutionMetrics": { + "name": "GetJourneyExecutionMetrics", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/execution-metrics", + "responseCode": 200 + }, + "input": { + "shape": "GetJourneyExecutionMetricsRequest" + }, + "output": { + "shape": "GetJourneyExecutionMetricsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves (queries) pre-aggregated data for a standard execution metric that applies to a journey.

" + }, + "GetPushTemplate": { + "name": "GetPushTemplate", + "http": { + "method": "GET", + "requestUri": "/v1/templates/{template-name}/push", + "responseCode": 200 + }, + "input": { + "shape": "GetPushTemplateRequest" + }, + "output": { + "shape": "GetPushTemplateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves the content and settings of a message template for messages that are sent through a push notification channel.

" + }, + "GetRecommenderConfiguration": { + "name": "GetRecommenderConfiguration", + "http": { + "method": "GET", + "requestUri": "/v1/recommenders/{recommender-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetRecommenderConfigurationRequest" + }, + "output": { + "shape": "GetRecommenderConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about an Amazon Pinpoint configuration for a recommender model.

" + }, + "GetRecommenderConfigurations": { + "name": "GetRecommenderConfigurations", + "http": { + "method": "GET", + "requestUri": "/v1/recommenders", + "responseCode": 200 + }, + "input": { + "shape": "GetRecommenderConfigurationsRequest" + }, + "output": { + "shape": "GetRecommenderConfigurationsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about all the recommender model configurations that are associated with your Amazon Pinpoint account.

" + }, + "GetSegment": { + "name": "GetSegment", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentRequest" + }, + "output": { + "shape": "GetSegmentResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the configuration, dimension, and other settings for a specific segment that's associated with an application.

" + }, + "GetSegmentExportJobs": { + "name": "GetSegmentExportJobs", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/jobs/export", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentExportJobsRequest" + }, + "output": { + "shape": "GetSegmentExportJobsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the export jobs for a segment.

" + }, + "GetSegmentImportJobs": { + "name": "GetSegmentImportJobs", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/jobs/import", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentImportJobsRequest" + }, + "output": { + "shape": "GetSegmentImportJobsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the import jobs for a segment.

" + }, + "GetSegmentVersion": { + "name": "GetSegmentVersion", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions/{version}", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentVersionRequest" + }, + "output": { + "shape": "GetSegmentVersionResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the configuration, dimension, and other settings for a specific version of a segment that's associated with an application.

" + }, + "GetSegmentVersions": { + "name": "GetSegmentVersions", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}/versions", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentVersionsRequest" + }, + "output": { + "shape": "GetSegmentVersionsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the configuration, dimension, and other settings for all the versions of a specific segment that's associated with an application.

" + }, + "GetSegments": { + "name": "GetSegments", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/segments", + "responseCode": 200 + }, + "input": { + "shape": "GetSegmentsRequest" + }, + "output": { + "shape": "GetSegmentsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the configuration, dimension, and other settings for all the segments that are associated with an application.

" + }, + "GetSmsChannel": { + "name": "GetSmsChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/sms", + "responseCode": 200 + }, + "input": { + "shape": "GetSmsChannelRequest" + }, + "output": { + "shape": "GetSmsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the SMS channel for an application.

" + }, + "GetSmsTemplate": { + "name": "GetSmsTemplate", + "http": { + "method": "GET", + "requestUri": "/v1/templates/{template-name}/sms", + "responseCode": 200 + }, + "input": { + "shape": "GetSmsTemplateRequest" + }, + "output": { + "shape": "GetSmsTemplateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves the content and settings of a message template for messages that are sent through the SMS channel.

" + }, + "GetUserEndpoints": { + "name": "GetUserEndpoints", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/users/{user-id}", + "responseCode": 200 + }, + "input": { + "shape": "GetUserEndpointsRequest" + }, + "output": { + "shape": "GetUserEndpointsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about all the endpoints that are associated with a specific user ID.

" + }, + "GetVoiceChannel": { + "name": "GetVoiceChannel", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/channels/voice", + "responseCode": 200 + }, + "input": { + "shape": "GetVoiceChannelRequest" + }, + "output": { + "shape": "GetVoiceChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status and settings of the voice channel for an application.

" + }, + "GetVoiceTemplate": { + "name": "GetVoiceTemplate", + "http": { + "method": "GET", + "requestUri": "/v1/templates/{template-name}/voice", + "responseCode": 200 + }, + "input": { + "shape": "GetVoiceTemplateRequest" + }, + "output": { + "shape": "GetVoiceTemplateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves the content and settings of a message template for messages that are sent through the voice channel.

" + }, + "ListJourneys": { + "name": "ListJourneys", + "http": { + "method": "GET", + "requestUri": "/v1/apps/{application-id}/journeys", + "responseCode": 200 + }, + "input": { + "shape": "ListJourneysRequest" + }, + "output": { + "shape": "ListJourneysResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about the status, configuration, and other settings for all the journeys that are associated with an application.

" + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/v1/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [], + "documentation": "

Retrieves all the tags (keys and values) that are associated with an application, campaign, message template, or segment.

" + }, + "ListTemplateVersions": { + "name": "ListTemplateVersions", + "http": { + "method": "GET", + "requestUri": "/v1/templates/{template-name}/{template-type}/versions", + "responseCode": 200 + }, + "input": { + "shape": "ListTemplateVersionsRequest" + }, + "output": { + "shape": "ListTemplateVersionsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about all the versions of a specific message template.

" + }, + "ListTemplates": { + "name": "ListTemplates", + "http": { + "method": "GET", + "requestUri": "/v1/templates", + "responseCode": 200 + }, + "input": { + "shape": "ListTemplatesRequest" + }, + "output": { + "shape": "ListTemplatesResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + }, + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + } + ], + "documentation": "

Retrieves information about all the message templates that are associated with your Amazon Pinpoint account.

" + }, + "PhoneNumberValidate": { + "name": "PhoneNumberValidate", + "http": { + "method": "POST", + "requestUri": "/v1/phone/number/validate", + "responseCode": 200 + }, + "input": { + "shape": "PhoneNumberValidateRequest" + }, + "output": { + "shape": "PhoneNumberValidateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Retrieves information about a phone number.

" + }, + "PutEventStream": { + "name": "PutEventStream", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/eventstream", + "responseCode": 200 + }, + "input": { + "shape": "PutEventStreamRequest" + }, + "output": { + "shape": "PutEventStreamResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new event stream for an application or updates the settings of an existing event stream for an application.

" + }, + "PutEvents": { + "name": "PutEvents", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/events", + "responseCode": 202 + }, + "input": { + "shape": "PutEventsRequest" + }, + "output": { + "shape": "PutEventsResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new event to record for endpoints, or creates or updates endpoint data that existing events are associated with.

" + }, + "RemoveAttributes": { + "name": "RemoveAttributes", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/attributes/{attribute-type}", + "responseCode": 200 + }, + "input": { + "shape": "RemoveAttributesRequest" + }, + "output": { + "shape": "RemoveAttributesResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Removes one or more attributes, of the same attribute type, from all the endpoints that are associated with an application.

" + }, + "SendMessages": { + "name": "SendMessages", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/messages", + "responseCode": 200 + }, + "input": { + "shape": "SendMessagesRequest" + }, + "output": { + "shape": "SendMessagesResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates and sends a direct message.

" + }, + "SendUsersMessages": { + "name": "SendUsersMessages", + "http": { + "method": "POST", + "requestUri": "/v1/apps/{application-id}/users-messages", + "responseCode": 200 + }, + "input": { + "shape": "SendUsersMessagesRequest" + }, + "output": { + "shape": "SendUsersMessagesResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates and sends a message to a list of users.

" + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/v1/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [], + "documentation": "

Adds one or more tags (keys and values) to an application, campaign, message template, or segment.

" + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/v1/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [], + "documentation": "

Removes one or more tags (keys and values) from an application, campaign, message template, or segment.

" + }, + "UpdateAdmChannel": { + "name": "UpdateAdmChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/adm", + "responseCode": 200 + }, + "input": { + "shape": "UpdateAdmChannelRequest" + }, + "output": { + "shape": "UpdateAdmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the ADM channel for an application or updates the status and settings of the ADM channel for an application.

" + }, + "UpdateApnsChannel": { + "name": "UpdateApnsChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/apns", + "responseCode": 200 + }, + "input": { + "shape": "UpdateApnsChannelRequest" + }, + "output": { + "shape": "UpdateApnsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the APNs channel for an application or updates the status and settings of the APNs channel for an application.

" + }, + "UpdateApnsSandboxChannel": { + "name": "UpdateApnsSandboxChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/apns_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "UpdateApnsSandboxChannelRequest" + }, + "output": { + "shape": "UpdateApnsSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the APNs sandbox channel for an application or updates the status and settings of the APNs sandbox channel for an application.

" + }, + "UpdateApnsVoipChannel": { + "name": "UpdateApnsVoipChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip", + "responseCode": 200 + }, + "input": { + "shape": "UpdateApnsVoipChannelRequest" + }, + "output": { + "shape": "UpdateApnsVoipChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the APNs VoIP channel for an application or updates the status and settings of the APNs VoIP channel for an application.

" + }, + "UpdateApnsVoipSandboxChannel": { + "name": "UpdateApnsVoipSandboxChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/apns_voip_sandbox", + "responseCode": 200 + }, + "input": { + "shape": "UpdateApnsVoipSandboxChannelRequest" + }, + "output": { + "shape": "UpdateApnsVoipSandboxChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the APNs VoIP sandbox channel for an application or updates the status and settings of the APNs VoIP sandbox channel for an application.

" + }, + "UpdateApplicationSettings": { + "name": "UpdateApplicationSettings", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/settings", + "responseCode": 200 + }, + "input": { + "shape": "UpdateApplicationSettingsRequest" + }, + "output": { + "shape": "UpdateApplicationSettingsResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates the settings for an application.

" + }, + "UpdateBaiduChannel": { + "name": "UpdateBaiduChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/baidu", + "responseCode": 200 + }, + "input": { + "shape": "UpdateBaiduChannelRequest" + }, + "output": { + "shape": "UpdateBaiduChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the Baidu channel for an application or updates the status and settings of the Baidu channel for an application.

" + }, + "UpdateCampaign": { + "name": "UpdateCampaign", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/campaigns/{campaign-id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateCampaignRequest" + }, + "output": { + "shape": "UpdateCampaignResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates the configuration and other settings for a campaign.

" + }, + "UpdateEmailChannel": { + "name": "UpdateEmailChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/email", + "responseCode": 200 + }, + "input": { + "shape": "UpdateEmailChannelRequest" + }, + "output": { + "shape": "UpdateEmailChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the email channel for an application or updates the status and settings of the email channel for an application.

" + }, + "UpdateEmailTemplate": { + "name": "UpdateEmailTemplate", + "http": { + "method": "PUT", + "requestUri": "/v1/templates/{template-name}/email", + "responseCode": 202 + }, + "input": { + "shape": "UpdateEmailTemplateRequest" + }, + "output": { + "shape": "UpdateEmailTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates an existing message template for messages that are sent through the email channel.

" + }, + "UpdateEndpoint": { + "name": "UpdateEndpoint", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/endpoints/{endpoint-id}", + "responseCode": 202 + }, + "input": { + "shape": "UpdateEndpointRequest" + }, + "output": { + "shape": "UpdateEndpointResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new endpoint for an application or updates the settings and attributes of an existing endpoint for an application. You can also use this operation to define custom attributes for an endpoint. If an update includes one or more values for a custom attribute, Amazon Pinpoint replaces (overwrites) any existing values with the new values.

" + }, + "UpdateEndpointsBatch": { + "name": "UpdateEndpointsBatch", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/endpoints", + "responseCode": 202 + }, + "input": { + "shape": "UpdateEndpointsBatchRequest" + }, + "output": { + "shape": "UpdateEndpointsBatchResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new batch of endpoints for an application or updates the settings and attributes of a batch of existing endpoints for an application. You can also use this operation to define custom attributes for a batch of endpoints. If an update includes one or more values for a custom attribute, Amazon Pinpoint replaces (overwrites) any existing values with the new values.

" + }, + "UpdateGcmChannel": { + "name": "UpdateGcmChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/gcm", + "responseCode": 200 + }, + "input": { + "shape": "UpdateGcmChannelRequest" + }, + "output": { + "shape": "UpdateGcmChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the GCM channel for an application or updates the status and settings of the GCM channel for an application.

" + }, + "UpdateJourney": { + "name": "UpdateJourney", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateJourneyRequest" + }, + "output": { + "shape": "UpdateJourneyResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates the configuration and other settings for a journey.

" + }, + "UpdateJourneyState": { + "name": "UpdateJourneyState", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/journeys/{journey-id}/state", + "responseCode": 200 + }, + "input": { + "shape": "UpdateJourneyStateRequest" + }, + "output": { + "shape": "UpdateJourneyStateResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Cancels (stops) an active journey.

" + }, + "UpdatePushTemplate": { + "name": "UpdatePushTemplate", + "http": { + "method": "PUT", + "requestUri": "/v1/templates/{template-name}/push", + "responseCode": 202 + }, + "input": { + "shape": "UpdatePushTemplateRequest" + }, + "output": { + "shape": "UpdatePushTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates an existing message template for messages that are sent through a push notification channel.

" + }, + "UpdateRecommenderConfiguration": { + "name": "UpdateRecommenderConfiguration", + "http": { + "method": "PUT", + "requestUri": "/v1/recommenders/{recommender-id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRecommenderConfigurationRequest" + }, + "output": { + "shape": "UpdateRecommenderConfigurationResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates an Amazon Pinpoint configuration for a recommender model.

" + }, + "UpdateSegment": { + "name": "UpdateSegment", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/segments/{segment-id}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateSegmentRequest" + }, + "output": { + "shape": "UpdateSegmentResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Creates a new segment for an application or updates the configuration, dimension, and other settings for an existing segment that's associated with an application.

" + }, + "UpdateSmsChannel": { + "name": "UpdateSmsChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/sms", + "responseCode": 200 + }, + "input": { + "shape": "UpdateSmsChannelRequest" + }, + "output": { + "shape": "UpdateSmsChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the SMS channel for an application or updates the status and settings of the SMS channel for an application.

" + }, + "UpdateSmsTemplate": { + "name": "UpdateSmsTemplate", + "http": { + "method": "PUT", + "requestUri": "/v1/templates/{template-name}/sms", + "responseCode": 202 + }, + "input": { + "shape": "UpdateSmsTemplateRequest" + }, + "output": { + "shape": "UpdateSmsTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates an existing message template for messages that are sent through the SMS channel.

" + }, + "UpdateTemplateActiveVersion": { + "name": "UpdateTemplateActiveVersion", + "http": { + "method": "PUT", + "requestUri": "/v1/templates/{template-name}/{template-type}/active-version", + "responseCode": 200 + }, + "input": { + "shape": "UpdateTemplateActiveVersionRequest" + }, + "output": { + "shape": "UpdateTemplateActiveVersionResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Changes the status of a specific version of a message template to active.

" + }, + "UpdateVoiceChannel": { + "name": "UpdateVoiceChannel", + "http": { + "method": "PUT", + "requestUri": "/v1/apps/{application-id}/channels/voice", + "responseCode": 200 + }, + "input": { + "shape": "UpdateVoiceChannelRequest" + }, + "output": { + "shape": "UpdateVoiceChannelResponse", + "documentation": "

The request succeeded.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Enables the voice channel for an application or updates the status and settings of the voice channel for an application.

" + }, + "UpdateVoiceTemplate": { + "name": "UpdateVoiceTemplate", + "http": { + "method": "PUT", + "requestUri": "/v1/templates/{template-name}/voice", + "responseCode": 202 + }, + "input": { + "shape": "UpdateVoiceTemplateRequest" + }, + "output": { + "shape": "UpdateVoiceTemplateResponse", + "documentation": "

The request was accepted for processing. Processing may not be complete.

" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

The request contains a syntax error (BadRequestException).

" + }, + { + "shape": "InternalServerErrorException", + "documentation": "

The request failed due to an unknown internal server error, exception, or failure (InternalServerErrorException).

" + }, + { + "shape": "PayloadTooLargeException", + "documentation": "

The request failed because the payload for the body of the request is too large (RequestEntityTooLargeException).

" + }, + { + "shape": "ForbiddenException", + "documentation": "

The request was denied because access to the specified resource is forbidden (ForbiddenException).

" + }, + { + "shape": "NotFoundException", + "documentation": "

The request failed because the specified resource was not found (NotFoundException).

" + }, + { + "shape": "MethodNotAllowedException", + "documentation": "

The request failed because the method is not allowed for the specified resource (MethodNotAllowedException).

" + }, + { + "shape": "TooManyRequestsException", + "documentation": "

The request failed because too many requests were sent during a certain amount of time (TooManyRequestsException).

" + } + ], + "documentation": "

Updates an existing message template for messages that are sent through the voice channel.

" + } + }, + "shapes": { + "ADMChannelRequest": { + "type": "structure", + "members": { + "ClientId": { + "shape": "__string", + "documentation": "

The Client ID that you received from Amazon to send messages by using ADM.

" + }, + "ClientSecret": { + "shape": "__string", + "documentation": "

The Client Secret that you received from Amazon to send messages by using ADM.

" + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

Specifies whether to enable the ADM channel for the application.

" + } + }, + "documentation": "

Specifies the status and settings of the ADM (Amazon Device Messaging) channel for an application.

", + "required": [ + "ClientSecret", + "ClientId" + ] + }, + "ADMChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

The unique identifier for the application that the ADM channel applies to.

" + }, + "CreationDate": { + "shape": "__string", + "documentation": "

The date and time when the ADM channel was enabled.

" + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

Specifies whether the ADM channel is enabled for the application.

" + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

(Not used) This property is retained only for backward compatibility.

" + }, + "Id": { + "shape": "__string", + "documentation": "

(Deprecated) An identifier for the ADM channel. This property is retained only for backward compatibility.

" + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

Specifies whether the ADM channel is archived.

" + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

The user who last modified the ADM channel.

" + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

The date and time when the ADM channel was last modified.

" + }, + "Platform": { + "shape": "__string", + "documentation": "

The type of messaging or notification platform for the channel. For the ADM channel, this value is ADM.

" + }, + "Version": { + "shape": "__integer", + "documentation": "

The current version of the ADM channel.

" + } + }, + "documentation": "

Provides information about the status and settings of the ADM (Amazon Device Messaging) channel for an application.

", + "required": [ + "Platform" + ] + }, + "ADMMessage": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

" + }, + "Body": { + "shape": "__string", + "documentation": "

The body of the notification message.

" + }, + "ConsolidationKey": { + "shape": "__string", + "documentation": "

An arbitrary string that indicates that multiple messages are logically the same and that Amazon Device Messaging (ADM) can drop previously enqueued messages in favor of this message.

" + }, + "Data": { + "shape": "MapOf__string", + "documentation": "

The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

" + }, + "ExpiresAfter": { + "shape": "__string", + "documentation": "

The amount of time, in seconds, that ADM should store the message if the recipient's device is offline. Amazon Pinpoint specifies this value in the expiresAfter parameter when it sends the notification message to ADM.

" + }, + "IconReference": { + "shape": "__string", + "documentation": "

The icon image name of the asset saved in your app.

" + }, + "ImageIconUrl": { + "shape": "__string", + "documentation": "

The URL of the large icon image to display in the content view of the push notification.

" + }, + "ImageUrl": { + "shape": "__string", + "documentation": "

The URL of an image to display in the push notification.

" + }, + "MD5": { + "shape": "__string", + "documentation": "

The base64-encoded, MD5 checksum of the value specified by the Data property. ADM uses the MD5 value to verify the integrity of the data.

" + }, + "RawContent": { + "shape": "__string", + "documentation": "

The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

" + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

" + }, + "SmallImageIconUrl": { + "shape": "__string", + "documentation": "

The URL of the small icon image to display in the status bar and the content view of the push notification.

" + }, + "Sound": { + "shape": "__string", + "documentation": "

The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

" + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

The default message variables to use in the notification message. You can override the default variables with individual address variables.

" + }, + "Title": { + "shape": "__string", + "documentation": "

The title to display above the notification message on the recipient's device.

" + }, + "Url": { + "shape": "__string", + "documentation": "

The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

" + } + }, + "documentation": "

Specifies the settings for a one-time message that's sent directly to an endpoint through the ADM (Amazon Device Messaging) channel.

" + }, + "APNSChannelRequest": { + "type": "structure", + "members": { + "BundleId": { + "shape": "__string", + "documentation": "

The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

" + }, + "Certificate": { + "shape": "__string", + "documentation": "

The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

" + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

" + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

Specifies whether to enable the APNs channel for the application.

" + }, + "PrivateKey": { + "shape": "__string", + "documentation": "

The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.

" + }, + "TeamId": { + "shape": "__string", + "documentation": "

The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

" + }, + "TokenKey": { + "shape": "__string", + "documentation": "

The authentication key to use for APNs tokens.

" + }, + "TokenKeyId": { + "shape": "__string", + "documentation": "

The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

" + } + }, + "documentation": "

Specifies the status and settings of the APNs (Apple Push Notification service) channel for an application.

" + }, + "APNSChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

The unique identifier for the application that the APNs channel applies to.

" + }, + "CreationDate": { + "shape": "__string", + "documentation": "

The date and time when the APNs channel was enabled.

" + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

The default authentication method that Amazon Pinpoint uses to authenticate with APNs for this channel, key or certificate.

" + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

Specifies whether the APNs channel is enabled for the application.

" + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

(Not used) This property is retained only for backward compatibility.

" + }, + "HasTokenKey": { + "shape": "__boolean", + "documentation": "

Specifies whether the APNs channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

" + }, + "Id": { + "shape": "__string", + "documentation": "

(Deprecated) An identifier for the APNs channel. This property is retained only for backward compatibility.

" + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

Specifies whether the APNs channel is archived.

" + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

The user who last modified the APNs channel.

" + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

The date and time when the APNs channel was last modified.

" + }, + "Platform": { + "shape": "__string", + "documentation": "

The type of messaging or notification platform for the channel. For the APNs channel, this value is APNS.

" + }, + "Version": { + "shape": "__integer", + "documentation": "

The current version of the APNs channel.

" + } + }, + "documentation": "

Provides information about the status and settings of the APNs (Apple Push Notification service) channel for an application.

", + "required": [ + "Platform" + ] + }, + "APNSMessage": { + "type": "structure", + "members": { + "APNSPushType": { + "shape": "__string", + "documentation": "

The type of push notification to send. Valid values are:

  • alert - For a standard notification that's displayed on recipients' devices and prompts a recipient to interact with the notification.

  • background - For a silent notification that delivers content in the background and isn't displayed on recipients' devices.

  • complication - For a notification that contains update information for an app’s complication timeline.

  • fileprovider - For a notification that signals changes to a File Provider extension.

  • mdm - For a notification that tells managed devices to contact the MDM server.

  • voip - For a notification that provides information about an incoming VoIP call.

Amazon Pinpoint specifies this value in the apns-push-type request header when it sends the notification message to APNs. If you don't specify a value for this property, Amazon Pinpoint sets the value to alert or background automatically, based on the value that you specify for the SilentPush or RawContent property of the message.

For more information about the apns-push-type request header, see Sending Notification Requests to APNs on the Apple Developer website.

" + }, + "Action": { + "shape": "Action", + "documentation": "

The action to occur if the recipient taps the push notification. Valid values are:

  • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

  • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

  • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

" + }, + "Badge": { + "shape": "__integer", + "documentation": "

The key that indicates whether and how to modify the badge of your app's icon when the recipient receives the push notification. If this key isn't included in the dictionary, the badge doesn't change. To remove the badge, set this value to 0.

" + }, + "Body": { + "shape": "__string", + "documentation": "

The body of the notification message.

" + }, + "Category": { + "shape": "__string", + "documentation": "

The key that indicates the notification type for the push notification. This key is a value that's defined by the identifier property of one of your app's registered categories.

" + }, + "CollapseId": { + "shape": "__string", + "documentation": "

An arbitrary identifier that, if assigned to multiple messages, APNs uses to coalesce the messages into a single push notification instead of delivering each message individually. This value can't exceed 64 bytes.

Amazon Pinpoint specifies this value in the apns-collapse-id request header when it sends the notification message to APNs.

" + }, + "Data": { + "shape": "MapOf__string", + "documentation": "

The JSON payload to use for a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

" + }, + "MediaUrl": { + "shape": "__string", + "documentation": "

The URL of an image or video to display in the push notification.

" + }, + "PreferredAuthenticationMethod": { + "shape": "__string", + "documentation": "

The authentication method that you want Amazon Pinpoint to use when authenticating with APNs, CERTIFICATE or TOKEN.

" + }, + "Priority": { + "shape": "__string", + "documentation": "

para>5 - Low priority, the notification might be delayed, delivered as part of a group, or throttled.

/listitem>
  • 10 - High priority, the notification is sent immediately. This is the default value. A high priority notification should trigger an alert, play a sound, or badge your app's icon on the recipient's device.

  • /para>

    Amazon Pinpoint specifies this value in the apns-priority request header when it sends the notification message to APNs.

    The equivalent values for Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), are normal, for 5, and high, for 10. If you specify an FCM value for this property, Amazon Pinpoint accepts and converts the value to the corresponding APNs value.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

    If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. The value of the content-available key has to be an integer, and can only be 0 or 1. If you're sending a standard notification, set the value of content-available to 0. If you're sending a silent (background) notification, set the value of content-available to 1. Additionally, silent notification payloads can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

    " + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

    Specifies whether the notification is a silent push notification. A silent (or background) push notification isn't displayed on recipients' devices. You can use silent push notifications to make small updates to your app, or to display messages in an in-app message center.

    Amazon Pinpoint uses this property to determine the correct value for the apns-push-type request header when it sends the notification message to APNs. If you specify a value of true for this property, Amazon Pinpoint sets the value for the apns-push-type header field to background.

    If you specify the raw content of an APNs push notification, the message payload has to include the content-available key. For silent (background) notifications, set the value of content-available to 1. Additionally, the message payload for a silent notification can't include the alert, badge, or sound keys. For more information, see Generating a Remote Notification and Pushing Background Updates to Your App on the Apple Developer website.

    Apple has indicated that they will throttle \"excessive\" background notifications based on current traffic volumes. To prevent your notifications being throttled, Apple recommends that you send no more than 3 silent push notifications to each recipient per hour.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The key for the sound to play when the recipient receives the push notification. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the notification message. You can override these default variables with individual address variables.

    " + }, + "ThreadId": { + "shape": "__string", + "documentation": "

    The key that represents your app-specific identifier for grouping notifications. If you provide a Notification Content app extension, you can use this value to group your notifications together.

    " + }, + "TimeToLive": { + "shape": "__integer", + "documentation": "

    The amount of time, in seconds, that APNs should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If this value is 0, APNs treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

    Amazon Pinpoint specifies this value in the apns-expiration request header when it sends the notification message to APNs.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to display above the notification message on the recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the settings for a one-time message that's sent directly to an endpoint through the APNs (Apple Push Notification service) channel.

    " + }, + "APNSPushNotificationTemplate": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS platform.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The message body to use in push notifications that are based on the message template.

    " + }, + "MediaUrl": { + "shape": "__string", + "documentation": "

    The URL of an image or video to display in push notifications that are based on the message template.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for push notifications that are based on the message template. If specified, this value overrides all other content for the message template.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The key for the sound to play when the recipient receives a push notification that's based on the message template. The value for this key is the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in the recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies channel-specific content and settings for a message template that can be used in push notifications that are sent through the APNs (Apple Push Notification service) channel.

    " + }, + "APNSSandboxChannelRequest": { + "type": "structure", + "members": { + "BundleId": { + "shape": "__string", + "documentation": "

    The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

    " + }, + "Certificate": { + "shape": "__string", + "documentation": "

    The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that you want Amazon Pinpoint to use when authenticating with the APNs sandbox environment, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the APNs sandbox channel for the application.

    " + }, + "PrivateKey": { + "shape": "__string", + "documentation": "

    The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

    " + }, + "TeamId": { + "shape": "__string", + "documentation": "

    The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

    " + }, + "TokenKey": { + "shape": "__string", + "documentation": "

    The authentication key to use for APNs tokens.

    " + }, + "TokenKeyId": { + "shape": "__string", + "documentation": "

    The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

    " + } + }, + "documentation": "

    Specifies the status and settings of the APNs (Apple Push Notification service) sandbox channel for an application.

    " + }, + "APNSSandboxChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the APNs sandbox channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs sandbox channel was enabled.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs sandbox channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "HasTokenKey": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the APNs sandbox channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs sandbox channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the APNs sandbox channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs sandbox channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the APNs sandbox channel, this value is APNS_SANDBOX.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the APNs sandbox channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the APNs (Apple Push Notification service) sandbox channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "APNSVoipChannelRequest": { + "type": "structure", + "members": { + "BundleId": { + "shape": "__string", + "documentation": "

    The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

    " + }, + "Certificate": { + "shape": "__string", + "documentation": "

    The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with APNs by using an APNs certificate.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that you want Amazon Pinpoint to use when authenticating with APNs, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the APNs VoIP channel for the application.

    " + }, + "PrivateKey": { + "shape": "__string", + "documentation": "

    The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with APNs.

    " + }, + "TeamId": { + "shape": "__string", + "documentation": "

    The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

    " + }, + "TokenKey": { + "shape": "__string", + "documentation": "

    The authentication key to use for APNs tokens.

    " + }, + "TokenKeyId": { + "shape": "__string", + "documentation": "

    The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with APNs by using APNs tokens.

    " + } + }, + "documentation": "

    Specifies the status and settings of the APNs (Apple Push Notification service) VoIP channel for an application.

    " + }, + "APNSVoipChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the APNs VoIP channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs VoIP channel was enabled.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that Amazon Pinpoint uses to authenticate with APNs for this channel, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "HasTokenKey": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the APNs VoIP channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the APNs VoIP channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs VoIP channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the APNs VoIP channel, this value is APNS_VOIP.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the APNs VoIP channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the APNs (Apple Push Notification service) VoIP channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "APNSVoipSandboxChannelRequest": { + "type": "structure", + "members": { + "BundleId": { + "shape": "__string", + "documentation": "

    The bundle identifier that's assigned to your iOS app. This identifier is used for APNs tokens.

    " + }, + "Certificate": { + "shape": "__string", + "documentation": "

    The APNs client certificate that you received from Apple, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using an APNs certificate.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that you want Amazon Pinpoint to use when authenticating with the APNs sandbox environment for this channel, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP sandbox channel is enabled for the application.

    " + }, + "PrivateKey": { + "shape": "__string", + "documentation": "

    The private key for the APNs client certificate that you want Amazon Pinpoint to use to communicate with the APNs sandbox environment.

    " + }, + "TeamId": { + "shape": "__string", + "documentation": "

    The identifier that's assigned to your Apple developer account team. This identifier is used for APNs tokens.

    " + }, + "TokenKey": { + "shape": "__string", + "documentation": "

    The authentication key to use for APNs tokens.

    " + }, + "TokenKeyId": { + "shape": "__string", + "documentation": "

    The key identifier that's assigned to your APNs signing key, if you want Amazon Pinpoint to communicate with the APNs sandbox environment by using APNs tokens.

    " + } + }, + "documentation": "

    Specifies the status and settings of the APNs (Apple Push Notification service) VoIP sandbox channel for an application.

    " + }, + "APNSVoipSandboxChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the APNs VoIP sandbox channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs VoIP sandbox channel was enabled.

    " + }, + "DefaultAuthenticationMethod": { + "shape": "__string", + "documentation": "

    The default authentication method that Amazon Pinpoint uses to authenticate with the APNs sandbox environment for this channel, key or certificate.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP sandbox channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "HasTokenKey": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP sandbox channel is configured to communicate with APNs by using APNs tokens. To provide an authentication key for APNs tokens, set the TokenKey property of the channel.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the APNs VoIP sandbox channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the APNs VoIP sandbox channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the APNs VoIP sandbox channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the APNs VoIP sandbox channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the APNs VoIP sandbox channel, this value is APNS_VOIP_SANDBOX.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the APNs VoIP sandbox channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the APNs (Apple Push Notification service) VoIP sandbox channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "Action": { + "type": "string", + "enum": [ + "OPEN_APP", + "DEEP_LINK", + "URL" + ] + }, + "ActivitiesResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfActivityResponse", + "documentation": "

    An array of responses, one for each activity that was performed by the campaign.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about the activities that were performed by a campaign.

    ", + "required": [ + "Item" + ] + }, + "Activity": { + "type": "structure", + "members": { + "ConditionalSplit": { + "shape": "ConditionalSplitActivity", + "documentation": "

    The settings for a yes/no split activity. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    The custom description of the activity.

    " + }, + "EMAIL": { + "shape": "EmailMessageActivity", + "documentation": "

    The settings for an email activity. This type of activity sends an email message to participants.

    " + }, + "Holdout": { + "shape": "HoldoutActivity", + "documentation": "

    The settings for a holdout activity. This type of activity stops a journey for a specified percentage of participants.

    " + }, + "MultiCondition": { + "shape": "MultiConditionalSplitActivity", + "documentation": "

    The settings for a multivariate split activity. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

    " + }, + "RandomSplit": { + "shape": "RandomSplitActivity", + "documentation": "

    The settings for a random split activity. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

    " + }, + "Wait": { + "shape": "WaitActivity", + "documentation": "

    The settings for a wait activity. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

    " + } + }, + "documentation": "

    Specifies the configuration and other settings for an activity in a journey.

    " + }, + "ActivityResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the campaign applies to.

    " + }, + "CampaignId": { + "shape": "__string", + "documentation": "

    The unique identifier for the campaign that the activity applies to.

    " + }, + "End": { + "shape": "__string", + "documentation": "

    The actual time, in ISO 8601 format, when the activity was marked CANCELLED or COMPLETED.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the activity.

    " + }, + "Result": { + "shape": "__string", + "documentation": "

    Specifies whether the activity succeeded. Possible values are SUCCESS and FAIL.

    " + }, + "ScheduledStart": { + "shape": "__string", + "documentation": "

    The scheduled start time, in ISO 8601 format, for the activity.

    " + }, + "Start": { + "shape": "__string", + "documentation": "

    The actual start time, in ISO 8601 format, of the activity.

    " + }, + "State": { + "shape": "__string", + "documentation": "

    The current status of the activity. Possible values are: PENDING, INITIALIZING, RUNNING, PAUSED, CANCELLED, and COMPLETED.

    " + }, + "SuccessfulEndpointCount": { + "shape": "__integer", + "documentation": "

    The total number of endpoints that the campaign successfully delivered messages to.

    " + }, + "TimezonesCompletedCount": { + "shape": "__integer", + "documentation": "

    The total number of time zones that were completed.

    " + }, + "TimezonesTotalCount": { + "shape": "__integer", + "documentation": "

    The total number of unique time zones that are in the segment for the campaign.

    " + }, + "TotalEndpointCount": { + "shape": "__integer", + "documentation": "

    The total number of endpoints that the campaign attempted to deliver messages to.

    " + }, + "TreatmentId": { + "shape": "__string", + "documentation": "

    The unique identifier for the campaign treatment that the activity applies to. A treatment is a variation of a campaign that's used for A/B testing of a campaign.

    " + } + }, + "documentation": "

    Provides information about an activity that was performed by a campaign.

    ", + "required": [ + "CampaignId", + "Id", + "ApplicationId" + ] + }, + "AddressConfiguration": { + "type": "structure", + "members": { + "BodyOverride": { + "shape": "__string", + "documentation": "

    The message body to use instead of the default message body. This value overrides the default message body.

    " + }, + "ChannelType": { + "shape": "ChannelType", + "documentation": "

    The channel to use when sending the message.

    " + }, + "Context": { + "shape": "MapOf__string", + "documentation": "

    An object that maps custom attributes to attributes for the address and is attached to the message. Attribute names are case sensitive.

    For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides all other values for the message.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    A map of the message variables to merge with the variables specified by properties of the DefaultMessage object. The variables specified in this map take precedence over all other variables.

    " + }, + "TitleOverride": { + "shape": "__string", + "documentation": "

    The message title to use instead of the default message title. This value overrides the default message title.

    " + } + }, + "documentation": "

    Specifies address-based configuration settings for a message that's sent directly to an endpoint.

    " + }, + "AndroidPushNotificationTemplate": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The message body to use in a push notification that's based on the message template.

    " + }, + "ImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the large icon image to display in the content view of a push notification that's based on the message template.

    " + }, + "ImageUrl": { + "shape": "__string", + "documentation": "

    The URL of an image to display in a push notification that's based on the message template.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for a push notification that's based on the message template. If specified, this value overrides all other content for the message template.

    " + }, + "SmallImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the small icon image to display in the status bar and the content view of a push notification that's based on the message template.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to use in a push notification that's based on the message template. This title appears above the notification message on a recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies channel-specific content and settings for a message template that can be used in push notifications that are sent through the ADM (Amazon Device Messaging), Baidu (Baidu Cloud Push), or GCM (Firebase Cloud Messaging, formerly Google Cloud Messaging) channel.

    " + }, + "ApplicationDateRangeKpiResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the metric applies to.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "documentation": "

    The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + }, + "KpiName": { + "shape": "__string", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

    " + }, + "KpiResult": { + "shape": "BaseKpiResult", + "documentation": "

    An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Application Metrics resource because the resource returns all results in a single page.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "documentation": "

    The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard metric that applies to an application, and provides information about that query.

    ", + "required": [ + "KpiResult", + "KpiName", + "EndTime", + "StartTime", + "ApplicationId" + ] + }, + "ApplicationResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the application. Each tag consists of a required tag key and an associated tag value.

    " + } + }, + "documentation": "

    Provides information about an application.

    ", + "required": [ + "Id", + "Arn", + "Name" + ] + }, + "ApplicationSettingsResource": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignHook": { + "shape": "CampaignHook", + "documentation": "

    The settings for the AWS Lambda function to invoke by default as a code hook for campaigns in the application. You can use this hook to customize segments that are used by campaigns in the application.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the application's settings were last modified.

    " + }, + "Limits": { + "shape": "CampaignLimits", + "documentation": "

    The default sending limits for campaigns and journeys in the application.

    " + }, + "QuietTime": { + "shape": "QuietTime", + "documentation": "

    The default quiet time for campaigns and journeys in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

    • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

    • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

    • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

    If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

    " + } + }, + "documentation": "

    Provides information about an application, including the default settings for an application.

    ", + "required": [ + "ApplicationId" + ] + }, + "ApplicationsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfApplicationResponse", + "documentation": "

    An array of responses, one for each application that was returned.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about all of your applications.

    " + }, + "AttributeDimension": { + "type": "structure", + "members": { + "AttributeType": { + "shape": "AttributeType", + "documentation": "

    The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.

    " + }, + "Values": { + "shape": "ListOf__string", + "documentation": "

    The criteria values to use for the segment dimension. Depending on the value of the AttributeType property, endpoints are included or excluded from the segment if their attribute values match the criteria values.

    " + } + }, + "documentation": "

    Specifies attribute-based criteria for including or excluding endpoints from a segment.

    ", + "required": [ + "Values" + ] + }, + "AttributeType": { + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE" + ] + }, + "AttributesResource": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application.

    " + }, + "AttributeType": { + "shape": "__string", + "documentation": "

    The type of attribute or attributes that were removed from the endpoints. Valid values are:

    • endpoint-custom-attributes - Custom attributes that describe endpoints.

    • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints.

    • endpoint-user-attributes - Custom attributes that describe users.

    " + }, + "Attributes": { + "shape": "ListOf__string", + "documentation": "

    An array that specifies the names of the attributes that were removed from the endpoints.

    " + } + }, + "documentation": "

    Provides information about the type and the names of attributes that were removed from all the endpoints that are associated with an application.

    ", + "required": [ + "AttributeType", + "ApplicationId" + ] + }, + "BadRequestException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "BaiduChannelRequest": { + "type": "structure", + "members": { + "ApiKey": { + "shape": "__string", + "documentation": "

    The API key that you received from the Baidu Cloud Push service to communicate with the service.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the Baidu channel for the application.

    " + }, + "SecretKey": { + "shape": "__string", + "documentation": "

    The secret key that you received from the Baidu Cloud Push service to communicate with the service.

    " + } + }, + "documentation": "

    Specifies the status and settings of the Baidu (Baidu Cloud Push) channel for an application.

    ", + "required": [ + "SecretKey", + "ApiKey" + ] + }, + "BaiduChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the Baidu channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the Baidu channel was enabled.

    " + }, + "Credential": { + "shape": "__string", + "documentation": "

    The API key that you received from the Baidu Cloud Push service to communicate with the service.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the Baidu channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the Baidu channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the Baidu channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the Baidu channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the Baidu channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the Baidu channel, this value is BAIDU.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the Baidu channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the Baidu (Baidu Cloud Push) channel for an application.

    ", + "required": [ + "Credential", + "Platform" + ] + }, + "BaiduMessage": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if the recipient taps the push notification. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The body of the notification message.

    " + }, + "Data": { + "shape": "MapOf__string", + "documentation": "

    The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

    " + }, + "IconReference": { + "shape": "__string", + "documentation": "

    The icon image name of the asset saved in your app.

    " + }, + "ImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the large icon image to display in the content view of the push notification.

    " + }, + "ImageUrl": { + "shape": "__string", + "documentation": "

    The URL of an image to display in the push notification.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

    " + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

    Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

    " + }, + "SmallImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the small icon image to display in the status bar and the content view of the push notification.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the notification message. You can override the default variables with individual address variables.

    " + }, + "TimeToLive": { + "shape": "__integer", + "documentation": "

    The amount of time, in seconds, that the Baidu Cloud Push service should store the message if the recipient's device is offline. The default value and maximum supported time is 604,800 seconds (7 days).

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to display above the notification message on the recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the settings for a one-time message that's sent directly to an endpoint through the Baidu (Baidu Cloud Push) channel.

    " + }, + "BaseKpiResult": { + "type": "structure", + "members": { + "Rows": { + "shape": "ListOfResultRow", + "documentation": "

    An array of objects that provides the results of a query that retrieved the data for a standard metric that applies to an application, campaign, or journey.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard metric that applies to an application, campaign, or journey.

    ", + "required": [ + "Rows" + ] + }, + "CampaignCustomMessage": { + "type": "structure", + "members": { + "Data": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the message. The maximum size is 5 KB.

    " + } + }, + "documentation": "

    Specifies the contents of a message that's sent through a custom channel to recipients of a campaign.

    " + }, + "CampaignDateRangeKpiResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the metric applies to.

    " + }, + "CampaignId": { + "shape": "__string", + "documentation": "

    The unique identifier for the campaign that the metric applies to.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "documentation": "

    The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + }, + "KpiName": { + "shape": "__string", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

    " + }, + "KpiResult": { + "shape": "BaseKpiResult", + "documentation": "

    An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Campaign Metrics resource because the resource returns all results in a single page.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "documentation": "

    The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard metric that applies to a campaign, and provides information about that query.

    ", + "required": [ + "KpiResult", + "KpiName", + "EndTime", + "CampaignId", + "StartTime", + "ApplicationId" + ] + }, + "CampaignEmailMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The body of the email for recipients whose email clients don't render HTML content.

    " + }, + "FromAddress": { + "shape": "__string", + "documentation": "

    The verified email address to send the email from. The default address is the FromAddress specified for the email channel for the application.

    " + }, + "HtmlBody": { + "shape": "__string", + "documentation": "

    The body of the email, in HTML format, for recipients whose email clients render HTML content.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The subject line, or title, of the email.

    " + } + }, + "documentation": "

    Specifies the content and \"From\" address for an email message that's sent to recipients of a campaign.

    " + }, + "CampaignEventFilter": { + "type": "structure", + "members": { + "Dimensions": { + "shape": "EventDimensions", + "documentation": "

    The dimension settings of the event filter for the campaign.

    " + }, + "FilterType": { + "shape": "FilterType", + "documentation": "

    The type of event that causes the campaign to be sent. Valid values are: SYSTEM, sends the campaign when a system event occurs; and, ENDPOINT, sends the campaign when an endpoint event (Events resource) occurs.

    " + } + }, + "documentation": "

    Specifies the settings for events that cause a campaign to be sent.

    ", + "required": [ + "FilterType", + "Dimensions" + ] + }, + "CampaignHook": { + "type": "structure", + "members": { + "LambdaFunctionName": { + "shape": "__string", + "documentation": "

    The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to customize a segment for a campaign.

    " + }, + "Mode": { + "shape": "Mode", + "documentation": "

    The mode that Amazon Pinpoint uses to invoke the AWS Lambda function. Possible values are:

    • FILTER - Invoke the function to customize the segment that's used by a campaign.

    • DELIVERY - (Deprecated) Previously, invoked the function to send a campaign through a custom channel. This functionality is not supported anymore. To send a campaign through a custom channel, use the CustomDeliveryConfiguration and CampaignCustomMessage objects of the campaign.

    " + }, + "WebUrl": { + "shape": "__string", + "documentation": "

    The web URL that Amazon Pinpoint calls to invoke the AWS Lambda function over HTTPS.

    " + } + }, + "documentation": "

    Specifies settings for invoking an AWS Lambda function that customizes a segment for a campaign.

    " + }, + "CampaignLimits": { + "type": "structure", + "members": { + "Daily": { + "shape": "__integer", + "documentation": "

    The maximum number of messages that a campaign can send to a single endpoint during a 24-hour period. For an application, this value specifies the default limit for the number of messages that campaigns and journeys can send to a single endpoint during a 24-hour period. The maximum value is 100.

    " + }, + "MaximumDuration": { + "shape": "__integer", + "documentation": "

    The maximum amount of time, in seconds, that a campaign can attempt to deliver a message after the scheduled start time for the campaign. The minimum value is 60 seconds.

    " + }, + "MessagesPerSecond": { + "shape": "__integer", + "documentation": "

    The maximum number of messages that a campaign can send each second. For an application, this value specifies the default limit for the number of messages that campaigns and journeys can send each second. The minimum value is 50. The maximum value is 20,000.

    " + }, + "Total": { + "shape": "__integer", + "documentation": "

    The maximum number of messages that a campaign can send to a single endpoint during the course of the campaign. If a campaign recurs, this setting applies to all runs of the campaign. The maximum value is 100.

    " + } + }, + "documentation": "

    For a campaign, specifies limits on the messages that the campaign can send. For an application, specifies the default limits for messages that campaigns and journeys in the application can send.

    " + }, + "CampaignResponse": { + "type": "structure", + "members": { + "AdditionalTreatments": { + "shape": "ListOfTreatmentResource", + "documentation": "

    An array of responses, one for each treatment that you defined for the campaign, in addition to the default treatment.

    " + }, + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the campaign applies to.

    " + }, + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the campaign.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the campaign was created.

    " + }, + "CustomDeliveryConfiguration": { + "shape": "CustomDeliveryConfiguration", + "documentation": "

    The delivery configuration settings for sending the campaign through a custom channel.

    " + }, + "DefaultState": { + "shape": "CampaignState", + "documentation": "

    The current status of the campaign's default treatment. This value exists only for campaigns that have more than one treatment.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    The custom description of the campaign.

    " + }, + "HoldoutPercent": { + "shape": "__integer", + "documentation": "

    The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

    " + }, + "Hook": { + "shape": "CampaignHook", + "documentation": "

    The settings for the AWS Lambda function to use as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "IsPaused": { + "shape": "__boolean", + "documentation": "

    Specifies whether the campaign is paused. A paused campaign doesn't run unless you resume it by changing this value to false.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the campaign was last modified.

    " + }, + "Limits": { + "shape": "CampaignLimits", + "documentation": "

    The messaging limits for the campaign.

    " + }, + "MessageConfiguration": { + "shape": "MessageConfiguration", + "documentation": "

    The message configuration settings for the campaign.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The name of the campaign.

    " + }, + "Schedule": { + "shape": "Schedule", + "documentation": "

    The schedule settings for the campaign.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The unique identifier for the segment that's associated with the campaign.

    " + }, + "SegmentVersion": { + "shape": "__integer", + "documentation": "

    The version number of the segment that's associated with the campaign.

    " + }, + "State": { + "shape": "CampaignState", + "documentation": "

    The current status of the campaign.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the campaign. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template that’s used for the campaign.

    " + }, + "TreatmentDescription": { + "shape": "__string", + "documentation": "

    The custom description of the default treatment for the campaign.

    " + }, + "TreatmentName": { + "shape": "__string", + "documentation": "

    The custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The version number of the campaign.

    " + } + }, + "documentation": "

    Provides information about the status, configuration, and other settings for a campaign.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "SegmentId", + "SegmentVersion", + "Id", + "Arn", + "ApplicationId" + ] + }, + "CampaignSmsMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The body of the SMS message.

    " + }, + "MessageType": { + "shape": "MessageType", + "documentation": "

    The type of SMS message. Valid values are: TRANSACTIONAL, the message is critical or time-sensitive, such as a one-time password that supports a customer transaction; and, PROMOTIONAL, the message isn't critical or time-sensitive, such as a marketing message.

    " + }, + "SenderId": { + "shape": "__string", + "documentation": "

    The sender ID to display on recipients' devices when they receive the SMS message.

    " + } + }, + "documentation": "

    Specifies the content and settings for an SMS message that's sent to recipients of a campaign.

    " + }, + "CampaignState": { + "type": "structure", + "members": { + "CampaignStatus": { + "shape": "CampaignStatus", + "documentation": "

    The current status of the campaign, or the current status of a treatment that belongs to an A/B test campaign.

    If a campaign uses A/B testing, the campaign has a status of COMPLETED only if all campaign treatments have a status of COMPLETED. If you delete the segment that's associated with a campaign, the campaign fails and has a status of DELETED.

    " + } + }, + "documentation": "

    Provides information about the status of a campaign.

    " + }, + "CampaignStatus": { + "type": "string", + "enum": [ + "SCHEDULED", + "EXECUTING", + "PENDING_NEXT_RUN", + "COMPLETED", + "PAUSED", + "DELETED" + ] + }, + "CampaignsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfCampaignResponse", + "documentation": "

    An array of responses, one for each campaign that's associated with the application.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about the configuration and other settings for all the campaigns that are associated with an application.

    ", + "required": [ + "Item" + ] + }, + "ChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the channel was enabled.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the channel was last modified.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the channel.

    " + } + }, + "documentation": "

    Provides information about the general settings and status of a channel for an application.

    " + }, + "ChannelType": { + "type": "string", + "enum": [ + "GCM", + "APNS", + "APNS_SANDBOX", + "APNS_VOIP", + "APNS_VOIP_SANDBOX", + "ADM", + "SMS", + "VOICE", + "EMAIL", + "BAIDU", + "CUSTOM" + ] + }, + "ChannelsResponse": { + "type": "structure", + "members": { + "Channels": { + "shape": "MapOfChannelResponse", + "documentation": "

    A map that contains a multipart response for each channel. For each item in this object, the ChannelType is the key and the Channel is the value.

    " + } + }, + "documentation": "

    Provides information about the general settings and status of all channels for an application, including channels that aren't enabled for the application.

    ", + "required": [ + "Channels" + ] + }, + "Condition": { + "type": "structure", + "members": { + "Conditions": { + "shape": "ListOfSimpleCondition", + "documentation": "

    The conditions to evaluate for the activity.

    " + }, + "Operator": { + "shape": "Operator", + "documentation": "

    Specifies how to handle multiple conditions for the activity. For example, if you specify two conditions for an activity, whether both or only one of the conditions must be met for the activity to be performed.

    " + } + }, + "documentation": "

    Specifies the conditions to evaluate for an activity in a journey, and how to evaluate those conditions.

    " + }, + "ConditionalSplitActivity": { + "type": "structure", + "members": { + "Condition": { + "shape": "Condition", + "documentation": "

    The conditions that define the paths for the activity, and the relationship between the conditions.

    " + }, + "EvaluationWaitTime": { + "shape": "WaitTime", + "documentation": "

    The amount of time to wait before determining whether the conditions are met, or the date and time when Amazon Pinpoint determines whether the conditions are met.

    " + }, + "FalseActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the activity to perform if the conditions aren't met.

    " + }, + "TrueActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the activity to perform if the conditions are met.

    " + } + }, + "documentation": "

    Specifies the settings for a yes/no split activity in a journey. This type of activity sends participants down one of two paths in a journey, based on conditions that you specify.

    " + }, + "CreateAppRequest": { + "type": "structure", + "members": { + "CreateApplicationRequest": { + "shape": "CreateApplicationRequest" + } + }, + "required": [ + "CreateApplicationRequest" + ], + "payload": "CreateApplicationRequest" + }, + "CreateAppResponse": { + "type": "structure", + "members": { + "ApplicationResponse": { + "shape": "ApplicationResponse" + } + }, + "required": [ + "ApplicationResponse" + ], + "payload": "ApplicationResponse" + }, + "CreateApplicationRequest": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "documentation": "

    The display name of the application. This name is displayed as the Project name on the Amazon Pinpoint console.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the application. Each tag consists of a required tag key and an associated tag value.

    " + } + }, + "documentation": "

    Specifies the display name of an application and the tags to associate with the application.

    ", + "required": [ + "Name" + ] + }, + "CreateCampaignRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "WriteCampaignRequest": { + "shape": "WriteCampaignRequest" + } + }, + "required": [ + "ApplicationId", + "WriteCampaignRequest" + ], + "payload": "WriteCampaignRequest" + }, + "CreateCampaignResponse": { + "type": "structure", + "members": { + "CampaignResponse": { + "shape": "CampaignResponse" + } + }, + "required": [ + "CampaignResponse" + ], + "payload": "CampaignResponse" + }, + "CreateEmailTemplateRequest": { + "type": "structure", + "members": { + "EmailTemplateRequest": { + "shape": "EmailTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + } + }, + "required": [ + "TemplateName", + "EmailTemplateRequest" + ], + "payload": "EmailTemplateRequest" + }, + "CreateEmailTemplateResponse": { + "type": "structure", + "members": { + "CreateTemplateMessageBody": { + "shape": "CreateTemplateMessageBody" + } + }, + "required": [ + "CreateTemplateMessageBody" + ], + "payload": "CreateTemplateMessageBody" + }, + "CreateExportJobRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "ExportJobRequest": { + "shape": "ExportJobRequest" + } + }, + "required": [ + "ApplicationId", + "ExportJobRequest" + ], + "payload": "ExportJobRequest" + }, + "CreateExportJobResponse": { + "type": "structure", + "members": { + "ExportJobResponse": { + "shape": "ExportJobResponse" + } + }, + "required": [ + "ExportJobResponse" + ], + "payload": "ExportJobResponse" + }, + "CreateImportJobRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "ImportJobRequest": { + "shape": "ImportJobRequest" + } + }, + "required": [ + "ApplicationId", + "ImportJobRequest" + ], + "payload": "ImportJobRequest" + }, + "CreateImportJobResponse": { + "type": "structure", + "members": { + "ImportJobResponse": { + "shape": "ImportJobResponse" + } + }, + "required": [ + "ImportJobResponse" + ], + "payload": "ImportJobResponse" + }, + "CreateJourneyRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "WriteJourneyRequest": { + "shape": "WriteJourneyRequest" + } + }, + "required": [ + "ApplicationId", + "WriteJourneyRequest" + ], + "payload": "WriteJourneyRequest" + }, + "CreateJourneyResponse": { + "type": "structure", + "members": { + "JourneyResponse": { + "shape": "JourneyResponse" + } + }, + "required": [ + "JourneyResponse" + ], + "payload": "JourneyResponse" + }, + "CreatePushTemplateRequest": { + "type": "structure", + "members": { + "PushNotificationTemplateRequest": { + "shape": "PushNotificationTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + } + }, + "required": [ + "TemplateName", + "PushNotificationTemplateRequest" + ], + "payload": "PushNotificationTemplateRequest" + }, + "CreatePushTemplateResponse": { + "type": "structure", + "members": { + "CreateTemplateMessageBody": { + "shape": "CreateTemplateMessageBody" + } + }, + "required": [ + "CreateTemplateMessageBody" + ], + "payload": "CreateTemplateMessageBody" + }, + "CreateRecommenderConfiguration": { + "type": "structure", + "members": { + "Attributes": { + "shape": "MapOf__string", + "documentation": "

    A map of key-value pairs that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

    In the map, the key is the name of a custom attribute and the value is a custom display name for that attribute. The display name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The following restrictions apply to these names:

    • An attribute name must start with a letter or number and it can contain up to 50 characters. The characters can be letters, numbers, underscores (_), or hyphens (-). Attribute names are case sensitive and must be unique.

    • An attribute display name must start with a letter or number and it can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

    This object is required if the configuration invokes an AWS Lambda function (RecommendationTransformerUri) to process recommendation data. Otherwise, don't include this object in your request.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

    " + }, + "RecommendationProviderIdType": { + "shape": "__string", + "documentation": "

    The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

    • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

    • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

    " + }, + "RecommendationProviderRoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

    " + }, + "RecommendationProviderUri": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation data from. This value must match the ARN of an Amazon Personalize campaign.

    " + }, + "RecommendationTransformerUri": { + "shape": "__string", + "documentation": "

    The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for additional processing of recommendation data that's retrieved from the recommender model.

    " + }, + "RecommendationsDisplayName": { + "shape": "__string", + "documentation": "

    A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

    " + }, + "RecommendationsPerMessage": { + "shape": "__integer", + "documentation": "

    The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

    To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    " + } + }, + "documentation": "

    Specifies Amazon Pinpoint configuration settings for retrieving and processing recommendation data from a recommender model.

    ", + "required": [ + "RecommendationProviderUri", + "RecommendationProviderRoleArn" + ] + }, + "CreateRecommenderConfigurationRequest": { + "type": "structure", + "members": { + "CreateRecommenderConfiguration": { + "shape": "CreateRecommenderConfiguration" + } + }, + "required": [ + "CreateRecommenderConfiguration" + ], + "payload": "CreateRecommenderConfiguration" + }, + "CreateRecommenderConfigurationResponse": { + "type": "structure", + "members": { + "RecommenderConfigurationResponse": { + "shape": "RecommenderConfigurationResponse" + } + }, + "required": [ + "RecommenderConfigurationResponse" + ], + "payload": "RecommenderConfigurationResponse" + }, + "CreateSegmentRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "WriteSegmentRequest": { + "shape": "WriteSegmentRequest" + } + }, + "required": [ + "ApplicationId", + "WriteSegmentRequest" + ], + "payload": "WriteSegmentRequest" + }, + "CreateSegmentResponse": { + "type": "structure", + "members": { + "SegmentResponse": { + "shape": "SegmentResponse" + } + }, + "required": [ + "SegmentResponse" + ], + "payload": "SegmentResponse" + }, + "CreateSmsTemplateRequest": { + "type": "structure", + "members": { + "SMSTemplateRequest": { + "shape": "SMSTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + } + }, + "required": [ + "TemplateName", + "SMSTemplateRequest" + ], + "payload": "SMSTemplateRequest" + }, + "CreateSmsTemplateResponse": { + "type": "structure", + "members": { + "CreateTemplateMessageBody": { + "shape": "CreateTemplateMessageBody" + } + }, + "required": [ + "CreateTemplateMessageBody" + ], + "payload": "CreateTemplateMessageBody" + }, + "CreateTemplateMessageBody": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template that was created.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API for the request to create the message template.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request to create the message template.

    " + } + }, + "documentation": "

    Provides information about a request to create a message template.

    " + }, + "CreateVoiceTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "VoiceTemplateRequest": { + "shape": "VoiceTemplateRequest" + } + }, + "required": [ + "TemplateName", + "VoiceTemplateRequest" + ], + "payload": "VoiceTemplateRequest" + }, + "CreateVoiceTemplateResponse": { + "type": "structure", + "members": { + "CreateTemplateMessageBody": { + "shape": "CreateTemplateMessageBody" + } + }, + "required": [ + "CreateTemplateMessageBody" + ], + "payload": "CreateTemplateMessageBody" + }, + "CustomDeliveryConfiguration": { + "type": "structure", + "members": { + "DeliveryUri": { + "shape": "__string", + "documentation": "

    The destination to send the campaign or treatment to. This value can be one of the following:

    • The name or Amazon Resource Name (ARN) of an AWS Lambda function to invoke to handle delivery of the campaign or treatment.

    • The URL for a web application or service that supports HTTPS and can receive the message. The URL has to be a full URL, including the HTTPS protocol.

    " + }, + "EndpointTypes": { + "shape": "ListOf__EndpointTypesElement", + "documentation": "

    The types of endpoints to send the campaign or treatment to. Each valid value maps to a type of channel that you can associate with an endpoint by using the ChannelType property of an endpoint.

    " + } + }, + "documentation": "

    Specifies the delivery configuration settings for sending a campaign or campaign treatment through a custom channel. This object is required if you use the CampaignCustomMessage object to define the message to send for the campaign or campaign treatment.

    ", + "required": [ + "DeliveryUri" + ] + }, + "DefaultMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The default body of the message.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the message. You can override these default variables with individual address variables.

    " + } + }, + "documentation": "

    Specifies the default message for all channels.

    " + }, + "DefaultPushNotificationMessage": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The default action to occur if a recipient taps the push notification. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The default body of the notification message.

    " + }, + "Data": { + "shape": "MapOf__string", + "documentation": "

    The JSON data payload to use for the default push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

    " + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

    Specifies whether the default notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or delivering messages to an in-app notification center.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the notification message. You can override the default variables with individual address variables.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The default title to display above the notification message on a recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The default URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the default settings and content for a push notification that's sent directly to an endpoint.

    " + }, + "DefaultPushNotificationTemplate": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if a recipient taps a push notification that's based on the message template. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of the iOS and Android platforms.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The message body to use in push notifications that are based on the message template.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The sound to play when a recipient receives a push notification that's based on the message template. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

    For an iOS platform, this value is the key for the name of a sound file in your app's main bundle or the Library/Sounds folder in your app's data container. If the sound file can't be found or you specify default for the value, the system plays the default alert sound.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to use in push notifications that are based on the message template. This title appears above the notification message on a recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in a recipient's default mobile browser, if a recipient taps a push notification that's based on the message template and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the default settings and content for a message template that can be used in messages that are sent through a push notification channel.

    " + }, + "DeleteAdmChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteAdmChannelResponse": { + "type": "structure", + "members": { + "ADMChannelResponse": { + "shape": "ADMChannelResponse" + } + }, + "required": [ + "ADMChannelResponse" + ], + "payload": "ADMChannelResponse" + }, + "DeleteApnsChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteApnsChannelResponse": { + "type": "structure", + "members": { + "APNSChannelResponse": { + "shape": "APNSChannelResponse" + } + }, + "required": [ + "APNSChannelResponse" + ], + "payload": "APNSChannelResponse" + }, + "DeleteApnsSandboxChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteApnsSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSSandboxChannelResponse": { + "shape": "APNSSandboxChannelResponse" + } + }, + "required": [ + "APNSSandboxChannelResponse" + ], + "payload": "APNSSandboxChannelResponse" + }, + "DeleteApnsVoipChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteApnsVoipChannelResponse": { + "type": "structure", + "members": { + "APNSVoipChannelResponse": { + "shape": "APNSVoipChannelResponse" + } + }, + "required": [ + "APNSVoipChannelResponse" + ], + "payload": "APNSVoipChannelResponse" + }, + "DeleteApnsVoipSandboxChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteApnsVoipSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSVoipSandboxChannelResponse": { + "shape": "APNSVoipSandboxChannelResponse" + } + }, + "required": [ + "APNSVoipSandboxChannelResponse" + ], + "payload": "APNSVoipSandboxChannelResponse" + }, + "DeleteAppRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteAppResponse": { + "type": "structure", + "members": { + "ApplicationResponse": { + "shape": "ApplicationResponse" + } + }, + "required": [ + "ApplicationResponse" + ], + "payload": "ApplicationResponse" + }, + "DeleteBaiduChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteBaiduChannelResponse": { + "type": "structure", + "members": { + "BaiduChannelResponse": { + "shape": "BaiduChannelResponse" + } + }, + "required": [ + "BaiduChannelResponse" + ], + "payload": "BaiduChannelResponse" + }, + "DeleteCampaignRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + } + }, + "required": [ + "CampaignId", + "ApplicationId" + ] + }, + "DeleteCampaignResponse": { + "type": "structure", + "members": { + "CampaignResponse": { + "shape": "CampaignResponse" + } + }, + "required": [ + "CampaignResponse" + ], + "payload": "CampaignResponse" + }, + "DeleteEmailChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteEmailChannelResponse": { + "type": "structure", + "members": { + "EmailChannelResponse": { + "shape": "EmailChannelResponse" + } + }, + "required": [ + "EmailChannelResponse" + ], + "payload": "EmailChannelResponse" + }, + "DeleteEmailTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "DeleteEmailTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "DeleteEndpointRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndpointId": { + "shape": "__string", + "location": "uri", + "locationName": "endpoint-id", + "documentation": "

    The unique identifier for the endpoint.

    " + } + }, + "required": [ + "ApplicationId", + "EndpointId" + ] + }, + "DeleteEndpointResponse": { + "type": "structure", + "members": { + "EndpointResponse": { + "shape": "EndpointResponse" + } + }, + "required": [ + "EndpointResponse" + ], + "payload": "EndpointResponse" + }, + "DeleteEventStreamRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteEventStreamResponse": { + "type": "structure", + "members": { + "EventStream": { + "shape": "EventStream" + } + }, + "required": [ + "EventStream" + ], + "payload": "EventStream" + }, + "DeleteGcmChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteGcmChannelResponse": { + "type": "structure", + "members": { + "GCMChannelResponse": { + "shape": "GCMChannelResponse" + } + }, + "required": [ + "GCMChannelResponse" + ], + "payload": "GCMChannelResponse" + }, + "DeleteJourneyRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + } + }, + "required": [ + "JourneyId", + "ApplicationId" + ] + }, + "DeleteJourneyResponse": { + "type": "structure", + "members": { + "JourneyResponse": { + "shape": "JourneyResponse" + } + }, + "required": [ + "JourneyResponse" + ], + "payload": "JourneyResponse" + }, + "DeletePushTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "DeletePushTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "DeleteRecommenderConfigurationRequest": { + "type": "structure", + "members": { + "RecommenderId": { + "shape": "__string", + "location": "uri", + "locationName": "recommender-id", + "documentation": "

    The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "RecommenderId" + ] + }, + "DeleteRecommenderConfigurationResponse": { + "type": "structure", + "members": { + "RecommenderConfigurationResponse": { + "shape": "RecommenderConfigurationResponse" + } + }, + "required": [ + "RecommenderConfigurationResponse" + ], + "payload": "RecommenderConfigurationResponse" + }, + "DeleteSegmentRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + } + }, + "required": [ + "SegmentId", + "ApplicationId" + ] + }, + "DeleteSegmentResponse": { + "type": "structure", + "members": { + "SegmentResponse": { + "shape": "SegmentResponse" + } + }, + "required": [ + "SegmentResponse" + ], + "payload": "SegmentResponse" + }, + "DeleteSmsChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteSmsChannelResponse": { + "type": "structure", + "members": { + "SMSChannelResponse": { + "shape": "SMSChannelResponse" + } + }, + "required": [ + "SMSChannelResponse" + ], + "payload": "SMSChannelResponse" + }, + "DeleteSmsTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "DeleteSmsTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "DeleteUserEndpointsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "UserId": { + "shape": "__string", + "location": "uri", + "locationName": "user-id", + "documentation": "

    The unique identifier for the user.

    " + } + }, + "required": [ + "ApplicationId", + "UserId" + ] + }, + "DeleteUserEndpointsResponse": { + "type": "structure", + "members": { + "EndpointsResponse": { + "shape": "EndpointsResponse" + } + }, + "required": [ + "EndpointsResponse" + ], + "payload": "EndpointsResponse" + }, + "DeleteVoiceChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "DeleteVoiceChannelResponse": { + "type": "structure", + "members": { + "VoiceChannelResponse": { + "shape": "VoiceChannelResponse" + } + }, + "required": [ + "VoiceChannelResponse" + ], + "payload": "VoiceChannelResponse" + }, + "DeleteVoiceTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "DeleteVoiceTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "DeliveryStatus": { + "type": "string", + "enum": [ + "SUCCESSFUL", + "THROTTLED", + "TEMPORARY_FAILURE", + "PERMANENT_FAILURE", + "UNKNOWN_FAILURE", + "OPT_OUT", + "DUPLICATE" + ] + }, + "DimensionType": { + "type": "string", + "enum": [ + "INCLUSIVE", + "EXCLUSIVE" + ] + }, + "DirectMessageConfiguration": { + "type": "structure", + "members": { + "ADMMessage": { + "shape": "ADMMessage", + "documentation": "

    The default push notification message for the ADM (Amazon Device Messaging) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

    " + }, + "APNSMessage": { + "shape": "APNSMessage", + "documentation": "

    The default push notification message for the APNs (Apple Push Notification service) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

    " + }, + "BaiduMessage": { + "shape": "BaiduMessage", + "documentation": "

    The default push notification message for the Baidu (Baidu Cloud Push) channel. This message overrides the default push notification message (DefaultPushNotificationMessage).

    " + }, + "DefaultMessage": { + "shape": "DefaultMessage", + "documentation": "

    The default message for all channels.

    " + }, + "DefaultPushNotificationMessage": { + "shape": "DefaultPushNotificationMessage", + "documentation": "

    The default push notification message for all push notification channels.

    " + }, + "EmailMessage": { + "shape": "EmailMessage", + "documentation": "

    The default message for the email channel. This message overrides the default message (DefaultMessage).

    " + }, + "GCMMessage": { + "shape": "GCMMessage", + "documentation": "

    The default push notification message for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message overrides the default push notification message (DefaultPushNotificationMessage).

    " + }, + "SMSMessage": { + "shape": "SMSMessage", + "documentation": "

    The default message for the SMS channel. This message overrides the default message (DefaultMessage).

    " + }, + "VoiceMessage": { + "shape": "VoiceMessage", + "documentation": "

    The default message for the voice channel. This message overrides the default message (DefaultMessage).

    " + } + }, + "documentation": "

    Specifies the settings and content for the default message and any default messages that you tailored for specific channels.

    " + }, + "Duration": { + "type": "string", + "enum": [ + "HR_24", + "DAY_7", + "DAY_14", + "DAY_30" + ] + }, + "EmailChannelRequest": { + "type": "structure", + "members": { + "ConfigurationSet": { + "shape": "__string", + "documentation": "

    The Amazon SES configuration set that you want to apply to messages that you send through the channel.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the email channel for the application.

    " + }, + "FromAddress": { + "shape": "__string", + "documentation": "

    The verified email address that you want to send email from when you send email through the channel.

    " + }, + "Identity": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that you want to use when you send email through the channel.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The ARN of the AWS Identity and Access Management (IAM) role that you want Amazon Pinpoint to use when it submits email-related event data for the channel.

    " + } + }, + "documentation": "

    Specifies the status and settings of the email channel for an application.

    ", + "required": [ + "FromAddress", + "Identity" + ] + }, + "EmailChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the email channel applies to.

    " + }, + "ConfigurationSet": { + "shape": "__string", + "documentation": "

    The Amazon SES configuration set that's applied to messages that are sent through the channel.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the email channel was enabled.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the email channel is enabled for the application.

    " + }, + "FromAddress": { + "shape": "__string", + "documentation": "

    The verified email address that email is sent from when you send email through the channel.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the email channel. This property is retained only for backward compatibility.

    " + }, + "Identity": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple Email Service (Amazon SES), that's used when you send email through the channel.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the email channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the email channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the email channel was last modified.

    " + }, + "MessagesPerSecond": { + "shape": "__integer", + "documentation": "

    The maximum number of emails that can be sent through the channel each second.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the email channel, this value is EMAIL.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The ARN of the AWS Identity and Access Management (IAM) role that Amazon Pinpoint uses to submit email-related event data for the channel.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the email channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the email channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "EmailMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The body of the email message.

    " + }, + "FeedbackForwardingAddress": { + "shape": "__string", + "documentation": "

    The email address to forward bounces and complaints to, if feedback forwarding is enabled.

    " + }, + "FromAddress": { + "shape": "__string", + "documentation": "

    The verified email address to send the email message from. The default value is the FromAddress specified for the email channel.

    " + }, + "RawEmail": { + "shape": "RawEmail", + "documentation": "

    The email message, represented as a raw MIME message.

    " + }, + "ReplyToAddresses": { + "shape": "ListOf__string", + "documentation": "

    The reply-to email address(es) for the email message. If a recipient replies to the email, each reply-to address receives the reply.

    " + }, + "SimpleEmail": { + "shape": "SimpleEmail", + "documentation": "

    The email message, composed of a subject, a text part, and an HTML part.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the email message. You can override the default variables with individual address variables.

    " + } + }, + "documentation": "

    Specifies the default settings and content for a one-time email message that's sent directly to an endpoint.

    " + }, + "EmailMessageActivity": { + "type": "structure", + "members": { + "MessageConfig": { + "shape": "JourneyEmailMessage", + "documentation": "

    The \"From\" address to use for the message.

    " + }, + "NextActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the next activity to perform, after the message is sent.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the email template to use for the message.

    " + }, + "TemplateVersion": { + "shape": "__string", + "documentation": "

    The unique identifier for the version of the email template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

    If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

    " + } + }, + "documentation": "

    Specifies the settings for an email activity in a journey. This type of activity sends an email message to participants.

    " + }, + "EmailTemplateRequest": { + "type": "structure", + "members": { + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

    " + }, + "HtmlPart": { + "shape": "__string", + "documentation": "

    The message body, in HTML format, to use in email messages that are based on the message template. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

    " + }, + "Subject": { + "shape": "__string", + "documentation": "

    The subject line, or title, to use in email messages that are based on the message template.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    A custom description of the message template.

    " + }, + "TextPart": { + "shape": "__string", + "documentation": "

    The message body, in plain text format, to use in email messages that are based on the message template. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.

    " + } + }, + "documentation": "

    Specifies the content and settings for a message template that can be used in messages that are sent through the email channel.

    " + }, + "EmailTemplateResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was created.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

    " + }, + "HtmlPart": { + "shape": "__string", + "documentation": "

    The message body, in HTML format, that's used in email messages that are based on the message template.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was last modified.

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model that's used by the message template.

    " + }, + "Subject": { + "shape": "__string", + "documentation": "

    The subject line, or title, that's used in email messages that are based on the message template.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the message template.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "TemplateType", + "documentation": "

    The type of channel that the message template is designed for. For an email template, this value is EMAIL.

    " + }, + "TextPart": { + "shape": "__string", + "documentation": "

    The message body, in plain text format, that's used in email messages that are based on the message template.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

    " + } + }, + "documentation": "

    Provides information about the content and settings for a message template that can be used in messages that are sent through the email channel.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateName", + "TemplateType" + ] + }, + "EndpointBatchItem": { + "type": "structure", + "members": { + "Address": { + "shape": "__string", + "documentation": "

    The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

    " + }, + "Attributes": { + "shape": "MapOfListOf__string", + "documentation": "

    One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: [\"Science\", \"Music\", \"Travel\"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

    An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

    " + }, + "ChannelType": { + "shape": "ChannelType", + "documentation": "

    The channel to use when sending messages or push notifications to the endpoint.

    " + }, + "Demographic": { + "shape": "EndpointDemographic", + "documentation": "

    The demographic information for the endpoint, such as the time zone and platform.

    " + }, + "EffectiveDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the endpoint was created or updated.

    " + }, + "EndpointStatus": { + "shape": "__string", + "documentation": "

    Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

    Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the endpoint in the context of the batch.

    " + }, + "Location": { + "shape": "EndpointLocation", + "documentation": "

    The geographic information for the endpoint.

    " + }, + "Metrics": { + "shape": "MapOf__double", + "documentation": "

    One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

    " + }, + "OptOut": { + "shape": "__string", + "documentation": "

    Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    The unique identifier for the request to create or update the endpoint.

    " + }, + "User": { + "shape": "EndpointUser", + "documentation": "

    One or more custom attributes that describe the user who's associated with the endpoint.

    " + } + }, + "documentation": "

    Specifies an endpoint to create or update and the settings and attributes to set or change for the endpoint.

    " + }, + "EndpointBatchRequest": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfEndpointBatchItem", + "documentation": "

    An array that defines the endpoints to create or update and, for each endpoint, the property values to set or change. An array can contain a maximum of 100 items.

    " + } + }, + "documentation": "

    Specifies a batch of endpoints to create or update and the settings and attributes to set or change for each endpoint.

    ", + "required": [ + "Item" + ] + }, + "EndpointDemographic": { + "type": "structure", + "members": { + "AppVersion": { + "shape": "__string", + "documentation": "

    The version of the app that's associated with the endpoint.

    " + }, + "Locale": { + "shape": "__string", + "documentation": "

    The locale of the endpoint, in the following format: the ISO 639-1 alpha-2 code, followed by an underscore (_), followed by an ISO 3166-1 alpha-2 value.

    " + }, + "Make": { + "shape": "__string", + "documentation": "

    The manufacturer of the endpoint device, such as apple or samsung.

    " + }, + "Model": { + "shape": "__string", + "documentation": "

    The model name or number of the endpoint device, such as iPhone or SM-G900F.

    " + }, + "ModelVersion": { + "shape": "__string", + "documentation": "

    The model version of the endpoint device.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The platform of the endpoint device, such as ios.

    " + }, + "PlatformVersion": { + "shape": "__string", + "documentation": "

    The platform version of the endpoint device.

    " + }, + "Timezone": { + "shape": "__string", + "documentation": "

    The time zone of the endpoint, specified as a tz database name value, such as America/Los_Angeles.

    " + } + }, + "documentation": "

    Specifies demographic information about an endpoint, such as the applicable time zone and platform.

    " + }, + "EndpointItemResponse": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The custom message that's returned in the response as a result of processing the endpoint data.

    " + }, + "StatusCode": { + "shape": "__integer", + "documentation": "

    The status code that's returned in the response as a result of processing the endpoint data.

    " + } + }, + "documentation": "

    Provides the status code and message that result from processing data for an endpoint.

    " + }, + "EndpointLocation": { + "type": "structure", + "members": { + "City": { + "shape": "__string", + "documentation": "

    The name of the city where the endpoint is located.

    " + }, + "Country": { + "shape": "__string", + "documentation": "

    The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the endpoint is located. For example, US for the United States.

    " + }, + "Latitude": { + "shape": "__double", + "documentation": "

    The latitude coordinate of the endpoint location, rounded to one decimal place.

    " + }, + "Longitude": { + "shape": "__double", + "documentation": "

    The longitude coordinate of the endpoint location, rounded to one decimal place.

    " + }, + "PostalCode": { + "shape": "__string", + "documentation": "

    The postal or ZIP code for the area where the endpoint is located.

    " + }, + "Region": { + "shape": "__string", + "documentation": "

    The name of the region where the endpoint is located. For locations in the United States, this value is the name of a state.

    " + } + }, + "documentation": "

    Specifies geographic information about an endpoint.

    " + }, + "EndpointMessageResult": { + "type": "structure", + "members": { + "Address": { + "shape": "__string", + "documentation": "

    The endpoint address that the message was delivered to.

    " + }, + "DeliveryStatus": { + "shape": "DeliveryStatus", + "documentation": "

    The delivery status of the message. Possible values are:

    • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

    • OPT_OUT - The user who's associated with the endpoint has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

    • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.

    • SUCCESSFUL - The message was successfully delivered to the endpoint.

    • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

    • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint.

    • TIMEOUT - The message couldn't be sent within the timeout period.

    • UNKNOWN_FAILURE - An unknown error occurred.

    " + }, + "MessageId": { + "shape": "__string", + "documentation": "

    The unique identifier for the message that was sent.

    " + }, + "StatusCode": { + "shape": "__integer", + "documentation": "

    The downstream service status code for delivering the message.

    " + }, + "StatusMessage": { + "shape": "__string", + "documentation": "

    The status message for delivering the message.

    " + }, + "UpdatedToken": { + "shape": "__string", + "documentation": "

    For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

    " + } + }, + "documentation": "

    Provides information about the delivery status and results of sending a message directly to an endpoint.

    ", + "required": [ + "DeliveryStatus", + "StatusCode" + ] + }, + "EndpointRequest": { + "type": "structure", + "members": { + "Address": { + "shape": "__string", + "documentation": "

    The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

    " + }, + "Attributes": { + "shape": "MapOfListOf__string", + "documentation": "

    One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: [\"Science\", \"Music\", \"Travel\"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

    An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

    " + }, + "ChannelType": { + "shape": "ChannelType", + "documentation": "

    The channel to use when sending messages or push notifications to the endpoint.

    " + }, + "Demographic": { + "shape": "EndpointDemographic", + "documentation": "

    The demographic information for the endpoint, such as the time zone and platform.

    " + }, + "EffectiveDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the endpoint is updated.

    " + }, + "EndpointStatus": { + "shape": "__string", + "documentation": "

    Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

    Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

    " + }, + "Location": { + "shape": "EndpointLocation", + "documentation": "

    The geographic information for the endpoint.

    " + }, + "Metrics": { + "shape": "MapOf__double", + "documentation": "

    One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

    " + }, + "OptOut": { + "shape": "__string", + "documentation": "

    Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    The unique identifier for the most recent request to update the endpoint.

    " + }, + "User": { + "shape": "EndpointUser", + "documentation": "

    One or more custom attributes that describe the user who's associated with the endpoint.

    " + } + }, + "documentation": "

    Specifies the channel type and other settings for an endpoint.

    " + }, + "EndpointResponse": { + "type": "structure", + "members": { + "Address": { + "shape": "__string", + "documentation": "

    The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For example, the address for a push-notification channel is typically the token provided by a push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. The address for the SMS channel is a phone number in E.164 format, such as +12065550100. The address for the email channel is an email address.

    " + }, + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that's associated with the endpoint.

    " + }, + "Attributes": { + "shape": "MapOfListOf__string", + "documentation": "

    One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: [\"Science\", \"Music\", \"Travel\"]. You can use these attributes as filter criteria when you create segments.

    " + }, + "ChannelType": { + "shape": "ChannelType", + "documentation": "

    The channel that's used when sending messages or push notifications to the endpoint.

    " + }, + "CohortId": { + "shape": "__string", + "documentation": "

    A number from 0-99 that represents the cohort that the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an application. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for campaigns.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the endpoint was created.

    " + }, + "Demographic": { + "shape": "EndpointDemographic", + "documentation": "

    The demographic information for the endpoint, such as the time zone and platform.

    " + }, + "EffectiveDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the endpoint was last updated.

    " + }, + "EndpointStatus": { + "shape": "__string", + "documentation": "

    Specifies whether messages or push notifications are sent to the endpoint. Possible values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

    Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier that you assigned to the endpoint. The identifier should be a globally unique identifier (GUID) to ensure that it doesn't conflict with other endpoint identifiers that are associated with the application.

    " + }, + "Location": { + "shape": "EndpointLocation", + "documentation": "

    The geographic information for the endpoint.

    " + }, + "Metrics": { + "shape": "MapOf__double", + "documentation": "

    One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

    " + }, + "OptOut": { + "shape": "__string", + "documentation": "

    Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    The unique identifier for the most recent request to update the endpoint.

    " + }, + "User": { + "shape": "EndpointUser", + "documentation": "

    One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

    " + } + }, + "documentation": "

    Provides information about the channel type and other settings for an endpoint.

    " + }, + "EndpointSendConfiguration": { + "type": "structure", + "members": { + "BodyOverride": { + "shape": "__string", + "documentation": "

    The body of the message. If specified, this value overrides the default message body.

    " + }, + "Context": { + "shape": "MapOf__string", + "documentation": "

    A map of custom attributes to attach to the message for the address. Attribute names are case sensitive.

    For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the message. If specified, this value overrides all other values for the message.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    A map of the message variables to merge with the variables specified for the default message (DefaultMessage.Substitutions). The variables specified in this map take precedence over all other variables.

    " + }, + "TitleOverride": { + "shape": "__string", + "documentation": "

    The title or subject line of the message. If specified, this value overrides the default message title or subject line.

    " + } + }, + "documentation": "

    Specifies the content, including message variables and attributes, to use in a message that's sent directly to an endpoint.

    " + }, + "EndpointUser": { + "type": "structure", + "members": { + "UserAttributes": { + "shape": "MapOfListOf__string", + "documentation": "

    One or more custom attributes that describe the user by associating a name with an array of values. For example, the value of an attribute named Interests might be: [\"Science\", \"Music\", \"Travel\"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

    An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

    " + }, + "UserId": { + "shape": "__string", + "documentation": "

    The unique identifier for the user.

    " + } + }, + "documentation": "

    Specifies data for one or more attributes that describe the user who's associated with an endpoint.

    " + }, + "EndpointsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfEndpointResponse", + "documentation": "

    An array of responses, one for each endpoint that's associated with the user ID.

    " + } + }, + "documentation": "

    Provides information about all the endpoints that are associated with a user ID.

    ", + "required": [ + "Item" + ] + }, + "Event": { + "type": "structure", + "members": { + "AppPackageName": { + "shape": "__string", + "documentation": "

    The package name of the app that's recording the event.

    " + }, + "AppTitle": { + "shape": "__string", + "documentation": "

    The title of the app that's recording the event.

    " + }, + "AppVersionCode": { + "shape": "__string", + "documentation": "

    The version number of the app that's recording the event.

    " + }, + "Attributes": { + "shape": "MapOf__string", + "documentation": "

    One or more custom attributes that are associated with the event.

    " + }, + "ClientSdkVersion": { + "shape": "__string", + "documentation": "

    The version of the SDK that's running on the client device.

    " + }, + "EventType": { + "shape": "__string", + "documentation": "

    The name of the event.

    " + }, + "Metrics": { + "shape": "MapOf__double", + "documentation": "

    One or more custom metrics that are associated with the event.

    " + }, + "SdkName": { + "shape": "__string", + "documentation": "

    The name of the SDK that's being used to record the event.

    " + }, + "Session": { + "shape": "Session", + "documentation": "

    Information about the session in which the event occurred.

    " + }, + "Timestamp": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the event occurred.

    " + } + }, + "documentation": "

    Specifies information about an event that reports data to Amazon Pinpoint.

    ", + "required": [ + "EventType", + "Timestamp" + ] + }, + "EventCondition": { + "type": "structure", + "members": { + "Dimensions": { + "shape": "EventDimensions", + "documentation": "

    The dimensions for the event filter to use for the activity.

    " + }, + "MessageActivity": { + "shape": "__string", + "documentation": "

    The message identifier (message_id) for the message to use when determining whether message events meet the condition.

    " + } + }, + "documentation": "

    Specifies the conditions to evaluate for an event that applies to an activity in a journey.

    " + }, + "EventDimensions": { + "type": "structure", + "members": { + "Attributes": { + "shape": "MapOfAttributeDimension", + "documentation": "

    One or more custom attributes that your application reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create an event filter.

    " + }, + "EventType": { + "shape": "SetDimension", + "documentation": "

    The name of the event that causes the campaign to be sent or the journey activity to be performed. This can be a standard event that Amazon Pinpoint generates, such as _email.delivered. For campaigns, this can also be a custom event that's specific to your application. For information about standard events, see Streaming Amazon Pinpoint Events in the Amazon Pinpoint Developer Guide.

    " + }, + "Metrics": { + "shape": "MapOfMetricDimension", + "documentation": "

    One or more custom metrics that your application reports to Amazon Pinpoint. You can use these metrics as selection criteria when you create an event filter.

    " + } + }, + "documentation": "

    Specifies the dimensions for an event filter that determines when a campaign is sent or a journey activity is performed.

    " + }, + "EventItemResponse": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    A custom message that's returned in the response as a result of processing the event.

    " + }, + "StatusCode": { + "shape": "__integer", + "documentation": "

    The status code that's returned in the response as a result of processing the event. Possible values are: 202, for events that were accepted; and, 400, for events that weren't valid.

    " + } + }, + "documentation": "

    Provides the status code and message that result from processing an event.

    " + }, + "EventStream": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application to publish event data for.

    " + }, + "DestinationStreamArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon Kinesis Data Firehose delivery stream to publish event data to.

    For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name\n

    For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name\n

    " + }, + "ExternalId": { + "shape": "__string", + "documentation": "

    (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when publishing event data, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the event stream was last modified.

    " + }, + "LastUpdatedBy": { + "shape": "__string", + "documentation": "

    The IAM user who last modified the event stream.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to publish event data to the stream in your AWS account.

    " + } + }, + "documentation": "

    Specifies settings for publishing event data to an Amazon Kinesis data stream or an Amazon Kinesis Data Firehose delivery stream.

    ", + "required": [ + "ApplicationId", + "RoleArn", + "DestinationStreamArn" + ] + }, + "EventsBatch": { + "type": "structure", + "members": { + "Endpoint": { + "shape": "PublicEndpoint", + "documentation": "

    A set of properties and attributes that are associated with the endpoint.

    " + }, + "Events": { + "shape": "MapOfEvent", + "documentation": "

    A set of properties that are associated with the event.

    " + } + }, + "documentation": "

    Specifies a batch of endpoints and events to process.

    ", + "required": [ + "Endpoint", + "Events" + ] + }, + "EventsRequest": { + "type": "structure", + "members": { + "BatchItem": { + "shape": "MapOfEventsBatch", + "documentation": "

    The batch of events to process. For each item in a batch, the endpoint ID acts as a key that has an EventsBatch object as its value.

    " + } + }, + "documentation": "

    Specifies a batch of events to process.

    ", + "required": [ + "BatchItem" + ] + }, + "EventsResponse": { + "type": "structure", + "members": { + "Results": { + "shape": "MapOfItemResponse", + "documentation": "

    A map that contains a multipart response for each endpoint. For each item in this object, the endpoint ID is the key and the item response is the value. If no item response exists, the value can also be one of the following: 202, the request was processed successfully; or 400, the payload wasn't valid or required fields were missing.

    " + } + }, + "documentation": "

    Provides information about endpoints and the events that they're associated with.

    " + }, + "ExportJobRequest": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location where you want to export endpoint definitions to.

    " + }, + "S3UrlPrefix": { + "shape": "__string", + "documentation": "

    The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where you want to export endpoint definitions to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The identifier for the segment to export endpoint definitions from. If you don't specify this value, Amazon Pinpoint exports definitions for all the endpoints that are associated with the application.

    " + }, + "SegmentVersion": { + "shape": "__integer", + "documentation": "

    The version of the segment to export endpoint definitions from, if specified.

    " + } + }, + "documentation": "

    Specifies the settings for a job that exports endpoint definitions to an Amazon Simple Storage Service (Amazon S3) bucket.

    ", + "required": [ + "S3UrlPrefix", + "RoleArn" + ] + }, + "ExportJobResource": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location where the endpoint definitions were exported to.

    " + }, + "S3UrlPrefix": { + "shape": "__string", + "documentation": "

    The URL of the location in an Amazon Simple Storage Service (Amazon S3) bucket where the endpoint definitions were exported to. This location is typically a folder that contains multiple files. The URL should be in the following format: s3://bucket-name/folder-name/.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The identifier for the segment that the endpoint definitions were exported from. If this value isn't present, Amazon Pinpoint exported definitions for all the endpoints that are associated with the application.

    " + }, + "SegmentVersion": { + "shape": "__integer", + "documentation": "

    The version of the segment that the endpoint definitions were exported from.

    " + } + }, + "documentation": "

    Provides information about the resource settings for a job that exports endpoint definitions to a file. The file can be added directly to an Amazon Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded directly to a computer by using the Amazon Pinpoint console.

    ", + "required": [ + "S3UrlPrefix", + "RoleArn" + ] + }, + "ExportJobResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that's associated with the export job.

    " + }, + "CompletedPieces": { + "shape": "__integer", + "documentation": "

    The number of pieces that were processed successfully (completed) by the export job, as of the time of the request.

    " + }, + "CompletionDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the export job was completed.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the export job was created.

    " + }, + "Definition": { + "shape": "ExportJobResource", + "documentation": "

    The resource settings that apply to the export job.

    " + }, + "FailedPieces": { + "shape": "__integer", + "documentation": "

    The number of pieces that weren't processed successfully (failed) by the export job, as of the time of the request.

    " + }, + "Failures": { + "shape": "ListOf__string", + "documentation": "

    An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the export job, if any.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the export job.

    " + }, + "JobStatus": { + "shape": "JobStatus", + "documentation": "

    The status of the export job. The job status is FAILED if Amazon Pinpoint wasn't able to process one or more pieces in the job.

    " + }, + "TotalFailures": { + "shape": "__integer", + "documentation": "

    The total number of endpoint definitions that weren't processed successfully (failed) by the export job, typically because an error, such as a syntax error, occurred.

    " + }, + "TotalPieces": { + "shape": "__integer", + "documentation": "

    The total number of pieces that must be processed to complete the export job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the export job.

    " + }, + "TotalProcessed": { + "shape": "__integer", + "documentation": "

    The total number of endpoint definitions that were processed by the export job.

    " + }, + "Type": { + "shape": "__string", + "documentation": "

    The job type. This value is EXPORT for export jobs.

    " + } + }, + "documentation": "

    Provides information about the status and settings of a job that exports endpoint definitions to a file. The file can be added directly to an Amazon Simple Storage Service (Amazon S3) bucket by using the Amazon Pinpoint API or downloaded directly to a computer by using the Amazon Pinpoint console.

    ", + "required": [ + "JobStatus", + "CreationDate", + "Type", + "Definition", + "Id", + "ApplicationId" + ] + }, + "ExportJobsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfExportJobResponse", + "documentation": "

    An array of responses, one for each export job that's associated with the application (Export Jobs resource) or segment (Segment Export Jobs resource).

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about all the export jobs that are associated with an application or segment. An export job is a job that exports endpoint definitions to a file.

    ", + "required": [ + "Item" + ] + }, + "FilterType": { + "type": "string", + "enum": [ + "SYSTEM", + "ENDPOINT" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "Format": { + "type": "string", + "enum": [ + "CSV", + "JSON" + ] + }, + "Frequency": { + "type": "string", + "enum": [ + "ONCE", + "HOURLY", + "DAILY", + "WEEKLY", + "MONTHLY", + "EVENT" + ] + }, + "GCMChannelRequest": { + "type": "structure", + "members": { + "ApiKey": { + "shape": "__string", + "documentation": "

    The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the GCM channel for the application.

    " + } + }, + "documentation": "

    Specifies the status and settings of the GCM channel for an application. This channel enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

    ", + "required": [ + "ApiKey" + ] + }, + "GCMChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the GCM channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the GCM channel was enabled.

    " + }, + "Credential": { + "shape": "__string", + "documentation": "

    The Web API Key, also referred to as an API_KEY or server key, that you received from Google to communicate with Google services.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the GCM channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the GCM channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the GCM channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the GCM channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the GCM channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the GCM channel, this value is GCM.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the GCM channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the GCM channel for an application. The GCM channel enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

    ", + "required": [ + "Credential", + "Platform" + ] + }, + "GCMMessage": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if the recipient taps the push notification. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This action uses the deep-linking features of the Android platform.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The body of the notification message.

    " + }, + "CollapseKey": { + "shape": "__string", + "documentation": "

    An arbitrary string that identifies a group of messages that can be collapsed to ensure that only the last message is sent when delivery can resume. This helps avoid sending too many instances of the same messages when the recipient's device comes online again or becomes active.

    Amazon Pinpoint specifies this value in the Firebase Cloud Messaging (FCM) collapse_key parameter when it sends the notification message to FCM.

    " + }, + "Data": { + "shape": "MapOf__string", + "documentation": "

    The JSON data payload to use for the push notification, if the notification is a silent push notification. This payload is added to the data.pinpoint.jsonBody object of the notification.

    " + }, + "IconReference": { + "shape": "__string", + "documentation": "

    The icon image name of the asset saved in your app.

    " + }, + "ImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the large icon image to display in the content view of the push notification.

    " + }, + "ImageUrl": { + "shape": "__string", + "documentation": "

    The URL of an image to display in the push notification.

    " + }, + "Priority": { + "shape": "__string", + "documentation": "

    para>normal - The notification might be delayed. Delivery is optimized for battery usage on the recipient's device. Use this value unless immediate delivery is required.

    /listitem>
  • high - The notification is sent immediately and might wake a sleeping device.

  • /para>

    Amazon Pinpoint specifies this value in the FCM priority parameter when it sends the notification message to FCM.

    The equivalent values for Apple Push Notification service (APNs) are 5, for normal, and 10, for high. If you specify an APNs value for this property, Amazon Pinpoint accepts and converts the value to the corresponding FCM value.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

    " + }, + "RestrictedPackageName": { + "shape": "__string", + "documentation": "

    The package name of the application where registration tokens must match in order for the recipient to receive the message.

    " + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

    Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration or supporting phone home functionality.

    " + }, + "SmallImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the small icon image to display in the status bar and the content view of the push notification.

    " + }, + "Sound": { + "shape": "__string", + "documentation": "

    The sound to play when the recipient receives the push notification. You can use the default stream or specify the file name of a sound resource that's bundled in your app. On an Android platform, the sound file must reside in /res/raw/.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the notification message. You can override the default variables with individual address variables.

    " + }, + "TimeToLive": { + "shape": "__integer", + "documentation": "

    The amount of time, in seconds, that FCM should store and attempt to deliver the push notification, if the service is unable to deliver the notification the first time. If you don't specify this value, FCM defaults to the maximum value, which is 2,419,200 seconds (28 days).

    Amazon Pinpoint specifies this value in the FCM time_to_live parameter when it sends the notification message to FCM.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to display above the notification message on the recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in the recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the settings for a one-time message that's sent directly to an endpoint through the GCM channel. The GCM channel enables Amazon Pinpoint to send messages to the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service.

    " + }, + "GPSCoordinates": { + "type": "structure", + "members": { + "Latitude": { + "shape": "__double", + "documentation": "

    The latitude coordinate of the location.

    " + }, + "Longitude": { + "shape": "__double", + "documentation": "

    The longitude coordinate of the location.

    " + } + }, + "documentation": "

    Specifies the GPS coordinates of a location.

    ", + "required": [ + "Latitude", + "Longitude" + ] + }, + "GPSPointDimension": { + "type": "structure", + "members": { + "Coordinates": { + "shape": "GPSCoordinates", + "documentation": "

    The GPS coordinates to measure distance from.

    " + }, + "RangeInKilometers": { + "shape": "__double", + "documentation": "

    The range, in kilometers, from the GPS coordinates.

    " + } + }, + "documentation": "

    Specifies GPS-based criteria for including or excluding endpoints from a segment.

    ", + "required": [ + "Coordinates" + ] + }, + "GetAdmChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetAdmChannelResponse": { + "type": "structure", + "members": { + "ADMChannelResponse": { + "shape": "ADMChannelResponse" + } + }, + "required": [ + "ADMChannelResponse" + ], + "payload": "ADMChannelResponse" + }, + "GetApnsChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetApnsChannelResponse": { + "type": "structure", + "members": { + "APNSChannelResponse": { + "shape": "APNSChannelResponse" + } + }, + "required": [ + "APNSChannelResponse" + ], + "payload": "APNSChannelResponse" + }, + "GetApnsSandboxChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetApnsSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSSandboxChannelResponse": { + "shape": "APNSSandboxChannelResponse" + } + }, + "required": [ + "APNSSandboxChannelResponse" + ], + "payload": "APNSSandboxChannelResponse" + }, + "GetApnsVoipChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetApnsVoipChannelResponse": { + "type": "structure", + "members": { + "APNSVoipChannelResponse": { + "shape": "APNSVoipChannelResponse" + } + }, + "required": [ + "APNSVoipChannelResponse" + ], + "payload": "APNSVoipChannelResponse" + }, + "GetApnsVoipSandboxChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetApnsVoipSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSVoipSandboxChannelResponse": { + "shape": "APNSVoipSandboxChannelResponse" + } + }, + "required": [ + "APNSVoipSandboxChannelResponse" + ], + "payload": "APNSVoipSandboxChannelResponse" + }, + "GetAppRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetAppResponse": { + "type": "structure", + "members": { + "ApplicationResponse": { + "shape": "ApplicationResponse" + } + }, + "required": [ + "ApplicationResponse" + ], + "payload": "ApplicationResponse" + }, + "GetApplicationDateRangeKpiRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "end-time", + "documentation": "

    The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

    " + }, + "KpiName": { + "shape": "__string", + "location": "uri", + "locationName": "kpi-name", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

    " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "start-time", + "documentation": "

    The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

    " + } + }, + "required": [ + "ApplicationId", + "KpiName" + ] + }, + "GetApplicationDateRangeKpiResponse": { + "type": "structure", + "members": { + "ApplicationDateRangeKpiResponse": { + "shape": "ApplicationDateRangeKpiResponse" + } + }, + "required": [ + "ApplicationDateRangeKpiResponse" + ], + "payload": "ApplicationDateRangeKpiResponse" + }, + "GetApplicationSettingsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetApplicationSettingsResponse": { + "type": "structure", + "members": { + "ApplicationSettingsResource": { + "shape": "ApplicationSettingsResource" + } + }, + "required": [ + "ApplicationSettingsResource" + ], + "payload": "ApplicationSettingsResource" + }, + "GetAppsRequest": { + "type": "structure", + "members": { + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + } + }, + "GetAppsResponse": { + "type": "structure", + "members": { + "ApplicationsResponse": { + "shape": "ApplicationsResponse" + } + }, + "required": [ + "ApplicationsResponse" + ], + "payload": "ApplicationsResponse" + }, + "GetBaiduChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetBaiduChannelResponse": { + "type": "structure", + "members": { + "BaiduChannelResponse": { + "shape": "BaiduChannelResponse" + } + }, + "required": [ + "BaiduChannelResponse" + ], + "payload": "BaiduChannelResponse" + }, + "GetCampaignActivitiesRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId", + "CampaignId" + ] + }, + "GetCampaignActivitiesResponse": { + "type": "structure", + "members": { + "ActivitiesResponse": { + "shape": "ActivitiesResponse" + } + }, + "required": [ + "ActivitiesResponse" + ], + "payload": "ActivitiesResponse" + }, + "GetCampaignDateRangeKpiRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "end-time", + "documentation": "

    The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

    " + }, + "KpiName": { + "shape": "__string", + "location": "uri", + "locationName": "kpi-name", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

    " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "start-time", + "documentation": "

    The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

    " + } + }, + "required": [ + "ApplicationId", + "KpiName", + "CampaignId" + ] + }, + "GetCampaignDateRangeKpiResponse": { + "type": "structure", + "members": { + "CampaignDateRangeKpiResponse": { + "shape": "CampaignDateRangeKpiResponse" + } + }, + "required": [ + "CampaignDateRangeKpiResponse" + ], + "payload": "CampaignDateRangeKpiResponse" + }, + "GetCampaignRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + } + }, + "required": [ + "CampaignId", + "ApplicationId" + ] + }, + "GetCampaignResponse": { + "type": "structure", + "members": { + "CampaignResponse": { + "shape": "CampaignResponse" + } + }, + "required": [ + "CampaignResponse" + ], + "payload": "CampaignResponse" + }, + "GetCampaignVersionRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "Version": { + "shape": "__string", + "location": "uri", + "locationName": "version", + "documentation": "

    The unique version number (Version property) for the campaign version.

    " + } + }, + "required": [ + "Version", + "ApplicationId", + "CampaignId" + ] + }, + "GetCampaignVersionResponse": { + "type": "structure", + "members": { + "CampaignResponse": { + "shape": "CampaignResponse" + } + }, + "required": [ + "CampaignResponse" + ], + "payload": "CampaignResponse" + }, + "GetCampaignVersionsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId", + "CampaignId" + ] + }, + "GetCampaignVersionsResponse": { + "type": "structure", + "members": { + "CampaignsResponse": { + "shape": "CampaignsResponse" + } + }, + "required": [ + "CampaignsResponse" + ], + "payload": "CampaignsResponse" + }, + "GetCampaignsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetCampaignsResponse": { + "type": "structure", + "members": { + "CampaignsResponse": { + "shape": "CampaignsResponse" + } + }, + "required": [ + "CampaignsResponse" + ], + "payload": "CampaignsResponse" + }, + "GetChannelsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetChannelsResponse": { + "type": "structure", + "members": { + "ChannelsResponse": { + "shape": "ChannelsResponse" + } + }, + "required": [ + "ChannelsResponse" + ], + "payload": "ChannelsResponse" + }, + "GetEmailChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetEmailChannelResponse": { + "type": "structure", + "members": { + "EmailChannelResponse": { + "shape": "EmailChannelResponse" + } + }, + "required": [ + "EmailChannelResponse" + ], + "payload": "EmailChannelResponse" + }, + "GetEmailTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "GetEmailTemplateResponse": { + "type": "structure", + "members": { + "EmailTemplateResponse": { + "shape": "EmailTemplateResponse" + } + }, + "required": [ + "EmailTemplateResponse" + ], + "payload": "EmailTemplateResponse" + }, + "GetEndpointRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndpointId": { + "shape": "__string", + "location": "uri", + "locationName": "endpoint-id", + "documentation": "

    The unique identifier for the endpoint.

    " + } + }, + "required": [ + "ApplicationId", + "EndpointId" + ] + }, + "GetEndpointResponse": { + "type": "structure", + "members": { + "EndpointResponse": { + "shape": "EndpointResponse" + } + }, + "required": [ + "EndpointResponse" + ], + "payload": "EndpointResponse" + }, + "GetEventStreamRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetEventStreamResponse": { + "type": "structure", + "members": { + "EventStream": { + "shape": "EventStream" + } + }, + "required": [ + "EventStream" + ], + "payload": "EventStream" + }, + "GetExportJobRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JobId": { + "shape": "__string", + "location": "uri", + "locationName": "job-id", + "documentation": "

    The unique identifier for the job.

    " + } + }, + "required": [ + "ApplicationId", + "JobId" + ] + }, + "GetExportJobResponse": { + "type": "structure", + "members": { + "ExportJobResponse": { + "shape": "ExportJobResponse" + } + }, + "required": [ + "ExportJobResponse" + ], + "payload": "ExportJobResponse" + }, + "GetExportJobsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetExportJobsResponse": { + "type": "structure", + "members": { + "ExportJobsResponse": { + "shape": "ExportJobsResponse" + } + }, + "required": [ + "ExportJobsResponse" + ], + "payload": "ExportJobsResponse" + }, + "GetGcmChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetGcmChannelResponse": { + "type": "structure", + "members": { + "GCMChannelResponse": { + "shape": "GCMChannelResponse" + } + }, + "required": [ + "GCMChannelResponse" + ], + "payload": "GCMChannelResponse" + }, + "GetImportJobRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JobId": { + "shape": "__string", + "location": "uri", + "locationName": "job-id", + "documentation": "

    The unique identifier for the job.

    " + } + }, + "required": [ + "ApplicationId", + "JobId" + ] + }, + "GetImportJobResponse": { + "type": "structure", + "members": { + "ImportJobResponse": { + "shape": "ImportJobResponse" + } + }, + "required": [ + "ImportJobResponse" + ], + "payload": "ImportJobResponse" + }, + "GetImportJobsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetImportJobsResponse": { + "type": "structure", + "members": { + "ImportJobsResponse": { + "shape": "ImportJobsResponse" + } + }, + "required": [ + "ImportJobsResponse" + ], + "payload": "ImportJobsResponse" + }, + "GetJourneyDateRangeKpiRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "end-time", + "documentation": "

    The last date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-26T20:00:00Z for 8:00 PM UTC July 26, 2019.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + }, + "KpiName": { + "shape": "__string", + "location": "uri", + "locationName": "kpi-name", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), to retrieve data for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. Examples are email-open-rate and successful-delivery-rate. For a list of valid values, see the Amazon Pinpoint Developer Guide.

    " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "location": "querystring", + "locationName": "start-time", + "documentation": "

    The first date and time to retrieve data for, as part of an inclusive date range that filters the query results. This value should be in extended ISO 8601 format and use Coordinated Universal Time (UTC), for example: 2019-07-19T20:00:00Z for 8:00 PM UTC July 19, 2019. This value should also be fewer than 90 days from the current day.

    " + } + }, + "required": [ + "JourneyId", + "ApplicationId", + "KpiName" + ] + }, + "GetJourneyDateRangeKpiResponse": { + "type": "structure", + "members": { + "JourneyDateRangeKpiResponse": { + "shape": "JourneyDateRangeKpiResponse" + } + }, + "required": [ + "JourneyDateRangeKpiResponse" + ], + "payload": "JourneyDateRangeKpiResponse" + }, + "GetJourneyExecutionActivityMetricsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyActivityId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-activity-id", + "documentation": "

    The unique identifier for the journey activity.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + } + }, + "required": [ + "JourneyActivityId", + "ApplicationId", + "JourneyId" + ] + }, + "GetJourneyExecutionActivityMetricsResponse": { + "type": "structure", + "members": { + "JourneyExecutionActivityMetricsResponse": { + "shape": "JourneyExecutionActivityMetricsResponse" + } + }, + "required": [ + "JourneyExecutionActivityMetricsResponse" + ], + "payload": "JourneyExecutionActivityMetricsResponse" + }, + "GetJourneyExecutionMetricsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + } + }, + "required": [ + "ApplicationId", + "JourneyId" + ] + }, + "GetJourneyExecutionMetricsResponse": { + "type": "structure", + "members": { + "JourneyExecutionMetricsResponse": { + "shape": "JourneyExecutionMetricsResponse" + } + }, + "required": [ + "JourneyExecutionMetricsResponse" + ], + "payload": "JourneyExecutionMetricsResponse" + }, + "GetJourneyRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + } + }, + "required": [ + "JourneyId", + "ApplicationId" + ] + }, + "GetJourneyResponse": { + "type": "structure", + "members": { + "JourneyResponse": { + "shape": "JourneyResponse" + } + }, + "required": [ + "JourneyResponse" + ], + "payload": "JourneyResponse" + }, + "GetPushTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "GetPushTemplateResponse": { + "type": "structure", + "members": { + "PushNotificationTemplateResponse": { + "shape": "PushNotificationTemplateResponse" + } + }, + "required": [ + "PushNotificationTemplateResponse" + ], + "payload": "PushNotificationTemplateResponse" + }, + "GetRecommenderConfigurationRequest": { + "type": "structure", + "members": { + "RecommenderId": { + "shape": "__string", + "location": "uri", + "locationName": "recommender-id", + "documentation": "

    The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "RecommenderId" + ] + }, + "GetRecommenderConfigurationResponse": { + "type": "structure", + "members": { + "RecommenderConfigurationResponse": { + "shape": "RecommenderConfigurationResponse" + } + }, + "required": [ + "RecommenderConfigurationResponse" + ], + "payload": "RecommenderConfigurationResponse" + }, + "GetRecommenderConfigurationsRequest": { + "type": "structure", + "members": { + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + } + }, + "GetRecommenderConfigurationsResponse": { + "type": "structure", + "members": { + "ListRecommenderConfigurationsResponse": { + "shape": "ListRecommenderConfigurationsResponse" + } + }, + "required": [ + "ListRecommenderConfigurationsResponse" + ], + "payload": "ListRecommenderConfigurationsResponse" + }, + "GetSegmentExportJobsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "SegmentId", + "ApplicationId" + ] + }, + "GetSegmentExportJobsResponse": { + "type": "structure", + "members": { + "ExportJobsResponse": { + "shape": "ExportJobsResponse" + } + }, + "required": [ + "ExportJobsResponse" + ], + "payload": "ExportJobsResponse" + }, + "GetSegmentImportJobsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "SegmentId", + "ApplicationId" + ] + }, + "GetSegmentImportJobsResponse": { + "type": "structure", + "members": { + "ImportJobsResponse": { + "shape": "ImportJobsResponse" + } + }, + "required": [ + "ImportJobsResponse" + ], + "payload": "ImportJobsResponse" + }, + "GetSegmentRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + } + }, + "required": [ + "SegmentId", + "ApplicationId" + ] + }, + "GetSegmentResponse": { + "type": "structure", + "members": { + "SegmentResponse": { + "shape": "SegmentResponse" + } + }, + "required": [ + "SegmentResponse" + ], + "payload": "SegmentResponse" + }, + "GetSegmentVersionRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + }, + "Version": { + "shape": "__string", + "location": "uri", + "locationName": "version", + "documentation": "

    The unique version number (Version property) for the campaign version.

    " + } + }, + "required": [ + "SegmentId", + "Version", + "ApplicationId" + ] + }, + "GetSegmentVersionResponse": { + "type": "structure", + "members": { + "SegmentResponse": { + "shape": "SegmentResponse" + } + }, + "required": [ + "SegmentResponse" + ], + "payload": "SegmentResponse" + }, + "GetSegmentVersionsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "SegmentId", + "ApplicationId" + ] + }, + "GetSegmentVersionsResponse": { + "type": "structure", + "members": { + "SegmentsResponse": { + "shape": "SegmentsResponse" + } + }, + "required": [ + "SegmentsResponse" + ], + "payload": "SegmentsResponse" + }, + "GetSegmentsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetSegmentsResponse": { + "type": "structure", + "members": { + "SegmentsResponse": { + "shape": "SegmentsResponse" + } + }, + "required": [ + "SegmentsResponse" + ], + "payload": "SegmentsResponse" + }, + "GetSmsChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetSmsChannelResponse": { + "type": "structure", + "members": { + "SMSChannelResponse": { + "shape": "SMSChannelResponse" + } + }, + "required": [ + "SMSChannelResponse" + ], + "payload": "SMSChannelResponse" + }, + "GetSmsTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "GetSmsTemplateResponse": { + "type": "structure", + "members": { + "SMSTemplateResponse": { + "shape": "SMSTemplateResponse" + } + }, + "required": [ + "SMSTemplateResponse" + ], + "payload": "SMSTemplateResponse" + }, + "GetUserEndpointsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "UserId": { + "shape": "__string", + "location": "uri", + "locationName": "user-id", + "documentation": "

    The unique identifier for the user.

    " + } + }, + "required": [ + "ApplicationId", + "UserId" + ] + }, + "GetUserEndpointsResponse": { + "type": "structure", + "members": { + "EndpointsResponse": { + "shape": "EndpointsResponse" + } + }, + "required": [ + "EndpointsResponse" + ], + "payload": "EndpointsResponse" + }, + "GetVoiceChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "GetVoiceChannelResponse": { + "type": "structure", + "members": { + "VoiceChannelResponse": { + "shape": "VoiceChannelResponse" + } + }, + "required": [ + "VoiceChannelResponse" + ], + "payload": "VoiceChannelResponse" + }, + "GetVoiceTemplateRequest": { + "type": "structure", + "members": { + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName" + ] + }, + "GetVoiceTemplateResponse": { + "type": "structure", + "members": { + "VoiceTemplateResponse": { + "shape": "VoiceTemplateResponse" + } + }, + "required": [ + "VoiceTemplateResponse" + ], + "payload": "VoiceTemplateResponse" + }, + "HoldoutActivity": { + "type": "structure", + "members": { + "NextActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the next activity to perform, after performing the holdout activity.

    " + }, + "Percentage": { + "shape": "__integer", + "documentation": "

    The percentage of participants who shouldn't continue the journey.

    To determine which participants are held out, Amazon Pinpoint applies a probability-based algorithm to the percentage that you specify. Therefore, the actual percentage of participants who are held out may not be equal to the percentage that you specify.

    " + } + }, + "documentation": "

    Specifies the settings for a holdout activity in a journey. This type of activity stops a journey for a specified percentage of participants.

    ", + "required": [ + "Percentage" + ] + }, + "ImportJobRequest": { + "type": "structure", + "members": { + "DefineSegment": { + "shape": "__boolean", + "documentation": "

    Specifies whether to create a segment that contains the endpoints, when the endpoint definitions are imported.

    " + }, + "ExternalId": { + "shape": "__string", + "documentation": "

    (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

    " + }, + "Format": { + "shape": "Format", + "documentation": "

    The format of the files that contain the endpoint definitions to import. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format. If the Amazon S3 location stores multiple files that use different formats, Amazon Pinpoint imports data only from the files that use the specified format.

    " + }, + "RegisterEndpoints": { + "shape": "__boolean", + "documentation": "

    Specifies whether to register the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

    " + }, + "S3Url": { + "shape": "__string", + "documentation": "

    The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains the endpoint definitions to import. This location can be a folder or a single file. If the location is a folder, Amazon Pinpoint imports endpoint definitions from the files in this location, including any subfolders that the folder contains.

    The URL should be in the following format: s3://bucket-name/folder-name/file-name. The location can end with the key for an individual object or a prefix that qualifies multiple objects.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The identifier for the segment to update or add the imported endpoint definitions to, if the import job is meant to update an existing segment.

    " + }, + "SegmentName": { + "shape": "__string", + "documentation": "

    A custom name for the segment that's created by the import job, if the value of the DefineSegment property is true.

    " + } + }, + "documentation": "

    Specifies the settings for a job that imports endpoint definitions from an Amazon Simple Storage Service (Amazon S3) bucket.

    ", + "required": [ + "Format", + "S3Url", + "RoleArn" + ] + }, + "ImportJobResource": { + "type": "structure", + "members": { + "DefineSegment": { + "shape": "__boolean", + "documentation": "

    Specifies whether the import job creates a segment that contains the endpoints, when the endpoint definitions are imported.

    " + }, + "ExternalId": { + "shape": "__string", + "documentation": "

    (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

    " + }, + "Format": { + "shape": "Format", + "documentation": "

    The format of the files that contain the endpoint definitions to import. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

    If the files are stored in an Amazon S3 location and that location contains multiple files that use different formats, Amazon Pinpoint imports data only from the files that use the specified format.

    " + }, + "RegisterEndpoints": { + "shape": "__boolean", + "documentation": "

    Specifies whether the import job registers the endpoints with Amazon Pinpoint, when the endpoint definitions are imported.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

    " + }, + "S3Url": { + "shape": "__string", + "documentation": "

    The URL of the Amazon Simple Storage Service (Amazon S3) bucket that contains the endpoint definitions to import. This location can be a folder or a single file. If the location is a folder, Amazon Pinpoint imports endpoint definitions from the files in this location, including any subfolders that the folder contains.

    The URL should be in the following format: s3://bucket-name/folder-name/file-name. The location can end with the key for an individual object or a prefix that qualifies multiple objects.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The identifier for the segment that the import job updates or adds endpoint definitions to, if the import job updates an existing segment.

    " + }, + "SegmentName": { + "shape": "__string", + "documentation": "

    The custom name for the segment that's created by the import job, if the value of the DefineSegment property is true.

    " + } + }, + "documentation": "

    Provides information about the resource settings for a job that imports endpoint definitions from one or more files. The files can be stored in an Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer by using the Amazon Pinpoint console.

    ", + "required": [ + "Format", + "S3Url", + "RoleArn" + ] + }, + "ImportJobResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that's associated with the import job.

    " + }, + "CompletedPieces": { + "shape": "__integer", + "documentation": "

    The number of pieces that were processed successfully (completed) by the import job, as of the time of the request.

    " + }, + "CompletionDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the import job was completed.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the import job was created.

    " + }, + "Definition": { + "shape": "ImportJobResource", + "documentation": "

    The resource settings that apply to the import job.

    " + }, + "FailedPieces": { + "shape": "__integer", + "documentation": "

    The number of pieces that weren't processed successfully (failed) by the import job, as of the time of the request.

    " + }, + "Failures": { + "shape": "ListOf__string", + "documentation": "

    An array of entries, one for each of the first 100 entries that weren't processed successfully (failed) by the import job, if any.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the import job.

    " + }, + "JobStatus": { + "shape": "JobStatus", + "documentation": "

    The status of the import job. The job status is FAILED if Amazon Pinpoint wasn't able to process one or more pieces in the job.

    " + }, + "TotalFailures": { + "shape": "__integer", + "documentation": "

    The total number of endpoint definitions that weren't processed successfully (failed) by the import job, typically because an error, such as a syntax error, occurred.

    " + }, + "TotalPieces": { + "shape": "__integer", + "documentation": "

    The total number of pieces that must be processed to complete the import job. Each piece consists of an approximately equal portion of the endpoint definitions that are part of the import job.

    " + }, + "TotalProcessed": { + "shape": "__integer", + "documentation": "

    The total number of endpoint definitions that were processed by the import job.

    " + }, + "Type": { + "shape": "__string", + "documentation": "

    The job type. This value is IMPORT for import jobs.

    " + } + }, + "documentation": "

    Provides information about the status and settings of a job that imports endpoint definitions from one or more files. The files can be stored in an Amazon Simple Storage Service (Amazon S3) bucket or uploaded directly from a computer by using the Amazon Pinpoint console.

    ", + "required": [ + "JobStatus", + "CreationDate", + "Type", + "Definition", + "Id", + "ApplicationId" + ] + }, + "ImportJobsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfImportJobResponse", + "documentation": "

    An array of responses, one for each import job that's associated with the application (Import Jobs resource) or segment (Segment Import Jobs resource).

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about the status and settings of all the import jobs that are associated with an application or segment. An import job is a job that imports endpoint definitions from one or more files.

    ", + "required": [ + "Item" + ] + }, + "Include": { + "type": "string", + "enum": [ + "ALL", + "ANY", + "NONE" + ] + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "ItemResponse": { + "type": "structure", + "members": { + "EndpointItemResponse": { + "shape": "EndpointItemResponse", + "documentation": "

    The response that was received after the endpoint data was accepted.

    " + }, + "EventsItemResponse": { + "shape": "MapOfEventItemResponse", + "documentation": "

    A multipart response object that contains a key and a value for each event in the request. In each object, the event ID is the key and an EventItemResponse object is the value.

    " + } + }, + "documentation": "

    Provides information about the results of a request to create or update an endpoint that's associated with an event.

    " + }, + "JobStatus": { + "type": "string", + "enum": [ + "CREATED", + "PREPARING_FOR_INITIALIZATION", + "INITIALIZING", + "PROCESSING", + "PENDING_JOB", + "COMPLETING", + "COMPLETED", + "FAILING", + "FAILED" + ] + }, + "JourneyDateRangeKpiResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the metric applies to.

    " + }, + "EndTime": { + "shape": "__timestampIso8601", + "documentation": "

    The last date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + }, + "JourneyId": { + "shape": "__string", + "documentation": "

    The unique identifier for the journey that the metric applies to.

    " + }, + "KpiName": { + "shape": "__string", + "documentation": "

    The name of the metric, also referred to as a key performance indicator (KPI), that the data was retrieved for. This value describes the associated metric and consists of two or more terms, which are comprised of lowercase alphanumeric characters, separated by a hyphen. For a list of possible values, see the Amazon Pinpoint Developer Guide.

    " + }, + "KpiResult": { + "shape": "BaseKpiResult", + "documentation": "

    An array of objects that contains the results of the query. Each object contains the value for the metric and metadata about that value.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null for the Journey Engagement Metrics resource because the resource returns all results in a single page.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "documentation": "

    The first date and time of the date range that was used to filter the query results, in extended ISO 8601 format. The date range is inclusive.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard engagement metric that applies to a journey, and provides information about that query.

    ", + "required": [ + "KpiResult", + "KpiName", + "JourneyId", + "EndTime", + "StartTime", + "ApplicationId" + ] + }, + "JourneyEmailMessage": { + "type": "structure", + "members": { + "FromAddress": { + "shape": "__string", + "documentation": "

    The verified email address to send the email message from. The default address is the FromAddress specified for the email channel for the application.

    " + } + }, + "documentation": "

    Specifies the \"From\" address for an email message that's sent to participants in a journey.

    " + }, + "JourneyExecutionActivityMetricsResponse": { + "type": "structure", + "members": { + "ActivityType": { + "shape": "__string", + "documentation": "

    The type of activity that the metric applies to. Possible values are:

    • CONDITIONAL_SPLIT - For a yes/no split activity, which is an activity that sends participants down one of two paths in a journey.

    • HOLDOUT - For a holdout activity, which is an activity that stops a journey for a specified percentage of participants.

    • MESSAGE - For an email activity, which is an activity that sends an email message to participants.

    • MULTI_CONDITIONAL_SPLIT - For a multivariate split activity, which is an activity that sends participants down one of as many as five paths in a journey.

    • RANDOM_SPLIT - For a random split activity, which is an activity that sends specified percentages of participants down one of as many as five paths in a journey.

    • WAIT - For a wait activity, which is an activity that waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

    " + }, + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the metric applies to.

    " + }, + "JourneyActivityId": { + "shape": "__string", + "documentation": "

    The unique identifier for the activity that the metric applies to.

    " + }, + "JourneyId": { + "shape": "__string", + "documentation": "

    The unique identifier for the journey that the metric applies to.

    " + }, + "LastEvaluatedTime": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the execution status of the activity and updated the data for the metric.

    " + }, + "Metrics": { + "shape": "MapOf__string", + "documentation": "

    A JSON object that contains the results of the query. The results vary depending on the type of activity (ActivityType). For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard execution metric that applies to a journey activity, and provides information about that query.

    ", + "required": [ + "Metrics", + "JourneyId", + "LastEvaluatedTime", + "JourneyActivityId", + "ActivityType", + "ApplicationId" + ] + }, + "JourneyExecutionMetricsResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the metric applies to.

    " + }, + "JourneyId": { + "shape": "__string", + "documentation": "

    The unique identifier for the journey that the metric applies to.

    " + }, + "LastEvaluatedTime": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated the journey and updated the data for the metric.

    " + }, + "Metrics": { + "shape": "MapOf__string", + "documentation": "

    A JSON object that contains the results of the query. For information about the structure and contents of the results, see the Amazon Pinpoint Developer Guide.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard execution metric that applies to a journey, and provides information about that query.

    ", + "required": [ + "Metrics", + "JourneyId", + "LastEvaluatedTime", + "ApplicationId" + ] + }, + "JourneyLimits": { + "type": "structure", + "members": { + "DailyCap": { + "shape": "__integer", + "documentation": "

    The maximum number of messages that the journey can send to a single participant during a 24-hour period. The maximum value is 100.

    " + }, + "EndpointReentryCap": { + "shape": "__integer", + "documentation": "

    The maximum number of times that a participant can enter the journey. The maximum value is 100. To allow participants to enter the journey an unlimited number of times, set this value to 0.

    " + }, + "MessagesPerSecond": { + "shape": "__integer", + "documentation": "

    The maximum number of messages that the journey can send each second.

    " + } + }, + "documentation": "

    Specifies limits on the messages that a journey can send and the number of times participants can enter a journey.

    " + }, + "JourneyResponse": { + "type": "structure", + "members": { + "Activities": { + "shape": "MapOfActivity", + "documentation": "

    A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity.

    " + }, + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the journey applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the journey was created.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the journey.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the journey was last modified.

    " + }, + "Limits": { + "shape": "JourneyLimits", + "documentation": "

    The messaging and entry limits for the journey.

    " + }, + "LocalTime": { + "shape": "__boolean", + "documentation": "

    Specifies whether the journey's scheduled start and end times use each participant's local time. If this value is true, the schedule uses each participant's local time.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The name of the journey.

    " + }, + "QuietTime": { + "shape": "QuietTime", + "documentation": "

    The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

    • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

    • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

    • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

    If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

    " + }, + "RefreshFrequency": { + "shape": "__string", + "documentation": "

    The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

    " + }, + "Schedule": { + "shape": "JourneySchedule", + "documentation": "

    The schedule settings for the journey.

    " + }, + "StartActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the first activity in the journey.

    " + }, + "StartCondition": { + "shape": "StartCondition", + "documentation": "

    The segment that defines which users are participants in the journey.

    " + }, + "State": { + "shape": "State", + "documentation": "

    The current status of the journey. Possible values are:

    • DRAFT - The journey is being developed and hasn't been published yet.

    • ACTIVE - The journey has been developed and published. Depending on the journey's schedule, the journey may currently be running or scheduled to start running at a later time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

    • COMPLETED - The journey has been published and has finished running. All participants have entered the journey and no participants are waiting to complete the journey or any activities in the journey.

    • CANCELLED - The journey has been stopped. If a journey's status is CANCELLED, you can't add, change, or remove activities or segment settings from the journey.

    • CLOSED - The journey has been published and has started running. It may have also passed its scheduled end time, or passed its scheduled start time and a refresh frequency hasn't been specified for it. If a journey's status is CLOSED, you can't add participants to it, and no existing participants can enter the journey for the first time. However, any existing participants who are currently waiting to start an activity may continue the journey.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    This object is not used or supported.

    " + } + }, + "documentation": "

    Provides information about the status, configuration, and other settings for a journey.

    ", + "required": [ + "Name", + "Id", + "ApplicationId" + ] + }, + "JourneySchedule": { + "type": "structure", + "members": { + "EndTime": { + "shape": "__timestampIso8601", + "documentation": "

    The scheduled time, in ISO 8601 format, when the journey ended or will end.

    " + }, + "StartTime": { + "shape": "__timestampIso8601", + "documentation": "

    The scheduled time, in ISO 8601 format, when the journey began or will begin.

    " + }, + "Timezone": { + "shape": "__string", + "documentation": "

    The starting UTC offset for the journey schedule, if the value of the journey's LocalTime property is true. Valid values are: UTC,\n UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05, UTC+05:30,\n UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+08:45, UTC+09, UTC+09:30,\n UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+12:45, UTC+13, UTC+13:45, UTC-02,\n UTC-02:30, UTC-03, UTC-03:30, UTC-04, UTC-05, UTC-06, UTC-07, UTC-08, UTC-09,\n UTC-09:30, UTC-10, and UTC-11.

    " + } + }, + "documentation": "

    Specifies the schedule settings for a journey.

    " + }, + "JourneyStateRequest": { + "type": "structure", + "members": { + "State": { + "shape": "State", + "documentation": "

    The status of the journey. Currently, the only supported value is CANCELLED.

    If you cancel a journey, Amazon Pinpoint continues to perform activities that are currently in progress, until those activities are complete. Amazon Pinpoint also continues to collect and aggregate analytics data for those activities, until they are complete, and any activities that were complete when you cancelled the journey.

    After you cancel a journey, you can't add, change, or remove any activities from the journey. In addition, Amazon Pinpoint stops evaluating the journey and doesn't perform any activities that haven't started.

    " + } + }, + "documentation": "

    Changes the status of a journey.

    " + }, + "JourneysResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfJourneyResponse", + "documentation": "

    An array of responses, one for each journey that's associated with the application.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about the status, configuration, and other settings for all the journeys that are associated with an application.

    ", + "required": [ + "Item" + ] + }, + "ListJourneysRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Token": { + "shape": "__string", + "location": "querystring", + "locationName": "token", + "documentation": "

    The NextToken string that specifies which page of results to return in a paginated response.

    " + } + }, + "required": [ + "ApplicationId" + ] + }, + "ListJourneysResponse": { + "type": "structure", + "members": { + "JourneysResponse": { + "shape": "JourneysResponse" + } + }, + "required": [ + "JourneysResponse" + ], + "payload": "JourneysResponse" + }, + "ListRecommenderConfigurationsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfRecommenderConfigurationResponse", + "documentation": "

    An array of responses, one for each recommender model configuration that's associated with your Amazon Pinpoint account.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about all the recommender model configurations that are associated with your Amazon Pinpoint account.

    ", + "required": [ + "Item" + ] + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The Amazon Resource Name (ARN) of the resource.

    " + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "TagsModel": { + "shape": "TagsModel" + } + }, + "required": [ + "TagsModel" + ], + "payload": "TagsModel" + }, + "ListTemplateVersionsRequest": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "TemplateType": { + "shape": "__string", + "location": "uri", + "locationName": "template-type", + "documentation": "

    The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.

    " + } + }, + "required": [ + "TemplateName", + "TemplateType" + ] + }, + "ListTemplateVersionsResponse": { + "type": "structure", + "members": { + "TemplateVersionsResponse": { + "shape": "TemplateVersionsResponse" + } + }, + "required": [ + "TemplateVersionsResponse" + ], + "payload": "TemplateVersionsResponse" + }, + "ListTemplatesRequest": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "next-token", + "documentation": "

    The string that specifies which page of results to return in a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "PageSize": { + "shape": "__string", + "location": "querystring", + "locationName": "page-size", + "documentation": "

    The maximum number of items to include in each page of a paginated response. This parameter is not supported for application, campaign, and journey metrics.

    " + }, + "Prefix": { + "shape": "__string", + "location": "querystring", + "locationName": "prefix", + "documentation": "

    The substring to match in the names of the message templates to include in the results. If you specify this value, Amazon Pinpoint returns only those templates whose names begin with the value that you specify.

    " + }, + "TemplateType": { + "shape": "__string", + "location": "querystring", + "locationName": "template-type", + "documentation": "

    The type of message template to include in the results. Valid values are: EMAIL, PUSH, SMS, and VOICE. To include all types of templates in the results, don't include this parameter in your request.

    " + } + } + }, + "ListTemplatesResponse": { + "type": "structure", + "members": { + "TemplatesResponse": { + "shape": "TemplatesResponse" + } + }, + "required": [ + "TemplatesResponse" + ], + "payload": "TemplatesResponse" + }, + "Message": { + "type": "structure", + "members": { + "Action": { + "shape": "Action", + "documentation": "

    The action to occur if a recipient taps the push notification. Valid values are:

    • OPEN_APP - Your app opens or it becomes the foreground app if it was sent to the background. This is the default action.

    • DEEP_LINK - Your app opens and displays a designated user interface in the app. This setting uses the deep-linking features of iOS and Android.

    • URL - The default mobile browser on the recipient's device opens and loads the web page at a URL that you specify.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The body of the notification message. The maximum number of characters is 200.

    " + }, + "ImageIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the image to display as the push-notification icon, such as the icon for the app.

    " + }, + "ImageSmallIconUrl": { + "shape": "__string", + "documentation": "

    The URL of the image to display as the small, push-notification icon, such as a small version of the icon for the app.

    " + }, + "ImageUrl": { + "shape": "__string", + "documentation": "

    The URL of an image to display in the push notification.

    " + }, + "JsonBody": { + "shape": "__string", + "documentation": "

    The JSON payload to use for a silent push notification.

    " + }, + "MediaUrl": { + "shape": "__string", + "documentation": "

    The URL of the image or video to display in the push notification.

    " + }, + "RawContent": { + "shape": "__string", + "documentation": "

    The raw, JSON-formatted string to use as the payload for the notification message. If specified, this value overrides all other content for the message.

    " + }, + "SilentPush": { + "shape": "__boolean", + "documentation": "

    Specifies whether the notification is a silent push notification, which is a push notification that doesn't display on a recipient's device. Silent push notifications can be used for cases such as updating an app's configuration, displaying messages in an in-app message center, or supporting phone home functionality.

    " + }, + "TimeToLive": { + "shape": "__integer", + "documentation": "

    The number of seconds that the push-notification service should keep the message, if the service is unable to deliver the notification the first time. This value is converted to an expiration value when it's sent to a push-notification service. If this value is 0, the service treats the notification as if it expires immediately and the service doesn't store or try to deliver the notification again.

    This value doesn't apply to messages that are sent through the Amazon Device Messaging (ADM) service.

    " + }, + "Title": { + "shape": "__string", + "documentation": "

    The title to display above the notification message on a recipient's device.

    " + }, + "Url": { + "shape": "__string", + "documentation": "

    The URL to open in a recipient's default mobile browser, if a recipient taps the push notification and the value of the Action property is URL.

    " + } + }, + "documentation": "

    Specifies the content and settings for a push notification that's sent to recipients of a campaign.

    " + }, + "MessageBody": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    " + }, + "MessageConfiguration": { + "type": "structure", + "members": { + "ADMMessage": { + "shape": "Message", + "documentation": "

    The message that the campaign sends through the ADM (Amazon Device Messaging) channel. If specified, this message overrides the default message.

    " + }, + "APNSMessage": { + "shape": "Message", + "documentation": "

    The message that the campaign sends through the APNs (Apple Push Notification service) channel. If specified, this message overrides the default message.

    " + }, + "BaiduMessage": { + "shape": "Message", + "documentation": "

    The message that the campaign sends through the Baidu (Baidu Cloud Push) channel. If specified, this message overrides the default message.

    " + }, + "CustomMessage": { + "shape": "CampaignCustomMessage", + "documentation": "

    The message that the campaign sends through a custom channel, as specified by the delivery configuration (CustomDeliveryConfiguration) settings for the campaign. If specified, this message overrides the default message.

    " + }, + "DefaultMessage": { + "shape": "Message", + "documentation": "

    The default message that the campaign sends through all the channels that are configured for the campaign.

    " + }, + "EmailMessage": { + "shape": "CampaignEmailMessage", + "documentation": "

    The message that the campaign sends through the email channel. If specified, this message overrides the default message.

    " + }, + "GCMMessage": { + "shape": "Message", + "documentation": "

    The message that the campaign sends through the GCM channel, which enables Amazon Pinpoint to send push notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. If specified, this message overrides the default message.

    " + }, + "SMSMessage": { + "shape": "CampaignSmsMessage", + "documentation": "

    The message that the campaign sends through the SMS channel. If specified, this message overrides the default message.

    " + } + }, + "documentation": "

    Specifies the message configuration settings for a campaign.

    " + }, + "MessageRequest": { + "type": "structure", + "members": { + "Addresses": { + "shape": "MapOfAddressConfiguration", + "documentation": "

    A map of key-value pairs, where each key is an address and each value is an AddressConfiguration object. An address can be a push notification token, a phone number, or an email address. You can use an AddressConfiguration object to tailor the message for an address by specifying settings such as content overrides and message variables.

    " + }, + "Context": { + "shape": "MapOf__string", + "documentation": "

    A map of custom attributes to attach to the message. For a push notification, this payload is added to the data.pinpoint object. For an email or text message, this payload is added to email/SMS delivery receipt event attributes.

    " + }, + "Endpoints": { + "shape": "MapOfEndpointSendConfiguration", + "documentation": "

    A map of key-value pairs, where each key is an endpoint ID and each value is an EndpointSendConfiguration object. You can use an EndpointSendConfiguration object to tailor the message for an endpoint by specifying settings such as content overrides and message variables.

    " + }, + "MessageConfiguration": { + "shape": "DirectMessageConfiguration", + "documentation": "

    The settings and content for the default message and any default messages that you defined for specific channels.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template to use for the message.

    " + }, + "TraceId": { + "shape": "__string", + "documentation": "

    The unique identifier for tracing the message. This identifier is visible to message recipients.

    " + } + }, + "documentation": "

    Specifies the configuration and other settings for a message.

    ", + "required": [ + "MessageConfiguration" + ] + }, + "MessageResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that was used to send the message.

    " + }, + "EndpointResult": { + "shape": "MapOfEndpointMessageResult", + "documentation": "

    A map that contains a multipart response for each address that the message was sent to. In the map, the endpoint ID is the key and the result is the value.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    The identifier for the original request that the message was delivered for.

    " + }, + "Result": { + "shape": "MapOfMessageResult", + "documentation": "

    A map that contains a multipart response for each address (email address, phone number, or push notification token) that the message was sent to. In the map, the address is the key and the result is the value.

    " + } + }, + "documentation": "

    Provides information about the results of a request to send a message to an endpoint address.

    ", + "required": [ + "ApplicationId" + ] + }, + "MessageResult": { + "type": "structure", + "members": { + "DeliveryStatus": { + "shape": "DeliveryStatus", + "documentation": "

    The delivery status of the message. Possible values are:

    • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.

    • OPT_OUT - The user who's associated with the endpoint address has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.

    • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint address. Amazon Pinpoint won't attempt to send the message again.

    • SUCCESSFUL - The message was successfully delivered to the endpoint address.

    • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.

    • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint address.

    • TIMEOUT - The message couldn't be sent within the timeout period.

    • UNKNOWN_FAILURE - An unknown error occurred.

    " + }, + "MessageId": { + "shape": "__string", + "documentation": "

    The unique identifier for the message that was sent.

    " + }, + "StatusCode": { + "shape": "__integer", + "documentation": "

    The downstream service status code for delivering the message.

    " + }, + "StatusMessage": { + "shape": "__string", + "documentation": "

    The status message for delivering the message.

    " + }, + "UpdatedToken": { + "shape": "__string", + "documentation": "

    For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

    " + } + }, + "documentation": "

    Provides information about the results of sending a message directly to an endpoint address.

    ", + "required": [ + "DeliveryStatus", + "StatusCode" + ] + }, + "MessageType": { + "type": "string", + "enum": [ + "TRANSACTIONAL", + "PROMOTIONAL" + ] + }, + "MethodNotAllowedException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 405 + } + }, + "MetricDimension": { + "type": "structure", + "members": { + "ComparisonOperator": { + "shape": "__string", + "documentation": "

    The operator to use when comparing metric values. Valid values are: GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, and EQUAL.

    " + }, + "Value": { + "shape": "__double", + "documentation": "

    The value to compare.

    " + } + }, + "documentation": "

    Specifies metric-based criteria for including or excluding endpoints from a segment. These criteria derive from custom metrics that you define for endpoints.

    ", + "required": [ + "ComparisonOperator", + "Value" + ] + }, + "Mode": { + "type": "string", + "enum": [ + "DELIVERY", + "FILTER" + ] + }, + "MultiConditionalBranch": { + "type": "structure", + "members": { + "Condition": { + "shape": "SimpleCondition", + "documentation": "

    The condition to evaluate for the activity path.

    " + }, + "NextActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the next activity to perform, after completing the activity for the path.

    " + } + }, + "documentation": "

    Specifies a condition to evaluate for an activity path in a journey.

    " + }, + "MultiConditionalSplitActivity": { + "type": "structure", + "members": { + "Branches": { + "shape": "ListOfMultiConditionalBranch", + "documentation": "

    The paths for the activity, including the conditions for entering each path and the activity to perform for each path.

    " + }, + "DefaultActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the activity to perform for participants who don't meet any of the conditions specified for other paths in the activity.

    " + }, + "EvaluationWaitTime": { + "shape": "WaitTime", + "documentation": "

    The amount of time to wait or the date and time when Amazon Pinpoint determines whether the conditions are met.

    " + } + }, + "documentation": "

    Specifies the settings for a multivariate split activity in a journey. This type of activity sends participants down one of as many as five paths (including a default Else path) in a journey, based on conditions that you specify.

    " + }, + "NotFoundException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "NumberValidateRequest": { + "type": "structure", + "members": { + "IsoCountryCode": { + "shape": "__string", + "documentation": "

    The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

    " + }, + "PhoneNumber": { + "shape": "__string", + "documentation": "

    The phone number to retrieve information about. The phone number that you provide should include a valid numeric country code. Otherwise, the operation might result in an error.

    " + } + }, + "documentation": "

    Specifies a phone number to validate and retrieve information about.

    " + }, + "NumberValidateResponse": { + "type": "structure", + "members": { + "Carrier": { + "shape": "__string", + "documentation": "

    The carrier or service provider that the phone number is currently registered with. In some countries and regions, this value may be the carrier or service provider that the phone number was originally registered with.

    " + }, + "City": { + "shape": "__string", + "documentation": "

    The name of the city where the phone number was originally registered.

    " + }, + "CleansedPhoneNumberE164": { + "shape": "__string", + "documentation": "

    The cleansed phone number, in E.164 format, for the location where the phone number was originally registered.

    " + }, + "CleansedPhoneNumberNational": { + "shape": "__string", + "documentation": "

    The cleansed phone number, in the format for the location where the phone number was originally registered.

    " + }, + "Country": { + "shape": "__string", + "documentation": "

    The name of the country or region where the phone number was originally registered.

    " + }, + "CountryCodeIso2": { + "shape": "__string", + "documentation": "

    The two-character code, in ISO 3166-1 alpha-2 format, for the country or region where the phone number was originally registered.

    " + }, + "CountryCodeNumeric": { + "shape": "__string", + "documentation": "

    The numeric code for the country or region where the phone number was originally registered.

    " + }, + "County": { + "shape": "__string", + "documentation": "

    The name of the county where the phone number was originally registered.

    " + }, + "OriginalCountryCodeIso2": { + "shape": "__string", + "documentation": "

    The two-character code, in ISO 3166-1 alpha-2 format, that was sent in the request body.

    " + }, + "OriginalPhoneNumber": { + "shape": "__string", + "documentation": "

    The phone number that was sent in the request body.

    " + }, + "PhoneType": { + "shape": "__string", + "documentation": "

    The description of the phone type. Valid values are: MOBILE, LANDLINE, VOIP,\n INVALID, PREPAID, and OTHER.

    " + }, + "PhoneTypeCode": { + "shape": "__integer", + "documentation": "

    The phone type, represented by an integer. Valid values are: 0 (mobile), 1 (landline), 2 (VoIP), 3 (invalid), 4 (other), and 5 (prepaid).

    " + }, + "Timezone": { + "shape": "__string", + "documentation": "

    The time zone for the location where the phone number was originally registered.

    " + }, + "ZipCode": { + "shape": "__string", + "documentation": "

    The postal or ZIP code for the location where the phone number was originally registered.

    " + } + }, + "documentation": "

    Provides information about a phone number.

    " + }, + "Operator": { + "type": "string", + "enum": [ + "ALL", + "ANY" + ] + }, + "PayloadTooLargeException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 413 + } + }, + "PhoneNumberValidateRequest": { + "type": "structure", + "members": { + "NumberValidateRequest": { + "shape": "NumberValidateRequest" + } + }, + "required": [ + "NumberValidateRequest" + ], + "payload": "NumberValidateRequest" + }, + "PhoneNumberValidateResponse": { + "type": "structure", + "members": { + "NumberValidateResponse": { + "shape": "NumberValidateResponse" + } + }, + "required": [ + "NumberValidateResponse" + ], + "payload": "NumberValidateResponse" + }, + "PublicEndpoint": { + "type": "structure", + "members": { + "Address": { + "shape": "__string", + "documentation": "

    The unique identifier for the recipient, such as a device token, email address, or mobile phone number.

    " + }, + "Attributes": { + "shape": "MapOfListOf__string", + "documentation": "

    One or more custom attributes that describe the endpoint by associating a name with an array of values. You can use these attributes as filter criteria when you create segments.

    " + }, + "ChannelType": { + "shape": "ChannelType", + "documentation": "

    The channel that's used when sending messages or push notifications to the endpoint.

    " + }, + "Demographic": { + "shape": "EndpointDemographic", + "documentation": "

    The demographic information for the endpoint, such as the time zone and platform.

    " + }, + "EffectiveDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the endpoint was last updated.

    " + }, + "EndpointStatus": { + "shape": "__string", + "documentation": "

    Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

    Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

    " + }, + "Location": { + "shape": "EndpointLocation", + "documentation": "

    The geographic information for the endpoint.

    " + }, + "Metrics": { + "shape": "MapOf__double", + "documentation": "

    One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

    " + }, + "OptOut": { + "shape": "__string", + "documentation": "

    Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    A unique identifier that's generated each time the endpoint is updated.

    " + }, + "User": { + "shape": "EndpointUser", + "documentation": "

    One or more custom user attributes that your app reports to Amazon Pinpoint for the user who's associated with the endpoint.

    " + } + }, + "documentation": "

    Specifies the properties and attributes of an endpoint that's associated with an event.

    " + }, + "PushNotificationTemplateRequest": { + "type": "structure", + "members": { + "ADM": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template to use for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "APNS": { + "shape": "APNSPushNotificationTemplate", + "documentation": "

    The message template to use for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "Baidu": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template to use for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "Default": { + "shape": "DefaultPushNotificationTemplate", + "documentation": "

    The default message template to use for push notification channels.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

    " + }, + "GCM": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template to use for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    A custom description of the message template.

    " + } + }, + "documentation": "

    Specifies the content and settings for a message template that can be used in messages that are sent through a push notification channel.

    " + }, + "PushNotificationTemplateResponse": { + "type": "structure", + "members": { + "ADM": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template that's used for the ADM (Amazon Device Messaging) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "APNS": { + "shape": "APNSPushNotificationTemplate", + "documentation": "

    The message template that's used for the APNs (Apple Push Notification service) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template.

    " + }, + "Baidu": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template that's used for the Baidu (Baidu Cloud Push) channel. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was created.

    " + }, + "Default": { + "shape": "DefaultPushNotificationTemplate", + "documentation": "

    The default message template that's used for push notification channels.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

    " + }, + "GCM": { + "shape": "AndroidPushNotificationTemplate", + "documentation": "

    The message template that's used for the GCM channel, which is used to send notifications through the Firebase Cloud Messaging (FCM), formerly Google Cloud Messaging (GCM), service. This message template overrides the default template for push notification channels (DefaultPushNotificationTemplate).

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was last modified.

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model that's used by the message template.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the message template.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "TemplateType", + "documentation": "

    The type of channel that the message template is designed for. For a push notification template, this value is PUSH.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

    " + } + }, + "documentation": "

    Provides information about the content and settings for a message template that can be used in messages that are sent through a push notification channel.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateType", + "TemplateName" + ] + }, + "PutEventStreamRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "WriteEventStream": { + "shape": "WriteEventStream" + } + }, + "required": [ + "ApplicationId", + "WriteEventStream" + ], + "payload": "WriteEventStream" + }, + "PutEventStreamResponse": { + "type": "structure", + "members": { + "EventStream": { + "shape": "EventStream" + } + }, + "required": [ + "EventStream" + ], + "payload": "EventStream" + }, + "PutEventsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EventsRequest": { + "shape": "EventsRequest" + } + }, + "required": [ + "ApplicationId", + "EventsRequest" + ], + "payload": "EventsRequest" + }, + "PutEventsResponse": { + "type": "structure", + "members": { + "EventsResponse": { + "shape": "EventsResponse" + } + }, + "required": [ + "EventsResponse" + ], + "payload": "EventsResponse" + }, + "QuietTime": { + "type": "structure", + "members": { + "End": { + "shape": "__string", + "documentation": "

    The specific time when quiet time ends. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.

    " + }, + "Start": { + "shape": "__string", + "documentation": "

    The specific time when quiet time begins. This value has to use 24-hour notation and be in HH:MM format, where HH is the hour (with a leading zero, if applicable) and MM is the minutes. For example, use 02:30 to represent 2:30 AM, or 14:30 to represent 2:30 PM.

    " + } + }, + "documentation": "

    Specifies the start and end times that define a time range when messages aren't sent to endpoints.

    " + }, + "RandomSplitActivity": { + "type": "structure", + "members": { + "Branches": { + "shape": "ListOfRandomSplitEntry", + "documentation": "

    The paths for the activity, including the percentage of participants to enter each path and the activity to perform for each path.

    " + } + }, + "documentation": "

    Specifies the settings for a random split activity in a journey. This type of activity randomly sends specified percentages of participants down one of as many as five paths in a journey, based on conditions that you specify.

    " + }, + "RandomSplitEntry": { + "type": "structure", + "members": { + "NextActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the next activity to perform, after completing the activity for the path.

    " + }, + "Percentage": { + "shape": "__integer", + "documentation": "

    The percentage of participants to send down the activity path.

    To determine which participants are sent down each path, Amazon Pinpoint applies a probability-based algorithm to the percentages that you specify for the paths. Therefore, the actual percentage of participants who are sent down a path may not be equal to the percentage that you specify.

    " + } + }, + "documentation": "

    Specifies the settings for a path in a random split activity in a journey.

    " + }, + "RawEmail": { + "type": "structure", + "members": { + "Data": { + "shape": "__blob", + "documentation": "

    The email message, represented as a raw MIME message. The entire message must be base64 encoded.

    " + } + }, + "documentation": "

    Specifies the contents of an email message, represented as a raw MIME message.

    " + }, + "__blob": { + "type": "blob" + }, + "RecencyDimension": { + "type": "structure", + "members": { + "Duration": { + "shape": "Duration", + "documentation": "

    The duration to use when determining whether an endpoint is active or inactive.

    " + }, + "RecencyType": { + "shape": "RecencyType", + "documentation": "

    The type of recency dimension to use for the segment. Valid values are: ACTIVE, endpoints that were active within the specified duration are included in the segment; and, INACTIVE, endpoints that weren't active within the specified duration are included in the segment.

    " + } + }, + "documentation": "

    Specifies criteria for including or excluding endpoints from a segment based on how recently an endpoint was active.

    ", + "required": [ + "Duration", + "RecencyType" + ] + }, + "RecencyType": { + "type": "string", + "enum": [ + "ACTIVE", + "INACTIVE" + ] + }, + "RecommenderConfigurationResponse": { + "type": "structure", + "members": { + "Attributes": { + "shape": "MapOf__string", + "documentation": "

    A map that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

    This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in extended ISO 8601 format, when the configuration was created for the recommender model.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    The custom description of the configuration for the recommender model.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model configuration.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in extended ISO 8601 format, when the configuration for the recommender model was last modified.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The custom name of the configuration for the recommender model.

    " + }, + "RecommendationProviderIdType": { + "shape": "__string", + "documentation": "

    The type of Amazon Pinpoint ID that's associated with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Possible values are:

    • PINPOINT_ENDPOINT_ID - Each user in the model is associated with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

    • PINPOINT_USER_ID - Each user in the model is associated with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If this value is specified, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

    " + }, + "RecommendationProviderRoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

    " + }, + "RecommendationProviderUri": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the recommender model that Amazon Pinpoint retrieves the recommendation data from. This value is the ARN of an Amazon Personalize campaign.

    " + }, + "RecommendationTransformerUri": { + "shape": "__string", + "documentation": "

    The name or Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Pinpoint invokes to perform additional processing of recommendation data that it retrieves from the recommender model.

    " + }, + "RecommendationsDisplayName": { + "shape": "__string", + "documentation": "

    The custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console.

    This value is null if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    " + }, + "RecommendationsPerMessage": { + "shape": "__integer", + "documentation": "

    The number of recommended items that are retrieved from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables.

    " + } + }, + "documentation": "

    Provides information about Amazon Pinpoint configuration settings for retrieving and processing data from a recommender model.

    ", + "required": [ + "RecommendationProviderUri", + "LastModifiedDate", + "CreationDate", + "RecommendationProviderRoleArn", + "Id" + ] + }, + "RemoveAttributesRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "AttributeType": { + "shape": "__string", + "location": "uri", + "locationName": "attribute-type", + "documentation": "

    The type of attribute or attributes to remove. Valid values are:

    • endpoint-custom-attributes - Custom attributes that describe endpoints, such as the date when an associated user opted in or out of receiving communications from you through a specific type of channel.

    • endpoint-metric-attributes - Custom metrics that your app reports to Amazon Pinpoint for endpoints, such as the number of app sessions or the number of items left in a cart.

    • endpoint-user-attributes - Custom attributes that describe users, such as first name, last name, and age.

    " + }, + "UpdateAttributesRequest": { + "shape": "UpdateAttributesRequest" + } + }, + "required": [ + "AttributeType", + "ApplicationId", + "UpdateAttributesRequest" + ], + "payload": "UpdateAttributesRequest" + }, + "RemoveAttributesResponse": { + "type": "structure", + "members": { + "AttributesResource": { + "shape": "AttributesResource" + } + }, + "required": [ + "AttributesResource" + ], + "payload": "AttributesResource" + }, + "ResultRow": { + "type": "structure", + "members": { + "GroupedBys": { + "shape": "ListOfResultRowValue", + "documentation": "

    An array of objects that defines the field and field values that were used to group data in a result set that contains multiple results. This value is null if the data in a result set isn’t grouped.

    " + }, + "Values": { + "shape": "ListOfResultRowValue", + "documentation": "

    An array of objects that provides pre-aggregated values for a standard metric that applies to an application, campaign, or journey.

    " + } + }, + "documentation": "

    Provides the results of a query that retrieved the data for a standard metric that applies to an application, campaign, or journey.

    ", + "required": [ + "GroupedBys", + "Values" + ] + }, + "ResultRowValue": { + "type": "structure", + "members": { + "Key": { + "shape": "__string", + "documentation": "

    The friendly name of the metric whose value is specified by the Value property.

    " + }, + "Type": { + "shape": "__string", + "documentation": "

    The data type of the value specified by the Value property.

    " + }, + "Value": { + "shape": "__string", + "documentation": "

    In a Values object, the value for the metric that the query retrieved data for. In a GroupedBys object, the value for the field that was used to group data in a result set that contains multiple results (Values objects).

    " + } + }, + "documentation": "

    Provides a single value and metadata about that value as part of an array of query results for a standard metric that applies to an application, campaign, or journey.

    ", + "required": [ + "Type", + "Value", + "Key" + ] + }, + "SMSChannelRequest": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the SMS channel for the application.

    " + }, + "SenderId": { + "shape": "__string", + "documentation": "

    The identity that you want to display on recipients' devices when they receive messages from the SMS channel.

    " + }, + "ShortCode": { + "shape": "__string", + "documentation": "

    The registered short code that you want to use when you send messages through the SMS channel.

    " + } + }, + "documentation": "

    Specifies the status and settings of the SMS channel for an application.

    " + }, + "SMSChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the SMS channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the SMS channel was enabled.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the SMS channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the SMS channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the SMS channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the SMS channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the SMS channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the SMS channel, this value is SMS.

    " + }, + "PromotionalMessagesPerSecond": { + "shape": "__integer", + "documentation": "

    The maximum number of promotional messages that you can send through the SMS channel each second.

    " + }, + "SenderId": { + "shape": "__string", + "documentation": "

    The identity that displays on recipients' devices when they receive messages from the SMS channel.

    " + }, + "ShortCode": { + "shape": "__string", + "documentation": "

    The registered short code to use when you send messages through the SMS channel.

    " + }, + "TransactionalMessagesPerSecond": { + "shape": "__integer", + "documentation": "

    The maximum number of transactional messages that you can send through the SMS channel each second.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the SMS channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the SMS channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "SMSMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The body of the SMS message.

    " + }, + "Keyword": { + "shape": "__string", + "documentation": "

    The SMS program name that you provided to AWS Support when you requested your dedicated number.

    " + }, + "MediaUrl": { + "shape": "__string", + "documentation": "

    The URL of an image or video to display in the SMS message.

    " + }, + "MessageType": { + "shape": "MessageType", + "documentation": "

    The SMS message type. Valid values are: TRANSACTIONAL, the message is critical or time-sensitive, such as a one-time password that supports a customer transaction; and, PROMOTIONAL, the message is not critical or time-sensitive, such as a marketing message.

    " + }, + "OriginationNumber": { + "shape": "__string", + "documentation": "

    The number to send the SMS message from. This value should be one of the dedicated long or short codes that's assigned to your AWS account. If you don't specify a long or short code, Amazon Pinpoint assigns a random long code to the SMS message and sends the message from that code.

    " + }, + "SenderId": { + "shape": "__string", + "documentation": "

    The sender ID to display as the sender of the message on a recipient's device. Support for sender IDs varies by country or region.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The message variables to use in the SMS message. You can override the default variables with individual address variables.

    " + } + }, + "documentation": "

    Specifies the default settings for a one-time SMS message that's sent directly to an endpoint.

    " + }, + "SMSTemplateRequest": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The message body to use in text messages that are based on the message template.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model to use for the message template. Amazon Pinpoint uses this value to determine how to retrieve and process data from a recommender model when it sends messages that use the template, if the template contains message variables for recommendation data.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    A custom description of the message template.

    " + } + }, + "documentation": "

    Specifies the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

    " + }, + "SMSTemplateResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The message body that's used in text messages that are based on the message template.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was created.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was last modified.

    " + }, + "RecommenderId": { + "shape": "__string", + "documentation": "

    The unique identifier for the recommender model that's used by the message template.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the message template.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "TemplateType", + "documentation": "

    The type of channel that the message template is designed for. For an SMS template, this value is SMS.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

    " + } + }, + "documentation": "

    Provides information about the content and settings for a message template that can be used in text messages that are sent through the SMS channel.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateName", + "TemplateType" + ] + }, + "Schedule": { + "type": "structure", + "members": { + "EndTime": { + "shape": "__string", + "documentation": "

    The scheduled time, in ISO 8601 format, when the campaign ended or will end.

    " + }, + "EventFilter": { + "shape": "CampaignEventFilter", + "documentation": "

    The type of event that causes the campaign to be sent, if the value of the Frequency property is EVENT.

    " + }, + "Frequency": { + "shape": "Frequency", + "documentation": "

    Specifies how often the campaign is sent or whether the campaign is sent in response to a specific event.

    " + }, + "IsLocalTime": { + "shape": "__boolean", + "documentation": "

    Specifies whether the start and end times for the campaign schedule use each recipient's local time. To base the schedule on each recipient's local time, set this value to true.

    " + }, + "QuietTime": { + "shape": "QuietTime", + "documentation": "

    The default quiet time for the campaign. Quiet time is a specific time range when a campaign doesn't send messages to endpoints, if all the following conditions are met:

    • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

    • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the campaign.

    • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the campaign.

    If any of the preceding conditions isn't met, the endpoint will receive messages from the campaign, even if quiet time is enabled.

    " + }, + "StartTime": { + "shape": "__string", + "documentation": "

    The scheduled time when the campaign began or will begin. Valid values are: IMMEDIATE, to start the campaign immediately; or, a specific time in ISO 8601 format.

    " + }, + "Timezone": { + "shape": "__string", + "documentation": "

    The starting UTC offset for the campaign schedule, if the value of the IsLocalTime property is true. Valid values are: UTC, UTC+01, UTC+02, UTC+03, UTC+03:30, UTC+04, UTC+04:30, UTC+05,\n UTC+05:30, UTC+05:45, UTC+06, UTC+06:30, UTC+07, UTC+08, UTC+09, UTC+09:30,\n UTC+10, UTC+10:30, UTC+11, UTC+12, UTC+13, UTC-02, UTC-03, UTC-04, UTC-05, UTC-06,\n UTC-07, UTC-08, UTC-09, UTC-10, and UTC-11.

    " + } + }, + "documentation": "

    Specifies the schedule settings for a campaign.

    ", + "required": [ + "StartTime" + ] + }, + "SegmentBehaviors": { + "type": "structure", + "members": { + "Recency": { + "shape": "RecencyDimension", + "documentation": "

    The dimension settings that are based on how recently an endpoint was active.

    " + } + }, + "documentation": "

    Specifies dimension settings for including or excluding endpoints from a segment based on how recently an endpoint was active.

    " + }, + "SegmentCondition": { + "type": "structure", + "members": { + "SegmentId": { + "shape": "__string", + "documentation": "

    The unique identifier for the segment to associate with the activity.

    " + } + }, + "documentation": "

    Specifies a segment to associate with an activity in a journey.

    ", + "required": [ + "SegmentId" + ] + }, + "SegmentDemographics": { + "type": "structure", + "members": { + "AppVersion": { + "shape": "SetDimension", + "documentation": "

    The app version criteria for the segment.

    " + }, + "Channel": { + "shape": "SetDimension", + "documentation": "

    The channel criteria for the segment.

    " + }, + "DeviceType": { + "shape": "SetDimension", + "documentation": "

    The device type criteria for the segment.

    " + }, + "Make": { + "shape": "SetDimension", + "documentation": "

    The device make criteria for the segment.

    " + }, + "Model": { + "shape": "SetDimension", + "documentation": "

    The device model criteria for the segment.

    " + }, + "Platform": { + "shape": "SetDimension", + "documentation": "

    The device platform criteria for the segment.

    " + } + }, + "documentation": "

    Specifies demographic-based dimension settings for including or excluding endpoints from a segment. These settings derive from characteristics of endpoint devices, such as platform, make, and model.

    " + }, + "SegmentDimensions": { + "type": "structure", + "members": { + "Attributes": { + "shape": "MapOfAttributeDimension", + "documentation": "

    One or more custom attributes to use as criteria for the segment.

    " + }, + "Behavior": { + "shape": "SegmentBehaviors", + "documentation": "

    The behavior-based criteria, such as how recently users have used your app, for the segment.

    " + }, + "Demographic": { + "shape": "SegmentDemographics", + "documentation": "

    The demographic-based criteria, such as device platform, for the segment.

    " + }, + "Location": { + "shape": "SegmentLocation", + "documentation": "

    The location-based criteria, such as region or GPS coordinates, for the segment.

    " + }, + "Metrics": { + "shape": "MapOfMetricDimension", + "documentation": "

    One or more custom metrics to use as criteria for the segment.

    " + }, + "UserAttributes": { + "shape": "MapOfAttributeDimension", + "documentation": "

    One or more custom user attributes to use as criteria for the segment.

    " + } + }, + "documentation": "

    Specifies the dimension settings for a segment.

    " + }, + "SegmentGroup": { + "type": "structure", + "members": { + "Dimensions": { + "shape": "ListOfSegmentDimensions", + "documentation": "

    An array that defines the dimensions for the segment.

    " + }, + "SourceSegments": { + "shape": "ListOfSegmentReference", + "documentation": "

    The base segment to build the segment on. A base segment, also referred to as a source segment, defines the initial population of endpoints for a segment. When you add dimensions to a segment, Amazon Pinpoint filters the base segment by using the dimensions that you specify.

    You can specify more than one dimensional segment or only one imported segment. If you specify an imported segment, the Amazon Pinpoint console displays a segment size estimate that indicates the size of the imported segment without any filters applied to it.

    " + }, + "SourceType": { + "shape": "SourceType", + "documentation": "

    Specifies how to handle multiple base segments for the segment. For example, if you specify three base segments for the segment, whether the resulting segment is based on all, any, or none of the base segments.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    Specifies how to handle multiple dimensions for the segment. For example, if you specify three dimensions for the segment, whether the resulting segment includes endpoints that match all, any, or none of the dimensions.

    " + } + }, + "documentation": "

    Specifies the base segments and dimensions for a segment, and the relationships between these base segments and dimensions.

    " + }, + "SegmentGroupList": { + "type": "structure", + "members": { + "Groups": { + "shape": "ListOfSegmentGroup", + "documentation": "

    An array that defines the set of segment criteria to evaluate when handling segment groups for the segment.

    " + }, + "Include": { + "shape": "Include", + "documentation": "

    Specifies how to handle multiple segment groups for the segment. For example, if the segment includes three segment groups, whether the resulting segment includes endpoints that match all, any, or none of the segment groups.

    " + } + }, + "documentation": "

    Specifies the settings that define the relationships between segment groups for a segment.

    " + }, + "SegmentImportResource": { + "type": "structure", + "members": { + "ChannelCounts": { + "shape": "MapOf__integer", + "documentation": "

    The number of channel types in the endpoint definitions that were imported to create the segment.

    " + }, + "ExternalId": { + "shape": "__string", + "documentation": "

    (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM trust policy. Amazon Pinpoint previously used this value to assume an IAM role when importing endpoint definitions, but we removed this requirement. We don't recommend use of external IDs for IAM roles that are assumed by Amazon Pinpoint.

    " + }, + "Format": { + "shape": "Format", + "documentation": "

    The format of the files that were imported to create the segment. Valid values are: CSV, for comma-separated values format; and, JSON, for newline-delimited JSON format.

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorized Amazon Pinpoint to access the Amazon S3 location to import endpoint definitions from.

    " + }, + "S3Url": { + "shape": "__string", + "documentation": "

    The URL of the Amazon Simple Storage Service (Amazon S3) bucket that the endpoint definitions were imported from to create the segment.

    " + }, + "Size": { + "shape": "__integer", + "documentation": "

    The number of endpoint definitions that were imported successfully to create the segment.

    " + } + }, + "documentation": "

    Provides information about the import job that created a segment. An import job is a job that creates a user segment by importing endpoint definitions.

    ", + "required": [ + "Format", + "S3Url", + "Size", + "ExternalId", + "RoleArn" + ] + }, + "SegmentLocation": { + "type": "structure", + "members": { + "Country": { + "shape": "SetDimension", + "documentation": "

    The country or region code, in ISO 3166-1 alpha-2 format, for the segment.

    " + }, + "GPSPoint": { + "shape": "GPSPointDimension", + "documentation": "

    The GPS location and range for the segment.

    " + } + }, + "documentation": "

    Specifies geographical dimension settings for a segment.

    " + }, + "SegmentReference": { + "type": "structure", + "members": { + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the segment.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The version number of the segment.

    " + } + }, + "documentation": "

    Specifies the segment identifier and version of a segment.

    ", + "required": [ + "Id" + ] + }, + "SegmentResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the segment is associated with.

    " + }, + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the segment.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time when the segment was created.

    " + }, + "Dimensions": { + "shape": "SegmentDimensions", + "documentation": "

    The dimension settings for the segment.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the segment.

    " + }, + "ImportDefinition": { + "shape": "SegmentImportResource", + "documentation": "

    The settings for the import job that's associated with the segment.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time when the segment was last modified.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The name of the segment.

    " + }, + "SegmentGroups": { + "shape": "SegmentGroupList", + "documentation": "

    A list of one or more segment groups that apply to the segment. Each segment group consists of zero or more base segments and the dimensions that are applied to those base segments.

    " + }, + "SegmentType": { + "shape": "SegmentType", + "documentation": "

    The segment type. Valid values are:

    • DIMENSIONAL - A dynamic segment, which is a segment that uses selection criteria that you specify and is based on endpoint data that's reported by your app. Dynamic segments can change over time.

    • IMPORT - A static segment, which is a segment that uses selection criteria that you specify and is based on endpoint definitions that you import from a file. Imported segments are static; they don't change over time.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the segment. Each tag consists of a required tag key and an associated tag value.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The version number of the segment.

    " + } + }, + "documentation": "

    Provides information about the configuration, dimension, and other settings for a segment.

    ", + "required": [ + "SegmentType", + "CreationDate", + "Id", + "Arn", + "ApplicationId" + ] + }, + "SegmentType": { + "type": "string", + "enum": [ + "DIMENSIONAL", + "IMPORT" + ] + }, + "SegmentsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfSegmentResponse", + "documentation": "

    An array of responses, one for each segment that's associated with the application (Segments resource) or each version of a segment that's associated with the application (Segment Versions resource).

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about all the segments that are associated with an application.

    ", + "required": [ + "Item" + ] + }, + "SendMessagesRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "MessageRequest": { + "shape": "MessageRequest" + } + }, + "required": [ + "ApplicationId", + "MessageRequest" + ], + "payload": "MessageRequest" + }, + "SendMessagesResponse": { + "type": "structure", + "members": { + "MessageResponse": { + "shape": "MessageResponse" + } + }, + "required": [ + "MessageResponse" + ], + "payload": "MessageResponse" + }, + "SendUsersMessageRequest": { + "type": "structure", + "members": { + "Context": { + "shape": "MapOf__string", + "documentation": "

    A map of custom attribute-value pairs. For a push notification, Amazon Pinpoint adds these attributes to the data.pinpoint object in the body of the notification payload. Amazon Pinpoint also provides these attributes in the events that it generates for users-messages deliveries.

    " + }, + "MessageConfiguration": { + "shape": "DirectMessageConfiguration", + "documentation": "

    The settings and content for the default message and any default messages that you defined for specific channels.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template to use for the message.

    " + }, + "TraceId": { + "shape": "__string", + "documentation": "

    The unique identifier for tracing the message. This identifier is visible to message recipients.

    " + }, + "Users": { + "shape": "MapOfEndpointSendConfiguration", + "documentation": "

    A map that associates user IDs with EndpointSendConfiguration objects. You can use an EndpointSendConfiguration object to tailor the message for a user by specifying settings such as content overrides and message variables.

    " + } + }, + "documentation": "

    Specifies the configuration and other settings for a message to send to all the endpoints that are associated with a list of users.

    ", + "required": [ + "MessageConfiguration", + "Users" + ] + }, + "SendUsersMessageResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that was used to send the message.

    " + }, + "RequestId": { + "shape": "__string", + "documentation": "

    The unique identifier that was assigned to the message request.

    " + }, + "Result": { + "shape": "MapOfMapOfEndpointMessageResult", + "documentation": "

    An object that indicates which endpoints the message was sent to, for each user. The object lists user IDs and, for each user ID, provides the endpoint IDs that the message was sent to. For each endpoint ID, it provides an EndpointMessageResult object.

    " + } + }, + "documentation": "

    Provides information about which users and endpoints a message was sent to.

    ", + "required": [ + "ApplicationId" + ] + }, + "SendUsersMessagesRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SendUsersMessageRequest": { + "shape": "SendUsersMessageRequest" + } + }, + "required": [ + "ApplicationId", + "SendUsersMessageRequest" + ], + "payload": "SendUsersMessageRequest" + }, + "SendUsersMessagesResponse": { + "type": "structure", + "members": { + "SendUsersMessageResponse": { + "shape": "SendUsersMessageResponse" + } + }, + "required": [ + "SendUsersMessageResponse" + ], + "payload": "SendUsersMessageResponse" + }, + "Session": { + "type": "structure", + "members": { + "Duration": { + "shape": "__integer", + "documentation": "

    The duration of the session, in milliseconds.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the session.

    " + }, + "StartTimestamp": { + "shape": "__string", + "documentation": "

    The date and time when the session began.

    " + }, + "StopTimestamp": { + "shape": "__string", + "documentation": "

    The date and time when the session ended.

    " + } + }, + "documentation": "

    Provides information about a session.

    ", + "required": [ + "StartTimestamp", + "Id" + ] + }, + "SetDimension": { + "type": "structure", + "members": { + "DimensionType": { + "shape": "DimensionType", + "documentation": "

    The type of segment dimension to use. Valid values are: INCLUSIVE, endpoints that match the criteria are included in the segment; and, EXCLUSIVE, endpoints that match the criteria are excluded from the segment.

    " + }, + "Values": { + "shape": "ListOf__string", + "documentation": "

    The criteria values to use for the segment dimension. Depending on the value of the DimensionType property, endpoints are included or excluded from the segment if their values match the criteria values.

    " + } + }, + "documentation": "

    Specifies the dimension type and values for a segment dimension.

    ", + "required": [ + "Values" + ] + }, + "SimpleCondition": { + "type": "structure", + "members": { + "EventCondition": { + "shape": "EventCondition", + "documentation": "

    The dimension settings for the event that's associated with the activity.

    " + }, + "SegmentCondition": { + "shape": "SegmentCondition", + "documentation": "

    The segment that's associated with the activity.

    " + }, + "SegmentDimensions": { + "shape": "SegmentDimensions", + "locationName": "segmentDimensions", + "documentation": "

    The dimension settings for the segment that's associated with the activity.

    " + } + }, + "documentation": "

    Specifies a condition to evaluate for an activity in a journey.

    " + }, + "SimpleEmail": { + "type": "structure", + "members": { + "HtmlPart": { + "shape": "SimpleEmailPart", + "documentation": "

    The body of the email message, in HTML format. We recommend using HTML format for email clients that render HTML content. You can include links, formatted text, and more in an HTML message.

    " + }, + "Subject": { + "shape": "SimpleEmailPart", + "documentation": "

    The subject line, or title, of the email.

    " + }, + "TextPart": { + "shape": "SimpleEmailPart", + "documentation": "

    The body of the email message, in plain text format. We recommend using plain text format for email clients that don't render HTML content and clients that are connected to high-latency networks, such as mobile devices.

    " + } + }, + "documentation": "

    Specifies the contents of an email message, composed of a subject, a text part, and an HTML part.

    " + }, + "SimpleEmailPart": { + "type": "structure", + "members": { + "Charset": { + "shape": "__string", + "documentation": "

    The applicable character set for the message content.

    " + }, + "Data": { + "shape": "__string", + "documentation": "

    The textual data of the message content.

    " + } + }, + "documentation": "

    Specifies the subject or body of an email message, represented as textual email data and the applicable character set.

    " + }, + "SourceType": { + "type": "string", + "enum": [ + "ALL", + "ANY", + "NONE" + ] + }, + "StartCondition": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The custom description of the condition.

    " + }, + "SegmentStartCondition": { + "shape": "SegmentCondition", + "documentation": "

    The segment that's associated with the first activity in the journey. This segment determines which users are participants in the journey.

    " + } + }, + "documentation": "

    Specifies the conditions for the first activity in a journey. This activity and its conditions determine which users are participants in a journey.

    " + }, + "State": { + "type": "string", + "enum": [ + "DRAFT", + "ACTIVE", + "COMPLETED", + "CANCELLED", + "CLOSED" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "TagsModel": { + "shape": "TagsModel" + } + }, + "required": [ + "ResourceArn", + "TagsModel" + ], + "payload": "TagsModel" + }, + "TagsModel": { + "type": "structure", + "members": { + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags for an application, campaign, message template, or segment. Each of these resources can have a maximum of 50 tags.

    Each tag consists of a required tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

    " + } + }, + "documentation": "

    Specifies the tags (keys and values) for an application, campaign, message template, or segment.

    ", + "required": [ + "tags" + ] + }, + "Template": { + "type": "structure", + "members": { + "Name": { + "shape": "__string", + "documentation": "

    The name of the message template to use for the message. If specified, this value must match the name of an existing message template.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier for the version of the message template to use for the message. If specified, this value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

    If you don't specify a value for this property, Amazon Pinpoint uses the active version of the template. The active version is typically the version of a template that's been most recently reviewed and approved for use, depending on your workflow. It isn't necessarily the latest version of a template.

    " + } + }, + "documentation": "

    Specifies the name and version of the message template to use for the message.

    " + }, + "TemplateActiveVersionRequest": { + "type": "structure", + "members": { + "Version": { + "shape": "__string", + "documentation": "

    The version of the message template to use as the active version of the template. Valid values are: latest, for the most recent version of the template; or, the unique identifier for any existing version of the template. If you specify an identifier, the value must match the identifier for an existing template version. To retrieve a list of versions and version identifiers for a template, use the Template Versions resource.

    " + } + }, + "documentation": "

    Specifies which version of a message template to use as the active version of the template.

    " + }, + "TemplateConfiguration": { + "type": "structure", + "members": { + "EmailTemplate": { + "shape": "Template", + "documentation": "

    The email template to use for the message.

    " + }, + "PushTemplate": { + "shape": "Template", + "documentation": "

    The push notification template to use for the message.

    " + }, + "SMSTemplate": { + "shape": "Template", + "documentation": "

    The SMS template to use for the message.

    " + }, + "VoiceTemplate": { + "shape": "Template", + "documentation": "

    The voice template to use for the message. This object isn't supported for campaigns.

    " + } + }, + "documentation": "

    Specifies the message template to use for the message, for each type of channel.

    " + }, + "TemplateResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template. This value isn't included in a TemplateResponse object. To retrieve the ARN of a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the ARN for.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was created.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    The JSON object that specifies the default values that are used for message variables in the message template. This object isn't included in a TemplateResponse object. To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the object for.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was last modified.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A map of key-value pairs that identifies the tags that are associated with the message template. This object isn't included in a TemplateResponse object. To retrieve this object for a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the object for.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the message template. This value isn't included in a TemplateResponse object. To retrieve the description of a template, use the GetEmailTemplate, GetPushTemplate, GetSmsTemplate, or GetVoiceTemplate operation, depending on the type of template that you want to retrieve the description for.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "TemplateType", + "documentation": "

    The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier, as an integer, for the active version of the message template.

    " + } + }, + "documentation": "

    Provides information about a message template that's associated with your Amazon Pinpoint account.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateName", + "TemplateType" + ] + }, + "TemplateType": { + "type": "string", + "enum": [ + "EMAIL", + "SMS", + "VOICE", + "PUSH" + ] + }, + "TemplateVersionResponse": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the version of the message template was created.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    A JSON object that specifies the default values that are used for message variables in the version of the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the version of the message template was last modified.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the version of the message template.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "__string", + "documentation": "

    The type of channel that the message template is designed for. Possible values are: EMAIL, PUSH, SMS, and VOICE.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier for the version of the message template. This value is an integer that Amazon Pinpoint automatically increments and assigns to each new version of a template.

    " + } + }, + "documentation": "

    Provides information about a specific version of a message template.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateName", + "TemplateType" + ] + }, + "TemplateVersionsResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfTemplateVersionResponse", + "documentation": "

    An array of responses, one for each version of the message template.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API for the request to retrieve information about all the versions of the message template.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request to retrieve information about all the versions of the message template.

    " + } + }, + "documentation": "

    Provides information about all the versions of a specific message template.

    ", + "required": [ + "Item" + ] + }, + "TemplatesResponse": { + "type": "structure", + "members": { + "Item": { + "shape": "ListOfTemplateResponse", + "documentation": "

    An array of responses, one for each message template that's associated with your Amazon Pinpoint account and meets any filter criteria that you specified in the request.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The string to use in a subsequent request to get the next page of results in a paginated response. This value is null if there are no additional pages.

    " + } + }, + "documentation": "

    Provides information about all the message templates that are associated with your Amazon Pinpoint account.

    ", + "required": [ + "Item" + ] + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Message": { + "shape": "__string", + "documentation": "

    The message that's returned from the API.

    " + }, + "RequestID": { + "shape": "__string", + "documentation": "

    The unique identifier for the request or response.

    " + } + }, + "documentation": "

    Provides information about an API request or response.

    ", + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "TreatmentResource": { + "type": "structure", + "members": { + "CustomDeliveryConfiguration": { + "shape": "CustomDeliveryConfiguration", + "documentation": "

    The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    The unique identifier for the treatment.

    " + }, + "MessageConfiguration": { + "shape": "MessageConfiguration", + "documentation": "

    The message configuration settings for the treatment.

    " + }, + "Schedule": { + "shape": "Schedule", + "documentation": "

    The schedule settings for the treatment.

    " + }, + "SizePercent": { + "shape": "__integer", + "documentation": "

    The allocated percentage of users (segment members) that the treatment is sent to.

    " + }, + "State": { + "shape": "CampaignState", + "documentation": "

    The current status of the treatment.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template to use for the treatment.

    " + }, + "TreatmentDescription": { + "shape": "__string", + "documentation": "

    The custom description of the treatment.

    " + }, + "TreatmentName": { + "shape": "__string", + "documentation": "

    The custom name of the treatment.

    " + } + }, + "documentation": "

    Specifies the settings for a campaign treatment. A treatment is a variation of a campaign that's used for A/B testing of a campaign.

    ", + "required": [ + "Id", + "SizePercent" + ] + }, + "Type": { + "type": "string", + "enum": [ + "ALL", + "ANY", + "NONE" + ] + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "TagKeys": { + "shape": "ListOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "

    The key of the tag to remove from the resource. To remove multiple tags, append the tagKeys parameter and argument for each additional tag to remove, separated by an ampersand (&).

    " + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateAdmChannelRequest": { + "type": "structure", + "members": { + "ADMChannelRequest": { + "shape": "ADMChannelRequest" + }, + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId", + "ADMChannelRequest" + ], + "payload": "ADMChannelRequest" + }, + "UpdateAdmChannelResponse": { + "type": "structure", + "members": { + "ADMChannelResponse": { + "shape": "ADMChannelResponse" + } + }, + "required": [ + "ADMChannelResponse" + ], + "payload": "ADMChannelResponse" + }, + "UpdateApnsChannelRequest": { + "type": "structure", + "members": { + "APNSChannelRequest": { + "shape": "APNSChannelRequest" + }, + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId", + "APNSChannelRequest" + ], + "payload": "APNSChannelRequest" + }, + "UpdateApnsChannelResponse": { + "type": "structure", + "members": { + "APNSChannelResponse": { + "shape": "APNSChannelResponse" + } + }, + "required": [ + "APNSChannelResponse" + ], + "payload": "APNSChannelResponse" + }, + "UpdateApnsSandboxChannelRequest": { + "type": "structure", + "members": { + "APNSSandboxChannelRequest": { + "shape": "APNSSandboxChannelRequest" + }, + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId", + "APNSSandboxChannelRequest" + ], + "payload": "APNSSandboxChannelRequest" + }, + "UpdateApnsSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSSandboxChannelResponse": { + "shape": "APNSSandboxChannelResponse" + } + }, + "required": [ + "APNSSandboxChannelResponse" + ], + "payload": "APNSSandboxChannelResponse" + }, + "UpdateApnsVoipChannelRequest": { + "type": "structure", + "members": { + "APNSVoipChannelRequest": { + "shape": "APNSVoipChannelRequest" + }, + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId", + "APNSVoipChannelRequest" + ], + "payload": "APNSVoipChannelRequest" + }, + "UpdateApnsVoipChannelResponse": { + "type": "structure", + "members": { + "APNSVoipChannelResponse": { + "shape": "APNSVoipChannelResponse" + } + }, + "required": [ + "APNSVoipChannelResponse" + ], + "payload": "APNSVoipChannelResponse" + }, + "UpdateApnsVoipSandboxChannelRequest": { + "type": "structure", + "members": { + "APNSVoipSandboxChannelRequest": { + "shape": "APNSVoipSandboxChannelRequest" + }, + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + } + }, + "required": [ + "ApplicationId", + "APNSVoipSandboxChannelRequest" + ], + "payload": "APNSVoipSandboxChannelRequest" + }, + "UpdateApnsVoipSandboxChannelResponse": { + "type": "structure", + "members": { + "APNSVoipSandboxChannelResponse": { + "shape": "APNSVoipSandboxChannelResponse" + } + }, + "required": [ + "APNSVoipSandboxChannelResponse" + ], + "payload": "APNSVoipSandboxChannelResponse" + }, + "UpdateApplicationSettingsRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "WriteApplicationSettingsRequest": { + "shape": "WriteApplicationSettingsRequest" + } + }, + "required": [ + "ApplicationId", + "WriteApplicationSettingsRequest" + ], + "payload": "WriteApplicationSettingsRequest" + }, + "UpdateApplicationSettingsResponse": { + "type": "structure", + "members": { + "ApplicationSettingsResource": { + "shape": "ApplicationSettingsResource" + } + }, + "required": [ + "ApplicationSettingsResource" + ], + "payload": "ApplicationSettingsResource" + }, + "UpdateAttributesRequest": { + "type": "structure", + "members": { + "Blacklist": { + "shape": "ListOf__string", + "documentation": "

    An array of the attributes to remove from all the endpoints that are associated with the application. The array can specify the complete, exact name of each attribute to remove or it can specify a glob pattern that an attribute name must match in order for the attribute to be removed.

    " + } + }, + "documentation": "

    Specifies one or more attributes to remove from all the endpoints that are associated with an application.

    " + }, + "UpdateBaiduChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "BaiduChannelRequest": { + "shape": "BaiduChannelRequest" + } + }, + "required": [ + "ApplicationId", + "BaiduChannelRequest" + ], + "payload": "BaiduChannelRequest" + }, + "UpdateBaiduChannelResponse": { + "type": "structure", + "members": { + "BaiduChannelResponse": { + "shape": "BaiduChannelResponse" + } + }, + "required": [ + "BaiduChannelResponse" + ], + "payload": "BaiduChannelResponse" + }, + "UpdateCampaignRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "CampaignId": { + "shape": "__string", + "location": "uri", + "locationName": "campaign-id", + "documentation": "

    The unique identifier for the campaign.

    " + }, + "WriteCampaignRequest": { + "shape": "WriteCampaignRequest" + } + }, + "required": [ + "CampaignId", + "ApplicationId", + "WriteCampaignRequest" + ], + "payload": "WriteCampaignRequest" + }, + "UpdateCampaignResponse": { + "type": "structure", + "members": { + "CampaignResponse": { + "shape": "CampaignResponse" + } + }, + "required": [ + "CampaignResponse" + ], + "payload": "CampaignResponse" + }, + "UpdateEmailChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EmailChannelRequest": { + "shape": "EmailChannelRequest" + } + }, + "required": [ + "ApplicationId", + "EmailChannelRequest" + ], + "payload": "EmailChannelRequest" + }, + "UpdateEmailChannelResponse": { + "type": "structure", + "members": { + "EmailChannelResponse": { + "shape": "EmailChannelResponse" + } + }, + "required": [ + "EmailChannelResponse" + ], + "payload": "EmailChannelResponse" + }, + "UpdateEmailTemplateRequest": { + "type": "structure", + "members": { + "CreateNewVersion": { + "shape": "__boolean", + "location": "querystring", + "locationName": "create-new-version", + "documentation": "

    Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

    If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

    " + }, + "EmailTemplateRequest": { + "shape": "EmailTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName", + "EmailTemplateRequest" + ], + "payload": "EmailTemplateRequest" + }, + "UpdateEmailTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateEndpointRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndpointId": { + "shape": "__string", + "location": "uri", + "locationName": "endpoint-id", + "documentation": "

    The unique identifier for the endpoint.

    " + }, + "EndpointRequest": { + "shape": "EndpointRequest" + } + }, + "required": [ + "ApplicationId", + "EndpointId", + "EndpointRequest" + ], + "payload": "EndpointRequest" + }, + "UpdateEndpointResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateEndpointsBatchRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "EndpointBatchRequest": { + "shape": "EndpointBatchRequest" + } + }, + "required": [ + "ApplicationId", + "EndpointBatchRequest" + ], + "payload": "EndpointBatchRequest" + }, + "UpdateEndpointsBatchResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateGcmChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "GCMChannelRequest": { + "shape": "GCMChannelRequest" + } + }, + "required": [ + "ApplicationId", + "GCMChannelRequest" + ], + "payload": "GCMChannelRequest" + }, + "UpdateGcmChannelResponse": { + "type": "structure", + "members": { + "GCMChannelResponse": { + "shape": "GCMChannelResponse" + } + }, + "required": [ + "GCMChannelResponse" + ], + "payload": "GCMChannelResponse" + }, + "UpdateJourneyRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + }, + "WriteJourneyRequest": { + "shape": "WriteJourneyRequest" + } + }, + "required": [ + "JourneyId", + "ApplicationId", + "WriteJourneyRequest" + ], + "payload": "WriteJourneyRequest" + }, + "UpdateJourneyResponse": { + "type": "structure", + "members": { + "JourneyResponse": { + "shape": "JourneyResponse" + } + }, + "required": [ + "JourneyResponse" + ], + "payload": "JourneyResponse" + }, + "UpdateJourneyStateRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "JourneyId": { + "shape": "__string", + "location": "uri", + "locationName": "journey-id", + "documentation": "

    The unique identifier for the journey.

    " + }, + "JourneyStateRequest": { + "shape": "JourneyStateRequest" + } + }, + "required": [ + "JourneyId", + "ApplicationId", + "JourneyStateRequest" + ], + "payload": "JourneyStateRequest" + }, + "UpdateJourneyStateResponse": { + "type": "structure", + "members": { + "JourneyResponse": { + "shape": "JourneyResponse" + } + }, + "required": [ + "JourneyResponse" + ], + "payload": "JourneyResponse" + }, + "UpdatePushTemplateRequest": { + "type": "structure", + "members": { + "CreateNewVersion": { + "shape": "__boolean", + "location": "querystring", + "locationName": "create-new-version", + "documentation": "

    Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

    If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

    " + }, + "PushNotificationTemplateRequest": { + "shape": "PushNotificationTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName", + "PushNotificationTemplateRequest" + ], + "payload": "PushNotificationTemplateRequest" + }, + "UpdatePushTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateRecommenderConfiguration": { + "type": "structure", + "members": { + "Attributes": { + "shape": "MapOf__string", + "documentation": "

    A map of key-value pairs that defines 1-10 custom endpoint or user attributes, depending on the value for the RecommendationProviderIdType property. Each of these attributes temporarily stores a recommended item that's retrieved from the recommender model and sent to an AWS Lambda function for additional processing. Each attribute can be used as a message variable in a message template.

    In the map, the key is the name of a custom attribute and the value is a custom display name for that attribute. The display name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The following restrictions apply to these names:

    • An attribute name must start with a letter or number and it can contain up to 50 characters. The characters can be letters, numbers, underscores (_), or hyphens (-). Attribute names are case sensitive and must be unique.

    • An attribute display name must start with a letter or number and it can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

    This object is required if the configuration invokes an AWS Lambda function (RecommendationTransformerUri) to process recommendation data. Otherwise, don't include this object in your request.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    A custom description of the configuration for the recommender model. The description can contain up to 128 characters. The characters can be letters, numbers, spaces, or the following symbols: _ ; () , ‐.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    A custom name of the configuration for the recommender model. The name must start with a letter or number and it can contain up to 128 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-).

    " + }, + "RecommendationProviderIdType": { + "shape": "__string", + "documentation": "

    The type of Amazon Pinpoint ID to associate with unique user IDs in the recommender model. This value enables the model to use attribute and event data that’s specific to a particular endpoint or user in an Amazon Pinpoint application. Valid values are:

    • PINPOINT_ENDPOINT_ID - Associate each user in the model with a particular endpoint in Amazon Pinpoint. The data is correlated based on endpoint IDs in Amazon Pinpoint. This is the default value.

    • PINPOINT_USER_ID - Associate each user in the model with a particular user and endpoint in Amazon Pinpoint. The data is correlated based on user IDs in Amazon Pinpoint. If you specify this value, an endpoint definition in Amazon Pinpoint has to specify both a user ID (UserId) and an endpoint ID. Otherwise, messages won’t be sent to the user's endpoint.

    " + }, + "RecommendationProviderRoleArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to retrieve recommendation data from the recommender model.

    " + }, + "RecommendationProviderUri": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the recommender model to retrieve recommendation data from. This value must match the ARN of an Amazon Personalize campaign.

    " + }, + "RecommendationTransformerUri": { + "shape": "__string", + "documentation": "

    The name or Amazon Resource Name (ARN) of the AWS Lambda function to invoke for additional processing of recommendation data that's retrieved from the recommender model.

    " + }, + "RecommendationsDisplayName": { + "shape": "__string", + "documentation": "

    A custom display name for the standard endpoint or user attribute (RecommendationItems) that temporarily stores recommended items for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This value is required if the configuration doesn't invoke an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    This name appears in the Attribute finder of the template editor on the Amazon Pinpoint console. The name can contain up to 25 characters. The characters can be letters, numbers, spaces, underscores (_), or hyphens (-). These restrictions don't apply to attribute values.

    " + }, + "RecommendationsPerMessage": { + "shape": "__integer", + "documentation": "

    The number of recommended items to retrieve from the model for each endpoint or user, depending on the value for the RecommendationProviderIdType property. This number determines how many recommended items are available for use in message variables. The minimum value is 1. The maximum value is 5. The default value is 5.

    To use multiple recommended items and custom attributes with message variables, you have to use an AWS Lambda function (RecommendationTransformerUri) to perform additional processing of recommendation data.

    " + } + }, + "documentation": "

    Specifies Amazon Pinpoint configuration settings for retrieving and processing recommendation data from a recommender model.

    ", + "required": [ + "RecommendationProviderUri", + "RecommendationProviderRoleArn" + ] + }, + "UpdateRecommenderConfigurationRequest": { + "type": "structure", + "members": { + "RecommenderId": { + "shape": "__string", + "location": "uri", + "locationName": "recommender-id", + "documentation": "

    The unique identifier for the recommender model configuration. This identifier is displayed as the Recommender ID on the Amazon Pinpoint console.

    " + }, + "UpdateRecommenderConfiguration": { + "shape": "UpdateRecommenderConfiguration" + } + }, + "required": [ + "RecommenderId", + "UpdateRecommenderConfiguration" + ], + "payload": "UpdateRecommenderConfiguration" + }, + "UpdateRecommenderConfigurationResponse": { + "type": "structure", + "members": { + "RecommenderConfigurationResponse": { + "shape": "RecommenderConfigurationResponse" + } + }, + "required": [ + "RecommenderConfigurationResponse" + ], + "payload": "RecommenderConfigurationResponse" + }, + "UpdateSegmentRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SegmentId": { + "shape": "__string", + "location": "uri", + "locationName": "segment-id", + "documentation": "

    The unique identifier for the segment.

    " + }, + "WriteSegmentRequest": { + "shape": "WriteSegmentRequest" + } + }, + "required": [ + "SegmentId", + "ApplicationId", + "WriteSegmentRequest" + ], + "payload": "WriteSegmentRequest" + }, + "UpdateSegmentResponse": { + "type": "structure", + "members": { + "SegmentResponse": { + "shape": "SegmentResponse" + } + }, + "required": [ + "SegmentResponse" + ], + "payload": "SegmentResponse" + }, + "UpdateSmsChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "SMSChannelRequest": { + "shape": "SMSChannelRequest" + } + }, + "required": [ + "ApplicationId", + "SMSChannelRequest" + ], + "payload": "SMSChannelRequest" + }, + "UpdateSmsChannelResponse": { + "type": "structure", + "members": { + "SMSChannelResponse": { + "shape": "SMSChannelResponse" + } + }, + "required": [ + "SMSChannelResponse" + ], + "payload": "SMSChannelResponse" + }, + "UpdateSmsTemplateRequest": { + "type": "structure", + "members": { + "CreateNewVersion": { + "shape": "__boolean", + "location": "querystring", + "locationName": "create-new-version", + "documentation": "

    Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

    If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

    " + }, + "SMSTemplateRequest": { + "shape": "SMSTemplateRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + } + }, + "required": [ + "TemplateName", + "SMSTemplateRequest" + ], + "payload": "SMSTemplateRequest" + }, + "UpdateSmsTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateTemplateActiveVersionRequest": { + "type": "structure", + "members": { + "TemplateActiveVersionRequest": { + "shape": "TemplateActiveVersionRequest" + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "TemplateType": { + "shape": "__string", + "location": "uri", + "locationName": "template-type", + "documentation": "

    The type of channel that the message template is designed for. Valid values are: EMAIL, PUSH, SMS, and VOICE.

    " + } + }, + "required": [ + "TemplateName", + "TemplateType", + "TemplateActiveVersionRequest" + ], + "payload": "TemplateActiveVersionRequest" + }, + "UpdateTemplateActiveVersionResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "UpdateVoiceChannelRequest": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "location": "uri", + "locationName": "application-id", + "documentation": "

    The unique identifier for the application. This identifier is displayed as the Project ID on the Amazon Pinpoint console.

    " + }, + "VoiceChannelRequest": { + "shape": "VoiceChannelRequest" + } + }, + "required": [ + "ApplicationId", + "VoiceChannelRequest" + ], + "payload": "VoiceChannelRequest" + }, + "UpdateVoiceChannelResponse": { + "type": "structure", + "members": { + "VoiceChannelResponse": { + "shape": "VoiceChannelResponse" + } + }, + "required": [ + "VoiceChannelResponse" + ], + "payload": "VoiceChannelResponse" + }, + "UpdateVoiceTemplateRequest": { + "type": "structure", + "members": { + "CreateNewVersion": { + "shape": "__boolean", + "location": "querystring", + "locationName": "create-new-version", + "documentation": "

    Specifies whether to save the updates as a new version of the message template. Valid values are: true, save the updates as a new version; and, false, save the updates to (overwrite) the latest existing version of the template.

    If you don't specify a value for this parameter, Amazon Pinpoint saves the updates to (overwrites) the latest existing version of the template. If you specify a value of true for this parameter, don't specify a value for the version parameter. Otherwise, an error will occur.

    " + }, + "TemplateName": { + "shape": "__string", + "location": "uri", + "locationName": "template-name", + "documentation": "

    The name of the message template. A template name must start with an alphanumeric character and can contain a maximum of 128 characters. The characters can be alphanumeric characters, underscores (_), or hyphens (-). Template names are case sensitive.

    " + }, + "Version": { + "shape": "__string", + "location": "querystring", + "locationName": "version", + "documentation": "

    The unique identifier for the version of the message template to update, retrieve information about, or delete. To retrieve identifiers and other information for all the versions of a template, use the Template Versions resource.

    If specified, this value must match the identifier for an existing template version. If specified for an update operation, this value must match the identifier for the latest existing version of the template. This restriction helps ensure that race conditions don't occur.

    If you don't specify a value for this parameter, Amazon Pinpoint does the following:

    • For a get operation, retrieves information about the active version of the template.

    • For an update operation, saves the updates to (overwrites) the latest existing version of the template, if the create-new-version parameter isn't used or is set to false.

    • For a delete operation, deletes the template, including all versions of the template.

    " + }, + "VoiceTemplateRequest": { + "shape": "VoiceTemplateRequest" + } + }, + "required": [ + "TemplateName", + "VoiceTemplateRequest" + ], + "payload": "VoiceTemplateRequest" + }, + "UpdateVoiceTemplateResponse": { + "type": "structure", + "members": { + "MessageBody": { + "shape": "MessageBody" + } + }, + "required": [ + "MessageBody" + ], + "payload": "MessageBody" + }, + "VoiceChannelRequest": { + "type": "structure", + "members": { + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable the voice channel for the application.

    " + } + }, + "documentation": "

    Specifies the status and settings of the voice channel for an application.

    " + }, + "VoiceChannelResponse": { + "type": "structure", + "members": { + "ApplicationId": { + "shape": "__string", + "documentation": "

    The unique identifier for the application that the voice channel applies to.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the voice channel was enabled.

    " + }, + "Enabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether the voice channel is enabled for the application.

    " + }, + "HasCredential": { + "shape": "__boolean", + "documentation": "

    (Not used) This property is retained only for backward compatibility.

    " + }, + "Id": { + "shape": "__string", + "documentation": "

    (Deprecated) An identifier for the voice channel. This property is retained only for backward compatibility.

    " + }, + "IsArchived": { + "shape": "__boolean", + "documentation": "

    Specifies whether the voice channel is archived.

    " + }, + "LastModifiedBy": { + "shape": "__string", + "documentation": "

    The user who last modified the voice channel.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when the voice channel was last modified.

    " + }, + "Platform": { + "shape": "__string", + "documentation": "

    The type of messaging or notification platform for the channel. For the voice channel, this value is VOICE.

    " + }, + "Version": { + "shape": "__integer", + "documentation": "

    The current version of the voice channel.

    " + } + }, + "documentation": "

    Provides information about the status and settings of the voice channel for an application.

    ", + "required": [ + "Platform" + ] + }, + "VoiceMessage": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The text of the script to use for the voice message.

    " + }, + "LanguageCode": { + "shape": "__string", + "documentation": "

    The code for the language to use when synthesizing the text of the message script. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

    " + }, + "OriginationNumber": { + "shape": "__string", + "documentation": "

    The long code to send the voice message from. This value should be one of the dedicated long codes that's assigned to your AWS account. Although it isn't required, we recommend that you specify the long code in E.164 format, for example +12065550100, to ensure prompt and accurate delivery of the message.

    " + }, + "Substitutions": { + "shape": "MapOfListOf__string", + "documentation": "

    The default message variables to use in the voice message. You can override the default variables with individual address variables.

    " + }, + "VoiceId": { + "shape": "__string", + "documentation": "

    The name of the voice to use when delivering the message. For a list of supported voices, see the Amazon Polly Developer Guide.

    " + } + }, + "documentation": "

    Specifies the settings for a one-time voice message that's sent directly to an endpoint through the voice channel.

    " + }, + "VoiceTemplateRequest": { + "type": "structure", + "members": { + "Body": { + "shape": "__string", + "documentation": "

    The text of the script to use in messages that are based on the message template, in plain text format.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    A JSON object that specifies the default values to use for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable. When you create a message that's based on the template, you can override these defaults with message-specific and address-specific variables and values.

    " + }, + "LanguageCode": { + "shape": "__string", + "documentation": "

    The code for the language to use when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    A custom description of the message template.

    " + }, + "VoiceId": { + "shape": "__string", + "documentation": "

    The name of the voice to use when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

    " + } + }, + "documentation": "

    Specifies the content and settings for a message template that can be used in messages that are sent through the voice channel.

    " + }, + "VoiceTemplateResponse": { + "type": "structure", + "members": { + "Arn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the message template.

    " + }, + "Body": { + "shape": "__string", + "documentation": "

    The text of the script that's used in messages that are based on the message template, in plain text format.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was created.

    " + }, + "DefaultSubstitutions": { + "shape": "__string", + "documentation": "

    The JSON object that specifies the default values that are used for message variables in the message template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the default value for that variable.

    " + }, + "LanguageCode": { + "shape": "__string", + "documentation": "

    The code for the language that's used when synthesizing the text of the script in messages that are based on the message template. For a list of supported languages and the code for each one, see the Amazon Polly Developer Guide.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the message template was last modified.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that identifies the tags that are associated with the message template. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateDescription": { + "shape": "__string", + "documentation": "

    The custom description of the message template.

    " + }, + "TemplateName": { + "shape": "__string", + "documentation": "

    The name of the message template.

    " + }, + "TemplateType": { + "shape": "TemplateType", + "documentation": "

    The type of channel that the message template is designed for. For a voice template, this value is VOICE.

    " + }, + "Version": { + "shape": "__string", + "documentation": "

    The unique identifier, as an integer, for the active version of the message template, or the version of the template that you specified by using the version parameter in your request.

    " + }, + "VoiceId": { + "shape": "__string", + "documentation": "

    The name of the voice that's used when delivering messages that are based on the message template. For a list of supported voices, see the Amazon Polly Developer Guide.

    " + } + }, + "documentation": "

    Provides information about the content and settings for a message template that can be used in messages that are sent through the voice channel.

    ", + "required": [ + "LastModifiedDate", + "CreationDate", + "TemplateName", + "TemplateType" + ] + }, + "WaitActivity": { + "type": "structure", + "members": { + "NextActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the next activity to perform, after performing the wait activity.

    " + }, + "WaitTime": { + "shape": "WaitTime", + "documentation": "

    The amount of time to wait or the date and time when the activity moves participants to the next activity in the journey.

    " + } + }, + "documentation": "

    Specifies the settings for a wait activity in a journey. This type of activity waits for a certain amount of time or until a specific date and time before moving participants to the next activity in a journey.

    " + }, + "WaitTime": { + "type": "structure", + "members": { + "WaitFor": { + "shape": "__string", + "documentation": "

    The amount of time to wait, as a duration in ISO 8601 format, before determining whether the activity's conditions have been met or moving participants to the next activity in the journey.

    " + }, + "WaitUntil": { + "shape": "__string", + "documentation": "

    The date and time, in ISO 8601 format, when Amazon Pinpoint determines whether the activity's conditions have been met or the activity moves participants to the next activity in the journey.

    " + } + }, + "documentation": "

    Specifies a duration or a date and time that indicates when Amazon Pinpoint determines whether an activity's conditions have been met or an activity moves participants to the next activity in a journey.

    " + }, + "WriteApplicationSettingsRequest": { + "type": "structure", + "members": { + "CampaignHook": { + "shape": "CampaignHook", + "documentation": "

    The settings for the AWS Lambda function to invoke by default as a code hook for campaigns in the application. You can use this hook to customize segments that are used by campaigns in the application.

    To override these settings and define custom settings for a specific campaign, use the CampaignHook object of the Campaign resource.

    " + }, + "CloudWatchMetricsEnabled": { + "shape": "__boolean", + "documentation": "

    Specifies whether to enable application-related alarms in Amazon CloudWatch.

    " + }, + "Limits": { + "shape": "CampaignLimits", + "documentation": "

    The default sending limits for campaigns and journeys in the application. To override these limits and define custom limits for a specific campaign or journey, use the Campaign resource or the Journey resource, respectively.

    " + }, + "QuietTime": { + "shape": "QuietTime", + "documentation": "

    The default quiet time for campaigns and journeys in the application. Quiet time is a specific time range when messages aren't sent to endpoints, if all the following conditions are met:

    • The EndpointDemographic.Timezone property of the endpoint is set to a valid value.

    • The current time in the endpoint's time zone is later than or equal to the time specified by the QuietTime.Start property for the application (or a campaign or journey that has custom quiet time settings).

    • The current time in the endpoint's time zone is earlier than or equal to the time specified by the QuietTime.End property for the application (or a campaign or journey that has custom quiet time settings).

    If any of the preceding conditions isn't met, the endpoint will receive messages from a campaign or journey, even if quiet time is enabled.

    To override the default quiet time settings for a specific campaign or journey, use the Campaign resource or the Journey resource to define a custom quiet time for the campaign or journey.

    " + } + }, + "documentation": "

    Specifies the default settings for an application.

    " + }, + "WriteCampaignRequest": { + "type": "structure", + "members": { + "AdditionalTreatments": { + "shape": "ListOfWriteTreatmentResource", + "documentation": "

    An array of requests that defines additional treatments for the campaign, in addition to the default treatment for the campaign.

    " + }, + "CustomDeliveryConfiguration": { + "shape": "CustomDeliveryConfiguration", + "documentation": "

    The delivery configuration settings for sending the campaign through a custom channel. This object is required if the MessageConfiguration object for the campaign specifies a CustomMessage object.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    A custom description of the campaign.

    " + }, + "HoldoutPercent": { + "shape": "__integer", + "documentation": "

    The allocated percentage of users (segment members) who shouldn't receive messages from the campaign.

    " + }, + "Hook": { + "shape": "CampaignHook", + "documentation": "

    The settings for the AWS Lambda function to invoke as a code hook for the campaign. You can use this hook to customize the segment that's used by the campaign.

    " + }, + "IsPaused": { + "shape": "__boolean", + "documentation": "

    Specifies whether to pause the campaign. A paused campaign doesn't run unless you resume it by changing this value to false.

    " + }, + "Limits": { + "shape": "CampaignLimits", + "documentation": "

    The messaging limits for the campaign.

    " + }, + "MessageConfiguration": { + "shape": "MessageConfiguration", + "documentation": "

    The message configuration settings for the campaign.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    A custom name for the campaign.

    " + }, + "Schedule": { + "shape": "Schedule", + "documentation": "

    The schedule settings for the campaign.

    " + }, + "SegmentId": { + "shape": "__string", + "documentation": "

    The unique identifier for the segment to associate with the campaign.

    " + }, + "SegmentVersion": { + "shape": "__integer", + "documentation": "

    The version of the segment to associate with the campaign.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the campaign. Each tag consists of a required tag key and an associated tag value.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template to use for the campaign.

    " + }, + "TreatmentDescription": { + "shape": "__string", + "documentation": "

    A custom description of the default treatment for the campaign.

    " + }, + "TreatmentName": { + "shape": "__string", + "documentation": "

    A custom name of the default treatment for the campaign, if the campaign has multiple treatments. A treatment is a variation of a campaign that's used for A/B testing.

    " + } + }, + "documentation": "

    Specifies the configuration and other settings for a campaign.

    " + }, + "WriteEventStream": { + "type": "structure", + "members": { + "DestinationStreamArn": { + "shape": "__string", + "documentation": "

    The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon Kinesis Data Firehose delivery stream that you want to publish event data to.

    For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name\n

    For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name\n

    " + }, + "RoleArn": { + "shape": "__string", + "documentation": "

    The AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint to publish event data to the stream in your AWS account.

    " + } + }, + "documentation": "

    Specifies the Amazon Resource Name (ARN) of an event stream to publish events to and the AWS Identity and Access Management (IAM) role to use when publishing those events.

    ", + "required": [ + "RoleArn", + "DestinationStreamArn" + ] + }, + "WriteJourneyRequest": { + "type": "structure", + "members": { + "Activities": { + "shape": "MapOfActivity", + "documentation": "

    A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.

    " + }, + "CreationDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the journey was created.

    " + }, + "LastModifiedDate": { + "shape": "__string", + "documentation": "

    The date, in ISO 8601 format, when the journey was last modified.

    " + }, + "Limits": { + "shape": "JourneyLimits", + "documentation": "

    The messaging and entry limits for the journey.

    " + }, + "LocalTime": { + "shape": "__boolean", + "documentation": "

    Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.

    " + }, + "QuietTime": { + "shape": "QuietTime", + "documentation": "

    The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

    • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

    • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

    • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

    If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

    " + }, + "RefreshFrequency": { + "shape": "__string", + "documentation": "

    The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

    " + }, + "Schedule": { + "shape": "JourneySchedule", + "documentation": "

    The schedule settings for the journey.

    " + }, + "StartActivity": { + "shape": "__string", + "documentation": "

    The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.

    " + }, + "StartCondition": { + "shape": "StartCondition", + "documentation": "

    The segment that defines which users are participants in the journey.

    " + }, + "State": { + "shape": "State", + "documentation": "

    The status of the journey. Valid values are:

    • DRAFT - Saves the journey and doesn't publish it.

    • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

    The CANCELLED, COMPLETED, and CLOSED values are not supported in requests to create or update a journey. To cancel a journey, use the Journey State resource.

    " + } + }, + "documentation": "

    Specifies the configuration and other settings for a journey.

    ", + "required": [ + "Name" + ] + }, + "WriteSegmentRequest": { + "type": "structure", + "members": { + "Dimensions": { + "shape": "SegmentDimensions", + "documentation": "

    The criteria that define the dimensions for the segment.

    " + }, + "Name": { + "shape": "__string", + "documentation": "

    The name of the segment.

    " + }, + "SegmentGroups": { + "shape": "SegmentGroupList", + "documentation": "

    The segment group to use and the dimensions to apply to the group's base segments in order to build the segment. A segment group can consist of zero or more base segments. Your request can include only one segment group.

    " + }, + "tags": { + "shape": "MapOf__string", + "locationName": "tags", + "documentation": "

    A string-to-string map of key-value pairs that defines the tags to associate with the segment. Each tag consists of a required tag key and an associated tag value.

    " + } + }, + "documentation": "

    Specifies the configuration, dimension, and other settings for a segment. A WriteSegmentRequest object can include a Dimensions object or a SegmentGroups object, but not both.

    " + }, + "WriteTreatmentResource": { + "type": "structure", + "members": { + "CustomDeliveryConfiguration": { + "shape": "CustomDeliveryConfiguration", + "documentation": "

    The delivery configuration settings for sending the treatment through a custom channel. This object is required if the MessageConfiguration object for the treatment specifies a CustomMessage object.

    " + }, + "MessageConfiguration": { + "shape": "MessageConfiguration", + "documentation": "

    The message configuration settings for the treatment.

    " + }, + "Schedule": { + "shape": "Schedule", + "documentation": "

    The schedule settings for the treatment.

    " + }, + "SizePercent": { + "shape": "__integer", + "documentation": "

    The allocated percentage of users (segment members) to send the treatment to.

    " + }, + "TemplateConfiguration": { + "shape": "TemplateConfiguration", + "documentation": "

    The message template to use for the treatment.

    " + }, + "TreatmentDescription": { + "shape": "__string", + "documentation": "

    A custom description of the treatment.

    " + }, + "TreatmentName": { + "shape": "__string", + "documentation": "

    A custom name for the treatment.

    " + } + }, + "documentation": "

    Specifies the settings for a campaign treatment. A treatment is a variation of a campaign that's used for A/B testing of a campaign.

    ", + "required": [ + "SizePercent" + ] + }, + "__EndpointTypesElement": { + "type": "string", + "enum": [ + "GCM", + "APNS", + "APNS_SANDBOX", + "APNS_VOIP", + "APNS_VOIP_SANDBOX", + "ADM", + "SMS", + "VOICE", + "EMAIL", + "BAIDU", + "CUSTOM" + ] + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "ListOfActivityResponse": { + "type": "list", + "member": { + "shape": "ActivityResponse" + } + }, + "ListOfApplicationResponse": { + "type": "list", + "member": { + "shape": "ApplicationResponse" + } + }, + "ListOfCampaignResponse": { + "type": "list", + "member": { + "shape": "CampaignResponse" + } + }, + "ListOfEndpointBatchItem": { + "type": "list", + "member": { + "shape": "EndpointBatchItem" + } + }, + "ListOfEndpointResponse": { + "type": "list", + "member": { + "shape": "EndpointResponse" + } + }, + "ListOfExportJobResponse": { + "type": "list", + "member": { + "shape": "ExportJobResponse" + } + }, + "ListOfImportJobResponse": { + "type": "list", + "member": { + "shape": "ImportJobResponse" + } + }, + "ListOfJourneyResponse": { + "type": "list", + "member": { + "shape": "JourneyResponse" + } + }, + "ListOfMultiConditionalBranch": { + "type": "list", + "member": { + "shape": "MultiConditionalBranch" + } + }, + "ListOfRandomSplitEntry": { + "type": "list", + "member": { + "shape": "RandomSplitEntry" + } + }, + "ListOfRecommenderConfigurationResponse": { + "type": "list", + "member": { + "shape": "RecommenderConfigurationResponse" + } + }, + "ListOfResultRow": { + "type": "list", + "member": { + "shape": "ResultRow" + } + }, + "ListOfResultRowValue": { + "type": "list", + "member": { + "shape": "ResultRowValue" + } + }, + "ListOfSegmentDimensions": { + "type": "list", + "member": { + "shape": "SegmentDimensions" + } + }, + "ListOfSegmentGroup": { + "type": "list", + "member": { + "shape": "SegmentGroup" + } + }, + "ListOfSegmentReference": { + "type": "list", + "member": { + "shape": "SegmentReference" + } + }, + "ListOfSegmentResponse": { + "type": "list", + "member": { + "shape": "SegmentResponse" + } + }, + "ListOfSimpleCondition": { + "type": "list", + "member": { + "shape": "SimpleCondition" + } + }, + "ListOfTemplateResponse": { + "type": "list", + "member": { + "shape": "TemplateResponse" + } + }, + "ListOfTemplateVersionResponse": { + "type": "list", + "member": { + "shape": "TemplateVersionResponse" + } + }, + "ListOfTreatmentResource": { + "type": "list", + "member": { + "shape": "TreatmentResource" + } + }, + "ListOfWriteTreatmentResource": { + "type": "list", + "member": { + "shape": "WriteTreatmentResource" + } + }, + "ListOf__EndpointTypesElement": { + "type": "list", + "member": { + "shape": "__EndpointTypesElement" + } + }, + "ListOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "MapOfActivity": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "Activity" + } + }, + "MapOfAddressConfiguration": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "AddressConfiguration" + } + }, + "MapOfAttributeDimension": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "AttributeDimension" + } + }, + "MapOfChannelResponse": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "ChannelResponse" + } + }, + "MapOfEndpointMessageResult": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "EndpointMessageResult" + } + }, + "MapOfEndpointSendConfiguration": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "EndpointSendConfiguration" + } + }, + "MapOfEvent": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "Event" + } + }, + "MapOfEventItemResponse": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "EventItemResponse" + } + }, + "MapOfEventsBatch": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "EventsBatch" + } + }, + "MapOfItemResponse": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "ItemResponse" + } + }, + "MapOfMessageResult": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "MessageResult" + } + }, + "MapOfMetricDimension": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "MetricDimension" + } + }, + "MapOf__double": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__double" + } + }, + "MapOf__integer": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__integer" + } + }, + "MapOfListOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "ListOf__string" + } + }, + "MapOfMapOfEndpointMessageResult": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "MapOfEndpointMessageResult" + } + }, + "MapOf__string": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/pinpoint-email/2018-07-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/pinpoint-email/2018-07-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/pinpoint-email/2018-07-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pinpoint-email/2018-07-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "GetDedicatedIps": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DedicatedIps" + }, + "ListConfigurationSets": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "ConfigurationSets" + }, + "ListDedicatedIpPools": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DedicatedIpPools" + }, + "ListDeliverabilityTestReports": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "DeliverabilityTestReports" + }, + "ListEmailIdentities": { + "input_token": "NextToken", + "limit_key": "PageSize", + "output_token": "NextToken", + "result_key": "EmailIdentities" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/pinpoint-email/2018-07-26/service-2.json python-botocore-1.16.19+repack/botocore/data/pinpoint-email/2018-07-26/service-2.json --- python-botocore-1.4.70/botocore/data/pinpoint-email/2018-07-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pinpoint-email/2018-07-26/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3004 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-07-26", + "endpointPrefix":"email", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Pinpoint Email", + "serviceFullName":"Amazon Pinpoint Email Service", + "serviceId":"Pinpoint Email", + "signatureVersion":"v4", + "signingName":"ses", + "uid":"pinpoint-email-2018-07-26" + }, + "operations":{ + "CreateConfigurationSet":{ + "name":"CreateConfigurationSet", + "http":{ + "method":"POST", + "requestUri":"/v1/email/configuration-sets" + }, + "input":{"shape":"CreateConfigurationSetRequest"}, + "output":{"shape":"CreateConfigurationSetResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a configuration set. Configuration sets are groups of rules that you can apply to the emails you send using Amazon Pinpoint. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "CreateConfigurationSetEventDestination":{ + "name":"CreateConfigurationSetEventDestination", + "http":{ + "method":"POST", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations" + }, + "input":{"shape":"CreateConfigurationSetEventDestinationRequest"}, + "output":{"shape":"CreateConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Create an event destination. In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    A single configuration set can include more than one event destination.

    " + }, + "CreateDedicatedIpPool":{ + "name":"CreateDedicatedIpPool", + "http":{ + "method":"POST", + "requestUri":"/v1/email/dedicated-ip-pools" + }, + "input":{"shape":"CreateDedicatedIpPoolRequest"}, + "output":{"shape":"CreateDedicatedIpPoolResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your Amazon Pinpoint account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, Amazon Pinpoint sends it using only the IP addresses in the associated pool.

    " + }, + "CreateDeliverabilityTestReport":{ + "name":"CreateDeliverabilityTestReport", + "http":{ + "method":"POST", + "requestUri":"/v1/email/deliverability-dashboard/test" + }, + "input":{"shape":"CreateDeliverabilityTestReportRequest"}, + "output":{"shape":"CreateDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon Pinpoint then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

    " + }, + "CreateEmailIdentity":{ + "name":"CreateEmailIdentity", + "http":{ + "method":"POST", + "requestUri":"/v1/email/identities" + }, + "input":{"shape":"CreateEmailIdentityRequest"}, + "output":{"shape":"CreateEmailIdentityResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Verifies an email identity for use with Amazon Pinpoint. In Amazon Pinpoint, an identity is an email address or domain that you use when you send email. Before you can use an identity to send email with Amazon Pinpoint, you first have to verify it. By verifying an address, you demonstrate that you're the owner of the address, and that you've given Amazon Pinpoint permission to send email from the address.

    When you verify an email address, Amazon Pinpoint sends an email to the address. Your email address is verified as soon as you follow the link in the verification email.

    When you verify a domain, this operation provides a set of DKIM tokens, which you can convert into CNAME tokens. You add these CNAME tokens to the DNS configuration for your domain. Your domain is verified when Amazon Pinpoint detects these records in the DNS configuration for your domain. It usually takes around 72 hours to complete the domain verification process.

    " + }, + "DeleteConfigurationSet":{ + "name":"DeleteConfigurationSet", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}" + }, + "input":{"shape":"DeleteConfigurationSetRequest"}, + "output":{"shape":"DeleteConfigurationSetResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Delete an existing configuration set.

    In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "DeleteConfigurationSetEventDestination":{ + "name":"DeleteConfigurationSetEventDestination", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}" + }, + "input":{"shape":"DeleteConfigurationSetEventDestinationRequest"}, + "output":{"shape":"DeleteConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Delete an event destination.

    In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "DeleteDedicatedIpPool":{ + "name":"DeleteDedicatedIpPool", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/dedicated-ip-pools/{PoolName}" + }, + "input":{"shape":"DeleteDedicatedIpPoolRequest"}, + "output":{"shape":"DeleteDedicatedIpPoolResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Delete a dedicated IP pool.

    " + }, + "DeleteEmailIdentity":{ + "name":"DeleteEmailIdentity", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/identities/{EmailIdentity}" + }, + "input":{"shape":"DeleteEmailIdentityRequest"}, + "output":{"shape":"DeleteEmailIdentityResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Deletes an email identity that you previously verified for use with Amazon Pinpoint. An identity can be either an email address or a domain name.

    " + }, + "GetAccount":{ + "name":"GetAccount", + "http":{ + "method":"GET", + "requestUri":"/v1/email/account" + }, + "input":{"shape":"GetAccountRequest"}, + "output":{"shape":"GetAccountResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Obtain information about the email-sending status and capabilities of your Amazon Pinpoint account in the current AWS Region.

    " + }, + "GetBlacklistReports":{ + "name":"GetBlacklistReports", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/blacklist-report" + }, + "input":{"shape":"GetBlacklistReportsRequest"}, + "output":{"shape":"GetBlacklistReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve a list of the blacklists that your dedicated IP addresses appear on.

    " + }, + "GetConfigurationSet":{ + "name":"GetConfigurationSet", + "http":{ + "method":"GET", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}" + }, + "input":{"shape":"GetConfigurationSetRequest"}, + "output":{"shape":"GetConfigurationSetResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more.

    In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "GetConfigurationSetEventDestinations":{ + "name":"GetConfigurationSetEventDestinations", + "http":{ + "method":"GET", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations" + }, + "input":{"shape":"GetConfigurationSetEventDestinationsRequest"}, + "output":{"shape":"GetConfigurationSetEventDestinationsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve a list of event destinations that are associated with a configuration set.

    In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "GetDedicatedIp":{ + "name":"GetDedicatedIp", + "http":{ + "method":"GET", + "requestUri":"/v1/email/dedicated-ips/{IP}" + }, + "input":{"shape":"GetDedicatedIpRequest"}, + "output":{"shape":"GetDedicatedIpResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Get information about a dedicated IP address, including the name of the dedicated IP pool that it's associated with, as well information about the automatic warm-up process for the address.

    " + }, + "GetDedicatedIps":{ + "name":"GetDedicatedIps", + "http":{ + "method":"GET", + "requestUri":"/v1/email/dedicated-ips" + }, + "input":{"shape":"GetDedicatedIpsRequest"}, + "output":{"shape":"GetDedicatedIpsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List the dedicated IP addresses that are associated with your Amazon Pinpoint account.

    " + }, + "GetDeliverabilityDashboardOptions":{ + "name":"GetDeliverabilityDashboardOptions", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard" + }, + "input":{"shape":"GetDeliverabilityDashboardOptionsRequest"}, + "output":{"shape":"GetDeliverabilityDashboardOptionsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve information about the status of the Deliverability dashboard for your Amazon Pinpoint account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "GetDeliverabilityTestReport":{ + "name":"GetDeliverabilityTestReport", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/test-reports/{ReportId}" + }, + "input":{"shape":"GetDeliverabilityTestReportRequest"}, + "output":{"shape":"GetDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve the results of a predictive inbox placement test.

    " + }, + "GetDomainDeliverabilityCampaign":{ + "name":"GetDomainDeliverabilityCampaign", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/campaigns/{CampaignId}" + }, + "input":{"shape":"GetDomainDeliverabilityCampaignRequest"}, + "output":{"shape":"GetDomainDeliverabilityCampaignResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "GetDomainStatisticsReport":{ + "name":"GetDomainStatisticsReport", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/statistics-report/{Domain}" + }, + "input":{"shape":"GetDomainStatisticsReportRequest"}, + "output":{"shape":"GetDomainStatisticsReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve inbox placement and engagement rates for the domains that you use to send email.

    " + }, + "GetEmailIdentity":{ + "name":"GetEmailIdentity", + "http":{ + "method":"GET", + "requestUri":"/v1/email/identities/{EmailIdentity}" + }, + "input":{"shape":"GetEmailIdentityRequest"}, + "output":{"shape":"GetEmailIdentityResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Provides information about a specific identity associated with your Amazon Pinpoint account, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings.

    " + }, + "ListConfigurationSets":{ + "name":"ListConfigurationSets", + "http":{ + "method":"GET", + "requestUri":"/v1/email/configuration-sets" + }, + "input":{"shape":"ListConfigurationSetsRequest"}, + "output":{"shape":"ListConfigurationSetsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List all of the configuration sets associated with your Amazon Pinpoint account in the current region.

    In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "ListDedicatedIpPools":{ + "name":"ListDedicatedIpPools", + "http":{ + "method":"GET", + "requestUri":"/v1/email/dedicated-ip-pools" + }, + "input":{"shape":"ListDedicatedIpPoolsRequest"}, + "output":{"shape":"ListDedicatedIpPoolsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List all of the dedicated IP pools that exist in your Amazon Pinpoint account in the current AWS Region.

    " + }, + "ListDeliverabilityTestReports":{ + "name":"ListDeliverabilityTestReports", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/test-reports" + }, + "input":{"shape":"ListDeliverabilityTestReportsRequest"}, + "output":{"shape":"ListDeliverabilityTestReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results.

    " + }, + "ListDomainDeliverabilityCampaigns":{ + "name":"ListDomainDeliverabilityCampaigns", + "http":{ + "method":"GET", + "requestUri":"/v1/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns" + }, + "input":{"shape":"ListDomainDeliverabilityCampaignsRequest"}, + "output":{"shape":"ListDomainDeliverabilityCampaignsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

    " + }, + "ListEmailIdentities":{ + "name":"ListEmailIdentities", + "http":{ + "method":"GET", + "requestUri":"/v1/email/identities" + }, + "input":{"shape":"ListEmailIdentitiesRequest"}, + "output":{"shape":"ListEmailIdentitiesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Returns a list of all of the email identities that are associated with your Amazon Pinpoint account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

    " + }, + "PutAccountDedicatedIpWarmupAttributes":{ + "name":"PutAccountDedicatedIpWarmupAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/account/dedicated-ips/warmup" + }, + "input":{"shape":"PutAccountDedicatedIpWarmupAttributesRequest"}, + "output":{"shape":"PutAccountDedicatedIpWarmupAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the automatic warm-up feature for dedicated IP addresses.

    " + }, + "PutAccountSendingAttributes":{ + "name":"PutAccountSendingAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/account/sending" + }, + "input":{"shape":"PutAccountSendingAttributesRequest"}, + "output":{"shape":"PutAccountSendingAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the ability of your account to send email.

    " + }, + "PutConfigurationSetDeliveryOptions":{ + "name":"PutConfigurationSetDeliveryOptions", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/delivery-options" + }, + "input":{"shape":"PutConfigurationSetDeliveryOptionsRequest"}, + "output":{"shape":"PutConfigurationSetDeliveryOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email.

    " + }, + "PutConfigurationSetReputationOptions":{ + "name":"PutConfigurationSetReputationOptions", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/reputation-options" + }, + "input":{"shape":"PutConfigurationSetReputationOptionsRequest"}, + "output":{"shape":"PutConfigurationSetReputationOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable collection of reputation metrics for emails that you send using a particular configuration set in a specific AWS Region.

    " + }, + "PutConfigurationSetSendingOptions":{ + "name":"PutConfigurationSetSendingOptions", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/sending" + }, + "input":{"shape":"PutConfigurationSetSendingOptionsRequest"}, + "output":{"shape":"PutConfigurationSetSendingOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable email sending for messages that use a particular configuration set in a specific AWS Region.

    " + }, + "PutConfigurationSetTrackingOptions":{ + "name":"PutConfigurationSetTrackingOptions", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/tracking-options" + }, + "input":{"shape":"PutConfigurationSetTrackingOptionsRequest"}, + "output":{"shape":"PutConfigurationSetTrackingOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Specify a custom domain to use for open and click tracking elements in email that you send using Amazon Pinpoint.

    " + }, + "PutDedicatedIpInPool":{ + "name":"PutDedicatedIpInPool", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/dedicated-ips/{IP}/pool" + }, + "input":{"shape":"PutDedicatedIpInPoolRequest"}, + "output":{"shape":"PutDedicatedIpInPoolResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Move a dedicated IP address to an existing dedicated IP pool.

    The dedicated IP address that you specify must already exist, and must be associated with your Amazon Pinpoint account.

    The dedicated IP pool you specify must already exist. You can create a new pool by using the CreateDedicatedIpPool operation.

    " + }, + "PutDedicatedIpWarmupAttributes":{ + "name":"PutDedicatedIpWarmupAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/dedicated-ips/{IP}/warmup" + }, + "input":{"shape":"PutDedicatedIpWarmupAttributesRequest"}, + "output":{"shape":"PutDedicatedIpWarmupAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    " + }, + "PutDeliverabilityDashboardOption":{ + "name":"PutDeliverabilityDashboardOption", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/deliverability-dashboard" + }, + "input":{"shape":"PutDeliverabilityDashboardOptionRequest"}, + "output":{"shape":"PutDeliverabilityDashboardOptionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the Deliverability dashboard for your Amazon Pinpoint account. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "PutEmailIdentityDkimAttributes":{ + "name":"PutEmailIdentityDkimAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/identities/{EmailIdentity}/dkim" + }, + "input":{"shape":"PutEmailIdentityDkimAttributesRequest"}, + "output":{"shape":"PutEmailIdentityDkimAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable DKIM authentication for an email identity.

    " + }, + "PutEmailIdentityFeedbackAttributes":{ + "name":"PutEmailIdentityFeedbackAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/identities/{EmailIdentity}/feedback" + }, + "input":{"shape":"PutEmailIdentityFeedbackAttributesRequest"}, + "output":{"shape":"PutEmailIdentityFeedbackAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event.

    When you enable feedback forwarding, Amazon Pinpoint sends you email notifications when bounce or complaint events occur. Amazon Pinpoint sends this notification to the address that you specified in the Return-Path header of the original email.

    When you disable feedback forwarding, Amazon Pinpoint sends notifications through other mechanisms, such as by notifying an Amazon SNS topic. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email notification when these events occur (even if this setting is disabled).

    " + }, + "PutEmailIdentityMailFromAttributes":{ + "name":"PutEmailIdentityMailFromAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/identities/{EmailIdentity}/mail-from" + }, + "input":{"shape":"PutEmailIdentityMailFromAttributesRequest"}, + "output":{"shape":"PutEmailIdentityMailFromAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable the custom Mail-From domain configuration for an email identity.

    " + }, + "SendEmail":{ + "name":"SendEmail", + "http":{ + "method":"POST", + "requestUri":"/v1/email/outbound-emails" + }, + "input":{"shape":"SendEmailRequest"}, + "output":{"shape":"SendEmailResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Sends an email message. You can use the Amazon Pinpoint Email API to send two types of messages:

    • Simple – A standard email message. When you create this type of message, you specify the sender, the recipient, and the message body, and Amazon Pinpoint assembles the message for you.

    • Raw – A raw, MIME-formatted email message. When you send this type of email, you have to specify all of the message headers, as well as the message body. You can use this message type to send messages that contain attachments. The message that you specify has to be a valid MIME message.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

    Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v1/email/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Remove one or more tags (keys and values) from a specified resource.

    " + }, + "UpdateConfigurationSetEventDestination":{ + "name":"UpdateConfigurationSetEventDestination", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}" + }, + "input":{"shape":"UpdateConfigurationSetEventDestinationRequest"}, + "output":{"shape":"UpdateConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Update the configuration of an event destination for a configuration set.

    In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + } + }, + "shapes":{ + "AccountSuspendedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the account's ability to send email has been permanently restricted.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource specified in your request already exists.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AmazonResourceName":{"type":"string"}, + "BadRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The input you provided is invalid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BehaviorOnMxFailure":{ + "type":"string", + "documentation":"

    The action that you want Amazon Pinpoint to take if it can't read the required MX record for a custom MAIL FROM domain. When you set this value to UseDefaultValue, Amazon Pinpoint uses amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    ", + "enum":[ + "USE_DEFAULT_VALUE", + "REJECT_MESSAGE" + ] + }, + "BlacklistEntries":{ + "type":"list", + "member":{"shape":"BlacklistEntry"} + }, + "BlacklistEntry":{ + "type":"structure", + "members":{ + "RblName":{ + "shape":"RblName", + "documentation":"

    The name of the blacklist that the IP address appears on.

    " + }, + "ListingTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the blacklisting event occurred, shown in Unix time format.

    " + }, + "Description":{ + "shape":"BlacklistingDescription", + "documentation":"

    Additional information about the blacklisting event, as provided by the blacklist maintainer.

    " + } + }, + "documentation":"

    An object that contains information about a blacklisting event that impacts one of the dedicated IP addresses that is associated with your account.

    " + }, + "BlacklistItemName":{ + "type":"string", + "documentation":"

    An IP address that you want to obtain blacklist information for.

    " + }, + "BlacklistItemNames":{ + "type":"list", + "member":{"shape":"BlacklistItemName"} + }, + "BlacklistReport":{ + "type":"map", + "key":{"shape":"BlacklistItemName"}, + "value":{"shape":"BlacklistEntries"} + }, + "BlacklistingDescription":{ + "type":"string", + "documentation":"

    A description of the blacklisting event.

    " + }, + "Body":{ + "type":"structure", + "members":{ + "Text":{ + "shape":"Content", + "documentation":"

    An object that represents the version of the message that is displayed in email clients that don't support HTML, or clients where the recipient has disabled HTML rendering.

    " + }, + "Html":{ + "shape":"Content", + "documentation":"

    An object that represents the version of the message that is displayed in email clients that support HTML. HTML messages can include formatted text, hyperlinks, images, and more.

    " + } + }, + "documentation":"

    Represents the body of the email message.

    " + }, + "CampaignId":{"type":"string"}, + "Charset":{"type":"string"}, + "CloudWatchDestination":{ + "type":"structure", + "required":["DimensionConfigurations"], + "members":{ + "DimensionConfigurations":{ + "shape":"CloudWatchDimensionConfigurations", + "documentation":"

    An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.

    " + } + }, + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "CloudWatchDimensionConfiguration":{ + "type":"structure", + "required":[ + "DimensionName", + "DimensionValueSource", + "DefaultDimensionValue" + ], + "members":{ + "DimensionName":{ + "shape":"DimensionName", + "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:

    • It can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DimensionValueSource":{ + "shape":"DimensionValueSource", + "documentation":"

    The location where Amazon Pinpoint finds the value of a dimension to publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the message tags that you specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail API, choose messageTag. If you want Amazon Pinpoint to use your own email headers, choose emailHeader. If you want Amazon Pinpoint to use link tags, choose linkTags.

    " + }, + "DefaultDimensionValue":{ + "shape":"DefaultDimensionValue", + "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:

    • It can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + } + }, + "documentation":"

    An object that defines the dimension configuration to use when you send Amazon Pinpoint email events to Amazon CloudWatch.

    " + }, + "CloudWatchDimensionConfigurations":{ + "type":"list", + "member":{"shape":"CloudWatchDimensionConfiguration"} + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource is being modified by another operation or thread.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ConfigurationSetName":{ + "type":"string", + "documentation":"

    The name of a configuration set.

    In Amazon Pinpoint, configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "ConfigurationSetNameList":{ + "type":"list", + "member":{"shape":"ConfigurationSetName"} + }, + "Content":{ + "type":"structure", + "required":["Data"], + "members":{ + "Data":{ + "shape":"MessageData", + "documentation":"

    The content of the message itself.

    " + }, + "Charset":{ + "shape":"Charset", + "documentation":"

    The character set for the content. Because of the constraints of the SMTP protocol, Amazon Pinpoint uses 7-bit ASCII by default. If the text includes characters outside of the ASCII range, you have to specify a character set. For example, you could specify UTF-8, ISO-8859-1, or Shift_JIS.

    " + } + }, + "documentation":"

    An object that represents the content of the email, and optionally a character set specification.

    " + }, + "CreateConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName", + "EventDestination" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to add an event destination to.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    A name that identifies the event destination within the configuration set.

    " + }, + "EventDestination":{ + "shape":"EventDestinationDefinition", + "documentation":"

    An object that defines the event destination.

    " + } + }, + "documentation":"

    A request to add an event destination to a configuration set.

    " + }, + "CreateConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set.

    " + }, + "TrackingOptions":{ + "shape":"TrackingOptions", + "documentation":"

    An object that defines the open and click tracking options for emails that you send using the configuration set.

    " + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

    An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.

    " + }, + "ReputationOptions":{ + "shape":"ReputationOptions", + "documentation":"

    An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails that you send that use the configuration set.

    " + }, + "SendingOptions":{ + "shape":"SendingOptions", + "documentation":"

    An object that defines whether or not Amazon Pinpoint can send email that you send using the configuration set.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the configuration set.

    " + } + }, + "documentation":"

    A request to create a configuration set.

    " + }, + "CreateConfigurationSetResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateDedicatedIpPoolRequest":{ + "type":"structure", + "required":["PoolName"], + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An object that defines the tags (keys and values) that you want to associate with the pool.

    " + } + }, + "documentation":"

    A request to create a new dedicated IP pool.

    " + }, + "CreateDedicatedIpPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateDeliverabilityTestReportRequest":{ + "type":"structure", + "required":[ + "FromEmailAddress", + "Content" + ], + "members":{ + "ReportName":{ + "shape":"ReportName", + "documentation":"

    A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.

    " + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that the predictive inbox placement test email was sent from.

    " + }, + "Content":{ + "shape":"EmailContent", + "documentation":"

    The HTML body of the message that you sent when you performed the predictive inbox placement test.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test.

    " + } + }, + "documentation":"

    A request to perform a predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon Pinpoint then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

    " + }, + "CreateDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "ReportId", + "DeliverabilityTestStatus" + ], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    " + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

    The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

    " + } + }, + "documentation":"

    Information about the predictive inbox placement test that you created.

    " + }, + "CreateEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email address or domain that you want to verify.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the email identity.

    " + } + }, + "documentation":"

    A request to begin the verification process for an email identity (an email address or domain).

    " + }, + "CreateEmailIdentityResponse":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type.

    " + }, + "VerifiedForSendingStatus":{ + "shape":"Enabled", + "documentation":"

    Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

    " + }, + "DkimAttributes":{ + "shape":"DkimAttributes", + "documentation":"

    An object that contains information about the DKIM attributes for the identity. This object includes the tokens that you use to create the CNAME records that are required to complete the DKIM verification process.

    " + } + }, + "documentation":"

    If the email identity is a domain, this object contains tokens that you can use to create a set of CNAME records. To sucessfully verify your domain, you have to add these records to the DNS configuration for your domain.

    If the email identity is an email address, this object is empty.

    " + }, + "CustomRedirectDomain":{ + "type":"string", + "documentation":"

    The domain that you want to use for tracking open and click events.

    " + }, + "DailyVolume":{ + "type":"structure", + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The date that the DailyVolume metrics apply to, in Unix time.

    " + }, + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

    An object that contains inbox placement metrics for a specific day in the analysis period.

    " + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

    An object that contains inbox placement metrics for a specified day in the analysis period, broken out by the recipient's email provider.

    " + } + }, + "documentation":"

    An object that contains information about the volume of email sent on each day of the analysis period.

    " + }, + "DailyVolumes":{ + "type":"list", + "member":{"shape":"DailyVolume"} + }, + "DedicatedIp":{ + "type":"structure", + "required":[ + "Ip", + "WarmupStatus", + "WarmupPercentage" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    An IP address that is reserved for use by your Amazon Pinpoint account.

    " + }, + "WarmupStatus":{ + "shape":"WarmupStatus", + "documentation":"

    The warm-up status of a dedicated IP address. The status can have one of the following values:

    • IN_PROGRESS – The IP address isn't ready to use because the dedicated IP warm-up process is ongoing.

    • DONE – The dedicated IP warm-up process is complete, and the IP address is ready to use.

    " + }, + "WarmupPercentage":{ + "shape":"Percentage100Wrapper", + "documentation":"

    Indicates how complete the dedicated IP warm-up process is. When this value equals 1, the address has completed the warm-up process and is ready for use.

    " + }, + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that the IP address is associated with.

    " + } + }, + "documentation":"

    Contains information about a dedicated IP address that is associated with your Amazon Pinpoint account.

    " + }, + "DedicatedIpList":{ + "type":"list", + "member":{"shape":"DedicatedIp"}, + "documentation":"

    A list of dedicated IP addresses that are associated with your Amazon Pinpoint account.

    " + }, + "DefaultDimensionValue":{ + "type":"string", + "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:

    • It can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DeleteConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination that you want to delete.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    The name of the event destination that you want to delete.

    ", + "location":"uri", + "locationName":"EventDestinationName" + } + }, + "documentation":"

    A request to delete an event destination from a configuration set.

    " + }, + "DeleteConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to delete.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to delete a configuration set.

    " + }, + "DeleteConfigurationSetResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteDedicatedIpPoolRequest":{ + "type":"structure", + "required":["PoolName"], + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that you want to delete.

    ", + "location":"uri", + "locationName":"PoolName" + } + }, + "documentation":"

    A request to delete a dedicated IP pool.

    " + }, + "DeleteDedicatedIpPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The identity (that is, the email address or domain) that you want to delete from your Amazon Pinpoint account.

    ", + "location":"uri", + "locationName":"EmailIdentity" + } + }, + "documentation":"

    A request to delete an existing email identity. When you delete an identity, you lose the ability to use Amazon Pinpoint to send email from that identity. You can restore your ability to send email by completing the verification process for the identity again.

    " + }, + "DeleteEmailIdentityResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeliverabilityDashboardAccountStatus":{ + "type":"string", + "documentation":"

    The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

    ", + "enum":[ + "ACTIVE", + "PENDING_EXPIRATION", + "DISABLED" + ] + }, + "DeliverabilityTestReport":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    " + }, + "ReportName":{ + "shape":"ReportName", + "documentation":"

    A name that helps you identify a predictive inbox placement test report.

    " + }, + "Subject":{ + "shape":"DeliverabilityTestSubject", + "documentation":"

    The subject line for an email that you submitted in a predictive inbox placement test.

    " + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The sender address that you specified for the predictive inbox placement test.

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when the predictive inbox placement test was created, in Unix time format.

    " + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

    The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

    " + } + }, + "documentation":"

    An object that contains metadata related to a predictive inbox placement test.

    " + }, + "DeliverabilityTestReports":{ + "type":"list", + "member":{"shape":"DeliverabilityTestReport"} + }, + "DeliverabilityTestStatus":{ + "type":"string", + "documentation":"

    The status of a predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

    ", + "enum":[ + "IN_PROGRESS", + "COMPLETED" + ] + }, + "DeliverabilityTestSubject":{ + "type":"string", + "documentation":"

    The subject line for an email that you submitted in a predictive inbox placement test.

    " + }, + "DeliveryOptions":{ + "type":"structure", + "members":{ + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    " + }, + "SendingPoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + } + }, + "documentation":"

    Used to associate a configuration set with a dedicated IP pool.

    " + }, + "Destination":{ + "type":"structure", + "members":{ + "ToAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"To\" recipients for the email.

    " + }, + "CcAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"CC\" (carbon copy) recipients for the email.

    " + }, + "BccAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"BCC\" (blind carbon copy) recipients for the email.

    " + } + }, + "documentation":"

    An object that describes the recipients for an email.

    " + }, + "DimensionName":{ + "type":"string", + "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:

    • It can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DimensionValueSource":{ + "type":"string", + "documentation":"

    The location where Amazon Pinpoint finds the value of a dimension to publish to Amazon CloudWatch. If you want Amazon Pinpoint to use the message tags that you specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail/SendRawEmail API, choose messageTag. If you want Amazon Pinpoint to use your own email headers, choose emailHeader. If you want Amazon Pinpoint to use link tags, choose linkTags.

    ", + "enum":[ + "MESSAGE_TAG", + "EMAIL_HEADER", + "LINK_TAG" + ] + }, + "DkimAttributes":{ + "type":"structure", + "members":{ + "SigningEnabled":{ + "shape":"Enabled", + "documentation":"

    If the value is true, then the messages that Amazon Pinpoint sends from the identity are DKIM-signed. If the value is false, then the messages that Amazon Pinpoint sends from the identity aren't DKIM-signed.

    " + }, + "Status":{ + "shape":"DkimStatus", + "documentation":"

    Describes whether or not Amazon Pinpoint has successfully located the DKIM records in the DNS records for the domain. The status can be one of the following:

    • PENDING – Amazon Pinpoint hasn't yet located the DKIM records in the DNS configuration for the domain, but will continue to attempt to locate them.

    • SUCCESS – Amazon Pinpoint located the DKIM records in the DNS configuration for the domain and determined that they're correct. Amazon Pinpoint can now send DKIM-signed email from the identity.

    • FAILED – Amazon Pinpoint was unable to locate the DKIM records in the DNS settings for the domain, and won't continue to search for them.

    • TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon Pinpoint from determining the DKIM status for the domain.

    • NOT_STARTED – Amazon Pinpoint hasn't yet started searching for the DKIM records in the DKIM records for the domain.

    " + }, + "Tokens":{ + "shape":"DnsTokenList", + "documentation":"

    A set of unique strings that you use to create a set of CNAME records that you add to the DNS configuration for your domain. When Amazon Pinpoint detects these records in the DNS configuration for your domain, the DKIM authentication process is complete. Amazon Pinpoint usually detects these records within about 72 hours of adding them to the DNS configuration for your domain.

    " + } + }, + "documentation":"

    An object that contains information about the DKIM configuration for an email identity.

    " + }, + "DkimStatus":{ + "type":"string", + "documentation":"

    The DKIM authentication status of the identity. The status can be one of the following:

    • PENDING – The DKIM verification process was initiated, and Amazon Pinpoint is still waiting for the required CNAME records to appear in the DNS configuration for the domain.

    • SUCCESS – The DKIM authentication process completed successfully.

    • FAILED – The DKIM authentication process failed. This can happen when Amazon Pinpoint fails to find the required CNAME records in the DNS configuration of the domain.

    • TEMPORARY_FAILURE – A temporary issue is preventing Amazon Pinpoint from determining the DKIM authentication status of the domain.

    • NOT_STARTED – The DKIM verification process hasn't been initiated for the domain.

    ", + "enum":[ + "PENDING", + "SUCCESS", + "FAILED", + "TEMPORARY_FAILURE", + "NOT_STARTED" + ] + }, + "DnsToken":{"type":"string"}, + "DnsTokenList":{ + "type":"list", + "member":{"shape":"DnsToken"} + }, + "Domain":{"type":"string"}, + "DomainDeliverabilityCampaign":{ + "type":"structure", + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

    The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this identifier to a campaign. This value is not the same as the campaign identifier that Amazon Pinpoint assigns to campaigns that you create and manage by using the Amazon Pinpoint API or the Amazon Pinpoint console.

    " + }, + "ImageUrl":{ + "shape":"ImageUrl", + "documentation":"

    The URL of an image that contains a snapshot of the email message that was sent.

    " + }, + "Subject":{ + "shape":"Subject", + "documentation":"

    The subject line, or title, of the email message.

    " + }, + "FromAddress":{ + "shape":"Identity", + "documentation":"

    The verified email address that the email message was sent from.

    " + }, + "SendingIps":{ + "shape":"IpList", + "documentation":"

    The IP addresses that were used to send the email message.

    " + }, + "FirstSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

    The first time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

    " + }, + "LastSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

    The last time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

    " + }, + "InboxCount":{ + "shape":"Volume", + "documentation":"

    The number of email messages that were delivered to recipients’ inboxes.

    " + }, + "SpamCount":{ + "shape":"Volume", + "documentation":"

    The number of email messages that were delivered to recipients' spam or junk mail folders.

    " + }, + "ReadRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were opened by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "DeleteRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were deleted by recipients, without being opened first. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "ReadDeleteRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were opened and then deleted by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "ProjectedVolume":{ + "shape":"Volume", + "documentation":"

    The projected number of recipients that the email message was sent to.

    " + }, + "Esps":{ + "shape":"Esps", + "documentation":"

    The major email providers who handled the email message.

    " + } + }, + "documentation":"

    An object that contains the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "DomainDeliverabilityCampaignList":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityCampaign"}, + "documentation":"

    " + }, + "DomainDeliverabilityTrackingOption":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"Domain", + "documentation":"

    A verified domain that’s associated with your AWS account and currently has an active Deliverability dashboard subscription.

    " + }, + "SubscriptionStartDate":{ + "shape":"Timestamp", + "documentation":"

    The date, in Unix time format, when you enabled the Deliverability dashboard for the domain.

    " + }, + "InboxPlacementTrackingOption":{ + "shape":"InboxPlacementTrackingOption", + "documentation":"

    An object that contains information about the inbox placement data settings for the domain.

    " + } + }, + "documentation":"

    An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

    " + }, + "DomainDeliverabilityTrackingOptions":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityTrackingOption"}, + "documentation":"

    An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

    " + }, + "DomainIspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

    The name of the email provider that the inbox placement data applies to.

    " + }, + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

    " + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

    " + }, + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

    " + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

    " + } + }, + "documentation":"

    An object that contains inbox placement data for email sent from one of your email domains to a specific email provider.

    " + }, + "DomainIspPlacements":{ + "type":"list", + "member":{"shape":"DomainIspPlacement"} + }, + "EmailAddress":{"type":"string"}, + "EmailAddressList":{ + "type":"list", + "member":{"shape":"EmailAddress"} + }, + "EmailContent":{ + "type":"structure", + "members":{ + "Simple":{ + "shape":"Message", + "documentation":"

    The simple email message. The message consists of a subject and a message body.

    " + }, + "Raw":{ + "shape":"RawMessage", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • If you include attachments, they must be in a file format that Amazon Pinpoint supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + }, + "Template":{ + "shape":"Template", + "documentation":"

    The template to use for the email message.

    " + } + }, + "documentation":"

    An object that defines the entire content of the email, including the message headers and the body content. You can create a simple email message, in which you specify the subject and the text and HTML versions of the message body. You can also create raw messages, in which you specify a complete MIME-formatted message. Raw messages can include attachments and custom headers.

    " + }, + "Enabled":{"type":"boolean"}, + "Esp":{"type":"string"}, + "Esps":{ + "type":"list", + "member":{"shape":"Esp"} + }, + "EventDestination":{ + "type":"structure", + "required":[ + "Name", + "MatchingEventTypes" + ], + "members":{ + "Name":{ + "shape":"EventDestinationName", + "documentation":"

    A name that identifies the event destination.

    " + }, + "Enabled":{ + "shape":"Enabled", + "documentation":"

    If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

    If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

    " + }, + "MatchingEventTypes":{ + "shape":"EventTypes", + "documentation":"

    The types of events that Amazon Pinpoint sends to the specified event destinations.

    " + }, + "KinesisFirehoseDestination":{ + "shape":"KinesisFirehoseDestination", + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "CloudWatchDestination":{ + "shape":"CloudWatchDestination", + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "SnsDestination":{ + "shape":"SnsDestination", + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "PinpointDestination":{ + "shape":"PinpointDestination", + "documentation":"

    An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments for your campaigns.

    " + } + }, + "documentation":"

    In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "EventDestinationDefinition":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

    If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

    If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

    " + }, + "MatchingEventTypes":{ + "shape":"EventTypes", + "documentation":"

    An array that specifies which events Amazon Pinpoint should send to the destinations in this EventDestinationDefinition.

    " + }, + "KinesisFirehoseDestination":{ + "shape":"KinesisFirehoseDestination", + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "CloudWatchDestination":{ + "shape":"CloudWatchDestination", + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "SnsDestination":{ + "shape":"SnsDestination", + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "PinpointDestination":{ + "shape":"PinpointDestination", + "documentation":"

    An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments for your campaigns.

    " + } + }, + "documentation":"

    An object that defines the event destination. Specifically, it defines which services receive events from emails sent using the configuration set that the event destination is associated with. Also defines the types of events that are sent to the event destination.

    " + }, + "EventDestinationName":{ + "type":"string", + "documentation":"

    The name of an event destination.

    In Amazon Pinpoint, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "EventDestinations":{ + "type":"list", + "member":{"shape":"EventDestination"} + }, + "EventType":{ + "type":"string", + "documentation":"

    An email sending event type. For example, email sends, opens, and bounces are all email events.

    ", + "enum":[ + "SEND", + "REJECT", + "BOUNCE", + "COMPLAINT", + "DELIVERY", + "OPEN", + "CLICK", + "RENDERING_FAILURE" + ] + }, + "EventTypes":{ + "type":"list", + "member":{"shape":"EventType"} + }, + "GeneralEnforcementStatus":{"type":"string"}, + "GetAccountRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A request to obtain information about the email-sending capabilities of your Amazon Pinpoint account.

    " + }, + "GetAccountResponse":{ + "type":"structure", + "members":{ + "SendQuota":{ + "shape":"SendQuota", + "documentation":"

    An object that contains information about the per-day and per-second sending limits for your Amazon Pinpoint account in the current AWS Region.

    " + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not email sending is enabled for your Amazon Pinpoint account in the current AWS Region.

    " + }, + "DedicatedIpAutoWarmupEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.

    " + }, + "EnforcementStatus":{ + "shape":"GeneralEnforcementStatus", + "documentation":"

    The reputation status of your Amazon Pinpoint account. The status can be one of the following:

    • HEALTHY – There are no reputation-related issues that currently impact your account.

    • PROBATION – We've identified some issues with your Amazon Pinpoint account. We're placing your account under review while you work on correcting these issues.

    • SHUTDOWN – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.

    " + }, + "ProductionAccessEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not your account has production access in the current AWS Region.

    If the value is false, then your account is in the sandbox. When your account is in the sandbox, you can only send email to verified identities. Additionally, the maximum number of emails you can send in a 24-hour period (your sending quota) is 200, and the maximum number of emails you can send per second (your maximum sending rate) is 1.

    If the value is true, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.

    " + } + }, + "documentation":"

    A list of details about the email-sending capabilities of your Amazon Pinpoint account in the current AWS Region.

    " + }, + "GetBlacklistReportsRequest":{ + "type":"structure", + "required":["BlacklistItemNames"], + "members":{ + "BlacklistItemNames":{ + "shape":"BlacklistItemNames", + "documentation":"

    A list of IP addresses that you want to retrieve blacklist information about. You can only specify the dedicated IP addresses that you use to send email using Amazon Pinpoint or Amazon SES.

    ", + "location":"querystring", + "locationName":"BlacklistItemNames" + } + }, + "documentation":"

    A request to retrieve a list of the blacklists that your dedicated IP addresses appear on.

    " + }, + "GetBlacklistReportsResponse":{ + "type":"structure", + "required":["BlacklistReport"], + "members":{ + "BlacklistReport":{ + "shape":"BlacklistReport", + "documentation":"

    An object that contains information about a blacklist that one of your dedicated IP addresses appears on.

    " + } + }, + "documentation":"

    An object that contains information about blacklist events.

    " + }, + "GetConfigurationSetEventDestinationsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to obtain information about the event destinations for a configuration set.

    " + }, + "GetConfigurationSetEventDestinationsResponse":{ + "type":"structure", + "members":{ + "EventDestinations":{ + "shape":"EventDestinations", + "documentation":"

    An array that includes all of the events destinations that have been configured for the configuration set.

    " + } + }, + "documentation":"

    Information about an event destination for a configuration set.

    " + }, + "GetConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to obtain more information about.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to obtain information about a configuration set.

    " + }, + "GetConfigurationSetResponse":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set.

    " + }, + "TrackingOptions":{ + "shape":"TrackingOptions", + "documentation":"

    An object that defines the open and click tracking options for emails that you send using the configuration set.

    " + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

    An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.

    " + }, + "ReputationOptions":{ + "shape":"ReputationOptions", + "documentation":"

    An object that defines whether or not Amazon Pinpoint collects reputation metrics for the emails that you send that use the configuration set.

    " + }, + "SendingOptions":{ + "shape":"SendingOptions", + "documentation":"

    An object that defines whether or not Amazon Pinpoint can send email that you send using the configuration set.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the configuration set.

    " + } + }, + "documentation":"

    Information about a configuration set.

    " + }, + "GetDedicatedIpRequest":{ + "type":"structure", + "required":["Ip"], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The IP address that you want to obtain more information about. The value you specify has to be a dedicated IP address that's assocaited with your Amazon Pinpoint account.

    ", + "location":"uri", + "locationName":"IP" + } + }, + "documentation":"

    A request to obtain more information about a dedicated IP address.

    " + }, + "GetDedicatedIpResponse":{ + "type":"structure", + "members":{ + "DedicatedIp":{ + "shape":"DedicatedIp", + "documentation":"

    An object that contains information about a dedicated IP address.

    " + } + }, + "documentation":"

    Information about a dedicated IP address.

    " + }, + "GetDedicatedIpsRequest":{ + "type":"structure", + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the IP pool that the dedicated IP address is associated with.

    ", + "location":"querystring", + "locationName":"PoolName" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain more information about dedicated IP pools.

    " + }, + "GetDedicatedIpsResponse":{ + "type":"structure", + "members":{ + "DedicatedIps":{ + "shape":"DedicatedIpList", + "documentation":"

    A list of dedicated IP addresses that are reserved for use by your Amazon Pinpoint account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional dedicated IP addresses to list. To view additional addresses, issue another request to GetDedicatedIps, passing this token in the NextToken parameter.

    " + } + }, + "documentation":"

    Information about the dedicated IP addresses that are associated with your Amazon Pinpoint account.

    " + }, + "GetDeliverabilityDashboardOptionsRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Retrieve information about the status of the Deliverability dashboard for your Amazon Pinpoint account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "GetDeliverabilityDashboardOptionsResponse":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

    Specifies whether the Deliverability dashboard is enabled for your Amazon Pinpoint account. If this value is true, the dashboard is enabled.

    " + }, + "SubscriptionExpiryDate":{ + "shape":"Timestamp", + "documentation":"

    The date, in Unix time format, when your current subscription to the Deliverability dashboard is scheduled to expire, if your subscription is scheduled to expire at the end of the current calendar month. This value is null if you have an active subscription that isn’t due to expire at the end of the month.

    " + }, + "AccountStatus":{ + "shape":"DeliverabilityDashboardAccountStatus", + "documentation":"

    The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

    " + }, + "ActiveSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at the end of the current calendar month.

    " + }, + "PendingExpirationSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that's scheduled to expire at the end of the current calendar month.

    " + } + }, + "documentation":"

    An object that shows the status of the Deliverability dashboard for your Amazon Pinpoint account.

    " + }, + "GetDeliverabilityTestReportRequest":{ + "type":"structure", + "required":["ReportId"], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    ", + "location":"uri", + "locationName":"ReportId" + } + }, + "documentation":"

    A request to retrieve the results of a predictive inbox placement test.

    " + }, + "GetDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "DeliverabilityTestReport", + "OverallPlacement", + "IspPlacements" + ], + "members":{ + "DeliverabilityTestReport":{ + "shape":"DeliverabilityTestReport", + "documentation":"

    An object that contains the results of the predictive inbox placement test.

    " + }, + "OverallPlacement":{ + "shape":"PlacementStatistics", + "documentation":"

    An object that specifies how many test messages that were sent during the predictive inbox placement test were delivered to recipients' inboxes, how many were sent to recipients' spam folders, and how many weren't delivered.

    " + }, + "IspPlacements":{ + "shape":"IspPlacements", + "documentation":"

    An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.

    " + }, + "Message":{ + "shape":"MessageContent", + "documentation":"

    An object that contains the message that you sent when you performed this predictive inbox placement test.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the predictive inbox placement test.

    " + } + }, + "documentation":"

    The results of the predictive inbox placement test.

    " + }, + "GetDomainDeliverabilityCampaignRequest":{ + "type":"structure", + "required":["CampaignId"], + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

    The unique identifier for the campaign. Amazon Pinpoint automatically generates and assigns this identifier to a campaign. This value is not the same as the campaign identifier that Amazon Pinpoint assigns to campaigns that you create and manage by using the Amazon Pinpoint API or the Amazon Pinpoint console.

    ", + "location":"uri", + "locationName":"CampaignId" + } + }, + "documentation":"

    Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "GetDomainDeliverabilityCampaignResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaign"], + "members":{ + "DomainDeliverabilityCampaign":{ + "shape":"DomainDeliverabilityCampaign", + "documentation":"

    An object that contains the deliverability data for the campaign.

    " + } + }, + "documentation":"

    An object that contains all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "GetDomainStatisticsReportRequest":{ + "type":"structure", + "required":[ + "Domain", + "StartDate", + "EndDate" + ], + "members":{ + "Domain":{ + "shape":"Identity", + "documentation":"

    The domain that you want to obtain deliverability metrics for.

    ", + "location":"uri", + "locationName":"Domain" + }, + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The first day (in Unix time) that you want to obtain domain deliverability metrics for.

    ", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

    The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

    ", + "location":"querystring", + "locationName":"EndDate" + } + }, + "documentation":"

    A request to obtain deliverability metrics for a domain.

    " + }, + "GetDomainStatisticsReportResponse":{ + "type":"structure", + "required":[ + "OverallVolume", + "DailyVolumes" + ], + "members":{ + "OverallVolume":{ + "shape":"OverallVolume", + "documentation":"

    An object that contains deliverability metrics for the domain that you specified. The data in this object is a summary of all of the data that was collected from the StartDate to the EndDate.

    " + }, + "DailyVolumes":{ + "shape":"DailyVolumes", + "documentation":"

    An object that contains deliverability metrics for the domain that you specified. This object contains data for each day, starting on the StartDate and ending on the EndDate.

    " + } + }, + "documentation":"

    An object that includes statistics that are related to the domain that you specified.

    " + }, + "GetEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to retrieve details for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + } + }, + "documentation":"

    A request to return details about an email identity.

    " + }, + "GetEmailIdentityResponse":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type.

    " + }, + "FeedbackForwardingStatus":{ + "shape":"Enabled", + "documentation":"

    The feedback forwarding configuration for the identity.

    If the value is true, Amazon Pinpoint sends you email notifications when bounce or complaint events occur. Amazon Pinpoint sends this notification to the address that you specified in the Return-Path header of the original email.

    When you set this value to false, Amazon Pinpoint sends notifications through other mechanisms, such as by notifying an Amazon SNS topic or another event destination. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email notification when these events occur (even if this setting is disabled).

    " + }, + "VerifiedForSendingStatus":{ + "shape":"Enabled", + "documentation":"

    Specifies whether or not the identity is verified. In Amazon Pinpoint, you can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

    " + }, + "DkimAttributes":{ + "shape":"DkimAttributes", + "documentation":"

    An object that contains information about the DKIM attributes for the identity. This object includes the tokens that you use to create the CNAME records that are required to complete the DKIM verification process.

    " + }, + "MailFromAttributes":{ + "shape":"MailFromAttributes", + "documentation":"

    An object that contains information about the Mail-From attributes for the email identity.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the email identity.

    " + } + }, + "documentation":"

    Details about an email identity.

    " + }, + "Identity":{"type":"string"}, + "IdentityInfo":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type. The identity type can be one of the following:

    • EMAIL_ADDRESS – The identity is an email address.

    • DOMAIN – The identity is a domain.

    • MANAGED_DOMAIN – The identity is a domain that is managed by AWS.

    " + }, + "IdentityName":{ + "shape":"Identity", + "documentation":"

    The address or domain of the identity.

    " + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not you can send email from the identity.

    In Amazon Pinpoint, an identity is an email address or domain that you send email from. Before you can send email from an identity, you have to demostrate that you own the identity, and that you authorize Amazon Pinpoint to send email from that identity.

    " + } + }, + "documentation":"

    Information about an email identity.

    " + }, + "IdentityInfoList":{ + "type":"list", + "member":{"shape":"IdentityInfo"} + }, + "IdentityType":{ + "type":"string", + "documentation":"

    The email identity type. The identity type can be one of the following:

    • EMAIL_ADDRESS – The identity is an email address.

    • DOMAIN – The identity is a domain.

    ", + "enum":[ + "EMAIL_ADDRESS", + "DOMAIN", + "MANAGED_DOMAIN" + ] + }, + "ImageUrl":{"type":"string"}, + "InboxPlacementTrackingOption":{ + "type":"structure", + "members":{ + "Global":{ + "shape":"Enabled", + "documentation":"

    Specifies whether inbox placement data is being tracked for the domain.

    " + }, + "TrackedIsps":{ + "shape":"IspNameList", + "documentation":"

    An array of strings, one for each major email provider that the inbox placement data applies to.

    " + } + }, + "documentation":"

    An object that contains information about the inbox placement data settings for a verified domain that’s associated with your AWS account. This data is available only if you enabled the Deliverability dashboard for the domain (PutDeliverabilityDashboardOption operation).

    " + }, + "Ip":{ + "type":"string", + "documentation":"

    A dedicated IP address that is associated with your Amazon Pinpoint account.

    " + }, + "IpList":{ + "type":"list", + "member":{"shape":"Ip"} + }, + "IspName":{ + "type":"string", + "documentation":"

    The name of an email provider.

    " + }, + "IspNameList":{ + "type":"list", + "member":{"shape":"IspName"} + }, + "IspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

    The name of the email provider that the inbox placement data applies to.

    " + }, + "PlacementStatistics":{ + "shape":"PlacementStatistics", + "documentation":"

    An object that contains inbox placement metrics for a specific email provider.

    " + } + }, + "documentation":"

    An object that describes how email sent during the predictive inbox placement test was handled by a certain email provider.

    " + }, + "IspPlacements":{ + "type":"list", + "member":{"shape":"IspPlacement"} + }, + "KinesisFirehoseDestination":{ + "type":"structure", + "required":[ + "IamRoleArn", + "DeliveryStreamArn" + ], + "members":{ + "IamRoleArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that Amazon Pinpoint uses when sending email events to the Amazon Kinesis Data Firehose stream.

    " + }, + "DeliveryStreamArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that Amazon Pinpoint sends email events to.

    " + } + }, + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "LastFreshStart":{ + "type":"timestamp", + "documentation":"

    The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

    " + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    There are too many instances of the specified resource type.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListConfigurationSetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain a list of configuration sets for your Amazon Pinpoint account in the current AWS Region.

    " + }, + "ListConfigurationSetsResponse":{ + "type":"structure", + "members":{ + "ConfigurationSets":{ + "shape":"ConfigurationSetNameList", + "documentation":"

    An array that contains all of the configuration sets in your Amazon Pinpoint account in the current AWS Region.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListConfigurationSets, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of configuration sets in your Amazon Pinpoint account in the current AWS Region.

    " + }, + "ListDedicatedIpPoolsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain a list of dedicated IP pools.

    " + }, + "ListDedicatedIpPoolsResponse":{ + "type":"structure", + "members":{ + "DedicatedIpPools":{ + "shape":"ListOfDedicatedIpPools", + "documentation":"

    A list of all of the dedicated IP pools that are associated with your Amazon Pinpoint account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional IP pools to list. To view additional IP pools, issue another request to ListDedicatedIpPools, passing this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of dedicated IP pools.

    " + }, + "ListDeliverabilityTestReportsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    The value you specify has to be at least 0, and can be no more than 1000.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to list all of the predictive inbox placement tests that you've performed.

    " + }, + "ListDeliverabilityTestReportsResponse":{ + "type":"structure", + "required":["DeliverabilityTestReports"], + "members":{ + "DeliverabilityTestReports":{ + "shape":"DeliverabilityTestReports", + "documentation":"

    An object that contains a lists of predictive inbox placement tests that you've performed.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional predictive inbox placement tests to list. To view additional predictive inbox placement tests, issue another request to ListDeliverabilityTestReports, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of the predictive inbox placement test reports that are available for your account, regardless of whether or not those tests are complete.

    " + }, + "ListDomainDeliverabilityCampaignsRequest":{ + "type":"structure", + "required":[ + "StartDate", + "EndDate", + "SubscribedDomain" + ], + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The first day, in Unix time format, that you want to obtain deliverability data for.

    ", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

    The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

    ", + "location":"querystring", + "locationName":"EndDate" + }, + "SubscribedDomain":{ + "shape":"Domain", + "documentation":"

    The domain to obtain deliverability data for.

    ", + "location":"uri", + "locationName":"SubscribedDomain" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

    " + }, + "ListDomainDeliverabilityCampaignsResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaigns"], + "members":{ + "DomainDeliverabilityCampaigns":{ + "shape":"DomainDeliverabilityCampaignList", + "documentation":"

    An array of responses, one for each campaign that used the domain to send email during the specified time range.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of the campaign in the list of campaigns.

    " + } + }, + "documentation":"

    An array of objects that provide deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard (PutDeliverabilityDashboardOption operation) for the domain.

    " + }, + "ListEmailIdentitiesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    The value you specify has to be at least 0, and can be no more than 1000.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to list all of the email identities associated with your Amazon Pinpoint account. This list includes identities that you've already verified, identities that are unverified, and identities that were verified in the past, but are no longer verified.

    " + }, + "ListEmailIdentitiesResponse":{ + "type":"structure", + "members":{ + "EmailIdentities":{ + "shape":"IdentityInfoList", + "documentation":"

    An array that includes all of the identities associated with your Amazon Pinpoint account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of all of the identities that you've attempted to verify for use with Amazon Pinpoint, regardless of whether or not those identities were successfully verified.

    " + }, + "ListOfDedicatedIpPools":{ + "type":"list", + "member":{"shape":"PoolName"}, + "documentation":"

    A list of dedicated IP pools that are associated with your Amazon Pinpoint account.

    " + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for.

    ", + "location":"querystring", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    An array that lists all the tags that are associated with the resource. Each tag consists of a required tag key (Key) and an associated tag value (Value)

    " + } + } + }, + "MailFromAttributes":{ + "type":"structure", + "required":[ + "MailFromDomain", + "MailFromDomainStatus", + "BehaviorOnMxFailure" + ], + "members":{ + "MailFromDomain":{ + "shape":"MailFromDomainName", + "documentation":"

    The name of a domain that an email identity uses as a custom MAIL FROM domain.

    " + }, + "MailFromDomainStatus":{ + "shape":"MailFromDomainStatus", + "documentation":"

    The status of the MAIL FROM domain. This status can have the following values:

    • PENDING – Amazon Pinpoint hasn't started searching for the MX record yet.

    • SUCCESS – Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    • FAILED – Amazon Pinpoint can't find the required MX record, or the record no longer exists.

    • TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon Pinpoint from determining the status of the MAIL FROM domain.

    " + }, + "BehaviorOnMxFailure":{ + "shape":"BehaviorOnMxFailure", + "documentation":"

    The action that Amazon Pinpoint to takes if it can't read the required MX record for a custom MAIL FROM domain. When you set this value to UseDefaultValue, Amazon Pinpoint uses amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    " + } + }, + "documentation":"

    A list of attributes that are associated with a MAIL FROM domain.

    " + }, + "MailFromDomainName":{ + "type":"string", + "documentation":"

    The domain that you want to use as a MAIL FROM domain.

    " + }, + "MailFromDomainNotVerifiedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the sending domain isn't verified.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MailFromDomainStatus":{ + "type":"string", + "documentation":"

    The status of the MAIL FROM domain. This status can have the following values:

    • PENDING – Amazon Pinpoint hasn't started searching for the MX record yet.

    • SUCCESS – Amazon Pinpoint detected the required MX record for the MAIL FROM domain.

    • FAILED – Amazon Pinpoint can't find the required MX record, or the record no longer exists.

    • TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon Pinpoint from determining the status of the MAIL FROM domain.

    ", + "enum":[ + "PENDING", + "SUCCESS", + "FAILED", + "TEMPORARY_FAILURE" + ] + }, + "Max24HourSend":{"type":"double"}, + "MaxItems":{"type":"integer"}, + "MaxSendRate":{"type":"double"}, + "Message":{ + "type":"structure", + "required":[ + "Subject", + "Body" + ], + "members":{ + "Subject":{ + "shape":"Content", + "documentation":"

    The subject line of the email. The subject line can only contain 7-bit ASCII characters. However, you can specify non-ASCII characters in the subject line by using encoded-word syntax, as described in RFC 2047.

    " + }, + "Body":{ + "shape":"Body", + "documentation":"

    The body of the message. You can specify an HTML version of the message, a text-only version of the message, or both.

    " + } + }, + "documentation":"

    Represents the email message that you're sending. The Message object consists of a subject line and a message body.

    " + }, + "MessageContent":{ + "type":"string", + "documentation":"

    The body of an email message.

    " + }, + "MessageData":{"type":"string"}, + "MessageRejected":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because it contains invalid content.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MessageTag":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MessageTagName", + "documentation":"

    The name of the message tag. The message tag name has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "Value":{ + "shape":"MessageTagValue", + "documentation":"

    The value of the message tag. The message tag value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + } + }, + "documentation":"

    Contains the name and value of a tag that you apply to an email. You can use message tags when you publish email sending events.

    " + }, + "MessageTagList":{ + "type":"list", + "member":{"shape":"MessageTag"}, + "documentation":"

    A list of message tags.

    " + }, + "MessageTagName":{ + "type":"string", + "documentation":"

    The name of the message tag. The message tag name has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "MessageTagValue":{ + "type":"string", + "documentation":"

    The value of the message tag. The message tag value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource you attempted to access doesn't exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "OutboundMessageId":{"type":"string"}, + "OverallVolume":{ + "type":"structure", + "members":{ + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

    An object that contains information about the numbers of messages that arrived in recipients' inboxes and junk mail folders.

    " + }, + "ReadRatePercent":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were sent from the domain that were read by their recipients.

    " + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

    An object that contains inbox and junk mail placement metrics for individual email providers.

    " + } + }, + "documentation":"

    An object that contains information about email that was sent from the selected domain.

    " + }, + "Percentage":{ + "type":"double", + "documentation":"

    An object that contains information about inbox placement percentages.

    " + }, + "Percentage100Wrapper":{"type":"integer"}, + "PinpointDestination":{ + "type":"structure", + "members":{ + "ApplicationArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you want to send email events to.

    " + } + }, + "documentation":"

    An object that defines a Amazon Pinpoint destination for email events. You can use Amazon Pinpoint events to create attributes in Amazon Pinpoint projects. You can use these attributes to create segments for your campaigns.

    " + }, + "PlacementStatistics":{ + "type":"structure", + "members":{ + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

    " + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that arrived in recipients' spam or junk mail folders during the predictive inbox placement test.

    " + }, + "MissingPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that didn't arrive in recipients' inboxes at all during the predictive inbox placement test.

    " + }, + "SpfPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were authenticated by using Sender Policy Framework (SPF) during the predictive inbox placement test.

    " + }, + "DkimPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were authenticated by using DomainKeys Identified Mail (DKIM) during the predictive inbox placement test.

    " + } + }, + "documentation":"

    An object that contains inbox placement data for an email provider.

    " + }, + "PoolName":{ + "type":"string", + "documentation":"

    The name of a dedicated IP pool.

    " + }, + "PutAccountDedicatedIpWarmupAttributesRequest":{ + "type":"structure", + "members":{ + "AutoWarmupEnabled":{ + "shape":"Enabled", + "documentation":"

    Enables or disables the automatic warm-up feature for dedicated IP addresses that are associated with your Amazon Pinpoint account in the current AWS Region. Set to true to enable the automatic warm-up feature, or set to false to disable it.

    " + } + }, + "documentation":"

    A request to enable or disable the automatic IP address warm-up feature.

    " + }, + "PutAccountDedicatedIpWarmupAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutAccountSendingAttributesRequest":{ + "type":"structure", + "members":{ + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Enables or disables your account's ability to send email. Set to true to enable email sending, or set to false to disable email sending.

    If AWS paused your account's ability to send email, you can't use this operation to resume your account's ability to send email.

    " + } + }, + "documentation":"

    A request to change the ability of your account to send email.

    " + }, + "PutAccountSendingAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetDeliveryOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to associate with a dedicated IP pool.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    " + }, + "SendingPoolName":{ + "shape":"SendingPoolName", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + } + }, + "documentation":"

    A request to associate a configuration set with a dedicated IP pool.

    " + }, + "PutConfigurationSetDeliveryOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetReputationOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to enable or disable reputation metric tracking for.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "ReputationMetricsEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set.

    " + } + }, + "documentation":"

    A request to enable or disable tracking of reputation metrics for a configuration set.

    " + }, + "PutConfigurationSetReputationOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetSendingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to enable or disable email sending for.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set.

    " + } + }, + "documentation":"

    A request to enable or disable the ability of Amazon Pinpoint to send emails that use a specific configuration set.

    " + }, + "PutConfigurationSetSendingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to add a custom tracking domain to.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "CustomRedirectDomain":{ + "shape":"CustomRedirectDomain", + "documentation":"

    The domain that you want to use to track open and click events.

    " + } + }, + "documentation":"

    A request to add a custom domain for tracking open and click events to a configuration set.

    " + }, + "PutConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDedicatedIpInPoolRequest":{ + "type":"structure", + "required":[ + "Ip", + "DestinationPoolName" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The IP address that you want to move to the dedicated IP pool. The value you specify has to be a dedicated IP address that's associated with your Amazon Pinpoint account.

    ", + "location":"uri", + "locationName":"IP" + }, + "DestinationPoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the IP pool that you want to add the dedicated IP address to. You have to specify an IP pool that already exists.

    " + } + }, + "documentation":"

    A request to move a dedicated IP address to a dedicated IP pool.

    " + }, + "PutDedicatedIpInPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDedicatedIpWarmupAttributesRequest":{ + "type":"structure", + "required":[ + "Ip", + "WarmupPercentage" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The dedicated IP address that you want to update the warm-up attributes for.

    ", + "location":"uri", + "locationName":"IP" + }, + "WarmupPercentage":{ + "shape":"Percentage100Wrapper", + "documentation":"

    The warm-up percentage that you want to associate with the dedicated IP address.

    " + } + }, + "documentation":"

    A request to change the warm-up attributes for a dedicated IP address. This operation is useful when you want to resume the warm-up process for an existing IP address.

    " + }, + "PutDedicatedIpWarmupAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDeliverabilityDashboardOptionRequest":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

    Specifies whether to enable the Deliverability dashboard for your Amazon Pinpoint account. To enable the dashboard, set this value to true.

    " + }, + "SubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and enabled the Deliverability dashboard for.

    " + } + }, + "documentation":"

    Enable or disable the Deliverability dashboard for your Amazon Pinpoint account. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon Pinpoint. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon Pinpoint. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "PutDeliverabilityDashboardOptionResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A response that indicates whether the Deliverability dashboard is enabled for your Amazon Pinpoint account.

    " + }, + "PutEmailIdentityDkimAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to change the DKIM settings for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "SigningEnabled":{ + "shape":"Enabled", + "documentation":"

    Sets the DKIM signing configuration for the identity.

    When you set this value true, then the messages that Amazon Pinpoint sends from the identity are DKIM-signed. When you set this value to false, then the messages that Amazon Pinpoint sends from the identity aren't DKIM-signed.

    " + } + }, + "documentation":"

    A request to enable or disable DKIM signing of email that you send from an email identity.

    " + }, + "PutEmailIdentityDkimAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutEmailIdentityFeedbackAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to configure bounce and complaint feedback forwarding for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "EmailForwardingEnabled":{ + "shape":"Enabled", + "documentation":"

    Sets the feedback forwarding configuration for the identity.

    If the value is true, Amazon Pinpoint sends you email notifications when bounce or complaint events occur. Amazon Pinpoint sends this notification to the address that you specified in the Return-Path header of the original email.

    When you set this value to false, Amazon Pinpoint sends notifications through other mechanisms, such as by notifying an Amazon SNS topic or another event destination. You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications, Amazon Pinpoint sends an email notification when these events occur (even if this setting is disabled).

    " + } + }, + "documentation":"

    A request to set the attributes that control how bounce and complaint events are processed.

    " + }, + "PutEmailIdentityFeedbackAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutEmailIdentityMailFromAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The verified email identity that you want to set up the custom MAIL FROM domain for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "MailFromDomain":{ + "shape":"MailFromDomainName", + "documentation":"

    The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:

    • It has to be a subdomain of the verified identity.

    • It can't be used to receive email.

    • It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.

    " + }, + "BehaviorOnMxFailure":{ + "shape":"BehaviorOnMxFailure", + "documentation":"

    The action that you want Amazon Pinpoint to take if it can't read the required MX record when you send an email. When you set this value to UseDefaultValue, Amazon Pinpoint uses amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, Amazon Pinpoint returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    " + } + }, + "documentation":"

    A request to configure the custom MAIL FROM domain for a verified identity.

    " + }, + "PutEmailIdentityMailFromAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "RawMessage":{ + "type":"structure", + "required":["Data"], + "members":{ + "Data":{ + "shape":"RawMessageData", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • Attachments must be in a file format that Amazon Pinpoint supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + } + }, + "documentation":"

    The raw email message.

    " + }, + "RawMessageData":{ + "type":"blob", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • Attachments must be in a file format that Amazon Pinpoint supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + }, + "RblName":{ + "type":"string", + "documentation":"

    The name of a blacklist that an IP address was found on.

    " + }, + "ReportId":{ + "type":"string", + "documentation":"

    A unique string that identifies a Deliverability dashboard report.

    " + }, + "ReportName":{ + "type":"string", + "documentation":"

    A name that helps you identify a report generated by the Deliverability dashboard.

    " + }, + "ReputationOptions":{ + "type":"structure", + "members":{ + "ReputationMetricsEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set.

    " + }, + "LastFreshStart":{ + "shape":"LastFreshStart", + "documentation":"

    The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

    " + } + }, + "documentation":"

    Enable or disable collection of reputation metrics for emails that you send using this configuration set in the current AWS Region.

    " + }, + "SendEmailRequest":{ + "type":"structure", + "required":[ + "Destination", + "Content" + ], + "members":{ + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified.

    " + }, + "Destination":{ + "shape":"Destination", + "documentation":"

    An object that contains the recipients of the email message.

    " + }, + "ReplyToAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.

    " + }, + "FeedbackForwardingEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The address that Amazon Pinpoint should send bounce and complaint notifications to.

    " + }, + "Content":{ + "shape":"EmailContent", + "documentation":"

    An object that contains the body of the message. You can send either a Simple message or a Raw message.

    " + }, + "EmailTags":{ + "shape":"MessageTagList", + "documentation":"

    A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

    " + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to use when sending the email.

    " + } + }, + "documentation":"

    A request to send an email message.

    " + }, + "SendEmailResponse":{ + "type":"structure", + "members":{ + "MessageId":{ + "shape":"OutboundMessageId", + "documentation":"

    A unique identifier for the message that is generated when Amazon Pinpoint accepts the message.

    It is possible for Amazon Pinpoint to accept a message without sending it. This can happen when the message you're trying to send has an attachment doesn't pass a virus check, or when you send a templated email that contains invalid personalization content, for example.

    " + } + }, + "documentation":"

    A unique message ID that you receive when Amazon Pinpoint accepts an email for sending.

    " + }, + "SendQuota":{ + "type":"structure", + "members":{ + "Max24HourSend":{ + "shape":"Max24HourSend", + "documentation":"

    The maximum number of emails that you can send in the current AWS Region over a 24-hour period. This value is also called your sending quota.

    " + }, + "MaxSendRate":{ + "shape":"MaxSendRate", + "documentation":"

    The maximum number of emails that you can send per second in the current AWS Region. This value is also called your maximum sending rate or your maximum TPS (transactions per second) rate.

    " + }, + "SentLast24Hours":{ + "shape":"SentLast24Hours", + "documentation":"

    The number of emails sent from your Amazon Pinpoint account in the current AWS Region over the past 24 hours.

    " + } + }, + "documentation":"

    An object that contains information about the per-day and per-second sending limits for your Amazon Pinpoint account in the current AWS Region.

    " + }, + "SendingOptions":{ + "type":"structure", + "members":{ + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set.

    " + } + }, + "documentation":"

    Used to enable or disable email sending for messages that use this configuration set in the current AWS Region.

    " + }, + "SendingPausedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the account's ability to send email is currently paused.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SendingPoolName":{ + "type":"string", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + }, + "SentLast24Hours":{"type":"double"}, + "SnsDestination":{ + "type":"structure", + "required":["TopicArn"], + "members":{ + "TopicArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish email events to. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + } + }, + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "Subject":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don’t want a resource to have a specific tag value, don’t specify a value for this parameter. Amazon Pinpoint will set the value to an empty string.

    " + } + }, + "documentation":"

    An object that defines the tags that are associated with a resource. A tag is a label that you optionally define and associate with a resource in Amazon Pinpoint. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

    Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

    • Tag keys and values are case sensitive.

    • For each associated resource, each tag key must be unique and it can have only one value.

    • The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys or values that you define. In addition, you can't edit or remove tag keys or values that use this prefix. Tags that use this prefix don’t count against the limit of 50 tags per resource.

    • You can associate tags with public or shared resources, but the tags are available only for your AWS account, not any other accounts that share the resource. In addition, the tags are available only for resources that are located in the specified AWS Region for your AWS account.

    " + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of the tags that you want to add to the resource. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "Template":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

    The Amazon Resource Name (ARN) of the template.

    " + }, + "TemplateData":{ + "shape":"TemplateData", + "documentation":"

    An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

    " + } + } + }, + "TemplateArn":{"type":"string"}, + "TemplateData":{ + "type":"string", + "max":262144 + }, + "Timestamp":{"type":"timestamp"}, + "TlsPolicy":{ + "type":"string", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    ", + "enum":[ + "REQUIRE", + "OPTIONAL" + ] + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Too many requests have been made to the operation.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TrackingOptions":{ + "type":"structure", + "required":["CustomRedirectDomain"], + "members":{ + "CustomRedirectDomain":{ + "shape":"CustomRedirectDomain", + "documentation":"

    The domain that you want to use for tracking open and click events.

    " + } + }, + "documentation":"

    An object that defines the tracking options for a configuration set. When you use Amazon Pinpoint to send an email, it contains an invisible image that's used to track when recipients open your email. If your email contains links, those links are changed slightly in order to track when recipients click them.

    These images and links include references to a domain operated by AWS. You can optionally configure Amazon Pinpoint to use a domain that you operate for these images and links.

    " + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.

    ", + "location":"querystring", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value.

    To remove more than one tag from the resource, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. For example: /v1/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2

    ", + "location":"querystring", + "locationName":"TagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName", + "EventDestination" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination that you want to modify.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    The name of the event destination that you want to modify.

    ", + "location":"uri", + "locationName":"EventDestinationName" + }, + "EventDestination":{ + "shape":"EventDestinationDefinition", + "documentation":"

    An object that defines the event destination.

    " + } + }, + "documentation":"

    A request to change the settings for an event destination for a configuration set.

    " + }, + "UpdateConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "Volume":{ + "type":"long", + "documentation":"

    An object that contains information about inbox placement volume.

    " + }, + "VolumeStatistics":{ + "type":"structure", + "members":{ + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of emails that arrived in recipients' inboxes.

    " + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of emails that arrived in recipients' spam or junk mail folders.

    " + }, + "ProjectedInbox":{ + "shape":"Volume", + "documentation":"

    An estimate of the percentage of emails sent from the current domain that will arrive in recipients' inboxes.

    " + }, + "ProjectedSpam":{ + "shape":"Volume", + "documentation":"

    An estimate of the percentage of emails sent from the current domain that will arrive in recipients' spam or junk mail folders.

    " + } + }, + "documentation":"

    An object that contains information about the amount of email that was delivered to recipients.

    " + }, + "WarmupStatus":{ + "type":"string", + "documentation":"

    The warmup status of a dedicated IP.

    ", + "enum":[ + "IN_PROGRESS", + "DONE" + ] + } + }, + "documentation":"Amazon Pinpoint Email Service

    Welcome to the Amazon Pinpoint Email API Reference. This guide provides information about the Amazon Pinpoint Email API (version 1.0), including supported operations, data types, parameters, and schemas.

    Amazon Pinpoint is an AWS service that you can use to engage with your customers across multiple messaging channels. You can use Amazon Pinpoint to send email, SMS text messages, voice messages, and push notifications. The Amazon Pinpoint Email API provides programmatic access to options that are unique to the email channel and supplement the options provided by the Amazon Pinpoint API.

    If you're new to Amazon Pinpoint, you might find it helpful to also review the Amazon Pinpoint Developer Guide. The Amazon Pinpoint Developer Guide provides tutorials, code samples, and procedures that demonstrate how to use Amazon Pinpoint features programmatically and how to integrate Amazon Pinpoint functionality into mobile apps and other types of applications. The guide also provides information about key topics such as Amazon Pinpoint integration with other AWS services and the limits that apply to using the service.

    The Amazon Pinpoint Email API is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Service Endpoints in the Amazon Web Services General Reference. To learn more about AWS Regions, see Managing AWS Regions in the Amazon Web Services General Reference.

    In each Region, AWS maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see AWS Global Infrastructure.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json python-botocore-1.16.19+repack/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json --- python-botocore-1.4.70/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,677 @@ +{ + "metadata" : { + "apiVersion" : "2018-09-05", + "endpointPrefix" : "sms-voice.pinpoint", + "signingName" : "sms-voice", + "serviceAbbreviation":"Pinpoint SMS Voice", + "serviceFullName" : "Amazon Pinpoint SMS and Voice Service", + "serviceId" : "Pinpoint SMS Voice", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "pinpoint-sms-voice-2018-09-05", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateConfigurationSet" : { + "name" : "CreateConfigurationSet", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetResponse", + "documentation" : "CreateConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new configuration set. After you create the configuration set, you can add one or more event destinations to it." + }, + "CreateConfigurationSetEventDestination" : { + "name" : "CreateConfigurationSetEventDestination", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetEventDestinationResponse", + "documentation" : "CreateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new event destination in a configuration set." + }, + "DeleteConfigurationSet" : { + "name" : "DeleteConfigurationSet", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetResponse", + "documentation" : "DeleteConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an existing configuration set." + }, + "DeleteConfigurationSetEventDestination" : { + "name" : "DeleteConfigurationSetEventDestination", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetEventDestinationResponse", + "documentation" : "DeleteConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an event destination in a configuration set." + }, + "GetConfigurationSetEventDestinations" : { + "name" : "GetConfigurationSetEventDestinations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConfigurationSetEventDestinationsRequest" + }, + "output" : { + "shape" : "GetConfigurationSetEventDestinationsResponse", + "documentation" : "GetConfigurationSetEventDestinationsResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Obtain information about an event destination, including the types of events it reports, the Amazon Resource Name (ARN) of the destination, and the name of the event destination." + }, + "SendVoiceMessage" : { + "name" : "SendVoiceMessage", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/voice/message", + "responseCode" : 200 + }, + "input" : { + "shape" : "SendVoiceMessageRequest" + }, + "output" : { + "shape" : "SendVoiceMessageResponse", + "documentation" : "SendVoiceMessageResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Create a new voice message and send it to a recipient's phone number." + }, + "UpdateConfigurationSetEventDestination" : { + "name" : "UpdateConfigurationSetEventDestination", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "UpdateConfigurationSetEventDestinationResponse", + "documentation" : "UpdateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Update an event destination in a configuration set. An event destination is a location that you publish information about your voice calls to. For example, you can log an event to an Amazon CloudWatch destination when a call fails." + } + }, + "shapes" : { + "AlreadyExistsException" : { + "type" : "structure", + "documentation" : "The resource specified in your request already exists.", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "BadRequestException" : { + "type" : "structure", + "documentation" : "The input you provided is invalid.", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "Boolean" : { + "type" : "boolean" + }, + "CallInstructionsMessageType" : { + "type" : "structure", + "members" : { + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains text formatted using Amazon Pinpoint Voice Instructions markup.", + "required" : [ ] + }, + "CloudWatchLogsDestination" : { + "type" : "structure", + "members" : { + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination." + }, + "LogGroupArn" : { + "shape" : "String", + "documentation" : "The name of the Amazon CloudWatch Log Group that you want to record events in." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon CloudWatch Logs.", + "required" : [ ] + }, + "CreateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "NonEmptyString", + "documentation" : "A name that identifies the event destination." + } + }, + "documentation" : "Create a new event destination in a configuration set.", + "required" : [ "ConfigurationSetName" ] + }, + "CreateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was created successfully." + }, + "CreateConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name that you want to give the configuration set." + } + }, + "documentation" : "A request to create a new configuration set." + }, + "CreateConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was successfully created." + }, + "DeleteConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "DeleteConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was deleted successfully." + }, + "DeleteConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "DeleteConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was deleted successfully." + }, + "EventDestination" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "Name" : { + "shape" : "String", + "documentation" : "A name that identifies the event destination configuration." + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines an event destination." + }, + "EventDestinationDefinition" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines a single event destination.", + "required" : [ ] + }, + "EventDestinations" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventDestination" + } + }, + "EventType" : { + "type" : "string", + "documentation" : "The types of events that are sent to the event destination.", + "enum" : [ "INITIATED_CALL", "RINGING", "ANSWERED", "COMPLETED_CALL", "BUSY", "FAILED", "NO_ANSWER" ] + }, + "EventTypes" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventType" + } + }, + "GetConfigurationSetEventDestinationsRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "GetConfigurationSetEventDestinationsResponse" : { + "type" : "structure", + "members" : { + "EventDestinations" : { + "shape" : "EventDestinations" + } + }, + "documentation" : "An object that contains information about an event destination." + }, + "InternalServiceErrorException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "KinesisFirehoseDestination" : { + "type" : "structure", + "members" : { + "DeliveryStreamArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an IAM role that can write data to an Amazon Kinesis Data Firehose stream." + }, + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose destination that you want to use in the event destination." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose.", + "required" : [ ] + }, + "LimitExceededException" : { + "type" : "structure", + "documentation" : "There are too many instances of the specified resource type.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 412 + } + }, + "NonEmptyString" : { + "type" : "string" + }, + "NotFoundException" : { + "type" : "structure", + "documentation" : "The resource you attempted to access doesn't exist.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 404 + } + }, + "PlainTextMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The plain (not SSML-formatted) text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains unformatted text.", + "required" : [ ] + }, + "SSMLMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The SSML-formatted text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains SSML-formatted text.", + "required" : [ ] + }, + "SendVoiceMessageRequest" : { + "type" : "structure", + "members" : { + "CallerId" : { + "shape" : "String", + "documentation" : "The phone number that appears on recipients' devices when they receive the message." + }, + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name of the configuration set that you want to use to send the message." + }, + "Content" : { + "shape" : "VoiceMessageContent" + }, + "DestinationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that you want to send the voice message to." + }, + "OriginationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can specify a CallerId parameter in the request." + } + }, + "documentation" : "SendVoiceMessageRequest" + }, + "SendVoiceMessageResponse" : { + "type" : "structure", + "members" : { + "MessageId" : { + "shape" : "String", + "documentation" : "A unique identifier for the voice message." + } + }, + "documentation" : "An object that that contains the Message ID of a Voice message that was sent successfully." + }, + "SnsDestination" : { + "type" : "structure", + "members" : { + "TopicArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon SNS.", + "required" : [ ] + }, + "String" : { + "type" : "string" + }, + "TooManyRequestsException" : { + "type" : "structure", + "documentation" : "You've issued too many requests to the resource. Wait a few minutes, and then try again.", + "exception" : true, + "members" : { + "Message" : { + "shape" : "String" + } + }, + "error" : { + "httpStatusCode" : 429 + } + }, + "UpdateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "documentation" : "UpdateConfigurationSetEventDestinationRequest", + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "UpdateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was updated successfully." + }, + "VoiceMessageContent" : { + "type" : "structure", + "members" : { + "CallInstructionsMessage" : { + "shape" : "CallInstructionsMessageType" + }, + "PlainTextMessage" : { + "shape" : "PlainTextMessageType" + }, + "SSMLMessage" : { + "shape" : "SSMLMessageType" + } + }, + "documentation" : "An object that contains a voice message and information about the recipient that you want to send it to." + }, + "WordCharactersWithDelimiters" : { + "type" : "string" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "Pinpoint SMS and Voice Messaging public facing APIs" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/polly/2016-06-10/examples-1.json python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/examples-1.json --- python-botocore-1.4.70/botocore/data/polly/2016-06-10/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,171 @@ +{ + "version": "1.0", + "examples": { + "DeleteLexicon": [ + { + "input": { + "Name": "example" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes a specified pronunciation lexicon stored in an AWS Region.", + "id": "to-delete-a-lexicon-1481922498332", + "title": "To delete a lexicon" + } + ], + "DescribeVoices": [ + { + "input": { + "LanguageCode": "en-GB" + }, + "output": { + "Voices": [ + { + "Gender": "Female", + "Id": "Emma", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Emma" + }, + { + "Gender": "Male", + "Id": "Brian", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Brian" + }, + { + "Gender": "Female", + "Id": "Amy", + "LanguageCode": "en-GB", + "LanguageName": "British English", + "Name": "Amy" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the list of voices that are available for use when requesting speech synthesis. Displayed languages are those within the specified language code. If no language code is specified, voices for all available languages are displayed.", + "id": "to-describe-available-voices-1482180557753", + "title": "To describe available voices" + } + ], + "GetLexicon": [ + { + "input": { + "Name": "" + }, + "output": { + "Lexicon": { + "Content": "\r\n\r\n \r\n W3C\r\n World Wide Web Consortium\r\n \r\n", + "Name": "example" + }, + "LexiconAttributes": { + "Alphabet": "ipa", + "LanguageCode": "en-US", + "LastModified": 1478542980.117, + "LexemesCount": 1, + "LexiconArn": "arn:aws:polly:us-east-1:123456789012:lexicon/example", + "Size": 503 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the content of the specified pronunciation lexicon stored in an AWS Region.", + "id": "to-retrieve-a-lexicon-1481912870836", + "title": "To retrieve a lexicon" + } + ], + "ListLexicons": [ + { + "input": { + }, + "output": { + "Lexicons": [ + { + "Attributes": { + "Alphabet": "ipa", + "LanguageCode": "en-US", + "LastModified": 1478542980.117, + "LexemesCount": 1, + "LexiconArn": "arn:aws:polly:us-east-1:123456789012:lexicon/example", + "Size": 503 + }, + "Name": "example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a list of pronunciation lexicons stored in an AWS Region.", + "id": "to-list-all-lexicons-in-a-region-1481842106487", + "title": "To list all lexicons in a region" + } + ], + "PutLexicon": [ + { + "input": { + "Content": "file://example.pls", + "Name": "W3C" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Stores a pronunciation lexicon in an AWS Region.", + "id": "to-save-a-lexicon-1482272584088", + "title": "To save a lexicon" + } + ], + "SynthesizeSpeech": [ + { + "input": { + "LexiconNames": [ + "example" + ], + "OutputFormat": "mp3", + "SampleRate": "8000", + "Text": "All Gaul is divided into three parts", + "TextType": "text", + "VoiceId": "Joanna" + }, + "output": { + "AudioStream": "TEXT", + "ContentType": "audio/mpeg", + "RequestCharacters": 37 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Synthesizes plain text or SSML into a file of human-like speech.", + "id": "to-synthesize-speech-1482186064046", + "title": "To synthesize speech" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/polly/2016-06-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/polly/2016-06-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,20 @@ +{ + "pagination": { + "DescribeVoices": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Voices" + }, + "ListLexicons": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Lexicons" + }, + "ListSpeechSynthesisTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SynthesisTasks" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/polly/2016-06-10/service-2.json python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/service-2.json --- python-botocore-1.4.70/botocore/data/polly/2016-06-10/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/polly/2016-06-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1077 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-06-10", + "endpointPrefix":"polly", + "protocol":"rest-json", + "serviceFullName":"Amazon Polly", + "serviceId":"Polly", + "signatureVersion":"v4", + "uid":"polly-2016-06-10" + }, + "operations":{ + "DeleteLexicon":{ + "name":"DeleteLexicon", + "http":{ + "method":"DELETE", + "requestUri":"/v1/lexicons/{LexiconName}", + "responseCode":200 + }, + "input":{"shape":"DeleteLexiconInput"}, + "output":{"shape":"DeleteLexiconOutput"}, + "errors":[ + {"shape":"LexiconNotFoundException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Deletes the specified pronunciation lexicon stored in an AWS Region. A lexicon which has been deleted is not available for speech synthesis, nor is it possible to retrieve it using either the GetLexicon or ListLexicon APIs.

    For more information, see Managing Lexicons.

    " + }, + "DescribeVoices":{ + "name":"DescribeVoices", + "http":{ + "method":"GET", + "requestUri":"/v1/voices", + "responseCode":200 + }, + "input":{"shape":"DescribeVoicesInput"}, + "output":{"shape":"DescribeVoicesOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Returns the list of voices that are available for use when requesting speech synthesis. Each voice speaks a specified language, is either male or female, and is identified by an ID, which is the ASCII version of the voice name.

    When synthesizing speech ( SynthesizeSpeech ), you provide the voice ID for the voice you want from the list of voices returned by DescribeVoices.

    For example, you want your news reader application to read news in a specific language, but giving a user the option to choose the voice. Using the DescribeVoices operation you can provide the user with a list of available voices to select from.

    You can optionally specify a language code to filter the available voices. For example, if you specify en-US, the operation returns a list of all available US English voices.

    This operation requires permissions to perform the polly:DescribeVoices action.

    " + }, + "GetLexicon":{ + "name":"GetLexicon", + "http":{ + "method":"GET", + "requestUri":"/v1/lexicons/{LexiconName}", + "responseCode":200 + }, + "input":{"shape":"GetLexiconInput"}, + "output":{"shape":"GetLexiconOutput"}, + "errors":[ + {"shape":"LexiconNotFoundException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Returns the content of the specified pronunciation lexicon stored in an AWS Region. For more information, see Managing Lexicons.

    " + }, + "GetSpeechSynthesisTask":{ + "name":"GetSpeechSynthesisTask", + "http":{ + "method":"GET", + "requestUri":"/v1/synthesisTasks/{TaskId}", + "responseCode":200 + }, + "input":{"shape":"GetSpeechSynthesisTaskInput"}, + "output":{"shape":"GetSpeechSynthesisTaskOutput"}, + "errors":[ + {"shape":"InvalidTaskIdException"}, + {"shape":"ServiceFailureException"}, + {"shape":"SynthesisTaskNotFoundException"} + ], + "documentation":"

    Retrieves a specific SpeechSynthesisTask object based on its TaskID. This object contains information about the given speech synthesis task, including the status of the task, and a link to the S3 bucket containing the output of the task.

    " + }, + "ListLexicons":{ + "name":"ListLexicons", + "http":{ + "method":"GET", + "requestUri":"/v1/lexicons", + "responseCode":200 + }, + "input":{"shape":"ListLexiconsInput"}, + "output":{"shape":"ListLexiconsOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Returns a list of pronunciation lexicons stored in an AWS Region. For more information, see Managing Lexicons.

    " + }, + "ListSpeechSynthesisTasks":{ + "name":"ListSpeechSynthesisTasks", + "http":{ + "method":"GET", + "requestUri":"/v1/synthesisTasks", + "responseCode":200 + }, + "input":{"shape":"ListSpeechSynthesisTasksInput"}, + "output":{"shape":"ListSpeechSynthesisTasksOutput"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Returns a list of SpeechSynthesisTask objects ordered by their creation date. This operation can filter the tasks by their status, for example, allowing users to list only tasks that are completed.

    " + }, + "PutLexicon":{ + "name":"PutLexicon", + "http":{ + "method":"PUT", + "requestUri":"/v1/lexicons/{LexiconName}", + "responseCode":200 + }, + "input":{"shape":"PutLexiconInput"}, + "output":{"shape":"PutLexiconOutput"}, + "errors":[ + {"shape":"InvalidLexiconException"}, + {"shape":"UnsupportedPlsAlphabetException"}, + {"shape":"UnsupportedPlsLanguageException"}, + {"shape":"LexiconSizeExceededException"}, + {"shape":"MaxLexemeLengthExceededException"}, + {"shape":"MaxLexiconsNumberExceededException"}, + {"shape":"ServiceFailureException"} + ], + "documentation":"

    Stores a pronunciation lexicon in an AWS Region. If a lexicon with the same name already exists in the region, it is overwritten by the new lexicon. Lexicon operations have eventual consistency, therefore, it might take some time before the lexicon is available to the SynthesizeSpeech operation.

    For more information, see Managing Lexicons.

    " + }, + "StartSpeechSynthesisTask":{ + "name":"StartSpeechSynthesisTask", + "http":{ + "method":"POST", + "requestUri":"/v1/synthesisTasks", + "responseCode":200 + }, + "input":{"shape":"StartSpeechSynthesisTaskInput"}, + "output":{"shape":"StartSpeechSynthesisTaskOutput"}, + "errors":[ + {"shape":"TextLengthExceededException"}, + {"shape":"InvalidS3BucketException"}, + {"shape":"InvalidS3KeyException"}, + {"shape":"InvalidSampleRateException"}, + {"shape":"InvalidSnsTopicArnException"}, + {"shape":"InvalidSsmlException"}, + {"shape":"EngineNotSupportedException"}, + {"shape":"LexiconNotFoundException"}, + {"shape":"ServiceFailureException"}, + {"shape":"MarksNotSupportedForFormatException"}, + {"shape":"SsmlMarksNotSupportedForTextTypeException"}, + {"shape":"LanguageNotSupportedException"} + ], + "documentation":"

    Allows the creation of an asynchronous synthesis task, by starting a new SpeechSynthesisTask. This operation requires all the standard information needed for speech synthesis, plus the name of an Amazon S3 bucket for the service to store the output of the synthesis task and two optional parameters (OutputS3KeyPrefix and SnsTopicArn). Once the synthesis task is created, this operation will return a SpeechSynthesisTask object, which will include an identifier of this task as well as the current status.

    " + }, + "SynthesizeSpeech":{ + "name":"SynthesizeSpeech", + "http":{ + "method":"POST", + "requestUri":"/v1/speech", + "responseCode":200 + }, + "input":{"shape":"SynthesizeSpeechInput"}, + "output":{"shape":"SynthesizeSpeechOutput"}, + "errors":[ + {"shape":"TextLengthExceededException"}, + {"shape":"InvalidSampleRateException"}, + {"shape":"InvalidSsmlException"}, + {"shape":"LexiconNotFoundException"}, + {"shape":"ServiceFailureException"}, + {"shape":"MarksNotSupportedForFormatException"}, + {"shape":"SsmlMarksNotSupportedForTextTypeException"}, + {"shape":"LanguageNotSupportedException"}, + {"shape":"EngineNotSupportedException"} + ], + "documentation":"

    Synthesizes UTF-8 input, plain text or SSML, to a stream of bytes. SSML input must be valid, well-formed SSML. Some alphabets might not be available with all the voices (for example, Cyrillic might not be read at all by English voices) unless phoneme mapping is used. For more information, see How it Works.

    " + } + }, + "shapes":{ + "Alphabet":{"type":"string"}, + "AudioStream":{ + "type":"blob", + "streaming":true + }, + "ContentType":{"type":"string"}, + "DateTime":{"type":"timestamp"}, + "DeleteLexiconInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LexiconName", + "documentation":"

    The name of the lexicon to delete. Must be an existing lexicon in the region.

    ", + "location":"uri", + "locationName":"LexiconName" + } + } + }, + "DeleteLexiconOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeVoicesInput":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"Engine", + "documentation":"

    Specifies the engine (standard or neural) used by Amazon Polly when processing input text for speech synthesis.

    ", + "location":"querystring", + "locationName":"Engine" + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language identification tag (ISO 639 code for the language name-ISO 3166 country code) for filtering the list of voices returned. If you don't specify this optional parameter, all available voices are returned.

    ", + "location":"querystring", + "locationName":"LanguageCode" + }, + "IncludeAdditionalLanguageCodes":{ + "shape":"IncludeAdditionalLanguageCodes", + "documentation":"

    Boolean value indicating whether to return any bilingual voices that use the specified language as an additional language. For instance, if you request all languages that use US English (es-US), and there is an Italian voice that speaks both Italian (it-IT) and US English, that voice will be included if you specify yes but not if you specify no.

    ", + "location":"querystring", + "locationName":"IncludeAdditionalLanguageCodes" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    An opaque pagination token returned from the previous DescribeVoices operation. If present, this indicates where to continue the listing.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "DescribeVoicesOutput":{ + "type":"structure", + "members":{ + "Voices":{ + "shape":"VoiceList", + "documentation":"

    A list of voices with their properties.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use in the next request to continue the listing of voices. NextToken is returned only if the response is truncated.

    " + } + } + }, + "Engine":{ + "type":"string", + "enum":[ + "standard", + "neural" + ] + }, + "EngineList":{ + "type":"list", + "member":{"shape":"Engine"} + }, + "EngineNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    This engine is not compatible with the voice that you have designated. Choose a new voice that is compatible with the engine or change the engine and restart the operation.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "Gender":{ + "type":"string", + "enum":[ + "Female", + "Male" + ] + }, + "GetLexiconInput":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LexiconName", + "documentation":"

    Name of the lexicon.

    ", + "location":"uri", + "locationName":"LexiconName" + } + } + }, + "GetLexiconOutput":{ + "type":"structure", + "members":{ + "Lexicon":{ + "shape":"Lexicon", + "documentation":"

    Lexicon object that provides name and the string content of the lexicon.

    " + }, + "LexiconAttributes":{ + "shape":"LexiconAttributes", + "documentation":"

    Metadata of the lexicon, including phonetic alphabetic used, language code, lexicon ARN, number of lexemes defined in the lexicon, and size of lexicon in bytes.

    " + } + } + }, + "GetSpeechSynthesisTaskInput":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{ + "shape":"TaskId", + "documentation":"

    The Amazon Polly generated identifier for a speech synthesis task.

    ", + "location":"uri", + "locationName":"TaskId" + } + } + }, + "GetSpeechSynthesisTaskOutput":{ + "type":"structure", + "members":{ + "SynthesisTask":{ + "shape":"SynthesisTask", + "documentation":"

    SynthesisTask object that provides information from the requested task, including output format, creation time, task status, and so on.

    " + } + } + }, + "IncludeAdditionalLanguageCodes":{"type":"boolean"}, + "InvalidLexiconException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Amazon Polly can't find the specified lexicon. Verify that the lexicon's name is spelled correctly, and then try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The NextToken is invalid. Verify that it's spelled correctly, and then try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidS3BucketException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided Amazon S3 bucket name is invalid. Please check your input with S3 bucket naming requirements and try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidS3KeyException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided Amazon S3 key prefix is invalid. Please provide a valid S3 object key name.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidSampleRateException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified sample rate is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidSnsTopicArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided SNS topic ARN is invalid. Please provide a valid SNS topic ARN and try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidSsmlException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The SSML you provided is invalid. Verify the SSML syntax, spelling of tags and values, and then try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidTaskIdException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided Task ID is not valid. Please provide a valid Task ID and try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LanguageCode":{ + "type":"string", + "enum":[ + "arb", + "cmn-CN", + "cy-GB", + "da-DK", + "de-DE", + "en-AU", + "en-GB", + "en-GB-WLS", + "en-IN", + "en-US", + "es-ES", + "es-MX", + "es-US", + "fr-CA", + "fr-FR", + "is-IS", + "it-IT", + "ja-JP", + "hi-IN", + "ko-KR", + "nb-NO", + "nl-NL", + "pl-PL", + "pt-BR", + "pt-PT", + "ro-RO", + "ru-RU", + "sv-SE", + "tr-TR" + ] + }, + "LanguageCodeList":{ + "type":"list", + "member":{"shape":"LanguageCode"} + }, + "LanguageName":{"type":"string"}, + "LanguageNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The language specified is not currently supported by Amazon Polly in this capacity.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LastModified":{"type":"timestamp"}, + "LexemesCount":{"type":"integer"}, + "Lexicon":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"LexiconContent", + "documentation":"

    Lexicon content in string format. The content of a lexicon must be in PLS format.

    " + }, + "Name":{ + "shape":"LexiconName", + "documentation":"

    Name of the lexicon.

    " + } + }, + "documentation":"

    Provides lexicon name and lexicon content in string format. For more information, see Pronunciation Lexicon Specification (PLS) Version 1.0.

    " + }, + "LexiconArn":{"type":"string"}, + "LexiconAttributes":{ + "type":"structure", + "members":{ + "Alphabet":{ + "shape":"Alphabet", + "documentation":"

    Phonetic alphabet used in the lexicon. Valid values are ipa and x-sampa.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    Language code that the lexicon applies to. A lexicon with a language code such as \"en\" would be applied to all English languages (en-GB, en-US, en-AUS, en-WLS, and so on.

    " + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

    Date lexicon was last modified (a timestamp value).

    " + }, + "LexiconArn":{ + "shape":"LexiconArn", + "documentation":"

    Amazon Resource Name (ARN) of the lexicon.

    " + }, + "LexemesCount":{ + "shape":"LexemesCount", + "documentation":"

    Number of lexemes in the lexicon.

    " + }, + "Size":{ + "shape":"Size", + "documentation":"

    Total size of the lexicon, in characters.

    " + } + }, + "documentation":"

    Contains metadata describing the lexicon such as the number of lexemes, language code, and so on. For more information, see Managing Lexicons.

    " + }, + "LexiconContent":{"type":"string"}, + "LexiconDescription":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"LexiconName", + "documentation":"

    Name of the lexicon.

    " + }, + "Attributes":{ + "shape":"LexiconAttributes", + "documentation":"

    Provides lexicon metadata.

    " + } + }, + "documentation":"

    Describes the content of the lexicon.

    " + }, + "LexiconDescriptionList":{ + "type":"list", + "member":{"shape":"LexiconDescription"} + }, + "LexiconName":{ + "type":"string", + "pattern":"[0-9A-Za-z]{1,20}", + "sensitive":true + }, + "LexiconNameList":{ + "type":"list", + "member":{"shape":"LexiconName"}, + "max":5 + }, + "LexiconNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Amazon Polly can't find the specified lexicon. This could be caused by a lexicon that is missing, its name is misspelled or specifying a lexicon that is in a different region.

    Verify that the lexicon exists, is in the region (see ListLexicons) and that you spelled its name is spelled correctly. Then try again.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "LexiconSizeExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum size of the specified lexicon would be exceeded by this operation.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListLexiconsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    An opaque pagination token returned from previous ListLexicons operation. If present, indicates where to continue the list of lexicons.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListLexiconsOutput":{ + "type":"structure", + "members":{ + "Lexicons":{ + "shape":"LexiconDescriptionList", + "documentation":"

    A list of lexicon names and attributes.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use in the next request to continue the listing of lexicons. NextToken is returned only if the response is truncated.

    " + } + } + }, + "ListSpeechSynthesisTasksInput":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of speech synthesis tasks returned in a List operation.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use in the next request to continue the listing of speech synthesis tasks.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "Status":{ + "shape":"TaskStatus", + "documentation":"

    Status of the speech synthesis tasks returned in a List operation

    ", + "location":"querystring", + "locationName":"Status" + } + } + }, + "ListSpeechSynthesisTasksOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    An opaque pagination token returned from the previous List operation in this request. If present, this indicates where to continue the listing.

    " + }, + "SynthesisTasks":{ + "shape":"SynthesisTasks", + "documentation":"

    List of SynthesisTask objects that provides information from the specified task in the list request, including output format, creation time, task status, and so on.

    " + } + } + }, + "MarksNotSupportedForFormatException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Speech marks are not supported for the OutputFormat selected. Speech marks are only available for content in json format.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MaxLexemeLengthExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum size of the lexeme would be exceeded by this operation.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MaxLexiconsNumberExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum number of lexicons would be exceeded by this operation.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":4096, + "min":0 + }, + "OutputFormat":{ + "type":"string", + "enum":[ + "json", + "mp3", + "ogg_vorbis", + "pcm" + ] + }, + "OutputS3BucketName":{ + "type":"string", + "pattern":"^[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]$" + }, + "OutputS3KeyPrefix":{ + "type":"string", + "pattern":"^[0-9a-zA-Z\\/\\!\\-_\\.\\*\\'\\(\\)]{0,800}$" + }, + "OutputUri":{"type":"string"}, + "PutLexiconInput":{ + "type":"structure", + "required":[ + "Name", + "Content" + ], + "members":{ + "Name":{ + "shape":"LexiconName", + "documentation":"

    Name of the lexicon. The name must follow the regular express format [0-9A-Za-z]{1,20}. That is, the name is a case-sensitive alphanumeric string up to 20 characters long.

    ", + "location":"uri", + "locationName":"LexiconName" + }, + "Content":{ + "shape":"LexiconContent", + "documentation":"

    Content of the PLS lexicon as string data.

    " + } + } + }, + "PutLexiconOutput":{ + "type":"structure", + "members":{ + } + }, + "RequestCharacters":{"type":"integer"}, + "SampleRate":{"type":"string"}, + "ServiceFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An unknown condition has caused a service failure.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Size":{"type":"integer"}, + "SnsTopicArn":{ + "type":"string", + "pattern":"^arn:aws(-(cn|iso(-b)?|us-gov))?:sns:[a-z0-9_-]{1,50}:\\d{12}:[a-zA-Z0-9_-]{1,256}$" + }, + "SpeechMarkType":{ + "type":"string", + "enum":[ + "sentence", + "ssml", + "viseme", + "word" + ] + }, + "SpeechMarkTypeList":{ + "type":"list", + "member":{"shape":"SpeechMarkType"}, + "max":4 + }, + "SsmlMarksNotSupportedForTextTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    SSML speech marks are not supported for plain text-type input.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "StartSpeechSynthesisTaskInput":{ + "type":"structure", + "required":[ + "OutputFormat", + "OutputS3BucketName", + "Text", + "VoiceId" + ], + "members":{ + "Engine":{ + "shape":"Engine", + "documentation":"

    Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    Optional language code for the Speech Synthesis request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

    If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

    " + }, + "LexiconNames":{ + "shape":"LexiconNameList", + "documentation":"

    List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice.

    " + }, + "OutputFormat":{ + "shape":"OutputFormat", + "documentation":"

    The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    " + }, + "OutputS3BucketName":{ + "shape":"OutputS3BucketName", + "documentation":"

    Amazon S3 bucket name to which the output file will be saved.

    " + }, + "OutputS3KeyPrefix":{ + "shape":"OutputS3KeyPrefix", + "documentation":"

    The Amazon S3 key prefix for the output speech file.

    " + }, + "SampleRate":{ + "shape":"SampleRate", + "documentation":"

    The audio frequency specified in Hz.

    The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", \"22050\", and \"24000\". The default value for standard voices is \"22050\". The default value for neural voices is \"24000\".

    Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\".

    " + }, + "SnsTopicArn":{ + "shape":"SnsTopicArn", + "documentation":"

    ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

    " + }, + "SpeechMarkTypes":{ + "shape":"SpeechMarkTypeList", + "documentation":"

    The type of speech marks returned for the input text.

    " + }, + "Text":{ + "shape":"Text", + "documentation":"

    The input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

    " + }, + "TextType":{ + "shape":"TextType", + "documentation":"

    Specifies whether the input text is plain text or SSML. The default value is plain text.

    " + }, + "VoiceId":{ + "shape":"VoiceId", + "documentation":"

    Voice ID to use for the synthesis.

    " + } + } + }, + "StartSpeechSynthesisTaskOutput":{ + "type":"structure", + "members":{ + "SynthesisTask":{ + "shape":"SynthesisTask", + "documentation":"

    SynthesisTask object that provides information and attributes about a newly submitted speech synthesis task.

    " + } + } + }, + "SynthesisTask":{ + "type":"structure", + "members":{ + "Engine":{ + "shape":"Engine", + "documentation":"

    Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

    " + }, + "TaskId":{ + "shape":"TaskId", + "documentation":"

    The Amazon Polly generated identifier for a speech synthesis task.

    " + }, + "TaskStatus":{ + "shape":"TaskStatus", + "documentation":"

    Current status of the individual speech synthesis task.

    " + }, + "TaskStatusReason":{ + "shape":"TaskStatusReason", + "documentation":"

    Reason for the current status of a specific speech synthesis task, including errors if the task has failed.

    " + }, + "OutputUri":{ + "shape":"OutputUri", + "documentation":"

    Pathway for the output speech file.

    " + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

    Timestamp for the time the synthesis task was started.

    " + }, + "RequestCharacters":{ + "shape":"RequestCharacters", + "documentation":"

    Number of billable characters synthesized.

    " + }, + "SnsTopicArn":{ + "shape":"SnsTopicArn", + "documentation":"

    ARN for the SNS topic optionally used for providing status notification for a speech synthesis task.

    " + }, + "LexiconNames":{ + "shape":"LexiconNameList", + "documentation":"

    List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice.

    " + }, + "OutputFormat":{ + "shape":"OutputFormat", + "documentation":"

    The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    " + }, + "SampleRate":{ + "shape":"SampleRate", + "documentation":"

    The audio frequency specified in Hz.

    The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", \"22050\", and \"24000\". The default value for standard voices is \"22050\". The default value for neural voices is \"24000\".

    Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\".

    " + }, + "SpeechMarkTypes":{ + "shape":"SpeechMarkTypeList", + "documentation":"

    The type of speech marks returned for the input text.

    " + }, + "TextType":{ + "shape":"TextType", + "documentation":"

    Specifies whether the input text is plain text or SSML. The default value is plain text.

    " + }, + "VoiceId":{ + "shape":"VoiceId", + "documentation":"

    Voice ID to use for the synthesis.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    Optional language code for a synthesis task. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

    If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

    " + } + }, + "documentation":"

    SynthesisTask object that provides information about a speech synthesis task.

    " + }, + "SynthesisTaskNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The Speech Synthesis task with requested Task ID cannot be found.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SynthesisTasks":{ + "type":"list", + "member":{"shape":"SynthesisTask"} + }, + "SynthesizeSpeechInput":{ + "type":"structure", + "required":[ + "OutputFormat", + "Text", + "VoiceId" + ], + "members":{ + "Engine":{ + "shape":"Engine", + "documentation":"

    Specifies the engine (standard or neural) for Amazon Polly to use when processing input text for speech synthesis. Using a voice that is not supported for the engine selected will result in an error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    Optional language code for the Synthesize Speech request. This is only necessary if using a bilingual voice, such as Aditi, which can be used for either Indian English (en-IN) or Hindi (hi-IN).

    If a bilingual voice is used and no language code is specified, Amazon Polly will use the default language of the bilingual voice. The default language for any voice is the one returned by the DescribeVoices operation for the LanguageCode parameter. For example, if no language code is specified, Aditi will use Indian English rather than Hindi.

    " + }, + "LexiconNames":{ + "shape":"LexiconNameList", + "documentation":"

    List of one or more pronunciation lexicon names you want the service to apply during synthesis. Lexicons are applied only if the language of the lexicon is the same as the language of the voice. For information about storing lexicons, see PutLexicon.

    " + }, + "OutputFormat":{ + "shape":"OutputFormat", + "documentation":"

    The format in which the returned output will be encoded. For audio stream, this will be mp3, ogg_vorbis, or pcm. For speech marks, this will be json.

    When pcm is used, the content returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

    " + }, + "SampleRate":{ + "shape":"SampleRate", + "documentation":"

    The audio frequency specified in Hz.

    The valid values for mp3 and ogg_vorbis are \"8000\", \"16000\", \"22050\", and \"24000\". The default value for standard voices is \"22050\". The default value for neural voices is \"24000\".

    Valid values for pcm are \"8000\" and \"16000\" The default value is \"16000\".

    " + }, + "SpeechMarkTypes":{ + "shape":"SpeechMarkTypeList", + "documentation":"

    The type of speech marks returned for the input text.

    " + }, + "Text":{ + "shape":"Text", + "documentation":"

    Input text to synthesize. If you specify ssml as the TextType, follow the SSML format for the input text.

    " + }, + "TextType":{ + "shape":"TextType", + "documentation":"

    Specifies whether the input text is plain text or SSML. The default value is plain text. For more information, see Using SSML.

    " + }, + "VoiceId":{ + "shape":"VoiceId", + "documentation":"

    Voice ID to use for the synthesis. You can get a list of available voice IDs by calling the DescribeVoices operation.

    " + } + } + }, + "SynthesizeSpeechOutput":{ + "type":"structure", + "members":{ + "AudioStream":{ + "shape":"AudioStream", + "documentation":"

    Stream containing the synthesized speech.

    " + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

    Specifies the type audio stream. This should reflect the OutputFormat parameter in your request.

    • If you request mp3 as the OutputFormat, the ContentType returned is audio/mpeg.

    • If you request ogg_vorbis as the OutputFormat, the ContentType returned is audio/ogg.

    • If you request pcm as the OutputFormat, the ContentType returned is audio/pcm in a signed 16-bit, 1 channel (mono), little-endian format.

    • If you request json as the OutputFormat, the ContentType returned is audio/json.

    ", + "location":"header", + "locationName":"Content-Type" + }, + "RequestCharacters":{ + "shape":"RequestCharacters", + "documentation":"

    Number of characters synthesized.

    ", + "location":"header", + "locationName":"x-amzn-RequestCharacters" + } + }, + "payload":"AudioStream" + }, + "TaskId":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_-]{1,100}$" + }, + "TaskStatus":{ + "type":"string", + "enum":[ + "scheduled", + "inProgress", + "completed", + "failed" + ] + }, + "TaskStatusReason":{"type":"string"}, + "Text":{"type":"string"}, + "TextLengthExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The value of the \"Text\" parameter is longer than the accepted limits. For the SynthesizeSpeech API, the limit for input text is a maximum of 6000 characters total, of which no more than 3000 can be billed characters. For the StartSpeechSynthesisTask API, the maximum is 200,000 characters, of which no more than 100,000 can be billed characters. SSML tags are not counted as billed characters.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TextType":{ + "type":"string", + "enum":[ + "ssml", + "text" + ] + }, + "UnsupportedPlsAlphabetException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The alphabet specified by the lexicon is not a supported alphabet. Valid values are x-sampa and ipa.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UnsupportedPlsLanguageException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The language specified in the lexicon is unsupported. For a list of supported languages, see Lexicon Attributes.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Voice":{ + "type":"structure", + "members":{ + "Gender":{ + "shape":"Gender", + "documentation":"

    Gender of the voice.

    " + }, + "Id":{ + "shape":"VoiceId", + "documentation":"

    Amazon Polly assigned voice ID. This is the ID that you specify when calling the SynthesizeSpeech operation.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    Language code of the voice.

    " + }, + "LanguageName":{ + "shape":"LanguageName", + "documentation":"

    Human readable name of the language in English.

    " + }, + "Name":{ + "shape":"VoiceName", + "documentation":"

    Name of the voice (for example, Salli, Kendra, etc.). This provides a human readable voice name that you might display in your application.

    " + }, + "AdditionalLanguageCodes":{ + "shape":"LanguageCodeList", + "documentation":"

    Additional codes for languages available for the specified voice in addition to its default language.

    For example, the default language for Aditi is Indian English (en-IN) because it was first used for that language. Since Aditi is bilingual and fluent in both Indian English and Hindi, this parameter would show the code hi-IN.

    " + }, + "SupportedEngines":{ + "shape":"EngineList", + "documentation":"

    Specifies which engines (standard or neural) that are supported by a given voice.

    " + } + }, + "documentation":"

    Description of the voice.

    " + }, + "VoiceId":{ + "type":"string", + "enum":[ + "Aditi", + "Amy", + "Astrid", + "Bianca", + "Brian", + "Camila", + "Carla", + "Carmen", + "Celine", + "Chantal", + "Conchita", + "Cristiano", + "Dora", + "Emma", + "Enrique", + "Ewa", + "Filiz", + "Geraint", + "Giorgio", + "Gwyneth", + "Hans", + "Ines", + "Ivy", + "Jacek", + "Jan", + "Joanna", + "Joey", + "Justin", + "Karl", + "Kendra", + "Kimberly", + "Lea", + "Liv", + "Lotte", + "Lucia", + "Lupe", + "Mads", + "Maja", + "Marlene", + "Mathieu", + "Matthew", + "Maxim", + "Mia", + "Miguel", + "Mizuki", + "Naja", + "Nicole", + "Penelope", + "Raveena", + "Ricardo", + "Ruben", + "Russell", + "Salli", + "Seoyeon", + "Takumi", + "Tatyana", + "Vicki", + "Vitoria", + "Zeina", + "Zhiyu" + ] + }, + "VoiceList":{ + "type":"list", + "member":{"shape":"Voice"} + }, + "VoiceName":{"type":"string"} + }, + "documentation":"

    Amazon Polly is a web service that makes it easy to synthesize speech from text.

    The Amazon Polly service provides API operations for synthesizing high-quality speech from plain text and Speech Synthesis Markup Language (SSML), along with managing pronunciations lexicons that enable you to get the best results for your application domain.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/pricing/2017-10-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/examples-1.json --- python-botocore-1.4.70/botocore/data/pricing/2017-10-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,103 @@ +{ + "version": "1.0", + "examples": { + "DescribeServices": [ + { + "input": { + "FormatVersion": "aws_v1", + "MaxResults": 1, + "ServiceCode": "AmazonEC2" + }, + "output": { + "FormatVersion": "aws_v1", + "NextToken": "abcdefg123", + "Services": [ + { + "AttributeNames": [ + "volumeType", + "maxIopsvolume", + "instanceCapacity10xlarge", + "locationType", + "operation" + ], + "ServiceCode": "AmazonEC2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "id": "to-retrieve-service-metadata", + "title": "To retrieve a list of services and service codes" + } + ], + "GetAttributeValues": [ + { + "input": { + "AttributeName": "volumeType", + "MaxResults": 2, + "ServiceCode": "AmazonEC2" + }, + "output": { + "AttributeValues": [ + { + "Value": "Throughput Optimized HDD" + }, + { + "Value": "Provisioned IOPS" + } + ], + "NextToken": "GpgauEXAMPLEezucl5LV0w==:7GzYJ0nw0DBTJ2J66EoTIIynE6O1uXwQtTRqioJzQadBnDVgHPzI1en4BUQnPCLpzeBk9RQQAWaFieA4+DapFAGLgk+Z/9/cTw9GldnPOHN98+FdmJP7wKU3QQpQ8MQr5KOeBkIsAqvAQYdL0DkL7tHwPtE5iCEByAmg9gcC/yBU1vAOsf7R3VaNN4M5jMDv3woSWqASSIlBVB6tgW78YL22KhssoItM/jWW+aP6Jqtq4mldxp/ct6DWAl+xLFwHU/CbketimPPXyqHF3/UXDw==" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation returns a list of values available for the given attribute.", + "id": "to-retreive-attribute-values", + "title": "To retrieve a list of attribute values" + } + ], + "GetProducts": [ + { + "input": { + "Filters": [ + { + "Field": "ServiceCode", + "Type": "TERM_MATCH", + "Value": "AmazonEC2" + }, + { + "Field": "volumeType", + "Type": "TERM_MATCH", + "Value": "Provisioned IOPS" + } + ], + "FormatVersion": "aws_v1", + "MaxResults": 1 + }, + "output": { + "FormatVersion": "aws_v1", + "NextToken": "57r3EXAMPLEujbzWfHF7Ciw==:ywSmZsD3mtpQmQLQ5XfOsIMkYybSj+vAT+kGmwMFq+K9DGmIoJkz7lunVeamiOPgthdWSO2a7YKojCO+zY4dJmuNl2QvbNhXs+AJ2Ufn7xGmJncNI2TsEuAsVCUfTAvAQNcwwamtk6XuZ4YdNnooV62FjkV3ZAn40d9+wAxV7+FImvhUHi/+f8afgZdGh2zPUlH8jlV9uUtj0oHp8+DhPUuHXh+WBII1E/aoKpPSm3c=", + "PriceList": [ + "{\"product\":{\"productFamily\":\"Storage\",\"attributes\":{\"storageMedia\":\"SSD-backed\",\"maxThroughputvolume\":\"320 MB/sec\",\"volumeType\":\"Provisioned IOPS\",\"maxIopsvolume\":\"20000\",\"servicecode\":\"AmazonEC2\",\"usagetype\":\"CAN1-EBS:VolumeUsage.piops\",\"locationType\":\"AWS Region\",\"location\":\"Canada (Central)\",\"servicename\":\"Amazon Elastic Compute Cloud\",\"maxVolumeSize\":\"16 TiB\",\"operation\":\"\"},\"sku\":\"WQGC34PB2AWS8R4U\"},\"serviceCode\":\"AmazonEC2\",\"terms\":{\"OnDemand\":{\"WQGC34PB2AWS8R4U.JRTCKXETXF\":{\"priceDimensions\":{\"WQGC34PB2AWS8R4U.JRTCKXETXF.6YS6EN2CT7\":{\"unit\":\"GB-Mo\",\"endRange\":\"Inf\",\"description\":\"$0.138 per GB-month of Provisioned IOPS SSD (io1) provisioned storage - Canada (Central)\",\"appliesTo\":[],\"rateCode\":\"WQGC34PB2AWS8R4U.JRTCKXETXF.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.1380000000\"}}},\"sku\":\"WQGC34PB2AWS8R4U\",\"effectiveDate\":\"2017-08-01T00:00:00Z\",\"offerTermCode\":\"JRTCKXETXF\",\"termAttributes\":{}}}},\"version\":\"20170901182201\",\"publicationDate\":\"2017-09-01T18:22:01Z\"}" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation returns a list of products that match the given criteria.", + "id": "to-retrieve-available products", + "title": "To retrieve a list of products" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/pricing/2017-10-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/pricing/2017-10-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,24 @@ +{ + "pagination": { + "DescribeServices": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Services", + "non_aggregate_keys": ["FormatVersion"] + }, + "GetAttributeValues": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AttributeValues" + }, + "GetProducts": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "PriceList", + "non_aggregate_keys": ["FormatVersion"] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/pricing/2017-10-15/service-2.json python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/service-2.json --- python-botocore-1.4.70/botocore/data/pricing/2017-10-15/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/pricing/2017-10-15/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,315 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-15", + "endpointPrefix":"api.pricing", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWS Pricing", + "serviceFullName":"AWS Price List Service", + "serviceId":"Pricing", + "signatureVersion":"v4", + "signingName":"pricing", + "targetPrefix":"AWSPriceListService", + "uid":"pricing-2017-10-15" + }, + "operations":{ + "DescribeServices":{ + "name":"DescribeServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServicesRequest"}, + "output":{"shape":"DescribeServicesResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ExpiredNextTokenException"} + ], + "documentation":"

    Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are volumeType, maxIopsVolume, operation, locationType, and instanceCapacity10xlarge.

    " + }, + "GetAttributeValues":{ + "name":"GetAttributeValues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAttributeValuesRequest"}, + "output":{"shape":"GetAttributeValuesResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ExpiredNextTokenException"} + ], + "documentation":"

    Returns a list of attribute values. Attibutes are similar to the details in a Price List API offer file. For a list of available attributes, see Offer File Definitions in the AWS Billing and Cost Management User Guide.

    " + }, + "GetProducts":{ + "name":"GetProducts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetProductsRequest"}, + "output":{"shape":"GetProductsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ExpiredNextTokenException"} + ], + "documentation":"

    Returns a list of all products that match the filter criteria.

    " + } + }, + "shapes":{ + "AttributeNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "AttributeValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"String", + "documentation":"

    The specific value of an attributeName.

    " + } + }, + "documentation":"

    The values of a given attribute, such as Throughput Optimized HDD or Provisioned IOPS for the Amazon EC2 volumeType attribute.

    " + }, + "AttributeValueList":{ + "type":"list", + "member":{"shape":"AttributeValue"} + }, + "BoxedInteger":{ + "type":"integer", + "max":100, + "min":1 + }, + "DescribeServicesRequest":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"String", + "documentation":"

    The code for the service whose information you want to retrieve, such as AmazonEC2. You can use the ServiceCode to filter the results in a GetProducts call. To retrieve a list of all services, leave this blank.

    " + }, + "FormatVersion":{ + "shape":"String", + "documentation":"

    The format version that you want the response to be in.

    Valid values are: aws_v1

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token that indicates the next set of results that you want to retrieve.

    " + }, + "MaxResults":{ + "shape":"BoxedInteger", + "documentation":"

    The maximum number of results that you want returned in the response.

    ", + "box":true + } + } + }, + "DescribeServicesResponse":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"ServiceList", + "documentation":"

    The service metadata for the service or services in the response.

    " + }, + "FormatVersion":{ + "shape":"String", + "documentation":"

    The format version of the response. For example, aws_v1.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token for the next set of retreivable results.

    " + } + } + }, + "ExpiredNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

    The pagination token expired. Try again without a pagination token.

    ", + "exception":true + }, + "Filter":{ + "type":"structure", + "required":[ + "Type", + "Field", + "Value" + ], + "members":{ + "Type":{ + "shape":"FilterType", + "documentation":"

    The type of filter that you want to use.

    Valid values are: TERM_MATCH. TERM_MATCH returns only products that match both the given filter field and the given value.

    " + }, + "Field":{ + "shape":"String", + "documentation":"

    The product metadata field that you want to filter on. You can filter by just the service code to see all products for a specific service, filter by just the attribute name to see a specific attribute for multiple services, or use both a service code and an attribute name to retrieve only products that match both fields.

    Valid values include: ServiceCode, and all attribute names

    For example, you can filter by the AmazonEC2 service code and the volumeType attribute name to get the prices for only Amazon EC2 volumes.

    " + }, + "Value":{ + "shape":"String", + "documentation":"

    The service code or attribute value that you want to filter by. If you are filtering by service code this is the actual service code, such as AmazonEC2. If you are filtering by attribute name, this is the attribute value that you want the returned products to match, such as a Provisioned IOPS volume.

    " + } + }, + "documentation":"

    The constraints that you want all returned products to match.

    " + }, + "FilterType":{ + "type":"string", + "enum":["TERM_MATCH"] + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "GetAttributeValuesRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "AttributeName" + ], + "members":{ + "ServiceCode":{ + "shape":"String", + "documentation":"

    The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use AmazonEC2.

    " + }, + "AttributeName":{ + "shape":"String", + "documentation":"

    The name of the attribute that you want to retrieve the values for, such as volumeType.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token that indicates the next set of results that you want to retrieve.

    " + }, + "MaxResults":{ + "shape":"BoxedInteger", + "documentation":"

    The maximum number of results to return in response.

    ", + "box":true + } + } + }, + "GetAttributeValuesResponse":{ + "type":"structure", + "members":{ + "AttributeValues":{ + "shape":"AttributeValueList", + "documentation":"

    The list of values for an attribute. For example, Throughput Optimized HDD and Provisioned IOPS are two available values for the AmazonEC2 volumeType.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token that indicates the next set of results to retrieve.

    " + } + } + }, + "GetProductsRequest":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"String", + "documentation":"

    The code for the service whose products you want to retrieve.

    " + }, + "Filters":{ + "shape":"Filters", + "documentation":"

    The list of filters that limit the returned products. only products that match all filters are returned.

    " + }, + "FormatVersion":{ + "shape":"String", + "documentation":"

    The format version that you want the response to be in.

    Valid values are: aws_v1

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token that indicates the next set of results that you want to retrieve.

    " + }, + "MaxResults":{ + "shape":"BoxedInteger", + "documentation":"

    The maximum number of results to return in the response.

    ", + "box":true + } + } + }, + "GetProductsResponse":{ + "type":"structure", + "members":{ + "FormatVersion":{ + "shape":"String", + "documentation":"

    The format version of the response. For example, aws_v1.

    " + }, + "PriceList":{ + "shape":"PriceList", + "documentation":"

    The list of products that match your filters. The list contains both the product metadata and the price information.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The pagination token that indicates the next set of results to retrieve.

    " + } + } + }, + "InternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

    An error on the server occurred during the processing of your request. Try again later.

    ", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

    The pagination token is invalid. Try again without a pagination token.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

    One or more parameters had an invalid value.

    ", + "exception":true + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"errorMessage"} + }, + "documentation":"

    The requested resource can't be found.

    ", + "exception":true + }, + "PriceList":{ + "type":"list", + "member":{ + "shape":"PriceListItemJSON", + "jsonvalue":true + } + }, + "PriceListItemJSON":{"type":"string"}, + "Service":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"String", + "documentation":"

    The code for the AWS service.

    " + }, + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

    The attributes that are available for this service.

    " + } + }, + "documentation":"

    The metadata for a service, such as the service code and available attribute names.

    " + }, + "ServiceList":{ + "type":"list", + "member":{"shape":"Service"} + }, + "String":{"type":"string"}, + "errorMessage":{"type":"string"} + }, + "documentation":"

    AWS Price List Service API (AWS Price List Service) is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The AWS Price List Service uses standardized product attributes such as Location, Storage Class, and Operating System, and provides prices at the SKU level. You can use the AWS Price List Service to build cost control and scenario planning tools, reconcile billing data, forecast future spend for budgeting purposes, and provide cost benefit analysis that compare your internal workloads with AWS.

    Use GetServices without a service code to retrieve the service codes for all AWS services, then GetServices with a service code to retreive the attribute names for that service. After you have the service code and attribute names, you can use GetAttributeValues to see what values are available for an attribute. With the service code and an attribute name and value, you can use GetProducts to find specific products that you're interested in, such as an AmazonEC2 instance, with a Provisioned IOPS volumeType.

    Service Endpoint

    AWS Price List Service API provides the following two endpoints:

    • https://api.pricing.us-east-1.amazonaws.com

    • https://api.pricing.ap-south-1.amazonaws.com

    " +} diff -Nru python-botocore-1.4.70/botocore/data/qldb/2019-01-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/qldb/2019-01-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/qldb/2019-01-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/qldb/2019-01-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/qldb/2019-01-02/service-2.json python-botocore-1.16.19+repack/botocore/data/qldb/2019-01-02/service-2.json --- python-botocore-1.4.70/botocore/data/qldb/2019-01-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/qldb/2019-01-02/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1345 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-01-02", + "endpointPrefix":"qldb", + "jsonVersion":"1.0", + "protocol":"rest-json", + "serviceAbbreviation":"QLDB", + "serviceFullName":"Amazon QLDB", + "serviceId":"QLDB", + "signatureVersion":"v4", + "signingName":"qldb", + "uid":"qldb-2019-01-02" + }, + "operations":{ + "CancelJournalKinesisStream":{ + "name":"CancelJournalKinesisStream", + "http":{ + "method":"DELETE", + "requestUri":"/ledgers/{name}/journal-kinesis-streams/{streamId}" + }, + "input":{"shape":"CancelJournalKinesisStreamRequest"}, + "output":{"shape":"CancelJournalKinesisStreamResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its current status must be ACTIVE.

    You can't restart a stream after you cancel it. Canceled QLDB stream resources are subject to a 7-day retention period, so they are automatically deleted after this limit expires.

    " + }, + "CreateLedger":{ + "name":"CreateLedger", + "http":{ + "method":"POST", + "requestUri":"/ledgers" + }, + "input":{"shape":"CreateLedgerRequest"}, + "output":{"shape":"CreateLedgerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

    Creates a new ledger in your AWS account.

    " + }, + "DeleteLedger":{ + "name":"DeleteLedger", + "http":{ + "method":"DELETE", + "requestUri":"/ledgers/{name}" + }, + "input":{"shape":"DeleteLedgerRequest"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Deletes a ledger and all of its contents. This action is irreversible.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + }, + "DescribeJournalKinesisStream":{ + "name":"DescribeJournalKinesisStream", + "http":{ + "method":"GET", + "requestUri":"/ledgers/{name}/journal-kinesis-streams/{streamId}" + }, + "input":{"shape":"DescribeJournalKinesisStreamRequest"}, + "output":{"shape":"DescribeJournalKinesisStreamResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Returns detailed information about a given Amazon QLDB journal stream. The output includes the Amazon Resource Name (ARN), stream name, current status, creation time, and the parameters of your original stream creation request.

    " + }, + "DescribeJournalS3Export":{ + "name":"DescribeJournalS3Export", + "http":{ + "method":"GET", + "requestUri":"/ledgers/{name}/journal-s3-exports/{exportId}" + }, + "input":{"shape":"DescribeJournalS3ExportRequest"}, + "output":{"shape":"DescribeJournalS3ExportResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns information about a journal export job, including the ledger name, export ID, when it was created, current status, and its start and end time export parameters.

    This action does not return any expired export jobs. For more information, see Export Job Expiration in the Amazon QLDB Developer Guide.

    If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException.

    If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException.

    " + }, + "DescribeLedger":{ + "name":"DescribeLedger", + "http":{ + "method":"GET", + "requestUri":"/ledgers/{name}" + }, + "input":{"shape":"DescribeLedgerRequest"}, + "output":{"shape":"DescribeLedgerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns information about a ledger, including its state and when it was created.

    " + }, + "ExportJournalToS3":{ + "name":"ExportJournalToS3", + "http":{ + "method":"POST", + "requestUri":"/ledgers/{name}/journal-s3-exports" + }, + "input":{"shape":"ExportJournalToS3Request"}, + "output":{"shape":"ExportJournalToS3Response"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. The data is written as files in Amazon Ion format.

    If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException.

    If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException.

    You can initiate up to two concurrent journal export requests for each ledger. Beyond this limit, journal export requests throw LimitExceededException.

    " + }, + "GetBlock":{ + "name":"GetBlock", + "http":{ + "method":"POST", + "requestUri":"/ledgers/{name}/block" + }, + "input":{"shape":"GetBlockRequest"}, + "output":{"shape":"GetBlockResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Returns a journal block object at a specified address in a ledger. Also returns a proof of the specified block for verification if DigestTipAddress is provided.

    If the specified ledger doesn't exist or is in DELETING status, then throws ResourceNotFoundException.

    If the specified ledger is in CREATING status, then throws ResourcePreconditionNotMetException.

    If no block exists with the specified address, then throws InvalidParameterException.

    " + }, + "GetDigest":{ + "name":"GetDigest", + "http":{ + "method":"POST", + "requestUri":"/ledgers/{name}/digest" + }, + "input":{"shape":"GetDigestRequest"}, + "output":{"shape":"GetDigestResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Returns the digest of a ledger at the latest committed block in the journal. The response includes a 256-bit hash value and a block address.

    " + }, + "GetRevision":{ + "name":"GetRevision", + "http":{ + "method":"POST", + "requestUri":"/ledgers/{name}/revision" + }, + "input":{"shape":"GetRevisionRequest"}, + "output":{"shape":"GetRevisionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Returns a revision data object for a specified document ID and block address. Also returns a proof of the specified revision for verification if DigestTipAddress is provided.

    " + }, + "ListJournalKinesisStreamsForLedger":{ + "name":"ListJournalKinesisStreamsForLedger", + "http":{ + "method":"GET", + "requestUri":"/ledgers/{name}/journal-kinesis-streams" + }, + "input":{"shape":"ListJournalKinesisStreamsForLedgerRequest"}, + "output":{"shape":"ListJournalKinesisStreamsForLedgerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Returns an array of all Amazon QLDB journal stream descriptors for a given ledger. The output of each stream descriptor includes the same details that are returned by DescribeJournalKinesisStream.

    This action returns a maximum of MaxResults items. It is paginated so that you can retrieve all the items by calling ListJournalKinesisStreamsForLedger multiple times.

    " + }, + "ListJournalS3Exports":{ + "name":"ListJournalS3Exports", + "http":{ + "method":"GET", + "requestUri":"/journal-s3-exports" + }, + "input":{"shape":"ListJournalS3ExportsRequest"}, + "output":{"shape":"ListJournalS3ExportsResponse"}, + "documentation":"

    Returns an array of journal export job descriptions for all ledgers that are associated with the current AWS account and Region.

    This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3Exports multiple times.

    This action does not return any expired export jobs. For more information, see Export Job Expiration in the Amazon QLDB Developer Guide.

    " + }, + "ListJournalS3ExportsForLedger":{ + "name":"ListJournalS3ExportsForLedger", + "http":{ + "method":"GET", + "requestUri":"/ledgers/{name}/journal-s3-exports" + }, + "input":{"shape":"ListJournalS3ExportsForLedgerRequest"}, + "output":{"shape":"ListJournalS3ExportsForLedgerResponse"}, + "documentation":"

    Returns an array of journal export job descriptions for a specified ledger.

    This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple times.

    This action does not return any expired export jobs. For more information, see Export Job Expiration in the Amazon QLDB Developer Guide.

    " + }, + "ListLedgers":{ + "name":"ListLedgers", + "http":{ + "method":"GET", + "requestUri":"/ledgers" + }, + "input":{"shape":"ListLedgersRequest"}, + "output":{"shape":"ListLedgersResponse"}, + "documentation":"

    Returns an array of ledger summaries that are associated with the current AWS account and Region.

    This action returns a maximum of 100 items and is paginated so that you can retrieve all the items by calling ListLedgers multiple times.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns all tags for a specified Amazon QLDB resource.

    " + }, + "StreamJournalToKinesis":{ + "name":"StreamJournalToKinesis", + "http":{ + "method":"POST", + "requestUri":"/ledgers/{name}/journal-kinesis-streams" + }, + "input":{"shape":"StreamJournalToKinesisRequest"}, + "output":{"shape":"StreamJournalToKinesisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourcePreconditionNotMetException"} + ], + "documentation":"

    Creates a stream for a given Amazon QLDB ledger that delivers the journal data to a specified Amazon Kinesis Data Streams resource. The stream captures every document revision that is committed to your journal and sends it to the Kinesis data stream.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Adds one or more tags to a specified Amazon QLDB resource.

    A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50 tag keys to remove.

    " + }, + "UpdateLedger":{ + "name":"UpdateLedger", + "http":{ + "method":"PATCH", + "requestUri":"/ledgers/{name}" + }, + "input":{"shape":"UpdateLedgerRequest"}, + "output":{"shape":"UpdateLedgerResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Updates properties on a ledger.

    " + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":1600, + "min":20 + }, + "Boolean":{"type":"boolean"}, + "CancelJournalKinesisStreamRequest":{ + "type":"structure", + "required":[ + "LedgerName", + "StreamId" + ], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "StreamId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each QLDB journal stream.

    ", + "location":"uri", + "locationName":"streamId" + } + } + }, + "CancelJournalKinesisStreamResponse":{ + "type":"structure", + "members":{ + "StreamId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each QLDB journal stream.

    " + } + } + }, + "CreateLedgerRequest":{ + "type":"structure", + "required":[ + "Name", + "PermissionsMode" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger that you want to create. The name must be unique among all of your ledgers in the current AWS Region.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The key-value pairs to add as tags to the ledger that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.

    " + }, + "PermissionsMode":{ + "shape":"PermissionsMode", + "documentation":"

    The permissions mode to assign to the ledger that you want to create.

    " + }, + "DeletionProtection":{ + "shape":"DeletionProtection", + "documentation":"

    The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + } + } + }, + "CreateLedgerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the ledger.

    " + }, + "State":{ + "shape":"LedgerState", + "documentation":"

    The current status of the ledger.

    " + }, + "CreationDateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + }, + "DeletionProtection":{ + "shape":"DeletionProtection", + "documentation":"

    The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + } + } + }, + "DeleteLedgerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger that you want to delete.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeletionProtection":{"type":"boolean"}, + "DescribeJournalKinesisStreamRequest":{ + "type":"structure", + "required":[ + "LedgerName", + "StreamId" + ], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "StreamId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each QLDB journal stream.

    ", + "location":"uri", + "locationName":"streamId" + } + } + }, + "DescribeJournalKinesisStreamResponse":{ + "type":"structure", + "members":{ + "Stream":{ + "shape":"JournalKinesisStreamDescription", + "documentation":"

    Information about the QLDB journal stream returned by a DescribeJournalS3Export request.

    " + } + } + }, + "DescribeJournalS3ExportRequest":{ + "type":"structure", + "required":[ + "Name", + "ExportId" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "ExportId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID of the journal export job that you want to describe.

    ", + "location":"uri", + "locationName":"exportId" + } + } + }, + "DescribeJournalS3ExportResponse":{ + "type":"structure", + "required":["ExportDescription"], + "members":{ + "ExportDescription":{ + "shape":"JournalS3ExportDescription", + "documentation":"

    Information about the journal export job returned by a DescribeJournalS3Export request.

    " + } + } + }, + "DescribeLedgerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger that you want to describe.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DescribeLedgerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the ledger.

    " + }, + "State":{ + "shape":"LedgerState", + "documentation":"

    The current status of the ledger.

    " + }, + "CreationDateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + }, + "DeletionProtection":{ + "shape":"DeletionProtection", + "documentation":"

    The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + } + } + }, + "Digest":{ + "type":"blob", + "max":32, + "min":32 + }, + "ErrorCause":{ + "type":"string", + "enum":[ + "KINESIS_STREAM_NOT_FOUND", + "IAM_PERMISSION_REVOKED" + ] + }, + "ErrorMessage":{"type":"string"}, + "ExportJournalToS3Request":{ + "type":"structure", + "required":[ + "Name", + "InclusiveStartTime", + "ExclusiveEndTime", + "S3ExportConfiguration", + "RoleArn" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "InclusiveStartTime":{ + "shape":"Timestamp", + "documentation":"

    The inclusive start date and time for the range of journal contents that you want to export.

    The InclusiveStartTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z

    The InclusiveStartTime must be before ExclusiveEndTime.

    If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, Amazon QLDB defaults it to the ledger's CreationDateTime.

    " + }, + "ExclusiveEndTime":{ + "shape":"Timestamp", + "documentation":"

    The exclusive end date and time for the range of journal contents that you want to export.

    The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z

    The ExclusiveEndTime must be less than or equal to the current UTC date and time.

    " + }, + "S3ExportConfiguration":{ + "shape":"S3ExportConfiguration", + "documentation":"

    The configuration settings of the Amazon S3 bucket destination for your export request.

    " + }, + "RoleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:

    • Write objects into your Amazon Simple Storage Service (Amazon S3) bucket.

    • (Optional) Use your customer master key (CMK) in AWS Key Management Service (AWS KMS) for server-side encryption of your exported data.

    " + } + } + }, + "ExportJournalToS3Response":{ + "type":"structure", + "required":["ExportId"], + "members":{ + "ExportId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each journal export job.

    To describe your export request and check the status of the job, you can use ExportId to call DescribeJournalS3Export.

    " + } + } + }, + "ExportStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "COMPLETED", + "CANCELLED" + ] + }, + "GetBlockRequest":{ + "type":"structure", + "required":[ + "Name", + "BlockAddress" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "BlockAddress":{ + "shape":"ValueHolder", + "documentation":"

    The location of the block that you want to request. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo.

    For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14}

    " + }, + "DigestTipAddress":{ + "shape":"ValueHolder", + "documentation":"

    The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo.

    For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49}

    " + } + } + }, + "GetBlockResponse":{ + "type":"structure", + "required":["Block"], + "members":{ + "Block":{ + "shape":"ValueHolder", + "documentation":"

    The block data object in Amazon Ion format.

    " + }, + "Proof":{ + "shape":"ValueHolder", + "documentation":"

    The proof object in Amazon Ion format returned by a GetBlock request. A proof contains the list of hash values required to recalculate the specified digest using a Merkle tree, starting with the specified block.

    " + } + } + }, + "GetDigestRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetDigestResponse":{ + "type":"structure", + "required":[ + "Digest", + "DigestTipAddress" + ], + "members":{ + "Digest":{ + "shape":"Digest", + "documentation":"

    The 256-bit hash value representing the digest returned by a GetDigest request.

    " + }, + "DigestTipAddress":{ + "shape":"ValueHolder", + "documentation":"

    The latest block location covered by the digest that you requested. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo.

    " + } + } + }, + "GetRevisionRequest":{ + "type":"structure", + "required":[ + "Name", + "BlockAddress", + "DocumentId" + ], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "BlockAddress":{ + "shape":"ValueHolder", + "documentation":"

    The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo.

    For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14}

    " + }, + "DocumentId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID of the document to be verified.

    " + }, + "DigestTipAddress":{ + "shape":"ValueHolder", + "documentation":"

    The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo.

    For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49}

    " + } + } + }, + "GetRevisionResponse":{ + "type":"structure", + "required":["Revision"], + "members":{ + "Proof":{ + "shape":"ValueHolder", + "documentation":"

    The proof object in Amazon Ion format returned by a GetRevision request. A proof contains the list of hash values that are required to recalculate the specified digest using a Merkle tree, starting with the specified document revision.

    " + }, + "Revision":{ + "shape":"ValueHolder", + "documentation":"

    The document revision data object in Amazon Ion format.

    " + } + } + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ParameterName":{ + "shape":"ParameterName", + "documentation":"

    The name of the invalid parameter.

    " + } + }, + "documentation":"

    One or more parameters in the request aren't valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "IonText":{ + "type":"string", + "max":1048576, + "min":1, + "sensitive":true + }, + "JournalKinesisStreamDescription":{ + "type":"structure", + "required":[ + "LedgerName", + "RoleArn", + "StreamId", + "Status", + "KinesisConfiguration", + "StreamName" + ], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the QLDB journal stream was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + }, + "InclusiveStartTime":{ + "shape":"Timestamp", + "documentation":"

    The inclusive start date and time from which to start streaming journal data.

    " + }, + "ExclusiveEndTime":{ + "shape":"Timestamp", + "documentation":"

    The exclusive date and time that specifies when the stream ends. If this parameter is blank, the stream runs indefinitely until you cancel it.

    " + }, + "RoleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.

    " + }, + "StreamId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each QLDB journal stream.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the QLDB journal stream.

    " + }, + "Status":{ + "shape":"StreamStatus", + "documentation":"

    The current state of the QLDB journal stream.

    " + }, + "KinesisConfiguration":{ + "shape":"KinesisConfiguration", + "documentation":"

    The configuration settings of the Amazon Kinesis Data Streams destination for your QLDB journal stream.

    " + }, + "ErrorCause":{ + "shape":"ErrorCause", + "documentation":"

    The error message that describes the reason that a stream has a status of IMPAIRED or FAILED. This is not applicable to streams that have other status values.

    " + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

    The user-defined name of the QLDB journal stream.

    " + } + }, + "documentation":"

    The information about an Amazon QLDB journal stream, including the Amazon Resource Name (ARN), stream name, creation time, current status, and the parameters of your original stream creation request.

    " + }, + "JournalKinesisStreamDescriptionList":{ + "type":"list", + "member":{"shape":"JournalKinesisStreamDescription"} + }, + "JournalS3ExportDescription":{ + "type":"structure", + "required":[ + "LedgerName", + "ExportId", + "ExportCreationTime", + "Status", + "InclusiveStartTime", + "ExclusiveEndTime", + "S3ExportConfiguration", + "RoleArn" + ], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "ExportId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID of the journal export job.

    " + }, + "ExportCreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the export job was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + }, + "Status":{ + "shape":"ExportStatus", + "documentation":"

    The current state of the journal export job.

    " + }, + "InclusiveStartTime":{ + "shape":"Timestamp", + "documentation":"

    The inclusive start date and time for the range of journal contents that are specified in the original export request.

    " + }, + "ExclusiveEndTime":{ + "shape":"Timestamp", + "documentation":"

    The exclusive end date and time for the range of journal contents that are specified in the original export request.

    " + }, + "S3ExportConfiguration":{"shape":"S3ExportConfiguration"}, + "RoleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following:

    • Write objects into your Amazon Simple Storage Service (Amazon S3) bucket.

    • (Optional) Use your customer master key (CMK) in AWS Key Management Service (AWS KMS) for server-side encryption of your exported data.

    " + } + }, + "documentation":"

    The information about a journal export job, including the ledger name, export ID, when it was created, current status, and its start and end time export parameters.

    " + }, + "JournalS3ExportList":{ + "type":"list", + "member":{"shape":"JournalS3ExportDescription"} + }, + "KinesisConfiguration":{ + "type":"structure", + "required":["StreamArn"], + "members":{ + "StreamArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Kinesis data stream resource.

    " + }, + "AggregationEnabled":{ + "shape":"Boolean", + "documentation":"

    Enables QLDB to publish multiple stream records in a single Kinesis Data Streams record. To learn more, see KPL Key Concepts in the Amazon Kinesis Data Streams Developer Guide.

    " + } + }, + "documentation":"

    The configuration settings of the Amazon Kinesis Data Streams destination for your Amazon QLDB journal stream.

    " + }, + "LedgerList":{ + "type":"list", + "member":{"shape":"LedgerSummary"} + }, + "LedgerName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" + }, + "LedgerState":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "DELETED" + ] + }, + "LedgerSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "State":{ + "shape":"LedgerState", + "documentation":"

    The current status of the ledger.

    " + }, + "CreationDateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + } + }, + "documentation":"

    Information about a ledger, including its name, state, and when it was created.

    " + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + } + }, + "documentation":"

    You have reached the limit on the maximum number of resources allowed.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListJournalKinesisStreamsForLedgerRequest":{ + "type":"structure", + "required":["LedgerName"], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single ListJournalKinesisStreamsForLedger request. (The actual number of results returned might be fewer.)

    ", + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalKinesisStreamsForLedger call, you should use that value as input here.

    ", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListJournalKinesisStreamsForLedgerResponse":{ + "type":"structure", + "members":{ + "Streams":{ + "shape":"JournalKinesisStreamDescriptionList", + "documentation":"

    The array of QLDB journal stream descriptors that are associated with the given ledger.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"
    • If NextToken is empty, the last page of results has been processed and there are no more results to be retrieved.

    • If NextToken is not empty, more results are available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalKinesisStreamsForLedger call.

    " + } + } + }, + "ListJournalS3ExportsForLedgerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single ListJournalS3ExportsForLedger request. (The actual number of results returned might be fewer.)

    ", + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3ExportsForLedger call, then you should use that value as input here.

    ", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListJournalS3ExportsForLedgerResponse":{ + "type":"structure", + "members":{ + "JournalS3Exports":{ + "shape":"JournalS3ExportList", + "documentation":"

    The array of journal export job descriptions that are associated with the specified ledger.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"
    • If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved.

    • If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalS3ExportsForLedger call.

    " + } + } + }, + "ListJournalS3ExportsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single ListJournalS3Exports request. (The actual number of results returned might be fewer.)

    ", + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3Exports call, then you should use that value as input here.

    ", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListJournalS3ExportsResponse":{ + "type":"structure", + "members":{ + "JournalS3Exports":{ + "shape":"JournalS3ExportList", + "documentation":"

    The array of journal export job descriptions for all ledgers that are associated with the current AWS account and Region.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"
    • If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved.

    • If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalS3Exports call.

    " + } + } + }, + "ListLedgersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single ListLedgers request. (The actual number of results returned might be fewer.)

    ", + "location":"querystring", + "locationName":"max_results" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListLedgers call, then you should use that value as input here.

    ", + "location":"querystring", + "locationName":"next_token" + } + } + }, + "ListLedgersResponse":{ + "type":"structure", + "members":{ + "Ledgers":{ + "shape":"LedgerList", + "documentation":"

    The array of ledger summaries that are associated with the current AWS account and Region.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A pagination token, indicating whether there are more results available:

    • If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved.

    • If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListLedgers call.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for which you want to list the tags. For example:

    arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags that are currently associated with the specified Amazon QLDB resource.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":1024, + "min":4, + "pattern":"^[A-Za-z-0-9+/=]+$" + }, + "ParameterName":{"type":"string"}, + "PermissionsMode":{ + "type":"string", + "enum":["ALLOW_ALL"] + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource.

    " + } + }, + "documentation":"

    The specified resource already exists.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource.

    " + } + }, + "documentation":"

    The specified resource can't be modified at this time.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceName":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource.

    " + } + }, + "documentation":"

    The specified resource doesn't exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourcePreconditionNotMetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + }, + "ResourceName":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource.

    " + } + }, + "documentation":"

    The operation failed because a condition wasn't satisfied in advance.

    ", + "error":{"httpStatusCode":412}, + "exception":true + }, + "ResourceType":{"type":"string"}, + "S3Bucket":{ + "type":"string", + "max":255, + "min":3, + "pattern":"^[A-Za-z-0-9-_.]+$" + }, + "S3EncryptionConfiguration":{ + "type":"structure", + "required":["ObjectEncryptionType"], + "members":{ + "ObjectEncryptionType":{ + "shape":"S3ObjectEncryptionType", + "documentation":"

    The Amazon S3 object encryption type.

    To learn more about server-side encryption options in Amazon S3, see Protecting Data Using Server-Side Encryption in the Amazon S3 Developer Guide.

    " + }, + "KmsKeyArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for a symmetric customer master key (CMK) in AWS Key Management Service (AWS KMS). Amazon QLDB does not support asymmetric CMKs.

    You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType.

    KmsKeyArn is not required if you specify SSE_S3 as the ObjectEncryptionType.

    " + } + }, + "documentation":"

    The encryption settings that are used by a journal export job to write data in an Amazon Simple Storage Service (Amazon S3) bucket.

    " + }, + "S3ExportConfiguration":{ + "type":"structure", + "required":[ + "Bucket", + "Prefix", + "EncryptionConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The Amazon S3 bucket name in which a journal export job writes the journal contents.

    The bucket name must comply with the Amazon S3 bucket naming conventions. For more information, see Bucket Restrictions and Limitations in the Amazon S3 Developer Guide.

    " + }, + "Prefix":{ + "shape":"S3Prefix", + "documentation":"

    The prefix for the Amazon S3 bucket in which a journal export job writes the journal contents.

    The prefix must comply with Amazon S3 key naming rules and restrictions. For more information, see Object Key and Metadata in the Amazon S3 Developer Guide.

    The following are examples of valid Prefix values:

    • JournalExports-ForMyLedger/Testing/

    • JournalExports

    • My:Tests/

    " + }, + "EncryptionConfiguration":{ + "shape":"S3EncryptionConfiguration", + "documentation":"

    The encryption settings that are used by a journal export job to write data in an Amazon S3 bucket.

    " + } + }, + "documentation":"

    The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal contents.

    " + }, + "S3ObjectEncryptionType":{ + "type":"string", + "enum":[ + "SSE_KMS", + "SSE_S3", + "NO_ENCRYPTION" + ] + }, + "S3Prefix":{ + "type":"string", + "max":128, + "min":0 + }, + "StreamJournalToKinesisRequest":{ + "type":"structure", + "required":[ + "LedgerName", + "RoleArn", + "InclusiveStartTime", + "KinesisConfiguration", + "StreamName" + ], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "RoleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The key-value pairs to add as tags to the stream that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.

    " + }, + "InclusiveStartTime":{ + "shape":"Timestamp", + "documentation":"

    The inclusive start date and time from which to start streaming journal data. This parameter must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z

    The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime.

    If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, QLDB effectively defaults it to the ledger's CreationDateTime.

    " + }, + "ExclusiveEndTime":{ + "shape":"Timestamp", + "documentation":"

    The exclusive date and time that specifies when the stream ends. If you keep this parameter blank, the stream runs indefinitely until you cancel it.

    The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z

    " + }, + "KinesisConfiguration":{ + "shape":"KinesisConfiguration", + "documentation":"

    The configuration settings of the Kinesis Data Streams destination for your stream request.

    " + }, + "StreamName":{ + "shape":"StreamName", + "documentation":"

    The name that you want to assign to the QLDB journal stream. User-defined names can help identify and indicate the purpose of a stream.

    Your stream name must be unique among other active streams for a given ledger. If you try to create a stream with the same name and configuration of an active, existing stream for the same ledger, QLDB simply returns the existing stream. Stream names have the same naming constraints as ledger names, as defined in Quotas in Amazon QLDB in the Amazon QLDB Developer Guide.

    " + } + } + }, + "StreamJournalToKinesisResponse":{ + "type":"structure", + "members":{ + "StreamId":{ + "shape":"UniqueId", + "documentation":"

    The unique ID that QLDB assigns to each QLDB journal stream.

    " + } + } + }, + "StreamName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" + }, + "StreamStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "COMPLETED", + "CANCELED", + "FAILED", + "IMPAIRED" + ] + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) to which you want to add the tags. For example:

    arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The key-value pairs to add as tags to the specified QLDB resource. Tag keys are case sensitive. If you specify a key that already exists for the resource, your request fails and returns an error. Tag values are case sensitive and can be null.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "UniqueId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^[A-Za-z-0-9]+$" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) from which you want to remove the tags. For example:

    arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The list of tag keys that you want to remove.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateLedgerRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    ", + "location":"uri", + "locationName":"name" + }, + "DeletionProtection":{ + "shape":"DeletionProtection", + "documentation":"

    The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + } + } + }, + "UpdateLedgerResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the ledger.

    " + }, + "State":{ + "shape":"LedgerState", + "documentation":"

    The current status of the ledger.

    " + }, + "CreationDateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

    " + }, + "DeletionProtection":{ + "shape":"DeletionProtection", + "documentation":"

    The flag that prevents a ledger from being deleted by any user. If not provided on ledger creation, this feature is enabled (true) by default.

    If deletion protection is enabled, you must first disable it before you can delete the ledger using the QLDB API or the AWS Command Line Interface (AWS CLI). You can disable it by calling the UpdateLedger operation to set the flag to false. The QLDB console disables deletion protection for you when you use it to delete a ledger.

    " + } + } + }, + "ValueHolder":{ + "type":"structure", + "members":{ + "IonText":{ + "shape":"IonText", + "documentation":"

    An Amazon Ion plaintext value contained in a ValueHolder structure.

    " + } + }, + "documentation":"

    A structure that can contain an Amazon Ion value in multiple encoding formats.

    ", + "sensitive":true + } + }, + "documentation":"

    The control plane for Amazon QLDB

    " +} diff -Nru python-botocore-1.4.70/botocore/data/qldb-session/2019-07-11/paginators-1.json python-botocore-1.16.19+repack/botocore/data/qldb-session/2019-07-11/paginators-1.json --- python-botocore-1.4.70/botocore/data/qldb-session/2019-07-11/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/qldb-session/2019-07-11/paginators-1.json 2020-05-28 19:27:56.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/qldb-session/2019-07-11/service-2.json python-botocore-1.16.19+repack/botocore/data/qldb-session/2019-07-11/service-2.json --- python-botocore-1.4.70/botocore/data/qldb-session/2019-07-11/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/qldb-session/2019-07-11/service-2.json 2020-05-28 19:28:04.000000000 +0000 @@ -0,0 +1,381 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-07-11", + "endpointPrefix":"session.qldb", + "jsonVersion":"1.0", + "protocol":"json", + "serviceAbbreviation":"QLDB Session", + "serviceFullName":"Amazon QLDB Session", + "serviceId":"QLDB Session", + "signatureVersion":"v4", + "signingName":"qldb", + "targetPrefix":"QLDBSession", + "uid":"qldb-session-2019-07-11" + }, + "operations":{ + "SendCommand":{ + "name":"SendCommand", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendCommandRequest"}, + "output":{"shape":"SendCommandResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InvalidSessionException"}, + {"shape":"OccConflictException"}, + {"shape":"RateExceededException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Sends a command to an Amazon QLDB ledger.

    Instead of interacting directly with this API, we recommend that you use the Amazon QLDB Driver or the QLDB Shell to execute data transactions on a ledger.

    • If you are working with an AWS SDK, use the QLDB Driver. The driver provides a high-level abstraction layer above this qldbsession data plane and manages SendCommand API calls for you. For information and a list of supported programming languages, see Getting started with the driver in the Amazon QLDB Developer Guide.

    • If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB Shell. The shell is a command line interface that uses the QLDB Driver to interact with a ledger. For information, see Accessing Amazon QLDB using the QLDB Shell.

    " + } + }, + "shapes":{ + "AbortTransactionRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Contains the details of the transaction to abort.

    " + }, + "AbortTransactionResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Contains the details of the aborted transaction.

    " + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"} + }, + "documentation":"

    Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.

    ", + "exception":true + }, + "CommitDigest":{"type":"blob"}, + "CommitTransactionRequest":{ + "type":"structure", + "required":[ + "TransactionId", + "CommitDigest" + ], + "members":{ + "TransactionId":{ + "shape":"TransactionId", + "documentation":"

    Specifies the transaction ID of the transaction to commit.

    " + }, + "CommitDigest":{ + "shape":"CommitDigest", + "documentation":"

    Specifies the commit digest for the transaction to commit. For every active transaction, the commit digest must be passed. QLDB validates CommitDigest and rejects the commit with an error if the digest computed on the client does not match the digest computed by QLDB.

    " + } + }, + "documentation":"

    Contains the details of the transaction to commit.

    " + }, + "CommitTransactionResult":{ + "type":"structure", + "members":{ + "TransactionId":{ + "shape":"TransactionId", + "documentation":"

    The transaction ID of the committed transaction.

    " + }, + "CommitDigest":{ + "shape":"CommitDigest", + "documentation":"

    The commit digest of the committed transaction.

    " + } + }, + "documentation":"

    Contains the details of the committed transaction.

    " + }, + "EndSessionRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Specifies a request to end the session.

    " + }, + "EndSessionResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Contains the details of the ended session.

    " + }, + "ErrorCode":{"type":"string"}, + "ErrorMessage":{"type":"string"}, + "ExecuteStatementRequest":{ + "type":"structure", + "required":[ + "TransactionId", + "Statement" + ], + "members":{ + "TransactionId":{ + "shape":"TransactionId", + "documentation":"

    Specifies the transaction ID of the request.

    " + }, + "Statement":{ + "shape":"Statement", + "documentation":"

    Specifies the statement of the request.

    " + }, + "Parameters":{ + "shape":"StatementParameters", + "documentation":"

    Specifies the parameters for the parameterized statement in the request.

    " + } + }, + "documentation":"

    Specifies a request to execute a statement.

    " + }, + "ExecuteStatementResult":{ + "type":"structure", + "members":{ + "FirstPage":{ + "shape":"Page", + "documentation":"

    Contains the details of the first fetched page.

    " + } + }, + "documentation":"

    Contains the details of the executed statement.

    " + }, + "FetchPageRequest":{ + "type":"structure", + "required":[ + "TransactionId", + "NextPageToken" + ], + "members":{ + "TransactionId":{ + "shape":"TransactionId", + "documentation":"

    Specifies the transaction ID of the page to be fetched.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    Specifies the next page token of the page to be fetched.

    " + } + }, + "documentation":"

    Specifies the details of the page to be fetched.

    " + }, + "FetchPageResult":{ + "type":"structure", + "members":{ + "Page":{ + "shape":"Page", + "documentation":"

    Contains details of the fetched page.

    " + } + }, + "documentation":"

    Contains the page that was fetched.

    " + }, + "InvalidSessionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "Code":{"shape":"ErrorCode"} + }, + "documentation":"

    Returned if the session doesn't exist anymore because it timed out or expired.

    ", + "exception":true + }, + "IonBinary":{ + "type":"blob", + "max":131072, + "min":1 + }, + "IonText":{ + "type":"string", + "max":1048576, + "min":1 + }, + "LedgerName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Returned if a resource limit such as number of active sessions is exceeded.

    ", + "exception":true + }, + "OccConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Returned when a transaction cannot be written to the journal due to a failure in the verification phase of optimistic concurrency control (OCC).

    ", + "exception":true + }, + "Page":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"ValueHolders", + "documentation":"

    A structure that contains values in multiple encoding formats.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The token of the next page.

    " + } + }, + "documentation":"

    Contains details of the fetched page.

    " + }, + "PageToken":{ + "type":"string", + "max":1024, + "min":4, + "pattern":"^[A-Za-z-0-9+/=]+$" + }, + "RateExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Returned when the rate of requests exceeds the allowed throughput.

    ", + "exception":true + }, + "SendCommandRequest":{ + "type":"structure", + "members":{ + "SessionToken":{ + "shape":"SessionToken", + "documentation":"

    Specifies the session token for the current command. A session token is constant throughout the life of the session.

    To obtain a session token, run the StartSession command. This SessionToken is required for every subsequent command that is issued during the current session.

    " + }, + "StartSession":{ + "shape":"StartSessionRequest", + "documentation":"

    Command to start a new session. A session token is obtained as part of the response.

    " + }, + "StartTransaction":{ + "shape":"StartTransactionRequest", + "documentation":"

    Command to start a new transaction.

    " + }, + "EndSession":{ + "shape":"EndSessionRequest", + "documentation":"

    Command to end the current session.

    " + }, + "CommitTransaction":{ + "shape":"CommitTransactionRequest", + "documentation":"

    Command to commit the specified transaction.

    " + }, + "AbortTransaction":{ + "shape":"AbortTransactionRequest", + "documentation":"

    Command to abort the current transaction.

    " + }, + "ExecuteStatement":{ + "shape":"ExecuteStatementRequest", + "documentation":"

    Command to execute a statement in the specified transaction.

    " + }, + "FetchPage":{ + "shape":"FetchPageRequest", + "documentation":"

    Command to fetch a page.

    " + } + } + }, + "SendCommandResult":{ + "type":"structure", + "members":{ + "StartSession":{ + "shape":"StartSessionResult", + "documentation":"

    Contains the details of the started session that includes a session token. This SessionToken is required for every subsequent command that is issued during the current session.

    " + }, + "StartTransaction":{ + "shape":"StartTransactionResult", + "documentation":"

    Contains the details of the started transaction.

    " + }, + "EndSession":{ + "shape":"EndSessionResult", + "documentation":"

    Contains the details of the ended session.

    " + }, + "CommitTransaction":{ + "shape":"CommitTransactionResult", + "documentation":"

    Contains the details of the committed transaction.

    " + }, + "AbortTransaction":{ + "shape":"AbortTransactionResult", + "documentation":"

    Contains the details of the aborted transaction.

    " + }, + "ExecuteStatement":{ + "shape":"ExecuteStatementResult", + "documentation":"

    Contains the details of the executed statement.

    " + }, + "FetchPage":{ + "shape":"FetchPageResult", + "documentation":"

    Contains the details of the fetched page.

    " + } + } + }, + "SessionToken":{ + "type":"string", + "max":1024, + "min":4, + "pattern":"^[A-Za-z-0-9+/=]+$" + }, + "StartSessionRequest":{ + "type":"structure", + "required":["LedgerName"], + "members":{ + "LedgerName":{ + "shape":"LedgerName", + "documentation":"

    The name of the ledger to start a new session against.

    " + } + }, + "documentation":"

    Specifies a request to start a new session.

    " + }, + "StartSessionResult":{ + "type":"structure", + "members":{ + "SessionToken":{ + "shape":"SessionToken", + "documentation":"

    Session token of the started session. This SessionToken is required for every subsequent command that is issued during the current session.

    " + } + }, + "documentation":"

    Contains the details of the started session.

    " + }, + "StartTransactionRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Specifies a request to start a transaction.

    " + }, + "StartTransactionResult":{ + "type":"structure", + "members":{ + "TransactionId":{ + "shape":"TransactionId", + "documentation":"

    The transaction ID of the started transaction.

    " + } + }, + "documentation":"

    Contains the details of the started transaction.

    " + }, + "Statement":{ + "type":"string", + "max":100000, + "min":1 + }, + "StatementParameters":{ + "type":"list", + "member":{"shape":"ValueHolder"} + }, + "TransactionId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^[A-Za-z-0-9]+$" + }, + "ValueHolder":{ + "type":"structure", + "members":{ + "IonBinary":{ + "shape":"IonBinary", + "documentation":"

    An Amazon Ion binary value contained in a ValueHolder structure.

    " + }, + "IonText":{ + "shape":"IonText", + "documentation":"

    An Amazon Ion plaintext value contained in a ValueHolder structure.

    " + } + }, + "documentation":"

    A structure that can contain an Amazon Ion value in multiple encoding formats.

    " + }, + "ValueHolders":{ + "type":"list", + "member":{"shape":"ValueHolder"} + } + }, + "documentation":"

    The transactional data APIs for Amazon QLDB

    Instead of interacting directly with this API, we recommend that you use the Amazon QLDB Driver or the QLDB Shell to execute data transactions on a ledger.

    • If you are working with an AWS SDK, use the QLDB Driver. The driver provides a high-level abstraction layer above this qldbsession data plane and manages SendCommand API calls for you. For information and a list of supported programming languages, see Getting started with the driver in the Amazon QLDB Developer Guide.

    • If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB Shell. The shell is a command line interface that uses the QLDB Driver to interact with a ledger. For information, see Accessing Amazon QLDB using the QLDB Shell.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/quicksight/2018-04-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/quicksight/2018-04-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/quicksight/2018-04-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/quicksight/2018-04-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/quicksight/2018-04-01/service-2.json python-botocore-1.16.19+repack/botocore/data/quicksight/2018-04-01/service-2.json --- python-botocore-1.4.70/botocore/data/quicksight/2018-04-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/quicksight/2018-04-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,7778 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-04-01", + "endpointPrefix":"quicksight", + "jsonVersion":"1.0", + "protocol":"rest-json", + "serviceFullName":"Amazon QuickSight", + "serviceId":"QuickSight", + "signatureVersion":"v4", + "uid":"quicksight-2018-04-01" + }, + "operations":{ + "CancelIngestion":{ + "name":"CancelIngestion", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}" + }, + "input":{"shape":"CancelIngestionRequest"}, + "output":{"shape":"CancelIngestionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Cancels an ongoing ingestion of data into SPICE.

    " + }, + "CreateDashboard":{ + "name":"CreateDashboard", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}" + }, + "input":{"shape":"CreateDashboardRequest"}, + "output":{"shape":"CreateDashboardResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ConflictException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates a dashboard from a template. To first create a template, see the CreateTemplate API operation.

    A dashboard is an entity in QuickSight that identifies QuickSight reports, created from analyses. You can share QuickSight dashboards. With the right permissions, you can create scheduled email reports from them. The CreateDashboard, DescribeDashboard, and ListDashboardsByUser API operations act on the dashboard entity. If you have the correct permissions, you can create a dashboard from a template that exists in a different AWS account.

    " + }, + "CreateDataSet":{ + "name":"CreateDataSet", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/data-sets" + }, + "input":{"shape":"CreateDataSetRequest"}, + "output":{"shape":"CreateDataSetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates a dataset.

    " + }, + "CreateDataSource":{ + "name":"CreateDataSource", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/data-sources" + }, + "input":{"shape":"CreateDataSourceRequest"}, + "output":{"shape":"CreateDataSourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates a data source.

    " + }, + "CreateGroup":{ + "name":"CreateGroup", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups" + }, + "input":{"shape":"CreateGroupRequest"}, + "output":{"shape":"CreateGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Creates an Amazon QuickSight group.

    The permissions resource is arn:aws:quicksight:us-east-1:<relevant-aws-account-id>:group/default/<group-name> .

    The response is a group object.

    " + }, + "CreateGroupMembership":{ + "name":"CreateGroupMembership", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}" + }, + "input":{"shape":"CreateGroupMembershipRequest"}, + "output":{"shape":"CreateGroupMembershipResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Adds an Amazon QuickSight user to an Amazon QuickSight group.

    " + }, + "CreateIAMPolicyAssignment":{ + "name":"CreateIAMPolicyAssignment", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/" + }, + "input":{"shape":"CreateIAMPolicyAssignmentRequest"}, + "output":{"shape":"CreateIAMPolicyAssignmentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConcurrentUpdatingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates an assignment with one specified IAM policy, identified by its Amazon Resource Name (ARN). This policy will be assigned to specified groups or users of Amazon QuickSight. The users and groups need to be in the same namespace.

    " + }, + "CreateIngestion":{ + "name":"CreateIngestion", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}" + }, + "input":{"shape":"CreateIngestionRequest"}, + "output":{"shape":"CreateIngestionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates and starts a new SPICE ingestion on a dataset

    Any ingestions operating on tagged datasets inherit the same tags automatically for use in access control. For an example, see How do I create an IAM policy to control access to Amazon EC2 resources using tags? in the AWS Knowledge Center. Tags are visible on the tagged dataset, but not on the ingestion resource.

    " + }, + "CreateTemplate":{ + "name":"CreateTemplate", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}" + }, + "input":{"shape":"CreateTemplateRequest"}, + "output":{"shape":"CreateTemplateResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates a template from an existing QuickSight analysis or template. You can use the resulting template to create a dashboard.

    A template is an entity in QuickSight that encapsulates the metadata required to create an analysis and that you can use to create s dashboard. A template adds a layer of abstraction by using placeholders to replace the dataset associated with the analysis. You can use templates to create dashboards by replacing dataset placeholders with datasets that follow the same schema that was used to create the source analysis and template.

    " + }, + "CreateTemplateAlias":{ + "name":"CreateTemplateAlias", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}" + }, + "input":{"shape":"CreateTemplateAliasRequest"}, + "output":{"shape":"CreateTemplateAliasResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Creates a template alias for a template.

    " + }, + "DeleteDashboard":{ + "name":"DeleteDashboard", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}" + }, + "input":{"shape":"DeleteDashboardRequest"}, + "output":{"shape":"DeleteDashboardResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a dashboard.

    " + }, + "DeleteDataSet":{ + "name":"DeleteDataSet", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}" + }, + "input":{"shape":"DeleteDataSetRequest"}, + "output":{"shape":"DeleteDataSetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a dataset.

    " + }, + "DeleteDataSource":{ + "name":"DeleteDataSource", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/data-sources/{DataSourceId}" + }, + "input":{"shape":"DeleteDataSourceRequest"}, + "output":{"shape":"DeleteDataSourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes the data source permanently. This action breaks all the datasets that reference the deleted data source.

    " + }, + "DeleteGroup":{ + "name":"DeleteGroup", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}" + }, + "input":{"shape":"DeleteGroupRequest"}, + "output":{"shape":"DeleteGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Removes a user group from Amazon QuickSight.

    " + }, + "DeleteGroupMembership":{ + "name":"DeleteGroupMembership", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members/{MemberName}" + }, + "input":{"shape":"DeleteGroupMembershipRequest"}, + "output":{"shape":"DeleteGroupMembershipResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Removes a user from a group so that the user is no longer a member of the group.

    " + }, + "DeleteIAMPolicyAssignment":{ + "name":"DeleteIAMPolicyAssignment", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespace/{Namespace}/iam-policy-assignments/{AssignmentName}" + }, + "input":{"shape":"DeleteIAMPolicyAssignmentRequest"}, + "output":{"shape":"DeleteIAMPolicyAssignmentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConcurrentUpdatingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes an existing IAM policy assignment.

    " + }, + "DeleteTemplate":{ + "name":"DeleteTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}" + }, + "input":{"shape":"DeleteTemplateRequest"}, + "output":{"shape":"DeleteTemplateResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a template.

    " + }, + "DeleteTemplateAlias":{ + "name":"DeleteTemplateAlias", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}" + }, + "input":{"shape":"DeleteTemplateAliasRequest"}, + "output":{"shape":"DeleteTemplateAliasResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes the item that the specified template alias points to. If you provide a specific alias, you delete the version of the template that the alias points to.

    " + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}" + }, + "input":{"shape":"DeleteUserRequest"}, + "output":{"shape":"DeleteUserResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Deletes the Amazon QuickSight user that is associated with the identity of the AWS Identity and Access Management (IAM) user or role that's making the call. The IAM user isn't deleted as a result of this call.

    " + }, + "DeleteUserByPrincipalId":{ + "name":"DeleteUserByPrincipalId", + "http":{ + "method":"DELETE", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/user-principals/{PrincipalId}" + }, + "input":{"shape":"DeleteUserByPrincipalIdRequest"}, + "output":{"shape":"DeleteUserByPrincipalIdResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Deletes a user identified by its principal ID.

    " + }, + "DescribeDashboard":{ + "name":"DescribeDashboard", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}" + }, + "input":{"shape":"DescribeDashboardRequest"}, + "output":{"shape":"DescribeDashboardResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Provides a summary for a dashboard.

    " + }, + "DescribeDashboardPermissions":{ + "name":"DescribeDashboardPermissions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions" + }, + "input":{"shape":"DescribeDashboardPermissionsRequest"}, + "output":{"shape":"DescribeDashboardPermissionsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes read and write permissions for a dashboard.

    " + }, + "DescribeDataSet":{ + "name":"DescribeDataSet", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}" + }, + "input":{"shape":"DescribeDataSetRequest"}, + "output":{"shape":"DescribeDataSetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes a dataset.

    " + }, + "DescribeDataSetPermissions":{ + "name":"DescribeDataSetPermissions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions" + }, + "input":{"shape":"DescribeDataSetPermissionsRequest"}, + "output":{"shape":"DescribeDataSetPermissionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes the permissions on a dataset.

    The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id.

    " + }, + "DescribeDataSource":{ + "name":"DescribeDataSource", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sources/{DataSourceId}" + }, + "input":{"shape":"DescribeDataSourceRequest"}, + "output":{"shape":"DescribeDataSourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes a data source.

    " + }, + "DescribeDataSourcePermissions":{ + "name":"DescribeDataSourcePermissions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions" + }, + "input":{"shape":"DescribeDataSourcePermissionsRequest"}, + "output":{"shape":"DescribeDataSourcePermissionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes the resource permissions for a data source.

    " + }, + "DescribeGroup":{ + "name":"DescribeGroup", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}" + }, + "input":{"shape":"DescribeGroupRequest"}, + "output":{"shape":"DescribeGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Returns an Amazon QuickSight group's description and Amazon Resource Name (ARN).

    " + }, + "DescribeIAMPolicyAssignment":{ + "name":"DescribeIAMPolicyAssignment", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}" + }, + "input":{"shape":"DescribeIAMPolicyAssignmentRequest"}, + "output":{"shape":"DescribeIAMPolicyAssignmentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes an existing IAM policy assignment, as specified by the assignment name.

    " + }, + "DescribeIngestion":{ + "name":"DescribeIngestion", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions/{IngestionId}" + }, + "input":{"shape":"DescribeIngestionRequest"}, + "output":{"shape":"DescribeIngestionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes a SPICE ingestion.

    " + }, + "DescribeTemplate":{ + "name":"DescribeTemplate", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}" + }, + "input":{"shape":"DescribeTemplateRequest"}, + "output":{"shape":"DescribeTemplateResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes a template's metadata.

    " + }, + "DescribeTemplateAlias":{ + "name":"DescribeTemplateAlias", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}" + }, + "input":{"shape":"DescribeTemplateAliasRequest"}, + "output":{"shape":"DescribeTemplateAliasResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes the template alias for a template.

    " + }, + "DescribeTemplatePermissions":{ + "name":"DescribeTemplatePermissions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/permissions" + }, + "input":{"shape":"DescribeTemplatePermissionsRequest"}, + "output":{"shape":"DescribeTemplatePermissionsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Describes read and write permissions on a template.

    " + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Returns information about a user, given the user name.

    " + }, + "GetDashboardEmbedUrl":{ + "name":"GetDashboardEmbedUrl", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}/embed-url" + }, + "input":{"shape":"GetDashboardEmbedUrlRequest"}, + "output":{"shape":"GetDashboardEmbedUrlResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"DomainNotWhitelistedException"}, + {"shape":"QuickSightUserNotFoundException"}, + {"shape":"IdentityTypeNotSupportedException"}, + {"shape":"SessionLifetimeInMinutesInvalidException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Generates a server-side embeddable URL and authorization code. For this process to work properly, first configure the dashboards and user permissions. For more information, see Embedding Amazon QuickSight Dashboards in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards in the Amazon QuickSight API Reference.

    Currently, you can use GetDashboardEmbedURL only from the server, not from the user’s browser.

    " + }, + "ListDashboardVersions":{ + "name":"ListDashboardVersions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions" + }, + "input":{"shape":"ListDashboardVersionsRequest"}, + "output":{"shape":"ListDashboardVersionsResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all the versions of the dashboards in the QuickSight subscription.

    " + }, + "ListDashboards":{ + "name":"ListDashboards", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/dashboards" + }, + "input":{"shape":"ListDashboardsRequest"}, + "output":{"shape":"ListDashboardsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists dashboards in an AWS account.

    " + }, + "ListDataSets":{ + "name":"ListDataSets", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sets" + }, + "input":{"shape":"ListDataSetsRequest"}, + "output":{"shape":"ListDataSetsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all of the datasets belonging to the current AWS account in an AWS Region.

    The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/*.

    " + }, + "ListDataSources":{ + "name":"ListDataSources", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sources" + }, + "input":{"shape":"ListDataSourcesRequest"}, + "output":{"shape":"ListDataSourcesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists data sources in current AWS Region that belong to this AWS account.

    " + }, + "ListGroupMemberships":{ + "name":"ListGroupMemberships", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}/members" + }, + "input":{"shape":"ListGroupMembershipsRequest"}, + "output":{"shape":"ListGroupMembershipsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Lists member users in a group.

    " + }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups" + }, + "input":{"shape":"ListGroupsRequest"}, + "output":{"shape":"ListGroupsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Lists all user groups in Amazon QuickSight.

    " + }, + "ListIAMPolicyAssignments":{ + "name":"ListIAMPolicyAssignments", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments" + }, + "input":{"shape":"ListIAMPolicyAssignmentsRequest"}, + "output":{"shape":"ListIAMPolicyAssignmentsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists IAM policy assignments in the current Amazon QuickSight account.

    " + }, + "ListIAMPolicyAssignmentsForUser":{ + "name":"ListIAMPolicyAssignmentsForUser", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/iam-policy-assignments" + }, + "input":{"shape":"ListIAMPolicyAssignmentsForUserRequest"}, + "output":{"shape":"ListIAMPolicyAssignmentsForUserResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConcurrentUpdatingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all the IAM policy assignments, including the Amazon Resource Names (ARNs) for the IAM policies assigned to the specified user and group or groups that the user belongs to.

    " + }, + "ListIngestions":{ + "name":"ListIngestions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/ingestions" + }, + "input":{"shape":"ListIngestionsRequest"}, + "output":{"shape":"ListIngestionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists the history of SPICE ingestions for a dataset.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/resources/{ResourceArn}/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists the tags assigned to a resource.

    " + }, + "ListTemplateAliases":{ + "name":"ListTemplateAliases", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/aliases" + }, + "input":{"shape":"ListTemplateAliasesRequest"}, + "output":{"shape":"ListTemplateAliasesResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all the aliases of a template.

    " + }, + "ListTemplateVersions":{ + "name":"ListTemplateVersions", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/versions" + }, + "input":{"shape":"ListTemplateVersionsRequest"}, + "output":{"shape":"ListTemplateVersionsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all the versions of the templates in the current Amazon QuickSight account.

    " + }, + "ListTemplates":{ + "name":"ListTemplates", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/templates" + }, + "input":{"shape":"ListTemplatesRequest"}, + "output":{"shape":"ListTemplatesResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists all the templates in the current Amazon QuickSight account.

    " + }, + "ListUserGroups":{ + "name":"ListUserGroups", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}/groups" + }, + "input":{"shape":"ListUserGroupsRequest"}, + "output":{"shape":"ListUserGroupsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Lists the Amazon QuickSight groups that an Amazon QuickSight user is a member of.

    " + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"GET", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Returns a list of all of the Amazon QuickSight users belonging to this account.

    " + }, + "RegisterUser":{ + "name":"RegisterUser", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users" + }, + "input":{"shape":"RegisterUserRequest"}, + "output":{"shape":"RegisterUserResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceExistsException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Creates an Amazon QuickSight user, whose identity is associated with the AWS Identity and Access Management (IAM) identity or role specified in the request.

    " + }, + "SearchDashboards":{ + "name":"SearchDashboards", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/search/dashboards" + }, + "input":{"shape":"SearchDashboardsRequest"}, + "output":{"shape":"SearchDashboardsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Searchs for dashboards that belong to a user.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/resources/{ResourceArn}/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Assigns one or more tags (key-value pairs) to the specified QuickSight resource.

    Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values. You can use the TagResource operation with a resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the list of tags associated with the resource. If you specify a tag key that is already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

    You can associate as many as 50 tags with a resource. QuickSight supports tagging on data set, data source, dashboard, and template.

    Tagging for QuickSight works in a similar way to tagging for other AWS services, except for the following:

    • You can't use tags to track AWS costs for QuickSight. This restriction is because QuickSight costs are based on users and SPICE capacity, which aren't taggable resources.

    • QuickSight doesn't currently support the Tag Editor for AWS Resource Groups.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/resources/{ResourceArn}/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Removes a tag or tags from a resource.

    " + }, + "UpdateDashboard":{ + "name":"UpdateDashboard", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}" + }, + "input":{"shape":"UpdateDashboardRequest"}, + "output":{"shape":"UpdateDashboardResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates a dashboard in an AWS account.

    " + }, + "UpdateDashboardPermissions":{ + "name":"UpdateDashboardPermissions", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions" + }, + "input":{"shape":"UpdateDashboardPermissionsRequest"}, + "output":{"shape":"UpdateDashboardPermissionsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"ConflictException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates read and write permissions on a dashboard.

    " + }, + "UpdateDashboardPublishedVersion":{ + "name":"UpdateDashboardPublishedVersion", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions/{VersionNumber}" + }, + "input":{"shape":"UpdateDashboardPublishedVersionRequest"}, + "output":{"shape":"UpdateDashboardPublishedVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates the published version of a dashboard.

    " + }, + "UpdateDataSet":{ + "name":"UpdateDataSet", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}" + }, + "input":{"shape":"UpdateDataSetRequest"}, + "output":{"shape":"UpdateDataSetResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates a dataset.

    " + }, + "UpdateDataSetPermissions":{ + "name":"UpdateDataSetPermissions", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/data-sets/{DataSetId}/permissions" + }, + "input":{"shape":"UpdateDataSetPermissionsRequest"}, + "output":{"shape":"UpdateDataSetPermissionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates the permissions on a dataset.

    The permissions resource is arn:aws:quicksight:region:aws-account-id:dataset/data-set-id.

    " + }, + "UpdateDataSource":{ + "name":"UpdateDataSource", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/data-sources/{DataSourceId}" + }, + "input":{"shape":"UpdateDataSourceRequest"}, + "output":{"shape":"UpdateDataSourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates a data source.

    " + }, + "UpdateDataSourcePermissions":{ + "name":"UpdateDataSourcePermissions", + "http":{ + "method":"POST", + "requestUri":"/accounts/{AwsAccountId}/data-sources/{DataSourceId}/permissions" + }, + "input":{"shape":"UpdateDataSourcePermissionsRequest"}, + "output":{"shape":"UpdateDataSourcePermissionsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates the permissions to a data source.

    " + }, + "UpdateGroup":{ + "name":"UpdateGroup", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/groups/{GroupName}" + }, + "input":{"shape":"UpdateGroupRequest"}, + "output":{"shape":"UpdateGroupResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"PreconditionNotMetException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Changes a group description.

    " + }, + "UpdateIAMPolicyAssignment":{ + "name":"UpdateIAMPolicyAssignment", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/iam-policy-assignments/{AssignmentName}" + }, + "input":{"shape":"UpdateIAMPolicyAssignmentRequest"}, + "output":{"shape":"UpdateIAMPolicyAssignmentResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConcurrentUpdatingException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates an existing IAM policy assignment. This operation updates only the optional parameter or parameters that are specified in the request.

    " + }, + "UpdateTemplate":{ + "name":"UpdateTemplate", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}" + }, + "input":{"shape":"UpdateTemplateRequest"}, + "output":{"shape":"UpdateTemplateResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates a template from an existing Amazon QuickSight analysis or another template.

    " + }, + "UpdateTemplateAlias":{ + "name":"UpdateTemplateAlias", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/aliases/{AliasName}" + }, + "input":{"shape":"UpdateTemplateAliasRequest"}, + "output":{"shape":"UpdateTemplateAliasResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates the template alias of a template.

    " + }, + "UpdateTemplatePermissions":{ + "name":"UpdateTemplatePermissions", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/templates/{TemplateId}/permissions" + }, + "input":{"shape":"UpdateTemplatePermissionsRequest"}, + "output":{"shape":"UpdateTemplatePermissionsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UnsupportedUserEditionException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Updates the resource permissions for a template.

    " + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"PUT", + "requestUri":"/accounts/{AwsAccountId}/namespaces/{Namespace}/users/{UserName}" + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Updates an Amazon QuickSight user.

    " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    You don't have access to this item. The provided credentials couldn't be validated. You might not be authorized to carry out the request. Make sure that your account is authorized to use the Amazon QuickSight service, that your policies have the correct permissions, and that you are using the correct access keys.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, + "ActionList":{ + "type":"list", + "member":{"shape":"String"}, + "max":16, + "min":1 + }, + "ActiveIAMPolicyAssignment":{ + "type":"structure", + "members":{ + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    A name for the IAM policy assignment.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + }, + "documentation":"

    The active AWS Identity and Access Management (IAM) policy assignment.

    " + }, + "ActiveIAMPolicyAssignmentList":{ + "type":"list", + "member":{"shape":"ActiveIAMPolicyAssignment"} + }, + "AdHocFilteringOption":{ + "type":"structure", + "members":{ + "AvailabilityStatus":{ + "shape":"DashboardBehavior", + "documentation":"

    Availability status.

    " + } + }, + "documentation":"

    Ad hoc (one-time) filtering option.

    " + }, + "AliasName":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\w\\-]+|(\\$LATEST)|(\\$PUBLISHED)" + }, + "AmazonElasticsearchParameters":{ + "type":"structure", + "required":["Domain"], + "members":{ + "Domain":{ + "shape":"Domain", + "documentation":"

    The Amazon Elasticsearch Service domain.

    " + } + }, + "documentation":"

    Amazon Elasticsearch Service parameters.

    " + }, + "Arn":{"type":"string"}, + "AssignmentStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DRAFT", + "DISABLED" + ] + }, + "AthenaParameters":{ + "type":"structure", + "members":{ + "WorkGroup":{ + "shape":"WorkGroup", + "documentation":"

    The workgroup that Amazon Athena uses.

    " + } + }, + "documentation":"

    Amazon Athena parameters.

    " + }, + "AuroraParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    Amazon Aurora parameters.

    " + }, + "AuroraPostgreSqlParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    Amazon Aurora with PostgreSQL compatibility parameters.

    " + }, + "AwsAccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[0-9]{12}$" + }, + "AwsIotAnalyticsParameters":{ + "type":"structure", + "required":["DataSetName"], + "members":{ + "DataSetName":{ + "shape":"DataSetName", + "documentation":"

    Dataset name.

    " + } + }, + "documentation":"

    AWS IoT Analytics parameters.

    " + }, + "Boolean":{"type":"boolean"}, + "CalculatedColumn":{ + "type":"structure", + "required":[ + "ColumnName", + "ColumnId", + "Expression" + ], + "members":{ + "ColumnName":{ + "shape":"ColumnName", + "documentation":"

    Column name.

    " + }, + "ColumnId":{ + "shape":"ColumnId", + "documentation":"

    A unique ID to identify a calculated column. During a dataset update, if the column ID of a calculated column matches that of an existing calculated column, Amazon QuickSight preserves the existing calculated column.

    " + }, + "Expression":{ + "shape":"Expression", + "documentation":"

    An expression that defines the calculated column.

    " + } + }, + "documentation":"

    A calculated column for a dataset.

    " + }, + "CalculatedColumnList":{ + "type":"list", + "member":{"shape":"CalculatedColumn"}, + "max":128, + "min":1 + }, + "CancelIngestionRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId", + "IngestionId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"string", + "documentation":"

    The ID of the dataset used in the ingestion.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    An ID for the ingestion.

    ", + "location":"uri", + "locationName":"IngestionId" + } + } + }, + "CancelIngestionResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the data ingestion.

    " + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    An ID for the ingestion.

    " + }, + "RequestId":{ + "shape":"string", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CastColumnTypeOperation":{ + "type":"structure", + "required":[ + "ColumnName", + "NewColumnType" + ], + "members":{ + "ColumnName":{ + "shape":"ColumnName", + "documentation":"

    Column name.

    " + }, + "NewColumnType":{ + "shape":"ColumnDataType", + "documentation":"

    New column data type.

    " + }, + "Format":{ + "shape":"TypeCastFormat", + "documentation":"

    When casting a column from string to datetime type, you can supply a string in a format supported by Amazon QuickSight to denote the source data format.

    " + } + }, + "documentation":"

    A transform operation that casts a column to a different type.

    " + }, + "Catalog":{ + "type":"string", + "max":128 + }, + "ClusterId":{ + "type":"string", + "max":64, + "min":1 + }, + "ColumnDataType":{ + "type":"string", + "enum":[ + "STRING", + "INTEGER", + "DECIMAL", + "DATETIME" + ] + }, + "ColumnGroup":{ + "type":"structure", + "members":{ + "GeoSpatialColumnGroup":{ + "shape":"GeoSpatialColumnGroup", + "documentation":"

    Geospatial column group that denotes a hierarchy.

    " + } + }, + "documentation":"

    Groupings of columns that work together in certain Amazon QuickSight features. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "ColumnGroupColumnSchema":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the column group's column schema.

    " + } + }, + "documentation":"

    A structure describing the name, data type, and geographic role of the columns.

    " + }, + "ColumnGroupColumnSchemaList":{ + "type":"list", + "member":{"shape":"ColumnGroupColumnSchema"}, + "max":500 + }, + "ColumnGroupList":{ + "type":"list", + "member":{"shape":"ColumnGroup"}, + "max":8, + "min":1 + }, + "ColumnGroupName":{ + "type":"string", + "max":64, + "min":1 + }, + "ColumnGroupSchema":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the column group schema.

    " + }, + "ColumnGroupColumnSchemaList":{ + "shape":"ColumnGroupColumnSchemaList", + "documentation":"

    A structure containing the list of schemas for column group columns.

    " + } + }, + "documentation":"

    The column group schema.

    " + }, + "ColumnGroupSchemaList":{ + "type":"list", + "member":{"shape":"ColumnGroupSchema"}, + "max":500 + }, + "ColumnId":{ + "type":"string", + "max":64, + "min":1 + }, + "ColumnList":{ + "type":"list", + "member":{"shape":"ColumnName"}, + "max":16, + "min":1 + }, + "ColumnName":{ + "type":"string", + "max":128, + "min":1 + }, + "ColumnSchema":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the column schema.

    " + }, + "DataType":{ + "shape":"String", + "documentation":"

    The data type of the column schema.

    " + }, + "GeographicRole":{ + "shape":"String", + "documentation":"

    The geographic role of the column schema.

    " + } + }, + "documentation":"

    The column schema.

    " + }, + "ColumnSchemaList":{ + "type":"list", + "member":{"shape":"ColumnSchema"}, + "max":500 + }, + "ColumnTag":{ + "type":"structure", + "members":{ + "ColumnGeographicRole":{ + "shape":"GeoSpatialDataRole", + "documentation":"

    A geospatial role for a column.

    " + } + }, + "documentation":"

    A tag for a column in a TagColumnOperation structure. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "ColumnTagList":{ + "type":"list", + "member":{"shape":"ColumnTag"}, + "max":16, + "min":1 + }, + "ConcurrentUpdatingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{"shape":"String"} + }, + "documentation":"

    A resource is already in a state that indicates an action is happening that must complete before a new update can be applied.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    Updating or deleting a resource can cause an inconsistent state.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateColumnsOperation":{ + "type":"structure", + "required":["Columns"], + "members":{ + "Columns":{ + "shape":"CalculatedColumnList", + "documentation":"

    Calculated columns to create.

    " + } + }, + "documentation":"

    A transform operation that creates calculated columns. Columns created in one such operation form a lexical closure.

    " + }, + "CreateDashboardRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId", + "Name", + "SourceEntity" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account where you want to create the dashboard.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard, also added to the IAM policy.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "Name":{ + "shape":"DashboardName", + "documentation":"

    The display name of the dashboard.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    A structure that contains the parameters of the dashboard. These are parameter overrides for a dashboard. A dashboard can have any type of parameters, and some parameters might accept multiple values. You can use the dashboard permissions structure described following to override two string parameters that accept multiple values.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A structure that contains the permissions of the dashboard. You can use this structure for granting permissions with principal and action information.

    " + }, + "SourceEntity":{ + "shape":"DashboardSourceEntity", + "documentation":"

    The source entity from which the dashboard is created. The source entity accepts the Amazon Resource Name (ARN) of the source template or analysis and also references the replacement datasets for the placeholders set when creating the template. The replacement datasets need to follow the same schema as the datasets for which placeholders were created when creating the template.

    If you are creating a dashboard from a source entity in a different AWS account, use the ARN of the source template.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the dashboard.

    " + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

    A description for the first version of the dashboard being created.

    " + }, + "DashboardPublishOptions":{ + "shape":"DashboardPublishOptions", + "documentation":"

    Options for publishing the dashboard when you create it:

    • AvailabilityStatus for AdHocFilteringOption - This status can be either ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is ENABLED by default.

    • AvailabilityStatus for ExportToCSVOption - This status can be either ENABLED or DISABLED. The visual option to export data to .csv format isn't enabled when this is set to DISABLED. This option is ENABLED by default.

    • VisibilityState for SheetControlsOption - This visibility state can be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed by default when set to true. This option is COLLAPSED by default.

    " + } + } + }, + "CreateDashboardResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dashboard.

    " + }, + "VersionArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the dashboard, including the version number of the first version that is created.

    " + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    " + }, + "CreationStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The status of the dashboard creation request.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "CreateDataSetRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId", + "Name", + "PhysicalTableMap", + "ImportMode" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    An ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The display name for the dataset.

    " + }, + "PhysicalTableMap":{ + "shape":"PhysicalTableMap", + "documentation":"

    Declares the physical tables that are available in the underlying data sources.

    " + }, + "LogicalTableMap":{ + "shape":"LogicalTableMap", + "documentation":"

    Configures the combination and transformation of the data from the physical tables.

    " + }, + "ImportMode":{ + "shape":"DataSetImportMode", + "documentation":"

    Indicates whether you want to import the data into SPICE.

    " + }, + "ColumnGroups":{ + "shape":"ColumnGroupList", + "documentation":"

    Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions on the dataset.

    " + }, + "RowLevelPermissionDataSet":{ + "shape":"RowLevelPermissionDataSet", + "documentation":"

    The row-level security configuration for the data that you want to create.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the dataset.

    " + } + } + }, + "CreateDataSetResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    " + }, + "IngestionArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the ingestion, which is triggered as a result of dataset creation if the import mode is SPICE.

    " + }, + "IngestionId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the ingestion, which is triggered as a result of dataset creation if the import mode is SPICE.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CreateDataSourceRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId", + "Name", + "Type" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    An ID for the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A display name for the data source.

    " + }, + "Type":{ + "shape":"DataSourceType", + "documentation":"

    The type of the data source. Currently, the supported types for this operation are: ATHENA, AURORA, AURORA_POSTGRESQL, MARIADB, MYSQL, POSTGRESQL, PRESTO, REDSHIFT, S3, SNOWFLAKE, SPARK, SQLSERVER, TERADATA. Use ListDataSources to return a list of all data sources.

    " + }, + "DataSourceParameters":{ + "shape":"DataSourceParameters", + "documentation":"

    The parameters that QuickSight uses to connect to your underlying source.

    " + }, + "Credentials":{ + "shape":"DataSourceCredentials", + "documentation":"

    The credentials QuickSight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions on the data source.

    " + }, + "VpcConnectionProperties":{ + "shape":"VpcConnectionProperties", + "documentation":"

    Use this parameter only when you want QuickSight to use a VPC connection when connecting to your underlying source.

    " + }, + "SslProperties":{ + "shape":"SslProperties", + "documentation":"

    Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying source.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the data source.

    " + } + } + }, + "CreateDataSourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "CreationStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The status of creating the data source.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CreateGroupMembershipRequest":{ + "type":"structure", + "required":[ + "MemberName", + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "MemberName":{ + "shape":"GroupMemberName", + "documentation":"

    The name of the user that you want to add to the group membership.

    ", + "location":"uri", + "locationName":"MemberName" + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to add the user to.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "CreateGroupMembershipResponse":{ + "type":"structure", + "members":{ + "GroupMember":{ + "shape":"GroupMember", + "documentation":"

    The group member.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CreateGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    A name for the group that you want to create.

    " + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    A description for the group that you want to create.

    " + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + }, + "documentation":"

    The request object for this operation.

    " + }, + "CreateGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The name of the group.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + }, + "documentation":"

    The response object for this operation.

    " + }, + "CreateIAMPolicyAssignmentRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AssignmentName", + "AssignmentStatus", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account where you want to assign an IAM policy to QuickSight users or groups.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment. It must be unique within an AWS account.

    " + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    The status of the assignment. Possible values are as follows:

    • ENABLED - Anything specified in this assignment is used when creating the data source.

    • DISABLED - This assignment isn't used when creating the data source.

    • DRAFT - This assignment is an unfinished draft and isn't used when creating the data source.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the IAM policy to apply to the QuickSight users and groups specified in this assignment.

    " + }, + "Identities":{ + "shape":"IdentityMap", + "documentation":"

    The QuickSight users, groups, or both that you want to assign the policy to.

    " + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace that contains the assignment.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "CreateIAMPolicyAssignmentResponse":{ + "type":"structure", + "members":{ + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment. This name must be unique within the AWS account.

    " + }, + "AssignmentId":{ + "shape":"String", + "documentation":"

    The ID for the assignment.

    " + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    The status of the assignment. Possible values are as follows:

    • ENABLED - Anything specified in this assignment is used when creating the data source.

    • DISABLED - This assignment isn't used when creating the data source.

    • DRAFT - This assignment is an unfinished draft and isn't used when creating the data source.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the IAM policy that is applied to the QuickSight users and groups specified in this assignment.

    " + }, + "Identities":{ + "shape":"IdentityMap", + "documentation":"

    The QuickSight users, groups, or both that the IAM policy is assigned to.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CreateIngestionRequest":{ + "type":"structure", + "required":[ + "DataSetId", + "IngestionId", + "AwsAccountId" + ], + "members":{ + "DataSetId":{ + "shape":"string", + "documentation":"

    The ID of the dataset used in the ingestion.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    An ID for the ingestion.

    ", + "location":"uri", + "locationName":"IngestionId" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + } + } + }, + "CreateIngestionResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the data ingestion.

    " + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    An ID for the ingestion.

    " + }, + "IngestionStatus":{ + "shape":"IngestionStatus", + "documentation":"

    The ingestion status.

    " + }, + "RequestId":{ + "shape":"string", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "CreateTemplateAliasRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "AliasName", + "TemplateVersionNumber" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template that you creating an alias for.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    An ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The name that you want to give to the template alias that you're creating. Don't start the alias name with the $ character. Alias names that start with $ are reserved by QuickSight.

    ", + "location":"uri", + "locationName":"AliasName" + }, + "TemplateVersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the template.

    " + } + } + }, + "CreateTemplateAliasResponse":{ + "type":"structure", + "members":{ + "TemplateAlias":{ + "shape":"TemplateAlias", + "documentation":"

    Information about the template alias.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "CreateTemplateRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "SourceEntity" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    An ID for the template that you want to create. This template is unique per AWS Region in each AWS account.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "Name":{ + "shape":"TemplateName", + "documentation":"

    A display name for the template.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions to be set on the template.

    " + }, + "SourceEntity":{ + "shape":"TemplateSourceEntity", + "documentation":"

    The Amazon Resource Name (ARN) of the source entity from which this template is being created. Currently, you can create a template from an analysis or another template. If the ARN is for an analysis, include its dataset references.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.

    " + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

    A description of the current template version being created. This API operation creates the first version of the template. Every time UpdateTemplate is called, a new version is created. Each version of the template maintains a description of the version in the VersionDescription field.

    " + } + } + }, + "CreateTemplateResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The ARN for the template.

    " + }, + "VersionArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the template, including the version information of the first version.

    " + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID of the template.

    " + }, + "CreationStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The template creation status.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "CredentialPair":{ + "type":"structure", + "required":[ + "Username", + "Password" + ], + "members":{ + "Username":{ + "shape":"Username", + "documentation":"

    User name.

    " + }, + "Password":{ + "shape":"Password", + "documentation":"

    Password.

    " + } + }, + "documentation":"

    The combination of user name and password that are used as credentials.

    " + }, + "CustomSql":{ + "type":"structure", + "required":[ + "DataSourceArn", + "Name", + "SqlQuery" + ], + "members":{ + "DataSourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "Name":{ + "shape":"CustomSqlName", + "documentation":"

    A display name for the SQL query result.

    " + }, + "SqlQuery":{ + "shape":"SqlQuery", + "documentation":"

    The SQL query.

    " + }, + "Columns":{ + "shape":"InputColumnList", + "documentation":"

    The column schema from the SQL query result set.

    " + } + }, + "documentation":"

    A physical table type built from the results of the custom SQL query.

    " + }, + "CustomSqlName":{ + "type":"string", + "max":64, + "min":1 + }, + "Dashboard":{ + "type":"structure", + "members":{ + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    Dashboard ID.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "Name":{ + "shape":"DashboardName", + "documentation":"

    A display name for the dashboard.

    " + }, + "Version":{ + "shape":"DashboardVersion", + "documentation":"

    Version.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dataset was created.

    " + }, + "LastPublishedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dataset was published.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dataset was updated.

    " + } + }, + "documentation":"

    Dashboard.

    " + }, + "DashboardBehavior":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "DashboardError":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"DashboardErrorType", + "documentation":"

    Type.

    " + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

    Message.

    " + } + }, + "documentation":"

    Dashboard error.

    " + }, + "DashboardErrorList":{ + "type":"list", + "member":{"shape":"DashboardError"}, + "min":1 + }, + "DashboardErrorType":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "SOURCE_NOT_FOUND", + "DATA_SET_NOT_FOUND", + "INTERNAL_FAILURE", + "PARAMETER_VALUE_INCOMPATIBLE", + "PARAMETER_TYPE_INVALID", + "PARAMETER_NOT_FOUND", + "COLUMN_TYPE_MISMATCH", + "COLUMN_GEOGRAPHIC_ROLE_MISMATCH", + "COLUMN_REPLACEMENT_MISSING" + ] + }, + "DashboardFilterAttribute":{ + "type":"string", + "enum":["QUICKSIGHT_USER"] + }, + "DashboardName":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "DashboardPublishOptions":{ + "type":"structure", + "members":{ + "AdHocFilteringOption":{ + "shape":"AdHocFilteringOption", + "documentation":"

    Ad hoc (one-time) filtering option.

    " + }, + "ExportToCSVOption":{ + "shape":"ExportToCSVOption", + "documentation":"

    Export to .csv option.

    " + }, + "SheetControlsOption":{ + "shape":"SheetControlsOption", + "documentation":"

    Sheet controls option.

    " + } + }, + "documentation":"

    Dashboard publish options.

    " + }, + "DashboardSearchFilter":{ + "type":"structure", + "required":["Operator"], + "members":{ + "Operator":{ + "shape":"FilterOperator", + "documentation":"

    The comparison operator that you want to use as a filter. For example, \"Operator\": \"StringEquals\".

    " + }, + "Name":{ + "shape":"DashboardFilterAttribute", + "documentation":"

    The name of the value that you want to use as a filter. For example, \"Name\": \"QUICKSIGHT_USER\".

    " + }, + "Value":{ + "shape":"String", + "documentation":"

    The value of the named item, in this case QUICKSIGHT_USER, that you want to use as a filter. For example, \"Value\": \"arn:aws:quicksight:us-east-1:1:user/default/UserName1\".

    " + } + }, + "documentation":"

    A filter that you apply when searching for dashboards.

    " + }, + "DashboardSearchFilterList":{ + "type":"list", + "member":{"shape":"DashboardSearchFilter"}, + "max":1 + }, + "DashboardSourceEntity":{ + "type":"structure", + "members":{ + "SourceTemplate":{ + "shape":"DashboardSourceTemplate", + "documentation":"

    Source template.

    " + } + }, + "documentation":"

    Dashboard source entity.

    " + }, + "DashboardSourceTemplate":{ + "type":"structure", + "required":[ + "DataSetReferences", + "Arn" + ], + "members":{ + "DataSetReferences":{ + "shape":"DataSetReferenceList", + "documentation":"

    Dataset references.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + }, + "documentation":"

    Dashboard source template.

    " + }, + "DashboardSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    Dashboard ID.

    " + }, + "Name":{ + "shape":"DashboardName", + "documentation":"

    A display name for the dashboard.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dashboard was created.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dashboard was updated.

    " + }, + "PublishedVersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    Published version number.

    " + }, + "LastPublishedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dashboard was published.

    " + } + }, + "documentation":"

    Dashboard summary.

    " + }, + "DashboardSummaryList":{ + "type":"list", + "member":{"shape":"DashboardSummary"}, + "max":100 + }, + "DashboardUIState":{ + "type":"string", + "enum":[ + "EXPANDED", + "COLLAPSED" + ] + }, + "DashboardVersion":{ + "type":"structure", + "members":{ + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dashboard version was created.

    " + }, + "Errors":{ + "shape":"DashboardErrorList", + "documentation":"

    Errors.

    " + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    Version number.

    " + }, + "Status":{ + "shape":"ResourceStatus", + "documentation":"

    The HTTP status of the request.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "SourceEntityArn":{ + "shape":"Arn", + "documentation":"

    Source entity ARN.

    " + }, + "DataSetArns":{ + "shape":"DataSetArnsList", + "documentation":"

    The Amazon Resource Numbers (ARNs) for the datasets that are associated with a version of the dashboard.

    " + }, + "Description":{ + "shape":"VersionDescription", + "documentation":"

    Description.

    " + } + }, + "documentation":"

    Dashboard version.

    " + }, + "DashboardVersionSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dashboard version was created.

    " + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    Version number.

    " + }, + "Status":{ + "shape":"ResourceStatus", + "documentation":"

    The HTTP status of the request.

    " + }, + "SourceEntityArn":{ + "shape":"Arn", + "documentation":"

    Source entity ARN.

    " + }, + "Description":{ + "shape":"VersionDescription", + "documentation":"

    Description.

    " + } + }, + "documentation":"

    Dashboard version summary.

    " + }, + "DashboardVersionSummaryList":{ + "type":"list", + "member":{"shape":"DashboardVersionSummary"}, + "max":100 + }, + "DataSet":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the dataset.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A display name for the dataset.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dataset was created.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dataset was updated.

    " + }, + "PhysicalTableMap":{ + "shape":"PhysicalTableMap", + "documentation":"

    Declares the physical tables that are available in the underlying data sources.

    " + }, + "LogicalTableMap":{ + "shape":"LogicalTableMap", + "documentation":"

    Configures the combination and transformation of the data from the physical tables.

    " + }, + "OutputColumns":{ + "shape":"OutputColumnList", + "documentation":"

    The list of columns after all transforms. These columns are available in templates, analyses, and dashboards.

    " + }, + "ImportMode":{ + "shape":"DataSetImportMode", + "documentation":"

    Indicates whether you want to import the data into SPICE.

    " + }, + "ConsumedSpiceCapacityInBytes":{ + "shape":"Long", + "documentation":"

    The amount of SPICE capacity used by this dataset. This is 0 if the dataset isn't imported into SPICE.

    " + }, + "ColumnGroups":{ + "shape":"ColumnGroupList", + "documentation":"

    Groupings of columns that work together in certain Amazon QuickSight features. Currently, only geospatial hierarchy is supported.

    " + }, + "RowLevelPermissionDataSet":{ + "shape":"RowLevelPermissionDataSet", + "documentation":"

    The row-level security configuration for the dataset.

    " + } + }, + "documentation":"

    Dataset.

    " + }, + "DataSetArnsList":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100 + }, + "DataSetConfiguration":{ + "type":"structure", + "members":{ + "Placeholder":{ + "shape":"String", + "documentation":"

    Placeholder.

    " + }, + "DataSetSchema":{ + "shape":"DataSetSchema", + "documentation":"

    Dataset schema.

    " + }, + "ColumnGroupSchemaList":{ + "shape":"ColumnGroupSchemaList", + "documentation":"

    A structure containing the list of column group schemas.

    " + } + }, + "documentation":"

    Dataset configuration.

    " + }, + "DataSetConfigurationList":{ + "type":"list", + "member":{"shape":"DataSetConfiguration"}, + "max":30 + }, + "DataSetImportMode":{ + "type":"string", + "enum":[ + "SPICE", + "DIRECT_QUERY" + ] + }, + "DataSetName":{ + "type":"string", + "max":128, + "min":1 + }, + "DataSetReference":{ + "type":"structure", + "required":[ + "DataSetPlaceholder", + "DataSetArn" + ], + "members":{ + "DataSetPlaceholder":{ + "shape":"NonEmptyString", + "documentation":"

    Dataset placeholder.

    " + }, + "DataSetArn":{ + "shape":"Arn", + "documentation":"

    Dataset Amazon Resource Name (ARN).

    " + } + }, + "documentation":"

    Dataset reference.

    " + }, + "DataSetReferenceList":{ + "type":"list", + "member":{"shape":"DataSetReference"}, + "min":1 + }, + "DataSetSchema":{ + "type":"structure", + "members":{ + "ColumnSchemaList":{ + "shape":"ColumnSchemaList", + "documentation":"

    A structure containing the list of column schemas.

    " + } + }, + "documentation":"

    Dataset schema.

    " + }, + "DataSetSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the dataset.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A display name for the dataset.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this dataset was created.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this dataset was updated.

    " + }, + "ImportMode":{ + "shape":"DataSetImportMode", + "documentation":"

    Indicates whether you want to import the data into SPICE.

    " + }, + "RowLevelPermissionDataSet":{ + "shape":"RowLevelPermissionDataSet", + "documentation":"

    The row-level security configuration for the dataset.

    " + } + }, + "documentation":"

    Dataset summary.

    " + }, + "DataSetSummaryList":{ + "type":"list", + "member":{"shape":"DataSetSummary"} + }, + "DataSource":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A display name for the data source.

    " + }, + "Type":{ + "shape":"DataSourceType", + "documentation":"

    The type of the data source. This type indicates which database engine the data source connects to.

    " + }, + "Status":{ + "shape":"ResourceStatus", + "documentation":"

    The HTTP status of the request.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this data source was created.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this data source was updated.

    " + }, + "DataSourceParameters":{ + "shape":"DataSourceParameters", + "documentation":"

    The parameters that Amazon QuickSight uses to connect to your underlying source. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "VpcConnectionProperties":{ + "shape":"VpcConnectionProperties", + "documentation":"

    The VPC connection information. You need to use this parameter only when you want QuickSight to use a VPC connection when connecting to your underlying source.

    " + }, + "SslProperties":{ + "shape":"SslProperties", + "documentation":"

    Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying source.

    " + }, + "ErrorInfo":{ + "shape":"DataSourceErrorInfo", + "documentation":"

    Error information from the last update or the creation of the data source.

    " + } + }, + "documentation":"

    The structure of a data source.

    " + }, + "DataSourceCredentials":{ + "type":"structure", + "members":{ + "CredentialPair":{ + "shape":"CredentialPair", + "documentation":"

    Credential pair.

    " + } + }, + "documentation":"

    Data source credentials.

    ", + "sensitive":true + }, + "DataSourceErrorInfo":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"DataSourceErrorInfoType", + "documentation":"

    Error type.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    Error message.

    " + } + }, + "documentation":"

    Error information for the data source creation or update.

    " + }, + "DataSourceErrorInfoType":{ + "type":"string", + "enum":[ + "TIMEOUT", + "ENGINE_VERSION_NOT_SUPPORTED", + "UNKNOWN_HOST", + "GENERIC_SQL_FAILURE", + "CONFLICT", + "UNKNOWN" + ] + }, + "DataSourceList":{ + "type":"list", + "member":{"shape":"DataSource"} + }, + "DataSourceParameters":{ + "type":"structure", + "members":{ + "AmazonElasticsearchParameters":{ + "shape":"AmazonElasticsearchParameters", + "documentation":"

    Amazon Elasticsearch Service parameters.

    " + }, + "AthenaParameters":{ + "shape":"AthenaParameters", + "documentation":"

    Amazon Athena parameters.

    " + }, + "AuroraParameters":{ + "shape":"AuroraParameters", + "documentation":"

    Amazon Aurora MySQL parameters.

    " + }, + "AuroraPostgreSqlParameters":{ + "shape":"AuroraPostgreSqlParameters", + "documentation":"

    Aurora PostgreSQL parameters.

    " + }, + "AwsIotAnalyticsParameters":{ + "shape":"AwsIotAnalyticsParameters", + "documentation":"

    AWS IoT Analytics parameters.

    " + }, + "JiraParameters":{ + "shape":"JiraParameters", + "documentation":"

    Jira parameters.

    " + }, + "MariaDbParameters":{ + "shape":"MariaDbParameters", + "documentation":"

    MariaDB parameters.

    " + }, + "MySqlParameters":{ + "shape":"MySqlParameters", + "documentation":"

    MySQL parameters.

    " + }, + "PostgreSqlParameters":{ + "shape":"PostgreSqlParameters", + "documentation":"

    PostgreSQL parameters.

    " + }, + "PrestoParameters":{ + "shape":"PrestoParameters", + "documentation":"

    Presto parameters.

    " + }, + "RdsParameters":{ + "shape":"RdsParameters", + "documentation":"

    Amazon RDS parameters.

    " + }, + "RedshiftParameters":{ + "shape":"RedshiftParameters", + "documentation":"

    Amazon Redshift parameters.

    " + }, + "S3Parameters":{ + "shape":"S3Parameters", + "documentation":"

    S3 parameters.

    " + }, + "ServiceNowParameters":{ + "shape":"ServiceNowParameters", + "documentation":"

    ServiceNow parameters.

    " + }, + "SnowflakeParameters":{ + "shape":"SnowflakeParameters", + "documentation":"

    Snowflake parameters.

    " + }, + "SparkParameters":{ + "shape":"SparkParameters", + "documentation":"

    Spark parameters.

    " + }, + "SqlServerParameters":{ + "shape":"SqlServerParameters", + "documentation":"

    SQL Server parameters.

    " + }, + "TeradataParameters":{ + "shape":"TeradataParameters", + "documentation":"

    Teradata parameters.

    " + }, + "TwitterParameters":{ + "shape":"TwitterParameters", + "documentation":"

    Twitter parameters.

    " + } + }, + "documentation":"

    The parameters that Amazon QuickSight uses to connect to your underlying data source. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "DataSourceType":{ + "type":"string", + "enum":[ + "ADOBE_ANALYTICS", + "AMAZON_ELASTICSEARCH", + "ATHENA", + "AURORA", + "AURORA_POSTGRESQL", + "AWS_IOT_ANALYTICS", + "GITHUB", + "JIRA", + "MARIADB", + "MYSQL", + "POSTGRESQL", + "PRESTO", + "REDSHIFT", + "S3", + "SALESFORCE", + "SERVICENOW", + "SNOWFLAKE", + "SPARK", + "SQLSERVER", + "TERADATA", + "TWITTER" + ] + }, + "Database":{ + "type":"string", + "max":128, + "min":1 + }, + "DateTimeParameter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    A display name for the dataset.

    " + }, + "Values":{ + "shape":"TimestampList", + "documentation":"

    Values.

    " + } + }, + "documentation":"

    Date time parameter.

    " + }, + "DateTimeParameterList":{ + "type":"list", + "member":{"shape":"DateTimeParameter"}, + "max":100 + }, + "DecimalParameter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    A display name for the dataset.

    " + }, + "Values":{ + "shape":"DoubleList", + "documentation":"

    Values.

    " + } + }, + "documentation":"

    Decimal parameter.

    " + }, + "DecimalParameterList":{ + "type":"list", + "member":{"shape":"DecimalParameter"}, + "max":100 + }, + "DeleteDashboardRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're deleting.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the dashboard. If the version number property is provided, only the specified version of the dashboard is deleted.

    ", + "location":"querystring", + "locationName":"version-number" + } + } + }, + "DeleteDashboardResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Secure Socket Layer (SSL) properties that apply for the resource.

    " + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID of the dashboard.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "DeleteDataSetRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSetId" + } + } + }, + "DeleteDataSetResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteDataSourceRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSourceId" + } + } + }, + "DeleteDataSourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source that you deleted.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteGroupMembershipRequest":{ + "type":"structure", + "required":[ + "MemberName", + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "MemberName":{ + "shape":"GroupMemberName", + "documentation":"

    The name of the user that you want to delete from the group membership.

    ", + "location":"uri", + "locationName":"MemberName" + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to delete the user from.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DeleteGroupMembershipResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to delete.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DeleteGroupResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteIAMPolicyAssignmentRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AssignmentName", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID where you want to delete the IAM policy assignment.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment.

    ", + "location":"uri", + "locationName":"AssignmentName" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace that contains the assignment.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DeleteIAMPolicyAssignmentResponse":{ + "type":"structure", + "members":{ + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteTemplateAliasRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "AliasName" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the item to delete.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template that the specified alias is for.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The name for the template alias. If you name a specific alias, you delete the version that the alias points to. You can specify the latest version of the template by providing the keyword $LATEST in the AliasName parameter.

    ", + "location":"uri", + "locationName":"AliasName" + } + } + }, + "DeleteTemplateAliasResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    An ID for the template associated with the deletion.

    " + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The name for the template alias.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "DeleteTemplateRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template that you're deleting.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    An ID for the template you want to delete.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    Specifies the version of the template that you want to delete. If you don't provide a version number, DeleteTemplate deletes all versions of the template.

    ", + "location":"querystring", + "locationName":"version-number" + } + } + }, + "DeleteTemplateResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    An ID for the template.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteUserByPrincipalIdRequest":{ + "type":"structure", + "required":[ + "PrincipalId", + "AwsAccountId", + "Namespace" + ], + "members":{ + "PrincipalId":{ + "shape":"String", + "documentation":"

    The principal ID of the user.

    ", + "location":"uri", + "locationName":"PrincipalId" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + }, + "documentation":"

    " + }, + "DeleteUserByPrincipalIdResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user that you want to delete.

    ", + "location":"uri", + "locationName":"UserName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DeleteUserResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "Delimiter":{ + "type":"string", + "max":1, + "min":1 + }, + "DescribeDashboardPermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're describing permissions for.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard, also added to the IAM policy.

    ", + "location":"uri", + "locationName":"DashboardId" + } + } + }, + "DescribeDashboardPermissionsResponse":{ + "type":"structure", + "members":{ + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    " + }, + "DashboardArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dashboard.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A structure that contains the permissions for the dashboard.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "DescribeDashboardRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're describing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number for the dashboard. If a version number isn't passed, the latest published dashboard version is described.

    ", + "location":"querystring", + "locationName":"version-number" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The alias name.

    ", + "location":"querystring", + "locationName":"alias-name" + } + } + }, + "DescribeDashboardResponse":{ + "type":"structure", + "members":{ + "Dashboard":{ + "shape":"Dashboard", + "documentation":"

    Information about the dashboard.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of this request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "DescribeDataSetPermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSetId" + } + } + }, + "DescribeDataSetPermissionsResponse":{ + "type":"structure", + "members":{ + "DataSetArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions on the dataset.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeDataSetRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSetId" + } + } + }, + "DescribeDataSetResponse":{ + "type":"structure", + "members":{ + "DataSet":{ + "shape":"DataSet", + "documentation":"

    Information on the dataset.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeDataSourcePermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSourceId" + } + } + }, + "DescribeDataSourcePermissionsResponse":{ + "type":"structure", + "members":{ + "DataSourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions on the data source.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeDataSourceRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSourceId" + } + } + }, + "DescribeDataSourceResponse":{ + "type":"structure", + "members":{ + "DataSource":{ + "shape":"DataSource", + "documentation":"

    The information on the data source.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to describe.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DescribeGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The name of the group.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeIAMPolicyAssignmentRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AssignmentName", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the assignment that you want to describe.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment.

    ", + "location":"uri", + "locationName":"AssignmentName" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace that contains the assignment.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DescribeIAMPolicyAssignmentResponse":{ + "type":"structure", + "members":{ + "IAMPolicyAssignment":{ + "shape":"IAMPolicyAssignment", + "documentation":"

    Information describing the IAM policy assignment.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeIngestionRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId", + "IngestionId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"string", + "documentation":"

    The ID of the dataset used in the ingestion.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    An ID for the ingestion.

    ", + "location":"uri", + "locationName":"IngestionId" + } + } + }, + "DescribeIngestionResponse":{ + "type":"structure", + "members":{ + "Ingestion":{ + "shape":"Ingestion", + "documentation":"

    Information about the ingestion.

    " + }, + "RequestId":{ + "shape":"string", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeTemplateAliasRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "AliasName" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template alias that you're describing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The name of the template alias that you want to describe. If you name a specific alias, you describe the version that the alias points to. You can specify the latest version of the template by providing the keyword $LATEST in the AliasName parameter. The keyword $PUBLISHED doesn't apply to templates.

    ", + "location":"uri", + "locationName":"AliasName" + } + } + }, + "DescribeTemplateAliasResponse":{ + "type":"structure", + "members":{ + "TemplateAlias":{ + "shape":"TemplateAlias", + "documentation":"

    Information about the template alias.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "DescribeTemplatePermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template that you're describing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + } + } + }, + "DescribeTemplatePermissionsResponse":{ + "type":"structure", + "members":{ + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    " + }, + "TemplateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the template.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions to be set on the template.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeTemplateRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template that you're describing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    (Optional) The number for the version to describe. If a VersionNumber parameter value isn't provided, the latest version of the template is described.

    ", + "location":"querystring", + "locationName":"version-number" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The alias of the template that you want to describe. If you name a specific alias, you describe the version that the alias points to. You can specify the latest version of the template by providing the keyword $LATEST in the AliasName parameter. The keyword $PUBLISHED doesn't apply to templates.

    ", + "location":"querystring", + "locationName":"alias-name" + } + } + }, + "DescribeTemplateResponse":{ + "type":"structure", + "members":{ + "Template":{ + "shape":"Template", + "documentation":"

    The template structure for the object you want to describe.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user that you want to describe.

    ", + "location":"uri", + "locationName":"UserName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "DescribeUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The user name.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "Domain":{ + "type":"string", + "max":64, + "min":1 + }, + "DomainNotWhitelistedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The domain specified isn't on the allow list. All domains for embedded dashboards must be added to the approved list by an Amazon QuickSight admin.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "Double":{"type":"double"}, + "DoubleList":{ + "type":"list", + "member":{"shape":"Double"} + }, + "EmbeddingUrl":{ + "type":"string", + "sensitive":true + }, + "ErrorInfo":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"IngestionErrorType", + "documentation":"

    Error type.

    " + }, + "Message":{ + "shape":"string", + "documentation":"

    Error message.

    " + } + }, + "documentation":"

    Error information for the SPICE ingestion of a dataset.

    " + }, + "ExceptionResourceType":{ + "type":"string", + "enum":[ + "USER", + "GROUP", + "NAMESPACE", + "ACCOUNT_SETTINGS", + "IAMPOLICY_ASSIGNMENT", + "DATA_SOURCE", + "DATA_SET", + "VPC_CONNECTION", + "INGESTION" + ] + }, + "ExportToCSVOption":{ + "type":"structure", + "members":{ + "AvailabilityStatus":{ + "shape":"DashboardBehavior", + "documentation":"

    Availability status.

    " + } + }, + "documentation":"

    Export to .csv option.

    " + }, + "Expression":{ + "type":"string", + "max":4096, + "min":1 + }, + "FileFormat":{ + "type":"string", + "enum":[ + "CSV", + "TSV", + "CLF", + "ELF", + "XLSX", + "JSON" + ] + }, + "FilterOperation":{ + "type":"structure", + "required":["ConditionExpression"], + "members":{ + "ConditionExpression":{ + "shape":"Expression", + "documentation":"

    An expression that must evaluate to a Boolean value. Rows for which the expression evaluates to true are kept in the dataset.

    " + } + }, + "documentation":"

    A transform operation that filters rows based on a condition.

    " + }, + "FilterOperator":{ + "type":"string", + "enum":["StringEquals"] + }, + "GeoSpatialColumnGroup":{ + "type":"structure", + "required":[ + "Name", + "CountryCode", + "Columns" + ], + "members":{ + "Name":{ + "shape":"ColumnGroupName", + "documentation":"

    A display name for the hierarchy.

    " + }, + "CountryCode":{ + "shape":"GeoSpatialCountryCode", + "documentation":"

    Country code.

    " + }, + "Columns":{ + "shape":"ColumnList", + "documentation":"

    Columns in this hierarchy.

    " + } + }, + "documentation":"

    Geospatial column group that denotes a hierarchy.

    " + }, + "GeoSpatialCountryCode":{ + "type":"string", + "enum":["US"] + }, + "GeoSpatialDataRole":{ + "type":"string", + "enum":[ + "COUNTRY", + "STATE", + "COUNTY", + "CITY", + "POSTCODE", + "LONGITUDE", + "LATITUDE" + ] + }, + "GetDashboardEmbedUrlRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId", + "IdentityType" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that contains the dashboard that you're embedding.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard, also added to the IAM policy.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The authentication method that the user uses to sign in.

    ", + "location":"querystring", + "locationName":"creds-type" + }, + "SessionLifetimeInMinutes":{ + "shape":"SessionLifetimeInMinutes", + "documentation":"

    How many minutes the session is valid. The session lifetime must be 15-600 minutes.

    ", + "location":"querystring", + "locationName":"session-lifetime" + }, + "UndoRedoDisabled":{ + "shape":"boolean", + "documentation":"

    Remove the undo/redo button on the embedded dashboard. The default is FALSE, which enables the undo/redo button.

    ", + "location":"querystring", + "locationName":"undo-redo-disabled" + }, + "ResetDisabled":{ + "shape":"boolean", + "documentation":"

    Remove the reset button on the embedded dashboard. The default is FALSE, which enables the reset button.

    ", + "location":"querystring", + "locationName":"reset-disabled" + }, + "UserArn":{ + "shape":"Arn", + "documentation":"

    The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT identity type. You can use this for any Amazon QuickSight users in your account (readers, authors, or admins) authenticated as one of the following:

    • Active Directory (AD) users or group members

    • Invited nonfederated users

    • IAM users and IAM role-based sessions authenticated through Federated Single Sign-On using SAML, OpenID Connect, or IAM federation.

    ", + "location":"querystring", + "locationName":"user-arn" + } + } + }, + "GetDashboardEmbedUrlResponse":{ + "type":"structure", + "members":{ + "EmbedUrl":{ + "shape":"EmbeddingUrl", + "documentation":"

    An URL that you can put into your server-side webpage to embed your dashboard. This URL is valid for 5 minutes, and the resulting session is valid for 10 hours. The API provides the URL with an auth_code value that enables a single sign-on session.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "Group":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the group.

    " + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group.

    " + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    The group description.

    " + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

    The principal ID of the group.

    " + } + }, + "documentation":"

    A group in Amazon QuickSight consists of a set of users. You can use groups to make it easier to manage access and security. Currently, an Amazon QuickSight subscription can't contain more than 500 Amazon QuickSight groups.

    " + }, + "GroupDescription":{ + "type":"string", + "max":512, + "min":1 + }, + "GroupList":{ + "type":"list", + "member":{"shape":"Group"} + }, + "GroupMember":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the group member (user).

    " + }, + "MemberName":{ + "shape":"GroupMemberName", + "documentation":"

    The name of the group member (user).

    " + } + }, + "documentation":"

    A member of an Amazon QuickSight group. Currently, group members must be users. Groups can't be members of another group. .

    " + }, + "GroupMemberList":{ + "type":"list", + "member":{"shape":"GroupMember"} + }, + "GroupMemberName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "GroupName":{ + "type":"string", + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "Host":{ + "type":"string", + "max":256, + "min":1 + }, + "IAMPolicyAssignment":{ + "type":"structure", + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    " + }, + "AssignmentId":{ + "shape":"String", + "documentation":"

    Assignment ID.

    " + }, + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    Assignment name.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the IAM policy.

    " + }, + "Identities":{ + "shape":"IdentityMap", + "documentation":"

    Identities.

    " + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    Assignment status.

    " + } + }, + "documentation":"

    An IAM policy assignment.

    " + }, + "IAMPolicyAssignmentName":{ + "type":"string", + "min":1, + "pattern":"(?=^.{2,256}$)(?!.*\\s)[0-9a-zA-Z-_.:=+@]*$" + }, + "IAMPolicyAssignmentSummary":{ + "type":"structure", + "members":{ + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    Assignment name.

    " + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    Assignment status.

    " + } + }, + "documentation":"

    IAM policy assignment summary.

    " + }, + "IAMPolicyAssignmentSummaryList":{ + "type":"list", + "member":{"shape":"IAMPolicyAssignmentSummary"} + }, + "IdentityMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"IdentityNameList"} + }, + "IdentityName":{ + "type":"string", + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "IdentityNameList":{ + "type":"list", + "member":{"shape":"IdentityName"} + }, + "IdentityType":{ + "type":"string", + "enum":[ + "IAM", + "QUICKSIGHT" + ] + }, + "IdentityTypeNotSupportedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The identity type specified isn't supported. Supported identity types include IAM and QUICKSIGHT.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "Ingestion":{ + "type":"structure", + "required":[ + "Arn", + "IngestionStatus", + "CreatedTime" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "IngestionId":{ + "shape":"IngestionId", + "documentation":"

    Ingestion ID.

    " + }, + "IngestionStatus":{ + "shape":"IngestionStatus", + "documentation":"

    Ingestion status.

    " + }, + "ErrorInfo":{ + "shape":"ErrorInfo", + "documentation":"

    Error information for this ingestion.

    " + }, + "RowInfo":{"shape":"RowInfo"}, + "QueueInfo":{"shape":"QueueInfo"}, + "CreatedTime":{ + "shape":"timestamp", + "documentation":"

    The time that this ingestion started.

    " + }, + "IngestionTimeInSeconds":{ + "shape":"long", + "documentation":"

    The time that this ingestion took, measured in seconds.

    ", + "box":true + }, + "IngestionSizeInBytes":{ + "shape":"long", + "documentation":"

    The size of the data ingested, in bytes.

    ", + "box":true + }, + "RequestSource":{ + "shape":"IngestionRequestSource", + "documentation":"

    Event source for this ingestion.

    " + }, + "RequestType":{ + "shape":"IngestionRequestType", + "documentation":"

    Type of this ingestion.

    " + } + }, + "documentation":"

    Information about the SPICE ingestion for a dataset.

    " + }, + "IngestionErrorType":{ + "type":"string", + "enum":[ + "FAILURE_TO_ASSUME_ROLE", + "INGESTION_SUPERSEDED", + "INGESTION_CANCELED", + "DATA_SET_DELETED", + "DATA_SET_NOT_SPICE", + "S3_UPLOADED_FILE_DELETED", + "S3_MANIFEST_ERROR", + "DATA_TOLERANCE_EXCEPTION", + "SPICE_TABLE_NOT_FOUND", + "DATA_SET_SIZE_LIMIT_EXCEEDED", + "ROW_SIZE_LIMIT_EXCEEDED", + "ACCOUNT_CAPACITY_LIMIT_EXCEEDED", + "CUSTOMER_ERROR", + "DATA_SOURCE_NOT_FOUND", + "IAM_ROLE_NOT_AVAILABLE", + "CONNECTION_FAILURE", + "SQL_TABLE_NOT_FOUND", + "PERMISSION_DENIED", + "SSL_CERTIFICATE_VALIDATION_FAILURE", + "OAUTH_TOKEN_FAILURE", + "SOURCE_API_LIMIT_EXCEEDED_FAILURE", + "PASSWORD_AUTHENTICATION_FAILURE", + "SQL_SCHEMA_MISMATCH_ERROR", + "INVALID_DATE_FORMAT", + "INVALID_DATAPREP_SYNTAX", + "SOURCE_RESOURCE_LIMIT_EXCEEDED", + "SQL_INVALID_PARAMETER_VALUE", + "QUERY_TIMEOUT", + "SQL_NUMERIC_OVERFLOW", + "UNRESOLVABLE_HOST", + "UNROUTABLE_HOST", + "SQL_EXCEPTION", + "S3_FILE_INACCESSIBLE", + "IOT_FILE_NOT_FOUND", + "IOT_DATA_SET_FILE_EMPTY", + "INVALID_DATA_SOURCE_CONFIG", + "DATA_SOURCE_AUTH_FAILED", + "DATA_SOURCE_CONNECTION_FAILED", + "FAILURE_TO_PROCESS_JSON_FILE", + "INTERNAL_SERVICE_ERROR" + ] + }, + "IngestionId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "IngestionMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "IngestionRequestSource":{ + "type":"string", + "enum":[ + "MANUAL", + "SCHEDULED" + ] + }, + "IngestionRequestType":{ + "type":"string", + "enum":[ + "INITIAL_INGESTION", + "EDIT", + "INCREMENTAL_REFRESH", + "FULL_REFRESH" + ] + }, + "IngestionStatus":{ + "type":"string", + "enum":[ + "INITIALIZED", + "QUEUED", + "RUNNING", + "FAILED", + "COMPLETED", + "CANCELLED" + ] + }, + "Ingestions":{ + "type":"list", + "member":{"shape":"Ingestion"} + }, + "InputColumn":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "Name":{ + "shape":"ColumnName", + "documentation":"

    The name of this column in the underlying data source.

    " + }, + "Type":{ + "shape":"InputColumnDataType", + "documentation":"

    The data type of the column.

    " + } + }, + "documentation":"

    Metadata for a column that is used as the input of a transform operation.

    " + }, + "InputColumnDataType":{ + "type":"string", + "enum":[ + "STRING", + "INTEGER", + "DECIMAL", + "DATETIME", + "BIT", + "BOOLEAN", + "JSON" + ] + }, + "InputColumnList":{ + "type":"list", + "member":{"shape":"InputColumn"}, + "max":2048, + "min":1 + }, + "InstanceId":{ + "type":"string", + "max":64, + "min":1 + }, + "IntegerParameter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    A display name for the dataset.

    " + }, + "Values":{ + "shape":"LongList", + "documentation":"

    Values.

    " + } + }, + "documentation":"

    Integer parameter.

    " + }, + "IntegerParameterList":{ + "type":"list", + "member":{"shape":"IntegerParameter"}, + "max":100 + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    An internal failure occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The NextToken value isn't valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    One or more parameters has a value that isn't valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "JiraParameters":{ + "type":"structure", + "required":["SiteBaseUrl"], + "members":{ + "SiteBaseUrl":{ + "shape":"SiteBaseUrl", + "documentation":"

    The base URL of the Jira site.

    " + } + }, + "documentation":"

    Jira parameters.

    " + }, + "JoinInstruction":{ + "type":"structure", + "required":[ + "LeftOperand", + "RightOperand", + "Type", + "OnClause" + ], + "members":{ + "LeftOperand":{ + "shape":"LogicalTableId", + "documentation":"

    Left operand.

    " + }, + "RightOperand":{ + "shape":"LogicalTableId", + "documentation":"

    Right operand.

    " + }, + "Type":{ + "shape":"JoinType", + "documentation":"

    Type.

    " + }, + "OnClause":{ + "shape":"OnClause", + "documentation":"

    On Clause.

    " + } + }, + "documentation":"

    Join instruction.

    " + }, + "JoinType":{ + "type":"string", + "enum":[ + "INNER", + "OUTER", + "LEFT", + "RIGHT" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"ExceptionResourceType", + "documentation":"

    Limit exceeded.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    A limit is exceeded.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ListDashboardVersionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're listing versions for.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListDashboardVersionsResponse":{ + "type":"structure", + "members":{ + "DashboardVersionSummaryList":{ + "shape":"DashboardVersionSummaryList", + "documentation":"

    A structure that contains information about each version of the dashboard.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "ListDashboardsRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboards that you're listing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListDashboardsResponse":{ + "type":"structure", + "members":{ + "DashboardSummaryList":{ + "shape":"DashboardSummaryList", + "documentation":"

    A structure that contains all of the dashboards in your AWS account. This structure provides basic information about the dashboards.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "ListDataSetsRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListDataSetsResponse":{ + "type":"structure", + "members":{ + "DataSetSummaries":{ + "shape":"DataSetSummaryList", + "documentation":"

    The list of dataset summaries.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListDataSourcesRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListDataSourcesResponse":{ + "type":"structure", + "members":{ + "DataSources":{ + "shape":"DataSourceList", + "documentation":"

    A list of data sources.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListGroupMembershipsRequest":{ + "type":"structure", + "required":[ + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to see a membership list of.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return from this request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "ListGroupMembershipsResponse":{ + "type":"structure", + "members":{ + "GroupMemberList":{ + "shape":"GroupMemberList", + "documentation":"

    The list of the members of the group.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListGroupsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "ListGroupsResponse":{ + "type":"structure", + "members":{ + "GroupList":{ + "shape":"GroupList", + "documentation":"

    The list of the groups.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListIAMPolicyAssignmentsForUserRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "UserName", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the assignments.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user.

    ", + "location":"uri", + "locationName":"UserName" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace of the assignment.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "ListIAMPolicyAssignmentsForUserResponse":{ + "type":"structure", + "members":{ + "ActiveAssignments":{ + "shape":"ActiveIAMPolicyAssignmentList", + "documentation":"

    The active assignments for this user.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListIAMPolicyAssignmentsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains these IAM policy assignments.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    The status of the assignments.

    " + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace for the assignments.

    ", + "location":"uri", + "locationName":"Namespace" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListIAMPolicyAssignmentsResponse":{ + "type":"structure", + "members":{ + "IAMPolicyAssignments":{ + "shape":"IAMPolicyAssignmentSummaryList", + "documentation":"

    Information describing the IAM policy assignments.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListIngestionsRequest":{ + "type":"structure", + "required":[ + "DataSetId", + "AwsAccountId" + ], + "members":{ + "DataSetId":{ + "shape":"string", + "documentation":"

    The ID of the dataset used in the ingestion.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "NextToken":{ + "shape":"string", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "MaxResults":{ + "shape":"IngestionMaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListIngestionsResponse":{ + "type":"structure", + "members":{ + "Ingestions":{ + "shape":"Ingestions", + "documentation":"

    A list of the ingestions.

    " + }, + "NextToken":{ + "shape":"string", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "RequestId":{ + "shape":"string", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want a list of tags for.

    ", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListTemplateAliasesRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template aliases that you're listing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-result" + } + } + }, + "ListTemplateAliasesResponse":{ + "type":"structure", + "members":{ + "TemplateAliasList":{ + "shape":"TemplateAliasList", + "documentation":"

    A structure containing the list of the template's aliases.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + } + } + }, + "ListTemplateVersionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the templates that you're listing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListTemplateVersionsResponse":{ + "type":"structure", + "members":{ + "TemplateVersionSummaryList":{ + "shape":"TemplateVersionSummaryList", + "documentation":"

    A structure containing a list of all the versions of the specified template.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "ListTemplatesRequest":{ + "type":"structure", + "required":["AwsAccountId"], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the templates that you're listing.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-result" + } + } + }, + "ListTemplatesResponse":{ + "type":"structure", + "members":{ + "TemplateSummaryList":{ + "shape":"TemplateSummaryList", + "documentation":"

    A structure containing information about the templates in the list.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "ListUserGroupsRequest":{ + "type":"structure", + "required":[ + "UserName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "UserName":{ + "shape":"UserName", + "documentation":"

    The Amazon QuickSight user name that you want to list group memberships for.

    ", + "location":"uri", + "locationName":"UserName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return from this request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + } + } + }, + "ListUserGroupsResponse":{ + "type":"structure", + "members":{ + "GroupList":{ + "shape":"GroupList", + "documentation":"

    The list of groups the user is a member of.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    ", + "location":"querystring", + "locationName":"next-token" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return from this request.

    ", + "box":true, + "location":"querystring", + "locationName":"max-results" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "UserList":{ + "shape":"UserList", + "documentation":"

    The list of users.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a subsequent request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "LogicalTable":{ + "type":"structure", + "required":[ + "Alias", + "Source" + ], + "members":{ + "Alias":{ + "shape":"LogicalTableAlias", + "documentation":"

    A display name for the logical table.

    " + }, + "DataTransforms":{ + "shape":"TransformOperationList", + "documentation":"

    Transform operations that act on this logical table.

    " + }, + "Source":{ + "shape":"LogicalTableSource", + "documentation":"

    Source of this logical table.

    " + } + }, + "documentation":"

    A logical table is a unit that joins and that data transformations operate on. A logical table has a source, which can be either a physical table or result of a join. When a logical table points to a physical table, the logical table acts as a mutable copy of that physical table through transform operations.

    " + }, + "LogicalTableAlias":{ + "type":"string", + "max":64, + "min":1 + }, + "LogicalTableId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9a-zA-Z-]*" + }, + "LogicalTableMap":{ + "type":"map", + "key":{"shape":"LogicalTableId"}, + "value":{"shape":"LogicalTable"}, + "max":32, + "min":1 + }, + "LogicalTableSource":{ + "type":"structure", + "members":{ + "JoinInstruction":{ + "shape":"JoinInstruction", + "documentation":"

    Specifies the result of a join of two logical tables.

    " + }, + "PhysicalTableId":{ + "shape":"PhysicalTableId", + "documentation":"

    Physical table ID.

    " + } + }, + "documentation":"

    Information about the source of a logical table. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "Long":{"type":"long"}, + "LongList":{ + "type":"list", + "member":{"shape":"Long"} + }, + "ManifestFileLocation":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"S3Bucket", + "documentation":"

    Amazon S3 bucket.

    " + }, + "Key":{ + "shape":"S3Key", + "documentation":"

    Amazon S3 key that identifies an object.

    " + } + }, + "documentation":"

    Amazon S3 manifest file location.

    " + }, + "MariaDbParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    MariaDB parameters.

    " + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MySqlParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    MySQL parameters.

    " + }, + "Namespace":{ + "type":"string", + "max":64, + "pattern":"^[a-zA-Z0-9._-]*$" + }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "OnClause":{ + "type":"string", + "max":512, + "min":1 + }, + "OptionalPort":{ + "type":"integer", + "max":65535, + "min":0 + }, + "OutputColumn":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ColumnName", + "documentation":"

    A display name for the dataset.

    " + }, + "Type":{ + "shape":"ColumnDataType", + "documentation":"

    Type.

    " + } + }, + "documentation":"

    Output column.

    " + }, + "OutputColumnList":{ + "type":"list", + "member":{"shape":"OutputColumn"} + }, + "Parameters":{ + "type":"structure", + "members":{ + "StringParameters":{ + "shape":"StringParameterList", + "documentation":"

    String parameters.

    " + }, + "IntegerParameters":{ + "shape":"IntegerParameterList", + "documentation":"

    Integer parameters.

    " + }, + "DecimalParameters":{ + "shape":"DecimalParameterList", + "documentation":"

    Decimal parameters.

    " + }, + "DateTimeParameters":{ + "shape":"DateTimeParameterList", + "documentation":"

    DateTime parameters.

    " + } + }, + "documentation":"

    Parameters.

    " + }, + "Password":{ + "type":"string", + "max":1024, + "min":1 + }, + "PhysicalTable":{ + "type":"structure", + "members":{ + "RelationalTable":{ + "shape":"RelationalTable", + "documentation":"

    A physical table type for relational data sources.

    " + }, + "CustomSql":{ + "shape":"CustomSql", + "documentation":"

    A physical table type built from the results of the custom SQL query.

    " + }, + "S3Source":{ + "shape":"S3Source", + "documentation":"

    A physical table type for as S3 data source.

    " + } + }, + "documentation":"

    A view of a data source that contains information about the shape of the data in the underlying source. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "PhysicalTableId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[0-9a-zA-Z-]*" + }, + "PhysicalTableMap":{ + "type":"map", + "key":{"shape":"PhysicalTableId"}, + "value":{"shape":"PhysicalTable"}, + "max":16, + "min":1 + }, + "Port":{ + "type":"integer", + "max":65535, + "min":1 + }, + "PositiveInteger":{ + "type":"integer", + "min":1 + }, + "PostgreSqlParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    PostgreSQL parameters.

    " + }, + "PreconditionNotMetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    One or more preconditions aren't met.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "PrestoParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Catalog" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Catalog":{ + "shape":"Catalog", + "documentation":"

    Catalog.

    " + } + }, + "documentation":"

    Presto parameters.

    " + }, + "Principal":{ + "type":"string", + "max":256, + "min":1 + }, + "ProjectOperation":{ + "type":"structure", + "required":["ProjectedColumns"], + "members":{ + "ProjectedColumns":{ + "shape":"ProjectedColumnList", + "documentation":"

    Projected columns.

    " + } + }, + "documentation":"

    A transform operation that projects columns. Operations that come after a projection can only refer to projected columns.

    " + }, + "ProjectedColumnList":{ + "type":"list", + "member":{"shape":"String"}, + "max":2000, + "min":1 + }, + "Query":{ + "type":"string", + "max":256, + "min":1 + }, + "QueueInfo":{ + "type":"structure", + "required":[ + "WaitingOnIngestion", + "QueuedIngestion" + ], + "members":{ + "WaitingOnIngestion":{ + "shape":"string", + "documentation":"

    The ID of the queued ingestion.

    " + }, + "QueuedIngestion":{ + "shape":"string", + "documentation":"

    The ID of the ongoing ingestion. The queued ingestion is waiting for the ongoing ingestion to complete.

    " + } + }, + "documentation":"

    Information about a queued dataset SPICE ingestion.

    " + }, + "QuickSightUserNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The user with the provided name isn't found. This error can happen in any operation that requires finding a user based on a provided user name, such as DeleteUser, DescribeUser, and so on.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RdsParameters":{ + "type":"structure", + "required":[ + "InstanceId", + "Database" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    Instance ID.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    Amazon RDS parameters.

    " + }, + "RedshiftParameters":{ + "type":"structure", + "required":["Database"], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host. This field can be blank if ClusterId is provided.

    " + }, + "Port":{ + "shape":"OptionalPort", + "documentation":"

    Port. This field can be blank if the ClusterId is provided.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + }, + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    Cluster ID. This field can be blank if the Host and Port are provided.

    " + } + }, + "documentation":"

    Amazon Redshift parameters. The ClusterId field can be blank if Host and Port are both set. The Host and Port fields can be blank if the ClusterId field is set.

    " + }, + "RegisterUserRequest":{ + "type":"structure", + "required":[ + "IdentityType", + "Email", + "UserRole", + "AwsAccountId", + "Namespace" + ], + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    Amazon QuickSight supports several ways of managing the identity of users. This parameter accepts two values:

    • IAM: A user whose identity maps to an existing IAM user or role.

    • QUICKSIGHT: A user whose identity is owned and managed internally by Amazon QuickSight.

    " + }, + "Email":{ + "shape":"String", + "documentation":"

    The email address of the user that you want to register.

    " + }, + "UserRole":{ + "shape":"UserRole", + "documentation":"

    The Amazon QuickSight role for the user. The user role can be one of the following:

    • READER: A user who has read-only access to dashboards.

    • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

    • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

    • RESTRICTED_READER: This role isn't currently available for use.

    • RESTRICTED_AUTHOR: This role isn't currently available for use.

    " + }, + "IamArn":{ + "shape":"String", + "documentation":"

    The ARN of the IAM user or role that you are registering with Amazon QuickSight.

    " + }, + "SessionName":{ + "shape":"RoleSessionName", + "documentation":"

    You need to use this parameter only when you register one or more users using an assumed IAM role. You don't need to provide the session name for other scenarios, for example when you are registering an IAM user or an Amazon QuickSight user. You can register multiple users using the same IAM role if each user has a different session name. For more information on assuming IAM roles, see assume-role in the AWS CLI Reference.

    " + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The Amazon QuickSight user name that you want to create for the user you are registering.

    " + } + } + }, + "RegisterUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The user name.

    " + }, + "UserInvitationUrl":{ + "shape":"String", + "documentation":"

    The URL the user visits to complete registration and provide a password. This is returned only for users with an identity type of QUICKSIGHT.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "RelationalTable":{ + "type":"structure", + "required":[ + "DataSourceArn", + "Name", + "InputColumns" + ], + "members":{ + "DataSourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the data source.

    " + }, + "Schema":{ + "shape":"RelationalTableSchema", + "documentation":"

    The schema name. This name applies to certain relational database engines.

    " + }, + "Name":{ + "shape":"RelationalTableName", + "documentation":"

    The name of the relational table.

    " + }, + "InputColumns":{ + "shape":"InputColumnList", + "documentation":"

    The column schema of the table.

    " + } + }, + "documentation":"

    A physical table type for relational data sources.

    " + }, + "RelationalTableName":{ + "type":"string", + "max":64, + "min":1 + }, + "RelationalTableSchema":{ + "type":"string", + "max":64 + }, + "RenameColumnOperation":{ + "type":"structure", + "required":[ + "ColumnName", + "NewColumnName" + ], + "members":{ + "ColumnName":{ + "shape":"ColumnName", + "documentation":"

    The name of the column to be renamed.

    " + }, + "NewColumnName":{ + "shape":"ColumnName", + "documentation":"

    The new name for the column.

    " + } + }, + "documentation":"

    A transform operation that renames a column.

    " + }, + "ResourceExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"ExceptionResourceType", + "documentation":"

    The AWS request ID for this request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The resource specified already exists.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceId":{"type":"string"}, + "ResourceName":{ + "type":"string", + "max":128, + "min":1 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"ExceptionResourceType", + "documentation":"

    The AWS request ID for this request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    One or more resources can't be found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ResourcePermission":{ + "type":"structure", + "required":[ + "Principal", + "Actions" + ], + "members":{ + "Principal":{ + "shape":"Principal", + "documentation":"

    The Amazon Resource Name (ARN) of an Amazon QuickSight user or group, or an IAM ARN. If you are using cross-account resource sharing, this is the IAM ARN of an account root. Otherwise, it is the ARN of a QuickSight user or group. .

    " + }, + "Actions":{ + "shape":"ActionList", + "documentation":"

    The action to grant or revoke permissions on, for example \"quicksight:DescribeDashboard\".

    " + } + }, + "documentation":"

    Permission for the resource.

    " + }, + "ResourcePermissionList":{ + "type":"list", + "member":{"shape":"ResourcePermission"}, + "max":64, + "min":1 + }, + "ResourceStatus":{ + "type":"string", + "enum":[ + "CREATION_IN_PROGRESS", + "CREATION_SUCCESSFUL", + "CREATION_FAILED", + "UPDATE_IN_PROGRESS", + "UPDATE_SUCCESSFUL", + "UPDATE_FAILED" + ] + }, + "ResourceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"ExceptionResourceType", + "documentation":"

    The resource type for this request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    This resource is currently unavailable.

    ", + "error":{"httpStatusCode":503}, + "exception":true + }, + "RestrictiveResourceId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\w\\-]+" + }, + "RoleSessionName":{ + "type":"string", + "max":64, + "min":2, + "pattern":"[\\w+=.@-]*" + }, + "RowInfo":{ + "type":"structure", + "members":{ + "RowsIngested":{ + "shape":"long", + "documentation":"

    The number of rows that were ingested.

    ", + "box":true + }, + "RowsDropped":{ + "shape":"long", + "documentation":"

    The number of rows that were not ingested.

    ", + "box":true + } + }, + "documentation":"

    Information about rows for a data set SPICE ingestion.

    " + }, + "RowLevelPermissionDataSet":{ + "type":"structure", + "required":[ + "Arn", + "PermissionPolicy" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the permission dataset.

    " + }, + "PermissionPolicy":{ + "shape":"RowLevelPermissionPolicy", + "documentation":"

    Permission policy.

    " + } + }, + "documentation":"

    The row-level security configuration for the dataset.

    " + }, + "RowLevelPermissionPolicy":{ + "type":"string", + "enum":[ + "GRANT_ACCESS", + "DENY_ACCESS" + ] + }, + "S3Bucket":{ + "type":"string", + "max":1024, + "min":1 + }, + "S3Key":{ + "type":"string", + "max":1024, + "min":1 + }, + "S3Parameters":{ + "type":"structure", + "required":["ManifestFileLocation"], + "members":{ + "ManifestFileLocation":{ + "shape":"ManifestFileLocation", + "documentation":"

    Location of the Amazon S3 manifest file. This is NULL if the manifest file was uploaded in the console.

    " + } + }, + "documentation":"

    S3 parameters.

    " + }, + "S3Source":{ + "type":"structure", + "required":[ + "DataSourceArn", + "InputColumns" + ], + "members":{ + "DataSourceArn":{ + "shape":"Arn", + "documentation":"

    The amazon Resource Name (ARN) for the data source.

    " + }, + "UploadSettings":{ + "shape":"UploadSettings", + "documentation":"

    Information about the format for the S3 source file or files.

    " + }, + "InputColumns":{ + "shape":"InputColumnList", + "documentation":"

    A physical table type for as S3 data source.

    " + } + }, + "documentation":"

    A physical table type for as S3 data source.

    " + }, + "SearchDashboardsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "Filters" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the user whose dashboards you're searching for.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Filters":{ + "shape":"DashboardSearchFilterList", + "documentation":"

    The filters to apply to the search. Currently, you can search only by user name. For example, \"Filters\": [ { \"Name\": \"QUICKSIGHT_USER\", \"Operator\": \"StringEquals\", \"Value\": \"arn:aws:quicksight:us-east-1:1:user/default/UserName1\" } ]

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned per request.

    " + } + } + }, + "SearchDashboardsResponse":{ + "type":"structure", + "members":{ + "DashboardSummaryList":{ + "shape":"DashboardSummaryList", + "documentation":"

    The list of dashboards owned by the user specified in Filters in your request.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of results, or null if there are no more results.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "ServiceNowParameters":{ + "type":"structure", + "required":["SiteBaseUrl"], + "members":{ + "SiteBaseUrl":{ + "shape":"SiteBaseUrl", + "documentation":"

    URL of the base site.

    " + } + }, + "documentation":"

    ServiceNow parameters.

    " + }, + "SessionLifetimeInMinutes":{ + "type":"long", + "max":600, + "min":15 + }, + "SessionLifetimeInMinutesInvalidException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    The number of minutes specified for the lifetime of a session isn't valid. The session lifetime must be 15-600 minutes.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SheetControlsOption":{ + "type":"structure", + "members":{ + "VisibilityState":{ + "shape":"DashboardUIState", + "documentation":"

    Visibility state.

    " + } + }, + "documentation":"

    Sheet controls option.

    " + }, + "SiteBaseUrl":{ + "type":"string", + "max":1024, + "min":1 + }, + "SnowflakeParameters":{ + "type":"structure", + "required":[ + "Host", + "Database", + "Warehouse" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + }, + "Warehouse":{ + "shape":"Warehouse", + "documentation":"

    Warehouse.

    " + } + }, + "documentation":"

    Snowflake parameters.

    " + }, + "SparkParameters":{ + "type":"structure", + "required":[ + "Host", + "Port" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + } + }, + "documentation":"

    Spark parameters.

    " + }, + "SqlQuery":{ + "type":"string", + "max":65536, + "min":1 + }, + "SqlServerParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    SQL Server parameters.

    " + }, + "SslProperties":{ + "type":"structure", + "members":{ + "DisableSsl":{ + "shape":"Boolean", + "documentation":"

    A Boolean option to control whether SSL should be disabled.

    " + } + }, + "documentation":"

    Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying data source.

    " + }, + "StatusCode":{"type":"integer"}, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "StringParameter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    A display name for the dataset.

    " + }, + "Values":{ + "shape":"StringList", + "documentation":"

    Values.

    " + } + }, + "documentation":"

    String parameter.

    " + }, + "StringParameterList":{ + "type":"list", + "member":{"shape":"StringParameter"}, + "max":100 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    Tag key.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    Tag value.

    " + } + }, + "documentation":"

    The key or keys of the key-value pairs for the resource tag or tags assigned to the resource.

    " + }, + "TagColumnOperation":{ + "type":"structure", + "required":[ + "ColumnName", + "Tags" + ], + "members":{ + "ColumnName":{ + "shape":"ColumnName", + "documentation":"

    The column that this operation acts on.

    " + }, + "Tags":{ + "shape":"ColumnTagList", + "documentation":"

    The dataset column tag, currently only used for geospatial type tagging. .

    This is not tags for the AWS tagging feature. .

    " + } + }, + "documentation":"

    A transform operation that tags a column with additional information.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to tag.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Contains a map of the key-value pairs for the resource tag or tags assigned to the resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1 + }, + "Template":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the template.

    " + }, + "Name":{ + "shape":"TemplateName", + "documentation":"

    The display name of the template.

    " + }, + "Version":{ + "shape":"TemplateVersion", + "documentation":"

    A structure describing the versions of the template.

    " + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template. This is unique per AWS Region for each AWS account.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    Time when this was last updated.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    Time when this was created.

    " + } + }, + "documentation":"

    A template object. A template is an entity in QuickSight that encapsulates the metadata required to create an analysis and that you can use to create a dashboard. A template adds a layer of abstraction by using placeholders to replace the dataset associated with the analysis. You can use templates to create dashboards by replacing dataset placeholders with datasets that follow the same schema that was used to create the source analysis and template.

    You can share templates across AWS accounts by allowing users in other AWS accounts to create a template or a dashboard from an existing template.

    " + }, + "TemplateAlias":{ + "type":"structure", + "members":{ + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The display name of the template alias.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the template alias.

    " + }, + "TemplateVersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the template alias.

    " + } + }, + "documentation":"

    The template alias.

    " + }, + "TemplateAliasList":{ + "type":"list", + "member":{"shape":"TemplateAlias"}, + "max":100 + }, + "TemplateError":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"TemplateErrorType", + "documentation":"

    Type of error.

    " + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

    Description of the error type.

    " + } + }, + "documentation":"

    List of errors that occurred when the template version creation failed.

    " + }, + "TemplateErrorList":{ + "type":"list", + "member":{"shape":"TemplateError"}, + "min":1 + }, + "TemplateErrorType":{ + "type":"string", + "enum":[ + "SOURCE_NOT_FOUND", + "DATA_SET_NOT_FOUND", + "INTERNAL_FAILURE" + ] + }, + "TemplateName":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "TemplateSourceAnalysis":{ + "type":"structure", + "required":[ + "Arn", + "DataSetReferences" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "DataSetReferences":{ + "shape":"DataSetReferenceList", + "documentation":"

    A structure containing information about the dataset references used as placeholders in the template.

    " + } + }, + "documentation":"

    The source analysis of the template.

    " + }, + "TemplateSourceEntity":{ + "type":"structure", + "members":{ + "SourceAnalysis":{ + "shape":"TemplateSourceAnalysis", + "documentation":"

    The source analysis, if it is based on an analysis.

    " + }, + "SourceTemplate":{ + "shape":"TemplateSourceTemplate", + "documentation":"

    The source template, if it is based on an template.

    " + } + }, + "documentation":"

    The source entity of the template.

    " + }, + "TemplateSourceTemplate":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + }, + "documentation":"

    The source template of the template.

    " + }, + "TemplateSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    A summary of a template.

    " + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID of the template. This ID is unique per AWS Region for each AWS account.

    " + }, + "Name":{ + "shape":"TemplateName", + "documentation":"

    A display name for the template.

    " + }, + "LatestVersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    A structure containing a list of version numbers for the template summary.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this template was created.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that this template was updated.

    " + } + }, + "documentation":"

    The template summary.

    " + }, + "TemplateSummaryList":{ + "type":"list", + "member":{"shape":"TemplateSummary"}, + "max":100 + }, + "TemplateVersion":{ + "type":"structure", + "members":{ + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this template version was created.

    " + }, + "Errors":{ + "shape":"TemplateErrorList", + "documentation":"

    Errors associated with the template.

    " + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the template.

    " + }, + "Status":{ + "shape":"ResourceStatus", + "documentation":"

    The HTTP status of the request.

    " + }, + "DataSetConfigurations":{ + "shape":"DataSetConfigurationList", + "documentation":"

    Schema of the dataset identified by the placeholder. The idea is that any dashboard created from the template should be bound to new datasets matching the same schema described through this API. .

    " + }, + "Description":{ + "shape":"VersionDescription", + "documentation":"

    The description of the template.

    " + }, + "SourceEntityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the analysis or template which was used to create this template.

    " + } + }, + "documentation":"

    A version of a template.

    " + }, + "TemplateVersionSummary":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the template version.

    " + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the template version.

    " + }, + "CreatedTime":{ + "shape":"Timestamp", + "documentation":"

    The time that this template version was created.

    " + }, + "Status":{ + "shape":"ResourceStatus", + "documentation":"

    The status of the template version.

    " + }, + "Description":{ + "shape":"VersionDescription", + "documentation":"

    The description of the template version.

    " + } + }, + "documentation":"

    The template version.

    " + }, + "TemplateVersionSummaryList":{ + "type":"list", + "member":{"shape":"TemplateVersionSummary"}, + "max":100 + }, + "TeradataParameters":{ + "type":"structure", + "required":[ + "Host", + "Port", + "Database" + ], + "members":{ + "Host":{ + "shape":"Host", + "documentation":"

    Host.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    Port.

    " + }, + "Database":{ + "shape":"Database", + "documentation":"

    Database.

    " + } + }, + "documentation":"

    Teradata parameters.

    " + }, + "TextQualifier":{ + "type":"string", + "enum":[ + "DOUBLE_QUOTE", + "SINGLE_QUOTE" + ] + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    Access is throttled.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TimestampList":{ + "type":"list", + "member":{"shape":"Timestamp"} + }, + "TransformOperation":{ + "type":"structure", + "members":{ + "ProjectOperation":{ + "shape":"ProjectOperation", + "documentation":"

    An operation that projects columns. Operations that come after a projection can only refer to projected columns.

    " + }, + "FilterOperation":{ + "shape":"FilterOperation", + "documentation":"

    An operation that filters rows based on some condition.

    " + }, + "CreateColumnsOperation":{ + "shape":"CreateColumnsOperation", + "documentation":"

    An operation that creates calculated columns. Columns created in one such operation form a lexical closure.

    " + }, + "RenameColumnOperation":{ + "shape":"RenameColumnOperation", + "documentation":"

    An operation that renames a column.

    " + }, + "CastColumnTypeOperation":{ + "shape":"CastColumnTypeOperation", + "documentation":"

    A transform operation that casts a column to a different type.

    " + }, + "TagColumnOperation":{ + "shape":"TagColumnOperation", + "documentation":"

    An operation that tags a column with additional information.

    " + } + }, + "documentation":"

    A data transformation on a logical table. This is a variant type structure. For this structure to be valid, only one of the attributes can be non-null.

    " + }, + "TransformOperationList":{ + "type":"list", + "member":{"shape":"TransformOperation"}, + "max":2048, + "min":1 + }, + "TwitterParameters":{ + "type":"structure", + "required":[ + "Query", + "MaxRows" + ], + "members":{ + "Query":{ + "shape":"Query", + "documentation":"

    Twitter query string.

    " + }, + "MaxRows":{ + "shape":"PositiveInteger", + "documentation":"

    Maximum number of rows to query Twitter.

    " + } + }, + "documentation":"

    Twitter parameters.

    " + }, + "TypeCastFormat":{ + "type":"string", + "max":32 + }, + "UnsupportedUserEditionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this request.

    " + } + }, + "documentation":"

    This error indicates that you are calling an operation on an Amazon QuickSight subscription where the edition doesn't include support for that operation. Amazon QuickSight currently has Standard Edition and Enterprise Edition. Not every operation and capability is available in every edition.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to untag.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The keys of the key-value pairs for the resource tag or tags assigned to the resource.

    ", + "location":"querystring", + "locationName":"keys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateDashboardPermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard whose permissions you're updating.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "GrantPermissions":{ + "shape":"UpdateResourcePermissionList", + "documentation":"

    The permissions that you want to grant on this resource.

    " + }, + "RevokePermissions":{ + "shape":"UpdateResourcePermissionList", + "documentation":"

    The permissions that you want to revoke from this resource.

    " + } + } + }, + "UpdateDashboardPermissionsResponse":{ + "type":"structure", + "members":{ + "DashboardArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dashboard.

    " + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    Information about the permissions on the dashboard.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateDashboardPublishedVersionRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId", + "VersionNumber" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're updating.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "VersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the dashboard.

    ", + "location":"uri", + "locationName":"VersionNumber" + } + } + }, + "UpdateDashboardPublishedVersionResponse":{ + "type":"structure", + "members":{ + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    " + }, + "DashboardArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dashboard.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "UpdateDashboardRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DashboardId", + "Name", + "SourceEntity" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the dashboard that you're updating.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    ", + "location":"uri", + "locationName":"DashboardId" + }, + "Name":{ + "shape":"DashboardName", + "documentation":"

    The display name of the dashboard.

    " + }, + "SourceEntity":{ + "shape":"DashboardSourceEntity", + "documentation":"

    The template or analysis from which the dashboard is created. The SouceTemplate entity accepts the Amazon Resource Name (ARN) of the template and also references to replacement datasets for the placeholders set when creating the template. The replacement datasets need to follow the same schema as the datasets for which placeholders were created when creating the template.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    A structure that contains the parameters of the dashboard.

    " + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

    A description for the first version of the dashboard being created.

    " + }, + "DashboardPublishOptions":{ + "shape":"DashboardPublishOptions", + "documentation":"

    Options for publishing the dashboard when you create it:

    • AvailabilityStatus for AdHocFilteringOption - This status can be either ENABLED or DISABLED. When this is set to DISABLED, QuickSight disables the left filter pane on the published dashboard, which can be used for ad hoc (one-time) filtering. This option is ENABLED by default.

    • AvailabilityStatus for ExportToCSVOption - This status can be either ENABLED or DISABLED. The visual option to export data to .csv format isn't enabled when this is set to DISABLED. This option is ENABLED by default.

    • VisibilityState for SheetControlsOption - This visibility state can be either COLLAPSED or EXPANDED. The sheet controls pane is collapsed by default when set to true. This option is COLLAPSED by default.

    " + } + } + }, + "UpdateDashboardResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "VersionArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the dashboard, including the version number.

    " + }, + "DashboardId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the dashboard.

    " + }, + "CreationStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The creation status of the request.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "UpdateDataSetPermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset whose permissions you want to update. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "GrantPermissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    The resource permissions that you want to grant to the dataset.

    " + }, + "RevokePermissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    The resource permissions that you want to revoke from the dataset.

    " + } + } + }, + "UpdateDataSetPermissionsResponse":{ + "type":"structure", + "members":{ + "DataSetArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset whose permissions you want to update. This ID is unique per AWS Region for each AWS account.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateDataSetRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSetId", + "Name", + "PhysicalTableMap", + "ImportMode" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to update. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSetId" + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The display name for the dataset.

    " + }, + "PhysicalTableMap":{ + "shape":"PhysicalTableMap", + "documentation":"

    Declares the physical tables that are available in the underlying data sources.

    " + }, + "LogicalTableMap":{ + "shape":"LogicalTableMap", + "documentation":"

    Configures the combination and transformation of the data from the physical tables.

    " + }, + "ImportMode":{ + "shape":"DataSetImportMode", + "documentation":"

    Indicates whether you want to import the data into SPICE.

    " + }, + "ColumnGroups":{ + "shape":"ColumnGroupList", + "documentation":"

    Groupings of columns that work together in certain QuickSight features. Currently, only geospatial hierarchy is supported.

    " + }, + "RowLevelPermissionDataSet":{ + "shape":"RowLevelPermissionDataSet", + "documentation":"

    The row-level security configuration for the data you want to create.

    " + } + } + }, + "UpdateDataSetResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the dataset.

    " + }, + "DataSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the dataset that you want to create. This ID is unique per AWS Region for each AWS account.

    " + }, + "IngestionArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the ingestion, which is triggered as a result of dataset creation if the import mode is SPICE.

    " + }, + "IngestionId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the ingestion, which is triggered as a result of dataset creation if the import mode is SPICE.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateDataSourcePermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSourceId" + }, + "GrantPermissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions that you want to grant on the data source.

    " + }, + "RevokePermissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions that you want to revoke on the data source.

    " + } + } + }, + "UpdateDataSourcePermissionsResponse":{ + "type":"structure", + "members":{ + "DataSourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateDataSourceRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "DataSourceId", + "Name" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The AWS account ID.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    ", + "location":"uri", + "locationName":"DataSourceId" + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A display name for the data source.

    " + }, + "DataSourceParameters":{ + "shape":"DataSourceParameters", + "documentation":"

    The parameters that QuickSight uses to connect to your underlying source.

    " + }, + "Credentials":{ + "shape":"DataSourceCredentials", + "documentation":"

    The credentials that QuickSight that uses to connect to your underlying source. Currently, only credentials based on user name and password are supported.

    " + }, + "VpcConnectionProperties":{ + "shape":"VpcConnectionProperties", + "documentation":"

    Use this parameter only when you want QuickSight to use a VPC connection when connecting to your underlying source.

    " + }, + "SslProperties":{ + "shape":"SslProperties", + "documentation":"

    Secure Socket Layer (SSL) properties that apply when QuickSight connects to your underlying source.

    " + } + } + }, + "UpdateDataSourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the data source.

    " + }, + "DataSourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the data source. This ID is unique per AWS Region for each AWS account.

    " + }, + "UpdateStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The update status of the data source's last update.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateGroupRequest":{ + "type":"structure", + "required":[ + "GroupName", + "AwsAccountId", + "Namespace" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the group that you want to update.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    The description for the group that you want to update.

    " + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the group is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + } + } + }, + "UpdateGroupResponse":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The name of the group.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateIAMPolicyAssignmentRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "AssignmentName", + "Namespace" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the IAM policy assignment.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment. This name must be unique within an AWS account.

    ", + "location":"uri", + "locationName":"AssignmentName" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace of the assignment.

    ", + "location":"uri", + "locationName":"Namespace" + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    The status of the assignment. Possible values are as follows:

    • ENABLED - Anything specified in this assignment is used when creating the data source.

    • DISABLED - This assignment isn't used when creating the data source.

    • DRAFT - This assignment is an unfinished draft and isn't used when creating the data source.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the IAM policy to apply to the QuickSight users and groups specified in this assignment.

    " + }, + "Identities":{ + "shape":"IdentityMap", + "documentation":"

    The QuickSight users, groups, or both that you want to assign the policy to.

    " + } + } + }, + "UpdateIAMPolicyAssignmentResponse":{ + "type":"structure", + "members":{ + "AssignmentName":{ + "shape":"IAMPolicyAssignmentName", + "documentation":"

    The name of the assignment.

    " + }, + "AssignmentId":{ + "shape":"String", + "documentation":"

    The ID of the assignment.

    " + }, + "PolicyArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the IAM policy applied to the QuickSight users and groups specified in this assignment.

    " + }, + "Identities":{ + "shape":"IdentityMap", + "documentation":"

    The QuickSight users, groups, or both that the IAM policy is assigned to.

    " + }, + "AssignmentStatus":{ + "shape":"AssignmentStatus", + "documentation":"

    The status of the assignment. Possible values are as follows:

    • ENABLED - Anything specified in this assignment is used when creating the data source.

    • DISABLED - This assignment isn't used when creating the data source.

    • DRAFT - This assignment is an unfinished draft and isn't used when creating the data source.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateResourcePermissionList":{ + "type":"list", + "member":{"shape":"ResourcePermission"}, + "max":100, + "min":1 + }, + "UpdateTemplateAliasRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "AliasName", + "TemplateVersionNumber" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template alias that you're updating.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "AliasName":{ + "shape":"AliasName", + "documentation":"

    The alias of the template that you want to update. If you name a specific alias, you update the version that the alias points to. You can specify the latest version of the template by providing the keyword $LATEST in the AliasName parameter. The keyword $PUBLISHED doesn't apply to templates.

    ", + "location":"uri", + "locationName":"AliasName" + }, + "TemplateVersionNumber":{ + "shape":"VersionNumber", + "documentation":"

    The version number of the template.

    " + } + } + }, + "UpdateTemplateAliasResponse":{ + "type":"structure", + "members":{ + "TemplateAlias":{ + "shape":"TemplateAlias", + "documentation":"

    The template alias.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "UpdateTemplatePermissionsRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "GrantPermissions":{ + "shape":"UpdateResourcePermissionList", + "documentation":"

    A list of resource permissions to be granted on the template.

    " + }, + "RevokePermissions":{ + "shape":"UpdateResourcePermissionList", + "documentation":"

    A list of resource permissions to be revoked from the template.

    " + } + } + }, + "UpdateTemplatePermissionsResponse":{ + "type":"structure", + "members":{ + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    " + }, + "TemplateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the template.

    " + }, + "Permissions":{ + "shape":"ResourcePermissionList", + "documentation":"

    A list of resource permissions to be set on the template.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UpdateTemplateRequest":{ + "type":"structure", + "required":[ + "AwsAccountId", + "TemplateId", + "SourceEntity" + ], + "members":{ + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID of the AWS account that contains the template that you're updating.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    ", + "location":"uri", + "locationName":"TemplateId" + }, + "SourceEntity":{ + "shape":"TemplateSourceEntity", + "documentation":"

    The source QuickSight entity from which this template is being updated. You can currently update templates from an Analysis or another template.

    " + }, + "VersionDescription":{ + "shape":"VersionDescription", + "documentation":"

    A description of the current template version that is being updated. Every time you call UpdateTemplate, you create a new version of the template. Each version of the template maintains a description of the version in the VersionDescription field.

    " + }, + "Name":{ + "shape":"TemplateName", + "documentation":"

    The name for the template.

    " + } + } + }, + "UpdateTemplateResponse":{ + "type":"structure", + "members":{ + "TemplateId":{ + "shape":"RestrictiveResourceId", + "documentation":"

    The ID for the template.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the template.

    " + }, + "VersionArn":{ + "shape":"Arn", + "documentation":"

    The ARN for the template, including the version information of the first version.

    " + }, + "CreationStatus":{ + "shape":"ResourceStatus", + "documentation":"

    The creation status of the template.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + } + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AwsAccountId", + "Namespace", + "Email", + "Role" + ], + "members":{ + "UserName":{ + "shape":"UserName", + "documentation":"

    The Amazon QuickSight user name that you want to update.

    ", + "location":"uri", + "locationName":"UserName" + }, + "AwsAccountId":{ + "shape":"AwsAccountId", + "documentation":"

    The ID for the AWS account that the user is in. Currently, you use the ID for the AWS account that contains your Amazon QuickSight account.

    ", + "location":"uri", + "locationName":"AwsAccountId" + }, + "Namespace":{ + "shape":"Namespace", + "documentation":"

    The namespace. Currently, you should set this to default.

    ", + "location":"uri", + "locationName":"Namespace" + }, + "Email":{ + "shape":"String", + "documentation":"

    The email address of the user that you want to update.

    " + }, + "Role":{ + "shape":"UserRole", + "documentation":"

    The Amazon QuickSight role of the user. The user role can be one of the following:

    • READER: A user who has read-only access to dashboards.

    • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

    • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

    " + } + } + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The Amazon QuickSight user.

    " + }, + "RequestId":{ + "shape":"String", + "documentation":"

    The AWS request ID for this operation.

    " + }, + "Status":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status of the request.

    ", + "location":"statusCode" + } + } + }, + "UploadSettings":{ + "type":"structure", + "members":{ + "Format":{ + "shape":"FileFormat", + "documentation":"

    File format.

    " + }, + "StartFromRow":{ + "shape":"PositiveInteger", + "documentation":"

    A row number to start reading data from.

    ", + "box":true + }, + "ContainsHeader":{ + "shape":"Boolean", + "documentation":"

    Whether the file has a header row, or the files each have a header row.

    ", + "box":true + }, + "TextQualifier":{ + "shape":"TextQualifier", + "documentation":"

    Text qualifier.

    " + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

    The delimiter between values in the file.

    " + } + }, + "documentation":"

    Information about the format for a source file or files.

    " + }, + "User":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the user.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The user's user name.

    " + }, + "Email":{ + "shape":"String", + "documentation":"

    The user's email address.

    " + }, + "Role":{ + "shape":"UserRole", + "documentation":"

    The Amazon QuickSight role for the user. The user role can be one of the following:.

    • READER: A user who has read-only access to dashboards.

    • AUTHOR: A user who can create data sources, datasets, analyses, and dashboards.

    • ADMIN: A user who is an author, who can also manage Amazon QuickSight settings.

    • RESTRICTED_READER: This role isn't currently available for use.

    • RESTRICTED_AUTHOR: This role isn't currently available for use.

    " + }, + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The type of identity authentication used by the user.

    " + }, + "Active":{ + "shape":"Boolean", + "documentation":"

    The active status of user. When you create an Amazon QuickSight user that’s not an IAM user or an Active Directory user, that user is inactive until they sign in and provide a password.

    " + }, + "PrincipalId":{ + "shape":"String", + "documentation":"

    The principal ID of the user.

    " + } + }, + "documentation":"

    A registered user of Amazon QuickSight. Currently, an Amazon QuickSight subscription can't contain more than 20 million users.

    " + }, + "UserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "UserName":{ + "type":"string", + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "UserRole":{ + "type":"string", + "enum":[ + "ADMIN", + "AUTHOR", + "READER", + "RESTRICTED_AUTHOR", + "RESTRICTED_READER" + ] + }, + "Username":{ + "type":"string", + "max":64, + "min":1 + }, + "VersionDescription":{ + "type":"string", + "max":512, + "min":1 + }, + "VersionNumber":{ + "type":"long", + "min":1 + }, + "VpcConnectionProperties":{ + "type":"structure", + "required":["VpcConnectionArn"], + "members":{ + "VpcConnectionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the VPC connection.

    " + } + }, + "documentation":"

    VPC connection properties.

    " + }, + "Warehouse":{ + "type":"string", + "max":128 + }, + "WorkGroup":{ + "type":"string", + "max":128, + "min":1 + }, + "boolean":{"type":"boolean"}, + "long":{"type":"long"}, + "string":{"type":"string"}, + "timestamp":{"type":"timestamp"} + }, + "documentation":"Amazon QuickSight API Reference

    Amazon QuickSight is a fully managed, serverless business intelligence service for the AWS Cloud that makes it easy to extend data and insights to every user in your organization. This API reference contains documentation for a programming interface that you can use to manage Amazon QuickSight.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/ram/2018-01-04/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ram/2018-01-04/paginators-1.json --- python-botocore-1.4.70/botocore/data/ram/2018-01-04/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ram/2018-01-04/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "GetResourcePolicies": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "policies" + }, + "GetResourceShareAssociations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShareAssociations" + }, + "GetResourceShareInvitations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShareInvitations" + }, + "GetResourceShares": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resourceShares" + }, + "ListPrincipals": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "principals" + }, + "ListResources": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "resources" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/ram/2018-01-04/service-2.json python-botocore-1.16.19+repack/botocore/data/ram/2018-01-04/service-2.json --- python-botocore-1.4.70/botocore/data/ram/2018-01-04/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ram/2018-01-04/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1930 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-01-04", + "endpointPrefix":"ram", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"RAM", + "serviceFullName":"AWS Resource Access Manager", + "serviceId":"RAM", + "signatureVersion":"v4", + "uid":"ram-2018-01-04" + }, + "operations":{ + "AcceptResourceShareInvitation":{ + "name":"AcceptResourceShareInvitation", + "http":{ + "method":"POST", + "requestUri":"/acceptresourceshareinvitation" + }, + "input":{"shape":"AcceptResourceShareInvitationRequest"}, + "output":{"shape":"AcceptResourceShareInvitationResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceShareInvitationArnNotFoundException"}, + {"shape":"ResourceShareInvitationAlreadyAcceptedException"}, + {"shape":"ResourceShareInvitationAlreadyRejectedException"}, + {"shape":"ResourceShareInvitationExpiredException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Accepts an invitation to a resource share from another AWS account.

    " + }, + "AssociateResourceShare":{ + "name":"AssociateResourceShare", + "http":{ + "method":"POST", + "requestUri":"/associateresourceshare" + }, + "input":{"shape":"AssociateResourceShareRequest"}, + "output":{"shape":"AssociateResourceShareResponse"}, + "errors":[ + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"ResourceShareLimitExceededException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnknownResourceException"} + ], + "documentation":"

    Associates the specified resource share with the specified principals and resources.

    " + }, + "AssociateResourceSharePermission":{ + "name":"AssociateResourceSharePermission", + "http":{ + "method":"POST", + "requestUri":"/associateresourcesharepermission" + }, + "input":{"shape":"AssociateResourceSharePermissionRequest"}, + "output":{"shape":"AssociateResourceSharePermissionResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Associates a permission with a resource share.

    " + }, + "CreateResourceShare":{ + "name":"CreateResourceShare", + "http":{ + "method":"POST", + "requestUri":"/createresourceshare" + }, + "input":{"shape":"CreateResourceShareRequest"}, + "output":{"shape":"CreateResourceShareResponse"}, + "errors":[ + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceShareLimitExceededException"}, + {"shape":"TagPolicyViolationException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a resource share.

    " + }, + "DeleteResourceShare":{ + "name":"DeleteResourceShare", + "http":{ + "method":"DELETE", + "requestUri":"/deleteresourceshare" + }, + "input":{"shape":"DeleteResourceShareRequest"}, + "output":{"shape":"DeleteResourceShareResponse"}, + "errors":[ + {"shape":"OperationNotPermittedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deletes the specified resource share.

    " + }, + "DisassociateResourceShare":{ + "name":"DisassociateResourceShare", + "http":{ + "method":"POST", + "requestUri":"/disassociateresourceshare" + }, + "input":{"shape":"DisassociateResourceShareRequest"}, + "output":{"shape":"DisassociateResourceShareResponse"}, + "errors":[ + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ResourceShareLimitExceededException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidStateTransitionException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnknownResourceException"} + ], + "documentation":"

    Disassociates the specified principals or resources from the specified resource share.

    " + }, + "DisassociateResourceSharePermission":{ + "name":"DisassociateResourceSharePermission", + "http":{ + "method":"POST", + "requestUri":"/disassociateresourcesharepermission" + }, + "input":{"shape":"DisassociateResourceSharePermissionRequest"}, + "output":{"shape":"DisassociateResourceSharePermissionResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Disassociates an AWS RAM permission from a resource share.

    " + }, + "EnableSharingWithAwsOrganization":{ + "name":"EnableSharingWithAwsOrganization", + "http":{ + "method":"POST", + "requestUri":"/enablesharingwithawsorganization" + }, + "input":{"shape":"EnableSharingWithAwsOrganizationRequest"}, + "output":{"shape":"EnableSharingWithAwsOrganizationResponse"}, + "errors":[ + {"shape":"OperationNotPermittedException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Enables resource sharing within your AWS Organization.

    The caller must be the master account for the AWS Organization.

    " + }, + "GetPermission":{ + "name":"GetPermission", + "http":{ + "method":"POST", + "requestUri":"/getpermission" + }, + "input":{"shape":"GetPermissionRequest"}, + "output":{"shape":"GetPermissionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Gets the contents of an AWS RAM permission in JSON format.

    " + }, + "GetResourcePolicies":{ + "name":"GetResourcePolicies", + "http":{ + "method":"POST", + "requestUri":"/getresourcepolicies" + }, + "input":{"shape":"GetResourcePoliciesRequest"}, + "output":{"shape":"GetResourcePoliciesResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceArnNotFoundException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Gets the policies for the specified resources that you own and have shared.

    " + }, + "GetResourceShareAssociations":{ + "name":"GetResourceShareAssociations", + "http":{ + "method":"POST", + "requestUri":"/getresourceshareassociations" + }, + "input":{"shape":"GetResourceShareAssociationsRequest"}, + "output":{"shape":"GetResourceShareAssociationsResponse"}, + "errors":[ + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Gets the resources or principals for the resource shares that you own.

    " + }, + "GetResourceShareInvitations":{ + "name":"GetResourceShareInvitations", + "http":{ + "method":"POST", + "requestUri":"/getresourceshareinvitations" + }, + "input":{"shape":"GetResourceShareInvitationsRequest"}, + "output":{"shape":"GetResourceShareInvitationsResponse"}, + "errors":[ + {"shape":"ResourceShareInvitationArnNotFoundException"}, + {"shape":"InvalidMaxResultsException"}, + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Gets the invitations for resource sharing that you've received.

    " + }, + "GetResourceShares":{ + "name":"GetResourceShares", + "http":{ + "method":"POST", + "requestUri":"/getresourceshares" + }, + "input":{"shape":"GetResourceSharesRequest"}, + "output":{"shape":"GetResourceSharesResponse"}, + "errors":[ + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Gets the resource shares that you own or the resource shares that are shared with you.

    " + }, + "ListPendingInvitationResources":{ + "name":"ListPendingInvitationResources", + "http":{ + "method":"POST", + "requestUri":"/listpendinginvitationresources" + }, + "input":{"shape":"ListPendingInvitationResourcesRequest"}, + "output":{"shape":"ListPendingInvitationResourcesResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ResourceShareInvitationArnNotFoundException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"ResourceShareInvitationAlreadyRejectedException"}, + {"shape":"ResourceShareInvitationExpiredException"} + ], + "documentation":"

    Lists the resources in a resource share that is shared with you but that the invitation is still pending for.

    " + }, + "ListPermissions":{ + "name":"ListPermissions", + "http":{ + "method":"POST", + "requestUri":"/listpermissions" + }, + "input":{"shape":"ListPermissionsRequest"}, + "output":{"shape":"ListPermissionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Lists the AWS RAM permissions.

    " + }, + "ListPrincipals":{ + "name":"ListPrincipals", + "http":{ + "method":"POST", + "requestUri":"/listprincipals" + }, + "input":{"shape":"ListPrincipalsRequest"}, + "output":{"shape":"ListPrincipalsResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Lists the principals that you have shared resources with or that have shared resources with you.

    " + }, + "ListResourceSharePermissions":{ + "name":"ListResourceSharePermissions", + "http":{ + "method":"POST", + "requestUri":"/listresourcesharepermissions" + }, + "input":{"shape":"ListResourceSharePermissionsRequest"}, + "output":{"shape":"ListResourceSharePermissionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"MalformedArnException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Lists the AWS RAM permissions that are associated with a resource share.

    " + }, + "ListResourceTypes":{ + "name":"ListResourceTypes", + "http":{ + "method":"POST", + "requestUri":"/listresourcetypes" + }, + "input":{"shape":"ListResourceTypesRequest"}, + "output":{"shape":"ListResourceTypesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Lists the shareable resource types supported by AWS RAM.

    " + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/listresources" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResponse"}, + "errors":[ + {"shape":"InvalidResourceTypeException"}, + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Lists the resources that you added to a resource shares or the resources that are shared with you.

    " + }, + "PromoteResourceShareCreatedFromPolicy":{ + "name":"PromoteResourceShareCreatedFromPolicy", + "http":{ + "method":"POST", + "requestUri":"/promoteresourcesharecreatedfrompolicy" + }, + "input":{"shape":"PromoteResourceShareCreatedFromPolicyRequest"}, + "output":{"shape":"PromoteResourceShareCreatedFromPolicyResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"UnknownResourceException"} + ], + "documentation":"

    Resource shares that were created by attaching a policy to a resource are visible only to the resource share owner, and the resource share cannot be modified in AWS RAM.

    Use this API action to promote the resource share. When you promote the resource share, it becomes:

    • Visible to all principals that it is shared with.

    • Modifiable in AWS RAM.

    " + }, + "RejectResourceShareInvitation":{ + "name":"RejectResourceShareInvitation", + "http":{ + "method":"POST", + "requestUri":"/rejectresourceshareinvitation" + }, + "input":{"shape":"RejectResourceShareInvitationRequest"}, + "output":{"shape":"RejectResourceShareInvitationResponse"}, + "errors":[ + {"shape":"MalformedArnException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ResourceShareInvitationArnNotFoundException"}, + {"shape":"ResourceShareInvitationAlreadyAcceptedException"}, + {"shape":"ResourceShareInvitationAlreadyRejectedException"}, + {"shape":"ResourceShareInvitationExpiredException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Rejects an invitation to a resource share from another AWS account.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tagresource" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"MalformedArnException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"ResourceArnNotFoundException"}, + {"shape":"TagPolicyViolationException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Adds the specified tags to the specified resource share that you own.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/untagresource" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Removes the specified tags from the specified resource share that you own.

    " + }, + "UpdateResourceShare":{ + "name":"UpdateResourceShare", + "http":{ + "method":"POST", + "requestUri":"/updateresourceshare" + }, + "input":{"shape":"UpdateResourceShareRequest"}, + "output":{"shape":"UpdateResourceShareResponse"}, + "errors":[ + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"UnknownResourceException"}, + {"shape":"MalformedArnException"}, + {"shape":"InvalidClientTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OperationNotPermittedException"}, + {"shape":"ServerInternalException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Updates the specified resource share that you own.

    " + } + }, + "shapes":{ + "AcceptResourceShareInvitationRequest":{ + "type":"structure", + "required":["resourceShareInvitationArn"], + "members":{ + "resourceShareInvitationArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the invitation.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "AcceptResourceShareInvitationResponse":{ + "type":"structure", + "members":{ + "resourceShareInvitation":{ + "shape":"ResourceShareInvitation", + "documentation":"

    Information about the invitation.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "AssociateResourceSharePermissionRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "permissionArn" + ], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "permissionArn":{ + "shape":"String", + "documentation":"

    The ARN of the AWS RAM permission to associate with the resource share.

    " + }, + "replace":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the permission should replace the permissions that are currently associated with the resource share. Use true to replace the current permissions. Use false to add the permission to the current permission.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "AssociateResourceSharePermissionResponse":{ + "type":"structure", + "members":{ + "returnValue":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the request succeeded.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "AssociateResourceShareRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resources.

    " + }, + "principals":{ + "shape":"PrincipalArnOrIdList", + "documentation":"

    The principals.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "AssociateResourceShareResponse":{ + "type":"structure", + "members":{ + "resourceShareAssociations":{ + "shape":"ResourceShareAssociationList", + "documentation":"

    Information about the associations.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "Boolean":{"type":"boolean"}, + "CreateResourceShareRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resources to associate with the resource share.

    " + }, + "principals":{ + "shape":"PrincipalArnOrIdList", + "documentation":"

    The principals to associate with the resource share. The possible values are IDs of AWS accounts, the ARN of an OU or organization from AWS Organizations.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    One or more tags.

    " + }, + "allowExternalPrincipals":{ + "shape":"Boolean", + "documentation":"

    Indicates whether principals outside your AWS organization can be associated with a resource share.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + }, + "permissionArns":{ + "shape":"PermissionArnList", + "documentation":"

    The ARNs of the permissions to associate with the resource share. If you do not specify an ARN for the permission, AWS RAM automatically attaches the default version of the permission for each resource type.

    " + } + } + }, + "CreateResourceShareResponse":{ + "type":"structure", + "members":{ + "resourceShare":{ + "shape":"ResourceShare", + "documentation":"

    Information about the resource share.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "DateTime":{"type":"timestamp"}, + "DeleteResourceShareRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    ", + "location":"querystring", + "locationName":"resourceShareArn" + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "location":"querystring", + "locationName":"clientToken" + } + } + }, + "DeleteResourceShareResponse":{ + "type":"structure", + "members":{ + "returnValue":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the request succeeded.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "DisassociateResourceSharePermissionRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "permissionArn" + ], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "permissionArn":{ + "shape":"String", + "documentation":"

    The ARN of the permission to disassociate from the resource share.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "DisassociateResourceSharePermissionResponse":{ + "type":"structure", + "members":{ + "returnValue":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the request succeeded.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "DisassociateResourceShareRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

    The Amazon Resource Names (ARNs) of the resources.

    " + }, + "principals":{ + "shape":"PrincipalArnOrIdList", + "documentation":"

    The principals.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "DisassociateResourceShareResponse":{ + "type":"structure", + "members":{ + "resourceShareAssociations":{ + "shape":"ResourceShareAssociationList", + "documentation":"

    Information about the associations.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "EnableSharingWithAwsOrganizationRequest":{ + "type":"structure", + "members":{ + } + }, + "EnableSharingWithAwsOrganizationResponse":{ + "type":"structure", + "members":{ + "returnValue":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the request succeeded.

    " + } + } + }, + "GetPermissionRequest":{ + "type":"structure", + "required":["permissionArn"], + "members":{ + "permissionArn":{ + "shape":"String", + "documentation":"

    The ARN of the permission.

    " + }, + "permissionVersion":{ + "shape":"Integer", + "documentation":"

    The identifier for the version of the permission.

    " + } + } + }, + "GetPermissionResponse":{ + "type":"structure", + "members":{ + "permission":{ + "shape":"ResourceSharePermissionDetail", + "documentation":"

    Information about the permission.

    " + } + } + }, + "GetResourcePoliciesRequest":{ + "type":"structure", + "required":["resourceArns"], + "members":{ + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resources.

    " + }, + "principal":{ + "shape":"String", + "documentation":"

    The principal.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "GetResourcePoliciesResponse":{ + "type":"structure", + "members":{ + "policies":{ + "shape":"PolicyList", + "documentation":"

    A key policy document, in JSON format.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "GetResourceShareAssociationsRequest":{ + "type":"structure", + "required":["associationType"], + "members":{ + "associationType":{ + "shape":"ResourceShareAssociationType", + "documentation":"

    The association type. Specify PRINCIPAL to list the principals that are associated with the specified resource share. Specify RESOURCE to list the resources that are associated with the specified resource share.

    " + }, + "resourceShareArns":{ + "shape":"ResourceShareArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resource shares.

    " + }, + "resourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource. You cannot specify this parameter if the association type is PRINCIPAL.

    " + }, + "principal":{ + "shape":"String", + "documentation":"

    The principal. You cannot specify this parameter if the association type is RESOURCE.

    " + }, + "associationStatus":{ + "shape":"ResourceShareAssociationStatus", + "documentation":"

    The association status.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "GetResourceShareAssociationsResponse":{ + "type":"structure", + "members":{ + "resourceShareAssociations":{ + "shape":"ResourceShareAssociationList", + "documentation":"

    Information about the associations.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "GetResourceShareInvitationsRequest":{ + "type":"structure", + "members":{ + "resourceShareInvitationArns":{ + "shape":"ResourceShareInvitationArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the invitations.

    " + }, + "resourceShareArns":{ + "shape":"ResourceShareArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resource shares.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "GetResourceShareInvitationsResponse":{ + "type":"structure", + "members":{ + "resourceShareInvitations":{ + "shape":"ResourceShareInvitationList", + "documentation":"

    Information about the invitations.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "GetResourceSharesRequest":{ + "type":"structure", + "required":["resourceOwner"], + "members":{ + "resourceShareArns":{ + "shape":"ResourceShareArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resource shares.

    " + }, + "resourceShareStatus":{ + "shape":"ResourceShareStatus", + "documentation":"

    The status of the resource share.

    " + }, + "resourceOwner":{ + "shape":"ResourceOwner", + "documentation":"

    The type of owner.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "tagFilters":{ + "shape":"TagFilters", + "documentation":"

    One or more tag filters.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "GetResourceSharesResponse":{ + "type":"structure", + "members":{ + "resourceShares":{ + "shape":"ResourceShareList", + "documentation":"

    Information about the resource shares.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A client token input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Integer":{"type":"integer"}, + "InvalidClientTokenException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A client token is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidMaxResultsException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified value for MaxResults is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified value for NextToken is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A parameter is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidResourceTypeException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified resource type is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidStateTransitionException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The requested state transition is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListPendingInvitationResourcesRequest":{ + "type":"structure", + "required":["resourceShareInvitationArn"], + "members":{ + "resourceShareInvitationArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the invitation.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListPendingInvitationResourcesResponse":{ + "type":"structure", + "members":{ + "resources":{ + "shape":"ResourceList", + "documentation":"

    Information about the resources included the resource share.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "ListPermissionsRequest":{ + "type":"structure", + "members":{ + "resourceType":{ + "shape":"String", + "documentation":"

    Specifies the resource type for which to list permissions. For example, to list only permissions that apply to EC2 subnets, specify ec2:Subnet.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListPermissionsResponse":{ + "type":"structure", + "members":{ + "permissions":{ + "shape":"ResourceSharePermissionList", + "documentation":"

    Information about the permissions.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "ListPrincipalsRequest":{ + "type":"structure", + "required":["resourceOwner"], + "members":{ + "resourceOwner":{ + "shape":"ResourceOwner", + "documentation":"

    The type of owner.

    " + }, + "resourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "principals":{ + "shape":"PrincipalArnOrIdList", + "documentation":"

    The principals.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The resource type.

    Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | license-manager:LicenseConfiguration I resource-groups:Group | rds:Cluster | route53resolver:ResolverRule

    " + }, + "resourceShareArns":{ + "shape":"ResourceShareArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resource shares.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListPrincipalsResponse":{ + "type":"structure", + "members":{ + "principals":{ + "shape":"PrincipalList", + "documentation":"

    The principals.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "ListResourceSharePermissionsRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListResourceSharePermissionsResponse":{ + "type":"structure", + "members":{ + "permissions":{ + "shape":"ResourceSharePermissionList", + "documentation":"

    The permissions associated with the resource share.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "ListResourceTypesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListResourceTypesResponse":{ + "type":"structure", + "members":{ + "resourceTypes":{ + "shape":"ServiceNameAndResourceTypeList", + "documentation":"

    The shareable resource types supported by AWS RAM.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "ListResourcesRequest":{ + "type":"structure", + "required":["resourceOwner"], + "members":{ + "resourceOwner":{ + "shape":"ResourceOwner", + "documentation":"

    The type of owner.

    " + }, + "principal":{ + "shape":"String", + "documentation":"

    The principal.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The resource type.

    Valid values: codebuild:Project | codebuild:ReportGroup | ec2:CapacityReservation | ec2:DedicatedHost | ec2:Subnet | ec2:TrafficMirrorTarget | ec2:TransitGateway | imagebuilder:Component | imagebuilder:Image | imagebuilder:ImageRecipe | license-manager:LicenseConfiguration I resource-groups:Group | rds:Cluster | route53resolver:ResolverRule

    " + }, + "resourceArns":{ + "shape":"ResourceArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resources.

    " + }, + "resourceShareArns":{ + "shape":"ResourceShareArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the resource shares.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

    " + } + } + }, + "ListResourcesResponse":{ + "type":"structure", + "members":{ + "resources":{ + "shape":"ResourceList", + "documentation":"

    Information about the resources.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "MalformedArnException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The format of an Amazon Resource Name (ARN) is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MaxResults":{ + "type":"integer", + "max":500, + "min":1 + }, + "MissingRequiredParameterException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A required input parameter is missing.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "OperationNotPermittedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The requested operation is not permitted.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "PermissionArnList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Policy":{"type":"string"}, + "PolicyList":{ + "type":"list", + "member":{"shape":"Policy"} + }, + "Principal":{ + "type":"structure", + "members":{ + "id":{ + "shape":"String", + "documentation":"

    The ID of the principal.

    " + }, + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The time when the principal was associated with the resource share.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the association was last updated.

    " + }, + "external":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

    " + } + }, + "documentation":"

    Describes a principal for use with AWS Resource Access Manager.

    " + }, + "PrincipalArnOrIdList":{ + "type":"list", + "member":{"shape":"String"} + }, + "PrincipalList":{ + "type":"list", + "member":{"shape":"Principal"} + }, + "PromoteResourceShareCreatedFromPolicyRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The ARN of the resource share to promote.

    ", + "location":"querystring", + "locationName":"resourceShareArn" + } + } + }, + "PromoteResourceShareCreatedFromPolicyResponse":{ + "type":"structure", + "members":{ + "returnValue":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the request succeeded.

    " + } + } + }, + "RejectResourceShareInvitationRequest":{ + "type":"structure", + "required":["resourceShareInvitationArn"], + "members":{ + "resourceShareInvitationArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the invitation.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "RejectResourceShareInvitationResponse":{ + "type":"structure", + "members":{ + "resourceShareInvitation":{ + "shape":"ResourceShareInvitation", + "documentation":"

    Information about the invitation.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "Resource":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "type":{ + "shape":"String", + "documentation":"

    The resource type.

    " + }, + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "resourceGroupArn":{ + "shape":"String", + "documentation":"

    The ARN of the resource group. This value is returned only if the resource is a resource group.

    " + }, + "status":{ + "shape":"ResourceStatus", + "documentation":"

    The status of the resource.

    " + }, + "statusMessage":{ + "shape":"String", + "documentation":"

    A message about the status of the resource.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The time when the resource was associated with the resource share.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the association was last updated.

    " + } + }, + "documentation":"

    Describes a resource associated with a resource share.

    " + }, + "ResourceArnList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ResourceArnNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    An Amazon Resource Name (ARN) was not found.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ResourceOwner":{ + "type":"string", + "enum":[ + "SELF", + "OTHER-ACCOUNTS" + ] + }, + "ResourceShare":{ + "type":"structure", + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "owningAccountId":{ + "shape":"String", + "documentation":"

    The ID of the AWS account that owns the resource share.

    " + }, + "allowExternalPrincipals":{ + "shape":"Boolean", + "documentation":"

    Indicates whether principals outside your AWS organization can be associated with a resource share.

    " + }, + "status":{ + "shape":"ResourceShareStatus", + "documentation":"

    The status of the resource share.

    " + }, + "statusMessage":{ + "shape":"String", + "documentation":"

    A message about the status of the resource share.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    The tags for the resource share.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The time when the resource share was created.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the resource share was last updated.

    " + }, + "featureSet":{ + "shape":"ResourceShareFeatureSet", + "documentation":"

    Indicates how the resource share was created. Possible values include:

    • CREATED_FROM_POLICY - Indicates that the resource share was created from an AWS Identity and Access Management (AWS IAM) policy attached to a resource. These resource shares are visible only to the AWS account that created it. They cannot be modified in AWS RAM.

    • PROMOTING_TO_STANDARD - The resource share is in the process of being promoted. For more information, see PromoteResourceShareCreatedFromPolicy.

    • STANDARD - Indicates that the resource share was created in AWS RAM using the console or APIs. These resource shares are visible to all principals. They can be modified in AWS RAM.

    " + } + }, + "documentation":"

    Describes a resource share.

    " + }, + "ResourceShareArnList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ResourceShareAssociation":{ + "type":"structure", + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "resourceShareName":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "associatedEntity":{ + "shape":"String", + "documentation":"

    The associated entity. For resource associations, this is the ARN of the resource. For principal associations, this is the ID of an AWS account or the ARN of an OU or organization from AWS Organizations.

    " + }, + "associationType":{ + "shape":"ResourceShareAssociationType", + "documentation":"

    The association type.

    " + }, + "status":{ + "shape":"ResourceShareAssociationStatus", + "documentation":"

    The status of the association.

    " + }, + "statusMessage":{ + "shape":"String", + "documentation":"

    A message about the status of the association.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The time when the association was created.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the association was last updated.

    " + }, + "external":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the principal belongs to the same AWS organization as the AWS account that owns the resource share.

    " + } + }, + "documentation":"

    Describes an association with a resource share.

    " + }, + "ResourceShareAssociationList":{ + "type":"list", + "member":{"shape":"ResourceShareAssociation"} + }, + "ResourceShareAssociationStatus":{ + "type":"string", + "enum":[ + "ASSOCIATING", + "ASSOCIATED", + "FAILED", + "DISASSOCIATING", + "DISASSOCIATED" + ] + }, + "ResourceShareAssociationType":{ + "type":"string", + "enum":[ + "PRINCIPAL", + "RESOURCE" + ] + }, + "ResourceShareFeatureSet":{ + "type":"string", + "enum":[ + "CREATED_FROM_POLICY", + "PROMOTING_TO_STANDARD", + "STANDARD" + ] + }, + "ResourceShareInvitation":{ + "type":"structure", + "members":{ + "resourceShareInvitationArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the invitation.

    " + }, + "resourceShareName":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "senderAccountId":{ + "shape":"String", + "documentation":"

    The ID of the AWS account that sent the invitation.

    " + }, + "receiverAccountId":{ + "shape":"String", + "documentation":"

    The ID of the AWS account that received the invitation.

    " + }, + "invitationTimestamp":{ + "shape":"DateTime", + "documentation":"

    The date and time when the invitation was sent.

    " + }, + "status":{ + "shape":"ResourceShareInvitationStatus", + "documentation":"

    The status of the invitation.

    " + }, + "resourceShareAssociations":{ + "shape":"ResourceShareAssociationList", + "documentation":"

    To view the resources associated with a pending resource share invitation, use ListPendingInvitationResources.

    ", + "deprecated":true, + "deprecatedMessage":"This member has been deprecated. Use ListPendingInvitationResources." + } + }, + "documentation":"

    Describes an invitation to join a resource share.

    " + }, + "ResourceShareInvitationAlreadyAcceptedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The invitation was already accepted.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceShareInvitationAlreadyRejectedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The invitation was already rejected.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceShareInvitationArnList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ResourceShareInvitationArnNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The Amazon Resource Name (ARN) for an invitation was not found.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceShareInvitationExpiredException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The invitation is expired.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceShareInvitationList":{ + "type":"list", + "member":{"shape":"ResourceShareInvitation"} + }, + "ResourceShareInvitationStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACCEPTED", + "REJECTED", + "EXPIRED" + ] + }, + "ResourceShareLimitExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The requested resource share exceeds the limit for your account.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceShareList":{ + "type":"list", + "member":{"shape":"ResourceShare"} + }, + "ResourceSharePermissionDetail":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

    The ARN of the permission.

    " + }, + "version":{ + "shape":"String", + "documentation":"

    The identifier for the version of the permission.

    " + }, + "defaultVersion":{ + "shape":"Boolean", + "documentation":"

    The identifier for the version of the permission that is set as the default version.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the permission.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The resource type to which the permission applies.

    " + }, + "permission":{ + "shape":"String", + "documentation":"

    The permission's effect and actions in JSON format. The effect indicates whether the actions are allowed or denied. The actions list the API actions to which the principal is granted or denied access.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The date and time when the permission was created.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time when the permission was last updated.

    " + } + }, + "documentation":"

    Information about an AWS RAM permission.

    " + }, + "ResourceSharePermissionList":{ + "type":"list", + "member":{"shape":"ResourceSharePermissionSummary"} + }, + "ResourceSharePermissionSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"String", + "documentation":"

    The ARN of the permission.

    " + }, + "version":{ + "shape":"String", + "documentation":"

    The identifier for the version of the permission.

    " + }, + "defaultVersion":{ + "shape":"Boolean", + "documentation":"

    The identifier for the version of the permission that is set as the default version.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the permission.

    " + }, + "resourceType":{ + "shape":"String", + "documentation":"

    The type of resource to which the permission applies.

    " + }, + "status":{ + "shape":"String", + "documentation":"

    The current status of the permission.

    " + }, + "creationTime":{ + "shape":"DateTime", + "documentation":"

    The date and time when the permission was created.

    " + }, + "lastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time when the permission was last updated.

    " + } + }, + "documentation":"

    Information about a permission that is associated with a resource share.

    " + }, + "ResourceShareStatus":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "FAILED", + "DELETING", + "DELETED" + ] + }, + "ResourceStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "ZONAL_RESOURCE_INACCESSIBLE", + "LIMIT_EXCEEDED", + "UNAVAILABLE", + "PENDING" + ] + }, + "ServerInternalException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The service could not respond to the request due to an internal problem.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ServiceNameAndResourceType":{ + "type":"structure", + "members":{ + "resourceType":{ + "shape":"String", + "documentation":"

    The shareable resource types.

    " + }, + "serviceName":{ + "shape":"String", + "documentation":"

    The name of the AWS services to which the resources belong.

    " + } + }, + "documentation":"

    Information about the shareable resource types and the AWS services to which they belong.

    " + }, + "ServiceNameAndResourceTypeList":{ + "type":"list", + "member":{"shape":"ServiceNameAndResourceType"} + }, + "ServiceUnavailableException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The service is not available.

    ", + "error":{"httpStatusCode":503}, + "exception":true + }, + "String":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

    The key of the tag.

    " + }, + "value":{ + "shape":"TagValue", + "documentation":"

    The value of the tag.

    " + } + }, + "documentation":"

    Information about a tag.

    " + }, + "TagFilter":{ + "type":"structure", + "members":{ + "tagKey":{ + "shape":"TagKey", + "documentation":"

    The tag key.

    " + }, + "tagValues":{ + "shape":"TagValueList", + "documentation":"

    The tag values.

    " + } + }, + "documentation":"

    Used to filter information based on tags.

    " + }, + "TagFilters":{ + "type":"list", + "member":{"shape":"TagFilter"} + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagLimitExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The requested tags exceed the limit for your account.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagPolicyViolationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified tag is a reserved word and cannot be used.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "tags" + ], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    One or more tags.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "TagValueList":{ + "type":"list", + "member":{"shape":"TagValue"} + }, + "UnknownResourceException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A specified resource was not found.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceShareArn", + "tagKeys" + ], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tag keys of the tags to remove.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateResourceShareRequest":{ + "type":"structure", + "required":["resourceShareArn"], + "members":{ + "resourceShareArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the resource share.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the resource share.

    " + }, + "allowExternalPrincipals":{ + "shape":"Boolean", + "documentation":"

    Indicates whether principals outside your AWS organization can be associated with a resource share.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + }, + "UpdateResourceShareResponse":{ + "type":"structure", + "members":{ + "resourceShare":{ + "shape":"ResourceShare", + "documentation":"

    Information about the resource share.

    " + }, + "clientToken":{ + "shape":"String", + "documentation":"

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + } + } + } + }, + "documentation":"

    Use AWS Resource Access Manager to share AWS resources between AWS accounts. To share a resource, you create a resource share, associate the resource with the resource share, and specify the principals that can access the resources associated with the resource share. The following principals are supported: AWS accounts, organizational units (OU) from AWS Organizations, and organizations from AWS Organizations.

    For more information, see the AWS Resource Access Manager User Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-09-01/service-2.json python-botocore-1.16.19+repack/botocore/data/rds/2014-09-01/service-2.json --- python-botocore-1.4.70/botocore/data/rds/2014-09-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-09-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,7 @@ "endpointPrefix":"rds", "serviceAbbreviation":"Amazon RDS", "serviceFullName":"Amazon Relational Database Service", + "serviceId":"RDS", "signatureVersion":"v4", "xmlNamespace":"http://rds.amazonaws.com/doc/2014-09-01/", "protocol":"query" diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-10-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/examples-1.json --- python-botocore-1.4.70/botocore/data/rds/2014-10-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1951 @@ +{ + "version": "1.0", + "examples": { + "AddSourceIdentifierToSubscription": [ + { + "input": { + "SourceIdentifier": "mymysqlinstance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + "EventSubscription": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example add a source identifier to an event notification subscription.", + "id": "add-source-identifier-to-subscription-93fb6a15-0a59-4577-a7b5-e12db9752c14", + "title": "To add a source identifier to an event notification subscription" + } + ], + "AddTagsToResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup", + "Tags": [ + { + "Key": "Staging", + "Value": "LocationDB" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds a tag to an option group.", + "id": "add-tags-to-resource-fa99ef50-228b-449d-b893-ca4d4e9768ab", + "title": "To add tags to a resource" + } + ], + "ApplyPendingMaintenanceAction": [ + { + "input": { + "ApplyAction": "system-update", + "OptInType": "immediate", + "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + }, + "output": { + "ResourcePendingMaintenanceActions": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately applies a pending system update to a DB instance.", + "id": "apply-pending-maintenance-action-2a026047-8bbb-47fc-b695-abad9f308c24", + "title": "To apply a pending maintenance action" + } + ], + "AuthorizeDBSecurityGroupIngress": [ + { + "input": { + "CIDRIP": "203.0.113.5/32", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + "DBSecurityGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example authorizes access to the specified security group by the specified CIDR block.", + "id": "authorize-db-security-group-ingress-ebf9ab91-8912-4b07-a32e-ca150668164f", + "title": "To authorize DB security group integress" + } + ], + "CopyDBClusterParameterGroup": [ + { + "input": { + "SourceDBClusterParameterGroupIdentifier": "mydbclusterparametergroup", + "TargetDBClusterParameterGroupDescription": "My DB cluster parameter group copy", + "TargetDBClusterParameterGroupIdentifier": "mydbclusterparametergroup-copy" + }, + "output": { + "DBClusterParameterGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB cluster parameter group.", + "id": "copy-db-cluster-parameter-group-6fefaffe-cde9-4dba-9f0b-d3f593572fe4", + "title": "To copy a DB cluster parameter group" + } + ], + "CopyDBClusterSnapshot": [ + { + "input": { + "SourceDBClusterSnapshotIdentifier": "rds:sample-cluster-2016-09-14-10-38", + "TargetDBClusterSnapshotIdentifier": "cluster-snapshot-copy-1" + }, + "output": { + "DBClusterSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example copies an automated snapshot of a DB cluster to a new DB cluster snapshot.", + "id": "to-copy-a-db-cluster-snapshot-1473879770564", + "title": "To copy a DB cluster snapshot" + } + ], + "CopyDBParameterGroup": [ + { + "input": { + "SourceDBParameterGroupIdentifier": "mymysqlparametergroup", + "TargetDBParameterGroupDescription": "My MySQL parameter group copy", + "TargetDBParameterGroupIdentifier": "mymysqlparametergroup-copy" + }, + "output": { + "DBParameterGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB parameter group.", + "id": "copy-db-parameter-group-610d4dba-2c87-467f-ae5d-edd7f8e47349", + "title": "To copy a DB parameter group" + } + ], + "CopyDBSnapshot": [ + { + "input": { + "SourceDBSnapshotIdentifier": "mydbsnapshot", + "TargetDBSnapshotIdentifier": "mydbsnapshot-copy" + }, + "output": { + "DBSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies a DB snapshot.", + "id": "copy-db-snapshot-1b2f0210-bc67-415d-9822-6eecf447dc86", + "title": "To copy a DB snapshot" + } + ], + "CopyOptionGroup": [ + { + "input": { + "SourceOptionGroupIdentifier": "mymysqloptiongroup", + "TargetOptionGroupDescription": "My MySQL option group copy", + "TargetOptionGroupIdentifier": "mymysqloptiongroup-copy" + }, + "output": { + "OptionGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example copies an option group.", + "id": "copy-option-group-8d5c01c3-8846-4e9c-a4b0-1b7237f7d0ec", + "title": "To copy an option group" + } + ], + "CreateDBCluster": [ + { + "input": { + "AvailabilityZones": [ + "us-east-1a" + ], + "BackupRetentionPeriod": 1, + "DBClusterIdentifier": "mydbcluster", + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "DatabaseName": "myauroradb", + "Engine": "aurora", + "EngineVersion": "5.6.10a", + "MasterUserPassword": "mypassword", + "MasterUsername": "myuser", + "Port": 3306, + "StorageEncrypted": true + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster.", + "id": "create-db-cluster-423b998d-eba9-40dd-8e19-96c5b6e5f31d", + "title": "To create a DB cluster" + } + ], + "CreateDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "DBParameterGroupFamily": "aurora5.6", + "Description": "My DB cluster parameter group" + }, + "output": { + "DBClusterParameterGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster parameter group.", + "id": "create-db-cluster-parameter-group-8eb1c3ae-1965-4262-afe3-ee134c4430b1", + "title": "To create a DB cluster parameter group" + } + ], + "CreateDBClusterSnapshot": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + "DBClusterSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB cluster snapshot.", + "id": "create-db-cluster-snapshot-", + "title": "To create a DB cluster snapshot" + } + ], + "CreateDBInstance": [ + { + "input": { + "AllocatedStorage": 5, + "DBInstanceClass": "db.t2.micro", + "DBInstanceIdentifier": "mymysqlinstance", + "Engine": "MySQL", + "MasterUserPassword": "MyPassword", + "MasterUsername": "MyUser" + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB instance.", + "id": "create-db-instance-57eb5d16-8bf8-4c84-9709-1700322b37b9", + "title": "To create a DB instance." + } + ], + "CreateDBInstanceReadReplica": [ + { + "input": { + "AvailabilityZone": "us-east-1a", + "CopyTagsToSnapshot": true, + "DBInstanceClass": "db.t2.micro", + "DBInstanceIdentifier": "mydbreadreplica", + "PubliclyAccessible": true, + "SourceDBInstanceIdentifier": "mymysqlinstance", + "StorageType": "gp2", + "Tags": [ + { + "Key": "mydbreadreplicakey", + "Value": "mydbreadreplicavalue" + } + ] + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB instance read replica.", + "id": "create-db-instance-read-replica-81b41cd5-2871-4dae-bc59-3e264449d5fe", + "title": "To create a DB instance read replica." + } + ], + "CreateDBParameterGroup": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6", + "DBParameterGroupName": "mymysqlparametergroup", + "Description": "My MySQL parameter group" + }, + "output": { + "DBParameterGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB parameter group.", + "id": "create-db-parameter-group-42afcc37-12e9-4b6a-a55c-b8a141246e87", + "title": "To create a DB parameter group." + } + ], + "CreateDBSecurityGroup": [ + { + "input": { + "DBSecurityGroupDescription": "My DB security group", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + "DBSecurityGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB security group.", + "id": "create-db-security-group-41b6786a-539e-42a5-a645-a8bc3cf99353", + "title": "To create a DB security group." + } + ], + "CreateDBSnapshot": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + "DBSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB snapshot.", + "id": "create-db-snapshot-e10e0e2c-9ac4-426d-9b17-6b6a3e382ce2", + "title": "To create a DB snapshot." + } + ], + "CreateDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupDescription": "My DB subnet group", + "DBSubnetGroupName": "mydbsubnetgroup", + "SubnetIds": [ + "subnet-1fab8a69", + "subnet-d43a468c" + ] + }, + "output": { + "DBSubnetGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates a DB subnet group.", + "id": "create-db-subnet-group-c3d162c2-0ec4-4955-ba89-18967615fdb8", + "title": "To create a DB subnet group." + } + ], + "CreateEventSubscription": [ + { + "input": { + "Enabled": true, + "EventCategories": [ + "availability" + ], + "SnsTopicArn": "arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic", + "SourceIds": [ + "mymysqlinstance" + ], + "SourceType": "db-instance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + "EventSubscription": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an event notification subscription.", + "id": "create-event-subscription-00dd0ee6-0e0f-4a38-ae83-e5f2ded5f69a", + "title": "To create an event notification subscription" + } + ], + "CreateOptionGroup": [ + { + "input": { + "EngineName": "MySQL", + "MajorEngineVersion": "5.6", + "OptionGroupDescription": "My MySQL 5.6 option group", + "OptionGroupName": "mymysqloptiongroup" + }, + "output": { + "OptionGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example creates an option group.", + "id": "create-option-group-a7708c87-1b79-4a5e-a762-21cf8fc62b78", + "title": "To create an option group" + } + ], + "DeleteDBCluster": [ + { + "input": { + "DBClusterIdentifier": "mydbcluster", + "SkipFinalSnapshot": true + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster.", + "id": "delete-db-cluster-927fc2c8-6c67-4075-b1ba-75490be0f7d6", + "title": "To delete a DB cluster." + } + ], + "DeleteDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster parameter group.", + "id": "delete-db-cluster-parameter-group-364f5555-ba0a-4cc8-979c-e769098924fc", + "title": "To delete a DB cluster parameter group." + } + ], + "DeleteDBClusterSnapshot": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + "DBClusterSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB cluster snapshot.", + "id": "delete-db-cluster-snapshot-c67e0d95-670e-4fb5-af90-6d9a70a91b07", + "title": "To delete a DB cluster snapshot." + } + ], + "DeleteDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "SkipFinalSnapshot": true + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB instance.", + "id": "delete-db-instance-4412e650-949c-488a-b32a-7d3038ebccc4", + "title": "To delete a DB instance." + } + ], + "DeleteDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mydbparamgroup3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a DB parameter group.", + "id": "to-delete-a-db-parameter-group-1473888796509", + "title": "To delete a DB parameter group" + } + ], + "DeleteDBSecurityGroup": [ + { + "input": { + "DBSecurityGroupName": "mysecgroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a DB security group.", + "id": "to-delete-a-db-security-group-1473960141889", + "title": "To delete a DB security group" + } + ], + "DeleteDBSnapshot": [ + { + "input": { + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + "DBSnapshot": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB snapshot.", + "id": "delete-db-snapshot-505d6b4e-8ced-479c-856a-c460a33fe07b", + "title": "To delete a DB cluster snapshot." + } + ], + "DeleteDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB subnetgroup.", + "id": "delete-db-subnet-group-4ae00375-511e-443d-a01d-4b9f552244aa", + "title": "To delete a DB subnet group." + } + ], + "DeleteEventSubscription": [ + { + "input": { + "SubscriptionName": "myeventsubscription" + }, + "output": { + "EventSubscription": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified DB event subscription.", + "id": "delete-db-event-subscription-d33567e3-1d5d-48ff-873f-0270453f4a75", + "title": "To delete a DB event subscription." + } + ], + "DeleteOptionGroup": [ + { + "input": { + "OptionGroupName": "mydboptiongroup" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified option group.", + "id": "delete-db-option-group-578be2be-3095-431a-9ea4-9a3c3b0daef4", + "title": "To delete an option group." + } + ], + "DescribeAccountAttributes": [ + { + "input": { + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists account attributes.", + "id": "describe-account-attributes-683d3ff7-5524-421a-8da5-e88f1ea2222b", + "title": "To list account attributes" + } + ], + "DescribeCertificates": [ + { + "input": { + "CertificateIdentifier": "rds-ca-2015", + "MaxRecords": 20 + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists up to 20 certificates for the specified certificate identifier.", + "id": "describe-certificates-9d71a70d-7908-4444-b43f-321d842c62dc", + "title": "To list certificates" + } + ], + "DescribeDBClusterParameterGroups": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB cluster parameter group.", + "id": "describe-db-cluster-parameter-groups-cf9c6e66-664e-4f57-8e29-a9080abfc013", + "title": "To list DB cluster parameter group settings" + } + ], + "DescribeDBClusterParameters": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "Source": "system" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists system parameters for the specified DB cluster parameter group.", + "id": "describe-db-cluster-parameters-98043c28-e489-41a7-b118-bfd96dc779a1", + "title": "To list DB cluster parameters" + } + ], + "DescribeDBClusterSnapshotAttributes": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot" + }, + "output": { + "DBClusterSnapshotAttributesResult": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists attributes for the specified DB cluster snapshot.", + "id": "describe-db-cluster-snapshot-attributes-6752ade3-0c7b-4b06-a8e4-b76bf4e2d3571", + "title": "To list DB cluster snapshot attributes" + } + ], + "DescribeDBClusterSnapshots": [ + { + "input": { + "DBClusterSnapshotIdentifier": "mydbclustersnapshot", + "SnapshotType": "manual" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified, manually-created cluster snapshot.", + "id": "describe-db-cluster-snapshots-52f38af1-3431-4a51-9a6a-e6bb8c961b32", + "title": "To list DB cluster snapshots" + } + ], + "DescribeDBClusters": [ + { + "input": { + "DBClusterIdentifier": "mynewdbcluster" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB cluster.", + "id": "describe-db-clusters-7aae8861-cb95-4b3b-9042-f62df7698635", + "title": "To list DB clusters" + } + ], + "DescribeDBEngineVersions": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6", + "DefaultOnly": true, + "Engine": "mysql", + "EngineVersion": "5.6", + "ListSupportedCharacterSets": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB engine version.", + "id": "describe-db-engine-versions-8e698cf2-2162-425a-a854-111cdaceb52b", + "title": "To list DB engine version settings" + } + ], + "DescribeDBInstances": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified DB instance.", + "id": "describe-db-instances-0e11a8c5-4ec3-4463-8cbf-f7254d04c4fc", + "title": "To list DB instance settings" + } + ], + "DescribeDBLogFiles": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "FileLastWritten": 1470873600000, + "FileSize": 0, + "FilenameContains": "error" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists matching log file names for the specified DB instance, file name pattern, last write date in POSIX time with milleseconds, and minimum file size.", + "id": "describe-db-log-files-5f002d8d-5c1d-44c2-b5f4-bd284c0f1285", + "title": "To list DB log file names" + } + ], + "DescribeDBParameterGroups": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about the specified DB parameter group.", + "id": "describe-db-parameter-groups-", + "title": "To list information about DB parameter groups" + } + ], + "DescribeDBParameters": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup", + "MaxRecords": 20, + "Source": "system" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for up to the first 20 system parameters for the specified DB parameter group.", + "id": "describe-db-parameters-09db4201-ef4f-4d97-a4b5-d71c0715b901", + "title": "To list information about DB parameters" + } + ], + "DescribeDBSecurityGroups": [ + { + "input": { + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists settings for the specified security group.", + "id": "describe-db-security-groups-66fe9ea1-17dd-4275-b82e-f771cee0c849", + "title": "To list DB security group settings" + } + ], + "DescribeDBSnapshotAttributes": [ + { + "input": { + "DBSnapshotIdentifier": "mydbsnapshot" + }, + "output": { + "DBSnapshotAttributesResult": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists attributes for the specified DB snapshot.", + "id": "describe-db-snapshot-attributes-1d4fb750-34f6-4e43-8b3d-b2751d796a95", + "title": "To list DB snapshot attributes" + } + ], + "DescribeDBSnapshots": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "IncludePublic": false, + "IncludeShared": true, + "SnapshotType": "manual" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all manually-created, shared snapshots for the specified DB instance.", + "id": "describe-db-snapshots-2c935989-a1ef-4c85-aea4-1d0f45f17f26", + "title": "To list DB snapshot attributes" + } + ], + "DescribeDBSubnetGroups": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about the specified DB subnet group.", + "id": "describe-db-subnet-groups-1d97b340-682f-4dd6-9653-8ed72a8d1221", + "title": "To list information about DB subnet groups" + } + ], + "DescribeEngineDefaultClusterParameters": [ + { + "input": { + "DBParameterGroupFamily": "aurora5.6" + }, + "output": { + "EngineDefaults": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists default parameters for the specified DB cluster engine.", + "id": "describe-engine-default-cluster-parameters-f130374a-7bee-434b-b51d-da20b6e000e0", + "title": "To list default parameters for a DB cluster engine" + } + ], + "DescribeEngineDefaultParameters": [ + { + "input": { + "DBParameterGroupFamily": "mysql5.6" + }, + "output": { + "EngineDefaults": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists default parameters for the specified DB engine.", + "id": "describe-engine-default-parameters-35d5108e-1d44-4fac-8aeb-04b8fdfface1", + "title": "To list default parameters for a DB engine" + } + ], + "DescribeEventCategories": [ + { + "input": { + "SourceType": "db-instance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists all DB instance event categories.", + "id": "describe-event-categories-97bd4c77-12da-4be6-b42f-edf77771428b", + "title": "To list event categories." + } + ], + "DescribeEventSubscriptions": [ + { + "input": { + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for the specified DB event notification subscription.", + "id": "describe-event-subscriptions-11184a82-e58a-4d0c-b558-f3a7489e0850", + "title": "To list information about DB event notification subscriptions" + } + ], + "DescribeEvents": [ + { + "input": { + "Duration": 10080, + "EventCategories": [ + "backup" + ], + "SourceIdentifier": "mymysqlinstance", + "SourceType": "db-instance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all backup-related events for the specified DB instance for the past 7 days (7 days * 24 hours * 60 minutes = 10,080 minutes).", + "id": "describe-events-3836e5ed-3913-4f76-8452-c77fcad5016b", + "title": "To list information about events" + } + ], + "DescribeOptionGroupOptions": [ + { + "input": { + "EngineName": "mysql", + "MajorEngineVersion": "5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all option group options for the specified DB engine.", + "id": "describe-option-group-options-30d735a4-81f1-49e4-b3f2-5dc45d50c8ed", + "title": "To list information about DB option group options" + } + ], + "DescribeOptionGroups": [ + { + "input": { + "EngineName": "mysql", + "MajorEngineVersion": "5.6" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all option groups for the specified DB engine.", + "id": "describe-option-groups-4ef478a1-66d5-45f2-bec3-e608720418a4", + "title": "To list information about DB option groups" + } + ], + "DescribeOrderableDBInstanceOptions": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Engine": "mysql", + "EngineVersion": "5.6.27", + "LicenseModel": "general-public-license", + "Vpc": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all orderable DB instance options for the specified DB engine, engine version, DB instance class, license model, and VPC settings.", + "id": "describe-orderable-db-instance-options-7444d3ed-82eb-42b9-9ed9-896b8c27a782", + "title": "To list information about orderable DB instance options" + } + ], + "DescribePendingMaintenanceActions": [ + { + "input": { + "ResourceIdentifier": "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all pending maintenance actions for the specified DB instance.", + "id": "describe-pending-maintenance-actions-e6021f7e-58ae-49cc-b874-11996176835c", + "title": "To list information about pending maintenance actions" + } + ], + "DescribeReservedDBInstances": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Duration": "1y", + "MultiAZ": false, + "OfferingType": "No Upfront", + "ProductDescription": "mysql" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all reserved DB instances for the specified DB instance class, duration, product, offering type, and availability zone settings.", + "id": "describe-reserved-db-instances-d45adaca-2e30-407c-a0f3-aa7b98bea17f", + "title": "To list information about reserved DB instances" + } + ], + "DescribeReservedDBInstancesOfferings": [ + { + "input": { + "DBInstanceClass": "db.t2.micro", + "Duration": "1y", + "MultiAZ": false, + "OfferingType": "No Upfront", + "ProductDescription": "mysql" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for all reserved DB instance offerings for the specified DB instance class, duration, product, offering type, and availability zone settings.", + "id": "describe-reserved-db-instances-offerings-9de7d1fd-d6a6-4a72-84ae-b2ef58d47d8d", + "title": "To list information about reserved DB instance offerings" + } + ], + "DescribeSourceRegions": [ + { + "input": { + }, + "output": { + "SourceRegions": [ + { + "Endpoint": "https://rds.ap-northeast-1.amazonaws.com", + "RegionName": "ap-northeast-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-northeast-2.amazonaws.com", + "RegionName": "ap-northeast-2", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-south-1.amazonaws.com", + "RegionName": "ap-south-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-southeast-1.amazonaws.com", + "RegionName": "ap-southeast-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.ap-southeast-2.amazonaws.com", + "RegionName": "ap-southeast-2", + "Status": "available" + }, + { + "Endpoint": "https://rds.eu-central-1.amazonaws.com", + "RegionName": "eu-central-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.eu-west-1.amazonaws.com", + "RegionName": "eu-west-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.sa-east-1.amazonaws.com", + "RegionName": "sa-east-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.us-west-1.amazonaws.com", + "RegionName": "us-west-1", + "Status": "available" + }, + { + "Endpoint": "https://rds.us-west-2.amazonaws.com", + "RegionName": "us-west-2", + "Status": "available" + } + ] + }, + "comments": { + }, + "description": "To list the AWS regions where a Read Replica can be created.", + "id": "to-describe-source-regions-1473457722410", + "title": "To describe source regions" + } + ], + "DownloadDBLogFilePortion": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "LogFileName": "mysqlUpgrade" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information for the specified log file for the specified DB instance.", + "id": "download-db-log-file-portion-54a82731-a441-4fc7-a010-8eccae6fa202", + "title": "To list information about DB log files" + } + ], + "FailoverDBCluster": [ + { + "input": { + "DBClusterIdentifier": "myaurorainstance-cluster", + "TargetDBInstanceIdentifier": "myaurorareplica" + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example performs a failover for the specified DB cluster to the specified DB instance.", + "id": "failover-db-cluster-9e7f2f93-d98c-42c7-bb0e-d6c485c096d6", + "title": "To perform a failover for a DB cluster" + } + ], + "ListTagsForResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example lists information about all tags associated with the specified DB option group.", + "id": "list-tags-for-resource-8401f3c2-77cd-4f90-bfd5-b523f0adcc2f", + "title": "To list information about tags associated with a resource" + } + ], + "ModifyDBCluster": [ + { + "input": { + "ApplyImmediately": true, + "DBClusterIdentifier": "mydbcluster", + "MasterUserPassword": "mynewpassword", + "NewDBClusterIdentifier": "mynewdbcluster", + "PreferredBackupWindow": "04:00-04:30", + "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified settings for the specified DB cluster.", + "id": "modify-db-cluster-a370ee1b-768d-450a-853b-707cb1ab663d", + "title": "To change DB cluster settings" + } + ], + "ModifyDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "time_zone", + "ParameterValue": "America/Phoenix" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified setting for the specified DB cluster parameter group.", + "id": "modify-db-cluster-parameter-group-f9156bc9-082a-442e-8d12-239542c1a113", + "title": "To change DB cluster parameter group settings" + } + ], + "ModifyDBClusterSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBClusterSnapshotIdentifier": "manual-cluster-snapshot1", + "ValuesToAdd": [ + "123451234512", + "123456789012" + ], + "ValuesToRemove": [ + "all" + ] + }, + "output": { + "DBClusterSnapshotAttributesResult": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gives two AWS accounts access to a manual DB cluster snapshot and ensures that the DB cluster snapshot is private by removing the value \"all\".", + "id": "to-add-or-remove-access-to-a-manual-db-cluster-snapshot-1473889426431", + "title": "To add or remove access to a manual DB cluster snapshot" + } + ], + "ModifyDBInstance": [ + { + "input": { + "AllocatedStorage": 10, + "ApplyImmediately": true, + "BackupRetentionPeriod": 1, + "DBInstanceClass": "db.t2.small", + "DBInstanceIdentifier": "mymysqlinstance", + "MasterUserPassword": "mynewpassword", + "PreferredBackupWindow": "04:00-04:30", + "PreferredMaintenanceWindow": "Tue:05:00-Tue:05:30" + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified settings for the specified DB instance.", + "id": "modify-db-instance-6979a368-6254-467b-8a8d-61103f4fcde9", + "title": "To change DB instance settings" + } + ], + "ModifyDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mymysqlparametergroup", + "Parameters": [ + { + "ApplyMethod": "immediate", + "ParameterName": "time_zone", + "ParameterValue": "America/Phoenix" + } + ] + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example immediately changes the specified setting for the specified DB parameter group.", + "id": "modify-db-parameter-group-f3a4e52a-68e4-4b88-b559-f912d34c457a", + "title": "To change DB parameter group settings" + } + ], + "ModifyDBSnapshotAttribute": [ + { + "input": { + "AttributeName": "restore", + "DBSnapshotIdentifier": "mydbsnapshot", + "ValuesToAdd": [ + "all" + ] + }, + "output": { + "DBSnapshotAttributesResult": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example adds the specified attribute for the specified DB snapshot.", + "id": "modify-db-snapshot-attribute-2e66f120-2b21-4a7c-890b-4474da88bde6", + "title": "To change DB snapshot attributes" + } + ], + "ModifyDBSubnetGroup": [ + { + "input": { + "DBSubnetGroupName": "mydbsubnetgroup", + "SubnetIds": [ + "subnet-70e1975a", + "subnet-747a5c49" + ] + }, + "output": { + "DBSubnetGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified setting for the specified DB subnet group.", + "id": "modify-db-subnet-group-e34a97d9-8fe6-4239-a4ed-ad6e73a956b0", + "title": "To change DB subnet group settings" + } + ], + "ModifyEventSubscription": [ + { + "input": { + "Enabled": true, + "EventCategories": [ + "deletion", + "low storage" + ], + "SourceType": "db-instance", + "SubscriptionName": "mymysqleventsubscription" + }, + "output": { + "EventSubscription": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example changes the specified setting for the specified event notification subscription.", + "id": "modify-event-subscription-405ac869-1f02-42cd-b8f4-6950a435f30e", + "title": "To change event notification subscription settings" + } + ], + "ModifyOptionGroup": [ + { + "input": { + "ApplyImmediately": true, + "OptionGroupName": "myawsuser-og02", + "OptionsToInclude": [ + { + "DBSecurityGroupMemberships": [ + "default" + ], + "OptionName": "MEMCACHED" + } + ] + }, + "output": { + "OptionGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds an option to an option group.", + "id": "to-modify-an-option-group-1473890247875", + "title": "To modify an option group" + } + ], + "PromoteReadReplica": [ + { + "input": { + "BackupRetentionPeriod": 1, + "DBInstanceIdentifier": "mydbreadreplica", + "PreferredBackupWindow": "03:30-04:00" + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example promotes the specified read replica and sets its backup retention period and preferred backup window.", + "id": "promote-read-replica-cc580039-c55d-4035-838a-def4a1ae4181", + "title": "To promote a read replica" + } + ], + "PurchaseReservedDBInstancesOffering": [ + { + "input": { + "ReservedDBInstanceId": "myreservationid", + "ReservedDBInstancesOfferingId": "fb29428a-646d-4390-850e-5fe89926e727" + }, + "output": { + "ReservedDBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example purchases a reserved DB instance offering that matches the specified settings.", + "id": "purchase-reserved-db-instances-offfering-f423c736-8413-429b-ba13-850fd4fa4dcd", + "title": "To purchase a reserved DB instance offering" + } + ], + "RebootDBInstance": [ + { + "input": { + "DBInstanceIdentifier": "mymysqlinstance", + "ForceFailover": false + }, + "output": { + "DBInstance": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example reboots the specified DB instance without forcing a failover.", + "id": "reboot-db-instance-b9ce8a0a-2920-451d-a1f3-01d288aa7366", + "title": "To reboot a DB instance" + } + ], + "RemoveSourceIdentifierFromSubscription": [ + { + "input": { + "SourceIdentifier": "mymysqlinstance", + "SubscriptionName": "myeventsubscription" + }, + "output": { + "EventSubscription": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified source identifier from the specified DB event subscription.", + "id": "remove-source-identifier-from-subscription-30d25493-c19d-4cf7-b4e5-68371d0d8770", + "title": "To remove a source identifier from a DB event subscription" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceName": "arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup", + "TagKeys": [ + "MyKey" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example removes the specified tag associated with the specified DB option group.", + "id": "remove-tags-from-resource-49f00574-38f6-4d01-ac89-d3c668449ce3", + "title": "To remove tags from a resource" + } + ], + "ResetDBClusterParameterGroup": [ + { + "input": { + "DBClusterParameterGroupName": "mydbclusterparametergroup", + "ResetAllParameters": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets all parameters for the specified DB cluster parameter group to their default values.", + "id": "reset-db-cluster-parameter-group-b04aeaf7-7f73-49e1-9bb4-857573ea3ee4", + "title": "To reset the values of a DB cluster parameter group" + } + ], + "ResetDBParameterGroup": [ + { + "input": { + "DBParameterGroupName": "mydbparametergroup", + "ResetAllParameters": true + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example resets all parameters for the specified DB parameter group to their default values.", + "id": "reset-db-parameter-group-ed2ed723-de0d-4824-8af5-3c65fa130abf", + "title": "To reset the values of a DB parameter group" + } + ], + "RestoreDBClusterFromSnapshot": [ + { + "input": { + "DBClusterIdentifier": "restored-cluster1", + "Engine": "aurora", + "SnapshotIdentifier": "sample-cluster-snapshot1" + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores an Amazon Aurora DB cluster from a DB cluster snapshot.", + "id": "to-restore-an-amazon-aurora-db-cluster-from-a-db-cluster-snapshot-1473958144325", + "title": "To restore an Amazon Aurora DB cluster from a DB cluster snapshot" + } + ], + "RestoreDBClusterToPointInTime": [ + { + "input": { + "DBClusterIdentifier": "sample-restored-cluster1", + "RestoreToTime": "2016-09-13T18:45:00Z", + "SourceDBClusterIdentifier": "sample-cluster1" + }, + "output": { + "DBCluster": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores a DB cluster to a new DB cluster at a point in time from the source DB cluster.", + "id": "to-restore-a-db-cluster-to-a-point-in-time-1473962082214", + "title": "To restore a DB cluster to a point in time." + } + ], + "RestoreDBInstanceFromDBSnapshot": [ + { + "input": { + "DBInstanceIdentifier": "mysqldb-restored", + "DBSnapshotIdentifier": "rds:mysqldb-2014-04-22-08-15" + }, + "output": { + "DBInstance": { + "AllocatedStorage": 200, + "AutoMinorVersionUpgrade": true, + "AvailabilityZone": "us-west-2b", + "BackupRetentionPeriod": 7, + "CACertificateIdentifier": "rds-ca-2015", + "CopyTagsToSnapshot": false, + "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysqldb-restored", + "DBInstanceClass": "db.t2.small", + "DBInstanceIdentifier": "mysqldb-restored", + "DBInstanceStatus": "available", + "DBName": "sample", + "DBParameterGroups": [ + { + "DBParameterGroupName": "default.mysql5.6", + "ParameterApplyStatus": "in-sync" + } + ], + "DBSecurityGroups": [ + + ], + "DBSubnetGroup": { + "DBSubnetGroupDescription": "default", + "DBSubnetGroupName": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-west-2a" + }, + "SubnetIdentifier": "subnet-77e8db03", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-c39989a1", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2c" + }, + "SubnetIdentifier": "subnet-4b267b0d", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-c1c5b3a3" + }, + "DbInstancePort": 0, + "DbiResourceId": "db-VNZUCCBTEDC4WR7THXNJO72HVQ", + "DomainMemberships": [ + + ], + "Engine": "mysql", + "EngineVersion": "5.6.27", + "LicenseModel": "general-public-license", + "MasterUsername": "mymasteruser", + "MonitoringInterval": 0, + "MultiAZ": false, + "OptionGroupMemberships": [ + { + "OptionGroupName": "default:mysql-5-6", + "Status": "in-sync" + } + ], + "PendingModifiedValues": { + }, + "PreferredBackupWindow": "12:58-13:28", + "PreferredMaintenanceWindow": "tue:10:16-tue:10:46", + "PubliclyAccessible": true, + "ReadReplicaDBInstanceIdentifiers": [ + + ], + "StorageEncrypted": false, + "StorageType": "gp2", + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-e5e5b0d2" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores a DB instance from a DB snapshot.", + "id": "to-restore-a-db-instance-from-a-db-snapshot-1473961657311", + "title": "To restore a DB instance from a DB snapshot." + } + ], + "RestoreDBInstanceToPointInTime": [ + { + "input": { + "RestoreTime": "2016-09-13T18:45:00Z", + "SourceDBInstanceIdentifier": "mysql-sample", + "TargetDBInstanceIdentifier": "mysql-sample-restored" + }, + "output": { + "DBInstance": { + "AllocatedStorage": 200, + "AutoMinorVersionUpgrade": true, + "AvailabilityZone": "us-west-2b", + "BackupRetentionPeriod": 7, + "CACertificateIdentifier": "rds-ca-2015", + "CopyTagsToSnapshot": false, + "DBInstanceArn": "arn:aws:rds:us-west-2:123456789012:db:mysql-sample-restored", + "DBInstanceClass": "db.t2.small", + "DBInstanceIdentifier": "mysql-sample-restored", + "DBInstanceStatus": "available", + "DBName": "sample", + "DBParameterGroups": [ + { + "DBParameterGroupName": "default.mysql5.6", + "ParameterApplyStatus": "in-sync" + } + ], + "DBSecurityGroups": [ + + ], + "DBSubnetGroup": { + "DBSubnetGroupDescription": "default", + "DBSubnetGroupName": "default", + "SubnetGroupStatus": "Complete", + "Subnets": [ + { + "SubnetAvailabilityZone": { + "Name": "us-west-2a" + }, + "SubnetIdentifier": "subnet-77e8db03", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2b" + }, + "SubnetIdentifier": "subnet-c39989a1", + "SubnetStatus": "Active" + }, + { + "SubnetAvailabilityZone": { + "Name": "us-west-2c" + }, + "SubnetIdentifier": "subnet-4b267b0d", + "SubnetStatus": "Active" + } + ], + "VpcId": "vpc-c1c5b3a3" + }, + "DbInstancePort": 0, + "DbiResourceId": "db-VNZUCCBTEDC4WR7THXNJO72HVQ", + "DomainMemberships": [ + + ], + "Engine": "mysql", + "EngineVersion": "5.6.27", + "LicenseModel": "general-public-license", + "MasterUsername": "mymasteruser", + "MonitoringInterval": 0, + "MultiAZ": false, + "OptionGroupMemberships": [ + { + "OptionGroupName": "default:mysql-5-6", + "Status": "in-sync" + } + ], + "PendingModifiedValues": { + }, + "PreferredBackupWindow": "12:58-13:28", + "PreferredMaintenanceWindow": "tue:10:16-tue:10:46", + "PubliclyAccessible": true, + "ReadReplicaDBInstanceIdentifiers": [ + + ], + "StorageEncrypted": false, + "StorageType": "gp2", + "VpcSecurityGroups": [ + { + "Status": "active", + "VpcSecurityGroupId": "sg-e5e5b0d2" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores a DB instance to a new DB instance at a point in time from the source DB instance.", + "id": "to-restore-a-db-instance-to-a-point-in-time-1473962652154", + "title": "To restore a DB instance to a point in time." + } + ], + "RevokeDBSecurityGroupIngress": [ + { + "input": { + "CIDRIP": "203.0.113.5/32", + "DBSecurityGroupName": "mydbsecuritygroup" + }, + "output": { + "DBSecurityGroup": { + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example revokes ingress for the specified CIDR block associated with the specified DB security group.", + "id": "revoke-db-security-group-ingress-ce5b2c1c-bd4e-4809-b04a-6d78ec448813", + "title": "To revoke ingress for a DB security group" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-10-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/rds/2014-10-31/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,17 +1,53 @@ { "pagination": { + "DescribeCertificates": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "Certificates" + }, + "DescribeDBClusterBacktracks": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "DBClusterBacktracks" + }, + "DescribeDBClusterParameterGroups": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "DBClusterParameterGroups" + }, + "DescribeDBClusterParameters": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "Parameters" + }, "DescribeDBClusterSnapshots": { "input_token": "Marker", "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "DBClusterSnapshots" }, + "DescribeDBClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusters" + }, "DescribeDBEngineVersions": { "input_token": "Marker", "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "DBEngineVersions" }, + "DescribeDBInstanceAutomatedBackups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBInstanceAutomatedBackups" + }, "DescribeDBInstances": { "input_token": "Marker", "output_token": "Marker", @@ -54,6 +90,12 @@ "limit_key": "MaxRecords", "result_key": "DBSubnetGroups" }, + "DescribeEngineDefaultClusterParameters": { + "input_token": "Marker", + "output_token": "EngineDefaults.Marker", + "limit_key": "MaxRecords", + "result_key": "EngineDefaults.Parameters" + }, "DescribeEngineDefaultParameters": { "input_token": "Marker", "output_token": "EngineDefaults.Marker", @@ -72,6 +114,12 @@ "limit_key": "MaxRecords", "result_key": "Events" }, + "DescribeGlobalClusters": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "GlobalClusters" + }, "DescribeOptionGroupOptions": { "input_token": "Marker", "output_token": "Marker", @@ -90,6 +138,12 @@ "limit_key": "MaxRecords", "result_key": "OrderableDBInstanceOptions" }, + "DescribePendingMaintenanceActions": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "PendingMaintenanceActions" + }, "DescribeReservedDBInstances": { "input_token": "Marker", "output_token": "Marker", @@ -102,12 +156,60 @@ "limit_key": "MaxRecords", "result_key": "ReservedDBInstancesOfferings" }, + "DescribeSourceRegions": { + "input_token": "Marker", + "output_token": "Marker", + "limit_key": "MaxRecords", + "result_key": "SourceRegions" + }, "DownloadDBLogFilePortion": { "input_token": "Marker", "output_token": "Marker", "limit_key": "NumberOfLines", "more_results": "AdditionalDataPending", "result_key": "LogFileData" + }, + "DescribeDBClusterEndpoints": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBClusterEndpoints" + }, + "DescribeCustomAvailabilityZones": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "CustomAvailabilityZones" + }, + "DescribeInstallationMedia": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "InstallationMedia" + }, + "DescribeDBProxies": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "DBProxies" + }, + "DescribeDBProxyTargetGroups": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TargetGroups" + }, + "DescribeDBProxyTargets": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "Targets" + }, + "DescribeExportTasks": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ExportTasks" } } } diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-10-31/service-2.json python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/service-2.json --- python-botocore-1.4.70/botocore/data/rds/2014-10-31/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,7 +6,9 @@ "protocol":"query", "serviceAbbreviation":"Amazon RDS", "serviceFullName":"Amazon Relational Database Service", + "serviceId":"RDS", "signatureVersion":"v4", + "uid":"rds-2014-10-31", "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" }, "operations":{ @@ -23,7 +25,22 @@ {"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.

    " + "documentation":"

    Associates an Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "AddRoleToDBInstance":{ + "name":"AddRoleToDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddRoleToDBInstanceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBInstanceRoleAlreadyExistsFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBInstanceRoleQuotaExceededFault"} + ], + "documentation":"

    Associates an AWS Identity and Access Management (IAM) role with a DB instance.

    To add a role to a DB instance, the status of the DB instance must be available.

    " }, "AddSourceIdentifierToSubscription":{ "name":"AddSourceIdentifierToSubscription", @@ -51,9 +68,12 @@ "input":{"shape":"AddTagsToResourceMessage"}, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"} ], - "documentation":"

    Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

    For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

    " + "documentation":"

    Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.

    For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources.

    " }, "ApplyPendingMaintenanceAction":{ "name":"ApplyPendingMaintenanceAction", @@ -67,7 +87,9 @@ "resultWrapper":"ApplyPendingMaintenanceActionResult" }, "errors":[ - {"shape":"ResourceNotFoundFault"} + {"shape":"ResourceNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} ], "documentation":"

    Applies a pending maintenance action to a resource (for example, to a DB instance).

    " }, @@ -88,7 +110,41 @@ {"shape":"AuthorizationAlreadyExistsFault"}, {"shape":"AuthorizationQuotaExceededFault"} ], - "documentation":"

    Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

    You cannot authorize ingress from an EC2 security group in one region to an Amazon RDS DB instance in another. You cannot authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

    For an overview of CIDR ranges, go to the Wikipedia Tutorial.

    " + "documentation":"

    Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the Internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).

    You can't authorize ingress from an EC2 security group in one AWS Region to an Amazon RDS DB instance in another. You can't authorize ingress from a VPC security group in one VPC to an Amazon RDS DB instance in another.

    For an overview of CIDR ranges, go to the Wikipedia Tutorial.

    " + }, + "BacktrackDBCluster":{ + "name":"BacktrackDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BacktrackDBClusterMessage"}, + "output":{ + "shape":"DBClusterBacktrack", + "resultWrapper":"BacktrackDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

    Backtracks a DB cluster to a specific time, without creating a new DB cluster.

    For more information on backtracking, see Backtracking an Aurora DB Cluster in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "CancelExportTask":{ + "name":"CancelExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelExportTaskMessage"}, + "output":{ + "shape":"ExportTask", + "resultWrapper":"CancelExportTaskResult" + }, + "errors":[ + {"shape":"ExportTaskNotFoundFault"}, + {"shape":"InvalidExportTaskStateFault"} + ], + "documentation":"

    Cancels an export task in progress that is exporting a snapshot to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.

    " }, "CopyDBClusterParameterGroup":{ "name":"CopyDBClusterParameterGroup", @@ -106,7 +162,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

    Copies the specified DB cluster parameter group.

    " + "documentation":"

    Copies the specified DB cluster parameter group.

    This action only applies to Aurora DB clusters.

    " }, "CopyDBClusterSnapshot":{ "name":"CopyDBClusterSnapshot", @@ -127,7 +183,7 @@ {"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.

    " + "documentation":"

    Copies a snapshot of a DB cluster.

    To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

    You can copy an encrypted DB cluster snapshot from another AWS Region. In that case, the AWS Region where you call the CopyDBClusterSnapshot action is the destination AWS Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another AWS Region, you must provide the following values:

    • KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region.

    • PreSignedUrl - A URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot action to be called in the source AWS Region where the DB cluster snapshot is copied from. The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied.

      The pre-signed URL request must contain the following parameter values:

      • KmsKeyId - The KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

      • DestinationRegion - The name of the AWS Region that the DB cluster snapshot is to be created in.

      • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

      To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

      If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region.

    • TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination AWS Region.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the ARN format for the source AWS Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

    To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

    For more information on copying encrypted DB cluster snapshots from one AWS Region to another, see Copying a Snapshot in the Amazon Aurora User Guide.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "CopyDBParameterGroup":{ "name":"CopyDBParameterGroup", @@ -165,7 +221,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"KMSKeyNotAccessibleFault"} ], - "documentation":"

    Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

    If you are copying from a shared manual DB snapshot, the SourceDBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    " + "documentation":"

    Copies the specified DB snapshot. The source DB snapshot must be in the \"available\" state.

    You can copy a snapshot from one AWS Region to another. In that case, the AWS Region where you call the CopyDBSnapshot action is the destination AWS Region for the DB snapshot copy.

    For more information about copying snapshots, see Copying a DB Snapshot in the Amazon RDS User Guide.

    " }, "CopyOptionGroup":{ "name":"CopyOptionGroup", @@ -185,6 +241,24 @@ ], "documentation":"

    Copies the specified option group.

    " }, + "CreateCustomAvailabilityZone":{ + "name":"CreateCustomAvailabilityZone", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomAvailabilityZoneMessage"}, + "output":{ + "shape":"CreateCustomAvailabilityZoneResult", + "resultWrapper":"CreateCustomAvailabilityZoneResult" + }, + "errors":[ + {"shape":"CustomAvailabilityZoneAlreadyExistsFault"}, + {"shape":"CustomAvailabilityZoneQuotaExceededFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

    Creates a custom Availability Zone (AZ).

    A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    " + }, "CreateDBCluster":{ "name":"CreateDBCluster", "http":{ @@ -206,11 +280,38 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBSubnetGroupStateFault"}, {"shape":"InvalidSubnet"}, + {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBClusterParameterGroupNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DBClusterNotFoundFault"} + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"GlobalClusterNotFoundFault"}, + {"shape":"InvalidGlobalClusterStateFault"}, + {"shape":"DomainNotFoundFault"} + ], + "documentation":"

    Creates a new Amazon Aurora DB cluster.

    You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a read replica of another DB cluster or Amazon RDS MySQL DB instance. For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl parameter.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "CreateDBClusterEndpoint":{ + "name":"CreateDBClusterEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBClusterEndpointMessage"}, + "output":{ + "shape":"DBClusterEndpoint", + "resultWrapper":"CreateDBClusterEndpointResult" + }, + "errors":[ + {"shape":"DBClusterEndpointQuotaExceededFault"}, + {"shape":"DBClusterEndpointAlreadyExistsFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

    Creates a new Amazon Aurora DB cluster.

    You can use the ReplicationSourceIdentifier parameter to create the DB cluster as a Read Replica of another DB cluster.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.

    This action only applies to Aurora DB clusters.

    " }, "CreateDBClusterParameterGroup":{ "name":"CreateDBClusterParameterGroup", @@ -227,7 +328,7 @@ {"shape":"DBParameterGroupQuotaExceededFault"}, {"shape":"DBParameterGroupAlreadyExistsFault"} ], - "documentation":"

    Creates a new DB cluster parameter group.

    Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

    A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

    After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Creates a new DB cluster parameter group.

    Parameters in a DB cluster parameter group apply to all of the instances in a DB cluster.

    A DB cluster parameter group is initially created with the default parameters for the database engine used by instances in the DB cluster. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBClusterParameterGroup. Once you've created a DB cluster parameter group, you need to associate it with your DB cluster using ModifyDBCluster. When you associate a new DB cluster parameter group with a running DB cluster, you need to reboot the DB instances in the DB cluster without failover for the new DB cluster parameter group and associated settings to take effect.

    After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the DB cluster parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "CreateDBClusterSnapshot":{ "name":"CreateDBClusterSnapshot", @@ -247,7 +348,7 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "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.

    " + "documentation":"

    Creates a snapshot of a DB cluster. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "CreateDBInstance":{ "name":"CreateDBInstance", @@ -278,7 +379,8 @@ {"shape":"StorageTypeNotSupportedFault"}, {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"BackupPolicyNotFoundFault"} ], "documentation":"

    Creates a new DB instance.

    " }, @@ -311,9 +413,10 @@ {"shape":"DBSubnetGroupNotAllowedFault"}, {"shape":"InvalidDBSubnetGroupFault"}, {"shape":"StorageTypeNotSupportedFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DomainNotFoundFault"} ], - "documentation":"

    Creates a DB instance for a DB instance running MySQL, MariaDB, or PostgreSQL that acts as a Read Replica of a source DB instance.

    All Read Replica DB instances are created as Single-AZ deployments with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified below.

    The source DB instance must have backup retention enabled.

    " + "documentation":"

    Creates a new DB instance that acts as a read replica for an existing source DB instance. You can create a read replica for a DB instance running MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server. For more information, see Working with Read Replicas in the Amazon RDS User Guide.

    Amazon Aurora doesn't support this action. Call the CreateDBInstance action to create a DB instance for an Aurora DB cluster.

    All read replica DB instances are created with backups disabled. All other DB instance attributes (including DB security groups and DB parameter groups) are inherited from the source DB instance, except as specified.

    Your source DB instance must have backup retention enabled.

    " }, "CreateDBParameterGroup":{ "name":"CreateDBParameterGroup", @@ -332,6 +435,24 @@ ], "documentation":"

    Creates a new DB parameter group.

    A DB parameter group is initially created with the default parameters for the database engine used by the DB instance. To provide custom values for any of the parameters, you must modify the group after creating it using ModifyDBParameterGroup. Once you've created a DB parameter group, you need to associate it with your DB instance using ModifyDBInstance. When you associate a new DB parameter group with a running DB instance, you need to reboot the DB instance without failover for the new DB parameter group and associated settings to take effect.

    After you create a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

    " }, + "CreateDBProxy":{ + "name":"CreateDBProxy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDBProxyRequest"}, + "output":{ + "shape":"CreateDBProxyResponse", + "resultWrapper":"CreateDBProxyResult" + }, + "errors":[ + {"shape":"InvalidSubnet"}, + {"shape":"DBProxyAlreadyExistsFault"}, + {"shape":"DBProxyQuotaExceededFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Creates a new DB proxy.

    " + }, "CreateDBSecurityGroup":{ "name":"CreateDBSecurityGroup", "http":{ @@ -348,7 +469,7 @@ {"shape":"DBSecurityGroupQuotaExceededFault"}, {"shape":"DBSecurityGroupNotSupportedFault"} ], - "documentation":"

    Creates a new DB security group. DB security groups control access to a DB instance.

    " + "documentation":"

    Creates a new DB security group. DB security groups control access to a DB instance.

    A DB security group controls access to EC2-Classic DB instances that are not in a VPC.

    " }, "CreateDBSnapshot":{ "name":"CreateDBSnapshot", @@ -387,7 +508,7 @@ {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, {"shape":"InvalidSubnet"} ], - "documentation":"

    Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

    " + "documentation":"

    Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

    " }, "CreateEventSubscription":{ "name":"CreateEventSubscription", @@ -409,7 +530,26 @@ {"shape":"SubscriptionCategoryNotFoundFault"}, {"shape":"SourceNotFoundFault"} ], - "documentation":"

    Creates an RDS event notification subscription. This action requires a topic ARN (Amazon Resource Name) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

    You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

    If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you will be notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you will receive notice of the events for that source type for all your RDS sources. If you do not specify either the SourceType nor the SourceIdentifier, you will be notified of events generated from all RDS sources belonging to your customer account.

    " + "documentation":"

    Creates an RDS event notification subscription. This action requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.

    You can specify the type of source (SourceType) you want to be notified of, provide a list of RDS sources (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories = Availability, Backup.

    If you specify both the SourceType and SourceIds, such as SourceType = db-instance and SourceIdentifier = myDBInstance1, you are notified of all the db-instance events for the specified source. If you specify a SourceType but do not specify a SourceIdentifier, you receive notice of the events for that source type for all your RDS sources. If you don't specify either the SourceType or the SourceIdentifier, you are notified of events generated from all RDS sources belonging to your customer account.

    RDS event notification is only available for unencrypted SNS topics. If you specify an encrypted SNS topic, event notifications aren't sent for the topic.

    " + }, + "CreateGlobalCluster":{ + "name":"CreateGlobalCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGlobalClusterMessage"}, + "output":{ + "shape":"CreateGlobalClusterResult", + "resultWrapper":"CreateGlobalClusterResult" + }, + "errors":[ + {"shape":"GlobalClusterAlreadyExistsFault"}, + {"shape":"GlobalClusterQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

    Creates an Aurora global database spread across multiple regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.

    You can create a global database that is initially empty, and then add a primary cluster and a secondary cluster to it. Or you can specify an existing Aurora cluster during the create operation, and this cluster becomes the primary cluster of the global database.

    This action only applies to Aurora DB clusters.

    " }, "CreateOptionGroup":{ "name":"CreateOptionGroup", @@ -428,6 +568,23 @@ ], "documentation":"

    Creates a new option group. You can create up to 20 option groups.

    " }, + "DeleteCustomAvailabilityZone":{ + "name":"DeleteCustomAvailabilityZone", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomAvailabilityZoneMessage"}, + "output":{ + "shape":"DeleteCustomAvailabilityZoneResult", + "resultWrapper":"DeleteCustomAvailabilityZoneResult" + }, + "errors":[ + {"shape":"CustomAvailabilityZoneNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

    Deletes a custom Availability Zone (AZ).

    A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    " + }, "DeleteDBCluster":{ "name":"DeleteDBCluster", "http":{ @@ -446,7 +603,25 @@ {"shape":"SnapshotQuotaExceededFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"} ], - "documentation":"

    The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and cannot be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "DeleteDBClusterEndpoint":{ + "name":"DeleteDBClusterEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBClusterEndpointMessage"}, + "output":{ + "shape":"DBClusterEndpoint", + "resultWrapper":"DeleteDBClusterEndpointResult" + }, + "errors":[ + {"shape":"InvalidDBClusterEndpointStateFault"}, + {"shape":"DBClusterEndpointNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

    Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.

    This action only applies to Aurora DB clusters.

    " }, "DeleteDBClusterParameterGroup":{ "name":"DeleteDBClusterParameterGroup", @@ -459,7 +634,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted cannot be associated with any DB clusters.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "DeleteDBClusterSnapshot":{ "name":"DeleteDBClusterSnapshot", @@ -476,7 +651,7 @@ {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

    Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

    The DB cluster snapshot must be in the available state to be deleted.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.

    The DB cluster snapshot must be in the available state to be deleted.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "DeleteDBInstance":{ "name":"DeleteDBInstance", @@ -494,9 +669,27 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBSnapshotAlreadyExistsFault"}, {"shape":"SnapshotQuotaExceededFault"}, - {"shape":"InvalidDBClusterStateFault"} + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"DBInstanceAutomatedBackupQuotaExceededFault"} + ], + "documentation":"

    The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

    If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action can't be canceled or reverted once submitted.

    When a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when you skip creation of the final snapshot with the SkipFinalSnapshot parameter.

    If the specified DB instance is part of an Amazon Aurora DB cluster, you can't delete the DB instance if both of the following conditions are true:

    • The DB cluster is a read replica of another Amazon Aurora DB cluster.

    • The DB instance is the only instance in the DB cluster.

    To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a read replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

    " + }, + "DeleteDBInstanceAutomatedBackup":{ + "name":"DeleteDBInstanceAutomatedBackup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBInstanceAutomatedBackupMessage"}, + "output":{ + "shape":"DeleteDBInstanceAutomatedBackupResult", + "resultWrapper":"DeleteDBInstanceAutomatedBackupResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceAutomatedBackupStateFault"}, + {"shape":"DBInstanceAutomatedBackupNotFoundFault"} ], - "documentation":"

    The DeleteDBInstance action deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and cannot be recovered. Manual DB snapshots of the DB instance to be deleted by DeleteDBInstance are not deleted.

    If you request a final DB snapshot the status of the Amazon RDS DB instance is deleting until the DB snapshot is created. The API action DescribeDBInstance is used to monitor the status of this operation. The action cannot be canceled or reverted once submitted.

    Note that when a DB instance is in a failure state and has a status of failed, incompatible-restore, or incompatible-network, you can only delete it when the SkipFinalSnapshot parameter is set to true.

    If the specified DB instance is part of an Amazon Aurora DB cluster, you cannot delete the DB instance if the following are true:

    • The DB cluster is a Read Replica of another Amazon Aurora DB cluster.

    • The DB instance is the only instance in the DB cluster.

    To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster API action to promote the DB cluster so it's no longer a Read Replica. After the promotion completes, then call the DeleteDBInstance API action to delete the final instance in the DB cluster.

    " + "documentation":"

    Deletes automated backups based on the source instance's DbiResourceId value or the restorable instance's resource ID.

    " }, "DeleteDBParameterGroup":{ "name":"DeleteDBParameterGroup", @@ -509,7 +702,24 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted cannot be associated with any DB instances.

    " + "documentation":"

    Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB instances.

    " + }, + "DeleteDBProxy":{ + "name":"DeleteDBProxy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDBProxyRequest"}, + "output":{ + "shape":"DeleteDBProxyResponse", + "resultWrapper":"DeleteDBProxyResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Deletes an existing proxy.

    " }, "DeleteDBSecurityGroup":{ "name":"DeleteDBSecurityGroup", @@ -539,7 +749,7 @@ {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"DBSnapshotNotFoundFault"} ], - "documentation":"

    Deletes a DBSnapshot. If the snapshot is being copied, the copy operation is terminated.

    The DBSnapshot must be in the available state to be deleted.

    " + "documentation":"

    Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated.

    The DB snapshot must be in the available state to be deleted.

    " }, "DeleteDBSubnetGroup":{ "name":"DeleteDBSubnetGroup", @@ -572,6 +782,39 @@ ], "documentation":"

    Deletes an RDS event notification subscription.

    " }, + "DeleteGlobalCluster":{ + "name":"DeleteGlobalCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGlobalClusterMessage"}, + "output":{ + "shape":"DeleteGlobalClusterResult", + "resultWrapper":"DeleteGlobalClusterResult" + }, + "errors":[ + {"shape":"GlobalClusterNotFoundFault"}, + {"shape":"InvalidGlobalClusterStateFault"} + ], + "documentation":"

    Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.

    This action only applies to Aurora DB clusters.

    " + }, + "DeleteInstallationMedia":{ + "name":"DeleteInstallationMedia", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInstallationMediaMessage"}, + "output":{ + "shape":"InstallationMedia", + "resultWrapper":"DeleteInstallationMediaResult" + }, + "errors":[ + {"shape":"InstallationMediaNotFoundFault"} + ], + "documentation":"

    Deletes the installation medium for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server.

    " + }, "DeleteOptionGroup":{ "name":"DeleteOptionGroup", "http":{ @@ -585,6 +828,25 @@ ], "documentation":"

    Deletes an existing option group.

    " }, + "DeregisterDBProxyTargets":{ + "name":"DeregisterDBProxyTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterDBProxyTargetsRequest"}, + "output":{ + "shape":"DeregisterDBProxyTargetsResponse", + "resultWrapper":"DeregisterDBProxyTargetsResult" + }, + "errors":[ + {"shape":"DBProxyTargetNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"}, + {"shape":"DBProxyNotFoundFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Remove the association between one or more DBProxyTarget data structures and a DBProxyTargetGroup.

    " + }, "DescribeAccountAttributes":{ "name":"DescribeAccountAttributes", "http":{ @@ -596,7 +858,7 @@ "shape":"AccountAttributesMessage", "resultWrapper":"DescribeAccountAttributesResult" }, - "documentation":"

    Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

    This command does not take any parameters.

    " + "documentation":"

    Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.

    This command doesn't take any parameters.

    " }, "DescribeCertificates":{ "name":"DescribeCertificates", @@ -614,6 +876,55 @@ ], "documentation":"

    Lists the set of CA certificates provided by Amazon RDS for this AWS account.

    " }, + "DescribeCustomAvailabilityZones":{ + "name":"DescribeCustomAvailabilityZones", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCustomAvailabilityZonesMessage"}, + "output":{ + "shape":"CustomAvailabilityZoneMessage", + "resultWrapper":"DescribeCustomAvailabilityZonesResult" + }, + "errors":[ + {"shape":"CustomAvailabilityZoneNotFoundFault"} + ], + "documentation":"

    Returns information about custom Availability Zones (AZs).

    A custom AZ is an on-premises AZ that is integrated with a VMware vSphere cluster.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    " + }, + "DescribeDBClusterBacktracks":{ + "name":"DescribeDBClusterBacktracks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterBacktracksMessage"}, + "output":{ + "shape":"DBClusterBacktrackMessage", + "resultWrapper":"DescribeDBClusterBacktracksResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterBacktrackNotFoundFault"} + ], + "documentation":"

    Returns information about backtracks for a DB cluster.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "DescribeDBClusterEndpoints":{ + "name":"DescribeDBClusterEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBClusterEndpointsMessage"}, + "output":{ + "shape":"DBClusterEndpointMessage", + "resultWrapper":"DescribeDBClusterEndpointsResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

    Returns information about endpoints for an Amazon Aurora DB cluster.

    This action only applies to Aurora DB clusters.

    " + }, "DescribeDBClusterParameterGroups":{ "name":"DescribeDBClusterParameterGroups", "http":{ @@ -628,7 +939,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName parameter is specified, the list will contain only the description of the specified DB cluster parameter group.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "DescribeDBClusterParameters":{ "name":"DescribeDBClusterParameters", @@ -644,7 +955,7 @@ "errors":[ {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Returns the detailed parameter list for a particular DB cluster parameter group.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Returns the detailed parameter list for a particular DB cluster parameter group.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "DescribeDBClusterSnapshotAttributes":{ "name":"DescribeDBClusterSnapshotAttributes", @@ -660,7 +971,7 @@ "errors":[ {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

    Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

    When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

    To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

    " + "documentation":"

    Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.

    When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If all is included in the list of values for the restore attribute, then the manual DB cluster snapshot is public and can be copied or restored by all AWS accounts.

    To add or remove access for an AWS account to copy or restore a manual DB cluster snapshot, or to make the manual DB cluster snapshot public or private, use the ModifyDBClusterSnapshotAttribute API action.

    This action only applies to Aurora DB clusters.

    " }, "DescribeDBClusterSnapshots":{ "name":"DescribeDBClusterSnapshots", @@ -676,7 +987,7 @@ "errors":[ {"shape":"DBClusterSnapshotNotFoundFault"} ], - "documentation":"

    Returns information about DB cluster snapshots. This API action supports pagination.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Returns information about DB cluster snapshots. This API action supports pagination.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "DescribeDBClusters":{ "name":"DescribeDBClusters", @@ -692,7 +1003,7 @@ "errors":[ {"shape":"DBClusterNotFoundFault"} ], - "documentation":"

    Returns information about provisioned Aurora DB clusters. This API supports pagination.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Returns information about provisioned Aurora DB clusters. This API supports pagination.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances.

    " }, "DescribeDBEngineVersions":{ "name":"DescribeDBEngineVersions", @@ -707,6 +1018,22 @@ }, "documentation":"

    Returns a list of the available DB engines.

    " }, + "DescribeDBInstanceAutomatedBackups":{ + "name":"DescribeDBInstanceAutomatedBackups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBInstanceAutomatedBackupsMessage"}, + "output":{ + "shape":"DBInstanceAutomatedBackupMessage", + "resultWrapper":"DescribeDBInstanceAutomatedBackupsResult" + }, + "errors":[ + {"shape":"DBInstanceAutomatedBackupNotFoundFault"} + ], + "documentation":"

    Displays backups for both current and deleted instances. For example, use this operation to find details about automated backups for previously deleted instances. Current instances with retention periods greater than zero (0) are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances operations.

    All parameters are optional.

    " + }, "DescribeDBInstances":{ "name":"DescribeDBInstances", "http":{ @@ -721,7 +1048,7 @@ "errors":[ {"shape":"DBInstanceNotFoundFault"} ], - "documentation":"

    Returns information about provisioned RDS instances. This API supports pagination.

    " + "documentation":"

    Returns information about provisioned RDS instances. This API supports pagination.

    This operation can also return information for Amazon Neptune DB instances and Amazon DocumentDB instances.

    " }, "DescribeDBLogFiles":{ "name":"DescribeDBLogFiles", @@ -771,6 +1098,59 @@ ], "documentation":"

    Returns the detailed parameter list for a particular DB parameter group.

    " }, + "DescribeDBProxies":{ + "name":"DescribeDBProxies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBProxiesRequest"}, + "output":{ + "shape":"DescribeDBProxiesResponse", + "resultWrapper":"DescribeDBProxiesResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Returns information about DB proxies.

    " + }, + "DescribeDBProxyTargetGroups":{ + "name":"DescribeDBProxyTargetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBProxyTargetGroupsRequest"}, + "output":{ + "shape":"DescribeDBProxyTargetGroupsResponse", + "resultWrapper":"DescribeDBProxyTargetGroupsResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Returns information about DB proxy target groups, represented by DBProxyTargetGroup data structures.

    " + }, + "DescribeDBProxyTargets":{ + "name":"DescribeDBProxyTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDBProxyTargetsRequest"}, + "output":{ + "shape":"DescribeDBProxyTargetsResponse", + "resultWrapper":"DescribeDBProxyTargetsResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Returns information about DBProxyTarget objects. This API supports pagination.

    " + }, "DescribeDBSecurityGroups":{ "name":"DescribeDBSecurityGroups", "http":{ @@ -801,7 +1181,7 @@ "errors":[ {"shape":"DBSnapshotNotFoundFault"} ], - "documentation":"

    Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

    When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.

    To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

    " + "documentation":"

    Returns a list of DB snapshot attribute names and values for a manual DB snapshot.

    When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes returns the restore attribute and a list of IDs for the AWS accounts that are authorized to copy or restore the manual DB snapshot. If all is included in the list of values for the restore attribute, then the manual DB snapshot is public and can be copied or restored by all AWS accounts.

    To add or remove access for an AWS account to copy or restore a manual DB snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute API action.

    " }, "DescribeDBSnapshots":{ "name":"DescribeDBSnapshots", @@ -846,7 +1226,7 @@ "shape":"DescribeEngineDefaultClusterParametersResult", "resultWrapper":"DescribeEngineDefaultClusterParametersResult" }, - "documentation":"

    Returns the default engine and system parameter information for the cluster database engine.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Returns the default engine and system parameter information for the cluster database engine.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    " }, "DescribeEngineDefaultParameters":{ "name":"DescribeEngineDefaultParameters", @@ -872,7 +1252,7 @@ "shape":"EventCategoriesMessage", "resultWrapper":"DescribeEventCategoriesResult" }, - "documentation":"

    Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

    " + "documentation":"

    Displays a list of categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in the Events topic in the Amazon RDS User Guide.

    " }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -903,6 +1283,54 @@ }, "documentation":"

    Returns events related to DB instances, DB security groups, DB snapshots, and DB parameter groups for the past 14 days. Events specific to a particular DB instance, DB security group, database snapshot, or DB parameter group can be obtained by providing the name as a parameter. By default, the past hour of events are returned.

    " }, + "DescribeExportTasks":{ + "name":"DescribeExportTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExportTasksMessage"}, + "output":{ + "shape":"ExportTasksMessage", + "resultWrapper":"DescribeExportTasksResult" + }, + "errors":[ + {"shape":"ExportTaskNotFoundFault"} + ], + "documentation":"

    Returns information about a snapshot export to Amazon S3. This API operation supports pagination.

    " + }, + "DescribeGlobalClusters":{ + "name":"DescribeGlobalClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGlobalClustersMessage"}, + "output":{ + "shape":"GlobalClustersMessage", + "resultWrapper":"DescribeGlobalClustersResult" + }, + "errors":[ + {"shape":"GlobalClusterNotFoundFault"} + ], + "documentation":"

    Returns information about Aurora global database clusters. This API supports pagination.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "DescribeInstallationMedia":{ + "name":"DescribeInstallationMedia", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInstallationMediaMessage"}, + "output":{ + "shape":"InstallationMediaMessage", + "resultWrapper":"DescribeInstallationMediaResult" + }, + "errors":[ + {"shape":"InstallationMediaNotFoundFault"} + ], + "documentation":"

    Describes the available installation media for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server.

    " + }, "DescribeOptionGroupOptions":{ "name":"DescribeOptionGroupOptions", "http":{ @@ -1004,24 +1432,41 @@ "shape":"SourceRegionMessage", "resultWrapper":"DescribeSourceRegionsResult" }, - "documentation":"

    Returns a list of the source AWS regions where the current AWS region can create a Read Replica or copy a DB snapshot from. This API action supports pagination.

    " + "documentation":"

    Returns a list of the source AWS Regions where the current AWS Region can create a read replica or copy a DB snapshot from. This API action supports pagination.

    " }, - "DownloadDBLogFilePortion":{ - "name":"DownloadDBLogFilePortion", + "DescribeValidDBInstanceModifications":{ + "name":"DescribeValidDBInstanceModifications", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DownloadDBLogFilePortionMessage"}, + "input":{"shape":"DescribeValidDBInstanceModificationsMessage"}, "output":{ - "shape":"DownloadDBLogFilePortionDetails", - "resultWrapper":"DownloadDBLogFilePortionResult" + "shape":"DescribeValidDBInstanceModificationsResult", + "resultWrapper":"DescribeValidDBInstanceModificationsResult" }, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBLogFileNotFoundFault"} + {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

    Downloads all or a portion of the specified log file, up to 1 MB in size.

    " + "documentation":"

    You can call DescribeValidDBInstanceModifications to learn what modifications you can make to your DB instance. You can use this information when you call ModifyDBInstance.

    " + }, + "DownloadDBLogFilePortion":{ + "name":"DownloadDBLogFilePortion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DownloadDBLogFilePortionMessage"}, + "output":{ + "shape":"DownloadDBLogFilePortionDetails", + "resultWrapper":"DownloadDBLogFilePortionResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBLogFileNotFoundFault"} + ], + "documentation":"

    Downloads all or a portion of the specified log file, up to 1 MB in size.

    " }, "FailoverDBCluster":{ "name":"FailoverDBCluster", @@ -1039,7 +1484,24 @@ {"shape":"InvalidDBClusterStateFault"}, {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

    Forces a failover for a DB cluster.

    A failover for a DB cluster promotes one of the read-only instances in the DB cluster to the master DB instance (the cluster writer) and deletes the current primary instance.

    Amazon Aurora will automatically fail over to a read-only instance, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a DB instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Forces a failover for a DB cluster.

    A failover for a DB cluster promotes one of the Aurora Replicas (read-only instances) in the DB cluster to be the primary instance (the cluster writer).

    Amazon Aurora will automatically fail over to an Aurora Replica, if one exists, when the primary instance fails. You can force a failover when you want to simulate a failure of a primary instance for testing. Because each instance in a DB cluster has its own endpoint address, you will need to clean up and re-establish any existing connections that use those endpoint addresses when the failover is complete.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "ImportInstallationMedia":{ + "name":"ImportInstallationMedia", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportInstallationMediaMessage"}, + "output":{ + "shape":"InstallationMedia", + "resultWrapper":"ImportInstallationMediaResult" + }, + "errors":[ + {"shape":"CustomAvailabilityZoneNotFoundFault"}, + {"shape":"InstallationMediaAlreadyExistsFault"} + ], + "documentation":"

    Imports the installation media for a DB engine that requires an on-premises customer provided license, such as SQL Server.

    " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -1054,9 +1516,46 @@ }, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"} + ], + "documentation":"

    Lists all tags on an Amazon RDS resource.

    For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

    " + }, + "ModifyCertificates":{ + "name":"ModifyCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyCertificatesMessage"}, + "output":{ + "shape":"ModifyCertificatesResult", + "resultWrapper":"ModifyCertificatesResult" + }, + "errors":[ + {"shape":"CertificateNotFoundFault"} + ], + "documentation":"

    Override the system-default Secure Sockets Layer/Transport Layer Security (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or remove the override.

    By using this operation, you can specify an RDS-approved SSL/TLS certificate for new DB instances that is different from the default certificate provided by RDS. You can also use this operation to remove the override, so that new DB instances use the default certificate provided by RDS.

    You might need to override the default certificate in the following situations:

    • You already migrated your applications to support the latest certificate authority (CA) certificate, but the new CA certificate is not yet the RDS default CA certificate for the specified AWS Region.

    • RDS has already moved to a new default CA certificate for the specified AWS Region, but you are still in the process of supporting the new CA certificate. In this case, you temporarily need additional time to finish your application changes.

    For more information about rotating your SSL/TLS certificate for RDS DB engines, see Rotating Your SSL/TLS Certificate in the Amazon RDS User Guide.

    For more information about rotating your SSL/TLS certificate for Aurora DB engines, see Rotating Your SSL/TLS Certificate in the Amazon Aurora User Guide.

    " + }, + "ModifyCurrentDBClusterCapacity":{ + "name":"ModifyCurrentDBClusterCapacity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyCurrentDBClusterCapacityMessage"}, + "output":{ + "shape":"DBClusterCapacityInfo", + "resultWrapper":"ModifyCurrentDBClusterCapacityResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBClusterCapacityFault"} ], - "documentation":"

    Lists all tags on an Amazon RDS resource.

    For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

    " + "documentation":"

    Set the capacity of an Aurora Serverless DB cluster to a specific value.

    Aurora Serverless scales seamlessly based on the workload on the DB cluster. In some cases, the capacity might not scale fast enough to meet a sudden change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity to set the capacity explicitly.

    After this call sets the DB cluster capacity, Aurora Serverless can automatically scale the DB cluster based on the cooldown period for scaling up and the cooldown period for scaling down.

    For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

    If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction, connections that prevent Aurora Serverless from finding a scaling point might be dropped. For more information about scaling points, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "ModifyDBCluster":{ "name":"ModifyDBCluster", @@ -1080,9 +1579,30 @@ {"shape":"DBClusterParameterGroupNotFoundFault"}, {"shape":"InvalidDBSecurityGroupStateFault"}, {"shape":"InvalidDBInstanceStateFault"}, - {"shape":"DBClusterAlreadyExistsFault"} + {"shape":"DBClusterAlreadyExistsFault"}, + {"shape":"DomainNotFoundFault"} + ], + "documentation":"

    Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "ModifyDBClusterEndpoint":{ + "name":"ModifyDBClusterEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBClusterEndpointMessage"}, + "output":{ + "shape":"DBClusterEndpoint", + "resultWrapper":"ModifyDBClusterEndpointResult" + }, + "errors":[ + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBClusterEndpointStateFault"}, + {"shape":"DBClusterEndpointNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} ], - "documentation":"

    Modify a setting for an Amazon Aurora DB cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Modifies the properties of an endpoint in an Amazon Aurora DB cluster.

    This action only applies to Aurora DB clusters.

    " }, "ModifyDBClusterParameterGroup":{ "name":"ModifyDBClusterParameterGroup", @@ -1099,7 +1619,7 @@ {"shape":"DBParameterGroupNotFoundFault"}, {"shape":"InvalidDBParameterGroupStateFault"} ], - "documentation":"

    Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

    After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters command to verify that your DB cluster parameter group has been created or modified.

    " + "documentation":"

    Modifies the parameters of a DB cluster parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB cluster associated with the parameter group before the change can take effect.

    After you create a DB cluster parameter group, you should wait at least 5 minutes before creating your first DB cluster that uses that DB cluster parameter group as the default parameter group. This allows Amazon RDS to fully complete the create action before the parameter group is used as the default for a new DB cluster. This is especially important for parameters that are critical when creating the default database for a DB cluster, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBClusterParameters action to verify that your DB cluster parameter group has been created or modified.

    If the modified DB cluster parameter group is used by an Aurora Serverless cluster, Aurora applies the update immediately. The cluster restart might interrupt your workload. In that case, your application must reopen any connections and retry any transactions that were active when the parameter changes took effect.

    This action only applies to Aurora DB clusters.

    " }, "ModifyDBClusterSnapshotAttribute":{ "name":"ModifyDBClusterSnapshotAttribute", @@ -1117,7 +1637,7 @@ {"shape":"InvalidDBClusterSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

    Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

    To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts.

    To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

    If a manual DB cluster snapshot is encrypted, it cannot be shared.

    " + "documentation":"

    Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.

    To share a manual DB cluster snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB cluster snapshot. Use the value all to make the manual DB cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual DB cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

    To view which AWS accounts have access to copy or restore a manual DB cluster snapshot, or whether a manual DB cluster snapshot public or private, use the DescribeDBClusterSnapshotAttributes API action.

    This action only applies to Aurora DB clusters.

    " }, "ModifyDBInstance":{ "name":"ModifyDBInstance", @@ -1146,9 +1666,10 @@ {"shape":"StorageTypeNotSupportedFault"}, {"shape":"AuthorizationNotFoundFault"}, {"shape":"CertificateNotFoundFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"BackupPolicyNotFoundFault"} ], - "documentation":"

    Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

    " + "documentation":"

    Modifies settings for a DB instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. To learn what modifications you can make to your DB instance, call DescribeValidDBInstanceModifications before you call ModifyDBInstance.

    " }, "ModifyDBParameterGroup":{ "name":"ModifyDBParameterGroup", @@ -1167,6 +1688,58 @@ ], "documentation":"

    Modifies the parameters of a DB parameter group. To modify more than one parameter, submit a list of the following: ParameterName, ParameterValue, and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

    Changes to dynamic parameters are applied immediately. Changes to static parameters require a reboot without failover to the DB instance associated with the parameter group before the change can take effect.

    After you modify a DB parameter group, you should wait at least 5 minutes before creating your first DB instance that uses that DB parameter group as the default parameter group. This allows Amazon RDS to fully complete the modify action before the parameter group is used as the default for a new DB instance. This is especially important for parameters that are critical when creating the default database for a DB instance, such as the character set for the default database defined by the character_set_database parameter. You can use the Parameter Groups option of the Amazon RDS console or the DescribeDBParameters command to verify that your DB parameter group has been created or modified.

    " }, + "ModifyDBProxy":{ + "name":"ModifyDBProxy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBProxyRequest"}, + "output":{ + "shape":"ModifyDBProxyResponse", + "resultWrapper":"ModifyDBProxyResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyAlreadyExistsFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Changes the settings for an existing DB proxy.

    " + }, + "ModifyDBProxyTargetGroup":{ + "name":"ModifyDBProxyTargetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBProxyTargetGroupRequest"}, + "output":{ + "shape":"ModifyDBProxyTargetGroupResponse", + "resultWrapper":"ModifyDBProxyTargetGroupResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Modifies the properties of a DBProxyTargetGroup.

    " + }, + "ModifyDBSnapshot":{ + "name":"ModifyDBSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDBSnapshotMessage"}, + "output":{ + "shape":"ModifyDBSnapshotResult", + "resultWrapper":"ModifyDBSnapshotResult" + }, + "errors":[ + {"shape":"DBSnapshotNotFoundFault"} + ], + "documentation":"

    Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted or unencrypted, but not shared or public.

    Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.

    " + }, "ModifyDBSnapshotAttribute":{ "name":"ModifyDBSnapshotAttribute", "http":{ @@ -1183,7 +1756,7 @@ {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"SharedSnapshotQuotaExceededFault"} ], - "documentation":"

    Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

    To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts.

    To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

    If the manual DB snapshot is encrypted, it cannot be shared.

    " + "documentation":"

    Adds an attribute and values to, or removes an attribute and values from, a manual DB snapshot.

    To share a manual DB snapshot with other AWS accounts, specify restore as the AttributeName and use the ValuesToAdd parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual DB snapshot. Uses the value all to make the manual DB snapshot public, which means it can be copied or restored by all AWS accounts. Do not add the all value for any manual DB snapshots that contain private information that you don't want available to all AWS accounts. If the manual DB snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't use all as a value for that parameter in this case.

    To view which AWS accounts have access to copy or restore a manual DB snapshot, or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes API action.

    " }, "ModifyDBSubnetGroup":{ "name":"ModifyDBSubnetGroup", @@ -1203,7 +1776,7 @@ {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, {"shape":"InvalidSubnet"} ], - "documentation":"

    Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the region.

    " + "documentation":"

    Modifies an existing DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the AWS Region.

    " }, "ModifyEventSubscription":{ "name":"ModifyEventSubscription", @@ -1224,7 +1797,24 @@ {"shape":"SNSTopicArnNotFoundFault"}, {"shape":"SubscriptionCategoryNotFoundFault"} ], - "documentation":"

    Modifies an existing RDS event notification subscription. Note that you cannot modify the source identifiers using this call; to change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

    You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " + "documentation":"

    Modifies an existing RDS event notification subscription. You can't modify the source identifiers using this call. To change source identifiers for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription calls.

    You can see a list of the event categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " + }, + "ModifyGlobalCluster":{ + "name":"ModifyGlobalCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyGlobalClusterMessage"}, + "output":{ + "shape":"ModifyGlobalClusterResult", + "resultWrapper":"ModifyGlobalClusterResult" + }, + "errors":[ + {"shape":"GlobalClusterNotFoundFault"}, + {"shape":"InvalidGlobalClusterStateFault"} + ], + "documentation":"

    Modify a setting for an Amazon Aurora global cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "ModifyOptionGroup":{ "name":"ModifyOptionGroup", @@ -1258,7 +1848,7 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBInstanceNotFoundFault"} ], - "documentation":"

    Promotes a Read Replica DB instance to a standalone DB instance.

    We recommend that you enable automated backups on your Read Replica before promoting the Read Replica. This ensures that no backup is taken during the promotion process. Once the instance is promoted to a primary instance, backups are taken based on your backup settings.

    " + "documentation":"

    Promotes a read replica DB instance to a standalone DB instance.

    • Backup duration is a function of the amount of changes to the database since the previous backup. If you plan to promote a read replica to a standalone instance, we recommend that you enable backups and complete at least one backup prior to promotion. In addition, a read replica cannot be promoted to a standalone instance when it is in the backing-up status. If you have enabled backups on your read replica, configure the automated backup window so that daily backups do not interfere with read replica promotion.

    • This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

    " }, "PromoteReadReplicaDBCluster":{ "name":"PromoteReadReplicaDBCluster", @@ -1275,7 +1865,7 @@ {"shape":"DBClusterNotFoundFault"}, {"shape":"InvalidDBClusterStateFault"} ], - "documentation":"

    Promotes a Read Replica DB cluster to a standalone DB cluster.

    " + "documentation":"

    Promotes a read replica DB cluster to a standalone DB cluster.

    This action only applies to Aurora DB clusters.

    " }, "PurchaseReservedDBInstancesOffering":{ "name":"PurchaseReservedDBInstancesOffering", @@ -1310,7 +1900,48 @@ {"shape":"InvalidDBInstanceStateFault"}, {"shape":"DBInstanceNotFoundFault"} ], - "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.

    " + "documentation":"

    You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the instance for the changes to take effect.

    Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.

    For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.

    " + }, + "RegisterDBProxyTargets":{ + "name":"RegisterDBProxyTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterDBProxyTargetsRequest"}, + "output":{ + "shape":"RegisterDBProxyTargetsResponse", + "resultWrapper":"RegisterDBProxyTargetsResult" + }, + "errors":[ + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBProxyTargetAlreadyRegisteredFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBProxyStateFault"} + ], + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.

    " + }, + "RemoveFromGlobalCluster":{ + "name":"RemoveFromGlobalCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveFromGlobalClusterMessage"}, + "output":{ + "shape":"RemoveFromGlobalClusterResult", + "resultWrapper":"RemoveFromGlobalClusterResult" + }, + "errors":[ + {"shape":"GlobalClusterNotFoundFault"}, + {"shape":"InvalidGlobalClusterStateFault"}, + {"shape":"DBClusterNotFoundFault"} + ], + "documentation":"

    Detaches an Aurora secondary cluster from an Aurora global database cluster. The cluster becomes a standalone cluster with read-write capability instead of being read-only and receiving data from a primary cluster in a different region.

    This action only applies to Aurora DB clusters.

    " }, "RemoveRoleFromDBCluster":{ "name":"RemoveRoleFromDBCluster", @@ -1324,7 +1955,21 @@ {"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.

    " + "documentation":"

    Disassociates an AWS Identity and Access Management (IAM) role from an Amazon Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL to Access Other AWS Services on Your Behalf in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "RemoveRoleFromDBInstance":{ + "name":"RemoveRoleFromDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveRoleFromDBInstanceMessage"}, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"DBInstanceRoleNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

    Disassociates an AWS Identity and Access Management (IAM) role from a DB instance.

    " }, "RemoveSourceIdentifierFromSubscription":{ "name":"RemoveSourceIdentifierFromSubscription", @@ -1352,9 +1997,12 @@ "input":{"shape":"RemoveTagsFromResourceMessage"}, "errors":[ {"shape":"DBInstanceNotFoundFault"}, - {"shape":"DBSnapshotNotFoundFault"} + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBProxyNotFoundFault"}, + {"shape":"DBProxyTargetGroupNotFoundFault"} ], - "documentation":"

    Removes metadata tags from an Amazon RDS resource.

    For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.

    " + "documentation":"

    Removes metadata tags from an Amazon RDS resource.

    For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

    " }, "ResetDBClusterParameterGroup":{ "name":"ResetDBClusterParameterGroup", @@ -1371,7 +2019,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

    When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Modifies the parameters of a DB cluster parameter group to the default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB cluster parameter group, specify the DBClusterParameterGroupName and ResetAllParameters parameters.

    When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request. You must call RebootDBInstance for every DB instance in your DB cluster that you want the updated static parameter to apply to.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "ResetDBParameterGroup":{ "name":"ResetDBParameterGroup", @@ -1388,7 +2036,7 @@ {"shape":"InvalidDBParameterGroupStateFault"}, {"shape":"DBParameterGroupNotFoundFault"} ], - "documentation":"

    Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters submit a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

    " + "documentation":"

    Modifies the parameters of a DB parameter group to the engine/system default value. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. When resetting the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot to take effect on the next DB instance restart or RebootDBInstance request.

    " }, "RestoreDBClusterFromS3":{ "name":"RestoreDBClusterFromS3", @@ -1414,9 +2062,10 @@ {"shape":"DBClusterParameterGroupNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBClusterNotFoundFault"}, + {"shape":"DomainNotFoundFault"}, {"shape":"InsufficientStorageClusterCapacityFault"} ], - "documentation":"

    Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data from MySQL by Using an Amazon S3 Bucket.

    " + "documentation":"

    Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and the data must be created using the Percona XtraBackup utility as described in Migrating Data to an Amazon Aurora MySQL DB Cluster in the Amazon Aurora User Guide.

    This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterFromS3 action has completed and the DB cluster is available.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "RestoreDBClusterFromSnapshot":{ "name":"RestoreDBClusterFromSnapshot", @@ -1446,9 +2095,11 @@ {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidSubnet"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"DomainNotFoundFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ], - "documentation":"

    Creates a new DB cluster from a DB cluster snapshot. The target DB cluster is created from the source DB cluster restore point with the same configuration as the original source DB cluster, except that the new DB cluster is created with the default security group.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Creates a new DB cluster from a DB snapshot or DB cluster snapshot. This action only applies to Aurora DB clusters.

    The target DB cluster is created from the source snapshot with a default configuration. If you don't specify a security group, the new DB cluster is associated with the default security group.

    This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterFromSnapshot action has completed and the DB cluster is available.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "RestoreDBClusterToPointInTime":{ "name":"RestoreDBClusterToPointInTime", @@ -1463,24 +2114,25 @@ }, "errors":[ {"shape":"DBClusterAlreadyExistsFault"}, - {"shape":"DBClusterQuotaExceededFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBClusterQuotaExceededFault"}, {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InsufficientDBClusterCapacityFault"}, {"shape":"InsufficientStorageClusterCapacityFault"}, - {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"InvalidDBClusterSnapshotStateFault"}, - {"shape":"StorageQuotaExceededFault"}, - {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBSnapshotStateFault"}, {"shape":"InvalidRestoreFault"}, - {"shape":"DBSubnetGroupNotFoundFault"}, {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"OptionGroupNotFoundFault"}, - {"shape":"KMSKeyNotAccessibleFault"} + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DomainNotFoundFault"}, + {"shape":"DBClusterParameterGroupNotFoundFault"} ], - "documentation":"

    Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

    For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.

    " + "documentation":"

    Restores a DB cluster to an arbitrary point in time. Users can restore to any point in time before LatestRestorableTime for up to BackupRetentionPeriod days. The target DB cluster is created from the source DB cluster with the same configuration as the original DB cluster, except that the new DB cluster is created with the default DB security group.

    This action only restores the DB cluster, not the DB instances for that DB cluster. You must invoke the CreateDBInstance action to create DB instances for the restored DB cluster, specifying the identifier of the restored DB cluster in DBClusterIdentifier. You can create DB instances only after the RestoreDBClusterToPointInTime action has completed and the DB cluster is available.

    For more information on Amazon Aurora, see What Is Amazon Aurora? in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, "RestoreDBInstanceFromDBSnapshot":{ "name":"RestoreDBInstanceFromDBSnapshot", @@ -1511,9 +2163,43 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"BackupPolicyNotFoundFault"} + ], + "documentation":"

    Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

    If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

    If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterFromSnapshot.

    " + }, + "RestoreDBInstanceFromS3":{ + "name":"RestoreDBInstanceFromS3", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreDBInstanceFromS3Message"}, + "output":{ + "shape":"RestoreDBInstanceFromS3Result", + "resultWrapper":"RestoreDBInstanceFromS3Result" + }, + "errors":[ + {"shape":"DBInstanceAlreadyExistsFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBSecurityGroupNotFoundFault"}, + {"shape":"InstanceQuotaExceededFault"}, + {"shape":"StorageQuotaExceededFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"InvalidS3BucketFault"}, + {"shape":"ProvisionedIopsNotAvailableInAZFault"}, + {"shape":"OptionGroupNotFoundFault"}, + {"shape":"StorageTypeNotSupportedFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"BackupPolicyNotFoundFault"} ], - "documentation":"

    Creates a new DB instance from a DB snapshot. The target database is created from the source database restore point with the most of original configuration with the default security group and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored AZ deployment and not a single-AZ deployment.

    If your intent is to replace your original DB instance with the new, restored DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot action. RDS does not allow two DB instances with the same name. Once you have renamed your original DB instance with a different identifier, then you can pass the original name of the DB instance as the DBInstanceIdentifier in the call to the RestoreDBInstanceFromDBSnapshot action. The result is that you will replace the original DB instance with the DB instance created from the snapshot.

    If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    " + "documentation":"

    Amazon Relational Database Service (Amazon RDS) supports importing MySQL databases by using backup files. You can create a backup of your on-premises database, store it on Amazon Simple Storage Service (Amazon S3), and then restore the backup file onto a new Amazon RDS DB instance running MySQL. For more information, see Importing Data into an Amazon RDS MySQL DB Instance in the Amazon RDS User Guide.

    " }, "RestoreDBInstanceToPointInTime":{ "name":"RestoreDBInstanceToPointInTime", @@ -1545,9 +2231,12 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"KMSKeyNotAccessibleFault"}, {"shape":"DBSecurityGroupNotFoundFault"}, - {"shape":"DomainNotFoundFault"} + {"shape":"DomainNotFoundFault"}, + {"shape":"BackupPolicyNotFoundFault"}, + {"shape":"DBParameterGroupNotFoundFault"}, + {"shape":"DBInstanceAutomatedBackupNotFoundFault"} ], - "documentation":"

    Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

    The target database is created with most of the original configuration, but in a system-selected availability zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

    " + "documentation":"

    Restores a DB instance to an arbitrary point in time. You can restore to any point in time before the time identified by the LatestRestorableTime property. You can restore to a point up to the number of days specified by the BackupRetentionPeriod property.

    The target database is created with most of the original configuration, but in a system-selected Availability Zone, with the default security group, the default subnet group, and the default DB parameter group. By default, the new DB instance is created as a single-AZ deployment except when the instance is a SQL Server instance that has an option group that is associated with mirroring; in this case, the instance becomes a mirrored deployment and not a single-AZ deployment.

    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora, use RestoreDBClusterToPointInTime.

    " }, "RevokeDBSecurityGroupIngress":{ "name":"RevokeDBSecurityGroupIngress", @@ -1566,64 +2255,253 @@ {"shape":"InvalidDBSecurityGroupStateFault"} ], "documentation":"

    Revokes ingress from a DBSecurityGroup for previously authorized IP ranges or EC2 or VPC Security Groups. Required parameters for this API are one of CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId).

    " - } - }, - "shapes":{ - "AccountAttributesMessage":{ - "type":"structure", - "members":{ - "AccountQuotas":{ - "shape":"AccountQuotaList", - "documentation":"

    A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

    " - } - }, - "documentation":"

    Data returned by the DescribeAccountAttributes action.

    " }, - "AccountQuota":{ - "type":"structure", - "members":{ - "AccountQuotaName":{ - "shape":"String", - "documentation":"

    The name of the Amazon RDS quota for this AWS account.

    " - }, - "Used":{ - "shape":"Long", - "documentation":"

    The amount currently used toward the quota maximum.

    " - }, - "Max":{ - "shape":"Long", - "documentation":"

    The maximum allowed value for the quota.

    " - } + "StartActivityStream":{ + "name":"StartActivityStream", + "http":{ + "method":"POST", + "requestUri":"/" }, - "documentation":"

    Describes a quota for an AWS account, for example, the number of DB instances allowed.

    ", - "wrapper":true - }, - "AccountQuotaList":{ - "type":"list", - "member":{ - "shape":"AccountQuota", - "locationName":"AccountQuota" - } + "input":{"shape":"StartActivityStreamRequest"}, + "output":{ + "shape":"StartActivityStreamResponse", + "resultWrapper":"StartActivityStreamResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

    Starts a database activity stream to monitor activity on the database. For more information, see Database Activity Streams in the Amazon Aurora User Guide.

    " }, - "AddRoleToDBClusterMessage":{ - "type":"structure", - "required":[ - "DBClusterIdentifier", - "RoleArn" + "StartDBCluster":{ + "name":"StartDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDBClusterMessage"}, + "output":{ + "shape":"StartDBClusterResult", + "resultWrapper":"StartDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} ], - "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.

    " - } - } + "documentation":"

    Starts an Amazon Aurora DB cluster that was stopped using the AWS console, the stop-db-cluster AWS CLI command, or the StopDBCluster action.

    For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " }, - "AddSourceIdentifierToSubscriptionMessage":{ - "type":"structure", + "StartDBInstance":{ + "name":"StartDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDBInstanceMessage"}, + "output":{ + "shape":"StartDBInstanceResult", + "resultWrapper":"StartDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InsufficientDBInstanceCapacityFault"}, + {"shape":"DBSubnetGroupNotFoundFault"}, + {"shape":"DBSubnetGroupDoesNotCoverEnoughAZs"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"AuthorizationNotFoundFault"}, + {"shape":"KMSKeyNotAccessibleFault"} + ], + "documentation":"

    Starts an Amazon RDS DB instance that was stopped using the AWS console, the stop-db-instance AWS CLI command, or the StopDBInstance action.

    For more information, see Starting an Amazon RDS DB instance That Was Previously Stopped in the Amazon RDS User Guide.

    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora DB clusters, use StartDBCluster instead.

    " + }, + "StartExportTask":{ + "name":"StartExportTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExportTaskMessage"}, + "output":{ + "shape":"ExportTask", + "resultWrapper":"StartExportTaskResult" + }, + "errors":[ + {"shape":"DBSnapshotNotFoundFault"}, + {"shape":"DBClusterSnapshotNotFoundFault"}, + {"shape":"ExportTaskAlreadyExistsFault"}, + {"shape":"InvalidS3BucketFault"}, + {"shape":"IamRoleNotFoundFault"}, + {"shape":"IamRoleMissingPermissionsFault"}, + {"shape":"InvalidExportOnlyFault"}, + {"shape":"KMSKeyNotAccessibleFault"}, + {"shape":"InvalidExportSourceStateFault"} + ], + "documentation":"

    Starts an export of a snapshot to Amazon S3. The provided IAM role must have access to the S3 bucket.

    " + }, + "StopActivityStream":{ + "name":"StopActivityStream", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopActivityStreamRequest"}, + "output":{ + "shape":"StopActivityStreamResponse", + "resultWrapper":"StopActivityStreamResult" + }, + "errors":[ + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"ResourceNotFoundFault"}, + {"shape":"DBClusterNotFoundFault"}, + {"shape":"DBInstanceNotFoundFault"} + ], + "documentation":"

    Stops a database activity stream that was started using the AWS console, the start-activity-stream AWS CLI command, or the StartActivityStream action.

    For more information, see Database Activity Streams in the Amazon Aurora User Guide.

    " + }, + "StopDBCluster":{ + "name":"StopDBCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDBClusterMessage"}, + "output":{ + "shape":"StopDBClusterResult", + "resultWrapper":"StopDBClusterResult" + }, + "errors":[ + {"shape":"DBClusterNotFoundFault"}, + {"shape":"InvalidDBClusterStateFault"}, + {"shape":"InvalidDBInstanceStateFault"} + ], + "documentation":"

    Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains the DB cluster's metadata, including its endpoints and DB parameter groups. Aurora also retains the transaction logs so you can do a point-in-time restore if necessary.

    For more information, see Stopping and Starting an Aurora Cluster in the Amazon Aurora User Guide.

    This action only applies to Aurora DB clusters.

    " + }, + "StopDBInstance":{ + "name":"StopDBInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopDBInstanceMessage"}, + "output":{ + "shape":"StopDBInstanceResult", + "resultWrapper":"StopDBInstanceResult" + }, + "errors":[ + {"shape":"DBInstanceNotFoundFault"}, + {"shape":"InvalidDBInstanceStateFault"}, + {"shape":"DBSnapshotAlreadyExistsFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidDBClusterStateFault"} + ], + "documentation":"

    Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if necessary.

    For more information, see Stopping an Amazon RDS DB Instance Temporarily in the Amazon RDS User Guide.

    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora clusters, use StopDBCluster instead.

    " + } + }, + "shapes":{ + "AccountAttributesMessage":{ + "type":"structure", + "members":{ + "AccountQuotas":{ + "shape":"AccountQuotaList", + "documentation":"

    A list of AccountQuota objects. Within this list, each quota has a name, a count of usage toward the quota maximum, and a maximum value for the quota.

    " + } + }, + "documentation":"

    Data returned by the DescribeAccountAttributes action.

    " + }, + "AccountQuota":{ + "type":"structure", + "members":{ + "AccountQuotaName":{ + "shape":"String", + "documentation":"

    The name of the Amazon RDS quota for this AWS account.

    " + }, + "Used":{ + "shape":"Long", + "documentation":"

    The amount currently used toward the quota maximum.

    " + }, + "Max":{ + "shape":"Long", + "documentation":"

    The maximum allowed value for the quota.

    " + } + }, + "documentation":"

    Describes a quota for an AWS account.

    The following are account quotas:

    • AllocatedStorage - The total allocated storage per account, in GiB. The used value is the total allocated storage in the account, in GiB.

    • AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB security group. The used value is the highest number of ingress rules in a DB security group in the account. Other DB security groups in the account might have a lower number of ingress rules.

    • CustomEndpointsPerDBCluster - The number of custom endpoints per DB cluster. The used value is the highest number of custom endpoints in a DB clusters in the account. Other DB clusters in the account might have a lower number of custom endpoints.

    • DBClusterParameterGroups - The number of DB cluster parameter groups per account, excluding default parameter groups. The used value is the count of nondefault DB cluster parameter groups in the account.

    • DBClusterRoles - The number of associated AWS Identity and Access Management (IAM) roles per DB cluster. The used value is the highest number of associated IAM roles for a DB cluster in the account. Other DB clusters in the account might have a lower number of associated IAM roles.

    • DBClusters - The number of DB clusters per account. The used value is the count of DB clusters in the account.

    • DBInstanceRoles - The number of associated IAM roles per DB instance. The used value is the highest number of associated IAM roles for a DB instance in the account. Other DB instances in the account might have a lower number of associated IAM roles.

    • DBInstances - The number of DB instances per account. The used value is the count of the DB instances in the account.

      Amazon RDS DB instances, Amazon Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB instances apply to this quota.

    • DBParameterGroups - The number of DB parameter groups per account, excluding default parameter groups. The used value is the count of nondefault DB parameter groups in the account.

    • DBSecurityGroups - The number of DB security groups (not VPC security groups) per account, excluding the default security group. The used value is the count of nondefault DB security groups in the account.

    • DBSubnetGroups - The number of DB subnet groups per account. The used value is the count of the DB subnet groups in the account.

    • EventSubscriptions - The number of event subscriptions per account. The used value is the count of the event subscriptions in the account.

    • ManualSnapshots - The number of manual DB snapshots per account. The used value is the count of the manual DB snapshots in the account.

    • OptionGroups - The number of DB option groups per account, excluding default option groups. The used value is the count of nondefault DB option groups in the account.

    • ReadReplicasPerMaster - The number of read replicas per DB instance. The used value is the highest number of read replicas for a DB instance in the account. Other DB instances in the account might have a lower number of read replicas.

    • ReservedDBInstances - The number of reserved DB instances per account. The used value is the count of the active reserved DB instances in the account.

    • SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group. The used value is highest number of subnets for a DB subnet group in the account. Other DB subnet groups in the account might have a lower number of subnets.

    For more information, see Quotas for Amazon RDS in the Amazon RDS User Guide and Quotas for Amazon Aurora in the Amazon Aurora User Guide.

    ", + "wrapper":true + }, + "AccountQuotaList":{ + "type":"list", + "member":{ + "shape":"AccountQuota", + "locationName":"AccountQuota" + } + }, + "ActivityStreamMode":{ + "type":"string", + "enum":[ + "sync", + "async" + ] + }, + "ActivityStreamStatus":{ + "type":"string", + "enum":[ + "stopped", + "starting", + "started", + "stopping" + ] + }, + "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.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature for the DB cluster that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion.

    " + } + } + }, + "AddRoleToDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "RoleArn", + "FeatureName" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The name of the DB instance to associate the IAM role with.

    " + }, + "RoleArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature for the DB instance that the IAM role is to be associated with. For the list of supported feature names, see DBEngineVersion.

    " + } + } + }, + "AddSourceIdentifierToSubscriptionMessage":{ + "type":"structure", "required":[ "SubscriptionName", "SourceIdentifier" @@ -1635,7 +2513,7 @@ }, "SourceIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the event source to be added. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

    Constraints:

    • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

    • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

    • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

    • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

    " + "documentation":"

    The identifier of the event source to be added.

    Constraints:

    • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

    • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

    • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

    • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

    " } }, "documentation":"

    " @@ -1655,7 +2533,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

    The Amazon RDS resource the tags will be added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " + "documentation":"

    The Amazon RDS resource that the tags are added to. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " }, "Tags":{ "shape":"TagList", @@ -1681,15 +2559,15 @@ "members":{ "ResourceIdentifier":{ "shape":"String", - "documentation":"

    The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " + "documentation":"

    The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " }, "ApplyAction":{ "shape":"String", - "documentation":"

    The pending maintenance action to apply to this resource.

    Valid values: system-update, db-upgrade

    " + "documentation":"

    The pending maintenance action to apply to this resource.

    Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation

    " }, "OptInType":{ "shape":"String", - "documentation":"

    A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate cannot be undone.

    Valid values:

    • immediate - Apply the maintenance action immediately.

    • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

    • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

    " + "documentation":"

    A value that specifies the type of opt-in request, or undoes an opt-in request. An opt-in request of type immediate can't be undone.

    Valid values:

    • immediate - Apply the maintenance action immediately.

    • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

    • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

    " } }, "documentation":"

    " @@ -1707,11 +2585,15 @@ "locationName":"AttributeValue" } }, + "AuthScheme":{ + "type":"string", + "enum":["SECRETS"] + }, "AuthorizationAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    The specified CIDRIP or EC2 security group is already authorized for the specified DB security group.

    ", + "documentation":"

    The specified CIDR IP range or Amazon EC2 security group is already authorized for the specified DB security group.

    ", "error":{ "code":"AuthorizationAlreadyExists", "httpStatusCode":400, @@ -1723,7 +2605,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Specified CIDRIP or EC2 security group is not authorized for the specified DB security group.

    RDS may not also be authorized via IAM to perform necessary actions on your behalf.

    ", + "documentation":"

    The specified CIDR IP range or Amazon EC2 security group might not be authorized for the specified DB security group.

    Or, RDS might not be authorized to perform necessary actions using IAM on your behalf.

    ", "error":{ "code":"AuthorizationNotFound", "httpStatusCode":404, @@ -1735,7 +2617,7 @@ "type":"structure", "members":{ }, - "documentation":"

    DB security group authorization quota has been reached.

    ", + "documentation":"

    The DB security group authorization quota has been reached.

    ", "error":{ "code":"AuthorizationQuotaExceeded", "httpStatusCode":400, @@ -1765,7 +2647,7 @@ }, "EC2SecurityGroupOwnerId":{ "shape":"String", - "documentation":"

    AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

    " + "documentation":"

    AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

    " } }, "documentation":"

    " @@ -1781,10 +2663,10 @@ "members":{ "Name":{ "shape":"String", - "documentation":"

    The name of the availability zone.

    " + "documentation":"

    The name of the Availability Zone.

    " } }, - "documentation":"

    Contains Availability Zone information.

    This data type is used as an element in the following data type:

    ", + "documentation":"

    Contains Availability Zone information.

    This data type is used as an element in the OrderableDBInstanceOption data type.

    ", "wrapper":true }, "AvailabilityZoneList":{ @@ -1801,8 +2683,82 @@ "locationName":"AvailabilityZone" } }, + "AvailableProcessorFeature":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the processor feature. Valid names are coreCount and threadsPerCore.

    " + }, + "DefaultValue":{ + "shape":"String", + "documentation":"

    The default value for the processor feature of the DB instance class.

    " + }, + "AllowedValues":{ + "shape":"String", + "documentation":"

    The allowed values for the processor feature of the DB instance class.

    " + } + }, + "documentation":"

    Contains the available processor feature information for the DB instance class of a DB instance.

    For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

    " + }, + "AvailableProcessorFeatureList":{ + "type":"list", + "member":{ + "shape":"AvailableProcessorFeature", + "locationName":"AvailableProcessorFeature" + } + }, + "BacktrackDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "BacktrackTo" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the DB cluster to be backtracked. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " + }, + "BacktrackTo":{ + "shape":"TStamp", + "documentation":"

    The timestamp of the time to backtrack the DB cluster to, specified in ISO 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia page.

    If the specified time isn't a consistent time for the DB cluster, Aurora automatically chooses the nearest possible consistent time for the DB cluster.

    Constraints:

    • Must contain a valid ISO 8601 timestamp.

    • Can't contain a timestamp set in the future.

    Example: 2017-07-08T18:00Z

    " + }, + "Force":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to force the DB cluster to backtrack when binary logging is enabled. Otherwise, an error occurs when binary logging is enabled.

    " + }, + "UseEarliestTimeOnPointInTimeUnavailable":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to backtrack the DB cluster to the earliest possible backtrack time when BacktrackTo is set to a timestamp earlier than the earliest backtrack time. When this parameter is disabled and BacktrackTo is set to a timestamp earlier than the earliest backtrack time, an error occurs.

    " + } + }, + "documentation":"

    " + }, + "BackupPolicyNotFoundFault":{ + "type":"structure", + "members":{ + }, + "deprecated":true, + "deprecatedMessage":"Please avoid using this fault", + "error":{ + "code":"BackupPolicyNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, + "CancelExportTaskMessage":{ + "type":"structure", + "required":["ExportTaskIdentifier"], + "members":{ + "ExportTaskIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the snapshot export task to cancel.

    " + } + } + }, "Certificate":{ "type":"structure", "members":{ @@ -1829,6 +2785,14 @@ "CertificateArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) for the certificate.

    " + }, + "CustomerOverride":{ + "shape":"BooleanOptional", + "documentation":"

    Whether there is an override for the default certificate identifier.

    " + }, + "CustomerOverrideValidTill":{ + "shape":"TStamp", + "documentation":"

    If there is an override for the default certificate identifier, when the override expires.

    " } }, "documentation":"

    A CA certificate for an AWS account.

    ", @@ -1846,11 +2810,11 @@ "members":{ "Certificates":{ "shape":"CertificateList", - "documentation":"

    The list of Certificate objects for the AWS account.

    " + "documentation":"

    The list of Certificate objects for the AWS account.

    " }, "Marker":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + "documentation":"

    An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " } }, "documentation":"

    Data returned by the DescribeCertificates action.

    " @@ -1859,7 +2823,7 @@ "type":"structure", "members":{ }, - "documentation":"

    CertificateIdentifier does not refer to an existing certificate.

    ", + "documentation":"

    CertificateIdentifier doesn't refer to an existing certificate.

    ", "error":{ "code":"CertificateNotFound", "httpStatusCode":404, @@ -1879,7 +2843,73 @@ "documentation":"

    The description of the character set.

    " } }, - "documentation":"

    This data type is used as a response element in the action DescribeDBEngineVersions.

    " + "documentation":"

    This data type is used as a response element in the action DescribeDBEngineVersions.

    " + }, + "CloudwatchLogsExportConfiguration":{ + "type":"structure", + "members":{ + "EnableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

    The list of log types to enable.

    " + }, + "DisableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

    The list of log types to disable.

    " + } + }, + "documentation":"

    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance or DB cluster.

    The EnableLogTypes and DisableLogTypes arrays determine which logs will be exported (or not exported) to CloudWatch Logs. The values within these arrays depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

    " + }, + "ConnectionPoolConfiguration":{ + "type":"structure", + "members":{ + "MaxConnectionsPercent":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    Default: 100

    Constraints: between 1 and 100

    " + }, + "MaxIdleConnectionsPercent":{ + "shape":"IntegerOptional", + "documentation":"

    Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    Default: 50

    Constraints: between 0 and MaxConnectionsPercent

    " + }, + "ConnectionBorrowTimeout":{ + "shape":"IntegerOptional", + "documentation":"

    The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

    Default: 120

    Constraints: between 1 and 3600, or 0 representing unlimited

    " + }, + "SessionPinningFilters":{ + "shape":"StringList", + "documentation":"

    Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior.

    Default: no session pinning filters

    " + }, + "InitQuery":{ + "shape":"String", + "documentation":"

    One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.

    InitQuery is not currently supported for PostgreSQL.

    Default: no initialization query

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Specifies the settings that control the size and behavior of the connection pool associated with a DBProxyTargetGroup.

    " + }, + "ConnectionPoolConfigurationInfo":{ + "type":"structure", + "members":{ + "MaxConnectionsPercent":{ + "shape":"Integer", + "documentation":"

    The maximum size of the connection pool for each target in a target group. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    " + }, + "MaxIdleConnectionsPercent":{ + "shape":"Integer", + "documentation":"

    Controls how actively the proxy closes idle database connections in the connection pool. A high value enables the proxy to leave a high percentage of idle connections open. A low value causes the proxy to close idle client connections and return the underlying database connections to the connection pool. For Aurora MySQL, it is expressed as a percentage of the max_connections setting for the RDS DB instance or Aurora DB cluster used by the target group.

    " + }, + "ConnectionBorrowTimeout":{ + "shape":"Integer", + "documentation":"

    The number of seconds for a proxy to wait for a connection to become available in the connection pool. Only applies when the proxy has opened its maximum number of connections and all connections are busy with client sessions.

    " + }, + "SessionPinningFilters":{ + "shape":"StringList", + "documentation":"

    Each item in the list represents a class of SQL operations that normally cause all later statements in a session using a proxy to be pinned to the same underlying database connection. Including an item in the list exempts that class of SQL operations from the pinning behavior. Currently, the only allowed value is EXCLUDE_VARIABLE_SETS.

    " + }, + "InitQuery":{ + "shape":"String", + "documentation":"

    One or more SQL statements for the proxy to run when opening each new database connection. Typically used with SET statements to make sure that each connection has identical settings such as time zone and character set. This setting is empty by default. For multiple statements, use semicolons as the separator. You can also include multiple variables in a single SET statement, such as SET x=1, y=2.

    InitQuery is not currently supported for PostgreSQL.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Displays the settings that control the size and behavior of the connection pool associated with a DBProxyTarget.

    " }, "CopyDBClusterParameterGroupMessage":{ "type":"structure", @@ -1891,11 +2921,11 @@ "members":{ "SourceDBClusterParameterGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    Constraints:

    • Must specify a valid DB cluster parameter group.

    • If the source DB cluster parameter group is in the same region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

    • If the source DB parameter group is in a different region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

    " + "documentation":"

    The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon Aurora User Guide.

    Constraints:

    • Must specify a valid DB cluster parameter group.

    • If the source DB cluster parameter group is in the same AWS Region as the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group, or a valid ARN.

    • If the source DB parameter group is in a different AWS Region than the copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.

    " }, "TargetDBClusterParameterGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the copied DB cluster parameter group.

    Constraints:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-cluster-param-group1

    " + "documentation":"

    The identifier for the copied DB cluster parameter group.

    Constraints:

    • Can't be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-cluster-param-group1

    " }, "TargetDBClusterParameterGroupDescription":{ "shape":"String", @@ -1919,11 +2949,23 @@ "members":{ "SourceDBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB cluster snapshot to copy. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster-snapshot1

    " + "documentation":"

    The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.

    You can't copy an encrypted, shared DB cluster snapshot from one AWS Region to another.

    Constraints:

    • Must specify a valid system snapshot in the \"available\" state.

    • If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier.

    • If the source snapshot is in a different AWS Region than the copy, specify a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots Across AWS Regions in the Amazon Aurora User Guide.

    Example: my-cluster-snapshot1

    " }, "TargetDBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster-snapshot2

    " + "documentation":"

    The identifier of the new DB cluster snapshot to create from the source DB cluster snapshot. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster-snapshot2

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you copy an encrypted DB cluster snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot.

    If you copy an encrypted DB cluster snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

    To copy an encrypted DB cluster snapshot to another AWS Region, you must set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

    If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, an error is returned.

    " + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

    The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the AWS Region that contains the source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same AWS Region.

    The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB cluster snapshot to be copied. The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster snapshot in the destination AWS Region. This is the same identifier for both the CopyDBClusterSnapshot action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that the DB cluster snapshot is to be created in.

    • SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region.

    " + }, + "CopyTags":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the source DB cluster snapshot to the target DB cluster snapshot. By default, tags are not copied.

    " }, "Tags":{"shape":"TagList"} }, @@ -1945,11 +2987,11 @@ "members":{ "SourceDBParameterGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    Constraints:

    • Must specify a valid DB parameter group.

    • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

    " + "documentation":"

    The identifier or ARN for the source DB parameter group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

    Constraints:

    • Must specify a valid DB parameter group.

    • Must specify a valid DB parameter group identifier, for example my-db-param-group, or a valid ARN.

    " }, "TargetDBParameterGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the copied DB parameter group.

    Constraints:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-db-parameter-group

    " + "documentation":"

    The identifier for the copied DB parameter group.

    Constraints:

    • Can't be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-db-parameter-group

    " }, "TargetDBParameterGroupDescription":{ "shape":"String", @@ -1974,20 +3016,28 @@ "members":{ "SourceDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the source DB snapshot.

    If you are copying from a shared manual DB snapshot, this must be the ARN of the shared DB snapshot.

    Constraints:

    • Must specify a valid system snapshot in the \"available\" state.

    • If the source snapshot is in the same region as the copy, specify a valid DB snapshot identifier.

    • If the source snapshot is in a different region than the copy, specify a valid DB snapshot ARN. For more information, go to Copying a DB Snapshot.

    Example: rds:mydb-2012-04-02-00-01

    Example: arn:aws:rds:rr-regn-1:123456789012:snapshot:mysql-instance1-snapshot-20130805

    " + "documentation":"

    The identifier for the source DB snapshot.

    If the source snapshot is in the same AWS Region as the copy, specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.

    If the source snapshot is in a different AWS Region than the copy, specify a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.

    If you are copying from a shared manual DB snapshot, this parameter must be the Amazon Resource Name (ARN) of the shared DB snapshot.

    If you are copying an encrypted snapshot this parameter must be in the ARN format for the source AWS Region, and must match the SourceDBSnapshotIdentifier in the PreSignedUrl parameter.

    Constraints:

    • Must specify a valid system snapshot in the \"available\" state.

    Example: rds:mydb-2012-04-02-00-01

    Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805

    " }, "TargetDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the copied snapshot.

    Constraints:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-db-snapshot

    " + "documentation":"

    The identifier for the copy of the snapshot.

    Constraints:

    • Can't be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-db-snapshot

    " }, "KmsKeyId":{ "shape":"String", - "documentation":"

    The AWS Key Management Service (AWS KMS) key identifier for an encrypted DB snapshot. The KMS key identifier is the Amazon Resource Name (ARN) or the KMS key alias for the KMS encryption key.

    If you copy an unencrypted DB snapshot and specify a value for the KmsKeyId parameter, Amazon RDS encrypts the target DB snapshot using the specified KMS encryption key.

    If you copy an encrypted DB snapshot from your AWS account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS encryption key. If you don't specify a value for KmsKeyId then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

    If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for KmsKeyId.

    " + "documentation":"

    The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you copy an encrypted DB snapshot from your AWS account, you can specify a value for this parameter to encrypt the copy with a new KMS encryption key. If you don't specify a value for this parameter, then the copy of the DB snapshot is encrypted with the same KMS key as the source DB snapshot.

    If you copy an encrypted DB snapshot that is shared from another AWS account, then you must specify a value for this parameter.

    If you specify this parameter when you copy an unencrypted snapshot, the copy is encrypted.

    If you copy an encrypted snapshot to a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

    " }, "Tags":{"shape":"TagList"}, "CopyTags":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the source DB snapshot to the target DB snapshot; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy all tags from the source DB snapshot to the target DB snapshot. By default, tags are not copied.

    " + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

    The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot API action in the source AWS Region that contains the source DB snapshot to copy.

    You must specify this parameter when you copy an encrypted DB snapshot from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are copying an encrypted DB snapshot in the same AWS Region.

    The presigned URL must be a valid request for the CopyDBSnapshot API action that can be executed in the source AWS Region that contains the encrypted DB snapshot to be copied. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the encrypted DB snapshot is copied to. This AWS Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.

      For example, if you copy an encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CopyDBSnapshot action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

    • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB snapshot in the destination AWS Region. This is the same identifier for both the CopyDBSnapshot action that is called in the destination AWS Region, and the action contained in the presigned URL.

    • SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region.

    " + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

    The name of an option group to associate with the copy of the snapshot.

    Specify this option if you are copying a snapshot from one AWS Region to another, and your DB instance uses a nondefault option group. If your source DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL Server, you must specify this option when copying across AWS Regions. For more information, see Option Group Considerations in the Amazon RDS User Guide.

    " } }, "documentation":"

    " @@ -2008,11 +3058,11 @@ "members":{ "SourceOptionGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    Constraints:

    • Must specify a valid option group.

    • If the source option group is in the same region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

    • If the source option group is in a different region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

    " + "documentation":"

    The identifier or ARN for the source option group. For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

    Constraints:

    • Must specify a valid option group.

    • If the source option group is in the same AWS Region as the copy, specify a valid option group identifier, for example my-option-group, or a valid ARN.

    • If the source option group is in a different AWS Region than the copy, specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.

    " }, "TargetOptionGroupIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the copied option group.

    Constraints:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-option-group

    " + "documentation":"

    The identifier for the copied option group.

    Constraints:

    • Can't be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-option-group

    " }, "TargetOptionGroupDescription":{ "shape":"String", @@ -2028,20 +3078,83 @@ "OptionGroup":{"shape":"OptionGroup"} } }, - "CreateDBClusterMessage":{ + "CreateCustomAvailabilityZoneMessage":{ "type":"structure", - "required":[ - "DBClusterIdentifier", - "Engine" + "required":["CustomAvailabilityZoneName"], + "members":{ + "CustomAvailabilityZoneName":{ + "shape":"String", + "documentation":"

    The name of the custom Availability Zone (AZ).

    " + }, + "ExistingVpnId":{ + "shape":"String", + "documentation":"

    The ID of an existing virtual private network (VPN) between the Amazon RDS website and the VMware vSphere cluster.

    " + }, + "NewVpnTunnelName":{ + "shape":"String", + "documentation":"

    The name of a new VPN tunnel between the Amazon RDS website and the VMware vSphere cluster.

    Specify this parameter only if ExistingVpnId isn't specified.

    " + }, + "VpnTunnelOriginatorIP":{ + "shape":"String", + "documentation":"

    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

    Specify this parameter only if ExistingVpnId isn't specified.

    " + } + }, + "documentation":"

    " + }, + "CreateCustomAvailabilityZoneResult":{ + "type":"structure", + "members":{ + "CustomAvailabilityZone":{"shape":"CustomAvailabilityZone"} + } + }, + "CreateDBClusterEndpointMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "DBClusterEndpointIdentifier", + "EndpointType" + ], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

    " + }, + "DBClusterEndpointIdentifier":{ + "shape":"String", + "documentation":"

    The identifier to use for the new endpoint. This parameter is stored as a lowercase string.

    " + }, + "EndpointType":{ + "shape":"String", + "documentation":"

    The type of the endpoint. One of: READER, WRITER, ANY.

    " + }, + "StaticMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that are part of the custom endpoint group.

    " + }, + "ExcludedMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags to be assigned to the Amazon RDS resource.

    " + } + } + }, + "CreateDBClusterMessage":{ + "type":"structure", + "required":[ + "DBClusterIdentifier", + "Engine" ], "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

    A list of EC2 Availability Zones that instances in the DB cluster can be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

    " + "documentation":"

    A list of Availability Zones (AZs) where instances in the DB cluster can be created. For information on AWS Regions and Availability Zones, see Choosing the Regions and Availability Zones in the Amazon Aurora User Guide.

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

    The number of days for which automated backups are retained. You must specify a minimum value of 1.

    Default: 1

    Constraints:

    • Must be a value from 1 to 35

    " + "documentation":"

    The number of days for which automated backups are retained.

    Default: 1

    Constraints:

    • Must be a value from 1 to 35

    " }, "CharacterSetName":{ "shape":"String", @@ -2049,15 +3162,15 @@ }, "DatabaseName":{ "shape":"String", - "documentation":"

    The name for your database of up to 8 alpha-numeric characters. If you do not provide a name, Amazon RDS will not create a database in the DB cluster you are creating.

    " + "documentation":"

    The name for your database of up to 64 alphanumeric characters. If you do not provide a name, Amazon RDS doesn't create a database in the DB cluster you are creating.

    " }, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The DB cluster identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " + "documentation":"

    The DB cluster identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " }, "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, default.aurora5.6 will be used.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the DB cluster parameter group to associate with this DB cluster. If you do not specify a value, then the default DB cluster parameter group for the specified DB engine and version is used.

    Constraints:

    • If supplied, must match the name of an existing DB cluster parameter group.

    " }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", @@ -2065,23 +3178,23 @@ }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    A DB subnet group to associate with this DB cluster.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    A DB subnet group to associate with this DB cluster.

    Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

    Example: mySubnetgroup

    " }, "Engine":{ "shape":"String", - "documentation":"

    The name of the database engine to be used for this DB cluster.

    Valid Values: aurora

    " + "documentation":"

    The name of the database engine to be used for this DB cluster.

    Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for MySQL 5.7-compatible Aurora), and aurora-postgresql

    " }, "EngineVersion":{ "shape":"String", - "documentation":"

    The version number of the database engine to use.

    Aurora

    Example: 5.6.10a

    " + "documentation":"

    The version number of the database engine to use.

    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-postgresql, use the following command:

    aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

    Aurora MySQL

    Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5

    Aurora PostgreSQL

    Example: 9.6.3, 10.7

    " }, "Port":{ "shape":"IntegerOptional", - "documentation":"

    The port number on which the instances in the DB cluster accept connections.

    Default: 3306

    " + "documentation":"

    The port number on which the instances in the DB cluster accept connections.

    Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.

    " }, "MasterUsername":{ "shape":"String", - "documentation":"

    The name of the master user for the DB cluster.

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    " + "documentation":"

    The name of the master user for the DB cluster.

    Constraints:

    • Must be 1 to 16 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    " }, "MasterUserPassword":{ "shape":"String", @@ -2089,28 +3202,79 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

    A value that indicates that the DB cluster should be associated with the specified option group.

    Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.

    " + "documentation":"

    A value that indicates that the DB cluster should be associated with the specified option group.

    Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

    Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    Constraints: Minimum 30-minute window.

    " }, "ReplicationSourceIdentifier":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) of the source DB cluster if this DB cluster is created as a Read Replica.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the source DB instance or DB cluster if this DB cluster is created as a read replica.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB cluster.

    " }, - "Tags":{"shape":"TagList"}, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

    Specifies whether the DB cluster is encrypted.

    " + "documentation":"

    A value that indicates whether the DB cluster is encrypted.

    " }, "KmsKeyId":{ "shape":"String", - "documentation":"

    The KMS key identifier for an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

    " + "documentation":"

    The AWS KMS key identifier for an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

    If an encryption key isn't specified in KmsKeyId:

    • If ReplicationSourceIdentifier identifies an encrypted source, then Amazon RDS will use the encryption key used to encrypt the source. Otherwise, Amazon RDS will use your default encryption key.

    • If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier isn't specified, then Amazon RDS will use your default encryption key.

    AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    If you create a read replica of an encrypted DB cluster in another AWS Region, you must set KmsKeyId to a KMS key ID that is valid in the destination AWS Region. This key is used to encrypt the read replica in that AWS Region.

    " + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

    A URL that contains a Signature Version 4 signed request for the CreateDBCluster action to be called in the source AWS Region where the DB cluster is replicated from. You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

    The pre-signed URL must be a valid request for the CreateDBCluster API action that can be executed in the source AWS Region that contains the encrypted DB cluster to be copied.

    The pre-signed URL request must contain the following parameter values:

    • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the copy of the DB cluster in the destination AWS Region. This should refer to the same KMS key for both the CreateDBCluster action that is called in the destination AWS Region, and the action contained in the pre-signed URL.

    • DestinationRegion - The name of the AWS Region that Aurora read replica will be created in.

    • ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are copying an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid request for the operation that can be executed in the source AWS Region.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

    " + }, + "EngineMode":{ + "shape":"String", + "documentation":"

    The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

    global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

    Limitations and requirements apply to some DB engine modes. For more information, see the following sections in the Amazon Aurora User Guide:

    " + }, + "ScalingConfiguration":{ + "shape":"ScalingConfiguration", + "documentation":"

    For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

    " + }, + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The global cluster ID of an Aurora cluster that becomes the primary cluster in the new global database cluster.

    " + }, + "EnableHttpEndpoint":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled.

    When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

    For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    The Active Directory directory ID to create the DB cluster in.

    For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " } }, "documentation":"

    " @@ -2125,17 +3289,20 @@ "members":{ "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    This value is stored as a lowercase string.

    " + "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must match the name of an existing DB cluster parameter group.

    This value is stored as a lowercase string.

    " }, "DBParameterGroupFamily":{ "shape":"String", - "documentation":"

    The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

    " + "documentation":"

    The DB cluster parameter group family name. A DB cluster parameter group can be associated with one and only one DB cluster parameter group family, and can be applied only to a DB cluster running a database engine and engine version compatible with that DB cluster parameter group family.

    Aurora MySQL

    Example: aurora5.6, aurora-mysql5.7

    Aurora PostgreSQL

    Example: aurora-postgresql9.6

    " }, "Description":{ "shape":"String", "documentation":"

    The description for the DB cluster parameter group.

    " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB cluster parameter group.

    " + } }, "documentation":"

    " }, @@ -2160,11 +3327,11 @@ "members":{ "DBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1-snapshot1

    " + "documentation":"

    The identifier of the DB cluster snapshot. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1-snapshot1

    " }, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB cluster to create a snapshot for. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " + "documentation":"

    The identifier of the DB cluster to create a snapshot for. This parameter isn't case-sensitive.

    Constraints:

    • Must match the identifier of an existing DBCluster.

    Example: my-cluster1

    " }, "Tags":{ "shape":"TagList", @@ -2189,31 +3356,31 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

    The meaning of this parameter differs according to the database engine you use.

    Type: String

    MySQL

    The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

    MariaDB

    The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

    PostgreSQL

    The name of the database to create when the DB instance is created. If this parameter is not specified, the default \"postgres\" database is created in the DB instance.

    Constraints:

    • Must contain 1 to 63 alphanumeric characters

    • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

    • Cannot be a word reserved by the specified database engine

    Oracle

    The Oracle System ID (SID) of the created DB instance.

    Default: ORCL

    Constraints:

    • Cannot be longer than 8 characters

    SQL Server

    Not applicable. Must be null.

    Amazon Aurora

    The name of the database to create when the primary instance of the DB cluster is created. If this parameter is not specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 alphanumeric characters

    • Cannot be a word reserved by the specified database engine

    " + "documentation":"

    The meaning of this parameter differs according to the database engine you use.

    MySQL

    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Can't be a word reserved by the specified database engine

    MariaDB

    The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Can't be a word reserved by the specified database engine

    PostgreSQL

    The name of the database to create when the DB instance is created. If this parameter isn't specified, the default \"postgres\" database is created in the DB instance.

    Constraints:

    • Must contain 1 to 63 letters, numbers, or underscores.

    • Must begin with a letter or an underscore. Subsequent characters can be letters, underscores, or digits (0-9).

    • Can't be a word reserved by the specified database engine

    Oracle

    The Oracle System ID (SID) of the created DB instance. If you specify null, the default value ORCL is used. You can't specify the string NULL, or any other reserved word, for DBName.

    Default: ORCL

    Constraints:

    • Can't be longer than 8 characters

    SQL Server

    Not applicable. Must be null.

    Amazon Aurora

    The name of the database to create when the primary instance of the DB cluster is created. If this parameter isn't specified, no database is created in the DB instance.

    Constraints:

    • Must contain 1 to 64 letters or numbers.

    • Can't be a word reserved by the specified database engine

    " }, "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server).

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: mydbinstance

    " + "documentation":"

    The DB instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: mydbinstance

    " }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

    The amount of storage (in gigabytes) to be initially allocated for the database instance.

    Type: Integer

    MySQL

    Constraints: Must be an integer from 5 to 6144.

    MariaDB

    Constraints: Must be an integer from 5 to 6144.

    PostgreSQL

    Constraints: Must be an integer from 5 to 6144.

    Oracle

    Constraints: Must be an integer from 10 to 6144.

    SQL Server

    Constraints: Must be an integer from 200 to 4096 (Standard Edition and Enterprise Edition) or from 20 to 4096 (Express Edition and Web Edition)

    " + "documentation":"

    The amount of storage (in gibibytes) to allocate for the DB instance.

    Type: Integer

    Amazon Aurora

    Not applicable. Aurora cluster volumes automatically grow as the amount of data in your database increases, though you are only charged for the space that you use in an Aurora cluster volume.

    MySQL

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    MariaDB

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    PostgreSQL

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 5 to 3072.

    Oracle

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

    • Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

    • Magnetic storage (standard): Must be an integer from 10 to 3072.

    SQL Server

    Constraints to the amount of storage for each storage type are the following:

    • General Purpose (SSD) storage (gp2):

      • Enterprise and Standard editions: Must be an integer from 200 to 16384.

      • Web and Express editions: Must be an integer from 20 to 16384.

    • Provisioned IOPS storage (io1):

      • Enterprise and Standard editions: Must be an integer from 200 to 16384.

      • Web and Express editions: Must be an integer from 100 to 16384.

    • Magnetic storage (standard):

      • Enterprise and Standard editions: Must be an integer from 200 to 1024.

      • Web and Express editions: Must be an integer from 20 to 1024.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The compute and memory capacity of the DB instance.

    Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

    " + "documentation":"

    The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    " }, "Engine":{ "shape":"String", - "documentation":"

    The name of the database engine to be used for this instance.

    Valid Values: mysql | mariadb | oracle-se1 | oracle-se2 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | aurora

    Not every database engine is available for every AWS region.

    " + "documentation":"

    The name of the database engine to be used for this instance.

    Not every database engine is available for every AWS Region.

    Valid Values:

    • aurora (for MySQL 5.6-compatible Aurora)

    • aurora-mysql (for MySQL 5.7-compatible Aurora)

    • aurora-postgresql

    • mariadb

    • mysql

    • oracle-ee

    • oracle-se2

    • oracle-se1

    • oracle-se

    • postgres

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

    " }, "MasterUsername":{ "shape":"String", - "documentation":"

    The name of master user for the client DB instance.

    MySQL

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    MariaDB

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • Cannot be a reserved word for the chosen database engine.

    Type: String

    Oracle

    Constraints:

    • Must be 1 to 30 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    SQL Server

    Constraints:

    • Must be 1 to 128 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    PostgreSQL

    Constraints:

    • Must be 1 to 63 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    " + "documentation":"

    The name for the master user.

    Amazon Aurora

    Not applicable. The name for the master user is managed by the DB cluster.

    MariaDB

    Constraints:

    • Required for MariaDB.

    • Must be 1 to 16 letters or numbers.

    • Can't be a reserved word for the chosen database engine.

    Microsoft SQL Server

    Constraints:

    • Required for SQL Server.

    • Must be 1 to 128 letters or numbers.

    • The first character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    MySQL

    Constraints:

    • Required for MySQL.

    • Must be 1 to 16 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    Oracle

    Constraints:

    • Required for Oracle.

    • Must be 1 to 30 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    PostgreSQL

    Constraints:

    • Required for PostgreSQL.

    • Must be 1 to 63 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    " }, "MasterUserPassword":{ "shape":"String", - "documentation":"

    The password for the master database user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

    Type: String

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    SQL Server

    Constraints: Must contain from 8 to 128 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

    Amazon Aurora

    Constraints: Must contain from 8 to 41 characters.

    " + "documentation":"

    The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

    Amazon Aurora

    Not applicable. The password for the master user is managed by the DB cluster.

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    Microsoft SQL Server

    Constraints: Must contain from 8 to 128 characters.

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

    " }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", @@ -2221,11 +3388,11 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A list of EC2 VPC security groups to associate with this DB instance.

    Default: The default EC2 VPC security group for the DB subnet group's VPC.

    " + "documentation":"

    A list of Amazon EC2 VPC security groups to associate with this DB instance.

    Amazon Aurora

    Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster.

    Default: The default EC2 VPC security group for the DB subnet group's VPC.

    " }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The EC2 Availability Zone that the database instance will be created in. For information on regions and Availability Zones, see Regions and Availability Zones.

    Default: A random, system-chosen Availability Zone in the endpoint's region.

    Example: us-east-1d

    Constraint: The AvailabilityZone parameter cannot be specified if the MultiAZ parameter is set to true. The specified Availability Zone must be in the same region as the current endpoint.

    " + "documentation":"

    The Availability Zone (AZ) where the database will be created. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

    Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

    Example: us-east-1d

    Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint.

    If you're creating a DB instance in an RDS on VMware environment, specify the identifier of the custom Availability Zone to create the DB instance in.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    " }, "DBSubnetGroupName":{ "shape":"String", @@ -2233,35 +3400,35 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see DB Instance Maintenance.

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window.

    Format: ddd:hh24:mi-ddd:hh24:mi

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    Constraints: Minimum 30-minute window.

    " }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group to associate with this DB instance. If this argument is omitted, the default DBParameterGroup for the specified engine will be used.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then the default DB parameter group for the specified DB engine and version is used.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Default: 1

    Constraints:

    • Must be a value from 0 to 35

    • Cannot be set to 0 if the DB instance is a source to Read Replicas

    " + "documentation":"

    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Amazon Aurora

    Not applicable. The retention period for automated backups is managed by the DB cluster.

    Default: 1

    Constraints:

    • Must be a value from 0 to 35

    • Can't be set to 0 if the DB instance is a source to read replicas

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see DB Instance Backups.

    Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter. For more information, see The Backup Window in the Amazon RDS User Guide.

    Amazon Aurora

    Not applicable. The daily time range for creating automated backups is managed by the DB cluster.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Instance Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " }, "Port":{ "shape":"IntegerOptional", - "documentation":"

    The port number on which the database accepts connections.

    MySQL

    Default: 3306

    Valid Values: 1150-65535

    Type: Integer

    MariaDB

    Default: 3306

    Valid Values: 1150-65535

    Type: Integer

    PostgreSQL

    Default: 5432

    Valid Values: 1150-65535

    Type: Integer

    Oracle

    Default: 1521

    Valid Values: 1150-65535

    SQL Server

    Default: 1433

    Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

    Amazon Aurora

    Default: 3306

    Valid Values: 1150-65535

    Type: Integer

    " + "documentation":"

    The port number on which the database accepts connections.

    MySQL

    Default: 3306

    Valid values: 1150-65535

    Type: Integer

    MariaDB

    Default: 3306

    Valid values: 1150-65535

    Type: Integer

    PostgreSQL

    Default: 5432

    Valid values: 1150-65535

    Type: Integer

    Oracle

    Default: 1521

    Valid values: 1150-65535

    SQL Server

    Default: 1433

    Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and 49152-49156.

    Amazon Aurora

    Default: 3306

    Valid values: 1150-65535

    Type: Integer

    " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    Specifies if the DB instance is a Multi-AZ deployment. You cannot set the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    " + "documentation":"

    A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    " }, "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

    • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-2, eu-west-1, us-east-1, us-west-2): 5.6.10a

    MariaDB

    • Version 10.1 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 10.1.14

    • Version 10.0 (available in all AWS regions): 10.0.17 | 10.0.24

    MySQL

    • Version 5.7 (available in all AWS regions): 5.7.10 | 5.7.11

    • Version 5.6 (available in all AWS regions): 5.6.27 | 5.6.29

    • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.6.23

    • Version 5.6 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.6.19a | 5.6.19b | 5.6.21 | 5.6.21b | 5.6.22

    • Version 5.5 (available in all AWS regions): 5.5.46

    • Version 5.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.5.42

    • Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.5.40b | 5.5.41

    • Version 5.5 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 5.5.40 | 5.5.40a

    Oracle Database Enterprise Edition (oracle-ee)

    • Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.2.v5

    • Version 12.1.0.2 (available in all AWS regions): 12.1.0.2.v1 | 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v6

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v1 | 12.1.0.1.v2

    • Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.4.v6 | 11.2.0.4.v9

    • Version 11.2.0.4 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8

    Oracle Database Standard Edition Two (oracle-se2)

    • Version 12.1.0.2 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.2.v5

    • Version 12.1.0.2 (available in all AWS regions): 12.1.0.2.v2 | 12.1.0.2.v3 | 12.1.0.2.v4

    Oracle Database Standard Edition One (oracle-se1)

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v6

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v1 | 12.1.0.1.v2

    • Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.4.v6 | 11.2.0.4.v9

    • Version 11.2.0.4 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8

    Oracle Database Standard Edition (oracle-se)

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 12.1.0.1.v6

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v3 | 12.1.0.1.v4 | 12.1.0.1.v5

    • Version 12.1.0.1 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-gov-west-1, us-west-1, us-west-2): 12.1.0.1.v1 | 12.1.0.1.v2

    • Version 11.2.0.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 11.2.0.4.v6 | 11.2.0.4.v9

    • Version 11.2.0.4 (available in all AWS regions): 11.2.0.4.v1 | 11.2.0.4.v3 | 11.2.0.4.v4 | 11.2.0.4.v5 | 11.2.0.4.v7 | 11.2.0.4.v8

    PostgreSQL

    • Version 9.5 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.5.2 | 9.5.4

    • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.4.7 | 9.4.9

    • Version 9.4 (available in all AWS regions): 9.4.5

    • Version 9.4 (available in these AWS regions: ap-northeast-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.4.1 | 9.4.4

    • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.3.10 | 9.3.3 | 9.3.5 | 9.3.6 | 9.3.9

    • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-west-1, sa-east-1, us-east-1, us-gov-west-1, us-west-1, us-west-2): 9.3.1 | 9.3.2

    • Version 9.3 (available in these AWS regions: ap-northeast-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, sa-east-1, us-east-1, us-west-1, us-west-2): 9.3.12 | 9.3.14

    Microsoft SQL Server Enterprise Edition (sqlserver-ee)

    • Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1

    • Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1

    Microsoft SQL Server Express Edition (sqlserver-ex)

    • Version 12.00 (available in all AWS regions): 12.00.4422.0.v1

    • Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1

    • Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1

    Microsoft SQL Server Standard Edition (sqlserver-se)

    • Version 12.00 (available in all AWS regions): 12.00.4422.0.v1

    • Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1

    • Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1

    Microsoft SQL Server Web Edition (sqlserver-web)

    • Version 12.00 (available in all AWS regions): 12.00.4422.0.v1

    • Version 11.00 (available in all AWS regions): 11.00.2100.60.v1 | 11.00.5058.0.v1 | 11.00.6020.0.v1

    • Version 10.50 (available in all AWS regions): 10.50.2789.0.v1 | 10.50.6000.34.v1 | 10.50.6529.0.v1

    " + "documentation":"

    The version number of the database engine to use.

    For a list of valid engine versions, use the DescribeDBEngineVersions action.

    The following are the database engines and links to information about the major and minor versions that are available with Amazon RDS. Not every database engine is available for every AWS Region.

    Amazon Aurora

    Not applicable. The version number of the database engine to be used by the DB instance is managed by the DB cluster.

    MariaDB

    See MariaDB on Amazon RDS Versions in the Amazon RDS User Guide.

    Microsoft SQL Server

    See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide.

    MySQL

    See MySQL on Amazon RDS Versions in the Amazon RDS User Guide.

    Oracle

    See Oracle Database Engine Release Notes in the Amazon RDS User Guide.

    PostgreSQL

    See Supported PostgreSQL Database Versions in the Amazon RDS User Guide.

    " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

    Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window.

    Default: true

    " + "documentation":"

    A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are applied automatically.

    " }, "LicenseModel":{ "shape":"String", @@ -2269,52 +3436,55 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

    Constraints: Must be a multiple between 3 and 10 of the storage amount for the DB instance. Must also be an integer multiple of 1000. For example, if the size of your DB instance is 500 GB, then your Iops value can be 2000, 3000, 4000, or 5000.

    " + "documentation":"

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance. For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must be a multiple between .5 and 50 of the storage amount for the DB instance. For SQL Server DB instances, must be a multiple between 1 and 50 of the storage amount for the DB instance.

    " }, "OptionGroupName":{ "shape":"String", - "documentation":"

    Indicates that the DB instance should be associated with the specified option group.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

    " + "documentation":"

    Indicates that the DB instance should be associated with the specified option group.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

    " }, "CharacterSetName":{ "shape":"String", - "documentation":"

    For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

    " + "documentation":"

    For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

    Amazon Aurora

    Not applicable. The character set is managed by the DB cluster. For more information, see CreateDBCluster.

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • Default VPC: true

    • VPC: false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

    " + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether DBSubnetGroupName is specified.

    If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified, the following applies:

    • If the default VPC in the target region doesn’t have an Internet gateway attached to it, the DB instance is private.

    • If the default VPC in the target region has an Internet gateway attached to it, the DB instance is public.

    If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified, the following applies:

    • If the subnets are part of a VPC that doesn’t have an Internet gateway attached to it, the DB instance is private.

    • If the subnets are part of a VPC that has an Internet gateway attached to it, the DB instance is public.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB instance.

    " }, - "Tags":{"shape":"TagList"}, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB cluster that the instance will belong to.

    For information on creating a DB cluster, see CreateDBCluster.

    Type: String

    " + "documentation":"

    The identifier of the DB cluster that the instance will belong to.

    " }, "StorageType":{ "shape":"String", - "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise standard

    " + "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified, otherwise gp2

    " }, "TdeCredentialArn":{ "shape":"String", - "documentation":"

    The ARN from the Key Store with which to associate the instance for TDE encryption.

    " + "documentation":"

    The ARN from the key store with which to associate the instance for TDE encryption.

    " }, "TdeCredentialPassword":{ "shape":"String", - "documentation":"

    The password for the given ARN from the Key Store in order to access the device.

    " + "documentation":"

    The password for the given ARN from the key store in order to access the device.

    " }, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

    Specifies whether the DB instance is encrypted.

    Default: false

    " + "documentation":"

    A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

    Amazon Aurora

    Not applicable. The encryption for DB instances is managed by the DB cluster.

    " }, "KmsKeyId":{ "shape":"String", - "documentation":"

    The KMS key identifier for an encrypted DB instance.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

    " + "documentation":"

    The AWS KMS key identifier for an encrypted DB instance.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    Amazon Aurora

    Not applicable. The KMS key identifier is managed by the DB cluster. For more information, see CreateDBCluster.

    If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " }, "Domain":{ "shape":"String", - "documentation":"

    Specify the Active Directory Domain to create the instance in.

    " + "documentation":"

    The Active Directory directory ID to create the DB instance in. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain.

    For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

    " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    Amazon Aurora

    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting.

    " }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -2322,7 +3492,7 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " + "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " }, "DomainIAMRoleName":{ "shape":"String", @@ -2330,11 +3500,43 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

    Default: 1

    Valid Values: 0 - 15

    " + "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

    Default: 1

    Valid Values: 0 - 15

    " }, "Timezone":{ "shape":"String", - "documentation":"

    The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

    " + "documentation":"

    The time zone of the DB instance. The time zone parameter is currently supported only by Microsoft SQL Server.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    You can enable IAM database authentication for the following database engines:

    Amazon Aurora

    Not applicable. Mapping AWS IAM accounts to database accounts is managed by the DB cluster.

    MySQL

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    • For MySQL 8.0, minor version 8.0.16 or higher

    PostgreSQL

    • For PostgreSQL 9.5, minor version 9.5.15 or higher

    • For PostgreSQL 9.6, minor version 9.6.11 or higher

    • PostgreSQL 10.6, 10.7, and 10.9

    For more information, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable Performance Insights for the DB instance.

    For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

    " + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "PerformanceInsightsRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    Amazon Aurora

    Not applicable. You can enable or disable deletion protection for the DB cluster. For more information, see CreateDBCluster. DB instances in a DB cluster can be deleted even when deletion protection is enabled for the DB cluster.

    " + }, + "MaxAllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

    " } }, "documentation":"

    " @@ -2348,27 +3550,31 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier of the Read Replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

    " + "documentation":"

    The DB instance identifier of the read replica. This identifier is the unique key that identifies a DB instance. This parameter is stored as a lowercase string.

    " }, "SourceDBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB instance that will act as the source for the Read Replica. Each DB instance can have up to five Read Replicas.

    Constraints:

    • Must be the identifier of an existing MySQL, MariaDB, or PostgreSQL DB instance.

    • Can specify a DB instance that is a MySQL Read Replica only if the source is running MySQL 5.6.

    • Can specify a DB instance that is a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5.

    • The specified DB instance must have automatic backups enabled, its backup retention period must be greater than 0.

    • If the source DB instance is in the same region as the Read Replica, specify a valid DB instance identifier.

    • If the source DB instance is in a different region than the Read Replica, specify a valid DB instance ARN. For more information, go to Constructing a Amazon RDS Amazon Resource Name (ARN).

    " + "documentation":"

    The identifier of the DB instance that will act as the source for the read replica. Each DB instance can have up to five read replicas.

    Constraints:

    • Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB instance.

    • Can specify a DB instance that is a MySQL read replica only if the source is running MySQL 5.6 or later.

    • For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the Amazon RDS User Guide.

    • For the limitations of SQL Server read replicas, see Read Replica Limitations with Microsoft SQL Server in the Amazon RDS User Guide.

    • Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region replication).

    • The specified DB instance must have automatic backups enabled, that is, its backup retention period must be greater than 0.

    • If the source DB instance is in the same AWS Region as the read replica, specify a valid DB instance identifier.

    • If the source DB instance is in a different AWS Region from the read replica, specify a valid DB instance ARN. For more information, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't support cross-region replicas.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The compute and memory capacity of the Read Replica.

    Valid Values: db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge |db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

    Default: Inherits from the source DB instance.

    " + "documentation":"

    The compute and memory capacity of the read replica, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Default: Inherits from the source DB instance.

    " }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The Amazon EC2 Availability Zone that the Read Replica will be created in.

    Default: A random, system-chosen Availability Zone in the endpoint's region.

    Example: us-east-1d

    " + "documentation":"

    The Availability Zone (AZ) where the read replica will be created.

    Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

    Example: us-east-1d

    " }, "Port":{ "shape":"IntegerOptional", "documentation":"

    The port number that the DB instance uses for connections.

    Default: Inherits from the source DB instance

    Valid Values: 1150-65535

    " }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the read replica is in a Multi-AZ deployment.

    You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of your replica in another Availability Zone for failover support for the replica. Creating your read replica as a Multi-AZ DB instance is independent of whether the source database is a Multi-AZ DB instance.

    " + }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

    Indicates that minor engine upgrades will be applied automatically to the Read Replica during the maintenance window.

    Default: Inherits from the source DB instance

    " + "documentation":"

    A value that indicates whether minor engine upgrades are applied automatically to the read replica during the maintenance window.

    Default: Inherits from the source DB instance

    " }, "Iops":{ "shape":"IntegerOptional", @@ -2376,32 +3582,88 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

    The option group the DB instance will be associated with. If omitted, the default option group for the engine specified will be used.

    " + "documentation":"

    The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

    For SQL Server, you must use the option group associated with the source instance.

    " + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then Amazon RDS uses the DBParameterGroup of source DB instance for a same region read replica, or the default DBParameterGroup for the specified DB engine for a cross region read replica.

    Currently, specifying a parameter group for this operation is only supported for Oracle DB instances.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • Default VPC:true

    • VPC:false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

    " + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

    " }, "Tags":{"shape":"TagList"}, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    Specifies a DB subnet group for the DB instance. The new DB instance will be created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance is not created in a VPC.

    Constraints:

    • Can only be specified if the source DB instance identifier specifies a DB instance in another region.

    • The specified DB subnet group must be in the same region in which the operation is running.

    • All Read Replicas in one region that are created from the same source DB instance must either:>

      • Specify DB subnet groups from the same VPC. All these Read Replicas will be created in the same VPC.

      • Not specify a DB subnet group. All these Read Replicas will be created outside of any VPC.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

    Constraints:

    • Can only be specified if the source DB instance identifier specifies a DB instance in another AWS Region.

    • If supplied, must match the name of an existing DBSubnetGroup.

    • The specified DB subnet group must be in the same AWS Region in which the operation is running.

    • All read replicas in one AWS Region that are created from the same source DB instance must either:>

      • Specify DB subnet groups from the same VPC. All these read replicas are created in the same VPC.

      • Not specify a DB subnet group. All these read replicas are created outside of any VPC.

    Example: mySubnetgroup

    " + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

    A list of EC2 VPC security groups to associate with the read replica.

    Default: The default EC2 VPC security group for the DB subnet group's VPC.

    " }, "StorageType":{ "shape":"String", - "documentation":"

    Specifies the storage type to be associated with the Read Replica.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise standard

    " + "documentation":"

    Specifies the storage type to be associated with the read replica.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified, otherwise gp2

    " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the Read Replica to snapshots of the Read Replica; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy all tags from the read replica to snapshots of the read replica. By default, tags are not copied.

    " }, "MonitoringInterval":{ "shape":"IntegerOptional", - "documentation":"

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the Read Replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

    If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

    Valid Values: 0, 1, 5, 10, 15, 30, 60

    " + "documentation":"

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the read replica. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

    If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

    Valid Values: 0, 1, 5, 10, 15, 30, 60

    " }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " + "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key ID for an encrypted read replica. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you create an encrypted read replica in the same AWS Region as the source DB instance, then you do not have to specify a value for this parameter. The read replica is encrypted with the same KMS key as the source DB instance.

    If you create an encrypted read replica in a different AWS Region, then you must specify a KMS key for the destination AWS Region. KMS encryption keys are specific to the AWS Region that they are created in, and you can't use encryption keys from one AWS Region in another AWS Region.

    You can't create an encrypted read replica from an unencrypted DB instance.

    " + }, + "PreSignedUrl":{ + "shape":"String", + "documentation":"

    The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action in the source AWS Region that contains the source DB instance.

    You must specify this parameter when you create an encrypted read replica from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are creating an encrypted read replica in the same AWS Region.

    The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action that can be executed in the source AWS Region that contains the encrypted source DB instance. The presigned URL request must contain the following parameter values:

    • DestinationRegion - The AWS Region that the encrypted read replica is created in. This AWS Region is the same one where the CreateDBInstanceReadReplica action is called that contains this presigned URL.

      For example, if you create an encrypted DB instance in the us-west-1 AWS Region, from a source DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica action in the us-east-1 AWS Region and provide a presigned URL that contains a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS Region. For this example, the DestinationRegion in the presigned URL must be set to the us-east-1 AWS Region.

    • KmsKeyId - The AWS KMS key identifier for the key to use to encrypt the read replica in the destination AWS Region. This is the same identifier for both the CreateDBInstanceReadReplica action that is called in the destination AWS Region, and the action contained in the presigned URL.

    • SourceDBInstanceIdentifier - The DB instance identifier for the encrypted DB instance to be replicated. This identifier must be in the Amazon Resource Name (ARN) format for the source AWS Region. For example, if you are creating an encrypted read replica from a DB instance in the us-west-2 AWS Region, then your SourceDBInstanceIdentifier looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

    To learn how to generate a Signature Version 4 signed request, see Authenticating Requests: Using Query Parameters (AWS Signature Version 4) and Signature Version 4 Signing Process.

    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a presigned URL that is a valid request for the operation that can be executed in the source AWS Region.

    SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS doesn't support cross-region read replicas.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance.

    For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable Performance Insights for the read replica.

    For more information, see Using Amazon Performance Insights in the Amazon RDS User Guide.

    " + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "PerformanceInsightsRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the new DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "UseDefaultProcessorFeatures":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    The Active Directory directory ID to create the DB instance in.

    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

    For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " } } }, @@ -2427,17 +3689,20 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    This value is stored as a lowercase string.

    " + "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    This value is stored as a lowercase string.

    " }, "DBParameterGroupFamily":{ "shape":"String", - "documentation":"

    The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

    " + "documentation":"

    The DB parameter group family name. A DB parameter group can be associated with one and only one DB parameter group family, and can be applied only to a DB instance running a database engine and engine version compatible with that DB parameter group family.

    To list all of the available parameter group families, use the following command:

    aws rds describe-db-engine-versions --query \"DBEngineVersions[].DBParameterGroupFamily\"

    The output contains duplicates.

    " }, "Description":{ "shape":"String", "documentation":"

    The description for the DB parameter group.

    " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB parameter group.

    " + } }, "documentation":"

    " }, @@ -2447,6 +3712,67 @@ "DBParameterGroup":{"shape":"DBParameterGroup"} } }, + "CreateDBProxyRequest":{ + "type":"structure", + "required":[ + "DBProxyName", + "EngineFamily", + "Auth", + "RoleArn", + "VpcSubnetIds" + ], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "EngineFamily":{ + "shape":"EngineFamily", + "documentation":"

    The kinds of databases that the proxy can connect to. This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.

    " + }, + "Auth":{ + "shape":"UserAuthConfigList", + "documentation":"

    The authorization mechanism that the proxy uses.

    " + }, + "RoleArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

    " + }, + "VpcSubnetIds":{ + "shape":"StringList", + "documentation":"

    One or more VPC subnet IDs to associate with the new proxy.

    " + }, + "VpcSecurityGroupIds":{ + "shape":"StringList", + "documentation":"

    One or more VPC security group IDs to associate with the new proxy.

    " + }, + "RequireTLS":{ + "shape":"Boolean", + "documentation":"

    A Boolean parameter that specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy.

    " + }, + "IdleClientTimeout":{ + "shape":"IntegerOptional", + "documentation":"

    The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.

    " + }, + "DebugLogging":{ + "shape":"Boolean", + "documentation":"

    Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

    " + } + } + }, + "CreateDBProxyResponse":{ + "type":"structure", + "members":{ + "DBProxy":{ + "shape":"DBProxy", + "documentation":"

    The DBProxy structure corresponding to the new proxy.

    " + } + } + }, "CreateDBSecurityGroupMessage":{ "type":"structure", "required":[ @@ -2456,13 +3782,16 @@ "members":{ "DBSecurityGroupName":{ "shape":"String", - "documentation":"

    The name for the DB security group. This value is stored as a lowercase string.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    • Must not be \"Default\"

    Example: mysecuritygroup

    " + "documentation":"

    The name for the DB security group. This value is stored as a lowercase string.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    • Must not be \"Default\"

    Example: mysecuritygroup

    " }, "DBSecurityGroupDescription":{ "shape":"String", "documentation":"

    The description for the DB security group.

    " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB security group.

    " + } }, "documentation":"

    " }, @@ -2481,11 +3810,11 @@ "members":{ "DBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the DB snapshot.

    Constraints:

    • Cannot be null, empty, or blank

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " + "documentation":"

    The identifier for the DB snapshot.

    Constraints:

    • Can't be null, empty, or blank

    • Must contain from 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " }, "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier. This is the unique key that identifies a DB instance.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The identifier of the DB instance that you want to create the snapshot of.

    Constraints:

    • Must match the identifier of an existing DBInstance.

    " }, "Tags":{"shape":"TagList"} }, @@ -2507,7 +3836,7 @@ "members":{ "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The name for the DB subnet group. This value is stored as a lowercase string.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The name for the DB subnet group. This value is stored as a lowercase string.

    Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " }, "DBSubnetGroupDescription":{ "shape":"String", @@ -2517,7 +3846,10 @@ "shape":"SubnetIdentifierList", "documentation":"

    The EC2 Subnet IDs for the DB subnet group.

    " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the DB subnet group.

    " + } }, "documentation":"

    " }, @@ -2544,19 +3876,19 @@ }, "SourceType":{ "shape":"String", - "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

    Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot

    " + "documentation":"

    The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value isn't specified, all events are returned.

    Valid values: db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot

    " }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

    A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " + "documentation":"

    A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " }, "SourceIds":{ "shape":"SourceIdsList", - "documentation":"

    The list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it cannot end with a hyphen or contain two consecutive hyphens.

    Constraints:

    • If SourceIds are supplied, SourceType must also be provided.

    • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

    • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

    • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

    • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

    " + "documentation":"

    The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens. It can't end with a hyphen or contain two consecutive hyphens.

    Constraints:

    • If SourceIds are supplied, SourceType must also be provided.

    • If the source type is a DB instance, then a DBInstanceIdentifier must be supplied.

    • If the source type is a DB security group, a DBSecurityGroupName must be supplied.

    • If the source type is a DB parameter group, a DBParameterGroupName must be supplied.

    • If the source type is a DB snapshot, a DBSnapshotIdentifier must be supplied.

    " }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

    A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

    " + "documentation":"

    A value that indicates whether to activate the subscription. If the event notification subscription isn't activated, the subscription is created but not active.

    " }, "Tags":{"shape":"TagList"} }, @@ -2568,6 +3900,45 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "CreateGlobalClusterMessage":{ + "type":"structure", + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The cluster identifier of the new global database cluster.

    " + }, + "SourceDBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) to use as the primary cluster of the global database. This parameter is optional.

    " + }, + "Engine":{ + "shape":"String", + "documentation":"

    Provides the name of the database engine to be used for this DB cluster.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The engine version of the Aurora global database.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    The deletion protection setting for the new global database. The global database can't be deleted when deletion protection is enabled.

    " + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

    The name for your database of up to 64 alpha-numeric characters. If you do not provide a name, Amazon Aurora will not create a database in the global database cluster you are creating.

    " + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

    The storage encryption setting for the new global database cluster.

    " + } + } + }, + "CreateGlobalClusterResult":{ + "type":"structure", + "members":{ + "GlobalCluster":{"shape":"GlobalCluster"} + } + }, "CreateOptionGroupMessage":{ "type":"structure", "required":[ @@ -2579,7 +3950,7 @@ "members":{ "OptionGroupName":{ "shape":"String", - "documentation":"

    Specifies the name of the option group to be created.

    Constraints:

    • Must be 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: myoptiongroup

    " + "documentation":"

    Specifies the name of the option group to be created.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: myoptiongroup

    " }, "EngineName":{ "shape":"String", @@ -2593,7 +3964,10 @@ "shape":"String", "documentation":"

    The description of the option group.

    " }, - "Tags":{"shape":"TagList"} + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags to assign to the option group.

    " + } }, "documentation":"

    " }, @@ -2603,16 +3977,95 @@ "OptionGroup":{"shape":"OptionGroup"} } }, + "CustomAvailabilityZone":{ + "type":"structure", + "members":{ + "CustomAvailabilityZoneId":{ + "shape":"String", + "documentation":"

    The identifier of the custom AZ.

    Amazon RDS generates a unique identifier when a custom AZ is created.

    " + }, + "CustomAvailabilityZoneName":{ + "shape":"String", + "documentation":"

    The name of the custom AZ.

    " + }, + "CustomAvailabilityZoneStatus":{ + "shape":"String", + "documentation":"

    The status of the custom AZ.

    " + }, + "VpnDetails":{ + "shape":"VpnDetails", + "documentation":"

    Information about the virtual private network (VPN) between the VMware vSphere cluster and the AWS website.

    " + } + }, + "documentation":"

    A custom Availability Zone (AZ) is an on-premises AZ that is integrated with a VMware vSphere cluster.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    ", + "wrapper":true + }, + "CustomAvailabilityZoneAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    CustomAvailabilityZoneName is already used by an existing custom Availability Zone.

    ", + "error":{ + "code":"CustomAvailabilityZoneAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomAvailabilityZoneList":{ + "type":"list", + "member":{ + "shape":"CustomAvailabilityZone", + "locationName":"CustomAvailabilityZone" + } + }, + "CustomAvailabilityZoneMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeCustomAvailabilityZones request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "CustomAvailabilityZones":{ + "shape":"CustomAvailabilityZoneList", + "documentation":"

    The list of CustomAvailabilityZone objects for the AWS account.

    " + } + } + }, + "CustomAvailabilityZoneNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    CustomAvailabilityZoneId doesn't refer to an existing custom Availability Zone identifier.

    ", + "error":{ + "code":"CustomAvailabilityZoneNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "CustomAvailabilityZoneQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You have exceeded the maximum number of custom Availability Zones.

    ", + "error":{ + "code":"CustomAvailabilityZoneQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "DBCluster":{ "type":"structure", "members":{ "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

    Specifies the allocated storage size in gigabytes (GB).

    " + "documentation":"

    For all database engines except Amazon Aurora, AllocatedStorage specifies the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage always returns 1, because Aurora DB cluster storage size isn't fixed, but instead automatically adjusts as needed.

    " }, "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

    Provides the list of EC2 Availability Zones that instances in the DB cluster can be created in.

    " + "documentation":"

    Provides the list of Availability Zones (AZs) where instances in the DB cluster can be created.

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -2648,7 +4101,7 @@ }, "EarliestRestorableTime":{ "shape":"TStamp", - "documentation":"

    Specifies the earliest time to which a database can be restored with point-in-time restore.

    " + "documentation":"

    The earliest time to which a database can be restored with point-in-time restore.

    " }, "Endpoint":{ "shape":"String", @@ -2656,9 +4109,17 @@ }, "ReaderEndpoint":{ "shape":"String", - "documentation":"

    The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

    If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection will be dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then recoonect to the reader endpoint.

    " + "documentation":"

    The reader endpoint for the DB cluster. The reader endpoint for a DB cluster load-balances connections across the Aurora Replicas that are available in a DB cluster. As clients request new connections to the reader endpoint, Aurora distributes the connection requests among the Aurora Replicas in the DB cluster. This functionality can help balance your read workload across multiple Aurora Replicas in your DB cluster.

    If a failover occurs, and the Aurora Replica that you are connected to is promoted to be the primary instance, your connection is dropped. To continue sending your read workload to other Aurora Replicas in the cluster, you can then reconnect to the reader endpoint.

    " }, - "Engine":{ + "CustomEndpoints":{ + "shape":"StringList", + "documentation":"

    Identifies all custom endpoints associated with the cluster.

    " + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

    Specifies whether the DB cluster has instances in multiple Availability Zones.

    " + }, + "Engine":{ "shape":"String", "documentation":"

    Provides the name of the database engine to be used for this DB cluster.

    " }, @@ -2692,11 +4153,11 @@ }, "ReplicationSourceIdentifier":{ "shape":"String", - "documentation":"

    Contains the identifier of the source DB cluster if this DB cluster is a Read Replica.

    " + "documentation":"

    Contains the identifier of the source DB cluster if this DB cluster is a read replica.

    " }, "ReadReplicaIdentifiers":{ "shape":"ReadReplicaIdentifierList", - "documentation":"

    Contains one or more identifiers of the Read Replicas associated with this DB cluster.

    " + "documentation":"

    Contains one or more identifiers of the read replicas associated with this DB cluster.

    " }, "DBClusterMembers":{ "shape":"DBClusterMemberList", @@ -2716,11 +4177,11 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

    If StorageEncrypted is true, the KMS key identifier for the encrypted DB cluster.

    " + "documentation":"

    If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted DB cluster.

    " }, "DbClusterResourceId":{ "shape":"String", - "documentation":"

    The region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB cluster is accessed.

    " + "documentation":"

    The AWS Region-unique, immutable identifier for the DB cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

    " }, "DBClusterArn":{ "shape":"String", @@ -2729,16 +4190,89 @@ "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.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.

    " + }, + "CloneGroupId":{ + "shape":"String", + "documentation":"

    Identifies the clone group to which the DB cluster is associated.

    " + }, + "ClusterCreateTime":{ + "shape":"TStamp", + "documentation":"

    Specifies the time when the DB cluster was created, in Universal Coordinated Time (UTC).

    " + }, + "EarliestBacktrackTime":{ + "shape":"TStamp", + "documentation":"

    The earliest time to which a DB cluster can be backtracked.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. If this value is set to 0, backtracking is disabled for the DB cluster. Otherwise, backtracking is enabled.

    " + }, + "BacktrackConsumedChangeRecords":{ + "shape":"LongOptional", + "documentation":"

    The number of change records stored for Backtrack.

    " + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    A list of log types that this DB cluster is configured to export to CloudWatch Logs.

    Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon Aurora User Guide.

    " + }, + "Capacity":{ + "shape":"IntegerOptional", + "documentation":"

    The current capacity of an Aurora Serverless DB cluster. The capacity is 0 (zero) when the cluster is paused.

    For more information about Aurora Serverless, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

    " + }, + "EngineMode":{ + "shape":"String", + "documentation":"

    The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

    global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode. To check if a DB cluster is part of a global database, use DescribeGlobalClusters instead of checking the EngineMode return value from DescribeDBClusters.

    " + }, + "ScalingConfigurationInfo":{"shape":"ScalingConfigurationInfo"}, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates if the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled.

    " + }, + "HttpEndpointEnabled":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

    When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

    For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

    " + }, + "ActivityStreamMode":{ + "shape":"ActivityStreamMode", + "documentation":"

    The mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously.

    " + }, + "ActivityStreamStatus":{ + "shape":"ActivityStreamStatus", + "documentation":"

    The status of the database activity stream.

    " + }, + "ActivityStreamKmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier used for encrypting messages in the database activity stream.

    " + }, + "ActivityStreamKinesisStreamName":{ + "shape":"String", + "documentation":"

    The name of the Amazon Kinesis data stream used for the database activity stream.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    Specifies whether tags are copied from the DB cluster to snapshots of the DB cluster.

    " + }, + "CrossAccountClone":{ + "shape":"BooleanOptional", + "documentation":"

    Specifies whether the DB cluster is a clone of a DB cluster owned by a different AWS account.

    " + }, + "DomainMemberships":{ + "shape":"DomainMembershipList", + "documentation":"

    The Active Directory Domain membership records associated with the DB cluster.

    " } }, - "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.

    ", + "documentation":"

    Contains the details of an Amazon Aurora DB cluster.

    This data type is used as a response element in the DescribeDBClusters, StopDBCluster, and StartDBCluster actions.

    ", "wrapper":true }, "DBClusterAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    User already has a DB cluster with the given identifier.

    ", + "documentation":"

    The user already has a DB cluster with the given identifier.

    ", "error":{ "code":"DBClusterAlreadyExistsFault", "httpStatusCode":400, @@ -2746,6 +4280,196 @@ }, "exception":true }, + "DBClusterBacktrack":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    Contains a user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

    " + }, + "BacktrackIdentifier":{ + "shape":"String", + "documentation":"

    Contains the backtrack identifier.

    " + }, + "BacktrackTo":{ + "shape":"TStamp", + "documentation":"

    The timestamp of the time to which the DB cluster was backtracked.

    " + }, + "BacktrackedFrom":{ + "shape":"TStamp", + "documentation":"

    The timestamp of the time from which the DB cluster was backtracked.

    " + }, + "BacktrackRequestCreationTime":{ + "shape":"TStamp", + "documentation":"

    The timestamp of the time at which the backtrack was requested.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The status of the backtrack. This property returns one of the following values:

    • applying - The backtrack is currently being applied to or rolled back from the DB cluster.

    • completed - The backtrack has successfully been applied to or rolled back from the DB cluster.

    • failed - An error occurred while the backtrack was applied to or rolled back from the DB cluster.

    • pending - The backtrack is currently pending application to or rollback from the DB cluster.

    " + } + }, + "documentation":"

    This data type is used as a response element in the DescribeDBClusterBacktracks action.

    " + }, + "DBClusterBacktrackList":{ + "type":"list", + "member":{ + "shape":"DBClusterBacktrack", + "locationName":"DBClusterBacktrack" + } + }, + "DBClusterBacktrackMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a later DescribeDBClusterBacktracks request.

    " + }, + "DBClusterBacktracks":{ + "shape":"DBClusterBacktrackList", + "documentation":"

    Contains a list of backtracks for the user.

    " + } + }, + "documentation":"

    Contains the result of a successful invocation of the DescribeDBClusterBacktracks action.

    " + }, + "DBClusterBacktrackNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    BacktrackIdentifier doesn't refer to an existing backtrack.

    ", + "error":{ + "code":"DBClusterBacktrackNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBClusterCapacityInfo":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    A user-supplied DB cluster identifier. This identifier is the unique key that identifies a DB cluster.

    " + }, + "PendingCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    A value that specifies the capacity that the DB cluster scales to next.

    " + }, + "CurrentCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    The current capacity of the DB cluster.

    " + }, + "SecondsBeforeTimeout":{ + "shape":"IntegerOptional", + "documentation":"

    The number of seconds before a call to ModifyCurrentDBClusterCapacity times out.

    " + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

    The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange or RollbackCapacityChange.

    " + } + } + }, + "DBClusterEndpoint":{ + "type":"structure", + "members":{ + "DBClusterEndpointIdentifier":{ + "shape":"String", + "documentation":"

    The identifier associated with the endpoint. This parameter is stored as a lowercase string.

    " + }, + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

    " + }, + "DBClusterEndpointResourceIdentifier":{ + "shape":"String", + "documentation":"

    A unique system-generated identifier for an endpoint. It remains the same for the whole life of the endpoint.

    " + }, + "Endpoint":{ + "shape":"String", + "documentation":"

    The DNS address of the endpoint.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The current status of the endpoint. One of: creating, available, deleting, modifying.

    " + }, + "EndpointType":{ + "shape":"String", + "documentation":"

    The type of the endpoint. One of: READER, WRITER, CUSTOM.

    " + }, + "CustomEndpointType":{ + "shape":"String", + "documentation":"

    The type associated with a custom endpoint. One of: READER, WRITER, ANY.

    " + }, + "StaticMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that are part of the custom endpoint group.

    " + }, + "ExcludedMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.

    " + }, + "DBClusterEndpointArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the endpoint.

    " + } + }, + "documentation":"

    This data type represents the information you need to connect to an Amazon Aurora DB cluster. This data type is used as a response element in the following actions:

    • CreateDBClusterEndpoint

    • DescribeDBClusterEndpoints

    • ModifyDBClusterEndpoint

    • DeleteDBClusterEndpoint

    For the data structure that represents Amazon RDS DB instance endpoints, see Endpoint.

    " + }, + "DBClusterEndpointAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified custom endpoint can't be created because it already exists.

    ", + "error":{ + "code":"DBClusterEndpointAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterEndpointList":{ + "type":"list", + "member":{ + "shape":"DBClusterEndpoint", + "locationName":"DBClusterEndpointList" + } + }, + "DBClusterEndpointMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "DBClusterEndpoints":{ + "shape":"DBClusterEndpointList", + "documentation":"

    Contains the details of the endpoints associated with the cluster and matching any filter conditions.

    " + } + } + }, + "DBClusterEndpointNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified custom endpoint doesn't exist.

    ", + "error":{ + "code":"DBClusterEndpointNotFoundFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBClusterEndpointQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The cluster already has the maximum number of custom endpoints.

    ", + "error":{ + "code":"DBClusterEndpointQuotaExceededFault", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, "DBClusterList":{ "type":"list", "member":{ @@ -2770,7 +4494,7 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

    " + "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

    " } }, "documentation":"

    Contains information about an instance that is part of a DB cluster.

    ", @@ -2788,20 +4512,20 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

    A pagination token that can be used in a subsequent DescribeDBClusters request.

    " + "documentation":"

    A pagination token that can be used in a later DescribeDBClusters request.

    " }, "DBClusters":{ "shape":"DBClusterList", "documentation":"

    Contains a list of DB clusters for the user.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBClusters action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBClusters action.

    " }, "DBClusterNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBClusterIdentifier does not refer to an existing DB cluster.

    ", + "documentation":"

    DBClusterIdentifier doesn't refer to an existing DB cluster.

    ", "error":{ "code":"DBClusterNotFoundFault", "httpStatusCode":404, @@ -2850,7 +4574,7 @@ "documentation":"

    The Amazon Resource Name (ARN) for the DB cluster parameter group.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the CreateDBClusterParameterGroup or CopyDBClusterParameterGroup action.

    This data type is used as a request parameter in the DeleteDBClusterParameterGroup action, and as a response element in the DescribeDBClusterParameterGroups action.

    ", + "documentation":"

    Contains the details of an Amazon RDS DB cluster parameter group.

    This data type is used as a response element in the DescribeDBClusterParameterGroups action.

    ", "wrapper":true }, "DBClusterParameterGroupDetails":{ @@ -2879,7 +4603,7 @@ "members":{ "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    This value is stored as a lowercase string.

    " + "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must be 1 to 255 letters or numbers.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    This value is stored as a lowercase string.

    " } }, "documentation":"

    " @@ -2888,7 +4612,7 @@ "type":"structure", "members":{ }, - "documentation":"

    DBClusterParameterGroupName does not refer to an existing DB Cluster parameter group.

    ", + "documentation":"

    DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter group.

    ", "error":{ "code":"DBClusterParameterGroupNotFound", "httpStatusCode":404, @@ -2914,7 +4638,7 @@ "type":"structure", "members":{ }, - "documentation":"

    User attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

    ", + "documentation":"

    The user attempted to create a new DB cluster and the user has already reached the maximum allowed DB cluster quota.

    ", "error":{ "code":"DBClusterQuotaExceededFault", "httpStatusCode":403, @@ -2932,6 +4656,10 @@ "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:

    • ACTIVE - the IAM role ARN is associated with the DB cluster and can be used to access other AWS services on your behalf.

    • PENDING - the IAM role ARN is being associated with the DB cluster.

    • INVALID - the IAM role ARN is associated with the DB cluster, but the DB cluster is unable to assume the IAM role in order to access other AWS services on your behalf.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion.

    " } }, "documentation":"

    Describes an AWS Identity and Access Management (IAM) role that is associated with a DB cluster.

    " @@ -2952,7 +4680,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The specified IAM role Amazon Resource Name (ARN) is not associated with the specified DB cluster.

    ", + "documentation":"

    The specified IAM role Amazon Resource Name (ARN) isn't associated with the specified DB cluster.

    ", "error":{ "code":"DBClusterRoleNotFound", "httpStatusCode":404, @@ -2984,7 +4712,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

    Provides the list of EC2 Availability Zones that instances in the DB cluster snapshot can be restored in.

    " + "documentation":"

    Provides the list of Availability Zones (AZs) where instances in the DB cluster snapshot can be restored.

    " }, "DBClusterSnapshotIdentifier":{ "shape":"String", @@ -3004,7 +4732,7 @@ }, "AllocatedStorage":{ "shape":"Integer", - "documentation":"

    Specifies the allocated storage size in gigabytes (GB).

    " + "documentation":"

    Specifies the allocated storage size in gibibytes (GiB).

    " }, "Status":{ "shape":"String", @@ -3048,21 +4776,29 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

    If StorageEncrypted is true, the KMS key identifier for the encrypted DB cluster snapshot.

    " + "documentation":"

    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB cluster snapshot.

    " }, "DBClusterSnapshotArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) for the DB cluster snapshot.

    " + }, + "SourceDBClusterSnapshotArn":{ + "shape":"String", + "documentation":"

    If the DB cluster snapshot was copied from a source DB cluster snapshot, the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise, a null value.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the following actions:

    This data type is used as a response element in the DescribeDBClusterSnapshots action.

    ", + "documentation":"

    Contains the details for an Amazon RDS DB cluster snapshot

    This data type is used as a response element in the DescribeDBClusterSnapshots action.

    ", "wrapper":true }, "DBClusterSnapshotAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    User already has a DB cluster snapshot with the given identifier.

    ", + "documentation":"

    The user already has a DB cluster snapshot with the given identifier.

    ", "error":{ "code":"DBClusterSnapshotAlreadyExistsFault", "httpStatusCode":400, @@ -3075,14 +4811,14 @@ "members":{ "AttributeName":{ "shape":"String", - "documentation":"

    The name of the manual DB cluster snapshot attribute.

    The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    " + "documentation":"

    The name of the manual DB cluster snapshot attribute.

    The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    " }, "AttributeValues":{ "shape":"AttributeValueList", "documentation":"

    The value(s) for the manual DB cluster snapshot attribute.

    If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot is public and available for any AWS account to copy or restore.

    " } }, - "documentation":"

    Contains the name and values of a manual DB cluster snapshot attribute.

    Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    " + "documentation":"

    Contains the name and values of a manual DB cluster snapshot attribute.

    Manual DB cluster snapshot attributes are used to authorize other AWS accounts to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    " }, "DBClusterSnapshotAttributeList":{ "type":"list", @@ -3103,7 +4839,7 @@ "documentation":"

    The list of attributes and values for the manual DB cluster snapshot.

    " } }, - "documentation":"

    Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

    Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    ", + "documentation":"

    Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes API action.

    Manual DB cluster snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute API action.

    ", "wrapper":true }, "DBClusterSnapshotList":{ @@ -3118,20 +4854,20 @@ "members":{ "Marker":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + "documentation":"

    An optional pagination token provided by a previous DescribeDBClusterSnapshots request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " }, "DBClusterSnapshots":{ "shape":"DBClusterSnapshotList", "documentation":"

    Provides a list of DB cluster snapshots for the user.

    " } }, - "documentation":"

    Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

    " + "documentation":"

    Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action.

    " }, "DBClusterSnapshotNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBClusterSnapshotIdentifier does not refer to an existing DB cluster snapshot.

    ", + "documentation":"

    DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.

    ", "error":{ "code":"DBClusterSnapshotNotFoundFault", "httpStatusCode":404, @@ -3164,7 +4900,7 @@ }, "DefaultCharacterSet":{ "shape":"CharacterSet", - "documentation":"

    The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API is not specified.

    " + "documentation":"

    The default character set for new instances of this engine version, if the CharacterSetName parameter of the CreateDBInstance API isn't specified.

    " }, "SupportedCharacterSets":{ "shape":"SupportedCharacterSetsList", @@ -3177,9 +4913,33 @@ "SupportedTimezones":{ "shape":"SupportedTimezonesList", "documentation":"

    A list of the time zones supported by this engine for the Timezone parameter of the CreateDBInstance action.

    " + }, + "ExportableLogTypes":{ + "shape":"LogTypeList", + "documentation":"

    The types of logs that the database engine has available for export to CloudWatch Logs.

    " + }, + "SupportsLogExportsToCloudwatchLogs":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

    " + }, + "SupportsReadReplica":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the database engine version supports read replicas.

    " + }, + "SupportedEngineModes":{ + "shape":"EngineModeList", + "documentation":"

    A list of the supported DB engine modes.

    global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

    " + }, + "SupportedFeatureNames":{ + "shape":"FeatureNameList", + "documentation":"

    A list of features supported by the DB engine. Supported feature names include the following.

    • s3Import

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The status of the DB engine version, either available or deprecated.

    " } }, - "documentation":"

    This data type is used as a response element in the action DescribeDBEngineVersions.

    " + "documentation":"

    This data type is used as a response element in the action DescribeDBEngineVersions.

    " }, "DBEngineVersionList":{ "type":"list", @@ -3200,7 +4960,7 @@ "documentation":"

    A list of DBEngineVersion elements.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBEngineVersions action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBEngineVersions action.

    " }, "DBInstance":{ "type":"structure", @@ -3219,7 +4979,7 @@ }, "DBInstanceStatus":{ "shape":"String", - "documentation":"

    Specifies the current state of this database.

    " + "documentation":"

    Specifies the current state of this database.

    For information about DB instance statuses, see DB Instance Status in the Amazon RDS User Guide.

    " }, "MasterUsername":{ "shape":"String", @@ -3227,7 +4987,7 @@ }, "DBName":{ "shape":"String", - "documentation":"

    The meaning of this parameter differs according to the database engine you use. For example, this value returns MySQL, MariaDB, or PostgreSQL information when returning values from CreateDBInstanceReadReplica since Read Replicas are only supported for these engines.

    MySQL, MariaDB, SQL Server, PostgreSQL, Amazon Aurora

    Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

    Type: String

    Oracle

    Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

    " + "documentation":"

    The meaning of this parameter differs according to the database engine you use.

    MySQL, MariaDB, SQL Server, PostgreSQL

    Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

    Type: String

    Oracle

    Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

    " }, "Endpoint":{ "shape":"Endpoint", @@ -3235,7 +4995,7 @@ }, "AllocatedStorage":{ "shape":"Integer", - "documentation":"

    Specifies the allocated storage size specified in gigabytes.

    " + "documentation":"

    Specifies the allocated storage size specified in gibibytes.

    " }, "InstanceCreateTime":{ "shape":"TStamp", @@ -3251,7 +5011,7 @@ }, "DBSecurityGroups":{ "shape":"DBSecurityGroupMembershipList", - "documentation":"

    Provides List of DB security group elements containing only DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

    " + "documentation":"

    A list of DB security group elements containing DBSecurityGroup.Name and DBSecurityGroup.Status subelements.

    " }, "VpcSecurityGroups":{ "shape":"VpcSecurityGroupMembershipList", @@ -3295,11 +5055,15 @@ }, "ReadReplicaSourceDBInstanceIdentifier":{ "shape":"String", - "documentation":"

    Contains the identifier of the source DB instance if this DB instance is a Read Replica.

    " + "documentation":"

    Contains the identifier of the source DB instance if this DB instance is a read replica.

    " }, "ReadReplicaDBInstanceIdentifiers":{ "shape":"ReadReplicaDBInstanceIdentifierList", - "documentation":"

    Contains one or more identifiers of the Read Replicas associated with this DB instance.

    " + "documentation":"

    Contains one or more identifiers of the read replicas associated with this DB instance.

    " + }, + "ReadReplicaDBClusterIdentifiers":{ + "shape":"ReadReplicaDBClusterIdentifierList", + "documentation":"

    Contains one or more identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. For example, when you create an Aurora read replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster for the Aurora read replica is shown. This output does not contain information about cross region Aurora read replicas.

    Currently, each RDS DB instance can have only one Aurora read replica.

    " }, "LicenseModel":{ "shape":"String", @@ -3323,11 +5087,11 @@ }, "PubliclyAccessible":{ "shape":"Boolean", - "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • Default VPC:true

    • VPC:false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

    " + "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    " }, "StatusInfos":{ "shape":"DBInstanceStatusInfoList", - "documentation":"

    The status of a Read Replica. If the instance is not a Read Replica, this will be blank.

    " + "documentation":"

    The status of a read replica. If the instance isn't a read replica, this is blank.

    " }, "StorageType":{ "shape":"String", @@ -3351,11 +5115,11 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

    If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.

    " + "documentation":"

    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

    " }, "DbiResourceId":{ "shape":"String", - "documentation":"

    The region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the KMS key for the DB instance is accessed.

    " + "documentation":"

    The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

    " }, "CACertificateIdentifier":{ "shape":"String", @@ -3367,7 +5131,7 @@ }, "CopyTagsToSnapshot":{ "shape":"Boolean", - "documentation":"

    Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

    " + "documentation":"

    Specifies whether tags are copied from the DB instance to snapshots of the DB instance.

    Amazon Aurora

    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see DBCluster.

    " }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -3379,11 +5143,11 @@ }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

    The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to CloudWatch Logs.

    " + "documentation":"

    The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics to Amazon CloudWatch Logs.

    " }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

    " + "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

    " }, "DBInstanceArn":{ "shape":"String", @@ -3392,16 +5156,56 @@ "Timezone":{ "shape":"String", "documentation":"

    The time zone of the DB instance. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

    IAM database authentication can be enabled for the following database engines

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    • Aurora 5.6 or higher. To enable IAM database authentication for Aurora, see DBCluster Type.

    " + }, + "PerformanceInsightsEnabled":{ + "shape":"BooleanOptional", + "documentation":"

    True if Performance Insights is enabled for the DB instance, and otherwise false.

    " + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    " + }, + "PerformanceInsightsRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

    " + }, + "EnabledCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    A list of log types that this DB instance is configured to export to CloudWatch Logs.

    Log types vary by DB engine. For information about the log types for each DB engine, see Amazon RDS Database Log Files in the Amazon RDS User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "DeletionProtection":{ + "shape":"Boolean", + "documentation":"

    Indicates if the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. For more information, see Deleting a DB Instance.

    " + }, + "AssociatedRoles":{ + "shape":"DBInstanceRoles", + "documentation":"

    The AWS Identity and Access Management (IAM) roles associated with the DB instance.

    " + }, + "ListenerEndpoint":{ + "shape":"Endpoint", + "documentation":"

    Specifies the listener connection endpoint for SQL Server Always On.

    " + }, + "MaxAllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the following actions:

    This data type is used as a response element in the DescribeDBInstances action.

    ", + "documentation":"

    Contains the details of an Amazon RDS DB instance.

    This data type is used as a response element in the DescribeDBInstances action.

    ", "wrapper":true }, "DBInstanceAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    User already has a DB instance with the given identifier.

    ", + "documentation":"

    The user already has a DB instance with the given identifier.

    ", "error":{ "code":"DBInstanceAlreadyExists", "httpStatusCode":400, @@ -3409,73 +5213,278 @@ }, "exception":true }, - "DBInstanceList":{ - "type":"list", - "member":{ - "shape":"DBInstance", - "locationName":"DBInstance" - } - }, - "DBInstanceMessage":{ + "DBInstanceAutomatedBackup":{ "type":"structure", "members":{ - "Marker":{ + "DBInstanceArn":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + "documentation":"

    The Amazon Resource Name (ARN) for the automated backup.

    " }, - "DBInstances":{ - "shape":"DBInstanceList", - "documentation":"

    A list of DBInstance instances.

    " - } - }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBInstances action.

    " - }, - "DBInstanceNotFoundFault":{ - "type":"structure", - "members":{ - }, - "documentation":"

    DBInstanceIdentifier does not refer to an existing DB instance.

    ", - "error":{ - "code":"DBInstanceNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true - }, - "DBInstanceStatusInfo":{ - "type":"structure", - "members":{ - "StatusType":{ + "DbiResourceId":{ "shape":"String", - "documentation":"

    This value is currently \"read replication.\"

    " + "documentation":"

    The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

    " }, - "Normal":{ - "shape":"Boolean", - "documentation":"

    Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

    " + "Region":{ + "shape":"String", + "documentation":"

    The AWS Region associated with the automated backup.

    " + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The customer id of the instance that is/was associated with the automated backup.

    " + }, + "RestoreWindow":{ + "shape":"RestoreWindow", + "documentation":"

    Earliest and latest time an instance can be restored to.

    " + }, + "AllocatedStorage":{ + "shape":"Integer", + "documentation":"

    Specifies the allocated storage size in gibibytes (GiB).

    " }, "Status":{ "shape":"String", - "documentation":"

    Status of the DB instance. For a StatusType of read replica, the values can be replicating, error, stopped, or terminated.

    " + "documentation":"

    Provides a list of status information for an automated backup:

    • active - automated backups for current instances

    • retained - automated backups for deleted instances

    • creating - automated backups that are waiting for the first automated snapshot to be available.

    " }, - "Message":{ + "Port":{ + "shape":"Integer", + "documentation":"

    The port number that the automated backup used for connections.

    Default: Inherits from the source DB instance

    Valid Values: 1150-65535

    " + }, + "AvailabilityZone":{ "shape":"String", - "documentation":"

    Details of the error if there is an error for the instance. If the instance is not in an error state, this value is blank.

    " - } - }, - "documentation":"

    Provides a list of status information for a DB instance.

    " - }, - "DBInstanceStatusInfoList":{ - "type":"list", - "member":{ - "shape":"DBInstanceStatusInfo", - "locationName":"DBInstanceStatusInfo" - } - }, - "DBLogFileNotFoundFault":{ - "type":"structure", + "documentation":"

    The Availability Zone that the automated backup was created in. For information on AWS Regions and Availability Zones, see Regions and Availability Zones.

    " + }, + "VpcId":{ + "shape":"String", + "documentation":"

    Provides the VPC ID associated with the DB instance

    " + }, + "InstanceCreateTime":{ + "shape":"TStamp", + "documentation":"

    Provides the date and time that the DB instance was created.

    " + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

    The license model of an automated backup.

    " + }, + "Engine":{ + "shape":"String", + "documentation":"

    The name of the database engine for this automated backup.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The version of the database engine for the automated backup.

    " + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

    License model information for the automated backup.

    " + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

    The IOPS (I/O operations per second) value for the automated backup.

    " + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

    The option group the automated backup is associated with. If omitted, the default option group for the engine specified is used.

    " + }, + "TdeCredentialArn":{ + "shape":"String", + "documentation":"

    The ARN from the key store with which the automated backup is associated for TDE encryption.

    " + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

    Specifies whether the automated backup is encrypted.

    " + }, + "StorageType":{ + "shape":"String", + "documentation":"

    Specifies the storage type associated with the automated backup.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key ID for an automated backup. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    " + }, + "Timezone":{ + "shape":"String", + "documentation":"

    The time zone of the automated backup. In most cases, the Timezone element is empty. Timezone content appears only for Microsoft SQL Server DB instances that were created with a time zone specified.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

    " + } + }, + "documentation":"

    An automated backup of a DB instance. It it consists of system backups, transaction logs, and the database instance properties that existed at the time you deleted the source instance.

    ", + "wrapper":true + }, + "DBInstanceAutomatedBackupList":{ + "type":"list", + "member":{ + "shape":"DBInstanceAutomatedBackup", + "locationName":"DBInstanceAutomatedBackup" + } + }, + "DBInstanceAutomatedBackupMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + }, + "DBInstanceAutomatedBackups":{ + "shape":"DBInstanceAutomatedBackupList", + "documentation":"

    A list of DBInstanceAutomatedBackup instances.

    " + } + }, + "documentation":"

    Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups action.

    " + }, + "DBInstanceAutomatedBackupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    No automated backup for this DB instance was found.

    ", + "error":{ + "code":"DBInstanceAutomatedBackupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceAutomatedBackupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The quota for retained automated backups was exceeded. This prevents you from retaining any additional automated backups. The retained automated backups quota is the same as your DB Instance quota.

    ", + "error":{ + "code":"DBInstanceAutomatedBackupQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceList":{ + "type":"list", + "member":{ + "shape":"DBInstance", + "locationName":"DBInstance" + } + }, + "DBInstanceMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + }, + "DBInstances":{ + "shape":"DBInstanceList", + "documentation":"

    A list of DBInstance instances.

    " + } + }, + "documentation":"

    Contains the result of a successful invocation of the DescribeDBInstances action.

    " + }, + "DBInstanceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    DBInstanceIdentifier doesn't refer to an existing DB instance.

    ", + "error":{ + "code":"DBInstanceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRole":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature associated with the AWS Identity and Access Management (IAM) role. For the list of supported feature names, see DBEngineVersion.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    Describes the state of association between the IAM role and the DB instance. The Status property returns one of the following values:

    • ACTIVE - the IAM role ARN is associated with the DB instance and can be used to access other AWS services on your behalf.

    • PENDING - the IAM role ARN is being associated with the DB instance.

    • INVALID - the IAM role ARN is associated with the DB instance, but the DB instance is unable to assume the IAM role in order to access other AWS services on your behalf.

    " + } + }, + "documentation":"

    Describes an AWS Identity and Access Management (IAM) role that is associated with a DB instance.

    " + }, + "DBInstanceRoleAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified RoleArn or FeatureName value is already associated with the DB instance.

    ", + "error":{ + "code":"DBInstanceRoleAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoleNotFoundFault":{ + "type":"structure", "members":{ }, - "documentation":"

    LogFileName does not refer to an existing DB log file.

    ", + "documentation":"

    The specified RoleArn value doesn't match the specified feature for the DB instance.

    ", + "error":{ + "code":"DBInstanceRoleNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoleQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You can't associate any more AWS Identity and Access Management (IAM) roles with the DB instance because the quota has been reached.

    ", + "error":{ + "code":"DBInstanceRoleQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBInstanceRoles":{ + "type":"list", + "member":{ + "shape":"DBInstanceRole", + "locationName":"DBInstanceRole" + } + }, + "DBInstanceStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{ + "shape":"String", + "documentation":"

    This value is currently \"read replication.\"

    " + }, + "Normal":{ + "shape":"Boolean", + "documentation":"

    Boolean value that is true if the instance is operating normally, or false if the instance is in an error state.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    Status of the DB instance. For a StatusType of read replica, the values can be replicating, replication stop point set, replication stop point reached, error, stopped, or terminated.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    Details of the error if there is an error for the instance. If the instance isn't in an error state, this value is blank.

    " + } + }, + "documentation":"

    Provides a list of status information for a DB instance.

    " + }, + "DBInstanceStatusInfoList":{ + "type":"list", + "member":{ + "shape":"DBInstanceStatusInfo", + "locationName":"DBInstanceStatusInfo" + } + }, + "DBLogFileNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    LogFileName doesn't refer to an existing DB log file.

    ", "error":{ "code":"DBLogFileNotFoundFault", "httpStatusCode":404, @@ -3503,7 +5512,7 @@ "documentation":"

    The Amazon Resource Name (ARN) for the DB parameter group.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the CreateDBParameterGroup action.

    This data type is used as a request parameter in the DeleteDBParameterGroup action, and as a response element in the DescribeDBParameterGroups action.

    ", + "documentation":"

    Contains the details of an Amazon RDS DB parameter group.

    This data type is used as a response element in the DescribeDBParameterGroups action.

    ", "wrapper":true }, "DBParameterGroupAlreadyExistsFault":{ @@ -3523,14 +5532,14 @@ "members":{ "Parameters":{ "shape":"ParametersList", - "documentation":"

    A list of Parameter values.

    " + "documentation":"

    A list of Parameter values.

    " }, "Marker":{ "shape":"String", "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBParameters action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBParameters action.

    " }, "DBParameterGroupList":{ "type":"list", @@ -3547,13 +5556,13 @@ "documentation":"

    Provides the name of the DB parameter group.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

    " + "documentation":"

    Contains the result of a successful invocation of the ModifyDBParameterGroup or ResetDBParameterGroup action.

    " }, "DBParameterGroupNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBParameterGroupName does not refer to an existing DB parameter group.

    ", + "documentation":"

    DBParameterGroupName doesn't refer to an existing DB parameter group.

    ", "error":{ "code":"DBParameterGroupNotFound", "httpStatusCode":404, @@ -3565,7 +5574,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of DB parameter groups.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of DB parameter groups.

    ", "error":{ "code":"DBParameterGroupQuotaExceeded", "httpStatusCode":400, @@ -3578,14 +5587,14 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DP parameter group.

    " + "documentation":"

    The name of the DB parameter group.

    " }, "ParameterApplyStatus":{ "shape":"String", "documentation":"

    The status of parameter updates.

    " } }, - "documentation":"

    The status of the DB parameter group.

    This data type is used as a response element in the following actions:

    " + "documentation":"

    The status of the DB parameter group.

    This data type is used as a response element in the following actions:

    • CreateDBInstance

    • CreateDBInstanceReadReplica

    • DeleteDBInstance

    • ModifyDBInstance

    • RebootDBInstance

    • RestoreDBInstanceFromDBSnapshot

    " }, "DBParameterGroupStatusList":{ "type":"list", @@ -3603,129 +5612,353 @@ }, "DBParameterGroups":{ "shape":"DBParameterGroupList", - "documentation":"

    A list of DBParameterGroup instances.

    " + "documentation":"

    A list of DBParameterGroup instances.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBParameterGroups action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBParameterGroups action.

    " }, - "DBSecurityGroup":{ + "DBProxy":{ "type":"structure", "members":{ - "OwnerId":{ + "DBProxyName":{ "shape":"String", - "documentation":"

    Provides the AWS ID of the owner of a specific DB security group.

    " + "documentation":"

    The identifier for the proxy. This name must be unique for all proxies owned by your AWS account in the specified AWS Region.

    " }, - "DBSecurityGroupName":{ + "DBProxyArn":{ "shape":"String", - "documentation":"

    Specifies the name of the DB security group.

    " + "documentation":"

    The Amazon Resource Name (ARN) for the proxy.

    " }, - "DBSecurityGroupDescription":{ - "shape":"String", - "documentation":"

    Provides the description of the DB security group.

    " + "Status":{ + "shape":"DBProxyStatus", + "documentation":"

    The current status of this proxy. A status of available means the proxy is ready to handle requests. Other values indicate that you must wait for the proxy to be ready, or take some action to resolve an issue.

    " }, - "VpcId":{ + "EngineFamily":{ "shape":"String", - "documentation":"

    Provides the VpcId of the DB security group.

    " + "documentation":"

    The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.

    " }, - "EC2SecurityGroups":{ - "shape":"EC2SecurityGroupList", - "documentation":"

    Contains a list of EC2SecurityGroup elements.

    " + "VpcSecurityGroupIds":{ + "shape":"StringList", + "documentation":"

    Provides a list of VPC security groups that the proxy belongs to.

    " }, - "IPRanges":{ - "shape":"IPRangeList", - "documentation":"

    Contains a list of IPRange elements.

    " + "VpcSubnetIds":{ + "shape":"StringList", + "documentation":"

    The EC2 subnet IDs for the proxy.

    " + }, + "Auth":{ + "shape":"UserAuthConfigInfoList", + "documentation":"

    One or more data structures specifying the authorization mechanism to connect to the associated RDS DB instance or Aurora DB cluster.

    " }, - "DBSecurityGroupArn":{ + "RoleArn":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) for the DB security group.

    " + "documentation":"

    The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access Amazon Secrets Manager.

    " + }, + "Endpoint":{ + "shape":"String", + "documentation":"

    The endpoint that you can use to connect to the proxy. You include the endpoint value in the connection string for a database client application.

    " + }, + "RequireTLS":{ + "shape":"Boolean", + "documentation":"

    Indicates whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

    " + }, + "IdleClientTimeout":{ + "shape":"Integer", + "documentation":"

    The number of seconds a connection to the proxy can have no activity before the proxy drops the client connection. The proxy keeps the underlying database connection open and puts it back into the connection pool for reuse by later connection requests.

    Default: 1800 (30 minutes)

    Constraints: 1 to 28,800

    " + }, + "DebugLogging":{ + "shape":"Boolean", + "documentation":"

    Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

    " + }, + "CreatedDate":{ + "shape":"TStamp", + "documentation":"

    The date and time when the proxy was first created.

    " + }, + "UpdatedDate":{ + "shape":"TStamp", + "documentation":"

    The date and time when the proxy was last updated.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the following actions:

    This data type is used as a response element in the DescribeDBSecurityGroups action.

    ", - "wrapper":true + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    The data structure representing a proxy managed by the RDS Proxy.

    This data type is used as a response element in the DescribeDBProxies action.

    " }, - "DBSecurityGroupAlreadyExistsFault":{ + "DBProxyAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    A DB security group with the name specified in DBSecurityGroupName already exists.

    ", + "documentation":"

    The specified proxy name must be unique for all proxies owned by your AWS account in the specified AWS Region.

    ", "error":{ - "code":"DBSecurityGroupAlreadyExists", + "code":"DBProxyTargetExistsFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "DBSecurityGroupMembership":{ - "type":"structure", - "members":{ - "DBSecurityGroupName":{ - "shape":"String", - "documentation":"

    The name of the DB security group.

    " - }, - "Status":{ - "shape":"String", - "documentation":"

    The status of the DB security group.

    " - } - }, - "documentation":"

    This data type is used as a response element in the following actions:

    " - }, - "DBSecurityGroupMembershipList":{ - "type":"list", - "member":{ - "shape":"DBSecurityGroupMembership", - "locationName":"DBSecurityGroup" - } - }, - "DBSecurityGroupMessage":{ - "type":"structure", - "members":{ - "Marker":{ - "shape":"String", - "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " - }, - "DBSecurityGroups":{ - "shape":"DBSecurityGroups", - "documentation":"

    A list of DBSecurityGroup instances.

    " - } - }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

    " - }, - "DBSecurityGroupNameList":{ + "DBProxyList":{ "type":"list", - "member":{ - "shape":"String", - "locationName":"DBSecurityGroupName" - } + "member":{"shape":"DBProxy"} }, - "DBSecurityGroupNotFoundFault":{ + "DBProxyNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBSecurityGroupName does not refer to an existing DB security group.

    ", + "documentation":"

    The specified proxy name doesn't correspond to a proxy owned by your AWS accoutn in the specified AWS Region.

    ", "error":{ - "code":"DBSecurityGroupNotFound", + "code":"DBProxyNotFoundFault", "httpStatusCode":404, "senderFault":true }, "exception":true }, - "DBSecurityGroupNotSupportedFault":{ + "DBProxyQuotaExceededFault":{ "type":"structure", "members":{ }, - "documentation":"

    A DB security group is not allowed for this action.

    ", + "documentation":"

    Your AWS account already has the maximum number of proxies in the specified AWS Region.

    ", "error":{ - "code":"DBSecurityGroupNotSupported", + "code":"DBProxyQuotaExceededFault", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "DBSecurityGroupQuotaExceededFault":{ - "type":"structure", + "DBProxyStatus":{ + "type":"string", + "enum":[ + "available", + "modifying", + "incompatible-network", + "insufficient-resource-limits", + "creating", + "deleting", + "suspended", + "suspending", + "reactivating" + ] + }, + "DBProxyTarget":{ + "type":"structure", + "members":{ + "TargetArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

    " + }, + "Endpoint":{ + "shape":"String", + "documentation":"

    The writer endpoint for the RDS DB instance or Aurora DB cluster.

    " + }, + "TrackedClusterId":{ + "shape":"String", + "documentation":"

    The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an RDS DB instance.

    " + }, + "RdsResourceId":{ + "shape":"String", + "documentation":"

    The identifier representing the target. It can be the instance identifier for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.

    " + }, + "Port":{ + "shape":"Integer", + "documentation":"

    The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

    " + }, + "Type":{ + "shape":"TargetType", + "documentation":"

    Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

    " + }, + "TargetHealth":{ + "shape":"TargetHealth", + "documentation":"

    Information about the connection health of the RDS Proxy target.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Contains the details for an RDS Proxy target. It represents an RDS DB instance or Aurora DB cluster that the proxy can connect to. One or more targets are associated with an RDS Proxy target group.

    This data type is used as a response element in the DescribeDBProxyTargets action.

    " + }, + "DBProxyTargetAlreadyRegisteredFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The proxy is already associated with the specified RDS DB instance or Aurora DB cluster.

    ", + "error":{ + "code":"DBProxyTargetAlreadyRegisteredFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBProxyTargetGroup":{ + "type":"structure", + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier for the RDS proxy associated with this target group.

    " + }, + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The identifier for the target group. This name must be unique for all target groups owned by your AWS account in the specified AWS Region.

    " + }, + "TargetGroupArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) representing the target group.

    " + }, + "IsDefault":{ + "shape":"Boolean", + "documentation":"

    Whether this target group is the first one used for connection requests by the associated proxy. Because each proxy is currently associated with a single target group, currently this setting is always true.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The current status of this target group. A status of available means the target group is correctly associated with a database. Other values indicate that you must wait for the target group to be ready, or take some action to resolve an issue.

    " + }, + "ConnectionPoolConfig":{ + "shape":"ConnectionPoolConfigurationInfo", + "documentation":"

    The settings that determine the size and behavior of the connection pool for the target group.

    " + }, + "CreatedDate":{ + "shape":"TStamp", + "documentation":"

    The date and time when the target group was first created.

    " + }, + "UpdatedDate":{ + "shape":"TStamp", + "documentation":"

    The date and time when the target group was last updated.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Represents a set of RDS DB instances, Aurora DB clusters, or both that a proxy can connect to. Currently, each target group is associated with exactly one RDS DB instance or Aurora DB cluster.

    This data type is used as a response element in the DescribeDBProxyTargetGroups action.

    " + }, + "DBProxyTargetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified target group isn't available for a proxy owned by your AWS account in the specified AWS Region.

    ", + "error":{ + "code":"DBProxyTargetGroupNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBProxyTargetNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified RDS DB instance or Aurora DB cluster isn't available for a proxy owned by your AWS account in the specified AWS Region.

    ", + "error":{ + "code":"DBProxyTargetNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroup":{ + "type":"structure", + "members":{ + "OwnerId":{ + "shape":"String", + "documentation":"

    Provides the AWS ID of the owner of a specific DB security group.

    " + }, + "DBSecurityGroupName":{ + "shape":"String", + "documentation":"

    Specifies the name of the DB security group.

    " + }, + "DBSecurityGroupDescription":{ + "shape":"String", + "documentation":"

    Provides the description of the DB security group.

    " + }, + "VpcId":{ + "shape":"String", + "documentation":"

    Provides the VpcId of the DB security group.

    " + }, + "EC2SecurityGroups":{ + "shape":"EC2SecurityGroupList", + "documentation":"

    Contains a list of EC2SecurityGroup elements.

    " + }, + "IPRanges":{ + "shape":"IPRangeList", + "documentation":"

    Contains a list of IPRange elements.

    " + }, + "DBSecurityGroupArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the DB security group.

    " + } + }, + "documentation":"

    Contains the details for an Amazon RDS DB security group.

    This data type is used as a response element in the DescribeDBSecurityGroups action.

    ", + "wrapper":true + }, + "DBSecurityGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A DB security group with the name specified in DBSecurityGroupName already exists.

    ", + "error":{ + "code":"DBSecurityGroupAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroupMembership":{ + "type":"structure", + "members":{ + "DBSecurityGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB security group.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The status of the DB security group.

    " + } + }, + "documentation":"

    This data type is used as a response element in the following actions:

    • ModifyDBInstance

    • RebootDBInstance

    • RestoreDBInstanceFromDBSnapshot

    • RestoreDBInstanceToPointInTime

    " + }, + "DBSecurityGroupMembershipList":{ + "type":"list", + "member":{ + "shape":"DBSecurityGroupMembership", + "locationName":"DBSecurityGroup" + } + }, + "DBSecurityGroupMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "DBSecurityGroups":{ + "shape":"DBSecurityGroups", + "documentation":"

    A list of DBSecurityGroup instances.

    " + } + }, + "documentation":"

    Contains the result of a successful invocation of the DescribeDBSecurityGroups action.

    " + }, + "DBSecurityGroupNameList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"DBSecurityGroupName" + } + }, + "DBSecurityGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    DBSecurityGroupName doesn't refer to an existing DB security group.

    ", + "error":{ + "code":"DBSecurityGroupNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroupNotSupportedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A DB security group isn't allowed for this action.

    ", + "error":{ + "code":"DBSecurityGroupNotSupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DBSecurityGroupQuotaExceededFault":{ + "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of DB security groups.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of DB security groups.

    ", "error":{ "code":"QuotaExceeded.DBSecurityGroup", "httpStatusCode":400, @@ -3761,7 +5994,7 @@ }, "AllocatedStorage":{ "shape":"Integer", - "documentation":"

    Specifies the allocated storage size in gigabytes (GB).

    " + "documentation":"

    Specifies the allocated storage size in gibibytes (GiB).

    " }, "Status":{ "shape":"String", @@ -3813,11 +6046,11 @@ }, "SourceRegion":{ "shape":"String", - "documentation":"

    The region that the DB snapshot was created in or copied from.

    " + "documentation":"

    The AWS Region that the DB snapshot was created in or copied from.

    " }, "SourceDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The DB snapshot Arn that the DB snapshot was copied from. It only has value in case of cross customer or cross region copy.

    " + "documentation":"

    The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied from. It only has value in case of cross-customer or cross-region copy.

    " }, "StorageType":{ "shape":"String", @@ -3833,7 +6066,7 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

    If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.

    " + "documentation":"

    If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.

    " }, "DBSnapshotArn":{ "shape":"String", @@ -3842,16 +6075,28 @@ "Timezone":{ "shape":"String", "documentation":"

    The time zone of the DB snapshot. In most cases, the Timezone element is empty. Timezone content appears only for snapshots taken from Microsoft SQL Server DB instances that were created with a time zone specified.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance when the DB snapshot was created.

    " + }, + "DbiResourceId":{ + "shape":"String", + "documentation":"

    The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the following actions:

    This data type is used as a response element in the DescribeDBSnapshots action.

    ", + "documentation":"

    Contains the details of an Amazon RDS DB snapshot.

    This data type is used as a response element in the DescribeDBSnapshots action.

    ", "wrapper":true }, "DBSnapshotAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBSnapshotIdentifier is already used by an existing snapshot.

    ", + "documentation":"

    DBSnapshotIdentifier is already used by an existing snapshot.

    ", "error":{ "code":"DBSnapshotAlreadyExists", "httpStatusCode":400, @@ -3864,14 +6109,14 @@ "members":{ "AttributeName":{ "shape":"String", - "documentation":"

    The name of the manual DB snapshot attribute.

    The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

    " + "documentation":"

    The name of the manual DB snapshot attribute.

    The attribute named restore refers to the list of AWS accounts that have permission to copy or restore the manual DB cluster snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

    " }, "AttributeValues":{ "shape":"AttributeValueList", "documentation":"

    The value or values for the manual DB snapshot attribute.

    If the AttributeName field is set to restore, then this element returns a list of IDs of the AWS accounts that are authorized to copy or restore the manual DB snapshot. If a value of all is in the list, then the manual DB snapshot is public and available for any AWS account to copy or restore.

    " } }, - "documentation":"

    Contains the name and values of a manual DB snapshot attribute

    Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API.

    ", + "documentation":"

    Contains the name and values of a manual DB snapshot attribute

    Manual DB snapshot attributes are used to authorize other AWS accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API.

    ", "wrapper":true }, "DBSnapshotAttributeList":{ @@ -3893,7 +6138,7 @@ "documentation":"

    The list of attributes and values for the manual DB snapshot.

    " } }, - "documentation":"

    Contains the results of a successful call to the DescribeDBSnapshotAttributes API action.

    Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

    ", + "documentation":"

    Contains the results of a successful call to the DescribeDBSnapshotAttributes API action.

    Manual DB snapshot attributes are used to authorize other AWS accounts to copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute API action.

    ", "wrapper":true }, "DBSnapshotList":{ @@ -3912,16 +6157,16 @@ }, "DBSnapshots":{ "shape":"DBSnapshotList", - "documentation":"

    A list of DBSnapshot instances.

    " + "documentation":"

    A list of DBSnapshot instances.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBSnapshots action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBSnapshots action.

    " }, "DBSnapshotNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBSnapshotIdentifier does not refer to an existing DB snapshot.

    ", + "documentation":"

    DBSnapshotIdentifier doesn't refer to an existing DB snapshot.

    ", "error":{ "code":"DBSnapshotNotFound", "httpStatusCode":404, @@ -3950,21 +6195,21 @@ }, "Subnets":{ "shape":"SubnetList", - "documentation":"

    Contains a list of Subnet elements.

    " + "documentation":"

    Contains a list of Subnet elements.

    " }, "DBSubnetGroupArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) for the DB subnet group.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the following actions:

    This data type is used as a response element in the DescribeDBSubnetGroups action.

    ", + "documentation":"

    Contains the details of an Amazon RDS DB subnet group.

    This data type is used as a response element in the DescribeDBSubnetGroups action.

    ", "wrapper":true }, "DBSubnetGroupAlreadyExistsFault":{ "type":"structure", "members":{ }, - "documentation":"

    DBSubnetGroupName is already used by an existing DB subnet group.

    ", + "documentation":"

    DBSubnetGroupName is already used by an existing DB subnet group.

    ", "error":{ "code":"DBSubnetGroupAlreadyExists", "httpStatusCode":400, @@ -3993,16 +6238,16 @@ }, "DBSubnetGroups":{ "shape":"DBSubnetGroups", - "documentation":"

    A list of DBSubnetGroup instances.

    " + "documentation":"

    A list of DBSubnetGroup instances.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeDBSubnetGroups action.

    " }, "DBSubnetGroupNotAllowedFault":{ "type":"structure", "members":{ }, - "documentation":"

    Indicates that the DBSubnetGroup should not be specified while creating read replicas that lie in the same region as the source instance.

    ", + "documentation":"

    The DBSubnetGroup shouldn't be specified while creating read replicas that lie in the same region as the source instance.

    ", "error":{ "code":"DBSubnetGroupNotAllowedFault", "httpStatusCode":400, @@ -4014,7 +6259,7 @@ "type":"structure", "members":{ }, - "documentation":"

    DBSubnetGroupName does not refer to an existing DB subnet group.

    ", + "documentation":"

    DBSubnetGroupName doesn't refer to an existing DB subnet group.

    ", "error":{ "code":"DBSubnetGroupNotFoundFault", "httpStatusCode":404, @@ -4026,7 +6271,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of DB subnet groups.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of DB subnet groups.

    ", "error":{ "code":"DBSubnetGroupQuotaExceeded", "httpStatusCode":400, @@ -4045,7 +6290,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of subnets in a DB subnet groups.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of subnets in a DB subnet groups.

    ", "error":{ "code":"DBSubnetQuotaExceededFault", "httpStatusCode":400, @@ -4057,7 +6302,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB upgrade failed because a resource the DB depends on could not be modified.

    ", + "documentation":"

    The DB upgrade failed because a resource the DB depends on can't be modified.

    ", "error":{ "code":"DBUpgradeDependencyFailure", "httpStatusCode":400, @@ -4065,21 +6310,47 @@ }, "exception":true }, + "DeleteCustomAvailabilityZoneMessage":{ + "type":"structure", + "required":["CustomAvailabilityZoneId"], + "members":{ + "CustomAvailabilityZoneId":{ + "shape":"String", + "documentation":"

    The custom AZ identifier.

    " + } + } + }, + "DeleteCustomAvailabilityZoneResult":{ + "type":"structure", + "members":{ + "CustomAvailabilityZone":{"shape":"CustomAvailabilityZone"} + } + }, + "DeleteDBClusterEndpointMessage":{ + "type":"structure", + "required":["DBClusterEndpointIdentifier"], + "members":{ + "DBClusterEndpointIdentifier":{ + "shape":"String", + "documentation":"

    The identifier associated with the custom endpoint. This parameter is stored as a lowercase string.

    " + } + } + }, "DeleteDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The DB cluster identifier for the DB cluster to be deleted. This parameter isn't case-sensitive.

    Constraints:

    • Must match an existing DBClusterIdentifier.

    " }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

    Determines whether a final DB cluster snapshot is created before the DB cluster is deleted. If true is specified, no DB cluster snapshot is created. If false is specified, a DB cluster snapshot is created before the DB cluster is deleted.

    You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is false.

    Default: false

    " + "documentation":"

    A value that indicates whether to skip the creation of a final DB cluster snapshot before the DB cluster is deleted. If skip is specified, no DB cluster snapshot is created. If skip isn't specified, a DB cluster snapshot is created before the DB cluster is deleted. By default, skip isn't specified, and the DB cluster snapshot is created. By default, this parameter is disabled.

    You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot is disabled.

    " }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is set to false.

    Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The DB cluster snapshot identifier of the new DB cluster snapshot created when SkipFinalSnapshot is disabled.

    Specifying this parameter and also skipping the creation of a final DB cluster snapshot with the SkipFinalShapshot parameter results in an error.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    " } }, "documentation":"

    " @@ -4090,7 +6361,7 @@ "members":{ "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must be the name of an existing DB cluster parameter group.

    • You cannot delete a default DB cluster parameter group.

    • Cannot be associated with any DB clusters.

    " + "documentation":"

    The name of the DB cluster parameter group.

    Constraints:

    • Must be the name of an existing DB cluster parameter group.

    • You can't delete a default DB cluster parameter group.

    • Can't be associated with any DB clusters.

    " } }, "documentation":"

    " @@ -4118,21 +6389,42 @@ "DBClusterSnapshot":{"shape":"DBClusterSnapshot"} } }, + "DeleteDBInstanceAutomatedBackupMessage":{ + "type":"structure", + "required":["DbiResourceId"], + "members":{ + "DbiResourceId":{ + "shape":"String", + "documentation":"

    The identifier for the source DB instance, which can't be changed and which is unique to an AWS Region.

    " + } + }, + "documentation":"

    Parameter input for the DeleteDBInstanceAutomatedBackup operation.

    " + }, + "DeleteDBInstanceAutomatedBackupResult":{ + "type":"structure", + "members":{ + "DBInstanceAutomatedBackup":{"shape":"DBInstanceAutomatedBackup"} + } + }, "DeleteDBInstanceMessage":{ "type":"structure", "required":["DBInstanceIdentifier"], "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The DB instance identifier for the DB instance to be deleted. This parameter isn't case-sensitive.

    Constraints:

    • Must match the name of an existing DB instance.

    " }, "SkipFinalSnapshot":{ "shape":"Boolean", - "documentation":"

    Determines whether a final DB snapshot is created before the DB instance is deleted. If true is specified, no DBSnapshot is created. If false is specified, a DB snapshot is created before the DB instance is deleted.

    Note that when a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when the SkipFinalSnapshot parameter is set to \"true\".

    Specify true when deleting a Read Replica.

    The FinalDBSnapshotIdentifier parameter must be specified if SkipFinalSnapshot is false.

    Default: false

    " + "documentation":"

    A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted. If skip is specified, no DB snapshot is created. If skip isn't specified, a DB snapshot is created before the DB instance is deleted. By default, skip isn't specified, and the DB snapshot is created.

    When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified.

    Specify skip when deleting a read replica.

    The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.

    " }, "FinalDBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The DBSnapshotIdentifier of the new DBSnapshot created when SkipFinalSnapshot is set to false.

    Specifying this parameter and also setting the SkipFinalShapshot parameter to true results in an error.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    • Cannot be specified when deleting a Read Replica.

    " + "documentation":"

    The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot parameter is disabled.

    Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

    Constraints:

    • Must be 1 to 255 letters or numbers.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    • Can't be specified when deleting a read replica.

    " + }, + "DeleteAutomatedBackups":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to remove automated backups immediately after the DB instance is deleted. This parameter isn't case-sensitive. The default is to remove automated backups immediately after the DB instance is deleted.

    " } }, "documentation":"

    " @@ -4149,18 +6441,37 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be the name of an existing DB parameter group

    • You cannot delete a default DB parameter group

    • Cannot be associated with any DB instances

    " + "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be the name of an existing DB parameter group

    • You can't delete a default DB parameter group

    • Can't be associated with any DB instances

    " } }, "documentation":"

    " }, + "DeleteDBProxyRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The name of the DB proxy to delete.

    " + } + } + }, + "DeleteDBProxyResponse":{ + "type":"structure", + "members":{ + "DBProxy":{ + "shape":"DBProxy", + "documentation":"

    The data structure representing the details of the DB proxy that you delete.

    " + } + } + }, "DeleteDBSecurityGroupMessage":{ "type":"structure", "required":["DBSecurityGroupName"], "members":{ "DBSecurityGroupName":{ "shape":"String", - "documentation":"

    The name of the DB security group to delete.

    You cannot delete the default DB security group.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    • Must not be \"Default\"

    " + "documentation":"

    The name of the DB security group to delete.

    You can't delete the default DB security group.

    Constraints:

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    • Must not be \"Default\"

    " } }, "documentation":"

    " @@ -4171,7 +6482,7 @@ "members":{ "DBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The DBSnapshot identifier.

    Constraints: Must be the name of an existing DB snapshot in the available state.

    " + "documentation":"

    The DB snapshot identifier.

    Constraints: Must be the name of an existing DB snapshot in the available state.

    " } }, "documentation":"

    " @@ -4188,7 +6499,7 @@ "members":{ "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The name of the database subnet group to delete.

    You cannot delete the default subnet group.

    Constraints:

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The name of the database subnet group to delete.

    You can't delete the default subnet group.

    Constraints:

    Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

    Example: mySubnetgroup

    " } }, "documentation":"

    " @@ -4210,17 +6521,70 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "DeleteGlobalClusterMessage":{ + "type":"structure", + "required":["GlobalClusterIdentifier"], + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The cluster identifier of the global database cluster being deleted.

    " + } + } + }, + "DeleteGlobalClusterResult":{ + "type":"structure", + "members":{ + "GlobalCluster":{"shape":"GlobalCluster"} + } + }, + "DeleteInstallationMediaMessage":{ + "type":"structure", + "required":["InstallationMediaId"], + "members":{ + "InstallationMediaId":{ + "shape":"String", + "documentation":"

    The installation medium ID.

    " + } + } + }, "DeleteOptionGroupMessage":{ "type":"structure", "required":["OptionGroupName"], "members":{ "OptionGroupName":{ "shape":"String", - "documentation":"

    The name of the option group to be deleted.

    You cannot delete default option groups.

    " + "documentation":"

    The name of the option group to be deleted.

    You can't delete default option groups.

    " } }, "documentation":"

    " }, + "DeregisterDBProxyTargetsRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

    " + }, + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxyTargetGroup.

    " + }, + "DBInstanceIdentifiers":{ + "shape":"StringList", + "documentation":"

    One or more DB instance identifiers.

    " + }, + "DBClusterIdentifiers":{ + "shape":"StringList", + "documentation":"

    One or more DB cluster identifiers.

    " + } + } + }, + "DeregisterDBProxyTargetsResponse":{ + "type":"structure", + "members":{ + } + }, "DescribeAccountAttributesMessage":{ "type":"structure", "members":{ @@ -4232,37 +6596,110 @@ "members":{ "CertificateIdentifier":{ "shape":"String", - "documentation":"

    The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The user-supplied certificate identifier. If this parameter is specified, information for only the identified certificate is returned. This parameter isn't case-sensitive.

    Constraints:

    • Must match an existing CertificateIdentifier.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + "documentation":"

    An optional pagination token provided by a previous DescribeCertificates request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " } }, "documentation":"

    " }, - "DescribeDBClusterParameterGroupsMessage":{ + "DescribeCustomAvailabilityZonesMessage":{ "type":"structure", "members":{ - "DBClusterParameterGroupName":{ + "CustomAvailabilityZoneId":{ "shape":"String", - "documentation":"

    The name of a specific DB cluster parameter group to return details for.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The custom AZ identifier. If this parameter is specified, information from only the specific custom AZ is returned.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    A filter that specifies one or more custom AZs to describe.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeCustomAvailabilityZones request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, + "DescribeDBClusterBacktracksMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the DB cluster to be described. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " + }, + "BacktrackIdentifier":{ + "shape":"String", + "documentation":"

    If specified, this value is the backtrack identifier of the backtrack to be described.

    Constraints:

    Example: 123e4567-e89b-12d3-a456-426655440000

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A filter that specifies one or more DB clusters to describe. Supported filters include the following:

    • db-cluster-backtrack-id - Accepts backtrack identifiers. The results list includes information about only the backtracks identified by these identifiers.

    • db-cluster-backtrack-status - Accepts any of the following backtrack status values:

      • applying

      • completed

      • failed

      • pending

      The results list includes information about only the backtracks identified by these values.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeDBClusterBacktracks request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + }, + "documentation":"

    " + }, + "DescribeDBClusterEndpointsMessage":{ + "type":"structure", + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the DB cluster associated with the endpoint. This parameter is stored as a lowercase string.

    " + }, + "DBClusterEndpointIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the endpoint to describe. This parameter is stored as a lowercase string.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A set of name-value pairs that define which endpoints to include in the output. The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,.... Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type, db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status filter can be one or more of: available, creating, deleting, modifying.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeDBClusterEndpoints request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, + "DescribeDBClusterParameterGroupsMessage":{ + "type":"structure", + "members":{ + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of a specific DB cluster parameter group to return details for.

    Constraints:

    • If supplied, must match the name of an existing DBClusterParameterGroup.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    This parameter isn't currently supported.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4277,7 +6714,7 @@ "members":{ "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of a specific DB cluster parameter group to return parameter details for.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of a specific DB cluster parameter group to return parameter details for.

    Constraints:

    • If supplied, must match the name of an existing DBClusterParameterGroup.

    " }, "Source":{ "shape":"String", @@ -4285,11 +6722,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4320,23 +6757,23 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter cannot be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The ID of the DB cluster to retrieve the list of DB cluster snapshots for. This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier parameter. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match the identifier of an existing DBCluster.

    " }, "DBClusterSnapshotIdentifier":{ "shape":"String", - "documentation":"

    A specific DB cluster snapshot identifier to describe. This parameter cannot be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

    " + "documentation":"

    A specific DB cluster snapshot identifier to describe. This parameter can't be used in conjunction with the DBClusterIdentifier parameter. This value is stored as a lowercase string.

    Constraints:

    • If supplied, must match the identifier of an existing DBClusterSnapshot.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

    " }, "SnapshotType":{ "shape":"String", - "documentation":"

    The type of DB cluster snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB cluster snapshots that have been taken by my AWS account.

    • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

    • public - Return all DB cluster snapshots that have been marked as public.

    If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by setting the IncludeShared parameter to true. You can include public DB cluster snapshots with these results by setting the IncludePublic parameter to true.

    The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

    " + "documentation":"

    The type of DB cluster snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB cluster snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB cluster snapshots that have been taken by my AWS account.

    • shared - Return all manual DB cluster snapshots that have been shared to my AWS account.

    • public - Return all DB cluster snapshots that have been marked as public.

    If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared parameter. You can include public DB cluster snapshots with these results by enabling the IncludePublic parameter.

    The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    A filter that specifies one or more DB cluster snapshots to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs).

    • db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

    • snapshot-type - Accepts types of DB cluster snapshots.

    • engine - Accepts names of database engines.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4344,11 +6781,11 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

    Set this value to true to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false. The default is false.

    You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

    " + "documentation":"

    A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an AWS account permission to restore a manual DB cluster snapshot from another AWS account by the ModifyDBClusterSnapshotAttribute API action.

    " }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

    Set this value to true to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to false. The default is false. The default is false.

    You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

    " + "documentation":"

    A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

    You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

    " } }, "documentation":"

    " @@ -4358,19 +6795,23 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match an existing DBClusterIdentifier.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    A filter that specifies one or more DB clusters to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + "documentation":"

    An optional pagination token provided by a previous DescribeDBClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "IncludeShared":{ + "shape":"Boolean", + "documentation":"

    Optional Boolean parameter that specifies whether the output includes information about clusters shared from other AWS accounts.

    " } }, "documentation":"

    " @@ -4388,15 +6829,15 @@ }, "DBParameterGroupFamily":{ "shape":"String", - "documentation":"

    The name of a specific DB parameter group family to return details for.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of a specific DB parameter group family to return details for.

    Constraints:

    • If supplied, must match an existing DBParameterGroupFamily.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    Not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4404,32 +6845,62 @@ }, "DefaultOnly":{ "shape":"Boolean", - "documentation":"

    Indicates that only the default version of the specified engine or engine and major version combination is returned.

    " + "documentation":"

    A value that indicates whether only the default version of the specified engine or engine and major version combination is returned.

    " }, "ListSupportedCharacterSets":{ "shape":"BooleanOptional", - "documentation":"

    If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

    " + "documentation":"

    A value that indicates whether to list the supported character sets for each engine version.

    If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

    " }, "ListSupportedTimezones":{ "shape":"BooleanOptional", - "documentation":"

    If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

    " + "documentation":"

    A value that indicates whether to list the supported time zones for each engine version.

    If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

    " + }, + "IncludeAll":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to include engine versions that aren't available in the list. The default is to list only available engine versions.

    " } } }, + "DescribeDBInstanceAutomatedBackupsMessage":{ + "type":"structure", + "members":{ + "DbiResourceId":{ + "shape":"String", + "documentation":"

    The resource ID of the DB instance that is the source of the automated backup. This parameter isn't case-sensitive.

    " + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    (Optional) The user-supplied instance identifier. If this parameter is specified, it must match the identifier of an existing DB instance. It returns information from the specific DB instance' automated backup. This parameter isn't case-sensitive.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A filter that specifies which resources to return based on status.

    Supported filters are the following:

    • status

      • active - automated backups for current instances

      • retained - automated backups for deleted instances

      • creating - automated backups that are waiting for the first automated snapshot to be available

    • db-instance-id - Accepts DB instance identifiers and Amazon Resource Names (ARNs) for DB instances. The results list includes only information about the DB instance automated backupss identified by these ARNs.

    • dbi-resource-id - Accepts DB instance resource identifiers and DB Amazon Resource Names (ARNs) for DB instances. The results list includes only information about the DB instance resources identified by these ARNs.

    Returns all resources by default. The status for each resource is specified in the response.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    The pagination token provided in the previous request. If this parameter is specified the response includes only records beyond the marker, up to MaxRecords.

    " + } + }, + "documentation":"

    Parameter input for DescribeDBInstanceAutomatedBackups.

    " + }, "DescribeDBInstancesMessage":{ "type":"structure", "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The user-supplied instance identifier. If this parameter is specified, information from only the specific DB instance is returned. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match the identifier of an existing DBInstance.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    A filter that specifies one or more DB instances to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB instances associated with the DB clusters identified by these ARNs.

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include information about the DB instances identified by these ARNs.

    • dbi-resource-id - Accepts DB instance resource identifiers. The results list will only include information about the DB instances identified by these DB instance resource identifiers.

    • domain - Accepts Active Directory directory IDs. The results list will only include information about the DB instances associated with these domains.

    • engine - Accepts engine names. The results list will only include information about the DB instances for these engines.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4454,7 +6925,7 @@ "documentation":"

    The size, in bytes, of the log file for the specified DB instance.

    " } }, - "documentation":"

    This data type is used as a response element to DescribeDBLogFiles.

    " + "documentation":"

    This data type is used as a response element to DescribeDBLogFiles.

    " }, "DescribeDBLogFilesList":{ "type":"list", @@ -4469,7 +6940,7 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The customer-assigned name of the DB instance that contains the log files you want to list.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The customer-assigned name of the DB instance that contains the log files you want to list.

    Constraints:

    • Must match the identifier of an existing DBInstance.

    " }, "FilenameContains":{ "shape":"String", @@ -4485,11 +6956,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    " + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    " }, "Marker":{ "shape":"String", @@ -4507,25 +6978,25 @@ }, "Marker":{ "shape":"String", - "documentation":"

    A pagination token that can be used in a subsequent DescribeDBLogFiles request.

    " + "documentation":"

    A pagination token that can be used in a later DescribeDBLogFiles request.

    " } }, - "documentation":"

    The response from a call to DescribeDBLogFiles.

    " + "documentation":"

    The response from a call to DescribeDBLogFiles.

    " }, "DescribeDBParameterGroupsMessage":{ "type":"structure", "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of a specific DB parameter group to return details for.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of a specific DB parameter group to return details for.

    Constraints:

    • If supplied, must match the name of an existing DBClusterParameterGroup.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4540,7 +7011,7 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of a specific DB parameter group to return details for.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of a specific DB parameter group to return details for.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

    " }, "Source":{ "shape":"String", @@ -4548,11 +7019,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4560,6 +7031,118 @@ } } }, + "DescribeDBProxiesRequest":{ + "type":"structure", + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The name of the DB proxy.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    This parameter is not currently supported.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + } + } + }, + "DescribeDBProxiesResponse":{ + "type":"structure", + "members":{ + "DBProxies":{ + "shape":"DBProxyList", + "documentation":"

    A return value representing an arbitrary number of DBProxy data structures.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, + "DescribeDBProxyTargetGroupsRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxy associated with the target group.

    " + }, + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxyTargetGroup to describe.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    This parameter is not currently supported.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + } + } + }, + "DescribeDBProxyTargetGroupsResponse":{ + "type":"structure", + "members":{ + "TargetGroups":{ + "shape":"TargetGroupList", + "documentation":"

    An arbitrary number of DBProxyTargetGroup objects, containing details of the corresponding target groups.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, + "DescribeDBProxyTargetsRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxyTarget to describe.

    " + }, + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxyTargetGroup to describe.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    This parameter is not currently supported.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + } + } + }, + "DescribeDBProxyTargetsResponse":{ + "type":"structure", + "members":{ + "Targets":{ + "shape":"TargetList", + "documentation":"

    An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, "DescribeDBSecurityGroupsMessage":{ "type":"structure", "members":{ @@ -4569,11 +7152,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4604,23 +7187,23 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The ID of the DB instance to retrieve the list of DB snapshots for. This parameter cannot be used in conjunction with DBSnapshotIdentifier. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The ID of the DB instance to retrieve the list of DB snapshots for. This parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match the identifier of an existing DBInstance.

    " }, "DBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    A specific DB snapshot identifier to describe. This parameter cannot be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string.

    Constraints:

    • Must be 1 to 255 alphanumeric characters.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

    " + "documentation":"

    A specific DB snapshot identifier to describe. This parameter can't be used in conjunction with DBInstanceIdentifier. This value is stored as a lowercase string.

    Constraints:

    • If supplied, must match the identifier of an existing DBSnapshot.

    • If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

    " }, "SnapshotType":{ "shape":"String", - "documentation":"

    The type of snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB snapshots that have been taken by my AWS account.

    • shared - Return all manual DB snapshots that have been shared to my AWS account.

    • public - Return all DB snapshots that have been marked as public.

    If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by setting the IncludeShared parameter to true. You can include public snapshots with these results by setting the IncludePublic parameter to true.

    The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

    " + "documentation":"

    The type of snapshots to be returned. You can specify one of the following values:

    • automated - Return all DB snapshots that have been automatically taken by Amazon RDS for my AWS account.

    • manual - Return all DB snapshots that have been taken by my AWS account.

    • shared - Return all manual DB snapshots that have been shared to my AWS account.

    • public - Return all DB snapshots that have been marked as public.

    • awsbackup - Return the DB snapshots managed by the AWS Backup service.

      For information about AWS Backup, see the AWS Backup Developer Guide.

      The awsbackup type does not apply to Aurora.

    If you don't specify a SnapshotType value, then both automated and manual snapshots are returned. Shared and public DB snapshots are not included in the returned results by default. You can include shared snapshots with these results by enabling the IncludeShared parameter. You can include public snapshots with these results by enabling the IncludePublic parameter.

    The IncludeShared and IncludePublic parameters don't apply for SnapshotType values of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to public.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    A filter that specifies one or more DB snapshots to describe.

    Supported filters:

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs).

    • db-snapshot-id - Accepts DB snapshot identifiers.

    • dbi-resource-id - Accepts identifiers of source DB instances.

    • snapshot-type - Accepts types of DB snapshots.

    • engine - Accepts names of database engines.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4628,11 +7211,15 @@ }, "IncludeShared":{ "shape":"Boolean", - "documentation":"

    Set this value to true to include shared manual DB snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, otherwise set this value to false. The default is false.

    You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

    " + "documentation":"

    A value that indicates whether to include shared manual DB cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore. By default, these snapshots are not included.

    You can give an AWS account permission to restore a manual DB snapshot from another AWS account by using the ModifyDBSnapshotAttribute API action.

    " }, "IncludePublic":{ "shape":"Boolean", - "documentation":"

    Set this value to true to include manual DB snapshots that are public and can be copied or restored by any AWS account, otherwise set this value to false. The default is false.

    You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

    " + "documentation":"

    A value that indicates whether to include manual DB cluster snapshots that are public and can be copied or restored by any AWS account. By default, the public snapshots are not included.

    You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

    " + }, + "DbiResourceId":{ + "shape":"String", + "documentation":"

    A specific DB resource ID to describe.

    " } }, "documentation":"

    " @@ -4646,11 +7233,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4669,11 +7256,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4698,11 +7285,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    Not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4722,11 +7309,11 @@ "members":{ "SourceType":{ "shape":"String", - "documentation":"

    The type of source that will be generating the events.

    Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

    " + "documentation":"

    The type of source that is generating the events.

    Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " } }, "documentation":"

    " @@ -4740,11 +7327,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4758,7 +7345,7 @@ "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.

    Constraints:

    • If SourceIdentifier is supplied, SourceType must also be provided.

    • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

    • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

    • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

    • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " + "documentation":"

    The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.

    Constraints:

    • If SourceIdentifier is supplied, SourceType must also be provided.

    • If the source type is DBInstance, then a DBInstanceIdentifier must be supplied.

    • If the source type is DBSecurityGroup, a DBSecurityGroupName must be supplied.

    • If the source type is DBParameterGroup, a DBParameterGroupName must be supplied.

    • If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.

    • Can't end with a hyphen or contain two consecutive hyphens.

    " }, "SourceType":{ "shape":"SourceType", @@ -4782,11 +7369,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4795,13 +7382,80 @@ }, "documentation":"

    " }, + "DescribeExportTasksMessage":{ + "type":"structure", + "members":{ + "ExportTaskIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the snapshot export task to be described.

    " + }, + "SourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to include in the output.

    Supported filters include the following:

    • export-task-identifier - An identifier for the snapshot export task.

    • s3-bucket - The Amazon S3 bucket the snapshot is exported to.

    • source-arn - The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3

    • status - The status of the export task.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeExportTasks request. If you specify this parameter, the response includes only records beyond the marker, up to the value specified by the MaxRecords parameter.

    " + }, + "MaxRecords":{ + "shape":"MaxRecords", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified value, a pagination token called a marker is included in the response. You can use the marker in a later DescribeExportTasks request to retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + } + } + }, + "DescribeGlobalClustersMessage":{ + "type":"structure", + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

    Constraints:

    • If supplied, must match an existing DBClusterIdentifier.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A filter that specifies one or more global DB clusters to describe.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include information about the DB clusters identified by these ARNs.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, + "DescribeInstallationMediaMessage":{ + "type":"structure", + "members":{ + "InstallationMediaId":{ + "shape":"String", + "documentation":"

    The installation medium ID.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A filter that specifies one or more installation media to describe. Supported filters include the following:

    • custom-availability-zone-id - Accepts custom Availability Zone (AZ) identifiers. The results list includes information about only the custom AZs identified by these identifiers.

    • engine - Accepts database engines. The results list includes information about only the database engines identified by these identifiers.

      For more information about the valid engines for installation media, see ImportInstallationMedia.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    An optional pagination token provided by a previous DescribeInstallationMedia request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + } + } + }, "DescribeOptionGroupOptionsMessage":{ "type":"structure", "required":["EngineName"], "members":{ "EngineName":{ "shape":"String", - "documentation":"

    A required parameter. Options available for the given engine name will be described.

    " + "documentation":"

    A required parameter. Options available for the given engine name are described.

    " }, "MajorEngineVersion":{ "shape":"String", @@ -4809,11 +7463,11 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4827,11 +7481,11 @@ "members":{ "OptionGroupName":{ "shape":"String", - "documentation":"

    The name of the option group to describe. Cannot be supplied together with EngineName or MajorEngineVersion.

    " + "documentation":"

    The name of the option group to describe. Can't be supplied together with EngineName or MajorEngineVersion.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "Marker":{ "shape":"String", @@ -4839,7 +7493,7 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "EngineName":{ "shape":"String", @@ -4872,17 +7526,21 @@ "shape":"String", "documentation":"

    The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

    " }, + "AvailabilityZoneGroup":{ + "shape":"String", + "documentation":"

    The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

    Omit this parameter to show the available offerings in the specified AWS Region.

    " + }, "Vpc":{ "shape":"BooleanOptional", - "documentation":"

    The VPC filter value. Specify this parameter to show only the available VPC or non-VPC offerings.

    " + "documentation":"

    A value that indicates whether to show only VPC or non-VPC offerings.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4900,7 +7558,7 @@ }, "Filters":{ "shape":"FilterList", - "documentation":"

    A filter that specifies one or more resources to return pending maintenance actions for.

    Supported filters:

    • db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB instances identified by these ARNs.

    " + "documentation":"

    A filter that specifies one or more resources to return pending maintenance actions for.

    Supported filters:

    • db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon Resource Names (ARNs). The results list will only include pending maintenance actions for the DB clusters identified by these ARNs.

    • db-instance-id - Accepts DB instance identifiers and DB instance ARNs. The results list will only include pending maintenance actions for the DB instances identified by these ARNs.

    " }, "Marker":{ "shape":"String", @@ -4908,7 +7566,7 @@ }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so that you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " } }, "documentation":"

    " @@ -4942,15 +7600,19 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    The Multi-AZ filter value. Specify this parameter to show only those reservations matching the specified Multi-AZ parameter.

    " + "documentation":"

    A value that indicates whether to show only those reservations that support Multi-AZ.

    " + }, + "LeaseId":{ + "shape":"String", + "documentation":"

    The lease identifier filter value. Specify this parameter to show only the reservation that matches the specified lease ID.

    AWS Support might request the lease ID for an issue related to a reserved DB instance.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -4976,7 +7638,7 @@ }, "ProductDescription":{ "shape":"String", - "documentation":"

    Product description filter value. Specify this parameter to show only the available offerings matching the specified product description.

    " + "documentation":"

    Product description filter value. Specify this parameter to show only the available offerings that contain the specified product description.

    The results show offerings that partially match the filter value.

    " }, "OfferingType":{ "shape":"String", @@ -4984,15 +7646,15 @@ }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    The Multi-AZ filter value. Specify this parameter to show only the available offerings matching the specified Multi-AZ parameter.

    " + "documentation":"

    A value that indicates whether to show only those reservations that support Multi-AZ.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so that the following results can be retrieved.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " + "documentation":"

    The maximum number of records to include in the response. If more than the MaxRecords value is available, a pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", @@ -5006,23 +7668,40 @@ "members":{ "RegionName":{ "shape":"String", - "documentation":"

    The source region name. For example, us-east-1.

    Constraints:

    • Must specify a valid AWS Region name.

    " + "documentation":"

    The source AWS Region name. For example, us-east-1.

    Constraints:

    • Must specify a valid AWS Region name.

    " }, "MaxRecords":{ "shape":"IntegerOptional", - "documentation":"

    The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called 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 pagination token called a marker is included in the response so you can retrieve the remaining results.

    Default: 100

    Constraints: Minimum 20, maximum 100.

    " }, "Marker":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + "documentation":"

    An optional pagination token provided by a previous DescribeSourceRegions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " }, "Filters":{ "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    This parameter isn't currently supported.

    " } }, "documentation":"

    " }, + "DescribeValidDBInstanceModificationsMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The customer identifier or the ARN of your DB instance.

    " + } + }, + "documentation":"

    " + }, + "DescribeValidDBInstanceModificationsResult":{ + "type":"structure", + "members":{ + "ValidDBInstanceModificationsMessage":{"shape":"ValidDBInstanceModificationsMessage"} + } + }, "DomainMembership":{ "type":"structure", "members":{ @@ -5032,7 +7711,7 @@ }, "Status":{ "shape":"String", - "documentation":"

    The status of the DB instance's Active Directory Domain membership, such as joined, pending-join, failed etc).

    " + "documentation":"

    The status of the Active Directory Domain membership for the DB instance or cluster. Values include joined, pending-join, failed, and so on.

    " }, "FQDN":{ "shape":"String", @@ -5043,7 +7722,7 @@ "documentation":"

    The name of the IAM role to be used when making API calls to the Directory Service.

    " } }, - "documentation":"

    An Active Directory Domain membership record associated with the DB instance.

    " + "documentation":"

    An Active Directory Domain membership record associated with the DB instance or cluster.

    " }, "DomainMembershipList":{ "type":"list", @@ -5051,13 +7730,13 @@ "shape":"DomainMembership", "locationName":"DomainMembership" }, - "documentation":"

    List of Active Directory Domain membership records associated with a DB instance.

    " + "documentation":"

    List of Active Directory Domain membership records associated with a DB instance or cluster.

    " }, "DomainNotFoundFault":{ "type":"structure", "members":{ }, - "documentation":"

    Domain does not refer to an existing Active Directory Domain.

    ", + "documentation":"

    Domain doesn't refer to an existing Active Directory domain.

    ", "error":{ "code":"DomainNotFoundFault", "httpStatusCode":404, @@ -5066,6 +7745,28 @@ "exception":true }, "Double":{"type":"double"}, + "DoubleOptional":{"type":"double"}, + "DoubleRange":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Double", + "documentation":"

    The minimum value in the range.

    " + }, + "To":{ + "shape":"Double", + "documentation":"

    The maximum value in the range.

    " + } + }, + "documentation":"

    A range of double values.

    " + }, + "DoubleRangeList":{ + "type":"list", + "member":{ + "shape":"DoubleRange", + "locationName":"DoubleRange" + } + }, "DownloadDBLogFilePortionDetails":{ "type":"structure", "members":{ @@ -5075,14 +7776,14 @@ }, "Marker":{ "shape":"String", - "documentation":"

    A pagination token that can be used in a subsequent DownloadDBLogFilePortion request.

    " + "documentation":"

    A pagination token that can be used in a later DownloadDBLogFilePortion request.

    " }, "AdditionalDataPending":{ "shape":"Boolean", "documentation":"

    Boolean value that if true, indicates there is more data to be downloaded.

    " } }, - "documentation":"

    This data type is used as a response element to DownloadDBLogFilePortion.

    " + "documentation":"

    This data type is used as a response element to DownloadDBLogFilePortion.

    " }, "DownloadDBLogFilePortionMessage":{ "type":"structure", @@ -5093,7 +7794,7 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The customer-assigned name of the DB instance that contains the log files you want to list.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The customer-assigned name of the DB instance that contains the log files you want to list.

    Constraints:

    • Must match the identifier of an existing DBInstance.

    " }, "LogFileName":{ "shape":"String", @@ -5105,7 +7806,7 @@ }, "NumberOfLines":{ "shape":"Integer", - "documentation":"

    The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file will be truncated at 1 MB in size.

    If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.

    • If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.

    • If NumberOfLines is specified and Marker is not specified, then the most recent lines from the end of the log file are returned.

    • If Marker is specified as \"0\", then the specified number of lines from the beginning of the log file are returned.

    • You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of \"0\" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.

    " + "documentation":"

    The number of lines to download. If the number of lines specified results in a file over 1 MB in size, the file is truncated at 1 MB in size.

    If the NumberOfLines parameter is specified, then the block of lines returned can be from the beginning or the end of the log file, depending on the value of the Marker parameter.

    • If neither Marker or NumberOfLines are specified, the entire log file is returned up to a maximum of 10000 lines, starting with the most recent log entries first.

    • If NumberOfLines is specified and Marker isn't specified, then the most recent lines from the end of the log file are returned.

    • If Marker is specified as \"0\", then the specified number of lines from the beginning of the log file are returned.

    • You can download the log file in blocks of lines by specifying the size of the block using the NumberOfLines parameter, and by specifying a value of \"0\" for the Marker parameter in your first request. Include the Marker value returned in the response as the Marker value for the next request, continuing until the AdditionalDataPending response element returns false.

    " } }, "documentation":"

    " @@ -5130,7 +7831,7 @@ "documentation":"

    Specifies the AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName field.

    " } }, - "documentation":"

    This data type is used as a response element in the following actions:

    " + "documentation":"

    This data type is used as a response element in the following actions:

    • AuthorizeDBSecurityGroupIngress

    • DescribeDBSecurityGroups

    • RevokeDBSecurityGroupIngress

    " }, "EC2SecurityGroupList":{ "type":"list", @@ -5155,7 +7856,7 @@ "documentation":"

    Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

    " } }, - "documentation":"

    This data type is used as a response element in the following actions:

    " + "documentation":"

    This data type represents the information you need to connect to an Amazon RDS DB instance. This data type is used as a response element in the following actions:

    • CreateDBInstance

    • DescribeDBInstances

    • DeleteDBInstance

    For the data structure that represents Amazon Aurora DB cluster endpoints, see DBClusterEndpoint.

    " }, "EngineDefaults":{ "type":"structure", @@ -5173,9 +7874,20 @@ "documentation":"

    Contains a list of engine default parameters.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

    ", + "documentation":"

    Contains the result of a successful invocation of the DescribeEngineDefaultParameters action.

    ", "wrapper":true }, + "EngineFamily":{ + "type":"string", + "enum":[ + "MYSQL", + "POSTGRESQL" + ] + }, + "EngineModeList":{ + "type":"list", + "member":{"shape":"String"} + }, "Event":{ "type":"structure", "members":{ @@ -5204,7 +7916,7 @@ "documentation":"

    The Amazon Resource Name (ARN) for the event.

    " } }, - "documentation":"

    This data type is used as a response element in the DescribeEvents action.

    " + "documentation":"

    This data type is used as a response element in the DescribeEvents action.

    " }, "EventCategoriesList":{ "type":"list", @@ -5225,7 +7937,7 @@ "documentation":"

    The event categories for the specified source type

    " } }, - "documentation":"

    Contains the results of a successful invocation of the DescribeEventCategories action.

    ", + "documentation":"

    Contains the results of a successful invocation of the DescribeEventCategories action.

    ", "wrapper":true }, "EventCategoriesMapList":{ @@ -5296,134 +8008,533 @@ "documentation":"

    The Amazon Resource Name (ARN) for the event subscription.

    " } }, - "documentation":"

    Contains the results of a successful invocation of the DescribeEventSubscriptions action.

    ", + "documentation":"

    Contains the results of a successful invocation of the DescribeEventSubscriptions action.

    ", "wrapper":true }, - "EventSubscriptionQuotaExceededFault":{ + "EventSubscriptionQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You have reached the maximum number of event subscriptions.

    ", + "error":{ + "code":"EventSubscriptionQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "EventSubscriptionsList":{ + "type":"list", + "member":{ + "shape":"EventSubscription", + "locationName":"EventSubscription" + } + }, + "EventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "EventSubscriptionsList":{ + "shape":"EventSubscriptionsList", + "documentation":"

    A list of EventSubscriptions data types.

    " + } + }, + "documentation":"

    Data returned by the DescribeEventSubscriptions action.

    " + }, + "EventsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + }, + "Events":{ + "shape":"EventList", + "documentation":"

    A list of Event instances.

    " + } + }, + "documentation":"

    Contains the result of a successful invocation of the DescribeEvents action.

    " + }, + "ExportTask":{ + "type":"structure", + "members":{ + "ExportTaskIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is exported to.

    " + }, + "SourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.

    " + }, + "ExportOnly":{ + "shape":"StringList", + "documentation":"

    The data exported from the snapshot. Valid values are the following:

    • database - Export all the data from a specified database.

    • database.table table-name - Export a table of the snapshot. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

    • database.schema schema-name - Export a database schema of the snapshot. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

    • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

    " + }, + "SnapshotTime":{ + "shape":"TStamp", + "documentation":"

    The time that the snapshot was created.

    " + }, + "TaskStartTime":{ + "shape":"TStamp", + "documentation":"

    The time that the snapshot export task started.

    " + }, + "TaskEndTime":{ + "shape":"TStamp", + "documentation":"

    The time that the snapshot export task completed.

    " + }, + "S3Bucket":{ + "shape":"String", + "documentation":"

    The Amazon S3 bucket that the snapshot is exported to.

    " + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

    The Amazon S3 bucket prefix that is the file name and path of the exported snapshot.

    " + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

    The name of the IAM role that is used to write to Amazon S3 when exporting a snapshot.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The ID of the AWS KMS key that is used to encrypt the snapshot when it's exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The progress status of the export task.

    " + }, + "PercentProgress":{ + "shape":"Integer", + "documentation":"

    The progress of the snapshot export task as a percentage.

    " + }, + "TotalExtractedDataInGB":{ + "shape":"Integer", + "documentation":"

    The total amount of data exported, in gigabytes.

    " + }, + "FailureCause":{ + "shape":"String", + "documentation":"

    The reason the export failed, if it failed.

    " + }, + "WarningMessage":{ + "shape":"String", + "documentation":"

    A warning about the snapshot export task.

    " + } + }, + "documentation":"

    Contains the details of a snapshot export to Amazon S3.

    This data type is used as a response element in the DescribeExportTasks action.

    " + }, + "ExportTaskAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You can't start an export task that's already running.

    ", + "error":{ + "code":"ExportTaskAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ExportTaskNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The export task doesn't exist.

    ", + "error":{ + "code":"ExportTaskNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ExportTasksList":{ + "type":"list", + "member":{ + "shape":"ExportTask", + "locationName":"ExportTask" + } + }, + "ExportTasksMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    A pagination token that can be used in a later DescribeExportTasks request. A marker is used for pagination to identify the location to begin output for the next response of DescribeExportTasks.

    " + }, + "ExportTasks":{ + "shape":"ExportTasksList", + "documentation":"

    Information about an export of a snapshot to Amazon S3.

    " + } + } + }, + "FailoverDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.

    Constraints:

    • Must match the identifier of an existing DBCluster.

    " + }, + "TargetDBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The name of the instance to promote to the primary instance.

    You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, mydbcluster-replica1.

    " + } + }, + "documentation":"

    " + }, + "FailoverDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "FeatureNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the filter. Filter names are case-sensitive.

    " + }, + "Values":{ + "shape":"FilterValueList", + "documentation":"

    One or more filter values. Filter values are case-sensitive.

    " + } + }, + "documentation":"

    A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.

    Currently, wildcards are not supported in filters.

    The following actions can be filtered:

    • DescribeDBClusterBacktracks

    • DescribeDBClusterEndpoints

    • DescribeDBClusters

    • DescribeDBInstances

    • DescribePendingMaintenanceActions

    " + }, + "FilterList":{ + "type":"list", + "member":{ + "shape":"Filter", + "locationName":"Filter" + } + }, + "FilterValueList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"Value" + } + }, + "GlobalCluster":{ + "type":"structure", + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    Contains a user-supplied global database cluster identifier. This identifier is the unique key that identifies a global database cluster.

    " + }, + "GlobalClusterResourceId":{ + "shape":"String", + "documentation":"

    The AWS Region-unique, immutable identifier for the global database cluster. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB cluster is accessed.

    " + }, + "GlobalClusterArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the global database cluster.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    Specifies the current state of this global database cluster.

    " + }, + "Engine":{ + "shape":"String", + "documentation":"

    The Aurora database engine used by the global database cluster.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    Indicates the database engine version.

    " + }, + "DatabaseName":{ + "shape":"String", + "documentation":"

    The default database name within the new global database cluster.

    " + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

    The storage encryption setting for the global database cluster.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    The deletion protection setting for the new global database cluster.

    " + }, + "GlobalClusterMembers":{ + "shape":"GlobalClusterMemberList", + "documentation":"

    The list of cluster IDs for secondary clusters within the global database cluster. Currently limited to 1 item.

    " + } + }, + "documentation":"

    A data type representing an Aurora global database.

    ", + "wrapper":true + }, + "GlobalClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "error":{ + "code":"GlobalClusterAlreadyExistsFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "GlobalClusterList":{ + "type":"list", + "member":{ + "shape":"GlobalCluster", + "locationName":"GlobalClusterMember" + } + }, + "GlobalClusterMember":{ + "type":"structure", + "members":{ + "DBClusterArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for each Aurora cluster.

    " + }, + "Readers":{ + "shape":"ReadersArnList", + "documentation":"

    The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the Aurora global database.

    " + }, + "IsWriter":{ + "shape":"Boolean", + "documentation":"

    Specifies whether the Aurora cluster is the primary cluster (that is, has read-write capability) for the Aurora global database with which it is associated.

    " + } + }, + "documentation":"

    A data structure with information about any primary and secondary clusters associated with an Aurora global database.

    ", + "wrapper":true + }, + "GlobalClusterMemberList":{ + "type":"list", + "member":{ + "shape":"GlobalClusterMember", + "locationName":"GlobalClusterMember" + } + }, + "GlobalClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "error":{ + "code":"GlobalClusterNotFoundFault", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "GlobalClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "error":{ + "code":"GlobalClusterQuotaExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "GlobalClustersMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    An optional pagination token provided by a previous DescribeGlobalClusters request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " + }, + "GlobalClusters":{ + "shape":"GlobalClusterList", + "documentation":"

    The list of global clusters returned by this request.

    " + } + } + }, + "IAMAuthMode":{ + "type":"string", + "enum":[ + "DISABLED", + "REQUIRED" + ] + }, + "IPRange":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"String", + "documentation":"

    Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

    " + }, + "CIDRIP":{ + "shape":"String", + "documentation":"

    Specifies the IP range.

    " + } + }, + "documentation":"

    This data type is used as a response element in the DescribeDBSecurityGroups action.

    " + }, + "IPRangeList":{ + "type":"list", + "member":{ + "shape":"IPRange", + "locationName":"IPRange" + } + }, + "IamRoleMissingPermissionsFault":{ "type":"structure", "members":{ }, - "documentation":"

    You have reached the maximum number of event subscriptions.

    ", + "documentation":"

    The IAM role requires additional permissions to export to an Amazon S3 bucket.

    ", "error":{ - "code":"EventSubscriptionQuotaExceeded", + "code":"IamRoleMissingPermissions", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "EventSubscriptionsList":{ - "type":"list", - "member":{ - "shape":"EventSubscription", - "locationName":"EventSubscription" - } - }, - "EventSubscriptionsMessage":{ + "IamRoleNotFoundFault":{ "type":"structure", "members":{ - "Marker":{ - "shape":"String", - "documentation":"

    An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " - }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

    A list of EventSubscriptions data types.

    " - } }, - "documentation":"

    Data returned by the DescribeEventSubscriptions action.

    " + "documentation":"

    The IAM role is missing for exporting to an Amazon S3 bucket.

    ", + "error":{ + "code":"IamRoleNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true }, - "EventsMessage":{ + "ImportInstallationMediaMessage":{ "type":"structure", + "required":[ + "CustomAvailabilityZoneId", + "Engine", + "EngineVersion", + "EngineInstallationMediaPath", + "OSInstallationMediaPath" + ], "members":{ - "Marker":{ + "CustomAvailabilityZoneId":{ "shape":"String", - "documentation":"

    An optional pagination token provided by a previous Events request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " + "documentation":"

    The identifier of the custom Availability Zone (AZ) to import the installation media to.

    " }, - "Events":{ - "shape":"EventList", - "documentation":"

    A list of Event instances.

    " + "Engine":{ + "shape":"String", + "documentation":"

    The name of the database engine to be used for this instance.

    The list only includes supported DB engines that require an on-premises customer provided license.

    Valid Values:

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The version number of the database engine to use.

    For a list of valid engine versions, call DescribeDBEngineVersions.

    The following are the database engines and links to information about the major and minor versions. The list only includes DB engines that require an on-premises customer provided license.

    Microsoft SQL Server

    See Version and Feature Support on Amazon RDS in the Amazon RDS User Guide.

    " + }, + "EngineInstallationMediaPath":{ + "shape":"String", + "documentation":"

    The path to the installation medium for the specified DB engine.

    Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso

    " + }, + "OSInstallationMediaPath":{ + "shape":"String", + "documentation":"

    The path to the installation medium for the operating system associated with the specified DB engine.

    Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso

    " } - }, - "documentation":"

    Contains the result of a successful invocation of the DescribeEvents action.

    " + } }, - "FailoverDBClusterMessage":{ + "InstallationMedia":{ "type":"structure", "members":{ - "DBClusterIdentifier":{ + "InstallationMediaId":{ "shape":"String", - "documentation":"

    A DB cluster identifier to force a failover for. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The installation medium ID.

    " }, - "TargetDBInstanceIdentifier":{ + "CustomAvailabilityZoneId":{ "shape":"String", - "documentation":"

    The name of the instance to promote to the primary instance.

    You must specify the instance identifier for an Aurora Replica in the DB cluster. For example, mydbcluster-replica1.

    " + "documentation":"

    The custom Availability Zone (AZ) that contains the installation media.

    " + }, + "Engine":{ + "shape":"String", + "documentation":"

    The DB engine.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The engine version of the DB engine.

    " + }, + "EngineInstallationMediaPath":{ + "shape":"String", + "documentation":"

    The path to the installation medium for the DB engine.

    " + }, + "OSInstallationMediaPath":{ + "shape":"String", + "documentation":"

    The path to the installation medium for the operating system associated with the DB engine.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The status of the installation medium.

    " + }, + "FailureCause":{ + "shape":"InstallationMediaFailureCause", + "documentation":"

    If an installation media failure occurred, the cause of the failure.

    " } }, - "documentation":"

    " + "documentation":"

    Contains the installation media for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server.

    " }, - "FailoverDBClusterResult":{ + "InstallationMediaAlreadyExistsFault":{ "type":"structure", "members":{ - "DBCluster":{"shape":"DBCluster"} - } + }, + "documentation":"

    The specified installation medium has already been imported.

    ", + "error":{ + "code":"InstallationMediaAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true }, - "Filter":{ + "InstallationMediaFailureCause":{ "type":"structure", - "required":[ - "Name", - "Values" - ], "members":{ - "Name":{ + "Message":{ "shape":"String", - "documentation":"

    This parameter is not currently supported.

    " - }, - "Values":{ - "shape":"FilterValueList", - "documentation":"

    This parameter is not currently supported.

    " + "documentation":"

    The reason that an installation media import failed.

    " } }, - "documentation":"

    This type is not currently supported.

    " - }, - "FilterList":{ - "type":"list", - "member":{ - "shape":"Filter", - "locationName":"Filter" - } + "documentation":"

    Contains the cause of an installation media failure. Installation media is used for a DB engine that requires an on-premises customer provided license, such as Microsoft SQL Server.

    " }, - "FilterValueList":{ + "InstallationMediaList":{ "type":"list", "member":{ - "shape":"String", - "locationName":"Value" + "shape":"InstallationMedia", + "locationName":"InstallationMedia" } }, - "IPRange":{ + "InstallationMediaMessage":{ "type":"structure", "members":{ - "Status":{ + "Marker":{ "shape":"String", - "documentation":"

    Specifies the status of the IP range. Status can be \"authorizing\", \"authorized\", \"revoking\", and \"revoked\".

    " + "documentation":"

    An optional pagination token provided by a previous DescribeInstallationMedia request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

    " }, - "CIDRIP":{ - "shape":"String", - "documentation":"

    Specifies the IP range.

    " + "InstallationMedia":{ + "shape":"InstallationMediaList", + "documentation":"

    The list of InstallationMedia objects for the AWS account.

    " } - }, - "documentation":"

    This data type is used as a response element in the DescribeDBSecurityGroups action.

    " - }, - "IPRangeList":{ - "type":"list", - "member":{ - "shape":"IPRange", - "locationName":"IPRange" } }, + "InstallationMediaNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    InstallationMediaID doesn't refer to an existing installation medium.

    ", + "error":{ + "code":"InstallationMediaNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "InstanceQuotaExceededFault":{ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of DB instances.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of DB instances.

    ", "error":{ "code":"InstanceQuotaExceeded", "httpStatusCode":400, @@ -5435,7 +8546,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB cluster does not have enough capacity for the current operation.

    ", + "documentation":"

    The DB cluster doesn't have enough capacity for the current operation.

    ", "error":{ "code":"InsufficientDBClusterCapacityFault", "httpStatusCode":403, @@ -5447,7 +8558,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Specified DB instance class is not available in the specified Availability Zone.

    ", + "documentation":"

    The specified DB instance class isn't available in the specified Availability Zone.

    ", "error":{ "code":"InsufficientDBInstanceCapacity", "httpStatusCode":400, @@ -5459,7 +8570,7 @@ "type":"structure", "members":{ }, - "documentation":"

    There is insufficient storage available for the current action. You may be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

    ", + "documentation":"

    There is insufficient storage available for the current action. You might be able to resolve this error by updating your subnet group to use different Availability Zones that have more storage available.

    ", "error":{ "code":"InsufficientStorageClusterCapacity", "httpStatusCode":400, @@ -5469,11 +8580,35 @@ }, "Integer":{"type":"integer"}, "IntegerOptional":{"type":"integer"}, + "InvalidDBClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity values are 2, 4, 8, 16, 32, 64, 128, and 256.

    ", + "error":{ + "code":"InvalidDBClusterCapacityFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidDBClusterEndpointStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The requested operation can't be performed on the endpoint while the endpoint is in this state.

    ", + "error":{ + "code":"InvalidDBClusterEndpointStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidDBClusterSnapshotStateFault":{ "type":"structure", "members":{ }, - "documentation":"

    The supplied value is not a valid DB cluster snapshot state.

    ", + "documentation":"

    The supplied value isn't a valid DB cluster snapshot state.

    ", "error":{ "code":"InvalidDBClusterSnapshotStateFault", "httpStatusCode":400, @@ -5485,7 +8620,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB cluster is not in a valid state.

    ", + "documentation":"

    The requested operation can't be performed while the cluster is in this state.

    ", "error":{ "code":"InvalidDBClusterStateFault", "httpStatusCode":400, @@ -5493,11 +8628,23 @@ }, "exception":true }, + "InvalidDBInstanceAutomatedBackupStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The automated backup is in an invalid state. For example, this automated backup is associated with an active instance.

    ", + "error":{ + "code":"InvalidDBInstanceAutomatedBackupState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidDBInstanceStateFault":{ "type":"structure", "members":{ }, - "documentation":"

    The specified DB instance is not in the available state.

    ", + "documentation":"

    The DB instance isn't in a valid state.

    ", "error":{ "code":"InvalidDBInstanceState", "httpStatusCode":400, @@ -5509,7 +8656,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB parameter group cannot be deleted because it is in use.

    ", + "documentation":"

    The DB parameter group is in use or is in an invalid state. If you are attempting to delete the parameter group, you can't delete it when the parameter group is in this state.

    ", "error":{ "code":"InvalidDBParameterGroupState", "httpStatusCode":400, @@ -5517,11 +8664,23 @@ }, "exception":true }, + "InvalidDBProxyStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The requested operation can't be performed while the proxy is in this state.

    ", + "error":{ + "code":"InvalidDBProxyStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidDBSecurityGroupStateFault":{ "type":"structure", "members":{ }, - "documentation":"

    The state of the DB security group does not allow deletion.

    ", + "documentation":"

    The state of the DB security group doesn't allow deletion.

    ", "error":{ "code":"InvalidDBSecurityGroupState", "httpStatusCode":400, @@ -5533,7 +8692,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The state of the DB snapshot does not allow deletion.

    ", + "documentation":"

    The state of the DB snapshot doesn't allow deletion.

    ", "error":{ "code":"InvalidDBSnapshotState", "httpStatusCode":400, @@ -5545,7 +8704,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Indicates the DBSubnetGroup does not belong to the same VPC as that of an existing cross region read replica of the same source instance.

    ", + "documentation":"

    The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region read replica of the same source instance.

    ", "error":{ "code":"InvalidDBSubnetGroupFault", "httpStatusCode":400, @@ -5557,7 +8716,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB subnet group cannot be deleted because it is in use.

    ", + "documentation":"

    The DB subnet group cannot be deleted because it's in use.

    ", "error":{ "code":"InvalidDBSubnetGroupStateFault", "httpStatusCode":400, @@ -5569,7 +8728,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The DB subnet is not in the available state.

    ", + "documentation":"

    The DB subnet isn't in the available state.

    ", "error":{ "code":"InvalidDBSubnetStateFault", "httpStatusCode":400, @@ -5589,11 +8748,59 @@ }, "exception":true }, + "InvalidExportOnlyFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The export is invalid for exporting to an Amazon S3 bucket.

    ", + "error":{ + "code":"InvalidExportOnly", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidExportSourceStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The state of the export snapshot is invalid for exporting to an Amazon S3 bucket.

    ", + "error":{ + "code":"InvalidExportSourceState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidExportTaskStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You can't cancel an export task that has completed.

    ", + "error":{ + "code":"InvalidExportTaskStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidGlobalClusterStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "error":{ + "code":"InvalidGlobalClusterStateFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidOptionGroupStateFault":{ "type":"structure", "members":{ }, - "documentation":"

    The option group is not in the available state.

    ", + "documentation":"

    The option group isn't in the available state.

    ", "error":{ "code":"InvalidOptionGroupStateFault", "httpStatusCode":400, @@ -5605,7 +8812,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Cannot restore from vpc backup to non-vpc DB instance.

    ", + "documentation":"

    Cannot restore from VPC backup to non-VPC DB instance.

    ", "error":{ "code":"InvalidRestoreFault", "httpStatusCode":400, @@ -5617,7 +8824,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The specified Amazon S3 bucket name could not be found or Amazon RDS is not authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

    ", + "documentation":"

    The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and S3IngestionRoleArn values and try again.

    ", "error":{ "code":"InvalidS3BucketFault", "httpStatusCode":400, @@ -5641,7 +8848,7 @@ "type":"structure", "members":{ }, - "documentation":"

    DB subnet group does not cover all Availability Zones after it is created because users' change.

    ", + "documentation":"

    The DB subnet group doesn't cover all Availability Zones after it's created because of users' change.

    ", "error":{ "code":"InvalidVPCNetworkStateFault", "httpStatusCode":400, @@ -5649,53 +8856,147 @@ }, "exception":true }, - "KMSKeyNotAccessibleFault":{ + "KMSKeyNotAccessibleFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An error occurred accessing an AWS KMS key.

    ", + "error":{ + "code":"KMSKeyNotAccessibleFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsForResourceMessage":{ + "type":"structure", + "required":["ResourceName"], + "members":{ + "ResourceName":{ + "shape":"String", + "documentation":"

    The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    This parameter isn't currently supported.

    " + } + }, + "documentation":"

    " + }, + "LogTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Long":{"type":"long"}, + "LongOptional":{"type":"long"}, + "MaxRecords":{ + "type":"integer", + "max":100, + "min":20 + }, + "MinimumEngineVersionPerAllowedValue":{ + "type":"structure", + "members":{ + "AllowedValue":{ + "shape":"String", + "documentation":"

    The allowed value for an option setting.

    " + }, + "MinimumEngineVersion":{ + "shape":"String", + "documentation":"

    The minimum DB engine version required for the allowed value.

    " + } + }, + "documentation":"

    The minimum DB engine version required for each corresponding allowed value for an option setting.

    " + }, + "MinimumEngineVersionPerAllowedValueList":{ + "type":"list", + "member":{ + "shape":"MinimumEngineVersionPerAllowedValue", + "locationName":"MinimumEngineVersionPerAllowedValue" + } + }, + "ModifyCertificatesMessage":{ + "type":"structure", + "members":{ + "CertificateIdentifier":{ + "shape":"String", + "documentation":"

    The new default certificate identifier to override the current one with.

    To determine the valid values, use the describe-certificates AWS CLI command or the DescribeCertificates API operation.

    " + }, + "RemoveCustomerOverride":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to remove the override for the default certificate. If the override is removed, the default certificate is the system default.

    " + } + } + }, + "ModifyCertificatesResult":{ + "type":"structure", + "members":{ + "Certificate":{"shape":"Certificate"} + } + }, + "ModifyCurrentDBClusterCapacityMessage":{ "type":"structure", + "required":["DBClusterIdentifier"], "members":{ - }, - "documentation":"

    Error accessing KMS key.

    ", - "error":{ - "code":"KMSKeyNotAccessibleFault", - "httpStatusCode":400, - "senderFault":true - }, - "exception":true - }, - "KeyList":{ - "type":"list", - "member":{"shape":"String"} + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

    Constraints:

    • Must match the identifier of an existing DB cluster.

    " + }, + "Capacity":{ + "shape":"IntegerOptional", + "documentation":"

    The DB cluster capacity.

    When you change the capacity of a paused Aurora Serverless DB cluster, it automatically resumes.

    Constraints:

    • For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

    • For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.

    " + }, + "SecondsBeforeTimeout":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in seconds, that Aurora Serverless tries to find a scaling point to perform seamless scaling before enforcing the timeout action. The default is 300.

    • Value must be from 10 through 600.

    " + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

    The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

    ForceApplyCapacityChange, the default, sets the capacity to the specified value as soon as possible.

    RollbackCapacityChange ignores the capacity change if a scaling point isn't found in the timeout period.

    " + } + } }, - "ListTagsForResourceMessage":{ + "ModifyDBClusterEndpointMessage":{ "type":"structure", - "required":["ResourceName"], + "required":["DBClusterEndpointIdentifier"], "members":{ - "ResourceName":{ + "DBClusterEndpointIdentifier":{ "shape":"String", - "documentation":"

    The Amazon RDS resource with tags to be listed. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " + "documentation":"

    The identifier of the endpoint to modify. This parameter is stored as a lowercase string.

    " }, - "Filters":{ - "shape":"FilterList", - "documentation":"

    This parameter is not currently supported.

    " + "EndpointType":{ + "shape":"String", + "documentation":"

    The type of the endpoint. One of: READER, WRITER, ANY.

    " + }, + "StaticMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that are part of the custom endpoint group.

    " + }, + "ExcludedMembers":{ + "shape":"StringList", + "documentation":"

    List of DB instance identifiers that aren't part of the custom endpoint group. All other eligible instances are reachable through the custom endpoint. Only relevant if the list of static members is empty.

    " } - }, - "documentation":"

    " + } }, - "Long":{"type":"long"}, "ModifyDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The DB cluster identifier for the cluster being modified. This parameter is not case-sensitive.

    Constraints:

    • Must be the identifier for an existing DB cluster.

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " + "documentation":"

    The DB cluster identifier for the cluster being modified. This parameter isn't case-sensitive.

    Constraints: This identifier must match the identifier of an existing DB cluster.

    " }, "NewDBClusterIdentifier":{ "shape":"String", - "documentation":"

    The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-cluster2

    " + "documentation":"

    The new DB cluster identifier for the DB cluster when renaming a DB cluster. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens

    • The first character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-cluster2

    " }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

    A value that specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is set to false, changes to the DB cluster are applied during the next maintenance window.

    The ApplyImmediately parameter only affects the NewDBClusterIdentifier and MasterUserPassword values. If you set the ApplyImmediately parameter value to false, then changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

    Default: false

    " + "documentation":"

    A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter is disabled, changes to the DB cluster are applied during the next maintenance window.

    The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately parameter is disabled, then changes to the EnableIAMDatabaseAuthentication, MasterUserPassword, and NewDBClusterIdentifier values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter.

    By default, this parameter is disabled.

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -5707,7 +9008,7 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A lst of VPC security groups that the DB cluster will belong to.

    " + "documentation":"

    A list of VPC security groups that the DB cluster will belong to.

    " }, "Port":{ "shape":"IntegerOptional", @@ -5719,15 +9020,63 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

    A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

    Permanent options cannot be removed from an option group. The option group cannot be removed from a DB cluster once it is associated with a DB cluster.

    " + "documentation":"

    A value that indicates that the DB cluster should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case, and the change is applied during the next maintenance window unless the ApplyImmediately is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

    Permanent options can't be removed from an option group. The option group can't be removed from a DB cluster once it is associated with a DB cluster.

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

    Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred DB Cluster Maintenance Window in the Amazon Aurora User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    Constraints: Minimum 30-minute window.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

    " + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB cluster.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The version number of the database engine to which you want to upgrade. Changing this parameter results in an outage. The change is applied during the next maintenance window unless ApplyImmediately is enabled.

    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-postgresql, use the following command:

    aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

    " + }, + "AllowMajorVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether major version upgrades are allowed.

    Constraints: You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version.

    " + }, + "DBInstanceParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB parameter group to apply to all instances of the DB cluster.

    When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB cluster isn't rebooted automatically. Also, parameter changes aren't applied during the next maintenance window but instead are applied immediately.

    Default: The existing name setting

    Constraints:

    • The DB parameter group must be in the same DB parameter group family as this DB cluster.

    • The DBInstanceParameterGroupName parameter is only valid in combination with the AllowMajorVersionUpgrade parameter.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    The Active Directory directory ID to move the DB cluster to. Specify none to remove the cluster from its current domain. The domain must be created prior to this operation.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " + }, + "ScalingConfiguration":{ + "shape":"ScalingConfiguration", + "documentation":"

    The scaling properties of the DB cluster. You can only modify scaling properties for DB clusters in serverless DB engine mode.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

    " + }, + "EnableHttpEndpoint":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable the HTTP endpoint for an Aurora Serverless DB cluster. By default, the HTTP endpoint is disabled.

    When enabled, the HTTP endpoint provides a connectionless web service API for running SQL queries on the Aurora Serverless DB cluster. You can also query your database from inside the RDS console with the query editor.

    For more information, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the DB cluster to snapshots of the DB cluster. The default is not to copy them.

    " } }, "documentation":"

    " @@ -5794,67 +9143,67 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier. This value is stored as a lowercase string.

    Constraints:

    • Must be the identifier for an existing DB instance

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The DB instance identifier. This value is stored as a lowercase string.

    Constraints:

    • Must match the identifier of an existing DBInstance.

    " }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

    The new storage capacity of the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless ApplyImmediately is set to true for this request.

    MySQL

    Default: Uses existing setting

    Valid Values: 5-6144

    Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    Type: Integer

    MariaDB

    Default: Uses existing setting

    Valid Values: 5-6144

    Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    Type: Integer

    PostgreSQL

    Default: Uses existing setting

    Valid Values: 5-6144

    Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    Type: Integer

    Oracle

    Default: Uses existing setting

    Valid Values: 10-6144

    Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    SQL Server

    Cannot be modified.

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

    " + "documentation":"

    The new amount of storage (in gibibytes) to allocate for the DB instance.

    For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    For the valid values for allocated storage for each engine, see CreateDBInstance.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The new compute and memory capacity of the DB instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action.

    Passing a value for this setting causes an outage during the change and is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

    Default: Uses existing setting

    Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

    " + "documentation":"

    The new compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    If you modify the DB instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is enabled for this request.

    Default: Uses existing setting

    " }, "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. 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 isn't 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 in the Amazon RDS User Guide.

    Changing the subnet group causes an outage during the change. The change is applied during the next maintenance window, unless you enable ApplyImmediately.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetGroup

    " }, "DBSecurityGroups":{ "shape":"DBSecurityGroupNameList", - "documentation":"

    A list of DB security groups to authorize on this DB instance. Changing this setting does not result in an outage and the change is asynchronously applied as soon as possible.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

    Constraints:

    • If supplied, must match existing DBSecurityGroups.

    " }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The associated list of EC2 VPC security groups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Constraints:

    • If supplied, must match existing VpcSecurityGroupIds.

    " }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

    Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance.

    If this parameter is set to false, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and will be applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance and Using the Apply Immediately Parameter to see the impact that setting ApplyImmediately to true or false has for each modified parameter and to determine when the changes will be applied.

    Default: false

    " + "documentation":"

    A value that indicates whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB instance. By default, this parameter is disabled.

    If this parameter is disabled, changes to the DB instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next call to RebootDBInstance, or the next failure reboot. Review the table of parameters in Modifying a DB Instance in the Amazon RDS User Guide. to see the impact of enabling or disabling ApplyImmediately for each modified parameter and to determine when the changes are applied.

    " }, "MasterUserPassword":{ "shape":"String", - "documentation":"

    The new password for the DB instance master user. Can be any printable ASCII character except \"/\", \"\"\", or \"@\".

    Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

    Default: Uses existing setting

    Constraints: Must be 8 to 41 alphanumeric characters (MySQL, MariaDB, and Amazon Aurora), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

    Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

    " + "documentation":"

    The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

    Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response.

    Amazon Aurora

    Not applicable. The password for the master user is managed by the DB cluster. For more information, see ModifyDBCluster.

    Default: Uses existing setting

    MariaDB

    Constraints: Must contain from 8 to 41 characters.

    Microsoft SQL Server

    Constraints: Must contain from 8 to 128 characters.

    MySQL

    Constraints: Must contain from 8 to 41 characters.

    Oracle

    Constraints: Must contain from 8 to 30 characters.

    PostgreSQL

    Constraints: Must contain from 8 to 128 characters.

    Amazon RDS API actions never return the password, so this action provides a way to regain access to a primary instance user if the password is lost. This includes restoring privileges that might have been accidentally revoked.

    " }, "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group to apply to the DB instance. Changing this setting does not result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. The db instance will NOT be rebooted automatically and the parameter changes will NOT be applied during the next maintenance window.

    Default: Uses existing setting

    Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

    " + "documentation":"

    The name of the DB parameter group to apply to the DB instance. Changing this setting doesn't result in an outage. The parameter group name itself is changed immediately, but the actual parameter changes are not applied until you reboot the instance without failover. In this case, the DB instance isn't rebooted automatically and the parameter changes isn't applied during the next maintenance window.

    Default: Uses existing setting

    Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

    Default: Uses existing setting

    Constraints:

    • Must be a value from 0 to 35

    • Can be specified for a MySQL Read Replica only if the source is running MySQL 5.6

    • Can be specified for a PostgreSQL Read Replica only if the source is running PostgreSQL 9.3.5

    • Cannot be set to 0 if the DB instance is a source to Read Replicas

    " + "documentation":"

    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The retention period for automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Default: Uses existing setting

    Constraints:

    • Must be a value from 0 to 35

    • Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or later

    • Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL 9.3.5

    • Can't be set to 0 if the DB instance is a source to read replicas

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi

    • Times should be in Universal Time Coordinated (UTC)

    • Must not conflict with the preferred maintenance window

    • Must be at least 30 minutes

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod parameter. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

    Amazon Aurora

    Not applicable. The daily time range for creating automated backups is managed by the DB cluster. For more information, see ModifyDBCluster.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi

    • Must be in Universal Time Coordinated (UTC)

    • Must not conflict with the preferred maintenance window

    • Must be at least 30 minutes

    " }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

    Default: Uses existing setting

    Format: ddd:hh24:mi-ddd:hh24:mi

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Must be at least 30 minutes

    " + "documentation":"

    The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

    Default: Uses existing setting

    Format: ddd:hh24:mi-ddd:hh24:mi

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Must be at least 30 minutes

    " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    Specifies if the DB instance is a Multi-AZ deployment. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

    Constraints: Cannot be specified if the DB instance is a Read Replica.

    " + "documentation":"

    A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request.

    " }, "EngineVersion":{ "shape":"String", - "documentation":"

    The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

    For major version upgrades, if a non-default DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

    For a list of valid engine versions, see CreateDBInstance.

    " + "documentation":"

    The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is eanbled for this request.

    For major version upgrades, if a nondefault DB parameter group is currently in use, a new DB parameter group in the DB parameter group family for the new engine version must be specified. The new DB parameter group can be the default for that DB parameter group family.

    For information about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

    " }, "AllowMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

    Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible.

    Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

    " + "documentation":"

    A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

    Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

    " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

    Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

    " + "documentation":"

    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage results if this parameter is enabled during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.

    " }, "LicenseModel":{ "shape":"String", @@ -5862,27 +9211,27 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

    The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this setting does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request.

    Default: Uses existing setting

    Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

    SQL Server

    Setting the IOPS value for the SQL Server database engine is not supported.

    Type: Integer

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance will be available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance will be suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a Read Replica for the instance, and creating a DB snapshot of the instance.

    " + "documentation":"

    The new Provisioned IOPS (I/O operations per second) value for the RDS instance.

    Changing this setting doesn't result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If you are migrating from Provisioned IOPS to standard storage, set this value to 0. The DB instance will require a reboot for the change in storage type to take effect.

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

    Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value.

    Default: Uses existing setting

    " }, "OptionGroupName":{ "shape":"String", - "documentation":"

    Indicates that the DB instance should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

    " + "documentation":"

    Indicates that the DB instance should be associated with the specified option group. Changing this parameter doesn't result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is enabled for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

    " }, "NewDBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot will occur immediately if you set Apply Immediately to true, or will occur during the next maintenance window if Apply Immediately to false. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • The first character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: mydbinstance

    " }, "StorageType":{ "shape":"String", - "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise standard

    " + "documentation":"

    Specifies the storage type to be associated with the DB instance.

    If you specify Provisioned IOPS (io1), you must also include a value for the Iops parameter.

    If you choose to migrate your DB instance from using standard storage to using Provisioned IOPS, or from using Provisioned IOPS to using standard storage, the process can take time. The duration of the migration depends on several factors such as database load, storage size, storage type (standard or Provisioned IOPS), amount of IOPS provisioned (if any), and the number of prior scale storage operations. Typical migration times are under 24 hours, but the process can take up to several days in some cases. During the migration, the DB instance is available for use, but might experience performance degradation. While the migration takes place, nightly backups for the instance are suspended. No other Amazon RDS operations can take place for the instance, including modifying the instance, rebooting the instance, deleting the instance, creating a read replica for the instance, and creating a DB snapshot of the instance.

    Valid values: standard | gp2 | io1

    Default: io1 if the Iops parameter is specified, otherwise gp2

    " }, "TdeCredentialArn":{ "shape":"String", - "documentation":"

    The ARN from the Key Store with which to associate the instance for TDE encryption.

    " + "documentation":"

    The ARN from the key store with which to associate the instance for TDE encryption.

    " }, "TdeCredentialPassword":{ "shape":"String", - "documentation":"

    The password for the given ARN from the Key Store in order to access the device.

    " + "documentation":"

    The password for the given ARN from the key store in order to access the device.

    " }, "CACertificateIdentifier":{ "shape":"String", @@ -5890,11 +9239,11 @@ }, "Domain":{ "shape":"String", - "documentation":"

    The Active Directory Domain to move the instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently only a Microsoft SQL Server instance can be created in a Active Directory Domain.

    " + "documentation":"

    The Active Directory directory ID to move the DB instance to. Specify none to remove the instance from its current domain. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain.

    For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

    " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the DB instance to snapshots of the DB instance; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    Amazon Aurora

    Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting this value for an Aurora DB instance has no effect on the DB cluster setting. For more information, see ModifyDBCluster.

    " }, "MonitoringInterval":{ "shape":"IntegerOptional", @@ -5902,15 +9251,15 @@ }, "DBPortNumber":{ "shape":"IntegerOptional", - "documentation":"

    The port number on which the database accepts connections.

    The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

    Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

    MySQL

    Default: 3306

    Valid Values: 1150-65535

    MariaDB

    Default: 3306

    Valid Values: 1150-65535

    PostgreSQL

    Default: 5432

    Valid Values: 1150-65535

    Type: Integer

    Oracle

    Default: 1521

    Valid Values: 1150-65535

    SQL Server

    Default: 1433

    Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through 49156.

    Amazon Aurora

    Default: 3306

    Valid Values: 1150-65535

    " + "documentation":"

    The port number on which the database accepts connections.

    The value of the DBPortNumber parameter must not match any of the port values specified for options in the option group for the DB instance.

    Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately parameter.

    MySQL

    Default: 3306

    Valid values: 1150-65535

    MariaDB

    Default: 3306

    Valid values: 1150-65535

    PostgreSQL

    Default: 5432

    Valid values: 1150-65535

    Type: Integer

    Oracle

    Default: 1521

    Valid values: 1150-65535

    SQL Server

    Default: 1433

    Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and 49152-49156.

    Amazon Aurora

    Default: 3306

    Valid values: 1150-65535

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

    Boolean value that indicates if the DB instance has a publicly resolvable DNS name. Set to True to make the DB instance Internet-facing with a publicly resolvable DNS name, which resolves to a public IP address. Set to False to make the DB instance internal with a DNS name that resolves to a private IP address.

    PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be true in order for it to be publicly accessible.

    Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

    Default: false

    " + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address.

    PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.

    Changes to the PubliclyAccessible parameter are applied immediately regardless of the value of the ApplyImmediately parameter.

    " }, "MonitoringRoleArn":{ "shape":"String", - "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " + "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, go to To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " }, "DomainIAMRoleName":{ "shape":"String", @@ -5918,7 +9267,47 @@ }, "PromotionTier":{ "shape":"IntegerOptional", - "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster.

    Default: 1

    Valid Values: 0 - 15

    " + "documentation":"

    A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

    Default: 1

    Valid Values: 0 - 15

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance.

    For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable Performance Insights for the DB instance.

    For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

    " + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "PerformanceInsightsRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

    " + }, + "CloudwatchLogsExportConfiguration":{ + "shape":"CloudwatchLogsExportConfiguration", + "documentation":"

    The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

    A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance immediately. Therefore, the ApplyImmediately parameter has no effect.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "UseDefaultProcessorFeatures":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    " + }, + "MaxAllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

    The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

    " + }, + "CertificateRotationRestart":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance is restarted when you rotate your SSL/TLS certificate.

    By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.

    Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

    If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your DB engine to rotate your SSL/TLS certificate:

    " } }, "documentation":"

    " @@ -5938,15 +9327,96 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be the name of an existing DB parameter group

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the DB parameter group.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

    " }, "Parameters":{ "shape":"ParametersList", - "documentation":"

    An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

    Valid Values (for the application method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

    " + "documentation":"

    An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; later arguments are optional. A maximum of 20 parameters can be modified in a single request.

    Valid Values (for the application method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when you reboot the DB instance without failover.

    " } }, "documentation":"

    " }, + "ModifyDBProxyRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier for the DBProxy to modify.

    " + }, + "NewDBProxyName":{ + "shape":"String", + "documentation":"

    The new identifier for the DBProxy. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "Auth":{ + "shape":"UserAuthConfigList", + "documentation":"

    The new authentication settings for the DBProxy.

    " + }, + "RequireTLS":{ + "shape":"BooleanOptional", + "documentation":"

    Whether Transport Layer Security (TLS) encryption is required for connections to the proxy. By enabling this setting, you can enforce encrypted TLS connections to the proxy, even if the associated database doesn't use TLS.

    " + }, + "IdleClientTimeout":{ + "shape":"IntegerOptional", + "documentation":"

    The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it. You can set this value higher or lower than the connection timeout limit for the associated database.

    " + }, + "DebugLogging":{ + "shape":"BooleanOptional", + "documentation":"

    Whether the proxy includes detailed information about SQL statements in its logs. This information helps you to debug issues involving SQL behavior or the performance and scalability of the proxy connections. The debug information includes the text of SQL statements that you submit through the proxy. Thus, only enable this setting when needed for debugging, and only when you have security measures in place to safeguard any sensitive information that appears in the logs.

    " + }, + "RoleArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

    " + }, + "SecurityGroups":{ + "shape":"StringList", + "documentation":"

    The new list of security groups for the DBProxy.

    " + } + } + }, + "ModifyDBProxyResponse":{ + "type":"structure", + "members":{ + "DBProxy":{ + "shape":"DBProxy", + "documentation":"

    The DBProxy object representing the new settings for the proxy.

    " + } + } + }, + "ModifyDBProxyTargetGroupRequest":{ + "type":"structure", + "required":[ + "TargetGroupName", + "DBProxyName" + ], + "members":{ + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The name of the new target group to assign to the proxy.

    " + }, + "DBProxyName":{ + "shape":"String", + "documentation":"

    The name of the new proxy to which to assign the target group.

    " + }, + "ConnectionPoolConfig":{ + "shape":"ConnectionPoolConfiguration", + "documentation":"

    The settings that determine the size and behavior of the connection pool for the target group.

    " + }, + "NewName":{ + "shape":"String", + "documentation":"

    The new name for the modified DBProxyTarget. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.

    " + } + } + }, + "ModifyDBProxyTargetGroupResponse":{ + "type":"structure", + "members":{ + "DBProxyTargetGroup":{ + "shape":"DBProxyTargetGroup", + "documentation":"

    The settings of the modified DBProxyTarget.

    " + } + } + }, "ModifyDBSnapshotAttributeMessage":{ "type":"structure", "required":[ @@ -5979,6 +9449,30 @@ "DBSnapshotAttributesResult":{"shape":"DBSnapshotAttributesResult"} } }, + "ModifyDBSnapshotMessage":{ + "type":"structure", + "required":["DBSnapshotIdentifier"], + "members":{ + "DBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the DB snapshot to modify.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The engine version to upgrade the DB snapshot to.

    The following are the database engines and engine versions that are available when you upgrade a DB snapshot.

    MySQL

    • 5.5.46 (supported for 5.1 DB snapshots)

    Oracle

    • 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)

    • 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)

    • 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)

    PostgreSQL

    For the list of engine versions that are available for upgrading a DB snapshot, see Upgrading the PostgreSQL DB Engine for Amazon RDS.

    " + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

    The option group to identify with the upgraded DB snapshot.

    You can specify this parameter when you upgrade an Oracle DB snapshot. The same option group considerations apply when upgrading a DB snapshot as when upgrading a DB instance. For more information, see Option Group Considerations in the Amazon RDS User Guide.

    " + } + } + }, + "ModifyDBSnapshotResult":{ + "type":"structure", + "members":{ + "DBSnapshot":{"shape":"DBSnapshot"} + } + }, "ModifyDBSubnetGroupMessage":{ "type":"structure", "required":[ @@ -5988,7 +9482,7 @@ "members":{ "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The name for the DB subnet group. This value is stored as a lowercase string.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The name for the DB subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.

    Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

    Example: mySubnetgroup

    " }, "DBSubnetGroupDescription":{ "shape":"String", @@ -6021,15 +9515,15 @@ }, "SourceType":{ "shape":"String", - "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. if this value is not specified, all events are returned.

    Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

    " + "documentation":"

    The type of source that is generating the events. For example, if you want to be notified of events generated by a DB instance, you would set this parameter to db-instance. If this value isn't specified, all events are returned.

    Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot

    " }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

    A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " + "documentation":"

    A list of event categories for a SourceType that you want to subscribe to. You can see a list of the categories for a given SourceType in the Events topic in the Amazon RDS User Guide or by using the DescribeEventCategories action.

    " }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

    A Boolean value; set to true to activate the subscription.

    " + "documentation":"

    A value that indicates whether to activate the subscription.

    " } }, "documentation":"

    " @@ -6040,13 +9534,36 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "ModifyGlobalClusterMessage":{ + "type":"structure", + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier for the global cluster being modified. This parameter isn't case-sensitive.

    Constraints:

    • Must match the identifier of an existing global database cluster.

    " + }, + "NewGlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The new cluster identifier for the global database cluster when modifying a global database cluster. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens

    • The first character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-cluster2

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates if the global database cluster has deletion protection enabled. The global database cluster can't be deleted when deletion protection is enabled.

    " + } + } + }, + "ModifyGlobalClusterResult":{ + "type":"structure", + "members":{ + "GlobalCluster":{"shape":"GlobalCluster"} + } + }, "ModifyOptionGroupMessage":{ "type":"structure", "required":["OptionGroupName"], "members":{ "OptionGroupName":{ "shape":"String", - "documentation":"

    The name of the option group to be modified.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

    " + "documentation":"

    The name of the option group to be modified.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

    " }, "OptionsToInclude":{ "shape":"OptionConfigurationList", @@ -6058,7 +9575,7 @@ }, "ApplyImmediately":{ "shape":"Boolean", - "documentation":"

    Indicates whether the changes should be applied immediately, or during the next maintenance window for each instance associated with the option group.

    " + "documentation":"

    A value that indicates whether to apply the change immediately or during the next maintenance window for each instance associated with the option group.

    " } }, "documentation":"

    " @@ -6129,11 +9646,11 @@ }, "DBSecurityGroupMemberships":{ "shape":"DBSecurityGroupNameList", - "documentation":"

    A list of DBSecurityGroupMemebrship name strings used for this option.

    " + "documentation":"

    A list of DBSecurityGroupMembership name strings used for this option.

    " }, "VpcSecurityGroupMemberships":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A list of VpcSecurityGroupMemebrship name strings used for this option.

    " + "documentation":"

    A list of VpcSecurityGroupMembership name strings used for this option.

    " }, "OptionSettings":{ "shape":"OptionSettingsList", @@ -6280,6 +9797,18 @@ "shape":"Boolean", "documentation":"

    Permanent options can never be removed from an option group. An option group containing a permanent option can't be removed from a DB instance.

    " }, + "RequiresAutoMinorEngineVersionUpgrade":{ + "shape":"Boolean", + "documentation":"

    If true, you must enable the Auto Minor Version Upgrade setting for your DB instance before you can use this option. You can enable Auto Minor Version Upgrade when you first create your DB instance, or by modifying your DB instance later.

    " + }, + "VpcOnly":{ + "shape":"Boolean", + "documentation":"

    If true, you can only use this option with a DB instance that is in a VPC.

    " + }, + "SupportsOptionVersionDowngrade":{ + "shape":"BooleanOptional", + "documentation":"

    If true, you can change the option to an earlier version of the option. This only applies to options that have different versions available.

    " + }, "OptionGroupOptionSettings":{ "shape":"OptionGroupOptionSettingsList", "documentation":"

    The option settings that are available (and the default value) for each option in an option group.

    " @@ -6317,6 +9846,14 @@ "IsModifiable":{ "shape":"Boolean", "documentation":"

    Boolean value where true indicates that this option group option can be changed from the default value.

    " + }, + "IsRequired":{ + "shape":"Boolean", + "documentation":"

    Boolean value where true indicates that a value must be specified for this option setting of the option group option.

    " + }, + "MinimumEngineVersionPerAllowedValue":{ + "shape":"MinimumEngineVersionPerAllowedValueList", + "documentation":"

    The minimum DB engine version required for the corresponding allowed value for this option setting.

    " } }, "documentation":"

    Option group option settings are used to display settings available for each option with their default values and other information. These values are used with the DescribeOptionGroupOptions action.

    " @@ -6456,10 +9993,10 @@ }, "IsDefault":{ "shape":"Boolean", - "documentation":"

    True if the version is the default version of the option; otherwise, false.

    " + "documentation":"

    True if the version is the default version of the option, and otherwise false.

    " } }, - "documentation":"

    The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

    " + "documentation":"

    The version for an option. Option group option versions are returned by the DescribeOptionGroupOptions action.

    " }, "OptionsConflictsWith":{ "type":"list", @@ -6487,54 +10024,106 @@ "members":{ "Engine":{ "shape":"String", - "documentation":"

    The engine type of the orderable DB instance.

    " + "documentation":"

    The engine type of a DB instance.

    " }, "EngineVersion":{ "shape":"String", - "documentation":"

    The engine version of the orderable DB instance.

    " + "documentation":"

    The engine version of a DB instance.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The DB instance class for the orderable DB instance.

    " + "documentation":"

    The DB instance class for a DB instance.

    " }, "LicenseModel":{ "shape":"String", - "documentation":"

    The license model for the orderable DB instance.

    " + "documentation":"

    The license model for a DB instance.

    " + }, + "AvailabilityZoneGroup":{ + "shape":"String", + "documentation":"

    The Availability Zone group for a DB instance.

    " }, "AvailabilityZones":{ "shape":"AvailabilityZoneList", - "documentation":"

    A list of Availability Zones for the orderable DB instance.

    " + "documentation":"

    A list of Availability Zones for a DB instance.

    " }, "MultiAZCapable":{ "shape":"Boolean", - "documentation":"

    Indicates whether this orderable DB instance is multi-AZ capable.

    " + "documentation":"

    Indicates whether a DB instance is Multi-AZ capable.

    " }, "ReadReplicaCapable":{ "shape":"Boolean", - "documentation":"

    Indicates whether this orderable DB instance can have a Read Replica.

    " + "documentation":"

    Indicates whether a DB instance can have a read replica.

    " }, "Vpc":{ "shape":"Boolean", - "documentation":"

    Indicates whether this is a VPC orderable DB instance.

    " + "documentation":"

    Indicates whether a DB instance is in a VPC.

    " }, "SupportsStorageEncryption":{ "shape":"Boolean", - "documentation":"

    Indicates whether this orderable DB instance supports encrypted storage.

    " + "documentation":"

    Indicates whether a DB instance supports encrypted storage.

    " }, "StorageType":{ "shape":"String", - "documentation":"

    Indicates the storage type for this orderable DB instance.

    " + "documentation":"

    Indicates the storage type for a DB instance.

    " }, "SupportsIops":{ "shape":"Boolean", - "documentation":"

    Indicates whether this orderable DB instance supports provisioned IOPS.

    " + "documentation":"

    Indicates whether a DB instance supports provisioned IOPS.

    " }, "SupportsEnhancedMonitoring":{ "shape":"Boolean", - "documentation":"

    Indicates whether the DB instance supports enhanced monitoring at intervals from 1 to 60 seconds.

    " + "documentation":"

    Indicates whether a DB instance supports Enhanced Monitoring at intervals from 1 to 60 seconds.

    " + }, + "SupportsIAMDatabaseAuthentication":{ + "shape":"Boolean", + "documentation":"

    Indicates whether a DB instance supports IAM database authentication.

    " + }, + "SupportsPerformanceInsights":{ + "shape":"Boolean", + "documentation":"

    True if a DB instance supports Performance Insights, otherwise false.

    " + }, + "MinStorageSize":{ + "shape":"IntegerOptional", + "documentation":"

    Minimum storage size for a DB instance.

    " + }, + "MaxStorageSize":{ + "shape":"IntegerOptional", + "documentation":"

    Maximum storage size for a DB instance.

    " + }, + "MinIopsPerDbInstance":{ + "shape":"IntegerOptional", + "documentation":"

    Minimum total provisioned IOPS for a DB instance.

    " + }, + "MaxIopsPerDbInstance":{ + "shape":"IntegerOptional", + "documentation":"

    Maximum total provisioned IOPS for a DB instance.

    " + }, + "MinIopsPerGib":{ + "shape":"DoubleOptional", + "documentation":"

    Minimum provisioned IOPS per GiB for a DB instance.

    " + }, + "MaxIopsPerGib":{ + "shape":"DoubleOptional", + "documentation":"

    Maximum provisioned IOPS per GiB for a DB instance.

    " + }, + "AvailableProcessorFeatures":{ + "shape":"AvailableProcessorFeatureList", + "documentation":"

    A list of the available processor features for the DB instance class of a DB instance.

    " + }, + "SupportedEngineModes":{ + "shape":"EngineModeList", + "documentation":"

    A list of the supported DB engine modes.

    global engine mode only applies for global database clusters created with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions, the clusters in a global database use provisioned engine mode.

    " + }, + "SupportsStorageAutoscaling":{ + "shape":"BooleanOptional", + "documentation":"

    Whether Amazon RDS can automatically scale storage for DB instances that use the specified DB instance class.

    " + }, + "SupportsKerberosAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    Whether a DB instance supports Kerberos Authentication.

    " } }, - "documentation":"

    Contains a list of available options for a DB instance

    This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

    ", + "documentation":"

    Contains a list of available options for a DB instance.

    This data type is used as a response element in the DescribeOrderableDBInstanceOptions action.

    ", "wrapper":true }, "OrderableDBInstanceOptionsList":{ @@ -6549,14 +10138,14 @@ "members":{ "OrderableDBInstanceOptions":{ "shape":"OrderableDBInstanceOptionsList", - "documentation":"

    An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

    " + "documentation":"

    An OrderableDBInstanceOption structure containing information about orderable options for the DB instance.

    " }, "Marker":{ "shape":"String", "documentation":"

    An optional pagination token provided by a previous OrderableDBInstanceOptions request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions action.

    " }, "Parameter":{ "type":"structure", @@ -6600,9 +10189,13 @@ "ApplyMethod":{ "shape":"ApplyMethod", "documentation":"

    Indicates when to apply parameter updates.

    " + }, + "SupportedEngineModes":{ + "shape":"EngineModeList", + "documentation":"

    The valid DB engine modes.

    " } }, - "documentation":"

    This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

    This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

    " + "documentation":"

    This data type is used as a request parameter in the ModifyDBParameterGroup and ResetDBParameterGroup actions.

    This data type is used as a response element in the DescribeEngineDefaultParameters and DescribeDBParameters actions.

    " }, "ParametersList":{ "type":"list", @@ -6611,20 +10204,34 @@ "locationName":"Parameter" } }, + "PendingCloudwatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{ + "shape":"LogTypeList", + "documentation":"

    Log types that are in the process of being deactivated. After they are deactivated, these log types aren't exported to CloudWatch Logs.

    " + }, + "LogTypesToDisable":{ + "shape":"LogTypeList", + "documentation":"

    Log types that are in the process of being enabled. After they are enabled, these log types are exported to CloudWatch Logs.

    " + } + }, + "documentation":"

    A list of the log types whose configuration is still pending. In other words, these log types are in the process of being activated or deactivated.

    " + }, "PendingMaintenanceAction":{ "type":"structure", "members":{ "Action":{ "shape":"String", - "documentation":"

    The type of pending maintenance action that is available for the resource.

    " + "documentation":"

    The type of pending maintenance action that is available for the resource. Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.

    " }, "AutoAppliedAfterDate":{ "shape":"TStamp", - "documentation":"

    The date of the maintenance window when the action will be applied. The maintenance action will be applied to the resource during its first maintenance window after this date. If this date is specified, any next-maintenance opt-in requests are ignored.

    " + "documentation":"

    The date of the maintenance window when the action is applied. The maintenance action is applied to the resource during its first maintenance window after this date.

    " }, "ForcedApplyDate":{ "shape":"TStamp", - "documentation":"

    The date when the maintenance action will be automatically applied. The maintenance action will be applied to the resource on this date regardless of the maintenance window for the resource. If this date is specified, any immediate opt-in requests are ignored.

    " + "documentation":"

    The date when the maintenance action is automatically applied. The maintenance action is applied to the resource on this date regardless of the maintenance window for the resource.

    " }, "OptInStatus":{ "shape":"String", @@ -6632,7 +10239,7 @@ }, "CurrentApplyDate":{ "shape":"TStamp", - "documentation":"

    The effective date when the pending maintenance action will be applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

    " + "documentation":"

    The effective date when the pending maintenance action is applied to the resource. This date takes into account opt-in requests received from the ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate. This value is blank if an opt-in request has not been received and nothing has been specified as AutoAppliedAfterDate or ForcedApplyDate.

    " }, "Description":{ "shape":"String", @@ -6674,15 +10281,15 @@ "members":{ "DBInstanceClass":{ "shape":"String", - "documentation":"

    Contains the new DBInstanceClass for the DB instance that will be applied or is in progress.

    " + "documentation":"

    Contains the new DBInstanceClass for the DB instance that will be applied or is currently being applied.

    " }, "AllocatedStorage":{ "shape":"IntegerOptional", - "documentation":"

    Contains the new AllocatedStorage size for the DB instance that will be applied or is in progress.

    " + "documentation":"

    Contains the new AllocatedStorage size for the DB instance that will be applied or is currently being applied.

    " }, "MasterUserPassword":{ "shape":"String", - "documentation":"

    Contains the pending or in-progress change of the master credentials for the DB instance.

    " + "documentation":"

    Contains the pending or currently-in-progress change of the master credentials for the DB instance.

    " }, "Port":{ "shape":"IntegerOptional", @@ -6706,11 +10313,11 @@ }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

    Specifies the new Provisioned IOPS value for the DB instance that will be applied or is being applied.

    " + "documentation":"

    Specifies the new Provisioned IOPS value for the DB instance that will be applied or is currently being applied.

    " }, "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    Contains the new DBInstanceIdentifier for the DB instance that will be applied or is in progress.

    " + "documentation":"

    Contains the new DBInstanceIdentifier for the DB instance that will be applied or is currently being applied.

    " }, "StorageType":{ "shape":"String", @@ -6723,15 +10330,20 @@ "DBSubnetGroupName":{ "shape":"String", "documentation":"

    The new DB subnet group for the DB instance.

    " + }, + "PendingCloudwatchLogsExports":{"shape":"PendingCloudwatchLogsExports"}, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " } }, - "documentation":"

    This data type is used as a response element in the ModifyDBInstance action.

    " + "documentation":"

    This data type is used as a response element in the ModifyDBInstance action.

    " }, "PointInTimeRestoreNotEnabledFault":{ "type":"structure", "members":{ }, - "documentation":"

    SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

    ", + "documentation":"

    SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod equal to 0.

    ", "error":{ "code":"PointInTimeRestoreNotEnabled", "httpStatusCode":400, @@ -6739,13 +10351,34 @@ }, "exception":true }, + "ProcessorFeature":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the processor feature. Valid names are coreCount and threadsPerCore.

    " + }, + "Value":{ + "shape":"String", + "documentation":"

    The value of a processor feature name.

    " + } + }, + "documentation":"

    Contains the processor features of a DB instance class.

    To specify the number of CPU cores, use the coreCount feature name for the Name parameter. To specify the number of threads per core, use the threadsPerCore feature name for the Name parameter.

    You can set the processor features of the DB instance class for a DB instance when you call one of the following actions:

    • CreateDBInstance

    • ModifyDBInstance

    • RestoreDBInstanceFromDBSnapshot

    • RestoreDBInstanceFromS3

    • RestoreDBInstanceToPointInTime

    You can view the valid processor values for a particular instance class by calling the DescribeOrderableDBInstanceOptions action and specifying the instance class for the DBInstanceClass parameter.

    In addition, you can use the following actions for DB instance class processor information:

    • DescribeDBInstances

    • DescribeDBSnapshots

    • DescribeValidDBInstanceModifications

    For more information, see Configuring the Processor of the DB Instance Class in the Amazon RDS User Guide.

    " + }, + "ProcessorFeatureList":{ + "type":"list", + "member":{ + "shape":"ProcessorFeature", + "locationName":"ProcessorFeature" + } + }, "PromoteReadReplicaDBClusterMessage":{ "type":"structure", "required":["DBClusterIdentifier"], "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the DB cluster Read Replica to promote. This parameter is not case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster-replica1

    " + "documentation":"

    The identifier of the DB cluster read replica to promote. This parameter isn't case-sensitive.

    Constraints:

    • Must match the identifier of an existing DB cluster read replica.

    Example: my-cluster-replica1

    " } }, "documentation":"

    " @@ -6762,15 +10395,15 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier. This value is stored as a lowercase string.

    Constraints:

    • Must be the identifier for an existing Read Replica DB instance

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: mydbinstance

    " + "documentation":"

    The DB instance identifier. This value is stored as a lowercase string.

    Constraints:

    • Must match the identifier of an existing read replica DB instance.

    Example: mydbinstance

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", - "documentation":"

    The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Default: 1

    Constraints:

    • Must be a value from 0 to 8

    " + "documentation":"

    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

    Default: 1

    Constraints:

    • Must be a value from 0 to 35.

    • Can't be set to 0 if the DB instance is a source to read replicas.

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

    Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled, using the BackupRetentionPeriod parameter.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " } }, "documentation":"

    " @@ -6819,6 +10452,38 @@ "ReservedDBInstance":{"shape":"ReservedDBInstance"} } }, + "Range":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Integer", + "documentation":"

    The minimum value in the range.

    " + }, + "To":{ + "shape":"Integer", + "documentation":"

    The maximum value in the range.

    " + }, + "Step":{ + "shape":"IntegerOptional", + "documentation":"

    The step value for the range. For example, if you have a range of 5,000 to 10,000, with a step value of 1,000, the valid values start at 5,000 and step up by 1,000. Even though 7,500 is within the range, it isn't a valid value for the range. The valid values are 5,000, 6,000, 7,000, 8,000...

    " + } + }, + "documentation":"

    A range of integer values.

    " + }, + "RangeList":{ + "type":"list", + "member":{ + "shape":"Range", + "locationName":"Range" + } + }, + "ReadReplicaDBClusterIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ReadReplicaDBClusterIdentifier" + } + }, "ReadReplicaDBInstanceIdentifierList":{ "type":"list", "member":{ @@ -6833,17 +10498,21 @@ "locationName":"ReadReplicaIdentifier" } }, + "ReadersArnList":{ + "type":"list", + "member":{"shape":"String"} + }, "RebootDBInstanceMessage":{ "type":"structure", "required":["DBInstanceIdentifier"], "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The DB instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The DB instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must match the identifier of an existing DBInstance.

    " }, "ForceFailover":{ "shape":"BooleanOptional", - "documentation":"

    When true, the reboot will be conducted through a MultiAZ failover.

    Constraint: You cannot specify true if the instance is not configured for MultiAZ.

    " + "documentation":"

    A value that indicates whether the reboot is conducted through a Multi-AZ failover.

    Constraint: You can't enable force failover if the instance isn't configured for Multi-AZ.

    " } }, "documentation":"

    " @@ -6866,7 +10535,7 @@ "documentation":"

    The frequency of the recurring charge.

    " } }, - "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

    ", + "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstances and DescribeReservedDBInstancesOfferings actions.

    ", "wrapper":true }, "RecurringChargeList":{ @@ -6876,6 +10545,56 @@ "locationName":"RecurringCharge" } }, + "RegisterDBProxyTargetsRequest":{ + "type":"structure", + "required":["DBProxyName"], + "members":{ + "DBProxyName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxy that is associated with the DBProxyTargetGroup.

    " + }, + "TargetGroupName":{ + "shape":"String", + "documentation":"

    The identifier of the DBProxyTargetGroup.

    " + }, + "DBInstanceIdentifiers":{ + "shape":"StringList", + "documentation":"

    One or more DB instance identifiers.

    " + }, + "DBClusterIdentifiers":{ + "shape":"StringList", + "documentation":"

    One or more DB cluster identifiers.

    " + } + } + }, + "RegisterDBProxyTargetsResponse":{ + "type":"structure", + "members":{ + "DBProxyTargets":{ + "shape":"TargetList", + "documentation":"

    One or more DBProxyTarget objects that are created when you register targets with a target group.

    " + } + } + }, + "RemoveFromGlobalClusterMessage":{ + "type":"structure", + "members":{ + "GlobalClusterIdentifier":{ + "shape":"String", + "documentation":"

    The cluster identifier to detach from the Aurora global database cluster.

    " + }, + "DbClusterIdentifier":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) identifying the cluster that was detached from the Aurora global database cluster.

    " + } + } + }, + "RemoveFromGlobalClusterResult":{ + "type":"structure", + "members":{ + "GlobalCluster":{"shape":"GlobalCluster"} + } + }, "RemoveRoleFromDBClusterMessage":{ "type":"structure", "required":[ @@ -6885,11 +10604,37 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The name of the DB cluster to disassociate the IAM role rom.

    " + "documentation":"

    The name of the DB cluster to disassociate the IAM role from.

    " }, "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.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature for the DB cluster that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion.

    " + } + } + }, + "RemoveRoleFromDBInstanceMessage":{ + "type":"structure", + "required":[ + "DBInstanceIdentifier", + "RoleArn", + "FeatureName" + ], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The name of the DB instance to disassociate the IAM role from.

    " + }, + "RoleArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB instance, for example arn:aws:iam::123456789012:role/AccessRole.

    " + }, + "FeatureName":{ + "shape":"String", + "documentation":"

    The name of the feature for the DB instance that the IAM role is to be disassociated from. For the list of supported feature names, see DBEngineVersion.

    " } } }, @@ -6926,7 +10671,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

    The Amazon RDS resource the tags will be removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an RDS Amazon Resource Name (ARN).

    " + "documentation":"

    The Amazon RDS resource that the tags are removed from. This value is an Amazon Resource Name (ARN). For information about creating an ARN, see Constructing an ARN for Amazon RDS in the Amazon RDS User Guide.

    " }, "TagKeys":{ "shape":"KeyList", @@ -6997,9 +10742,13 @@ "ReservedDBInstanceArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) for the reserved DB instance.

    " + }, + "LeaseId":{ + "shape":"String", + "documentation":"

    The unique identifier for the lease associated with the reserved DB instance.

    AWS Support might request the lease ID for an issue related to a reserved DB instance.

    " } }, - "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

    ", + "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstances and PurchaseReservedDBInstancesOffering actions.

    ", "wrapper":true }, "ReservedDBInstanceAlreadyExistsFault":{ @@ -7033,7 +10782,7 @@ "documentation":"

    A list of reserved DB instances.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeReservedDBInstances action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeReservedDBInstances action.

    " }, "ReservedDBInstanceNotFoundFault":{ "type":"structure", @@ -7103,7 +10852,7 @@ "documentation":"

    The recurring price charged to run this reserved DB instance.

    " } }, - "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

    ", + "documentation":"

    This data type is used as a response element in the DescribeReservedDBInstancesOfferings action.

    ", "wrapper":true }, "ReservedDBInstancesOfferingList":{ @@ -7125,7 +10874,7 @@ "documentation":"

    A list of reserved DB instance offerings.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings action.

    " }, "ReservedDBInstancesOfferingNotFoundFault":{ "type":"structure", @@ -7149,11 +10898,11 @@ }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

    A value that is set to true to reset all parameters in the DB cluster parameter group to their default values, and false otherwise. You cannot use this parameter if there is a list of parameter names specified for the Parameters parameter.

    " + "documentation":"

    A value that indicates whether to reset all parameters in the DB cluster parameter group to their default values. You can't use this parameter if there is a list of parameter names specified for the Parameters parameter.

    " }, "Parameters":{ "shape":"ParametersList", - "documentation":"

    A list of parameter names in the DB cluster parameter group to reset to the default values. You cannot use this parameter if the ResetAllParameters parameter is set to true.

    " + "documentation":"

    A list of parameter names in the DB cluster parameter group to reset to the default values. You can't use this parameter if the ResetAllParameters parameter is enabled.

    " } }, "documentation":"

    " @@ -7164,15 +10913,15 @@ "members":{ "DBParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the DB parameter group.

    Constraints:

    • Must match the name of an existing DBParameterGroup.

    " }, "ResetAllParameters":{ "shape":"Boolean", - "documentation":"

    Specifies whether (true) or not (false) to reset all parameters in the DB parameter group to default values.

    Default: true

    " + "documentation":"

    A value that indicates whether to reset all parameters in the DB parameter group to default values. By default, all parameters in the DB parameter group are reset to default values.

    " }, "Parameters":{ "shape":"ParametersList", - "documentation":"

    An array of parameter names, values, and the apply method for the parameter update. At least one parameter name, value, and apply method must be supplied; subsequent arguments are optional. A maximum of 20 parameters can be modified in a single request.

    MySQL

    Valid Values (for Apply method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

    MariaDB

    Valid Values (for Apply method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

    Oracle

    Valid Values (for Apply method): pending-reboot

    " + "documentation":"

    To reset the entire DB parameter group, specify the DBParameterGroup name and ResetAllParameters parameters. To reset specific parameters, provide a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters can be modified in a single request.

    MySQL

    Valid Values (for Apply method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

    MariaDB

    Valid Values (for Apply method): immediate | pending-reboot

    You can use the immediate value with dynamic parameters only. You can use the pending-reboot value for both dynamic and static parameters, and changes are applied when DB instance reboots.

    Oracle

    Valid Values (for Apply method): pending-reboot

    " } }, "documentation":"

    " @@ -7219,7 +10968,7 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

    A list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

    " + "documentation":"

    A list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

    " }, "BackupRetentionPeriod":{ "shape":"IntegerOptional", @@ -7235,11 +10984,11 @@ }, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The name of the DB cluster to create from the source data in the S3 bucket. This parameter is isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " + "documentation":"

    The name of the DB cluster to create from the source data in the Amazon S3 bucket. This parameter is isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: my-cluster1

    " }, "DBClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, default.aurora5.6 will be used.

    Constraints:

    • Must be 1 to 255 alphanumeric characters

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the DB cluster parameter group to associate with the restored DB cluster. If this argument is omitted, default.aurora5.6 is used.

    Constraints:

    • If supplied, must match the name of an existing DBClusterParameterGroup.

    " }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", @@ -7247,15 +10996,15 @@ }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    A DB subnet group to associate with the restored DB cluster.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    A DB subnet group to associate with the restored DB cluster.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetgroup

    " }, "Engine":{ "shape":"String", - "documentation":"

    The name of the database engine to be used for the restored DB cluster.

    Valid Values: aurora

    " + "documentation":"

    The name of the database engine to be used for the restored DB cluster.

    Valid Values: aurora, aurora-postgresql

    " }, "EngineVersion":{ "shape":"String", - "documentation":"

    The version number of the database engine to use.

    Aurora

    Example: 5.6.10a

    " + "documentation":"

    The version number of the database engine to use.

    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-postgresql, use the following command:

    aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

    Aurora MySQL

    Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5

    Aurora PostgreSQL

    Example: 9.6.3, 10.7

    " }, "Port":{ "shape":"IntegerOptional", @@ -7263,7 +11012,7 @@ }, "MasterUsername":{ "shape":"String", - "documentation":"

    The name of the master user for the restored DB cluster.

    Constraints:

    • Must be 1 to 16 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word for the chosen database engine.

    " + "documentation":"

    The name of the master user for the restored DB cluster.

    Constraints:

    • Must be 1 to 16 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    " }, "MasterUserPassword":{ "shape":"String", @@ -7271,24 +11020,28 @@ }, "OptionGroupName":{ "shape":"String", - "documentation":"

    A value that indicates that the restored DB cluster should be associated with the specified option group.

    Permanent options cannot be removed from an option group. An option group cannot be removed from a DB cluster once it is associated with a DB cluster.

    " + "documentation":"

    A value that indicates that the restored DB cluster should be associated with the specified option group.

    Permanent options can't be removed from an option group. An option group can't be removed from a DB cluster once it is associated with a DB cluster.

    " }, "PreferredBackupWindow":{ "shape":"String", - "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

    Default: A 30-minute window selected at random from an 8-hour block of time per region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Times should be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + "documentation":"

    The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon RDS User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

    Format: ddd:hh24:mi-ddd:hh24:mi

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region, occurring on a random day of the week. To see the time blocks available, see Adjusting the Preferred Maintenance Window in the Amazon Aurora User Guide.

    Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    Constraints: Minimum 30-minute window.

    " }, "Tags":{"shape":"TagList"}, "StorageEncrypted":{ "shape":"BooleanOptional", - "documentation":"

    Specifies whether the restored DB cluster is encrypted.

    " + "documentation":"

    A value that indicates whether the restored DB cluster is encrypted.

    " }, "KmsKeyId":{ "shape":"String", - "documentation":"

    The KMS key identifier for an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    If the StorageEncrypted parameter is true, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.

    " + "documentation":"

    The AWS KMS key identifier for an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

    " }, "SourceEngine":{ "shape":"String", @@ -7309,6 +11062,30 @@ "S3IngestionRoleArn":{ "shape":"String", "documentation":"

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your behalf.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

    For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " } } }, @@ -7328,15 +11105,15 @@ "members":{ "AvailabilityZones":{ "shape":"AvailabilityZones", - "documentation":"

    Provides the list of EC2 Availability Zones that instances in the restored DB cluster can be created in.

    " + "documentation":"

    Provides the list of Availability Zones (AZs) where instances in the restored DB cluster can be created.

    " }, "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The name of the DB cluster to create from the DB cluster snapshot. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " + "documentation":"

    The name of the DB cluster to create from the DB snapshot or DB cluster snapshot. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " }, "SnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the DB cluster snapshot to restore from.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The identifier for the DB snapshot or DB cluster snapshot to restore from.

    You can use either the name or the Amazon Resource Name (ARN) to specify a DB cluster snapshot. However, you can use only the ARN to specify a DB snapshot.

    Constraints:

    • Must match the identifier of an existing Snapshot.

    " }, "Engine":{ "shape":"String", @@ -7344,15 +11121,15 @@ }, "EngineVersion":{ "shape":"String", - "documentation":"

    The version of the database engine to use for the new DB cluster.

    " + "documentation":"

    The version of the database engine to use for the new DB cluster.

    To list all of the available engine versions for aurora (for MySQL 5.6-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-mysql (for MySQL 5.7-compatible Aurora), use the following command:

    aws rds describe-db-engine-versions --engine aurora-mysql --query \"DBEngineVersions[].EngineVersion\"

    To list all of the available engine versions for aurora-postgresql, use the following command:

    aws rds describe-db-engine-versions --engine aurora-postgresql --query \"DBEngineVersions[].EngineVersion\"

    If you aren't using the default engine version, then you must specify the engine version.

    Aurora MySQL

    Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5

    Aurora PostgreSQL

    Example: 9.6.3, 10.7

    " }, "Port":{ "shape":"IntegerOptional", - "documentation":"

    The port number on which the new DB cluster accepts connections.

    Constraints: Value must be 1150-65535

    Default: The same port as the original DB cluster.

    " + "documentation":"

    The port number on which the new DB cluster accepts connections.

    Constraints: This value must be 1150-65535

    Default: The same port as the original DB cluster.

    " }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The name of the DB subnet group to use for the new DB cluster.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The name of the DB subnet group to use for the new DB cluster.

    Constraints: If supplied, must match the name of an existing DB subnet group.

    Example: mySubnetgroup

    " }, "DatabaseName":{ "shape":"String", @@ -7372,7 +11149,47 @@ }, "KmsKeyId":{ "shape":"String", - "documentation":"

    The KMS key identifier to use when restoring an encrypted DB cluster from a DB cluster snapshot.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

    If you do not specify a value for the KmsKeyId parameter, then the following will occur:

    • If the DB cluster snapshot is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB cluster snapshot.

    • If the DB cluster snapshot is not encrypted, then the restored DB cluster is encrypted using the specified encryption key.

    " + "documentation":"

    The AWS KMS key identifier to use when restoring an encrypted DB cluster from a DB snapshot or DB cluster snapshot.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

    If you don't specify a value for the KmsKeyId parameter, then the following occurs:

    • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the DB snapshot or DB cluster snapshot.

    • If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't encrypted, then the restored DB cluster isn't encrypted.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB cluster is to export to Amazon CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

    " + }, + "EngineMode":{ + "shape":"String", + "documentation":"

    The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery, global, or multimaster.

    " + }, + "ScalingConfiguration":{ + "shape":"ScalingConfiguration", + "documentation":"

    For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.

    " + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

    Constraints:

    • If supplied, must match the name of an existing default DB cluster parameter group.

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " } }, "documentation":"

    " @@ -7392,27 +11209,31 @@ "members":{ "DBClusterIdentifier":{ "shape":"String", - "documentation":"

    The name of the new DB cluster to be created.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the new DB cluster to be created.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    " + }, + "RestoreType":{ + "shape":"String", + "documentation":"

    The type of restore to be performed. You can specify one of the following values:

    • full-copy - The new DB cluster is restored as a full copy of the source DB cluster.

    • copy-on-write - The new DB cluster is restored as a clone of the source DB cluster.

    Constraints: You can't specify copy-on-write if the engine version of the source DB cluster is earlier than 1.11.

    If you don't specify a RestoreType value, then the new DB cluster is restored as a full copy of the source DB cluster.

    " }, "SourceDBClusterIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the source DB cluster from which to restore.

    Constraints:

    • Must be the identifier of an existing database instance

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The identifier of the source DB cluster from which to restore.

    Constraints:

    • Must match the identifier of an existing DBCluster.

    " }, "RestoreToTime":{ "shape":"TStamp", - "documentation":"

    The date and time to restore the DB cluster to.

    Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

    Constraints:

    • Must be before the latest restorable time for the DB instance

    • Cannot be specified if UseLatestRestorableTime parameter is true

    Example: 2015-03-07T23:45:00Z

    " + "documentation":"

    The date and time to restore the DB cluster to.

    Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

    Constraints:

    • Must be before the latest restorable time for the DB instance

    • Must be specified if UseLatestRestorableTime parameter isn't provided

    • Can't be specified if the UseLatestRestorableTime parameter is enabled

    • Can't be specified if the RestoreType parameter is copy-on-write

    Example: 2015-03-07T23:45:00Z

    " }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

    A value that is set to true to restore the DB cluster to the latest restorable backup time, and false otherwise.

    Default: false

    Constraints: Cannot be specified if RestoreToTime parameter is provided.

    " + "documentation":"

    A value that indicates whether to restore the DB cluster to the latest restorable backup time. By default, the DB cluster isn't restored to the latest restorable backup time.

    Constraints: Can't be specified if RestoreToTime parameter is provided.

    " }, "Port":{ "shape":"IntegerOptional", - "documentation":"

    The port number on which the new DB cluster accepts connections.

    Constraints: Value must be 1150-65535

    Default: The same port as the original DB cluster.

    " + "documentation":"

    The port number on which the new DB cluster accepts connections.

    Constraints: A value from 1150-65535.

    Default: The default port for the engine.

    " }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The DB subnet group name to use for the new DB cluster.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The DB subnet group name to use for the new DB cluster.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetgroup

    " }, "OptionGroupName":{ "shape":"String", @@ -7420,12 +11241,44 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A lst of VPC security groups that the new DB cluster belongs to.

    " + "documentation":"

    A list of VPC security groups that the new DB cluster belongs to.

    " }, "Tags":{"shape":"TagList"}, "KmsKeyId":{ "shape":"String", - "documentation":"

    The KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

    You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster will be encrypted with the KMS key identified by the KmsKeyId parameter.

    If you do not specify a value for the KmsKeyId parameter, then the following will occur:

    • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

    • If the DB cluster is not encrypted, then the restored DB cluster is not encrypted.

    If DBClusterIdentifier refers to a DB cluster that is note encrypted, then the restore request is rejected.

    " + "documentation":"

    The AWS KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are restoring a DB cluster with the same AWS account that owns the KMS encryption key used to encrypt the new DB cluster, then you can use the KMS key alias instead of the ARN for the KMS encryption key.

    You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different than the KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key identified by the KmsKeyId parameter.

    If you don't specify a value for the KmsKeyId parameter, then the following occurs:

    • If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

    • If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

    If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request is rejected.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled.

    For more information, see IAM Database Authentication in the Amazon Aurora User Guide.

    " + }, + "BacktrackWindow":{ + "shape":"LongOptional", + "documentation":"

    The target backtrack window, in seconds. To disable backtracking, set this value to 0.

    Default: 0

    Constraints:

    • If specified, this value must be set to a number from 0 to 259,200 (72 hours).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB cluster is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

    " + }, + "DBClusterParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB cluster parameter group to associate with this DB cluster. If this argument is omitted, the default DB cluster parameter group for the specified engine is used.

    Constraints:

    • If supplied, must match the name of an existing DB cluster parameter group.

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB cluster has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the restored DB cluster to snapshots of the restored DB cluster. The default is not to copy them.

    " + }, + "Domain":{ + "shape":"String", + "documentation":"

    Specify the Active Directory directory ID to restore the DB cluster in. The domain must be created prior to this operation.

    For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB cluster. For more information, see Kerberos Authentication in the Amazon Aurora User Guide.

    " + }, + "DomainIAMRoleName":{ + "shape":"String", + "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " } }, "documentation":"

    " @@ -7445,15 +11298,15 @@ "members":{ "DBInstanceIdentifier":{ "shape":"String", - "documentation":"

    Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens (1 to 15 for SQL Server)

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " + "documentation":"

    Name of the DB instance to create from the DB snapshot. This parameter isn't case-sensitive.

    Constraints:

    • Must contain from 1 to 63 numbers, letters, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    Example: my-snapshot-id

    " }, "DBSnapshotIdentifier":{ "shape":"String", - "documentation":"

    The identifier for the DB snapshot to restore from.

    Constraints:

    • Must contain from 1 to 255 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    " + "documentation":"

    The identifier for the DB snapshot to restore from.

    Constraints:

    • Must match the identifier of an existing DBSnapshot.

    • If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier must be the ARN of the shared DB snapshot.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The compute and memory capacity of the Amazon RDS DB instance.

    Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

    " + "documentation":"

    The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Default: The same DBInstanceClass as the original DB instance.

    " }, "Port":{ "shape":"IntegerOptional", @@ -7461,23 +11314,23 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The EC2 Availability Zone that the database instance will be created in.

    Default: A random, system-chosen Availability Zone.

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    Example: us-east-1a

    " + "documentation":"

    The Availability Zone (AZ) where the DB instance will be created.

    Default: A random, system-chosen Availability Zone.

    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    Example: us-east-1a

    " }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The DB subnet group name to use for the new instance.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The DB subnet group name to use for the new instance.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetgroup

    " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    Specifies if the DB instance is a Multi-AZ deployment.

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    " + "documentation":"

    A value that indicates whether the DB instance is a Multi-AZ deployment.

    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • Default VPC: true

    • VPC: false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

    " + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

    " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

    Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.

    " + "documentation":"

    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

    " }, "LicenseModel":{ "shape":"String", @@ -7489,40 +11342,68 @@ }, "Engine":{ "shape":"String", - "documentation":"

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source

    Valid Values: MySQL | mariadb | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | aurora

    " + "documentation":"

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

    Valid Values:

    • mariadb

    • mysql

    • oracle-ee

    • oracle-se2

    • oracle-se1

    • oracle-se

    • postgres

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

    " }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

    Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter is not specified, the IOPS value will be taken from the backup. If this parameter is set to 0, the new instance will be converted to a non-PIOPS instance, which will take additional time, though your DB instance will be available for connections before the conversion starts.

    Constraints: Must be an integer greater than 1000.

    SQL Server

    Setting the IOPS value for the SQL Server database engine is not supported.

    " + "documentation":"

    Specifies the amount of provisioned IOPS for the DB instance, expressed in I/O operations per second. If this parameter isn't specified, the IOPS value is taken from the backup. If this parameter is set to 0, the new instance is converted to a non-PIOPS instance. The conversion takes additional time, though your DB instance is available for connections before the conversion starts.

    The provisioned IOPS value must follow the requirements for your database engine. For more information, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

    Constraints: Must be an integer greater than 1000.

    " }, "OptionGroupName":{ "shape":"String", - "documentation":"

    The name of the option group to be used for the restored DB instance.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

    " + "documentation":"

    The name of the option group to be used for the restored DB instance.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

    " }, "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise standard

    " + "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified, otherwise gp2

    " }, "TdeCredentialArn":{ "shape":"String", - "documentation":"

    The ARN from the Key Store with which to associate the instance for TDE encryption.

    " + "documentation":"

    The ARN from the key store with which to associate the instance for TDE encryption.

    " }, "TdeCredentialPassword":{ "shape":"String", - "documentation":"

    The password for the given ARN from the Key Store in order to access the device.

    " + "documentation":"

    The password for the given ARN from the key store in order to access the device.

    " + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

    A list of EC2 VPC security groups to associate with this DB instance.

    Default: The default EC2 VPC security group for the DB subnet group's VPC.

    " }, "Domain":{ "shape":"String", - "documentation":"

    Specify the Active Directory Domain to restore the instance in.

    " + "documentation":"

    Specify the Active Directory directory ID to restore the DB instance in. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain.

    For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

    " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the restored DB instance to snapshots of the DB instance; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

    " }, "DomainIAMRoleName":{ "shape":"String", "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance.

    For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "UseDefaultProcessorFeatures":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

    " + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    " } }, "documentation":"

    " @@ -7533,32 +11414,221 @@ "DBInstance":{"shape":"DBInstance"} } }, - "RestoreDBInstanceToPointInTimeMessage":{ + "RestoreDBInstanceFromS3Message":{ "type":"structure", "required":[ - "SourceDBInstanceIdentifier", - "TargetDBInstanceIdentifier" + "DBInstanceIdentifier", + "DBInstanceClass", + "Engine", + "SourceEngine", + "SourceEngineVersion", + "S3BucketName", + "S3IngestionRoleArn" ], "members":{ + "DBName":{ + "shape":"String", + "documentation":"

    The name of the database to create when the DB instance is created. Follow the naming rules specified in CreateDBInstance.

    " + }, + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The DB instance identifier. This parameter is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    Example: mydbinstance

    " + }, + "AllocatedStorage":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of storage (in gigabytes) to allocate initially for the DB instance. Follow the allocation rules specified in CreateDBInstance.

    Be sure to allocate enough memory for your new DB instance so that the restore operation can succeed. You can also allocate additional memory for future growth.

    " + }, + "DBInstanceClass":{ + "shape":"String", + "documentation":"

    The compute and memory capacity of the DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.

    " + }, + "Engine":{ + "shape":"String", + "documentation":"

    The name of the database engine to be used for this instance.

    Valid Values: mysql

    " + }, + "MasterUsername":{ + "shape":"String", + "documentation":"

    The name for the master user.

    Constraints:

    • Must be 1 to 16 letters or numbers.

    • First character must be a letter.

    • Can't be a reserved word for the chosen database engine.

    " + }, + "MasterUserPassword":{ + "shape":"String", + "documentation":"

    The password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

    Constraints: Must contain from 8 to 41 characters.

    " + }, + "DBSecurityGroups":{ + "shape":"DBSecurityGroupNameList", + "documentation":"

    A list of DB security groups to associate with this DB instance.

    Default: The default DB security group for the database engine.

    " + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

    A list of VPC security groups to associate with this DB instance.

    " + }, + "AvailabilityZone":{ + "shape":"String", + "documentation":"

    The Availability Zone that the DB instance is created in. For information about AWS Regions and Availability Zones, see Regions and Availability Zones in the Amazon RDS User Guide.

    Default: A random, system-chosen Availability Zone in the endpoint's AWS Region.

    Example: us-east-1d

    Constraint: The AvailabilityZone parameter can't be specified if the DB instance is a Multi-AZ deployment. The specified Availability Zone must be in the same AWS Region as the current endpoint.

    " + }, + "DBSubnetGroupName":{ + "shape":"String", + "documentation":"

    A DB subnet group to associate with this DB instance.

    " + }, + "PreferredMaintenanceWindow":{ + "shape":"String", + "documentation":"

    The time range each week during which system maintenance can occur, in Universal Coordinated Time (UTC). For more information, see Amazon RDS Maintenance Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format ddd:hh24:mi-ddd:hh24:mi.

    • Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred backup window.

    • Must be at least 30 minutes.

    " + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

    " + }, + "BackupRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. For more information, see CreateDBInstance.

    " + }, + "PreferredBackupWindow":{ + "shape":"String", + "documentation":"

    The time range each day during which automated backups are created if automated backups are enabled. For more information, see The Backup Window in the Amazon RDS User Guide.

    Constraints:

    • Must be in the format hh24:mi-hh24:mi.

    • Must be in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

    " + }, + "Port":{ + "shape":"IntegerOptional", + "documentation":"

    The port number on which the database accepts connections.

    Type: Integer

    Valid Values: 1150-65535

    Default: 3306

    " + }, + "MultiAZ":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance is a Multi-AZ deployment. If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone parameter.

    " + }, + "EngineVersion":{ + "shape":"String", + "documentation":"

    The version number of the database engine to use. Choose the latest minor version of your database engine. For information about engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.

    " + }, + "AutoMinorVersionUpgrade":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. By default, minor engine upgrades are not applied automatically.

    " + }, + "LicenseModel":{ + "shape":"String", + "documentation":"

    The license model for this DB instance. Use general-public-license.

    " + }, + "Iops":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of Provisioned IOPS (input/output operations per second) to allocate initially for the DB instance. For information about valid Iops values, see Amazon RDS Provisioned IOPS Storage to Improve Performance in the Amazon RDS User Guide.

    " + }, + "OptionGroupName":{ + "shape":"String", + "documentation":"

    The name of the option group to associate with this DB instance. If this argument is omitted, the default option group for the specified engine is used.

    " + }, + "PubliclyAccessible":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags to associate with this DB instance. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

    " + }, + "StorageType":{ + "shape":"String", + "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise gp2

    " + }, + "StorageEncrypted":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the new DB instance is encrypted or not.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for an encrypted DB instance.

    The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. If you are creating a DB instance with the same AWS account that owns the KMS encryption key used to encrypt the new DB instance, then you can use the KMS key alias instead of the ARN for the KM encryption key.

    If the StorageEncrypted parameter is enabled, and you do not specify a value for the KmsKeyId parameter, then Amazon RDS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "CopyTagsToSnapshot":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

    " + }, + "MonitoringInterval":{ + "shape":"IntegerOptional", + "documentation":"

    The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0.

    If MonitoringRoleArn is specified, then you must also set MonitoringInterval to a value other than 0.

    Valid Values: 0, 1, 5, 10, 15, 30, 60

    Default: 0

    " + }, + "MonitoringRoleArn":{ + "shape":"String", + "documentation":"

    The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, see Setting Up and Enabling Enhanced Monitoring in the Amazon RDS User Guide.

    If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance.

    For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "SourceEngine":{ + "shape":"String", + "documentation":"

    The name of the engine of your source database.

    Valid Values: mysql

    " + }, + "SourceEngineVersion":{ + "shape":"String", + "documentation":"

    The engine version of your source database.

    Valid Values: 5.6

    " + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

    The name of your Amazon S3 bucket that contains your database backup file.

    " + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

    The prefix of your Amazon S3 bucket.

    " + }, + "S3IngestionRoleArn":{ + "shape":"String", + "documentation":"

    An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access your Amazon S3 bucket.

    " + }, + "EnablePerformanceInsights":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable Performance Insights for the DB instance.

    For more information, see Using Amazon Performance Insights in the Amazon Relational Database Service User Guide.

    " + }, + "PerformanceInsightsKMSKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of Performance Insights data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS uses your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS Region.

    " + }, + "PerformanceInsightsRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "UseDefaultProcessorFeatures":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    " + } + } + }, + "RestoreDBInstanceFromS3Result":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "RestoreDBInstanceToPointInTimeMessage":{ + "type":"structure", + "required":["TargetDBInstanceIdentifier"], + "members":{ "SourceDBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the source DB instance from which to restore.

    Constraints:

    • Must be the identifier of an existing database instance

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The identifier of the source DB instance from which to restore.

    Constraints:

    • Must match the identifier of an existing DB instance.

    " }, "TargetDBInstanceIdentifier":{ "shape":"String", - "documentation":"

    The name of the new database instance to be created.

    Constraints:

    • Must contain from 1 to 63 alphanumeric characters or hyphens

    • First character must be a letter

    • Cannot end with a hyphen or contain two consecutive hyphens

    " + "documentation":"

    The name of the new DB instance to be created.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens

    • First character must be a letter

    • Can't end with a hyphen or contain two consecutive hyphens

    " }, "RestoreTime":{ "shape":"TStamp", - "documentation":"

    The date and time to restore from.

    Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

    Constraints:

    • Must be before the latest restorable time for the DB instance

    • Cannot be specified if UseLatestRestorableTime parameter is true

    Example: 2009-09-07T23:45:00Z

    " + "documentation":"

    The date and time to restore from.

    Valid Values: Value must be a time in Universal Coordinated Time (UTC) format

    Constraints:

    • Must be before the latest restorable time for the DB instance

    • Can't be specified if the UseLatestRestorableTime parameter is enabled

    Example: 2009-09-07T23:45:00Z

    " }, "UseLatestRestorableTime":{ "shape":"Boolean", - "documentation":"

    Specifies whether (true) or not (false) the DB instance is restored from the latest backup time.

    Default: false

    Constraints: Cannot be specified if RestoreTime parameter is provided.

    " + "documentation":"

    A value that indicates whether the DB instance is restored from the latest backup time. By default, the DB instance isn't restored from the latest backup time.

    Constraints: Can't be specified if the RestoreTime parameter is provided.

    " }, "DBInstanceClass":{ "shape":"String", - "documentation":"

    The compute and memory capacity of the Amazon RDS DB instance.

    Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.2xlarge | db.m2.4xlarge | db.m3.medium | db.m3.large | db.m3.xlarge | db.m3.2xlarge | db.m4.large | db.m4.xlarge | db.m4.2xlarge | db.m4.4xlarge | db.m4.10xlarge | db.r3.large | db.r3.xlarge | db.r3.2xlarge | db.r3.4xlarge | db.r3.8xlarge | db.t2.micro | db.t2.small | db.t2.medium | db.t2.large

    Default: The same DBInstanceClass as the original DB instance.

    " + "documentation":"

    The compute and memory capacity of the Amazon RDS DB instance, for example, db.m4.large. Not all DB instance classes are available in all AWS Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB Instance Class in the Amazon RDS User Guide.

    Default: The same DBInstanceClass as the original DB instance.

    " }, "Port":{ "shape":"IntegerOptional", @@ -7566,23 +11636,23 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The EC2 Availability Zone that the database instance will be created in.

    Default: A random, system-chosen Availability Zone.

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    Example: us-east-1a

    " + "documentation":"

    The Availability Zone (AZ) where the DB instance will be created.

    Default: A random, system-chosen Availability Zone.

    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    Example: us-east-1a

    " }, "DBSubnetGroupName":{ "shape":"String", - "documentation":"

    The DB subnet group name to use for the new instance.

    Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, spaces, or hyphens. Must not be default.

    Example: mySubnetgroup

    " + "documentation":"

    The DB subnet group name to use for the new instance.

    Constraints: If supplied, must match the name of an existing DBSubnetGroup.

    Example: mySubnetgroup

    " }, "MultiAZ":{ "shape":"BooleanOptional", - "documentation":"

    Specifies if the DB instance is a Multi-AZ deployment.

    Constraint: You cannot specify the AvailabilityZone parameter if the MultiAZ parameter is set to true.

    " + "documentation":"

    A value that indicates whether the DB instance is a Multi-AZ deployment.

    Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", - "documentation":"

    Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    Default: The default behavior varies depending on whether a VPC has been requested or not. The following list shows the default behavior in each case.

    • Default VPC:true

    • VPC:false

    If no DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be publicly accessible. If a specific DB subnet group has been specified as part of the request and the PubliclyAccessible value has not been set, the DB instance will be private.

    " + "documentation":"

    A value that indicates whether the DB instance is publicly accessible. When the DB instance is publicly accessible, it is an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. When the DB instance isn't publicly accessible, it is an internal instance with a DNS name that resolves to a private IP address. For more information, see CreateDBInstance.

    " }, "AutoMinorVersionUpgrade":{ "shape":"BooleanOptional", - "documentation":"

    Indicates that minor version upgrades will be applied automatically to the DB instance during the maintenance window.

    " + "documentation":"

    A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

    " }, "LicenseModel":{ "shape":"String", @@ -7590,44 +11660,76 @@ }, "DBName":{ "shape":"String", - "documentation":"

    The database name for the restored DB instance.

    This parameter is not used for the MySQL or MariaDB engines.

    " + "documentation":"

    The database name for the restored DB instance.

    This parameter isn't used for the MySQL or MariaDB engines.

    " }, "Engine":{ "shape":"String", - "documentation":"

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source

    Valid Values: MySQL | mariadb | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres | aurora

    " + "documentation":"

    The database engine to use for the new instance.

    Default: The same as source

    Constraint: Must be compatible with the engine of the source

    Valid Values:

    • mariadb

    • mysql

    • oracle-ee

    • oracle-se2

    • oracle-se1

    • oracle-se

    • postgres

    • sqlserver-ee

    • sqlserver-se

    • sqlserver-ex

    • sqlserver-web

    " }, "Iops":{ "shape":"IntegerOptional", - "documentation":"

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

    Constraints: Must be an integer greater than 1000.

    SQL Server

    Setting the IOPS value for the SQL Server database engine is not supported.

    " + "documentation":"

    The amount of Provisioned IOPS (input/output operations per second) to be initially allocated for the DB instance.

    Constraints: Must be an integer greater than 1000.

    SQL Server

    Setting the IOPS value for the SQL Server database engine isn't supported.

    " }, "OptionGroupName":{ "shape":"String", - "documentation":"

    The name of the option group to be used for the restored DB instance.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, cannot be removed from an option group, and that option group cannot be removed from a DB instance once it is associated with a DB instance

    " + "documentation":"

    The name of the option group to be used for the restored DB instance.

    Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

    " }, "CopyTagsToSnapshot":{ "shape":"BooleanOptional", - "documentation":"

    True to copy all tags from the restored DB instance to snapshots of the DB instance; otherwise false. The default is false.

    " + "documentation":"

    A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

    " }, "Tags":{"shape":"TagList"}, "StorageType":{ "shape":"String", - "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified; otherwise standard

    " + "documentation":"

    Specifies the storage type to be associated with the DB instance.

    Valid values: standard | gp2 | io1

    If you specify io1, you must also include a value for the Iops parameter.

    Default: io1 if the Iops parameter is specified, otherwise gp2

    " }, "TdeCredentialArn":{ "shape":"String", - "documentation":"

    The ARN from the Key Store with which to associate the instance for TDE encryption.

    " + "documentation":"

    The ARN from the key store with which to associate the instance for TDE encryption.

    " }, "TdeCredentialPassword":{ "shape":"String", - "documentation":"

    The password for the given ARN from the Key Store in order to access the device.

    " + "documentation":"

    The password for the given ARN from the key store in order to access the device.

    " + }, + "VpcSecurityGroupIds":{ + "shape":"VpcSecurityGroupIdList", + "documentation":"

    A list of EC2 VPC security groups to associate with this DB instance.

    Default: The default EC2 VPC security group for the DB subnet group's VPC.

    " }, "Domain":{ "shape":"String", - "documentation":"

    Specify the Active Directory Domain to restore the instance in.

    " + "documentation":"

    Specify the Active Directory directory ID to restore the DB instance in. The domain must be created prior to this operation. Currently, only Microsoft SQL Server and Oracle DB instances can be created in an Active Directory Domain.

    For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.

    For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate users that connect to the DB instance. For more information, see Using Kerberos Authentication with Amazon RDS for Oracle in the Amazon RDS User Guide.

    " }, "DomainIAMRoleName":{ "shape":"String", "documentation":"

    Specify the name of the IAM role to be used when making API calls to the Directory Service.

    " + }, + "EnableIAMDatabaseAuthentication":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to enable mapping of AWS Identity and Access Management (IAM) accounts to database accounts. By default, mapping is disabled. For information about the supported DB engines, see CreateDBInstance.

    For more information about IAM database authentication, see IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.

    " + }, + "EnableCloudwatchLogsExports":{ + "shape":"LogTypeList", + "documentation":"

    The list of logs that the restored DB instance is to export to CloudWatch Logs. The values in the list depend on the DB engine being used. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

    " + }, + "ProcessorFeatures":{ + "shape":"ProcessorFeatureList", + "documentation":"

    The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

    " + }, + "UseDefaultProcessorFeatures":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance class of the DB instance uses its default processor features.

    " + }, + "DBParameterGroupName":{ + "shape":"String", + "documentation":"

    The name of the DB parameter group to associate with this DB instance.

    If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup for the specified DB engine is used.

    Constraints:

    • If supplied, must match the name of an existing DBParameterGroup.

    • Must be 1 to 255 letters, numbers, or hyphens.

    • First character must be a letter.

    • Can't end with a hyphen or contain two consecutive hyphens.

    " + }, + "DeletionProtection":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether the DB instance has deletion protection enabled. The database can't be deleted when deletion protection is enabled. By default, deletion protection is disabled. For more information, see Deleting a DB Instance.

    " + }, + "SourceDbiResourceId":{ + "shape":"String", + "documentation":"

    The resource ID of the source DB instance from which to restore.

    " } }, "documentation":"

    " @@ -7638,6 +11740,20 @@ "DBInstance":{"shape":"DBInstance"} } }, + "RestoreWindow":{ + "type":"structure", + "members":{ + "EarliestTime":{ + "shape":"TStamp", + "documentation":"

    The earliest time you can restore an instance to.

    " + }, + "LatestTime":{ + "shape":"TStamp", + "documentation":"

    The latest time you can restore an instance to.

    " + } + }, + "documentation":"

    Earliest and latest time an instance can be restored to:

    " + }, "RevokeDBSecurityGroupIngressMessage":{ "type":"structure", "required":["DBSecurityGroupName"], @@ -7648,7 +11764,7 @@ }, "CIDRIP":{ "shape":"String", - "documentation":"

    The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId cannot be provided.

    " + "documentation":"

    The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId can't be provided.

    " }, "EC2SecurityGroupName":{ "shape":"String", @@ -7660,7 +11776,7 @@ }, "EC2SecurityGroupOwnerId":{ "shape":"String", - "documentation":"

    The AWS Account Number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

    " + "documentation":"

    The AWS account number of the owner of the EC2 security group specified in the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.

    " } }, "documentation":"

    " @@ -7707,6 +11823,58 @@ }, "exception":true }, + "ScalingConfiguration":{ + "type":"structure", + "members":{ + "MinCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    The minimum capacity for an Aurora DB cluster in serverless DB engine mode.

    For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

    For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.

    The minimum capacity must be less than or equal to the maximum capacity.

    " + }, + "MaxCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

    For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128, and 256.

    For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192, and 384.

    The maximum capacity must be greater than or equal to the minimum capacity.

    " + }, + "AutoPause":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to allow or disallow automatic pause for an Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused only when it's idle (it has no connections).

    If a DB cluster is paused for more than seven days, the DB cluster might be backed up with a snapshot. In this case, the DB cluster is restored when there is a request to connect to it.

    " + }, + "SecondsUntilAutoPause":{ + "shape":"IntegerOptional", + "documentation":"

    The time, in seconds, before an Aurora DB cluster in serverless mode is paused.

    " + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

    The action to take when the timeout is reached, either ForceApplyCapacityChange or RollbackCapacityChange.

    ForceApplyCapacityChange sets the capacity to the specified value as soon as possible.

    RollbackCapacityChange, the default, ignores the capacity change if a scaling point isn't found in the timeout period.

    If you specify ForceApplyCapacityChange, connections that prevent Aurora Serverless from finding a scaling point might be dropped.

    For more information, see Autoscaling for Aurora Serverless in the Amazon Aurora User Guide.

    " + } + }, + "documentation":"

    Contains the scaling configuration of an Aurora Serverless DB cluster.

    For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

    " + }, + "ScalingConfigurationInfo":{ + "type":"structure", + "members":{ + "MinCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum capacity for the Aurora DB cluster in serverless DB engine mode.

    " + }, + "MaxCapacity":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum capacity for an Aurora DB cluster in serverless DB engine mode.

    " + }, + "AutoPause":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether automatic pause is allowed for the Aurora DB cluster in serverless DB engine mode.

    When the value is set to false for an Aurora Serverless DB cluster, the DB cluster automatically resumes.

    " + }, + "SecondsUntilAutoPause":{ + "shape":"IntegerOptional", + "documentation":"

    The remaining amount of time, in seconds, before the Aurora DB cluster in serverless mode is paused. A DB cluster can be paused only when it's idle (it has no connections).

    " + }, + "TimeoutAction":{ + "shape":"String", + "documentation":"

    The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange or RollbackCapacityChange.

    " + } + }, + "documentation":"

    Shows the scaling configuration for an Aurora DB cluster in serverless DB engine mode.

    For more information, see Using Amazon Aurora Serverless in the Amazon Aurora User Guide.

    " + }, "SharedSnapshotQuotaExceededFault":{ "type":"structure", "members":{ @@ -7723,7 +11891,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed number of DB snapshots.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of DB snapshots.

    ", "error":{ "code":"SnapshotQuotaExceeded", "httpStatusCode":400, @@ -7755,18 +11923,18 @@ "members":{ "RegionName":{ "shape":"String", - "documentation":"

    The source region name.

    " + "documentation":"

    The name of the source AWS Region.

    " }, "Endpoint":{ "shape":"String", - "documentation":"

    The source region endpoint.

    " + "documentation":"

    The endpoint for the source AWS Region endpoint.

    " }, "Status":{ "shape":"String", - "documentation":"

    The status of the source region.

    " + "documentation":"

    The status of the source AWS Region.

    " } }, - "documentation":"

    Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

    " + "documentation":"

    Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions action.

    " }, "SourceRegionList":{ "type":"list", @@ -7784,10 +11952,10 @@ }, "SourceRegions":{ "shape":"SourceRegionList", - "documentation":"

    A list of SourceRegion instances that contains each source AWS Region that the current region can get a Read Replica or a DB snapshot from.

    " + "documentation":"

    A list of SourceRegion instances that contains each source AWS Region that the current AWS Region can get a read replica or a DB snapshot from.

    " } }, - "documentation":"

    Contains the result of a successful invocation of the DescribeSourceRegions action.

    " + "documentation":"

    Contains the result of a successful invocation of the DescribeSourceRegions action.

    " }, "SourceType":{ "type":"string", @@ -7800,11 +11968,201 @@ "db-cluster-snapshot" ] }, + "StartActivityStreamRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Mode", + "KmsKeyId" + ], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

    " + }, + "Mode":{ + "shape":"ActivityStreamMode", + "documentation":"

    Specifies the mode of the database activity stream. Database events such as a change or access generate an activity stream event. The database session can handle these events either synchronously or asynchronously.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encrypting messages in the database activity stream. The key identifier can be either a key ID, a key ARN, or a key alias.

    " + }, + "ApplyImmediately":{ + "shape":"BooleanOptional", + "documentation":"

    Specifies whether or not the database activity stream is to start as soon as possible, regardless of the maintenance window for the database.

    " + } + } + }, + "StartActivityStreamResponse":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier for encryption of messages in the database activity stream.

    " + }, + "KinesisStreamName":{ + "shape":"String", + "documentation":"

    The name of the Amazon Kinesis data stream to be used for the database activity stream.

    " + }, + "Status":{ + "shape":"ActivityStreamStatus", + "documentation":"

    The status of the database activity stream.

    " + }, + "Mode":{ + "shape":"ActivityStreamMode", + "documentation":"

    The mode of the database activity stream.

    " + }, + "ApplyImmediately":{ + "shape":"Boolean", + "documentation":"

    Indicates whether or not the database activity stream will start as soon as possible, regardless of the maintenance window for the database.

    " + } + } + }, + "StartDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the Amazon Aurora DB cluster to be started. This parameter is stored as a lowercase string.

    " + } + } + }, + "StartDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StartDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The user-supplied instance identifier.

    " + } + } + }, + "StartDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, + "StartExportTaskMessage":{ + "type":"structure", + "required":[ + "ExportTaskIdentifier", + "SourceArn", + "S3BucketName", + "IamRoleArn", + "KmsKeyId" + ], + "members":{ + "ExportTaskIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the snapshot export task. This ID isn't an identifier for the Amazon S3 bucket where the snapshot is to be exported to.

    " + }, + "SourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.

    " + }, + "S3BucketName":{ + "shape":"String", + "documentation":"

    The name of the Amazon S3 bucket to export the snapshot to.

    " + }, + "IamRoleArn":{ + "shape":"String", + "documentation":"

    The name of the IAM role to use for writing to the Amazon S3 bucket when exporting a snapshot.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or the KMS key alias for the KMS encryption key. The IAM role used for the snapshot export must have encryption and decryption permissions to use this KMS key.

    " + }, + "S3Prefix":{ + "shape":"String", + "documentation":"

    The Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.

    " + }, + "ExportOnly":{ + "shape":"StringList", + "documentation":"

    The data to be exported from the snapshot. If this parameter is not provided, all the snapshot data is exported. Valid values are the following:

    • database - Export all the data from a specified database.

    • database.table table-name - Export a table of the snapshot. This format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.

    • database.schema schema-name - Export a database schema of the snapshot. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

    • database.schema.table table-name - Export a table of the database schema. This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.

    " + } + } + }, + "StopActivityStreamRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the DB cluster for the database activity stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.

    " + }, + "ApplyImmediately":{ + "shape":"BooleanOptional", + "documentation":"

    Specifies whether or not the database activity stream is to stop as soon as possible, regardless of the maintenance window for the database.

    " + } + } + }, + "StopActivityStreamResponse":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS KMS key identifier used for encrypting messages in the database activity stream.

    " + }, + "KinesisStreamName":{ + "shape":"String", + "documentation":"

    The name of the Amazon Kinesis data stream used for the database activity stream.

    " + }, + "Status":{ + "shape":"ActivityStreamStatus", + "documentation":"

    The status of the database activity stream.

    " + } + } + }, + "StopDBClusterMessage":{ + "type":"structure", + "required":["DBClusterIdentifier"], + "members":{ + "DBClusterIdentifier":{ + "shape":"String", + "documentation":"

    The DB cluster identifier of the Amazon Aurora DB cluster to be stopped. This parameter is stored as a lowercase string.

    " + } + } + }, + "StopDBClusterResult":{ + "type":"structure", + "members":{ + "DBCluster":{"shape":"DBCluster"} + } + }, + "StopDBInstanceMessage":{ + "type":"structure", + "required":["DBInstanceIdentifier"], + "members":{ + "DBInstanceIdentifier":{ + "shape":"String", + "documentation":"

    The user-supplied instance identifier.

    " + }, + "DBSnapshotIdentifier":{ + "shape":"String", + "documentation":"

    The user-supplied instance identifier of the DB Snapshot created immediately before the DB instance is stopped.

    " + } + } + }, + "StopDBInstanceResult":{ + "type":"structure", + "members":{ + "DBInstance":{"shape":"DBInstance"} + } + }, "StorageQuotaExceededFault":{ "type":"structure", "members":{ }, - "documentation":"

    Request would result in user exceeding the allowed amount of storage available across all DB instances.

    ", + "documentation":"

    The request would result in the user exceeding the allowed amount of storage available across all DB instances.

    ", "error":{ "code":"StorageQuotaExceeded", "httpStatusCode":400, @@ -7816,7 +12174,7 @@ "type":"structure", "members":{ }, - "documentation":"

    StorageType specified cannot be associated with the DB Instance.

    ", + "documentation":"

    Storage of the StorageType specified can't be associated with the DB instance.

    ", "error":{ "code":"StorageTypeNotSupported", "httpStatusCode":400, @@ -7825,6 +12183,14 @@ "exception":true }, "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "StringSensitive":{ + "type":"string", + "sensitive":true + }, "Subnet":{ "type":"structure", "members":{ @@ -7838,7 +12204,7 @@ "documentation":"

    Specifies the status of the subnet.

    " } }, - "documentation":"

    This data type is used as a response element in the DescribeDBSubnetGroups action.

    " + "documentation":"

    This data type is used as a response element in the DescribeDBSubnetGroups action.

    " }, "SubnetAlreadyInUse":{ "type":"structure", @@ -7922,11 +12288,11 @@ "members":{ "Key":{ "shape":"String", - "documentation":"

    A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and cannot be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

    " + "documentation":"

    A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

    " }, "Value":{ "shape":"String", - "documentation":"

    A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and cannot be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

    " + "documentation":"

    A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can't be prefixed with \"aws:\" or \"rds:\". The string can only contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: \"^([\\\\p{L}\\\\p{Z}\\\\p{N}_.:/=+\\\\-]*)$\").

    " } }, "documentation":"

    Metadata assigned to an Amazon RDS resource consisting of a key-value pair.

    " @@ -7937,7 +12303,7 @@ "shape":"Tag", "locationName":"Tag" }, - "documentation":"

    A list of tags.

    " + "documentation":"

    A list of tags. For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide.

    " }, "TagListMessage":{ "type":"structure", @@ -7949,6 +12315,57 @@ }, "documentation":"

    " }, + "TargetGroupList":{ + "type":"list", + "member":{"shape":"DBProxyTargetGroup"} + }, + "TargetHealth":{ + "type":"structure", + "members":{ + "State":{ + "shape":"TargetState", + "documentation":"

    The current state of the connection health lifecycle for the RDS Proxy target. The following is a typical lifecycle example for the states of an RDS Proxy target:

    registering > unavailable > available > unavailable > available

    " + }, + "Reason":{ + "shape":"TargetHealthReason", + "documentation":"

    The reason for the current health State of the RDS Proxy target.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    A description of the health of the RDS Proxy target. If the State is AVAILABLE, a description is not included.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Information about the connection health of an RDS Proxy target.

    " + }, + "TargetHealthReason":{ + "type":"string", + "enum":[ + "UNREACHABLE", + "CONNECTION_FAILED", + "AUTH_FAILURE", + "PENDING_PROXY_CAPACITY" + ] + }, + "TargetList":{ + "type":"list", + "member":{"shape":"DBProxyTarget"} + }, + "TargetState":{ + "type":"string", + "enum":[ + "REGISTERING", + "AVAILABLE", + "UNAVAILABLE" + ] + }, + "TargetType":{ + "type":"string", + "enum":[ + "RDS_INSTANCE", + "RDS_SERVERLESS_ENDPOINT", + "TRACKED_CLUSTER" + ] + }, "Timezone":{ "type":"structure", "members":{ @@ -7957,7 +12374,7 @@ "documentation":"

    The name of the time zone.

    " } }, - "documentation":"

    A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

    " + "documentation":"

    A time zone associated with a DBInstance or a DBSnapshot. This data type is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots, and the DescribeDBEngineVersions actions.

    " }, "UpgradeTarget":{ "type":"structure", @@ -7976,15 +12393,123 @@ }, "AutoUpgrade":{ "shape":"Boolean", - "documentation":"

    A value that indicates whether the target version will be applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

    " + "documentation":"

    A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

    " }, "IsMajorVersionUpgrade":{ "shape":"Boolean", - "documentation":"

    A value that indicates whether a database engine will be upgraded to a major version.

    " + "documentation":"

    A value that indicates whether a database engine is upgraded to a major version.

    " } }, "documentation":"

    The version of the database engine that a DB instance can be upgraded to.

    " }, + "UserAuthConfig":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

    A user-specified description about the authentication used by a proxy to log in as a specific database user.

    " + }, + "UserName":{ + "shape":"String", + "documentation":"

    The name of the database user to which the proxy connects.

    " + }, + "AuthScheme":{ + "shape":"AuthScheme", + "documentation":"

    The type of authentication that the proxy uses for connections from the proxy to the underlying database.

    " + }, + "SecretArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

    " + }, + "IAMAuth":{ + "shape":"IAMAuthMode", + "documentation":"

    Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Specifies the details of authentication used by a proxy to log in as a specific database user.

    " + }, + "UserAuthConfigInfo":{ + "type":"structure", + "members":{ + "Description":{ + "shape":"String", + "documentation":"

    A user-specified description about the authentication used by a proxy to log in as a specific database user.

    " + }, + "UserName":{ + "shape":"String", + "documentation":"

    The name of the database user to which the proxy connects.

    " + }, + "AuthScheme":{ + "shape":"AuthScheme", + "documentation":"

    The type of authentication that the proxy uses for connections from the proxy to the underlying database.

    " + }, + "SecretArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) representing the secret that the proxy uses to authenticate to the RDS DB instance or Aurora DB cluster. These secrets are stored within Amazon Secrets Manager.

    " + }, + "IAMAuth":{ + "shape":"IAMAuthMode", + "documentation":"

    Whether to require or disallow AWS Identity and Access Management (IAM) authentication for connections to the proxy.

    " + } + }, + "documentation":"

    This is prerelease documentation for the RDS Database Proxy feature in preview release. It is subject to change.

    Returns the details of authentication used by a proxy to log in as a specific database user.

    " + }, + "UserAuthConfigInfoList":{ + "type":"list", + "member":{"shape":"UserAuthConfigInfo"} + }, + "UserAuthConfigList":{ + "type":"list", + "member":{"shape":"UserAuthConfig"} + }, + "ValidDBInstanceModificationsMessage":{ + "type":"structure", + "members":{ + "Storage":{ + "shape":"ValidStorageOptionsList", + "documentation":"

    Valid storage options for your DB instance.

    " + }, + "ValidProcessorFeatures":{ + "shape":"AvailableProcessorFeatureList", + "documentation":"

    Valid processor features for your DB instance.

    " + } + }, + "documentation":"

    Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action. You can use this information when you call ModifyDBInstance.

    ", + "wrapper":true + }, + "ValidStorageOptions":{ + "type":"structure", + "members":{ + "StorageType":{ + "shape":"String", + "documentation":"

    The valid storage types for your DB instance. For example, gp2, io1.

    " + }, + "StorageSize":{ + "shape":"RangeList", + "documentation":"

    The valid range of storage in gibibytes. For example, 100 to 16384.

    " + }, + "ProvisionedIops":{ + "shape":"RangeList", + "documentation":"

    The valid range of provisioned IOPS. For example, 1000-20000.

    " + }, + "IopsToStorageRatio":{ + "shape":"DoubleRangeList", + "documentation":"

    The valid range of Provisioned IOPS to gibibytes of storage multiplier. For example, 3-10, which means that provisioned IOPS can be between 3 and 10 times storage.

    " + }, + "SupportsStorageAutoscaling":{ + "shape":"Boolean", + "documentation":"

    Whether or not Amazon RDS can automatically scale storage for DB instances that use the new instance class.

    " + } + }, + "documentation":"

    Information about valid modifications that you can make to your DB instance. Contains the result of a successful call to the DescribeValidDBInstanceModifications action.

    " + }, + "ValidStorageOptionsList":{ + "type":"list", + "member":{ + "shape":"ValidStorageOptions", + "locationName":"ValidStorageOptions" + } + }, "ValidUpgradeTargetList":{ "type":"list", "member":{ @@ -8019,7 +12544,37 @@ "shape":"VpcSecurityGroupMembership", "locationName":"VpcSecurityGroupMembership" } + }, + "VpnDetails":{ + "type":"structure", + "members":{ + "VpnId":{ + "shape":"String", + "documentation":"

    The ID of the VPN.

    " + }, + "VpnTunnelOriginatorIP":{ + "shape":"String", + "documentation":"

    The IP address of network traffic from your on-premises data center. A custom AZ receives the network traffic.

    " + }, + "VpnGatewayIp":{ + "shape":"String", + "documentation":"

    The IP address of network traffic from AWS to your on-premises data center.

    " + }, + "VpnPSK":{ + "shape":"StringSensitive", + "documentation":"

    The preshared key (PSK) for the VPN.

    " + }, + "VpnName":{ + "shape":"String", + "documentation":"

    The name of the VPN.

    " + }, + "VpnState":{ + "shape":"String", + "documentation":"

    The state of the VPN.

    " + } + }, + "documentation":"

    Information about the virtual private network (VPN) between the VMware vSphere cluster and the AWS website.

    For more information about RDS on VMware, see the RDS on VMware User Guide.

    " } }, - "documentation":"Amazon Relational Database Service

    Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

    Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your database instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

    This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Note that Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

    Amazon RDS API Reference

    Amazon RDS User Guide

    " + "documentation":"Amazon Relational Database Service

    Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizeable capacity for an industry-standard relational database and manages common database administration tasks, freeing up developers to focus on what makes their applications and businesses unique.

    Amazon RDS gives you access to the capabilities of a MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server. These capabilities mean that the code, applications, and tools you already use today with your existing databases work with Amazon RDS without modification. Amazon RDS automatically backs up your database and maintains the database software that powers your DB instance. Amazon RDS is flexible: you can scale your DB instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front investments, and you pay only for the resources you use.

    This interface reference for Amazon RDS contains documentation for a programming or command line interface you can use to manage Amazon RDS. Amazon RDS is asynchronous, which means that some interfaces might require techniques such as polling or callback functions to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a command is applied immediately, on the next instance reboot, or during the maintenance window. The reference structure is as follows, and we list following some related topics from the user guide.

    Amazon RDS API Reference

    Amazon RDS User Guide

    " } diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-10-31/service-2.sdk-extras.json python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/service-2.sdk-extras.json --- python-botocore-1.4.70/botocore/data/rds/2014-10-31/service-2.sdk-extras.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/service-2.sdk-extras.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,39 @@ + { + "version": 1.0, + "merge": { + "shapes": { + "CopyDBClusterSnapshotMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

    The ID of the region that contains the snapshot to be copied.

    " + } + } + }, + "CreateDBClusterMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

    The ID of the region that contains the source for the db cluster.

    " + } + } + }, + "CopyDBSnapshotMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

    The ID of the region that contains the snapshot to be copied.

    " + } + } + }, + "CreateDBInstanceReadReplicaMessage": { + "members": { + "SourceRegion": { + "shape": "String", + "documentation": "

    The ID of the region that contains the source for the read replica.

    " + } + } + } + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/rds/2014-10-31/waiters-2.json python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/waiters-2.json --- python-botocore-1.4.70/botocore/data/rds/2014-10-31/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds/2014-10-31/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -41,60 +41,218 @@ "matcher": "pathAny", "state": "failure", "argument": "DBInstances[].DBInstanceStatus" + } + ] + }, + "DBInstanceDeleted": { + "delay": 30, + "operation": "DescribeDBInstances", + "maxAttempts": 60, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(DBInstances) == `0`" }, { - "expected": "incompatible-parameters", + "expected": "DBInstanceNotFound", + "matcher": "error", + "state": "success" + }, + { + "expected": "creating", "matcher": "pathAny", "state": "failure", "argument": "DBInstances[].DBInstanceStatus" }, { - "expected": "incompatible-restore", + "expected": "modifying", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "rebooting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBInstances[].DBInstanceStatus" + }, + { + "expected": "resetting-master-credentials", "matcher": "pathAny", "state": "failure", "argument": "DBInstances[].DBInstanceStatus" } ] }, - "DBInstanceDeleted": { + "DBSnapshotAvailable": { "delay": 30, - "operation": "DescribeDBInstances", + "operation": "DescribeDBSnapshots", "maxAttempts": 60, "acceptors": [ { - "expected": "DBInstanceNotFound", + "expected": "available", + "matcher": "pathAll", + "state": "success", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + } + ] + }, + "DBSnapshotDeleted": { + "delay": 30, + "operation": "DescribeDBSnapshots", + "maxAttempts": 60, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(DBSnapshots) == `0`" + }, + { + "expected": "DBSnapshotNotFound", "matcher": "error", "state": "success" }, { - "expected": "deleted", + "expected": "creating", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "modifying", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "rebooting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + }, + { + "expected": "resetting-master-credentials", + "matcher": "pathAny", + "state": "failure", + "argument": "DBSnapshots[].Status" + } + ] + }, + "DBClusterSnapshotAvailable": { + "delay": 30, + "operation": "DescribeDBClusterSnapshots", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "available", "matcher": "pathAll", "state": "success", - "argument": "DBInstances[].DBInstanceStatus" + "argument": "DBClusterSnapshots[].Status" + }, + { + "expected": "deleted", + "matcher": "pathAny", + "state": "failure", + "argument": "DBClusterSnapshots[].Status" + }, + { + "expected": "deleting", + "matcher": "pathAny", + "state": "failure", + "argument": "DBClusterSnapshots[].Status" + }, + { + "expected": "failed", + "matcher": "pathAny", + "state": "failure", + "argument": "DBClusterSnapshots[].Status" + }, + { + "expected": "incompatible-restore", + "matcher": "pathAny", + "state": "failure", + "argument": "DBClusterSnapshots[].Status" + }, + { + "expected": "incompatible-parameters", + "matcher": "pathAny", + "state": "failure", + "argument": "DBClusterSnapshots[].Status" + } + ] + }, + "DBClusterSnapshotDeleted": { + "delay": 30, + "operation": "DescribeDBClusterSnapshots", + "maxAttempts": 60, + "acceptors": [ + { + "expected": true, + "matcher": "path", + "state": "success", + "argument": "length(DBClusterSnapshots) == `0`" + }, + { + "expected": "DBClusterSnapshotNotFoundFault", + "matcher": "error", + "state": "success" }, { "expected": "creating", "matcher": "pathAny", "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" + "argument": "DBClusterSnapshots[].Status" }, { "expected": "modifying", "matcher": "pathAny", "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" + "argument": "DBClusterSnapshots[].Status" }, { "expected": "rebooting", "matcher": "pathAny", "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" + "argument": "DBClusterSnapshots[].Status" }, { "expected": "resetting-master-credentials", "matcher": "pathAny", "state": "failure", - "argument": "DBInstances[].DBInstanceStatus" + "argument": "DBClusterSnapshots[].Status" } ] }, diff -Nru python-botocore-1.4.70/botocore/data/rds-data/2018-08-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/rds-data/2018-08-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/rds-data/2018-08-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds-data/2018-08-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/rds-data/2018-08-01/service-2.json python-botocore-1.16.19+repack/botocore/data/rds-data/2018-08-01/service-2.json --- python-botocore-1.4.70/botocore/data/rds-data/2018-08-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rds-data/2018-08-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,879 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-08-01", + "endpointPrefix":"rds-data", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS RDS DataService", + "serviceId":"RDS Data", + "signatureVersion":"v4", + "signingName":"rds-data", + "uid":"rds-data-2018-08-01" + }, + "operations":{ + "BatchExecuteStatement":{ + "name":"BatchExecuteStatement", + "http":{ + "method":"POST", + "requestUri":"/BatchExecute", + "responseCode":200 + }, + "input":{"shape":"BatchExecuteStatementRequest"}, + "output":{"shape":"BatchExecuteStatementResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"StatementTimeoutException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"} + ], + "documentation":"

    Runs a batch SQL statement over an array of data.

    You can run bulk update and insert operations for multiple records using a DML statement with different parameter sets. Bulk operations can provide a significant performance improvement over individual insert and update operations.

    If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically.

    " + }, + "BeginTransaction":{ + "name":"BeginTransaction", + "http":{ + "method":"POST", + "requestUri":"/BeginTransaction", + "responseCode":200 + }, + "input":{"shape":"BeginTransactionRequest"}, + "output":{"shape":"BeginTransactionResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"StatementTimeoutException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"} + ], + "documentation":"

    Starts a SQL transaction.

     <important> <p>A transaction can run for a maximum of 24 hours. A transaction is terminated and rolled back automatically after 24 hours.</p> <p>A transaction times out if no calls use its transaction ID in three minutes. If a transaction times out before it's committed, it's rolled back automatically.</p> <p>DDL statements inside a transaction cause an implicit commit. We recommend that you run each DDL statement in a separate <code>ExecuteStatement</code> call with <code>continueAfterTimeout</code> enabled.</p> </important> 
    " + }, + "CommitTransaction":{ + "name":"CommitTransaction", + "http":{ + "method":"POST", + "requestUri":"/CommitTransaction", + "responseCode":200 + }, + "input":{"shape":"CommitTransactionRequest"}, + "output":{"shape":"CommitTransactionResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"StatementTimeoutException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Ends a SQL transaction started with the BeginTransaction operation and commits the changes.

    " + }, + "ExecuteSql":{ + "name":"ExecuteSql", + "http":{ + "method":"POST", + "requestUri":"/ExecuteSql", + "responseCode":200 + }, + "input":{"shape":"ExecuteSqlRequest"}, + "output":{"shape":"ExecuteSqlResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"} + ], + "documentation":"

    Runs one or more SQL statements.

    This operation is deprecated. Use the BatchExecuteStatement or ExecuteStatement operation.

    ", + "deprecated":true, + "deprecatedMessage":"The ExecuteSql API is deprecated, please use the ExecuteStatement API." + }, + "ExecuteStatement":{ + "name":"ExecuteStatement", + "http":{ + "method":"POST", + "requestUri":"/Execute", + "responseCode":200 + }, + "input":{"shape":"ExecuteStatementRequest"}, + "output":{"shape":"ExecuteStatementResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"StatementTimeoutException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"} + ], + "documentation":"

    Runs a SQL statement against a database.

    If a call isn't part of a transaction because it doesn't include the transactionID parameter, changes that result from the call are committed automatically.

    The response size limit is 1 MB. If the call returns more than 1 MB of response data, the call is terminated.

    " + }, + "RollbackTransaction":{ + "name":"RollbackTransaction", + "http":{ + "method":"POST", + "requestUri":"/RollbackTransaction", + "responseCode":200 + }, + "input":{"shape":"RollbackTransactionRequest"}, + "output":{"shape":"RollbackTransactionResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"StatementTimeoutException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"ForbiddenException"}, + {"shape":"ServiceUnavailableError"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Performs a rollback of a transaction. Rolling back a transaction cancels its changes.

    " + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":100, + "min":11 + }, + "ArrayOfArray":{ + "type":"list", + "member":{"shape":"ArrayValue"}, + "documentation":"

    An array of arrays.

    Some array entries can be null.

    " + }, + "ArrayValue":{ + "type":"structure", + "members":{ + "arrayValues":{ + "shape":"ArrayOfArray", + "documentation":"

    An array of arrays.

    " + }, + "booleanValues":{ + "shape":"BooleanArray", + "documentation":"

    An array of Boolean values.

    " + }, + "doubleValues":{ + "shape":"DoubleArray", + "documentation":"

    An array of integers.

    " + }, + "longValues":{ + "shape":"LongArray", + "documentation":"

    An array of floating point numbers.

    " + }, + "stringValues":{ + "shape":"StringArray", + "documentation":"

    An array of strings.

    " + } + }, + "documentation":"

    Contains an array.

    " + }, + "ArrayValueList":{ + "type":"list", + "member":{"shape":"Value"} + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The error message returned by this BadRequestException error.

    " + } + }, + "documentation":"

    There is an error in the call or in a SQL statement.

    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BatchExecuteStatementRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "secretArn", + "sql" + ], + "members":{ + "database":{ + "shape":"DbName", + "documentation":"

    The name of the database.

    " + }, + "parameterSets":{ + "shape":"SqlParameterSets", + "documentation":"

    The parameter set for the batch operation.

    The SQL statement is executed as many times as the number of parameter sets provided. To execute a SQL statement with no parameters, use one of the following options:

    • Specify one or more empty parameter sets.

    • Use the ExecuteStatement operation instead of the BatchExecuteStatement operation.

    Array parameters are not supported.

    " + }, + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

    " + }, + "schema":{ + "shape":"DbName", + "documentation":"

    The name of the database schema.

    " + }, + "secretArn":{ + "shape":"Arn", + "documentation":"

    The name or ARN of the secret that enables access to the DB cluster.

    " + }, + "sql":{ + "shape":"SqlStatement", + "documentation":"

    The SQL statement to run.

    " + }, + "transactionId":{ + "shape":"Id", + "documentation":"

    The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in.

    If the SQL statement is not part of a transaction, don't set this parameter.

    " + } + }, + "documentation":"

    The request parameters represent the input of a SQL statement over an array of data.

    " + }, + "BatchExecuteStatementResponse":{ + "type":"structure", + "members":{ + "updateResults":{ + "shape":"UpdateResults", + "documentation":"

    The execution results of each batch entry.

    " + } + }, + "documentation":"

    The response elements represent the output of a SQL statement over an array of data.

    " + }, + "BeginTransactionRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "secretArn" + ], + "members":{ + "database":{ + "shape":"DbName", + "documentation":"

    The name of the database.

    " + }, + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

    " + }, + "schema":{ + "shape":"DbName", + "documentation":"

    The name of the database schema.

    " + }, + "secretArn":{ + "shape":"Arn", + "documentation":"

    The name or ARN of the secret that enables access to the DB cluster.

    " + } + }, + "documentation":"

    The request parameters represent the input of a request to start a SQL transaction.

    " + }, + "BeginTransactionResponse":{ + "type":"structure", + "members":{ + "transactionId":{ + "shape":"Id", + "documentation":"

    The transaction ID of the transaction started by the call.

    " + } + }, + "documentation":"

    The response elements represent the output of a request to start a SQL transaction.

    " + }, + "Blob":{"type":"blob"}, + "Boolean":{"type":"boolean"}, + "BooleanArray":{ + "type":"list", + "member":{"shape":"BoxedBoolean"}, + "documentation":"

    An array of Boolean values.

    Some array entries can be null.

    " + }, + "BoxedBoolean":{ + "type":"boolean", + "box":true + }, + "BoxedDouble":{ + "type":"double", + "box":true + }, + "BoxedFloat":{ + "type":"float", + "box":true + }, + "BoxedInteger":{ + "type":"integer", + "box":true + }, + "BoxedLong":{ + "type":"long", + "box":true + }, + "ColumnMetadata":{ + "type":"structure", + "members":{ + "arrayBaseColumnType":{ + "shape":"Integer", + "documentation":"

    The type of the column.

    " + }, + "isAutoIncrement":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether the column increments automatically.

    " + }, + "isCaseSensitive":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether the column is case-sensitive.

    " + }, + "isCurrency":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether the column contains currency values.

    " + }, + "isSigned":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether an integer column is signed.

    " + }, + "label":{ + "shape":"String", + "documentation":"

    The label for the column.

    " + }, + "name":{ + "shape":"String", + "documentation":"

    The name of the column.

    " + }, + "nullable":{ + "shape":"Integer", + "documentation":"

    A value that indicates whether the column is nullable.

    " + }, + "precision":{ + "shape":"Integer", + "documentation":"

    The precision value of a decimal number column.

    " + }, + "scale":{ + "shape":"Integer", + "documentation":"

    The scale value of a decimal number column.

    " + }, + "schemaName":{ + "shape":"String", + "documentation":"

    The name of the schema that owns the table that includes the column.

    " + }, + "tableName":{ + "shape":"String", + "documentation":"

    The name of the table that includes the column.

    " + }, + "type":{ + "shape":"Integer", + "documentation":"

    The type of the column.

    " + }, + "typeName":{ + "shape":"String", + "documentation":"

    The database-specific data type of the column.

    " + } + }, + "documentation":"

    Contains the metadata for a column.

    " + }, + "CommitTransactionRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "secretArn", + "transactionId" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

    " + }, + "secretArn":{ + "shape":"Arn", + "documentation":"

    The name or ARN of the secret that enables access to the DB cluster.

    " + }, + "transactionId":{ + "shape":"Id", + "documentation":"

    The identifier of the transaction to end and commit.

    " + } + }, + "documentation":"

    The request parameters represent the input of a commit transaction request.

    " + }, + "CommitTransactionResponse":{ + "type":"structure", + "members":{ + "transactionStatus":{ + "shape":"TransactionStatus", + "documentation":"

    The status of the commit operation.

    " + } + }, + "documentation":"

    The response elements represent the output of a commit transaction request.

    " + }, + "DbName":{ + "type":"string", + "max":64, + "min":0 + }, + "DecimalReturnType":{ + "type":"string", + "enum":[ + "DOUBLE_OR_LONG", + "STRING" + ] + }, + "DoubleArray":{ + "type":"list", + "member":{"shape":"BoxedDouble"}, + "documentation":"

    An array of floating point numbers.

    Some array entries can be null.

    " + }, + "ErrorMessage":{"type":"string"}, + "ExecuteSqlRequest":{ + "type":"structure", + "required":[ + "awsSecretStoreArn", + "dbClusterOrInstanceArn", + "sqlStatements" + ], + "members":{ + "awsSecretStoreArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the secret that enables access to the DB cluster.

    " + }, + "database":{ + "shape":"DbName", + "documentation":"

    The name of the database.

    " + }, + "dbClusterOrInstanceArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the Aurora Serverless DB cluster.

    " + }, + "schema":{ + "shape":"DbName", + "documentation":"

    The name of the database schema.

    " + }, + "sqlStatements":{ + "shape":"SqlStatement", + "documentation":"

    One or more SQL statements to run on the DB cluster.

    You can separate SQL statements from each other with a semicolon (;). Any valid SQL statement is permitted, including data definition, data manipulation, and commit statements.

    " + } + }, + "documentation":"

    The request parameters represent the input of a request to run one or more SQL statements.

    " + }, + "ExecuteSqlResponse":{ + "type":"structure", + "members":{ + "sqlStatementResults":{ + "shape":"SqlStatementResults", + "documentation":"

    The results of the SQL statement or statements.

    " + } + }, + "documentation":"

    The response elements represent the output of a request to run one or more SQL statements.

    " + }, + "ExecuteStatementRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "secretArn", + "sql" + ], + "members":{ + "continueAfterTimeout":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether to continue running the statement after the call times out. By default, the statement stops running when the call times out.

    For DDL statements, we recommend continuing to run the statement after the call times out. When a DDL statement terminates before it is finished running, it can result in errors and possibly corrupted data structures.

    " + }, + "database":{ + "shape":"DbName", + "documentation":"

    The name of the database.

    " + }, + "includeResultMetadata":{ + "shape":"Boolean", + "documentation":"

    A value that indicates whether to include metadata in the results.

    " + }, + "parameters":{ + "shape":"SqlParametersList", + "documentation":"

    The parameters for the SQL statement.

    Array parameters are not supported.

    " + }, + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

    " + }, + "resultSetOptions":{ + "shape":"ResultSetOptions", + "documentation":"

    Options that control how the result set is returned.

    " + }, + "schema":{ + "shape":"DbName", + "documentation":"

    The name of the database schema.

    " + }, + "secretArn":{ + "shape":"Arn", + "documentation":"

    The name or ARN of the secret that enables access to the DB cluster.

    " + }, + "sql":{ + "shape":"SqlStatement", + "documentation":"

    The SQL statement to run.

    " + }, + "transactionId":{ + "shape":"Id", + "documentation":"

    The identifier of a transaction that was started by using the BeginTransaction operation. Specify the transaction ID of the transaction that you want to include the SQL statement in.

    If the SQL statement is not part of a transaction, don't set this parameter.

    " + } + }, + "documentation":"

    The request parameters represent the input of a request to run a SQL statement against a database.

    " + }, + "ExecuteStatementResponse":{ + "type":"structure", + "members":{ + "columnMetadata":{ + "shape":"Metadata", + "documentation":"

    Metadata for the columns included in the results.

    " + }, + "generatedFields":{ + "shape":"FieldList", + "documentation":"

    Values for fields generated during the request.

     <note> <p>The <code>generatedFields</code> data isn't supported by Aurora PostgreSQL. To get the values of generated fields, use the <code>RETURNING</code> clause. For more information, see <a href="https://www.postgresql.org/docs/10/dml-returning.html">Returning Data From Modified Rows</a> in the PostgreSQL documentation.</p> </note> 
    " + }, + "numberOfRecordsUpdated":{ + "shape":"RecordsUpdated", + "documentation":"

    The number of records updated by the request.

    " + }, + "records":{ + "shape":"SqlRecords", + "documentation":"

    The records returned by the SQL statement.

    " + } + }, + "documentation":"

    The response elements represent the output of a request to run a SQL statement against a database.

    " + }, + "Field":{ + "type":"structure", + "members":{ + "arrayValue":{ + "shape":"ArrayValue", + "documentation":"

    An array of values.

    " + }, + "blobValue":{ + "shape":"Blob", + "documentation":"

    A value of BLOB data type.

    " + }, + "booleanValue":{ + "shape":"BoxedBoolean", + "documentation":"

    A value of Boolean data type.

    " + }, + "doubleValue":{ + "shape":"BoxedDouble", + "documentation":"

    A value of double data type.

    " + }, + "isNull":{ + "shape":"BoxedBoolean", + "documentation":"

    A NULL value.

    " + }, + "longValue":{ + "shape":"BoxedLong", + "documentation":"

    A value of long data type.

    " + }, + "stringValue":{ + "shape":"String", + "documentation":"

    A value of string data type.

    " + } + }, + "documentation":"

    Contains a value.

    " + }, + "FieldList":{ + "type":"list", + "member":{"shape":"Field"} + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The error message returned by this ForbiddenException error.

    " + } + }, + "documentation":"

    There are insufficient privileges to make the call.

    ", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Id":{ + "type":"string", + "max":192, + "min":0 + }, + "Integer":{"type":"integer"}, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An internal error occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "Long":{"type":"long"}, + "LongArray":{ + "type":"list", + "member":{"shape":"BoxedLong"}, + "documentation":"

    An array of integers.

    Some array entries can be null.

    " + }, + "Metadata":{ + "type":"list", + "member":{"shape":"ColumnMetadata"} + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The error message returned by this NotFoundException error.

    " + } + }, + "documentation":"

    The resourceArn, secretArn, or transactionId value can't be found.

    ", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ParameterName":{"type":"string"}, + "Record":{ + "type":"structure", + "members":{ + "values":{ + "shape":"Row", + "documentation":"

    The values returned in the record.

    " + } + }, + "documentation":"

    A record returned by a call.

    " + }, + "Records":{ + "type":"list", + "member":{"shape":"Record"} + }, + "RecordsUpdated":{"type":"long"}, + "ResultFrame":{ + "type":"structure", + "members":{ + "records":{ + "shape":"Records", + "documentation":"

    The records in the result set.

    " + }, + "resultSetMetadata":{ + "shape":"ResultSetMetadata", + "documentation":"

    The result-set metadata in the result set.

    " + } + }, + "documentation":"

    The result set returned by a SQL statement.

    " + }, + "ResultSetMetadata":{ + "type":"structure", + "members":{ + "columnCount":{ + "shape":"Long", + "documentation":"

    The number of columns in the result set.

    " + }, + "columnMetadata":{ + "shape":"Metadata", + "documentation":"

    The metadata of the columns in the result set.

    " + } + }, + "documentation":"

    The metadata of the result set returned by a SQL statement.

    " + }, + "ResultSetOptions":{ + "type":"structure", + "members":{ + "decimalReturnType":{ + "shape":"DecimalReturnType", + "documentation":"

    A value that indicates how a field of DECIMAL type is represented in the response. The value of STRING, the default, specifies that it is converted to a String value. The value of DOUBLE_OR_LONG specifies that it is converted to a Long value if its scale is 0, or to a Double value otherwise.

    Conversion to Double or Long can result in roundoff errors due to precision loss. We recommend converting to String, especially when working with currency values.

    " + } + }, + "documentation":"

    Options that control how the result set is returned.

    " + }, + "RollbackTransactionRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "secretArn", + "transactionId" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the Aurora Serverless DB cluster.

    " + }, + "secretArn":{ + "shape":"Arn", + "documentation":"

    The name or ARN of the secret that enables access to the DB cluster.

    " + }, + "transactionId":{ + "shape":"Id", + "documentation":"

    The identifier of the transaction to roll back.

    " + } + }, + "documentation":"

    The request parameters represent the input of a request to perform a rollback of a transaction.

    " + }, + "RollbackTransactionResponse":{ + "type":"structure", + "members":{ + "transactionStatus":{ + "shape":"TransactionStatus", + "documentation":"

    The status of the rollback operation.

    " + } + }, + "documentation":"

    The response elements represent the output of a request to perform a rollback of a transaction.

    " + }, + "Row":{ + "type":"list", + "member":{"shape":"Value"} + }, + "ServiceUnavailableError":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The service specified by the resourceArn parameter is not available.

    ", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SqlParameter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"ParameterName", + "documentation":"

    The name of the parameter.

    " + }, + "typeHint":{ + "shape":"TypeHint", + "documentation":"

    A hint that specifies the correct object type for data type mapping.

    Values:

    • DECIMAL - The corresponding String parameter value is sent as an object of DECIMAL type to the database.

    • TIMESTAMP - The corresponding String parameter value is sent as an object of TIMESTAMP type to the database. The accepted format is YYYY-MM-DD HH:MM:SS[.FFF].

    • TIME - The corresponding String parameter value is sent as an object of TIME type to the database. The accepted format is HH:MM:SS[.FFF].

    • DATE - The corresponding String parameter value is sent as an object of DATE type to the database. The accepted format is YYYY-MM-DD.

    " + }, + "value":{ + "shape":"Field", + "documentation":"

    The value of the parameter.

    " + } + }, + "documentation":"

    A parameter used in a SQL statement.

    " + }, + "SqlParameterSets":{ + "type":"list", + "member":{"shape":"SqlParametersList"} + }, + "SqlParametersList":{ + "type":"list", + "member":{"shape":"SqlParameter"} + }, + "SqlRecords":{ + "type":"list", + "member":{"shape":"FieldList"} + }, + "SqlStatement":{ + "type":"string", + "max":65536, + "min":0 + }, + "SqlStatementResult":{ + "type":"structure", + "members":{ + "numberOfRecordsUpdated":{ + "shape":"RecordsUpdated", + "documentation":"

    The number of records updated by a SQL statement.

    " + }, + "resultFrame":{ + "shape":"ResultFrame", + "documentation":"

    The result set of the SQL statement.

    " + } + }, + "documentation":"

    The result of a SQL statement.

     <important> <p>This data type is deprecated.</p> </important> 
    " + }, + "SqlStatementResults":{ + "type":"list", + "member":{"shape":"SqlStatementResult"} + }, + "StatementTimeoutException":{ + "type":"structure", + "members":{ + "dbConnectionId":{ + "shape":"Long", + "documentation":"

    The database connection ID that executed the SQL statement.

    " + }, + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The error message returned by this StatementTimeoutException error.

    " + } + }, + "documentation":"

    The execution of the SQL statement timed out.

    ", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "StringArray":{ + "type":"list", + "member":{"shape":"String"}, + "documentation":"

    An array of strings.

    Some array entries can be null.

    " + }, + "StructValue":{ + "type":"structure", + "members":{ + "attributes":{ + "shape":"ArrayValueList", + "documentation":"

    The attributes returned in the record.

    " + } + }, + "documentation":"

    A structure value returned by a call.

    " + }, + "TransactionStatus":{ + "type":"string", + "max":128, + "min":0 + }, + "TypeHint":{ + "type":"string", + "enum":[ + "DATE", + "DECIMAL", + "TIME", + "TIMESTAMP" + ] + }, + "UpdateResult":{ + "type":"structure", + "members":{ + "generatedFields":{ + "shape":"FieldList", + "documentation":"

    Values for fields generated during the request.

    " + } + }, + "documentation":"

    The response elements represent the results of an update.

    " + }, + "UpdateResults":{ + "type":"list", + "member":{"shape":"UpdateResult"} + }, + "Value":{ + "type":"structure", + "members":{ + "arrayValues":{ + "shape":"ArrayValueList", + "documentation":"

    An array of column values.

    " + }, + "bigIntValue":{ + "shape":"BoxedLong", + "documentation":"

    A value for a column of big integer data type.

    " + }, + "bitValue":{ + "shape":"BoxedBoolean", + "documentation":"

    A value for a column of BIT data type.

    " + }, + "blobValue":{ + "shape":"Blob", + "documentation":"

    A value for a column of BLOB data type.

    " + }, + "doubleValue":{ + "shape":"BoxedDouble", + "documentation":"

    A value for a column of double data type.

    " + }, + "intValue":{ + "shape":"BoxedInteger", + "documentation":"

    A value for a column of integer data type.

    " + }, + "isNull":{ + "shape":"BoxedBoolean", + "documentation":"

    A NULL value.

    " + }, + "realValue":{ + "shape":"BoxedFloat", + "documentation":"

    A value for a column of real data type.

    " + }, + "stringValue":{ + "shape":"String", + "documentation":"

    A value for a column of string data type.

    " + }, + "structValue":{ + "shape":"StructValue", + "documentation":"

    A value for a column of STRUCT data type.

    " + } + }, + "documentation":"

    Contains the value of a column.

     <important> <p>This data type is deprecated.</p> </important> 
    " + } + }, + "documentation":"

    Amazon RDS Data Service

    Amazon RDS provides an HTTP endpoint to run SQL statements on an Amazon Aurora Serverless DB cluster. To run these statements, you work with the Data Service API.

    For more information about the Data Service API, see Using the Data API for Aurora Serverless in the Amazon Aurora User Guide.

    If you have questions or comments related to the Data API, send email to Rds-data-api-feedback@amazon.com.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/redshift/2012-12-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/examples-1.json --- python-botocore-1.4.70/botocore/data/redshift/2012-12-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/redshift/2012-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/redshift/2012-12-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -89,6 +89,66 @@ "output_token": "Marker", "limit_key": "MaxRecords", "result_key": "ReservedNodes" + }, + "DescribeClusterDbRevisions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ClusterDbRevisions" + }, + "DescribeClusterTracks": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "MaintenanceTracks" + }, + "DescribeSnapshotCopyGrants": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "SnapshotCopyGrants" + }, + "DescribeSnapshotSchedules": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "SnapshotSchedules" + }, + "DescribeTableRestoreStatus": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TableRestoreStatusDetails" + }, + "DescribeTags": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "TaggedResources" + }, + "GetReservedNodeExchangeOfferings": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ReservedNodeOfferings" + }, + "DescribeNodeConfigurationOptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "NodeConfigurationOptionList" + }, + "DescribeScheduledActions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "ScheduledActions" + }, + "DescribeUsageLimits": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "UsageLimits" } } } diff -Nru python-botocore-1.4.70/botocore/data/redshift/2012-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/redshift/2012-12-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -5,10 +5,34 @@ "endpointPrefix":"redshift", "protocol":"query", "serviceFullName":"Amazon Redshift", + "serviceId":"Redshift", "signatureVersion":"v4", + "uid":"redshift-2012-12-01", "xmlNamespace":"http://redshift.amazonaws.com/doc/2012-12-01/" }, "operations":{ + "AcceptReservedNodeExchange":{ + "name":"AcceptReservedNodeExchange", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptReservedNodeExchangeInputMessage"}, + "output":{ + "shape":"AcceptReservedNodeExchangeOutputMessage", + "resultWrapper":"AcceptReservedNodeExchangeResult" + }, + "errors":[ + {"shape":"ReservedNodeNotFoundFault"}, + {"shape":"InvalidReservedNodeStateFault"}, + {"shape":"ReservedNodeAlreadyMigratedFault"}, + {"shape":"ReservedNodeOfferingNotFoundFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceUnavailableFault"}, + {"shape":"ReservedNodeAlreadyExistsFault"} + ], + "documentation":"

    Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs.

    " + }, "AuthorizeClusterSecurityGroupIngress":{ "name":"AuthorizeClusterSecurityGroupIngress", "http":{ @@ -26,7 +50,7 @@ {"shape":"AuthorizationAlreadyExistsFault"}, {"shape":"AuthorizationQuotaExceededFault"} ], - "documentation":"

    Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

    If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS region.

    If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.

    You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending on whether the application accessing your cluster is running on the Internet or an Amazon EC2 instance, you can authorize inbound access to either a Classless Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 security group. You can add as many as 20 ingress rules to an Amazon Redshift security group.

    If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift cluster must be in the same AWS Region.

    If you authorize access to a CIDR/IP address range, specify CIDRIP. For an overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain Routing.

    You must also associate the security group with a cluster so that clients running on these IP addresses or the EC2 instance are authorized to connect to the cluster. For information about managing security groups, go to Working with Security Groups in the Amazon Redshift Cluster Management Guide.

    " }, "AuthorizeSnapshotAccess":{ "name":"AuthorizeSnapshotAccess", @@ -47,7 +71,59 @@ {"shape":"InvalidClusterSnapshotStateFault"}, {"shape":"LimitExceededFault"} ], - "documentation":"

    Authorizes the specified AWS customer account to restore the specified snapshot.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Authorizes the specified AWS customer account to restore the specified snapshot.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + }, + "BatchDeleteClusterSnapshots":{ + "name":"BatchDeleteClusterSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchDeleteClusterSnapshotsRequest"}, + "output":{ + "shape":"BatchDeleteClusterSnapshotsResult", + "resultWrapper":"BatchDeleteClusterSnapshotsResult" + }, + "errors":[ + {"shape":"BatchDeleteRequestSizeExceededFault"} + ], + "documentation":"

    Deletes a set of cluster snapshots.

    " + }, + "BatchModifyClusterSnapshots":{ + "name":"BatchModifyClusterSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchModifyClusterSnapshotsMessage"}, + "output":{ + "shape":"BatchModifyClusterSnapshotsOutputMessage", + "resultWrapper":"BatchModifyClusterSnapshotsResult" + }, + "errors":[ + {"shape":"InvalidRetentionPeriodFault"}, + {"shape":"BatchModifyClusterSnapshotsLimitExceededFault"} + ], + "documentation":"

    Modifies the settings for a set of cluster snapshots.

    " + }, + "CancelResize":{ + "name":"CancelResize", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelResizeMessage"}, + "output":{ + "shape":"ResizeProgressMessage", + "resultWrapper":"CancelResizeResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ResizeNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Cancels a resize operation for a cluster.

    " }, "CopyClusterSnapshot":{ "name":"CopyClusterSnapshot", @@ -64,9 +140,10 @@ {"shape":"ClusterSnapshotAlreadyExistsFault"}, {"shape":"ClusterSnapshotNotFoundFault"}, {"shape":"InvalidClusterSnapshotStateFault"}, - {"shape":"ClusterSnapshotQuotaExceededFault"} + {"shape":"ClusterSnapshotQuotaExceededFault"}, + {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

    Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.

    When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Copies the specified automated cluster snapshot to a new manual cluster snapshot. The source must be an automated snapshot and it must be in the available state.

    When you delete a cluster, Amazon Redshift deletes any automated snapshots of the cluster. Also, when the retention period of the snapshot expires, Amazon Redshift automatically deletes it. If you want to keep an automated snapshot for a longer period, you can make a manual copy of the snapshot. Manual snapshots are retained until you delete them.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " }, "CreateCluster":{ "name":"CreateCluster", @@ -98,9 +175,12 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"}, {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"InvalidClusterTrackFault"}, + {"shape":"SnapshotScheduleNotFoundFault"}, + {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

    Creates a new cluster.

    To create the cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a new cluster with the specified parameters.

    To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster subnet group name. The cluster subnet group identifies the subnets of your VPC that Amazon Redshift uses when creating the cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " }, "CreateClusterParameterGroup":{ "name":"CreateClusterParameterGroup", @@ -119,7 +199,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Creates an Amazon Redshift parameter group.

    Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.

    Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates an Amazon Redshift parameter group.

    Creating parameter groups is independent of creating clusters. You can associate a cluster with a parameter group when you create the cluster. You can also associate an existing cluster with a parameter group after the cluster is created by using ModifyCluster.

    Parameters in the parameter group define specific behavior that applies to the databases you create on the cluster. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " }, "CreateClusterSecurityGroup":{ "name":"CreateClusterSecurityGroup", @@ -138,7 +218,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a new Amazon Redshift security group. You use security groups to control access to non-VPC clusters.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " }, "CreateClusterSnapshot":{ "name":"CreateClusterSnapshot", @@ -157,9 +237,10 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"ClusterSnapshotQuotaExceededFault"}, {"shape":"TagLimitExceededFault"}, - {"shape":"InvalidTagFault"} + {"shape":"InvalidTagFault"}, + {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

    Creates a manual snapshot of the specified cluster. The cluster must be in the available state.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a manual snapshot of the specified cluster. The cluster must be in the available state.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " }, "CreateClusterSubnetGroup":{ "name":"CreateClusterSubnetGroup", @@ -182,7 +263,7 @@ {"shape":"InvalidTagFault"}, {"shape":"DependentServiceRequestThrottlingFault"} ], - "documentation":"

    Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

    For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

    For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

    " }, "CreateEventSubscription":{ "name":"CreateEventSubscription", @@ -227,7 +308,7 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

    The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates an HSM client certificate that an Amazon Redshift cluster will use to connect to the client's HSM in order to store and retrieve the keys used to encrypt the cluster databases.

    The command returns a public key, which you must store in the HSM. In addition to creating the HSM certificate, you must create an Amazon Redshift HSM configuration that provides a cluster the information needed to store and use encryption keys in the HSM. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

    " }, "CreateHsmConfiguration":{ "name":"CreateHsmConfiguration", @@ -246,7 +327,28 @@ {"shape":"TagLimitExceededFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

    In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates an HSM configuration that contains the information required by an Amazon Redshift cluster to store and use database encryption keys in a Hardware Security Module (HSM). After creating the HSM configuration, you can specify it as a parameter when creating a cluster. The cluster will then store its encryption keys in the HSM.

    In addition to creating an HSM configuration, you must also create an HSM client certificate. For more information, go to Hardware Security Modules in the Amazon Redshift Cluster Management Guide.

    " + }, + "CreateScheduledAction":{ + "name":"CreateScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScheduledActionMessage"}, + "output":{ + "shape":"ScheduledAction", + "resultWrapper":"CreateScheduledActionResult" + }, + "errors":[ + {"shape":"ScheduledActionAlreadyExistsFault"}, + {"shape":"ScheduledActionQuotaExceededFault"}, + {"shape":"ScheduledActionTypeUnsupportedFault"}, + {"shape":"InvalidScheduleFault"}, + {"shape":"InvalidScheduledActionFault"}, + {"shape":"UnauthorizedOperation"} + ], + "documentation":"

    Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the ResizeCluster API operation.

    " }, "CreateSnapshotCopyGrant":{ "name":"CreateSnapshotCopyGrant", @@ -267,7 +369,27 @@ {"shape":"InvalidTagFault"}, {"shape":"DependentServiceRequestThrottlingFault"} ], - "documentation":"

    Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied snapshots in a destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    " + }, + "CreateSnapshotSchedule":{ + "name":"CreateSnapshotSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotScheduleMessage"}, + "output":{ + "shape":"SnapshotSchedule", + "resultWrapper":"CreateSnapshotScheduleResult" + }, + "errors":[ + {"shape":"SnapshotScheduleAlreadyExistsFault"}, + {"shape":"InvalidScheduleFault"}, + {"shape":"SnapshotScheduleQuotaExceededFault"}, + {"shape":"TagLimitExceededFault"}, + {"shape":"ScheduleDefinitionTypeUnsupportedFault"} + ], + "documentation":"

    Create a snapshot schedule that can be associated to a cluster and which overrides the default system backup schedule.

    " }, "CreateTags":{ "name":"CreateTags", @@ -281,7 +403,29 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Adds one or more tags to a specified resource.

    A resource can have up to 10 tags. If you try to create more than 10 tags for a resource, you will receive an error and the attempt will fail.

    If you specify a key that already exists for the resource, the value for that key will be updated with the new value.

    " + "documentation":"

    Adds tags to a cluster.

    A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, you will receive an error and the attempt will fail.

    If you specify a key that already exists for the resource, the value for that key will be updated with the new value.

    " + }, + "CreateUsageLimit":{ + "name":"CreateUsageLimit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUsageLimitMessage"}, + "output":{ + "shape":"UsageLimit", + "resultWrapper":"CreateUsageLimitResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"UsageLimitAlreadyExistsFault"}, + {"shape":"InvalidUsageLimitFault"}, + {"shape":"TagLimitExceededFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Creates a usage limit for a specified Amazon Redshift feature on a cluster. The usage limit is identified by the returned usage limit identifier.

    " }, "DeleteCluster":{ "name":"DeleteCluster", @@ -298,9 +442,10 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidClusterStateFault"}, {"shape":"ClusterSnapshotAlreadyExistsFault"}, - {"shape":"ClusterSnapshotQuotaExceededFault"} + {"shape":"ClusterSnapshotQuotaExceededFault"}, + {"shape":"InvalidRetentionPeriodFault"} ], - "documentation":"

    Deletes a previously provisioned cluster. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be \"final-snapshot\" while the snapshot is being taken, then it's \"deleting\" once Amazon Redshift begins deleting the cluster.

    For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Deletes a previously provisioned cluster without its final snapshot being created. A successful response from the web service indicates that the request was received correctly. Use DescribeClusters to monitor the status of the deletion. The delete operation cannot be canceled or reverted once submitted. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot to false and specify a name for FinalClusterSnapshotIdentifier. You can later restore this snapshot to resume using the cluster. If a final cluster snapshot is requested, the status of the cluster will be \"final-snapshot\" while the snapshot is being taken, then it's \"deleting\" once Amazon Redshift begins deleting the cluster.

    For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " }, "DeleteClusterParameterGroup":{ "name":"DeleteClusterParameterGroup", @@ -326,7 +471,7 @@ {"shape":"InvalidClusterSecurityGroupStateFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"} ], - "documentation":"

    Deletes an Amazon Redshift security group.

    You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Deletes an Amazon Redshift security group.

    You cannot delete a security group that is associated with any clusters. You cannot delete the default security group.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " }, "DeleteClusterSnapshot":{ "name":"DeleteClusterSnapshot", @@ -398,6 +543,19 @@ ], "documentation":"

    Deletes the specified Amazon Redshift HSM configuration.

    " }, + "DeleteScheduledAction":{ + "name":"DeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScheduledActionMessage"}, + "errors":[ + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"UnauthorizedOperation"} + ], + "documentation":"

    Deletes a scheduled action.

    " + }, "DeleteSnapshotCopyGrant":{ "name":"DeleteSnapshotCopyGrant", "http":{ @@ -411,6 +569,19 @@ ], "documentation":"

    Deletes the specified snapshot copy grant.

    " }, + "DeleteSnapshotSchedule":{ + "name":"DeleteSnapshotSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSnapshotScheduleMessage"}, + "errors":[ + {"shape":"InvalidClusterSnapshotScheduleStateFault"}, + {"shape":"SnapshotScheduleNotFoundFault"} + ], + "documentation":"

    Deletes a snapshot schedule.

    " + }, "DeleteTags":{ "name":"DeleteTags", "http":{ @@ -422,7 +593,50 @@ {"shape":"ResourceNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Deletes a tag or tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or tags.

    " + "documentation":"

    Deletes tags from a resource. You must provide the ARN of the resource from which you want to delete the tag or tags.

    " + }, + "DeleteUsageLimit":{ + "name":"DeleteUsageLimit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUsageLimitMessage"}, + "errors":[ + {"shape":"UsageLimitNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Deletes a usage limit from a cluster.

    " + }, + "DescribeAccountAttributes":{ + "name":"DescribeAccountAttributes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountAttributesMessage"}, + "output":{ + "shape":"AccountAttributeList", + "resultWrapper":"DescribeAccountAttributesResult" + }, + "documentation":"

    Returns a list of attributes attached to an account

    " + }, + "DescribeClusterDbRevisions":{ + "name":"DescribeClusterDbRevisions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterDbRevisionsMessage"}, + "output":{ + "shape":"ClusterDbRevisionsMessage", + "resultWrapper":"DescribeClusterDbRevisionsResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"} + ], + "documentation":"

    Returns an array of ClusterDbRevision objects.

    " }, "DescribeClusterParameterGroups":{ "name":"DescribeClusterParameterGroups", @@ -439,7 +653,7 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.

    " + "documentation":"

    Returns a list of Amazon Redshift parameter groups, including parameter groups you created and the default parameter group. For each parameter group, the response includes the parameter group name, description, and parameter group family name. You can optionally specify a name to retrieve the description of a specific parameter group.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all parameter groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all parameter groups that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, parameter groups are returned regardless of whether they have tag keys or values associated with them.

    " }, "DescribeClusterParameters":{ "name":"DescribeClusterParameters", @@ -455,7 +669,7 @@ "errors":[ {"shape":"ClusterParameterGroupNotFoundFault"} ], - "documentation":"

    Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.

    You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns a detailed list of parameters contained within the specified Amazon Redshift parameter group. For each parameter the response includes information such as parameter name, description, data type, value, whether the parameter value is modifiable, and so on.

    You can specify source filter to retrieve parameters of only specific type. For example, to retrieve parameters that were modified by a user action such as from ModifyClusterParameterGroup, you can specify source equal to user.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " }, "DescribeClusterSecurityGroups":{ "name":"DescribeClusterSecurityGroups", @@ -472,7 +686,7 @@ {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.

    " + "documentation":"

    Returns information about Amazon Redshift security groups. If the name of a security group is specified, the response will contain only information about only that security group.

    For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all security groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all security groups that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, security groups are returned regardless of whether they have tag keys or values associated with them.

    " }, "DescribeClusterSnapshots":{ "name":"DescribeClusterSnapshots", @@ -486,6 +700,7 @@ "resultWrapper":"DescribeClusterSnapshotsResult" }, "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"ClusterSnapshotNotFoundFault"}, {"shape":"InvalidTagFault"} ], @@ -508,6 +723,23 @@ ], "documentation":"

    Returns one or more cluster subnet group objects, which contain metadata about your cluster subnet groups. By default, this operation returns information about all cluster subnet groups that are defined in you AWS account.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all subnet groups that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subnet groups that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, subnet groups are returned regardless of whether they have tag keys or values associated with them.

    " }, + "DescribeClusterTracks":{ + "name":"DescribeClusterTracks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterTracksMessage"}, + "output":{ + "shape":"TrackListMessage", + "resultWrapper":"DescribeClusterTracksResult" + }, + "errors":[ + {"shape":"InvalidClusterTrackFault"}, + {"shape":"UnauthorizedOperation"} + ], + "documentation":"

    Returns a list of all the available maintenance tracks.

    " + }, "DescribeClusterVersions":{ "name":"DescribeClusterVersions", "http":{ @@ -519,7 +751,7 @@ "shape":"ClusterVersionsMessage", "resultWrapper":"DescribeClusterVersionsResult" }, - "documentation":"

    Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns descriptions of the available Amazon Redshift cluster versions. You can call this operation even before creating any clusters to learn more about the Amazon Redshift versions. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " }, "DescribeClusters":{ "name":"DescribeClusters", @@ -536,7 +768,7 @@ {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.

    " + "documentation":"

    Returns properties of provisioned clusters including general cluster properties, cluster database properties, maintenance and backup properties, and security and access properties. This operation supports pagination. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all clusters that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all clusters that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, clusters are returned regardless of whether they have tag keys or values associated with them.

    " }, "DescribeDefaultClusterParameters":{ "name":"DescribeDefaultClusterParameters", @@ -549,7 +781,7 @@ "shape":"DescribeDefaultClusterParametersResult", "resultWrapper":"DescribeDefaultClusterParametersResult" }, - "documentation":"

    Returns a list of parameter settings for the specified parameter group family.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns a list of parameter settings for the specified parameter group family.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " }, "DescribeEventCategories":{ "name":"DescribeEventCategories", @@ -562,7 +794,7 @@ "shape":"EventCategoriesMessage", "resultWrapper":"DescribeEventCategoriesResult" }, - "documentation":"

    Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications.

    " + "documentation":"

    Displays a list of event categories for all event source types, or for a specified source type. For a list of the event categories and source types, go to Amazon Redshift Event Notifications.

    " }, "DescribeEventSubscriptions":{ "name":"DescribeEventSubscriptions", @@ -576,9 +808,10 @@ "resultWrapper":"DescribeEventSubscriptionsResult" }, "errors":[ - {"shape":"SubscriptionNotFoundFault"} + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"InvalidTagFault"} ], - "documentation":"

    Lists descriptions of all the Amazon Redshift event notifications subscription for a customer account. If you specify a subscription name, lists the description for that subscription.

    " + "documentation":"

    Lists descriptions of all the Amazon Redshift event notification subscriptions for a customer account. If you specify a subscription name, lists the description for that subscription.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all event notification subscriptions that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all subscriptions that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, subscriptions are returned regardless of whether they have tag keys or values associated with them.

    " }, "DescribeEvents":{ "name":"DescribeEvents", @@ -643,6 +876,25 @@ ], "documentation":"

    Describes whether information, such as queries and connection attempts, is being logged for the specified Amazon Redshift cluster.

    " }, + "DescribeNodeConfigurationOptions":{ + "name":"DescribeNodeConfigurationOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNodeConfigurationOptionsMessage"}, + "output":{ + "shape":"NodeConfigurationOptionsMessage", + "resultWrapper":"DescribeNodeConfigurationOptionsResult" + }, + "errors":[ + {"shape":"ClusterSnapshotNotFoundFault"}, + {"shape":"InvalidClusterSnapshotStateFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"AccessToSnapshotDeniedFault"} + ], + "documentation":"

    Returns properties of possible node configurations such as node type, number of nodes, and disk usage for the specified action type.

    " + }, "DescribeOrderableClusterOptions":{ "name":"DescribeOrderableClusterOptions", "http":{ @@ -654,7 +906,7 @@ "shape":"OrderableClusterOptionsMessage", "resultWrapper":"DescribeOrderableClusterOptionsResult" }, - "documentation":"

    Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns a list of orderable cluster options. Before you create a new cluster you can use this operation to find what options are available, such as the EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, and the node types you can request. The node types differ by available storage, memory, CPU and price. With the cost involved you might want to obtain a list of cluster options in the specific region and specify values when creating a cluster. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " }, "DescribeReservedNodeOfferings":{ "name":"DescribeReservedNodeOfferings", @@ -669,9 +921,10 @@ }, "errors":[ {"shape":"ReservedNodeOfferingNotFoundFault"}, - {"shape":"UnsupportedOperationFault"} + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceUnavailableFault"} ], - "documentation":"

    Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

    For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns a list of the available reserved node offerings by Amazon Redshift with their descriptions including the node type, the fixed and recurring costs of reserving the node and duration the node will be reserved for you. These descriptions help you determine which reserve node offering you want to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering to reserve one or more nodes for your Amazon Redshift cluster.

    For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

    " }, "DescribeReservedNodes":{ "name":"DescribeReservedNodes", @@ -685,7 +938,8 @@ "resultWrapper":"DescribeReservedNodesResult" }, "errors":[ - {"shape":"ReservedNodeNotFoundFault"} + {"shape":"ReservedNodeNotFoundFault"}, + {"shape":"DependentServiceUnavailableFault"} ], "documentation":"

    Returns the descriptions of the reserved nodes.

    " }, @@ -706,6 +960,23 @@ ], "documentation":"

    Returns information about the last resize operation for the specified cluster. If no resize operation has ever been initiated for the specified cluster, a HTTP 404 error is returned. If a resize operation was initiated and completed, the status of the resize remains as SUCCEEDED until the next resize.

    A resize operation can be requested using ModifyCluster and specifying a different number or type of nodes for the cluster.

    " }, + "DescribeScheduledActions":{ + "name":"DescribeScheduledActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeScheduledActionsMessage"}, + "output":{ + "shape":"ScheduledActionsMessage", + "resultWrapper":"DescribeScheduledActionsResult" + }, + "errors":[ + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"UnauthorizedOperation"} + ], + "documentation":"

    Describes properties of scheduled actions.

    " + }, "DescribeSnapshotCopyGrants":{ "name":"DescribeSnapshotCopyGrants", "http":{ @@ -721,7 +992,32 @@ {"shape":"SnapshotCopyGrantNotFoundFault"}, {"shape":"InvalidTagFault"} ], - "documentation":"

    Returns a list of snapshot copy grants owned by the AWS account in the destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Returns a list of snapshot copy grants owned by the AWS account in the destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    " + }, + "DescribeSnapshotSchedules":{ + "name":"DescribeSnapshotSchedules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSnapshotSchedulesMessage"}, + "output":{ + "shape":"DescribeSnapshotSchedulesOutputMessage", + "resultWrapper":"DescribeSnapshotSchedulesResult" + }, + "documentation":"

    Returns a list of snapshot schedules.

    " + }, + "DescribeStorage":{ + "name":"DescribeStorage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{ + "shape":"CustomerStorageMessage", + "resultWrapper":"DescribeStorageResult" + }, + "documentation":"

    Returns account level backups storage size and provisional storage.

    " }, "DescribeTableRestoreStatus":{ "name":"DescribeTableRestoreStatus", @@ -757,6 +1053,23 @@ ], "documentation":"

    Returns a list of tags. You can return tags from a specific resource by specifying an ARN, or you can return all tags for a given type of resource, such as clusters, snapshots, and so on.

    The following are limitations for DescribeTags:

    • You cannot specify an ARN and a resource-type value together in the same request.

    • You cannot use the MaxRecords and Marker parameters together with the ARN parameter.

    • The MaxRecords parameter can be a range from 10 to 50 results to return in a request.

    If you specify both tag keys and tag values in the same request, Amazon Redshift returns all resources that match any combination of the specified keys and values. For example, if you have owner and environment for tag keys, and admin and test for tag values, all resources that have any combination of those values are returned.

    If both tag keys and values are omitted from the request, resources are returned regardless of whether they have tag keys or values associated with them.

    " }, + "DescribeUsageLimits":{ + "name":"DescribeUsageLimits", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsageLimitsMessage"}, + "output":{ + "shape":"UsageLimitList", + "resultWrapper":"DescribeUsageLimitsResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Shows usage limits on a cluster. Results are filtered based on the combination of input usage limit identifier, cluster identifier, and feature type parameters:

    • If usage limit identifier, cluster identifier, and feature type are not provided, then all usage limit objects for the current account in the current region are returned.

    • If usage limit identifier is provided, then the corresponding usage limit object is returned.

    • If cluster identifier is provided, then all usage limit objects for the specified cluster are returned.

    • If cluster identifier and feature type are provided, then all usage limit objects for the combination of cluster and feature are returned.

    " + }, "DisableLogging":{ "name":"DisableLogging", "http":{ @@ -808,7 +1121,8 @@ {"shape":"BucketNotFoundFault"}, {"shape":"InsufficientS3BucketPolicyFault"}, {"shape":"InvalidS3KeyPrefixFault"}, - {"shape":"InvalidS3BucketNameFault"} + {"shape":"InvalidS3BucketNameFault"}, + {"shape":"InvalidClusterStateFault"} ], "documentation":"

    Starts logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.

    " }, @@ -833,10 +1147,49 @@ {"shape":"UnauthorizedOperation"}, {"shape":"SnapshotCopyGrantNotFoundFault"}, {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"InvalidRetentionPeriodFault"} ], "documentation":"

    Enables the automatic copy of snapshots from one region to another region for a specified cluster.

    " }, + "GetClusterCredentials":{ + "name":"GetClusterCredentials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetClusterCredentialsMessage"}, + "output":{ + "shape":"ClusterCredentials", + "resultWrapper":"GetClusterCredentialsResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Returns a database user name and temporary password with temporary authorization to log on to an Amazon Redshift database. The action returns the database user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate is True. You can optionally specify one or more database user groups that the user will join at log on. By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes). For more information, see Using IAM Authentication to Generate Database User Credentials in the Amazon Redshift Cluster Management Guide.

    The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials must have an IAM policy attached that allows access to all necessary actions and resources. For more information about permissions, see Resource Policies for GetClusterCredentials in the Amazon Redshift Cluster Management Guide.

    If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup action with access to the listed dbgroups.

    In addition, if the AutoCreate parameter is set to True, then the policy must include the redshift:CreateClusterUser privilege.

    If the DbName parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.

    " + }, + "GetReservedNodeExchangeOfferings":{ + "name":"GetReservedNodeExchangeOfferings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetReservedNodeExchangeOfferingsInputMessage"}, + "output":{ + "shape":"GetReservedNodeExchangeOfferingsOutputMessage", + "resultWrapper":"GetReservedNodeExchangeOfferingsResult" + }, + "errors":[ + {"shape":"ReservedNodeNotFoundFault"}, + {"shape":"InvalidReservedNodeStateFault"}, + {"shape":"ReservedNodeAlreadyMigratedFault"}, + {"shape":"ReservedNodeOfferingNotFoundFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"DependentServiceUnavailableFault"} + ], + "documentation":"

    Returns an array of DC2 ReservedNodeOfferings that matches the payment type, term, and usage price of the given DC1 reserved node.

    " + }, "ModifyCluster":{ "name":"ModifyCluster", "http":{ @@ -853,6 +1206,7 @@ {"shape":"InvalidClusterSecurityGroupStateFault"}, {"shape":"ClusterNotFoundFault"}, {"shape":"NumberOfNodesQuotaExceededFault"}, + {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InsufficientClusterCapacityFault"}, @@ -863,9 +1217,30 @@ {"shape":"ClusterAlreadyExistsFault"}, {"shape":"LimitExceededFault"}, {"shape":"DependentServiceRequestThrottlingFault"}, - {"shape":"InvalidElasticIpFault"} + {"shape":"InvalidElasticIpFault"}, + {"shape":"TableLimitExceededFault"}, + {"shape":"InvalidClusterTrackFault"}, + {"shape":"InvalidRetentionPeriodFault"} + ], + "documentation":"

    Modifies the settings for a cluster.

    You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

    You can add another security or parameter group, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + }, + "ModifyClusterDbRevision":{ + "name":"ModifyClusterDbRevision", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterDbRevisionMessage"}, + "output":{ + "shape":"ModifyClusterDbRevisionResult", + "resultWrapper":"ModifyClusterDbRevisionResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ClusterOnLatestRevisionFault"}, + {"shape":"InvalidClusterStateFault"} ], - "documentation":"

    Modifies the settings for a cluster. For example, you can add another security or parameter group, update the preferred maintenance window, or change the master user password. Resetting a cluster password or modifying the security groups associated with a cluster do not need a reboot. However, modifying a parameter group requires a reboot for parameters to take effect. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    You can also change node type and the number of nodes to scale up or down the cluster. When resizing a cluster, you must specify both the number of nodes and the node type even if one of the parameters does not change.

    " + "documentation":"

    Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.

    " }, "ModifyClusterIamRoles":{ "name":"ModifyClusterIamRoles", @@ -884,6 +1259,23 @@ ], "documentation":"

    Modifies the list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.

    A cluster can have up to 10 IAM roles associated at any time.

    " }, + "ModifyClusterMaintenance":{ + "name":"ModifyClusterMaintenance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterMaintenanceMessage"}, + "output":{ + "shape":"ModifyClusterMaintenanceResult", + "resultWrapper":"ModifyClusterMaintenanceResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"} + ], + "documentation":"

    Modifies the maintenance settings of a cluster.

    " + }, "ModifyClusterParameterGroup":{ "name":"ModifyClusterParameterGroup", "http":{ @@ -899,7 +1291,39 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"InvalidClusterParameterGroupStateFault"} ], - "documentation":"

    Modifies the parameters of a parameter group.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Modifies the parameters of a parameter group.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + }, + "ModifyClusterSnapshot":{ + "name":"ModifyClusterSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterSnapshotMessage"}, + "output":{ + "shape":"ModifyClusterSnapshotResult", + "resultWrapper":"ModifyClusterSnapshotResult" + }, + "errors":[ + {"shape":"InvalidClusterSnapshotStateFault"}, + {"shape":"ClusterSnapshotNotFoundFault"}, + {"shape":"InvalidRetentionPeriodFault"} + ], + "documentation":"

    Modifies the settings for a snapshot.

    This exanmple modifies the manual retention period setting for a cluster snapshot.

    " + }, + "ModifyClusterSnapshotSchedule":{ + "name":"ModifyClusterSnapshotSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClusterSnapshotScheduleMessage"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"SnapshotScheduleNotFoundFault"}, + {"shape":"InvalidClusterSnapshotScheduleStateFault"} + ], + "documentation":"

    Modifies a snapshot schedule for a cluster.

    " }, "ModifyClusterSubnetGroup":{ "name":"ModifyClusterSubnetGroup", @@ -946,24 +1370,98 @@ ], "documentation":"

    Modifies an existing Amazon Redshift event notification subscription.

    " }, - "ModifySnapshotCopyRetentionPeriod":{ - "name":"ModifySnapshotCopyRetentionPeriod", + "ModifyScheduledAction":{ + "name":"ModifyScheduledAction", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ModifySnapshotCopyRetentionPeriodMessage"}, + "input":{"shape":"ModifyScheduledActionMessage"}, "output":{ - "shape":"ModifySnapshotCopyRetentionPeriodResult", - "resultWrapper":"ModifySnapshotCopyRetentionPeriodResult" + "shape":"ScheduledAction", + "resultWrapper":"ModifyScheduledActionResult" }, "errors":[ - {"shape":"ClusterNotFoundFault"}, + {"shape":"ScheduledActionNotFoundFault"}, + {"shape":"ScheduledActionTypeUnsupportedFault"}, + {"shape":"InvalidScheduleFault"}, + {"shape":"InvalidScheduledActionFault"}, + {"shape":"UnauthorizedOperation"} + ], + "documentation":"

    Modifies a scheduled action.

    " + }, + "ModifySnapshotCopyRetentionPeriod":{ + "name":"ModifySnapshotCopyRetentionPeriod", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySnapshotCopyRetentionPeriodMessage"}, + "output":{ + "shape":"ModifySnapshotCopyRetentionPeriodResult", + "resultWrapper":"ModifySnapshotCopyRetentionPeriodResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"SnapshotCopyDisabledFault"}, {"shape":"UnauthorizedOperation"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidRetentionPeriodFault"} + ], + "documentation":"

    Modifies the number of days to retain snapshots in the destination AWS Region after they are copied from the source AWS Region. By default, this operation only changes the retention period of copied automated snapshots. The retention periods for both new and existing copied automated snapshots are updated with the new retention period. You can set the manual option to change only the retention periods of copied manual snapshots. If you set this option, only newly copied manual snapshots have the new retention period.

    " + }, + "ModifySnapshotSchedule":{ + "name":"ModifySnapshotSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySnapshotScheduleMessage"}, + "output":{ + "shape":"SnapshotSchedule", + "resultWrapper":"ModifySnapshotScheduleResult" + }, + "errors":[ + {"shape":"InvalidScheduleFault"}, + {"shape":"SnapshotScheduleNotFoundFault"}, + {"shape":"SnapshotScheduleUpdateInProgressFault"} + ], + "documentation":"

    Modifies a snapshot schedule. Any schedule associated with a cluster is modified asynchronously.

    " + }, + "ModifyUsageLimit":{ + "name":"ModifyUsageLimit", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyUsageLimitMessage"}, + "output":{ + "shape":"UsageLimit", + "resultWrapper":"ModifyUsageLimitResult" + }, + "errors":[ + {"shape":"InvalidUsageLimitFault"}, + {"shape":"UsageLimitNotFoundFault"}, + {"shape":"UnsupportedOperationFault"} + ], + "documentation":"

    Modifies a usage limit in a cluster. You can't modify the feature type or period of a usage limit.

    " + }, + "PauseCluster":{ + "name":"PauseCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PauseClusterMessage"}, + "output":{ + "shape":"PauseClusterResult", + "resultWrapper":"PauseClusterResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, {"shape":"InvalidClusterStateFault"} ], - "documentation":"

    Modifies the number of days to retain automated snapshots in the destination region after they are copied from the source region.

    " + "documentation":"

    Pauses a cluster.

    " }, "PurchaseReservedNodeOffering":{ "name":"PurchaseReservedNodeOffering", @@ -982,7 +1480,7 @@ {"shape":"ReservedNodeQuotaExceededFault"}, {"shape":"UnsupportedOperationFault"} ], - "documentation":"

    Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

    For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of reserved node offerings. You can purchase one or more of the offerings. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings. You can call this API by providing a specific reserved node offering and the number of nodes you want to reserve.

    For more information about reserved node offerings, go to Purchasing Reserved Nodes in the Amazon Redshift Cluster Management Guide.

    " }, "RebootCluster":{ "name":"RebootCluster", @@ -999,7 +1497,7 @@ {"shape":"InvalidClusterStateFault"}, {"shape":"ClusterNotFoundFault"} ], - "documentation":"

    Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster, during which the cluster status is set to rebooting. A cluster event is created when the reboot is completed. Any pending cluster modifications (see ModifyCluster) are applied at this reboot. For more information about managing clusters, go to Amazon Redshift Clusters in the Amazon Redshift Cluster Management Guide.

    " }, "ResetClusterParameterGroup":{ "name":"ResetClusterParameterGroup", @@ -1018,6 +1516,30 @@ ], "documentation":"

    Sets one or more parameters of the specified parameter group to their default values and sets the source values of the parameters to \"engine-default\". To reset the entire parameter group specify the ResetAllParameters parameter. For parameter changes to take effect you must reboot any associated clusters.

    " }, + "ResizeCluster":{ + "name":"ResizeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResizeClusterMessage"}, + "output":{ + "shape":"ResizeClusterResult", + "resultWrapper":"ResizeClusterResult" + }, + "errors":[ + {"shape":"InvalidClusterStateFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"NumberOfNodesQuotaExceededFault"}, + {"shape":"NumberOfNodesPerClusterLimitExceededFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"UnsupportedOptionFault"}, + {"shape":"UnsupportedOperationFault"}, + {"shape":"UnauthorizedOperation"}, + {"shape":"LimitExceededFault"} + ], + "documentation":"

    Changes the size of the cluster. You can change the cluster's type, or change the number or type of nodes. The default behavior is to use the elastic resize method. With an elastic resize, your cluster is available for read and write operations more quickly than with the classic resize method.

    Elastic resize operations have the following restrictions:

    • You can only resize clusters of the following types:

      • dc2.large

      • dc2.8xlarge

      • ds2.xlarge

      • ds2.8xlarge

      • ra3.4xlarge

      • ra3.16xlarge

    • The type of nodes that you add must match the node type for the cluster.

    " + }, "RestoreFromClusterSnapshot":{ "name":"RestoreFromClusterSnapshot", "http":{ @@ -1050,9 +1572,13 @@ {"shape":"ClusterParameterGroupNotFoundFault"}, {"shape":"ClusterSecurityGroupNotFoundFault"}, {"shape":"LimitExceededFault"}, - {"shape":"DependentServiceRequestThrottlingFault"} + {"shape":"DependentServiceRequestThrottlingFault"}, + {"shape":"InvalidClusterTrackFault"}, + {"shape":"SnapshotScheduleNotFoundFault"}, + {"shape":"TagLimitExceededFault"}, + {"shape":"InvalidTagFault"} ], - "documentation":"

    Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

    If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Creates a new cluster from a snapshot. By default, Amazon Redshift creates the resulting cluster with the same configuration as the original cluster from which the snapshot was created, except that the new cluster is created with the default cluster security and parameter groups. After Amazon Redshift creates the cluster, you can use the ModifyCluster API to associate a different security group and different parameter group with the restored cluster. If you are using a DS node type, you can also choose to change to another DS node type of the same size during restore.

    If you restore a cluster into a VPC, you must provide a cluster subnet group where you want the cluster restored.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " }, "RestoreTableFromClusterSnapshot":{ "name":"RestoreTableFromClusterSnapshot", @@ -1076,6 +1602,23 @@ ], "documentation":"

    Creates a new table from a table in an Amazon Redshift cluster snapshot. You must create the new table within the Amazon Redshift cluster that the snapshot was taken from.

    You cannot use RestoreTableFromClusterSnapshot to restore a table with the same name as an existing table in an Amazon Redshift cluster. That is, you cannot overwrite an existing table in a cluster with a restored table. If you want to replace your original table with a new, restored table, then rename or drop your original table before you call RestoreTableFromClusterSnapshot. When you have renamed your original table, then you can pass the original name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. This way, you can replace the original table with the table created from the snapshot.

    " }, + "ResumeCluster":{ + "name":"ResumeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResumeClusterMessage"}, + "output":{ + "shape":"ResumeClusterResult", + "resultWrapper":"ResumeClusterResult" + }, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"} + ], + "documentation":"

    Resumes a paused cluster.

    " + }, "RevokeClusterSecurityGroupIngress":{ "name":"RevokeClusterSecurityGroupIngress", "http":{ @@ -1092,7 +1635,7 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"InvalidClusterSecurityGroupStateFault"} ], - "documentation":"

    Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Revokes an ingress rule in an Amazon Redshift security group for a previously authorized IP range or Amazon EC2 security group. To add an ingress rule, see AuthorizeClusterSecurityGroupIngress. For information about managing security groups, go to Amazon Redshift Cluster Security Groups in the Amazon Redshift Cluster Management Guide.

    " }, "RevokeSnapshotAccess":{ "name":"RevokeSnapshotAccess", @@ -1110,7 +1653,7 @@ {"shape":"AuthorizationNotFoundFault"}, {"shape":"ClusterSnapshotNotFoundFault"} ], - "documentation":"

    Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Removes the ability of the specified AWS customer account to restore the specified snapshot. If the account is currently restoring the snapshot, the restore will run to completion.

    For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.

    " }, "RotateEncryptionKey":{ "name":"RotateEncryptionKey", @@ -1132,6 +1675,32 @@ } }, "shapes":{ + "AcceptReservedNodeExchangeInputMessage":{ + "type":"structure", + "required":[ + "ReservedNodeId", + "TargetReservedNodeOfferingId" + ], + "members":{ + "ReservedNodeId":{ + "shape":"String", + "documentation":"

    A string representing the node identifier of the DC1 Reserved Node to be exchanged.

    " + }, + "TargetReservedNodeOfferingId":{ + "shape":"String", + "documentation":"

    The unique identifier of the DC2 Reserved Node offering to be used for the exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings

    " + } + } + }, + "AcceptReservedNodeExchangeOutputMessage":{ + "type":"structure", + "members":{ + "ExchangedReservedNode":{ + "shape":"ReservedNode", + "documentation":"

    " + } + } + }, "AccessToSnapshotDeniedFault":{ "type":"structure", "members":{ @@ -1144,12 +1713,39 @@ }, "exception":true }, + "AccountAttribute":{ + "type":"structure", + "members":{ + "AttributeName":{ + "shape":"String", + "documentation":"

    The name of the attribute.

    " + }, + "AttributeValues":{ + "shape":"AttributeValueList", + "documentation":"

    A list of attribute values.

    " + } + }, + "documentation":"

    A name value pair that describes an aspect of an account.

    " + }, + "AccountAttributeList":{ + "type":"structure", + "members":{ + "AccountAttributes":{ + "shape":"AttributeList", + "documentation":"

    A list of attributes assigned to an account.

    " + } + } + }, "AccountWithRestoreAccess":{ "type":"structure", "members":{ "AccountId":{ "shape":"String", "documentation":"

    The identifier of an AWS customer account authorized to restore a snapshot.

    " + }, + "AccountAlias":{ + "shape":"String", + "documentation":"

    The identifier of an AWS support account authorized to restore a snapshot. For AWS support, the identifier is amazon-redshift-support.

    " } }, "documentation":"

    Describes an AWS customer account authorized to restore a snapshot.

    " @@ -1161,6 +1757,52 @@ "locationName":"AccountWithRestoreAccess" } }, + "ActionType":{ + "type":"string", + "enum":[ + "restore-cluster", + "recommend-node-config", + "resize-cluster" + ] + }, + "AssociatedClusterList":{ + "type":"list", + "member":{ + "shape":"ClusterAssociatedToSchedule", + "locationName":"ClusterAssociatedToSchedule" + } + }, + "AttributeList":{ + "type":"list", + "member":{ + "shape":"AccountAttribute", + "locationName":"AccountAttribute" + } + }, + "AttributeNameList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"AttributeName" + } + }, + "AttributeValueList":{ + "type":"list", + "member":{ + "shape":"AttributeValueTarget", + "locationName":"AttributeValueTarget" + } + }, + "AttributeValueTarget":{ + "type":"structure", + "members":{ + "AttributeValue":{ + "shape":"String", + "documentation":"

    The value of the attribute.

    " + } + }, + "documentation":"

    Describes an attribute value.

    " + }, "AuthorizationAlreadyExistsFault":{ "type":"structure", "members":{ @@ -1243,7 +1885,7 @@ }, "AccountWithRestoreAccess":{ "shape":"String", - "documentation":"

    The identifier of the AWS customer account authorized to restore the specified snapshot.

    " + "documentation":"

    The identifier of the AWS customer account authorized to restore the specified snapshot.

    To share a snapshot with AWS support, specify amazon-redshift-support.

    " } }, "documentation":"

    " @@ -1260,6 +1902,10 @@ "Name":{ "shape":"String", "documentation":"

    The name of the availability zone.

    " + }, + "SupportedPlatforms":{ + "shape":"SupportedPlatformsList", + "documentation":"

    " } }, "documentation":"

    Describes an availability zone.

    ", @@ -1272,6 +1918,98 @@ "locationName":"AvailabilityZone" } }, + "BatchDeleteClusterSnapshotsRequest":{ + "type":"structure", + "required":["Identifiers"], + "members":{ + "Identifiers":{ + "shape":"DeleteClusterSnapshotMessageList", + "documentation":"

    A list of identifiers for the snapshots that you want to delete.

    " + } + } + }, + "BatchDeleteClusterSnapshotsResult":{ + "type":"structure", + "members":{ + "Resources":{ + "shape":"SnapshotIdentifierList", + "documentation":"

    A list of the snapshot identifiers that were deleted.

    " + }, + "Errors":{ + "shape":"BatchSnapshotOperationErrorList", + "documentation":"

    A list of any errors returned.

    " + } + } + }, + "BatchDeleteRequestSizeExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The maximum number for a batch delete of snapshots has been reached. The limit is 100.

    ", + "error":{ + "code":"BatchDeleteRequestSizeExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BatchModifyClusterSnapshotsLimitExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The maximum number for snapshot identifiers has been reached. The limit is 100.

    ", + "error":{ + "code":"BatchModifyClusterSnapshotsLimitExceededFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "BatchModifyClusterSnapshotsMessage":{ + "type":"structure", + "required":["SnapshotIdentifierList"], + "members":{ + "SnapshotIdentifierList":{ + "shape":"SnapshotIdentifierList", + "documentation":"

    A list of snapshot identifiers you want to modify.

    " + }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If you specify the value -1, the manual snapshot is retained indefinitely.

    The number must be either -1 or an integer between 1 and 3,653.

    If you decrease the manual snapshot retention period from its current value, existing manual snapshots that fall outside of the new retention period will return an error. If you want to suppress the errors and delete the snapshots, use the force option.

    " + }, + "Force":{ + "shape":"Boolean", + "documentation":"

    A boolean value indicating whether to override an exception if the retention period has passed.

    " + } + } + }, + "BatchModifyClusterSnapshotsOutputMessage":{ + "type":"structure", + "members":{ + "Resources":{ + "shape":"SnapshotIdentifierList", + "documentation":"

    A list of the snapshots that were modified.

    " + }, + "Errors":{ + "shape":"BatchSnapshotOperationErrors", + "documentation":"

    A list of any errors returned.

    " + } + } + }, + "BatchSnapshotOperationErrorList":{ + "type":"list", + "member":{ + "shape":"SnapshotErrorMessage", + "locationName":"SnapshotErrorMessage" + } + }, + "BatchSnapshotOperationErrors":{ + "type":"list", + "member":{ + "shape":"SnapshotErrorMessage", + "locationName":"SnapshotErrorMessage" + } + }, "Boolean":{"type":"boolean"}, "BooleanOptional":{"type":"boolean"}, "BucketNotFoundFault":{ @@ -1286,6 +2024,16 @@ }, "exception":true }, + "CancelResizeMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier for the cluster that you want to cancel a resize operation for.

    " + } + } + }, "Cluster":{ "type":"structure", "members":{ @@ -1299,7 +2047,11 @@ }, "ClusterStatus":{ "shape":"String", - "documentation":"

    The current state of the cluster. Possible values are the following:

    • available

    • creating

    • deleting

    • final-snapshot

    • hardware-failure

    • incompatible-hsm

    • incompatible-network

    • incompatible-parameters

    • incompatible-restore

    • modifying

    • rebooting

    • renaming

    • resizing

    • rotating-keys

    • storage-full

    • updating-hsm

    " + "documentation":"

    The current state of the cluster. Possible values are the following:

    • available

    • available, prep-for-resize

    • available, resize-cleanup

    • cancelling-resize

    • creating

    • deleting

    • final-snapshot

    • hardware-failure

    • incompatible-hsm

    • incompatible-network

    • incompatible-parameters

    • incompatible-restore

    • modifying

    • paused

    • rebooting

    • renaming

    • resizing

    • rotating-keys

    • storage-full

    • updating-hsm

    " + }, + "ClusterAvailabilityStatus":{ + "shape":"String", + "documentation":"

    The availability status of the cluster for queries. Possible values are the following:

    • Available - The cluster is available for queries.

    • Unavailable - The cluster is not available for queries.

    • Maintenance - The cluster is intermittently available for queries due to maintenance activities.

    • Modifying - The cluster is intermittently available for queries due to changes that modify the cluster.

    • Failed - The cluster failed and is not available for queries.

    " }, "ModifyStatus":{ "shape":"String", @@ -1325,6 +2077,10 @@ "shape":"Integer", "documentation":"

    The number of days that automatic cluster snapshots are retained.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"Integer", + "documentation":"

    The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, "ClusterSecurityGroups":{ "shape":"ClusterSecurityGroupMembershipList", "documentation":"

    A list of cluster security group that are associated with the cluster. Each security group is represented by an element that contains ClusterSecurityGroup.Name and ClusterSecurityGroup.Status subelements.

    Cluster security groups are used when the cluster is not created in an Amazon Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which are listed by the VpcSecurityGroups parameter.

    " @@ -1363,7 +2119,7 @@ }, "AllowVersionUpgrade":{ "shape":"Boolean", - "documentation":"

    A Boolean value that, if true, indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.

    " + "documentation":"

    A boolean value that, if true, indicates that major version upgrades will be applied automatically to the cluster during the maintenance window.

    " }, "NumberOfNodes":{ "shape":"Integer", @@ -1371,16 +2127,20 @@ }, "PubliclyAccessible":{ "shape":"Boolean", - "documentation":"

    A Boolean value that, if true, indicates that the cluster can be accessed from a public network.

    " + "documentation":"

    A boolean value that, if true, indicates that the cluster can be accessed from a public network.

    " }, "Encrypted":{ "shape":"Boolean", - "documentation":"

    A Boolean value that, if true, indicates that data in the cluster is encrypted at rest.

    " + "documentation":"

    A boolean value that, if true, indicates that data in the cluster is encrypted at rest.

    " }, "RestoreStatus":{ "shape":"RestoreStatus", "documentation":"

    A value that describes the status of a cluster restore action. This parameter returns null if the cluster was not created by restoring a snapshot.

    " }, + "DataTransferProgress":{ + "shape":"DataTransferProgress", + "documentation":"

    " + }, "HsmStatus":{ "shape":"HsmStatus", "documentation":"

    A value that reports whether the Amazon Redshift cluster has finished applying any hardware security module (HSM) settings changes specified in a modify cluster command.

    Values: active, applying

    " @@ -1415,11 +2175,51 @@ }, "EnhancedVpcRouting":{ "shape":"Boolean", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " }, "IamRoles":{ "shape":"ClusterIamRoleList", "documentation":"

    A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services.

    " + }, + "PendingActions":{ + "shape":"PendingActionsList", + "documentation":"

    Cluster operations that are waiting to be started.

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track for the cluster.

    " + }, + "ElasticResizeNumberOfNodeOptions":{ + "shape":"String", + "documentation":"

    The number of nodes that you can resize the cluster to with the elastic resize method.

    " + }, + "DeferredMaintenanceWindows":{ + "shape":"DeferredMaintenanceWindowsList", + "documentation":"

    Describes a group of DeferredMaintenanceWindow objects.

    " + }, + "SnapshotScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the cluster snapshot schedule.

    " + }, + "SnapshotScheduleState":{ + "shape":"ScheduleState", + "documentation":"

    The current state of the cluster snapshot schedule.

    " + }, + "ExpectedNextSnapshotScheduleTime":{ + "shape":"TStamp", + "documentation":"

    The date and time when the next snapshot is expected to be taken for clusters with a valid snapshot schedule and backups enabled.

    " + }, + "ExpectedNextSnapshotScheduleTimeStatus":{ + "shape":"String", + "documentation":"

    The status of next expected snapshot for clusters having a valid snapshot schedule and backups enabled. Possible values are the following:

    • OnTrack - The next snapshot is expected to be taken on time.

    • Pending - The next snapshot is pending to be taken.

    " + }, + "NextMaintenanceWindowStartTime":{ + "shape":"TStamp", + "documentation":"

    The date and time in UTC when system maintenance can begin.

    " + }, + "ResizeInfo":{ + "shape":"ResizeInfo", + "documentation":"

    Returns the following:

    • AllowCancelResize: a boolean value indicating if the resize operation can be cancelled.

    • ResizeType: Returns ClassicResize

    " } }, "documentation":"

    Describes a cluster.

    ", @@ -1437,6 +2237,80 @@ }, "exception":true }, + "ClusterAssociatedToSchedule":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    " + }, + "ScheduleAssociationState":{ + "shape":"ScheduleState", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "ClusterCredentials":{ + "type":"structure", + "members":{ + "DbUser":{ + "shape":"String", + "documentation":"

    A database user name that is authorized to log on to the database DbName using the password DbPassword. If the specified DbUser exists in the database, the new user name has the same database privileges as the the user named in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter is specifed, DbUser is added to the listed groups for any sessions created using these credentials.

    " + }, + "DbPassword":{ + "shape":"SensitiveString", + "documentation":"

    A temporary password that authorizes the user name returned by DbUser to log on to the database DbName.

    " + }, + "Expiration":{ + "shape":"TStamp", + "documentation":"

    The date and time the password in DbPassword expires.

    " + } + }, + "documentation":"

    Temporary credentials with authorization to log on to an Amazon Redshift database.

    " + }, + "ClusterDbRevision":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier of the cluster.

    " + }, + "CurrentDatabaseRevision":{ + "shape":"String", + "documentation":"

    A string representing the current cluster version.

    " + }, + "DatabaseRevisionReleaseDate":{ + "shape":"TStamp", + "documentation":"

    The date on which the database revision was released.

    " + }, + "RevisionTargets":{ + "shape":"RevisionTargetsList", + "documentation":"

    A list of RevisionTarget objects, where each object describes the database revision that a cluster can be updated to.

    " + } + }, + "documentation":"

    Describes a ClusterDbRevision.

    " + }, + "ClusterDbRevisionsList":{ + "type":"list", + "member":{ + "shape":"ClusterDbRevision", + "locationName":"ClusterDbRevision" + } + }, + "ClusterDbRevisionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    A string representing the starting point for the next set of revisions. If a value is returned in a response, you can retrieve the next set of revisions by providing the value in the marker parameter and retrying the command. If the marker field is empty, all revisions have already been returned.

    " + }, + "ClusterDbRevisions":{ + "shape":"ClusterDbRevisionsList", + "documentation":"

    A list of revisions.

    " + } + } + }, "ClusterIamRole":{ "type":"structure", "members":{ @@ -1499,6 +2373,18 @@ }, "exception":true }, + "ClusterOnLatestRevisionFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Cluster is already on the latest database revision.

    ", + "error":{ + "code":"ClusterOnLatestRevision", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ClusterParameterGroup":{ "type":"structure", "members":{ @@ -1578,7 +2464,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of cluster parameter groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"ClusterParameterGroupQuotaExceeded", "httpStatusCode":400, @@ -1599,7 +2485,7 @@ }, "ClusterParameterStatusList":{ "shape":"ClusterParameterStatusList", - "documentation":"

    The list of parameter statuses.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    The list of parameter statuses.

    For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " } }, "documentation":"

    Describes the status of a parameter group.

    " @@ -1651,7 +2537,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would exceed the allowed number of cluster instances for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"ClusterQuotaExceeded", "httpStatusCode":400, @@ -1756,7 +2642,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would result in the user exceeding the allowed number of cluster security groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"QuotaExceeded.ClusterSecurityGroup", "httpStatusCode":400, @@ -1794,6 +2680,10 @@ "shape":"Long", "documentation":"

    The number of days that automated snapshots are retained in the destination region after they are copied from a source region.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"Integer", + "documentation":"

    The number of days that automated snapshots are retained in the destination region after they are copied from a source region. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, "SnapshotCopyGrantName":{ "shape":"String", "documentation":"

    The name of the snapshot copy grant.

    " @@ -1898,7 +2788,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"ClusterSubnetGroupQuotaExceeded", "httpStatusCode":400, @@ -1917,7 +2807,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"ClusterSubnetQuotaExceededFault", "httpStatusCode":400, @@ -1996,6 +2886,10 @@ "TargetSnapshotIdentifier":{ "shape":"String", "documentation":"

    The identifier given to the new manual snapshot.

    Constraints:

    • Cannot be null, empty, or blank.

    • Must contain from 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    • Must be unique for the AWS account that is making the request.

    " + }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    The default value is -1.

    " } }, "documentation":"

    " @@ -2029,7 +2923,7 @@ "members":{ "DBName":{ "shape":"String", - "documentation":"

    The name of the first database to be created when the cluster is created.

    To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

    Default: dev

    Constraints:

    • Must contain 1 to 64 alphanumeric characters.

    • Must contain only lowercase letters.

    • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " + "documentation":"

    The name of the first database to be created when the cluster is created.

    To create additional databases after the cluster is created, connect to the cluster with a SQL client and use SQL commands to create a database. For more information, go to Create a Database in the Amazon Redshift Database Developer Guide.

    Default: dev

    Constraints:

    • Must contain 1 to 64 alphanumeric characters.

    • Must contain only lowercase letters.

    • Cannot be a word that is reserved by the service. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " }, "ClusterIdentifier":{ "shape":"String", @@ -2041,11 +2935,11 @@ }, "NodeType":{ "shape":"String", - "documentation":"

    The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

    Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge.

    " + "documentation":"

    The node type to be provisioned for the cluster. For information about node types, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

    Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge

    " }, "MasterUsername":{ "shape":"String", - "documentation":"

    The user name associated with the master user account for the cluster that is being created.

    Constraints:

    • Must be 1 - 128 alphanumeric characters.

    • First character must be a letter.

    • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " + "documentation":"

    The user name associated with the master user account for the cluster that is being created.

    Constraints:

    • Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.

    • First character must be a letter.

    • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " }, "MasterUserPassword":{ "shape":"String", @@ -2065,20 +2959,24 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.

    Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint.

    Example: us-east-1d

    Constraint: The specified Availability Zone must be in the same region as the current endpoint.

    " + "documentation":"

    The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.

    Default: A random, system-chosen Availability Zone in the region that is specified by the endpoint.

    Example: us-east-2d

    Constraint: The specified Availability Zone must be in the same region as the current endpoint.

    " }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range (in UTC) during which automated cluster maintenance can occur.

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The weekly time range (in UTC) during which automated cluster maintenance can occur.

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: A 30-minute window selected at random from an 8-hour block of time per region, occurring on a random day of the week. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Minimum 30-minute window.

    " }, "ClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the parameter group to be associated with this cluster.

    Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups

    Constraints:

    • Must be 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " + "documentation":"

    The name of the parameter group to be associated with this cluster.

    Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups

    Constraints:

    • Must be 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " }, "AutomatedSnapshotRetentionPeriod":{ "shape":"IntegerOptional", "documentation":"

    The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

    Default: 1

    Constraints: Must be a value from 0 to 35.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, "Port":{ "shape":"IntegerOptional", "documentation":"

    The port number on which the cluster accepts incoming connections.

    The cluster is accessible only via the JDBC and ODBC connection strings. Part of the connection string requires the port on which the cluster will listen for incoming connections.

    Default: 5439

    Valid Values: 1150-65535

    " @@ -2093,7 +2991,7 @@ }, "NumberOfNodes":{ "shape":"IntegerOptional", - "documentation":"

    The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.

    For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

    If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

    Default: 1

    Constraints: Value must be at least 1 and no more than 100.

    " + "documentation":"

    The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node.

    For information about determining how many nodes you need, go to Working with Clusters in the Amazon Redshift Cluster Management Guide.

    If you don't specify this parameter, you get a single-node cluster. When requesting a multi-node cluster, you must specify the number of nodes that you want in the cluster.

    Default: 1

    Constraints: Value must be at least 1 and no more than 100.

    " }, "PubliclyAccessible":{ "shape":"BooleanOptional", @@ -2113,7 +3011,7 @@ }, "ElasticIp":{ "shape":"String", - "documentation":"

    The Elastic IP (EIP) address for the cluster.

    Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    The Elastic IP (EIP) address for the cluster.

    Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

    " }, "Tags":{ "shape":"TagList", @@ -2125,7 +3023,7 @@ }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " }, "AdditionalInfo":{ "shape":"String", @@ -2134,6 +3032,14 @@ "IamRoles":{ "shape":"IamRoleArnList", "documentation":"

    A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request.

    A cluster can have up to 10 IAM roles associated with it at any time.

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the current track.

    " + }, + "SnapshotScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the snapshot schedule.

    " } }, "documentation":"

    " @@ -2220,6 +3126,10 @@ "shape":"String", "documentation":"

    The cluster identifier for which you want a snapshot.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    The default value is -1.

    " + }, "Tags":{ "shape":"TagList", "documentation":"

    A list of tag instances.

    " @@ -2283,7 +3193,7 @@ }, "SourceType":{ "shape":"String", - "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

    Valid values: cluster, cluster-parameter-group, cluster-security-group, and cluster-snapshot.

    " + "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

    Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

    " }, "SourceIds":{ "shape":"SourceIdsList", @@ -2291,7 +3201,7 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

    Specifies the Amazon Redshift event categories to be published by the event notification subscription.

    Values: Configuration, Management, Monitoring, Security

    " + "documentation":"

    Specifies the Amazon Redshift event categories to be published by the event notification subscription.

    Values: configuration, management, monitoring, security

    " }, "Severity":{ "shape":"String", @@ -2299,7 +3209,7 @@ }, "Enabled":{ "shape":"BooleanOptional", - "documentation":"

    A Boolean value; set to true to activate the subscription, set to false to create the subscription but not active it.

    " + "documentation":"

    A boolean value; set to true to activate the subscription, and set to false to create the subscription but not activate it.

    " }, "Tags":{ "shape":"TagList", @@ -2383,6 +3293,49 @@ "HsmConfiguration":{"shape":"HsmConfiguration"} } }, + "CreateScheduledActionMessage":{ + "type":"structure", + "required":[ + "ScheduledActionName", + "TargetAction", + "Schedule", + "IamRole" + ], + "members":{ + "ScheduledActionName":{ + "shape":"String", + "documentation":"

    The name of the scheduled action. The name must be unique within an account. For more information about this parameter, see ScheduledAction.

    " + }, + "TargetAction":{ + "shape":"ScheduledActionType", + "documentation":"

    A JSON format string of the Amazon Redshift API operation with input parameters. For more information about this parameter, see ScheduledAction.

    " + }, + "Schedule":{ + "shape":"String", + "documentation":"

    The schedule in at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

    " + }, + "IamRole":{ + "shape":"String", + "documentation":"

    The IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

    " + }, + "ScheduledActionDescription":{ + "shape":"String", + "documentation":"

    The description of the scheduled action.

    " + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

    The start time in UTC of the scheduled action. Before this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction.

    " + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

    The end time in UTC of the scheduled action. After this time, the scheduled action does not trigger. For more information about this parameter, see ScheduledAction.

    " + }, + "Enable":{ + "shape":"BooleanOptional", + "documentation":"

    If true, the schedule is enabled. If false, the scheduled action does not trigger. For more information about state of the scheduled action, see ScheduledAction.

    " + } + } + }, "CreateSnapshotCopyGrantMessage":{ "type":"structure", "required":["SnapshotCopyGrantName"], @@ -2408,6 +3361,35 @@ "SnapshotCopyGrant":{"shape":"SnapshotCopyGrant"} } }, + "CreateSnapshotScheduleMessage":{ + "type":"structure", + "members":{ + "ScheduleDefinitions":{ + "shape":"ScheduleDefinitionList", + "documentation":"

    The definition of the snapshot schedule. The definition is made up of schedule expressions, for example \"cron(30 12 *)\" or \"rate(12 hours)\".

    " + }, + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for a snapshot schedule. Only alphanumeric characters are allowed for the identifier.

    " + }, + "ScheduleDescription":{ + "shape":"String", + "documentation":"

    The description of the snapshot schedule.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An optional set of tags you can use to search for the schedule.

    " + }, + "DryRun":{ + "shape":"BooleanOptional", + "documentation":"

    " + }, + "NextInvocations":{ + "shape":"IntegerOptional", + "documentation":"

    " + } + } + }, "CreateTagsMessage":{ "type":"structure", "required":[ @@ -2415,16 +3397,105 @@ "Tags" ], "members":{ - "ResourceName":{ + "ResourceName":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) to which you want to add the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    One or more name/value pairs to add as tags to the specified resource. Each tag name is passed in with the parameter Key and the corresponding value is passed in with the parameter Value. The Key and Value parameters are separated by a comma (,). Separate multiple tags with a space. For example, --tags \"Key\"=\"owner\",\"Value\"=\"admin\" \"Key\"=\"environment\",\"Value\"=\"test\" \"Key\"=\"version\",\"Value\"=\"1.0\".

    " + } + }, + "documentation":"

    Contains the output from the CreateTags action.

    " + }, + "CreateUsageLimitMessage":{ + "type":"structure", + "required":[ + "ClusterIdentifier", + "FeatureType", + "LimitType", + "Amount" + ], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster that you want to limit usage.

    " + }, + "FeatureType":{ + "shape":"UsageLimitFeatureType", + "documentation":"

    The Amazon Redshift feature that you want to limit.

    " + }, + "LimitType":{ + "shape":"UsageLimitLimitType", + "documentation":"

    The type of limit. Depending on the feature type, this can be based on a time duration or data size. If FeatureType is spectrum, then LimitType must be data-scanned. If FeatureType is concurrency-scaling, then LimitType must be time.

    " + }, + "Amount":{ + "shape":"Long", + "documentation":"

    The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB). The value must be a positive number.

    " + }, + "Period":{ + "shape":"UsageLimitPeriod", + "documentation":"

    The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

    " + }, + "BreachAction":{ + "shape":"UsageLimitBreachAction", + "documentation":"

    The action that Amazon Redshift takes when the limit is reached. The default is log. For more information about this parameter, see UsageLimit.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tag instances.

    " + } + } + }, + "CustomerStorageMessage":{ + "type":"structure", + "members":{ + "TotalBackupSizeInMegaBytes":{ + "shape":"Double", + "documentation":"

    The total amount of storage currently used for snapshots.

    " + }, + "TotalProvisionedStorageInMegaBytes":{ + "shape":"Double", + "documentation":"

    The total amount of storage currently provisioned.

    " + } + } + }, + "DataTransferProgress":{ + "type":"structure", + "members":{ + "Status":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) to which you want to add the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

    " + "documentation":"

    Describes the status of the cluster. While the transfer is in progress the status is transferringdata.

    " }, - "Tags":{ - "shape":"TagList", - "documentation":"

    One or more name/value pairs to add as tags to the specified resource. Each tag name is passed in with the parameter Key and the corresponding value is passed in with the parameter Value. The Key and Value parameters are separated by a comma (,). Separate multiple tags with a space. For example, --tags \"Key\"=\"owner\",\"Value\"=\"admin\" \"Key\"=\"environment\",\"Value\"=\"test\" \"Key\"=\"version\",\"Value\"=\"1.0\".

    " + "CurrentRateInMegaBytesPerSecond":{ + "shape":"DoubleOptional", + "documentation":"

    Describes the data transfer rate in MB's per second.

    " + }, + "TotalDataInMegaBytes":{ + "shape":"Long", + "documentation":"

    Describes the total amount of data to be transfered in megabytes.

    " + }, + "DataTransferredInMegaBytes":{ + "shape":"Long", + "documentation":"

    Describes the total amount of data that has been transfered in MB's.

    " + }, + "EstimatedTimeToCompletionInSeconds":{ + "shape":"LongOptional", + "documentation":"

    Describes the estimated number of seconds remaining to complete the transfer.

    " + }, + "ElapsedTimeInSeconds":{ + "shape":"LongOptional", + "documentation":"

    Describes the number of seconds that have elapsed during the data transfer.

    " } }, - "documentation":"

    Contains the output from the CreateTags action.

    " + "documentation":"

    Describes the status of a cluster while it is in the process of resizing with an incremental resize.

    " + }, + "DbGroupList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"DbGroup" + } }, "DefaultClusterParameters":{ "type":"structure", @@ -2445,6 +3516,31 @@ "documentation":"

    Describes the default cluster parameters for a parameter group family.

    ", "wrapper":true }, + "DeferredMaintenanceWindow":{ + "type":"structure", + "members":{ + "DeferMaintenanceIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the maintenance window.

    " + }, + "DeferMaintenanceStartTime":{ + "shape":"TStamp", + "documentation":"

    A timestamp for the beginning of the time period when we defer maintenance.

    " + }, + "DeferMaintenanceEndTime":{ + "shape":"TStamp", + "documentation":"

    A timestamp for the end of the time period when we defer maintenance.

    " + } + }, + "documentation":"

    Describes a deferred maintenance window

    " + }, + "DeferredMaintenanceWindowsList":{ + "type":"list", + "member":{ + "shape":"DeferredMaintenanceWindow", + "locationName":"DeferredMaintenanceWindow" + } + }, "DeleteClusterMessage":{ "type":"structure", "required":["ClusterIdentifier"], @@ -2460,6 +3556,10 @@ "FinalClusterSnapshotIdentifier":{ "shape":"String", "documentation":"

    The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot must be false.

    Constraints:

    • Must be 1 to 255 alphanumeric characters.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " + }, + "FinalClusterSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    The default value is -1.

    " } }, "documentation":"

    " @@ -2498,7 +3598,7 @@ "members":{ "SnapshotIdentifier":{ "shape":"String", - "documentation":"

    The unique identifier of the manual snapshot to be deleted.

    Constraints: Must be the name of an existing snapshot that is in the available state.

    " + "documentation":"

    The unique identifier of the manual snapshot to be deleted.

    Constraints: Must be the name of an existing snapshot that is in the available, failed, or cancelled state.

    " }, "SnapshotClusterIdentifier":{ "shape":"String", @@ -2507,6 +3607,13 @@ }, "documentation":"

    " }, + "DeleteClusterSnapshotMessageList":{ + "type":"list", + "member":{ + "shape":"DeleteClusterSnapshotMessage", + "locationName":"DeleteClusterSnapshotMessage" + } + }, "DeleteClusterSnapshotResult":{ "type":"structure", "members":{ @@ -2557,6 +3664,16 @@ }, "documentation":"

    " }, + "DeleteScheduledActionMessage":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{ + "shape":"String", + "documentation":"

    The name of the scheduled action to delete.

    " + } + } + }, "DeleteSnapshotCopyGrantMessage":{ "type":"structure", "required":["SnapshotCopyGrantName"], @@ -2568,6 +3685,16 @@ }, "documentation":"

    The result of the DeleteSnapshotCopyGrant action.

    " }, + "DeleteSnapshotScheduleMessage":{ + "type":"structure", + "required":["ScheduleIdentifier"], + "members":{ + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier of the snapshot schedule to delete.

    " + } + } + }, "DeleteTagsMessage":{ "type":"structure", "required":[ @@ -2577,7 +3704,7 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) from which you want to remove the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

    " + "documentation":"

    The Amazon Resource Name (ARN) from which you want to remove the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

    " }, "TagKeys":{ "shape":"TagKeyList", @@ -2586,6 +3713,16 @@ }, "documentation":"

    Contains the output from the DeleteTags action.

    " }, + "DeleteUsageLimitMessage":{ + "type":"structure", + "required":["UsageLimitId"], + "members":{ + "UsageLimitId":{ + "shape":"String", + "documentation":"

    The identifier of the usage limit to delete.

    " + } + } + }, "DependentServiceRequestThrottlingFault":{ "type":"structure", "members":{ @@ -2598,6 +3735,44 @@ }, "exception":true }, + "DependentServiceUnavailableFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.

    ", + "error":{ + "code":"DependentServiceUnavailableFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "DescribeAccountAttributesMessage":{ + "type":"structure", + "members":{ + "AttributeNames":{ + "shape":"AttributeNameList", + "documentation":"

    A list of attribute names.

    " + } + } + }, + "DescribeClusterDbRevisionsMessage":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for a cluster whose ClusterDbRevisions you are requesting. This parameter is case sensitive. All clusters defined for an account are returned by default.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

    Default: 100

    Constraints: minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point for returning a set of response records. When the results of a DescribeClusterDbRevisions request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

    Constraints: You can specify either the ClusterIdentifier parameter, or the marker parameter, but not both.

    " + } + } + }, "DescribeClusterParameterGroupsMessage":{ "type":"structure", "members":{ @@ -2678,7 +3853,7 @@ "members":{ "ClusterIdentifier":{ "shape":"String", - "documentation":"

    The identifier of the cluster for which information about snapshots is requested.

    " + "documentation":"

    The identifier of the cluster which generated the requested snapshots.

    " }, "SnapshotIdentifier":{ "shape":"String", @@ -2715,6 +3890,14 @@ "TagValues":{ "shape":"TagValueList", "documentation":"

    A tag value or values for which you want to return all matching cluster snapshots that are associated with the specified tag value or values. For example, suppose that you have snapshots that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the snapshots that have either or both of these tag values associated with them.

    " + }, + "ClusterExists":{ + "shape":"BooleanOptional", + "documentation":"

    A value that indicates whether to return snapshots only for an existing cluster. You can perform table-level restore only by using a snapshot of an existing cluster, that is, a cluster that has not been deleted. Values for this parameter work as follows:

    • If ClusterExists is set to true, ClusterIdentifier is required.

    • If ClusterExists is set to false and ClusterIdentifier isn't specified, all snapshots associated with deleted clusters (orphaned snapshots) are returned.

    • If ClusterExists is set to false and ClusterIdentifier is specified for a deleted cluster, snapshots associated with that cluster are returned.

    • If ClusterExists is set to false and ClusterIdentifier is specified for an existing cluster, no snapshots are returned.

    " + }, + "SortingEntities":{ + "shape":"SnapshotSortingEntityList", + "documentation":"

    " } }, "documentation":"

    " @@ -2745,6 +3928,23 @@ }, "documentation":"

    " }, + "DescribeClusterTracksMessage":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    An integer value for the maximum number of maintenance tracks to return.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeClusterTracks request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + } + } + }, "DescribeClusterVersionsMessage":{ "type":"structure", "members":{ @@ -2823,7 +4023,7 @@ "members":{ "SourceType":{ "shape":"String", - "documentation":"

    The source type, such as cluster or parameter group, to which the described event categories apply.

    Valid values: cluster, cluster-snapshot, cluster-parameter-group, and cluster-security-group.

    " + "documentation":"

    The source type, such as cluster or parameter group, to which the described event categories apply.

    Valid values: cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, and scheduled-action.

    " } }, "documentation":"

    " @@ -2841,7 +4041,15 @@ }, "Marker":{ "shape":"String", - "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEventSubscriptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeEventSubscriptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A tag key or keys for which you want to return all matching event notification subscriptions that are associated with the specified key or keys. For example, suppose that you have subscriptions that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag keys associated with them.

    " + }, + "TagValues":{ + "shape":"TagValueList", + "documentation":"

    A tag value or values for which you want to return all matching event notification subscriptions that are associated with the specified tag value or values. For example, suppose that you have subscriptions that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the subscriptions that have either or both of these tag values associated with them.

    " } }, "documentation":"

    " @@ -2943,6 +4151,41 @@ }, "documentation":"

    " }, + "DescribeNodeConfigurationOptionsMessage":{ + "type":"structure", + "required":["ActionType"], + "members":{ + "ActionType":{ + "shape":"ActionType", + "documentation":"

    The action type to evaluate for possible node configurations. Specify \"restore-cluster\" to get configuration combinations based on an existing snapshot. Specify \"recommend-node-config\" to get configuration recommendations based on an existing cluster or snapshot. Specify \"resize-cluster\" to get configuration combinations for elastic resize based on an existing cluster.

    " + }, + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster to evaluate for possible node configurations.

    " + }, + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the snapshot to evaluate for possible node configurations.

    " + }, + "OwnerAccount":{ + "shape":"String", + "documentation":"

    The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.

    " + }, + "Filters":{ + "shape":"NodeConfigurationOptionsFilterList", + "documentation":"

    A set of name, operator, and value items to filter the results.

    ", + "locationName":"Filter" + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeNodeConfigurationOptions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

    Default: 500

    Constraints: minimum 100, maximum 500.

    " + } + } + }, "DescribeOrderableClusterOptionsMessage":{ "type":"structure", "members":{ @@ -3012,6 +4255,43 @@ }, "documentation":"

    " }, + "DescribeScheduledActionsMessage":{ + "type":"structure", + "members":{ + "ScheduledActionName":{ + "shape":"String", + "documentation":"

    The name of the scheduled action to retrieve.

    " + }, + "TargetActionType":{ + "shape":"ScheduledActionTypeValues", + "documentation":"

    The type of the scheduled actions to retrieve.

    " + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

    The start time in UTC of the scheduled actions to retrieve. Only active scheduled actions that have invocations after this time are retrieved.

    " + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

    The end time in UTC of the scheduled action to retrieve. Only active scheduled actions that have invocations before this time are retrieved.

    " + }, + "Active":{ + "shape":"BooleanOptional", + "documentation":"

    If true, retrieve only active scheduled actions. If false, retrieve only disabled scheduled actions.

    " + }, + "Filters":{ + "shape":"ScheduledActionFilterList", + "documentation":"

    List of scheduled action filters.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

    Default: 100

    Constraints: minimum 20, maximum 100.

    " + } + } + }, "DescribeSnapshotCopyGrantsMessage":{ "type":"structure", "members":{ @@ -3038,6 +4318,48 @@ }, "documentation":"

    The result of the DescribeSnapshotCopyGrants action.

    " }, + "DescribeSnapshotSchedulesMessage":{ + "type":"structure", + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier for the cluster whose snapshot schedules you want to view.

    " + }, + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for a snapshot schedule.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The key value for a snapshot schedule tag.

    " + }, + "TagValues":{ + "shape":"TagValueList", + "documentation":"

    The value corresponding to the key of the snapshot schedule tag.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the marker parameter and retrying the command. If the marker field is empty, all response records have been retrieved for the request.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number or response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

    " + } + } + }, + "DescribeSnapshotSchedulesOutputMessage":{ + "type":"structure", + "members":{ + "SnapshotSchedules":{ + "shape":"SnapshotScheduleList", + "documentation":"

    A list of SnapshotSchedules.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the marker parameter and retrying the command. If the marker field is empty, all response records have been retrieved for the request.

    " + } + } + }, "DescribeTableRestoreStatusMessage":{ "type":"structure", "members":{ @@ -3065,11 +4387,11 @@ "members":{ "ResourceName":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

    " + "documentation":"

    The Amazon Resource Name (ARN) for which you want to describe the tag or tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1.

    " }, "ResourceType":{ "shape":"String", - "documentation":"

    The type of resource with which you want to view tags. Valid resource types are:

    • Cluster

    • CIDR/IP

    • EC2 security group

    • Snapshot

    • Cluster security group

    • Subnet group

    • HSM connection

    • HSM certificate

    • Parameter group

    • Snapshot copy grant

    For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    The type of resource with which you want to view tags. Valid resource types are:

    • Cluster

    • CIDR/IP

    • EC2 security group

    • Snapshot

    • Cluster security group

    • Subnet group

    • HSM connection

    • HSM certificate

    • Parameter group

    • Snapshot copy grant

    For more information about Amazon Redshift resource types and constructing ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and Principals in the Amazon Redshift Cluster Management Guide.

    " }, "MaxRecords":{ "shape":"IntegerOptional", @@ -3090,6 +4412,39 @@ }, "documentation":"

    " }, + "DescribeUsageLimitsMessage":{ + "type":"structure", + "members":{ + "UsageLimitId":{ + "shape":"String", + "documentation":"

    The identifier of the usage limit to describe.

    " + }, + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster for which you want to describe usage limits.

    " + }, + "FeatureType":{ + "shape":"UsageLimitFeatureType", + "documentation":"

    The feature type for which you want to describe usage limits.

    " + }, + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    The maximum number of response records to return in each call. If the number of remaining response records exceeds the specified MaxRecords value, a value is returned in a marker field of the response. You can retrieve the next set of records by retrying the command with the returned marker value.

    Default: 100

    Constraints: minimum 20, maximum 100.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeUsageLimits request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A tag key or keys for which you want to return all matching usage limit objects that are associated with the specified key or keys. For example, suppose that you have parameter groups that are tagged with keys called owner and environment. If you specify both of these tag keys in the request, Amazon Redshift returns a response with the usage limit objects have either or both of these tag keys associated with them.

    " + }, + "TagValues":{ + "shape":"TagValueList", + "documentation":"

    A tag value or values for which you want to return all matching usage limit objects that are associated with the specified tag value or values. For example, suppose that you have parameter groups that are tagged with values called admin and test. If you specify both of these tag values in the request, Amazon Redshift returns a response with the usage limit objects that have either or both of these tag values associated with them.

    " + } + } + }, "DisableLoggingMessage":{ "type":"structure", "required":["ClusterIdentifier"], @@ -3163,6 +4518,13 @@ }, "documentation":"

    Describes the status of the elastic IP (EIP) address.

    " }, + "EligibleTracksToUpdateList":{ + "type":"list", + "member":{ + "shape":"UpdateTarget", + "locationName":"UpdateTarget" + } + }, "EnableLoggingMessage":{ "type":"structure", "required":[ @@ -3198,7 +4560,7 @@ }, "DestinationRegion":{ "shape":"String", - "documentation":"

    The destination region that you want to copy snapshots to.

    Constraints: Must be the name of a valid region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference.

    " + "documentation":"

    The destination AWS Region that you want to copy snapshots to.

    Constraints: Must be the name of a valid AWS Region. For more information, see Regions and Endpoints in the Amazon Web Services General Reference.

    " }, "RetentionPeriod":{ "shape":"IntegerOptional", @@ -3207,6 +4569,10 @@ "SnapshotCopyGrantName":{ "shape":"String", "documentation":"

    The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.

    " + }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days to retain newly copied snapshots in the destination AWS Region after they are copied from the source AWS Region. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    " } }, "documentation":"

    " @@ -3366,7 +4732,7 @@ }, "SourceType":{ "shape":"String", - "documentation":"

    The source type of the events returned the Amazon Redshift event notification, such as cluster, or cluster-snapshot.

    " + "documentation":"

    The source type of the events returned by the Amazon Redshift event notification, such as cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, or scheduled-action.

    " }, "SourceIdsList":{ "shape":"SourceIdsList", @@ -3382,7 +4748,7 @@ }, "Enabled":{ "shape":"Boolean", - "documentation":"

    A Boolean value indicating whether the subscription is enabled. true indicates the subscription is enabled.

    " + "documentation":"

    A boolean value indicating whether the subscription is enabled; true indicates that the subscription is enabled.

    " }, "Tags":{ "shape":"TagList", @@ -3396,7 +4762,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The request would exceed the allowed number of event subscriptions for this account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"EventSubscriptionQuotaExceeded", "httpStatusCode":400, @@ -3411,33 +4777,99 @@ "locationName":"EventSubscription" } }, - "EventSubscriptionsMessage":{ + "EventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + }, + "EventSubscriptionsList":{ + "shape":"EventSubscriptionsList", + "documentation":"

    A list of event subscriptions.

    " + } + }, + "documentation":"

    " + }, + "EventsMessage":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + }, + "Events":{ + "shape":"EventList", + "documentation":"

    A list of Event instances.

    " + } + }, + "documentation":"

    " + }, + "GetClusterCredentialsMessage":{ + "type":"structure", + "required":[ + "DbUser", + "ClusterIdentifier" + ], + "members":{ + "DbUser":{ + "shape":"String", + "documentation":"

    The name of a database user. If a user name matching DbUser exists in the database, the temporary user credentials have the same permissions as the existing user. If DbUser doesn't exist in the database and Autocreate is True, a new user is created using the value for DbUser with PUBLIC permissions. If a database user matching the value for DbUser doesn't exist and Autocreate is False, then the command succeeds but the connection attempt will fail because the user doesn't exist in the database.

    For more information, see CREATE USER in the Amazon Redshift Database Developer Guide.

    Constraints:

    • Must be 1 to 64 alphanumeric characters or hyphens. The user name can't be PUBLIC.

    • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

    • First character must be a letter.

    • Must not contain a colon ( : ) or slash ( / ).

    • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " + }, + "DbName":{ + "shape":"String", + "documentation":"

    The name of a database that DbUser is authorized to log on to. If DbName is not specified, DbUser can log on to any existing database.

    Constraints:

    • Must be 1 to 64 alphanumeric characters or hyphens

    • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

    • First character must be a letter.

    • Must not contain a colon ( : ) or slash ( / ).

    • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " + }, + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier of the cluster that contains the database for which your are requesting credentials. This parameter is case sensitive.

    " + }, + "DurationSeconds":{ + "shape":"IntegerOptional", + "documentation":"

    The number of seconds until the returned temporary password expires.

    Constraint: minimum 900, maximum 3600.

    Default: 900

    " + }, + "AutoCreate":{ + "shape":"BooleanOptional", + "documentation":"

    Create a database user with the name specified for the user named in DbUser if one does not exist.

    " + }, + "DbGroups":{ + "shape":"DbGroupList", + "documentation":"

    A list of the names of existing database groups that the user named in DbUser will join for the current session, in addition to any group memberships for an existing user. If not specified, a new user is added only to PUBLIC.

    Database group name constraints

    • Must be 1 to 64 alphanumeric characters or hyphens

    • Must contain only lowercase letters, numbers, underscore, plus sign, period (dot), at symbol (@), or hyphen.

    • First character must be a letter.

    • Must not contain a colon ( : ) or slash ( / ).

    • Cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

    " + } + }, + "documentation":"

    The request parameters to get cluster credentials.

    " + }, + "GetReservedNodeExchangeOfferingsInputMessage":{ "type":"structure", + "required":["ReservedNodeId"], "members":{ - "Marker":{ + "ReservedNodeId":{ "shape":"String", - "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + "documentation":"

    A string representing the node identifier for the DC1 Reserved Node to be exchanged.

    " }, - "EventSubscriptionsList":{ - "shape":"EventSubscriptionsList", - "documentation":"

    A list of event subscriptions.

    " + "MaxRecords":{ + "shape":"IntegerOptional", + "documentation":"

    An integer setting the maximum number of ReservedNodeOfferings to retrieve.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of ReservedNodeOfferings.

    " } }, "documentation":"

    " }, - "EventsMessage":{ + "GetReservedNodeExchangeOfferingsOutputMessage":{ "type":"structure", "members":{ "Marker":{ "shape":"String", - "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + "documentation":"

    An optional parameter that specifies the starting point for returning a set of response records. When the results of a GetReservedNodeExchangeOfferings request exceed the value specified in MaxRecords, Amazon Redshift returns a value in the marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the marker parameter and retrying the request.

    " }, - "Events":{ - "shape":"EventList", - "documentation":"

    A list of Event instances.

    " + "ReservedNodeOfferings":{ + "shape":"ReservedNodeOfferingList", + "documentation":"

    Returns an array of ReservedNodeOffering objects.

    " } - }, - "documentation":"

    " + } }, "HsmClientCertificate":{ "type":"structure", @@ -3507,7 +4939,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The quota for HSM client certificates has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"HsmClientCertificateQuotaExceededFault", "httpStatusCode":400, @@ -3591,7 +5023,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The quota for HSM configurations has been reached. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"HsmConfigurationQuotaExceededFault", "httpStatusCode":400, @@ -3735,6 +5167,18 @@ }, "exception":true }, + "InvalidClusterSnapshotScheduleStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The cluster snapshot schedule state is not valid.

    ", + "error":{ + "code":"InvalidClusterSnapshotScheduleState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidClusterSnapshotStateFault":{ "type":"structure", "members":{ @@ -3783,6 +5227,18 @@ }, "exception":true }, + "InvalidClusterTrackFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The provided cluster track name is not valid.

    ", + "error":{ + "code":"InvalidClusterTrack", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidElasticIpFault":{ "type":"structure", "members":{ @@ -3819,6 +5275,18 @@ }, "exception":true }, + "InvalidReservedNodeStateFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that the Reserved Node being exchanged is not in an active state.

    ", + "error":{ + "code":"InvalidReservedNodeState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidRestoreFault":{ "type":"structure", "members":{ @@ -3831,11 +5299,23 @@ }, "exception":true }, + "InvalidRetentionPeriodFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The retention period specified is either in the past or is not a valid value.

    The value must be either -1 or an integer between 1 and 3,653.

    ", + "error":{ + "code":"InvalidRetentionPeriodFault", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidS3BucketNameFault":{ "type":"structure", "members":{ }, - "documentation":"

    The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.

    ", + "documentation":"

    The S3 bucket name is invalid. For more information about naming rules, go to Bucket Restrictions and Limitations in the Amazon Simple Storage Service (S3) Developer Guide.

    ", "error":{ "code":"InvalidS3BucketNameFault", "httpStatusCode":400, @@ -3855,6 +5335,30 @@ }, "exception":true }, + "InvalidScheduleFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The schedule you submitted isn't valid.

    ", + "error":{ + "code":"InvalidSchedule", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidScheduledActionFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The scheduled action is not valid.

    ", + "error":{ + "code":"InvalidScheduledAction", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSnapshotCopyGrantStateFault":{ "type":"structure", "members":{ @@ -3915,6 +5419,18 @@ }, "exception":true }, + "InvalidUsageLimitFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The usage limit is not valid.

    ", + "error":{ + "code":"InvalidUsageLimit", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidVPCNetworkStateFault":{ "type":"structure", "members":{ @@ -3971,6 +5487,54 @@ }, "Long":{"type":"long"}, "LongOptional":{"type":"long"}, + "MaintenanceTrack":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track. Possible values are current and trailing.

    " + }, + "DatabaseVersion":{ + "shape":"String", + "documentation":"

    The version number for the cluster release.

    " + }, + "UpdateTargets":{ + "shape":"EligibleTracksToUpdateList", + "documentation":"

    An array of UpdateTarget objects to update with the maintenance track.

    " + } + }, + "documentation":"

    Defines a maintenance track that determines which Amazon Redshift version to apply during a maintenance window. If the value for MaintenanceTrack is current, the cluster is updated to the most recently certified maintenance release. If the value is trailing, the cluster is updated to the previously certified maintenance release.

    " + }, + "Mode":{ + "type":"string", + "enum":[ + "standard", + "high-performance" + ] + }, + "ModifyClusterDbRevisionMessage":{ + "type":"structure", + "required":[ + "ClusterIdentifier", + "RevisionTarget" + ], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier of a cluster whose database revision you want to modify.

    Example: examplecluster

    " + }, + "RevisionTarget":{ + "shape":"String", + "documentation":"

    The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.

    " + } + } + }, + "ModifyClusterDbRevisionResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, "ModifyClusterIamRolesMessage":{ "type":"structure", "required":["ClusterIdentifier"], @@ -3996,6 +5560,42 @@ "Cluster":{"shape":"Cluster"} } }, + "ModifyClusterMaintenanceMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the cluster.

    " + }, + "DeferMaintenance":{ + "shape":"BooleanOptional", + "documentation":"

    A boolean indicating whether to enable the deferred maintenance window.

    " + }, + "DeferMaintenanceIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the deferred maintenance window.

    " + }, + "DeferMaintenanceStartTime":{ + "shape":"TStamp", + "documentation":"

    A timestamp indicating the start time for the deferred maintenance window.

    " + }, + "DeferMaintenanceEndTime":{ + "shape":"TStamp", + "documentation":"

    A timestamp indicating end time for the deferred maintenance window. If you specify an end time, you can't specify a duration.

    " + }, + "DeferMaintenanceDuration":{ + "shape":"IntegerOptional", + "documentation":"

    An integer indicating the duration of the maintenance window in days. If you specify a duration, you can't specify an end time. The duration must be 45 days or less.

    " + } + } + }, + "ModifyClusterMaintenanceResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, "ModifyClusterMessage":{ "type":"structure", "required":["ClusterIdentifier"], @@ -4010,11 +5610,11 @@ }, "NodeType":{ "shape":"String", - "documentation":"

    The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

    When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request.

    Valid Values: ds1.xlarge | ds1.8xlarge | ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge.

    " + "documentation":"

    The new node type of the cluster. If you specify a new node type, you must also specify the number of nodes parameter.

    For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge

    " }, "NumberOfNodes":{ "shape":"IntegerOptional", - "documentation":"

    The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type parameter.

    When you submit your request to resize a cluster, Amazon Redshift sets access permissions for the cluster to read-only. After Amazon Redshift provisions a new cluster according to your resize requirements, there will be a temporary outage while the old cluster is deleted and your connection is switched to the new cluster. When the new connection is complete, the original access permissions for the cluster are restored. You can use DescribeResize to track the progress of the resize request.

    Valid Values: Integer greater than 0.

    " + "documentation":"

    The new number of nodes of the cluster. If you specify a new number of nodes, you must also specify the node type parameter.

    For more information about resizing clusters, go to Resizing Clusters in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    Valid Values: Integer greater than 0.

    " }, "ClusterSecurityGroups":{ "shape":"ClusterSecurityGroupNameList", @@ -4022,7 +5622,7 @@ }, "VpcSecurityGroupIds":{ "shape":"VpcSecurityGroupIdList", - "documentation":"

    A list of virtual private cloud (VPC) security groups to be associated with the cluster.

    " + "documentation":"

    A list of virtual private cloud (VPC) security groups to be associated with the cluster. This change is asynchronously applied as soon as possible.

    " }, "MasterUserPassword":{ "shape":"String", @@ -4036,13 +5636,17 @@ "shape":"IntegerOptional", "documentation":"

    The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

    If you decrease the automated snapshot retention period from its current value, existing automated snapshots that fall outside of the new retention period will be immediately deleted.

    Default: Uses existing setting.

    Constraints: Must be a value from 0 to 35.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The default for number of days that a newly created manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely. This value doesn't retroactively change the retention periods of existing manual snapshots.

    The value must be either -1 or an integer between 1 and 3,653.

    The default value is -1.

    " + }, "PreferredMaintenanceWindow":{ "shape":"String", "documentation":"

    The weekly time range (in UTC) during which system maintenance can occur, if necessary. If system maintenance is necessary during the window, it may result in an outage.

    This maintenance window change is made immediately. If the new maintenance window indicates the current time, there must be at least 120 minutes between the current time and end of the window in order to ensure that pending changes are applied.

    Default: Uses existing setting.

    Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00.

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Must be at least 30 minutes.

    " }, "ClusterVersion":{ "shape":"String", - "documentation":"

    The new version number of the Amazon Redshift engine to upgrade to.

    For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    Example: 1.0

    " + "documentation":"

    The new version number of the Amazon Redshift engine to upgrade to.

    For major version upgrades, if a non-default cluster parameter group is currently in use, a new cluster parameter group in the cluster parameter group family for the new version must be specified. The new cluster parameter group can be the default for that cluster parameter group family. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    Example: 1.0

    " }, "AllowVersionUpgrade":{ "shape":"BooleanOptional", @@ -4066,11 +5670,23 @@ }, "ElasticIp":{ "shape":"String", - "documentation":"

    The Elastic IP (EIP) address for the cluster.

    Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    The Elastic IP (EIP) address for the cluster.

    Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible through an Internet gateway. For more information about provisioning clusters in EC2-VPC, go to Supported Platforms to Launch Your Cluster in the Amazon Redshift Cluster Management Guide.

    " }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name for the maintenance track that you want to assign for the cluster. This name change is asynchronous. The new track name stays in the PendingModifiedValues for the cluster until the next maintenance window. When the maintenance track changes, the cluster is switched to the latest cluster release available for the maintenance track. At this point, the maintenance track name is applied.

    " + }, + "Encrypted":{ + "shape":"BooleanOptional", + "documentation":"

    Indicates whether the cluster is encrypted. If the value is encrypted (true) and you provide a value for the KmsKeyId parameter, we encrypt the cluster with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with the default key. In the China region we use legacy encryption if you specify that the cluster is encrypted.

    If the value is not encrypted (false), then the cluster is decrypted.

    " + }, + "KmsKeyId":{ + "shape":"String", + "documentation":"

    The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.

    " } }, "documentation":"

    " @@ -4099,6 +5715,48 @@ "Cluster":{"shape":"Cluster"} } }, + "ModifyClusterSnapshotMessage":{ + "type":"structure", + "required":["SnapshotIdentifier"], + "members":{ + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the snapshot whose setting you want to modify.

    " + }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

    If the manual snapshot falls outside of the new retention period, you can specify the force option to immediately delete the snapshot.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, + "Force":{ + "shape":"Boolean", + "documentation":"

    A Boolean option to override an exception if the retention period has already passed.

    " + } + } + }, + "ModifyClusterSnapshotResult":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, + "ModifyClusterSnapshotScheduleMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the cluster whose snapshot schedule you want to modify.

    " + }, + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique alphanumeric identifier for the schedule that you want to associate with the cluster.

    " + }, + "DisassociateSchedule":{ + "shape":"BooleanOptional", + "documentation":"

    A boolean to indicate whether to remove the assoiciation between the cluster and the schedule.

    " + } + } + }, "ModifyClusterSubnetGroupMessage":{ "type":"structure", "required":[ @@ -4141,7 +5799,7 @@ }, "SourceType":{ "shape":"String", - "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

    Valid values: cluster, cluster-parameter-group, cluster-security-group, and cluster-snapshot.

    " + "documentation":"

    The type of source that will be generating the events. For example, if you want to be notified of events generated by a cluster, you would set this parameter to cluster. If this value is not specified, events are returned for all Amazon Redshift objects in your AWS account. You must specify a source type in order to specify source IDs.

    Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, and scheduled-action.

    " }, "SourceIds":{ "shape":"SourceIdsList", @@ -4149,7 +5807,7 @@ }, "EventCategories":{ "shape":"EventCategoriesList", - "documentation":"

    Specifies the Amazon Redshift event categories to be published by the event notification subscription.

    Values: Configuration, Management, Monitoring, Security

    " + "documentation":"

    Specifies the Amazon Redshift event categories to be published by the event notification subscription.

    Values: configuration, management, monitoring, security

    " }, "Severity":{ "shape":"String", @@ -4168,6 +5826,44 @@ "EventSubscription":{"shape":"EventSubscription"} } }, + "ModifyScheduledActionMessage":{ + "type":"structure", + "required":["ScheduledActionName"], + "members":{ + "ScheduledActionName":{ + "shape":"String", + "documentation":"

    The name of the scheduled action to modify.

    " + }, + "TargetAction":{ + "shape":"ScheduledActionType", + "documentation":"

    A modified JSON format of the scheduled action. For more information about this parameter, see ScheduledAction.

    " + }, + "Schedule":{ + "shape":"String", + "documentation":"

    A modified schedule in either at( ) or cron( ) format. For more information about this parameter, see ScheduledAction.

    " + }, + "IamRole":{ + "shape":"String", + "documentation":"

    A different IAM role to assume to run the target action. For more information about this parameter, see ScheduledAction.

    " + }, + "ScheduledActionDescription":{ + "shape":"String", + "documentation":"

    A modified description of the scheduled action.

    " + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

    A modified start time of the scheduled action. For more information about this parameter, see ScheduledAction.

    " + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

    A modified end time of the scheduled action. For more information about this parameter, see ScheduledAction.

    " + }, + "Enable":{ + "shape":"BooleanOptional", + "documentation":"

    A modified enable flag of the scheduled action. If true, the scheduled action is active. If false, the scheduled action is disabled.

    " + } + } + }, "ModifySnapshotCopyRetentionPeriodMessage":{ "type":"structure", "required":[ @@ -4177,19 +5873,135 @@ "members":{ "ClusterIdentifier":{ "shape":"String", - "documentation":"

    The unique identifier of the cluster for which you want to change the retention period for automated snapshots that are copied to a destination region.

    Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.

    " + "documentation":"

    The unique identifier of the cluster for which you want to change the retention period for either automated or manual snapshots that are copied to a destination AWS Region.

    Constraints: Must be the valid name of an existing cluster that has cross-region snapshot copy enabled.

    " }, "RetentionPeriod":{ "shape":"Integer", - "documentation":"

    The number of days to retain automated snapshots in the destination region after they are copied from the source region.

    If you decrease the retention period for automated snapshots that are copied to a destination region, Amazon Redshift will delete any existing automated snapshots that were copied to the destination region and that fall outside of the new retention period.

    Constraints: Must be at least 1 and no more than 35.

    " + "documentation":"

    The number of days to retain automated snapshots in the destination AWS Region after they are copied from the source AWS Region.

    By default, this only changes the retention period of copied automated snapshots.

    If you decrease the retention period for automated snapshots that are copied to a destination AWS Region, Amazon Redshift deletes any existing automated snapshots that were copied to the destination AWS Region and that fall outside of the new retention period.

    Constraints: Must be at least 1 and no more than 35 for automated snapshots.

    If you specify the manual option, only newly copied manual snapshots will have the new retention period.

    If you specify the value of -1 newly copied manual snapshots are retained indefinitely.

    Constraints: The number of days must be either -1 or an integer between 1 and 3,653 for manual snapshots.

    " + }, + "Manual":{ + "shape":"Boolean", + "documentation":"

    Indicates whether to apply the snapshot retention period to newly copied manual snapshots instead of automated snapshots.

    " + } + }, + "documentation":"

    " + }, + "ModifySnapshotCopyRetentionPeriodResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "ModifySnapshotScheduleMessage":{ + "type":"structure", + "required":[ + "ScheduleIdentifier", + "ScheduleDefinitions" + ], + "members":{ + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique alphanumeric identifier of the schedule to modify.

    " + }, + "ScheduleDefinitions":{ + "shape":"ScheduleDefinitionList", + "documentation":"

    An updated list of schedule definitions. A schedule definition is made up of schedule expressions, for example, \"cron(30 12 *)\" or \"rate(12 hours)\".

    " + } + } + }, + "ModifyUsageLimitMessage":{ + "type":"structure", + "required":["UsageLimitId"], + "members":{ + "UsageLimitId":{ + "shape":"String", + "documentation":"

    The identifier of the usage limit to modify.

    " + }, + "Amount":{ + "shape":"LongOptional", + "documentation":"

    The new limit amount. For more information about this parameter, see UsageLimit.

    " + }, + "BreachAction":{ + "shape":"UsageLimitBreachAction", + "documentation":"

    The new action that Amazon Redshift takes when the limit is reached. For more information about this parameter, see UsageLimit.

    " + } + } + }, + "NodeConfigurationOption":{ + "type":"structure", + "members":{ + "NodeType":{ + "shape":"String", + "documentation":"

    The node type, such as, \"ds2.8xlarge\".

    " + }, + "NumberOfNodes":{ + "shape":"Integer", + "documentation":"

    The number of nodes.

    " + }, + "EstimatedDiskUtilizationPercent":{ + "shape":"DoubleOptional", + "documentation":"

    The estimated disk utilizaton percentage.

    " + }, + "Mode":{ + "shape":"Mode", + "documentation":"

    The category of the node configuration recommendation.

    " + } + }, + "documentation":"

    A list of node configurations.

    " + }, + "NodeConfigurationOptionList":{ + "type":"list", + "member":{ + "shape":"NodeConfigurationOption", + "locationName":"NodeConfigurationOption" + } + }, + "NodeConfigurationOptionsFilter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NodeConfigurationOptionsFilterName", + "documentation":"

    The name of the element to filter.

    " + }, + "Operator":{ + "shape":"OperatorType", + "documentation":"

    The filter operator. If filter Name is NodeType only the 'in' operator is supported. Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 'ge'. Provide two values to evaluate for 'between'. Provide a list of values for 'in'.

    " + }, + "Values":{ + "shape":"ValueStringList", + "documentation":"

    List of values. Compare Name using Operator to Values. If filter Name is NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, then values can range from 0 to 100. For example, filter NumberOfNodes (name) GT (operator) 3 (values).

    ", + "locationName":"Value" } }, - "documentation":"

    " + "documentation":"

    A set of elements to filter the returned node configurations.

    " }, - "ModifySnapshotCopyRetentionPeriodResult":{ + "NodeConfigurationOptionsFilterList":{ + "type":"list", + "member":{ + "shape":"NodeConfigurationOptionsFilter", + "locationName":"NodeConfigurationOptionsFilter" + } + }, + "NodeConfigurationOptionsFilterName":{ + "type":"string", + "enum":[ + "NodeType", + "NumberOfNodes", + "EstimatedDiskUtilizationPercent", + "Mode" + ] + }, + "NodeConfigurationOptionsMessage":{ "type":"structure", "members":{ - "Cluster":{"shape":"Cluster"} + "NodeConfigurationOptionList":{ + "shape":"NodeConfigurationOptionList", + "documentation":"

    A list of valid node configurations.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + } } }, "NumberOfNodesPerClusterLimitExceededFault":{ @@ -4208,7 +6020,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The operation would exceed the number of nodes allotted to the account. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"NumberOfNodesQuotaExceeded", "httpStatusCode":400, @@ -4216,6 +6028,18 @@ }, "exception":true }, + "OperatorType":{ + "type":"string", + "enum":[ + "eq", + "lt", + "gt", + "le", + "ge", + "in", + "between" + ] + }, "OrderableClusterOption":{ "type":"structure", "members":{ @@ -4289,7 +6113,7 @@ }, "ApplyType":{ "shape":"ParameterApplyType", - "documentation":"

    Specifies how to apply the WLM configuration parameter. Some properties can be applied dynamically, while other properties require that any associated clusters be rebooted for the configuration changes to be applied. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    Specifies how to apply the WLM configuration parameter. Some properties can be applied dynamically, while other properties require that any associated clusters be rebooted for the configuration changes to be applied. For more information about parameters and parameter groups, go to Amazon Redshift Parameter Groups in the Amazon Redshift Cluster Management Guide.

    " }, "IsModifiable":{ "shape":"Boolean", @@ -4323,6 +6147,26 @@ "locationName":"Parameter" } }, + "PauseClusterMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster to be paused.

    " + } + } + }, + "PauseClusterResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "PendingActionsList":{ + "type":"list", + "member":{"shape":"String"} + }, "PendingModifiedValues":{ "type":"structure", "members":{ @@ -4360,7 +6204,15 @@ }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track that the cluster will change to during the next maintenance window.

    " + }, + "EncryptionType":{ + "shape":"String", + "documentation":"

    The encryption type for a cluster. Possible values are: KMS and None. For the China region the possible values are None, and Legacy.

    " } }, "documentation":"

    Describes cluster attributes that are in a pending state. A change to one or more the attributes was requested and is in progress or will be applied.

    " @@ -4466,7 +6318,7 @@ }, "State":{ "shape":"String", - "documentation":"

    The state of the reserved compute node.

    Possible Values:

    • pending-payment-This reserved node has recently been purchased, and the sale has been approved, but payment has not yet been confirmed.

    • active-This reserved node is owned by the caller and is available for use.

    • payment-failed-Payment failed for the purchase attempt.

    " + "documentation":"

    The state of the reserved compute node.

    Possible Values:

    • pending-payment-This reserved node has recently been purchased, and the sale has been approved, but payment has not yet been confirmed.

    • active-This reserved node is owned by the caller and is available for use.

    • payment-failed-Payment failed for the purchase attempt.

    • retired-The reserved node is no longer available.

    • exchanging-The owner is exchanging the reserved node for another reserved node.

    " }, "OfferingType":{ "shape":"String", @@ -4475,6 +6327,10 @@ "RecurringCharges":{ "shape":"RecurringChargeList", "documentation":"

    The recurring charges for the reserved node.

    " + }, + "ReservedNodeOfferingType":{ + "shape":"ReservedNodeOfferingType", + "documentation":"

    " } }, "documentation":"

    Describes a reserved node. You can call the DescribeReservedNodeOfferings API to obtain the available reserved node offerings.

    ", @@ -4492,6 +6348,18 @@ }, "exception":true }, + "ReservedNodeAlreadyMigratedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that the reserved node has already been exchanged.

    ", + "error":{ + "code":"ReservedNodeAlreadyMigrated", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ReservedNodeList":{ "type":"list", "member":{ @@ -4545,6 +6413,10 @@ "RecurringCharges":{ "shape":"RecurringChargeList", "documentation":"

    The charge to your account regardless of whether you are creating any clusters using the node offering. Recurring charges are only in effect for heavy-utilization reserved nodes.

    " + }, + "ReservedNodeOfferingType":{ + "shape":"ReservedNodeOfferingType", + "documentation":"

    " } }, "documentation":"

    Describes a reserved node offering.

    ", @@ -4569,6 +6441,13 @@ }, "exception":true }, + "ReservedNodeOfferingType":{ + "type":"string", + "enum":[ + "Regular", + "Upgradable" + ] + }, "ReservedNodeOfferingsMessage":{ "type":"structure", "members":{ @@ -4587,7 +6466,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Request would exceed the user's compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    Request would exceed the user's compute node quota. For information about increasing your quota, go to Limits in Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    ", "error":{ "code":"ReservedNodeQuotaExceeded", "httpStatusCode":400, @@ -4628,6 +6507,52 @@ }, "documentation":"

    " }, + "ResizeClusterMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The unique identifier for the cluster to resize.

    " + }, + "ClusterType":{ + "shape":"String", + "documentation":"

    The new cluster type for the specified cluster.

    " + }, + "NodeType":{ + "shape":"String", + "documentation":"

    The new node type for the nodes you are adding. If not specified, the cluster's current node type is used.

    " + }, + "NumberOfNodes":{ + "shape":"Integer", + "documentation":"

    The new number of nodes for the cluster.

    " + }, + "Classic":{ + "shape":"BooleanOptional", + "documentation":"

    A boolean value indicating whether the resize operation is using the classic resize process. If you don't provide this parameter or set the value to false, the resize type is elastic.

    " + } + } + }, + "ResizeClusterResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "ResizeInfo":{ + "type":"structure", + "members":{ + "ResizeType":{ + "shape":"String", + "documentation":"

    Returns the value ClassicResize.

    " + }, + "AllowCancelResize":{ + "shape":"Boolean", + "documentation":"

    A boolean value indicating if the resize operation can be cancelled.

    " + } + }, + "documentation":"

    Describes a resize operation.

    " + }, "ResizeNotFoundFault":{ "type":"structure", "members":{ @@ -4657,7 +6582,7 @@ }, "Status":{ "shape":"String", - "documentation":"

    The status of the resize operation.

    Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED

    " + "documentation":"

    The status of the resize operation.

    Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED | CANCELLING

    " }, "ImportTablesCompleted":{ "shape":"ImportTablesCompleted", @@ -4690,6 +6615,22 @@ "EstimatedTimeToCompletionInSeconds":{ "shape":"LongOptional", "documentation":"

    The estimated time remaining, in seconds, until the resize operation is complete. This value is calculated based on the average resize rate and the estimated amount of data remaining to be processed. Once the resize operation is complete, this value will be 0.

    " + }, + "ResizeType":{ + "shape":"String", + "documentation":"

    An enum with possible values of ClassicResize and ElasticResize. These values describe the type of resize operation being performed.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    An optional string to provide additional details about the resize action.

    " + }, + "TargetEncryptionType":{ + "shape":"String", + "documentation":"

    The type of encryption for the cluster after the resize is complete.

    Possible values are KMS and None. In the China region possible values are: Legacy and None.

    " + }, + "DataTransferProgressPercent":{ + "shape":"DoubleOptional", + "documentation":"

    The percent of data transferred from source cluster to target cluster.

    " } }, "documentation":"

    Describes the result of a cluster resize operation.

    " @@ -4738,7 +6679,7 @@ }, "AvailabilityZone":{ "shape":"String", - "documentation":"

    The Amazon EC2 Availability Zone in which to restore the cluster.

    Default: A random, system-chosen Availability Zone.

    Example: us-east-1a

    " + "documentation":"

    The Amazon EC2 Availability Zone in which to restore the cluster.

    Default: A random, system-chosen Availability Zone.

    Example: us-east-2a

    " }, "AllowVersionUpgrade":{ "shape":"BooleanOptional", @@ -4770,7 +6711,7 @@ }, "ClusterParameterGroupName":{ "shape":"String", - "documentation":"

    The name of the parameter group to be associated with this cluster.

    Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

    Constraints:

    • Must be 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " + "documentation":"

    The name of the parameter group to be associated with this cluster.

    Default: The default Amazon Redshift cluster parameter group. For information about the default parameter group, go to Working with Amazon Redshift Parameter Groups.

    Constraints:

    • Must be 1 to 255 alphanumeric characters or hyphens.

    • First character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    " }, "ClusterSecurityGroups":{ "shape":"ClusterSecurityGroupNameList", @@ -4782,23 +6723,27 @@ }, "PreferredMaintenanceWindow":{ "shape":"String", - "documentation":"

    The weekly time range (in UTC) during which automated cluster maintenance can occur.

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Minimum 30-minute window.

    " + "documentation":"

    The weekly time range (in UTC) during which automated cluster maintenance can occur.

    Format: ddd:hh24:mi-ddd:hh24:mi

    Default: The value selected for the cluster from which the snapshot was taken. For more information about the time blocks for each region, see Maintenance Windows in Amazon Redshift Cluster Management Guide.

    Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun

    Constraints: Minimum 30-minute window.

    " }, "AutomatedSnapshotRetentionPeriod":{ "shape":"IntegerOptional", "documentation":"

    The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with CreateClusterSnapshot.

    Default: The value selected for the cluster from which the snapshot was taken.

    Constraints: Must be a value from 0 to 35.

    " }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, "KmsKeyId":{ "shape":"String", "documentation":"

    The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster that you restore from a shared snapshot.

    " }, "NodeType":{ "shape":"String", - "documentation":"

    The node type that the restored cluster will be provisioned with.

    Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge into ds1.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide

    " + "documentation":"

    The node type that the restored cluster will be provisioned with.

    Default: The node type of the cluster from which the snapshot was taken. You can modify this if you are using any DS node type. In that case, you can choose to restore into another DS node type of the same size. For example, you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. If you have a DC instance type, you must restore into that same instance type and size. In other words, you can only restore a dc1.large instance type into another dc1.large instance type or dc2.large instance type. You can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge cluster, then resize to a dc2.8large cluster. For more information about node types, see About Clusters and Nodes in the Amazon Redshift Cluster Management Guide.

    " }, "EnhancedVpcRouting":{ "shape":"BooleanOptional", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " }, "AdditionalInfo":{ "shape":"String", @@ -4807,6 +6752,18 @@ "IamRoles":{ "shape":"IamRoleArnList", "documentation":"

    A list of AWS Identity and Access Management (IAM) roles that can be used by the cluster to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles in a single request.

    A cluster can have up to 10 IAM roles associated at any time.

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks.

    " + }, + "SnapshotScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the snapshot schedule.

    " + }, + "NumberOfNodes":{ + "shape":"IntegerOptional", + "documentation":"

    The number of nodes specified when provisioning the restored cluster.

    " } }, "documentation":"

    " @@ -4826,23 +6783,23 @@ }, "CurrentRestoreRateInMegaBytesPerSecond":{ "shape":"Double", - "documentation":"

    The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup.

    " + "documentation":"

    The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types.

    " }, "SnapshotSizeInMegaBytes":{ "shape":"Long", - "documentation":"

    The size of the set of snapshot data used to restore the cluster.

    " + "documentation":"

    The size of the set of snapshot data used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types.

    " }, "ProgressInMegaBytes":{ "shape":"Long", - "documentation":"

    The number of megabytes that have been transferred from snapshot storage.

    " + "documentation":"

    The number of megabytes that have been transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types.

    " }, "ElapsedTimeInSeconds":{ "shape":"Long", - "documentation":"

    The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish.

    " + "documentation":"

    The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types.

    " }, "EstimatedTimeToCompletionInSeconds":{ "shape":"Long", - "documentation":"

    The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore.

    " + "documentation":"

    The estimate of the time remaining before the restore will complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types.

    " } }, "documentation":"

    Describes the status of a cluster restore action. Returns null if the cluster was not created by restoring a snapshot.

    " @@ -4898,6 +6855,47 @@ "TableRestoreStatus":{"shape":"TableRestoreStatus"} } }, + "ResumeClusterMessage":{ + "type":"structure", + "required":["ClusterIdentifier"], + "members":{ + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster to be resumed.

    " + } + } + }, + "ResumeClusterResult":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "RevisionTarget":{ + "type":"structure", + "members":{ + "DatabaseRevision":{ + "shape":"String", + "documentation":"

    A unique string that identifies the version to update the cluster to. You can use this value in ModifyClusterDbRevision.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    A string that describes the changes and features that will be applied to the cluster when it is updated to the corresponding ClusterDbRevision.

    " + }, + "DatabaseRevisionReleaseDate":{ + "shape":"TStamp", + "documentation":"

    The date on which the database revision was released.

    " + } + }, + "documentation":"

    Describes a RevisionTarget.

    " + }, + "RevisionTargetsList":{ + "type":"list", + "member":{ + "shape":"RevisionTarget", + "locationName":"RevisionTarget" + } + }, "RevokeClusterSecurityGroupIngressMessage":{ "type":"structure", "required":["ClusterSecurityGroupName"], @@ -4982,31 +6980,251 @@ "httpStatusCode":400, "senderFault":true }, - "exception":true + "exception":true + }, + "SNSNoAuthorizationFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You do not have permission to publish to the specified Amazon SNS topic.

    ", + "error":{ + "code":"SNSNoAuthorization", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SNSTopicArnNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.

    ", + "error":{ + "code":"SNSTopicArnNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ScheduleDefinitionList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"ScheduleDefinition" + } + }, + "ScheduleDefinitionTypeUnsupportedFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The definition you submitted is not supported.

    ", + "error":{ + "code":"ScheduleDefinitionTypeUnsupported", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduleState":{ + "type":"string", + "enum":[ + "MODIFYING", + "ACTIVE", + "FAILED" + ] + }, + "ScheduledAction":{ + "type":"structure", + "members":{ + "ScheduledActionName":{ + "shape":"String", + "documentation":"

    The name of the scheduled action.

    " + }, + "TargetAction":{ + "shape":"ScheduledActionType", + "documentation":"

    A JSON format string of the Amazon Redshift API operation with input parameters.

    \"{\\\"ResizeCluster\\\":{\\\"NodeType\\\":\\\"ds2.8xlarge\\\",\\\"ClusterIdentifier\\\":\\\"my-test-cluster\\\",\\\"NumberOfNodes\\\":3}}\".

    " + }, + "Schedule":{ + "shape":"String", + "documentation":"

    The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.

    Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)\". For example, \"at(2016-03-04T17:27:00)\".

    Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)\". For example, \"cron(0 10 ? * MON *)\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.

    " + }, + "IamRole":{ + "shape":"String", + "documentation":"

    The IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide.

    " + }, + "ScheduledActionDescription":{ + "shape":"String", + "documentation":"

    The description of the scheduled action.

    " + }, + "State":{ + "shape":"ScheduledActionState", + "documentation":"

    The state of the scheduled action. For example, DISABLED.

    " + }, + "NextInvocations":{ + "shape":"ScheduledActionTimeList", + "documentation":"

    List of times when the scheduled action will run.

    " + }, + "StartTime":{ + "shape":"TStamp", + "documentation":"

    The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

    " + }, + "EndTime":{ + "shape":"TStamp", + "documentation":"

    The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

    " + } + }, + "documentation":"

    Describes a scheduled action. You can use a scheduled action to trigger some Amazon Redshift API operations on a schedule. For information about which API operations can be scheduled, see ScheduledActionType.

    " + }, + "ScheduledActionAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The scheduled action already exists.

    ", + "error":{ + "code":"ScheduledActionAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"ScheduledActionFilterName", + "documentation":"

    The type of element to filter.

    " + }, + "Values":{ + "shape":"ValueStringList", + "documentation":"

    List of values. Compare if the value (of type defined by Name) equals an item in the list of scheduled actions.

    " + } + }, + "documentation":"

    A set of elements to filter the returned scheduled actions.

    " + }, + "ScheduledActionFilterList":{ + "type":"list", + "member":{ + "shape":"ScheduledActionFilter", + "locationName":"ScheduledActionFilter" + } + }, + "ScheduledActionFilterName":{ + "type":"string", + "enum":[ + "cluster-identifier", + "iam-role" + ] + }, + "ScheduledActionList":{ + "type":"list", + "member":{ + "shape":"ScheduledAction", + "locationName":"ScheduledAction" + } + }, + "ScheduledActionNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The scheduled action cannot be found.

    ", + "error":{ + "code":"ScheduledActionNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The quota for scheduled actions exceeded.

    ", + "error":{ + "code":"ScheduledActionQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ScheduledActionState":{ + "type":"string", + "enum":[ + "ACTIVE", + "DISABLED" + ] + }, + "ScheduledActionTimeList":{ + "type":"list", + "member":{ + "shape":"TStamp", + "locationName":"ScheduledActionTime" + } + }, + "ScheduledActionType":{ + "type":"structure", + "members":{ + "ResizeCluster":{ + "shape":"ResizeClusterMessage", + "documentation":"

    An action that runs a ResizeCluster API operation.

    " + }, + "PauseCluster":{ + "shape":"PauseClusterMessage", + "documentation":"

    An action that runs a PauseCluster API operation.

    " + }, + "ResumeCluster":{ + "shape":"ResumeClusterMessage", + "documentation":"

    An action that runs a ResumeCluster API operation.

    " + } + }, + "documentation":"

    The action type that specifies an Amazon Redshift API operation that is supported by the Amazon Redshift scheduler.

    " }, - "SNSNoAuthorizationFault":{ + "ScheduledActionTypeUnsupportedFault":{ "type":"structure", "members":{ }, - "documentation":"

    You do not have permission to publish to the specified Amazon SNS topic.

    ", + "documentation":"

    The action type specified for a scheduled action is not supported.

    ", "error":{ - "code":"SNSNoAuthorization", + "code":"ScheduledActionTypeUnsupported", "httpStatusCode":400, "senderFault":true }, "exception":true }, - "SNSTopicArnNotFoundFault":{ + "ScheduledActionTypeValues":{ + "type":"string", + "enum":[ + "ResizeCluster", + "PauseCluster", + "ResumeCluster" + ] + }, + "ScheduledActionsMessage":{ "type":"structure", "members":{ - }, - "documentation":"

    An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not exist.

    ", - "error":{ - "code":"SNSTopicArnNotFound", - "httpStatusCode":404, - "senderFault":true - }, - "exception":true + "Marker":{ + "shape":"String", + "documentation":"

    An optional parameter that specifies the starting point to return a set of response records. When the results of a DescribeScheduledActions request exceed the value specified in MaxRecords, AWS returns a value in the Marker field of the response. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + }, + "ScheduledActions":{ + "shape":"ScheduledActionList", + "documentation":"

    List of retrieved scheduled actions.

    " + } + } + }, + "ScheduledSnapshotTimeList":{ + "type":"list", + "member":{ + "shape":"TStamp", + "locationName":"SnapshotTime" + } + }, + "SensitiveString":{ + "type":"string", + "sensitive":true }, "Snapshot":{ "type":"structure", @@ -5021,11 +7239,11 @@ }, "SnapshotCreateTime":{ "shape":"TStamp", - "documentation":"

    The time (UTC) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

    " + "documentation":"

    The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot contains a copy of the cluster data as of this exact time.

    " }, "Status":{ "shape":"String", - "documentation":"

    The snapshot status. The value of the status depends on the API operation used.

    " + "documentation":"

    The snapshot status. The value of the status depends on the API operation used:

    " }, "Port":{ "shape":"Integer", @@ -5049,7 +7267,7 @@ }, "SnapshotType":{ "shape":"String", - "documentation":"

    The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot will be of type \"manual\".

    " + "documentation":"

    The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot are of type \"manual\".

    " }, "NodeType":{ "shape":"String", @@ -5125,12 +7343,36 @@ }, "EnhancedVpcRouting":{ "shape":"Boolean", - "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + "documentation":"

    An option that specifies whether to create the cluster with enhanced VPC routing enabled. To create a cluster that uses enhanced VPC routing, the cluster must be in a VPC. For more information, see Enhanced VPC Routing in the Amazon Redshift Cluster Management Guide.

    If this option is true, enhanced VPC routing is enabled.

    Default: false

    " + }, + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the maintenance track for the snapshot.

    " + }, + "ManualSnapshotRetentionPeriod":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.

    The value must be either -1 or an integer between 1 and 3,653.

    " + }, + "ManualSnapshotRemainingDays":{ + "shape":"IntegerOptional", + "documentation":"

    The number of days until a manual snapshot will pass its retention period.

    " + }, + "SnapshotRetentionStartTime":{ + "shape":"TStamp", + "documentation":"

    A timestamp representing the start of the retention period for the snapshot.

    " } }, "documentation":"

    Describes a snapshot.

    ", "wrapper":true }, + "SnapshotAttributeToSortBy":{ + "type":"string", + "enum":[ + "SOURCE_TYPE", + "TOTAL_SIZE", + "CREATE_TIME" + ] + }, "SnapshotCopyAlreadyDisabledFault":{ "type":"structure", "members":{ @@ -5183,7 +7425,7 @@ "documentation":"

    A list of tag instances.

    " } }, - "documentation":"

    The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified customer master key (CMK) from AWS KMS in the destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    ", + "documentation":"

    The snapshot copy grant that grants Amazon Redshift permission to encrypt copied snapshots with the specified customer master key (CMK) from AWS KMS in the destination region.

    For more information about managing snapshot copy grants, go to Amazon Redshift Database Encryption in the Amazon Redshift Cluster Management Guide.

    ", "wrapper":true }, "SnapshotCopyGrantAlreadyExistsFault":{ @@ -5243,6 +7485,35 @@ }, "exception":true }, + "SnapshotErrorMessage":{ + "type":"structure", + "members":{ + "SnapshotIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the snapshot returning the error.

    " + }, + "SnapshotClusterIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the cluster.

    " + }, + "FailureCode":{ + "shape":"String", + "documentation":"

    The failure code for the error.

    " + }, + "FailureReason":{ + "shape":"String", + "documentation":"

    The text message describing the error.

    " + } + }, + "documentation":"

    Describes the errors returned by a snapshot.

    " + }, + "SnapshotIdentifierList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"String" + } + }, "SnapshotList":{ "type":"list", "member":{ @@ -5264,6 +7535,124 @@ }, "documentation":"

    Contains the output from the DescribeClusterSnapshots action.

    " }, + "SnapshotSchedule":{ + "type":"structure", + "members":{ + "ScheduleDefinitions":{ + "shape":"ScheduleDefinitionList", + "documentation":"

    A list of ScheduleDefinitions.

    " + }, + "ScheduleIdentifier":{ + "shape":"String", + "documentation":"

    A unique identifier for the schedule.

    " + }, + "ScheduleDescription":{ + "shape":"String", + "documentation":"

    The description of the schedule.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An optional set of tags describing the schedule.

    " + }, + "NextInvocations":{ + "shape":"ScheduledSnapshotTimeList", + "documentation":"

    " + }, + "AssociatedClusterCount":{ + "shape":"IntegerOptional", + "documentation":"

    The number of clusters associated with the schedule.

    " + }, + "AssociatedClusters":{ + "shape":"AssociatedClusterList", + "documentation":"

    A list of clusters associated with the schedule. A maximum of 100 clusters is returned.

    " + } + }, + "documentation":"

    Describes a snapshot schedule. You can set a regular interval for creating snapshots of a cluster. You can also schedule snapshots for specific dates.

    " + }, + "SnapshotScheduleAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified snapshot schedule already exists.

    ", + "error":{ + "code":"SnapshotScheduleAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotScheduleList":{ + "type":"list", + "member":{ + "shape":"SnapshotSchedule", + "locationName":"SnapshotSchedule" + } + }, + "SnapshotScheduleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    We could not find the specified snapshot schedule.

    ", + "error":{ + "code":"SnapshotScheduleNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotScheduleQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You have exceeded the quota of snapshot schedules.

    ", + "error":{ + "code":"SnapshotScheduleQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotScheduleUpdateInProgressFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified snapshot schedule is already being updated.

    ", + "error":{ + "code":"SnapshotScheduleUpdateInProgress", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SnapshotSortingEntity":{ + "type":"structure", + "required":["Attribute"], + "members":{ + "Attribute":{ + "shape":"SnapshotAttributeToSortBy", + "documentation":"

    The category for sorting the snapshots.

    " + }, + "SortOrder":{ + "shape":"SortByOrder", + "documentation":"

    The order for listing the attributes.

    " + } + }, + "documentation":"

    Describes a sorting entity

    " + }, + "SnapshotSortingEntityList":{ + "type":"list", + "member":{ + "shape":"SnapshotSortingEntity", + "locationName":"SnapshotSortingEntity" + } + }, + "SortByOrder":{ + "type":"string", + "enum":[ + "ASC", + "DESC" + ] + }, "SourceIdsList":{ "type":"list", "member":{ @@ -5289,7 +7678,8 @@ "cluster", "cluster-parameter-group", "cluster-security-group", - "cluster-snapshot" + "cluster-snapshot", + "scheduled-action" ] }, "String":{"type":"string"}, @@ -5300,7 +7690,10 @@ "shape":"String", "documentation":"

    The identifier of the subnet.

    " }, - "SubnetAvailabilityZone":{"shape":"AvailabilityZone"}, + "SubnetAvailabilityZone":{ + "shape":"AvailabilityZone", + "documentation":"

    " + }, "SubnetStatus":{ "shape":"String", "documentation":"

    The status of the subnet.

    " @@ -5394,7 +7787,54 @@ }, "exception":true }, + "SupportedOperation":{ + "type":"structure", + "members":{ + "OperationName":{ + "shape":"String", + "documentation":"

    A list of the supported operations.

    " + } + }, + "documentation":"

    Describes the operations that are allowed on a maintenance track.

    " + }, + "SupportedOperationList":{ + "type":"list", + "member":{ + "shape":"SupportedOperation", + "locationName":"SupportedOperation" + } + }, + "SupportedPlatform":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    " + } + }, + "documentation":"

    A list of supported platforms for orderable clusters.

    ", + "wrapper":true + }, + "SupportedPlatformsList":{ + "type":"list", + "member":{ + "shape":"SupportedPlatform", + "locationName":"SupportedPlatform" + } + }, "TStamp":{"type":"timestamp"}, + "TableLimitExceededFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The number of tables in the cluster exceeds the limit for the requested new cluster node type.

    ", + "error":{ + "code":"TableLimitExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "TableRestoreNotFoundFault":{ "type":"structure", "members":{ @@ -5526,7 +7966,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The request exceeds the limit of 10 tags for the resource.

    ", + "documentation":"

    You have exceeded the number of tags allowed.

    ", "error":{ "code":"TagLimitExceededFault", "httpStatusCode":400, @@ -5557,11 +7997,11 @@ }, "ResourceName":{ "shape":"String", - "documentation":"

    The Amazon Resource Name (ARN) with which the tag is associated. For example, arn:aws:redshift:us-east-1:123456789:cluster:t1.

    " + "documentation":"

    The Amazon Resource Name (ARN) with which the tag is associated, for example: arn:aws:redshift:us-east-2:123456789:cluster:t1.

    " }, "ResourceType":{ "shape":"String", - "documentation":"

    The type of resource with which the tag is associated. Valid resource types are:

    • Cluster

    • CIDR/IP

    • EC2 security group

    • Snapshot

    • Cluster security group

    • Subnet group

    • HSM connection

    • HSM certificate

    • Parameter group

    For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

    " + "documentation":"

    The type of resource with which the tag is associated. Valid resource types are:

    • Cluster

    • CIDR/IP

    • EC2 security group

    • Snapshot

    • Cluster security group

    • Subnet group

    • HSM connection

    • HSM certificate

    • Parameter group

    For more information about Amazon Redshift resource types and constructing ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) in the Amazon Redshift Cluster Management Guide.

    " } }, "documentation":"

    A tag and its associated resource.

    " @@ -5587,6 +8027,26 @@ }, "documentation":"

    " }, + "TrackList":{ + "type":"list", + "member":{ + "shape":"MaintenanceTrack", + "locationName":"MaintenanceTrack" + } + }, + "TrackListMessage":{ + "type":"structure", + "members":{ + "MaintenanceTracks":{ + "shape":"TrackList", + "documentation":"

    A list of maintenance tracks output by the DescribeClusterTracks operation.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    The starting point to return a set of response tracklist records. You can retrieve the next set of response records by providing the returned marker value in the Marker parameter and retrying the request.

    " + } + } + }, "UnauthorizedOperation":{ "type":"structure", "members":{ @@ -5635,6 +8095,140 @@ }, "exception":true }, + "UpdateTarget":{ + "type":"structure", + "members":{ + "MaintenanceTrackName":{ + "shape":"String", + "documentation":"

    The name of the new maintenance track.

    " + }, + "DatabaseVersion":{ + "shape":"String", + "documentation":"

    The cluster version for the new maintenance track.

    " + }, + "SupportedOperations":{ + "shape":"SupportedOperationList", + "documentation":"

    A list of operations supported by the maintenance track.

    " + } + }, + "documentation":"

    A maintenance track that you can switch the current track to.

    " + }, + "UsageLimit":{ + "type":"structure", + "members":{ + "UsageLimitId":{ + "shape":"String", + "documentation":"

    The identifier of the usage limit.

    " + }, + "ClusterIdentifier":{ + "shape":"String", + "documentation":"

    The identifier of the cluster with a usage limit.

    " + }, + "FeatureType":{ + "shape":"UsageLimitFeatureType", + "documentation":"

    The Amazon Redshift feature to which the limit applies.

    " + }, + "LimitType":{ + "shape":"UsageLimitLimitType", + "documentation":"

    The type of limit. Depending on the feature type, this can be based on a time duration or data size.

    " + }, + "Amount":{ + "shape":"Long", + "documentation":"

    The limit amount. If time-based, this amount is in minutes. If data-based, this amount is in terabytes (TB).

    " + }, + "Period":{ + "shape":"UsageLimitPeriod", + "documentation":"

    The time period that the amount applies to. A weekly period begins on Sunday. The default is monthly.

    " + }, + "BreachAction":{ + "shape":"UsageLimitBreachAction", + "documentation":"

    The action that Amazon Redshift takes when the limit is reached. Possible values are:

    • log - To log an event in a system table. The default is log.

    • emit-metric - To emit CloudWatch metrics.

    • disable - To disable the feature until the next usage period begins.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tag instances.

    " + } + }, + "documentation":"

    Describes a usage limit object for a cluster.

    " + }, + "UsageLimitAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The usage limit already exists.

    ", + "error":{ + "code":"UsageLimitAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UsageLimitBreachAction":{ + "type":"string", + "enum":[ + "log", + "emit-metric", + "disable" + ] + }, + "UsageLimitFeatureType":{ + "type":"string", + "enum":[ + "spectrum", + "concurrency-scaling" + ] + }, + "UsageLimitLimitType":{ + "type":"string", + "enum":[ + "time", + "data-scanned" + ] + }, + "UsageLimitList":{ + "type":"structure", + "members":{ + "UsageLimits":{ + "shape":"UsageLimits", + "documentation":"

    Contains the output from the DescribeUsageLimits action.

    " + }, + "Marker":{ + "shape":"String", + "documentation":"

    A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned marker value in the Marker parameter and retrying the command. If the Marker field is empty, all response records have been retrieved for the request.

    " + } + } + }, + "UsageLimitNotFoundFault":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The usage limit identifier can't be found.

    ", + "error":{ + "code":"UsageLimitNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "UsageLimitPeriod":{ + "type":"string", + "enum":[ + "daily", + "weekly", + "monthly" + ] + }, + "UsageLimits":{ + "type":"list", + "member":{"shape":"UsageLimit"} + }, + "ValueStringList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"item" + } + }, "VpcSecurityGroupIdList":{ "type":"list", "member":{ @@ -5664,5 +8258,5 @@ } } }, - "documentation":"Amazon Redshift

    Overview

    This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces.

    Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers.

    If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide.

    If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse.

    " + "documentation":"Amazon Redshift

    Overview

    This is an interface reference for Amazon Redshift. It contains documentation for one of the programming or command line interfaces you can use to manage Amazon Redshift clusters. Note that Amazon Redshift is asynchronous, which means that some interfaces may require techniques, such as polling or asynchronous callback handlers, to determine when a command has been applied. In this reference, the parameter descriptions indicate whether a change is applied immediately, on the next instance reboot, or during the next maintenance window. For a summary of the Amazon Redshift cluster management interfaces, go to Using the Amazon Redshift Management Interfaces.

    Amazon Redshift manages all the work of setting up, operating, and scaling a data warehouse: provisioning capacity, monitoring and backing up the cluster, and applying patches and upgrades to the Amazon Redshift engine. You can focus on using your data to acquire new insights for your business and customers.

    If you are a first-time user of Amazon Redshift, we recommend that you begin by reading the Amazon Redshift Getting Started Guide.

    If you are a database developer, the Amazon Redshift Database Developer Guide explains how to design, build, query, and maintain the databases that make up your data warehouse.

    " } diff -Nru python-botocore-1.4.70/botocore/data/redshift/2012-12-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/redshift/2012-12-01/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/redshift/2012-12-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -42,13 +42,32 @@ "argument": "Clusters[].ClusterStatus" }, { - "expected": "rebooting", + "expected": "modifying", "matcher": "pathAny", "state": "failure", "argument": "Clusters[].ClusterStatus" } ] }, + "ClusterRestored": { + "operation": "DescribeClusters", + "maxAttempts": 30, + "delay": 60, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "Clusters[].RestoreStatus.Status", + "expected": "completed" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "Clusters[].ClusterStatus", + "expected": "deleting" + } + ] + }, "SnapshotAvailable": { "delay": 15, "operation": "DescribeClusterSnapshots", diff -Nru python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/examples-1.json python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/examples-1.json --- python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,651 @@ +{ + "version": "1.0", + "examples": { + "CompareFaces": [ + { + "input": { + "SimilarityThreshold": 90, + "SourceImage": { + "S3Object": { + "Bucket": "mybucket", + "Name": "mysourceimage" + } + }, + "TargetImage": { + "S3Object": { + "Bucket": "mybucket", + "Name": "mytargetimage" + } + } + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289 + }, + "Similarity": 100 + } + ], + "SourceImageFace": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289 + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation compares the largest face detected in the source image with each face detected in the target image.", + "id": "to-compare-two-images-1482181985581", + "title": "To compare two images" + } + ], + "CreateCollection": [ + { + "input": { + "CollectionId": "myphotos" + }, + "output": { + "CollectionArn": "aws:rekognition:us-west-2:123456789012:collection/myphotos", + "StatusCode": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation creates a Rekognition collection for storing image data.", + "id": "to-create-a-collection-1481833313674", + "title": "To create a collection" + } + ], + "DeleteCollection": [ + { + "input": { + "CollectionId": "myphotos" + }, + "output": { + "StatusCode": 200 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes a Rekognition collection.", + "id": "to-delete-a-collection-1481838179973", + "title": "To delete a collection" + } + ], + "DeleteFaces": [ + { + "input": { + "CollectionId": "myphotos", + "FaceIds": [ + "ff43d742-0c13-5d16-a3e8-03d3f58e980b" + ] + }, + "output": { + "DeletedFaces": [ + "ff43d742-0c13-5d16-a3e8-03d3f58e980b" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes one or more faces from a Rekognition collection.", + "id": "to-delete-a-face-1482182799377", + "title": "To delete a face" + } + ], + "DetectFaces": [ + { + "input": { + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + } + }, + "output": { + "FaceDetails": [ + { + "BoundingBox": { + "Height": 0.18000000715255737, + "Left": 0.5555555820465088, + "Top": 0.33666667342185974, + "Width": 0.23999999463558197 + }, + "Confidence": 100, + "Landmarks": [ + { + "Type": "eyeLeft", + "X": 0.6394737362861633, + "Y": 0.40819624066352844 + }, + { + "Type": "eyeRight", + "X": 0.7266660928726196, + "Y": 0.41039225459098816 + }, + { + "Type": "eyeRight", + "X": 0.6912462115287781, + "Y": 0.44240960478782654 + }, + { + "Type": "mouthDown", + "X": 0.6306198239326477, + "Y": 0.46700039505958557 + }, + { + "Type": "mouthUp", + "X": 0.7215608954429626, + "Y": 0.47114261984825134 + } + ], + "Pose": { + "Pitch": 4.050806522369385, + "Roll": 0.9950747489929199, + "Yaw": 13.693790435791016 + }, + "Quality": { + "Brightness": 37.60169982910156, + "Sharpness": 80 + } + } + ], + "OrientationCorrection": "ROTATE_0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects faces in an image stored in an AWS S3 bucket.", + "id": "to-detect-faces-in-an-image-1481841782793", + "title": "To detect faces in an image" + } + ], + "DetectLabels": [ + { + "input": { + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + }, + "MaxLabels": 123, + "MinConfidence": 70 + }, + "output": { + "Labels": [ + { + "Confidence": 99.25072479248047, + "Name": "People" + }, + { + "Confidence": 99.25074005126953, + "Name": "Person" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects labels in the supplied image", + "id": "to-detect-labels-1481834255770", + "title": "To detect labels" + } + ], + "IndexFaces": [ + { + "input": { + "CollectionId": "myphotos", + "DetectionAttributes": [ + + ], + "ExternalImageId": "myphotoid", + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + } + }, + "output": { + "FaceRecords": [ + { + "Face": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289, + "FaceId": "ff43d742-0c13-5d16-a3e8-03d3f58e980b", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "FaceDetail": { + "BoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "Confidence": 99.9991226196289, + "Landmarks": [ + { + "Type": "eyeLeft", + "X": 0.3976764678955078, + "Y": 0.6248345971107483 + }, + { + "Type": "eyeRight", + "X": 0.4810936450958252, + "Y": 0.6317117214202881 + }, + { + "Type": "noseLeft", + "X": 0.41986238956451416, + "Y": 0.7111940383911133 + }, + { + "Type": "mouthDown", + "X": 0.40525302290916443, + "Y": 0.7497701048851013 + }, + { + "Type": "mouthUp", + "X": 0.4753248989582062, + "Y": 0.7558549642562866 + } + ], + "Pose": { + "Pitch": -9.713645935058594, + "Roll": 4.707281112670898, + "Yaw": -24.438663482666016 + }, + "Quality": { + "Brightness": 29.23358917236328, + "Sharpness": 80 + } + } + }, + { + "Face": { + "BoundingBox": { + "Height": 0.32592591643333435, + "Left": 0.5144444704055786, + "Top": 0.15111111104488373, + "Width": 0.24444444477558136 + }, + "Confidence": 99.99950408935547, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "FaceDetail": { + "BoundingBox": { + "Height": 0.32592591643333435, + "Left": 0.5144444704055786, + "Top": 0.15111111104488373, + "Width": 0.24444444477558136 + }, + "Confidence": 99.99950408935547, + "Landmarks": [ + { + "Type": "eyeLeft", + "X": 0.6006892323493958, + "Y": 0.290842205286026 + }, + { + "Type": "eyeRight", + "X": 0.6808141469955444, + "Y": 0.29609042406082153 + }, + { + "Type": "noseLeft", + "X": 0.6395332217216492, + "Y": 0.3522595763206482 + }, + { + "Type": "mouthDown", + "X": 0.5892083048820496, + "Y": 0.38689887523651123 + }, + { + "Type": "mouthUp", + "X": 0.674560010433197, + "Y": 0.394125759601593 + } + ], + "Pose": { + "Pitch": -4.683138370513916, + "Roll": 2.1029529571533203, + "Yaw": 6.716655254364014 + }, + "Quality": { + "Brightness": 34.951698303222656, + "Sharpness": 160 + } + } + } + ], + "OrientationCorrection": "ROTATE_0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation detects faces in an image and adds them to the specified Rekognition collection.", + "id": "to-add-a-face-to-a-collection-1482179542923", + "title": "To add a face to a collection" + } + ], + "ListCollections": [ + { + "input": { + }, + "output": { + "CollectionIds": [ + "myphotos" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation returns a list of Rekognition collections.", + "id": "to-list-the-collections-1482179199088", + "title": "To list the collections" + } + ], + "ListFaces": [ + { + "input": { + "CollectionId": "myphotos", + "MaxResults": 20 + }, + "output": { + "Faces": [ + { + "BoundingBox": { + "Height": 0.18000000715255737, + "Left": 0.5555559992790222, + "Top": 0.336667001247406, + "Width": 0.23999999463558197 + }, + "Confidence": 100, + "FaceId": "1c62e8b5-69a7-5b7d-b3cd-db4338a8a7e7", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + { + "BoundingBox": { + "Height": 0.16555599868297577, + "Left": 0.30963000655174255, + "Top": 0.7066670060157776, + "Width": 0.22074100375175476 + }, + "Confidence": 100, + "FaceId": "29a75abe-397b-5101-ba4f-706783b2246c", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + { + "BoundingBox": { + "Height": 0.3234420120716095, + "Left": 0.3233329951763153, + "Top": 0.5, + "Width": 0.24222199618816376 + }, + "Confidence": 99.99829864501953, + "FaceId": "38271d79-7bc2-5efb-b752-398a8d575b85", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + { + "BoundingBox": { + "Height": 0.03555560111999512, + "Left": 0.37388700246810913, + "Top": 0.2477779984474182, + "Width": 0.04747769981622696 + }, + "Confidence": 99.99210357666016, + "FaceId": "3b01bef0-c883-5654-ba42-d5ad28b720b3", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.05333330109715462, + "Left": 0.2937690019607544, + "Top": 0.35666701197624207, + "Width": 0.07121659815311432 + }, + "Confidence": 99.99919891357422, + "FaceId": "4839a608-49d0-566c-8301-509d71b534d1", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.3249259889125824, + "Left": 0.5155559778213501, + "Top": 0.1513350009918213, + "Width": 0.24333299696445465 + }, + "Confidence": 99.99949645996094, + "FaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + { + "BoundingBox": { + "Height": 0.03777780011296272, + "Left": 0.7002969980239868, + "Top": 0.18777799606323242, + "Width": 0.05044509842991829 + }, + "Confidence": 99.92639923095703, + "FaceId": "7f5f88ed-d684-5a88-b0df-01e4a521552b", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.05555560067296028, + "Left": 0.13946600258350372, + "Top": 0.46333301067352295, + "Width": 0.07270029932260513 + }, + "Confidence": 99.99469757080078, + "FaceId": "895b4e2c-81de-5902-a4bd-d1792bda00b2", + "ImageId": "812d9f04-86f9-54fc-9275-8d0dcbcb6784" + }, + { + "BoundingBox": { + "Height": 0.3259260058403015, + "Left": 0.5144439935684204, + "Top": 0.15111100673675537, + "Width": 0.24444399774074554 + }, + "Confidence": 99.99949645996094, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + { + "BoundingBox": { + "Height": 0.18888899683952332, + "Left": 0.3783380091190338, + "Top": 0.2355560064315796, + "Width": 0.25222599506378174 + }, + "Confidence": 99.9999008178711, + "FaceId": "908544ad-edc3-59df-8faf-6a87cc256cf5", + "ImageId": "3c731605-d772-541a-a5e7-0375dbc68a07" + }, + { + "BoundingBox": { + "Height": 0.33481499552726746, + "Left": 0.31888899207115173, + "Top": 0.49333301186561584, + "Width": 0.25 + }, + "Confidence": 99.99909973144531, + "FaceId": "ff43d742-0c13-5d16-a3e8-03d3f58e980b", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation lists the faces in a Rekognition collection.", + "id": "to-list-the-faces-in-a-collection-1482181416530", + "title": "To list the faces in a collection" + } + ], + "SearchFaces": [ + { + "input": { + "CollectionId": "myphotos", + "FaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14", + "FaceMatchThreshold": 90, + "MaxFaces": 10 + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.3259260058403015, + "Left": 0.5144439935684204, + "Top": 0.15111100673675537, + "Width": 0.24444399774074554 + }, + "Confidence": 99.99949645996094, + "FaceId": "8be04dba-4e58-520d-850e-9eae4af70eb2", + "ImageId": "465f4e93-763e-51d0-b030-b9667a2d94b1" + }, + "Similarity": 99.97222137451172 + }, + { + "Face": { + "BoundingBox": { + "Height": 0.16555599868297577, + "Left": 0.30963000655174255, + "Top": 0.7066670060157776, + "Width": 0.22074100375175476 + }, + "Confidence": 100, + "FaceId": "29a75abe-397b-5101-ba4f-706783b2246c", + "ImageId": "147fdf82-7a71-52cf-819b-e786c7b9746e" + }, + "Similarity": 97.04154968261719 + }, + { + "Face": { + "BoundingBox": { + "Height": 0.18888899683952332, + "Left": 0.3783380091190338, + "Top": 0.2355560064315796, + "Width": 0.25222599506378174 + }, + "Confidence": 99.9999008178711, + "FaceId": "908544ad-edc3-59df-8faf-6a87cc256cf5", + "ImageId": "3c731605-d772-541a-a5e7-0375dbc68a07" + }, + "Similarity": 95.94520568847656 + } + ], + "SearchedFaceId": "70008e50-75e4-55d0-8e80-363fb73b3a14" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation searches for matching faces in the collection the supplied face belongs to.", + "id": "to-delete-a-face-1482182799377", + "title": "To delete a face" + } + ], + "SearchFacesByImage": [ + { + "input": { + "CollectionId": "myphotos", + "FaceMatchThreshold": 95, + "Image": { + "S3Object": { + "Bucket": "mybucket", + "Name": "myphoto" + } + }, + "MaxFaces": 5 + }, + "output": { + "FaceMatches": [ + { + "Face": { + "BoundingBox": { + "Height": 0.3234420120716095, + "Left": 0.3233329951763153, + "Top": 0.5, + "Width": 0.24222199618816376 + }, + "Confidence": 99.99829864501953, + "FaceId": "38271d79-7bc2-5efb-b752-398a8d575b85", + "ImageId": "d5631190-d039-54e4-b267-abd22c8647c5" + }, + "Similarity": 99.97036743164062 + } + ], + "SearchedFaceBoundingBox": { + "Height": 0.33481481671333313, + "Left": 0.31888890266418457, + "Top": 0.4933333396911621, + "Width": 0.25 + }, + "SearchedFaceConfidence": 99.9991226196289 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation searches for faces in a Rekognition collection that match the largest face in an S3 bucket stored image.", + "id": "to-search-for-faces-matching-a-supplied-image-1482175994491", + "title": "To search for faces matching a supplied image" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListCollections": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": [ + "CollectionIds", + "FaceModelVersions" + ] + }, + "ListFaces": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Faces", + "non_aggregate_keys": [ + "FaceModelVersion" + ] + }, + "ListStreamProcessors": { + "result_key": "StreamProcessors", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeProjectVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProjectVersionDescriptions" + }, + "DescribeProjects": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProjectDescriptions" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/service-2.json python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/service-2.json --- python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,4260 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-06-27", + "endpointPrefix":"rekognition", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Rekognition", + "serviceId":"Rekognition", + "signatureVersion":"v4", + "targetPrefix":"RekognitionService", + "uid":"rekognition-2016-06-27" + }, + "operations":{ + "CompareFaces":{ + "name":"CompareFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CompareFacesRequest"}, + "output":{"shape":"CompareFacesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Compares a face in the source input image with each of the 100 largest faces detected in the target input image.

    If the source image contains multiple faces, the service detects the largest face and compares it with each face detected in the target image.

    You pass the input and target images either as base64-encoded image bytes or as references to images in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

    In response, the operation returns an array of face matches ordered by similarity score in descending order. For each face match, the response provides a bounding box of the face, facial landmarks, pose details (pitch, role, and yaw), quality (brightness and sharpness), and confidence value (indicating the level of confidence that the bounding box contains a face). The response also provides a similarity score, which indicates how closely the faces match.

    By default, only faces with a similarity score of greater than or equal to 80% are returned in the response. You can change this value by specifying the SimilarityThreshold parameter.

    CompareFaces also returns an array of faces that don't match the source image. For each face, it returns a bounding box, confidence value, landmarks, pose details, and quality. The response also returns information about the face in the source image, including the bounding box of the face and confidence value.

    The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE.

    To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection.

    If the image doesn't contain Exif metadata, CompareFaces returns orientation information for the source and target images. Use these values to display the images with the correct image orientation.

    If no faces are detected in the source or target images, CompareFaces returns an InvalidParameterException error.

    This is a stateless API operation. That is, data returned by this operation doesn't persist.

    For an example, see Comparing Faces in Images in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:CompareFaces action.

    " + }, + "CreateCollection":{ + "name":"CreateCollection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCollectionRequest"}, + "output":{"shape":"CreateCollectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

    Creates a collection in an AWS Region. You can add faces to the collection using the IndexFaces operation.

    For example, you might create collections, one for each of your application users. A user can then index faces using the IndexFaces operation and persist results in a specific collection. Then, a user can search the collection for faces in the user-specific container.

    When you create a collection, it is associated with the latest version of the face model version.

    Collection names are case-sensitive.

    This operation requires permissions to perform the rekognition:CreateCollection action.

    " + }, + "CreateProject":{ + "name":"CreateProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProjectRequest"}, + "output":{"shape":"CreateProjectResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Creates a new Amazon Rekognition Custom Labels project. A project is a logical grouping of resources (images, Labels, models) and operations (training, evaluation and detection).

    This operation requires permissions to perform the rekognition:CreateProject action.

    " + }, + "CreateProjectVersion":{ + "name":"CreateProjectVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProjectVersionRequest"}, + "output":{"shape":"CreateProjectVersionResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Creates a new version of a model and begins training. Models are managed as part of an Amazon Rekognition Custom Labels project. You can specify one training dataset and one testing dataset. The response from CreateProjectVersion is an Amazon Resource Name (ARN) for the version of the model.

    Training takes a while to complete. You can get the current status by calling DescribeProjectVersions.

    Once training has successfully completed, call DescribeProjectVersions to get the training results and evaluate the model.

    After evaluating the model, you start the model by calling StartProjectVersion.

    This operation requires permissions to perform the rekognition:CreateProjectVersion action.

    " + }, + "CreateStreamProcessor":{ + "name":"CreateStreamProcessor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStreamProcessorRequest"}, + "output":{"shape":"CreateStreamProcessorResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Creates an Amazon Rekognition stream processor that you can use to detect and recognize faces in a streaming video.

    Amazon Rekognition Video is a consumer of live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends analysis results to Amazon Kinesis Data Streams.

    You provide as input a Kinesis video stream (Input) and a Kinesis data stream (Output) stream. You also specify the face recognition criteria in Settings. For example, the collection containing faces that you want to recognize. Use Name to assign an identifier for the stream processor. You use Name to manage the stream processor. For example, you can start processing the source video by calling StartStreamProcessor with the Name field.

    After you have finished analyzing a streaming video, use StopStreamProcessor to stop processing. You can delete the stream processor by calling DeleteStreamProcessor.

    " + }, + "DeleteCollection":{ + "name":"DeleteCollection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCollectionRequest"}, + "output":{"shape":"DeleteCollectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the specified collection. Note that this operation removes all faces in the collection. For an example, see delete-collection-procedure.

    This operation requires permissions to perform the rekognition:DeleteCollection action.

    " + }, + "DeleteFaces":{ + "name":"DeleteFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFacesRequest"}, + "output":{"shape":"DeleteFacesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes faces from a collection. You specify a collection ID and an array of face IDs to remove from the collection.

    This operation requires permissions to perform the rekognition:DeleteFaces action.

    " + }, + "DeleteProject":{ + "name":"DeleteProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProjectRequest"}, + "output":{"shape":"DeleteProjectResponse"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Deletes an Amazon Rekognition Custom Labels project. To delete a project you must first delete all versions of the model associated with the project. To delete a version of a model, see DeleteProjectVersion.

    This operation requires permissions to perform the rekognition:DeleteProject action.

    " + }, + "DeleteProjectVersion":{ + "name":"DeleteProjectVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProjectVersionRequest"}, + "output":{"shape":"DeleteProjectVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Deletes a version of a model.

    You must first stop the model before you can delete it. To check if a model is running, use the Status field returned from DescribeProjectVersions. To stop a running model call StopProjectVersion.

    This operation requires permissions to perform the rekognition:DeleteProjectVersion action.

    " + }, + "DeleteStreamProcessor":{ + "name":"DeleteStreamProcessor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStreamProcessorRequest"}, + "output":{"shape":"DeleteStreamProcessorResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Deletes the stream processor identified by Name. You assign the value for Name when you create the stream processor with CreateStreamProcessor. You might not be able to use the same name for a stream processor for a few seconds after calling DeleteStreamProcessor.

    " + }, + "DescribeCollection":{ + "name":"DescribeCollection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCollectionRequest"}, + "output":{"shape":"DescribeCollectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Describes the specified collection. You can use DescribeCollection to get information, such as the number of faces indexed into a collection and the version of the model used by the collection for face detection.

    For more information, see Describing a Collection in the Amazon Rekognition Developer Guide.

    " + }, + "DescribeProjectVersions":{ + "name":"DescribeProjectVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProjectVersionsRequest"}, + "output":{"shape":"DescribeProjectVersionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Lists and describes the models in an Amazon Rekognition Custom Labels project. You can specify up to 10 model versions in ProjectVersionArns. If you don't specify a value, descriptions for all models are returned.

    This operation requires permissions to perform the rekognition:DescribeProjectVersions action.

    " + }, + "DescribeProjects":{ + "name":"DescribeProjects", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProjectsRequest"}, + "output":{"shape":"DescribeProjectsResponse"}, + "errors":[ + {"shape":"InvalidPaginationTokenException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Lists and gets information about your Amazon Rekognition Custom Labels projects.

    This operation requires permissions to perform the rekognition:DescribeProjects action.

    " + }, + "DescribeStreamProcessor":{ + "name":"DescribeStreamProcessor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStreamProcessorRequest"}, + "output":{"shape":"DescribeStreamProcessorResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Provides information about a stream processor created by CreateStreamProcessor. You can get information about the input and output streams, the input parameters for the face recognition being performed, and the current status of the stream processor.

    " + }, + "DetectCustomLabels":{ + "name":"DetectCustomLabels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectCustomLabelsRequest"}, + "output":{"shape":"DetectCustomLabelsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Detects custom labels in a supplied image by using an Amazon Rekognition Custom Labels model.

    You specify which version of a model version to use by using the ProjectVersionArn input parameter.

    You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    For each object that the model version detects on an image, the API returns a (CustomLabel) object in an array (CustomLabels). Each CustomLabel object provides the label name (Name), the level of confidence that the image contains the object (Confidence), and object location information, if it exists, for the label on the image (Geometry).

    During training model calculates a threshold value that determines if a prediction for a label is true. By default, DetectCustomLabels doesn't return labels whose confidence value is below the model's calculated threshold value. To filter labels that are returned, specify a value for MinConfidence that is higher than the model's calculated threshold. You can get the model's calculated threshold from the model's training results shown in the Amazon Rekognition Custom Labels console. To get all labels, regardless of confidence, specify a MinConfidence value of 0.

    You can also add the MaxResults parameter to limit the number of labels returned.

    This is a stateless API operation. That is, the operation does not persist any data.

    This operation requires permissions to perform the rekognition:DetectCustomLabels action.

    " + }, + "DetectFaces":{ + "name":"DetectFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectFacesRequest"}, + "output":{"shape":"DetectFacesResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Detects faces within an image that is provided as input.

    DetectFaces detects the 100 largest faces in the image. For each face detected, the operation returns face details. These details include a bounding box of the face, a confidence value (that the bounding box contains a face), and a fixed set of attributes such as facial landmarks (for example, coordinates of eye and mouth), presence of beard, sunglasses, and so on.

    The face-detection algorithm is most effective on frontal faces. For non-frontal or obscured faces, the algorithm might not detect the faces or might detect faces with lower confidence.

    You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    This is a stateless API operation. That is, the operation does not persist any data.

    This operation requires permissions to perform the rekognition:DetectFaces action.

    " + }, + "DetectLabels":{ + "name":"DetectLabels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectLabelsRequest"}, + "output":{"shape":"DetectLabelsResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.

    For an example, see Analyzing Images Stored in an Amazon S3 Bucket in the Amazon Rekognition Developer Guide.

    DetectLabels does not support the detection of activities. However, activity detection is supported for label detection in videos. For more information, see StartLabelDetection in the Amazon Rekognition Developer Guide.

    You pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    For each object, scene, and concept the API returns one or more labels. Each label provides the object name, and the level of confidence that the image contains the object. For example, suppose the input image has a lighthouse, the sea, and a rock. The response includes all three labels, one for each object.

    {Name: lighthouse, Confidence: 98.4629}

    {Name: rock,Confidence: 79.2097}

    {Name: sea,Confidence: 75.061}

    In the preceding example, the operation returns one label for each of the three objects. The operation can also return multiple labels for the same object in the image. For example, if the input image shows a flower (for example, a tulip), the operation might return the following three labels.

    {Name: flower,Confidence: 99.0562}

    {Name: plant,Confidence: 99.0562}

    {Name: tulip,Confidence: 99.0562}

    In this example, the detection algorithm more precisely identifies the flower as a tulip.

    In response, the API returns an array of labels. In addition, the response also includes the orientation correction. Optionally, you can specify MinConfidence to control the confidence threshold for the labels returned. The default is 55%. You can also add the MaxLabels parameter to limit the number of labels returned.

    If the object detected is a person, the operation doesn't provide the same facial details that the DetectFaces operation provides.

    DetectLabels returns bounding boxes for instances of common object labels in an array of Instance objects. An Instance object contains a BoundingBox object, for the location of the label on the image. It also includes the confidence by which the bounding box was detected.

    DetectLabels also returns a hierarchical taxonomy of detected labels. For example, a detected car might be assigned the label car. The label car has two parent labels: Vehicle (its parent) and Transportation (its grandparent). The response returns the entire list of ancestors for a label. Each ancestor is a unique label in the response. In the previous example, Car, Vehicle, and Transportation are returned as unique labels in the response.

    This is a stateless API operation. That is, the operation does not persist any data.

    This operation requires permissions to perform the rekognition:DetectLabels action.

    " + }, + "DetectModerationLabels":{ + "name":"DetectModerationLabels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectModerationLabelsRequest"}, + "output":{"shape":"DetectModerationLabelsResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"}, + {"shape":"HumanLoopQuotaExceededException"} + ], + "documentation":"

    Detects unsafe content in a specified JPEG or PNG format image. Use DetectModerationLabels to moderate images depending on your requirements. For example, you might want to filter images that contain nudity, but not images containing suggestive content.

    To filter images, use the labels returned by DetectModerationLabels to determine which types of content are appropriate.

    For information about moderation labels, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

    You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    " + }, + "DetectText":{ + "name":"DetectText", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectTextRequest"}, + "output":{"shape":"DetectTextResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Detects text in the input image and converts it into machine-readable text.

    Pass the input image as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, you must pass it as a reference to an image in an Amazon S3 bucket. For the AWS CLI, passing image bytes is not supported. The image must be either a .png or .jpeg formatted file.

    The DetectText operation returns text in an array of TextDetection elements, TextDetections. Each TextDetection element provides information about a single word or line of text that was detected in the image.

    A word is one or more ISO basic latin script characters that are not separated by spaces. DetectText can detect up to 50 words in an image.

    A line is a string of equally spaced words. A line isn't necessarily a complete sentence. For example, a driver's license number is detected as a line. A line ends when there is no aligned text after it. Also, a line ends when there is a large gap between words, relative to the length of the words. This means, depending on the gap between words, Amazon Rekognition may detect multiple lines in text aligned in the same direction. Periods don't represent the end of a line. If a sentence spans multiple lines, the DetectText operation returns multiple lines.

    To determine whether a TextDetection element is a line of text or a word, use the TextDetection object Type field.

    To be detected, text must be within +/- 90 degrees orientation of the horizontal axis.

    For more information, see DetectText in the Amazon Rekognition Developer Guide.

    " + }, + "GetCelebrityInfo":{ + "name":"GetCelebrityInfo", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCelebrityInfoRequest"}, + "output":{"shape":"GetCelebrityInfoResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets the name and additional information about a celebrity based on his or her Amazon Rekognition ID. The additional information is returned as an array of URLs. If there is no additional information about the celebrity, this list is empty.

    For more information, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:GetCelebrityInfo action.

    " + }, + "GetCelebrityRecognition":{ + "name":"GetCelebrityRecognition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCelebrityRecognitionRequest"}, + "output":{"shape":"GetCelebrityRecognitionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the celebrity recognition results for a Amazon Rekognition Video analysis started by StartCelebrityRecognition.

    Celebrity recognition in a video is an asynchronous operation. Analysis is started by a call to StartCelebrityRecognition which returns a job identifier (JobId). When the celebrity recognition operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartCelebrityRecognition. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityDetection and pass the job identifier (JobId) from the initial call to StartCelebrityDetection.

    For more information, see Working With Stored Videos in the Amazon Rekognition Developer Guide.

    GetCelebrityRecognition returns detected celebrities and the time(s) they are detected in an array (Celebrities) of CelebrityRecognition objects. Each CelebrityRecognition contains information about the celebrity in a CelebrityDetail object and the time, Timestamp, the celebrity was detected.

    GetCelebrityRecognition only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

    By default, the Celebrities array is sorted by time (milliseconds from the start of the video). You can also sort the array by celebrity by specifying the value ID in the SortBy input parameter.

    The CelebrityDetail object includes the celebrity identifer and additional information urls. If you don't store the additional information urls, you can get them later by calling GetCelebrityInfo with the celebrity identifer.

    No information is returned for faces not recognized as celebrities.

    Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetCelebrityDetection and populate the NextToken request parameter with the token value returned from the previous call to GetCelebrityRecognition.

    " + }, + "GetContentModeration":{ + "name":"GetContentModeration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetContentModerationRequest"}, + "output":{"shape":"GetContentModerationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the unsafe content analysis results for a Amazon Rekognition Video analysis started by StartContentModeration.

    Unsafe content analysis of a video is an asynchronous operation. You start analysis by calling StartContentModeration which returns a job identifier (JobId). When analysis finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartContentModeration. To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

    For more information, see Working with Stored Videos in the Amazon Rekognition Devlopers Guide.

    GetContentModeration returns detected unsafe content labels, and the time they are detected, in an array, ModerationLabels, of ContentModerationDetection objects.

    By default, the moderated labels are returned sorted by time, in milliseconds from the start of the video. You can also sort them by moderated label by specifying NAME for the SortBy input parameter.

    Since video analysis can return a large number of results, use the MaxResults parameter to limit the number of labels returned in a single call to GetContentModeration. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetContentModeration and populate the NextToken request parameter with the value of NextToken returned from the previous call to GetContentModeration.

    For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

    " + }, + "GetFaceDetection":{ + "name":"GetFaceDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFaceDetectionRequest"}, + "output":{"shape":"GetFaceDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets face detection results for a Amazon Rekognition Video analysis started by StartFaceDetection.

    Face detection with Amazon Rekognition Video is an asynchronous operation. You start face detection by calling StartFaceDetection which returns a job identifier (JobId). When the face detection operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceDetection. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

    GetFaceDetection returns an array of detected faces (Faces) sorted by the time the faces were detected.

    Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetFaceDetection and populate the NextToken request parameter with the token value returned from the previous call to GetFaceDetection.

    " + }, + "GetFaceSearch":{ + "name":"GetFaceSearch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetFaceSearchRequest"}, + "output":{"shape":"GetFaceSearchResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the face search results for Amazon Rekognition Video face search started by StartFaceSearch. The search returns faces in a collection that match the faces of persons detected in a video. It also includes the time(s) that faces are matched in the video.

    Face search in a video is an asynchronous operation. You start face search by calling to StartFaceSearch which returns a job identifier (JobId). When the search operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartFaceSearch. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch.

    For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

    The search results are retured in an array, Persons, of PersonMatch objects. EachPersonMatch element contains details about the matching faces in the input collection, person information (facial attributes, bounding boxes, and person identifer) for the matched person, and the time the person was matched in the video.

    GetFaceSearch only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned. For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

    By default, the Persons array is sorted by the time, in milliseconds from the start of the video, persons are matched. You can also sort by persons by specifying INDEX for the SORTBY input parameter.

    " + }, + "GetLabelDetection":{ + "name":"GetLabelDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLabelDetectionRequest"}, + "output":{"shape":"GetLabelDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the label detection results of a Amazon Rekognition Video analysis started by StartLabelDetection.

    The label detection operation is started by a call to StartLabelDetection which returns a job identifier (JobId). When the label detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartlabelDetection. To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

    GetLabelDetection returns an array of detected labels (Labels) sorted by the time the labels were detected. You can also sort by the label name by specifying NAME for the SortBy input parameter.

    The labels returned include the label name, the percentage confidence in the accuracy of the detected label, and the time the label was detected in the video.

    The returned labels also include bounding box information for common objects, a hierarchical taxonomy of detected labels, and the version of the label model used for detection.

    Use MaxResults parameter to limit the number of labels returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetlabelDetection and populate the NextToken request parameter with the token value returned from the previous call to GetLabelDetection.

    " + }, + "GetPersonTracking":{ + "name":"GetPersonTracking", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPersonTrackingRequest"}, + "output":{"shape":"GetPersonTrackingResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the path tracking results of a Amazon Rekognition Video analysis started by StartPersonTracking.

    The person path tracking operation is started by a call to StartPersonTracking which returns a job identifier (JobId). When the operation finishes, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartPersonTracking.

    To get the results of the person path tracking operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

    GetPersonTracking returns an array, Persons, of tracked persons and the time(s) their paths were tracked in the video.

    GetPersonTracking only returns the default facial attributes (BoundingBox, Confidence, Landmarks, Pose, and Quality). The other facial attributes listed in the Face object of the following response syntax are not returned.

    For more information, see FaceDetail in the Amazon Rekognition Developer Guide.

    By default, the array is sorted by the time(s) a person's path is tracked in the video. You can sort by tracked persons by specifying INDEX for the SortBy input parameter.

    Use the MaxResults parameter to limit the number of items returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetPersonTracking and populate the NextToken request parameter with the token value returned from the previous call to GetPersonTracking.

    " + }, + "GetTextDetection":{ + "name":"GetTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTextDetectionRequest"}, + "output":{"shape":"GetTextDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the text detection results of a Amazon Rekognition Video analysis started by StartTextDetection.

    Text detection with Amazon Rekognition Video is an asynchronous operation. You start text detection by calling StartTextDetection which returns a job identifier (JobId) When the text detection operation finishes, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic registered in the initial call to StartTextDetection. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call of StartLabelDetection.

    GetTextDetection returns an array of detected text (TextDetections) sorted by the time the text was detected, up to 50 words per frame of video.

    Each element of the array includes the detected text, the precentage confidence in the acuracy of the detected text, the time the text was detected, bounding box information for where the text was located, and unique identifiers for words and their lines.

    Use MaxResults parameter to limit the number of text detections returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetTextDetection and populate the NextToken request parameter with the token value returned from the previous call to GetTextDetection.

    " + }, + "IndexFaces":{ + "name":"IndexFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"IndexFacesRequest"}, + "output":{"shape":"IndexFacesResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Detects faces in the input image and adds them to the specified collection.

    Amazon Rekognition doesn't save the actual faces that are detected. Instead, the underlying detection algorithm first detects the faces in the input image. For each face, the algorithm extracts facial features into a feature vector, and stores it in the backend database. Amazon Rekognition uses feature vectors when it performs face match and search operations using the SearchFaces and SearchFacesByImage operations.

    For more information, see Adding Faces to a Collection in the Amazon Rekognition Developer Guide.

    To get the number of faces in a collection, call DescribeCollection.

    If you're using version 1.0 of the face detection model, IndexFaces indexes the 15 largest faces in the input image. Later versions of the face detection model index the 100 largest faces in the input image.

    If you're using version 4 or later of the face model, image orientation information is not returned in the OrientationCorrection field.

    To determine which version of the model you're using, call DescribeCollection and supply the collection ID. You can also get the model version from the value of FaceModelVersion in the response from IndexFaces

    For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

    If you provide the optional ExternalImageID for the input image you provided, Amazon Rekognition associates this ID with all faces that it detects. When you call the ListFaces operation, the response returns the external ID. You can use this external image ID to create a client-side index to associate the faces with each image. You can then use the index to find all faces in an image.

    You can specify the maximum number of faces to index with the MaxFaces input parameter. This is useful when you want to index the largest faces in an image and don't want to index smaller faces, such as those belonging to people standing in the background.

    The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. By default, IndexFaces chooses the quality bar that's used to filter faces. You can also explicitly choose the quality bar. Use QualityFilter, to set the quality bar by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE.

    To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection.

    Information about faces detected in an image, but not indexed, is returned in an array of UnindexedFace objects, UnindexedFaces. Faces aren't indexed for reasons such as:

    • The number of faces detected exceeds the value of the MaxFaces request parameter.

    • The face is too small compared to the image dimensions.

    • The face is too blurry.

    • The image is too dark.

    • The face has an extreme pose.

    • The face doesn’t have enough detail to be suitable for face search.

    In response, the IndexFaces operation returns an array of metadata for all detected faces, FaceRecords. This includes:

    • The bounding box, BoundingBox, of the detected face.

    • A confidence value, Confidence, which indicates the confidence that the bounding box contains a face.

    • A face ID, FaceId, assigned by the service for each face that's detected and stored.

    • An image ID, ImageId, assigned by the service for the input image.

    If you request all facial attributes (by using the detectionAttributes parameter), Amazon Rekognition returns detailed facial attributes, such as facial landmarks (for example, location of eye and mouth) and other facial attributes. If you provide the same image, specify the same collection, and use the same external ID in the IndexFaces operation, Amazon Rekognition doesn't save duplicate face metadata.

    The input image is passed either as base64-encoded image bytes, or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes isn't supported. The image must be formatted as a PNG or JPEG file.

    This operation requires permissions to perform the rekognition:IndexFaces action.

    " + }, + "ListCollections":{ + "name":"ListCollections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCollectionsRequest"}, + "output":{"shape":"ListCollectionsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns list of collection IDs in your account. If the result is truncated, the response also provides a NextToken that you can use in the subsequent request to fetch the next set of collection IDs.

    For an example, see Listing Collections in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:ListCollections action.

    " + }, + "ListFaces":{ + "name":"ListFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFacesRequest"}, + "output":{"shape":"ListFacesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns metadata for faces in the specified collection. This metadata includes information such as the bounding box coordinates, the confidence (that the bounding box contains a face), and face ID. For an example, see Listing Faces in a Collection in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:ListFaces action.

    " + }, + "ListStreamProcessors":{ + "name":"ListStreamProcessors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStreamProcessorsRequest"}, + "output":{"shape":"ListStreamProcessorsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Gets a list of stream processors that you have created with CreateStreamProcessor.

    " + }, + "RecognizeCelebrities":{ + "name":"RecognizeCelebrities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RecognizeCelebritiesRequest"}, + "output":{"shape":"RecognizeCelebritiesResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidImageFormatException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    Returns an array of celebrities recognized in the input image. For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

    RecognizeCelebrities returns the 100 largest faces in the image. It lists recognized celebrities in the CelebrityFaces array and unrecognized faces in the UnrecognizedFaces array. RecognizeCelebrities doesn't return celebrities whose faces aren't among the largest 100 faces in the image.

    For each celebrity recognized, RecognizeCelebrities returns a Celebrity object. The Celebrity object contains the celebrity name, ID, URL links to additional information, match confidence, and a ComparedFace object that you can use to locate the celebrity's face on the image.

    Amazon Rekognition doesn't retain information about which images a celebrity has been recognized in. Your application must store this information and use the Celebrity ID property as a unique identifier for the celebrity. If you don't store the celebrity name or additional information URLs returned by RecognizeCelebrities, you will need the ID to identify the celebrity in a call to the GetCelebrityInfo operation.

    You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    For an example, see Recognizing Celebrities in an Image in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:RecognizeCelebrities operation.

    " + }, + "SearchFaces":{ + "name":"SearchFaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFacesRequest"}, + "output":{"shape":"SearchFacesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    For a given input face ID, searches for matching faces in the collection the face belongs to. You get a face ID when you add a face to the collection using the IndexFaces operation. The operation compares the features of the input face with faces in the specified collection.

    You can also search faces without indexing faces by using the SearchFacesByImage operation.

    The operation response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match that is found. Along with the metadata, the response also includes a confidence value for each face match, indicating the confidence that the specific face matches the input face.

    For an example, see Searching for a Face Using Its Face ID in the Amazon Rekognition Developer Guide.

    This operation requires permissions to perform the rekognition:SearchFaces action.

    " + }, + "SearchFacesByImage":{ + "name":"SearchFacesByImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchFacesByImageRequest"}, + "output":{"shape":"SearchFacesByImageResponse"}, + "errors":[ + {"shape":"InvalidS3ObjectException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ImageTooLargeException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidImageFormatException"} + ], + "documentation":"

    For a given input image, first detects the largest face in the image, and then searches the specified collection for matching faces. The operation compares the features of the input face with faces in the specified collection.

    To search for all faces in an input image, you might first call the IndexFaces operation, and then use the face IDs returned in subsequent calls to the SearchFaces operation.

    You can also call the DetectFaces operation and use the bounding boxes in the response to make face crops, which then you can pass in to the SearchFacesByImage operation.

    You pass the input image either as base64-encoded image bytes or as a reference to an image in an Amazon S3 bucket. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. The image must be either a PNG or JPEG formatted file.

    The response returns an array of faces that match, ordered by similarity score with the highest similarity first. More specifically, it is an array of metadata for each face match found. Along with the metadata, the response also includes a similarity indicating how similar the face is to the input face. In the response, the operation also returns the bounding box (and a confidence level that the bounding box contains a face) of the face that Amazon Rekognition used for the input image.

    For an example, Searching for a Face Using an Image in the Amazon Rekognition Developer Guide.

    The QualityFilter input parameter allows you to filter out detected faces that don’t meet a required quality bar. The quality bar is based on a variety of common use cases. Use QualityFilter to set the quality bar for filtering by specifying LOW, MEDIUM, or HIGH. If you do not want to filter detected faces, specify NONE. The default value is NONE.

    To use quality filtering, you need a collection associated with version 3 of the face model or higher. To get the version of the face model associated with a collection, call DescribeCollection.

    This operation requires permissions to perform the rekognition:SearchFacesByImage action.

    " + }, + "StartCelebrityRecognition":{ + "name":"StartCelebrityRecognition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartCelebrityRecognitionRequest"}, + "output":{"shape":"StartCelebrityRecognitionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts asynchronous recognition of celebrities in a stored video.

    Amazon Rekognition Video can detect celebrities in a video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartCelebrityRecognition returns a job identifier (JobId) which you use to get the results of the analysis. When celebrity recognition analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the celebrity recognition analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetCelebrityRecognition and pass the job identifier (JobId) from the initial call to StartCelebrityRecognition.

    For more information, see Recognizing Celebrities in the Amazon Rekognition Developer Guide.

    ", + "idempotent":true + }, + "StartContentModeration":{ + "name":"StartContentModeration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartContentModerationRequest"}, + "output":{"shape":"StartContentModerationResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts asynchronous detection of unsafe content in a stored video.

    Amazon Rekognition Video can moderate content in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartContentModeration returns a job identifier (JobId) which you use to get the results of the analysis. When unsafe content analysis is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

    To get the results of the unsafe content analysis, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetContentModeration and pass the job identifier (JobId) from the initial call to StartContentModeration.

    For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

    ", + "idempotent":true + }, + "StartFaceDetection":{ + "name":"StartFaceDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartFaceDetectionRequest"}, + "output":{"shape":"StartFaceDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts asynchronous detection of faces in a stored video.

    Amazon Rekognition Video can detect faces in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceDetection returns a job identifier (JobId) that you use to get the results of the operation. When face detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the results of the face detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceDetection and pass the job identifier (JobId) from the initial call to StartFaceDetection.

    For more information, see Detecting Faces in a Stored Video in the Amazon Rekognition Developer Guide.

    ", + "idempotent":true + }, + "StartFaceSearch":{ + "name":"StartFaceSearch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartFaceSearchRequest"}, + "output":{"shape":"StartFaceSearchResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts the asynchronous search for faces in a collection that match the faces of persons detected in a stored video.

    The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartFaceSearch returns a job identifier (JobId) which you use to get the search results once the search has completed. When searching is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel. To get the search results, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetFaceSearch and pass the job identifier (JobId) from the initial call to StartFaceSearch. For more information, see procedure-person-search-videos.

    ", + "idempotent":true + }, + "StartLabelDetection":{ + "name":"StartLabelDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartLabelDetectionRequest"}, + "output":{"shape":"StartLabelDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts asynchronous detection of labels in a stored video.

    Amazon Rekognition Video can detect labels in a video. Labels are instances of real-world entities. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; concepts like landscape, evening, and nature; and activities like a person getting out of a car or a person skiing.

    The video must be stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartLabelDetection returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

    To get the results of the label detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetLabelDetection and pass the job identifier (JobId) from the initial call to StartLabelDetection.

    ", + "idempotent":true + }, + "StartPersonTracking":{ + "name":"StartPersonTracking", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartPersonTrackingRequest"}, + "output":{"shape":"StartPersonTrackingResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts the asynchronous tracking of a person's path in a stored video.

    Amazon Rekognition Video can track the path of people in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartPersonTracking returns a job identifier (JobId) which you use to get the results of the operation. When label detection is finished, Amazon Rekognition publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

    To get the results of the person detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetPersonTracking and pass the job identifier (JobId) from the initial call to StartPersonTracking.

    ", + "idempotent":true + }, + "StartProjectVersion":{ + "name":"StartProjectVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartProjectVersionRequest"}, + "output":{"shape":"StartProjectVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Starts the running of the version of a model. Starting a model takes a while to complete. To check the current state of the model, use DescribeProjectVersions.

    Once the model is running, you can detect custom labels in new images by calling DetectCustomLabels.

    You are charged for the amount of time that the model is running. To stop a running model, call StopProjectVersion.

    This operation requires permissions to perform the rekognition:StartProjectVersion action.

    " + }, + "StartStreamProcessor":{ + "name":"StartStreamProcessor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartStreamProcessorRequest"}, + "output":{"shape":"StartStreamProcessorResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Starts processing a stream processor. You create a stream processor by calling CreateStreamProcessor. To tell StartStreamProcessor which stream processor to start, use the value of the Name field specified in the call to CreateStreamProcessor.

    " + }, + "StartTextDetection":{ + "name":"StartTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTextDetectionRequest"}, + "output":{"shape":"StartTextDetectionResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"InternalServerError"}, + {"shape":"VideoTooLargeException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Starts asynchronous detection of text in a stored video.

    Amazon Rekognition Video can detect text in a video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartTextDetection returns a job identifier (JobId) which you use to get the results of the operation. When text detection is finished, Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify in NotificationChannel.

    To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call to StartTextDetection.

    ", + "idempotent":true + }, + "StopProjectVersion":{ + "name":"StopProjectVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopProjectVersionRequest"}, + "output":{"shape":"StopProjectVersionResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Stops a running model. The operation might take a while to complete. To check the current status, call DescribeProjectVersions.

    " + }, + "StopStreamProcessor":{ + "name":"StopStreamProcessor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopStreamProcessorRequest"}, + "output":{"shape":"StopStreamProcessorResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ProvisionedThroughputExceededException"} + ], + "documentation":"

    Stops a running stream processor that was created by CreateStreamProcessor.

    " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You are not authorized to perform the action.

    ", + "exception":true + }, + "AgeRange":{ + "type":"structure", + "members":{ + "Low":{ + "shape":"UInteger", + "documentation":"

    The lowest estimated age.

    " + }, + "High":{ + "shape":"UInteger", + "documentation":"

    The highest estimated age.

    " + } + }, + "documentation":"

    Structure containing the estimated age range, in years, for a face.

    Amazon Rekognition estimates an age range for faces detected in the input image. Estimated age ranges can overlap. A face of a 5-year-old might have an estimated range of 4-6, while the face of a 6-year-old might have an estimated range of 4-8.

    " + }, + "Asset":{ + "type":"structure", + "members":{ + "GroundTruthManifest":{"shape":"GroundTruthManifest"} + }, + "documentation":"

    Assets are the images that you use to train and evaluate a model version. Assets are referenced by Sagemaker GroundTruth manifest files.

    " + }, + "Assets":{ + "type":"list", + "member":{"shape":"Asset"} + }, + "Attribute":{ + "type":"string", + "enum":[ + "DEFAULT", + "ALL" + ] + }, + "Attributes":{ + "type":"list", + "member":{"shape":"Attribute"} + }, + "Beard":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the face has beard or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the face has a beard, and the confidence level in the determination.

    " + }, + "Boolean":{"type":"boolean"}, + "BoundingBox":{ + "type":"structure", + "members":{ + "Width":{ + "shape":"Float", + "documentation":"

    Width of the bounding box as a ratio of the overall image width.

    " + }, + "Height":{ + "shape":"Float", + "documentation":"

    Height of the bounding box as a ratio of the overall image height.

    " + }, + "Left":{ + "shape":"Float", + "documentation":"

    Left coordinate of the bounding box as a ratio of overall image width.

    " + }, + "Top":{ + "shape":"Float", + "documentation":"

    Top coordinate of the bounding box as a ratio of overall image height.

    " + } + }, + "documentation":"

    Identifies the bounding box around the label, face, or text. The left (x-coordinate) and top (y-coordinate) are coordinates representing the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

    The top and left values returned are ratios of the overall image size. For example, if the input image is 700x200 pixels, and the top-left coordinate of the bounding box is 350x50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

    The width and height values represent the dimensions of the bounding box as a ratio of the overall image dimension. For example, if the input image is 700x200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

    The bounding box coordinates can have negative values. For example, if Amazon Rekognition is able to detect a face that is at the image edge and is only partially visible, the service can return coordinates that are outside the image bounds and, depending on the image edge, you might get negative values or values greater than 1 for the left or top values.

    " + }, + "BoundingBoxHeight":{ + "type":"float", + "max":1, + "min":0 + }, + "BoundingBoxWidth":{ + "type":"float", + "max":1, + "min":0 + }, + "Celebrity":{ + "type":"structure", + "members":{ + "Urls":{ + "shape":"Urls", + "documentation":"

    An array of URLs pointing to additional information about the celebrity. If there is no additional information about the celebrity, this list is empty.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The name of the celebrity.

    " + }, + "Id":{ + "shape":"RekognitionUniqueId", + "documentation":"

    A unique identifier for the celebrity.

    " + }, + "Face":{ + "shape":"ComparedFace", + "documentation":"

    Provides information about the celebrity's face, such as its location on the image.

    " + }, + "MatchConfidence":{ + "shape":"Percent", + "documentation":"

    The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

    " + } + }, + "documentation":"

    Provides information about a celebrity recognized by the RecognizeCelebrities operation.

    " + }, + "CelebrityDetail":{ + "type":"structure", + "members":{ + "Urls":{ + "shape":"Urls", + "documentation":"

    An array of URLs pointing to additional celebrity information.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The name of the celebrity.

    " + }, + "Id":{ + "shape":"RekognitionUniqueId", + "documentation":"

    The unique identifier for the celebrity.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    The confidence, in percentage, that Amazon Rekognition has that the recognized face is the celebrity.

    " + }, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box around the body of a celebrity.

    " + }, + "Face":{ + "shape":"FaceDetail", + "documentation":"

    Face details for the recognized celebrity.

    " + } + }, + "documentation":"

    Information about a recognized celebrity.

    " + }, + "CelebrityList":{ + "type":"list", + "member":{"shape":"Celebrity"} + }, + "CelebrityRecognition":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time, in milliseconds from the start of the video, that the celebrity was recognized.

    " + }, + "Celebrity":{ + "shape":"CelebrityDetail", + "documentation":"

    Information about a recognized celebrity.

    " + } + }, + "documentation":"

    Information about a detected celebrity and the time the celebrity was detected in a stored video. For more information, see GetCelebrityRecognition in the Amazon Rekognition Developer Guide.

    " + }, + "CelebrityRecognitionSortBy":{ + "type":"string", + "enum":[ + "ID", + "TIMESTAMP" + ] + }, + "CelebrityRecognitions":{ + "type":"list", + "member":{"shape":"CelebrityRecognition"} + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "CollectionId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]+" + }, + "CollectionIdList":{ + "type":"list", + "member":{"shape":"CollectionId"} + }, + "CompareFacesMatch":{ + "type":"structure", + "members":{ + "Similarity":{ + "shape":"Percent", + "documentation":"

    Level of confidence that the faces match.

    " + }, + "Face":{ + "shape":"ComparedFace", + "documentation":"

    Provides face metadata (bounding box and confidence that the bounding box actually contains a face).

    " + } + }, + "documentation":"

    Provides information about a face in a target image that matches the source image face analyzed by CompareFaces. The Face property contains the bounding box of the face in the target image. The Similarity property is the confidence that the source image face matches the face in the bounding box.

    " + }, + "CompareFacesMatchList":{ + "type":"list", + "member":{"shape":"CompareFacesMatch"} + }, + "CompareFacesRequest":{ + "type":"structure", + "required":[ + "SourceImage", + "TargetImage" + ], + "members":{ + "SourceImage":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "TargetImage":{ + "shape":"Image", + "documentation":"

    The target image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "SimilarityThreshold":{ + "shape":"Percent", + "documentation":"

    The minimum level of confidence in the face matches that a match must meet to be included in the FaceMatches array.

    " + }, + "QualityFilter":{ + "shape":"QualityFilter", + "documentation":"

    A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't compared. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed. The default value is NONE.

    To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.

    " + } + } + }, + "CompareFacesResponse":{ + "type":"structure", + "members":{ + "SourceImageFace":{ + "shape":"ComparedSourceImageFace", + "documentation":"

    The face in the source image that was used for comparison.

    " + }, + "FaceMatches":{ + "shape":"CompareFacesMatchList", + "documentation":"

    An array of faces in the target image that match the source image face. Each CompareFacesMatch object provides the bounding box, the confidence level that the bounding box contains a face, and the similarity score for the face in the bounding box and the face in the source image.

    " + }, + "UnmatchedFaces":{ + "shape":"CompareFacesUnmatchList", + "documentation":"

    An array of faces in the target image that did not match the source image face.

    " + }, + "SourceImageOrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    The value of SourceImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

    " + }, + "TargetImageOrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    The value of TargetImageOrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

    " + } + } + }, + "CompareFacesUnmatchList":{ + "type":"list", + "member":{"shape":"ComparedFace"} + }, + "ComparedFace":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box of the face.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence that what the bounding box contains is a face.

    " + }, + "Landmarks":{ + "shape":"Landmarks", + "documentation":"

    An array of facial landmarks.

    " + }, + "Pose":{ + "shape":"Pose", + "documentation":"

    Indicates the pose of the face as determined by its pitch, roll, and yaw.

    " + }, + "Quality":{ + "shape":"ImageQuality", + "documentation":"

    Identifies face image brightness and sharpness.

    " + } + }, + "documentation":"

    Provides face metadata for target image faces that are analyzed by CompareFaces and RecognizeCelebrities.

    " + }, + "ComparedFaceList":{ + "type":"list", + "member":{"shape":"ComparedFace"} + }, + "ComparedSourceImageFace":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box of the face.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Confidence level that the selected bounding box contains a face.

    " + } + }, + "documentation":"

    Type that describes the face Amazon Rekognition chose to compare with the faces in the target. This contains a bounding box for the selected face and confidence level that the bounding box contains a face. Note that Amazon Rekognition selects the largest face in the source image for this comparison.

    " + }, + "ContentClassifier":{ + "type":"string", + "enum":[ + "FreeOfPersonallyIdentifiableInformation", + "FreeOfAdultContent" + ] + }, + "ContentClassifiers":{ + "type":"list", + "member":{"shape":"ContentClassifier"}, + "max":256 + }, + "ContentModerationDetection":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    Time, in milliseconds from the beginning of the video, that the unsafe content label was detected.

    " + }, + "ModerationLabel":{ + "shape":"ModerationLabel", + "documentation":"

    The unsafe content label detected by in the stored video.

    " + } + }, + "documentation":"

    Information about an unsafe content label detection in a stored video.

    " + }, + "ContentModerationDetections":{ + "type":"list", + "member":{"shape":"ContentModerationDetection"} + }, + "ContentModerationSortBy":{ + "type":"string", + "enum":[ + "NAME", + "TIMESTAMP" + ] + }, + "CreateCollectionRequest":{ + "type":"structure", + "required":["CollectionId"], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID for the collection that you are creating.

    " + } + } + }, + "CreateCollectionResponse":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"UInteger", + "documentation":"

    HTTP status code indicating the result of the operation.

    " + }, + "CollectionArn":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) of the collection. You can use this to manage permissions on your resources.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the face detection model associated with the collection you are creating.

    " + } + } + }, + "CreateProjectRequest":{ + "type":"structure", + "required":["ProjectName"], + "members":{ + "ProjectName":{ + "shape":"ProjectName", + "documentation":"

    The name of the project to create.

    " + } + } + }, + "CreateProjectResponse":{ + "type":"structure", + "members":{ + "ProjectArn":{ + "shape":"ProjectArn", + "documentation":"

    The Amazon Resource Name (ARN) of the new project. You can use the ARN to configure IAM access to the project.

    " + } + } + }, + "CreateProjectVersionRequest":{ + "type":"structure", + "required":[ + "ProjectArn", + "VersionName", + "OutputConfig", + "TrainingData", + "TestingData" + ], + "members":{ + "ProjectArn":{ + "shape":"ProjectArn", + "documentation":"

    The ARN of the Amazon Rekognition Custom Labels project that manages the model that you want to train.

    " + }, + "VersionName":{ + "shape":"VersionName", + "documentation":"

    A name for the version of the model. This value must be unique.

    " + }, + "OutputConfig":{ + "shape":"OutputConfig", + "documentation":"

    The Amazon S3 location to store the results of training.

    " + }, + "TrainingData":{ + "shape":"TrainingData", + "documentation":"

    The dataset to use for training.

    " + }, + "TestingData":{ + "shape":"TestingData", + "documentation":"

    The dataset to use for testing.

    " + } + } + }, + "CreateProjectVersionResponse":{ + "type":"structure", + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The ARN of the model version that was created. Use DescribeProjectVersion to get the current status of the training operation.

    " + } + } + }, + "CreateStreamProcessorRequest":{ + "type":"structure", + "required":[ + "Input", + "Output", + "Name", + "Settings", + "RoleArn" + ], + "members":{ + "Input":{ + "shape":"StreamProcessorInput", + "documentation":"

    Kinesis video stream stream that provides the source streaming video. If you are using the AWS CLI, the parameter name is StreamProcessorInput.

    " + }, + "Output":{ + "shape":"StreamProcessorOutput", + "documentation":"

    Kinesis data stream stream to which Amazon Rekognition Video puts the analysis results. If you are using the AWS CLI, the parameter name is StreamProcessorOutput.

    " + }, + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    An identifier you assign to the stream processor. You can use Name to manage the stream processor. For example, you can get the current status of the stream processor by calling DescribeStreamProcessor. Name is idempotent.

    " + }, + "Settings":{ + "shape":"StreamProcessorSettings", + "documentation":"

    Face recognition input parameters to be used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    ARN of the IAM role that allows access to the stream processor.

    " + } + } + }, + "CreateStreamProcessorResponse":{ + "type":"structure", + "members":{ + "StreamProcessorArn":{ + "shape":"StreamProcessorArn", + "documentation":"

    ARN for the newly create stream processor.

    " + } + } + }, + "CustomLabel":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the custom label.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    The confidence that the model has in the detection of the custom label. The range is 0-100. A higher value indicates a higher confidence.

    " + }, + "Geometry":{ + "shape":"Geometry", + "documentation":"

    The location of the detected object on the image that corresponds to the custom label. Includes an axis aligned coarse bounding box surrounding the object and a finer grain polygon for more accurate spatial information.

    " + } + }, + "documentation":"

    A custom label detected in an image by a call to DetectCustomLabels.

    " + }, + "CustomLabels":{ + "type":"list", + "member":{"shape":"CustomLabel"} + }, + "DateTime":{"type":"timestamp"}, + "Degree":{ + "type":"float", + "max":180, + "min":-180 + }, + "DeleteCollectionRequest":{ + "type":"structure", + "required":["CollectionId"], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID of the collection to delete.

    " + } + } + }, + "DeleteCollectionResponse":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"UInteger", + "documentation":"

    HTTP status code that indicates the result of the operation.

    " + } + } + }, + "DeleteFacesRequest":{ + "type":"structure", + "required":[ + "CollectionId", + "FaceIds" + ], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    Collection from which to remove the specific faces.

    " + }, + "FaceIds":{ + "shape":"FaceIdList", + "documentation":"

    An array of face IDs to delete.

    " + } + } + }, + "DeleteFacesResponse":{ + "type":"structure", + "members":{ + "DeletedFaces":{ + "shape":"FaceIdList", + "documentation":"

    An array of strings (face IDs) of the faces that were deleted.

    " + } + } + }, + "DeleteProjectRequest":{ + "type":"structure", + "required":["ProjectArn"], + "members":{ + "ProjectArn":{ + "shape":"ProjectArn", + "documentation":"

    The Amazon Resource Name (ARN) of the project that you want to delete.

    " + } + } + }, + "DeleteProjectResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ProjectStatus", + "documentation":"

    The current status of the delete project operation.

    " + } + } + }, + "DeleteProjectVersionRequest":{ + "type":"structure", + "required":["ProjectVersionArn"], + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model version that you want to delete.

    " + } + } + }, + "DeleteProjectVersionResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ProjectVersionStatus", + "documentation":"

    The status of the deletion operation.

    " + } + } + }, + "DeleteStreamProcessorRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    The name of the stream processor you want to delete.

    " + } + } + }, + "DeleteStreamProcessorResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeCollectionRequest":{ + "type":"structure", + "required":["CollectionId"], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    The ID of the collection to describe.

    " + } + } + }, + "DescribeCollectionResponse":{ + "type":"structure", + "members":{ + "FaceCount":{ + "shape":"ULong", + "documentation":"

    The number of faces that are indexed into the collection. To index faces into a collection, use IndexFaces.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    The version of the face model that's used by the collection for face detection.

    For more information, see Model Versioning in the Amazon Rekognition Developer Guide.

    " + }, + "CollectionARN":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the collection.

    " + }, + "CreationTimestamp":{ + "shape":"DateTime", + "documentation":"

    The number of milliseconds since the Unix epoch time until the creation of the collection. The Unix epoch time is 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970.

    " + } + } + }, + "DescribeProjectVersionsRequest":{ + "type":"structure", + "required":["ProjectArn"], + "members":{ + "ProjectArn":{ + "shape":"ProjectArn", + "documentation":"

    The Amazon Resource Name (ARN) of the project that contains the models you want to describe.

    " + }, + "VersionNames":{ + "shape":"VersionNames", + "documentation":"

    A list of model version names that you want to describe. You can add up to 10 model version names to the list. If you don't specify a value, all model descriptions are returned.

    " + }, + "NextToken":{ + "shape":"ExtendedPaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"ProjectVersionsPageSize", + "documentation":"

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    " + } + } + }, + "DescribeProjectVersionsResponse":{ + "type":"structure", + "members":{ + "ProjectVersionDescriptions":{ + "shape":"ProjectVersionDescriptions", + "documentation":"

    A list of model descriptions. The list is sorted by the creation date and time of the model versions, latest to earliest.

    " + }, + "NextToken":{ + "shape":"ExtendedPaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    " + } + } + }, + "DescribeProjectsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"ExtendedPaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"ProjectsPageSize", + "documentation":"

    The maximum number of results to return per paginated call. The largest value you can specify is 100. If you specify a value greater than 100, a ValidationException error occurs. The default value is 100.

    " + } + } + }, + "DescribeProjectsResponse":{ + "type":"structure", + "members":{ + "ProjectDescriptions":{ + "shape":"ProjectDescriptions", + "documentation":"

    A list of project descriptions. The list is sorted by the date and time the projects are created.

    " + }, + "NextToken":{ + "shape":"ExtendedPaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more results to retrieve), Amazon Rekognition Custom Labels returns a pagination token in the response. You can use this pagination token to retrieve the next set of results.

    " + } + } + }, + "DescribeStreamProcessorRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    Name of the stream processor for which you want information.

    " + } + } + }, + "DescribeStreamProcessorResponse":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    Name of the stream processor.

    " + }, + "StreamProcessorArn":{ + "shape":"StreamProcessorArn", + "documentation":"

    ARN of the stream processor.

    " + }, + "Status":{ + "shape":"StreamProcessorStatus", + "documentation":"

    Current status of the stream processor.

    " + }, + "StatusMessage":{ + "shape":"String", + "documentation":"

    Detailed status message about the stream processor.

    " + }, + "CreationTimestamp":{ + "shape":"DateTime", + "documentation":"

    Date and time the stream processor was created

    " + }, + "LastUpdateTimestamp":{ + "shape":"DateTime", + "documentation":"

    The time, in Unix format, the stream processor was last updated. For example, when the stream processor moves from a running state to a failed state, or when the user starts or stops the stream processor.

    " + }, + "Input":{ + "shape":"StreamProcessorInput", + "documentation":"

    Kinesis video stream that provides the source streaming video.

    " + }, + "Output":{ + "shape":"StreamProcessorOutput", + "documentation":"

    Kinesis data stream to which Amazon Rekognition Video puts the analysis results.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    ARN of the IAM role that allows access to the stream processor.

    " + }, + "Settings":{ + "shape":"StreamProcessorSettings", + "documentation":"

    Face recognition input parameters that are being used by the stream processor. Includes the collection to use for face recognition and the face attributes to detect.

    " + } + } + }, + "DetectCustomLabelsRequest":{ + "type":"structure", + "required":[ + "ProjectVersionArn", + "Image" + ], + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The ARN of the model version that you want to use.

    " + }, + "Image":{"shape":"Image"}, + "MaxResults":{ + "shape":"UInteger", + "documentation":"

    Maximum number of results you want the service to return in the response. The service returns the specified number of highest confidence labels ranked from highest confidence to lowest.

    " + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence lower than this specified value. If you specify a value of 0, all labels are return, regardless of the default thresholds that the model version applies.

    " + } + } + }, + "DetectCustomLabelsResponse":{ + "type":"structure", + "members":{ + "CustomLabels":{ + "shape":"CustomLabels", + "documentation":"

    An array of custom labels detected in the input image.

    " + } + } + }, + "DetectFacesRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

    An array of facial attributes you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality, and Landmarks. If you provide [\"ALL\"], all facial attributes are returned, but the operation takes longer to complete.

    If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes).

    " + } + } + }, + "DetectFacesResponse":{ + "type":"structure", + "members":{ + "FaceDetails":{ + "shape":"FaceDetailList", + "documentation":"

    Details of each face found in the image.

    " + }, + "OrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

    " + } + } + }, + "DetectLabelsRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes is not supported. Images stored in an S3 Bucket do not need to be base64-encoded.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "MaxLabels":{ + "shape":"UInteger", + "documentation":"

    Maximum number of labels you want the service to return in the response. The service returns the specified number of highest confidence labels.

    " + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with confidence lower than this specified value.

    If MinConfidence is not specified, the operation returns labels with a confidence values greater than or equal to 55 percent.

    " + } + } + }, + "DetectLabelsResponse":{ + "type":"structure", + "members":{ + "Labels":{ + "shape":"Labels", + "documentation":"

    An array of labels for the real-world objects detected.

    " + }, + "OrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    The value of OrientationCorrection is always null.

    If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction. The bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

    Amazon Rekognition doesn’t perform image correction for images in .png format and .jpeg images without orientation information in the image Exif metadata. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

    " + }, + "LabelModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the label detection model that was used to detect labels.

    " + } + } + }, + "DetectModerationLabelsRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Specifies the minimum confidence level for the labels to return. Amazon Rekognition doesn't return any labels with a confidence level lower than this specified value.

    If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

    " + }, + "HumanLoopConfig":{ + "shape":"HumanLoopConfig", + "documentation":"

    Sets up the configuration for human evaluation, including the FlowDefinition the image will be sent to.

    " + } + } + }, + "DetectModerationLabelsResponse":{ + "type":"structure", + "members":{ + "ModerationLabels":{ + "shape":"ModerationLabels", + "documentation":"

    Array of detected Moderation labels and the time, in milliseconds from the start of the video, they were detected.

    " + }, + "ModerationModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the moderation detection model that was used to detect unsafe content.

    " + }, + "HumanLoopActivationOutput":{ + "shape":"HumanLoopActivationOutput", + "documentation":"

    Shows the results of the human in the loop evaluation.

    " + } + } + }, + "DetectTextFilters":{ + "type":"structure", + "members":{ + "WordFilter":{"shape":"DetectionFilter"}, + "RegionsOfInterest":{ + "shape":"RegionsOfInterest", + "documentation":"

    A Filter focusing on a certain area of the image. Uses a BoundingBox object to set the region of the image.

    " + } + }, + "documentation":"

    A set of optional parameters that you can use to set the criteria that the text must meet to be included in your response. WordFilter looks at a word’s height, width, and minimum confidence. RegionOfInterest lets you set a specific region of the image to look for text in.

    " + }, + "DetectTextRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Rekognition operations, you can't pass image bytes.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "Filters":{ + "shape":"DetectTextFilters", + "documentation":"

    Optional parameters that let you set the criteria that the text must meet to be included in your response.

    " + } + } + }, + "DetectTextResponse":{ + "type":"structure", + "members":{ + "TextDetections":{ + "shape":"TextDetectionList", + "documentation":"

    An array of text that was detected in the input image.

    " + }, + "TextModelVersion":{ + "shape":"String", + "documentation":"

    The model version used to detect text.

    " + } + } + }, + "DetectionFilter":{ + "type":"structure", + "members":{ + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Sets confidence of word detection. Words with detection confidence below this will be excluded from the result. Values should be between 0.5 and 1 as Text in Video will not return any result below 0.5.

    " + }, + "MinBoundingBoxHeight":{ + "shape":"BoundingBoxHeight", + "documentation":"

    Sets the minimum height of the word bounding box. Words with bounding box heights lesser than this value will be excluded from the result. Value is relative to the video frame height.

    " + }, + "MinBoundingBoxWidth":{ + "shape":"BoundingBoxWidth", + "documentation":"

    Sets the minimum width of the word bounding box. Words with bounding boxes widths lesser than this value will be excluded from the result. Value is relative to the video frame width.

    " + } + }, + "documentation":"

    A set of parameters that allow you to filter out certain results from your returned results.

    " + }, + "Emotion":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"EmotionName", + "documentation":"

    Type of emotion detected.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    The emotions that appear to be expressed on the face, and the confidence level in the determination. The API is only making a determination of the physical appearance of a person's face. It is not a determination of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have a sad face might not be sad emotionally.

    " + }, + "EmotionName":{ + "type":"string", + "enum":[ + "HAPPY", + "SAD", + "ANGRY", + "CONFUSED", + "DISGUSTED", + "SURPRISED", + "CALM", + "UNKNOWN", + "FEAR" + ] + }, + "Emotions":{ + "type":"list", + "member":{"shape":"Emotion"} + }, + "EvaluationResult":{ + "type":"structure", + "members":{ + "F1Score":{ + "shape":"Float", + "documentation":"

    The F1 score for the evaluation of all labels. The F1 score metric evaluates the overall precision and recall performance of the model as a single value. A higher value indicates better precision and recall performance. A lower score indicates that precision, recall, or both are performing poorly.

    " + }, + "Summary":{ + "shape":"Summary", + "documentation":"

    The S3 bucket that contains the training summary.

    " + } + }, + "documentation":"

    The evaluation results for the training of a model.

    " + }, + "ExtendedPaginationToken":{ + "type":"string", + "max":1024 + }, + "ExternalImageId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-:]+" + }, + "EyeOpen":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the eyes on the face are open.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

    " + }, + "Eyeglasses":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the face is wearing eye glasses or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

    " + }, + "Face":{ + "type":"structure", + "members":{ + "FaceId":{ + "shape":"FaceId", + "documentation":"

    Unique identifier that Amazon Rekognition assigns to the face.

    " + }, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box of the face.

    " + }, + "ImageId":{ + "shape":"ImageId", + "documentation":"

    Unique identifier that Amazon Rekognition assigns to the input image.

    " + }, + "ExternalImageId":{ + "shape":"ExternalImageId", + "documentation":"

    Identifier that you assign to all the faces in the input image.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Confidence level that the bounding box contains a face (and not a different object such as a tree).

    " + } + }, + "documentation":"

    Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

    " + }, + "FaceAttributes":{ + "type":"string", + "enum":[ + "DEFAULT", + "ALL" + ] + }, + "FaceDetail":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box of the face. Default attribute.

    " + }, + "AgeRange":{ + "shape":"AgeRange", + "documentation":"

    The estimated age range, in years, for the face. Low represents the lowest estimated age and High represents the highest estimated age.

    " + }, + "Smile":{ + "shape":"Smile", + "documentation":"

    Indicates whether or not the face is smiling, and the confidence level in the determination.

    " + }, + "Eyeglasses":{ + "shape":"Eyeglasses", + "documentation":"

    Indicates whether or not the face is wearing eye glasses, and the confidence level in the determination.

    " + }, + "Sunglasses":{ + "shape":"Sunglasses", + "documentation":"

    Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

    " + }, + "Gender":{ + "shape":"Gender", + "documentation":"

    The predicted gender of a detected face.

    " + }, + "Beard":{ + "shape":"Beard", + "documentation":"

    Indicates whether or not the face has a beard, and the confidence level in the determination.

    " + }, + "Mustache":{ + "shape":"Mustache", + "documentation":"

    Indicates whether or not the face has a mustache, and the confidence level in the determination.

    " + }, + "EyesOpen":{ + "shape":"EyeOpen", + "documentation":"

    Indicates whether or not the eyes on the face are open, and the confidence level in the determination.

    " + }, + "MouthOpen":{ + "shape":"MouthOpen", + "documentation":"

    Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

    " + }, + "Emotions":{ + "shape":"Emotions", + "documentation":"

    The emotions that appear to be expressed on the face, and the confidence level in the determination. The API is only making a determination of the physical appearance of a person's face. It is not a determination of the person’s internal emotional state and should not be used in such a way. For example, a person pretending to have a sad face might not be sad emotionally.

    " + }, + "Landmarks":{ + "shape":"Landmarks", + "documentation":"

    Indicates the location of landmarks on the face. Default attribute.

    " + }, + "Pose":{ + "shape":"Pose", + "documentation":"

    Indicates the pose of the face as determined by its pitch, roll, and yaw. Default attribute.

    " + }, + "Quality":{ + "shape":"ImageQuality", + "documentation":"

    Identifies image brightness and sharpness. Default attribute.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Confidence level that the bounding box contains a face (and not a different object such as a tree). Default attribute.

    " + } + }, + "documentation":"

    Structure containing attributes of the face that the algorithm detected.

    A FaceDetail object contains either the default facial attributes or all facial attributes. The default attributes are BoundingBox, Confidence, Landmarks, Pose, and Quality.

    GetFaceDetection is the only Amazon Rekognition Video stored video operation that can return a FaceDetail object with all attributes. To specify which attributes to return, use the FaceAttributes input parameter for StartFaceDetection. The following Amazon Rekognition Video operations return only the default attributes. The corresponding Start operations don't have a FaceAttributes input parameter.

    • GetCelebrityRecognition

    • GetPersonTracking

    • GetFaceSearch

    The Amazon Rekognition Image DetectFaces and IndexFaces operations can return all facial attributes. To specify which attributes to return, use the Attributes input parameter for DetectFaces. For IndexFaces, use the DetectAttributes input parameter.

    " + }, + "FaceDetailList":{ + "type":"list", + "member":{"shape":"FaceDetail"} + }, + "FaceDetection":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    Time, in milliseconds from the start of the video, that the face was detected.

    " + }, + "Face":{ + "shape":"FaceDetail", + "documentation":"

    The face properties for the detected face.

    " + } + }, + "documentation":"

    Information about a face detected in a video analysis request and the time the face was detected in the video.

    " + }, + "FaceDetections":{ + "type":"list", + "member":{"shape":"FaceDetection"} + }, + "FaceId":{ + "type":"string", + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "FaceIdList":{ + "type":"list", + "member":{"shape":"FaceId"}, + "max":4096, + "min":1 + }, + "FaceList":{ + "type":"list", + "member":{"shape":"Face"} + }, + "FaceMatch":{ + "type":"structure", + "members":{ + "Similarity":{ + "shape":"Percent", + "documentation":"

    Confidence in the match of this face with the input face.

    " + }, + "Face":{ + "shape":"Face", + "documentation":"

    Describes the face properties such as the bounding box, face ID, image ID of the source image, and external image ID that you assigned.

    " + } + }, + "documentation":"

    Provides face metadata. In addition, it also provides the confidence in the match of this face with the input face.

    " + }, + "FaceMatchList":{ + "type":"list", + "member":{"shape":"FaceMatch"} + }, + "FaceModelVersionList":{ + "type":"list", + "member":{"shape":"String"} + }, + "FaceRecord":{ + "type":"structure", + "members":{ + "Face":{ + "shape":"Face", + "documentation":"

    Describes the face properties such as the bounding box, face ID, image ID of the input image, and external image ID that you assigned.

    " + }, + "FaceDetail":{ + "shape":"FaceDetail", + "documentation":"

    Structure containing attributes of the face that the algorithm detected.

    " + } + }, + "documentation":"

    Object containing both the face metadata (stored in the backend database), and facial attributes that are detected but aren't stored in the database.

    " + }, + "FaceRecordList":{ + "type":"list", + "member":{"shape":"FaceRecord"} + }, + "FaceSearchSettings":{ + "type":"structure", + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    The ID of a collection that contains faces that you want to search for.

    " + }, + "FaceMatchThreshold":{ + "shape":"Percent", + "documentation":"

    Minimum face match confidence score that must be met to return a result for a recognized face. Default is 80. 0 is the lowest confidence. 100 is the highest confidence.

    " + } + }, + "documentation":"

    Input face recognition parameters for an Amazon Rekognition stream processor. FaceRecognitionSettings is a request parameter for CreateStreamProcessor.

    " + }, + "FaceSearchSortBy":{ + "type":"string", + "enum":[ + "INDEX", + "TIMESTAMP" + ] + }, + "Float":{"type":"float"}, + "FlowDefinitionArn":{ + "type":"string", + "max":256 + }, + "Gender":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"GenderType", + "documentation":"

    The predicted gender of the face.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the prediction.

    " + } + }, + "documentation":"

    The predicted gender of a detected face.

    Amazon Rekognition makes gender binary (male/female) predictions based on the physical appearance of a face in a particular image. This kind of prediction is not designed to categorize a person’s gender identity, and you shouldn't use Amazon Rekognition to make such a determination. For example, a male actor wearing a long-haired wig and earrings for a role might be predicted as female.

    Using Amazon Rekognition to make gender binary predictions is best suited for use cases where aggregate gender distribution statistics need to be analyzed without identifying specific users. For example, the percentage of female users compared to male users on a social media platform.

    We don't recommend using gender binary predictions to make decisions that impact
 an individual's rights, privacy, or access to services.

    " + }, + "GenderType":{ + "type":"string", + "enum":[ + "Male", + "Female" + ] + }, + "Geometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    An axis-aligned coarse representation of the detected item's location on the image.

    " + }, + "Polygon":{ + "shape":"Polygon", + "documentation":"

    Within the bounding box, a fine-grained polygon around the detected item.

    " + } + }, + "documentation":"

    Information about where an object (DetectCustomLabels) or text (DetectText) is located on an image.

    " + }, + "GetCelebrityInfoRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"RekognitionUniqueId", + "documentation":"

    The ID for the celebrity. You get the celebrity ID from a call to the RecognizeCelebrities operation, which recognizes celebrities in an image.

    " + } + } + }, + "GetCelebrityInfoResponse":{ + "type":"structure", + "members":{ + "Urls":{ + "shape":"Urls", + "documentation":"

    An array of URLs pointing to additional celebrity information.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The name of the celebrity.

    " + } + } + }, + "GetCelebrityRecognitionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    Job identifier for the required celebrity recognition analysis. You can get the job identifer from a call to StartCelebrityRecognition.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more recognized celebrities to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of celebrities.

    " + }, + "SortBy":{ + "shape":"CelebrityRecognitionSortBy", + "documentation":"

    Sort to use for celebrities returned in Celebrities field. Specify ID to sort by the celebrity identifier, specify TIMESTAMP to sort by the time the celebrity was recognized.

    " + } + } + }, + "GetCelebrityRecognitionResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the celebrity recognition job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of celebrities.

    " + }, + "Celebrities":{ + "shape":"CelebrityRecognitions", + "documentation":"

    Array of celebrities recognized in the video.

    " + } + } + }, + "GetContentModerationRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the unsafe content job. Use JobId to identify the job in a subsequent call to GetContentModeration.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of unsafe content labels.

    " + }, + "SortBy":{ + "shape":"ContentModerationSortBy", + "documentation":"

    Sort to use for elements in the ModerationLabelDetections array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP.

    " + } + } + }, + "GetContentModerationResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the unsafe content analysis job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from GetContentModeration.

    " + }, + "ModerationLabels":{ + "shape":"ContentModerationDetections", + "documentation":"

    The detected unsafe content labels and the time(s) they were detected.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of unsafe content labels.

    " + }, + "ModerationModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the moderation detection model that was used to detect unsafe content.

    " + } + } + }, + "GetFaceDetectionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    Unique identifier for the face detection job. The JobId is returned from StartFaceDetection.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more faces to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces.

    " + } + } + }, + "GetFaceDetectionResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the face detection job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

    " + }, + "Faces":{ + "shape":"FaceDetections", + "documentation":"

    An array of faces detected in the video. Each element contains a detected face's details and the time, in milliseconds from the start of the video, the face was detected.

    " + } + } + }, + "GetFaceSearchRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The job identifer for the search request. You get the job identifier from an initial call to StartFaceSearch.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more search results to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of search results.

    " + }, + "SortBy":{ + "shape":"FaceSearchSortBy", + "documentation":"

    Sort to use for grouping faces in the response. Use TIMESTAMP to group faces by the time that they are recognized. Use INDEX to sort by recognized faces.

    " + } + } + }, + "GetFaceSearchResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the face search job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of search results.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

    " + }, + "Persons":{ + "shape":"PersonMatches", + "documentation":"

    An array of persons, PersonMatch, in the video whose face(s) match the face(s) in an Amazon Rekognition collection. It also includes time information for when persons are matched in the video. You specify the input collection in an initial call to StartFaceSearch. Each Persons element includes a time the person was matched, face match details (FaceMatches) for matching faces in the collection, and person information (Person) for the matched person.

    " + } + } + }, + "GetLabelDetectionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartlabelDetection.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of labels.

    " + }, + "SortBy":{ + "shape":"LabelDetectionSortBy", + "documentation":"

    Sort to use for elements in the Labels array. Use TIMESTAMP to sort array elements by the time labels are detected. Use NAME to alphabetically group elements for a label together. Within each label group, the array element are sorted by detection confidence. The default sort is by TIMESTAMP.

    " + } + } + }, + "GetLabelDetectionResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the label detection job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of labels.

    " + }, + "Labels":{ + "shape":"LabelDetections", + "documentation":"

    An array of labels detected in the video. Each element contains the detected label and the time, in milliseconds from the start of the video, that the label was detected.

    " + }, + "LabelModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the label detection model that was used to detect labels.

    " + } + } + }, + "GetPersonTrackingRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for a job that tracks persons in a video. You get the JobId from a call to StartPersonTracking.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000. If you specify a value greater than 1000, a maximum of 1000 results is returned. The default value is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more persons to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of persons.

    " + }, + "SortBy":{ + "shape":"PersonTrackingSortBy", + "documentation":"

    Sort to use for elements in the Persons array. Use TIMESTAMP to sort array elements by the time persons are detected. Use INDEX to sort by the tracked persons. If you sort by INDEX, the array elements for each person are sorted by detection confidence. The default sort is by TIMESTAMP.

    " + } + } + }, + "GetPersonTrackingResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    The current status of the person tracking job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{ + "shape":"VideoMetadata", + "documentation":"

    Information about a video that Amazon Rekognition Video analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition Video operation.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of persons.

    " + }, + "Persons":{ + "shape":"PersonDetections", + "documentation":"

    An array of the persons detected in the video and the time(s) their path was tracked throughout the video. An array element will exist for each time a person's path is tracked.

    " + } + } + }, + "GetTextDetectionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    Job identifier for the label detection operation for which you want results returned. You get the job identifer from an initial call to StartTextDetection.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of results to return per paginated call. The largest value you can specify is 1000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of text.

    " + } + } + }, + "GetTextDetectionResponse":{ + "type":"structure", + "members":{ + "JobStatus":{ + "shape":"VideoJobStatus", + "documentation":"

    Current status of the text detection job.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    If the job fails, StatusMessage provides a descriptive error message.

    " + }, + "VideoMetadata":{"shape":"VideoMetadata"}, + "TextDetections":{ + "shape":"TextDetectionResults", + "documentation":"

    An array of text detected in the video. Each element contains the detected text, the time in milliseconds from the start of the video that the text was detected, and where it was detected on the screen.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of text.

    " + }, + "TextModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the text detection model that was used to detect text.

    " + } + } + }, + "GroundTruthManifest":{ + "type":"structure", + "members":{ + "S3Object":{"shape":"S3Object"} + }, + "documentation":"

    The S3 bucket that contains the Ground Truth manifest file.

    " + }, + "HumanLoopActivationConditionsEvaluationResults":{ + "type":"string", + "max":10240 + }, + "HumanLoopActivationOutput":{ + "type":"structure", + "members":{ + "HumanLoopArn":{ + "shape":"HumanLoopArn", + "documentation":"

    The Amazon Resource Name (ARN) of the HumanLoop created.

    " + }, + "HumanLoopActivationReasons":{ + "shape":"HumanLoopActivationReasons", + "documentation":"

    Shows if and why human review was needed.

    " + }, + "HumanLoopActivationConditionsEvaluationResults":{ + "shape":"HumanLoopActivationConditionsEvaluationResults", + "documentation":"

    Shows the result of condition evaluations, including those conditions which activated a human review.

    ", + "jsonvalue":true + } + }, + "documentation":"

    Shows the results of the human in the loop evaluation. If there is no HumanLoopArn, the input did not trigger human review.

    " + }, + "HumanLoopActivationReason":{"type":"string"}, + "HumanLoopActivationReasons":{ + "type":"list", + "member":{"shape":"HumanLoopActivationReason"}, + "min":1 + }, + "HumanLoopArn":{ + "type":"string", + "max":256 + }, + "HumanLoopConfig":{ + "type":"structure", + "required":[ + "HumanLoopName", + "FlowDefinitionArn" + ], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human review used for this image. This should be kept unique within a region.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition.

    " + }, + "DataAttributes":{ + "shape":"HumanLoopDataAttributes", + "documentation":"

    Sets attributes of the input data.

    " + } + }, + "documentation":"

    Sets up the flow definition the image will be sent to if one of the conditions is met. You can also set certain attributes of the image before review.

    " + }, + "HumanLoopDataAttributes":{ + "type":"structure", + "members":{ + "ContentClassifiers":{ + "shape":"ContentClassifiers", + "documentation":"

    Sets whether the input image is free of personally identifiable information.

    " + } + }, + "documentation":"

    Allows you to set attributes of the image. Currently, you can declare an image as free of personally identifiable information.

    " + }, + "HumanLoopName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*" + }, + "HumanLoopQuotaExceededException":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"String"}, + "QuotaCode":{"shape":"String"}, + "ServiceCode":{"shape":"String"} + }, + "documentation":"

    The number of in-progress human reviews you have has exceeded the number allowed.

    ", + "exception":true + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A ClientRequestToken input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

    ", + "exception":true + }, + "Image":{ + "type":"structure", + "members":{ + "Bytes":{ + "shape":"ImageBlob", + "documentation":"

    Blob of image bytes up to 5 MBs.

    " + }, + "S3Object":{ + "shape":"S3Object", + "documentation":"

    Identifies an S3 object as the image source.

    " + } + }, + "documentation":"

    Provides the input image either as bytes or an S3 object.

    You pass image bytes to an Amazon Rekognition API operation by using the Bytes property. For example, you would use the Bytes property to pass an image loaded from a local file system. Image bytes passed by using the Bytes property must be base64-encoded. Your code may not need to encode image bytes if you are using an AWS SDK to call Amazon Rekognition API operations.

    For more information, see Analyzing an Image Loaded from a Local File System in the Amazon Rekognition Developer Guide.

    You pass images stored in an S3 bucket to an Amazon Rekognition API operation by using the S3Object property. Images stored in an S3 bucket do not need to be base64-encoded.

    The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

    If you use the AWS CLI to call Amazon Rekognition operations, passing image bytes using the Bytes property is not supported. You must first upload the image to an Amazon S3 bucket and then call the operation using the S3Object property.

    For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see Resource Based Policies in the Amazon Rekognition Developer Guide.

    " + }, + "ImageBlob":{ + "type":"blob", + "max":5242880, + "min":1 + }, + "ImageId":{ + "type":"string", + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "ImageQuality":{ + "type":"structure", + "members":{ + "Brightness":{ + "shape":"Float", + "documentation":"

    Value representing brightness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a brighter face image.

    " + }, + "Sharpness":{ + "shape":"Float", + "documentation":"

    Value representing sharpness of the face. The service returns a value between 0 and 100 (inclusive). A higher value indicates a sharper face image.

    " + } + }, + "documentation":"

    Identifies face image brightness and sharpness.

    " + }, + "ImageTooLargeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The input image size exceeds the allowed limit. For more information, see Limits in Amazon Rekognition in the Amazon Rekognition Developer Guide.

    ", + "exception":true + }, + "IndexFacesRequest":{ + "type":"structure", + "required":[ + "CollectionId", + "Image" + ], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    The ID of an existing collection to which you want to add the faces that are detected in the input images.

    " + }, + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes isn't supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "ExternalImageId":{ + "shape":"ExternalImageId", + "documentation":"

    The ID you want to assign to all the faces detected in the image.

    " + }, + "DetectionAttributes":{ + "shape":"Attributes", + "documentation":"

    An array of facial attributes that you want to be returned. This can be the default list of attributes or all attributes. If you don't specify a value for Attributes or if you specify [\"DEFAULT\"], the API returns the following subset of facial attributes: BoundingBox, Confidence, Pose, Quality, and Landmarks. If you provide [\"ALL\"], all facial attributes are returned, but the operation takes longer to complete.

    If you provide both, [\"ALL\", \"DEFAULT\"], the service uses a logical AND operator to determine which attributes to return (in this case, all attributes).

    " + }, + "MaxFaces":{ + "shape":"MaxFacesToIndex", + "documentation":"

    The maximum number of faces to index. The value of MaxFaces must be greater than or equal to 1. IndexFaces returns no more than 100 detected faces in an image, even if you specify a larger value for MaxFaces.

    If IndexFaces detects more faces than the value of MaxFaces, the faces with the lowest quality are filtered out first. If there are still more faces than the value of MaxFaces, the faces with the smallest bounding boxes are filtered out (up to the number that's needed to satisfy the value of MaxFaces). Information about the unindexed faces is available in the UnindexedFaces array.

    The faces that are returned by IndexFaces are sorted by the largest face bounding box size to the smallest size, in descending order.

    MaxFaces can be used with a collection associated with any version of the face model.

    " + }, + "QualityFilter":{ + "shape":"QualityFilter", + "documentation":"

    A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't indexed. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The default value is AUTO. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed.

    To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.

    " + } + } + }, + "IndexFacesResponse":{ + "type":"structure", + "members":{ + "FaceRecords":{ + "shape":"FaceRecordList", + "documentation":"

    An array of faces detected and added to the collection. For more information, see Searching Faces in a Collection in the Amazon Rekognition Developer Guide.

    " + }, + "OrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    If your collection is associated with a face detection model that's later than version 3.0, the value of OrientationCorrection is always null and no orientation information is returned.

    If your collection is associated with a face detection model that's version 3.0 or earlier, the following applies:

    • If the input image is in .jpeg format, it might contain exchangeable image file format (Exif) metadata that includes the image's orientation. Amazon Rekognition uses this orientation information to perform image correction - the bounding box coordinates are translated to represent object locations after the orientation information in the Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata. The value of OrientationCorrection is null.

    • If the image doesn't contain orientation information in its Exif metadata, Amazon Rekognition returns an estimated orientation (ROTATE_0, ROTATE_90, ROTATE_180, ROTATE_270). Amazon Rekognition doesn’t perform image correction for images. The bounding box coordinates aren't translated and represent the object locations before the image is rotated.

    Bounding box information is returned in the FaceRecords array. You can get the version of the face detection model by calling DescribeCollection.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    The version number of the face detection model that's associated with the input collection (CollectionId).

    " + }, + "UnindexedFaces":{ + "shape":"UnindexedFaces", + "documentation":"

    An array of faces that were detected in the image but weren't indexed. They weren't indexed because the quality filter identified them as low quality, or the MaxFaces request parameter filtered them out. To use the quality filter, you specify the QualityFilter request parameter.

    " + } + } + }, + "InferenceUnits":{ + "type":"integer", + "min":1 + }, + "Instance":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    The position of the label instance on the image.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    The confidence that Amazon Rekognition has in the accuracy of the bounding box.

    " + } + }, + "documentation":"

    An instance of a label returned by Amazon Rekognition Image (DetectLabels) or by Amazon Rekognition Video (GetLabelDetection).

    " + }, + "Instances":{ + "type":"list", + "member":{"shape":"Instance"} + }, + "InternalServerError":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Rekognition experienced a service issue. Try your call again.

    ", + "exception":true, + "fault":true + }, + "InvalidImageFormatException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The provided image format is not supported.

    ", + "exception":true + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Pagination token in the request is not valid.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Input parameter violated a constraint. Validate your parameter before calling the API operation again.

    ", + "exception":true + }, + "InvalidS3ObjectException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Rekognition is unable to access the S3 object specified in the request.

    ", + "exception":true + }, + "JobId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "JobTag":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-:]+" + }, + "KinesisDataArn":{ + "type":"string", + "pattern":"(^arn:([a-z\\d-]+):kinesis:([a-z\\d-]+):\\d{12}:.+$)" + }, + "KinesisDataStream":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"KinesisDataArn", + "documentation":"

    ARN of the output Amazon Kinesis Data Streams stream.

    " + } + }, + "documentation":"

    The Kinesis data stream Amazon Rekognition to which the analysis results of a Amazon Rekognition stream processor are streamed. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

    " + }, + "KinesisVideoArn":{ + "type":"string", + "pattern":"(^arn:([a-z\\d-]+):kinesisvideo:([a-z\\d-]+):\\d{12}:.+$)" + }, + "KinesisVideoStream":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"KinesisVideoArn", + "documentation":"

    ARN of the Kinesis video stream stream that streams the source video.

    " + } + }, + "documentation":"

    Kinesis video stream stream that provides the source streaming video for a Amazon Rekognition Video stream processor. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

    " + }, + "Label":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name (label) of the object or scene.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence.

    " + }, + "Instances":{ + "shape":"Instances", + "documentation":"

    If Label represents an object, Instances contains the bounding boxes for each instance of the detected object. Bounding boxes are returned for common object labels such as people, cars, furniture, apparel or pets.

    " + }, + "Parents":{ + "shape":"Parents", + "documentation":"

    The parent labels for a label. The response includes all ancestor labels.

    " + } + }, + "documentation":"

    Structure containing details about the detected label, including the name, detected instances, parent labels, and level of confidence.

    " + }, + "LabelDetection":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    Time, in milliseconds from the start of the video, that the label was detected.

    " + }, + "Label":{ + "shape":"Label", + "documentation":"

    Details about the detected label.

    " + } + }, + "documentation":"

    Information about a label detected in a video analysis request and the time the label was detected in the video.

    " + }, + "LabelDetectionSortBy":{ + "type":"string", + "enum":[ + "NAME", + "TIMESTAMP" + ] + }, + "LabelDetections":{ + "type":"list", + "member":{"shape":"LabelDetection"} + }, + "Labels":{ + "type":"list", + "member":{"shape":"Label"} + }, + "Landmark":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"LandmarkType", + "documentation":"

    Type of landmark.

    " + }, + "X":{ + "shape":"Float", + "documentation":"

    The x-coordinate from the top left of the landmark expressed as the ratio of the width of the image. For example, if the image is 700 x 200 and the x-coordinate of the landmark is at 350 pixels, this value is 0.5.

    " + }, + "Y":{ + "shape":"Float", + "documentation":"

    The y-coordinate from the top left of the landmark expressed as the ratio of the height of the image. For example, if the image is 700 x 200 and the y-coordinate of the landmark is at 100 pixels, this value is 0.5.

    " + } + }, + "documentation":"

    Indicates the location of the landmark on the face.

    " + }, + "LandmarkType":{ + "type":"string", + "enum":[ + "eyeLeft", + "eyeRight", + "nose", + "mouthLeft", + "mouthRight", + "leftEyeBrowLeft", + "leftEyeBrowRight", + "leftEyeBrowUp", + "rightEyeBrowLeft", + "rightEyeBrowRight", + "rightEyeBrowUp", + "leftEyeLeft", + "leftEyeRight", + "leftEyeUp", + "leftEyeDown", + "rightEyeLeft", + "rightEyeRight", + "rightEyeUp", + "rightEyeDown", + "noseLeft", + "noseRight", + "mouthUp", + "mouthDown", + "leftPupil", + "rightPupil", + "upperJawlineLeft", + "midJawlineLeft", + "chinBottom", + "midJawlineRight", + "upperJawlineRight" + ] + }, + "Landmarks":{ + "type":"list", + "member":{"shape":"Landmark"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An Amazon Rekognition service limit was exceeded. For example, if you start too many Amazon Rekognition Video jobs concurrently, calls to start operations (StartLabelDetection, for example) will raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Rekognition service limit.

    ", + "exception":true + }, + "ListCollectionsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    Pagination token from the previous response.

    " + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

    Maximum number of collection IDs to return.

    " + } + } + }, + "ListCollectionsResponse":{ + "type":"structure", + "members":{ + "CollectionIds":{ + "shape":"CollectionIdList", + "documentation":"

    An array of collection IDs.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the result is truncated, the response provides a NextToken that you can use in the subsequent request to fetch the next set of collection IDs.

    " + }, + "FaceModelVersions":{ + "shape":"FaceModelVersionList", + "documentation":"

    Version numbers of the face detection models associated with the collections in the array CollectionIds. For example, the value of FaceModelVersions[2] is the version number for the face detection model used by the collection in CollectionId[2].

    " + } + } + }, + "ListFacesRequest":{ + "type":"structure", + "required":["CollectionId"], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID of the collection from which to list the faces.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there is more data to retrieve), Amazon Rekognition returns a pagination token in the response. You can use this pagination token to retrieve the next set of faces.

    " + }, + "MaxResults":{ + "shape":"PageSize", + "documentation":"

    Maximum number of faces to return.

    " + } + } + }, + "ListFacesResponse":{ + "type":"structure", + "members":{ + "Faces":{ + "shape":"FaceList", + "documentation":"

    An array of Face objects.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    If the response is truncated, Amazon Rekognition returns this token that you can use in the subsequent request to retrieve the next set of faces.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the face detection model associated with the input collection (CollectionId).

    " + } + } + }, + "ListStreamProcessorsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more stream processors to retrieve), Amazon Rekognition Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of stream processors.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Maximum number of stream processors you want Amazon Rekognition Video to return in the response. The default is 1000.

    " + } + } + }, + "ListStreamProcessorsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent request to retrieve the next set of stream processors.

    " + }, + "StreamProcessors":{ + "shape":"StreamProcessorList", + "documentation":"

    List of stream processors that you have created.

    " + } + } + }, + "MaxFaces":{ + "type":"integer", + "max":4096, + "min":1 + }, + "MaxFacesToIndex":{ + "type":"integer", + "min":1 + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "ModerationLabel":{ + "type":"structure", + "members":{ + "Confidence":{ + "shape":"Percent", + "documentation":"

    Specifies the confidence that Amazon Rekognition has that the label has been correctly identified.

    If you don't specify the MinConfidence parameter in the call to DetectModerationLabels, the operation returns labels with a confidence value greater than or equal to 50 percent.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The label name for the type of unsafe content detected in the image.

    " + }, + "ParentName":{ + "shape":"String", + "documentation":"

    The name for the parent label. Labels at the top level of the hierarchy have the parent label \"\".

    " + } + }, + "documentation":"

    Provides information about a single type of unsafe content found in an image or video. Each type of moderated content has a label within a hierarchical taxonomy. For more information, see Detecting Unsafe Content in the Amazon Rekognition Developer Guide.

    " + }, + "ModerationLabels":{ + "type":"list", + "member":{"shape":"ModerationLabel"} + }, + "MouthOpen":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the mouth on the face is open or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the mouth on the face is open, and the confidence level in the determination.

    " + }, + "Mustache":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the face has mustache or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the face has a mustache, and the confidence level in the determination.

    " + }, + "NotificationChannel":{ + "type":"structure", + "required":[ + "SNSTopicArn", + "RoleArn" + ], + "members":{ + "SNSTopicArn":{ + "shape":"SNSTopicArn", + "documentation":"

    The Amazon SNS topic to which Amazon Rekognition to posts the completion status.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.

    " + } + }, + "documentation":"

    The Amazon Simple Notification Service topic to which Amazon Rekognition publishes the completion status of a video analysis operation. For more information, see api-video.

    " + }, + "OrientationCorrection":{ + "type":"string", + "enum":[ + "ROTATE_0", + "ROTATE_90", + "ROTATE_180", + "ROTATE_270" + ] + }, + "OutputConfig":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The S3 bucket where training output is placed.

    " + }, + "S3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The prefix applied to the training output files.

    " + } + }, + "documentation":"

    The S3 bucket and folder location where training output is placed.

    " + }, + "PageSize":{ + "type":"integer", + "max":4096, + "min":0 + }, + "PaginationToken":{ + "type":"string", + "max":255 + }, + "Parent":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the parent label.

    " + } + }, + "documentation":"

    A parent label for a label. A label can have 0, 1, or more parents.

    " + }, + "Parents":{ + "type":"list", + "member":{"shape":"Parent"} + }, + "Percent":{ + "type":"float", + "max":100, + "min":0 + }, + "PersonDetail":{ + "type":"structure", + "members":{ + "Index":{ + "shape":"PersonIndex", + "documentation":"

    Identifier for the person detected person within a video. Use to keep track of the person throughout the video. The identifier is not stored by Amazon Rekognition.

    " + }, + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    Bounding box around the detected person.

    " + }, + "Face":{ + "shape":"FaceDetail", + "documentation":"

    Face details for the detected person.

    " + } + }, + "documentation":"

    Details about a person detected in a video analysis request.

    " + }, + "PersonDetection":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time, in milliseconds from the start of the video, that the person's path was tracked.

    " + }, + "Person":{ + "shape":"PersonDetail", + "documentation":"

    Details about a person whose path was tracked in a video.

    " + } + }, + "documentation":"

    Details and path tracking information for a single time a person's path is tracked in a video. Amazon Rekognition operations that track people's paths return an array of PersonDetection objects with elements for each time a person's path is tracked in a video.

    For more information, see GetPersonTracking in the Amazon Rekognition Developer Guide.

    " + }, + "PersonDetections":{ + "type":"list", + "member":{"shape":"PersonDetection"} + }, + "PersonIndex":{"type":"long"}, + "PersonMatch":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time, in milliseconds from the beginning of the video, that the person was matched in the video.

    " + }, + "Person":{ + "shape":"PersonDetail", + "documentation":"

    Information about the matched person.

    " + }, + "FaceMatches":{ + "shape":"FaceMatchList", + "documentation":"

    Information about the faces in the input collection that match the face of a person in the video.

    " + } + }, + "documentation":"

    Information about a person whose face matches a face(s) in an Amazon Rekognition collection. Includes information about the faces in the Amazon Rekognition collection (FaceMatch), information about the person (PersonDetail), and the time stamp for when the person was detected in a video. An array of PersonMatch objects is returned by GetFaceSearch.

    " + }, + "PersonMatches":{ + "type":"list", + "member":{"shape":"PersonMatch"} + }, + "PersonTrackingSortBy":{ + "type":"string", + "enum":[ + "INDEX", + "TIMESTAMP" + ] + }, + "Point":{ + "type":"structure", + "members":{ + "X":{ + "shape":"Float", + "documentation":"

    The value of the X coordinate for a point on a Polygon.

    " + }, + "Y":{ + "shape":"Float", + "documentation":"

    The value of the Y coordinate for a point on a Polygon.

    " + } + }, + "documentation":"

    The X and Y coordinates of a point on an image. The X and Y values returned are ratios of the overall image size. For example, if the input image is 700x200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the image.

    An array of Point objects, Polygon, is returned by DetectText and by DetectCustomLabels. Polygon represents a fine-grained polygon around a detected item. For more information, see Geometry in the Amazon Rekognition Developer Guide.

    " + }, + "Polygon":{ + "type":"list", + "member":{"shape":"Point"} + }, + "Pose":{ + "type":"structure", + "members":{ + "Roll":{ + "shape":"Degree", + "documentation":"

    Value representing the face rotation on the roll axis.

    " + }, + "Yaw":{ + "shape":"Degree", + "documentation":"

    Value representing the face rotation on the yaw axis.

    " + }, + "Pitch":{ + "shape":"Degree", + "documentation":"

    Value representing the face rotation on the pitch axis.

    " + } + }, + "documentation":"

    Indicates the pose of the face as determined by its pitch, roll, and yaw.

    " + }, + "ProjectArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:project\\/[a-zA-Z0-9_.\\-]{1,255}\\/[0-9]+$)" + }, + "ProjectDescription":{ + "type":"structure", + "members":{ + "ProjectArn":{ + "shape":"ProjectArn", + "documentation":"

    The Amazon Resource Name (ARN) of the project.

    " + }, + "CreationTimestamp":{ + "shape":"DateTime", + "documentation":"

    The Unix timestamp for the date and time that the project was created.

    " + }, + "Status":{ + "shape":"ProjectStatus", + "documentation":"

    The current status of the project.

    " + } + }, + "documentation":"

    A description of a Amazon Rekognition Custom Labels project.

    " + }, + "ProjectDescriptions":{ + "type":"list", + "member":{"shape":"ProjectDescription"} + }, + "ProjectName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]+" + }, + "ProjectStatus":{ + "type":"string", + "enum":[ + "CREATING", + "CREATED", + "DELETING" + ] + }, + "ProjectVersionArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:project\\/[a-zA-Z0-9_.\\-]{1,255}\\/version\\/[a-zA-Z0-9_.\\-]{1,255}\\/[0-9]+$)" + }, + "ProjectVersionDescription":{ + "type":"structure", + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model version.

    " + }, + "CreationTimestamp":{ + "shape":"DateTime", + "documentation":"

    The Unix datetime for the date and time that training started.

    " + }, + "MinInferenceUnits":{ + "shape":"InferenceUnits", + "documentation":"

    The minimum number of inference units used by the model. For more information, see StartProjectVersion.

    " + }, + "Status":{ + "shape":"ProjectVersionStatus", + "documentation":"

    The current status of the model version.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A descriptive message for an error or warning that occurred.

    " + }, + "BillableTrainingTimeInSeconds":{ + "shape":"ULong", + "documentation":"

    The duration, in seconds, that the model version has been billed for training. This value is only returned if the model version has been successfully trained.

    " + }, + "TrainingEndTimestamp":{ + "shape":"DateTime", + "documentation":"

    The Unix date and time that training of the model ended.

    " + }, + "OutputConfig":{ + "shape":"OutputConfig", + "documentation":"

    The location where training results are saved.

    " + }, + "TrainingDataResult":{ + "shape":"TrainingDataResult", + "documentation":"

    The manifest file that represents the training results.

    " + }, + "TestingDataResult":{ + "shape":"TestingDataResult", + "documentation":"

    The manifest file that represents the testing results.

    " + }, + "EvaluationResult":{ + "shape":"EvaluationResult", + "documentation":"

    The training results. EvaluationResult is only returned if training is successful.

    " + } + }, + "documentation":"

    The description of a version of a model.

    " + }, + "ProjectVersionDescriptions":{ + "type":"list", + "member":{"shape":"ProjectVersionDescription"} + }, + "ProjectVersionStatus":{ + "type":"string", + "enum":[ + "TRAINING_IN_PROGRESS", + "TRAINING_COMPLETED", + "TRAINING_FAILED", + "STARTING", + "RUNNING", + "FAILED", + "STOPPING", + "STOPPED", + "DELETING" + ] + }, + "ProjectVersionsPageSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "ProjectsPageSize":{ + "type":"integer", + "max":100, + "min":1 + }, + "ProvisionedThroughputExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Rekognition.

    ", + "exception":true + }, + "QualityFilter":{ + "type":"string", + "enum":[ + "NONE", + "AUTO", + "LOW", + "MEDIUM", + "HIGH" + ] + }, + "Reason":{ + "type":"string", + "enum":[ + "EXCEEDS_MAX_FACES", + "EXTREME_POSE", + "LOW_BRIGHTNESS", + "LOW_SHARPNESS", + "LOW_CONFIDENCE", + "SMALL_BOUNDING_BOX", + "LOW_FACE_QUALITY" + ] + }, + "Reasons":{ + "type":"list", + "member":{"shape":"Reason"} + }, + "RecognizeCelebritiesRequest":{ + "type":"structure", + "required":["Image"], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + } + } + }, + "RecognizeCelebritiesResponse":{ + "type":"structure", + "members":{ + "CelebrityFaces":{ + "shape":"CelebrityList", + "documentation":"

    Details about each celebrity found in the image. Amazon Rekognition can detect a maximum of 15 celebrities in an image.

    " + }, + "UnrecognizedFaces":{ + "shape":"ComparedFaceList", + "documentation":"

    Details about each unrecognized face in the image.

    " + }, + "OrientationCorrection":{ + "shape":"OrientationCorrection", + "documentation":"

    The orientation of the input image (counterclockwise direction). If your application displays the image, you can use this value to correct the orientation. The bounding box coordinates returned in CelebrityFaces and UnrecognizedFaces represent face locations before the image orientation is corrected.

    If the input image is in .jpeg format, it might contain exchangeable image (Exif) metadata that includes the image's orientation. If so, and the Exif metadata for the input image populates the orientation field, the value of OrientationCorrection is null. The CelebrityFaces and UnrecognizedFaces bounding box coordinates represent face locations after Exif metadata is used to correct the image orientation. Images in .png format don't contain Exif metadata.

    " + } + } + }, + "RegionOfInterest":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    The box representing a region of interest on screen.

    " + } + }, + "documentation":"

    Specifies a location within the frame that Rekognition checks for text. Uses a BoundingBox object to set a region of the screen.

    A word is included in the region if the word is more than half in that region. If there is more than one region, the word will be compared with all regions of the screen. Any word more than half in a region is kept in the results.

    " + }, + "RegionsOfInterest":{ + "type":"list", + "member":{"shape":"RegionOfInterest"}, + "max":10, + "min":0 + }, + "RekognitionUniqueId":{ + "type":"string", + "pattern":"[0-9A-Za-z]*" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A collection with the specified ID already exists.

    ", + "exception":true + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The collection specified in the request cannot be found.

    ", + "exception":true + }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The requested resource isn't ready. For example, this exception occurs when you call DetectCustomLabels with a model version that isn't deployed.

    ", + "exception":true + }, + "RoleArn":{ + "type":"string", + "pattern":"arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "S3Bucket":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[0-9A-Za-z\\.\\-_]*" + }, + "S3KeyPrefix":{ + "type":"string", + "max":1024 + }, + "S3Object":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"S3Bucket", + "documentation":"

    Name of the S3 bucket.

    " + }, + "Name":{ + "shape":"S3ObjectName", + "documentation":"

    S3 object key name.

    " + }, + "Version":{ + "shape":"S3ObjectVersion", + "documentation":"

    If the bucket is versioning enabled, you can specify the object version.

    " + } + }, + "documentation":"

    Provides the S3 bucket name and object name.

    The region for the S3 bucket containing the S3 object must match the region you use for Amazon Rekognition operations.

    For Amazon Rekognition to process an S3 object, the user must have permission to access the S3 object. For more information, see Resource-Based Policies in the Amazon Rekognition Developer Guide.

    " + }, + "S3ObjectName":{ + "type":"string", + "max":1024, + "min":1 + }, + "S3ObjectVersion":{ + "type":"string", + "max":1024, + "min":1 + }, + "SNSTopicArn":{ + "type":"string", + "pattern":"(^arn:aws:sns:.*:\\w{12}:.+$)" + }, + "SearchFacesByImageRequest":{ + "type":"structure", + "required":[ + "CollectionId", + "Image" + ], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID of the collection to search.

    " + }, + "Image":{ + "shape":"Image", + "documentation":"

    The input image as base64-encoded bytes or an S3 object. If you use the AWS CLI to call Amazon Rekognition operations, passing base64-encoded image bytes is not supported.

    If you are using an AWS SDK to call Amazon Rekognition, you might not need to base64-encode image bytes passed using the Bytes field. For more information, see Images in the Amazon Rekognition developer guide.

    " + }, + "MaxFaces":{ + "shape":"MaxFaces", + "documentation":"

    Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

    " + }, + "FaceMatchThreshold":{ + "shape":"Percent", + "documentation":"

    (Optional) Specifies the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

    " + }, + "QualityFilter":{ + "shape":"QualityFilter", + "documentation":"

    A filter that specifies a quality bar for how much filtering is done to identify faces. Filtered faces aren't searched for in the collection. If you specify AUTO, Amazon Rekognition chooses the quality bar. If you specify LOW, MEDIUM, or HIGH, filtering removes all faces that don’t meet the chosen quality bar. The quality bar is based on a variety of common use cases. Low-quality detections can occur for a number of reasons. Some examples are an object that's misidentified as a face, a face that's too blurry, or a face with a pose that's too extreme to use. If you specify NONE, no filtering is performed. The default value is NONE.

    To use quality filtering, the collection you are using must be associated with version 3 of the face model or higher.

    " + } + } + }, + "SearchFacesByImageResponse":{ + "type":"structure", + "members":{ + "SearchedFaceBoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    The bounding box around the face in the input image that Amazon Rekognition used for the search.

    " + }, + "SearchedFaceConfidence":{ + "shape":"Percent", + "documentation":"

    The level of confidence that the searchedFaceBoundingBox, contains a face.

    " + }, + "FaceMatches":{ + "shape":"FaceMatchList", + "documentation":"

    An array of faces that match the input face, along with the confidence in the match.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the face detection model associated with the input collection (CollectionId).

    " + } + } + }, + "SearchFacesRequest":{ + "type":"structure", + "required":[ + "CollectionId", + "FaceId" + ], + "members":{ + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID of the collection the face belongs to.

    " + }, + "FaceId":{ + "shape":"FaceId", + "documentation":"

    ID of a face to find matches for in the collection.

    " + }, + "MaxFaces":{ + "shape":"MaxFaces", + "documentation":"

    Maximum number of faces to return. The operation returns the maximum number of faces with the highest confidence in the match.

    " + }, + "FaceMatchThreshold":{ + "shape":"Percent", + "documentation":"

    Optional value specifying the minimum confidence in the face match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

    " + } + } + }, + "SearchFacesResponse":{ + "type":"structure", + "members":{ + "SearchedFaceId":{ + "shape":"FaceId", + "documentation":"

    ID of the face that was searched for matches in a collection.

    " + }, + "FaceMatches":{ + "shape":"FaceMatchList", + "documentation":"

    An array of faces that matched the input face, along with the confidence in the match.

    " + }, + "FaceModelVersion":{ + "shape":"String", + "documentation":"

    Version number of the face detection model associated with the input collection (CollectionId).

    " + } + } + }, + "Smile":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the face is smiling or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the face is smiling, and the confidence level in the determination.

    " + }, + "StartCelebrityRecognitionRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video in which you want to recognize celebrities. The video must be stored in an Amazon S3 bucket.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartCelebrityRecognition requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the celebrity recognition analysis to.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartCelebrityRecognitionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the celebrity recognition analysis job. Use JobId to identify the job in a subsequent call to GetCelebrityRecognition.

    " + } + } + }, + "StartContentModerationRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video in which you want to detect unsafe content. The video must be stored in an Amazon S3 bucket.

    " + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Specifies the minimum confidence that Amazon Rekognition must have in order to return a moderated content label. Confidence represents how certain Amazon Rekognition is that the moderated content is correctly identified. 0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition doesn't return any moderated content labels with a confidence level lower than this specified value. If you don't specify MinConfidence, GetContentModeration returns labels with confidence values greater than or equal to 50 percent.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartContentModeration requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN that you want Amazon Rekognition Video to publish the completion status of the unsafe content analysis to.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartContentModerationResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the unsafe content analysis job. Use JobId to identify the job in a subsequent call to GetContentModeration.

    " + } + } + }, + "StartFaceDetectionRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video in which you want to detect faces. The video must be stored in an Amazon S3 bucket.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartFaceDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the face detection operation.

    " + }, + "FaceAttributes":{ + "shape":"FaceAttributes", + "documentation":"

    The face attributes you want returned.

    DEFAULT - The following subset of facial attributes are returned: BoundingBox, Confidence, Pose, Quality and Landmarks.

    ALL - All facial attributes are returned.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartFaceDetectionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the face detection job. Use JobId to identify the job in a subsequent call to GetFaceDetection.

    " + } + } + }, + "StartFaceSearchRequest":{ + "type":"structure", + "required":[ + "Video", + "CollectionId" + ], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video you want to search. The video must be stored in an Amazon S3 bucket.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartFaceSearch requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "FaceMatchThreshold":{ + "shape":"Percent", + "documentation":"

    The minimum confidence in the person match to return. For example, don't return any matches where confidence in matches is less than 70%. The default value is 80%.

    " + }, + "CollectionId":{ + "shape":"CollectionId", + "documentation":"

    ID of the collection that contains the faces you want to search for.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The ARN of the Amazon SNS topic to which you want Amazon Rekognition Video to publish the completion status of the search.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartFaceSearchResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the search job. Use JobId to identify the job in a subsequent call to GetFaceSearch.

    " + } + } + }, + "StartLabelDetectionRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video in which you want to detect labels. The video must be stored in an Amazon S3 bucket.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartLabelDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "MinConfidence":{ + "shape":"Percent", + "documentation":"

    Specifies the minimum confidence that Amazon Rekognition Video must have in order to return a detected label. Confidence represents how certain Amazon Rekognition is that a label is correctly identified.0 is the lowest confidence. 100 is the highest confidence. Amazon Rekognition Video doesn't return any labels with a confidence level lower than this specified value.

    If you don't specify MinConfidence, the operation returns labels with confidence values greater than or equal to 50 percent.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the label detection operation to.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartLabelDetectionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the label detection job. Use JobId to identify the job in a subsequent call to GetLabelDetection.

    " + } + } + }, + "StartPersonTrackingRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{ + "shape":"Video", + "documentation":"

    The video in which you want to detect people. The video must be stored in an Amazon S3 bucket.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartPersonTracking requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidently started more than once.

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN you want Amazon Rekognition Video to publish the completion status of the people detection operation to.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier you specify that's returned in the completion notification that's published to your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + } + } + }, + "StartPersonTrackingResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the person detection job. Use JobId to identify the job in a subsequent call to GetPersonTracking.

    " + } + } + }, + "StartProjectVersionRequest":{ + "type":"structure", + "required":[ + "ProjectVersionArn", + "MinInferenceUnits" + ], + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The Amazon Resource Name(ARN) of the model version that you want to start.

    " + }, + "MinInferenceUnits":{ + "shape":"InferenceUnits", + "documentation":"

    The minimum number of inference units to use. A single inference unit represents 1 hour of processing and can support up to 5 Transaction Pers Second (TPS). Use a higher number to increase the TPS throughput of your model. You are charged for the number of inference units that you use.

    " + } + } + }, + "StartProjectVersionResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ProjectVersionStatus", + "documentation":"

    The current running status of the model.

    " + } + } + }, + "StartStreamProcessorRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    The name of the stream processor to start processing.

    " + } + } + }, + "StartStreamProcessorResponse":{ + "type":"structure", + "members":{ + } + }, + "StartTextDetectionFilters":{ + "type":"structure", + "members":{ + "WordFilter":{ + "shape":"DetectionFilter", + "documentation":"

    Filters focusing on qualities of the text, such as confidence or size.

    " + }, + "RegionsOfInterest":{ + "shape":"RegionsOfInterest", + "documentation":"

    Filter focusing on a certain area of the frame. Uses a BoundingBox object to set the region of the screen.

    " + } + }, + "documentation":"

    Set of optional parameters that let you set the criteria text must meet to be included in your response. WordFilter looks at a word's height, width and minimum confidence. RegionOfInterest lets you set a specific region of the screen to look for text in.

    " + }, + "StartTextDetectionRequest":{ + "type":"structure", + "required":["Video"], + "members":{ + "Video":{"shape":"Video"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Idempotent token used to identify the start request. If you use the same token with multiple StartTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentaly started more than once.

    " + }, + "NotificationChannel":{"shape":"NotificationChannel"}, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier returned in the completion status published by your Amazon Simple Notification Service topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.

    " + }, + "Filters":{ + "shape":"StartTextDetectionFilters", + "documentation":"

    Optional parameters that let you set criteria the text must meet to be included in your response.

    " + } + } + }, + "StartTextDetectionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    Identifier for the text detection job. Use JobId to identify the job in a subsequent call to GetTextDetection.

    " + } + } + }, + "StatusMessage":{"type":"string"}, + "StopProjectVersionRequest":{ + "type":"structure", + "required":["ProjectVersionArn"], + "members":{ + "ProjectVersionArn":{ + "shape":"ProjectVersionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model version that you want to delete.

    This operation requires permissions to perform the rekognition:StopProjectVersion action.

    " + } + } + }, + "StopProjectVersionResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ProjectVersionStatus", + "documentation":"

    The current status of the stop operation.

    " + } + } + }, + "StopStreamProcessorRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    The name of a stream processor created by CreateStreamProcessor.

    " + } + } + }, + "StopStreamProcessorResponse":{ + "type":"structure", + "members":{ + } + }, + "StreamProcessor":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"StreamProcessorName", + "documentation":"

    Name of the Amazon Rekognition stream processor.

    " + }, + "Status":{ + "shape":"StreamProcessorStatus", + "documentation":"

    Current status of the Amazon Rekognition stream processor.

    " + } + }, + "documentation":"

    An object that recognizes faces in a streaming video. An Amazon Rekognition stream processor is created by a call to CreateStreamProcessor. The request parameters for CreateStreamProcessor describe the Kinesis video stream source for the streaming video, face recognition parameters, and where to stream the analysis resullts.

    " + }, + "StreamProcessorArn":{ + "type":"string", + "pattern":"(^arn:[a-z\\d-]+:rekognition:[a-z\\d-]+:\\d{12}:streamprocessor\\/.+$)" + }, + "StreamProcessorInput":{ + "type":"structure", + "members":{ + "KinesisVideoStream":{ + "shape":"KinesisVideoStream", + "documentation":"

    The Kinesis video stream input stream for the source streaming video.

    " + } + }, + "documentation":"

    Information about the source streaming video.

    " + }, + "StreamProcessorList":{ + "type":"list", + "member":{"shape":"StreamProcessor"} + }, + "StreamProcessorName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]+" + }, + "StreamProcessorOutput":{ + "type":"structure", + "members":{ + "KinesisDataStream":{ + "shape":"KinesisDataStream", + "documentation":"

    The Amazon Kinesis Data Streams stream to which the Amazon Rekognition stream processor streams the analysis results.

    " + } + }, + "documentation":"

    Information about the Amazon Kinesis Data Streams stream to which a Amazon Rekognition Video stream processor streams the results of a video analysis. For more information, see CreateStreamProcessor in the Amazon Rekognition Developer Guide.

    " + }, + "StreamProcessorSettings":{ + "type":"structure", + "members":{ + "FaceSearch":{ + "shape":"FaceSearchSettings", + "documentation":"

    Face search settings to use on a streaming video.

    " + } + }, + "documentation":"

    Input parameters used to recognize faces in a streaming video analyzed by a Amazon Rekognition stream processor.

    " + }, + "StreamProcessorStatus":{ + "type":"string", + "enum":[ + "STOPPED", + "STARTING", + "RUNNING", + "FAILED", + "STOPPING" + ] + }, + "String":{"type":"string"}, + "Summary":{ + "type":"structure", + "members":{ + "S3Object":{"shape":"S3Object"} + }, + "documentation":"

    The S3 bucket that contains the training summary. The training summary includes aggregated evaluation metrics for the entire testing dataset and metrics for each individual label.

    You get the training summary S3 bucket location by calling DescribeProjectVersions.

    " + }, + "Sunglasses":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Boolean", + "documentation":"

    Boolean value that indicates whether the face is wearing sunglasses or not.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    Level of confidence in the determination.

    " + } + }, + "documentation":"

    Indicates whether or not the face is wearing sunglasses, and the confidence level in the determination.

    " + }, + "TestingData":{ + "type":"structure", + "members":{ + "Assets":{ + "shape":"Assets", + "documentation":"

    The assets used for testing.

    " + }, + "AutoCreate":{ + "shape":"Boolean", + "documentation":"

    If specified, Amazon Rekognition Custom Labels creates a testing dataset with an 80/20 split of the training dataset.

    " + } + }, + "documentation":"

    The dataset used for testing. Optionally, if AutoCreate is set, Amazon Rekognition Custom Labels creates a testing dataset using an 80/20 split of the training dataset.

    " + }, + "TestingDataResult":{ + "type":"structure", + "members":{ + "Input":{ + "shape":"TestingData", + "documentation":"

    The testing dataset that was supplied for training.

    " + }, + "Output":{ + "shape":"TestingData", + "documentation":"

    The subset of the dataset that was actually tested. Some images (assets) might not be tested due to file formatting and other issues.

    " + } + }, + "documentation":"

    A Sagemaker Groundtruth format manifest file representing the dataset used for testing.

    " + }, + "TextDetection":{ + "type":"structure", + "members":{ + "DetectedText":{ + "shape":"String", + "documentation":"

    The word or line of text recognized by Amazon Rekognition.

    " + }, + "Type":{ + "shape":"TextTypes", + "documentation":"

    The type of text that was detected.

    " + }, + "Id":{ + "shape":"UInteger", + "documentation":"

    The identifier for the detected text. The identifier is only unique for a single call to DetectText.

    " + }, + "ParentId":{ + "shape":"UInteger", + "documentation":"

    The Parent identifier for the detected text identified by the value of ID. If the type of detected text is LINE, the value of ParentId is Null.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of the geometry points around the detected text.

    " + }, + "Geometry":{ + "shape":"Geometry", + "documentation":"

    The location of the detected text on the image. Includes an axis aligned coarse bounding box surrounding the text and a finer grain polygon for more accurate spatial information.

    " + } + }, + "documentation":"

    Information about a word or line of text detected by DetectText.

    The DetectedText field contains the text that Amazon Rekognition detected in the image.

    Every word and line has an identifier (Id). Each word belongs to a line and has a parent identifier (ParentId) that identifies the line of text in which the word appears. The word Id is also an index for the word within a line of words.

    For more information, see Detecting Text in the Amazon Rekognition Developer Guide.

    " + }, + "TextDetectionList":{ + "type":"list", + "member":{"shape":"TextDetection"} + }, + "TextDetectionResult":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time, in milliseconds from the start of the video, that the text was detected.

    " + }, + "TextDetection":{ + "shape":"TextDetection", + "documentation":"

    Details about text detected in a video.

    " + } + }, + "documentation":"

    Information about text detected in a video. Incudes the detected text, the time in milliseconds from the start of the video that the text was detected, and where it was detected on the screen.

    " + }, + "TextDetectionResults":{ + "type":"list", + "member":{"shape":"TextDetectionResult"} + }, + "TextTypes":{ + "type":"string", + "enum":[ + "LINE", + "WORD" + ] + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Rekognition is temporarily unable to process the request. Try your call again.

    ", + "exception":true, + "fault":true + }, + "Timestamp":{"type":"long"}, + "TrainingData":{ + "type":"structure", + "members":{ + "Assets":{ + "shape":"Assets", + "documentation":"

    A Sagemaker GroundTruth manifest file that contains the training images (assets).

    " + } + }, + "documentation":"

    The dataset used for training.

    " + }, + "TrainingDataResult":{ + "type":"structure", + "members":{ + "Input":{ + "shape":"TrainingData", + "documentation":"

    The training assets that you supplied for training.

    " + }, + "Output":{ + "shape":"TrainingData", + "documentation":"

    The images (assets) that were actually trained by Amazon Rekognition Custom Labels.

    " + } + }, + "documentation":"

    A Sagemaker Groundtruth format manifest file that represents the dataset used for training.

    " + }, + "UInteger":{ + "type":"integer", + "min":0 + }, + "ULong":{ + "type":"long", + "min":0 + }, + "UnindexedFace":{ + "type":"structure", + "members":{ + "Reasons":{ + "shape":"Reasons", + "documentation":"

    An array of reasons that specify why a face wasn't indexed.

    • EXTREME_POSE - The face is at a pose that can't be detected. For example, the head is turned too far away from the camera.

    • EXCEEDS_MAX_FACES - The number of faces detected is already higher than that specified by the MaxFaces input parameter for IndexFaces.

    • LOW_BRIGHTNESS - The image is too dark.

    • LOW_SHARPNESS - The image is too blurry.

    • LOW_CONFIDENCE - The face was detected with a low confidence.

    • SMALL_BOUNDING_BOX - The bounding box around the face is too small.

    " + }, + "FaceDetail":{ + "shape":"FaceDetail", + "documentation":"

    The structure that contains attributes of a face that IndexFacesdetected, but didn't index.

    " + } + }, + "documentation":"

    A face that IndexFaces detected, but didn't index. Use the Reasons response attribute to determine why a face wasn't indexed.

    " + }, + "UnindexedFaces":{ + "type":"list", + "member":{"shape":"UnindexedFace"} + }, + "Url":{"type":"string"}, + "Urls":{ + "type":"list", + "member":{"shape":"Url"} + }, + "VersionName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]+" + }, + "VersionNames":{ + "type":"list", + "member":{"shape":"VersionName"}, + "max":10, + "min":1 + }, + "Video":{ + "type":"structure", + "members":{ + "S3Object":{ + "shape":"S3Object", + "documentation":"

    The Amazon S3 bucket name and file name for the video.

    " + } + }, + "documentation":"

    Video file stored in an Amazon S3 bucket. Amazon Rekognition video start operations such as StartLabelDetection use Video to specify a video for analysis. The supported file formats are .mp4, .mov and .avi.

    " + }, + "VideoJobStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ] + }, + "VideoMetadata":{ + "type":"structure", + "members":{ + "Codec":{ + "shape":"String", + "documentation":"

    Type of compression used in the analyzed video.

    " + }, + "DurationMillis":{ + "shape":"ULong", + "documentation":"

    Length of the video in milliseconds.

    " + }, + "Format":{ + "shape":"String", + "documentation":"

    Format of the analyzed video. Possible values are MP4, MOV and AVI.

    " + }, + "FrameRate":{ + "shape":"Float", + "documentation":"

    Number of frames per second in the video.

    " + }, + "FrameHeight":{ + "shape":"ULong", + "documentation":"

    Vertical pixel dimension of the video.

    " + }, + "FrameWidth":{ + "shape":"ULong", + "documentation":"

    Horizontal pixel dimension of the video.

    " + } + }, + "documentation":"

    Information about a video that Amazon Rekognition analyzed. Videometadata is returned in every page of paginated responses from a Amazon Rekognition video operation.

    " + }, + "VideoTooLargeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The file size or duration of the supplied media is too large. The maximum file size is 10GB. The maximum duration is 6 hours.

    ", + "exception":true + } + }, + "documentation":"

    This is the Amazon Rekognition API reference.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/waiters-2.json python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/waiters-2.json --- python-botocore-1.4.70/botocore/data/rekognition/2016-06-27/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/rekognition/2016-06-27/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,45 @@ +{ + "version": 2, + "waiters": { + "ProjectVersionTrainingCompleted": { + "description": "Wait until the ProjectVersion training completes.", + "operation": "DescribeProjectVersions", + "delay": 120, + "maxAttempts": 360, + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "ProjectVersionDescriptions[].Status", + "expected": "TRAINING_COMPLETED" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "ProjectVersionDescriptions[].Status", + "expected": "TRAINING_FAILED" + } + ] + }, + "ProjectVersionRunning": { + "description": "Wait until the ProjectVersion is running.", + "delay": 30, + "maxAttempts": 40, + "operation": "DescribeProjectVersions", + "acceptors": [ + { + "state": "success", + "matcher": "pathAll", + "argument": "ProjectVersionDescriptions[].Status", + "expected": "RUNNING" + }, + { + "state": "failure", + "matcher": "pathAny", + "argument": "ProjectVersionDescriptions[].Status", + "expected": "FAILED" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/examples-1.json python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/examples-1.json --- python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListGroups": { + "result_key": ["GroupIdentifiers", "Groups"], + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "SearchResources": { + "result_key": "ResourceIdentifiers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListGroupResources": { + "result_key": "ResourceIdentifiers", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/service-2.json python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/service-2.json --- python-botocore-1.4.70/botocore/data/resource-groups/2017-11-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resource-groups/2017-11-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,941 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-11-27", + "endpointPrefix":"resource-groups", + "protocol":"rest-json", + "serviceAbbreviation":"Resource Groups", + "serviceFullName":"AWS Resource Groups", + "serviceId":"Resource Groups", + "signatureVersion":"v4", + "signingName":"resource-groups", + "uid":"resource-groups-2017-11-27" + }, + "operations":{ + "CreateGroup":{ + "name":"CreateGroup", + "http":{ + "method":"POST", + "requestUri":"/groups" + }, + "input":{"shape":"CreateGroupInput"}, + "output":{"shape":"CreateGroupOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Creates a group with a specified name, description, and resource query.

    " + }, + "DeleteGroup":{ + "name":"DeleteGroup", + "http":{ + "method":"DELETE", + "requestUri":"/groups/{GroupName}" + }, + "input":{"shape":"DeleteGroupInput"}, + "output":{"shape":"DeleteGroupOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Deletes a specified resource group. Deleting a resource group does not delete resources that are members of the group; it only deletes the group structure.

    " + }, + "GetGroup":{ + "name":"GetGroup", + "http":{ + "method":"GET", + "requestUri":"/groups/{GroupName}" + }, + "input":{"shape":"GetGroupInput"}, + "output":{"shape":"GetGroupOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns information about a specified resource group.

    " + }, + "GetGroupQuery":{ + "name":"GetGroupQuery", + "http":{ + "method":"GET", + "requestUri":"/groups/{GroupName}/query" + }, + "input":{"shape":"GetGroupQueryInput"}, + "output":{"shape":"GetGroupQueryOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns the resource query associated with the specified resource group.

    " + }, + "GetTags":{ + "name":"GetTags", + "http":{ + "method":"GET", + "requestUri":"/resources/{Arn}/tags" + }, + "input":{"shape":"GetTagsInput"}, + "output":{"shape":"GetTagsOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns a list of tags that are associated with a resource group, specified by an ARN.

    " + }, + "ListGroupResources":{ + "name":"ListGroupResources", + "http":{ + "method":"POST", + "requestUri":"/groups/{GroupName}/resource-identifiers-list" + }, + "input":{"shape":"ListGroupResourcesInput"}, + "output":{"shape":"ListGroupResourcesOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns a list of ARNs of resources that are members of a specified resource group.

    " + }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"POST", + "requestUri":"/groups-list" + }, + "input":{"shape":"ListGroupsInput"}, + "output":{"shape":"ListGroupsOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns a list of existing resource groups in your account.

    " + }, + "SearchResources":{ + "name":"SearchResources", + "http":{ + "method":"POST", + "requestUri":"/resources/search" + }, + "input":{"shape":"SearchResourcesInput"}, + "output":{"shape":"SearchResourcesOutput"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Returns a list of AWS resource identifiers that matches a specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation.

    " + }, + "Tag":{ + "name":"Tag", + "http":{ + "method":"PUT", + "requestUri":"/resources/{Arn}/tags" + }, + "input":{"shape":"TagInput"}, + "output":{"shape":"TagOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Adds tags to a resource group with the specified ARN. Existing tags on a resource group are not changed if they are not specified in the request parameters.

    " + }, + "Untag":{ + "name":"Untag", + "http":{ + "method":"PATCH", + "requestUri":"/resources/{Arn}/tags" + }, + "input":{"shape":"UntagInput"}, + "output":{"shape":"UntagOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Deletes specified tags from a specified resource.

    " + }, + "UpdateGroup":{ + "name":"UpdateGroup", + "http":{ + "method":"PUT", + "requestUri":"/groups/{GroupName}" + }, + "input":{"shape":"UpdateGroupInput"}, + "output":{"shape":"UpdateGroupOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Updates an existing group with a new or changed description. You cannot update the name of a resource group.

    " + }, + "UpdateGroupQuery":{ + "name":"UpdateGroupQuery", + "http":{ + "method":"PUT", + "requestUri":"/groups/{GroupName}/query" + }, + "input":{"shape":"UpdateGroupQueryInput"}, + "output":{"shape":"UpdateGroupQueryOutput"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ForbiddenException"}, + {"shape":"NotFoundException"}, + {"shape":"MethodNotAllowedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerErrorException"} + ], + "documentation":"

    Updates the resource query of a group.

    " + } + }, + "shapes":{ + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request does not comply with validation rules that are defined for the request parameters.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "CreateGroupInput":{ + "type":"structure", + "required":[ + "Name", + "ResourceQuery" + ], + "members":{ + "Name":{ + "shape":"GroupName", + "documentation":"

    The name of the group, which is the identifier of the group in other operations. A resource group name cannot be updated after it is created. A resource group name can have a maximum of 128 characters, including letters, numbers, hyphens, dots, and underscores. The name cannot start with AWS or aws; these are reserved. A resource group name must be unique within your account.

    " + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces.

    " + }, + "ResourceQuery":{ + "shape":"ResourceQuery", + "documentation":"

    The resource query that determines which AWS resources are members of this group.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags to add to the group. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

    " + } + } + }, + "CreateGroupOutput":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    A full description of the resource group after it is created.

    " + }, + "ResourceQuery":{ + "shape":"ResourceQuery", + "documentation":"

    The resource query associated with the group.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags associated with the group.

    " + } + } + }, + "DeleteGroupInput":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group to delete.

    ", + "location":"uri", + "locationName":"GroupName" + } + } + }, + "DeleteGroupOutput":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    A full description of the deleted resource group.

    " + } + } + }, + "ErrorMessage":{ + "type":"string", + "max":1024, + "min":1 + }, + "ForbiddenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The caller is not authorized to make the request.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "GetGroupInput":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group.

    ", + "location":"uri", + "locationName":"GroupName" + } + } + }, + "GetGroupOutput":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    A full description of the resource group.

    " + } + } + }, + "GetGroupQueryInput":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group.

    ", + "location":"uri", + "locationName":"GroupName" + } + } + }, + "GetGroupQueryOutput":{ + "type":"structure", + "members":{ + "GroupQuery":{ + "shape":"GroupQuery", + "documentation":"

    The resource query associated with the specified group.

    " + } + } + }, + "GetTagsInput":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the resource group for which you want a list of tags. The resource must exist within the account you are using.

    ", + "location":"uri", + "locationName":"Arn" + } + } + }, + "GetTagsOutput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the tagged resource group.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags associated with the specified resource group.

    " + } + } + }, + "Group":{ + "type":"structure", + "required":[ + "GroupArn", + "Name" + ], + "members":{ + "GroupArn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of a resource group.

    " + }, + "Name":{ + "shape":"GroupName", + "documentation":"

    The name of a resource group.

    " + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    The description of the resource group.

    " + } + }, + "documentation":"

    A resource group.

    " + }, + "GroupArn":{ + "type":"string", + "max":1600, + "min":12, + "pattern":"arn:aws(-[a-z]+)*:resource-groups:[a-z]{2}-[a-z]+-\\d{1}:[0-9]{12}:group/[a-zA-Z0-9_\\.-]{1,128}" + }, + "GroupDescription":{ + "type":"string", + "max":512, + "pattern":"[\\sa-zA-Z0-9_\\.-]*" + }, + "GroupFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"GroupFilterName", + "documentation":"

    The name of the filter. Filter names are case-sensitive.

    " + }, + "Values":{ + "shape":"GroupFilterValues", + "documentation":"

    One or more filter values. Allowed filter values vary by group filter name, and are case-sensitive.

    " + } + }, + "documentation":"

    A filter name and value pair that is used to obtain more specific results from a list of groups.

    " + }, + "GroupFilterList":{ + "type":"list", + "member":{"shape":"GroupFilter"} + }, + "GroupFilterName":{ + "type":"string", + "enum":["resource-type"] + }, + "GroupFilterValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"AWS::(AllSupported|[a-zA-Z0-9]+::[a-zA-Z0-9]+)" + }, + "GroupFilterValues":{ + "type":"list", + "member":{"shape":"GroupFilterValue"}, + "max":5, + "min":1 + }, + "GroupIdentifier":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of a resource group.

    " + }, + "GroupArn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of a resource group.

    " + } + }, + "documentation":"

    The ARN and group name of a group.

    " + }, + "GroupIdentifierList":{ + "type":"list", + "member":{"shape":"GroupIdentifier"} + }, + "GroupList":{ + "type":"list", + "member":{"shape":"Group"} + }, + "GroupName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_\\.-]+" + }, + "GroupQuery":{ + "type":"structure", + "required":[ + "GroupName", + "ResourceQuery" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of a resource group that is associated with a specific resource query.

    " + }, + "ResourceQuery":{ + "shape":"ResourceQuery", + "documentation":"

    The resource query which determines which AWS resources are members of the associated resource group.

    " + } + }, + "documentation":"

    The underlying resource query of a resource group. Resources that match query results are part of the group.

    " + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An internal error occurred while processing the request.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ListGroupResourcesInput":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "Filters":{ + "shape":"ResourceFilterList", + "documentation":"

    Filters, formatted as ResourceFilter objects, that you want to apply to a ListGroupResources operation.

    • resource-type - Filter resources by their type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of group member ARNs that are returned in a single call by ListGroupResources, in paginated output. By default, this number is 50.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value that is returned in a paginated ListGroupResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListGroupResourcesOutput":{ + "type":"structure", + "members":{ + "ResourceIdentifiers":{ + "shape":"ResourceIdentifierList", + "documentation":"

    The ARNs and resource types of resources that are members of the group that you specified.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value to include in a subsequent ListGroupResources request, to get more results.

    " + }, + "QueryErrors":{ + "shape":"QueryErrorList", + "documentation":"

    A list of QueryError objects. Each error is an object that contains ErrorCode and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE and CLOUDFORMATION_STACK_NOT_EXISTING.

    " + } + } + }, + "ListGroupsInput":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"GroupFilterList", + "documentation":"

    Filters, formatted as GroupFilter objects, that you want to apply to a ListGroups operation.

    • resource-type - Filter groups by resource type. Specify up to five resource types in the format AWS::ServiceCode::ResourceType. For example, AWS::EC2::Instance, or AWS::S3::Bucket.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of resource group results that are returned by ListGroups in paginated output. By default, this number is 50.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value that is returned in a paginated ListGroups request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListGroupsOutput":{ + "type":"structure", + "members":{ + "GroupIdentifiers":{ + "shape":"GroupIdentifierList", + "documentation":"

    A list of GroupIdentifier objects. Each identifier is an object that contains both the GroupName and the GroupArn.

    " + }, + "Groups":{ + "shape":"GroupList", + "documentation":"

    A list of resource groups.

    ", + "deprecated":true, + "deprecatedMessage":"This field is deprecated, use GroupIdentifiers instead." + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value to include in a subsequent ListGroups request, to get more results.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "MethodNotAllowedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request uses an HTTP method which is not allowed for the specified resource.

    ", + "error":{"httpStatusCode":405}, + "exception":true + }, + "NextToken":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"^[a-zA-Z0-9+/]*={0,2}$" + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    One or more resources specified in the request do not exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Query":{ + "type":"string", + "max":4096, + "pattern":"[\\s\\S]*" + }, + "QueryError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"QueryErrorCode", + "documentation":"

    Possible values are CLOUDFORMATION_STACK_INACTIVE and CLOUDFORMATION_STACK_NOT_EXISTING.

    " + }, + "Message":{ + "shape":"QueryErrorMessage", + "documentation":"

    A message that explains the ErrorCode value. Messages might state that the specified CloudFormation stack does not exist (or no longer exists). For CLOUDFORMATION_STACK_INACTIVE, the message typically states that the CloudFormation stack has a status that is not (or no longer) active, such as CREATE_FAILED.

    " + } + }, + "documentation":"

    A two-part error structure that can occur in ListGroupResources or SearchResources operations on CloudFormation stack-based queries. The error occurs if the CloudFormation stack on which the query is based either does not exist, or has a status that renders the stack inactive. A QueryError occurrence does not necessarily mean that AWS Resource Groups could not complete the operation, but the resulting group might have no member resources.

    " + }, + "QueryErrorCode":{ + "type":"string", + "enum":[ + "CLOUDFORMATION_STACK_INACTIVE", + "CLOUDFORMATION_STACK_NOT_EXISTING" + ] + }, + "QueryErrorList":{ + "type":"list", + "member":{"shape":"QueryError"} + }, + "QueryErrorMessage":{"type":"string"}, + "QueryType":{ + "type":"string", + "enum":[ + "TAG_FILTERS_1_0", + "CLOUDFORMATION_STACK_1_0" + ], + "max":128, + "min":1, + "pattern":"^\\w+$" + }, + "ResourceArn":{ + "type":"string", + "pattern":"arn:aws(-[a-z]+)*:[a-z0-9\\-]*:([a-z]{2}-[a-z]+-\\d{1})?:([0-9]{12})?:.+" + }, + "ResourceFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"ResourceFilterName", + "documentation":"

    The name of the filter. Filter names are case-sensitive.

    " + }, + "Values":{ + "shape":"ResourceFilterValues", + "documentation":"

    One or more filter values. Allowed filter values vary by resource filter name, and are case-sensitive.

    " + } + }, + "documentation":"

    A filter name and value pair that is used to obtain more specific results from a list of resources.

    " + }, + "ResourceFilterList":{ + "type":"list", + "member":{"shape":"ResourceFilter"} + }, + "ResourceFilterName":{ + "type":"string", + "enum":["resource-type"] + }, + "ResourceFilterValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"AWS::[a-zA-Z0-9]+::[a-zA-Z0-9]+" + }, + "ResourceFilterValues":{ + "type":"list", + "member":{"shape":"ResourceFilterValue"}, + "max":5, + "min":1 + }, + "ResourceIdentifier":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN of a resource.

    " + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The resource type of a resource, such as AWS::EC2::Instance.

    " + } + }, + "documentation":"

    The ARN of a resource, and its resource type.

    " + }, + "ResourceIdentifierList":{ + "type":"list", + "member":{"shape":"ResourceIdentifier"} + }, + "ResourceQuery":{ + "type":"structure", + "required":[ + "Type", + "Query" + ], + "members":{ + "Type":{ + "shape":"QueryType", + "documentation":"

    The type of the query. The valid values in this release are TAG_FILTERS_1_0 and CLOUDFORMATION_STACK_1_0.

    TAG_FILTERS_1_0: A JSON syntax that lets you specify a collection of simple tag filters for resource types and tags, as supported by the AWS Tagging API GetResources operation. If you specify more than one tag key, only resources that match all tag keys, and at least one value of each specified tag key, are returned in your query. If you specify more than one value for a tag key, a resource matches the filter if it has a tag key value that matches any of the specified values.

    For example, consider the following sample query for resources that have two tags, Stage and Version, with two values each. ([{\"Key\":\"Stage\",\"Values\":[\"Test\",\"Deploy\"]},{\"Key\":\"Version\",\"Values\":[\"1\",\"2\"]}]) The results of this query might include the following.

    • An EC2 instance that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Deploy\"}, and {\"Key\":\"Version\",\"Value\":\"2\"}

    • An S3 bucket that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Test\"}, and {\"Key\":\"Version\",\"Value\":\"1\"}

    The query would not return the following results, however. The following EC2 instance does not have all tag keys specified in the filter, so it is rejected. The RDS database has all of the tag keys, but no values that match at least one of the specified tag key values in the filter.

    • An EC2 instance that has only the following tag: {\"Key\":\"Stage\",\"Value\":\"Deploy\"}.

    • An RDS database that has the following two tags: {\"Key\":\"Stage\",\"Value\":\"Archived\"}, and {\"Key\":\"Version\",\"Value\":\"4\"}

    CLOUDFORMATION_STACK_1_0: A JSON syntax that lets you specify a CloudFormation stack ARN.

    " + }, + "Query":{ + "shape":"Query", + "documentation":"

    The query that defines a group or a search.

    " + } + }, + "documentation":"

    The query that is used to define a resource group or a search for resources.

    " + }, + "ResourceType":{ + "type":"string", + "pattern":"AWS::[a-zA-Z0-9]+::\\w+" + }, + "SearchResourcesInput":{ + "type":"structure", + "required":["ResourceQuery"], + "members":{ + "ResourceQuery":{ + "shape":"ResourceQuery", + "documentation":"

    The search query, using the same formats that are supported for resource group definition.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of group member ARNs returned by SearchResources in paginated output. By default, this number is 50.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value that is returned in a paginated SearchResources request. To get the next page of results, run the call again, add the NextToken parameter, and specify the NextToken value.

    " + } + } + }, + "SearchResourcesOutput":{ + "type":"structure", + "members":{ + "ResourceIdentifiers":{ + "shape":"ResourceIdentifierList", + "documentation":"

    The ARNs and resource types of resources that are members of the group that you specified.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The NextToken value to include in a subsequent SearchResources request, to get more results.

    " + }, + "QueryErrors":{ + "shape":"QueryErrorList", + "documentation":"

    A list of QueryError objects. Each error is an object that contains ErrorCode and Message structures. Possible values for ErrorCode are CLOUDFORMATION_STACK_INACTIVE and CLOUDFORMATION_STACK_NOT_EXISTING.

    " + } + } + }, + "TagInput":{ + "type":"structure", + "required":[ + "Arn", + "Tags" + ], + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the resource to which to add tags.

    ", + "location":"uri", + "locationName":"Arn" + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags to add to the specified resource. A tag is a string-to-string map of key-value pairs. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

    " + } + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagOutput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the tagged resource.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags that have been added to the specified resource.

    " + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The caller has exceeded throttling limits.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request has not been applied because it lacks valid authentication credentials for the target resource.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, + "UntagInput":{ + "type":"structure", + "required":[ + "Arn", + "Keys" + ], + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the resource from which to remove tags.

    ", + "location":"uri", + "locationName":"Arn" + }, + "Keys":{ + "shape":"TagKeyList", + "documentation":"

    The keys of the tags to be removed.

    " + } + } + }, + "UntagOutput":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"GroupArn", + "documentation":"

    The ARN of the resource from which tags have been removed.

    " + }, + "Keys":{ + "shape":"TagKeyList", + "documentation":"

    The keys of tags that have been removed.

    " + } + } + }, + "UpdateGroupInput":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group for which you want to update its description.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "Description":{ + "shape":"GroupDescription", + "documentation":"

    The description of the resource group. Descriptions can have a maximum of 511 characters, including letters, numbers, hyphens, underscores, punctuation, and spaces.

    " + } + } + }, + "UpdateGroupOutput":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The full description of the resource group after it has been updated.

    " + } + } + }, + "UpdateGroupQueryInput":{ + "type":"structure", + "required":[ + "GroupName", + "ResourceQuery" + ], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of the resource group for which you want to edit the query.

    ", + "location":"uri", + "locationName":"GroupName" + }, + "ResourceQuery":{ + "shape":"ResourceQuery", + "documentation":"

    The resource query that determines which AWS resources are members of the resource group.

    " + } + } + }, + "UpdateGroupQueryOutput":{ + "type":"structure", + "members":{ + "GroupQuery":{ + "shape":"GroupQuery", + "documentation":"

    The resource query associated with the resource group after the update.

    " + } + } + } + }, + "documentation":"AWS Resource Groups

    AWS Resource Groups lets you organize AWS resources such as Amazon EC2 instances, Amazon Relational Database Service databases, and Amazon S3 buckets into groups using criteria that you define as tags. A resource group is a collection of resources that match the resource types specified in a query, and share one or more tags or portions of tags. You can create a group of resources based on their roles in your cloud infrastructure, lifecycle stages, regions, application layers, or virtually any criteria. Resource groups enable you to automate management tasks, such as those in AWS Systems Manager Automation documents, on tag-related resources in AWS Systems Manager. Groups of tagged resources also let you quickly view a custom console in AWS Systems Manager that shows AWS Config compliance and other monitoring data about member resources.

    To create a resource group, build a resource query, and specify tags that identify the criteria that members of the group have in common. Tags are key-value pairs.

    For more information about Resource Groups, see the AWS Resource Groups User Guide.

    AWS Resource Groups uses a REST-compliant API that you can use to perform the following types of operations.

    • Create, Read, Update, and Delete (CRUD) operations on resource groups and resource query entities

    • Applying, editing, and removing tags from resource groups

    • Resolving resource group member ARNs so they can be returned as search results

    • Getting data about resources that are members of a group

    • Searching AWS resources based on a resource query

    " +} diff -Nru python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/examples-1.json python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/examples-1.json --- python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,26 @@ +{ + "pagination": { + "GetResources": { + "input_token": "PaginationToken", + "limit_key": "ResourcesPerPage", + "output_token": "PaginationToken", + "result_key": "ResourceTagMappingList" + }, + "GetTagKeys": { + "input_token": "PaginationToken", + "output_token": "PaginationToken", + "result_key": "TagKeys" + }, + "GetTagValues": { + "input_token": "PaginationToken", + "output_token": "PaginationToken", + "result_key": "TagValues" + }, + "GetComplianceSummary": { + "input_token": "PaginationToken", + "limit_key": "MaxResults", + "output_token": "PaginationToken", + "result_key": "SummaryList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json --- python-botocore-1.4.70/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,715 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-01-26", + "endpointPrefix":"tagging", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Resource Groups Tagging API", + "serviceId":"Resource Groups Tagging API", + "signatureVersion":"v4", + "targetPrefix":"ResourceGroupsTaggingAPI_20170126", + "uid":"resourcegroupstaggingapi-2017-01-26" + }, + "operations":{ + "DescribeReportCreation":{ + "name":"DescribeReportCreation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeReportCreationInput"}, + "output":{"shape":"DescribeReportCreationOutput"}, + "errors":[ + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Describes the status of the StartReportCreation operation.

    You can call this operation only from the organization's master account and from the us-east-1 Region.

    " + }, + "GetComplianceSummary":{ + "name":"GetComplianceSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetComplianceSummaryInput"}, + "output":{"shape":"GetComplianceSummaryOutput"}, + "errors":[ + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Returns a table that shows counts of resources that are noncompliant with their tag policies.

    For more information on tag policies, see Tag Policies in the AWS Organizations User Guide.

    You can call this operation only from the organization's master account and from the us-east-1 Region.

    " + }, + "GetResources":{ + "name":"GetResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcesInput"}, + "output":{"shape":"GetResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

    Returns all the tagged or previously tagged resources that are located in the specified Region for the AWS account.

    Depending on what information you want returned, you can also specify the following:

    • Filters that specify what tags and resource types you want returned. The response includes all tags that are associated with the requested resources.

    • Information about compliance with the account's effective tag policy. For more information on tag policies, see Tag Policies in the AWS Organizations User Guide.

    You can check the PaginationToken response parameter to determine if a query is complete. Queries occasionally return fewer results on a page than allowed. The PaginationToken response parameter value is null only when there are no more results to display.

    " + }, + "GetTagKeys":{ + "name":"GetTagKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagKeysInput"}, + "output":{"shape":"GetTagKeysOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

    Returns all tag keys in the specified Region for the AWS account.

    " + }, + "GetTagValues":{ + "name":"GetTagValues", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTagValuesInput"}, + "output":{"shape":"GetTagValuesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"}, + {"shape":"PaginationTokenExpiredException"} + ], + "documentation":"

    Returns all tag values for the specified key in the specified Region for the AWS account.

    " + }, + "StartReportCreation":{ + "name":"StartReportCreation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartReportCreationInput"}, + "output":{"shape":"StartReportCreationOutput"}, + "errors":[ + {"shape":"ConcurrentModificationException"}, + {"shape":"ConstraintViolationException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Generates a report that lists all tagged resources in accounts across your organization and tells whether each resource is compliant with the effective tag policy. Compliance data is refreshed daily.

    The generated report is saved to the following location:

    s3://example-bucket/AwsTagPolicies/o-exampleorgid/YYYY-MM-ddTHH:mm:ssZ/report.csv

    You can call this operation only from the organization's master account and from the us-east-1 Region.

    " + }, + "TagResources":{ + "name":"TagResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourcesInput"}, + "output":{"shape":"TagResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    Applies one or more tags to the specified resources. Note the following:

    • Not all resources can have tags. For a list of services that support tagging, see this list.

    • Each resource can have up to 50 tags. For other limits, see Tag Naming and Usage Conventions in the AWS General Reference.

    • You can only tag resources that are located in the specified Region for the AWS account.

    • To add tags to a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for adding tags. For more information, see this list.

    " + }, + "UntagResources":{ + "name":"UntagResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourcesInput"}, + "output":{"shape":"UntagResourcesOutput"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottledException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    Removes the specified tags from the specified resources. When you specify a tag key, the action removes both that key and its associated value. The operation succeeds even if you attempt to remove tags from a resource that were already removed. Note the following:

    • To remove tags from a resource, you need the necessary permissions for the service that the resource belongs to as well as permissions for removing tags. For more information, see this list.

    • You can only tag resources that are located in the specified Region for the AWS account.

    " + } + }, + "shapes":{ + "AmazonResourceType":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\s\\S]*" + }, + "ComplianceDetails":{ + "type":"structure", + "members":{ + "NoncompliantKeys":{ + "shape":"TagKeyList", + "documentation":"

    These tag keys on the resource are noncompliant with the effective tag policy.

    " + }, + "KeysWithNoncompliantValues":{ + "shape":"TagKeyList", + "documentation":"

    These are keys defined in the effective policy that are on the resource with either incorrect case treatment or noncompliant values.

    " + }, + "ComplianceStatus":{ + "shape":"ComplianceStatus", + "documentation":"

    Whether a resource is compliant with the effective tag policy.

    " + } + }, + "documentation":"

    Information that shows whether a resource is compliant with the effective tag policy, including details on any noncompliant tag keys.

    " + }, + "ComplianceStatus":{"type":"boolean"}, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The target of the operation is currently being modified by a different request. Try again later.

    ", + "exception":true + }, + "ConstraintViolationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request was denied because performing this operation violates a constraint.

    Some of the reasons in the following list might not apply to this specific operation.

    • You must meet the prerequisites for using tag policies. For information, see Prerequisites and Permissions for Using Tag Policies in the AWS Organizations User Guide.

    • You must enable the tag policies service principal (tagpolicies.tag.amazonaws.com) to integrate with AWS Organizations For information, see EnableAWSServiceAccess.

    • You must have a tag policy attached to the organization root, an OU, or an account.

    ", + "exception":true + }, + "DescribeReportCreationInput":{ + "type":"structure", + "members":{ + } + }, + "DescribeReportCreationOutput":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"Status", + "documentation":"

    Reports the status of the operation.

    The operation status can be one of the following:

    • RUNNING - Report creation is in progress.

    • SUCCEEDED - Report creation is complete. You can open the report from the Amazon S3 bucket that you specified when you ran StartReportCreation.

    • FAILED - Report creation timed out or the Amazon S3 bucket is not accessible.

    • NO REPORT - No report was generated in the last 90 days.

    " + }, + "S3Location":{ + "shape":"S3Location", + "documentation":"

    The path to the Amazon S3 bucket where the report was stored on creation.

    " + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

    Details of the common errors that all operations return.

    " + } + } + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "InternalServiceException", + "InvalidParameterException" + ] + }, + "ErrorMessage":{"type":"string"}, + "ExceptionMessage":{ + "type":"string", + "max":2048, + "min":0 + }, + "ExcludeCompliantResources":{"type":"boolean"}, + "FailedResourcesMap":{ + "type":"map", + "key":{"shape":"ResourceARN"}, + "value":{"shape":"FailureInfo"} + }, + "FailureInfo":{ + "type":"structure", + "members":{ + "StatusCode":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status code of the common error.

    " + }, + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

    The code of the common error. Valid values include InternalServiceException, InvalidParameterException, and any valid error code returned by the AWS service that hosts the resource that you want to tag.

    " + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

    The message of the common error.

    " + } + }, + "documentation":"

    Information about the errors that are returned for each failed resource. This information can include InternalServiceException and InvalidParameterException errors. It can also include any valid error code returned by the AWS service that hosts the resource that the ARN key represents.

    The following are common error codes that you might receive from other AWS services:

    • InternalServiceException – This can mean that the Resource Groups Tagging API didn't receive a response from another AWS service. It can also mean the the resource type in the request is not supported by the Resource Groups Tagging API. In these cases, it's safe to retry the request and then call GetResources to verify the changes.

    • AccessDeniedException – This can mean that you need permission to calling tagging operations in the AWS service that contains the resource. For example, to use the Resource Groups Tagging API to tag a CloudWatch alarm resource, you need permission to call TagResources and TagResource in the CloudWatch API.

    For more information on errors that are generated from other AWS services, see the documentation for that service.

    " + }, + "GetComplianceSummaryInput":{ + "type":"structure", + "members":{ + "TargetIdFilters":{ + "shape":"TargetIdFilterList", + "documentation":"

    The target identifiers (usually, specific account IDs) to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources with the specified target IDs.

    " + }, + "RegionFilters":{ + "shape":"RegionFilterList", + "documentation":"

    A list of Regions to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified Regions.

    " + }, + "ResourceTypeFilters":{ + "shape":"ResourceTypeFilterList", + "documentation":"

    The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

    The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

    You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter.

    " + }, + "TagKeyFilters":{ + "shape":"TagKeyFilterList", + "documentation":"

    A list of tag keys to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources that have the specified tag keys.

    " + }, + "GroupBy":{ + "shape":"GroupBy", + "documentation":"

    A list of attributes to group the counts of noncompliant resources by. If supplied, the counts are sorted by those attributes.

    " + }, + "MaxResults":{ + "shape":"MaxResultsGetComplianceSummary", + "documentation":"

    A limit that restricts the number of results that are returned per page.

    " + }, + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

    " + } + } + }, + "GetComplianceSummaryOutput":{ + "type":"structure", + "members":{ + "SummaryList":{ + "shape":"SummaryList", + "documentation":"

    A table that shows counts of noncompliant resources.

    " + }, + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

    " + } + } + }, + "GetResourcesInput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

    " + }, + "TagFilters":{ + "shape":"TagFilterList", + "documentation":"

    A list of TagFilters (keys and values). Each TagFilter specified must contain a key with values as optional. A request can include up to 50 keys, and each key can include up to 20 values.

    Note the following when deciding how to use TagFilters:

    • If you do specify a TagFilter, the response returns only those resources that are currently associated with the specified tag.

    • If you don't specify a TagFilter, the response includes all resources that were ever associated with tags. Resources that currently don't have associated tags are shown with an empty tag set, like this: \"Tags\": [].

    • If you specify more than one filter in a single request, the response returns only those resources that satisfy all specified filters.

    • If you specify a filter that contains more than one value for a key, the response returns resources that match any of the specified values for that key.

    • If you don't specify any values for a key, the response returns resources that are tagged with that key irrespective of the value.

      For example, for filters: filter1 = {key1, {value1}}, filter2 = {key2, {value2,value3,value4}} , filter3 = {key3}:

      • GetResources( {filter1} ) returns resources tagged with key1=value1

      • GetResources( {filter2} ) returns resources tagged with key2=value2 or key2=value3 or key2=value4

      • GetResources( {filter3} ) returns resources tagged with any tag containing key3 as its tag key, irrespective of its value

      • GetResources( {filter1,filter2,filter3} ) returns resources tagged with ( key1=value1) and ( key2=value2 or key2=value3 or key2=value4) and (key3, irrespective of the value)

    " + }, + "ResourcesPerPage":{ + "shape":"ResourcesPerPage", + "documentation":"

    A limit that restricts the number of resources returned by GetResources in paginated output. You can set ResourcesPerPage to a minimum of 1 item and the maximum of 100 items.

    " + }, + "TagsPerPage":{ + "shape":"TagsPerPage", + "documentation":"

    AWS recommends using ResourcesPerPage instead of this parameter.

    A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resource with no tags is counted as having one tag (one key and value pair).

    GetResources does not split a resource and its associated tags across pages. If the specified TagsPerPage would cause such a break, a PaginationToken is returned in place of the affected resource and its tags. Use that token in another request to get the remaining data. For example, if you specify a TagsPerPage of 100 and the account has 22 resources with 10 tags each (meaning that each resource has 10 key and value pairs), the output will consist of three pages. The first page displays the first 10 resources, each with its 10 tags. The second page displays the next 10 resources, each with its 10 tags. The third page displays the remaining 2 resources, each with its 10 tags.

    You can set TagsPerPage to a minimum of 100 items and the maximum of 500 items.

    " + }, + "ResourceTypeFilters":{ + "shape":"ResourceTypeFilterList", + "documentation":"

    The constraints on the resources that you want returned. The format of each resource type is service[:resourceType]. For example, specifying a resource type of ec2 returns all Amazon EC2 resources (which includes EC2 instances). Specifying a resource type of ec2:instance returns only EC2 instances.

    The string for each service name and resource type is the same as that embedded in a resource's Amazon Resource Name (ARN). Consult the AWS General Reference for the following:

    You can specify multiple resource types by using an array. The array can include up to 100 items. Note that the length constraint requirement applies to each resource type filter.

    " + }, + "IncludeComplianceDetails":{ + "shape":"IncludeComplianceDetails", + "documentation":"

    Specifies whether to include details regarding the compliance with the effective tag policy. Set this to true to determine whether resources are compliant with the tag policy and to get details.

    " + }, + "ExcludeCompliantResources":{ + "shape":"ExcludeCompliantResources", + "documentation":"

    Specifies whether to exclude resources that are compliant with the tag policy. Set this to true if you are interested in retrieving information on noncompliant resources only.

    You can use this parameter only if the IncludeComplianceDetails parameter is also set to true.

    " + } + } + }, + "GetResourcesOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

    " + }, + "ResourceTagMappingList":{ + "shape":"ResourceTagMappingList", + "documentation":"

    A list of resource ARNs and the tags (keys and values) associated with each.

    " + } + } + }, + "GetTagKeysInput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

    " + } + } + }, + "GetTagKeysOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A list of all tag keys in the AWS account.

    " + } + } + }, + "GetTagValuesInput":{ + "type":"structure", + "required":["Key"], + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that additional data is available. Leave this value empty for your initial request. If the response includes a PaginationToken, use that string for this value to request an additional page of data.

    " + }, + "Key":{ + "shape":"TagKey", + "documentation":"

    The key for which you want to list all existing values in the specified Region for the AWS account.

    " + } + } + }, + "GetTagValuesOutput":{ + "type":"structure", + "members":{ + "PaginationToken":{ + "shape":"PaginationToken", + "documentation":"

    A string that indicates that the response contains more data than can be returned in a single response. To receive additional data, specify this string for the PaginationToken value in a subsequent request.

    " + }, + "TagValues":{ + "shape":"TagValuesOutputList", + "documentation":"

    A list of all tag values for the specified key in the AWS account.

    " + } + } + }, + "GroupBy":{ + "type":"list", + "member":{"shape":"GroupByAttribute"} + }, + "GroupByAttribute":{ + "type":"string", + "enum":[ + "TARGET_ID", + "REGION", + "RESOURCE_TYPE" + ] + }, + "IncludeComplianceDetails":{"type":"boolean"}, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request processing failed because of an unknown error, exception, or failure. You can retry the request.

    ", + "exception":true, + "fault":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    This error indicates one of the following:

    • A parameter is missing.

    • A malformed string was supplied for the request parameter.

    • An out-of-range value was supplied for the request parameter.

    • The target ID is invalid, unsupported, or doesn't exist.

    • You can't access the Amazon S3 bucket for report storage. For more information, see Additional Requirements for Organization-wide Tag Compliance Reports in the AWS Organizations User Guide.

    ", + "exception":true + }, + "LastUpdated":{"type":"string"}, + "MaxResultsGetComplianceSummary":{ + "type":"integer", + "max":1000, + "min":1 + }, + "NonCompliantResources":{"type":"long"}, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\s\\S]*" + }, + "PaginationTokenExpiredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    A PaginationToken is valid for a maximum of 15 minutes. Your request was denied because the specified PaginationToken has expired.

    ", + "exception":true + }, + "Region":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\s\\S]*" + }, + "RegionFilterList":{ + "type":"list", + "member":{"shape":"Region"}, + "max":100, + "min":1 + }, + "ResourceARN":{ + "type":"string", + "max":1011, + "min":1, + "pattern":"[\\s\\S]*" + }, + "ResourceARNList":{ + "type":"list", + "member":{"shape":"ResourceARN"}, + "max":20, + "min":1 + }, + "ResourceTagMapping":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

    The ARN of the resource.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags that have been applied to one or more AWS resources.

    " + }, + "ComplianceDetails":{ + "shape":"ComplianceDetails", + "documentation":"

    Information that shows whether a resource is compliant with the effective tag policy, including details on any noncompliant tag keys.

    " + } + }, + "documentation":"

    A list of resource ARNs and the tags (keys and values) that are associated with each.

    " + }, + "ResourceTagMappingList":{ + "type":"list", + "member":{"shape":"ResourceTagMapping"} + }, + "ResourceTypeFilterList":{ + "type":"list", + "member":{"shape":"AmazonResourceType"} + }, + "ResourcesPerPage":{"type":"integer"}, + "S3Bucket":{ + "type":"string", + "max":63, + "min":3, + "pattern":"[\\s\\S]*" + }, + "S3Location":{"type":"string"}, + "StartReportCreationInput":{ + "type":"structure", + "required":["S3Bucket"], + "members":{ + "S3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The name of the Amazon S3 bucket where the report will be stored; for example:

    awsexamplebucket

    For more information on S3 bucket requirements, including an example bucket policy, see the example S3 bucket policy on this page.

    " + } + } + }, + "StartReportCreationOutput":{ + "type":"structure", + "members":{ + } + }, + "Status":{"type":"string"}, + "StatusCode":{"type":"integer"}, + "Summary":{ + "type":"structure", + "members":{ + "LastUpdated":{ + "shape":"LastUpdated", + "documentation":"

    The timestamp that shows when this summary was generated in this Region.

    " + }, + "TargetId":{ + "shape":"TargetId", + "documentation":"

    The account identifier or the root identifier of the organization. If you don't know the root ID, you can call the AWS Organizations ListRoots API.

    " + }, + "TargetIdType":{ + "shape":"TargetIdType", + "documentation":"

    Whether the target is an account, an OU, or the organization root.

    " + }, + "Region":{ + "shape":"Region", + "documentation":"

    The AWS Region that the summary applies to.

    " + }, + "ResourceType":{ + "shape":"AmazonResourceType", + "documentation":"

    The AWS resource type.

    " + }, + "NonCompliantResources":{ + "shape":"NonCompliantResources", + "documentation":"

    The count of noncompliant resources.

    " + } + }, + "documentation":"

    A count of noncompliant resources.

    " + }, + "SummaryList":{ + "type":"list", + "member":{"shape":"Summary"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

    " + } + }, + "documentation":"

    The metadata that you apply to AWS resources to help you categorize and organize them. Each tag consists of a key and a value, both of which you define. For more information, see Tagging AWS Resources in the AWS General Reference.

    " + }, + "TagFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values.

    " + }, + "Values":{ + "shape":"TagValueList", + "documentation":"

    One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null.

    " + } + }, + "documentation":"

    A list of tags (keys and values) that are used to specify the associated resources.

    " + }, + "TagFilterList":{ + "type":"list", + "member":{"shape":"TagFilter"}, + "max":50, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\s\\S]*" + }, + "TagKeyFilterList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagKeyListForUntag":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourcesInput":{ + "type":"structure", + "required":[ + "ResourceARNList", + "Tags" + ], + "members":{ + "ResourceARNList":{ + "shape":"ResourceARNList", + "documentation":"

    A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags that you want to add to the specified resources. A tag consists of a key and a value that you define.

    " + } + } + }, + "TagResourcesOutput":{ + "type":"structure", + "members":{ + "FailedResourcesMap":{ + "shape":"FailedResourcesMap", + "documentation":"

    A map containing a key-value pair for each failed item that couldn't be tagged. The key is the ARN of the failed resource. The value is a FailureInfo object that contains an error code, a status code, and an error message. If there are no errors, the FailedResourcesMap is empty.

    " + } + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\s\\S]*" + }, + "TagValueList":{ + "type":"list", + "member":{"shape":"TagValue"}, + "max":20, + "min":0 + }, + "TagValuesOutputList":{ + "type":"list", + "member":{"shape":"TagValue"} + }, + "TagsPerPage":{"type":"integer"}, + "TargetId":{ + "type":"string", + "max":68, + "min":6, + "pattern":"[\\s\\S]*" + }, + "TargetIdFilterList":{ + "type":"list", + "member":{"shape":"TargetId"}, + "max":100, + "min":1 + }, + "TargetIdType":{ + "type":"string", + "enum":[ + "ACCOUNT", + "OU", + "ROOT" + ] + }, + "ThrottledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request was denied to limit the frequency of submitted requests.

    ", + "exception":true + }, + "UntagResourcesInput":{ + "type":"structure", + "required":[ + "ResourceARNList", + "TagKeys" + ], + "members":{ + "ResourceARNList":{ + "shape":"ResourceARNList", + "documentation":"

    A list of ARNs. An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " + }, + "TagKeys":{ + "shape":"TagKeyListForUntag", + "documentation":"

    A list of the tag keys that you want to remove from the specified resources.

    " + } + } + }, + "UntagResourcesOutput":{ + "type":"structure", + "members":{ + "FailedResourcesMap":{ + "shape":"FailedResourcesMap", + "documentation":"

    Details of resources that could not be untagged. An error code, status code, and error message are returned for each failed item.

    " + } + } + } + }, + "documentation":"Resource Groups Tagging API

    This guide describes the API operations for the resource groups tagging.

    A tag is a label that you assign to an AWS resource. A tag consists of a key and a value, both of which you define. For example, if you have two Amazon EC2 instances, you might assign both a tag key of \"Stack.\" But the value of \"Stack\" might be \"Testing\" for one and \"Production\" for the other.

    Tagging can help you organize your resources and enables you to simplify resource management, access management and cost allocation.

    You can use the resource groups tagging API operations to complete the following tasks:

    • Tag and untag supported resources located in the specified Region for the AWS account.

    • Use tag-based filters to search for resources located in the specified Region for the AWS account.

    • List all existing tag keys in the specified Region for the AWS account.

    • List all existing values for the specified key in the specified Region for the AWS account.

    To use resource groups tagging API operations, you must add the following permissions to your IAM policy:

    • tag:GetResources

    • tag:TagResources

    • tag:UntagResources

    • tag:GetTagKeys

    • tag:GetTagValues

    You'll also need permissions to access the resources of individual services so that you can tag and untag those resources.

    For more information on IAM policies, see Managing IAM Policies in the IAM User Guide.

    You can use the Resource Groups Tagging API to tag resources for the following AWS services.

    • Alexa for Business (a4b)

    • API Gateway

    • Amazon AppStream

    • AWS AppSync

    • AWS App Mesh

    • Amazon Athena

    • Amazon Aurora

    • AWS Backup

    • AWS Certificate Manager

    • AWS Certificate Manager Private CA

    • Amazon Cloud Directory

    • AWS CloudFormation

    • Amazon CloudFront

    • AWS CloudHSM

    • AWS CloudTrail

    • Amazon CloudWatch (alarms only)

    • Amazon CloudWatch Events

    • Amazon CloudWatch Logs

    • AWS CodeBuild

    • AWS CodeCommit

    • AWS CodePipeline

    • AWS CodeStar

    • Amazon Cognito Identity

    • Amazon Cognito User Pools

    • Amazon Comprehend

    • AWS Config

    • AWS Data Exchange

    • AWS Data Pipeline

    • AWS Database Migration Service

    • AWS DataSync

    • AWS Device Farm

    • AWS Direct Connect

    • AWS Directory Service

    • Amazon DynamoDB

    • Amazon EBS

    • Amazon EC2

    • Amazon ECR

    • Amazon ECS

    • Amazon EKS

    • AWS Elastic Beanstalk

    • Amazon Elastic File System

    • Elastic Load Balancing

    • Amazon ElastiCache

    • Amazon Elasticsearch Service

    • AWS Elemental MediaLive

    • AWS Elemental MediaPackage

    • AWS Elemental MediaTailor

    • Amazon EMR

    • Amazon FSx

    • Amazon S3 Glacier

    • AWS Glue

    • Amazon GuardDuty

    • Amazon Inspector

    • AWS IoT Analytics

    • AWS IoT Core

    • AWS IoT Device Defender

    • AWS IoT Device Management

    • AWS IoT Events

    • AWS IoT Greengrass

    • AWS IoT 1-Click

    • AWS IoT Things Graph

    • AWS Key Management Service

    • Amazon Kinesis

    • Amazon Kinesis Data Analytics

    • Amazon Kinesis Data Firehose

    • AWS Lambda

    • AWS License Manager

    • Amazon Machine Learning

    • Amazon MQ

    • Amazon MSK

    • Amazon Neptune

    • AWS OpsWorks

    • AWS Organizations

    • Amazon Quantum Ledger Database (QLDB)

    • Amazon RDS

    • Amazon Redshift

    • AWS Resource Access Manager

    • AWS Resource Groups

    • AWS RoboMaker

    • Amazon Route 53

    • Amazon Route 53 Resolver

    • Amazon S3 (buckets only)

    • Amazon SageMaker

    • AWS Secrets Manager

    • AWS Security Hub

    • AWS Service Catalog

    • Amazon Simple Email Service (SES)

    • Amazon Simple Notification Service (SNS)

    • Amazon Simple Queue Service (SQS)

    • Amazon Simple Workflow Service

    • AWS Step Functions

    • AWS Storage Gateway

    • AWS Systems Manager

    • AWS Transfer for SFTP

    • AWS WAF Regional

    • Amazon VPC

    • Amazon WorkSpaces

    " +} diff -Nru python-botocore-1.4.70/botocore/data/_retry.json python-botocore-1.16.19+repack/botocore/data/_retry.json --- python-botocore-1.4.70/botocore/data/_retry.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/_retry.json 2020-05-28 19:26:08.000000000 +0000 @@ -16,6 +16,22 @@ } } }, + "throttled_exception": { + "applies_when": { + "response": { + "service_error_code": "ThrottledException", + "http_status_code": 400 + } + } + }, + "request_throttled_exception": { + "applies_when": { + "response": { + "service_error_code": "RequestThrottledException", + "http_status_code": 400 + } + } + }, "too_many_requests": { "applies_when": { "response": { @@ -62,6 +78,14 @@ "http_status_code": 509 } } + }, + "throughput_exceeded": { + "applies_when": { + "response": { + "service_error_code": "ProvisionedThroughputExceededException", + "http_status_code": 400 + } + } } }, "retry": { @@ -80,8 +104,25 @@ "gateway_timeout": {"$ref": "gateway_timeout"}, "limit_exceeded": {"$ref": "limit_exceeded"}, "throttling_exception": {"$ref": "throttling_exception"}, + "throttled_exception": {"$ref": "throttled_exception"}, + "request_throttled_exception": {"$ref": "request_throttled_exception"}, "throttling": {"$ref": "throttling"}, - "too_many_requests": {"$ref": "too_many_requests"} + "too_many_requests": {"$ref": "too_many_requests"}, + "throughput_exceeded": {"$ref": "throughput_exceeded"} + } + }, + "organizations": { + "__default__": { + "policies": { + "too_many_requests": { + "applies_when": { + "response": { + "service_error_code": "TooManyRequestsException", + "http_status_code": 400 + } + } + } + } } }, "dynamodb": { @@ -93,14 +134,14 @@ "growth_factor": 2 }, "policies": { - "throughput_exceeded": { - "applies_when": { - "response": { - "service_error_code": "ProvisionedThroughputExceededException", - "http_status_code": 400 - } - } - }, + "still_processing": { + "applies_when": { + "response": { + "service_error_code": "TransactionInProgressException", + "http_status_code": 400 + } + } + }, "crc32": { "applies_when": { "response": { @@ -121,6 +162,14 @@ "http_status_code": 503 } } + }, + "ec2_throttled_exception": { + "applies_when": { + "response": { + "service_error_code": "EC2ThrottledException", + "http_status_code": 503 + } + } } } } @@ -140,7 +189,7 @@ } }, "kinesis": { - "DescribeStream": { + "__default__": { "policies": { "request_limit_exceeded": { "applies_when": { @@ -189,6 +238,20 @@ } } }, + "glacier": { + "__default__": { + "policies": { + "timeouts": { + "applies_when": { + "response": { + "http_status_code": 408, + "service_error_code": "RequestTimeoutException" + } + } + } + } + } + }, "route53": { "__default__": { "policies": { @@ -207,6 +270,20 @@ "http_status_code": 400 } } + } + } + } + }, + "sts": { + "__default__": { + "policies": { + "idp_unreachable_error": { + "applies_when": { + "response": { + "service_error_code": "IDPCommunicationError", + "http_status_code": 400 + } + } } } } diff -Nru python-botocore-1.4.70/botocore/data/robomaker/2018-06-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/robomaker/2018-06-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/robomaker/2018-06-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/robomaker/2018-06-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,46 @@ +{ + "pagination": { + "ListDeploymentJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "deploymentJobs" + }, + "ListFleets": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "fleetDetails" + }, + "ListRobotApplications": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "robotApplicationSummaries" + }, + "ListRobots": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "robots" + }, + "ListSimulationApplications": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "simulationApplicationSummaries" + }, + "ListSimulationJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "simulationJobSummaries" + }, + "ListSimulationJobBatches": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "simulationJobBatchSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/robomaker/2018-06-29/service-2.json python-botocore-1.16.19+repack/botocore/data/robomaker/2018-06-29/service-2.json --- python-botocore-1.4.70/botocore/data/robomaker/2018-06-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/robomaker/2018-06-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3914 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-29", + "endpointPrefix":"robomaker", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"RoboMaker", + "serviceFullName":"AWS RoboMaker", + "serviceId":"RoboMaker", + "signatureVersion":"v4", + "signingName":"robomaker", + "uid":"robomaker-2018-06-29" + }, + "operations":{ + "BatchDescribeSimulationJob":{ + "name":"BatchDescribeSimulationJob", + "http":{ + "method":"POST", + "requestUri":"/batchDescribeSimulationJob" + }, + "input":{"shape":"BatchDescribeSimulationJobRequest"}, + "output":{"shape":"BatchDescribeSimulationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Describes one or more simulation jobs.

    " + }, + "CancelDeploymentJob":{ + "name":"CancelDeploymentJob", + "http":{ + "method":"POST", + "requestUri":"/cancelDeploymentJob" + }, + "input":{"shape":"CancelDeploymentJobRequest"}, + "output":{"shape":"CancelDeploymentJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Cancels the specified deployment job.

    " + }, + "CancelSimulationJob":{ + "name":"CancelSimulationJob", + "http":{ + "method":"POST", + "requestUri":"/cancelSimulationJob" + }, + "input":{"shape":"CancelSimulationJobRequest"}, + "output":{"shape":"CancelSimulationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Cancels the specified simulation job.

    " + }, + "CancelSimulationJobBatch":{ + "name":"CancelSimulationJobBatch", + "http":{ + "method":"POST", + "requestUri":"/cancelSimulationJobBatch" + }, + "input":{"shape":"CancelSimulationJobBatchRequest"}, + "output":{"shape":"CancelSimulationJobBatchResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Cancels a simulation job batch. When you cancel a simulation job batch, you are also cancelling all of the active simulation jobs created as part of the batch.

    " + }, + "CreateDeploymentJob":{ + "name":"CreateDeploymentJob", + "http":{ + "method":"POST", + "requestUri":"/createDeploymentJob" + }, + "input":{"shape":"CreateDeploymentJobRequest"}, + "output":{"shape":"CreateDeploymentJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentDeploymentException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Deploys a specific version of a robot application to robots in a fleet.

    The robot application must have a numbered applicationVersion for consistency reasons. To create a new version, use CreateRobotApplicationVersion or see Creating a Robot Application Version.

    After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible.

    " + }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/createFleet" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates a fleet, a logical group of robots running the same robot application.

    " + }, + "CreateRobot":{ + "name":"CreateRobot", + "http":{ + "method":"POST", + "requestUri":"/createRobot" + }, + "input":{"shape":"CreateRobotRequest"}, + "output":{"shape":"CreateRobotResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

    Creates a robot.

    " + }, + "CreateRobotApplication":{ + "name":"CreateRobotApplication", + "http":{ + "method":"POST", + "requestUri":"/createRobotApplication" + }, + "input":{"shape":"CreateRobotApplicationRequest"}, + "output":{"shape":"CreateRobotApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Creates a robot application.

    " + }, + "CreateRobotApplicationVersion":{ + "name":"CreateRobotApplicationVersion", + "http":{ + "method":"POST", + "requestUri":"/createRobotApplicationVersion" + }, + "input":{"shape":"CreateRobotApplicationVersionRequest"}, + "output":{"shape":"CreateRobotApplicationVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates a version of a robot application.

    " + }, + "CreateSimulationApplication":{ + "name":"CreateSimulationApplication", + "http":{ + "method":"POST", + "requestUri":"/createSimulationApplication" + }, + "input":{"shape":"CreateSimulationApplicationRequest"}, + "output":{"shape":"CreateSimulationApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Creates a simulation application.

    " + }, + "CreateSimulationApplicationVersion":{ + "name":"CreateSimulationApplicationVersion", + "http":{ + "method":"POST", + "requestUri":"/createSimulationApplicationVersion" + }, + "input":{"shape":"CreateSimulationApplicationVersionRequest"}, + "output":{"shape":"CreateSimulationApplicationVersionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates a simulation application with a specific revision id.

    " + }, + "CreateSimulationJob":{ + "name":"CreateSimulationJob", + "http":{ + "method":"POST", + "requestUri":"/createSimulationJob" + }, + "input":{"shape":"CreateSimulationJobRequest"}, + "output":{"shape":"CreateSimulationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a simulation job.

    After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible.

    " + }, + "DeleteFleet":{ + "name":"DeleteFleet", + "http":{ + "method":"POST", + "requestUri":"/deleteFleet" + }, + "input":{"shape":"DeleteFleetRequest"}, + "output":{"shape":"DeleteFleetResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Deletes a fleet.

    " + }, + "DeleteRobot":{ + "name":"DeleteRobot", + "http":{ + "method":"POST", + "requestUri":"/deleteRobot" + }, + "input":{"shape":"DeleteRobotRequest"}, + "output":{"shape":"DeleteRobotResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Deletes a robot.

    " + }, + "DeleteRobotApplication":{ + "name":"DeleteRobotApplication", + "http":{ + "method":"POST", + "requestUri":"/deleteRobotApplication" + }, + "input":{"shape":"DeleteRobotApplicationRequest"}, + "output":{"shape":"DeleteRobotApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Deletes a robot application.

    " + }, + "DeleteSimulationApplication":{ + "name":"DeleteSimulationApplication", + "http":{ + "method":"POST", + "requestUri":"/deleteSimulationApplication" + }, + "input":{"shape":"DeleteSimulationApplicationRequest"}, + "output":{"shape":"DeleteSimulationApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Deletes a simulation application.

    " + }, + "DeregisterRobot":{ + "name":"DeregisterRobot", + "http":{ + "method":"POST", + "requestUri":"/deregisterRobot" + }, + "input":{"shape":"DeregisterRobotRequest"}, + "output":{"shape":"DeregisterRobotResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deregisters a robot.

    " + }, + "DescribeDeploymentJob":{ + "name":"DescribeDeploymentJob", + "http":{ + "method":"POST", + "requestUri":"/describeDeploymentJob" + }, + "input":{"shape":"DescribeDeploymentJobRequest"}, + "output":{"shape":"DescribeDeploymentJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Describes a deployment job.

    " + }, + "DescribeFleet":{ + "name":"DescribeFleet", + "http":{ + "method":"POST", + "requestUri":"/describeFleet" + }, + "input":{"shape":"DescribeFleetRequest"}, + "output":{"shape":"DescribeFleetResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Describes a fleet.

    " + }, + "DescribeRobot":{ + "name":"DescribeRobot", + "http":{ + "method":"POST", + "requestUri":"/describeRobot" + }, + "input":{"shape":"DescribeRobotRequest"}, + "output":{"shape":"DescribeRobotResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Describes a robot.

    " + }, + "DescribeRobotApplication":{ + "name":"DescribeRobotApplication", + "http":{ + "method":"POST", + "requestUri":"/describeRobotApplication" + }, + "input":{"shape":"DescribeRobotApplicationRequest"}, + "output":{"shape":"DescribeRobotApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Describes a robot application.

    " + }, + "DescribeSimulationApplication":{ + "name":"DescribeSimulationApplication", + "http":{ + "method":"POST", + "requestUri":"/describeSimulationApplication" + }, + "input":{"shape":"DescribeSimulationApplicationRequest"}, + "output":{"shape":"DescribeSimulationApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Describes a simulation application.

    " + }, + "DescribeSimulationJob":{ + "name":"DescribeSimulationJob", + "http":{ + "method":"POST", + "requestUri":"/describeSimulationJob" + }, + "input":{"shape":"DescribeSimulationJobRequest"}, + "output":{"shape":"DescribeSimulationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Describes a simulation job.

    " + }, + "DescribeSimulationJobBatch":{ + "name":"DescribeSimulationJobBatch", + "http":{ + "method":"POST", + "requestUri":"/describeSimulationJobBatch" + }, + "input":{"shape":"DescribeSimulationJobBatchRequest"}, + "output":{"shape":"DescribeSimulationJobBatchResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Describes a simulation job batch.

    " + }, + "ListDeploymentJobs":{ + "name":"ListDeploymentJobs", + "http":{ + "method":"POST", + "requestUri":"/listDeploymentJobs" + }, + "input":{"shape":"ListDeploymentJobsRequest"}, + "output":{"shape":"ListDeploymentJobsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.

    " + }, + "ListFleets":{ + "name":"ListFleets", + "http":{ + "method":"POST", + "requestUri":"/listFleets" + }, + "input":{"shape":"ListFleetsRequest"}, + "output":{"shape":"ListFleetsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.

    " + }, + "ListRobotApplications":{ + "name":"ListRobotApplications", + "http":{ + "method":"POST", + "requestUri":"/listRobotApplications" + }, + "input":{"shape":"ListRobotApplicationsRequest"}, + "output":{"shape":"ListRobotApplicationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of robot application. You can optionally provide filters to retrieve specific robot applications.

    " + }, + "ListRobots":{ + "name":"ListRobots", + "http":{ + "method":"POST", + "requestUri":"/listRobots" + }, + "input":{"shape":"ListRobotsRequest"}, + "output":{"shape":"ListRobotsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns a list of robots. You can optionally provide filters to retrieve specific robots.

    " + }, + "ListSimulationApplications":{ + "name":"ListSimulationApplications", + "http":{ + "method":"POST", + "requestUri":"/listSimulationApplications" + }, + "input":{"shape":"ListSimulationApplicationsRequest"}, + "output":{"shape":"ListSimulationApplicationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications.

    " + }, + "ListSimulationJobBatches":{ + "name":"ListSimulationJobBatches", + "http":{ + "method":"POST", + "requestUri":"/listSimulationJobBatches" + }, + "input":{"shape":"ListSimulationJobBatchesRequest"}, + "output":{"shape":"ListSimulationJobBatchesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns a list simulation job batches. You can optionally provide filters to retrieve specific simulation batch jobs.

    " + }, + "ListSimulationJobs":{ + "name":"ListSimulationJobs", + "http":{ + "method":"POST", + "requestUri":"/listSimulationJobs" + }, + "input":{"shape":"ListSimulationJobsRequest"}, + "output":{"shape":"ListSimulationJobsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Lists all tags on a AWS RoboMaker resource.

    " + }, + "RegisterRobot":{ + "name":"RegisterRobot", + "http":{ + "method":"POST", + "requestUri":"/registerRobot" + }, + "input":{"shape":"RegisterRobotRequest"}, + "output":{"shape":"RegisterRobotResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Registers a robot with a fleet.

    " + }, + "RestartSimulationJob":{ + "name":"RestartSimulationJob", + "http":{ + "method":"POST", + "requestUri":"/restartSimulationJob" + }, + "input":{"shape":"RestartSimulationJobRequest"}, + "output":{"shape":"RestartSimulationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Restarts a running simulation job.

    " + }, + "StartSimulationJobBatch":{ + "name":"StartSimulationJobBatch", + "http":{ + "method":"POST", + "requestUri":"/startSimulationJobBatch" + }, + "input":{"shape":"StartSimulationJobBatchRequest"}, + "output":{"shape":"StartSimulationJobBatchResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Starts a new simulation job batch. The batch is defined using one or more SimulationJobRequest objects.

    " + }, + "SyncDeploymentJob":{ + "name":"SyncDeploymentJob", + "http":{ + "method":"POST", + "requestUri":"/syncDeploymentJob" + }, + "input":{"shape":"SyncDeploymentJobRequest"}, + "output":{"shape":"SyncDeploymentJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ConcurrentDeploymentException"}, + {"shape":"IdempotentParameterMismatchException"} + ], + "documentation":"

    Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Adds or edits tags for a AWS RoboMaker resource.

    Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty strings.

    For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management User Guide.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Removes the specified tags from the specified AWS RoboMaker resource.

    To remove a tag, specify the tag key. To change the tag value of an existing tag key, use TagResource .

    " + }, + "UpdateRobotApplication":{ + "name":"UpdateRobotApplication", + "http":{ + "method":"POST", + "requestUri":"/updateRobotApplication" + }, + "input":{"shape":"UpdateRobotApplicationRequest"}, + "output":{"shape":"UpdateRobotApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Updates a robot application.

    " + }, + "UpdateSimulationApplication":{ + "name":"UpdateSimulationApplication", + "http":{ + "method":"POST", + "requestUri":"/updateSimulationApplication" + }, + "input":{"shape":"UpdateSimulationApplicationRequest"}, + "output":{"shape":"UpdateSimulationApplicationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Updates a simulation application.

    " + } + }, + "shapes":{ + "Architecture":{ + "type":"string", + "enum":[ + "X86_64", + "ARM64", + "ARMHF" + ] + }, + "Arn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":"arn:.*" + }, + "Arns":{ + "type":"list", + "member":{"shape":"Arn"}, + "max":100, + "min":1 + }, + "BatchDescribeSimulationJobRequest":{ + "type":"structure", + "required":["jobs"], + "members":{ + "jobs":{ + "shape":"Arns", + "documentation":"

    A list of Amazon Resource Names (ARNs) of simulation jobs to describe.

    " + } + } + }, + "BatchDescribeSimulationJobResponse":{ + "type":"structure", + "members":{ + "jobs":{ + "shape":"SimulationJobs", + "documentation":"

    A list of simulation jobs.

    " + }, + "unprocessedJobs":{ + "shape":"Arns", + "documentation":"

    A list of unprocessed simulation job Amazon Resource Names (ARNs).

    " + } + } + }, + "BatchPolicy":{ + "type":"structure", + "members":{ + "timeoutInSeconds":{ + "shape":"BatchTimeoutInSeconds", + "documentation":"

    The amount of time, in seconds, to wait for the batch to complete.

    If a batch times out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), they will be moved to the failed list and the batch status will be Failed. If the pending requests were failing for any other reason, the failed pending requests will be moved to the failed list and the batch status will be TimedOut.

    " + }, + "maxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The number of active simulation jobs create as part of the batch that can be in an active state at the same time.

    Active states include: Pending,Preparing, Running, Restarting, RunningFailed and Terminating. All other states are terminal states.

    " + } + }, + "documentation":"

    Information about the batch policy.

    " + }, + "BatchTimeoutInSeconds":{"type":"long"}, + "Boolean":{"type":"boolean"}, + "BoxedBoolean":{"type":"boolean"}, + "CancelDeploymentJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

    The deployment job ARN to cancel.

    " + } + } + }, + "CancelDeploymentJobResponse":{ + "type":"structure", + "members":{ + } + }, + "CancelSimulationJobBatchRequest":{ + "type":"structure", + "required":["batch"], + "members":{ + "batch":{ + "shape":"Arn", + "documentation":"

    The id of the batch to cancel.

    " + } + } + }, + "CancelSimulationJobBatchResponse":{ + "type":"structure", + "members":{ + } + }, + "CancelSimulationJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

    The simulation job ARN to cancel.

    " + } + } + }, + "CancelSimulationJobResponse":{ + "type":"structure", + "members":{ + } + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_\\-=]*" + }, + "Command":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]*" + }, + "Compute":{ + "type":"structure", + "members":{ + "simulationUnitLimit":{ + "shape":"SimulationUnit", + "documentation":"

    The simulation unit limit. Your simulation is allocated CPU and memory proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are only billed for the SU utilization you consume up to the maximim value provided.

    " + } + }, + "documentation":"

    Compute information for the simulation job.

    " + }, + "ComputeResponse":{ + "type":"structure", + "members":{ + "simulationUnitLimit":{ + "shape":"SimulationUnit", + "documentation":"

    The simulation unit limit. Your simulation is allocated CPU and memory proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are only billed for the SU utilization you consume up to the maximim value provided.

    " + } + }, + "documentation":"

    Compute information for the simulation job

    " + }, + "ConcurrentDeploymentException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The failure percentage threshold percentage was met.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "CreateDeploymentJobRequest":{ + "type":"structure", + "required":[ + "clientRequestToken", + "fleet", + "deploymentApplicationConfigs" + ], + "members":{ + "deploymentConfig":{ + "shape":"DeploymentConfig", + "documentation":"

    The requested deployment configuration.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "idempotencyToken":true + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet to deploy.

    " + }, + "deploymentApplicationConfigs":{ + "shape":"DeploymentApplicationConfigs", + "documentation":"

    The deployment application configuration.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the deployment job.

    " + } + } + }, + "CreateDeploymentJobResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the deployment job.

    " + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The target fleet for the deployment job.

    " + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the deployment job.

    " + }, + "deploymentApplicationConfigs":{ + "shape":"DeploymentApplicationConfigs", + "documentation":"

    The deployment application configuration.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The failure reason of the deployment job if it failed.

    " + }, + "failureCode":{ + "shape":"DeploymentJobErrorCode", + "documentation":"

    The failure code of the simulation job if it failed:

    BadPermissionError

    AWS Greengrass requires a service-level role permission to access other services. The role must include the AWSGreengrassResourceAccessRolePolicy managed policy.

    ExtractingBundleFailure

    The robot application could not be extracted from the bundle.

    FailureThresholdBreached

    The percentage of robots that could not be updated exceeded the percentage set for the deployment.

    GreengrassDeploymentFailed

    The robot application could not be deployed to the robot.

    GreengrassGroupVersionDoesNotExist

    The AWS Greengrass group or version associated with a robot is missing.

    InternalServerError

    An internal error has occurred. Retry your request, but if the problem persists, contact us with details.

    MissingRobotApplicationArchitecture

    The robot application does not have a source that matches the architecture of the robot.

    MissingRobotDeploymentResource

    One or more of the resources specified for the robot application are missing. For example, does the robot application have the correct launch package and launch file?

    PostLaunchFileFailure

    The post-launch script failed.

    PreLaunchFileFailure

    The pre-launch script failed.

    ResourceNotFound

    One or more deployment resources are missing. For example, do robot application source bundles still exist?

    RobotDeploymentNoResponse

    There is no response from the robot. It might not be powered on or connected to the internet.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the fleet was created.

    " + }, + "deploymentConfig":{ + "shape":"DeploymentConfig", + "documentation":"

    The deployment configuration.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the deployment job.

    " + } + } + }, + "CreateFleetRequest":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the fleet.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the fleet.

    " + } + } + }, + "CreateFleetResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the fleet.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the fleet was created.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the fleet.

    " + } + } + }, + "CreateRobotApplicationRequest":{ + "type":"structure", + "required":[ + "name", + "sources", + "robotSoftwareSuite" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "sources":{ + "shape":"SourceConfigs", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribuition) used by the robot application.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the robot application.

    " + } + } + }, + "CreateRobotApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the robot application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the robot application.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the robot application.

    " + } + } + }, + "CreateRobotApplicationVersionRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the robot application.

    " + }, + "currentRevisionId":{ + "shape":"RevisionId", + "documentation":"

    The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created.

    " + } + } + }, + "CreateRobotApplicationVersionResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the robot application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the robot application.

    " + } + } + }, + "CreateRobotRequest":{ + "type":"structure", + "required":[ + "name", + "architecture", + "greengrassGroupId" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name for the robot.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The target architecture of the robot.

    " + }, + "greengrassGroupId":{ + "shape":"Id", + "documentation":"

    The Greengrass group id.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the robot.

    " + } + } + }, + "CreateRobotResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot was created.

    " + }, + "greengrassGroupId":{ + "shape":"Id", + "documentation":"

    The Amazon Resource Name (ARN) of the Greengrass group associated with the robot.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The target architecture of the robot.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the robot.

    " + } + } + }, + "CreateSimulationApplicationRequest":{ + "type":"structure", + "required":[ + "name", + "sources", + "simulationSoftwareSuite", + "robotSoftwareSuite" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "sources":{ + "shape":"SourceConfigs", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the simulation application.

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the simulation application.

    " + } + } + }, + "CreateSimulationApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the simulation application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about the robot software suite (ROS distribution).

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the simulation application.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the simulation application.

    " + } + } + }, + "CreateSimulationApplicationVersionRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the simulation application.

    " + }, + "currentRevisionId":{ + "shape":"RevisionId", + "documentation":"

    The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created.

    " + } + } + }, + "CreateSimulationApplicationVersionResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the simulation application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about the robot software suite (ROS distribution).

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision ID of the simulation application.

    " + } + } + }, + "CreateSimulationJobRequest":{ + "type":"structure", + "required":[ + "maxJobDurationInSeconds", + "iamRole" + ], + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "idempotencyToken":true + }, + "outputLocation":{ + "shape":"OutputLocation", + "documentation":"

    Location for output files generated by the simulation job.

    " + }, + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

    The logging configuration.

    " + }, + "maxJobDurationInSeconds":{ + "shape":"JobDuration", + "documentation":"

    The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. When maxJobDurationInSeconds is reached, the simulation job will status will transition to Completed.

    " + }, + "iamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job.

    " + }, + "failureBehavior":{ + "shape":"FailureBehavior", + "documentation":"

    The failure behavior the simulation job.

    Continue

    Restart the simulation job in the same host instance.

    Fail

    Stop the simulation job and terminate the instance.

    " + }, + "robotApplications":{ + "shape":"RobotApplicationConfigs", + "documentation":"

    The robot application to use in the simulation job.

    " + }, + "simulationApplications":{ + "shape":"SimulationApplicationConfigs", + "documentation":"

    The simulation application to use in the simulation job.

    " + }, + "dataSources":{ + "shape":"DataSourceConfigs", + "documentation":"

    Specify data sources to mount read-only files from S3 into your simulation. These files are available under /opt/robomaker/datasources/data_source_name.

    There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the simulation job.

    " + }, + "vpcConfig":{ + "shape":"VPCConfig", + "documentation":"

    If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID.

    " + }, + "compute":{ + "shape":"Compute", + "documentation":"

    Compute information for the simulation job.

    " + } + } + }, + "CreateSimulationJobRequests":{ + "type":"list", + "member":{"shape":"SimulationJobRequest"}, + "min":1 + }, + "CreateSimulationJobResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job.

    " + }, + "status":{ + "shape":"SimulationJobStatus", + "documentation":"

    The status of the simulation job.

    " + }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last started.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last updated.

    " + }, + "failureBehavior":{ + "shape":"FailureBehavior", + "documentation":"

    the failure behavior for the simulation job.

    " + }, + "failureCode":{ + "shape":"SimulationJobErrorCode", + "documentation":"

    The failure code of the simulation job if it failed:

    InternalServiceError

    Internal service error.

    RobotApplicationCrash

    Robot application exited abnormally.

    SimulationApplicationCrash

    Simulation application exited abnormally.

    BadPermissionsRobotApplication

    Robot application bundle could not be downloaded.

    BadPermissionsSimulationApplication

    Simulation application bundle could not be downloaded.

    BadPermissionsS3Output

    Unable to publish outputs to customer-provided S3 bucket.

    BadPermissionsCloudwatchLogs

    Unable to publish logs to customer-provided CloudWatch Logs resource.

    SubnetIpLimitExceeded

    Subnet IP limit exceeded.

    ENILimitExceeded

    ENI limit exceeded.

    BadPermissionsUserCredentials

    Unable to use the Role provided.

    InvalidBundleRobotApplication

    Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

    InvalidBundleSimulationApplication

    Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

    RobotApplicationVersionMismatchedEtag

    Etag for RobotApplication does not match value during version creation.

    SimulationApplicationVersionMismatchedEtag

    Etag for SimulationApplication does not match value during version creation.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + }, + "outputLocation":{ + "shape":"OutputLocation", + "documentation":"

    Simulation job output files location.

    " + }, + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

    The logging configuration.

    " + }, + "maxJobDurationInSeconds":{ + "shape":"JobDuration", + "documentation":"

    The maximum simulation job duration in seconds.

    " + }, + "simulationTimeMillis":{ + "shape":"SimulationTimeMillis", + "documentation":"

    The simulation job execution duration in milliseconds.

    " + }, + "iamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role that allows the simulation job to call the AWS APIs that are specified in its associated policies on your behalf.

    " + }, + "robotApplications":{ + "shape":"RobotApplicationConfigs", + "documentation":"

    The robot application used by the simulation job.

    " + }, + "simulationApplications":{ + "shape":"SimulationApplicationConfigs", + "documentation":"

    The simulation application used by the simulation job.

    " + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

    The data sources for the simulation job.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the simulation job.

    " + }, + "vpcConfig":{ + "shape":"VPCConfigResponse", + "documentation":"

    Information about the vpc configuration.

    " + }, + "compute":{ + "shape":"ComputeResponse", + "documentation":"

    Compute information for the simulation job.

    " + } + } + }, + "CreatedAt":{"type":"timestamp"}, + "DataSource":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the data source.

    " + }, + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The S3 bucket where the data files are located.

    " + }, + "s3Keys":{ + "shape":"S3KeyOutputs", + "documentation":"

    The list of S3 keys identifying the data source files.

    " + } + }, + "documentation":"

    Information about a data source.

    " + }, + "DataSourceConfig":{ + "type":"structure", + "required":[ + "name", + "s3Bucket", + "s3Keys" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the data source.

    " + }, + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The S3 bucket where the data files are located.

    " + }, + "s3Keys":{ + "shape":"S3Keys", + "documentation":"

    The list of S3 keys identifying the data source files.

    " + } + }, + "documentation":"

    Information about a data source.

    " + }, + "DataSourceConfigs":{ + "type":"list", + "member":{"shape":"DataSourceConfig"}, + "max":5, + "min":1 + }, + "DataSourceNames":{ + "type":"list", + "member":{"shape":"Name"} + }, + "DataSources":{ + "type":"list", + "member":{"shape":"DataSource"} + }, + "DeleteFleetRequest":{ + "type":"structure", + "required":["fleet"], + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + } + } + }, + "DeleteFleetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRobotApplicationRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the the robot application.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the robot application to delete.

    " + } + } + }, + "DeleteRobotApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRobotRequest":{ + "type":"structure", + "required":["robot"], + "members":{ + "robot":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + } + } + }, + "DeleteRobotResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSimulationApplicationRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the simulation application to delete.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the simulation application to delete.

    " + } + } + }, + "DeleteSimulationApplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeploymentApplicationConfig":{ + "type":"structure", + "required":[ + "application", + "applicationVersion", + "launchConfig" + ], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot application.

    " + }, + "applicationVersion":{ + "shape":"DeploymentVersion", + "documentation":"

    The version of the application.

    " + }, + "launchConfig":{ + "shape":"DeploymentLaunchConfig", + "documentation":"

    The launch configuration.

    " + } + }, + "documentation":"

    Information about a deployment application configuration.

    " + }, + "DeploymentApplicationConfigs":{ + "type":"list", + "member":{"shape":"DeploymentApplicationConfig"}, + "max":1, + "min":1 + }, + "DeploymentConfig":{ + "type":"structure", + "members":{ + "concurrentDeploymentPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of robots receiving the deployment at the same time.

    " + }, + "failureThresholdPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of deployments that need to fail before stopping deployment.

    " + }, + "robotDeploymentTimeoutInSeconds":{ + "shape":"DeploymentTimeout", + "documentation":"

    The amount of time, in seconds, to wait for deployment to a single robot to complete. Choose a time between 1 minute and 7 days. The default is 5 hours.

    " + }, + "downloadConditionFile":{ + "shape":"S3Object", + "documentation":"

    The download condition file.

    " + } + }, + "documentation":"

    Information about a deployment configuration.

    " + }, + "DeploymentJob":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the deployment job.

    " + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the deployment job.

    " + }, + "deploymentApplicationConfigs":{ + "shape":"DeploymentApplicationConfigs", + "documentation":"

    The deployment application configuration.

    " + }, + "deploymentConfig":{ + "shape":"DeploymentConfig", + "documentation":"

    The deployment configuration.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    A short description of the reason why the deployment job failed.

    " + }, + "failureCode":{ + "shape":"DeploymentJobErrorCode", + "documentation":"

    The deployment job failure code.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the deployment job was created.

    " + } + }, + "documentation":"

    Information about a deployment job.

    " + }, + "DeploymentJobErrorCode":{ + "type":"string", + "enum":[ + "ResourceNotFound", + "EnvironmentSetupError", + "EtagMismatch", + "FailureThresholdBreached", + "RobotDeploymentAborted", + "RobotDeploymentNoResponse", + "RobotAgentConnectionTimeout", + "GreengrassDeploymentFailed", + "InvalidGreengrassGroup", + "MissingRobotArchitecture", + "MissingRobotApplicationArchitecture", + "MissingRobotDeploymentResource", + "GreengrassGroupVersionDoesNotExist", + "LambdaDeleted", + "ExtractingBundleFailure", + "PreLaunchFileFailure", + "PostLaunchFileFailure", + "BadPermissionError", + "DownloadConditionFailed", + "InternalServerError" + ] + }, + "DeploymentJobs":{ + "type":"list", + "member":{"shape":"DeploymentJob"}, + "max":200, + "min":0 + }, + "DeploymentLaunchConfig":{ + "type":"structure", + "required":[ + "packageName", + "launchFile" + ], + "members":{ + "packageName":{ + "shape":"Command", + "documentation":"

    The package name.

    " + }, + "preLaunchFile":{ + "shape":"Path", + "documentation":"

    The deployment pre-launch file. This file will be executed prior to the launch file.

    " + }, + "launchFile":{ + "shape":"Command", + "documentation":"

    The launch file name.

    " + }, + "postLaunchFile":{ + "shape":"Path", + "documentation":"

    The deployment post-launch file. This file will be executed after the launch file.

    " + }, + "environmentVariables":{ + "shape":"EnvironmentVariableMap", + "documentation":"

    An array of key/value pairs specifying environment variables for the robot application

    " + } + }, + "documentation":"

    Configuration information for a deployment launch.

    " + }, + "DeploymentStatus":{ + "type":"string", + "enum":[ + "Pending", + "Preparing", + "InProgress", + "Failed", + "Succeeded", + "Canceled" + ] + }, + "DeploymentTimeout":{"type":"long"}, + "DeploymentVersion":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[0-9]*" + }, + "DeregisterRobotRequest":{ + "type":"structure", + "required":[ + "fleet", + "robot" + ], + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "robot":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + } + } + }, + "DeregisterRobotResponse":{ + "type":"structure", + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "robot":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + } + } + }, + "DescribeDeploymentJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the deployment job.

    " + } + } + }, + "DescribeDeploymentJobResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the deployment job.

    " + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the deployment job.

    " + }, + "deploymentConfig":{ + "shape":"DeploymentConfig", + "documentation":"

    The deployment configuration.

    " + }, + "deploymentApplicationConfigs":{ + "shape":"DeploymentApplicationConfigs", + "documentation":"

    The deployment application configuration.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    A short description of the reason why the deployment job failed.

    " + }, + "failureCode":{ + "shape":"DeploymentJobErrorCode", + "documentation":"

    The deployment job failure code.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the deployment job was created.

    " + }, + "robotDeploymentSummary":{ + "shape":"RobotDeploymentSummary", + "documentation":"

    A list of robot deployment summaries.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified deployment job.

    " + } + } + }, + "DescribeFleetRequest":{ + "type":"structure", + "required":["fleet"], + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + } + } + }, + "DescribeFleetResponse":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the fleet.

    " + }, + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "robots":{ + "shape":"Robots", + "documentation":"

    A list of robots.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the fleet was created.

    " + }, + "lastDeploymentStatus":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the last deployment.

    " + }, + "lastDeploymentJob":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the last deployment job.

    " + }, + "lastDeploymentTime":{ + "shape":"CreatedAt", + "documentation":"

    The time of the last deployment.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified fleet.

    " + } + } + }, + "DescribeRobotApplicationRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot application.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the robot application to describe.

    " + } + } + }, + "DescribeRobotApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the robot application.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the robot application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot application was last updated.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified robot application.

    " + } + } + }, + "DescribeRobotRequest":{ + "type":"structure", + "required":["robot"], + "members":{ + "robot":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot to be described.

    " + } + } + }, + "DescribeRobotResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot.

    " + }, + "fleetArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "status":{ + "shape":"RobotStatus", + "documentation":"

    The status of the fleet.

    " + }, + "greengrassGroupId":{ + "shape":"Id", + "documentation":"

    The Greengrass group id.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot was created.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The target architecture of the robot application.

    " + }, + "lastDeploymentJob":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the last deployment job.

    " + }, + "lastDeploymentTime":{ + "shape":"CreatedAt", + "documentation":"

    The time of the last deployment job.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified robot.

    " + } + } + }, + "DescribeSimulationApplicationRequest":{ + "type":"structure", + "required":["application"], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the simulation application.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the simulation application to describe.

    " + } + } + }, + "DescribeSimulationApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot simulation application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the simulation application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about the robot software suite (ROS distribution).

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the simulation application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation application was last updated.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified simulation application.

    " + } + } + }, + "DescribeSimulationJobBatchRequest":{ + "type":"structure", + "required":["batch"], + "members":{ + "batch":{ + "shape":"Arn", + "documentation":"

    The id of the batch to describe.

    " + } + } + }, + "DescribeSimulationJobBatchResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the batch.

    " + }, + "status":{ + "shape":"SimulationJobBatchStatus", + "documentation":"

    The status of the batch.

    Pending

    The simulation job batch request is pending.

    InProgress

    The simulation job batch is in progress.

    Failed

    The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information.

    Completed

    The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed).

    Canceled

    The simulation batch job was cancelled.

    Canceling

    The simulation batch job is being cancelled.

    Completing

    The simulation batch job is completing.

    TimingOut

    The simulation job batch is timing out.

    If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut.

    TimedOut

    The simulation batch job timed out.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch was last updated.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch was created.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + }, + "batchPolicy":{ + "shape":"BatchPolicy", + "documentation":"

    The batch policy.

    " + }, + "failureCode":{ + "shape":"SimulationJobBatchErrorCode", + "documentation":"

    The failure code of the simulation job batch.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The reason the simulation job batch failed.

    " + }, + "failedRequests":{ + "shape":"FailedCreateSimulationJobRequests", + "documentation":"

    A list of failed create simulation job requests. The request failed to be created into a simulation job. Failed requests do not have a simulation job ID.

    " + }, + "pendingRequests":{ + "shape":"CreateSimulationJobRequests", + "documentation":"

    A list of pending simulation job requests. These requests have not yet been created into simulation jobs.

    " + }, + "createdRequests":{ + "shape":"SimulationJobSummaries", + "documentation":"

    A list of created simulation job summaries.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the simulation job batch.

    " + } + } + }, + "DescribeSimulationJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job to be described.

    " + } + } + }, + "DescribeSimulationJobResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation job.

    " + }, + "status":{ + "shape":"SimulationJobStatus", + "documentation":"

    The status of the simulation job.

    " + }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last started.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last updated.

    " + }, + "failureBehavior":{ + "shape":"FailureBehavior", + "documentation":"

    The failure behavior for the simulation job.

    " + }, + "failureCode":{ + "shape":"SimulationJobErrorCode", + "documentation":"

    The failure code of the simulation job if it failed:

    InternalServiceError

    Internal service error.

    RobotApplicationCrash

    Robot application exited abnormally.

    SimulationApplicationCrash

    Simulation application exited abnormally.

    BadPermissionsRobotApplication

    Robot application bundle could not be downloaded.

    BadPermissionsSimulationApplication

    Simulation application bundle could not be downloaded.

    BadPermissionsS3Output

    Unable to publish outputs to customer-provided S3 bucket.

    BadPermissionsCloudwatchLogs

    Unable to publish logs to customer-provided CloudWatch Logs resource.

    SubnetIpLimitExceeded

    Subnet IP limit exceeded.

    ENILimitExceeded

    ENI limit exceeded.

    BadPermissionsUserCredentials

    Unable to use the Role provided.

    InvalidBundleRobotApplication

    Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

    InvalidBundleSimulationApplication

    Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

    RobotApplicationVersionMismatchedEtag

    Etag for RobotApplication does not match value during version creation.

    SimulationApplicationVersionMismatchedEtag

    Etag for SimulationApplication does not match value during version creation.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    Details about why the simulation job failed. For more information about troubleshooting, see Troubleshooting.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + }, + "outputLocation":{ + "shape":"OutputLocation", + "documentation":"

    Location for output files generated by the simulation job.

    " + }, + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

    The logging configuration.

    " + }, + "maxJobDurationInSeconds":{ + "shape":"JobDuration", + "documentation":"

    The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or less.

    " + }, + "simulationTimeMillis":{ + "shape":"SimulationTimeMillis", + "documentation":"

    The simulation job execution duration in milliseconds.

    " + }, + "iamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf.

    " + }, + "robotApplications":{ + "shape":"RobotApplicationConfigs", + "documentation":"

    A list of robot applications.

    " + }, + "simulationApplications":{ + "shape":"SimulationApplicationConfigs", + "documentation":"

    A list of simulation applications.

    " + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

    The data sources for the simulation job.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified simulation job.

    " + }, + "vpcConfig":{ + "shape":"VPCConfigResponse", + "documentation":"

    The VPC configuration.

    " + }, + "networkInterface":{ + "shape":"NetworkInterface", + "documentation":"

    The network interface information for the simulation job.

    " + }, + "compute":{ + "shape":"ComputeResponse", + "documentation":"

    Compute information for the simulation job.

    " + } + } + }, + "EnvironmentVariableKey":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[A-Z_][A-Z0-9_]*" + }, + "EnvironmentVariableMap":{ + "type":"map", + "key":{"shape":"EnvironmentVariableKey"}, + "value":{"shape":"EnvironmentVariableValue"}, + "max":16, + "min":0 + }, + "EnvironmentVariableValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*" + }, + "FailedAt":{"type":"timestamp"}, + "FailedCreateSimulationJobRequest":{ + "type":"structure", + "members":{ + "request":{ + "shape":"SimulationJobRequest", + "documentation":"

    The simulation job request.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The failure reason of the simulation job request.

    " + }, + "failureCode":{ + "shape":"SimulationJobErrorCode", + "documentation":"

    The failure code.

    " + }, + "failedAt":{ + "shape":"FailedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch failed.

    " + } + }, + "documentation":"

    Information about a failed create simulation job request.

    " + }, + "FailedCreateSimulationJobRequests":{ + "type":"list", + "member":{"shape":"FailedCreateSimulationJobRequest"} + }, + "FailureBehavior":{ + "type":"string", + "enum":[ + "Fail", + "Continue" + ] + }, + "Filter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the filter.

    " + }, + "values":{ + "shape":"FilterValues", + "documentation":"

    A list of values.

    " + } + }, + "documentation":"

    Information about a filter.

    " + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"Name"}, + "max":1, + "min":1 + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":1, + "min":1 + }, + "Fleet":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the fleet.

    " + }, + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the fleet was created.

    " + }, + "lastDeploymentStatus":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the last fleet deployment.

    " + }, + "lastDeploymentJob":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the last deployment job.

    " + }, + "lastDeploymentTime":{ + "shape":"CreatedAt", + "documentation":"

    The time of the last deployment.

    " + } + }, + "documentation":"

    Information about a fleet.

    " + }, + "Fleets":{ + "type":"list", + "member":{"shape":"Fleet"}, + "max":200, + "min":0 + }, + "GenericInteger":{"type":"integer"}, + "GenericString":{ + "type":"string", + "max":1024, + "min":0, + "pattern":".*" + }, + "IamRole":{ + "type":"string", + "max":255, + "min":1, + "pattern":"arn:aws:iam::\\w+:role/.*" + }, + "Id":{ + "type":"string", + "max":1224, + "min":1, + "pattern":".*" + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    AWS RoboMaker experienced a service issue. Try your call again.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "JobDuration":{"type":"long"}, + "LastStartedAt":{"type":"timestamp"}, + "LastUpdatedAt":{"type":"timestamp"}, + "LaunchConfig":{ + "type":"structure", + "required":[ + "packageName", + "launchFile" + ], + "members":{ + "packageName":{ + "shape":"Command", + "documentation":"

    The package name.

    " + }, + "launchFile":{ + "shape":"Command", + "documentation":"

    The launch file name.

    " + }, + "environmentVariables":{ + "shape":"EnvironmentVariableMap", + "documentation":"

    The environment variables for the application launch.

    " + }, + "portForwardingConfig":{ + "shape":"PortForwardingConfig", + "documentation":"

    The port forwarding configuration.

    " + }, + "streamUI":{ + "shape":"Boolean", + "documentation":"

    Boolean indicating whether a streaming session will be configured for the application. If True, AWS RoboMaker will configure a connection so you can interact with your application as it is running in the simulation. You must configure and luanch the component. It must have a graphical user interface.

    " + } + }, + "documentation":"

    Information about a launch configuration.

    " + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListDeploymentJobsRequest":{ + "type":"structure", + "members":{ + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status InProgress or the status Pending.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListDeploymentJobs 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.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListDeploymentJobs 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 ListDeploymentJobs request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListDeploymentJobs returns up to 200 results and a nextToken value if applicable.

    " + } + } + }, + "ListDeploymentJobsResponse":{ + "type":"structure", + "members":{ + "deploymentJobs":{ + "shape":"DeploymentJobs", + "documentation":"

    A list of deployment jobs that meet the criteria of the request.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListDeploymentJobs request. When the results of a ListDeploymentJobs 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.

    " + } + } + }, + "ListFleetsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListFleets 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 token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListFleets 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 ListFleets request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListFleets returns up to 200 results and a nextToken value if applicable.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

    " + } + } + }, + "ListFleetsResponse":{ + "type":"structure", + "members":{ + "fleetDetails":{ + "shape":"Fleets", + "documentation":"

    A list of fleet details meeting the request criteria.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListDeploymentJobs request. When the results of a ListFleets 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.

    " + } + } + }, + "ListRobotApplicationsRequest":{ + "type":"structure", + "members":{ + "versionQualifier":{ + "shape":"VersionQualifier", + "documentation":"

    The version qualifier of the robot application.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListRobotApplications 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.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListRobotApplications 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 ListRobotApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications returns up to 100 results and a nextToken value if applicable.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

    " + } + } + }, + "ListRobotApplicationsResponse":{ + "type":"structure", + "members":{ + "robotApplicationSummaries":{ + "shape":"RobotApplicationSummaries", + "documentation":"

    A list of robot application summaries that meet the criteria of the request.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListRobotApplications request. When the results of a ListRobotApplications 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.

    " + } + } + }, + "ListRobotsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListRobots 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.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListRobots 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 ListRobots request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListRobots returns up to 200 results and a nextToken value if applicable.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Registered or the status Available.

    " + } + } + }, + "ListRobotsResponse":{ + "type":"structure", + "members":{ + "robots":{ + "shape":"Robots", + "documentation":"

    A list of robots that meet the criteria of the request.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListRobots request. When the results of a ListRobot 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.

    " + } + } + }, + "ListSimulationApplicationsRequest":{ + "type":"structure", + "members":{ + "versionQualifier":{ + "shape":"VersionQualifier", + "documentation":"

    The version qualifier of the simulation application.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListSimulationApplications 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.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListSimulationApplications 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 ListSimulationApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications returns up to 100 results and a nextToken value if applicable.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional list of filters to limit results.

    The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters.

    " + } + } + }, + "ListSimulationApplicationsResponse":{ + "type":"structure", + "members":{ + "simulationApplicationSummaries":{ + "shape":"SimulationApplicationSummaries", + "documentation":"

    A list of simulation application summaries that meet the criteria of the request.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListSimulationApplications request. When the results of a ListRobot 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.

    " + } + } + }, + "ListSimulationJobBatchesRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListSimulationJobBatches 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.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListSimulationJobBatches 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 ListSimulationJobBatches request with the returned nextToken value.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    " + } + } + }, + "ListSimulationJobBatchesResponse":{ + "type":"structure", + "members":{ + "simulationJobBatchSummaries":{ + "shape":"SimulationJobBatchSummaries", + "documentation":"

    A list of simulation job batch summaries.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListSimulationJobBatches request. When the results of a ListSimulationJobBatches 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.

    " + } + } + }, + "ListSimulationJobsRequest":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value returned from a previous paginated ListSimulationJobs 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 token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    When this parameter is used, ListSimulationJobs 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 ListSimulationJobs request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListSimulationJobs returns up to 1000 results and a nextToken value if applicable.

    " + }, + "filters":{ + "shape":"Filters", + "documentation":"

    Optional filters to limit results.

    The filter names status and simulationApplicationName and robotApplicationName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Preparing or the status Running.

    " + } + } + }, + "ListSimulationJobsResponse":{ + "type":"structure", + "required":["simulationJobSummaries"], + "members":{ + "simulationJobSummaries":{ + "shape":"SimulationJobSummaries", + "documentation":"

    A list of simulation job summaries that meet the criteria of the request.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The nextToken value to include in a future ListSimulationJobs request. When the results of a ListRobot 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.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.

    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified resource.

    " + } + } + }, + "LoggingConfig":{ + "type":"structure", + "required":["recordAllRosTopics"], + "members":{ + "recordAllRosTopics":{ + "shape":"BoxedBoolean", + "documentation":"

    A boolean indicating whether to record all ROS topics.

    " + } + }, + "documentation":"

    The logging configuration.

    " + }, + "MaxConcurrency":{"type":"integer"}, + "MaxResults":{"type":"integer"}, + "Name":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_\\-]*" + }, + "NetworkInterface":{ + "type":"structure", + "members":{ + "networkInterfaceId":{ + "shape":"GenericString", + "documentation":"

    The ID of the network interface.

    " + }, + "privateIpAddress":{ + "shape":"GenericString", + "documentation":"

    The IPv4 address of the network interface within the subnet.

    " + }, + "publicIpAddress":{ + "shape":"GenericString", + "documentation":"

    The IPv4 public address of the network interface.

    " + } + }, + "documentation":"

    Describes a network interface.

    " + }, + "NonEmptyString":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "NonSystemPort":{ + "type":"integer", + "max":65535, + "min":1024 + }, + "OutputLocation":{ + "type":"structure", + "members":{ + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The S3 bucket for output.

    " + }, + "s3Prefix":{ + "shape":"S3Key", + "documentation":"

    The S3 folder in the s3Bucket where output files will be placed.

    " + } + }, + "documentation":"

    The output location.

    " + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-\\/+=]*" + }, + "Path":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*" + }, + "PercentDone":{ + "type":"float", + "max":100.0, + "min":0.0 + }, + "Percentage":{ + "type":"integer", + "max":100, + "min":1 + }, + "Port":{ + "type":"integer", + "max":65535, + "min":1 + }, + "PortForwardingConfig":{ + "type":"structure", + "members":{ + "portMappings":{ + "shape":"PortMappingList", + "documentation":"

    The port mappings for the configuration.

    " + } + }, + "documentation":"

    Configuration information for port forwarding.

    " + }, + "PortMapping":{ + "type":"structure", + "required":[ + "jobPort", + "applicationPort" + ], + "members":{ + "jobPort":{ + "shape":"Port", + "documentation":"

    The port number on the simulation job instance to use as a remote connection point.

    " + }, + "applicationPort":{ + "shape":"NonSystemPort", + "documentation":"

    The port number on the application.

    " + }, + "enableOnPublicIp":{ + "shape":"Boolean", + "documentation":"

    A Boolean indicating whether to enable this port mapping on public IP.

    " + } + }, + "documentation":"

    An object representing a port mapping.

    " + }, + "PortMappingList":{ + "type":"list", + "member":{"shape":"PortMapping"}, + "max":10, + "min":0 + }, + "ProgressDetail":{ + "type":"structure", + "members":{ + "currentProgress":{ + "shape":"RobotDeploymentStep", + "documentation":"

    The current progress status.

    Validating

    Validating the deployment.

    DownloadingExtracting

    Downloading and extracting the bundle on the robot.

    ExecutingPreLaunch

    Executing pre-launch script(s) if provided.

    Launching

    Launching the robot application.

    ExecutingPostLaunch

    Executing post-launch script(s) if provided.

    Finished

    Deployment is complete.

    " + }, + "percentDone":{ + "shape":"PercentDone", + "documentation":"

    Precentage of the step that is done. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.

    " + }, + "estimatedTimeRemainingSeconds":{ + "shape":"GenericInteger", + "documentation":"

    Estimated amount of time in seconds remaining in the step. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps.

    " + }, + "targetResource":{ + "shape":"GenericString", + "documentation":"

    The Amazon Resource Name (ARN) of the deployment job.

    " + } + }, + "documentation":"

    Information about the progress of a deployment job.

    " + }, + "RegisterRobotRequest":{ + "type":"structure", + "required":[ + "fleet", + "robot" + ], + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "robot":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + } + } + }, + "RegisterRobotResponse":{ + "type":"structure", + "members":{ + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet that the robot will join.

    " + }, + "robot":{ + "shape":"Arn", + "documentation":"

    Information about the robot registration.

    " + } + } + }, + "RenderingEngine":{ + "type":"structure", + "members":{ + "name":{ + "shape":"RenderingEngineType", + "documentation":"

    The name of the rendering engine.

    " + }, + "version":{ + "shape":"RenderingEngineVersionType", + "documentation":"

    The version of the rendering engine.

    " + } + }, + "documentation":"

    Information about a rendering engine.

    " + }, + "RenderingEngineType":{ + "type":"string", + "enum":["OGRE"] + }, + "RenderingEngineVersionType":{ + "type":"string", + "max":4, + "min":1, + "pattern":"1.x" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The specified resource already exists.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The specified resource does not exist.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "RestartSimulationJobRequest":{ + "type":"structure", + "required":["job"], + "members":{ + "job":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job.

    " + } + } + }, + "RestartSimulationJobResponse":{ + "type":"structure", + "members":{ + } + }, + "RevisionId":{ + "type":"string", + "max":40, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-]*" + }, + "Robot":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot.

    " + }, + "fleetArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "status":{ + "shape":"RobotStatus", + "documentation":"

    The status of the robot.

    " + }, + "greenGrassGroupId":{ + "shape":"Id", + "documentation":"

    The Greengrass group associated with the robot.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot was created.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The architecture of the robot.

    " + }, + "lastDeploymentJob":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the last deployment job.

    " + }, + "lastDeploymentTime":{ + "shape":"CreatedAt", + "documentation":"

    The time of the last deployment.

    " + } + }, + "documentation":"

    Information about a robot.

    " + }, + "RobotApplicationConfig":{ + "type":"structure", + "required":[ + "application", + "launchConfig" + ], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the robot application.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "launchConfig":{ + "shape":"LaunchConfig", + "documentation":"

    The launch configuration for the robot application.

    " + } + }, + "documentation":"

    Application configuration information for a robot.

    " + }, + "RobotApplicationConfigs":{ + "type":"list", + "member":{"shape":"RobotApplicationConfig"}, + "max":1, + "min":1 + }, + "RobotApplicationNames":{ + "type":"list", + "member":{"shape":"Name"} + }, + "RobotApplicationSummaries":{ + "type":"list", + "member":{"shape":"RobotApplicationSummary"}, + "max":100, + "min":0 + }, + "RobotApplicationSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the robot.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot application was last updated.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about a robot software suite (ROS distribution).

    " + } + }, + "documentation":"

    Summary information for a robot application.

    " + }, + "RobotDeployment":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The robot deployment Amazon Resource Name (ARN).

    " + }, + "deploymentStartTime":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the deployment was started.

    " + }, + "deploymentFinishTime":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the deployment finished.

    " + }, + "status":{ + "shape":"RobotStatus", + "documentation":"

    The status of the robot deployment.

    " + }, + "progressDetail":{ + "shape":"ProgressDetail", + "documentation":"

    Information about how the deployment is progressing.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    A short description of the reason why the robot deployment failed.

    " + }, + "failureCode":{ + "shape":"DeploymentJobErrorCode", + "documentation":"

    The robot deployment failure code.

    " + } + }, + "documentation":"

    Information about a robot deployment.

    " + }, + "RobotDeploymentStep":{ + "type":"string", + "enum":[ + "Validating", + "DownloadingExtracting", + "ExecutingDownloadCondition", + "ExecutingPreLaunch", + "Launching", + "ExecutingPostLaunch", + "Finished" + ] + }, + "RobotDeploymentSummary":{ + "type":"list", + "member":{"shape":"RobotDeployment"} + }, + "RobotSoftwareSuite":{ + "type":"structure", + "members":{ + "name":{ + "shape":"RobotSoftwareSuiteType", + "documentation":"

    The name of the robot software suite (ROS distribution).

    " + }, + "version":{ + "shape":"RobotSoftwareSuiteVersionType", + "documentation":"

    The version of the robot software suite (ROS distribution).

    " + } + }, + "documentation":"

    Information about a robot software suite (ROS distribution).

    " + }, + "RobotSoftwareSuiteType":{ + "type":"string", + "enum":[ + "ROS", + "ROS2" + ] + }, + "RobotSoftwareSuiteVersionType":{ + "type":"string", + "enum":[ + "Kinetic", + "Melodic", + "Dashing" + ] + }, + "RobotStatus":{ + "type":"string", + "enum":[ + "Available", + "Registered", + "PendingNewDeployment", + "Deploying", + "Failed", + "InSync", + "NoResponse" + ] + }, + "Robots":{ + "type":"list", + "member":{"shape":"Robot"}, + "max":1000, + "min":0 + }, + "S3Bucket":{ + "type":"string", + "max":63, + "min":3, + "pattern":"[a-z0-9][a-z0-9.\\-]*[a-z0-9]" + }, + "S3Etag":{"type":"string"}, + "S3Key":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*" + }, + "S3KeyOutput":{ + "type":"structure", + "members":{ + "s3Key":{ + "shape":"S3Key", + "documentation":"

    The S3 key.

    " + }, + "etag":{ + "shape":"S3Etag", + "documentation":"

    The etag for the object.

    " + } + }, + "documentation":"

    Information about S3 keys.

    " + }, + "S3KeyOutputs":{ + "type":"list", + "member":{"shape":"S3KeyOutput"} + }, + "S3Keys":{ + "type":"list", + "member":{"shape":"S3Key"}, + "max":100, + "min":1 + }, + "S3Object":{ + "type":"structure", + "required":[ + "bucket", + "key" + ], + "members":{ + "bucket":{ + "shape":"S3Bucket", + "documentation":"

    The bucket containing the object.

    " + }, + "key":{ + "shape":"S3Key", + "documentation":"

    The key of the object.

    " + }, + "etag":{ + "shape":"S3Etag", + "documentation":"

    The etag of the object.

    " + } + }, + "documentation":"

    Information about an S3 object.

    " + }, + "SecurityGroups":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":5, + "min":1 + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The request has failed due to a temporary failure of the server.

    ", + "error":{"httpStatusCode":503}, + "exception":true + }, + "SimulationApplicationConfig":{ + "type":"structure", + "required":[ + "application", + "launchConfig" + ], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the simulation application.

    " + }, + "applicationVersion":{ + "shape":"Version", + "documentation":"

    The version of the simulation application.

    " + }, + "launchConfig":{ + "shape":"LaunchConfig", + "documentation":"

    The launch configuration for the simulation application.

    " + } + }, + "documentation":"

    Information about a simulation application configuration.

    " + }, + "SimulationApplicationConfigs":{ + "type":"list", + "member":{"shape":"SimulationApplicationConfig"}, + "max":1, + "min":1 + }, + "SimulationApplicationNames":{ + "type":"list", + "member":{"shape":"Name"} + }, + "SimulationApplicationSummaries":{ + "type":"list", + "member":{"shape":"SimulationApplicationSummary"}, + "max":100, + "min":0 + }, + "SimulationApplicationSummary":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the simulation application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation application was last updated.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about a robot software suite (ROS distribution).

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    Information about a simulation software suite.

    " + } + }, + "documentation":"

    Summary information for a simulation application.

    " + }, + "SimulationJob":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation job.

    " + }, + "status":{ + "shape":"SimulationJobStatus", + "documentation":"

    Status of the simulation job.

    " + }, + "lastStartedAt":{ + "shape":"LastStartedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last started.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last updated.

    " + }, + "failureBehavior":{ + "shape":"FailureBehavior", + "documentation":"

    The failure behavior the simulation job.

    Continue

    Restart the simulation job in the same host instance.

    Fail

    Stop the simulation job and terminate the instance.

    " + }, + "failureCode":{ + "shape":"SimulationJobErrorCode", + "documentation":"

    The failure code of the simulation job if it failed.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The reason why the simulation job failed.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    A unique identifier for this SimulationJob request.

    " + }, + "outputLocation":{ + "shape":"OutputLocation", + "documentation":"

    Location for output files generated by the simulation job.

    " + }, + "loggingConfig":{ + "shape":"LoggingConfig", + "documentation":"

    The logging configuration.

    " + }, + "maxJobDurationInSeconds":{ + "shape":"JobDuration", + "documentation":"

    The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

    " + }, + "simulationTimeMillis":{ + "shape":"SimulationTimeMillis", + "documentation":"

    The simulation job execution duration in milliseconds.

    " + }, + "iamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job.

    " + }, + "robotApplications":{ + "shape":"RobotApplicationConfigs", + "documentation":"

    A list of robot applications.

    " + }, + "simulationApplications":{ + "shape":"SimulationApplicationConfigs", + "documentation":"

    A list of simulation applications.

    " + }, + "dataSources":{ + "shape":"DataSources", + "documentation":"

    The data sources for the simulation job.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the simulation job.

    " + }, + "vpcConfig":{ + "shape":"VPCConfigResponse", + "documentation":"

    VPC configuration information.

    " + }, + "networkInterface":{ + "shape":"NetworkInterface", + "documentation":"

    Information about a network interface.

    " + }, + "compute":{ + "shape":"ComputeResponse", + "documentation":"

    Compute information for the simulation job

    " + } + }, + "documentation":"

    Information about a simulation job.

    " + }, + "SimulationJobBatchErrorCode":{ + "type":"string", + "enum":["InternalServiceError"] + }, + "SimulationJobBatchStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Failed", + "Completed", + "Canceled", + "Canceling", + "Completing", + "TimingOut", + "TimedOut" + ] + }, + "SimulationJobBatchSummaries":{ + "type":"list", + "member":{"shape":"SimulationJobBatchSummary"} + }, + "SimulationJobBatchSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the batch.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch was last updated.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch was created.

    " + }, + "status":{ + "shape":"SimulationJobBatchStatus", + "documentation":"

    The status of the simulation job batch.

    Pending

    The simulation job batch request is pending.

    InProgress

    The simulation job batch is in progress.

    Failed

    The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information.

    Completed

    The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed).

    Canceled

    The simulation batch job was cancelled.

    Canceling

    The simulation batch job is being cancelled.

    Completing

    The simulation batch job is completing.

    TimingOut

    The simulation job batch is timing out.

    If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut.

    TimedOut

    The simulation batch job timed out.

    " + }, + "failedRequestCount":{ + "shape":"Integer", + "documentation":"

    The number of failed simulation job requests.

    " + }, + "pendingRequestCount":{ + "shape":"Integer", + "documentation":"

    The number of pending simulation job requests.

    " + }, + "createdRequestCount":{ + "shape":"Integer", + "documentation":"

    The number of created simulation job requests.

    " + } + }, + "documentation":"

    Information about a simulation job batch.

    " + }, + "SimulationJobErrorCode":{ + "type":"string", + "enum":[ + "InternalServiceError", + "RobotApplicationCrash", + "SimulationApplicationCrash", + "BadPermissionsRobotApplication", + "BadPermissionsSimulationApplication", + "BadPermissionsS3Object", + "BadPermissionsS3Output", + "BadPermissionsCloudwatchLogs", + "SubnetIpLimitExceeded", + "ENILimitExceeded", + "BadPermissionsUserCredentials", + "InvalidBundleRobotApplication", + "InvalidBundleSimulationApplication", + "InvalidS3Resource", + "LimitExceeded", + "MismatchedEtag", + "RobotApplicationVersionMismatchedEtag", + "SimulationApplicationVersionMismatchedEtag", + "ResourceNotFound", + "RequestThrottled", + "BatchTimedOut", + "BatchCanceled", + "InvalidInput", + "WrongRegionS3Bucket", + "WrongRegionS3Output", + "WrongRegionRobotApplication", + "WrongRegionSimulationApplication" + ] + }, + "SimulationJobRequest":{ + "type":"structure", + "required":["maxJobDurationInSeconds"], + "members":{ + "outputLocation":{"shape":"OutputLocation"}, + "loggingConfig":{"shape":"LoggingConfig"}, + "maxJobDurationInSeconds":{ + "shape":"JobDuration", + "documentation":"

    The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less.

    " + }, + "iamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job.

    " + }, + "failureBehavior":{ + "shape":"FailureBehavior", + "documentation":"

    The failure behavior the simulation job.

    Continue

    Restart the simulation job in the same host instance.

    Fail

    Stop the simulation job and terminate the instance.

    " + }, + "useDefaultApplications":{ + "shape":"BoxedBoolean", + "documentation":"

    Boolean indicating whether to use default simulation tool applications.

    " + }, + "robotApplications":{ + "shape":"RobotApplicationConfigs", + "documentation":"

    The robot applications to use in the simulation job.

    " + }, + "simulationApplications":{ + "shape":"SimulationApplicationConfigs", + "documentation":"

    The simulation applications to use in the simulation job.

    " + }, + "dataSources":{ + "shape":"DataSourceConfigs", + "documentation":"

    Specify data sources to mount read-only files from S3 into your simulation. These files are available under /opt/robomaker/datasources/data_source_name.

    There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects.

    " + }, + "vpcConfig":{"shape":"VPCConfig"}, + "compute":{ + "shape":"Compute", + "documentation":"

    Compute information for the simulation job

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the simulation job request.

    " + } + }, + "documentation":"

    Information about a simulation job request.

    " + }, + "SimulationJobStatus":{ + "type":"string", + "enum":[ + "Pending", + "Preparing", + "Running", + "Restarting", + "Completed", + "Failed", + "RunningFailed", + "Terminating", + "Terminated", + "Canceled" + ] + }, + "SimulationJobSummaries":{ + "type":"list", + "member":{"shape":"SimulationJobSummary"}, + "max":100, + "min":0 + }, + "SimulationJobSummary":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the simulation job.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job was last updated.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation job.

    " + }, + "status":{ + "shape":"SimulationJobStatus", + "documentation":"

    The status of the simulation job.

    " + }, + "simulationApplicationNames":{ + "shape":"SimulationApplicationNames", + "documentation":"

    A list of simulation job simulation application names.

    " + }, + "robotApplicationNames":{ + "shape":"RobotApplicationNames", + "documentation":"

    A list of simulation job robot application names.

    " + }, + "dataSourceNames":{ + "shape":"DataSourceNames", + "documentation":"

    The names of the data sources.

    " + } + }, + "documentation":"

    Summary information for a simulation job.

    " + }, + "SimulationJobs":{ + "type":"list", + "member":{"shape":"SimulationJob"} + }, + "SimulationSoftwareSuite":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SimulationSoftwareSuiteType", + "documentation":"

    The name of the simulation software suite.

    " + }, + "version":{ + "shape":"SimulationSoftwareSuiteVersionType", + "documentation":"

    The version of the simulation software suite.

    " + } + }, + "documentation":"

    Information about a simulation software suite.

    " + }, + "SimulationSoftwareSuiteType":{ + "type":"string", + "enum":[ + "Gazebo", + "RosbagPlay" + ] + }, + "SimulationSoftwareSuiteVersionType":{ + "type":"string", + "max":1024, + "min":0, + "pattern":"7|9|Kinetic|Melodic|Dashing" + }, + "SimulationTimeMillis":{"type":"long"}, + "SimulationUnit":{ + "type":"integer", + "max":15, + "min":1 + }, + "Source":{ + "type":"structure", + "members":{ + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The s3 bucket name.

    " + }, + "s3Key":{ + "shape":"S3Key", + "documentation":"

    The s3 object key.

    " + }, + "etag":{ + "shape":"S3Etag", + "documentation":"

    A hash of the object specified by s3Bucket and s3Key.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The taget processor architecture for the application.

    " + } + }, + "documentation":"

    Information about a source.

    " + }, + "SourceConfig":{ + "type":"structure", + "members":{ + "s3Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The Amazon S3 bucket name.

    " + }, + "s3Key":{ + "shape":"S3Key", + "documentation":"

    The s3 object key.

    " + }, + "architecture":{ + "shape":"Architecture", + "documentation":"

    The target processor architecture for the application.

    " + } + }, + "documentation":"

    Information about a source configuration.

    " + }, + "SourceConfigs":{ + "type":"list", + "member":{"shape":"SourceConfig"} + }, + "Sources":{ + "type":"list", + "member":{"shape":"Source"} + }, + "StartSimulationJobBatchRequest":{ + "type":"structure", + "required":["createSimulationJobRequests"], + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "idempotencyToken":true + }, + "batchPolicy":{ + "shape":"BatchPolicy", + "documentation":"

    The batch policy.

    " + }, + "createSimulationJobRequests":{ + "shape":"CreateSimulationJobRequests", + "documentation":"

    A list of simulation job requests to create in the batch.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the deployment job batch.

    " + } + } + }, + "StartSimulationJobBatchResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (arn) of the batch.

    " + }, + "status":{ + "shape":"SimulationJobBatchStatus", + "documentation":"

    The status of the simulation job batch.

    Pending

    The simulation job batch request is pending.

    InProgress

    The simulation job batch is in progress.

    Failed

    The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information.

    Completed

    The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed).

    Canceled

    The simulation batch job was cancelled.

    Canceling

    The simulation batch job is being cancelled.

    Completing

    The simulation batch job is completing.

    TimingOut

    The simulation job batch is timing out.

    If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut.

    TimedOut

    The simulation batch job timed out.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation job batch was created.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    " + }, + "batchPolicy":{ + "shape":"BatchPolicy", + "documentation":"

    The batch policy.

    " + }, + "failureCode":{ + "shape":"SimulationJobBatchErrorCode", + "documentation":"

    The failure code if the simulation job batch failed.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The reason the simulation job batch failed.

    " + }, + "failedRequests":{ + "shape":"FailedCreateSimulationJobRequests", + "documentation":"

    A list of failed simulation job requests. The request failed to be created into a simulation job. Failed requests do not have a simulation job ID.

    " + }, + "pendingRequests":{ + "shape":"CreateSimulationJobRequests", + "documentation":"

    A list of pending simulation job requests. These requests have not yet been created into simulation jobs.

    " + }, + "createdRequests":{ + "shape":"SimulationJobSummaries", + "documentation":"

    A list of created simulation job request summaries.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the deployment job batch.

    " + } + } + }, + "Subnets":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":16, + "min":1 + }, + "SyncDeploymentJobRequest":{ + "type":"structure", + "required":[ + "clientRequestToken", + "fleet" + ], + "members":{ + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "idempotencyToken":true + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The target fleet for the synchronization.

    " + } + } + }, + "SyncDeploymentJobResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the synchronization request.

    " + }, + "fleet":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "status":{ + "shape":"DeploymentStatus", + "documentation":"

    The status of the synchronization job.

    " + }, + "deploymentConfig":{ + "shape":"DeploymentConfig", + "documentation":"

    Information about the deployment configuration.

    " + }, + "deploymentApplicationConfigs":{ + "shape":"DeploymentApplicationConfigs", + "documentation":"

    Information about the deployment application configurations.

    " + }, + "failureReason":{ + "shape":"GenericString", + "documentation":"

    The failure reason if the job fails.

    " + }, + "failureCode":{ + "shape":"DeploymentJobErrorCode", + "documentation":"

    The failure code if the job fails:

    InternalServiceError

    Internal service error.

    RobotApplicationCrash

    Robot application exited abnormally.

    SimulationApplicationCrash

    Simulation application exited abnormally.

    BadPermissionsRobotApplication

    Robot application bundle could not be downloaded.

    BadPermissionsSimulationApplication

    Simulation application bundle could not be downloaded.

    BadPermissionsS3Output

    Unable to publish outputs to customer-provided S3 bucket.

    BadPermissionsCloudwatchLogs

    Unable to publish logs to customer-provided CloudWatch Logs resource.

    SubnetIpLimitExceeded

    Subnet IP limit exceeded.

    ENILimitExceeded

    ENI limit exceeded.

    BadPermissionsUserCredentials

    Unable to use the Role provided.

    InvalidBundleRobotApplication

    Robot bundle cannot be extracted (invalid format, bundling error, or other issue).

    InvalidBundleSimulationApplication

    Simulation bundle cannot be extracted (invalid format, bundling error, or other issue).

    RobotApplicationVersionMismatchedEtag

    Etag for RobotApplication does not match value during version creation.

    SimulationApplicationVersionMismatchedEtag

    Etag for SimulationApplication does not match value during version creation.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the fleet was created.

    " + } + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9 _.\\-\\/+=:]*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A map that contains tag keys and tag values that are attached to the resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[a-zA-Z0-9 _.\\-\\/+=:]*" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    AWS RoboMaker is temporarily unable to process the request. Try your call again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A map that contains tag keys and tag values that will be unattached from the resource.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateRobotApplicationRequest":{ + "type":"structure", + "required":[ + "application", + "sources", + "robotSoftwareSuite" + ], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the robot application.

    " + }, + "sources":{ + "shape":"SourceConfigs", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the robot application.

    " + }, + "currentRevisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id for the robot application.

    " + } + } + }, + "UpdateRobotApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the updated robot application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the robot application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the robot application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    The robot software suite (ROS distribution) used by the robot application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the robot application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the robot application.

    " + } + } + }, + "UpdateSimulationApplicationRequest":{ + "type":"structure", + "required":[ + "application", + "sources", + "simulationSoftwareSuite", + "robotSoftwareSuite" + ], + "members":{ + "application":{ + "shape":"Arn", + "documentation":"

    The application information for the simulation application.

    " + }, + "sources":{ + "shape":"SourceConfigs", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about the robot software suite (ROS distribution).

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "currentRevisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id for the robot application.

    " + } + } + }, + "UpdateSimulationApplicationResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the updated simulation application.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the simulation application.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    The version of the robot application.

    " + }, + "sources":{ + "shape":"Sources", + "documentation":"

    The sources of the simulation application.

    " + }, + "simulationSoftwareSuite":{ + "shape":"SimulationSoftwareSuite", + "documentation":"

    The simulation software suite used by the simulation application.

    " + }, + "robotSoftwareSuite":{ + "shape":"RobotSoftwareSuite", + "documentation":"

    Information about the robot software suite (ROS distribution).

    " + }, + "renderingEngine":{ + "shape":"RenderingEngine", + "documentation":"

    The rendering engine for the simulation application.

    " + }, + "lastUpdatedAt":{ + "shape":"LastUpdatedAt", + "documentation":"

    The time, in milliseconds since the epoch, when the simulation application was last updated.

    " + }, + "revisionId":{ + "shape":"RevisionId", + "documentation":"

    The revision id of the simulation application.

    " + } + } + }, + "VPCConfig":{ + "type":"structure", + "required":["subnets"], + "members":{ + "subnets":{ + "shape":"Subnets", + "documentation":"

    A list of one or more subnet IDs in your VPC.

    " + }, + "securityGroups":{ + "shape":"SecurityGroups", + "documentation":"

    A list of one or more security groups IDs in your VPC.

    " + }, + "assignPublicIp":{ + "shape":"Boolean", + "documentation":"

    A boolean indicating whether to assign a public IP address.

    " + } + }, + "documentation":"

    If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and two subnet IDs.

    " + }, + "VPCConfigResponse":{ + "type":"structure", + "members":{ + "subnets":{ + "shape":"Subnets", + "documentation":"

    A list of subnet IDs associated with the simulation job.

    " + }, + "securityGroups":{ + "shape":"SecurityGroups", + "documentation":"

    A list of security group IDs associated with the simulation job.

    " + }, + "vpcId":{ + "shape":"GenericString", + "documentation":"

    The VPC ID associated with your simulation job.

    " + }, + "assignPublicIp":{ + "shape":"Boolean", + "documentation":"

    A boolean indicating if a public IP was assigned.

    " + } + }, + "documentation":"

    VPC configuration associated with your simulation job.

    " + }, + "Version":{ + "type":"string", + "max":255, + "min":1, + "pattern":"(\\$LATEST)|[0-9]*" + }, + "VersionQualifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"ALL" + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

    This section provides documentation for the AWS RoboMaker API operations.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/route53/2013-04-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/examples-1.json --- python-botocore-1.4.70/botocore/data/route53/2013-04-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,762 @@ +{ + "version": "1.0", + "examples": { + "AssociateVPCWithHostedZone": [ + { + "input": { + "Comment": "", + "HostedZoneId": "Z3M3LMPEXAMPLE", + "VPC": { + "VPCId": "vpc-1a2b3c4d", + "VPCRegion": "us-east-2" + } + }, + "output": { + "ChangeInfo": { + "Comment": "", + "Id": "/change/C3HC6WDB2UANE2", + "Status": "INSYNC", + "SubmittedAt": "2017-01-31T01:36:41.958Z" + } + }, + "comments": { + "input": { + }, + "output": { + "Status": "Valid values are PENDING and INSYNC.", + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example associates the VPC with ID vpc-1a2b3c4d with the hosted zone with ID Z3M3LMPEXAMPLE.", + "id": "to-associate-a-vpc-with-a-hosted-zone-1484069228699", + "title": "To associate a VPC with a hosted zone" + } + ], + "ChangeResourceRecordSets": [ + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.44" + } + ], + "TTL": 60, + "Type": "A" + } + } + ], + "Comment": "Web server for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Web server for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "TTL": "The amount of time in seconds that you want DNS resolvers to cache the values in this resource record set before submitting another request to Route 53", + "Value": "The value that is applicable to the value of Type. For example, if Type is A, Value is an IPv4 address" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates a resource record set that routes Internet traffic to a resource with an IP address of 192.0.2.44.", + "id": "to-create-update-or-delete-resource-record-sets-1484344703668", + "title": "To create a basic resource record set" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "HealthCheckId": "abcdef11-2222-3333-4444-555555fedcba", + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.44" + } + ], + "SetIdentifier": "Seattle data center", + "TTL": 60, + "Type": "A", + "Weight": 100 + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "HealthCheckId": "abcdef66-7777-8888-9999-000000fedcba", + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.45" + } + ], + "SetIdentifier": "Portland data center", + "TTL": 60, + "Type": "A", + "Weight": 200 + } + } + ], + "Comment": "Web servers for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Web servers for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "TTL": "The amount of time in seconds that you want DNS resolvers to cache the values in this resource record set before submitting another request to Route 53. TTLs must be the same for all weighted resource record sets that have the same name and type.", + "Value": "The value that is applicable to the value of Type. For example, if Type is A, Value is an IPv4 address" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates two weighted resource record sets. The resource with a Weight of 100 will get 1/3rd of traffic (100/100+200), and the other resource will get the rest of the traffic for example.com.", + "id": "to-create-weighted-resource-record-sets-1484348208522", + "title": "To create weighted resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "d123rk29d0stfj.cloudfront.net", + "EvaluateTargetHealth": false, + "HostedZoneId": "Z2FDTNDATAQYW2" + }, + "Name": "example.com", + "Type": "A" + } + } + ], + "Comment": "CloudFront distribution for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "CloudFront distribution for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "DNSName": "The DNS name assigned to the resource", + "HostedZoneId": "Depends on the type of resource that you want to route traffic to", + "Type": "A or AAAA, depending on the type of resource that you want to route traffic to" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates an alias resource record set that routes traffic to a CloudFront distribution.", + "id": "to-create-an-alias-resource-record-set-1484348404062", + "title": "To create an alias resource record set" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-123456789.us-east-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z3AADJGX6KTTL2" + }, + "Name": "example.com", + "SetIdentifier": "Ohio region", + "Type": "A", + "Weight": 100 + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-987654321.us-west-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z1H1FL5HABSF5" + }, + "Name": "example.com", + "SetIdentifier": "Oregon region", + "Type": "A", + "Weight": 200 + } + } + ], + "Comment": "ELB load balancers for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "ELB load balancers for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "DNSName": "The DNS name assigned to the resource", + "HostedZoneId": "Depends on the type of resource that you want to route traffic to", + "Type": "A or AAAA, depending on the type of resource that you want to route traffic to" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates two weighted alias resource record sets that route traffic to ELB load balancers. The resource with a Weight of 100 will get 1/3rd of traffic (100/100+200), and the other resource will get the rest of the traffic for example.com.", + "id": "to-create-weighted-alias-resource-record-sets-1484349467416", + "title": "To create weighted alias resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "HealthCheckId": "abcdef11-2222-3333-4444-555555fedcba", + "Name": "example.com", + "Region": "us-east-2", + "ResourceRecords": [ + { + "Value": "192.0.2.44" + } + ], + "SetIdentifier": "Ohio region", + "TTL": 60, + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "HealthCheckId": "abcdef66-7777-8888-9999-000000fedcba", + "Name": "example.com", + "Region": "us-west-2", + "ResourceRecords": [ + { + "Value": "192.0.2.45" + } + ], + "SetIdentifier": "Oregon region", + "TTL": 60, + "Type": "A" + } + } + ], + "Comment": "EC2 instances for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "EC2 instances for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "TTL": "The amount of time in seconds that you want DNS resolvers to cache the values in this resource record set before submitting another request to Route 53", + "Value": "The value that is applicable to the value of Type. For example, if Type is A, Value is an IPv4 address" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates two latency resource record sets that route traffic to EC2 instances. Traffic for example.com is routed either to the Ohio region or the Oregon region, depending on the latency between the user and those regions.", + "id": "to-create-latency-resource-record-sets-1484350219917", + "title": "To create latency resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-123456789.us-east-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z3AADJGX6KTTL2" + }, + "Name": "example.com", + "Region": "us-east-2", + "SetIdentifier": "Ohio region", + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-987654321.us-west-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z1H1FL5HABSF5" + }, + "Name": "example.com", + "Region": "us-west-2", + "SetIdentifier": "Oregon region", + "Type": "A" + } + } + ], + "Comment": "ELB load balancers for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "ELB load balancers for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "DNSName": "The DNS name assigned to the resource", + "HostedZoneId": "Depends on the type of resource that you want to route traffic to", + "Type": "A or AAAA, depending on the type of resource that you want to route traffic to" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates two latency alias resource record sets that route traffic for example.com to ELB load balancers. Requests are routed either to the Ohio region or the Oregon region, depending on the latency between the user and those regions.", + "id": "to-create-latency-alias-resource-record-sets-1484601774179", + "title": "To create latency alias resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "Failover": "PRIMARY", + "HealthCheckId": "abcdef11-2222-3333-4444-555555fedcba", + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.44" + } + ], + "SetIdentifier": "Ohio region", + "TTL": 60, + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "Failover": "SECONDARY", + "HealthCheckId": "abcdef66-7777-8888-9999-000000fedcba", + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.45" + } + ], + "SetIdentifier": "Oregon region", + "TTL": 60, + "Type": "A" + } + } + ], + "Comment": "Failover configuration for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Failover configuration for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "TTL": "The amount of time in seconds that you want DNS resolvers to cache the values in this resource record set before submitting another request to Route 53", + "Value": "The value that is applicable to the value of Type. For example, if Type is A, Value is an IPv4 address" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates primary and secondary failover resource record sets that route traffic to EC2 instances. Traffic is generally routed to the primary resource, in the Ohio region. If that resource is unavailable, traffic is routed to the secondary resource, in the Oregon region.", + "id": "to-create-failover-resource-record-sets-1484604541740", + "title": "To create failover resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-123456789.us-east-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z3AADJGX6KTTL2" + }, + "Failover": "PRIMARY", + "Name": "example.com", + "SetIdentifier": "Ohio region", + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-987654321.us-west-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z1H1FL5HABSF5" + }, + "Failover": "SECONDARY", + "Name": "example.com", + "SetIdentifier": "Oregon region", + "Type": "A" + } + } + ], + "Comment": "Failover alias configuration for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Failover alias configuration for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "DNSName": "The DNS name assigned to the resource", + "HostedZoneId": "Depends on the type of resource that you want to route traffic to", + "Type": "A or AAAA, depending on the type of resource that you want to route traffic to" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates primary and secondary failover alias resource record sets that route traffic to ELB load balancers. Traffic is generally routed to the primary resource, in the Ohio region. If that resource is unavailable, traffic is routed to the secondary resource, in the Oregon region.", + "id": "to-create-failover-alias-resource-record-sets-1484607497724", + "title": "To create failover alias resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "GeoLocation": { + "ContinentCode": "NA" + }, + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.44" + } + ], + "SetIdentifier": "North America", + "TTL": 60, + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "GeoLocation": { + "ContinentCode": "SA" + }, + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.45" + } + ], + "SetIdentifier": "South America", + "TTL": 60, + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "GeoLocation": { + "ContinentCode": "EU" + }, + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.46" + } + ], + "SetIdentifier": "Europe", + "TTL": 60, + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "GeoLocation": { + "CountryCode": "*" + }, + "Name": "example.com", + "ResourceRecords": [ + { + "Value": "192.0.2.47" + } + ], + "SetIdentifier": "Other locations", + "TTL": 60, + "Type": "A" + } + } + ], + "Comment": "Geolocation configuration for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Geolocation configuration for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "TTL": "The amount of time in seconds that you want DNS resolvers to cache the values in this resource record set before submitting another request to Route 53", + "Value": "The value that is applicable to the value of Type. For example, if Type is A, Value is an IPv4 address" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates four geolocation resource record sets that use IPv4 addresses to route traffic to resources such as web servers running on EC2 instances. Traffic is routed to one of four IP addresses, for North America (NA), for South America (SA), for Europe (EU), and for all other locations (*).", + "id": "to-create-geolocation-resource-record-sets-1484612462466", + "title": "To create geolocation resource record sets" + }, + { + "input": { + "ChangeBatch": { + "Changes": [ + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-123456789.us-east-2.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z3AADJGX6KTTL2" + }, + "GeoLocation": { + "ContinentCode": "NA" + }, + "Name": "example.com", + "SetIdentifier": "North America", + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-234567890.sa-east-1.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z2P70J7HTTTPLU" + }, + "GeoLocation": { + "ContinentCode": "SA" + }, + "Name": "example.com", + "SetIdentifier": "South America", + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-234567890.eu-central-1.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z215JYRZR1TBD5" + }, + "GeoLocation": { + "ContinentCode": "EU" + }, + "Name": "example.com", + "SetIdentifier": "Europe", + "Type": "A" + } + }, + { + "Action": "CREATE", + "ResourceRecordSet": { + "AliasTarget": { + "DNSName": "example-com-234567890.ap-southeast-1.elb.amazonaws.com ", + "EvaluateTargetHealth": true, + "HostedZoneId": "Z1LMS91P8CMLE5" + }, + "GeoLocation": { + "CountryCode": "*" + }, + "Name": "example.com", + "SetIdentifier": "Other locations", + "Type": "A" + } + } + ], + "Comment": "Geolocation alias configuration for example.com" + }, + "HostedZoneId": "Z3M3LMPEXAMPLE" + }, + "output": { + "ChangeInfo": { + "Comment": "Geolocation alias configuration for example.com", + "Id": "/change/C2682N5HXP0BZ4", + "Status": "PENDING", + "SubmittedAt": "2017-02-10T01:36:41.958Z" + } + }, + "comments": { + "input": { + "Action": "Valid values: CREATE, DELETE, UPSERT", + "DNSName": "The DNS name assigned to the resource", + "HostedZoneId": "Depends on the type of resource that you want to route traffic to", + "Type": "A or AAAA, depending on the type of resource that you want to route traffic to" + }, + "output": { + "SubmittedAt": "The date and time are in Coordinated Universal Time (UTC) and ISO 8601 format." + } + }, + "description": "The following example creates four geolocation alias resource record sets that route traffic to ELB load balancers. Traffic is routed to one of four IP addresses, for North America (NA), for South America (SA), for Europe (EU), and for all other locations (*).", + "id": "to-create-geolocation-alias-resource-record-sets-1484612871203", + "title": "To create geolocation alias resource record sets" + } + ], + "ChangeTagsForResource": [ + { + "input": { + "AddTags": [ + { + "Key": "apex", + "Value": "3874" + }, + { + "Key": "acme", + "Value": "4938" + } + ], + "RemoveTagKeys": [ + "Nadir" + ], + "ResourceId": "Z3M3LMPEXAMPLE", + "ResourceType": "hostedzone" + }, + "output": { + }, + "comments": { + "input": { + "ResourceType": "Valid values are healthcheck and hostedzone." + }, + "output": { + } + }, + "description": "The following example adds two tags and removes one tag from the hosted zone with ID Z3M3LMPEXAMPLE.", + "id": "to-add-or-remove-tags-from-a-hosted-zone-or-health-check-1484084752409", + "title": "To add or remove tags from a hosted zone or health check" + } + ], + "GetHostedZone": [ + { + "input": { + "Id": "Z3M3LMPEXAMPLE" + }, + "output": { + "DelegationSet": { + "NameServers": [ + "ns-2048.awsdns-64.com", + "ns-2049.awsdns-65.net", + "ns-2050.awsdns-66.org", + "ns-2051.awsdns-67.co.uk" + ] + }, + "HostedZone": { + "CallerReference": "C741617D-04E4-F8DE-B9D7-0D150FC61C2E", + "Config": { + "PrivateZone": false + }, + "Id": "/hostedzone/Z3M3LMPEXAMPLE", + "Name": "myawsbucket.com.", + "ResourceRecordSetCount": 8 + } + }, + "comments": { + "input": { + }, + "output": { + "Id": "The ID of the hosted zone that you specified in the GetHostedZone request.", + "Name": "The name of the hosted zone.", + "NameServers": "The servers that you specify in your domain configuration.", + "PrivateZone": "True if this is a private hosted zone, false if it's a public hosted zone." + } + }, + "description": "The following example gets information about the Z3M3LMPEXAMPLE hosted zone.", + "id": "to-get-information-about-a-hosted-zone-1481752361124", + "title": "To get information about a hosted zone" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/route53/2013-04-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/route53/2013-04-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -28,6 +28,22 @@ "NextRecordType", "NextRecordIdentifier" ] + }, + "ListVPCAssociationAuthorizations": { + "input_token": "NextToken", + "output_token": "NextToken", + "non_aggregate_keys": [ + "HostedZoneId" + ], + "result_key": [ + "VPCs" + ] + }, + "ListQueryLoggingConfigs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "QueryLoggingConfigs" } } } diff -Nru python-botocore-1.4.70/botocore/data/route53/2013-04-01/service-2.json python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/service-2.json --- python-botocore-1.4.70/botocore/data/route53/2013-04-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53/2013-04-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,7 +7,9 @@ "protocol":"rest-xml", "serviceAbbreviation":"Route 53", "serviceFullName":"Amazon Route 53", - "signatureVersion":"v4" + "serviceId":"Route 53", + "signatureVersion":"v4", + "uid":"route53-2013-04-01" }, "operations":{ "AssociateVPCWithHostedZone":{ @@ -24,13 +26,14 @@ "output":{"shape":"AssociateVPCWithHostedZoneResponse"}, "errors":[ {"shape":"NoSuchHostedZone"}, + {"shape":"NotAuthorizedException"}, {"shape":"InvalidVPCId"}, {"shape":"InvalidInput"}, {"shape":"PublicZoneVPCAssociation"}, {"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 /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.

    " + "documentation":"

    Associates an Amazon VPC with a private hosted zone.

    To perform the association, the VPC and the private hosted zone must already exist. Also, you can't convert a public hosted zone into a private hosted zone.

    If you want to associate a VPC that was created by one AWS account with a private hosted zone that was created by a different account, do one of the following:

    • Use the AWS account that created the private hosted zone to submit a CreateVPCAssociationAuthorization request. Then use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

    • If a subnet in the VPC was shared with another account, you can use the account that the subnet was shared with to submit an AssociateVPCWithHostedZone request. For more information about sharing subnets, see Working with Shared VPCs.

    " }, "ChangeResourceRecordSets":{ "name":"ChangeResourceRecordSets", @@ -51,7 +54,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 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:

    • CREATE: Creates a resource record set that has the specified values.

    • DELETE: Deletes an existing resource record set that has the specified values for Name, Type, Set Identifier (for code latency, weighted, geolocation, and failover resource record sets), and TTL (except alias resource record sets, for which the TTL is determined by the AWS resource you're routing queries to).

    • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Amazon Route 53 updates it with the values in the request. Amazon Route 53 can update an existing resource record set only when all of the following values match: Name, Type, and Set Identifier (for weighted, latency, geolocation, and failover resource record sets).

    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.

    " + "documentation":"

    Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified domain name or subdomain name. For example, you can use ChangeResourceRecordSets to create a resource record set that routes traffic for test.example.com to a web server that has an IP address of 192.0.2.44.

    Deleting Resource Record Sets

    To delete a resource record set, you must specify all the same values that you specified when you created it.

    Change Batches and Transactional Changes

    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. Route 53 validates the changes in the request and then either makes all or none of the changes in the change batch request. This ensures that DNS routing isn't adversely affected by partial changes to the resource record sets in a hosted zone.

    For example, suppose a change batch request contains two changes: it deletes the CNAME resource record set for www.example.com and creates an alias resource record set for www.example.com. If validation for both records succeeds, Route 53 deletes the first resource record set and creates the second resource record set in a single operation. If validation for either the DELETE or the CREATE action fails, then the request is canceled, and the original CNAME record continues to exist.

    If you try to delete the same resource record set more than once in a single change batch, Route 53 returns an InvalidChangeBatch error.

    Traffic Flow

    To create resource record sets for complex routing configurations, use either the traffic flow visual editor in the 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.

    Create, Delete, and Upsert

    Use ChangeResourceRecordsSetsRequest to perform the following actions:

    • CREATE: Creates a resource record set that has the specified values.

    • DELETE: Deletes an existing resource record set that has the specified values.

    • UPSERT: If a resource record set does not already exist, AWS creates it. If a resource set does exist, Route 53 updates it with the values in the request.

    Syntaxes for Creating, Updating, and Deleting Resource Record Sets

    The syntax for a request depends on the type of resource record set that you want to create, delete, or update, such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the syntax.

    For an example for each type of resource record set, see \"Examples.\"

    Don't refer to the syntax in the \"Parameter Syntax\" section, which includes all of the elements for every kind of resource record set that you can create, delete, or update by using ChangeResourceRecordSets.

    Change Propagation to Route 53 DNS Servers

    When you submit a ChangeResourceRecordSets request, Route 53 propagates your changes to all of the Route 53 authoritative DNS servers. While your changes are propagating, GetChange returns a status of PENDING. When propagation is complete, GetChange returns a status of INSYNC. Changes generally propagate to all Route 53 name servers within 60 seconds. For more information, see GetChange.

    Limits on ChangeResourceRecordSets Requests

    For information about the limits on a ChangeResourceRecordSets request, see Limits in the Amazon Route 53 Developer Guide.

    " }, "ChangeTagsForResource":{ "name":"ChangeTagsForResource", @@ -72,7 +75,7 @@ {"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.

    " + "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", @@ -92,7 +95,7 @@ {"shape":"HealthCheckAlreadyExists"}, {"shape":"InvalidInput"} ], - "documentation":"

    Creates a new health check.

    To create a new health check, send a POST request to the /2013-04-01/healthcheck resource. The request body must include an XML document with a CreateHealthCheckRequest element. The response returns the CreateHealthCheckResponse element, containing the health check ID specified when adding health check to a resource record set. For information about adding health checks to resource record sets, see ResourceRecordSet$HealthCheckId in ChangeResourceRecordSets.

    If you are registering Amazon EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the Amazon EC2 instances. When you register an Amazon EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to an Amazon Route 53 health check.

    You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

    • Amazon Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

    • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

    • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch Developer Guide.

    " + "documentation":"

    Creates a new health check.

    For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets.

    ELB Load Balancers

    If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you configure settings for an ELB health check, which performs a similar function to a Route 53 health check.

    Private Hosted Zones

    You can associate health checks with failover resource record sets in a private hosted zone. Note the following:

    • Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you must assign a public IP address to the instance in the VPC.

    • You can configure a health checker to check the health of an external resource that the instance relies on, such as a database server.

    • You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the Amazon EC2 StatusCheckFailed metric, add an alarm to the metric, and then create a health check that is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the CloudWatch console, see the Amazon CloudWatch User Guide.

    " }, "CreateHostedZone":{ "name":"CreateHostedZone", @@ -118,7 +121,30 @@ {"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 /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:

    • You cannot create a hosted zone for a top-level domain (TLD).

    • Amazon Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Amazon Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

    • If your domain is registered with a registrar other than Amazon Route 53, you must update the name servers with your registrar to make Amazon Route 53 your DNS service. For more information, see Configuring Amazon Route 53 as your DNS Service in the Amazon Route 53 Developer's Guide.

    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.

    " + "documentation":"

    Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com, acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).

    You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new hosted zone with the same name and create new resource record sets.

    For more information about charges for hosted zones, see Amazon Route 53 Pricing.

    Note the following:

    • You can't create a hosted zone for a top-level domain (TLD) such as .com.

    • For public hosted zones, Route 53 automatically creates a default SOA record and four NS records for the zone. For more information about SOA and NS records, see NS and SOA Records that Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.

      If you want to use the same name servers for multiple public hosted zones, you can optionally associate a reusable delegation set with the hosted zone. See the DelegationSetId element.

    • If your domain is registered with a registrar other than Route 53, you must update the name servers with your registrar to make Route 53 the DNS service for the domain. For more information, see Migrating DNS Service for an Existing Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.

    When you submit a CreateHostedZone request, the initial status of the hosted zone is PENDING. For public hosted zones, this means that the NS and SOA records are not yet available on all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to INSYNC.

    " + }, + "CreateQueryLoggingConfig":{ + "name":"CreateQueryLoggingConfig", + "http":{ + "method":"POST", + "requestUri":"/2013-04-01/queryloggingconfig", + "responseCode":201 + }, + "input":{ + "shape":"CreateQueryLoggingConfigRequest", + "locationName":"CreateQueryLoggingConfigRequest", + "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} + }, + "output":{"shape":"CreateQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"NoSuchHostedZone"}, + {"shape":"NoSuchCloudWatchLogsLogGroup"}, + {"shape":"InvalidInput"}, + {"shape":"QueryLoggingConfigAlreadyExists"}, + {"shape":"InsufficientCloudWatchLogsResourcePolicy"} + ], + "documentation":"

    Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53 begins to publish log data to an Amazon CloudWatch Logs log group.

    DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone, such as the following:

    • Route 53 edge location that responded to the DNS query

    • Domain or subdomain that was requested

    • DNS record type, such as A or AAAA

    • DNS response code, such as NoError or ServFail

    Log Group and Resource Policy

    Before you create a query logging configuration, perform the following operations.

    If you create a query logging configuration using the Route 53 console, Route 53 performs these operations automatically.

    1. Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging configuration. Note the following:

      • You must create the log group in the us-east-1 region.

      • You must use the same AWS account to create the log group and the hosted zone that you want to configure query logging for.

      • When you create log groups for query logging, we recommend that you use a consistent prefix, for example:

        /aws/route53/hosted zone name

        In the next step, you'll create a resource policy, which controls access to one or more log groups and the associated AWS resources, such as Route 53 hosted zones. There's a limit on the number of resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same resource policy for all the log groups that you create for query logging.

    2. Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams and to send query logs to log streams. For the value of Resource, specify the ARN for the log group that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups that you created for query logging configurations, replace the hosted zone name with *, for example:

      arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*

      You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of the AWS SDKs, or the AWS CLI.

    Log Streams and Edge Locations

    When Route 53 finishes creating the configuration for DNS query logging, it does the following:

    • Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge location.

    • Begins to send query logs to the applicable log stream.

    The name of each log stream is in the following format:

    hosted zone ID/edge location code

    The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The three-letter code typically corresponds with the International Air Transport Association airport code for an airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations, see \"The Route 53 Global Network\" on the Route 53 Product Details page.

    Queries That Are Logged

    Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and depending on the TTL for that resource record set, query logs might contain information about only one query out of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.

    Log File Format

    For a list of the values in each query log and the format of each value, see Logging DNS Queries in the Amazon Route 53 Developer Guide.

    Pricing

    For information about charges for query logs, see Amazon CloudWatch Pricing.

    How to Stop Logging

    If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For more information, see DeleteQueryLoggingConfig.

    " }, "CreateReusableDelegationSet":{ "name":"CreateReusableDelegationSet", @@ -142,7 +168,7 @@ {"shape":"DelegationSetNotAvailable"}, {"shape":"DelegationSetAlreadyReusable"} ], - "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.

    " + "documentation":"

    Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones that were created by the same AWS account.

    You can also create a reusable delegation set that uses the four name servers that are associated with an existing hosted zone. Specify the hosted zone ID in the CreateReusableDelegationSet request.

    You can't associate a reusable delegation set with a private hosted zone.

    For information about using a reusable delegation set to configure white label name servers, see Configuring White Label Name Servers.

    The process for migrating existing hosted zones to use a reusable delegation set is comparable to the process for configuring white label name servers. You need to perform the following steps:

    1. Create a reusable delegation set.

    2. Recreate hosted zones, and reduce the TTL to 60 seconds or less.

    3. Recreate resource record sets in the new hosted zones.

    4. Change the registrar's name servers to use the name servers for the new hosted zones.

    5. Monitor traffic for the website or application.

    6. Change TTLs back to their original values.

    If you want to migrate existing hosted zones to use a reusable delegation set, the existing hosted zones can't use any of the name servers that are assigned to the reusable delegation set. If one or more hosted zones do use one or more name servers that are assigned to the reusable delegation set, you can do one of the following:

    • For small numbers of hosted zones—up to a few hundred—it's relatively easy to create reusable delegation sets until you get one that has four name servers that don't overlap with any of the name servers in your hosted zones.

    • For larger numbers of hosted zones, the easiest solution is to use more than one reusable delegation set.

    • For larger numbers of hosted zones, you can also migrate hosted zones that have overlapping name servers to hosted zones that don't have overlapping name servers, then migrate the hosted zones again to use the reusable delegation set.

    " }, "CreateTrafficPolicy":{ "name":"CreateTrafficPolicy", @@ -163,7 +189,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 /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.

    " + "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).

    " }, "CreateTrafficPolicyInstance":{ "name":"CreateTrafficPolicyInstance", @@ -185,7 +211,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 /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.

    " + "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.

    " }, "CreateTrafficPolicyVersion":{ "name":"CreateTrafficPolicyVersion", @@ -203,10 +229,32 @@ "errors":[ {"shape":"NoSuchTrafficPolicy"}, {"shape":"InvalidInput"}, + {"shape":"TooManyTrafficPolicyVersionsForCurrentPolicy"}, {"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 /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.

    " + "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.

    " + }, + "CreateVPCAssociationAuthorization":{ + "name":"CreateVPCAssociationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/2013-04-01/hostedzone/{Id}/authorizevpcassociation" + }, + "input":{ + "shape":"CreateVPCAssociationAuthorizationRequest", + "locationName":"CreateVPCAssociationAuthorizationRequest", + "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} + }, + "output":{"shape":"CreateVPCAssociationAuthorizationResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"TooManyVPCAssociationAuthorizations"}, + {"shape":"NoSuchHostedZone"}, + {"shape":"InvalidVPCId"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Authorizes the AWS account that created a specified VPC to submit an AssociateVPCWithHostedZone request to associate the VPC with a specified hosted zone that was created by a different account. To submit a CreateVPCAssociationAuthorization request, you must use the account that created the hosted zone. After you authorize the association, use the account that created the VPC to submit an AssociateVPCWithHostedZone request.

    If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created by using a different account, you must submit one authorization request for each VPC.

    " }, "DeleteHealthCheck":{ "name":"DeleteHealthCheck", @@ -221,7 +269,7 @@ {"shape":"HealthCheckInUse"}, {"shape":"InvalidInput"} ], - "documentation":"

    Deletes a health check. Send a DELETE request to the /2013-04-01/healthcheck/health check ID resource.

    Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check cannot be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    Deletes a health check.

    Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one or more resource record sets. If you delete a health check and you don't update the associated resource record sets, the future status of the health check can't be predicted and may change. This will affect the routing of DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.

    If you're using AWS Cloud Map and you configured Cloud Map to create a Route 53 health check when you register an instance, you can't use the Route 53 DeleteHealthCheck command to delete the health check. The health check is deleted automatically when you deregister the instance; there can be a delay of several hours before the health check is deleted from Route 53.

    " }, "DeleteHostedZone":{ "name":"DeleteHostedZone", @@ -238,7 +286,22 @@ {"shape":"InvalidInput"}, {"shape":"InvalidDomainName"} ], - "documentation":"

    Deletes a hosted zone. Send a DELETE request to the /Amazon Route 53 API version/hostedzone/hosted zone ID resource.

    Delete a hosted zone only if there are no resource record sets other than the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, delete them before deleting the hosted zone. If you try to delete a hosted zone that contains other resource record sets, Amazon Route 53 denies your request with a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

    " + "documentation":"

    Deletes a hosted zone.

    If the hosted zone was created by another service, such as AWS Cloud Map, see Deleting Public Hosted Zones That Were Created by Another Service in the Amazon Route 53 Developer Guide for information about how to delete it. (The process is the same for public and private hosted zones that were created by another service.)

    If you want to keep your domain registration but you want to stop routing internet traffic to your website or web application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone.

    If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their own resources using your domain name.

    If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration. If the domain is registered with Route 53, see UpdateDomainNameservers for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is registered with another registrar, use the method provided by the registrar to update name servers for the domain registration. For more information, perform an internet search on \"free DNS service.\"

    You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see ChangeResourceRecordSets.

    To verify that the hosted zone has been deleted, do one of the following:

    • Use the GetHostedZone action to request information about the hosted zone.

    • Use the ListHostedZones action to get a list of the hosted zones associated with the current AWS account.

    " + }, + "DeleteQueryLoggingConfig":{ + "name":"DeleteQueryLoggingConfig", + "http":{ + "method":"DELETE", + "requestUri":"/2013-04-01/queryloggingconfig/{Id}" + }, + "input":{"shape":"DeleteQueryLoggingConfigRequest"}, + "output":{"shape":"DeleteQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"NoSuchQueryLoggingConfig"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query logs to CloudWatch Logs. Route 53 doesn't delete any logs that are already in CloudWatch Logs.

    For more information about DNS query logs, see CreateQueryLoggingConfig.

    " }, "DeleteReusableDelegationSet":{ "name":"DeleteReusableDelegationSet", @@ -254,7 +317,7 @@ {"shape":"DelegationSetNotReusable"}, {"shape":"InvalidInput"} ], - "documentation":"

    Deletes a reusable delegation set. Send a DELETE request to the /2013-04-01/delegationset/delegation set ID resource.

    You can delete a reusable delegation set only if there are no associated hosted zones.

    To verify that the reusable delegation set is not associated with any hosted zones, run the GetReusableDelegationSet action and specify the ID of the reusable delegation set that you want to delete.

    " + "documentation":"

    Deletes a reusable delegation set.

    You can delete a reusable delegation set only if it isn't associated with any hosted zones.

    To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.

    " }, "DeleteTrafficPolicy":{ "name":"DeleteTrafficPolicy", @@ -270,7 +333,7 @@ {"shape":"TrafficPolicyInUse"}, {"shape":"ConcurrentModification"} ], - "documentation":"

    Deletes a traffic policy.

    Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy resource.

    " + "documentation":"

    Deletes a traffic policy.

    " }, "DeleteTrafficPolicyInstance":{ "name":"DeleteTrafficPolicyInstance", @@ -285,7 +348,28 @@ {"shape":"InvalidInput"}, {"shape":"PriorRequestNotComplete"} ], - "documentation":"

    Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance.

    Send a DELETE request to the /Amazon Route 53 API version/trafficpolicy/traffic policy instance ID resource.

    In the Amazon Route 53 console, traffic policy instances are known as policy records.

    " + "documentation":"

    Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you created the instance.

    In the Route 53 console, traffic policy instances are known as policy records.

    " + }, + "DeleteVPCAssociationAuthorization":{ + "name":"DeleteVPCAssociationAuthorization", + "http":{ + "method":"POST", + "requestUri":"/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation" + }, + "input":{ + "shape":"DeleteVPCAssociationAuthorizationRequest", + "locationName":"DeleteVPCAssociationAuthorizationRequest", + "xmlNamespace":{"uri":"https://route53.amazonaws.com/doc/2013-04-01/"} + }, + "output":{"shape":"DeleteVPCAssociationAuthorizationResponse"}, + "errors":[ + {"shape":"ConcurrentModification"}, + {"shape":"VPCAssociationAuthorizationNotFound"}, + {"shape":"NoSuchHostedZone"}, + {"shape":"InvalidVPCId"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Removes authorization to submit an AssociateVPCWithHostedZone request to associate a specified VPC with a hosted zone that was created by a different account. You must use the account that created the hosted zone to submit a DeleteVPCAssociationAuthorization request.

    Sending this request only prevents the AWS account that created the VPC from associating the VPC with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone, DeleteVPCAssociationAuthorization won't disassociate the VPC from the hosted zone. If you want to delete an existing association, use DisassociateVPCFromHostedZone.

    " }, "DisassociateVPCFromHostedZone":{ "name":"DisassociateVPCFromHostedZone", @@ -306,36 +390,34 @@ {"shape":"LastVPCAssociation"}, {"shape":"InvalidInput"} ], - "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.

    " + "documentation":"

    Disassociates a VPC from a Amazon Route 53 private hosted zone. Note the following:

    • You can't disassociate the last VPC from a private hosted zone.

    • You can't convert a private hosted zone into a public hosted zone.

    • You can submit a DisassociateVPCFromHostedZone request using either the account that created the hosted zone or the account that created the VPC.

    " }, - "GetChange":{ - "name":"GetChange", + "GetAccountLimit":{ + "name":"GetAccountLimit", "http":{ "method":"GET", - "requestUri":"/2013-04-01/change/{Id}" + "requestUri":"/2013-04-01/accountlimit/{Type}" }, - "input":{"shape":"GetChangeRequest"}, - "output":{"shape":"GetChangeResponse"}, + "input":{"shape":"GetAccountLimitRequest"}, + "output":{"shape":"GetAccountLimitResponse"}, "errors":[ - {"shape":"NoSuchChange"}, {"shape":"InvalidInput"} ], - "documentation":"

    Returns the current status of a change batch request. The status is one of the following values:

    • PENDING indicates that the changes in this request have not replicated to all Amazon Route 53 DNS servers. This is the initial status of all change batch requests.

    • INSYNC indicates that the changes have replicated to all Amazon Route 53 DNS servers.

    " + "documentation":"

    Gets the specified limit for the current account, for example, the maximum number of health checks that you can create using the account.

    For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

    You can also view account limits in AWS Trusted Advisor. Sign in to the AWS Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then choose Service limits in the navigation pane.

    " }, - "GetChangeDetails":{ - "name":"GetChangeDetails", + "GetChange":{ + "name":"GetChange", "http":{ "method":"GET", - "requestUri":"/2013-04-01/changedetails/{Id}" + "requestUri":"/2013-04-01/change/{Id}" }, - "input":{"shape":"GetChangeDetailsRequest"}, - "output":{"shape":"GetChangeDetailsResponse"}, + "input":{"shape":"GetChangeRequest"}, + "output":{"shape":"GetChangeResponse"}, "errors":[ {"shape":"NoSuchChange"}, {"shape":"InvalidInput"} ], - "documentation":"

    Returns the status and changes of a change batch request.

    ", - "deprecated":true + "documentation":"

    Returns the current status of a change batch request. The status is one of the following values:

    • PENDING indicates that the changes in this request have not propagated to all Amazon Route 53 DNS servers. This is the initial status of all change batch requests.

    • INSYNC indicates that the changes have propagated to all Route 53 DNS servers.

    " }, "GetCheckerIpRanges":{ "name":"GetCheckerIpRanges", @@ -345,7 +427,7 @@ }, "input":{"shape":"GetCheckerIpRangesRequest"}, "output":{"shape":"GetCheckerIpRangesResponse"}, - "documentation":"

    Retrieves a list of the IP ranges used by Amazon Route 53 health checkers to check the health of your resources. Send a GET request to the /Amazon Route 53 API version/checkeripranges resource. Use these IP addresses to configure router and firewall rules to allow health checkers to check the health of your resources.

    " + "documentation":"

    GetCheckerIpRanges still works, but we recommend that you download ip-ranges.json, which includes IP address ranges for all AWS services. For more information, see IP Address Ranges of Amazon Route 53 Servers in the Amazon Route 53 Developer Guide.

    " }, "GetGeoLocation":{ "name":"GetGeoLocation", @@ -359,7 +441,7 @@ {"shape":"NoSuchGeoLocation"}, {"shape":"InvalidInput"} ], - "documentation":"

    Retrieves a single geo location. Send a GET request to the /2013-04-01/geolocation resource with one of these options: continentcode | countrycode | countrycode and subdivisioncode.

    " + "documentation":"

    Gets information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets.

    Use the following syntax to determine whether a continent is supported for geolocation:

    GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a continent

    Use the following syntax to determine whether a country is supported for geolocation:

    GET /2013-04-01/geolocation?countrycode=two-character country code

    Use the following syntax to determine whether a subdivision of a country is supported for geolocation:

    GET /2013-04-01/geolocation?countrycode=two-character country code&subdivisioncode=subdivision code

    " }, "GetHealthCheck":{ "name":"GetHealthCheck", @@ -374,7 +456,7 @@ {"shape":"InvalidInput"}, {"shape":"IncompatibleVersion"} ], - "documentation":"

    Gets information about a specified health check. Send a GET request to the /2013-04-01/healthcheck/health check ID resource. For more information about using the console to perform this operation, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    Gets information about a specified health check.

    " }, "GetHealthCheckCount":{ "name":"GetHealthCheckCount", @@ -384,7 +466,7 @@ }, "input":{"shape":"GetHealthCheckCountRequest"}, "output":{"shape":"GetHealthCheckCountResponse"}, - "documentation":"

    To retrieve a count of all your health checks, send a GET request to the /2013-04-01/healthcheckcount resource.

    " + "documentation":"

    Retrieves the number of health checks that are associated with the current AWS account.

    " }, "GetHealthCheckLastFailureReason":{ "name":"GetHealthCheckLastFailureReason", @@ -398,7 +480,7 @@ {"shape":"NoSuchHealthCheck"}, {"shape":"InvalidInput"} ], - "documentation":"

    If you want to learn why a health check is currently failing or why it failed most recently (if at all), you can get the failure reason for the most recent failure. Send a GET request to the /Amazon Route 53 API version/healthcheck/health check ID/lastfailurereason resource.

    " + "documentation":"

    Gets the reason that a specified health check failed most recently.

    " }, "GetHealthCheckStatus":{ "name":"GetHealthCheckStatus", @@ -412,7 +494,7 @@ {"shape":"NoSuchHealthCheck"}, {"shape":"InvalidInput"} ], - "documentation":"

    Gets status of a specified health check. Send a GET request to the /2013-04-01/healthcheck/health check ID/status resource. You can use this call to get a health check's current status.

    " + "documentation":"

    Gets status of a specified health check.

    " }, "GetHostedZone":{ "name":"GetHostedZone", @@ -426,7 +508,7 @@ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} ], - "documentation":"

    Retrieves the delegation set for a hosted zone, including the four name servers assigned to the hosted zone. Send a GET request to the /Amazon Route 53 API version/hostedzone/hosted zone ID resource.

    " + "documentation":"

    Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.

    " }, "GetHostedZoneCount":{ "name":"GetHostedZoneCount", @@ -439,7 +521,36 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    Retrieves a count of all your hosted zones. Send a GET request to the /2013-04-01/hostedzonecount resource.

    " + "documentation":"

    Retrieves the number of hosted zones that are associated with the current AWS account.

    " + }, + "GetHostedZoneLimit":{ + "name":"GetHostedZoneLimit", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/hostedzonelimit/{Id}/{Type}" + }, + "input":{"shape":"GetHostedZoneLimitRequest"}, + "output":{"shape":"GetHostedZoneLimitResponse"}, + "errors":[ + {"shape":"NoSuchHostedZone"}, + {"shape":"InvalidInput"}, + {"shape":"HostedZoneNotPrivate"} + ], + "documentation":"

    Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can create in the hosted zone.

    For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

    " + }, + "GetQueryLoggingConfig":{ + "name":"GetQueryLoggingConfig", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/queryloggingconfig/{Id}" + }, + "input":{"shape":"GetQueryLoggingConfigRequest"}, + "output":{"shape":"GetQueryLoggingConfigResponse"}, + "errors":[ + {"shape":"NoSuchQueryLoggingConfig"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Gets information about a specified configuration for DNS query logging.

    For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.

    " }, "GetReusableDelegationSet":{ "name":"GetReusableDelegationSet", @@ -454,7 +565,21 @@ {"shape":"DelegationSetNotReusable"}, {"shape":"InvalidInput"} ], - "documentation":"

    Retrieves the reusable delegation set. Send a GET request to the /2013-04-01/delegationset/delegation set ID resource.

    " + "documentation":"

    Retrieves information about a specified reusable delegation set, including the four name servers that are assigned to the delegation set.

    " + }, + "GetReusableDelegationSetLimit":{ + "name":"GetReusableDelegationSetLimit", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/reusabledelegationsetlimit/{Id}/{Type}" + }, + "input":{"shape":"GetReusableDelegationSetLimitRequest"}, + "output":{"shape":"GetReusableDelegationSetLimitResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NoSuchDelegationSet"} + ], + "documentation":"

    Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set.

    For the default limit, see Limits in the Amazon Route 53 Developer Guide. To request a higher limit, open a case.

    " }, "GetTrafficPolicy":{ "name":"GetTrafficPolicy", @@ -468,7 +593,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"InvalidInput"} ], - "documentation":"

    Gets information about a specific traffic policy version.

    Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource.

    " + "documentation":"

    Gets information about a specific traffic policy version.

    " }, "GetTrafficPolicyInstance":{ "name":"GetTrafficPolicyInstance", @@ -482,7 +607,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"InvalidInput"} ], - "documentation":"

    Gets information about a specified traffic policy instance.

    Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource.

    After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    In the Amazon Route 53 console, traffic policy instances are known as policy records.

    " + "documentation":"

    Gets information about a specified traffic policy instance.

    After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    In the Route 53 console, traffic policy instances are known as policy records.

    " }, "GetTrafficPolicyInstanceCount":{ "name":"GetTrafficPolicyInstanceCount", @@ -492,37 +617,7 @@ }, "input":{"shape":"GetTrafficPolicyInstanceCountRequest"}, "output":{"shape":"GetTrafficPolicyInstanceCountResponse"}, - "documentation":"

    Gets the number of traffic policy instances that are associated with the current AWS account.

    To get the number of traffic policy instances, send a GET request to the /2013-04-01/trafficpolicyinstancecount resource.

    " - }, - "ListChangeBatchesByHostedZone":{ - "name":"ListChangeBatchesByHostedZone", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone/{Id}/changes" - }, - "input":{"shape":"ListChangeBatchesByHostedZoneRequest"}, - "output":{"shape":"ListChangeBatchesByHostedZoneResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

    Gets the list of ChangeBatches in a given time period for a given hosted zone.

    ", - "deprecated":true - }, - "ListChangeBatchesByRRSet":{ - "name":"ListChangeBatchesByRRSet", - "http":{ - "method":"GET", - "requestUri":"/2013-04-01/hostedzone/{Id}/rrsChanges" - }, - "input":{"shape":"ListChangeBatchesByRRSetRequest"}, - "output":{"shape":"ListChangeBatchesByRRSetResponse"}, - "errors":[ - {"shape":"NoSuchHostedZone"}, - {"shape":"InvalidInput"} - ], - "documentation":"

    Gets the list of ChangeBatches in a given time period for a given hosted zone and RRSet.

    ", - "deprecated":true + "documentation":"

    Gets the number of traffic policy instances that are associated with the current AWS account.

    " }, "ListGeoLocations":{ "name":"ListGeoLocations", @@ -535,7 +630,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    Retrieves a list of supported geo locations. Send a GET request to the /2013-04-01/geolocations resource. The response to this request includes a GeoLocationDetailsList element for each location that Amazon Route 53 supports.

    Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

    " + "documentation":"

    Retrieves a list of supported geographic locations.

    Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

    For a list of supported geolocation codes, see the GeoLocation data type.

    " }, "ListHealthChecks":{ "name":"ListHealthChecks", @@ -549,7 +644,7 @@ {"shape":"InvalidInput"}, {"shape":"IncompatibleVersion"} ], - "documentation":"

    Retrieve a list of your health checks. Send a GET request to the /2013-04-01/healthcheck resource. The response to this request includes a HealthChecks element with zero or more HealthCheck child elements. By default, the list of health checks is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the health check that the list begins with.

    For information about listing health checks using the Amazon Route 53 console, see Amazon Route 53 Health Checks and DNS Failover.

    " + "documentation":"

    Retrieve a list of the health checks that are associated with the current AWS account.

    " }, "ListHostedZones":{ "name":"ListHostedZones", @@ -564,7 +659,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:

    • MaxItems is the value specified for the maxitems parameter in the request that produced the current response.

    • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

    • NextMarker is the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZones, and specify the value of the NextMarker element in the marker parameter.

      If IsTruncated is false, the NextMarker element is omitted from the response.

    • If you're making the second or subsequent call to ListHostedZones, the Marker element matches the value that you specified in the marker parameter in the previous request.

    " + "documentation":"

    Retrieves a list of the public and private hosted zones that are associated with the current AWS account. The response includes a HostedZones child element for each hosted zone.

    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.

    " }, "ListHostedZonesByName":{ "name":"ListHostedZonesByName", @@ -578,7 +673,22 @@ {"shape":"InvalidInput"}, {"shape":"InvalidDomainName"} ], - "documentation":"

    Retrieves a list of your hosted zones in lexicographic order. Send a GET request to the /2013-04-01/hostedzonesbyname resource. The response includes a HostedZones child element for each hosted zone created by the current AWS account.

    ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

    • com.example.www.

    Note the trailing dot, which can change the sort order in some circumstances.

    If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for example.com, specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as:

    • com.ex\\344mple.

    The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    Amazon Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next:

    • The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

    • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

    • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

      If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

    • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

    " + "documentation":"

    Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones child element for each hosted zone created by the current AWS account.

    ListHostedZonesByName sorts hosted zones by name with the labels reversed. For example:

    com.example.www.

    Note the trailing dot, which can change the sort order in some circumstances.

    If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as:

    com.ex\\344mple.

    The labels are reversed and alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the MaxItems parameter to list them in groups of up to 100. The response includes values that help navigate from one group of MaxItems hosted zones to the next:

    • The DNSName and HostedZoneId elements in the response contain the values, if any, specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

    • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

    • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

      If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

    • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

    " + }, + "ListQueryLoggingConfigs":{ + "name":"ListQueryLoggingConfigs", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/queryloggingconfig" + }, + "input":{"shape":"ListQueryLoggingConfigsRequest"}, + "output":{"shape":"ListQueryLoggingConfigsResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"InvalidPaginationToken"}, + {"shape":"NoSuchHostedZone"} + ], + "documentation":"

    Lists the configurations for DNS query logging that are associated with the current AWS account or the configuration that is associated with a specified hosted zone.

    For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the Amazon Route 53 Developer Guide.

    " }, "ListResourceRecordSets":{ "name":"ListResourceRecordSets", @@ -592,7 +702,7 @@ {"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.

    " + "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.

    Sort order

    ListResourceRecordSets 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 when the record name contains characters that appear before . (decimal 46) in the ASCII table. These characters include the following: ! \" # $ % & ' ( ) * + , -

    When multiple records have the same DNS name, ListResourceRecordSets sorts results by the record type.

    Specifying where to start listing records

    You can use the name and type elements to specify the resource record set that the list begins with:

    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.

    Resource record sets that are PENDING

    This action returns the most current version of the records. This includes records that are PENDING, and that are not yet available on all Route 53 DNS servers.

    Changing resource record sets

    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.

    Displaying the next page of results

    If a ListResourceRecordSets command returns more than one page of results, the value of IsTruncated is true. To display the next page of results, get the values of NextRecordName, NextRecordType, and NextRecordIdentifier (if any) from the response. Then submit another ListResourceRecordSets request, and specify those values for StartRecordName, StartRecordType, and StartRecordIdentifier.

    " }, "ListReusableDelegationSets":{ "name":"ListReusableDelegationSets", @@ -605,7 +715,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    To retrieve a list of your reusable delegation sets, send a GET request to the /2013-04-01/delegationset resource. The response to this request includes a DelegationSets element with zero, one, or multiple DelegationSet child elements. By default, the list of delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the delegation set that the list begins with.

    Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    " + "documentation":"

    Retrieves a list of the reusable delegation sets that are associated with the current AWS account.

    " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -622,7 +732,7 @@ {"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.

    " + "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", @@ -643,7 +753,7 @@ {"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.

    " + "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", @@ -656,7 +766,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    Gets information about the latest version for every traffic policy that is associated with the current AWS account. Send a GET request to the /Amazon Route 53 API version/trafficpolicy resource.

    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:

    • IsTruncated

      If the value of IsTruncated in the response is true, there are more traffic policies associated with the current AWS account.

      If IsTruncated is false, this response includes the last traffic policy that is associated with the current account.

    • TrafficPolicyIdMarker

      If IsTruncated is true, TrafficPolicyIdMarker is the ID of the first traffic policy in the next group of MaxItems traffic policies. If you want to list more traffic policies, make another call to ListTrafficPolicies, and specify the value of the TrafficPolicyIdMarker element from the response in the TrafficPolicyIdMarker request parameter.

      If IsTruncated is false, the TrafficPolicyIdMarker element is omitted from the response.

    • MaxItems

      The value that you specified for the MaxItems parameter in the request that produced the current response.

    " + "documentation":"

    Gets information about the latest version for every traffic policy that is associated with the current AWS account. Policies are listed in the order that they were created in.

    " }, "ListTrafficPolicyInstances":{ "name":"ListTrafficPolicyInstances", @@ -670,7 +780,7 @@ {"shape":"InvalidInput"}, {"shape":"NoSuchTrafficPolicyInstance"} ], - "documentation":"

    Gets information about the traffic policy instances that you created by using the current AWS account.

    After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource.

    Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    The response includes five values that help you navigate from one group of MaxItems traffic policy instances to the next:

    • IsTruncated

      If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the current AWS account.

      If IsTruncated is false, this response includes the last traffic policy instance that is associated with the current account.

    • MaxItems

      The value that you specified for the MaxItems parameter in the request that produced the current response.

    • HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker

      If IsTruncated is true, these three values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstances, and specify these values in the corresponding request parameters.

      If IsTruncated is false, all three elements are omitted from the response.

    " + "documentation":"

    Gets information about the traffic policy instances that you created by using the current AWS account.

    After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    " }, "ListTrafficPolicyInstancesByHostedZone":{ "name":"ListTrafficPolicyInstancesByHostedZone", @@ -685,7 +795,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"NoSuchHostedZone"} ], - "documentation":"

    Gets information about the traffic policy instances that you created in a specified hosted zone.

    After you submit an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance resource and include the ID of the hosted zone.

    Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    The response includes four values that help you navigate from one group of MaxItems traffic policy instances to the next:

    • IsTruncated

      If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the current AWS account.

      If IsTruncated is false, this response includes the last traffic policy instance that is associated with the current account.

    • MaxItems

      The value that you specified for the MaxItems parameter in the request that produced the current response.

    • TrafficPolicyInstanceNameMarker and TrafficPolicyInstanceTypeMarker

      If IsTruncated is true, these two values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByHostedZone, and specify these values in the corresponding request parameters.

      If IsTruncated is false, all three elements are omitted from the response.

    " + "documentation":"

    Gets information about the traffic policy instances that you created in a specified hosted zone.

    After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    " }, "ListTrafficPolicyInstancesByPolicy":{ "name":"ListTrafficPolicyInstancesByPolicy", @@ -700,7 +810,7 @@ {"shape":"NoSuchTrafficPolicyInstance"}, {"shape":"NoSuchTrafficPolicy"} ], - "documentation":"

    Gets information about the traffic policy instances that you created by using a specify traffic policy version.

    After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Send a GET request to the /Route 53 API version/trafficpolicyinstance resource and include the ID and version of the traffic policy.

    Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    The response includes five values that help you navigate from one group of MaxItems traffic policy instances to the next:

    • IsTruncated

      If the value of IsTruncated in the response is true, there are more traffic policy instances associated with the specified traffic policy.

      If IsTruncated is false, this response includes the last traffic policy instance that is associated with the specified traffic policy.

    • MaxItems

      The value that you specified for the MaxItems parameter in the request that produced the current response.

    • HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker

      If IsTruncated is true, these values in the response represent the first traffic policy instance in the next group of MaxItems traffic policy instances. To list more traffic policy instances, make another call to ListTrafficPolicyInstancesByPolicy, and specify these values in the corresponding request parameters.

      If IsTruncated is false, all three elements are omitted from the response.

    " + "documentation":"

    Gets information about the traffic policy instances that you created by using a specify traffic policy version.

    After you submit a CreateTrafficPolicyInstance or an UpdateTrafficPolicyInstance request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the traffic policy definition. For more information, see the State response element.

    Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can use the MaxItems parameter to list them in groups of up to 100.

    " }, "ListTrafficPolicyVersions":{ "name":"ListTrafficPolicyVersions", @@ -714,7 +824,22 @@ {"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 maxitems traffic policies to the next:

    • IsTruncated

      If the value of IsTruncated in the response is true, there are more traffic policy versions associated with the specified traffic policy.

      If IsTruncated is false, this response includes the last traffic policy version that is associated with the specified traffic policy.

    • TrafficPolicyVersionMarker

      The ID of the next traffic policy version that is associated with the current AWS account. If you want to list more traffic policies, make another call to ListTrafficPolicyVersions, and specify the value of the TrafficPolicyVersionMarker element in the TrafficPolicyVersionMarker request parameter.

      If IsTruncated is false, Amazon Route 53 omits the TrafficPolicyVersionMarker element from the response.

    • MaxItems

      The value that you specified for the MaxItems parameter in the request that produced the current response.

    " + "documentation":"

    Gets information about all of the versions for a specified traffic policy.

    Traffic policy versions are listed in numerical order by VersionNumber.

    " + }, + "ListVPCAssociationAuthorizations":{ + "name":"ListVPCAssociationAuthorizations", + "http":{ + "method":"GET", + "requestUri":"/2013-04-01/hostedzone/{Id}/authorizevpcassociation" + }, + "input":{"shape":"ListVPCAssociationAuthorizationsRequest"}, + "output":{"shape":"ListVPCAssociationAuthorizationsResponse"}, + "errors":[ + {"shape":"NoSuchHostedZone"}, + {"shape":"InvalidInput"}, + {"shape":"InvalidPaginationToken"} + ], + "documentation":"

    Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted zone because you've submitted one or more CreateVPCAssociationAuthorization requests.

    The response includes a VPCs element with a VPC child element for each VPC that can be associated with the hosted zone.

    " }, "TestDNSAnswer":{ "name":"TestDNSAnswer", @@ -747,7 +872,7 @@ {"shape":"InvalidInput"}, {"shape":"HealthCheckVersionMismatch"} ], - "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.

    " + "documentation":"

    Updates an existing health check. Note that some values can't be updated.

    For more information about updating health checks, see Creating, Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide.

    " }, "UpdateHostedZoneComment":{ "name":"UpdateHostedZoneComment", @@ -765,7 +890,7 @@ {"shape":"NoSuchHostedZone"}, {"shape":"InvalidInput"} ], - "documentation":"

    Updates the hosted zone comment. Send a POST request to the /2013-04-01/hostedzone/hosted zone ID resource.

    " + "documentation":"

    Updates the comment for a specified hosted zone.

    " }, "UpdateTrafficPolicyComment":{ "name":"UpdateTrafficPolicyComment", @@ -784,7 +909,7 @@ {"shape":"NoSuchTrafficPolicy"}, {"shape":"ConcurrentModification"} ], - "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.

    " + "documentation":"

    Updates the comment for a specified traffic policy version.

    " }, "UpdateTrafficPolicyInstance":{ "name":"UpdateTrafficPolicyInstance", @@ -805,11 +930,38 @@ {"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 /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.

    " + "documentation":"

    Updates the resource record sets in a specified hosted zone that were created based on the settings in a specified traffic policy version.

    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. Route 53 performs the following operations:

    1. Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true regardless of how significant 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, 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. Route 53 deletes the old group of resource record sets that are associated with the root resource record set name.

    " } }, "shapes":{ - "AWSAccountID":{"type":"string"}, + "AccountLimit":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"AccountLimitType", + "documentation":"

    The limit that you requested. Valid values include the following:

    • MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can create using the current account.

    • MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can create using the current account.

    • MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation sets that you can create using the current account.

    • MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you can create using the current account.

    • MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)

    " + }, + "Value":{ + "shape":"LimitValue", + "documentation":"

    The current value for the limit that is specified by Type.

    " + } + }, + "documentation":"

    A complex type that contains the type of limit that you specified in the request and the current value for that limit.

    " + }, + "AccountLimitType":{ + "type":"string", + "enum":[ + "MAX_HEALTH_CHECKS_BY_OWNER", + "MAX_HOSTED_ZONES_BY_OWNER", + "MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER", + "MAX_REUSABLE_DELEGATION_SETS_BY_OWNER", + "MAX_TRAFFIC_POLICIES_BY_OWNER" + ] + }, "AlarmIdentifier":{ "type":"structure", "required":[ @@ -819,14 +971,14 @@ "members":{ "Region":{ "shape":"CloudWatchRegion", - "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

    For the current list of CloudWatch regions, see Amazon CloudWatch in AWS Regions and Endpoints in the Amazon Web Services General Reference.

    " + "documentation":"

    For the CloudWatch alarm that you want Route 53 health checkers to use to determine whether this health check is healthy, the region that the alarm was created in.

    For the current list of CloudWatch regions, see Amazon CloudWatch in the AWS Service Endpoints chapter of the Amazon Web Services General Reference.

    " }, "Name":{ "shape":"AlarmName", - "documentation":"

    The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

    " + "documentation":"

    The name of the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

    Route 53 supports CloudWatch alarms with the following features:

    • Standard-resolution metrics. High-resolution metrics aren't supported. For more information, see High-Resolution Metrics in the Amazon CloudWatch User Guide.

    • Statistics: Average, Minimum, Maximum, Sum, and SampleCount. Extended statistics aren't supported.

    " } }, - "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

    " + "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

    " }, "AlarmName":{ "type":"string", @@ -844,18 +996,18 @@ "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 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:

    • AWS Management Console: Go to the Amazon EC2; page, click Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted Zone ID field on the Description tab. Use the same process to get the DNS Name. See HostedZone$Name.

    • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneNameID. Use the same process to get the CanonicalHostedZoneName. See HostedZone$Name.

    • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneNameID. Use the same process to get the CanonicalHostedZoneName. See HostedZone$Name.

    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 you want to route traffic:

    Amazon API Gateway custom regional APIs and edge-optimized APIs

    Specify the hosted zone ID for your API. You can get the applicable value using the AWS CLI command get-domain-names:

    • For regional APIs, specify the value of regionalHostedZoneId.

    • For edge-optimized APIs, specify the value of distributionHostedZoneId.

    Amazon Virtual Private Cloud interface VPC endpoint

    Specify the hosted zone ID for your interface endpoint. You can get the value of HostedZoneId using the AWS CLI command describe-vpc-endpoints.

    CloudFront distribution

    Specify Z2FDTNDATAQYW2.

    Alias resource record sets for CloudFront can't be created in a private zone.

    Elastic Beanstalk environment

    Specify the hosted zone ID for the region that you created the environment in. The environment must have a regionalized subdomain. For a list of regions and the corresponding hosted zone IDs, see AWS Elastic Beanstalk in the \"AWS Service Endpoints\" chapter of the Amazon Web Services 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:

    • Service Endpoints table in the \"Elastic Load Balancing Endpoints and Quotas\" topic in the Amazon Web Services General Reference: Use the value that corresponds with the region that you created your load balancer in. Note that there are separate columns for Application and Classic Load Balancers and for Network Load Balancers.

    • AWS Management Console: Go to the Amazon EC2 page, choose Load Balancers in the navigation pane, select the load balancer, and get the value of the Hosted zone field on the Description tab.

    • Elastic Load Balancing API: Use DescribeLoadBalancers to get the applicable value. For more information, see the applicable guide:

    • AWS CLI: Use describe-load-balancers to get the applicable value. For more information, see the applicable guide:

    AWS Global Accelerator accelerator

    Specify Z2BJ6XQ5FK7U4H.

    An Amazon S3 bucket configured as a static website

    Specify the hosted zone ID for the region that you created the bucket in. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference.

    Another Route 53 resource record set in your hosted zone

    Specify the hosted zone ID of your hosted zone. (An alias resource record set can't reference a resource record set in a different hosted zone.)

    " }, "DNSName":{ "shape":"DNSName", - "documentation":"

    Alias resource record sets only: The value that you specify depends on where you want to route queries:

    • A CloudFront distribution: Specify the domain name that CloudFront assigned when you created your distribution.

      Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

    • Elastic Beanstalk environment: Specify the CNAME attribute for the environment. (The environment must have a regionalized domain name.) You can use the following methods to get the value of the CNAME attribute:

      • AWS Managment Console: For information about how to get the value by using the console, see Using Custom Domains with Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

      • Elastic Load Balancing API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

      • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS Command Line Interface Reference.

    • An ELB load balancer: Specify the DNS name associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI. Use the same method to get values for HostedZoneId and DNSName. If you get one value from the console and the other value from the API or the CLI, creating the resource record set will fail.

      • AWS Management Console: Go to the Amazon EC2 page, click Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS Name field that begins with dualstack. Use the same process to get the Hosted Zone ID. See HostedZone$Id.

      • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of CanonicalHostedZoneName. Use the same process to get the CanonicalHostedZoneNameId. See HostedZone$Id.

      • AWS CLI: Use describe-load-balancers to get the value of CanonicalHostedZoneName. Use the same process to get the CanonicalHostedZoneNameId. See HostedZoneId.

    • An Amazon S3 bucket that is configured as a static website: Specify the domain name of the Amazon S3 website endpoint in which you created the bucket; for example, s3-website-us-east-1.amazonaws.com. For more information about valid values, see the table Amazon Simple Storage Service (S3) Website Endpoints in the Amazon Web Services General Reference. For more information about using Amazon S3 buckets for websites, see Hosting a Static Website on Amazon S3 in the Amazon Simple Storage Service Developer Guide.

    • Another Amazon Route 53 resource record set: Specify the value of the Name element for a resource record set in the current hosted zone.

    " + "documentation":"

    Alias resource record sets only: The value that you specify depends on where you want to route queries:

    Amazon API Gateway custom regional APIs and edge-optimized APIs

    Specify the applicable domain name for your API. You can get the applicable value using the AWS CLI command get-domain-names:

    • For regional APIs, specify the value of regionalDomainName.

    • For edge-optimized APIs, specify the value of distributionDomainName. This is the name of the associated CloudFront distribution, such as da1b2c3d4e5.cloudfront.net.

    The name of the record that you're creating must match a custom domain name for your API, such as api.example.com.

    Amazon Virtual Private Cloud interface VPC endpoint

    Enter the API endpoint for the interface endpoint, such as vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com. For edge-optimized APIs, this is the domain name for the corresponding CloudFront distribution. You can get the value of DnsName using the AWS CLI command describe-vpc-endpoints.

    CloudFront distribution

    Specify the domain name that CloudFront assigned when you created your distribution.

    Your CloudFront distribution must include an alternate domain name that matches the name of the resource record set. For example, if the name of the resource record set is acme.example.com, your CloudFront distribution must include acme.example.com as one of the alternate domain names. For more information, see Using Alternate Domain Names (CNAMEs) in the Amazon CloudFront Developer Guide.

    You can't create a resource record set in a private hosted zone to route traffic to a CloudFront distribution.

    For failover alias records, you can't specify a CloudFront distribution for both the primary and secondary records. A distribution must include an alternate domain name that matches the name of the record. However, the primary and secondary records have the same name, and you can't include the same alternate domain name in more than one distribution.

    Elastic Beanstalk environment

    If the domain name for your Elastic Beanstalk environment includes the region that you deployed the environment in, you can create an alias record that routes traffic to the environment. For example, the domain name my-environment.us-west-2.elasticbeanstalk.com is a regionalized domain name.

    For environments that were created before early 2016, the domain name doesn't include the region. To route traffic to these environments, you must create a CNAME record instead of an alias record. Note that you can't create a CNAME record for the root domain name. For example, if your domain name is example.com, you can create a record that routes traffic for acme.example.com to your Elastic Beanstalk environment, but you can't create a record that routes traffic for example.com to your Elastic Beanstalk environment.

    For Elastic Beanstalk environments that have regionalized subdomains, specify the CNAME attribute for the environment. You can use the following methods to get the value of the CNAME attribute:

    • AWS Management Console: For information about how to get the value by using the console, see Using Custom Domains with AWS Elastic Beanstalk in the AWS Elastic Beanstalk Developer Guide.

    • Elastic Beanstalk API: Use the DescribeEnvironments action to get the value of the CNAME attribute. For more information, see DescribeEnvironments in the AWS Elastic Beanstalk API Reference.

    • AWS CLI: Use the describe-environments command to get the value of the CNAME attribute. For more information, see describe-environments in the AWS CLI Command Reference.

    ELB load balancer

    Specify the DNS name that is associated with the load balancer. Get the DNS name by using the AWS Management Console, the ELB API, or the AWS CLI.

    • AWS Management Console: Go to the EC2 page, choose Load Balancers in the navigation pane, choose the load balancer, choose the Description tab, and get the value of the DNS name field.

      If you're routing traffic to a Classic Load Balancer, get the value that begins with dualstack. If you're routing traffic to another type of load balancer, get the value that applies to the record type, A or AAAA.

    • Elastic Load Balancing API: Use DescribeLoadBalancers to get the value of DNSName. For more information, see the applicable guide:

    • AWS CLI: Use describe-load-balancers to get the value of DNSName. For more information, see the applicable guide:

    AWS Global Accelerator accelerator

    Specify the DNS name for your accelerator:

    Amazon S3 bucket that is configured as a static website

    Specify the domain name of the Amazon S3 website endpoint that you created the bucket in, for example, s3-website.us-east-2.amazonaws.com. For more information about valid values, see the table Amazon S3 Website Endpoints in the Amazon Web Services General Reference. For more information about using S3 buckets for websites, see Getting Started with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    Another Route 53 resource record set

    Specify the value of the Name element for a resource record set in the current hosted zone.

    If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't specify the domain name for a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record that you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

    " }, "EvaluateTargetHealth":{ "shape":"AliasHealthEnabled", - "documentation":"

    Applies only to alias, weighted alias, latency alias, and failover alias record sets: If you set the value of EvaluateTargetHealth to true for the resource record set or sets in an alias, weighted alias, latency alias, or failover alias resource record set, and if you specify a value for HealthCheck$Id for every resource record set that is referenced by these alias resource record sets, the alias resource record sets inherit the health of the referenced resource record sets.

    In this configuration, when Amazon Route 53 receives a DNS query for an alias resource record set:

    • Amazon Route 53 looks at the resource record sets that are referenced by the alias resource record sets to determine which health checks they're using.

    • Amazon Route 53 checks the current status of each health check. (Amazon Route 53 periodically checks the health of the endpoint that is specified in a health check; it doesn't perform the health check when the DNS query arrives.)

    • Based on the status of the health checks, Amazon Route 53 determines which resource record sets are healthy. Unhealthy resource record sets are immediately removed from consideration. In addition, if all of the resource record sets that are referenced by an alias resource record set are unhealthy, that alias resource record set also is immediately removed from consideration.

    • Based on the configuration of the alias resource record sets (weighted alias or latency alias, for example) and the configuration of the resource record sets that they reference, Amazon Route 53 chooses a resource record set from the healthy resource record sets, and responds to the query.

    Note the following:

    • You cannot set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

    • If the AWS resource that you specify in AliasTarget is a resource record set or a group of resource record sets (for example, a group of weighted resource record sets), but it is not another alias resource record set, we recommend that you associate a health check with all of the resource record sets in the alias target.For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

    • If you specify an Elastic Beanstalk environment in HostedZoneId and DNSName, and if the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set EvaluateTargetHealth to true and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Amazon Route 53 routes queries to other available resources that are healthy, if any.

      If the environment contains a single Amazon EC2 instance, there are no special requirements.

    • If you specify an ELB load balancer in AliasTarget , Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If no Amazon EC2 instances are healthy or if the load balancer itself is unhealthy, and if EvaluateTargetHealth is true for the corresponding alias resource record set, Amazon Route 53 routes queries to other resources. When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Amazon Route 53 health checks, but they perform a similar function. Do not create Amazon Route 53 health checks for the Amazon EC2 instances that you register with an ELB load balancer.

      For more information, see How Health Checks Work in More Complex Amazon Route 53 Configurations in the Amazon Route 53 Developers Guide.

    • We recommend that you set EvaluateTargetHealth to true only when you have enough idle capacity to handle the failure of one or more endpoints.

    For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    Applies only to alias, failover alias, geolocation alias, latency alias, and weighted alias resource record sets: When EvaluateTargetHealth is true, an alias resource record set inherits the health of the referenced AWS resource, such as an ELB load balancer or another resource record set in the hosted zone.

    Note the following:

    CloudFront distributions

    You can't set EvaluateTargetHealth to true when the alias target is a CloudFront distribution.

    Elastic Beanstalk environments that have regionalized subdomains

    If you specify an Elastic Beanstalk environment in DNSName and the environment contains an ELB load balancer, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. (An environment automatically contains an ELB load balancer if it includes more than one Amazon EC2 instance.) If you set EvaluateTargetHealth to true and either no Amazon EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other available resources that are healthy, if any.

    If the environment contains a single Amazon EC2 instance, there are no special requirements.

    ELB load balancers

    Health checking behavior depends on the type of load balancer:

    • Classic Load Balancers: If you specify an ELB Classic Load Balancer in DNSName, Elastic Load Balancing routes queries only to the healthy Amazon EC2 instances that are registered with the load balancer. If you set EvaluateTargetHealth to true and either no EC2 instances are healthy or the load balancer itself is unhealthy, Route 53 routes queries to other resources.

    • Application and Network Load Balancers: If you specify an ELB Application or Network Load Balancer and you set EvaluateTargetHealth to true, Route 53 routes queries to the load balancer based on the health of the target groups that are associated with the load balancer:

      • For an Application or Network Load Balancer to be considered healthy, every target group that contains targets must contain at least one healthy target. If any target group contains only unhealthy targets, the load balancer is considered unhealthy, and Route 53 routes queries to other resources.

      • A target group that has no registered targets is considered unhealthy.

    When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer.

    S3 buckets

    There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an S3 bucket.

    Other records in the same hosted zone

    If the AWS resource that you specify in DNSName is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see What Happens When You Omit Health Checks? in the Amazon Route 53 Developer Guide.

    For more information and examples, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

    " } }, - "documentation":"

    Alias resource record sets only: Information about the CloudFront distribution, Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you are redirecting queries. The Elastic Beanstalk environment must have a regionalized subdomain.

    When creating resource record sets for a private hosted zone, note the following:

    • Resource record sets cannot be created for CloudFront distributions in a private hosted zone.

    • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

    • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

    " + "documentation":"

    Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

    When creating resource record sets for a private hosted zone, note the following:

    • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

    • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone.

    " }, "AssociateVPCComment":{"type":"string"}, "AssociateVPCWithHostedZoneRequest":{ @@ -867,20 +1019,20 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone you want to associate your VPC with.

    Note that you cannot associate a VPC with a hosted zone that doesn't have an existing VPC association.

    ", + "documentation":"

    The ID of the private hosted zone that you want to associate an Amazon VPC with.

    Note that you can't associate a VPC with a hosted zone that doesn't have an existing VPC association.

    ", "location":"uri", "locationName":"Id" }, "VPC":{ "shape":"VPC", - "documentation":"

    A complex type containing information about the Amazon VPC that you're associating with the specified hosted zone.

    " + "documentation":"

    A complex type that contains information about the VPC that you want to associate with a private hosted zone.

    " }, "Comment":{ "shape":"AssociateVPCComment", "documentation":"

    Optional: A comment about the association request.

    " } }, - "documentation":"

    A complex type that contains information about the VPC and the hosted zone that you want to associate.

    " + "documentation":"

    A complex type that contains information about the request to associate a VPC with a private hosted zone.

    " }, "AssociateVPCWithHostedZoneResponse":{ "type":"structure", @@ -891,7 +1043,7 @@ "documentation":"

    A complex type that describes the changes made to your hosted zone.

    " } }, - "documentation":"

    A complex type that contains the response information for the hosted zone.

    " + "documentation":"

    A complex type that contains the response information for the AssociateVPCWithHostedZone request.

    " }, "Change":{ "type":"structure", @@ -902,11 +1054,11 @@ "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

    The action to perform:

    • CREATE: Creates a resource record set that has the specified values.

    • DELETE: Deletes a existing resource record set that has the specified values for Name, Type, SetIdentifier (for latency, weighted, geolocation, and failover resource record sets), and TTL (except alias resource record sets, for which the TTL is determined by the AWS resource that you're routing DNS queries to).

      To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance . Amazon Route 53will 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.

    • UPSERT: If a resource record set does not already exist, Amazon Route 53 creates it. If a resource record set does exist, Amazon Route 53 updates it with the values in the request. Amazon Route 53 can update an existing resource record set only when all of the following values match: Name, Type, and SetIdentifier (for weighted, latency, geolocation, and failover resource record sets).

    " + "documentation":"

    The action to perform:

    • CREATE: Creates a resource record set that has the specified values.

    • DELETE: Deletes a existing resource record set.

      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, 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.

    • UPSERT: If a resource record set doesn't already exist, Route 53 creates it. If a resource record set does exist, Route 53 updates it with the values in the request.

    " }, "ResourceRecordSet":{ "shape":"ResourceRecordSet", - "documentation":"

    Information about the resource record set to create or delete.

    " + "documentation":"

    Information about the resource record set to create, delete, or update.

    " } }, "documentation":"

    The information for each resource record set that you want to change.

    " @@ -934,50 +1086,6 @@ }, "documentation":"

    The information for a change request.

    " }, - "ChangeBatchRecord":{ - "type":"structure", - "required":[ - "Id", - "Status" - ], - "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

    The ID of the request. Use this ID to track when the change has completed across all Amazon Route 53 DNS servers.

    " - }, - "SubmittedAt":{ - "shape":"TimeStamp", - "documentation":"

    The date and time the change was submitted, in the format YYYY-MM-DDThh:mm:ssZ, as specified in the ISO 8601 standard (for example, 2009-11-19T19:37:58Z). The Z after the time indicates that the time is listed in Coordinated Universal Time (UTC).

    " - }, - "Status":{ - "shape":"ChangeStatus", - "documentation":"

    The current state of the request. PENDING indicates that this request has not yet been applied to all Amazon Route 53 DNS servers.

    Valid Values: PENDING | INSYNC

    " - }, - "Comment":{ - "shape":"ResourceDescription", - "documentation":"

    A complex type that describes change information about changes made to your hosted zone.

    This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

    " - }, - "Submitter":{ - "shape":"AWSAccountID", - "documentation":"

    The AWS account ID attached to the changes.

    " - }, - "Changes":{ - "shape":"Changes", - "documentation":"

    A list of changes made in the ChangeBatch.

    " - } - }, - "documentation":"

    A complex type that lists the changes and information for a ChangeBatch.

    ", - "deprecated":true - }, - "ChangeBatchRecords":{ - "type":"list", - "member":{ - "shape":"ChangeBatchRecord", - "locationName":"ChangeBatchRecord" - }, - "deprecated":true, - "min":1 - }, "ChangeInfo":{ "type":"structure", "required":[ @@ -996,11 +1104,11 @@ }, "SubmittedAt":{ "shape":"TimeStamp", - "documentation":"

    The date and time the change request was submitted, in Coordinated Universal Time (UTC) format: YYYY-MM-DDThh:mm:ssZ. For more information, see the Wikipedia entry ISO 8601.

    " + "documentation":"

    The date and time that the change request was submitted in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

    " }, "Comment":{ "shape":"ResourceDescription", - "documentation":"

    A complex type that describes change information about changes made to your hosted zone.

    This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

    " + "documentation":"

    A complex type that describes change information about changes made to your hosted zone.

    This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

    " } }, "documentation":"

    A complex type that describes change information about changes made to your hosted zone.

    " @@ -1031,7 +1139,7 @@ "members":{ "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

    A complex type that contains information about changes made to your hosted zone.

    This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

    " + "documentation":"

    A complex type that contains information about changes made to your hosted zone.

    This element contains an ID that you use when performing a GetChange action to get detailed information about the change.

    " } }, "documentation":"

    A complex type containing the response for the request.

    " @@ -1064,7 +1172,7 @@ }, "AddTags":{ "shape":"TagList", - "documentation":"

    A complex type that contains a list of the tags that you want to add to the specified health check or hosted zone and/or the tags for which you want to edit the Value element.

    You can add a maximum of 10 tags to a health check or a hosted zone.

    " + "documentation":"

    A complex type that contains a list of the tags that you want to add to the specified health check or hosted zone and/or the tags that you want to edit Value for.

    You can add a maximum of 10 tags to a health check or a hosted zone.

    " }, "RemoveTagKeys":{ "shape":"TagKeyList", @@ -1133,7 +1241,7 @@ }, "Namespace":{ "shape":"Namespace", - "documentation":"

    The namespace of the metric that the alarm is associated with. For more information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch Developer Guide.

    " + "documentation":"

    The namespace of the metric that the alarm is associated with. For more information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.

    " }, "Statistic":{ "shape":"Statistic", @@ -1141,25 +1249,42 @@ }, "Dimensions":{ "shape":"DimensionList", - "documentation":"

    For the metric that the CloudWatch alarm is associated with, a complex type that contains information about the dimensions for the metric.For information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch Developer Guide.

    " + "documentation":"

    For the metric that the CloudWatch alarm is associated with, a complex type that contains information about the dimensions for the metric. For information, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.

    " } }, "documentation":"

    A complex type that contains information about the CloudWatch alarm that Amazon Route 53 is monitoring for this health check.

    " }, + "CloudWatchLogsLogGroupArn":{"type":"string"}, "CloudWatchRegion":{ "type":"string", "enum":[ "us-east-1", + "us-east-2", "us-west-1", "us-west-2", + "ca-central-1", "eu-central-1", "eu-west-1", + "eu-west-2", + "eu-west-3", + "ap-east-1", + "me-south-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", - "sa-east-1" + "ap-northeast-3", + "eu-north-1", + "sa-east-1", + "cn-northwest-1", + "cn-north-1", + "af-south-1", + "eu-south-1", + "us-gov-west-1", + "us-gov-east-1", + "us-iso-east-1", + "us-isob-east-1" ], "max":64, "min":1 @@ -1181,7 +1306,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    Another user submitted a request to update the object at the same time that you did. Retry the request.

    ", + "documentation":"

    Another user submitted a request to create, update, or delete the object at the same time that you did. Retry the request.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -1190,7 +1315,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.

    ", + "documentation":"

    The cause of this error depends on the operation that you're performing:

    • Create a public hosted zone: Two hosted zones that have the same name or that have a parent/child relationship (example.com and test.example.com) can't have any common name servers. You tried to create a hosted zone that has the same name as an existing hosted zone or that's the parent or child of an existing hosted zone, and you specified a delegation set that shares one or more name servers with the existing hosted zone. For more information, see CreateReusableDelegationSet.

    • Create a private hosted zone: A hosted zone with the specified name already exists and is already associated with the Amazon VPC that you specified.

    • Associate VPCs with a private hosted zone: The VPC that you specified is already associated with another hosted zone that has the same name.

    ", "exception":true }, "ConflictingTypes":{ @@ -1214,11 +1339,11 @@ "members":{ "CallerReference":{ "shape":"HealthCheckNonce", - "documentation":"

    A unique string that identifies the request and that allows failed CreateHealthCheck requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you create a health check.

    " + "documentation":"

    A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks:

    • If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the settings for the existing health check.

    • If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Route 53 returns a HealthCheckAlreadyExists error.

    • If you send a CreateHealthCheck request with the same CallerReference as an existing health check but with different settings, Route 53 returns a HealthCheckAlreadyExists error.

    • If you send a CreateHealthCheck request with a unique CallerReference but settings identical to an existing health check, Route 53 creates the health check.

    " }, "HealthCheckConfig":{ "shape":"HealthCheckConfig", - "documentation":"

    A complex type that contains the response to a CreateHealthCheck request.

    " + "documentation":"

    A complex type that contains settings for a new health check.

    " } }, "documentation":"

    A complex type that contains the health check request information.

    " @@ -1252,26 +1377,26 @@ "members":{ "Name":{ "shape":"DNSName", - "documentation":"

    The name of the domain. For resource record types that include a domain name, specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

    If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Amazon Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in the DelegationSet element.

    " + "documentation":"

    The name of the domain. Specify a fully qualified domain name, for example, www.example.com. The trailing dot is optional; Amazon Route 53 assumes that the domain name is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

    If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route 53, change the name servers for your domain to the set of NameServers that CreateHostedZone returns in DelegationSet.

    " }, "VPC":{ "shape":"VPC", - "documentation":"

    The VPC that you want your hosted zone to be associated with. By providing this parameter, your newly created hosted cannot be resolved anywhere other than the given VPC.

    " + "documentation":"

    (Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.

    You can specify only one Amazon VPC when you create a private hosted zone. To associate additional Amazon VPCs with the hosted zone, use AssociateVPCWithHostedZone after you create a hosted zone.

    " }, "CallerReference":{ "shape":"Nonce", - "documentation":"

    A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you create a hosted zone. CallerReference can be any unique string, for example, a date/time stamp.

    " + "documentation":"

    A unique string that identifies the request and that allows failed CreateHostedZone requests to be retried without the risk of executing the operation twice. You must use a unique CallerReference string every time you submit a CreateHostedZone request. CallerReference can be any unique string, for example, a date/time stamp.

    " }, "HostedZoneConfig":{ "shape":"HostedZoneConfig", - "documentation":"

    (Optional) A complex type that contains an optional comment about your hosted zone. If you don't want to specify a comment, omit both the HostedZoneConfig and Comment elements.

    " + "documentation":"

    (Optional) A complex type that contains the following optional values:

    • For public and private hosted zones, an optional comment

    • For private hosted zones, an optional PrivateZone element

    If you don't specify a comment or the PrivateZone element, omit HostedZoneConfig and the other elements.

    " }, "DelegationSetId":{ "shape":"ResourceId", - "documentation":"

    If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

    Type

    String

    Default

    None

    Parent

    CreatedHostedZoneRequest

    " + "documentation":"

    If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route 53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see CreateReusableDelegationSet.

    " } }, - "documentation":"

    A complex type containing the hosted zone request information.

    " + "documentation":"

    A complex type that contains information about the request to create a public or private hosted zone.

    " }, "CreateHostedZoneResponse":{ "type":"structure", @@ -1288,7 +1413,7 @@ }, "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

    A complex type that describes the changes made to your hosted zone.

    " + "documentation":"

    A complex type that contains information about the CreateHostedZone request.

    " }, "DelegationSet":{ "shape":"DelegationSet", @@ -1307,6 +1432,42 @@ }, "documentation":"

    A complex type containing the response information for the hosted zone.

    " }, + "CreateQueryLoggingConfigRequest":{ + "type":"structure", + "required":[ + "HostedZoneId", + "CloudWatchLogsLogGroupArn" + ], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone that you want to log queries for. You can log queries only for public hosted zones.

    " + }, + "CloudWatchLogsLogGroupArn":{ + "shape":"CloudWatchLogsLogGroupArn", + "documentation":"

    The Amazon Resource Name (ARN) for the log group that you want to Amazon Route 53 to send query logs to. This is the format of the ARN:

    arn:aws:logs:region:account-id:log-group:log_group_name

    To get the ARN for a log group, you can use the CloudWatch console, the DescribeLogGroups API action, the describe-log-groups command, or the applicable command in one of the AWS SDKs.

    " + } + } + }, + "CreateQueryLoggingConfigResponse":{ + "type":"structure", + "required":[ + "QueryLoggingConfig", + "Location" + ], + "members":{ + "QueryLoggingConfig":{ + "shape":"QueryLoggingConfig", + "documentation":"

    A complex type that contains the ID for a query logging configuration, the ID of the hosted zone that you want to log queries for, and the ARN for the log group that you want Amazon Route 53 to send query logs to.

    " + }, + "Location":{ + "shape":"ResourceURI", + "documentation":"

    The unique URL representing the new query logging configuration.

    ", + "location":"header", + "locationName":"Location" + } + } + }, "CreateReusableDelegationSetRequest":{ "type":"structure", "required":["CallerReference"], @@ -1352,11 +1513,11 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone in which you want Amazon Route 53 to create resource record sets by using the configuration in a traffic policy.

    " + "documentation":"

    The ID of the hosted zone that you want Amazon Route 53 to create resource record sets in by using the configuration in a traffic policy.

    " }, "Name":{ "shape":"DNSName", - "documentation":"

    The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using the resource record sets that Amazon Route 53 creates for this traffic policy instance.

    " + "documentation":"

    The domain name (such as example.com) or subdomain name (such as www.example.com) for which Amazon Route 53 responds to DNS queries by using the resource record sets that Route 53 creates for this traffic policy instance.

    " }, "TTL":{ "shape":"TTL", @@ -1406,7 +1567,7 @@ }, "Document":{ "shape":"TrafficPolicyDocument", - "documentation":"

    The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format in the Amazon Route 53 API Reference.

    " + "documentation":"

    The definition of this traffic policy in JSON format. For more information, see Traffic Policy Document Format.

    " }, "Comment":{ "shape":"TrafficPolicyComment", @@ -1450,14 +1611,14 @@ }, "Document":{ "shape":"TrafficPolicyDocument", - "documentation":"

    The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy.

    " + "documentation":"

    The definition of this version of the traffic policy, in JSON format. You specified the JSON in the CreateTrafficPolicyVersion request. For more information about the JSON format, see CreateTrafficPolicy.

    " }, "Comment":{ "shape":"TrafficPolicyComment", "documentation":"

    The comment that you specified in the CreateTrafficPolicyVersion request, if any.

    " } }, - "documentation":"

    A complex type that contains information about the traffic policy for which you want to create a new version.

    " + "documentation":"

    A complex type that contains information about the traffic policy that you want to create a new version for.

    " }, "CreateTrafficPolicyVersionResponse":{ "type":"structure", @@ -1479,16 +1640,49 @@ }, "documentation":"

    A complex type that contains the response information for the CreateTrafficPolicyVersion request.

    " }, + "CreateVPCAssociationAuthorizationRequest":{ + "type":"structure", + "required":[ + "HostedZoneId", + "VPC" + ], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the private hosted zone that you want to authorize associating a VPC with.

    ", + "location":"uri", + "locationName":"Id" + }, + "VPC":{ + "shape":"VPC", + "documentation":"

    A complex type that contains the VPC ID and region for the VPC that you want to authorize associating with your hosted zone.

    " + } + }, + "documentation":"

    A complex type that contains information about the request to authorize associating a VPC with your private hosted zone. Authorization is only required when a private hosted zone and a VPC were created by using different accounts.

    " + }, + "CreateVPCAssociationAuthorizationResponse":{ + "type":"structure", + "required":[ + "HostedZoneId", + "VPC" + ], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone that you authorized associating a VPC with.

    " + }, + "VPC":{ + "shape":"VPC", + "documentation":"

    The VPC that you authorized associating with a hosted zone.

    " + } + }, + "documentation":"

    A complex type that contains the response information from a CreateVPCAssociationAuthorization request.

    " + }, "DNSName":{ "type":"string", "max":1024 }, "DNSRCode":{"type":"string"}, - "Date":{ - "type":"string", - "deprecated":true, - "max":256 - }, "DelegationSet":{ "type":"structure", "required":["NameServers"], @@ -1499,14 +1693,14 @@ }, "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.

    " + "documentation":"

    The value that you specified for CallerReference when you created the reusable delegation set.

    " }, "NameServers":{ "shape":"DelegationSetNameServers", - "documentation":"

    A complex type that contains a list of the authoritative name servers for the hosted zone.

    " + "documentation":"

    A complex type that contains a list of the authoritative name servers for a hosted zone or for a reusable delegation set.

    " } }, - "documentation":"

    A complex type that describes the name servers for this hosted zone.

    " + "documentation":"

    A complex type that lists the name servers in a delegation set, as well as the CallerReference and the ID for the delegation set.

    " }, "DelegationSetAlreadyCreated":{ "type":"structure", @@ -1557,7 +1751,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    You can create a hosted zone that has the same name as an existing hosted zone (example.com is common), but there is a limit to the number of hosted zones that have the same name. If you get this error, Amazon Route 53 has reached that limit. If you own the domain name and Amazon Route 53 generates this error, contact Customer Support.

    ", + "documentation":"

    You can create a hosted zone that has the same name as an existing hosted zone (example.com is common), but there is a limit to the number of hosted zones that have the same name. If you get this error, Amazon Route 53 has reached that limit. If you own the domain name and Route 53 generates this error, contact Customer Support.

    ", "exception":true }, "DelegationSetNotReusable":{ @@ -1589,7 +1783,7 @@ "locationName":"HealthCheckId" } }, - "documentation":"

    This action deletes a health check. Send a DELETE request to the /2013-04-01/DeleteHealthCheckRequest resource.

    " + "documentation":"

    This action deletes a health check.

    " }, "DeleteHealthCheckResponse":{ "type":"structure", @@ -1608,7 +1802,7 @@ "locationName":"Id" } }, - "documentation":"

    A complex type that contains information about the hosted zone that you want to delete.

    " + "documentation":"

    A request to delete a hosted zone.

    " }, "DeleteHostedZoneResponse":{ "type":"structure", @@ -1616,10 +1810,27 @@ "members":{ "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

    A complex type that contains the ID, the status, and the date and time of your delete request.

    " + "documentation":"

    A complex type that contains the ID, the status, and the date and time of a request to delete a hosted zone.

    " } }, - "documentation":"

    A complex type containing the response information for the request.

    " + "documentation":"

    A complex type that contains the response to a DeleteHostedZone request.

    " + }, + "DeleteQueryLoggingConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"QueryLoggingConfigId", + "documentation":"

    The ID of the configuration that you want to delete.

    ", + "location":"uri", + "locationName":"Id" + } + } + }, + "DeleteQueryLoggingConfigResponse":{ + "type":"structure", + "members":{ + } }, "DeleteReusableDelegationSetRequest":{ "type":"structure", @@ -1627,12 +1838,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

    The ID of the reusable delegation set you want to delete.

    ", + "documentation":"

    The ID of the reusable delegation set that you want to delete.

    ", "location":"uri", "locationName":"Id" } }, - "documentation":"

    A complex type containing the information for the delete request.

    " + "documentation":"

    A request to delete a reusable delegation set.

    " }, "DeleteReusableDelegationSetResponse":{ "type":"structure", @@ -1651,7 +1862,7 @@ "locationName":"Id" } }, - "documentation":"

    A complex type that contains information about the traffic policy instance that you want to delete.

    " + "documentation":"

    A request to delete a specified traffic policy instance.

    " }, "DeleteTrafficPolicyInstanceResponse":{ "type":"structure", @@ -1687,6 +1898,32 @@ }, "documentation":"

    An empty element.

    " }, + "DeleteVPCAssociationAuthorizationRequest":{ + "type":"structure", + "required":[ + "HostedZoneId", + "VPC" + ], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, the ID of the hosted zone.

    ", + "location":"uri", + "locationName":"Id" + }, + "VPC":{ + "shape":"VPC", + "documentation":"

    When removing authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account, a complex type that includes the ID and region of the VPC.

    " + } + }, + "documentation":"

    A complex type that contains information about the request to remove authorization to associate a VPC that was created by one AWS account with a hosted zone that was created with a different AWS account.

    " + }, + "DeleteVPCAssociationAuthorizationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Empty response for the request.

    " + }, "Dimension":{ "type":"structure", "required":[ @@ -1718,6 +1955,7 @@ }, "max":10 }, + "Disabled":{"type":"boolean"}, "DisassociateVPCComment":{"type":"string"}, "DisassociateVPCFromHostedZoneRequest":{ "type":"structure", @@ -1728,20 +1966,20 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

    The ID of the VPC that you want to disassociate from an Amazon Route 53 hosted zone.

    ", + "documentation":"

    The ID of the private hosted zone that you want to disassociate a VPC from.

    ", "location":"uri", "locationName":"Id" }, "VPC":{ "shape":"VPC", - "documentation":"

    A complex type containing information about the Amazon VPC that you're disassociating from the specified hosted zone.

    " + "documentation":"

    A complex type that contains information about the VPC that you're disassociating from the specified hosted zone.

    " }, "Comment":{ "shape":"DisassociateVPCComment", "documentation":"

    Optional: A comment about the disassociation request.

    " } }, - "documentation":"

    A complex type that contains information about the VPC and the hosted zone that you want to disassociate.

    " + "documentation":"

    A complex type that contains information about the VPC that you want to disassociate from a specified private hosted zone.

    " }, "DisassociateVPCFromHostedZoneResponse":{ "type":"structure", @@ -1749,7 +1987,7 @@ "members":{ "ChangeInfo":{ "shape":"ChangeInfo", - "documentation":"

    A complex type that describes the changes made to your hosted zone.

    " + "documentation":"

    A complex type that describes the changes made to the specified private hosted zone.

    " } }, "documentation":"

    A complex type that contains the response information for the disassociate request.

    " @@ -1781,18 +2019,18 @@ "members":{ "ContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

    The two-letter code for the continent.

    Valid values: AF | AN | AS | EU | OC | NA | SA

    Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode returns an InvalidInput error.

    " + "documentation":"

    The two-letter code for the continent.

    Amazon Route 53 supports the following continent codes:

    • AF: Africa

    • AN: Antarctica

    • AS: Asia

    • EU: Europe

    • OC: Oceania

    • NA: North America

    • SA: South America

    Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode returns an InvalidInput error.

    " }, "CountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

    The two-letter code for the country.

    " + "documentation":"

    For geolocation resource record sets, the two-letter code for a country.

    Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

    " }, "SubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

    The code for the subdivision, for example, a state in the United States or a province in Canada.

    " + "documentation":"

    For geolocation resource record sets, the two-letter code for a state of the United States. Route 53 doesn't support any other values for SubdivisionCode. For a list of state abbreviations, see Appendix B: Two–Letter State and Possession Abbreviations on the United States Postal Service website.

    If you specify subdivisioncode, you must also specify US for CountryCode.

    " } }, - "documentation":"

    A complex type that contains information about a geo location.

    " + "documentation":"

    A complex type that contains information about a geographic location.

    " }, "GeoLocationContinentCode":{ "type":"string", @@ -1835,11 +2073,11 @@ }, "SubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

    The code for the subdivision, for example, a state in the United States or a province in Canada.

    " + "documentation":"

    The code for the subdivision. Route 53 currently supports only states in the United States.

    " }, "SubdivisionName":{ "shape":"GeoLocationSubdivisionName", - "documentation":"

    The full name of the subdivision, for example, a state in the United States or a province in Canada.

    " + "documentation":"

    The full name of the subdivision. Route 53 currently supports only states in the United States.

    " } }, "documentation":"

    A complex type that contains the codes and full continent, country, and subdivision names for the specified geolocation code.

    " @@ -1861,31 +2099,36 @@ "max":64, "min":1 }, - "GetChangeDetailsRequest":{ + "GetAccountLimitRequest":{ "type":"structure", - "required":["Id"], + "required":["Type"], "members":{ - "Id":{ - "shape":"ResourceId", - "documentation":"

    The ID of the change batch. This is the value that you specified in the change ID parameter when you submitted the request.

    ", + "Type":{ + "shape":"AccountLimitType", + "documentation":"

    The limit that you want to get. Valid values include the following:

    • MAX_HEALTH_CHECKS_BY_OWNER: The maximum number of health checks that you can create using the current account.

    • MAX_HOSTED_ZONES_BY_OWNER: The maximum number of hosted zones that you can create using the current account.

    • MAX_REUSABLE_DELEGATION_SETS_BY_OWNER: The maximum number of reusable delegation sets that you can create using the current account.

    • MAX_TRAFFIC_POLICIES_BY_OWNER: The maximum number of traffic policies that you can create using the current account.

    • MAX_TRAFFIC_POLICY_INSTANCES_BY_OWNER: The maximum number of traffic policy instances that you can create using the current account. (Traffic policy instances are referred to as traffic flow policy records in the Amazon Route 53 console.)

    ", "location":"uri", - "locationName":"Id" + "locationName":"Type" } }, - "documentation":"

    The input for a GetChangeDetails request.

    ", - "deprecated":true + "documentation":"

    A complex type that contains information about the request to create a hosted zone.

    " }, - "GetChangeDetailsResponse":{ + "GetAccountLimitResponse":{ "type":"structure", - "required":["ChangeBatchRecord"], + "required":[ + "Limit", + "Count" + ], "members":{ - "ChangeBatchRecord":{ - "shape":"ChangeBatchRecord", - "documentation":"

    A complex type that contains information about the specified change batch, including the change batch ID, the status of the change, and the contained changes.

    " + "Limit":{ + "shape":"AccountLimit", + "documentation":"

    The current setting for the specified limit. For example, if you specified MAX_HEALTH_CHECKS_BY_OWNER for the value of Type in the request, the value of Limit is the maximum number of health checks that you can create using the current account.

    " + }, + "Count":{ + "shape":"UsageCount", + "documentation":"

    The current number of entities that you have created of the specified type. For example, if you specified MAX_HEALTH_CHECKS_BY_OWNER for the value of Type in the request, the value of Count is the current number of health checks that you have created using the current account.

    " } }, - "documentation":"

    A complex type that contains the ChangeBatchRecord element.

    ", - "deprecated":true + "documentation":"

    A complex type that contains the requested limit.

    " }, "GetChangeRequest":{ "type":"structure", @@ -1893,7 +2136,7 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

    The ID of the change batch request. The value that you specify here is the value that ChangeResourceRecordSets returned in the Id element when you submitted the request.

    ", + "documentation":"

    The ID of the change batch request. The value that you specify here is the value that ChangeResourceRecordSets returned in the Id element when you submitted the request.

    ", "location":"uri", "locationName":"Id" } @@ -1933,7 +2176,7 @@ "members":{ "ContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

    Amazon Route 53 supports the following continent codes:

    • AF: Africa

    • AN: Antarctica

    • AS: Asia

    • EU: Europe

    • OC: Oceania

    • NA: North America

    • SA: South America

    ", + "documentation":"

    For geolocation resource record sets, a two-letter abbreviation that identifies a continent. Amazon Route 53 supports the following continent codes:

    • AF: Africa

    • AN: Antarctica

    • AS: Asia

    • EU: Europe

    • OC: Oceania

    • NA: North America

    • SA: South America

    ", "location":"querystring", "locationName":"continentcode" }, @@ -1945,12 +2188,12 @@ }, "SubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

    Amazon Route 53 uses the one- to three-letter subdivision codes that are specified in ISO standard 3166-1 alpha-2. Amazon Route 53 doesn't support subdivision codes for all countries. If you specify SubdivisionCode, you must also specify CountryCode.

    ", + "documentation":"

    For SubdivisionCode, Amazon Route 53 supports only states of the United States. For a list of state abbreviations, see Appendix B: Two–Letter State and Possession Abbreviations on the United States Postal Service website.

    If you specify subdivisioncode, you must also specify US for CountryCode.

    ", "location":"querystring", "locationName":"subdivisioncode" } }, - "documentation":"

    A complex type that contains information about the request to get a geo location.

    " + "documentation":"

    A request for information about whether a specified geographic location is supported for Amazon Route 53 geolocation resource record sets.

    " }, "GetGeoLocationResponse":{ "type":"structure", @@ -1967,7 +2210,7 @@ "type":"structure", "members":{ }, - "documentation":"

    To retrieve a count of all your health checks, send a GET request to the /2013-04-01/healthcheckcount resource.

    " + "documentation":"

    A request for the number of health checks that are associated with the current AWS account.

    " }, "GetHealthCheckCountResponse":{ "type":"structure", @@ -1978,7 +2221,7 @@ "documentation":"

    The number of health checks associated with the current AWS account.

    " } }, - "documentation":"

    A complex type that contains the response to a healthcheckcount request.

    " + "documentation":"

    A complex type that contains the response to a GetHealthCheckCount request.

    " }, "GetHealthCheckLastFailureReasonRequest":{ "type":"structure", @@ -1986,12 +2229,12 @@ "members":{ "HealthCheckId":{ "shape":"HealthCheckId", - "documentation":"

    The ID for the health check for which you want the last failure reason. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

    ", + "documentation":"

    The ID for the health check for which you want the last failure reason. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

    If you want to get the last failure reason for a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckLastFailureReason for a calculated health check.

    ", "location":"uri", "locationName":"HealthCheckId" } }, - "documentation":"

    This action gets the reason that a specified health check failed most recently.

    To get the reason for the last failure of a health check, send a GET request to the /2013-04-01/healthcheck/health check ID/lastfailurereason resource.

    For information about viewing the last failure reason for a health check using the Amazon Route 53 console, see Viewing Health Check Status and the Reason for Health Check Failures in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    A request for the reason that a health check failed most recently.

    " }, "GetHealthCheckLastFailureReasonResponse":{ "type":"structure", @@ -2015,7 +2258,7 @@ "locationName":"HealthCheckId" } }, - "documentation":"

    This action gets information about a specified health check.

    Send a GET request to the /Amazon Route 53 API version/gethealthcheckrequest resource.

    For information about getting information about a health check using the Amazon Route 53 console, see Amazon Route 53 Health Checks and DNS Failover in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    A request to get information about a specified health check.

    " }, "GetHealthCheckResponse":{ "type":"structure", @@ -2034,12 +2277,12 @@ "members":{ "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 by periodically sending a request to the endpoint that is specified in the health check. If that endpoint returns an HTTP status code of 2xx or 3xx, the endpoint is healthy. If the endpoint returns an HTTP status code of 400 or greater, or if the endpoint doesn't respond for a certain amount of time, Amazon Route 53 considers the endpoint unhealthy and also considers the resource record set unhealthy.

    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:

    • You're checking the health of the resource record sets in a weighted, latency, geolocation, or failover resource record set, and you specify health check IDs for all of the resource record sets. If the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to queries using the value for that resource record set.

    • You set EvaluateTargetHealth to true for the resource record sets in an alias, weighted alias, latency alias, geolocation alias, or failover alias resource record set, and you specify health check IDs for all of the resource record sets that are referenced by the alias resource record sets. For more information about this configuration, see EvaluateTargetHealth.

      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).

    In 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.

    ", + "documentation":"

    The ID for the health check that you want the current status for. When you created the health check, CreateHealthCheck returned the ID in the response, in the HealthCheckId element.

    If you want to check the status of a calculated health check, you must use the Amazon Route 53 console or the CloudWatch console. You can't use GetHealthCheckStatus to get the status of a calculated health check.

    ", "location":"uri", "locationName":"HealthCheckId" } }, - "documentation":"

    A complex type that contains information about the request to get health check status for a health check.

    " + "documentation":"

    A request to get the status for a health check.

    " }, "GetHealthCheckStatusResponse":{ "type":"structure", @@ -2056,7 +2299,7 @@ "type":"structure", "members":{ }, - "documentation":"

    To retrieve a count of all your hosted zones, send a GET request to the /2013-04-01/hostedzonecount resource.

    " + "documentation":"

    A request to retrieve a count of all the hosted zones that are associated with the current AWS account.

    " }, "GetHostedZoneCountResponse":{ "type":"structure", @@ -2064,10 +2307,50 @@ "members":{ "HostedZoneCount":{ "shape":"HostedZoneCount", - "documentation":"

    The total number of public and private hosted zones associated with the current AWS account.

    " + "documentation":"

    The total number of public and private hosted zones that are associated with the current AWS account.

    " + } + }, + "documentation":"

    A complex type that contains the response to a GetHostedZoneCount request.

    " + }, + "GetHostedZoneLimitRequest":{ + "type":"structure", + "required":[ + "Type", + "HostedZoneId" + ], + "members":{ + "Type":{ + "shape":"HostedZoneLimitType", + "documentation":"

    The limit that you want to get. Valid values include the following:

    • MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the specified hosted zone.

    • MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

    ", + "location":"uri", + "locationName":"Type" + }, + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone that you want to get a limit for.

    ", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

    A complex type that contains information about the request to create a hosted zone.

    " + }, + "GetHostedZoneLimitResponse":{ + "type":"structure", + "required":[ + "Limit", + "Count" + ], + "members":{ + "Limit":{ + "shape":"HostedZoneLimit", + "documentation":"

    The current setting for the specified limit. For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Limit is the maximum number of records that you can create in the specified hosted zone.

    " + }, + "Count":{ + "shape":"UsageCount", + "documentation":"

    The current number of entities that you have created of the specified type. For example, if you specified MAX_RRSETS_BY_ZONE for the value of Type in the request, the value of Count is the current number of records that you have created in the specified hosted zone.

    " } }, - "documentation":"

    A complex type that contains the response to a hostedzonecount request.

    " + "documentation":"

    A complex type that contains the requested limit.

    " }, "GetHostedZoneRequest":{ "type":"structure", @@ -2075,12 +2358,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone for which you want to get a list of the name servers in the delegation set.

    ", + "documentation":"

    The ID of the hosted zone that you want to get information about.

    ", "location":"uri", "locationName":"Id" } }, - "documentation":"

    The input for a GetHostedZone request.

    " + "documentation":"

    A request to get information about a specified hosted zone.

    " }, "GetHostedZoneResponse":{ "type":"structure", @@ -2088,18 +2371,80 @@ "members":{ "HostedZone":{ "shape":"HostedZone", - "documentation":"

    A complex type that contains general information about the hosted zone.

    " + "documentation":"

    A complex type that contains general information about the specified hosted zone.

    " }, "DelegationSet":{ "shape":"DelegationSet", - "documentation":"

    A complex type that describes the name servers for this hosted zone.

    " + "documentation":"

    A complex type that lists the Amazon Route 53 name servers for the specified hosted zone.

    " }, "VPCs":{ "shape":"VPCs", - "documentation":"

    A complex type that contains information about VPCs associated with the specified hosted zone.

    " + "documentation":"

    A complex type that contains information about the VPCs that are associated with the specified hosted zone.

    " } }, - "documentation":"

    A complex type containing the response information for the hosted zone.

    " + "documentation":"

    A complex type that contain the response to a GetHostedZone request.

    " + }, + "GetQueryLoggingConfigRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"QueryLoggingConfigId", + "documentation":"

    The ID of the configuration for DNS query logging that you want to get information about.

    ", + "location":"uri", + "locationName":"Id" + } + } + }, + "GetQueryLoggingConfigResponse":{ + "type":"structure", + "required":["QueryLoggingConfig"], + "members":{ + "QueryLoggingConfig":{ + "shape":"QueryLoggingConfig", + "documentation":"

    A complex type that contains information about the query logging configuration that you specified in a GetQueryLoggingConfig request.

    " + } + } + }, + "GetReusableDelegationSetLimitRequest":{ + "type":"structure", + "required":[ + "Type", + "DelegationSetId" + ], + "members":{ + "Type":{ + "shape":"ReusableDelegationSetLimitType", + "documentation":"

    Specify MAX_ZONES_BY_REUSABLE_DELEGATION_SET to get the maximum number of hosted zones that you can associate with the specified reusable delegation set.

    ", + "location":"uri", + "locationName":"Type" + }, + "DelegationSetId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the delegation set that you want to get the limit for.

    ", + "location":"uri", + "locationName":"Id" + } + }, + "documentation":"

    A complex type that contains information about the request to create a hosted zone.

    " + }, + "GetReusableDelegationSetLimitResponse":{ + "type":"structure", + "required":[ + "Limit", + "Count" + ], + "members":{ + "Limit":{ + "shape":"ReusableDelegationSetLimit", + "documentation":"

    The current setting for the limit on hosted zones that you can associate with the specified reusable delegation set.

    " + }, + "Count":{ + "shape":"UsageCount", + "documentation":"

    The current number of hosted zones that you can associate with the specified reusable delegation set.

    " + } + }, + "documentation":"

    A complex type that contains the requested limit.

    " }, "GetReusableDelegationSetRequest":{ "type":"structure", @@ -2107,12 +2452,12 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

    The ID of the reusable delegation set for which you want to get a list of the name server.

    ", + "documentation":"

    The ID of the reusable delegation set that you want to get a list of name servers for.

    ", "location":"uri", "locationName":"Id" } }, - "documentation":"

    The input for a GetReusableDelegationSet request.

    " + "documentation":"

    A request to get information about a specified reusable delegation set.

    " }, "GetReusableDelegationSetResponse":{ "type":"structure", @@ -2129,7 +2474,7 @@ "type":"structure", "members":{ }, - "documentation":"

    To retrieve a count of all your traffic policy instances, send a GET request to the /2013-04-01/trafficpolicyinstancecount resource.

    " + "documentation":"

    Request to get the number of traffic policy instances that are associated with the current AWS account.

    " }, "GetTrafficPolicyInstanceCountResponse":{ "type":"structure", @@ -2153,7 +2498,7 @@ "locationName":"Id" } }, - "documentation":"

    Gets information about a specified traffic policy instance.

    To get information about a traffic policy instance, send a GET request to the /Amazon Route 53 API version/trafficpolicyinstance/Id resource.

    " + "documentation":"

    Gets information about a specified traffic policy instance.

    " }, "GetTrafficPolicyInstanceResponse":{ "type":"structure", @@ -2186,7 +2531,7 @@ "locationName":"Version" } }, - "documentation":"

    Gets information about a specific traffic policy version. To get the information, send a GET request to the /2013-04-01/trafficpolicy resource, and specify the ID and the version of the traffic policy.

    " + "documentation":"

    Gets information about a specific traffic policy version.

    " }, "GetTrafficPolicyResponse":{ "type":"structure", @@ -2216,6 +2561,10 @@ "shape":"HealthCheckNonce", "documentation":"

    A unique string that you specified when you created the health check.

    " }, + "LinkedService":{ + "shape":"LinkedService", + "documentation":"

    If the health check was created by another service, the service that created the health check. When a health check is created by another service, you can't edit or delete it using Amazon Route 53.

    " + }, "HealthCheckConfig":{ "shape":"HealthCheckConfig", "documentation":"

    A complex type that contains detailed information about one health check.

    " @@ -2239,7 +2588,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The health check you're attempting to create already exists.

    Amazon Route 53 returns this error when a health check has already been created with the specified value for CallerReference.

    ", + "documentation":"

    The health check you're attempting to create already exists. Amazon Route 53 returns this error when you submit a request that has the following values:

    • The same value for CallerReference as an existing health check, and one or more values that differ from the existing health check that has the same caller reference.

    • The same value for CallerReference as a health check that you created and later deleted, regardless of the other settings in the request.

    ", "error":{"httpStatusCode":409}, "exception":true }, @@ -2249,47 +2598,51 @@ "members":{ "IPAddress":{ "shape":"IPAddress", - "documentation":"

    The IPv4 IP address of the endpoint on which you want Amazon Route 53 to perform health checks. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

    If the endpoint is an Amazon EC2 instance, we recommend that you create an Elastic IP address, associate it with your Amazon EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

    For more information, see HealthCheckConfig$FullyQualifiedDomainName.

    Contraints: Amazon Route 53 cannot check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you cannot create health checks, see RFC 5735, Special Use IPv4 Addresses and RFC 6598, IANA-Reserved IPv4 Prefix for Shared Address Space.

    When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

    " + "documentation":"

    The IPv4 or IPv6 IP address of the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address returned by DNS, Route 53 then checks the health of the endpoint.

    Use one of the following formats for the value of IPAddress:

    • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

    • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

    If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance will never change.

    For more information, see FullyQualifiedDomainName.

    Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

    When the value of Type is CALCULATED or CLOUDWATCH_METRIC, omit IPAddress.

    " }, "Port":{ "shape":"Port", - "documentation":"

    The port on the endpoint on which you want Amazon Route 53 to perform health checks. Specify a value for Port only when you specify a value for IPAddress.

    " + "documentation":"

    The port on the endpoint that you want Amazon Route 53 to perform health checks on.

    Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or CALCULATED.

    " }, "Type":{ "shape":"HealthCheckType", - "documentation":"

    The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

    You can't change the value of Type after you create a health check.

    You can create the following types of health checks:

    • HTTP: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

    • HTTPS: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

      If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

    • HTTP_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

    • HTTPS_STR_MATCH: Amazon Route 53 tries to establish a TCP connection. If successful, Amazon Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

    • TCP: Amazon Route 53 tries to establish a TCP connection.

    • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

    • CALCULATED: For health checks that monitor the status of other health checks, Amazon Route 53 adds up the number of health checks that Amazon Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

    For more information about how Amazon Route 53 determines whether an endpoint is healthy, see the introduction to this topic.

    " + "documentation":"

    The type of health check that you want to create, which indicates how Amazon Route 53 determines whether an endpoint is healthy.

    You can't change the value of Type after you create a health check.

    You can create the following types of health checks:

    • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

    • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

      If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

    • HTTP_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

    • HTTPS_STR_MATCH: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and searches the first 5,120 bytes of the response body for the string that you specify in SearchString.

    • TCP: Route 53 tries to establish a TCP connection.

    • CLOUDWATCH_METRIC: The health check is associated with a CloudWatch alarm. If the state of the alarm is OK, the health check is considered healthy. If the state is ALARM, the health check is considered unhealthy. If CloudWatch doesn't have sufficient data to determine whether the state is OK or ALARM, the health check status depends on the setting for InsufficientDataHealthStatus: Healthy, Unhealthy, or LastKnownStatus.

    • CALCULATED: For health checks that monitor the status of other health checks, Route 53 adds up the number of health checks that Route 53 health checkers consider to be healthy and compares that number with the value of HealthThreshold.

    For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

    " }, "ResourcePath":{ "shape":"ResourcePath", - "documentation":"

    The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html.

    " + "documentation":"

    The path, if any, that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example, the file /docs/route53-health-check.html. You can also include query string parameters, for example, /welcome.html?language=jp&login=y.

    " }, "FullyQualifiedDomainName":{ "shape":"FullyQualifiedDomainName", - "documentation":"

    Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

    If you specify IPAddress:

    The value that you want Amazon Route 53 to pass in the Host header in all health checks except TCP health checks. This is typically the fully qualified DNS name of the website that you are attempting to health check. When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

    • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

    If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases.

    If you don't specify IPAddress:

    If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IP address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

    If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, 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 (www.example.com).

    In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

    In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

    " + "documentation":"

    Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

    If you specify a value for IPAddress:

    Amazon Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.

    When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

    • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify another value for Port and any value except TCP for Type, Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

    If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the Host header in each of the preceding cases.

    If you don't specify a value for IPAddress :

    Route 53 sends a DNS request to the domain that you specify for FullyQualifiedDomainName at the interval that you specify for RequestInterval. Using an IPv4 address that DNS returns, Route 53 then checks the health of the endpoint.

    If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

    If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, 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-2-www.example.com), not the name of the resource record sets (www.example.com).

    In this configuration, if you create a health check for which the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

    In addition, if the value that you specify for Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

    " }, "SearchString":{ "shape":"SearchString", - "documentation":"

    If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Amazon Route 53 considers the resource healthy.

    Amazon Route 53 considers case when searching for SearchString in the response body.

    " + "documentation":"

    If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy.

    Route 53 considers case when searching for SearchString in the response body.

    " }, "RequestInterval":{ "shape":"RequestInterval", - "documentation":"

    The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request. Each Amazon Route 53 health checker makes requests at this interval.

    You can't change the value of RequestInterval after you create a health check.

    " + "documentation":"

    The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health check request. Each Route 53 health checker makes requests at this interval.

    You can't change the value of RequestInterval after you create a health check.

    If you don't specify a value for RequestInterval, the default value is 30 seconds.

    " }, "FailureThreshold":{ "shape":"FailureThreshold", - "documentation":"

    The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

    If you don't specify a value for FailureThreshold, the default value is three health checks.

    " }, "MeasureLatency":{ "shape":"MeasureLatency", - "documentation":"

    Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Amazon Route 53 console.

    You can't change the value of MeasureLatency after you create a health check.

    " + "documentation":"

    Specify whether you want Amazon Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint, and to display CloudWatch latency graphs on the Health Checks page in the Route 53 console.

    You can't change the value of MeasureLatency after you create a health check.

    " }, "Inverted":{ "shape":"Inverted", "documentation":"

    Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

    " }, + "Disabled":{ + "shape":"Disabled", + "documentation":"

    Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

    • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

    • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

    • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

    After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of Inverted.

    Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

    " + }, "HealthThreshold":{ "shape":"HealthThreshold", - "documentation":"

    The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the HealthCheckConfig$ChildHealthChecks and HealthCheckConfig$ChildHealthChecks elements.

    Note the following:

    • If you specify a number greater than the number of child health checks, Amazon Route 53 always considers this health check to be unhealthy.

    • If you specify 0, Amazon Route 53 always considers this health check to be healthy.

    " + "documentation":"

    The number of child health checks that are associated with a CALCULATED health check that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks element.

    Note the following:

    • If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

    • If you specify 0, Route 53 always considers this health check to be healthy.

    " }, "ChildHealthChecks":{ "shape":"ChildHealthCheckList", @@ -2301,15 +2654,15 @@ }, "Regions":{ "shape":"HealthCheckRegionList", - "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.

    " + "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.

    If you don't specify any regions, Route 53 health checkers automatically performs checks from all of the regions that are listed under Valid Values.

    If you update a health check to remove a region that has been performing health checks, Route 53 will briefly continue to perform checks from that region to ensure that some health checkers are always checking the endpoint (for example, if you replace three regions with four different regions).

    " }, "AlarmIdentifier":{ "shape":"AlarmIdentifier", - "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether this health check is healthy.

    " + "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

    " }, "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:

    • Healthy: Amazon Route 53 considers the health check to be healthy.

    • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

    • LastKnownStatus: Amazon Route 53uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

    " + "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:

    • Healthy: Route 53 considers the health check to be healthy.

    • Unhealthy: Route 53 considers the health check to be unhealthy.

    • LastKnownStatus: Route 53 uses the status of the health check from the last time that CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

    " } }, "documentation":"

    A complex type that contains information about the health check.

    " @@ -2327,7 +2680,8 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The health check ID for this health check is referenced in the HealthCheckId element in one of the resource record sets in one of the hosted zones that are owned by the current AWS account.

    ", + "documentation":"

    This error code is not in use.

    ", + "deprecated":true, "error":{"httpStatusCode":400}, "exception":true }, @@ -2341,7 +2695,7 @@ "members":{ "Region":{ "shape":"HealthCheckRegion", - "documentation":"

    The region of the Amazon Route 53 health checker that provided the status in StatusReport.

    " + "documentation":"

    The region of the Amazon Route 53 health checker that provided the status in StatusReport.

    " }, "IPAddress":{ "shape":"IPAddress", @@ -2363,7 +2717,6 @@ }, "HealthCheckRegion":{ "type":"string", - "documentation":"

    An Amazon EC2 region that you want Amazon Route 53 to use to perform health checks.

    ", "enum":[ "us-east-1", "us-west-1", @@ -2384,7 +2737,7 @@ "locationName":"Region" }, "max":64, - "min":1 + "min":3 }, "HealthCheckType":{ "type":"string", @@ -2437,7 +2790,7 @@ }, "Name":{ "shape":"DNSName", - "documentation":"

    The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

    For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.

    " + "documentation":"

    The name of the domain. For public hosted zones, this is the name that you have registered with your DNS registrar.

    For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see CreateHostedZone.

    " }, "CallerReference":{ "shape":"Nonce", @@ -2450,6 +2803,10 @@ "ResourceRecordSetCount":{ "shape":"HostedZoneRRSetCount", "documentation":"

    The number of resource record sets in the hosted zone.

    " + }, + "LinkedService":{ + "shape":"LinkedService", + "documentation":"

    If the hosted zone was created by another service, the service that created the hosted zone. When a hosted zone is created by another service, you can't edit or delete it using Route 53.

    " } }, "documentation":"

    A complex type that contains general information about the hosted zone.

    " @@ -2462,7 +2819,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The hosted zone you are trying to create already exists. Amazon Route 53 returns this error when a hosted zone has already been created with the specified CallerReference.

    ", + "documentation":"

    The hosted zone you're trying to create already exists. Amazon Route 53 returns this error when a hosted zone has already been created with the specified CallerReference.

    ", "error":{"httpStatusCode":409}, "exception":true }, @@ -2481,6 +2838,31 @@ "documentation":"

    A complex type that contains an optional comment about your hosted zone. If you don't want to specify a comment, omit both the HostedZoneConfig and Comment elements.

    " }, "HostedZoneCount":{"type":"long"}, + "HostedZoneLimit":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"HostedZoneLimitType", + "documentation":"

    The limit that you requested. Valid values include the following:

    • MAX_RRSETS_BY_ZONE: The maximum number of records that you can create in the specified hosted zone.

    • MAX_VPCS_ASSOCIATED_BY_ZONE: The maximum number of Amazon VPCs that you can associate with the specified private hosted zone.

    " + }, + "Value":{ + "shape":"LimitValue", + "documentation":"

    The current value for the limit that is specified by Type.

    " + } + }, + "documentation":"

    A complex type that contains the type of limit that you specified in the request and the current value for that limit.

    " + }, + "HostedZoneLimitType":{ + "type":"string", + "enum":[ + "MAX_RRSETS_BY_ZONE", + "MAX_VPCS_ASSOCIATED_BY_ZONE" + ] + }, "HostedZoneNotEmpty":{ "type":"structure", "members":{ @@ -2501,7 +2883,18 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The specified HostedZone cannot be found.

    ", + "documentation":"

    The specified HostedZone can't be found.

    ", + "exception":true + }, + "HostedZoneNotPrivate":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " + } + }, + "documentation":"

    The specified hosted zone is a public hosted zone, not a private hosted zone.

    ", "exception":true }, "HostedZoneRRSetCount":{"type":"long"}, @@ -2514,8 +2907,8 @@ }, "IPAddress":{ "type":"string", - "max":15, - "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + "max":45, + "pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$|^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$)" }, "IPAddressCidr":{"type":"string"}, "IncompatibleVersion":{ @@ -2523,7 +2916,16 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

    The resource you are trying to access is unsupported on this Amazon Route 53 endpoint. Please consider using a newer endpoint or a tool that does so.

    ", + "documentation":"

    The resource you're trying to access is unsupported on this Amazon Route 53 endpoint.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InsufficientCloudWatchLogsResourcePolicy":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Amazon Route 53 doesn't have the permissions required to create log streams and send query logs to log streams. Possible causes include the following:

    • There is no resource policy that specifies the log group ARN in the value for Resource.

    • The resource policy that includes the log group ARN in the value for Resource doesn't have the necessary permissions.

    • The resource policy hasn't finished propagating yet.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -2543,7 +2945,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    Parameter name and problem.

    ", + "documentation":"

    Parameter name is invalid.

    ", "exception":true }, "InvalidChangeBatch":{ @@ -2552,7 +2954,8 @@ "messages":{ "shape":"ErrorMessages", "documentation":"

    Descriptive message for the error response.

    " - } + }, + "message":{"shape":"ErrorMessage"} }, "documentation":"

    This exception contains a list of messages that might contain one or more error messages. Each error message indicates one error in the change batch.

    ", "exception":true @@ -2581,19 +2984,16 @@ "error":{"httpStatusCode":400}, "exception":true }, - "InvalidTrafficPolicyDocument":{ + "InvalidPaginationToken":{ "type":"structure", "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

    Descriptive message for the error response.

    " - } + "message":{"shape":"ErrorMessage"} }, - "documentation":"

    The format of the traffic policy document that you specified in the Document element is invalid.

    ", + "documentation":"

    The value that you specified to get the second or subsequent page of results is invalid.

    ", "error":{"httpStatusCode":400}, "exception":true }, - "InvalidVPCId":{ + "InvalidTrafficPolicyDocument":{ "type":"structure", "members":{ "message":{ @@ -2601,13 +3001,11 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The hosted zone you are trying to create for your VPC_ID does not belong to you. Amazon Route 53 returns this error when the VPC specified by VPCId does not belong to you.

    ", + "documentation":"

    The format of the traffic policy document that you specified in the Document element is invalid.

    ", "error":{"httpStatusCode":400}, "exception":true }, - "Inverted":{"type":"boolean"}, - "IsPrivateZone":{"type":"boolean"}, - "LastVPCAssociation":{ + "InvalidVPCId":{ "type":"structure", "members":{ "message":{ @@ -2615,218 +3013,82 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    Only one VPC is currently associated with the hosted zone. You cannot convert a private hosted zone into a public hosted zone by disassociating the last VPC from a hosted zone.

    ", + "documentation":"

    The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access this VPC.

    ", "error":{"httpStatusCode":400}, "exception":true }, - "LimitsExceeded":{ - "type":"structure", - "members":{ - "message":{ - "shape":"ErrorMessage", - "documentation":"

    Descriptive message for the error response.

    " - } - }, - "documentation":"

    The limits specified for a resource have been exceeded.

    ", - "exception":true - }, - "ListChangeBatchesByHostedZoneRequest":{ - "type":"structure", - "required":[ - "HostedZoneId", - "StartDate", - "EndDate" - ], - "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone that you want to see changes for.

    ", - "location":"uri", - "locationName":"Id" - }, - "StartDate":{ - "shape":"Date", - "documentation":"

    The start of the time period you want to see changes for.

    ", - "location":"querystring", - "locationName":"startDate" - }, - "EndDate":{ - "shape":"Date", - "documentation":"

    The end of the time period you want to see changes for.

    ", - "location":"querystring", - "locationName":"endDate" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

    The maximum number of items on a page.

    ", - "location":"querystring", - "locationName":"maxItems" - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

    The page marker.

    ", - "location":"querystring", - "locationName":"marker" - } - }, - "documentation":"

    The input for a ListChangeBatchesByHostedZone request.

    ", - "deprecated":true - }, - "ListChangeBatchesByHostedZoneResponse":{ - "type":"structure", - "required":[ - "MaxItems", - "Marker", - "ChangeBatchRecords" - ], - "members":{ - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

    The value that you specified for the maxitems parameter in the call to ListHostedZones that produced the current response.

    " - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

    For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

    " - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

    A flag that indicates if there are more change batches to list.

    " - }, - "ChangeBatchRecords":{ - "shape":"ChangeBatchRecords", - "documentation":"

    The change batches within the given hosted zone and time period.

    " - }, - "NextMarker":{ - "shape":"PageMarker", - "documentation":"

    The next page marker.

    " + "Inverted":{"type":"boolean"}, + "IsPrivateZone":{"type":"boolean"}, + "LastVPCAssociation":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    A complex type containing the response information for the request.

    ", - "deprecated":true + "documentation":"

    The VPC that you're trying to disassociate from the private hosted zone is the last VPC that is associated with the hosted zone. Amazon Route 53 doesn't support disassociating the last VPC from a hosted zone.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LimitValue":{ + "type":"long", + "min":1 }, - "ListChangeBatchesByRRSetRequest":{ + "LimitsExceeded":{ "type":"structure", - "required":[ - "HostedZoneId", - "Name", - "Type", - "StartDate", - "EndDate" - ], "members":{ - "HostedZoneId":{ - "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone that you want to see changes for.

    ", - "location":"uri", - "locationName":"Id" - }, - "Name":{ - "shape":"DNSName", - "documentation":"

    The name of the RRSet that you want to see changes for.

    ", - "location":"querystring", - "locationName":"rrSet_name" - }, - "Type":{ - "shape":"RRType", - "documentation":"

    The type of the RRSet that you want to see changes for.

    ", - "location":"querystring", - "locationName":"type" - }, - "SetIdentifier":{ - "shape":"ResourceRecordSetIdentifier", - "documentation":"

    The identifier of the RRSet that you want to see changes for.

    ", - "location":"querystring", - "locationName":"identifier" - }, - "StartDate":{ - "shape":"Date", - "documentation":"

    The start of the time period you want to see changes for.

    ", - "location":"querystring", - "locationName":"startDate" - }, - "EndDate":{ - "shape":"Date", - "documentation":"

    The end of the time period you want to see changes for.

    ", - "location":"querystring", - "locationName":"endDate" - }, - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

    The maximum number of items on a page.

    ", - "location":"querystring", - "locationName":"maxItems" - }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

    The page marker.

    ", - "location":"querystring", - "locationName":"marker" + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The input for a ListChangeBatchesByRRSet request.

    ", - "deprecated":true + "documentation":"

    This operation can't be completed either because the current account has reached the limit on reusable delegation sets that it can create or because you've reached the limit on the number of Amazon VPCs that you can associate with a private hosted zone. To get the current limit on the number of reusable delegation sets, see GetAccountLimit. To get the current limit on the number of Amazon VPCs that you can associate with a private hosted zone, see GetHostedZoneLimit. To request a higher limit, create a case with the AWS Support Center.

    ", + "exception":true }, - "ListChangeBatchesByRRSetResponse":{ + "LinkedService":{ "type":"structure", - "required":[ - "MaxItems", - "Marker", - "ChangeBatchRecords" - ], "members":{ - "MaxItems":{ - "shape":"PageMaxItems", - "documentation":"

    The maximum number of items on a page.

    " + "ServicePrincipal":{ + "shape":"ServicePrincipal", + "documentation":"

    If the health check or hosted zone was created by another service, the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

    " }, - "Marker":{ - "shape":"PageMarker", - "documentation":"

    The page marker.

    " - }, - "IsTruncated":{ - "shape":"PageTruncated", - "documentation":"

    A flag that indicates if there are more change batches to list.

    " - }, - "ChangeBatchRecords":{ - "shape":"ChangeBatchRecords", - "documentation":"

    The change batches within the given hosted zone and time period.

    " - }, - "NextMarker":{ - "shape":"PageMarker", - "documentation":"

    The next page marker.

    " + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    If the health check or hosted zone was created by another service, an optional description that can be provided by the other service. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

    " } }, - "documentation":"

    The input for a ListChangeBatchesByRRSet request.

    ", - "deprecated":true + "documentation":"

    If a health check or hosted zone was created by another service, LinkedService is a complex type that describes the service that created the resource. When a resource is created by another service, you can't edit or delete it using Amazon Route 53.

    " }, "ListGeoLocationsRequest":{ "type":"structure", "members":{ "StartContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

    The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous response has a value, enter that value in StartContinentCode to return the next page of results.

    Include StartContinentCode only if you want to list continents. Don't include StartContinentCode when you're listing countries or countries with their subdivisions.

    ", + "documentation":"

    The code for the continent with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextContinentCode from the previous response has a value, enter that value in startcontinentcode to return the next page of results.

    Include startcontinentcode only if you want to list continents. Don't include startcontinentcode when you're listing countries or countries with their subdivisions.

    ", "location":"querystring", "locationName":"startcontinentcode" }, "StartCountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

    The code for the country with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextCountryCode from the previous response has a value, enter that value in StartCountryCode to return the next page of results.

    Amazon Route 53 uses the two-letter country codes that are specified in ISO standard 3166-1 alpha-2.

    ", + "documentation":"

    The code for the country with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextCountryCode from the previous response has a value, enter that value in startcountrycode to return the next page of results.

    ", "location":"querystring", "locationName":"startcountrycode" }, "StartSubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

    The code for the subdivision (for example, state or province) with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Amazon Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextSubdivisionCode from the previous response has a value, enter that value in StartSubdivisionCode to return the next page of results.

    To list subdivisions of a country, you must include both StartCountryCode and StartSubdivisionCode.

    ", + "documentation":"

    The code for the state of the United States with which you want to start listing locations that Amazon Route 53 supports for geolocation. If Route 53 has already returned a page or more of results, if IsTruncated is true, and if NextSubdivisionCode from the previous response has a value, enter that value in startsubdivisioncode to return the next page of results.

    To list subdivisions (U.S. states), you must include both startcountrycode and startsubdivisioncode.

    ", "location":"querystring", "locationName":"startsubdivisioncode" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    (Optional) The maximum number of geolocations to be included in the response body for this request. If more than MaxItems geolocations remain to be listed, then the value of the IsTruncated element in the response is true.

    ", + "documentation":"

    (Optional) The maximum number of geolocations to be included in the response body for this request. If more than maxitems geolocations remain to be listed, then the value of the IsTruncated element in the response is true.

    ", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

    To get a list of geographic locations that Amazon Route 53 supports for geolocation, send a GET request to the /Amazon Route 53 API version/geolocations resource. The response to this request includes a GeoLocationDetails element for each location that Amazon Route 53 supports.

    Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order immediately after the corresponding country.

    " + "documentation":"

    A request to get a list of geographic locations that Amazon Route 53 supports for geolocation resource record sets.

    " }, "ListGeoLocationsResponse":{ "type":"structure", @@ -2842,19 +3104,19 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A value that indicates whether more locations remain to be listed after the last location in this response. If so, the value of IsTruncated is true. To get more values, submit another request and include the values of NextContinentCode, NextCountryCode, and NextSubdivisionCode in the StartContinentCode, StartCountryCode, and StartSubdivisionCode, as applicable.

    " + "documentation":"

    A value that indicates whether more locations remain to be listed after the last location in this response. If so, the value of IsTruncated is true. To get more values, submit another request and include the values of NextContinentCode, NextCountryCode, and NextSubdivisionCode in the startcontinentcode, startcountrycode, and startsubdivisioncode, as applicable.

    " }, "NextContinentCode":{ "shape":"GeoLocationContinentCode", - "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextContinentCode in the StartContinentCode parameter in another GET ListGeoLocations request.

    " + "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextContinentCode in the startcontinentcode parameter in another ListGeoLocations request.

    " }, "NextCountryCode":{ "shape":"GeoLocationCountryCode", - "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextCountryCode in the StartCountryCode parameter in another GET ListGeoLocations request.

    " + "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextCountryCode in the startcountrycode parameter in another ListGeoLocations request.

    " }, "NextSubdivisionCode":{ "shape":"GeoLocationSubdivisionCode", - "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextSubdivisionCode in the StartSubdivisionCode parameter in another GET ListGeoLocations request.

    " + "documentation":"

    If IsTruncated is true, you can make a follow-up request to display more locations. Enter the value of NextSubdivisionCode in the startsubdivisioncode parameter in another ListGeoLocations request.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -2868,18 +3130,18 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

    If the response to a ListHealthChecks is more than one page, marker is the health check ID for the first health check on the next page of results. For more information, see ListHealthChecksResponse$MaxItems.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more health checks. To get another group, submit another ListHealthChecks request.

    For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first health check that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more health checks to get.

    ", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The maximum number of HealthCheck elements you want ListHealthChecks to return on each page of the response body. If the AWS account includes more HealthCheck elements than the value of maxitems, the response is broken into pages. Each page contains the number of HealthCheck elements specified by maxitems.

    For example, suppose you specify 10 for maxitems and the current AWS account has 51 health checks. In the response, ListHealthChecks sets ListHealthChecksResponse$IsTruncated to true and includes the ListHealthChecksResponse$NextMarker element. To access the second and subsequent pages, you resend the GET ListHealthChecks request, add the ListHealthChecksResponse$Marker parameter to the request, and specify the value of the ListHealthChecksResponse$NextMarker element from the previous response. On the last (sixth) page of the response, which contains only one HealthCheck element:

    ", + "documentation":"

    The maximum number of health checks that you want ListHealthChecks to return in response to the current request. Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Route 53 returns only the first 100 health checks.

    ", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

    To retrieve a list of your health checks, send a GET request to the /2013-04-01/healthcheck resource. The response to this request includes a HealthChecks element with zero or more HealthCheck child elements. By default, the list of health checks is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the health check that the list begins with.

    Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    " + "documentation":"

    A request to retrieve a list of the health checks that are associated with the current AWS account.

    " }, "ListHealthChecksResponse":{ "type":"structure", @@ -2896,15 +3158,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

    For the second and subsequent calls to ListHealthChecks, Marker is the value that you specified for the marker parameter in the previous request.

    " + "documentation":"

    For the second and subsequent calls to ListHealthChecks, Marker is the value that you specified for the marker parameter in the previous request.

    " }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more health checks to be listed. If the response was truncated, you can get the next group of maxitems health checks by calling ListHealthChecks again and specifying the value of the NextMarker element in the marker parameter.

    Valid Values: true | false

    " + "documentation":"

    A flag that indicates whether there are more health checks to be listed. If the response was truncated, you can get the next group of health checks by submitting another ListHealthChecks request and specifying the value of NextMarker in the marker parameter.

    " }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the first health check in the next group of maxitems health checks. Call ListHealthChecks again and specify the value of NextMarker in the marker parameter.

    " + "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the first health check that Amazon Route 53 returns if you submit another ListHealthChecks request and specify the value of NextMarker in the marker parameter.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -2935,7 +3197,7 @@ "locationName":"maxitems" } }, - "documentation":"

    To retrieve a list of your public and private hosted zones in ASCII order by domain name, send a GET request to the /Amazon Route 53 API version/hostedzonesbyname resource. The response to this request includes a HostedZone child element for each hosted zone that was created by the current AWS account. ListHostedZonesByName sorts hosted zones by name with the labels reversed, for example:

    com.example.www.

    Note the trailing dot, which can change the sort order in some circumstances.

    If the domain name includes escape characters or Punycode, ListHostedZonesByName alphabetizes the domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database. For example, to create a hosted zone for exämple.com, you specify ex\\344mple.com for the domain name. ListHostedZonesByName alphabetizes it as: com.ex\\344mple. The labels are reversed, and it's alphabetized using the escaped value. For more information about valid domain name formats, including internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    Amazon Route 53 returns up to 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 values that help you navigate from one group of MaxItems hosted zones to the next:

    • The DNSName and HostedZoneId elements in the response contain the values, if any, that you specified for the dnsname and hostedzoneid parameters in the request that produced the current response.

    • The MaxItems element in the response contains the value, if any, that you specified for the maxitems parameter in the request that produced the current response.

    • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current Amazon Route 53 account.

      If IsTruncated is false, this response includes the last hosted zone that is associated with the current account. The NextDNSName element and NextHostedZoneId elements are omitted from the response.

    • The NextDNSName and NextHostedZoneId elements in the response contain the domain name and the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZonesByName, and specify the value of NextDNSName and NextHostedZoneId in the dnsname and hostedzoneid parameters, respectively.

    " + "documentation":"

    Retrieves a list of the public and private hosted zones that are associated with the current AWS account in ASCII order by domain name.

    " }, "ListHostedZonesByNameResponse":{ "type":"structure", @@ -2981,13 +3243,13 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

    (Optional) If you have more hosted zones than the value of maxitems, ListHostedZones returns only the first maxitems hosted zones. To get the next group of maxitems hosted zones, submit another request to ListHostedZones. For the value of marker, specify the value of the NextMarker element that was returned in the previous response.

    Hosted zones are listed in the order in which they were created.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more hosted zones. To get more hosted zones, submit another ListHostedZones request.

    For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first hosted zone that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more hosted zones to get.

    ", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    (Optional) The maximum number of hosted zones to be included in the response body for this request. If you have more than maxitems hosted zones, the value of the IsTruncated element in the response is true, and the value of the NextMarker element is the hosted zone ID of the first hosted zone in the next group of maxitems hosted zones.

    ", + "documentation":"

    (Optional) The maximum number of hosted zones that you want Amazon Route 53 to return. If you have more than maxitems hosted zones, the value of IsTruncated in the response is true, and the value of NextMarker is the hosted zone ID of the first hosted zone that Route 53 will return if you submit another request.

    ", "location":"querystring", "locationName":"maxitems" }, @@ -2998,7 +3260,7 @@ "locationName":"delegationsetid" } }, - "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 HostedZone child element for each hosted zone that was 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 you navigate from one group of maxitems hosted zones to the next:

    • MaxItems is the value that you specified for the maxitems parameter in the request that produced the current response.

    • If the value of IsTruncated in the response is true, there are more hosted zones associated with the current AWS account.

      If IsTruncated is false, this response includes the last hosted zone that is associated with the current account.

    • NextMarker is the hosted zone ID of the next hosted zone that is associated with the current AWS account. If you want to list more hosted zones, make another call to ListHostedZones, and specify the value of the NextMarker element in the marker parameter.

      If IsTruncated is false, the NextMarker element is omitted from the response.

    • If you're making the second or subsequent call to ListHostedZones, the Marker element matches the value that you specified in the marker parameter in the previous request.

    " + "documentation":"

    A request to retrieve a list of the public and private hosted zones that are associated with the current AWS account.

    " }, "ListHostedZonesResponse":{ "type":"structure", @@ -3015,15 +3277,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

    For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

    " + "documentation":"

    For the second and subsequent calls to ListHostedZones, Marker is the value that you specified for the marker parameter in the request that produced the current response.

    " }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag indicating whether there are more hosted zones to be listed. If the response was truncated, you can get the next group of maxitems hosted zones by calling ListHostedZones again and specifying the value of the NextMarker element in the marker parameter.

    " + "documentation":"

    A flag indicating whether there are more hosted zones to be listed. If the response was truncated, you can get more hosted zones by submitting another ListHostedZones request and specifying the value of NextMarker in the marker parameter.

    " }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group of maxitems hosted zones. Call ListHostedZones again and specify the value of NextMarker in the marker parameter.

    This element is present only if IsTruncated is true.

    " + "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the first hosted zone in the next group of hosted zones. Submit another ListHostedZones request, and specify the value of NextMarker from the response in the marker parameter.

    This element is present only if IsTruncated is true.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -3031,31 +3293,68 @@ } } }, + "ListQueryLoggingConfigsRequest":{ + "type":"structure", + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    (Optional) If you want to list the query logging configuration that is associated with a hosted zone, specify the ID in HostedZoneId.

    If you don't specify a hosted zone ID, ListQueryLoggingConfigs returns all of the configurations that are associated with the current AWS account.

    ", + "location":"querystring", + "locationName":"hostedzoneid" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    (Optional) If the current AWS account has more than MaxResults query logging configurations, use NextToken to get the second and subsequent pages of results.

    For the first ListQueryLoggingConfigs request, omit this value.

    For the second and subsequent requests, get the value of NextToken from the previous response and specify that value for NextToken in the request.

    ", + "location":"querystring", + "locationName":"nexttoken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) The maximum number of query logging configurations that you want Amazon Route 53 to return in response to the current request. If the current AWS account has more than MaxResults configurations, use the value of NextToken in the response to get the next page of results.

    If you don't specify a value for MaxResults, Route 53 returns up to 100 configurations.

    ", + "location":"querystring", + "locationName":"maxresults" + } + } + }, + "ListQueryLoggingConfigsResponse":{ + "type":"structure", + "required":["QueryLoggingConfigs"], + "members":{ + "QueryLoggingConfigs":{ + "shape":"QueryLoggingConfigs", + "documentation":"

    An array that contains one QueryLoggingConfig element for each configuration for DNS query logging that is associated with the current AWS account.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If a response includes the last of the query logging configurations that are associated with the current AWS account, NextToken doesn't appear in the response.

    If a response doesn't include the last of the configurations, you can get more configurations by submitting another ListQueryLoggingConfigs request. Get the value of NextToken that Amazon Route 53 returned in the previous response and include it in NextToken in the next request.

    " + } + } + }, "ListResourceRecordSetsRequest":{ "type":"structure", "required":["HostedZoneId"], "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone that contains the resource record sets that you want to get.

    ", + "documentation":"

    The ID of the hosted zone that contains the resource record sets that you want to list.

    ", "location":"uri", "locationName":"Id" }, "StartRecordName":{ "shape":"DNSName", - "documentation":"

    The first name in the lexicographic ordering of domain names that you want the ListResourceRecordSets request to list.

    ", + "documentation":"

    The first name in the lexicographic ordering of resource record sets that you want to list. If the specified record name doesn't exist, the results begin with the first resource record set that has a name greater than the value of name.

    ", "location":"querystring", "locationName":"name" }, "StartRecordType":{ "shape":"RRType", - "documentation":"

    The type of resource record set to begin the record listing from.

    Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

    Values for weighted, latency, geo, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

    Values for alias resource record sets:

    • CloudFront distribution: A

    • Elastic Beanstalk environment that has a regionalized subdomain: A

    • ELB load balancer: A | AAAA

    • Amazon S3 bucket: A

    Constraint: Specifying type without specifying name returns an InvalidInput error.

    ", + "documentation":"

    The type of resource record set to begin the record listing from.

    Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

    Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT

    Values for alias resource record sets:

    • API Gateway custom regional API or edge-optimized API: A

    • CloudFront distribution: A or AAAA

    • Elastic Beanstalk environment that has a regionalized subdomain: A

    • Elastic Load Balancing load balancer: A | AAAA

    • S3 bucket: A

    • VPC interface VPC endpoint: A

    • Another resource record set in this hosted zone: The type of the resource record set that the alias references.

    Constraint: Specifying type without specifying name returns an InvalidInput error.

    ", "location":"querystring", "locationName":"type" }, "StartRecordIdentifier":{ "shape":"ResourceRecordSetIdentifier", - "documentation":"

    Weighted resource record sets only: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type.

    ", + "documentation":"

    Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, specify the value of NextRecordIdentifier from the previous response to get the next resource record set that has the current DNS name and type.

    ", "location":"querystring", "locationName":"identifier" }, @@ -3066,7 +3365,7 @@ "locationName":"maxitems" } }, - "documentation":"

    The input for a ListResourceRecordSets request.

    " + "documentation":"

    A request for the resource record sets that are associated with a specified hosted zone.

    " }, "ListResourceRecordSetsResponse":{ "type":"structure", @@ -3094,7 +3393,7 @@ }, "NextRecordIdentifier":{ "shape":"ResourceRecordSetIdentifier", - "documentation":"

    Weighted, latency, geolocation, and failover resource record sets only: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

    " + "documentation":"

    Resource record sets that have a routing policy other than simple: If results were truncated for a given DNS name and type, the value of SetIdentifier for the next resource record set that has the current DNS name and type.

    For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -3108,18 +3407,18 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

    If you're making the second or subsequent call to ListReusableDelegationSets, the Marker element matches the value that you specified in the marker parameter in the previous request.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more reusable delegation sets. To get another group, submit another ListReusableDelegationSets request.

    For the value of marker, specify the value of NextMarker from the previous response, which is the ID of the first reusable delegation set that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more reusable delegation sets to get.

    ", "location":"querystring", "locationName":"marker" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The value that you specified for the maxitems parameter in the request that produced the current response.

    ", + "documentation":"

    The number of reusable delegation sets that you want Amazon Route 53 to return in the response to this request. If you specify a value greater than 100, Route 53 returns only the first 100 reusable delegation sets.

    ", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

    To retrieve a list of your reusable delegation sets, send a GET request to the /2013-04-01/delegationset resource. The response to this request includes a DelegationSets element with zero or more DelegationSet child elements. By default, the list of reusable delegation sets is displayed on a single page. You can control the length of the page that is displayed by using the MaxItems parameter. You can use the Marker parameter to control the delegation set that the list begins with.

    Amazon Route 53 returns a maximum of 100 items. If you set MaxItems to a value greater than 100, Amazon Route 53 returns only the first 100.

    " + "documentation":"

    A request to get a list of the reusable delegation sets that are associated with the current AWS account.

    " }, "ListReusableDelegationSetsResponse":{ "type":"structure", @@ -3136,15 +3435,15 @@ }, "Marker":{ "shape":"PageMarker", - "documentation":"

    For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified for the marker parameter in the request that produced the current response.

    " + "documentation":"

    For the second and subsequent calls to ListReusableDelegationSets, Marker is the value that you specified for the marker parameter in the request that produced the current response.

    " }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more reusable delegation sets to be listed. If the response is truncated, you can get the next group of maxitems reusable delegation sets by calling ListReusableDelegationSets again and specifying the value of the NextMarker element in the marker parameter.

    " + "documentation":"

    A flag that indicates whether there are more reusable delegation sets to be listed.

    " }, "NextMarker":{ "shape":"PageMarker", - "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the first reusable delegation set in the next group of maxitems reusable delegation sets. Call ListReusableDelegationSets again and specify the value of NextMarker in the marker parameter.

    " + "documentation":"

    If IsTruncated is true, the value of NextMarker identifies the next reusable delegation set that Amazon Route 53 will return if you submit another ListReusableDelegationSets request and specify the value of NextMarker in the marker parameter.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -3222,13 +3521,13 @@ "members":{ "TrafficPolicyIdMarker":{ "shape":"TrafficPolicyId", - "documentation":"

    (Conditional) For your first request to ListTrafficPolicies, do not include the TrafficPolicyIdMarker parameter.

    If you have more traffic policies than the value of MaxItems, ListTrafficPolicies returns only the first MaxItems traffic policies. To get the next group of MaxItems policies, submit another request to ListTrafficPolicies. For the value of TrafficPolicyIdMarker, specify the value of the TrafficPolicyIdMarker element that was returned in the previous response.

    Policies are listed in the order in which they were created.

    ", + "documentation":"

    (Conditional) For your first request to ListTrafficPolicies, don't include the TrafficPolicyIdMarker parameter.

    If you have more traffic policies than the value of MaxItems, ListTrafficPolicies returns only the first MaxItems traffic policies. To get the next group of policies, submit another request to ListTrafficPolicies. For the value of TrafficPolicyIdMarker, specify the value of TrafficPolicyIdMarker that was returned in the previous response.

    ", "location":"querystring", "locationName":"trafficpolicyid" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    (Optional) The maximum number of traffic policies to be included in the response body for this request. If you have more than MaxItems traffic policies, the value of the IsTruncated element in the response is true, and the value of the TrafficPolicyIdMarker element is the ID of the first traffic policy in the next group of MaxItems traffic policies.

    ", + "documentation":"

    (Optional) The maximum number of traffic policies that you want Amazon Route 53 to return in response to this request. If you have more than MaxItems traffic policies, the value of IsTruncated in the response is true, and the value of TrafficPolicyIdMarker is the ID of the first traffic policy that Route 53 will return if you submit another request.

    ", "location":"querystring", "locationName":"maxitems" } @@ -3250,7 +3549,7 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of MaxItems traffic policies by calling ListTrafficPolicies again and specifying the value of the TrafficPolicyIdMarker element in the TrafficPolicyIdMarker request parameter.

    Valid Values: true | false

    " + "documentation":"

    A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of traffic policies by submitting another ListTrafficPolicies request and specifying the value of TrafficPolicyIdMarker in the TrafficPolicyIdMarker request parameter.

    " }, "TrafficPolicyIdMarker":{ "shape":"TrafficPolicyId", @@ -3258,7 +3557,7 @@ }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The value that you specified for the MaxItems parameter in the call to ListTrafficPolicies that produced the current response.

    " + "documentation":"

    The value that you specified for the MaxItems parameter in the ListTrafficPolicies request that produced the current response.

    " } }, "documentation":"

    A complex type that contains the response information for the request.

    " @@ -3269,25 +3568,25 @@ "members":{ "HostedZoneId":{ "shape":"ResourceId", - "documentation":"

    The ID of the hosted zone for which you want to list traffic policy instances.

    ", + "documentation":"

    The ID of the hosted zone that you want to list traffic policy instances for.

    ", "location":"querystring", "locationName":"id" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

    For the first request to ListTrafficPolicyInstancesByHostedZone, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

    If the value of IsTruncated in the previous response was false, omit this value.

    ", + "documentation":"

    If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

    For the first request to ListTrafficPolicyInstancesByHostedZone, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

    ", + "documentation":"

    If the value of IsTruncated in the previous response is true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

    ", + "documentation":"

    The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

    ", "location":"querystring", "locationName":"maxitems" } @@ -3308,19 +3607,19 @@ }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of traffic policy instances.

    " }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of traffic policy instances.

    " }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstancesByHostedZone again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

    " + "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of traffic policy instances by submitting another ListTrafficPolicyInstancesByHostedZone request and specifying the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.

    " }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The value that you specified for the MaxItems parameter in the call to ListTrafficPolicyInstancesByHostedZone that produced the current response.

    " + "documentation":"

    The value that you specified for the MaxItems parameter in the ListTrafficPolicyInstancesByHostedZone request that produced the current response.

    " } }, "documentation":"

    A complex type that contains the response information for the request.

    " @@ -3346,25 +3645,25 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

    For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

    If the value of IsTruncated in the previous response was true, HostedZoneIdMarker is the ID of the hosted zone for the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

    If the value of IsTruncated in the previous response was false, omit this value.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

    For the value of hostedzoneid, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"hostedzoneid" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

    For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

    If the value of IsTruncated in the previous response was false, omit this value.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

    For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

    For the first request to ListTrafficPolicyInstancesByPolicy, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get for this hosted zone.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstancesByPolicy request.

    For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the name of the first traffic policy instance that Amazon Route 53 will return if you submit another request.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

    ", + "documentation":"

    The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance that Amazon Route 53 will return if you submit another request.

    ", "location":"querystring", "locationName":"maxitems" } @@ -3385,7 +3684,7 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

    If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of traffic policy instances.

    " }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", @@ -3397,7 +3696,7 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstancesByPolicy again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

    " + "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of traffic policy instances by calling ListTrafficPolicyInstancesByPolicy again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -3411,30 +3710,30 @@ "members":{ "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

    For the first request to ListTrafficPolicyInstances, omit this value.

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get the next group of MaxItems traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneIdMarker, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of HostedZoneId, specify the value of HostedZoneIdMarker from the previous response, which is the hosted zone ID of the first traffic policy instance in the next group of traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"hostedzoneid" }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

    For the first request to ListTrafficPolicyInstances, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancename, specify the value of TrafficPolicyInstanceNameMarker from the previous response, which is the name of the first traffic policy instance in the next group of traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancename" }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

    For the first request to ListTrafficPolicyInstances, omit this value.

    If the value of IsTruncated in the previous response was true, TrafficPolicyInstanceTypeMarker is the DNS type of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", + "documentation":"

    If the value of IsTruncated in the previous response was true, you have more traffic policy instances. To get more traffic policy instances, submit another ListTrafficPolicyInstances request. For the value of trafficpolicyinstancetype, specify the value of TrafficPolicyInstanceTypeMarker from the previous response, which is the type of the first traffic policy instance in the next group of traffic policy instances.

    If the value of IsTruncated in the previous response was false, there are no more traffic policy instances to get.

    ", "location":"querystring", "locationName":"trafficpolicyinstancetype" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The maximum number of traffic policy instances to be included in the response body for this request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

    ", + "documentation":"

    The maximum number of traffic policy instances that you want Amazon Route 53 to return in response to a ListTrafficPolicyInstances request. If you have more than MaxItems traffic policy instances, the value of the IsTruncated element in the response is true, and the values of HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker represent the first traffic policy instance in the next group of MaxItems traffic policy instances.

    ", "location":"querystring", "locationName":"maxitems" } }, - "documentation":"

    A complex type that contains the information about the request to list your traffic policy instances.

    " + "documentation":"

    A request to get information about the traffic policy instances that you created by using the current AWS account.

    " }, "ListTrafficPolicyInstancesResponse":{ "type":"structure", @@ -3450,19 +3749,19 @@ }, "HostedZoneIdMarker":{ "shape":"ResourceId", - "documentation":"

    If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, HostedZoneIdMarker is the ID of the hosted zone of the first traffic policy instance that Route 53 will return if you submit another ListTrafficPolicyInstances request.

    " }, "TrafficPolicyInstanceNameMarker":{ "shape":"DNSName", - "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceNameMarker is the name of the first traffic policy instance that Route 53 will return if you submit another ListTrafficPolicyInstances request.

    " }, "TrafficPolicyInstanceTypeMarker":{ "shape":"RRType", - "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance in the next group of MaxItems traffic policy instances.

    " + "documentation":"

    If IsTruncated is true, TrafficPolicyInstanceTypeMarker is the DNS type of the resource record sets that are associated with the first traffic policy instance that Amazon Route 53 will return if you submit another ListTrafficPolicyInstances request.

    " }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get the next group of MaxItems traffic policy instances by calling ListTrafficPolicyInstances again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker elements in the corresponding request parameters.

    " + "documentation":"

    A flag that indicates whether there are more traffic policy instances to be listed. If the response was truncated, you can get more traffic policy instances by calling ListTrafficPolicyInstances again and specifying the values of the HostedZoneIdMarker, TrafficPolicyInstanceNameMarker, and TrafficPolicyInstanceTypeMarker in the corresponding request parameters.

    " }, "MaxItems":{ "shape":"PageMaxItems", @@ -3483,13 +3782,13 @@ }, "TrafficPolicyVersionMarker":{ "shape":"TrafficPolicyVersionMarker", - "documentation":"

    For your first request to ListTrafficPolicyVersions, do not include the TrafficPolicyVersionMarker parameter.

    If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions returns only the first group of MaxItems versions. To get the next group of MaxItems traffic policy versions, submit another request to ListTrafficPolicyVersions. For the value of TrafficPolicyVersionMarker, specify the value of the TrafficPolicyVersionMarker element that was returned in the previous response.

    Traffic policy versions are listed in sequential order.

    ", + "documentation":"

    For your first request to ListTrafficPolicyVersions, don't include the TrafficPolicyVersionMarker parameter.

    If you have more traffic policy versions than the value of MaxItems, ListTrafficPolicyVersions returns only the first group of MaxItems versions. To get more traffic policy versions, submit another ListTrafficPolicyVersions request. For the value of TrafficPolicyVersionMarker, specify the value of TrafficPolicyVersionMarker in the previous response.

    ", "location":"querystring", "locationName":"trafficpolicyversion" }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified traffic policy has more than MaxItems versions, the value of the IsTruncated element in the response is true, and the value of the TrafficPolicyVersionMarker element is the ID of the first version in the next group of MaxItems traffic policy versions.

    ", + "documentation":"

    The maximum number of traffic policy versions that you want Amazon Route 53 to include in the response body for this request. If the specified traffic policy has more than MaxItems versions, the value of IsTruncated in the response is true, and the value of the TrafficPolicyVersionMarker element is the ID of the first version that Route 53 will return if you submit another request.

    ", "location":"querystring", "locationName":"maxitems" } @@ -3511,19 +3810,67 @@ }, "IsTruncated":{ "shape":"PageTruncated", - "documentation":"

    A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of maxitems traffic policies by calling ListTrafficPolicyVersions again and specifying the value of the NextMarker element in the marker parameter.

    " + "documentation":"

    A flag that indicates whether there are more traffic policies to be listed. If the response was truncated, you can get the next group of traffic policies by submitting another ListTrafficPolicyVersions request and specifying the value of NextMarker in the marker parameter.

    " }, "TrafficPolicyVersionMarker":{ "shape":"TrafficPolicyVersionMarker", - "documentation":"

    If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies the first traffic policy in the next group of MaxItems traffic policies. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker in the TrafficPolicyVersionMarker request parameter.

    This element is present only if IsTruncated is true.

    " + "documentation":"

    If IsTruncated is true, the value of TrafficPolicyVersionMarker identifies the first traffic policy that Amazon Route 53 will return if you submit another request. Call ListTrafficPolicyVersions again and specify the value of TrafficPolicyVersionMarker in the TrafficPolicyVersionMarker request parameter.

    This element is present only if IsTruncated is true.

    " }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The value that you specified for the maxitems parameter in the call to ListTrafficPolicyVersions that produced the current response.

    " + "documentation":"

    The value that you specified for the maxitems parameter in the ListTrafficPolicyVersions request that produced the current response.

    " + } + }, + "documentation":"

    A complex type that contains the response information for the request.

    " + }, + "ListVPCAssociationAuthorizationsRequest":{ + "type":"structure", + "required":["HostedZoneId"], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone for which you want a list of VPCs that can be associated with the hosted zone.

    ", + "location":"uri", + "locationName":"Id" + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    Optional: If a response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of results, submit another request, and include the value of NextToken from the response in the nexttoken parameter in another ListVPCAssociationAuthorizations request.

    ", + "location":"querystring", + "locationName":"nexttoken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Optional: An integer that specifies the maximum number of VPCs that you want Amazon Route 53 to return. If you don't specify a value for MaxResults, Route 53 returns up to 50 VPCs per page.

    ", + "location":"querystring", + "locationName":"maxresults" + } + }, + "documentation":"

    A complex type that contains information about that can be associated with your hosted zone.

    " + }, + "ListVPCAssociationAuthorizationsResponse":{ + "type":"structure", + "required":[ + "HostedZoneId", + "VPCs" + ], + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone that you can associate the listed VPCs with.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    When the response includes a NextToken element, there are more VPCs that can be associated with the specified hosted zone. To get the next page of VPCs, submit another ListVPCAssociationAuthorizations request, and include the value of the NextToken element from the response in the nexttoken request parameter.

    " + }, + "VPCs":{ + "shape":"VPCs", + "documentation":"

    The list of VPCs that are authorized to be associated with the specified hosted zone.

    " } }, "documentation":"

    A complex type that contains the response information for the request.

    " }, + "MaxResults":{"type":"string"}, "MeasureLatency":{"type":"boolean"}, "Message":{ "type":"string", @@ -3553,6 +3900,15 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchCloudWatchLogsLogGroup":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    There is no CloudWatch Logs log group with the specified ARN.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchDelegationSet":{ "type":"structure", "members":{ @@ -3572,7 +3928,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    Amazon Route 53 doesn't support the specified geolocation.

    ", + "documentation":"

    Amazon Route 53 doesn't support the specified geographic location. For a list of supported geolocation codes, see the GeoLocation data type.

    ", "error":{"httpStatusCode":404}, "exception":true }, @@ -3584,7 +3940,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    No health check exists with the ID that you specified in the DeleteHealthCheck request.

    ", + "documentation":"

    No health check exists with the specified ID.

    ", "error":{"httpStatusCode":404}, "exception":true }, @@ -3600,6 +3956,15 @@ "error":{"httpStatusCode":404}, "exception":true }, + "NoSuchQueryLoggingConfig":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    There is no DNS query logging configuration with the specified ID.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, "NoSuchTrafficPolicy":{ "type":"structure", "members":{ @@ -3629,12 +3994,28 @@ "max":128, "min":1 }, + "NotAuthorizedException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " + } + }, + "documentation":"

    Associating the specified VPC with the specified hosted zone has not been authorized.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, "PageMarker":{ "type":"string", "max":64 }, "PageMaxItems":{"type":"string"}, "PageTruncated":{"type":"boolean"}, + "PaginationToken":{ + "type":"string", + "max":256 + }, "Period":{ "type":"integer", "min":60 @@ -3649,7 +4030,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

    If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent requests for the same hosted zone and return an HTTP 400 error (Bad request). If Amazon Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals of increasing duration, before you try the request again.

    ", + "documentation":"

    If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent requests for the same hosted zone and return an HTTP 400 error (Bad request). If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals of increasing duration, before you try the request again.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -3661,10 +4042,54 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    The hosted zone specified in HostedZoneId is a public hosted zone.

    ", + "documentation":"

    You're trying to associate a VPC with a public hosted zone. Amazon Route 53 doesn't support associating a VPC with a public hosted zone.

    ", "error":{"httpStatusCode":400}, "exception":true }, + "QueryLoggingConfig":{ + "type":"structure", + "required":[ + "Id", + "HostedZoneId", + "CloudWatchLogsLogGroupArn" + ], + "members":{ + "Id":{ + "shape":"QueryLoggingConfigId", + "documentation":"

    The ID for a configuration for DNS query logging.

    " + }, + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the hosted zone that CloudWatch Logs is logging queries for.

    " + }, + "CloudWatchLogsLogGroupArn":{ + "shape":"CloudWatchLogsLogGroupArn", + "documentation":"

    The Amazon Resource Name (ARN) of the CloudWatch Logs log group that Amazon Route 53 is publishing logs to.

    " + } + }, + "documentation":"

    A complex type that contains information about a configuration for DNS query logging.

    " + }, + "QueryLoggingConfigAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You can create only one query logging configuration for a hosted zone, and a query logging configuration already exists for this hosted zone.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "QueryLoggingConfigId":{ + "type":"string", + "max":36, + "min":1 + }, + "QueryLoggingConfigs":{ + "type":"list", + "member":{ + "shape":"QueryLoggingConfig", + "locationName":"QueryLoggingConfig" + } + }, "RData":{ "type":"string", "max":4000 @@ -3682,7 +4107,8 @@ "PTR", "SRV", "SPF", - "AAAA" + "AAAA", + "CAA" ] }, "RecordData":{ @@ -3694,7 +4120,7 @@ }, "RecordDataEntry":{ "type":"string", - "documentation":"

    A value that Amazon Route 53 returned for this resource record set. A RecordDataEntry element is one of the following:

    • For non-alias resource record sets, a RecordDataEntry element contains one value in the resource record set. If the resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

    • For multiple resource record sets that have the same name and type, which includes weighted, latency, geolocation, and failover, a RecordDataEntry element contains the value from the appropriate resource record set based on the request.

    • For alias resource record sets that refer to AWS resources other than another resource record set, the RecordDataEntry element contains an IP address or a domain name for the AWS resource, depending on the type of resource.

    • For alias resource record sets that refer to other resource record sets, a RecordDataEntry element contains one value from the referenced resource record set. If the referenced resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

    ", + "documentation":"

    A value that Amazon Route 53 returned for this resource record set. A RecordDataEntry element is one of the following:

    • For non-alias resource record sets, a RecordDataEntry element contains one value in the resource record set. If the resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

    • For multiple resource record sets that have the same name and type, which includes weighted, latency, geolocation, and failover, a RecordDataEntry element contains the value from the appropriate resource record set based on the request.

    • For alias resource record sets that refer to AWS resources other than another resource record set, the RecordDataEntry element contains an IP address or a domain name for the AWS resource, depending on the type of resource.

    • For alias resource record sets that refer to other resource record sets, a RecordDataEntry element contains one value from the referenced resource record set. If the referenced resource record set contains multiple values, the response includes one RecordDataEntry element for each value.

    ", "max":512, "min":0 }, @@ -3703,6 +4129,25 @@ "max":30, "min":10 }, + "ResettableElementName":{ + "type":"string", + "enum":[ + "FullyQualifiedDomainName", + "Regions", + "ResourcePath", + "ChildHealthChecks" + ], + "max":64, + "min":1 + }, + "ResettableElementNameList":{ + "type":"list", + "member":{ + "shape":"ResettableElementName", + "locationName":"ResettableElementName" + }, + "max":64 + }, "ResourceDescription":{ "type":"string", "max":256 @@ -3721,10 +4166,10 @@ "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're 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.

    " + "documentation":"

    Information specific to the resource record.

    If you're creating an alias resource record set, omit ResourceRecord.

    " }, "ResourceRecordSet":{ "type":"structure", @@ -3735,51 +4180,55 @@ "members":{ "Name":{ "shape":"DNSName", - "documentation":"

    The name of the domain you want to perform the action on.

    Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 still assumes that the domain name that you specify is fully qualified. This means that Amazon Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

    For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    You can use the asterisk (*) wildcard to replace the leftmost label in a domain name. For example, *.example.com. Note the following:

    • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

    • The * can't replace any of the middle labels, for example, marketing.*.example.com.

    • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

      You can't use the * wildcard for resource records sets that have a type of NS.

    You can use the * wildcard as the leftmost label in a domain name, for example, *.example.com. You cannot use an * for one of the middle labels, for example, marketing.*.example.com. In addition, the * must replace the entire label; for example, you can't specify prod*.example.com.

    " + "documentation":"

    For ChangeResourceRecordSets requests, the name of the record that you want to create, update, or delete. For ListResourceRecordSets responses, the name of a record in the specified hosted zone.

    ChangeResourceRecordSets Only

    Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.

    For information about how to specify characters other than a-z, 0-9, and - (hyphen) and how to specify internationalized domain names, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    You can use the asterisk (*) wildcard to replace the leftmost label in a domain name, for example, *.example.com. Note the following:

    • The * must replace the entire label. For example, you can't specify *prod.example.com or prod*.example.com.

    • The * can't replace any of the middle labels, for example, marketing.*.example.com.

    • If you include * in any position other than the leftmost label in a domain name, DNS treats it as an * character (ASCII 42), not as a wildcard.

      You can't use the * wildcard for resource records sets that have a type of NS.

    You can use the * wildcard as the leftmost label in a domain name, for example, *.example.com. You can't use an * for one of the middle labels, for example, marketing.*.example.com. In addition, the * must replace the entire label; for example, you can't specify prod*.example.com.

    " }, "Type":{ "shape":"RRType", - "documentation":"

    The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

    Valid values for basic resource record sets: A | AAAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

    Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

    SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

    Values for alias resource record sets:

    • CloudFront distributions: A

    • Elastic Beanstalk environment that has a regionalized subdomain: A

    • ELB load balancers: A | AAAA

    • Amazon S3 buckets: A

    • Another resource record set in this hosted zone: Specify the type of the resource record set for which you're creating the alias. Specify any value except NS or SOA.

    " + "documentation":"

    The DNS record type. For information about different record types and how data is encoded for them, see Supported DNS Resource Record Types in the Amazon Route 53 Developer Guide.

    Valid values for basic resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | NS | PTR | SOA | SPF | SRV | TXT

    Values for weighted, latency, geolocation, and failover resource record sets: A | AAAA | CAA | CNAME | MX | NAPTR | PTR | SPF | SRV | TXT. When creating a group of weighted, latency, geolocation, or failover resource record sets, specify the same value for all of the resource record sets in the group.

    Valid values for multivalue answer resource record sets: A | AAAA | MX | NAPTR | PTR | SPF | SRV | TXT

    SPF records were formerly used to verify the identity of the sender of email messages. However, we no longer recommend that you create resource record sets for which the value of Type is SPF. RFC 7208, Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1, has been updated to say, \"...[I]ts existence and mechanism defined in [RFC4408] have led to some interoperability issues. Accordingly, its use is no longer appropriate for SPF version 1; implementations are not to use it.\" In RFC 7208, see section 14.1, The SPF DNS Record Type.

    Values for alias resource record sets:

    • Amazon API Gateway custom regional APIs and edge-optimized APIs: A

    • CloudFront distributions: A

      If IPv6 is enabled for the distribution, create two resource record sets to route traffic to your distribution, one with a value of A and one with a value of AAAA.

    • Amazon API Gateway environment that has a regionalized subdomain: A

    • ELB load balancers: A | AAAA

    • Amazon S3 buckets: A

    • Amazon Virtual Private Cloud interface VPC endpoints A

    • Another resource record set in this hosted zone: Specify the type of the resource record set that you're creating the alias for. All values are supported except NS and SOA.

      If you're creating an alias record that has the same name as the hosted zone (known as the zone apex), you can't route traffic to a record for which the value of Type is CNAME. This is because the alias record must have the same type as the record you're routing traffic to, and creating a CNAME record for the zone apex isn't supported even for an alias record.

    " }, "SetIdentifier":{ "shape":"ResourceRecordSetIdentifier", - "documentation":"

    Weighted, Latency, Geo, and Failover resource record sets only: An identifier that differentiates among multiple resource record sets that have the same combination of DNS name and type. The value of SetIdentifier must be unique for each resource record set that has the same combination of DNS name and type. Omit SetIdentifier for any other types of record sets.

    " + "documentation":"

    Resource record sets that have a routing policy other than simple: An identifier that differentiates among multiple resource record sets that have the same combination of name and type, such as multiple weighted resource record sets named acme.example.com that have a type of A. In a group of resource record sets that have the same name and type, the value of SetIdentifier must be unique for each resource record set.

    For information about routing policies, see Choosing a Routing Policy in the Amazon Route 53 Developer Guide.

    " }, "Weight":{ "shape":"ResourceRecordSetWeight", - "documentation":"

    Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Amazon Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Amazon Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:

    • You must specify a value for the Weight element for every weighted resource record set.

    • You can only specify one ResourceRecord per weighted resource record set.

    • You cannot create latency, failover, or geolocation resource record sets that have the same values for the Name and Type elements as weighted resource record sets.

    • You can create a maximum of 100 weighted resource record sets that have the same values for the Name and Type elements.

    • For weighted (but not weighted alias) resource record sets, if you set Weight to 0 for a resource record set, Amazon Route 53 never responds to queries with the applicable value for that resource record set. However, if you set Weight to 0 for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.

      The effect of setting Weight to 0 is different when you associate health checks with weighted resource record sets. For more information, see Options for Configuring Amazon Route 53 Active-Active and Active-Passive Failover in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    Weighted resource record sets only: Among resource record sets that have the same combination of DNS name and type, a value that determines the proportion of DNS queries that Amazon Route 53 responds to using the current resource record set. Route 53 calculates the sum of the weights for the resource record sets that have the same combination of DNS name and type. Route 53 then responds to queries based on the ratio of a resource's weight to the total. Note the following:

    • You must specify a value for the Weight element for every weighted resource record set.

    • You can only specify one ResourceRecord per weighted resource record set.

    • You can't create latency, failover, or geolocation resource record sets that have the same values for the Name and Type elements as weighted resource record sets.

    • You can create a maximum of 100 weighted resource record sets that have the same values for the Name and Type elements.

    • For weighted (but not weighted alias) resource record sets, if you set Weight to 0 for a resource record set, Route 53 never responds to queries with the applicable value for that resource record set. However, if you set Weight to 0 for all resource record sets that have the same combination of DNS name and type, traffic is routed to all resources with equal probability.

      The effect of setting Weight to 0 is different when you associate health checks with weighted resource record sets. For more information, see Options for Configuring Route 53 Active-Active and Active-Passive Failover in the Amazon Route 53 Developer Guide.

    " }, "Region":{ "shape":"ResourceRecordSetRegion", - "documentation":"

    Latency-based resource record sets only: The Amazon EC2 region where the resource that is specified in this resource record set resides. The resource typically is an AWS resource, such as an Amazon EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.

    Creating latency and latency alias resource record sets in private hosted zones is not supported.

    When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Amazon Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 region. Amazon Route 53 then returns the value that is associated with the selected resource record set.

    Note the following:

    • You can only specify one ResourceRecord per latency resource record set.

    • You can only create one latency resource record set for each Amazon EC2 region.

    • You are not required to create latency resource record sets for all Amazon EC2 regions. Amazon Route 53 will choose the region with the best latency from among the regions for which you create latency resource record sets.

    • You cannot create non-latency resource record sets that have the same values for the Name and Type elements as latency resource record sets.

    " + "documentation":"

    Latency-based resource record sets only: The Amazon EC2 Region where you created the resource that this resource record set refers to. The resource typically is an AWS resource, such as an EC2 instance or an ELB load balancer, and is referred to by an IP address or a DNS domain name, depending on the record type.

    Although creating latency and latency alias resource record sets in a private hosted zone is allowed, it's not supported.

    When Amazon Route 53 receives a DNS query for a domain name and type for which you have created latency resource record sets, Route 53 selects the latency resource record set that has the lowest latency between the end user and the associated Amazon EC2 Region. Route 53 then returns the value that is associated with the selected resource record set.

    Note the following:

    • You can only specify one ResourceRecord per latency resource record set.

    • You can only create one latency resource record set for each Amazon EC2 Region.

    • You aren't required to create latency resource record sets for all Amazon EC2 Regions. Route 53 will choose the region with the best latency from among the regions that you create latency resource record sets for.

    • You can't create non-latency resource record sets that have the same values for the Name and Type elements as latency resource record sets.

    " }, "GeoLocation":{ "shape":"GeoLocation", - "documentation":"

    Geo location resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of AF.

    Creating geolocation and geolocation alias resource record sets in private hosted zones is not supported.

    If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.

    You cannot create two geolocation resource record sets that specify the same geographic location.

    The value * in the CountryCode element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the Name and Type elements.

    Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Amazon Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of CountryCode is *, which handles both queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a * resource record set, Amazon Route 53 returns a \"no answer\" response for queries from those locations.

    You cannot create non-geolocation resource record sets that have the same values for the Name and Type elements as geolocation resource record sets.

    " + "documentation":"

    Geolocation resource record sets only: A complex type that lets you control how Amazon Route 53 responds to DNS queries based on the geographic origin of the query. For example, if you want all queries from Africa to be routed to a web server with an IP address of 192.0.2.111, create a resource record set with a Type of A and a ContinentCode of AF.

    Although creating geolocation and geolocation alias resource record sets in a private hosted zone is allowed, it's not supported.

    If you create separate resource record sets for overlapping geographic regions (for example, one resource record set for a continent and one for a country on the same continent), priority goes to the smallest geographic region. This allows you to route most queries for a continent to one resource and to route queries for a country on that continent to a different resource.

    You can't create two geolocation resource record sets that specify the same geographic location.

    The value * in the CountryCode element matches all geographic locations that aren't specified in other geolocation resource record sets that have the same values for the Name and Type elements.

    Geolocation works by mapping IP addresses to locations. However, some IP addresses aren't mapped to geographic locations, so even if you create geolocation resource record sets that cover all seven continents, Route 53 will receive some DNS queries from locations that it can't identify. We recommend that you create a resource record set for which the value of CountryCode is *. Two groups of queries are routed to the resource that you specify in this record: queries that come from locations for which you haven't created geolocation resource record sets and queries from IP addresses that aren't mapped to a location. If you don't create a * resource record set, Route 53 returns a \"no answer\" response for queries from those locations.

    You can't create non-geolocation resource record sets that have the same values for the Name and Type elements as geolocation resource record sets.

    " }, "Failover":{ "shape":"ResourceRecordSetFailover", - "documentation":"

    Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

    Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both resource record sets:

    • When the primary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.

    • When the primary resource record set is unhealthy and the secondary resource record set is healthy, Amazon Route 53 responds to DNS queries with the applicable value from the secondary resource record set.

    • When the secondary resource record set is unhealthy, Amazon Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.

    • If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set is unhealthy, Amazon Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.

    You cannot create non-failover resource record sets that have the same values for the Name and Type elements as failover resource record sets.

    For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

    For more information about configuring failover for Amazon Route 53, see the following topics in the Amazon Route 53 Developer Guide:

    Valid values: PRIMARY | SECONDARY

    " + "documentation":"

    Failover resource record sets only: To configure failover, you add the Failover element to two resource record sets. For one resource record set, you specify PRIMARY as the value for Failover; for the other resource record set, you specify SECONDARY. In addition, you include the HealthCheckId element and specify the health check that you want Amazon Route 53 to perform for each resource record set.

    Except where noted, the following failover behaviors assume that you have included the HealthCheckId element in both resource record sets:

    • When the primary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the secondary resource record set.

    • When the primary resource record set is unhealthy and the secondary resource record set is healthy, Route 53 responds to DNS queries with the applicable value from the secondary resource record set.

    • When the secondary resource record set is unhealthy, Route 53 responds to DNS queries with the applicable value from the primary resource record set regardless of the health of the primary resource record set.

    • If you omit the HealthCheckId element for the secondary resource record set, and if the primary resource record set is unhealthy, Route 53 always responds to DNS queries with the applicable value from the secondary resource record set. This is true regardless of the health of the associated endpoint.

    You can't create non-failover resource record sets that have the same values for the Name and Type elements as failover resource record sets.

    For failover alias resource record sets, you must also include the EvaluateTargetHealth element and set the value to true.

    For more information about configuring failover for Route 53, see the following topics in the Amazon Route 53 Developer Guide:

    " + }, + "MultiValueAnswer":{ + "shape":"ResourceRecordSetMultiValueAnswer", + "documentation":"

    Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer. Note the following:

    • If you associate a health check with a multivalue answer resource record set, Amazon Route 53 responds to DNS queries with the corresponding IP address only when the health check is healthy.

    • If you don't associate a health check with a multivalue answer record, Route 53 always considers the record to be healthy.

    • Route 53 responds to DNS queries with up to eight healthy records; if you have eight or fewer healthy records, Route 53 responds to all DNS queries with all the healthy records.

    • If you have more than eight healthy records, Route 53 responds to different DNS resolvers with different combinations of healthy records.

    • When all records are unhealthy, Route 53 responds to DNS queries with up to eight unhealthy records.

    • If a resource becomes unavailable after a resolver caches a response, client software typically tries another of the IP addresses in the response.

    You can't create multivalue answer alias records.

    " }, "TTL":{ "shape":"TTL", - "documentation":"

    The resource record cache time to live (TTL), in seconds. Note the following:

    • If you're creating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL for the alias target.

    • If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

    • All of the resource record sets in a group of weighted, latency, geolocation, or failover resource record sets must have the same value for TTL.

    • If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for Weight.

    " + "documentation":"

    The resource record cache time to live (TTL), in seconds. Note the following:

    • If you're creating or updating an alias resource record set, omit TTL. Amazon Route 53 uses the value of TTL for the alias target.

    • If you're associating this resource record set with a health check (if you're adding a HealthCheckId element), we recommend that you specify a TTL of 60 seconds or less so clients respond quickly to changes in health status.

    • All of the resource record sets in a group of weighted resource record sets must have the same value for TTL.

    • If a group of weighted resource record sets includes one or more weighted alias resource record sets for which the alias target is an ELB load balancer, we recommend that you specify a TTL of 60 seconds for all of the non-alias weighted resource record sets that have the same name and type. Values other than 60 seconds (the TTL for load balancers) will change the effect of the values that you specify for Weight.

    " }, "ResourceRecords":{ "shape":"ResourceRecords", - "documentation":"

    Information about the resource records to act upon.

    If you are creating an alias resource record set, omit ResourceRecords.

    " + "documentation":"

    Information about the resource records to act upon.

    If you're creating an alias resource record set, omit ResourceRecords.

    " }, "AliasTarget":{ "shape":"AliasTarget", - "documentation":"

    Alias resource record sets only: Information about the CloudFront distribution, Elastic Beanstalk environment, ELB load balancer, Amazon S3 bucket, or Amazon Route 53 resource record set to which you are redirecting queries. The Elastic Beanstalk environment must have a regionalized subdomain.

    If you're creating resource records sets for a private hosted zone, note the following:

    • You can't create alias resource record sets for CloudFront distributions in a private hosted zone.

    • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

    • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    Alias resource record sets only: Information about the AWS resource, such as a CloudFront distribution or an Amazon S3 bucket, that you want to route traffic to.

    If you're creating resource records sets for a private hosted zone, note the following:

    • You can't create an alias resource record set in a private hosted zone to route traffic to a CloudFront distribution.

    • Creating geolocation alias resource record sets or latency alias resource record sets in a private hosted zone is unsupported.

    • For information about creating failover resource record sets in a private hosted zone, see Configuring Failover in a Private Hosted Zone in the Amazon Route 53 Developer Guide.

    " }, "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:

    • By periodically sending a request to the endpoint that is specified in the health check

    • By aggregating the status of a specified group of health checks (calculated health checks)

    • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

    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:

    • You're checking the health of the resource record sets in a weighted, latency, geolocation, or failover resource record set, and you specify health check IDs for all of the resource record sets. If the health check for one resource record set specifies an endpoint that is not healthy, Amazon Route 53 stops responding to queries using the value for that resource record set.

    • You set EvaluateTargetHealth to true for the resource record sets in an alias, weighted alias, latency alias, geolocation alias, or failover alias resource record set, and you specify health check IDs for all of the resource record sets that are referenced by the alias resource record sets.

    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:

    " + "documentation":"

    If you want Amazon Route 53 to return this resource record set in response to a DNS query only when the status of a health check is healthy, include the HealthCheckId element and specify the ID of the applicable health check.

    Route 53 determines whether a resource record set is healthy based on one of the following:

    • By periodically sending a request to the endpoint that is specified in the health check

    • By aggregating the status of a specified group of health checks (calculated health checks)

    • By determining the current state of a CloudWatch alarm (CloudWatch metric health checks)

    Route 53 doesn't check the health of the endpoint that is 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, Route 53 checks the health of the endpoint that you specified in the health check.

    For more information, see the following topics in the Amazon Route 53 Developer Guide:

    When to Specify HealthCheckId

    Specifying a value for HealthCheckId is useful only when Route 53 is choosing between two or more resource record sets to respond to a DNS query, and you want Route 53 to base the choice in part on the status of a health check. Configuring health checks makes sense only in the following configurations:

    • Non-alias resource record sets: You're checking the health of a group of non-alias resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A) and you specify health check IDs for all the resource record sets.

      If the health check status for a resource record set is healthy, Route 53 includes the record among the records that it responds to DNS queries with.

      If the health check status for a resource record set is unhealthy, Route 53 stops responding to DNS queries using the value for that resource record set.

      If the health check status for all resource record sets in the group is unhealthy, Route 53 considers all resource record sets in the group healthy and responds to DNS queries accordingly.

    • Alias resource record sets: You specify the following settings:

      • You set EvaluateTargetHealth to true for an alias resource record set in a group of resource record sets that have the same routing policy, name, and type (such as multiple weighted records named www.example.com with a type of A).

      • You configure the alias resource record set to route traffic to a non-alias resource record set in the same hosted zone.

      • You specify a health check ID for the non-alias resource record set.

      If the health check status is healthy, Route 53 considers the alias resource record set to be healthy and includes the alias record among the records that it responds to DNS queries with.

      If the health check status is unhealthy, Route 53 stops responding to DNS queries using the alias resource record set.

      The alias resource record set can also route traffic to a group of non-alias resource record sets that have the same routing policy, name, and type. In that configuration, associate health checks with all of the resource record sets in the group of non-alias resource record sets.

    Geolocation Routing

    For geolocation resource record sets, if an endpoint is unhealthy, 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 entire United States, for North America, and a resource record set that has * for CountryCode is *, which applies to all locations. If the endpoint for the state resource record set is unhealthy, Route 53 checks for healthy resource record sets in the following order until it finds a resource record set for which the endpoint is healthy:

    • The United States

    • North America

    • The default resource record set

    Specifying the Health Check Endpoint by Domain Name

    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-2-www.example.com), not the name of the resource record sets (www.example.com).

    Health check results will be unpredictable if you do the following:

    • Create a health check that has the same value for FullyQualifiedDomainName as the name of a resource record set.

    • Associate that health check with the resource record set.

    " }, "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":"

    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 Route 53 created this resource record set for.

    To delete the resource record set that is associated with a traffic policy instance, use DeleteTrafficPolicyInstance. Route 53 will delete the resource record set automatically. If you delete the resource record set by using ChangeResourceRecordSets, 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.

    " @@ -3796,6 +4245,7 @@ "max":128, "min":1 }, + "ResourceRecordSetMultiValueAnswer":{"type":"boolean"}, "ResourceRecordSetRegion":{ "type":"string", "enum":[ @@ -3803,15 +4253,25 @@ "us-east-2", "us-west-1", "us-west-2", + "ca-central-1", "eu-west-1", + "eu-west-2", + "eu-west-3", "eu-central-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2", + "ap-northeast-3", + "eu-north-1", "sa-east-1", "cn-north-1", - "ap-south-1" + "cn-northwest-1", + "ap-east-1", + "me-south-1", + "ap-south-1", + "af-south-1", + "eu-south-1" ], "max":64, "min":1 @@ -3865,10 +4325,36 @@ "type":"string", "max":1024 }, + "ReusableDelegationSetLimit":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"ReusableDelegationSetLimitType", + "documentation":"

    The limit that you requested: MAX_ZONES_BY_REUSABLE_DELEGATION_SET, the maximum number of hosted zones that you can associate with the specified reusable delegation set.

    " + }, + "Value":{ + "shape":"LimitValue", + "documentation":"

    The current value for the MAX_ZONES_BY_REUSABLE_DELEGATION_SET limit.

    " + } + }, + "documentation":"

    A complex type that contains the type of limit that you specified in the request and the current value for that limit.

    " + }, + "ReusableDelegationSetLimitType":{ + "type":"string", + "enum":["MAX_ZONES_BY_REUSABLE_DELEGATION_SET"] + }, "SearchString":{ "type":"string", "max":255 }, + "ServicePrincipal":{ + "type":"string", + "max":128 + }, "Statistic":{ "type":"string", "enum":[ @@ -3889,14 +4375,14 @@ }, "CheckedTime":{ "shape":"TimeStamp", - "documentation":"

    The time at which the health checker performed the health check in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2014-10-27T17:48:16.751Z represents October 27, 2014 at 17:48:16.751 UTC.

    " + "documentation":"

    The date and time that the health checker performed the health check in ISO 8601 format and Coordinated Universal Time (UTC). For example, the value 2017-03-27T17:48:16.751Z represents March 27, 2017 at 17:48:16.751 UTC.

    " } }, "documentation":"

    A complex type that contains the status that one Amazon Route 53 health checker reports and the time of the health check.

    " }, "SubnetMask":{ "type":"string", - "max":2, + "max":3, "min":0 }, "TTL":{ @@ -3909,7 +4395,7 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

    The value of Key depends on the operation that you want to perform:

    • Add a tag to a health check or hosted zone: Key is the name that you want to give the new tag.

    • Edit a tag: Key is the name of the tag whose Value element you want to remove.

    • Delete a key: Key is the name of the tag you want to remove.

    • Give a name to a health check: Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you've given to each health check.

    " + "documentation":"

    The value of Key depends on the operation that you want to perform:

    • Add a tag to a health check or hosted zone: Key is the name that you want to give the new tag.

    • Edit a tag: Key is the name of the tag that you want to change the Value for.

    • Delete a key: Key is the name of the tag you want to remove.

    • Give a name to a health check: Edit the default Name tag. In the Amazon Route 53 console, the list of your health checks includes a Name column that lets you see the name that you've given to each health check.

    " }, "Value":{ "shape":"TagValue", @@ -3992,24 +4478,24 @@ }, "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.

    ", + "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 (N. Virginia) Region (us-east-1).

    ", "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.

    ", + "documentation":"

    If the resolver that you specified for resolverip supports EDNS0, specify the IPv4 or IPv6 address of a client in the applicable location, for example, 192.0.2.44 or 2001:db8:85a3::8a2e:370:7334.

    ", "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.

    ", + "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 for IPv4 addresses and 64 bits for IPv6 addresses.

    The range of valid values depends on whether edns0clientsubnetip is an IPv4 or an IPv6 address:

    • IPv4: Specify a value between 0 and 32

    • IPv6: Specify a value between 0 and 128

    ", "location":"querystring", "locationName":"edns0clientsubnetmask" } }, - "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.

    Parameters

    hostedzoneid

    The ID of the hosted zone that you want Amazon Route 53 to simulate a query for.

    recordname

    The name of the resource record set that you want Amazon Route 53 to simulate a query for.

    recordtype

    The type of the resource record set.

    resolverip (optional)

    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.

    edns0clientsubnetip (optional)

    If the resolver that you specified for resolverip supports EDNS0, specify the IP address of a client in the applicable location.

    edns0clientsubnetmask (optional)

    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.

    " + "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.

    " }, "TestDNSAnswerResponse":{ "type":"structure", @@ -4055,7 +4541,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"

    ", + "documentation":"

    The limit on the number of requests per second was exceeded.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -4065,7 +4551,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.

    ", + "documentation":"

    This health check can't be created because the current account has reached the limit on the number of active health checks.

    For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

    For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a case with the AWS Support Center.

    You have reached the maximum number of active health checks for an AWS account. To request a higher limit, create a case with the AWS Support Center.

    ", "exception":true }, "TooManyHostedZones":{ @@ -4076,7 +4562,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    This hosted zone cannot be created because the hosted zone limit is exceeded. To request a limit increase, go to the Amazon Route 53 Contact Us page.

    ", + "documentation":"

    This operation can't be completed either because the current account has reached the limit on the number of hosted zones or because you've reached the limit on the number of hosted zones that can be associated with a reusable delegation set.

    For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

    To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.

    To get the current limit on hosted zones that can be associated with a reusable delegation set, see GetReusableDelegationSetLimit.

    To request a higher limit, create a case with the AWS Support Center.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -4088,7 +4574,7 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    You've created the maximum number of traffic policies that can be created for the current AWS account. You can request an increase to the limit on the Contact Us page.

    ", + "documentation":"

    This traffic policy can't be created because the current account has reached the limit on the number of traffic policies.

    For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

    To get the current limit for an account, see GetAccountLimit.

    To request a higher limit, create a case with the AWS Support Center.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -4100,7 +4586,31 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    You've created the maximum number of traffic policy instances that can be created for the current AWS account. You can request an increase to the limit on the Contact Us page.

    ", + "documentation":"

    This traffic policy instance can't be created because the current account has reached the limit on the number of traffic policy instances.

    For information about default limits, see Limits in the Amazon Route 53 Developer Guide.

    For information about how to get the current limit for an account, see GetAccountLimit.

    To request a higher limit, create a case with the AWS Support Center.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyTrafficPolicyVersionsForCurrentPolicy":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " + } + }, + "documentation":"

    This traffic policy version can't be created because you've reached the limit of 1000 on the number of versions that you can create for the current traffic policy.

    To create more traffic policy versions, you can use GetTrafficPolicy to get the traffic policy document for a specified traffic policy version, and then use CreateTrafficPolicy to create a new traffic policy using the traffic policy document.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "TooManyVPCAssociationAuthorizations":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " + } + }, + "documentation":"

    You've created the maximum number of authorizations that can be created for the specified hosted zone. To authorize another VPC to be associated with the hosted zone, submit a DeleteVPCAssociationAuthorization request to remove an existing authorization. To get a list of existing authorizations, submit a ListVPCAssociationAuthorizations request.

    ", "error":{"httpStatusCode":400}, "exception":true }, @@ -4139,7 +4649,7 @@ }, "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.

    " + "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", @@ -4170,7 +4680,8 @@ }, "TrafficPolicyId":{ "type":"string", - "max":36 + "max":36, + "min":1 }, "TrafficPolicyInUse":{ "type":"structure", @@ -4216,7 +4727,7 @@ }, "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.

    " + "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 Route 53 edge locations.

    Creating

    Route 53 is creating the resource record sets. Use GetTrafficPolicyInstance to confirm that the CreateTrafficPolicyInstance request completed successfully.

    Failed

    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", @@ -4245,14 +4756,15 @@ "documentation":"

    Descriptive message for the error response.

    " } }, - "documentation":"

    Traffic policy instance with given Id already exists.

    ", + "documentation":"

    There is already a traffic policy instance with the specified ID.

    ", "error":{"httpStatusCode":409}, "exception":true }, "TrafficPolicyInstanceCount":{"type":"integer"}, "TrafficPolicyInstanceId":{ "type":"string", - "max":36 + "max":36, + "min":1 }, "TrafficPolicyInstanceState":{"type":"string"}, "TrafficPolicyInstances":{ @@ -4328,39 +4840,43 @@ }, "HealthCheckVersion":{ "shape":"HealthCheckVersion", - "documentation":"

    A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you update settings for the health check.

    We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of HealthCheckVersion for the health check that you want to update, and that you include that value in your UpdateHealthCheck request. This prevents Amazon Route 53 from overwriting an intervening update:

    • f the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the health check, Amazon Route 53 updates the health check with the new settings.

    • If the value of HealthCheckVersion in the health check is greater, the health check was changed after you got the version number. Amazon Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

    " + "documentation":"

    A sequential counter that Amazon Route 53 sets to 1 when you create a health check and increments by 1 each time you update settings for the health check.

    We recommend that you use GetHealthCheck or ListHealthChecks to get the current value of HealthCheckVersion for the health check that you want to update, and that you include that value in your UpdateHealthCheck request. This prevents Route 53 from overwriting an intervening update:

    • If the value in the UpdateHealthCheck request matches the value of HealthCheckVersion in the health check, Route 53 updates the health check with the new settings.

    • If the value of HealthCheckVersion in the health check is greater, the health check was changed after you got the version number. Route 53 does not update the health check, and it returns a HealthCheckVersionMismatch error.

    " }, "IPAddress":{ "shape":"IPAddress", - "documentation":"

    The IPv4 IP address of the endpoint on which you want Amazon Route 53 to perform health checks. If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IP address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

    f the endpoint is an Amazon EC2 instance, we recommend that you create an Elastic IP address, associate it with your Amazon EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see Elastic IP Addresses (EIP) in the Amazon EC2 User Guide for Linux Instances.

    If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

    For more information, see UpdateHealthCheckRequest$FullyQualifiedDomainName.

    " + "documentation":"

    The IPv4 or IPv6 IP address for the endpoint that you want Amazon Route 53 to perform health checks on. If you don't specify a value for IPAddress, Route 53 sends a DNS request to resolve the domain name that you specify in FullyQualifiedDomainName at the interval that you specify in RequestInterval. Using an IP address that is returned by DNS, Route 53 then checks the health of the endpoint.

    Use one of the following formats for the value of IPAddress:

    • IPv4 address: four values between 0 and 255, separated by periods (.), for example, 192.0.2.44.

    • IPv6 address: eight groups of four hexadecimal values, separated by colons (:), for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. You can also shorten IPv6 addresses as described in RFC 5952, for example, 2001:db8:85a3::abcd:1:2345.

    If the endpoint is an EC2 instance, we recommend that you create an Elastic IP address, associate it with your EC2 instance, and specify the Elastic IP address for IPAddress. This ensures that the IP address of your instance never changes. For more information, see the applicable documentation:

    If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

    For more information, see FullyQualifiedDomainName.

    Constraints: Route 53 can't check the health of endpoints for which the IP address is in local, private, non-routable, or multicast ranges. For more information about IP addresses for which you can't create health checks, see the following documents:

    " }, "Port":{ "shape":"Port", - "documentation":"

    The port on the endpoint on which you want Amazon Route 53 to perform health checks.

    " + "documentation":"

    The port on the endpoint that you want Amazon Route 53 to perform health checks on.

    Don't specify a value for Port when you specify a value for Type of CLOUDWATCH_METRIC or CALCULATED.

    " }, "ResourcePath":{ "shape":"ResourcePath", - "documentation":"

    The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html.

    Specify this value only if you want to change it.

    " + "documentation":"

    The path that you want Amazon Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, for example the file /docs/route53-health-check.html. You can also include query string parameters, for example, /welcome.html?language=jp&login=y.

    Specify this value only if you want to change it.

    " }, "FullyQualifiedDomainName":{ "shape":"FullyQualifiedDomainName", - "documentation":"

    Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

    If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

    If you specify IPAddress:

    The value that you want Amazon Route 53 to pass in the Host header in all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Amazon Route 53 to perform health checks. When Amazon Route 53 checks the health of an endpoint, here is how it constructs the Host header:

    • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Amazon Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify another value for Port and any value except TCP for Type, Amazon Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

    If you don't specify a value for FullyQualifiedDomainName, Amazon Route 53 substitutes the value of IPAddress in the Host header in each of the above cases.

    If you don't specify IPAddress:

    If you don't specify a value for IPAddress, Amazon Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IP address that DNS returns, Amazon Route 53 then checks the health of the endpoint.

    If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, 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 (www.example.com).

    In this configuration, if the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

    In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Amazon Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Amazon Route 53 doesn't pass a Host header.

    " + "documentation":"

    Amazon Route 53 behavior depends on whether you specify a value for IPAddress.

    If a health check already has a value for IPAddress, you can change the value. However, you can't update an existing health check to add or remove the value of IPAddress.

    If you specify a value for IPAddress:

    Route 53 sends health check requests to the specified IPv4 or IPv6 address and passes the value of FullyQualifiedDomainName in the Host header for all health checks except TCP health checks. This is typically the fully qualified DNS name of the endpoint on which you want Route 53 to perform health checks.

    When Route 53 checks the health of an endpoint, here is how it constructs the Host header:

    • If you specify a value of 80 for Port and HTTP or HTTP_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify a value of 443 for Port and HTTPS or HTTPS_STR_MATCH for Type, Route 53 passes the value of FullyQualifiedDomainName to the endpoint in the Host header.

    • If you specify another value for Port and any value except TCP for Type, Route 53 passes FullyQualifiedDomainName:Port to the endpoint in the Host header.

    If you don't specify a value for FullyQualifiedDomainName, Route 53 substitutes the value of IPAddress in the Host header in each of the above cases.

    If you don't specify a value for IPAddress:

    If you don't specify a value for IPAddress, Route 53 sends a DNS request to the domain that you specify in FullyQualifiedDomainName at the interval you specify in RequestInterval. Using an IPv4 address that is returned by DNS, Route 53 then checks the health of the endpoint.

    If you don't specify a value for IPAddress, Route 53 uses only IPv4 to send health checks to the endpoint. If there's no resource record set with a type of A for the name that you specify for FullyQualifiedDomainName, the health check fails with a \"DNS resolution failed\" error.

    If you want to check the health of weighted, latency, or failover resource record sets and you choose to specify the endpoint only by FullyQualifiedDomainName, 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-2-www.example.com), not the name of the resource record sets (www.example.com).

    In this configuration, if the value of FullyQualifiedDomainName matches the name of the resource record sets and you then associate the health check with those resource record sets, health check results will be unpredictable.

    In addition, if the value of Type is HTTP, HTTPS, HTTP_STR_MATCH, or HTTPS_STR_MATCH, Route 53 passes the value of FullyQualifiedDomainName in the Host header, as it does when you specify a value for IPAddress. If the value of Type is TCP, Route 53 doesn't pass a Host header.

    " }, "SearchString":{ "shape":"SearchString", - "documentation":"

    If the value of Type is HTTP_STR_MATCH or HTTP_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Amazon Route 53 considers the resource healthy. (You can't change the value of Type when you update a health check.)

    " + "documentation":"

    If the value of Type is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string that you want Amazon Route 53 to search for in the response body from the specified resource. If the string appears in the response body, Route 53 considers the resource healthy. (You can't change the value of Type when you update a health check.)

    " }, "FailureThreshold":{ "shape":"FailureThreshold", - "documentation":"

    The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

    " + "documentation":"

    The number of consecutive health checks that an endpoint must pass or fail for Amazon Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Amazon Route 53 Determines Whether an Endpoint Is Healthy in the Amazon Route 53 Developer Guide.

    If you don't specify a value for FailureThreshold, the default value is three health checks.

    " }, "Inverted":{ "shape":"Inverted", "documentation":"

    Specify whether you want Amazon Route 53 to invert the status of a health check, for example, to consider a health check unhealthy when it otherwise would be considered healthy.

    " }, + "Disabled":{ + "shape":"Disabled", + "documentation":"

    Stops Route 53 from performing health checks. When you disable a health check, here's what happens:

    • Health checks that check the health of endpoints: Route 53 stops submitting requests to your application, server, or other resource.

    • Calculated health checks: Route 53 stops aggregating the status of the referenced health checks.

    • Health checks that monitor CloudWatch alarms: Route 53 stops monitoring the corresponding CloudWatch metrics.

    After you disable a health check, Route 53 considers the status of the health check to always be healthy. If you configured DNS failover, Route 53 continues to route traffic to the corresponding resources. If you want to stop routing traffic to a resource, change the value of Inverted.

    Charges for a health check still apply when the health check is disabled. For more information, see Amazon Route 53 Pricing.

    " + }, "HealthThreshold":{ "shape":"HealthThreshold", - "documentation":"

    The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks and ChildHealthCheck elements.

    Note the following:

    • If you specify a number greater than the number of child health checks, Amazon Route 53 always considers this health check to be unhealthy.

    • If you specify 0, Amazon Route 53 always considers this health check to be healthy.

    " + "documentation":"

    The number of child health checks that are associated with a CALCULATED health that Amazon Route 53 must consider healthy for the CALCULATED health check to be considered healthy. To specify the child health checks that you want to associate with a CALCULATED health check, use the ChildHealthChecks and ChildHealthCheck elements.

    Note the following:

    • If you specify a number greater than the number of child health checks, Route 53 always considers this health check to be unhealthy.

    • If you specify 0, Route 53 always considers this health check to be healthy.

    " }, "ChildHealthChecks":{ "shape":"ChildHealthCheckList", @@ -4372,22 +4888,33 @@ }, "Regions":{ "shape":"HealthCheckRegionList", - "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.

    " + "documentation":"

    A complex type that contains one Region element for each region that you want Amazon Route 53 health checkers to check the specified endpoint from.

    " + }, + "AlarmIdentifier":{ + "shape":"AlarmIdentifier", + "documentation":"

    A complex type that identifies the CloudWatch alarm that you want Amazon Route 53 health checkers to use to determine whether the specified health check is healthy.

    " }, - "AlarmIdentifier":{"shape":"AlarmIdentifier"}, "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:

    • Healthy: Amazon Route 53 considers the health check to be healthy.

    • Unhealthy: Amazon Route 53 considers the health check to be unhealthy.

    • LastKnownStatus: Amazon Route 53 uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

    " + "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:

    • Healthy: Route 53 considers the health check to be healthy.

    • Unhealthy: Route 53 considers the health check to be unhealthy.

    • LastKnownStatus: Route 53 uses the status of the health check from the last time CloudWatch had sufficient data to determine the alarm state. For new health checks that have no last known status, the default status for the health check is healthy.

    " + }, + "ResetElements":{ + "shape":"ResettableElementNameList", + "documentation":"

    A complex type that contains one ResettableElementName element for each element that you want to reset to the default value. Valid values for ResettableElementName include the following:

    " } }, - "documentation":"

    A complex type that contains the health check request information.

    " + "documentation":"

    A complex type that contains information about a request to update a health check.

    " }, "UpdateHealthCheckResponse":{ "type":"structure", "required":["HealthCheck"], "members":{ - "HealthCheck":{"shape":"HealthCheck"} - } + "HealthCheck":{ + "shape":"HealthCheck", + "documentation":"

    A complex type that contains the response to an UpdateHealthCheck request.

    " + } + }, + "documentation":"

    A complex type that contains the response to the UpdateHealthCheck request.

    " }, "UpdateHostedZoneCommentRequest":{ "type":"structure", @@ -4395,7 +4922,7 @@ "members":{ "Id":{ "shape":"ResourceId", - "documentation":"

    The ID for the hosted zone for which you want to update the comment.

    ", + "documentation":"

    The ID for the hosted zone that you want to update the comment for.

    ", "location":"uri", "locationName":"Id" }, @@ -4404,15 +4931,18 @@ "documentation":"

    The new comment for the hosted zone. If you don't specify a value for Comment, Amazon Route 53 deletes the existing value of the Comment element, if any.

    " } }, - "documentation":"

    A complex type that contains the hosted zone request information.

    " + "documentation":"

    A request to update the comment for a hosted zone.

    " }, "UpdateHostedZoneCommentResponse":{ "type":"structure", "required":["HostedZone"], "members":{ - "HostedZone":{"shape":"HostedZone"} + "HostedZone":{ + "shape":"HostedZone", + "documentation":"

    A complex type that contains the response to the UpdateHostedZoneComment request.

    " + } }, - "documentation":"

    A complex type that contains the response to the UpdateHostedZoneCommentRequest.

    " + "documentation":"

    A complex type that contains the response to the UpdateHostedZoneComment request.

    " }, "UpdateTrafficPolicyCommentRequest":{ "type":"structure", @@ -4424,13 +4954,13 @@ "members":{ "Id":{ "shape":"TrafficPolicyId", - "documentation":"

    The value of Id for the traffic policy for which you want to update the comment.

    ", + "documentation":"

    The value of Id for the traffic policy that you want to update the comment for.

    ", "location":"uri", "locationName":"Id" }, "Version":{ "shape":"TrafficPolicyVersion", - "documentation":"

    The value of Version for the traffic policy for which you want to update the comment.

    ", + "documentation":"

    The value of Version for the traffic policy that you want to update the comment for.

    ", "location":"uri", "locationName":"Version" }, @@ -4439,7 +4969,7 @@ "documentation":"

    The new comment for the specified traffic policy and version.

    " } }, - "documentation":"

    A complex type that contains information about the traffic policy for which you want to update the comment.

    " + "documentation":"

    A complex type that contains information about the traffic policy that you want to update the comment for.

    " }, "UpdateTrafficPolicyCommentResponse":{ "type":"structure", @@ -4493,16 +5023,32 @@ }, "documentation":"

    A complex type that contains information about the resource record sets that Amazon Route 53 created based on a specified traffic policy.

    " }, + "UsageCount":{ + "type":"long", + "min":0 + }, "VPC":{ "type":"structure", "members":{ "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.

    " + "documentation":"

    (Private hosted zones only) The region that an Amazon VPC was created in.

    " }, "VPCId":{"shape":"VPCId"} }, - "documentation":"

    A complex type that contains information about the Amazon VPC that you're associating with the specified hosted zone.

    " + "documentation":"

    (Private hosted zones only) A complex type that contains information about an Amazon VPC.

    " + }, + "VPCAssociationAuthorizationNotFound":{ + "type":"structure", + "members":{ + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Descriptive message for the error response.

    " + } + }, + "documentation":"

    The VPC that you specified is not authorized to be associated with the hosted zone.

    ", + "error":{"httpStatusCode":404}, + "exception":true }, "VPCAssociationNotFound":{ "type":"structure", @@ -4518,7 +5064,7 @@ }, "VPCId":{ "type":"string", - "documentation":"

    A VPC ID

    ", + "documentation":"

    (Private hosted zones only) The ID of an Amazon VPC.

    ", "max":1024 }, "VPCRegion":{ @@ -4529,14 +5075,27 @@ "us-west-1", "us-west-2", "eu-west-1", + "eu-west-2", + "eu-west-3", "eu-central-1", + "ap-east-1", + "me-south-1", + "us-gov-west-1", + "us-gov-east-1", + "us-iso-east-1", + "us-isob-east-1", "ap-southeast-1", "ap-southeast-2", "ap-south-1", "ap-northeast-1", "ap-northeast-2", + "ap-northeast-3", + "eu-north-1", "sa-east-1", - "cn-north-1" + "ca-central-1", + "cn-north-1", + "af-south-1", + "eu-south-1" ], "max":64, "min":1 @@ -4547,8 +5106,9 @@ "shape":"VPC", "locationName":"VPC" }, - "documentation":"

    A list of VPCs

    ", + "documentation":"

    (Private hosted zones only) A list of VPC elements.

    ", "min":1 } - } + }, + "documentation":"

    Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.

    " } diff -Nru python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/examples-1.json --- python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -12,6 +12,12 @@ "input_token": "Marker", "output_token": "NextPageMarker", "result_key": "Operations" + }, + "ViewBilling": { + "input_token": "Marker", + "limit_key": "MaxItems", + "output_token": "NextPageMarker", + "result_key": "BillingRecords" } } } diff -Nru python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/service-2.json python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/service-2.json --- python-botocore-1.4.70/botocore/data/route53domains/2014-05-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53domains/2014-05-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,10 +6,41 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon Route 53 Domains", + "serviceId":"Route 53 Domains", "signatureVersion":"v4", - "targetPrefix":"Route53Domains_v20140515" + "targetPrefix":"Route53Domains_v20140515", + "uid":"route53domains-2014-05-15" }, "operations":{ + "AcceptDomainTransferFromAnotherAwsAccount":{ + "name":"AcceptDomainTransferFromAnotherAwsAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AcceptDomainTransferFromAnotherAwsAccountRequest"}, + "output":{"shape":"AcceptDomainTransferFromAnotherAwsAccountResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"OperationLimitExceeded"}, + {"shape":"DomainLimitExceeded"} + ], + "documentation":"

    Accepts the transfer of a domain from another AWS account to the current AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount.

    Use either ListOperations or GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, Domain Transfer from Aws Account 111122223333 has been cancelled.

    " + }, + "CancelDomainTransferToAnotherAwsAccount":{ + "name":"CancelDomainTransferToAnotherAwsAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelDomainTransferToAnotherAwsAccountRequest"}, + "output":{"shape":"CancelDomainTransferToAnotherAwsAccountResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"OperationLimitExceeded"} + ], + "documentation":"

    Cancels the transfer of a domain from the current AWS account to another AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount.

    You must cancel the transfer before the other AWS account accepts the transfer using AcceptDomainTransferFromAnotherAwsAccount.

    Use either ListOperations or GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, Domain Transfer from Aws Account 111122223333 has been cancelled.

    " + }, "CheckDomainAvailability":{ "name":"CheckDomainAvailability", "http":{ @@ -24,6 +55,20 @@ ], "documentation":"

    This operation checks the availability of one domain name. Note that if the availability status of a domain is pending, you must submit another request to determine the availability of the domain name.

    " }, + "CheckDomainTransferability":{ + "name":"CheckDomainTransferability", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CheckDomainTransferabilityRequest"}, + "output":{"shape":"CheckDomainTransferabilityResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"UnsupportedTLD"} + ], + "documentation":"

    Checks whether a domain name can be transferred to Amazon Route 53.

    " + }, "DeleteTagsForDomain":{ "name":"DeleteTagsForDomain", "http":{ @@ -37,7 +82,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation deletes the specified tags for a domain.

    All tag operations are eventually consistent; subsequent operations may not immediately represent all issued operations.

    " + "documentation":"

    This operation deletes the specified tags for a domain.

    All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

    " }, "DisableDomainAutoRenew":{ "name":"DisableDomainAutoRenew", @@ -83,7 +128,7 @@ {"shape":"UnsupportedTLD"}, {"shape":"TLDRulesViolation"} ], - "documentation":"

    This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account.

    The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see \"Renewal, restoration, and deletion times\" on the website for our registrar partner, Gandi. Route 53 requires that you renew before the end of the renewal period that is listed on the Gandi website so we can complete processing before the deadline.

    " + "documentation":"

    This operation configures Amazon Route 53 to automatically renew the specified domain before the domain registration expires. The cost of renewing your domain registration is billed to your AWS account.

    The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, see Domains That You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Route 53 requires that you renew before the end of the renewal period so we can complete processing before the deadline.

    " }, "EnableDomainTransferLock":{ "name":"EnableDomainTransferLock", @@ -129,7 +174,7 @@ {"shape":"InvalidInput"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation returns detailed information about the domain. The domain's contact information is also returned as part of the output.

    " + "documentation":"

    This operation returns detailed information about a specified domain that is associated with the current AWS account. Contact information for the domain is also returned as part of the output.

    " }, "GetDomainSuggestions":{ "name":"GetDomainSuggestions", @@ -143,7 +188,7 @@ {"shape":"InvalidInput"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    The GetDomainSuggestions operation returns a list of suggested domain names given a string, which can either be a domain name or simply a word or phrase (without spaces).

    Parameters:

    • DomainName (string): The basis for your domain suggestion search, a string with (or without) top-level domain specified.
    • SuggestionCount (int): The number of domain suggestions to be returned, maximum 50, minimum 1.
    • OnlyAvailable (bool): If true, availability check will be performed on suggestion results, and only available domains will be returned. If false, suggestions will be returned without checking whether the domain is actually available, and caller will have to call checkDomainAvailability for each suggestion to determine availability for registration.

    " + "documentation":"

    The GetDomainSuggestions operation returns a list of suggested domain names.

    " }, "GetOperationDetail":{ "name":"GetOperationDetail", @@ -182,7 +227,7 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    This operation returns the operation IDs of operations that are not yet complete.

    " + "documentation":"

    Returns information about all of the operations that return an operation ID and that have ever been performed on domains that were registered by the current account.

    " }, "ListTagsForDomain":{ "name":"ListTagsForDomain", @@ -197,7 +242,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation returns all of the tags that are associated with the specified domain.

    All tag operations are eventually consistent; subsequent operations may not immediately represent all issued operations.

    " + "documentation":"

    This operation returns all of the tags that are associated with the specified domain.

    All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

    " }, "RegisterDomain":{ "name":"RegisterDomain", @@ -215,7 +260,21 @@ {"shape":"DomainLimitExceeded"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

    This operation registers a domain. Domains are registered by the AWS registrar partner, Gandi. For some top-level domains (TLDs), this operation requires extra parameters.

    When you register a domain, Amazon Route 53 does the following:

    • Creates a Amazon Route 53 hosted zone that has the same name as the domain. Amazon Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.
    • Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.
    • Optionally enables privacy protection, so WHOIS queries return contact information for our registrar partner, Gandi, instead of the information you entered for registrant, admin, and tech contacts.
    • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.
    • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.
    " + "documentation":"

    This operation registers a domain. Domains are registered either by Amazon Registrar (for .com, .net, and .org domains) or by our registrar associate, Gandi (for all other domains). For some top-level domains (TLDs), this operation requires extra parameters.

    When you register a domain, Amazon Route 53 does the following:

    • Creates a Route 53 hosted zone that has the same name as the domain. Route 53 assigns four name servers to your hosted zone and automatically updates your domain registration with the names of these name servers.

    • Enables autorenew, so your domain registration will renew automatically each year. We'll notify you in advance of the renewal date so you can choose whether to renew the registration.

    • Optionally enables privacy protection, so WHOIS queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you don't enable privacy protection, WHOIS queries return the information that you entered for the registrant, admin, and tech contacts.

    • If registration is successful, returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant is notified by email.

    • Charges your AWS account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing.

    " + }, + "RejectDomainTransferFromAnotherAwsAccount":{ + "name":"RejectDomainTransferFromAnotherAwsAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectDomainTransferFromAnotherAwsAccountRequest"}, + "output":{"shape":"RejectDomainTransferFromAnotherAwsAccountResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"OperationLimitExceeded"} + ], + "documentation":"

    Rejects the transfer of a domain from another AWS account to the current AWS account. You initiate a transfer between AWS accounts using TransferDomainToAnotherAwsAccount.

    Use either ListOperations or GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, Domain Transfer from Aws Account 111122223333 has been cancelled.

    " }, "RenewDomain":{ "name":"RenewDomain", @@ -232,7 +291,7 @@ {"shape":"TLDRulesViolation"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

    This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your AWS account.

    We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 documentation.

    " + "documentation":"

    This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to your AWS account.

    We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete domains before the expiration date if you haven't renewed far enough in advance. For more information about renewing domain registration, see Renewing Registration for a Domain in the Amazon Route 53 Developer Guide.

    " }, "ResendContactReachabilityEmail":{ "name":"ResendContactReachabilityEmail", @@ -247,7 +306,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.

    " + "documentation":"

    For operations that require confirmation that the email address for the registrant contact is valid, such as registering a new domain, this operation resends the confirmation email to the current email address for the registrant contact.

    " }, "RetrieveDomainAuthCode":{ "name":"RetrieveDomainAuthCode", @@ -279,7 +338,22 @@ {"shape":"DomainLimitExceeded"}, {"shape":"OperationLimitExceeded"} ], - "documentation":"

    This operation transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered with the AWS registrar partner, Gandi.

    For transfer requirements, a detailed procedure, and information about viewing the status of a domain transfer, see Transferring Registration for a Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.

    If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you consider transferring your DNS service to Amazon Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.

    Caution! If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.

    If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.

    " + "documentation":"

    Transfers a domain from another registrar to Amazon Route 53. When the transfer is complete, the domain is registered either with Amazon Registrar (for .com, .net, and .org domains) or with our registrar associate, Gandi (for all other TLDs).

    For more information about transferring domains, see the following topics:

    If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you transfer your DNS service to Route 53 or to another DNS service provider before you transfer your registration. Some registrars provide free DNS service when you purchase a domain registration. When you transfer the registration, the previous registrar will not renew your domain registration and could end your DNS service at any time.

    If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS service to another provider, your website, email, and the web applications associated with the domain might become unavailable.

    If the transfer is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified by email.

    " + }, + "TransferDomainToAnotherAwsAccount":{ + "name":"TransferDomainToAnotherAwsAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TransferDomainToAnotherAwsAccountRequest"}, + "output":{"shape":"TransferDomainToAnotherAwsAccountResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"OperationLimitExceeded"}, + {"shape":"DuplicateRequest"} + ], + "documentation":"

    Transfers a domain from the current AWS account to another AWS account. Note the following:

    When you transfer a domain from one AWS account to another, Route 53 doesn't transfer the hosted zone that is associated with the domain. DNS resolution isn't affected if the domain and the hosted zone are owned by separate accounts, so transferring the hosted zone is optional. For information about transferring the hosted zone to another AWS account, see Migrating a Hosted Zone to a Different AWS Account in the Amazon Route 53 Developer Guide.

    Use either ListOperations or GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, Domain Transfer from Aws Account 111122223333 has been cancelled.

    " }, "UpdateDomainContact":{ "name":"UpdateDomainContact", @@ -296,7 +370,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation updates the contact information for a particular domain. Information for at least one contact (registrant, administrator, or technical) must be supplied for update.

    If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " + "documentation":"

    This operation updates the contact information for a particular domain. You must specify information for at least one contact: registrant, administrator, or technical.

    If the update is successful, this method returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " }, "UpdateDomainContactPrivacy":{ "name":"UpdateDomainContactPrivacy", @@ -313,7 +387,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation updates the specified domain contact's privacy setting. When the privacy option is enabled, personal information such as postal or email address is hidden from the results of a public WHOIS query. The privacy services are provided by the AWS registrar, Gandi. For more information, see the Gandi privacy features.

    This operation only affects the privacy of the specified contact type (registrant, administrator, or tech). Successful acceptance returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " + "documentation":"

    This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, contact information such as email address is replaced either with contact information for Amazon Registrar (for .com, .net, and .org domains) or with contact information for our registrar associate, Gandi.

    This operation affects only the contact information for the specified contact type (registrant, administrator, or tech). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request doesn't complete successfully, the domain registrant will be notified by email.

    By disabling the privacy service via API, you consent to the publication of the contact information provided for this domain via the public WHOIS database. You certify that you are the registrant of this domain name and have the authority to make this decision. You may withdraw your consent at any time by enabling privacy protection using either UpdateDomainContactPrivacy or the Route 53 console. Enabling privacy protection removes the contact information provided for this domain from the WHOIS database. For more information on our privacy practices, see https://aws.amazon.com/privacy/.

    " }, "UpdateDomainNameservers":{ "name":"UpdateDomainNameservers", @@ -330,7 +404,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

    If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " + "documentation":"

    This operation replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

    If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " }, "UpdateTagsForDomain":{ "name":"UpdateTagsForDomain", @@ -345,7 +419,7 @@ {"shape":"OperationLimitExceeded"}, {"shape":"UnsupportedTLD"} ], - "documentation":"

    This operation adds or updates tags for a specified domain.

    All tag operations are eventually consistent; subsequent operations may not immediately represent all issued operations.

    " + "documentation":"

    This operation adds or updates tags for a specified domain.

    All tag operations are eventually consistent; subsequent operations might not immediately represent all issued operations.

    " }, "ViewBilling":{ "name":"ViewBilling", @@ -358,10 +432,42 @@ "errors":[ {"shape":"InvalidInput"} ], - "documentation":"

    This operation returns all the domain-related billing records for the current AWS account for a specified period

    " + "documentation":"

    Returns all the domain-related billing records for the current AWS account for a specified period

    " } }, "shapes":{ + "AcceptDomainTransferFromAnotherAwsAccountRequest":{ + "type":"structure", + "required":[ + "DomainName", + "Password" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that was specified when another AWS account submitted a TransferDomainToAnotherAwsAccount request.

    " + }, + "Password":{ + "shape":"String", + "documentation":"

    The password that was returned by the TransferDomainToAnotherAwsAccount request.

    " + } + }, + "documentation":"

    The AcceptDomainTransferFromAnotherAwsAccount request includes the following elements.

    " + }, + "AcceptDomainTransferFromAnotherAwsAccountResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " + } + }, + "documentation":"

    The AcceptDomainTransferFromAnotherAwsAccount response includes the following element.

    " + }, + "AccountId":{ + "type":"string", + "pattern":"^(\\d{12})$" + }, "AddressLine":{ "type":"string", "max":255 @@ -371,38 +477,60 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    " + "documentation":"

    The name of the domain that the billing record applies to. If the domain name contains characters other than a-z, 0-9, and - (hyphen), such as an internationalized domain name, then this value is in Punycode. For more information, see DNS Domain Name Format in the Amazon Route 53 Developer Guide.

    " }, "Operation":{ "shape":"OperationType", - "documentation":"

    The operation that you were charged for.

    Type: String

    Valid values:

    • REGISTER_DOMAIN
    • TRANSFER_IN_DOMAIN
    • RENEW_DOMAIN
    • CHANGE_DOMAIN_OWNER

    " + "documentation":"

    The operation that you were charged for.

    " }, "InvoiceId":{ "shape":"InvoiceId", - "documentation":"

    The ID of the invoice that is associated with the billing record.

    Type: String

    " + "documentation":"

    The ID of the invoice that is associated with the billing record.

    " }, "BillDate":{ "shape":"Timestamp", - "documentation":"

    The date that the operation was billed, in Unix format.

    Type: Double

    " + "documentation":"

    The date that the operation was billed, in Unix format.

    " }, "Price":{ "shape":"Price", - "documentation":"

    The price that you were charged for the operation, in US dollars.

    Type: Double

    Example value: 12.0

    " + "documentation":"

    The price that you were charged for the operation, in US dollars.

    Example value: 12.0

    " } - } + }, + "documentation":"

    Information for one billing record.

    " }, "BillingRecords":{ "type":"list", "member":{"shape":"BillingRecord"} }, "Boolean":{"type":"boolean"}, + "CancelDomainTransferToAnotherAwsAccountRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain for which you want to cancel the transfer to another AWS account.

    " + } + }, + "documentation":"

    The CancelDomainTransferToAnotherAwsAccount request includes the following element.

    " + }, + "CancelDomainTransferToAnotherAwsAccountResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    The identifier that TransferDomainToAnotherAwsAccount returned to track the progress of the request. Because the transfer request was canceled, the value is no longer valid, and you can't use GetOperationDetail to query the operation status.

    " + } + }, + "documentation":"

    The CancelDomainTransferToAnotherAwsAccount response includes the following element.

    " + }, "CheckDomainAvailabilityRequest":{ "type":"structure", "required":["DomainName"], "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to get availability for. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    The domain name can contain only the following characters:

    • Letters a through z. Domain names are not case sensitive.

    • Numbers 0 through 9.

    • Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

    • Period (.) to separate the labels in the name, such as the . in example.com.

    Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53. For more information, see Formatting Internationalized Domain Names.

    " }, "IdnLangCode":{ "shape":"LangCode", @@ -417,11 +545,37 @@ "members":{ "Availability":{ "shape":"DomainAvailability", - "documentation":"

    Whether the domain name is available for registering.

    You can only register domains designated as AVAILABLE.

    Type: String

    Valid values:

    • AVAILABLE – The domain name is available.
    • AVAILABLE_RESERVED – The domain name is reserved under specific conditions.
    • AVAILABLE_PREORDER – The domain name is available and can be preordered.
    • UNAVAILABLE – The domain name is not available.
    • UNAVAILABLE_PREMIUM – The domain name is not available.
    • UNAVAILABLE_RESTRICTED – The domain name is forbidden.
    • RESERVED – The domain name has been reserved for another person or organization.
    • DONT_KNOW – The TLD registry didn't reply with a definitive answer about whether the domain name is available. Amazon Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.
    " + "documentation":"

    Whether the domain name is available for registering.

    You can register only domains designated as AVAILABLE.

    Valid values:

    AVAILABLE

    The domain name is available.

    AVAILABLE_RESERVED

    The domain name is reserved under specific conditions.

    AVAILABLE_PREORDER

    The domain name is available and can be preordered.

    DONT_KNOW

    The TLD registry didn't reply with a definitive answer about whether the domain name is available. Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.

    PENDING

    The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately.

    RESERVED

    The domain name has been reserved for another person or organization.

    UNAVAILABLE

    The domain name is not available.

    UNAVAILABLE_PREMIUM

    The domain name is not available.

    UNAVAILABLE_RESTRICTED

    The domain name is forbidden.

    " } }, "documentation":"

    The CheckDomainAvailability response includes the following elements.

    " }, + "CheckDomainTransferabilityRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    The domain name can contain only the following characters:

    • Letters a through z. Domain names are not case sensitive.

    • Numbers 0 through 9.

    • Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

    • Period (.) to separate the labels in the name, such as the . in example.com.

    " + }, + "AuthCode":{ + "shape":"DomainAuthCode", + "documentation":"

    If the registrar for the top-level domain (TLD) requires an authorization code to transfer the domain, the code that you got from the current registrar for the domain.

    " + } + }, + "documentation":"

    The CheckDomainTransferability request contains the following elements.

    " + }, + "CheckDomainTransferabilityResponse":{ + "type":"structure", + "required":["Transferability"], + "members":{ + "Transferability":{ + "shape":"DomainTransferability", + "documentation":"

    A complex type that contains information about whether the specified domain can be transferred to Route 53.

    " + } + }, + "documentation":"

    The CheckDomainTransferability response includes the following elements.

    " + }, "City":{ "type":"string", "max":255 @@ -431,59 +585,59 @@ "members":{ "FirstName":{ "shape":"ContactName", - "documentation":"

    First name of contact.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    First name of contact.

    " }, "LastName":{ "shape":"ContactName", - "documentation":"

    Last name of contact.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    Last name of contact.

    " }, "ContactType":{ "shape":"ContactType", - "documentation":"

    Indicates whether the contact is a person, company, association, or public organization. If you choose an option other than PERSON, you must enter an organization name, and you can't enable privacy protection for the contact.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Valid values: PERSON | COMPANY | ASSOCIATION | PUBLIC_BODY

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    Indicates whether the contact is a person, company, association, or public organization. Note the following:

    • If you specify a value other than PERSON, you must also specify a value for OrganizationName.

    • For some TLDs, the privacy protection available depends on the value that you specify for Contact Type. For the privacy protection settings for your TLD, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide

    • For .es domains, if you specify PERSON, you must specify INDIVIDUAL for the value of ES_LEGAL_FORM.

    " }, "OrganizationName":{ "shape":"ContactName", - "documentation":"

    Name of the organization for contact types other than PERSON.

    Type: String

    Default: None

    Constraints: Maximum 255 characters. Contact type must not be PERSON.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: No

    " + "documentation":"

    Name of the organization for contact types other than PERSON.

    " }, "AddressLine1":{ "shape":"AddressLine", - "documentation":"

    First line of the contact's address.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    First line of the contact's address.

    " }, "AddressLine2":{ "shape":"AddressLine", - "documentation":"

    Second line of contact's address, if any.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: No

    " + "documentation":"

    Second line of contact's address, if any.

    " }, "City":{ "shape":"City", - "documentation":"

    The city of the contact's address.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    The city of the contact's address.

    " }, "State":{ "shape":"State", - "documentation":"

    The state or province of the contact's city.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: No

    " + "documentation":"

    The state or province of the contact's city.

    " }, "CountryCode":{ "shape":"CountryCode", - "documentation":"

    Code for the country of the contact's address.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    Code for the country of the contact's address.

    " }, "ZipCode":{ "shape":"ZipCode", - "documentation":"

    The zip or postal code of the contact's address.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: No

    " + "documentation":"

    The zip or postal code of the contact's address.

    " }, "PhoneNumber":{ "shape":"ContactNumber", - "documentation":"

    The phone number of the contact.

    Type: String

    Default: None

    Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code>]\". For example, a US phone number might appear as \"+1.1234567890\".

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    The phone number of the contact.

    Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code>]\". For example, a US phone number might appear as \"+1.1234567890\".

    " }, "Email":{ "shape":"Email", - "documentation":"

    Email address of the contact.

    Type: String

    Default: None

    Constraints: Maximum 254 characters.

    Parents: RegistrantContact, AdminContact, TechContact

    Required: Yes

    " + "documentation":"

    Email address of the contact.

    " }, "Fax":{ "shape":"ContactNumber", - "documentation":"

    Fax number of the contact.

    Type: String

    Default: None

    Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code]\". For example, a US phone number might appear as \"+1.1234567890\".

    Parents: RegistrantContact, AdminContact, TechContact

    Required: No

    " + "documentation":"

    Fax number of the contact.

    Constraints: Phone number must be specified in the format \"+[country dialing code].[number including any area code]\". For example, a US phone number might appear as \"+1.1234567890\".

    " }, "ExtraParams":{ "shape":"ExtraParamList", - "documentation":"

    A list of name-value pairs for parameters required by certain top-level domains.

    Type: Complex

    Default: None

    Parents: RegistrantContact, AdminContact, TechContact

    Children: Name, Value

    Required: No

    " + "documentation":"

    A list of name-value pairs for parameters required by certain top-level domains.

    " } }, "documentation":"

    ContactDetail includes the following elements.

    ", @@ -752,11 +906,11 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The domain for which you want to delete one or more tags.

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're surrounded by letters, numbers, or other hyphens. You can't specify a hyphen at the beginning or end of a label. To specify an Internationalized Domain Name, you must convert the name to Punycode.

    Required: Yes

    " + "documentation":"

    The domain for which you want to delete one or more tags.

    " }, "TagsToDelete":{ "shape":"TagKeyList", - "documentation":"

    A list of tag keys to delete.

    Type: A list that contains the keys of the tags that you want to delete.

    Default: None

    Required: No

    '>" + "documentation":"

    A list of tag keys to delete.

    " } }, "documentation":"

    The DeleteTagsForDomainRequest includes the following elements.

    " @@ -770,7 +924,10 @@ "type":"structure", "required":["DomainName"], "members":{ - "DomainName":{"shape":"DomainName"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want to disable automatic renewal for.

    " + } } }, "DisableDomainAutoRenewResponse":{ @@ -784,7 +941,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to remove the transfer lock for.

    " } }, "documentation":"

    The DisableDomainTransferLock request includes the following element.

    " @@ -795,7 +952,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The DisableDomainTransferLock response includes the following element.

    " @@ -821,15 +978,17 @@ "DomainLimitExceeded":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The number of domains has exceeded the allowed threshold for the account.

    " + } }, "documentation":"

    The number of domains has exceeded the allowed threshold for the account.

    ", "exception":true }, "DomainName":{ "type":"string", - "max":255, - "pattern":"[a-zA-Z0-9_\\-.]*" + "max":255 }, "DomainStatus":{"type":"string"}, "DomainStatusList":{ @@ -839,9 +998,16 @@ "DomainSuggestion":{ "type":"structure", "members":{ - "DomainName":{"shape":"DomainName"}, - "Availability":{"shape":"String"} - } + "DomainName":{ + "shape":"DomainName", + "documentation":"

    A suggested domain name.

    " + }, + "Availability":{ + "shape":"String", + "documentation":"

    Whether the domain name is available for registering.

    You can register only the domains that are designated as AVAILABLE.

    Valid values:

    AVAILABLE

    The domain name is available.

    AVAILABLE_RESERVED

    The domain name is reserved under specific conditions.

    AVAILABLE_PREORDER

    The domain name is available and can be preordered.

    DONT_KNOW

    The TLD registry didn't reply with a definitive answer about whether the domain name is available. Route 53 can return this response for a variety of reasons, for example, the registry is performing maintenance. Try again later.

    PENDING

    The TLD registry didn't return a response in the expected amount of time. When the response is delayed, it usually takes just a few extra seconds. You can resubmit the request immediately.

    RESERVED

    The domain name has been reserved for another person or organization.

    UNAVAILABLE

    The domain name is not available.

    UNAVAILABLE_PREMIUM

    The domain name is not available.

    UNAVAILABLE_RESTRICTED

    The domain name is forbidden.

    " + } + }, + "documentation":"

    Information about one suggested domain name.

    " }, "DomainSuggestionsList":{ "type":"list", @@ -853,30 +1019,41 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    " + "documentation":"

    The name of the domain that the summary information applies to.

    " }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

    Indicates whether the domain is automatically renewed upon expiration.

    Type: Boolean

    Valid values: True | False

    " + "documentation":"

    Indicates whether the domain is automatically renewed upon expiration.

    " }, "TransferLock":{ "shape":"Boolean", - "documentation":"

    Indicates whether a domain is locked from unauthorized transfer to another party.

    Type: Boolean

    Valid values: True | False

    " + "documentation":"

    Indicates whether a domain is locked from unauthorized transfer to another party.

    " }, "Expiry":{ "shape":"Timestamp", - "documentation":"

    Expiration date of the domain in Coordinated Universal Time (UTC).

    Type: Long

    " + "documentation":"

    Expiration date of the domain in Unix time format and Coordinated Universal Time (UTC).

    " } - } + }, + "documentation":"

    Summary information about one domain.

    " }, "DomainSummaryList":{ "type":"list", "member":{"shape":"DomainSummary"} }, + "DomainTransferability":{ + "type":"structure", + "members":{ + "Transferable":{"shape":"Transferable"} + }, + "documentation":"

    A complex type that contains information about whether the specified domain can be transferred to Route 53.

    " + }, "DuplicateRequest":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The request is already in progress for the domain.

    " + } }, "documentation":"

    The request is already in progress for the domain.

    ", "exception":true @@ -894,7 +1071,10 @@ "type":"structure", "required":["DomainName"], "members":{ - "DomainName":{"shape":"DomainName"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want to enable automatic renewal for.

    " + } } }, "EnableDomainAutoRenewResponse":{ @@ -908,10 +1088,10 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to set the transfer lock for.

    " } }, - "documentation":"

    The EnableDomainTransferLock request includes the following element.

    " + "documentation":"

    A request to set the transfer lock for the specified domain.

    " }, "EnableDomainTransferLockResponse":{ "type":"structure", @@ -919,7 +1099,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The EnableDomainTransferLock response includes the following elements.

    " @@ -934,11 +1114,11 @@ "members":{ "Name":{ "shape":"ExtraParamName", - "documentation":"

    Name of the additional parameter required by the top-level domain.

    Type: String

    Default: None

    Valid values: DUNS_NUMBER | BRAND_NUMBER | BIRTH_DEPARTMENT | BIRTH_DATE_IN_YYYY_MM_DD | BIRTH_COUNTRY | BIRTH_CITY | DOCUMENT_NUMBER | AU_ID_NUMBER | AU_ID_TYPE | CA_LEGAL_TYPE | CA_BUSINESS_ENTITY_TYPE |ES_IDENTIFICATION | ES_IDENTIFICATION_TYPE | ES_LEGAL_FORM | FI_BUSINESS_NUMBER | FI_ID_NUMBER | IT_PIN | RU_PASSPORT_DATA | SE_ID_NUMBER | SG_ID_NUMBER | VAT_NUMBER

    Parent: ExtraParams

    Required: Yes

    " + "documentation":"

    The name of an additional parameter that is required by a top-level domain. Here are the top-level domains that require additional parameters and the names of the parameters that they require:

    .com.au and .net.au
    • AU_ID_NUMBER

    • AU_ID_TYPE

      Valid values include the following:

      • ABN (Australian business number)

      • ACN (Australian company number)

      • TM (Trademark number)

    .ca
    • BRAND_NUMBER

    • CA_BUSINESS_ENTITY_TYPE

      Valid values include the following:

      • BANK (Bank)

      • COMMERCIAL_COMPANY (Commercial company)

      • COMPANY (Company)

      • COOPERATION (Cooperation)

      • COOPERATIVE (Cooperative)

      • COOPRIX (Cooprix)

      • CORP (Corporation)

      • CREDIT_UNION (Credit union)

      • FOMIA (Federation of mutual insurance associations)

      • INC (Incorporated)

      • LTD (Limited)

      • LTEE (Limitée)

      • LLC (Limited liability corporation)

      • LLP (Limited liability partnership)

      • LTE (Lte.)

      • MBA (Mutual benefit association)

      • MIC (Mutual insurance company)

      • NFP (Not-for-profit corporation)

      • SA (S.A.)

      • SAVINGS_COMPANY (Savings company)

      • SAVINGS_UNION (Savings union)

      • SARL (Société à responsabilité limitée)

      • TRUST (Trust)

      • ULC (Unlimited liability corporation)

    • CA_LEGAL_TYPE

      When ContactType is PERSON, valid values include the following:

      • ABO (Aboriginal Peoples indigenous to Canada)

      • CCT (Canadian citizen)

      • LGR (Legal Representative of a Canadian Citizen or Permanent Resident)

      • RES (Permanent resident of Canada)

      When ContactType is a value other than PERSON, valid values include the following:

      • ASS (Canadian unincorporated association)

      • CCO (Canadian corporation)

      • EDU (Canadian educational institution)

      • GOV (Government or government entity in Canada)

      • HOP (Canadian Hospital)

      • INB (Indian Band recognized by the Indian Act of Canada)

      • LAM (Canadian Library, Archive, or Museum)

      • MAJ (Her/His Majesty the Queen/King)

      • OMK (Official mark registered in Canada)

      • PLT (Canadian Political Party)

      • PRT (Partnership Registered in Canada)

      • TDM (Trademark registered in Canada)

      • TRD (Canadian Trade Union)

      • TRS (Trust established in Canada)

    .es
    • ES_IDENTIFICATION

      Specify the applicable value:

      • For contacts inside Spain: Enter your passport ID.

      • For contacts outside of Spain: Enter the VAT identification number for the company.

        For .es domains, the value of ContactType must be PERSON.

    • ES_IDENTIFICATION_TYPE

      Valid values include the following:

      • DNI_AND_NIF (For Spanish contacts)

      • NIE (For foreigners with legal residence)

      • OTHER (For contacts outside of Spain)

    • ES_LEGAL_FORM

      Valid values include the following:

      • ASSOCIATION

      • CENTRAL_GOVERNMENT_BODY

      • CIVIL_SOCIETY

      • COMMUNITY_OF_OWNERS

      • COMMUNITY_PROPERTY

      • CONSULATE

      • COOPERATIVE

      • DESIGNATION_OF_ORIGIN_SUPERVISORY_COUNCIL

      • ECONOMIC_INTEREST_GROUP

      • EMBASSY

      • ENTITY_MANAGING_NATURAL_AREAS

      • FARM_PARTNERSHIP

      • FOUNDATION

      • GENERAL_AND_LIMITED_PARTNERSHIP

      • GENERAL_PARTNERSHIP

      • INDIVIDUAL

      • LIMITED_COMPANY

      • LOCAL_AUTHORITY

      • LOCAL_PUBLIC_ENTITY

      • MUTUAL_INSURANCE_COMPANY

      • NATIONAL_PUBLIC_ENTITY

      • ORDER_OR_RELIGIOUS_INSTITUTION

      • OTHERS (Only for contacts outside of Spain)

      • POLITICAL_PARTY

      • PROFESSIONAL_ASSOCIATION

      • PUBLIC_LAW_ASSOCIATION

      • PUBLIC_LIMITED_COMPANY

      • REGIONAL_GOVERNMENT_BODY

      • REGIONAL_PUBLIC_ENTITY

      • SAVINGS_BANK

      • SPANISH_OFFICE

      • SPORTS_ASSOCIATION

      • SPORTS_FEDERATION

      • SPORTS_LIMITED_COMPANY

      • TEMPORARY_ALLIANCE_OF_ENTERPRISES

      • TRADE_UNION

      • WORKER_OWNED_COMPANY

      • WORKER_OWNED_LIMITED_COMPANY

    .fi
    • BIRTH_DATE_IN_YYYY_MM_DD

    • FI_BUSINESS_NUMBER

    • FI_ID_NUMBER

    • FI_NATIONALITY

      Valid values include the following:

      • FINNISH

      • NOT_FINNISH

    • FI_ORGANIZATION_TYPE

      Valid values include the following:

      • COMPANY

      • CORPORATION

      • GOVERNMENT

      • INSTITUTION

      • POLITICAL_PARTY

      • PUBLIC_COMMUNITY

      • TOWNSHIP

    .fr
    • BIRTH_CITY

    • BIRTH_COUNTRY

    • BIRTH_DATE_IN_YYYY_MM_DD

    • BIRTH_DEPARTMENT: Specify the INSEE code that corresponds with the department where the contact was born. If the contact was born somewhere other than France or its overseas departments, specify 99. For more information, including a list of departments and the corresponding INSEE numbers, see the Wikipedia entry Departments of France.

    • BRAND_NUMBER

    .it
    • IT_NATIONALITY

    • IT_PIN

    • IT_REGISTRANT_ENTITY_TYPE

      Valid values include the following:

      • FOREIGNERS

      • FREELANCE_WORKERS (Freelance workers and professionals)

      • ITALIAN_COMPANIES (Italian companies and one-person companies)

      • NON_PROFIT_ORGANIZATIONS

      • OTHER_SUBJECTS

      • PUBLIC_ORGANIZATIONS

    .ru
    • BIRTH_DATE_IN_YYYY_MM_DD

    • RU_PASSPORT_DATA

    .se
    • BIRTH_COUNTRY

    • SE_ID_NUMBER

    .sg
    • SG_ID_NUMBER

    .co.uk, .me.uk, and .org.uk
    • UK_CONTACT_TYPE

      Valid values include the following:

      • CRC (UK Corporation by Royal Charter)

      • FCORP (Non-UK Corporation)

      • FIND (Non-UK Individual, representing self)

      • FOTHER (Non-UK Entity that does not fit into any other category)

      • GOV (UK Government Body)

      • IND (UK Individual (representing self))

      • IP (UK Industrial/Provident Registered Company)

      • LLP (UK Limited Liability Partnership)

      • LTD (UK Limited Company)

      • OTHER (UK Entity that does not fit into any other category)

      • PLC (UK Public Limited Company)

      • PTNR (UK Partnership)

      • RCHAR (UK Registered Charity)

      • SCH (UK School)

      • STAT (UK Statutory Body)

      • STRA (UK Sole Trader)

    • UK_COMPANY_NUMBER

    In addition, many TLDs require a VAT_NUMBER.

    " }, "Value":{ "shape":"ExtraParamValue", - "documentation":"

    Values corresponding to the additional parameter names required by some top-level domains.

    Type: String

    Default: None

    Constraints: Maximum 2048 characters.

    Parent: ExtraParams

    Required: Yes

    " + "documentation":"

    The value that corresponds with the name of an extra parameter.

    " } }, "documentation":"

    ExtraParam includes the following elements.

    " @@ -961,16 +1141,24 @@ "AU_ID_TYPE", "CA_LEGAL_TYPE", "CA_BUSINESS_ENTITY_TYPE", + "CA_LEGAL_REPRESENTATIVE", + "CA_LEGAL_REPRESENTATIVE_CAPACITY", "ES_IDENTIFICATION", "ES_IDENTIFICATION_TYPE", "ES_LEGAL_FORM", "FI_BUSINESS_NUMBER", "FI_ID_NUMBER", + "FI_NATIONALITY", + "FI_ORGANIZATION_TYPE", + "IT_NATIONALITY", "IT_PIN", + "IT_REGISTRANT_ENTITY_TYPE", "RU_PASSPORT_DATA", "SE_ID_NUMBER", "SG_ID_NUMBER", - "VAT_NUMBER" + "VAT_NUMBER", + "UK_CONTACT_TYPE", + "UK_COMPANY_NUMBER" ] }, "ExtraParamValue":{ @@ -983,7 +1171,7 @@ "members":{ "domainName":{ "shape":"DomainName", - "documentation":"

    The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid.

    Type: String

    Default: None

    Required: Yes

    " + "documentation":"

    The name of the domain for which you want to know whether the registrant contact has confirmed that the email address is valid.

    " } } }, @@ -996,7 +1184,7 @@ }, "status":{ "shape":"ReachabilityStatus", - "documentation":"

    Whether the registrant contact has responded. PENDING indicates that we sent the confirmation email and haven't received a response yet, DONE indicates that we sent the email and got confirmation from the registrant contact, and EXPIRED indicates that the time limit expired before the registrant contact responded.

    Type: String

    Valid values: PENDING, DONE, EXPIRED

    " + "documentation":"

    Whether the registrant contact has responded. Values include the following:

    PENDING

    We sent the confirmation email and haven't received a response yet.

    DONE

    We sent the email and got confirmation from the registrant contact.

    EXPIRED

    The time limit expired before the registrant contact responded.

    " } } }, @@ -1006,7 +1194,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to get detailed information about.

    " } }, "documentation":"

    The GetDomainDetail request includes the following element.

    " @@ -1023,59 +1211,59 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    " + "documentation":"

    The name of a domain.

    " }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

    The name of the domain.

    Type: String

    " + "documentation":"

    The name of the domain.

    " }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

    Specifies whether the domain registration is set to renew automatically.

    Type: Boolean

    " + "documentation":"

    Specifies whether the domain registration is set to renew automatically.

    " }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

    Provides details about the domain administrative contact.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    " + "documentation":"

    Provides details about the domain administrative contact.

    " }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

    Provides details about the domain registrant.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    " + "documentation":"

    Provides details about the domain registrant.

    " }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

    Provides details about the domain technical contact.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    " + "documentation":"

    Provides details about the domain technical contact.

    " }, "AdminPrivacy":{ "shape":"Boolean", - "documentation":"

    Specifies whether contact information for the admin contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    " + "documentation":"

    Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the admin contact.

    " }, "RegistrantPrivacy":{ "shape":"Boolean", - "documentation":"

    Specifies whether contact information for the registrant contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    " + "documentation":"

    Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

    " }, "TechPrivacy":{ "shape":"Boolean", - "documentation":"

    Specifies whether contact information for the tech contact is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    " + "documentation":"

    Specifies whether contact information is concealed from WHOIS queries. If the value is true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If the value is false, WHOIS queries return the information that you entered for the technical contact.

    " }, "RegistrarName":{ "shape":"RegistrarName", - "documentation":"

    Name of the registrar of the domain as identified in the registry. Amazon Route 53 domains are registered by registrar Gandi. The value is \"GANDI SAS\".

    Type: String

    " + "documentation":"

    Name of the registrar of the domain as identified in the registry. Domains with a .com, .net, or .org TLD are registered by Amazon Registrar. All other domains are registered by our registrar associate, Gandi. The value for domains that are registered by Gandi is \"GANDI SAS\".

    " }, "WhoIsServer":{ "shape":"RegistrarWhoIsServer", - "documentation":"

    The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

    Type: String

    " + "documentation":"

    The fully qualified name of the WHOIS server that can answer the WHOIS query for the domain.

    " }, "RegistrarUrl":{ "shape":"RegistrarUrl", - "documentation":"

    Web address of the registrar.

    Type: String

    " + "documentation":"

    Web address of the registrar.

    " }, "AbuseContactEmail":{ "shape":"Email", - "documentation":"

    Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

    Type: String

    " + "documentation":"

    Email address to contact to report incorrect contact information for a domain, to report that the domain is being used to send spam, to report that someone is cybersquatting on a domain name, or report some other type of abuse.

    " }, "AbuseContactPhone":{ "shape":"ContactNumber", - "documentation":"

    Phone number for reporting abuse.

    Type: String

    " + "documentation":"

    Phone number for reporting abuse.

    " }, "RegistryDomainId":{ "shape":"RegistryDomainId", @@ -1083,19 +1271,19 @@ }, "CreationDate":{ "shape":"Timestamp", - "documentation":"

    The date when the domain was created as found in the response to a WHOIS query. The date format is Unix time.

    " + "documentation":"

    The date when the domain was created as found in the response to a WHOIS query. The date and time is in Unix time format and Coordinated Universal time (UTC).

    " }, "UpdatedDate":{ "shape":"Timestamp", - "documentation":"

    The last updated date of the domain as found in the response to a WHOIS query. The date format is Unix time.

    " + "documentation":"

    The last updated date of the domain as found in the response to a WHOIS query. The date and time is in Unix time format and Coordinated Universal time (UTC).

    " }, "ExpirationDate":{ "shape":"Timestamp", - "documentation":"

    The date when the registration for the domain is set to expire. The date format is Unix time.

    " + "documentation":"

    The date when the registration for the domain is set to expire. The date and time is in Unix time format and Coordinated Universal time (UTC).

    " }, "Reseller":{ "shape":"Reseller", - "documentation":"

    Reseller of the domain. Domains registered or transferred using Amazon Route 53 domains will have \"Amazon\" as the reseller.

    Type: String

    " + "documentation":"

    Reseller of the domain. Domains registered or transferred using Route 53 domains will have \"Amazon\" as the reseller.

    " }, "DnsSec":{ "shape":"DNSSec", @@ -1103,7 +1291,7 @@ }, "StatusList":{ "shape":"DomainStatusList", - "documentation":"

    An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes.

    ICANN, the organization that maintains a central database of domain names, has developed a set of domain name status codes that tell you the status of a variety of operations on a domain name, for example, registering a domain name, transferring a domain name to another registrar, renewing the registration for a domain name, and so on. All registrars use this same set of status codes.

    For a current list of domain name status codes and an explanation of what each code means, go to the ICANN website and search for epp status codes. (Search on the ICANN website; web searches sometimes return an old version of the document.)

    Type: Array of String

    " + "documentation":"

    An array of domain name status codes, also known as Extensible Provisioning Protocol (EPP) status codes.

    ICANN, the organization that maintains a central database of domain names, has developed a set of domain name status codes that tell you the status of a variety of operations on a domain name, for example, registering a domain name, transferring a domain name to another registrar, renewing the registration for a domain name, and so on. All registrars use this same set of status codes.

    For a current list of domain name status codes and an explanation of what each code means, go to the ICANN website and search for epp status codes. (Search on the ICANN website; web searches sometimes return an old version of the document.)

    " } }, "documentation":"

    The GetDomainDetail response includes the following elements.

    " @@ -1116,15 +1304,27 @@ "OnlyAvailable" ], "members":{ - "DomainName":{"shape":"DomainName"}, - "SuggestionCount":{"shape":"Integer"}, - "OnlyAvailable":{"shape":"Boolean"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

    A domain name that you want to use as the basis for a list of possible domain names. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    The domain name can contain only the following characters:

    • Letters a through z. Domain names are not case sensitive.

    • Numbers 0 through 9.

    • Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

    • Period (.) to separate the labels in the name, such as the . in example.com.

    Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53.

    " + }, + "SuggestionCount":{ + "shape":"Integer", + "documentation":"

    The number of suggested domain names that you want Route 53 to return. Specify a value between 1 and 50.

    " + }, + "OnlyAvailable":{ + "shape":"Boolean", + "documentation":"

    If OnlyAvailable is true, Route 53 returns only domain names that are available. If OnlyAvailable is false, Route 53 returns domain names without checking whether they're available to be registered. To determine whether the domain is available, you can call checkDomainAvailability for each suggestion.

    " + } } }, "GetDomainSuggestionsResponse":{ "type":"structure", "members":{ - "SuggestionsList":{"shape":"DomainSuggestionsList"} + "SuggestionsList":{ + "shape":"DomainSuggestionsList", + "documentation":"

    A list of possible domain names. If you specified true for OnlyAvailable in the request, the list contains only domains that are available for registration.

    " + } } }, "GetOperationDetailRequest":{ @@ -1133,33 +1333,33 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    The identifier for the operation for which you want to get the status. Amazon Route 53 returned the identifier in the response to the original request.

    Type: String

    Default: None

    Required: Yes

    " + "documentation":"

    The identifier for the operation for which you want to get the status. Route 53 returned the identifier in the response to the original request.

    " } }, - "documentation":"

    The GetOperationDetail request includes the following element.

    " + "documentation":"

    The GetOperationDetail request includes the following element.

    " }, "GetOperationDetailResponse":{ "type":"structure", "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    The identifier for the operation.

    Type: String

    " + "documentation":"

    The identifier for the operation.

    " }, "Status":{ "shape":"OperationStatus", - "documentation":"

    The current status of the requested operation in the system.

    Type: String

    " + "documentation":"

    The current status of the requested operation in the system.

    " }, "Message":{ "shape":"ErrorMessage", - "documentation":"

    Detailed information on the status including possible errors.

    Type: String

    " + "documentation":"

    Detailed information on the status including possible errors.

    " }, "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    " + "documentation":"

    The name of a domain.

    " }, "Type":{ "shape":"OperationType", - "documentation":"

    The type of operation that was requested.

    Type: String

    " + "documentation":"

    The type of operation that was requested.

    " }, "SubmittedDate":{ "shape":"Timestamp", @@ -1185,9 +1385,12 @@ "InvalidInput":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The requested item is not acceptable. For example, for an OperationId it might refer to the ID of an operation that is already completed. For a domain name, it might not be a valid domain name or belong to the requester account.

    " + } }, - "documentation":"

    The requested item is not acceptable. For example, for an OperationId it may refer to the ID of an operation that is already completed. For a domain name, it may not be a valid domain name or belong to the requester account.

    ", + "documentation":"

    The requested item is not acceptable. For example, for APIs that accept a domain name, the request might specify a domain name that doesn't belong to the account that submitted the request. For AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid.

    ", "exception":true }, "InvoiceId":{"type":"string"}, @@ -1200,11 +1403,11 @@ "members":{ "Marker":{ "shape":"PageMarker", - "documentation":"

    For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current AWS account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    Type: String

    Default: None

    Constraints: The marker must match the value specified in the previous request.

    Required: No

    " + "documentation":"

    For an initial request for a list of domains, omit this element. If the number of domains that are associated with the current AWS account is greater than the value that you specified for MaxItems, you can use Marker to return additional domains. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    Constraints: The marker must match the value specified in the previous request.

    " }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    Number of domains to be returned.

    Type: Integer

    Default: 20

    Constraints: A numeral between 1 and 100.

    Required: No

    " + "documentation":"

    Number of domains to be returned.

    Default: 20

    " } }, "documentation":"

    The ListDomains request includes the following elements.

    " @@ -1215,11 +1418,11 @@ "members":{ "Domains":{ "shape":"DomainSummaryList", - "documentation":"

    A summary of domains.

    Type: Complex type containing a list of domain summaries.

    Children: AutoRenew, DomainName, Expiry, TransferLock

    " + "documentation":"

    A summary of domains.

    " }, "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

    If there are more domains than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    Type: String

    Parent: Operations

    " + "documentation":"

    If there are more domains than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    " } }, "documentation":"

    The ListDomains response includes the following elements.

    " @@ -1227,13 +1430,17 @@ "ListOperationsRequest":{ "type":"structure", "members":{ + "SubmittedSince":{ + "shape":"Timestamp", + "documentation":"

    An optional parameter that lets you get information about all the operations that you submitted after a specified date and time. Specify the date and time in Unix time format and Coordinated Universal time (UTC).

    " + }, "Marker":{ "shape":"PageMarker", - "documentation":"

    For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    Type: String

    Default: None

    Required: No

    " + "documentation":"

    For an initial request for a list of operations, omit this element. If the number of operations that are not yet complete is greater than the value that you specified for MaxItems, you can use Marker to return additional operations. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    " }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    Number of domains to be returned.

    Type: Integer

    Default: 20

    Constraints: A value between 1 and 100.

    Required: No

    " + "documentation":"

    Number of domains to be returned.

    Default: 20

    " } }, "documentation":"

    The ListOperations request includes the following elements.

    " @@ -1244,11 +1451,11 @@ "members":{ "Operations":{ "shape":"OperationSummaryList", - "documentation":"

    Lists summaries of the operations.

    Type: Complex type containing a list of operation summaries

    Children: OperationId, Status, SubmittedDate, Type

    " + "documentation":"

    Lists summaries of the operations.

    " }, "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

    If there are more operations than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    Type: String

    Parent: Operations

    " + "documentation":"

    If there are more operations than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    " } }, "documentation":"

    The ListOperations response includes the following elements.

    " @@ -1270,7 +1477,7 @@ "members":{ "TagList":{ "shape":"TagList", - "documentation":"

    A list of the tags that are associated with the specified domain.

    Type: A complex type containing a list of tags

    Each tag includes the following elements.

    • Key

      The key (name) of a tag.

      Type: String

    • Value

      The value of a tag.

      Type: String

    " + "documentation":"

    A list of the tags that are associated with the specified domain.

    " } }, "documentation":"

    The ListTagsForDomain response includes the following elements.

    " @@ -1281,11 +1488,11 @@ "members":{ "Name":{ "shape":"HostName", - "documentation":"

    The fully qualified host name of the name server.

    Type: String

    Constraint: Maximum 255 characterss

    Parent: Nameservers

    " + "documentation":"

    The fully qualified host name of the name server.

    Constraint: Maximum 255 characters

    " }, "GlueIps":{ "shape":"GlueIpList", - "documentation":"

    Glue IP address of a name server entry. Glue IP addresses are required only when the name of the name server is a subdomain of the domain. For example, if your domain is example.com and the name server for the domain is ns.example.com, you need to specify the IP address for ns.example.com.

    Type: List of IP addresses.

    Constraints: The list can contain only one IPv4 and one IPv6 address.

    Parent: Nameservers

    " + "documentation":"

    Glue IP address of a name server entry. Glue IP addresses are required only when the name of the name server is a subdomain of the domain. For example, if your domain is example.com and the name server for the domain is ns.example.com, you need to specify the IP address for ns.example.com.

    Constraints: The list can contain only one IPv4 and one IPv6 address.

    " } }, "documentation":"

    Nameserver includes the following elements.

    " @@ -1301,7 +1508,10 @@ "OperationLimitExceeded":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The number of operations or jobs running exceeded the allowed threshold for the account.

    " + } }, "documentation":"

    The number of operations or jobs running exceeded the allowed threshold for the account.

    ", "exception":true @@ -1327,15 +1537,15 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier returned to track the requested action.

    Type: String

    " + "documentation":"

    Identifier returned to track the requested action.

    " }, "Status":{ "shape":"OperationStatus", - "documentation":"

    The current status of the requested operation in the system.

    Type: String

    " + "documentation":"

    The current status of the requested operation in the system.

    " }, "Type":{ "shape":"OperationType", - "documentation":"

    Type of the action requested.

    Type: String

    Valid values: REGISTER_DOMAIN | DELETE_DOMAIN | TRANSFER_IN_DOMAIN | UPDATE_DOMAIN_CONTACT | UPDATE_NAMESERVER | CHANGE_PRIVACY_PROTECTION | DOMAIN_LOCK

    " + "documentation":"

    Type of the action requested.

    " }, "SubmittedDate":{ "shape":"Timestamp", @@ -1357,7 +1567,18 @@ "UPDATE_DOMAIN_CONTACT", "UPDATE_NAMESERVER", "CHANGE_PRIVACY_PROTECTION", - "DOMAIN_LOCK" + "DOMAIN_LOCK", + "ENABLE_AUTORENEW", + "DISABLE_AUTORENEW", + "ADD_DNSSEC", + "REMOVE_DNSSEC", + "EXPIRE_DOMAIN", + "TRANSFER_OUT_DOMAIN", + "CHANGE_DOMAIN_OWNER", + "RENEW_DOMAIN", + "PUSH_DOMAIN", + "INTERNAL_TRANSFER_OUT_DOMAIN", + "INTERNAL_TRANSFER_IN_DOMAIN" ] }, "PageMarker":{ @@ -1389,7 +1610,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The domain name that you want to register. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    The domain name can contain only the following characters:

    • Letters a through z. Domain names are not case sensitive.

    • Numbers 0 through 9.

    • Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

    • Period (.) to separate the labels in the name, such as the . in example.com.

    Internationalized domain names are not supported for some top-level domains. To determine whether the TLD that you want to use supports internationalized domain names, see Domains that You Can Register with Amazon Route 53. For more information, see Formatting Internationalized Domain Names.

    " }, "IdnLangCode":{ "shape":"LangCode", @@ -1397,35 +1618,35 @@ }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

    The number of years the domain will be registered. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

    Type: Integer

    Default: 1

    Valid values: Integer from 1 to 10

    Required: Yes

    " + "documentation":"

    The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    Default: 1

    " }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

    Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

    Type: Boolean

    Valid values: true | false

    Default: true

    Required: No

    " + "documentation":"

    Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

    Default: true

    " }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail.

    " }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail.

    " }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information. For information about the values that you specify for each element, see ContactDetail.

    " }, "PrivacyProtectAdminContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

    Default: true

    " }, "PrivacyProtectRegistrantContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (the domain owner).

    Default: true

    " }, "PrivacyProtectTechContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

    Default: true

    " } }, "documentation":"

    The RegisterDomain request includes the following elements.

    " @@ -1436,7 +1657,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The RegisterDomain response includes the following element.

    " @@ -1445,6 +1666,27 @@ "RegistrarUrl":{"type":"string"}, "RegistrarWhoIsServer":{"type":"string"}, "RegistryDomainId":{"type":"string"}, + "RejectDomainTransferFromAnotherAwsAccountRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that was specified when another AWS account submitted a TransferDomainToAnotherAwsAccount request.

    " + } + }, + "documentation":"

    The RejectDomainTransferFromAnotherAwsAccount request includes the following element.

    " + }, + "RejectDomainTransferFromAnotherAwsAccountResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    The identifier that TransferDomainToAnotherAwsAccount returned to track the progress of the request. Because the transfer request was rejected, the value is no longer valid, and you can't use GetOperationDetail to query the operation status.

    " + } + }, + "documentation":"

    The RejectDomainTransferFromAnotherAwsAccount response includes the following element.

    " + }, "RenewDomainRequest":{ "type":"structure", "required":[ @@ -1452,14 +1694,17 @@ "CurrentExpiryYear" ], "members":{ - "DomainName":{"shape":"DomainName"}, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want to renew.

    " + }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

    The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 documentation.

    Type: Integer

    Default: 1

    Valid values: Integer from 1 to 10

    Required: No

    " + "documentation":"

    The number of years that you want to renew the domain for. The maximum number of years depends on the top-level domain. For the range of valid values for your domain, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    Default: 1

    " }, "CurrentExpiryYear":{ "shape":"CurrentExpiryYear", - "documentation":"

    The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

    Type: Integer

    Default: None

    Valid values: Integer

    Required: Yes

    " + "documentation":"

    The year when the registration for the domain is set to expire. This value must match the current expiration date for the domain.

    " } }, "documentation":"

    A RenewDomain request includes the number of years that you want to renew for and the current expiration year.

    " @@ -1468,7 +1713,10 @@ "type":"structure", "required":["OperationId"], "members":{ - "OperationId":{"shape":"OperationId"} + "OperationId":{ + "shape":"OperationId", + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " + } } }, "Reseller":{"type":"string"}, @@ -1477,7 +1725,7 @@ "members":{ "domainName":{ "shape":"DomainName", - "documentation":"

    The name of the domain for which you want Amazon Route 53 to resend a confirmation email to the registrant contact.

    Type: String

    Default: None

    Required: Yes

    " + "documentation":"

    The name of the domain for which you want Route 53 to resend a confirmation email to the registrant contact.

    " } } }, @@ -1494,7 +1742,7 @@ }, "isAlreadyVerified":{ "shape":"Boolean", - "documentation":"

    True if the email address for the registrant contact has already been verified, and false otherwise. If the email address has already been verified, we don't send another confirmation email.

    " + "documentation":"

    True if the email address for the registrant contact has already been verified, and false otherwise. If the email address has already been verified, we don't send another confirmation email.

    " } } }, @@ -1504,10 +1752,10 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to get an authorization code for.

    " } }, - "documentation":"

    The RetrieveDomainAuthCode request includes the following element.

    " + "documentation":"

    A request for the authorization code for the specified domain. To transfer a domain to another registrar, you provide this value to the new registrar.

    " }, "RetrieveDomainAuthCodeResponse":{ "type":"structure", @@ -1515,7 +1763,7 @@ "members":{ "AuthCode":{ "shape":"DomainAuthCode", - "documentation":"

    The authorization code for the domain.

    Type: String

    " + "documentation":"

    The authorization code for the domain.

    " } }, "documentation":"

    The RetrieveDomainAuthCode response includes the following element.

    " @@ -1528,7 +1776,10 @@ "TLDRulesViolation":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    The top-level domain does not support this operation.

    " + } }, "documentation":"

    The top-level domain does not support this operation.

    ", "exception":true @@ -1538,11 +1789,11 @@ "members":{ "Key":{ "shape":"TagKey", - "documentation":"

    The key (name) of a tag.

    Type: String

    Default: None

    Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

    Constraints: Each key can be 1-128 characters long.

    Required: Yes

    " + "documentation":"

    The key (name) of a tag.

    Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

    Constraints: Each key can be 1-128 characters long.

    " }, "Value":{ "shape":"TagValue", - "documentation":"

    The value of a tag.

    Type: String

    Default: None

    Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

    Constraints: Each value can be 0-256 characters long.

    Required: Yes

    " + "documentation":"

    The value of a tag.

    Valid values: A-Z, a-z, 0-9, space, \".:/=+\\-@\"

    Constraints: Each value can be 0-256 characters long.

    " } }, "documentation":"

    Each tag includes the following elements.

    " @@ -1570,7 +1821,7 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to transfer to Route 53. The top-level domain (TLD), such as .com, must be a TLD that Route 53 supports. For a list of supported TLDs, see Domains that You Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide.

    The domain name can contain only the following characters:

    • Letters a through z. Domain names are not case sensitive.

    • Numbers 0 through 9.

    • Hyphen (-). You can't specify a hyphen at the beginning or end of a label.

    • Period (.) to separate the labels in the name, such as the . in example.com.

    " }, "IdnLangCode":{ "shape":"LangCode", @@ -1578,43 +1829,43 @@ }, "DurationInYears":{ "shape":"DurationInYears", - "documentation":"

    The number of years the domain will be registered. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

    Type: Integer

    Default: 1

    Valid values: Integer from 1 to 10

    Required: Yes

    " + "documentation":"

    The number of years that you want to register the domain for. Domains are registered for a minimum of one year. The maximum period depends on the top-level domain.

    Default: 1

    " }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

    Contains details for the host and glue IP addresses.

    Type: Complex

    Children: GlueIps, Name

    Required: No

    " + "documentation":"

    Contains details for the host and glue IP addresses.

    " }, "AuthCode":{ "shape":"DomainAuthCode", - "documentation":"

    The authorization code for the domain. You get this value from the current registrar.

    Type: String

    Required: Yes

    " + "documentation":"

    The authorization code for the domain. You get this value from the current registrar.

    " }, "AutoRenew":{ "shape":"Boolean", - "documentation":"

    Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

    Type: Boolean

    Valid values: true | false

    Default: true

    Required: No

    " + "documentation":"

    Indicates whether the domain will be automatically renewed (true) or not (false). Autorenewal only takes effect after the account is charged.

    Default: true

    " }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " }, "PrivacyProtectAdminContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

    Default: true

    " }, "PrivacyProtectRegistrantContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

    Default: true

    " }, "PrivacyProtectTechContact":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: true

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

    Default: true

    " } }, "documentation":"

    The TransferDomain request includes the following elements.

    " @@ -1625,17 +1876,61 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " + } + }, + "documentation":"

    The TransferDomain response includes the following element.

    " + }, + "TransferDomainToAnotherAwsAccountRequest":{ + "type":"structure", + "required":[ + "DomainName", + "AccountId" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want to transfer from the current AWS account to another account.

    " + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID of the AWS account that you want to transfer the domain to, for example, 111122223333.

    " + } + }, + "documentation":"

    The TransferDomainToAnotherAwsAccount request includes the following elements.

    " + }, + "TransferDomainToAnotherAwsAccountResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " + }, + "Password":{ + "shape":"String", + "documentation":"

    To finish transferring a domain to another AWS account, the account that the domain is being transferred to must submit an AcceptDomainTransferFromAnotherAwsAccount request. The request must include the value of the Password element that was returned in the TransferDomainToAnotherAwsAccount response.

    " } }, - "documentation":"

    The TranserDomain response includes the following element.

    " + "documentation":"

    The TransferDomainToAnotherAwsAccount response includes the following elements.

    " + }, + "Transferable":{ + "type":"string", + "documentation":"

    Whether the domain name can be transferred to Route 53.

    You can transfer only domains that have a value of TRANSFERABLE for Transferable.

    Valid values:

    TRANSFERABLE

    The domain name can be transferred to Route 53.

    UNTRANSFERRABLE

    The domain name can't be transferred to Route 53.

    DONT_KNOW

    Reserved for future use.

    ", + "enum":[ + "TRANSFERABLE", + "UNTRANSFERABLE", + "DONT_KNOW" + ] }, "UnsupportedTLD":{ "type":"structure", "members":{ - "message":{"shape":"ErrorMessage"} + "message":{ + "shape":"ErrorMessage", + "documentation":"

    Amazon Route 53 does not support this top-level domain (TLD).

    " + } }, - "documentation":"

    Amazon Route 53 does not support this top-level domain.

    ", + "documentation":"

    Amazon Route 53 does not support this top-level domain (TLD).

    ", "exception":true }, "UpdateDomainContactPrivacyRequest":{ @@ -1644,19 +1939,19 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to update the privacy setting for.

    " }, "AdminPrivacy":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: None

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the admin contact.

    " }, "RegistrantPrivacy":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: None

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the registrant contact (domain owner).

    " }, "TechPrivacy":{ "shape":"Boolean", - "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries will return contact information for our registrar partner, Gandi, instead of the contact information that you enter.

    Type: Boolean

    Default: None

    Valid values: true | false

    Required: No

    " + "documentation":"

    Whether you want to conceal contact information from WHOIS queries. If you specify true, WHOIS (\"who is\") queries return contact information either for Amazon Registrar (for .com, .net, and .org domains) or for our registrar associate, Gandi (for all other TLDs). If you specify false, WHOIS queries return the information that you entered for the technical contact.

    " } }, "documentation":"

    The UpdateDomainContactPrivacy request includes the following elements.

    " @@ -1667,7 +1962,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The UpdateDomainContactPrivacy response includes the following element.

    " @@ -1678,19 +1973,19 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to update contact information for.

    " }, "AdminContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " }, "RegistrantContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " }, "TechContact":{ "shape":"ContactDetail", - "documentation":"

    Provides detailed contact information.

    Type: Complex

    Children: FirstName, MiddleName, LastName, ContactType, OrganizationName, AddressLine1, AddressLine2, City, State, CountryCode, ZipCode, PhoneNumber, Email, Fax, ExtraParams

    Required: Yes

    " + "documentation":"

    Provides detailed contact information.

    " } }, "documentation":"

    The UpdateDomainContact request includes the following elements.

    " @@ -1701,7 +1996,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The UpdateDomainContact response includes the following element.

    " @@ -1715,18 +2010,19 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Internationalized Domain Names are not supported.

    Required: Yes

    " + "documentation":"

    The name of the domain that you want to change name servers for.

    " }, "FIAuthKey":{ "shape":"FIAuthKey", - "documentation":"

    The authorization key for .fi domains

    " + "documentation":"

    The authorization key for .fi domains

    ", + "deprecated":true }, "Nameservers":{ "shape":"NameserverList", - "documentation":"

    A list of new name servers for the domain.

    Type: Complex

    Children: Name, GlueIps

    Required: Yes

    " + "documentation":"

    A list of new name servers for the domain.

    " } }, - "documentation":"

    The UpdateDomainNameserver request includes the following elements.

    " + "documentation":"

    Replaces the current set of name servers for the domain with the specified set of name servers. If you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted zone for the domain.

    If successful, this operation returns an operation ID that you can use to track the progress and completion of the action. If the request is not completed successfully, the domain registrant will be notified by email.

    " }, "UpdateDomainNameserversResponse":{ "type":"structure", @@ -1734,7 +2030,7 @@ "members":{ "OperationId":{ "shape":"OperationId", - "documentation":"

    Identifier for tracking the progress of the request. To use this ID to query the operation status, use GetOperationDetail.

    Type: String

    Default: None

    Constraints: Maximum 255 characters.

    " + "documentation":"

    Identifier for tracking the progress of the request. To query the operation status, use GetOperationDetail.

    " } }, "documentation":"

    The UpdateDomainNameservers response includes the following element.

    " @@ -1745,11 +2041,11 @@ "members":{ "DomainName":{ "shape":"DomainName", - "documentation":"

    The domain for which you want to add or update tags.

    The name of a domain.

    Type: String

    Default: None

    Constraints: The domain name can contain only the letters a through z, the numbers 0 through 9, and hyphen (-). Hyphens are allowed only when they're surrounded by letters, numbers, or other hyphens. You can't specify a hyphen at the beginning or end of a label. To specify an Internationalized Domain Name, you must convert the name to Punycode.

    Required: Yes

    " + "documentation":"

    The domain for which you want to add or update tags.

    " }, "TagsToUpdate":{ "shape":"TagList", - "documentation":"

    A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced.

    Type: A complex type containing a list of tags

    Default: None

    Required: No

    '>

    Each tag includes the following elements:

    • Key

      The key (name) of a tag.

      Type: String

      Default: None

      Valid values: Unicode characters including alphanumeric, space, and \".:/=+\\-@\"

      Constraints: Each key can be 1-128 characters long.

      Required: Yes

    • Value

      The value of a tag.

      Type: String

      Default: None

      Valid values: Unicode characters including alphanumeric, space, and \".:/=+\\-@\"

      Constraints: Each value can be 0-256 characters long.

      Required: Yes

    " + "documentation":"

    A list of the tag keys and values that you want to add or update. If you specify a key that already exists, the corresponding value will be replaced.

    " } }, "documentation":"

    The UpdateTagsForDomainRequest includes the following elements.

    " @@ -1764,19 +2060,19 @@ "members":{ "Start":{ "shape":"Timestamp", - "documentation":"

    The beginning date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

    Type: Double

    Default: None

    Required: Yes

    " + "documentation":"

    The beginning date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC).

    " }, "End":{ "shape":"Timestamp", - "documentation":"

    The end date and time for the time period for which you want a list of billing records. Specify the date in Unix time format.

    Type: Double

    Default: None

    Required: Yes

    " + "documentation":"

    The end date and time for the time period for which you want a list of billing records. Specify the date and time in Unix time format and Coordinated Universal time (UTC).

    " }, "Marker":{ "shape":"PageMarker", - "documentation":"

    For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    Type: String

    Default: None

    Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.

    Required: No

    " + "documentation":"

    For an initial request for a list of billing records, omit this element. If the number of billing records that are associated with the current AWS account during the specified period is greater than the value that you specified for MaxItems, you can use Marker to return additional billing records. Get the value of NextPageMarker from the previous response, and submit another request that includes the value of NextPageMarker in the Marker element.

    Constraints: The marker must match the value of NextPageMarker that was returned in the previous response.

    " }, "MaxItems":{ "shape":"PageMaxItems", - "documentation":"

    The number of billing records to be returned.

    Type: Integer

    Default: 20

    Constraints: A value between 1 and 100.

    Required: No

    " + "documentation":"

    The number of billing records to be returned.

    Default: 20

    " } }, "documentation":"

    The ViewBilling request includes the following elements.

    " @@ -1786,11 +2082,11 @@ "members":{ "NextPageMarker":{ "shape":"PageMarker", - "documentation":"

    If there are more billing records than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    Type: String

    Parent: BillingRecords

    " + "documentation":"

    If there are more billing records than you specified for MaxItems in the request, submit another request and include the value of NextPageMarker in the value of Marker.

    " }, "BillingRecords":{ "shape":"BillingRecords", - "documentation":"

    A summary of billing records.

    Type: Complex type containing a list of billing record summaries.

    Children: DomainName, Operation, InvoiceId, BillDate and Price

    " + "documentation":"

    A summary of billing records.

    " } }, "documentation":"

    The ViewBilling response includes the following elements.

    " @@ -1799,5 +2095,6 @@ "type":"string", "max":255 } - } + }, + "documentation":"

    Amazon Route 53 API actions let you register domain names and perform related operations.

    " } diff -Nru python-botocore-1.4.70/botocore/data/route53resolver/2018-04-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/route53resolver/2018-04-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/route53resolver/2018-04-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53resolver/2018-04-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListTagsForResource": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tags" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/route53resolver/2018-04-01/service-2.json python-botocore-1.16.19+repack/botocore/data/route53resolver/2018-04-01/service-2.json --- python-botocore-1.4.70/botocore/data/route53resolver/2018-04-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/route53resolver/2018-04-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1615 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-04-01", + "endpointPrefix":"route53resolver", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Route53Resolver", + "serviceFullName":"Amazon Route 53 Resolver", + "serviceId":"Route53Resolver", + "signatureVersion":"v4", + "targetPrefix":"Route53Resolver", + "uid":"route53resolver-2018-04-01" + }, + "operations":{ + "AssociateResolverEndpointIpAddress":{ + "name":"AssociateResolverEndpointIpAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateResolverEndpointIpAddressRequest"}, + "output":{"shape":"AssociateResolverEndpointIpAddressResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"LimitExceededException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Adds IP addresses to an inbound or an outbound resolver endpoint. If you want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress request for each IP address.

    To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.

    " + }, + "AssociateResolverRule":{ + "name":"AssociateResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateResolverRuleRequest"}, + "output":{"shape":"AssociateResolverRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Associates a resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see CreateResolverRule.

    " + }, + "CreateResolverEndpoint":{ + "name":"CreateResolverEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResolverEndpointRequest"}, + "output":{"shape":"CreateResolverEndpointResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Creates a resolver endpoint. There are two types of resolver endpoints, inbound and outbound:

    • An inbound resolver endpoint forwards DNS queries to the DNS service for a VPC from your network or another VPC.

    • An outbound resolver endpoint forwards DNS queries from the DNS service for a VPC to your network or another VPC.

    " + }, + "CreateResolverRule":{ + "name":"CreateResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResolverRuleRequest"}, + "output":{"shape":"CreateResolverRuleResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    For DNS queries that originate in your VPCs, specifies which resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.

    " + }, + "DeleteResolverEndpoint":{ + "name":"DeleteResolverEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResolverEndpointRequest"}, + "output":{"shape":"DeleteResolverEndpointResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends on whether it's an inbound or an outbound resolver endpoint:

    • Inbound: DNS queries from your network or another VPC are no longer routed to the DNS service for the specified VPC.

    • Outbound: DNS queries from a VPC are no longer routed to your network or to another VPC.

    " + }, + "DeleteResolverRule":{ + "name":"DeleteResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResolverRuleRequest"}, + "output":{"shape":"DeleteResolverRuleResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Deletes a resolver rule. Before you can delete a resolver rule, you must disassociate it from all the VPCs that you associated the resolver rule with. For more infomation, see DisassociateResolverRule.

    " + }, + "DisassociateResolverEndpointIpAddress":{ + "name":"DisassociateResolverEndpointIpAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateResolverEndpointIpAddressRequest"}, + "output":{"shape":"DisassociateResolverEndpointIpAddressResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Removes IP addresses from an inbound or an outbound resolver endpoint. If you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress request for each IP address.

    To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.

    " + }, + "DisassociateResolverRule":{ + "name":"DisassociateResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateResolverRuleRequest"}, + "output":{"shape":"DisassociateResolverRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Removes the association between a specified resolver rule and a specified VPC.

    If you disassociate a resolver rule from a VPC, Resolver stops forwarding DNS queries for the domain name that you specified in the resolver rule.

    " + }, + "GetResolverEndpoint":{ + "name":"GetResolverEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResolverEndpointRequest"}, + "output":{"shape":"GetResolverEndpointResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets information about a specified resolver endpoint, such as whether it's an inbound or an outbound resolver endpoint, and the current status of the endpoint.

    " + }, + "GetResolverRule":{ + "name":"GetResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResolverRuleRequest"}, + "output":{"shape":"GetResolverRuleResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets information about a specified resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the outbound resolver endpoint that the rule is associated with.

    " + }, + "GetResolverRuleAssociation":{ + "name":"GetResolverRuleAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResolverRuleAssociationRequest"}, + "output":{"shape":"GetResolverRuleAssociationResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets information about an association between a specified resolver rule and a VPC. You associate a resolver rule and a VPC using AssociateResolverRule.

    " + }, + "GetResolverRulePolicy":{ + "name":"GetResolverRulePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResolverRulePolicyRequest"}, + "output":{"shape":"GetResolverRulePolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Gets information about a resolver rule policy. A resolver rule policy specifies the Resolver operations and resources that you want to allow another AWS account to be able to use.

    " + }, + "ListResolverEndpointIpAddresses":{ + "name":"ListResolverEndpointIpAddresses", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResolverEndpointIpAddressesRequest"}, + "output":{"shape":"ListResolverEndpointIpAddressesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the IP addresses for a specified resolver endpoint.

    " + }, + "ListResolverEndpoints":{ + "name":"ListResolverEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResolverEndpointsRequest"}, + "output":{"shape":"ListResolverEndpointsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Lists all the resolver endpoints that were created using the current AWS account.

    " + }, + "ListResolverRuleAssociations":{ + "name":"ListResolverRuleAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResolverRuleAssociationsRequest"}, + "output":{"shape":"ListResolverRuleAssociationsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Lists the associations that were created between resolver rules and VPCs using the current AWS account.

    " + }, + "ListResolverRules":{ + "name":"ListResolverRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResolverRulesRequest"}, + "output":{"shape":"ListResolverRulesResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Lists the resolver rules that were created using the current AWS account.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Lists the tags that you associated with the specified resource.

    " + }, + "PutResolverRulePolicy":{ + "name":"PutResolverRulePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResolverRulePolicyRequest"}, + "output":{"shape":"PutResolverRulePolicyResponse"}, + "errors":[ + {"shape":"InvalidPolicyDocument"}, + {"shape":"InvalidParameterException"}, + {"shape":"UnknownResourceException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Specifies the Resolver operations and resources that you want to allow another AWS account to be able to use.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidTagException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Adds one or more tags to a specified resource.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Removes one or more tags from a specified resource.

    " + }, + "UpdateResolverEndpoint":{ + "name":"UpdateResolverEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResolverEndpointRequest"}, + "output":{"shape":"UpdateResolverEndpointResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Updates the name of an inbound or an outbound resolver endpoint.

    " + }, + "UpdateResolverRule":{ + "name":"UpdateResolverRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResolverRuleRequest"}, + "output":{"shape":"UpdateResolverRuleResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceErrorException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Updates settings for a specified resolver rule. ResolverRuleId is required, and all other parameters are optional. If you don't specify a parameter, it retains its current value.

    " + } + }, + "shapes":{ + "AccountId":{ + "type":"string", + "max":32, + "min":12 + }, + "Arn":{ + "type":"string", + "max":255, + "min":1 + }, + "AssociateResolverEndpointIpAddressRequest":{ + "type":"structure", + "required":[ + "ResolverEndpointId", + "IpAddress" + ], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to associate IP addresses with.

    " + }, + "IpAddress":{ + "shape":"IpAddressUpdate", + "documentation":"

    Either the IPv4 address that you want to add to a resolver endpoint or a subnet ID. If you specify a subnet ID, Resolver chooses an IP address for you from the available IPs in the specified subnet.

    " + } + } + }, + "AssociateResolverEndpointIpAddressResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    The response to an AssociateResolverEndpointIpAddress request.

    " + } + } + }, + "AssociateResolverRuleRequest":{ + "type":"structure", + "required":[ + "ResolverRuleId", + "VPCId" + ], + "members":{ + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you want to associate with the VPC. To list the existing resolver rules, use ListResolverRules.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    A name for the association that you're creating between a resolver rule and a VPC.

    " + }, + "VPCId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the VPC that you want to associate the resolver rule with.

    " + } + } + }, + "AssociateResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRuleAssociation":{ + "shape":"ResolverRuleAssociation", + "documentation":"

    Information about the AssociateResolverRule request, including the status of the request.

    " + } + } + }, + "Boolean":{"type":"boolean"}, + "CreateResolverEndpointRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "SecurityGroupIds", + "Direction", + "IpAddresses" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound resolver endpoints) or outbound rules (for outbound resolver endpoints).

    ", + "box":true + }, + "Direction":{ + "shape":"ResolverEndpointDirection", + "documentation":"

    Specify the applicable value:

    • INBOUND: Resolver forwards DNS queries to the DNS service for a VPC from your network or another VPC

    • OUTBOUND: Resolver forwards DNS queries from the DNS service for a VPC to your network or another VPC

    " + }, + "IpAddresses":{ + "shape":"IpAddressesRequest", + "documentation":"

    The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound resolver endpoints).

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of the tag keys and values that you want to associate with the endpoint.

    ", + "box":true + } + } + }, + "CreateResolverEndpointResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    Information about the CreateResolverEndpoint request, including the status of the request.

    " + } + } + }, + "CreateResolverRuleRequest":{ + "type":"structure", + "required":[ + "CreatorRequestId", + "RuleType", + "DomainName" + ], + "members":{ + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

    " + }, + "RuleType":{ + "shape":"RuleTypeOption", + "documentation":"

    Specify FORWARD. Other resolver rule types aren't supported.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches multiple resolver rules (example.com and www.example.com), outbound DNS queries are routed using the resolver rule that contains the most specific domain name (www.example.com).

    " + }, + "TargetIps":{ + "shape":"TargetList", + "documentation":"

    The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a comma.

    ", + "box":true + }, + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

    ", + "box":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of the tag keys and values that you want to associate with the endpoint.

    ", + "box":true + } + } + }, + "CreateResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRule":{ + "shape":"ResolverRule", + "documentation":"

    Information about the CreateResolverRule request, including the status of the request.

    " + } + } + }, + "CreatorRequestId":{ + "type":"string", + "max":255, + "min":1 + }, + "DeleteResolverEndpointRequest":{ + "type":"structure", + "required":["ResolverEndpointId"], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to delete.

    " + } + } + }, + "DeleteResolverEndpointResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    Information about the DeleteResolverEndpoint request, including the status of the request.

    " + } + } + }, + "DeleteResolverRuleRequest":{ + "type":"structure", + "required":["ResolverRuleId"], + "members":{ + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you want to delete.

    " + } + } + }, + "DeleteResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRule":{ + "shape":"ResolverRule", + "documentation":"

    Information about the DeleteResolverRule request, including the status of the request.

    " + } + } + }, + "DisassociateResolverEndpointIpAddressRequest":{ + "type":"structure", + "required":[ + "ResolverEndpointId", + "IpAddress" + ], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to disassociate an IP address from.

    " + }, + "IpAddress":{ + "shape":"IpAddressUpdate", + "documentation":"

    The IPv4 address that you want to remove from a resolver endpoint.

    " + } + } + }, + "DisassociateResolverEndpointIpAddressResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    The response to an DisassociateResolverEndpointIpAddress request.

    " + } + } + }, + "DisassociateResolverRuleRequest":{ + "type":"structure", + "required":[ + "VPCId", + "ResolverRuleId" + ], + "members":{ + "VPCId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the VPC that you want to disassociate the resolver rule from.

    " + }, + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you want to disassociate from the specified VPC.

    " + } + } + }, + "DisassociateResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRuleAssociation":{ + "shape":"ResolverRuleAssociation", + "documentation":"

    Information about the DisassociateResolverRule request, including the status of the request.

    " + } + } + }, + "DomainName":{ + "type":"string", + "max":256, + "min":1 + }, + "ExceptionMessage":{"type":"string"}, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"

    When you're using a List operation and you want the operation to return a subset of objects, such as resolver endpoints or resolver rules, the name of the parameter that you want to use to filter objects. For example, to list only inbound resolver endpoints, specify Direction for the value of Name.

    " + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

    When you're using a List operation and you want the operation to return a subset of objects, such as resolver endpoints or resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound resolver endpoints, specify INBOUND for the value of Values.

    " + } + }, + "documentation":"

    For List operations, an optional specification to return a subset of objects, such as resolver endpoints or resolver rules.

    " + }, + "FilterName":{ + "type":"string", + "max":64, + "min":1 + }, + "FilterValue":{ + "type":"string", + "max":64, + "min":1 + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "GetResolverEndpointRequest":{ + "type":"structure", + "required":["ResolverEndpointId"], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to get information about.

    " + } + } + }, + "GetResolverEndpointResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    Information about the resolver endpoint that you specified in a GetResolverEndpoint request.

    " + } + } + }, + "GetResolverRuleAssociationRequest":{ + "type":"structure", + "required":["ResolverRuleAssociationId"], + "members":{ + "ResolverRuleAssociationId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule association that you want to get information about.

    " + } + } + }, + "GetResolverRuleAssociationResponse":{ + "type":"structure", + "members":{ + "ResolverRuleAssociation":{ + "shape":"ResolverRuleAssociation", + "documentation":"

    Information about the resolver rule association that you specified in a GetResolverRuleAssociation request.

    " + } + } + }, + "GetResolverRulePolicyRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The ID of the resolver rule policy that you want to get information about.

    " + } + } + }, + "GetResolverRulePolicyResponse":{ + "type":"structure", + "members":{ + "ResolverRulePolicy":{ + "shape":"ResolverRulePolicy", + "documentation":"

    Information about the resolver rule policy that you specified in a GetResolverRulePolicy request.

    " + } + } + }, + "GetResolverRuleRequest":{ + "type":"structure", + "required":["ResolverRuleId"], + "members":{ + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you want to get information about.

    " + } + } + }, + "GetResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRule":{ + "shape":"ResolverRule", + "documentation":"

    Information about the resolver rule that you specified in a GetResolverRule request.

    " + } + } + }, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    We encountered an unknown error. Try again in a few minutes.

    ", + "exception":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The value that you specified for NextToken in a List request isn't valid.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"ExceptionMessage"}, + "FieldName":{ + "shape":"String", + "documentation":"

    For an InvalidParameterException error, the name of the parameter that's invalid.

    " + } + }, + "documentation":"

    One or more parameters in this request are not valid.

    ", + "exception":true + }, + "InvalidPolicyDocument":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified resolver rule policy is invalid.

    ", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request is invalid.

    ", + "exception":true + }, + "InvalidTagException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified tag is invalid.

    ", + "exception":true + }, + "Ip":{ + "type":"string", + "max":36, + "min":7 + }, + "IpAddressCount":{"type":"integer"}, + "IpAddressRequest":{ + "type":"structure", + "required":["SubnetId"], + "members":{ + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

    The subnet that contains the IP address.

    " + }, + "Ip":{ + "shape":"Ip", + "documentation":"

    The IP address that you want to use for DNS queries.

    ", + "box":true + } + }, + "documentation":"

    In an CreateResolverEndpoint request, a subnet and IP address that you want to use for DNS queries.

    " + }, + "IpAddressResponse":{ + "type":"structure", + "members":{ + "IpId":{ + "shape":"ResourceId", + "documentation":"

    The ID of one IP address.

    " + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

    The ID of one subnet.

    " + }, + "Ip":{ + "shape":"Ip", + "documentation":"

    One IP address that the resolver endpoint uses for DNS queries.

    " + }, + "Status":{ + "shape":"IpAddressStatus", + "documentation":"

    A status code that gives the current status of the request.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A message that provides additional information about the status of the request.

    " + }, + "CreationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the IP address was created, in Unix time format and Coordinated Universal Time (UTC).

    " + }, + "ModificationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the IP address was last modified, in Unix time format and Coordinated Universal Time (UTC).

    " + } + }, + "documentation":"

    In the response to a GetResolverEndpoint request, information about the IP addresses that the resolver endpoint uses for DNS queries.

    " + }, + "IpAddressStatus":{ + "type":"string", + "enum":[ + "CREATING", + "FAILED_CREATION", + "ATTACHING", + "ATTACHED", + "REMAP_DETACHING", + "REMAP_ATTACHING", + "DETACHING", + "FAILED_RESOURCE_GONE", + "DELETING", + "DELETE_FAILED_FAS_EXPIRED" + ] + }, + "IpAddressUpdate":{ + "type":"structure", + "members":{ + "IpId":{ + "shape":"ResourceId", + "documentation":"

    Only when removing an IP address from a resolver endpoint: The ID of the IP address that you want to remove. To get this ID, use GetResolverEndpoint.

    ", + "box":true + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

    The ID of the subnet that includes the IP address that you want to update. To get this ID, use GetResolverEndpoint.

    ", + "box":true + }, + "Ip":{ + "shape":"Ip", + "documentation":"

    The new IP address.

    ", + "box":true + } + }, + "documentation":"

    In an UpdateResolverEndpoint request, information about an IP address to update.

    " + }, + "IpAddressesRequest":{ + "type":"list", + "member":{"shape":"IpAddressRequest"}, + "max":10, + "min":1 + }, + "IpAddressesResponse":{ + "type":"list", + "member":{"shape":"IpAddressResponse"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    For a LimitExceededException error, the type of resource that exceeded the current limit.

    " + } + }, + "documentation":"

    The request caused one or more limits to be exceeded.

    ", + "exception":true + }, + "ListResolverEndpointIpAddressesRequest":{ + "type":"structure", + "required":["ResolverEndpointId"], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to get IP addresses for.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of IP addresses that you want to return in the response to a ListResolverEndpointIpAddresses request. If you don't specify a value for MaxResults, Resolver returns up to 100 IP addresses.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListResolverEndpointIpAddresses request, omit this value.

    If the specified resolver endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response.

    ", + "box":true + } + } + }, + "ListResolverEndpointIpAddressesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the specified endpoint has more than MaxResults IP addresses, you can submit another ListResolverEndpointIpAddresses request to get the next group of IP addresses. In the next request, specify the value of NextToken from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The value that you specified for MaxResults in the request.

    " + }, + "IpAddresses":{ + "shape":"IpAddressesResponse", + "documentation":"

    The IP addresses that DNS queries pass through on their way to your network (outbound endpoint) or on the way to Resolver (inbound endpoint).

    " + } + } + }, + "ListResolverEndpointsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of resolver endpoints that you want to return in the response to a ListResolverEndpoints request. If you don't specify a value for MaxResults, Resolver returns up to 100 resolver endpoints.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListResolverEndpoints request, omit this value.

    If you have more than MaxResults resolver endpoints, you can submit another ListResolverEndpoints request to get the next group of resolver endpoints. In the next request, specify the value of NextToken from the previous response.

    ", + "box":true + }, + "Filters":{ + "shape":"Filters", + "documentation":"

    An optional specification to return a subset of resolver endpoints, such as all inbound resolver endpoints.

    If you submit a second or subsequent ListResolverEndpoints request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.

    ", + "box":true + } + } + }, + "ListResolverEndpointsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults IP addresses match the specified criteria, you can submit another ListResolverEndpoint request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The value that you specified for MaxResults in the request.

    " + }, + "ResolverEndpoints":{ + "shape":"ResolverEndpoints", + "documentation":"

    The resolver endpoints that were created by using the current AWS account, and that match the specified filters, if any.

    " + } + } + }, + "ListResolverRuleAssociationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of rule associations that you want to return in the response to a ListResolverRuleAssociations request. If you don't specify a value for MaxResults, Resolver returns up to 100 rule associations.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListResolverRuleAssociation request, omit this value.

    If you have more than MaxResults rule associations, you can submit another ListResolverRuleAssociation request to get the next group of rule associations. In the next request, specify the value of NextToken from the previous response.

    ", + "box":true + }, + "Filters":{ + "shape":"Filters", + "documentation":"

    An optional specification to return a subset of resolver rules, such as resolver rules that are associated with the same VPC ID.

    If you submit a second or subsequent ListResolverRuleAssociations request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.

    ", + "box":true + } + } + }, + "ListResolverRuleAssociationsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults rule associations match the specified criteria, you can submit another ListResolverRuleAssociation request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The value that you specified for MaxResults in the request.

    " + }, + "ResolverRuleAssociations":{ + "shape":"ResolverRuleAssociations", + "documentation":"

    The associations that were created between resolver rules and VPCs using the current AWS account, and that match the specified filters, if any.

    " + } + } + }, + "ListResolverRulesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of resolver rules that you want to return in the response to a ListResolverRules request. If you don't specify a value for MaxResults, Resolver returns up to 100 resolver rules.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListResolverRules request, omit this value.

    If you have more than MaxResults resolver rules, you can submit another ListResolverRules request to get the next group of resolver rules. In the next request, specify the value of NextToken from the previous response.

    ", + "box":true + }, + "Filters":{ + "shape":"Filters", + "documentation":"

    An optional specification to return a subset of resolver rules, such as all resolver rules that are associated with the same resolver endpoint.

    If you submit a second or subsequent ListResolverRules request and specify the NextToken parameter, you must use the same values for Filters, if any, as in the previous request.

    ", + "box":true + } + } + }, + "ListResolverRulesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults resolver rules match the specified criteria, you can submit another ListResolverRules request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The value that you specified for MaxResults in the request.

    " + }, + "ResolverRules":{ + "shape":"ResolverRules", + "documentation":"

    The resolver rules that were created using the current AWS account and that match the specified filters, if any.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the resource that you want to list tags for.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of tags that you want to return in the response to a ListTagsForResource request. If you don't specify a value for MaxResults, Resolver returns up to 100 tags.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListTagsForResource request, omit this value.

    If you have more than MaxResults tags, you can submit another ListTagsForResource request to get the next group of tags for the resource. In the next request, specify the value of NextToken from the previous response.

    ", + "box":true + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags that are associated with the resource that you specified in the ListTagsForResource request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults tags match the specified criteria, you can submit another ListTagsForResource request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Name":{ + "type":"string", + "max":64, + "pattern":"(?!^[0-9]+$)([a-zA-Z0-9-_' ']+)" + }, + "NextToken":{"type":"string"}, + "Port":{ + "type":"integer", + "max":65535, + "min":0 + }, + "PutResolverRulePolicyRequest":{ + "type":"structure", + "required":[ + "Arn", + "ResolverRulePolicy" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the account that you want to grant permissions to.

    " + }, + "ResolverRulePolicy":{ + "shape":"ResolverRulePolicy", + "documentation":"

    An AWS Identity and Access Management policy statement that lists the permissions that you want to grant to another AWS account.

    " + } + } + }, + "PutResolverRulePolicyResponse":{ + "type":"structure", + "members":{ + "ReturnValue":{ + "shape":"Boolean", + "documentation":"

    Whether the PutResolverRulePolicy request was successful.

    " + } + }, + "documentation":"

    The response to a PutResolverRulePolicy request.

    " + }, + "ResolverEndpoint":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint.

    " + }, + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that identifies the request that created the resolver endpoint. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The ARN (Amazon Resource Name) for the resolver endpoint.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    The name that you assigned to the resolver endpoint when you submitted a CreateResolverEndpoint request.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The ID of one or more security groups that control access to this VPC. The security group must include one or more inbound resolver rules.

    " + }, + "Direction":{ + "shape":"ResolverEndpointDirection", + "documentation":"

    Indicates whether the resolver endpoint allows inbound or outbound DNS queries:

    • INBOUND: allows DNS queries to your VPC from your network or another VPC

    • OUTBOUND: allows DNS queries from your VPC to your network or another VPC

    " + }, + "IpAddressCount":{ + "shape":"IpAddressCount", + "documentation":"

    The number of IP addresses that the resolver endpoint can use for DNS queries.

    " + }, + "HostVPCId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the VPC that you want to create the resolver endpoint in.

    " + }, + "Status":{ + "shape":"ResolverEndpointStatus", + "documentation":"

    A code that specifies the current status of the resolver endpoint.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A detailed description of the status of the resolver endpoint.

    " + }, + "CreationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the endpoint was created, in Unix time format and Coordinated Universal Time (UTC).

    " + }, + "ModificationTime":{ + "shape":"Rfc3339TimeString", + "documentation":"

    The date and time that the endpoint was last modified, in Unix time format and Coordinated Universal Time (UTC).

    " + } + }, + "documentation":"

    In the response to a CreateResolverEndpoint, DeleteResolverEndpoint, GetResolverEndpoint, ListResolverEndpoints, or UpdateResolverEndpoint request, a complex type that contains settings for an existing inbound or outbound resolver endpoint.

    " + }, + "ResolverEndpointDirection":{ + "type":"string", + "enum":[ + "INBOUND", + "OUTBOUND" + ] + }, + "ResolverEndpointStatus":{ + "type":"string", + "enum":[ + "CREATING", + "OPERATIONAL", + "UPDATING", + "AUTO_RECOVERING", + "ACTION_NEEDED", + "DELETING" + ] + }, + "ResolverEndpoints":{ + "type":"list", + "member":{"shape":"ResolverEndpoint"} + }, + "ResolverRule":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID that Resolver assigned to the resolver rule when you created it.

    " + }, + "CreatorRequestId":{ + "shape":"CreatorRequestId", + "documentation":"

    A unique string that you specified when you created the resolver rule. CreatorRequestIdidentifies the request and allows failed requests to be retried without the risk of executing the operation twice.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The ARN (Amazon Resource Name) for the resolver rule specified by Id.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple resolver rules (example.com and www.example.com), the query is routed using the resolver rule that contains the most specific domain name (www.example.com).

    " + }, + "Status":{ + "shape":"ResolverRuleStatus", + "documentation":"

    A code that specifies the current status of the resolver rule.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A detailed description of the status of a resolver rule.

    " + }, + "RuleType":{ + "shape":"RuleTypeOption", + "documentation":"

    This value is always FORWARD. Other resolver rule types aren't supported.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    The name for the resolver rule, which you specified when you created the resolver rule.

    " + }, + "TargetIps":{ + "shape":"TargetList", + "documentation":"

    An array that contains the IP addresses and ports that you want to forward

    " + }, + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the endpoint that the rule is associated with.

    " + }, + "OwnerId":{ + "shape":"AccountId", + "documentation":"

    When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

    " + }, + "ShareStatus":{ + "shape":"ShareStatus", + "documentation":"

    Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

    " + } + }, + "documentation":"

    For queries that originate in your VPC, detailed information about a resolver rule, which specifies how to route DNS queries out of the VPC. The ResolverRule parameter appears in the response to a CreateResolverRule, DeleteResolverRule, GetResolverRule, ListResolverRules, or UpdateResolverRule request.

    " + }, + "ResolverRuleAssociation":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the association between a resolver rule and a VPC. Resolver assigns this value when you submit an AssociateResolverRule request.

    " + }, + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you associated with the VPC that is specified by VPCId.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    The name of an association between a resolver rule and a VPC.

    " + }, + "VPCId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the VPC that you associated the resolver rule with.

    " + }, + "Status":{ + "shape":"ResolverRuleAssociationStatus", + "documentation":"

    A code that specifies the current status of the association between a resolver rule and a VPC.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A detailed description of the status of the association between a resolver rule and a VPC.

    " + } + }, + "documentation":"

    In the response to an AssociateResolverRule, DisassociateResolverRule, or ListResolverRuleAssociations request, information about an association between a resolver rule and a VPC.

    " + }, + "ResolverRuleAssociationStatus":{ + "type":"string", + "enum":[ + "CREATING", + "COMPLETE", + "DELETING", + "FAILED", + "OVERRIDDEN" + ] + }, + "ResolverRuleAssociations":{ + "type":"list", + "member":{"shape":"ResolverRuleAssociation"} + }, + "ResolverRuleConfig":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"Name", + "documentation":"

    The new name for the resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.

    " + }, + "TargetIps":{ + "shape":"TargetList", + "documentation":"

    For DNS queries that originate in your VPC, the new IP addresses that you want to route outbound DNS queries to.

    " + }, + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the new outbound resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

    " + } + }, + "documentation":"

    In an UpdateResolverRule request, information about the changes that you want to make.

    " + }, + "ResolverRulePolicy":{ + "type":"string", + "max":5000 + }, + "ResolverRuleStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "DELETING", + "UPDATING", + "FAILED" + ] + }, + "ResolverRules":{ + "type":"list", + "member":{"shape":"ResolverRule"} + }, + "ResourceExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    For a ResourceExistsException error, the type of resource that the error applies to.

    " + } + }, + "documentation":"

    The resource that you tried to create already exists.

    ", + "exception":true + }, + "ResourceId":{ + "type":"string", + "max":64, + "min":1 + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    For a ResourceInUseException error, the type of resource that is currently in use.

    " + } + }, + "documentation":"

    The resource that you tried to update or delete is currently in use.

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    For a ResourceNotFoundException error, the type of resource that doesn't exist.

    " + } + }, + "documentation":"

    The specified resource doesn't exist.

    ", + "exception":true + }, + "ResourceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    For a ResourceUnavailableException error, the type of resource that isn't available.

    " + } + }, + "documentation":"

    The specified resource isn't available.

    ", + "exception":true + }, + "Rfc3339TimeString":{ + "type":"string", + "max":40, + "min":20 + }, + "RuleTypeOption":{ + "type":"string", + "enum":[ + "FORWARD", + "SYSTEM", + "RECURSIVE" + ] + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"ResourceId"} + }, + "ShareStatus":{ + "type":"string", + "enum":[ + "NOT_SHARED", + "SHARED_WITH_ME", + "SHARED_BY_ME" + ] + }, + "StatusMessage":{ + "type":"string", + "max":255 + }, + "String":{"type":"string"}, + "SubnetId":{ + "type":"string", + "max":32, + "min":1 + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, the value of Key might be account-id.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The value for the tag. For example, if Key is account-id, then Value might be the ID of the customer account that you're creating the resource for.

    " + } + }, + "documentation":"

    One tag that you want to add to the specified resource. A tag consists of a Key (a name for the tag) and a Value.

    " + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the resource that you want to add tags to. To get the ARN for a resource, use the applicable Get or List command:

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags that you want to add to the specified resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "TargetAddress":{ + "type":"structure", + "required":["Ip"], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

    " + }, + "Port":{ + "shape":"Port", + "documentation":"

    The port at Ip that you want to forward DNS queries to.

    ", + "box":true + } + }, + "documentation":"

    In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

    " + }, + "TargetList":{ + "type":"list", + "member":{"shape":"TargetAddress"}, + "min":1 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request was throttled. Try again in a few minutes.

    ", + "exception":true + }, + "UnknownResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified resource doesn't exist.

    ", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the resource that you want to remove tags from. To get the ARN for a resource, use the applicable Get or List command:

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tags that you want to remove to the specified resource.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateResolverEndpointRequest":{ + "type":"structure", + "required":["ResolverEndpointId"], + "members":{ + "ResolverEndpointId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver endpoint that you want to update.

    " + }, + "Name":{ + "shape":"Name", + "documentation":"

    The name of the resolver endpoint that you want to update.

    ", + "box":true + } + } + }, + "UpdateResolverEndpointResponse":{ + "type":"structure", + "members":{ + "ResolverEndpoint":{ + "shape":"ResolverEndpoint", + "documentation":"

    The response to an UpdateResolverEndpoint request.

    " + } + } + }, + "UpdateResolverRuleRequest":{ + "type":"structure", + "required":[ + "ResolverRuleId", + "Config" + ], + "members":{ + "ResolverRuleId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resolver rule that you want to update.

    " + }, + "Config":{ + "shape":"ResolverRuleConfig", + "documentation":"

    The new settings for the resolver rule.

    " + } + } + }, + "UpdateResolverRuleResponse":{ + "type":"structure", + "members":{ + "ResolverRule":{ + "shape":"ResolverRule", + "documentation":"

    The response to an UpdateResolverRule request.

    " + } + } + } + }, + "documentation":"

    Here's how you set up to query an Amazon Route 53 private hosted zone from your network:

    1. Connect your network to a VPC using AWS Direct Connect or a VPN.

    2. Run the following AWS CLI command to create a Resolver endpoint:

      create-resolver-endpoint --name [endpoint_name] --direction INBOUND --creator-request-id [unique_string] --security-group-ids [security_group_with_inbound_rules] --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ]

      Note the resolver endpoint ID that appears in the response. You'll use it in step 3.

    3. Get the IP addresses for the Resolver endpoints:

      get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id]

    4. In your network configuration, define the IP addresses that you got in step 3 as DNS servers.

      You can now query instance names in your VPCs and the names of records in your private hosted zone.

    You can also perform the following operations using the AWS CLI:

    • list-resolver-endpoints: List all endpoints. The syntax includes options for pagination and filtering.

    • update-resolver-endpoints: Add IP addresses to an endpoint or remove IP addresses from an endpoint.

    To delete an endpoint, use the following AWS CLI command:

    delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id]

    " +} diff -Nru python-botocore-1.4.70/botocore/data/s3/2006-03-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/examples-1.json --- python-botocore-1.4.70/botocore/data/s3/2006-03-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1843 @@ +{ + "version": "1.0", + "examples": { + "AbortMultipartUpload": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "bigobject", + "UploadId": "xadcOB_7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example aborts a multipart upload.", + "id": "to-abort-a-multipart-upload-1481853354987", + "title": "To abort a multipart upload" + } + ], + "CompleteMultipartUpload": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "bigobject", + "MultipartUpload": { + "Parts": [ + { + "ETag": "\"d8c2eafd90c266e19ab9dcacc479f8af\"", + "PartNumber": "1" + }, + { + "ETag": "\"d8c2eafd90c266e19ab9dcacc479f8af\"", + "PartNumber": "2" + } + ] + }, + "UploadId": "7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--" + }, + "output": { + "Bucket": "acexamplebucket", + "ETag": "\"4d9031c7644d8081c2829f4ea23c55f7-2\"", + "Key": "bigobject", + "Location": "https://examplebucket.s3.amazonaws.com/bigobject" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example completes a multipart upload.", + "id": "to-complete-multipart-upload-1481851590483", + "title": "To complete multipart upload" + } + ], + "CopyObject": [ + { + "input": { + "Bucket": "destinationbucket", + "CopySource": "/sourcebucket/HappyFacejpg", + "Key": "HappyFaceCopyjpg" + }, + "output": { + "CopyObjectResult": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "2016-12-15T17:38:53.000Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example copies an object from one bucket to another.", + "id": "to-copy-an-object-1481823186878", + "title": "To copy an object" + } + ], + "CreateBucket": [ + { + "input": { + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } + }, + "output": { + "Location": "http://examplebucket.s3.amazonaws.com/" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" + }, + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "Location": "/examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " + } + ], + "CreateMultipartUpload": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "largeobject" + }, + "output": { + "Bucket": "examplebucket", + "Key": "largeobject", + "UploadId": "ibZBv_75gd9r8lH_gqXatLdxMVpAlj6ZQjEs.OwyF3953YdwbcQnMA2BLGn8Lx12fQNICtMw5KyteFeHw.Sjng--" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example initiates a multipart upload.", + "id": "to-initiate-a-multipart-upload-1481836794513", + "title": "To initiate a multipart upload" + } + ], + "DeleteBucket": [ + { + "input": { + "Bucket": "forrandall2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes the specified bucket.", + "id": "to-delete-a-bucket-1473108514262", + "title": "To delete a bucket" + } + ], + "DeleteBucketCors": [ + { + "input": { + "Bucket": "examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes CORS configuration on a bucket.", + "id": "to-delete-cors-configuration-on-a-bucket-1483042856112", + "title": "To delete cors configuration on a bucket." + } + ], + "DeleteBucketLifecycle": [ + { + "input": { + "Bucket": "examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes lifecycle configuration on a bucket.", + "id": "to-delete-lifecycle-configuration-on-a-bucket-1483043310583", + "title": "To delete lifecycle configuration on a bucket." + } + ], + "DeleteBucketPolicy": [ + { + "input": { + "Bucket": "examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes bucket policy on the specified bucket.", + "id": "to-delete-bucket-policy-1483043406577", + "title": "To delete bucket policy" + } + ], + "DeleteBucketReplication": [ + { + "input": { + "Bucket": "example" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes replication configuration set on bucket.", + "id": "to-delete-bucket-replication-configuration-1483043684668", + "title": "To delete bucket replication configuration" + } + ], + "DeleteBucketTagging": [ + { + "input": { + "Bucket": "examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes bucket tags.", + "id": "to-delete-bucket-tags-1483043846509", + "title": "To delete bucket tags" + } + ], + "DeleteBucketWebsite": [ + { + "input": { + "Bucket": "examplebucket" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes bucket website configuration.", + "id": "to-delete-bucket-website-configuration-1483043937825", + "title": "To delete bucket website configuration" + } + ], + "DeleteObject": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "objectkey.jpg" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an object from an S3 bucket.", + "id": "to-delete-an-object-1472850136595", + "title": "To delete an object" + }, + { + "input": { + "Bucket": "ExampleBucket", + "Key": "HappyFace.jpg" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an object from a non-versioned bucket.", + "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", + "title": "To delete an object (from a non-versioned bucket)" + } + ], + "DeleteObjectTagging": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + }, + "output": { + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "id": "to-remove-tag-set-from-an-object-version-1483145285913", + "title": "To remove tag set from an object version" + }, + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "id": "to-remove-tag-set-from-an-object-1483145342862", + "title": "To remove tag set from an object" + } + ], + "DeleteObjects": [ + { + "input": { + "Bucket": "examplebucket", + "Delete": { + "Objects": [ + { + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + }, + { + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + } + ], + "Quiet": false + } + }, + "output": { + "Deleted": [ + { + "Key": "HappyFace.jpg", + "VersionId": "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd" + }, + { + "Key": "HappyFace.jpg", + "VersionId": "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.", + "id": "to-delete-multiple-object-versions-from-a-versioned-bucket-1483147087737", + "title": "To delete multiple object versions from a versioned bucket" + }, + { + "input": { + "Bucket": "examplebucket", + "Delete": { + "Objects": [ + { + "Key": "objectkey1" + }, + { + "Key": "objectkey2" + } + ], + "Quiet": false + } + }, + "output": { + "Deleted": [ + { + "DeleteMarker": "true", + "DeleteMarkerVersionId": "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F", + "Key": "objectkey1" + }, + { + "DeleteMarker": "true", + "DeleteMarkerVersionId": "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt", + "Key": "objectkey2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.", + "id": "to-delete-multiple-objects-from-a-versioned-bucket-1483146248805", + "title": "To delete multiple objects from a versioned bucket" + } + ], + "GetBucketCors": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "CORSRules": [ + { + "AllowedHeaders": [ + "Authorization" + ], + "AllowedMethods": [ + "GET" + ], + "AllowedOrigins": [ + "*" + ], + "MaxAgeSeconds": 3000 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns cross-origin resource sharing (CORS) configuration set on a bucket.", + "id": "to-get-cors-configuration-set-on-a-bucket-1481596855475", + "title": "To get cors configuration set on a bucket" + } + ], + "GetBucketLifecycle": [ + { + "input": { + "Bucket": "acl1" + }, + "output": { + "Rules": [ + { + "Expiration": { + "Days": 1 + }, + "ID": "delete logs", + "Prefix": "123/", + "Status": "Enabled" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example gets ACL on the specified bucket.", + "id": "to-get-a-bucket-acl-1474413606503", + "title": "To get a bucket acl" + } + ], + "GetBucketLifecycleConfiguration": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "Rules": [ + { + "ID": "Rule for TaxDocs/", + "Prefix": "TaxDocs", + "Status": "Enabled", + "Transitions": [ + { + "Days": 365, + "StorageClass": "STANDARD_IA" + } + ] + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves lifecycle configuration on set on a bucket. ", + "id": "to-get-lifecycle-configuration-on-a-bucket-1481666063200", + "title": "To get lifecycle configuration on a bucket" + } + ], + "GetBucketLocation": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "LocationConstraint": "us-west-2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns bucket location.", + "id": "to-get-bucket-location-1481594573609", + "title": "To get bucket location" + } + ], + "GetBucketNotification": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "QueueConfiguration": { + "Event": "s3:ObjectCreated:Put", + "Events": [ + "s3:ObjectCreated:Put" + ], + "Id": "MDQ2OGQ4NDEtOTBmNi00YTM4LTk0NzYtZDIwN2I3NWQ1NjIx", + "Queue": "arn:aws:sqs:us-east-1:acct-id:S3ObjectCreatedEventQueue" + }, + "TopicConfiguration": { + "Event": "s3:ObjectCreated:Copy", + "Events": [ + "s3:ObjectCreated:Copy" + ], + "Id": "YTVkMWEzZGUtNTY1NS00ZmE2LWJjYjktMmRlY2QwODFkNTJi", + "Topic": "arn:aws:sns:us-east-1:acct-id:S3ObjectCreatedEventTopic" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns notification configuration set on a bucket.", + "id": "to-get-notification-configuration-set-on-a-bucket-1481594028667", + "title": "To get notification configuration set on a bucket" + }, + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "QueueConfiguration": { + "Event": "s3:ObjectCreated:Put", + "Events": [ + "s3:ObjectCreated:Put" + ], + "Id": "MDQ2OGQ4NDEtOTBmNi00YTM4LTk0NzYtZDIwN2I3NWQ1NjIx", + "Queue": "arn:aws:sqs:us-east-1:acct-id:S3ObjectCreatedEventQueue" + }, + "TopicConfiguration": { + "Event": "s3:ObjectCreated:Copy", + "Events": [ + "s3:ObjectCreated:Copy" + ], + "Id": "YTVkMWEzZGUtNTY1NS00ZmE2LWJjYjktMmRlY2QwODFkNTJi", + "Topic": "arn:aws:sns:us-east-1:acct-id:S3ObjectCreatedEventTopic" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns notification configuration set on a bucket.", + "id": "to-get-notification-configuration-set-on-a-bucket-1481594028667", + "title": "To get notification configuration set on a bucket" + } + ], + "GetBucketPolicy": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "Policy": "{\"Version\":\"2008-10-17\",\"Id\":\"LogPolicy\",\"Statement\":[{\"Sid\":\"Enables the log delivery group to publish logs to your bucket \",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"111122223333\"},\"Action\":[\"s3:GetBucketAcl\",\"s3:GetObjectAcl\",\"s3:PutObject\"],\"Resource\":[\"arn:aws:s3:::policytest1/*\",\"arn:aws:s3:::policytest1\"]}]}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns bucket policy associated with a bucket.", + "id": "to-get-bucket-policy-1481595098424", + "title": "To get bucket policy" + } + ], + "GetBucketReplication": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "ReplicationConfiguration": { + "Role": "arn:aws:iam::acct-id:role/example-role", + "Rules": [ + { + "Destination": { + "Bucket": "arn:aws:s3:::destination-bucket" + }, + "ID": "MWIwNTkwZmItMTE3MS00ZTc3LWJkZDEtNzRmODQwYzc1OTQy", + "Prefix": "Tax", + "Status": "Enabled" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns replication configuration set on a bucket.", + "id": "to-get-replication-configuration-set-on-a-bucket-1481593597175", + "title": "To get replication configuration set on a bucket" + } + ], + "GetBucketRequestPayment": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "Payer": "BucketOwner" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves bucket versioning configuration.", + "id": "to-get-bucket-versioning-configuration-1483037183929", + "title": "To get bucket versioning configuration" + } + ], + "GetBucketTagging": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "TagSet": [ + { + "Key": "key1", + "Value": "value1" + }, + { + "Key": "key2", + "Value": "value2" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns tag set associated with a bucket", + "id": "to-get-tag-set-associated-with-a-bucket-1481593232107", + "title": "To get tag set associated with a bucket" + } + ], + "GetBucketVersioning": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "MFADelete": "Disabled", + "Status": "Enabled" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves bucket versioning configuration.", + "id": "to-get-bucket-versioning-configuration-1483037183929", + "title": "To get bucket versioning configuration" + } + ], + "GetBucketWebsite": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "ErrorDocument": { + "Key": "error.html" + }, + "IndexDocument": { + "Suffix": "index.html" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves website configuration of a bucket.", + "id": "to-get-bucket-website-configuration-1483037016926", + "title": "To get bucket website configuration" + } + ], + "GetObject": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "AcceptRanges": "bytes", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "Metadata": { + }, + "TagCount": 2, + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves an object for an S3 bucket.", + "id": "to-retrieve-an-object-1481827837012", + "title": "To retrieve an object" + }, + { + "input": { + "Bucket": "examplebucket", + "Key": "SampleFile.txt", + "Range": "bytes=0-9" + }, + "output": { + "AcceptRanges": "bytes", + "ContentLength": "10", + "ContentRange": "bytes 0-9/43", + "ContentType": "text/plain", + "ETag": "\"0d94420ffd0bc68cd3d152506b97a9cc\"", + "LastModified": "Thu, 09 Oct 2014 22:57:28 GMT", + "Metadata": { + }, + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a specific byte range.", + "id": "to-retrieve-a-byte-range-of-an-object--1481832674603", + "title": "To retrieve a byte range of an object " + } + ], + "GetObjectAcl": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "Grants": [ + { + "Grantee": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc", + "Type": "CanonicalUser" + }, + "Permission": "WRITE" + }, + { + "Grantee": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc", + "Type": "CanonicalUser" + }, + "Permission": "WRITE_ACP" + }, + { + "Grantee": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc", + "Type": "CanonicalUser" + }, + "Permission": "READ" + }, + { + "Grantee": { + "DisplayName": "owner-display-name", + "ID": "852b113eexamplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc", + "Type": "CanonicalUser" + }, + "Permission": "READ_ACP" + } + ], + "Owner": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves access control list (ACL) of an object.", + "id": "to-retrieve-object-acl-1481833557740", + "title": "To retrieve object ACL" + } + ], + "GetObjectTagging": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "TagSet": [ + { + "Key": "Key4", + "Value": "Value4" + }, + { + "Key": "Key3", + "Value": "Value3" + } + ], + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves tag set of an object.", + "id": "to-retrieve-tag-set-of-an-object-1481833847896", + "title": "To retrieve tag set of an object" + }, + { + "input": { + "Bucket": "examplebucket", + "Key": "exampleobject", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + }, + "output": { + "TagSet": [ + { + "Key": "Key1", + "Value": "Value1" + } + ], + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves tag set of an object. The request specifies object version.", + "id": "to-retrieve-tag-set-of-a-specific-object-version-1483400283663", + "title": "To retrieve tag set of a specific object version" + } + ], + "GetObjectTorrent": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves torrent files of an object.", + "id": "to-retrieve-torrent-files-for-an-object-1481834115959", + "title": "To retrieve torrent files for an object" + } + ], + "HeadBucket": [ + { + "input": { + "Bucket": "acl1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation checks to see if a bucket exists.", + "id": "to-determine-if-bucket-exists-1473110292262", + "title": "To determine if bucket exists" + } + ], + "HeadObject": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "AcceptRanges": "bytes", + "ContentLength": "3191", + "ContentType": "image/jpeg", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "LastModified": "Thu, 15 Dec 2016 01:19:41 GMT", + "Metadata": { + }, + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves an object metadata.", + "id": "to-retrieve-metadata-of-an-object-without-returning-the-object-itself-1481834820480", + "title": "To retrieve metadata of an object without returning the object itself" + } + ], + "ListMultipartUploads": [ + { + "input": { + "Bucket": "examplebucket" + }, + "output": { + "Uploads": [ + { + "Initiated": "2014-05-01T05:40:58.000Z", + "Initiator": { + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Key": "JavaFile", + "Owner": { + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "StorageClass": "STANDARD", + "UploadId": "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + }, + { + "Initiated": "2014-05-01T05:41:27.000Z", + "Initiator": { + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Key": "JavaFile", + "Owner": { + "DisplayName": "display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "StorageClass": "STANDARD", + "UploadId": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists in-progress multipart uploads on a specific bucket.", + "id": "to-list-in-progress-multipart-uploads-on-a-bucket-1481852775260", + "title": "To list in-progress multipart uploads on a bucket" + }, + { + "input": { + "Bucket": "examplebucket", + "KeyMarker": "nextkeyfrompreviousresponse", + "MaxUploads": "2", + "UploadIdMarker": "valuefrompreviousresponse" + }, + "output": { + "Bucket": "acl1", + "IsTruncated": true, + "KeyMarker": "", + "MaxUploads": "2", + "NextKeyMarker": "someobjectkey", + "NextUploadIdMarker": "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--", + "UploadIdMarker": "", + "Uploads": [ + { + "Initiated": "2014-05-01T05:40:58.000Z", + "Initiator": { + "DisplayName": "ownder-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Key": "JavaFile", + "Owner": { + "DisplayName": "mohanataws", + "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "StorageClass": "STANDARD", + "UploadId": "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--" + }, + { + "Initiated": "2014-05-01T05:41:27.000Z", + "Initiator": { + "DisplayName": "ownder-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Key": "JavaFile", + "Owner": { + "DisplayName": "ownder-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "StorageClass": "STANDARD", + "UploadId": "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next setup of multipart uploads.", + "id": "list-next-set-of-multipart-uploads-when-previous-result-is-truncated-1482428106748", + "title": "List next set of multipart uploads when previous result is truncated" + } + ], + "ListObjectVersions": [ + { + "input": { + "Bucket": "examplebucket", + "Prefix": "HappyFace.jpg" + }, + "output": { + "Versions": [ + { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "IsLatest": true, + "Key": "HappyFace.jpg", + "LastModified": "2016-12-15T01:19:41.000Z", + "Owner": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Size": 3191, + "StorageClass": "STANDARD", + "VersionId": "null" + }, + { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "IsLatest": false, + "Key": "HappyFace.jpg", + "LastModified": "2016-12-13T00:58:26.000Z", + "Owner": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Size": 3191, + "StorageClass": "STANDARD", + "VersionId": "PHtexPGjH2y.zBgT8LmB7wwLI2mpbz.k" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example return versions of an object with specific key name prefix. The request limits the number of items returned to two. If there are are more than two object version, S3 returns NextToken in the response. You can specify this token value in your next request to fetch next set of object versions.", + "id": "to-list-object-versions-1481910996058", + "title": "To list object versions" + } + ], + "ListObjects": [ + { + "input": { + "Bucket": "examplebucket", + "MaxKeys": "2" + }, + "output": { + "Contents": [ + { + "ETag": "\"70ee1738b6b21e2c8a43f3a5ab0eee71\"", + "Key": "example1.jpg", + "LastModified": "2014-11-21T19:40:05.000Z", + "Owner": { + "DisplayName": "myname", + "ID": "12345example25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Size": 11, + "StorageClass": "STANDARD" + }, + { + "ETag": "\"9c8af9a76df052144598c115ef33e511\"", + "Key": "example2.jpg", + "LastModified": "2013-11-15T01:10:49.000Z", + "Owner": { + "DisplayName": "myname", + "ID": "12345example25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Size": 713193, + "StorageClass": "STANDARD" + } + ], + "NextMarker": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAyfQ==" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example list two objects in a bucket.", + "id": "to-list-objects-in-a-bucket-1473447646507", + "title": "To list objects in a bucket" + } + ], + "ListObjectsV2": [ + { + "input": { + "Bucket": "examplebucket", + "MaxKeys": "2" + }, + "output": { + "Contents": [ + { + "ETag": "\"70ee1738b6b21e2c8a43f3a5ab0eee71\"", + "Key": "happyface.jpg", + "LastModified": "2014-11-21T19:40:05.000Z", + "Size": 11, + "StorageClass": "STANDARD" + }, + { + "ETag": "\"becf17f89c30367a9a44495d62ed521a-1\"", + "Key": "test.jpg", + "LastModified": "2014-05-02T04:51:50.000Z", + "Size": 4192256, + "StorageClass": "STANDARD" + } + ], + "IsTruncated": true, + "KeyCount": "2", + "MaxKeys": "2", + "Name": "examplebucket", + "NextContinuationToken": "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==", + "Prefix": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves object list. The request specifies max keys to limit response to include only 2 object keys. ", + "id": "to-get-object-list", + "title": "To get object list" + } + ], + "ListParts": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "bigobject", + "UploadId": "example7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--" + }, + "output": { + "Initiator": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Owner": { + "DisplayName": "owner-display-name", + "ID": "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc" + }, + "Parts": [ + { + "ETag": "\"d8c2eafd90c266e19ab9dcacc479f8af\"", + "LastModified": "2016-12-16T00:11:42.000Z", + "PartNumber": "1", + "Size": 26246026 + }, + { + "ETag": "\"d8c2eafd90c266e19ab9dcacc479f8af\"", + "LastModified": "2016-12-16T00:15:01.000Z", + "PartNumber": "2", + "Size": 26246026 + } + ], + "StorageClass": "STANDARD" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists parts uploaded for a specific multipart upload.", + "id": "to-list-parts-of-a-multipart-upload-1481852006923", + "title": "To list parts of a multipart upload." + } + ], + "PutBucketAcl": [ + { + "input": { + "Bucket": "examplebucket", + "GrantFullControl": "id=examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484", + "GrantWrite": "uri=http://acs.amazonaws.com/groups/s3/LogDelivery" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example replaces existing ACL on a bucket. The ACL grants the bucket owner (specified using the owner ID) and write permission to the LogDelivery group. Because this is a replace operation, you must specify all the grants in your request. To incrementally add or remove ACL grants, you might use the console.", + "id": "put-bucket-acl-1482260397033", + "title": "Put bucket acl" + } + ], + "PutBucketCors": [ + { + "input": { + "Bucket": "", + "CORSConfiguration": { + "CORSRules": [ + { + "AllowedHeaders": [ + "*" + ], + "AllowedMethods": [ + "PUT", + "POST", + "DELETE" + ], + "AllowedOrigins": [ + "http://www.example.com" + ], + "ExposeHeaders": [ + "x-amz-server-side-encryption" + ], + "MaxAgeSeconds": 3000 + }, + { + "AllowedHeaders": [ + "Authorization" + ], + "AllowedMethods": [ + "GET" + ], + "AllowedOrigins": [ + "*" + ], + "MaxAgeSeconds": 3000 + } + ] + }, + "ContentMD5": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example enables PUT, POST, and DELETE requests from www.example.com, and enables GET requests from any domain.", + "id": "to-set-cors-configuration-on-a-bucket-1483037818805", + "title": "To set cors configuration on a bucket." + } + ], + "PutBucketLifecycleConfiguration": [ + { + "input": { + "Bucket": "examplebucket", + "LifecycleConfiguration": { + "Rules": [ + { + "Expiration": { + "Days": 3650 + }, + "Filter": { + "Prefix": "documents/" + }, + "ID": "TestOnly", + "Status": "Enabled", + "Transitions": [ + { + "Days": 365, + "StorageClass": "GLACIER" + } + ] + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example replaces existing lifecycle configuration, if any, on the specified bucket. ", + "id": "put-bucket-lifecycle-1482264533092", + "title": "Put bucket lifecycle" + } + ], + "PutBucketLogging": [ + { + "input": { + "Bucket": "sourcebucket", + "BucketLoggingStatus": { + "LoggingEnabled": { + "TargetBucket": "targetbucket", + "TargetGrants": [ + { + "Grantee": { + "Type": "Group", + "URI": "http://acs.amazonaws.com/groups/global/AllUsers" + }, + "Permission": "READ" + } + ], + "TargetPrefix": "MyBucketLogs/" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets logging policy on a bucket. For the Log Delivery group to deliver logs to the destination bucket, it needs permission for the READ_ACP action which the policy grants.", + "id": "set-logging-configuration-for-a-bucket-1482269119909", + "title": "Set logging configuration for a bucket" + } + ], + "PutBucketNotificationConfiguration": [ + { + "input": { + "Bucket": "examplebucket", + "NotificationConfiguration": { + "TopicConfigurations": [ + { + "Events": [ + "s3:ObjectCreated:*" + ], + "TopicArn": "arn:aws:sns:us-west-2:123456789012:s3-notification-topic" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets notification configuration on a bucket to publish the object created events to an SNS topic.", + "id": "set-notification-configuration-for-a-bucket-1482270296426", + "title": "Set notification configuration for a bucket" + } + ], + "PutBucketPolicy": [ + { + "input": { + "Bucket": "examplebucket", + "Policy": "{\"Version\": \"2012-10-17\", \"Statement\": [{ \"Sid\": \"id-1\",\"Effect\": \"Allow\",\"Principal\": {\"AWS\": \"arn:aws:iam::123456789012:root\"}, \"Action\": [ \"s3:PutObject\",\"s3:PutObjectAcl\"], \"Resource\": [\"arn:aws:s3:::acl3/*\" ] } ]}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets a permission policy on a bucket.", + "id": "set-bucket-policy-1482448903302", + "title": "Set bucket policy" + } + ], + "PutBucketReplication": [ + { + "input": { + "Bucket": "examplebucket", + "ReplicationConfiguration": { + "Role": "arn:aws:iam::123456789012:role/examplerole", + "Rules": [ + { + "Destination": { + "Bucket": "arn:aws:s3:::destinationbucket", + "StorageClass": "STANDARD" + }, + "Prefix": "", + "Status": "Enabled" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets replication configuration on a bucket.", + "id": "id-1", + "title": "Set replication configuration on a bucket" + } + ], + "PutBucketRequestPayment": [ + { + "input": { + "Bucket": "examplebucket", + "RequestPaymentConfiguration": { + "Payer": "Requester" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets request payment configuration on a bucket so that person requesting the download is charged.", + "id": "set-request-payment-configuration-on-a-bucket-1482343596680", + "title": "Set request payment configuration on a bucket." + } + ], + "PutBucketTagging": [ + { + "input": { + "Bucket": "examplebucket", + "Tagging": { + "TagSet": [ + { + "Key": "Key1", + "Value": "Value1" + }, + { + "Key": "Key2", + "Value": "Value2" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets tags on a bucket. Any existing tags are replaced.", + "id": "set-tags-on-a-bucket-1482346269066", + "title": "Set tags on a bucket" + } + ], + "PutBucketVersioning": [ + { + "input": { + "Bucket": "examplebucket", + "VersioningConfiguration": { + "MFADelete": "Disabled", + "Status": "Enabled" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets versioning configuration on bucket. The configuration enables versioning on the bucket.", + "id": "set-versioning-configuration-on-a-bucket-1482344186279", + "title": "Set versioning configuration on a bucket" + } + ], + "PutBucketWebsite": [ + { + "input": { + "Bucket": "examplebucket", + "ContentMD5": "", + "WebsiteConfiguration": { + "ErrorDocument": { + "Key": "error.html" + }, + "IndexDocument": { + "Suffix": "index.html" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds website configuration to a bucket.", + "id": "set-website-configuration-on-a-bucket-1482346836261", + "title": "Set website configuration on a bucket" + } + ], + "PutObject": [ + { + "input": { + "Body": "filetoupload", + "Bucket": "examplebucket", + "Key": "objectkey" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." + }, + { + "input": { + "Body": "HappyFace.jpg", + "Bucket": "examplebucket", + "Key": "HappyFace.jpg", + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" + }, + { + "input": { + "ACL": "authenticated-read", + "Body": "filetoupload", + "Bucket": "examplebucket", + "Key": "exampleobject" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-canned-acl-1483397779571", + "title": "To upload an object and specify canned ACL." + }, + { + "input": { + "Body": "HappyFace.jpg", + "Bucket": "examplebucket", + "Key": "HappyFace.jpg" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" + }, + { + "input": { + "Body": "filetoupload", + "Bucket": "examplebucket", + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" + }, + { + "input": { + "Body": "c:\\HappyFace.jpg", + "Bucket": "examplebucket", + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" + }, + { + "input": { + "Body": "filetoupload", + "Bucket": "examplebucket", + "Key": "exampleobject", + "ServerSideEncryption": "AES256", + "Tagging": "key1=value1&key2=value2" + }, + "output": { + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "ServerSideEncryption": "AES256", + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" + } + ], + "PutObjectAcl": [ + { + "input": { + "AccessControlPolicy": { + }, + "Bucket": "examplebucket", + "GrantFullControl": "emailaddress=user1@example.com,emailaddress=user2@example.com", + "GrantRead": "uri=http://acs.amazonaws.com/groups/global/AllUsers", + "Key": "HappyFace.jpg" + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds grants to an object ACL. The first permission grants user1 and user2 FULL_CONTROL and the AllUsers group READ permission.", + "id": "to-grant-permissions-using-object-acl-1481835549285", + "title": "To grant permissions using object ACL" + } + ], + "PutObjectTagging": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "HappyFace.jpg", + "Tagging": { + "TagSet": [ + { + "Key": "Key3", + "Value": "Value3" + }, + { + "Key": "Key4", + "Value": "Value4" + } + ] + } + }, + "output": { + "VersionId": "null" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds tags to an existing object.", + "id": "to-add-tags-to-an-existing-object-1481764668793", + "title": "To add tags to an existing object" + } + ], + "RestoreObject": [ + { + "input": { + "Bucket": "examplebucket", + "Key": "archivedobjectkey", + "RestoreRequest": { + "Days": 1, + "GlacierJobParameters": { + "Tier": "Expedited" + } + } + }, + "output": { + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example restores for one day an archived copy of an object back into Amazon S3 bucket.", + "id": "to-restore-an-archived-object-1483049329953", + "title": "To restore an archived object" + } + ], + "UploadPart": [ + { + "input": { + "Body": "fileToUpload", + "Bucket": "examplebucket", + "Key": "examplelargeobject", + "PartNumber": "1", + "UploadId": "xadcOB_7YPBOJuoFiQ9cz4P3Pe6FIZwO4f7wN93uHsNBEw97pl5eNwzExg0LAT2dUN91cOmrEQHDsP3WA60CEg--" + }, + "output": { + "ETag": "\"d8c2eafd90c266e19ab9dcacc479f8af\"" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads part 1 of a multipart upload. The example specifies a file name for the part data. The Upload ID is same that is returned by the initiate multipart upload.", + "id": "to-upload-a-part-1481847914943", + "title": "To upload a part" + } + ], + "UploadPartCopy": [ + { + "input": { + "Bucket": "examplebucket", + "CopySource": "/bucketname/sourceobjectkey", + "Key": "examplelargeobject", + "PartNumber": "1", + "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" + }, + "output": { + "CopyPartResult": { + "ETag": "\"b0c6f0e7e054ab8fa2536a2677f8734d\"", + "LastModified": "2016-12-29T21:24:43.000Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads a part of a multipart upload by copying data from an existing object as data source.", + "id": "to-upload-a-part-by-copying-data-from-an-existing-object-as-data-source-1483046746348", + "title": "To upload a part by copying data from an existing object as data source" + }, + { + "input": { + "Bucket": "examplebucket", + "CopySource": "/bucketname/sourceobjectkey", + "CopySourceRange": "bytes=1-100000", + "Key": "examplelargeobject", + "PartNumber": "2", + "UploadId": "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--" + }, + "output": { + "CopyPartResult": { + "ETag": "\"65d16d19e65a7508a51f043180edcc36\"", + "LastModified": "2016-12-29T21:44:28.000Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as data source.", + "id": "to-upload-a-part-by-copying-byte-range-from-an-existing-object-as-data-source-1483048068594", + "title": "To upload a part by copying byte range from an existing object as data source" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/s3/2006-03-01/service-2.json python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/service-2.json --- python-botocore-1.4.70/botocore/data/s3/2006-03-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -8,15 +8,17 @@ "protocol":"rest-xml", "serviceAbbreviation":"Amazon S3", "serviceFullName":"Amazon Simple Storage Service", + "serviceId":"S3", "signatureVersion":"s3", - "timestampFormat":"rfc822" + "uid":"s3-2006-03-01" }, "operations":{ "AbortMultipartUpload":{ "name":"AbortMultipartUpload", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" + "requestUri":"/{Bucket}/{Key+}", + "responseCode":204 }, "input":{"shape":"AbortMultipartUploadRequest"}, "output":{"shape":"AbortMultipartUploadOutput"}, @@ -24,7 +26,7 @@ {"shape":"NoSuchUpload"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadAbort.html", - "documentation":"

    Aborts a multipart upload.

    To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.

    " + "documentation":"

    This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

    To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts operation and ensure that the parts list is empty.

    For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions.

    The following operations are related to AbortMultipartUpload:

    " }, "CompleteMultipartUpload":{ "name":"CompleteMultipartUpload", @@ -35,7 +37,7 @@ "input":{"shape":"CompleteMultipartUploadRequest"}, "output":{"shape":"CompleteMultipartUploadOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadComplete.html", - "documentation":"Completes a multipart upload by assembling previously uploaded parts." + "documentation":"

    Completes a multipart upload by assembling previously uploaded parts.

    You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This operation concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

    Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded.

    Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

    For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

    For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions.

    GetBucketLifecycle has the following special errors:

    • Error code: EntityTooSmall

      • Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part.

      • 400 Bad Request

    • Error code: InvalidPart

      • Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag.

      • 400 Bad Request

    • Error code: InvalidPartOrder

      • Description: The list of parts was not in ascending order. The parts list must be specified in order by part number.

      • 400 Bad Request

    • Error code: NoSuchUpload

      • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

      • 404 Not Found

    The following operations are related to CompleteMultipartUpload:

    " }, "CopyObject":{ "name":"CopyObject", @@ -49,7 +51,7 @@ {"shape":"ObjectNotInActiveTierError"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectCOPY.html", - "documentation":"Creates a copy of an object that is already stored in Amazon S3.", + "documentation":"

    Creates a copy of an object that is already stored in Amazon S3.

    You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic operation using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API. For more information, see Copy Object Using the REST Multipart Upload API.

    All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

    A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy operation starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately.

    If the copy is successful, you receive a response with information about the copied object.

    If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

    The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

    Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

    Metadata

    When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

    To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 Developer Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

    x-amz-copy-source-if Headers

    To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

    • x-amz-copy-source-if-match

    • x-amz-copy-source-if-none-match

    • x-amz-copy-source-if-unmodified-since

    • x-amz-copy-source-if-modified-since

    If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

    • x-amz-copy-source-if-match condition evaluates to true

    • x-amz-copy-source-if-unmodified-since condition evaluates to false

    If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

    • x-amz-copy-source-if-none-match condition evaluates to false

    • x-amz-copy-source-if-modified-since condition evaluates to true

    All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

    Encryption

    The source object that you are copying can be encrypted or unencrypted. The source object can be encrypted with server-side encryption using AWS managed encryption keys (SSE-S3 or SSE-KMS) or by using a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it.

    You can optionally use the appropriate encryption-related headers to request server-side encryption for the target object. You have the option to provide your own encryption key or use SSE-S3 or SSE-KMS, regardless of the form of server-side encryption that was used to encrypt the source object. You can even request encryption if the source object was not encrypted. For more information about server-side encryption, see Using Server-Side Encryption.

    Access Control List (ACL)-Specific Request Headers

    When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

    Storage Class Options

    You can use the CopyObject operation to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 Service Developer Guide.

    Versioning

    By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

    If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

    If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

    If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see .

    The following operations are related to CopyObject:

    For more information, see Copying Objects.

    ", "alias":"PutObjectCopy" }, "CreateBucket":{ @@ -65,7 +67,7 @@ {"shape":"BucketAlreadyOwnedByYou"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUT.html", - "documentation":"Creates a new bucket.", + "documentation":"

    Creates a new bucket. To create a bucket, you must register with Amazon S3 and have a valid AWS Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

    Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

    By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see How to Select a Region for Your Buckets.

    If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual Hosting of Buckets.

    When creating a bucket using this operation, you can optionally specify the accounts or groups that should be granted specific permissions on the bucket. There are two ways to grant the appropriate permissions using the request headers.

    • Specify a canned ACL using the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL.

    • Specify access permissions explicitly using the x-amz-grant-read, x-amz-grant-write, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These headers map to the set of permissions Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

      You specify each grantee as a type=value pair, where the type is one of the following:

      • id – if the value specified is the canonical user ID of an AWS account

      • uri – if you are granting permissions to a predefined group

      • emailAddress – if the value specified is the email address of an AWS account

        Using email addresses to specify a grantee is only supported in the following AWS Regions:

        • US East (N. Virginia)

        • US West (N. California)

        • US West (Oregon)

        • Asia Pacific (Singapore)

        • Asia Pacific (Sydney)

        • Asia Pacific (Tokyo)

        • Europe (Ireland)

        • South America (São Paulo)

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

      x-amz-grant-read: id=\"11112222333\", id=\"444455556666\"

    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

    The following operations are related to CreateBucket:

    ", "alias":"PutBucket" }, "CreateMultipartUpload":{ @@ -77,88 +79,147 @@ "input":{"shape":"CreateMultipartUploadRequest"}, "output":{"shape":"CreateMultipartUploadOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadInitiate.html", - "documentation":"

    Initiates a multipart upload and returns an upload ID.

    Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

    ", + "documentation":"

    This operation initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

    For more information about multipart uploads, see Multipart Upload Overview.

    If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort operation and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

    For information about the permissions required to use the multipart upload API, see Multipart Upload API and Permissions.

    For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (AWS Signature Version 4).

    After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

    You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use AWS Key Management Service (AWS KMS) customer master keys (CMKs) or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart) and UploadPartCopy) requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload.

    To perform a multipart upload with encryption using an AWS KMS CMK, the requester must have permission to the kms:Encrypt, kms:Decrypt, kms:ReEncrypt*, kms:GenerateDataKey*, and kms:DescribeKey actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload.

    If your AWS Identity and Access Management (IAM) user or role is in the same AWS account as the AWS KMS CMK, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

    For more information, see Protecting Data Using Server-Side Encryption.

    Access Permissions

    When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

    • Specify a canned ACL with the x-amz-acl request header. For more information, see Canned ACL.

    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

    Server-Side- Encryption-Specific Request Headers

    You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use AWS managed encryption keys or provide your own encryption key.

    • Use encryption keys managed by Amazon S3 or customer master keys (CMKs) stored in AWS Key Management Service (AWS KMS) – If you want AWS to manage the keys used to encrypt data, specify the following headers in the request.

      • x-amz-server-side​-encryption

      • x-amz-server-side-encryption-aws-kms-key-id

      • x-amz-server-side-encryption-context

      If you specify x-amz-server-side-encryption:aws:kms, but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS KMS to protect the data.

      All GET and PUT requests for an object protected by AWS KMS fail if you don't make them with SSL or by using SigV4.

      For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS.

    • Use customer-provided encryption keys – If you want to manage your own encryption keys, provide all the following headers in the request.

      • x-amz-server-side​-encryption​-customer-algorithm

      • x-amz-server-side​-encryption​-customer-key

      • x-amz-server-side​-encryption​-customer-key-MD5

      For more information about server-side encryption with CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs stored in AWS KMS.

    Access-Control-List (ACL)-Specific Request Headers

    You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

    • Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. For more information, see Canned ACL.

    • Specify access permissions explicitly — To explicitly grant access permissions to specific AWS accounts or groups, use the following headers. Each header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview. In the header, you specify a list of grantees who get the specific permission. To grant permissions explicitly, use:

      • x-amz-grant-read

      • x-amz-grant-write

      • x-amz-grant-read-acp

      • x-amz-grant-write-acp

      • x-amz-grant-full-control

      You specify each grantee as a type=value pair, where the type is one of the following:

      • id – if the value specified is the canonical user ID of an AWS account

      • uri – if you are granting permissions to a predefined group

      • emailAddress – if the value specified is the email address of an AWS account

        Using email addresses to specify a grantee is only supported in the following AWS Regions:

        • US East (N. Virginia)

        • US West (N. California)

        • US West (Oregon)

        • Asia Pacific (Singapore)

        • Asia Pacific (Sydney)

        • Asia Pacific (Tokyo)

        • Europe (Ireland)

        • South America (São Paulo)

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      For example, the following x-amz-grant-read header grants the AWS accounts identified by account IDs permissions to read object data and its metadata:

      x-amz-grant-read: id=\"11112222333\", id=\"444455556666\"

    The following operations are related to CreateMultipartUpload:

    ", "alias":"InitiateMultipartUpload" }, "DeleteBucket":{ "name":"DeleteBucket", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}" + "requestUri":"/{Bucket}", + "responseCode":204 }, "input":{"shape":"DeleteBucketRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETE.html", - "documentation":"Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted." + "documentation":"

    Deletes the bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

    Related Resources

    " + }, + "DeleteBucketAnalyticsConfiguration":{ + "name":"DeleteBucketAnalyticsConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?analytics", + "responseCode":204 + }, + "input":{"shape":"DeleteBucketAnalyticsConfigurationRequest"}, + "documentation":"

    Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

    To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

    The following operations are related to DeleteBucketAnalyticsConfiguration:

    " }, "DeleteBucketCors":{ "name":"DeleteBucketCors", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?cors" + "requestUri":"/{Bucket}?cors", + "responseCode":204 }, "input":{"shape":"DeleteBucketCorsRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEcors.html", - "documentation":"Deletes the cors configuration information set for the bucket." + "documentation":"

    Deletes the cors configuration information set for the bucket.

    To use this operation, you must have permission to perform the s3:PutBucketCORS action. The bucket owner has this permission by default and can grant this permission to others.

    For information about cors, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.

    Related Resources:

    " + }, + "DeleteBucketEncryption":{ + "name":"DeleteBucketEncryption", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?encryption", + "responseCode":204 + }, + "input":{"shape":"DeleteBucketEncryptionRequest"}, + "documentation":"

    This implementation of the DELETE operation removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide.

    To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    Related Resources

    " + }, + "DeleteBucketInventoryConfiguration":{ + "name":"DeleteBucketInventoryConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?inventory", + "responseCode":204 + }, + "input":{"shape":"DeleteBucketInventoryConfigurationRequest"}, + "documentation":"

    Deletes an inventory configuration (identified by the inventory ID) from the bucket.

    To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

    Operations related to DeleteBucketInventoryConfiguration include:

    " }, "DeleteBucketLifecycle":{ "name":"DeleteBucketLifecycle", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?lifecycle" + "requestUri":"/{Bucket}?lifecycle", + "responseCode":204 }, "input":{"shape":"DeleteBucketLifecycleRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETElifecycle.html", - "documentation":"Deletes the lifecycle configuration from the bucket." + "documentation":"

    Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.

    To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the bucket owner has this permission and the bucket owner can grant this permission to others.

    There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems.

    For more information about the object expiration, see Elements to Describe Lifecycle Actions.

    Related actions include:

    " + }, + "DeleteBucketMetricsConfiguration":{ + "name":"DeleteBucketMetricsConfiguration", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?metrics", + "responseCode":204 + }, + "input":{"shape":"DeleteBucketMetricsConfigurationRequest"}, + "documentation":"

    Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

    To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

    The following operations are related to DeleteBucketMetricsConfiguration:

    " }, "DeleteBucketPolicy":{ "name":"DeleteBucketPolicy", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?policy" + "requestUri":"/{Bucket}?policy", + "responseCode":204 }, "input":{"shape":"DeleteBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEpolicy.html", - "documentation":"Deletes the policy from the bucket." + "documentation":"

    This implementation of the DELETE operation uses the policy subresource to delete the policy of a specified bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the DeleteBucketPolicy permissions on the specified bucket and belong to the bucket owner's account to use this operation.

    If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

    As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

    For more information about bucket policies, see Using Bucket Policies and UserPolicies.

    The following operations are related to DeleteBucketPolicy

    " }, "DeleteBucketReplication":{ "name":"DeleteBucketReplication", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?replication" + "requestUri":"/{Bucket}?replication", + "responseCode":204 }, "input":{"shape":"DeleteBucketReplicationRequest"}, - "documentation":"Deletes the replication configuration from the bucket." + "documentation":"

    Deletes the replication configuration from the bucket.

    To use this operation, you must have permissions to perform the s3:PutReplicationConfiguration action. The bucket owner has these permissions by default and can grant it to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    It can take a while for the deletion of a replication configuration to fully propagate.

    For information about replication configuration, see Replication in the Amazon S3 Developer Guide.

    The following operations are related to DeleteBucketReplication:

    " }, "DeleteBucketTagging":{ "name":"DeleteBucketTagging", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?tagging" + "requestUri":"/{Bucket}?tagging", + "responseCode":204 }, "input":{"shape":"DeleteBucketTaggingRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEtagging.html", - "documentation":"Deletes the tags from the bucket." + "documentation":"

    Deletes the tags from the bucket.

    To use this operation, you must have permission to perform the s3:PutBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

    The following operations are related to DeleteBucketTagging:

    " }, "DeleteBucketWebsite":{ "name":"DeleteBucketWebsite", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}?website" + "requestUri":"/{Bucket}?website", + "responseCode":204 }, "input":{"shape":"DeleteBucketWebsiteRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketDELETEwebsite.html", - "documentation":"This operation removes the website configuration from the bucket." + "documentation":"

    This operation removes the website configuration for a bucket. Amazon S3 returns a 200 OK response upon successfully deleting a website configuration on the specified bucket. You will get a 200 OK response if the website configuration you are trying to delete does not exist on the bucket. Amazon S3 returns a 404 response if the bucket specified in the request does not exist.

    This DELETE operation requires the S3:DeleteBucketWebsite permission. By default, only the bucket owner can delete the website configuration attached to a bucket. However, bucket owners can grant other users permission to delete the website configuration by writing a bucket policy granting them the S3:DeleteBucketWebsite permission.

    For more information about hosting websites, see Hosting Websites on Amazon S3.

    The following operations are related to DeleteBucketWebsite:

    " }, "DeleteObject":{ "name":"DeleteObject", "http":{ "method":"DELETE", - "requestUri":"/{Bucket}/{Key+}" + "requestUri":"/{Bucket}/{Key+}", + "responseCode":204 }, "input":{"shape":"DeleteObjectRequest"}, "output":{"shape":"DeleteObjectOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectDELETE.html", - "documentation":"Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects." + "documentation":"

    Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects.

    To remove a specific version, you must be the bucket owner and you must use the version Id subresource. Using this subresource permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the response header, x-amz-delete-marker, to true.

    If the object you want to delete is in a bucket where the bucket versioning configuration is MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE versionId request. Requests that include x-amz-mfa must use HTTPS.

    For more information about MFA Delete, see Using MFA Delete. To see sample requests that use versioning, see Sample Request.

    You can delete objects by explicitly calling the DELETE Object API or configure its lifecycle (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and s3:PutLifeCycleConfiguration actions.

    The following operation is related to DeleteObject:

    " + }, + "DeleteObjectTagging":{ + "name":"DeleteObjectTagging", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}/{Key+}?tagging", + "responseCode":204 + }, + "input":{"shape":"DeleteObjectTaggingRequest"}, + "output":{"shape":"DeleteObjectTaggingOutput"}, + "documentation":"

    Removes the entire tag set from the specified object. For more information about managing object tags, see Object Tagging.

    To use this operation, you must have permission to perform the s3:DeleteObjectTagging action.

    To delete tags of a specific object version, add the versionId query parameter in the request. You will need permission for the s3:DeleteObjectVersionTagging action.

    The following operations are related to DeleteBucketMetricsConfiguration:

    " }, "DeleteObjects":{ "name":"DeleteObjects", @@ -169,8 +230,19 @@ "input":{"shape":"DeleteObjectsRequest"}, "output":{"shape":"DeleteObjectsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/multiobjectdeleteapi.html", - "documentation":"This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.", - "alias":"DeleteMultipleObjects" + "documentation":"

    This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead.

    The request contains a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result of that delete, success, or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.

    The operation supports two modes for the response: verbose and quiet. By default, the operation uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete operation encountered an error. For a successful deletion, the operation does not return any information about the delete in the response body.

    When performing this operation on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete.

    Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit.

    The following operations are related to DeleteObjects:

    ", + "alias":"DeleteMultipleObjects", + "httpChecksumRequired":true + }, + "DeletePublicAccessBlock":{ + "name":"DeletePublicAccessBlock", + "http":{ + "method":"DELETE", + "requestUri":"/{Bucket}?publicAccessBlock", + "responseCode":204 + }, + "input":{"shape":"DeletePublicAccessBlockRequest"}, + "documentation":"

    Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    The following operations are related to DeletePublicAccessBlock:

    " }, "GetBucketAccelerateConfiguration":{ "name":"GetBucketAccelerateConfiguration", @@ -180,7 +252,7 @@ }, "input":{"shape":"GetBucketAccelerateConfigurationRequest"}, "output":{"shape":"GetBucketAccelerateConfigurationOutput"}, - "documentation":"Returns the accelerate configuration of a bucket." + "documentation":"

    This implementation of the GET operation uses the accelerate subresource to return the Transfer Acceleration state of a bucket, which is either Enabled or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to and from Amazon S3.

    To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    You set the Transfer Acceleration state of an existing bucket to Enabled or Suspended by using the PutBucketAccelerateConfiguration operation.

    A GET accelerate request does not return a state value for a bucket that has no transfer acceleration state. A bucket has no Transfer Acceleration state if a state has never been set on the bucket.

    For more information about transfer acceleration, see Transfer Acceleration in the Amazon Simple Storage Service Developer Guide.

    Related Resources

    " }, "GetBucketAcl":{ "name":"GetBucketAcl", @@ -191,7 +263,17 @@ "input":{"shape":"GetBucketAclRequest"}, "output":{"shape":"GetBucketAclOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETacl.html", - "documentation":"Gets the access control policy for the bucket." + "documentation":"

    This implementation of the GET operation uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

    Related Resources

    " + }, + "GetBucketAnalyticsConfiguration":{ + "name":"GetBucketAnalyticsConfiguration", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?analytics" + }, + "input":{"shape":"GetBucketAnalyticsConfigurationRequest"}, + "output":{"shape":"GetBucketAnalyticsConfigurationOutput"}, + "documentation":"

    This implementation of the GET operation returns an analytics configuration (identified by the analytics configuration ID) from the bucket.

    To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis in the Amazon Simple Storage Service Developer Guide.

    Related Resources

    " }, "GetBucketCors":{ "name":"GetBucketCors", @@ -202,7 +284,27 @@ "input":{"shape":"GetBucketCorsRequest"}, "output":{"shape":"GetBucketCorsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETcors.html", - "documentation":"Returns the cors configuration for the bucket." + "documentation":"

    Returns the cors configuration information set for the bucket.

    To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

    For more information about cors, see Enabling Cross-Origin Resource Sharing.

    The following operations are related to GetBucketCors:

    " + }, + "GetBucketEncryption":{ + "name":"GetBucketEncryption", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?encryption" + }, + "input":{"shape":"GetBucketEncryptionRequest"}, + "output":{"shape":"GetBucketEncryptionOutput"}, + "documentation":"

    Returns the default encryption configuration for an Amazon S3 bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption.

    To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    The following operations are related to GetBucketEncryption:

    " + }, + "GetBucketInventoryConfiguration":{ + "name":"GetBucketInventoryConfiguration", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?inventory" + }, + "input":{"shape":"GetBucketInventoryConfigurationRequest"}, + "output":{"shape":"GetBucketInventoryConfigurationOutput"}, + "documentation":"

    Returns an inventory configuration (identified by the inventory configuration ID) from the bucket.

    To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

    The following operations are related to GetBucketInventoryConfiguration:

    " }, "GetBucketLifecycle":{ "name":"GetBucketLifecycle", @@ -213,7 +315,7 @@ "input":{"shape":"GetBucketLifecycleRequest"}, "output":{"shape":"GetBucketLifecycleOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlifecycle.html", - "documentation":"Deprecated, see the GetBucketLifecycleConfiguration operation.", + "documentation":"

    For an updated version of this API, see GetBucketLifecycleConfiguration. If you configured a bucket lifecycle using the filter element, you should see the updated version of this topic. This topic is provided for backward compatibility.

    Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

    To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    GetBucketLifecycle has the following special error:

    • Error code: NoSuchLifecycleConfiguration

      • Description: The lifecycle configuration does not exist.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

    The following operations are related to GetBucketLifecycle:

    ", "deprecated":true }, "GetBucketLifecycleConfiguration":{ @@ -224,7 +326,7 @@ }, "input":{"shape":"GetBucketLifecycleConfigurationRequest"}, "output":{"shape":"GetBucketLifecycleConfigurationOutput"}, - "documentation":"Returns the lifecycle configuration information set on the bucket." + "documentation":"

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The response describes the new filter element that you can use to specify a filter to select a subset of objects to which the rule applies. If you are still using previous version of the lifecycle configuration, it works. For the earlier API description, see GetBucketLifecycle.

    Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

    To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    GetBucketLifecycleConfiguration has the following special error:

    • Error code: NoSuchLifecycleConfiguration

      • Description: The lifecycle configuration does not exist.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

    The following operations are related to GetBucketLifecycleConfiguration:

    " }, "GetBucketLocation":{ "name":"GetBucketLocation", @@ -235,7 +337,7 @@ "input":{"shape":"GetBucketLocationRequest"}, "output":{"shape":"GetBucketLocationOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlocation.html", - "documentation":"Returns the region the bucket resides in." + "documentation":"

    Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see CreateBucket.

    To use this implementation of the operation, you must be the bucket owner.

    The following operations are related to GetBucketLocation:

    " }, "GetBucketLogging":{ "name":"GetBucketLogging", @@ -246,7 +348,17 @@ "input":{"shape":"GetBucketLoggingRequest"}, "output":{"shape":"GetBucketLoggingOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETlogging.html", - "documentation":"Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner." + "documentation":"

    Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner.

    The following operations are related to GetBucketLogging:

    " + }, + "GetBucketMetricsConfiguration":{ + "name":"GetBucketMetricsConfiguration", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?metrics" + }, + "input":{"shape":"GetBucketMetricsConfigurationRequest"}, + "output":{"shape":"GetBucketMetricsConfigurationOutput"}, + "documentation":"

    Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

    To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

    The following operations are related to GetBucketMetricsConfiguration:

    " }, "GetBucketNotification":{ "name":"GetBucketNotification", @@ -257,7 +369,7 @@ "input":{"shape":"GetBucketNotificationConfigurationRequest"}, "output":{"shape":"NotificationConfigurationDeprecated"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETnotification.html", - "documentation":"Deprecated, see the GetBucketNotificationConfiguration operation.", + "documentation":"

    No longer used, see GetBucketNotificationConfiguration.

    ", "deprecated":true }, "GetBucketNotificationConfiguration":{ @@ -268,7 +380,7 @@ }, "input":{"shape":"GetBucketNotificationConfigurationRequest"}, "output":{"shape":"NotificationConfiguration"}, - "documentation":"Returns the notification configuration of a bucket." + "documentation":"

    Returns the notification configuration of a bucket.

    If notifications are not enabled on the bucket, the operation returns an empty NotificationConfiguration element.

    By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission.

    For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

    The following operation is related to GetBucketNotification:

    " }, "GetBucketPolicy":{ "name":"GetBucketPolicy", @@ -279,7 +391,17 @@ "input":{"shape":"GetBucketPolicyRequest"}, "output":{"shape":"GetBucketPolicyOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETpolicy.html", - "documentation":"Returns the policy of a specified bucket." + "documentation":"

    Returns the policy of a specified bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

    If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

    As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

    For more information about bucket policies, see Using Bucket Policies and User Policies.

    The following operation is related to GetBucketPolicy:

    " + }, + "GetBucketPolicyStatus":{ + "name":"GetBucketPolicyStatus", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?policyStatus" + }, + "input":{"shape":"GetBucketPolicyStatusRequest"}, + "output":{"shape":"GetBucketPolicyStatusOutput"}, + "documentation":"

    Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public. In order to use this operation, you must have the s3:GetBucketPolicyStatus permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

    For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

    The following operations are related to GetBucketPolicyStatus:

    " }, "GetBucketReplication":{ "name":"GetBucketReplication", @@ -289,7 +411,7 @@ }, "input":{"shape":"GetBucketReplicationRequest"}, "output":{"shape":"GetBucketReplicationOutput"}, - "documentation":"Returns the replication configuration of a bucket." + "documentation":"

    Returns the replication configuration of a bucket.

    It can take a while to propagate the put or delete a replication configuration to all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong result.

    For information about replication configuration, see Replication in the Amazon Simple Storage Service Developer Guide.

    This operation requires permissions for the s3:GetReplicationConfiguration action. For more information about permissions, see Using Bucket Policies and User Policies.

    If you include the Filter element in a replication configuration, you must also include the DeleteMarkerReplication and Priority elements. The response also returns those elements.

    For information about GetBucketReplication errors, see ReplicationErrorCodeList

    The following operations are related to GetBucketReplication:

    " }, "GetBucketRequestPayment":{ "name":"GetBucketRequestPayment", @@ -300,7 +422,7 @@ "input":{"shape":"GetBucketRequestPaymentRequest"}, "output":{"shape":"GetBucketRequestPaymentOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentGET.html", - "documentation":"Returns the request payment configuration of a bucket." + "documentation":"

    Returns the request payment configuration of a bucket. To use this version of the operation, you must be the bucket owner. For more information, see Requester Pays Buckets.

    The following operations are related to GetBucketRequestPayment:

    " }, "GetBucketTagging":{ "name":"GetBucketTagging", @@ -311,7 +433,7 @@ "input":{"shape":"GetBucketTaggingRequest"}, "output":{"shape":"GetBucketTaggingOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETtagging.html", - "documentation":"Returns the tag set associated with the bucket." + "documentation":"

    Returns the tag set associated with the bucket.

    To use this operation, you must have permission to perform the s3:GetBucketTagging action. By default, the bucket owner has this permission and can grant this permission to others.

    GetBucketTagging has the following special error:

    • Error code: NoSuchTagSetError

      • Description: There is no tag set associated with the bucket.

    The following operations are related to GetBucketTagging:

    " }, "GetBucketVersioning":{ "name":"GetBucketVersioning", @@ -322,7 +444,7 @@ "input":{"shape":"GetBucketVersioningRequest"}, "output":{"shape":"GetBucketVersioningOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html", - "documentation":"Returns the versioning state of a bucket." + "documentation":"

    Returns the versioning state of a bucket.

    To retrieve the versioning state of a bucket, you must be the bucket owner.

    This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete status is enabled, the bucket owner must use an authentication device to change the versioning state of the bucket.

    The following operations are related to GetBucketVersioning:

    " }, "GetBucketWebsite":{ "name":"GetBucketWebsite", @@ -333,7 +455,7 @@ "input":{"shape":"GetBucketWebsiteRequest"}, "output":{"shape":"GetBucketWebsiteOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETwebsite.html", - "documentation":"Returns the website configuration for a bucket." + "documentation":"

    Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

    This GET operation requires the S3:GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the S3:GetBucketWebsite permission.

    The following operations are related to DeleteBucketWebsite:

    " }, "GetObject":{ "name":"GetObject", @@ -347,7 +469,7 @@ {"shape":"NoSuchKey"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGET.html", - "documentation":"Retrieves objects from Amazon S3." + "documentation":"

    Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

    An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

    To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

    To distribute large files to many people, you can save bandwidth costs by using BitTorrent. For more information, see Amazon S3 Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

    If the object you are retrieving is stored in the GLACIER or DEEP_ARCHIVE storage classes, before you can retrieve the object you must first restore a copy using . Otherwise, this operation returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects.

    Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

    If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

    • x-amz-server-side​-encryption​-customer-algorithm

    • x-amz-server-side​-encryption​-customer-key

    • x-amz-server-side​-encryption​-customer-key-MD5

    For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

    Assuming you have permission to read object tags (permission for the s3:GetObjectVersionTagging action), the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

    Permissions

    You need the s3:GetObject permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

    • If you have the s3:ListBucket permission on the bucket, Amazon S3 will return an HTTP status code 404 (\"no such key\") error.

    • If you don’t have the s3:ListBucket permission, Amazon S3 will return an HTTP status code 403 (\"access denied\") error.

    Versioning

    By default, the GET operation returns the current version of an object. To return a different version, use the versionId subresource.

    If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

    For more information about versioning, see PutBucketVersioning.

    Overriding Response Header Values

    There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

    You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

    You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

    • response-content-type

    • response-content-language

    • response-expires

    • response-cache-control

    • response-content-disposition

    • response-content-encoding

    Additional Considerations about Request Headers

    If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

    If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

    For more information about conditional requests, see RFC 7232.

    The following operations are related to GetObject:

    " }, "GetObjectAcl":{ "name":"GetObjectAcl", @@ -361,7 +483,47 @@ {"shape":"NoSuchKey"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETacl.html", - "documentation":"Returns the access control list (ACL) of an object." + "documentation":"

    Returns the access control list (ACL) of an object. To use this operation, you must have READ_ACP access to the object.

    Versioning

    By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource.

    The following operations are related to GetObjectAcl:

    " + }, + "GetObjectLegalHold":{ + "name":"GetObjectLegalHold", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}/{Key+}?legal-hold" + }, + "input":{"shape":"GetObjectLegalHoldRequest"}, + "output":{"shape":"GetObjectLegalHoldOutput"}, + "documentation":"

    Gets an object's current Legal Hold status. For more information, see Locking Objects.

    " + }, + "GetObjectLockConfiguration":{ + "name":"GetObjectLockConfiguration", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?object-lock" + }, + "input":{"shape":"GetObjectLockConfigurationRequest"}, + "output":{"shape":"GetObjectLockConfigurationOutput"}, + "documentation":"

    Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

    " + }, + "GetObjectRetention":{ + "name":"GetObjectRetention", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}/{Key+}?retention" + }, + "input":{"shape":"GetObjectRetentionRequest"}, + "output":{"shape":"GetObjectRetentionOutput"}, + "documentation":"

    Retrieves an object's retention settings. For more information, see Locking Objects.

    " + }, + "GetObjectTagging":{ + "name":"GetObjectTagging", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}/{Key+}?tagging" + }, + "input":{"shape":"GetObjectTaggingRequest"}, + "output":{"shape":"GetObjectTaggingOutput"}, + "documentation":"

    Returns the tag-set of an object. You send the GET request against the tagging subresource associated with the object.

    To use this operation, you must have permission to perform the s3:GetObjectTagging action. By default, the GET operation returns information about current version of an object. For a versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any other version, use the versionId query parameter. You also need permission for the s3:GetObjectVersionTagging action.

    By default, the bucket owner has this permission and can grant this permission to others.

    For information about the Amazon S3 object tagging feature, see Object Tagging.

    The following operation is related to GetObjectTagging:

    " }, "GetObjectTorrent":{ "name":"GetObjectTorrent", @@ -372,7 +534,17 @@ "input":{"shape":"GetObjectTorrentRequest"}, "output":{"shape":"GetObjectTorrentOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectGETtorrent.html", - "documentation":"Return torrent files from a bucket." + "documentation":"

    Return torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing large files. For more information about BitTorrent, see Amazon S3 Torrent.

    You can get torrent only for objects that are less than 5 GB in size and that are not encrypted using server-side encryption with customer-provided encryption key.

    To use GET, you must have READ access to the object.

    The following operation is related to GetObjectTorrent:

    " + }, + "GetPublicAccessBlock":{ + "name":"GetPublicAccessBlock", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?publicAccessBlock" + }, + "input":{"shape":"GetPublicAccessBlockRequest"}, + "output":{"shape":"GetPublicAccessBlockOutput"}, + "documentation":"

    Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

    When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock settings are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

    For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

    The following operations are related to GetPublicAccessBlock:

    " }, "HeadBucket":{ "name":"HeadBucket", @@ -385,7 +557,7 @@ {"shape":"NoSuchBucket"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketHEAD.html", - "documentation":"This operation is useful to determine if a bucket exists and you have permission to access it." + "documentation":"

    This operation is useful to determine if a bucket exists and you have permission to access it. The operation returns a 200 OK if the bucket exists and you have permission to access it. Otherwise, the operation might return responses such as 404 Not Found and 403 Forbidden.

    To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    " }, "HeadObject":{ "name":"HeadObject", @@ -399,7 +571,37 @@ {"shape":"NoSuchKey"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectHEAD.html", - "documentation":"The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object." + "documentation":"

    The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

    A HEAD request has the same options as a GET operation on an object. The response is identical to the GET response except that there is no response body.

    If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

    • x-amz-server-side​-encryption​-customer-algorithm

    • x-amz-server-side​-encryption​-customer-key

    • x-amz-server-side​-encryption​-customer-key-MD5

    For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

    Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with CMKs stored in AWS KMS (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

    Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

    Consider the following when using request headers:

    • Consideration 1 – If both of the If-Match and If-Unmodified-Since headers are present in the request as follows:

      • If-Match condition evaluates to true, and;

      • If-Unmodified-Since condition evaluates to false;

      Then Amazon S3 returns 200 OK and the data requested.

    • Consideration 2 – If both of the If-None-Match and If-Modified-Since headers are present in the request as follows:

      • If-None-Match condition evaluates to false, and;

      • If-Modified-Since condition evaluates to true;

      Then Amazon S3 returns the 304 Not Modified response code.

    For more information about conditional requests, see RFC 7232.

    Permissions

    You need the s3:GetObject permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

    • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 (\"no such key\") error.

    • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 (\"access denied\") error.

    The following operation is related to HeadObject:

    " + }, + "ListBucketAnalyticsConfigurations":{ + "name":"ListBucketAnalyticsConfigurations", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?analytics" + }, + "input":{"shape":"ListBucketAnalyticsConfigurationsRequest"}, + "output":{"shape":"ListBucketAnalyticsConfigurationsOutput"}, + "documentation":"

    Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

    This operation supports list pagination and does not return more than 100 configurations at a time. You should always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there will be a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

    To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

    The following operations are related to ListBucketAnalyticsConfigurations:

    " + }, + "ListBucketInventoryConfigurations":{ + "name":"ListBucketInventoryConfigurations", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?inventory" + }, + "input":{"shape":"ListBucketInventoryConfigurationsRequest"}, + "output":{"shape":"ListBucketInventoryConfigurationsOutput"}, + "documentation":"

    Returns a list of inventory configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

    This operation supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

    To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about the Amazon S3 inventory feature, see Amazon S3 Inventory

    The following operations are related to ListBucketInventoryConfigurations:

    " + }, + "ListBucketMetricsConfigurations":{ + "name":"ListBucketMetricsConfigurations", + "http":{ + "method":"GET", + "requestUri":"/{Bucket}?metrics" + }, + "input":{"shape":"ListBucketMetricsConfigurationsRequest"}, + "output":{"shape":"ListBucketMetricsConfigurationsOutput"}, + "documentation":"

    Lists the metrics configurations for the bucket. The metrics configurations are only for the request metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000 configurations per bucket.

    This operation supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

    To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with Amazon CloudWatch.

    The following operations are related to ListBucketMetricsConfigurations:

    " }, "ListBuckets":{ "name":"ListBuckets", @@ -409,7 +611,7 @@ }, "output":{"shape":"ListBucketsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTServiceGET.html", - "documentation":"Returns a list of all buckets owned by the authenticated sender of the request.", + "documentation":"

    Returns a list of all buckets owned by the authenticated sender of the request.

    ", "alias":"GetService" }, "ListMultipartUploads":{ @@ -421,7 +623,7 @@ "input":{"shape":"ListMultipartUploadsRequest"}, "output":{"shape":"ListMultipartUploadsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListMPUpload.html", - "documentation":"This operation lists in-progress multipart uploads." + "documentation":"

    This operation lists in-progress multipart uploads. An in-progress multipart upload is a multipart upload that has been initiated using the Initiate Multipart Upload request, but has not yet been completed or aborted.

    This operation returns at most 1,000 multipart uploads in the response. 1,000 multipart uploads is the maximum number of uploads a response can include, which is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads parameter in the response. If additional multipart uploads satisfy the list criteria, the response will contain an IsTruncated element with the value true. To list the additional multipart uploads, use the key-marker and upload-id-marker request parameters.

    In the response, the uploads are sorted by key. If your application has initiated more than one multipart upload using the same object key, then uploads in the response are first sorted by key. Additionally, uploads are sorted in ascending order within each key by the upload initiation time.

    For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

    For information on permissions required to use the multipart upload API, see Multipart Upload API and Permissions.

    The following operations are related to ListMultipartUploads:

    " }, "ListObjectVersions":{ "name":"ListObjectVersions", @@ -432,7 +634,7 @@ "input":{"shape":"ListObjectVersionsRequest"}, "output":{"shape":"ListObjectVersionsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGETVersion.html", - "documentation":"Returns metadata about all of the versions of objects in a bucket.", + "documentation":"

    Returns metadata about all of the versions of objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions.

    A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

    To use this operation, you must have READ access to the bucket.

    The following operations are related to ListObjectVersions:

    ", "alias":"GetBucketObjectVersions" }, "ListObjects":{ @@ -447,7 +649,7 @@ {"shape":"NoSuchBucket"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketGET.html", - "documentation":"Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket.", + "documentation":"

    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately.

    This API has been revised. We recommend that you use the newer version, ListObjectsV2, when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects.

    The following operations are related to ListObjects:

    ", "alias":"GetBucket" }, "ListObjectsV2":{ @@ -461,7 +663,7 @@ "errors":[ {"shape":"NoSuchBucket"} ], - "documentation":"Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development." + "documentation":"

    Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately.

    To use this operation, you must have READ access to the bucket.

    To use this operation in an AWS Identity and Access Management (IAM) policy, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    This section describes the latest revision of the API. We recommend that you use this revised API for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API, ListObjects.

    To get a list of your buckets, see ListBuckets.

    The following operations are related to ListObjectsV2:

    " }, "ListParts":{ "name":"ListParts", @@ -472,7 +674,7 @@ "input":{"shape":"ListPartsRequest"}, "output":{"shape":"ListPartsOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadListParts.html", - "documentation":"Lists the parts that have been uploaded for a specific multipart upload." + "documentation":"

    Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

    For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

    For information on permissions required to use the multipart upload API, see Multipart Upload API and Permissions.

    The following operations are related to ListParts:

    " }, "PutBucketAccelerateConfiguration":{ "name":"PutBucketAccelerateConfiguration", @@ -481,7 +683,7 @@ "requestUri":"/{Bucket}?accelerate" }, "input":{"shape":"PutBucketAccelerateConfigurationRequest"}, - "documentation":"Sets the accelerate configuration of an existing bucket." + "documentation":"

    Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to Amazon S3.

    To use this operation, you must have permission to perform the s3:PutAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    The Transfer Acceleration state of a bucket can be set to one of the following two values:

    • Enabled – Enables accelerated data transfers to the bucket.

    • Suspended – Disables accelerated data transfers to the bucket.

    The GetBucketAccelerateConfiguration operation returns the transfer acceleration state of a bucket.

    After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty minutes before the data transfer rates to the bucket increase.

    The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain periods (\".\").

    For more information about transfer acceleration, see Transfer Acceleration.

    The following operations are related to PutBucketAccelerateConfiguration:

    " }, "PutBucketAcl":{ "name":"PutBucketAcl", @@ -491,7 +693,17 @@ }, "input":{"shape":"PutBucketAclRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTacl.html", - "documentation":"Sets the permissions on a bucket using access control lists (ACL)." + "documentation":"

    Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

    You can use one of the following two ways to set a bucket's permissions:

    • Specify the ACL in the request body

    • Specify permissions using request headers

    You cannot specify access permission using both the body and the request headers.

    Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

    Access Permissions

    You can set access permissions using one of the following methods:

    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use the x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

      You specify each grantee as a type=value pair, where the type is one of the following:

      • id – if the value specified is the canonical user ID of an AWS account

      • uri – if you are granting permissions to a predefined group

      • emailAddress – if the value specified is the email address of an AWS account

        Using email addresses to specify a grantee is only supported in the following AWS Regions:

        • US East (N. Virginia)

        • US West (N. California)

        • US West (Oregon)

        • Asia Pacific (Singapore)

        • Asia Pacific (Sydney)

        • Asia Pacific (Tokyo)

        • Europe (Ireland)

        • South America (São Paulo)

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      For example, the following x-amz-grant-write header grants create, overwrite, and delete objects permission to LogDelivery group predefined by Amazon S3 and two AWS accounts identified by their email addresses.

      x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\", id=\"111122223333\", id=\"555566667777\"

    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

    Grantee Values

    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

    • By the person's ID:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

      DisplayName is optional and ignored in the request

    • By URI:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

    • By Email address:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

      Using email addresses to specify a grantee is only supported in the following AWS Regions:

      • US East (N. Virginia)

      • US West (N. California)

      • US West (Oregon)

      • Asia Pacific (Singapore)

      • Asia Pacific (Sydney)

      • Asia Pacific (Tokyo)

      • Europe (Ireland)

      • South America (São Paulo)

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutBucketAnalyticsConfiguration":{ + "name":"PutBucketAnalyticsConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?analytics" + }, + "input":{"shape":"PutBucketAnalyticsConfigurationRequest"}, + "documentation":"

    Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You can have up to 1,000 analytics configurations per bucket.

    You can choose to have storage class analysis export analysis reports sent to a comma-separated values (CSV) flat file. See the DataExport request element. Reports are updated daily and are based on the object filters that you configure. When selecting data export, you specify a destination bucket and an optional destination prefix where the file is written. You can export the data to a destination bucket in a different account. However, the destination bucket must be in the same Region as the bucket that you are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class Analysis.

    You must create a bucket policy on the destination bucket where the exported file is written to grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

    To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    Special Errors

      • HTTP Error: HTTP 400 Bad Request

      • Code: InvalidArgument

      • Cause: Invalid argument.

      • HTTP Error: HTTP 400 Bad Request

      • Code: TooManyConfigurations

      • Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

      • HTTP Error: HTTP 403 Forbidden

      • Code: AccessDenied

      • Cause: You are not the owner of the specified bucket, or you do not have the s3:PutAnalyticsConfiguration bucket permission to set the configuration on the bucket.

    Related Resources

    " }, "PutBucketCors":{ "name":"PutBucketCors", @@ -501,7 +713,27 @@ }, "input":{"shape":"PutBucketCorsRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTcors.html", - "documentation":"Sets the cors configuration for a bucket." + "documentation":"

    Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it.

    To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

    You set this configuration on a bucket so that the bucket can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your Amazon S3 bucket at my.example.bucket.com by using the browser's XMLHttpRequest capability.

    To enable cross-origin resource sharing (CORS) on a bucket, you add the cors subresource to the bucket. The cors subresource is an XML document in which you configure rules that identify origins and the HTTP methods that can be executed on your bucket. The document is limited to 64 KB in size.

    When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it evaluates the cors configuration on the bucket and uses the first CORSRule rule that matches the incoming browser request to enable a cross-origin request. For a rule to match, the following conditions must be met:

    • The request's Origin header must match AllowedOrigin elements.

    • The request method (for example, GET, PUT, HEAD, and so on) or the Access-Control-Request-Method header in case of a pre-flight OPTIONS request must be one of the AllowedMethod elements.

    • Every header specified in the Access-Control-Request-Headers request header of a pre-flight request must match an AllowedHeader element.

    For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutBucketEncryption":{ + "name":"PutBucketEncryption", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?encryption" + }, + "input":{"shape":"PutBucketEncryptionRequest"}, + "documentation":"

    This implementation of the PUT operation uses the encryption subresource to set the default encryption state of an existing bucket.

    This implementation of the PUT operation sets default encryption for a bucket using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS customer master keys (CMKs) (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption.

    This operation requires AWS Signature Version 4. For more information, see Authenticating Requests (AWS Signature Version 4).

    To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutBucketInventoryConfiguration":{ + "name":"PutBucketInventoryConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?inventory" + }, + "input":{"shape":"PutBucketInventoryConfigurationRequest"}, + "documentation":"

    This implementation of the PUT operation adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

    Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same AWS Region as the source bucket.

    When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon Simple Storage Service Developer Guide.

    You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

    To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    Special Errors

    • HTTP 400 Bad Request Error

      • Code: InvalidArgument

      • Cause: Invalid Argument

    • HTTP 400 Bad Request Error

      • Code: TooManyConfigurations

      • Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

    • HTTP 403 Forbidden Error

      • Code: AccessDenied

      • Cause: You are not the owner of the specified bucket, or you do not have the s3:PutInventoryConfiguration bucket permission to set the configuration on the bucket.

    Related Resources

    " }, "PutBucketLifecycle":{ "name":"PutBucketLifecycle", @@ -511,8 +743,9 @@ }, "input":{"shape":"PutBucketLifecycleRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html", - "documentation":"Deprecated, see the PutBucketLifecycleConfiguration operation.", - "deprecated":true + "documentation":"

    For an updated version of this API, see PutBucketLifecycleConfiguration. This version has been deprecated. Existing lifecycle configurations will work. For new lifecycle configurations, use the updated API.

    Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Object Lifecycle Management in the Amazon Simple Storage Service Developer Guide.

    By default, all Amazon S3 resources, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration) are private. Only the resource owner, the AWS account that created the resource, can access it. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, users must get the s3:PutLifecycleConfiguration permission.

    You can also explicitly deny permissions. Explicit denial also supersedes any other permissions. If you want to prevent users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

    • s3:DeleteObject

    • s3:DeleteObjectVersion

    • s3:PutLifecycleConfiguration

    For more information about permissions, see Managing Access Permissions to your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    For more examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration.

    Related Resources

    ", + "deprecated":true, + "httpChecksumRequired":true }, "PutBucketLifecycleConfiguration":{ "name":"PutBucketLifecycleConfiguration", @@ -521,7 +754,8 @@ "requestUri":"/{Bucket}?lifecycle" }, "input":{"shape":"PutBucketLifecycleConfigurationRequest"}, - "documentation":"Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it." + "documentation":"

    Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Managing Access Permissions to Your Amazon S3 Resources.

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle.

    Rules

    You specify the lifecycle configuration in your request body. The lifecycle configuration is specified as XML consisting of one or more rules. Each rule consists of the following:

    • Filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, or a combination of both.

    • Status whether the rule is in effect.

    • One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on the objects identified by the filter. If the state of your bucket is versioning-enabled or versioning-suspended, you can have many versions of the same object (one current version and zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for current and noncurrent object versions.

    For more information, see Object Lifecycle Management and Lifecycle Configuration Elements.

    Permissions

    By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the AWS account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must get the s3:PutLifecycleConfiguration permission.

    You can also explicitly deny permissions. Explicit deny also supersedes any other permissions. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

    • s3:DeleteObject

    • s3:DeleteObjectVersion

    • s3:PutLifecycleConfiguration

    For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

    The following are related to PutBucketLifecycleConfiguration:

    ", + "httpChecksumRequired":true }, "PutBucketLogging":{ "name":"PutBucketLogging", @@ -531,7 +765,17 @@ }, "input":{"shape":"PutBucketLoggingRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTlogging.html", - "documentation":"Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner." + "documentation":"

    Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same AWS Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

    The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

    Grantee Values

    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

    • By the person's ID:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

      DisplayName is optional and ignored in the request.

    • By Email address:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress></Grantee>

      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

    • By URI:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

    To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

    <BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

    For more information about server access logging, see Server Access Logging.

    For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

    The following operations are related to PutBucketLogging:

    ", + "httpChecksumRequired":true + }, + "PutBucketMetricsConfiguration":{ + "name":"PutBucketMetricsConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?metrics" + }, + "input":{"shape":"PutBucketMetricsConfigurationRequest"}, + "documentation":"

    Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased.

    To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

    The following operations are related to PutBucketMetricsConfiguration:

    GetBucketLifecycle has the following special error:

    • Error code: TooManyConfigurations

      • Description: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

      • HTTP Status Code: HTTP 400 Bad Request

    " }, "PutBucketNotification":{ "name":"PutBucketNotification", @@ -541,8 +785,9 @@ }, "input":{"shape":"PutBucketNotificationRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTnotification.html", - "documentation":"Deprecated, see the PutBucketNotificationConfiguraiton operation.", - "deprecated":true + "documentation":"

    No longer used, see the PutBucketNotificationConfiguration operation.

    ", + "deprecated":true, + "httpChecksumRequired":true }, "PutBucketNotificationConfiguration":{ "name":"PutBucketNotificationConfiguration", @@ -551,7 +796,7 @@ "requestUri":"/{Bucket}?notification" }, "input":{"shape":"PutBucketNotificationConfigurationRequest"}, - "documentation":"Enables notifications of specified events for a bucket." + "documentation":"

    Enables notifications of specified events for a bucket. For more information about event notifications, see Configuring Event Notifications.

    Using this API, you can replace an existing notification configuration. The configuration is an XML file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3 to publish an event notification when it detects an event of the specified type.

    By default, your bucket has no event notifications configured. That is, the notification configuration will be an empty NotificationConfiguration.

    <NotificationConfiguration>

    </NotificationConfiguration>

    This operation replaces the existing notification configuration with the configuration you include in the request body.

    After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner has permission to publish to it by sending a test notification. In the case of AWS Lambda destinations, Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3 Events.

    You can disable notifications by adding the empty NotificationConfiguration element.

    By default, only the bucket owner can configure notifications on a bucket. However, bucket owners can use a bucket policy to grant permission to other users to set this configuration with s3:PutBucketNotification permission.

    The PUT notification is an atomic operation. For example, suppose your notification configuration includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT operation will fail, and Amazon S3 will not add the configuration to your bucket.

    Responses

    If the configuration in the request body includes only one TopicConfiguration specifying only the s3:ReducedRedundancyLostObject event type, the response will also include the x-amz-sns-test-message-id header containing the message ID of the test notification sent to the topic.

    The following operation is related to PutBucketNotificationConfiguration:

    " }, "PutBucketPolicy":{ "name":"PutBucketPolicy", @@ -561,7 +806,8 @@ }, "input":{"shape":"PutBucketPolicyRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html", - "documentation":"Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it." + "documentation":"

    Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

    If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

    As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

    For more information about bucket policies, see Using Bucket Policies and User Policies.

    The following operations are related to PutBucketPolicy:

    ", + "httpChecksumRequired":true }, "PutBucketReplication":{ "name":"PutBucketReplication", @@ -570,7 +816,8 @@ "requestUri":"/{Bucket}?replication" }, "input":{"shape":"PutBucketReplicationRequest"}, - "documentation":"Creates a new replication configuration (or replaces an existing one, if present)." + "documentation":"

    Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 Developer Guide.

    To perform this operation, the user or role performing the operation must have the iam:PassRole permission.

    Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.

    A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset. All rules must specify the same destination bucket.

    To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

    For information about enabling versioning on a bucket, see Using Versioning.

    By default, a resource owner, in this case the AWS account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

    Handling Replication of Encrypted Objects

    By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with CMKs stored in AWS KMS. To replicate AWS KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using CMKs stored in AWS KMS.

    For information on PutBucketReplication errors, see ReplicationErrorCodeList

    The following operations are related to PutBucketReplication:

    ", + "httpChecksumRequired":true }, "PutBucketRequestPayment":{ "name":"PutBucketRequestPayment", @@ -580,7 +827,8 @@ }, "input":{"shape":"PutBucketRequestPaymentRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTrequestPaymentPUT.html", - "documentation":"Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html" + "documentation":"

    Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see Requester Pays Buckets.

    The following operations are related to PutBucketRequestPayment:

    ", + "httpChecksumRequired":true }, "PutBucketTagging":{ "name":"PutBucketTagging", @@ -590,7 +838,8 @@ }, "input":{"shape":"PutBucketTaggingRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTtagging.html", - "documentation":"Sets the tags for a bucket." + "documentation":"

    Sets the tags for a bucket.

    Use tags to organize your AWS bill to reflect your own cost structure. To do this, sign up to get your AWS account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging.

    Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites the old value. For more information, see Using Cost Allocation in Amazon S3 Bucket Tags.

    To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

    PutBucketTagging has the following special errors:

    • Error code: InvalidTagError

    • Error code: MalformedXMLError

      • Description: The XML provided does not match the schema.

    • Error code: OperationAbortedError

      • Description: A conflicting conditional operation is currently in progress against this resource. Please try again.

    • Error code: InternalError

      • Description: The service was unable to apply the provided tag to the bucket.

    The following operations are related to PutBucketTagging:

    ", + "httpChecksumRequired":true }, "PutBucketVersioning":{ "name":"PutBucketVersioning", @@ -600,7 +849,8 @@ }, "input":{"shape":"PutBucketVersioningRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html", - "documentation":"Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner." + "documentation":"

    Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

    You can set the versioning state with one of the following values:

    Enabled—Enables versioning for the objects in the bucket. All objects added to the bucket receive a unique version ID.

    Suspended—Disables versioning for the objects in the bucket. All objects added to the bucket receive the version ID null.

    If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

    If the bucket owner enables MFA Delete in the bucket versioning configuration, the bucket owner must include the x-amz-mfa request header and the Status and the MfaDelete request elements in a request to set the versioning state of the bucket.

    If you have an object expiration lifecycle policy in your non-versioned bucket and you want to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will manage the deletes of the noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one current and zero or more noncurrent object versions.) For more information, see Lifecycle and Versioning.

    Related Resources

    ", + "httpChecksumRequired":true }, "PutBucketWebsite":{ "name":"PutBucketWebsite", @@ -610,7 +860,8 @@ }, "input":{"shape":"PutBucketWebsiteRequest"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html", - "documentation":"Set the website configuration for a bucket." + "documentation":"

    Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

    This PUT operation requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

    To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

    • WebsiteConfiguration

    • RedirectAllRequestsTo

    • HostName

    • Protocol

    If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

    • WebsiteConfiguration

    • IndexDocument

    • Suffix

    • ErrorDocument

    • Key

    • RoutingRules

    • RoutingRule

    • Condition

    • HttpErrorCodeReturnedEquals

    • KeyPrefixEquals

    • Redirect

    • Protocol

    • HostName

    • ReplaceKeyPrefixWith

    • ReplaceKeyWith

    • HttpRedirectCode

    Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon Simple Storage Service Developer Guide.

    ", + "httpChecksumRequired":true }, "PutObject":{ "name":"PutObject", @@ -621,7 +872,7 @@ "input":{"shape":"PutObjectRequest"}, "output":{"shape":"PutObjectOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUT.html", - "documentation":"Adds an object to a bucket." + "documentation":"

    Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

    Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket.

    Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead.

    To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

    The Content-MD5 header is required for any request to upload an object with a retention period configured using Amazon S3 Object Lock. For more information about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview in the Amazon Simple Storage Service Developer Guide.

    Server-side Encryption

    You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use AWS managed encryption keys. For more information, see Using Server-Side Encryption.

    Access Control List (ACL)-Specific Request Headers

    You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual AWS accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

    Storage Class Options

    By default, Amazon S3 uses the STANDARD storage class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different storage class. For more information, see Storage Classes in the Amazon S3 Service Developer Guide.

    Versioning

    If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects.

    For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

    Related Resources

    " }, "PutObjectAcl":{ "name":"PutObjectAcl", @@ -635,7 +886,62 @@ {"shape":"NoSuchKey"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectPUTacl.html", - "documentation":"uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket" + "documentation":"

    Uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket. You must have WRITE_ACP permission to set the ACL of an object.

    Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 Developer Guide.

    Access Permissions

    You can set access permissions using one of the following methods:

    • Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see Canned ACL.

    • Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control headers. When using these headers, you specify explicit access permissions and grantees (AWS accounts or Amazon S3 groups) who will receive the permission. If you use these ACL-specific headers, you cannot use x-amz-acl header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports in an ACL. For more information, see Access Control List (ACL) Overview.

      You specify each grantee as a type=value pair, where the type is one of the following:

      • id – if the value specified is the canonical user ID of an AWS account

      • uri – if you are granting permissions to a predefined group

      • emailAddress – if the value specified is the email address of an AWS account

        Using email addresses to specify a grantee is only supported in the following AWS Regions:

        • US East (N. Virginia)

        • US West (N. California)

        • US West (Oregon)

        • Asia Pacific (Singapore)

        • Asia Pacific (Sydney)

        • Asia Pacific (Tokyo)

        • Europe (Ireland)

        • South America (São Paulo)

        For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

      For example, the following x-amz-grant-read header grants list objects permission to the two AWS accounts identified by their email addresses.

      x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"

    You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

    Grantee Values

    You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

    • By the person's ID:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"CanonicalUser\"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName> </Grantee>

      DisplayName is optional and ignored in the request.

    • By URI:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"Group\"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>

    • By Email address:

      <Grantee xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>

      The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl request, appears as the CanonicalUser.

      Using email addresses to specify a grantee is only supported in the following AWS Regions:

      • US East (N. Virginia)

      • US West (N. California)

      • US West (Oregon)

      • Asia Pacific (Singapore)

      • Asia Pacific (Sydney)

      • Asia Pacific (Tokyo)

      • Europe (Ireland)

      • South America (São Paulo)

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

    Versioning

    The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutObjectLegalHold":{ + "name":"PutObjectLegalHold", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}/{Key+}?legal-hold" + }, + "input":{"shape":"PutObjectLegalHoldRequest"}, + "output":{"shape":"PutObjectLegalHoldOutput"}, + "documentation":"

    Applies a Legal Hold configuration to the specified object.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutObjectLockConfiguration":{ + "name":"PutObjectLockConfiguration", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?object-lock" + }, + "input":{"shape":"PutObjectLockConfigurationRequest"}, + "output":{"shape":"PutObjectLockConfigurationOutput"}, + "documentation":"

    Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket.

    DefaultRetention requires either Days or Years. You can't specify both at the same time.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutObjectRetention":{ + "name":"PutObjectRetention", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}/{Key+}?retention" + }, + "input":{"shape":"PutObjectRetentionRequest"}, + "output":{"shape":"PutObjectRetentionOutput"}, + "documentation":"

    Places an Object Retention configuration on an object.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutObjectTagging":{ + "name":"PutObjectTagging", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}/{Key+}?tagging" + }, + "input":{"shape":"PutObjectTaggingRequest"}, + "output":{"shape":"PutObjectTaggingOutput"}, + "documentation":"

    Sets the supplied tag-set to an object that already exists in a bucket.

    A tag is a key-value pair. You can associate tags with an object by sending a PUT request against the tagging subresource that is associated with the object. You can retrieve tags by sending a GET request. For more information, see GetObjectTagging.

    For tagging-related restrictions related to characters and encodings, see Tag Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

    To use this operation, you must have permission to perform the s3:PutObjectTagging action. By default, the bucket owner has this permission and can grant this permission to others.

    To put tags of any other version, use the versionId query parameter. You also need permission for the s3:PutObjectVersionTagging action.

    For information about the Amazon S3 object tagging feature, see Object Tagging.

    Special Errors

      • Code: InvalidTagError

      • Cause: The tag provided was not a valid tag. This error can occur if the tag did not pass input validation. For more information, see Object Tagging.

      • Code: MalformedXMLError

      • Cause: The XML provided does not match the schema.

      • Code: OperationAbortedError

      • Cause: A conflicting conditional operation is currently in progress against this resource. Please try again.

      • Code: InternalError

      • Cause: The service was unable to apply the provided tag to the object.

    Related Resources

    ", + "httpChecksumRequired":true + }, + "PutPublicAccessBlock":{ + "name":"PutPublicAccessBlock", + "http":{ + "method":"PUT", + "requestUri":"/{Bucket}?publicAccessBlock" + }, + "input":{"shape":"PutPublicAccessBlockRequest"}, + "documentation":"

    Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

    When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it checks the PublicAccessBlock configuration for both the bucket (or the bucket that contains the object) and the bucket owner's account. If the PublicAccessBlock configurations are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the bucket-level and account-level settings.

    For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

    Related Resources

    ", + "httpChecksumRequired":true }, "RestoreObject":{ "name":"RestoreObject", @@ -649,9 +955,23 @@ {"shape":"ObjectAlreadyInActiveTierError"} ], "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/RESTObjectRestore.html", - "documentation":"Restores an archived copy of an object back into Amazon S3", + "documentation":"

    Restores an archived copy of an object back into Amazon S3

    This operation performs the following types of requests:

    • select - Perform a select query on an archived object

    • restore an archive - Restore an archived object

    To use this operation, you must have permissions to perform the s3:RestoreObject action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon Simple Storage Service Developer Guide.

    Querying Archives with Select Requests

    You use a select type of request to perform SQL queries on archived objects. The archived objects that are being queried by the select request must be formatted as uncompressed comma-separated values (CSV) files. You can run queries and custom analytics on your archived data without having to restore your data to a hotter Amazon S3 tier. For an overview about select requests, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.

    When making a select request, do the following:

    • Define an output location for the select query's output. This must be an Amazon S3 bucket in the same AWS Region as the bucket that contains the archive object that is being queried. The AWS account that initiates the job must have permissions to write to the S3 bucket. You can specify the storage class and encryption for the output objects stored in the bucket. For more information about output, see Querying Archived Objects in the Amazon Simple Storage Service Developer Guide.

      For more information about the S3 structure in the request body, see the following:

    • Define the SQL expression for the SELECT type of restoration for your query in the request body's SelectParameters structure. You can use expressions like the following examples.

      • The following expression returns all records from the specified object.

        SELECT * FROM Object

      • Assuming that you are not using any headers for data stored in the object, you can specify columns with positional headers.

        SELECT s._1, s._2 FROM Object s WHERE s._3 > 100

      • If you have headers and you set the fileHeaderInfo in the CSV structure in the request body to USE, you can specify headers in the query. (If you set the fileHeaderInfo field to IGNORE, the first row is skipped for the query.) You cannot mix ordinal positions with header column names.

        SELECT s.Id, s.FirstName, s.SSN FROM S3Object s

    For more information about using SQL with S3 Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon Simple Storage Service Developer Guide.

    When making a select request, you can also do the following:

    • To expedite your queries, specify the Expedited tier. For more information about tiers, see \"Restoring Archives,\" later in this topic.

    • Specify details about the data serialization format of both the input object that is being queried and the serialization of the CSV-encoded query results.

    The following are additional important facts about the select feature:

    • The output results are new Amazon S3 objects. Unlike archive retrievals, they are stored until explicitly deleted-manually or through a lifecycle policy.

    • You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing duplicate requests.

    • Amazon S3 accepts a select request even if the object has already been restored. A select request doesn’t return error response 409.

    Restoring Archives

    Objects in the GLACIER and DEEP_ARCHIVE storage classes are archived. To access an archived object, you must first initiate a restore request. This restores a temporary copy of the archived object. In a restore request, you specify the number of days that you want the restored copy to exist. After the specified period, Amazon S3 deletes the temporary copy but the object remains archived in the GLACIER or DEEP_ARCHIVE storage class that object was restored from.

    To restore a specific object version, you can provide a version ID. If you don't provide a version ID, Amazon S3 restores the current version.

    The time it takes restore jobs to finish depends on which storage class the object is being restored from and which data access tier you specify.

    When restoring an archived object (or using a select request), you can specify one of the following data access tier options in the Tier element of the request body:

    • Expedited - Expedited retrievals allow you to quickly access your data stored in the GLACIER storage class when occasional urgent requests for a subset of archives are required. For all but the largest archived objects (250 MB+), data accessed using Expedited retrievals are typically made available within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is available when you need it. Expedited retrievals and provisioned capacity are not available for the DEEP_ARCHIVE storage class.

    • Standard - S3 Standard retrievals allow you to access any of your archived objects within several hours. This is the default option for the GLACIER and DEEP_ARCHIVE retrieval requests that do not specify the retrieval option. S3 Standard retrievals typically complete within 3-5 hours from the GLACIER storage class and typically complete within 12 hours from the DEEP_ARCHIVE storage class.

    • Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval option, enabling you to retrieve large amounts, even petabytes, of data inexpensively in a day. Bulk retrievals typically complete within 5-12 hours from the GLACIER storage class and typically complete within 48 hours from the DEEP_ARCHIVE storage class.

    For more information about archive retrieval options and provisioned capacity for Expedited data access, see Restoring Archived Objects in the Amazon Simple Storage Service Developer Guide.

    You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it is in progress. You upgrade the speed of an in-progress restoration by issuing another restore request to the same object, setting a new Tier request element. When issuing a request to upgrade the restore tier, you must choose a tier that is faster than the tier that the in-progress restore is using. You must not change any other parameters, such as the Days request element. For more information, see Upgrading the Speed of an In-Progress Restore in the Amazon Simple Storage Service Developer Guide.

    To get the status of object restoration, you can send a HEAD request. Operations return the x-amz-restore header, which provides information about the restoration status, in the response. You can use Amazon S3 event notifications to notify you when a restore is initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in the Amazon Simple Storage Service Developer Guide.

    After restoring an archived object, you can update the restoration period by reissuing the request with a new period. Amazon S3 updates the restoration period relative to the current time and charges only for the request-there are no data transfer charges. You cannot update the restoration period when Amazon S3 is actively processing your current restore request for the object.

    If your bucket has a lifecycle configuration with a rule that includes an expiration action, the object expiration overrides the life span that you specify in a restore request. For example, if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in Amazon Simple Storage Service Developer Guide.

    Responses

    A successful operation returns either the 200 OK or 202 Accepted status code.

    • If the object copy is not previously restored, then Amazon S3 returns 202 Accepted in the response.

    • If the object copy is previously restored, Amazon S3 returns 200 OK in the response.

    Special Errors

      • Code: RestoreAlreadyInProgress

      • Cause: Object restore is already in progress. (This error does not apply to SELECT type requests.)

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: GlacierExpeditedRetrievalNotAvailable

      • Cause: S3 Glacier expedited retrievals are currently not available. Try again later. (Returned if there is insufficient capacity to process the Expedited request. This error applies only to Expedited retrievals and not to S3 Standard or Bulk retrievals.)

      • HTTP Status Code: 503

      • SOAP Fault Code Prefix: N/A

    Related Resources

    ", "alias":"PostObjectRestore" }, + "SelectObjectContent":{ + "name":"SelectObjectContent", + "http":{ + "method":"POST", + "requestUri":"/{Bucket}/{Key+}?select&select-type=2" + }, + "input":{ + "shape":"SelectObjectContentRequest", + "locationName":"SelectObjectContentRequest", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "output":{"shape":"SelectObjectContentOutput"}, + "documentation":"

    This operation filters the contents of an Amazon S3 object based on a simple structured query language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.

    For more information about Amazon S3 Select, see Selecting Content from Objects in the Amazon Simple Storage Service Developer Guide.

    For more information about using SQL with Amazon S3 Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select in the Amazon Simple Storage Service Developer Guide.

    Permissions

    You must have s3:GetObject permission for this operation. Amazon S3 Select does not support anonymous access. For more information about permissions, see Specifying Permissions in a Policy in the Amazon Simple Storage Service Developer Guide.

    Object Data Formats

    You can use Amazon S3 Select to query objects that have the following format properties:

    • CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format.

    • UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports.

    • GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3 Select does not support whole-object compression for Parquet objects.

    • Server-side encryption - Amazon S3 Select supports querying objects that are protected with server-side encryption.

      For objects that are encrypted with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must use the headers that are documented in the GetObject. For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon Simple Storage Service Developer Guide.

      For objects that are encrypted with Amazon S3 managed encryption keys (SSE-S3) and customer master keys (CMKs) stored in AWS Key Management Service (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see Protecting Data Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide.

    Working with the Response Body

    Given the response size is unknown, Amazon S3 Select streams the response as a series of messages and includes a Transfer-Encoding header with chunked as its value in the response. For more information, see RESTSelectObjectAppendix .

    GetObject Support

    The SelectObjectContent operation does not support the following GetObject functionality. For more information, see GetObject.

    • Range: Although you can specify a scan range for an Amazon S3 Select request (see SelectObjectContentRequest$ScanRange in the request parameters), you cannot specify the range of bytes of an object to return.

    • GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For more information, about storage classes see Storage Classes in the Amazon Simple Storage Service Developer Guide.

    Special Errors

    For a list of special errors for this operation, see SelectObjectContentErrorCodeList

    Related Resources

    " + }, "UploadPart":{ "name":"UploadPart", "http":{ @@ -661,7 +981,7 @@ "input":{"shape":"UploadPartRequest"}, "output":{"shape":"UploadPartOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPart.html", - "documentation":"

    Uploads a part in a multipart upload.

    Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

    " + "documentation":"

    Uploads a part in a multipart upload.

    In this operation, you provide part data in your request. However, you have an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To upload a part from an existing object, you use the UploadPartCopy operation.

    You must initiate a multipart upload (see CreateMultipartUpload) before you can upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier, that you must include in your upload part request.

    Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part and also defines its position within the object being created. If you upload a new part using the same part number that was used with a previous part, the previously uploaded part is overwritten. Each part must be at least 5 MB in size, except the last part. There is no size limit on the last part of your multipart upload.

    To ensure that data is not corrupted when traversing the network, specify the Content-MD5 header in the upload part request. Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an error.

    Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

    For more information on multipart uploads, go to Multipart Upload Overview in the Amazon Simple Storage Service Developer Guide .

    For information on the permissions required to use the multipart upload API, go to Multipart Upload API and Permissions in the Amazon Simple Storage Service Developer Guide.

    You can optionally request server-side encryption where Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it for you when you access it. You have the option of providing your own encryption key, or you can use the AWS managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in the request must match the headers you used in the request to initiate the upload by using CreateMultipartUpload. For more information, go to Using Server-Side Encryption in the Amazon Simple Storage Service Developer Guide.

    Server-side encryption is supported by the S3 Multipart Upload actions. Unless you are using a customer-provided encryption key, you don't need to specify the encryption parameters in each UploadPart request. Instead, you only need to specify the server-side encryption parameters in the initial Initiate Multipart request. For more information, see CreateMultipartUpload.

    If you requested server-side encryption using a customer-provided encryption key in your initiate multipart upload request, you must provide identical encryption information in each part upload using the following headers.

    • x-amz-server-side​-encryption​-customer-algorithm

    • x-amz-server-side​-encryption​-customer-key

    • x-amz-server-side​-encryption​-customer-key-MD5

    Special Errors

      • Code: NoSuchUpload

      • Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

    Related Resources

    " }, "UploadPartCopy":{ "name":"UploadPartCopy", @@ -672,7 +992,7 @@ "input":{"shape":"UploadPartCopyRequest"}, "output":{"shape":"UploadPartCopyOutput"}, "documentationUrl":"http://docs.amazonwebservices.com/AmazonS3/latest/API/mpUploadUploadPartCopy.html", - "documentation":"Uploads a part by copying data from an existing object as data source." + "documentation":"

    Uploads a part by copying data from an existing object as data source. You specify the data source by adding the request header x-amz-copy-source in your request and a byte range by adding the request header x-amz-copy-source-range in your request.

    The minimum allowable part size for a multipart upload is 5 MB. For more information about multipart upload limits, go to Quick Facts in the Amazon Simple Storage Service Developer Guide.

    Instead of using an existing object as part data, you might use the UploadPart operation and provide data in your request.

    You must initiate a multipart upload before you can upload any part. In response to your initiate request. Amazon S3 returns a unique identifier, the upload ID, that you must include in your upload part request.

    For more information about using the UploadPartCopy operation, see the following:

    • For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in the Amazon Simple Storage Service Developer Guide.

    • For information about permissions required to use the multipart upload API, see Multipart Upload API and Permissions in the Amazon Simple Storage Service Developer Guide.

    • For information about copying objects using a single atomic operation vs. the multipart upload, see Operations on Objects in the Amazon Simple Storage Service Developer Guide.

    • For information about using server-side encryption with customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.

    Note the following additional considerations about the request headers x-amz-copy-source-if-match, x-amz-copy-source-if-none-match, x-amz-copy-source-if-unmodified-since, and x-amz-copy-source-if-modified-since:

    • Consideration 1 - If both of the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request as follows:

      x-amz-copy-source-if-match condition evaluates to true, and;

      x-amz-copy-source-if-unmodified-since condition evaluates to false;

      Amazon S3 returns 200 OK and copies the data.

    • Consideration 2 - If both of the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request as follows:

      x-amz-copy-source-if-none-match condition evaluates to false, and;

      x-amz-copy-source-if-modified-since condition evaluates to true;

      Amazon S3 returns 412 Precondition Failed response code.

    Versioning

    If your bucket has versioning enabled, you could have multiple versions of the same object. By default, x-amz-copy-source identifies the current version of the object to copy. If the current version is a delete marker and you don't specify a versionId in the x-amz-copy-source, Amazon S3 returns a 404 error, because the object does not exist. If you specify versionId in the x-amz-copy-source and the versionId is a delete marker, Amazon S3 returns an HTTP 400 error, because you are not allowed to specify a delete marker as a version for the x-amz-copy-source.

    You can optionally specify a specific version of the source object to copy by adding the versionId subresource as shown in the following example:

    x-amz-copy-source: /bucket/object?versionId=version id

    Special Errors

      • Code: NoSuchUpload

      • Cause: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

      • HTTP Status Code: 404 Not Found

      • Code: InvalidRequest

      • Cause: The specified copy source is not supported as a byte-range copy source.

      • HTTP Status Code: 400 Bad Request

    Related Resources

    " } }, "shapes":{ @@ -682,10 +1002,10 @@ "members":{ "DaysAfterInitiation":{ "shape":"DaysAfterInitiation", - "documentation":"Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload." + "documentation":"

    Specifies the number of days after which Amazon S3 aborts an incomplete multipart upload.

    " } }, - "documentation":"Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload." + "documentation":"

    Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy in the Amazon Simple Storage Service Developer Guide.

    " }, "AbortMultipartUploadOutput":{ "type":"structure", @@ -707,16 +1027,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name to which the upload was taking place.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Key of the object for which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Key" }, "UploadId":{ "shape":"MultipartUploadId", + "documentation":"

    Upload ID that identifies the multipart upload.

    ", "location":"querystring", "locationName":"uploadId" }, @@ -733,9 +1056,10 @@ "members":{ "Status":{ "shape":"BucketAccelerateStatus", - "documentation":"The accelerate configuration of the bucket." + "documentation":"

    Specifies the transfer acceleration status of the bucket.

    " } - } + }, + "documentation":"

    Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see Amazon S3 Transfer Acceleration in the Amazon Simple Storage Service Developer Guide.

    " }, "AcceptRanges":{"type":"string"}, "AccessControlPolicy":{ @@ -743,12 +1067,29 @@ "members":{ "Grants":{ "shape":"Grants", - "documentation":"A list of grants.", + "documentation":"

    A list of grants.

    ", "locationName":"AccessControlList" }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

    Container for the bucket owner's display name and ID.

    " + } + }, + "documentation":"

    Contains the elements that set the ACL permissions for an object per grantee.

    " + }, + "AccessControlTranslation":{ + "type":"structure", + "required":["Owner"], + "members":{ + "Owner":{ + "shape":"OwnerOverride", + "documentation":"

    Specifies the replica ownership. For default and valid values, see PUT bucket replication in the Amazon Simple Storage Service API Reference.

    " + } + }, + "documentation":"

    A container for information about access control for replicas.

    " }, + "AccountId":{"type":"string"}, + "AllowQuotedRecordDelimiter":{"type":"boolean"}, "AllowedHeader":{"type":"string"}, "AllowedHeaders":{ "type":"list", @@ -767,19 +1108,123 @@ "member":{"shape":"AllowedOrigin"}, "flattened":true }, + "AnalyticsAndOperator":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix to use when evaluating an AND predicate: The prefix that an object must have to be included in the metrics results.

    " + }, + "Tags":{ + "shape":"TagSet", + "documentation":"

    The list of tags to use when evaluating an AND predicate.

    ", + "flattened":true, + "locationName":"Tag" + } + }, + "documentation":"

    A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates in any combination, and an object must match all of the predicates for the filter to apply.

    " + }, + "AnalyticsConfiguration":{ + "type":"structure", + "required":[ + "Id", + "StorageClassAnalysis" + ], + "members":{ + "Id":{ + "shape":"AnalyticsId", + "documentation":"

    The ID that identifies the analytics configuration.

    " + }, + "Filter":{ + "shape":"AnalyticsFilter", + "documentation":"

    The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

    " + }, + "StorageClassAnalysis":{ + "shape":"StorageClassAnalysis", + "documentation":"

    Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.

    " + } + }, + "documentation":"

    Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.

    " + }, + "AnalyticsConfigurationList":{ + "type":"list", + "member":{"shape":"AnalyticsConfiguration"}, + "flattened":true + }, + "AnalyticsExportDestination":{ + "type":"structure", + "required":["S3BucketDestination"], + "members":{ + "S3BucketDestination":{ + "shape":"AnalyticsS3BucketDestination", + "documentation":"

    A destination signifying output to an S3 bucket.

    " + } + }, + "documentation":"

    Where to publish the analytics results.

    " + }, + "AnalyticsFilter":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix to use when evaluating an analytics filter.

    " + }, + "Tag":{ + "shape":"Tag", + "documentation":"

    The tag to use when evaluating an analytics filter.

    " + }, + "And":{ + "shape":"AnalyticsAndOperator", + "documentation":"

    A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.

    " + } + }, + "documentation":"

    The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.

    " + }, + "AnalyticsId":{"type":"string"}, + "AnalyticsS3BucketDestination":{ + "type":"structure", + "required":[ + "Format", + "Bucket" + ], + "members":{ + "Format":{ + "shape":"AnalyticsS3ExportFileFormat", + "documentation":"

    Specifies the file format used when exporting data to Amazon S3.

    " + }, + "BucketAccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.

    Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.

    " + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The Amazon Resource Name (ARN) of the bucket to which data is exported.

    " + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix to use when exporting data. The prefix is prepended to all results.

    " + } + }, + "documentation":"

    Contains information about where to publish the analytics results.

    " + }, + "AnalyticsS3ExportFileFormat":{ + "type":"string", + "enum":["CSV"] + }, "Body":{"type":"blob"}, "Bucket":{ "type":"structure", "members":{ "Name":{ "shape":"BucketName", - "documentation":"The name of the bucket." + "documentation":"

    The name of the bucket.

    " }, "CreationDate":{ "shape":"CreationDate", - "documentation":"Date the bucket was created." + "documentation":"

    Date the bucket was created.

    " } - } + }, + "documentation":"

    In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is globally unique, and the namespace is shared by all AWS accounts.

    " }, "BucketAccelerateStatus":{ "type":"string", @@ -792,13 +1237,14 @@ "type":"structure", "members":{ }, - "documentation":"The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.", + "documentation":"

    The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

    ", "exception":true }, "BucketAlreadyOwnedByYou":{ "type":"structure", "members":{ }, + "documentation":"

    The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs).

    ", "exception":true }, "BucketCannedACL":{ @@ -816,9 +1262,11 @@ "members":{ "Rules":{ "shape":"LifecycleRules", + "documentation":"

    A lifecycle rule for individual objects in an Amazon S3 bucket.

    ", "locationName":"Rule" } - } + }, + "documentation":"

    Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see Object Lifecycle Management in the Amazon Simple Storage Service Developer Guide.

    " }, "BucketLocationConstraint":{ "type":"string", @@ -840,7 +1288,8 @@ "type":"structure", "members":{ "LoggingEnabled":{"shape":"LoggingEnabled"} - } + }, + "documentation":"

    Container for logging status information.

    " }, "BucketLogsPermission":{ "type":"string", @@ -865,15 +1314,21 @@ "locationName":"Bucket" } }, + "BypassGovernanceRetention":{"type":"boolean"}, + "BytesProcessed":{"type":"long"}, + "BytesReturned":{"type":"long"}, + "BytesScanned":{"type":"long"}, "CORSConfiguration":{ "type":"structure", "required":["CORSRules"], "members":{ "CORSRules":{ "shape":"CORSRules", + "documentation":"

    A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.

    ", "locationName":"CORSRule" } - } + }, + "documentation":"

    Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.

    " }, "CORSRule":{ "type":"structure", @@ -884,35 +1339,96 @@ "members":{ "AllowedHeaders":{ "shape":"AllowedHeaders", - "documentation":"Specifies which headers are allowed in a pre-flight OPTIONS request.", + "documentation":"

    Headers that are specified in the Access-Control-Request-Headers header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.

    ", "locationName":"AllowedHeader" }, "AllowedMethods":{ "shape":"AllowedMethods", - "documentation":"Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.", + "documentation":"

    An HTTP method that you allow the origin to execute. Valid values are GET, PUT, HEAD, POST, and DELETE.

    ", "locationName":"AllowedMethod" }, "AllowedOrigins":{ "shape":"AllowedOrigins", - "documentation":"One or more origins you want customers to be able to access the bucket from.", + "documentation":"

    One or more origins you want customers to be able to access the bucket from.

    ", "locationName":"AllowedOrigin" }, "ExposeHeaders":{ "shape":"ExposeHeaders", - "documentation":"One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).", + "documentation":"

    One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

    ", "locationName":"ExposeHeader" }, "MaxAgeSeconds":{ "shape":"MaxAgeSeconds", - "documentation":"The time in seconds that your browser is to cache the preflight response for the specified resource." + "documentation":"

    The time in seconds that your browser is to cache the preflight response for the specified resource.

    " } - } + }, + "documentation":"

    Specifies a cross-origin access rule for an Amazon S3 bucket.

    " }, "CORSRules":{ "type":"list", "member":{"shape":"CORSRule"}, "flattened":true }, + "CSVInput":{ + "type":"structure", + "members":{ + "FileHeaderInfo":{ + "shape":"FileHeaderInfo", + "documentation":"

    Describes the first line of input. Valid values are:

    • NONE: First line is not a header.

    • IGNORE: First line is a header, but you can't use the header values to indicate the column in an expression. You can use column position (such as _1, _2, …) to indicate the column (SELECT s._1 FROM OBJECT s).

    • Use: First line is a header, and you can use the header value to identify a column in an expression (SELECT \"name\" FROM OBJECT).

    " + }, + "Comments":{ + "shape":"Comments", + "documentation":"

    A single character used to indicate that a row should be ignored when the character is present at the start of that row. You can specify any character to indicate a comment line.

    " + }, + "QuoteEscapeCharacter":{ + "shape":"QuoteEscapeCharacter", + "documentation":"

    A single character used for escaping the quotation mark character inside an already escaped value. For example, the value \"\"\" a , b \"\"\" is parsed as \" a , b \".

    " + }, + "RecordDelimiter":{ + "shape":"RecordDelimiter", + "documentation":"

    A single character used to separate individual records in the input. Instead of the default value, you can specify an arbitrary delimiter.

    " + }, + "FieldDelimiter":{ + "shape":"FieldDelimiter", + "documentation":"

    A single character used to separate individual fields in a record. You can specify an arbitrary delimiter.

    " + }, + "QuoteCharacter":{ + "shape":"QuoteCharacter", + "documentation":"

    A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b, Amazon S3 wraps this field value in quotation marks, as follows: \" a , b \".

    Type: String

    Default: \"

    Ancestors: CSV

    " + }, + "AllowQuotedRecordDelimiter":{ + "shape":"AllowQuotedRecordDelimiter", + "documentation":"

    Specifies that CSV field values may contain quoted record delimiters and such records should be allowed. Default value is FALSE. Setting this value to TRUE may lower performance.

    " + } + }, + "documentation":"

    Describes how an uncompressed comma-separated values (CSV)-formatted input object is formatted.

    " + }, + "CSVOutput":{ + "type":"structure", + "members":{ + "QuoteFields":{ + "shape":"QuoteFields", + "documentation":"

    Indicates whether to use quotation marks around output fields.

    • ALWAYS: Always use quotation marks for output fields.

    • ASNEEDED: Use quotation marks for output fields when needed.

    " + }, + "QuoteEscapeCharacter":{ + "shape":"QuoteEscapeCharacter", + "documentation":"

    The single character used for escaping the quote character inside an already escaped value.

    " + }, + "RecordDelimiter":{ + "shape":"RecordDelimiter", + "documentation":"

    A single character used to separate individual records in the output. Instead of the default value, you can specify an arbitrary delimiter.

    " + }, + "FieldDelimiter":{ + "shape":"FieldDelimiter", + "documentation":"

    The value used to separate individual fields in a record. You can specify an arbitrary delimiter.

    " + }, + "QuoteCharacter":{ + "shape":"QuoteCharacter", + "documentation":"

    A single character used for escaping when the field delimiter is part of the value. For example, if the value is a, b, Amazon S3 wraps this field value in quotation marks, as follows: \" a , b \".

    " + } + }, + "documentation":"

    Describes how uncompressed comma-separated values (CSV)-formatted results are formatted.

    " + }, "CacheControl":{"type":"string"}, "CloudFunction":{"type":"string"}, "CloudFunctionConfiguration":{ @@ -925,19 +1441,32 @@ }, "Events":{ "shape":"EventList", + "documentation":"

    Bucket events for which to send notifications.

    ", "locationName":"Event" }, - "CloudFunction":{"shape":"CloudFunction"}, - "InvocationRole":{"shape":"CloudFunctionInvocationRole"} - } + "CloudFunction":{ + "shape":"CloudFunction", + "documentation":"

    Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.

    " + }, + "InvocationRole":{ + "shape":"CloudFunctionInvocationRole", + "documentation":"

    The role supporting the invocation of the Lambda function

    " + } + }, + "documentation":"

    Container for specifying the AWS Lambda notification configuration.

    " }, "CloudFunctionInvocationRole":{"type":"string"}, "Code":{"type":"string"}, + "Comments":{"type":"string"}, "CommonPrefix":{ "type":"structure", "members":{ - "Prefix":{"shape":"Prefix"} - } + "Prefix":{ + "shape":"Prefix", + "documentation":"

    Container for the specified common prefix.

    " + } + }, + "documentation":"

    Container for all (if there are any) keys between Prefix and the next occurrence of the string specified by a delimiter. CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix. For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/.

    " }, "CommonPrefixList":{ "type":"list", @@ -947,34 +1476,43 @@ "CompleteMultipartUploadOutput":{ "type":"structure", "members":{ - "Location":{"shape":"Location"}, - "Bucket":{"shape":"BucketName"}, - "Key":{"shape":"ObjectKey"}, + "Location":{ + "shape":"Location", + "documentation":"

    The URI that identifies the newly created object.

    " + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket that contains the newly created object.

    " + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The object key of the newly created object.

    " + }, "Expiration":{ "shape":"Expiration", - "documentation":"If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.", + "documentation":"

    If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.

    ", "location":"header", "locationName":"x-amz-expiration" }, "ETag":{ "shape":"ETag", - "documentation":"Entity tag of the object." + "documentation":"

    Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits.

    " }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    If you specified server-side encryption either with an Amazon S3-managed encryption key or an AWS KMS customer master key (CMK) in your initiate multipart upload request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version of the object.", + "documentation":"

    Version ID of the newly created object, in case the bucket has versioning turned on.

    ", "location":"header", "locationName":"x-amz-version-id" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -995,21 +1533,25 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Object key for which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Key" }, "MultipartUpload":{ "shape":"CompletedMultipartUpload", + "documentation":"

    The container for the multipart upload request information.

    ", "locationName":"CompleteMultipartUpload", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "UploadId":{ "shape":"MultipartUploadId", + "documentation":"

    ID for the initiated multipart upload.

    ", "location":"querystring", "locationName":"uploadId" }, @@ -1026,41 +1568,54 @@ "members":{ "Parts":{ "shape":"CompletedPartList", + "documentation":"

    Array of CompletedPart data types.

    ", "locationName":"Part" } - } + }, + "documentation":"

    The container for the completed multipart upload details.

    " }, "CompletedPart":{ "type":"structure", "members":{ "ETag":{ "shape":"ETag", - "documentation":"Entity tag returned when the part was uploaded." + "documentation":"

    Entity tag returned when the part was uploaded.

    " }, "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number that identifies the part. This is a positive integer between 1 and 10,000." + "documentation":"

    Part number that identifies the part. This is a positive integer between 1 and 10,000.

    " } - } + }, + "documentation":"

    Details of the parts that were uploaded.

    " }, "CompletedPartList":{ "type":"list", "member":{"shape":"CompletedPart"}, "flattened":true }, + "CompressionType":{ + "type":"string", + "enum":[ + "NONE", + "GZIP", + "BZIP2" + ] + }, "Condition":{ "type":"structure", "members":{ "HttpErrorCodeReturnedEquals":{ "shape":"HttpErrorCodeReturnedEquals", - "documentation":"The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied." + "documentation":"

    The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.

    " }, "KeyPrefixEquals":{ "shape":"KeyPrefixEquals", - "documentation":"The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied." + "documentation":"

    The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.

    " } - } + }, + "documentation":"

    A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

    " }, + "ConfirmRemoveSelfBucketAccess":{"type":"boolean"}, "ContentDisposition":{"type":"string"}, "ContentEncoding":{"type":"string"}, "ContentLanguage":{"type":"string"}, @@ -1068,51 +1623,68 @@ "ContentMD5":{"type":"string"}, "ContentRange":{"type":"string"}, "ContentType":{"type":"string"}, + "ContinuationEvent":{ + "type":"structure", + "members":{ + }, + "documentation":"

    ", + "event":true + }, "CopyObjectOutput":{ "type":"structure", "members":{ - "CopyObjectResult":{"shape":"CopyObjectResult"}, + "CopyObjectResult":{ + "shape":"CopyObjectResult", + "documentation":"

    Container for all response elements.

    " + }, "Expiration":{ "shape":"Expiration", - "documentation":"If the object expiration is configured, the response includes this header.", + "documentation":"

    If the object expiration is configured, the response includes this header.

    ", "location":"header", "locationName":"x-amz-expiration" }, "CopySourceVersionId":{ "shape":"CopySourceVersionId", + "documentation":"

    Version of the copied object in the destination bucket.

    ", "location":"header", "locationName":"x-amz-copy-source-version-id" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version ID of the newly created copy.", + "documentation":"

    Version ID of the newly created copy.

    ", "location":"header", "locationName":"x-amz-version-id" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, "RequestCharged":{ "shape":"RequestCharged", "location":"header", @@ -1131,179 +1703,193 @@ "members":{ "ACL":{ "shape":"ObjectCannedACL", - "documentation":"The canned ACL to apply to the object.", + "documentation":"

    The canned ACL to apply to the object.

    ", "location":"header", "locationName":"x-amz-acl" }, "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the destination bucket.

    ", "location":"uri", "locationName":"Bucket" }, "CacheControl":{ "shape":"CacheControl", - "documentation":"Specifies caching behavior along the request/reply chain.", + "documentation":"

    Specifies caching behavior along the request/reply chain.

    ", "location":"header", "locationName":"Cache-Control" }, "ContentDisposition":{ "shape":"ContentDisposition", - "documentation":"Specifies presentational information for the object.", + "documentation":"

    Specifies presentational information for the object.

    ", "location":"header", "locationName":"Content-Disposition" }, "ContentEncoding":{ "shape":"ContentEncoding", - "documentation":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "documentation":"

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

    ", "location":"header", "locationName":"Content-Encoding" }, "ContentLanguage":{ "shape":"ContentLanguage", - "documentation":"The language the content is in.", + "documentation":"

    The language the content is in.

    ", "location":"header", "locationName":"Content-Language" }, "ContentType":{ "shape":"ContentType", - "documentation":"A standard MIME type describing the format of the object data.", + "documentation":"

    A standard MIME type describing the format of the object data.

    ", "location":"header", "locationName":"Content-Type" }, "CopySource":{ "shape":"CopySource", - "documentation":"The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.", + "documentation":"

    The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

    ", "location":"header", "locationName":"x-amz-copy-source" }, "CopySourceIfMatch":{ "shape":"CopySourceIfMatch", - "documentation":"Copies the object if its entity tag (ETag) matches the specified tag.", + "documentation":"

    Copies the object if its entity tag (ETag) matches the specified tag.

    ", "location":"header", "locationName":"x-amz-copy-source-if-match" }, "CopySourceIfModifiedSince":{ "shape":"CopySourceIfModifiedSince", - "documentation":"Copies the object if it has been modified since the specified time.", + "documentation":"

    Copies the object if it has been modified since the specified time.

    ", "location":"header", "locationName":"x-amz-copy-source-if-modified-since" }, "CopySourceIfNoneMatch":{ "shape":"CopySourceIfNoneMatch", - "documentation":"Copies the object if its entity tag (ETag) is different than the specified ETag.", + "documentation":"

    Copies the object if its entity tag (ETag) is different than the specified ETag.

    ", "location":"header", "locationName":"x-amz-copy-source-if-none-match" }, "CopySourceIfUnmodifiedSince":{ "shape":"CopySourceIfUnmodifiedSince", - "documentation":"Copies the object if it hasn't been modified since the specified time.", + "documentation":"

    Copies the object if it hasn't been modified since the specified time.

    ", "location":"header", "locationName":"x-amz-copy-source-if-unmodified-since" }, "Expires":{ "shape":"Expires", - "documentation":"The date and time at which the object is no longer cacheable.", + "documentation":"

    The date and time at which the object is no longer cacheable.

    ", "location":"header", "locationName":"Expires" }, "GrantFullControl":{ "shape":"GrantFullControl", - "documentation":"Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "documentation":"

    Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

    ", "location":"header", "locationName":"x-amz-grant-full-control" }, "GrantRead":{ "shape":"GrantRead", - "documentation":"Allows grantee to read the object data and its metadata.", + "documentation":"

    Allows grantee to read the object data and its metadata.

    ", "location":"header", "locationName":"x-amz-grant-read" }, "GrantReadACP":{ "shape":"GrantReadACP", - "documentation":"Allows grantee to read the object ACL.", + "documentation":"

    Allows grantee to read the object ACL.

    ", "location":"header", "locationName":"x-amz-grant-read-acp" }, "GrantWriteACP":{ "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable object.", + "documentation":"

    Allows grantee to write the ACL for the applicable object.

    ", "location":"header", "locationName":"x-amz-grant-write-acp" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    The key of the destination object.

    ", "location":"uri", "locationName":"Key" }, "Metadata":{ "shape":"Metadata", - "documentation":"A map of metadata to store with the object in S3.", + "documentation":"

    A map of metadata to store with the object in S3.

    ", "location":"headers", "locationName":"x-amz-meta-" }, "MetadataDirective":{ "shape":"MetadataDirective", - "documentation":"Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.", + "documentation":"

    Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.

    ", "location":"header", "locationName":"x-amz-metadata-directive" }, + "TaggingDirective":{ + "shape":"TaggingDirective", + "documentation":"

    Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.

    ", + "location":"header", + "locationName":"x-amz-tagging-directive" + }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "StorageClass":{ "shape":"StorageClass", - "documentation":"The type of storage to use for the object. Defaults to 'STANDARD'.", + "documentation":"

    The type of storage to use for the object. Defaults to 'STANDARD'.

    ", "location":"header", "locationName":"x-amz-storage-class" }, "WebsiteRedirectLocation":{ "shape":"WebsiteRedirectLocation", - "documentation":"If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "documentation":"

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    ", "location":"header", "locationName":"x-amz-website-redirect-location" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version", + "documentation":"

    Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 Developer Guide.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, - "CopySourceSSECustomerAlgorithm":{ + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, + "CopySourceSSECustomerAlgorithm":{ "shape":"CopySourceSSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use when decrypting the source object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use when decrypting the source object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-algorithm" }, "CopySourceSSECustomerKey":{ "shape":"CopySourceSSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-key" }, "CopySourceSSECustomerKeyMD5":{ "shape":"CopySourceSSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-key-MD5" }, @@ -1311,28 +1897,60 @@ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" + }, + "Tagging":{ + "shape":"TaggingHeader", + "documentation":"

    The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters.

    ", + "location":"header", + "locationName":"x-amz-tagging" + }, + "ObjectLockMode":{ + "shape":"ObjectLockMode", + "documentation":"

    The Object Lock mode that you want to apply to the copied object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-mode" + }, + "ObjectLockRetainUntilDate":{ + "shape":"ObjectLockRetainUntilDate", + "documentation":"

    The date and time when you want the copied object's Object Lock to expire.

    ", + "location":"header", + "locationName":"x-amz-object-lock-retain-until-date" + }, + "ObjectLockLegalHoldStatus":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Specifies whether you want to apply a Legal Hold to the copied object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-legal-hold" } } }, "CopyObjectResult":{ "type":"structure", "members":{ - "ETag":{"shape":"ETag"}, - "LastModified":{"shape":"LastModified"} - } + "ETag":{ + "shape":"ETag", + "documentation":"

    Returns the ETag of the new object. The ETag reflects only changes to the contents of an object, not its metadata. The source and destination ETag is identical for a successfully copied object.

    " + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

    Returns the date that the object was last modified.

    " + } + }, + "documentation":"

    Container for all response elements.

    " }, "CopyPartResult":{ "type":"structure", "members":{ "ETag":{ "shape":"ETag", - "documentation":"Entity tag of the object." + "documentation":"

    Entity tag of the object.

    " }, "LastModified":{ "shape":"LastModified", - "documentation":"Date and time at which the object was uploaded." + "documentation":"

    Date and time at which the object was uploaded.

    " } - } + }, + "documentation":"

    Container for all response elements.

    " }, "CopySource":{ "type":"string", @@ -1355,15 +1973,17 @@ "members":{ "LocationConstraint":{ "shape":"BucketLocationConstraint", - "documentation":"Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard." + "documentation":"

    Specifies the Region where the bucket will be created. If you don't specify a Region, the bucket is created in the US East (N. Virginia) Region (us-east-1).

    " } - } + }, + "documentation":"

    The configuration information for the bucket.

    " }, "CreateBucketOutput":{ "type":"structure", "members":{ "Location":{ "shape":"Location", + "documentation":"

    Specifies the Region where the bucket will be created. If you are creating a bucket on the US East (N. Virginia) Region (us-east-1), you do not need to specify the location.

    ", "location":"header", "locationName":"Location" } @@ -1375,49 +1995,57 @@ "members":{ "ACL":{ "shape":"BucketCannedACL", - "documentation":"The canned ACL to apply to the bucket.", + "documentation":"

    The canned ACL to apply to the bucket.

    ", "location":"header", "locationName":"x-amz-acl" }, "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket to create.

    ", "location":"uri", "locationName":"Bucket" }, "CreateBucketConfiguration":{ "shape":"CreateBucketConfiguration", + "documentation":"

    The configuration information for the bucket.

    ", "locationName":"CreateBucketConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "GrantFullControl":{ "shape":"GrantFullControl", - "documentation":"Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", + "documentation":"

    Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

    ", "location":"header", "locationName":"x-amz-grant-full-control" }, "GrantRead":{ "shape":"GrantRead", - "documentation":"Allows grantee to list the objects in the bucket.", + "documentation":"

    Allows grantee to list the objects in the bucket.

    ", "location":"header", "locationName":"x-amz-grant-read" }, "GrantReadACP":{ "shape":"GrantReadACP", - "documentation":"Allows grantee to read the bucket ACL.", + "documentation":"

    Allows grantee to read the bucket ACL.

    ", "location":"header", "locationName":"x-amz-grant-read-acp" }, "GrantWrite":{ "shape":"GrantWrite", - "documentation":"Allows grantee to create, overwrite, and delete any object in the bucket.", + "documentation":"

    Allows grantee to create, overwrite, and delete any object in the bucket.

    ", "location":"header", "locationName":"x-amz-grant-write" }, "GrantWriteACP":{ "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable bucket.", + "documentation":"

    Allows grantee to write the ACL for the applicable bucket.

    ", "location":"header", "locationName":"x-amz-grant-write-acp" + }, + "ObjectLockEnabledForBucket":{ + "shape":"ObjectLockEnabledForBucket", + "documentation":"

    Specifies whether you want S3 Object Lock to be enabled for the new bucket.

    ", + "location":"header", + "locationName":"x-amz-bucket-object-lock-enabled" } }, "payload":"CreateBucketConfiguration" @@ -1427,53 +2055,59 @@ "members":{ "AbortDate":{ "shape":"AbortDate", - "documentation":"Date when multipart upload will become eligible for abort operation by lifecycle.", + "documentation":"

    If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

    The response also includes the x-amz-abort-rule-id header that provides the ID of the lifecycle configuration rule that defines this action.

    ", "location":"header", "locationName":"x-amz-abort-date" }, "AbortRuleId":{ "shape":"AbortRuleId", - "documentation":"Id of the lifecycle rule that makes a multipart upload eligible for abort operation.", + "documentation":"

    This header is returned along with the x-amz-abort-date header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.

    ", "location":"header", "locationName":"x-amz-abort-rule-id" }, "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to which the multipart upload was initiated.", + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", - "documentation":"Object key for which the multipart upload was initiated." + "documentation":"

    Object key for which the multipart upload was initiated.

    " }, "UploadId":{ "shape":"MultipartUploadId", - "documentation":"ID for the initiated multipart upload." + "documentation":"

    ID for the initiated multipart upload.

    " }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, "RequestCharged":{ "shape":"RequestCharged", "location":"header", @@ -1490,132 +2124,164 @@ "members":{ "ACL":{ "shape":"ObjectCannedACL", - "documentation":"The canned ACL to apply to the object.", + "documentation":"

    The canned ACL to apply to the object.

    ", "location":"header", "locationName":"x-amz-acl" }, "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket to which to initiate the upload

    ", "location":"uri", "locationName":"Bucket" }, "CacheControl":{ "shape":"CacheControl", - "documentation":"Specifies caching behavior along the request/reply chain.", + "documentation":"

    Specifies caching behavior along the request/reply chain.

    ", "location":"header", "locationName":"Cache-Control" }, "ContentDisposition":{ "shape":"ContentDisposition", - "documentation":"Specifies presentational information for the object.", + "documentation":"

    Specifies presentational information for the object.

    ", "location":"header", "locationName":"Content-Disposition" }, "ContentEncoding":{ "shape":"ContentEncoding", - "documentation":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "documentation":"

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

    ", "location":"header", "locationName":"Content-Encoding" }, "ContentLanguage":{ "shape":"ContentLanguage", - "documentation":"The language the content is in.", + "documentation":"

    The language the content is in.

    ", "location":"header", "locationName":"Content-Language" }, "ContentType":{ "shape":"ContentType", - "documentation":"A standard MIME type describing the format of the object data.", + "documentation":"

    A standard MIME type describing the format of the object data.

    ", "location":"header", "locationName":"Content-Type" }, "Expires":{ "shape":"Expires", - "documentation":"The date and time at which the object is no longer cacheable.", + "documentation":"

    The date and time at which the object is no longer cacheable.

    ", "location":"header", "locationName":"Expires" }, "GrantFullControl":{ "shape":"GrantFullControl", - "documentation":"Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "documentation":"

    Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

    ", "location":"header", "locationName":"x-amz-grant-full-control" }, "GrantRead":{ "shape":"GrantRead", - "documentation":"Allows grantee to read the object data and its metadata.", + "documentation":"

    Allows grantee to read the object data and its metadata.

    ", "location":"header", "locationName":"x-amz-grant-read" }, "GrantReadACP":{ "shape":"GrantReadACP", - "documentation":"Allows grantee to read the object ACL.", + "documentation":"

    Allows grantee to read the object ACL.

    ", "location":"header", "locationName":"x-amz-grant-read-acp" }, "GrantWriteACP":{ "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable object.", + "documentation":"

    Allows grantee to write the ACL for the applicable object.

    ", "location":"header", "locationName":"x-amz-grant-write-acp" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Object key for which the multipart upload is to be initiated.

    ", "location":"uri", "locationName":"Key" }, "Metadata":{ "shape":"Metadata", - "documentation":"A map of metadata to store with the object in S3.", + "documentation":"

    A map of metadata to store with the object in S3.

    ", "location":"headers", "locationName":"x-amz-meta-" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "StorageClass":{ "shape":"StorageClass", - "documentation":"The type of storage to use for the object. Defaults to 'STANDARD'.", + "documentation":"

    The type of storage to use for the object. Defaults to 'STANDARD'.

    ", "location":"header", "locationName":"x-amz-storage-class" }, "WebsiteRedirectLocation":{ "shape":"WebsiteRedirectLocation", - "documentation":"If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "documentation":"

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    ", "location":"header", "locationName":"x-amz-website-redirect-location" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version", + "documentation":"

    Specifies the ID of the symmetric customer managed AWS KMS CMK to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. For information about configuring using any of the officially supported AWS SDKs and AWS CLI, see Specifying the Signature Version in Request Authentication in the Amazon S3 Developer Guide.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, "RequestPayer":{ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" + }, + "Tagging":{ + "shape":"TaggingHeader", + "documentation":"

    The tag-set for the object. The tag-set must be encoded as URL Query parameters.

    ", + "location":"header", + "locationName":"x-amz-tagging" + }, + "ObjectLockMode":{ + "shape":"ObjectLockMode", + "documentation":"

    Specifies the Object Lock mode that you want to apply to the uploaded object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-mode" + }, + "ObjectLockRetainUntilDate":{ + "shape":"ObjectLockRetainUntilDate", + "documentation":"

    Specifies the date and time when you want the Object Lock to expire.

    ", + "location":"header", + "locationName":"x-amz-object-lock-retain-until-date" + }, + "ObjectLockLegalHoldStatus":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Specifies whether you want to apply a Legal Hold to the uploaded object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-legal-hold" } } }, @@ -1626,17 +2292,58 @@ }, "Days":{"type":"integer"}, "DaysAfterInitiation":{"type":"integer"}, + "DefaultRetention":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"ObjectLockRetentionMode", + "documentation":"

    The default Object Lock retention mode you want to apply to new objects placed in the specified bucket.

    " + }, + "Days":{ + "shape":"Days", + "documentation":"

    The number of days that you want to specify for the default retention period.

    " + }, + "Years":{ + "shape":"Years", + "documentation":"

    The number of years that you want to specify for the default retention period.

    " + } + }, + "documentation":"

    The container element for specifying the default Object Lock retention settings for new objects placed in the specified bucket.

    " + }, "Delete":{ "type":"structure", "required":["Objects"], "members":{ "Objects":{ "shape":"ObjectIdentifierList", + "documentation":"

    The objects to delete.

    ", "locationName":"Object" }, "Quiet":{ "shape":"Quiet", - "documentation":"Element to enable quiet mode for the request. When you add this element, you must set its value to true." + "documentation":"

    Element to enable quiet mode for the request. When you add this element, you must set its value to true.

    " + } + }, + "documentation":"

    Container for the objects to delete.

    " + }, + "DeleteBucketAnalyticsConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket from which an analytics configuration is deleted.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Id":{ + "shape":"AnalyticsId", + "documentation":"

    The ID that identifies the analytics configuration.

    ", + "location":"querystring", + "locationName":"id" } } }, @@ -1646,8 +2353,42 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Specifies the bucket whose cors configuration is being deleted.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "DeleteBucketEncryptionRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the server-side encryption configuration to delete.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "DeleteBucketInventoryConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the inventory configuration to delete.

    ", "location":"uri", "locationName":"Bucket" + }, + "Id":{ + "shape":"InventoryId", + "documentation":"

    The ID used to identify the inventory configuration.

    ", + "location":"querystring", + "locationName":"id" } } }, @@ -1657,8 +2398,30 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name of the lifecycle to delete.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "DeleteBucketMetricsConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the metrics configuration to delete.

    ", "location":"uri", "locationName":"Bucket" + }, + "Id":{ + "shape":"MetricsId", + "documentation":"

    The ID used to identify the metrics configuration.

    ", + "location":"querystring", + "locationName":"id" } } }, @@ -1668,6 +2431,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" } @@ -1679,6 +2443,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" } @@ -1690,6 +2455,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Specifies the bucket being deleted.

    ", "location":"uri", "locationName":"Bucket" } @@ -1701,6 +2467,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket that has the tag set to be removed.

    ", "location":"uri", "locationName":"Bucket" } @@ -1712,6 +2479,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which you want to remove the website configuration.

    ", "location":"uri", "locationName":"Bucket" } @@ -1721,24 +2489,45 @@ "DeleteMarkerEntry":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

    The account that created the delete marker.>

    " + }, "Key":{ "shape":"ObjectKey", - "documentation":"The object key." + "documentation":"

    The object key.

    " }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version ID of an object." + "documentation":"

    Version ID of an object.

    " }, "IsLatest":{ "shape":"IsLatest", - "documentation":"Specifies whether the object is (true) or is not (false) the latest version of an object." + "documentation":"

    Specifies whether the object is (true) or is not (false) the latest version of an object.

    " }, "LastModified":{ "shape":"LastModified", - "documentation":"Date and time the object was last modified." + "documentation":"

    Date and time the object was last modified.

    " } - } + }, + "documentation":"

    Information about the delete marker.

    " + }, + "DeleteMarkerReplication":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"DeleteMarkerReplicationStatus", + "documentation":"

    Indicates whether to replicate delete markers.

    In the current implementation, Amazon S3 doesn't replicate the delete markers. The status must be Disabled.

    " + } + }, + "documentation":"

    Specifies whether Amazon S3 replicates the delete markers. If you specify a Filter, you must specify this element. However, in the latest version of replication configuration (when Filter is specified), Amazon S3 doesn't replicate delete markers. Therefore, the DeleteMarkerReplication element can contain only <Status>Disabled</Status>. For an example configuration, see Basic Rule Configuration.

    If you don't specify the Filter element, Amazon S3 assumes that the replication configuration is the earlier version, V1. In the earlier version, Amazon S3 handled replication of delete markers differently. For more information, see Backward Compatibility.

    " + }, + "DeleteMarkerReplicationStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] }, "DeleteMarkerVersionId":{"type":"string"}, "DeleteMarkers":{ @@ -1751,13 +2540,13 @@ "members":{ "DeleteMarker":{ "shape":"DeleteMarker", - "documentation":"Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.", + "documentation":"

    Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.

    ", "location":"header", "locationName":"x-amz-delete-marker" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Returns the version ID of the delete marker created as a result of the DELETE operation.", + "documentation":"

    Returns the version ID of the delete marker created as a result of the DELETE operation.

    ", "location":"header", "locationName":"x-amz-version-id" }, @@ -1777,23 +2566,25 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name of the bucket containing the object.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Key name of the object to delete.

    ", "location":"uri", "locationName":"Key" }, "MFA":{ "shape":"MFA", - "documentation":"The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.", + "documentation":"

    The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.

    ", "location":"header", "locationName":"x-amz-mfa" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"VersionId used to reference a specific version of the object.", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", "location":"querystring", "locationName":"versionId" }, @@ -1801,13 +2592,60 @@ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" + }, + "BypassGovernanceRetention":{ + "shape":"BypassGovernanceRetention", + "documentation":"

    Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation.

    ", + "location":"header", + "locationName":"x-amz-bypass-governance-retention" + } + } + }, + "DeleteObjectTaggingOutput":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object the tag-set was removed from.

    ", + "location":"header", + "locationName":"x-amz-version-id" + } + } + }, + "DeleteObjectTaggingRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the objects from which to remove the tags.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    Name of the tag.

    ", + "location":"uri", + "locationName":"Key" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object that the tag-set will be removed from.

    ", + "location":"querystring", + "locationName":"versionId" } } }, "DeleteObjectsOutput":{ "type":"structure", "members":{ - "Deleted":{"shape":"DeletedObjects"}, + "Deleted":{ + "shape":"DeletedObjects", + "documentation":"

    Container element for a successful delete. It identifies the object that was successfully deleted.

    " + }, "RequestCharged":{ "shape":"RequestCharged", "location":"header", @@ -1815,6 +2653,7 @@ }, "Errors":{ "shape":"Errors", + "documentation":"

    Container for a failed delete operation that describes the object that Amazon S3 attempted to delete and the error it encountered.

    ", "locationName":"Error" } } @@ -1828,17 +2667,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name containing the objects to delete.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Delete":{ "shape":"Delete", + "documentation":"

    Container for the request.

    ", "locationName":"Delete", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "MFA":{ "shape":"MFA", - "documentation":"The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.", + "documentation":"

    The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.

    ", "location":"header", "locationName":"x-amz-mfa" }, @@ -1846,55 +2687,159 @@ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" + }, + "BypassGovernanceRetention":{ + "shape":"BypassGovernanceRetention", + "documentation":"

    Specifies whether you want to delete this object even if it has a Governance-type Object Lock in place. You must have sufficient permissions to perform this operation.

    ", + "location":"header", + "locationName":"x-amz-bypass-governance-retention" } }, "payload":"Delete" }, - "DeletedObject":{ + "DeletePublicAccessBlockRequest":{ "type":"structure", + "required":["Bucket"], "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "DeleteMarker":{"shape":"DeleteMarker"}, - "DeleteMarkerVersionId":{"shape":"DeleteMarkerVersionId"} + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The Amazon S3 bucket whose PublicAccessBlock configuration you want to delete.

    ", + "location":"uri", + "locationName":"Bucket" + } } }, + "DeletedObject":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The name of the deleted object.

    " + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The version ID of the deleted object.

    " + }, + "DeleteMarker":{ + "shape":"DeleteMarker", + "documentation":"

    Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. In a simple DELETE, this header indicates whether (true) or not (false) a delete marker was created.

    " + }, + "DeleteMarkerVersionId":{ + "shape":"DeleteMarkerVersionId", + "documentation":"

    The version ID of the delete marker created as a result of the DELETE operation. If you delete a specific object version, the value returned by this header is the version ID of the object version deleted.

    " + } + }, + "documentation":"

    Information about the deleted object.

    " + }, "DeletedObjects":{ "type":"list", "member":{"shape":"DeletedObject"}, "flattened":true }, "Delimiter":{"type":"string"}, + "Description":{"type":"string"}, "Destination":{ "type":"structure", "required":["Bucket"], "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule." + "documentation":"

    The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.

    " + }, + "Account":{ + "shape":"AccountId", + "documentation":"

    Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the AccessControlTranslation property, this is the account ID of the destination bucket owner. For more information, see Replication Additional Configuration: Changing the Replica Owner in the Amazon Simple Storage Service Developer Guide.

    " }, "StorageClass":{ "shape":"StorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.

    For valid values, see the StorageClass element of the PUT Bucket replication action in the Amazon Simple Storage Service API Reference.

    " + }, + "AccessControlTranslation":{ + "shape":"AccessControlTranslation", + "documentation":"

    Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.

    " + }, + "EncryptionConfiguration":{ + "shape":"EncryptionConfiguration", + "documentation":"

    A container that provides information about encryption. If SourceSelectionCriteria is specified, you must specify this element.

    " + }, + "ReplicationTime":{ + "shape":"ReplicationTime", + "documentation":"

    A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

    " + }, + "Metrics":{ + "shape":"Metrics", + "documentation":"

    A container specifying replication metrics-related settings enabling metrics and Amazon S3 events for S3 Replication Time Control (S3 RTC). Must be specified together with a ReplicationTime block.

    " } - } + }, + "documentation":"

    Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket and S3 Replication Time Control (S3 RTC).

    " }, "DisplayName":{"type":"string"}, "ETag":{"type":"string"}, "EmailAddress":{"type":"string"}, + "EnableRequestProgress":{"type":"boolean"}, "EncodingType":{ "type":"string", - "documentation":"Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.", + "documentation":"

    Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.

    ", "enum":["url"] }, + "Encryption":{ + "type":"structure", + "required":["EncryptionType"], + "members":{ + "EncryptionType":{ + "shape":"ServerSideEncryption", + "documentation":"

    The server-side encryption algorithm used when storing job results in Amazon S3 (for example, AES256, aws:kms).

    " + }, + "KMSKeyId":{ + "shape":"SSEKMSKeyId", + "documentation":"

    If the encryption type is aws:kms, this optional value specifies the ID of the symmetric customer managed AWS KMS CMK to use for encryption of job results. Amazon S3 only supports symmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide.

    " + }, + "KMSContext":{ + "shape":"KMSContext", + "documentation":"

    If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.

    " + } + }, + "documentation":"

    Contains the type of server-side encryption used.

    " + }, + "EncryptionConfiguration":{ + "type":"structure", + "members":{ + "ReplicaKmsKeyID":{ + "shape":"ReplicaKmsKeyID", + "documentation":"

    Specifies the ID (Key ARN or Alias ARN) of the customer managed customer master key (CMK) stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric customer managed CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide.

    " + } + }, + "documentation":"

    Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.

    " + }, + "End":{"type":"long"}, + "EndEvent":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A message that indicates the request is complete and no more messages will be sent. You should not assume that the request is complete until the client receives an EndEvent.

    ", + "event":true + }, "Error":{ "type":"structure", "members":{ - "Key":{"shape":"ObjectKey"}, - "VersionId":{"shape":"ObjectVersionId"}, - "Code":{"shape":"Code"}, - "Message":{"shape":"Message"} - } + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The error key.

    " + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The version ID of the error.

    " + }, + "Code":{ + "shape":"Code", + "documentation":"

    The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type.

    Amazon S3 error codes

      • Code: AccessDenied

      • Description: Access Denied

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: AccountProblem

      • Description: There is a problem with your AWS account that prevents the operation from completing successfully. Contact AWS Support for further assistance.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: AllAccessDisabled

      • Description: All access to this Amazon S3 resource has been disabled. Contact AWS Support for further assistance.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: AmbiguousGrantByEmailAddress

      • Description: The email address you provided is associated with more than one account.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: AuthorizationHeaderMalformed

      • Description: The authorization header you provided is invalid.

      • HTTP Status Code: 400 Bad Request

      • HTTP Status Code: N/A

      • Code: BadDigest

      • Description: The Content-MD5 you specified did not match what we received.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: BucketAlreadyExists

      • Description: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: BucketAlreadyOwnedByYou

      • Description: The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all AWS Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs).

      • Code: 409 Conflict (in all Regions except the North Virginia Region)

      • SOAP Fault Code Prefix: Client

      • Code: BucketNotEmpty

      • Description: The bucket you tried to delete is not empty.

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: CredentialsNotSupported

      • Description: This request does not support credentials.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: CrossLocationLoggingProhibited

      • Description: Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: EntityTooSmall

      • Description: Your proposed upload is smaller than the minimum allowed object size.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: EntityTooLarge

      • Description: Your proposed upload exceeds the maximum allowed object size.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: ExpiredToken

      • Description: The provided token has expired.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: IllegalVersioningConfigurationException

      • Description: Indicates that the versioning configuration specified in the request is invalid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: IncompleteBody

      • Description: You did not provide the number of bytes specified by the Content-Length HTTP header

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: IncorrectNumberOfFilesInPostRequest

      • Description: POST requires exactly one file upload per request.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InlineDataTooLarge

      • Description: Inline data exceeds the maximum allowed size.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InternalError

      • Description: We encountered an internal error. Please try again.

      • HTTP Status Code: 500 Internal Server Error

      • SOAP Fault Code Prefix: Server

      • Code: InvalidAccessKeyId

      • Description: The AWS access key ID you provided does not exist in our records.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: InvalidAddressingHeader

      • Description: You must specify the Anonymous role.

      • HTTP Status Code: N/A

      • SOAP Fault Code Prefix: Client

      • Code: InvalidArgument

      • Description: Invalid Argument

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidBucketName

      • Description: The specified bucket is not valid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidBucketState

      • Description: The request is not valid with the current state of the bucket.

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: InvalidDigest

      • Description: The Content-MD5 you specified is not valid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidEncryptionAlgorithmError

      • Description: The encryption request you specified is not valid. The valid value is AES256.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidLocationConstraint

      • Description: The specified location constraint is not valid. For more information about Regions, see How to Select a Region for Your Buckets.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidObjectState

      • Description: The operation is not valid for the current state of the object.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: InvalidPart

      • Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part's entity tag.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidPartOrder

      • Description: The list of parts was not in ascending order. Parts list must be specified in order by part number.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidPayer

      • Description: All access to this object has been disabled. Please contact AWS Support for further assistance.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: InvalidPolicyDocument

      • Description: The content of the form does not meet the conditions specified in the policy document.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidRange

      • Description: The requested range cannot be satisfied.

      • HTTP Status Code: 416 Requested Range Not Satisfiable

      • SOAP Fault Code Prefix: Client

      • Code: InvalidRequest

      • Description: Please use AWS4-HMAC-SHA256.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: SOAP requests must be made over an HTTPS connection.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Acceleration is not supported for buckets with non-DNS compliant names.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Acceleration is not supported for buckets with periods (.) in their names.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Accelerate endpoint only supports virtual style requests.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Accelerate is not configured on this bucket.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Accelerate is disabled on this bucket.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Acceleration is not supported on this bucket. Contact AWS Support for more information.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidRequest

      • Description: Amazon S3 Transfer Acceleration cannot be enabled on this bucket. Contact AWS Support for more information.

      • HTTP Status Code: 400 Bad Request

      • Code: N/A

      • Code: InvalidSecurity

      • Description: The provided security credentials are not valid.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: InvalidSOAPRequest

      • Description: The SOAP request body is invalid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidStorageClass

      • Description: The storage class you specified is not valid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidTargetBucketForLogging

      • Description: The target bucket for logging does not exist, is not owned by you, or does not have the appropriate grants for the log-delivery group.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidToken

      • Description: The provided token is malformed or otherwise invalid.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: InvalidURI

      • Description: Couldn't parse the specified URI.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: KeyTooLongError

      • Description: Your key is too long.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MalformedACLError

      • Description: The XML you provided was not well-formed or did not validate against our published schema.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MalformedPOSTRequest

      • Description: The body of your POST request is not well-formed multipart/form-data.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MalformedXML

      • Description: This happens when the user sends malformed XML (XML that doesn't conform to the published XSD) for the configuration. The error message is, \"The XML you provided was not well-formed or did not validate against our published schema.\"

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MaxMessageLengthExceeded

      • Description: Your request was too big.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MaxPostPreDataLengthExceededError

      • Description: Your POST request fields preceding the upload file were too large.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MetadataTooLarge

      • Description: Your metadata headers exceed the maximum allowed metadata size.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MethodNotAllowed

      • Description: The specified method is not allowed against this resource.

      • HTTP Status Code: 405 Method Not Allowed

      • SOAP Fault Code Prefix: Client

      • Code: MissingAttachment

      • Description: A SOAP attachment was expected, but none were found.

      • HTTP Status Code: N/A

      • SOAP Fault Code Prefix: Client

      • Code: MissingContentLength

      • Description: You must provide the Content-Length HTTP header.

      • HTTP Status Code: 411 Length Required

      • SOAP Fault Code Prefix: Client

      • Code: MissingRequestBodyError

      • Description: This happens when the user sends an empty XML document as a request. The error message is, \"Request body is empty.\"

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MissingSecurityElement

      • Description: The SOAP 1.1 request is missing a security element.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: MissingSecurityHeader

      • Description: Your request is missing a required header.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: NoLoggingStatusForKey

      • Description: There is no such thing as a logging status subresource for a key.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchBucket

      • Description: The specified bucket does not exist.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchBucketPolicy

      • Description: The specified bucket does not have a bucket policy.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchKey

      • Description: The specified key does not exist.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchLifecycleConfiguration

      • Description: The lifecycle configuration does not exist.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchUpload

      • Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NoSuchVersion

      • Description: Indicates that the version ID specified in the request does not match an existing version.

      • HTTP Status Code: 404 Not Found

      • SOAP Fault Code Prefix: Client

      • Code: NotImplemented

      • Description: A header you provided implies functionality that is not implemented.

      • HTTP Status Code: 501 Not Implemented

      • SOAP Fault Code Prefix: Server

      • Code: NotSignedUp

      • Description: Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: https://aws.amazon.com/s3

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: OperationAborted

      • Description: A conflicting conditional operation is currently in progress against this resource. Try again.

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: PermanentRedirect

      • Description: The bucket you are attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint.

      • HTTP Status Code: 301 Moved Permanently

      • SOAP Fault Code Prefix: Client

      • Code: PreconditionFailed

      • Description: At least one of the preconditions you specified did not hold.

      • HTTP Status Code: 412 Precondition Failed

      • SOAP Fault Code Prefix: Client

      • Code: Redirect

      • Description: Temporary redirect.

      • HTTP Status Code: 307 Moved Temporarily

      • SOAP Fault Code Prefix: Client

      • Code: RestoreAlreadyInProgress

      • Description: Object restore is already in progress.

      • HTTP Status Code: 409 Conflict

      • SOAP Fault Code Prefix: Client

      • Code: RequestIsNotMultiPartContent

      • Description: Bucket POST must be of the enclosure-type multipart/form-data.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: RequestTimeout

      • Description: Your socket connection to the server was not read from or written to within the timeout period.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: RequestTimeTooSkewed

      • Description: The difference between the request time and the server's time is too large.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: RequestTorrentOfBucketError

      • Description: Requesting the torrent file of a bucket is not permitted.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: SignatureDoesNotMatch

      • Description: The request signature we calculated does not match the signature you provided. Check your AWS secret access key and signing method. For more information, see REST Authentication and SOAP Authentication for details.

      • HTTP Status Code: 403 Forbidden

      • SOAP Fault Code Prefix: Client

      • Code: ServiceUnavailable

      • Description: Reduce your request rate.

      • HTTP Status Code: 503 Service Unavailable

      • SOAP Fault Code Prefix: Server

      • Code: SlowDown

      • Description: Reduce your request rate.

      • HTTP Status Code: 503 Slow Down

      • SOAP Fault Code Prefix: Server

      • Code: TemporaryRedirect

      • Description: You are being redirected to the bucket while DNS updates.

      • HTTP Status Code: 307 Moved Temporarily

      • SOAP Fault Code Prefix: Client

      • Code: TokenRefreshRequired

      • Description: The provided token must be refreshed.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: TooManyBuckets

      • Description: You have attempted to create more buckets than allowed.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: UnexpectedContent

      • Description: This request does not support content.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: UnresolvableGrantByEmailAddress

      • Description: The email address you provided does not match any account on record.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

      • Code: UserKeyMustBeSpecified

      • Description: The bucket POST must contain the specified field name. If it is specified, check the order of the fields.

      • HTTP Status Code: 400 Bad Request

      • SOAP Fault Code Prefix: Client

    " + }, + "Message":{ + "shape":"Message", + "documentation":"

    The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don't know how or don't care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.

    " + } + }, + "documentation":"

    Container for all error elements.

    " }, "ErrorDocument":{ "type":"structure", @@ -1902,9 +2847,10 @@ "members":{ "Key":{ "shape":"ObjectKey", - "documentation":"The object key name to use when a 4XX class error occurs." + "documentation":"

    The object key name to use when a 4XX class error occurs.

    " } - } + }, + "documentation":"

    The error information.

    " }, "Errors":{ "type":"list", @@ -1913,7 +2859,7 @@ }, "Event":{ "type":"string", - "documentation":"Bucket event for which to send notifications.", + "documentation":"

    The bucket event for which to send notifications.

    ", "enum":[ "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", @@ -1923,7 +2869,15 @@ "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", - "s3:ObjectRemoved:DeleteMarkerCreated" + "s3:ObjectRemoved:DeleteMarkerCreated", + "s3:ObjectRestore:*", + "s3:ObjectRestore:Post", + "s3:ObjectRestore:Completed", + "s3:Replication:*", + "s3:Replication:OperationFailedReplication", + "s3:Replication:OperationNotTracked", + "s3:Replication:OperationMissedThreshold", + "s3:Replication:OperationReplicatedAfterThreshold" ] }, "EventList":{ @@ -1931,6 +2885,24 @@ "member":{"shape":"Event"}, "flattened":true }, + "ExistingObjectReplication":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"ExistingObjectReplicationStatus", + "documentation":"

    " + } + }, + "documentation":"

    Optional configuration to replicate existing source bucket objects. For more information, see Replicating Existing Objects in the Amazon S3 Developer Guide.

    " + }, + "ExistingObjectReplicationStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, "Expiration":{"type":"string"}, "ExpirationStatus":{ "type":"string", @@ -1947,22 +2919,39 @@ "member":{"shape":"ExposeHeader"}, "flattened":true }, + "Expression":{"type":"string"}, + "ExpressionType":{ + "type":"string", + "enum":["SQL"] + }, "FetchOwner":{"type":"boolean"}, + "FieldDelimiter":{"type":"string"}, + "FileHeaderInfo":{ + "type":"string", + "enum":[ + "USE", + "IGNORE", + "NONE" + ] + }, "FilterRule":{ "type":"structure", "members":{ "Name":{ "shape":"FilterRuleName", - "documentation":"Object key name prefix or suffix identifying one or more objects to which the filtering rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide." + "documentation":"

    The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

    " }, - "Value":{"shape":"FilterRuleValue"} + "Value":{ + "shape":"FilterRuleValue", + "documentation":"

    The value that the filter searches for in object key names.

    " + } }, - "documentation":"Container for key value pair that defines the criteria for the filter rule." + "documentation":"

    Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.

    " }, "FilterRuleList":{ "type":"list", "member":{"shape":"FilterRule"}, - "documentation":"A list of containers for key value pair that defines the criteria for the filter rule.", + "documentation":"

    A list of containers for the key-value pair that defines the criteria for the filter rule.

    ", "flattened":true }, "FilterRuleName":{ @@ -1978,7 +2967,7 @@ "members":{ "Status":{ "shape":"BucketAccelerateStatus", - "documentation":"The accelerate configuration of the bucket." + "documentation":"

    The accelerate configuration of the bucket.

    " } } }, @@ -1988,7 +2977,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket for which the accelerate configuration is retrieved.", + "documentation":"

    Name of the bucket for which the accelerate configuration is retrieved.

    ", "location":"uri", "locationName":"Bucket" } @@ -1997,10 +2986,13 @@ "GetBucketAclOutput":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

    Container for the bucket owner's display name and ID.

    " + }, "Grants":{ "shape":"Grants", - "documentation":"A list of grants.", + "documentation":"

    A list of grants.

    ", "locationName":"AccessControlList" } } @@ -2011,56 +3003,143 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Specifies the S3 bucket whose ACL is being requested.

    ", "location":"uri", "locationName":"Bucket" } } }, - "GetBucketCorsOutput":{ + "GetBucketAnalyticsConfigurationOutput":{ "type":"structure", "members":{ - "CORSRules":{ - "shape":"CORSRules", - "locationName":"CORSRule" + "AnalyticsConfiguration":{ + "shape":"AnalyticsConfiguration", + "documentation":"

    The configuration and any analyses for the analytics filter.

    " } - } + }, + "payload":"AnalyticsConfiguration" }, - "GetBucketCorsRequest":{ + "GetBucketAnalyticsConfigurationRequest":{ "type":"structure", - "required":["Bucket"], + "required":[ + "Bucket", + "Id" + ], "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket from which an analytics configuration is retrieved.

    ", "location":"uri", "locationName":"Bucket" + }, + "Id":{ + "shape":"AnalyticsId", + "documentation":"

    The ID that identifies the analytics configuration.

    ", + "location":"querystring", + "locationName":"id" } } }, - "GetBucketLifecycleConfigurationOutput":{ + "GetBucketCorsOutput":{ "type":"structure", "members":{ - "Rules":{ - "shape":"LifecycleRules", - "locationName":"Rule" + "CORSRules":{ + "shape":"CORSRules", + "documentation":"

    A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.

    ", + "locationName":"CORSRule" } } }, - "GetBucketLifecycleConfigurationRequest":{ + "GetBucketCorsRequest":{ "type":"structure", "required":["Bucket"], "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which to get the cors configuration.

    ", "location":"uri", "locationName":"Bucket" } } }, - "GetBucketLifecycleOutput":{ + "GetBucketEncryptionOutput":{ + "type":"structure", + "members":{ + "ServerSideEncryptionConfiguration":{"shape":"ServerSideEncryptionConfiguration"} + }, + "payload":"ServerSideEncryptionConfiguration" + }, + "GetBucketEncryptionRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket from which the server-side encryption configuration is retrieved.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "GetBucketInventoryConfigurationOutput":{ + "type":"structure", + "members":{ + "InventoryConfiguration":{ + "shape":"InventoryConfiguration", + "documentation":"

    Specifies the inventory configuration.

    " + } + }, + "payload":"InventoryConfiguration" + }, + "GetBucketInventoryConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the inventory configuration to retrieve.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Id":{ + "shape":"InventoryId", + "documentation":"

    The ID used to identify the inventory configuration.

    ", + "location":"querystring", + "locationName":"id" + } + } + }, + "GetBucketLifecycleConfigurationOutput":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"LifecycleRules", + "documentation":"

    Container for a lifecycle rule.

    ", + "locationName":"Rule" + } + } + }, + "GetBucketLifecycleConfigurationRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the lifecycle information.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "GetBucketLifecycleOutput":{ "type":"structure", "members":{ "Rules":{ "shape":"Rules", + "documentation":"

    Container for a lifecycle rule.

    ", "locationName":"Rule" } } @@ -2071,6 +3150,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the lifecycle information.

    ", "location":"uri", "locationName":"Bucket" } @@ -2079,7 +3159,10 @@ "GetBucketLocationOutput":{ "type":"structure", "members":{ - "LocationConstraint":{"shape":"BucketLocationConstraint"} + "LocationConstraint":{ + "shape":"BucketLocationConstraint", + "documentation":"

    Specifies the Region where the bucket resides. For a list of all the Amazon S3 supported location constraints by Region, see Regions and Endpoints. Buckets in Region us-east-1 have a LocationConstraint of null.

    " + } } }, "GetBucketLocationRequest":{ @@ -2088,6 +3171,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the location.

    ", "location":"uri", "locationName":"Bucket" } @@ -2105,8 +3189,40 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which to get the logging information.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "GetBucketMetricsConfigurationOutput":{ + "type":"structure", + "members":{ + "MetricsConfiguration":{ + "shape":"MetricsConfiguration", + "documentation":"

    Specifies the metrics configuration.

    " + } + }, + "payload":"MetricsConfiguration" + }, + "GetBucketMetricsConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the metrics configuration to retrieve.

    ", "location":"uri", "locationName":"Bucket" + }, + "Id":{ + "shape":"MetricsId", + "documentation":"

    The ID used to identify the metrics configuration.

    ", + "location":"querystring", + "locationName":"id" } } }, @@ -2116,7 +3232,7 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to get the notification configuration for.", + "documentation":"

    Name of the bucket for which to get the notification configuration.

    ", "location":"uri", "locationName":"Bucket" } @@ -2127,7 +3243,7 @@ "members":{ "Policy":{ "shape":"Policy", - "documentation":"The bucket policy as a JSON document." + "documentation":"

    The bucket policy as a JSON document.

    " } }, "payload":"Policy" @@ -2138,6 +3254,29 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which to get the bucket policy.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "GetBucketPolicyStatusOutput":{ + "type":"structure", + "members":{ + "PolicyStatus":{ + "shape":"PolicyStatus", + "documentation":"

    The policy status for the specified bucket.

    " + } + }, + "payload":"PolicyStatus" + }, + "GetBucketPolicyStatusRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the Amazon S3 bucket whose policy status you want to retrieve.

    ", "location":"uri", "locationName":"Bucket" } @@ -2156,6 +3295,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which to get the replication information.

    ", "location":"uri", "locationName":"Bucket" } @@ -2166,7 +3306,7 @@ "members":{ "Payer":{ "shape":"Payer", - "documentation":"Specifies who pays for the download and request fees." + "documentation":"

    Specifies who pays for the download and request fees.

    " } } }, @@ -2176,6 +3316,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the payment request configuration

    ", "location":"uri", "locationName":"Bucket" } @@ -2185,7 +3326,10 @@ "type":"structure", "required":["TagSet"], "members":{ - "TagSet":{"shape":"TagSet"} + "TagSet":{ + "shape":"TagSet", + "documentation":"

    Contains the tag set.

    " + } } }, "GetBucketTaggingRequest":{ @@ -2194,6 +3338,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the tagging information.

    ", "location":"uri", "locationName":"Bucket" } @@ -2204,11 +3349,11 @@ "members":{ "Status":{ "shape":"BucketVersioningStatus", - "documentation":"The versioning state of the bucket." + "documentation":"

    The versioning state of the bucket.

    " }, "MFADelete":{ "shape":"MFADeleteStatus", - "documentation":"Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.", + "documentation":"

    Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

    ", "locationName":"MfaDelete" } } @@ -2219,6 +3364,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to get the versioning information.

    ", "location":"uri", "locationName":"Bucket" } @@ -2227,10 +3373,22 @@ "GetBucketWebsiteOutput":{ "type":"structure", "members":{ - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "IndexDocument":{"shape":"IndexDocument"}, - "ErrorDocument":{"shape":"ErrorDocument"}, - "RoutingRules":{"shape":"RoutingRules"} + "RedirectAllRequestsTo":{ + "shape":"RedirectAllRequestsTo", + "documentation":"

    Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

    " + }, + "IndexDocument":{ + "shape":"IndexDocument", + "documentation":"

    The name of the index document for the website (for example index.html).

    " + }, + "ErrorDocument":{ + "shape":"ErrorDocument", + "documentation":"

    The object key name of the website error document to use for 4XX class errors.

    " + }, + "RoutingRules":{ + "shape":"RoutingRules", + "documentation":"

    Rules that define when a redirect is applied and the redirect behavior.

    " + } } }, "GetBucketWebsiteRequest":{ @@ -2239,6 +3397,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name for which to get the website configuration.

    ", "location":"uri", "locationName":"Bucket" } @@ -2247,10 +3406,13 @@ "GetObjectAclOutput":{ "type":"structure", "members":{ - "Owner":{"shape":"Owner"}, + "Owner":{ + "shape":"Owner", + "documentation":"

    Container for the bucket owner's display name and ID.

    " + }, "Grants":{ "shape":"Grants", - "documentation":"A list of grants.", + "documentation":"

    A list of grants.

    ", "locationName":"AccessControlList" }, "RequestCharged":{ @@ -2269,17 +3431,61 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name that contains the object for which to get the ACL information.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The key of the object for which to get the ACL information.

    ", + "location":"uri", + "locationName":"Key" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "RequestPayer":{ + "shape":"RequestPayer", + "location":"header", + "locationName":"x-amz-request-payer" + } + } + }, + "GetObjectLegalHoldOutput":{ + "type":"structure", + "members":{ + "LegalHold":{ + "shape":"ObjectLockLegalHold", + "documentation":"

    The current Legal Hold status for the specified object.

    " + } + }, + "payload":"LegalHold" + }, + "GetObjectLegalHoldRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the object whose Legal Hold status you want to retrieve.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    The key name for the object whose Legal Hold status you want to retrieve.

    ", "location":"uri", "locationName":"Key" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"VersionId used to reference a specific version of the object.", + "documentation":"

    The version ID of the object whose Legal Hold status you want to retrieve.

    ", "location":"querystring", "locationName":"versionId" }, @@ -2290,147 +3496,171 @@ } } }, + "GetObjectLockConfigurationOutput":{ + "type":"structure", + "members":{ + "ObjectLockConfiguration":{ + "shape":"ObjectLockConfiguration", + "documentation":"

    The specified bucket's Object Lock configuration.

    " + } + }, + "payload":"ObjectLockConfiguration" + }, + "GetObjectLockConfigurationRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket whose Object Lock configuration you want to retrieve.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, "GetObjectOutput":{ "type":"structure", "members":{ "Body":{ "shape":"Body", - "documentation":"Object data.", + "documentation":"

    Object data.

    ", "streaming":true }, "DeleteMarker":{ "shape":"DeleteMarker", - "documentation":"Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.", + "documentation":"

    Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

    ", "location":"header", "locationName":"x-amz-delete-marker" }, "AcceptRanges":{ "shape":"AcceptRanges", + "documentation":"

    Indicates that a range of bytes was specified.

    ", "location":"header", "locationName":"accept-ranges" }, "Expiration":{ "shape":"Expiration", - "documentation":"If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.", + "documentation":"

    If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL encoded.

    ", "location":"header", "locationName":"x-amz-expiration" }, "Restore":{ "shape":"Restore", - "documentation":"Provides information about object restoration operation and expiration time of the restored object copy.", + "documentation":"

    Provides information about object restoration operation and expiration time of the restored object copy.

    ", "location":"header", "locationName":"x-amz-restore" }, "LastModified":{ "shape":"LastModified", - "documentation":"Last modified date of the object", + "documentation":"

    Last modified date of the object

    ", "location":"header", "locationName":"Last-Modified" }, "ContentLength":{ "shape":"ContentLength", - "documentation":"Size of the body in bytes.", + "documentation":"

    Size of the body in bytes.

    ", "location":"header", "locationName":"Content-Length" }, "ETag":{ "shape":"ETag", - "documentation":"An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL", + "documentation":"

    An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.

    ", "location":"header", "locationName":"ETag" }, "MissingMeta":{ "shape":"MissingMeta", - "documentation":"This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.", + "documentation":"

    This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

    ", "location":"header", "locationName":"x-amz-missing-meta" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version of the object.", + "documentation":"

    Version of the object.

    ", "location":"header", "locationName":"x-amz-version-id" }, "CacheControl":{ "shape":"CacheControl", - "documentation":"Specifies caching behavior along the request/reply chain.", + "documentation":"

    Specifies caching behavior along the request/reply chain.

    ", "location":"header", "locationName":"Cache-Control" }, "ContentDisposition":{ "shape":"ContentDisposition", - "documentation":"Specifies presentational information for the object.", + "documentation":"

    Specifies presentational information for the object.

    ", "location":"header", "locationName":"Content-Disposition" }, "ContentEncoding":{ "shape":"ContentEncoding", - "documentation":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "documentation":"

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

    ", "location":"header", "locationName":"Content-Encoding" }, "ContentLanguage":{ "shape":"ContentLanguage", - "documentation":"The language the content is in.", + "documentation":"

    The language the content is in.

    ", "location":"header", "locationName":"Content-Language" }, "ContentRange":{ "shape":"ContentRange", - "documentation":"The portion of the object returned in the response.", + "documentation":"

    The portion of the object returned in the response.

    ", "location":"header", "locationName":"Content-Range" }, "ContentType":{ "shape":"ContentType", - "documentation":"A standard MIME type describing the format of the object data.", + "documentation":"

    A standard MIME type describing the format of the object data.

    ", "location":"header", "locationName":"Content-Type" }, "Expires":{ "shape":"Expires", - "documentation":"The date and time at which the object is no longer cacheable.", + "documentation":"

    The date and time at which the object is no longer cacheable.

    ", "location":"header", "locationName":"Expires" }, "WebsiteRedirectLocation":{ "shape":"WebsiteRedirectLocation", - "documentation":"If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "documentation":"

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    ", "location":"header", "locationName":"x-amz-website-redirect-location" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "Metadata":{ "shape":"Metadata", - "documentation":"A map of metadata to store with the object in S3.", + "documentation":"

    A map of metadata to store with the object in S3.

    ", "location":"headers", "locationName":"x-amz-meta-" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, "StorageClass":{ "shape":"StorageClass", + "documentation":"

    Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

    ", "location":"header", "locationName":"x-amz-storage-class" }, @@ -2441,14 +3671,39 @@ }, "ReplicationStatus":{ "shape":"ReplicationStatus", + "documentation":"

    Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.

    ", "location":"header", "locationName":"x-amz-replication-status" }, "PartsCount":{ "shape":"PartsCount", - "documentation":"The count of parts this object has.", + "documentation":"

    The count of parts this object has.

    ", "location":"header", "locationName":"x-amz-mp-parts-count" + }, + "TagCount":{ + "shape":"TagCount", + "documentation":"

    The number of tags, if any, on the object.

    ", + "location":"header", + "locationName":"x-amz-tagging-count" + }, + "ObjectLockMode":{ + "shape":"ObjectLockMode", + "documentation":"

    The Object Lock mode currently in place for this object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-mode" + }, + "ObjectLockRetainUntilDate":{ + "shape":"ObjectLockRetainUntilDate", + "documentation":"

    The date and time when this object's Object Lock will expire.

    ", + "location":"header", + "locationName":"x-amz-object-lock-retain-until-date" + }, + "ObjectLockLegalHoldStatus":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Indicates whether this object has an active legal hold. This field is only returned if you have permission to view an object's legal hold status.

    ", + "location":"header", + "locationName":"x-amz-object-lock-legal-hold" } }, "payload":"Body" @@ -2462,101 +3717,103 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name containing the object.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "IfMatch":{ "shape":"IfMatch", - "documentation":"Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).", + "documentation":"

    Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

    ", "location":"header", "locationName":"If-Match" }, "IfModifiedSince":{ "shape":"IfModifiedSince", - "documentation":"Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).", + "documentation":"

    Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

    ", "location":"header", "locationName":"If-Modified-Since" }, "IfNoneMatch":{ "shape":"IfNoneMatch", - "documentation":"Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).", + "documentation":"

    Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

    ", "location":"header", "locationName":"If-None-Match" }, "IfUnmodifiedSince":{ "shape":"IfUnmodifiedSince", - "documentation":"Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).", + "documentation":"

    Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

    ", "location":"header", "locationName":"If-Unmodified-Since" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Key of the object to get.

    ", "location":"uri", "locationName":"Key" }, "Range":{ "shape":"Range", - "documentation":"Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.", + "documentation":"

    Downloads the specified range bytes of an object. For more information about the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

    Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

    ", "location":"header", "locationName":"Range" }, "ResponseCacheControl":{ "shape":"ResponseCacheControl", - "documentation":"Sets the Cache-Control header of the response.", + "documentation":"

    Sets the Cache-Control header of the response.

    ", "location":"querystring", "locationName":"response-cache-control" }, "ResponseContentDisposition":{ "shape":"ResponseContentDisposition", - "documentation":"Sets the Content-Disposition header of the response", + "documentation":"

    Sets the Content-Disposition header of the response

    ", "location":"querystring", "locationName":"response-content-disposition" }, "ResponseContentEncoding":{ "shape":"ResponseContentEncoding", - "documentation":"Sets the Content-Encoding header of the response.", + "documentation":"

    Sets the Content-Encoding header of the response.

    ", "location":"querystring", "locationName":"response-content-encoding" }, "ResponseContentLanguage":{ "shape":"ResponseContentLanguage", - "documentation":"Sets the Content-Language header of the response.", + "documentation":"

    Sets the Content-Language header of the response.

    ", "location":"querystring", "locationName":"response-content-language" }, "ResponseContentType":{ "shape":"ResponseContentType", - "documentation":"Sets the Content-Type header of the response.", + "documentation":"

    Sets the Content-Type header of the response.

    ", "location":"querystring", "locationName":"response-content-type" }, "ResponseExpires":{ "shape":"ResponseExpires", - "documentation":"Sets the Expires header of the response.", + "documentation":"

    Sets the Expires header of the response.

    ", "location":"querystring", "locationName":"response-expires" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"VersionId used to reference a specific version of the object.", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", "location":"querystring", "locationName":"versionId" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, @@ -2567,17 +3824,103 @@ }, "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.", + "documentation":"

    Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.

    ", "location":"querystring", "locationName":"partNumber" } } }, + "GetObjectRetentionOutput":{ + "type":"structure", + "members":{ + "Retention":{ + "shape":"ObjectLockRetention", + "documentation":"

    The container element for an object's retention settings.

    " + } + }, + "payload":"Retention" + }, + "GetObjectRetentionRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the object whose retention settings you want to retrieve.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The key name for the object whose retention settings you want to retrieve.

    ", + "location":"uri", + "locationName":"Key" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The version ID for the object whose retention settings you want to retrieve.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "RequestPayer":{ + "shape":"RequestPayer", + "location":"header", + "locationName":"x-amz-request-payer" + } + } + }, + "GetObjectTaggingOutput":{ + "type":"structure", + "required":["TagSet"], + "members":{ + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object for which you got the tagging information.

    ", + "location":"header", + "locationName":"x-amz-version-id" + }, + "TagSet":{ + "shape":"TagSet", + "documentation":"

    Contains the tag set.

    " + } + } + }, + "GetObjectTaggingRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the object for which to get the tagging information.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    Object key for which to get the tagging information.

    ", + "location":"uri", + "locationName":"Key" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object for which to get the tagging information.

    ", + "location":"querystring", + "locationName":"versionId" + } + } + }, "GetObjectTorrentOutput":{ "type":"structure", "members":{ "Body":{ "shape":"Body", + "documentation":"

    A Bencoded dictionary as defined by the BitTorrent specification

    ", "streaming":true }, "RequestCharged":{ @@ -2597,11 +3940,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket containing the object for which to get the torrent files.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    The object key for which to get the information.

    ", "location":"uri", "locationName":"Key" }, @@ -2612,15 +3957,52 @@ } } }, + "GetPublicAccessBlockOutput":{ + "type":"structure", + "members":{ + "PublicAccessBlockConfiguration":{ + "shape":"PublicAccessBlockConfiguration", + "documentation":"

    The PublicAccessBlock configuration currently in effect for this Amazon S3 bucket.

    " + } + }, + "payload":"PublicAccessBlockConfiguration" + }, + "GetPublicAccessBlockRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to retrieve.

    ", + "location":"uri", + "locationName":"Bucket" + } + } + }, + "GlacierJobParameters":{ + "type":"structure", + "required":["Tier"], + "members":{ + "Tier":{ + "shape":"Tier", + "documentation":"

    S3 Glacier retrieval tier at which the restore will be processed.

    " + } + }, + "documentation":"

    Container for S3 Glacier job parameters.

    " + }, "Grant":{ "type":"structure", "members":{ - "Grantee":{"shape":"Grantee"}, + "Grantee":{ + "shape":"Grantee", + "documentation":"

    The person being granted permissions.

    " + }, "Permission":{ "shape":"Permission", - "documentation":"Specifies the permission given to the grantee." + "documentation":"

    Specifies the permission given to the grantee.

    " } - } + }, + "documentation":"

    Container for grant information.

    " }, "GrantFullControl":{"type":"string"}, "GrantRead":{"type":"string"}, @@ -2633,27 +4015,28 @@ "members":{ "DisplayName":{ "shape":"DisplayName", - "documentation":"Screen name of the grantee." + "documentation":"

    Screen name of the grantee.

    " }, "EmailAddress":{ "shape":"EmailAddress", - "documentation":"Email address of the grantee." + "documentation":"

    Email address of the grantee.

    Using email addresses to specify a grantee is only supported in the following AWS Regions:

    • US East (N. Virginia)

    • US West (N. California)

    • US West (Oregon)

    • Asia Pacific (Singapore)

    • Asia Pacific (Sydney)

    • Asia Pacific (Tokyo)

    • Europe (Ireland)

    • South America (São Paulo)

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

    " }, "ID":{ "shape":"ID", - "documentation":"The canonical user ID of the grantee." + "documentation":"

    The canonical user ID of the grantee.

    " }, "Type":{ "shape":"Type", - "documentation":"Type of grantee", + "documentation":"

    Type of grantee

    ", "locationName":"xsi:type", "xmlAttribute":true }, "URI":{ "shape":"URI", - "documentation":"URI of the grantee group." + "documentation":"

    URI of the grantee group.

    " } }, + "documentation":"

    Container for the person being granted permissions.

    ", "xmlNamespace":{ "prefix":"xsi", "uri":"http://www.w3.org/2001/XMLSchema-instance" @@ -2672,6 +4055,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" } @@ -2682,131 +4066,133 @@ "members":{ "DeleteMarker":{ "shape":"DeleteMarker", - "documentation":"Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.", + "documentation":"

    Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

    ", "location":"header", "locationName":"x-amz-delete-marker" }, "AcceptRanges":{ "shape":"AcceptRanges", + "documentation":"

    Indicates that a range of bytes was specified.

    ", "location":"header", "locationName":"accept-ranges" }, "Expiration":{ "shape":"Expiration", - "documentation":"If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.", + "documentation":"

    If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL encoded.

    ", "location":"header", "locationName":"x-amz-expiration" }, "Restore":{ "shape":"Restore", - "documentation":"Provides information about object restoration operation and expiration time of the restored object copy.", + "documentation":"

    If the object is an archived object (an object whose storage class is GLACIER), the response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

    If an archive copy is already restored, the header value indicates when Amazon S3 is scheduled to delete the object copy. For example:

    x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 23 Dec 2012 00:00:00 GMT\"

    If the object restoration is in progress, the header returns the value ongoing-request=\"true\".

    For more information about archiving objects, see Transitioning Objects: General Considerations.

    ", "location":"header", "locationName":"x-amz-restore" }, "LastModified":{ "shape":"LastModified", - "documentation":"Last modified date of the object", + "documentation":"

    Last modified date of the object

    ", "location":"header", "locationName":"Last-Modified" }, "ContentLength":{ "shape":"ContentLength", - "documentation":"Size of the body in bytes.", + "documentation":"

    Size of the body in bytes.

    ", "location":"header", "locationName":"Content-Length" }, "ETag":{ "shape":"ETag", - "documentation":"An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL", + "documentation":"

    An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.

    ", "location":"header", "locationName":"ETag" }, "MissingMeta":{ "shape":"MissingMeta", - "documentation":"This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.", + "documentation":"

    This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

    ", "location":"header", "locationName":"x-amz-missing-meta" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version of the object.", + "documentation":"

    Version of the object.

    ", "location":"header", "locationName":"x-amz-version-id" }, "CacheControl":{ "shape":"CacheControl", - "documentation":"Specifies caching behavior along the request/reply chain.", + "documentation":"

    Specifies caching behavior along the request/reply chain.

    ", "location":"header", "locationName":"Cache-Control" }, "ContentDisposition":{ "shape":"ContentDisposition", - "documentation":"Specifies presentational information for the object.", + "documentation":"

    Specifies presentational information for the object.

    ", "location":"header", "locationName":"Content-Disposition" }, "ContentEncoding":{ "shape":"ContentEncoding", - "documentation":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "documentation":"

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

    ", "location":"header", "locationName":"Content-Encoding" }, "ContentLanguage":{ "shape":"ContentLanguage", - "documentation":"The language the content is in.", + "documentation":"

    The language the content is in.

    ", "location":"header", "locationName":"Content-Language" }, "ContentType":{ "shape":"ContentType", - "documentation":"A standard MIME type describing the format of the object data.", + "documentation":"

    A standard MIME type describing the format of the object data.

    ", "location":"header", "locationName":"Content-Type" }, "Expires":{ "shape":"Expires", - "documentation":"The date and time at which the object is no longer cacheable.", + "documentation":"

    The date and time at which the object is no longer cacheable.

    ", "location":"header", "locationName":"Expires" }, "WebsiteRedirectLocation":{ "shape":"WebsiteRedirectLocation", - "documentation":"If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "documentation":"

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    ", "location":"header", "locationName":"x-amz-website-redirect-location" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    If the object is stored using server-side encryption either with an AWS KMS customer master key (CMK) or an Amazon S3-managed encryption key, the response includes this header with the value of the server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "Metadata":{ "shape":"Metadata", - "documentation":"A map of metadata to store with the object in S3.", + "documentation":"

    A map of metadata to store with the object in S3.

    ", "location":"headers", "locationName":"x-amz-meta-" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, "StorageClass":{ "shape":"StorageClass", + "documentation":"

    Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

    For more information, see Storage Classes.

    ", "location":"header", "locationName":"x-amz-storage-class" }, @@ -2817,14 +4203,33 @@ }, "ReplicationStatus":{ "shape":"ReplicationStatus", + "documentation":"

    Amazon S3 can return this header if your request involves a bucket that is either a source or destination in a replication rule.

    In replication, you have a source bucket on which you configure replication and destination bucket where Amazon S3 stores object replicas. When you request an object (GetObject) or object metadata (HeadObject) from these buckets, Amazon S3 will return the x-amz-replication-status header in the response as follows:

    • If requesting an object from the source bucket — Amazon S3 will return the x-amz-replication-status header if the object in your request is eligible for replication.

      For example, suppose that in your replication configuration, you specify object prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix TaxDocs. Any objects you upload with this key name prefix, for example TaxDocs/document1.pdf, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the x-amz-replication-status header with value PENDING, COMPLETED or FAILED indicating object replication status.

    • If requesting an object from the destination bucket — Amazon S3 will return the x-amz-replication-status header with value REPLICA if the object in your request is a replica that Amazon S3 created.

    For more information, see Replication.

    ", "location":"header", "locationName":"x-amz-replication-status" }, "PartsCount":{ "shape":"PartsCount", - "documentation":"The count of parts this object has.", + "documentation":"

    The count of parts this object has.

    ", "location":"header", "locationName":"x-amz-mp-parts-count" + }, + "ObjectLockMode":{ + "shape":"ObjectLockMode", + "documentation":"

    The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the s3:GetObjectRetention permission. For more information about S3 Object Lock, see Object Lock.

    ", + "location":"header", + "locationName":"x-amz-object-lock-mode" + }, + "ObjectLockRetainUntilDate":{ + "shape":"ObjectLockRetainUntilDate", + "documentation":"

    The date and time when the Object Lock retention period expires. This header is only returned if the requester has the s3:GetObjectRetention permission.

    ", + "location":"header", + "locationName":"x-amz-object-lock-retain-until-date" + }, + "ObjectLockLegalHoldStatus":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the s3:GetObjectLegalHold permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see Object Lock.

    ", + "location":"header", + "locationName":"x-amz-object-lock-legal-hold" } } }, @@ -2837,65 +4242,67 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket containing the object.

    ", "location":"uri", "locationName":"Bucket" }, "IfMatch":{ "shape":"IfMatch", - "documentation":"Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).", + "documentation":"

    Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).

    ", "location":"header", "locationName":"If-Match" }, "IfModifiedSince":{ "shape":"IfModifiedSince", - "documentation":"Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).", + "documentation":"

    Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).

    ", "location":"header", "locationName":"If-Modified-Since" }, "IfNoneMatch":{ "shape":"IfNoneMatch", - "documentation":"Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).", + "documentation":"

    Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).

    ", "location":"header", "locationName":"If-None-Match" }, "IfUnmodifiedSince":{ "shape":"IfUnmodifiedSince", - "documentation":"Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).", + "documentation":"

    Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).

    ", "location":"header", "locationName":"If-Unmodified-Since" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    The object key.

    ", "location":"uri", "locationName":"Key" }, "Range":{ "shape":"Range", - "documentation":"Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.", + "documentation":"

    Downloads the specified range bytes of an object. For more information about the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.

    Amazon S3 doesn't support retrieving multiple ranges of data per GET request.

    ", "location":"header", "locationName":"Range" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"VersionId used to reference a specific version of the object.", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", "location":"querystring", "locationName":"versionId" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, @@ -2906,7 +4313,7 @@ }, "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.", + "documentation":"

    Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.

    ", "location":"querystring", "locationName":"partNumber" } @@ -2926,9 +4333,10 @@ "members":{ "Suffix":{ "shape":"Suffix", - "documentation":"A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character." + "documentation":"

    A suffix that is appended to a request that is for a directory on the website endpoint (for example,if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character.

    " } - } + }, + "documentation":"

    Container for the Suffix element.

    " }, "Initiated":{"type":"timestamp"}, "Initiator":{ @@ -2936,20 +4344,244 @@ "members":{ "ID":{ "shape":"ID", - "documentation":"If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value." + "documentation":"

    If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.

    " }, "DisplayName":{ "shape":"DisplayName", - "documentation":"Name of the Principal." + "documentation":"

    Name of the Principal.

    " } - } + }, + "documentation":"

    Container element that identifies who initiated the multipart upload.

    " }, - "IsLatest":{"type":"boolean"}, - "IsTruncated":{"type":"boolean"}, - "KeyCount":{"type":"integer"}, - "KeyMarker":{"type":"string"}, - "KeyPrefixEquals":{"type":"string"}, - "LambdaFunctionArn":{"type":"string"}, + "InputSerialization":{ + "type":"structure", + "members":{ + "CSV":{ + "shape":"CSVInput", + "documentation":"

    Describes the serialization of a CSV-encoded object.

    " + }, + "CompressionType":{ + "shape":"CompressionType", + "documentation":"

    Specifies object's compression format. Valid values: NONE, GZIP, BZIP2. Default Value: NONE.

    " + }, + "JSON":{ + "shape":"JSONInput", + "documentation":"

    Specifies JSON as object's input serialization format.

    " + }, + "Parquet":{ + "shape":"ParquetInput", + "documentation":"

    Specifies Parquet as object's input serialization format.

    " + } + }, + "documentation":"

    Describes the serialization format of the object.

    " + }, + "InventoryConfiguration":{ + "type":"structure", + "required":[ + "Destination", + "IsEnabled", + "Id", + "IncludedObjectVersions", + "Schedule" + ], + "members":{ + "Destination":{ + "shape":"InventoryDestination", + "documentation":"

    Contains information about where to publish the inventory results.

    " + }, + "IsEnabled":{ + "shape":"IsEnabled", + "documentation":"

    Specifies whether the inventory is enabled or disabled. If set to True, an inventory list is generated. If set to False, no inventory list is generated.

    " + }, + "Filter":{ + "shape":"InventoryFilter", + "documentation":"

    Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

    " + }, + "Id":{ + "shape":"InventoryId", + "documentation":"

    The ID used to identify the inventory configuration.

    " + }, + "IncludedObjectVersions":{ + "shape":"InventoryIncludedObjectVersions", + "documentation":"

    Object versions to include in the inventory list. If set to All, the list includes all the object versions, which adds the version-related fields VersionId, IsLatest, and DeleteMarker to the list. If set to Current, the list does not contain these version-related fields.

    " + }, + "OptionalFields":{ + "shape":"InventoryOptionalFields", + "documentation":"

    Contains the optional fields that are included in the inventory results.

    " + }, + "Schedule":{ + "shape":"InventorySchedule", + "documentation":"

    Specifies the schedule for generating inventory results.

    " + } + }, + "documentation":"

    Specifies the inventory configuration for an Amazon S3 bucket. For more information, see GET Bucket inventory in the Amazon Simple Storage Service API Reference.

    " + }, + "InventoryConfigurationList":{ + "type":"list", + "member":{"shape":"InventoryConfiguration"}, + "flattened":true + }, + "InventoryDestination":{ + "type":"structure", + "required":["S3BucketDestination"], + "members":{ + "S3BucketDestination":{ + "shape":"InventoryS3BucketDestination", + "documentation":"

    Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

    " + } + }, + "documentation":"

    Specifies the inventory configuration for an Amazon S3 bucket.

    " + }, + "InventoryEncryption":{ + "type":"structure", + "members":{ + "SSES3":{ + "shape":"SSES3", + "documentation":"

    Specifies the use of SSE-S3 to encrypt delivered inventory reports.

    ", + "locationName":"SSE-S3" + }, + "SSEKMS":{ + "shape":"SSEKMS", + "documentation":"

    Specifies the use of SSE-KMS to encrypt delivered inventory reports.

    ", + "locationName":"SSE-KMS" + } + }, + "documentation":"

    Contains the type of server-side encryption used to encrypt the inventory results.

    " + }, + "InventoryFilter":{ + "type":"structure", + "required":["Prefix"], + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix that an object must have to be included in the inventory results.

    " + } + }, + "documentation":"

    Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.

    " + }, + "InventoryFormat":{ + "type":"string", + "enum":[ + "CSV", + "ORC", + "Parquet" + ] + }, + "InventoryFrequency":{ + "type":"string", + "enum":[ + "Daily", + "Weekly" + ] + }, + "InventoryId":{"type":"string"}, + "InventoryIncludedObjectVersions":{ + "type":"string", + "enum":[ + "All", + "Current" + ] + }, + "InventoryOptionalField":{ + "type":"string", + "enum":[ + "Size", + "LastModifiedDate", + "StorageClass", + "ETag", + "IsMultipartUploaded", + "ReplicationStatus", + "EncryptionStatus", + "ObjectLockRetainUntilDate", + "ObjectLockMode", + "ObjectLockLegalHoldStatus", + "IntelligentTieringAccessTier" + ] + }, + "InventoryOptionalFields":{ + "type":"list", + "member":{ + "shape":"InventoryOptionalField", + "locationName":"Field" + } + }, + "InventoryS3BucketDestination":{ + "type":"structure", + "required":[ + "Bucket", + "Format" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.

    Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.

    " + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The Amazon Resource Name (ARN) of the bucket where inventory results will be published.

    " + }, + "Format":{ + "shape":"InventoryFormat", + "documentation":"

    Specifies the output format of the inventory results.

    " + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix that is prepended to all inventory results.

    " + }, + "Encryption":{ + "shape":"InventoryEncryption", + "documentation":"

    Contains the type of server-side encryption used to encrypt the inventory results.

    " + } + }, + "documentation":"

    Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.

    " + }, + "InventorySchedule":{ + "type":"structure", + "required":["Frequency"], + "members":{ + "Frequency":{ + "shape":"InventoryFrequency", + "documentation":"

    Specifies how frequently inventory results are produced.

    " + } + }, + "documentation":"

    Specifies the schedule for generating inventory results.

    " + }, + "IsEnabled":{"type":"boolean"}, + "IsLatest":{"type":"boolean"}, + "IsPublic":{"type":"boolean"}, + "IsTruncated":{"type":"boolean"}, + "JSONInput":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"JSONType", + "documentation":"

    The type of JSON. Valid values: Document, Lines.

    " + } + }, + "documentation":"

    Specifies JSON as object's input serialization format.

    " + }, + "JSONOutput":{ + "type":"structure", + "members":{ + "RecordDelimiter":{ + "shape":"RecordDelimiter", + "documentation":"

    The value used to separate individual records in the output. If no value is specified, Amazon S3 uses a newline character ('\\n').

    " + } + }, + "documentation":"

    Specifies JSON as request's output serialization format.

    " + }, + "JSONType":{ + "type":"string", + "enum":[ + "DOCUMENT", + "LINES" + ] + }, + "KMSContext":{"type":"string"}, + "KeyCount":{"type":"integer"}, + "KeyMarker":{"type":"string"}, + "KeyPrefixEquals":{"type":"string"}, + "LambdaFunctionArn":{"type":"string"}, "LambdaFunctionConfiguration":{ "type":"structure", "required":[ @@ -2960,16 +4592,17 @@ "Id":{"shape":"NotificationId"}, "LambdaFunctionArn":{ "shape":"LambdaFunctionArn", - "documentation":"Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.

    ", "locationName":"CloudFunction" }, "Events":{ "shape":"EventList", + "documentation":"

    The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see Supported Event Types in the Amazon Simple Storage Service Developer Guide.

    ", "locationName":"Event" }, "Filter":{"shape":"NotificationConfigurationFilter"} }, - "documentation":"Container for specifying the AWS Lambda notification configuration." + "documentation":"

    A container for specifying the configuration for AWS Lambda notifications.

    " }, "LambdaFunctionConfigurationList":{ "type":"list", @@ -2983,69 +4616,234 @@ "members":{ "Rules":{ "shape":"Rules", + "documentation":"

    Specifies lifecycle configuration rules for an Amazon S3 bucket.

    ", "locationName":"Rule" } - } + }, + "documentation":"

    Container for lifecycle rules. You can add as many as 1000 rules.

    " }, "LifecycleExpiration":{ "type":"structure", "members":{ "Date":{ "shape":"Date", - "documentation":"Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format." + "documentation":"

    Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.

    " }, "Days":{ "shape":"Days", - "documentation":"Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer." + "documentation":"

    Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

    " }, "ExpiredObjectDeleteMarker":{ "shape":"ExpiredObjectDeleteMarker", - "documentation":"Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy." + "documentation":"

    Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.

    " } - } + }, + "documentation":"

    Container for the expiration for the lifecycle of the object.

    " }, "LifecycleRule":{ "type":"structure", - "required":[ - "Prefix", - "Status" - ], + "required":["Status"], "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, + "Expiration":{ + "shape":"LifecycleExpiration", + "documentation":"

    Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object has a delete marker.

    " + }, "ID":{ "shape":"ID", - "documentation":"Unique identifier for the rule. The value cannot be longer than 255 characters." + "documentation":"

    Unique identifier for the rule. The value cannot be longer than 255 characters.

    " }, "Prefix":{ "shape":"Prefix", - "documentation":"Prefix identifying one or more objects to which the rule applies." + "documentation":"

    Prefix identifying one or more objects to which the rule applies. This is No longer used; use Filter instead.

    ", + "deprecated":true }, + "Filter":{"shape":"LifecycleRuleFilter"}, "Status":{ "shape":"ExpirationStatus", - "documentation":"If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied." + "documentation":"

    If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

    " }, "Transitions":{ "shape":"TransitionList", + "documentation":"

    Specifies when an Amazon S3 object transitions to a specified storage class.

    ", "locationName":"Transition" }, "NoncurrentVersionTransitions":{ "shape":"NoncurrentVersionTransitionList", + "documentation":"

    Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to a specific storage class at a set period in the object's lifetime.

    ", "locationName":"NoncurrentVersionTransition" }, "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } + }, + "documentation":"

    A lifecycle rule for individual objects in an Amazon S3 bucket.

    " + }, + "LifecycleRuleAndOperator":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    Prefix identifying one or more objects to which the rule applies.

    " + }, + "Tags":{ + "shape":"TagSet", + "documentation":"

    All of these tags must exist in the object's tag set in order for the rule to apply.

    ", + "flattened":true, + "locationName":"Tag" + } + }, + "documentation":"

    This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.

    " + }, + "LifecycleRuleFilter":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    Prefix identifying one or more objects to which the rule applies.

    " + }, + "Tag":{ + "shape":"Tag", + "documentation":"

    This tag must exist in the object's tag set in order for the rule to apply.

    " + }, + "And":{"shape":"LifecycleRuleAndOperator"} + }, + "documentation":"

    The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.

    " }, "LifecycleRules":{ "type":"list", "member":{"shape":"LifecycleRule"}, "flattened":true }, + "ListBucketAnalyticsConfigurationsOutput":{ + "type":"structure", + "members":{ + "IsTruncated":{ + "shape":"IsTruncated", + "documentation":"

    Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

    " + }, + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    The marker that is used as a starting point for this analytics configuration list response. This value is present if it was sent in the request.

    " + }, + "NextContinuationToken":{ + "shape":"NextToken", + "documentation":"

    NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.

    " + }, + "AnalyticsConfigurationList":{ + "shape":"AnalyticsConfigurationList", + "documentation":"

    The list of analytics configurations for a bucket.

    ", + "locationName":"AnalyticsConfiguration" + } + } + }, + "ListBucketAnalyticsConfigurationsRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket from which analytics configurations are retrieved.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    The ContinuationToken that represents a placeholder from where this request should begin.

    ", + "location":"querystring", + "locationName":"continuation-token" + } + } + }, + "ListBucketInventoryConfigurationsOutput":{ + "type":"structure", + "members":{ + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    If sent in the request, the marker that is used as a starting point for this inventory configuration list response.

    " + }, + "InventoryConfigurationList":{ + "shape":"InventoryConfigurationList", + "documentation":"

    The list of inventory configurations for a bucket.

    ", + "locationName":"InventoryConfiguration" + }, + "IsTruncated":{ + "shape":"IsTruncated", + "documentation":"

    Tells whether the returned list of inventory configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken is provided for a subsequent request.

    " + }, + "NextContinuationToken":{ + "shape":"NextToken", + "documentation":"

    The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.

    " + } + } + }, + "ListBucketInventoryConfigurationsRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the inventory configurations to retrieve.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

    ", + "location":"querystring", + "locationName":"continuation-token" + } + } + }, + "ListBucketMetricsConfigurationsOutput":{ + "type":"structure", + "members":{ + "IsTruncated":{ + "shape":"IsTruncated", + "documentation":"

    Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

    " + }, + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.

    " + }, + "NextContinuationToken":{ + "shape":"NextToken", + "documentation":"

    The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

    " + }, + "MetricsConfigurationList":{ + "shape":"MetricsConfigurationList", + "documentation":"

    The list of metrics configurations for a bucket.

    ", + "locationName":"MetricsConfiguration" + } + } + }, + "ListBucketMetricsConfigurationsRequest":{ + "type":"structure", + "required":["Bucket"], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket containing the metrics configurations to retrieve.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContinuationToken":{ + "shape":"Token", + "documentation":"

    The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.

    ", + "location":"querystring", + "locationName":"continuation-token" + } + } + }, "ListBucketsOutput":{ "type":"structure", "members":{ - "Buckets":{"shape":"Buckets"}, - "Owner":{"shape":"Owner"} + "Buckets":{ + "shape":"Buckets", + "documentation":"

    The list of buckets owned by the requestor.

    " + }, + "Owner":{ + "shape":"Owner", + "documentation":"

    The owner of the buckets listed.

    " + } } }, "ListMultipartUploadsOutput":{ @@ -3053,45 +4851,52 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to which the multipart upload was initiated." + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    " }, "KeyMarker":{ "shape":"KeyMarker", - "documentation":"The key at or after which the listing began." + "documentation":"

    The key at or after which the listing began.

    " }, "UploadIdMarker":{ "shape":"UploadIdMarker", - "documentation":"Upload ID after which listing began." + "documentation":"

    Upload ID after which listing began.

    " }, "NextKeyMarker":{ "shape":"NextKeyMarker", - "documentation":"When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request." + "documentation":"

    When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.

    " }, "Prefix":{ "shape":"Prefix", - "documentation":"When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix." + "documentation":"

    When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.

    " + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

    Contains the delimiter you specified in the request. If you don't specify a delimiter in your request, this element is absent from the response.

    " }, - "Delimiter":{"shape":"Delimiter"}, "NextUploadIdMarker":{ "shape":"NextUploadIdMarker", - "documentation":"When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request." + "documentation":"

    When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.

    " }, "MaxUploads":{ "shape":"MaxUploads", - "documentation":"Maximum number of multipart uploads that could have been included in the response." + "documentation":"

    Maximum number of multipart uploads that could have been included in the response.

    " }, "IsTruncated":{ "shape":"IsTruncated", - "documentation":"Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads." + "documentation":"

    Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.

    " }, "Uploads":{ "shape":"MultipartUploadList", + "documentation":"

    Container for elements related to a particular multipart upload. A response can contain zero or more Upload elements.

    ", "locationName":"Upload" }, - "CommonPrefixes":{"shape":"CommonPrefixList"}, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

    If you specify a delimiter in the request, then the result returns each distinct key prefix containing the delimiter in a CommonPrefixes element. The distinct key prefixes are returned in the Prefix child element.

    " + }, "EncodingType":{ "shape":"EncodingType", - "documentation":"Encoding type used by Amazon S3 to encode object keys in the response." + "documentation":"

    Encoding type used by Amazon S3 to encode object keys in the response.

    If you specify encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

    Delimiter, KeyMarker, Prefix, NextKeyMarker, Key.

    " } } }, @@ -3101,12 +4906,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Delimiter":{ "shape":"Delimiter", - "documentation":"Character you use to group keys.", + "documentation":"

    Character you use to group keys.

    All keys that contain the same string between the prefix, if specified, and the first occurrence of the delimiter after the prefix are grouped under a single result element, CommonPrefixes. If you don't specify the prefix parameter, then the substring starts at the beginning of the key. The keys that are grouped under CommonPrefixes result element are not returned elsewhere in the response.

    ", "location":"querystring", "locationName":"delimiter" }, @@ -3117,25 +4923,25 @@ }, "KeyMarker":{ "shape":"KeyMarker", - "documentation":"Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.", + "documentation":"

    Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.

    If upload-id-marker is not specified, only the keys lexicographically greater than the specified key-marker will be included in the list.

    If upload-id-marker is specified, any multipart uploads for a key equal to the key-marker might also be included, provided those multipart uploads have upload IDs lexicographically greater than the specified upload-id-marker.

    ", "location":"querystring", "locationName":"key-marker" }, "MaxUploads":{ "shape":"MaxUploads", - "documentation":"Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.", + "documentation":"

    Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.

    ", "location":"querystring", "locationName":"max-uploads" }, "Prefix":{ "shape":"Prefix", - "documentation":"Lists in-progress uploads only for those keys that begin with the specified prefix.", + "documentation":"

    Lists in-progress uploads only for those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different grouping of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.)

    ", "location":"querystring", "locationName":"prefix" }, "UploadIdMarker":{ "shape":"UploadIdMarker", - "documentation":"Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored.", + "documentation":"

    Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored. Otherwise, any multipart uploads for a key equal to the key-marker might be included in the list only if they have an upload ID lexicographically greater than the specified upload-id-marker.

    ", "location":"querystring", "locationName":"upload-id-marker" } @@ -3146,37 +4952,57 @@ "members":{ "IsTruncated":{ "shape":"IsTruncated", - "documentation":"A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results." + "documentation":"

    A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results.

    " }, "KeyMarker":{ "shape":"KeyMarker", - "documentation":"Marks the last Key returned in a truncated response." + "documentation":"

    Marks the last key returned in a truncated response.

    " + }, + "VersionIdMarker":{ + "shape":"VersionIdMarker", + "documentation":"

    Marks the last version of the key returned in a truncated response.

    " }, - "VersionIdMarker":{"shape":"VersionIdMarker"}, "NextKeyMarker":{ "shape":"NextKeyMarker", - "documentation":"Use this value for the key marker request parameter in a subsequent request." + "documentation":"

    When the number of responses exceeds the value of MaxKeys, NextKeyMarker specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.

    " }, "NextVersionIdMarker":{ "shape":"NextVersionIdMarker", - "documentation":"Use this value for the next version id marker parameter in a subsequent request." + "documentation":"

    When the number of responses exceeds the value of MaxKeys, NextVersionIdMarker specifies the first object version not returned that satisfies the search criteria. Use this value for the version-id-marker request parameter in a subsequent request.

    " }, "Versions":{ "shape":"ObjectVersionList", + "documentation":"

    Container for version information.

    ", "locationName":"Version" }, "DeleteMarkers":{ "shape":"DeleteMarkers", + "documentation":"

    Container for an object that is a delete marker.

    ", "locationName":"DeleteMarker" }, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, + "Name":{ + "shape":"BucketName", + "documentation":"

    Bucket name.

    " + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

    Selects objects that start with the value supplied by this parameter.

    " + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

    The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in CommonPrefixes. These groups are counted as one result against the max-keys limitation. These keys are not returned elsewhere in the response.

    " + }, + "MaxKeys":{ + "shape":"MaxKeys", + "documentation":"

    Specifies the maximum number of objects to return.

    " + }, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

    All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

    " + }, "EncodingType":{ "shape":"EncodingType", - "documentation":"Encoding type used by Amazon S3 to encode object keys in the response." + "documentation":"

    Encoding type used by Amazon S3 to encode object key names in the XML response.

    If you specify encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

    KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter.

    " } } }, @@ -3186,12 +5012,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name that contains the objects.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Delimiter":{ "shape":"Delimiter", - "documentation":"A delimiter is a character you use to group keys.", + "documentation":"

    A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in CommonPrefixes. These groups are counted as one result against the max-keys limitation. These keys are not returned elsewhere in the response.

    ", "location":"querystring", "locationName":"delimiter" }, @@ -3202,25 +5029,25 @@ }, "KeyMarker":{ "shape":"KeyMarker", - "documentation":"Specifies the key to start with when listing objects in a bucket.", + "documentation":"

    Specifies the key to start with when listing objects in a bucket.

    ", "location":"querystring", "locationName":"key-marker" }, "MaxKeys":{ "shape":"MaxKeys", - "documentation":"Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "documentation":"

    Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more. If additional keys satisfy the search criteria, but were not returned because max-keys was exceeded, the response contains <isTruncated>true</isTruncated>. To return the additional keys, see key-marker and version-id-marker.

    ", "location":"querystring", "locationName":"max-keys" }, "Prefix":{ "shape":"Prefix", - "documentation":"Limits the response to keys that begin with the specified prefix.", + "documentation":"

    Use this parameter to select only those keys that begin with the specified prefix. You can use prefixes to separate a bucket into different groupings of keys. (You can think of using prefix to make groups in the same way you'd use a folder in a file system.) You can use prefix with delimiter to roll up numerous objects into a single result under CommonPrefixes.

    ", "location":"querystring", "locationName":"prefix" }, "VersionIdMarker":{ "shape":"VersionIdMarker", - "documentation":"Specifies the object version you want to start listing from.", + "documentation":"

    Specifies the object version you want to start listing from.

    ", "location":"querystring", "locationName":"version-id-marker" } @@ -3231,22 +5058,43 @@ "members":{ "IsTruncated":{ "shape":"IsTruncated", - "documentation":"A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria." + "documentation":"

    A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria.

    " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

    Indicates where in the bucket listing begins. Marker is included in the response if it was sent with the request.

    " }, - "Marker":{"shape":"Marker"}, "NextMarker":{ "shape":"NextMarker", - "documentation":"When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys." + "documentation":"

    When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.

    " + }, + "Contents":{ + "shape":"ObjectList", + "documentation":"

    Metadata about each object returned.

    " + }, + "Name":{ + "shape":"BucketName", + "documentation":"

    Bucket name.

    " + }, + "Prefix":{ + "shape":"Prefix", + "documentation":"

    Keys that begin with the indicated prefix.

    " + }, + "Delimiter":{ + "shape":"Delimiter", + "documentation":"

    Causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be rolled up into a single result element in the CommonPrefixes collection. These rolled-up keys are not returned elsewhere in the response. Each rolled-up result counts as only one return against the MaxKeys value.

    " + }, + "MaxKeys":{ + "shape":"MaxKeys", + "documentation":"

    The maximum number of keys returned in the response body.

    " + }, + "CommonPrefixes":{ + "shape":"CommonPrefixList", + "documentation":"

    All of the keys rolled up in a common prefix count as a single return when calculating the number of returns.

    A response can contain CommonPrefixes only if you specify a delimiter.

    CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by the delimiter.

    CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix.

    For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a common prefix count as a single return when calculating the number of returns.

    " }, - "Contents":{"shape":"ObjectList"}, - "Name":{"shape":"BucketName"}, - "Prefix":{"shape":"Prefix"}, - "Delimiter":{"shape":"Delimiter"}, - "MaxKeys":{"shape":"MaxKeys"}, - "CommonPrefixes":{"shape":"CommonPrefixList"}, "EncodingType":{ "shape":"EncodingType", - "documentation":"Encoding type used by Amazon S3 to encode object keys in the response." + "documentation":"

    Encoding type used by Amazon S3 to encode object keys in the response.

    " } } }, @@ -3256,12 +5104,13 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket containing the objects.

    ", "location":"uri", "locationName":"Bucket" }, "Delimiter":{ "shape":"Delimiter", - "documentation":"A delimiter is a character you use to group keys.", + "documentation":"

    A delimiter is a character you use to group keys.

    ", "location":"querystring", "locationName":"delimiter" }, @@ -3272,25 +5121,25 @@ }, "Marker":{ "shape":"Marker", - "documentation":"Specifies the key to start with when listing objects in a bucket.", + "documentation":"

    Specifies the key to start with when listing objects in a bucket.

    ", "location":"querystring", "locationName":"marker" }, "MaxKeys":{ "shape":"MaxKeys", - "documentation":"Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "documentation":"

    Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

    ", "location":"querystring", "locationName":"max-keys" }, "Prefix":{ "shape":"Prefix", - "documentation":"Limits the response to keys that begin with the specified prefix.", + "documentation":"

    Limits the response to keys that begin with the specified prefix.

    ", "location":"querystring", "locationName":"prefix" }, "RequestPayer":{ "shape":"RequestPayer", - "documentation":"Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.", + "documentation":"

    Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.

    ", "location":"header", "locationName":"x-amz-request-payer" } @@ -3301,51 +5150,51 @@ "members":{ "IsTruncated":{ "shape":"IsTruncated", - "documentation":"A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria." + "documentation":"

    Set to false if all of the results were returned. Set to true if more keys are available to return. If the number of results exceeds that specified by MaxKeys, all of the results might not be returned.

    " }, "Contents":{ "shape":"ObjectList", - "documentation":"Metadata about each object returned." + "documentation":"

    Metadata about each object returned.

    " }, "Name":{ "shape":"BucketName", - "documentation":"Name of the bucket to list." + "documentation":"

    Bucket name.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    " }, "Prefix":{ "shape":"Prefix", - "documentation":"Limits the response to keys that begin with the specified prefix." + "documentation":"

    Keys that begin with the indicated prefix.

    " }, "Delimiter":{ "shape":"Delimiter", - "documentation":"A delimiter is a character you use to group keys." + "documentation":"

    Causes keys that contain the same string between the prefix and the first occurrence of the delimiter to be rolled up into a single result element in the CommonPrefixes collection. These rolled-up keys are not returned elsewhere in the response. Each rolled-up result counts as only one return against the MaxKeys value.

    " }, "MaxKeys":{ "shape":"MaxKeys", - "documentation":"Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more." + "documentation":"

    Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

    " }, "CommonPrefixes":{ "shape":"CommonPrefixList", - "documentation":"CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter" + "documentation":"

    All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.

    A response can contain CommonPrefixes only if you specify a delimiter.

    CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by a delimiter.

    CommonPrefixes lists keys that act like subdirectories in the directory specified by Prefix.

    For example, if the prefix is notes/ and the delimiter is a slash (/) as in notes/summer/july, the common prefix is notes/summer/. All of the keys that roll up into a common prefix count as a single return when calculating the number of returns.

    " }, "EncodingType":{ "shape":"EncodingType", - "documentation":"Encoding type used by Amazon S3 to encode object keys in the response." + "documentation":"

    Encoding type used by Amazon S3 to encode object key names in the XML response.

    If you specify the encoding-type request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:

    Delimiter, Prefix, Key, and StartAfter.

    " }, "KeyCount":{ "shape":"KeyCount", - "documentation":"KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys" + "documentation":"

    KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys

    " }, "ContinuationToken":{ "shape":"Token", - "documentation":"ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key" + "documentation":"

    If ContinuationToken was sent with the request, it is included in the response.

    " }, "NextContinuationToken":{ "shape":"NextToken", - "documentation":"NextContinuationToken is sent when isTruncated is true which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key" + "documentation":"

    NextContinuationToken is sent when isTruncated is true, which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key

    " }, "StartAfter":{ "shape":"StartAfter", - "documentation":"StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket" + "documentation":"

    If StartAfter was sent with the request, it is included in the response.

    " } } }, @@ -3355,55 +5204,55 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to list.", + "documentation":"

    Bucket name to list.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Delimiter":{ "shape":"Delimiter", - "documentation":"A delimiter is a character you use to group keys.", + "documentation":"

    A delimiter is a character you use to group keys.

    ", "location":"querystring", "locationName":"delimiter" }, "EncodingType":{ "shape":"EncodingType", - "documentation":"Encoding type used by Amazon S3 to encode object keys in the response.", + "documentation":"

    Encoding type used by Amazon S3 to encode object keys in the response.

    ", "location":"querystring", "locationName":"encoding-type" }, "MaxKeys":{ "shape":"MaxKeys", - "documentation":"Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.", + "documentation":"

    Sets the maximum number of keys returned in the response. By default the API returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

    ", "location":"querystring", "locationName":"max-keys" }, "Prefix":{ "shape":"Prefix", - "documentation":"Limits the response to keys that begin with the specified prefix.", + "documentation":"

    Limits the response to keys that begin with the specified prefix.

    ", "location":"querystring", "locationName":"prefix" }, "ContinuationToken":{ "shape":"Token", - "documentation":"ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key", + "documentation":"

    ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key.

    ", "location":"querystring", "locationName":"continuation-token" }, "FetchOwner":{ "shape":"FetchOwner", - "documentation":"The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true", + "documentation":"

    The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true.

    ", "location":"querystring", "locationName":"fetch-owner" }, "StartAfter":{ "shape":"StartAfter", - "documentation":"StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket", + "documentation":"

    StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket.

    ", "location":"querystring", "locationName":"start-after" }, "RequestPayer":{ "shape":"RequestPayer", - "documentation":"Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.", + "documentation":"

    Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.

    ", "location":"header", "locationName":"x-amz-request-payer" } @@ -3414,56 +5263,60 @@ "members":{ "AbortDate":{ "shape":"AbortDate", - "documentation":"Date when multipart upload will become eligible for abort operation by lifecycle.", + "documentation":"

    If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

    The response will also include the x-amz-abort-rule-id header that will provide the ID of the lifecycle configuration rule that defines this action.

    ", "location":"header", "locationName":"x-amz-abort-date" }, "AbortRuleId":{ "shape":"AbortRuleId", - "documentation":"Id of the lifecycle rule that makes a multipart upload eligible for abort operation.", + "documentation":"

    This header is returned along with the x-amz-abort-date header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.

    ", "location":"header", "locationName":"x-amz-abort-rule-id" }, "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to which the multipart upload was initiated." + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    " }, "Key":{ "shape":"ObjectKey", - "documentation":"Object key for which the multipart upload was initiated." + "documentation":"

    Object key for which the multipart upload was initiated.

    " }, "UploadId":{ "shape":"MultipartUploadId", - "documentation":"Upload ID identifying the multipart upload whose parts are being listed." + "documentation":"

    Upload ID identifying the multipart upload whose parts are being listed.

    " }, "PartNumberMarker":{ "shape":"PartNumberMarker", - "documentation":"Part number after which listing begins." + "documentation":"

    When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

    " }, "NextPartNumberMarker":{ "shape":"NextPartNumberMarker", - "documentation":"When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request." + "documentation":"

    When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.

    " }, "MaxParts":{ "shape":"MaxParts", - "documentation":"Maximum number of parts that were allowed in the response." + "documentation":"

    Maximum number of parts that were allowed in the response.

    " }, "IsTruncated":{ "shape":"IsTruncated", - "documentation":"Indicates whether the returned list of parts is truncated." + "documentation":"

    Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.

    " }, "Parts":{ "shape":"Parts", + "documentation":"

    Container for elements related to a particular part. A response can contain zero or more Part elements.

    ", "locationName":"Part" }, "Initiator":{ "shape":"Initiator", - "documentation":"Identifies who initiated the multipart upload." + "documentation":"

    Container element that identifies who initiated the multipart upload. If the initiator is an AWS account, this element provides the same information as the Owner element. If the initiator is an IAM User, this element provides the user ARN and display name.

    " + }, + "Owner":{ + "shape":"Owner", + "documentation":"

    Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.

    " }, - "Owner":{"shape":"Owner"}, "StorageClass":{ "shape":"StorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded object.

    " }, "RequestCharged":{ "shape":"RequestCharged", @@ -3482,29 +5335,31 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Name of the bucket to which the parts are being uploaded.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Object key for which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Key" }, "MaxParts":{ "shape":"MaxParts", - "documentation":"Sets the maximum number of parts to return.", + "documentation":"

    Sets the maximum number of parts to return.

    ", "location":"querystring", "locationName":"max-parts" }, "PartNumberMarker":{ "shape":"PartNumberMarker", - "documentation":"Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.", + "documentation":"

    Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.

    ", "location":"querystring", "locationName":"part-number-marker" }, "UploadId":{ "shape":"MultipartUploadId", - "documentation":"Upload ID identifying the multipart upload whose parts are being listed.", + "documentation":"

    Upload ID identifying the multipart upload whose parts are being listed.

    ", "location":"querystring", "locationName":"uploadId" }, @@ -3516,19 +5371,28 @@ } }, "Location":{"type":"string"}, + "LocationPrefix":{"type":"string"}, "LoggingEnabled":{ "type":"structure", + "required":[ + "TargetBucket", + "TargetPrefix" + ], "members":{ "TargetBucket":{ "shape":"TargetBucket", - "documentation":"Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key." + "documentation":"

    Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case, you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.

    " + }, + "TargetGrants":{ + "shape":"TargetGrants", + "documentation":"

    Container for granting information.

    " }, - "TargetGrants":{"shape":"TargetGrants"}, "TargetPrefix":{ "shape":"TargetPrefix", - "documentation":"This element lets you specify a prefix for the keys that the log files will be stored under." + "documentation":"

    A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.

    " } - } + }, + "documentation":"

    Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For more information, see PUT Bucket logging in the Amazon Simple Storage Service API Reference.

    " }, "MFA":{"type":"string"}, "MFADelete":{ @@ -3563,34 +5427,133 @@ "REPLACE" ] }, + "MetadataEntry":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"MetadataKey", + "documentation":"

    Name of the Object.

    " + }, + "Value":{ + "shape":"MetadataValue", + "documentation":"

    Value of the Object.

    " + } + }, + "documentation":"

    A metadata key-value pair to store with an object.

    " + }, "MetadataKey":{"type":"string"}, "MetadataValue":{"type":"string"}, + "Metrics":{ + "type":"structure", + "required":[ + "Status", + "EventThreshold" + ], + "members":{ + "Status":{ + "shape":"MetricsStatus", + "documentation":"

    Specifies whether the replication metrics are enabled.

    " + }, + "EventThreshold":{ + "shape":"ReplicationTimeValue", + "documentation":"

    A container specifying the time threshold for emitting the s3:Replication:OperationMissedThreshold event.

    " + } + }, + "documentation":"

    A container specifying replication metrics-related settings enabling metrics and Amazon S3 events for S3 Replication Time Control (S3 RTC). Must be specified together with a ReplicationTime block.

    " + }, + "MetricsAndOperator":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix used when evaluating an AND predicate.

    " + }, + "Tags":{ + "shape":"TagSet", + "documentation":"

    The list of tags used when evaluating an AND predicate.

    ", + "flattened":true, + "locationName":"Tag" + } + }, + "documentation":"

    A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

    " + }, + "MetricsConfiguration":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"MetricsId", + "documentation":"

    The ID used to identify the metrics configuration.

    " + }, + "Filter":{ + "shape":"MetricsFilter", + "documentation":"

    Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

    " + } + }, + "documentation":"

    Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see PUT Bucket metrics in the Amazon Simple Storage Service API Reference.

    " + }, + "MetricsConfigurationList":{ + "type":"list", + "member":{"shape":"MetricsConfiguration"}, + "flattened":true + }, + "MetricsFilter":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    The prefix used when evaluating a metrics filter.

    " + }, + "Tag":{ + "shape":"Tag", + "documentation":"

    The tag used when evaluating a metrics filter.

    " + }, + "And":{ + "shape":"MetricsAndOperator", + "documentation":"

    A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

    " + } + }, + "documentation":"

    Specifies a metrics configuration filter. The metrics configuration only includes objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).

    " + }, + "MetricsId":{"type":"string"}, + "MetricsStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "Minutes":{"type":"integer"}, "MissingMeta":{"type":"integer"}, "MultipartUpload":{ "type":"structure", "members":{ "UploadId":{ "shape":"MultipartUploadId", - "documentation":"Upload ID that identifies the multipart upload." + "documentation":"

    Upload ID that identifies the multipart upload.

    " }, "Key":{ "shape":"ObjectKey", - "documentation":"Key of the object for which the multipart upload was initiated." + "documentation":"

    Key of the object for which the multipart upload was initiated.

    " }, "Initiated":{ "shape":"Initiated", - "documentation":"Date and time at which the multipart upload was initiated." + "documentation":"

    Date and time at which the multipart upload was initiated.

    " }, "StorageClass":{ "shape":"StorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The class of storage used to store the object.

    " + }, + "Owner":{ + "shape":"Owner", + "documentation":"

    Specifies the owner of the object that is part of the multipart upload.

    " }, - "Owner":{"shape":"Owner"}, "Initiator":{ "shape":"Initiator", - "documentation":"Identifies who initiated the multipart upload." + "documentation":"

    Identifies who initiated the multipart upload.

    " } - } + }, + "documentation":"

    Container for the MultipartUpload for the Amazon S3 object.

    " }, "MultipartUploadId":{"type":"string"}, "MultipartUploadList":{ @@ -3608,21 +5571,21 @@ "type":"structure", "members":{ }, - "documentation":"The specified bucket does not exist.", + "documentation":"

    The specified bucket does not exist.

    ", "exception":true }, "NoSuchKey":{ "type":"structure", "members":{ }, - "documentation":"The specified key does not exist.", + "documentation":"

    The specified key does not exist.

    ", "exception":true }, "NoSuchUpload":{ "type":"structure", "members":{ }, - "documentation":"The specified multipart upload does not exist.", + "documentation":"

    The specified multipart upload does not exist.

    ", "exception":true }, "NoncurrentVersionExpiration":{ @@ -3630,24 +5593,24 @@ "members":{ "NoncurrentDays":{ "shape":"Days", - "documentation":"Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide." + "documentation":"

    Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide.

    " } }, - "documentation":"Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime." + "documentation":"

    Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.

    " }, "NoncurrentVersionTransition":{ "type":"structure", "members":{ "NoncurrentDays":{ "shape":"Days", - "documentation":"Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide." + "documentation":"

    Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon Simple Storage Service Developer Guide.

    " }, "StorageClass":{ "shape":"TransitionStorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The class of storage used to store the object.

    " } }, - "documentation":"Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime." + "documentation":"

    Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.

    " }, "NoncurrentVersionTransitionList":{ "type":"list", @@ -3659,25 +5622,37 @@ "members":{ "TopicConfigurations":{ "shape":"TopicConfigurationList", + "documentation":"

    The topic to which notifications are sent and the events for which notifications are generated.

    ", "locationName":"TopicConfiguration" }, "QueueConfigurations":{ "shape":"QueueConfigurationList", + "documentation":"

    The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.

    ", "locationName":"QueueConfiguration" }, "LambdaFunctionConfigurations":{ "shape":"LambdaFunctionConfigurationList", + "documentation":"

    Describes the AWS Lambda functions to invoke and the events for which to invoke them.

    ", "locationName":"CloudFunctionConfiguration" } }, - "documentation":"Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket." + "documentation":"

    A container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off for the bucket.

    " }, "NotificationConfigurationDeprecated":{ "type":"structure", "members":{ - "TopicConfiguration":{"shape":"TopicConfigurationDeprecated"}, - "QueueConfiguration":{"shape":"QueueConfigurationDeprecated"}, - "CloudFunctionConfiguration":{"shape":"CloudFunctionConfiguration"} + "TopicConfiguration":{ + "shape":"TopicConfigurationDeprecated", + "documentation":"

    This data type is deprecated. A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

    " + }, + "QueueConfiguration":{ + "shape":"QueueConfigurationDeprecated", + "documentation":"

    This data type is deprecated. This data type specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

    " + }, + "CloudFunctionConfiguration":{ + "shape":"CloudFunctionConfiguration", + "documentation":"

    Container for specifying the AWS Lambda notification configuration.

    " + } } }, "NotificationConfigurationFilter":{ @@ -3688,31 +5663,47 @@ "locationName":"S3Key" } }, - "documentation":"Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide." + "documentation":"

    Specifies object key name filtering rules. For information about key name filtering, see Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide.

    " }, "NotificationId":{ "type":"string", - "documentation":"Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID." + "documentation":"

    An optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID.

    " }, "Object":{ "type":"structure", "members":{ - "Key":{"shape":"ObjectKey"}, - "LastModified":{"shape":"LastModified"}, - "ETag":{"shape":"ETag"}, - "Size":{"shape":"Size"}, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The name that you assign to an object. You use the object key to retrieve the object.

    " + }, + "LastModified":{ + "shape":"LastModified", + "documentation":"

    The date the Object was Last Modified

    " + }, + "ETag":{ + "shape":"ETag", + "documentation":"

    The entity tag is an MD5 hash of the object. ETag reflects only changes to the contents of an object, not its metadata.

    " + }, + "Size":{ + "shape":"Size", + "documentation":"

    Size in bytes of the object

    " + }, "StorageClass":{ "shape":"ObjectStorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The class of storage used to store the object.

    " }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

    The owner of the object

    " + } + }, + "documentation":"

    An object consists of data and its descriptive metadata.

    " }, "ObjectAlreadyInActiveTierError":{ "type":"structure", "members":{ }, - "documentation":"This operation is not allowed against this storage tier", + "documentation":"

    This operation is not allowed against this storage tier.

    ", "exception":true }, "ObjectCannedACL":{ @@ -3733,13 +5724,14 @@ "members":{ "Key":{ "shape":"ObjectKey", - "documentation":"Key name of the object to delete." + "documentation":"

    Key name of the object to delete.

    " }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"VersionId for the specific version of the object to delete." + "documentation":"

    VersionId for the specific version of the object to delete.

    " } - } + }, + "documentation":"

    Object Identifier is unique value to identify objects.

    " }, "ObjectIdentifierList":{ "type":"list", @@ -3755,11 +5747,90 @@ "member":{"shape":"Object"}, "flattened":true }, + "ObjectLockConfiguration":{ + "type":"structure", + "members":{ + "ObjectLockEnabled":{ + "shape":"ObjectLockEnabled", + "documentation":"

    Indicates whether this bucket has an Object Lock configuration enabled.

    " + }, + "Rule":{ + "shape":"ObjectLockRule", + "documentation":"

    The Object Lock rule in place for the specified object.

    " + } + }, + "documentation":"

    The container element for Object Lock configuration parameters.

    " + }, + "ObjectLockEnabled":{ + "type":"string", + "enum":["Enabled"] + }, + "ObjectLockEnabledForBucket":{"type":"boolean"}, + "ObjectLockLegalHold":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Indicates whether the specified object has a Legal Hold in place.

    " + } + }, + "documentation":"

    A Legal Hold configuration for an object.

    " + }, + "ObjectLockLegalHoldStatus":{ + "type":"string", + "enum":[ + "ON", + "OFF" + ] + }, + "ObjectLockMode":{ + "type":"string", + "enum":[ + "GOVERNANCE", + "COMPLIANCE" + ] + }, + "ObjectLockRetainUntilDate":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "ObjectLockRetention":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"ObjectLockRetentionMode", + "documentation":"

    Indicates the Retention mode for the specified object.

    " + }, + "RetainUntilDate":{ + "shape":"Date", + "documentation":"

    The date on which this Object Lock Retention will expire.

    " + } + }, + "documentation":"

    A Retention configuration for an object.

    " + }, + "ObjectLockRetentionMode":{ + "type":"string", + "enum":[ + "GOVERNANCE", + "COMPLIANCE" + ] + }, + "ObjectLockRule":{ + "type":"structure", + "members":{ + "DefaultRetention":{ + "shape":"DefaultRetention", + "documentation":"

    The default retention period that you want to apply to new objects placed in the specified bucket.

    " + } + }, + "documentation":"

    The container element for an Object Lock rule.

    " + }, + "ObjectLockToken":{"type":"string"}, "ObjectNotInActiveTierError":{ "type":"structure", "members":{ }, - "documentation":"The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.", + "documentation":"

    The source object of the COPY operation is not in the active tier and is only stored in Amazon S3 Glacier.

    ", "exception":true }, "ObjectStorageClass":{ @@ -3767,39 +5838,50 @@ "enum":[ "STANDARD", "REDUCED_REDUNDANCY", - "GLACIER" + "GLACIER", + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" ] }, "ObjectVersion":{ "type":"structure", "members":{ - "ETag":{"shape":"ETag"}, + "ETag":{ + "shape":"ETag", + "documentation":"

    The entity tag is an MD5 hash of that version of the object.

    " + }, "Size":{ "shape":"Size", - "documentation":"Size in bytes of the object." + "documentation":"

    Size in bytes of the object.

    " }, "StorageClass":{ "shape":"ObjectVersionStorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The class of storage used to store the object.

    " }, "Key":{ "shape":"ObjectKey", - "documentation":"The object key." + "documentation":"

    The object key.

    " }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version ID of an object." + "documentation":"

    Version ID of an object.

    " }, "IsLatest":{ "shape":"IsLatest", - "documentation":"Specifies whether the object is (true) or is not (false) the latest version of an object." + "documentation":"

    Specifies whether the object is (true) or is not (false) the latest version of an object.

    " }, "LastModified":{ "shape":"LastModified", - "documentation":"Date and time the object was last modified." + "documentation":"

    Date and time the object was last modified.

    " }, - "Owner":{"shape":"Owner"} - } + "Owner":{ + "shape":"Owner", + "documentation":"

    Specifies the owner of the object.

    " + } + }, + "documentation":"

    The version of an object.

    " }, "ObjectVersionId":{"type":"string"}, "ObjectVersionList":{ @@ -3811,33 +5893,75 @@ "type":"string", "enum":["STANDARD"] }, + "OutputLocation":{ + "type":"structure", + "members":{ + "S3":{ + "shape":"S3Location", + "documentation":"

    Describes an S3 location that will receive the results of the restore request.

    " + } + }, + "documentation":"

    Describes the location where the restore job's output is stored.

    " + }, + "OutputSerialization":{ + "type":"structure", + "members":{ + "CSV":{ + "shape":"CSVOutput", + "documentation":"

    Describes the serialization of CSV-encoded Select results.

    " + }, + "JSON":{ + "shape":"JSONOutput", + "documentation":"

    Specifies JSON as request's output serialization format.

    " + } + }, + "documentation":"

    Describes how results of the Select job are serialized.

    " + }, "Owner":{ "type":"structure", "members":{ - "DisplayName":{"shape":"DisplayName"}, - "ID":{"shape":"ID"} - } + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    Container for the display name of the owner.

    " + }, + "ID":{ + "shape":"ID", + "documentation":"

    Container for the ID of the owner.

    " + } + }, + "documentation":"

    Container for the owner's display name and ID.

    " + }, + "OwnerOverride":{ + "type":"string", + "enum":["Destination"] + }, + "ParquetInput":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Container for Parquet.

    " }, "Part":{ "type":"structure", "members":{ "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number identifying the part. This is a positive integer between 1 and 10,000." + "documentation":"

    Part number identifying the part. This is a positive integer between 1 and 10,000.

    " }, "LastModified":{ "shape":"LastModified", - "documentation":"Date and time at which the part was uploaded." + "documentation":"

    Date and time at which the part was uploaded.

    " }, "ETag":{ "shape":"ETag", - "documentation":"Entity tag returned when the part was uploaded." + "documentation":"

    Entity tag returned when the part was uploaded.

    " }, "Size":{ "shape":"Size", - "documentation":"Size of the uploaded part data." + "documentation":"

    Size in bytes of the uploaded part data.

    " } - } + }, + "documentation":"

    Container for elements related to a part.

    " }, "PartNumber":{"type":"integer"}, "PartNumberMarker":{"type":"integer"}, @@ -3865,7 +5989,49 @@ ] }, "Policy":{"type":"string"}, + "PolicyStatus":{ + "type":"structure", + "members":{ + "IsPublic":{ + "shape":"IsPublic", + "documentation":"

    The policy status for this bucket. TRUE indicates that this bucket is public. FALSE indicates that the bucket is not public.

    ", + "locationName":"IsPublic" + } + }, + "documentation":"

    The container element for a bucket's policy status.

    " + }, "Prefix":{"type":"string"}, + "Priority":{"type":"integer"}, + "Progress":{ + "type":"structure", + "members":{ + "BytesScanned":{ + "shape":"BytesScanned", + "documentation":"

    The current number of object bytes scanned.

    " + }, + "BytesProcessed":{ + "shape":"BytesProcessed", + "documentation":"

    The current number of uncompressed object bytes processed.

    " + }, + "BytesReturned":{ + "shape":"BytesReturned", + "documentation":"

    The current number of bytes of records payload data returned.

    " + } + }, + "documentation":"

    This data type contains information about progress of an operation.

    " + }, + "ProgressEvent":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"Progress", + "documentation":"

    The Progress event details.

    ", + "eventpayload":true + } + }, + "documentation":"

    This data type contains information about the progress event of an operation.

    ", + "event":true + }, "Protocol":{ "type":"string", "enum":[ @@ -3873,6 +6039,32 @@ "https" ] }, + "PublicAccessBlockConfiguration":{ + "type":"structure", + "members":{ + "BlockPublicAcls":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to TRUE causes the following behavior:

    • PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.

    • PUT Object calls fail if the request includes a public ACL.

    • PUT Bucket calls fail if the request includes a public ACL.

    Enabling this setting doesn't affect existing policies or ACLs.

    ", + "locationName":"BlockPublicAcls" + }, + "IgnorePublicAcls":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.

    Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

    ", + "locationName":"IgnorePublicAcls" + }, + "BlockPublicPolicy":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

    Enabling this setting doesn't affect existing bucket policies.

    ", + "locationName":"BlockPublicPolicy" + }, + "RestrictPublicBuckets":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to TRUE restricts access to this bucket to only AWS services and authorized users within this account if the bucket has a public policy.

    Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

    ", + "locationName":"RestrictPublicBuckets" + } + }, + "documentation":"

    The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

    " + }, "PutBucketAccelerateConfigurationRequest":{ "type":"structure", "required":[ @@ -3882,13 +6074,13 @@ "members":{ "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket for which the accelerate configuration is set.", + "documentation":"

    Name of the bucket for which the accelerate configuration is set.

    ", "location":"uri", "locationName":"Bucket" }, "AccelerateConfiguration":{ "shape":"AccelerateConfiguration", - "documentation":"Specifies the Accelerate Configuration you want to set for the bucket.", + "documentation":"

    Container for setting the transfer acceleration state.

    ", "locationName":"AccelerateConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -3901,58 +6093,92 @@ "members":{ "ACL":{ "shape":"BucketCannedACL", - "documentation":"The canned ACL to apply to the bucket.", + "documentation":"

    The canned ACL to apply to the bucket.

    ", "location":"header", "locationName":"x-amz-acl" }, "AccessControlPolicy":{ "shape":"AccessControlPolicy", + "documentation":"

    Contains the elements that set the ACL permissions for an object per grantee.

    ", "locationName":"AccessControlPolicy", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket to which to apply the ACL.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "GrantFullControl":{ "shape":"GrantFullControl", - "documentation":"Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", + "documentation":"

    Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

    ", "location":"header", "locationName":"x-amz-grant-full-control" }, "GrantRead":{ "shape":"GrantRead", - "documentation":"Allows grantee to list the objects in the bucket.", + "documentation":"

    Allows grantee to list the objects in the bucket.

    ", "location":"header", "locationName":"x-amz-grant-read" }, "GrantReadACP":{ "shape":"GrantReadACP", - "documentation":"Allows grantee to read the bucket ACL.", + "documentation":"

    Allows grantee to read the bucket ACL.

    ", "location":"header", "locationName":"x-amz-grant-read-acp" }, "GrantWrite":{ "shape":"GrantWrite", - "documentation":"Allows grantee to create, overwrite, and delete any object in the bucket.", + "documentation":"

    Allows grantee to create, overwrite, and delete any object in the bucket.

    ", "location":"header", "locationName":"x-amz-grant-write" }, "GrantWriteACP":{ "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable bucket.", + "documentation":"

    Allows grantee to write the ACL for the applicable bucket.

    ", "location":"header", "locationName":"x-amz-grant-write-acp" } }, "payload":"AccessControlPolicy" }, + "PutBucketAnalyticsConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id", + "AnalyticsConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket to which an analytics configuration is stored.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Id":{ + "shape":"AnalyticsId", + "documentation":"

    The ID that identifies the analytics configuration.

    ", + "location":"querystring", + "locationName":"id" + }, + "AnalyticsConfiguration":{ + "shape":"AnalyticsConfiguration", + "documentation":"

    The configuration and any analyses for the analytics filter.

    ", + "locationName":"AnalyticsConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"AnalyticsConfiguration" + }, "PutBucketCorsRequest":{ "type":"structure", "required":[ @@ -3962,33 +6188,98 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    Specifies the bucket impacted by the corsconfiguration.

    ", "location":"uri", "locationName":"Bucket" }, "CORSConfiguration":{ "shape":"CORSConfiguration", + "documentation":"

    Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing in the Amazon Simple Storage Service Developer Guide.

    ", "locationName":"CORSConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" } }, "payload":"CORSConfiguration" }, + "PutBucketEncryptionRequest":{ + "type":"structure", + "required":[ + "Bucket", + "ServerSideEncryptionConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or customer master keys stored in AWS KMS (SSE-KMS). For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the server-side encryption configuration. This parameter is auto-populated when using the command from the CLI.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + }, + "ServerSideEncryptionConfiguration":{ + "shape":"ServerSideEncryptionConfiguration", + "locationName":"ServerSideEncryptionConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"ServerSideEncryptionConfiguration" + }, + "PutBucketInventoryConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id", + "InventoryConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket where the inventory configuration will be stored.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Id":{ + "shape":"InventoryId", + "documentation":"

    The ID used to identify the inventory configuration.

    ", + "location":"querystring", + "locationName":"id" + }, + "InventoryConfiguration":{ + "shape":"InventoryConfiguration", + "documentation":"

    Specifies the inventory configuration.

    ", + "locationName":"InventoryConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"InventoryConfiguration" + }, "PutBucketLifecycleConfigurationRequest":{ "type":"structure", "required":["Bucket"], "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to set the configuration.

    ", "location":"uri", "locationName":"Bucket" }, "LifecycleConfiguration":{ "shape":"BucketLifecycleConfiguration", + "documentation":"

    Container for lifecycle rules. You can add as many as 1,000 rules.

    ", "locationName":"LifecycleConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4001,16 +6292,21 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "LifecycleConfiguration":{ "shape":"LifecycleConfiguration", + "documentation":"

    ", "locationName":"LifecycleConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4026,22 +6322,56 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket for which to set the logging parameters.

    ", "location":"uri", "locationName":"Bucket" }, "BucketLoggingStatus":{ "shape":"BucketLoggingStatus", + "documentation":"

    Container for logging status information.

    ", "locationName":"BucketLoggingStatus", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The MD5 hash of the PutBucketLogging request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" } }, "payload":"BucketLoggingStatus" }, + "PutBucketMetricsConfigurationRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Id", + "MetricsConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket for which the metrics configuration is set.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Id":{ + "shape":"MetricsId", + "documentation":"

    The ID used to identify the metrics configuration.

    ", + "location":"querystring", + "locationName":"id" + }, + "MetricsConfiguration":{ + "shape":"MetricsConfiguration", + "documentation":"

    Specifies the metrics configuration.

    ", + "locationName":"MetricsConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"MetricsConfiguration" + }, "PutBucketNotificationConfigurationRequest":{ "type":"structure", "required":[ @@ -4051,6 +6381,7 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket.

    ", "location":"uri", "locationName":"Bucket" }, @@ -4071,16 +6402,21 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The MD5 hash of the PutPublicAccessBlock request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "NotificationConfiguration":{ "shape":"NotificationConfigurationDeprecated", + "documentation":"

    The container for the configuration.

    ", "locationName":"NotificationConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4096,17 +6432,27 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The MD5 hash of the request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, + "ConfirmRemoveSelfBucketAccess":{ + "shape":"ConfirmRemoveSelfBucketAccess", + "documentation":"

    Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

    ", + "location":"header", + "locationName":"x-amz-confirm-remove-self-bucket-access" + }, "Policy":{ "shape":"Policy", - "documentation":"The bucket policy as a JSON document." + "documentation":"

    The bucket policy as a JSON document.

    " } }, "payload":"Policy" @@ -4120,11 +6466,15 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The name of the bucket

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, @@ -4132,6 +6482,12 @@ "shape":"ReplicationConfiguration", "locationName":"ReplicationConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "Token":{ + "shape":"ObjectLockToken", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-bucket-object-lock-token" } }, "payload":"ReplicationConfiguration" @@ -4145,16 +6501,21 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "RequestPaymentConfiguration":{ "shape":"RequestPaymentConfiguration", + "documentation":"

    Container for Payer.

    ", "locationName":"RequestPaymentConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4170,16 +6531,21 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "Tagging":{ "shape":"Tagging", + "documentation":"

    Container for the TagSet and Tag elements.

    ", "locationName":"Tagging", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4195,22 +6561,27 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    >The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "MFA":{ "shape":"MFA", - "documentation":"The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.", + "documentation":"

    The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.

    ", "location":"header", "locationName":"x-amz-mfa" }, "VersioningConfiguration":{ "shape":"VersioningConfiguration", + "documentation":"

    Container for setting the versioning state.

    ", "locationName":"VersioningConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4226,16 +6597,21 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" }, "ContentMD5":{ "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see RFC 1864.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", "location":"header", "locationName":"Content-MD5" }, "WebsiteConfiguration":{ "shape":"WebsiteConfiguration", + "documentation":"

    Container for the request.

    ", "locationName":"WebsiteConfiguration", "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} } @@ -4252,128 +6628,245 @@ } } }, - "PutObjectAclRequest":{ + "PutObjectAclRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "ACL":{ + "shape":"ObjectCannedACL", + "documentation":"

    The canned ACL to apply to the object. For more information, see Canned ACL.

    ", + "location":"header", + "locationName":"x-amz-acl" + }, + "AccessControlPolicy":{ + "shape":"AccessControlPolicy", + "documentation":"

    Contains the elements that set the ACL permissions for an object per grantee.

    ", + "locationName":"AccessControlPolicy", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name that contains the object to which you want to attach the ACL.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the data. This header must be used as a message integrity check to verify that the request body was not corrupted in transit. For more information, go to RFC 1864.>

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + }, + "GrantFullControl":{ + "shape":"GrantFullControl", + "documentation":"

    Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

    ", + "location":"header", + "locationName":"x-amz-grant-full-control" + }, + "GrantRead":{ + "shape":"GrantRead", + "documentation":"

    Allows grantee to list the objects in the bucket.

    ", + "location":"header", + "locationName":"x-amz-grant-read" + }, + "GrantReadACP":{ + "shape":"GrantReadACP", + "documentation":"

    Allows grantee to read the bucket ACL.

    ", + "location":"header", + "locationName":"x-amz-grant-read-acp" + }, + "GrantWrite":{ + "shape":"GrantWrite", + "documentation":"

    Allows grantee to create, overwrite, and delete any object in the bucket.

    ", + "location":"header", + "locationName":"x-amz-grant-write" + }, + "GrantWriteACP":{ + "shape":"GrantWriteACP", + "documentation":"

    Allows grantee to write the ACL for the applicable bucket.

    ", + "location":"header", + "locationName":"x-amz-grant-write-acp" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    Key for which the PUT operation was initiated.

    ", + "location":"uri", + "locationName":"Key" + }, + "RequestPayer":{ + "shape":"RequestPayer", + "location":"header", + "locationName":"x-amz-request-payer" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", + "location":"querystring", + "locationName":"versionId" + } + }, + "payload":"AccessControlPolicy" + }, + "PutObjectLegalHoldOutput":{ + "type":"structure", + "members":{ + "RequestCharged":{ + "shape":"RequestCharged", + "location":"header", + "locationName":"x-amz-request-charged" + } + } + }, + "PutObjectLegalHoldRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the object that you want to place a Legal Hold on.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The key name for the object that you want to place a Legal Hold on.

    ", + "location":"uri", + "locationName":"Key" + }, + "LegalHold":{ + "shape":"ObjectLockLegalHold", + "documentation":"

    Container element for the Legal Hold configuration you want to apply to the specified object.

    ", + "locationName":"LegalHold", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "RequestPayer":{ + "shape":"RequestPayer", + "location":"header", + "locationName":"x-amz-request-payer" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The version ID of the object that you want to place a Legal Hold on.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The MD5 hash for the request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + } + }, + "payload":"LegalHold" + }, + "PutObjectLockConfigurationOutput":{ + "type":"structure", + "members":{ + "RequestCharged":{ + "shape":"RequestCharged", + "location":"header", + "locationName":"x-amz-request-charged" + } + } + }, + "PutObjectLockConfigurationRequest":{ "type":"structure", - "required":[ - "Bucket", - "Key" - ], + "required":["Bucket"], "members":{ - "ACL":{ - "shape":"ObjectCannedACL", - "documentation":"The canned ACL to apply to the object.", - "location":"header", - "locationName":"x-amz-acl" - }, - "AccessControlPolicy":{ - "shape":"AccessControlPolicy", - "locationName":"AccessControlPolicy", - "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} - }, "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket whose Object Lock configuration you want to create or replace.

    ", "location":"uri", "locationName":"Bucket" }, - "ContentMD5":{ - "shape":"ContentMD5", - "location":"header", - "locationName":"Content-MD5" - }, - "GrantFullControl":{ - "shape":"GrantFullControl", - "documentation":"Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.", - "location":"header", - "locationName":"x-amz-grant-full-control" - }, - "GrantRead":{ - "shape":"GrantRead", - "documentation":"Allows grantee to list the objects in the bucket.", - "location":"header", - "locationName":"x-amz-grant-read" - }, - "GrantReadACP":{ - "shape":"GrantReadACP", - "documentation":"Allows grantee to read the bucket ACL.", - "location":"header", - "locationName":"x-amz-grant-read-acp" - }, - "GrantWrite":{ - "shape":"GrantWrite", - "documentation":"Allows grantee to create, overwrite, and delete any object in the bucket.", - "location":"header", - "locationName":"x-amz-grant-write" - }, - "GrantWriteACP":{ - "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable bucket.", - "location":"header", - "locationName":"x-amz-grant-write-acp" - }, - "Key":{ - "shape":"ObjectKey", - "location":"uri", - "locationName":"Key" + "ObjectLockConfiguration":{ + "shape":"ObjectLockConfiguration", + "documentation":"

    The Object Lock configuration that you want to apply to the specified bucket.

    ", + "locationName":"ObjectLockConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} }, "RequestPayer":{ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" }, - "VersionId":{ - "shape":"ObjectVersionId", - "documentation":"VersionId used to reference a specific version of the object.", - "location":"querystring", - "locationName":"versionId" + "Token":{ + "shape":"ObjectLockToken", + "documentation":"

    A token to allow Object Lock to be enabled for an existing bucket.

    ", + "location":"header", + "locationName":"x-amz-bucket-object-lock-token" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The MD5 hash for the request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" } }, - "payload":"AccessControlPolicy" + "payload":"ObjectLockConfiguration" }, "PutObjectOutput":{ "type":"structure", "members":{ "Expiration":{ "shape":"Expiration", - "documentation":"If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.", + "documentation":"

    If the expiration is configured for the object (see PutBucketLifecycleConfiguration), the response includes this header. It includes the expiry-date and rule-id key-value pairs that provide information about object expiration. The value of the rule-id is URL encoded.

    ", "location":"header", "locationName":"x-amz-expiration" }, "ETag":{ "shape":"ETag", - "documentation":"Entity tag for the uploaded object.", + "documentation":"

    Entity tag for the uploaded object.

    ", "location":"header", "locationName":"ETag" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    If you specified server-side encryption either with an AWS KMS customer master key (CMK) or Amazon S3-managed encryption key in your PUT request, the response includes this header. It confirms the encryption algorithm that Amazon S3 used to encrypt the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "VersionId":{ "shape":"ObjectVersionId", - "documentation":"Version of the object.", + "documentation":"

    Version of the object.

    ", "location":"header", "locationName":"x-amz-version-id" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    If present, specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, "RequestCharged":{ "shape":"RequestCharged", "location":"header", @@ -4390,155 +6883,332 @@ "members":{ "ACL":{ "shape":"ObjectCannedACL", - "documentation":"The canned ACL to apply to the object.", + "documentation":"

    The canned ACL to apply to the object. For more information, see Canned ACL.

    ", "location":"header", "locationName":"x-amz-acl" }, "Body":{ "shape":"Body", - "documentation":"Object data.", + "documentation":"

    Object data.

    ", "streaming":true }, "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to which the PUT operation was initiated.", + "documentation":"

    Bucket name to which the PUT operation was initiated.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "CacheControl":{ "shape":"CacheControl", - "documentation":"Specifies caching behavior along the request/reply chain.", + "documentation":"

    Can be used to specify caching behavior along the request/reply chain. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.

    ", "location":"header", "locationName":"Cache-Control" }, "ContentDisposition":{ "shape":"ContentDisposition", - "documentation":"Specifies presentational information for the object.", + "documentation":"

    Specifies presentational information for the object. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1.

    ", "location":"header", "locationName":"Content-Disposition" }, "ContentEncoding":{ "shape":"ContentEncoding", - "documentation":"Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.", + "documentation":"

    Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11.

    ", "location":"header", "locationName":"Content-Encoding" }, "ContentLanguage":{ "shape":"ContentLanguage", - "documentation":"The language the content is in.", + "documentation":"

    The language the content is in.

    ", "location":"header", "locationName":"Content-Language" }, "ContentLength":{ "shape":"ContentLength", - "documentation":"Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.", + "documentation":"

    Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13.

    ", "location":"header", "locationName":"Content-Length" }, "ContentMD5":{ "shape":"ContentMD5", - "documentation":"The base64-encoded 128-bit MD5 digest of the part data.", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the message (without the headers) according to RFC 1864. This header can be used as a message integrity check to verify that the data is the same data that was originally sent. Although it is optional, we recommend using the Content-MD5 mechanism as an end-to-end integrity check. For more information about REST request authentication, see REST Authentication.

    ", "location":"header", "locationName":"Content-MD5" }, "ContentType":{ "shape":"ContentType", - "documentation":"A standard MIME type describing the format of the object data.", + "documentation":"

    A standard MIME type describing the format of the contents. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17.

    ", "location":"header", "locationName":"Content-Type" }, "Expires":{ "shape":"Expires", - "documentation":"The date and time at which the object is no longer cacheable.", + "documentation":"

    The date and time at which the object is no longer cacheable. For more information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21.

    ", "location":"header", "locationName":"Expires" }, "GrantFullControl":{ "shape":"GrantFullControl", - "documentation":"Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.", + "documentation":"

    Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.

    ", "location":"header", "locationName":"x-amz-grant-full-control" }, "GrantRead":{ "shape":"GrantRead", - "documentation":"Allows grantee to read the object data and its metadata.", + "documentation":"

    Allows grantee to read the object data and its metadata.

    ", "location":"header", "locationName":"x-amz-grant-read" }, "GrantReadACP":{ "shape":"GrantReadACP", - "documentation":"Allows grantee to read the object ACL.", + "documentation":"

    Allows grantee to read the object ACL.

    ", "location":"header", "locationName":"x-amz-grant-read-acp" }, "GrantWriteACP":{ "shape":"GrantWriteACP", - "documentation":"Allows grantee to write the ACL for the applicable object.", + "documentation":"

    Allows grantee to write the ACL for the applicable object.

    ", "location":"header", "locationName":"x-amz-grant-write-acp" }, "Key":{ "shape":"ObjectKey", - "documentation":"Object key for which the PUT operation was initiated.", + "documentation":"

    Object key for which the PUT operation was initiated.

    ", "location":"uri", "locationName":"Key" }, "Metadata":{ "shape":"Metadata", - "documentation":"A map of metadata to store with the object in S3.", + "documentation":"

    A map of metadata to store with the object in S3.

    ", "location":"headers", "locationName":"x-amz-meta-" }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "StorageClass":{ "shape":"StorageClass", - "documentation":"The type of storage to use for the object. Defaults to 'STANDARD'.", + "documentation":"

    If you don't specify, S3 Standard is the default storage class. Amazon S3 supports other storage classes.

    ", "location":"header", "locationName":"x-amz-storage-class" }, "WebsiteRedirectLocation":{ "shape":"WebsiteRedirectLocation", - "documentation":"If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.", + "documentation":"

    If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. For information about object metadata, see Object Key and Metadata.

    In the following example, the request header sets the redirect to an object (anotherPage.html) in the same bucket:

    x-amz-website-redirect-location: /anotherPage.html

    In the following example, the request header sets the object redirect to another website:

    x-amz-website-redirect-location: http://www.example.com/

    For more information about website hosting in Amazon S3, see Hosting Websites on Amazon S3 and How to Configure Website Page Redirects.

    ", "location":"header", "locationName":"x-amz-website-redirect-location" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version", + "documentation":"

    If x-amz-server-side-encryption is present and has the value of aws:kms, this header specifies the ID of the AWS Key Management Service (AWS KMS) symmetrical customer managed customer master key (CMK) that was used for the object.

    If the value of x-amz-server-side-encryption is aws:kms, this header specifies the ID of the symmetric customer managed AWS KMS CMK that will be used for the object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the AWS managed CMK in AWS to protect the data.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, + "SSEKMSEncryptionContext":{ + "shape":"SSEKMSEncryptionContext", + "documentation":"

    Specifies the AWS KMS Encryption Context to use for object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-context" + }, "RequestPayer":{ "shape":"RequestPayer", "location":"header", "locationName":"x-amz-request-payer" + }, + "Tagging":{ + "shape":"TaggingHeader", + "documentation":"

    The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, \"Key1=Value1\")

    ", + "location":"header", + "locationName":"x-amz-tagging" + }, + "ObjectLockMode":{ + "shape":"ObjectLockMode", + "documentation":"

    The Object Lock mode that you want to apply to this object.

    ", + "location":"header", + "locationName":"x-amz-object-lock-mode" + }, + "ObjectLockRetainUntilDate":{ + "shape":"ObjectLockRetainUntilDate", + "documentation":"

    The date and time when you want this object's Object Lock to expire.

    ", + "location":"header", + "locationName":"x-amz-object-lock-retain-until-date" + }, + "ObjectLockLegalHoldStatus":{ + "shape":"ObjectLockLegalHoldStatus", + "documentation":"

    Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see Object Lock.

    ", + "location":"header", + "locationName":"x-amz-object-lock-legal-hold" } }, "payload":"Body" }, + "PutObjectRetentionOutput":{ + "type":"structure", + "members":{ + "RequestCharged":{ + "shape":"RequestCharged", + "location":"header", + "locationName":"x-amz-request-charged" + } + } + }, + "PutObjectRetentionRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name that contains the object you want to apply this Object Retention configuration to.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The key name for the object that you want to apply this Object Retention configuration to.

    ", + "location":"uri", + "locationName":"Key" + }, + "Retention":{ + "shape":"ObjectLockRetention", + "documentation":"

    The container element for the Object Retention configuration.

    ", + "locationName":"Retention", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + }, + "RequestPayer":{ + "shape":"RequestPayer", + "location":"header", + "locationName":"x-amz-request-payer" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The version ID for the object that you want to apply this Object Retention configuration to.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "BypassGovernanceRetention":{ + "shape":"BypassGovernanceRetention", + "documentation":"

    Indicates whether this operation should bypass Governance-mode restrictions.

    ", + "location":"header", + "locationName":"x-amz-bypass-governance-retention" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The MD5 hash for the request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + } + }, + "payload":"Retention" + }, + "PutObjectTaggingOutput":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object the tag-set was added to.

    ", + "location":"header", + "locationName":"x-amz-version-id" + } + } + }, + "PutObjectTaggingRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key", + "Tagging" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The bucket name containing the object.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    Name of the tag.

    ", + "location":"uri", + "locationName":"Key" + }, + "VersionId":{ + "shape":"ObjectVersionId", + "documentation":"

    The versionId of the object that the tag-set will be added to.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The MD5 hash for the request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + }, + "Tagging":{ + "shape":"Tagging", + "documentation":"

    Container for the TagSet and Tag elements

    ", + "locationName":"Tagging", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"Tagging" + }, + "PutPublicAccessBlockRequest":{ + "type":"structure", + "required":[ + "Bucket", + "PublicAccessBlockConfiguration" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the Amazon S3 bucket whose PublicAccessBlock configuration you want to set.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "ContentMD5":{ + "shape":"ContentMD5", + "documentation":"

    The MD5 hash of the PutPublicAccessBlock request body.

    ", + "deprecated":true, + "deprecatedMessage":"Content-MD5 header will now be automatically computed and injected in associated operation's Http request.", + "location":"header", + "locationName":"Content-MD5" + }, + "PublicAccessBlockConfiguration":{ + "shape":"PublicAccessBlockConfiguration", + "documentation":"

    The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

    ", + "locationName":"PublicAccessBlockConfiguration", + "xmlNamespace":{"uri":"http://s3.amazonaws.com/doc/2006-03-01/"} + } + }, + "payload":"PublicAccessBlockConfiguration" + }, "QueueArn":{"type":"string"}, "QueueConfiguration":{ "type":"structure", @@ -4550,16 +7220,17 @@ "Id":{"shape":"NotificationId"}, "QueueArn":{ "shape":"QueueArn", - "documentation":"Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.

    ", "locationName":"Queue" }, "Events":{ "shape":"EventList", + "documentation":"

    A collection of bucket events for which to send notifications

    ", "locationName":"Event" }, "Filter":{"shape":"NotificationConfigurationFilter"} }, - "documentation":"Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue." + "documentation":"

    Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

    " }, "QueueConfigurationDeprecated":{ "type":"structure", @@ -4571,10 +7242,15 @@ }, "Events":{ "shape":"EventList", + "documentation":"

    A collection of bucket events for which to send notifications

    ", "locationName":"Event" }, - "Queue":{"shape":"QueueArn"} - } + "Queue":{ + "shape":"QueueArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type.

    " + } + }, + "documentation":"

    This data type is deprecated. Use QueueConfiguration for the same purposes. This data type specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.

    " }, "QueueConfigurationList":{ "type":"list", @@ -4582,31 +7258,54 @@ "flattened":true }, "Quiet":{"type":"boolean"}, + "QuoteCharacter":{"type":"string"}, + "QuoteEscapeCharacter":{"type":"string"}, + "QuoteFields":{ + "type":"string", + "enum":[ + "ALWAYS", + "ASNEEDED" + ] + }, "Range":{"type":"string"}, + "RecordDelimiter":{"type":"string"}, + "RecordsEvent":{ + "type":"structure", + "members":{ + "Payload":{ + "shape":"Body", + "documentation":"

    The byte array of partial, one or more result records.

    ", + "eventpayload":true + } + }, + "documentation":"

    The container for the records event.

    ", + "event":true + }, "Redirect":{ "type":"structure", "members":{ "HostName":{ "shape":"HostName", - "documentation":"The host name to use in the redirect request." + "documentation":"

    The host name to use in the redirect request.

    " }, "HttpRedirectCode":{ "shape":"HttpRedirectCode", - "documentation":"The HTTP redirect code to use on the response. Not required if one of the siblings is present." + "documentation":"

    The HTTP redirect code to use on the response. Not required if one of the siblings is present.

    " }, "Protocol":{ "shape":"Protocol", - "documentation":"Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request." + "documentation":"

    Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

    " }, "ReplaceKeyPrefixWith":{ "shape":"ReplaceKeyPrefixWith", - "documentation":"The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided." + "documentation":"

    The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.

    " }, "ReplaceKeyWith":{ "shape":"ReplaceKeyWith", - "documentation":"The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided." + "documentation":"

    The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the siblings is present. Can be present only if ReplaceKeyPrefixWith is not provided.

    " } - } + }, + "documentation":"

    Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.

    " }, "RedirectAllRequestsTo":{ "type":"structure", @@ -4614,16 +7313,18 @@ "members":{ "HostName":{ "shape":"HostName", - "documentation":"Name of the host where requests will be redirected." + "documentation":"

    Name of the host where requests are redirected.

    " }, "Protocol":{ "shape":"Protocol", - "documentation":"Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request." + "documentation":"

    Protocol to use when redirecting requests. The default is the protocol that is used in the original request.

    " } - } + }, + "documentation":"

    Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.

    " }, "ReplaceKeyPrefixWith":{"type":"string"}, "ReplaceKeyWith":{"type":"string"}, + "ReplicaKmsKeyID":{"type":"string"}, "ReplicationConfiguration":{ "type":"structure", "required":[ @@ -4633,68 +7334,155 @@ "members":{ "Role":{ "shape":"Role", - "documentation":"Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects." + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see How to Set Up Replication in the Amazon Simple Storage Service Developer Guide.

    " }, "Rules":{ "shape":"ReplicationRules", - "documentation":"Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules.", + "documentation":"

    A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.

    ", "locationName":"Rule" } }, - "documentation":"Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB." + "documentation":"

    A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.

    " }, "ReplicationRule":{ "type":"structure", "required":[ - "Prefix", "Status", "Destination" ], "members":{ "ID":{ "shape":"ID", - "documentation":"Unique identifier for the rule. The value cannot be longer than 255 characters." + "documentation":"

    A unique identifier for the rule. The maximum value is 255 characters.

    " + }, + "Priority":{ + "shape":"Priority", + "documentation":"

    The priority associated with the rule. If you specify multiple rules in a replication configuration, Amazon S3 prioritizes the rules to prevent conflicts when filtering. If two or more rules identify the same object based on a specified filter, the rule with higher priority takes precedence. For example:

    • Same object quality prefix-based filter criteria if prefixes you specified in multiple rules overlap

    • Same object qualify tag-based filter criteria specified in multiple rules

    For more information, see Replication in the Amazon Simple Storage Service Developer Guide.

    " }, "Prefix":{ "shape":"Prefix", - "documentation":"Object keyname prefix identifying one or more objects to which the rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes are not supported." + "documentation":"

    An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string.

    ", + "deprecated":true }, + "Filter":{"shape":"ReplicationRuleFilter"}, "Status":{ "shape":"ReplicationRuleStatus", - "documentation":"The rule is ignored if status is not Enabled." + "documentation":"

    Specifies whether the rule is enabled.

    " }, - "Destination":{"shape":"Destination"} - } + "SourceSelectionCriteria":{ + "shape":"SourceSelectionCriteria", + "documentation":"

    A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using a customer master key (CMK) stored in AWS Key Management Service (SSE-KMS).

    " + }, + "ExistingObjectReplication":{ + "shape":"ExistingObjectReplication", + "documentation":"

    " + }, + "Destination":{ + "shape":"Destination", + "documentation":"

    A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).

    " + }, + "DeleteMarkerReplication":{"shape":"DeleteMarkerReplication"} + }, + "documentation":"

    Specifies which Amazon S3 objects to replicate and where to store the replicas.

    " + }, + "ReplicationRuleAndOperator":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    An object key name prefix that identifies the subset of objects to which the rule applies.

    " + }, + "Tags":{ + "shape":"TagSet", + "documentation":"

    An array of tags containing key and value pairs.

    ", + "flattened":true, + "locationName":"Tag" + } + }, + "documentation":"

    A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter.

    For example:

    • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

    • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag

    " + }, + "ReplicationRuleFilter":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"Prefix", + "documentation":"

    An object key name prefix that identifies the subset of objects to which the rule applies.

    " + }, + "Tag":{ + "shape":"Tag", + "documentation":"

    A container for specifying a tag key and value.

    The rule applies only to objects that have the tag in their tag set.

    " + }, + "And":{ + "shape":"ReplicationRuleAndOperator", + "documentation":"

    A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:

    • If you specify both a Prefix and a Tag filter, wrap these filters in an And tag.

    • If you specify a filter based on multiple tags, wrap the Tag elements in an And tag.

    " + } + }, + "documentation":"

    A filter that identifies the subset of objects to which the replication rule applies. A Filter must specify exactly one Prefix, Tag, or an And child element.

    " + }, + "ReplicationRuleStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "ReplicationRules":{ + "type":"list", + "member":{"shape":"ReplicationRule"}, + "flattened":true + }, + "ReplicationStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "PENDING", + "FAILED", + "REPLICA" + ] + }, + "ReplicationTime":{ + "type":"structure", + "required":[ + "Status", + "Time" + ], + "members":{ + "Status":{ + "shape":"ReplicationTimeStatus", + "documentation":"

    Specifies whether the replication time is enabled.

    " + }, + "Time":{ + "shape":"ReplicationTimeValue", + "documentation":"

    A container specifying the time by which replication should be complete for all objects and operations on objects.

    " + } + }, + "documentation":"

    A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a Metrics block.

    " }, - "ReplicationRuleStatus":{ + "ReplicationTimeStatus":{ "type":"string", "enum":[ "Enabled", "Disabled" ] }, - "ReplicationRules":{ - "type":"list", - "member":{"shape":"ReplicationRule"}, - "flattened":true - }, - "ReplicationStatus":{ - "type":"string", - "enum":[ - "COMPLETE", - "PENDING", - "FAILED", - "REPLICA" - ] + "ReplicationTimeValue":{ + "type":"structure", + "members":{ + "Minutes":{ + "shape":"Minutes", + "documentation":"

    Contains an integer specifying time in minutes.

    Valid values: 15 minutes.

    " + } + }, + "documentation":"

    A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics EventThreshold.

    " }, "RequestCharged":{ "type":"string", - "documentation":"If present, indicates that the requester was successfully charged for the request.", + "documentation":"

    If present, indicates that the requester was successfully charged for the request.

    ", "enum":["requester"] }, "RequestPayer":{ "type":"string", - "documentation":"Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html", + "documentation":"

    Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. For information about downloading objects from requester pays buckets, see Downloading Objects in Requestor Pays Buckets in the Amazon S3 Developer Guide.

    ", "enum":["requester"] }, "RequestPaymentConfiguration":{ @@ -4703,9 +7491,20 @@ "members":{ "Payer":{ "shape":"Payer", - "documentation":"Specifies who pays for the download and request fees." + "documentation":"

    Specifies who pays for the download and request fees.

    " } - } + }, + "documentation":"

    Container for Payer.

    " + }, + "RequestProgress":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"EnableRequestProgress", + "documentation":"

    Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.

    " + } + }, + "documentation":"

    Container for specifying if periodic QueryProgress messages should be sent.

    " }, "ResponseCacheControl":{"type":"string"}, "ResponseContentDisposition":{"type":"string"}, @@ -4721,6 +7520,12 @@ "shape":"RequestCharged", "location":"header", "locationName":"x-amz-request-charged" + }, + "RestoreOutputPath":{ + "shape":"RestoreOutputPath", + "documentation":"

    Indicates the path in the provided S3 output location where Select results will be restored to.

    ", + "location":"header", + "locationName":"x-amz-restore-output-path" } } }, @@ -4733,16 +7538,19 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name or containing the object to restore.

    When using this API with an access point, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this operation using an access point through the AWS SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using Access Points in the Amazon Simple Storage Service Developer Guide.

    ", "location":"uri", "locationName":"Bucket" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Object key for which the operation was initiated.

    ", "location":"uri", "locationName":"Key" }, "VersionId":{ "shape":"ObjectVersionId", + "documentation":"

    VersionId used to reference a specific version of the object.

    ", "location":"querystring", "locationName":"versionId" }, @@ -4759,15 +7567,44 @@ }, "payload":"RestoreRequest" }, + "RestoreOutputPath":{"type":"string"}, "RestoreRequest":{ "type":"structure", - "required":["Days"], "members":{ "Days":{ "shape":"Days", - "documentation":"Lifetime of the active copy in days" + "documentation":"

    Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.

    " + }, + "GlacierJobParameters":{ + "shape":"GlacierJobParameters", + "documentation":"

    S3 Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.

    " + }, + "Type":{ + "shape":"RestoreRequestType", + "documentation":"

    Type of restore request.

    " + }, + "Tier":{ + "shape":"Tier", + "documentation":"

    S3 Glacier retrieval tier at which the restore will be processed.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    The optional description for the job.

    " + }, + "SelectParameters":{ + "shape":"SelectParameters", + "documentation":"

    Describes the parameters for Select job types.

    " + }, + "OutputLocation":{ + "shape":"OutputLocation", + "documentation":"

    Describes the location where the restore job's output is stored.

    " } - } + }, + "documentation":"

    Container for restore job parameters.

    " + }, + "RestoreRequestType":{ + "type":"string", + "enum":["SELECT"] }, "Role":{"type":"string"}, "RoutingRule":{ @@ -4776,13 +7613,14 @@ "members":{ "Condition":{ "shape":"Condition", - "documentation":"A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error." + "documentation":"

    A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.

    " }, "Redirect":{ "shape":"Redirect", - "documentation":"Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can can specify a different error code to return." + "documentation":"

    Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.

    " } - } + }, + "documentation":"

    Specifies the redirect behavior and when a redirect is applied.

    " }, "RoutingRules":{ "type":"list", @@ -4798,24 +7636,31 @@ "Status" ], "members":{ - "Expiration":{"shape":"LifecycleExpiration"}, + "Expiration":{ + "shape":"LifecycleExpiration", + "documentation":"

    Specifies the expiration for the lifecycle of the object.

    " + }, "ID":{ "shape":"ID", - "documentation":"Unique identifier for the rule. The value cannot be longer than 255 characters." + "documentation":"

    Unique identifier for the rule. The value can't be longer than 255 characters.

    " }, "Prefix":{ "shape":"Prefix", - "documentation":"Prefix identifying one or more objects to which the rule applies." + "documentation":"

    Object key prefix that identifies one or more objects to which this rule applies.

    " }, "Status":{ "shape":"ExpirationStatus", - "documentation":"If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied." + "documentation":"

    If Enabled, the rule is currently being applied. If Disabled, the rule is not currently being applied.

    " + }, + "Transition":{ + "shape":"Transition", + "documentation":"

    Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see Transitioning Objects Using Amazon S3 Lifecycle in the Amazon Simple Storage Service Developer Guide.

    " }, - "Transition":{"shape":"Transition"}, "NoncurrentVersionTransition":{"shape":"NoncurrentVersionTransition"}, "NoncurrentVersionExpiration":{"shape":"NoncurrentVersionExpiration"}, "AbortIncompleteMultipartUpload":{"shape":"AbortIncompleteMultipartUpload"} - } + }, + "documentation":"

    Specifies lifecycle rules for an Amazon S3 bucket. For more information, see Put Bucket Lifecycle Configuration in the Amazon Simple Storage Service API Reference. For examples, see Put Bucket Lifecycle Configuration Examples

    " }, "Rules":{ "type":"list", @@ -4830,7 +7675,46 @@ "locationName":"FilterRule" } }, - "documentation":"Container for object key name prefix and suffix filtering rules." + "documentation":"

    A container for object key name prefix and suffix filtering rules.

    " + }, + "S3Location":{ + "type":"structure", + "required":[ + "BucketName", + "Prefix" + ], + "members":{ + "BucketName":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket where the restore results will be placed.

    " + }, + "Prefix":{ + "shape":"LocationPrefix", + "documentation":"

    The prefix that is prepended to the restore results for this request.

    " + }, + "Encryption":{"shape":"Encryption"}, + "CannedACL":{ + "shape":"ObjectCannedACL", + "documentation":"

    The canned ACL to apply to the restore results.

    " + }, + "AccessControlList":{ + "shape":"Grants", + "documentation":"

    A list of grants that control access to the staged results.

    " + }, + "Tagging":{ + "shape":"Tagging", + "documentation":"

    The tag-set that is applied to the restore results.

    " + }, + "UserMetadata":{ + "shape":"UserMetadata", + "documentation":"

    A list of metadata to store with the restore results in S3.

    " + }, + "StorageClass":{ + "shape":"StorageClass", + "documentation":"

    The class of storage used to store the restore results.

    " + } + }, + "documentation":"

    Describes an Amazon S3 location that will receive the results of the restore request.

    " }, "SSECustomerAlgorithm":{"type":"string"}, "SSECustomerKey":{ @@ -4838,10 +7722,180 @@ "sensitive":true }, "SSECustomerKeyMD5":{"type":"string"}, + "SSEKMS":{ + "type":"structure", + "required":["KeyId"], + "members":{ + "KeyId":{ + "shape":"SSEKMSKeyId", + "documentation":"

    Specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) to use for encrypting inventory reports.

    " + } + }, + "documentation":"

    Specifies the use of SSE-KMS to encrypt delivered inventory reports.

    ", + "locationName":"SSE-KMS" + }, + "SSEKMSEncryptionContext":{ + "type":"string", + "sensitive":true + }, "SSEKMSKeyId":{ "type":"string", "sensitive":true }, + "SSES3":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Specifies the use of SSE-S3 to encrypt delivered inventory reports.

    ", + "locationName":"SSE-S3" + }, + "ScanRange":{ + "type":"structure", + "members":{ + "Start":{ + "shape":"Start", + "documentation":"

    Specifies the start of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is 0. If only start is supplied, it means scan from that point to the end of the file.For example; <scanrange><start>50</start></scanrange> means scan from byte 50 until the end of the file.

    " + }, + "End":{ + "shape":"End", + "documentation":"

    Specifies the end of the byte range. This parameter is optional. Valid values: non-negative integers. The default value is one less than the size of the object being queried. If only the End parameter is supplied, it is interpreted to mean scan the last N bytes of the file. For example, <scanrange><end>50</end></scanrange> means scan the last 50 bytes.

    " + } + }, + "documentation":"

    Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

    " + }, + "SelectObjectContentEventStream":{ + "type":"structure", + "members":{ + "Records":{ + "shape":"RecordsEvent", + "documentation":"

    The Records Event.

    " + }, + "Stats":{ + "shape":"StatsEvent", + "documentation":"

    The Stats Event.

    " + }, + "Progress":{ + "shape":"ProgressEvent", + "documentation":"

    The Progress Event.

    " + }, + "Cont":{ + "shape":"ContinuationEvent", + "documentation":"

    The Continuation Event.

    " + }, + "End":{ + "shape":"EndEvent", + "documentation":"

    The End Event.

    " + } + }, + "documentation":"

    The container for selecting objects from a content event stream.

    ", + "eventstream":true + }, + "SelectObjectContentOutput":{ + "type":"structure", + "members":{ + "Payload":{ + "shape":"SelectObjectContentEventStream", + "documentation":"

    The array of results.

    " + } + }, + "payload":"Payload" + }, + "SelectObjectContentRequest":{ + "type":"structure", + "required":[ + "Bucket", + "Key", + "Expression", + "ExpressionType", + "InputSerialization", + "OutputSerialization" + ], + "members":{ + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The S3 bucket.

    ", + "location":"uri", + "locationName":"Bucket" + }, + "Key":{ + "shape":"ObjectKey", + "documentation":"

    The object key.

    ", + "location":"uri", + "locationName":"Key" + }, + "SSECustomerAlgorithm":{ + "shape":"SSECustomerAlgorithm", + "documentation":"

    The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-algorithm" + }, + "SSECustomerKey":{ + "shape":"SSECustomerKey", + "documentation":"

    The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-key" + }, + "SSECustomerKeyMD5":{ + "shape":"SSECustomerKeyMD5", + "documentation":"

    The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys.

    ", + "location":"header", + "locationName":"x-amz-server-side-encryption-customer-key-MD5" + }, + "Expression":{ + "shape":"Expression", + "documentation":"

    The expression that is used to query the object.

    " + }, + "ExpressionType":{ + "shape":"ExpressionType", + "documentation":"

    The type of the provided expression (for example, SQL).

    " + }, + "RequestProgress":{ + "shape":"RequestProgress", + "documentation":"

    Specifies if periodic request progress information should be enabled.

    " + }, + "InputSerialization":{ + "shape":"InputSerialization", + "documentation":"

    Describes the format of the data in the object that is being queried.

    " + }, + "OutputSerialization":{ + "shape":"OutputSerialization", + "documentation":"

    Describes the format of the data that you want Amazon S3 to return in response.

    " + }, + "ScanRange":{ + "shape":"ScanRange", + "documentation":"

    Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

    ScanRangemay be used in the following ways:

    • <scanrange><start>50</start><end>100</end></scanrange> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)

    • <scanrange><start>50</start></scanrange> - process only the records starting after the byte 50

    • <scanrange><end>50</end></scanrange> - process only the records within the last 50 bytes of the file.

    " + } + }, + "documentation":"

    Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see S3Select API Documentation.

    " + }, + "SelectParameters":{ + "type":"structure", + "required":[ + "InputSerialization", + "ExpressionType", + "Expression", + "OutputSerialization" + ], + "members":{ + "InputSerialization":{ + "shape":"InputSerialization", + "documentation":"

    Describes the serialization format of the object.

    " + }, + "ExpressionType":{ + "shape":"ExpressionType", + "documentation":"

    The type of the provided expression (for example, SQL).

    " + }, + "Expression":{ + "shape":"Expression", + "documentation":"

    The expression that is used to query the object.

    " + }, + "OutputSerialization":{ + "shape":"OutputSerialization", + "documentation":"

    Describes how the results of the Select job are serialized.

    " + } + }, + "documentation":"

    Describes the parameters for Select job types.

    " + }, "ServerSideEncryption":{ "type":"string", "enum":[ @@ -4849,16 +7903,154 @@ "aws:kms" ] }, + "ServerSideEncryptionByDefault":{ + "type":"structure", + "required":["SSEAlgorithm"], + "members":{ + "SSEAlgorithm":{ + "shape":"ServerSideEncryption", + "documentation":"

    Server-side encryption algorithm to use for the default encryption.

    " + }, + "KMSMasterKeyID":{ + "shape":"SSEKMSKeyId", + "documentation":"

    AWS Key Management Service (KMS) customer master key ID to use for the default encryption. This parameter is allowed if and only if SSEAlgorithm is set to aws:kms.

    You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are using encryption with cross-account operations, you must use a fully qualified CMK ARN. For more information, see Using encryption for cross-account operations.

    For example:

    • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

    • Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    Amazon S3 only supports symmetric CMKs and not asymmetric CMKs. For more information, see Using Symmetric and Asymmetric Keys in the AWS Key Management Service Developer Guide.

    " + } + }, + "documentation":"

    Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. For more information, see PUT Bucket encryption in the Amazon Simple Storage Service API Reference.

    " + }, + "ServerSideEncryptionConfiguration":{ + "type":"structure", + "required":["Rules"], + "members":{ + "Rules":{ + "shape":"ServerSideEncryptionRules", + "documentation":"

    Container for information about a particular server-side encryption configuration rule.

    ", + "locationName":"Rule" + } + }, + "documentation":"

    Specifies the default server-side-encryption configuration.

    " + }, + "ServerSideEncryptionRule":{ + "type":"structure", + "members":{ + "ApplyServerSideEncryptionByDefault":{ + "shape":"ServerSideEncryptionByDefault", + "documentation":"

    Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.

    " + } + }, + "documentation":"

    Specifies the default server-side encryption configuration.

    " + }, + "ServerSideEncryptionRules":{ + "type":"list", + "member":{"shape":"ServerSideEncryptionRule"}, + "flattened":true + }, + "Setting":{"type":"boolean"}, "Size":{"type":"integer"}, + "SourceSelectionCriteria":{ + "type":"structure", + "members":{ + "SseKmsEncryptedObjects":{ + "shape":"SseKmsEncryptedObjects", + "documentation":"

    A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS. If you include SourceSelectionCriteria in the replication configuration, this element is required.

    " + } + }, + "documentation":"

    A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects. Currently, Amazon S3 supports only the filter that you can specify for objects created with server-side encryption using a customer master key (CMK) stored in AWS Key Management Service (SSE-KMS).

    " + }, + "SseKmsEncryptedObjects":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"SseKmsEncryptedObjectsStatus", + "documentation":"

    Specifies whether Amazon S3 replicates objects created with server-side encryption using a customer master key (CMK) stored in AWS Key Management Service.

    " + } + }, + "documentation":"

    A container for filter information for the selection of S3 objects encrypted with AWS KMS.

    " + }, + "SseKmsEncryptedObjectsStatus":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "Start":{"type":"long"}, "StartAfter":{"type":"string"}, + "Stats":{ + "type":"structure", + "members":{ + "BytesScanned":{ + "shape":"BytesScanned", + "documentation":"

    The total number of object bytes scanned.

    " + }, + "BytesProcessed":{ + "shape":"BytesProcessed", + "documentation":"

    The total number of uncompressed object bytes processed.

    " + }, + "BytesReturned":{ + "shape":"BytesReturned", + "documentation":"

    The total number of bytes of records payload data returned.

    " + } + }, + "documentation":"

    Container for the stats details.

    " + }, + "StatsEvent":{ + "type":"structure", + "members":{ + "Details":{ + "shape":"Stats", + "documentation":"

    The Stats event details.

    ", + "eventpayload":true + } + }, + "documentation":"

    Container for the Stats Event.

    ", + "event":true + }, "StorageClass":{ "type":"string", "enum":[ "STANDARD", "REDUCED_REDUNDANCY", - "STANDARD_IA" + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "GLACIER", + "DEEP_ARCHIVE" ] }, + "StorageClassAnalysis":{ + "type":"structure", + "members":{ + "DataExport":{ + "shape":"StorageClassAnalysisDataExport", + "documentation":"

    Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.

    " + } + }, + "documentation":"

    Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.

    " + }, + "StorageClassAnalysisDataExport":{ + "type":"structure", + "required":[ + "OutputSchemaVersion", + "Destination" + ], + "members":{ + "OutputSchemaVersion":{ + "shape":"StorageClassAnalysisSchemaVersion", + "documentation":"

    The version of the output schema to use when exporting data. Must be V_1.

    " + }, + "Destination":{ + "shape":"AnalyticsExportDestination", + "documentation":"

    The place to store the data for an analysis.

    " + } + }, + "documentation":"

    Container for data related to the storage class analysis for an Amazon S3 bucket for export.

    " + }, + "StorageClassAnalysisSchemaVersion":{ + "type":"string", + "enum":["V_1"] + }, "Suffix":{"type":"string"}, "Tag":{ "type":"structure", @@ -4869,14 +8061,16 @@ "members":{ "Key":{ "shape":"ObjectKey", - "documentation":"Name of the tag." + "documentation":"

    Name of the tag.

    " }, "Value":{ "shape":"Value", - "documentation":"Value of the tag." + "documentation":"

    Value of the tag.

    " } - } + }, + "documentation":"

    A container of a key value name pair.

    " }, + "TagCount":{"type":"integer"}, "TagSet":{ "type":"list", "member":{ @@ -4888,19 +8082,35 @@ "type":"structure", "required":["TagSet"], "members":{ - "TagSet":{"shape":"TagSet"} - } + "TagSet":{ + "shape":"TagSet", + "documentation":"

    A collection for a set of tags

    " + } + }, + "documentation":"

    Container for TagSet elements.

    " + }, + "TaggingDirective":{ + "type":"string", + "enum":[ + "COPY", + "REPLACE" + ] }, + "TaggingHeader":{"type":"string"}, "TargetBucket":{"type":"string"}, "TargetGrant":{ "type":"structure", "members":{ - "Grantee":{"shape":"Grantee"}, + "Grantee":{ + "shape":"Grantee", + "documentation":"

    Container for the person being granted permissions.

    " + }, "Permission":{ "shape":"BucketLogsPermission", - "documentation":"Logging permissions assigned to the Grantee for the bucket." + "documentation":"

    Logging permissions assigned to the Grantee for the bucket.

    " } - } + }, + "documentation":"

    Container for granting information.

    " }, "TargetGrants":{ "type":"list", @@ -4910,6 +8120,14 @@ } }, "TargetPrefix":{"type":"string"}, + "Tier":{ + "type":"string", + "enum":[ + "Standard", + "Bulk", + "Expedited" + ] + }, "Token":{"type":"string"}, "TopicArn":{"type":"string"}, "TopicConfiguration":{ @@ -4922,16 +8140,17 @@ "Id":{"shape":"NotificationId"}, "TopicArn":{ "shape":"TopicArn", - "documentation":"Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.

    ", "locationName":"Topic" }, "Events":{ "shape":"EventList", + "documentation":"

    The Amazon S3 bucket event about which to send notifications. For more information, see Supported Event Types in the Amazon Simple Storage Service Developer Guide.

    ", "locationName":"Event" }, "Filter":{"shape":"NotificationConfigurationFilter"} }, - "documentation":"Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic." + "documentation":"

    A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.

    " }, "TopicConfigurationDeprecated":{ "type":"structure", @@ -4939,18 +8158,20 @@ "Id":{"shape":"NotificationId"}, "Events":{ "shape":"EventList", + "documentation":"

    A collection of events related to objects

    ", "locationName":"Event" }, "Event":{ "shape":"Event", - "documentation":"Bucket event for which to send notifications.", + "documentation":"

    Bucket event for which to send notifications.

    ", "deprecated":true }, "Topic":{ "shape":"TopicArn", - "documentation":"Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket." + "documentation":"

    Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket.

    " } - } + }, + "documentation":"

    A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events. This data type is deprecated. Use TopicConfiguration instead.

    " }, "TopicConfigurationList":{ "type":"list", @@ -4962,17 +8183,18 @@ "members":{ "Date":{ "shape":"Date", - "documentation":"Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format." + "documentation":"

    Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.

    " }, "Days":{ "shape":"Days", - "documentation":"Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer." + "documentation":"

    Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.

    " }, "StorageClass":{ "shape":"TransitionStorageClass", - "documentation":"The class of storage used to store the object." + "documentation":"

    The storage class to which you want the object to transition.

    " } - } + }, + "documentation":"

    Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see Transitioning Objects Using Amazon S3 Lifecycle in the Amazon Simple Storage Service Developer Guide.

    " }, "TransitionList":{ "type":"list", @@ -4983,7 +8205,10 @@ "type":"string", "enum":[ "GLACIER", - "STANDARD_IA" + "STANDARD_IA", + "ONEZONE_IA", + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" ] }, "Type":{ @@ -5001,32 +8226,35 @@ "members":{ "CopySourceVersionId":{ "shape":"CopySourceVersionId", - "documentation":"The version of the source object that was copied, if you have enabled versioning on the source bucket.", + "documentation":"

    The version of the source object that was copied, if you have enabled versioning on the source bucket.

    ", "location":"header", "locationName":"x-amz-copy-source-version-id" }, - "CopyPartResult":{"shape":"CopyPartResult"}, + "CopyPartResult":{ + "shape":"CopyPartResult", + "documentation":"

    Container for all response elements.

    " + }, "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -5050,95 +8278,97 @@ "members":{ "Bucket":{ "shape":"BucketName", + "documentation":"

    The bucket name.

    ", "location":"uri", "locationName":"Bucket" }, "CopySource":{ "shape":"CopySource", - "documentation":"The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.", + "documentation":"

    The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.

    ", "location":"header", "locationName":"x-amz-copy-source" }, "CopySourceIfMatch":{ "shape":"CopySourceIfMatch", - "documentation":"Copies the object if its entity tag (ETag) matches the specified tag.", + "documentation":"

    Copies the object if its entity tag (ETag) matches the specified tag.

    ", "location":"header", "locationName":"x-amz-copy-source-if-match" }, "CopySourceIfModifiedSince":{ "shape":"CopySourceIfModifiedSince", - "documentation":"Copies the object if it has been modified since the specified time.", + "documentation":"

    Copies the object if it has been modified since the specified time.

    ", "location":"header", "locationName":"x-amz-copy-source-if-modified-since" }, "CopySourceIfNoneMatch":{ "shape":"CopySourceIfNoneMatch", - "documentation":"Copies the object if its entity tag (ETag) is different than the specified ETag.", + "documentation":"

    Copies the object if its entity tag (ETag) is different than the specified ETag.

    ", "location":"header", "locationName":"x-amz-copy-source-if-none-match" }, "CopySourceIfUnmodifiedSince":{ "shape":"CopySourceIfUnmodifiedSince", - "documentation":"Copies the object if it hasn't been modified since the specified time.", + "documentation":"

    Copies the object if it hasn't been modified since the specified time.

    ", "location":"header", "locationName":"x-amz-copy-source-if-unmodified-since" }, "CopySourceRange":{ "shape":"CopySourceRange", - "documentation":"The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB.", + "documentation":"

    The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first 10 bytes of the source. You can copy a range only if the source object is greater than 5 MB.

    ", "location":"header", "locationName":"x-amz-copy-source-range" }, "Key":{ "shape":"ObjectKey", + "documentation":"

    Object key for which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Key" }, "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number of part being copied. This is a positive integer between 1 and 10,000.", + "documentation":"

    Part number of part being copied. This is a positive integer between 1 and 10,000.

    ", "location":"querystring", "locationName":"partNumber" }, "UploadId":{ "shape":"MultipartUploadId", - "documentation":"Upload ID identifying the multipart upload whose part is being copied.", + "documentation":"

    Upload ID identifying the multipart upload whose part is being copied.

    ", "location":"querystring", "locationName":"uploadId" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "CopySourceSSECustomerAlgorithm":{ "shape":"CopySourceSSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use when decrypting the source object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use when decrypting the source object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-algorithm" }, "CopySourceSSECustomerKey":{ "shape":"CopySourceSSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-key" }, "CopySourceSSECustomerKeyMD5":{ "shape":"CopySourceSSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-copy-source-server-side-encryption-customer-key-MD5" }, @@ -5154,31 +8384,31 @@ "members":{ "ServerSideEncryption":{ "shape":"ServerSideEncryption", - "documentation":"The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).", + "documentation":"

    The server-side encryption algorithm used when storing this object in Amazon S3 (for example, AES256, aws:kms).

    ", "location":"header", "locationName":"x-amz-server-side-encryption" }, "ETag":{ "shape":"ETag", - "documentation":"Entity tag for the uploaded object.", + "documentation":"

    Entity tag for the uploaded object.

    ", "location":"header", "locationName":"ETag" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.", + "documentation":"

    If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round-trip message integrity verification of the customer-provided encryption key.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, "SSEKMSKeyId":{ "shape":"SSEKMSKeyId", - "documentation":"If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.", + "documentation":"

    If present, specifies the ID of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) was used for the object.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-aws-kms-key-id" }, @@ -5200,60 +8430,60 @@ "members":{ "Body":{ "shape":"Body", - "documentation":"Object data.", + "documentation":"

    Object data.

    ", "streaming":true }, "Bucket":{ "shape":"BucketName", - "documentation":"Name of the bucket to which the multipart upload was initiated.", + "documentation":"

    Name of the bucket to which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Bucket" }, "ContentLength":{ "shape":"ContentLength", - "documentation":"Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.", + "documentation":"

    Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.

    ", "location":"header", "locationName":"Content-Length" }, "ContentMD5":{ "shape":"ContentMD5", - "documentation":"The base64-encoded 128-bit MD5 digest of the part data.", + "documentation":"

    The base64-encoded 128-bit MD5 digest of the part data. This parameter is auto-populated when using the command from the CLI. This parameter is required if object lock parameters are specified.

    ", "location":"header", "locationName":"Content-MD5" }, "Key":{ "shape":"ObjectKey", - "documentation":"Object key for which the multipart upload was initiated.", + "documentation":"

    Object key for which the multipart upload was initiated.

    ", "location":"uri", "locationName":"Key" }, "PartNumber":{ "shape":"PartNumber", - "documentation":"Part number of part being uploaded. This is a positive integer between 1 and 10,000.", + "documentation":"

    Part number of part being uploaded. This is a positive integer between 1 and 10,000.

    ", "location":"querystring", "locationName":"partNumber" }, "UploadId":{ "shape":"MultipartUploadId", - "documentation":"Upload ID identifying the multipart upload whose part is being uploaded.", + "documentation":"

    Upload ID identifying the multipart upload whose part is being uploaded.

    ", "location":"querystring", "locationName":"uploadId" }, "SSECustomerAlgorithm":{ "shape":"SSECustomerAlgorithm", - "documentation":"Specifies the algorithm to use to when encrypting the object (e.g., AES256).", + "documentation":"

    Specifies the algorithm to use to when encrypting the object (for example, AES256).

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-algorithm" }, "SSECustomerKey":{ "shape":"SSECustomerKey", - "documentation":"Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.", + "documentation":"

    Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key" }, "SSECustomerKeyMD5":{ "shape":"SSECustomerKeyMD5", - "documentation":"Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.", + "documentation":"

    Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

    ", "location":"header", "locationName":"x-amz-server-side-encryption-customer-key-MD5" }, @@ -5265,6 +8495,13 @@ }, "payload":"Body" }, + "UserMetadata":{ + "type":"list", + "member":{ + "shape":"MetadataEntry", + "locationName":"MetadataEntry" + } + }, "Value":{"type":"string"}, "VersionIdMarker":{"type":"string"}, "VersioningConfiguration":{ @@ -5272,24 +8509,40 @@ "members":{ "MFADelete":{ "shape":"MFADelete", - "documentation":"Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.", + "documentation":"

    Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.

    ", "locationName":"MfaDelete" }, "Status":{ "shape":"BucketVersioningStatus", - "documentation":"The versioning state of the bucket." + "documentation":"

    The versioning state of the bucket.

    " } - } + }, + "documentation":"

    Describes the versioning state of an Amazon S3 bucket. For more information, see PUT Bucket versioning in the Amazon Simple Storage Service API Reference.

    " }, "WebsiteConfiguration":{ "type":"structure", "members":{ - "ErrorDocument":{"shape":"ErrorDocument"}, - "IndexDocument":{"shape":"IndexDocument"}, - "RedirectAllRequestsTo":{"shape":"RedirectAllRequestsTo"}, - "RoutingRules":{"shape":"RoutingRules"} - } + "ErrorDocument":{ + "shape":"ErrorDocument", + "documentation":"

    The name of the error document for the website.

    " + }, + "IndexDocument":{ + "shape":"IndexDocument", + "documentation":"

    The name of the index document for the website.

    " + }, + "RedirectAllRequestsTo":{ + "shape":"RedirectAllRequestsTo", + "documentation":"

    The redirect behavior for every request to this bucket's website endpoint.

    If you specify this property, you can't specify any other property.

    " + }, + "RoutingRules":{ + "shape":"RoutingRules", + "documentation":"

    Rules that define when a redirect is applied and the redirect behavior.

    " + } + }, + "documentation":"

    Specifies website configuration parameters for an Amazon S3 bucket.

    " }, - "WebsiteRedirectLocation":{"type":"string"} - } + "WebsiteRedirectLocation":{"type":"string"}, + "Years":{"type":"integer"} + }, + "documentation":"

    " } diff -Nru python-botocore-1.4.70/botocore/data/s3/2006-03-01/waiters-2.json python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/waiters-2.json --- python-botocore-1.4.70/botocore/data/s3/2006-03-01/waiters-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/s3/2006-03-01/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -12,6 +12,16 @@ "state": "success" }, { + "expected": 301, + "matcher": "status", + "state": "success" + }, + { + "expected": 403, + "matcher": "status", + "state": "success" + }, + { "expected": 404, "matcher": "status", "state": "retry" diff -Nru python-botocore-1.4.70/botocore/data/s3control/2018-08-20/paginators-1.json python-botocore-1.16.19+repack/botocore/data/s3control/2018-08-20/paginators-1.json --- python-botocore-1.4.70/botocore/data/s3control/2018-08-20/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/s3control/2018-08-20/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/s3control/2018-08-20/service-2.json python-botocore-1.16.19+repack/botocore/data/s3control/2018-08-20/service-2.json --- python-botocore-1.4.70/botocore/data/s3control/2018-08-20/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/s3control/2018-08-20/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,2025 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-08-20", + "endpointPrefix":"s3-control", + "protocol":"rest-xml", + "serviceFullName":"AWS S3 Control", + "serviceId":"S3 Control", + "signatureVersion":"s3v4", + "signingName":"s3", + "uid":"s3control-2018-08-20" + }, + "operations":{ + "CreateAccessPoint":{ + "name":"CreateAccessPoint", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/accesspoint/{name}" + }, + "input":{ + "shape":"CreateAccessPointRequest", + "locationName":"CreateAccessPointRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "documentation":"

    Creates an access point and associates it with the specified bucket.

    " + }, + "CreateJob":{ + "name":"CreateJob", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs" + }, + "input":{ + "shape":"CreateJobRequest", + "locationName":"CreateJobRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"CreateJobResult"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"IdempotencyException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    You can use Amazon S3 Batch Operations to perform large-scale Batch Operations on Amazon S3 objects. Amazon S3 Batch Operations can execute a single operation or action on lists of Amazon S3 objects that you specify. For more information, see Amazon S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "DeleteAccessPoint":{ + "name":"DeleteAccessPoint", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accesspoint/{name}" + }, + "input":{"shape":"DeleteAccessPointRequest"}, + "documentation":"

    Deletes the specified access point.

    " + }, + "DeleteAccessPointPolicy":{ + "name":"DeleteAccessPointPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/accesspoint/{name}/policy" + }, + "input":{"shape":"DeleteAccessPointPolicyRequest"}, + "documentation":"

    Deletes the access point policy for the specified access point.

    " + }, + "DeleteJobTagging":{ + "name":"DeleteJobTagging", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/jobs/{id}/tagging" + }, + "input":{"shape":"DeleteJobTaggingRequest"}, + "output":{"shape":"DeleteJobTaggingResult"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Removes the entire tag set from the specified Amazon S3 Batch Operations job. To use this operation, you must have permission to perform the s3:DeleteJobTagging action. For more information, see Using Job Tags in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "DeletePublicAccessBlock":{ + "name":"DeletePublicAccessBlock", + "http":{ + "method":"DELETE", + "requestUri":"/v20180820/configuration/publicAccessBlock" + }, + "input":{"shape":"DeletePublicAccessBlockRequest"}, + "documentation":"

    Removes the PublicAccessBlock configuration for an Amazon Web Services account.

    " + }, + "DescribeJob":{ + "name":"DescribeJob", + "http":{ + "method":"GET", + "requestUri":"/v20180820/jobs/{id}" + }, + "input":{"shape":"DescribeJobRequest"}, + "output":{"shape":"DescribeJobResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    Retrieves the configuration parameters and status for a Batch Operations job. For more information, see Amazon S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "GetAccessPoint":{ + "name":"GetAccessPoint", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accesspoint/{name}" + }, + "input":{"shape":"GetAccessPointRequest"}, + "output":{"shape":"GetAccessPointResult"}, + "documentation":"

    Returns configuration information about the specified access point.

    " + }, + "GetAccessPointPolicy":{ + "name":"GetAccessPointPolicy", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accesspoint/{name}/policy" + }, + "input":{"shape":"GetAccessPointPolicyRequest"}, + "output":{"shape":"GetAccessPointPolicyResult"}, + "documentation":"

    Returns the access point policy associated with the specified access point.

    " + }, + "GetAccessPointPolicyStatus":{ + "name":"GetAccessPointPolicyStatus", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accesspoint/{name}/policyStatus" + }, + "input":{"shape":"GetAccessPointPolicyStatusRequest"}, + "output":{"shape":"GetAccessPointPolicyStatusResult"}, + "documentation":"

    Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

    " + }, + "GetJobTagging":{ + "name":"GetJobTagging", + "http":{ + "method":"GET", + "requestUri":"/v20180820/jobs/{id}/tagging" + }, + "input":{"shape":"GetJobTaggingRequest"}, + "output":{"shape":"GetJobTaggingResult"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Returns the tags on an Amazon S3 Batch Operations job. To use this operation, you must have permission to perform the s3:GetJobTagging action. For more information, see Using Job Tags in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "GetPublicAccessBlock":{ + "name":"GetPublicAccessBlock", + "http":{ + "method":"GET", + "requestUri":"/v20180820/configuration/publicAccessBlock" + }, + "input":{"shape":"GetPublicAccessBlockRequest"}, + "output":{"shape":"GetPublicAccessBlockOutput"}, + "errors":[ + {"shape":"NoSuchPublicAccessBlockConfiguration"} + ], + "documentation":"

    Retrieves the PublicAccessBlock configuration for an Amazon Web Services account.

    " + }, + "ListAccessPoints":{ + "name":"ListAccessPoints", + "http":{ + "method":"GET", + "requestUri":"/v20180820/accesspoint" + }, + "input":{"shape":"ListAccessPointsRequest"}, + "output":{"shape":"ListAccessPointsResult"}, + "documentation":"

    Returns a list of the access points currently associated with the specified bucket. You can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or the number specified in maxResults, whichever is less), the response will include a continuation token that you can use to list the additional access points.

    " + }, + "ListJobs":{ + "name":"ListJobs", + "http":{ + "method":"GET", + "requestUri":"/v20180820/jobs" + }, + "input":{"shape":"ListJobsRequest"}, + "output":{"shape":"ListJobsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

    Lists current Amazon S3 Batch Operations jobs and jobs that have ended within the last 30 days for the AWS account making the request. For more information, see Amazon S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "PutAccessPointPolicy":{ + "name":"PutAccessPointPolicy", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/accesspoint/{name}/policy" + }, + "input":{ + "shape":"PutAccessPointPolicyRequest", + "locationName":"PutAccessPointPolicyRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "documentation":"

    Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API replaces any existing policy associated with the specified access point.

    " + }, + "PutJobTagging":{ + "name":"PutJobTagging", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/jobs/{id}/tagging" + }, + "input":{ + "shape":"PutJobTaggingRequest", + "locationName":"PutJobTaggingRequest", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "output":{"shape":"PutJobTaggingResult"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

    Set the supplied tag-set on an Amazon S3 Batch Operations job.

    A tag is a key-value pair. You can associate Amazon S3 Batch Operations tags with any job by sending a PUT request against the tagging subresource that is associated with the job. To modify the existing tag set, you can either replace the existing tag set entirely, or make changes within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this API action to replace the tag set with the one you have modified.. For more information, see Using Job Tags in the Amazon Simple Storage Service Developer Guide.

    • If you send this request with an empty tag set, Amazon S3 deletes the existing tag set on the Batch Operations job. If you use this method, you will be charged for a Tier 1 Request (PUT). For more information, see Amazon S3 pricing.

    • For deleting existing tags for your batch operations job, DeleteJobTagging request is preferred because it achieves the same result without incurring charges.

    • A few things to consider about using tags:

      • Amazon S3 limits the maximum number of tags to 50 tags per job.

      • You can associate up to 50 tags with a job as long as they have unique tag keys.

      • A tag key can be up to 128 Unicode characters in length, and tag values can be up to 256 Unicode characters in length.

      • The key and values are case sensitive.

      • For tagging-related restrictions related to characters and encodings, see User-Defined Tag Restrictions.

    To use this operation, you must have permission to perform the s3:PutJobTagging action.

    Related actions include:

    " + }, + "PutPublicAccessBlock":{ + "name":"PutPublicAccessBlock", + "http":{ + "method":"PUT", + "requestUri":"/v20180820/configuration/publicAccessBlock" + }, + "input":{"shape":"PutPublicAccessBlockRequest"}, + "documentation":"

    Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account.

    " + }, + "UpdateJobPriority":{ + "name":"UpdateJobPriority", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs/{id}/priority" + }, + "input":{"shape":"UpdateJobPriorityRequest"}, + "output":{"shape":"UpdateJobPriorityResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    Updates an existing Amazon S3 Batch Operations job's priority. For more information, see Amazon S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + }, + "UpdateJobStatus":{ + "name":"UpdateJobStatus", + "http":{ + "method":"POST", + "requestUri":"/v20180820/jobs/{id}/status" + }, + "input":{"shape":"UpdateJobStatusRequest"}, + "output":{"shape":"UpdateJobStatusResult"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"JobStatusException"}, + {"shape":"InternalServiceException"} + ], + "documentation":"

    Updates the status for the specified job. Use this operation to confirm that you want to run a job or to cancel an existing job. For more information, see Amazon S3 Batch Operations in the Amazon Simple Storage Service Developer Guide.

    Related actions include:

    " + } + }, + "shapes":{ + "AccessPoint":{ + "type":"structure", + "required":[ + "Name", + "NetworkOrigin", + "Bucket" + ], + "members":{ + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of this access point.

    " + }, + "NetworkOrigin":{ + "shape":"NetworkOrigin", + "documentation":"

    Indicates whether this access point allows access from the public internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public internet, subject to the access point and bucket access policies.

    " + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

    The virtual private cloud (VPC) configuration for this access point, if one exists.

    " + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket associated with this access point.

    " + } + }, + "documentation":"

    An access point used to access a bucket.

    " + }, + "AccessPointList":{ + "type":"list", + "member":{ + "shape":"AccessPoint", + "locationName":"AccessPoint" + } + }, + "AccessPointName":{ + "type":"string", + "max":50, + "min":3 + }, + "AccountId":{ + "type":"string", + "max":64, + "pattern":"^\\d{12}$" + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "Boolean":{"type":"boolean"}, + "BucketName":{ + "type":"string", + "max":255, + "min":3 + }, + "ConfirmationRequired":{"type":"boolean"}, + "CreateAccessPointRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name", + "Bucket" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID for the owner of the bucket for which you want to create an access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name you want to assign to this access point.

    ", + "location":"uri", + "locationName":"name" + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket that you want to associate this access point with.

    " + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

    If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).

    " + }, + "PublicAccessBlockConfiguration":{"shape":"PublicAccessBlockConfiguration"} + } + }, + "CreateJobRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Operation", + "Report", + "ClientRequestToken", + "Manifest", + "Priority", + "RoleArn" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "ConfirmationRequired":{ + "shape":"ConfirmationRequired", + "documentation":"

    Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

    ", + "box":true + }, + "Operation":{ + "shape":"JobOperation", + "documentation":"

    The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

    " + }, + "Report":{ + "shape":"JobReport", + "documentation":"

    Configuration parameters for the optional job-completion report.

    " + }, + "ClientRequestToken":{ + "shape":"NonEmptyMaxLength64String", + "documentation":"

    An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

    ", + "idempotencyToken":true + }, + "Manifest":{ + "shape":"JobManifest", + "documentation":"

    Configuration parameters for the manifest.

    " + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

    A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

    " + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

    The numerical priority for this job. Higher numbers indicate higher priority.

    ", + "box":true + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

    The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role that Batch Operations will use to execute this job's operation on each object in the manifest.

    " + }, + "Tags":{ + "shape":"S3TagSet", + "documentation":"

    A set of tags to associate with the Amazon S3 Batch Operations job. This is an optional parameter.

    " + } + } + }, + "CreateJobResult":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for this job. Amazon S3 generates this ID automatically and returns it after a successful Create Job request.

    " + } + } + }, + "CreationDate":{"type":"timestamp"}, + "DeleteAccessPointPolicyRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the account that owns the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point whose policy you want to delete.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteAccessPointRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the account that owns the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point you want to delete.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteJobTaggingRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID associated with the Amazon S3 Batch Operations job.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the Amazon S3 Batch Operations job whose tags you want to delete.

    ", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteJobTaggingResult":{ + "type":"structure", + "members":{ + } + }, + "DeletePublicAccessBlockRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to remove.

    ", + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "DescribeJobRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the job whose information you want to retrieve.

    ", + "location":"uri", + "locationName":"id" + } + } + }, + "DescribeJobResult":{ + "type":"structure", + "members":{ + "Job":{ + "shape":"JobDescriptor", + "documentation":"

    Contains the configuration parameters and status for the job specified in the Describe Job request.

    " + } + } + }, + "ExceptionMessage":{ + "type":"string", + "max":1024, + "min":1 + }, + "FunctionArnString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + }, + "GetAccessPointPolicyRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the account that owns the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point whose policy you want to retrieve.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetAccessPointPolicyResult":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"Policy", + "documentation":"

    The access point policy associated with the specified access point.

    " + } + } + }, + "GetAccessPointPolicyStatusRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the account that owns the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point whose policy status you want to retrieve.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetAccessPointPolicyStatusResult":{ + "type":"structure", + "members":{ + "PolicyStatus":{ + "shape":"PolicyStatus", + "documentation":"

    Indicates the current policy status of the specified access point.

    " + } + } + }, + "GetAccessPointRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the account that owns the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point whose configuration information you want to retrieve.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetAccessPointResult":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the specified access point.

    " + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket associated with the specified access point.

    " + }, + "NetworkOrigin":{ + "shape":"NetworkOrigin", + "documentation":"

    Indicates whether this access point allows access from the public internet. If VpcConfiguration is specified for this access point, then NetworkOrigin is VPC, and the access point doesn't allow access from the public internet. Otherwise, NetworkOrigin is Internet, and the access point allows access from the public internet, subject to the access point and bucket access policies.

    " + }, + "VpcConfiguration":{ + "shape":"VpcConfiguration", + "documentation":"

    Contains the virtual private cloud (VPC) configuration for the specified access point.

    " + }, + "PublicAccessBlockConfiguration":{"shape":"PublicAccessBlockConfiguration"}, + "CreationDate":{ + "shape":"CreationDate", + "documentation":"

    The date and time when the specified access point was created.

    " + } + } + }, + "GetJobTaggingRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID associated with the Amazon S3 Batch Operations job.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the Amazon S3 Batch Operations job whose tags you want to retrieve.

    ", + "location":"uri", + "locationName":"id" + } + } + }, + "GetJobTaggingResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"S3TagSet", + "documentation":"

    The set of tags associated with the Amazon S3 Batch Operations job.

    " + } + } + }, + "GetPublicAccessBlockOutput":{ + "type":"structure", + "members":{ + "PublicAccessBlockConfiguration":{ + "shape":"PublicAccessBlockConfiguration", + "documentation":"

    The PublicAccessBlock configuration currently in effect for this Amazon Web Services account.

    " + } + }, + "payload":"PublicAccessBlockConfiguration" + }, + "GetPublicAccessBlockRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to retrieve.

    ", + "location":"header", + "locationName":"x-amz-account-id" + } + } + }, + "IAMRoleArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:[^:]+:iam::\\d{12}:role/.*" + }, + "IdempotencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "IsPublic":{"type":"boolean"}, + "JobArn":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"arn:[^:]+:s3:[a-zA-Z0-9\\-]+:\\d{12}:job\\/.*" + }, + "JobCreationTime":{"type":"timestamp"}, + "JobDescriptor":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the specified job.

    " + }, + "ConfirmationRequired":{ + "shape":"ConfirmationRequired", + "documentation":"

    Indicates whether confirmation is required before Amazon S3 begins running the specified job. Confirmation is required only for jobs created through the Amazon S3 console.

    ", + "box":true + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

    The description for this job, if one was provided in this job's Create Job request.

    ", + "box":true + }, + "JobArn":{ + "shape":"JobArn", + "documentation":"

    The Amazon Resource Name (ARN) for this job.

    ", + "box":true + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

    The current status of the specified job.

    " + }, + "Manifest":{ + "shape":"JobManifest", + "documentation":"

    The configuration information for the specified job's manifest object.

    ", + "box":true + }, + "Operation":{ + "shape":"JobOperation", + "documentation":"

    The operation that the specified job is configured to execute on the objects listed in the manifest.

    ", + "box":true + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

    The priority of the specified job.

    " + }, + "ProgressSummary":{ + "shape":"JobProgressSummary", + "documentation":"

    Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

    ", + "box":true + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

    ", + "box":true + }, + "FailureReasons":{ + "shape":"JobFailureList", + "documentation":"

    If the specified job failed, this field contains information describing the failure.

    ", + "box":true + }, + "Report":{ + "shape":"JobReport", + "documentation":"

    Contains the configuration information for the job-completion report if you requested one in the Create Job request.

    ", + "box":true + }, + "CreationTime":{ + "shape":"JobCreationTime", + "documentation":"

    A timestamp indicating when this job was created.

    " + }, + "TerminationDate":{ + "shape":"JobTerminationDate", + "documentation":"

    A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

    ", + "box":true + }, + "RoleArn":{ + "shape":"IAMRoleArn", + "documentation":"

    The Amazon Resource Name (ARN) for the AWS Identity and Access Management (IAM) role assigned to execute the tasks for this job.

    ", + "box":true + }, + "SuspendedDate":{ + "shape":"SuspendedDate", + "documentation":"

    The timestamp when this job was suspended, if it has been suspended.

    ", + "box":true + }, + "SuspendedCause":{ + "shape":"SuspendedCause", + "documentation":"

    The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.

    ", + "box":true + } + }, + "documentation":"

    A container element for the job configuration and status information returned by a Describe Job request.

    " + }, + "JobFailure":{ + "type":"structure", + "members":{ + "FailureCode":{ + "shape":"JobFailureCode", + "documentation":"

    The failure code, if any, for the specified job.

    " + }, + "FailureReason":{ + "shape":"JobFailureReason", + "documentation":"

    The failure reason, if any, for the specified job.

    " + } + }, + "documentation":"

    If this job failed, this element indicates why the job failed.

    " + }, + "JobFailureCode":{ + "type":"string", + "max":64, + "min":1 + }, + "JobFailureList":{ + "type":"list", + "member":{"shape":"JobFailure"} + }, + "JobFailureReason":{ + "type":"string", + "max":256, + "min":1 + }, + "JobId":{ + "type":"string", + "max":36, + "min":5, + "pattern":"[a-zA-Z0-9\\-\\_]+" + }, + "JobListDescriptor":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the specified job.

    " + }, + "Description":{ + "shape":"NonEmptyMaxLength256String", + "documentation":"

    The user-specified description that was included in the specified job's Create Job request.

    " + }, + "Operation":{ + "shape":"OperationName", + "documentation":"

    The operation that the specified job is configured to run on each object listed in the manifest.

    " + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

    The current priority for the specified job.

    " + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

    The specified job's current status.

    " + }, + "CreationTime":{ + "shape":"JobCreationTime", + "documentation":"

    A timestamp indicating when the specified job was created.

    " + }, + "TerminationDate":{ + "shape":"JobTerminationDate", + "documentation":"

    A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

    " + }, + "ProgressSummary":{ + "shape":"JobProgressSummary", + "documentation":"

    Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

    " + } + }, + "documentation":"

    Contains the configuration and status information for a single job retrieved as part of a job list.

    " + }, + "JobListDescriptorList":{ + "type":"list", + "member":{"shape":"JobListDescriptor"} + }, + "JobManifest":{ + "type":"structure", + "required":[ + "Spec", + "Location" + ], + "members":{ + "Spec":{ + "shape":"JobManifestSpec", + "documentation":"

    Describes the format of the specified job's manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

    " + }, + "Location":{ + "shape":"JobManifestLocation", + "documentation":"

    Contains the information required to locate the specified job's manifest.

    " + } + }, + "documentation":"

    Contains the configuration information for a job's manifest.

    " + }, + "JobManifestFieldList":{ + "type":"list", + "member":{"shape":"JobManifestFieldName"} + }, + "JobManifestFieldName":{ + "type":"string", + "enum":[ + "Ignore", + "Bucket", + "Key", + "VersionId" + ] + }, + "JobManifestFormat":{ + "type":"string", + "enum":[ + "S3BatchOperations_CSV_20180820", + "S3InventoryReport_CSV_20161130" + ] + }, + "JobManifestLocation":{ + "type":"structure", + "required":[ + "ObjectArn", + "ETag" + ], + "members":{ + "ObjectArn":{ + "shape":"S3KeyArnString", + "documentation":"

    The Amazon Resource Name (ARN) for a manifest object.

    " + }, + "ObjectVersionId":{ + "shape":"S3ObjectVersionId", + "documentation":"

    The optional version ID to identify a specific version of the manifest object.

    ", + "box":true + }, + "ETag":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    The ETag for the specified manifest object.

    " + } + }, + "documentation":"

    Contains the information required to locate a manifest object.

    " + }, + "JobManifestSpec":{ + "type":"structure", + "required":["Format"], + "members":{ + "Format":{ + "shape":"JobManifestFormat", + "documentation":"

    Indicates which of the available formats the specified manifest uses.

    " + }, + "Fields":{ + "shape":"JobManifestFieldList", + "documentation":"

    If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.

    ", + "box":true + } + }, + "documentation":"

    Describes the format of a manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

    " + }, + "JobNumberOfTasksFailed":{ + "type":"long", + "min":0 + }, + "JobNumberOfTasksSucceeded":{ + "type":"long", + "min":0 + }, + "JobOperation":{ + "type":"structure", + "members":{ + "LambdaInvoke":{ + "shape":"LambdaInvokeOperation", + "documentation":"

    Directs the specified job to invoke an AWS Lambda function on each object in the manifest.

    ", + "box":true + }, + "S3PutObjectCopy":{ + "shape":"S3CopyObjectOperation", + "documentation":"

    Directs the specified job to execute a PUT Copy object call on each object in the manifest.

    ", + "box":true + }, + "S3PutObjectAcl":{ + "shape":"S3SetObjectAclOperation", + "documentation":"

    Directs the specified job to execute a PUT Object acl call on each object in the manifest.

    ", + "box":true + }, + "S3PutObjectTagging":{ + "shape":"S3SetObjectTaggingOperation", + "documentation":"

    Directs the specified job to execute a PUT Object tagging call on each object in the manifest.

    ", + "box":true + }, + "S3InitiateRestoreObject":{ + "shape":"S3InitiateRestoreObjectOperation", + "documentation":"

    Directs the specified job to execute an Initiate Glacier Restore call on each object in the manifest.

    ", + "box":true + }, + "S3PutObjectLegalHold":{ + "shape":"S3SetObjectLegalHoldOperation", + "box":true + }, + "S3PutObjectRetention":{ + "shape":"S3SetObjectRetentionOperation", + "box":true + } + }, + "documentation":"

    The operation that you want this job to perform on each object listed in the manifest. For more information about the available operations, see Available Operations in the Amazon Simple Storage Service Developer Guide.

    " + }, + "JobPriority":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "JobProgressSummary":{ + "type":"structure", + "members":{ + "TotalNumberOfTasks":{ + "shape":"JobTotalNumberOfTasks", + "documentation":"

    ", + "box":true + }, + "NumberOfTasksSucceeded":{ + "shape":"JobNumberOfTasksSucceeded", + "documentation":"

    ", + "box":true + }, + "NumberOfTasksFailed":{ + "shape":"JobNumberOfTasksFailed", + "documentation":"

    ", + "box":true + } + }, + "documentation":"

    Describes the total number of tasks that the specified job has executed, the number of tasks that succeeded, and the number of tasks that failed.

    " + }, + "JobReport":{ + "type":"structure", + "required":["Enabled"], + "members":{ + "Bucket":{ + "shape":"S3BucketArnString", + "documentation":"

    The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

    ", + "box":true + }, + "Format":{ + "shape":"JobReportFormat", + "documentation":"

    The format of the specified job-completion report.

    ", + "box":true + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the specified job will generate a job-completion report.

    " + }, + "Prefix":{ + "shape":"ReportPrefixString", + "documentation":"

    An optional prefix to describe where in the specified bucket the job-completion report will be stored. Amazon S3 will store the job-completion report at <prefix>/job-<job-id>/report.json.

    ", + "box":true + }, + "ReportScope":{ + "shape":"JobReportScope", + "documentation":"

    Indicates whether the job-completion report will include details of all tasks or only failed tasks.

    ", + "box":true + } + }, + "documentation":"

    Contains the configuration parameters for a job-completion report.

    " + }, + "JobReportFormat":{ + "type":"string", + "enum":["Report_CSV_20180820"] + }, + "JobReportScope":{ + "type":"string", + "enum":[ + "AllTasks", + "FailedTasksOnly" + ] + }, + "JobStatus":{ + "type":"string", + "enum":[ + "Active", + "Cancelled", + "Cancelling", + "Complete", + "Completing", + "Failed", + "Failing", + "New", + "Paused", + "Pausing", + "Preparing", + "Ready", + "Suspended" + ] + }, + "JobStatusException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "JobStatusList":{ + "type":"list", + "member":{"shape":"JobStatus"} + }, + "JobStatusUpdateReason":{ + "type":"string", + "max":256, + "min":1 + }, + "JobTerminationDate":{"type":"timestamp"}, + "JobTotalNumberOfTasks":{ + "type":"long", + "min":0 + }, + "KmsKeyArnString":{ + "type":"string", + "max":2000, + "min":1 + }, + "LambdaInvokeOperation":{ + "type":"structure", + "members":{ + "FunctionArn":{ + "shape":"FunctionArnString", + "documentation":"

    The Amazon Resource Name (ARN) for the AWS Lambda function that the specified job will invoke for each object in the manifest.

    " + } + }, + "documentation":"

    Contains the configuration parameters for a Lambda Invoke operation.

    " + }, + "ListAccessPointsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID for owner of the bucket whose access points you want to list.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Bucket":{ + "shape":"BucketName", + "documentation":"

    The name of the bucket whose associated access points you want to list.

    ", + "location":"querystring", + "locationName":"bucket" + }, + "NextToken":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.

    ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of access points that you want to include in the list. If the specified bucket has more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.

    ", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListAccessPointsResult":{ + "type":"structure", + "members":{ + "AccessPointList":{ + "shape":"AccessPointList", + "documentation":"

    Contains identification and configuration information for one or more access points associated with the specified bucket.

    " + }, + "NextToken":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    If the specified bucket has more access points than can be returned in one call to this API, then this field contains a continuation token that you can provide in subsequent calls to this API to retrieve additional access points.

    " + } + } + }, + "ListJobsRequest":{ + "type":"structure", + "required":["AccountId"], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobStatuses":{ + "shape":"JobStatusList", + "documentation":"

    The List Jobs request returns jobs that match the statuses listed in this element.

    ", + "location":"querystring", + "locationName":"jobStatuses" + }, + "NextToken":{ + "shape":"StringForNextToken", + "documentation":"

    A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

    ", + "location":"querystring", + "locationName":"nextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

    ", + "box":true, + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListJobsResult":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"StringForNextToken", + "documentation":"

    If the List Jobs request produced more than the maximum number of results, you can pass this value into a subsequent List Jobs request in order to retrieve the next page of results.

    " + }, + "Jobs":{ + "shape":"JobListDescriptorList", + "documentation":"

    The list of current jobs and jobs that have ended within the last 30 days.

    " + } + } + }, + "MaxLength1024String":{ + "type":"string", + "max":1024 + }, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "NetworkOrigin":{ + "type":"string", + "enum":[ + "Internet", + "VPC" + ] + }, + "NoSuchPublicAccessBlockConfiguration":{ + "type":"structure", + "members":{ + "Message":{"shape":"NoSuchPublicAccessBlockConfigurationMessage"} + }, + "documentation":"

    Amazon S3 throws this exception if you make a GetPublicAccessBlock request against an account that doesn't have a PublicAccessBlockConfiguration set.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "NoSuchPublicAccessBlockConfigurationMessage":{"type":"string"}, + "NonEmptyMaxLength1024String":{ + "type":"string", + "max":1024, + "min":1 + }, + "NonEmptyMaxLength2048String":{ + "type":"string", + "max":2048, + "min":1 + }, + "NonEmptyMaxLength256String":{ + "type":"string", + "max":256, + "min":1 + }, + "NonEmptyMaxLength64String":{ + "type":"string", + "max":64, + "min":1 + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "OperationName":{ + "type":"string", + "enum":[ + "LambdaInvoke", + "S3PutObjectCopy", + "S3PutObjectAcl", + "S3PutObjectTagging", + "S3InitiateRestoreObject", + "S3PutObjectLegalHold", + "S3PutObjectRetention" + ] + }, + "Policy":{"type":"string"}, + "PolicyStatus":{ + "type":"structure", + "members":{ + "IsPublic":{ + "shape":"IsPublic", + "documentation":"

    ", + "locationName":"IsPublic" + } + }, + "documentation":"

    Indicates whether this access point policy is public. For more information about how Amazon S3 evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

    " + }, + "PublicAccessBlockConfiguration":{ + "type":"structure", + "members":{ + "BlockPublicAcls":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in this account. Setting this element to TRUE causes the following behavior:

    • PUT Bucket acl and PUT Object acl calls fail if the specified ACL is public.

    • PUT Object calls fail if the request includes a public ACL.

    • PUT Bucket calls fail if the request includes a public ACL.

    Enabling this setting doesn't affect existing policies or ACLs.

    ", + "locationName":"BlockPublicAcls" + }, + "IgnorePublicAcls":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this account and any objects that they contain.

    Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.

    ", + "locationName":"IgnorePublicAcls" + }, + "BlockPublicPolicy":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should block public bucket policies for buckets in this account. Setting this element to TRUE causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.

    Enabling this setting doesn't affect existing bucket policies.

    ", + "locationName":"BlockPublicPolicy" + }, + "RestrictPublicBuckets":{ + "shape":"Setting", + "documentation":"

    Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account. Setting this element to TRUE restricts access to buckets with public policies to only AWS services and authorized users within this account.

    Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.

    ", + "locationName":"RestrictPublicBuckets" + } + }, + "documentation":"

    The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon Simple Storage Service Developer Guide.

    " + }, + "PutAccessPointPolicyRequest":{ + "type":"structure", + "required":[ + "AccountId", + "Name", + "Policy" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID for owner of the bucket associated with the specified access point.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "Name":{ + "shape":"AccessPointName", + "documentation":"

    The name of the access point that you want to associate with the specified policy.

    ", + "location":"uri", + "locationName":"name" + }, + "Policy":{ + "shape":"Policy", + "documentation":"

    The policy that you want to apply to the specified access point. For more information about access point policies, see Managing Data Access with Amazon S3 Access Points in the Amazon Simple Storage Service Developer Guide.

    " + } + } + }, + "PutJobTaggingRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId", + "Tags" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID associated with the Amazon S3 Batch Operations job.

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the Amazon S3 Batch Operations job whose tags you want to replace.

    ", + "location":"uri", + "locationName":"id" + }, + "Tags":{ + "shape":"S3TagSet", + "documentation":"

    The set of tags to associate with the Amazon S3 Batch Operations job.

    " + } + } + }, + "PutJobTaggingResult":{ + "type":"structure", + "members":{ + } + }, + "PutPublicAccessBlockRequest":{ + "type":"structure", + "required":[ + "PublicAccessBlockConfiguration", + "AccountId" + ], + "members":{ + "PublicAccessBlockConfiguration":{ + "shape":"PublicAccessBlockConfiguration", + "documentation":"

    The PublicAccessBlock configuration that you want to apply to the specified Amazon Web Services account.

    ", + "locationName":"PublicAccessBlockConfiguration", + "xmlNamespace":{"uri":"http://awss3control.amazonaws.com/doc/2018-08-20/"} + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want to set.

    ", + "location":"header", + "locationName":"x-amz-account-id" + } + }, + "payload":"PublicAccessBlockConfiguration" + }, + "ReportPrefixString":{ + "type":"string", + "max":512, + "min":1 + }, + "RequestedJobStatus":{ + "type":"string", + "enum":[ + "Cancelled", + "Ready" + ] + }, + "S3AccessControlList":{ + "type":"structure", + "required":["Owner"], + "members":{ + "Owner":{ + "shape":"S3ObjectOwner", + "documentation":"

    " + }, + "Grants":{ + "shape":"S3GrantList", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3AccessControlPolicy":{ + "type":"structure", + "members":{ + "AccessControlList":{ + "shape":"S3AccessControlList", + "documentation":"

    ", + "box":true + }, + "CannedAccessControlList":{ + "shape":"S3CannedAccessControlList", + "documentation":"

    ", + "box":true + } + }, + "documentation":"

    " + }, + "S3BucketArnString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"arn:[^:]+:s3:.*" + }, + "S3CannedAccessControlList":{ + "type":"string", + "enum":[ + "private", + "public-read", + "public-read-write", + "aws-exec-read", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control" + ] + }, + "S3ContentLength":{ + "type":"long", + "min":0 + }, + "S3CopyObjectOperation":{ + "type":"structure", + "members":{ + "TargetResource":{ + "shape":"S3BucketArnString", + "documentation":"

    " + }, + "CannedAccessControlList":{ + "shape":"S3CannedAccessControlList", + "documentation":"

    ", + "box":true + }, + "AccessControlGrants":{ + "shape":"S3GrantList", + "documentation":"

    ", + "box":true + }, + "MetadataDirective":{ + "shape":"S3MetadataDirective", + "documentation":"

    " + }, + "ModifiedSinceConstraint":{ + "shape":"TimeStamp", + "documentation":"

    " + }, + "NewObjectMetadata":{ + "shape":"S3ObjectMetadata", + "documentation":"

    " + }, + "NewObjectTagging":{ + "shape":"S3TagSet", + "documentation":"

    " + }, + "RedirectLocation":{ + "shape":"NonEmptyMaxLength2048String", + "documentation":"

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    " + }, + "StorageClass":{ + "shape":"S3StorageClass", + "documentation":"

    " + }, + "UnModifiedSinceConstraint":{ + "shape":"TimeStamp", + "documentation":"

    " + }, + "SSEAwsKmsKeyId":{ + "shape":"KmsKeyArnString", + "documentation":"

    " + }, + "TargetKeyPrefix":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "ObjectLockLegalHoldStatus":{ + "shape":"S3ObjectLockLegalHoldStatus", + "documentation":"

    The Legal Hold status to be applied to all objects in the Batch Operations job.

    " + }, + "ObjectLockMode":{ + "shape":"S3ObjectLockMode", + "documentation":"

    The Retention mode to be applied to all objects in the Batch Operations job.

    " + }, + "ObjectLockRetainUntilDate":{ + "shape":"TimeStamp", + "documentation":"

    The date when the applied Object Retention configuration will expire on all objects in the Batch Operations job.

    " + } + }, + "documentation":"

    Contains the configuration parameters for a PUT Copy object operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Copy object API. For more information about the parameters for this operation, see PUT Object - Copy.

    " + }, + "S3ExpirationInDays":{ + "type":"integer", + "min":0 + }, + "S3GlacierJobTier":{ + "type":"string", + "enum":[ + "BULK", + "STANDARD" + ] + }, + "S3Grant":{ + "type":"structure", + "members":{ + "Grantee":{ + "shape":"S3Grantee", + "documentation":"

    " + }, + "Permission":{ + "shape":"S3Permission", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3GrantList":{ + "type":"list", + "member":{"shape":"S3Grant"} + }, + "S3Grantee":{ + "type":"structure", + "members":{ + "TypeIdentifier":{ + "shape":"S3GranteeTypeIdentifier", + "documentation":"

    " + }, + "Identifier":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    ", + "box":true + }, + "DisplayName":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3GranteeTypeIdentifier":{ + "type":"string", + "enum":[ + "id", + "emailAddress", + "uri" + ] + }, + "S3InitiateRestoreObjectOperation":{ + "type":"structure", + "members":{ + "ExpirationInDays":{ + "shape":"S3ExpirationInDays", + "documentation":"

    " + }, + "GlacierJobTier":{ + "shape":"S3GlacierJobTier", + "documentation":"

    " + } + }, + "documentation":"

    Contains the configuration parameters for an Initiate Glacier Restore job. Amazon S3 Batch Operations passes each value through to the underlying POST Object restore API. For more information about the parameters for this operation, see Restoring Archives.

    " + }, + "S3KeyArnString":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"arn:[^:]+:s3:.*" + }, + "S3MetadataDirective":{ + "type":"string", + "enum":[ + "COPY", + "REPLACE" + ] + }, + "S3ObjectLockLegalHold":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"S3ObjectLockLegalHoldStatus", + "documentation":"

    The Legal Hold status to be applied to all objects in the Batch Operations job.

    " + } + }, + "documentation":"

    " + }, + "S3ObjectLockLegalHoldStatus":{ + "type":"string", + "enum":[ + "OFF", + "ON" + ] + }, + "S3ObjectLockMode":{ + "type":"string", + "enum":[ + "COMPLIANCE", + "GOVERNANCE" + ] + }, + "S3ObjectLockRetentionMode":{ + "type":"string", + "enum":[ + "COMPLIANCE", + "GOVERNANCE" + ] + }, + "S3ObjectMetadata":{ + "type":"structure", + "members":{ + "CacheControl":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "ContentDisposition":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "ContentEncoding":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "ContentLanguage":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "UserMetadata":{ + "shape":"S3UserMetadata", + "documentation":"

    " + }, + "ContentLength":{ + "shape":"S3ContentLength", + "documentation":"

    ", + "box":true + }, + "ContentMD5":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "ContentType":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "HttpExpiresDate":{ + "shape":"TimeStamp", + "documentation":"

    " + }, + "RequesterCharged":{ + "shape":"Boolean", + "documentation":"

    " + }, + "SSEAlgorithm":{ + "shape":"S3SSEAlgorithm", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3ObjectOwner":{ + "type":"structure", + "members":{ + "ID":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + }, + "DisplayName":{ + "shape":"NonEmptyMaxLength1024String", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3ObjectVersionId":{ + "type":"string", + "max":2000, + "min":1 + }, + "S3Permission":{ + "type":"string", + "enum":[ + "FULL_CONTROL", + "READ", + "WRITE", + "READ_ACP", + "WRITE_ACP" + ] + }, + "S3Retention":{ + "type":"structure", + "members":{ + "RetainUntilDate":{ + "shape":"TimeStamp", + "documentation":"

    The date when the applied Object Retention will expire on all objects in the Batch Operations job.

    " + }, + "Mode":{ + "shape":"S3ObjectLockRetentionMode", + "documentation":"

    The Retention mode to be applied to all objects in the Batch Operations job.

    " + } + }, + "documentation":"

    " + }, + "S3SSEAlgorithm":{ + "type":"string", + "enum":[ + "AES256", + "KMS" + ] + }, + "S3SetObjectAclOperation":{ + "type":"structure", + "members":{ + "AccessControlPolicy":{ + "shape":"S3AccessControlPolicy", + "documentation":"

    " + } + }, + "documentation":"

    Contains the configuration parameters for a Set Object ACL operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object acl API. For more information about the parameters for this operation, see PUT Object acl.

    " + }, + "S3SetObjectLegalHoldOperation":{ + "type":"structure", + "required":["LegalHold"], + "members":{ + "LegalHold":{ + "shape":"S3ObjectLockLegalHold", + "documentation":"

    The Legal Hold contains the status to be applied to all objects in the Batch Operations job.

    " + } + }, + "documentation":"

    Contains the configuration parameters for a Set Object Legal Hold operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object Legal Hold API. For more information about the parameters for this operation, see PUT Object Legal Hold.

    " + }, + "S3SetObjectRetentionOperation":{ + "type":"structure", + "required":["Retention"], + "members":{ + "BypassGovernanceRetention":{ + "shape":"Boolean", + "documentation":"

    Indicates if the operation should be applied to objects in the Batch Operations job even if they have Governance-type Object Lock in place.

    ", + "box":true + }, + "Retention":{ + "shape":"S3Retention", + "documentation":"

    Amazon S3 object lock Retention contains the retention mode to be applied to all objects in the Batch Operations job.

    " + } + }, + "documentation":"

    Contains the configuration parameters for a Set Object Retention operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object Retention API. For more information about the parameters for this operation, see PUT Object Retention.

    " + }, + "S3SetObjectTaggingOperation":{ + "type":"structure", + "members":{ + "TagSet":{ + "shape":"S3TagSet", + "documentation":"

    " + } + }, + "documentation":"

    Contains the configuration parameters for a Set Object Tagging operation. Amazon S3 Batch Operations passes each value through to the underlying PUT Object tagging API. For more information about the parameters for this operation, see PUT Object tagging.

    " + }, + "S3StorageClass":{ + "type":"string", + "enum":[ + "STANDARD", + "STANDARD_IA", + "ONEZONE_IA", + "GLACIER", + "INTELLIGENT_TIERING", + "DEEP_ARCHIVE" + ] + }, + "S3Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKeyString", + "documentation":"

    " + }, + "Value":{ + "shape":"TagValueString", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "S3TagSet":{ + "type":"list", + "member":{"shape":"S3Tag"} + }, + "S3UserMetadata":{ + "type":"map", + "key":{"shape":"NonEmptyMaxLength1024String"}, + "value":{"shape":"MaxLength1024String"}, + "max":8192 + }, + "Setting":{"type":"boolean"}, + "StringForNextToken":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[A-Za-z0-9\\+\\:\\/\\=\\?\\#-_]+$" + }, + "SuspendedCause":{ + "type":"string", + "max":1024, + "min":1 + }, + "SuspendedDate":{"type":"timestamp"}, + "TagKeyString":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:=+\\-@%]*)$" + }, + "TagValueString":{ + "type":"string", + "max":1024, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:=+\\-@%]*)$" + }, + "TimeStamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "UpdateJobPriorityRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId", + "Priority" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the job whose priority you want to update.

    ", + "location":"uri", + "locationName":"id" + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

    The priority you want to assign to this job.

    ", + "location":"querystring", + "locationName":"priority" + } + } + }, + "UpdateJobPriorityResult":{ + "type":"structure", + "required":[ + "JobId", + "Priority" + ], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the job whose priority Amazon S3 updated.

    " + }, + "Priority":{ + "shape":"JobPriority", + "documentation":"

    The new priority assigned to the specified job.

    " + } + } + }, + "UpdateJobStatusRequest":{ + "type":"structure", + "required":[ + "AccountId", + "JobId", + "RequestedJobStatus" + ], + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    ", + "location":"header", + "locationName":"x-amz-account-id" + }, + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID of the job whose status you want to update.

    ", + "location":"uri", + "locationName":"id" + }, + "RequestedJobStatus":{ + "shape":"RequestedJobStatus", + "documentation":"

    The status that you want to move the specified job to.

    ", + "location":"querystring", + "locationName":"requestedJobStatus" + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

    A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length.

    ", + "location":"querystring", + "locationName":"statusUpdateReason" + } + } + }, + "UpdateJobStatusResult":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for the job whose status was updated.

    " + }, + "Status":{ + "shape":"JobStatus", + "documentation":"

    The current status for the specified job.

    " + }, + "StatusUpdateReason":{ + "shape":"JobStatusUpdateReason", + "documentation":"

    The reason that the specified job's status was updated.

    " + } + } + }, + "VpcConfiguration":{ + "type":"structure", + "required":["VpcId"], + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

    If this field is specified, this access point will only allow connections from the specified VPC ID.

    " + } + }, + "documentation":"

    The virtual private cloud (VPC) configuration for an access point.

    " + }, + "VpcId":{ + "type":"string", + "max":1024, + "min":1 + } + }, + "documentation":"

    AWS S3 Control provides access to Amazon S3 control plane operations.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/examples-1.json python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/examples-1.json --- python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/paginators-1.json --- python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,196 @@ +{ + "pagination": { + "ListTrainingJobs": { + "result_key": "TrainingJobSummaries", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListEndpoints": { + "result_key": "Endpoints", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListEndpointConfigs": { + "result_key": "EndpointConfigs", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListNotebookInstances": { + "result_key": "NotebookInstances", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListTags": { + "result_key": "Tags", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListModels": { + "result_key": "Models", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAlgorithms": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AlgorithmSummaryList" + }, + "ListCodeRepositories": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CodeRepositorySummaryList" + }, + "ListCompilationJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CompilationJobSummaries" + }, + "ListHyperParameterTuningJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "HyperParameterTuningJobSummaries" + }, + "ListLabelingJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LabelingJobSummaryList" + }, + "ListLabelingJobsForWorkteam": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LabelingJobSummaryList" + }, + "ListModelPackages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ModelPackageSummaryList" + }, + "ListNotebookInstanceLifecycleConfigs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "NotebookInstanceLifecycleConfigs" + }, + "ListSubscribedWorkteams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SubscribedWorkteams" + }, + "ListTrainingJobsForHyperParameterTuningJob": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TrainingJobSummaries" + }, + "ListTransformJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TransformJobSummaries" + }, + "ListWorkteams": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Workteams" + }, + "Search": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Results" + }, + "ListApps": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Apps" + }, + "ListAutoMLJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AutoMLJobSummaries" + }, + "ListCandidatesForAutoMLJob": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Candidates" + }, + "ListDomains": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Domains" + }, + "ListExperiments": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ExperimentSummaries" + }, + "ListFlowDefinitions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "FlowDefinitionSummaries" + }, + "ListHumanTaskUis": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "HumanTaskUiSummaries" + }, + "ListMonitoringExecutions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "MonitoringExecutionSummaries" + }, + "ListMonitoringSchedules": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "MonitoringScheduleSummaries" + }, + "ListProcessingJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ProcessingJobSummaries" + }, + "ListTrialComponents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TrialComponentSummaries" + }, + "ListTrials": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "TrialSummaries" + }, + "ListUserProfiles": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "UserProfiles" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/service-2.json python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/service-2.json --- python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,14763 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-24", + "endpointPrefix":"api.sagemaker", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"SageMaker", + "serviceFullName":"Amazon SageMaker Service", + "serviceId":"SageMaker", + "signatureVersion":"v4", + "signingName":"sagemaker", + "targetPrefix":"SageMaker", + "uid":"sagemaker-2017-07-24" + }, + "operations":{ + "AddTags":{ + "name":"AddTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTagsInput"}, + "output":{"shape":"AddTagsOutput"}, + "documentation":"

    Adds or overwrites one or more tags for the specified Amazon SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.

    Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see AWS Tagging Strategies.

    Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

    " + }, + "AssociateTrialComponent":{ + "name":"AssociateTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateTrialComponentRequest"}, + "output":{"shape":"AssociateTrialComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

    " + }, + "CreateAlgorithm":{ + "name":"CreateAlgorithm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAlgorithmInput"}, + "output":{"shape":"CreateAlgorithmOutput"}, + "documentation":"

    Create a machine learning algorithm that you can use in Amazon SageMaker and list in the AWS Marketplace.

    " + }, + "CreateApp":{ + "name":"CreateApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAppRequest"}, + "output":{"shape":"CreateAppResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Creates a running App for the specified UserProfile. Supported Apps are JupyterServer, KernelGateway, and TensorBoard. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Studio Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously. Apps will automatically terminate and be deleted when stopped from within Studio, or when the DeleteApp API is manually called. UserProfiles are limited to 5 concurrently running Apps at a time.

    " + }, + "CreateAutoMLJob":{ + "name":"CreateAutoMLJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAutoMLJobRequest"}, + "output":{"shape":"CreateAutoMLJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an AutoPilot job.

    After you run an AutoPilot job, you can find the best performing model by calling , and then deploy that model by following the steps described in Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services.

    For information about how to use AutoPilot, see Use AutoPilot to Automate Model Development.

    " + }, + "CreateCodeRepository":{ + "name":"CreateCodeRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCodeRepositoryInput"}, + "output":{"shape":"CreateCodeRepositoryOutput"}, + "documentation":"

    Creates a Git repository as a resource in your Amazon SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your Amazon SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

    The repository can be hosted either in AWS CodeCommit or in any other Git repository.

    " + }, + "CreateCompilationJob":{ + "name":"CreateCompilationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCompilationJobRequest"}, + "output":{"shape":"CreateCompilationJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Starts a model compilation job. After the model has been compiled, Amazon SageMaker saves the resulting model artifacts to an Amazon Simple Storage Service (Amazon S3) bucket that you specify.

    If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts with AWS IoT Greengrass. In that case, deploy them as an ML resource.

    In the request body, you provide the following:

    • A name for the compilation job

    • Information about the input model artifacts

    • The output location for the compiled model and the device (target) that the model runs on

    • The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker assumes to perform the model compilation job

    You can also provide a Tag to track the model compilation job's resource use and costs. The response body contains the CompilationJobArn for the compiled job.

    To stop a model compilation job, use StopCompilationJob. To get information about a particular model compilation job, use DescribeCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs.

    " + }, + "CreateDomain":{ + "name":"CreateDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDomainRequest"}, + "output":{"shape":"CreateDomainResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Creates a Domain for Amazon SageMaker Studio, which can be accessed by end-users in a web browser. A Domain has an associated directory, list of authorized users, and a variety of security, application, policies, and Amazon Virtual Private Cloud configurations. An AWS account is limited to one Domain, per region. Users within a domain can share notebook files and other artifacts with each other. When a Domain is created, an Amazon Elastic File System (EFS) is also created for use by all of the users within the Domain. Each user receives a private home directory within the EFS for notebooks, Git repositories, and data files.

    " + }, + "CreateEndpoint":{ + "name":"CreateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEndpointInput"}, + "output":{"shape":"CreateEndpointOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an endpoint using the endpoint configuration specified in the request. Amazon SageMaker uses the endpoint to provision resources and deploy models. You create the endpoint configuration with the CreateEndpointConfig API.

    Use this API to deploy models using Amazon SageMaker hosting services.

    For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)).

    You must not delete an EndpointConfig that is in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig.

    The endpoint name must be unique within an AWS Region in your AWS account.

    When it receives the request, Amazon SageMaker creates the endpoint, launches the resources (ML compute instances), and deploys the model(s) on them.

    When Amazon SageMaker receives the request, it sets the endpoint status to Creating. After it creates the endpoint, it sets the status to InService. Amazon SageMaker can then process incoming requests for inferences. To check the status of an endpoint, use the DescribeEndpoint API.

    If any of the models hosted at this endpoint get model data from an Amazon S3 location, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provided. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

    " + }, + "CreateEndpointConfig":{ + "name":"CreateEndpointConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEndpointConfigInput"}, + "output":{"shape":"CreateEndpointConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an endpoint configuration that Amazon SageMaker hosting services uses to deploy models. In the configuration, you identify one or more models, created using the CreateModel API, to deploy and the resources that you want Amazon SageMaker to provision. Then you call the CreateEndpoint API.

    Use this API if you want to use Amazon SageMaker hosting services to deploy models into production.

    In the request, you define a ProductionVariant, for each model that you want to deploy. Each ProductionVariant parameter also describes the resources that you want Amazon SageMaker to provision. This includes the number and type of ML compute instances to deploy.

    If you are hosting multiple models, you also assign a VariantWeight to specify how much traffic you want to allocate to each model. For example, suppose that you want to host two models, A and B, and you assign traffic weight 2 for model A and 1 for model B. Amazon SageMaker distributes two-thirds of the traffic to Model A, and one-third to model B.

    For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)).

    " + }, + "CreateExperiment":{ + "name":"CreateExperiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateExperimentRequest"}, + "output":{"shape":"CreateExperimentResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an Amazon SageMaker experiment. An experiment is a collection of trials that are observed, compared and evaluated as a group. A trial is a set of steps, called trial components, that produce a machine learning model.

    The goal of an experiment is to determine the components that produce the best model. Multiple trials are performed, each one isolating and measuring the impact of a change to one or more inputs, while keeping the remaining inputs constant.

    When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK.

    You can add tags to experiments, trials, trial components and then use the Search API to search for the tags.

    To add a description to an experiment, specify the optional Description parameter. To add a description later, or to change the description, call the UpdateExperiment API.

    To get a list of all your experiments, call the ListExperiments API. To view an experiment's properties, call the DescribeExperiment API. To get a list of all the trials associated with an experiment, call the ListTrials API. To create a trial call the CreateTrial API.

    " + }, + "CreateFlowDefinition":{ + "name":"CreateFlowDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFlowDefinitionRequest"}, + "output":{"shape":"CreateFlowDefinitionResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Creates a flow definition.

    " + }, + "CreateHumanTaskUi":{ + "name":"CreateHumanTaskUi", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHumanTaskUiRequest"}, + "output":{"shape":"CreateHumanTaskUiResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Defines the settings you will use for the human review workflow user interface. Reviewers will see a three-panel interface with an instruction area, the item to review, and an input area.

    " + }, + "CreateHyperParameterTuningJob":{ + "name":"CreateHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHyperParameterTuningJobRequest"}, + "output":{"shape":"CreateHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version of a model by running many training jobs on your dataset using the algorithm you choose and values for hyperparameters within ranges that you specify. It then chooses the hyperparameter values that result in a model that performs the best, as measured by an objective metric that you choose.

    " + }, + "CreateLabelingJob":{ + "name":"CreateLabelingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateLabelingJobRequest"}, + "output":{"shape":"CreateLabelingJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates a job that uses workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models.

    You can select your workforce from one of three providers:

    • A private workforce that you create. It can include employees, contractors, and outside experts. Use a private workforce when want the data to stay within your organization or when a specific set of skills is required.

    • One or more vendors that you select from the AWS Marketplace. Vendors provide expertise in specific areas.

    • The Amazon Mechanical Turk workforce. This is the largest workforce, but it should only be used for public data or data that has been stripped of any personally identifiable information.

    You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker. For more information, see Using Automated Data Labeling.

    The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data.

    The output can be used as the manifest file for another labeling job or as training data for your machine learning models.

    " + }, + "CreateModel":{ + "name":"CreateModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateModelInput"}, + "output":{"shape":"CreateModelOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates a model in Amazon SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

    Use this API to create a model if you want to use Amazon SageMaker hosting services or run a batch transform job.

    To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. Amazon SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

    For an example that calls this method when deploying a model to Amazon SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (AWS SDK for Python (Boto 3)).

    To run a batch transform using your model, you start a job with the CreateTransformJob API. Amazon SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

    In the CreateModel request, you must define a container with the PrimaryContainer parameter.

    In the request, you also provide an IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other AWS resources, you grant necessary permissions via this role.

    " + }, + "CreateModelPackage":{ + "name":"CreateModelPackage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateModelPackageInput"}, + "output":{"shape":"CreateModelPackageOutput"}, + "documentation":"

    Creates a model package that you can use to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.

    To create a model package by specifying a Docker container that contains your inference code and the Amazon S3 location of your model artifacts, provide values for InferenceSpecification. To create a model from an algorithm resource that you created or subscribed to in AWS Marketplace, provide a value for SourceAlgorithmSpecification.

    " + }, + "CreateMonitoringSchedule":{ + "name":"CreateMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMonitoringScheduleRequest"}, + "output":{"shape":"CreateMonitoringScheduleResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Creates a schedule that regularly starts Amazon SageMaker Processing Jobs to monitor the data captured for an Amazon SageMaker Endoint.

    " + }, + "CreateNotebookInstance":{ + "name":"CreateNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNotebookInstanceInput"}, + "output":{"shape":"CreateNotebookInstanceOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an Amazon SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook.

    In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. Amazon SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance.

    Amazon SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use Amazon SageMaker with a specific algorithm or with a machine learning framework.

    After receiving the request, Amazon SageMaker does the following:

    1. Creates a network interface in the Amazon SageMaker VPC.

    2. (Option) If you specified SubnetId, Amazon SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, Amazon SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.

    3. Launches an EC2 instance of the type specified in the request in the Amazon SageMaker VPC. If you specified SubnetId of your VPC, Amazon SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.

    After creating the notebook instance, Amazon SageMaker returns its Amazon Resource Name (ARN). You can't change the name of a notebook instance after you create it.

    After Amazon SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating Amazon SageMaker endpoints, and validate hosted models.

    For more information, see How It Works.

    " + }, + "CreateNotebookInstanceLifecycleConfig":{ + "name":"CreateNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"CreateNotebookInstanceLifecycleConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

    Each lifecycle configuration script has a limit of 16384 characters.

    The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

    View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

    Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

    For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "CreatePresignedDomainUrl":{ + "name":"CreatePresignedDomainUrl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePresignedDomainUrlRequest"}, + "output":{"shape":"CreatePresignedDomainUrlResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to Amazon SageMaker Studio, and granted access to all of the Apps and files associated with that Amazon Elastic File System (EFS). This operation can only be called when AuthMode equals IAM.

    " + }, + "CreatePresignedNotebookInstanceUrl":{ + "name":"CreatePresignedNotebookInstanceUrl", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePresignedNotebookInstanceUrlInput"}, + "output":{"shape":"CreatePresignedNotebookInstanceUrlOutput"}, + "documentation":"

    Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the Amazon SageMaker console, when you choose Open next to a notebook instance, Amazon SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

    IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the notebook instance.For example, you can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address.

    The URL that you get from a call to CreatePresignedNotebookInstanceUrl is valid only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you are directed to the AWS console sign-in page.

    " + }, + "CreateProcessingJob":{ + "name":"CreateProcessingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProcessingJobRequest"}, + "output":{"shape":"CreateProcessingJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Creates a processing job.

    " + }, + "CreateTrainingJob":{ + "name":"CreateTrainingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrainingJobRequest"}, + "output":{"shape":"CreateTrainingJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Starts a model training job. After training completes, Amazon SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.

    If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than Amazon SageMaker, provided that you know how to use them for inferences.

    In the request body, you provide the following:

    • AlgorithmSpecification - Identifies the training algorithm to use.

    • HyperParameters - Specify these algorithm-specific parameters to enable the estimation of model parameters during training. Hyperparameters can be tuned to optimize this learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

    • InputDataConfig - Describes the training dataset and the Amazon S3, EFS, or FSx location where it is stored.

    • OutputDataConfig - Identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of model training.

    • ResourceConfig - Identifies the resources, ML compute instances, and ML storage volumes to deploy for model training. In distributed training, you specify more than one instance.

    • EnableManagedSpotTraining - Optimize the cost of training machine learning models by up to 80% by using Amazon EC2 Spot instances. For more information, see Managed Spot Training.

    • RoleARN - The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during model training. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete model training.

    • StoppingCondition - To help cap training costs, use MaxRuntimeInSeconds to set a time limit for training. Use MaxWaitTimeInSeconds to specify how long you are willing to wait for a managed spot training job to complete.

    For more information about Amazon SageMaker, see How It Works.

    " + }, + "CreateTransformJob":{ + "name":"CreateTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTransformJobRequest"}, + "output":{"shape":"CreateTransformJobResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.

    To perform batch transformations, you create a transform job and use the data that you have readily available.

    In the request body, you provide the following:

    • TransformJobName - Identifies the transform job. The name must be unique within an AWS Region in an AWS account.

    • ModelName - Identifies the model to use. ModelName must be the name of an existing Amazon SageMaker model in the same AWS Region and AWS account. For information on creating a model, see CreateModel.

    • TransformInput - Describes the dataset to be transformed and the Amazon S3 location where it is stored.

    • TransformOutput - Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

    • TransformResources - Identifies the ML compute instances for the transform job.

    For more information about how batch transformation works, see Batch Transform.

    " + }, + "CreateTrial":{ + "name":"CreateTrial", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrialRequest"}, + "output":{"shape":"CreateTrialResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates an Amazon SageMaker trial. A trial is a set of steps called trial components that produce a machine learning model. A trial is part of a single Amazon SageMaker experiment.

    When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK.

    You can add tags to a trial and then use the Search API to search for the tags.

    To get a list of all your trials, call the ListTrials API. To view a trial's properties, call the DescribeTrial API. To create a trial component, call the CreateTrialComponent API.

    " + }, + "CreateTrialComponent":{ + "name":"CreateTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTrialComponentRequest"}, + "output":{"shape":"CreateTrialComponentResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates a trial component, which is a stage of a machine learning trial. A trial is composed of one or more trial components. A trial component can be used in multiple trials.

    Trial components include pre-processing jobs, training jobs, and batch transform jobs.

    When you use Amazon SageMaker Studio or the Amazon SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the AWS SDK for Python (Boto), you must use the logging APIs provided by the SDK.

    You can add tags to a trial component and then use the Search API to search for the tags.

    CreateTrialComponent can only be invoked from within an Amazon SageMaker managed environment. This includes Amazon SageMaker training jobs, processing jobs, transform jobs, and Amazon SageMaker notebooks. A call to CreateTrialComponent from outside one of these environments results in an error.

    " + }, + "CreateUserProfile":{ + "name":"CreateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserProfileRequest"}, + "output":{"shape":"CreateUserProfileResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Creates a user profile. A user profile represents a single user within a Domain, and is the main way to reference a \"person\" for the purposes of sharing, reporting and other user-oriented features. This entity is created during on-boarding to Amazon SageMaker Studio. If an administrator invites a person by email or imports them from SSO, a UserProfile is automatically created.

    This entity is the primary holder of settings for an individual user and, through the domain, has a reference to the user's private Amazon Elastic File System (EFS) home directory.

    " + }, + "CreateWorkteam":{ + "name":"CreateWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWorkteamRequest"}, + "output":{"shape":"CreateWorkteamResponse"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Creates a new work team for labeling your data. A work team is defined by one or more Amazon Cognito user pools. You must first create the user pools before you can create a work team.

    You cannot create more than 25 work teams in an account and region.

    " + }, + "DeleteAlgorithm":{ + "name":"DeleteAlgorithm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAlgorithmInput"}, + "documentation":"

    Removes the specified algorithm from your account.

    " + }, + "DeleteApp":{ + "name":"DeleteApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAppRequest"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Used to stop and delete an app.

    " + }, + "DeleteCodeRepository":{ + "name":"DeleteCodeRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCodeRepositoryInput"}, + "documentation":"

    Deletes the specified Git repository from your account.

    " + }, + "DeleteDomain":{ + "name":"DeleteDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDomainRequest"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Used to delete a domain. Use with caution. If RetentionPolicy is set to Delete, all of the members of the domain will lose access to their EFS volume, including data, notebooks, and other artifacts.

    " + }, + "DeleteEndpoint":{ + "name":"DeleteEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEndpointInput"}, + "documentation":"

    Deletes an endpoint. Amazon SageMaker frees up all of the resources that were deployed when the endpoint was created.

    Amazon SageMaker retires any custom KMS key grants associated with the endpoint, meaning you don't need to use the RevokeGrant API call.

    " + }, + "DeleteEndpointConfig":{ + "name":"DeleteEndpointConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEndpointConfigInput"}, + "documentation":"

    Deletes an endpoint configuration. The DeleteEndpointConfig API deletes only the specified configuration. It does not delete endpoints created using the configuration.

    " + }, + "DeleteExperiment":{ + "name":"DeleteExperiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteExperimentRequest"}, + "output":{"shape":"DeleteExperimentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes an Amazon SageMaker experiment. All trials associated with the experiment must be deleted first. Use the ListTrials API to get a list of the trials associated with the experiment.

    " + }, + "DeleteFlowDefinition":{ + "name":"DeleteFlowDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFlowDefinitionRequest"}, + "output":{"shape":"DeleteFlowDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes the specified flow definition.

    " + }, + "DeleteModel":{ + "name":"DeleteModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteModelInput"}, + "documentation":"

    Deletes a model. The DeleteModel API deletes only the model entry that was created in Amazon SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

    " + }, + "DeleteModelPackage":{ + "name":"DeleteModelPackage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteModelPackageInput"}, + "documentation":"

    Deletes a model package.

    A model package is used to create Amazon SageMaker models or list on AWS Marketplace. Buyers can subscribe to model packages listed on AWS Marketplace to create models in Amazon SageMaker.

    " + }, + "DeleteMonitoringSchedule":{ + "name":"DeleteMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMonitoringScheduleRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes a monitoring schedule. Also stops the schedule had not already been stopped. This does not delete the job execution history of the monitoring schedule.

    " + }, + "DeleteNotebookInstance":{ + "name":"DeleteNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNotebookInstanceInput"}, + "documentation":"

    Deletes an Amazon SageMaker notebook instance. Before you can delete a notebook instance, you must call the StopNotebookInstance API.

    When you delete a notebook instance, you lose all of your data. Amazon SageMaker removes the ML compute instance, and deletes the ML storage volume and the network interface associated with the notebook instance.

    " + }, + "DeleteNotebookInstanceLifecycleConfig":{ + "name":"DeleteNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNotebookInstanceLifecycleConfigInput"}, + "documentation":"

    Deletes a notebook instance lifecycle configuration.

    " + }, + "DeleteTags":{ + "name":"DeleteTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTagsInput"}, + "output":{"shape":"DeleteTagsOutput"}, + "documentation":"

    Deletes the specified tags from an Amazon SageMaker resource.

    To list a resource's tags, use the ListTags API.

    When you call this API to delete tags from a hyperparameter tuning job, the deleted tags are not removed from training jobs that the hyperparameter tuning job launched before you called this API.

    " + }, + "DeleteTrial":{ + "name":"DeleteTrial", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrialRequest"}, + "output":{"shape":"DeleteTrialResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes the specified trial. All trial components that make up the trial must be deleted first. Use the DescribeTrialComponent API to get the list of trial components.

    " + }, + "DeleteTrialComponent":{ + "name":"DeleteTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTrialComponentRequest"}, + "output":{"shape":"DeleteTrialComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes the specified trial component. A trial component must be disassociated from all trials before the trial component can be deleted. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

    " + }, + "DeleteUserProfile":{ + "name":"DeleteUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserProfileRequest"}, + "errors":[ + {"shape":"ResourceInUse"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Deletes a user profile.

    " + }, + "DeleteWorkteam":{ + "name":"DeleteWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkteamRequest"}, + "output":{"shape":"DeleteWorkteamResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Deletes an existing work team. This operation can't be undone.

    " + }, + "DescribeAlgorithm":{ + "name":"DescribeAlgorithm", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAlgorithmInput"}, + "output":{"shape":"DescribeAlgorithmOutput"}, + "documentation":"

    Returns a description of the specified algorithm that is in your account.

    " + }, + "DescribeApp":{ + "name":"DescribeApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAppRequest"}, + "output":{"shape":"DescribeAppResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Describes the app.

    " + }, + "DescribeAutoMLJob":{ + "name":"DescribeAutoMLJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAutoMLJobRequest"}, + "output":{"shape":"DescribeAutoMLJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about an Amazon SageMaker job.

    " + }, + "DescribeCodeRepository":{ + "name":"DescribeCodeRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCodeRepositoryInput"}, + "output":{"shape":"DescribeCodeRepositoryOutput"}, + "documentation":"

    Gets details about the specified Git repository.

    " + }, + "DescribeCompilationJob":{ + "name":"DescribeCompilationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCompilationJobRequest"}, + "output":{"shape":"DescribeCompilationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about a model compilation job.

    To create a model compilation job, use CreateCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs.

    " + }, + "DescribeDomain":{ + "name":"DescribeDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDomainRequest"}, + "output":{"shape":"DescribeDomainResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    The desciption of the domain.

    " + }, + "DescribeEndpoint":{ + "name":"DescribeEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointInput"}, + "output":{"shape":"DescribeEndpointOutput"}, + "documentation":"

    Returns the description of an endpoint.

    " + }, + "DescribeEndpointConfig":{ + "name":"DescribeEndpointConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEndpointConfigInput"}, + "output":{"shape":"DescribeEndpointConfigOutput"}, + "documentation":"

    Returns the description of an endpoint configuration created using the CreateEndpointConfig API.

    " + }, + "DescribeExperiment":{ + "name":"DescribeExperiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExperimentRequest"}, + "output":{"shape":"DescribeExperimentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Provides a list of an experiment's properties.

    " + }, + "DescribeFlowDefinition":{ + "name":"DescribeFlowDefinition", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFlowDefinitionRequest"}, + "output":{"shape":"DescribeFlowDefinitionResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about the specified flow definition.

    " + }, + "DescribeHumanTaskUi":{ + "name":"DescribeHumanTaskUi", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHumanTaskUiRequest"}, + "output":{"shape":"DescribeHumanTaskUiResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about the requested human task user interface.

    " + }, + "DescribeHyperParameterTuningJob":{ + "name":"DescribeHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeHyperParameterTuningJobRequest"}, + "output":{"shape":"DescribeHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Gets a description of a hyperparameter tuning job.

    " + }, + "DescribeLabelingJob":{ + "name":"DescribeLabelingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeLabelingJobRequest"}, + "output":{"shape":"DescribeLabelingJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Gets information about a labeling job.

    " + }, + "DescribeModel":{ + "name":"DescribeModel", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeModelInput"}, + "output":{"shape":"DescribeModelOutput"}, + "documentation":"

    Describes a model that you created using the CreateModel API.

    " + }, + "DescribeModelPackage":{ + "name":"DescribeModelPackage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeModelPackageInput"}, + "output":{"shape":"DescribeModelPackageOutput"}, + "documentation":"

    Returns a description of the specified model package, which is used to create Amazon SageMaker models or list them on AWS Marketplace.

    To create models in Amazon SageMaker, buyers can subscribe to model packages listed on AWS Marketplace.

    " + }, + "DescribeMonitoringSchedule":{ + "name":"DescribeMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMonitoringScheduleRequest"}, + "output":{"shape":"DescribeMonitoringScheduleResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Describes the schedule for a monitoring job.

    " + }, + "DescribeNotebookInstance":{ + "name":"DescribeNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNotebookInstanceInput"}, + "output":{"shape":"DescribeNotebookInstanceOutput"}, + "documentation":"

    Returns information about a notebook instance.

    " + }, + "DescribeNotebookInstanceLifecycleConfig":{ + "name":"DescribeNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"DescribeNotebookInstanceLifecycleConfigOutput"}, + "documentation":"

    Returns a description of a notebook instance lifecycle configuration.

    For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "DescribeProcessingJob":{ + "name":"DescribeProcessingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProcessingJobRequest"}, + "output":{"shape":"DescribeProcessingJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns a description of a processing job.

    " + }, + "DescribeSubscribedWorkteam":{ + "name":"DescribeSubscribedWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubscribedWorkteamRequest"}, + "output":{"shape":"DescribeSubscribedWorkteamResponse"}, + "documentation":"

    Gets information about a work team provided by a vendor. It returns details about the subscription with a vendor in the AWS Marketplace.

    " + }, + "DescribeTrainingJob":{ + "name":"DescribeTrainingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrainingJobRequest"}, + "output":{"shape":"DescribeTrainingJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about a training job.

    " + }, + "DescribeTransformJob":{ + "name":"DescribeTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTransformJobRequest"}, + "output":{"shape":"DescribeTransformJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Returns information about a transform job.

    " + }, + "DescribeTrial":{ + "name":"DescribeTrial", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrialRequest"}, + "output":{"shape":"DescribeTrialResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Provides a list of a trial's properties.

    " + }, + "DescribeTrialComponent":{ + "name":"DescribeTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTrialComponentRequest"}, + "output":{"shape":"DescribeTrialComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Provides a list of a trials component's properties.

    " + }, + "DescribeUserProfile":{ + "name":"DescribeUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserProfileRequest"}, + "output":{"shape":"DescribeUserProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Describes the user profile.

    " + }, + "DescribeWorkforce":{ + "name":"DescribeWorkforce", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWorkforceRequest"}, + "output":{"shape":"DescribeWorkforceResponse"}, + "documentation":"

    Lists private workforce information, including workforce name, Amazon Resource Name (ARN), and, if applicable, allowed IP address ranges (CIDRs). Allowable IP address ranges are the IP addresses that workers can use to access tasks.

    This operation applies only to private workforces.

    " + }, + "DescribeWorkteam":{ + "name":"DescribeWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWorkteamRequest"}, + "output":{"shape":"DescribeWorkteamResponse"}, + "documentation":"

    Gets information about a specific work team. You can see information such as the create date, the last updated date, membership information, and the work team's Amazon Resource Name (ARN).

    " + }, + "DisassociateTrialComponent":{ + "name":"DisassociateTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTrialComponentRequest"}, + "output":{"shape":"DisassociateTrialComponentResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Disassociates a trial component from a trial. This doesn't effect other trials the component is associated with. Before you can delete a component, you must disassociate the component from all trials it is associated with. To associate a trial component with a trial, call the AssociateTrialComponent API.

    To get a list of the trials a component is associated with, use the Search API. Specify ExperimentTrialComponent for the Resource parameter. The list appears in the response under Results.TrialComponent.Parents.

    " + }, + "GetSearchSuggestions":{ + "name":"GetSearchSuggestions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSearchSuggestionsRequest"}, + "output":{"shape":"GetSearchSuggestionsResponse"}, + "documentation":"

    An auto-complete API for the search functionality in the Amazon SageMaker console. It returns suggestions of possible matches for the property name to use in Search queries. Provides suggestions for HyperParameters, Tags, and Metrics.

    " + }, + "ListAlgorithms":{ + "name":"ListAlgorithms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAlgorithmsInput"}, + "output":{"shape":"ListAlgorithmsOutput"}, + "documentation":"

    Lists the machine learning algorithms that have been created.

    " + }, + "ListApps":{ + "name":"ListApps", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAppsRequest"}, + "output":{"shape":"ListAppsResponse"}, + "documentation":"

    Lists apps.

    " + }, + "ListAutoMLJobs":{ + "name":"ListAutoMLJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAutoMLJobsRequest"}, + "output":{"shape":"ListAutoMLJobsResponse"}, + "documentation":"

    Request a list of jobs.

    " + }, + "ListCandidatesForAutoMLJob":{ + "name":"ListCandidatesForAutoMLJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCandidatesForAutoMLJobRequest"}, + "output":{"shape":"ListCandidatesForAutoMLJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    List the Candidates created for the job.

    " + }, + "ListCodeRepositories":{ + "name":"ListCodeRepositories", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCodeRepositoriesInput"}, + "output":{"shape":"ListCodeRepositoriesOutput"}, + "documentation":"

    Gets a list of the Git repositories in your account.

    " + }, + "ListCompilationJobs":{ + "name":"ListCompilationJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCompilationJobsRequest"}, + "output":{"shape":"ListCompilationJobsResponse"}, + "documentation":"

    Lists model compilation jobs that satisfy various filters.

    To create a model compilation job, use CreateCompilationJob. To get information about a particular model compilation job you have created, use DescribeCompilationJob.

    " + }, + "ListDomains":{ + "name":"ListDomains", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDomainsRequest"}, + "output":{"shape":"ListDomainsResponse"}, + "documentation":"

    Lists the domains.

    " + }, + "ListEndpointConfigs":{ + "name":"ListEndpointConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEndpointConfigsInput"}, + "output":{"shape":"ListEndpointConfigsOutput"}, + "documentation":"

    Lists endpoint configurations.

    " + }, + "ListEndpoints":{ + "name":"ListEndpoints", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListEndpointsInput"}, + "output":{"shape":"ListEndpointsOutput"}, + "documentation":"

    Lists endpoints.

    " + }, + "ListExperiments":{ + "name":"ListExperiments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExperimentsRequest"}, + "output":{"shape":"ListExperimentsResponse"}, + "documentation":"

    Lists all the experiments in your account. The list can be filtered to show only experiments that were created in a specific time range. The list can be sorted by experiment name or creation time.

    " + }, + "ListFlowDefinitions":{ + "name":"ListFlowDefinitions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFlowDefinitionsRequest"}, + "output":{"shape":"ListFlowDefinitionsResponse"}, + "documentation":"

    Returns information about the flow definitions in your account.

    " + }, + "ListHumanTaskUis":{ + "name":"ListHumanTaskUis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHumanTaskUisRequest"}, + "output":{"shape":"ListHumanTaskUisResponse"}, + "documentation":"

    Returns information about the human task user interfaces in your account.

    " + }, + "ListHyperParameterTuningJobs":{ + "name":"ListHyperParameterTuningJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHyperParameterTuningJobsRequest"}, + "output":{"shape":"ListHyperParameterTuningJobsResponse"}, + "documentation":"

    Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account.

    " + }, + "ListLabelingJobs":{ + "name":"ListLabelingJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLabelingJobsRequest"}, + "output":{"shape":"ListLabelingJobsResponse"}, + "documentation":"

    Gets a list of labeling jobs.

    " + }, + "ListLabelingJobsForWorkteam":{ + "name":"ListLabelingJobsForWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLabelingJobsForWorkteamRequest"}, + "output":{"shape":"ListLabelingJobsForWorkteamResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Gets a list of labeling jobs assigned to a specified work team.

    " + }, + "ListModelPackages":{ + "name":"ListModelPackages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListModelPackagesInput"}, + "output":{"shape":"ListModelPackagesOutput"}, + "documentation":"

    Lists the model packages that have been created.

    " + }, + "ListModels":{ + "name":"ListModels", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListModelsInput"}, + "output":{"shape":"ListModelsOutput"}, + "documentation":"

    Lists models created with the CreateModel API.

    " + }, + "ListMonitoringExecutions":{ + "name":"ListMonitoringExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMonitoringExecutionsRequest"}, + "output":{"shape":"ListMonitoringExecutionsResponse"}, + "documentation":"

    Returns list of all monitoring job executions.

    " + }, + "ListMonitoringSchedules":{ + "name":"ListMonitoringSchedules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMonitoringSchedulesRequest"}, + "output":{"shape":"ListMonitoringSchedulesResponse"}, + "documentation":"

    Returns list of all monitoring schedules.

    " + }, + "ListNotebookInstanceLifecycleConfigs":{ + "name":"ListNotebookInstanceLifecycleConfigs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNotebookInstanceLifecycleConfigsInput"}, + "output":{"shape":"ListNotebookInstanceLifecycleConfigsOutput"}, + "documentation":"

    Lists notebook instance lifestyle configurations created with the CreateNotebookInstanceLifecycleConfig API.

    " + }, + "ListNotebookInstances":{ + "name":"ListNotebookInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNotebookInstancesInput"}, + "output":{"shape":"ListNotebookInstancesOutput"}, + "documentation":"

    Returns a list of the Amazon SageMaker notebook instances in the requester's account in an AWS Region.

    " + }, + "ListProcessingJobs":{ + "name":"ListProcessingJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProcessingJobsRequest"}, + "output":{"shape":"ListProcessingJobsResponse"}, + "documentation":"

    Lists processing jobs that satisfy various filters.

    " + }, + "ListSubscribedWorkteams":{ + "name":"ListSubscribedWorkteams", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSubscribedWorkteamsRequest"}, + "output":{"shape":"ListSubscribedWorkteamsResponse"}, + "documentation":"

    Gets a list of the work teams that you are subscribed to in the AWS Marketplace. The list may be empty if no work team satisfies the filter specified in the NameContains parameter.

    " + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsInput"}, + "output":{"shape":"ListTagsOutput"}, + "documentation":"

    Returns the tags for the specified Amazon SageMaker resource.

    " + }, + "ListTrainingJobs":{ + "name":"ListTrainingJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrainingJobsRequest"}, + "output":{"shape":"ListTrainingJobsResponse"}, + "documentation":"

    Lists training jobs.

    " + }, + "ListTrainingJobsForHyperParameterTuningJob":{ + "name":"ListTrainingJobsForHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrainingJobsForHyperParameterTuningJobRequest"}, + "output":{"shape":"ListTrainingJobsForHyperParameterTuningJobResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Gets a list of TrainingJobSummary objects that describe the training jobs that a hyperparameter tuning job launched.

    " + }, + "ListTransformJobs":{ + "name":"ListTransformJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTransformJobsRequest"}, + "output":{"shape":"ListTransformJobsResponse"}, + "documentation":"

    Lists transform jobs.

    " + }, + "ListTrialComponents":{ + "name":"ListTrialComponents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrialComponentsRequest"}, + "output":{"shape":"ListTrialComponentsResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Lists the trial components in your account. You can sort the list by trial component name or creation time. You can filter the list to show only components that were created in a specific time range. You can also filter on one of the following:

    • ExperimentName

    • SourceArn

    • TrialName

    " + }, + "ListTrials":{ + "name":"ListTrials", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTrialsRequest"}, + "output":{"shape":"ListTrialsResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Lists the trials in your account. Specify an experiment name to limit the list to the trials that are part of that experiment. Specify a trial component name to limit the list to the trials that associated with that trial component. The list can be filtered to show only trials that were created in a specific time range. The list can be sorted by trial name or creation time.

    " + }, + "ListUserProfiles":{ + "name":"ListUserProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUserProfilesRequest"}, + "output":{"shape":"ListUserProfilesResponse"}, + "documentation":"

    Lists user profiles.

    " + }, + "ListWorkteams":{ + "name":"ListWorkteams", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWorkteamsRequest"}, + "output":{"shape":"ListWorkteamsResponse"}, + "documentation":"

    Gets a list of work teams that you have defined in a region. The list may be empty if no work team satisfies the filter specified in the NameContains parameter.

    " + }, + "RenderUiTemplate":{ + "name":"RenderUiTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RenderUiTemplateRequest"}, + "output":{"shape":"RenderUiTemplateResponse"}, + "documentation":"

    Renders the UI template so that you can preview the worker's experience.

    " + }, + "Search":{ + "name":"Search", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchRequest"}, + "output":{"shape":"SearchResponse"}, + "documentation":"

    Finds Amazon SageMaker resources that match a search query. Matching resources are returned as a list of SearchRecord objects in the response. You can sort the search results by any resource property in a ascending or descending order.

    You can query against the following value types: numeric, text, Boolean, and timestamp.

    " + }, + "StartMonitoringSchedule":{ + "name":"StartMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMonitoringScheduleRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Starts a previously stopped monitoring schedule.

    New monitoring schedules are immediately started after creation.

    " + }, + "StartNotebookInstance":{ + "name":"StartNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartNotebookInstanceInput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Launches an ML compute instance with the latest version of the libraries and attaches your ML storage volume. After configuring the notebook instance, Amazon SageMaker sets the notebook instance status to InService. A notebook instance's status must be InService before you can connect to your Jupyter notebook.

    " + }, + "StopAutoMLJob":{ + "name":"StopAutoMLJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAutoMLJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    A method for forcing the termination of a running job.

    " + }, + "StopCompilationJob":{ + "name":"StopCompilationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopCompilationJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a model compilation job.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal. This gracefully shuts the job down. If the job hasn't stopped, it sends the SIGKILL signal.

    When it receives a StopCompilationJob request, Amazon SageMaker changes the CompilationJobSummary$CompilationJobStatus of the job to Stopping. After Amazon SageMaker stops the job, it sets the CompilationJobSummary$CompilationJobStatus to Stopped.

    " + }, + "StopHyperParameterTuningJob":{ + "name":"StopHyperParameterTuningJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopHyperParameterTuningJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a running hyperparameter tuning job and all running training jobs that the tuning job launched.

    All model artifacts output from the training jobs are stored in Amazon Simple Storage Service (Amazon S3). All data that the training jobs write to Amazon CloudWatch Logs are still available in CloudWatch. After the tuning job moves to the Stopped state, it releases all reserved resources for the tuning job.

    " + }, + "StopLabelingJob":{ + "name":"StopLabelingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopLabelingJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a running labeling job. A job that is stopped cannot be restarted. Any results obtained before the job is stopped are placed in the Amazon S3 output bucket.

    " + }, + "StopMonitoringSchedule":{ + "name":"StopMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopMonitoringScheduleRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a previously started monitoring schedule.

    " + }, + "StopNotebookInstance":{ + "name":"StopNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopNotebookInstanceInput"}, + "documentation":"

    Terminates the ML compute instance. Before terminating the instance, Amazon SageMaker disconnects the ML storage volume from it. Amazon SageMaker preserves the ML storage volume. Amazon SageMaker stops charging you for the ML compute instance when you call StopNotebookInstance.

    To access data on the ML storage volume for a notebook instance that has been terminated, call the StartNotebookInstance API. StartNotebookInstance launches another ML compute instance, configures it, and attaches the preserved ML storage volume so you can continue your work.

    " + }, + "StopProcessingJob":{ + "name":"StopProcessingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopProcessingJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a processing job.

    " + }, + "StopTrainingJob":{ + "name":"StopTrainingJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTrainingJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a training job. To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms might use this 120-second window to save the model artifacts, so the results of the training is not lost.

    When it receives a StopTrainingJob request, Amazon SageMaker changes the status of the job to Stopping. After Amazon SageMaker stops the job, it sets the status to Stopped.

    " + }, + "StopTransformJob":{ + "name":"StopTransformJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTransformJobRequest"}, + "errors":[ + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Stops a transform job.

    When Amazon SageMaker receives a StopTransformJob request, the status of the job changes to Stopping. After Amazon SageMaker stops the job, the status is set to Stopped. When you stop a transform job before it is completed, Amazon SageMaker doesn't store the job's output in Amazon S3.

    " + }, + "UpdateCodeRepository":{ + "name":"UpdateCodeRepository", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCodeRepositoryInput"}, + "output":{"shape":"UpdateCodeRepositoryOutput"}, + "documentation":"

    Updates the specified Git repository with the specified values.

    " + }, + "UpdateDomain":{ + "name":"UpdateDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDomainRequest"}, + "output":{"shape":"UpdateDomainResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Updates a domain. Changes will impact all of the people in the domain.

    " + }, + "UpdateEndpoint":{ + "name":"UpdateEndpoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEndpointInput"}, + "output":{"shape":"UpdateEndpointOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Deploys the new EndpointConfig specified in the request, switches to using newly created endpoint, and then deletes resources provisioned for the endpoint using the previous EndpointConfig (there is no availability loss).

    When Amazon SageMaker receives the request, it sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

    You must not delete an EndpointConfig in use by an endpoint that is live or while the UpdateEndpoint or CreateEndpoint operations are being performed on the endpoint. To update an endpoint, you must create a new EndpointConfig.

    " + }, + "UpdateEndpointWeightsAndCapacities":{ + "name":"UpdateEndpointWeightsAndCapacities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEndpointWeightsAndCapacitiesInput"}, + "output":{"shape":"UpdateEndpointWeightsAndCapacitiesOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Updates variant weight of one or more variants associated with an existing endpoint, or capacity of one variant associated with an existing endpoint. When it receives the request, Amazon SageMaker sets the endpoint status to Updating. After updating the endpoint, it sets the status to InService. To check the status of an endpoint, use the DescribeEndpoint API.

    " + }, + "UpdateExperiment":{ + "name":"UpdateExperiment", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateExperimentRequest"}, + "output":{"shape":"UpdateExperimentResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Adds, updates, or removes the description of an experiment. Updates the display name of an experiment.

    " + }, + "UpdateMonitoringSchedule":{ + "name":"UpdateMonitoringSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMonitoringScheduleRequest"}, + "output":{"shape":"UpdateMonitoringScheduleResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Updates a previously created schedule.

    " + }, + "UpdateNotebookInstance":{ + "name":"UpdateNotebookInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNotebookInstanceInput"}, + "output":{"shape":"UpdateNotebookInstanceOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Updates a notebook instance. NotebookInstance updates include upgrading or downgrading the ML compute instance used for your notebook instance to accommodate changes in your workload requirements.

    " + }, + "UpdateNotebookInstanceLifecycleConfig":{ + "name":"UpdateNotebookInstanceLifecycleConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNotebookInstanceLifecycleConfigInput"}, + "output":{"shape":"UpdateNotebookInstanceLifecycleConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Updates a notebook instance lifecycle configuration created with the CreateNotebookInstanceLifecycleConfig API.

    " + }, + "UpdateTrial":{ + "name":"UpdateTrial", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTrialRequest"}, + "output":{"shape":"UpdateTrialResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Updates the display name of a trial.

    " + }, + "UpdateTrialComponent":{ + "name":"UpdateTrialComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTrialComponentRequest"}, + "output":{"shape":"UpdateTrialComponentResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Updates one or more properties of a trial component.

    " + }, + "UpdateUserProfile":{ + "name":"UpdateUserProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserProfileRequest"}, + "output":{"shape":"UpdateUserProfileResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Updates a user profile.

    " + }, + "UpdateWorkforce":{ + "name":"UpdateWorkforce", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWorkforceRequest"}, + "output":{"shape":"UpdateWorkforceResponse"}, + "documentation":"

    Restricts access to tasks assigned to workers in the specified workforce to those within specific ranges of IP addresses. You specify allowed IP addresses by creating a list of up to four CIDRs.

    By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied access and get a Not Found error message on the worker portal. After restricting access with this operation, you can see the allowed IP values for a private workforce with the operation.

    This operation applies only to private workforces.

    " + }, + "UpdateWorkteam":{ + "name":"UpdateWorkteam", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWorkteamRequest"}, + "output":{"shape":"UpdateWorkteamResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ], + "documentation":"

    Updates an existing work team with new member definitions or description.

    " + } + }, + "shapes":{ + "Accept":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "AccountId":{ + "type":"string", + "pattern":"^\\d+$" + }, + "AddTagsInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to tag.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of Tag objects. Each tag is a key-value pair. Only the key parameter is required. If you don't specify a value, Amazon SageMaker sets the value to an empty string.

    " + } + } + }, + "AddTagsOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags associated with the Amazon SageMaker resource.

    " + } + } + }, + "AdditionalCodeRepositoryNamesOrUrls":{ + "type":"list", + "member":{"shape":"CodeRepositoryNameOrUrl"}, + "max":3 + }, + "AlgorithmArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:algorithm/.*" + }, + "AlgorithmImage":{ + "type":"string", + "max":255, + "pattern":".*" + }, + "AlgorithmSortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "AlgorithmSpecification":{ + "type":"structure", + "required":["TrainingInputMode"], + "members":{ + "TrainingImage":{ + "shape":"AlgorithmImage", + "documentation":"

    The registry path of the Docker image that contains the training algorithm. For information about docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

    " + }, + "AlgorithmName":{ + "shape":"ArnOrName", + "documentation":"

    The name of the algorithm resource to use for the training job. This must be an algorithm resource that you created or subscribe to on AWS Marketplace. If you specify a value for this parameter, you can't specify a value for TrainingImage.

    " + }, + "TrainingInputMode":{ + "shape":"TrainingInputMode", + "documentation":"

    The input mode that the algorithm supports. For the input modes that Amazon SageMaker algorithms support, see Algorithms. If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

    In File mode, make sure you provision ML storage volume with sufficient capacity to accommodate the data download from S3. In addition to the training data, the ML storage volume also stores the output model. The algorithm container use ML storage volume to also store intermediate information, if any.

    For distributed algorithms using File mode, training data is distributed uniformly, and your training duration is predictable if the input data objects size is approximately same. Amazon SageMaker does not split the files any further for model training. If the object sizes are skewed, training won't be optimal as the data distribution is also skewed where one host in a training cluster is overloaded, thus becoming bottleneck in training.

    " + }, + "MetricDefinitions":{ + "shape":"MetricDefinitionList", + "documentation":"

    A list of metric definition objects. Each object specifies the metric name and regular expressions used to parse algorithm logs. Amazon SageMaker publishes each metric to Amazon CloudWatch.

    " + }, + "EnableSageMakerMetricsTimeSeries":{ + "shape":"Boolean", + "documentation":"

    To generate and save time-series metrics during training, set to true. The default is false and time-series metrics aren't generated except in the following cases:

    " + } + }, + "documentation":"

    Specifies the training algorithm to use in a CreateTrainingJob request.

    For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about using your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

    " + }, + "AlgorithmStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Completed", + "Failed", + "Deleting" + ] + }, + "AlgorithmStatusDetails":{ + "type":"structure", + "members":{ + "ValidationStatuses":{ + "shape":"AlgorithmStatusItemList", + "documentation":"

    The status of algorithm validation.

    " + }, + "ImageScanStatuses":{ + "shape":"AlgorithmStatusItemList", + "documentation":"

    The status of the scan of the algorithm's Docker image container.

    " + } + }, + "documentation":"

    Specifies the validation and image scan statuses of the algorithm.

    " + }, + "AlgorithmStatusItem":{ + "type":"structure", + "required":[ + "Name", + "Status" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the algorithm for which the overall status is being reported.

    " + }, + "Status":{ + "shape":"DetailedAlgorithmStatus", + "documentation":"

    The current status.

    " + }, + "FailureReason":{ + "shape":"String", + "documentation":"

    if the overall status is Failed, the reason for the failure.

    " + } + }, + "documentation":"

    Represents the overall status of an algorithm.

    " + }, + "AlgorithmStatusItemList":{ + "type":"list", + "member":{"shape":"AlgorithmStatusItem"} + }, + "AlgorithmSummary":{ + "type":"structure", + "required":[ + "AlgorithmName", + "AlgorithmArn", + "CreationTime", + "AlgorithmStatus" + ], + "members":{ + "AlgorithmName":{ + "shape":"EntityName", + "documentation":"

    The name of the algorithm that is described by the summary.

    " + }, + "AlgorithmArn":{ + "shape":"AlgorithmArn", + "documentation":"

    The Amazon Resource Name (ARN) of the algorithm.

    " + }, + "AlgorithmDescription":{ + "shape":"EntityDescription", + "documentation":"

    A brief description of the algorithm.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp that shows when the algorithm was created.

    " + }, + "AlgorithmStatus":{ + "shape":"AlgorithmStatus", + "documentation":"

    The overall status of the algorithm.

    " + } + }, + "documentation":"

    Provides summary information about an algorithm.

    " + }, + "AlgorithmSummaryList":{ + "type":"list", + "member":{"shape":"AlgorithmSummary"} + }, + "AlgorithmValidationProfile":{ + "type":"structure", + "required":[ + "ProfileName", + "TrainingJobDefinition" + ], + "members":{ + "ProfileName":{ + "shape":"EntityName", + "documentation":"

    The name of the profile for the algorithm. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

    " + }, + "TrainingJobDefinition":{ + "shape":"TrainingJobDefinition", + "documentation":"

    The TrainingJobDefinition object that describes the training job that Amazon SageMaker runs to validate your algorithm.

    " + }, + "TransformJobDefinition":{ + "shape":"TransformJobDefinition", + "documentation":"

    The TransformJobDefinition object that describes the transform job that Amazon SageMaker runs to validate your algorithm.

    " + } + }, + "documentation":"

    Defines a training job and a batch transform job that Amazon SageMaker runs to validate your algorithm.

    The data provided in the validation profile is made available to your buyers on AWS Marketplace.

    " + }, + "AlgorithmValidationProfiles":{ + "type":"list", + "member":{"shape":"AlgorithmValidationProfile"}, + "max":1, + "min":1 + }, + "AlgorithmValidationSpecification":{ + "type":"structure", + "required":[ + "ValidationRole", + "ValidationProfiles" + ], + "members":{ + "ValidationRole":{ + "shape":"RoleArn", + "documentation":"

    The IAM roles that Amazon SageMaker uses to run the training jobs.

    " + }, + "ValidationProfiles":{ + "shape":"AlgorithmValidationProfiles", + "documentation":"

    An array of AlgorithmValidationProfile objects, each of which specifies a training job and batch transform job that Amazon SageMaker runs to validate your algorithm.

    " + } + }, + "documentation":"

    Specifies configurations for one or more training jobs that Amazon SageMaker runs to test the algorithm.

    " + }, + "AnnotationConsolidationConfig":{ + "type":"structure", + "required":["AnnotationConsolidationLambdaArn"], + "members":{ + "AnnotationConsolidationLambdaArn":{ + "shape":"LambdaFunctionArn", + "documentation":"

    The Amazon Resource Name (ARN) of a Lambda function implements the logic for annotation consolidation.

    For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:

    • Bounding box - Finds the most similar boxes from different workers based on the Jaccard index of the boxes.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-BoundingBox

      arn:aws:lambda:us-east-2:266458841044:function:ACS-BoundingBox

      arn:aws:lambda:us-west-2:081040173940:function:ACS-BoundingBox

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-BoundingBox

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-BoundingBox

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-BoundingBox

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-BoundingBox

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-BoundingBox

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-BoundingBox

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-BoundingBox

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-BoundingBox

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-BoundingBox

    • Image classification - Uses a variant of the Expectation Maximization approach to estimate the true class of an image based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClass

      arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClass

      arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClass

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClass

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClass

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClass

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClass

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClass

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClass

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClass

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClass

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClass

    • Multi-label image classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of an image based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:us-east-2:266458841044:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:us-west-2:081040173940:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-ImageMultiClassMultiLabel

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-ImageMultiClassMultiLabel

    • Semantic segmentation - Treats each pixel in an image as a multi-class classification and treats pixel annotations from workers as \"votes\" for the correct label.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-SemanticSegmentation

      arn:aws:lambda:us-east-2:266458841044:function:ACS-SemanticSegmentation

      arn:aws:lambda:us-west-2:081040173940:function:ACS-SemanticSegmentation

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-SemanticSegmentation

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-SemanticSegmentation

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-SemanticSegmentation

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-SemanticSegmentation

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-SemanticSegmentation

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-SemanticSegmentation

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-SemanticSegmentation

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-SemanticSegmentation

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-SemanticSegmentation

    • Text classification - Uses a variant of the Expectation Maximization approach to estimate the true class of text based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClass

      arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClass

      arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClass

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClass

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClass

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClass

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClass

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClass

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClass

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClass

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClass

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClass

    • Multi-label text classification - Uses a variant of the Expectation Maximization approach to estimate the true classes of text based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:us-east-2:266458841044:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:us-west-2:081040173940:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-TextMultiClassMultiLabel

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-TextMultiClassMultiLabel

    • Named entity recognition - Groups similar selections and calculates aggregate boundaries, resolving to most-assigned label.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-NamedEntityRecognition

      arn:aws:lambda:us-east-2:266458841044:function:ACS-NamedEntityRecognition

      arn:aws:lambda:us-west-2:081040173940:function:ACS-NamedEntityRecognition

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-NamedEntityRecognition

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-NamedEntityRecognition

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-NamedEntityRecognition

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-NamedEntityRecognition

    • Bounding box verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgement for bounding box labels based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationBoundingBox

      arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationBoundingBox

      arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationBoundingBox

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationBoundingBox

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationBoundingBox

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationBoundingBox

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationBoundingBox

    • Semantic segmentation verification - Uses a variant of the Expectation Maximization approach to estimate the true class of verification judgment for semantic segmentation labels based on annotations from individual workers.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:us-east-2:266458841044:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:us-west-2:081040173940:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-VerificationSemanticSegmentation

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-VerificationSemanticSegmentation

    • Bounding box adjustment - Finds the most similar boxes from different workers based on the Jaccard index of the adjusted annotations.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentBoundingBox

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentBoundingBox

    • Semantic segmentation adjustment - Treats each pixel in an image as a multi-class classification and treats pixel adjusted annotations from workers as \"votes\" for the correct label.

      arn:aws:lambda:us-east-1:432418664414:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:us-east-2:266458841044:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:us-west-2:081040173940:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:eu-west-1:568282634449:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ap-northeast-1:477331159723:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ap-southeast-2:454466003867:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ap-south-1:565803892007:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:eu-central-1:203001061592:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ap-northeast-2:845288260483:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:eu-west-2:487402164563:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ap-southeast-1:377565633583:function:ACS-AdjustmentSemanticSegmentation

      arn:aws:lambda:ca-central-1:918755190332:function:ACS-AdjustmentSemanticSegmentation

    For more information, see Annotation Consolidation.

    " + } + }, + "documentation":"

    Configures how labels are consolidated across human workers.

    " + }, + "AppArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:app/.*" + }, + "AppDetails":{ + "type":"structure", + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "AppType":{ + "shape":"AppType", + "documentation":"

    The type of app.

    " + }, + "AppName":{ + "shape":"AppName", + "documentation":"

    The name of the app.

    " + }, + "Status":{ + "shape":"AppStatus", + "documentation":"

    The status.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + } + }, + "documentation":"

    The app's details.

    " + }, + "AppInstanceType":{ + "type":"string", + "enum":[ + "system", + "ml.t3.micro", + "ml.t3.small", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge" + ] + }, + "AppList":{ + "type":"list", + "member":{"shape":"AppDetails"} + }, + "AppName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "AppSortKey":{ + "type":"string", + "enum":["CreationTime"] + }, + "AppSpecification":{ + "type":"structure", + "required":["ImageUri"], + "members":{ + "ImageUri":{ + "shape":"ImageUri", + "documentation":"

    The container image to be run by the processing job.

    " + }, + "ContainerEntrypoint":{ + "shape":"ContainerEntrypoint", + "documentation":"

    The entrypoint for a container used to run a processing job.

    " + }, + "ContainerArguments":{ + "shape":"ContainerArguments", + "documentation":"

    The arguments for a container used to run a processing job.

    " + } + }, + "documentation":"

    Configuration to run a processing job in a specified container image.

    " + }, + "AppStatus":{ + "type":"string", + "enum":[ + "Deleted", + "Deleting", + "Failed", + "InService", + "Pending" + ] + }, + "AppType":{ + "type":"string", + "enum":[ + "JupyterServer", + "KernelGateway", + "TensorBoard" + ] + }, + "ArnOrName":{ + "type":"string", + "max":170, + "min":1, + "pattern":"(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:[a-z\\-]*\\/)?([a-zA-Z0-9]([a-zA-Z0-9-]){0,62})(?The name of the component to associated with the trial.

    " + }, + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial to associate with.

    " + } + } + }, + "AssociateTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The ARN of the trial component.

    " + }, + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + } + } + }, + "AttributeName":{ + "type":"string", + "max":256, + "min":1, + "pattern":".+" + }, + "AttributeNames":{ + "type":"list", + "member":{"shape":"AttributeName"}, + "max":16 + }, + "AuthMode":{ + "type":"string", + "enum":[ + "SSO", + "IAM" + ] + }, + "AutoMLCandidate":{ + "type":"structure", + "required":[ + "CandidateName", + "ObjectiveStatus", + "CandidateSteps", + "CandidateStatus", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "CandidateName":{ + "shape":"CandidateName", + "documentation":"

    The candidate name.

    " + }, + "FinalAutoMLJobObjectiveMetric":{"shape":"FinalAutoMLJobObjectiveMetric"}, + "ObjectiveStatus":{ + "shape":"ObjectiveStatus", + "documentation":"

    The objective status.

    " + }, + "CandidateSteps":{ + "shape":"CandidateSteps", + "documentation":"

    The candidate's steps.

    " + }, + "CandidateStatus":{ + "shape":"CandidateStatus", + "documentation":"

    The candidate's status.

    " + }, + "InferenceContainers":{ + "shape":"AutoMLContainerDefinitions", + "documentation":"

    The inference containers.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The creation time.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end time.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The last modified time.

    " + }, + "FailureReason":{ + "shape":"AutoMLFailureReason", + "documentation":"

    The failure reason.

    " + } + }, + "documentation":"

    An AutoPilot job will return recommendations, or candidates. Each candidate has futher details about the steps involed, and the status.

    " + }, + "AutoMLCandidateStep":{ + "type":"structure", + "required":[ + "CandidateStepType", + "CandidateStepArn", + "CandidateStepName" + ], + "members":{ + "CandidateStepType":{ + "shape":"CandidateStepType", + "documentation":"

    Whether the Candidate is at the transform, training, or processing step.

    " + }, + "CandidateStepArn":{ + "shape":"CandidateStepArn", + "documentation":"

    The ARN for the Candidate's step.

    " + }, + "CandidateStepName":{ + "shape":"CandidateStepName", + "documentation":"

    The name for the Candidate's step.

    " + } + }, + "documentation":"

    Information about the steps for a Candidate, and what step it is working on.

    " + }, + "AutoMLCandidates":{ + "type":"list", + "member":{"shape":"AutoMLCandidate"} + }, + "AutoMLChannel":{ + "type":"structure", + "required":[ + "DataSource", + "TargetAttributeName" + ], + "members":{ + "DataSource":{ + "shape":"AutoMLDataSource", + "documentation":"

    The data source.

    " + }, + "CompressionType":{ + "shape":"CompressionType", + "documentation":"

    You can use Gzip or None. The default value is None.

    " + }, + "TargetAttributeName":{ + "shape":"TargetAttributeName", + "documentation":"

    The name of the target variable in supervised learning, a.k.a. 'y'.

    " + } + }, + "documentation":"

    Similar to Channel. A channel is a named input source that training algorithms can consume. Refer to Channel for detailed descriptions.

    " + }, + "AutoMLContainerDefinition":{ + "type":"structure", + "required":[ + "Image", + "ModelDataUrl" + ], + "members":{ + "Image":{ + "shape":"Image", + "documentation":"

    The ECR path of the container. Refer to ContainerDefinition for more details.

    " + }, + "ModelDataUrl":{ + "shape":"Url", + "documentation":"

    The location of the model artifacts. Refer to ContainerDefinition for more details.

    " + }, + "Environment":{ + "shape":"EnvironmentMap", + "documentation":"

    Environment variables to set in the container. Refer to ContainerDefinition for more details.

    " + } + }, + "documentation":"

    A list of container definitions that describe the different containers that make up one AutoML candidate. Refer to ContainerDefinition for more details.

    " + }, + "AutoMLContainerDefinitions":{ + "type":"list", + "member":{"shape":"AutoMLContainerDefinition"}, + "max":5 + }, + "AutoMLDataSource":{ + "type":"structure", + "required":["S3DataSource"], + "members":{ + "S3DataSource":{ + "shape":"AutoMLS3DataSource", + "documentation":"

    The Amazon S3 location of the input data.

    The input data must be in CSV format and contain at least 1000 rows.

    " + } + }, + "documentation":"

    The data source for the AutoPilot job.

    " + }, + "AutoMLFailureReason":{ + "type":"string", + "max":1024 + }, + "AutoMLInputDataConfig":{ + "type":"list", + "member":{"shape":"AutoMLChannel"}, + "max":20, + "min":1 + }, + "AutoMLJobArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:automl-job/.*" + }, + "AutoMLJobArtifacts":{ + "type":"structure", + "members":{ + "CandidateDefinitionNotebookLocation":{ + "shape":"CandidateDefinitionNotebookLocation", + "documentation":"

    The URL to the notebook location.

    " + }, + "DataExplorationNotebookLocation":{ + "shape":"DataExplorationNotebookLocation", + "documentation":"

    The URL to the notebook location.

    " + } + }, + "documentation":"

    Artifacts that are generation during a job.

    " + }, + "AutoMLJobCompletionCriteria":{ + "type":"structure", + "members":{ + "MaxCandidates":{ + "shape":"MaxCandidates", + "documentation":"

    The maximum number of times a training job is allowed to run.

    " + }, + "MaxRuntimePerTrainingJobInSeconds":{ + "shape":"MaxRuntimePerTrainingJobInSeconds", + "documentation":"

    The maximum time, in seconds, a job is allowed to run.

    " + }, + "MaxAutoMLJobRuntimeInSeconds":{ + "shape":"MaxAutoMLJobRuntimeInSeconds", + "documentation":"

    The maximum time, in seconds, an AutoML job is allowed to wait for a trial to complete. It must be equal to or greater than MaxRuntimePerTrainingJobInSeconds.

    " + } + }, + "documentation":"

    How long a job is allowed to run, or how many candidates a job is allowed to generate.

    " + }, + "AutoMLJobConfig":{ + "type":"structure", + "members":{ + "CompletionCriteria":{ + "shape":"AutoMLJobCompletionCriteria", + "documentation":"

    How long a job is allowed to run, or how many candidates a job is allowed to generate.

    " + }, + "SecurityConfig":{ + "shape":"AutoMLSecurityConfig", + "documentation":"

    Security configuration for traffic encryption or Amazon VPC settings.

    " + } + }, + "documentation":"

    A collection of settings used for a job.

    " + }, + "AutoMLJobName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "AutoMLJobObjective":{ + "type":"structure", + "required":["MetricName"], + "members":{ + "MetricName":{ + "shape":"AutoMLMetricEnum", + "documentation":"

    The name of the metric.

    " + } + }, + "documentation":"

    Applies a metric to minimize or maximize for the job's objective.

    " + }, + "AutoMLJobObjectiveType":{ + "type":"string", + "enum":[ + "Maximize", + "Minimize" + ] + }, + "AutoMLJobSecondaryStatus":{ + "type":"string", + "enum":[ + "Starting", + "AnalyzingData", + "FeatureEngineering", + "ModelTuning", + "MaxCandidatesReached", + "Failed", + "Stopped", + "MaxAutoMLJobRuntimeReached", + "Stopping", + "CandidateDefinitionsGenerated" + ] + }, + "AutoMLJobStatus":{ + "type":"string", + "enum":[ + "Completed", + "InProgress", + "Failed", + "Stopped", + "Stopping" + ] + }, + "AutoMLJobSummaries":{ + "type":"list", + "member":{"shape":"AutoMLJobSummary"} + }, + "AutoMLJobSummary":{ + "type":"structure", + "required":[ + "AutoMLJobName", + "AutoMLJobArn", + "AutoMLJobStatus", + "AutoMLJobSecondaryStatus", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    The name of the object you are requesting.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    The ARN of the job.

    " + }, + "AutoMLJobStatus":{ + "shape":"AutoMLJobStatus", + "documentation":"

    The job's status.

    " + }, + "AutoMLJobSecondaryStatus":{ + "shape":"AutoMLJobSecondaryStatus", + "documentation":"

    The job's secondary status.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the job was created.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end time.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the job was last modified.

    " + }, + "FailureReason":{ + "shape":"AutoMLFailureReason", + "documentation":"

    The failure reason.

    " + } + }, + "documentation":"

    Provides a summary about a job.

    " + }, + "AutoMLMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "AutoMLMetricEnum":{ + "type":"string", + "enum":[ + "Accuracy", + "MSE", + "F1", + "F1macro" + ] + }, + "AutoMLNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "AutoMLOutputDataConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS KMS encryption key ID.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 output path. Must be 128 characters or less.

    " + } + }, + "documentation":"

    The output data configuration.

    " + }, + "AutoMLS3DataSource":{ + "type":"structure", + "required":[ + "S3DataType", + "S3Uri" + ], + "members":{ + "S3DataType":{ + "shape":"AutoMLS3DataType", + "documentation":"

    The data type.

    " + }, + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The URL to the Amazon S3 data source.

    " + } + }, + "documentation":"

    The Amazon S3 data source.

    " + }, + "AutoMLS3DataType":{ + "type":"string", + "enum":[ + "ManifestFile", + "S3Prefix" + ] + }, + "AutoMLSecurityConfig":{ + "type":"structure", + "members":{ + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The key used to encrypt stored data.

    " + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    Whether to use traffic encryption between the container layers.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    VPC configuration.

    " + } + }, + "documentation":"

    Security options.

    " + }, + "AutoMLSortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "AutoMLSortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "AwsManagedHumanLoopRequestSource":{ + "type":"string", + "enum":[ + "AWS/Rekognition/DetectModerationLabels/Image/V3", + "AWS/Textract/AnalyzeDocument/Forms/V1" + ] + }, + "BatchStrategy":{ + "type":"string", + "enum":[ + "MultiRecord", + "SingleRecord" + ] + }, + "BillableTimeInSeconds":{ + "type":"integer", + "min":1 + }, + "Boolean":{"type":"boolean"}, + "BooleanOperator":{ + "type":"string", + "enum":[ + "And", + "Or" + ] + }, + "Branch":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[^ ~^:?*\\[]+" + }, + "CandidateDefinitionNotebookLocation":{ + "type":"string", + "min":1 + }, + "CandidateName":{ + "type":"string", + "max":64, + "min":1 + }, + "CandidateSortBy":{ + "type":"string", + "enum":[ + "CreationTime", + "Status", + "FinalObjectiveMetricValue" + ] + }, + "CandidateStatus":{ + "type":"string", + "enum":[ + "Completed", + "InProgress", + "Failed", + "Stopped", + "Stopping" + ] + }, + "CandidateStepArn":{ + "type":"string", + "max":256, + "min":1, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:.*/.*" + }, + "CandidateStepName":{ + "type":"string", + "max":64, + "min":1 + }, + "CandidateStepType":{ + "type":"string", + "enum":[ + "AWS::SageMaker::TrainingJob", + "AWS::SageMaker::TransformJob", + "AWS::SageMaker::ProcessingJob" + ] + }, + "CandidateSteps":{ + "type":"list", + "member":{"shape":"AutoMLCandidateStep"} + }, + "CaptureContentTypeHeader":{ + "type":"structure", + "members":{ + "CsvContentTypes":{ + "shape":"CsvContentTypes", + "documentation":"

    " + }, + "JsonContentTypes":{ + "shape":"JsonContentTypes", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "CaptureMode":{ + "type":"string", + "enum":[ + "Input", + "Output" + ] + }, + "CaptureOption":{ + "type":"structure", + "required":["CaptureMode"], + "members":{ + "CaptureMode":{ + "shape":"CaptureMode", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "CaptureOptionList":{ + "type":"list", + "member":{"shape":"CaptureOption"}, + "max":2, + "min":1 + }, + "CaptureStatus":{ + "type":"string", + "enum":[ + "Started", + "Stopped" + ] + }, + "CategoricalParameterRange":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"ParameterKey", + "documentation":"

    The name of the categorical hyperparameter to tune.

    " + }, + "Values":{ + "shape":"ParameterValues", + "documentation":"

    A list of the categories for the hyperparameter.

    " + } + }, + "documentation":"

    A list of categorical hyperparameters to tune.

    " + }, + "CategoricalParameterRangeSpecification":{ + "type":"structure", + "required":["Values"], + "members":{ + "Values":{ + "shape":"ParameterValues", + "documentation":"

    The allowed categories for the hyperparameter.

    " + } + }, + "documentation":"

    Defines the possible values for a categorical hyperparameter.

    " + }, + "CategoricalParameterRanges":{ + "type":"list", + "member":{"shape":"CategoricalParameterRange"}, + "max":20, + "min":0 + }, + "Cents":{ + "type":"integer", + "max":99, + "min":0 + }, + "CertifyForMarketplace":{"type":"boolean"}, + "Channel":{ + "type":"structure", + "required":[ + "ChannelName", + "DataSource" + ], + "members":{ + "ChannelName":{ + "shape":"ChannelName", + "documentation":"

    The name of the channel.

    " + }, + "DataSource":{ + "shape":"DataSource", + "documentation":"

    The location of the channel data.

    " + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

    The MIME type of the data.

    " + }, + "CompressionType":{ + "shape":"CompressionType", + "documentation":"

    If training data is compressed, the compression type. The default value is None. CompressionType is used only in Pipe input mode. In File mode, leave this field unset or set it to None.

    " + }, + "RecordWrapperType":{ + "shape":"RecordWrapper", + "documentation":"

    Specify RecordIO as the value when input data is in raw format but the training algorithm requires the RecordIO format. In this case, Amazon SageMaker wraps each individual S3 object in a RecordIO record. If the input data is already in RecordIO format, you don't need to set this attribute. For more information, see Create a Dataset Using RecordIO.

    In File mode, leave this field unset or set it to None.

    " + }, + "InputMode":{ + "shape":"TrainingInputMode", + "documentation":"

    (Optional) The input mode to use for the data channel in a training job. If you don't set a value for InputMode, Amazon SageMaker uses the value set for TrainingInputMode. Use this parameter to override the TrainingInputMode setting in a AlgorithmSpecification request when you have a channel that needs a different input mode from the training job's general setting. To download the data from Amazon Simple Storage Service (Amazon S3) to the provisioned ML storage volume, and mount the directory to a Docker volume, use File input mode. To stream data directly from Amazon S3 to the container, choose Pipe input mode.

    To use a model for incremental training, choose File input model.

    " + }, + "ShuffleConfig":{ + "shape":"ShuffleConfig", + "documentation":"

    A configuration for a shuffle option for input data in a channel. If you use S3Prefix for S3DataType, this shuffles the results of the S3 key prefix matches. If you use ManifestFile, the order of the S3 object references in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling order is determined using the Seed value.

    For Pipe input mode, shuffling is done at the start of every epoch. With large datasets this ensures that the order of the training data is different for each epoch, it helps reduce bias and possible overfitting. In a multi-node training job when ShuffleConfig is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled across nodes so that the content sent to a particular node on the first epoch might be sent to a different node on the second epoch.

    " + } + }, + "documentation":"

    A channel is a named input source that training algorithms can consume.

    " + }, + "ChannelName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[A-Za-z0-9\\.\\-_]+" + }, + "ChannelSpecification":{ + "type":"structure", + "required":[ + "Name", + "SupportedContentTypes", + "SupportedInputModes" + ], + "members":{ + "Name":{ + "shape":"ChannelName", + "documentation":"

    The name of the channel.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A brief description of the channel.

    " + }, + "IsRequired":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the channel is required by the algorithm.

    " + }, + "SupportedContentTypes":{ + "shape":"ContentTypes", + "documentation":"

    The supported MIME types for the data.

    " + }, + "SupportedCompressionTypes":{ + "shape":"CompressionTypes", + "documentation":"

    The allowed compression types, if data compression is used.

    " + }, + "SupportedInputModes":{ + "shape":"InputModes", + "documentation":"

    The allowed input mode, either FILE or PIPE.

    In FILE mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode.

    In PIPE mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.

    " + } + }, + "documentation":"

    Defines a named input source, called a channel, to be used by an algorithm.

    " + }, + "ChannelSpecifications":{ + "type":"list", + "member":{"shape":"ChannelSpecification"}, + "max":8, + "min":1 + }, + "CheckpointConfig":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    Identifies the S3 path where you want Amazon SageMaker to store checkpoints. For example, s3://bucket-name/key-name-prefix.

    " + }, + "LocalPath":{ + "shape":"DirectoryPath", + "documentation":"

    (Optional) The local directory where checkpoints are written. The default directory is /opt/ml/checkpoints/.

    " + } + }, + "documentation":"

    Contains information about the output location for managed spot training checkpoint data.

    " + }, + "Cidr":{ + "type":"string", + "max":64, + "min":4, + "pattern":"(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$)|(^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(\\/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))$)" + }, + "Cidrs":{ + "type":"list", + "member":{"shape":"Cidr"} + }, + "CodeRepositoryArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:code-repository/.*" + }, + "CodeRepositoryContains":{ + "type":"string", + "max":1024, + "pattern":"[a-zA-Z0-9-]+" + }, + "CodeRepositoryNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "CodeRepositoryNameOrUrl":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^https://([^/]+)/?(.*)$|^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "CodeRepositorySortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "LastModifiedTime" + ] + }, + "CodeRepositorySortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "CodeRepositorySummary":{ + "type":"structure", + "required":[ + "CodeRepositoryName", + "CodeRepositoryArn", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository.

    " + }, + "CodeRepositoryArn":{ + "shape":"CodeRepositoryArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Git repository.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The date and time that the Git repository was created.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The date and time that the Git repository was last modified.

    " + }, + "GitConfig":{ + "shape":"GitConfig", + "documentation":"

    Configuration details for the Git repository, including the URL where it is located and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

    " + } + }, + "documentation":"

    Specifies summary information about a Git repository.

    " + }, + "CodeRepositorySummaryList":{ + "type":"list", + "member":{"shape":"CodeRepositorySummary"} + }, + "CognitoClientId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+]+" + }, + "CognitoMemberDefinition":{ + "type":"structure", + "required":[ + "UserPool", + "UserGroup", + "ClientId" + ], + "members":{ + "UserPool":{ + "shape":"CognitoUserPool", + "documentation":"

    An identifier for a user pool. The user pool must be in the same region as the service that you are calling.

    " + }, + "UserGroup":{ + "shape":"CognitoUserGroup", + "documentation":"

    An identifier for a user group.

    " + }, + "ClientId":{ + "shape":"CognitoClientId", + "documentation":"

    An identifier for an application client. You must create the app client ID using Amazon Cognito.

    " + } + }, + "documentation":"

    Identifies a Amazon Cognito user group. A user group can be used in on or more work teams.

    " + }, + "CognitoUserGroup":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+" + }, + "CognitoUserPool":{ + "type":"string", + "max":55, + "min":1, + "pattern":"[\\w-]+_[0-9a-zA-Z]+" + }, + "CollectionConfiguration":{ + "type":"structure", + "members":{ + "CollectionName":{ + "shape":"CollectionName", + "documentation":"

    The name of the tensor collection. The name must be unique relative to other rule configuration names.

    " + }, + "CollectionParameters":{ + "shape":"CollectionParameters", + "documentation":"

    Parameter values for the tensor collection. The allowed parameters are \"name\", \"include_regex\", \"reduction_config\", \"save_config\", \"tensor_names\", and \"save_histogram\".

    " + } + }, + "documentation":"

    Configuration information for tensor collections.

    " + }, + "CollectionConfigurations":{ + "type":"list", + "member":{"shape":"CollectionConfiguration"}, + "max":20, + "min":0 + }, + "CollectionName":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*" + }, + "CollectionParameters":{ + "type":"map", + "key":{"shape":"ConfigKey"}, + "value":{"shape":"ConfigValue"}, + "max":20, + "min":0 + }, + "CompilationJobArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:compilation-job/.*" + }, + "CompilationJobStatus":{ + "type":"string", + "enum":[ + "INPROGRESS", + "COMPLETED", + "FAILED", + "STARTING", + "STOPPING", + "STOPPED" + ] + }, + "CompilationJobSummaries":{ + "type":"list", + "member":{"shape":"CompilationJobSummary"} + }, + "CompilationJobSummary":{ + "type":"structure", + "required":[ + "CompilationJobName", + "CompilationJobArn", + "CreationTime", + "CompilationTargetDevice", + "CompilationJobStatus" + ], + "members":{ + "CompilationJobName":{ + "shape":"EntityName", + "documentation":"

    The name of the model compilation job that you want a summary for.

    " + }, + "CompilationJobArn":{ + "shape":"CompilationJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model compilation job.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The time when the model compilation job was created.

    " + }, + "CompilationStartTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the model compilation job started.

    " + }, + "CompilationEndTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the model compilation job completed.

    " + }, + "CompilationTargetDevice":{ + "shape":"TargetDevice", + "documentation":"

    The type of device that the model will run on after compilation has completed.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The time when the model compilation job was last modified.

    " + }, + "CompilationJobStatus":{ + "shape":"CompilationJobStatus", + "documentation":"

    The status of the model compilation job.

    " + } + }, + "documentation":"

    A summary of a model compilation job.

    " + }, + "CompressionType":{ + "type":"string", + "enum":[ + "None", + "Gzip" + ] + }, + "CompressionTypes":{ + "type":"list", + "member":{"shape":"CompressionType"} + }, + "ConfigKey":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*" + }, + "ConfigValue":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    There was a conflict when you attempted to modify an experiment, trial, or trial component.

    ", + "exception":true + }, + "ContainerArgument":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ContainerArguments":{ + "type":"list", + "member":{"shape":"ContainerArgument"}, + "max":100, + "min":1 + }, + "ContainerDefinition":{ + "type":"structure", + "members":{ + "ContainerHostname":{ + "shape":"ContainerHostname", + "documentation":"

    This parameter is ignored for models that contain only a PrimaryContainer.

    When a ContainerDefinition is part of an inference pipeline, the value of the parameter uniquely identifies the container for the purposes of logging and metrics. For information, see Use Logs and Metrics to Monitor an Inference Pipeline. If you don't specify a value for this parameter for a ContainerDefinition that is part of an inference pipeline, a unique name is automatically assigned based on the position of the ContainerDefinition in the pipeline. If you specify a value for the ContainerHostName for any ContainerDefinition that is part of an inference pipeline, you must specify a value for the ContainerHostName parameter of every ContainerDefinition in that pipeline.

    " + }, + "Image":{ + "shape":"Image", + "documentation":"

    The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored. If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker

    " + }, + "Mode":{ + "shape":"ContainerMode", + "documentation":"

    Whether the container hosts a single model or multiple models.

    " + }, + "ModelDataUrl":{ + "shape":"Url", + "documentation":"

    The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for Amazon SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see Common Parameters.

    If you provide a value for this parameter, Amazon SageMaker uses AWS Security Token Service to download model artifacts from the S3 path you provide. AWS STS is activated in your IAM user account by default. If you previously deactivated AWS STS for a region, you need to reactivate AWS STS for that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

    If you use a built-in algorithm to create a model, Amazon SageMaker requires that you provide a S3 path to the model artifacts in ModelDataUrl.

    " + }, + "Environment":{ + "shape":"EnvironmentMap", + "documentation":"

    The environment variables to set in the Docker container. Each key and value in the Environment string to string map can have length of up to 1024. We support up to 16 entries in the map.

    " + }, + "ModelPackageName":{ + "shape":"ArnOrName", + "documentation":"

    The name or Amazon Resource Name (ARN) of the model package to use to create the model.

    " + } + }, + "documentation":"

    Describes the container, as part of model definition.

    " + }, + "ContainerDefinitionList":{ + "type":"list", + "member":{"shape":"ContainerDefinition"}, + "max":5 + }, + "ContainerEntrypoint":{ + "type":"list", + "member":{"shape":"ContainerEntrypointString"}, + "max":100, + "min":1 + }, + "ContainerEntrypointString":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ContainerHostname":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ContainerMode":{ + "type":"string", + "enum":[ + "SingleModel", + "MultiModel" + ] + }, + "ContentClassifier":{ + "type":"string", + "enum":[ + "FreeOfPersonallyIdentifiableInformation", + "FreeOfAdultContent" + ] + }, + "ContentClassifiers":{ + "type":"list", + "member":{"shape":"ContentClassifier"}, + "max":256 + }, + "ContentType":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ContentTypes":{ + "type":"list", + "member":{"shape":"ContentType"} + }, + "ContinuousParameterRange":{ + "type":"structure", + "required":[ + "Name", + "MinValue", + "MaxValue" + ], + "members":{ + "Name":{ + "shape":"ParameterKey", + "documentation":"

    The name of the continuous hyperparameter to tune.

    " + }, + "MinValue":{ + "shape":"ParameterValue", + "documentation":"

    The minimum value for the hyperparameter. The tuning job uses floating-point values between this value and MaxValuefor tuning.

    " + }, + "MaxValue":{ + "shape":"ParameterValue", + "documentation":"

    The maximum value for the hyperparameter. The tuning job uses floating-point values between MinValue value and this value for tuning.

    " + }, + "ScalingType":{ + "shape":"HyperParameterScalingType", + "documentation":"

    The scale that hyperparameter tuning uses to search the hyperparameter range. For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

    Auto

    Amazon SageMaker hyperparameter tuning chooses the best scale for the hyperparameter.

    Linear

    Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

    Logarithmic

    Hyperparameter tuning searches the values in the hyperparameter range by using a logarithmic scale.

    Logarithmic scaling works only for ranges that have only values greater than 0.

    ReverseLogarithmic

    Hyperparameter tuning searches the values in the hyperparameter range by using a reverse logarithmic scale.

    Reverse logarithmic scaling works only for ranges that are entirely within the range 0<=x<1.0.

    " + } + }, + "documentation":"

    A list of continuous hyperparameters to tune.

    " + }, + "ContinuousParameterRangeSpecification":{ + "type":"structure", + "required":[ + "MinValue", + "MaxValue" + ], + "members":{ + "MinValue":{ + "shape":"ParameterValue", + "documentation":"

    The minimum floating-point value allowed.

    " + }, + "MaxValue":{ + "shape":"ParameterValue", + "documentation":"

    The maximum floating-point value allowed.

    " + } + }, + "documentation":"

    Defines the possible values for a continuous hyperparameter.

    " + }, + "ContinuousParameterRanges":{ + "type":"list", + "member":{"shape":"ContinuousParameterRange"}, + "max":20, + "min":0 + }, + "CreateAlgorithmInput":{ + "type":"structure", + "required":[ + "AlgorithmName", + "TrainingSpecification" + ], + "members":{ + "AlgorithmName":{ + "shape":"EntityName", + "documentation":"

    The name of the algorithm.

    " + }, + "AlgorithmDescription":{ + "shape":"EntityDescription", + "documentation":"

    A description of the algorithm.

    " + }, + "TrainingSpecification":{ + "shape":"TrainingSpecification", + "documentation":"

    Specifies details about training jobs run by this algorithm, including the following:

    • The Amazon ECR path of the container and the version digest of the algorithm.

    • The hyperparameters that the algorithm supports.

    • The instance types that the algorithm supports for training.

    • Whether the algorithm supports distributed training.

    • The metrics that the algorithm emits to Amazon CloudWatch.

    • Which metrics that the algorithm emits can be used as the objective metric for hyperparameter tuning jobs.

    • The input channels that the algorithm supports for training data. For example, an algorithm might support train, validation, and test channels.

    " + }, + "InferenceSpecification":{ + "shape":"InferenceSpecification", + "documentation":"

    Specifies details about inference jobs that the algorithm runs, including the following:

    • The Amazon ECR paths of containers that contain the inference code and model artifacts.

    • The instance types that the algorithm supports for transform jobs and real-time endpoints used for inference.

    • The input and output content formats that the algorithm supports for inference.

    " + }, + "ValidationSpecification":{ + "shape":"AlgorithmValidationSpecification", + "documentation":"

    Specifies configurations for one or more training jobs and that Amazon SageMaker runs to test the algorithm's training code and, optionally, one or more batch transform jobs that Amazon SageMaker runs to test the algorithm's inference code.

    " + }, + "CertifyForMarketplace":{ + "shape":"CertifyForMarketplace", + "documentation":"

    Whether to certify the algorithm so that it can be listed in AWS Marketplace.

    " + } + } + }, + "CreateAlgorithmOutput":{ + "type":"structure", + "required":["AlgorithmArn"], + "members":{ + "AlgorithmArn":{ + "shape":"AlgorithmArn", + "documentation":"

    The Amazon Resource Name (ARN) of the new algorithm.

    " + } + } + }, + "CreateAppRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName", + "AppType", + "AppName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "AppType":{ + "shape":"AppType", + "documentation":"

    The type of app.

    " + }, + "AppName":{ + "shape":"AppName", + "documentation":"

    The name of the app.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Each tag consists of a key and an optional value. Tag keys must be unique per resource.

    " + }, + "ResourceSpec":{ + "shape":"ResourceSpec", + "documentation":"

    The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + } + } + }, + "CreateAppResponse":{ + "type":"structure", + "members":{ + "AppArn":{ + "shape":"AppArn", + "documentation":"

    The app's Amazon Resource Name (ARN).

    " + } + } + }, + "CreateAutoMLJobRequest":{ + "type":"structure", + "required":[ + "AutoMLJobName", + "InputDataConfig", + "OutputDataConfig", + "RoleArn" + ], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    Identifies an AutoPilot job. Must be unique to your account and is case-insensitive.

    " + }, + "InputDataConfig":{ + "shape":"AutoMLInputDataConfig", + "documentation":"

    Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. Minimum of 1000 rows.

    " + }, + "OutputDataConfig":{ + "shape":"AutoMLOutputDataConfig", + "documentation":"

    Similar to OutputDataConfig supported by Tuning. Format(s) supported: CSV.

    " + }, + "ProblemType":{ + "shape":"ProblemType", + "documentation":"

    Defines the kind of preprocessing and algorithms intended for the candidates. Options include: BinaryClassification, MulticlassClassification, and Regression.

    " + }, + "AutoMLJobObjective":{ + "shape":"AutoMLJobObjective", + "documentation":"

    Defines the job's objective. You provide a MetricName and AutoML will infer minimize or maximize. If this is not provided, the most commonly used ObjectiveMetric for problem type will be selected.

    " + }, + "AutoMLJobConfig":{ + "shape":"AutoMLJobConfig", + "documentation":"

    Contains CompletionCriteria and SecurityConfig.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The ARN of the role that will be used to access the data.

    " + }, + "GenerateCandidateDefinitionsOnly":{ + "shape":"GenerateCandidateDefinitionsOnly", + "documentation":"

    This will generate possible candidates without training a model. A candidate is a combination of data preprocessors, algorithms, and algorithm parameter settings.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Each tag consists of a key and an optional value. Tag keys must be unique per resource.

    " + } + } + }, + "CreateAutoMLJobResponse":{ + "type":"structure", + "required":["AutoMLJobArn"], + "members":{ + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    When a job is created, it is assigned a unique ARN.

    " + } + } + }, + "CreateCodeRepositoryInput":{ + "type":"structure", + "required":[ + "CodeRepositoryName", + "GitConfig" + ], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

    " + }, + "GitConfig":{ + "shape":"GitConfig", + "documentation":"

    Specifies details about the repository, including the URL where the repository is located, the default branch, and credentials to use to access the repository.

    " + } + } + }, + "CreateCodeRepositoryOutput":{ + "type":"structure", + "required":["CodeRepositoryArn"], + "members":{ + "CodeRepositoryArn":{ + "shape":"CodeRepositoryArn", + "documentation":"

    The Amazon Resource Name (ARN) of the new repository.

    " + } + } + }, + "CreateCompilationJobRequest":{ + "type":"structure", + "required":[ + "CompilationJobName", + "RoleArn", + "InputConfig", + "OutputConfig", + "StoppingCondition" + ], + "members":{ + "CompilationJobName":{ + "shape":"EntityName", + "documentation":"

    A name for the model compilation job. The name must be unique within the AWS Region and within your AWS account.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

    During model compilation, Amazon SageMaker needs your permission to:

    • Read input data from an S3 bucket

    • Write model artifacts to an S3 bucket

    • Write logs to Amazon CloudWatch Logs

    • Publish metrics to Amazon CloudWatch

    You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles.

    " + }, + "InputConfig":{ + "shape":"InputConfig", + "documentation":"

    Provides information about the location of input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.

    " + }, + "OutputConfig":{ + "shape":"OutputConfig", + "documentation":"

    Provides information about the output location for the compiled model and the target device the model runs on.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training costs.

    " + } + } + }, + "CreateCompilationJobResponse":{ + "type":"structure", + "required":["CompilationJobArn"], + "members":{ + "CompilationJobArn":{ + "shape":"CompilationJobArn", + "documentation":"

    If the action is successful, the service sends back an HTTP 200 response. Amazon SageMaker returns the following data in JSON format:

    • CompilationJobArn: The Amazon Resource Name (ARN) of the compiled job.

    " + } + } + }, + "CreateDomainRequest":{ + "type":"structure", + "required":[ + "DomainName", + "AuthMode", + "DefaultUserSettings", + "SubnetIds", + "VpcId" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    A name for the domain.

    " + }, + "AuthMode":{ + "shape":"AuthMode", + "documentation":"

    The mode of authentication that member use to access the domain.

    " + }, + "DefaultUserSettings":{ + "shape":"UserSettings", + "documentation":"

    The default user settings.

    " + }, + "SubnetIds":{ + "shape":"Subnets", + "documentation":"

    Security setting to limit to a set of subnets.

    " + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

    Security setting to limit the domain's communication to a Amazon Virtual Private Cloud.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Each tag consists of a key and an optional value. Tag keys must be unique per resource.

    " + }, + "HomeEfsFileSystemKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (KMS) encryption key ID. Encryption with a customer master key (CMK) is not supported.

    " + } + } + }, + "CreateDomainResponse":{ + "type":"structure", + "members":{ + "DomainArn":{ + "shape":"DomainArn", + "documentation":"

    The Amazon Resource Name (ARN) of the created domain.

    " + }, + "Url":{ + "shape":"String1024", + "documentation":"

    The URL to the created domain.

    " + } + } + }, + "CreateEndpointConfigInput":{ + "type":"structure", + "required":[ + "EndpointConfigName", + "ProductionVariants" + ], + "members":{ + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the endpoint configuration. You specify this name in a CreateEndpoint request.

    " + }, + "ProductionVariants":{ + "shape":"ProductionVariantList", + "documentation":"

    An list of ProductionVariant objects, one for each model that you want to host at this endpoint.

    " + }, + "DataCaptureConfig":{"shape":"DataCaptureConfig"}, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.

    The KmsKeyId can be any of the following formats:

    • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

    • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    • Alias name: alias/ExampleAlias

    • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

    The KMS key policy must grant permission to the IAM role that you specify in your CreateEndpoint, UpdateEndpoint requests. For more information, refer to the AWS Key Management Service section Using Key Policies in AWS KMS

    Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a KmsKeyId when using an instance type with local storage. If any of the models that you specify in the ProductionVariants parameter use nitro-based instances with local storage, do not specify a value for the KmsKeyId parameter. If you specify a value for KmsKeyId when using any nitro-based instances with local storage, the call to CreateEndpointConfig fails.

    For a list of instance types that support local instance storage, see Instance Store Volumes.

    For more information about local instance storage encryption, see SSD Instance Store Volumes.

    " + } + } + }, + "CreateEndpointConfigOutput":{ + "type":"structure", + "required":["EndpointConfigArn"], + "members":{ + "EndpointConfigArn":{ + "shape":"EndpointConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint configuration.

    " + } + } + }, + "CreateEndpointInput":{ + "type":"structure", + "required":[ + "EndpointName", + "EndpointConfigName" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint. The name must be unique within an AWS Region in your AWS account.

    " + }, + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of an endpoint configuration. For more information, see CreateEndpointConfig.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. For more information, see Using Cost Allocation Tagsin the AWS Billing and Cost Management User Guide.

    " + } + } + }, + "CreateEndpointOutput":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"EndpointArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint.

    " + } + } + }, + "CreateExperimentRequest":{ + "type":"structure", + "required":["ExperimentName"], + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment. The name must be unique in your AWS account and is not case-sensitive.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment as displayed. The name doesn't need to be unique. If you don't specify DisplayName, the value in ExperimentName is displayed.

    " + }, + "Description":{ + "shape":"ExperimentDescription", + "documentation":"

    The description of the experiment.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags to associate with the experiment. You can use Search API to search on the tags.

    " + } + } + }, + "CreateExperimentResponse":{ + "type":"structure", + "members":{ + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment.

    " + } + } + }, + "CreateFlowDefinitionRequest":{ + "type":"structure", + "required":[ + "FlowDefinitionName", + "HumanLoopConfig", + "OutputConfig", + "RoleArn" + ], + "members":{ + "FlowDefinitionName":{ + "shape":"FlowDefinitionName", + "documentation":"

    The name of your flow definition.

    " + }, + "HumanLoopRequestSource":{ + "shape":"HumanLoopRequestSource", + "documentation":"

    Container for configuring the source of human task requests. Use to specify if Amazon Rekognition or Amazon Textract is used as an integration source.

    " + }, + "HumanLoopActivationConfig":{ + "shape":"HumanLoopActivationConfig", + "documentation":"

    An object containing information about the events that trigger a human workflow.

    " + }, + "HumanLoopConfig":{ + "shape":"HumanLoopConfig", + "documentation":"

    An object containing information about the tasks the human reviewers will perform.

    " + }, + "OutputConfig":{ + "shape":"FlowDefinitionOutputConfig", + "documentation":"

    An object containing information about where the human review results will be uploaded.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs that contain metadata to help you categorize and organize a flow definition. Each tag consists of a key and a value, both of which you define.

    " + } + } + }, + "CreateFlowDefinitionResponse":{ + "type":"structure", + "required":["FlowDefinitionArn"], + "members":{ + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition you create.

    " + } + } + }, + "CreateHumanTaskUiRequest":{ + "type":"structure", + "required":[ + "HumanTaskUiName", + "UiTemplate" + ], + "members":{ + "HumanTaskUiName":{ + "shape":"HumanTaskUiName", + "documentation":"

    The name of the user interface you are creating.

    " + }, + "UiTemplate":{"shape":"UiTemplate"}, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs that contain metadata to help you categorize and organize a human review workflow user interface. Each tag consists of a key and a value, both of which you define.

    " + } + } + }, + "CreateHumanTaskUiResponse":{ + "type":"structure", + "required":["HumanTaskUiArn"], + "members":{ + "HumanTaskUiArn":{ + "shape":"HumanTaskUiArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human review workflow user interface you create.

    " + } + } + }, + "CreateHyperParameterTuningJobRequest":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobConfig" + ], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job. This name is the prefix for the names of all training jobs that this tuning job launches. The name must be unique within the same AWS account and AWS Region. The name must have { } to { } characters. Valid characters are a-z, A-Z, 0-9, and : + = @ _ % - (hyphen). The name is not case sensitive.

    " + }, + "HyperParameterTuningJobConfig":{ + "shape":"HyperParameterTuningJobConfig", + "documentation":"

    The HyperParameterTuningJobConfig object that describes the tuning job, including the search strategy, the objective metric used to evaluate training jobs, ranges of parameters to search, and resource limits for the tuning job. For more information, see How Hyperparameter Tuning Works.

    " + }, + "TrainingJobDefinition":{ + "shape":"HyperParameterTrainingJobDefinition", + "documentation":"

    The HyperParameterTrainingJobDefinition object that describes the training jobs that this tuning job launches, including static hyperparameters, input data configuration, output data configuration, resource configuration, and stopping condition.

    " + }, + "TrainingJobDefinitions":{ + "shape":"HyperParameterTrainingJobDefinitions", + "documentation":"

    " + }, + "WarmStartConfig":{ + "shape":"HyperParameterTuningJobWarmStartConfig", + "documentation":"

    Specifies the configuration for starting the hyperparameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.

    All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric. If you specify IDENTICAL_DATA_AND_ALGORITHM as the WarmStartType value for the warm start configuration, the training job that performs the best in the new tuning job is compared to the best training jobs from the parent tuning jobs. From these, the training job that performs the best as measured by the objective metric is returned as the overall best training job.

    All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. You can use tags to categorize your AWS resources in different ways, for example, by purpose, owner, or environment. For more information, see AWS Tagging Strategies.

    Tags that you specify for the tuning job are also added to all training jobs that the tuning job launches.

    " + } + } + }, + "CreateHyperParameterTuningJobResponse":{ + "type":"structure", + "required":["HyperParameterTuningJobArn"], + "members":{ + "HyperParameterTuningJobArn":{ + "shape":"HyperParameterTuningJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the tuning job. Amazon SageMaker assigns an ARN to a hyperparameter tuning job when you create it.

    " + } + } + }, + "CreateLabelingJobRequest":{ + "type":"structure", + "required":[ + "LabelingJobName", + "LabelAttributeName", + "InputConfig", + "OutputConfig", + "RoleArn", + "HumanTaskConfig" + ], + "members":{ + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name of the labeling job. This name is used to identify the job in a list of labeling jobs.

    " + }, + "LabelAttributeName":{ + "shape":"LabelAttributeName", + "documentation":"

    The attribute name to use for the label in the output manifest file. This is the key for the key/value pair formed with the label that a worker assigns to the object. The name can't end with \"-metadata\". If you are running a semantic segmentation labeling job, the attribute name must end with \"-ref\". If you are running any other kind of labeling job, the attribute name must not end with \"-ref\".

    " + }, + "InputConfig":{ + "shape":"LabelingJobInputConfig", + "documentation":"

    Input data for the labeling job, such as the Amazon S3 location of the data objects and the location of the manifest file that describes the data objects.

    " + }, + "OutputConfig":{ + "shape":"LabelingJobOutputConfig", + "documentation":"

    The location of the output data and the AWS Key Management Service key ID for the key used to encrypt the output data, if any.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker can successfully complete data labeling.

    " + }, + "LabelCategoryConfigS3Uri":{ + "shape":"S3Uri", + "documentation":"

    The S3 URL of the file that defines the categories used to label the data objects.

    The file is a JSON structure in the following format:

    {

    \"document-version\": \"2018-11-28\"

    \"labels\": [

    {

    \"label\": \"label 1\"

    },

    {

    \"label\": \"label 2\"

    },

    ...

    {

    \"label\": \"label n\"

    }

    ]

    }

    " + }, + "StoppingConditions":{ + "shape":"LabelingJobStoppingConditions", + "documentation":"

    A set of conditions for stopping the labeling job. If any of the conditions are met, the job is automatically stopped. You can use these conditions to control the cost of data labeling.

    " + }, + "LabelingJobAlgorithmsConfig":{ + "shape":"LabelingJobAlgorithmsConfig", + "documentation":"

    Configures the information required to perform automated data labeling.

    " + }, + "HumanTaskConfig":{ + "shape":"HumanTaskConfig", + "documentation":"

    Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key/value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + } + } + }, + "CreateLabelingJobResponse":{ + "type":"structure", + "required":["LabelingJobArn"], + "members":{ + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the labeling job.

    " + } + } + }, + "CreateModelInput":{ + "type":"structure", + "required":[ + "ModelName", + "ExecutionRoleArn" + ], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the new model.

    " + }, + "PrimaryContainer":{ + "shape":"ContainerDefinition", + "documentation":"

    The location of the primary docker image containing inference code, associated artifacts, and custom environment map that the inference code uses when the model is deployed for predictions.

    " + }, + "Containers":{ + "shape":"ContainerDefinitionList", + "documentation":"

    Specifies the containers in the inference pipeline.

    " + }, + "ExecutionRoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances or for batch transform jobs. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.

    To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is used in hosting services and in batch transform. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    Isolates the model container. No inbound or outbound network calls can be made to or from the model container.

    " + } + } + }, + "CreateModelOutput":{ + "type":"structure", + "required":["ModelArn"], + "members":{ + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

    The ARN of the model created in Amazon SageMaker.

    " + } + } + }, + "CreateModelPackageInput":{ + "type":"structure", + "required":["ModelPackageName"], + "members":{ + "ModelPackageName":{ + "shape":"EntityName", + "documentation":"

    The name of the model package. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

    " + }, + "ModelPackageDescription":{ + "shape":"EntityDescription", + "documentation":"

    A description of the model package.

    " + }, + "InferenceSpecification":{ + "shape":"InferenceSpecification", + "documentation":"

    Specifies details about inference jobs that can be run with models based on this model package, including the following:

    • The Amazon ECR paths of containers that contain the inference code and model artifacts.

    • The instance types that the model package supports for transform jobs and real-time endpoints used for inference.

    • The input and output content formats that the model package supports for inference.

    " + }, + "ValidationSpecification":{ + "shape":"ModelPackageValidationSpecification", + "documentation":"

    Specifies configurations for one or more transform jobs that Amazon SageMaker runs to test the model package.

    " + }, + "SourceAlgorithmSpecification":{ + "shape":"SourceAlgorithmSpecification", + "documentation":"

    Details about the algorithm that was used to create the model package.

    " + }, + "CertifyForMarketplace":{ + "shape":"CertifyForMarketplace", + "documentation":"

    Whether to certify the model package for listing on AWS Marketplace.

    " + } + } + }, + "CreateModelPackageOutput":{ + "type":"structure", + "required":["ModelPackageArn"], + "members":{ + "ModelPackageArn":{ + "shape":"ModelPackageArn", + "documentation":"

    The Amazon Resource Name (ARN) of the new model package.

    " + } + } + }, + "CreateMonitoringScheduleRequest":{ + "type":"structure", + "required":[ + "MonitoringScheduleName", + "MonitoringScheduleConfig" + ], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the monitoring schedule. The name must be unique within an AWS Region within an AWS account.

    " + }, + "MonitoringScheduleConfig":{ + "shape":"MonitoringScheduleConfig", + "documentation":"

    The configuration object that specifies the monitoring schedule and defines the monitoring job.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + } + } + }, + "CreateMonitoringScheduleResponse":{ + "type":"structure", + "required":["MonitoringScheduleArn"], + "members":{ + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the monitoring schedule.

    " + } + } + }, + "CreateNotebookInstanceInput":{ + "type":"structure", + "required":[ + "NotebookInstanceName", + "InstanceType", + "RoleArn" + ], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the new notebook instance.

    " + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

    The type of ML compute instance to launch for the notebook instance.

    " + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

    The ID of the subnet in a VPC to which you would like to have a connectivity from your ML compute instance.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    When you send any requests to AWS resources from the notebook instance, Amazon SageMaker assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so Amazon SageMaker can perform these tasks. The policy must allow the Amazon SageMaker service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see Amazon SageMaker Roles.

    To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The Amazon Resource Name (ARN) of a AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to your notebook instance. The KMS key you provide must be enabled. For information, see Enabling and Disabling Keys in the AWS Key Management Service Developer Guide.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags to associate with the notebook instance. You can add tags later by using the CreateTags API.

    " + }, + "LifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "DirectInternetAccess":{ + "shape":"DirectInternetAccess", + "documentation":"

    Sets whether Amazon SageMaker provides internet access to the notebook instance. If you set this to Disabled this notebook instance will be able to access resources only in your VPC, and will not be able to connect to Amazon SageMaker training and endpoint services unless your configure a NAT Gateway in your VPC.

    For more information, see Notebook Instances Are Internet-Enabled by Default. You can set the value of this parameter to Disabled only if you set a value for the SubnetId parameter.

    " + }, + "VolumeSizeInGB":{ + "shape":"NotebookInstanceVolumeSizeInGB", + "documentation":"

    The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB.

    " + }, + "AcceleratorTypes":{ + "shape":"NotebookInstanceAcceleratorTypes", + "documentation":"

    A list of Elastic Inference (EI) instance types to associate with this notebook instance. Currently, only one instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.

    " + }, + "DefaultCodeRepository":{ + "shape":"CodeRepositoryNameOrUrl", + "documentation":"

    A Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "AdditionalCodeRepositories":{ + "shape":"AdditionalCodeRepositoryNamesOrUrls", + "documentation":"

    An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

    Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled.

    Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.

    " + } + } + }, + "CreateNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration.

    " + }, + "OnCreate":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    A shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.

    " + }, + "OnStart":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    A shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string.

    " + } + } + }, + "CreateNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceLifecycleConfigArn":{ + "shape":"NotebookInstanceLifecycleConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the lifecycle configuration.

    " + } + } + }, + "CreateNotebookInstanceOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceArn":{ + "shape":"NotebookInstanceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the notebook instance.

    " + } + } + }, + "CreatePresignedDomainUrlRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The name of the UserProfile to sign-in as.

    " + }, + "SessionExpirationDurationInSeconds":{ + "shape":"SessionExpirationDurationInSeconds", + "documentation":"

    The session expiration duration in seconds.

    " + } + } + }, + "CreatePresignedDomainUrlResponse":{ + "type":"structure", + "members":{ + "AuthorizedUrl":{ + "shape":"PresignedDomainUrl", + "documentation":"

    The presigned URL.

    " + } + } + }, + "CreatePresignedNotebookInstanceUrlInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance.

    " + }, + "SessionExpirationDurationInSeconds":{ + "shape":"SessionExpirationDurationInSeconds", + "documentation":"

    The duration of the session, in seconds. The default is 12 hours.

    " + } + } + }, + "CreatePresignedNotebookInstanceUrlOutput":{ + "type":"structure", + "members":{ + "AuthorizedUrl":{ + "shape":"NotebookInstanceUrl", + "documentation":"

    A JSON object that contains the URL string.

    " + } + } + }, + "CreateProcessingJobRequest":{ + "type":"structure", + "required":[ + "ProcessingJobName", + "ProcessingResources", + "AppSpecification", + "RoleArn" + ], + "members":{ + "ProcessingInputs":{ + "shape":"ProcessingInputs", + "documentation":"

    For each input, data is downloaded from S3 into the processing container before the processing job begins running if \"S3InputMode\" is set to File.

    " + }, + "ProcessingOutputConfig":{ + "shape":"ProcessingOutputConfig", + "documentation":"

    Output configuration for the processing job.

    " + }, + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job. The name must be unique within an AWS Region in the AWS account.

    " + }, + "ProcessingResources":{ + "shape":"ProcessingResources", + "documentation":"

    Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.

    " + }, + "StoppingCondition":{ + "shape":"ProcessingStoppingCondition", + "documentation":"

    The time limit for how long the processing job is allowed to run.

    " + }, + "AppSpecification":{ + "shape":"AppSpecification", + "documentation":"

    Configures the processing job to run a specified Docker container image.

    " + }, + "Environment":{ + "shape":"ProcessingEnvironmentMap", + "documentation":"

    Sets the environment variables in the Docker container.

    " + }, + "NetworkConfig":{ + "shape":"NetworkConfig", + "documentation":"

    Networking options for a processing job.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "ExperimentConfig":{"shape":"ExperimentConfig"} + } + }, + "CreateProcessingJobResponse":{ + "type":"structure", + "required":["ProcessingJobArn"], + "members":{ + "ProcessingJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the processing job.

    " + } + } + }, + "CreateTrainingJobRequest":{ + "type":"structure", + "required":[ + "TrainingJobName", + "AlgorithmSpecification", + "RoleArn", + "OutputDataConfig", + "ResourceConfig", + "StoppingCondition" + ], + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job. The name must be unique within an AWS Region in an AWS account.

    " + }, + "HyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    Algorithm-specific parameters that influence the quality of the model. You set hyperparameters before you start the learning process. For a list of hyperparameters for each training algorithm provided by Amazon SageMaker, see Algorithms.

    You can specify a maximum of 100 hyperparameters. Each hyperparameter is a key-value pair. Each key and value is limited to 256 characters, as specified by the Length Constraint.

    " + }, + "AlgorithmSpecification":{ + "shape":"AlgorithmSpecification", + "documentation":"

    The registry path of the Docker image that contains the training algorithm and algorithm-specific metadata, including the input mode. For more information about algorithms provided by Amazon SageMaker, see Algorithms. For information about providing your own algorithms, see Using Your Own Algorithms with Amazon SageMaker.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

    During model training, Amazon SageMaker needs your permission to read input data from an S3 bucket, download a Docker image that contains training code, write model artifacts to an S3 bucket, write logs to Amazon CloudWatch Logs, and publish metrics to Amazon CloudWatch. You grant permissions for all of these tasks to an IAM role. For more information, see Amazon SageMaker Roles.

    To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    An array of Channel objects. Each channel is a named input source. InputDataConfig describes the input data and its location.

    Algorithms can accept input data from one or more channels. For example, an algorithm might have two channels of input data, training_data and validation_data. The configuration for each channel provides the S3, EFS, or FSx location where the input data is stored. It also provides information about the stored data: the MIME type, compression method, and whether the data is wrapped in RecordIO format.

    Depending on the input mode that the algorithm supports, Amazon SageMaker either copies input data files from an S3 bucket to a local directory in the Docker container, or makes it available as input streams. For example, if you specify an EFS location, input data files will be made available as input streams. They do not need to be downloaded.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    Specifies the path to the S3 location where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    The resources, including the ML compute instances and ML storage volumes, to use for model training.

    ML storage volumes store model artifacts and incremental states. Training algorithms might also use ML storage volumes for scratch space. If you want Amazon SageMaker to use the ML storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

    " + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between ML Compute Instances in a Distributed Training Job.

    " + }, + "EnableManagedSpotTraining":{ + "shape":"Boolean", + "documentation":"

    To train models using managed spot training, choose True. Managed spot training provides a fully managed and scalable infrastructure for training machine learning models. this option is useful when training jobs can be interrupted and when there is flexibility when the training job is run.

    The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed.

    " + }, + "CheckpointConfig":{ + "shape":"CheckpointConfig", + "documentation":"

    Contains information about the output location for managed spot training checkpoint data.

    " + }, + "DebugHookConfig":{"shape":"DebugHookConfig"}, + "DebugRuleConfigurations":{ + "shape":"DebugRuleConfigurations", + "documentation":"

    Configuration information for debugging rules.

    " + }, + "TensorBoardOutputConfig":{"shape":"TensorBoardOutputConfig"}, + "ExperimentConfig":{"shape":"ExperimentConfig"} + } + }, + "CreateTrainingJobResponse":{ + "type":"structure", + "required":["TrainingJobArn"], + "members":{ + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the training job.

    " + } + } + }, + "CreateTransformJobRequest":{ + "type":"structure", + "required":[ + "TransformJobName", + "ModelName", + "TransformInput", + "TransformOutput", + "TransformResources" + ], + "members":{ + "TransformJobName":{ + "shape":"TransformJobName", + "documentation":"

    The name of the transform job. The name must be unique within an AWS Region in an AWS account.

    " + }, + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model that you want to use for the transform job. ModelName must be the name of an existing Amazon SageMaker model within an AWS Region in an AWS account.

    " + }, + "MaxConcurrentTransforms":{ + "shape":"MaxConcurrentTransforms", + "documentation":"

    The maximum number of parallel requests that can be sent to each instance in a transform job. If MaxConcurrentTransforms is set to 0 or left unset, Amazon SageMaker checks the optional execution-parameters to determine the settings for your chosen algorithm. If the execution-parameters endpoint is not enabled, the default value is 1. For more information on execution-parameters, see How Containers Serve Requests. For built-in algorithms, you don't need to set a value for MaxConcurrentTransforms.

    " + }, + "MaxPayloadInMB":{ + "shape":"MaxPayloadInMB", + "documentation":"

    The maximum allowed size of the payload, in MB. A payload is the data portion of a record (without metadata). The value in MaxPayloadInMB must be greater than, or equal to, the size of a single record. To estimate the size of a record in MB, divide the size of your dataset by the number of records. To ensure that the records fit within the maximum payload size, we recommend using a slightly larger value. The default value is 6 MB.

    For cases where the payload might be arbitrarily large and is transmitted using HTTP chunked encoding, set the value to 0. This feature works only in supported algorithms. Currently, Amazon SageMaker built-in algorithms do not support HTTP chunked encoding.

    " + }, + "BatchStrategy":{ + "shape":"BatchStrategy", + "documentation":"

    Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record.

    To enable the batch strategy, you must set the SplitType property to Line, RecordIO, or TFRecord.

    To use only one record when making an HTTP invocation request to a container, set BatchStrategy to SingleRecord and SplitType to Line.

    To fit as many records in a mini-batch as can fit within the MaxPayloadInMB limit, set BatchStrategy to MultiRecord and SplitType to Line.

    " + }, + "Environment":{ + "shape":"TransformEnvironmentMap", + "documentation":"

    The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

    " + }, + "TransformInput":{ + "shape":"TransformInput", + "documentation":"

    Describes the input source and the way the transform job consumes it.

    " + }, + "TransformOutput":{ + "shape":"TransformOutput", + "documentation":"

    Describes the results of the transform job.

    " + }, + "TransformResources":{ + "shape":"TransformResources", + "documentation":"

    Describes the resources, including ML instance types and ML instance count, to use for the transform job.

    " + }, + "DataProcessing":{ + "shape":"DataProcessing", + "documentation":"

    The data structure used to specify the data to be used for inference in a batch transform job and to associate the data that is relevant to the prediction results in the output. The input filter provided allows you to exclude input data that is not needed for inference in a batch transform job. The output filter provided allows you to include input data relevant to interpreting the predictions in the output from the job. For more information, see Associate Prediction Results with their Corresponding Input Records.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    (Optional) An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "ExperimentConfig":{"shape":"ExperimentConfig"} + } + }, + "CreateTransformJobResponse":{ + "type":"structure", + "required":["TransformJobArn"], + "members":{ + "TransformJobArn":{ + "shape":"TransformJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the transform job.

    " + } + } + }, + "CreateTrialComponentRequest":{ + "type":"structure", + "required":["TrialComponentName"], + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component. The name must be unique in your AWS account and is not case-sensitive.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialComponentName is displayed.

    " + }, + "Status":{ + "shape":"TrialComponentStatus", + "documentation":"

    The status of the component. States include:

    • InProgress

    • Completed

    • Failed

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    When the component started.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    When the component ended.

    " + }, + "Parameters":{ + "shape":"TrialComponentParameters", + "documentation":"

    The hyperparameters for the component.

    " + }, + "InputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The input artifacts for the component. Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types.

    " + }, + "OutputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The output artifacts for the component. Examples of output artifacts are metrics, snapshots, logs, and images.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags to associate with the component. You can use Search API to search on the tags.

    " + } + } + }, + "CreateTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial component.

    " + } + } + }, + "CreateTrialRequest":{ + "type":"structure", + "required":[ + "TrialName", + "ExperimentName" + ], + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial. The name must be unique in your AWS account and is not case-sensitive.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialName is displayed.

    " + }, + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment to associate the trial with.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tags to associate with the trial. You can use Search API to search on the tags.

    " + } + } + }, + "CreateTrialResponse":{ + "type":"structure", + "members":{ + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + } + } + }, + "CreateUserProfileRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The ID of the associated Domain.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    A name for the UserProfile.

    " + }, + "SingleSignOnUserIdentifier":{ + "shape":"SingleSignOnUserIdentifier", + "documentation":"

    A specifier for the type of value specified in SingleSignOnUserValue. Currently, the only supported value is \"UserName\". If the Domain's AuthMode is SSO, this field is required. If the Domain's AuthMode is not SSO, this field cannot be specified.

    " + }, + "SingleSignOnUserValue":{ + "shape":"String256", + "documentation":"

    The username of the associated AWS Single Sign-On User for this UserProfile. If the Domain's AuthMode is SSO, this field is required, and must match a valid username of a user in your directory. If the Domain's AuthMode is not SSO, this field cannot be specified.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Each tag consists of a key and an optional value. Tag keys must be unique per resource.

    " + }, + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

    A collection of settings.

    " + } + } + }, + "CreateUserProfileResponse":{ + "type":"structure", + "members":{ + "UserProfileArn":{ + "shape":"UserProfileArn", + "documentation":"

    The user profile Amazon Resource Name (ARN).

    " + } + } + }, + "CreateWorkteamRequest":{ + "type":"structure", + "required":[ + "WorkteamName", + "MemberDefinitions", + "Description" + ], + "members":{ + "WorkteamName":{ + "shape":"WorkteamName", + "documentation":"

    The name of the work team. Use this name to identify the work team.

    " + }, + "MemberDefinitions":{ + "shape":"MemberDefinitions", + "documentation":"

    A list of MemberDefinition objects that contains objects that identify the Amazon Cognito user pool that makes up the work team. For more information, see Amazon Cognito User Pools.

    All of the CognitoMemberDefinition objects that make up the member definition must have the same ClientId and UserPool values.

    " + }, + "Description":{ + "shape":"String200", + "documentation":"

    A description of the work team.

    " + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

    Configures notification of workers regarding available or expiring work items.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs.

    For more information, see Resource Tag and Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + } + } + }, + "CreateWorkteamResponse":{ + "type":"structure", + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the work team. You can use this ARN to identify the work team.

    " + } + } + }, + "CreationTime":{"type":"timestamp"}, + "CsvContentType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*\\/[a-zA-Z0-9](-*[a-zA-Z0-9.])*" + }, + "CsvContentTypes":{ + "type":"list", + "member":{"shape":"CsvContentType"}, + "max":10, + "min":1 + }, + "DataCaptureConfig":{ + "type":"structure", + "required":[ + "InitialSamplingPercentage", + "DestinationS3Uri", + "CaptureOptions" + ], + "members":{ + "EnableCapture":{ + "shape":"EnableCapture", + "documentation":"

    " + }, + "InitialSamplingPercentage":{ + "shape":"SamplingPercentage", + "documentation":"

    " + }, + "DestinationS3Uri":{ + "shape":"DestinationS3Uri", + "documentation":"

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    " + }, + "CaptureOptions":{ + "shape":"CaptureOptionList", + "documentation":"

    " + }, + "CaptureContentTypeHeader":{ + "shape":"CaptureContentTypeHeader", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "DataCaptureConfigSummary":{ + "type":"structure", + "required":[ + "EnableCapture", + "CaptureStatus", + "CurrentSamplingPercentage", + "DestinationS3Uri", + "KmsKeyId" + ], + "members":{ + "EnableCapture":{ + "shape":"EnableCapture", + "documentation":"

    " + }, + "CaptureStatus":{ + "shape":"CaptureStatus", + "documentation":"

    " + }, + "CurrentSamplingPercentage":{ + "shape":"SamplingPercentage", + "documentation":"

    " + }, + "DestinationS3Uri":{ + "shape":"DestinationS3Uri", + "documentation":"

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "DataExplorationNotebookLocation":{ + "type":"string", + "min":1 + }, + "DataInputConfig":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\S\\s]+" + }, + "DataProcessing":{ + "type":"structure", + "members":{ + "InputFilter":{ + "shape":"JsonPath", + "documentation":"

    A JSONPath expression used to select a portion of the input data to pass to the algorithm. Use the InputFilter parameter to exclude fields, such as an ID column, from the input. If you want Amazon SageMaker to pass the entire input dataset to the algorithm, accept the default value $.

    Examples: \"$\", \"$[1:]\", \"$.features\"

    " + }, + "OutputFilter":{ + "shape":"JsonPath", + "documentation":"

    A JSONPath expression used to select a portion of the joined dataset to save in the output file for a batch transform job. If you want Amazon SageMaker to store the entire input dataset in the output file, leave the default value, $. If you specify indexes that aren't within the dimension size of the joined dataset, you get an error.

    Examples: \"$\", \"$[0,5:]\", \"$['id','SageMakerOutput']\"

    " + }, + "JoinSource":{ + "shape":"JoinSource", + "documentation":"

    Specifies the source of the data to join with the transformed data. The valid values are None and Input. The default value is None, which specifies not to join the input with the transformed data. If you want the batch transform job to join the original input data with the transformed data, set JoinSource to Input.

    For JSON or JSONLines objects, such as a JSON array, Amazon SageMaker adds the transformed data to the input JSON object in an attribute called SageMakerOutput. The joined result for JSON must be a key-value pair object. If the input is not a key-value pair object, Amazon SageMaker creates a new JSON file. In the new JSON file, and the input data is stored under the SageMakerInput key and the results are stored in SageMakerOutput.

    For CSV files, Amazon SageMaker combines the transformed data with the input data at the end of the input data and stores it in the output file. The joined data has the joined input data followed by the transformed data and the output is a CSV file.

    " + } + }, + "documentation":"

    The data structure used to specify the data to be used for inference in a batch transform job and to associate the data that is relevant to the prediction results in the output. The input filter provided allows you to exclude input data that is not needed for inference in a batch transform job. The output filter provided allows you to include input data relevant to interpreting the predictions in the output from the job. For more information, see Associate Prediction Results with their Corresponding Input Records.

    " + }, + "DataSource":{ + "type":"structure", + "members":{ + "S3DataSource":{ + "shape":"S3DataSource", + "documentation":"

    The S3 location of the data source that is associated with a channel.

    " + }, + "FileSystemDataSource":{ + "shape":"FileSystemDataSource", + "documentation":"

    The file system that is associated with a channel.

    " + } + }, + "documentation":"

    Describes the location of the channel data.

    " + }, + "DebugHookConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "LocalPath":{ + "shape":"DirectoryPath", + "documentation":"

    Path to local storage location for tensors. Defaults to /opt/ml/output/tensors/.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    Path to Amazon S3 storage location for tensors.

    " + }, + "HookParameters":{ + "shape":"HookParameters", + "documentation":"

    Configuration information for the debug hook parameters.

    " + }, + "CollectionConfigurations":{ + "shape":"CollectionConfigurations", + "documentation":"

    Configuration information for tensor collections.

    " + } + }, + "documentation":"

    Configuration information for the debug hook parameters, collection configuration, and storage paths.

    " + }, + "DebugRuleConfiguration":{ + "type":"structure", + "required":[ + "RuleConfigurationName", + "RuleEvaluatorImage" + ], + "members":{ + "RuleConfigurationName":{ + "shape":"RuleConfigurationName", + "documentation":"

    The name of the rule configuration. It must be unique relative to other rule configuration names.

    " + }, + "LocalPath":{ + "shape":"DirectoryPath", + "documentation":"

    Path to local storage location for output of rules. Defaults to /opt/ml/processing/output/rule/.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    Path to Amazon S3 storage location for rules.

    " + }, + "RuleEvaluatorImage":{ + "shape":"AlgorithmImage", + "documentation":"

    The Amazon Elastic Container (ECR) Image for the managed rule evaluation.

    " + }, + "InstanceType":{ + "shape":"ProcessingInstanceType", + "documentation":"

    The instance type to deploy for a training job.

    " + }, + "VolumeSizeInGB":{ + "shape":"OptionalVolumeSizeInGB", + "documentation":"

    The size, in GB, of the ML storage volume attached to the processing instance.

    " + }, + "RuleParameters":{ + "shape":"RuleParameters", + "documentation":"

    Runtime configuration for rule container.

    " + } + }, + "documentation":"

    Configuration information for debugging rules.

    " + }, + "DebugRuleConfigurations":{ + "type":"list", + "member":{"shape":"DebugRuleConfiguration"}, + "max":20, + "min":0 + }, + "DebugRuleEvaluationStatus":{ + "type":"structure", + "members":{ + "RuleConfigurationName":{ + "shape":"RuleConfigurationName", + "documentation":"

    The name of the rule configuration

    " + }, + "RuleEvaluationJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the rule evaluation job.

    " + }, + "RuleEvaluationStatus":{ + "shape":"RuleEvaluationStatus", + "documentation":"

    Status of the rule evaluation.

    " + }, + "StatusDetails":{ + "shape":"StatusDetails", + "documentation":"

    Details from the rule evaluation.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    Timestamp when the rule evaluation status was last modified.

    " + } + }, + "documentation":"

    Information about the status of the rule evaluation.

    " + }, + "DebugRuleEvaluationStatuses":{ + "type":"list", + "member":{"shape":"DebugRuleEvaluationStatus"}, + "max":20, + "min":0 + }, + "DeleteAlgorithmInput":{ + "type":"structure", + "required":["AlgorithmName"], + "members":{ + "AlgorithmName":{ + "shape":"EntityName", + "documentation":"

    The name of the algorithm to delete.

    " + } + } + }, + "DeleteAppRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName", + "AppType", + "AppName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "AppType":{ + "shape":"AppType", + "documentation":"

    The type of app.

    " + }, + "AppName":{ + "shape":"AppName", + "documentation":"

    The name of the app.

    " + } + } + }, + "DeleteCodeRepositoryInput":{ + "type":"structure", + "required":["CodeRepositoryName"], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository to delete.

    " + } + } + }, + "DeleteDomainRequest":{ + "type":"structure", + "required":["DomainId"], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "RetentionPolicy":{ + "shape":"RetentionPolicy", + "documentation":"

    The retention policy for this domain, which specifies whether resources will be retained after the Domain is deleted. By default, all resources are retained (not automatically deleted).

    " + } + } + }, + "DeleteEndpointConfigInput":{ + "type":"structure", + "required":["EndpointConfigName"], + "members":{ + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the endpoint configuration that you want to delete.

    " + } + } + }, + "DeleteEndpointInput":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint that you want to delete.

    " + } + } + }, + "DeleteExperimentRequest":{ + "type":"structure", + "required":["ExperimentName"], + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment to delete.

    " + } + } + }, + "DeleteExperimentResponse":{ + "type":"structure", + "members":{ + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment that is being deleted.

    " + } + } + }, + "DeleteFlowDefinitionRequest":{ + "type":"structure", + "required":["FlowDefinitionName"], + "members":{ + "FlowDefinitionName":{ + "shape":"FlowDefinitionName", + "documentation":"

    The name of the flow definition you are deleting.

    " + } + } + }, + "DeleteFlowDefinitionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteModelInput":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model to delete.

    " + } + } + }, + "DeleteModelPackageInput":{ + "type":"structure", + "required":["ModelPackageName"], + "members":{ + "ModelPackageName":{ + "shape":"EntityName", + "documentation":"

    The name of the model package. The name must have 1 to 63 characters. Valid characters are a-z, A-Z, 0-9, and - (hyphen).

    " + } + } + }, + "DeleteMonitoringScheduleRequest":{ + "type":"structure", + "required":["MonitoringScheduleName"], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the monitoring schedule to delete.

    " + } + } + }, + "DeleteNotebookInstanceInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the Amazon SageMaker notebook instance to delete.

    " + } + } + }, + "DeleteNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration to delete.

    " + } + } + }, + "DeleteTagsInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource whose tags you want to delete.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    An array or one or more tag keys to delete.

    " + } + } + }, + "DeleteTagsOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteTrialComponentRequest":{ + "type":"structure", + "required":["TrialComponentName"], + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component to delete.

    " + } + } + }, + "DeleteTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the component is being deleted.

    " + } + } + }, + "DeleteTrialRequest":{ + "type":"structure", + "required":["TrialName"], + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial to delete.

    " + } + } + }, + "DeleteTrialResponse":{ + "type":"structure", + "members":{ + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial that is being deleted.

    " + } + } + }, + "DeleteUserProfileRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + } + } + }, + "DeleteWorkteamRequest":{ + "type":"structure", + "required":["WorkteamName"], + "members":{ + "WorkteamName":{ + "shape":"WorkteamName", + "documentation":"

    The name of the work team to delete.

    " + } + } + }, + "DeleteWorkteamResponse":{ + "type":"structure", + "required":["Success"], + "members":{ + "Success":{ + "shape":"Success", + "documentation":"

    Returns true if the work team was successfully deleted; otherwise, returns false.

    " + } + } + }, + "DeployedImage":{ + "type":"structure", + "members":{ + "SpecifiedImage":{ + "shape":"Image", + "documentation":"

    The image path you specified when you created the model.

    " + }, + "ResolvedImage":{ + "shape":"Image", + "documentation":"

    The specific digest path of the image hosted in this ProductionVariant.

    " + }, + "ResolutionTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time when the image path for the model resolved to the ResolvedImage

    " + } + }, + "documentation":"

    Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this ProductionVariant.

    If you used the registry/repository[:tag] form to specify the image path of the primary container when you created the model hosted in this ProductionVariant, the path resolves to a path of the form registry/repository[@digest]. A digest is a hash value that identifies a specific version of an image. For information about Amazon ECR paths, see Pulling an Image in the Amazon ECR User Guide.

    " + }, + "DeployedImages":{ + "type":"list", + "member":{"shape":"DeployedImage"} + }, + "DescribeAlgorithmInput":{ + "type":"structure", + "required":["AlgorithmName"], + "members":{ + "AlgorithmName":{ + "shape":"ArnOrName", + "documentation":"

    The name of the algorithm to describe.

    " + } + } + }, + "DescribeAlgorithmOutput":{ + "type":"structure", + "required":[ + "AlgorithmName", + "AlgorithmArn", + "CreationTime", + "TrainingSpecification", + "AlgorithmStatus", + "AlgorithmStatusDetails" + ], + "members":{ + "AlgorithmName":{ + "shape":"EntityName", + "documentation":"

    The name of the algorithm being described.

    " + }, + "AlgorithmArn":{ + "shape":"AlgorithmArn", + "documentation":"

    The Amazon Resource Name (ARN) of the algorithm.

    " + }, + "AlgorithmDescription":{ + "shape":"EntityDescription", + "documentation":"

    A brief summary about the algorithm.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp specifying when the algorithm was created.

    " + }, + "TrainingSpecification":{ + "shape":"TrainingSpecification", + "documentation":"

    Details about training jobs run by this algorithm.

    " + }, + "InferenceSpecification":{ + "shape":"InferenceSpecification", + "documentation":"

    Details about inference jobs that the algorithm runs.

    " + }, + "ValidationSpecification":{ + "shape":"AlgorithmValidationSpecification", + "documentation":"

    Details about configurations for one or more training jobs that Amazon SageMaker runs to test the algorithm.

    " + }, + "AlgorithmStatus":{ + "shape":"AlgorithmStatus", + "documentation":"

    The current status of the algorithm.

    " + }, + "AlgorithmStatusDetails":{ + "shape":"AlgorithmStatusDetails", + "documentation":"

    Details about the current status of the algorithm.

    " + }, + "ProductId":{ + "shape":"ProductId", + "documentation":"

    The product identifier of the algorithm.

    " + }, + "CertifyForMarketplace":{ + "shape":"CertifyForMarketplace", + "documentation":"

    Whether the algorithm is certified to be listed in AWS Marketplace.

    " + } + } + }, + "DescribeAppRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName", + "AppType", + "AppName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "AppType":{ + "shape":"AppType", + "documentation":"

    The type of app.

    " + }, + "AppName":{ + "shape":"AppName", + "documentation":"

    The name of the app.

    " + } + } + }, + "DescribeAppResponse":{ + "type":"structure", + "members":{ + "AppArn":{ + "shape":"AppArn", + "documentation":"

    The app's Amazon Resource Name (ARN).

    " + }, + "AppType":{ + "shape":"AppType", + "documentation":"

    The type of app.

    " + }, + "AppName":{ + "shape":"AppName", + "documentation":"

    The name of the app.

    " + }, + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "Status":{ + "shape":"AppStatus", + "documentation":"

    The status.

    " + }, + "LastHealthCheckTimestamp":{ + "shape":"Timestamp", + "documentation":"

    The timestamp of the last health check.

    " + }, + "LastUserActivityTimestamp":{ + "shape":"Timestamp", + "documentation":"

    The timestamp of the last user's activity.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The failure reason.

    " + }, + "ResourceSpec":{ + "shape":"ResourceSpec", + "documentation":"

    The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + } + } + }, + "DescribeAutoMLJobRequest":{ + "type":"structure", + "required":["AutoMLJobName"], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    Request information about a job using that job's unique name.

    " + } + } + }, + "DescribeAutoMLJobResponse":{ + "type":"structure", + "required":[ + "AutoMLJobName", + "AutoMLJobArn", + "InputDataConfig", + "OutputDataConfig", + "RoleArn", + "CreationTime", + "LastModifiedTime", + "AutoMLJobStatus", + "AutoMLJobSecondaryStatus" + ], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    Returns the name of a job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    Returns the job's ARN.

    " + }, + "InputDataConfig":{ + "shape":"AutoMLInputDataConfig", + "documentation":"

    Returns the job's input data config.

    " + }, + "OutputDataConfig":{ + "shape":"AutoMLOutputDataConfig", + "documentation":"

    Returns the job's output data config.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that has read permission to the input data location and write permission to the output data location in Amazon S3.

    " + }, + "AutoMLJobObjective":{ + "shape":"AutoMLJobObjective", + "documentation":"

    Returns the job's objective.

    " + }, + "ProblemType":{ + "shape":"ProblemType", + "documentation":"

    Returns the job's problem type.

    " + }, + "AutoMLJobConfig":{ + "shape":"AutoMLJobConfig", + "documentation":"

    Returns the job's config.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    Returns the job's creation time.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    Returns the job's end time.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    Returns the job's last modified time.

    " + }, + "FailureReason":{ + "shape":"AutoMLFailureReason", + "documentation":"

    Returns the job's FailureReason.

    " + }, + "BestCandidate":{ + "shape":"AutoMLCandidate", + "documentation":"

    Returns the job's BestCandidate.

    " + }, + "AutoMLJobStatus":{ + "shape":"AutoMLJobStatus", + "documentation":"

    Returns the job's AutoMLJobStatus.

    " + }, + "AutoMLJobSecondaryStatus":{ + "shape":"AutoMLJobSecondaryStatus", + "documentation":"

    Returns the job's AutoMLJobSecondaryStatus.

    " + }, + "GenerateCandidateDefinitionsOnly":{ + "shape":"GenerateCandidateDefinitionsOnly", + "documentation":"

    Returns the job's output from GenerateCandidateDefinitionsOnly.

    " + }, + "AutoMLJobArtifacts":{ + "shape":"AutoMLJobArtifacts", + "documentation":"

    Returns information on the job's artifacts found in AutoMLJobArtifacts.

    " + }, + "ResolvedAttributes":{ + "shape":"ResolvedAttributes", + "documentation":"

    This contains ProblemType, AutoMLJobObjective and CompletionCriteria. They're auto-inferred values, if not provided by you. If you do provide them, then they'll be the same as provided.

    " + } + } + }, + "DescribeCodeRepositoryInput":{ + "type":"structure", + "required":["CodeRepositoryName"], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository to describe.

    " + } + } + }, + "DescribeCodeRepositoryOutput":{ + "type":"structure", + "required":[ + "CodeRepositoryName", + "CodeRepositoryArn", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository.

    " + }, + "CodeRepositoryArn":{ + "shape":"CodeRepositoryArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Git repository.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The date and time that the repository was created.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The date and time that the repository was last changed.

    " + }, + "GitConfig":{ + "shape":"GitConfig", + "documentation":"

    Configuration details about the repository, including the URL where the repository is located, the default branch, and the Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the repository.

    " + } + } + }, + "DescribeCompilationJobRequest":{ + "type":"structure", + "required":["CompilationJobName"], + "members":{ + "CompilationJobName":{ + "shape":"EntityName", + "documentation":"

    The name of the model compilation job that you want information about.

    " + } + } + }, + "DescribeCompilationJobResponse":{ + "type":"structure", + "required":[ + "CompilationJobName", + "CompilationJobArn", + "CompilationJobStatus", + "StoppingCondition", + "CreationTime", + "LastModifiedTime", + "FailureReason", + "ModelArtifacts", + "RoleArn", + "InputConfig", + "OutputConfig" + ], + "members":{ + "CompilationJobName":{ + "shape":"EntityName", + "documentation":"

    The name of the model compilation job.

    " + }, + "CompilationJobArn":{ + "shape":"CompilationJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker assumes to perform the model compilation job.

    " + }, + "CompilationJobStatus":{ + "shape":"CompilationJobStatus", + "documentation":"

    The status of the model compilation job.

    " + }, + "CompilationStartTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the model compilation job started the CompilationJob instances.

    You are billed for the time between this timestamp and the timestamp in the DescribeCompilationJobResponse$CompilationEndTime field. In Amazon CloudWatch Logs, the start time might be later than this time. That's because it takes time to download the compilation job, which depends on the size of the compilation job container.

    " + }, + "CompilationEndTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the model compilation job on a compilation job instance ended. For a successful or stopped job, this is when the job's model artifacts have finished uploading. For a failed job, this is when Amazon SageMaker detected that the job failed.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model compilation job can run. When the job reaches the time limit, Amazon SageMaker ends the compilation job. Use this API to cap model training costs.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The time that the model compilation job was created.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The time that the status of the model compilation job was last modified.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If a model compilation job failed, the reason it failed.

    " + }, + "ModelArtifacts":{ + "shape":"ModelArtifacts", + "documentation":"

    Information about the location in Amazon S3 that has been configured for storing the model artifacts used in the compilation job.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model compilation job.

    " + }, + "InputConfig":{ + "shape":"InputConfig", + "documentation":"

    Information about the location in Amazon S3 of the input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.

    " + }, + "OutputConfig":{ + "shape":"OutputConfig", + "documentation":"

    Information about the output location for the compiled model and the target device that the model runs on.

    " + } + } + }, + "DescribeDomainRequest":{ + "type":"structure", + "required":["DomainId"], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + } + } + }, + "DescribeDomainResponse":{ + "type":"structure", + "members":{ + "DomainArn":{ + "shape":"DomainArn", + "documentation":"

    The domain's Amazon Resource Name (ARN).

    " + }, + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The domain name.

    " + }, + "HomeEfsFileSystemId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the Amazon Elastic File System (EFS) managed by this Domain.

    " + }, + "SingleSignOnManagedApplicationInstanceId":{ + "shape":"String256", + "documentation":"

    The SSO managed application instance ID.

    " + }, + "Status":{ + "shape":"DomainStatus", + "documentation":"

    The status.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The last modified time.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The failure reason.

    " + }, + "AuthMode":{ + "shape":"AuthMode", + "documentation":"

    The domain's authentication mode.

    " + }, + "DefaultUserSettings":{ + "shape":"UserSettings", + "documentation":"

    Settings which are applied to all UserProfile in this domain, if settings are not explicitly specified in a given UserProfile.

    " + }, + "HomeEfsFileSystemKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service encryption key ID.

    " + }, + "SubnetIds":{ + "shape":"Subnets", + "documentation":"

    Security setting to limit to a set of subnets.

    " + }, + "Url":{ + "shape":"String1024", + "documentation":"

    The domain's URL.

    " + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

    The ID of the Amazon Virtual Private Cloud.

    " + } + } + }, + "DescribeEndpointConfigInput":{ + "type":"structure", + "required":["EndpointConfigName"], + "members":{ + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the endpoint configuration.

    " + } + } + }, + "DescribeEndpointConfigOutput":{ + "type":"structure", + "required":[ + "EndpointConfigName", + "EndpointConfigArn", + "ProductionVariants", + "CreationTime" + ], + "members":{ + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    Name of the Amazon SageMaker endpoint configuration.

    " + }, + "EndpointConfigArn":{ + "shape":"EndpointConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint configuration.

    " + }, + "ProductionVariants":{ + "shape":"ProductionVariantList", + "documentation":"

    An array of ProductionVariant objects, one for each model that you want to host at this endpoint.

    " + }, + "DataCaptureConfig":{"shape":"DataCaptureConfig"}, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint configuration was created.

    " + } + } + }, + "DescribeEndpointInput":{ + "type":"structure", + "required":["EndpointName"], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint.

    " + } + } + }, + "DescribeEndpointOutput":{ + "type":"structure", + "required":[ + "EndpointName", + "EndpointArn", + "EndpointConfigName", + "EndpointStatus", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    Name of the endpoint.

    " + }, + "EndpointArn":{ + "shape":"EndpointArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint.

    " + }, + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the endpoint configuration associated with this endpoint.

    " + }, + "ProductionVariants":{ + "shape":"ProductionVariantSummaryList", + "documentation":"

    An array of ProductionVariantSummary objects, one for each model hosted behind this endpoint.

    " + }, + "DataCaptureConfig":{"shape":"DataCaptureConfigSummary"}, + "EndpointStatus":{ + "shape":"EndpointStatus", + "documentation":"

    The status of the endpoint.

    • OutOfService: Endpoint is not available to take incoming requests.

    • Creating: CreateEndpoint is executing.

    • Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

    • SystemUpdating: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.

    • RollingBack: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an InService status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called explicitly.

    • InService: Endpoint is available to process incoming requests.

    • Deleting: DeleteEndpoint is executing.

    • Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason for information about the failure. DeleteEndpoint is the only operation that can be performed on a failed endpoint.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the status of the endpoint is Failed, the reason why it failed.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint was last modified.

    " + } + } + }, + "DescribeExperimentRequest":{ + "type":"structure", + "required":["ExperimentName"], + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment to describe.

    " + } + } + }, + "DescribeExperimentResponse":{ + "type":"structure", + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment.

    " + }, + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment as displayed. If DisplayName isn't specified, ExperimentName is displayed.

    " + }, + "Source":{ + "shape":"ExperimentSource", + "documentation":"

    The ARN of the source and, optionally, the type.

    " + }, + "Description":{ + "shape":"ExperimentDescription", + "documentation":"

    The description of the experiment.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was created.

    " + }, + "CreatedBy":{ + "shape":"UserContext", + "documentation":"

    Who created the experiment.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was last modified.

    " + }, + "LastModifiedBy":{ + "shape":"UserContext", + "documentation":"

    Who last modified the experiment.

    " + } + } + }, + "DescribeFlowDefinitionRequest":{ + "type":"structure", + "required":["FlowDefinitionName"], + "members":{ + "FlowDefinitionName":{ + "shape":"FlowDefinitionName", + "documentation":"

    The name of the flow definition.

    " + } + } + }, + "DescribeFlowDefinitionResponse":{ + "type":"structure", + "required":[ + "FlowDefinitionArn", + "FlowDefinitionName", + "FlowDefinitionStatus", + "CreationTime", + "HumanLoopConfig", + "OutputConfig", + "RoleArn" + ], + "members":{ + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow defintion.

    " + }, + "FlowDefinitionName":{ + "shape":"FlowDefinitionName", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition.

    " + }, + "FlowDefinitionStatus":{ + "shape":"FlowDefinitionStatus", + "documentation":"

    The status of the flow definition. Valid values are listed below.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the flow definition was created.

    " + }, + "HumanLoopRequestSource":{ + "shape":"HumanLoopRequestSource", + "documentation":"

    Container for configuring the source of human task requests. Used to specify if Amazon Rekognition or Amazon Textract is used as an integration source.

    " + }, + "HumanLoopActivationConfig":{ + "shape":"HumanLoopActivationConfig", + "documentation":"

    An object containing information about what triggers a human review workflow.

    " + }, + "HumanLoopConfig":{ + "shape":"HumanLoopConfig", + "documentation":"

    An object containing information about who works on the task, the workforce task price, and other task details.

    " + }, + "OutputConfig":{ + "shape":"FlowDefinitionOutputConfig", + "documentation":"

    An object containing information about the output file.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) execution role for the flow definition.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    " + } + } + }, + "DescribeHumanTaskUiRequest":{ + "type":"structure", + "required":["HumanTaskUiName"], + "members":{ + "HumanTaskUiName":{ + "shape":"HumanTaskUiName", + "documentation":"

    The name of the human task user interface you want information about.

    " + } + } + }, + "DescribeHumanTaskUiResponse":{ + "type":"structure", + "required":[ + "HumanTaskUiArn", + "HumanTaskUiName", + "CreationTime", + "UiTemplate" + ], + "members":{ + "HumanTaskUiArn":{ + "shape":"HumanTaskUiArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human task user interface.

    " + }, + "HumanTaskUiName":{ + "shape":"HumanTaskUiName", + "documentation":"

    The name of the human task user interface.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the human task user interface was created.

    " + }, + "UiTemplate":{"shape":"UiTemplateInfo"} + } + }, + "DescribeHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job to describe.

    " + } + } + }, + "DescribeHyperParameterTuningJobResponse":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobArn", + "HyperParameterTuningJobConfig", + "HyperParameterTuningJobStatus", + "CreationTime", + "TrainingJobStatusCounters", + "ObjectiveStatusCounters" + ], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job.

    " + }, + "HyperParameterTuningJobArn":{ + "shape":"HyperParameterTuningJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the tuning job.

    " + }, + "HyperParameterTuningJobConfig":{ + "shape":"HyperParameterTuningJobConfig", + "documentation":"

    The HyperParameterTuningJobConfig object that specifies the configuration of the tuning job.

    " + }, + "TrainingJobDefinition":{ + "shape":"HyperParameterTrainingJobDefinition", + "documentation":"

    The HyperParameterTrainingJobDefinition object that specifies the definition of the training jobs that this tuning job launches.

    " + }, + "TrainingJobDefinitions":{ + "shape":"HyperParameterTrainingJobDefinitions", + "documentation":"

    " + }, + "HyperParameterTuningJobStatus":{ + "shape":"HyperParameterTuningJobStatus", + "documentation":"

    The status of the tuning job: InProgress, Completed, Failed, Stopping, or Stopped.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the tuning job started.

    " + }, + "HyperParameterTuningEndTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the tuning job ended.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the status of the tuning job was modified.

    " + }, + "TrainingJobStatusCounters":{ + "shape":"TrainingJobStatusCounters", + "documentation":"

    The TrainingJobStatusCounters object that specifies the number of training jobs, categorized by status, that this tuning job launched.

    " + }, + "ObjectiveStatusCounters":{ + "shape":"ObjectiveStatusCounters", + "documentation":"

    The ObjectiveStatusCounters object that specifies the number of training jobs, categorized by the status of their final objective metric, that this tuning job launched.

    " + }, + "BestTrainingJob":{ + "shape":"HyperParameterTrainingJobSummary", + "documentation":"

    A TrainingJobSummary object that describes the training job that completed with the best current HyperParameterTuningJobObjective.

    " + }, + "OverallBestTrainingJob":{ + "shape":"HyperParameterTrainingJobSummary", + "documentation":"

    If the hyperparameter tuning job is an warm start tuning job with a WarmStartType of IDENTICAL_DATA_AND_ALGORITHM, this is the TrainingJobSummary for the training job with the best objective metric value of all training jobs launched by this tuning job and all parent jobs specified for the warm start tuning job.

    " + }, + "WarmStartConfig":{ + "shape":"HyperParameterTuningJobWarmStartConfig", + "documentation":"

    The configuration for starting the hyperparameter parameter tuning job using one or more previous tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the tuning job failed, the reason it failed.

    " + } + } + }, + "DescribeLabelingJobRequest":{ + "type":"structure", + "required":["LabelingJobName"], + "members":{ + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name of the labeling job to return information for.

    " + } + } + }, + "DescribeLabelingJobResponse":{ + "type":"structure", + "required":[ + "LabelingJobStatus", + "LabelCounters", + "CreationTime", + "LastModifiedTime", + "JobReferenceCode", + "LabelingJobName", + "LabelingJobArn", + "InputConfig", + "OutputConfig", + "RoleArn", + "HumanTaskConfig" + ], + "members":{ + "LabelingJobStatus":{ + "shape":"LabelingJobStatus", + "documentation":"

    The processing status of the labeling job.

    " + }, + "LabelCounters":{ + "shape":"LabelCounters", + "documentation":"

    Provides a breakdown of the number of data objects labeled by humans, the number of objects labeled by machine, the number of objects than couldn't be labeled, and the total number of objects labeled.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the job failed, the reason that it failed.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the labeling job was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the labeling job was last updated.

    " + }, + "JobReferenceCode":{ + "shape":"JobReferenceCode", + "documentation":"

    A unique identifier for work done as part of a labeling job.

    " + }, + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name assigned to the labeling job when it was created.

    " + }, + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the labeling job.

    " + }, + "LabelAttributeName":{ + "shape":"LabelAttributeName", + "documentation":"

    The attribute used as the label in the output manifest file.

    " + }, + "InputConfig":{ + "shape":"LabelingJobInputConfig", + "documentation":"

    Input configuration information for the labeling job, such as the Amazon S3 location of the data objects and the location of the manifest file that describes the data objects.

    " + }, + "OutputConfig":{ + "shape":"LabelingJobOutputConfig", + "documentation":"

    The location of the job's output data and the AWS Key Management Service key ID for the key used to encrypt the output data, if any.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) that Amazon SageMaker assumes to perform tasks on your behalf during data labeling.

    " + }, + "LabelCategoryConfigS3Uri":{ + "shape":"S3Uri", + "documentation":"

    The S3 location of the JSON file that defines the categories used to label data objects. Please note the following label-category limits:

    • Semantic segmentation labeling jobs using automated labeling: 20 labels

    • Box bounding labeling jobs (all): 10 labels

    The file is a JSON structure in the following format:

    {

    \"document-version\": \"2018-11-28\"

    \"labels\": [

    {

    \"label\": \"label 1\"

    },

    {

    \"label\": \"label 2\"

    },

    ...

    {

    \"label\": \"label n\"

    }

    ]

    }

    " + }, + "StoppingConditions":{ + "shape":"LabelingJobStoppingConditions", + "documentation":"

    A set of conditions for stopping a labeling job. If any of the conditions are met, the job is automatically stopped.

    " + }, + "LabelingJobAlgorithmsConfig":{ + "shape":"LabelingJobAlgorithmsConfig", + "documentation":"

    Configuration information for automated data labeling.

    " + }, + "HumanTaskConfig":{ + "shape":"HumanTaskConfig", + "documentation":"

    Configuration information required for human workers to complete a labeling task.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key/value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + }, + "LabelingJobOutput":{ + "shape":"LabelingJobOutput", + "documentation":"

    The location of the output produced by the labeling job.

    " + } + } + }, + "DescribeModelInput":{ + "type":"structure", + "required":["ModelName"], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model.

    " + } + } + }, + "DescribeModelOutput":{ + "type":"structure", + "required":[ + "ModelName", + "ExecutionRoleArn", + "CreationTime", + "ModelArn" + ], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

    Name of the Amazon SageMaker model.

    " + }, + "PrimaryContainer":{ + "shape":"ContainerDefinition", + "documentation":"

    The location of the primary inference code, associated artifacts, and custom environment map that the inference code uses when it is deployed in production.

    " + }, + "Containers":{ + "shape":"ContainerDefinitionList", + "documentation":"

    The containers in the inference pipeline.

    " + }, + "ExecutionRoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that you specified for the model.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    A VpcConfig object that specifies the VPC that this model has access to. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the model was created.

    " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    If True, no inbound or outbound network calls can be made to or from the model container.

    " + } + } + }, + "DescribeModelPackageInput":{ + "type":"structure", + "required":["ModelPackageName"], + "members":{ + "ModelPackageName":{ + "shape":"ArnOrName", + "documentation":"

    The name of the model package to describe.

    " + } + } + }, + "DescribeModelPackageOutput":{ + "type":"structure", + "required":[ + "ModelPackageName", + "ModelPackageArn", + "CreationTime", + "ModelPackageStatus", + "ModelPackageStatusDetails" + ], + "members":{ + "ModelPackageName":{ + "shape":"EntityName", + "documentation":"

    The name of the model package being described.

    " + }, + "ModelPackageArn":{ + "shape":"ModelPackageArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model package.

    " + }, + "ModelPackageDescription":{ + "shape":"EntityDescription", + "documentation":"

    A brief summary of the model package.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp specifying when the model package was created.

    " + }, + "InferenceSpecification":{ + "shape":"InferenceSpecification", + "documentation":"

    Details about inference jobs that can be run with models based on this model package.

    " + }, + "SourceAlgorithmSpecification":{ + "shape":"SourceAlgorithmSpecification", + "documentation":"

    Details about the algorithm that was used to create the model package.

    " + }, + "ValidationSpecification":{ + "shape":"ModelPackageValidationSpecification", + "documentation":"

    Configurations for one or more transform jobs that Amazon SageMaker runs to test the model package.

    " + }, + "ModelPackageStatus":{ + "shape":"ModelPackageStatus", + "documentation":"

    The current status of the model package.

    " + }, + "ModelPackageStatusDetails":{ + "shape":"ModelPackageStatusDetails", + "documentation":"

    Details about the current status of the model package.

    " + }, + "CertifyForMarketplace":{ + "shape":"CertifyForMarketplace", + "documentation":"

    Whether the model package is certified for listing on AWS Marketplace.

    " + } + } + }, + "DescribeMonitoringScheduleRequest":{ + "type":"structure", + "required":["MonitoringScheduleName"], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    Name of a previously created monitoring schedule.

    " + } + } + }, + "DescribeMonitoringScheduleResponse":{ + "type":"structure", + "required":[ + "MonitoringScheduleArn", + "MonitoringScheduleName", + "MonitoringScheduleStatus", + "CreationTime", + "LastModifiedTime", + "MonitoringScheduleConfig" + ], + "members":{ + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the monitoring schedule.

    " + }, + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    Name of the monitoring schedule.

    " + }, + "MonitoringScheduleStatus":{ + "shape":"ScheduleStatus", + "documentation":"

    The status of an monitoring job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    A string, up to one KB in size, that contains the reason a monitoring job failed, if it failed.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the monitoring job was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the monitoring job was last modified.

    " + }, + "MonitoringScheduleConfig":{ + "shape":"MonitoringScheduleConfig", + "documentation":"

    The configuration object that specifies the monitoring schedule and defines the monitoring job.

    " + }, + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint for the monitoring job.

    " + }, + "LastMonitoringExecutionSummary":{ + "shape":"MonitoringExecutionSummary", + "documentation":"

    Describes metadata on the last execution to run, if there was one.

    " + } + } + }, + "DescribeNotebookInstanceInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance that you want information about.

    " + } + } + }, + "DescribeNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration to describe.

    " + } + } + }, + "DescribeNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceLifecycleConfigArn":{ + "shape":"NotebookInstanceLifecycleConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the lifecycle configuration.

    " + }, + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration.

    " + }, + "OnCreate":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    The shell script that runs only once, when you create a notebook instance.

    " + }, + "OnStart":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    The shell script that runs every time you start a notebook instance, including when you create the notebook instance.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    A timestamp that tells when the lifecycle configuration was last modified.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp that tells when the lifecycle configuration was created.

    " + } + } + }, + "DescribeNotebookInstanceOutput":{ + "type":"structure", + "members":{ + "NotebookInstanceArn":{ + "shape":"NotebookInstanceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the notebook instance.

    " + }, + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the Amazon SageMaker notebook instance.

    " + }, + "NotebookInstanceStatus":{ + "shape":"NotebookInstanceStatus", + "documentation":"

    The status of the notebook instance.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If status is Failed, the reason it failed.

    " + }, + "Url":{ + "shape":"NotebookInstanceUrl", + "documentation":"

    The URL that you use to connect to the Jupyter notebook that is running in your notebook instance.

    " + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

    The type of ML compute instance running on the notebook instance.

    " + }, + "SubnetId":{ + "shape":"SubnetId", + "documentation":"

    The ID of the VPC subnet.

    " + }, + "SecurityGroups":{ + "shape":"SecurityGroupIds", + "documentation":"

    The IDs of the VPC security groups.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role associated with the instance.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS KMS key ID Amazon SageMaker uses to encrypt data when storing it on the ML storage volume attached to the instance.

    " + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

    The network interface IDs that Amazon SageMaker created at the time of creating the instance.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    A timestamp. Use this parameter to retrieve the time when the notebook instance was last modified.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp. Use this parameter to return the time when the notebook instance was created

    " + }, + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    Returns the name of a notebook instance lifecycle configuration.

    For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance

    " + }, + "DirectInternetAccess":{ + "shape":"DirectInternetAccess", + "documentation":"

    Describes whether Amazon SageMaker provides internet access to the notebook instance. If this value is set to Disabled, the notebook instance does not have internet access, and cannot connect to Amazon SageMaker training and endpoint services.

    For more information, see Notebook Instances Are Internet-Enabled by Default.

    " + }, + "VolumeSizeInGB":{ + "shape":"NotebookInstanceVolumeSizeInGB", + "documentation":"

    The size, in GB, of the ML storage volume attached to the notebook instance.

    " + }, + "AcceleratorTypes":{ + "shape":"NotebookInstanceAcceleratorTypes", + "documentation":"

    A list of the Elastic Inference (EI) instance types associated with this notebook instance. Currently only one EI instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.

    " + }, + "DefaultCodeRepository":{ + "shape":"CodeRepositoryNameOrUrl", + "documentation":"

    The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "AdditionalCodeRepositories":{ + "shape":"AdditionalCodeRepositoryNamesOrUrls", + "documentation":"

    An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

    Whether root access is enabled or disabled for users of the notebook instance.

    Lifecycle configurations need root access to be able to set up a notebook instance. Because of this, lifecycle configurations associated with a notebook instance always run with root access even if you disable root access for users.

    " + } + } + }, + "DescribeProcessingJobRequest":{ + "type":"structure", + "required":["ProcessingJobName"], + "members":{ + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job. The name must be unique within an AWS Region in the AWS account.

    " + } + } + }, + "DescribeProcessingJobResponse":{ + "type":"structure", + "required":[ + "ProcessingJobName", + "ProcessingResources", + "AppSpecification", + "ProcessingJobArn", + "ProcessingJobStatus", + "CreationTime" + ], + "members":{ + "ProcessingInputs":{ + "shape":"ProcessingInputs", + "documentation":"

    The inputs for a processing job.

    " + }, + "ProcessingOutputConfig":{ + "shape":"ProcessingOutputConfig", + "documentation":"

    Output configuration for the processing job.

    " + }, + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job. The name must be unique within an AWS Region in the AWS account.

    " + }, + "ProcessingResources":{ + "shape":"ProcessingResources", + "documentation":"

    Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.

    " + }, + "StoppingCondition":{ + "shape":"ProcessingStoppingCondition", + "documentation":"

    The time limit for how long the processing job is allowed to run.

    " + }, + "AppSpecification":{ + "shape":"AppSpecification", + "documentation":"

    Configures the processing job to run a specified container image.

    " + }, + "Environment":{ + "shape":"ProcessingEnvironmentMap", + "documentation":"

    The environment variables set in the Docker container.

    " + }, + "NetworkConfig":{ + "shape":"NetworkConfig", + "documentation":"

    Networking options for a processing job.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

    " + }, + "ExperimentConfig":{ + "shape":"ExperimentConfig", + "documentation":"

    The configuration information used to create an experiment.

    " + }, + "ProcessingJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the processing job.

    " + }, + "ProcessingJobStatus":{ + "shape":"ProcessingJobStatus", + "documentation":"

    Provides the status of a processing job.

    " + }, + "ExitMessage":{ + "shape":"ExitMessage", + "documentation":"

    An optional string, up to one KB in size, that contains metadata from the processing container when the processing job exits.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    A string, up to one KB in size, that contains the reason a processing job failed, if it failed.

    " + }, + "ProcessingEndTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job completed.

    " + }, + "ProcessingStartTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job started.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job was last modified.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job was created.

    " + }, + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The ARN of a monitoring schedule for an endpoint associated with this processing job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    The ARN of an AutoML job associated with this processing job.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The ARN of a training job associated with this processing job.

    " + } + } + }, + "DescribeSubscribedWorkteamRequest":{ + "type":"structure", + "required":["WorkteamArn"], + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the subscribed work team to describe.

    " + } + } + }, + "DescribeSubscribedWorkteamResponse":{ + "type":"structure", + "required":["SubscribedWorkteam"], + "members":{ + "SubscribedWorkteam":{ + "shape":"SubscribedWorkteam", + "documentation":"

    A Workteam instance that contains information about the work team.

    " + } + } + }, + "DescribeTrainingJobRequest":{ + "type":"structure", + "required":["TrainingJobName"], + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job.

    " + } + } + }, + "DescribeTrainingJobResponse":{ + "type":"structure", + "required":[ + "TrainingJobName", + "TrainingJobArn", + "ModelArtifacts", + "TrainingJobStatus", + "SecondaryStatus", + "AlgorithmSpecification", + "ResourceConfig", + "StoppingCondition", + "CreationTime" + ], + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    Name of the model training job.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the training job.

    " + }, + "TuningJobArn":{ + "shape":"HyperParameterTuningJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the training job was launched by a hyperparameter tuning job.

    " + }, + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the transform or training job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    " + }, + "ModelArtifacts":{ + "shape":"ModelArtifacts", + "documentation":"

    Information about the Amazon S3 location that is configured for storing model artifacts.

    " + }, + "TrainingJobStatus":{ + "shape":"TrainingJobStatus", + "documentation":"

    The status of the training job.

    Amazon SageMaker provides the following training job statuses:

    • InProgress - The training is in progress.

    • Completed - The training job has completed.

    • Failed - The training job has failed. To see the reason for the failure, see the FailureReason field in the response to a DescribeTrainingJobResponse call.

    • Stopping - The training job is stopping.

    • Stopped - The training job has stopped.

    For more detailed information, see SecondaryStatus.

    " + }, + "SecondaryStatus":{ + "shape":"SecondaryStatus", + "documentation":"

    Provides detailed information about the state of the training job. For detailed information on the secondary status of the training job, see StatusMessage under SecondaryStatusTransition.

    Amazon SageMaker provides primary statuses and secondary statuses that apply to each of them:

    InProgress
    • Starting - Starting the training job.

    • Downloading - An optional stage for algorithms that support File training input mode. It indicates that data is being downloaded to the ML storage volumes.

    • Training - Training is in progress.

    • Interrupted - The job stopped because the managed spot training instances were interrupted.

    • Uploading - Training is complete and the model artifacts are being uploaded to the S3 location.

    Completed
    • Completed - The training job has completed.

    Failed
    • Failed - The training job has failed. The reason for the failure is returned in the FailureReason field of DescribeTrainingJobResponse.

    Stopped
    • MaxRuntimeExceeded - The job stopped because it exceeded the maximum allowed runtime.

    • MaxWaitTmeExceeded - The job stopped because it exceeded the maximum allowed wait time.

    • Stopped - The training job has stopped.

    Stopping
    • Stopping - Stopping the training job.

    Valid values for SecondaryStatus are subject to change.

    We no longer support the following secondary statuses:

    • LaunchingMLInstances

    • PreparingTrainingStack

    • DownloadingTrainingImage

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the training job failed, the reason it failed.

    " + }, + "HyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    Algorithm-specific parameters.

    " + }, + "AlgorithmSpecification":{ + "shape":"AlgorithmSpecification", + "documentation":"

    Information about the algorithm used for training, and algorithm metadata.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The AWS Identity and Access Management (IAM) role configured for the training job.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    An array of Channel objects that describes each data input channel.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    Resources, including ML compute instances and ML storage volumes, that are configured for model training.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model training job can run. It also specifies the maximum time to wait for a spot instance. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates when the training job was created.

    " + }, + "TrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

    " + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates when the status of the training job was last modified.

    " + }, + "SecondaryStatusTransitions":{ + "shape":"SecondaryStatusTransitions", + "documentation":"

    A history of all of the secondary statuses that the training job has transitioned through.

    " + }, + "FinalMetricDataList":{ + "shape":"FinalMetricDataList", + "documentation":"

    A collection of MetricData objects that specify the names, values, and dates and times that the training algorithm emitted to Amazon CloudWatch.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    If you want to allow inbound or outbound network calls, except for calls between peers within a training cluster for distributed training, choose True. If you enable network isolation for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

    " + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithms in distributed training.

    " + }, + "EnableManagedSpotTraining":{ + "shape":"Boolean", + "documentation":"

    A Boolean indicating whether managed spot training is enabled (True) or not (False).

    " + }, + "CheckpointConfig":{"shape":"CheckpointConfig"}, + "TrainingTimeInSeconds":{ + "shape":"TrainingTimeInSeconds", + "documentation":"

    The training time in seconds.

    " + }, + "BillableTimeInSeconds":{ + "shape":"BillableTimeInSeconds", + "documentation":"

    The billable time in seconds.

    You can calculate the savings from using managed spot training using the formula (1 - BillableTimeInSeconds / TrainingTimeInSeconds) * 100. For example, if BillableTimeInSeconds is 100 and TrainingTimeInSeconds is 500, the savings is 80%.

    " + }, + "DebugHookConfig":{"shape":"DebugHookConfig"}, + "ExperimentConfig":{"shape":"ExperimentConfig"}, + "DebugRuleConfigurations":{ + "shape":"DebugRuleConfigurations", + "documentation":"

    Configuration information for debugging rules.

    " + }, + "TensorBoardOutputConfig":{"shape":"TensorBoardOutputConfig"}, + "DebugRuleEvaluationStatuses":{ + "shape":"DebugRuleEvaluationStatuses", + "documentation":"

    Status about the debug rule evaluation.

    " + } + } + }, + "DescribeTransformJobRequest":{ + "type":"structure", + "required":["TransformJobName"], + "members":{ + "TransformJobName":{ + "shape":"TransformJobName", + "documentation":"

    The name of the transform job that you want to view details of.

    " + } + } + }, + "DescribeTransformJobResponse":{ + "type":"structure", + "required":[ + "TransformJobName", + "TransformJobArn", + "TransformJobStatus", + "ModelName", + "TransformInput", + "TransformResources", + "CreationTime" + ], + "members":{ + "TransformJobName":{ + "shape":"TransformJobName", + "documentation":"

    The name of the transform job.

    " + }, + "TransformJobArn":{ + "shape":"TransformJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the transform job.

    " + }, + "TransformJobStatus":{ + "shape":"TransformJobStatus", + "documentation":"

    The status of the transform job. If the transform job failed, the reason is returned in the FailureReason field.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the transform job failed, FailureReason describes why it failed. A transform job creates a log file, which includes error messages, and stores it as an Amazon S3 object. For more information, see Log Amazon SageMaker Events with Amazon CloudWatch.

    " + }, + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model used in the transform job.

    " + }, + "MaxConcurrentTransforms":{ + "shape":"MaxConcurrentTransforms", + "documentation":"

    The maximum number of parallel requests on each instance node that can be launched in a transform job. The default value is 1.

    " + }, + "MaxPayloadInMB":{ + "shape":"MaxPayloadInMB", + "documentation":"

    The maximum payload size, in MB, used in the transform job.

    " + }, + "BatchStrategy":{ + "shape":"BatchStrategy", + "documentation":"

    Specifies the number of records to include in a mini-batch for an HTTP inference request. A record is a single unit of input data that inference can be made on. For example, a single line in a CSV file is a record.

    To enable the batch strategy, you must set SplitType to Line, RecordIO, or TFRecord.

    " + }, + "Environment":{ + "shape":"TransformEnvironmentMap", + "documentation":"

    The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

    " + }, + "TransformInput":{ + "shape":"TransformInput", + "documentation":"

    Describes the dataset to be transformed and the Amazon S3 location where it is stored.

    " + }, + "TransformOutput":{ + "shape":"TransformOutput", + "documentation":"

    Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

    " + }, + "TransformResources":{ + "shape":"TransformResources", + "documentation":"

    Describes the resources, including ML instance types and ML instance count, to use for the transform job.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the transform Job was created.

    " + }, + "TransformStartTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates when the transform job starts on ML instances. You are billed for the time interval between this time and the value of TransformEndTime.

    " + }, + "TransformEndTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates when the transform job has been completed, or has stopped or failed. You are billed for the time interval between this time and the value of TransformStartTime.

    " + }, + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SageMaker Ground Truth labeling job that created the transform or training job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    " + }, + "DataProcessing":{"shape":"DataProcessing"}, + "ExperimentConfig":{"shape":"ExperimentConfig"} + } + }, + "DescribeTrialComponentRequest":{ + "type":"structure", + "required":["TrialComponentName"], + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial component to describe.

    " + } + } + }, + "DescribeTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial component.

    " + }, + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial component.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component as displayed. If DisplayName isn't specified, TrialComponentName is displayed.

    " + }, + "Source":{ + "shape":"TrialComponentSource", + "documentation":"

    The Amazon Resource Name (ARN) of the source and, optionally, the job type.

    " + }, + "Status":{ + "shape":"TrialComponentStatus", + "documentation":"

    The status of the component. States include:

    • InProgress

    • Completed

    • Failed

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    When the component started.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    When the component ended.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was created.

    " + }, + "CreatedBy":{ + "shape":"UserContext", + "documentation":"

    Who created the component.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was last modified.

    " + }, + "LastModifiedBy":{ + "shape":"UserContext", + "documentation":"

    Who last modified the component.

    " + }, + "Parameters":{ + "shape":"TrialComponentParameters", + "documentation":"

    The hyperparameters of the component.

    " + }, + "InputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The input artifacts of the component.

    " + }, + "OutputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The output artifacts of the component.

    " + }, + "Metrics":{ + "shape":"TrialComponentMetricSummaries", + "documentation":"

    The metrics for the component.

    " + } + } + }, + "DescribeTrialRequest":{ + "type":"structure", + "required":["TrialName"], + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial to describe.

    " + } + } + }, + "DescribeTrialResponse":{ + "type":"structure", + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial.

    " + }, + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial as displayed. If DisplayName isn't specified, TrialName is displayed.

    " + }, + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment the trial is part of.

    " + }, + "Source":{ + "shape":"TrialSource", + "documentation":"

    The Amazon Resource Name (ARN) of the source and, optionally, the job type.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the trial was created.

    " + }, + "CreatedBy":{ + "shape":"UserContext", + "documentation":"

    Who created the trial.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the trial was last modified.

    " + }, + "LastModifiedBy":{ + "shape":"UserContext", + "documentation":"

    Who last modified the trial.

    " + } + } + }, + "DescribeUserProfileRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + } + } + }, + "DescribeUserProfileResponse":{ + "type":"structure", + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileArn":{ + "shape":"UserProfileArn", + "documentation":"

    The user profile Amazon Resource Name (ARN).

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "HomeEfsFileSystemUid":{ + "shape":"EfsUid", + "documentation":"

    The home Amazon Elastic File System (EFS) Uid.

    " + }, + "Status":{ + "shape":"UserProfileStatus", + "documentation":"

    The status.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The last modified time.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The failure reason.

    " + }, + "SingleSignOnUserIdentifier":{ + "shape":"SingleSignOnUserIdentifier", + "documentation":"

    The SSO user identifier.

    " + }, + "SingleSignOnUserValue":{ + "shape":"String256", + "documentation":"

    The SSO user value.

    " + }, + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

    A collection of settings.

    " + } + } + }, + "DescribeWorkforceRequest":{ + "type":"structure", + "required":["WorkforceName"], + "members":{ + "WorkforceName":{ + "shape":"WorkforceName", + "documentation":"

    The name of the private workforce whose access you want to restrict. WorkforceName is automatically set to default when a workforce is created and cannot be modified.

    " + } + } + }, + "DescribeWorkforceResponse":{ + "type":"structure", + "required":["Workforce"], + "members":{ + "Workforce":{ + "shape":"Workforce", + "documentation":"

    A single private workforce, which is automatically created when you create your first private work team. You can create one private work force in each AWS Region. By default, any workforce-related API operation used in a specific region will apply to the workforce created in that region. To learn how to create a private workforce, see Create a Private Workforce.

    " + } + } + }, + "DescribeWorkteamRequest":{ + "type":"structure", + "required":["WorkteamName"], + "members":{ + "WorkteamName":{ + "shape":"WorkteamName", + "documentation":"

    The name of the work team to return a description of.

    " + } + } + }, + "DescribeWorkteamResponse":{ + "type":"structure", + "required":["Workteam"], + "members":{ + "Workteam":{ + "shape":"Workteam", + "documentation":"

    A Workteam instance that contains information about the work team.

    " + } + } + }, + "DesiredWeightAndCapacity":{ + "type":"structure", + "required":["VariantName"], + "members":{ + "VariantName":{ + "shape":"VariantName", + "documentation":"

    The name of the variant to update.

    " + }, + "DesiredWeight":{ + "shape":"VariantWeight", + "documentation":"

    The variant's weight.

    " + }, + "DesiredInstanceCount":{ + "shape":"TaskCount", + "documentation":"

    The variant's capacity.

    " + } + }, + "documentation":"

    Specifies weight and capacity values for a production variant.

    " + }, + "DesiredWeightAndCapacityList":{ + "type":"list", + "member":{"shape":"DesiredWeightAndCapacity"}, + "min":1 + }, + "DestinationS3Uri":{ + "type":"string", + "max":512, + "pattern":"^(https|s3)://([^/])/?(.*)$" + }, + "DetailedAlgorithmStatus":{ + "type":"string", + "enum":[ + "NotStarted", + "InProgress", + "Completed", + "Failed" + ] + }, + "DetailedModelPackageStatus":{ + "type":"string", + "enum":[ + "NotStarted", + "InProgress", + "Completed", + "Failed" + ] + }, + "DirectInternetAccess":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "DirectoryPath":{ + "type":"string", + "max":4096, + "pattern":".*" + }, + "DisassociateAdditionalCodeRepositories":{"type":"boolean"}, + "DisassociateDefaultCodeRepository":{"type":"boolean"}, + "DisassociateNotebookInstanceAcceleratorTypes":{"type":"boolean"}, + "DisassociateNotebookInstanceLifecycleConfig":{"type":"boolean"}, + "DisassociateTrialComponentRequest":{ + "type":"structure", + "required":[ + "TrialComponentName", + "TrialName" + ], + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component to disassociate from the trial.

    " + }, + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial to disassociate from.

    " + } + } + }, + "DisassociateTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The ARN of the trial component.

    " + }, + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + } + } + }, + "Dollars":{ + "type":"integer", + "max":2, + "min":0 + }, + "DomainArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:domain/.*" + }, + "DomainDetails":{ + "type":"structure", + "members":{ + "DomainArn":{ + "shape":"DomainArn", + "documentation":"

    The domain's Amazon Resource Name (ARN).

    " + }, + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The domain name.

    " + }, + "Status":{ + "shape":"DomainStatus", + "documentation":"

    The status.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The last modified time.

    " + }, + "Url":{ + "shape":"String1024", + "documentation":"

    The domain's URL.

    " + } + }, + "documentation":"

    The domain's details.

    " + }, + "DomainId":{ + "type":"string", + "max":63 + }, + "DomainList":{ + "type":"list", + "member":{"shape":"DomainDetails"} + }, + "DomainName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "Deleting", + "Failed", + "InService", + "Pending" + ] + }, + "DoubleParameterValue":{"type":"double"}, + "EfsUid":{ + "type":"string", + "max":10, + "pattern":"\\d+" + }, + "EnableCapture":{"type":"boolean"}, + "EndpointArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint/.*" + }, + "EndpointConfigArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:endpoint-config/.*" + }, + "EndpointConfigName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "EndpointConfigNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "EndpointConfigSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "EndpointConfigSummary":{ + "type":"structure", + "required":[ + "EndpointConfigName", + "EndpointConfigArn", + "CreationTime" + ], + "members":{ + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the endpoint configuration.

    " + }, + "EndpointConfigArn":{ + "shape":"EndpointConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint configuration.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint configuration was created.

    " + } + }, + "documentation":"

    Provides summary information for an endpoint configuration.

    " + }, + "EndpointConfigSummaryList":{ + "type":"list", + "member":{"shape":"EndpointConfigSummary"} + }, + "EndpointInput":{ + "type":"structure", + "required":[ + "EndpointName", + "LocalPath" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    An endpoint in customer's account which has enabled DataCaptureConfig enabled.

    " + }, + "LocalPath":{ + "shape":"ProcessingLocalPath", + "documentation":"

    Path to the filesystem where the endpoint data is available to the container.

    " + }, + "S3InputMode":{ + "shape":"ProcessingS3InputMode", + "documentation":"

    Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File.

    " + }, + "S3DataDistributionType":{ + "shape":"ProcessingS3DataDistributionType", + "documentation":"

    Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated

    " + } + }, + "documentation":"

    Input object for the endpoint

    " + }, + "EndpointName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "EndpointNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "EndpointSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "EndpointStatus":{ + "type":"string", + "enum":[ + "OutOfService", + "Creating", + "Updating", + "SystemUpdating", + "RollingBack", + "InService", + "Deleting", + "Failed" + ] + }, + "EndpointSummary":{ + "type":"structure", + "required":[ + "EndpointName", + "EndpointArn", + "CreationTime", + "LastModifiedTime", + "EndpointStatus" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint.

    " + }, + "EndpointArn":{ + "shape":"EndpointArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the endpoint was last modified.

    " + }, + "EndpointStatus":{ + "shape":"EndpointStatus", + "documentation":"

    The status of the endpoint.

    • OutOfService: Endpoint is not available to take incoming requests.

    • Creating: CreateEndpoint is executing.

    • Updating: UpdateEndpoint or UpdateEndpointWeightsAndCapacities is executing.

    • SystemUpdating: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.

    • RollingBack: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an InService status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an UpdateEndpointWeightsAndCapacities call or when the UpdateEndpointWeightsAndCapacities operation is called explicitly.

    • InService: Endpoint is available to process incoming requests.

    • Deleting: DeleteEndpoint is executing.

    • Failed: Endpoint could not be created, updated, or re-scaled. Use DescribeEndpointOutput$FailureReason for information about the failure. DeleteEndpoint is the only operation that can be performed on a failed endpoint.

    To get a list of endpoints with a specified status, use the ListEndpointsInput$StatusEquals filter.

    " + } + }, + "documentation":"

    Provides summary information for an endpoint.

    " + }, + "EndpointSummaryList":{ + "type":"list", + "member":{"shape":"EndpointSummary"} + }, + "EntityDescription":{ + "type":"string", + "max":1024, + "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + }, + "EntityName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "EnvironmentKey":{ + "type":"string", + "max":1024, + "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" + }, + "EnvironmentMap":{ + "type":"map", + "key":{"shape":"EnvironmentKey"}, + "value":{"shape":"EnvironmentValue"}, + "max":16 + }, + "EnvironmentValue":{ + "type":"string", + "max":1024, + "pattern":"[\\S\\s]*" + }, + "ExecutionStatus":{ + "type":"string", + "enum":[ + "Pending", + "Completed", + "CompletedWithViolations", + "InProgress", + "Failed", + "Stopping", + "Stopped" + ] + }, + "ExitMessage":{ + "type":"string", + "max":1024, + "pattern":"[\\S\\s]*" + }, + "Experiment":{ + "type":"structure", + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment.

    " + }, + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment as displayed. If DisplayName isn't specified, ExperimentName is displayed.

    " + }, + "Source":{"shape":"ExperimentSource"}, + "Description":{ + "shape":"ExperimentDescription", + "documentation":"

    The description of the experiment.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was created.

    " + }, + "CreatedBy":{"shape":"UserContext"}, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was last modified.

    " + }, + "LastModifiedBy":{"shape":"UserContext"}, + "Tags":{ + "shape":"TagList", + "documentation":"

    The list of tags that are associated with the experiment. You can use Search API to search on the tags.

    " + } + }, + "documentation":"

    The properties of an experiment as returned by the Search API.

    " + }, + "ExperimentArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:experiment/.*" + }, + "ExperimentConfig":{ + "type":"structure", + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment.

    " + }, + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial.

    " + }, + "TrialComponentDisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    Display name for the trial component.

    " + } + }, + "documentation":"

    Configuration for the experiment.

    " + }, + "ExperimentDescription":{ + "type":"string", + "max":3072, + "pattern":".*" + }, + "ExperimentEntityName":{ + "type":"string", + "max":82, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ExperimentSource":{ + "type":"structure", + "required":["SourceArn"], + "members":{ + "SourceArn":{ + "shape":"ExperimentSourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the source.

    " + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

    The source type.

    " + } + }, + "documentation":"

    The source of the experiment.

    " + }, + "ExperimentSourceArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:.*" + }, + "ExperimentSummaries":{ + "type":"list", + "member":{"shape":"ExperimentSummary"} + }, + "ExperimentSummary":{ + "type":"structure", + "members":{ + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment.

    " + }, + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment as displayed. If DisplayName isn't specified, ExperimentName is displayed.

    " + }, + "ExperimentSource":{"shape":"ExperimentSource"}, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the experiment was last modified.

    " + } + }, + "documentation":"

    A summary of the properties of an experiment. To get the complete set of properties, call the DescribeExperiment API and provide the ExperimentName.

    " + }, + "FailureReason":{ + "type":"string", + "max":1024 + }, + "FileSystemAccessMode":{ + "type":"string", + "enum":[ + "rw", + "ro" + ] + }, + "FileSystemDataSource":{ + "type":"structure", + "required":[ + "FileSystemId", + "FileSystemAccessMode", + "FileSystemType", + "DirectoryPath" + ], + "members":{ + "FileSystemId":{ + "shape":"FileSystemId", + "documentation":"

    The file system id.

    " + }, + "FileSystemAccessMode":{ + "shape":"FileSystemAccessMode", + "documentation":"

    The access mode of the mount of the directory associated with the channel. A directory can be mounted either in ro (read-only) or rw (read-write) mode.

    " + }, + "FileSystemType":{ + "shape":"FileSystemType", + "documentation":"

    The file system type.

    " + }, + "DirectoryPath":{ + "shape":"DirectoryPath", + "documentation":"

    The full path to the directory to associate with the channel.

    " + } + }, + "documentation":"

    Specifies a file system data source for a channel.

    " + }, + "FileSystemId":{ + "type":"string", + "min":11, + "pattern":".*" + }, + "FileSystemType":{ + "type":"string", + "enum":[ + "EFS", + "FSxLustre" + ] + }, + "Filter":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"ResourcePropertyName", + "documentation":"

    A resource property name. For example, TrainingJobName. For valid property names, see SearchRecord. You must specify a valid property for the resource.

    " + }, + "Operator":{ + "shape":"Operator", + "documentation":"

    A Boolean binary operator that is used to evaluate the filter. The operator field contains one of the following values:

    Equals

    The value of Name equals Value.

    NotEquals

    The value of Name doesn't equal Value.

    GreaterThan

    The value of Name is greater than Value. Not supported for text properties.

    GreaterThanOrEqualTo

    The value of Name is greater than or equal to Value. Not supported for text properties.

    LessThan

    The value of Name is less than Value. Not supported for text properties.

    LessThanOrEqualTo

    The value of Name is less than or equal to Value. Not supported for text properties.

    Contains

    The value of Name contains the string Value. A SearchExpression can include only one Contains operator. Only supported for text properties.

    Exists

    The Name property exists.

    NotExists

    The Name property does not exist.

    In

    The value of Name is one of the comma delimited strings in Value. Only supported for text properties.

    " + }, + "Value":{ + "shape":"FilterValue", + "documentation":"

    A value used with Name and Operator to determine which resources satisfy the filter's condition. For numerical properties, Value must be an integer or floating-point decimal. For timestamp properties, Value must be an ISO 8601 date-time string of the following format: YYYY-mm-dd'T'HH:MM:SS.

    " + } + }, + "documentation":"

    A conditional statement for a search expression that includes a resource property, a Boolean operator, and a value. Resources that match the statement are returned in the results from the Search API.

    If you specify a Value, but not an Operator, Amazon SageMaker uses the equals operator.

    In search, there are several property types:

    Metrics

    To define a metric filter, enter a value using the form \"Metrics.<name>\", where <name> is a metric name. For example, the following filter searches for training jobs with an \"accuracy\" metric greater than \"0.9\":

    {

    \"Name\": \"Metrics.accuracy\",

    \"Operator\": \"GreaterThan\",

    \"Value\": \"0.9\"

    }

    HyperParameters

    To define a hyperparameter filter, enter a value with the form \"HyperParameters.<name>\". Decimal hyperparameter values are treated as a decimal in a comparison if the specified Value is also a decimal value. If the specified Value is an integer, the decimal hyperparameter values are treated as integers. For example, the following filter is satisfied by training jobs with a \"learning_rate\" hyperparameter that is less than \"0.5\":

    {

    \"Name\": \"HyperParameters.learning_rate\",

    \"Operator\": \"LessThan\",

    \"Value\": \"0.5\"

    }

    Tags

    To define a tag filter, enter a value with the form Tags.<key>.

    " + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":20, + "min":1 + }, + "FilterValue":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".+" + }, + "FinalAutoMLJobObjectiveMetric":{ + "type":"structure", + "required":[ + "MetricName", + "Value" + ], + "members":{ + "Type":{ + "shape":"AutoMLJobObjectiveType", + "documentation":"

    The metric type used.

    " + }, + "MetricName":{ + "shape":"AutoMLMetricEnum", + "documentation":"

    The name of the metric.

    " + }, + "Value":{ + "shape":"MetricValue", + "documentation":"

    The value of the metric.

    " + } + }, + "documentation":"

    The candidate result from a job.

    " + }, + "FinalHyperParameterTuningJobObjectiveMetric":{ + "type":"structure", + "required":[ + "MetricName", + "Value" + ], + "members":{ + "Type":{ + "shape":"HyperParameterTuningJobObjectiveType", + "documentation":"

    Whether to minimize or maximize the objective metric. Valid values are Minimize and Maximize.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    The name of the objective metric.

    " + }, + "Value":{ + "shape":"MetricValue", + "documentation":"

    The value of the objective metric.

    " + } + }, + "documentation":"

    Shows the final value for the objective metric for a training job that was launched by a hyperparameter tuning job. You define the objective metric in the HyperParameterTuningJobObjective parameter of HyperParameterTuningJobConfig.

    " + }, + "FinalMetricDataList":{ + "type":"list", + "member":{"shape":"MetricData"}, + "max":40, + "min":0 + }, + "Float":{"type":"float"}, + "FlowDefinitionArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:flow-definition/.*" + }, + "FlowDefinitionName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*" + }, + "FlowDefinitionOutputConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 path where the object containing human output will be made available.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The Amazon Key Management Service (KMS) key ID for server-side encryption.

    " + } + }, + "documentation":"

    Contains information about where human output will be stored.

    " + }, + "FlowDefinitionStatus":{ + "type":"string", + "enum":[ + "Initializing", + "Active", + "Failed", + "Deleting" + ] + }, + "FlowDefinitionSummaries":{ + "type":"list", + "member":{"shape":"FlowDefinitionSummary"} + }, + "FlowDefinitionSummary":{ + "type":"structure", + "required":[ + "FlowDefinitionName", + "FlowDefinitionArn", + "FlowDefinitionStatus", + "CreationTime" + ], + "members":{ + "FlowDefinitionName":{ + "shape":"FlowDefinitionName", + "documentation":"

    The name of the flow definition.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition.

    " + }, + "FlowDefinitionStatus":{ + "shape":"FlowDefinitionStatus", + "documentation":"

    The status of the flow definition. Valid values:

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when SageMaker created the flow definition.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The reason why the flow definition creation failed. A failure reason is returned only when the flow definition status is Failed.

    " + } + }, + "documentation":"

    Contains summary information about the flow definition.

    " + }, + "FlowDefinitionTaskAvailabilityLifetimeInSeconds":{ + "type":"integer", + "max":864000, + "min":1 + }, + "FlowDefinitionTaskCount":{ + "type":"integer", + "max":3, + "min":1 + }, + "FlowDefinitionTaskDescription":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "FlowDefinitionTaskKeyword":{ + "type":"string", + "max":30, + "min":1, + "pattern":"^[A-Za-z0-9]+( [A-Za-z0-9]+)*$" + }, + "FlowDefinitionTaskKeywords":{ + "type":"list", + "member":{"shape":"FlowDefinitionTaskKeyword"}, + "max":5, + "min":1 + }, + "FlowDefinitionTaskTimeLimitInSeconds":{ + "type":"integer", + "max":28800, + "min":30 + }, + "FlowDefinitionTaskTitle":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD]*$" + }, + "Framework":{ + "type":"string", + "enum":[ + "TENSORFLOW", + "KERAS", + "MXNET", + "ONNX", + "PYTORCH", + "XGBOOST", + "TFLITE" + ] + }, + "GenerateCandidateDefinitionsOnly":{"type":"boolean"}, + "GetSearchSuggestionsRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"ResourceType", + "documentation":"

    The name of the Amazon SageMaker resource to search for.

    " + }, + "SuggestionQuery":{ + "shape":"SuggestionQuery", + "documentation":"

    Limits the property names that are included in the response.

    " + } + } + }, + "GetSearchSuggestionsResponse":{ + "type":"structure", + "members":{ + "PropertyNameSuggestions":{ + "shape":"PropertyNameSuggestionList", + "documentation":"

    A list of property names for a Resource that match a SuggestionQuery.

    " + } + } + }, + "GitConfig":{ + "type":"structure", + "required":["RepositoryUrl"], + "members":{ + "RepositoryUrl":{ + "shape":"GitConfigUrl", + "documentation":"

    The URL where the Git repository is located.

    " + }, + "Branch":{ + "shape":"Branch", + "documentation":"

    The default branch for the Git repository.

    " + }, + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of AWSCURRENT and must be in the following format:

    {\"username\": UserName, \"password\": Password}

    " + } + }, + "documentation":"

    Specifies configuration details for a Git repository in your AWS account.

    " + }, + "GitConfigForUpdate":{ + "type":"structure", + "members":{ + "SecretArn":{ + "shape":"SecretArn", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the git repository. The secret must have a staging label of AWSCURRENT and must be in the following format:

    {\"username\": UserName, \"password\": Password}

    " + } + }, + "documentation":"

    Specifies configuration details for a Git repository when the repository is updated.

    " + }, + "GitConfigUrl":{ + "type":"string", + "pattern":"^https://([^/]+)/?(.*)$" + }, + "HookParameters":{ + "type":"map", + "key":{"shape":"ConfigKey"}, + "value":{"shape":"ConfigValue"}, + "max":20, + "min":0 + }, + "HumanLoopActivationConditions":{ + "type":"string", + "max":10240 + }, + "HumanLoopActivationConditionsConfig":{ + "type":"structure", + "required":["HumanLoopActivationConditions"], + "members":{ + "HumanLoopActivationConditions":{ + "shape":"HumanLoopActivationConditions", + "documentation":"

    JSON expressing use-case specific conditions declaratively. If any condition is matched, atomic tasks are created against the configured work team. The set of conditions is different for Rekognition and Textract. For more information about how to structure the JSON, see JSON Schema for Human Loop Activation Conditions in Amazon Augmented AI in the Amazon SageMaker Developer Guide.

    ", + "jsonvalue":true + } + }, + "documentation":"

    Defines under what conditions SageMaker creates a human loop. Used within . See for the required format of activation conditions.

    " + }, + "HumanLoopActivationConfig":{ + "type":"structure", + "required":["HumanLoopActivationConditionsConfig"], + "members":{ + "HumanLoopActivationConditionsConfig":{ + "shape":"HumanLoopActivationConditionsConfig", + "documentation":"

    Container structure for defining under what conditions SageMaker creates a human loop.

    " + } + }, + "documentation":"

    Provides information about how and under what conditions SageMaker creates a human loop. If HumanLoopActivationConfig is not given, then all requests go to humans.

    " + }, + "HumanLoopConfig":{ + "type":"structure", + "required":[ + "WorkteamArn", + "HumanTaskUiArn", + "TaskTitle", + "TaskDescription", + "TaskCount" + ], + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    Amazon Resource Name (ARN) of a team of workers.

    " + }, + "HumanTaskUiArn":{ + "shape":"HumanTaskUiArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human task user interface.

    " + }, + "TaskTitle":{ + "shape":"FlowDefinitionTaskTitle", + "documentation":"

    A title for the human worker task.

    " + }, + "TaskDescription":{ + "shape":"FlowDefinitionTaskDescription", + "documentation":"

    A description for the human worker task.

    " + }, + "TaskCount":{ + "shape":"FlowDefinitionTaskCount", + "documentation":"

    The number of distinct workers who will perform the same task on each object. For example, if TaskCount is set to 3 for an image classification labeling job, three workers will classify each input image. Increasing TaskCount can improve label accuracy.

    " + }, + "TaskAvailabilityLifetimeInSeconds":{ + "shape":"FlowDefinitionTaskAvailabilityLifetimeInSeconds", + "documentation":"

    The length of time that a task remains available for labeling by human workers.

    " + }, + "TaskTimeLimitInSeconds":{ + "shape":"FlowDefinitionTaskTimeLimitInSeconds", + "documentation":"

    The amount of time that a worker has to complete a task.

    " + }, + "TaskKeywords":{ + "shape":"FlowDefinitionTaskKeywords", + "documentation":"

    Keywords used to describe the task so that workers can discover the task.

    " + }, + "PublicWorkforceTaskPrice":{"shape":"PublicWorkforceTaskPrice"} + }, + "documentation":"

    Describes the work to be performed by human workers.

    " + }, + "HumanLoopRequestSource":{ + "type":"structure", + "required":["AwsManagedHumanLoopRequestSource"], + "members":{ + "AwsManagedHumanLoopRequestSource":{ + "shape":"AwsManagedHumanLoopRequestSource", + "documentation":"

    Specifies whether Amazon Rekognition or Amazon Textract are used as the integration source. The default field settings and JSON parsing rules are different based on the integration source. Valid values:

    " + } + }, + "documentation":"

    Container for configuring the source of human task requests.

    " + }, + "HumanTaskConfig":{ + "type":"structure", + "required":[ + "WorkteamArn", + "UiConfig", + "PreHumanTaskLambdaArn", + "TaskTitle", + "TaskDescription", + "NumberOfHumanWorkersPerDataObject", + "TaskTimeLimitInSeconds", + "AnnotationConsolidationConfig" + ], + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the work team assigned to complete the tasks.

    " + }, + "UiConfig":{ + "shape":"UiConfig", + "documentation":"

    Information about the user interface that workers use to complete the labeling task.

    " + }, + "PreHumanTaskLambdaArn":{ + "shape":"LambdaFunctionArn", + "documentation":"

    The Amazon Resource Name (ARN) of a Lambda function that is run before a data object is sent to a human worker. Use this function to provide input to a custom labeling job.

    For the built-in bounding box, image classification, semantic segmentation, and text classification task types, Amazon SageMaker Ground Truth provides the following Lambda functions:

    US East (Northern Virginia) (us-east-1):

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-BoundingBox

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClass

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-SemanticSegmentation

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClass

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:us-east-1:432418664414:function:PRE-AdjustmentSemanticSegmentation

    US East (Ohio) (us-east-2):

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-BoundingBox

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClass

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-SemanticSegmentation

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClass

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:us-east-2:266458841044:function:PRE-AdjustmentSemanticSegmentation

    US West (Oregon) (us-west-2):

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-BoundingBox

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClass

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-SemanticSegmentation

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClass

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:us-west-2:081040173940:function:PRE-AdjustmentSemanticSegmentation

    Canada (Central) (ca-central-1):

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-BoundingBox

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClass

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClass

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ca-central-1:918755190332:function:PRE-AdjustmentSemanticSegmentation

    EU (Ireland) (eu-west-1):

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-BoundingBox

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClass

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-SemanticSegmentation

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClass

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:eu-west-1:568282634449:function:PRE-AdjustmentSemanticSegmentation

    EU (London) (eu-west-2):

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-BoundingBox

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClass

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-SemanticSegmentation

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClass

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:eu-west-2:487402164563:function:PRE-AdjustmentSemanticSegmentation

    EU Frankfurt (eu-central-1):

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-BoundingBox

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClass

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-SemanticSegmentation

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClass

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:eu-central-1:203001061592:function:PRE-AdjustmentSemanticSegmentation

    Asia Pacific (Tokyo) (ap-northeast-1):

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-BoundingBox

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClass

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClass

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ap-northeast-1:477331159723:function:PRE-AdjustmentSemanticSegmentation

    Asia Pacific (Seoul) (ap-northeast-2):

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-BoundingBox

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClass

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClass

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ap-northeast-2:845288260483:function:PRE-AdjustmentSemanticSegmentation

    Asia Pacific (Mumbai) (ap-south-1):

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-BoundingBox

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClass

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClass

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ap-south-1:565803892007:function:PRE-AdjustmentSemanticSegmentation

    Asia Pacific (Singapore) (ap-southeast-1):

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-BoundingBox

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClass

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClass

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ap-southeast-1:377565633583:function:PRE-AdjustmentSemanticSegmentation

    Asia Pacific (Sydney) (ap-southeast-2):

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-BoundingBox

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClass

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-ImageMultiClassMultiLabel

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-SemanticSegmentation

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClass

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-TextMultiClassMultiLabel

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-NamedEntityRecognition

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationBoundingBox

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-VerificationSemanticSegmentation

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentBoundingBox

    • arn:aws:lambda:ap-southeast-2:454466003867:function:PRE-AdjustmentSemanticSegmentation

    " + }, + "TaskKeywords":{ + "shape":"TaskKeywords", + "documentation":"

    Keywords used to describe the task so that workers on Amazon Mechanical Turk can discover the task.

    " + }, + "TaskTitle":{ + "shape":"TaskTitle", + "documentation":"

    A title for the task for your human workers.

    " + }, + "TaskDescription":{ + "shape":"TaskDescription", + "documentation":"

    A description of the task for your human workers.

    " + }, + "NumberOfHumanWorkersPerDataObject":{ + "shape":"NumberOfHumanWorkersPerDataObject", + "documentation":"

    The number of human workers that will label an object.

    " + }, + "TaskTimeLimitInSeconds":{ + "shape":"TaskTimeLimitInSeconds", + "documentation":"

    The amount of time that a worker has to complete a task.

    " + }, + "TaskAvailabilityLifetimeInSeconds":{ + "shape":"TaskAvailabilityLifetimeInSeconds", + "documentation":"

    The length of time that a task remains available for labeling by human workers. If you choose the Amazon Mechanical Turk workforce, the maximum is 12 hours (43200). The default value is 864000 seconds (10 days). For private and vendor workforces, the maximum is as listed.

    " + }, + "MaxConcurrentTaskCount":{ + "shape":"MaxConcurrentTaskCount", + "documentation":"

    Defines the maximum number of data objects that can be labeled by human workers at the same time. Also referred to as batch size. Each object may have more than one worker at one time. The default value is 1000 objects.

    " + }, + "AnnotationConsolidationConfig":{ + "shape":"AnnotationConsolidationConfig", + "documentation":"

    Configures how labels are consolidated across human workers.

    " + }, + "PublicWorkforceTaskPrice":{ + "shape":"PublicWorkforceTaskPrice", + "documentation":"

    The price that you pay for each task performed by an Amazon Mechanical Turk worker.

    " + } + }, + "documentation":"

    Information required for human workers to complete a labeling task.

    " + }, + "HumanTaskUiArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:human-task-ui/.*" + }, + "HumanTaskUiName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*" + }, + "HumanTaskUiSummaries":{ + "type":"list", + "member":{"shape":"HumanTaskUiSummary"} + }, + "HumanTaskUiSummary":{ + "type":"structure", + "required":[ + "HumanTaskUiName", + "HumanTaskUiArn", + "CreationTime" + ], + "members":{ + "HumanTaskUiName":{ + "shape":"HumanTaskUiName", + "documentation":"

    The name of the human task user interface.

    " + }, + "HumanTaskUiArn":{ + "shape":"HumanTaskUiArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human task user interface.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp when SageMaker created the human task user interface.

    " + } + }, + "documentation":"

    Container for human task user interface information.

    " + }, + "HyperParameterAlgorithmSpecification":{ + "type":"structure", + "required":["TrainingInputMode"], + "members":{ + "TrainingImage":{ + "shape":"AlgorithmImage", + "documentation":"

    The registry path of the Docker image that contains the training algorithm. For information about Docker registry paths for built-in algorithms, see Algorithms Provided by Amazon SageMaker: Common Parameters. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

    " + }, + "TrainingInputMode":{ + "shape":"TrainingInputMode", + "documentation":"

    The input mode that the algorithm supports: File or Pipe. In File input mode, Amazon SageMaker downloads the training data from Amazon S3 to the storage volume that is attached to the training instance and mounts the directory to the Docker volume for the training container. In Pipe input mode, Amazon SageMaker streams data directly from Amazon S3 to the container.

    If you specify File mode, make sure that you provision the storage volume that is attached to the training instance with enough capacity to accommodate the training data downloaded from Amazon S3, the model artifacts, and intermediate information.

    For more information about input modes, see Algorithms.

    " + }, + "AlgorithmName":{ + "shape":"ArnOrName", + "documentation":"

    The name of the resource algorithm to use for the hyperparameter tuning job. If you specify a value for this parameter, do not specify a value for TrainingImage.

    " + }, + "MetricDefinitions":{ + "shape":"MetricDefinitionList", + "documentation":"

    An array of MetricDefinition objects that specify the metrics that the algorithm emits.

    " + } + }, + "documentation":"

    Specifies which training algorithm to use for training jobs that a hyperparameter tuning job launches and the metrics to monitor.

    " + }, + "HyperParameterScalingType":{ + "type":"string", + "enum":[ + "Auto", + "Linear", + "Logarithmic", + "ReverseLogarithmic" + ] + }, + "HyperParameterSpecification":{ + "type":"structure", + "required":[ + "Name", + "Type" + ], + "members":{ + "Name":{ + "shape":"ParameterName", + "documentation":"

    The name of this hyperparameter. The name must be unique.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A brief description of the hyperparameter.

    " + }, + "Type":{ + "shape":"ParameterType", + "documentation":"

    The type of this hyperparameter. The valid types are Integer, Continuous, Categorical, and FreeText.

    " + }, + "Range":{ + "shape":"ParameterRange", + "documentation":"

    The allowed range for this hyperparameter.

    " + }, + "IsTunable":{ + "shape":"Boolean", + "documentation":"

    Indicates whether this hyperparameter is tunable in a hyperparameter tuning job.

    " + }, + "IsRequired":{ + "shape":"Boolean", + "documentation":"

    Indicates whether this hyperparameter is required.

    " + }, + "DefaultValue":{ + "shape":"ParameterValue", + "documentation":"

    The default value for this hyperparameter. If a default value is specified, a hyperparameter cannot be required.

    " + } + }, + "documentation":"

    Defines a hyperparameter to be used by an algorithm.

    " + }, + "HyperParameterSpecifications":{ + "type":"list", + "member":{"shape":"HyperParameterSpecification"}, + "max":100, + "min":0 + }, + "HyperParameterTrainingJobDefinition":{ + "type":"structure", + "required":[ + "AlgorithmSpecification", + "RoleArn", + "OutputDataConfig", + "ResourceConfig", + "StoppingCondition" + ], + "members":{ + "DefinitionName":{ + "shape":"HyperParameterTrainingJobDefinitionName", + "documentation":"

    The job definition name.

    " + }, + "TuningObjective":{"shape":"HyperParameterTuningJobObjective"}, + "HyperParameterRanges":{"shape":"ParameterRanges"}, + "StaticHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    Specifies the values of hyperparameters that do not change for the tuning job.

    " + }, + "AlgorithmSpecification":{ + "shape":"HyperParameterAlgorithmSpecification", + "documentation":"

    The HyperParameterAlgorithmSpecification object that specifies the resource algorithm to use for the training jobs that the tuning job launches.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role associated with the training jobs that the tuning job launches.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    An array of Channel objects that specify the input for the training jobs that the tuning job launches.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    The VpcConfig object that specifies the VPC that you want the training jobs that this hyperparameter tuning job launches to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    Specifies the path to the Amazon S3 bucket where you store model artifacts from the training jobs that the tuning job launches.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    The resources, including the compute instances and storage volumes, to use for the training jobs that the tuning job launches.

    Storage volumes store model artifacts and incremental states. Training algorithms might also use storage volumes for scratch space. If you want Amazon SageMaker to use the storage volume to store the training data, choose File as the TrainingInputMode in the algorithm specification. For distributed training algorithms, specify an instance count greater than 1.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model hyperparameter training job can run. It also specifies how long you are willing to wait for a managed spot training job to complete. When the job reaches the a limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If network isolation is used for training jobs that are configured to use a VPC, Amazon SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

    " + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training.

    " + }, + "EnableManagedSpotTraining":{ + "shape":"Boolean", + "documentation":"

    A Boolean indicating whether managed spot training is enabled (True) or not (False).

    " + }, + "CheckpointConfig":{"shape":"CheckpointConfig"} + }, + "documentation":"

    Defines the training jobs launched by a hyperparameter tuning job.

    " + }, + "HyperParameterTrainingJobDefinitionName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "HyperParameterTrainingJobDefinitions":{ + "type":"list", + "member":{"shape":"HyperParameterTrainingJobDefinition"}, + "max":10, + "min":1 + }, + "HyperParameterTrainingJobSummaries":{ + "type":"list", + "member":{"shape":"HyperParameterTrainingJobSummary"} + }, + "HyperParameterTrainingJobSummary":{ + "type":"structure", + "required":[ + "TrainingJobName", + "TrainingJobArn", + "CreationTime", + "TrainingJobStatus", + "TunedHyperParameters" + ], + "members":{ + "TrainingJobDefinitionName":{ + "shape":"HyperParameterTrainingJobDefinitionName", + "documentation":"

    The training job definition name.

    " + }, + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the training job.

    " + }, + "TuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The HyperParameter tuning job that launched the training job.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the training job was created.

    " + }, + "TrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the training job started.

    " + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

    Specifies the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

    " + }, + "TrainingJobStatus":{ + "shape":"TrainingJobStatus", + "documentation":"

    The status of the training job.

    " + }, + "TunedHyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    A list of the hyperparameters for which you specified ranges to search.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The reason that the training job failed.

    " + }, + "FinalHyperParameterTuningJobObjectiveMetric":{ + "shape":"FinalHyperParameterTuningJobObjectiveMetric", + "documentation":"

    The FinalHyperParameterTuningJobObjectiveMetric object that specifies the value of the objective metric of the tuning job that launched this training job.

    " + }, + "ObjectiveStatus":{ + "shape":"ObjectiveStatus", + "documentation":"

    The status of the objective metric for the training job:

    • Succeeded: The final objective metric for the training job was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process.

    • Pending: The training job is in progress and evaluation of its final objective metric is pending.

    • Failed: The final objective metric for the training job was not evaluated, and was not used in the hyperparameter tuning process. This typically occurs when the training job failed or did not emit an objective metric.

    " + } + }, + "documentation":"

    Specifies summary information about a training job.

    " + }, + "HyperParameterTuningJobArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:hyper-parameter-tuning-job/.*" + }, + "HyperParameterTuningJobConfig":{ + "type":"structure", + "required":[ + "Strategy", + "ResourceLimits" + ], + "members":{ + "Strategy":{ + "shape":"HyperParameterTuningJobStrategyType", + "documentation":"

    Specifies how hyperparameter tuning chooses the combinations of hyperparameter values to use for the training job it launches. To use the Bayesian search strategy, set this to Bayesian. To randomly search, set it to Random. For information about search strategies, see How Hyperparameter Tuning Works.

    " + }, + "HyperParameterTuningJobObjective":{ + "shape":"HyperParameterTuningJobObjective", + "documentation":"

    The HyperParameterTuningJobObjective object that specifies the objective metric for this tuning job.

    " + }, + "ResourceLimits":{ + "shape":"ResourceLimits", + "documentation":"

    The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs for this tuning job.

    " + }, + "ParameterRanges":{ + "shape":"ParameterRanges", + "documentation":"

    The ParameterRanges object that specifies the ranges of hyperparameters that this tuning job searches.

    " + }, + "TrainingJobEarlyStoppingType":{ + "shape":"TrainingJobEarlyStoppingType", + "documentation":"

    Specifies whether to use early stopping for training jobs launched by the hyperparameter tuning job. This can be one of the following values (the default value is OFF):

    OFF

    Training jobs launched by the hyperparameter tuning job do not use early stopping.

    AUTO

    Amazon SageMaker stops training jobs launched by the hyperparameter tuning job when they are unlikely to perform better than previously completed training jobs. For more information, see Stop Training Jobs Early.

    " + }, + "TuningJobCompletionCriteria":{ + "shape":"TuningJobCompletionCriteria", + "documentation":"

    The tuning job's completion criteria.

    " + } + }, + "documentation":"

    Configures a hyperparameter tuning job.

    " + }, + "HyperParameterTuningJobName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "HyperParameterTuningJobObjective":{ + "type":"structure", + "required":[ + "Type", + "MetricName" + ], + "members":{ + "Type":{ + "shape":"HyperParameterTuningJobObjectiveType", + "documentation":"

    Whether to minimize or maximize the objective metric.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    The name of the metric to use for the objective metric.

    " + } + }, + "documentation":"

    Defines the objective metric for a hyperparameter tuning job. Hyperparameter tuning uses the value of this metric to evaluate the training jobs it launches, and returns the training job that results in either the highest or lowest value for this metric, depending on the value you specify for the Type parameter.

    " + }, + "HyperParameterTuningJobObjectiveType":{ + "type":"string", + "enum":[ + "Maximize", + "Minimize" + ] + }, + "HyperParameterTuningJobObjectives":{ + "type":"list", + "member":{"shape":"HyperParameterTuningJobObjective"} + }, + "HyperParameterTuningJobSortByOptions":{ + "type":"string", + "enum":[ + "Name", + "Status", + "CreationTime" + ] + }, + "HyperParameterTuningJobStatus":{ + "type":"string", + "enum":[ + "Completed", + "InProgress", + "Failed", + "Stopped", + "Stopping" + ] + }, + "HyperParameterTuningJobStrategyType":{ + "type":"string", + "documentation":"

    The strategy hyperparameter tuning uses to find the best combination of hyperparameters for your model. Currently, the only supported value is Bayesian.

    ", + "enum":[ + "Bayesian", + "Random" + ] + }, + "HyperParameterTuningJobSummaries":{ + "type":"list", + "member":{"shape":"HyperParameterTuningJobSummary"} + }, + "HyperParameterTuningJobSummary":{ + "type":"structure", + "required":[ + "HyperParameterTuningJobName", + "HyperParameterTuningJobArn", + "HyperParameterTuningJobStatus", + "Strategy", + "CreationTime", + "TrainingJobStatusCounters", + "ObjectiveStatusCounters" + ], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job.

    " + }, + "HyperParameterTuningJobArn":{ + "shape":"HyperParameterTuningJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the tuning job.

    " + }, + "HyperParameterTuningJobStatus":{ + "shape":"HyperParameterTuningJobStatus", + "documentation":"

    The status of the tuning job.

    " + }, + "Strategy":{ + "shape":"HyperParameterTuningJobStrategyType", + "documentation":"

    Specifies the search strategy hyperparameter tuning uses to choose which hyperparameters to use for each iteration. Currently, the only valid value is Bayesian.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the tuning job was created.

    " + }, + "HyperParameterTuningEndTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the tuning job ended.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the tuning job was modified.

    " + }, + "TrainingJobStatusCounters":{ + "shape":"TrainingJobStatusCounters", + "documentation":"

    The TrainingJobStatusCounters object that specifies the numbers of training jobs, categorized by status, that this tuning job launched.

    " + }, + "ObjectiveStatusCounters":{ + "shape":"ObjectiveStatusCounters", + "documentation":"

    The ObjectiveStatusCounters object that specifies the numbers of training jobs, categorized by objective metric status, that this tuning job launched.

    " + }, + "ResourceLimits":{ + "shape":"ResourceLimits", + "documentation":"

    The ResourceLimits object that specifies the maximum number of training jobs and parallel training jobs allowed for this tuning job.

    " + } + }, + "documentation":"

    Provides summary information about a hyperparameter tuning job.

    " + }, + "HyperParameterTuningJobWarmStartConfig":{ + "type":"structure", + "required":[ + "ParentHyperParameterTuningJobs", + "WarmStartType" + ], + "members":{ + "ParentHyperParameterTuningJobs":{ + "shape":"ParentHyperParameterTuningJobs", + "documentation":"

    An array of hyperparameter tuning jobs that are used as the starting point for the new hyperparameter tuning job. For more information about warm starting a hyperparameter tuning job, see Using a Previous Hyperparameter Tuning Job as a Starting Point.

    Hyperparameter tuning jobs created before October 1, 2018 cannot be used as parent jobs for warm start tuning jobs.

    " + }, + "WarmStartType":{ + "shape":"HyperParameterTuningJobWarmStartType", + "documentation":"

    Specifies one of the following:

    IDENTICAL_DATA_AND_ALGORITHM

    The new hyperparameter tuning job uses the same input data and training image as the parent tuning jobs. You can change the hyperparameter ranges to search and the maximum number of training jobs that the hyperparameter tuning job launches. You cannot use a new version of the training algorithm, unless the changes in the new version do not affect the algorithm itself. For example, changes that improve logging or adding support for a different data format are allowed. You can also change hyperparameters from tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent jobs.

    TRANSFER_LEARNING

    The new hyperparameter tuning job can include input data, hyperparameter ranges, maximum number of concurrent training jobs, and maximum number of training jobs that are different than those of its parent hyperparameter tuning jobs. The training image can also be a different version from the version used in the parent hyperparameter tuning job. You can also change hyperparameters from tunable to static, and from static to tunable, but the total number of static plus tunable hyperparameters must remain the same as it is in all parent jobs. The objective metric for the new tuning job must be the same as for all parent jobs.

    " + } + }, + "documentation":"

    Specifies the configuration for a hyperparameter tuning job that uses one or more previous hyperparameter tuning jobs as a starting point. The results of previous tuning jobs are used to inform which combinations of hyperparameters to search over in the new tuning job.

    All training jobs launched by the new hyperparameter tuning job are evaluated by using the objective metric, and the training job that performs the best is compared to the best training jobs from the parent tuning jobs. From these, the training job that performs the best as measured by the objective metric is returned as the overall best training job.

    All training jobs launched by parent hyperparameter tuning jobs and the new hyperparameter tuning jobs count against the limit of training jobs for the tuning job.

    " + }, + "HyperParameterTuningJobWarmStartType":{ + "type":"string", + "enum":[ + "IdenticalDataAndAlgorithm", + "TransferLearning" + ] + }, + "HyperParameters":{ + "type":"map", + "key":{"shape":"ParameterKey"}, + "value":{"shape":"ParameterValue"}, + "max":100, + "min":0 + }, + "Image":{ + "type":"string", + "max":255, + "pattern":"[\\S]+" + }, + "ImageDigest":{ + "type":"string", + "max":72, + "pattern":"^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$" + }, + "ImageUri":{ + "type":"string", + "max":255, + "pattern":".*" + }, + "InferenceSpecification":{ + "type":"structure", + "required":[ + "Containers", + "SupportedTransformInstanceTypes", + "SupportedRealtimeInferenceInstanceTypes", + "SupportedContentTypes", + "SupportedResponseMIMETypes" + ], + "members":{ + "Containers":{ + "shape":"ModelPackageContainerDefinitionList", + "documentation":"

    The Amazon ECR registry path of the Docker image that contains the inference code.

    " + }, + "SupportedTransformInstanceTypes":{ + "shape":"TransformInstanceTypes", + "documentation":"

    A list of the instance types on which a transformation job can be run or on which an endpoint can be deployed.

    " + }, + "SupportedRealtimeInferenceInstanceTypes":{ + "shape":"RealtimeInferenceInstanceTypes", + "documentation":"

    A list of the instance types that are used to generate inferences in real-time.

    " + }, + "SupportedContentTypes":{ + "shape":"ContentTypes", + "documentation":"

    The supported MIME types for the input data.

    " + }, + "SupportedResponseMIMETypes":{ + "shape":"ResponseMIMETypes", + "documentation":"

    The supported MIME types for the output data.

    " + } + }, + "documentation":"

    Defines how to perform inference generation after a training job is run.

    " + }, + "InputConfig":{ + "type":"structure", + "required":[ + "S3Uri", + "DataInputConfig", + "Framework" + ], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

    " + }, + "DataInputConfig":{ + "shape":"DataInputConfig", + "documentation":"

    Specifies the name and shape of the expected data inputs for your trained model with a JSON dictionary form. The data inputs are InputConfig$Framework specific.

    • TensorFlow: You must specify the name and shape (NHWC format) of the expected data inputs using a dictionary format for your trained model. The dictionary formats required for the console and CLI are different.

      • Examples for one input:

        • If using the console, {\"input\":[1,1024,1024,3]}

        • If using the CLI, {\\\"input\\\":[1,1024,1024,3]}

      • Examples for two inputs:

        • If using the console, {\"data1\": [1,28,28,1], \"data2\":[1,28,28,1]}

        • If using the CLI, {\\\"data1\\\": [1,28,28,1], \\\"data2\\\":[1,28,28,1]}

    • KERAS: You must specify the name and shape (NCHW format) of expected data inputs using a dictionary format for your trained model. Note that while Keras model artifacts should be uploaded in NHWC (channel-last) format, DataInputConfig should be specified in NCHW (channel-first) format. The dictionary formats required for the console and CLI are different.

      • Examples for one input:

        • If using the console, {\"input_1\":[1,3,224,224]}

        • If using the CLI, {\\\"input_1\\\":[1,3,224,224]}

      • Examples for two inputs:

        • If using the console, {\"input_1\": [1,3,224,224], \"input_2\":[1,3,224,224]}

        • If using the CLI, {\\\"input_1\\\": [1,3,224,224], \\\"input_2\\\":[1,3,224,224]}

    • MXNET/ONNX: You must specify the name and shape (NCHW format) of the expected data inputs in order using a dictionary format for your trained model. The dictionary formats required for the console and CLI are different.

      • Examples for one input:

        • If using the console, {\"data\":[1,3,1024,1024]}

        • If using the CLI, {\\\"data\\\":[1,3,1024,1024]}

      • Examples for two inputs:

        • If using the console, {\"var1\": [1,1,28,28], \"var2\":[1,1,28,28]}

        • If using the CLI, {\\\"var1\\\": [1,1,28,28], \\\"var2\\\":[1,1,28,28]}

    • PyTorch: You can either specify the name and shape (NCHW format) of expected data inputs in order using a dictionary format for your trained model or you can specify the shape only using a list format. The dictionary formats required for the console and CLI are different. The list formats for the console and CLI are the same.

      • Examples for one input in dictionary format:

        • If using the console, {\"input0\":[1,3,224,224]}

        • If using the CLI, {\\\"input0\\\":[1,3,224,224]}

      • Example for one input in list format: [[1,3,224,224]]

      • Examples for two inputs in dictionary format:

        • If using the console, {\"input0\":[1,3,224,224], \"input1\":[1,3,224,224]}

        • If using the CLI, {\\\"input0\\\":[1,3,224,224], \\\"input1\\\":[1,3,224,224]}

      • Example for two inputs in list format: [[1,3,224,224], [1,3,224,224]]

    • XGBOOST: input data name and shape are not needed.

    " + }, + "Framework":{ + "shape":"Framework", + "documentation":"

    Identifies the framework in which the model was trained. For example: TENSORFLOW.

    " + } + }, + "documentation":"

    Contains information about the location of input model artifacts, the name and shape of the expected data inputs, and the framework in which the model was trained.

    " + }, + "InputDataConfig":{ + "type":"list", + "member":{"shape":"Channel"}, + "max":20, + "min":1 + }, + "InputModes":{ + "type":"list", + "member":{"shape":"TrainingInputMode"}, + "min":1 + }, + "InstanceType":{ + "type":"string", + "enum":[ + "ml.t2.medium", + "ml.t2.large", + "ml.t2.xlarge", + "ml.t2.2xlarge", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m4.xlarge", + "ml.m4.2xlarge", + "ml.m4.4xlarge", + "ml.m4.10xlarge", + "ml.m4.16xlarge", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c4.xlarge", + "ml.c4.2xlarge", + "ml.c4.4xlarge", + "ml.c4.8xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c5d.xlarge", + "ml.c5d.2xlarge", + "ml.c5d.4xlarge", + "ml.c5d.9xlarge", + "ml.c5d.18xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge" + ] + }, + "IntegerParameterRange":{ + "type":"structure", + "required":[ + "Name", + "MinValue", + "MaxValue" + ], + "members":{ + "Name":{ + "shape":"ParameterKey", + "documentation":"

    The name of the hyperparameter to search.

    " + }, + "MinValue":{ + "shape":"ParameterValue", + "documentation":"

    The minimum value of the hyperparameter to search.

    " + }, + "MaxValue":{ + "shape":"ParameterValue", + "documentation":"

    The maximum value of the hyperparameter to search.

    " + }, + "ScalingType":{ + "shape":"HyperParameterScalingType", + "documentation":"

    The scale that hyperparameter tuning uses to search the hyperparameter range. For information about choosing a hyperparameter scale, see Hyperparameter Scaling. One of the following values:

    Auto

    Amazon SageMaker hyperparameter tuning chooses the best scale for the hyperparameter.

    Linear

    Hyperparameter tuning searches the values in the hyperparameter range by using a linear scale.

    Logarithmic

    Hyperparameter tuning searches the values in the hyperparameter range by using a logarithmic scale.

    Logarithmic scaling works only for ranges that have only values greater than 0.

    " + } + }, + "documentation":"

    For a hyperparameter of the integer type, specifies the range that a hyperparameter tuning job searches.

    " + }, + "IntegerParameterRangeSpecification":{ + "type":"structure", + "required":[ + "MinValue", + "MaxValue" + ], + "members":{ + "MinValue":{ + "shape":"ParameterValue", + "documentation":"

    The minimum integer value allowed.

    " + }, + "MaxValue":{ + "shape":"ParameterValue", + "documentation":"

    The maximum integer value allowed.

    " + } + }, + "documentation":"

    Defines the possible values for an integer hyperparameter.

    " + }, + "IntegerParameterRanges":{ + "type":"list", + "member":{"shape":"IntegerParameterRange"}, + "max":20, + "min":0 + }, + "JobReferenceCode":{ + "type":"string", + "min":1, + "pattern":".+" + }, + "JobReferenceCodeContains":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "JoinSource":{ + "type":"string", + "enum":[ + "Input", + "None" + ] + }, + "JsonContentType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*\\/[a-zA-Z0-9](-*[a-zA-Z0-9.])*" + }, + "JsonContentTypes":{ + "type":"list", + "member":{"shape":"JsonContentType"}, + "max":10, + "min":1 + }, + "JsonPath":{ + "type":"string", + "max":63, + "min":0 + }, + "JupyterServerAppSettings":{ + "type":"structure", + "members":{ + "DefaultResourceSpec":{ + "shape":"ResourceSpec", + "documentation":"

    The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + } + }, + "documentation":"

    Jupyter server's app settings.

    " + }, + "KernelGatewayAppSettings":{ + "type":"structure", + "members":{ + "DefaultResourceSpec":{ + "shape":"ResourceSpec", + "documentation":"

    The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + } + }, + "documentation":"

    The kernel gateway app settings.

    " + }, + "KmsKeyId":{ + "type":"string", + "max":2048, + "pattern":".*" + }, + "LabelAttributeName":{ + "type":"string", + "max":127, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "LabelCounter":{ + "type":"integer", + "min":0 + }, + "LabelCounters":{ + "type":"structure", + "members":{ + "TotalLabeled":{ + "shape":"LabelCounter", + "documentation":"

    The total number of objects labeled.

    " + }, + "HumanLabeled":{ + "shape":"LabelCounter", + "documentation":"

    The total number of objects labeled by a human worker.

    " + }, + "MachineLabeled":{ + "shape":"LabelCounter", + "documentation":"

    The total number of objects labeled by automated data labeling.

    " + }, + "FailedNonRetryableError":{ + "shape":"LabelCounter", + "documentation":"

    The total number of objects that could not be labeled due to an error.

    " + }, + "Unlabeled":{ + "shape":"LabelCounter", + "documentation":"

    The total number of objects not yet labeled.

    " + } + }, + "documentation":"

    Provides a breakdown of the number of objects labeled.

    " + }, + "LabelCountersForWorkteam":{ + "type":"structure", + "members":{ + "HumanLabeled":{ + "shape":"LabelCounter", + "documentation":"

    The total number of data objects labeled by a human worker.

    " + }, + "PendingHuman":{ + "shape":"LabelCounter", + "documentation":"

    The total number of data objects that need to be labeled by a human worker.

    " + }, + "Total":{ + "shape":"LabelCounter", + "documentation":"

    The total number of tasks in the labeling job.

    " + } + }, + "documentation":"

    Provides counts for human-labeled tasks in the labeling job.

    " + }, + "LabelingJobAlgorithmSpecificationArn":{ + "type":"string", + "max":2048, + "pattern":"arn:.*" + }, + "LabelingJobAlgorithmsConfig":{ + "type":"structure", + "required":["LabelingJobAlgorithmSpecificationArn"], + "members":{ + "LabelingJobAlgorithmSpecificationArn":{ + "shape":"LabelingJobAlgorithmSpecificationArn", + "documentation":"

    Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. You must select one of the following ARNs:

    • Image classification

      arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification

    • Text classification

      arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification

    • Object detection

      arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection

    • Semantic Segmentation

      arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/semantic-segmentation

    " + }, + "InitialActiveLearningModelArn":{ + "shape":"ModelArn", + "documentation":"

    At the end of an auto-label job Amazon SageMaker Ground Truth sends the Amazon Resource Nam (ARN) of the final model used for auto-labeling. You can use this model as the starting point for subsequent similar jobs by providing the ARN of the model here.

    " + }, + "LabelingJobResourceConfig":{ + "shape":"LabelingJobResourceConfig", + "documentation":"

    Provides configuration information for a labeling job.

    " + } + }, + "documentation":"

    Provides configuration information for auto-labeling of your data objects. A LabelingJobAlgorithmsConfig object must be supplied in order to use auto-labeling.

    " + }, + "LabelingJobArn":{ + "type":"string", + "max":2048, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:labeling-job/.*" + }, + "LabelingJobDataAttributes":{ + "type":"structure", + "members":{ + "ContentClassifiers":{ + "shape":"ContentClassifiers", + "documentation":"

    Declares that your content is free of personally identifiable information or adult content. Amazon SageMaker may restrict the Amazon Mechanical Turk workers that can view your task based on this information.

    " + } + }, + "documentation":"

    Attributes of the data specified by the customer. Use these to describe the data to be labeled.

    " + }, + "LabelingJobDataSource":{ + "type":"structure", + "required":["S3DataSource"], + "members":{ + "S3DataSource":{ + "shape":"LabelingJobS3DataSource", + "documentation":"

    The Amazon S3 location of the input data objects.

    " + } + }, + "documentation":"

    Provides information about the location of input data.

    " + }, + "LabelingJobForWorkteamSummary":{ + "type":"structure", + "required":[ + "JobReferenceCode", + "WorkRequesterAccountId", + "CreationTime" + ], + "members":{ + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name of the labeling job that the work team is assigned to.

    " + }, + "JobReferenceCode":{ + "shape":"JobReferenceCode", + "documentation":"

    A unique identifier for a labeling job. You can use this to refer to a specific labeling job.

    " + }, + "WorkRequesterAccountId":{ + "shape":"AccountId", + "documentation":"

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the labeling job was created.

    " + }, + "LabelCounters":{ + "shape":"LabelCountersForWorkteam", + "documentation":"

    Provides information about the progress of a labeling job.

    " + }, + "NumberOfHumanWorkersPerDataObject":{ + "shape":"NumberOfHumanWorkersPerDataObject", + "documentation":"

    The configured number of workers per data object.

    " + } + }, + "documentation":"

    Provides summary information for a work team.

    " + }, + "LabelingJobForWorkteamSummaryList":{ + "type":"list", + "member":{"shape":"LabelingJobForWorkteamSummary"} + }, + "LabelingJobInputConfig":{ + "type":"structure", + "required":["DataSource"], + "members":{ + "DataSource":{ + "shape":"LabelingJobDataSource", + "documentation":"

    The location of the input data.

    " + }, + "DataAttributes":{ + "shape":"LabelingJobDataAttributes", + "documentation":"

    Attributes of the data specified by the customer.

    " + } + }, + "documentation":"

    Input configuration information for a labeling job.

    " + }, + "LabelingJobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "LabelingJobOutput":{ + "type":"structure", + "required":["OutputDatasetS3Uri"], + "members":{ + "OutputDatasetS3Uri":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 bucket location of the manifest file for labeled data.

    " + }, + "FinalActiveLearningModelArn":{ + "shape":"ModelArn", + "documentation":"

    The Amazon Resource Name (ARN) for the most recent Amazon SageMaker model trained as part of automated data labeling.

    " + } + }, + "documentation":"

    Specifies the location of the output produced by the labeling job.

    " + }, + "LabelingJobOutputConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 location to write output data.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service ID of the key used to encrypt the output data, if any.

    If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must include permissions to call kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS-managed keys for LabelingJobOutputConfig. If you use a bucket policy with an s3:PutObject permission that only allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption to \"aws:kms\". For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

    The KMS key policy must grant permission to the IAM role that you specify in your CreateLabelingJob request. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

    " + } + }, + "documentation":"

    Output configuration information for a labeling job.

    " + }, + "LabelingJobResourceConfig":{ + "type":"structure", + "members":{ + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training job. The VolumeKmsKeyId can be any of the following formats:

    • // KMS Key ID

      \"1234abcd-12ab-34cd-56ef-1234567890ab\"

    • // Amazon Resource Name (ARN) of a KMS Key

      \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

    " + } + }, + "documentation":"

    Provides configuration information for labeling jobs.

    " + }, + "LabelingJobS3DataSource":{ + "type":"structure", + "required":["ManifestS3Uri"], + "members":{ + "ManifestS3Uri":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 location of the manifest file that describes the input data objects.

    " + } + }, + "documentation":"

    The Amazon S3 location of the input data objects.

    " + }, + "LabelingJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "LabelingJobStoppingConditions":{ + "type":"structure", + "members":{ + "MaxHumanLabeledObjectCount":{ + "shape":"MaxHumanLabeledObjectCount", + "documentation":"

    The maximum number of objects that can be labeled by human workers.

    " + }, + "MaxPercentageOfInputDatasetLabeled":{ + "shape":"MaxPercentageOfInputDatasetLabeled", + "documentation":"

    The maximum number of input data objects that should be labeled.

    " + } + }, + "documentation":"

    A set of conditions for stopping a labeling job. If any of the conditions are met, the job is automatically stopped. You can use these conditions to control the cost of data labeling.

    Labeling jobs fail after 30 days with an appropriate client error message.

    " + }, + "LabelingJobSummary":{ + "type":"structure", + "required":[ + "LabelingJobName", + "LabelingJobArn", + "CreationTime", + "LastModifiedTime", + "LabelingJobStatus", + "LabelCounters", + "WorkteamArn", + "PreHumanTaskLambdaArn" + ], + "members":{ + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name of the labeling job.

    " + }, + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) assigned to the labeling job when it was created.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the job was created (timestamp).

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the job was last modified (timestamp).

    " + }, + "LabelingJobStatus":{ + "shape":"LabelingJobStatus", + "documentation":"

    The current status of the labeling job.

    " + }, + "LabelCounters":{ + "shape":"LabelCounters", + "documentation":"

    Counts showing the progress of the labeling job.

    " + }, + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the work team assigned to the job.

    " + }, + "PreHumanTaskLambdaArn":{ + "shape":"LambdaFunctionArn", + "documentation":"

    The Amazon Resource Name (ARN) of a Lambda function. The function is run before each data object is sent to a worker.

    " + }, + "AnnotationConsolidationLambdaArn":{ + "shape":"LambdaFunctionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Lambda function used to consolidate the annotations from individual workers into a label for a data object. For more information, see Annotation Consolidation.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the LabelingJobStatus field is Failed, this field contains a description of the error.

    " + }, + "LabelingJobOutput":{ + "shape":"LabelingJobOutput", + "documentation":"

    The location of the output produced by the labeling job.

    " + }, + "InputConfig":{ + "shape":"LabelingJobInputConfig", + "documentation":"

    Input configuration for the labeling job.

    " + } + }, + "documentation":"

    Provides summary information about a labeling job.

    " + }, + "LabelingJobSummaryList":{ + "type":"list", + "member":{"shape":"LabelingJobSummary"} + }, + "LambdaFunctionArn":{ + "type":"string", + "max":2048, + "pattern":"arn:aws[a-z\\-]*:lambda:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_\\.]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" + }, + "LastModifiedTime":{"type":"timestamp"}, + "ListAlgorithmsInput":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only algorithms created after the specified time (timestamp).

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only algorithms created before the specified time (timestamp).

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of algorithms to return in the response.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the algorithm name. This filter returns only algorithms whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response to a previous ListAlgorithms request was truncated, the response includes a NextToken. To retrieve the next set of algorithms, use the token in the next request.

    " + }, + "SortBy":{ + "shape":"AlgorithmSortBy", + "documentation":"

    The parameter by which to sort the results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for the results. The default is Ascending.

    " + } + } + }, + "ListAlgorithmsOutput":{ + "type":"structure", + "required":["AlgorithmSummaryList"], + "members":{ + "AlgorithmSummaryList":{ + "shape":"AlgorithmSummaryList", + "documentation":"

    >An array of AlgorithmSummary objects, each of which lists an algorithm.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of algorithms, use it in the subsequent request.

    " + } + } + }, + "ListAppsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Returns a list up to a specified limit.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for the results. The default is Ascending.

    " + }, + "SortBy":{ + "shape":"AppSortKey", + "documentation":"

    The parameter by which to sort the results. The default is CreationTime.

    " + }, + "DomainIdEquals":{ + "shape":"DomainId", + "documentation":"

    A parameter to search for the domain ID.

    " + }, + "UserProfileNameEquals":{ + "shape":"UserProfileName", + "documentation":"

    A parameter to search by user profile name.

    " + } + } + }, + "ListAppsResponse":{ + "type":"structure", + "members":{ + "Apps":{ + "shape":"AppList", + "documentation":"

    The list of apps.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListAutoMLJobsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    Request a list of jobs, using a filter for time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    Request a list of jobs, using a filter for time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    Request a list of jobs, using a filter for time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    Request a list of jobs, using a filter for time.

    " + }, + "NameContains":{ + "shape":"AutoMLNameContains", + "documentation":"

    Request a list of jobs, using a search filter for name.

    " + }, + "StatusEquals":{ + "shape":"AutoMLJobStatus", + "documentation":"

    Request a list of jobs, using a filter for status.

    " + }, + "SortOrder":{ + "shape":"AutoMLSortOrder", + "documentation":"

    The sort order for the results. The default is Descending.

    " + }, + "SortBy":{ + "shape":"AutoMLSortBy", + "documentation":"

    The parameter by which to sort the results. The default is AutoMLJobName.

    " + }, + "MaxResults":{ + "shape":"AutoMLMaxResults", + "documentation":"

    Request a list of jobs up to a specified limit.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListAutoMLJobsResponse":{ + "type":"structure", + "required":["AutoMLJobSummaries"], + "members":{ + "AutoMLJobSummaries":{ + "shape":"AutoMLJobSummaries", + "documentation":"

    Returns a summary list of jobs.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListCandidatesForAutoMLJobRequest":{ + "type":"structure", + "required":["AutoMLJobName"], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    List the Candidates created for the job by providing the job's name.

    " + }, + "StatusEquals":{ + "shape":"CandidateStatus", + "documentation":"

    List the Candidates for the job and filter by status.

    " + }, + "CandidateNameEquals":{ + "shape":"CandidateName", + "documentation":"

    List the Candidates for the job and filter by candidate name.

    " + }, + "SortOrder":{ + "shape":"AutoMLSortOrder", + "documentation":"

    The sort order for the results. The default is Ascending.

    " + }, + "SortBy":{ + "shape":"CandidateSortBy", + "documentation":"

    The parameter by which to sort the results. The default is Descending.

    " + }, + "MaxResults":{ + "shape":"AutoMLMaxResults", + "documentation":"

    List the job's Candidates up to a specified limit.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListCandidatesForAutoMLJobResponse":{ + "type":"structure", + "required":["Candidates"], + "members":{ + "Candidates":{ + "shape":"AutoMLCandidates", + "documentation":"

    Summaries about the Candidates.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListCodeRepositoriesInput":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only Git repositories that were created after the specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only Git repositories that were created before the specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only Git repositories that were last modified after the specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only Git repositories that were last modified before the specified time.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of Git repositories to return in the response.

    " + }, + "NameContains":{ + "shape":"CodeRepositoryNameContains", + "documentation":"

    A string in the Git repositories name. This filter returns only repositories whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

    " + }, + "SortBy":{ + "shape":"CodeRepositorySortBy", + "documentation":"

    The field to sort results by. The default is Name.

    " + }, + "SortOrder":{ + "shape":"CodeRepositorySortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + } + } + }, + "ListCodeRepositoriesOutput":{ + "type":"structure", + "required":["CodeRepositorySummaryList"], + "members":{ + "CodeRepositorySummaryList":{ + "shape":"CodeRepositorySummaryList", + "documentation":"

    Gets a list of summaries of the Git repositories. Each summary specifies the following values for the repository:

    • Name

    • Amazon Resource Name (ARN)

    • Creation time

    • Last modified time

    • Configuration information, including the URL location of the repository and the ARN of the AWS Secrets Manager secret that contains the credentials used to access the repository.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

    " + } + } + }, + "ListCompilationJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListCompilationJobs request was truncated, the response includes a NextToken. To retrieve the next set of model compilation jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of model compilation jobs to return in the response.

    ", + "box":true + }, + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns the model compilation jobs that were created after a specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns the model compilation jobs that were created before a specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns the model compilation jobs that were modified after a specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns the model compilation jobs that were modified before a specified time.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A filter that returns the model compilation jobs whose name contains a specified string.

    " + }, + "StatusEquals":{ + "shape":"CompilationJobStatus", + "documentation":"

    A filter that retrieves model compilation jobs with a specific DescribeCompilationJobResponse$CompilationJobStatus status.

    " + }, + "SortBy":{ + "shape":"ListCompilationJobsSortBy", + "documentation":"

    The field by which to sort results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + } + } + }, + "ListCompilationJobsResponse":{ + "type":"structure", + "required":["CompilationJobSummaries"], + "members":{ + "CompilationJobSummaries":{ + "shape":"CompilationJobSummaries", + "documentation":"

    An array of CompilationJobSummary objects, each describing a model compilation job.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this NextToken. To retrieve the next set of model compilation jobs, use this token in the next request.

    " + } + } + }, + "ListCompilationJobsSortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "ListDomainsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Returns a list up to a specified limit.

    " + } + } + }, + "ListDomainsResponse":{ + "type":"structure", + "members":{ + "Domains":{ + "shape":"DomainList", + "documentation":"

    The list of domains.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListEndpointConfigsInput":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"EndpointConfigSortKey", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"OrderKey", + "documentation":"

    The sort order for results. The default is Descending.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the result of the previous ListEndpointConfig request was truncated, the response includes a NextToken. To retrieve the next set of endpoint configurations, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of training jobs to return in the response.

    " + }, + "NameContains":{ + "shape":"EndpointConfigNameContains", + "documentation":"

    A string in the endpoint configuration name. This filter returns only endpoint configurations whose name contains the specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoint configurations created before the specified time (timestamp).

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoint configurations with a creation time greater than or equal to the specified time (timestamp).

    " + } + } + }, + "ListEndpointConfigsOutput":{ + "type":"structure", + "required":["EndpointConfigs"], + "members":{ + "EndpointConfigs":{ + "shape":"EndpointConfigSummaryList", + "documentation":"

    An array of endpoint configurations.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of endpoint configurations, use it in the subsequent request

    " + } + } + }, + "ListEndpointsInput":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"EndpointSortKey", + "documentation":"

    Sorts the list of results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"OrderKey", + "documentation":"

    The sort order for results. The default is Descending.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the result of a ListEndpoints request was truncated, the response includes a NextToken. To retrieve the next set of endpoints, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of endpoints to return in the response.

    " + }, + "NameContains":{ + "shape":"EndpointNameContains", + "documentation":"

    A string in endpoint names. This filter returns only endpoints whose name contains the specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoints that were created before the specified time (timestamp).

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoints with a creation time greater than or equal to the specified time (timestamp).

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoints that were modified before the specified timestamp.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only endpoints that were modified after the specified timestamp.

    " + }, + "StatusEquals":{ + "shape":"EndpointStatus", + "documentation":"

    A filter that returns only endpoints with the specified status.

    " + } + } + }, + "ListEndpointsOutput":{ + "type":"structure", + "required":["Endpoints"], + "members":{ + "Endpoints":{ + "shape":"EndpointSummaryList", + "documentation":"

    An array or endpoint objects.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

    " + } + } + }, + "ListExperimentsRequest":{ + "type":"structure", + "members":{ + "CreatedAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only experiments created after the specified time.

    " + }, + "CreatedBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only experiments created before the specified time.

    " + }, + "SortBy":{ + "shape":"SortExperimentsBy", + "documentation":"

    The property used to sort results. The default value is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. The default value is Descending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous call to ListExperiments didn't return the full set of experiments, the call returns a token for getting the next set of experiments.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of experiments to return in the response. The default value is 10.

    " + } + } + }, + "ListExperimentsResponse":{ + "type":"structure", + "members":{ + "ExperimentSummaries":{ + "shape":"ExperimentSummaries", + "documentation":"

    A list of the summaries of your experiments.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token for getting the next set of experiments, if there are any.

    " + } + } + }, + "ListFlowDefinitionsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only flow definitions with a creation time greater than or equal to the specified timestamp.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only flow definitions that were created before the specified timestamp.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    An optional value that specifies whether you want the results sorted in Ascending or Descending order.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

    ", + "box":true + } + } + }, + "ListFlowDefinitionsResponse":{ + "type":"structure", + "required":["FlowDefinitionSummaries"], + "members":{ + "FlowDefinitionSummaries":{ + "shape":"FlowDefinitionSummaries", + "documentation":"

    An array of objects describing the flow definitions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination.

    " + } + } + }, + "ListHumanTaskUisRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only human task user interfaces with a creation time greater than or equal to the specified timestamp.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only human task user interfaces that were created before the specified timestamp.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    An optional value that specifies whether you want the results sorted in Ascending or Descending order.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken will be provided in the output that you can use to resume pagination.

    ", + "box":true + } + } + }, + "ListHumanTaskUisResponse":{ + "type":"structure", + "required":["HumanTaskUiSummaries"], + "members":{ + "HumanTaskUiSummaries":{ + "shape":"HumanTaskUiSummaries", + "documentation":"

    An array of objects describing the human task user interfaces.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to resume pagination.

    " + } + } + }, + "ListHyperParameterTuningJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListHyperParameterTuningJobs request was truncated, the response includes a NextToken. To retrieve the next set of tuning jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of tuning jobs to return. The default value is 10.

    ", + "box":true + }, + "SortBy":{ + "shape":"HyperParameterTuningJobSortByOptions", + "documentation":"

    The field to sort results by. The default is Name.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the tuning job name. This filter returns only tuning jobs whose name contains the specified string.

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only tuning jobs that were created after the specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only tuning jobs that were created before the specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only tuning jobs that were modified after the specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only tuning jobs that were modified before the specified time.

    " + }, + "StatusEquals":{ + "shape":"HyperParameterTuningJobStatus", + "documentation":"

    A filter that returns only tuning jobs with the specified status.

    " + } + } + }, + "ListHyperParameterTuningJobsResponse":{ + "type":"structure", + "required":["HyperParameterTuningJobSummaries"], + "members":{ + "HyperParameterTuningJobSummaries":{ + "shape":"HyperParameterTuningJobSummaries", + "documentation":"

    A list of HyperParameterTuningJobSummary objects that describe the tuning jobs that the ListHyperParameterTuningJobs request returned.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of this ListHyperParameterTuningJobs request was truncated, the response includes a NextToken. To retrieve the next set of tuning jobs, use the token in the next request.

    " + } + } + }, + "ListLabelingJobsForWorkteamRequest":{ + "type":"structure", + "required":["WorkteamArn"], + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the work team for which you want to see labeling jobs for.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of labeling jobs to return in each page of the response.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListLabelingJobsForWorkteam request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs created after the specified time (timestamp).

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs created before the specified time (timestamp).

    " + }, + "JobReferenceCodeContains":{ + "shape":"JobReferenceCodeContains", + "documentation":"

    A filter the limits jobs to only the ones whose job reference code contains the specified string.

    " + }, + "SortBy":{ + "shape":"ListLabelingJobsForWorkteamSortByOptions", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + } + } + }, + "ListLabelingJobsForWorkteamResponse":{ + "type":"structure", + "required":["LabelingJobSummaryList"], + "members":{ + "LabelingJobSummaryList":{ + "shape":"LabelingJobForWorkteamSummaryList", + "documentation":"

    An array of LabelingJobSummary objects, each describing a labeling job.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of labeling jobs, use it in the subsequent request.

    " + } + } + }, + "ListLabelingJobsForWorkteamSortByOptions":{ + "type":"string", + "enum":["CreationTime"] + }, + "ListLabelingJobsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs created after the specified time (timestamp).

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs created before the specified time (timestamp).

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs modified after the specified time (timestamp).

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only labeling jobs modified before the specified time (timestamp).

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of labeling jobs to return in each page of the response.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListLabelingJobs request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the labeling job name. This filter returns only labeling jobs whose name contains the specified string.

    " + }, + "SortBy":{ + "shape":"SortBy", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + }, + "StatusEquals":{ + "shape":"LabelingJobStatus", + "documentation":"

    A filter that retrieves only labeling jobs with a specific status.

    " + } + } + }, + "ListLabelingJobsResponse":{ + "type":"structure", + "members":{ + "LabelingJobSummaryList":{ + "shape":"LabelingJobSummaryList", + "documentation":"

    An array of LabelingJobSummary objects, each describing a labeling job.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of labeling jobs, use it in the subsequent request.

    " + } + } + }, + "ListModelPackagesInput":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only model packages created after the specified time (timestamp).

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only model packages created before the specified time (timestamp).

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of model packages to return in the response.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the model package name. This filter returns only model packages whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response to a previous ListModelPackages request was truncated, the response includes a NextToken. To retrieve the next set of model packages, use the token in the next request.

    " + }, + "SortBy":{ + "shape":"ModelPackageSortBy", + "documentation":"

    The parameter by which to sort the results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for the results. The default is Ascending.

    " + } + } + }, + "ListModelPackagesOutput":{ + "type":"structure", + "required":["ModelPackageSummaryList"], + "members":{ + "ModelPackageSummaryList":{ + "shape":"ModelPackageSummaryList", + "documentation":"

    An array of ModelPackageSummary objects, each of which lists a model package.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of model packages, use it in the subsequent request.

    " + } + } + }, + "ListModelsInput":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"ModelSortKey", + "documentation":"

    Sorts the list of results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"OrderKey", + "documentation":"

    The sort order for results. The default is Descending.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response to a previous ListModels request was truncated, the response includes a NextToken. To retrieve the next set of models, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of models to return in the response.

    " + }, + "NameContains":{ + "shape":"ModelNameContains", + "documentation":"

    A string in the training job name. This filter returns only models in the training job whose name contains the specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only models created before the specified time (timestamp).

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only models with a creation time greater than or equal to the specified time (timestamp).

    " + } + } + }, + "ListModelsOutput":{ + "type":"structure", + "required":["Models"], + "members":{ + "Models":{ + "shape":"ModelSummaryList", + "documentation":"

    An array of ModelSummary objects, each of which lists a model.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of models, use it in the subsequent request.

    " + } + } + }, + "ListMonitoringExecutionsRequest":{ + "type":"structure", + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    Name of a specific schedule to fetch jobs for.

    " + }, + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    Name of a specific endpoint to fetch jobs for.

    " + }, + "SortBy":{ + "shape":"MonitoringExecutionSortKey", + "documentation":"

    Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    Whether to sort the results in Ascending or Descending order. The default is Descending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of jobs to return in the response. The default value is 10.

    " + }, + "ScheduledTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    Filter for jobs scheduled before a specified time.

    " + }, + "ScheduledTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    Filter for jobs scheduled after a specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only jobs created before a specified time.

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only jobs created after a specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only jobs modified after a specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only jobs modified before a specified time.

    " + }, + "StatusEquals":{ + "shape":"ExecutionStatus", + "documentation":"

    A filter that retrieves only jobs with a specific status.

    " + } + } + }, + "ListMonitoringExecutionsResponse":{ + "type":"structure", + "required":["MonitoringExecutionSummaries"], + "members":{ + "MonitoringExecutionSummaries":{ + "shape":"MonitoringExecutionSummaryList", + "documentation":"

    A JSON array in which each element is a summary for a monitoring execution.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent reques

    " + } + } + }, + "ListMonitoringSchedulesRequest":{ + "type":"structure", + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    Name of a specific endpoint to fetch schedules for.

    " + }, + "SortBy":{ + "shape":"MonitoringScheduleSortKey", + "documentation":"

    Whether to sort results by Status, CreationTime, ScheduledTime field. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    Whether to sort the results in Ascending or Descending order. The default is Descending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token returned if the response is truncated. To retrieve the next set of job executions, use it in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of jobs to return in the response. The default value is 10.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    Filter for monitoring schedules whose name contains a specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only monitoring schedules created before a specified time.

    " + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only monitoring schedules created after a specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only monitoring schedules modified before a specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only monitoring schedules modified after a specified time.

    " + }, + "StatusEquals":{ + "shape":"ScheduleStatus", + "documentation":"

    A filter that returns only monitoring schedules modified before a specified time.

    " + } + } + }, + "ListMonitoringSchedulesResponse":{ + "type":"structure", + "required":["MonitoringScheduleSummaries"], + "members":{ + "MonitoringScheduleSummaries":{ + "shape":"MonitoringScheduleSummaryList", + "documentation":"

    A JSON array in which each element is a summary for a monitoring schedule.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of jobs, use it in the subsequent reques

    " + } + } + }, + "ListNotebookInstanceLifecycleConfigsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of a ListNotebookInstanceLifecycleConfigs request was truncated, the response includes a NextToken. To get the next set of lifecycle configurations, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of lifecycle configurations to return in the response.

    " + }, + "SortBy":{ + "shape":"NotebookInstanceLifecycleConfigSortKey", + "documentation":"

    Sorts the list of results. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"NotebookInstanceLifecycleConfigSortOrder", + "documentation":"

    The sort order for results.

    " + }, + "NameContains":{ + "shape":"NotebookInstanceLifecycleConfigNameContains", + "documentation":"

    A string in the lifecycle configuration name. This filter returns only lifecycle configurations whose name contains the specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only lifecycle configurations that were created before the specified time (timestamp).

    " + }, + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only lifecycle configurations that were created after the specified time (timestamp).

    " + }, + "LastModifiedTimeBefore":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns only lifecycle configurations that were modified before the specified time (timestamp).

    " + }, + "LastModifiedTimeAfter":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns only lifecycle configurations that were modified after the specified time (timestamp).

    " + } + } + }, + "ListNotebookInstanceLifecycleConfigsOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To get the next set of lifecycle configurations, use it in the next request.

    " + }, + "NotebookInstanceLifecycleConfigs":{ + "shape":"NotebookInstanceLifecycleConfigSummaryList", + "documentation":"

    An array of NotebookInstanceLifecycleConfiguration objects, each listing a lifecycle configuration.

    " + } + } + }, + "ListNotebookInstancesInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous call to the ListNotebookInstances is truncated, the response includes a NextToken. You can use this token in your subsequent ListNotebookInstances request to fetch the next set of notebook instances.

    You might specify a filter or a sort order in your request. When response is truncated, you must use the same values for the filer and sort order in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of notebook instances to return.

    " + }, + "SortBy":{ + "shape":"NotebookInstanceSortKey", + "documentation":"

    The field to sort results by. The default is Name.

    " + }, + "SortOrder":{ + "shape":"NotebookInstanceSortOrder", + "documentation":"

    The sort order for results.

    " + }, + "NameContains":{ + "shape":"NotebookInstanceNameContains", + "documentation":"

    A string in the notebook instances' name. This filter returns only notebook instances whose name contains the specified string.

    " + }, + "CreationTimeBefore":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only notebook instances that were created before the specified time (timestamp).

    " + }, + "CreationTimeAfter":{ + "shape":"CreationTime", + "documentation":"

    A filter that returns only notebook instances that were created after the specified time (timestamp).

    " + }, + "LastModifiedTimeBefore":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns only notebook instances that were modified before the specified time (timestamp).

    " + }, + "LastModifiedTimeAfter":{ + "shape":"LastModifiedTime", + "documentation":"

    A filter that returns only notebook instances that were modified after the specified time (timestamp).

    " + }, + "StatusEquals":{ + "shape":"NotebookInstanceStatus", + "documentation":"

    A filter that returns only notebook instances with the specified status.

    " + }, + "NotebookInstanceLifecycleConfigNameContains":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    A string in the name of a notebook instances lifecycle configuration associated with this notebook instance. This filter returns only notebook instances associated with a lifecycle configuration with a name that contains the specified string.

    " + }, + "DefaultCodeRepositoryContains":{ + "shape":"CodeRepositoryContains", + "documentation":"

    A string in the name or URL of a Git repository associated with this notebook instance. This filter returns only notebook instances associated with a git repository with a name that contains the specified string.

    " + }, + "AdditionalCodeRepositoryEquals":{ + "shape":"CodeRepositoryNameOrUrl", + "documentation":"

    A filter that returns only notebook instances with associated with the specified git repository.

    " + } + } + }, + "ListNotebookInstancesOutput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response to the previous ListNotebookInstances request was truncated, Amazon SageMaker returns this token. To retrieve the next set of notebook instances, use the token in the next request.

    " + }, + "NotebookInstances":{ + "shape":"NotebookInstanceSummaryList", + "documentation":"

    An array of NotebookInstanceSummary objects, one for each notebook instance.

    " + } + } + }, + "ListProcessingJobsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only processing jobs created after the specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only processing jobs created after the specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only processing jobs modified after the specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only processing jobs modified before the specified time.

    " + }, + "NameContains":{ + "shape":"String", + "documentation":"

    A string in the processing job name. This filter returns only processing jobs whose name contains the specified string.

    " + }, + "StatusEquals":{ + "shape":"ProcessingJobStatus", + "documentation":"

    A filter that retrieves only processing jobs with a specific status.

    " + }, + "SortBy":{ + "shape":"SortBy", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListProcessingJobs request was truncated, the response includes a NextToken. To retrieve the next set of processing jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of processing jobs to return in the response.

    ", + "box":true + } + } + }, + "ListProcessingJobsResponse":{ + "type":"structure", + "required":["ProcessingJobSummaries"], + "members":{ + "ProcessingJobSummaries":{ + "shape":"ProcessingJobSummaries", + "documentation":"

    An array of ProcessingJobSummary objects, each listing a processing job.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of processing jobs, use it in the subsequent request.

    " + } + } + }, + "ListSubscribedWorkteamsRequest":{ + "type":"structure", + "members":{ + "NameContains":{ + "shape":"WorkteamName", + "documentation":"

    A string in the work team name. This filter returns only work teams whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListSubscribedWorkteams request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of work teams to return in each page of the response.

    ", + "box":true + } + } + }, + "ListSubscribedWorkteamsResponse":{ + "type":"structure", + "required":["SubscribedWorkteams"], + "members":{ + "SubscribedWorkteams":{ + "shape":"SubscribedWorkteams", + "documentation":"

    An array of Workteam objects, each describing a work team.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of work teams, use it in the subsequent request.

    " + } + } + }, + "ListTagsInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response to the previous ListTags request is truncated, Amazon SageMaker returns this token. To retrieve the next set of tags, use it in the subsequent request.

    " + }, + "MaxResults":{ + "shape":"ListTagsMaxResults", + "documentation":"

    Maximum number of tags to return.

    " + } + } + }, + "ListTagsMaxResults":{ + "type":"integer", + "min":50 + }, + "ListTagsOutput":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of Tag objects, each with a tag key and a value.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If response is truncated, Amazon SageMaker includes a token in the response. You can use this token in your subsequent request to fetch next set of tokens.

    " + } + } + }, + "ListTrainingJobsForHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job whose training jobs you want to list.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListTrainingJobsForHyperParameterTuningJob request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of training jobs to return. The default value is 10.

    " + }, + "StatusEquals":{ + "shape":"TrainingJobStatus", + "documentation":"

    A filter that returns only training jobs with the specified status.

    " + }, + "SortBy":{ + "shape":"TrainingJobSortByOptions", + "documentation":"

    The field to sort results by. The default is Name.

    If the value of this field is FinalObjectiveMetricValue, any training jobs that did not return an objective metric are not listed.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + } + } + }, + "ListTrainingJobsForHyperParameterTuningJobResponse":{ + "type":"structure", + "required":["TrainingJobSummaries"], + "members":{ + "TrainingJobSummaries":{ + "shape":"HyperParameterTrainingJobSummaries", + "documentation":"

    A list of TrainingJobSummary objects that describe the training jobs that the ListTrainingJobsForHyperParameterTuningJob request returned.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of this ListTrainingJobsForHyperParameterTuningJob request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

    " + } + } + }, + "ListTrainingJobsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListTrainingJobs request was truncated, the response includes a NextToken. To retrieve the next set of training jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of training jobs to return in the response.

    ", + "box":true + }, + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only training jobs created after the specified time (timestamp).

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only training jobs created before the specified time (timestamp).

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only training jobs modified after the specified time (timestamp).

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only training jobs modified before the specified time (timestamp).

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the training job name. This filter returns only training jobs whose name contains the specified string.

    " + }, + "StatusEquals":{ + "shape":"TrainingJobStatus", + "documentation":"

    A filter that retrieves only training jobs with a specific status.

    " + }, + "SortBy":{ + "shape":"SortBy", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + } + } + }, + "ListTrainingJobsResponse":{ + "type":"structure", + "required":["TrainingJobSummaries"], + "members":{ + "TrainingJobSummaries":{ + "shape":"TrainingJobSummaries", + "documentation":"

    An array of TrainingJobSummary objects, each listing a training job.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

    " + } + } + }, + "ListTransformJobsRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only transform jobs created after the specified time.

    " + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only transform jobs created before the specified time.

    " + }, + "LastModifiedTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only transform jobs modified after the specified time.

    " + }, + "LastModifiedTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only transform jobs modified before the specified time.

    " + }, + "NameContains":{ + "shape":"NameContains", + "documentation":"

    A string in the transform job name. This filter returns only transform jobs whose name contains the specified string.

    " + }, + "StatusEquals":{ + "shape":"TransformJobStatus", + "documentation":"

    A filter that retrieves only transform jobs with a specific status.

    " + }, + "SortBy":{ + "shape":"SortBy", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Descending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListTransformJobs request was truncated, the response includes a NextToken. To retrieve the next set of transform jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of transform jobs to return in the response. The default value is 10.

    ", + "box":true + } + } + }, + "ListTransformJobsResponse":{ + "type":"structure", + "required":["TransformJobSummaries"], + "members":{ + "TransformJobSummaries":{ + "shape":"TransformJobSummaries", + "documentation":"

    An array of TransformJobSummary objects.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of transform jobs, use it in the next request.

    " + } + } + }, + "ListTrialComponentKey256":{ + "type":"list", + "member":{"shape":"TrialComponentKey256"} + }, + "ListTrialComponentsRequest":{ + "type":"structure", + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    A filter that returns only components that are part of the specified experiment. If you specify ExperimentName, you can't filter by SourceArn or TrialName.

    " + }, + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    A filter that returns only components that are part of the specified trial. If you specify TrialName, you can't filter by ExperimentName or SourceArn.

    " + }, + "SourceArn":{ + "shape":"String256", + "documentation":"

    A filter that returns only components that have the specified source Amazon Resource Name (ARN). If you specify SourceArn, you can't filter by ExperimentName or TrialName.

    " + }, + "CreatedAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only components created after the specified time.

    " + }, + "CreatedBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only components created before the specified time.

    " + }, + "SortBy":{ + "shape":"SortTrialComponentsBy", + "documentation":"

    The property used to sort results. The default value is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. The default value is Descending.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of components to return in the response. The default value is 10.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous call to ListTrialComponents didn't return the full set of components, the call returns a token for getting the next set of components.

    " + } + } + }, + "ListTrialComponentsResponse":{ + "type":"structure", + "members":{ + "TrialComponentSummaries":{ + "shape":"TrialComponentSummaries", + "documentation":"

    A list of the summaries of your trial components.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token for getting the next set of components, if there are any.

    " + } + } + }, + "ListTrialsRequest":{ + "type":"structure", + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    A filter that returns only trials that are part of the specified experiment.

    " + }, + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    A filter that returns only trials that are associated with the specified trial component.

    " + }, + "CreatedAfter":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only trials created after the specified time.

    " + }, + "CreatedBefore":{ + "shape":"Timestamp", + "documentation":"

    A filter that returns only trials created before the specified time.

    " + }, + "SortBy":{ + "shape":"SortTrialsBy", + "documentation":"

    The property used to sort results. The default value is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. The default value is Descending.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of trials to return in the response. The default value is 10.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous call to ListTrials didn't return the full set of trials, the call returns a token for getting the next set of trials.

    " + } + } + }, + "ListTrialsResponse":{ + "type":"structure", + "members":{ + "TrialSummaries":{ + "shape":"TrialSummaries", + "documentation":"

    A list of the summaries of your trials.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token for getting the next set of trials, if there are any.

    " + } + } + }, + "ListUserProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Returns a list up to a specified limit.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for the results. The default is Ascending.

    " + }, + "SortBy":{ + "shape":"UserProfileSortKey", + "documentation":"

    The parameter by which to sort the results. The default is CreationTime.

    " + }, + "DomainIdEquals":{ + "shape":"DomainId", + "documentation":"

    A parameter by which to filter the results.

    " + }, + "UserProfileNameContains":{ + "shape":"UserProfileName", + "documentation":"

    A parameter by which to filter the results.

    " + } + } + }, + "ListUserProfilesResponse":{ + "type":"structure", + "members":{ + "UserProfiles":{ + "shape":"UserProfileList", + "documentation":"

    The list of user profiles.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the previous response was truncated, you will receive this token. Use it in your next request to receive the next set of results.

    " + } + } + }, + "ListWorkteamsRequest":{ + "type":"structure", + "members":{ + "SortBy":{ + "shape":"ListWorkteamsSortByOptions", + "documentation":"

    The field to sort results by. The default is CreationTime.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order for results. The default is Ascending.

    " + }, + "NameContains":{ + "shape":"WorkteamName", + "documentation":"

    A string in the work team's name. This filter returns only work teams whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous ListWorkteams request was truncated, the response includes a NextToken. To retrieve the next set of labeling jobs, use the token in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of work teams to return in each page of the response.

    ", + "box":true + } + } + }, + "ListWorkteamsResponse":{ + "type":"structure", + "required":["Workteams"], + "members":{ + "Workteams":{ + "shape":"Workteams", + "documentation":"

    An array of Workteam objects, each describing a work team.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response is truncated, Amazon SageMaker returns this token. To retrieve the next set of work teams, use it in the subsequent request.

    " + } + } + }, + "ListWorkteamsSortByOptions":{ + "type":"string", + "enum":[ + "Name", + "CreateDate" + ] + }, + "MaxAutoMLJobRuntimeInSeconds":{ + "type":"integer", + "min":1 + }, + "MaxCandidates":{ + "type":"integer", + "min":1 + }, + "MaxConcurrentTaskCount":{ + "type":"integer", + "max":1000, + "min":1 + }, + "MaxConcurrentTransforms":{ + "type":"integer", + "min":0 + }, + "MaxHumanLabeledObjectCount":{ + "type":"integer", + "min":1 + }, + "MaxNumberOfTrainingJobs":{ + "type":"integer", + "min":1 + }, + "MaxParallelTrainingJobs":{ + "type":"integer", + "min":1 + }, + "MaxPayloadInMB":{ + "type":"integer", + "min":0 + }, + "MaxPercentageOfInputDatasetLabeled":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxRuntimeInSeconds":{ + "type":"integer", + "min":1 + }, + "MaxRuntimePerTrainingJobInSeconds":{ + "type":"integer", + "min":1 + }, + "MaxWaitTimeInSeconds":{ + "type":"integer", + "min":1 + }, + "MediaType":{ + "type":"string", + "max":64, + "pattern":"^[\\w]+\\/[\\w+]+$" + }, + "MemberDefinition":{ + "type":"structure", + "members":{ + "CognitoMemberDefinition":{ + "shape":"CognitoMemberDefinition", + "documentation":"

    The Amazon Cognito user group that is part of the work team.

    " + } + }, + "documentation":"

    Defines the Amazon Cognito user group that is part of a work team.

    " + }, + "MemberDefinitions":{ + "type":"list", + "member":{"shape":"MemberDefinition"}, + "max":10, + "min":1 + }, + "MetricData":{ + "type":"structure", + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

    The name of the metric.

    " + }, + "Value":{ + "shape":"Float", + "documentation":"

    The value of the metric.

    " + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the algorithm emitted the metric.

    " + } + }, + "documentation":"

    The name, value, and date and time of a metric that was emitted to Amazon CloudWatch.

    " + }, + "MetricDefinition":{ + "type":"structure", + "required":[ + "Name", + "Regex" + ], + "members":{ + "Name":{ + "shape":"MetricName", + "documentation":"

    The name of the metric.

    " + }, + "Regex":{ + "shape":"MetricRegex", + "documentation":"

    A regular expression that searches the output of a training job and gets the value of the metric. For more information about using regular expressions to define metrics, see Defining Objective Metrics.

    " + } + }, + "documentation":"

    Specifies a metric that the training algorithm writes to stderr or stdout . Amazon SageMakerhyperparameter tuning captures all defined metrics. You specify one metric that a hyperparameter tuning job uses as its objective metric to choose the best training job.

    " + }, + "MetricDefinitionList":{ + "type":"list", + "member":{"shape":"MetricDefinition"}, + "max":40, + "min":0 + }, + "MetricName":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "MetricRegex":{ + "type":"string", + "max":500, + "min":1, + "pattern":".+" + }, + "MetricValue":{"type":"float"}, + "ModelArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model/.*" + }, + "ModelArtifacts":{ + "type":"structure", + "required":["S3ModelArtifacts"], + "members":{ + "S3ModelArtifacts":{ + "shape":"S3Uri", + "documentation":"

    The path of the S3 object that contains the model artifacts. For example, s3://bucket-name/keynameprefix/model.tar.gz.

    " + } + }, + "documentation":"

    Provides information about the location that is configured for storing model artifacts.

    " + }, + "ModelName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ModelNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "ModelPackageArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/.*" + }, + "ModelPackageContainerDefinition":{ + "type":"structure", + "required":["Image"], + "members":{ + "ContainerHostname":{ + "shape":"ContainerHostname", + "documentation":"

    The DNS host name for the Docker container.

    " + }, + "Image":{ + "shape":"Image", + "documentation":"

    The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

    If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

    " + }, + "ImageDigest":{ + "shape":"ImageDigest", + "documentation":"

    An MD5 hash of the training algorithm that identifies the Docker image used for training.

    " + }, + "ModelDataUrl":{ + "shape":"Url", + "documentation":"

    The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

    " + }, + "ProductId":{ + "shape":"ProductId", + "documentation":"

    The AWS Marketplace product ID of the model package.

    " + } + }, + "documentation":"

    Describes the Docker container for the model package.

    " + }, + "ModelPackageContainerDefinitionList":{ + "type":"list", + "member":{"shape":"ModelPackageContainerDefinition"}, + "max":1, + "min":1 + }, + "ModelPackageSortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "ModelPackageStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Completed", + "Failed", + "Deleting" + ] + }, + "ModelPackageStatusDetails":{ + "type":"structure", + "required":["ValidationStatuses"], + "members":{ + "ValidationStatuses":{ + "shape":"ModelPackageStatusItemList", + "documentation":"

    The validation status of the model package.

    " + }, + "ImageScanStatuses":{ + "shape":"ModelPackageStatusItemList", + "documentation":"

    The status of the scan of the Docker image container for the model package.

    " + } + }, + "documentation":"

    Specifies the validation and image scan statuses of the model package.

    " + }, + "ModelPackageStatusItem":{ + "type":"structure", + "required":[ + "Name", + "Status" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the model package for which the overall status is being reported.

    " + }, + "Status":{ + "shape":"DetailedModelPackageStatus", + "documentation":"

    The current status.

    " + }, + "FailureReason":{ + "shape":"String", + "documentation":"

    if the overall status is Failed, the reason for the failure.

    " + } + }, + "documentation":"

    Represents the overall status of a model package.

    " + }, + "ModelPackageStatusItemList":{ + "type":"list", + "member":{"shape":"ModelPackageStatusItem"} + }, + "ModelPackageSummary":{ + "type":"structure", + "required":[ + "ModelPackageName", + "ModelPackageArn", + "CreationTime", + "ModelPackageStatus" + ], + "members":{ + "ModelPackageName":{ + "shape":"EntityName", + "documentation":"

    The name of the model package.

    " + }, + "ModelPackageArn":{ + "shape":"ModelPackageArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model package.

    " + }, + "ModelPackageDescription":{ + "shape":"EntityDescription", + "documentation":"

    A brief description of the model package.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp that shows when the model package was created.

    " + }, + "ModelPackageStatus":{ + "shape":"ModelPackageStatus", + "documentation":"

    The overall status of the model package.

    " + } + }, + "documentation":"

    Provides summary information about a model package.

    " + }, + "ModelPackageSummaryList":{ + "type":"list", + "member":{"shape":"ModelPackageSummary"} + }, + "ModelPackageValidationProfile":{ + "type":"structure", + "required":[ + "ProfileName", + "TransformJobDefinition" + ], + "members":{ + "ProfileName":{ + "shape":"EntityName", + "documentation":"

    The name of the profile for the model package.

    " + }, + "TransformJobDefinition":{ + "shape":"TransformJobDefinition", + "documentation":"

    The TransformJobDefinition object that describes the transform job used for the validation of the model package.

    " + } + }, + "documentation":"

    Contains data, such as the inputs and targeted instance types that are used in the process of validating the model package.

    The data provided in the validation profile is made available to your buyers on AWS Marketplace.

    " + }, + "ModelPackageValidationProfiles":{ + "type":"list", + "member":{"shape":"ModelPackageValidationProfile"}, + "max":1, + "min":1 + }, + "ModelPackageValidationSpecification":{ + "type":"structure", + "required":[ + "ValidationRole", + "ValidationProfiles" + ], + "members":{ + "ValidationRole":{ + "shape":"RoleArn", + "documentation":"

    The IAM roles to be used for the validation of the model package.

    " + }, + "ValidationProfiles":{ + "shape":"ModelPackageValidationProfiles", + "documentation":"

    An array of ModelPackageValidationProfile objects, each of which specifies a batch transform job that Amazon SageMaker runs to validate your model package.

    " + } + }, + "documentation":"

    Specifies batch transform jobs that Amazon SageMaker runs to validate your model package.

    " + }, + "ModelSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "ModelSummary":{ + "type":"structure", + "required":[ + "ModelName", + "ModelArn", + "CreationTime" + ], + "members":{ + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model that you want a summary for.

    " + }, + "ModelArn":{ + "shape":"ModelArn", + "documentation":"

    The Amazon Resource Name (ARN) of the model.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates when the model was created.

    " + } + }, + "documentation":"

    Provides summary information about a model.

    " + }, + "ModelSummaryList":{ + "type":"list", + "member":{"shape":"ModelSummary"} + }, + "MonitoringAppSpecification":{ + "type":"structure", + "required":["ImageUri"], + "members":{ + "ImageUri":{ + "shape":"ImageUri", + "documentation":"

    The container image to be run by the monitoring job.

    " + }, + "ContainerEntrypoint":{ + "shape":"ContainerEntrypoint", + "documentation":"

    Specifies the entrypoint for a container used to run the monitoring job.

    " + }, + "ContainerArguments":{ + "shape":"MonitoringContainerArguments", + "documentation":"

    An array of arguments for the container used to run the monitoring job.

    " + }, + "RecordPreprocessorSourceUri":{ + "shape":"S3Uri", + "documentation":"

    An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

    " + }, + "PostAnalyticsProcessorSourceUri":{ + "shape":"S3Uri", + "documentation":"

    An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.

    " + } + }, + "documentation":"

    Container image configuration object for the monitoring job.

    " + }, + "MonitoringBaselineConfig":{ + "type":"structure", + "members":{ + "ConstraintsResource":{ + "shape":"MonitoringConstraintsResource", + "documentation":"

    The baseline constraint file in Amazon S3 that the current monitoring job should validated against.

    " + }, + "StatisticsResource":{ + "shape":"MonitoringStatisticsResource", + "documentation":"

    The baseline statistics file in Amazon S3 that the current monitoring job should be validated against.

    " + } + }, + "documentation":"

    Configuration for monitoring constraints and monitoring statistics. These baseline resources are compared against the results of the current job from the series of jobs scheduled to collect data periodically.

    " + }, + "MonitoringClusterConfig":{ + "type":"structure", + "required":[ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "members":{ + "InstanceCount":{ + "shape":"ProcessingInstanceCount", + "documentation":"

    The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1.

    " + }, + "InstanceType":{ + "shape":"ProcessingInstanceType", + "documentation":"

    The ML compute instance type for the processing job.

    " + }, + "VolumeSizeInGB":{ + "shape":"ProcessingVolumeSizeInGB", + "documentation":"

    The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario.

    " + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job.

    " + } + }, + "documentation":"

    Configuration for the cluster used to run model monitoring jobs.

    " + }, + "MonitoringConstraintsResource":{ + "type":"structure", + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 URI for the constraints resource.

    " + } + }, + "documentation":"

    The constraints resource for a monitoring job.

    " + }, + "MonitoringContainerArguments":{ + "type":"list", + "member":{"shape":"ContainerArgument"}, + "max":50, + "min":1 + }, + "MonitoringEnvironmentMap":{ + "type":"map", + "key":{"shape":"ProcessingEnvironmentKey"}, + "value":{"shape":"ProcessingEnvironmentValue"}, + "max":50 + }, + "MonitoringExecutionSortKey":{ + "type":"string", + "enum":[ + "CreationTime", + "ScheduledTime", + "Status" + ] + }, + "MonitoringExecutionSummary":{ + "type":"structure", + "required":[ + "MonitoringScheduleName", + "ScheduledTime", + "CreationTime", + "LastModifiedTime", + "MonitoringExecutionStatus" + ], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the monitoring schedule.

    " + }, + "ScheduledTime":{ + "shape":"Timestamp", + "documentation":"

    The time the monitoring job was scheduled.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the monitoring job was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates the last time the monitoring job was modified.

    " + }, + "MonitoringExecutionStatus":{ + "shape":"ExecutionStatus", + "documentation":"

    The status of the monitoring job.

    " + }, + "ProcessingJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the monitoring job.

    " + }, + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of teh endpoint used to run the monitoring job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    Contains the reason a monitoring job failed, if it failed.

    " + } + }, + "documentation":"

    Summary of information about the last monitoring job to run.

    " + }, + "MonitoringExecutionSummaryList":{ + "type":"list", + "member":{"shape":"MonitoringExecutionSummary"} + }, + "MonitoringInput":{ + "type":"structure", + "required":["EndpointInput"], + "members":{ + "EndpointInput":{ + "shape":"EndpointInput", + "documentation":"

    The endpoint for a monitoring job.

    " + } + }, + "documentation":"

    The inputs for a monitoring job.

    " + }, + "MonitoringInputs":{ + "type":"list", + "member":{"shape":"MonitoringInput"}, + "max":1, + "min":1 + }, + "MonitoringJobDefinition":{ + "type":"structure", + "required":[ + "MonitoringInputs", + "MonitoringOutputConfig", + "MonitoringResources", + "MonitoringAppSpecification", + "RoleArn" + ], + "members":{ + "BaselineConfig":{ + "shape":"MonitoringBaselineConfig", + "documentation":"

    Baseline configuration used to validate that the data conforms to the specified constraints and statistics

    " + }, + "MonitoringInputs":{ + "shape":"MonitoringInputs", + "documentation":"

    The array of inputs for the monitoring job. Currently we support monitoring an Amazon SageMaker Endpoint.

    " + }, + "MonitoringOutputConfig":{ + "shape":"MonitoringOutputConfig", + "documentation":"

    The array of outputs from the monitoring job to be uploaded to Amazon Simple Storage Service (Amazon S3).

    " + }, + "MonitoringResources":{ + "shape":"MonitoringResources", + "documentation":"

    Identifies the resources, ML compute instances, and ML storage volumes to deploy for a monitoring job. In distributed processing, you specify more than one instance.

    " + }, + "MonitoringAppSpecification":{ + "shape":"MonitoringAppSpecification", + "documentation":"

    Configures the monitoring job to run a specified Docker container image.

    " + }, + "StoppingCondition":{ + "shape":"MonitoringStoppingCondition", + "documentation":"

    Specifies a time limit for how long the monitoring job is allowed to run.

    " + }, + "Environment":{ + "shape":"MonitoringEnvironmentMap", + "documentation":"

    Sets the environment variables in the Docker container.

    " + }, + "NetworkConfig":{ + "shape":"NetworkConfig", + "documentation":"

    Specifies networking options for an monitoring job.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

    " + } + }, + "documentation":"

    Defines the monitoring job.

    " + }, + "MonitoringMaxRuntimeInSeconds":{ + "type":"integer", + "max":86400, + "min":1 + }, + "MonitoringOutput":{ + "type":"structure", + "required":["S3Output"], + "members":{ + "S3Output":{ + "shape":"MonitoringS3Output", + "documentation":"

    The Amazon S3 storage location where the results of a monitoring job are saved.

    " + } + }, + "documentation":"

    The output object for a monitoring job.

    " + }, + "MonitoringOutputConfig":{ + "type":"structure", + "required":["MonitoringOutputs"], + "members":{ + "MonitoringOutputs":{ + "shape":"MonitoringOutputs", + "documentation":"

    Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption.

    " + } + }, + "documentation":"

    The output configuration for monitoring jobs.

    " + }, + "MonitoringOutputs":{ + "type":"list", + "member":{"shape":"MonitoringOutput"}, + "max":1, + "min":1 + }, + "MonitoringResources":{ + "type":"structure", + "required":["ClusterConfig"], + "members":{ + "ClusterConfig":{ + "shape":"MonitoringClusterConfig", + "documentation":"

    The configuration for the cluster resources used to run the processing job.

    " + } + }, + "documentation":"

    Identifies the resources to deploy for a monitoring job.

    " + }, + "MonitoringS3Output":{ + "type":"structure", + "required":[ + "S3Uri", + "LocalPath" + ], + "members":{ + "S3Uri":{ + "shape":"MonitoringS3Uri", + "documentation":"

    A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job.

    " + }, + "LocalPath":{ + "shape":"ProcessingLocalPath", + "documentation":"

    The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data.

    " + }, + "S3UploadMode":{ + "shape":"ProcessingS3UploadMode", + "documentation":"

    Whether to upload the results of the monitoring job continuously or after the job completes.

    " + } + }, + "documentation":"

    Information about where and how you want to store the results of a monitoring job.

    " + }, + "MonitoringS3Uri":{ + "type":"string", + "max":512, + "pattern":"^(https|s3)://([^/]+)/?(.*)$" + }, + "MonitoringScheduleArn":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "MonitoringScheduleConfig":{ + "type":"structure", + "required":["MonitoringJobDefinition"], + "members":{ + "ScheduleConfig":{ + "shape":"ScheduleConfig", + "documentation":"

    Configures the monitoring schedule.

    " + }, + "MonitoringJobDefinition":{ + "shape":"MonitoringJobDefinition", + "documentation":"

    Defines the monitoring job.

    " + } + }, + "documentation":"

    Configures the monitoring schedule and defines the monitoring job.

    " + }, + "MonitoringScheduleName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "MonitoringScheduleSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "MonitoringScheduleSummary":{ + "type":"structure", + "required":[ + "MonitoringScheduleName", + "MonitoringScheduleArn", + "CreationTime", + "LastModifiedTime", + "MonitoringScheduleStatus" + ], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the monitoring schedule.

    " + }, + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the monitoring schedule.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The creation time of the monitoring schedule.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time the monitoring schedule was modified.

    " + }, + "MonitoringScheduleStatus":{ + "shape":"ScheduleStatus", + "documentation":"

    The status of the monitoring schedule.

    " + }, + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint using the monitoring schedule.

    " + } + }, + "documentation":"

    Summarizes the monitoring schedule.

    " + }, + "MonitoringScheduleSummaryList":{ + "type":"list", + "member":{"shape":"MonitoringScheduleSummary"} + }, + "MonitoringStatisticsResource":{ + "type":"structure", + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 URI for the statistics resource.

    " + } + }, + "documentation":"

    The statistics resource for a monitoring job.

    " + }, + "MonitoringStoppingCondition":{ + "type":"structure", + "required":["MaxRuntimeInSeconds"], + "members":{ + "MaxRuntimeInSeconds":{ + "shape":"MonitoringMaxRuntimeInSeconds", + "documentation":"

    The maximum runtime allowed in seconds.

    " + } + }, + "documentation":"

    A time limit for how long the monitoring job is allowed to run before stopping.

    " + }, + "NameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9\\-]+" + }, + "NestedFilters":{ + "type":"structure", + "required":[ + "NestedPropertyName", + "Filters" + ], + "members":{ + "NestedPropertyName":{ + "shape":"ResourcePropertyName", + "documentation":"

    The name of the property to use in the nested filters. The value must match a listed property name, such as InputDataConfig.

    " + }, + "Filters":{ + "shape":"FilterList", + "documentation":"

    A list of filters. Each filter acts on a property. Filters must contain at least one Filters value. For example, a NestedFilters call might include a filter on the PropertyName parameter of the InputDataConfig property: InputDataConfig.DataSource.S3DataSource.S3Uri.

    " + } + }, + "documentation":"

    A list of nested Filter objects. A resource must satisfy the conditions of all filters to be included in the results returned from the Search API.

    For example, to filter on a training job's InputDataConfig property with a specific channel name and S3Uri prefix, define the following filters:

    • '{Name:\"InputDataConfig.ChannelName\", \"Operator\":\"Equals\", \"Value\":\"train\"}',

    • '{Name:\"InputDataConfig.DataSource.S3DataSource.S3Uri\", \"Operator\":\"Contains\", \"Value\":\"mybucket/catdata\"}'

    " + }, + "NestedFiltersList":{ + "type":"list", + "member":{"shape":"NestedFilters"}, + "max":20, + "min":1 + }, + "NetworkConfig":{ + "type":"structure", + "members":{ + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    Whether to encrypt all communications between distributed processing jobs. Choose True to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    Whether to allow inbound and outbound network calls to and from the containers used for the processing job.

    " + }, + "VpcConfig":{"shape":"VpcConfig"} + }, + "documentation":"

    Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs.

    " + }, + "NetworkInterfaceId":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":8192, + "pattern":".*" + }, + "NotebookInstanceAcceleratorType":{ + "type":"string", + "enum":[ + "ml.eia1.medium", + "ml.eia1.large", + "ml.eia1.xlarge", + "ml.eia2.medium", + "ml.eia2.large", + "ml.eia2.xlarge" + ] + }, + "NotebookInstanceAcceleratorTypes":{ + "type":"list", + "member":{"shape":"NotebookInstanceAcceleratorType"} + }, + "NotebookInstanceArn":{ + "type":"string", + "max":256 + }, + "NotebookInstanceLifecycleConfigArn":{ + "type":"string", + "max":256 + }, + "NotebookInstanceLifecycleConfigContent":{ + "type":"string", + "max":16384, + "min":1, + "pattern":"[\\S\\s]+" + }, + "NotebookInstanceLifecycleConfigList":{ + "type":"list", + "member":{"shape":"NotebookInstanceLifecycleHook"}, + "max":1 + }, + "NotebookInstanceLifecycleConfigName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "NotebookInstanceLifecycleConfigNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "NotebookInstanceLifecycleConfigSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "LastModifiedTime" + ] + }, + "NotebookInstanceLifecycleConfigSortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "NotebookInstanceLifecycleConfigSummary":{ + "type":"structure", + "required":[ + "NotebookInstanceLifecycleConfigName", + "NotebookInstanceLifecycleConfigArn" + ], + "members":{ + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration.

    " + }, + "NotebookInstanceLifecycleConfigArn":{ + "shape":"NotebookInstanceLifecycleConfigArn", + "documentation":"

    The Amazon Resource Name (ARN) of the lifecycle configuration.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp that tells when the lifecycle configuration was created.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    A timestamp that tells when the lifecycle configuration was last modified.

    " + } + }, + "documentation":"

    Provides a summary of a notebook instance lifecycle configuration.

    " + }, + "NotebookInstanceLifecycleConfigSummaryList":{ + "type":"list", + "member":{"shape":"NotebookInstanceLifecycleConfigSummary"} + }, + "NotebookInstanceLifecycleHook":{ + "type":"structure", + "members":{ + "Content":{ + "shape":"NotebookInstanceLifecycleConfigContent", + "documentation":"

    A base64-encoded string that contains a shell script for a notebook instance lifecycle configuration.

    " + } + }, + "documentation":"

    Contains the notebook instance lifecycle configuration script.

    Each lifecycle configuration script has a limit of 16384 characters.

    The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

    View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

    Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

    For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "NotebookInstanceName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "NotebookInstanceNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "NotebookInstanceSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "NotebookInstanceSortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "NotebookInstanceStatus":{ + "type":"string", + "enum":[ + "Pending", + "InService", + "Stopping", + "Stopped", + "Failed", + "Deleting", + "Updating" + ] + }, + "NotebookInstanceSummary":{ + "type":"structure", + "required":[ + "NotebookInstanceName", + "NotebookInstanceArn" + ], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance that you want a summary for.

    " + }, + "NotebookInstanceArn":{ + "shape":"NotebookInstanceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the notebook instance.

    " + }, + "NotebookInstanceStatus":{ + "shape":"NotebookInstanceStatus", + "documentation":"

    The status of the notebook instance.

    " + }, + "Url":{ + "shape":"NotebookInstanceUrl", + "documentation":"

    The URL that you use to connect to the Jupyter instance running in your notebook instance.

    " + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

    The type of ML compute instance that the notebook instance is running on.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    A timestamp that shows when the notebook instance was created.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    A timestamp that shows when the notebook instance was last modified.

    " + }, + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of a notebook instance lifecycle configuration associated with this notebook instance.

    For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "DefaultCodeRepository":{ + "shape":"CodeRepositoryNameOrUrl", + "documentation":"

    The Git repository associated with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "AdditionalCodeRepositories":{ + "shape":"AdditionalCodeRepositoryNamesOrUrls", + "documentation":"

    An array of up to three Git repositories associated with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + } + }, + "documentation":"

    Provides summary information for an Amazon SageMaker notebook instance.

    " + }, + "NotebookInstanceSummaryList":{ + "type":"list", + "member":{"shape":"NotebookInstanceSummary"} + }, + "NotebookInstanceUrl":{"type":"string"}, + "NotebookInstanceVolumeSizeInGB":{ + "type":"integer", + "max":16384, + "min":5 + }, + "NotebookOutputOption":{ + "type":"string", + "enum":[ + "Allowed", + "Disabled" + ] + }, + "NotificationConfiguration":{ + "type":"structure", + "members":{ + "NotificationTopicArn":{ + "shape":"NotificationTopicArn", + "documentation":"

    The ARN for the SNS topic to which notifications should be published.

    " + } + }, + "documentation":"

    Configures SNS notifications of available or expiring work items for work teams.

    " + }, + "NotificationTopicArn":{ + "type":"string", + "pattern":"arn:aws[a-z\\-]*:sns:[a-z0-9\\-]*:[0-9]{12}:[a-zA-Z0-9_.-]*" + }, + "NumberOfHumanWorkersPerDataObject":{ + "type":"integer", + "max":9, + "min":1 + }, + "ObjectiveStatus":{ + "type":"string", + "enum":[ + "Succeeded", + "Pending", + "Failed" + ] + }, + "ObjectiveStatusCounter":{ + "type":"integer", + "min":0 + }, + "ObjectiveStatusCounters":{ + "type":"structure", + "members":{ + "Succeeded":{ + "shape":"ObjectiveStatusCounter", + "documentation":"

    The number of training jobs whose final objective metric was evaluated by the hyperparameter tuning job and used in the hyperparameter tuning process.

    " + }, + "Pending":{ + "shape":"ObjectiveStatusCounter", + "documentation":"

    The number of training jobs that are in progress and pending evaluation of their final objective metric.

    " + }, + "Failed":{ + "shape":"ObjectiveStatusCounter", + "documentation":"

    The number of training jobs whose final objective metric was not evaluated and used in the hyperparameter tuning process. This typically occurs when the training job failed or did not emit an objective metric.

    " + } + }, + "documentation":"

    Specifies the number of training jobs that this hyperparameter tuning job launched, categorized by the status of their objective metric. The objective metric status shows whether the final objective metric for the training job has been evaluated by the tuning job and used in the hyperparameter tuning process.

    " + }, + "Operator":{ + "type":"string", + "enum":[ + "Equals", + "NotEquals", + "GreaterThan", + "GreaterThanOrEqualTo", + "LessThan", + "LessThanOrEqualTo", + "Contains", + "Exists", + "NotExists", + "In" + ] + }, + "OptionalDouble":{"type":"double"}, + "OptionalInteger":{"type":"integer"}, + "OptionalVolumeSizeInGB":{ + "type":"integer", + "min":0 + }, + "OrderKey":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "OutputConfig":{ + "type":"structure", + "required":[ + "S3OutputLocation", + "TargetDevice" + ], + "members":{ + "S3OutputLocation":{ + "shape":"S3Uri", + "documentation":"

    Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix.

    " + }, + "TargetDevice":{ + "shape":"TargetDevice", + "documentation":"

    Identifies the device that you want to run your model on after it has been compiled. For example: ml_c5.

    " + } + }, + "documentation":"

    Contains information about the output location for the compiled model and the device (target) that the model runs on.

    " + }, + "OutputDataConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

    • // KMS Key ID

      \"1234abcd-12ab-34cd-56ef-1234567890ab\"

    • // Amazon Resource Name (ARN) of a KMS Key

      \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

    • // KMS Key Alias

      \"alias/ExampleAlias\"

    • // Amazon Resource Name (ARN) of a KMS Key Alias

      \"arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias\"

    If you use a KMS key ID or an alias of your master key, the Amazon SageMaker execution role must include permissions to call kms:Encrypt. If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. Amazon SageMaker uses server-side encryption with KMS-managed keys for OutputDataConfig. If you use a bucket policy with an s3:PutObject permission that only allows objects with server-side encryption, set the condition key of s3:x-amz-server-side-encryption to \"aws:kms\". For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

    The KMS key policy must grant permission to the IAM role that you specify in your CreateTrainingJob, CreateTransformJob, or CreateHyperParameterTuningJob requests. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    Identifies the S3 path where you want Amazon SageMaker to store the model artifacts. For example, s3://bucket-name/key-name-prefix.

    " + } + }, + "documentation":"

    Provides information about how to store model training results (model artifacts).

    " + }, + "PaginationToken":{ + "type":"string", + "max":8192, + "pattern":".*" + }, + "ParameterKey":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ParameterName":{ + "type":"string", + "max":256, + "pattern":"[\\p{L}\\p{M}\\p{Z}\\p{S}\\p{N}\\p{P}]*" + }, + "ParameterRange":{ + "type":"structure", + "members":{ + "IntegerParameterRangeSpecification":{ + "shape":"IntegerParameterRangeSpecification", + "documentation":"

    A IntegerParameterRangeSpecification object that defines the possible values for an integer hyperparameter.

    " + }, + "ContinuousParameterRangeSpecification":{ + "shape":"ContinuousParameterRangeSpecification", + "documentation":"

    A ContinuousParameterRangeSpecification object that defines the possible values for a continuous hyperparameter.

    " + }, + "CategoricalParameterRangeSpecification":{ + "shape":"CategoricalParameterRangeSpecification", + "documentation":"

    A CategoricalParameterRangeSpecification object that defines the possible values for a categorical hyperparameter.

    " + } + }, + "documentation":"

    Defines the possible values for categorical, continuous, and integer hyperparameters to be used by an algorithm.

    " + }, + "ParameterRanges":{ + "type":"structure", + "members":{ + "IntegerParameterRanges":{ + "shape":"IntegerParameterRanges", + "documentation":"

    The array of IntegerParameterRange objects that specify ranges of integer hyperparameters that a hyperparameter tuning job searches.

    " + }, + "ContinuousParameterRanges":{ + "shape":"ContinuousParameterRanges", + "documentation":"

    The array of ContinuousParameterRange objects that specify ranges of continuous hyperparameters that a hyperparameter tuning job searches.

    " + }, + "CategoricalParameterRanges":{ + "shape":"CategoricalParameterRanges", + "documentation":"

    The array of CategoricalParameterRange objects that specify ranges of categorical hyperparameters that a hyperparameter tuning job searches.

    " + } + }, + "documentation":"

    Specifies ranges of integer, continuous, and categorical hyperparameters that a hyperparameter tuning job searches. The hyperparameter tuning job launches training jobs with hyperparameter values within these ranges to find the combination of values that result in the training job with the best performance as measured by the objective metric of the hyperparameter tuning job.

    You can specify a maximum of 20 hyperparameters that a hyperparameter tuning job can search over. Every possible value of a categorical parameter range counts against this limit.

    " + }, + "ParameterType":{ + "type":"string", + "enum":[ + "Integer", + "Continuous", + "Categorical", + "FreeText" + ] + }, + "ParameterValue":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ParameterValues":{ + "type":"list", + "member":{"shape":"ParameterValue"}, + "max":20, + "min":1 + }, + "Parent":{ + "type":"structure", + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial.

    " + }, + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment.

    " + } + }, + "documentation":"

    The trial that a trial component is associated with and the experiment the trial is part of. A component might not be associated with a trial. A component can be associated with multiple trials.

    " + }, + "ParentHyperParameterTuningJob":{ + "type":"structure", + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the hyperparameter tuning job to be used as a starting point for a new hyperparameter tuning job.

    " + } + }, + "documentation":"

    A previously completed or stopped hyperparameter tuning job to be used as a starting point for a new hyperparameter tuning job.

    " + }, + "ParentHyperParameterTuningJobs":{ + "type":"list", + "member":{"shape":"ParentHyperParameterTuningJob"}, + "max":5, + "min":1 + }, + "Parents":{ + "type":"list", + "member":{"shape":"Parent"} + }, + "PresignedDomainUrl":{"type":"string"}, + "ProblemType":{ + "type":"string", + "enum":[ + "BinaryClassification", + "MulticlassClassification", + "Regression" + ] + }, + "ProcessingClusterConfig":{ + "type":"structure", + "required":[ + "InstanceCount", + "InstanceType", + "VolumeSizeInGB" + ], + "members":{ + "InstanceCount":{ + "shape":"ProcessingInstanceCount", + "documentation":"

    The number of ML compute instances to use in the processing job. For distributed processing jobs, specify a value greater than 1. The default value is 1.

    " + }, + "InstanceType":{ + "shape":"ProcessingInstanceType", + "documentation":"

    The ML compute instance type for the processing job.

    " + }, + "VolumeSizeInGB":{ + "shape":"ProcessingVolumeSizeInGB", + "documentation":"

    The size of the ML storage volume in gigabytes that you want to provision. You must specify sufficient ML storage for your scenario.

    " + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the processing job.

    " + } + }, + "documentation":"

    Configuration for the cluster used to run a processing job.

    " + }, + "ProcessingEnvironmentKey":{ + "type":"string", + "max":256, + "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" + }, + "ProcessingEnvironmentMap":{ + "type":"map", + "key":{"shape":"ProcessingEnvironmentKey"}, + "value":{"shape":"ProcessingEnvironmentValue"}, + "max":100 + }, + "ProcessingEnvironmentValue":{ + "type":"string", + "max":256, + "pattern":"[\\S\\s]*" + }, + "ProcessingInput":{ + "type":"structure", + "required":[ + "InputName", + "S3Input" + ], + "members":{ + "InputName":{ + "shape":"String", + "documentation":"

    The name of the inputs for the processing job.

    " + }, + "S3Input":{ + "shape":"ProcessingS3Input", + "documentation":"

    The S3 inputs for the processing job.

    " + } + }, + "documentation":"

    The inputs for a processing job.

    " + }, + "ProcessingInputs":{ + "type":"list", + "member":{"shape":"ProcessingInput"}, + "max":10, + "min":0 + }, + "ProcessingInstanceCount":{ + "type":"integer", + "max":100, + "min":1 + }, + "ProcessingInstanceType":{ + "type":"string", + "enum":[ + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge", + "ml.m4.xlarge", + "ml.m4.2xlarge", + "ml.m4.4xlarge", + "ml.m4.10xlarge", + "ml.m4.16xlarge", + "ml.c4.xlarge", + "ml.c4.2xlarge", + "ml.c4.4xlarge", + "ml.c4.8xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.8xlarge", + "ml.r5.12xlarge", + "ml.r5.16xlarge", + "ml.r5.24xlarge" + ] + }, + "ProcessingJob":{ + "type":"structure", + "members":{ + "ProcessingInputs":{ + "shape":"ProcessingInputs", + "documentation":"

    For each input, data is downloaded from S3 into the processing container before the processing job begins running if \"S3InputMode\" is set to File.

    " + }, + "ProcessingOutputConfig":{"shape":"ProcessingOutputConfig"}, + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job.

    " + }, + "ProcessingResources":{"shape":"ProcessingResources"}, + "StoppingCondition":{"shape":"ProcessingStoppingCondition"}, + "AppSpecification":{"shape":"AppSpecification"}, + "Environment":{ + "shape":"ProcessingEnvironmentMap", + "documentation":"

    Sets the environment variables in the Docker container.

    " + }, + "NetworkConfig":{"shape":"NetworkConfig"}, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The ARN of the role used to create the processing job.

    " + }, + "ExperimentConfig":{"shape":"ExperimentConfig"}, + "ProcessingJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The ARN of the processing job.

    " + }, + "ProcessingJobStatus":{ + "shape":"ProcessingJobStatus", + "documentation":"

    The status of the processing job.

    " + }, + "ExitMessage":{ + "shape":"ExitMessage", + "documentation":"

    A string, up to one KB in size, that contains metadata from the processing container when the processing job exits.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    A string, up to one KB in size, that contains the reason a processing job failed, if it failed.

    " + }, + "ProcessingEndTime":{ + "shape":"Timestamp", + "documentation":"

    The time that the processing job ended.

    " + }, + "ProcessingStartTime":{ + "shape":"Timestamp", + "documentation":"

    The time that the processing job started.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    The time the processing job was last modified.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time the processing job was created.

    " + }, + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The ARN of a monitoring schedule for an endpoint associated with this processing job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the AutoML job associated with this processing job.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The ARN of the training job associated with this processing job.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + } + }, + "documentation":"

    An Amazon SageMaker processing job that is used to analyze data and evaluate models. For more information, see Process Data and Evaluate Models.

    " + }, + "ProcessingJobArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:processing-job/.*" + }, + "ProcessingJobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "ProcessingJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "ProcessingJobSummaries":{ + "type":"list", + "member":{"shape":"ProcessingJobSummary"} + }, + "ProcessingJobSummary":{ + "type":"structure", + "required":[ + "ProcessingJobName", + "ProcessingJobArn", + "CreationTime", + "ProcessingJobStatus" + ], + "members":{ + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job.

    " + }, + "ProcessingJobArn":{ + "shape":"ProcessingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the processing job..

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job was created.

    " + }, + "ProcessingEndTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the processing job completed.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates the last time the processing job was modified.

    " + }, + "ProcessingJobStatus":{ + "shape":"ProcessingJobStatus", + "documentation":"

    The status of the processing job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    A string, up to one KB in size, that contains the reason a processing job failed, if it failed.

    " + }, + "ExitMessage":{ + "shape":"ExitMessage", + "documentation":"

    An optional string, up to one KB in size, that contains metadata from the processing container when the processing job exits.

    " + } + }, + "documentation":"

    Summary of information about a processing job.

    " + }, + "ProcessingLocalPath":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "ProcessingMaxRuntimeInSeconds":{ + "type":"integer", + "max":604800, + "min":1 + }, + "ProcessingOutput":{ + "type":"structure", + "required":[ + "OutputName", + "S3Output" + ], + "members":{ + "OutputName":{ + "shape":"String", + "documentation":"

    The name for the processing job output.

    " + }, + "S3Output":{ + "shape":"ProcessingS3Output", + "documentation":"

    Configuration for processing job outputs in Amazon S3.

    " + } + }, + "documentation":"

    Describes the results of a processing job.

    " + }, + "ProcessingOutputConfig":{ + "type":"structure", + "required":["Outputs"], + "members":{ + "Outputs":{ + "shape":"ProcessingOutputs", + "documentation":"

    Output configuration information for a processing job.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the processing job output. KmsKeyId can be an ID of a KMS key, ARN of a KMS key, alias of a KMS key, or alias of a KMS key. The KmsKeyId is applied to all outputs.

    " + } + }, + "documentation":"

    The output configuration for the processing job.

    " + }, + "ProcessingOutputs":{ + "type":"list", + "member":{"shape":"ProcessingOutput"}, + "max":10, + "min":0 + }, + "ProcessingResources":{ + "type":"structure", + "required":["ClusterConfig"], + "members":{ + "ClusterConfig":{ + "shape":"ProcessingClusterConfig", + "documentation":"

    The configuration for the resources in a cluster used to run the processing job.

    " + } + }, + "documentation":"

    Identifies the resources, ML compute instances, and ML storage volumes to deploy for a processing job. In distributed training, you specify more than one instance.

    " + }, + "ProcessingS3CompressionType":{ + "type":"string", + "enum":[ + "None", + "Gzip" + ] + }, + "ProcessingS3DataDistributionType":{ + "type":"string", + "enum":[ + "FullyReplicated", + "ShardedByS3Key" + ] + }, + "ProcessingS3DataType":{ + "type":"string", + "enum":[ + "ManifestFile", + "S3Prefix" + ] + }, + "ProcessingS3Input":{ + "type":"structure", + "required":[ + "S3Uri", + "LocalPath", + "S3DataType", + "S3InputMode" + ], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The URI for the Amazon S3 storage where you want Amazon SageMaker to download the artifacts needed to run a processing job.

    " + }, + "LocalPath":{ + "shape":"ProcessingLocalPath", + "documentation":"

    The local path to the Amazon S3 bucket where you want Amazon SageMaker to download the inputs to run a processing job. LocalPath is an absolute path to the input data.

    " + }, + "S3DataType":{ + "shape":"ProcessingS3DataType", + "documentation":"

    Whether you use an S3Prefix or a ManifestFile for the data type. If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job.

    " + }, + "S3InputMode":{ + "shape":"ProcessingS3InputMode", + "documentation":"

    Whether to use File or Pipe input mode. In File mode, Amazon SageMaker copies the data from the input source onto the local Amazon Elastic Block Store (Amazon EBS) volumes before starting your training algorithm. This is the most commonly used input mode. In Pipe mode, Amazon SageMaker streams input data from the source directly to your algorithm without using the EBS volume.

    " + }, + "S3DataDistributionType":{ + "shape":"ProcessingS3DataDistributionType", + "documentation":"

    Whether the data stored in Amazon S3 is FullyReplicated or ShardedByS3Key.

    " + }, + "S3CompressionType":{ + "shape":"ProcessingS3CompressionType", + "documentation":"

    Whether to use Gzip compression for Amazon S3 storage.

    " + } + }, + "documentation":"

    Information about where and how you want to obtain the inputs for an processing job.

    " + }, + "ProcessingS3InputMode":{ + "type":"string", + "enum":[ + "Pipe", + "File" + ] + }, + "ProcessingS3Output":{ + "type":"structure", + "required":[ + "S3Uri", + "LocalPath", + "S3UploadMode" + ], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    A URI that identifies the Amazon S3 bucket where you want Amazon SageMaker to save the results of a processing job.

    " + }, + "LocalPath":{ + "shape":"ProcessingLocalPath", + "documentation":"

    The local path to the Amazon S3 bucket where you want Amazon SageMaker to save the results of an processing job. LocalPath is an absolute path to the input data.

    " + }, + "S3UploadMode":{ + "shape":"ProcessingS3UploadMode", + "documentation":"

    Whether to upload the results of the processing job continuously or after the job completes.

    " + } + }, + "documentation":"

    Information about where and how you want to store the results of an processing job.

    " + }, + "ProcessingS3UploadMode":{ + "type":"string", + "enum":[ + "Continuous", + "EndOfJob" + ] + }, + "ProcessingStoppingCondition":{ + "type":"structure", + "required":["MaxRuntimeInSeconds"], + "members":{ + "MaxRuntimeInSeconds":{ + "shape":"ProcessingMaxRuntimeInSeconds", + "documentation":"

    Specifies the maximum runtime in seconds.

    " + } + }, + "documentation":"

    Specifies a time limit for how long the processing job is allowed to run.

    " + }, + "ProcessingVolumeSizeInGB":{ + "type":"integer", + "max":16384, + "min":1 + }, + "ProductId":{ + "type":"string", + "max":256, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ProductListings":{ + "type":"list", + "member":{"shape":"String"} + }, + "ProductionVariant":{ + "type":"structure", + "required":[ + "VariantName", + "ModelName", + "InitialInstanceCount", + "InstanceType" + ], + "members":{ + "VariantName":{ + "shape":"VariantName", + "documentation":"

    The name of the production variant.

    " + }, + "ModelName":{ + "shape":"ModelName", + "documentation":"

    The name of the model that you want to host. This is the name that you specified when creating the model.

    " + }, + "InitialInstanceCount":{ + "shape":"TaskCount", + "documentation":"

    Number of instances to launch initially.

    " + }, + "InstanceType":{ + "shape":"ProductionVariantInstanceType", + "documentation":"

    The ML compute instance type.

    " + }, + "InitialVariantWeight":{ + "shape":"VariantWeight", + "documentation":"

    Determines initial traffic distribution among all of the models that you specify in the endpoint configuration. The traffic to a production variant is determined by the ratio of the VariantWeight to the sum of all VariantWeight values across all ProductionVariants. If unspecified, it defaults to 1.0.

    " + }, + "AcceleratorType":{ + "shape":"ProductionVariantAcceleratorType", + "documentation":"

    The size of the Elastic Inference (EI) instance to use for the production variant. EI instances provide on-demand GPU computing for inference. For more information, see Using Elastic Inference in Amazon SageMaker.

    " + } + }, + "documentation":"

    Identifies a model that you want to host and the resources to deploy for hosting it. If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic among the models by specifying variant weights.

    " + }, + "ProductionVariantAcceleratorType":{ + "type":"string", + "enum":[ + "ml.eia1.medium", + "ml.eia1.large", + "ml.eia1.xlarge", + "ml.eia2.medium", + "ml.eia2.large", + "ml.eia2.xlarge" + ] + }, + "ProductionVariantInstanceType":{ + "type":"string", + "enum":[ + "ml.t2.medium", + "ml.t2.large", + "ml.t2.xlarge", + "ml.t2.2xlarge", + "ml.m4.xlarge", + "ml.m4.2xlarge", + "ml.m4.4xlarge", + "ml.m4.10xlarge", + "ml.m4.16xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.m5d.large", + "ml.m5d.xlarge", + "ml.m5d.2xlarge", + "ml.m5d.4xlarge", + "ml.m5d.12xlarge", + "ml.m5d.24xlarge", + "ml.c4.large", + "ml.c4.xlarge", + "ml.c4.2xlarge", + "ml.c4.4xlarge", + "ml.c4.8xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c5d.large", + "ml.c5d.xlarge", + "ml.c5d.2xlarge", + "ml.c5d.4xlarge", + "ml.c5d.9xlarge", + "ml.c5d.18xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.r5.large", + "ml.r5.xlarge", + "ml.r5.2xlarge", + "ml.r5.4xlarge", + "ml.r5.12xlarge", + "ml.r5.24xlarge", + "ml.r5d.large", + "ml.r5d.xlarge", + "ml.r5d.2xlarge", + "ml.r5d.4xlarge", + "ml.r5d.12xlarge", + "ml.r5d.24xlarge", + "ml.inf1.xlarge", + "ml.inf1.2xlarge", + "ml.inf1.6xlarge", + "ml.inf1.24xlarge" + ] + }, + "ProductionVariantList":{ + "type":"list", + "member":{"shape":"ProductionVariant"}, + "max":10, + "min":1 + }, + "ProductionVariantSummary":{ + "type":"structure", + "required":["VariantName"], + "members":{ + "VariantName":{ + "shape":"VariantName", + "documentation":"

    The name of the variant.

    " + }, + "DeployedImages":{ + "shape":"DeployedImages", + "documentation":"

    An array of DeployedImage objects that specify the Amazon EC2 Container Registry paths of the inference images deployed on instances of this ProductionVariant.

    " + }, + "CurrentWeight":{ + "shape":"VariantWeight", + "documentation":"

    The weight associated with the variant.

    " + }, + "DesiredWeight":{ + "shape":"VariantWeight", + "documentation":"

    The requested weight, as specified in the UpdateEndpointWeightsAndCapacities request.

    " + }, + "CurrentInstanceCount":{ + "shape":"TaskCount", + "documentation":"

    The number of instances associated with the variant.

    " + }, + "DesiredInstanceCount":{ + "shape":"TaskCount", + "documentation":"

    The number of instances requested in the UpdateEndpointWeightsAndCapacities request.

    " + } + }, + "documentation":"

    Describes weight and capacities for a production variant associated with an endpoint. If you sent a request to the UpdateEndpointWeightsAndCapacities API and the endpoint status is Updating, you get different desired and current values.

    " + }, + "ProductionVariantSummaryList":{ + "type":"list", + "member":{"shape":"ProductionVariantSummary"}, + "min":1 + }, + "PropertyNameHint":{ + "type":"string", + "max":100, + "min":0, + "pattern":".*" + }, + "PropertyNameQuery":{ + "type":"structure", + "required":["PropertyNameHint"], + "members":{ + "PropertyNameHint":{ + "shape":"PropertyNameHint", + "documentation":"

    Text that begins a property's name.

    " + } + }, + "documentation":"

    Part of the SuggestionQuery type. Specifies a hint for retrieving property names that begin with the specified text.

    " + }, + "PropertyNameSuggestion":{ + "type":"structure", + "members":{ + "PropertyName":{ + "shape":"ResourcePropertyName", + "documentation":"

    A suggested property name based on what you entered in the search textbox in the Amazon SageMaker console.

    " + } + }, + "documentation":"

    A property name returned from a GetSearchSuggestions call that specifies a value in the PropertyNameQuery field.

    " + }, + "PropertyNameSuggestionList":{ + "type":"list", + "member":{"shape":"PropertyNameSuggestion"} + }, + "PublicWorkforceTaskPrice":{ + "type":"structure", + "members":{ + "AmountInUsd":{ + "shape":"USD", + "documentation":"

    Defines the amount of money paid to an Amazon Mechanical Turk worker in United States dollars.

    " + } + }, + "documentation":"

    Defines the amount of money paid to an Amazon Mechanical Turk worker for each task performed.

    Use one of the following prices for bounding box tasks. Prices are in US dollars and should be based on the complexity of the task; the longer it takes in your initial testing, the more you should offer.

    • 0.036

    • 0.048

    • 0.060

    • 0.072

    • 0.120

    • 0.240

    • 0.360

    • 0.480

    • 0.600

    • 0.720

    • 0.840

    • 0.960

    • 1.080

    • 1.200

    Use one of the following prices for image classification, text classification, and custom tasks. Prices are in US dollars.

    • 0.012

    • 0.024

    • 0.036

    • 0.048

    • 0.060

    • 0.072

    • 0.120

    • 0.240

    • 0.360

    • 0.480

    • 0.600

    • 0.720

    • 0.840

    • 0.960

    • 1.080

    • 1.200

    Use one of the following prices for semantic segmentation tasks. Prices are in US dollars.

    • 0.840

    • 0.960

    • 1.080

    • 1.200

    Use one of the following prices for Textract AnalyzeDocument Important Form Key Amazon Augmented AI review tasks. Prices are in US dollars.

    • 2.400

    • 2.280

    • 2.160

    • 2.040

    • 1.920

    • 1.800

    • 1.680

    • 1.560

    • 1.440

    • 1.320

    • 1.200

    • 1.080

    • 0.960

    • 0.840

    • 0.720

    • 0.600

    • 0.480

    • 0.360

    • 0.240

    • 0.120

    • 0.072

    • 0.060

    • 0.048

    • 0.036

    • 0.024

    • 0.012

    Use one of the following prices for Rekognition DetectModerationLabels Amazon Augmented AI review tasks. Prices are in US dollars.

    • 1.200

    • 1.080

    • 0.960

    • 0.840

    • 0.720

    • 0.600

    • 0.480

    • 0.360

    • 0.240

    • 0.120

    • 0.072

    • 0.060

    • 0.048

    • 0.036

    • 0.024

    • 0.012

    Use one of the following prices for Amazon Augmented AI custom human review tasks. Prices are in US dollars.

    • 1.200

    • 1.080

    • 0.960

    • 0.840

    • 0.720

    • 0.600

    • 0.480

    • 0.360

    • 0.240

    • 0.120

    • 0.072

    • 0.060

    • 0.048

    • 0.036

    • 0.024

    • 0.012

    " + }, + "RealtimeInferenceInstanceTypes":{ + "type":"list", + "member":{"shape":"ProductionVariantInstanceType"} + }, + "RecordWrapper":{ + "type":"string", + "enum":[ + "None", + "RecordIO" + ] + }, + "RenderUiTemplateRequest":{ + "type":"structure", + "required":[ + "Task", + "RoleArn" + ], + "members":{ + "UiTemplate":{ + "shape":"UiTemplate", + "documentation":"

    A Template object containing the worker UI template to render.

    " + }, + "Task":{ + "shape":"RenderableTask", + "documentation":"

    A RenderableTask object containing a representative task to render.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) that has access to the S3 objects that are used by the template.

    " + } + } + }, + "RenderUiTemplateResponse":{ + "type":"structure", + "required":[ + "RenderedContent", + "Errors" + ], + "members":{ + "RenderedContent":{ + "shape":"String", + "documentation":"

    A Liquid template that renders the HTML for the worker UI.

    " + }, + "Errors":{ + "shape":"RenderingErrorList", + "documentation":"

    A list of one or more RenderingError objects if any were encountered while rendering the template. If there were no errors, the list is empty.

    " + } + } + }, + "RenderableTask":{ + "type":"structure", + "required":["Input"], + "members":{ + "Input":{ + "shape":"TaskInput", + "documentation":"

    A JSON object that contains values for the variables defined in the template. It is made available to the template under the substitution variable task.input. For example, if you define a variable task.input.text in your template, you can supply the variable in the JSON object as \"text\": \"sample text\".

    " + } + }, + "documentation":"

    Contains input values for a task.

    " + }, + "RenderingError":{ + "type":"structure", + "required":[ + "Code", + "Message" + ], + "members":{ + "Code":{ + "shape":"String", + "documentation":"

    A unique identifier for a specific class of errors.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    A human-readable message describing the error.

    " + } + }, + "documentation":"

    A description of an error that occurred while rendering the template.

    " + }, + "RenderingErrorList":{ + "type":"list", + "member":{"shape":"RenderingError"} + }, + "ResolvedAttributes":{ + "type":"structure", + "members":{ + "AutoMLJobObjective":{"shape":"AutoMLJobObjective"}, + "ProblemType":{ + "shape":"ProblemType", + "documentation":"

    The problem type.

    " + }, + "CompletionCriteria":{"shape":"AutoMLJobCompletionCriteria"} + }, + "documentation":"

    The resolved attributes.

    " + }, + "ResourceArn":{ + "type":"string", + "max":256, + "pattern":"arn:.*" + }, + "ResourceConfig":{ + "type":"structure", + "required":[ + "InstanceType", + "InstanceCount", + "VolumeSizeInGB" + ], + "members":{ + "InstanceType":{ + "shape":"TrainingInstanceType", + "documentation":"

    The ML compute instance type.

    " + }, + "InstanceCount":{ + "shape":"TrainingInstanceCount", + "documentation":"

    The number of ML compute instances to use. For distributed training, provide a value greater than 1.

    " + }, + "VolumeSizeInGB":{ + "shape":"VolumeSizeInGB", + "documentation":"

    The size of the ML storage volume that you want to provision.

    ML storage volumes store model artifacts and incremental states. Training algorithms might also use the ML storage volume for scratch space. If you want to store the training data in the ML storage volume, choose File as the TrainingInputMode in the algorithm specification.

    You must specify sufficient ML storage for your scenario.

    Amazon SageMaker supports only the General Purpose SSD (gp2) ML storage volume type.

    Certain Nitro-based instances include local storage with a fixed total size, dependent on the instance type. When using these instances for training, Amazon SageMaker mounts the local instance storage instead of Amazon EBS gp2 storage. You can't request a VolumeSizeInGB greater than the total size of the local instance storage.

    For a list of instance types that support local instance storage, including the total size per instance type, see Instance Store Volumes.

    " + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS KMS key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training job.

    Certain Nitro-based instances include local storage, dependent on the instance type. Local storage volumes are encrypted using a hardware module on the instance. You can't request a VolumeKmsKeyId when using an instance type with local storage.

    For a list of instance types that support local instance storage, see Instance Store Volumes.

    For more information about local instance storage encryption, see SSD Instance Store Volumes.

    The VolumeKmsKeyId can be in any of the following formats:

    • // KMS Key ID

      \"1234abcd-12ab-34cd-56ef-1234567890ab\"

    • // Amazon Resource Name (ARN) of a KMS Key

      \"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

    " + } + }, + "documentation":"

    Describes the resources, including ML compute instances and ML storage volumes, to use for model training.

    " + }, + "ResourceId":{ + "type":"string", + "max":32 + }, + "ResourceInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    Resource being accessed is in use.

    ", + "exception":true + }, + "ResourceLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    You have exceeded an Amazon SageMaker resource limit. For example, you might have too many training jobs created.

    ", + "exception":true + }, + "ResourceLimits":{ + "type":"structure", + "required":[ + "MaxNumberOfTrainingJobs", + "MaxParallelTrainingJobs" + ], + "members":{ + "MaxNumberOfTrainingJobs":{ + "shape":"MaxNumberOfTrainingJobs", + "documentation":"

    The maximum number of training jobs that a hyperparameter tuning job can launch.

    " + }, + "MaxParallelTrainingJobs":{ + "shape":"MaxParallelTrainingJobs", + "documentation":"

    The maximum number of concurrent training jobs that a hyperparameter tuning job can launch.

    " + } + }, + "documentation":"

    Specifies the maximum number of training jobs and parallel training jobs that a hyperparameter tuning job can launch.

    " + }, + "ResourceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    Resource being access is not found.

    ", + "exception":true + }, + "ResourcePropertyName":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "ResourceSpec":{ + "type":"structure", + "members":{ + "SageMakerImageArn":{ + "shape":"SageMakerImageArn", + "documentation":"

    The Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + }, + "InstanceType":{ + "shape":"AppInstanceType", + "documentation":"

    The instance type.

    " + } + }, + "documentation":"

    The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance. The ARN is stored as metadata in Amazon SageMaker Studio notebooks.

    " + }, + "ResourceType":{ + "type":"string", + "enum":[ + "TrainingJob", + "Experiment", + "ExperimentTrial", + "ExperimentTrialComponent" + ] + }, + "ResponseMIMEType":{ + "type":"string", + "max":1024, + "pattern":"^[-\\w]+\\/.+$" + }, + "ResponseMIMETypes":{ + "type":"list", + "member":{"shape":"ResponseMIMEType"} + }, + "RetentionPolicy":{ + "type":"structure", + "members":{ + "HomeEfsFileSystem":{ + "shape":"RetentionType", + "documentation":"

    The default is Retain, which specifies to keep the data stored on the EFS volume.

    Specify Delete to delete the data stored on the EFS volume.

    " + } + }, + "documentation":"

    The retention policy for data stored on an Amazon Elastic File System (EFS) volume.

    " + }, + "RetentionType":{ + "type":"string", + "enum":[ + "Retain", + "Delete" + ] + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$" + }, + "RootAccess":{ + "type":"string", + "enum":[ + "Enabled", + "Disabled" + ] + }, + "RuleConfigurationName":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*" + }, + "RuleEvaluationStatus":{ + "type":"string", + "enum":[ + "InProgress", + "NoIssuesFound", + "IssuesFound", + "Error", + "Stopping", + "Stopped" + ] + }, + "RuleParameters":{ + "type":"map", + "key":{"shape":"ConfigKey"}, + "value":{"shape":"ConfigValue"}, + "max":20, + "min":0 + }, + "S3DataDistribution":{ + "type":"string", + "enum":[ + "FullyReplicated", + "ShardedByS3Key" + ] + }, + "S3DataSource":{ + "type":"structure", + "required":[ + "S3DataType", + "S3Uri" + ], + "members":{ + "S3DataType":{ + "shape":"S3DataType", + "documentation":"

    If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects that match the specified key name prefix for model training.

    If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for model training.

    If you choose AugmentedManifestFile, S3Uri identifies an object that is an augmented manifest file in JSON lines format. This file contains the data you want to use for model training. AugmentedManifestFile can only be used if the Channel's input mode is Pipe.

    " + }, + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

    • A key name prefix might look like this: s3://bucketname/exampleprefix.

    • A manifest might look like this: s3://bucketname/example.manifest

      The manifest is an S3 object which is a JSON file with the following format:

      The preceding JSON matches the following s3Uris:

      [ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

      \"relative/path/to/custdata-1\",

      \"relative/path/custdata-2\",

      ...

      \"relative/path/custdata-N\"

      ]

      The preceding JSON matches the following s3Uris:

      s3://customer_bucket/some/prefix/relative/path/to/custdata-1

      s3://customer_bucket/some/prefix/relative/path/custdata-2

      ...

      s3://customer_bucket/some/prefix/relative/path/custdata-N

      The complete set of s3uris in this manifest is the input data for the channel for this datasource. The object that each s3uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

    " + }, + "S3DataDistributionType":{ + "shape":"S3DataDistribution", + "documentation":"

    If you want Amazon SageMaker to replicate the entire dataset on each ML compute instance that is launched for model training, specify FullyReplicated.

    If you want Amazon SageMaker to replicate a subset of data on each ML compute instance that is launched for model training, specify ShardedByS3Key. If there are n ML compute instances launched for a training job, each instance gets approximately 1/n of the number of S3 objects. In this case, model training on each machine uses only the subset of training data.

    Don't choose more ML compute instances for training than available S3 objects. If you do, some nodes won't get any data and you will pay for nodes that aren't getting any training data. This applies in both File and Pipe modes. Keep this in mind when developing algorithms.

    In distributed training, where you use multiple ML compute EC2 instances, you might choose ShardedByS3Key. If the algorithm requires copying training data to the ML storage volume (when TrainingInputMode is set to File), this copies 1/n of the number of objects.

    " + }, + "AttributeNames":{ + "shape":"AttributeNames", + "documentation":"

    A list of one or more attribute names to use that are found in a specified augmented manifest file.

    " + } + }, + "documentation":"

    Describes the S3 data source.

    " + }, + "S3DataType":{ + "type":"string", + "enum":[ + "ManifestFile", + "S3Prefix", + "AugmentedManifestFile" + ] + }, + "S3Uri":{ + "type":"string", + "max":1024, + "pattern":"^(https|s3)://([^/]+)/?(.*)$" + }, + "SageMakerImageArn":{ + "type":"string", + "max":256, + "pattern":"^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$" + }, + "SamplingPercentage":{ + "type":"integer", + "max":100, + "min":0 + }, + "ScheduleConfig":{ + "type":"structure", + "required":["ScheduleExpression"], + "members":{ + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    A cron expression that describes details about the monitoring schedule.

    Currently the only supported cron expressions are:

    • If you want to set the job to start every hour, please use the following:

      Hourly: cron(0 * ? * * *)

    • If you want to start the job daily:

      cron(0 [00-23] ? * * *)

    For example, the following are valid cron expressions:

    • Daily at noon UTC: cron(0 12 ? * * *)

    • Daily at midnight UTC: cron(0 0 ? * * *)

    To support running every 6, 12 hours, the following are also supported:

    cron(0 [00-23]/[01-24] ? * * *)

    For example, the following are valid cron expressions:

    • Every 12 hours, starting at 5pm UTC: cron(0 17/12 ? * * *)

    • Every two hours starting at midnight: cron(0 0/2 ? * * *)

    • Even though the cron expression is set to start at 5PM UTC, note that there could be a delay of 0-20 minutes from the actual requested time to run the execution.

    • We recommend that if you would like a daily schedule, you do not provide this parameter. Amazon SageMaker will pick a time for running every day.

    " + } + }, + "documentation":"

    Configuration details about the monitoring schedule.

    " + }, + "ScheduleExpression":{ + "type":"string", + "max":256, + "min":1 + }, + "ScheduleStatus":{ + "type":"string", + "enum":[ + "Pending", + "Failed", + "Scheduled", + "Stopped" + ] + }, + "SearchExpression":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"FilterList", + "documentation":"

    A list of filter objects.

    " + }, + "NestedFilters":{ + "shape":"NestedFiltersList", + "documentation":"

    A list of nested filter objects.

    " + }, + "SubExpressions":{ + "shape":"SearchExpressionList", + "documentation":"

    A list of search expression objects.

    " + }, + "Operator":{ + "shape":"BooleanOperator", + "documentation":"

    A Boolean operator used to evaluate the search expression. If you want every conditional statement in all lists to be satisfied for the entire search expression to be true, specify And. If only a single conditional statement needs to be true for the entire search expression to be true, specify Or. The default value is And.

    " + } + }, + "documentation":"

    A multi-expression that searches for the specified resource or resources in a search. All resource objects that satisfy the expression's condition are included in the search results. You must specify at least one subexpression, filter, or nested filter. A SearchExpression can contain up to twenty elements.

    A SearchExpression contains the following components:

    • A list of Filter objects. Each filter defines a simple Boolean expression comprised of a resource property name, Boolean operator, and value. A SearchExpression can include only one Contains operator.

    • A list of NestedFilter objects. Each nested filter defines a list of Boolean expressions using a list of resource properties. A nested filter is satisfied if a single object in the list satisfies all Boolean expressions.

    • A list of SearchExpression objects. A search expression object can be nested in a list of search expression objects.

    • A Boolean operator: And or Or.

    " + }, + "SearchExpressionList":{ + "type":"list", + "member":{"shape":"SearchExpression"}, + "max":20, + "min":1 + }, + "SearchRecord":{ + "type":"structure", + "members":{ + "TrainingJob":{ + "shape":"TrainingJob", + "documentation":"

    The properties of a training job.

    " + }, + "Experiment":{ + "shape":"Experiment", + "documentation":"

    The properties of an experiment.

    " + }, + "Trial":{ + "shape":"Trial", + "documentation":"

    The properties of a trial.

    " + }, + "TrialComponent":{ + "shape":"TrialComponent", + "documentation":"

    The properties of a trial component.

    " + } + }, + "documentation":"

    A single resource returned as part of the Search API response.

    " + }, + "SearchRequest":{ + "type":"structure", + "required":["Resource"], + "members":{ + "Resource":{ + "shape":"ResourceType", + "documentation":"

    The name of the Amazon SageMaker resource to search for.

    " + }, + "SearchExpression":{ + "shape":"SearchExpression", + "documentation":"

    A Boolean conditional statement. Resources must satisfy this condition to be included in search results. You must provide at least one subexpression, filter, or nested filter. The maximum number of recursive SubExpressions, NestedFilters, and Filters that can be included in a SearchExpression object is 50.

    " + }, + "SortBy":{ + "shape":"ResourcePropertyName", + "documentation":"

    The name of the resource property used to sort the SearchResults. The default is LastModifiedTime.

    " + }, + "SortOrder":{ + "shape":"SearchSortOrder", + "documentation":"

    How SearchResults are ordered. Valid values are Ascending or Descending. The default is Descending.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults resources match the specified SearchExpression, the response includes a NextToken. The NextToken can be passed to the next SearchRequest to continue retrieving results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "box":true + } + } + }, + "SearchResponse":{ + "type":"structure", + "members":{ + "Results":{ + "shape":"SearchResultsList", + "documentation":"

    A list of SearchRecord objects.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous Search request was truncated, the response includes a NextToken. To retrieve the next set of results, use the token in the next request.

    " + } + } + }, + "SearchResultsList":{ + "type":"list", + "member":{"shape":"SearchRecord"} + }, + "SearchSortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "SecondaryStatus":{ + "type":"string", + "enum":[ + "Starting", + "LaunchingMLInstances", + "PreparingTrainingStack", + "Downloading", + "DownloadingTrainingImage", + "Training", + "Uploading", + "Stopping", + "Stopped", + "MaxRuntimeExceeded", + "Completed", + "Failed", + "Interrupted", + "MaxWaitTimeExceeded" + ] + }, + "SecondaryStatusTransition":{ + "type":"structure", + "required":[ + "Status", + "StartTime" + ], + "members":{ + "Status":{ + "shape":"SecondaryStatus", + "documentation":"

    Contains a secondary status information from a training job.

    Status might be one of the following secondary statuses:

    InProgress
    • Starting - Starting the training job.

    • Downloading - An optional stage for algorithms that support File training input mode. It indicates that data is being downloaded to the ML storage volumes.

    • Training - Training is in progress.

    • Uploading - Training is complete and the model artifacts are being uploaded to the S3 location.

    Completed
    • Completed - The training job has completed.

    Failed
    • Failed - The training job has failed. The reason for the failure is returned in the FailureReason field of DescribeTrainingJobResponse.

    Stopped
    • MaxRuntimeExceeded - The job stopped because it exceeded the maximum allowed runtime.

    • Stopped - The training job has stopped.

    Stopping
    • Stopping - Stopping the training job.

    We no longer support the following secondary statuses:

    • LaunchingMLInstances

    • PreparingTrainingStack

    • DownloadingTrainingImage

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the training job transitioned to the current secondary status state.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the training job transitioned out of this secondary status state into another secondary status state or when the training job has ended.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    A detailed description of the progress within a secondary status.

    Amazon SageMaker provides secondary statuses and status messages that apply to each of them:

    Starting
    • Starting the training job.

    • Launching requested ML instances.

    • Insufficient capacity error from EC2 while launching instances, retrying!

    • Launched instance was unhealthy, replacing it!

    • Preparing the instances for training.

    Training
    • Downloading the training image.

    • Training image download completed. Training in progress.

    Status messages are subject to change. Therefore, we recommend not including them in code that programmatically initiates actions. For examples, don't use status messages in if statements.

    To have an overview of your training job's progress, view TrainingJobStatus and SecondaryStatus in DescribeTrainingJob, and StatusMessage together. For example, at the start of a training job, you might see the following:

    • TrainingJobStatus - InProgress

    • SecondaryStatus - Training

    • StatusMessage - Downloading the training image

    " + } + }, + "documentation":"

    An array element of DescribeTrainingJobResponse$SecondaryStatusTransitions. It provides additional details about a status that the training job has transitioned through. A training job can be in one of several states, for example, starting, downloading, training, or uploading. Within each state, there are a number of intermediate states. For example, within the starting state, Amazon SageMaker could be starting the training job or launching the ML instances. These transitional states are referred to as the job's secondary status.

    " + }, + "SecondaryStatusTransitions":{ + "type":"list", + "member":{"shape":"SecondaryStatusTransition"} + }, + "SecretArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"arn:aws[a-z\\-]*:secretsmanager:[a-z0-9\\-]*:[0-9]{12}:secret:.*" + }, + "SecurityGroupId":{ + "type":"string", + "max":32, + "pattern":"[-0-9a-zA-Z]+" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5 + }, + "Seed":{"type":"long"}, + "SessionExpirationDurationInSeconds":{ + "type":"integer", + "max":43200, + "min":1800 + }, + "SharingSettings":{ + "type":"structure", + "members":{ + "NotebookOutputOption":{ + "shape":"NotebookOutputOption", + "documentation":"

    The notebook output option.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 output path.

    " + }, + "S3KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service encryption key ID.

    " + } + }, + "documentation":"

    The sharing settings.

    " + }, + "ShuffleConfig":{ + "type":"structure", + "required":["Seed"], + "members":{ + "Seed":{ + "shape":"Seed", + "documentation":"

    Determines the shuffling order in ShuffleConfig value.

    " + } + }, + "documentation":"

    A configuration for a shuffle option for input data in a channel. If you use S3Prefix for S3DataType, the results of the S3 key prefix matches are shuffled. If you use ManifestFile, the order of the S3 object references in the ManifestFile is shuffled. If you use AugmentedManifestFile, the order of the JSON lines in the AugmentedManifestFile is shuffled. The shuffling order is determined using the Seed value.

    For Pipe input mode, when ShuffleConfig is specified shuffling is done at the start of every epoch. With large datasets, this ensures that the order of the training data is different for each epoch, and it helps reduce bias and possible overfitting. In a multi-node training job when ShuffleConfig is combined with S3DataDistributionType of ShardedByS3Key, the data is shuffled across nodes so that the content sent to a particular node on the first epoch might be sent to a different node on the second epoch.

    " + }, + "SingleSignOnUserIdentifier":{ + "type":"string", + "pattern":"UserName" + }, + "SortBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "SortExperimentsBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "SortTrialComponentsBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "SortTrialsBy":{ + "type":"string", + "enum":[ + "Name", + "CreationTime" + ] + }, + "SourceAlgorithm":{ + "type":"structure", + "required":["AlgorithmName"], + "members":{ + "ModelDataUrl":{ + "shape":"Url", + "documentation":"

    The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

    " + }, + "AlgorithmName":{ + "shape":"ArnOrName", + "documentation":"

    The name of an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your Amazon SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.

    " + } + }, + "documentation":"

    Specifies an algorithm that was used to create the model package. The algorithm must be either an algorithm resource in your Amazon SageMaker account or an algorithm in AWS Marketplace that you are subscribed to.

    " + }, + "SourceAlgorithmList":{ + "type":"list", + "member":{"shape":"SourceAlgorithm"}, + "max":1, + "min":1 + }, + "SourceAlgorithmSpecification":{ + "type":"structure", + "required":["SourceAlgorithms"], + "members":{ + "SourceAlgorithms":{ + "shape":"SourceAlgorithmList", + "documentation":"

    A list of the algorithms that were used to create a model package.

    " + } + }, + "documentation":"

    A list of algorithms that were used to create a model package.

    " + }, + "SourceIpConfig":{ + "type":"structure", + "required":["Cidrs"], + "members":{ + "Cidrs":{ + "shape":"Cidrs", + "documentation":"

    A list of one to four Classless Inter-Domain Routing (CIDR) values.

    Maximum: Four CIDR values

    The following Length Constraints apply to individual CIDR values in the CIDR value list.

    " + } + }, + "documentation":"

    A list of IP address ranges (CIDRs). Used to create an allow list of IP addresses for a private workforce. For more information, see .

    " + }, + "SourceType":{ + "type":"string", + "max":128 + }, + "SplitType":{ + "type":"string", + "enum":[ + "None", + "Line", + "RecordIO", + "TFRecord" + ] + }, + "StartMonitoringScheduleRequest":{ + "type":"structure", + "required":["MonitoringScheduleName"], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the schedule to start.

    " + } + } + }, + "StartNotebookInstanceInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance to start.

    " + } + } + }, + "StatusDetails":{ + "type":"string", + "max":1024, + "pattern":".*" + }, + "StatusMessage":{"type":"string"}, + "StopAutoMLJobRequest":{ + "type":"structure", + "required":["AutoMLJobName"], + "members":{ + "AutoMLJobName":{ + "shape":"AutoMLJobName", + "documentation":"

    The name of the object you are requesting.

    " + } + } + }, + "StopCompilationJobRequest":{ + "type":"structure", + "required":["CompilationJobName"], + "members":{ + "CompilationJobName":{ + "shape":"EntityName", + "documentation":"

    The name of the model compilation job to stop.

    " + } + } + }, + "StopHyperParameterTuningJobRequest":{ + "type":"structure", + "required":["HyperParameterTuningJobName"], + "members":{ + "HyperParameterTuningJobName":{ + "shape":"HyperParameterTuningJobName", + "documentation":"

    The name of the tuning job to stop.

    " + } + } + }, + "StopLabelingJobRequest":{ + "type":"structure", + "required":["LabelingJobName"], + "members":{ + "LabelingJobName":{ + "shape":"LabelingJobName", + "documentation":"

    The name of the labeling job to stop.

    " + } + } + }, + "StopMonitoringScheduleRequest":{ + "type":"structure", + "required":["MonitoringScheduleName"], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the schedule to stop.

    " + } + } + }, + "StopNotebookInstanceInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance to terminate.

    " + } + } + }, + "StopProcessingJobRequest":{ + "type":"structure", + "required":["ProcessingJobName"], + "members":{ + "ProcessingJobName":{ + "shape":"ProcessingJobName", + "documentation":"

    The name of the processing job to stop.

    " + } + } + }, + "StopTrainingJobRequest":{ + "type":"structure", + "required":["TrainingJobName"], + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job to stop.

    " + } + } + }, + "StopTransformJobRequest":{ + "type":"structure", + "required":["TransformJobName"], + "members":{ + "TransformJobName":{ + "shape":"TransformJobName", + "documentation":"

    The name of the transform job to stop.

    " + } + } + }, + "StoppingCondition":{ + "type":"structure", + "members":{ + "MaxRuntimeInSeconds":{ + "shape":"MaxRuntimeInSeconds", + "documentation":"

    The maximum length of time, in seconds, that the training or compilation job can run. If job does not complete during this time, Amazon SageMaker ends the job. If value is not specified, default value is 1 day. The maximum value is 28 days.

    " + }, + "MaxWaitTimeInSeconds":{ + "shape":"MaxWaitTimeInSeconds", + "documentation":"

    The maximum length of time, in seconds, how long you are willing to wait for a managed spot training job to complete. It is the amount of time spent waiting for Spot capacity plus the amount of time the training job runs. It must be equal to or greater than MaxRuntimeInSeconds.

    " + } + }, + "documentation":"

    Specifies a limit to how long a model training or compilation job can run. It also specifies how long you are willing to wait for a managed spot training job to complete. When the job reaches the time limit, Amazon SageMaker ends the training or compilation job. Use this API to cap model training costs.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

    The training algorithms provided by Amazon SageMaker automatically save the intermediate results of a model training job when possible. This attempt to save artifacts is only a best effort case as model might not be in a state from which it can be saved. For example, if training has just started, the model might not be ready to save. When saved, this intermediate data is a valid model artifact. You can use it to create a model with CreateModel.

    The Neural Topic Model (NTM) currently does not support saving intermediate model artifacts. When training NTMs, make sure that the maximum runtime is sufficient for the training job to complete.

    " + }, + "String":{"type":"string"}, + "String1024":{ + "type":"string", + "max":1024 + }, + "String200":{ + "type":"string", + "max":200, + "min":1, + "pattern":".+" + }, + "String256":{ + "type":"string", + "max":256 + }, + "StringParameterValue":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "SubnetId":{ + "type":"string", + "max":32, + "pattern":"[-0-9a-zA-Z]+" + }, + "Subnets":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":1 + }, + "SubscribedWorkteam":{ + "type":"structure", + "required":["WorkteamArn"], + "members":{ + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the vendor that you have subscribed.

    " + }, + "MarketplaceTitle":{ + "shape":"String200", + "documentation":"

    The title of the service provided by the vendor in the Amazon Marketplace.

    " + }, + "SellerName":{ + "shape":"String", + "documentation":"

    The name of the vendor in the Amazon Marketplace.

    " + }, + "MarketplaceDescription":{ + "shape":"String200", + "documentation":"

    The description of the vendor from the Amazon Marketplace.

    " + }, + "ListingId":{ + "shape":"String", + "documentation":"

    " + } + }, + "documentation":"

    Describes a work team of a vendor that does the a labelling job.

    " + }, + "SubscribedWorkteams":{ + "type":"list", + "member":{"shape":"SubscribedWorkteam"} + }, + "Success":{"type":"boolean"}, + "SuggestionQuery":{ + "type":"structure", + "members":{ + "PropertyNameQuery":{ + "shape":"PropertyNameQuery", + "documentation":"

    Defines a property name hint. Only property names that begin with the specified hint are included in the response.

    " + } + }, + "documentation":"

    Specified in the GetSearchSuggestions request. Limits the property names that are included in the response.

    " + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The tag key.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The tag value.

    " + } + }, + "documentation":"

    Describes a tag.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TargetAttributeName":{ + "type":"string", + "min":1 + }, + "TargetDevice":{ + "type":"string", + "enum":[ + "lambda", + "ml_m4", + "ml_m5", + "ml_c4", + "ml_c5", + "ml_p2", + "ml_p3", + "ml_inf1", + "jetson_tx1", + "jetson_tx2", + "jetson_nano", + "jetson_xavier", + "rasp3b", + "imx8qm", + "deeplens", + "rk3399", + "rk3288", + "aisage", + "sbe_c", + "qcs605", + "qcs603", + "sitara_am57x", + "amba_cv22" + ] + }, + "TargetObjectiveMetricValue":{"type":"float"}, + "TaskAvailabilityLifetimeInSeconds":{ + "type":"integer", + "max":864000, + "min":60 + }, + "TaskCount":{ + "type":"integer", + "min":1 + }, + "TaskDescription":{ + "type":"string", + "max":255, + "min":1, + "pattern":".+" + }, + "TaskInput":{ + "type":"string", + "max":128000, + "min":2, + "pattern":"[\\S\\s]+" + }, + "TaskKeyword":{ + "type":"string", + "max":30, + "min":1, + "pattern":"^[A-Za-z0-9]+( [A-Za-z0-9]+)*$" + }, + "TaskKeywords":{ + "type":"list", + "member":{"shape":"TaskKeyword"}, + "max":5, + "min":1 + }, + "TaskTimeLimitInSeconds":{ + "type":"integer", + "max":28800, + "min":30 + }, + "TaskTitle":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\t\\n\\r -\\uD7FF\\uE000-\\uFFFD]*$" + }, + "TemplateContent":{ + "type":"string", + "max":128000, + "min":1, + "pattern":"[\\S\\s]+" + }, + "TemplateContentSha256":{ + "type":"string", + "max":128000, + "min":1 + }, + "TemplateUrl":{ + "type":"string", + "max":2048, + "min":1 + }, + "TensorBoardAppSettings":{ + "type":"structure", + "members":{ + "DefaultResourceSpec":{ + "shape":"ResourceSpec", + "documentation":"

    The default instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

    " + } + }, + "documentation":"

    The TensorBoard app settings.

    " + }, + "TensorBoardOutputConfig":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "LocalPath":{ + "shape":"DirectoryPath", + "documentation":"

    Path to local storage location for tensorBoard output. Defaults to /opt/ml/output/tensorboard.

    " + }, + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    Path to Amazon S3 storage location for TensorBoard output.

    " + } + }, + "documentation":"

    Configuration of storage locations for TensorBoard output.

    " + }, + "TenthFractionsOfACent":{ + "type":"integer", + "max":9, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "TrainingInputMode":{ + "type":"string", + "enum":[ + "Pipe", + "File" + ] + }, + "TrainingInstanceCount":{ + "type":"integer", + "min":1 + }, + "TrainingInstanceType":{ + "type":"string", + "enum":[ + "ml.m4.xlarge", + "ml.m4.2xlarge", + "ml.m4.4xlarge", + "ml.m4.10xlarge", + "ml.m4.16xlarge", + "ml.g4dn.xlarge", + "ml.g4dn.2xlarge", + "ml.g4dn.4xlarge", + "ml.g4dn.8xlarge", + "ml.g4dn.12xlarge", + "ml.g4dn.16xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge", + "ml.c4.xlarge", + "ml.c4.2xlarge", + "ml.c4.4xlarge", + "ml.c4.8xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.p3dn.24xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.c5n.xlarge", + "ml.c5n.2xlarge", + "ml.c5n.4xlarge", + "ml.c5n.9xlarge", + "ml.c5n.18xlarge" + ] + }, + "TrainingInstanceTypes":{ + "type":"list", + "member":{"shape":"TrainingInstanceType"} + }, + "TrainingJob":{ + "type":"structure", + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the training job.

    " + }, + "TuningJobArn":{ + "shape":"HyperParameterTuningJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the associated hyperparameter tuning job if the training job was launched by a hyperparameter tuning job.

    " + }, + "LabelingJobArn":{ + "shape":"LabelingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the labeling job.

    " + }, + "AutoMLJobArn":{ + "shape":"AutoMLJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the job.

    " + }, + "ModelArtifacts":{ + "shape":"ModelArtifacts", + "documentation":"

    Information about the Amazon S3 location that is configured for storing model artifacts.

    " + }, + "TrainingJobStatus":{ + "shape":"TrainingJobStatus", + "documentation":"

    The status of the training job.

    Training job statuses are:

    • InProgress - The training is in progress.

    • Completed - The training job has completed.

    • Failed - The training job has failed. To see the reason for the failure, see the FailureReason field in the response to a DescribeTrainingJobResponse call.

    • Stopping - The training job is stopping.

    • Stopped - The training job has stopped.

    For more detailed information, see SecondaryStatus.

    " + }, + "SecondaryStatus":{ + "shape":"SecondaryStatus", + "documentation":"

    Provides detailed information about the state of the training job. For detailed information about the secondary status of the training job, see StatusMessage under SecondaryStatusTransition.

    Amazon SageMaker provides primary statuses and secondary statuses that apply to each of them:

    InProgress
    • Starting - Starting the training job.

    • Downloading - An optional stage for algorithms that support File training input mode. It indicates that data is being downloaded to the ML storage volumes.

    • Training - Training is in progress.

    • Uploading - Training is complete and the model artifacts are being uploaded to the S3 location.

    Completed
    • Completed - The training job has completed.

    Failed
    • Failed - The training job has failed. The reason for the failure is returned in the FailureReason field of DescribeTrainingJobResponse.

    Stopped
    • MaxRuntimeExceeded - The job stopped because it exceeded the maximum allowed runtime.

    • Stopped - The training job has stopped.

    Stopping
    • Stopping - Stopping the training job.

    Valid values for SecondaryStatus are subject to change.

    We no longer support the following secondary statuses:

    • LaunchingMLInstances

    • PreparingTrainingStack

    • DownloadingTrainingImage

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the training job failed, the reason it failed.

    " + }, + "HyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    Algorithm-specific parameters.

    " + }, + "AlgorithmSpecification":{ + "shape":"AlgorithmSpecification", + "documentation":"

    Information about the algorithm used for training, and algorithm metadata.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The AWS Identity and Access Management (IAM) role configured for the training job.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    An array of Channel objects that describes each data input channel.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    The S3 path where model artifacts that you configured when creating the job are stored. Amazon SageMaker creates subfolders for model artifacts.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    Resources, including ML compute instances and ML storage volumes, that are configured for model training.

    " + }, + "VpcConfig":{ + "shape":"VpcConfig", + "documentation":"

    A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts, so the results of training are not lost.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates when the training job was created.

    " + }, + "TrainingStartTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

    " + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when Amazon SageMaker detects a job failure.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that indicates when the status of the training job was last modified.

    " + }, + "SecondaryStatusTransitions":{ + "shape":"SecondaryStatusTransitions", + "documentation":"

    A history of all of the secondary statuses that the training job has transitioned through.

    " + }, + "FinalMetricDataList":{ + "shape":"FinalMetricDataList", + "documentation":"

    A list of final metric values that are set when the training job completes. Used only if the training job was configured to use metrics.

    " + }, + "EnableNetworkIsolation":{ + "shape":"Boolean", + "documentation":"

    If the TrainingJob was created with network isolation, the value is set to true. If network isolation is enabled, nodes can't communicate beyond the VPC they run in.

    " + }, + "EnableInterContainerTrafficEncryption":{ + "shape":"Boolean", + "documentation":"

    To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training.

    " + }, + "EnableManagedSpotTraining":{ + "shape":"Boolean", + "documentation":"

    When true, enables managed spot training using Amazon EC2 Spot instances to run training jobs instead of on-demand instances. For more information, see Managed Spot Training.

    " + }, + "CheckpointConfig":{"shape":"CheckpointConfig"}, + "TrainingTimeInSeconds":{ + "shape":"TrainingTimeInSeconds", + "documentation":"

    The training time in seconds.

    " + }, + "BillableTimeInSeconds":{ + "shape":"BillableTimeInSeconds", + "documentation":"

    The billable time in seconds.

    " + }, + "DebugHookConfig":{"shape":"DebugHookConfig"}, + "ExperimentConfig":{"shape":"ExperimentConfig"}, + "DebugRuleConfigurations":{ + "shape":"DebugRuleConfigurations", + "documentation":"

    Information about the debug rule configuration.

    " + }, + "TensorBoardOutputConfig":{"shape":"TensorBoardOutputConfig"}, + "DebugRuleEvaluationStatuses":{ + "shape":"DebugRuleEvaluationStatuses", + "documentation":"

    Information about the evaluation status of the rules for the training job.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.

    " + } + }, + "documentation":"

    Contains information about a training job.

    " + }, + "TrainingJobArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:training-job/.*" + }, + "TrainingJobDefinition":{ + "type":"structure", + "required":[ + "TrainingInputMode", + "InputDataConfig", + "OutputDataConfig", + "ResourceConfig", + "StoppingCondition" + ], + "members":{ + "TrainingInputMode":{ + "shape":"TrainingInputMode", + "documentation":"

    The input mode used by the algorithm for the training job. For the input modes that Amazon SageMaker algorithms support, see Algorithms.

    If an algorithm supports the File input mode, Amazon SageMaker downloads the training data from S3 to the provisioned ML storage Volume, and mounts the directory to docker volume for training container. If an algorithm supports the Pipe input mode, Amazon SageMaker streams data directly from S3 to the container.

    " + }, + "HyperParameters":{ + "shape":"HyperParameters", + "documentation":"

    The hyperparameters used for the training job.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    An array of Channel objects, each of which specifies an input source.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    the path to the S3 bucket where you want to store model artifacts. Amazon SageMaker creates subfolders for the artifacts.

    " + }, + "ResourceConfig":{ + "shape":"ResourceConfig", + "documentation":"

    The resources, including the ML compute instances and ML storage volumes, to use for model training.

    " + }, + "StoppingCondition":{ + "shape":"StoppingCondition", + "documentation":"

    Specifies a limit to how long a model training job can run. When the job reaches the time limit, Amazon SageMaker ends the training job. Use this API to cap model training costs.

    To stop a job, Amazon SageMaker sends the algorithm the SIGTERM signal, which delays job termination for 120 seconds. Algorithms can use this 120-second window to save the model artifacts.

    " + } + }, + "documentation":"

    Defines the input needed to run a training job using the algorithm.

    " + }, + "TrainingJobEarlyStoppingType":{ + "type":"string", + "enum":[ + "Off", + "Auto" + ] + }, + "TrainingJobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "TrainingJobSortByOptions":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status", + "FinalObjectiveMetricValue" + ] + }, + "TrainingJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "TrainingJobStatusCounter":{ + "type":"integer", + "min":0 + }, + "TrainingJobStatusCounters":{ + "type":"structure", + "members":{ + "Completed":{ + "shape":"TrainingJobStatusCounter", + "documentation":"

    The number of completed training jobs launched by the hyperparameter tuning job.

    " + }, + "InProgress":{ + "shape":"TrainingJobStatusCounter", + "documentation":"

    The number of in-progress training jobs launched by a hyperparameter tuning job.

    " + }, + "RetryableError":{ + "shape":"TrainingJobStatusCounter", + "documentation":"

    The number of training jobs that failed, but can be retried. A failed training job can be retried only if it failed because an internal service error occurred.

    " + }, + "NonRetryableError":{ + "shape":"TrainingJobStatusCounter", + "documentation":"

    The number of training jobs that failed and can't be retried. A failed training job can't be retried if it failed because a client error occurred.

    " + }, + "Stopped":{ + "shape":"TrainingJobStatusCounter", + "documentation":"

    The number of training jobs launched by a hyperparameter tuning job that were manually stopped.

    " + } + }, + "documentation":"

    The numbers of training jobs launched by a hyperparameter tuning job, categorized by status.

    " + }, + "TrainingJobSummaries":{ + "type":"list", + "member":{"shape":"TrainingJobSummary"} + }, + "TrainingJobSummary":{ + "type":"structure", + "required":[ + "TrainingJobName", + "TrainingJobArn", + "CreationTime", + "TrainingJobStatus" + ], + "members":{ + "TrainingJobName":{ + "shape":"TrainingJobName", + "documentation":"

    The name of the training job that you want a summary for.

    " + }, + "TrainingJobArn":{ + "shape":"TrainingJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the training job.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the training job was created.

    " + }, + "TrainingEndTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the training job ended. This field is set only if the training job has one of the terminal statuses (Completed, Failed, or Stopped).

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    Timestamp when the training job was last modified.

    " + }, + "TrainingJobStatus":{ + "shape":"TrainingJobStatus", + "documentation":"

    The status of the training job.

    " + } + }, + "documentation":"

    Provides summary information about a training job.

    " + }, + "TrainingSpecification":{ + "type":"structure", + "required":[ + "TrainingImage", + "SupportedTrainingInstanceTypes", + "TrainingChannels" + ], + "members":{ + "TrainingImage":{ + "shape":"Image", + "documentation":"

    The Amazon ECR registry path of the Docker image that contains the training algorithm.

    " + }, + "TrainingImageDigest":{ + "shape":"ImageDigest", + "documentation":"

    An MD5 hash of the training algorithm that identifies the Docker image used for training.

    " + }, + "SupportedHyperParameters":{ + "shape":"HyperParameterSpecifications", + "documentation":"

    A list of the HyperParameterSpecification objects, that define the supported hyperparameters. This is required if the algorithm supports automatic model tuning.>

    " + }, + "SupportedTrainingInstanceTypes":{ + "shape":"TrainingInstanceTypes", + "documentation":"

    A list of the instance types that this algorithm can use for training.

    " + }, + "SupportsDistributedTraining":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the algorithm supports distributed training. If set to false, buyers can't request more than one instance during training.

    " + }, + "MetricDefinitions":{ + "shape":"MetricDefinitionList", + "documentation":"

    A list of MetricDefinition objects, which are used for parsing metrics generated by the algorithm.

    " + }, + "TrainingChannels":{ + "shape":"ChannelSpecifications", + "documentation":"

    A list of ChannelSpecification objects, which specify the input sources to be used by the algorithm.

    " + }, + "SupportedTuningJobObjectiveMetrics":{ + "shape":"HyperParameterTuningJobObjectives", + "documentation":"

    A list of the metrics that the algorithm emits that can be used as the objective metric in a hyperparameter tuning job.

    " + } + }, + "documentation":"

    Defines how the algorithm is used for a training job.

    " + }, + "TrainingTimeInSeconds":{ + "type":"integer", + "min":1 + }, + "TransformDataSource":{ + "type":"structure", + "required":["S3DataSource"], + "members":{ + "S3DataSource":{ + "shape":"TransformS3DataSource", + "documentation":"

    The S3 location of the data source that is associated with a channel.

    " + } + }, + "documentation":"

    Describes the location of the channel data.

    " + }, + "TransformEnvironmentKey":{ + "type":"string", + "max":1024, + "pattern":"[a-zA-Z_][a-zA-Z0-9_]*" + }, + "TransformEnvironmentMap":{ + "type":"map", + "key":{"shape":"TransformEnvironmentKey"}, + "value":{"shape":"TransformEnvironmentValue"}, + "max":16 + }, + "TransformEnvironmentValue":{ + "type":"string", + "max":10240, + "pattern":"[\\S\\s]*" + }, + "TransformInput":{ + "type":"structure", + "required":["DataSource"], + "members":{ + "DataSource":{ + "shape":"TransformDataSource", + "documentation":"

    Describes the location of the channel data, which is, the S3 location of the input data that the model can consume.

    " + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

    The multipurpose internet mail extension (MIME) type of the data. Amazon SageMaker uses the MIME type with each http call to transfer data to the transform job.

    " + }, + "CompressionType":{ + "shape":"CompressionType", + "documentation":"

    If your transform data is compressed, specify the compression type. Amazon SageMaker automatically decompresses the data for the transform job accordingly. The default value is None.

    " + }, + "SplitType":{ + "shape":"SplitType", + "documentation":"

    The method to use to split the transform job's data files into smaller batches. Splitting is necessary when the total size of each object is too large to fit in a single request. You can also use data splitting to improve performance by processing multiple concurrent mini-batches. The default value for SplitType is None, which indicates that input data files are not split, and request payloads contain the entire contents of an input object. Set the value of this parameter to Line to split records on a newline character boundary. SplitType also supports a number of record-oriented binary data formats.

    When splitting is enabled, the size of a mini-batch depends on the values of the BatchStrategy and MaxPayloadInMB parameters. When the value of BatchStrategy is MultiRecord, Amazon SageMaker sends the maximum number of records in each request, up to the MaxPayloadInMB limit. If the value of BatchStrategy is SingleRecord, Amazon SageMaker sends individual records in each request.

    Some data formats represent a record as a binary payload wrapped with extra padding bytes. When splitting is applied to a binary data format, padding is removed if the value of BatchStrategy is set to SingleRecord. Padding is not removed if the value of BatchStrategy is set to MultiRecord.

    For more information about RecordIO, see Create a Dataset Using RecordIO in the MXNet documentation. For more information about TFRecord, see Consuming TFRecord data in the TensorFlow documentation.

    " + } + }, + "documentation":"

    Describes the input source of a transform job and the way the transform job consumes it.

    " + }, + "TransformInstanceCount":{ + "type":"integer", + "min":1 + }, + "TransformInstanceType":{ + "type":"string", + "enum":[ + "ml.m4.xlarge", + "ml.m4.2xlarge", + "ml.m4.4xlarge", + "ml.m4.10xlarge", + "ml.m4.16xlarge", + "ml.c4.xlarge", + "ml.c4.2xlarge", + "ml.c4.4xlarge", + "ml.c4.8xlarge", + "ml.p2.xlarge", + "ml.p2.8xlarge", + "ml.p2.16xlarge", + "ml.p3.2xlarge", + "ml.p3.8xlarge", + "ml.p3.16xlarge", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.18xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.12xlarge", + "ml.m5.24xlarge" + ] + }, + "TransformInstanceTypes":{ + "type":"list", + "member":{"shape":"TransformInstanceType"}, + "min":1 + }, + "TransformJobArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:transform-job/.*" + }, + "TransformJobDefinition":{ + "type":"structure", + "required":[ + "TransformInput", + "TransformOutput", + "TransformResources" + ], + "members":{ + "MaxConcurrentTransforms":{ + "shape":"MaxConcurrentTransforms", + "documentation":"

    The maximum number of parallel requests that can be sent to each instance in a transform job. The default value is 1.

    " + }, + "MaxPayloadInMB":{ + "shape":"MaxPayloadInMB", + "documentation":"

    The maximum payload size allowed, in MB. A payload is the data portion of a record (without metadata).

    " + }, + "BatchStrategy":{ + "shape":"BatchStrategy", + "documentation":"

    A string that determines the number of records included in a single mini-batch.

    SingleRecord means only one record is used per mini-batch. MultiRecord means a mini-batch is set to contain as many records that can fit within the MaxPayloadInMB limit.

    " + }, + "Environment":{ + "shape":"TransformEnvironmentMap", + "documentation":"

    The environment variables to set in the Docker container. We support up to 16 key and values entries in the map.

    " + }, + "TransformInput":{ + "shape":"TransformInput", + "documentation":"

    A description of the input source and the way the transform job consumes it.

    " + }, + "TransformOutput":{ + "shape":"TransformOutput", + "documentation":"

    Identifies the Amazon S3 location where you want Amazon SageMaker to save the results from the transform job.

    " + }, + "TransformResources":{ + "shape":"TransformResources", + "documentation":"

    Identifies the ML compute instances for the transform job.

    " + } + }, + "documentation":"

    Defines the input needed to run a transform job using the inference specification specified in the algorithm.

    " + }, + "TransformJobName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "TransformJobStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "TransformJobSummaries":{ + "type":"list", + "member":{"shape":"TransformJobSummary"} + }, + "TransformJobSummary":{ + "type":"structure", + "required":[ + "TransformJobName", + "TransformJobArn", + "CreationTime", + "TransformJobStatus" + ], + "members":{ + "TransformJobName":{ + "shape":"TransformJobName", + "documentation":"

    The name of the transform job.

    " + }, + "TransformJobArn":{ + "shape":"TransformJobArn", + "documentation":"

    The Amazon Resource Name (ARN) of the transform job.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    A timestamp that shows when the transform Job was created.

    " + }, + "TransformEndTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates when the transform job ends on compute instances. For successful jobs and stopped jobs, this is the exact time recorded after the results are uploaded. For failed jobs, this is when Amazon SageMaker detected that the job failed.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    Indicates when the transform job was last modified.

    " + }, + "TransformJobStatus":{ + "shape":"TransformJobStatus", + "documentation":"

    The status of the transform job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the transform job failed, the reason it failed.

    " + } + }, + "documentation":"

    Provides a summary of a transform job. Multiple TransformJobSummary objects are returned as a list after in response to a ListTransformJobs call.

    " + }, + "TransformOutput":{ + "type":"structure", + "required":["S3OutputPath"], + "members":{ + "S3OutputPath":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 path where you want Amazon SageMaker to store the results of the transform job. For example, s3://bucket-name/key-name-prefix.

    For every S3 object used as input for the transform job, batch transform stores the transformed data with an .out suffix in a corresponding subfolder in the location in the output prefix. For example, for the input data stored at s3://bucket-name/input-name-prefix/dataset01/data.csv, batch transform stores the transformed data at s3://bucket-name/output-name-prefix/input-name-prefix/data.csv.out. Batch transform doesn't upload partially processed objects. For an input S3 object that contains multiple records, it creates an .out file only if the transform job succeeds on the entire file. When the input contains multiple S3 objects, the batch transform job processes the listed S3 objects and uploads only the output for successfully processed objects. If any object fails in the transform job batch transform marks the job as failed to prompt investigation.

    " + }, + "Accept":{ + "shape":"Accept", + "documentation":"

    The MIME type used to specify the output data. Amazon SageMaker uses the MIME type with each http call to transfer data from the transform job.

    " + }, + "AssembleWith":{ + "shape":"AssemblyType", + "documentation":"

    Defines how to assemble the results of the transform job as a single S3 object. Choose a format that is most convenient to you. To concatenate the results in binary format, specify None. To add a newline character at the end of every transformed record, specify Line.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. The KmsKeyId can be any of the following formats:

    • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

    • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    • Alias name: alias/ExampleAlias

    • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

    If you don't provide a KMS key ID, Amazon SageMaker uses the default KMS key for Amazon S3 for your role's account. For more information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer Guide.

    The KMS key policy must grant permission to the IAM role that you specify in your CreateModel request. For more information, see Using Key Policies in AWS KMS in the AWS Key Management Service Developer Guide.

    " + } + }, + "documentation":"

    Describes the results of a transform job.

    " + }, + "TransformResources":{ + "type":"structure", + "required":[ + "InstanceType", + "InstanceCount" + ], + "members":{ + "InstanceType":{ + "shape":"TransformInstanceType", + "documentation":"

    The ML compute instance type for the transform job. If you are using built-in algorithms to transform moderately sized datasets, we recommend using ml.m4.xlarge or ml.m5.large instance types.

    " + }, + "InstanceCount":{ + "shape":"TransformInstanceCount", + "documentation":"

    The number of ML compute instances to use in the transform job. For distributed transform jobs, specify a value greater than 1. The default value is 1.

    " + }, + "VolumeKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt model data on the storage volume attached to the ML compute instance(s) that run the batch transform job. The VolumeKmsKeyId can be any of the following formats:

    • Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab

    • Key ARN: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

    • Alias name: alias/ExampleAlias

    • Alias name ARN: arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias

    " + } + }, + "documentation":"

    Describes the resources, including ML instance types and ML instance count, to use for transform job.

    " + }, + "TransformS3DataSource":{ + "type":"structure", + "required":[ + "S3DataType", + "S3Uri" + ], + "members":{ + "S3DataType":{ + "shape":"S3DataType", + "documentation":"

    If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for batch transform.

    If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for batch transform.

    The following values are compatible: ManifestFile, S3Prefix

    The following value is not compatible: AugmentedManifestFile

    " + }, + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    Depending on the value specified for the S3DataType, identifies either a key name prefix or a manifest. For example:

    • A key name prefix might look like this: s3://bucketname/exampleprefix.

    • A manifest might look like this: s3://bucketname/example.manifest

      The manifest is an S3 object which is a JSON file with the following format:

      [ {\"prefix\": \"s3://customer_bucket/some/prefix/\"},

      \"relative/path/to/custdata-1\",

      \"relative/path/custdata-2\",

      ...

      \"relative/path/custdata-N\"

      ]

      The preceding JSON matches the following s3Uris:

      s3://customer_bucket/some/prefix/relative/path/to/custdata-1

      s3://customer_bucket/some/prefix/relative/path/custdata-2

      ...

      s3://customer_bucket/some/prefix/relative/path/custdata-N

      The complete set of S3Uris in this manifest constitutes the input data for the channel for this datasource. The object that each S3Uris points to must be readable by the IAM role that Amazon SageMaker uses to perform tasks on your behalf.

    " + } + }, + "documentation":"

    Describes the S3 data source.

    " + }, + "Trial":{ + "type":"structure", + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial.

    " + }, + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial as displayed. If DisplayName isn't specified, TrialName is displayed.

    " + }, + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment the trial is part of.

    " + }, + "Source":{"shape":"TrialSource"}, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the trial was created.

    " + }, + "CreatedBy":{"shape":"UserContext"}, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    Who last modified the trial.

    " + }, + "LastModifiedBy":{"shape":"UserContext"}, + "Tags":{ + "shape":"TagList", + "documentation":"

    The list of tags that are associated with the trial. You can use Search API to search on the tags.

    " + }, + "TrialComponentSummaries":{ + "shape":"TrialComponentSimpleSummaries", + "documentation":"

    A list of the components associated with the trial. For each component, a summary of the component's properties is included.

    " + } + }, + "documentation":"

    The properties of a trial as returned by the Search API.

    " + }, + "TrialArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:experiment-trial/.*" + }, + "TrialComponent":{ + "type":"structure", + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial component.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component as displayed. If DisplayName isn't specified, TrialComponentName is displayed.

    " + }, + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial component.

    " + }, + "Source":{ + "shape":"TrialComponentSource", + "documentation":"

    The Amazon Resource Name (ARN) and job type of the source of the component.

    " + }, + "Status":{"shape":"TrialComponentStatus"}, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    When the component started.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    When the component ended.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was created.

    " + }, + "CreatedBy":{"shape":"UserContext"}, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was last modified.

    " + }, + "LastModifiedBy":{"shape":"UserContext"}, + "Parameters":{ + "shape":"TrialComponentParameters", + "documentation":"

    The hyperparameters of the component.

    " + }, + "InputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The input artifacts of the component.

    " + }, + "OutputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    The output artifacts of the component.

    " + }, + "Metrics":{ + "shape":"TrialComponentMetricSummaries", + "documentation":"

    The metrics for the component.

    " + }, + "SourceDetail":{ + "shape":"TrialComponentSourceDetail", + "documentation":"

    Details of the source of the component.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The list of tags that are associated with the component. You can use Search API to search on the tags.

    " + }, + "Parents":{ + "shape":"Parents", + "documentation":"

    An array of the parents of the component. A parent is a trial the component is associated with and the experiment the trial is part of. A component might not have any parents.

    " + } + }, + "documentation":"

    The properties of a trial component as returned by the Search API.

    " + }, + "TrialComponentArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:experiment-trial-component/.*" + }, + "TrialComponentArtifact":{ + "type":"structure", + "required":["Value"], + "members":{ + "MediaType":{ + "shape":"MediaType", + "documentation":"

    The media type of the artifact, which indicates the type of data in the artifact file. The media type consists of a type and a subtype concatenated with a slash (/) character, for example, text/csv, image/jpeg, and s3/uri. The type specifies the category of the media. The subtype specifies the kind of data.

    " + }, + "Value":{ + "shape":"TrialComponentArtifactValue", + "documentation":"

    The location of the artifact.

    " + } + }, + "documentation":"

    Represents an input or output artifact of a trial component. You specify TrialComponentArtifact as part of the InputArtifacts and OutputArtifacts parameters in the CreateTrialComponent request.

    Examples of input artifacts are datasets, algorithms, hyperparameters, source code, and instance types. Examples of output artifacts are metrics, snapshots, logs, and images.

    " + }, + "TrialComponentArtifactValue":{ + "type":"string", + "max":2048, + "pattern":".*" + }, + "TrialComponentArtifacts":{ + "type":"map", + "key":{"shape":"TrialComponentKey64"}, + "value":{"shape":"TrialComponentArtifact"}, + "max":30 + }, + "TrialComponentKey256":{ + "type":"string", + "max":256, + "pattern":".*" + }, + "TrialComponentKey64":{ + "type":"string", + "max":64, + "pattern":".*" + }, + "TrialComponentMetricSummaries":{ + "type":"list", + "member":{"shape":"TrialComponentMetricSummary"} + }, + "TrialComponentMetricSummary":{ + "type":"structure", + "members":{ + "MetricName":{ + "shape":"MetricName", + "documentation":"

    The name of the metric.

    " + }, + "SourceArn":{ + "shape":"TrialComponentSourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the source.

    " + }, + "TimeStamp":{ + "shape":"Timestamp", + "documentation":"

    When the metric was last updated.

    " + }, + "Max":{ + "shape":"OptionalDouble", + "documentation":"

    The maximum value of the metric.

    " + }, + "Min":{ + "shape":"OptionalDouble", + "documentation":"

    The minimum value of the metric.

    " + }, + "Last":{ + "shape":"OptionalDouble", + "documentation":"

    The most recent value of the metric.

    " + }, + "Count":{ + "shape":"OptionalInteger", + "documentation":"

    The number of samples used to generate the metric.

    " + }, + "Avg":{ + "shape":"OptionalDouble", + "documentation":"

    The average value of the metric.

    " + }, + "StdDev":{ + "shape":"OptionalDouble", + "documentation":"

    The standard deviation of the metric.

    " + } + }, + "documentation":"

    A summary of the metrics of a trial component.

    " + }, + "TrialComponentParameterValue":{ + "type":"structure", + "members":{ + "StringValue":{ + "shape":"StringParameterValue", + "documentation":"

    The string value of a categorical hyperparameter. If you specify a value for this parameter, you can't specify the NumberValue parameter.

    " + }, + "NumberValue":{ + "shape":"DoubleParameterValue", + "documentation":"

    The numeric value of a numeric hyperparameter. If you specify a value for this parameter, you can't specify the StringValue parameter.

    " + } + }, + "documentation":"

    The value of a hyperparameter. Only one of NumberValue or StringValue can be specified.

    This object is specified in the CreateTrialComponent request.

    " + }, + "TrialComponentParameters":{ + "type":"map", + "key":{"shape":"TrialComponentKey256"}, + "value":{"shape":"TrialComponentParameterValue"}, + "max":150 + }, + "TrialComponentPrimaryStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Completed", + "Failed", + "Stopping", + "Stopped" + ] + }, + "TrialComponentSimpleSummaries":{ + "type":"list", + "member":{"shape":"TrialComponentSimpleSummary"} + }, + "TrialComponentSimpleSummary":{ + "type":"structure", + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial component.

    " + }, + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial component.

    " + }, + "TrialComponentSource":{"shape":"TrialComponentSource"}, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was created.

    " + }, + "CreatedBy":{"shape":"UserContext"} + }, + "documentation":"

    A short summary of a trial component.

    " + }, + "TrialComponentSource":{ + "type":"structure", + "required":["SourceArn"], + "members":{ + "SourceArn":{ + "shape":"TrialComponentSourceArn", + "documentation":"

    The source ARN.

    " + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

    The source job type.

    " + } + }, + "documentation":"

    The Amazon Resource Name (ARN) and job type of the source of a trial component.

    " + }, + "TrialComponentSourceArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:.*" + }, + "TrialComponentSourceDetail":{ + "type":"structure", + "members":{ + "SourceArn":{ + "shape":"TrialComponentSourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the source.

    " + }, + "TrainingJob":{ + "shape":"TrainingJob", + "documentation":"

    Information about a training job that's the source of a trial component.

    " + }, + "ProcessingJob":{ + "shape":"ProcessingJob", + "documentation":"

    Information about a processing job that's the source of a trial component.

    " + } + }, + "documentation":"

    Detailed information about the source of a trial component. Either ProcessingJob or TrainingJob is returned.

    " + }, + "TrialComponentStatus":{ + "type":"structure", + "members":{ + "PrimaryStatus":{ + "shape":"TrialComponentPrimaryStatus", + "documentation":"

    The status of the trial component.

    " + }, + "Message":{ + "shape":"TrialComponentStatusMessage", + "documentation":"

    If the component failed, a message describing why.

    " + } + }, + "documentation":"

    The status of the trial component.

    " + }, + "TrialComponentStatusMessage":{ + "type":"string", + "max":1024, + "pattern":".*" + }, + "TrialComponentSummaries":{ + "type":"list", + "member":{"shape":"TrialComponentSummary"} + }, + "TrialComponentSummary":{ + "type":"structure", + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial component.

    " + }, + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The ARN of the trial component.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component as displayed. If DisplayName isn't specified, TrialComponentName is displayed.

    " + }, + "TrialComponentSource":{"shape":"TrialComponentSource"}, + "Status":{ + "shape":"TrialComponentStatus", + "documentation":"

    The status of the component. States include:

    • InProgress

    • Completed

    • Failed

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    When the component started.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    When the component ended.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was created.

    " + }, + "CreatedBy":{ + "shape":"UserContext", + "documentation":"

    Who created the component.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the component was last modified.

    " + }, + "LastModifiedBy":{ + "shape":"UserContext", + "documentation":"

    Who last modified the component.

    " + } + }, + "documentation":"

    A summary of the properties of a trial component. To get all the properties, call the DescribeTrialComponent API and provide the TrialComponentName.

    " + }, + "TrialSource":{ + "type":"structure", + "required":["SourceArn"], + "members":{ + "SourceArn":{ + "shape":"TrialSourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the source.

    " + }, + "SourceType":{ + "shape":"SourceType", + "documentation":"

    The source job type.

    " + } + }, + "documentation":"

    The source of the trial.

    " + }, + "TrialSourceArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:.*" + }, + "TrialSummaries":{ + "type":"list", + "member":{"shape":"TrialSummary"} + }, + "TrialSummary":{ + "type":"structure", + "members":{ + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + }, + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial as displayed. If DisplayName isn't specified, TrialName is displayed.

    " + }, + "TrialSource":{"shape":"TrialSource"}, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When the trial was created.

    " + }, + "LastModifiedTime":{ + "shape":"Timestamp", + "documentation":"

    When the trial was last modified.

    " + } + }, + "documentation":"

    A summary of the properties of a trial. To get the complete set of properties, call the DescribeTrial API and provide the TrialName.

    " + }, + "TuningJobCompletionCriteria":{ + "type":"structure", + "required":["TargetObjectiveMetricValue"], + "members":{ + "TargetObjectiveMetricValue":{ + "shape":"TargetObjectiveMetricValue", + "documentation":"

    The objective metric's value.

    " + } + }, + "documentation":"

    The job completion criteria.

    " + }, + "USD":{ + "type":"structure", + "members":{ + "Dollars":{ + "shape":"Dollars", + "documentation":"

    The whole number of dollars in the amount.

    " + }, + "Cents":{ + "shape":"Cents", + "documentation":"

    The fractional portion, in cents, of the amount.

    " + }, + "TenthFractionsOfACent":{ + "shape":"TenthFractionsOfACent", + "documentation":"

    Fractions of a cent, in tenths.

    " + } + }, + "documentation":"

    Represents an amount of money in United States dollars/

    " + }, + "UiConfig":{ + "type":"structure", + "members":{ + "UiTemplateS3Uri":{ + "shape":"S3Uri", + "documentation":"

    The Amazon S3 bucket location of the UI template. For more information about the contents of a UI template, see Creating Your Custom Labeling Task Template.

    " + } + }, + "documentation":"

    Provided configuration information for the worker UI for a labeling job.

    " + }, + "UiTemplate":{ + "type":"structure", + "required":["Content"], + "members":{ + "Content":{ + "shape":"TemplateContent", + "documentation":"

    The content of the Liquid template for the worker user interface.

    " + } + }, + "documentation":"

    The Liquid template for the worker user interface.

    " + }, + "UiTemplateInfo":{ + "type":"structure", + "members":{ + "Url":{ + "shape":"TemplateUrl", + "documentation":"

    The URL for the user interface template.

    " + }, + "ContentSha256":{ + "shape":"TemplateContentSha256", + "documentation":"

    The SHA-256 digest of the contents of the template.

    " + } + }, + "documentation":"

    Container for user interface template information.

    " + }, + "UpdateCodeRepositoryInput":{ + "type":"structure", + "required":["CodeRepositoryName"], + "members":{ + "CodeRepositoryName":{ + "shape":"EntityName", + "documentation":"

    The name of the Git repository to update.

    " + }, + "GitConfig":{ + "shape":"GitConfigForUpdate", + "documentation":"

    The configuration of the git repository, including the URL and the Amazon Resource Name (ARN) of the AWS Secrets Manager secret that contains the credentials used to access the repository. The secret must have a staging label of AWSCURRENT and must be in the following format:

    {\"username\": UserName, \"password\": Password}

    " + } + } + }, + "UpdateCodeRepositoryOutput":{ + "type":"structure", + "required":["CodeRepositoryArn"], + "members":{ + "CodeRepositoryArn":{ + "shape":"CodeRepositoryArn", + "documentation":"

    The ARN of the Git repository.

    " + } + } + }, + "UpdateDomainRequest":{ + "type":"structure", + "required":["DomainId"], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "DefaultUserSettings":{ + "shape":"UserSettings", + "documentation":"

    A collection of settings.

    " + } + } + }, + "UpdateDomainResponse":{ + "type":"structure", + "members":{ + "DomainArn":{ + "shape":"DomainArn", + "documentation":"

    The domain Amazon Resource Name (ARN).

    " + } + } + }, + "UpdateEndpointInput":{ + "type":"structure", + "required":[ + "EndpointName", + "EndpointConfigName" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint whose configuration you want to update.

    " + }, + "EndpointConfigName":{ + "shape":"EndpointConfigName", + "documentation":"

    The name of the new endpoint configuration.

    " + }, + "RetainAllVariantProperties":{ + "shape":"Boolean", + "documentation":"

    When updating endpoint resources, enables or disables the retention of variant properties, such as the instance count or the variant weight. To retain the variant properties of an endpoint when updating it, set RetainAllVariantProperties to true. To use the variant properties specified in a new EndpointConfig call when updating an endpoint, set RetainAllVariantProperties to false.

    " + }, + "ExcludeRetainedVariantProperties":{ + "shape":"VariantPropertyList", + "documentation":"

    When you are updating endpoint resources with UpdateEndpointInput$RetainAllVariantProperties, whose value is set to true, ExcludeRetainedVariantProperties specifies the list of type VariantProperty to override with the values provided by EndpointConfig. If you don't specify a value for ExcludeAllVariantProperties, no variant properties are overridden.

    " + } + } + }, + "UpdateEndpointOutput":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"EndpointArn", + "documentation":"

    The Amazon Resource Name (ARN) of the endpoint.

    " + } + } + }, + "UpdateEndpointWeightsAndCapacitiesInput":{ + "type":"structure", + "required":[ + "EndpointName", + "DesiredWeightsAndCapacities" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of an existing Amazon SageMaker endpoint.

    " + }, + "DesiredWeightsAndCapacities":{ + "shape":"DesiredWeightAndCapacityList", + "documentation":"

    An object that provides new capacity and weight values for a variant.

    " + } + } + }, + "UpdateEndpointWeightsAndCapacitiesOutput":{ + "type":"structure", + "required":["EndpointArn"], + "members":{ + "EndpointArn":{ + "shape":"EndpointArn", + "documentation":"

    The Amazon Resource Name (ARN) of the updated endpoint.

    " + } + } + }, + "UpdateExperimentRequest":{ + "type":"structure", + "required":["ExperimentName"], + "members":{ + "ExperimentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment to update.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the experiment as displayed. The name doesn't need to be unique. If DisplayName isn't specified, ExperimentName is displayed.

    " + }, + "Description":{ + "shape":"ExperimentDescription", + "documentation":"

    The description of the experiment.

    " + } + } + }, + "UpdateExperimentResponse":{ + "type":"structure", + "members":{ + "ExperimentArn":{ + "shape":"ExperimentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the experiment.

    " + } + } + }, + "UpdateMonitoringScheduleRequest":{ + "type":"structure", + "required":[ + "MonitoringScheduleName", + "MonitoringScheduleConfig" + ], + "members":{ + "MonitoringScheduleName":{ + "shape":"MonitoringScheduleName", + "documentation":"

    The name of the monitoring schedule. The name must be unique within an AWS Region within an AWS account.

    " + }, + "MonitoringScheduleConfig":{ + "shape":"MonitoringScheduleConfig", + "documentation":"

    The configuration object that specifies the monitoring schedule and defines the monitoring job.

    " + } + } + }, + "UpdateMonitoringScheduleResponse":{ + "type":"structure", + "required":["MonitoringScheduleArn"], + "members":{ + "MonitoringScheduleArn":{ + "shape":"MonitoringScheduleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the monitoring schedule.

    " + } + } + }, + "UpdateNotebookInstanceInput":{ + "type":"structure", + "required":["NotebookInstanceName"], + "members":{ + "NotebookInstanceName":{ + "shape":"NotebookInstanceName", + "documentation":"

    The name of the notebook instance to update.

    " + }, + "InstanceType":{ + "shape":"InstanceType", + "documentation":"

    The Amazon ML compute instance type.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access the notebook instance. For more information, see Amazon SageMaker Roles.

    To be able to pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission.

    " + }, + "LifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of a lifecycle configuration to associate with the notebook instance. For information about lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

    " + }, + "DisassociateLifecycleConfig":{ + "shape":"DisassociateNotebookInstanceLifecycleConfig", + "documentation":"

    Set to true to remove the notebook instance lifecycle configuration currently associated with the notebook instance. This operation is idempotent. If you specify a lifecycle configuration that is not associated with the notebook instance when you call this method, it does not throw an error.

    " + }, + "VolumeSizeInGB":{ + "shape":"NotebookInstanceVolumeSizeInGB", + "documentation":"

    The size, in GB, of the ML storage volume to attach to the notebook instance. The default value is 5 GB. ML storage volumes are encrypted, so Amazon SageMaker can't determine the amount of available free space on the volume. Because of this, you can increase the volume size when you update a notebook instance, but you can't decrease the volume size. If you want to decrease the size of the ML storage volume in use, create a new notebook instance with the desired size.

    " + }, + "DefaultCodeRepository":{ + "shape":"CodeRepositoryNameOrUrl", + "documentation":"

    The Git repository to associate with the notebook instance as its default code repository. This can be either the name of a Git repository stored as a resource in your account, or the URL of a Git repository in AWS CodeCommit or in any other Git repository. When you open a notebook instance, it opens in the directory that contains this repository. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "AdditionalCodeRepositories":{ + "shape":"AdditionalCodeRepositoryNamesOrUrls", + "documentation":"

    An array of up to three Git repositories to associate with the notebook instance. These can be either the names of Git repositories stored as resources in your account, or the URL of Git repositories in AWS CodeCommit or in any other Git repository. These repositories are cloned at the same level as the default repository of your notebook instance. For more information, see Associating Git Repositories with Amazon SageMaker Notebook Instances.

    " + }, + "AcceleratorTypes":{ + "shape":"NotebookInstanceAcceleratorTypes", + "documentation":"

    A list of the Elastic Inference (EI) instance types to associate with this notebook instance. Currently only one EI instance type can be associated with a notebook instance. For more information, see Using Elastic Inference in Amazon SageMaker.

    " + }, + "DisassociateAcceleratorTypes":{ + "shape":"DisassociateNotebookInstanceAcceleratorTypes", + "documentation":"

    A list of the Elastic Inference (EI) instance types to remove from this notebook instance. This operation is idempotent. If you specify an accelerator type that is not associated with the notebook instance when you call this method, it does not throw an error.

    " + }, + "DisassociateDefaultCodeRepository":{ + "shape":"DisassociateDefaultCodeRepository", + "documentation":"

    The name or URL of the default Git repository to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.

    " + }, + "DisassociateAdditionalCodeRepositories":{ + "shape":"DisassociateAdditionalCodeRepositories", + "documentation":"

    A list of names or URLs of the default Git repositories to remove from this notebook instance. This operation is idempotent. If you specify a Git repository that is not associated with the notebook instance when you call this method, it does not throw an error.

    " + }, + "RootAccess":{ + "shape":"RootAccess", + "documentation":"

    Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled.

    If you set this to Disabled, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.

    " + } + } + }, + "UpdateNotebookInstanceLifecycleConfigInput":{ + "type":"structure", + "required":["NotebookInstanceLifecycleConfigName"], + "members":{ + "NotebookInstanceLifecycleConfigName":{ + "shape":"NotebookInstanceLifecycleConfigName", + "documentation":"

    The name of the lifecycle configuration.

    " + }, + "OnCreate":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    The shell script that runs only once, when you create a notebook instance. The shell script must be a base64-encoded string.

    " + }, + "OnStart":{ + "shape":"NotebookInstanceLifecycleConfigList", + "documentation":"

    The shell script that runs every time you start a notebook instance, including when you create the notebook instance. The shell script must be a base64-encoded string.

    " + } + } + }, + "UpdateNotebookInstanceLifecycleConfigOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateNotebookInstanceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateTrialComponentRequest":{ + "type":"structure", + "required":["TrialComponentName"], + "members":{ + "TrialComponentName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component to update.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the component as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialComponentName is displayed.

    " + }, + "Status":{ + "shape":"TrialComponentStatus", + "documentation":"

    The new status of the component.

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    When the component started.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    When the component ended.

    " + }, + "Parameters":{ + "shape":"TrialComponentParameters", + "documentation":"

    Replaces all of the component's hyperparameters with the specified hyperparameters.

    " + }, + "ParametersToRemove":{ + "shape":"ListTrialComponentKey256", + "documentation":"

    The hyperparameters to remove from the component.

    " + }, + "InputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    Replaces all of the component's input artifacts with the specified artifacts.

    " + }, + "InputArtifactsToRemove":{ + "shape":"ListTrialComponentKey256", + "documentation":"

    The input artifacts to remove from the component.

    " + }, + "OutputArtifacts":{ + "shape":"TrialComponentArtifacts", + "documentation":"

    Replaces all of the component's output artifacts with the specified artifacts.

    " + }, + "OutputArtifactsToRemove":{ + "shape":"ListTrialComponentKey256", + "documentation":"

    The output artifacts to remove from the component.

    " + } + } + }, + "UpdateTrialComponentResponse":{ + "type":"structure", + "members":{ + "TrialComponentArn":{ + "shape":"TrialComponentArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial component.

    " + } + } + }, + "UpdateTrialRequest":{ + "type":"structure", + "required":["TrialName"], + "members":{ + "TrialName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial to update.

    " + }, + "DisplayName":{ + "shape":"ExperimentEntityName", + "documentation":"

    The name of the trial as displayed. The name doesn't need to be unique. If DisplayName isn't specified, TrialName is displayed.

    " + } + } + }, + "UpdateTrialResponse":{ + "type":"structure", + "members":{ + "TrialArn":{ + "shape":"TrialArn", + "documentation":"

    The Amazon Resource Name (ARN) of the trial.

    " + } + } + }, + "UpdateUserProfileRequest":{ + "type":"structure", + "required":[ + "DomainId", + "UserProfileName" + ], + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "UserSettings":{ + "shape":"UserSettings", + "documentation":"

    A collection of settings.

    " + } + } + }, + "UpdateUserProfileResponse":{ + "type":"structure", + "members":{ + "UserProfileArn":{ + "shape":"UserProfileArn", + "documentation":"

    The user profile Amazon Resource Name (ARN).

    " + } + } + }, + "UpdateWorkforceRequest":{ + "type":"structure", + "required":["WorkforceName"], + "members":{ + "WorkforceName":{ + "shape":"WorkforceName", + "documentation":"

    The name of the private workforce whose access you want to restrict. WorkforceName is automatically set to default when a workforce is created and cannot be modified.

    " + }, + "SourceIpConfig":{ + "shape":"SourceIpConfig", + "documentation":"

    A list of one to four worker IP address ranges (CIDRs) that can be used to access tasks assigned to this workforce.

    Maximum: Four CIDR values

    " + } + } + }, + "UpdateWorkforceResponse":{ + "type":"structure", + "required":["Workforce"], + "members":{ + "Workforce":{ + "shape":"Workforce", + "documentation":"

    A single private workforce, which is automatically created when you create your first private work team. You can create one private work force in each AWS Region. By default, any workforce-related API operation used in a specific region will apply to the workforce created in that region. To learn how to create a private workforce, see Create a Private Workforce.

    " + } + } + }, + "UpdateWorkteamRequest":{ + "type":"structure", + "required":["WorkteamName"], + "members":{ + "WorkteamName":{ + "shape":"WorkteamName", + "documentation":"

    The name of the work team to update.

    " + }, + "MemberDefinitions":{ + "shape":"MemberDefinitions", + "documentation":"

    A list of MemberDefinition objects that contain the updated work team members.

    " + }, + "Description":{ + "shape":"String200", + "documentation":"

    An updated description for the work team.

    " + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

    Configures SNS topic notifications for available or expiring work items

    " + } + } + }, + "UpdateWorkteamResponse":{ + "type":"structure", + "required":["Workteam"], + "members":{ + "Workteam":{ + "shape":"Workteam", + "documentation":"

    A Workteam object that describes the updated work team.

    " + } + } + }, + "Url":{ + "type":"string", + "max":1024, + "pattern":"^(https|s3)://([^/]+)/?(.*)$" + }, + "UserContext":{ + "type":"structure", + "members":{ + "UserProfileArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the user's profile.

    " + }, + "UserProfileName":{ + "shape":"String", + "documentation":"

    The name of the user's profile.

    " + }, + "DomainId":{ + "shape":"String", + "documentation":"

    The domain associated with the user.

    " + } + }, + "documentation":"

    Information about the user who created or modified an experiment, trial, or trial component.

    " + }, + "UserProfileArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*" + }, + "UserProfileDetails":{ + "type":"structure", + "members":{ + "DomainId":{ + "shape":"DomainId", + "documentation":"

    The domain ID.

    " + }, + "UserProfileName":{ + "shape":"UserProfileName", + "documentation":"

    The user profile name.

    " + }, + "Status":{ + "shape":"UserProfileStatus", + "documentation":"

    The status.

    " + }, + "CreationTime":{ + "shape":"CreationTime", + "documentation":"

    The creation time.

    " + }, + "LastModifiedTime":{ + "shape":"LastModifiedTime", + "documentation":"

    The last modified time.

    " + } + }, + "documentation":"

    The user profile details.

    " + }, + "UserProfileList":{ + "type":"list", + "member":{"shape":"UserProfileDetails"} + }, + "UserProfileName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "UserProfileSortKey":{ + "type":"string", + "enum":[ + "CreationTime", + "LastModifiedTime" + ] + }, + "UserProfileStatus":{ + "type":"string", + "enum":[ + "Deleting", + "Failed", + "InService", + "Pending" + ] + }, + "UserSettings":{ + "type":"structure", + "members":{ + "ExecutionRole":{ + "shape":"RoleArn", + "documentation":"

    The execution role for the user.

    " + }, + "SecurityGroups":{ + "shape":"SecurityGroupIds", + "documentation":"

    The security groups.

    " + }, + "SharingSettings":{ + "shape":"SharingSettings", + "documentation":"

    The sharing settings.

    " + }, + "JupyterServerAppSettings":{ + "shape":"JupyterServerAppSettings", + "documentation":"

    The Jupyter server's app settings.

    " + }, + "KernelGatewayAppSettings":{ + "shape":"KernelGatewayAppSettings", + "documentation":"

    The kernel gateway app settings.

    " + }, + "TensorBoardAppSettings":{ + "shape":"TensorBoardAppSettings", + "documentation":"

    The TensorBoard app settings.

    " + } + }, + "documentation":"

    A collection of settings.

    " + }, + "VariantName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "VariantProperty":{ + "type":"structure", + "required":["VariantPropertyType"], + "members":{ + "VariantPropertyType":{ + "shape":"VariantPropertyType", + "documentation":"

    The type of variant property. The supported values are:

    " + } + }, + "documentation":"

    Specifies a production variant property type for an Endpoint.

    If you are updating an endpoint with the UpdateEndpointInput$RetainAllVariantProperties option set to true, the VariantProperty objects listed in UpdateEndpointInput$ExcludeRetainedVariantProperties override the existing variant properties of the endpoint.

    " + }, + "VariantPropertyList":{ + "type":"list", + "member":{"shape":"VariantProperty"}, + "max":3, + "min":0 + }, + "VariantPropertyType":{ + "type":"string", + "enum":[ + "DesiredInstanceCount", + "DesiredWeight", + "DataCaptureConfig" + ] + }, + "VariantWeight":{ + "type":"float", + "min":0 + }, + "VolumeSizeInGB":{ + "type":"integer", + "min":1 + }, + "VpcConfig":{ + "type":"structure", + "required":[ + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "SecurityGroupIds":{ + "shape":"VpcSecurityGroupIds", + "documentation":"

    The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

    " + }, + "Subnets":{ + "shape":"Subnets", + "documentation":"

    The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.

    " + } + }, + "documentation":"

    Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs by Using an Amazon Virtual Private Cloud.

    " + }, + "VpcId":{ + "type":"string", + "max":32, + "pattern":"[-0-9a-zA-Z]+" + }, + "VpcSecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "Workforce":{ + "type":"structure", + "required":[ + "WorkforceName", + "WorkforceArn" + ], + "members":{ + "WorkforceName":{ + "shape":"WorkforceName", + "documentation":"

    The name of the private workforce whose access you want to restrict. WorkforceName is automatically set to default when a workforce is created and cannot be modified.

    " + }, + "WorkforceArn":{ + "shape":"WorkforceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the private workforce.

    " + }, + "LastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

    The most recent date that was used to successfully add one or more IP address ranges (CIDRs) to a private workforce's allow list.

    " + }, + "SourceIpConfig":{ + "shape":"SourceIpConfig", + "documentation":"

    A list of one to four IP address ranges (CIDRs) to be added to the workforce allow list.

    " + } + }, + "documentation":"

    A single private workforce, which is automatically created when you create your first private work team. You can create one private work force in each AWS Region. By default, any workforce-related API operation used in a specific region will apply to the workforce created in that region. To learn how to create a private workforce, see Create a Private Workforce.

    " + }, + "WorkforceArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:workforce/.*" + }, + "WorkforceName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9]([a-zA-Z0-9\\-])*$" + }, + "Workteam":{ + "type":"structure", + "required":[ + "WorkteamName", + "MemberDefinitions", + "WorkteamArn", + "Description" + ], + "members":{ + "WorkteamName":{ + "shape":"WorkteamName", + "documentation":"

    The name of the work team.

    " + }, + "MemberDefinitions":{ + "shape":"MemberDefinitions", + "documentation":"

    The Amazon Cognito user groups that make up the work team.

    " + }, + "WorkteamArn":{ + "shape":"WorkteamArn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the work team.

    " + }, + "ProductListingIds":{ + "shape":"ProductListings", + "documentation":"

    The Amazon Marketplace identifier for a vendor's work team.

    " + }, + "Description":{ + "shape":"String200", + "documentation":"

    A description of the work team.

    " + }, + "SubDomain":{ + "shape":"String", + "documentation":"

    The URI of the labeling job's user interface. Workers open this URI to start labeling your data objects.

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the work team was created (timestamp).

    " + }, + "LastUpdatedDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the work team was last updated (timestamp).

    " + }, + "NotificationConfiguration":{ + "shape":"NotificationConfiguration", + "documentation":"

    Configures SNS notifications of available or expiring work items for work teams.

    " + } + }, + "documentation":"

    Provides details about a labeling work team.

    " + }, + "WorkteamArn":{ + "type":"string", + "max":256, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:workteam/.*" + }, + "WorkteamName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "Workteams":{ + "type":"list", + "member":{"shape":"Workteam"} + } + }, + "documentation":"

    Provides APIs for creating and managing Amazon SageMaker resources.

    Other Resources:

    " +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/waiters-2.json python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/waiters-2.json --- python-botocore-1.4.70/botocore/data/sagemaker/2017-07-24/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker/2017-07-24/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,193 @@ +{ + "version": 2, + "waiters": { + "NotebookInstanceInService": { + "delay": 30, + "maxAttempts": 60, + "operation": "DescribeNotebookInstance", + "acceptors": [ + { + "expected": "InService", + "matcher": "path", + "state": "success", + "argument": "NotebookInstanceStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "NotebookInstanceStatus" + } + ] + }, + "NotebookInstanceStopped": { + "delay": 30, + "operation": "DescribeNotebookInstance", + "maxAttempts": 60, + "acceptors": [ + { + "expected": "Stopped", + "matcher": "path", + "state": "success", + "argument": "NotebookInstanceStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "NotebookInstanceStatus" + } + ] + }, + "NotebookInstanceDeleted": { + "delay": 30, + "maxAttempts": 60, + "operation": "DescribeNotebookInstance", + "acceptors": [ + { + "expected": "ValidationException", + "matcher": "error", + "state": "success" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "NotebookInstanceStatus" + } + ] + }, + "TrainingJobCompletedOrStopped": { + "delay": 120, + "maxAttempts": 180, + "operation": "DescribeTrainingJob", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "TrainingJobStatus" + }, + { + "expected": "Stopped", + "matcher": "path", + "state": "success", + "argument": "TrainingJobStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "TrainingJobStatus" + }, + { + "expected": "ValidationException", + "matcher": "error", + "state": "failure" + } + ] + }, + "EndpointInService": { + "delay": 30, + "maxAttempts": 120, + "operation": "DescribeEndpoint", + "acceptors": [ + { + "expected": "InService", + "matcher": "path", + "state": "success", + "argument": "EndpointStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "EndpointStatus" + }, + { + "expected": "ValidationException", + "matcher": "error", + "state": "failure" + } + ] + }, + "EndpointDeleted": { + "delay": 30, + "maxAttempts": 60, + "operation": "DescribeEndpoint", + "acceptors": [ + { + "expected": "ValidationException", + "matcher": "error", + "state": "success" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "EndpointStatus" + } + ] + }, + "TransformJobCompletedOrStopped": { + "delay": 60, + "maxAttempts": 60, + "operation": "DescribeTransformJob", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "TransformJobStatus" + }, + { + "expected": "Stopped", + "matcher": "path", + "state": "success", + "argument": "TransformJobStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "TransformJobStatus" + }, + { + "expected": "ValidationException", + "matcher": "error", + "state": "failure" + } + ] + }, + "ProcessingJobCompletedOrStopped": { + "delay": 60, + "maxAttempts": 60, + "operation": "DescribeProcessingJob", + "acceptors": [ + { + "expected": "Completed", + "matcher": "path", + "state": "success", + "argument": "ProcessingJobStatus" + }, + { + "expected": "Stopped", + "matcher": "path", + "state": "success", + "argument": "ProcessingJobStatus" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "ProcessingJobStatus" + }, + { + "expected": "ValidationException", + "matcher": "error", + "state": "failure" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker-a2i-runtime/2019-11-07/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sagemaker-a2i-runtime/2019-11-07/paginators-1.json --- python-botocore-1.4.70/botocore/data/sagemaker-a2i-runtime/2019-11-07/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker-a2i-runtime/2019-11-07/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListHumanLoops": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "HumanLoopSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker-a2i-runtime/2019-11-07/service-2.json python-botocore-1.16.19+repack/botocore/data/sagemaker-a2i-runtime/2019-11-07/service-2.json --- python-botocore-1.4.70/botocore/data/sagemaker-a2i-runtime/2019-11-07/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker-a2i-runtime/2019-11-07/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,462 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-11-07", + "endpointPrefix":"a2i-runtime.sagemaker", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon Augmented AI Runtime", + "serviceId":"SageMaker A2I Runtime", + "signatureVersion":"v4", + "signingName":"sagemaker", + "uid":"sagemaker-a2i-runtime-2019-11-07" + }, + "operations":{ + "DeleteHumanLoop":{ + "name":"DeleteHumanLoop", + "http":{ + "method":"DELETE", + "requestUri":"/human-loops/{HumanLoopName}" + }, + "input":{"shape":"DeleteHumanLoopRequest"}, + "output":{"shape":"DeleteHumanLoopResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Deletes the specified human loop for a flow definition.

    " + }, + "DescribeHumanLoop":{ + "name":"DescribeHumanLoop", + "http":{ + "method":"GET", + "requestUri":"/human-loops/{HumanLoopName}" + }, + "input":{"shape":"DescribeHumanLoopRequest"}, + "output":{"shape":"DescribeHumanLoopResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns information about the specified human loop.

    " + }, + "ListHumanLoops":{ + "name":"ListHumanLoops", + "http":{ + "method":"GET", + "requestUri":"/human-loops" + }, + "input":{"shape":"ListHumanLoopsRequest"}, + "output":{"shape":"ListHumanLoopsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Returns information about human loops, given the specified parameters. If a human loop was deleted, it will not be included.

    " + }, + "StartHumanLoop":{ + "name":"StartHumanLoop", + "http":{ + "method":"POST", + "requestUri":"/human-loops" + }, + "input":{"shape":"StartHumanLoopRequest"}, + "output":{"shape":"StartHumanLoopResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Starts a human loop, provided that at least one activation condition is met.

    " + }, + "StopHumanLoop":{ + "name":"StopHumanLoop", + "http":{ + "method":"POST", + "requestUri":"/human-loops/stop" + }, + "input":{"shape":"StopHumanLoopRequest"}, + "output":{"shape":"StopHumanLoopResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Stops the specified human loop.

    " + } + }, + "shapes":{ + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    Your request has the same name as another active human loop but has different input data. You cannot start two human loops with the same name and different input data.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContentClassifier":{ + "type":"string", + "enum":[ + "FreeOfPersonallyIdentifiableInformation", + "FreeOfAdultContent" + ] + }, + "ContentClassifiers":{ + "type":"list", + "member":{"shape":"ContentClassifier"}, + "max":256 + }, + "DeleteHumanLoopRequest":{ + "type":"structure", + "required":["HumanLoopName"], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop that you want to delete.

    ", + "location":"uri", + "locationName":"HumanLoopName" + } + } + }, + "DeleteHumanLoopResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeHumanLoopRequest":{ + "type":"structure", + "required":["HumanLoopName"], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop that you want information about.

    ", + "location":"uri", + "locationName":"HumanLoopName" + } + } + }, + "DescribeHumanLoopResponse":{ + "type":"structure", + "required":[ + "CreationTime", + "HumanLoopStatus", + "HumanLoopName", + "HumanLoopArn", + "FlowDefinitionArn" + ], + "members":{ + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    The creation time when Amazon Augmented AI created the human loop.

    " + }, + "FailureReason":{ + "shape":"String", + "documentation":"

    The reason why a human loop failed. The failure reason is returned when the status of the human loop is Failed.

    " + }, + "FailureCode":{ + "shape":"String", + "documentation":"

    A failure code that identifies the type of failure.

    " + }, + "HumanLoopStatus":{ + "shape":"HumanLoopStatus", + "documentation":"

    The status of the human loop.

    " + }, + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop. The name must be lowercase, unique within the Region in your account, and can have up to 63 characters. Valid characters: a-z, 0-9, and - (hyphen).

    " + }, + "HumanLoopArn":{ + "shape":"HumanLoopArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human loop.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition.

    " + }, + "HumanLoopOutput":{ + "shape":"HumanLoopOutput", + "documentation":"

    An object that contains information about the output of the human loop.

    " + } + } + }, + "FailureReason":{ + "type":"string", + "max":1024 + }, + "FlowDefinitionArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:flow-definition/.*" + }, + "HumanLoopArn":{ + "type":"string", + "max":1024, + "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:human-loop/.*" + }, + "HumanLoopDataAttributes":{ + "type":"structure", + "required":["ContentClassifiers"], + "members":{ + "ContentClassifiers":{ + "shape":"ContentClassifiers", + "documentation":"

    Declares that your content is free of personally identifiable information or adult content.

    Amazon SageMaker can restrict the Amazon Mechanical Turk workers who can view your task based on this information.

    " + } + }, + "documentation":"

    Attributes of the data specified by the customer. Use these to describe the data to be labeled.

    " + }, + "HumanLoopInput":{ + "type":"structure", + "required":["InputContent"], + "members":{ + "InputContent":{ + "shape":"InputContent", + "documentation":"

    Serialized input from the human loop. The input must be a string representation of a file in JSON format.

    " + } + }, + "documentation":"

    An object containing the human loop input in JSON format.

    " + }, + "HumanLoopName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*$" + }, + "HumanLoopOutput":{ + "type":"structure", + "required":["OutputS3Uri"], + "members":{ + "OutputS3Uri":{ + "shape":"String", + "documentation":"

    The location of the Amazon S3 object where Amazon Augmented AI stores your human loop output.

    " + } + }, + "documentation":"

    Information about where the human output will be stored.

    " + }, + "HumanLoopStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Failed", + "Completed", + "Stopped", + "Stopping" + ] + }, + "HumanLoopSummaries":{ + "type":"list", + "member":{"shape":"HumanLoopSummary"} + }, + "HumanLoopSummary":{ + "type":"structure", + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop.

    " + }, + "HumanLoopStatus":{ + "shape":"HumanLoopStatus", + "documentation":"

    The status of the human loop.

    " + }, + "CreationTime":{ + "shape":"Timestamp", + "documentation":"

    When Amazon Augmented AI created the human loop.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    The reason why the human loop failed. A failure reason is returned when the status of the human loop is Failed.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition used to configure the human loop.

    " + } + }, + "documentation":"

    Summary information about the human loop.

    " + }, + "InputContent":{ + "type":"string", + "max":3145728 + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    We couldn't process your request because of an issue with the server. Try again later.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ListHumanLoopsRequest":{ + "type":"structure", + "required":["FlowDefinitionArn"], + "members":{ + "CreationTimeAfter":{ + "shape":"Timestamp", + "documentation":"

    (Optional) The timestamp of the date when you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.

    ", + "location":"querystring", + "locationName":"CreationTimeAfter" + }, + "CreationTimeBefore":{ + "shape":"Timestamp", + "documentation":"

    (Optional) The timestamp of the date before which you want the human loops to begin in ISO 8601 format. For example, 2020-02-24.

    ", + "location":"querystring", + "locationName":"CreationTimeBefore" + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of a flow definition.

    ", + "location":"querystring", + "locationName":"FlowDefinitionArn" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    Optional. The order for displaying results. Valid values: Ascending and Descending.

    ", + "location":"querystring", + "locationName":"SortOrder" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to display the next page of results.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The total number of items to return. If the total number of available items is more than the value specified in MaxResults, then a NextToken is returned in the output. You can use this token to display the next page of results.

    ", + "box":true, + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListHumanLoopsResponse":{ + "type":"structure", + "required":["HumanLoopSummaries"], + "members":{ + "HumanLoopSummaries":{ + "shape":"HumanLoopSummaries", + "documentation":"

    An array of objects that contain information about the human loops.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to display the next page of results.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":8192, + "pattern":".*" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    We couldn't find the requested resource.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    You exceeded your service quota. Delete some resources or request an increase in your service quota.

    ", + "error":{"httpStatusCode":402}, + "exception":true + }, + "SortOrder":{ + "type":"string", + "enum":[ + "Ascending", + "Descending" + ] + }, + "StartHumanLoopRequest":{ + "type":"structure", + "required":[ + "HumanLoopName", + "FlowDefinitionArn", + "HumanLoopInput" + ], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition associated with this human loop.

    " + }, + "HumanLoopInput":{ + "shape":"HumanLoopInput", + "documentation":"

    An object that contains information about the human loop.

    " + }, + "DataAttributes":{ + "shape":"HumanLoopDataAttributes", + "documentation":"

    Attributes of the specified data. Use DataAttributes to specify if your data is free of personally identifiable information and/or free of adult content.

    " + } + } + }, + "StartHumanLoopResponse":{ + "type":"structure", + "members":{ + "HumanLoopArn":{ + "shape":"HumanLoopArn", + "documentation":"

    The Amazon Resource Name (ARN) of the human loop.

    " + } + } + }, + "StopHumanLoopRequest":{ + "type":"structure", + "required":["HumanLoopName"], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human loop that you want to stop.

    " + } + } + }, + "StopHumanLoopResponse":{ + "type":"structure", + "members":{ + } + }, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    You exceeded the maximum number of requests.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    The request isn't valid. Check the syntax and try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

    Amazon Augmented AI is in preview release and is subject to change. We do not recommend using this product in production environments.

    Amazon Augmented AI (Amazon A2I) adds the benefit of human judgment to any machine learning application. When an AI application can't evaluate data with a high degree of confidence, human reviewers can take over. This human review is called a human review workflow. To create and start a human review workflow, you need three resources: a worker task template, a flow definition, and a human loop.

    For information about these resources and prerequisites for using Amazon A2I, see Get Started with Amazon Augmented AI in the Amazon SageMaker Developer Guide.

    This API reference includes information about API actions and data types that you can use to interact with Amazon A2I programmatically. Use this guide to:

    • Start a human loop with the StartHumanLoop operation when using Amazon A2I with a custom task type. To learn more about the difference between custom and built-in task types, see Use Task Types . To learn how to start a human loop using this API, see Create and Start a Human Loop for a Custom Task Type in the Amazon SageMaker Developer Guide.

    • Manage your human loops. You can list all human loops that you have created, describe individual human loops, and stop and delete human loops. To learn more, see Monitor and Manage Your Human Loop in the Amazon SageMaker Developer Guide.

    Amazon A2I integrates APIs from various AWS services to create and start human review workflows for those services. To learn how Amazon A2I uses these APIs, see Use APIs in Amazon A2I in the Amazon SageMaker Developer Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/examples-1.json python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/examples-1.json --- python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json --- python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/service-2.json python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/service-2.json --- python-botocore-1.4.70/botocore/data/sagemaker-runtime/2017-05-13/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sagemaker-runtime/2017-05-13/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,194 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-05-13", + "endpointPrefix":"runtime.sagemaker", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon SageMaker Runtime", + "serviceId":"SageMaker Runtime", + "signatureVersion":"v4", + "signingName":"sagemaker", + "uid":"runtime.sagemaker-2017-05-13" + }, + "operations":{ + "InvokeEndpoint":{ + "name":"InvokeEndpoint", + "http":{ + "method":"POST", + "requestUri":"/endpoints/{EndpointName}/invocations" + }, + "input":{"shape":"InvokeEndpointInput"}, + "output":{"shape":"InvokeEndpointOutput"}, + "errors":[ + {"shape":"InternalFailure"}, + {"shape":"ServiceUnavailable"}, + {"shape":"ValidationError"}, + {"shape":"ModelError"} + ], + "documentation":"

    After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint.

    For an overview of Amazon SageMaker, see How It Works.

    Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

    Calls to InvokeEndpoint are authenticated by using AWS Signature Version 4. For information, see Authenticating Requests (AWS Signature Version 4) in the Amazon S3 API Reference.

    A customer's model containers must respond to requests within 60 seconds. The model itself can have a maximum processing time of 60 seconds before responding to the /invocations. If your model is going to take 50-60 seconds of processing time, the SDK socket timeout should be set to be 70 seconds.

    Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller.

    " + } + }, + "shapes":{ + "BodyBlob":{ + "type":"blob", + "max":5242880, + "sensitive":true + }, + "CustomAttributesHeader":{ + "type":"string", + "max":1024, + "pattern":"\\p{ASCII}*", + "sensitive":true + }, + "EndpointName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*" + }, + "Header":{ + "type":"string", + "max":1024, + "pattern":"\\p{ASCII}*" + }, + "InternalFailure":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    An internal failure occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "synthetic":true + }, + "InvokeEndpointInput":{ + "type":"structure", + "required":[ + "EndpointName", + "Body" + ], + "members":{ + "EndpointName":{ + "shape":"EndpointName", + "documentation":"

    The name of the endpoint that you specified when you created the endpoint using the CreateEndpoint API.

    ", + "location":"uri", + "locationName":"EndpointName" + }, + "Body":{ + "shape":"BodyBlob", + "documentation":"

    Provides input data, in the format specified in the ContentType request header. Amazon SageMaker passes all of the data in the body to the model.

    For information about the format of the request body, see Common Data Formats—Inference.

    " + }, + "ContentType":{ + "shape":"Header", + "documentation":"

    The MIME type of the input data in the request body.

    ", + "location":"header", + "locationName":"Content-Type" + }, + "Accept":{ + "shape":"Header", + "documentation":"

    The desired MIME type of the inference in the response.

    ", + "location":"header", + "locationName":"Accept" + }, + "CustomAttributes":{ + "shape":"CustomAttributesHeader", + "documentation":"

    Provides additional information about a request for an inference submitted to a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to provide an ID that you can use to track a request or to provide other metadata that a service endpoint was programmed to process. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

    ", + "location":"header", + "locationName":"X-Amzn-SageMaker-Custom-Attributes" + }, + "TargetModel":{ + "shape":"TargetModelHeader", + "documentation":"

    Specifies the model to be requested for an inference when invoking a multi-model endpoint.

    ", + "location":"header", + "locationName":"X-Amzn-SageMaker-Target-Model" + } + }, + "payload":"Body" + }, + "InvokeEndpointOutput":{ + "type":"structure", + "required":["Body"], + "members":{ + "Body":{ + "shape":"BodyBlob", + "documentation":"

    Includes the inference provided by the model.

    For information about the format of the response body, see Common Data Formats—Inference.

    " + }, + "ContentType":{ + "shape":"Header", + "documentation":"

    The MIME type of the inference returned in the response body.

    ", + "location":"header", + "locationName":"Content-Type" + }, + "InvokedProductionVariant":{ + "shape":"Header", + "documentation":"

    Identifies the production variant that was invoked.

    ", + "location":"header", + "locationName":"x-Amzn-Invoked-Production-Variant" + }, + "CustomAttributes":{ + "shape":"CustomAttributesHeader", + "documentation":"

    Provides additional information in the response about the inference returned by a model hosted at an Amazon SageMaker endpoint. The information is an opaque value that is forwarded verbatim. You could use this value, for example, to return an ID received in the CustomAttributes header of a request or other metadata that a service endpoint was programmed to produce. The value must consist of no more than 1024 visible US-ASCII characters as specified in Section 3.3.6. Field Value Components of the Hypertext Transfer Protocol (HTTP/1.1). If the customer wants the custom attribute returned, the model must set the custom attribute to be included on the way back.

    This feature is currently supported in the AWS SDKs but not in the Amazon SageMaker Python SDK.

    ", + "location":"header", + "locationName":"X-Amzn-SageMaker-Custom-Attributes" + } + }, + "payload":"Body" + }, + "LogStreamArn":{"type":"string"}, + "Message":{ + "type":"string", + "max":2048 + }, + "ModelError":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "OriginalStatusCode":{ + "shape":"StatusCode", + "documentation":"

    Original status code.

    " + }, + "OriginalMessage":{ + "shape":"Message", + "documentation":"

    Original message.

    " + }, + "LogStreamArn":{ + "shape":"LogStreamArn", + "documentation":"

    The Amazon Resource Name (ARN) of the log stream.

    " + } + }, + "documentation":"

    Model (owned by the customer in the container) returned 4xx or 5xx error code.

    ", + "error":{"httpStatusCode":424}, + "exception":true + }, + "ServiceUnavailable":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    The service is unavailable. Try your call again.

    ", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true, + "synthetic":true + }, + "StatusCode":{"type":"integer"}, + "TargetModelHeader":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"\\A\\S[\\p{Print}]*\\z" + }, + "ValidationError":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    Inspect your request and try again.

    ", + "error":{"httpStatusCode":400}, + "exception":true, + "synthetic":true + } + }, + "documentation":"

    The Amazon SageMaker runtime API.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/savingsplans/2019-06-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/savingsplans/2019-06-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/savingsplans/2019-06-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/savingsplans/2019-06-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/savingsplans/2019-06-28/service-2.json python-botocore-1.16.19+repack/botocore/data/savingsplans/2019-06-28/service-2.json --- python-botocore-1.4.70/botocore/data/savingsplans/2019-06-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/savingsplans/2019-06-28/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1135 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-06-28", + "endpointPrefix":"savingsplans", + "globalEndpoint":"savingsplans.amazonaws.com", + "jsonVersion":"1.0", + "protocol":"rest-json", + "serviceAbbreviation":"AWSSavingsPlans", + "serviceFullName":"AWS Savings Plans", + "serviceId":"savingsplans", + "signatureVersion":"v4", + "uid":"savingsplans-2019-06-28" + }, + "operations":{ + "CreateSavingsPlan":{ + "name":"CreateSavingsPlan", + "http":{ + "method":"POST", + "requestUri":"/CreateSavingsPlan" + }, + "input":{"shape":"CreateSavingsPlanRequest"}, + "output":{"shape":"CreateSavingsPlanResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"

    Creates a Savings Plan.

    " + }, + "DescribeSavingsPlanRates":{ + "name":"DescribeSavingsPlanRates", + "http":{ + "method":"POST", + "requestUri":"/DescribeSavingsPlanRates" + }, + "input":{"shape":"DescribeSavingsPlanRatesRequest"}, + "output":{"shape":"DescribeSavingsPlanRatesResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Describes the specified Savings Plans rates.

    " + }, + "DescribeSavingsPlans":{ + "name":"DescribeSavingsPlans", + "http":{ + "method":"POST", + "requestUri":"/DescribeSavingsPlans" + }, + "input":{"shape":"DescribeSavingsPlansRequest"}, + "output":{"shape":"DescribeSavingsPlansResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Describes the specified Savings Plans.

    " + }, + "DescribeSavingsPlansOfferingRates":{ + "name":"DescribeSavingsPlansOfferingRates", + "http":{ + "method":"POST", + "requestUri":"/DescribeSavingsPlansOfferingRates" + }, + "input":{"shape":"DescribeSavingsPlansOfferingRatesRequest"}, + "output":{"shape":"DescribeSavingsPlansOfferingRatesResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Describes the specified Savings Plans offering rates.

    " + }, + "DescribeSavingsPlansOfferings":{ + "name":"DescribeSavingsPlansOfferings", + "http":{ + "method":"POST", + "requestUri":"/DescribeSavingsPlansOfferings" + }, + "input":{"shape":"DescribeSavingsPlansOfferingsRequest"}, + "output":{"shape":"DescribeSavingsPlansOfferingsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Describes the specified Savings Plans offerings.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/ListTagsForResource" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Lists the tags for the specified resource.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/TagResource" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Adds the specified tags to the specified resource.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/UntagResource" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Removes the specified tags from the specified resource.

    " + } + }, + "shapes":{ + "Amount":{"type":"string"}, + "ClientToken":{"type":"string"}, + "CreateSavingsPlanRequest":{ + "type":"structure", + "required":[ + "savingsPlanOfferingId", + "commitment" + ], + "members":{ + "savingsPlanOfferingId":{ + "shape":"SavingsPlanOfferingId", + "documentation":"

    The ID of the offering.

    " + }, + "commitment":{ + "shape":"Amount", + "documentation":"

    The hourly commitment, in USD. This is a value between 0.001 and 1 million. You cannot specify more than three digits after the decimal point.

    " + }, + "upfrontPaymentAmount":{ + "shape":"Amount", + "documentation":"

    The up-front payment amount. This is a whole number between 50 and 99 percent of the total value of the Savings Plan. This parameter is supported only if the payment option is Partial Upfront.

    " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

    ", + "idempotencyToken":true + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    One or more tags.

    " + } + } + }, + "CreateSavingsPlanResponse":{ + "type":"structure", + "members":{ + "savingsPlanId":{ + "shape":"SavingsPlanId", + "documentation":"

    The ID of the Savings Plan.

    " + } + } + }, + "CurrencyCode":{ + "type":"string", + "enum":[ + "CNY", + "USD" + ] + }, + "CurrencyList":{ + "type":"list", + "member":{"shape":"CurrencyCode"} + }, + "DescribeSavingsPlanRatesRequest":{ + "type":"structure", + "required":["savingsPlanId"], + "members":{ + "savingsPlanId":{ + "shape":"SavingsPlanId", + "documentation":"

    The ID of the Savings Plan.

    " + }, + "filters":{ + "shape":"SavingsPlanRateFilterList", + "documentation":"

    The filters.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

    " + } + } + }, + "DescribeSavingsPlanRatesResponse":{ + "type":"structure", + "members":{ + "savingsPlanId":{ + "shape":"SavingsPlanId", + "documentation":"

    The ID of the Savings Plan.

    " + }, + "searchResults":{ + "shape":"SavingsPlanRateList", + "documentation":"

    Information about the Savings Plans rates.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "DescribeSavingsPlansOfferingRatesRequest":{ + "type":"structure", + "members":{ + "savingsPlanOfferingIds":{ + "shape":"UUIDs", + "documentation":"

    The IDs of the offerings.

    " + }, + "savingsPlanPaymentOptions":{ + "shape":"SavingsPlanPaymentOptionList", + "documentation":"

    The payment options.

    " + }, + "savingsPlanTypes":{ + "shape":"SavingsPlanTypeList", + "documentation":"

    The plan types.

    " + }, + "products":{ + "shape":"SavingsPlanProductTypeList", + "documentation":"

    The AWS products.

    " + }, + "serviceCodes":{ + "shape":"SavingsPlanRateServiceCodeList", + "documentation":"

    The services.

    " + }, + "usageTypes":{ + "shape":"SavingsPlanRateUsageTypeList", + "documentation":"

    The usage details of the line item in the billing report.

    " + }, + "operations":{ + "shape":"SavingsPlanRateOperationList", + "documentation":"

    The specific AWS operation for the line item in the billing report.

    " + }, + "filters":{ + "shape":"SavingsPlanOfferingRateFiltersList", + "documentation":"

    The filters.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

    " + } + } + }, + "DescribeSavingsPlansOfferingRatesResponse":{ + "type":"structure", + "members":{ + "searchResults":{ + "shape":"SavingsPlanOfferingRatesList", + "documentation":"

    Information about the Savings Plans offering rates.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "DescribeSavingsPlansOfferingsRequest":{ + "type":"structure", + "members":{ + "offeringIds":{ + "shape":"UUIDs", + "documentation":"

    The IDs of the offerings.

    " + }, + "paymentOptions":{ + "shape":"SavingsPlanPaymentOptionList", + "documentation":"

    The payment options.

    " + }, + "productType":{ + "shape":"SavingsPlanProductType", + "documentation":"

    The product type.

    " + }, + "planTypes":{ + "shape":"SavingsPlanTypeList", + "documentation":"

    The plan type.

    " + }, + "durations":{ + "shape":"DurationsList", + "documentation":"

    The durations, in seconds.

    " + }, + "currencies":{ + "shape":"CurrencyList", + "documentation":"

    The currencies.

    " + }, + "descriptions":{ + "shape":"SavingsPlanDescriptionsList", + "documentation":"

    The descriptions.

    " + }, + "serviceCodes":{ + "shape":"SavingsPlanServiceCodeList", + "documentation":"

    The services.

    " + }, + "usageTypes":{ + "shape":"SavingsPlanUsageTypeList", + "documentation":"

    The usage details of the line item in the billing report.

    " + }, + "operations":{ + "shape":"SavingsPlanOperationList", + "documentation":"

    The specific AWS operation for the line item in the billing report.

    " + }, + "filters":{ + "shape":"SavingsPlanOfferingFiltersList", + "documentation":"

    The filters.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

    " + } + } + }, + "DescribeSavingsPlansOfferingsResponse":{ + "type":"structure", + "members":{ + "searchResults":{ + "shape":"SavingsPlanOfferingsList", + "documentation":"

    Information about the Savings Plans offerings.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "DescribeSavingsPlansRequest":{ + "type":"structure", + "members":{ + "savingsPlanArns":{ + "shape":"SavingsPlanArnList", + "documentation":"

    The Amazon Resource Names (ARN) of the Savings Plans.

    " + }, + "savingsPlanIds":{ + "shape":"SavingsPlanIdList", + "documentation":"

    The IDs of the Savings Plans.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token for the next page of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return with a single call. To retrieve additional results, make another call with the returned token value.

    " + }, + "states":{ + "shape":"SavingsPlanStateList", + "documentation":"

    The states.

    " + }, + "filters":{ + "shape":"SavingsPlanFilterList", + "documentation":"

    The filters.

    " + } + } + }, + "DescribeSavingsPlansResponse":{ + "type":"structure", + "members":{ + "savingsPlans":{ + "shape":"SavingsPlanList", + "documentation":"

    Information about the Savings Plans.

    " + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "DurationsList":{ + "type":"list", + "member":{"shape":"SavingsPlansDuration"} + }, + "EC2InstanceFamily":{"type":"string"}, + "FilterValuesList":{ + "type":"list", + "member":{"shape":"JsonSafeFilterValueString"} + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    An unexpected error occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "JsonSafeFilterValueString":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_ \\/.\\:\\-\\(\\)]+$" + }, + "ListOfStrings":{ + "type":"list", + "member":{"shape":"String"} + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"SavingsPlanArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

    Information about the tags.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "PageSize":{ + "type":"integer", + "max":1000, + "min":0 + }, + "PaginationToken":{ + "type":"string", + "max":1024, + "pattern":"^[A-Za-z0-9/=\\+]+$" + }, + "ParentSavingsPlanOffering":{ + "type":"structure", + "members":{ + "offeringId":{ + "shape":"UUID", + "documentation":"

    The ID of the offering.

    " + }, + "paymentOption":{ + "shape":"SavingsPlanPaymentOption", + "documentation":"

    The payment option.

    " + }, + "planType":{ + "shape":"SavingsPlanType", + "documentation":"

    The plan type.

    " + }, + "durationSeconds":{ + "shape":"SavingsPlansDuration", + "documentation":"

    The duration, in seconds.

    " + }, + "currency":{ + "shape":"CurrencyCode", + "documentation":"

    The currency.

    " + }, + "planDescription":{ + "shape":"SavingsPlanDescription", + "documentation":"

    The description.

    " + } + }, + "documentation":"

    Information about a Savings Plan offering.

    " + }, + "Region":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified resource was not found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "SavingsPlan":{ + "type":"structure", + "members":{ + "offeringId":{ + "shape":"SavingsPlanOfferingId", + "documentation":"

    The ID of the offering.

    " + }, + "savingsPlanId":{ + "shape":"SavingsPlanId", + "documentation":"

    The ID of the Savings Plan.

    " + }, + "savingsPlanArn":{ + "shape":"SavingsPlanArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Savings Plan.

    " + }, + "description":{ + "shape":"String", + "documentation":"

    The description.

    " + }, + "start":{ + "shape":"String", + "documentation":"

    The start time.

    " + }, + "end":{ + "shape":"String", + "documentation":"

    The end time.

    " + }, + "state":{ + "shape":"SavingsPlanState", + "documentation":"

    The state.

    " + }, + "region":{ + "shape":"Region", + "documentation":"

    The AWS Region.

    " + }, + "ec2InstanceFamily":{ + "shape":"EC2InstanceFamily", + "documentation":"

    The EC2 instance family.

    " + }, + "savingsPlanType":{ + "shape":"SavingsPlanType", + "documentation":"

    The plan type.

    " + }, + "paymentOption":{ + "shape":"SavingsPlanPaymentOption", + "documentation":"

    The payment option.

    " + }, + "productTypes":{ + "shape":"SavingsPlanProductTypeList", + "documentation":"

    The product types.

    " + }, + "currency":{ + "shape":"CurrencyCode", + "documentation":"

    The currency.

    " + }, + "commitment":{ + "shape":"Amount", + "documentation":"

    The hourly commitment, in USD.

    " + }, + "upfrontPaymentAmount":{ + "shape":"Amount", + "documentation":"

    The up-front payment amount.

    " + }, + "recurringPaymentAmount":{ + "shape":"Amount", + "documentation":"

    The recurring payment amount.

    " + }, + "termDurationInSeconds":{ + "shape":"TermDurationInSeconds", + "documentation":"

    The duration of the term, in seconds.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    One or more tags.

    " + } + }, + "documentation":"

    Information about a Savings Plan.

    " + }, + "SavingsPlanArn":{ + "type":"string", + "pattern":"arn:aws:[a-z]+:([a-z]{2}-[a-z]+-\\d{1}|):(\\d{12}):savingsplan\\/([0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$" + }, + "SavingsPlanArnList":{ + "type":"list", + "member":{"shape":"SavingsPlanArn"}, + "max":100 + }, + "SavingsPlanDescription":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\- ]+$" + }, + "SavingsPlanDescriptionsList":{ + "type":"list", + "member":{"shape":"SavingsPlanDescription"} + }, + "SavingsPlanFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlansFilterName", + "documentation":"

    The filter name.

    " + }, + "values":{ + "shape":"ListOfStrings", + "documentation":"

    The filter value.

    " + } + }, + "documentation":"

    Information about a filter.

    " + }, + "SavingsPlanFilterList":{ + "type":"list", + "member":{"shape":"SavingsPlanFilter"} + }, + "SavingsPlanId":{"type":"string"}, + "SavingsPlanIdList":{ + "type":"list", + "member":{"shape":"SavingsPlanId"} + }, + "SavingsPlanList":{ + "type":"list", + "member":{"shape":"SavingsPlan"} + }, + "SavingsPlanOffering":{ + "type":"structure", + "members":{ + "offeringId":{ + "shape":"UUID", + "documentation":"

    The ID of the offering.

    " + }, + "productTypes":{ + "shape":"SavingsPlanProductTypeList", + "documentation":"

    The product type.

    " + }, + "planType":{ + "shape":"SavingsPlanType", + "documentation":"

    The plan type.

    " + }, + "description":{ + "shape":"SavingsPlanDescription", + "documentation":"

    The description.

    " + }, + "paymentOption":{ + "shape":"SavingsPlanPaymentOption", + "documentation":"

    The payment option.

    " + }, + "durationSeconds":{ + "shape":"SavingsPlansDuration", + "documentation":"

    The duration, in seconds.

    " + }, + "currency":{ + "shape":"CurrencyCode", + "documentation":"

    The currency.

    " + }, + "serviceCode":{ + "shape":"SavingsPlanServiceCode", + "documentation":"

    The service.

    " + }, + "usageType":{ + "shape":"SavingsPlanUsageType", + "documentation":"

    The usage details of the line item in the billing report.

    " + }, + "operation":{ + "shape":"SavingsPlanOperation", + "documentation":"

    The specific AWS operation for the line item in the billing report.

    " + }, + "properties":{ + "shape":"SavingsPlanOfferingPropertyList", + "documentation":"

    The properties.

    " + } + }, + "documentation":"

    Information about a Savings Plan offering.

    " + }, + "SavingsPlanOfferingFilterAttribute":{ + "type":"string", + "enum":[ + "region", + "instanceFamily" + ] + }, + "SavingsPlanOfferingFilterElement":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlanOfferingFilterAttribute", + "documentation":"

    The filter name.

    " + }, + "values":{ + "shape":"FilterValuesList", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Information about a filter.

    " + }, + "SavingsPlanOfferingFiltersList":{ + "type":"list", + "member":{"shape":"SavingsPlanOfferingFilterElement"} + }, + "SavingsPlanOfferingId":{"type":"string"}, + "SavingsPlanOfferingProperty":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlanOfferingPropertyKey", + "documentation":"

    The property name.

    " + }, + "value":{ + "shape":"JsonSafeFilterValueString", + "documentation":"

    The property value.

    " + } + }, + "documentation":"

    Information about a property.

    " + }, + "SavingsPlanOfferingPropertyKey":{ + "type":"string", + "enum":[ + "region", + "instanceFamily" + ] + }, + "SavingsPlanOfferingPropertyList":{ + "type":"list", + "member":{"shape":"SavingsPlanOfferingProperty"} + }, + "SavingsPlanOfferingRate":{ + "type":"structure", + "members":{ + "savingsPlanOffering":{ + "shape":"ParentSavingsPlanOffering", + "documentation":"

    The Savings Plan offering.

    " + }, + "rate":{ + "shape":"SavingsPlanRatePricePerUnit", + "documentation":"

    The Savings Plan rate.

    " + }, + "unit":{ + "shape":"SavingsPlanRateUnit", + "documentation":"

    The unit.

    " + }, + "productType":{ + "shape":"SavingsPlanProductType", + "documentation":"

    The product type.

    " + }, + "serviceCode":{ + "shape":"SavingsPlanRateServiceCode", + "documentation":"

    The service.

    " + }, + "usageType":{ + "shape":"SavingsPlanRateUsageType", + "documentation":"

    The usage details of the line item in the billing report.

    " + }, + "operation":{ + "shape":"SavingsPlanRateOperation", + "documentation":"

    The specific AWS operation for the line item in the billing report.

    " + }, + "properties":{ + "shape":"SavingsPlanOfferingRatePropertyList", + "documentation":"

    The properties.

    " + } + }, + "documentation":"

    Information about a Savings Plan offering rate.

    " + }, + "SavingsPlanOfferingRateFilterElement":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlanRateFilterAttribute", + "documentation":"

    The filter name.

    " + }, + "values":{ + "shape":"FilterValuesList", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Information about a filter.

    " + }, + "SavingsPlanOfferingRateFiltersList":{ + "type":"list", + "member":{"shape":"SavingsPlanOfferingRateFilterElement"} + }, + "SavingsPlanOfferingRateProperty":{ + "type":"structure", + "members":{ + "name":{ + "shape":"JsonSafeFilterValueString", + "documentation":"

    The property name.

    " + }, + "value":{ + "shape":"JsonSafeFilterValueString", + "documentation":"

    The property value.

    " + } + }, + "documentation":"

    Information about a property.

    " + }, + "SavingsPlanOfferingRatePropertyList":{ + "type":"list", + "member":{"shape":"SavingsPlanOfferingRateProperty"} + }, + "SavingsPlanOfferingRatesList":{ + "type":"list", + "member":{"shape":"SavingsPlanOfferingRate"} + }, + "SavingsPlanOfferingsList":{ + "type":"list", + "member":{"shape":"SavingsPlanOffering"} + }, + "SavingsPlanOperation":{ + "type":"string", + "max":255, + "pattern":"^[a-zA-Z0-9_ \\/.:-]*$" + }, + "SavingsPlanOperationList":{ + "type":"list", + "member":{"shape":"SavingsPlanOperation"} + }, + "SavingsPlanPaymentOption":{ + "type":"string", + "enum":[ + "All Upfront", + "Partial Upfront", + "No Upfront" + ] + }, + "SavingsPlanPaymentOptionList":{ + "type":"list", + "member":{"shape":"SavingsPlanPaymentOption"} + }, + "SavingsPlanProductType":{ + "type":"string", + "enum":[ + "EC2", + "Fargate", + "Lambda" + ] + }, + "SavingsPlanProductTypeList":{ + "type":"list", + "member":{"shape":"SavingsPlanProductType"} + }, + "SavingsPlanRate":{ + "type":"structure", + "members":{ + "rate":{ + "shape":"Amount", + "documentation":"

    The rate.

    " + }, + "currency":{ + "shape":"CurrencyCode", + "documentation":"

    The currency.

    " + }, + "unit":{ + "shape":"SavingsPlanRateUnit", + "documentation":"

    The unit.

    " + }, + "productType":{ + "shape":"SavingsPlanProductType", + "documentation":"

    The product type.

    " + }, + "serviceCode":{ + "shape":"SavingsPlanRateServiceCode", + "documentation":"

    The service.

    " + }, + "usageType":{ + "shape":"SavingsPlanRateUsageType", + "documentation":"

    The usage details of the line item in the billing report.

    " + }, + "operation":{ + "shape":"SavingsPlanRateOperation", + "documentation":"

    The specific AWS operation for the line item in the billing report.

    " + }, + "properties":{ + "shape":"SavingsPlanRatePropertyList", + "documentation":"

    The properties.

    " + } + }, + "documentation":"

    Information about a Savings Plan rate.

    " + }, + "SavingsPlanRateFilter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlanRateFilterName", + "documentation":"

    The filter name.

    " + }, + "values":{ + "shape":"ListOfStrings", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Information about a filter.

    " + }, + "SavingsPlanRateFilterAttribute":{ + "type":"string", + "enum":[ + "region", + "instanceFamily", + "instanceType", + "productDescription", + "tenancy", + "productId" + ] + }, + "SavingsPlanRateFilterList":{ + "type":"list", + "member":{"shape":"SavingsPlanRateFilter"} + }, + "SavingsPlanRateFilterName":{ + "type":"string", + "enum":[ + "region", + "instanceType", + "productDescription", + "tenancy", + "productType", + "serviceCode", + "usageType", + "operation" + ] + }, + "SavingsPlanRateList":{ + "type":"list", + "member":{"shape":"SavingsPlanRate"} + }, + "SavingsPlanRateOperation":{ + "type":"string", + "max":255, + "pattern":"^[a-zA-Z0-9_ \\/.:-]*$" + }, + "SavingsPlanRateOperationList":{ + "type":"list", + "member":{"shape":"SavingsPlanRateOperation"} + }, + "SavingsPlanRatePricePerUnit":{"type":"string"}, + "SavingsPlanRateProperty":{ + "type":"structure", + "members":{ + "name":{ + "shape":"SavingsPlanRatePropertyKey", + "documentation":"

    The property name.

    " + }, + "value":{ + "shape":"JsonSafeFilterValueString", + "documentation":"

    The property value.

    " + } + }, + "documentation":"

    Information about a property.

    " + }, + "SavingsPlanRatePropertyKey":{ + "type":"string", + "enum":[ + "region", + "instanceType", + "instanceFamily", + "productDescription", + "tenancy" + ] + }, + "SavingsPlanRatePropertyList":{ + "type":"list", + "member":{"shape":"SavingsPlanRateProperty"} + }, + "SavingsPlanRateServiceCode":{ + "type":"string", + "enum":[ + "AmazonEC2", + "AmazonECS", + "AWSLambda" + ] + }, + "SavingsPlanRateServiceCodeList":{ + "type":"list", + "member":{"shape":"SavingsPlanRateServiceCode"} + }, + "SavingsPlanRateUnit":{ + "type":"string", + "enum":[ + "Hrs", + "Lambda-GB-Second", + "Request" + ] + }, + "SavingsPlanRateUsageType":{ + "type":"string", + "max":255, + "pattern":"^[a-zA-Z0-9_ \\/.:-]+$" + }, + "SavingsPlanRateUsageTypeList":{ + "type":"list", + "member":{"shape":"SavingsPlanRateUsageType"} + }, + "SavingsPlanServiceCode":{ + "type":"string", + "max":255, + "pattern":"^[a-zA-Z]+$" + }, + "SavingsPlanServiceCodeList":{ + "type":"list", + "member":{"shape":"SavingsPlanServiceCode"} + }, + "SavingsPlanState":{ + "type":"string", + "enum":[ + "payment-pending", + "payment-failed", + "active", + "retired" + ] + }, + "SavingsPlanStateList":{ + "type":"list", + "member":{"shape":"SavingsPlanState"} + }, + "SavingsPlanType":{ + "type":"string", + "enum":[ + "Compute", + "EC2Instance" + ] + }, + "SavingsPlanTypeList":{ + "type":"list", + "member":{"shape":"SavingsPlanType"} + }, + "SavingsPlanUsageType":{ + "type":"string", + "max":255, + "pattern":"^[a-zA-Z0-9_ \\/.:-]+$" + }, + "SavingsPlanUsageTypeList":{ + "type":"list", + "member":{"shape":"SavingsPlanUsageType"} + }, + "SavingsPlansDuration":{ + "type":"long", + "min":0 + }, + "SavingsPlansFilterName":{ + "type":"string", + "enum":[ + "region", + "ec2-instance-family", + "commitment", + "upfront", + "term", + "savings-plan-type", + "payment-option", + "start", + "end" + ] + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A service quota has been exceeded.

    ", + "error":{"httpStatusCode":402}, + "exception":true + }, + "String":{"type":"string"}, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"SavingsPlanArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    One or more tags. For example, { \"tags\": {\"key1\":\"value1\", \"key2\":\"value2\"} }.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "TermDurationInSeconds":{"type":"long"}, + "UUID":{ + "type":"string", + "pattern":"^(([0-9a-f]+)(-?))+$" + }, + "UUIDs":{ + "type":"list", + "member":{"shape":"UUID"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"SavingsPlanArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tag keys.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    One of the input parameters is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + } + }, + "documentation":"

    Savings Plans are a pricing model that offer significant savings on AWS usage (for example, on Amazon EC2 instances). You commit to a consistent amount of usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price for that usage. For more information, see the AWS Savings Plans User Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/schemas/2019-12-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/schemas/2019-12-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListDiscoverers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Discoverers" + }, + "ListRegistries": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Registries" + }, + "ListSchemaVersions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "SchemaVersions" + }, + "ListSchemas": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Schemas" + }, + "SearchSchemas": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "Limit", + "result_key": "Schemas" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/schemas/2019-12-02/service-2.json python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/service-2.json --- python-botocore-1.4.70/botocore/data/schemas/2019-12-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3367 @@ +{ + "metadata": { + "apiVersion": "2019-12-02", + "endpointPrefix": "schemas", + "signingName": "schemas", + "serviceFullName": "Schemas", + "serviceId": "schemas", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "schemas-2019-12-02", + "signatureVersion": "v4" + }, + "operations": { + "CreateDiscoverer": { + "name": "CreateDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers", + "responseCode": 201 + }, + "input": { + "shape": "CreateDiscovererRequest" + }, + "output": { + "shape": "CreateDiscovererResponse", + "documentation": "

    201 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "ConflictException", + "documentation": "

    409 response

    " + } + ], + "documentation": "

    Creates a discoverer.

    " + }, + "CreateRegistry": { + "name": "CreateRegistry", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 201 + }, + "input": { + "shape": "CreateRegistryRequest" + }, + "output": { + "shape": "CreateRegistryResponse", + "documentation": "

    201 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "ConflictException", + "documentation": "

    409 response

    " + } + ], + "documentation": "

    Creates a registry.

    " + }, + "CreateSchema": { + "name": "CreateSchema", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 201 + }, + "input": { + "shape": "CreateSchemaRequest" + }, + "output": { + "shape": "CreateSchemaResponse", + "documentation": "

    201 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Creates a schema definition.

    Inactive schemas will be deleted after two years.

    " + }, + "DeleteDiscoverer": { + "name": "DeleteDiscoverer", + "http": { + "method": "DELETE", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteDiscovererRequest" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Deletes a discoverer.

    " + }, + "DeleteRegistry": { + "name": "DeleteRegistry", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteRegistryRequest" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Deletes a Registry.

    " + }, + "DeleteResourcePolicy": { + "name": "DeleteResourcePolicy", + "http": { + "method": "DELETE", + "requestUri": "/v1/policy", + "responseCode": 204 + }, + "input": { + "shape": "DeleteResourcePolicyRequest" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Delete the resource-based policy attached to the specified registry.

    " + }, + "DeleteSchema": { + "name": "DeleteSchema", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteSchemaRequest" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Delete a schema definition.

    " + }, + "DeleteSchemaVersion": { + "name": "DeleteSchemaVersion", + "http": { + "method": "DELETE", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}", + "responseCode": 204 + }, + "input": { + "shape": "DeleteSchemaVersionRequest" + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Delete the schema version definition

    " + }, + "DescribeCodeBinding": { + "name": "DescribeCodeBinding", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeCodeBindingRequest" + }, + "output": { + "shape": "DescribeCodeBindingResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "TooManyRequestsException", + "documentation": "

    429 response

    " + } + ], + "documentation": "

    Describe the code binding URI.

    " + }, + "DescribeDiscoverer": { + "name": "DescribeDiscoverer", + "http": { + "method": "GET", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeDiscovererRequest" + }, + "output": { + "shape": "DescribeDiscovererResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Describes the discoverer.

    " + }, + "DescribeRegistry": { + "name": "DescribeRegistry", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeRegistryRequest" + }, + "output": { + "shape": "DescribeRegistryResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Describes the registry.

    " + }, + "DescribeSchema": { + "name": "DescribeSchema", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeSchemaRequest" + }, + "output": { + "shape": "DescribeSchemaResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Retrieve the schema definition.

    " + }, + "GetCodeBindingSource": { + "name": "GetCodeBindingSource", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source", + "responseCode": 200 + }, + "input": { + "shape": "GetCodeBindingSourceRequest" + }, + "output": { + "shape": "GetCodeBindingSourceResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "TooManyRequestsException", + "documentation": "

    429 response

    " + } + ], + "documentation": "

    Get the code binding source URI.

    " + }, + "GetDiscoveredSchema": { + "name": "GetDiscoveredSchema", + "http": { + "method": "POST", + "requestUri": "/v1/discover", + "responseCode": 200 + }, + "input": { + "shape": "GetDiscoveredSchemaRequest" + }, + "output": { + "shape": "GetDiscoveredSchemaResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Get the discovered schema that was generated based on sampled events.

    " + }, + "GetResourcePolicy": { + "name": "GetResourcePolicy", + "http": { + "method": "GET", + "requestUri": "/v1/policy", + "responseCode": 200 + }, + "input": { + "shape": "GetResourcePolicyRequest" + }, + "output": { + "shape": "GetResourcePolicyResponse", + "documentation": "

    Get Resource-Based Policy Response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Retrieves the resource-based policy attached to a given registry.

    " + }, + "ListDiscoverers": { + "name": "ListDiscoverers", + "http": { + "method": "GET", + "requestUri": "/v1/discoverers", + "responseCode": 200 + }, + "input": { + "shape": "ListDiscoverersRequest" + }, + "output": { + "shape": "ListDiscoverersResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    List the discoverers.

    " + }, + "ListRegistries": { + "name": "ListRegistries", + "http": { + "method": "GET", + "requestUri": "/v1/registries", + "responseCode": 200 + }, + "input": { + "shape": "ListRegistriesRequest" + }, + "output": { + "shape": "ListRegistriesResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    List the registries.

    " + }, + "ListSchemaVersions": { + "name": "ListSchemaVersions", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/versions", + "responseCode": 200 + }, + "input": { + "shape": "ListSchemaVersionsRequest" + }, + "output": { + "shape": "ListSchemaVersionsResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Provides a list of the schema versions and related information.

    " + }, + "ListSchemas": { + "name": "ListSchemas", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas", + "responseCode": 200 + }, + "input": { + "shape": "ListSchemasRequest" + }, + "output": { + "shape": "ListSchemasResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    List the schemas.

    " + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/tags/{resource-arn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Get tags for resource.

    " + }, + "PutCodeBinding": { + "name": "PutCodeBinding", + "http": { + "method": "POST", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}", + "responseCode": 202 + }, + "input": { + "shape": "PutCodeBindingRequest" + }, + "output": { + "shape": "PutCodeBindingResponse", + "documentation": "

    202 response

    " + }, + "errors": [ + { + "shape": "GoneException", + "documentation": "

    410 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "TooManyRequestsException", + "documentation": "

    429 response

    " + } + ], + "documentation": "

    Put code binding URI

    " + }, + "PutResourcePolicy": { + "name": "PutResourcePolicy", + "http": { + "method": "PUT", + "requestUri": "/v1/policy", + "responseCode": 200 + }, + "input": { + "shape": "PutResourcePolicyRequest" + }, + "output": { + "shape": "PutResourcePolicyResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "PreconditionFailedException", + "documentation": "

    412 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    The name of the policy.

    " + }, + "SearchSchemas": { + "name": "SearchSchemas", + "http": { + "method": "GET", + "requestUri": "/v1/registries/name/{registryName}/schemas/search", + "responseCode": 200 + }, + "input": { + "shape": "SearchSchemasRequest" + }, + "output": { + "shape": "SearchSchemasResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Search the schemas

    " + }, + "StartDiscoverer": { + "name": "StartDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers/id/{discovererId}/start", + "responseCode": 200 + }, + "input": { + "shape": "StartDiscovererRequest" + }, + "output": { + "shape": "StartDiscovererResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Starts the discoverer

    " + }, + "StopDiscoverer": { + "name": "StopDiscoverer", + "http": { + "method": "POST", + "requestUri": "/v1/discoverers/id/{discovererId}/stop", + "responseCode": 200 + }, + "input": { + "shape": "StopDiscovererRequest" + }, + "output": { + "shape": "StopDiscovererResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Stops the discoverer

    " + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Add tags to a resource.

    " + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/tags/{resource-arn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "errors": [ + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + } + ], + "documentation": "

    Removes tags from a resource.

    " + }, + "UpdateDiscoverer": { + "name": "UpdateDiscoverer", + "http": { + "method": "PUT", + "requestUri": "/v1/discoverers/id/{discovererId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateDiscovererRequest" + }, + "output": { + "shape": "UpdateDiscovererResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Updates the discoverer

    " + }, + "UpdateRegistry": { + "name": "UpdateRegistry", + "http": { + "method": "PUT", + "requestUri": "/v1/registries/name/{registryName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateRegistryRequest" + }, + "output": { + "shape": "UpdateRegistryResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "UnauthorizedException", + "documentation": "

    401 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Updates a registry.

    " + }, + "UpdateSchema": { + "name": "UpdateSchema", + "http": { + "method": "PUT", + "requestUri": "/v1/registries/name/{registryName}/schemas/name/{schemaName}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateSchemaRequest" + }, + "output": { + "shape": "UpdateSchemaResponse", + "documentation": "

    200 response

    " + }, + "errors": [ + { + "shape": "BadRequestException", + "documentation": "

    400 response

    " + }, + { + "shape": "InternalServerErrorException", + "documentation": "

    500 response

    " + }, + { + "shape": "ForbiddenException", + "documentation": "

    403 response

    " + }, + { + "shape": "NotFoundException", + "documentation": "

    404 response

    " + }, + { + "shape": "ServiceUnavailableException", + "documentation": "

    503 response

    " + } + ], + "documentation": "

    Updates the schema definition

    Inactive schemas will be deleted after two years.

    " + } + }, + "shapes": { + "BadRequestException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "CodeBindingOutput": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601", + "documentation": "

    The time and date that the code binding was created.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that code bindings were modified.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema.

    " + }, + "Status": { + "shape": "CodeGenerationStatus", + "documentation": "

    The current status of code binding generation.

    " + } + } + }, + "CodeGenerationStatus": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "CREATE_COMPLETE", + "CREATE_FAILED" + ] + }, + "ConflictException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateDiscovererInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description for the discoverer.

    " + }, + "SourceArn": { + "shape": "__stringMin20Max1600", + "documentation": "

    The ARN of the event bus.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + }, + "required": [ + "SourceArn" + ] + }, + "CreateDiscovererRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description for the discoverer.

    " + }, + "SourceArn": { + "shape": "__stringMin20Max1600", + "documentation": "

    The ARN of the event bus.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + }, + "documentation": "", + "required": [ + "SourceArn" + ] + }, + "CreateDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the discoverer.

    " + }, + "DiscovererArn": { + "shape": "__string", + "documentation": "

    The ARN of the discoverer.

    " + }, + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "SourceArn": { + "shape": "__string", + "documentation": "

    The ARN of the event bus.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + } + }, + "CreateRegistryInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description of the registry to be created.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags to associate with the registry.

    " + } + } + }, + "CreateRegistryRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description of the registry to be created.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags to associate with the registry.

    " + } + }, + "required": [ + "RegistryName" + ] + }, + "CreateRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the registry.

    " + }, + "RegistryArn": { + "shape": "__string", + "documentation": "

    The ARN of the registry.

    " + }, + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the registry.

    " + } + } + }, + "CreateSchemaInput": { + "type": "structure", + "members": { + "Content": { + "shape": "__stringMin1Max100000", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description of the schema.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the schema.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The type of schema.

    " + } + }, + "required": [ + "Type", + "Content" + ] + }, + "CreateSchemaRequest": { + "type": "structure", + "members": { + "Content": { + "shape": "__stringMin1Max100000", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    A description of the schema.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the schema.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The type of schema.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Type", + "Content" + ] + }, + "CreateSchemaResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the schema.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string", + "documentation": "

    The type of the schema.

    " + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + } + } + }, + "DeleteDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId", + "documentation": "

    The ID of the discoverer.

    " + } + }, + "required": [ + "DiscovererId" + ] + }, + "DeleteRegistryRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + }, + "required": [ + "RegistryName" + ] + }, + "DeleteResourcePolicyRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "querystring", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + } + }, + "DeleteSchemaRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "DeleteSchemaVersionRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "location": "uri", + "locationName": "schemaVersion", + "documentation": "The version number of the schema" + } + }, + "required": [ + "SchemaVersion", + "RegistryName", + "SchemaName" + ] + }, + "DescribeCodeBindingRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language", + "documentation": "

    The language of the code binding.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion", + "documentation": "

    Specifying this limits the results to only this schema version.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "DescribeCodeBindingResponse": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601", + "documentation": "

    The time and date that the code binding was created.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that code bindings were modified.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema.

    " + }, + "Status": { + "shape": "CodeGenerationStatus", + "documentation": "

    The current status of code binding generation.

    " + } + } + }, + "DescribeDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId", + "documentation": "

    The ID of the discoverer.

    " + } + }, + "required": [ + "DiscovererId" + ] + }, + "DescribeDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the discoverer.

    " + }, + "DiscovererArn": { + "shape": "__string", + "documentation": "

    The ARN of the discoverer.

    " + }, + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "SourceArn": { + "shape": "__string", + "documentation": "

    The ARN of the event bus.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + } + }, + "DescribeRegistryRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + }, + "required": [ + "RegistryName" + ] + }, + "DescribeRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the registry.

    " + }, + "RegistryArn": { + "shape": "__string", + "documentation": "

    The ARN of the registry.

    " + }, + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the registry.

    " + } + } + }, + "DescribeSchemaOutput": { + "type": "structure", + "members": { + "Content": { + "shape": "__string", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    The description of the schema.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + }, + "Type": { + "shape": "__string", + "documentation": "

    The type of the schema.

    " + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + } + } + }, + "DescribeSchemaRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion", + "documentation": "

    Specifying this limits the results to only this schema version.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "DescribeSchemaResponse": { + "type": "structure", + "members": { + "Content": { + "shape": "__string", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__string", + "documentation": "

    The description of the schema.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + }, + "Type": { + "shape": "__string", + "documentation": "

    The type of the schema.

    " + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + } + } + }, + "DiscovererOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the discoverer.

    " + }, + "DiscovererArn": { + "shape": "__string", + "documentation": "

    The ARN of the discoverer.

    " + }, + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "SourceArn": { + "shape": "__string", + "documentation": "

    The ARN of the event bus.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + } + }, + "DiscovererState": { + "type": "string", + "enum": [ + "STARTED", + "STOPPED" + ] + }, + "DiscovererStateOutput": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + } + } + }, + "DiscovererSummary": { + "type": "structure", + "members": { + "DiscovererArn": { + "shape": "__string", + "documentation": "

    The ARN of the discoverer.

    " + }, + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "SourceArn": { + "shape": "__string", + "documentation": "

    The ARN of the event bus.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + } + }, + "ErrorOutput": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ] + }, + "ForbiddenException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "GetCodeBindingSourceOutput": { + "type": "string" + }, + "GetCodeBindingSourceRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language", + "documentation": "

    The language of the code binding.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion", + "documentation": "

    Specifying this limits the results to only this schema version.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "GetCodeBindingSourceResponse": { + "type": "structure", + "members": { + "Body": { + "shape": "Body" + } + }, + "payload": "Body" + }, + "GetDiscoveredSchemaInput": { + "type": "structure", + "members": { + "Events": { + "shape": "__listOfGetDiscoveredSchemaVersionItemInput", + "documentation": "

    An array of strings where each string is a JSON event. These are the events that were used to generate the schema. The array includes a single type of event and has a maximum size of 10 events.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The type of event.

    " + } + }, + "required": [ + "Type", + "Events" + ] + }, + "GetDiscoveredSchemaOutput": { + "type": "structure", + "members": { + "Content": { + "shape": "__string", + "documentation": "

    The source of the schema definition.

    " + } + }, + "documentation": "

    " + }, + "GetDiscoveredSchemaRequest": { + "type": "structure", + "members": { + "Events": { + "shape": "__listOfGetDiscoveredSchemaVersionItemInput", + "documentation": "

    An array of strings where each string is a JSON event. These are the events that were used to generate the schema. The array includes a single type of event and has a maximum size of 10 events.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The type of event.

    " + } + }, + "required": [ + "Type", + "Events" + ] + }, + "GetDiscoveredSchemaResponse": { + "type": "structure", + "members": { + "Content": { + "shape": "__string", + "documentation": "

    The source of the schema definition.

    " + } + } + }, + "GetDiscoveredSchemaVersionItemInput": { + "type": "string", + "min": 1, + "max": 100000 + }, + "GetResourcePolicyOutput": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID.

    " + } + }, + "documentation": "

    Information about the policy.

    " + }, + "GetResourcePolicyRequest": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "location": "querystring", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + } + }, + "GetResourcePolicyResponse": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID.

    " + } + } + }, + "GoneException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 410 + } + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "Limit": { + "type": "integer", + "min": 1, + "max": 100 + }, + "ListDiscoverersOutput": { + "type": "structure", + "members": { + "Discoverers": { + "shape": "__listOfDiscovererSummary", + "documentation": "

    An array of DiscovererSummary information.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + } + } + }, + "ListDiscoverersRequest": { + "type": "structure", + "members": { + "DiscovererIdPrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "discovererIdPrefix", + "documentation": "

    Specifying this limits the results to only those discoverer IDs that start with the specified prefix.

    " + }, + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "SourceArnPrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "sourceArnPrefix", + "documentation": "

    Specifying this limits the results to only those ARNs that start with the specified prefix.

    " + } + } + }, + "ListDiscoverersResponse": { + "type": "structure", + "members": { + "Discoverers": { + "shape": "__listOfDiscovererSummary", + "documentation": "

    An array of DiscovererSummary information.

    " + }, + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + } + } + }, + "ListRegistriesOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Registries": { + "shape": "__listOfRegistrySummary", + "documentation": "

    An array of registry summaries.

    " + } + }, + "documentation": "

    List the registries.

    " + }, + "ListRegistriesRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "RegistryNamePrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "registryNamePrefix", + "documentation": "

    Specifying this limits the results to only those registry names that start with the specified prefix.

    " + }, + "Scope": { + "shape": "__string", + "location": "querystring", + "locationName": "scope", + "documentation": "

    Can be set to Local or AWS to limit responses to your custom registries, or the ones provided by AWS.

    " + } + } + }, + "ListRegistriesResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Registries": { + "shape": "__listOfRegistrySummary", + "documentation": "

    An array of registry summaries.

    " + } + } + }, + "ListSchemaVersionsOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "SchemaVersions": { + "shape": "__listOfSchemaVersionSummary", + "documentation": "

    An array of schema version summaries.

    " + } + } + }, + "ListSchemaVersionsRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "ListSchemaVersionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "SchemaVersions": { + "shape": "__listOfSchemaVersionSummary", + "documentation": "

    An array of schema version summaries.

    " + } + } + }, + "ListSchemasOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Schemas": { + "shape": "__listOfSchemaSummary", + "documentation": "

    An array of schema summaries.

    " + } + } + }, + "ListSchemasRequest": { + "type": "structure", + "members": { + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaNamePrefix": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaNamePrefix", + "documentation": "

    Specifying this limits the results to only those schema names that start with the specified prefix.

    " + } + }, + "required": [ + "RegistryName" + ] + }, + "ListSchemasResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Schemas": { + "shape": "__listOfSchemaSummary", + "documentation": "

    An array of schema summaries.

    " + } + } + }, + "ListTagsForResourceOutput": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The ARN of the resource.

    " + } + }, + "required": [ + "ResourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "LockServiceLinkedRoleInput": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + }, + "Timeout": { + "shape": "__integerMin1Max29000" + } + }, + "required": [ + "Timeout", + "RoleArn" + ] + }, + "LockServiceLinkedRoleOutput": { + "type": "structure", + "members": { + "CanBeDeleted": { + "shape": "__boolean" + }, + "ReasonOfFailure": { + "shape": "__stringMin1Max1600" + }, + "RelatedResources": { + "shape": "__listOfDiscovererSummary" + } + } + }, + "LockServiceLinkedRoleRequest": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + }, + "Timeout": { + "shape": "__integerMin1Max29000" + } + }, + "documentation": "", + "required": [ + "Timeout", + "RoleArn" + ] + }, + "LockServiceLinkedRoleResponse": { + "type": "structure", + "members": { + "CanBeDeleted": { + "shape": "__boolean" + }, + "ReasonOfFailure": { + "shape": "__stringMin1Max1600" + }, + "RelatedResources": { + "shape": "__listOfDiscovererSummary" + } + } + }, + "NotFoundException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "PreconditionFailedException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 412 + } + }, + "PutCodeBindingRequest": { + "type": "structure", + "members": { + "Language": { + "shape": "__string", + "location": "uri", + "locationName": "language", + "documentation": "

    The language of the code binding.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "location": "querystring", + "locationName": "schemaVersion", + "documentation": "

    Specifying this limits the results to only this schema version.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName", + "Language" + ] + }, + "PutCodeBindingResponse": { + "type": "structure", + "members": { + "CreationDate": { + "shape": "__timestampIso8601", + "documentation": "

    The time and date that the code binding was created.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that code bindings were modified.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema.

    " + }, + "Status": { + "shape": "CodeGenerationStatus", + "documentation": "

    The current status of code binding generation.

    " + } + } + }, + "PutResourcePolicyInput": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID of the policy.

    " + } + }, + "documentation": "

    Only update the policy if the revision ID matches the ID that's specified. Use this option to avoid modifying a policy that has changed since you last read it.

    ", + "required": [ + "Policy" + ] + }, + "PutResourcePolicyOutput": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID of the policy.

    " + } + }, + "documentation": "

    The resource-based policy.

    " + }, + "PutResourcePolicyRequest": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RegistryName": { + "shape": "__string", + "location": "querystring", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID of the policy.

    " + } + }, + "documentation": "

    The name of the policy.

    ", + "required": [ + "Policy" + ] + }, + "PutResourcePolicyResponse": { + "type": "structure", + "members": { + "Policy": { + "shape": "__string", + "documentation": "

    The resource-based policy.

    ", + "jsonvalue": true + }, + "RevisionId": { + "shape": "__string", + "documentation": "

    The revision ID of the policy.

    " + } + } + }, + "RegistryOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the registry.

    " + }, + "RegistryArn": { + "shape": "__string", + "documentation": "

    The ARN of the registry.

    " + }, + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the registry.

    " + } + } + }, + "RegistrySummary": { + "type": "structure", + "members": { + "RegistryArn": { + "shape": "__string", + "documentation": "

    The ARN of the registry.

    " + }, + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the registry.

    " + } + } + }, + "SchemaOutput": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the schema.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string", + "documentation": "

    The type of the schema.

    " + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + } + } + }, + "SchemaSummary": { + "type": "structure", + "members": { + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the schema.

    " + }, + "VersionCount": { + "shape": "__long", + "documentation": "

    The number of versions available for the schema.

    " + } + }, + "documentation": "

    A summary of schema details.

    " + }, + "SchemaVersionSummary": { + "type": "structure", + "members": { + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema version.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema.

    " + } + } + }, + "SearchSchemaSummary": { + "type": "structure", + "members": { + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersions": { + "shape": "__listOfSearchSchemaVersionSummary", + "documentation": "

    An array of schema version summaries.

    " + } + } + }, + "SearchSchemaVersionSummary": { + "type": "structure", + "members": { + "CreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + } + } + }, + "SearchSchemasOutput": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Schemas": { + "shape": "__listOfSearchSchemaSummary", + "documentation": "

    An array of SearchSchemaSummary information.

    " + } + } + }, + "SearchSchemasRequest": { + "type": "structure", + "members": { + "Keywords": { + "shape": "__string", + "location": "querystring", + "locationName": "keywords", + "documentation": "

    Specifying this limits the results to only schemas that include the provided keywords.

    " + }, + "Limit": { + "shape": "__integer", + "location": "querystring", + "locationName": "limit" + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + }, + "required": [ + "RegistryName", + "Keywords" + ] + }, + "SearchSchemasResponse": { + "type": "structure", + "members": { + "NextToken": { + "shape": "__string", + "documentation": "

    The token that specifies the next page of results to return. To request the first page, leave NextToken empty. The token will expire in 24 hours, and cannot be shared with other accounts.

    " + }, + "Schemas": { + "shape": "__listOfSearchSchemaSummary", + "documentation": "

    An array of SearchSchemaSummary information.

    " + } + } + }, + "ServiceUnavailableException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 503 + } + }, + "StartDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId", + "documentation": "

    The ID of the discoverer.

    " + } + }, + "required": [ + "DiscovererId" + ] + }, + "StartDiscovererResponse": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + } + } + }, + "StopDiscovererRequest": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId", + "documentation": "

    The ID of the discoverer.

    " + } + }, + "required": [ + "DiscovererId" + ] + }, + "StopDiscovererResponse": { + "type": "structure", + "members": { + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + } + } + }, + "TagResourceInput": { + "type": "structure", + "members": { + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + }, + "required": [ + "Tags" + ] + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The ARN of the resource.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + }, + "documentation": "

    ", + "required": [ + "ResourceArn", + "Tags" + ] + }, + "Tags": { + "type": "map", + "documentation": "

    Key-value pairs associated with a resource.

    ", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "TooManyRequestsException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "Type": { + "type": "string", + "enum": [ + "OpenApi3" + ] + }, + "UnauthorizedException": { + "type": "structure", + "members": { + "Code": { + "shape": "__string", + "documentation": "

    The error code.

    " + }, + "Message": { + "shape": "__string", + "documentation": "

    The message string of the error output.

    " + } + }, + "required": [ + "Message", + "Code" + ], + "exception": true, + "error": { + "httpStatusCode": 401 + } + }, + "UnlockServiceLinkedRoleInput": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + } + }, + "required": [ + "RoleArn" + ] + }, + "UnlockServiceLinkedRoleRequest": { + "type": "structure", + "members": { + "RoleArn": { + "shape": "__stringMin1Max1600" + } + }, + "required": [ + "RoleArn" + ] + }, + "UnlockServiceLinkedRoleResponse": { + "type": "structure", + "members": {} + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resource-arn", + "documentation": "

    The ARN of the resource.

    " + }, + "TagKeys": { + "shape": "__listOf__string", + "location": "querystring", + "locationName": "tagKeys", + "documentation": "

    Keys of key-value pairs.

    " + } + }, + "required": [ + "TagKeys", + "ResourceArn" + ] + }, + "UpdateDiscovererInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the discoverer to update.

    " + } + } + }, + "UpdateDiscovererRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the discoverer to update.

    " + }, + "DiscovererId": { + "shape": "__string", + "location": "uri", + "locationName": "discovererId", + "documentation": "

    The ID of the discoverer.

    " + } + }, + "required": [ + "DiscovererId" + ] + }, + "UpdateDiscovererResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the discoverer.

    " + }, + "DiscovererArn": { + "shape": "__string", + "documentation": "

    The ARN of the discoverer.

    " + }, + "DiscovererId": { + "shape": "__string", + "documentation": "

    The ID of the discoverer.

    " + }, + "SourceArn": { + "shape": "__string", + "documentation": "

    The ARN of the event bus.

    " + }, + "State": { + "shape": "DiscovererState", + "documentation": "

    The state of the discoverer.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the resource.

    " + } + } + }, + "UpdateRegistryInput": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the registry to update.

    " + } + } + }, + "UpdateRegistryRequest": { + "type": "structure", + "members": { + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the registry to update.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + } + }, + "documentation": "

    Updates the registry.

    ", + "required": [ + "RegistryName" + ] + }, + "UpdateRegistryResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the registry.

    " + }, + "RegistryArn": { + "shape": "__string", + "documentation": "

    The ARN of the registry.

    " + }, + "RegistryName": { + "shape": "__string", + "documentation": "

    The name of the registry.

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags", + "documentation": "

    Tags associated with the registry.

    " + } + } + }, + "UpdateSchemaInput": { + "type": "structure", + "members": { + "ClientTokenId": { + "shape": "__stringMin0Max36", + "documentation": "

    The ID of the client token.

    ", + "idempotencyToken": true + }, + "Content": { + "shape": "__stringMin1Max100000", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the schema.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The schema type for the events schema.

    " + } + } + }, + "UpdateSchemaRequest": { + "type": "structure", + "members": { + "ClientTokenId": { + "shape": "__stringMin0Max36", + "documentation": "

    The ID of the client token.

    ", + "idempotencyToken": true + }, + "Content": { + "shape": "__stringMin1Max100000", + "documentation": "

    The source of the schema definition.

    " + }, + "Description": { + "shape": "__stringMin0Max256", + "documentation": "

    The description of the schema.

    " + }, + "RegistryName": { + "shape": "__string", + "location": "uri", + "locationName": "registryName", + "documentation": "

    The name of the registry.

    " + }, + "SchemaName": { + "shape": "__string", + "location": "uri", + "locationName": "schemaName", + "documentation": "

    The name of the schema.

    " + }, + "Type": { + "shape": "Type", + "documentation": "

    The schema type for the events schema.

    " + } + }, + "required": [ + "RegistryName", + "SchemaName" + ] + }, + "UpdateSchemaResponse": { + "type": "structure", + "members": { + "Description": { + "shape": "__string", + "documentation": "

    The description of the schema.

    " + }, + "LastModified": { + "shape": "__timestampIso8601", + "documentation": "

    The date and time that schema was modified.

    " + }, + "SchemaArn": { + "shape": "__string", + "documentation": "

    The ARN of the schema.

    " + }, + "SchemaName": { + "shape": "__string", + "documentation": "

    The name of the schema.

    " + }, + "SchemaVersion": { + "shape": "__string", + "documentation": "

    The version number of the schema

    " + }, + "Tags": { + "shape": "Tags", + "locationName": "tags" + }, + "Type": { + "shape": "__string", + "documentation": "

    The type of the schema.

    " + }, + "VersionCreatedDate": { + "shape": "__timestampIso8601", + "documentation": "

    The date the schema version was created.

    " + } + } + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__integerMin1Max29000": { + "type": "integer", + "min": 1, + "max": 29000 + }, + "__listOfDiscovererSummary": { + "type": "list", + "member": { + "shape": "DiscovererSummary" + } + }, + "__listOfGetDiscoveredSchemaVersionItemInput": { + "type": "list", + "min": 1, + "max": 10, + "member": { + "shape": "GetDiscoveredSchemaVersionItemInput" + } + }, + "__listOfRegistrySummary": { + "type": "list", + "member": { + "shape": "RegistrySummary" + } + }, + "__listOfSchemaSummary": { + "type": "list", + "member": { + "shape": "SchemaSummary" + } + }, + "__listOfSchemaVersionSummary": { + "type": "list", + "member": { + "shape": "SchemaVersionSummary" + } + }, + "__listOfSearchSchemaSummary": { + "type": "list", + "member": { + "shape": "SearchSchemaSummary" + } + }, + "__listOfSearchSchemaVersionSummary": { + "type": "list", + "member": { + "shape": "SearchSchemaVersionSummary" + } + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + }, + "__stringMin0Max256": { + "type": "string", + "min": 0, + "max": 256 + }, + "__stringMin0Max36": { + "type": "string", + "min": 0, + "max": 36 + }, + "__stringMin1Max100000": { + "type": "string", + "min": 1, + "max": 100000 + }, + "__stringMin1Max1600": { + "type": "string", + "min": 1, + "max": 1600 + }, + "__stringMin20Max1600": { + "type": "string", + "min": 20, + "max": 1600 + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + }, + "Body": { + "type": "blob" + } + }, + "documentation": "

    Amazon EventBridge Schema Registry

    " +} diff -Nru python-botocore-1.4.70/botocore/data/schemas/2019-12-02/waiters-2.json python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/waiters-2.json --- python-botocore-1.4.70/botocore/data/schemas/2019-12-02/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/schemas/2019-12-02/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,36 @@ +{ + "version": 2, + "waiters": { + "CodeBindingExists": { + "description": "Wait until code binding is generated", + "delay": 2, + "operation": "DescribeCodeBinding", + "maxAttempts": 30, + "acceptors": [ + { + "expected": "CREATE_COMPLETE", + "matcher": "path", + "state": "success", + "argument": "Status" + }, + { + "expected": "CREATE_IN_PROGRESS", + "matcher": "path", + "state": "retry", + "argument": "Status" + }, + { + "expected": "CREATE_FAILED", + "matcher": "path", + "state": "failure", + "argument": "Status" + }, + { + "matcher": "error", + "expected": "NotFoundException", + "state": "failure" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sdb/2009-04-15/service-2.json python-botocore-1.16.19+repack/botocore/data/sdb/2009-04-15/service-2.json --- python-botocore-1.4.70/botocore/data/sdb/2009-04-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sdb/2009-04-15/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,8 +1,10 @@ { "metadata":{ + "uid":"sdb-2009-04-15", "apiVersion":"2009-04-15", "endpointPrefix":"sdb", "serviceFullName":"Amazon SimpleDB", + "serviceId":"SimpleDB", "signatureVersion":"v2", "xmlNamespace":"http://sdb.amazonaws.com/doc/2009-04-15/", "protocol":"query" diff -Nru python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/examples-1.json python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/examples-1.json --- python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,552 @@ +{ + "version": "1.0", + "examples": { + "CancelRotateSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "Name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to cancel rotation for a secret. The operation sets the RotationEnabled field to false and cancels all scheduled rotations. To resume scheduled rotations, you must re-enable rotation by calling the rotate-secret operation.", + "id": "to-cancel-scheduled-rotation-for-a-secret-1523996016032", + "title": "To cancel scheduled rotation for a secret" + } + ], + "CreateSecret": [ + { + "input": { + "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "Description": "My test database secret created with the CLI", + "Name": "MyTestDatabaseSecret", + "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a secret. The credentials stored in the encrypted secret value are retrieved from a file on disk named mycreds.json.", + "id": "to-create-a-basic-secret-1523996473658", + "title": "To create a basic secret" + } + ], + "DeleteResourcePolicy": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseMasterSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete the resource-based policy that is attached to a secret.", + "id": "to-delete-the-resource-based-policy-attached-to-a-secret-1530209419204", + "title": "To delete the resource-based policy attached to a secret" + } + ], + "DeleteSecret": [ + { + "input": { + "RecoveryWindowInDays": 7, + "SecretId": "MyTestDatabaseSecret1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "DeletionDate": "1524085349.095", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to delete a secret. The secret stays in your account in a deprecated and inaccessible state until the recovery window ends. After the date and time in the DeletionDate response field has passed, you can no longer recover this secret with restore-secret.", + "id": "to-delete-a-secret-1523996905092", + "title": "To delete a secret" + } + ], + "DescribeSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Description": "My test database secret", + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987KMSKEY1", + "LastAccessedDate": "1523923200", + "LastChangedDate": 1523477145.729, + "LastRotatedDate": 1525747253.72, + "Name": "MyTestDatabaseSecret", + "RotationEnabled": true, + "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", + "RotationRules": { + "AutomaticallyAfterDays": 30 + }, + "Tags": [ + { + "Key": "SecondTag", + "Value": "AnotherValue" + }, + { + "Key": "FirstTag", + "Value": "SomeValue" + } + ], + "VersionIdsToStages": { + "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSPREVIOUS" + ], + "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to get the details about a secret.", + "id": "to-retrieve-the-details-of-a-secret-1524000138629", + "title": "To retrieve the details of a secret" + } + ], + "GetRandomPassword": [ + { + "input": { + "IncludeSpace": true, + "PasswordLength": 20, + "RequireEachIncludedType": true + }, + "output": { + "RandomPassword": "N+Z43a,>vx7j O8^*<8i3" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to request a randomly generated password. This example includes the optional flags to require spaces and at least one character of each included type. It specifies a length of 20 characters.", + "id": "to-generate-a-random-password-1524000546092", + "title": "To generate a random password" + } + ], + "GetResourcePolicy": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve the resource-based policy that is attached to a secret.", + "id": "to-retrieve-the-resource-based-policy-attached-to-a-secret-1530209677536", + "title": "To retrieve the resource-based policy attached to a secret" + } + ], + "GetSecretValue": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "AWSPREVIOUS" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "CreatedDate": 1523477145.713, + "Name": "MyTestDatabaseSecret", + "SecretString": "{\n \"username\":\"david\",\n \"password\":\"BnQw&XDWgaEeT9XGTT29\"\n}\n", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "VersionStages": [ + "AWSPREVIOUS" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve the secret string value from the version of the secret that has the AWSPREVIOUS staging label attached. If you want to retrieve the AWSCURRENT version of the secret, then you can omit the VersionStage parameter because it defaults to AWSCURRENT.", + "id": "to-retrieve-the-encrypted-secret-value-of-a-secret-1524000702484", + "title": "To retrieve the encrypted secret value of a secret" + } + ], + "ListSecretVersionIds": [ + { + "input": { + "IncludeDeprecated": true, + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "Versions": [ + { + "CreatedDate": 1523477145.713, + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSPREVIOUS" + ] + }, + { + "CreatedDate": 1523486221.391, + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSCURRENT" + ] + }, + { + "CreatedDate": 1511974462.36, + "VersionId": "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE;" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to retrieve a list of all of the versions of a secret, including those without any staging labels.", + "id": "to-list-all-of-the-secret-versions-associated-with-a-secret-1524000999164", + "title": "To list all of the secret versions associated with a secret" + } + ], + "ListSecrets": [ + { + "input": { + }, + "output": { + "SecretList": [ + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Description": "My test database secret", + "LastChangedDate": 1523477145.729, + "Name": "MyTestDatabaseSecret", + "SecretVersionsToStages": { + "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + }, + { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret1-d4e5f6", + "Description": "Another secret created for a different database", + "LastChangedDate": 1523482025.685, + "Name": "MyTestDatabaseSecret1", + "SecretVersionsToStages": { + "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE": [ + "AWSCURRENT" + ] + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to list all of the secrets in your account.", + "id": "to-list-the-secrets-in-your-account-1524001246087", + "title": "To list the secrets in your account" + } + ], + "PutResourcePolicy": [ + { + "input": { + "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n\"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\":\"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to add a resource-based policy to a secret.", + "id": "to-add-a-resource-based-policy-to-a-secret-1530209881839", + "title": "To add a resource-based policy to a secret" + } + ], + "PutSecretValue": [ + { + "input": { + "ClientRequestToken": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "SecretId": "MyTestDatabaseSecret", + "SecretString": "{\"username\":\"david\",\"password\":\"BnQw!XDWgaEeT9XGTT29\"}" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "VersionStages": [ + "AWSCURRENT" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a new version of the secret. Alternatively, you can use the update-secret command.", + "id": "to-store-a-secret-value-in-a-new-version-of-a-secret-1524001393971", + "title": "To store a secret value in a new version of a secret" + } + ], + "RestoreSecret": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to restore a secret that you previously scheduled for deletion.", + "id": "to-restore-a-previously-deleted-secret-1524001513930", + "title": "To restore a previously deleted secret" + } + ], + "RotateSecret": [ + { + "input": { + "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestDatabaseRotationLambda", + "RotationRules": { + "AutomaticallyAfterDays": 30 + }, + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE2-90ab-cdef-fedc-ba987SECRET2" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures rotation for a secret by providing the ARN of a Lambda rotation function (which must already exist) and the number of days between rotation. The first rotation happens immediately upon completion of this command. The rotation function runs asynchronously in the background.", + "id": "to-configure-rotation-for-a-secret-1524001629475", + "title": "To configure rotation for a secret" + } + ], + "TagResource": [ + { + "input": { + "SecretId": "MyExampleSecret", + "Tags": [ + { + "Key": "FirstTag", + "Value": "SomeValue" + }, + { + "Key": "SecondTag", + "Value": "AnotherValue" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to attach two tags each with a Key and Value to a secret. There is no output from this API. To see the result, use the DescribeSecret operation.", + "id": "to-add-tags-to-a-secret-1524002106718", + "title": "To add tags to a secret" + } + ], + "UntagResource": [ + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "TagKeys": [ + "FirstTag", + "SecondTag" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to remove two tags from a secret's metadata. For each, both the tag and the associated value are removed. There is no output from this API. To see the result, use the DescribeSecret operation.", + "id": "to-remove-tags-from-a-secret-1524002239065", + "title": "To remove tags from a secret" + } + ], + "UpdateSecret": [ + { + "input": { + "ClientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", + "Description": "This is a new description for the secret.", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to modify the description of a secret.", + "id": "to-update-the-description-of-a-secret-1524002349094", + "title": "To update the description of a secret" + }, + { + "input": { + "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", + "SecretId": "MyTestDatabaseSecret" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows how to update the KMS customer managed key (CMK) used to encrypt the secret value. The KMS CMK must be in the same region as the secret.", + "id": "to-update-the-kms-key-associated-with-a-secret-1524002421563", + "title": "To update the KMS key associated with a secret" + }, + { + "input": { + "SecretId": "MyTestDatabaseSecret", + "SecretString": "{JSON STRING WITH CREDENTIALS}" + }, + "output": { + "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret", + "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows how to create a new version of the secret by updating the SecretString field. Alternatively, you can use the put-secret-value operation.", + "id": "to-create-a-new-version-of-the-encrypted-secret-value-1524004651836", + "title": "To create a new version of the encrypted secret value" + } + ], + "UpdateSecretVersionStage": [ + { + "input": { + "MoveToVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "STAGINGLABEL1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to add a staging label to a version of a secret. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-add-a-staging-label-attached-to-a-version-of-a-secret-1524004783841", + "title": "To add a staging label attached to a version of a secret" + }, + { + "input": { + "RemoveFromVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "STAGINGLABEL1" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to delete a staging label that is attached to a version of a secret. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-delete-a-staging-label-attached-to-a-version-of-a-secret-1524004862181", + "title": "To delete a staging label attached to a version of a secret" + }, + { + "input": { + "MoveToVersionId": "EXAMPLE2-90ab-cdef-fedc-ba987SECRET2", + "RemoveFromVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987SECRET1", + "SecretId": "MyTestDatabaseSecret", + "VersionStage": "AWSCURRENT" + }, + "output": { + "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", + "Name": "MyTestDatabaseSecret" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows you how to move a staging label that is attached to one version of a secret to a different version. You can review the results by running the operation ListSecretVersionIds and viewing the VersionStages response field for the affected version.", + "id": "to-move-a-staging-label-from-one-version-of-a-secret-to-another-1524004963841", + "title": "To move a staging label from one version of a secret to another" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/paginators-1.json python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/paginators-1.json --- python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListSecrets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "SecretList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/service-2.json python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/service-2.json --- python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1358 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-17", + "endpointPrefix":"secretsmanager", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"AWS Secrets Manager", + "serviceId":"Secrets Manager", + "signatureVersion":"v4", + "signingName":"secretsmanager", + "targetPrefix":"secretsmanager", + "uid":"secretsmanager-2017-10-17" + }, + "operations":{ + "CancelRotateSecret":{ + "name":"CancelRotateSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelRotateSecretRequest"}, + "output":{"shape":"CancelRotateSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Disables automatic scheduled rotation and cancels the rotation of a secret if one is currently in progress.

    To re-enable scheduled rotation, call RotateSecret with AutomaticallyRotateAfterDays set to a value greater than 0. This will immediately rotate your secret and then enable the automatic schedule.

    If you cancel a rotation that is in progress, it can leave the VersionStage labels in an unexpected state. Depending on what step of the rotation was in progress, you might need to remove the staging label AWSPENDING from the partially created version, specified by the VersionId response value. You should also evaluate the partially rotated new version to see if it should be deleted, which you can do by removing all staging labels from the new version's VersionStage field.

    To successfully start a rotation, the staging label AWSPENDING must be in one of the following states:

    • Not be attached to any version at all

    • Attached to the same version as the staging label AWSCURRENT

    If the staging label AWSPENDING is attached to a different version than the version with AWSCURRENT then the attempt to rotate fails.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:CancelRotateSecret

    Related operations

    • To configure rotation for a secret or to manually trigger a rotation, use RotateSecret.

    • To get the rotation configuration details for a secret, use DescribeSecret.

    • To list all of the currently available secrets, use ListSecrets.

    • To list all of the versions currently associated with a secret, use ListSecretVersionIds.

    " + }, + "CreateSecret":{ + "name":"CreateSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSecretRequest"}, + "output":{"shape":"CreateSecretResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"EncryptionFailure"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"InternalServiceError"}, + {"shape":"PreconditionNotMetException"} + ], + "documentation":"

    Creates a new secret. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.

    Secrets Manager stores the encrypted secret data in one of a collection of \"versions\" associated with the secret. Each version contains a copy of the encrypted secret data. Each version is associated with one or more \"staging labels\" that identify where the version is in the rotation cycle. The SecretVersionsToStages field of the secret contains the mapping of staging labels to the active versions of the secret. Versions without a staging label are considered deprecated and are not included in the list.

    You provide the secret data to be encrypted by putting text in either the SecretString parameter or binary data in the SecretBinary parameter, but not both. If you include SecretString or SecretBinary then Secrets Manager also creates an initial secret version and automatically attaches the staging label AWSCURRENT to the new version.

    • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

    • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:CreateSecret

    • kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

    • kms:Decrypt - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

    • secretsmanager:TagResource - needed only if you include the Tags parameter.

    Related operations

    • To delete a secret, use DeleteSecret.

    • To modify an existing secret, use UpdateSecret.

    • To create a new version of a secret, use PutSecretValue.

    • To retrieve the encrypted secure string and secure binary values, use GetSecretValue.

    • To retrieve all other details for a secret, use DescribeSecret. This does not include the encrypted secure string and secure binary values.

    • To retrieve the list of secret versions associated with the current secret, use DescribeSecret and examine the SecretVersionsToStages response value.

    " + }, + "DeleteResourcePolicy":{ + "name":"DeleteResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourcePolicyRequest"}, + "output":{"shape":"DeleteResourcePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Deletes the resource-based permission policy that's attached to the secret.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:DeleteResourcePolicy

    Related operations

    • To attach a resource policy to a secret, use PutResourcePolicy.

    • To retrieve the current resource-based policy that's attached to a secret, use GetResourcePolicy.

    • To list all of the currently available secrets, use ListSecrets.

    " + }, + "DeleteSecret":{ + "name":"DeleteSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSecretRequest"}, + "output":{"shape":"DeleteSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Deletes an entire secret and all of its versions. You can optionally include a recovery window during which you can restore the secret. If you don't specify a recovery window value, the operation defaults to 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.

    At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate and cancel the deletion of the secret.

    You cannot access the encrypted secret information in any secret that is scheduled for deletion. If you need to access that information, you must cancel the deletion with RestoreSecret and then retrieve the information.

    • There is no explicit operation to delete a version of a secret. Instead, remove all staging labels from the VersionStage field of a version. That marks the version as deprecated and allows Secrets Manager to delete it as needed. Versions that do not have any staging labels do not show up in ListSecretVersionIds unless you specify IncludeDeprecated.

    • The permanent secret deletion at the end of the waiting period is performed as a background task with low priority. There is no guarantee of a specific time after the recovery window for the actual delete operation to occur.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:DeleteSecret

    Related operations

    • To create a secret, use CreateSecret.

    • To cancel deletion of a version of a secret before the recovery window has expired, use RestoreSecret.

    " + }, + "DescribeSecret":{ + "name":"DescribeSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecretRequest"}, + "output":{"shape":"DescribeSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Retrieves the details of a secret. It does not include the encrypted fields. Only those fields that are populated with a value are returned in the response.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:DescribeSecret

    Related operations

    " + }, + "GetRandomPassword":{ + "name":"GetRandomPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRandomPasswordRequest"}, + "output":{"shape":"GetRandomPasswordResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Generates a random password of the specified complexity. This operation is intended for use in the Lambda rotation function. Per best practice, we recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:GetRandomPassword

    " + }, + "GetResourcePolicy":{ + "name":"GetResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetResourcePolicyRequest"}, + "output":{"shape":"GetResourcePolicyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Retrieves the JSON text of the resource-based policy document that's attached to the specified secret. The JSON request string input and response output are shown formatted with white space and line breaks for better readability. Submit your input as a single line JSON string.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:GetResourcePolicy

    Related operations

    " + }, + "GetSecretValue":{ + "name":"GetSecretValue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSecretValueRequest"}, + "output":{"shape":"GetSecretValueResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"DecryptionFailure"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:GetSecretValue

    • kms:Decrypt - required only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

    Related operations

    • To create a new version of the secret with different encrypted information, use PutSecretValue.

    • To retrieve the non-encrypted details for the secret, use DescribeSecret.

    " + }, + "ListSecretVersionIds":{ + "name":"ListSecretVersionIds", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSecretVersionIdsRequest"}, + "output":{"shape":"ListSecretVersionIdsResponse"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Lists all of the versions attached to the specified secret. The output does not include the SecretString or SecretBinary fields. By default, the list includes only versions that have at least one staging label in VersionStage attached.

    Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:ListSecretVersionIds

    Related operations

    " + }, + "ListSecrets":{ + "name":"ListSecrets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSecretsRequest"}, + "output":{"shape":"ListSecretsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Lists all of the secrets that are stored by Secrets Manager in the AWS account. To list the versions currently stored for a specific secret, use ListSecretVersionIds. The encrypted fields SecretString and SecretBinary are not included in the output. To get that information, call the GetSecretValue operation.

    Always check the NextToken response parameter when calling any of the List* operations. These operations can occasionally return an empty or shorter than expected list of results even when there are more results available. When this happens, the NextToken response parameter contains a value to pass to the next call to the same API to request the next part of the list.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:ListSecrets

    Related operations

    " + }, + "PutResourcePolicy":{ + "name":"PutResourcePolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutResourcePolicyRequest"}, + "output":{"shape":"PutResourcePolicyResponse"}, + "errors":[ + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Attaches the contents of the specified resource-based permission policy to a secret. A resource-based policy is optional. Alternatively, you can use IAM identity-based policies that specify the secret's Amazon Resource Name (ARN) in the policy statement's Resources element. You can also use a combination of both identity-based and resource-based policies. The affected users and roles receive the permissions that are permitted by all of the relevant policies. For more information, see Using Resource-Based Policies for AWS Secrets Manager. For the complete description of the AWS policy syntax and grammar, see IAM JSON Policy Reference in the IAM User Guide.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:PutResourcePolicy

    Related operations

    • To retrieve the resource policy that's attached to a secret, use GetResourcePolicy.

    • To delete the resource-based policy that's attached to a secret, use DeleteResourcePolicy.

    • To list all of the currently available secrets, use ListSecrets.

    " + }, + "PutSecretValue":{ + "name":"PutSecretValue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutSecretValueRequest"}, + "output":{"shape":"PutSecretValueResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"EncryptionFailure"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Stores a new encrypted secret value in the specified secret. To do this, the operation creates a new version and attaches it to the secret. The version can contain a new SecretString value or a new SecretBinary value. You can also specify the staging labels that are initially attached to the new version.

    The Secrets Manager console uses only the SecretString field. To add binary data to a secret with the SecretBinary field you must use the AWS CLI or one of the AWS SDKs.

    • If this operation creates the first version for the secret then Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

    • If another version of this secret already exists, then this operation does not automatically move any staging labels other than those that you explicitly specify in the VersionStages parameter.

    • If this operation moves the staging label AWSCURRENT from another version to this version (because you included it in the StagingLabels parameter) then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from.

    • This operation is idempotent. If a version with a VersionId with the same value as the ClientRequestToken parameter already exists and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you cannot modify an existing version; you can only create new ones.

    • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

    • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:PutSecretValue

    • kms:GenerateDataKey - needed only if you use a customer-managed AWS KMS key to encrypt the secret. You do not need this permission to use the account's default AWS managed CMK for Secrets Manager.

    Related operations

    " + }, + "RestoreSecret":{ + "name":"RestoreSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreSecretRequest"}, + "output":{"shape":"RestoreSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. This makes the secret accessible to query once again.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:RestoreSecret

    Related operations

    " + }, + "RotateSecret":{ + "name":"RotateSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RotateSecretRequest"}, + "output":{"shape":"RotateSecretResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Configures and starts the asynchronous process of rotating this secret. If you include the configuration parameters, the operation sets those values for the secret and then immediately starts a rotation. If you do not include the configuration parameters, the operation starts a rotation with the values already stored in the secret. After the rotation completes, the protected service and its clients all use the new version of the secret.

    This required configuration information includes the ARN of an AWS Lambda function and the time between scheduled rotations. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the protected service to match. After testing the new credentials, the function marks the new secret with the staging label AWSCURRENT so that your clients all immediately begin to use the new version. For more information about rotating secrets and how to configure a Lambda function to rotate the secrets for your protected service, see Rotating Secrets in AWS Secrets Manager in the AWS Secrets Manager User Guide.

    Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

    The rotation function must end with the versions of the secret in one of two states:

    • The AWSPENDING and AWSCURRENT staging labels are attached to the same version of the secret, or

    • The AWSPENDING staging label is not attached to any version of the secret.

    If instead the AWSPENDING staging label is present but is not attached to the same version as AWSCURRENT then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:RotateSecret

    • lambda:InvokeFunction (on the function specified in the secret's metadata)

    Related operations

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Attaches one or more tags, each consisting of a key name and a value, to the specified secret. Tags are part of the secret's overall metadata, and are not associated with any specific version of the secret. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

    The following basic restrictions apply to tags:

    • Maximum number of tags per secret—50

    • Maximum key length—127 Unicode characters in UTF-8

    • Maximum value length—255 Unicode characters in UTF-8

    • Tag keys and values are case sensitive.

    • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

    • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

    If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:TagResource

    Related operations

    • To remove one or more tags from the collection attached to a secret, use UntagResource.

    • To view the list of tags attached to a secret, use DescribeSecret.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Removes one or more tags from the specified secret.

    This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

    If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:UntagResource

    Related operations

    • To add one or more tags to the collection attached to a secret, use TagResource.

    • To view the list of tags attached to a secret, use DescribeSecret.

    " + }, + "UpdateSecret":{ + "name":"UpdateSecret", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecretRequest"}, + "output":{"shape":"UpdateSecretResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"EncryptionFailure"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"MalformedPolicyDocumentException"}, + {"shape":"InternalServiceError"}, + {"shape":"PreconditionNotMetException"} + ], + "documentation":"

    Modifies many of the details of the specified secret. If you include a ClientRequestToken and either SecretString or SecretBinary then it also creates a new version attached to the secret.

    To modify the rotation configuration of a secret, use RotateSecret instead.

    The Secrets Manager console uses only the SecretString parameter and therefore limits you to encrypting and storing only a text string. To encrypt and store binary data as part of the version of a secret, you must use either the AWS CLI or one of the AWS SDKs.

    • If a version with a VersionId with the same value as the ClientRequestToken parameter already exists, the operation results in an error. You cannot modify an existing version, you can only create a new version.

    • If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

    • If you call an operation that needs to encrypt or decrypt the SecretString or SecretBinary for a secret in the same account as the calling user and that secret doesn't specify a AWS KMS encryption key, Secrets Manager uses the account's default AWS managed customer master key (CMK) with the alias aws/secretsmanager. If this key doesn't already exist in your account then Secrets Manager creates it for you automatically. All users and roles in the same AWS account automatically have access to use the default CMK. Note that if an Secrets Manager API call results in AWS having to create the account's AWS-managed CMK, it can result in a one-time significant delay in returning the result.

    • If the secret is in a different AWS account from the credentials calling an API that requires encryption or decryption of the secret value then you must create and use a custom AWS KMS CMK because you can't access the default CMK for the account using credentials from a different AWS account. Store the ARN of the CMK in the secret when you create the secret or when you update it by including it in the KMSKeyId. If you call an API that must encrypt or decrypt SecretString or SecretBinary using credentials from a different account then the AWS KMS key policy must grant cross-account access to that other account's user or role for both the kms:GenerateDataKey and kms:Decrypt operations.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:UpdateSecret

    • kms:GenerateDataKey - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.

    • kms:Decrypt - needed only if you use a custom AWS KMS key to encrypt the secret. You do not need this permission to use the account's AWS managed CMK for Secrets Manager.

    Related operations

    " + }, + "UpdateSecretVersionStage":{ + "name":"UpdateSecretVersionStage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSecretVersionStageRequest"}, + "output":{"shape":"UpdateSecretVersionStageResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalServiceError"} + ], + "documentation":"

    Modifies the staging labels attached to a version of a secret. Staging labels are used to track a version as it progresses through the secret rotation process. You can attach a staging label to only one version of a secret at a time. If a staging label to be added is already attached to another version, then it is moved--removed from the other version first and then attached to this one. For more information about staging labels, see Staging Labels in the AWS Secrets Manager User Guide.

    The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels--they don't replace it.

    You can move the AWSCURRENT staging label to this version by including it in this call.

    Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

    If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

    Minimum permissions

    To run this command, you must have the following permissions:

    • secretsmanager:UpdateSecretVersionStage

    Related operations

    • To get the list of staging labels that are currently associated with a version of a secret, use DescribeSecret and examine the SecretVersionsToStages response value.

    " + } + }, + "shapes":{ + "AutomaticallyRotateAfterDaysType":{ + "type":"long", + "max":1000, + "min":1 + }, + "BooleanType":{"type":"boolean"}, + "CancelRotateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret for which you want to cancel a rotation request. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + } + } + }, + "CancelRotateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret for which rotation was canceled.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret for which rotation was canceled.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The unique identifier of the version of the secret that was created during the rotation. This version might not be complete, and should be evaluated for possible deletion. At the very least, you should remove the VersionStage value AWSPENDING to enable this version to be deleted. Failing to clean up a cancelled rotation can block you from successfully starting future rotations.

    " + } + } + }, + "ClientRequestTokenType":{ + "type":"string", + "max":64, + "min":32 + }, + "CreateSecretRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NameType", + "documentation":"

    Specifies the friendly name of the new secret.

    The secret name must be ASCII letters, digits, or the following characters : /_+=.@-

    Don't end your secret name with a hyphen followed by six characters. If you do so, you risk confusion and unexpected results when searching for a secret by partial ARN. This is because Secrets Manager automatically adds a hyphen and six random characters at the end of the ARN.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "documentation":"

    (Optional) If you include SecretString or SecretBinary, then an initial version is created as part of the secret, and this parameter specifies a unique identifier for the new version.

    If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes it as the value for this parameter in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for the new version and include that value in the request.

    This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during a rotation. We recommend that you generate a UUID-type value to ensure uniqueness of your versions within the specified secret.

    • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

    • If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request, then the request is ignored (the operation is idempotent).

    • If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing version. Instead, use PutSecretValue to create a new version.

    This value becomes the VersionId of the new version.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

    (Optional) Specifies a user-provided description of the secret.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyIdType", + "documentation":"

    (Optional) Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) to be used to encrypt the SecretString or SecretBinary values in the versions stored in this secret.

    You can specify any of the supported ways to identify a AWS KMS key ID. If you need to reference a CMK in a different account, you can use only the key ARN or the alias ARN.

    If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager). If a AWS KMS CMK with that name doesn't yet exist, then Secrets Manager creates it for you automatically the first time it needs to encrypt a version's SecretString or SecretBinary fields.

    You can use the account's default CMK to encrypt and decrypt only if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and specify the ARN in this field.

    " + }, + "SecretBinary":{ + "shape":"SecretBinaryType", + "documentation":"

    (Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter.

    Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

    This parameter is not available using the Secrets Manager console. It can be accessed only by using the AWS CLI or one of the AWS SDKs.

    " + }, + "SecretString":{ + "shape":"SecretStringType", + "documentation":"

    (Optional) Specifies text data that you want to encrypt and store in this new version of the secret.

    Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

    If you create a secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

    For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

    [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

    If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

    " + }, + "Tags":{ + "shape":"TagListType", + "documentation":"

    (Optional) Specifies a list of user-defined tags that are attached to the secret. Each tag is a \"Key\" and \"Value\" pair of strings. This operation only appends tags to the existing list of tags. To remove tags, you must use UntagResource.

    • Secrets Manager tag key names are case sensitive. A tag with the key \"ABC\" is a different tag from one with key \"abc\".

    • If you check tags in IAM policy Condition elements as part of your security strategy, then adding or removing a tag can change permissions. If the successful completion of this operation would result in you losing your permissions for this secret, then this operation is blocked and returns an Access Denied error.

    This parameter requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

    [{\"Key\":\"CostCenter\",\"Value\":\"12345\"},{\"Key\":\"environment\",\"Value\":\"production\"}]

    If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

    The following basic restrictions apply to tags:

    • Maximum number of tags per secret—50

    • Maximum key length—127 Unicode characters in UTF-8

    • Maximum value length—255 Unicode characters in UTF-8

    • Tag keys and values are case sensitive.

    • Do not use the aws: prefix in your tag names or values because it is reserved for AWS use. You can't edit or delete tag names or values with this prefix. Tags with this prefix do not count against your tags per secret limit.

    • If your tagging schema will be used across multiple services and resources, remember that other services might have restrictions on allowed characters. Generally allowed characters are: letters, spaces, and numbers representable in UTF-8, plus the following special characters: + - = . _ : / @.

    " + } + } + }, + "CreateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The Amazon Resource Name (ARN) of the secret that you just created.

    Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret that you just created.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The unique identifier that's associated with the version of the secret you just created.

    " + } + } + }, + "CreatedDateType":{"type":"timestamp"}, + "DecryptionFailure":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Secrets Manager can't decrypt the protected secret text using the provided KMS key.

    ", + "exception":true + }, + "DeleteResourcePolicyRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to delete the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + } + } + }, + "DeleteResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that the resource-based policy was deleted for.

    " + }, + "Name":{ + "shape":"NameType", + "documentation":"

    The friendly name of the secret that the resource-based policy was deleted for.

    " + } + } + }, + "DeleteSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to delete. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "RecoveryWindowInDays":{ + "shape":"RecoveryWindowInDaysType", + "documentation":"

    (Optional) Specifies the number of days that Secrets Manager waits before it can delete the secret. You can't use both this parameter and the ForceDeleteWithoutRecovery parameter in the same API call.

    This value can range from 7 to 30 days. The default value is 30.

    ", + "box":true + }, + "ForceDeleteWithoutRecovery":{ + "shape":"BooleanType", + "documentation":"

    (Optional) Specifies that the secret is to be deleted without any recovery window. You can't use both this parameter and the RecoveryWindowInDays parameter in the same API call.

    An asynchronous background process performs the actual deletion, so there can be a short delay before the operation completes. If you write code to delete and then immediately recreate a secret with the same name, ensure that your code includes appropriate back off and retry logic.

    Use this parameter with caution. This parameter causes the operation to skip the normal waiting period before the permanent deletion that AWS would normally impose with the RecoveryWindowInDays parameter. If you delete a secret with the ForceDeleteWithouRecovery parameter, then you have no opportunity to recover the secret. It is permanently lost.

    ", + "box":true + } + } + }, + "DeleteSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that is now scheduled for deletion.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret that is now scheduled for deletion.

    " + }, + "DeletionDate":{ + "shape":"DeletionDateType", + "documentation":"

    The date and time after which this secret can be deleted by Secrets Manager and can no longer be restored. This value is the date and time of the delete request plus the number of days specified in RecoveryWindowInDays.

    ", + "box":true + } + } + }, + "DeletedDateType":{"type":"timestamp"}, + "DeletionDateType":{"type":"timestamp"}, + "DescribeSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    The identifier of the secret whose details you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + } + } + }, + "DescribeSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The user-provided friendly name of the secret.

    " + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

    The user-provided description of the secret.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyIdType", + "documentation":"

    The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString or SecretBinary fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default AWS KMS CMK (the one named awssecretsmanager) for this account.

    " + }, + "RotationEnabled":{ + "shape":"RotationEnabledType", + "documentation":"

    Specifies whether automatic rotation is enabled for this secret.

    To enable rotation, use RotateSecret with AutomaticallyRotateAfterDays set to a value greater than 0. To disable rotation, use CancelRotateSecret.

    ", + "box":true + }, + "RotationLambdaARN":{ + "shape":"RotationLambdaARNType", + "documentation":"

    The ARN of a Lambda function that's invoked by Secrets Manager to rotate the secret either automatically per the schedule or manually by a call to RotateSecret.

    " + }, + "RotationRules":{ + "shape":"RotationRulesType", + "documentation":"

    A structure that contains the rotation configuration for this secret.

    " + }, + "LastRotatedDate":{ + "shape":"LastRotatedDateType", + "documentation":"

    The most recent date and time that the Secrets Manager rotation process was successfully completed. This value is null if the secret has never rotated.

    ", + "box":true + }, + "LastChangedDate":{ + "shape":"LastChangedDateType", + "documentation":"

    The last date and time that this secret was modified in any way.

    ", + "box":true + }, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "documentation":"

    The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.

    ", + "box":true + }, + "DeletedDate":{ + "shape":"DeletedDateType", + "documentation":"

    This value exists if the secret is scheduled for deletion. Some time after the specified date and time, Secrets Manager deletes the secret and all of its versions.

    If a secret is scheduled for deletion, then its details, including the encrypted secret information, is not accessible. To cancel a scheduled deletion and restore access, use RestoreSecret.

    ", + "box":true + }, + "Tags":{ + "shape":"TagListType", + "documentation":"

    The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.

    " + }, + "VersionIdsToStages":{ + "shape":"SecretVersionsToStagesMapType", + "documentation":"

    A list of all of the currently assigned VersionStage staging labels and the VersionId that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.

    A version that does not have any staging labels attached is considered deprecated and subject to deletion. Such versions are not included in this list.

    " + }, + "OwningService":{ + "shape":"OwningServiceType", + "documentation":"

    Returns the name of the service that created this secret.

    " + } + } + }, + "DescriptionType":{ + "type":"string", + "max":2048 + }, + "EncryptionFailure":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Secrets Manager can't encrypt the protected secret text using the provided KMS key. Check that the customer master key (CMK) is available, enabled, and not in an invalid state. For more information, see How Key State Affects Use of a Customer Master Key.

    ", + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "ExcludeCharactersType":{ + "type":"string", + "max":4096, + "min":0 + }, + "ExcludeLowercaseType":{"type":"boolean"}, + "ExcludeNumbersType":{"type":"boolean"}, + "ExcludePunctuationType":{"type":"boolean"}, + "ExcludeUppercaseType":{"type":"boolean"}, + "GetRandomPasswordRequest":{ + "type":"structure", + "members":{ + "PasswordLength":{ + "shape":"PasswordLengthType", + "documentation":"

    The desired length of the generated password. The default value if you do not include this parameter is 32 characters.

    ", + "box":true + }, + "ExcludeCharacters":{ + "shape":"ExcludeCharactersType", + "documentation":"

    A string that includes characters that should not be included in the generated password. The default is that all characters from the included sets can be used.

    " + }, + "ExcludeNumbers":{ + "shape":"ExcludeNumbersType", + "documentation":"

    Specifies that the generated password should not include digits. The default if you do not include this switch parameter is that digits can be included.

    ", + "box":true + }, + "ExcludePunctuation":{ + "shape":"ExcludePunctuationType", + "documentation":"

    Specifies that the generated password should not include punctuation characters. The default if you do not include this switch parameter is that punctuation characters can be included.

    The following are the punctuation characters that can be included in the generated password if you don't explicitly exclude them with ExcludeCharacters or ExcludePunctuation:

    ! \" # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \\ ] ^ _ ` { | } ~

    ", + "box":true + }, + "ExcludeUppercase":{ + "shape":"ExcludeUppercaseType", + "documentation":"

    Specifies that the generated password should not include uppercase letters. The default if you do not include this switch parameter is that uppercase letters can be included.

    ", + "box":true + }, + "ExcludeLowercase":{ + "shape":"ExcludeLowercaseType", + "documentation":"

    Specifies that the generated password should not include lowercase letters. The default if you do not include this switch parameter is that lowercase letters can be included.

    ", + "box":true + }, + "IncludeSpace":{ + "shape":"IncludeSpaceType", + "documentation":"

    Specifies that the generated password can include the space character. The default if you do not include this switch parameter is that the space character is not included.

    ", + "box":true + }, + "RequireEachIncludedType":{ + "shape":"RequireEachIncludedTypeType", + "documentation":"

    A boolean value that specifies whether the generated password must include at least one of every allowed character type. The default value is True and the operation requires at least one of every character type.

    ", + "box":true + } + } + }, + "GetRandomPasswordResponse":{ + "type":"structure", + "members":{ + "RandomPassword":{ + "shape":"RandomPasswordType", + "documentation":"

    A string with the generated password.

    " + } + } + }, + "GetResourcePolicyRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to retrieve the attached resource-based policy for. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + } + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that the resource-based policy was retrieved for.

    " + }, + "Name":{ + "shape":"NameType", + "documentation":"

    The friendly name of the secret that the resource-based policy was retrieved for.

    " + }, + "ResourcePolicy":{ + "shape":"NonEmptyResourcePolicyType", + "documentation":"

    A JSON-formatted string that describes the permissions that are associated with the attached secret. These permissions are combined with any permissions that are associated with the user or role that attempts to access this secret. The combined permissions specify who can access the secret and what actions they can perform. For more information, see Authentication and Access Control for AWS Secrets Manager in the AWS Secrets Manager User Guide.

    " + } + } + }, + "GetSecretValueRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret containing the version that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    Specifies the unique identifier of the version of the secret that you want to retrieve. If you specify this parameter then don't specify VersionStage. If you don't specify either a VersionStage or VersionId then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT.

    This value is typically a UUID-type value with 32 hexadecimal digits.

    " + }, + "VersionStage":{ + "shape":"SecretVersionStageType", + "documentation":"

    Specifies the secret version that you want to retrieve by the staging label attached to the version.

    Staging labels are used to keep track of different versions during the rotation process. If you use this parameter then don't specify VersionId. If you don't specify either a VersionStage or VersionId, then the default is to perform the operation on the version with the VersionStage value of AWSCURRENT.

    " + } + } + }, + "GetSecretValueResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The unique identifier of this version of the secret.

    " + }, + "SecretBinary":{ + "shape":"SecretBinaryType", + "documentation":"

    The decrypted part of the protected secret information that was originally provided as binary data in the form of a byte array. The response parameter represents the binary data as a base64-encoded string.

    This parameter is not used if the secret is created by the Secrets Manager console.

    If you store custom information in this field of the secret, then you must code your Lambda rotation function to parse and interpret whatever you store in the SecretString or SecretBinary fields.

    " + }, + "SecretString":{ + "shape":"SecretStringType", + "documentation":"

    The decrypted part of the protected secret information that was originally provided as a string.

    If you create this secret by using the Secrets Manager console then only the SecretString parameter contains data. Secrets Manager stores the information as a JSON structure of key/value pairs that the Lambda rotation function knows how to parse.

    If you store custom information in the secret by using the CreateSecret, UpdateSecret, or PutSecretValue API operations instead of the Secrets Manager console, or by using the Other secret type in the console, then you must code your Lambda rotation function to parse and interpret those values.

    " + }, + "VersionStages":{ + "shape":"SecretVersionStagesType", + "documentation":"

    A list of all of the staging labels currently attached to this version of the secret.

    " + }, + "CreatedDate":{ + "shape":"CreatedDateType", + "documentation":"

    The date and time that this version of the secret was created.

    ", + "box":true + } + } + }, + "IncludeSpaceType":{"type":"boolean"}, + "InternalServiceError":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An error occurred on the server side.

    ", + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You provided an invalid NextToken value.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You provided an invalid value for a parameter.

    ", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You provided a parameter value that is not valid for the current state of the resource.

    Possible causes:

    • You tried to perform the operation on a secret that's currently marked deleted.

    • You tried to enable rotation on a secret that doesn't already have a Lambda function ARN configured and you didn't include such an ARN as a parameter in this call.

    ", + "exception":true + }, + "KmsKeyIdType":{ + "type":"string", + "max":2048, + "min":0 + }, + "LastAccessedDateType":{"type":"timestamp"}, + "LastChangedDateType":{"type":"timestamp"}, + "LastRotatedDateType":{"type":"timestamp"}, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request failed because it would exceed one of the Secrets Manager internal limits.

    ", + "exception":true + }, + "ListSecretVersionIdsRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    The identifier for the secret containing the versions you want to list. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "MaxResults":{ + "shape":"MaxResultsType", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "IncludeDeprecated":{ + "shape":"BooleanType", + "documentation":"

    (Optional) Specifies that you want the results to include versions that do not have any staging labels attached to them. Such versions are considered deprecated and are subject to deletion by Secrets Manager as needed.

    ", + "box":true + } + } + }, + "ListSecretVersionIdsResponse":{ + "type":"structure", + "members":{ + "Versions":{ + "shape":"SecretVersionsListType", + "documentation":"

    The list of the currently available versions of the specified secret.

    " + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

    If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + }, + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The Amazon Resource Name (ARN) for the secret.

    Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret.

    " + } + } + }, + "ListSecretsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResultsType", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, it defaults to a value that's specific to the operation. If additional items exist beyond the maximum you specify, the NextToken response element is present and has a value (isn't null). Include that value as the NextToken request parameter in the next call to the operation to get the next part of the results. Note that Secrets Manager might return fewer results than the maximum even when there are more results available. You should check NextToken after every operation to ensure that you receive all of the results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + } + } + }, + "ListSecretsResponse":{ + "type":"structure", + "members":{ + "SecretList":{ + "shape":"SecretListType", + "documentation":"

    A list of the secrets in the account.

    " + }, + "NextToken":{ + "shape":"NextTokenType", + "documentation":"

    If present in the response, this value indicates that there's more output available than what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + } + } + }, + "MalformedPolicyDocumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The policy document that you provided isn't valid.

    ", + "exception":true + }, + "MaxResultsType":{ + "type":"integer", + "max":100, + "min":1 + }, + "NameType":{ + "type":"string", + "max":512, + "min":1 + }, + "NextTokenType":{ + "type":"string", + "max":4096, + "min":1 + }, + "NonEmptyResourcePolicyType":{ + "type":"string", + "max":20480, + "min":1 + }, + "OwningServiceType":{ + "type":"string", + "max":128, + "min":1 + }, + "PasswordLengthType":{ + "type":"long", + "max":4096, + "min":1 + }, + "PreconditionNotMetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request failed because you did not complete all the prerequisite steps.

    ", + "exception":true + }, + "PutResourcePolicyRequest":{ + "type":"structure", + "required":[ + "SecretId", + "ResourcePolicy" + ], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to attach the resource-based policy to. You can specify either the ARN or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "ResourcePolicy":{ + "shape":"NonEmptyResourcePolicyType", + "documentation":"

    A JSON-formatted string that's constructed according to the grammar and syntax for an AWS resource-based policy. The policy in the string identifies who can access or manage this secret and its versions. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

    " + } + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that the resource-based policy was retrieved for.

    " + }, + "Name":{ + "shape":"NameType", + "documentation":"

    The friendly name of the secret that the resource-based policy was retrieved for.

    " + } + } + }, + "PutSecretValueRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "documentation":"

    (Optional) Specifies a unique identifier for the new version of the secret.

    If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

    This value helps ensure idempotency. Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

    • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

    • If a version with this value already exists and that version's SecretString or SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent).

    • If a version with this value already exists and that version's SecretString and SecretBinary values are different from those in the request then the request fails because you cannot modify an existing secret version. You can only create new versions to store new secret values.

    This value becomes the VersionId of the new version.

    ", + "idempotencyToken":true + }, + "SecretBinary":{ + "shape":"SecretBinaryType", + "documentation":"

    (Optional) Specifies binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

    This parameter is not accessible if the secret using the Secrets Manager console.

    " + }, + "SecretString":{ + "shape":"SecretStringType", + "documentation":"

    (Optional) Specifies text data that you want to encrypt and store in this new version of the secret. Either SecretString or SecretBinary must have a value, but not both. They cannot both be empty.

    If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

    For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

    For example:

    [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

    If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text.

    " + }, + "VersionStages":{ + "shape":"SecretVersionStagesType", + "documentation":"

    (Optional) Specifies a list of staging labels that are attached to this version of the secret. These staging labels are used to track the versions through the rotation process by the Lambda rotation function.

    A staging label must be unique to a single version of the secret. If you specify a staging label that's already associated with a different version of the same secret then that staging label is automatically removed from the other version and attached to this version.

    If you do not specify a value for VersionStages then Secrets Manager automatically moves the staging label AWSCURRENT to this new version.

    " + } + } + }, + "PutSecretValueResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The Amazon Resource Name (ARN) for the secret for which you just created a version.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret for which you just created or updated a version.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The unique identifier of the version of the secret you just created or updated.

    " + }, + "VersionStages":{ + "shape":"SecretVersionStagesType", + "documentation":"

    The list of staging labels that are currently attached to this version of the secret. Staging labels are used to track a version as it progresses through the secret rotation process.

    " + } + } + }, + "RandomPasswordType":{ + "type":"string", + "max":4096, + "min":0, + "sensitive":true + }, + "RecoveryWindowInDaysType":{"type":"long"}, + "RequireEachIncludedTypeType":{"type":"boolean"}, + "ResourceExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    A resource with the ID you requested already exists.

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    We can't find the resource that you asked for.

    ", + "exception":true + }, + "RestoreSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to restore from a previously scheduled deletion. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + } + } + }, + "RestoreSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that was restored.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret that was restored.

    " + } + } + }, + "RotateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to rotate. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "documentation":"

    (Optional) Specifies a unique identifier for the new version of the secret that helps ensure idempotency.

    If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request for this parameter. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

    You only need to specify your own value if you are implementing your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

    Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the function's processing. This value becomes the VersionId of the new version.

    ", + "idempotencyToken":true + }, + "RotationLambdaARN":{ + "shape":"RotationLambdaARNType", + "documentation":"

    (Optional) Specifies the ARN of the Lambda function that can rotate the secret.

    " + }, + "RotationRules":{ + "shape":"RotationRulesType", + "documentation":"

    A structure that defines the rotation configuration for this secret.

    " + } + } + }, + "RotateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The ID of the new version of the secret created by the rotation started by this request.

    ", + "box":true + } + } + }, + "RotationEnabledType":{"type":"boolean"}, + "RotationLambdaARNType":{ + "type":"string", + "max":2048, + "min":0 + }, + "RotationRulesType":{ + "type":"structure", + "members":{ + "AutomaticallyAfterDays":{ + "shape":"AutomaticallyRotateAfterDaysType", + "documentation":"

    Specifies the number of days between automatic scheduled rotations of the secret.

    Secrets Manager schedules the next rotation when the previous one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the actual date of the last rotation. The service chooses the hour within that 24-hour date window randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour and influenced by a variety of factors that help distribute load.

    ", + "box":true + } + }, + "documentation":"

    A structure that defines the rotation configuration for the secret.

    " + }, + "SecretARNType":{ + "type":"string", + "max":2048, + "min":20 + }, + "SecretBinaryType":{ + "type":"blob", + "max":65536, + "min":0, + "sensitive":true + }, + "SecretIdType":{ + "type":"string", + "max":2048, + "min":1 + }, + "SecretListEntry":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The Amazon Resource Name (ARN) of the secret.

    For more information about ARNs in Secrets Manager, see Policy Resources in the AWS Secrets Manager User Guide.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret. You can use forward slashes in the name to represent a path hierarchy. For example, /prod/databases/dbserver1 could represent the secret for a server named dbserver1 in the folder databases in the folder prod.

    " + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

    The user-provided description of the secret.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyIdType", + "documentation":"

    The ARN or alias of the AWS KMS customer master key (CMK) that's used to encrypt the SecretString and SecretBinary fields in each version of the secret. If you don't provide a key, then Secrets Manager defaults to encrypting the secret fields with the default KMS CMK (the one named awssecretsmanager) for this account.

    " + }, + "RotationEnabled":{ + "shape":"RotationEnabledType", + "documentation":"

    Indicates whether automatic, scheduled rotation is enabled for this secret.

    ", + "box":true + }, + "RotationLambdaARN":{ + "shape":"RotationLambdaARNType", + "documentation":"

    The ARN of an AWS Lambda function that's invoked by Secrets Manager to rotate and expire the secret either automatically per the schedule or manually by a call to RotateSecret.

    " + }, + "RotationRules":{ + "shape":"RotationRulesType", + "documentation":"

    A structure that defines the rotation configuration for the secret.

    " + }, + "LastRotatedDate":{ + "shape":"LastRotatedDateType", + "documentation":"

    The last date and time that the rotation process for this secret was invoked.

    ", + "box":true + }, + "LastChangedDate":{ + "shape":"LastChangedDateType", + "documentation":"

    The last date and time that this secret was modified in any way.

    ", + "box":true + }, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "documentation":"

    The last date that this secret was accessed. This value is truncated to midnight of the date and therefore shows only the date, not the time.

    ", + "box":true + }, + "DeletedDate":{ + "shape":"DeletedDateType", + "documentation":"

    The date and time on which this secret was deleted. Not present on active secrets. The secret can be recovered until the number of days in the recovery window has passed, as specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

    " + }, + "Tags":{ + "shape":"TagListType", + "documentation":"

    The list of user-defined tags that are associated with the secret. To add tags to a secret, use TagResource. To remove tags, use UntagResource.

    " + }, + "SecretVersionsToStages":{ + "shape":"SecretVersionsToStagesMapType", + "documentation":"

    A list of all of the currently assigned SecretVersionStage staging labels and the SecretVersionId that each is attached to. Staging labels are used to keep track of the different versions during the rotation process.

    A version that does not have any SecretVersionStage is considered deprecated and subject to deletion. Such versions are not included in this list.

    " + }, + "OwningService":{ + "shape":"OwningServiceType", + "documentation":"

    Returns the name of the service that created the secret.

    " + } + }, + "documentation":"

    A structure that contains the details about a secret. It does not include the encrypted SecretString and SecretBinary values. To get those values, use the GetSecretValue operation.

    " + }, + "SecretListType":{ + "type":"list", + "member":{"shape":"SecretListEntry"} + }, + "SecretNameType":{ + "type":"string", + "max":256, + "min":1 + }, + "SecretStringType":{ + "type":"string", + "max":65536, + "min":0, + "sensitive":true + }, + "SecretVersionIdType":{ + "type":"string", + "max":64, + "min":32 + }, + "SecretVersionStageType":{ + "type":"string", + "max":256, + "min":1 + }, + "SecretVersionStagesType":{ + "type":"list", + "member":{"shape":"SecretVersionStageType"}, + "max":20, + "min":1 + }, + "SecretVersionsListEntry":{ + "type":"structure", + "members":{ + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    The unique version identifier of this version of the secret.

    " + }, + "VersionStages":{ + "shape":"SecretVersionStagesType", + "documentation":"

    An array of staging labels that are currently associated with this version of the secret.

    " + }, + "LastAccessedDate":{ + "shape":"LastAccessedDateType", + "documentation":"

    The date that this version of the secret was last accessed. Note that the resolution of this field is at the date level and does not include the time.

    ", + "box":true + }, + "CreatedDate":{ + "shape":"CreatedDateType", + "documentation":"

    The date and time this version of the secret was created.

    ", + "box":true + } + }, + "documentation":"

    A structure that contains information about one version of a secret.

    " + }, + "SecretVersionsListType":{ + "type":"list", + "member":{"shape":"SecretVersionsListEntry"} + }, + "SecretVersionsToStagesMapType":{ + "type":"map", + "key":{"shape":"SecretVersionIdType"}, + "value":{"shape":"SecretVersionStagesType"} + }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagKeyType", + "documentation":"

    The key identifier, or name, of the tag.

    " + }, + "Value":{ + "shape":"TagValueType", + "documentation":"

    The string value that's associated with the key of the tag.

    " + } + }, + "documentation":"

    A structure that contains information about a tag.

    " + }, + "TagKeyListType":{ + "type":"list", + "member":{"shape":"TagKeyType"} + }, + "TagKeyType":{ + "type":"string", + "max":128, + "min":1 + }, + "TagListType":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "SecretId", + "Tags" + ], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    The identifier for the secret that you want to attach tags to. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "Tags":{ + "shape":"TagListType", + "documentation":"

    The tags to attach to the secret. Each element in the list consists of a Key and a Value.

    This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For the AWS CLI, you can also use the syntax: --Tags Key=\"Key1\",Value=\"Value1\",Key=\"Key2\",Value=\"Value2\"[,…]

    " + } + } + }, + "TagValueType":{ + "type":"string", + "max":256, + "min":0 + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "SecretId", + "TagKeys" + ], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    The identifier for the secret that you want to remove tags from. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "TagKeys":{ + "shape":"TagKeyListType", + "documentation":"

    A list of tag key names to remove from the secret. You don't specify the value. Both the key and its associated value are removed.

    This parameter to the API requires a JSON text string argument. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide.

    " + } + } + }, + "UpdateSecretRequest":{ + "type":"structure", + "required":["SecretId"], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret that you want to modify or to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestTokenType", + "documentation":"

    (Optional) If you want to add a new version to the secret, this parameter specifies a unique identifier for the new version that helps ensure idempotency.

    If you use the AWS CLI or one of the AWS SDK to call this operation, then you can leave this parameter empty. The CLI or SDK generates a random UUID for you and includes that in the request. If you don't use the SDK and instead generate a raw HTTP request to the Secrets Manager service endpoint, then you must generate a ClientRequestToken yourself for new versions and include that value in the request.

    You typically only need to interact with this value if you implement your own retry logic and want to ensure that a given secret is not created twice. We recommend that you generate a UUID-type value to ensure uniqueness within the specified secret.

    Secrets Manager uses this value to prevent the accidental creation of duplicate versions if there are failures and retries during the Lambda rotation function's processing.

    • If the ClientRequestToken value isn't already associated with a version of the secret then a new version of the secret is created.

    • If a version with this value already exists and that version's SecretString and SecretBinary values are the same as those in the request then the request is ignored (the operation is idempotent).

    • If a version with this value already exists and that version's SecretString and SecretBinary values are different from the request then an error occurs because you cannot modify an existing secret value.

    This value becomes the VersionId of the new version.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"DescriptionType", + "documentation":"

    (Optional) Specifies an updated user-provided description of the secret.

    " + }, + "KmsKeyId":{ + "shape":"KmsKeyIdType", + "documentation":"

    (Optional) Specifies an updated ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the protected text in new versions of this secret.

    You can only use the account's default CMK to encrypt and decrypt if you call this operation using credentials from the same account that owns the secret. If the secret is in a different account, then you must create a custom CMK and provide the ARN of that CMK in this field. The user making the call must have permissions to both the secret and the CMK in their respective accounts.

    " + }, + "SecretBinary":{ + "shape":"SecretBinaryType", + "documentation":"

    (Optional) Specifies updated binary data that you want to encrypt and store in the new version of the secret. To use this parameter in the command-line tools, we recommend that you store your binary data in a file and then use the appropriate technique for your tool to pass the contents of the file as a parameter. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

    This parameter is not accessible using the Secrets Manager console.

    " + }, + "SecretString":{ + "shape":"SecretStringType", + "documentation":"

    (Optional) Specifies updated text data that you want to encrypt and store in this new version of the secret. Either SecretBinary or SecretString must have a value, but not both. They cannot both be empty.

    If you create this secret by using the Secrets Manager console then Secrets Manager puts the protected secret text in only the SecretString parameter. The Secrets Manager console stores the information as a JSON structure of key/value pairs that the default Lambda rotation function knows how to parse.

    For storing multiple values, we recommend that you use a JSON text string argument and specify key/value pairs. For information on how to format a JSON parameter for the various command line tool environments, see Using JSON for Parameters in the AWS CLI User Guide. For example:

    [{\"username\":\"bob\"},{\"password\":\"abc123xyz456\"}]

    If your command-line tool or SDK requires quotation marks around the parameter, you should use single quotes to avoid confusion with the double quotes required in the JSON text. You can also 'escape' the double quote character in the embedded JSON text by prefacing each with a backslash. For example, the following string is surrounded by double-quotes. All of the embedded double quotes are escaped:

    \"[{\\\"username\\\":\\\"bob\\\"},{\\\"password\\\":\\\"abc123xyz456\\\"}]\"

    " + } + } + }, + "UpdateSecretResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret that was updated.

    Secrets Manager automatically adds several random characters to the name at the end of the ARN when you initially create a secret. This affects only the ARN and not the actual friendly name. This ensures that if you create a new secret with the same name as an old secret that you previously deleted, then users with access to the old secret don't automatically get access to the new secret because the ARNs are different.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret that was updated.

    " + }, + "VersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    If a new version of the secret was created by this operation, then VersionId contains the unique identifier of the new version.

    " + } + } + }, + "UpdateSecretVersionStageRequest":{ + "type":"structure", + "required":[ + "SecretId", + "VersionStage" + ], + "members":{ + "SecretId":{ + "shape":"SecretIdType", + "documentation":"

    Specifies the secret with the version whose list of staging labels you want to modify. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.

    If you specify an ARN, we generally recommend that you specify a complete ARN. You can specify a partial ARN too—for example, if you don’t include the final hyphen and six random characters that Secrets Manager adds at the end of the ARN when you created the secret. A partial ARN match can work as long as it uniquely matches only one secret. However, if your secret has a name that ends in a hyphen followed by six characters (before Secrets Manager adds the hyphen and six characters to the ARN) and you try to use that as a partial ARN, then those characters cause Secrets Manager to assume that you’re specifying a complete ARN. This confusion can cause unexpected results. To avoid this situation, we recommend that you don’t create secret names that end with a hyphen followed by six characters.

    " + }, + "VersionStage":{ + "shape":"SecretVersionStageType", + "documentation":"

    The staging label to add to this version.

    " + }, + "RemoveFromVersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    Specifies the secret version ID of the version that the staging label is to be removed from. If the staging label you are trying to attach to one version is already attached to a different version, then you must include this parameter and specify the version that the label is to be removed from. If the label is attached and you either do not specify this parameter, or the version ID does not match, then the operation fails.

    ", + "box":true + }, + "MoveToVersionId":{ + "shape":"SecretVersionIdType", + "documentation":"

    (Optional) The secret version ID that you want to add the staging label to. If you want to remove a label from a version, then do not specify this parameter.

    If the staging label is already attached to a different version of the secret, then you must also specify the RemoveFromVersionId parameter.

    ", + "box":true + } + } + }, + "UpdateSecretVersionStageResponse":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"SecretARNType", + "documentation":"

    The ARN of the secret with the staging label that was modified.

    " + }, + "Name":{ + "shape":"SecretNameType", + "documentation":"

    The friendly name of the secret with the staging label that was modified.

    " + } + } + } + }, + "documentation":"AWS Secrets Manager API Reference

    AWS Secrets Manager is a web service that enables you to store, manage, and retrieve, secrets.

    This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the AWS Secrets Manager User Guide.

    API Version

    This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

    As an alternative to using the API directly, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (such as Java, Ruby, .NET, iOS, and Android). The SDKs provide a convenient way to create programmatic access to AWS Secrets Manager. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

    We recommend that you use the AWS SDKs to make programmatic API calls to Secrets Manager. However, you also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn more about the Secrets Manager HTTP Query API, see Making Query Requests in the AWS Secrets Manager User Guide.

    Secrets Manager supports GET and POST requests for all actions. That is, the API doesn't require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

    Support and Feedback for AWS Secrets Manager

    We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the AWS Secrets Manager Discussion Forum. For more information about the AWS Discussion Forums, see Forums Help.

    How examples are presented

    The JSON that AWS Secrets Manager expects as your request parameters and that the service returns as a response to HTTP query requests are single, long strings without line breaks or white space formatting. The JSON shown in the examples is formatted with both line breaks and white space to improve readability. When example input parameters would also result in long strings that extend beyond the screen, we insert line breaks to enhance readability. You should always submit the input as a single JSON text string.

    Logging API Requests

    AWS Secrets Manager supports AWS CloudTrail, a service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information that's collected by AWS CloudTrail, you can determine which requests were successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about AWS Secrets Manager and its support for AWS CloudTrail, see Logging AWS Secrets Manager Events with AWS CloudTrail in the AWS Secrets Manager User Guide. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json --- python-botocore-1.4.70/botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,8 @@ +{ + "version": 1.0, + "merge": { + "metadata": { + "serviceId": "Secrets Manager" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/securityhub/2018-10-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/securityhub/2018-10-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/securityhub/2018-10-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/securityhub/2018-10-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "GetEnabledStandards": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StandardsSubscriptions" + }, + "GetFindings": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Findings" + }, + "GetInsights": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Insights" + }, + "ListEnabledProductsForImport": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ProductSubscriptions" + }, + "ListInvitations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Invitations" + }, + "ListMembers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Members" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/securityhub/2018-10-26/service-2.json python-botocore-1.16.19+repack/botocore/data/securityhub/2018-10-26/service-2.json --- python-botocore-1.4.70/botocore/data/securityhub/2018-10-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/securityhub/2018-10-26/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,4979 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-10-26", + "endpointPrefix":"securityhub", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS SecurityHub", + "serviceId":"SecurityHub", + "signatureVersion":"v4", + "signingName":"securityhub", + "uid":"securityhub-2018-10-26" + }, + "operations":{ + "AcceptInvitation":{ + "name":"AcceptInvitation", + "http":{ + "method":"POST", + "requestUri":"/master" + }, + "input":{"shape":"AcceptInvitationRequest"}, + "output":{"shape":"AcceptInvitationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Accepts the invitation to be a member account and be monitored by the Security Hub master account that the invitation was sent from.

    When the member account accepts the invitation, permission is granted to the master account to view findings generated in the member account.

    " + }, + "BatchDisableStandards":{ + "name":"BatchDisableStandards", + "http":{ + "method":"POST", + "requestUri":"/standards/deregister" + }, + "input":{"shape":"BatchDisableStandardsRequest"}, + "output":{"shape":"BatchDisableStandardsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Disables the standards specified by the provided StandardsSubscriptionArns.

    For more information, see Security Standards section of the AWS Security Hub User Guide.

    " + }, + "BatchEnableStandards":{ + "name":"BatchEnableStandards", + "http":{ + "method":"POST", + "requestUri":"/standards/register" + }, + "input":{"shape":"BatchEnableStandardsRequest"}, + "output":{"shape":"BatchEnableStandardsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation.

    For more information, see the Security Standards section of the AWS Security Hub User Guide.

    " + }, + "BatchImportFindings":{ + "name":"BatchImportFindings", + "http":{ + "method":"POST", + "requestUri":"/findings/import" + }, + "input":{"shape":"BatchImportFindingsRequest"}, + "output":{"shape":"BatchImportFindingsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Imports security findings generated from an integrated third-party product into Security Hub. This action is requested by the integrated product to import its findings into Security Hub.

    The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb.

    After a finding is created, BatchImportFindings cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.

    • Confidence

    • Criticality

    • Note

    • RelatedFindings

    • Severity

    • Types

    • UserDefinedFields

    • VerificationState

    • Workflow

    " + }, + "BatchUpdateFindings":{ + "name":"BatchUpdateFindings", + "http":{ + "method":"PATCH", + "requestUri":"/findings/batchupdate" + }, + "input":{"shape":"BatchUpdateFindingsRequest"}, + "output":{"shape":"BatchUpdateFindingsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Used by Security Hub customers to update information about their investigation into a finding. Requested by master accounts or member accounts. Master accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

    Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding.

    Master accounts can use BatchUpdateFindings to update the following finding fields and objects.

    • Confidence

    • Criticality

    • Note

    • RelatedFindings

    • Severity

    • Types

    • UserDefinedFields

    • VerificationState

    • Workflow

    Member accounts can only use BatchUpdateFindings to update the Note object.

    " + }, + "CreateActionTarget":{ + "name":"CreateActionTarget", + "http":{ + "method":"POST", + "requestUri":"/actionTargets" + }, + "input":{"shape":"CreateActionTargetRequest"}, + "output":{"shape":"CreateActionTargetResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

    Creates a custom action target in Security Hub.

    You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

    " + }, + "CreateInsight":{ + "name":"CreateInsight", + "http":{ + "method":"POST", + "requestUri":"/insights" + }, + "input":{"shape":"CreateInsightRequest"}, + "output":{"shape":"CreateInsightResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

    Creates a custom insight in Security Hub. An insight is a consolidation of findings that relate to a security issue that requires attention or remediation.

    To group the related findings in the insight, use the GroupByAttribute.

    " + }, + "CreateMembers":{ + "name":"CreateMembers", + "http":{ + "method":"POST", + "requestUri":"/members" + }, + "input":{"shape":"CreateMembersRequest"}, + "output":{"shape":"CreateMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"} + ], + "documentation":"

    Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. To successfully create a member, you must use this action from an account that already has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

    After you use CreateMembers to create member account associations in Security Hub, you must use the InviteMembers operation to invite the accounts to enable Security Hub and become member accounts in Security Hub.

    If the account owner accepts the invitation, the account becomes a member account in Security Hub. A permissions policy is added that permits the master account to view the findings generated in the member account. When Security Hub is enabled in the invited account, findings start to be sent to both the member and master accounts.

    To remove the association between the master and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

    " + }, + "DeclineInvitations":{ + "name":"DeclineInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitations/decline" + }, + "input":{"shape":"DeclineInvitationsRequest"}, + "output":{"shape":"DeclineInvitationsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Declines invitations to become a member account.

    " + }, + "DeleteActionTarget":{ + "name":"DeleteActionTarget", + "http":{ + "method":"DELETE", + "requestUri":"/actionTargets/{ActionTargetArn+}" + }, + "input":{"shape":"DeleteActionTargetRequest"}, + "output":{"shape":"DeleteActionTargetResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes a custom action target from Security Hub.

    Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.

    " + }, + "DeleteInsight":{ + "name":"DeleteInsight", + "http":{ + "method":"DELETE", + "requestUri":"/insights/{InsightArn+}" + }, + "input":{"shape":"DeleteInsightRequest"}, + "output":{"shape":"DeleteInsightResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the insight specified by the InsightArn.

    " + }, + "DeleteInvitations":{ + "name":"DeleteInvitations", + "http":{ + "method":"POST", + "requestUri":"/invitations/delete" + }, + "input":{"shape":"DeleteInvitationsRequest"}, + "output":{"shape":"DeleteInvitationsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Deletes invitations received by the AWS account to become a member account.

    " + }, + "DeleteMembers":{ + "name":"DeleteMembers", + "http":{ + "method":"POST", + "requestUri":"/members/delete" + }, + "input":{"shape":"DeleteMembersRequest"}, + "output":{"shape":"DeleteMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the specified member accounts from Security Hub.

    " + }, + "DescribeActionTargets":{ + "name":"DescribeActionTargets", + "http":{ + "method":"POST", + "requestUri":"/actionTargets/get" + }, + "input":{"shape":"DescribeActionTargetsRequest"}, + "output":{"shape":"DescribeActionTargetsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns a list of the custom action targets in Security Hub in your account.

    " + }, + "DescribeHub":{ + "name":"DescribeHub", + "http":{ + "method":"GET", + "requestUri":"/accounts" + }, + "input":{"shape":"DescribeHubRequest"}, + "output":{"shape":"DescribeHubResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub.

    " + }, + "DescribeProducts":{ + "name":"DescribeProducts", + "http":{ + "method":"GET", + "requestUri":"/products" + }, + "input":{"shape":"DescribeProductsRequest"}, + "output":{"shape":"DescribeProductsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

    Returns information about the available products that you can subscribe to and integrate with Security Hub in order to consolidate findings.

    " + }, + "DescribeStandards":{ + "name":"DescribeStandards", + "http":{ + "method":"GET", + "requestUri":"/standards" + }, + "input":{"shape":"DescribeStandardsRequest"}, + "output":{"shape":"DescribeStandardsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Returns a list of the available standards in Security Hub.

    For each standard, the results include the standard ARN, the name, and a description.

    " + }, + "DescribeStandardsControls":{ + "name":"DescribeStandardsControls", + "http":{ + "method":"GET", + "requestUri":"/standards/controls/{StandardsSubscriptionArn+}" + }, + "input":{"shape":"DescribeStandardsControlsRequest"}, + "output":{"shape":"DescribeStandardsControlsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns a list of security standards controls.

    For each control, the results include information about whether it is currently enabled, the severity, and a link to remediation information.

    " + }, + "DisableImportFindingsForProduct":{ + "name":"DisableImportFindingsForProduct", + "http":{ + "method":"DELETE", + "requestUri":"/productSubscriptions/{ProductSubscriptionArn+}" + }, + "input":{"shape":"DisableImportFindingsForProductRequest"}, + "output":{"shape":"DisableImportFindingsForProductResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Disables the integration of the specified product with Security Hub. After the integration is disabled, findings from that product are no longer sent to Security Hub.

    " + }, + "DisableSecurityHub":{ + "name":"DisableSecurityHub", + "http":{ + "method":"DELETE", + "requestUri":"/accounts" + }, + "input":{"shape":"DisableSecurityHubRequest"}, + "output":{"shape":"DisableSecurityHubResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

    When you disable Security Hub for a master account, it doesn't disable Security Hub for any associated member accounts.

    When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your master and member account associations are removed.

    If you want to save your existing findings, you must export them before you disable Security Hub.

    " + }, + "DisassociateFromMasterAccount":{ + "name":"DisassociateFromMasterAccount", + "http":{ + "method":"POST", + "requestUri":"/master/disassociate" + }, + "input":{"shape":"DisassociateFromMasterAccountRequest"}, + "output":{"shape":"DisassociateFromMasterAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates the current Security Hub member account from the associated master account.

    " + }, + "DisassociateMembers":{ + "name":"DisassociateMembers", + "http":{ + "method":"POST", + "requestUri":"/members/disassociate" + }, + "input":{"shape":"DisassociateMembersRequest"}, + "output":{"shape":"DisassociateMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates the specified member accounts from the associated master account.

    " + }, + "EnableImportFindingsForProduct":{ + "name":"EnableImportFindingsForProduct", + "http":{ + "method":"POST", + "requestUri":"/productSubscriptions" + }, + "input":{"shape":"EnableImportFindingsForProductRequest"}, + "output":{"shape":"EnableImportFindingsForProductResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Enables the integration of a partner product with Security Hub. Integrated products send findings to Security Hub.

    When you enable a product integration, a permissions policy that grants permission for the product to send findings to Security Hub is applied.

    " + }, + "EnableSecurityHub":{ + "name":"EnableSecurityHub", + "http":{ + "method":"POST", + "requestUri":"/accounts" + }, + "input":{"shape":"EnableSecurityHubRequest"}, + "output":{"shape":"EnableSecurityHubResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceConflictException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Enables Security Hub for your account in the current Region or the Region you specify in the request.

    When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

    When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards.

    • CIS AWS Foundations

    • AWS Foundational Security Best Practices

    You do not enable the Payment Card Industry Data Security Standard (PCI DSS) standard.

    To not enable the automatically enabled standards, set EnableDefaultStandards to false.

    After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

    To learn more, see Setting Up AWS Security Hub in the AWS Security Hub User Guide.

    " + }, + "GetEnabledStandards":{ + "name":"GetEnabledStandards", + "http":{ + "method":"POST", + "requestUri":"/standards/get" + }, + "input":{"shape":"GetEnabledStandardsRequest"}, + "output":{"shape":"GetEnabledStandardsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Returns a list of the standards that are currently enabled.

    " + }, + "GetFindings":{ + "name":"GetFindings", + "http":{ + "method":"POST", + "requestUri":"/findings" + }, + "input":{"shape":"GetFindingsRequest"}, + "output":{"shape":"GetFindingsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Returns a list of findings that match the specified criteria.

    " + }, + "GetInsightResults":{ + "name":"GetInsightResults", + "http":{ + "method":"GET", + "requestUri":"/insights/results/{InsightArn+}" + }, + "input":{"shape":"GetInsightResultsRequest"}, + "output":{"shape":"GetInsightResultsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the results of the Security Hub insight specified by the insight ARN.

    " + }, + "GetInsights":{ + "name":"GetInsights", + "http":{ + "method":"POST", + "requestUri":"/insights/get" + }, + "input":{"shape":"GetInsightsRequest"}, + "output":{"shape":"GetInsightsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists and describes insights for the specified insight ARNs.

    " + }, + "GetInvitationsCount":{ + "name":"GetInvitationsCount", + "http":{ + "method":"GET", + "requestUri":"/invitations/count" + }, + "input":{"shape":"GetInvitationsCountRequest"}, + "output":{"shape":"GetInvitationsCountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.

    " + }, + "GetMasterAccount":{ + "name":"GetMasterAccount", + "http":{ + "method":"GET", + "requestUri":"/master" + }, + "input":{"shape":"GetMasterAccountRequest"}, + "output":{"shape":"GetMasterAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Provides the details for the Security Hub master account for the current member account.

    " + }, + "GetMembers":{ + "name":"GetMembers", + "http":{ + "method":"POST", + "requestUri":"/members/get" + }, + "input":{"shape":"GetMembersRequest"}, + "output":{"shape":"GetMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns the details for the Security Hub member accounts for the specified account IDs.

    " + }, + "InviteMembers":{ + "name":"InviteMembers", + "http":{ + "method":"POST", + "requestUri":"/members/invite" + }, + "input":{"shape":"InviteMembersRequest"}, + "output":{"shape":"InviteMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Invites other AWS accounts to become member accounts for the Security Hub master account that the invitation is sent from.

    Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

    When the account owner accepts the invitation to become a member account and enables Security Hub, the master account can view the findings generated from the member account.

    " + }, + "ListEnabledProductsForImport":{ + "name":"ListEnabledProductsForImport", + "http":{ + "method":"GET", + "requestUri":"/productSubscriptions" + }, + "input":{"shape":"ListEnabledProductsForImportRequest"}, + "output":{"shape":"ListEnabledProductsForImportResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

    Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.

    " + }, + "ListInvitations":{ + "name":"ListInvitations", + "http":{ + "method":"GET", + "requestUri":"/invitations" + }, + "input":{"shape":"ListInvitationsRequest"}, + "output":{"shape":"ListInvitationsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Lists all Security Hub membership invitations that were sent to the current AWS account.

    " + }, + "ListMembers":{ + "name":"ListMembers", + "http":{ + "method":"GET", + "requestUri":"/members" + }, + "input":{"shape":"ListMembersRequest"}, + "output":{"shape":"ListMembersResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Lists details about all member accounts for the current Security Hub master account.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns a list of tags associated with a resource.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Adds one or more tags to a resource.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{ResourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Removes one or more tags from a resource.

    " + }, + "UpdateActionTarget":{ + "name":"UpdateActionTarget", + "http":{ + "method":"PATCH", + "requestUri":"/actionTargets/{ActionTargetArn+}" + }, + "input":{"shape":"UpdateActionTargetRequest"}, + "output":{"shape":"UpdateActionTargetResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Updates the name and description of a custom action target in Security Hub.

    " + }, + "UpdateFindings":{ + "name":"UpdateFindings", + "http":{ + "method":"PATCH", + "requestUri":"/findings" + }, + "input":{"shape":"UpdateFindingsRequest"}, + "output":{"shape":"UpdateFindingsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.

    Updates the Note and RecordState of the Security Hub-aggregated findings that the filter attributes specify. Any member account that can view the finding also sees the update to the finding.

    " + }, + "UpdateInsight":{ + "name":"UpdateInsight", + "http":{ + "method":"PATCH", + "requestUri":"/insights/{InsightArn+}" + }, + "input":{"shape":"UpdateInsightRequest"}, + "output":{"shape":"UpdateInsightResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Updates the Security Hub insight identified by the specified insight ARN.

    " + }, + "UpdateStandardsControl":{ + "name":"UpdateStandardsControl", + "http":{ + "method":"PATCH", + "requestUri":"/standards/control/{StandardsControlArn+}" + }, + "input":{"shape":"UpdateStandardsControlRequest"}, + "output":{"shape":"UpdateStandardsControlResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Used to control whether an individual security standard control is enabled or disabled.

    " + } + }, + "shapes":{ + "AcceptInvitationRequest":{ + "type":"structure", + "required":[ + "MasterId", + "InvitationId" + ], + "members":{ + "MasterId":{ + "shape":"NonEmptyString", + "documentation":"

    The account ID of the Security Hub master account that sent the invitation.

    " + }, + "InvitationId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the invitation sent from the Security Hub master account.

    " + } + } + }, + "AcceptInvitationResponse":{ + "type":"structure", + "members":{ + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    You don't have permission to perform the action specified in the request.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "AccountDetails":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The ID of an AWS account.

    " + }, + "Email":{ + "shape":"NonEmptyString", + "documentation":"

    The email of an AWS account.

    " + } + }, + "documentation":"

    The details of an AWS account.

    " + }, + "AccountDetailsList":{ + "type":"list", + "member":{"shape":"AccountDetails"} + }, + "AccountId":{"type":"string"}, + "AccountIdList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "ActionTarget":{ + "type":"structure", + "required":[ + "ActionTargetArn", + "Name", + "Description" + ], + "members":{ + "ActionTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN for the target action.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the action target.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description of the target action.

    " + } + }, + "documentation":"

    An ActionTarget object.

    " + }, + "ActionTargetList":{ + "type":"list", + "member":{"shape":"ActionTarget"} + }, + "ArnList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "ZoneName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the Availability Zone.

    " + }, + "SubnetId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the subnet. You can specify one subnet per Availability Zone.

    " + } + }, + "documentation":"

    Information about an Availability Zone.

    " + }, + "AvailabilityZones":{ + "type":"list", + "member":{"shape":"AvailabilityZone"} + }, + "AwsCloudFrontDistributionDetails":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"NonEmptyString", + "documentation":"

    The domain name corresponding to the distribution.

    " + }, + "ETag":{ + "shape":"NonEmptyString", + "documentation":"

    The entity tag is a hash of the object.

    " + }, + "LastModifiedTime":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time that the distribution was last modified.

    " + }, + "Logging":{ + "shape":"AwsCloudFrontDistributionLogging", + "documentation":"

    A complex type that controls whether access logs are written for the distribution.

    " + }, + "Origins":{ + "shape":"AwsCloudFrontDistributionOrigins", + "documentation":"

    A complex type that contains information about origins for this distribution.

    " + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

    Indicates the current status of the distribution.

    " + }, + "WebAclId":{ + "shape":"NonEmptyString", + "documentation":"

    A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

    " + } + }, + "documentation":"

    A distribution configuration.

    " + }, + "AwsCloudFrontDistributionLogging":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon S3 bucket to store the access logs in.

    " + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

    With this field, you can enable or disable the selected distribution.

    " + }, + "IncludeCookies":{ + "shape":"Boolean", + "documentation":"

    Specifies whether you want CloudFront to include cookies in access logs.

    " + }, + "Prefix":{ + "shape":"NonEmptyString", + "documentation":"

    An optional string that you want CloudFront to use as a prefix to the access log filenames for this distribution.

    " + } + }, + "documentation":"

    A complex type that controls whether access logs are written for the distribution.

    " + }, + "AwsCloudFrontDistributionOriginItem":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"NonEmptyString", + "documentation":"

    Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    A unique identifier for the origin or origin group.

    " + }, + "OriginPath":{ + "shape":"NonEmptyString", + "documentation":"

    An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin.

    " + } + }, + "documentation":"

    A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), Amazon Elemental MediaStore, or other server from which CloudFront gets your files.

    " + }, + "AwsCloudFrontDistributionOriginItemList":{ + "type":"list", + "member":{"shape":"AwsCloudFrontDistributionOriginItem"} + }, + "AwsCloudFrontDistributionOrigins":{ + "type":"structure", + "members":{ + "Items":{ + "shape":"AwsCloudFrontDistributionOriginItemList", + "documentation":"

    A complex type that contains origins or origin groups for this distribution.

    " + } + }, + "documentation":"

    A complex type that contains information about origins and origin groups for this distribution.

    " + }, + "AwsCodeBuildProjectDetails":{ + "type":"structure", + "members":{ + "EncryptionKey":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the build output artifacts.

    You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK alias (using the format alias/alias-name).

    " + }, + "Environment":{ + "shape":"AwsCodeBuildProjectEnvironment", + "documentation":"

    Information about the build environment for this build project.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the build project.

    " + }, + "Source":{ + "shape":"AwsCodeBuildProjectSource", + "documentation":"

    Information about the build input source code for this build project.

    " + }, + "ServiceRole":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

    " + }, + "VpcConfig":{ + "shape":"AwsCodeBuildProjectVpcConfig", + "documentation":"

    Information about the VPC configuration that AWS CodeBuild accesses.

    " + } + }, + "documentation":"

    Information about an AWS CodeBuild project.

    " + }, + "AwsCodeBuildProjectEnvironment":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"NonEmptyString", + "documentation":"

    The certificate to use with this build project.

    " + }, + "ImagePullCredentialsType":{ + "shape":"NonEmptyString", + "documentation":"

    The type of credentials AWS CodeBuild uses to pull images in your build.

    Valid values:

    • CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust the AWS CodeBuild service principal.

    • SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role.

    When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.

    " + }, + "RegistryCredential":{ + "shape":"AwsCodeBuildProjectEnvironmentRegistryCredential", + "documentation":"

    The credentials for access to a private registry.

    " + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The type of build environment to use for related builds.

    The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).

    The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia).

    The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia).

    Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | ARM_CONTAINER

    " + } + }, + "documentation":"

    Information about the build environment for this build project.

    " + }, + "AwsCodeBuildProjectEnvironmentRegistryCredential":{ + "type":"structure", + "members":{ + "Credential":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

    The credential can use the name of the credentials only if they exist in your current AWS Region.

    " + }, + "CredentialProvider":{ + "shape":"NonEmptyString", + "documentation":"

    The service that created the credentials to access a private Docker registry.

    The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

    " + } + }, + "documentation":"

    The credentials for access to a private registry.

    " + }, + "AwsCodeBuildProjectSource":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The type of repository that contains the source code to be built. Valid values are:

    • BITBUCKET - The source code is in a Bitbucket repository.

    • CODECOMMIT - The source code is in an AWS CodeCommit repository.

    • CODEPIPELINE - The source code settings are specified in the source action of a pipeline in AWS CodePipeline.

    • GITHUB - The source code is in a GitHub repository.

    • GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.

    • NO_SOURCE - The project does not have input source code.

    • S3 - The source code is in an S3 input bucket.

    " + }, + "Location":{ + "shape":"NonEmptyString", + "documentation":"

    Information about the location of the source code to be built.

    Valid values include:

    • For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value.

    • For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec file (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ).

    • For source code in an S3 input bucket, one of the following.

      • The path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).

      • The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).

    • For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec file.

    • For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the build spec file.

    " + }, + "GitCloneDepth":{ + "shape":"Integer", + "documentation":"

    Information about the Git clone depth for the build project.

    " + }, + "InsecureSsl":{ + "shape":"Boolean", + "documentation":"

    Whether to ignore SSL warnings while connecting to the project source code.

    " + } + }, + "documentation":"

    Information about the build input source code for this build project.

    " + }, + "AwsCodeBuildProjectVpcConfig":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the VPC.

    " + }, + "Subnets":{ + "shape":"NonEmptyStringList", + "documentation":"

    A list of one or more subnet IDs in your Amazon VPC.

    " + }, + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

    A list of one or more security group IDs in your Amazon VPC.

    " + } + }, + "documentation":"

    Information about the VPC configuration that AWS CodeBuild accesses.

    " + }, + "AwsEc2InstanceDetails":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The instance type of the instance.

    " + }, + "ImageId":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Machine Image (AMI) ID of the instance.

    " + }, + "IpV4Addresses":{ + "shape":"StringList", + "documentation":"

    The IPv4 addresses associated with the instance.

    " + }, + "IpV6Addresses":{ + "shape":"StringList", + "documentation":"

    The IPv6 addresses associated with the instance.

    " + }, + "KeyName":{ + "shape":"NonEmptyString", + "documentation":"

    The key name associated with the instance.

    " + }, + "IamInstanceProfileArn":{ + "shape":"NonEmptyString", + "documentation":"

    The IAM profile ARN of the instance.

    " + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the VPC that the instance was launched in.

    " + }, + "SubnetId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the subnet that the instance was launched in.

    " + }, + "LaunchedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date/time the instance was launched.

    " + } + }, + "documentation":"

    The details of an Amazon EC2 instance.

    " + }, + "AwsEc2NetworkInterfaceAttachment":{ + "type":"structure", + "members":{ + "AttachTime":{ + "shape":"NonEmptyString", + "documentation":"

    The timestamp indicating when the attachment initiated.

    " + }, + "AttachmentId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the network interface attachment

    " + }, + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the network interface is deleted when the instance is terminated.

    " + }, + "DeviceIndex":{ + "shape":"Integer", + "documentation":"

    The device index of the network interface attachment on the instance.

    " + }, + "InstanceId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the instance.

    " + }, + "InstanceOwnerId":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS account ID of the owner of the instance.

    " + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

    The attachment state.

    Valid values: attaching | attached | detaching | detached

    " + } + }, + "documentation":"

    Information about the network interface attachment.

    " + }, + "AwsEc2NetworkInterfaceDetails":{ + "type":"structure", + "members":{ + "Attachment":{ + "shape":"AwsEc2NetworkInterfaceAttachment", + "documentation":"

    The network interface attachment.

    " + }, + "NetworkInterfaceId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the network interface.

    " + }, + "SecurityGroups":{ + "shape":"AwsEc2NetworkInterfaceSecurityGroupList", + "documentation":"

    Security groups for the network interface.

    " + }, + "SourceDestCheck":{ + "shape":"Boolean", + "documentation":"

    Indicates whether traffic to or from the instance is validated.

    " + } + }, + "documentation":"

    Details about the network interface

    " + }, + "AwsEc2NetworkInterfaceSecurityGroup":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the security group.

    " + }, + "GroupId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the security group.

    " + } + }, + "documentation":"

    A security group associated with the network interface.

    " + }, + "AwsEc2NetworkInterfaceSecurityGroupList":{ + "type":"list", + "member":{"shape":"AwsEc2NetworkInterfaceSecurityGroup"} + }, + "AwsEc2SecurityGroupDetails":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the security group.

    " + }, + "GroupId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the security group.

    " + }, + "OwnerId":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS account ID of the owner of the security group.

    " + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    [VPC only] The ID of the VPC for the security group.

    " + }, + "IpPermissions":{ + "shape":"AwsEc2SecurityGroupIpPermissionList", + "documentation":"

    The inbound rules associated with the security group.

    " + }, + "IpPermissionsEgress":{ + "shape":"AwsEc2SecurityGroupIpPermissionList", + "documentation":"

    [VPC only] The outbound rules associated with the security group.

    " + } + }, + "documentation":"

    Details about an EC2 security group.

    " + }, + "AwsEc2SecurityGroupIpPermission":{ + "type":"structure", + "members":{ + "IpProtocol":{ + "shape":"NonEmptyString", + "documentation":"

    The IP protocol name (tcp, udp, icmp, icmpv6) or number.

    [VPC only] Use -1 to specify all protocols.

    When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify.

    For tcp, udp, and icmp, you must specify a port range.

    For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed.

    " + }, + "FromPort":{ + "shape":"Integer", + "documentation":"

    The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.

    A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

    " + }, + "ToPort":{ + "shape":"Integer", + "documentation":"

    The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

    A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

    " + }, + "UserIdGroupPairs":{ + "shape":"AwsEc2SecurityGroupUserIdGroupPairList", + "documentation":"

    The security group and AWS account ID pairs.

    " + }, + "IpRanges":{ + "shape":"AwsEc2SecurityGroupIpRangeList", + "documentation":"

    The IPv4 ranges.

    " + }, + "Ipv6Ranges":{ + "shape":"AwsEc2SecurityGroupIpv6RangeList", + "documentation":"

    The IPv6 ranges.

    " + }, + "PrefixListIds":{ + "shape":"AwsEc2SecurityGroupPrefixListIdList", + "documentation":"

    [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS service to access through a VPC endpoint from instances associated with the security group.

    " + } + }, + "documentation":"

    An IP permission for an EC2 security group.

    " + }, + "AwsEc2SecurityGroupIpPermissionList":{ + "type":"list", + "member":{"shape":"AwsEc2SecurityGroupIpPermission"} + }, + "AwsEc2SecurityGroupIpRange":{ + "type":"structure", + "members":{ + "CidrIp":{ + "shape":"NonEmptyString", + "documentation":"

    The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv4 address, use the /32 prefix length.

    " + } + }, + "documentation":"

    A range of IPv4 addresses.

    " + }, + "AwsEc2SecurityGroupIpRangeList":{ + "type":"list", + "member":{"shape":"AwsEc2SecurityGroupIpRange"} + }, + "AwsEc2SecurityGroupIpv6Range":{ + "type":"structure", + "members":{ + "CidrIpv6":{ + "shape":"NonEmptyString", + "documentation":"

    The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv6 address, use the /128 prefix length.

    " + } + }, + "documentation":"

    A range of IPv6 addresses.

    " + }, + "AwsEc2SecurityGroupIpv6RangeList":{ + "type":"list", + "member":{"shape":"AwsEc2SecurityGroupIpv6Range"} + }, + "AwsEc2SecurityGroupPrefixListId":{ + "type":"structure", + "members":{ + "PrefixListId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the prefix.

    " + } + }, + "documentation":"

    A prefix list ID.

    " + }, + "AwsEc2SecurityGroupPrefixListIdList":{ + "type":"list", + "member":{"shape":"AwsEc2SecurityGroupPrefixListId"} + }, + "AwsEc2SecurityGroupUserIdGroupPair":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the security group.

    " + }, + "GroupName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the security group.

    " + }, + "PeeringStatus":{ + "shape":"NonEmptyString", + "documentation":"

    The status of a VPC peering connection, if applicable.

    " + }, + "UserId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of an AWS account.

    For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

    [EC2-Classic] Required when adding or removing rules that reference a security group in another AWS.

    " + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the VPC for the referenced security group, if applicable.

    " + }, + "VpcPeeringConnectionId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the VPC peering connection, if applicable.

    " + } + }, + "documentation":"

    A relationship between a security group and a user.

    " + }, + "AwsEc2SecurityGroupUserIdGroupPairList":{ + "type":"list", + "member":{"shape":"AwsEc2SecurityGroupUserIdGroupPair"} + }, + "AwsElasticsearchDomainDetails":{ + "type":"structure", + "members":{ + "AccessPolicies":{ + "shape":"NonEmptyString", + "documentation":"

    IAM policy document specifying the access policies for the new Amazon ES domain.

    " + }, + "DomainEndpointOptions":{ + "shape":"AwsElasticsearchDomainDomainEndpointOptions", + "documentation":"

    Additional options for the domain endpoint.

    " + }, + "DomainId":{ + "shape":"NonEmptyString", + "documentation":"

    Unique identifier for an Amazon ES domain.

    " + }, + "DomainName":{ + "shape":"NonEmptyString", + "documentation":"

    Name of an Amazon ES domain.

    Domain names are unique across all domains owned by the same account within an AWS Region.

    Domain names must start with a lowercase letter and must be between 3 and 28 characters.

    Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

    " + }, + "Endpoint":{ + "shape":"NonEmptyString", + "documentation":"

    Domain-specific endpoint used to submit index, search, and data upload requests to an Amazon ES domain.

    The endpoint is a service URL.

    " + }, + "Endpoints":{ + "shape":"FieldMap", + "documentation":"

    The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

    " + }, + "ElasticsearchVersion":{ + "shape":"NonEmptyString", + "documentation":"

    Elasticsearch version.

    " + }, + "EncryptionAtRestOptions":{ + "shape":"AwsElasticsearchDomainEncryptionAtRestOptions", + "documentation":"

    Details about the configuration for encryption at rest.

    " + }, + "NodeToNodeEncryptionOptions":{ + "shape":"AwsElasticsearchDomainNodeToNodeEncryptionOptions", + "documentation":"

    Details about the configuration for node-to-node encryption.

    " + }, + "VPCOptions":{ + "shape":"AwsElasticsearchDomainVPCOptions", + "documentation":"

    Information that Amazon ES derives based on VPCOptions for the domain.

    " + } + }, + "documentation":"

    Information about an Elasticsearch domain.

    " + }, + "AwsElasticsearchDomainDomainEndpointOptions":{ + "type":"structure", + "members":{ + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"

    Whether to require that all traffic to the domain arrive over HTTPS.

    " + }, + "TLSSecurityPolicy":{ + "shape":"NonEmptyString", + "documentation":"

    The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch domain.

    Valid values:

    • Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher

    • Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2

    " + } + }, + "documentation":"

    Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.

    " + }, + "AwsElasticsearchDomainEncryptionAtRestOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

    Whether encryption at rest is enabled.

    " + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

    The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

    " + } + }, + "documentation":"

    Details about the configuration for encryption at rest.

    " + }, + "AwsElasticsearchDomainNodeToNodeEncryptionOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

    Whether node-to-node encryption is enabled.

    " + } + }, + "documentation":"

    Details about the configuration for node-to-node encryption.

    " + }, + "AwsElasticsearchDomainVPCOptions":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"NonEmptyStringList", + "documentation":"

    The list of Availability Zones associated with the VPC subnets.

    " + }, + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

    The list of security group IDs associated with the VPC endpoints for the domain.

    " + }, + "SubnetIds":{ + "shape":"NonEmptyStringList", + "documentation":"

    A list of subnet IDs associated with the VPC endpoints for the domain.

    " + }, + "VPCId":{ + "shape":"NonEmptyString", + "documentation":"

    ID for the VPC.

    " + } + }, + "documentation":"

    Information that Amazon ES derives based on VPCOptions for the domain.

    " + }, + "AwsElbv2LoadBalancerDetails":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"AvailabilityZones", + "documentation":"

    The Availability Zones for the load balancer.

    " + }, + "CanonicalHostedZoneId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the Amazon Route 53 hosted zone associated with the load balancer.

    " + }, + "CreatedTime":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time the load balancer was created.

    " + }, + "DNSName":{ + "shape":"NonEmptyString", + "documentation":"

    The public DNS name of the load balancer.

    " + }, + "IpAddressType":{ + "shape":"NonEmptyString", + "documentation":"

    The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

    " + }, + "Scheme":{ + "shape":"NonEmptyString", + "documentation":"

    The nodes of an Internet-facing load balancer have public IP addresses.

    " + }, + "SecurityGroups":{ + "shape":"SecurityGroups", + "documentation":"

    The IDs of the security groups for the load balancer.

    " + }, + "State":{ + "shape":"LoadBalancerState", + "documentation":"

    The state of the load balancer.

    " + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The type of load balancer.

    " + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the VPC for the load balancer.

    " + } + }, + "documentation":"

    Information about a load balancer.

    " + }, + "AwsIamAccessKeyDetails":{ + "type":"structure", + "members":{ + "UserName":{ + "shape":"NonEmptyString", + "documentation":"

    The user associated with the IAM access key related to a finding.

    The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users.

    ", + "deprecated":true, + "deprecatedMessage":"This field is deprecated, use PrincipalName instead." + }, + "Status":{ + "shape":"AwsIamAccessKeyStatus", + "documentation":"

    The status of the IAM access key related to a finding.

    " + }, + "CreatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The creation date/time of the IAM access key related to a finding.

    " + }, + "PrincipalId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the principal associated with an access key.

    " + }, + "PrincipalType":{ + "shape":"NonEmptyString", + "documentation":"

    The type of principal associated with an access key.

    " + }, + "PrincipalName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the principal.

    " + } + }, + "documentation":"

    IAM access key details related to a finding.

    " + }, + "AwsIamAccessKeyStatus":{ + "type":"string", + "enum":[ + "Active", + "Inactive" + ] + }, + "AwsIamRoleAssumeRolePolicyDocument":{ + "type":"string", + "max":131072, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u00A1-\\u00FF]+" + }, + "AwsIamRoleDetails":{ + "type":"structure", + "members":{ + "AssumeRolePolicyDocument":{ + "shape":"AwsIamRoleAssumeRolePolicyDocument", + "documentation":"

    The trust policy that grants permission to assume the role.

    " + }, + "CreateDate":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time, in ISO 8601 date-time format, when the role was created.

    " + }, + "RoleId":{ + "shape":"NonEmptyString", + "documentation":"

    The stable and unique string identifying the role.

    " + }, + "RoleName":{ + "shape":"NonEmptyString", + "documentation":"

    The friendly name that identifies the role.

    " + }, + "MaxSessionDuration":{ + "shape":"Integer", + "documentation":"

    The maximum session duration (in seconds) that you want to set for the specified role.

    " + }, + "Path":{ + "shape":"NonEmptyString", + "documentation":"

    The path to the role.

    " + } + }, + "documentation":"

    Contains information about an IAM role, including all of the role's policies.

    " + }, + "AwsKmsKeyDetails":{ + "type":"structure", + "members":{ + "AWSAccountId":{ + "shape":"NonEmptyString", + "documentation":"

    The twelve-digit account ID of the AWS account that owns the CMK.

    " + }, + "CreationDate":{ + "shape":"Double", + "documentation":"

    The date and time when the CMK was created.

    " + }, + "KeyId":{ + "shape":"NonEmptyString", + "documentation":"

    The globally unique identifier for the CMK.

    " + }, + "KeyManager":{ + "shape":"NonEmptyString", + "documentation":"

    The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

    " + }, + "KeyState":{ + "shape":"NonEmptyString", + "documentation":"

    The state of the CMK.

    " + }, + "Origin":{ + "shape":"NonEmptyString", + "documentation":"

    The source of the CMK's key material.

    When this value is AWS_KMS, AWS KMS created the key material.

    When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material.

    When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store.

    " + } + }, + "documentation":"

    Contains metadata about a customer master key (CMK).

    " + }, + "AwsLambdaFunctionCode":{ + "type":"structure", + "members":{ + "S3Bucket":{ + "shape":"NonEmptyString", + "documentation":"

    An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

    " + }, + "S3Key":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon S3 key of the deployment package.

    " + }, + "S3ObjectVersion":{ + "shape":"NonEmptyString", + "documentation":"

    For versioned objects, the version of the deployment package object to use.

    " + }, + "ZipFile":{ + "shape":"NonEmptyString", + "documentation":"

    The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

    " + } + }, + "documentation":"

    The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

    " + }, + "AwsLambdaFunctionDeadLetterConfig":{ + "type":"structure", + "members":{ + "TargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

    " + } + }, + "documentation":"

    The dead-letter queue for failed asynchronous invocations.

    " + }, + "AwsLambdaFunctionDetails":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"AwsLambdaFunctionCode", + "documentation":"

    An AwsLambdaFunctionCode object.

    " + }, + "CodeSha256":{ + "shape":"NonEmptyString", + "documentation":"

    The SHA256 hash of the function's deployment package.

    " + }, + "DeadLetterConfig":{ + "shape":"AwsLambdaFunctionDeadLetterConfig", + "documentation":"

    The function's dead letter queue.

    " + }, + "Environment":{ + "shape":"AwsLambdaFunctionEnvironment", + "documentation":"

    The function's environment variables.

    " + }, + "FunctionName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the function.

    " + }, + "Handler":{ + "shape":"NonEmptyString", + "documentation":"

    The function that Lambda calls to begin executing your function.

    " + }, + "KmsKeyArn":{ + "shape":"NonEmptyString", + "documentation":"

    The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

    " + }, + "LastModified":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

    " + }, + "Layers":{ + "shape":"AwsLambdaFunctionLayerList", + "documentation":"

    The function's layers.

    " + }, + "MasterArn":{ + "shape":"NonEmptyString", + "documentation":"

    For Lambda@Edge functions, the ARN of the master function.

    " + }, + "MemorySize":{ + "shape":"Integer", + "documentation":"

    The memory that's allocated to the function.

    " + }, + "RevisionId":{ + "shape":"NonEmptyString", + "documentation":"

    The latest updated revision of the function or alias.

    " + }, + "Role":{ + "shape":"NonEmptyString", + "documentation":"

    The function's execution role.

    " + }, + "Runtime":{ + "shape":"NonEmptyString", + "documentation":"

    The runtime environment for the Lambda function.

    " + }, + "Timeout":{ + "shape":"Integer", + "documentation":"

    The amount of time that Lambda allows a function to run before stopping it.

    " + }, + "TracingConfig":{ + "shape":"AwsLambdaFunctionTracingConfig", + "documentation":"

    The function's AWS X-Ray tracing configuration.

    " + }, + "VpcConfig":{ + "shape":"AwsLambdaFunctionVpcConfig", + "documentation":"

    The function's networking configuration.

    " + }, + "Version":{ + "shape":"NonEmptyString", + "documentation":"

    The version of the Lambda function.

    " + } + }, + "documentation":"

    Details about a function's configuration.

    " + }, + "AwsLambdaFunctionEnvironment":{ + "type":"structure", + "members":{ + "Variables":{ + "shape":"FieldMap", + "documentation":"

    Environment variable key-value pairs.

    " + }, + "Error":{ + "shape":"AwsLambdaFunctionEnvironmentError", + "documentation":"

    An AwsLambdaFunctionEnvironmentError object.

    " + } + }, + "documentation":"

    A function's environment variable settings.

    " + }, + "AwsLambdaFunctionEnvironmentError":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"NonEmptyString", + "documentation":"

    The error code.

    " + }, + "Message":{ + "shape":"NonEmptyString", + "documentation":"

    The error message.

    " + } + }, + "documentation":"

    Error messages for environment variables that couldn't be applied.

    " + }, + "AwsLambdaFunctionLayer":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the function layer.

    " + }, + "CodeSize":{ + "shape":"Integer", + "documentation":"

    The size of the layer archive in bytes.

    " + } + }, + "documentation":"

    An AWS Lambda layer.

    " + }, + "AwsLambdaFunctionLayerList":{ + "type":"list", + "member":{"shape":"AwsLambdaFunctionLayer"} + }, + "AwsLambdaFunctionTracingConfig":{ + "type":"structure", + "members":{ + "Mode":{ + "shape":"NonEmptyString", + "documentation":"

    The tracing mode.

    " + } + }, + "documentation":"

    The function's AWS X-Ray tracing configuration.

    " + }, + "AwsLambdaFunctionVpcConfig":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

    A list of VPC security groups IDs.

    " + }, + "SubnetIds":{ + "shape":"NonEmptyStringList", + "documentation":"

    A list of VPC subnet IDs.

    " + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the VPC.

    " + } + }, + "documentation":"

    The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

    " + }, + "AwsLambdaLayerVersionDetails":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"AwsLambdaLayerVersionNumber", + "documentation":"

    The version number.

    " + }, + "CompatibleRuntimes":{ + "shape":"NonEmptyStringList", + "documentation":"

    The layer's compatible runtimes. Maximum number of five items.

    Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 | provided

    " + }, + "CreatedDate":{ + "shape":"NonEmptyString", + "documentation":"

    The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

    " + } + }, + "documentation":"

    Details about a Lambda layer version.

    " + }, + "AwsLambdaLayerVersionNumber":{"type":"long"}, + "AwsRdsDbInstanceAssociatedRole":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.

    " + }, + "FeatureName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the feature associated with the IAM)role.

    " + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

    Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values:

    • ACTIVE - The IAM role ARN is associated with the DB instance and can be used to access other AWS services on your behalf.

    • PENDING - The IAM role ARN is being associated with the DB instance.

    • INVALID - The IAM role ARN is associated with the DB instance. But the DB instance is unable to assume the IAM role in order to access other AWS services on your behalf.

    " + } + }, + "documentation":"

    An AWS Identity and Access Management (IAM) role associated with the DB instance.

    " + }, + "AwsRdsDbInstanceAssociatedRoles":{ + "type":"list", + "member":{"shape":"AwsRdsDbInstanceAssociatedRole"} + }, + "AwsRdsDbInstanceDetails":{ + "type":"structure", + "members":{ + "AssociatedRoles":{ + "shape":"AwsRdsDbInstanceAssociatedRoles", + "documentation":"

    The AWS Identity and Access Management (IAM) roles associated with the DB instance.

    " + }, + "CACertificateIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the CA certificate for this DB instance.

    " + }, + "DBClusterIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

    If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of.

    " + }, + "DBInstanceIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

    Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance.

    " + }, + "DBInstanceClass":{ + "shape":"NonEmptyString", + "documentation":"

    Contains the name of the compute and memory capacity class of the DB instance.

    " + }, + "DbInstancePort":{ + "shape":"Integer", + "documentation":"

    Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

    " + }, + "DbiResourceId":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

    " + }, + "DBName":{ + "shape":"NonEmptyString", + "documentation":"

    The meaning of this parameter differs according to the database engine you use.

    MySQL, MariaDB, SQL Server, PostgreSQL

    Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

    Oracle

    Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

    " + }, + "DeletionProtection":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the DB instance has deletion protection enabled.

    When deletion protection is enabled, the database cannot be deleted.

    " + }, + "Endpoint":{ + "shape":"AwsRdsDbInstanceEndpoint", + "documentation":"

    Specifies the connection endpoint.

    " + }, + "Engine":{ + "shape":"NonEmptyString", + "documentation":"

    Provides the name of the database engine to use for this DB instance.

    " + }, + "EngineVersion":{ + "shape":"NonEmptyString", + "documentation":"

    Indicates the database engine version.

    " + }, + "IAMDatabaseAuthenticationEnabled":{ + "shape":"Boolean", + "documentation":"

    True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

    IAM database authentication can be enabled for the following database engines.

    • For MySQL 5.6, minor version 5.6.34 or higher

    • For MySQL 5.7, minor version 5.7.16 or higher

    • Aurora 5.6 or higher

    " + }, + "InstanceCreateTime":{ + "shape":"NonEmptyString", + "documentation":"

    Provides the date and time the DB instance was created.

    " + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

    If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

    " + }, + "PubliclyAccessible":{ + "shape":"Boolean", + "documentation":"

    Specifies the accessibility options for the DB instance.

    A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address.

    A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

    " + }, + "StorageEncrypted":{ + "shape":"Boolean", + "documentation":"

    Specifies whether the DB instance is encrypted.

    " + }, + "TdeCredentialArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN from the key store with which the instance is associated for TDE encryption.

    " + }, + "VpcSecurityGroups":{ + "shape":"AwsRdsDbInstanceVpcSecurityGroups", + "documentation":"

    A list of VPC security groups that the DB instance belongs to.

    " + } + }, + "documentation":"

    Contains the details of an Amazon RDS DB instance.

    " + }, + "AwsRdsDbInstanceEndpoint":{ + "type":"structure", + "members":{ + "Address":{ + "shape":"NonEmptyString", + "documentation":"

    Specifies the DNS address of the DB instance.

    " + }, + "Port":{ + "shape":"Integer", + "documentation":"

    Specifies the port that the database engine is listening on.

    " + }, + "HostedZoneId":{ + "shape":"NonEmptyString", + "documentation":"

    Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

    " + } + }, + "documentation":"

    Specifies the connection endpoint.

    " + }, + "AwsRdsDbInstanceVpcSecurityGroup":{ + "type":"structure", + "members":{ + "VpcSecurityGroupId":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the VPC security group.

    " + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

    The status of the VPC security group.

    " + } + }, + "documentation":"

    A VPC security groups that the DB instance belongs to.

    " + }, + "AwsRdsDbInstanceVpcSecurityGroups":{ + "type":"list", + "member":{"shape":"AwsRdsDbInstanceVpcSecurityGroup"} + }, + "AwsS3BucketDetails":{ + "type":"structure", + "members":{ + "OwnerId":{ + "shape":"NonEmptyString", + "documentation":"

    The canonical user ID of the owner of the S3 bucket.

    " + }, + "OwnerName":{ + "shape":"NonEmptyString", + "documentation":"

    The display name of the owner of the S3 bucket.

    " + }, + "CreatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the S3 bucket was created.

    " + }, + "ServerSideEncryptionConfiguration":{ + "shape":"AwsS3BucketServerSideEncryptionConfiguration", + "documentation":"

    The encryption rules that are applied to the S3 bucket.

    " + } + }, + "documentation":"

    The details of an Amazon S3 bucket.

    " + }, + "AwsS3BucketServerSideEncryptionByDefault":{ + "type":"structure", + "members":{ + "SSEAlgorithm":{ + "shape":"NonEmptyString", + "documentation":"

    Server-side encryption algorithm to use for the default encryption.

    " + }, + "KMSMasterKeyID":{ + "shape":"NonEmptyString", + "documentation":"

    AWS KMS customer master key (CMK) ID to use for the default encryption.

    " + } + }, + "documentation":"

    Specifies the default server-side encryption to apply to new objects in the bucket.

    " + }, + "AwsS3BucketServerSideEncryptionConfiguration":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"AwsS3BucketServerSideEncryptionRules", + "documentation":"

    The encryption rules that are applied to the S3 bucket.

    " + } + }, + "documentation":"

    The encryption configuration for the S3 bucket.

    " + }, + "AwsS3BucketServerSideEncryptionRule":{ + "type":"structure", + "members":{ + "ApplyServerSideEncryptionByDefault":{ + "shape":"AwsS3BucketServerSideEncryptionByDefault", + "documentation":"

    Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT object request doesn't specify any server-side encryption, this default encryption is applied.

    " + } + }, + "documentation":"

    An encryption rule to apply to the S3 bucket.

    " + }, + "AwsS3BucketServerSideEncryptionRules":{ + "type":"list", + "member":{"shape":"AwsS3BucketServerSideEncryptionRule"} + }, + "AwsS3ObjectDetails":{ + "type":"structure", + "members":{ + "LastModified":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the object was last modified.

    " + }, + "ETag":{ + "shape":"NonEmptyString", + "documentation":"

    The opaque identifier assigned by a web server to a specific version of a resource found at a URL.

    " + }, + "VersionId":{ + "shape":"NonEmptyString", + "documentation":"

    The version of the object.

    " + }, + "ContentType":{ + "shape":"NonEmptyString", + "documentation":"

    A standard MIME type describing the format of the object data.

    " + }, + "ServerSideEncryption":{ + "shape":"NonEmptyString", + "documentation":"

    If the object is stored using server-side encryption, the value of the server-side encryption algorithm used when storing this object in Amazon S3.

    " + }, + "SSEKMSKeyId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

    " + } + }, + "documentation":"

    Details about an Amazon S3 object.

    " + }, + "AwsSecurityFinding":{ + "type":"structure", + "required":[ + "SchemaVersion", + "Id", + "ProductArn", + "GeneratorId", + "AwsAccountId", + "Types", + "CreatedAt", + "UpdatedAt", + "Severity", + "Title", + "Description", + "Resources" + ], + "members":{ + "SchemaVersion":{ + "shape":"NonEmptyString", + "documentation":"

    The schema version that a finding is formatted for.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The security findings provider-specific identifier for a finding.

    " + }, + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.

    " + }, + "GeneratorId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.

    " + }, + "AwsAccountId":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS account ID that a finding is generated in.

    " + }, + "Types":{ + "shape":"TypeList", + "documentation":"

    One or more finding types in the format of namespace/category/classifier that classify a finding.

    Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications

    " + }, + "FirstObservedAt":{ + "shape":"NonEmptyString", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.

    " + }, + "LastObservedAt":{ + "shape":"NonEmptyString", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

    " + }, + "CreatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider created the potential security issue that a finding captured.

    " + }, + "UpdatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record.

    " + }, + "Severity":{ + "shape":"Severity", + "documentation":"

    A finding's severity.

    " + }, + "Confidence":{ + "shape":"Integer", + "documentation":"

    A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

    " + }, + "Criticality":{ + "shape":"Integer", + "documentation":"

    The level of importance assigned to the resources associated with the finding.

    A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.

    " + }, + "Title":{ + "shape":"NonEmptyString", + "documentation":"

    A finding's title.

    In this release, Title is a required property.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A finding's description.

    In this release, Description is a required property.

    " + }, + "Remediation":{ + "shape":"Remediation", + "documentation":"

    A data type that describes the remediation options for a finding.

    " + }, + "SourceUrl":{ + "shape":"NonEmptyString", + "documentation":"

    A URL that links to a page about the current finding in the security-findings provider's solution.

    " + }, + "ProductFields":{ + "shape":"FieldMap", + "documentation":"

    A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

    " + }, + "UserDefinedFields":{ + "shape":"FieldMap", + "documentation":"

    A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.

    " + }, + "Malware":{ + "shape":"MalwareList", + "documentation":"

    A list of malware related to a finding.

    " + }, + "Network":{ + "shape":"Network", + "documentation":"

    The details of network-related information about a finding.

    " + }, + "Process":{ + "shape":"ProcessDetails", + "documentation":"

    The details of process-related information about a finding.

    " + }, + "ThreatIntelIndicators":{ + "shape":"ThreatIntelIndicatorList", + "documentation":"

    Threat intelligence details related to a finding.

    " + }, + "Resources":{ + "shape":"ResourceList", + "documentation":"

    A set of resource data types that describe the resources that the finding refers to.

    " + }, + "Compliance":{ + "shape":"Compliance", + "documentation":"

    This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS AWS Foundations. Contains security standard-related finding details.

    " + }, + "VerificationState":{ + "shape":"VerificationState", + "documentation":"

    Indicates the veracity of a finding.

    " + }, + "WorkflowState":{ + "shape":"WorkflowState", + "documentation":"

    The workflow state of a finding.

    " + }, + "Workflow":{ + "shape":"Workflow", + "documentation":"

    Provides information about the status of the investigation into a finding.

    " + }, + "RecordState":{ + "shape":"RecordState", + "documentation":"

    The record state of a finding.

    " + }, + "RelatedFindings":{ + "shape":"RelatedFindingList", + "documentation":"

    A list of related findings.

    " + }, + "Note":{ + "shape":"Note", + "documentation":"

    A user-defined note added to a finding.

    " + } + }, + "documentation":"

    Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and security standards checks.

    A finding is a potential security issue generated either by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party solutions and standards checks.

    " + }, + "AwsSecurityFindingFilters":{ + "type":"structure", + "members":{ + "ProductArn":{ + "shape":"StringFilterList", + "documentation":"

    The ARN generated by Security Hub that uniquely identifies a third-party company (security findings provider) after this provider's product (solution that generates findings) is registered with Security Hub.

    " + }, + "AwsAccountId":{ + "shape":"StringFilterList", + "documentation":"

    The AWS account ID that a finding is generated in.

    " + }, + "Id":{ + "shape":"StringFilterList", + "documentation":"

    The security findings provider-specific identifier for a finding.

    " + }, + "GeneratorId":{ + "shape":"StringFilterList", + "documentation":"

    The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.

    " + }, + "Type":{ + "shape":"StringFilterList", + "documentation":"

    A finding type in the format of namespace/category/classifier that classifies a finding.

    " + }, + "FirstObservedAt":{ + "shape":"DateFilterList", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.

    " + }, + "LastObservedAt":{ + "shape":"DateFilterList", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

    " + }, + "CreatedAt":{ + "shape":"DateFilterList", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider captured the potential security issue that a finding captured.

    " + }, + "UpdatedAt":{ + "shape":"DateFilterList", + "documentation":"

    An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record.

    " + }, + "SeverityProduct":{ + "shape":"NumberFilterList", + "documentation":"

    The native severity as defined by the security-findings provider's solution that generated the finding.

    " + }, + "SeverityNormalized":{ + "shape":"NumberFilterList", + "documentation":"

    The normalized severity of a finding.

    " + }, + "SeverityLabel":{ + "shape":"StringFilterList", + "documentation":"

    The label of a finding's severity.

    " + }, + "Confidence":{ + "shape":"NumberFilterList", + "documentation":"

    A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

    " + }, + "Criticality":{ + "shape":"NumberFilterList", + "documentation":"

    The level of importance assigned to the resources associated with the finding.

    A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.

    " + }, + "Title":{ + "shape":"StringFilterList", + "documentation":"

    A finding's title.

    " + }, + "Description":{ + "shape":"StringFilterList", + "documentation":"

    A finding's description.

    " + }, + "RecommendationText":{ + "shape":"StringFilterList", + "documentation":"

    The recommendation of what to do about the issue described in a finding.

    " + }, + "SourceUrl":{ + "shape":"StringFilterList", + "documentation":"

    A URL that links to a page about the current finding in the security-findings provider's solution.

    " + }, + "ProductFields":{ + "shape":"MapFilterList", + "documentation":"

    A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

    " + }, + "ProductName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the solution (product) that generates findings.

    " + }, + "CompanyName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the findings provider (company) that owns the solution (product) that generates findings.

    " + }, + "UserDefinedFields":{ + "shape":"MapFilterList", + "documentation":"

    A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.

    " + }, + "MalwareName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the malware that was observed.

    " + }, + "MalwareType":{ + "shape":"StringFilterList", + "documentation":"

    The type of the malware that was observed.

    " + }, + "MalwarePath":{ + "shape":"StringFilterList", + "documentation":"

    The filesystem path of the malware that was observed.

    " + }, + "MalwareState":{ + "shape":"StringFilterList", + "documentation":"

    The state of the malware that was observed.

    " + }, + "NetworkDirection":{ + "shape":"StringFilterList", + "documentation":"

    Indicates the direction of network traffic associated with a finding.

    " + }, + "NetworkProtocol":{ + "shape":"StringFilterList", + "documentation":"

    The protocol of network-related information about a finding.

    " + }, + "NetworkSourceIpV4":{ + "shape":"IpFilterList", + "documentation":"

    The source IPv4 address of network-related information about a finding.

    " + }, + "NetworkSourceIpV6":{ + "shape":"IpFilterList", + "documentation":"

    The source IPv6 address of network-related information about a finding.

    " + }, + "NetworkSourcePort":{ + "shape":"NumberFilterList", + "documentation":"

    The source port of network-related information about a finding.

    " + }, + "NetworkSourceDomain":{ + "shape":"StringFilterList", + "documentation":"

    The source domain of network-related information about a finding.

    " + }, + "NetworkSourceMac":{ + "shape":"StringFilterList", + "documentation":"

    The source media access control (MAC) address of network-related information about a finding.

    " + }, + "NetworkDestinationIpV4":{ + "shape":"IpFilterList", + "documentation":"

    The destination IPv4 address of network-related information about a finding.

    " + }, + "NetworkDestinationIpV6":{ + "shape":"IpFilterList", + "documentation":"

    The destination IPv6 address of network-related information about a finding.

    " + }, + "NetworkDestinationPort":{ + "shape":"NumberFilterList", + "documentation":"

    The destination port of network-related information about a finding.

    " + }, + "NetworkDestinationDomain":{ + "shape":"StringFilterList", + "documentation":"

    The destination domain of network-related information about a finding.

    " + }, + "ProcessName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the process.

    " + }, + "ProcessPath":{ + "shape":"StringFilterList", + "documentation":"

    The path to the process executable.

    " + }, + "ProcessPid":{ + "shape":"NumberFilterList", + "documentation":"

    The process ID.

    " + }, + "ProcessParentPid":{ + "shape":"NumberFilterList", + "documentation":"

    The parent process ID.

    " + }, + "ProcessLaunchedAt":{ + "shape":"DateFilterList", + "documentation":"

    The date/time that the process was launched.

    " + }, + "ProcessTerminatedAt":{ + "shape":"DateFilterList", + "documentation":"

    The date/time that the process was terminated.

    " + }, + "ThreatIntelIndicatorType":{ + "shape":"StringFilterList", + "documentation":"

    The type of a threat intelligence indicator.

    " + }, + "ThreatIntelIndicatorValue":{ + "shape":"StringFilterList", + "documentation":"

    The value of a threat intelligence indicator.

    " + }, + "ThreatIntelIndicatorCategory":{ + "shape":"StringFilterList", + "documentation":"

    The category of a threat intelligence indicator.

    " + }, + "ThreatIntelIndicatorLastObservedAt":{ + "shape":"DateFilterList", + "documentation":"

    The date/time of the last observation of a threat intelligence indicator.

    " + }, + "ThreatIntelIndicatorSource":{ + "shape":"StringFilterList", + "documentation":"

    The source of the threat intelligence.

    " + }, + "ThreatIntelIndicatorSourceUrl":{ + "shape":"StringFilterList", + "documentation":"

    The URL for more details from the source of the threat intelligence.

    " + }, + "ResourceType":{ + "shape":"StringFilterList", + "documentation":"

    Specifies the type of the resource that details are provided for.

    " + }, + "ResourceId":{ + "shape":"StringFilterList", + "documentation":"

    The canonical identifier for the given resource type.

    " + }, + "ResourcePartition":{ + "shape":"StringFilterList", + "documentation":"

    The canonical AWS partition name that the Region is assigned to.

    " + }, + "ResourceRegion":{ + "shape":"StringFilterList", + "documentation":"

    The canonical AWS external Region name where this resource is located.

    " + }, + "ResourceTags":{ + "shape":"MapFilterList", + "documentation":"

    A list of AWS tags associated with a resource at the time the finding was processed.

    " + }, + "ResourceAwsEc2InstanceType":{ + "shape":"StringFilterList", + "documentation":"

    The instance type of the instance.

    " + }, + "ResourceAwsEc2InstanceImageId":{ + "shape":"StringFilterList", + "documentation":"

    The Amazon Machine Image (AMI) ID of the instance.

    " + }, + "ResourceAwsEc2InstanceIpV4Addresses":{ + "shape":"IpFilterList", + "documentation":"

    The IPv4 addresses associated with the instance.

    " + }, + "ResourceAwsEc2InstanceIpV6Addresses":{ + "shape":"IpFilterList", + "documentation":"

    The IPv6 addresses associated with the instance.

    " + }, + "ResourceAwsEc2InstanceKeyName":{ + "shape":"StringFilterList", + "documentation":"

    The key name associated with the instance.

    " + }, + "ResourceAwsEc2InstanceIamInstanceProfileArn":{ + "shape":"StringFilterList", + "documentation":"

    The IAM profile ARN of the instance.

    " + }, + "ResourceAwsEc2InstanceVpcId":{ + "shape":"StringFilterList", + "documentation":"

    The identifier of the VPC that the instance was launched in.

    " + }, + "ResourceAwsEc2InstanceSubnetId":{ + "shape":"StringFilterList", + "documentation":"

    The identifier of the subnet that the instance was launched in.

    " + }, + "ResourceAwsEc2InstanceLaunchedAt":{ + "shape":"DateFilterList", + "documentation":"

    The date and time the instance was launched.

    " + }, + "ResourceAwsS3BucketOwnerId":{ + "shape":"StringFilterList", + "documentation":"

    The canonical user ID of the owner of the S3 bucket.

    " + }, + "ResourceAwsS3BucketOwnerName":{ + "shape":"StringFilterList", + "documentation":"

    The display name of the owner of the S3 bucket.

    " + }, + "ResourceAwsIamAccessKeyUserName":{ + "shape":"StringFilterList", + "documentation":"

    The user associated with the IAM access key related to a finding.

    " + }, + "ResourceAwsIamAccessKeyStatus":{ + "shape":"StringFilterList", + "documentation":"

    The status of the IAM access key related to a finding.

    " + }, + "ResourceAwsIamAccessKeyCreatedAt":{ + "shape":"DateFilterList", + "documentation":"

    The creation date/time of the IAM access key related to a finding.

    " + }, + "ResourceContainerName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the container related to a finding.

    " + }, + "ResourceContainerImageId":{ + "shape":"StringFilterList", + "documentation":"

    The identifier of the image related to a finding.

    " + }, + "ResourceContainerImageName":{ + "shape":"StringFilterList", + "documentation":"

    The name of the image related to a finding.

    " + }, + "ResourceContainerLaunchedAt":{ + "shape":"DateFilterList", + "documentation":"

    The date/time that the container was started.

    " + }, + "ResourceDetailsOther":{ + "shape":"MapFilterList", + "documentation":"

    The details of a resource that doesn't have a specific subfield for the resource type defined.

    " + }, + "ComplianceStatus":{ + "shape":"StringFilterList", + "documentation":"

    Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard, such as CIS AWS Foundations. Contains security standard-related finding details.

    " + }, + "VerificationState":{ + "shape":"StringFilterList", + "documentation":"

    The veracity of a finding.

    " + }, + "WorkflowState":{ + "shape":"StringFilterList", + "documentation":"

    The workflow state of a finding.

    " + }, + "WorkflowStatus":{ + "shape":"StringFilterList", + "documentation":"

    The status of the investigation into a finding. Allowed values are the following.

    • NEW - The initial state of a finding, before it is reviewed.

    • NOTIFIED - Indicates that the resource owner has been notified about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.

    • SUPPRESSED - The finding will not be reviewed again and will not be acted upon.

    • RESOLVED - The finding was reviewed and remediated and is now considered resolved.

    " + }, + "RecordState":{ + "shape":"StringFilterList", + "documentation":"

    The updated record state for the finding.

    " + }, + "RelatedFindingsProductArn":{ + "shape":"StringFilterList", + "documentation":"

    The ARN of the solution that generated a related finding.

    " + }, + "RelatedFindingsId":{ + "shape":"StringFilterList", + "documentation":"

    The solution-generated identifier for a related finding.

    " + }, + "NoteText":{ + "shape":"StringFilterList", + "documentation":"

    The text of a note.

    " + }, + "NoteUpdatedAt":{ + "shape":"DateFilterList", + "documentation":"

    The timestamp of when the note was updated.

    " + }, + "NoteUpdatedBy":{ + "shape":"StringFilterList", + "documentation":"

    The principal that created a note.

    " + }, + "Keyword":{ + "shape":"KeywordFilterList", + "documentation":"

    A keyword for a finding.

    " + } + }, + "documentation":"

    A collection of attributes that are applied to all active Security Hub-aggregated findings and that result in a subset of findings that are included in this insight.

    " + }, + "AwsSecurityFindingIdentifier":{ + "type":"structure", + "required":[ + "Id", + "ProductArn" + ], + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the finding that was specified by the finding provider.

    " + }, + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.

    " + } + }, + "documentation":"

    Identifies a finding to update using BatchUpdateFindings.

    " + }, + "AwsSecurityFindingIdentifierList":{ + "type":"list", + "member":{"shape":"AwsSecurityFindingIdentifier"} + }, + "AwsSecurityFindingList":{ + "type":"list", + "member":{"shape":"AwsSecurityFinding"} + }, + "AwsSnsTopicDetails":{ + "type":"structure", + "members":{ + "KmsMasterKeyId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK.

    " + }, + "Subscription":{ + "shape":"AwsSnsTopicSubscriptionList", + "documentation":"

    Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

    " + }, + "TopicName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the topic.

    " + }, + "Owner":{ + "shape":"NonEmptyString", + "documentation":"

    The subscription's owner.

    " + } + }, + "documentation":"

    A wrapper type for the topic's Amazon Resource Name (ARN).

    " + }, + "AwsSnsTopicSubscription":{ + "type":"structure", + "members":{ + "Endpoint":{ + "shape":"NonEmptyString", + "documentation":"

    The subscription's endpoint (format depends on the protocol).

    " + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

    The subscription's protocol.

    " + } + }, + "documentation":"

    A wrapper type for the attributes of an Amazon SNS subscription.

    " + }, + "AwsSnsTopicSubscriptionList":{ + "type":"list", + "member":{"shape":"AwsSnsTopicSubscription"} + }, + "AwsSqsQueueDetails":{ + "type":"structure", + "members":{ + "KmsDataKeyReusePeriodSeconds":{ + "shape":"Integer", + "documentation":"

    The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

    " + }, + "KmsMasterKeyId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom CMK.

    " + }, + "QueueName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the new queue.

    " + }, + "DeadLetterTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

    " + } + }, + "documentation":"

    Data about a queue.

    " + }, + "AwsWafWebAclDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

    " + }, + "DefaultAction":{ + "shape":"NonEmptyString", + "documentation":"

    The action to perform if none of the rules contained in the WebACL match.

    " + }, + "Rules":{ + "shape":"AwsWafWebAclRuleList", + "documentation":"

    An array that contains the action for each rule in a WebACL, the priority of the rule, and the ID of the rule.

    " + }, + "WebAclId":{ + "shape":"NonEmptyString", + "documentation":"

    A unique identifier for a WebACL.

    " + } + }, + "documentation":"

    Details about a WAF WebACL.

    " + }, + "AwsWafWebAclRule":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"WafAction", + "documentation":"

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule.

    " + }, + "ExcludedRules":{ + "shape":"WafExcludedRuleList", + "documentation":"

    Rules to exclude from a rule group.

    " + }, + "OverrideAction":{ + "shape":"WafOverrideAction", + "documentation":"

    Use the OverrideAction to test your RuleGroup.

    Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup blocks a request if any individual rule in the RuleGroup matches the request and is configured to block that request.

    However, if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup then overrides any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests are counted.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "Priority":{ + "shape":"Integer", + "documentation":"

    Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before rules with a higher value. The value must be a unique integer. If you add multiple rules to a WebACL, the values do not need to be consecutive.

    " + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier for a rule.

    " + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The rule type.

    Valid values: REGULAR | RATE_BASED | GROUP

    The default is REGULAR.

    " + } + }, + "documentation":"

    Details for a rule in a WAF WebACL.

    " + }, + "AwsWafWebAclRuleList":{ + "type":"list", + "member":{"shape":"AwsWafWebAclRule"} + }, + "BatchDisableStandardsRequest":{ + "type":"structure", + "required":["StandardsSubscriptionArns"], + "members":{ + "StandardsSubscriptionArns":{ + "shape":"StandardsSubscriptionArns", + "documentation":"

    The ARNs of the standards subscriptions to disable.

    " + } + } + }, + "BatchDisableStandardsResponse":{ + "type":"structure", + "members":{ + "StandardsSubscriptions":{ + "shape":"StandardsSubscriptions", + "documentation":"

    The details of the standards subscriptions that were disabled.

    " + } + } + }, + "BatchEnableStandardsRequest":{ + "type":"structure", + "required":["StandardsSubscriptionRequests"], + "members":{ + "StandardsSubscriptionRequests":{ + "shape":"StandardsSubscriptionRequests", + "documentation":"

    The list of standards checks to enable.

    " + } + } + }, + "BatchEnableStandardsResponse":{ + "type":"structure", + "members":{ + "StandardsSubscriptions":{ + "shape":"StandardsSubscriptions", + "documentation":"

    The details of the standards subscriptions that were enabled.

    " + } + } + }, + "BatchImportFindingsRequest":{ + "type":"structure", + "required":["Findings"], + "members":{ + "Findings":{ + "shape":"AwsSecurityFindingList", + "documentation":"

    A list of findings to import. To successfully import a finding, it must follow the AWS Security Finding Format. Maximum of 100 findings per request.

    " + } + } + }, + "BatchImportFindingsResponse":{ + "type":"structure", + "required":[ + "FailedCount", + "SuccessCount" + ], + "members":{ + "FailedCount":{ + "shape":"Integer", + "documentation":"

    The number of findings that failed to import.

    " + }, + "SuccessCount":{ + "shape":"Integer", + "documentation":"

    The number of findings that were successfully imported.

    " + }, + "FailedFindings":{ + "shape":"ImportFindingsErrorList", + "documentation":"

    The list of findings that failed to import.

    " + } + } + }, + "BatchUpdateFindingsRequest":{ + "type":"structure", + "required":["FindingIdentifiers"], + "members":{ + "FindingIdentifiers":{ + "shape":"AwsSecurityFindingIdentifierList", + "documentation":"

    The list of findings to update. BatchUpdateFindings can be used to update up to 100 findings at a time.

    For each finding, the list provides the finding identifier and the ARN of the finding provider.

    " + }, + "Note":{"shape":"NoteUpdate"}, + "Severity":{ + "shape":"SeverityUpdate", + "documentation":"

    Used to update the finding severity.

    " + }, + "VerificationState":{ + "shape":"VerificationState", + "documentation":"

    Indicates the veracity of a finding.

    The available values for VerificationState are as follows.

    • UNKNOWN – The default disposition of a security finding

    • TRUE_POSITIVE – The security finding is confirmed

    • FALSE_POSITIVE – The security finding was determined to be a false alarm

    • BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding doesn't pose any threat, is expected, or both

    " + }, + "Confidence":{ + "shape":"RatioScale", + "documentation":"

    The updated value for the finding confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.

    Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

    " + }, + "Criticality":{ + "shape":"RatioScale", + "documentation":"

    The updated value for the level of importance assigned to the resources associated with the findings.

    A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.

    " + }, + "Types":{ + "shape":"TypeList", + "documentation":"

    One or more finding types in the format of namespace/category/classifier that classify a finding.

    Valid namespace values are as follows.

    • Software and Configuration Checks

    • TTPs

    • Effects

    • Unusual Behaviors

    • Sensitive Data Identifications

    " + }, + "UserDefinedFields":{ + "shape":"FieldMap", + "documentation":"

    A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.

    " + }, + "Workflow":{ + "shape":"WorkflowUpdate", + "documentation":"

    Used to update the workflow status of a finding.

    The workflow status indicates the progress of the investigation into the finding.

    " + }, + "RelatedFindings":{ + "shape":"RelatedFindingList", + "documentation":"

    A list of findings that are related to the updated findings.

    " + } + } + }, + "BatchUpdateFindingsResponse":{ + "type":"structure", + "required":[ + "ProcessedFindings", + "UnprocessedFindings" + ], + "members":{ + "ProcessedFindings":{ + "shape":"AwsSecurityFindingIdentifierList", + "documentation":"

    The list of findings that were updated successfully.

    " + }, + "UnprocessedFindings":{ + "shape":"BatchUpdateFindingsUnprocessedFindingsList", + "documentation":"

    The list of findings that were not updated.

    " + } + } + }, + "BatchUpdateFindingsUnprocessedFinding":{ + "type":"structure", + "required":[ + "FindingIdentifier", + "ErrorCode", + "ErrorMessage" + ], + "members":{ + "FindingIdentifier":{ + "shape":"AwsSecurityFindingIdentifier", + "documentation":"

    The identifier of the finding that was not updated.

    " + }, + "ErrorCode":{ + "shape":"NonEmptyString", + "documentation":"

    The code associated with the error.

    " + }, + "ErrorMessage":{ + "shape":"NonEmptyString", + "documentation":"

    The message associated with the error.

    " + } + }, + "documentation":"

    A finding from a BatchUpdateFindings request that Security Hub was unable to update.

    " + }, + "BatchUpdateFindingsUnprocessedFindingsList":{ + "type":"list", + "member":{"shape":"BatchUpdateFindingsUnprocessedFinding"} + }, + "Boolean":{"type":"boolean"}, + "CategoryList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Compliance":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"ComplianceStatus", + "documentation":"

    The result of a standards check.

    The valid values for Status are as follows.

      • PASSED - Standards check passed for all evaluated resources.

      • WARNING - Some information is missing or this check is not supported for your configuration.

      • FAILED - Standards check failed for at least one evaluated resource.

      • NOT_AVAILABLE - Check could not be performed due to a service outage, API error, or because the result of the AWS Config evaluation was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE, then after 3 days, Security Hub automatically archives the finding.

    " + }, + "RelatedRequirements":{ + "shape":"RelatedRequirementsList", + "documentation":"

    For a control, the industry or regulatory framework requirements that are related to the control. The check for that control is aligned with these requirements.

    " + }, + "StatusReasons":{ + "shape":"StatusReasonsList", + "documentation":"

    For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide.

    " + } + }, + "documentation":"

    Contains finding details that are specific to control-based findings. Only returned for findings generated from controls.

    " + }, + "ComplianceStatus":{ + "type":"string", + "enum":[ + "PASSED", + "WARNING", + "FAILED", + "NOT_AVAILABLE" + ] + }, + "ContainerDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the container related to a finding.

    " + }, + "ImageId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the image related to a finding.

    " + }, + "ImageName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the image related to a finding.

    " + }, + "LaunchedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the container started.

    " + } + }, + "documentation":"

    Container details related to a finding.

    " + }, + "ControlStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "CreateActionTargetRequest":{ + "type":"structure", + "required":[ + "Name", + "Description", + "Id" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the custom action target.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The description for the custom action target.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The ID for the custom action target.

    " + } + } + }, + "CreateActionTargetResponse":{ + "type":"structure", + "required":["ActionTargetArn"], + "members":{ + "ActionTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN for the custom action target.

    " + } + } + }, + "CreateInsightRequest":{ + "type":"structure", + "required":[ + "Name", + "Filters", + "GroupByAttribute" + ], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the custom insight to create.

    " + }, + "Filters":{ + "shape":"AwsSecurityFindingFilters", + "documentation":"

    One or more attributes used to filter the findings included in the insight. The insight only includes findings that match the criteria defined in the filters.

    " + }, + "GroupByAttribute":{ + "shape":"NonEmptyString", + "documentation":"

    The attribute used to group the findings for the insight. The grouping attribute identifies the type of item that the insight applies to. For example, if an insight is grouped by resource identifier, then the insight produces a list of resource identifiers.

    " + } + } + }, + "CreateInsightResponse":{ + "type":"structure", + "required":["InsightArn"], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight created.

    " + } + } + }, + "CreateMembersRequest":{ + "type":"structure", + "members":{ + "AccountDetails":{ + "shape":"AccountDetailsList", + "documentation":"

    The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "CreateMembersResponse":{ + "type":"structure", + "members":{ + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts that were not processed. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "DateFilter":{ + "type":"structure", + "members":{ + "Start":{ + "shape":"NonEmptyString", + "documentation":"

    A start date for the date filter.

    " + }, + "End":{ + "shape":"NonEmptyString", + "documentation":"

    An end date for the date filter.

    " + }, + "DateRange":{ + "shape":"DateRange", + "documentation":"

    A date range for the date filter.

    " + } + }, + "documentation":"

    A date filter for querying findings.

    " + }, + "DateFilterList":{ + "type":"list", + "member":{"shape":"DateFilter"} + }, + "DateRange":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Integer", + "documentation":"

    A date range value for the date filter.

    " + }, + "Unit":{ + "shape":"DateRangeUnit", + "documentation":"

    A date range unit for the date filter.

    " + } + }, + "documentation":"

    A date range for the date filter.

    " + }, + "DateRangeUnit":{ + "type":"string", + "enum":["DAYS"] + }, + "DeclineInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The list of account IDs for the accounts from which to decline the invitations to Security Hub.

    " + } + } + }, + "DeclineInvitationsResponse":{ + "type":"structure", + "members":{ + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts that were not processed. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "DeleteActionTargetRequest":{ + "type":"structure", + "required":["ActionTargetArn"], + "members":{ + "ActionTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the custom action target to delete.

    ", + "location":"uri", + "locationName":"ActionTargetArn" + } + } + }, + "DeleteActionTargetResponse":{ + "type":"structure", + "required":["ActionTargetArn"], + "members":{ + "ActionTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the custom action target that was deleted.

    " + } + } + }, + "DeleteInsightRequest":{ + "type":"structure", + "required":["InsightArn"], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight to delete.

    ", + "location":"uri", + "locationName":"InsightArn" + } + } + }, + "DeleteInsightResponse":{ + "type":"structure", + "required":["InsightArn"], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight that was deleted.

    " + } + } + }, + "DeleteInvitationsRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The list of the account IDs that sent the invitations to delete.

    " + } + } + }, + "DeleteInvitationsResponse":{ + "type":"structure", + "members":{ + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts for which the invitations were not deleted. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "DeleteMembersRequest":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The list of account IDs for the member accounts to delete.

    " + } + } + }, + "DeleteMembersResponse":{ + "type":"structure", + "members":{ + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts that were not deleted. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "DescribeActionTargetsRequest":{ + "type":"structure", + "members":{ + "ActionTargetArns":{ + "shape":"ArnList", + "documentation":"

    A list of custom action target ARNs for the custom action targets to retrieve.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the DescribeActionTargets operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    " + } + } + }, + "DescribeActionTargetsResponse":{ + "type":"structure", + "required":["ActionTargets"], + "members":{ + "ActionTargets":{ + "shape":"ActionTargetList", + "documentation":"

    A list of ActionTarget objects. Each object includes the ActionTargetArn, Description, and Name of a custom action target available in Security Hub.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "DescribeHubRequest":{ + "type":"structure", + "members":{ + "HubArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Hub resource to retrieve.

    ", + "location":"querystring", + "locationName":"HubArn" + } + } + }, + "DescribeHubResponse":{ + "type":"structure", + "members":{ + "HubArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the Hub resource that was retrieved.

    " + }, + "SubscribedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when Security Hub was enabled in the account.

    " + } + } + }, + "DescribeProductsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the DescribeProducts operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeProductsResponse":{ + "type":"structure", + "required":["Products"], + "members":{ + "Products":{ + "shape":"ProductsList", + "documentation":"

    A list of products, including details for each product.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "DescribeStandardsControlsRequest":{ + "type":"structure", + "required":["StandardsSubscriptionArn"], + "members":{ + "StandardsSubscriptionArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of a resource that represents your subscription to a supported standard.

    ", + "location":"uri", + "locationName":"StandardsSubscriptionArn" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the DescribeStandardsControls operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of security standard controls to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeStandardsControlsResponse":{ + "type":"structure", + "members":{ + "Controls":{ + "shape":"StandardsControls", + "documentation":"

    A list of security standards controls.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "DescribeStandardsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the DescribeStandards operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of standards to return.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "DescribeStandardsResponse":{ + "type":"structure", + "members":{ + "Standards":{ + "shape":"Standards", + "documentation":"

    A list of available standards.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "DisableImportFindingsForProductRequest":{ + "type":"structure", + "required":["ProductSubscriptionArn"], + "members":{ + "ProductSubscriptionArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the integrated product to disable the integration for.

    ", + "location":"uri", + "locationName":"ProductSubscriptionArn" + } + } + }, + "DisableImportFindingsForProductResponse":{ + "type":"structure", + "members":{ + } + }, + "DisableSecurityHubRequest":{ + "type":"structure", + "members":{ + } + }, + "DisableSecurityHubResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateFromMasterAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "DisassociateFromMasterAccountResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateMembersRequest":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The account IDs of the member accounts to disassociate from the master account.

    " + } + } + }, + "DisassociateMembersResponse":{ + "type":"structure", + "members":{ + } + }, + "Double":{"type":"double"}, + "EnableImportFindingsForProductRequest":{ + "type":"structure", + "required":["ProductArn"], + "members":{ + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the product to enable the integration for.

    " + } + } + }, + "EnableImportFindingsForProductResponse":{ + "type":"structure", + "members":{ + "ProductSubscriptionArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of your subscription to the product to enable integrations for.

    " + } + } + }, + "EnableSecurityHubRequest":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags to add to the hub resource when you enable Security Hub.

    " + }, + "EnableDefaultStandards":{ + "shape":"Boolean", + "documentation":"

    Whether to enable the security standards that Security Hub has designated as automatically enabled. If you do not provide a value for EnableDefaultStandards, it is set to true. To not enable the automatically enabled standards, set EnableDefaultStandards to false.

    " + } + } + }, + "EnableSecurityHubResponse":{ + "type":"structure", + "members":{ + } + }, + "FieldMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + }, + "GetEnabledStandardsRequest":{ + "type":"structure", + "members":{ + "StandardsSubscriptionArns":{ + "shape":"StandardsSubscriptionArns", + "documentation":"

    The list of the standards subscription ARNs for the standards to retrieve.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the GetEnabledStandards operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in the response.

    " + } + } + }, + "GetEnabledStandardsResponse":{ + "type":"structure", + "members":{ + "StandardsSubscriptions":{ + "shape":"StandardsSubscriptions", + "documentation":"

    The list of StandardsSubscriptions objects that include information about the enabled standards.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "GetFindingsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"AwsSecurityFindingFilters", + "documentation":"

    The finding attributes used to define a condition to filter the returned findings.

    " + }, + "SortCriteria":{ + "shape":"SortCriteria", + "documentation":"

    The finding attributes used to sort the list of returned findings.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the GetFindings operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of findings to return.

    " + } + } + }, + "GetFindingsResponse":{ + "type":"structure", + "required":["Findings"], + "members":{ + "Findings":{ + "shape":"AwsSecurityFindingList", + "documentation":"

    The findings that matched the filters specified in the request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "GetInsightResultsRequest":{ + "type":"structure", + "required":["InsightArn"], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight for which to return results.

    ", + "location":"uri", + "locationName":"InsightArn" + } + } + }, + "GetInsightResultsResponse":{ + "type":"structure", + "required":["InsightResults"], + "members":{ + "InsightResults":{ + "shape":"InsightResults", + "documentation":"

    The insight results returned by the operation.

    " + } + } + }, + "GetInsightsRequest":{ + "type":"structure", + "members":{ + "InsightArns":{ + "shape":"ArnList", + "documentation":"

    The ARNs of the insights to describe. If you do not provide any insight ARNs, then GetInsights returns all of your custom insights. It does not return any managed insights.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the GetInsights operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response.

    " + } + } + }, + "GetInsightsResponse":{ + "type":"structure", + "required":["Insights"], + "members":{ + "Insights":{ + "shape":"InsightList", + "documentation":"

    The insights returned by the operation.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "GetInvitationsCountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetInvitationsCountResponse":{ + "type":"structure", + "members":{ + "InvitationsCount":{ + "shape":"Integer", + "documentation":"

    The number of all membership invitations sent to this Security Hub member account, not including the currently accepted invitation.

    " + } + } + }, + "GetMasterAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetMasterAccountResponse":{ + "type":"structure", + "members":{ + "Master":{ + "shape":"Invitation", + "documentation":"

    A list of details about the Security Hub master account for the current member account.

    " + } + } + }, + "GetMembersRequest":{ + "type":"structure", + "required":["AccountIds"], + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The list of account IDs for the Security Hub member accounts to return the details for.

    " + } + } + }, + "GetMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"MemberList", + "documentation":"

    The list of details about the Security Hub member accounts.

    " + }, + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts that could not be processed. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "ImportFindingsError":{ + "type":"structure", + "required":[ + "Id", + "ErrorCode", + "ErrorMessage" + ], + "members":{ + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the finding that could not be updated.

    " + }, + "ErrorCode":{ + "shape":"NonEmptyString", + "documentation":"

    The code of the error returned by the BatchImportFindings operation.

    " + }, + "ErrorMessage":{ + "shape":"NonEmptyString", + "documentation":"

    The message of the error returned by the BatchImportFindings operation.

    " + } + }, + "documentation":"

    The list of the findings that cannot be imported. For each finding, the list provides the error.

    " + }, + "ImportFindingsErrorList":{ + "type":"list", + "member":{"shape":"ImportFindingsError"} + }, + "Insight":{ + "type":"structure", + "required":[ + "InsightArn", + "Name", + "Filters", + "GroupByAttribute" + ], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of a Security Hub insight.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of a Security Hub insight.

    " + }, + "Filters":{ + "shape":"AwsSecurityFindingFilters", + "documentation":"

    One or more attributes used to filter the findings included in the insight. The insight only includes findings that match the criteria defined in the filters.

    " + }, + "GroupByAttribute":{ + "shape":"NonEmptyString", + "documentation":"

    The grouping attribute for the insight's findings. Indicates how to group the matching findings, and identifies the type of item that the insight applies to. For example, if an insight is grouped by resource identifier, then the insight produces a list of resource identifiers.

    " + } + }, + "documentation":"

    Contains information about a Security Hub insight.

    " + }, + "InsightList":{ + "type":"list", + "member":{"shape":"Insight"} + }, + "InsightResultValue":{ + "type":"structure", + "required":[ + "GroupByAttributeValue", + "Count" + ], + "members":{ + "GroupByAttributeValue":{ + "shape":"NonEmptyString", + "documentation":"

    The value of the attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.

    " + }, + "Count":{ + "shape":"Integer", + "documentation":"

    The number of findings returned for each GroupByAttributeValue.

    " + } + }, + "documentation":"

    The insight result values returned by the GetInsightResults operation.

    " + }, + "InsightResultValueList":{ + "type":"list", + "member":{"shape":"InsightResultValue"} + }, + "InsightResults":{ + "type":"structure", + "required":[ + "InsightArn", + "GroupByAttribute", + "ResultValues" + ], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight whose results are returned by the GetInsightResults operation.

    " + }, + "GroupByAttribute":{ + "shape":"NonEmptyString", + "documentation":"

    The attribute that the findings are grouped by for the insight whose results are returned by the GetInsightResults operation.

    " + }, + "ResultValues":{ + "shape":"InsightResultValueList", + "documentation":"

    The list of insight result values returned by the GetInsightResults operation.

    " + } + }, + "documentation":"

    The insight results returned by the GetInsightResults operation.

    " + }, + "Integer":{"type":"integer"}, + "IntegrationType":{ + "type":"string", + "enum":[ + "SEND_FINDINGS_TO_SECURITY_HUB", + "RECEIVE_FINDINGS_FROM_SECURITY_HUB" + ] + }, + "IntegrationTypeList":{ + "type":"list", + "member":{"shape":"IntegrationType"} + }, + "InternalException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    Internal server error.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidAccessException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    AWS Security Hub isn't enabled for the account used to make this request.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, + "InvalidInputException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request was rejected because you supplied an invalid or out-of-range value for an input parameter.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Invitation":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The account ID of the Security Hub master account that the invitation was sent from.

    " + }, + "InvitationId":{ + "shape":"NonEmptyString", + "documentation":"

    The ID of the invitation sent to the member account.

    " + }, + "InvitedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp of when the invitation was sent.

    " + }, + "MemberStatus":{ + "shape":"NonEmptyString", + "documentation":"

    The current status of the association between the member and master accounts.

    " + } + }, + "documentation":"

    Details about an invitation.

    " + }, + "InvitationList":{ + "type":"list", + "member":{"shape":"Invitation"} + }, + "InviteMembersRequest":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The list of account IDs of the AWS accounts to invite to Security Hub as members.

    " + } + } + }, + "InviteMembersResponse":{ + "type":"structure", + "members":{ + "UnprocessedAccounts":{ + "shape":"ResultList", + "documentation":"

    The list of AWS accounts that could not be processed. For each account, the list includes the account ID and the email address.

    " + } + } + }, + "IpFilter":{ + "type":"structure", + "members":{ + "Cidr":{ + "shape":"NonEmptyString", + "documentation":"

    A finding's CIDR value.

    " + } + }, + "documentation":"

    The IP filter for querying findings.

    " + }, + "IpFilterList":{ + "type":"list", + "member":{"shape":"IpFilter"} + }, + "KeywordFilter":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"NonEmptyString", + "documentation":"

    A value for the keyword.

    " + } + }, + "documentation":"

    A keyword filter for querying findings.

    " + }, + "KeywordFilterList":{ + "type":"list", + "member":{"shape":"KeywordFilter"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "ListEnabledProductsForImportRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the ListEnabledProductsForImport operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response.

    ", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListEnabledProductsForImportResponse":{ + "type":"structure", + "members":{ + "ProductSubscriptions":{ + "shape":"ProductSubscriptionArnList", + "documentation":"

    The list of ARNs for the resources that represent your subscriptions to products.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "ListInvitationsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the ListInvitations operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListInvitationsResponse":{ + "type":"structure", + "members":{ + "Invitations":{ + "shape":"InvitationList", + "documentation":"

    The details of the invitations returned by the operation.

    " + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "ListMembersRequest":{ + "type":"structure", + "members":{ + "OnlyAssociated":{ + "shape":"Boolean", + "documentation":"

    Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE.

    If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED.

    If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

    ", + "location":"querystring", + "locationName":"OnlyAssociated" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return in the response.

    ", + "location":"querystring", + "locationName":"MaxResults" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token that is required for pagination. On your first call to the ListMembers operation, set the value of this parameter to NULL.

    For subsequent calls to the operation, to continue listing data, set the value of this parameter to the value returned from the previous response.

    ", + "location":"querystring", + "locationName":"NextToken" + } + } + }, + "ListMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"MemberList", + "documentation":"

    Member details returned by the operation.

    " + }, + "NextToken":{ + "shape":"NonEmptyString", + "documentation":"

    The pagination token to use to request the next page of results.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN of the resource to retrieve tags for.

    ", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags associated with a resource.

    " + } + } + }, + "LoadBalancerState":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"NonEmptyString", + "documentation":"

    The state code. The initial state of the load balancer is provisioning.

    After the load balancer is fully set up and ready to route traffic, its state is active.

    If the load balancer could not be set up, its state is failed.

    " + }, + "Reason":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the state.

    " + } + }, + "documentation":"

    Information about the state of the load balancer.

    " + }, + "Malware":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the malware that was observed.

    " + }, + "Type":{ + "shape":"MalwareType", + "documentation":"

    The type of the malware that was observed.

    " + }, + "Path":{ + "shape":"NonEmptyString", + "documentation":"

    The file system path of the malware that was observed.

    " + }, + "State":{ + "shape":"MalwareState", + "documentation":"

    The state of the malware that was observed.

    " + } + }, + "documentation":"

    A list of malware related to a finding.

    " + }, + "MalwareList":{ + "type":"list", + "member":{"shape":"Malware"} + }, + "MalwareState":{ + "type":"string", + "enum":[ + "OBSERVED", + "REMOVAL_FAILED", + "REMOVED" + ] + }, + "MalwareType":{ + "type":"string", + "enum":[ + "ADWARE", + "BLENDED_THREAT", + "BOTNET_AGENT", + "COIN_MINER", + "EXPLOIT_KIT", + "KEYLOGGER", + "MACRO", + "POTENTIALLY_UNWANTED", + "SPYWARE", + "RANSOMWARE", + "REMOTE_ACCESS", + "ROOTKIT", + "TROJAN", + "VIRUS", + "WORM" + ] + }, + "MapFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

    The key of the map filter.

    " + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

    The value for the key in the map filter.

    " + }, + "Comparison":{ + "shape":"MapFilterComparison", + "documentation":"

    The condition to apply to a key value when querying for findings with a map filter.

    " + } + }, + "documentation":"

    The map filter for querying findings.

    " + }, + "MapFilterComparison":{ + "type":"string", + "enum":["EQUALS"] + }, + "MapFilterList":{ + "type":"list", + "member":{"shape":"MapFilter"} + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Member":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID of the member account.

    " + }, + "Email":{ + "shape":"NonEmptyString", + "documentation":"

    The email address of the member account.

    " + }, + "MasterId":{ + "shape":"NonEmptyString", + "documentation":"

    The AWS account ID of the Security Hub master account associated with this member account.

    " + }, + "MemberStatus":{ + "shape":"NonEmptyString", + "documentation":"

    The status of the relationship between the member account and its master account.

    " + }, + "InvitedAt":{ + "shape":"Timestamp", + "documentation":"

    A timestamp for the date and time when the invitation was sent to the member account.

    " + }, + "UpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The timestamp for the date and time when the member account was updated.

    " + } + }, + "documentation":"

    The details about a member account.

    " + }, + "MemberList":{ + "type":"list", + "member":{"shape":"Member"} + }, + "Network":{ + "type":"structure", + "members":{ + "Direction":{ + "shape":"NetworkDirection", + "documentation":"

    The direction of network traffic associated with a finding.

    " + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

    The protocol of network-related information about a finding.

    " + }, + "SourceIpV4":{ + "shape":"NonEmptyString", + "documentation":"

    The source IPv4 address of network-related information about a finding.

    " + }, + "SourceIpV6":{ + "shape":"NonEmptyString", + "documentation":"

    The source IPv6 address of network-related information about a finding.

    " + }, + "SourcePort":{ + "shape":"Integer", + "documentation":"

    The source port of network-related information about a finding.

    " + }, + "SourceDomain":{ + "shape":"NonEmptyString", + "documentation":"

    The source domain of network-related information about a finding.

    " + }, + "SourceMac":{ + "shape":"NonEmptyString", + "documentation":"

    The source media access control (MAC) address of network-related information about a finding.

    " + }, + "DestinationIpV4":{ + "shape":"NonEmptyString", + "documentation":"

    The destination IPv4 address of network-related information about a finding.

    " + }, + "DestinationIpV6":{ + "shape":"NonEmptyString", + "documentation":"

    The destination IPv6 address of network-related information about a finding.

    " + }, + "DestinationPort":{ + "shape":"Integer", + "documentation":"

    The destination port of network-related information about a finding.

    " + }, + "DestinationDomain":{ + "shape":"NonEmptyString", + "documentation":"

    The destination domain of network-related information about a finding.

    " + } + }, + "documentation":"

    The details of network-related information about a finding.

    " + }, + "NetworkDirection":{ + "type":"string", + "enum":[ + "IN", + "OUT" + ] + }, + "NextToken":{"type":"string"}, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "NonEmptyStringList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Note":{ + "type":"structure", + "required":[ + "Text", + "UpdatedBy", + "UpdatedAt" + ], + "members":{ + "Text":{ + "shape":"NonEmptyString", + "documentation":"

    The text of a note.

    " + }, + "UpdatedBy":{ + "shape":"NonEmptyString", + "documentation":"

    The principal that created a note.

    " + }, + "UpdatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The timestamp of when the note was updated.

    " + } + }, + "documentation":"

    A user-defined note added to a finding.

    " + }, + "NoteUpdate":{ + "type":"structure", + "required":[ + "Text", + "UpdatedBy" + ], + "members":{ + "Text":{ + "shape":"NonEmptyString", + "documentation":"

    The updated note text.

    " + }, + "UpdatedBy":{ + "shape":"NonEmptyString", + "documentation":"

    The principal that updated the note.

    " + } + }, + "documentation":"

    The updated note.

    " + }, + "NumberFilter":{ + "type":"structure", + "members":{ + "Gte":{ + "shape":"Double", + "documentation":"

    The greater-than-equal condition to be applied to a single field when querying for findings.

    " + }, + "Lte":{ + "shape":"Double", + "documentation":"

    The less-than-equal condition to be applied to a single field when querying for findings.

    " + }, + "Eq":{ + "shape":"Double", + "documentation":"

    The equal-to condition to be applied to a single field when querying for findings.

    " + } + }, + "documentation":"

    A number filter for querying findings.

    " + }, + "NumberFilterList":{ + "type":"list", + "member":{"shape":"NumberFilter"} + }, + "Partition":{ + "type":"string", + "enum":[ + "aws", + "aws-cn", + "aws-us-gov" + ] + }, + "ProcessDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the process.

    " + }, + "Path":{ + "shape":"NonEmptyString", + "documentation":"

    The path to the process executable.

    " + }, + "Pid":{ + "shape":"Integer", + "documentation":"

    The process ID.

    " + }, + "ParentPid":{ + "shape":"Integer", + "documentation":"

    The parent process ID.

    " + }, + "LaunchedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date/time that the process was launched.

    " + }, + "TerminatedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the process was terminated.

    " + } + }, + "documentation":"

    The details of process-related information about a finding.

    " + }, + "Product":{ + "type":"structure", + "required":["ProductArn"], + "members":{ + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN assigned to the product.

    " + }, + "ProductName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the product.

    " + }, + "CompanyName":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the company that provides the product.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the product.

    " + }, + "Categories":{ + "shape":"CategoryList", + "documentation":"

    The categories assigned to the product.

    " + }, + "IntegrationTypes":{ + "shape":"IntegrationTypeList", + "documentation":"

    The types of integration that the product supports. Available values are the following.

    • SEND_FINDINGS_TO_SECURITY_HUB - Indicates that the integration sends findings to Security Hub.

    • RECEIVE_FINDINGS_FROM_SECURITY_HUB - Indicates that the integration receives findings from Security Hub.

    " + }, + "MarketplaceUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The URL for the page that contains more information about the product.

    " + }, + "ActivationUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The URL used to activate the product.

    " + }, + "ProductSubscriptionResourcePolicy":{ + "shape":"NonEmptyString", + "documentation":"

    The resource policy associated with the product.

    " + } + }, + "documentation":"

    Contains details about a product.

    " + }, + "ProductSubscriptionArnList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "ProductsList":{ + "type":"list", + "member":{"shape":"Product"} + }, + "RatioScale":{ + "type":"integer", + "max":100, + "min":0 + }, + "Recommendation":{ + "type":"structure", + "members":{ + "Text":{ + "shape":"NonEmptyString", + "documentation":"

    Describes the recommended steps to take to remediate an issue identified in a finding.

    " + }, + "Url":{ + "shape":"NonEmptyString", + "documentation":"

    A URL to a page or site that contains information about how to remediate a finding.

    " + } + }, + "documentation":"

    A recommendation on how to remediate the issue identified in a finding.

    " + }, + "RecordState":{ + "type":"string", + "enum":[ + "ACTIVE", + "ARCHIVED" + ] + }, + "RelatedFinding":{ + "type":"structure", + "required":[ + "ProductArn", + "Id" + ], + "members":{ + "ProductArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the product that generated a related finding.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The product-generated identifier for a related finding.

    " + } + }, + "documentation":"

    Details about a related finding.

    " + }, + "RelatedFindingList":{ + "type":"list", + "member":{"shape":"RelatedFinding"} + }, + "RelatedRequirementsList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Remediation":{ + "type":"structure", + "members":{ + "Recommendation":{ + "shape":"Recommendation", + "documentation":"

    A recommendation on the steps to take to remediate the issue identified by a finding.

    " + } + }, + "documentation":"

    Details about the remediation steps for a finding.

    " + }, + "Resource":{ + "type":"structure", + "required":[ + "Type", + "Id" + ], + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    The type of the resource that details are provided for. If possible, set Type to one of the supported resource types. For example, if the resource is an EC2 instance, then set Type to AwsEc2Instance.

    If the resource does not match any of the provided types, then set Type to Other.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The canonical identifier for the given resource type.

    " + }, + "Partition":{ + "shape":"Partition", + "documentation":"

    The canonical AWS partition name that the Region is assigned to.

    " + }, + "Region":{ + "shape":"NonEmptyString", + "documentation":"

    The canonical AWS external Region name where this resource is located.

    " + }, + "Tags":{ + "shape":"FieldMap", + "documentation":"

    A list of AWS tags associated with a resource at the time the finding was processed.

    " + }, + "Details":{ + "shape":"ResourceDetails", + "documentation":"

    Additional details about the resource related to a finding.

    " + } + }, + "documentation":"

    A resource related to a finding.

    " + }, + "ResourceArn":{ + "type":"string", + "pattern":"^arn:aws:securityhub:.*" + }, + "ResourceConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The resource specified in the request conflicts with an existing resource.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceDetails":{ + "type":"structure", + "members":{ + "AwsCodeBuildProject":{ + "shape":"AwsCodeBuildProjectDetails", + "documentation":"

    Details for an AWS CodeBuild project.

    " + }, + "AwsCloudFrontDistribution":{ + "shape":"AwsCloudFrontDistributionDetails", + "documentation":"

    Details about a CloudFront distribution.

    " + }, + "AwsEc2Instance":{ + "shape":"AwsEc2InstanceDetails", + "documentation":"

    Details about an Amazon EC2 instance related to a finding.

    " + }, + "AwsEc2NetworkInterface":{ + "shape":"AwsEc2NetworkInterfaceDetails", + "documentation":"

    Details for an Amazon EC2 network interface.

    " + }, + "AwsEc2SecurityGroup":{ + "shape":"AwsEc2SecurityGroupDetails", + "documentation":"

    Details for an EC2 security group.

    " + }, + "AwsElbv2LoadBalancer":{ + "shape":"AwsElbv2LoadBalancerDetails", + "documentation":"

    Details about a load balancer.

    " + }, + "AwsElasticsearchDomain":{ + "shape":"AwsElasticsearchDomainDetails", + "documentation":"

    Details for an Elasticsearch domain.

    " + }, + "AwsS3Bucket":{ + "shape":"AwsS3BucketDetails", + "documentation":"

    Details about an Amazon S3 bucket related to a finding.

    " + }, + "AwsS3Object":{ + "shape":"AwsS3ObjectDetails", + "documentation":"

    Details about an Amazon S3 object related to a finding.

    " + }, + "AwsIamAccessKey":{ + "shape":"AwsIamAccessKeyDetails", + "documentation":"

    Details about an IAM access key related to a finding.

    " + }, + "AwsIamRole":{ + "shape":"AwsIamRoleDetails", + "documentation":"

    Details about an IAM role.

    " + }, + "AwsKmsKey":{ + "shape":"AwsKmsKeyDetails", + "documentation":"

    Details about a KMS key.

    " + }, + "AwsLambdaFunction":{ + "shape":"AwsLambdaFunctionDetails", + "documentation":"

    Details about a Lambda function.

    " + }, + "AwsLambdaLayerVersion":{ + "shape":"AwsLambdaLayerVersionDetails", + "documentation":"

    Details for a Lambda layer version.

    " + }, + "AwsRdsDbInstance":{ + "shape":"AwsRdsDbInstanceDetails", + "documentation":"

    Details for an Amazon RDS database instance.

    " + }, + "AwsSnsTopic":{ + "shape":"AwsSnsTopicDetails", + "documentation":"

    Details about an SNS topic.

    " + }, + "AwsSqsQueue":{ + "shape":"AwsSqsQueueDetails", + "documentation":"

    Details about an SQS queue.

    " + }, + "AwsWafWebAcl":{ + "shape":"AwsWafWebAclDetails", + "documentation":"

    Details for a WAF WebACL.

    " + }, + "Container":{ + "shape":"ContainerDetails", + "documentation":"

    Details about a container resource related to a finding.

    " + }, + "Other":{ + "shape":"FieldMap", + "documentation":"

    Details about a resource that are not available in a type-specific details object. Use the Other object in the following cases.

    • The type-specific object does not contain all of the fields that you want to populate. In this case, first use the type-specific object to populate those fields. Use the Other object to populate the fields that are missing from the type-specific object.

    • The resource type does not have a corresponding object. This includes resources for which the type is Other.

    " + } + }, + "documentation":"

    Additional details about a resource related to a finding.

    To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

    If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

    You also use the Other object to populate the details when the selected type does not have a corresponding object.

    " + }, + "ResourceList":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"NonEmptyString"}, + "Code":{"shape":"NonEmptyString"} + }, + "documentation":"

    The request was rejected because we can't find the specified resource.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "Result":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    An AWS account ID of the account that was not processed.

    " + }, + "ProcessingResult":{ + "shape":"NonEmptyString", + "documentation":"

    The reason that the account was not processed.

    " + } + }, + "documentation":"

    Details about the account that was not processed.

    " + }, + "ResultList":{ + "type":"list", + "member":{"shape":"Result"} + }, + "SecurityGroups":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "Severity":{ + "type":"structure", + "members":{ + "Product":{ + "shape":"Double", + "documentation":"

    Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original.

    The native severity as defined by the AWS service or integrated partner product that generated the finding.

    " + }, + "Label":{ + "shape":"SeverityLabel", + "documentation":"

    The severity value of the finding. The allowed values are the following.

    • INFORMATIONAL - No issue was found.

    • LOW - The issue does not require action on its own.

    • MEDIUM - The issue must be addressed but not urgently.

    • HIGH - The issue must be addressed as a priority.

    • CRITICAL - The issue must be remediated immediately to avoid it escalating.

    " + }, + "Normalized":{ + "shape":"Integer", + "documentation":"

    Deprecated. This attribute is being deprecated. Instead of providing Normalized, provide Label.

    If you provide Normalized and do not provide Label, Label is set automatically as follows.

    • 0 - INFORMATIONAL

    • 1–39 - LOW

    • 40–69 - MEDIUM

    • 70–89 - HIGH

    • 90–100 - CRITICAL

    " + }, + "Original":{ + "shape":"NonEmptyString", + "documentation":"

    The native severity from the finding product that generated the finding.

    " + } + }, + "documentation":"

    The severity of the finding.

    " + }, + "SeverityLabel":{ + "type":"string", + "enum":[ + "INFORMATIONAL", + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ] + }, + "SeverityRating":{ + "type":"string", + "enum":[ + "LOW", + "MEDIUM", + "HIGH", + "CRITICAL" + ] + }, + "SeverityUpdate":{ + "type":"structure", + "members":{ + "Normalized":{ + "shape":"RatioScale", + "documentation":"

    The normalized severity for the finding. This attribute is to be deprecated in favor of Label.

    If you provide Normalized and do not provide Label, Label is set automatically as follows.

    • 0 - INFORMATIONAL

    • 1–39 - LOW

    • 40–69 - MEDIUM

    • 70–89 - HIGH

    • 90–100 - CRITICAL

    " + }, + "Product":{ + "shape":"Double", + "documentation":"

    The native severity as defined by the AWS service or integrated partner product that generated the finding.

    " + }, + "Label":{ + "shape":"SeverityLabel", + "documentation":"

    The severity value of the finding. The allowed values are the following.

    • INFORMATIONAL - No issue was found.

    • LOW - The issue does not require action on its own.

    • MEDIUM - The issue must be addressed but not urgently.

    • HIGH - The issue must be addressed as a priority.

    • CRITICAL - The issue must be remediated immediately to avoid it escalating.

    " + } + }, + "documentation":"

    Updates to the severity information for a finding.

    " + }, + "SortCriteria":{ + "type":"list", + "member":{"shape":"SortCriterion"} + }, + "SortCriterion":{ + "type":"structure", + "members":{ + "Field":{ + "shape":"NonEmptyString", + "documentation":"

    The finding attribute used to sort findings.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The order used to sort findings.

    " + } + }, + "documentation":"

    A collection of finding attributes used to sort findings.

    " + }, + "SortOrder":{ + "type":"string", + "enum":[ + "asc", + "desc" + ] + }, + "Standard":{ + "type":"structure", + "members":{ + "StandardsArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of a standard.

    " + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The name of the standard.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the standard.

    " + }, + "EnabledByDefault":{ + "shape":"Boolean", + "documentation":"

    Whether the standard is enabled by default. When Security Hub is enabled from the console, if a standard is enabled by default, the check box for that standard is selected by default.

    When Security Hub is enabled using the EnableSecurityHub API operation, the standard is enabled by default unless EnableDefaultStandards is set to false.

    " + } + }, + "documentation":"

    Provides information about a specific standard.

    " + }, + "Standards":{ + "type":"list", + "member":{"shape":"Standard"} + }, + "StandardsControl":{ + "type":"structure", + "members":{ + "StandardsControlArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the security standard control.

    " + }, + "ControlStatus":{ + "shape":"ControlStatus", + "documentation":"

    The current status of the security standard control. Indicates whether the control is enabled or disabled. Security Hub does not check against disabled controls.

    " + }, + "DisabledReason":{ + "shape":"NonEmptyString", + "documentation":"

    The reason provided for the most recent change in status for the control.

    " + }, + "ControlStatusUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the status of the security standard control was most recently updated.

    " + }, + "ControlId":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier of the security standard control.

    " + }, + "Title":{ + "shape":"NonEmptyString", + "documentation":"

    The title of the security standard control.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The longer description of the security standard control. Provides information about what the control is checking for.

    " + }, + "RemediationUrl":{ + "shape":"NonEmptyString", + "documentation":"

    A link to remediation information for the control in the Security Hub user documentation.

    " + }, + "SeverityRating":{ + "shape":"SeverityRating", + "documentation":"

    The severity of findings generated from this security standard control.

    The finding severity is based on an assessment of how easy it would be to compromise AWS resources if the issue is detected.

    " + }, + "RelatedRequirements":{ + "shape":"RelatedRequirementsList", + "documentation":"

    The list of requirements that are related to this control.

    " + } + }, + "documentation":"

    Details for an individual security standard control.

    " + }, + "StandardsControls":{ + "type":"list", + "member":{"shape":"StandardsControl"} + }, + "StandardsInputParameterMap":{ + "type":"map", + "key":{"shape":"NonEmptyString"}, + "value":{"shape":"NonEmptyString"} + }, + "StandardsStatus":{ + "type":"string", + "enum":[ + "PENDING", + "READY", + "FAILED", + "DELETING", + "INCOMPLETE" + ] + }, + "StandardsSubscription":{ + "type":"structure", + "required":[ + "StandardsSubscriptionArn", + "StandardsArn", + "StandardsInput", + "StandardsStatus" + ], + "members":{ + "StandardsSubscriptionArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of a resource that represents your subscription to a supported standard.

    " + }, + "StandardsArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of a standard.

    " + }, + "StandardsInput":{ + "shape":"StandardsInputParameterMap", + "documentation":"

    A key-value pair of input for the standard.

    " + }, + "StandardsStatus":{ + "shape":"StandardsStatus", + "documentation":"

    The status of the standards subscription.

    " + } + }, + "documentation":"

    A resource that represents your subscription to a supported standard.

    " + }, + "StandardsSubscriptionArns":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":25, + "min":1 + }, + "StandardsSubscriptionRequest":{ + "type":"structure", + "required":["StandardsArn"], + "members":{ + "StandardsArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the standard that you want to enable. To view the list of available standards and their ARNs, use the DescribeStandards operation.

    " + }, + "StandardsInput":{ + "shape":"StandardsInputParameterMap", + "documentation":"

    A key-value pair of input for the standard.

    " + } + }, + "documentation":"

    The standard that you want to enable.

    " + }, + "StandardsSubscriptionRequests":{ + "type":"list", + "member":{"shape":"StandardsSubscriptionRequest"}, + "max":25, + "min":1 + }, + "StandardsSubscriptions":{ + "type":"list", + "member":{"shape":"StandardsSubscription"} + }, + "StatusReason":{ + "type":"structure", + "required":["ReasonCode"], + "members":{ + "ReasonCode":{ + "shape":"NonEmptyString", + "documentation":"

    A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The corresponding description for the status reason code.

    " + } + }, + "documentation":"

    Provides additional context for the value of Compliance.Status.

    " + }, + "StatusReasonsList":{ + "type":"list", + "member":{"shape":"StatusReason"} + }, + "StringFilter":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"NonEmptyString", + "documentation":"

    The string filter value.

    " + }, + "Comparison":{ + "shape":"StringFilterComparison", + "documentation":"

    The condition to be applied to a string value when querying for findings.

    " + } + }, + "documentation":"

    A string filter for querying findings.

    " + }, + "StringFilterComparison":{ + "type":"string", + "enum":[ + "EQUALS", + "PREFIX" + ] + }, + "StringFilterList":{ + "type":"list", + "member":{"shape":"StringFilter"} + }, + "StringList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN of the resource to apply the tags to.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The tags to add to the resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "ThreatIntelIndicator":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ThreatIntelIndicatorType", + "documentation":"

    The type of threat intelligence indicator.

    " + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

    The value of a threat intelligence indicator.

    " + }, + "Category":{ + "shape":"ThreatIntelIndicatorCategory", + "documentation":"

    The category of a threat intelligence indicator.

    " + }, + "LastObservedAt":{ + "shape":"NonEmptyString", + "documentation":"

    The date and time when the most recent instance of a threat intelligence indicator was observed.

    " + }, + "Source":{ + "shape":"NonEmptyString", + "documentation":"

    The source of the threat intelligence indicator.

    " + }, + "SourceUrl":{ + "shape":"NonEmptyString", + "documentation":"

    The URL to the page or site where you can get more information about the threat intelligence indicator.

    " + } + }, + "documentation":"

    Details about the threat intelligence related to a finding.

    " + }, + "ThreatIntelIndicatorCategory":{ + "type":"string", + "enum":[ + "BACKDOOR", + "CARD_STEALER", + "COMMAND_AND_CONTROL", + "DROP_SITE", + "EXPLOIT_SITE", + "KEYLOGGER" + ] + }, + "ThreatIntelIndicatorList":{ + "type":"list", + "member":{"shape":"ThreatIntelIndicator"} + }, + "ThreatIntelIndicatorType":{ + "type":"string", + "enum":[ + "DOMAIN", + "EMAIL_ADDRESS", + "HASH_MD5", + "HASH_SHA1", + "HASH_SHA256", + "HASH_SHA512", + "IPV4_ADDRESS", + "IPV6_ADDRESS", + "MUTEX", + "PROCESS", + "URL" + ] + }, + "Timestamp":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TypeList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN of the resource to remove the tags from.

    ", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tag keys associated with the tags to remove from the resource.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateActionTargetRequest":{ + "type":"structure", + "required":["ActionTargetArn"], + "members":{ + "ActionTargetArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the custom action target to update.

    ", + "location":"uri", + "locationName":"ActionTargetArn" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The updated name of the custom action target.

    " + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

    The updated description for the custom action target.

    " + } + } + }, + "UpdateActionTargetResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFindingsRequest":{ + "type":"structure", + "required":["Filters"], + "members":{ + "Filters":{ + "shape":"AwsSecurityFindingFilters", + "documentation":"

    A collection of attributes that specify which findings you want to update.

    " + }, + "Note":{ + "shape":"NoteUpdate", + "documentation":"

    The updated note for the finding.

    " + }, + "RecordState":{ + "shape":"RecordState", + "documentation":"

    The updated record state for the finding.

    " + } + } + }, + "UpdateFindingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateInsightRequest":{ + "type":"structure", + "required":["InsightArn"], + "members":{ + "InsightArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the insight that you want to update.

    ", + "location":"uri", + "locationName":"InsightArn" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

    The updated name for the insight.

    " + }, + "Filters":{ + "shape":"AwsSecurityFindingFilters", + "documentation":"

    The updated filters that define this insight.

    " + }, + "GroupByAttribute":{ + "shape":"NonEmptyString", + "documentation":"

    The updated GroupBy attribute that defines this insight.

    " + } + } + }, + "UpdateInsightResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateStandardsControlRequest":{ + "type":"structure", + "required":["StandardsControlArn"], + "members":{ + "StandardsControlArn":{ + "shape":"NonEmptyString", + "documentation":"

    The ARN of the security standard control to enable or disable.

    ", + "location":"uri", + "locationName":"StandardsControlArn" + }, + "ControlStatus":{ + "shape":"ControlStatus", + "documentation":"

    The updated status of the security standard control.

    " + }, + "DisabledReason":{ + "shape":"NonEmptyString", + "documentation":"

    A description of the reason why you are disabling a security standard control.

    " + } + } + }, + "UpdateStandardsControlResponse":{ + "type":"structure", + "members":{ + } + }, + "VerificationState":{ + "type":"string", + "enum":[ + "UNKNOWN", + "TRUE_POSITIVE", + "FALSE_POSITIVE", + "BENIGN_POSITIVE" + ] + }, + "WafAction":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    Specifies how you want AWS WAF to respond to requests that match the settings in a rule.

    Valid settings include the following:

    • ALLOW - AWS WAF allows requests

    • BLOCK - AWS WAF blocks requests

    • COUNT - AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.

    " + } + }, + "documentation":"

    Details about the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule.

    " + }, + "WafExcludedRule":{ + "type":"structure", + "members":{ + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

    The unique identifier for the rule to exclude from the rule group.

    " + } + }, + "documentation":"

    Details about a rule to exclude from a rule group.

    " + }, + "WafExcludedRuleList":{ + "type":"list", + "member":{"shape":"WafExcludedRule"} + }, + "WafOverrideAction":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

    COUNT overrides the action specified by the individual rule within a RuleGroup .

    If set to NONE, the rule's action takes place.

    " + } + }, + "documentation":"

    Details about an override action for a rule.

    " + }, + "Workflow":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"WorkflowStatus", + "documentation":"

    The status of the investigation into the finding. The allowed values are the following.

    • NEW - The initial state of a finding, before it is reviewed.

    • NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.

    • SUPPRESSED - The finding will not be reviewed again and will not be acted upon.

    • RESOLVED - The finding was reviewed and remediated and is now considered resolved.

    " + } + }, + "documentation":"

    Provides information about the status of the investigation into a finding.

    " + }, + "WorkflowState":{ + "type":"string", + "deprecated":true, + "deprecatedMessage":"This field is deprecated, use Workflow.Status instead.", + "enum":[ + "NEW", + "ASSIGNED", + "IN_PROGRESS", + "DEFERRED", + "RESOLVED" + ] + }, + "WorkflowStatus":{ + "type":"string", + "enum":[ + "NEW", + "NOTIFIED", + "RESOLVED", + "SUPPRESSED" + ] + }, + "WorkflowUpdate":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"WorkflowStatus", + "documentation":"

    The status of the investigation into the finding. The allowed values are the following.

    • NEW - The initial state of a finding, before it is reviewed.

    • NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner.

    • RESOLVED - The finding was reviewed and remediated and is now considered resolved.

    • SUPPRESSED - The finding will not be reviewed again and will not be acted upon.

    " + } + }, + "documentation":"

    Used to update information about the investigation into the finding.

    " + } + }, + "documentation":"

    Security Hub provides you with a comprehensive view of the security state of your AWS environment and resources. It also provides you with the readiness status of your environment based on controls from supported security standards. Security Hub collects security data from AWS accounts, services, and integrated third-party products and helps you analyze security trends in your environment to identify the highest priority security issues. For more information about Security Hub, see the AWS Security Hub User Guide .

    When you use operations in the Security Hub API, the requests are executed only in the AWS Region that is currently active or in the specific AWS Region that you specify in your request. Any configuration or settings change that results from the operation is applied only to that Region. To make the same change in other Regions, execute the same command for each Region to apply the change to.

    For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of the member account with the master account is created only in the us-west-2 Region. Security Hub must be enabled for the member account in the same Region that the invitation was sent from.

    The following throttling limits apply to using Security Hub API operations.

    • GetFindings - RateLimit of 3 requests per second. BurstLimit of 6 requests per second.

    • UpdateFindings - RateLimit of 1 request per second. BurstLimit of 5 requests per second.

    • All other operations - RateLimit of 10 requests per second. BurstLimit of 30 requests per second.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/serverlessrepo/2017-09-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/serverlessrepo/2017-09-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/serverlessrepo/2017-09-08/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/serverlessrepo/2017-09-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListApplicationDependencies": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Dependencies" + }, + "ListApplicationVersions": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Versions" + }, + "ListApplications": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "Applications" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/serverlessrepo/2017-09-08/service-2.json python-botocore-1.16.19+repack/botocore/data/serverlessrepo/2017-09-08/service-2.json --- python-botocore-1.4.70/botocore/data/serverlessrepo/2017-09-08/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/serverlessrepo/2017-09-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2248 @@ +{ + "metadata" : { + "apiVersion" : "2017-09-08", + "endpointPrefix" : "serverlessrepo", + "signingName" : "serverlessrepo", + "serviceFullName" : "AWSServerlessApplicationRepository", + "serviceId" : "ServerlessApplicationRepository", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "serverlessrepo-2017-09-08", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateApplication" : { + "name" : "CreateApplication", + "http" : { + "method" : "POST", + "requestUri" : "/applications", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApplicationRequest" + }, + "output" : { + "shape" : "CreateApplicationResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ConflictException", + "documentation" : "

    The resource already exists.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Creates an application, optionally including an AWS SAM file to create the first application version in the same call.

    " + }, + "CreateApplicationVersion" : { + "name" : "CreateApplicationVersion", + "http" : { + "method" : "PUT", + "requestUri" : "/applications/{applicationId}/versions/{semanticVersion}", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateApplicationVersionRequest" + }, + "output" : { + "shape" : "CreateApplicationVersionResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ConflictException", + "documentation" : "

    The resource already exists.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Creates an application version.

    " + }, + "CreateCloudFormationChangeSet" : { + "name" : "CreateCloudFormationChangeSet", + "http" : { + "method" : "POST", + "requestUri" : "/applications/{applicationId}/changesets", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateCloudFormationChangeSetRequest" + }, + "output" : { + "shape" : "CreateCloudFormationChangeSetResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Creates an AWS CloudFormation change set for the given application.

    " + }, + "CreateCloudFormationTemplate" : { + "name" : "CreateCloudFormationTemplate", + "http" : { + "method" : "POST", + "requestUri" : "/applications/{applicationId}/templates", + "responseCode" : 201 + }, + "input" : { + "shape" : "CreateCloudFormationTemplateRequest" + }, + "output" : { + "shape" : "CreateCloudFormationTemplateResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Creates an AWS CloudFormation template.

    " + }, + "DeleteApplication" : { + "name" : "DeleteApplication", + "http" : { + "method" : "DELETE", + "requestUri" : "/applications/{applicationId}", + "responseCode" : 204 + }, + "input" : { + "shape" : "DeleteApplicationRequest" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + }, { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "ConflictException", + "documentation" : "

    The resource already exists.

    " + } ], + "documentation" : "

    Deletes the specified application.

    " + }, + "GetApplication" : { + "name" : "GetApplication", + "http" : { + "method" : "GET", + "requestUri" : "/applications/{applicationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApplicationRequest" + }, + "output" : { + "shape" : "GetApplicationResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Gets the specified application.

    " + }, + "GetApplicationPolicy" : { + "name" : "GetApplicationPolicy", + "http" : { + "method" : "GET", + "requestUri" : "/applications/{applicationId}/policy", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetApplicationPolicyRequest" + }, + "output" : { + "shape" : "GetApplicationPolicyResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Retrieves the policy for the application.

    " + }, + "GetCloudFormationTemplate" : { + "name" : "GetCloudFormationTemplate", + "http" : { + "method" : "GET", + "requestUri" : "/applications/{applicationId}/templates/{templateId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetCloudFormationTemplateRequest" + }, + "output" : { + "shape" : "GetCloudFormationTemplateResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Gets the specified AWS CloudFormation template.

    " + }, + "ListApplicationDependencies" : { + "name" : "ListApplicationDependencies", + "http" : { + "method" : "GET", + "requestUri" : "/applications/{applicationId}/dependencies", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListApplicationDependenciesRequest" + }, + "output" : { + "shape" : "ListApplicationDependenciesResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Retrieves the list of applications nested in the containing application.

    " + }, + "ListApplicationVersions" : { + "name" : "ListApplicationVersions", + "http" : { + "method" : "GET", + "requestUri" : "/applications/{applicationId}/versions", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListApplicationVersionsRequest" + }, + "output" : { + "shape" : "ListApplicationVersionsResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Lists versions for the specified application.

    " + }, + "ListApplications" : { + "name" : "ListApplications", + "http" : { + "method" : "GET", + "requestUri" : "/applications", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListApplicationsRequest" + }, + "output" : { + "shape" : "ListApplicationsResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Lists applications owned by the requester.

    " + }, + "PutApplicationPolicy" : { + "name" : "PutApplicationPolicy", + "http" : { + "method" : "PUT", + "requestUri" : "/applications/{applicationId}/policy", + "responseCode" : 200 + }, + "input" : { + "shape" : "PutApplicationPolicyRequest" + }, + "output" : { + "shape" : "PutApplicationPolicyResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Sets the permission policy for an application. For the list of actions supported for this operation, see\n Application \n Permissions\n .

    " + }, + "UnshareApplication" : { + "name" : "UnshareApplication", + "http" : { + "method" : "POST", + "requestUri" : "/applications/{applicationId}/unshare", + "responseCode" : 204 + }, + "input" : { + "shape" : "UnshareApplicationRequest" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + } ], + "documentation" : "

    Unshares an application from an AWS Organization.

    This operation can be called only from the organization's master account.

    " + }, + "UpdateApplication" : { + "name" : "UpdateApplication", + "http" : { + "method" : "PATCH", + "requestUri" : "/applications/{applicationId}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateApplicationRequest" + }, + "output" : { + "shape" : "UpdateApplicationResponse", + "documentation" : "

    Success

    " + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "

    One of the parameters in the request is invalid.

    " + }, { + "shape" : "InternalServerErrorException", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + }, { + "shape" : "ForbiddenException", + "documentation" : "

    The client is not authenticated.

    " + }, { + "shape" : "NotFoundException", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + }, { + "shape" : "TooManyRequestsException", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + }, { + "shape" : "ConflictException", + "documentation" : "

    The resource already exists.

    " + } ], + "documentation" : "

    Updates the specified application.

    " + } + }, + "shapes" : { + "Application" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "IsVerifiedAuthor" : { + "shape" : "__boolean", + "locationName" : "isVerifiedAuthor", + "documentation" : "

    Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to a license file of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "VerifiedAuthorUrl" : { + "shape" : "__string", + "locationName" : "verifiedAuthorUrl", + "documentation" : "

    The URL to the public profile of a verified author. This URL is submitted by the author.

    " + }, + "Version" : { + "shape" : "Version", + "locationName" : "version", + "documentation" : "

    Version information about the application.

    " + } + }, + "documentation" : "

    Details about the application.

    ", + "required" : [ "Description", "Author", "ApplicationId", "Name" ] + }, + "ApplicationDependencyPage" : { + "type" : "structure", + "members" : { + "Dependencies" : { + "shape" : "__listOfApplicationDependencySummary", + "locationName" : "dependencies", + "documentation" : "

    An array of application summaries nested in the application.

    " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + } + }, + "documentation" : "

    A list of application summaries nested in the application.

    ", + "required" : [ "Dependencies" ] + }, + "ApplicationDependencySummary" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the nested application.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the nested application.

    " + } + }, + "documentation" : "

    A nested application summary.

    ", + "required" : [ "ApplicationId", "SemanticVersion" ] + }, + "ApplicationPage" : { + "type" : "structure", + "members" : { + "Applications" : { + "shape" : "__listOfApplicationSummary", + "locationName" : "applications", + "documentation" : "

    An array of application summaries.

    " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + } + }, + "documentation" : "

    A list of application details.

    ", + "required" : [ "Applications" ] + }, + "ApplicationPolicy" : { + "type" : "structure", + "members" : { + "Statements" : { + "shape" : "__listOfApplicationPolicyStatement", + "locationName" : "statements", + "documentation" : "

    An array of policy statements applied to the application.

    " + } + }, + "documentation" : "

    Policy statements applied to the application.

    ", + "required" : [ "Statements" ] + }, + "ApplicationPolicyStatement" : { + "type" : "structure", + "members" : { + "Actions" : { + "shape" : "__listOf__string", + "locationName" : "actions", + "documentation" : "

    For the list of actions supported for this operation, see Application \n Permissions.

    " + }, + "PrincipalOrgIDs" : { + "shape" : "__listOf__string", + "locationName" : "principalOrgIDs", + "documentation" : "

    An array of PrinciplalOrgIDs, which corresponds to AWS IAM aws:PrincipalOrgID global condition key.

    " + }, + "Principals" : { + "shape" : "__listOf__string", + "locationName" : "principals", + "documentation" : "

    An array of AWS account IDs, or * to make the application public.

    " + }, + "StatementId" : { + "shape" : "__string", + "locationName" : "statementId", + "documentation" : "

    A unique ID for the statement.

    " + } + }, + "documentation" : "

    Policy statement applied to the application.

    ", + "required" : [ "Principals", "Actions" ] + }, + "ApplicationSummary" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + } + }, + "documentation" : "

    Summary of details about the application.

    ", + "required" : [ "Description", "Author", "ApplicationId", "Name" ] + }, + "ApplicationVersionPage" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + }, + "Versions" : { + "shape" : "__listOfVersionSummary", + "locationName" : "versions", + "documentation" : "

    An array of version summaries for the application.

    " + } + }, + "documentation" : "

    A list of version summaries for the application.

    ", + "required" : [ "Versions" ] + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    400

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    One of the parameters in the request is invalid.

    " + } + }, + "documentation" : "

    One of the parameters in the request is invalid.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "Capability" : { + "type" : "string", + "documentation" : "

    Values that must be specified in order to deploy some applications.

    ", + "enum" : [ "CAPABILITY_IAM", "CAPABILITY_NAMED_IAM", "CAPABILITY_AUTO_EXPAND", "CAPABILITY_RESOURCE_POLICY" ] + }, + "ChangeSetDetails" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "ChangeSetId" : { + "shape" : "__string", + "locationName" : "changeSetId", + "documentation" : "

    The Amazon Resource Name (ARN) of the change set.

    Length constraints: Minimum length of 1.

    Pattern: ARN:[-a-zA-Z0-9:/]*

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "StackId" : { + "shape" : "__string", + "locationName" : "stackId", + "documentation" : "

    The unique ID of the stack.

    " + } + }, + "documentation" : "

    Details of the change set.

    ", + "required" : [ "ChangeSetId", "ApplicationId", "StackId", "SemanticVersion" ] + }, + "ConflictException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    409

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    The resource already exists.

    " + } + }, + "documentation" : "

    The resource already exists.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "CreateApplicationInput" : { + "type" : "structure", + "members" : { + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseBody" : { + "shape" : "__string", + "locationName" : "licenseBody", + "documentation" : "

    A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file has the format file://<path>/<filename>.

    Maximum size 5 MB

    You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application that you want to publish.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeBody" : { + "shape" : "__string", + "locationName" : "readmeBody", + "documentation" : "

    A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file has the format file://<path>/<filename>.

    Maximum size 5 MB

    You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "TemplateBody" : { + "shape" : "__string", + "locationName" : "templateBody", + "documentation" : "

    The local raw packaged AWS SAM template file of your application.\n The file has the format file://<path>/<filename>.

    You can specify only one of templateBody and templateUrl; otherwise an error results.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the S3 object containing the packaged AWS SAM template of your application.

    You can specify only one of templateBody and templateUrl; otherwise an error results.

    " + } + }, + "documentation" : "

    Create an application request.

    ", + "required" : [ "Description", "Name", "Author" ] + }, + "CreateApplicationRequest" : { + "type" : "structure", + "members" : { + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseBody" : { + "shape" : "__string", + "locationName" : "licenseBody", + "documentation" : "

    A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file has the format file://<path>/<filename>.

    Maximum size 5 MB

    You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    You can specify only one of licenseBody and licenseUrl; otherwise, an error results.

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application that you want to publish.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeBody" : { + "shape" : "__string", + "locationName" : "readmeBody", + "documentation" : "

    A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file has the format file://<path>/<filename>.

    Maximum size 5 MB

    You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    You can specify only one of readmeBody and readmeUrl; otherwise, an error results.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "TemplateBody" : { + "shape" : "__string", + "locationName" : "templateBody", + "documentation" : "

    The local raw packaged AWS SAM template file of your application.\n The file has the format file://<path>/<filename>.

    You can specify only one of templateBody and templateUrl; otherwise an error results.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the S3 object containing the packaged AWS SAM template of your application.

    You can specify only one of templateBody and templateUrl; otherwise an error results.

    " + } + }, + "required" : [ "Description", "Name", "Author" ] + }, + "CreateApplicationResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "IsVerifiedAuthor" : { + "shape" : "__boolean", + "locationName" : "isVerifiedAuthor", + "documentation" : "

    Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to a license file of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "VerifiedAuthorUrl" : { + "shape" : "__string", + "locationName" : "verifiedAuthorUrl", + "documentation" : "

    The URL to the public profile of a verified author. This URL is submitted by the author.

    " + }, + "Version" : { + "shape" : "Version", + "locationName" : "version", + "documentation" : "

    Version information about the application.

    " + } + } + }, + "CreateApplicationVersionInput" : { + "type" : "structure", + "members" : { + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "TemplateBody" : { + "shape" : "__string", + "locationName" : "templateBody", + "documentation" : "

    The raw packaged AWS SAM template of your application.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the packaged AWS SAM template of your application.

    " + } + }, + "documentation" : "

    Create a version request.

    " + }, + "CreateApplicationVersionRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the new version.

    " + }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "TemplateBody" : { + "shape" : "__string", + "locationName" : "templateBody", + "documentation" : "

    The raw packaged AWS SAM template of your application.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the packaged AWS SAM template of your application.

    " + } + }, + "required" : [ "ApplicationId", "SemanticVersion" ] + }, + "CreateApplicationVersionResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "ParameterDefinitions" : { + "shape" : "__listOfParameterDefinition", + "locationName" : "parameterDefinitions", + "documentation" : "

    An array of parameter types supported by the application.

    " + }, + "RequiredCapabilities" : { + "shape" : "__listOfCapability", + "locationName" : "requiredCapabilities", + "documentation" : "

    A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

    The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

    The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

    The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

    Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

    If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

    " + }, + "ResourcesSupported" : { + "shape" : "__boolean", + "locationName" : "resourcesSupported", + "documentation" : "

    Whether all of the AWS resources contained in this application are supported in the region\n in which it is being retrieved.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the packaged AWS SAM template of your application.

    " + } + } + }, + "CreateCloudFormationChangeSetInput" : { + "type" : "structure", + "members" : { + "Capabilities" : { + "shape" : "__listOf__string", + "locationName" : "capabilities", + "documentation" : "

    A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

    The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

    The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

    The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

    Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

    If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

    " + }, + "ChangeSetName" : { + "shape" : "__string", + "locationName" : "changeSetName", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "ClientToken" : { + "shape" : "__string", + "locationName" : "clientToken", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "NotificationArns" : { + "shape" : "__listOf__string", + "locationName" : "notificationArns", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "ParameterOverrides" : { + "shape" : "__listOfParameterValue", + "locationName" : "parameterOverrides", + "documentation" : "

    A list of parameter values for the parameters of the application.

    " + }, + "ResourceTypes" : { + "shape" : "__listOf__string", + "locationName" : "resourceTypes", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "RollbackConfiguration" : { + "shape" : "RollbackConfiguration", + "locationName" : "rollbackConfiguration", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "StackName" : { + "shape" : "__string", + "locationName" : "stackName", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "Tags" : { + "shape" : "__listOfTag", + "locationName" : "tags", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "TemplateId" : { + "shape" : "__string", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + } + }, + "documentation" : "

    Create an application change set request.

    ", + "required" : [ "StackName" ] + }, + "CreateCloudFormationChangeSetRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "Capabilities" : { + "shape" : "__listOf__string", + "locationName" : "capabilities", + "documentation" : "

    A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

    The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

    The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

    The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS:TopicPolicy.

    Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

    If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

    " + }, + "ChangeSetName" : { + "shape" : "__string", + "locationName" : "changeSetName", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "ClientToken" : { + "shape" : "__string", + "locationName" : "clientToken", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "NotificationArns" : { + "shape" : "__listOf__string", + "locationName" : "notificationArns", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "ParameterOverrides" : { + "shape" : "__listOfParameterValue", + "locationName" : "parameterOverrides", + "documentation" : "

    A list of parameter values for the parameters of the application.

    " + }, + "ResourceTypes" : { + "shape" : "__listOf__string", + "locationName" : "resourceTypes", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "RollbackConfiguration" : { + "shape" : "RollbackConfiguration", + "locationName" : "rollbackConfiguration", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "StackName" : { + "shape" : "__string", + "locationName" : "stackName", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "Tags" : { + "shape" : "__listOfTag", + "locationName" : "tags", + "documentation" : "

    This property corresponds to the parameter of the same name for the AWS CloudFormation CreateChangeSet\n API.

    " + }, + "TemplateId" : { + "shape" : "__string", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + } + }, + "required" : [ "ApplicationId", "StackName" ] + }, + "CreateCloudFormationChangeSetResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "ChangeSetId" : { + "shape" : "__string", + "locationName" : "changeSetId", + "documentation" : "

    The Amazon Resource Name (ARN) of the change set.

    Length constraints: Minimum length of 1.

    Pattern: ARN:[-a-zA-Z0-9:/]*

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "StackId" : { + "shape" : "__string", + "locationName" : "stackId", + "documentation" : "

    The unique ID of the stack.

    " + } + } + }, + "CreateCloudFormationTemplateRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "CreateCloudFormationTemplateResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "ExpirationTime" : { + "shape" : "__string", + "locationName" : "expirationTime", + "documentation" : "

    The date and time this template expires. Templates\n expire 1 hour after creation.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "Status" : { + "shape" : "Status", + "locationName" : "status", + "documentation" : "

    Status of the template creation workflow.

    Possible values: PREPARING | ACTIVE | EXPIRED\n

    " + }, + "TemplateId" : { + "shape" : "__string", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the template that can be used to deploy the application using\n AWS CloudFormation.

    " + } + } + }, + "DeleteApplicationRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "ForbiddenException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    403

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    The client is not authenticated.

    " + } + }, + "documentation" : "

    The client is not authenticated.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 403 + } + }, + "GetApplicationPolicyRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "GetApplicationPolicyResponse" : { + "type" : "structure", + "members" : { + "Statements" : { + "shape" : "__listOfApplicationPolicyStatement", + "locationName" : "statements", + "documentation" : "

    An array of policy statements applied to the application.

    " + } + } + }, + "GetApplicationRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application to get.

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "GetApplicationResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "IsVerifiedAuthor" : { + "shape" : "__boolean", + "locationName" : "isVerifiedAuthor", + "documentation" : "

    Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to a license file of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "VerifiedAuthorUrl" : { + "shape" : "__string", + "locationName" : "verifiedAuthorUrl", + "documentation" : "

    The URL to the public profile of a verified author. This URL is submitted by the author.

    " + }, + "Version" : { + "shape" : "Version", + "locationName" : "version", + "documentation" : "

    Version information about the application.

    " + } + } + }, + "GetCloudFormationTemplateRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "TemplateId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + } + }, + "required" : [ "ApplicationId", "TemplateId" ] + }, + "GetCloudFormationTemplateResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "ExpirationTime" : { + "shape" : "__string", + "locationName" : "expirationTime", + "documentation" : "

    The date and time this template expires. Templates\n expire 1 hour after creation.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "Status" : { + "shape" : "Status", + "locationName" : "status", + "documentation" : "

    Status of the template creation workflow.

    Possible values: PREPARING | ACTIVE | EXPIRED\n

    " + }, + "TemplateId" : { + "shape" : "__string", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the template that can be used to deploy the application using\n AWS CloudFormation.

    " + } + } + }, + "InternalServerErrorException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    500

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    " + } + }, + "documentation" : "

    The AWS Serverless Application Repository service encountered an internal error.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "ListApplicationDependenciesRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "MaxItems" : { + "shape" : "MaxItems", + "location" : "querystring", + "locationName" : "maxItems", + "documentation" : "

    The total number of items to return.

    " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

    A token to specify where to start paginating.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application to get.

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "ListApplicationDependenciesResponse" : { + "type" : "structure", + "members" : { + "Dependencies" : { + "shape" : "__listOfApplicationDependencySummary", + "locationName" : "dependencies", + "documentation" : "

    An array of application summaries nested in the application.

    " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + } + } + }, + "ListApplicationVersionsRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "MaxItems" : { + "shape" : "MaxItems", + "location" : "querystring", + "locationName" : "maxItems", + "documentation" : "

    The total number of items to return.

    " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

    A token to specify where to start paginating.

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "ListApplicationVersionsResponse" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + }, + "Versions" : { + "shape" : "__listOfVersionSummary", + "locationName" : "versions", + "documentation" : "

    An array of version summaries for the application.

    " + } + } + }, + "ListApplicationsRequest" : { + "type" : "structure", + "members" : { + "MaxItems" : { + "shape" : "MaxItems", + "location" : "querystring", + "locationName" : "maxItems", + "documentation" : "

    The total number of items to return.

    " + }, + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "nextToken", + "documentation" : "

    A token to specify where to start paginating.

    " + } + } + }, + "ListApplicationsResponse" : { + "type" : "structure", + "members" : { + "Applications" : { + "shape" : "__listOfApplicationSummary", + "locationName" : "applications", + "documentation" : "

    An array of application summaries.

    " + }, + "NextToken" : { + "shape" : "__string", + "locationName" : "nextToken", + "documentation" : "

    The token to request the next page of results.

    " + } + } + }, + "MaxItems" : { + "type" : "integer", + "min" : 1, + "max" : 100 + }, + "NotFoundException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    404

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    " + } + }, + "documentation" : "

    The resource (for example, an access policy statement) specified in the request doesn't exist.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "ParameterDefinition" : { + "type" : "structure", + "members" : { + "AllowedPattern" : { + "shape" : "__string", + "locationName" : "allowedPattern", + "documentation" : "

    A regular expression that represents the patterns to allow for String types.

    " + }, + "AllowedValues" : { + "shape" : "__listOf__string", + "locationName" : "allowedValues", + "documentation" : "

    An array containing the list of values allowed for the parameter.

    " + }, + "ConstraintDescription" : { + "shape" : "__string", + "locationName" : "constraintDescription", + "documentation" : "

    A string that explains a constraint when the constraint is violated. For example, without a constraint description,\n a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user\n specifies an invalid value:

    \n Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+\n

    By adding a constraint description, such as \"must contain only uppercase and lowercase letters and numbers,\" you can display\n the following customized error message:

    \n Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers.\n

    " + }, + "DefaultValue" : { + "shape" : "__string", + "locationName" : "defaultValue", + "documentation" : "

    A value of the appropriate type for the template to use if no value is specified when a stack is created.\n If you define constraints for the parameter, you must specify a value that adheres to those constraints.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    A string of up to 4,000 characters that describes the parameter.

    " + }, + "MaxLength" : { + "shape" : "__integer", + "locationName" : "maxLength", + "documentation" : "

    An integer value that determines the largest number of characters that you want to allow for String types.

    " + }, + "MaxValue" : { + "shape" : "__integer", + "locationName" : "maxValue", + "documentation" : "

    A numeric value that determines the largest numeric value that you want to allow for Number types.

    " + }, + "MinLength" : { + "shape" : "__integer", + "locationName" : "minLength", + "documentation" : "

    An integer value that determines the smallest number of characters that you want to allow for String types.

    " + }, + "MinValue" : { + "shape" : "__integer", + "locationName" : "minValue", + "documentation" : "

    A numeric value that determines the smallest numeric value that you want to allow for Number types.

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the parameter.

    " + }, + "NoEcho" : { + "shape" : "__boolean", + "locationName" : "noEcho", + "documentation" : "

    Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the\n value to true, the parameter value is masked with asterisks (*****).

    " + }, + "ReferencedByResources" : { + "shape" : "__listOf__string", + "locationName" : "referencedByResources", + "documentation" : "

    A list of AWS SAM resources that use this parameter.

    " + }, + "Type" : { + "shape" : "__string", + "locationName" : "type", + "documentation" : "

    The type of the parameter.

    Valid values: String | Number | List<Number> | CommaDelimitedList\n

    \n String: A literal string.

    For example, users can specify \"MyUserName\".

    \n Number: An integer or float. AWS CloudFormation validates the parameter value as a number. However, when you use the\n parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a string.

    For example, users might specify \"8888\".

    \n List<Number>: An array of integers or floats that are separated by commas. AWS CloudFormation validates the parameter value as numbers. However, when\n you use the parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a list of strings.

    For example, users might specify \"80,20\", and then Ref results in [\"80\",\"20\"].

    \n CommaDelimitedList: An array of literal strings that are separated by commas. The total number of strings should be one more than the total number of commas.\n Also, each member string is space-trimmed.

    For example, users might specify \"test,dev,prod\", and then Ref results in [\"test\",\"dev\",\"prod\"].

    " + } + }, + "documentation" : "

    Parameters supported by the application.

    ", + "required" : [ "ReferencedByResources", "Name" ] + }, + "ParameterValue" : { + "type" : "structure", + "members" : { + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation\n uses the default value that is specified in your template.

    " + }, + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

    The input value associated with the parameter.

    " + } + }, + "documentation" : "

    Parameter value of the application.

    ", + "required" : [ "Value", "Name" ] + }, + "PutApplicationPolicyRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "Statements" : { + "shape" : "__listOfApplicationPolicyStatement", + "locationName" : "statements", + "documentation" : "

    An array of policy statements applied to the application.

    " + } + }, + "required" : [ "ApplicationId", "Statements" ] + }, + "PutApplicationPolicyResponse" : { + "type" : "structure", + "members" : { + "Statements" : { + "shape" : "__listOfApplicationPolicyStatement", + "locationName" : "statements", + "documentation" : "

    An array of policy statements applied to the application.

    " + } + } + }, + "RollbackConfiguration" : { + "type" : "structure", + "members" : { + "MonitoringTimeInMinutes" : { + "shape" : "__integer", + "locationName" : "monitoringTimeInMinutes", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration\n Data Type.

    " + }, + "RollbackTriggers" : { + "shape" : "__listOfRollbackTrigger", + "locationName" : "rollbackTriggers", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation RollbackConfiguration\n Data Type.

    " + } + }, + "documentation" : "

    This property corresponds to the AWS CloudFormation RollbackConfiguration\n Data Type.

    " + }, + "RollbackTrigger" : { + "type" : "structure", + "members" : { + "Arn" : { + "shape" : "__string", + "locationName" : "arn", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger\n Data Type.

    " + }, + "Type" : { + "shape" : "__string", + "locationName" : "type", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation RollbackTrigger\n Data Type.

    " + } + }, + "documentation" : "

    This property corresponds to the AWS CloudFormation RollbackTrigger\n Data Type.

    ", + "required" : [ "Type", "Arn" ] + }, + "Status" : { + "type" : "string", + "enum" : [ "PREPARING", "ACTIVE", "EXPIRED" ] + }, + "Tag" : { + "type" : "structure", + "members" : { + "Key" : { + "shape" : "__string", + "locationName" : "key", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation Tag\n Data Type.

    " + }, + "Value" : { + "shape" : "__string", + "locationName" : "value", + "documentation" : "

    This property corresponds to the content of the same name for the AWS CloudFormation \n Tag\n \n Data Type.

    " + } + }, + "documentation" : "

    This property corresponds to the AWS CloudFormation Tag\n Data Type.

    ", + "required" : [ "Value", "Key" ] + }, + "TemplateDetails" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "ExpirationTime" : { + "shape" : "__string", + "locationName" : "expirationTime", + "documentation" : "

    The date and time this template expires. Templates\n expire 1 hour after creation.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "Status" : { + "shape" : "Status", + "locationName" : "status", + "documentation" : "

    Status of the template creation workflow.

    Possible values: PREPARING | ACTIVE | EXPIRED\n

    " + }, + "TemplateId" : { + "shape" : "__string", + "locationName" : "templateId", + "documentation" : "

    The UUID returned by CreateCloudFormationTemplate.

    Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the template that can be used to deploy the application using\n AWS CloudFormation.

    " + } + }, + "documentation" : "

    Details of the template.

    ", + "required" : [ "Status", "TemplateUrl", "CreationTime", "ExpirationTime", "ApplicationId", "TemplateId", "SemanticVersion" ] + }, + "TooManyRequestsException" : { + "type" : "structure", + "members" : { + "ErrorCode" : { + "shape" : "__string", + "locationName" : "errorCode", + "documentation" : "

    429

    " + }, + "Message" : { + "shape" : "__string", + "locationName" : "message", + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    " + } + }, + "documentation" : "

    The client is sending more than the allowed number of requests per unit of time.

    ", + "exception" : true, + "error" : { + "httpStatusCode" : 429 + } + }, + "UnshareApplicationInput" : { + "type" : "structure", + "members" : { + "OrganizationId" : { + "shape" : "__string", + "locationName" : "organizationId", + "documentation" : "

    The AWS Organization ID to unshare the application from.

    " + } + }, + "required" : [ "OrganizationId" ], + "documentation":"

    Unshare application request.

    " + }, + "UnshareApplicationRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "OrganizationId" : { + "shape" : "__string", + "locationName" : "organizationId", + "documentation" : "

    The AWS Organization ID to unshare the application from.

    " + } + }, + "required" : [ "ApplicationId", "OrganizationId" ] + }, + "UpdateApplicationInput" : { + "type" : "structure", + "members" : { + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "ReadmeBody" : { + "shape" : "__string", + "locationName" : "readmeBody", + "documentation" : "

    A text readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + } + }, + "documentation" : "

    Update the application request.

    " + }, + "UpdateApplicationRequest" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "applicationId", + "documentation" : "

    The Amazon Resource Name (ARN) of the application.

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "ReadmeBody" : { + "shape" : "__string", + "locationName" : "readmeBody", + "documentation" : "

    A text readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + } + }, + "required" : [ "ApplicationId" ] + }, + "UpdateApplicationResponse" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "Author" : { + "shape" : "__string", + "locationName" : "author", + "documentation" : "

    The name of the author publishing the app.

    Minimum length=1. Maximum length=127.

    Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "Description" : { + "shape" : "__string", + "locationName" : "description", + "documentation" : "

    The description of the application.

    Minimum length=1. Maximum length=256

    " + }, + "HomePageUrl" : { + "shape" : "__string", + "locationName" : "homePageUrl", + "documentation" : "

    A URL with more information about the application, for example the location of your GitHub repository for the application.

    " + }, + "IsVerifiedAuthor" : { + "shape" : "__boolean", + "locationName" : "isVerifiedAuthor", + "documentation" : "

    Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.

    " + }, + "Labels" : { + "shape" : "__listOf__string", + "locationName" : "labels", + "documentation" : "

    Labels to improve discovery of apps in search results.

    Minimum length=1. Maximum length=127. Maximum number of labels: 10

    Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";

    " + }, + "LicenseUrl" : { + "shape" : "__string", + "locationName" : "licenseUrl", + "documentation" : "

    A link to a license file of the app that matches the spdxLicenseID value of your application.

    Maximum size 5 MB

    " + }, + "Name" : { + "shape" : "__string", + "locationName" : "name", + "documentation" : "

    The name of the application.

    Minimum length=1. Maximum length=140

    Pattern: \"[a-zA-Z0-9\\\\-]+\";

    " + }, + "ReadmeUrl" : { + "shape" : "__string", + "locationName" : "readmeUrl", + "documentation" : "

    A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.

    Maximum size 5 MB

    " + }, + "SpdxLicenseId" : { + "shape" : "__string", + "locationName" : "spdxLicenseId", + "documentation" : "

    A valid identifier from https://spdx.org/licenses/.

    " + }, + "VerifiedAuthorUrl" : { + "shape" : "__string", + "locationName" : "verifiedAuthorUrl", + "documentation" : "

    The URL to the public profile of a verified author. This URL is submitted by the author.

    " + }, + "Version" : { + "shape" : "Version", + "locationName" : "version", + "documentation" : "

    Version information about the application.

    " + } + } + }, + "Version" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "ParameterDefinitions" : { + "shape" : "__listOfParameterDefinition", + "locationName" : "parameterDefinitions", + "documentation" : "

    An array of parameter types supported by the application.

    " + }, + "RequiredCapabilities" : { + "shape" : "__listOfCapability", + "locationName" : "requiredCapabilities", + "documentation" : "

    A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.

    The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

    The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n AWS::IAM::Group,\n AWS::IAM::InstanceProfile,\n AWS::IAM::Policy, and\n AWS::IAM::Role.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.

    The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n AWS::Lambda::Permission,\n AWS::IAM:Policy,\n AWS::ApplicationAutoScaling::ScalingPolicy,\n AWS::S3::BucketPolicy,\n AWS::SQS::QueuePolicy, and\n AWS::SNS::TopicPolicy.

    Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.

    If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.

    " + }, + "ResourcesSupported" : { + "shape" : "__boolean", + "locationName" : "resourcesSupported", + "documentation" : "

    Whether all of the AWS resources contained in this application are supported in the region\n in which it is being retrieved.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "SourceCodeArchiveUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeArchiveUrl", + "documentation" : "

    A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

    Maximum size 50 MB

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + }, + "TemplateUrl" : { + "shape" : "__string", + "locationName" : "templateUrl", + "documentation" : "

    A link to the packaged AWS SAM template of your application.

    " + } + }, + "documentation" : "

    Application version details.

    ", + "required" : [ "TemplateUrl", "ParameterDefinitions", "ResourcesSupported", "CreationTime", "RequiredCapabilities", "ApplicationId", "SemanticVersion" ] + }, + "VersionSummary" : { + "type" : "structure", + "members" : { + "ApplicationId" : { + "shape" : "__string", + "locationName" : "applicationId", + "documentation" : "

    The application Amazon Resource Name (ARN).

    " + }, + "CreationTime" : { + "shape" : "__string", + "locationName" : "creationTime", + "documentation" : "

    The date and time this resource was created.

    " + }, + "SemanticVersion" : { + "shape" : "__string", + "locationName" : "semanticVersion", + "documentation" : "

    The semantic version of the application:

    \n https://semver.org/\n

    " + }, + "SourceCodeUrl" : { + "shape" : "__string", + "locationName" : "sourceCodeUrl", + "documentation" : "

    A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

    " + } + }, + "documentation" : "

    An application version summary.

    ", + "required" : [ "CreationTime", "ApplicationId", "SemanticVersion" ] + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__listOfApplicationDependencySummary" : { + "type" : "list", + "member" : { + "shape" : "ApplicationDependencySummary" + } + }, + "__listOfApplicationPolicyStatement" : { + "type" : "list", + "member" : { + "shape" : "ApplicationPolicyStatement" + } + }, + "__listOfApplicationSummary" : { + "type" : "list", + "member" : { + "shape" : "ApplicationSummary" + } + }, + "__listOfCapability" : { + "type" : "list", + "member" : { + "shape" : "Capability" + } + }, + "__listOfParameterDefinition" : { + "type" : "list", + "member" : { + "shape" : "ParameterDefinition" + } + }, + "__listOfParameterValue" : { + "type" : "list", + "member" : { + "shape" : "ParameterValue" + } + }, + "__listOfRollbackTrigger" : { + "type" : "list", + "member" : { + "shape" : "RollbackTrigger" + } + }, + "__listOfTag" : { + "type" : "list", + "member" : { + "shape" : "Tag" + } + }, + "__listOfVersionSummary" : { + "type" : "list", + "member" : { + "shape" : "VersionSummary" + } + }, + "__listOf__string" : { + "type" : "list", + "member" : { + "shape" : "__string" + } + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + } + }, + "documentation" : "

    The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find\n and deploy serverless applications in the AWS Cloud. For more information about serverless applications,\n see Serverless Computing and Applications on the AWS website.

    The AWS Serverless Application Repository is deeply integrated with the AWS Lambda console, so that developers of \n all levels can get started with serverless computing without needing to learn anything new. You can use category \n keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. \n You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, \n configure any required fields, and deploy it with a few clicks.

    You can also easily publish applications, sharing them publicly with the community at large, or privately\n within your team or across your organization. To publish a serverless application (or app), you can use the\n AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the\n code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template.\n For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs\n GitHub repository.

    The AWS Serverless Application Repository Developer Guide contains more information about the two developer\n experiences available:

      \n
    • \n

      Consuming Applications – Browse for applications and view information about them, including\n source code and readme files. Also install, configure, and deploy applications of your choosing.

      \n

      Publishing Applications – Configure and upload applications to make them available to other\n developers, and publish new versions of applications.

      \n
    • \n
    " +} diff -Nru python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/examples-1.json python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/examples-1.json --- python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,100 @@ +{ + "pagination": { + "SearchProductsAsAdmin": { + "result_key": "ProductViewDetails", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListAcceptedPortfolioShares": { + "result_key": "PortfolioDetails", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListPortfolios": { + "result_key": "PortfolioDetails", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListConstraintsForPortfolio": { + "result_key": "ConstraintDetails", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListLaunchPaths": { + "result_key": "LaunchPathSummaries", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListTagOptions": { + "result_key": "TagOptionDetails", + "output_token": "PageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListPortfoliosForProduct": { + "result_key": "PortfolioDetails", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListPrincipalsForPortfolio": { + "result_key": "Principals", + "output_token": "NextPageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListResourcesForTagOption": { + "result_key": "ResourceDetails", + "output_token": "PageToken", + "input_token": "PageToken", + "limit_key": "PageSize" + }, + "ListOrganizationPortfolioAccess": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "OrganizationNodes" + }, + "ListProvisionedProductPlans": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisionedProductPlans" + }, + "ListProvisioningArtifactsForServiceAction": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisioningArtifactViews" + }, + "ListRecordHistory": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "RecordDetails" + }, + "ListServiceActions": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ServiceActionSummaries" + }, + "ListServiceActionsForProvisioningArtifact": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ServiceActionSummaries" + }, + "ScanProvisionedProducts": { + "input_token": "PageToken", + "limit_key": "PageSize", + "output_token": "NextPageToken", + "result_key": "ProvisionedProducts" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/service-2.json python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/service-2.json --- python-botocore-1.4.70/botocore/data/servicecatalog/2015-12-10/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicecatalog/2015-12-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,1106 +6,5651 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Service Catalog", + "serviceId":"Service Catalog", "signatureVersion":"v4", - "targetPrefix":"AWS242ServiceCatalogService" + "targetPrefix":"AWS242ServiceCatalogService", + "uid":"servicecatalog-2015-12-10" }, "operations":{ - "DescribeProduct":{ - "name":"DescribeProduct", + "AcceptPortfolioShare":{ + "name":"AcceptPortfolioShare", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeProductInput"}, - "output":{"shape":"DescribeProductOutput"}, + "input":{"shape":"AcceptPortfolioShareInput"}, + "output":{"shape":"AcceptPortfolioShareOutput"}, "errors":[ + {"shape":"InvalidParametersException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} + {"shape":"LimitExceededException"} ], - "documentation":"

    Retrieves information about a specified product.

    This operation is functionally identical to DescribeProductView except that it takes as input ProductId instead of ProductViewId.

    " + "documentation":"

    Accepts an offer to share the specified portfolio.

    " }, - "DescribeProductView":{ - "name":"DescribeProductView", + "AssociateBudgetWithResource":{ + "name":"AssociateBudgetWithResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeProductViewInput"}, - "output":{"shape":"DescribeProductViewOutput"}, + "input":{"shape":"AssociateBudgetWithResourceInput"}, + "output":{"shape":"AssociateBudgetWithResourceOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Associates the specified budget with the specified resource.

    " + }, + "AssociatePrincipalWithPortfolio":{ + "name":"AssociatePrincipalWithPortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociatePrincipalWithPortfolioInput"}, + "output":{"shape":"AssociatePrincipalWithPortfolioOutput"}, "errors":[ + {"shape":"InvalidParametersException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InvalidParametersException"} + {"shape":"LimitExceededException"} ], - "documentation":"

    Retrieves information about a specified product.

    This operation is functionally identical to DescribeProduct except that it takes as input ProductViewId instead of ProductId.

    " + "documentation":"

    Associates the specified principal ARN with the specified portfolio.

    " }, - "DescribeProvisioningParameters":{ - "name":"DescribeProvisioningParameters", + "AssociateProductWithPortfolio":{ + "name":"AssociateProductWithPortfolio", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeProvisioningParametersInput"}, - "output":{"shape":"DescribeProvisioningParametersOutput"}, + "input":{"shape":"AssociateProductWithPortfolioInput"}, + "output":{"shape":"AssociateProductWithPortfolioOutput"}, "errors":[ {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

    Provides information about parameters required to provision a specified product in a specified manner. Use this operation to obtain the list of ProvisioningArtifactParameters parameters available to call the ProvisionProduct operation for the specified product.

    " + "documentation":"

    Associates the specified product with the specified portfolio.

    " }, - "DescribeRecord":{ - "name":"DescribeRecord", + "AssociateServiceActionWithProvisioningArtifact":{ + "name":"AssociateServiceActionWithProvisioningArtifact", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeRecordInput"}, - "output":{"shape":"DescribeRecordOutput"}, + "input":{"shape":"AssociateServiceActionWithProvisioningArtifactInput"}, + "output":{"shape":"AssociateServiceActionWithProvisioningArtifactOutput"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"LimitExceededException"} ], - "documentation":"

    Retrieves a paginated list of the full details of a specific request. Use this operation after calling a request operation (ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

    " + "documentation":"

    Associates a self-service action with a provisioning artifact.

    " }, - "ListLaunchPaths":{ - "name":"ListLaunchPaths", + "AssociateTagOptionWithResource":{ + "name":"AssociateTagOptionWithResource", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListLaunchPathsInput"}, - "output":{"shape":"ListLaunchPathsOutput"}, + "input":{"shape":"AssociateTagOptionWithResourceInput"}, + "output":{"shape":"AssociateTagOptionWithResourceOutput"}, "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"LimitExceededException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"InvalidStateException"} ], - "documentation":"

    Returns a paginated list of all paths to a specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.

    " + "documentation":"

    Associate the specified TagOption with the specified portfolio or product.

    " }, - "ListRecordHistory":{ - "name":"ListRecordHistory", + "BatchAssociateServiceActionWithProvisioningArtifact":{ + "name":"BatchAssociateServiceActionWithProvisioningArtifact", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListRecordHistoryInput"}, - "output":{"shape":"ListRecordHistoryOutput"}, + "input":{"shape":"BatchAssociateServiceActionWithProvisioningArtifactInput"}, + "output":{"shape":"BatchAssociateServiceActionWithProvisioningArtifactOutput"}, "errors":[ {"shape":"InvalidParametersException"} ], - "documentation":"

    Returns a paginated list of all performed requests, in the form of RecordDetails objects that are filtered as specified.

    " + "documentation":"

    Associates multiple self-service actions with provisioning artifacts.

    " }, - "ProvisionProduct":{ - "name":"ProvisionProduct", + "BatchDisassociateServiceActionFromProvisioningArtifact":{ + "name":"BatchDisassociateServiceActionFromProvisioningArtifact", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ProvisionProductInput"}, - "output":{"shape":"ProvisionProductOutput"}, + "input":{"shape":"BatchDisassociateServiceActionFromProvisioningArtifactInput"}, + "output":{"shape":"BatchDisassociateServiceActionFromProvisioningArtifactOutput"}, "errors":[ - {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"}, - {"shape":"DuplicateResourceException"} + {"shape":"InvalidParametersException"} ], - "documentation":"

    Requests a Provision of a specified product. A ProvisionedProduct is a resourced instance for a product. For example, provisioning a CloudFormation-template-backed product results in launching a CloudFormation stack and all the underlying resources that come with it.

    You can check the status of this request using the DescribeRecord operation.

    " + "documentation":"

    Disassociates a batch of self-service actions from the specified provisioning artifact.

    " }, - "ScanProvisionedProducts":{ - "name":"ScanProvisionedProducts", + "CopyProduct":{ + "name":"CopyProduct", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ScanProvisionedProductsInput"}, - "output":{"shape":"ScanProvisionedProductsOutput"}, + "input":{"shape":"CopyProductInput"}, + "output":{"shape":"CopyProductOutput"}, "errors":[ + {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParametersException"} ], - "documentation":"

    Returns a paginated list of all the ProvisionedProduct objects that are currently available (not terminated).

    " + "documentation":"

    Copies the specified source product to the specified target product or a new product.

    You can copy a product to the same account or another account. You can copy a product to the same region or another region.

    This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus.

    " }, - "SearchProducts":{ - "name":"SearchProducts", + "CreateConstraint":{ + "name":"CreateConstraint", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"SearchProductsInput"}, - "output":{"shape":"SearchProductsOutput"}, + "input":{"shape":"CreateConstraintInput"}, + "output":{"shape":"CreateConstraintOutput"}, "errors":[ - {"shape":"InvalidParametersException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"LimitExceededException"}, + {"shape":"DuplicateResourceException"} ], - "documentation":"

    Returns a paginated list all of the Products objects to which the caller has access.

    The output of this operation can be used as input for other operations, such as DescribeProductView.

    " + "documentation":"

    Creates a constraint.

    " }, - "TerminateProvisionedProduct":{ - "name":"TerminateProvisionedProduct", + "CreatePortfolio":{ + "name":"CreatePortfolio", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"TerminateProvisionedProductInput"}, - "output":{"shape":"TerminateProvisionedProductOutput"}, + "input":{"shape":"CreatePortfolioInput"}, + "output":{"shape":"CreatePortfolioOutput"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"InvalidParametersException"}, + {"shape":"LimitExceededException"}, + {"shape":"TagOptionNotMigratedException"} ], - "documentation":"

    Requests termination of an existing ProvisionedProduct object. If there are Tags associated with the object, they are terminated when the ProvisionedProduct object is terminated.

    This operation does not delete any records associated with the ProvisionedProduct object.

    You can check the status of this request using the DescribeRecord operation.

    " + "documentation":"

    Creates a portfolio.

    " }, - "UpdateProvisionedProduct":{ - "name":"UpdateProvisionedProduct", + "CreatePortfolioShare":{ + "name":"CreatePortfolioShare", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateProvisionedProductInput"}, - "output":{"shape":"UpdateProvisionedProductOutput"}, + "input":{"shape":"CreatePortfolioShareInput"}, + "output":{"shape":"CreatePortfolioShareOutput"}, "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, {"shape":"InvalidParametersException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"OperationNotSupportedException"}, + {"shape":"InvalidStateException"} ], - "documentation":"

    Requests updates to the configuration of an existing ProvisionedProduct object. If there are tags associated with the object, they cannot be updated or added with this operation. Depending on the specific updates requested, this operation may update with no interruption, with some interruption, or replace the ProvisionedProduct object entirely.

    You can check the status of this request using the DescribeRecord operation.

    " - } - }, - "shapes":{ - "AcceptLanguage":{"type":"string"}, - "AccessLevelFilter":{ - "type":"structure", - "members":{ - "Key":{ - "shape":"AccessLevelFilterKey", - "documentation":"

    Specifies the access level.

    Account allows results at the account level.

    Role allows results based on the federated role of the specified user.

    User allows results limited to the specified user.

    " - }, - "Value":{ - "shape":"AccessLevelFilterValue", - "documentation":"

    Specifies the user to which the access level applies. A value of Self is currently supported.

    " - } + "documentation":"

    Shares the specified portfolio with the specified account or organization node. Shares to an organization node can only be created by the master account of an Organization. AWSOrganizationsAccess must be enabled in order to create a portfolio share to an organization node.

    " + }, + "CreateProduct":{ + "name":"CreateProduct", + "http":{ + "method":"POST", + "requestUri":"/" }, - "documentation":"

    The access level to limit results.

    " + "input":{"shape":"CreateProductInput"}, + "output":{"shape":"CreateProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"LimitExceededException"}, + {"shape":"TagOptionNotMigratedException"} + ], + "documentation":"

    Creates a product.

    " }, - "AccessLevelFilterKey":{ - "type":"string", - "enum":[ - "Account", - "Role", - "User" - ] + "CreateProvisionedProductPlan":{ + "name":"CreateProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProvisionedProductPlanInput"}, + "output":{"shape":"CreateProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

    Creates a plan. A plan includes the list of resources to be created (when provisioning a new product) or modified (when updating a provisioned product) when the plan is executed.

    You can create one plan per provisioned product. To create a plan for an existing provisioned product, the product status must be AVAILBLE or TAINTED.

    To view the resource changes in the change set, use DescribeProvisionedProductPlan. To create or modify the provisioned product, use ExecuteProvisionedProductPlan.

    " }, - "AccessLevelFilterValue":{"type":"string"}, - "AllowedValue":{"type":"string"}, - "AllowedValues":{ - "type":"list", - "member":{"shape":"AllowedValue"} + "CreateProvisioningArtifact":{ + "name":"CreateProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProvisioningArtifactInput"}, + "output":{"shape":"CreateProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates a provisioning artifact (also known as a version) for the specified product.

    You cannot create a provisioning artifact for a product that was shared with you.

    " }, - "ApproximateCount":{"type":"integer"}, - "AttributeValue":{"type":"string"}, - "ConstraintDescription":{"type":"string"}, - "ConstraintSummaries":{ - "type":"list", - "member":{"shape":"ConstraintSummary"} + "CreateServiceAction":{ + "name":"CreateServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceActionInput"}, + "output":{"shape":"CreateServiceActionOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates a self-service action.

    " }, - "ConstraintSummary":{ - "type":"structure", - "members":{ - "Type":{ - "shape":"ConstraintType", - "documentation":"

    The type of the constraint.

    " - }, - "Description":{ - "shape":"ConstraintDescription", - "documentation":"

    The text description of the constraint.

    " - } + "CreateTagOption":{ + "name":"CreateTagOption", + "http":{ + "method":"POST", + "requestUri":"/" }, - "documentation":"

    An administrator-specified constraint to apply when provisioning a product.

    " + "input":{"shape":"CreateTagOptionInput"}, + "output":{"shape":"CreateTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates a TagOption.

    " }, - "ConstraintType":{"type":"string"}, - "CreatedTime":{"type":"timestamp"}, - "DefaultValue":{"type":"string"}, - "DescribeProductInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "Id":{ - "shape":"Id", - "documentation":"

    The ProductId of the product to describe.

    " - } - } + "DeleteConstraint":{ + "name":"DeleteConstraint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConstraintInput"}, + "output":{"shape":"DeleteConstraintOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Deletes the specified constraint.

    " }, - "DescribeProductOutput":{ - "type":"structure", - "members":{ - "ProductViewSummary":{ - "shape":"ProductViewSummary", - "documentation":"

    The summary metadata about the specified product.

    " - }, - "ProvisioningArtifacts":{ - "shape":"ProvisioningArtifacts", - "documentation":"

    A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts parameter represent the ways the specified product can be provisioned.

    " - } - } + "DeletePortfolio":{ + "name":"DeletePortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePortfolioInput"}, + "output":{"shape":"DeletePortfolioOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"ResourceInUseException"}, + {"shape":"TagOptionNotMigratedException"} + ], + "documentation":"

    Deletes the specified portfolio.

    You cannot delete a portfolio if it was shared with you or if it has associated products, users, constraints, or shared accounts.

    " }, - "DescribeProductViewInput":{ - "type":"structure", - "required":["Id"], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "Id":{ - "shape":"Id", - "documentation":"

    The ProductViewId of the product to describe.

    " - } - } + "DeletePortfolioShare":{ + "name":"DeletePortfolioShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePortfolioShareInput"}, + "output":{"shape":"DeletePortfolioShareOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

    Stops sharing the specified portfolio with the specified account or organization node. Shares to an organization node can only be deleted by the master account of an Organization.

    " }, - "DescribeProductViewOutput":{ - "type":"structure", - "members":{ - "ProductViewSummary":{ - "shape":"ProductViewSummary", - "documentation":"

    The summary metadata about the specified product.

    " - }, - "ProvisioningArtifacts":{ - "shape":"ProvisioningArtifacts", - "documentation":"

    A list of provisioning artifact objects for the specified product. The ProvisioningArtifacts represent the ways in which the specified product can be provisioned.

    " - } - } + "DeleteProduct":{ + "name":"DeleteProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProductInput"}, + "output":{"shape":"DeleteProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParametersException"}, + {"shape":"TagOptionNotMigratedException"} + ], + "documentation":"

    Deletes the specified product.

    You cannot delete a product if it was shared with you or is associated with a portfolio.

    " }, - "DescribeProvisioningParametersInput":{ - "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId" + "DeleteProvisionedProductPlan":{ + "name":"DeleteProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProvisionedProductPlanInput"}, + "output":{"shape":"DeleteProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} ], - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "ProductId":{ - "shape":"Id", - "documentation":"

    The identifier of the product.

    " - }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

    The provisioning artifact identifier for this product.

    " - }, - "PathId":{ - "shape":"Id", - "documentation":"

    The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

    " - } - } + "documentation":"

    Deletes the specified plan.

    " }, - "DescribeProvisioningParametersOutput":{ - "type":"structure", - "members":{ - "ProvisioningArtifactParameters":{ + "DeleteProvisioningArtifact":{ + "name":"DeleteProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProvisioningArtifactInput"}, + "output":{"shape":"DeleteProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Deletes the specified provisioning artifact (also known as a version) for the specified product.

    You cannot delete a provisioning artifact associated with a product that was shared with you. You cannot delete the last provisioning artifact for a product, because a product must have at least one provisioning artifact.

    " + }, + "DeleteServiceAction":{ + "name":"DeleteServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceActionInput"}, + "output":{"shape":"DeleteServiceActionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"} + ], + "documentation":"

    Deletes a self-service action.

    " + }, + "DeleteTagOption":{ + "name":"DeleteTagOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTagOptionInput"}, + "output":{"shape":"DeleteTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the specified TagOption.

    You cannot delete a TagOption if it is associated with a product or portfolio.

    " + }, + "DescribeConstraint":{ + "name":"DescribeConstraint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeConstraintInput"}, + "output":{"shape":"DescribeConstraintOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified constraint.

    " + }, + "DescribeCopyProductStatus":{ + "name":"DescribeCopyProductStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCopyProductStatusInput"}, + "output":{"shape":"DescribeCopyProductStatusOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets the status of the specified copy product operation.

    " + }, + "DescribePortfolio":{ + "name":"DescribePortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePortfolioInput"}, + "output":{"shape":"DescribePortfolioOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified portfolio.

    " + }, + "DescribePortfolioShareStatus":{ + "name":"DescribePortfolioShareStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePortfolioShareStatusInput"}, + "output":{"shape":"DescribePortfolioShareStatusOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Gets the status of the specified portfolio share operation. This API can only be called by the master account in the organization.

    " + }, + "DescribeProduct":{ + "name":"DescribeProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProductInput"}, + "output":{"shape":"DescribeProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the specified product.

    " + }, + "DescribeProductAsAdmin":{ + "name":"DescribeProductAsAdmin", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProductAsAdminInput"}, + "output":{"shape":"DescribeProductAsAdminOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified product. This operation is run with administrator access.

    " + }, + "DescribeProductView":{ + "name":"DescribeProductView", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProductViewInput"}, + "output":{"shape":"DescribeProductViewOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the specified product.

    " + }, + "DescribeProvisionedProduct":{ + "name":"DescribeProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisionedProductInput"}, + "output":{"shape":"DescribeProvisionedProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified provisioned product.

    " + }, + "DescribeProvisionedProductPlan":{ + "name":"DescribeProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisionedProductPlanInput"}, + "output":{"shape":"DescribeProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the resource changes for the specified plan.

    " + }, + "DescribeProvisioningArtifact":{ + "name":"DescribeProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisioningArtifactInput"}, + "output":{"shape":"DescribeProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified provisioning artifact (also known as a version) for the specified product.

    " + }, + "DescribeProvisioningParameters":{ + "name":"DescribeProvisioningParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProvisioningParametersInput"}, + "output":{"shape":"DescribeProvisioningParametersOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the configuration required to provision the specified product using the specified provisioning artifact.

    If the output contains a TagOption key with an empty list of values, there is a TagOption conflict for that key. The end user cannot take action to fix the conflict, and launch is not blocked. In subsequent calls to ProvisionProduct, do not include conflicted TagOption keys as tags, or this causes the error \"Parameter validation failed: Missing required parameter in Tags[N]:Value\". Tag the provisioned product with the value sc-tagoption-conflict-portfolioId-productId.

    " + }, + "DescribeRecord":{ + "name":"DescribeRecord", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeRecordInput"}, + "output":{"shape":"DescribeRecordOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified request operation.

    Use this operation after calling a request operation (for example, ProvisionProduct, TerminateProvisionedProduct, or UpdateProvisionedProduct).

    If a provisioned product was transferred to a new owner using UpdateProvisionedProductProperties, the new owner will be able to describe all past records for that product. The previous owner will no longer be able to describe the records, but will be able to use ListRecordHistory to see the product's history from when he was the owner.

    " + }, + "DescribeServiceAction":{ + "name":"DescribeServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceActionInput"}, + "output":{"shape":"DescribeServiceActionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Describes a self-service action.

    " + }, + "DescribeServiceActionExecutionParameters":{ + "name":"DescribeServiceActionExecutionParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceActionExecutionParametersInput"}, + "output":{"shape":"DescribeServiceActionExecutionParametersOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Finds the default parameters for a specific self-service action on a specific provisioned product and returns a map of the results to the user.

    " + }, + "DescribeTagOption":{ + "name":"DescribeTagOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTagOptionInput"}, + "output":{"shape":"DescribeTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Gets information about the specified TagOption.

    " + }, + "DisableAWSOrganizationsAccess":{ + "name":"DisableAWSOrganizationsAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisableAWSOrganizationsAccessInput"}, + "output":{"shape":"DisableAWSOrganizationsAccessOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Disable portfolio sharing through AWS Organizations feature. This feature will not delete your current shares but it will prevent you from creating new shares throughout your organization. Current shares will not be in sync with your organization structure if it changes after calling this API. This API can only be called by the master account in the organization.

    " + }, + "DisassociateBudgetFromResource":{ + "name":"DisassociateBudgetFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateBudgetFromResourceInput"}, + "output":{"shape":"DisassociateBudgetFromResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates the specified budget from the specified resource.

    " + }, + "DisassociatePrincipalFromPortfolio":{ + "name":"DisassociatePrincipalFromPortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociatePrincipalFromPortfolioInput"}, + "output":{"shape":"DisassociatePrincipalFromPortfolioOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates a previously associated principal ARN from a specified portfolio.

    " + }, + "DisassociateProductFromPortfolio":{ + "name":"DisassociateProductFromPortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateProductFromPortfolioInput"}, + "output":{"shape":"DisassociateProductFromPortfolioOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Disassociates the specified product from the specified portfolio.

    " + }, + "DisassociateServiceActionFromProvisioningArtifact":{ + "name":"DisassociateServiceActionFromProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateServiceActionFromProvisioningArtifactInput"}, + "output":{"shape":"DisassociateServiceActionFromProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates the specified self-service action association from the specified provisioning artifact.

    " + }, + "DisassociateTagOptionFromResource":{ + "name":"DisassociateTagOptionFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateTagOptionFromResourceInput"}, + "output":{"shape":"DisassociateTagOptionFromResourceOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Disassociates the specified TagOption from the specified resource.

    " + }, + "EnableAWSOrganizationsAccess":{ + "name":"EnableAWSOrganizationsAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"EnableAWSOrganizationsAccessInput"}, + "output":{"shape":"EnableAWSOrganizationsAccessOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Enable portfolio sharing feature through AWS Organizations. This API will allow Service Catalog to receive updates on your organization in order to sync your shares with the current structure. This API can only be called by the master account in the organization.

    By calling this API Service Catalog will make a call to organizations:EnableAWSServiceAccess on your behalf so that your shares can be in sync with any changes in your AWS Organizations structure.

    " + }, + "ExecuteProvisionedProductPlan":{ + "name":"ExecuteProvisionedProductPlan", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteProvisionedProductPlanInput"}, + "output":{"shape":"ExecuteProvisionedProductPlanOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

    Provisions or modifies a product based on the resource changes for the specified plan.

    " + }, + "ExecuteProvisionedProductServiceAction":{ + "name":"ExecuteProvisionedProductServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExecuteProvisionedProductServiceActionInput"}, + "output":{"shape":"ExecuteProvisionedProductServiceActionOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

    Executes a self-service action against a provisioned product.

    " + }, + "GetAWSOrganizationsAccessStatus":{ + "name":"GetAWSOrganizationsAccessStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAWSOrganizationsAccessStatusInput"}, + "output":{"shape":"GetAWSOrganizationsAccessStatusOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Get the Access Status for AWS Organization portfolio share feature. This API can only be called by the master account in the organization.

    " + }, + "ListAcceptedPortfolioShares":{ + "name":"ListAcceptedPortfolioShares", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAcceptedPortfolioSharesInput"}, + "output":{"shape":"ListAcceptedPortfolioSharesOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Lists all portfolios for which sharing was accepted by this account.

    " + }, + "ListBudgetsForResource":{ + "name":"ListBudgetsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBudgetsForResourceInput"}, + "output":{"shape":"ListBudgetsForResourceOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all the budgets associated to the specified resource.

    " + }, + "ListConstraintsForPortfolio":{ + "name":"ListConstraintsForPortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListConstraintsForPortfolioInput"}, + "output":{"shape":"ListConstraintsForPortfolioOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the constraints for the specified portfolio and product.

    " + }, + "ListLaunchPaths":{ + "name":"ListLaunchPaths", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLaunchPathsInput"}, + "output":{"shape":"ListLaunchPathsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the paths to the specified product. A path is how the user has access to a specified product, and is necessary when provisioning a product. A path also determines the constraints put on the product.

    " + }, + "ListOrganizationPortfolioAccess":{ + "name":"ListOrganizationPortfolioAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOrganizationPortfolioAccessInput"}, + "output":{"shape":"ListOrganizationPortfolioAccessOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Lists the organization nodes that have access to the specified portfolio. This API can only be called by the master account in the organization.

    " + }, + "ListPortfolioAccess":{ + "name":"ListPortfolioAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPortfolioAccessInput"}, + "output":{"shape":"ListPortfolioAccessOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the account IDs that have access to the specified portfolio.

    " + }, + "ListPortfolios":{ + "name":"ListPortfolios", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPortfoliosInput"}, + "output":{"shape":"ListPortfoliosOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all portfolios in the catalog.

    " + }, + "ListPortfoliosForProduct":{ + "name":"ListPortfoliosForProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPortfoliosForProductInput"}, + "output":{"shape":"ListPortfoliosForProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists all portfolios that the specified product is associated with.

    " + }, + "ListPrincipalsForPortfolio":{ + "name":"ListPrincipalsForPortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPrincipalsForPortfolioInput"}, + "output":{"shape":"ListPrincipalsForPortfolioOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all principal ARNs associated with the specified portfolio.

    " + }, + "ListProvisionedProductPlans":{ + "name":"ListProvisionedProductPlans", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProvisionedProductPlansInput"}, + "output":{"shape":"ListProvisionedProductPlansOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the plans for the specified provisioned product or all plans to which the user has access.

    " + }, + "ListProvisioningArtifacts":{ + "name":"ListProvisioningArtifacts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProvisioningArtifactsInput"}, + "output":{"shape":"ListProvisioningArtifactsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all provisioning artifacts (also known as versions) for the specified product.

    " + }, + "ListProvisioningArtifactsForServiceAction":{ + "name":"ListProvisioningArtifactsForServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProvisioningArtifactsForServiceActionInput"}, + "output":{"shape":"ListProvisioningArtifactsForServiceActionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all provisioning artifacts (also known as versions) for the specified self-service action.

    " + }, + "ListRecordHistory":{ + "name":"ListRecordHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRecordHistoryInput"}, + "output":{"shape":"ListRecordHistoryOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the specified requests or all performed requests.

    " + }, + "ListResourcesForTagOption":{ + "name":"ListResourcesForTagOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesForTagOptionInput"}, + "output":{"shape":"ListResourcesForTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the resources associated with the specified TagOption.

    " + }, + "ListServiceActions":{ + "name":"ListServiceActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceActionsInput"}, + "output":{"shape":"ListServiceActionsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists all self-service actions.

    " + }, + "ListServiceActionsForProvisioningArtifact":{ + "name":"ListServiceActionsForProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceActionsForProvisioningArtifactInput"}, + "output":{"shape":"ListServiceActionsForProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Returns a paginated list of self-service actions associated with the specified Product ID and Provisioning Artifact ID.

    " + }, + "ListStackInstancesForProvisionedProduct":{ + "name":"ListStackInstancesForProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStackInstancesForProvisionedProductInput"}, + "output":{"shape":"ListStackInstancesForProvisionedProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns summary information about stack instances that are associated with the specified CFN_STACKSET type provisioned product. You can filter for stack instances that are associated with a specific AWS account name or region.

    " + }, + "ListTagOptions":{ + "name":"ListTagOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagOptionsInput"}, + "output":{"shape":"ListTagOptionsOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the specified TagOptions or all TagOptions.

    " + }, + "ProvisionProduct":{ + "name":"ProvisionProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ProvisionProductInput"}, + "output":{"shape":"ProvisionProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DuplicateResourceException"} + ], + "documentation":"

    Provisions the specified product.

    A provisioned product is a resourced instance of a product. For example, provisioning a product based on a CloudFormation template launches a CloudFormation stack and its underlying resources. You can check the status of this request using DescribeRecord.

    If the request contains a tag key with an empty list of values, there is a tag conflict for that key. Do not include conflicted keys as tags, or this causes the error \"Parameter validation failed: Missing required parameter in Tags[N]:Value\".

    " + }, + "RejectPortfolioShare":{ + "name":"RejectPortfolioShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RejectPortfolioShareInput"}, + "output":{"shape":"RejectPortfolioShareOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Rejects an offer to share the specified portfolio.

    " + }, + "ScanProvisionedProducts":{ + "name":"ScanProvisionedProducts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ScanProvisionedProductsInput"}, + "output":{"shape":"ScanProvisionedProductsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Lists the provisioned products that are available (not terminated).

    To use additional filtering, see SearchProvisionedProducts.

    " + }, + "SearchProducts":{ + "name":"SearchProducts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchProductsInput"}, + "output":{"shape":"SearchProductsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the products to which the caller has access.

    " + }, + "SearchProductsAsAdmin":{ + "name":"SearchProductsAsAdmin", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchProductsAsAdminInput"}, + "output":{"shape":"SearchProductsAsAdminOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the products for the specified portfolio or all products.

    " + }, + "SearchProvisionedProducts":{ + "name":"SearchProvisionedProducts", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchProvisionedProductsInput"}, + "output":{"shape":"SearchProvisionedProductsOutput"}, + "errors":[ + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Gets information about the provisioned products that meet the specified criteria.

    " + }, + "TerminateProvisionedProduct":{ + "name":"TerminateProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateProvisionedProductInput"}, + "output":{"shape":"TerminateProvisionedProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Terminates the specified provisioned product.

    This operation does not delete any records associated with the provisioned product.

    You can check the status of this request using DescribeRecord.

    " + }, + "UpdateConstraint":{ + "name":"UpdateConstraint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConstraintInput"}, + "output":{"shape":"UpdateConstraintOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Updates the specified constraint.

    " + }, + "UpdatePortfolio":{ + "name":"UpdatePortfolio", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePortfolioInput"}, + "output":{"shape":"UpdatePortfolioOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"TagOptionNotMigratedException"} + ], + "documentation":"

    Updates the specified portfolio.

    You cannot update a product that was shared with you.

    " + }, + "UpdateProduct":{ + "name":"UpdateProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProductInput"}, + "output":{"shape":"UpdateProductOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"}, + {"shape":"TagOptionNotMigratedException"} + ], + "documentation":"

    Updates the specified product.

    " + }, + "UpdateProvisionedProduct":{ + "name":"UpdateProvisionedProduct", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProvisionedProductInput"}, + "output":{"shape":"UpdateProvisionedProductOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Requests updates to the configuration of the specified provisioned product.

    If there are tags associated with the object, they cannot be updated or added. Depending on the specific updates requested, this operation can update with no interruption, with some interruption, or replace the provisioned product entirely.

    You can check the status of this request using DescribeRecord.

    " + }, + "UpdateProvisionedProductProperties":{ + "name":"UpdateProvisionedProductProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProvisionedProductPropertiesInput"}, + "output":{"shape":"UpdateProvisionedProductPropertiesOutput"}, + "errors":[ + {"shape":"InvalidParametersException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"} + ], + "documentation":"

    Requests updates to the properties of the specified provisioned product.

    " + }, + "UpdateProvisioningArtifact":{ + "name":"UpdateProvisioningArtifact", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateProvisioningArtifactInput"}, + "output":{"shape":"UpdateProvisioningArtifactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Updates the specified provisioning artifact (also known as a version) for the specified product.

    You cannot update a provisioning artifact for a product that was shared with you.

    " + }, + "UpdateServiceAction":{ + "name":"UpdateServiceAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceActionInput"}, + "output":{"shape":"UpdateServiceActionOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Updates a self-service action.

    " + }, + "UpdateTagOption":{ + "name":"UpdateTagOption", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTagOptionInput"}, + "output":{"shape":"UpdateTagOptionOutput"}, + "errors":[ + {"shape":"TagOptionNotMigratedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"DuplicateResourceException"}, + {"shape":"InvalidParametersException"} + ], + "documentation":"

    Updates the specified TagOption.

    " + } + }, + "shapes":{ + "AcceptLanguage":{ + "type":"string", + "max":100 + }, + "AcceptPortfolioShareInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "PortfolioShareType":{ + "shape":"PortfolioShareType", + "documentation":"

    The type of shared portfolios to accept. The default is to accept imported portfolios.

    • AWS_ORGANIZATIONS - Accept portfolios shared by the master account of your organization.

    • IMPORTED - Accept imported portfolios.

    • AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)

    For example, aws servicecatalog accept-portfolio-share --portfolio-id \"port-2qwzkwxt3y5fk\" --portfolio-share-type AWS_ORGANIZATIONS

    " + } + } + }, + "AcceptPortfolioShareOutput":{ + "type":"structure", + "members":{ + } + }, + "AccessLevelFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"AccessLevelFilterKey", + "documentation":"

    The access level.

    • Account - Filter results based on the account.

    • Role - Filter results based on the federated role of the specified user.

    • User - Filter results based on the specified user.

    " + }, + "Value":{ + "shape":"AccessLevelFilterValue", + "documentation":"

    The user to which the access level applies. The only supported value is Self.

    " + } + }, + "documentation":"

    The access level to use to filter results.

    " + }, + "AccessLevelFilterKey":{ + "type":"string", + "enum":[ + "Account", + "Role", + "User" + ] + }, + "AccessLevelFilterValue":{"type":"string"}, + "AccessStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "UNDER_CHANGE", + "DISABLED" + ] + }, + "AccountId":{ + "type":"string", + "pattern":"^[0-9]{12}$" + }, + "AccountIds":{ + "type":"list", + "member":{"shape":"AccountId"} + }, + "AddTags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":20 + }, + "AllowedValue":{"type":"string"}, + "AllowedValues":{ + "type":"list", + "member":{"shape":"AllowedValue"} + }, + "ApproximateCount":{"type":"integer"}, + "AssociateBudgetWithResourceInput":{ + "type":"structure", + "required":[ + "BudgetName", + "ResourceId" + ], + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

    The name of the budget you want to associate.

    " + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

    The resource identifier. Either a portfolio-id or a product-id.

    " + } + } + }, + "AssociateBudgetWithResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "AssociatePrincipalWithPortfolioInput":{ + "type":"structure", + "required":[ + "PortfolioId", + "PrincipalARN", + "PrincipalType" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "PrincipalARN":{ + "shape":"PrincipalARN", + "documentation":"

    The ARN of the principal (IAM user, role, or group).

    " + }, + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

    The principal type. The supported value is IAM.

    " + } + } + }, + "AssociatePrincipalWithPortfolioOutput":{ + "type":"structure", + "members":{ + } + }, + "AssociateProductWithPortfolioInput":{ + "type":"structure", + "required":[ + "ProductId", + "PortfolioId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "SourcePortfolioId":{ + "shape":"Id", + "documentation":"

    The identifier of the source portfolio.

    " + } + } + }, + "AssociateProductWithPortfolioOutput":{ + "type":"structure", + "members":{ + } + }, + "AssociateServiceActionWithProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "members":{ + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " + }, + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "AssociateServiceActionWithProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + } + }, + "AssociateTagOptionWithResourceInput":{ + "type":"structure", + "required":[ + "ResourceId", + "TagOptionId" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The resource identifier.

    " + }, + "TagOptionId":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + } + } + }, + "AssociateTagOptionWithResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "AttributeValue":{"type":"string"}, + "BatchAssociateServiceActionWithProvisioningArtifactInput":{ + "type":"structure", + "required":["ServiceActionAssociations"], + "members":{ + "ServiceActionAssociations":{ + "shape":"ServiceActionAssociations", + "documentation":"

    One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "BatchAssociateServiceActionWithProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "FailedServiceActionAssociations":{ + "shape":"FailedServiceActionAssociations", + "documentation":"

    An object that contains a list of errors, along with information to help you identify the self-service action.

    " + } + } + }, + "BatchDisassociateServiceActionFromProvisioningArtifactInput":{ + "type":"structure", + "required":["ServiceActionAssociations"], + "members":{ + "ServiceActionAssociations":{ + "shape":"ServiceActionAssociations", + "documentation":"

    One or more associations, each consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "BatchDisassociateServiceActionFromProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "FailedServiceActionAssociations":{ + "shape":"FailedServiceActionAssociations", + "documentation":"

    An object that contains a list of errors, along with information to help you identify the self-service action.

    " + } + } + }, + "BudgetDetail":{ + "type":"structure", + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

    Name of the associated budget.

    " + } + }, + "documentation":"

    Information about a budget.

    " + }, + "BudgetName":{ + "type":"string", + "max":100, + "min":1 + }, + "Budgets":{ + "type":"list", + "member":{"shape":"BudgetDetail"} + }, + "CausingEntity":{"type":"string"}, + "ChangeAction":{ + "type":"string", + "enum":[ + "ADD", + "MODIFY", + "REMOVE" + ] + }, + "CloudWatchDashboard":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"CloudWatchDashboardName", + "documentation":"

    The name of the CloudWatch dashboard.

    " + } + }, + "documentation":"

    Information about a CloudWatch dashboard.

    " + }, + "CloudWatchDashboardName":{"type":"string"}, + "CloudWatchDashboards":{ + "type":"list", + "member":{"shape":"CloudWatchDashboard"} + }, + "ConstraintDescription":{ + "type":"string", + "max":2000 + }, + "ConstraintDetail":{ + "type":"structure", + "members":{ + "ConstraintId":{ + "shape":"Id", + "documentation":"

    The identifier of the constraint.

    " + }, + "Type":{ + "shape":"ConstraintType", + "documentation":"

    The type of constraint.

    • LAUNCH

    • NOTIFICATION

    • STACKSET

    • TEMPLATE

    " + }, + "Description":{ + "shape":"ConstraintDescription", + "documentation":"

    The description of the constraint.

    " + }, + "Owner":{ + "shape":"AccountId", + "documentation":"

    The owner of the constraint.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the product the constraint applies to. Note that a constraint applies to a specific instance of a product within a certain portfolio.

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The identifier of the portfolio the product resides in. The constraint applies only to the instance of the product that lives within this portfolio.

    " + } + }, + "documentation":"

    Information about a constraint.

    " + }, + "ConstraintDetails":{ + "type":"list", + "member":{"shape":"ConstraintDetail"} + }, + "ConstraintParameters":{"type":"string"}, + "ConstraintSummaries":{ + "type":"list", + "member":{"shape":"ConstraintSummary"} + }, + "ConstraintSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ConstraintType", + "documentation":"

    The type of constraint.

    • LAUNCH

    • NOTIFICATION

    • STACKSET

    • TEMPLATE

    " + }, + "Description":{ + "shape":"ConstraintDescription", + "documentation":"

    The description of the constraint.

    " + } + }, + "documentation":"

    Summary information about a constraint.

    " + }, + "ConstraintType":{ + "type":"string", + "max":1024, + "min":1 + }, + "CopyOption":{ + "type":"string", + "enum":["CopyTags"] + }, + "CopyOptions":{ + "type":"list", + "member":{"shape":"CopyOption"} + }, + "CopyProductInput":{ + "type":"structure", + "required":[ + "SourceProductArn", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "SourceProductArn":{ + "shape":"ProductArn", + "documentation":"

    The Amazon Resource Name (ARN) of the source product.

    " + }, + "TargetProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the target product. By default, a new product is created.

    " + }, + "TargetProductName":{ + "shape":"ProductViewName", + "documentation":"

    A name for the target product. The default is the name of the source product.

    " + }, + "SourceProvisioningArtifactIdentifiers":{ + "shape":"SourceProvisioningArtifactProperties", + "documentation":"

    The identifiers of the provisioning artifacts (also known as versions) of the product to copy. By default, all provisioning artifacts are copied.

    " + }, + "CopyOptions":{ + "shape":"CopyOptions", + "documentation":"

    The copy options. If the value is CopyTags, the tags from the source product are copied to the target product.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CopyProductOutput":{ + "type":"structure", + "members":{ + "CopyProductToken":{ + "shape":"Id", + "documentation":"

    The token to use to track the progress of the operation.

    " + } + } + }, + "CopyProductStatus":{ + "type":"string", + "enum":[ + "SUCCEEDED", + "IN_PROGRESS", + "FAILED" + ] + }, + "CreateConstraintInput":{ + "type":"structure", + "required":[ + "PortfolioId", + "ProductId", + "Parameters", + "Type", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "Parameters":{ + "shape":"ConstraintParameters", + "documentation":"

    The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

    LAUNCH

    You are required to specify either the RoleArn or the LocalRoleName but can't use both.

    Specify the RoleArn property as follows:

    {\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"}

    Specify the LocalRoleName property as follows:

    {\"LocalRoleName\": \"SCBasicLaunchRole\"}

    If you specify the LocalRoleName property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account.

    The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint.

    You cannot have both a LAUNCH and a STACKSET constraint.

    You also cannot have more than one LAUNCH constraint on a product and portfolio.

    NOTIFICATION

    Specify the NotificationArns property as follows:

    {\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]}

    RESOURCE_UPDATE

    Specify the TagUpdatesOnProvisionedProduct property as follows:

    {\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}}

    The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED.

    STACKSET

    Specify the Parameters property as follows:

    {\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}}

    You cannot have both a LAUNCH and a STACKSET constraint.

    You also cannot have more than one STACKSET constraint on a product and portfolio.

    Products with a STACKSET constraint will launch an AWS CloudFormation stack set.

    TEMPLATE

    Specify the Rules property. For more information, see Template Constraint Rules.

    " + }, + "Type":{ + "shape":"ConstraintType", + "documentation":"

    The type of constraint.

    • LAUNCH

    • NOTIFICATION

    • RESOURCE_UPDATE

    • STACKSET

    • TEMPLATE

    " + }, + "Description":{ + "shape":"ConstraintDescription", + "documentation":"

    The description of the constraint.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CreateConstraintOutput":{ + "type":"structure", + "members":{ + "ConstraintDetail":{ + "shape":"ConstraintDetail", + "documentation":"

    Information about the constraint.

    " + }, + "ConstraintParameters":{ + "shape":"ConstraintParameters", + "documentation":"

    The constraint parameters.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " + } + } + }, + "CreatePortfolioInput":{ + "type":"structure", + "required":[ + "DisplayName", + "ProviderName", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "DisplayName":{ + "shape":"PortfolioDisplayName", + "documentation":"

    The name to use for display purposes.

    " + }, + "Description":{ + "shape":"PortfolioDescription", + "documentation":"

    The description of the portfolio.

    " + }, + "ProviderName":{ + "shape":"ProviderName", + "documentation":"

    The name of the portfolio provider.

    " + }, + "Tags":{ + "shape":"AddTags", + "documentation":"

    One or more tags.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CreatePortfolioOutput":{ + "type":"structure", + "members":{ + "PortfolioDetail":{ + "shape":"PortfolioDetail", + "documentation":"

    Information about the portfolio.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the portfolio.

    " + } + } + }, + "CreatePortfolioShareInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID. For example, 123456789012.

    " + }, + "OrganizationNode":{ + "shape":"OrganizationNode", + "documentation":"

    The organization node to whom you are going to share. If OrganizationNode is passed in, PortfolioShare will be created for the node and its children (when applies), and a PortfolioShareToken will be returned in the output in order for the administrator to monitor the status of the PortfolioShare creation process.

    " + } + } + }, + "CreatePortfolioShareOutput":{ + "type":"structure", + "members":{ + "PortfolioShareToken":{ + "shape":"Id", + "documentation":"

    The portfolio share unique identifier. This will only be returned if portfolio is shared to an organization node.

    " + } + } + }, + "CreateProductInput":{ + "type":"structure", + "required":[ + "Name", + "Owner", + "ProductType", + "ProvisioningArtifactParameters", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Name":{ + "shape":"ProductViewName", + "documentation":"

    The name of the product.

    " + }, + "Owner":{ + "shape":"ProductViewOwner", + "documentation":"

    The owner of the product.

    " + }, + "Description":{ + "shape":"ProductViewShortDescription", + "documentation":"

    The description of the product.

    " + }, + "Distributor":{ + "shape":"ProductViewOwner", + "documentation":"

    The distributor of the product.

    " + }, + "SupportDescription":{ + "shape":"SupportDescription", + "documentation":"

    The support information about the product.

    " + }, + "SupportEmail":{ + "shape":"SupportEmail", + "documentation":"

    The contact email for product support.

    " + }, + "SupportUrl":{ + "shape":"SupportUrl", + "documentation":"

    The contact URL for product support.

    " + }, + "ProductType":{ + "shape":"ProductType", + "documentation":"

    The type of product.

    " + }, + "Tags":{ + "shape":"AddTags", + "documentation":"

    One or more tags.

    " + }, + "ProvisioningArtifactParameters":{ + "shape":"ProvisioningArtifactProperties", + "documentation":"

    The configuration of the provisioning artifact.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CreateProductOutput":{ + "type":"structure", + "members":{ + "ProductViewDetail":{ + "shape":"ProductViewDetail", + "documentation":"

    Information about the product view.

    " + }, + "ProvisioningArtifactDetail":{ + "shape":"ProvisioningArtifactDetail", + "documentation":"

    Information about the provisioning artifact.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the product.

    " + } + } + }, + "CreateProvisionedProductPlanInput":{ + "type":"structure", + "required":[ + "PlanName", + "PlanType", + "ProductId", + "ProvisionedProductName", + "ProvisioningArtifactId", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PlanName":{ + "shape":"ProvisionedProductPlanName", + "documentation":"

    The name of the plan.

    " + }, + "PlanType":{ + "shape":"ProvisionedProductPlanType", + "documentation":"

    The plan type.

    " + }, + "NotificationArns":{ + "shape":"NotificationArns", + "documentation":"

    Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

    " + }, + "PathId":{ + "shape":"Id", + "documentation":"

    The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisionedProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "ProvisioningParameters":{ + "shape":"UpdateProvisioningParameters", + "documentation":"

    Parameters specified by the administrator that are required for provisioning the product.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    One or more tags.

    If the plan is for an existing provisioned product, the product must have a RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

    " + } + } + }, + "CreateProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "PlanName":{ + "shape":"ProvisionedProductPlanName", + "documentation":"

    The name of the plan.

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "ProvisionProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisionedProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + } + } + }, + "CreateProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "Parameters", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "Parameters":{ + "shape":"ProvisioningArtifactProperties", + "documentation":"

    The configuration for the provisioning artifact.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CreateProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactDetail":{ + "shape":"ProvisioningArtifactDetail", + "documentation":"

    Information about the provisioning artifact.

    " + }, + "Info":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

    The URL of the CloudFormation template in Amazon S3, in JSON format.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " + } + } + }, + "CreateServiceActionInput":{ + "type":"structure", + "required":[ + "Name", + "DefinitionType", + "Definition", + "IdempotencyToken" + ], + "members":{ + "Name":{ + "shape":"ServiceActionName", + "documentation":"

    The self-service action name.

    " + }, + "DefinitionType":{ + "shape":"ServiceActionDefinitionType", + "documentation":"

    The service action definition type. For example, SSM_AUTOMATION.

    " + }, + "Definition":{ + "shape":"ServiceActionDefinitionMap", + "documentation":"

    The self-service action definition. Can be one of the following:

    Name

    The name of the AWS Systems Manager Document. For example, AWS-RestartEC2Instance.

    Version

    The AWS Systems Manager automation document version. For example, \"Version\": \"1\"

    AssumeRole

    The Amazon Resource Name (ARN) of the role that performs the self-service actions on your behalf. For example, \"AssumeRole\": \"arn:aws:iam::12345678910:role/ActionRole\".

    To reuse the provisioned product launch role, set to \"AssumeRole\": \"LAUNCH_ROLE\".

    Parameters

    The list of parameters in JSON format.

    For example: [{\\\"Name\\\":\\\"InstanceId\\\",\\\"Type\\\":\\\"TARGET\\\"}] or [{\\\"Name\\\":\\\"InstanceId\\\",\\\"Type\\\":\\\"TEXT_VALUE\\\"}].

    " + }, + "Description":{ + "shape":"ServiceActionDescription", + "documentation":"

    The self-service action description.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "CreateServiceActionOutput":{ + "type":"structure", + "members":{ + "ServiceActionDetail":{ + "shape":"ServiceActionDetail", + "documentation":"

    An object containing information about the self-service action.

    " + } + } + }, + "CreateTagOptionInput":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagOptionKey", + "documentation":"

    The TagOption key.

    " + }, + "Value":{ + "shape":"TagOptionValue", + "documentation":"

    The TagOption value.

    " + } + } + }, + "CreateTagOptionOutput":{ + "type":"structure", + "members":{ + "TagOptionDetail":{ + "shape":"TagOptionDetail", + "documentation":"

    Information about the TagOption.

    " + } + } + }, + "CreatedTime":{"type":"timestamp"}, + "CreationTime":{"type":"timestamp"}, + "DefaultValue":{"type":"string"}, + "DeleteConstraintInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the constraint.

    " + } + } + }, + "DeleteConstraintOutput":{ + "type":"structure", + "members":{ + } + }, + "DeletePortfolioInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + } + } + }, + "DeletePortfolioOutput":{ + "type":"structure", + "members":{ + } + }, + "DeletePortfolioShareInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID.

    " + }, + "OrganizationNode":{ + "shape":"OrganizationNode", + "documentation":"

    The organization node to whom you are going to stop sharing.

    " + } + } + }, + "DeletePortfolioShareOutput":{ + "type":"structure", + "members":{ + "PortfolioShareToken":{ + "shape":"Id", + "documentation":"

    The portfolio share unique identifier. This will only be returned if delete is made to an organization node.

    " + } + } + }, + "DeleteProductInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + } + } + }, + "DeleteProductOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteProvisionedProductPlanInput":{ + "type":"structure", + "required":["PlanId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "IgnoreErrors":{ + "shape":"IgnoreErrors", + "documentation":"

    If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

    " + } + } + }, + "DeleteProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + } + } + }, + "DeleteProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteServiceActionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "DeleteServiceActionOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteTagOptionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + } + } + }, + "DeleteTagOptionOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeConstraintInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the constraint.

    " + } + } + }, + "DescribeConstraintOutput":{ + "type":"structure", + "members":{ + "ConstraintDetail":{ + "shape":"ConstraintDetail", + "documentation":"

    Information about the constraint.

    " + }, + "ConstraintParameters":{ + "shape":"ConstraintParameters", + "documentation":"

    The constraint parameters.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " + } + } + }, + "DescribeCopyProductStatusInput":{ + "type":"structure", + "required":["CopyProductToken"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "CopyProductToken":{ + "shape":"Id", + "documentation":"

    The token for the copy product operation. This token is returned by CopyProduct.

    " + } + } + }, + "DescribeCopyProductStatusOutput":{ + "type":"structure", + "members":{ + "CopyProductStatus":{ + "shape":"CopyProductStatus", + "documentation":"

    The status of the copy product operation.

    " + }, + "TargetProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the copied product.

    " + }, + "StatusDetail":{ + "shape":"StatusDetail", + "documentation":"

    The status message.

    " + } + } + }, + "DescribePortfolioInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + } + } + }, + "DescribePortfolioOutput":{ + "type":"structure", + "members":{ + "PortfolioDetail":{ + "shape":"PortfolioDetail", + "documentation":"

    Information about the portfolio.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the portfolio.

    " + }, + "TagOptions":{ + "shape":"TagOptionDetails", + "documentation":"

    Information about the TagOptions associated with the portfolio.

    " + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

    Information about the associated budgets.

    " + } + } + }, + "DescribePortfolioShareStatusInput":{ + "type":"structure", + "required":["PortfolioShareToken"], + "members":{ + "PortfolioShareToken":{ + "shape":"Id", + "documentation":"

    The token for the portfolio share operation. This token is returned either by CreatePortfolioShare or by DeletePortfolioShare.

    " + } + } + }, + "DescribePortfolioShareStatusOutput":{ + "type":"structure", + "members":{ + "PortfolioShareToken":{ + "shape":"Id", + "documentation":"

    The token for the portfolio share operation. For example, share-6v24abcdefghi.

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "OrganizationNodeValue":{ + "shape":"OrganizationNodeValue", + "documentation":"

    Organization node identifier. It can be either account id, organizational unit id or organization id.

    " + }, + "Status":{ + "shape":"ShareStatus", + "documentation":"

    Status of the portfolio share operation.

    " + }, + "ShareDetails":{ + "shape":"ShareDetails", + "documentation":"

    Information about the portfolio share operation.

    " + } + } + }, + "DescribeProductAsAdminInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + } + } + }, + "DescribeProductAsAdminOutput":{ + "type":"structure", + "members":{ + "ProductViewDetail":{ + "shape":"ProductViewDetail", + "documentation":"

    Information about the product view.

    " + }, + "ProvisioningArtifactSummaries":{ + "shape":"ProvisioningArtifactSummaries", + "documentation":"

    Information about the provisioning artifacts (also known as versions) for the specified product.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the product.

    " + }, + "TagOptions":{ + "shape":"TagOptionDetails", + "documentation":"

    Information about the TagOptions associated with the product.

    " + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

    Information about the associated budgets.

    " + } + } + }, + "DescribeProductInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + } + } + }, + "DescribeProductOutput":{ + "type":"structure", + "members":{ + "ProductViewSummary":{ + "shape":"ProductViewSummary", + "documentation":"

    Summary information about the product view.

    " + }, + "ProvisioningArtifacts":{ + "shape":"ProvisioningArtifacts", + "documentation":"

    Information about the provisioning artifacts for the specified product.

    " + }, + "Budgets":{ + "shape":"Budgets", + "documentation":"

    Information about the associated budgets.

    " + } + } + }, + "DescribeProductViewInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The product view identifier.

    " + } + } + }, + "DescribeProductViewOutput":{ + "type":"structure", + "members":{ + "ProductViewSummary":{ + "shape":"ProductViewSummary", + "documentation":"

    Summary information about the product.

    " + }, + "ProvisioningArtifacts":{ + "shape":"ProvisioningArtifacts", + "documentation":"

    Information about the provisioning artifacts for the product.

    " + } + } + }, + "DescribeProvisionedProductInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The provisioned product identifier.

    " + } + } + }, + "DescribeProvisionedProductOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductDetail":{ + "shape":"ProvisionedProductDetail", + "documentation":"

    Information about the provisioned product.

    " + }, + "CloudWatchDashboards":{ + "shape":"CloudWatchDashboards", + "documentation":"

    Any CloudWatch dashboards that were created when provisioning the product.

    " + } + } + }, + "DescribeProvisionedProductPlanInput":{ + "type":"structure", + "required":["PlanId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "DescribeProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductPlanDetails":{ + "shape":"ProvisionedProductPlanDetails", + "documentation":"

    Information about the plan.

    " + }, + "ResourceChanges":{ + "shape":"ResourceChanges", + "documentation":"

    Information about the resource changes that will occur when the plan is executed.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "DescribeProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProvisioningArtifactId", + "ProductId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "Verbose":{ + "shape":"Verbose", + "documentation":"

    Indicates whether a verbose level of detail is enabled.

    " + } + } + }, + "DescribeProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactDetail":{ + "shape":"ProvisioningArtifactDetail", + "documentation":"

    Information about the provisioning artifact.

    " + }, + "Info":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

    The URL of the CloudFormation template in Amazon S3.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " + } + } + }, + "DescribeProvisioningParametersInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "PathId":{ + "shape":"Id", + "documentation":"

    The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

    " + } + } + }, + "DescribeProvisioningParametersOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactParameters":{ "shape":"ProvisioningArtifactParameters", - "documentation":"

    The list of parameters used to successfully provision the product. Each parameter includes a list of allowable values and additional metadata about each parameter.

    " + "documentation":"

    Information about the parameters used to provision the product.

    " + }, + "ConstraintSummaries":{ + "shape":"ConstraintSummaries", + "documentation":"

    Information about the constraints used to provision the product.

    " + }, + "UsageInstructions":{ + "shape":"UsageInstructions", + "documentation":"

    Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template.

    " + }, + "TagOptions":{ + "shape":"TagOptionSummaries", + "documentation":"

    Information about the TagOptions associated with the resource.

    " + }, + "ProvisioningArtifactPreferences":{ + "shape":"ProvisioningArtifactPreferences", + "documentation":"

    An object that contains information about preferences, such as regions and accounts, for the provisioning artifact.

    " + } + } + }, + "DescribeRecordInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The record identifier of the provisioned product. This identifier is returned by the request operation.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "DescribeRecordOutput":{ + "type":"structure", + "members":{ + "RecordDetail":{ + "shape":"RecordDetail", + "documentation":"

    Information about the product.

    " + }, + "RecordOutputs":{ + "shape":"RecordOutputs", + "documentation":"

    Information about the product created as the result of a request. For example, the output for a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "DescribeServiceActionExecutionParametersInput":{ + "type":"structure", + "required":[ + "ProvisionedProductId", + "ServiceActionId" + ], + "members":{ + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "DescribeServiceActionExecutionParametersOutput":{ + "type":"structure", + "members":{ + "ServiceActionParameters":{ + "shape":"ExecutionParameters", + "documentation":"

    The parameters of the self-service action.

    " + } + } + }, + "DescribeServiceActionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The self-service action identifier.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "DescribeServiceActionOutput":{ + "type":"structure", + "members":{ + "ServiceActionDetail":{ + "shape":"ServiceActionDetail", + "documentation":"

    Detailed information about the self-service action.

    " + } + } + }, + "DescribeTagOptionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + } + } + }, + "DescribeTagOptionOutput":{ + "type":"structure", + "members":{ + "TagOptionDetail":{ + "shape":"TagOptionDetail", + "documentation":"

    Information about the TagOption.

    " + } + } + }, + "Description":{"type":"string"}, + "DisableAWSOrganizationsAccessInput":{ + "type":"structure", + "members":{ + } + }, + "DisableAWSOrganizationsAccessOutput":{ + "type":"structure", + "members":{ + } + }, + "DisableTemplateValidation":{"type":"boolean"}, + "DisassociateBudgetFromResourceInput":{ + "type":"structure", + "required":[ + "BudgetName", + "ResourceId" + ], + "members":{ + "BudgetName":{ + "shape":"BudgetName", + "documentation":"

    The name of the budget you want to disassociate.

    " + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

    The resource identifier you want to disassociate from. Either a portfolio-id or a product-id.

    " + } + } + }, + "DisassociateBudgetFromResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "DisassociatePrincipalFromPortfolioInput":{ + "type":"structure", + "required":[ + "PortfolioId", + "PrincipalARN" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "PrincipalARN":{ + "shape":"PrincipalARN", + "documentation":"

    The ARN of the principal (IAM user, role, or group).

    " + } + } + }, + "DisassociatePrincipalFromPortfolioOutput":{ + "type":"structure", + "members":{ + } + }, + "DisassociateProductFromPortfolioInput":{ + "type":"structure", + "required":[ + "ProductId", + "PortfolioId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + } + } + }, + "DisassociateProductFromPortfolioOutput":{ + "type":"structure", + "members":{ + } + }, + "DisassociateServiceActionFromProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId", + "ServiceActionId" + ], + "members":{ + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " + }, + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "DisassociateServiceActionFromProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + } + }, + "DisassociateTagOptionFromResourceInput":{ + "type":"structure", + "required":[ + "ResourceId", + "TagOptionId" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The resource identifier.

    " + }, + "TagOptionId":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + } + } + }, + "DisassociateTagOptionFromResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "DuplicateResourceException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified resource is a duplicate.

    ", + "exception":true + }, + "EnableAWSOrganizationsAccessInput":{ + "type":"structure", + "members":{ + } + }, + "EnableAWSOrganizationsAccessOutput":{ + "type":"structure", + "members":{ + } + }, + "Error":{"type":"string"}, + "ErrorCode":{"type":"string"}, + "ErrorDescription":{"type":"string"}, + "EvaluationType":{ + "type":"string", + "enum":[ + "STATIC", + "DYNAMIC" + ] + }, + "ExecuteProvisionedProductPlanInput":{ + "type":"structure", + "required":[ + "PlanId", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    ", + "idempotencyToken":true + } + } + }, + "ExecuteProvisionedProductPlanOutput":{ + "type":"structure", + "members":{ + "RecordDetail":{ + "shape":"RecordDetail", + "documentation":"

    Information about the result of provisioning the product.

    " + } + } + }, + "ExecuteProvisionedProductServiceActionInput":{ + "type":"structure", + "required":[ + "ProvisionedProductId", + "ServiceActionId", + "ExecuteToken" + ], + "members":{ + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "ExecuteToken":{ + "shape":"IdempotencyToken", + "documentation":"

    An idempotency token that uniquely identifies the execute request.

    ", + "idempotencyToken":true + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Parameters":{ + "shape":"ExecutionParameterMap", + "documentation":"

    A map of all self-service action parameters and their values. If a provided parameter is of a special type, such as TARGET, the provided value will override the default value generated by AWS Service Catalog. If the parameters field is not provided, no additional parameters are passed and default values will be used for any special parameters such as TARGET.

    " + } + } + }, + "ExecuteProvisionedProductServiceActionOutput":{ + "type":"structure", + "members":{ + "RecordDetail":{ + "shape":"RecordDetail", + "documentation":"

    An object containing detailed information about the result of provisioning the product.

    " + } + } + }, + "ExecutionParameter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ExecutionParameterKey", + "documentation":"

    The name of the execution parameter.

    " + }, + "Type":{ + "shape":"ExecutionParameterType", + "documentation":"

    The execution parameter type.

    " + }, + "DefaultValues":{ + "shape":"ExecutionParameterValueList", + "documentation":"

    The default values for the execution parameter.

    " + } + }, + "documentation":"

    Details of an execution parameter value that is passed to a self-service action when executed on a provisioned product.

    " + }, + "ExecutionParameterKey":{ + "type":"string", + "max":50, + "min":1 + }, + "ExecutionParameterMap":{ + "type":"map", + "key":{"shape":"ExecutionParameterKey"}, + "value":{"shape":"ExecutionParameterValueList"}, + "max":200, + "min":1 + }, + "ExecutionParameterType":{ + "type":"string", + "max":1024, + "min":1 + }, + "ExecutionParameterValue":{ + "type":"string", + "max":512, + "min":0 + }, + "ExecutionParameterValueList":{ + "type":"list", + "member":{"shape":"ExecutionParameterValue"}, + "max":25, + "min":0 + }, + "ExecutionParameters":{ + "type":"list", + "member":{"shape":"ExecutionParameter"} + }, + "FailedServiceActionAssociation":{ + "type":"structure", + "members":{ + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " + }, + "ErrorCode":{ + "shape":"ServiceActionAssociationErrorCode", + "documentation":"

    The error code. Valid values are listed below.

    " + }, + "ErrorMessage":{ + "shape":"ServiceActionAssociationErrorMessage", + "documentation":"

    A text description of the error.

    " + } + }, + "documentation":"

    An object containing information about the error, along with identifying information about the self-service action and its associations.

    " + }, + "FailedServiceActionAssociations":{ + "type":"list", + "member":{"shape":"FailedServiceActionAssociation"}, + "max":50 + }, + "GetAWSOrganizationsAccessStatusInput":{ + "type":"structure", + "members":{ + } + }, + "GetAWSOrganizationsAccessStatusOutput":{ + "type":"structure", + "members":{ + "AccessStatus":{ + "shape":"AccessStatus", + "documentation":"

    The status of the portfolio share feature.

    " + } + } + }, + "HasDefaultPath":{"type":"boolean"}, + "Id":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9_\\-]*" + }, + "IdempotencyToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + }, + "IgnoreErrors":{"type":"boolean"}, + "InstructionType":{"type":"string"}, + "InstructionValue":{"type":"string"}, + "InvalidParametersException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    One or more parameters provided to the operation are not valid.

    ", + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An attempt was made to modify a resource that is in a state that is not valid. Check your resources to ensure that they are in valid states before retrying the operation.

    ", + "exception":true + }, + "LastRequestId":{"type":"string"}, + "LaunchPathSummaries":{ + "type":"list", + "member":{"shape":"LaunchPathSummary"} + }, + "LaunchPathSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the product path.

    " + }, + "ConstraintSummaries":{ + "shape":"ConstraintSummaries", + "documentation":"

    The constraints on the portfolio-product relationship.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    The tags associated with this product path.

    " + }, + "Name":{ + "shape":"PortfolioName", + "documentation":"

    The name of the portfolio to which the user was assigned.

    " + } + }, + "documentation":"

    Summary information about a product path for a user.

    " + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The current limits of the service would have been exceeded by this operation. Decrease your resource use or increase your service limits and retry the operation.

    ", + "exception":true + }, + "ListAcceptedPortfolioSharesInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PortfolioShareType":{ + "shape":"PortfolioShareType", + "documentation":"

    The type of shared portfolios to list. The default is to list imported portfolios.

    • AWS_ORGANIZATIONS - List portfolios shared by the master account of your organization

    • AWS_SERVICECATALOG - List default portfolios

    • IMPORTED - List imported portfolios

    " + } + } + }, + "ListAcceptedPortfolioSharesOutput":{ + "type":"structure", + "members":{ + "PortfolioDetails":{ + "shape":"PortfolioDetails", + "documentation":"

    Information about the portfolios.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListBudgetsForResourceInput":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ResourceId":{ + "shape":"Id", + "documentation":"

    The resource identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListBudgetsForResourceOutput":{ + "type":"structure", + "members":{ + "Budgets":{ + "shape":"Budgets", + "documentation":"

    Information about the associated budgets.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListConstraintsForPortfolioInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListConstraintsForPortfolioOutput":{ + "type":"structure", + "members":{ + "ConstraintDetails":{ + "shape":"ConstraintDetails", + "documentation":"

    Information about the constraints.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListLaunchPathsInput":{ + "type":"structure", + "required":["ProductId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListLaunchPathsOutput":{ + "type":"structure", + "members":{ + "LaunchPathSummaries":{ + "shape":"LaunchPathSummaries", + "documentation":"

    Information about the launch path.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListOrganizationPortfolioAccessInput":{ + "type":"structure", + "required":[ + "PortfolioId", + "OrganizationNodeType" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier. For example, port-2abcdext3y5fk.

    " + }, + "OrganizationNodeType":{ + "shape":"OrganizationNodeType", + "documentation":"

    The organization node type that will be returned in the output.

    • ORGANIZATION - Organization that has access to the portfolio.

    • ORGANIZATIONAL_UNIT - Organizational unit that has access to the portfolio within your organization.

    • ACCOUNT - Account that has access to the portfolio within your organization.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "ListOrganizationPortfolioAccessOutput":{ + "type":"structure", + "members":{ + "OrganizationNodes":{ + "shape":"OrganizationNodes", + "documentation":"

    Displays information about the organization nodes.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListPortfolioAccessInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "OrganizationParentId":{ + "shape":"Id", + "documentation":"

    The ID of an organization node the portfolio is shared with. All children of this node with an inherited portfolio share will be returned.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "ListPortfolioAccessOutput":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "documentation":"

    Information about the AWS accounts with access to the portfolio.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListPortfoliosForProductInput":{ + "type":"structure", + "required":["ProductId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "ListPortfoliosForProductOutput":{ + "type":"structure", + "members":{ + "PortfolioDetails":{ + "shape":"PortfolioDetails", + "documentation":"

    Information about the portfolios.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListPortfoliosInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "ListPortfoliosOutput":{ + "type":"structure", + "members":{ + "PortfolioDetails":{ + "shape":"PortfolioDetails", + "documentation":"

    Information about the portfolios.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListPrincipalsForPortfolioInput":{ + "type":"structure", + "required":["PortfolioId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListPrincipalsForPortfolioOutput":{ + "type":"structure", + "members":{ + "Principals":{ + "shape":"Principals", + "documentation":"

    The IAM principals (users or roles) associated with the portfolio.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListProvisionedProductPlansInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProvisionProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "AccessLevelFilter":{ + "shape":"AccessLevelFilter", + "documentation":"

    The access level to use to obtain results. The default is User.

    " + } + } + }, + "ListProvisionedProductPlansOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductPlans":{ + "shape":"ProvisionedProductPlans", + "documentation":"

    Information about the plans.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListProvisioningArtifactsForServiceActionInput":{ + "type":"structure", + "required":["ServiceActionId"], + "members":{ + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "ListProvisioningArtifactsForServiceActionOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactViews":{ + "shape":"ProvisioningArtifactViews", + "documentation":"

    An array of objects with information about product views and provisioning artifacts.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListProvisioningArtifactsInput":{ + "type":"structure", + "required":["ProductId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + } + } + }, + "ListProvisioningArtifactsOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactDetails":{ + "shape":"ProvisioningArtifactDetails", + "documentation":"

    Information about the provisioning artifacts.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListRecordHistoryInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "AccessLevelFilter":{ + "shape":"AccessLevelFilter", + "documentation":"

    The access level to use to obtain results. The default is User.

    " + }, + "SearchFilter":{ + "shape":"ListRecordHistorySearchFilter", + "documentation":"

    The search filter to scope the results.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListRecordHistoryOutput":{ + "type":"structure", + "members":{ + "RecordDetails":{ + "shape":"RecordDetails", + "documentation":"

    The records, in reverse chronological order.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListRecordHistorySearchFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"SearchFilterKey", + "documentation":"

    The filter key.

    • product - Filter results based on the specified product identifier.

    • provisionedproduct - Filter results based on the provisioned product identifier.

    " + }, + "Value":{ + "shape":"SearchFilterValue", + "documentation":"

    The filter value.

    " + } + }, + "documentation":"

    The search filter to use when listing history records.

    " + }, + "ListResourcesForTagOptionInput":{ + "type":"structure", + "required":["TagOptionId"], + "members":{ + "TagOptionId":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The resource type.

    • Portfolio

    • Product

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListResourcesForTagOptionOutput":{ + "type":"structure", + "members":{ + "ResourceDetails":{ + "shape":"ResourceDetails", + "documentation":"

    Information about the resources.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListServiceActionsForProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId" + ], + "members":{ + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "ListServiceActionsForProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "ServiceActionSummaries":{ + "shape":"ServiceActionSummaries", + "documentation":"

    An object containing information about the self-service actions associated with the provisioning artifact.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListServiceActionsInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListServiceActionsOutput":{ + "type":"structure", + "members":{ + "ServiceActionSummaries":{ + "shape":"ServiceActionSummaries", + "documentation":"

    An object containing information about the service actions associated with the provisioning artifact.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListStackInstancesForProvisionedProductInput":{ + "type":"structure", + "required":["ProvisionedProductId"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + } + } + }, + "ListStackInstancesForProvisionedProductOutput":{ + "type":"structure", + "members":{ + "StackInstances":{ + "shape":"StackInstances", + "documentation":"

    List of stack instances.

    " + }, + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "ListTagOptionsFilters":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"TagOptionKey", + "documentation":"

    The TagOption key.

    " + }, + "Value":{ + "shape":"TagOptionValue", + "documentation":"

    The TagOption value.

    " + }, + "Active":{ + "shape":"TagOptionActive", + "documentation":"

    The active state.

    " + } + }, + "documentation":"

    Filters to use when listing TagOptions.

    " + }, + "ListTagOptionsInput":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ListTagOptionsFilters", + "documentation":"

    The search filters. If no search filters are specified, the output includes all TagOptions.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ListTagOptionsOutput":{ + "type":"structure", + "members":{ + "TagOptionDetails":{ + "shape":"TagOptionDetails", + "documentation":"

    Information about the TagOptions.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "LogicalResourceId":{"type":"string"}, + "Message":{"type":"string"}, + "Namespaces":{ + "type":"list", + "member":{"shape":"AccountId"} + }, + "NoEcho":{"type":"boolean"}, + "NotificationArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "NotificationArns":{ + "type":"list", + "member":{"shape":"NotificationArn"}, + "max":5 + }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The operation is not supported.

    ", + "exception":true + }, + "OrganizationNode":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"OrganizationNodeType", + "documentation":"

    The organization node type.

    " + }, + "Value":{ + "shape":"OrganizationNodeValue", + "documentation":"

    The identifier of the organization node.

    " + } + }, + "documentation":"

    Information about the organization node.

    " + }, + "OrganizationNodeType":{ + "type":"string", + "enum":[ + "ORGANIZATION", + "ORGANIZATIONAL_UNIT", + "ACCOUNT" + ] + }, + "OrganizationNodeValue":{ + "type":"string", + "pattern":"(^[0-9]{12}$)|(^arn:aws:organizations::\\d{12}:organization\\/o-[a-z0-9]{10,32})|(^o-[a-z0-9]{10,32}$)|(^arn:aws:organizations::\\d{12}:ou\\/o-[a-z0-9]{10,32}\\/ou-[0-9a-z]{4,32}-[0-9a-z]{8,32}$)|(^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)" + }, + "OrganizationNodes":{ + "type":"list", + "member":{"shape":"OrganizationNode"} + }, + "OutputKey":{"type":"string"}, + "OutputValue":{"type":"string"}, + "PageSize":{ + "type":"integer", + "max":20, + "min":0 + }, + "PageToken":{ + "type":"string", + "max":2024, + "pattern":"[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*" + }, + "ParameterConstraints":{ + "type":"structure", + "members":{ + "AllowedValues":{ + "shape":"AllowedValues", + "documentation":"

    The values that the administrator has allowed for the parameter.

    " + } + }, + "documentation":"

    The constraints that the administrator has put on the parameter.

    " + }, + "ParameterKey":{ + "type":"string", + "max":1000, + "min":1 + }, + "ParameterType":{"type":"string"}, + "ParameterValue":{ + "type":"string", + "max":4096 + }, + "PhysicalId":{"type":"string"}, + "PhysicalResourceId":{"type":"string"}, + "PlanResourceType":{ + "type":"string", + "max":256, + "min":1 + }, + "PortfolioDescription":{ + "type":"string", + "max":2000 + }, + "PortfolioDetail":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "ARN":{ + "shape":"ResourceARN", + "documentation":"

    The ARN assigned to the portfolio.

    " + }, + "DisplayName":{ + "shape":"PortfolioDisplayName", + "documentation":"

    The name to use for display purposes.

    " + }, + "Description":{ + "shape":"PortfolioDescription", + "documentation":"

    The description of the portfolio.

    " + }, + "CreatedTime":{ + "shape":"CreationTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "ProviderName":{ + "shape":"ProviderName", + "documentation":"

    The name of the portfolio provider.

    " + } + }, + "documentation":"

    Information about a portfolio.

    " + }, + "PortfolioDetails":{ + "type":"list", + "member":{"shape":"PortfolioDetail"} + }, + "PortfolioDisplayName":{ + "type":"string", + "max":100, + "min":1 + }, + "PortfolioName":{"type":"string"}, + "PortfolioShareType":{ + "type":"string", + "enum":[ + "IMPORTED", + "AWS_SERVICECATALOG", + "AWS_ORGANIZATIONS" + ] + }, + "Principal":{ + "type":"structure", + "members":{ + "PrincipalARN":{ + "shape":"PrincipalARN", + "documentation":"

    The ARN of the principal (IAM user, role, or group).

    " + }, + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

    The principal type. The supported value is IAM.

    " + } + }, + "documentation":"

    Information about a principal.

    " + }, + "PrincipalARN":{ + "type":"string", + "max":1000, + "min":1 + }, + "PrincipalType":{ + "type":"string", + "enum":["IAM"] + }, + "Principals":{ + "type":"list", + "member":{"shape":"Principal"} + }, + "ProductArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "ProductSource":{ + "type":"string", + "enum":["ACCOUNT"] + }, + "ProductType":{ + "type":"string", + "enum":[ + "CLOUD_FORMATION_TEMPLATE", + "MARKETPLACE" + ], + "max":8191 + }, + "ProductViewAggregationType":{"type":"string"}, + "ProductViewAggregationValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"AttributeValue", + "documentation":"

    The value of the product view aggregation.

    " + }, + "ApproximateCount":{ + "shape":"ApproximateCount", + "documentation":"

    An approximate count of the products that match the value.

    " + } + }, + "documentation":"

    A single product view aggregation value/count pair, containing metadata about each product to which the calling user has access.

    " + }, + "ProductViewAggregationValues":{ + "type":"list", + "member":{"shape":"ProductViewAggregationValue"} + }, + "ProductViewAggregations":{ + "type":"map", + "key":{"shape":"ProductViewAggregationType"}, + "value":{"shape":"ProductViewAggregationValues"} + }, + "ProductViewDetail":{ + "type":"structure", + "members":{ + "ProductViewSummary":{ + "shape":"ProductViewSummary", + "documentation":"

    Summary information about the product view.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the product.

    • AVAILABLE - The product is ready for use.

    • CREATING - Product creation has started; the product is not ready for use.

    • FAILED - An action failed.

    " + }, + "ProductARN":{ + "shape":"ResourceARN", + "documentation":"

    The ARN of the product.

    " + }, + "CreatedTime":{ + "shape":"CreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + } + }, + "documentation":"

    Information about a product view.

    " + }, + "ProductViewDetails":{ + "type":"list", + "member":{"shape":"ProductViewDetail"} + }, + "ProductViewDistributor":{"type":"string"}, + "ProductViewFilterBy":{ + "type":"string", + "enum":[ + "FullTextSearch", + "Owner", + "ProductType", + "SourceProductId" + ] + }, + "ProductViewFilterValue":{"type":"string"}, + "ProductViewFilterValues":{ + "type":"list", + "member":{"shape":"ProductViewFilterValue"} + }, + "ProductViewFilters":{ + "type":"map", + "key":{"shape":"ProductViewFilterBy"}, + "value":{"shape":"ProductViewFilterValues"} + }, + "ProductViewName":{ + "type":"string", + "max":8191 + }, + "ProductViewOwner":{ + "type":"string", + "max":8191 + }, + "ProductViewShortDescription":{ + "type":"string", + "max":8191 + }, + "ProductViewSortBy":{ + "type":"string", + "enum":[ + "Title", + "VersionCount", + "CreationDate" + ] + }, + "ProductViewSummaries":{ + "type":"list", + "member":{"shape":"ProductViewSummary"} + }, + "ProductViewSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The product view identifier.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "Name":{ + "shape":"ProductViewName", + "documentation":"

    The name of the product.

    " + }, + "Owner":{ + "shape":"ProductViewOwner", + "documentation":"

    The owner of the product. Contact the product administrator for the significance of this value.

    " + }, + "ShortDescription":{ + "shape":"ProductViewShortDescription", + "documentation":"

    Short description of the product.

    " + }, + "Type":{ + "shape":"ProductType", + "documentation":"

    The product type. Contact the product administrator for the significance of this value. If this value is MARKETPLACE, the product was created by AWS Marketplace.

    " + }, + "Distributor":{ + "shape":"ProductViewDistributor", + "documentation":"

    The distributor of the product. Contact the product administrator for the significance of this value.

    " + }, + "HasDefaultPath":{ + "shape":"HasDefaultPath", + "documentation":"

    Indicates whether the product has a default path. If the product does not have a default path, call ListLaunchPaths to disambiguate between paths. Otherwise, ListLaunchPaths is not required, and the output of ProductViewSummary can be used directly with DescribeProvisioningParameters.

    " + }, + "SupportEmail":{ + "shape":"SupportEmail", + "documentation":"

    The email contact information to obtain support for this Product.

    " + }, + "SupportDescription":{ + "shape":"SupportDescription", + "documentation":"

    The description of the support for this Product.

    " + }, + "SupportUrl":{ + "shape":"SupportUrl", + "documentation":"

    The URL information to obtain support for this Product.

    " + } + }, + "documentation":"

    Summary information about a product view.

    " + }, + "PropertyKey":{ + "type":"string", + "enum":["OWNER"], + "max":128, + "min":1 + }, + "PropertyName":{"type":"string"}, + "PropertyValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "ProviderName":{ + "type":"string", + "max":50, + "min":1 + }, + "ProvisionProductInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId", + "ProvisionedProductName", + "ProvisionToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "PathId":{ + "shape":"Id", + "documentation":"

    The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

    " + }, + "ProvisionedProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    A user-friendly name for the provisioned product. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

    " + }, + "ProvisioningParameters":{ + "shape":"ProvisioningParameters", + "documentation":"

    Parameters specified by the administrator that are required for provisioning the product.

    " + }, + "ProvisioningPreferences":{ + "shape":"ProvisioningPreferences", + "documentation":"

    An object that contains information about the provisioning preferences for a stack set.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    One or more tags.

    " + }, + "NotificationArns":{ + "shape":"NotificationArns", + "documentation":"

    Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

    " + }, + "ProvisionToken":{ + "shape":"IdempotencyToken", + "documentation":"

    An idempotency token that uniquely identifies the provisioning request.

    ", + "idempotencyToken":true + } + } + }, + "ProvisionProductOutput":{ + "type":"structure", + "members":{ + "RecordDetail":{ + "shape":"RecordDetail", + "documentation":"

    Information about the result of provisioning the product.

    " + } + } + }, + "ProvisionedProductAttribute":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ProvisionedProductNameOrArn", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "Arn":{ + "shape":"ProvisionedProductNameOrArn", + "documentation":"

    The ARN of the provisioned product.

    " + }, + "Type":{ + "shape":"ProvisionedProductType", + "documentation":"

    The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "Status":{ + "shape":"ProvisionedProductStatus", + "documentation":"

    The current status of the provisioned product.

    • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

    • UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

    • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

    • ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

    • PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

    " + }, + "StatusMessage":{ + "shape":"ProvisionedProductStatusMessage", + "documentation":"

    The current status message of the provisioned product.

    " + }, + "CreatedTime":{ + "shape":"CreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    " + }, + "LastRecordId":{ + "shape":"Id", + "documentation":"

    The record identifier of the last request performed on this provisioned product.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    One or more tags.

    " + }, + "PhysicalId":{ + "shape":"PhysicalId", + "documentation":"

    The assigned identifier for the resource, such as an EC2 instance ID or an S3 bucket name.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " }, - "ConstraintSummaries":{ - "shape":"ConstraintSummaries", - "documentation":"

    The list of constraint summaries that apply to provisioning this product.

    " + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " }, - "UsageInstructions":{ - "shape":"UsageInstructions", - "documentation":"

    Any additional metadata specifically related to the provisioning of the product. For example, see the Version field of the CloudFormation template.

    " + "UserArn":{ + "shape":"UserArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM user.

    " + }, + "UserArnSession":{ + "shape":"UserArnSession", + "documentation":"

    The ARN of the IAM user in the session. This ARN might contain a session ID.

    " } - } + }, + "documentation":"

    Information about a provisioned product.

    " }, - "DescribeRecordInput":{ + "ProvisionedProductAttributes":{ + "type":"list", + "member":{"shape":"ProvisionedProductAttribute"} + }, + "ProvisionedProductDetail":{ "type":"structure", - "required":["Id"], "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " + "Name":{ + "shape":"ProvisionedProductNameOrArn", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "Arn":{ + "shape":"ProvisionedProductNameOrArn", + "documentation":"

    The ARN of the provisioned product.

    " + }, + "Type":{ + "shape":"ProvisionedProductType", + "documentation":"

    The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

    " }, "Id":{ + "shape":"ProvisionedProductId", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "Status":{ + "shape":"ProvisionedProductStatus", + "documentation":"

    The current status of the provisioned product.

    • AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

    • UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

    • TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

    • ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

    • PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

    " + }, + "StatusMessage":{ + "shape":"ProvisionedProductStatusMessage", + "documentation":"

    The current status message of the provisioned product.

    " + }, + "CreatedTime":{ + "shape":"CreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    A unique identifier that you provide to ensure idempotency. If multiple requests differ only by the idempotency token, the same response is returned for each repeated request.

    " + }, + "LastRecordId":{ + "shape":"LastRequestId", + "documentation":"

    The record identifier of the last request performed on this provisioned product.

    " + }, + "ProductId":{ "shape":"Id", - "documentation":"

    The record identifier of the ProvisionedProduct object for which to retrieve output information. This is the RecordDetail.RecordId obtained from the request operation's response.

    " + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

    The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

    " + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " + } + }, + "documentation":"

    Information about a provisioned product.

    " + }, + "ProvisionedProductDetails":{ + "type":"list", + "member":{"shape":"ProvisionedProductDetail"} + }, + "ProvisionedProductFilters":{ + "type":"map", + "key":{"shape":"ProvisionedProductViewFilterBy"}, + "value":{"shape":"ProvisionedProductViewFilterValues"} + }, + "ProvisionedProductId":{"type":"string"}, + "ProvisionedProductName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]*" + }, + "ProvisionedProductNameOrArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":"[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + }, + "ProvisionedProductPlanDetails":{ + "type":"structure", + "members":{ + "CreatedTime":{ + "shape":"CreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

    The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

    " + "PathId":{ + "shape":"Id", + "documentation":"

    The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "PlanName":{ + "shape":"ProvisionedProductPlanName", + "documentation":"

    The name of the plan.

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "ProvisionProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisionProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "PlanType":{ + "shape":"ProvisionedProductPlanType", + "documentation":"

    The plan type.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "Status":{ + "shape":"ProvisionedProductPlanStatus", + "documentation":"

    The status.

    " + }, + "UpdatedTime":{ + "shape":"UpdatedTime", + "documentation":"

    The time when the plan was last updated.

    " + }, + "NotificationArns":{ + "shape":"NotificationArns", + "documentation":"

    Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

    " + }, + "ProvisioningParameters":{ + "shape":"UpdateProvisioningParameters", + "documentation":"

    Parameters specified by the administrator that are required for provisioning the product.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    One or more tags.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    The status message.

    " } - } + }, + "documentation":"

    Information about a plan.

    " }, - "DescribeRecordOutput":{ + "ProvisionedProductPlanName":{"type":"string"}, + "ProvisionedProductPlanStatus":{ + "type":"string", + "enum":[ + "CREATE_IN_PROGRESS", + "CREATE_SUCCESS", + "CREATE_FAILED", + "EXECUTE_IN_PROGRESS", + "EXECUTE_SUCCESS", + "EXECUTE_FAILED" + ] + }, + "ProvisionedProductPlanSummary":{ "type":"structure", "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

    Detailed record information for the specified product.

    " + "PlanName":{ + "shape":"ProvisionedProductPlanName", + "documentation":"

    The name of the plan.

    " + }, + "PlanId":{ + "shape":"Id", + "documentation":"

    The plan identifier.

    " + }, + "ProvisionProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisionProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "PlanType":{ + "shape":"ProvisionedProductPlanType", + "documentation":"

    The plan type.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + } + }, + "documentation":"

    Summary information about a plan.

    " + }, + "ProvisionedProductPlanType":{ + "type":"string", + "enum":["CLOUDFORMATION"] + }, + "ProvisionedProductPlans":{ + "type":"list", + "member":{"shape":"ProvisionedProductPlanSummary"} + }, + "ProvisionedProductProperties":{ + "type":"map", + "key":{"shape":"PropertyKey"}, + "value":{"shape":"PropertyValue"}, + "max":100, + "min":1 + }, + "ProvisionedProductStatus":{ + "type":"string", + "enum":[ + "AVAILABLE", + "UNDER_CHANGE", + "TAINTED", + "ERROR", + "PLAN_IN_PROGRESS" + ] + }, + "ProvisionedProductStatusMessage":{"type":"string"}, + "ProvisionedProductType":{"type":"string"}, + "ProvisionedProductViewFilterBy":{ + "type":"string", + "enum":["SearchQuery"] + }, + "ProvisionedProductViewFilterValue":{"type":"string"}, + "ProvisionedProductViewFilterValues":{ + "type":"list", + "member":{"shape":"ProvisionedProductViewFilterValue"} + }, + "ProvisioningArtifact":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The name of the provisioning artifact.

    " + }, + "Description":{ + "shape":"ProvisioningArtifactDescription", + "documentation":"

    The description of the provisioning artifact.

    " + }, + "CreatedTime":{ + "shape":"ProvisioningArtifactCreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

    Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

    " + } + }, + "documentation":"

    Information about a provisioning artifact. A provisioning artifact is also known as a product version.

    " + }, + "ProvisioningArtifactActive":{"type":"boolean"}, + "ProvisioningArtifactCreatedTime":{"type":"timestamp"}, + "ProvisioningArtifactDescription":{"type":"string"}, + "ProvisioningArtifactDetail":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The name of the provisioning artifact.

    " + }, + "Description":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The description of the provisioning artifact.

    " + }, + "Type":{ + "shape":"ProvisioningArtifactType", + "documentation":"

    The type of provisioning artifact.

    • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

    • MARKETPLACE_AMI - AWS Marketplace AMI

    • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

    " + }, + "CreatedTime":{ + "shape":"CreationTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "Active":{ + "shape":"ProvisioningArtifactActive", + "documentation":"

    Indicates whether the product version is active.

    " + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

    Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

    " + } + }, + "documentation":"

    Information about a provisioning artifact (also known as a version) for a product.

    " + }, + "ProvisioningArtifactDetails":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactDetail"} + }, + "ProvisioningArtifactGuidance":{ + "type":"string", + "enum":[ + "DEFAULT", + "DEPRECATED" + ] + }, + "ProvisioningArtifactInfo":{ + "type":"map", + "key":{"shape":"ProvisioningArtifactInfoKey"}, + "value":{"shape":"ProvisioningArtifactInfoValue"}, + "max":100, + "min":1 + }, + "ProvisioningArtifactInfoKey":{"type":"string"}, + "ProvisioningArtifactInfoValue":{"type":"string"}, + "ProvisioningArtifactName":{"type":"string"}, + "ProvisioningArtifactParameter":{ + "type":"structure", + "members":{ + "ParameterKey":{ + "shape":"ParameterKey", + "documentation":"

    The parameter key.

    " + }, + "DefaultValue":{ + "shape":"DefaultValue", + "documentation":"

    The default value.

    " + }, + "ParameterType":{ + "shape":"ParameterType", + "documentation":"

    The parameter type.

    " + }, + "IsNoEcho":{ + "shape":"NoEcho", + "documentation":"

    If this value is true, the value for this parameter is obfuscated from view when the parameter is retrieved. This parameter is used to hide sensitive information.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    The description of the parameter.

    " + }, + "ParameterConstraints":{ + "shape":"ParameterConstraints", + "documentation":"

    Constraints that the administrator has put on a parameter.

    " + } + }, + "documentation":"

    Information about a parameter used to provision a product.

    " + }, + "ProvisioningArtifactParameters":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactParameter"} + }, + "ProvisioningArtifactPreferences":{ + "type":"structure", + "members":{ + "StackSetAccounts":{ + "shape":"StackSetAccounts", + "documentation":"

    One or more AWS accounts where stack instances are deployed from the stack set. These accounts can be scoped in ProvisioningPreferences$StackSetAccounts and UpdateProvisioningPreferences$StackSetAccounts.

    Applicable only to a CFN_STACKSET provisioned product type.

    " + }, + "StackSetRegions":{ + "shape":"StackSetRegions", + "documentation":"

    One or more AWS Regions where stack instances are deployed from the stack set. These regions can be scoped in ProvisioningPreferences$StackSetRegions and UpdateProvisioningPreferences$StackSetRegions.

    Applicable only to a CFN_STACKSET provisioned product type.

    " + } + }, + "documentation":"

    The user-defined preferences that will be applied during product provisioning, unless overridden by ProvisioningPreferences or UpdateProvisioningPreferences.

    For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options in the AWS CloudFormation User Guide.

    " + }, + "ProvisioningArtifactProperties":{ + "type":"structure", + "required":["Info"], + "members":{ + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

    " + }, + "Description":{ + "shape":"ProvisioningArtifactDescription", + "documentation":"

    The description of the provisioning artifact, including how it differs from the previous provisioning artifact.

    " + }, + "Info":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

    The URL of the CloudFormation template in Amazon S3. Specify the URL in JSON format as follows:

    \"LoadTemplateFromURL\": \"https://s3.amazonaws.com/cf-templates-ozkq9d3hgiq2-us-east-1/...\"

    " + }, + "Type":{ + "shape":"ProvisioningArtifactType", + "documentation":"

    The type of provisioning artifact.

    • CLOUD_FORMATION_TEMPLATE - AWS CloudFormation template

    • MARKETPLACE_AMI - AWS Marketplace AMI

    • MARKETPLACE_CAR - AWS Marketplace Clusters and AWS Resources

    " + }, + "DisableTemplateValidation":{ + "shape":"DisableTemplateValidation", + "documentation":"

    If set to true, AWS Service Catalog stops validating the specified provisioning artifact even if it is invalid.

    " + } + }, + "documentation":"

    Information about a provisioning artifact (also known as a version) for a product.

    " + }, + "ProvisioningArtifactPropertyName":{ + "type":"string", + "enum":["Id"] + }, + "ProvisioningArtifactPropertyValue":{"type":"string"}, + "ProvisioningArtifactSummaries":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactSummary"} + }, + "ProvisioningArtifactSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The name of the provisioning artifact.

    " + }, + "Description":{ + "shape":"ProvisioningArtifactDescription", + "documentation":"

    The description of the provisioning artifact.

    " }, - "RecordOutputs":{ - "shape":"RecordOutputs", - "documentation":"

    A list of outputs for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL.

    " + "CreatedTime":{ + "shape":"ProvisioningArtifactCreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

    The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + "ProvisioningArtifactMetadata":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

    The metadata for the provisioning artifact. This is used with AWS Marketplace products.

    " } - } + }, + "documentation":"

    Summary information about a provisioning artifact (also known as a version) for a product.

    " }, - "Description":{"type":"string"}, - "DuplicateResourceException":{ + "ProvisioningArtifactType":{ + "type":"string", + "enum":[ + "CLOUD_FORMATION_TEMPLATE", + "MARKETPLACE_AMI", + "MARKETPLACE_CAR" + ] + }, + "ProvisioningArtifactView":{ "type":"structure", "members":{ + "ProductViewSummary":{ + "shape":"ProductViewSummary", + "documentation":"

    Summary information about a product view.

    " + }, + "ProvisioningArtifact":{ + "shape":"ProvisioningArtifact", + "documentation":"

    Information about a provisioning artifact. A provisioning artifact is also known as a product version.

    " + } }, - "documentation":"

    The specified resource is a duplicate.

    ", - "exception":true + "documentation":"

    An object that contains summary information about a product view and a provisioning artifact.

    " }, - "ErrorCode":{"type":"string"}, - "ErrorDescription":{"type":"string"}, - "HasDefaultPath":{"type":"boolean"}, - "Id":{ - "type":"string", - "min":1 + "ProvisioningArtifactViews":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactView"} }, - "IdempotencyToken":{ - "type":"string", - "max":128, - "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]*" + "ProvisioningArtifacts":{ + "type":"list", + "member":{"shape":"ProvisioningArtifact"} }, - "IgnoreErrors":{"type":"boolean"}, - "InstructionType":{"type":"string"}, - "InstructionValue":{"type":"string"}, - "InvalidParametersException":{ + "ProvisioningParameter":{ "type":"structure", "members":{ + "Key":{ + "shape":"ParameterKey", + "documentation":"

    The parameter key.

    " + }, + "Value":{ + "shape":"ParameterValue", + "documentation":"

    The parameter value.

    " + } }, - "documentation":"

    One or more parameters provided to the operation are invalid.

    ", - "exception":true + "documentation":"

    Information about a parameter used to provision a product.

    " }, - "LastRequestId":{"type":"string"}, - "LaunchPathSummaries":{ + "ProvisioningParameters":{ "type":"list", - "member":{"shape":"LaunchPathSummary"} + "member":{"shape":"ProvisioningParameter"} }, - "LaunchPathSummary":{ + "ProvisioningPreferences":{ "type":"structure", "members":{ - "Id":{ - "shape":"Id", - "documentation":"

    The unique identifier of the product path.

    " + "StackSetAccounts":{ + "shape":"StackSetAccounts", + "documentation":"

    One or more AWS accounts that will have access to the provisioned product.

    Applicable only to a CFN_STACKSET provisioned product type.

    The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.

    If no values are specified, the default value is all accounts from the STACKSET constraint.

    " }, - "ConstraintSummaries":{ - "shape":"ConstraintSummaries", - "documentation":"

    List of constraints on the portfolio-product relationship.

    " + "StackSetRegions":{ + "shape":"StackSetRegions", + "documentation":"

    One or more AWS Regions where the provisioned product will be available.

    Applicable only to a CFN_STACKSET provisioned product type.

    The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.

    If no values are specified, the default value is all regions from the STACKSET constraint.

    " }, - "Tags":{ - "shape":"Tags", - "documentation":"

    List of tags used by this launch path.

    " + "StackSetFailureToleranceCount":{ + "shape":"StackSetFailureToleranceCount", + "documentation":"

    The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

    The default value is 0 if no value is specified.

    " }, - "Name":{ - "shape":"PortfolioName", - "documentation":"

    Corresponds to the name of the portfolio to which the user was assigned.

    " + "StackSetFailureTolerancePercentage":{ + "shape":"StackSetFailureTolerancePercentage", + "documentation":"

    The percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

    " + }, + "StackSetMaxConcurrencyCount":{ + "shape":"StackSetMaxConcurrencyCount", + "documentation":"

    The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

    " + }, + "StackSetMaxConcurrencyPercentage":{ + "shape":"StackSetMaxConcurrencyPercentage", + "documentation":"

    The maximum percentage of accounts in which to perform this operation at one time.

    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.

    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

    " } }, - "documentation":"

    Summary information about a path for a user to have access to a specified product.

    " + "documentation":"

    The user-defined preferences that will be applied when updating a provisioned product. Not all preferences are applicable to all provisioned product types.

    " }, - "ListLaunchPathsInput":{ + "RecordDetail":{ "type":"structure", - "required":["ProductId"], "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " + "RecordId":{ + "shape":"Id", + "documentation":"

    The identifier of the record.

    " + }, + "ProvisionedProductName":{ + "shape":"ProvisionedProductName", + "documentation":"

    The user-friendly name of the provisioned product.

    " + }, + "Status":{ + "shape":"RecordStatus", + "documentation":"

    The status of the provisioned product.

    • CREATED - The request was created but the operation has not started.

    • IN_PROGRESS - The requested operation is in progress.

    • IN_PROGRESS_IN_ERROR - The provisioned product is under change but the requested operation failed and some remediation is occurring. For example, a rollback.

    • SUCCEEDED - The requested operation has successfully completed.

    • FAILED - The requested operation has unsuccessfully completed. Investigate using the error messages returned.

    " + }, + "CreatedTime":{ + "shape":"CreatedTime", + "documentation":"

    The UTC time stamp of the creation time.

    " + }, + "UpdatedTime":{ + "shape":"UpdatedTime", + "documentation":"

    The time when the record was last updated.

    " + }, + "ProvisionedProductType":{ + "shape":"ProvisionedProductType", + "documentation":"

    The type of provisioned product. The supported values are CFN_STACK and CFN_STACKSET.

    " + }, + "RecordType":{ + "shape":"RecordType", + "documentation":"

    The record type.

    • PROVISION_PRODUCT

    • UPDATE_PROVISIONED_PRODUCT

    • TERMINATE_PROVISIONED_PRODUCT

    " + }, + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " }, "ProductId":{ "shape":"Id", - "documentation":"

    Identifies the product for which to retrieve LaunchPathSummaries information.

    " + "documentation":"

    The product identifier.

    " }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

    The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

    " + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

    The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

    " + "PathId":{ + "shape":"Id", + "documentation":"

    The path identifier.

    " + }, + "RecordErrors":{ + "shape":"RecordErrors", + "documentation":"

    The errors that occurred.

    " + }, + "RecordTags":{ + "shape":"RecordTags", + "documentation":"

    One or more tags.

    " } - } + }, + "documentation":"

    Information about a request operation.

    " }, - "ListLaunchPathsOutput":{ + "RecordDetails":{ + "type":"list", + "member":{"shape":"RecordDetail"} + }, + "RecordError":{ "type":"structure", "members":{ - "LaunchPathSummaries":{ - "shape":"LaunchPathSummaries", - "documentation":"

    List of launch path information summaries for the specified PageToken.

    " + "Code":{ + "shape":"ErrorCode", + "documentation":"

    The numeric value of the error.

    " }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

    The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + "Description":{ + "shape":"ErrorDescription", + "documentation":"

    The description of the error.

    " } - } + }, + "documentation":"

    The error code and description resulting from an operation.

    " }, - "ListRecordHistoryInput":{ + "RecordErrors":{ + "type":"list", + "member":{"shape":"RecordError"} + }, + "RecordOutput":{ "type":"structure", "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

    The access level for obtaining results. If left unspecified, User level access is used.

    " - }, - "SearchFilter":{ - "shape":"ListRecordHistorySearchFilter", - "documentation":"

    The filter to limit search results.

    " + "OutputKey":{ + "shape":"OutputKey", + "documentation":"

    The output key.

    " }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

    The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

    " + "OutputValue":{ + "shape":"OutputValue", + "documentation":"

    The output value.

    " }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

    The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

    " + "Description":{ + "shape":"Description", + "documentation":"

    The description of the output.

    " } - } + }, + "documentation":"

    The output for the product created as the result of a request. For example, the output for a CloudFormation-backed product that creates an S3 bucket would include the S3 bucket URL.

    " }, - "ListRecordHistoryOutput":{ - "type":"structure", - "members":{ - "RecordDetails":{ - "shape":"RecordDetails", - "documentation":"

    A list of record detail objects, listed in reverse chronological order.

    " - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

    The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " - } - } + "RecordOutputs":{ + "type":"list", + "member":{"shape":"RecordOutput"} }, - "ListRecordHistorySearchFilter":{ + "RecordStatus":{ + "type":"string", + "enum":[ + "CREATED", + "IN_PROGRESS", + "IN_PROGRESS_IN_ERROR", + "SUCCEEDED", + "FAILED" + ] + }, + "RecordTag":{ "type":"structure", "members":{ "Key":{ - "shape":"SearchFilterKey", - "documentation":"

    The filter key.

    " + "shape":"RecordTagKey", + "documentation":"

    The key for this tag.

    " }, "Value":{ - "shape":"SearchFilterValue", - "documentation":"

    The filter value for Key.

    " + "shape":"RecordTagValue", + "documentation":"

    The value for this tag.

    " } }, - "documentation":"

    The search filter to limit results when listing request history records.

    " + "documentation":"

    Information about a tag, which is a key-value pair.

    " }, - "NoEcho":{"type":"boolean"}, - "NotificationArn":{ + "RecordTagKey":{ "type":"string", - "max":1224, + "max":128, "min":1, - "pattern":"arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" - }, - "NotificationArns":{ - "type":"list", - "member":{"shape":"NotificationArn"}, - "max":5 - }, - "OutputKey":{"type":"string"}, - "OutputValue":{"type":"string"}, - "PageSize":{ - "type":"integer", - "max":20, - "min":0 + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" }, - "PageToken":{ + "RecordTagValue":{ "type":"string", - "pattern":"[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*" + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" }, - "ParameterConstraints":{ + "RecordTags":{ + "type":"list", + "member":{"shape":"RecordTag"}, + "max":50 + }, + "RecordType":{"type":"string"}, + "Region":{"type":"string"}, + "RejectPortfolioShareInput":{ "type":"structure", + "required":["PortfolioId"], "members":{ - "AllowedValues":{ - "shape":"AllowedValues", - "documentation":"

    The values that the administrator has allowed for the parameter.

    " + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "PortfolioId":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "PortfolioShareType":{ + "shape":"PortfolioShareType", + "documentation":"

    The type of shared portfolios to reject. The default is to reject imported portfolios.

    • AWS_ORGANIZATIONS - Reject portfolios shared by the master account of your organization.

    • IMPORTED - Reject imported portfolios.

    • AWS_SERVICECATALOG - Not supported. (Throws ResourceNotFoundException.)

    For example, aws servicecatalog reject-portfolio-share --portfolio-id \"port-2qwzkwxt3y5fk\" --portfolio-share-type AWS_ORGANIZATIONS

    " } - }, - "documentation":"

    The constraints that the administrator has put on the parameter.

    " + } }, - "ParameterKey":{"type":"string"}, - "ParameterType":{"type":"string"}, - "ParameterValue":{"type":"string"}, - "PortfolioName":{"type":"string"}, - "ProductType":{"type":"string"}, - "ProductViewAggregationType":{"type":"string"}, - "ProductViewAggregationValue":{ + "RejectPortfolioShareOutput":{ "type":"structure", "members":{ - "Value":{ - "shape":"AttributeValue", - "documentation":"

    The value of the product view aggregation.

    " - }, - "ApproximateCount":{ - "shape":"ApproximateCount", - "documentation":"

    An approximate count of the products that match the value.

    " - } - }, - "documentation":"

    A single product view aggregation value/count pair, containing metadata about each product to which the calling user has access.

    " + } }, - "ProductViewAggregationValues":{ - "type":"list", - "member":{"shape":"ProductViewAggregationValue"} + "Replacement":{ + "type":"string", + "enum":[ + "TRUE", + "FALSE", + "CONDITIONAL" + ] }, - "ProductViewAggregations":{ - "type":"map", - "key":{"shape":"ProductViewAggregationType"}, - "value":{"shape":"ProductViewAggregationValues"} + "RequiresRecreation":{ + "type":"string", + "enum":[ + "NEVER", + "CONDITIONALLY", + "ALWAYS" + ] + }, + "ResourceARN":{ + "type":"string", + "max":150, + "min":1 }, - "ProductViewDistributor":{"type":"string"}, - "ProductViewFilterBy":{ + "ResourceAttribute":{ "type":"string", "enum":[ - "FullTextSearch", - "Owner", - "ProductType" + "PROPERTIES", + "METADATA", + "CREATIONPOLICY", + "UPDATEPOLICY", + "DELETIONPOLICY", + "TAGS" ] }, - "ProductViewFilterValue":{"type":"string"}, - "ProductViewFilterValues":{ - "type":"list", - "member":{"shape":"ProductViewFilterValue"} + "ResourceChange":{ + "type":"structure", + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    The change action.

    " + }, + "LogicalResourceId":{ + "shape":"LogicalResourceId", + "documentation":"

    The ID of the resource, as defined in the CloudFormation template.

    " + }, + "PhysicalResourceId":{ + "shape":"PhysicalResourceId", + "documentation":"

    The ID of the resource, if it was already created.

    " + }, + "ResourceType":{ + "shape":"PlanResourceType", + "documentation":"

    The type of resource.

    " + }, + "Replacement":{ + "shape":"Replacement", + "documentation":"

    If the change type is Modify, indicates whether the existing resource is deleted and replaced with a new one.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    The change scope.

    " + }, + "Details":{ + "shape":"ResourceChangeDetails", + "documentation":"

    Information about the resource changes.

    " + } + }, + "documentation":"

    Information about a resource change that will occur when a plan is executed.

    " }, - "ProductViewFilters":{ - "type":"map", - "key":{"shape":"ProductViewFilterBy"}, - "value":{"shape":"ProductViewFilterValues"} + "ResourceChangeDetail":{ + "type":"structure", + "members":{ + "Target":{ + "shape":"ResourceTargetDefinition", + "documentation":"

    Information about the resource attribute to be modified.

    " + }, + "Evaluation":{ + "shape":"EvaluationType", + "documentation":"

    For static evaluations, the value of the resource attribute will change and the new value is known. For dynamic evaluations, the value might change, and any new value will be determined when the plan is updated.

    " + }, + "CausingEntity":{ + "shape":"CausingEntity", + "documentation":"

    The ID of the entity that caused the change.

    " + } + }, + "documentation":"

    Information about a change to a resource attribute.

    " }, - "ProductViewName":{"type":"string"}, - "ProductViewOwner":{"type":"string"}, - "ProductViewShortDescription":{"type":"string"}, - "ProductViewSortBy":{ - "type":"string", - "enum":[ - "Title", - "VersionCount", - "CreationDate" - ] + "ResourceChangeDetails":{ + "type":"list", + "member":{"shape":"ResourceChangeDetail"} }, - "ProductViewSummaries":{ + "ResourceChanges":{ "type":"list", - "member":{"shape":"ProductViewSummary"} + "member":{"shape":"ResourceChange"} }, - "ProductViewSummary":{ + "ResourceDetail":{ "type":"structure", "members":{ "Id":{ - "shape":"Id", - "documentation":"

    The product view identifier.

    " + "shape":"ResourceDetailId", + "documentation":"

    The identifier of the resource.

    " }, - "ProductId":{ - "shape":"Id", - "documentation":"

    The product identifier.

    " + "ARN":{ + "shape":"ResourceDetailARN", + "documentation":"

    The ARN of the resource.

    " }, "Name":{ - "shape":"ProductViewName", - "documentation":"

    The name of the product.

    " + "shape":"ResourceDetailName", + "documentation":"

    The name of the resource.

    " }, - "Owner":{ - "shape":"ProductViewOwner", - "documentation":"

    The owner of the product. Contact the product administrator for the significance of this value.

    " + "Description":{ + "shape":"ResourceDetailDescription", + "documentation":"

    The description of the resource.

    " }, - "ShortDescription":{ - "shape":"ProductViewShortDescription", - "documentation":"

    Short description of the product.

    " + "CreatedTime":{ + "shape":"ResourceDetailCreatedTime", + "documentation":"

    The creation time of the resource.

    " + } + }, + "documentation":"

    Information about a resource.

    " + }, + "ResourceDetailARN":{"type":"string"}, + "ResourceDetailCreatedTime":{"type":"timestamp"}, + "ResourceDetailDescription":{"type":"string"}, + "ResourceDetailId":{"type":"string"}, + "ResourceDetailName":{"type":"string"}, + "ResourceDetails":{ + "type":"list", + "member":{"shape":"ResourceDetail"} + }, + "ResourceId":{"type":"string"}, + "ResourceInUseException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A resource that is currently in use. Ensure that the resource is not in use and retry the operation.

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified resource was not found.

    ", + "exception":true + }, + "ResourceTargetDefinition":{ + "type":"structure", + "members":{ + "Attribute":{ + "shape":"ResourceAttribute", + "documentation":"

    The attribute to be changed.

    " }, - "Type":{ - "shape":"ProductType", - "documentation":"

    The product type. Contact the product administrator for the significance of this value.

    " + "Name":{ + "shape":"PropertyName", + "documentation":"

    If the attribute is Properties, the value is the name of the property. Otherwise, the value is null.

    " }, - "Distributor":{ - "shape":"ProductViewDistributor", - "documentation":"

    The distributor of the product. Contact the product administrator for the significance of this value.

    " + "RequiresRecreation":{ + "shape":"RequiresRecreation", + "documentation":"

    If the attribute is Properties, indicates whether a change to this property causes the resource to be re-created.

    " + } + }, + "documentation":"

    Information about a change to a resource attribute.

    " + }, + "ResourceType":{"type":"string"}, + "ScanProvisionedProductsInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " }, - "HasDefaultPath":{ - "shape":"HasDefaultPath", - "documentation":"

    A value of false indicates that the product does not have a default path, while a value of true indicates that it does. If it's false, call ListLaunchPaths to disambiguate between paths. If true, ListLaunchPaths is not required, and the output of the ProductViewSummary operation can be used directly with DescribeProvisioningParameters.

    " + "AccessLevelFilter":{ + "shape":"AccessLevelFilter", + "documentation":"

    The access level to use to obtain results. The default is User.

    " }, - "SupportEmail":{ - "shape":"SupportEmail", - "documentation":"

    The email contact information to obtain support for this Product.

    " + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " }, - "SupportDescription":{ - "shape":"SupportDescription", - "documentation":"

    The description of the support for this Product.

    " + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " + } + } + }, + "ScanProvisionedProductsOutput":{ + "type":"structure", + "members":{ + "ProvisionedProducts":{ + "shape":"ProvisionedProductDetails", + "documentation":"

    Information about the provisioned products.

    " }, - "SupportUrl":{ - "shape":"SupportUrl", - "documentation":"

    The URL information to obtain support for this Product.

    " + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " } - }, - "documentation":"

    The summary metadata about the specified product.

    " + } }, - "ProvisionProductInput":{ + "Scope":{ + "type":"list", + "member":{"shape":"ResourceAttribute"} + }, + "SearchFilterKey":{"type":"string"}, + "SearchFilterValue":{"type":"string"}, + "SearchProductsAsAdminInput":{ "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId", - "ProvisionedProductName", - "ProvisionToken" - ], "members":{ "AcceptLanguage":{ "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " }, - "ProductId":{ + "PortfolioId":{ "shape":"Id", - "documentation":"

    The identifier of the product.

    " + "documentation":"

    The portfolio identifier.

    " }, - "ProvisioningArtifactId":{ - "shape":"Id", - "documentation":"

    The provisioning artifact identifier for this product.

    " + "Filters":{ + "shape":"ProductViewFilters", + "documentation":"

    The search filters. If no search filters are specified, the output includes all products to which the administrator has access.

    " }, - "PathId":{ - "shape":"Id", - "documentation":"

    The identifier of the path for this product's provisioning. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

    " + "SortBy":{ + "shape":"ProductViewSortBy", + "documentation":"

    The sort field. If no value is specified, the results are not sorted.

    " }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

    A user-friendly name to identify the ProvisionedProduct object. This value must be unique for the AWS account and cannot be updated after the product is provisioned.

    " + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. If no value is specified, the results are not sorted.

    " }, - "ProvisioningParameters":{ - "shape":"ProvisioningParameters", - "documentation":"

    Parameters specified by the administrator that are required for provisioning the product.

    " + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " }, - "Tags":{ - "shape":"Tags", - "documentation":"

    A list of tags to use as provisioning options.

    " + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " }, - "NotificationArns":{ - "shape":"NotificationArns", - "documentation":"

    Passed to CloudFormation. The SNS topic ARNs to which to publish stack-related events.

    " + "ProductSource":{ + "shape":"ProductSource", + "documentation":"

    Access level of the source of the product.

    " + } + } + }, + "SearchProductsAsAdminOutput":{ + "type":"structure", + "members":{ + "ProductViewDetails":{ + "shape":"ProductViewDetails", + "documentation":"

    Information about the product views.

    " }, - "ProvisionToken":{ - "shape":"IdempotencyToken", - "documentation":"

    An idempotency token that uniquely identifies the provisioning request.

    ", - "idempotencyToken":true + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " } } }, - "ProvisionProductOutput":{ + "SearchProductsInput":{ "type":"structure", "members":{ - "RecordDetail":{ - "shape":"RecordDetail", - "documentation":"

    The detailed result of the ProvisionProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object of the request, and a list of any errors that the request encountered.

    " + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Filters":{ + "shape":"ProductViewFilters", + "documentation":"

    The search filters. If no search filters are specified, the output includes all products to which the caller has access.

    " + }, + "PageSize":{ + "shape":"PageSize", + "documentation":"

    The maximum number of items to return with this call.

    " + }, + "SortBy":{ + "shape":"ProductViewSortBy", + "documentation":"

    The sort field. If no value is specified, the results are not sorted.

    " + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. If no value is specified, the results are not sorted.

    " + }, + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " } } }, - "ProvisionedProductDetail":{ + "SearchProductsOutput":{ "type":"structure", "members":{ - "Name":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

    The user-friendly name of the ProvisionedProduct object.

    " + "ProductViewSummaries":{ + "shape":"ProductViewSummaries", + "documentation":"

    Information about the product views.

    " }, - "Arn":{ - "shape":"ProvisionedProductNameOrArn", - "documentation":"

    The ARN associated with the ProvisionedProduct object.

    " + "ProductViewAggregations":{ + "shape":"ProductViewAggregations", + "documentation":"

    The product view aggregations.

    " }, - "Type":{ - "shape":"ProvisionedProductType", - "documentation":"

    The type of the ProvisionedProduct object.

    " + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " + } + } + }, + "SearchProvisionedProductsInput":{ + "type":"structure", + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " }, - "Id":{ - "shape":"ProvisionedProductId", - "documentation":"

    The identifier of the ProvisionedProduct object.

    " + "AccessLevelFilter":{ + "shape":"AccessLevelFilter", + "documentation":"

    The access level to use to obtain results. The default is User.

    " }, - "Status":{ - "shape":"RecordStatus", - "documentation":"

    The current status of the ProvisionedProduct.

    " + "Filters":{ + "shape":"ProvisionedProductFilters", + "documentation":"

    The search filters.

    When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, and userArnSession.

    Example: \"SearchQuery\":[\"status:AVAILABLE\"]

    " }, - "StatusMessage":{ - "shape":"ProvisionedProductStatusMessage", - "documentation":"

    The current status message of the ProvisionedProduct.

    " + "SortBy":{ + "shape":"SortField", + "documentation":"

    The sort field. If no value is specified, the results are not sorted. The valid values are arn, id, name, and lastRecordId.

    " }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

    The time the ProvisionedProduct was created.

    " + "SortOrder":{ + "shape":"SortOrder", + "documentation":"

    The sort order. If no value is specified, the results are not sorted.

    " }, - "IdempotencyToken":{ - "shape":"IdempotencyToken", - "documentation":"

    An idempotency token that uniquely identifies this ProvisionedProduct.

    " + "PageSize":{ + "shape":"SearchProvisionedProductsPageSize", + "documentation":"

    The maximum number of items to return with this call.

    " }, - "LastRecordId":{ - "shape":"LastRequestId", - "documentation":"

    The record identifier of the last request performed on this ProvisionedProduct object.

    " + "PageToken":{ + "shape":"PageToken", + "documentation":"

    The page token for the next set of results. To retrieve the first set of results, use null.

    " } - }, - "documentation":"

    Detailed information about a ProvisionedProduct object.

    " - }, - "ProvisionedProductDetails":{ - "type":"list", - "member":{"shape":"ProvisionedProductDetail"} - }, - "ProvisionedProductId":{"type":"string"}, - "ProvisionedProductName":{"type":"string"}, - "ProvisionedProductNameOrArn":{ - "type":"string", - "max":1224, - "min":1, - "pattern":"[a-zA-Z0-9][a-zA-Z0-9_-]{0,127}|arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}" + } }, - "ProvisionedProductStatusMessage":{"type":"string"}, - "ProvisionedProductType":{"type":"string"}, - "ProvisioningArtifact":{ + "SearchProvisionedProductsOutput":{ "type":"structure", "members":{ - "Id":{ - "shape":"Id", - "documentation":"

    The identifier for the artifact.

    " - }, - "Name":{ - "shape":"ProvisioningArtifactName", - "documentation":"

    The name of the artifact.

    " + "ProvisionedProducts":{ + "shape":"ProvisionedProductAttributes", + "documentation":"

    Information about the provisioned products.

    " }, - "Description":{ - "shape":"ProvisioningArtifactDescription", - "documentation":"

    The text description of the artifact.

    " + "TotalResultsCount":{ + "shape":"TotalResultsCount", + "documentation":"

    The number of provisioned products found.

    " }, - "CreatedTime":{ - "shape":"ProvisioningArtifactCreatedTime", - "documentation":"

    The time that the artifact was created by the Administrator.

    " + "NextPageToken":{ + "shape":"PageToken", + "documentation":"

    The page token to use to retrieve the next set of results. If there are no additional results, this value is null.

    " } - }, - "documentation":"

    Contains information indicating the ways in which a product can be provisioned.

    " + } + }, + "SearchProvisionedProductsPageSize":{ + "type":"integer", + "max":100, + "min":0 }, - "ProvisioningArtifactCreatedTime":{"type":"timestamp"}, - "ProvisioningArtifactDescription":{"type":"string"}, - "ProvisioningArtifactName":{"type":"string"}, - "ProvisioningArtifactParameter":{ + "ServiceActionAssociation":{ "type":"structure", + "required":[ + "ServiceActionId", + "ProductId", + "ProvisioningArtifactId" + ], "members":{ - "ParameterKey":{ - "shape":"ParameterKey", - "documentation":"

    The parameter key.

    " - }, - "DefaultValue":{ - "shape":"DefaultValue", - "documentation":"

    The default value for this parameter.

    " - }, - "ParameterType":{ - "shape":"ParameterType", - "documentation":"

    The parameter type.

    " - }, - "IsNoEcho":{ - "shape":"NoEcho", - "documentation":"

    If this value is true, the value for this parameter is obfuscated from view when the parameter is retrieved. This parameter is used to hide sensitive information.

    " + "ServiceActionId":{ + "shape":"Id", + "documentation":"

    The self-service action identifier. For example, act-fs7abcd89wxyz.

    " }, - "Description":{ - "shape":"Description", - "documentation":"

    The text description of the parameter.

    " + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier. For example, prod-abcdzk7xy33qa.

    " }, - "ParameterConstraints":{ - "shape":"ParameterConstraints", - "documentation":"

    The list of constraints that the administrator has put on the parameter.

    " + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

    " } }, - "documentation":"

    A parameter used to successfully provision the product. This value includes a list of allowable values and additional metadata.

    " + "documentation":"

    A self-service action association consisting of the Action ID, the Product ID, and the Provisioning Artifact ID.

    " }, - "ProvisioningArtifactParameters":{ - "type":"list", - "member":{"shape":"ProvisioningArtifactParameter"} + "ServiceActionAssociationErrorCode":{ + "type":"string", + "enum":[ + "DUPLICATE_RESOURCE", + "INTERNAL_FAILURE", + "LIMIT_EXCEEDED", + "RESOURCE_NOT_FOUND", + "THROTTLING" + ] }, - "ProvisioningArtifacts":{ + "ServiceActionAssociationErrorMessage":{ + "type":"string", + "max":1024, + "min":1 + }, + "ServiceActionAssociations":{ "type":"list", - "member":{"shape":"ProvisioningArtifact"} + "member":{"shape":"ServiceActionAssociation"}, + "max":50, + "min":1 }, - "ProvisioningParameter":{ + "ServiceActionDefinitionKey":{ + "type":"string", + "enum":[ + "Name", + "Version", + "AssumeRole", + "Parameters" + ] + }, + "ServiceActionDefinitionMap":{ + "type":"map", + "key":{"shape":"ServiceActionDefinitionKey"}, + "value":{"shape":"ServiceActionDefinitionValue"}, + "max":100, + "min":1 + }, + "ServiceActionDefinitionType":{ + "type":"string", + "enum":["SSM_AUTOMATION"] + }, + "ServiceActionDefinitionValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "ServiceActionDescription":{ + "type":"string", + "max":1024 + }, + "ServiceActionDetail":{ "type":"structure", "members":{ - "Key":{ - "shape":"ParameterKey", - "documentation":"

    The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.

    " + "ServiceActionSummary":{ + "shape":"ServiceActionSummary", + "documentation":"

    Summary information about the self-service action.

    " }, - "Value":{ - "shape":"ParameterValue", - "documentation":"

    The value to use for provisioning. Any constraints on this value can be found in ProvisioningArtifactParameter for Key.

    " + "Definition":{ + "shape":"ServiceActionDefinitionMap", + "documentation":"

    A map that defines the self-service action.

    " } }, - "documentation":"

    The arameter key/value pairs used to provision a product.

    " + "documentation":"

    An object containing detailed information about the self-service action.

    " }, - "ProvisioningParameters":{ + "ServiceActionName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9_\\-.]*" + }, + "ServiceActionSummaries":{ "type":"list", - "member":{"shape":"ProvisioningParameter"} + "member":{"shape":"ServiceActionSummary"} }, - "RecordDetail":{ + "ServiceActionSummary":{ "type":"structure", "members":{ - "RecordId":{ - "shape":"Id", - "documentation":"

    The identifier of the ProvisionedProduct object record.

    " - }, - "ProvisionedProductName":{ - "shape":"ProvisionedProductName", - "documentation":"

    The user-friendly name of the ProvisionedProduct object.

    " - }, - "Status":{ - "shape":"RecordStatus", - "documentation":"

    The status of the ProvisionedProduct object.

    " - }, - "CreatedTime":{ - "shape":"CreatedTime", - "documentation":"

    The time when the record for the ProvisionedProduct object was created.

    " - }, - "UpdatedTime":{ - "shape":"UpdatedTime", - "documentation":"

    The time when the record for the ProvisionedProduct object was last updated.

    " - }, - "ProvisionedProductType":{ - "shape":"ProvisionedProductType", - "documentation":"

    The type of the ProvisionedProduct object.

    " - }, - "RecordType":{ - "shape":"RecordType", - "documentation":"

    The record type for this record.

    " - }, - "ProvisionedProductId":{ - "shape":"Id", - "documentation":"

    The identifier of the ProvisionedProduct object.

    " - }, - "ProductId":{ - "shape":"Id", - "documentation":"

    The identifier of the product.

    " - }, - "ProvisioningArtifactId":{ + "Id":{ "shape":"Id", - "documentation":"

    The provisioning artifact identifier for this product.

    " + "documentation":"

    The self-service action identifier.

    " }, - "PathId":{ - "shape":"Id", - "documentation":"

    The identifier of the path for this product's provisioning.

    " + "Name":{ + "shape":"ServiceActionName", + "documentation":"

    The self-service action name.

    " }, - "RecordErrors":{ - "shape":"RecordErrors", - "documentation":"

    A list of errors that occurred while processing the request.

    " + "Description":{ + "shape":"ServiceActionDescription", + "documentation":"

    The self-service action description.

    " }, - "RecordTags":{ - "shape":"RecordTags", - "documentation":"

    List of tags associated with this record.

    " + "DefinitionType":{ + "shape":"ServiceActionDefinitionType", + "documentation":"

    The self-service action definition type. For example, SSM_AUTOMATION.

    " } }, - "documentation":"

    The full details of a specific ProvisionedProduct object.

    " - }, - "RecordDetails":{ - "type":"list", - "member":{"shape":"RecordDetail"} + "documentation":"

    Detailed information about the self-service action.

    " }, - "RecordError":{ + "ShareDetails":{ "type":"structure", "members":{ - "Code":{ - "shape":"ErrorCode", - "documentation":"

    The numeric value of the error.

    " + "SuccessfulShares":{ + "shape":"SuccessfulShares", + "documentation":"

    List of accounts for whom the operation succeeded.

    " }, - "Description":{ - "shape":"ErrorDescription", - "documentation":"

    The text description of the error.

    " + "ShareErrors":{ + "shape":"ShareErrors", + "documentation":"

    List of errors.

    " } }, - "documentation":"

    The error code and description resulting from an operation.

    " - }, - "RecordErrors":{ - "type":"list", - "member":{"shape":"RecordError"} + "documentation":"

    Information about the portfolio share operation.

    " }, - "RecordOutput":{ + "ShareError":{ "type":"structure", "members":{ - "OutputKey":{ - "shape":"OutputKey", - "documentation":"

    The output key.

    " + "Accounts":{ + "shape":"Namespaces", + "documentation":"

    List of accounts impacted by the error.

    " }, - "OutputValue":{ - "shape":"OutputValue", - "documentation":"

    The output value.

    " + "Message":{ + "shape":"Message", + "documentation":"

    Information about the error.

    " }, - "Description":{ - "shape":"Description", - "documentation":"

    The text description of the output.

    " + "Error":{ + "shape":"Error", + "documentation":"

    Error type that happened when processing the operation.

    " } }, - "documentation":"

    An output for the specified Product object created as the result of a request. For example, a CloudFormation-backed product that creates an S3 bucket would have an output for the S3 bucket URL.

    " + "documentation":"

    Errors that occurred during the portfolio share operation.

    " }, - "RecordOutputs":{ + "ShareErrors":{ "type":"list", - "member":{"shape":"RecordOutput"} + "member":{"shape":"ShareError"} }, - "RecordStatus":{ + "ShareStatus":{ "type":"string", "enum":[ + "NOT_STARTED", "IN_PROGRESS", - "SUCCEEDED", + "COMPLETED", + "COMPLETED_WITH_ERRORS", "ERROR" ] }, - "RecordTag":{ + "SortField":{"type":"string"}, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SourceProvisioningArtifactProperties":{ + "type":"list", + "member":{"shape":"SourceProvisioningArtifactPropertiesMap"} + }, + "SourceProvisioningArtifactPropertiesMap":{ + "type":"map", + "key":{"shape":"ProvisioningArtifactPropertyName"}, + "value":{"shape":"ProvisioningArtifactPropertyValue"} + }, + "StackInstance":{ "type":"structure", "members":{ - "Key":{ - "shape":"RecordTagKey", - "documentation":"

    The key for this tag.

    " + "Account":{ + "shape":"AccountId", + "documentation":"

    The name of the AWS account that the stack instance is associated with.

    " }, - "Value":{ - "shape":"RecordTagValue", - "documentation":"

    The value for this tag.

    " + "Region":{ + "shape":"Region", + "documentation":"

    The name of the AWS region that the stack instance is associated with.

    " + }, + "StackInstanceStatus":{ + "shape":"StackInstanceStatus", + "documentation":"

    The status of the stack instance, in terms of its synchronization with its associated stack set.

    • INOPERABLE: A DeleteStackInstances operation has failed and left the stack in an unstable state. Stacks in this state are excluded from further UpdateStackSet operations. You might need to perform a DeleteStackInstances operation, with RetainStacks set to true, to delete the stack instance, and then delete the stack manually.

    • OUTDATED: The stack isn't currently up to date with the stack set because either the associated stack failed during a CreateStackSet or UpdateStackSet operation, or the stack was part of a CreateStackSet or UpdateStackSet operation that failed or was stopped before the stack was created or updated.

    • CURRENT: The stack is currently up to date with the stack set.

    " } }, - "documentation":"

    A tag associated with the record, stored as a key-value pair.

    " + "documentation":"

    An AWS CloudFormation stack, in a specific account and region, that's part of a stack set operation. A stack instance is a reference to an attempted or actual stack in a given account within a given region. A stack instance can exist without a stack—for example, if the stack couldn't be created for some reason. A stack instance is associated with only one stack set. Each stack instance contains the ID of its associated stack set, as well as the ID of the actual stack and the stack status.

    " }, - "RecordTagKey":{ + "StackInstanceStatus":{ "type":"string", - "max":128, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "enum":[ + "CURRENT", + "OUTDATED", + "INOPERABLE" + ] }, - "RecordTagValue":{ + "StackInstances":{ + "type":"list", + "member":{"shape":"StackInstance"} + }, + "StackSetAccounts":{ + "type":"list", + "member":{"shape":"AccountId"} + }, + "StackSetFailureToleranceCount":{ + "type":"integer", + "min":0 + }, + "StackSetFailureTolerancePercentage":{ + "type":"integer", + "max":100, + "min":0 + }, + "StackSetMaxConcurrencyCount":{ + "type":"integer", + "min":1 + }, + "StackSetMaxConcurrencyPercentage":{ + "type":"integer", + "max":100, + "min":1 + }, + "StackSetOperationType":{ "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "enum":[ + "CREATE", + "UPDATE", + "DELETE" + ] }, - "RecordTags":{ + "StackSetRegions":{ "type":"list", - "member":{"shape":"RecordTag"}, - "max":10 + "member":{"shape":"Region"} }, - "RecordType":{"type":"string"}, - "ResourceNotFoundException":{ - "type":"structure", - "members":{ - }, - "documentation":"

    The specified resource was not found.

    ", - "exception":true + "Status":{ + "type":"string", + "enum":[ + "AVAILABLE", + "CREATING", + "FAILED" + ] }, - "ScanProvisionedProductsInput":{ - "type":"structure", - "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "AccessLevelFilter":{ - "shape":"AccessLevelFilter", - "documentation":"

    The access level for obtaining results. If left unspecified, User level access is used.

    " - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

    The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

    " - }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

    The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

    " - } - } + "StatusDetail":{"type":"string"}, + "StatusMessage":{ + "type":"string", + "pattern":"[\\u0009\\u000a\\u000d\\u0020-\\uD7FF\\uE000-\\uFFFD]*" }, - "ScanProvisionedProductsOutput":{ - "type":"structure", - "members":{ - "ProvisionedProducts":{ - "shape":"ProvisionedProductDetails", - "documentation":"

    A list of ProvisionedProduct detail objects.

    " - }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

    The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " - } - } + "SuccessfulShares":{ + "type":"list", + "member":{"shape":"AccountId"} }, - "SearchFilterKey":{"type":"string"}, - "SearchFilterValue":{"type":"string"}, - "SearchProductsInput":{ + "SupportDescription":{ + "type":"string", + "max":8191 + }, + "SupportEmail":{ + "type":"string", + "max":254 + }, + "SupportUrl":{ + "type":"string", + "max":2083 + }, + "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ - "AcceptLanguage":{ - "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " - }, - "Filters":{ - "shape":"ProductViewFilters", - "documentation":"

    The list of filters with which to limit search results. If no search filters are specified, the output is all the products to which the calling user has access.

    " - }, - "PageSize":{ - "shape":"PageSize", - "documentation":"

    The maximum number of items to return in the results. If more results exist than fit in the specified PageSize, the value of NextPageToken in the response is non-null.

    " - }, - "SortBy":{ - "shape":"ProductViewSortBy", - "documentation":"

    The sort field specifier. If no value is specified, results are not sorted.

    " - }, - "SortOrder":{ - "shape":"SortOrder", - "documentation":"

    The sort order specifier. If no value is specified, results are not sorted.

    " + "Key":{ + "shape":"TagKey", + "documentation":"

    The tag key.

    " }, - "PageToken":{ - "shape":"PageToken", - "documentation":"

    The page token of the first page retrieved. If null, this retrieves the first page of size PageSize.

    " + "Value":{ + "shape":"TagValue", + "documentation":"

    The value for this key.

    " } - } + }, + "documentation":"

    Information about a tag. A tag is a key-value pair. Tags are propagated to the resources created when provisioning a product.

    " }, - "SearchProductsOutput":{ + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagOptionActive":{"type":"boolean"}, + "TagOptionDetail":{ "type":"structure", "members":{ - "ProductViewSummaries":{ - "shape":"ProductViewSummaries", - "documentation":"

    A list of the product view summary objects.

    " + "Key":{ + "shape":"TagOptionKey", + "documentation":"

    The TagOption key.

    " }, - "ProductViewAggregations":{ - "shape":"ProductViewAggregations", - "documentation":"

    A list of the product view aggregation value objects.

    " + "Value":{ + "shape":"TagOptionValue", + "documentation":"

    The TagOption value.

    " }, - "NextPageToken":{ - "shape":"PageToken", - "documentation":"

    The page token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + "Active":{ + "shape":"TagOptionActive", + "documentation":"

    The TagOption active state.

    " + }, + "Id":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " } - } + }, + "documentation":"

    Information about a TagOption.

    " }, - "SortOrder":{ + "TagOptionDetails":{ + "type":"list", + "member":{"shape":"TagOptionDetail"} + }, + "TagOptionId":{ "type":"string", - "enum":[ - "ASCENDING", - "DESCENDING" - ] + "max":100, + "min":1 }, - "SupportDescription":{"type":"string"}, - "SupportEmail":{"type":"string"}, - "SupportUrl":{"type":"string"}, - "Tag":{ + "TagOptionKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagOptionNotMigratedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An operation requiring TagOptions failed because the TagOptions migration process has not been performed for this account. Please use the AWS console to perform the migration process before retrying the operation.

    ", + "exception":true + }, + "TagOptionSummaries":{ + "type":"list", + "member":{"shape":"TagOptionSummary"} + }, + "TagOptionSummary":{ "type":"structure", "members":{ "Key":{ - "shape":"TagKey", - "documentation":"

    The ProvisioningArtifactParameter.TagKey parameter from DescribeProvisioningParameters.

    " + "shape":"TagOptionKey", + "documentation":"

    The TagOption key.

    " }, - "Value":{ - "shape":"TagValue", - "documentation":"

    The esired value for this key.

    " + "Values":{ + "shape":"TagOptionValues", + "documentation":"

    The TagOption value.

    " } }, - "documentation":"

    Key/value pairs to associate with this provisioning. These tags are entirely discretionary and are propagated to the resources created in the provisioning.

    " + "documentation":"

    Summary information about a TagOption.

    " }, - "TagKey":{ + "TagOptionValue":{ "type":"string", - "max":128, + "max":256, "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagOptionValues":{ + "type":"list", + "member":{"shape":"TagOptionValue"} }, "TagValue":{ "type":"string", "max":256, "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "Tags":{ "type":"list", "member":{"shape":"Tag"}, - "max":10 + "max":50 }, "TerminateProvisionedProductInput":{ "type":"structure", @@ -1113,24 +5658,24 @@ "members":{ "ProvisionedProductName":{ "shape":"ProvisionedProductNameOrArn", - "documentation":"

    The name of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

    " + "documentation":"

    The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

    " }, "ProvisionedProductId":{ "shape":"Id", - "documentation":"

    The identifier of the ProvisionedProduct object to terminate. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

    " + "documentation":"

    The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

    " }, "TerminateToken":{ "shape":"IdempotencyToken", - "documentation":"

    An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the ProvisionedProduct object is terminated, further requests to terminate the same ProvisionedProduct object always return ResourceNotFound regardless of the value of TerminateToken.

    ", + "documentation":"

    An idempotency token that uniquely identifies the termination request. This token is only valid during the termination process. After the provisioned product is terminated, subsequent requests to terminate the same provisioned product always return ResourceNotFound.

    ", "idempotencyToken":true }, "IgnoreErrors":{ "shape":"IgnoreErrors", - "documentation":"

    If set to true, AWS Service Catalog stops managing the specified ProvisionedProduct object even if it cannot delete the underlying resources.

    " + "documentation":"

    If set to true, AWS Service Catalog stops managing the specified provisioned product even if it cannot delete the underlying resources.

    " }, "AcceptLanguage":{ "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " } } }, @@ -1139,7 +5684,157 @@ "members":{ "RecordDetail":{ "shape":"RecordDetail", - "documentation":"

    The detailed result of the TerminateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.

    " + "documentation":"

    Information about the result of this request.

    " + } + } + }, + "TotalResultsCount":{"type":"integer"}, + "UpdateConstraintInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The identifier of the constraint.

    " + }, + "Description":{ + "shape":"ConstraintDescription", + "documentation":"

    The updated description of the constraint.

    " + }, + "Parameters":{ + "shape":"ConstraintParameters", + "documentation":"

    The constraint parameters, in JSON format. The syntax depends on the constraint type as follows:

    LAUNCH

    You are required to specify either the RoleArn or the LocalRoleName but can't use both.

    Specify the RoleArn property as follows:

    {\"RoleArn\" : \"arn:aws:iam::123456789012:role/LaunchRole\"}

    Specify the LocalRoleName property as follows:

    {\"LocalRoleName\": \"SCBasicLaunchRole\"}

    If you specify the LocalRoleName property, when an account uses the launch constraint, the IAM role with that name in the account will be used. This allows launch-role constraints to be account-agnostic so the administrator can create fewer resources per shared account.

    The given role name must exist in the account used to create the launch constraint and the account of the user who launches a product with this launch constraint.

    You cannot have both a LAUNCH and a STACKSET constraint.

    You also cannot have more than one LAUNCH constraint on a product and portfolio.

    NOTIFICATION

    Specify the NotificationArns property as follows:

    {\"NotificationArns\" : [\"arn:aws:sns:us-east-1:123456789012:Topic\"]}

    RESOURCE_UPDATE

    Specify the TagUpdatesOnProvisionedProduct property as follows:

    {\"Version\":\"2.0\",\"Properties\":{\"TagUpdateOnProvisionedProduct\":\"String\"}}

    The TagUpdatesOnProvisionedProduct property accepts a string value of ALLOWED or NOT_ALLOWED.

    STACKSET

    Specify the Parameters property as follows:

    {\"Version\": \"String\", \"Properties\": {\"AccountList\": [ \"String\" ], \"RegionList\": [ \"String\" ], \"AdminRole\": \"String\", \"ExecutionRole\": \"String\"}}

    You cannot have both a LAUNCH and a STACKSET constraint.

    You also cannot have more than one STACKSET constraint on a product and portfolio.

    Products with a STACKSET constraint will launch an AWS CloudFormation stack set.

    TEMPLATE

    Specify the Rules property. For more information, see Template Constraint Rules.

    " + } + } + }, + "UpdateConstraintOutput":{ + "type":"structure", + "members":{ + "ConstraintDetail":{ + "shape":"ConstraintDetail", + "documentation":"

    Information about the constraint.

    " + }, + "ConstraintParameters":{ + "shape":"ConstraintParameters", + "documentation":"

    The constraint parameters.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " + } + } + }, + "UpdatePortfolioInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The portfolio identifier.

    " + }, + "DisplayName":{ + "shape":"PortfolioDisplayName", + "documentation":"

    The name to use for display purposes.

    " + }, + "Description":{ + "shape":"PortfolioDescription", + "documentation":"

    The updated description of the portfolio.

    " + }, + "ProviderName":{ + "shape":"ProviderName", + "documentation":"

    The updated name of the portfolio provider.

    " + }, + "AddTags":{ + "shape":"AddTags", + "documentation":"

    The tags to add.

    " + }, + "RemoveTags":{ + "shape":"TagKeys", + "documentation":"

    The tags to remove.

    " + } + } + }, + "UpdatePortfolioOutput":{ + "type":"structure", + "members":{ + "PortfolioDetail":{ + "shape":"PortfolioDetail", + "documentation":"

    Information about the portfolio.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the portfolio.

    " + } + } + }, + "UpdateProductInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "Id":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "Name":{ + "shape":"ProductViewName", + "documentation":"

    The updated product name.

    " + }, + "Owner":{ + "shape":"ProductViewOwner", + "documentation":"

    The updated owner of the product.

    " + }, + "Description":{ + "shape":"ProductViewShortDescription", + "documentation":"

    The updated description of the product.

    " + }, + "Distributor":{ + "shape":"ProductViewOwner", + "documentation":"

    The updated distributor of the product.

    " + }, + "SupportDescription":{ + "shape":"SupportDescription", + "documentation":"

    The updated support description for the product.

    " + }, + "SupportEmail":{ + "shape":"SupportEmail", + "documentation":"

    The updated support email for the product.

    " + }, + "SupportUrl":{ + "shape":"SupportUrl", + "documentation":"

    The updated support URL for the product.

    " + }, + "AddTags":{ + "shape":"AddTags", + "documentation":"

    The tags to add to the product.

    " + }, + "RemoveTags":{ + "shape":"TagKeys", + "documentation":"

    The tags to remove from the product.

    " + } + } + }, + "UpdateProductOutput":{ + "type":"structure", + "members":{ + "ProductViewDetail":{ + "shape":"ProductViewDetail", + "documentation":"

    Information about the product view.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Information about the tags associated with the product.

    " } } }, @@ -1149,31 +5844,39 @@ "members":{ "AcceptLanguage":{ "shape":"AcceptLanguage", - "documentation":"

    The language code to use for this operation. Supported language codes are as follows:

    \"en\" (English)

    \"jp\" (Japanese)

    \"zh\" (Chinese)

    If no code is specified, \"en\" is used as the default.

    " + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " }, "ProvisionedProductName":{ "shape":"ProvisionedProductNameOrArn", - "documentation":"

    The updated name of the ProvisionedProduct object . You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

    " + "documentation":"

    The name of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

    " }, "ProvisionedProductId":{ "shape":"Id", - "documentation":"

    The identifier of the ProvisionedProduct object to update. You must specify either ProvisionedProductName or ProvisionedProductId, but not both.

    " + "documentation":"

    The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

    " }, "ProductId":{ "shape":"Id", - "documentation":"

    The identifier of the ProvisionedProduct object.

    " + "documentation":"

    The identifier of the product.

    " }, "ProvisioningArtifactId":{ "shape":"Id", - "documentation":"

    The provisioning artifact identifier for this product.

    " + "documentation":"

    The identifier of the provisioning artifact.

    " }, "PathId":{ "shape":"Id", - "documentation":"

    The identifier of the path to use in the updated ProvisionedProduct object. This value is optional if the product has a default path, and is required if there is more than one path for the specified product.

    " + "documentation":"

    The new path identifier. This value is optional if the product has a default path, and required if the product has more than one path.

    " }, "ProvisioningParameters":{ "shape":"UpdateProvisioningParameters", - "documentation":"

    A list of ProvisioningParameter objects used to update the ProvisionedProduct object.

    " + "documentation":"

    The new parameters.

    " + }, + "ProvisioningPreferences":{ + "shape":"UpdateProvisioningPreferences", + "documentation":"

    An object that contains information about the provisioning preferences for a stack set.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    One or more tags. Requires the product to have RESOURCE_UPDATE constraint with TagUpdatesOnProvisionedProduct set to ALLOWED to allow tag updates.

    " }, "UpdateToken":{ "shape":"IdempotencyToken", @@ -1187,7 +5890,109 @@ "members":{ "RecordDetail":{ "shape":"RecordDetail", - "documentation":"

    The detailed result of the UpdateProvisionedProduct request, containing the inputs made to that request, the current state of the request, a pointer to the ProvisionedProduct object that the request is modifying, and a list of any errors that the request encountered.

    " + "documentation":"

    Information about the result of the request.

    " + } + } + }, + "UpdateProvisionedProductPropertiesInput":{ + "type":"structure", + "required":[ + "ProvisionedProductId", + "ProvisionedProductProperties", + "IdempotencyToken" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioned product.

    " + }, + "ProvisionedProductProperties":{ + "shape":"ProvisionedProductProperties", + "documentation":"

    A map that contains the provisioned product properties to be updated.

    The OWNER key only accepts user ARNs. The owner is the user that is allowed to see, update, terminate, and execute service actions in the provisioned product.

    The administrator can change the owner of a provisioned product to another IAM user within the same account. Both end user owners and administrators can see ownership history of the provisioned product using the ListRecordHistory API. The new owner can describe all past records for the provisioned product using the DescribeRecord API. The previous owner can no longer use DescribeRecord, but can still see the product's history from when he was an owner using ListRecordHistory.

    If a provisioned product ownership is assigned to an end user, they can see and perform any action through the API or Service Catalog console such as update, terminate, and execute service actions. If an end user provisions a product and the owner is updated to someone else, they will no longer be able to see or perform any actions through API or the Service Catalog console on that provisioned product.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    The idempotency token that uniquely identifies the provisioning product update request.

    ", + "idempotencyToken":true + } + } + }, + "UpdateProvisionedProductPropertiesOutput":{ + "type":"structure", + "members":{ + "ProvisionedProductId":{ + "shape":"Id", + "documentation":"

    The provisioned product identifier.

    " + }, + "ProvisionedProductProperties":{ + "shape":"ProvisionedProductProperties", + "documentation":"

    A map that contains the properties updated.

    " + }, + "RecordId":{ + "shape":"Id", + "documentation":"

    The identifier of the record.

    " + }, + "Status":{ + "shape":"RecordStatus", + "documentation":"

    The status of the request.

    " + } + } + }, + "UpdateProvisioningArtifactInput":{ + "type":"structure", + "required":[ + "ProductId", + "ProvisioningArtifactId" + ], + "members":{ + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + }, + "ProductId":{ + "shape":"Id", + "documentation":"

    The product identifier.

    " + }, + "ProvisioningArtifactId":{ + "shape":"Id", + "documentation":"

    The identifier of the provisioning artifact.

    " + }, + "Name":{ + "shape":"ProvisioningArtifactName", + "documentation":"

    The updated name of the provisioning artifact.

    " + }, + "Description":{ + "shape":"ProvisioningArtifactDescription", + "documentation":"

    The updated description of the provisioning artifact.

    " + }, + "Active":{ + "shape":"ProvisioningArtifactActive", + "documentation":"

    Indicates whether the product version is active.

    Inactive provisioning artifacts are invisible to end users. End users cannot launch or update a provisioned product from an inactive provisioning artifact.

    " + }, + "Guidance":{ + "shape":"ProvisioningArtifactGuidance", + "documentation":"

    Information set by the administrator to provide guidance to end users about which provisioning artifacts to use.

    The DEFAULT value indicates that the product version is active.

    The administrator can set the guidance to DEPRECATED to inform users that the product version is deprecated. Users are able to make updates to a provisioned product of a deprecated version but cannot launch new provisioned products using a deprecated version.

    " + } + } + }, + "UpdateProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "ProvisioningArtifactDetail":{ + "shape":"ProvisioningArtifactDetail", + "documentation":"

    Information about the provisioning artifact.

    " + }, + "Info":{ + "shape":"ProvisioningArtifactInfo", + "documentation":"

    The URL of the CloudFormation template in Amazon S3.

    " + }, + "Status":{ + "shape":"Status", + "documentation":"

    The status of the current request.

    " } } }, @@ -1196,23 +6001,119 @@ "members":{ "Key":{ "shape":"ParameterKey", - "documentation":"

    The ProvisioningArtifactParameter.ParameterKey parameter from DescribeProvisioningParameters.

    " + "documentation":"

    The parameter key.

    " }, "Value":{ "shape":"ParameterValue", - "documentation":"

    The value to use for updating the product provisioning. Any constraints on this value can be found in the ProvisioningArtifactParameter parameter for Key.

    " + "documentation":"

    The parameter value.

    " }, "UsePreviousValue":{ "shape":"UsePreviousValue", - "documentation":"

    If true, uses the currently set value for Key, ignoring UpdateProvisioningParameter.Value.

    " + "documentation":"

    If set to true, Value is ignored and the previous parameter value is kept.

    " } }, - "documentation":"

    The parameter key/value pair used to update a ProvisionedProduct object. If UsePreviousValue is set to true, Value is ignored and the value for Key is kept as previously set (current value).

    " + "documentation":"

    The parameter key-value pair used to update a provisioned product.

    " }, "UpdateProvisioningParameters":{ "type":"list", "member":{"shape":"UpdateProvisioningParameter"} }, + "UpdateProvisioningPreferences":{ + "type":"structure", + "members":{ + "StackSetAccounts":{ + "shape":"StackSetAccounts", + "documentation":"

    One or more AWS accounts that will have access to the provisioned product.

    Applicable only to a CFN_STACKSET provisioned product type.

    The AWS accounts specified should be within the list of accounts in the STACKSET constraint. To get the list of accounts in the STACKSET constraint, use the DescribeProvisioningParameters operation.

    If no values are specified, the default value is all accounts from the STACKSET constraint.

    " + }, + "StackSetRegions":{ + "shape":"StackSetRegions", + "documentation":"

    One or more AWS Regions where the provisioned product will be available.

    Applicable only to a CFN_STACKSET provisioned product type.

    The specified regions should be within the list of regions from the STACKSET constraint. To get the list of regions in the STACKSET constraint, use the DescribeProvisioningParameters operation.

    If no values are specified, the default value is all regions from the STACKSET constraint.

    " + }, + "StackSetFailureToleranceCount":{ + "shape":"StackSetFailureToleranceCount", + "documentation":"

    The number of accounts, per region, for which this operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

    The default value is 0 if no value is specified.

    " + }, + "StackSetFailureTolerancePercentage":{ + "shape":"StackSetFailureTolerancePercentage", + "documentation":"

    The percentage of accounts, per region, for which this stack operation can fail before AWS Service Catalog stops the operation in that region. If the operation is stopped in a region, AWS Service Catalog doesn't attempt the operation in any subsequent regions.

    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetFailureToleranceCount or StackSetFailureTolerancePercentage, but not both.

    " + }, + "StackSetMaxConcurrencyCount":{ + "shape":"StackSetMaxConcurrencyCount", + "documentation":"

    The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of StackSetFailureToleranceCount. StackSetMaxConcurrentCount is at most one more than the StackSetFailureToleranceCount.

    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

    " + }, + "StackSetMaxConcurrencyPercentage":{ + "shape":"StackSetMaxConcurrencyPercentage", + "documentation":"

    The maximum percentage of accounts in which to perform this operation at one time.

    When calculating the number of accounts based on the specified percentage, AWS Service Catalog rounds down to the next whole number. This is true except in cases where rounding down would result is zero. In this case, AWS Service Catalog sets the number as 1 instead.

    Note that this setting lets you specify the maximum for operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.

    Applicable only to a CFN_STACKSET provisioned product type.

    Conditional: You must specify either StackSetMaxConcurrentCount or StackSetMaxConcurrentPercentage, but not both.

    " + }, + "StackSetOperationType":{ + "shape":"StackSetOperationType", + "documentation":"

    Determines what action AWS Service Catalog performs to a stack set or a stack instance represented by the provisioned product. The default value is UPDATE if nothing is specified.

    Applicable only to a CFN_STACKSET provisioned product type.

    CREATE

    Creates a new stack instance in the stack set represented by the provisioned product. In this case, only new stack instances are created based on accounts and regions; if new ProductId or ProvisioningArtifactID are passed, they will be ignored.

    UPDATE

    Updates the stack set represented by the provisioned product and also its stack instances.

    DELETE

    Deletes a stack instance in the stack set represented by the provisioned product.

    " + } + }, + "documentation":"

    The user-defined preferences that will be applied when updating a provisioned product. Not all preferences are applicable to all provisioned product types.

    " + }, + "UpdateServiceActionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"Id", + "documentation":"

    The self-service action identifier.

    " + }, + "Name":{ + "shape":"ServiceActionName", + "documentation":"

    The self-service action name.

    " + }, + "Definition":{ + "shape":"ServiceActionDefinitionMap", + "documentation":"

    A map that defines the self-service action.

    " + }, + "Description":{ + "shape":"ServiceActionDescription", + "documentation":"

    The self-service action description.

    " + }, + "AcceptLanguage":{ + "shape":"AcceptLanguage", + "documentation":"

    The language code.

    • en - English (default)

    • jp - Japanese

    • zh - Chinese

    " + } + } + }, + "UpdateServiceActionOutput":{ + "type":"structure", + "members":{ + "ServiceActionDetail":{ + "shape":"ServiceActionDetail", + "documentation":"

    Detailed information about the self-service action.

    " + } + } + }, + "UpdateTagOptionInput":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"TagOptionId", + "documentation":"

    The TagOption identifier.

    " + }, + "Value":{ + "shape":"TagOptionValue", + "documentation":"

    The updated value.

    " + }, + "Active":{ + "shape":"TagOptionActive", + "documentation":"

    The updated active state.

    " + } + } + }, + "UpdateTagOptionOutput":{ + "type":"structure", + "members":{ + "TagOptionDetail":{ + "shape":"TagOptionDetail", + "documentation":"

    Information about the TagOption.

    " + } + } + }, "UpdatedTime":{"type":"timestamp"}, "UsageInstruction":{ "type":"structure", @@ -1232,7 +6133,10 @@ "type":"list", "member":{"shape":"UsageInstruction"} }, - "UsePreviousValue":{"type":"boolean"} + "UsePreviousValue":{"type":"boolean"}, + "UserArn":{"type":"string"}, + "UserArnSession":{"type":"string"}, + "Verbose":{"type":"boolean"} }, - "documentation":"AWS Service Catalog

    Overview

    AWS Service Catalog allows organizations to create and manage catalogs of IT services that are approved for use on AWS. This documentation provides reference material for the AWS Service Catalog end user API. To get the most out of this documentation, you need to be familiar with the terminology discussed in AWS Service Catalog Concepts.

    Additional Resources

    " + "documentation":"AWS Service Catalog

    AWS Service Catalog enables organizations to create and manage catalogs of IT services that are approved for use on AWS. To get the most out of this documentation, you should be familiar with the terminology discussed in AWS Service Catalog Concepts.

    " } diff -Nru python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/examples-1.json python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/examples-1.json --- python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/paginators-1.json python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/paginators-1.json --- python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "ListServices": { + "result_key": "Services", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListInstances": { + "result_key": "Instances", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListNamespaces": { + "result_key": "Namespaces", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListOperations": { + "result_key": "Operations", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/service-2.json python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/service-2.json --- python-botocore-1.4.70/botocore/data/servicediscovery/2017-03-14/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/servicediscovery/2017-03-14/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1683 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-03-14", + "endpointPrefix":"servicediscovery", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"ServiceDiscovery", + "serviceFullName":"AWS Cloud Map", + "serviceId":"ServiceDiscovery", + "signatureVersion":"v4", + "targetPrefix":"Route53AutoNaming_v20170314", + "uid":"servicediscovery-2017-03-14" + }, + "operations":{ + "CreateHttpNamespace":{ + "name":"CreateHttpNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateHttpNamespaceRequest"}, + "output":{"shape":"CreateHttpNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceAlreadyExists"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"DuplicateRequest"} + ], + "documentation":"

    Creates an HTTP namespace. Service instances that you register using an HTTP namespace can be discovered using a DiscoverInstances request but can't be discovered using DNS.

    For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.

    " + }, + "CreatePrivateDnsNamespace":{ + "name":"CreatePrivateDnsNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePrivateDnsNamespaceRequest"}, + "output":{"shape":"CreatePrivateDnsNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceAlreadyExists"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"DuplicateRequest"} + ], + "documentation":"

    Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.

    " + }, + "CreatePublicDnsNamespace":{ + "name":"CreatePublicDnsNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePublicDnsNamespaceRequest"}, + "output":{"shape":"CreatePublicDnsNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceAlreadyExists"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"DuplicateRequest"} + ], + "documentation":"

    Creates a public namespace based on DNS, which will be visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com and name your service backend, the resulting DNS name for the service will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.

    " + }, + "CreateService":{ + "name":"CreateService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServiceRequest"}, + "output":{"shape":"CreateServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"NamespaceNotFound"}, + {"shape":"ServiceAlreadyExists"} + ], + "documentation":"

    Creates a service, which defines the configuration for the following entities:

    • For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:

      • A

      • AAAA

      • A and AAAA

      • SRV

      • CNAME

    • Optionally, a health check

    After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the values in the configuration to create the specified entities.

    For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.

    " + }, + "DeleteNamespace":{ + "name":"DeleteNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteNamespaceRequest"}, + "output":{"shape":"DeleteNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceNotFound"}, + {"shape":"ResourceInUse"}, + {"shape":"DuplicateRequest"} + ], + "documentation":"

    Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

    " + }, + "DeleteService":{ + "name":"DeleteService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceRequest"}, + "output":{"shape":"DeleteServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"}, + {"shape":"ResourceInUse"} + ], + "documentation":"

    Deletes a specified service. If the service still contains one or more registered instances, the request fails.

    " + }, + "DeregisterInstance":{ + "name":"DeregisterInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterInstanceRequest"}, + "output":{"shape":"DeregisterInstanceResponse"}, + "errors":[ + {"shape":"DuplicateRequest"}, + {"shape":"InvalidInput"}, + {"shape":"InstanceNotFound"}, + {"shape":"ResourceInUse"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified instance.

    " + }, + "DiscoverInstances":{ + "name":"DiscoverInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DiscoverInstancesRequest"}, + "output":{"shape":"DiscoverInstancesResponse"}, + "errors":[ + {"shape":"ServiceNotFound"}, + {"shape":"NamespaceNotFound"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.

    ", + "endpoint":{"hostPrefix":"data-"} + }, + "GetInstance":{ + "name":"GetInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstanceRequest"}, + "output":{"shape":"GetInstanceResponse"}, + "errors":[ + {"shape":"InstanceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Gets information about a specified instance.

    " + }, + "GetInstancesHealthStatus":{ + "name":"GetInstancesHealthStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInstancesHealthStatusRequest"}, + "output":{"shape":"GetInstancesHealthStatusResponse"}, + "errors":[ + {"shape":"InstanceNotFound"}, + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service.

    There is a brief delay between when you register an instance and when the health status for the instance is available.

    " + }, + "GetNamespace":{ + "name":"GetNamespace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetNamespaceRequest"}, + "output":{"shape":"GetNamespaceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"NamespaceNotFound"} + ], + "documentation":"

    Gets information about a namespace.

    " + }, + "GetOperation":{ + "name":"GetOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOperationRequest"}, + "output":{"shape":"GetOperationResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"OperationNotFound"} + ], + "documentation":"

    Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

    To get a list of operations that match specified criteria, see ListOperations.

    " + }, + "GetService":{ + "name":"GetService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceRequest"}, + "output":{"shape":"GetServiceResponse"}, + "errors":[ + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Gets the settings for a specified service.

    " + }, + "ListInstances":{ + "name":"ListInstances", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInstancesRequest"}, + "output":{"shape":"ListInstancesResponse"}, + "errors":[ + {"shape":"ServiceNotFound"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Lists summary information about the instances that you registered by using a specified service.

    " + }, + "ListNamespaces":{ + "name":"ListNamespaces", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListNamespacesRequest"}, + "output":{"shape":"ListNamespacesResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ], + "documentation":"

    Lists summary information about the namespaces that were created by the current AWS account.

    " + }, + "ListOperations":{ + "name":"ListOperations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOperationsRequest"}, + "output":{"shape":"ListOperationsResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ], + "documentation":"

    Lists operations that match the criteria that you specify.

    " + }, + "ListServices":{ + "name":"ListServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServicesRequest"}, + "output":{"shape":"ListServicesResponse"}, + "errors":[ + {"shape":"InvalidInput"} + ], + "documentation":"

    Lists summary information for all the services that are associated with one or more specified namespaces.

    " + }, + "RegisterInstance":{ + "name":"RegisterInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterInstanceRequest"}, + "output":{"shape":"RegisterInstanceResponse"}, + "errors":[ + {"shape":"DuplicateRequest"}, + {"shape":"InvalidInput"}, + {"shape":"ResourceInUse"}, + {"shape":"ResourceLimitExceeded"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance request, the following occurs:

    • For each DNS record that you define in the service that is specified by ServiceId, a record is created or updated in the hosted zone that is associated with the corresponding namespace.

    • If the service includes HealthCheckConfig, a health check is created based on the settings in the health check configuration.

    • The health check, if any, is associated with each of the new or updated records.

    One RegisterInstance request must complete before you can submit another request and specify the same service ID and instance ID.

    For more information, see CreateService.

    When AWS Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:

    • If the health check is healthy: returns all the records

    • If the health check is unhealthy: returns the applicable value for the last healthy instance

    • If you didn't specify a health check configuration: returns all the records

    For the current limit on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.

    " + }, + "UpdateInstanceCustomHealthStatus":{ + "name":"UpdateInstanceCustomHealthStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInstanceCustomHealthStatusRequest"}, + "errors":[ + {"shape":"InstanceNotFound"}, + {"shape":"ServiceNotFound"}, + {"shape":"CustomHealthNotFound"}, + {"shape":"InvalidInput"} + ], + "documentation":"

    Submits a request to change the health status of a custom health check to healthy or unhealthy.

    You can use UpdateInstanceCustomHealthStatus to change the status only for custom health checks, which you define using HealthCheckCustomConfig when you create a service. You can't use it to change the status for Route 53 health checks, which you define using HealthCheckConfig.

    For more information, see HealthCheckCustomConfig.

    " + }, + "UpdateService":{ + "name":"UpdateService", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceRequest"}, + "output":{"shape":"UpdateServiceResponse"}, + "errors":[ + {"shape":"DuplicateRequest"}, + {"shape":"InvalidInput"}, + {"shape":"ServiceNotFound"} + ], + "documentation":"

    Submits a request to perform the following operations:

    • Update the TTL setting for existing DnsRecords configurations

    • Add, update, or delete HealthCheckConfig for a specified service

      You can't add, update, or delete a HealthCheckCustomConfig configuration.

    For public and private DNS namespaces, note the following:

    • If you omit any existing DnsRecords or HealthCheckConfig configurations from an UpdateService request, the configurations are deleted from the service.

    • If you omit an existing HealthCheckCustomConfig configuration from an UpdateService request, the configuration is not deleted from the service.

    When you update settings for a service, AWS Cloud Map also updates the corresponding settings in all the records and health checks that were created by using the specified service.

    " + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "max":255 + }, + "AttrKey":{ + "type":"string", + "max":255 + }, + "AttrValue":{ + "type":"string", + "max":1024 + }, + "Attributes":{ + "type":"map", + "key":{"shape":"AttrKey"}, + "value":{"shape":"AttrValue"} + }, + "Code":{"type":"string"}, + "CreateHttpNamespaceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NamespaceName", + "documentation":"

    The name that you want to assign to this namespace.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed CreateHttpNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the namespace.

    " + } + } + }, + "CreateHttpNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + }, + "CreatePrivateDnsNamespaceRequest":{ + "type":"structure", + "required":[ + "Name", + "Vpc" + ], + "members":{ + "Name":{ + "shape":"NamespaceName", + "documentation":"

    The name that you want to assign to this namespace. When you create a private DNS namespace, AWS Cloud Map automatically creates an Amazon Route 53 private hosted zone that has the same name as the namespace.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the namespace.

    " + }, + "Vpc":{ + "shape":"ResourceId", + "documentation":"

    The ID of the Amazon VPC that you want to associate the namespace with.

    " + } + } + }, + "CreatePrivateDnsNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + }, + "CreatePublicDnsNamespaceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"NamespaceName", + "documentation":"

    The name that you want to assign to this namespace.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed CreatePublicDnsNamespace requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the namespace.

    " + } + } + }, + "CreatePublicDnsNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + }, + "CreateServiceRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"ServiceName", + "documentation":"

    The name that you want to assign to the service.

    If you want AWS Cloud Map to create an SRV record when you register an instance, and if you're using a system that requires a specific SRV format, such as HAProxy, specify the following for Name:

    • Start the name with an underscore (_), such as _exampleservice

    • End the name with ._protocol, such as ._tcp

    When you register an instance, AWS Cloud Map creates an SRV record and assigns a name to the record by concatenating the service name and the namespace name, for example:

    _exampleservice._tcp.example.com

    " + }, + "NamespaceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace that you want to use to create the service.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed CreateService requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    ", + "idempotencyToken":true + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the service.

    " + }, + "DnsConfig":{ + "shape":"DnsConfig", + "documentation":"

    A complex type that contains information about the Amazon Route 53 records that you want AWS Cloud Map to create when you register an instance.

    " + }, + "HealthCheckConfig":{ + "shape":"HealthCheckConfig", + "documentation":"

    Public DNS and HTTP namespaces only. A complex type that contains settings for an optional Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the Route 53 DNS records that you specify in DnsConfig.

    If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

    For information about the charges for health checks, see AWS Cloud Map Pricing.

    " + }, + "HealthCheckCustomConfig":{ + "shape":"HealthCheckCustomConfig", + "documentation":"

    A complex type that contains information about an optional custom health check.

    If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

    You can't add, update, or delete a HealthCheckCustomConfig configuration from an existing service.

    " + } + } + }, + "CreateServiceResponse":{ + "type":"structure", + "members":{ + "Service":{ + "shape":"Service", + "documentation":"

    A complex type that contains information about the new service.

    " + } + } + }, + "CustomHealthNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The health check for the instance that is specified by ServiceId and InstanceId is not a custom health check.

    ", + "exception":true + }, + "CustomHealthStatus":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY" + ] + }, + "DeleteNamespaceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace that you want to delete.

    " + } + } + }, + "DeleteNamespaceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + }, + "DeleteServiceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that you want to delete.

    " + } + } + }, + "DeleteServiceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterInstanceRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "InstanceId" + ], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that the instance is associated with.

    " + }, + "InstanceId":{ + "shape":"ResourceId", + "documentation":"

    The value that you specified for Id in the RegisterInstance request.

    " + } + } + }, + "DeregisterInstanceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. For more information, see GetOperation.

    " + } + } + }, + "DiscoverInstancesRequest":{ + "type":"structure", + "required":[ + "NamespaceName", + "ServiceName" + ], + "members":{ + "NamespaceName":{ + "shape":"NamespaceName", + "documentation":"

    The name of the namespace that you specified when you registered the instance.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the service that you specified when you registered the instance.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of instances that you want AWS Cloud Map to return in the response to a DiscoverInstances request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 instances.

    " + }, + "QueryParameters":{ + "shape":"Attributes", + "documentation":"

    A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all the specified key/value pairs will be returned.

    " + }, + "HealthStatus":{ + "shape":"HealthStatusFilter", + "documentation":"

    The health status of the instances that you want to discover.

    " + } + } + }, + "DiscoverInstancesResponse":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"HttpInstanceSummaryList", + "documentation":"

    A complex type that contains one HttpInstanceSummary for each registered instance.

    " + } + } + }, + "DnsConfig":{ + "type":"structure", + "required":["DnsRecords"], + "members":{ + "NamespaceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace to use for DNS configuration.

    ", + "deprecated":true, + "deprecatedMessage":"Top level attribute in request should be used to reference namespace-id" + }, + "RoutingPolicy":{ + "shape":"RoutingPolicy", + "documentation":"

    The routing policy that you want to apply to all Route 53 DNS records that AWS Cloud Map creates when you register an instance and specify this service.

    If you want to use this service to register instances that create alias records, specify WEIGHTED for the routing policy.

    You can specify the following values:

    MULTIVALUE

    If you define a health check for the service and the health check is healthy, Route 53 returns the applicable value for up to eight instances.

    For example, suppose the service includes configurations for one A record and a health check, and you use the service to register 10 instances. Route 53 responds to DNS queries with IP addresses for up to eight healthy instances. If fewer than eight instances are healthy, Route 53 responds to every DNS query with the IP addresses for all of the healthy instances.

    If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the values for up to eight instances.

    For more information about the multivalue routing policy, see Multivalue Answer Routing in the Route 53 Developer Guide.

    WEIGHTED

    Route 53 returns the applicable value from one randomly selected instance from among the instances that you registered using the same service. Currently, all records have the same weight, so you can't route more or less traffic to any instances.

    For example, suppose the service includes configurations for one A record and a health check, and you use the service to register 10 instances. Route 53 responds to DNS queries with the IP address for one randomly selected instance from among the healthy instances. If no instances are healthy, Route 53 responds to DNS queries as if all of the instances were healthy.

    If you don't define a health check for the service, Route 53 assumes that all instances are healthy and returns the applicable value for one randomly selected instance.

    For more information about the weighted routing policy, see Weighted Routing in the Route 53 Developer Guide.

    " + }, + "DnsRecords":{ + "shape":"DnsRecordList", + "documentation":"

    An array that contains one DnsRecord object for each Route 53 DNS record that you want AWS Cloud Map to create when you register an instance.

    " + } + }, + "documentation":"

    A complex type that contains information about the Amazon Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.

    " + }, + "DnsConfigChange":{ + "type":"structure", + "required":["DnsRecords"], + "members":{ + "DnsRecords":{ + "shape":"DnsRecordList", + "documentation":"

    An array that contains one DnsRecord object for each Route 53 record that you want AWS Cloud Map to create when you register an instance.

    " + } + }, + "documentation":"

    A complex type that contains information about changes to the Route 53 DNS records that AWS Cloud Map creates when you register an instance.

    " + }, + "DnsProperties":{ + "type":"structure", + "members":{ + "HostedZoneId":{ + "shape":"ResourceId", + "documentation":"

    The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.

    " + } + }, + "documentation":"

    A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.

    " + }, + "DnsRecord":{ + "type":"structure", + "required":[ + "Type", + "TTL" + ], + "members":{ + "Type":{ + "shape":"RecordType", + "documentation":"

    The type of the resource, which indicates the type of value that Route 53 returns in response to DNS queries. You can specify values for Type in the following combinations:

    • A

    • AAAA

    • A and AAAA

    • SRV

    • CNAME

    If you want AWS Cloud Map to create a Route 53 alias record when you register an instance, specify A or AAAA for Type.

    You specify other settings, such as the IP address for A and AAAA records, when you register an instance. For more information, see RegisterInstance.

    The following values are supported:

    A

    Route 53 returns the IP address of the resource in IPv4 format, such as 192.0.2.44.

    AAAA

    Route 53 returns the IP address of the resource in IPv6 format, such as 2001:0db8:85a3:0000:0000:abcd:0001:2345.

    CNAME

    Route 53 returns the domain name of the resource, such as www.example.com. Note the following:

    • You specify the domain name that you want to route traffic to when you register an instance. For more information, see Attributes in the topic RegisterInstance.

    • You must specify WEIGHTED for the value of RoutingPolicy.

    • You can't specify both CNAME for Type and settings for HealthCheckConfig. If you do, the request will fail with an InvalidInput error.

    SRV

    Route 53 returns the value for an SRV record. The value for an SRV record uses the following values:

    priority weight port service-hostname

    Note the following about the values:

    • The values of priority and weight are both set to 1 and can't be changed.

    • The value of port comes from the value that you specify for the AWS_INSTANCE_PORT attribute when you submit a RegisterInstance request.

    • The value of service-hostname is a concatenation of the following values:

      • The value that you specify for InstanceId when you register an instance.

      • The name of the service.

      • The name of the namespace.

      For example, if the value of InstanceId is test, the name of the service is backend, and the name of the namespace is example.com, the value of service-hostname is:

      test.backend.example.com

    If you specify settings for an SRV record, note the following:

    • If you specify values for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both in the RegisterInstance request, AWS Cloud Map automatically creates A and/or AAAA records that have the same name as the value of service-hostname in the SRV record. You can ignore these records.

    • If you're using a system that requires a specific SRV format, such as HAProxy, see the Name element in the documentation about CreateService for information about how to specify the correct name format.

    " + }, + "TTL":{ + "shape":"RecordTTL", + "documentation":"

    The amount of time, in seconds, that you want DNS resolvers to cache the settings for this record.

    Alias records don't include a TTL because Route 53 uses the TTL for the AWS resource that an alias record routes traffic to. If you include the AWS_ALIAS_DNS_NAME attribute when you submit a RegisterInstance request, the TTL value is ignored. Always specify a TTL for the service; you can use a service to register instances that create either alias or non-alias records.

    " + } + }, + "documentation":"

    A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.

    " + }, + "DnsRecordList":{ + "type":"list", + "member":{"shape":"DnsRecord"} + }, + "DuplicateRequest":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "DuplicateOperationId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the operation that is already in progress.

    " + } + }, + "documentation":"

    The operation is already in progress.

    ", + "exception":true + }, + "ErrorMessage":{"type":"string"}, + "FailureThreshold":{ + "type":"integer", + "max":10, + "min":1 + }, + "FilterCondition":{ + "type":"string", + "enum":[ + "EQ", + "IN", + "BETWEEN" + ] + }, + "FilterValue":{ + "type":"string", + "max":255, + "min":1 + }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterValue"} + }, + "GetInstanceRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "InstanceId" + ], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that the instance is associated with.

    " + }, + "InstanceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the instance that you want to get information about.

    " + } + } + }, + "GetInstanceResponse":{ + "type":"structure", + "members":{ + "Instance":{ + "shape":"Instance", + "documentation":"

    A complex type that contains information about a specified instance.

    " + } + } + }, + "GetInstancesHealthStatusRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that the instance is associated with.

    " + }, + "Instances":{ + "shape":"InstanceIdList", + "documentation":"

    An array that contains the IDs of all the instances that you want to get the health status for.

    If you omit Instances, AWS Cloud Map returns the health status for all the instances that are associated with the specified service.

    To get the IDs for the instances that you've registered by using a specified service, submit a ListInstances request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of instances that you want AWS Cloud Map to return in the response to a GetInstancesHealthStatus request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 instances.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first GetInstancesHealthStatus request, omit this value.

    If more than MaxResults instances match the specified criteria, you can submit another GetInstancesHealthStatus request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    " + } + } + }, + "GetInstancesHealthStatusResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"InstanceHealthStatusMap", + "documentation":"

    A complex type that contains the IDs and the health status of the instances that you specified in the GetInstancesHealthStatus request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults instances match the specified criteria, you can submit another GetInstancesHealthStatus request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    " + } + } + }, + "GetNamespaceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace that you want to get information about.

    " + } + } + }, + "GetNamespaceResponse":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"Namespace", + "documentation":"

    A complex type that contains information about the specified namespace.

    " + } + } + }, + "GetOperationRequest":{ + "type":"structure", + "required":["OperationId"], + "members":{ + "OperationId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the operation that you want to get more information about.

    " + } + } + }, + "GetOperationResponse":{ + "type":"structure", + "members":{ + "Operation":{ + "shape":"Operation", + "documentation":"

    A complex type that contains information about the operation.

    " + } + } + }, + "GetServiceRequest":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that you want to get settings for.

    " + } + } + }, + "GetServiceResponse":{ + "type":"structure", + "members":{ + "Service":{ + "shape":"Service", + "documentation":"

    A complex type that contains information about the service.

    " + } + } + }, + "HealthCheckConfig":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"HealthCheckType", + "documentation":"

    The type of health check that you want to create, which indicates how Route 53 determines whether an endpoint is healthy.

    You can't change the value of Type after you create a health check.

    You can create the following types of health checks:

    • HTTP: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTP request and waits for an HTTP status code of 200 or greater and less than 400.

    • HTTPS: Route 53 tries to establish a TCP connection. If successful, Route 53 submits an HTTPS request and waits for an HTTP status code of 200 or greater and less than 400.

      If you specify HTTPS for the value of Type, the endpoint must support TLS v1.0 or later.

    • TCP: Route 53 tries to establish a TCP connection.

      If you specify TCP for Type, don't specify a value for ResourcePath.

    For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer Guide.

    " + }, + "ResourcePath":{ + "shape":"ResourcePath", + "documentation":"

    The path that you want Route 53 to request when performing health checks. The path can be any value for which your endpoint will return an HTTP status code of 2xx or 3xx when the endpoint is healthy, such as the file /docs/route53-health-check.html. Route 53 automatically adds the DNS name for the service. If you don't specify a value for ResourcePath, the default value is /.

    If you specify TCP for Type, you must not specify a value for ResourcePath.

    " + }, + "FailureThreshold":{ + "shape":"FailureThreshold", + "documentation":"

    The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or vice versa. For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer Guide.

    " + } + }, + "documentation":"

    Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in DnsConfig.

    If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

    Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.

    Note the following about configuring health checks.

    A and AAAA records

    If DnsConfig includes configurations for both A and AAAA records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address is unhealthy, Route 53 considers both the A and AAAA records to be unhealthy.

    CNAME records

    You can't specify settings for HealthCheckConfig when the DNSConfig includes CNAME for the value of Type. If you do, the CreateService request will fail with an InvalidInput error.

    Request interval

    A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with no health checks at all.

    Health checking regions

    Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see Regions.

    Alias records

    When you register an instance, if you include the AWS_ALIAS_DNS_NAME attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:

    • Route 53 automatically sets EvaluateTargetHealth to true for alias records. When EvaluateTargetHealth is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see EvaluateTargetHealth.

    • If you include HealthCheckConfig and then use the service to register an instance that creates an alias record, Route 53 doesn't create the health check.

    Charges for health checks

    Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.

    " + }, + "HealthCheckCustomConfig":{ + "type":"structure", + "members":{ + "FailureThreshold":{ + "shape":"FailureThreshold", + "documentation":"

    The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an UpdateInstanceCustomHealthStatus request before it changes the health status of a service instance. For example, suppose you specify a value of 2 for FailureTheshold, and then your application sends an UpdateInstanceCustomHealthStatus request. AWS Cloud Map waits for approximately 60 seconds (2 x 30) before changing the status of the service instance based on that request.

    Sending a second or subsequent UpdateInstanceCustomHealthStatus request with the same value before FailureThreshold x 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits FailureThreshold x 30 seconds after the first request to make the change.

    " + } + }, + "documentation":"

    A complex type that contains information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:

    • You can't use a health check that is defined by HealthCheckConfig because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)

    • You want to use a third-party health checker regardless of where your resources are.

    If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

    To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus request. AWS Cloud Map doesn't monitor the status of the resource, it just keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus request.

    Here's how custom health checks work:

    1. You create a service and specify a value for FailureThreshold.

      The failure threshold indicates the number of 30-second intervals you want AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus request and the time that AWS Cloud Map stops routing internet traffic to the corresponding resource.

    2. You register an instance.

    3. You configure a third-party health checker to monitor the resource that is associated with the new instance.

      AWS Cloud Map doesn't check the health of the resource directly.

    4. The third-party health-checker determines that the resource is unhealthy and notifies your application.

    5. Your application submits an UpdateInstanceCustomHealthStatus request.

    6. AWS Cloud Map waits for (FailureThreshold x 30) seconds.

    7. If another UpdateInstanceCustomHealthStatus request doesn't arrive during that time to change the status back to healthy, AWS Cloud Map stops routing traffic to the resource.

    " + }, + "HealthCheckType":{ + "type":"string", + "enum":[ + "HTTP", + "HTTPS", + "TCP" + ] + }, + "HealthStatus":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ] + }, + "HealthStatusFilter":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY", + "ALL" + ] + }, + "HttpInstanceSummary":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of an instance that matches the values that you specified in the request.

    " + }, + "NamespaceName":{ + "shape":"NamespaceName", + "documentation":"

    The name of the namespace that you specified when you registered the instance.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the service that you specified when you registered the instance.

    " + }, + "HealthStatus":{ + "shape":"HealthStatus", + "documentation":"

    If you configured health checking in the service, the current health status of the service instance.

    " + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

    If you included any attributes when you registered the instance, the values of those attributes.

    " + } + }, + "documentation":"

    In a response to a DiscoverInstances request, HttpInstanceSummary contains information about one instance that matches the values that you specified in the request.

    " + }, + "HttpInstanceSummaryList":{ + "type":"list", + "member":{"shape":"HttpInstanceSummary"} + }, + "HttpProperties":{ + "type":"structure", + "members":{ + "HttpName":{ + "shape":"NamespaceName", + "documentation":"

    The name of an HTTP namespace.

    " + } + }, + "documentation":"

    A complex type that contains the name of an HTTP namespace.

    " + }, + "Instance":{ + "type":"structure", + "required":["Id"], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    An identifier that you want to associate with the instance. Note the following:

    • If the service that is specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord > Type.

    • You can use this value to update an existing instance.

    • To register a new instance, you must specify a value that is unique among instances that you register by using the same service.

    • If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates the existing DNS records. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.

      The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you're registering additional instances for the same namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

    " + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

    A string map that contains the following information for the service that you specify in ServiceId:

    • The attributes that apply to the records that are defined in the service.

    • For each attribute, the applicable value.

    Supported attribute keys include the following:

    AWS_ALIAS_DNS_NAME

    If you want AWS Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget.

    Note the following:

    • The configuration for the service that is specified by ServiceId must include settings for an A record, an AAAA record, or both.

    • In the service that is specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

    • If the service that is specified by ServiceId includes HealthCheckConfig settings, AWS Cloud Map will create the health check, but it won't associate the health check with the alias record.

    • Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.

    • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

    AWS_INSTANCE_CNAME

    If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com.

    This value is required if the service specified by ServiceId includes settings for an CNAME record.

    AWS_INSTANCE_IPV4

    If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44.

    This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

    AWS_INSTANCE_IPV6

    If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

    This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

    AWS_INSTANCE_PORT

    If the service includes an SRV record, the value that you want Route 53 to return for the port.

    If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

    This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

    " + } + }, + "documentation":"

    A complex type that contains information about an instance that AWS Cloud Map creates when you submit a RegisterInstance request.

    " + }, + "InstanceHealthStatusMap":{ + "type":"map", + "key":{"shape":"ResourceId"}, + "value":{"shape":"HealthStatus"} + }, + "InstanceIdList":{ + "type":"list", + "member":{"shape":"ResourceId"}, + "min":1 + }, + "InstanceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    No instance exists with the specified ID, or the instance was recently registered, and information about the instance hasn't propagated yet.

    ", + "exception":true + }, + "InstanceSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID for an instance that you created by using a specified service.

    " + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

    A string map that contains the following information:

    • The attributes that are associate with the instance.

    • For each attribute, the applicable value.

    Supported attribute keys include the following:

    • AWS_ALIAS_DNS_NAME: For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that is associated with the load balancer.

    • AWS_INSTANCE_CNAME: For a CNAME record, the domain name that Route 53 returns in response to DNS queries, for example, example.com.

    • AWS_INSTANCE_IPV4: For an A record, the IPv4 address that Route 53 returns in response to DNS queries, for example, 192.0.2.44.

    • AWS_INSTANCE_IPV6: For an AAAA record, the IPv6 address that Route 53 returns in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

    • AWS_INSTANCE_PORT: For an SRV record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig, the port on the endpoint that Route 53 sends requests to.

    " + } + }, + "documentation":"

    A complex type that contains information about the instances that you registered by using a specified service.

    " + }, + "InstanceSummaryList":{ + "type":"list", + "member":{"shape":"InstanceSummary"} + }, + "InvalidInput":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    One or more specified values aren't valid. For example, a required value might be missing, a numeric value might be outside the allowed range, or a string value might exceed length constraints.

    ", + "exception":true + }, + "ListInstancesRequest":{ + "type":"structure", + "required":["ServiceId"], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that you want to list instances for.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListInstances request, omit this value.

    If more than MaxResults instances match the specified criteria, you can submit another ListInstances request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of instances that you want AWS Cloud Map to return in the response to a ListInstances request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 instances.

    " + } + } + }, + "ListInstancesResponse":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"InstanceSummaryList", + "documentation":"

    Summary information about the instances that are associated with the specified service.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If more than MaxResults instances match the specified criteria, you can submit another ListInstances request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    " + } + } + }, + "ListNamespacesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListNamespaces request, omit this value.

    If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults namespaces and then filters them based on the specified criteria. It's possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of namespaces that you want AWS Cloud Map to return in the response to a ListNamespaces request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 namespaces.

    " + }, + "Filters":{ + "shape":"NamespaceFilters", + "documentation":"

    A complex type that contains specifications for the namespaces that you want to list.

    If you specify more than one filter, a namespace must match all filters to be returned by ListNamespaces.

    " + } + } + }, + "ListNamespacesResponse":{ + "type":"structure", + "members":{ + "Namespaces":{ + "shape":"NamespaceSummariesList", + "documentation":"

    An array that contains one NamespaceSummary object for each namespace that matches the specified filter criteria.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults namespaces and then filters them based on the specified criteria. It's possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

    " + } + } + }, + "ListOperationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListOperations request, omit this value.

    If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults operations and then filters them based on the specified criteria. It's possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items that you want AWS Cloud Map to return in the response to a ListOperations request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 operations.

    " + }, + "Filters":{ + "shape":"OperationFilters", + "documentation":"

    A complex type that contains specifications for the operations that you want to list, for example, operations that you started between a specified start date and end date.

    If you specify more than one filter, an operation must match all filters to be returned by ListOperations.

    " + } + } + }, + "ListOperationsResponse":{ + "type":"structure", + "members":{ + "Operations":{ + "shape":"OperationSummaryList", + "documentation":"

    Summary information about the operations that match the specified criteria.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults operations and then filters them based on the specified criteria. It's possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

    " + } + } + }, + "ListServicesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    For the first ListServices request, omit this value.

    If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults services and then filters them based on the specified criteria. It's possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of services that you want AWS Cloud Map to return in the response to a ListServices request. If you don't specify a value for MaxResults, AWS Cloud Map returns up to 100 services.

    " + }, + "Filters":{ + "shape":"ServiceFilters", + "documentation":"

    A complex type that contains specifications for the namespaces that you want to list services for.

    If you specify more than one filter, an operation must match all filters to be returned by ListServices.

    " + } + } + }, + "ListServicesResponse":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"ServiceSummariesList", + "documentation":"

    An array that contains one ServiceSummary object for each service that matches the specified filter criteria.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

    AWS Cloud Map gets MaxResults services and then filters them based on the specified criteria. It's possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "Message":{"type":"string"}, + "Namespace":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of a namespace.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace when you create it.

    " + }, + "Name":{ + "shape":"NamespaceName", + "documentation":"

    The name of the namespace, such as example.com.

    " + }, + "Type":{ + "shape":"NamespaceType", + "documentation":"

    The type of the namespace. The methods for discovering instances depends on the value that you specify:

    • HTTP: Instances can be discovered only programmatically, using the AWS Cloud Map DiscoverInstances API.

    • DNS_PUBLIC: Instances can be discovered using public DNS queries and using the DiscoverInstances API.

    • DNS_PRIVATE: Instances can be discovered using DNS queries in VPCs and using the DiscoverInstances API.

    " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    The description that you specify for the namespace when you create it.

    " + }, + "ServiceCount":{ + "shape":"ResourceCount", + "documentation":"

    The number of services that are associated with the namespace.

    " + }, + "Properties":{ + "shape":"NamespaceProperties", + "documentation":"

    A complex type that contains information that's specific to the type of the namespace.

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date that the namespace was created, in Unix date/time format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed requests to be retried without the risk of executing an operation twice.

    " + } + }, + "documentation":"

    A complex type that contains information about a specified namespace.

    " + }, + "NamespaceAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    The CreatorRequestId that was used to create the namespace.

    " + }, + "NamespaceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the existing namespace.

    " + } + }, + "documentation":"

    The namespace that you're trying to create already exists.

    ", + "exception":true + }, + "NamespaceFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"NamespaceFilterName", + "documentation":"

    Specify TYPE.

    " + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

    If you specify EQ for Condition, specify either DNS_PUBLIC or DNS_PRIVATE.

    If you specify IN for Condition, you can specify DNS_PUBLIC, DNS_PRIVATE, or both.

    " + }, + "Condition":{ + "shape":"FilterCondition", + "documentation":"

    The operator that you want to use to determine whether ListNamespaces returns a namespace. Valid values for condition include:

    • EQ: When you specify EQ for the condition, you can choose to list only public namespaces or private namespaces, but not both. EQ is the default condition and can be omitted.

    • IN: When you specify IN for the condition, you can choose to list public namespaces, private namespaces, or both.

    • BETWEEN: Not applicable

    " + } + }, + "documentation":"

    A complex type that identifies the namespaces that you want to list. You can choose to list public or private namespaces.

    " + }, + "NamespaceFilterName":{ + "type":"string", + "enum":["TYPE"] + }, + "NamespaceFilters":{ + "type":"list", + "member":{"shape":"NamespaceFilter"} + }, + "NamespaceName":{ + "type":"string", + "max":1024 + }, + "NamespaceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    No namespace exists with the specified ID.

    ", + "exception":true + }, + "NamespaceProperties":{ + "type":"structure", + "members":{ + "DnsProperties":{ + "shape":"DnsProperties", + "documentation":"

    A complex type that contains the ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.

    " + }, + "HttpProperties":{ + "shape":"HttpProperties", + "documentation":"

    A complex type that contains the name of an HTTP namespace.

    " + } + }, + "documentation":"

    A complex type that contains information that is specific to the namespace type.

    " + }, + "NamespaceSummariesList":{ + "type":"list", + "member":{"shape":"NamespaceSummary"} + }, + "NamespaceSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the namespace when you create it.

    " + }, + "Name":{ + "shape":"NamespaceName", + "documentation":"

    The name of the namespace. When you create a namespace, AWS Cloud Map automatically creates a Route 53 hosted zone that has the same name as the namespace.

    " + }, + "Type":{ + "shape":"NamespaceType", + "documentation":"

    The type of the namespace, either public or private.

    " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the namespace.

    " + }, + "ServiceCount":{ + "shape":"ResourceCount", + "documentation":"

    The number of services that were created using the namespace.

    " + }, + "Properties":{"shape":"NamespaceProperties"}, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the namespace was created.

    " + } + }, + "documentation":"

    A complex type that contains information about a namespace.

    " + }, + "NamespaceType":{ + "type":"string", + "enum":[ + "DNS_PUBLIC", + "DNS_PRIVATE", + "HTTP" + ] + }, + "NextToken":{ + "type":"string", + "max":4096 + }, + "Operation":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OperationId", + "documentation":"

    The ID of the operation that you want to get information about.

    " + }, + "Type":{ + "shape":"OperationType", + "documentation":"

    The name of the operation that is associated with the specified ID.

    " + }, + "Status":{ + "shape":"OperationStatus", + "documentation":"

    The status of the operation. Values include the following:

    • SUBMITTED: This is the initial state immediately after you submit a request.

    • PENDING: AWS Cloud Map is performing the operation.

    • SUCCESS: The operation succeeded.

    • FAIL: The operation failed. For the failure reason, see ErrorMessage.

    " + }, + "ErrorMessage":{ + "shape":"Message", + "documentation":"

    If the value of Status is FAIL, the reason that the operation failed.

    " + }, + "ErrorCode":{ + "shape":"Code", + "documentation":"

    The code associated with ErrorMessage. Values for ErrorCode include the following:

    • ACCESS_DENIED

    • CANNOT_CREATE_HOSTED_ZONE

    • EXPIRED_TOKEN

    • HOSTED_ZONE_NOT_FOUND

    • INTERNAL_FAILURE

    • INVALID_CHANGE_BATCH

    • THROTTLED_REQUEST

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the request was submitted, in Unix date/time format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " + }, + "UpdateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the value of Status changed to the current value, in Unix date/time format and Coordinated Universal Time (UTC). The value of UpdateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " + }, + "Targets":{ + "shape":"OperationTargetsMap", + "documentation":"

    The name of the target entity that is associated with the operation:

    • NAMESPACE: The namespace ID is returned in the ResourceId property.

    • SERVICE: The service ID is returned in the ResourceId property.

    • INSTANCE: The instance ID is returned in the ResourceId property.

    " + } + }, + "documentation":"

    A complex type that contains information about a specified operation.

    " + }, + "OperationFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"OperationFilterName", + "documentation":"

    Specify the operations that you want to get:

    • NAMESPACE_ID: Gets operations related to specified namespaces.

    • SERVICE_ID: Gets operations related to specified services.

    • STATUS: Gets operations based on the status of the operations: SUBMITTED, PENDING, SUCCEED, or FAIL.

    • TYPE: Gets specified types of operation.

    • UPDATE_DATE: Gets operations that changed status during a specified date/time range.

    " + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

    Specify values that are applicable to the value that you specify for Name:

    • NAMESPACE_ID: Specify one namespace ID.

    • SERVICE_ID: Specify one service ID.

    • STATUS: Specify one or more statuses: SUBMITTED, PENDING, SUCCEED, or FAIL.

    • TYPE: Specify one or more of the following types: CREATE_NAMESPACE, DELETE_NAMESPACE, UPDATE_SERVICE, REGISTER_INSTANCE, or DEREGISTER_INSTANCE.

    • UPDATE_DATE: Specify a start date and an end date in Unix date/time format and Coordinated Universal Time (UTC). The start date must be the first value.

    " + }, + "Condition":{ + "shape":"FilterCondition", + "documentation":"

    The operator that you want to use to determine whether an operation matches the specified value. Valid values for condition include:

    • EQ: When you specify EQ for the condition, you can specify only one value. EQ is supported for NAMESPACE_ID, SERVICE_ID, STATUS, and TYPE. EQ is the default condition and can be omitted.

    • IN: When you specify IN for the condition, you can specify a list of one or more values. IN is supported for STATUS and TYPE. An operation must match one of the specified values to be returned in the response.

    • BETWEEN: Specify a start date and an end date in Unix date/time format and Coordinated Universal Time (UTC). The start date must be the first value. BETWEEN is supported for UPDATE_DATE.

    " + } + }, + "documentation":"

    A complex type that lets you select the operations that you want to list.

    " + }, + "OperationFilterName":{ + "type":"string", + "enum":[ + "NAMESPACE_ID", + "SERVICE_ID", + "STATUS", + "TYPE", + "UPDATE_DATE" + ] + }, + "OperationFilters":{ + "type":"list", + "member":{"shape":"OperationFilter"} + }, + "OperationId":{ + "type":"string", + "max":255 + }, + "OperationNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    No operation exists with the specified ID.

    ", + "exception":true + }, + "OperationStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "PENDING", + "SUCCESS", + "FAIL" + ] + }, + "OperationSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OperationId", + "documentation":"

    The ID for an operation.

    " + }, + "Status":{ + "shape":"OperationStatus", + "documentation":"

    The status of the operation. Values include the following:

    • SUBMITTED: This is the initial state immediately after you submit a request.

    • PENDING: AWS Cloud Map is performing the operation.

    • SUCCESS: The operation succeeded.

    • FAIL: The operation failed. For the failure reason, see ErrorMessage.

    " + } + }, + "documentation":"

    A complex type that contains information about an operation that matches the criteria that you specified in a ListOperations request.

    " + }, + "OperationSummaryList":{ + "type":"list", + "member":{"shape":"OperationSummary"} + }, + "OperationTargetType":{ + "type":"string", + "enum":[ + "NAMESPACE", + "SERVICE", + "INSTANCE" + ] + }, + "OperationTargetsMap":{ + "type":"map", + "key":{"shape":"OperationTargetType"}, + "value":{"shape":"ResourceId"} + }, + "OperationType":{ + "type":"string", + "enum":[ + "CREATE_NAMESPACE", + "DELETE_NAMESPACE", + "UPDATE_SERVICE", + "REGISTER_INSTANCE", + "DEREGISTER_INSTANCE" + ] + }, + "RecordTTL":{ + "type":"long", + "max":2147483647, + "min":0 + }, + "RecordType":{ + "type":"string", + "enum":[ + "SRV", + "A", + "AAAA", + "CNAME" + ] + }, + "RegisterInstanceRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "InstanceId", + "Attributes" + ], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that you want to use for settings for the instance.

    " + }, + "InstanceId":{ + "shape":"ResourceId", + "documentation":"

    An identifier that you want to associate with the instance. Note the following:

    • If the service that is specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord > Type.

    • You can use this value to update an existing instance.

    • To register a new instance, you must specify a value that is unique among instances that you register by using the same service.

    • If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates the existing DNS records, if any. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.

      The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you're registering additional instances for the same namespace and service. CreatorRequestId can be any unique string, for example, a date/time stamp.

    ", + "idempotencyToken":true + }, + "Attributes":{ + "shape":"Attributes", + "documentation":"

    A string map that contains the following information for the service that you specify in ServiceId:

    • The attributes that apply to the records that are defined in the service.

    • For each attribute, the applicable value.

    Supported attribute keys include the following:

    AWS_ALIAS_DNS_NAME

    If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.

    Note the following:

    • The configuration for the service that is specified by ServiceId must include settings for an A record, an AAAA record, or both.

    • In the service that is specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

    • If the service that is specified by ServiceId includes HealthCheckConfig settings, AWS Cloud Map will create the Route 53 health check, but it won't associate the health check with the alias record.

    • Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.

    • If you specify a value for AWS_ALIAS_DNS_NAME, don't specify values for any of the AWS_INSTANCE attributes.

    AWS_INIT_HEALTH_STATUS

    If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don't specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

    AWS_INSTANCE_CNAME

    If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com.

    This value is required if the service specified by ServiceId includes settings for an CNAME record.

    AWS_INSTANCE_IPV4

    If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44.

    This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

    AWS_INSTANCE_IPV6

    If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345.

    This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

    AWS_INSTANCE_PORT

    If the service includes an SRV record, the value that you want Route 53 to return for the port.

    If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

    This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

    Custom attributes

    You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters.

    " + } + } + }, + "RegisterInstanceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + }, + "ResourceCount":{"type":"integer"}, + "ResourceDescription":{ + "type":"string", + "max":1024 + }, + "ResourceId":{ + "type":"string", + "max":64 + }, + "ResourceInUse":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified resource can't be deleted because it contains other resources. For example, you can't delete a service that contains any instances.

    ", + "exception":true + }, + "ResourceLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The resource can't be created because you've reached the limit on the number of resources.

    ", + "exception":true + }, + "ResourcePath":{ + "type":"string", + "max":255 + }, + "RoutingPolicy":{ + "type":"string", + "enum":[ + "MULTIVALUE", + "WEIGHTED" + ] + }, + "Service":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID that AWS Cloud Map assigned to the service when you created it.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

    " + }, + "Name":{ + "shape":"ServiceName", + "documentation":"

    The name of the service.

    " + }, + "NamespaceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the namespace that was used to create the service.

    " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    The description of the service.

    " + }, + "InstanceCount":{ + "shape":"ResourceCount", + "documentation":"

    The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count. The count might not reflect pending registrations and deregistrations.

    " + }, + "DnsConfig":{ + "shape":"DnsConfig", + "documentation":"

    A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.

    " + }, + "HealthCheckConfig":{ + "shape":"HealthCheckConfig", + "documentation":"

    Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in DnsConfig.

    For information about the charges for health checks, see Amazon Route 53 Pricing.

    " + }, + "HealthCheckCustomConfig":{ + "shape":"HealthCheckCustomConfig", + "documentation":"

    A complex type that contains information about an optional custom health check.

    If you specify a health check configuration, you can specify either HealthCheckCustomConfig or HealthCheckConfig but not both.

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the service was created, in Unix format and Coordinated Universal Time (UTC). The value of CreateDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.

    " + }, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

    " + } + }, + "documentation":"

    A complex type that contains information about the specified service.

    " + }, + "ServiceAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"}, + "CreatorRequestId":{ + "shape":"ResourceId", + "documentation":"

    The CreatorRequestId that was used to create the service.

    " + }, + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the existing service.

    " + } + }, + "documentation":"

    The service can't be created because a service with the same name already exists.

    ", + "exception":true + }, + "ServiceChange":{ + "type":"structure", + "required":["DnsConfig"], + "members":{ + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    A description for the service.

    " + }, + "DnsConfig":{ + "shape":"DnsConfigChange", + "documentation":"

    A complex type that contains information about the Route 53 DNS records that you want AWS Cloud Map to create when you register an instance.

    " + }, + "HealthCheckConfig":{"shape":"HealthCheckConfig"} + }, + "documentation":"

    A complex type that contains changes to an existing service.

    " + }, + "ServiceFilter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{ + "shape":"ServiceFilterName", + "documentation":"

    Specify NAMESPACE_ID.

    " + }, + "Values":{ + "shape":"FilterValues", + "documentation":"

    The values that are applicable to the value that you specify for Condition to filter the list of services.

    " + }, + "Condition":{ + "shape":"FilterCondition", + "documentation":"

    The operator that you want to use to determine whether a service is returned by ListServices. Valid values for Condition include the following:

    • EQ: When you specify EQ, specify one namespace ID for Values. EQ is the default condition and can be omitted.

    • IN: When you specify IN, specify a list of the IDs for the namespaces that you want ListServices to return a list of services for.

    • BETWEEN: Not applicable.

    " + } + }, + "documentation":"

    A complex type that lets you specify the namespaces that you want to list services for.

    " + }, + "ServiceFilterName":{ + "type":"string", + "enum":["NAMESPACE_ID"] + }, + "ServiceFilters":{ + "type":"list", + "member":{"shape":"ServiceFilter"} + }, + "ServiceName":{ + "type":"string", + "pattern":"((?=^.{1,127}$)^([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9])(\\.([a-zA-Z0-9_][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9_]|[a-zA-Z0-9]))*$)|(^\\.$)" + }, + "ServiceNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    No service exists with the specified ID.

    ", + "exception":true + }, + "ServiceSummariesList":{ + "type":"list", + "member":{"shape":"ServiceSummary"} + }, + "ServiceSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID that AWS Cloud Map assigned to the service when you created it.

    " + }, + "Arn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that AWS Cloud Map assigns to the service when you create it.

    " + }, + "Name":{ + "shape":"ServiceName", + "documentation":"

    The name of the service.

    " + }, + "Description":{ + "shape":"ResourceDescription", + "documentation":"

    The description that you specify when you create the service.

    " + }, + "InstanceCount":{ + "shape":"ResourceCount", + "documentation":"

    The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count. The count might not reflect pending registrations and deregistrations.

    " + }, + "DnsConfig":{"shape":"DnsConfig"}, + "HealthCheckConfig":{"shape":"HealthCheckConfig"}, + "HealthCheckCustomConfig":{"shape":"HealthCheckCustomConfig"}, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the service was created.

    " + } + }, + "documentation":"

    A complex type that contains information about a specified service.

    " + }, + "Timestamp":{"type":"timestamp"}, + "UpdateInstanceCustomHealthStatusRequest":{ + "type":"structure", + "required":[ + "ServiceId", + "InstanceId", + "Status" + ], + "members":{ + "ServiceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that includes the configuration for the custom health check that you want to change the status for.

    " + }, + "InstanceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the instance that you want to change the health status for.

    " + }, + "Status":{ + "shape":"CustomHealthStatus", + "documentation":"

    The new status of the instance, HEALTHY or UNHEALTHY.

    " + } + } + }, + "UpdateServiceRequest":{ + "type":"structure", + "required":[ + "Id", + "Service" + ], + "members":{ + "Id":{ + "shape":"ResourceId", + "documentation":"

    The ID of the service that you want to update.

    " + }, + "Service":{ + "shape":"ServiceChange", + "documentation":"

    A complex type that contains the new settings for the service.

    " + } + } + }, + "UpdateServiceResponse":{ + "type":"structure", + "members":{ + "OperationId":{ + "shape":"OperationId", + "documentation":"

    A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.

    " + } + } + } + }, + "documentation":"

    AWS Cloud Map lets you configure public DNS, private DNS, or HTTP namespaces that your microservice applications run in. When an instance of the service becomes available, you can call the AWS Cloud Map API to register the instance with AWS Cloud Map. For public or private DNS namespaces, AWS Cloud Map automatically creates DNS records and an optional health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer that contains up to eight healthy records.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/service-quotas/2019-06-24/paginators-1.json python-botocore-1.16.19+repack/botocore/data/service-quotas/2019-06-24/paginators-1.json --- python-botocore-1.4.70/botocore/data/service-quotas/2019-06-24/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/service-quotas/2019-06-24/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,40 @@ +{ + "pagination": { + "ListAWSDefaultServiceQuotas": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Quotas" + }, + "ListRequestedServiceQuotaChangeHistory": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RequestedQuotas" + }, + "ListRequestedServiceQuotaChangeHistoryByQuota": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "RequestedQuotas" + }, + "ListServiceQuotaIncreaseRequestsInTemplate": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ServiceQuotaIncreaseRequestInTemplateList" + }, + "ListServiceQuotas": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Quotas" + }, + "ListServices": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Services" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/service-quotas/2019-06-24/service-2.json python-botocore-1.16.19+repack/botocore/data/service-quotas/2019-06-24/service-2.json --- python-botocore-1.4.70/botocore/data/service-quotas/2019-06-24/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/service-quotas/2019-06-24/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1212 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-06-24", + "endpointPrefix":"servicequotas", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Service Quotas", + "serviceId":"Service Quotas", + "signatureVersion":"v4", + "targetPrefix":"ServiceQuotasV20190624", + "uid":"service-quotas-2019-06-24" + }, + "operations":{ + "AssociateServiceQuotaTemplate":{ + "name":"AssociateServiceQuotaTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateServiceQuotaTemplateRequest"}, + "output":{"shape":"AssociateServiceQuotaTemplateResponse"}, + "errors":[ + {"shape":"DependencyAccessDeniedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"OrganizationNotInAllFeaturesModeException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Associates the Service Quotas template with your organization so that when new accounts are created in your organization, the template submits increase requests for the specified service quotas. Use the Service Quotas template to request an increase for any adjustable quota value. After you define the Service Quotas template, use this operation to associate, or enable, the template.

    " + }, + "DeleteServiceQuotaIncreaseRequestFromTemplate":{ + "name":"DeleteServiceQuotaIncreaseRequestFromTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServiceQuotaIncreaseRequestFromTemplateRequest"}, + "output":{"shape":"DeleteServiceQuotaIncreaseRequestFromTemplateResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"DependencyAccessDeniedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Removes a service quota increase request from the Service Quotas template.

    " + }, + "DisassociateServiceQuotaTemplate":{ + "name":"DisassociateServiceQuotaTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateServiceQuotaTemplateRequest"}, + "output":{"shape":"DisassociateServiceQuotaTemplateResponse"}, + "errors":[ + {"shape":"DependencyAccessDeniedException"}, + {"shape":"ServiceQuotaTemplateNotInUseException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Disables the Service Quotas template. Once the template is disabled, it does not request quota increases for new accounts in your organization. Disabling the quota template does not apply the quota increase requests from the template.

    Related operations

    " + }, + "GetAWSDefaultServiceQuota":{ + "name":"GetAWSDefaultServiceQuota", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAWSDefaultServiceQuotaRequest"}, + "output":{"shape":"GetAWSDefaultServiceQuotaResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves the default service quotas values. The Value returned for each quota is the AWS default value, even if the quotas have been increased..

    " + }, + "GetAssociationForServiceQuotaTemplate":{ + "name":"GetAssociationForServiceQuotaTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAssociationForServiceQuotaTemplateRequest"}, + "output":{"shape":"GetAssociationForServiceQuotaTemplateResponse"}, + "errors":[ + {"shape":"DependencyAccessDeniedException"}, + {"shape":"ServiceQuotaTemplateNotInUseException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Retrieves the ServiceQuotaTemplateAssociationStatus value from the service. Use this action to determine if the Service Quota template is associated, or enabled.

    " + }, + "GetRequestedServiceQuotaChange":{ + "name":"GetRequestedServiceQuotaChange", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRequestedServiceQuotaChangeRequest"}, + "output":{"shape":"GetRequestedServiceQuotaChangeResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves the details for a particular increase request.

    " + }, + "GetServiceQuota":{ + "name":"GetServiceQuota", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceQuotaRequest"}, + "output":{"shape":"GetServiceQuotaResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Returns the details for the specified service quota. This operation provides a different Value than the GetAWSDefaultServiceQuota operation. This operation returns the applied value for each quota. GetAWSDefaultServiceQuota returns the default AWS value for each quota.

    " + }, + "GetServiceQuotaIncreaseRequestFromTemplate":{ + "name":"GetServiceQuotaIncreaseRequestFromTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceQuotaIncreaseRequestFromTemplateRequest"}, + "output":{"shape":"GetServiceQuotaIncreaseRequestFromTemplateResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DependencyAccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Returns the details of the service quota increase request in your template.

    " + }, + "ListAWSDefaultServiceQuotas":{ + "name":"ListAWSDefaultServiceQuotas", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAWSDefaultServiceQuotasRequest"}, + "output":{"shape":"ListAWSDefaultServiceQuotasResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Lists all default service quotas for the specified AWS service or all AWS services. ListAWSDefaultServiceQuotas is similar to ListServiceQuotas except for the Value object. The Value object returned by ListAWSDefaultServiceQuotas is the default value assigned by AWS. This request returns a list of all service quotas for the specified service. The listing of each you'll see the default values are the values that AWS provides for the quotas.

    Always check the NextToken response parameter when calling any of the List* operations. These operations can return an unexpected list of results, even when there are more results available. When this happens, the NextToken response parameter contains a value to pass the next call to the same API to request the next part of the list.

    " + }, + "ListRequestedServiceQuotaChangeHistory":{ + "name":"ListRequestedServiceQuotaChangeHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRequestedServiceQuotaChangeHistoryRequest"}, + "output":{"shape":"ListRequestedServiceQuotaChangeHistoryResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Requests a list of the changes to quotas for a service.

    " + }, + "ListRequestedServiceQuotaChangeHistoryByQuota":{ + "name":"ListRequestedServiceQuotaChangeHistoryByQuota", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRequestedServiceQuotaChangeHistoryByQuotaRequest"}, + "output":{"shape":"ListRequestedServiceQuotaChangeHistoryByQuotaResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Requests a list of the changes to specific service quotas. This command provides additional granularity over the ListRequestedServiceQuotaChangeHistory command. Once a quota change request has reached CASE_CLOSED, APPROVED, or DENIED, the history has been kept for 90 days.

    " + }, + "ListServiceQuotaIncreaseRequestsInTemplate":{ + "name":"ListServiceQuotaIncreaseRequestsInTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceQuotaIncreaseRequestsInTemplateRequest"}, + "output":{"shape":"ListServiceQuotaIncreaseRequestsInTemplateResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DependencyAccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Returns a list of the quota increase requests in the template.

    " + }, + "ListServiceQuotas":{ + "name":"ListServiceQuotas", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServiceQuotasRequest"}, + "output":{"shape":"ListServiceQuotasResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Lists all service quotas for the specified AWS service. This request returns a list of the service quotas for the specified service. you'll see the default values are the values that AWS provides for the quotas.

    Always check the NextToken response parameter when calling any of the List* operations. These operations can return an unexpected list of results, even when there are more results available. When this happens, the NextToken response parameter contains a value to pass the next call to the same API to request the next part of the list.

    " + }, + "ListServices":{ + "name":"ListServices", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServicesRequest"}, + "output":{"shape":"ListServicesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidPaginationTokenException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Lists the AWS services available in Service Quotas. Not all AWS services are available in Service Quotas. To list the see the list of the service quotas for a specific service, use ListServiceQuotas.

    " + }, + "PutServiceQuotaIncreaseRequestIntoTemplate":{ + "name":"PutServiceQuotaIncreaseRequestIntoTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutServiceQuotaIncreaseRequestIntoTemplateRequest"}, + "output":{"shape":"PutServiceQuotaIncreaseRequestIntoTemplateResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"DependencyAccessDeniedException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"QuotaExceededException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"AWSServiceAccessNotEnabledException"}, + {"shape":"TemplatesNotAvailableInRegionException"}, + {"shape":"NoAvailableOrganizationException"} + ], + "documentation":"

    Defines and adds a quota to the service quota template. To add a quota to the template, you must provide the ServiceCode, QuotaCode, AwsRegion, and DesiredValue. Once you add a quota to the template, use ListServiceQuotaIncreaseRequestsInTemplate to see the list of quotas in the template.

    " + }, + "RequestServiceQuotaIncrease":{ + "name":"RequestServiceQuotaIncrease", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RequestServiceQuotaIncreaseRequest"}, + "output":{"shape":"RequestServiceQuotaIncreaseResponse"}, + "errors":[ + {"shape":"DependencyAccessDeniedException"}, + {"shape":"QuotaExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NoSuchResourceException"}, + {"shape":"IllegalArgumentException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"ServiceException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves the details of a service quota increase request. The response to this command provides the details in the RequestedServiceQuotaChange object.

    " + } + }, + "shapes":{ + "AWSServiceAccessNotEnabledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The action you attempted is not allowed unless Service Access with Service Quotas is enabled in your organization. To enable, call AssociateServiceQuotaTemplate.

    ", + "exception":true + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    You do not have sufficient access to perform this action.

    ", + "exception":true + }, + "AssociateServiceQuotaTemplateRequest":{ + "type":"structure", + "members":{ + } + }, + "AssociateServiceQuotaTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "AwsRegion":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9-]{1,128}" + }, + "CustomerServiceEngagementId":{"type":"string"}, + "DateTime":{"type":"timestamp"}, + "DeleteServiceQuotaIncreaseRequestFromTemplateRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode", + "AwsRegion" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the code for the service that you want to delete.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the code for the quota that you want to delete.

    " + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

    Specifies the AWS Region for the quota that you want to delete.

    " + } + } + }, + "DeleteServiceQuotaIncreaseRequestFromTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "DependencyAccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    You can't perform this action because a dependency does not have access.

    ", + "exception":true + }, + "DisassociateServiceQuotaTemplateRequest":{ + "type":"structure", + "members":{ + } + }, + "DisassociateServiceQuotaTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "DEPENDENCY_ACCESS_DENIED_ERROR", + "DEPENDENCY_THROTTLING_ERROR", + "DEPENDENCY_SERVICE_ERROR", + "SERVICE_QUOTA_NOT_AVAILABLE_ERROR" + ] + }, + "ErrorMessage":{"type":"string"}, + "ErrorReason":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

    Service Quotas returns the following error values.

    DEPENDENCY_ACCESS_DENIED_ERROR is returned when the caller does not have permission to call the service or service quota. To resolve the error, you need permission to access the service or service quota.

    DEPENDENCY_THROTTLING_ERROR is returned when the service being called is throttling Service Quotas.

    DEPENDENCY_SERVICE_ERROR is returned when the service being called has availability issues.

    SERVICE_QUOTA_NOT_AVAILABLE_ERROR is returned when there was an error in Service Quotas.

    " + }, + "ErrorMessage":{ + "shape":"ErrorMessage", + "documentation":"

    The error message that provides more detail.

    " + } + }, + "documentation":"

    Returns an error that explains why the action did not succeed.

    " + }, + "ExceptionMessage":{"type":"string"}, + "GetAWSDefaultServiceQuotaRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Identifies the service quota you want to select.

    " + } + } + }, + "GetAWSDefaultServiceQuotaResponse":{ + "type":"structure", + "members":{ + "Quota":{ + "shape":"ServiceQuota", + "documentation":"

    Returns the ServiceQuota object which contains all values for a quota.

    " + } + } + }, + "GetAssociationForServiceQuotaTemplateRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAssociationForServiceQuotaTemplateResponse":{ + "type":"structure", + "members":{ + "ServiceQuotaTemplateAssociationStatus":{ + "shape":"ServiceQuotaTemplateAssociationStatus", + "documentation":"

    Specifies whether the template is ASSOCIATED or DISASSOCIATED. If the template is ASSOCIATED, then it requests service quota increases for all new accounts created in your organization.

    " + } + } + }, + "GetRequestedServiceQuotaChangeRequest":{ + "type":"structure", + "required":["RequestId"], + "members":{ + "RequestId":{ + "shape":"RequestId", + "documentation":"

    Identifies the quota increase request.

    " + } + } + }, + "GetRequestedServiceQuotaChangeResponse":{ + "type":"structure", + "members":{ + "RequestedQuota":{ + "shape":"RequestedServiceQuotaChange", + "documentation":"

    Returns the RequestedServiceQuotaChange object for the specific increase request.

    " + } + } + }, + "GetServiceQuotaIncreaseRequestFromTemplateRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode", + "AwsRegion" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the quota you want.

    " + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

    Specifies the AWS Region for the quota that you want to use.

    " + } + } + }, + "GetServiceQuotaIncreaseRequestFromTemplateResponse":{ + "type":"structure", + "members":{ + "ServiceQuotaIncreaseRequestInTemplate":{ + "shape":"ServiceQuotaIncreaseRequestInTemplate", + "documentation":"

    This object contains the details about the quota increase request.

    " + } + } + }, + "GetServiceQuotaRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Identifies the service quota you want to select.

    " + } + } + }, + "GetServiceQuotaResponse":{ + "type":"structure", + "members":{ + "Quota":{ + "shape":"ServiceQuota", + "documentation":"

    Returns the ServiceQuota object which contains all values for a quota.

    " + } + } + }, + "GlobalQuota":{"type":"boolean"}, + "IllegalArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Invalid input was provided.

    ", + "exception":true + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Invalid input was provided.

    ", + "exception":true + }, + "InvalidResourceStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Invalid input was provided for the .

    ", + "exception":true + }, + "ListAWSDefaultServiceQuotasRequest":{ + "type":"structure", + "required":["ServiceCode"], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListAWSDefaultServiceQuotasResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "Quotas":{ + "shape":"ServiceQuotaListDefinition", + "documentation":"

    A list of the quotas in the account with the AWS default values.

    " + } + } + }, + "ListRequestedServiceQuotaChangeHistoryByQuotaRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the service quota that you want to use

    " + }, + "Status":{ + "shape":"RequestStatus", + "documentation":"

    Specifies the status value of the quota increase request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListRequestedServiceQuotaChangeHistoryByQuotaResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If present in the response, this value indicates there's more output available that what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + }, + "RequestedQuotas":{ + "shape":"RequestedServiceQuotaChangeHistoryListDefinition", + "documentation":"

    Returns a list of service quota requests.

    " + } + } + }, + "ListRequestedServiceQuotaChangeHistoryRequest":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "Status":{ + "shape":"RequestStatus", + "documentation":"

    Specifies the status value of the quota increase request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListRequestedServiceQuotaChangeHistoryResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If present in the response, this value indicates there's more output available that what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + }, + "RequestedQuotas":{ + "shape":"RequestedServiceQuotaChangeHistoryListDefinition", + "documentation":"

    Returns a list of service quota requests.

    " + } + } + }, + "ListServiceQuotaIncreaseRequestsInTemplateRequest":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    The identifier for a service. When performing an operation, use the ServiceCode to specify a particular service.

    " + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

    Specifies the AWS Region for the quota that you want to use.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListServiceQuotaIncreaseRequestsInTemplateResponse":{ + "type":"structure", + "members":{ + "ServiceQuotaIncreaseRequestInTemplateList":{ + "shape":"ServiceQuotaIncreaseRequestInTemplateList", + "documentation":"

    Returns the list of values of the quota increase request in the template.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If present in the response, this value indicates there's more output available that what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + } + } + }, + "ListServiceQuotasRequest":{ + "type":"structure", + "required":["ServiceCode"], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    The identifier for a service. When performing an operation, use the ServiceCode to specify a particular service.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListServiceQuotasResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If present in the response, this value indicates there's more output available that what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + }, + "Quotas":{ + "shape":"ServiceQuotaListDefinition", + "documentation":"

    The response information for a quota lists all attribute information for the quota.

    " + } + } + }, + "ListServicesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) Use this parameter in a request if you receive a NextToken response in a previous request that indicates that there's more output available. In a subsequent call, set it to the value of the previous call's NextToken response to indicate where the output should continue from.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    (Optional) Limits the number of results that you want to include in the response. If you don't include this parameter, the response defaults to a value that's specific to the operation. If additional items exist beyond the specified maximum, the NextToken element is present and has a value (isn't null). Include that value as the NextToken request parameter in the call to the operation to get the next part of the results. You should check NextToken after every operation to ensure that you receive all of the results.

    " + } + } + }, + "ListServicesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If present in the response, this value indicates there's more output available that what's included in the current response. This can occur even when the response includes no values at all, such as when you ask for a filtered view of a very long list. Use this value in the NextToken request parameter in a subsequent call to the operation to continue processing and get the next part of the output. You should repeat this until the NextToken response element comes back empty (as null).

    " + }, + "Services":{ + "shape":"ServiceInfoListDefinition", + "documentation":"

    Returns a list of services.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MetricDimensionName":{"type":"string"}, + "MetricDimensionValue":{"type":"string"}, + "MetricDimensionsMapDefinition":{ + "type":"map", + "key":{"shape":"MetricDimensionName"}, + "value":{"shape":"MetricDimensionValue"}, + "max":10 + }, + "MetricInfo":{ + "type":"structure", + "members":{ + "MetricNamespace":{ + "shape":"QuotaMetricNamespace", + "documentation":"

    The namespace of the metric. The namespace is a container for CloudWatch metrics. You can specify a name for the namespace when you create a metric.

    " + }, + "MetricName":{ + "shape":"QuotaMetricName", + "documentation":"

    The name of the CloudWatch metric that measures usage of a service quota. This is a required field.

    " + }, + "MetricDimensions":{ + "shape":"MetricDimensionsMapDefinition", + "documentation":"

    A dimension is a name/value pair that is part of the identity of a metric. Every metric has specific characteristics that describe it, and you can think of dimensions as categories for those characteristics. These dimensions are part of the CloudWatch Metric Identity that measures usage against a particular service quota.

    " + }, + "MetricStatisticRecommendation":{ + "shape":"Statistic", + "documentation":"

    Statistics are metric data aggregations over specified periods of time. This is the recommended statistic to use when comparing usage in the CloudWatch Metric against your Service Quota.

    " + } + }, + "documentation":"

    A structure that uses CloudWatch metrics to gather data about the service quota.

    " + }, + "NextToken":{ + "type":"string", + "max":2048, + "pattern":"^[a-zA-Z0-9/+]*={0,2}$" + }, + "NoAvailableOrganizationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The account making this call is not a member of an organization.

    ", + "exception":true + }, + "NoSuchResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified resource does not exist.

    ", + "exception":true + }, + "OrganizationNotInAllFeaturesModeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The organization that your account belongs to, is not in All Features mode. To enable all features mode, see EnableAllFeatures.

    ", + "exception":true + }, + "PeriodUnit":{ + "type":"string", + "enum":[ + "MICROSECOND", + "MILLISECOND", + "SECOND", + "MINUTE", + "HOUR", + "DAY", + "WEEK" + ] + }, + "PeriodValue":{"type":"integer"}, + "PutServiceQuotaIncreaseRequestIntoTemplateRequest":{ + "type":"structure", + "required":[ + "QuotaCode", + "ServiceCode", + "AwsRegion", + "DesiredValue" + ], + "members":{ + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the service quota that you want to use.

    " + }, + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

    Specifies the AWS Region for the quota.

    " + }, + "DesiredValue":{ + "shape":"QuotaValue", + "documentation":"

    Specifies the new, increased value for the quota.

    " + } + } + }, + "PutServiceQuotaIncreaseRequestIntoTemplateResponse":{ + "type":"structure", + "members":{ + "ServiceQuotaIncreaseRequestInTemplate":{ + "shape":"ServiceQuotaIncreaseRequestInTemplate", + "documentation":"

    A structure that contains information about one service quota increase request.

    " + } + } + }, + "QuotaAdjustable":{"type":"boolean"}, + "QuotaArn":{"type":"string"}, + "QuotaCode":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9-]{1,128}" + }, + "QuotaExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    You have exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use Service Quotas to request a service quota increase.

    ", + "exception":true + }, + "QuotaMetricName":{"type":"string"}, + "QuotaMetricNamespace":{"type":"string"}, + "QuotaName":{"type":"string"}, + "QuotaPeriod":{ + "type":"structure", + "members":{ + "PeriodValue":{ + "shape":"PeriodValue", + "documentation":"

    The value of a period.

    " + }, + "PeriodUnit":{ + "shape":"PeriodUnit", + "documentation":"

    The time unit of a period.

    " + } + }, + "documentation":"

    A structure that contains information about the quota period.

    " + }, + "QuotaUnit":{"type":"string"}, + "QuotaValue":{ + "type":"double", + "max":10000000000, + "min":0 + }, + "RequestId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[0-9a-zA-Z][a-zA-Z0-9-]{1,128}" + }, + "RequestServiceQuotaIncreaseRequest":{ + "type":"structure", + "required":[ + "ServiceCode", + "QuotaCode", + "DesiredValue" + ], + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the service quota that you want to use.

    " + }, + "DesiredValue":{ + "shape":"QuotaValue", + "documentation":"

    Specifies the value submitted in the service quota increase request.

    " + } + } + }, + "RequestServiceQuotaIncreaseResponse":{ + "type":"structure", + "members":{ + "RequestedQuota":{ + "shape":"RequestedServiceQuotaChange", + "documentation":"

    Returns a list of service quota requests.

    " + } + } + }, + "RequestStatus":{ + "type":"string", + "enum":[ + "PENDING", + "CASE_OPENED", + "APPROVED", + "DENIED", + "CASE_CLOSED" + ] + }, + "RequestedServiceQuotaChange":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"RequestId", + "documentation":"

    The unique identifier of a requested service quota change.

    " + }, + "CaseId":{ + "shape":"CustomerServiceEngagementId", + "documentation":"

    The case Id for the service quota increase request.

    " + }, + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the AWS service specified in the increase request.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    Specifies the service quota that you want to use.

    " + }, + "QuotaName":{ + "shape":"QuotaName", + "documentation":"

    Name of the service quota.

    " + }, + "DesiredValue":{ + "shape":"QuotaValue", + "documentation":"

    New increased value for the service quota.

    " + }, + "Status":{ + "shape":"RequestStatus", + "documentation":"

    State of the service quota increase request.

    " + }, + "Created":{ + "shape":"DateTime", + "documentation":"

    The date and time when the service quota increase request was received and the case Id was created.

    " + }, + "LastUpdated":{ + "shape":"DateTime", + "documentation":"

    The date and time of the most recent change in the service quota increase request.

    " + }, + "Requester":{ + "shape":"Requester", + "documentation":"

    The IAM identity who submitted the service quota increase request.

    " + }, + "QuotaArn":{ + "shape":"QuotaArn", + "documentation":"

    The Amazon Resource Name (ARN) of the service quota.

    " + }, + "GlobalQuota":{ + "shape":"GlobalQuota", + "documentation":"

    Identifies if the quota is global.

    " + }, + "Unit":{ + "shape":"QuotaUnit", + "documentation":"

    Specifies the unit used for the quota.

    " + } + }, + "documentation":"

    A structure that contains information about a requested change for a quota.

    " + }, + "RequestedServiceQuotaChangeHistoryListDefinition":{ + "type":"list", + "member":{"shape":"RequestedServiceQuotaChange"} + }, + "Requester":{"type":"string"}, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified resource already exists.

    ", + "exception":true + }, + "ServiceCode":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9-]{1,63}" + }, + "ServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Something went wrong.

    ", + "exception":true, + "fault":true + }, + "ServiceInfo":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the AWS service specified in the increase request.

    " + } + }, + "documentation":"

    A structure that contains the ServiceName and ServiceCode. It does not include all details of the service quota. To get those values, use the ListServiceQuotas operation.

    " + }, + "ServiceInfoListDefinition":{ + "type":"list", + "member":{"shape":"ServiceInfo"} + }, + "ServiceName":{"type":"string"}, + "ServiceQuota":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    Specifies the service that you want to use.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the AWS service specified in the increase request.

    " + }, + "QuotaArn":{ + "shape":"QuotaArn", + "documentation":"

    The Amazon Resource Name (ARN) of the service quota.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    The code identifier for the service quota specified.

    " + }, + "QuotaName":{ + "shape":"QuotaName", + "documentation":"

    The name identifier of the service quota.

    " + }, + "Value":{ + "shape":"QuotaValue", + "documentation":"

    The value of service quota.

    " + }, + "Unit":{ + "shape":"QuotaUnit", + "documentation":"

    The unit of measurement for the value of the service quota.

    " + }, + "Adjustable":{ + "shape":"QuotaAdjustable", + "documentation":"

    Specifies if the quota value can be increased.

    " + }, + "GlobalQuota":{ + "shape":"GlobalQuota", + "documentation":"

    Specifies if the quota is global.

    " + }, + "UsageMetric":{ + "shape":"MetricInfo", + "documentation":"

    Specifies the details about the measurement.

    " + }, + "Period":{ + "shape":"QuotaPeriod", + "documentation":"

    Identifies the unit and value of how time is measured.

    " + }, + "ErrorReason":{ + "shape":"ErrorReason", + "documentation":"

    Specifies the ErrorCode and ErrorMessage when success isn't achieved.

    " + } + }, + "documentation":"

    A structure that contains the full set of details that define the service quota.

    " + }, + "ServiceQuotaIncreaseRequestInTemplate":{ + "type":"structure", + "members":{ + "ServiceCode":{ + "shape":"ServiceCode", + "documentation":"

    The code identifier for the AWS service specified in the increase request.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    The name of the AWS service specified in the increase request.

    " + }, + "QuotaCode":{ + "shape":"QuotaCode", + "documentation":"

    The code identifier for the service quota specified in the increase request.

    " + }, + "QuotaName":{ + "shape":"QuotaName", + "documentation":"

    The name of the service quota in the increase request.

    " + }, + "DesiredValue":{ + "shape":"QuotaValue", + "documentation":"

    Identifies the new, increased value of the service quota in the increase request.

    " + }, + "AwsRegion":{ + "shape":"AwsRegion", + "documentation":"

    The AWS Region where the increase request occurs.

    " + }, + "Unit":{ + "shape":"QuotaUnit", + "documentation":"

    The unit of measure for the increase request.

    " + }, + "GlobalQuota":{ + "shape":"GlobalQuota", + "documentation":"

    Specifies if the quota is a global quota.

    " + } + }, + "documentation":"

    A structure that contains information about one service quota increase request.

    " + }, + "ServiceQuotaIncreaseRequestInTemplateList":{ + "type":"list", + "member":{"shape":"ServiceQuotaIncreaseRequestInTemplate"} + }, + "ServiceQuotaListDefinition":{ + "type":"list", + "member":{"shape":"ServiceQuota"} + }, + "ServiceQuotaTemplateAssociationStatus":{ + "type":"string", + "enum":[ + "ASSOCIATED", + "DISASSOCIATED" + ] + }, + "ServiceQuotaTemplateNotInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The quota request template is not associated with your organization.

    To use the template, call AssociateServiceQuotaTemplate.

    ", + "exception":true + }, + "Statistic":{ + "type":"string", + "max":256, + "min":1, + "pattern":"(Sum|Maximum)" + }, + "TemplatesNotAvailableInRegionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The Service Quotas template is not available in the Region where you are making the request. Please make the request in us-east-1.

    ", + "exception":true + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    Due to throttling, the request was denied. Slow down the rate of request calls, or request an increase for this quota.

    ", + "exception":true + } + }, + "documentation":"

    Service Quotas is a web service that you can use to manage many of your AWS service quotas. Quotas, also referred to as limits, are the maximum values for a resource, item, or operation. This guide provide descriptions of the Service Quotas actions that you can call from an API. For the Service Quotas user guide, which explains how to use Service Quotas from the console, see What is Service Quotas.

    AWS provides SDKs that consist of libraries and sample code for programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc...,). The SDKs provide a convenient way to create programmatic access to Service Quotas and AWS. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/ses/2010-12-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/examples-1.json --- python-botocore-1.4.70/botocore/data/ses/2010-12-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1021 @@ +{ + "version": "1.0", + "examples": { + "CloneReceiptRuleSet": [ + { + "input": { + "OriginalRuleSetName": "RuleSetToClone", + "RuleSetName": "RuleSetToCreate" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a receipt rule set by cloning an existing one:", + "id": "clonereceiptruleset-1469055039770", + "title": "CloneReceiptRuleSet" + } + ], + "CreateReceiptFilter": [ + { + "input": { + "Filter": { + "IpFilter": { + "Cidr": "1.2.3.4/24", + "Policy": "Allow" + }, + "Name": "MyFilter" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new IP address filter:", + "id": "createreceiptfilter-1469122681253", + "title": "CreateReceiptFilter" + } + ], + "CreateReceiptRule": [ + { + "input": { + "After": "", + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + }, + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a new receipt rule:", + "id": "createreceiptrule-1469122946515", + "title": "CreateReceiptRule" + } + ], + "CreateReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an empty receipt rule set:", + "id": "createreceiptruleset-1469058761646", + "title": "CreateReceiptRuleSet" + } + ], + "DeleteIdentity": [ + { + "input": { + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an identity from the list of identities that have been submitted for verification with Amazon SES:", + "id": "deleteidentity-1469047858906", + "title": "DeleteIdentity" + } + ], + "DeleteIdentityPolicy": [ + { + "input": { + "Identity": "user@example.com", + "PolicyName": "MyPolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a sending authorization policy for an identity:", + "id": "deleteidentitypolicy-1469055282499", + "title": "DeleteIdentityPolicy" + } + ], + "DeleteReceiptFilter": [ + { + "input": { + "FilterName": "MyFilter" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP address filter:", + "id": "deletereceiptfilter-1469055456835", + "title": "DeleteReceiptFilter" + } + ], + "DeleteReceiptRule": [ + { + "input": { + "RuleName": "MyRule", + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a receipt rule:", + "id": "deletereceiptrule-1469055563599", + "title": "DeleteReceiptRule" + } + ], + "DeleteReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a receipt rule set:", + "id": "deletereceiptruleset-1469055713690", + "title": "DeleteReceiptRuleSet" + } + ], + "DeleteVerifiedEmailAddress": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an email address from the list of identities that have been submitted for verification with Amazon SES:", + "id": "deleteverifiedemailaddress-1469051086444", + "title": "DeleteVerifiedEmailAddress" + } + ], + "DescribeActiveReceiptRuleSet": [ + { + "input": { + }, + "output": { + "Metadata": { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "default-rule-set" + }, + "Rules": [ + { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the metadata and receipt rules for the receipt rule set that is currently active:", + "id": "describeactivereceiptruleset-1469121611502", + "title": "DescribeActiveReceiptRuleSet" + } + ], + "DescribeReceiptRule": [ + { + "input": { + "RuleName": "MyRule", + "RuleSetName": "MyRuleSet" + }, + "output": { + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a receipt rule:", + "id": "describereceiptrule-1469055813118", + "title": "DescribeReceiptRule" + } + ], + "DescribeReceiptRuleSet": [ + { + "input": { + "RuleSetName": "MyRuleSet" + }, + "output": { + "Metadata": { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "MyRuleSet" + }, + "Rules": [ + { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the metadata and receipt rules of a receipt rule set:", + "id": "describereceiptruleset-1469121240385", + "title": "DescribeReceiptRuleSet" + } + ], + "GetAccountSendingEnabled": [ + { + "output": { + "Enabled": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns if sending status for an account is enabled. (true / false):", + "id": "getaccountsendingenabled-1469047741333", + "title": "GetAccountSendingEnabled" + } + ], + "GetIdentityDkimAttributes": [ + { + "input": { + "Identities": [ + "example.com", + "user@example.com" + ] + }, + "output": { + "DkimAttributes": { + "example.com": { + "DkimEnabled": true, + "DkimTokens": [ + "EXAMPLEjcs5xoyqytjsotsijas7236gr", + "EXAMPLEjr76cvoc6mysspnioorxsn6ep", + "EXAMPLEkbmkqkhlm2lyz77ppkulerm4k" + ], + "DkimVerificationStatus": "Success" + }, + "user@example.com": { + "DkimEnabled": false, + "DkimVerificationStatus": "NotStarted" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example retrieves the Amazon SES Easy DKIM attributes for a list of identities:", + "id": "getidentitydkimattributes-1469050695628", + "title": "GetIdentityDkimAttributes" + } + ], + "GetIdentityMailFromDomainAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "MailFromDomainAttributes": { + "example.com": { + "BehaviorOnMXFailure": "UseDefaultValue", + "MailFromDomain": "bounces.example.com", + "MailFromDomainStatus": "Success" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the custom MAIL FROM attributes for an identity:", + "id": "getidentitymailfromdomainattributes-1469123114860", + "title": "GetIdentityMailFromDomainAttributes" + } + ], + "GetIdentityNotificationAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "NotificationAttributes": { + "example.com": { + "BounceTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "ComplaintTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "DeliveryTopic": "arn:aws:sns:us-east-1:EXAMPLE65304:ExampleTopic", + "ForwardingEnabled": true, + "HeadersInBounceNotificationsEnabled": false, + "HeadersInComplaintNotificationsEnabled": false, + "HeadersInDeliveryNotificationsEnabled": false + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the notification attributes for an identity:", + "id": "getidentitynotificationattributes-1469123466947", + "title": "GetIdentityNotificationAttributes" + } + ], + "GetIdentityPolicies": [ + { + "input": { + "Identity": "example.com", + "PolicyNames": [ + "MyPolicy" + ] + }, + "output": { + "Policies": { + "MyPolicy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a sending authorization policy for an identity:", + "id": "getidentitypolicies-1469123949351", + "title": "GetIdentityPolicies" + } + ], + "GetIdentityVerificationAttributes": [ + { + "input": { + "Identities": [ + "example.com" + ] + }, + "output": { + "VerificationAttributes": { + "example.com": { + "VerificationStatus": "Success", + "VerificationToken": "EXAMPLE3VYb9EDI2nTOQRi/Tf6MI/6bD6THIGiP1MVY=" + } + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the verification status and the verification token for a domain identity:", + "id": "getidentityverificationattributes-1469124205897", + "title": "GetIdentityVerificationAttributes" + } + ], + "GetSendQuota": [ + { + "output": { + "Max24HourSend": 200, + "MaxSendRate": 1, + "SentLast24Hours": 1 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the Amazon SES sending limits for an AWS account:", + "id": "getsendquota-1469047324508", + "title": "GetSendQuota" + } + ], + "GetSendStatistics": [ + { + "output": { + "SendDataPoints": [ + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 5, + "Rejects": 0, + "Timestamp": "2016-07-13T22:43:00Z" + }, + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 3, + "Rejects": 0, + "Timestamp": "2016-07-13T23:13:00Z" + }, + { + "Bounces": 0, + "Complaints": 0, + "DeliveryAttempts": 1, + "Rejects": 0, + "Timestamp": "2016-07-13T21:13:00Z" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns Amazon SES sending statistics:", + "id": "getsendstatistics-1469047741329", + "title": "GetSendStatistics" + } + ], + "ListIdentities": [ + { + "input": { + "IdentityType": "EmailAddress", + "MaxItems": 123, + "NextToken": "" + }, + "output": { + "Identities": [ + "user@example.com" + ], + "NextToken": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the email address identities that have been submitted for verification with Amazon SES:", + "id": "listidentities-1469048638493", + "title": "ListIdentities" + } + ], + "ListIdentityPolicies": [ + { + "input": { + "Identity": "example.com" + }, + "output": { + "PolicyNames": [ + "MyPolicy" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a list of sending authorization policies that are attached to an identity:", + "id": "listidentitypolicies-1469124417674", + "title": "ListIdentityPolicies" + } + ], + "ListReceiptFilters": [ + { + "output": { + "Filters": [ + { + "IpFilter": { + "Cidr": "1.2.3.4/24", + "Policy": "Block" + }, + "Name": "MyFilter" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the IP address filters that are associated with an AWS account:", + "id": "listreceiptfilters-1469120786789", + "title": "ListReceiptFilters" + } + ], + "ListReceiptRuleSets": [ + { + "input": { + "NextToken": "" + }, + "output": { + "NextToken": "", + "RuleSets": [ + { + "CreatedTimestamp": "2016-07-15T16:25:59.607Z", + "Name": "MyRuleSet" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists the receipt rule sets that exist under an AWS account:", + "id": "listreceiptrulesets-1469121037235", + "title": "ListReceiptRuleSets" + } + ], + "ListVerifiedEmailAddresses": [ + { + "output": { + "VerifiedEmailAddresses": [ + "user1@example.com", + "user2@example.com" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example lists all email addresses that have been submitted for verification with Amazon SES:", + "id": "listverifiedemailaddresses-1469051402570", + "title": "ListVerifiedEmailAddresses" + } + ], + "PutIdentityPolicy": [ + { + "input": { + "Identity": "example.com", + "Policy": "{\"Version\":\"2008-10-17\",\"Statement\":[{\"Sid\":\"stmt1469123904194\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:root\"},\"Action\":[\"ses:SendEmail\",\"ses:SendRawEmail\"],\"Resource\":\"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com\"}]}", + "PolicyName": "MyPolicy" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example adds a sending authorization policy to an identity:", + "id": "putidentitypolicy-1469124560016", + "title": "PutIdentityPolicy" + } + ], + "ReorderReceiptRuleSet": [ + { + "input": { + "RuleNames": [ + "MyRule", + "MyOtherRule" + ], + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example reorders the receipt rules within a receipt rule set:", + "id": "reorderreceiptruleset-1469058156806", + "title": "ReorderReceiptRuleSet" + } + ], + "SendEmail": [ + { + "input": { + "Destination": { + "BccAddresses": [ + + ], + "CcAddresses": [ + "recipient3@example.com" + ], + "ToAddresses": [ + "recipient1@example.com", + "recipient2@example.com" + ] + }, + "Message": { + "Body": { + "Html": { + "Charset": "UTF-8", + "Data": "This message body contains HTML formatting. It can, for example, contain links like this one: Amazon SES Developer Guide." + }, + "Text": { + "Charset": "UTF-8", + "Data": "This is the message body in text format." + } + }, + "Subject": { + "Charset": "UTF-8", + "Data": "Test email" + } + }, + "ReplyToAddresses": [ + + ], + "ReturnPath": "", + "ReturnPathArn": "", + "Source": "sender@example.com", + "SourceArn": "" + }, + "output": { + "MessageId": "EXAMPLE78603177f-7a5433e7-8edb-42ae-af10-f0181f34d6ee-000000" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sends a formatted email:", + "id": "sendemail-1469049656296", + "title": "SendEmail" + } + ], + "SendRawEmail": [ + { + "input": { + "Destinations": [ + + ], + "FromArn": "", + "RawMessage": { + "Data": "From: sender@example.com\\nTo: recipient@example.com\\nSubject: Test email (contains an attachment)\\nMIME-Version: 1.0\\nContent-type: Multipart/Mixed; boundary=\"NextPart\"\\n\\n--NextPart\\nContent-Type: text/plain\\n\\nThis is the message body.\\n\\n--NextPart\\nContent-Type: text/plain;\\nContent-Disposition: attachment; filename=\"attachment.txt\"\\n\\nThis is the text in the attachment.\\n\\n--NextPart--" + }, + "ReturnPathArn": "", + "Source": "", + "SourceArn": "" + }, + "output": { + "MessageId": "EXAMPLEf3f73d99b-c63fb06f-d263-41f8-a0fb-d0dc67d56c07-000000" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sends an email with an attachment:", + "id": "sendrawemail-1469118548649", + "title": "SendRawEmail" + } + ], + "SetActiveReceiptRuleSet": [ + { + "input": { + "RuleSetName": "RuleSetToActivate" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the active receipt rule set:", + "id": "setactivereceiptruleset-1469058391329", + "title": "SetActiveReceiptRuleSet" + } + ], + "SetIdentityDkimEnabled": [ + { + "input": { + "DkimEnabled": true, + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to Easy DKIM-sign the email sent from an identity:", + "id": "setidentitydkimenabled-1469057485202", + "title": "SetIdentityDkimEnabled" + } + ], + "SetIdentityFeedbackForwardingEnabled": [ + { + "input": { + "ForwardingEnabled": true, + "Identity": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to forward an identity's bounces and complaints via email:", + "id": "setidentityfeedbackforwardingenabled-1469056811329", + "title": "SetIdentityFeedbackForwardingEnabled" + } + ], + "SetIdentityHeadersInNotificationsEnabled": [ + { + "input": { + "Enabled": true, + "Identity": "user@example.com", + "NotificationType": "Bounce" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to include the original email headers in the Amazon SNS bounce notifications for an identity:", + "id": "setidentityheadersinnotificationsenabled-1469057295001", + "title": "SetIdentityHeadersInNotificationsEnabled" + } + ], + "SetIdentityMailFromDomain": [ + { + "input": { + "BehaviorOnMXFailure": "UseDefaultValue", + "Identity": "user@example.com", + "MailFromDomain": "bounces.example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example configures Amazon SES to use a custom MAIL FROM domain for an identity:", + "id": "setidentitymailfromdomain-1469057693908", + "title": "SetIdentityMailFromDomain" + } + ], + "SetIdentityNotificationTopic": [ + { + "input": { + "Identity": "user@example.com", + "NotificationType": "Bounce", + "SnsTopic": "arn:aws:sns:us-west-2:111122223333:MyTopic" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the Amazon SNS topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with the specified identity as the Source:", + "id": "setidentitynotificationtopic-1469057854966", + "title": "SetIdentityNotificationTopic" + } + ], + "SetReceiptRulePosition": [ + { + "input": { + "After": "PutRuleAfterThisRule", + "RuleName": "RuleToReposition", + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example sets the position of a receipt rule in a receipt rule set:", + "id": "setreceiptruleposition-1469058530550", + "title": "SetReceiptRulePosition" + } + ], + "UpdateAccountSendingEnabled": [ + { + "input": { + "Enabled": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example updated the sending status for this account.", + "id": "updateaccountsendingenabled-1469047741333", + "title": "UpdateAccountSendingEnabled" + } + ], + "UpdateConfigurationSetReputationMetricsEnabled": [ + { + "input": { + "ConfigurationSetName": "foo", + "Enabled": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Set the reputationMetricsEnabled flag for a specific configuration set.", + "id": "updateconfigurationsetreputationmetricsenabled-2362747741333", + "title": "UpdateConfigurationSetReputationMetricsEnabled" + } + ], + "UpdateConfigurationSetSendingEnabled": [ + { + "input": { + "ConfigurationSetName": "foo", + "Enabled": true + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Set the sending enabled flag for a specific configuration set.", + "id": "updateconfigurationsetsendingenabled-2362747741333", + "title": "UpdateConfigurationSetReputationMetricsEnabled" + } + ], + "UpdateReceiptRule": [ + { + "input": { + "Rule": { + "Actions": [ + { + "S3Action": { + "BucketName": "MyBucket", + "ObjectKeyPrefix": "email" + } + } + ], + "Enabled": true, + "Name": "MyRule", + "ScanEnabled": true, + "TlsPolicy": "Optional" + }, + "RuleSetName": "MyRuleSet" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example updates a receipt rule to use an Amazon S3 action:", + "id": "updatereceiptrule-1469051756940", + "title": "UpdateReceiptRule" + } + ], + "VerifyDomainDkim": [ + { + "input": { + "Domain": "example.com" + }, + "output": { + "DkimTokens": [ + "EXAMPLEq76owjnks3lnluwg65scbemvw", + "EXAMPLEi3dnsj67hstzaj673klariwx2", + "EXAMPLEwfbtcukvimehexktmdtaz6naj" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example generates DKIM tokens for a domain that has been verified with Amazon SES:", + "id": "verifydomaindkim-1469049503083", + "title": "VerifyDomainDkim" + } + ], + "VerifyDomainIdentity": [ + { + "input": { + "Domain": "example.com" + }, + "output": { + "VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the domain verification process with Amazon SES:", + "id": "verifydomainidentity-1469049165936", + "title": "VerifyDomainIdentity" + } + ], + "VerifyEmailAddress": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the email address verification process with Amazon SES:", + "id": "verifyemailaddress-1469048849187", + "title": "VerifyEmailAddress" + } + ], + "VerifyEmailIdentity": [ + { + "input": { + "EmailAddress": "user@example.com" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example starts the email address verification process with Amazon SES:", + "id": "verifyemailidentity-1469049068623", + "title": "VerifyEmailIdentity" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/ses/2010-12-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/ses/2010-12-01/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -5,6 +5,29 @@ "output_token": "NextToken", "limit_key": "MaxItems", "result_key": "Identities" + }, + "ListCustomVerificationEmailTemplates": { + "result_key": "CustomVerificationEmailTemplates", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListConfigurationSets": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "ConfigurationSets" + }, + "ListReceiptRuleSets": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "RuleSets" + }, + "ListTemplates": { + "input_token": "NextToken", + "limit_key": "MaxItems", + "output_token": "NextToken", + "result_key": "TemplatesMetadata" } } } diff -Nru python-botocore-1.4.70/botocore/data/ses/2010-12-01/service-2.json python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/service-2.json --- python-botocore-1.4.70/botocore/data/ses/2010-12-01/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ses/2010-12-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,8 +6,10 @@ "protocol":"query", "serviceAbbreviation":"Amazon SES", "serviceFullName":"Amazon Simple Email Service", + "serviceId":"SES", "signatureVersion":"v4", "signingName":"ses", + "uid":"email-2010-12-01", "xmlNamespace":"http://ses.amazonaws.com/doc/2010-12-01/" }, "operations":{ @@ -27,7 +29,7 @@ {"shape":"AlreadyExistsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

    For information about setting up rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates a receipt rule set by cloning an existing one. All receipt rules and configurations are copied to the new receipt rule set and are completely independent of the source rule set.

    For information about setting up rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "CreateConfigurationSet":{ "name":"CreateConfigurationSet", @@ -45,7 +47,7 @@ {"shape":"InvalidConfigurationSetException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Creates a configuration set.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates a configuration set.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "CreateConfigurationSetEventDestination":{ "name":"CreateConfigurationSetEventDestination", @@ -63,9 +65,43 @@ {"shape":"EventDestinationAlreadyExistsException"}, {"shape":"InvalidCloudWatchDestinationException"}, {"shape":"InvalidFirehoseDestinationException"}, + {"shape":"InvalidSNSDestinationException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Creates a configuration set event destination.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

    An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates a configuration set event destination.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

    An event destination is the AWS service to which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "CreateConfigurationSetTrackingOptions":{ + "name":"CreateConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"CreateConfigurationSetTrackingOptionsResponse", + "resultWrapper":"CreateConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsAlreadyExistsException"}, + {"shape":"InvalidTrackingOptionsException"} + ], + "documentation":"

    Creates an association between a configuration set and a custom domain for open and click event tracking.

    By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

    " + }, + "CreateCustomVerificationEmailTemplate":{ + "name":"CreateCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateCustomVerificationEmailTemplateRequest"}, + "errors":[ + {"shape":"CustomVerificationEmailTemplateAlreadyExistsException"}, + {"shape":"FromEmailAddressNotVerifiedException"}, + {"shape":"CustomVerificationEmailInvalidContentException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates a new custom verification email template.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "CreateReceiptFilter":{ "name":"CreateReceiptFilter", @@ -82,7 +118,7 @@ {"shape":"LimitExceededException"}, {"shape":"AlreadyExistsException"} ], - "documentation":"

    Creates a new IP address filter.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates a new IP address filter.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "CreateReceiptRule":{ "name":"CreateReceiptRule", @@ -104,7 +140,7 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Creates a receipt rule.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates a receipt rule.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "CreateReceiptRuleSet":{ "name":"CreateReceiptRuleSet", @@ -121,7 +157,25 @@ {"shape":"AlreadyExistsException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Creates an empty receipt rule set.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Creates an empty receipt rule set.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "CreateTemplate":{ + "name":"CreateTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTemplateRequest"}, + "output":{ + "shape":"CreateTemplateResponse", + "resultWrapper":"CreateTemplateResult" + }, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidTemplateException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteConfigurationSet":{ "name":"DeleteConfigurationSet", @@ -137,7 +191,7 @@ "errors":[ {"shape":"ConfigurationSetDoesNotExistException"} ], - "documentation":"

    Deletes a configuration set.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteConfigurationSetEventDestination":{ "name":"DeleteConfigurationSetEventDestination", @@ -154,7 +208,33 @@ {"shape":"ConfigurationSetDoesNotExistException"}, {"shape":"EventDestinationDoesNotExistException"} ], - "documentation":"

    Deletes a configuration set event destination.

    Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "DeleteConfigurationSetTrackingOptions":{ + "name":"DeleteConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"DeleteConfigurationSetTrackingOptionsResponse", + "resultWrapper":"DeleteConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsDoesNotExistException"} + ], + "documentation":"

    Deletes an association between a configuration set and a custom domain for open and click event tracking.

    By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

    Deleting this kind of association will result in emails sent using the specified configuration set to capture open and click events using the standard, Amazon SES-operated domains.

    " + }, + "DeleteCustomVerificationEmailTemplate":{ + "name":"DeleteCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCustomVerificationEmailTemplateRequest"}, + "documentation":"

    Deletes an existing custom verification email template.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteIdentity":{ "name":"DeleteIdentity", @@ -167,7 +247,7 @@ "shape":"DeleteIdentityResponse", "resultWrapper":"DeleteIdentityResult" }, - "documentation":"

    Deletes the specified identity (an email address or a domain) from the list of verified identities.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes the specified identity (an email address or a domain) from the list of verified identities.

    You can execute this operation no more than once per second.

    " }, "DeleteIdentityPolicy":{ "name":"DeleteIdentityPolicy", @@ -180,7 +260,7 @@ "shape":"DeleteIdentityPolicyResponse", "resultWrapper":"DeleteIdentityPolicyResult" }, - "documentation":"

    Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteReceiptFilter":{ "name":"DeleteReceiptFilter", @@ -193,7 +273,7 @@ "shape":"DeleteReceiptFilterResponse", "resultWrapper":"DeleteReceiptFilterResult" }, - "documentation":"

    Deletes the specified IP address filter.

    For information about managing IP address filters, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes the specified IP address filter.

    For information about managing IP address filters, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteReceiptRule":{ "name":"DeleteReceiptRule", @@ -209,7 +289,7 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

    Deletes the specified receipt rule.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes the specified receipt rule.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DeleteReceiptRuleSet":{ "name":"DeleteReceiptRuleSet", @@ -225,7 +305,20 @@ "errors":[ {"shape":"CannotDeleteException"} ], - "documentation":"

    Deletes the specified receipt rule set and all of the receipt rules it contains.

    The currently active rule set cannot be deleted.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Deletes the specified receipt rule set and all of the receipt rules it contains.

    The currently active rule set cannot be deleted.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "DeleteTemplate":{ + "name":"DeleteTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTemplateRequest"}, + "output":{ + "shape":"DeleteTemplateResponse", + "resultWrapper":"DeleteTemplateResult" + }, + "documentation":"

    Deletes an email template.

    You can execute this operation no more than once per second.

    " }, "DeleteVerifiedEmailAddress":{ "name":"DeleteVerifiedEmailAddress", @@ -234,7 +327,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteVerifiedEmailAddressRequest"}, - "documentation":"

    Deletes the specified email address from the list of verified addresses.

    The DeleteVerifiedEmailAddress action is deprecated as of the May 15, 2012 release of Domain Verification. The DeleteIdentity action is now preferred.

    This action is throttled at one request per second.

    " + "documentation":"

    Deprecated. Use the DeleteIdentity operation to delete email addresses and domains.

    " }, "DescribeActiveReceiptRuleSet":{ "name":"DescribeActiveReceiptRuleSet", @@ -247,7 +340,7 @@ "shape":"DescribeActiveReceiptRuleSetResponse", "resultWrapper":"DescribeActiveReceiptRuleSetResult" }, - "documentation":"

    Returns the metadata and receipt rules for the receipt rule set that is currently active.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns the metadata and receipt rules for the receipt rule set that is currently active.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DescribeConfigurationSet":{ "name":"DescribeConfigurationSet", @@ -263,7 +356,7 @@ "errors":[ {"shape":"ConfigurationSetDoesNotExistException"} ], - "documentation":"

    Returns the details of the specified configuration set.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns the details of the specified configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DescribeReceiptRule":{ "name":"DescribeReceiptRule", @@ -280,7 +373,7 @@ {"shape":"RuleDoesNotExistException"}, {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

    Returns the details of the specified receipt rule.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns the details of the specified receipt rule.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "DescribeReceiptRuleSet":{ "name":"DescribeReceiptRuleSet", @@ -296,7 +389,35 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

    Returns the details of the specified receipt rule set.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns the details of the specified receipt rule set.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "GetAccountSendingEnabled":{ + "name":"GetAccountSendingEnabled", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "output":{ + "shape":"GetAccountSendingEnabledResponse", + "resultWrapper":"GetAccountSendingEnabledResult" + }, + "documentation":"

    Returns the email sending status of the Amazon SES account for the current region.

    You can execute this operation no more than once per second.

    " + }, + "GetCustomVerificationEmailTemplate":{ + "name":"GetCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCustomVerificationEmailTemplateRequest"}, + "output":{ + "shape":"GetCustomVerificationEmailTemplateResponse", + "resultWrapper":"GetCustomVerificationEmailTemplateResult" + }, + "errors":[ + {"shape":"CustomVerificationEmailTemplateDoesNotExistException"} + ], + "documentation":"

    Returns the custom email verification template for the template name you specify.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "GetIdentityDkimAttributes":{ "name":"GetIdentityDkimAttributes", @@ -309,7 +430,7 @@ "shape":"GetIdentityDkimAttributesResponse", "resultWrapper":"GetIdentityDkimAttributesResult" }, - "documentation":"

    Returns the current status of Easy DKIM signing for an entity. For domain name identities, this action also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

    This action takes a list of identities as input and returns the following information for each:

    • Whether Easy DKIM signing is enabled or disabled.

    • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

    • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

    This action is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

    For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

    " + "documentation":"

    Returns the current status of Easy DKIM signing for an entity. For domain name identities, this operation also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES has successfully verified that these tokens have been published.

    This operation takes a list of identities as input and returns the following information for each:

    • Whether Easy DKIM signing is enabled or disabled.

    • A set of DKIM tokens that represent the identity. If the identity is an email address, the tokens represent the domain of that address.

    • Whether Amazon SES has successfully verified the DKIM tokens published in the domain's DNS. This information is only returned for domain name identities, not for email addresses.

    This operation is throttled at one request per second and can only get DKIM attributes for up to 100 identities at a time.

    For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

    " }, "GetIdentityMailFromDomainAttributes":{ "name":"GetIdentityMailFromDomainAttributes", @@ -322,7 +443,7 @@ "shape":"GetIdentityMailFromDomainAttributesResponse", "resultWrapper":"GetIdentityMailFromDomainAttributesResult" }, - "documentation":"

    Returns the custom MAIL FROM attributes for a list of identities (email addresses and/or domains).

    This action is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time.

    " + "documentation":"

    Returns the custom MAIL FROM attributes for a list of identities (email addresses : domains).

    This operation is throttled at one request per second and can only get custom MAIL FROM attributes for up to 100 identities at a time.

    " }, "GetIdentityNotificationAttributes":{ "name":"GetIdentityNotificationAttributes", @@ -335,7 +456,7 @@ "shape":"GetIdentityNotificationAttributesResponse", "resultWrapper":"GetIdentityNotificationAttributesResult" }, - "documentation":"

    Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

    This action is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Given a list of verified identities (email addresses and/or domains), returns a structure describing identity notification attributes.

    This operation is throttled at one request per second and can only get notification attributes for up to 100 identities at a time.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " }, "GetIdentityPolicies":{ "name":"GetIdentityPolicies", @@ -348,7 +469,7 @@ "shape":"GetIdentityPoliciesResponse", "resultWrapper":"GetIdentityPoliciesResult" }, - "documentation":"

    Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "GetIdentityVerificationAttributes":{ "name":"GetIdentityVerificationAttributes", @@ -361,7 +482,7 @@ "shape":"GetIdentityVerificationAttributesResponse", "resultWrapper":"GetIdentityVerificationAttributesResult" }, - "documentation":"

    Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.

    This action is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.

    " + "documentation":"

    Given a list of identities (email addresses and/or domains), returns the verification status and (for domain identities) the verification token for each identity.

    The verification status of an email address is \"Pending\" until the email address owner clicks the link within the verification email that Amazon SES sent to that address. If the email address owner clicks the link within 24 hours, the verification status of the email address changes to \"Success\". If the link is not clicked within 24 hours, the verification status changes to \"Failed.\" In that case, if you still want to verify the email address, you must restart the verification process from the beginning.

    For domain identities, the domain's verification status is \"Pending\" as Amazon SES searches for the required TXT record in the DNS settings of the domain. When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

    This operation is throttled at one request per second and can only get verification attributes for up to 100 identities at a time.

    " }, "GetSendQuota":{ "name":"GetSendQuota", @@ -373,7 +494,7 @@ "shape":"GetSendQuotaResponse", "resultWrapper":"GetSendQuotaResult" }, - "documentation":"

    Returns the user's current sending limits.

    This action is throttled at one request per second.

    " + "documentation":"

    Provides the sending limits for the Amazon SES account.

    You can execute this operation no more than once per second.

    " }, "GetSendStatistics":{ "name":"GetSendStatistics", @@ -385,7 +506,23 @@ "shape":"GetSendStatisticsResponse", "resultWrapper":"GetSendStatisticsResult" }, - "documentation":"

    Returns the user's sending statistics. The result is a list of data points, representing the last two weeks of sending activity.

    Each data point in the list contains statistics for a 15-minute interval.

    This action is throttled at one request per second.

    " + "documentation":"

    Provides sending statistics for the current AWS Region. The result is a list of data points, representing the last two weeks of sending activity. Each data point in the list contains statistics for a 15-minute period of time.

    You can execute this operation no more than once per second.

    " + }, + "GetTemplate":{ + "name":"GetTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTemplateRequest"}, + "output":{ + "shape":"GetTemplateResponse", + "resultWrapper":"GetTemplateResult" + }, + "errors":[ + {"shape":"TemplateDoesNotExistException"} + ], + "documentation":"

    Displays the template object (which includes the Subject line, HTML part and text part) for the template you specify.

    You can execute this operation no more than once per second.

    " }, "ListConfigurationSets":{ "name":"ListConfigurationSets", @@ -398,7 +535,20 @@ "shape":"ListConfigurationSetsResponse", "resultWrapper":"ListConfigurationSetsResult" }, - "documentation":"

    Lists the configuration sets associated with your AWS account.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second and can return up to 50 configuration sets at a time.

    " + "documentation":"

    Provides a list of the configuration sets associated with your Amazon SES account in the current AWS Region. For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second. This operation will return up to 1,000 configuration sets each time it is run. If your Amazon SES account has more than 1,000 configuration sets, this operation will also return a NextToken element. You can then execute the ListConfigurationSets operation again, passing the NextToken parameter and the value of the NextToken element to retrieve additional results.

    " + }, + "ListCustomVerificationEmailTemplates":{ + "name":"ListCustomVerificationEmailTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCustomVerificationEmailTemplatesRequest"}, + "output":{ + "shape":"ListCustomVerificationEmailTemplatesResponse", + "resultWrapper":"ListCustomVerificationEmailTemplatesResult" + }, + "documentation":"

    Lists the existing custom verification email templates for your account in the current AWS Region.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "ListIdentities":{ "name":"ListIdentities", @@ -411,7 +561,7 @@ "shape":"ListIdentitiesResponse", "resultWrapper":"ListIdentitiesResult" }, - "documentation":"

    Returns a list containing all of the identities (email addresses and domains) for your AWS account, regardless of verification status.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns a list containing all of the identities (email addresses and domains) for your AWS account in the current AWS Region, regardless of verification status.

    You can execute this operation no more than once per second.

    " }, "ListIdentityPolicies":{ "name":"ListIdentityPolicies", @@ -424,7 +574,7 @@ "shape":"ListIdentityPoliciesResponse", "resultWrapper":"ListIdentityPoliciesResult" }, - "documentation":"

    Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Returns a list of sending authorization policies that are attached to the given identity (an email address or a domain). This API returns only a list. If you want the actual policy content, you can use GetIdentityPolicies.

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "ListReceiptFilters":{ "name":"ListReceiptFilters", @@ -437,7 +587,7 @@ "shape":"ListReceiptFiltersResponse", "resultWrapper":"ListReceiptFiltersResult" }, - "documentation":"

    Lists the IP address filters associated with your AWS account.

    For information about managing IP address filters, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Lists the IP address filters associated with your AWS account in the current AWS Region.

    For information about managing IP address filters, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "ListReceiptRuleSets":{ "name":"ListReceiptRuleSets", @@ -450,7 +600,20 @@ "shape":"ListReceiptRuleSetsResponse", "resultWrapper":"ListReceiptRuleSetsResult" }, - "documentation":"

    Lists the receipt rule sets that exist under your AWS account. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Lists the receipt rule sets that exist under your AWS account in the current AWS Region. If there are additional receipt rule sets to be retrieved, you will receive a NextToken that you can provide to the next call to ListReceiptRuleSets to retrieve the additional entries.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "ListTemplates":{ + "name":"ListTemplates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTemplatesRequest"}, + "output":{ + "shape":"ListTemplatesResponse", + "resultWrapper":"ListTemplatesResult" + }, + "documentation":"

    Lists the email templates present in your Amazon SES account in the current AWS Region.

    You can execute this operation no more than once per second.

    " }, "ListVerifiedEmailAddresses":{ "name":"ListVerifiedEmailAddresses", @@ -462,7 +625,24 @@ "shape":"ListVerifiedEmailAddressesResponse", "resultWrapper":"ListVerifiedEmailAddressesResult" }, - "documentation":"

    Returns a list containing all of the email addresses that have been verified.

    The ListVerifiedEmailAddresses action is deprecated as of the May 15, 2012 release of Domain Verification. The ListIdentities action is now preferred.

    This action is throttled at one request per second.

    " + "documentation":"

    Deprecated. Use the ListIdentities operation to list the email addresses and domains associated with your account.

    " + }, + "PutConfigurationSetDeliveryOptions":{ + "name":"PutConfigurationSetDeliveryOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutConfigurationSetDeliveryOptionsRequest"}, + "output":{ + "shape":"PutConfigurationSetDeliveryOptionsResponse", + "resultWrapper":"PutConfigurationSetDeliveryOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"InvalidDeliveryOptionsException"} + ], + "documentation":"

    Adds or updates the delivery options for a configuration set.

    " }, "PutIdentityPolicy":{ "name":"PutIdentityPolicy", @@ -478,7 +658,7 @@ "errors":[ {"shape":"InvalidPolicyException"} ], - "documentation":"

    Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

    This API is for the identity owner only. If you have not verified the identity, this API will return an error.

    Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "ReorderReceiptRuleSet":{ "name":"ReorderReceiptRuleSet", @@ -495,7 +675,7 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"RuleDoesNotExistException"} ], - "documentation":"

    Reorders the receipt rules within a receipt rule set.

    All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Reorders the receipt rules within a receipt rule set.

    All of the rules in the rule set must be represented in this request. That is, this API will return an error if the reorder request doesn't explicitly position all of the rules.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "SendBounce":{ "name":"SendBounce", @@ -511,7 +691,48 @@ "errors":[ {"shape":"MessageRejected"} ], - "documentation":"

    Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

    You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Generates and sends a bounce message to the sender of an email you received through Amazon SES. You can only use this API on an email up to 24 hours after you receive it.

    You cannot use this API to send generic bounces for mail that was not received by Amazon SES.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "SendBulkTemplatedEmail":{ + "name":"SendBulkTemplatedEmail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendBulkTemplatedEmailRequest"}, + "output":{ + "shape":"SendBulkTemplatedEmailResponse", + "resultWrapper":"SendBulkTemplatedEmailResult" + }, + "errors":[ + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TemplateDoesNotExistException"}, + {"shape":"ConfigurationSetSendingPausedException"}, + {"shape":"AccountSendingPausedException"} + ], + "documentation":"

    Composes an email message to multiple destinations. The message body is created using an email template.

    In order to send email using the SendBulkTemplatedEmail operation, your call to the API must meet the following requirements:

    • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

    • The message must be sent from a verified email address or domain.

    • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

    • The maximum message size is 10 MB.

    • Each Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

    • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendBulkTemplatedEmail operation several times to send the message to each group.

    • The number of destinations you can contact in a single call to the API may be limited by your account's maximum sending rate.

    " + }, + "SendCustomVerificationEmail":{ + "name":"SendCustomVerificationEmail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendCustomVerificationEmailRequest"}, + "output":{ + "shape":"SendCustomVerificationEmailResponse", + "resultWrapper":"SendCustomVerificationEmailResult" + }, + "errors":[ + {"shape":"MessageRejected"}, + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"CustomVerificationEmailTemplateDoesNotExistException"}, + {"shape":"FromEmailAddressNotVerifiedException"}, + {"shape":"ProductionAccessNotGrantedException"} + ], + "documentation":"

    Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address.

    To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "SendEmail":{ "name":"SendEmail", @@ -527,9 +748,11 @@ "errors":[ {"shape":"MessageRejected"}, {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"} + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"ConfigurationSetSendingPausedException"}, + {"shape":"AccountSendingPausedException"} ], - "documentation":"

    Composes an email message based on input data, and then immediately queues the message for sending.

    There are several important points to know about SendEmail:

    • You can only send email from verified email addresses and domains; otherwise, you will get an \"Email address not verified\" error. If your account is still in the Amazon SES sandbox, you must also verify every recipient email address except for the recipients provided by the Amazon SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.

    • The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

    • Amazon SES has a limit on the total number of recipients per message. The combined number of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call Amazon SES repeatedly to send the message to each group.

    • For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted against your sending quota - the maximum number of emails you can send in a 24-hour period. For information about your sending quota, go to the Amazon SES Developer Guide.

    " + "documentation":"

    Composes an email message and immediately queues it for sending. In order to send email using the SendEmail operation, your message must meet the following requirements:

    • The message must be sent from a verified email address or domain. If you attempt to send email using a non-verified address or domain, the operation will result in an \"Email address not verified\" error.

    • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

    • The maximum message size is 10 MB.

    • The message must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

    • The message may not include more than 50 recipients, across the To:, CC: and BCC: fields. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call the SendEmail operation several times to send the message to each group.

    For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

    " }, "SendRawEmail":{ "name":"SendRawEmail", @@ -545,9 +768,32 @@ "errors":[ {"shape":"MessageRejected"}, {"shape":"MailFromDomainNotVerifiedException"}, - {"shape":"ConfigurationSetDoesNotExistException"} + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"ConfigurationSetSendingPausedException"}, + {"shape":"AccountSendingPausedException"} + ], + "documentation":"

    Composes an email message and immediately queues it for sending.

    This operation is more flexible than the SendEmail API operation. When you use the SendRawEmail operation, you can specify the headers of the message as well as its content. This flexibility is useful, for example, when you want to send a multipart MIME email (such a message that contains both a text and an HTML version). You can also use this operation to send messages that include attachments.

    The SendRawEmail operation has the following requirements:

    • You can only send email from verified email addresses or domains. If you try to send email from an address that isn't verified, the operation results in an \"Email address not verified\" error.

    • If your account is still in the Amazon SES sandbox, you can only send email to other verified addresses in your account, or to addresses that are associated with the Amazon SES mailbox simulator.

    • The maximum message size, including attachments, is 10 MB.

    • Each message has to include at least one recipient address. A recipient address includes any address on the To:, CC:, or BCC: lines.

    • If you send a single message to more than one recipient address, and one of the recipient addresses isn't in a valid format (that is, it's not in the format UserName@[SubDomain.]Domain.TopLevelDomain), Amazon SES rejects the entire message, even if the other addresses are valid.

    • Each message can include up to 50 recipient addresses across the To:, CC:, or BCC: lines. If you need to send a single message to more than 50 recipients, you have to split the list of recipient addresses into groups of less than 50 recipients, and send separate messages to each group.

    • Amazon SES allows you to specify 8-bit Content-Transfer-Encoding for MIME message parts. However, if Amazon SES has to modify the contents of your message (for example, if you use open and click tracking), 8-bit content isn't preserved. For this reason, we highly recommend that you encode all content that isn't 7-bit ASCII. For more information, see MIME Encoding in the Amazon SES Developer Guide.

    Additionally, keep the following considerations in mind when using the SendRawEmail operation:

    • Although you can customize the message headers when using the SendRawEmail operation, Amazon SES will automatically apply its own Message-ID and Date headers; if you passed these headers when creating the message, they will be overwritten by the values that Amazon SES provides.

    • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's Source, From, and Return-Path parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

      • X-SES-SOURCE-ARN

      • X-SES-FROM-ARN

      • X-SES-RETURN-PATH-ARN

      Don't include these X-headers in the DKIM signature. Amazon SES removes these before it sends the email.

      If you only specify the SourceIdentityArn parameter, Amazon SES sets the From and Return-Path addresses to the same identity that you specified.

      For more information about sending authorization, see the Using Sending Authorization with Amazon SES in the Amazon SES Developer Guide.

    • For every message that you send, the total number of recipients (including each recipient in the To:, CC: and BCC: fields) is counted against the maximum number of emails you can send in a 24-hour period (your sending quota). For more information about sending quotas in Amazon SES, see Managing Your Amazon SES Sending Limits in the Amazon SES Developer Guide.

    " + }, + "SendTemplatedEmail":{ + "name":"SendTemplatedEmail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTemplatedEmailRequest"}, + "output":{ + "shape":"SendTemplatedEmailResponse", + "resultWrapper":"SendTemplatedEmailResult" + }, + "errors":[ + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TemplateDoesNotExistException"}, + {"shape":"ConfigurationSetSendingPausedException"}, + {"shape":"AccountSendingPausedException"} ], - "documentation":"

    Sends an email message, with header and content specified by the client. The SendRawEmail action is useful for sending multipart MIME emails. The raw text of the message must comply with Internet email standards; otherwise, the message cannot be sent.

    There are several important points to know about SendRawEmail:

    • You can only send email from verified email addresses and domains; otherwise, you will get an \"Email address not verified\" error. If your account is still in the Amazon SES sandbox, you must also verify every recipient email address except for the recipients provided by the Amazon SES mailbox simulator. For more information, go to the Amazon SES Developer Guide.

    • The total size of the message cannot exceed 10 MB. This includes any attachments that are part of the message.

    • Amazon SES has a limit on the total number of recipients per message. The combined number of To:, CC: and BCC: email addresses cannot exceed 50. If you need to send an email message to a larger audience, you can divide your recipient list into groups of 50 or fewer, and then call Amazon SES repeatedly to send the message to each group.

    • The To:, CC:, and BCC: headers in the raw message can contain a group list. Note that each recipient in a group list counts towards the 50-recipient limit.

    • Amazon SES overrides any Message-ID and Date headers you provide.

    • For every message that you send, the total number of recipients (To:, CC: and BCC:) is counted against your sending quota - the maximum number of emails you can send in a 24-hour period. For information about your sending quota, go to the Amazon SES Developer Guide.

    • If you are using sending authorization to send on behalf of another user, SendRawEmail enables you to specify the cross-account identity for the email's \"Source,\" \"From,\" and \"Return-Path\" parameters in one of two ways: you can pass optional parameters SourceArn, FromArn, and/or ReturnPathArn to the API, or you can include the following X-headers in the header of your raw email:

      • X-SES-SOURCE-ARN

      • X-SES-FROM-ARN

      • X-SES-RETURN-PATH-ARN

      Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

      For the most common sending authorization use case, we recommend that you specify the SourceIdentityArn and do not specify either the FromIdentityArn or ReturnPathIdentityArn. (The same note applies to the corresponding X-headers.) If you only specify the SourceIdentityArn, Amazon SES will simply set the \"From\" address and the \"Return Path\" address to the identity specified in SourceIdentityArn. For more information about sending authorization, see the Amazon SES Developer Guide.

    " + "documentation":"

    Composes an email message using an email template and immediately queues it for sending.

    In order to send email using the SendTemplatedEmail operation, your call to the API must meet the following requirements:

    • The call must refer to an existing email template. You can create email templates using the CreateTemplate operation.

    • The message must be sent from a verified email address or domain.

    • If your account is still in the Amazon SES sandbox, you may only send to verified addresses or domains, or to email addresses associated with the Amazon SES Mailbox Simulator. For more information, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

    • The maximum message size is 10 MB.

    • Calls to the SendTemplatedEmail operation may only include one Destination parameter. A destination is a set of recipients who will receive the same version of the email. The Destination parameter can include up to 50 recipients, across the To:, CC: and BCC: fields.

    • The Destination parameter must include at least one recipient email address. The recipient address can be a To: address, a CC: address, or a BCC: address. If a recipient email address is invalid (that is, it is not in the format UserName@[SubDomain.]Domain.TopLevelDomain), the entire message will be rejected, even if the message contains other recipients that are valid.

    If your call to the SendTemplatedEmail operation includes all of the required parameters, Amazon SES accepts it and returns a Message ID. However, if Amazon SES can't render the email because the template contains errors, it doesn't send the email. Additionally, because it already accepted the message, Amazon SES doesn't return a message stating that it was unable to send the email.

    For these reasons, we highly recommend that you set up Amazon SES to send you notifications when Rendering Failure events occur. For more information, see Sending Personalized Email Using the Amazon SES API in the Amazon Simple Email Service Developer Guide.

    " }, "SetActiveReceiptRuleSet":{ "name":"SetActiveReceiptRuleSet", @@ -563,7 +809,7 @@ "errors":[ {"shape":"RuleSetDoesNotExistException"} ], - "documentation":"

    Sets the specified receipt rule set as the active receipt rule set.

    To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Sets the specified receipt rule set as the active receipt rule set.

    To disable your email-receiving through Amazon SES completely, you can call this API with RuleSetName set to null.

    For information about managing receipt rule sets, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "SetIdentityDkimEnabled":{ "name":"SetIdentityDkimEnabled", @@ -576,7 +822,7 @@ "shape":"SetIdentityDkimEnabledResponse", "resultWrapper":"SetIdentityDkimEnabledResult" }, - "documentation":"

    Enables or disables Easy DKIM signing of email sent from an identity:

    • If Easy DKIM signing is enabled for a domain name identity (e.g., example.com), then Amazon SES will DKIM-sign all email sent by addresses under that domain name (e.g., user@example.com).

    • If Easy DKIM signing is enabled for an email address, then Amazon SES will DKIM-sign all email sent by that email address.

    For email addresses (e.g., user@example.com), you can only enable Easy DKIM signing if the corresponding domain (e.g., example.com) has been set up for Easy DKIM using the AWS Console or the VerifyDomainDkim action.

    This action is throttled at one request per second.

    For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

    " + "documentation":"

    Enables or disables Easy DKIM signing of email sent from an identity. If Easy DKIM signing is enabled for a domain, then Amazon SES uses DKIM to sign all email that it sends from addresses on that domain. If Easy DKIM signing is enabled for an email address, then Amazon SES uses DKIM to sign all email it sends from that address.

    For email addresses (for example, user@example.com), you can only enable DKIM signing if the corresponding domain (in this case, example.com) has been set up to use Easy DKIM.

    You can enable DKIM signing for an identity at any time after you start the verification process for the identity, even if the verification process isn't complete.

    You can execute this operation no more than once per second.

    For more information about Easy DKIM signing, go to the Amazon SES Developer Guide.

    " }, "SetIdentityFeedbackForwardingEnabled":{ "name":"SetIdentityFeedbackForwardingEnabled", @@ -589,7 +835,7 @@ "shape":"SetIdentityFeedbackForwardingEnabledResponse", "resultWrapper":"SetIdentityFeedbackForwardingEnabledResult" }, - "documentation":"

    Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

    Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

    This action is throttled at one request per second.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Given an identity (an email address or a domain), enables or disables whether Amazon SES forwards bounce and complaint notifications as email. Feedback forwarding can only be disabled when Amazon Simple Notification Service (Amazon SNS) topics are specified for both bounces and complaints.

    Feedback forwarding does not apply to delivery notifications. Delivery notifications are only available through Amazon SNS.

    You can execute this operation no more than once per second.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " }, "SetIdentityHeadersInNotificationsEnabled":{ "name":"SetIdentityHeadersInNotificationsEnabled", @@ -602,7 +848,7 @@ "shape":"SetIdentityHeadersInNotificationsEnabledResponse", "resultWrapper":"SetIdentityHeadersInNotificationsEnabledResult" }, - "documentation":"

    Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

    This action is throttled at one request per second.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Given an identity (an email address or a domain), sets whether Amazon SES includes the original email headers in the Amazon Simple Notification Service (Amazon SNS) notifications of a specified type.

    You can execute this operation no more than once per second.

    For more information about using notifications with Amazon SES, see the Amazon SES Developer Guide.

    " }, "SetIdentityMailFromDomain":{ "name":"SetIdentityMailFromDomain", @@ -615,7 +861,7 @@ "shape":"SetIdentityMailFromDomainResponse", "resultWrapper":"SetIdentityMailFromDomainResult" }, - "documentation":"

    Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

    To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Enables or disables the custom MAIL FROM domain setup for a verified identity (an email address or a domain).

    To send emails using the specified MAIL FROM domain, you must add an MX record to your MAIL FROM domain's DNS settings. If you want your emails to pass Sender Policy Framework (SPF) checks, you must also add or update an SPF record. For more information, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "SetIdentityNotificationTopic":{ "name":"SetIdentityNotificationTopic", @@ -628,7 +874,7 @@ "shape":"SetIdentityNotificationTopicResponse", "resultWrapper":"SetIdentityNotificationTopicResult" }, - "documentation":"

    Given an identity (an email address or a domain), sets the Amazon Simple Notification Service (Amazon SNS) topic to which Amazon SES will publish bounce, complaint, and/or delivery notifications for emails sent with that identity as the Source.

    Unless feedback forwarding is enabled, you must specify Amazon SNS topics for bounce and complaint notifications. For more information, see SetIdentityFeedbackForwardingEnabled.

    This action is throttled at one request per second.

    For more information about feedback notification, see the Amazon SES Developer Guide.

    " + "documentation":"

    Sets an Amazon Simple Notification Service (Amazon SNS) topic to use when delivering notifications. When you use this operation, you specify a verified identity, such as an email address or domain. When you send an email that uses the chosen identity in the Source field, Amazon SES sends notifications to the topic you specified. You can send bounce, complaint, or delivery notifications (or any combination of the three) to the Amazon SNS topic that you specify.

    You can execute this operation no more than once per second.

    For more information about feedback notification, see the Amazon SES Developer Guide.

    " }, "SetReceiptRulePosition":{ "name":"SetReceiptRulePosition", @@ -645,7 +891,34 @@ {"shape":"RuleSetDoesNotExistException"}, {"shape":"RuleDoesNotExistException"} ], - "documentation":"

    Sets the position of the specified receipt rule in the receipt rule set.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Sets the position of the specified receipt rule in the receipt rule set.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "TestRenderTemplate":{ + "name":"TestRenderTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestRenderTemplateRequest"}, + "output":{ + "shape":"TestRenderTemplateResponse", + "resultWrapper":"TestRenderTemplateResult" + }, + "errors":[ + {"shape":"TemplateDoesNotExistException"}, + {"shape":"InvalidRenderingParameterException"}, + {"shape":"MissingRenderingAttributeException"} + ], + "documentation":"

    Creates a preview of the MIME content of an email when provided with a template and a set of replacement data.

    You can execute this operation no more than once per second.

    " + }, + "UpdateAccountSendingEnabled":{ + "name":"UpdateAccountSendingEnabled", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAccountSendingEnabledRequest"}, + "documentation":"

    Enables or disables email sending across your entire Amazon SES account in the current AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending across your Amazon SES account in a given AWS Region when reputation metrics (such as your bounce or complaint rates) reach certain thresholds.

    You can execute this operation no more than once per second.

    " }, "UpdateConfigurationSetEventDestination":{ "name":"UpdateConfigurationSetEventDestination", @@ -662,9 +935,66 @@ {"shape":"ConfigurationSetDoesNotExistException"}, {"shape":"EventDestinationDoesNotExistException"}, {"shape":"InvalidCloudWatchDestinationException"}, - {"shape":"InvalidFirehoseDestinationException"} + {"shape":"InvalidFirehoseDestinationException"}, + {"shape":"InvalidSNSDestinationException"} + ], + "documentation":"

    Updates the event destination of a configuration set. Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see Monitoring Your Amazon SES Sending Activity in the Amazon SES Developer Guide.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS).

    You can execute this operation no more than once per second.

    " + }, + "UpdateConfigurationSetReputationMetricsEnabled":{ + "name":"UpdateConfigurationSetReputationMetricsEnabled", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConfigurationSetReputationMetricsEnabledRequest"}, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"} + ], + "documentation":"

    Enables or disables the publishing of reputation metrics for emails sent using a specific configuration set in a given AWS Region. Reputation metrics include bounce and complaint rates. These metrics are published to Amazon CloudWatch. By using CloudWatch, you can create alarms when bounce or complaint rates exceed certain thresholds.

    You can execute this operation no more than once per second.

    " + }, + "UpdateConfigurationSetSendingEnabled":{ + "name":"UpdateConfigurationSetSendingEnabled", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConfigurationSetSendingEnabledRequest"}, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"} + ], + "documentation":"

    Enables or disables email sending for messages sent using a specific configuration set in a given AWS Region. You can use this operation in conjunction with Amazon CloudWatch alarms to temporarily pause email sending for a configuration set when the reputation metrics for that configuration set (such as your bounce on complaint rate) exceed certain thresholds.

    You can execute this operation no more than once per second.

    " + }, + "UpdateConfigurationSetTrackingOptions":{ + "name":"UpdateConfigurationSetTrackingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateConfigurationSetTrackingOptionsRequest"}, + "output":{ + "shape":"UpdateConfigurationSetTrackingOptionsResponse", + "resultWrapper":"UpdateConfigurationSetTrackingOptionsResult" + }, + "errors":[ + {"shape":"ConfigurationSetDoesNotExistException"}, + {"shape":"TrackingOptionsDoesNotExistException"}, + {"shape":"InvalidTrackingOptionsException"} + ], + "documentation":"

    Modifies an association between a configuration set and a custom domain for open and click event tracking.

    By default, images and links used for tracking open and click events are hosted on domains operated by Amazon SES. You can configure a subdomain of your own to handle these events. For information about using custom domains, see the Amazon SES Developer Guide.

    " + }, + "UpdateCustomVerificationEmailTemplate":{ + "name":"UpdateCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCustomVerificationEmailTemplateRequest"}, + "errors":[ + {"shape":"CustomVerificationEmailTemplateDoesNotExistException"}, + {"shape":"FromEmailAddressNotVerifiedException"}, + {"shape":"CustomVerificationEmailInvalidContentException"} ], - "documentation":"

    Updates the event destination of a configuration set.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

    Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. For information about using configuration sets, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Updates an existing custom verification email template.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "UpdateReceiptRule":{ "name":"UpdateReceiptRule", @@ -685,7 +1015,24 @@ {"shape":"RuleDoesNotExistException"}, {"shape":"LimitExceededException"} ], - "documentation":"

    Updates a receipt rule.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    This action is throttled at one request per second.

    " + "documentation":"

    Updates a receipt rule.

    For information about managing receipt rules, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " + }, + "UpdateTemplate":{ + "name":"UpdateTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateTemplateRequest"}, + "output":{ + "shape":"UpdateTemplateResponse", + "resultWrapper":"UpdateTemplateResult" + }, + "errors":[ + {"shape":"TemplateDoesNotExistException"}, + {"shape":"InvalidTemplateException"} + ], + "documentation":"

    Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "VerifyDomainDkim":{ "name":"VerifyDomainDkim", @@ -698,7 +1045,7 @@ "shape":"VerifyDomainDkimResponse", "resultWrapper":"VerifyDomainDkimResult" }, - "documentation":"

    Returns a set of DKIM tokens for a domain. DKIM tokens are character strings that represent your domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain.

    This action is throttled at one request per second.

    To enable or disable Easy DKIM signing for a domain, use the SetIdentityDkimEnabled action.

    For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

    " + "documentation":"

    Returns a set of DKIM tokens for a domain identity.

    When you execute the VerifyDomainDkim operation, the domain that you specify is added to the list of identities that are associated with your account. This is true even if you haven't already associated the domain with your account by using the VerifyDomainIdentity operation. However, you can't send email from the domain until you either successfully verify it or you successfully set up DKIM for it.

    You use the tokens that are generated by this operation to create CNAME records. When Amazon SES detects that you've added these records to the DNS configuration for a domain, you can start sending email from that domain. You can start sending email even if you haven't added the TXT record provided by the VerifyDomainIdentity operation to the DNS configuration for your domain. All email that you send from the domain is authenticated using DKIM.

    To create the CNAME records for DKIM authentication, use the following values:

    • Name: token._domainkey.example.com

    • Type: CNAME

    • Value: token.dkim.amazonses.com

    In the preceding example, replace token with one of the tokens that are generated when you execute this operation. Replace example.com with your domain. Repeat this process for each token that's generated by this operation.

    You can execute this operation no more than once per second.

    " }, "VerifyDomainIdentity":{ "name":"VerifyDomainIdentity", @@ -711,7 +1058,7 @@ "shape":"VerifyDomainIdentityResponse", "resultWrapper":"VerifyDomainIdentityResult" }, - "documentation":"

    Verifies a domain.

    This action is throttled at one request per second.

    " + "documentation":"

    Adds a domain to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. For more information about verifying domains, see Verifying Email Addresses and Domains in the Amazon SES Developer Guide.

    You can execute this operation no more than once per second.

    " }, "VerifyEmailAddress":{ "name":"VerifyEmailAddress", @@ -720,7 +1067,7 @@ "requestUri":"/" }, "input":{"shape":"VerifyEmailAddressRequest"}, - "documentation":"

    Verifies an email address. This action causes a confirmation email message to be sent to the specified address.

    The VerifyEmailAddress action is deprecated as of the May 15, 2012 release of Domain Verification. The VerifyEmailIdentity action is now preferred.

    This action is throttled at one request per second.

    " + "documentation":"

    Deprecated. Use the VerifyEmailIdentity operation to verify a new email address.

    " }, "VerifyEmailIdentity":{ "name":"VerifyEmailIdentity", @@ -733,10 +1080,22 @@ "shape":"VerifyEmailIdentityResponse", "resultWrapper":"VerifyEmailIdentityResult" }, - "documentation":"

    Verifies an email address. This action causes a confirmation email message to be sent to the specified address.

    This action is throttled at one request per second.

    " + "documentation":"

    Adds an email address to the list of identities for your Amazon SES account in the current AWS region and attempts to verify it. As a result of executing this operation, a verification email is sent to the specified address.

    You can execute this operation no more than once per second.

    " } }, "shapes":{ + "AccountSendingPausedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that email sending is disabled for your entire Amazon SES account.

    You can enable or disable email sending for your Amazon SES account using UpdateAccountSendingEnabled.

    ", + "error":{ + "code":"AccountSendingPausedException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "AddHeaderAction":{ "type":"structure", "required":[ @@ -753,7 +1112,7 @@ "documentation":"

    Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

    " } }, - "documentation":"

    When included in a receipt rule, this action adds a header to the received email.

    For information about adding a header using a receipt rule, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action adds a header to the received email.

    For information about adding a header using a receipt rule, see the Amazon SES Developer Guide.

    " }, "Address":{"type":"string"}, "AddressList":{ @@ -763,7 +1122,10 @@ "AlreadyExistsException":{ "type":"structure", "members":{ - "Name":{"shape":"RuleOrRuleSetName"} + "Name":{ + "shape":"RuleOrRuleSetName", + "documentation":"

    Indicates that a resource could not be created because the resource name already exists.

    " + } }, "documentation":"

    Indicates that a resource could not be created because of a naming conflict.

    ", "error":{ @@ -806,7 +1168,7 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the bounce action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " }, "SmtpReplyCode":{ "shape":"BounceSmtpReplyCode", @@ -825,7 +1187,7 @@ "documentation":"

    The email address of the sender of the bounced email. This is the address from which the bounce message will be sent.

    " } }, - "documentation":"

    When included in a receipt rule, this action rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    For information about sending a bounce message in response to a received email, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action rejects the received email by returning a bounce response to the sender and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    For information about sending a bounce message in response to a received email, see the Amazon SES Developer Guide.

    " }, "BounceMessage":{"type":"string"}, "BounceSmtpReplyCode":{"type":"string"}, @@ -851,7 +1213,7 @@ }, "RecipientArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the bounced email. For more information about sending authorization, see the Amazon SES Developer Guide.

    " }, "BounceType":{ "shape":"BounceType", @@ -862,16 +1224,80 @@ "documentation":"

    Recipient-related DSN fields, most of which would normally be filled in automatically when provided with a BounceType. You must provide either this parameter or BounceType.

    " } }, - "documentation":"

    Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " }, "BouncedRecipientInfoList":{ "type":"list", "member":{"shape":"BouncedRecipientInfo"} }, + "BulkEmailDestination":{ + "type":"structure", + "required":["Destination"], + "members":{ + "Destination":{"shape":"Destination"}, + "ReplacementTags":{ + "shape":"MessageTagList", + "documentation":"

    A list of tags, in the form of name/value pairs, to apply to an email that you send using SendBulkTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

    " + }, + "ReplacementTemplateData":{ + "shape":"TemplateData", + "documentation":"

    A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

    " + } + }, + "documentation":"

    An array that contains one or more Destinations, as well as the tags and replacement data associated with each of those Destinations.

    " + }, + "BulkEmailDestinationList":{ + "type":"list", + "member":{"shape":"BulkEmailDestination"} + }, + "BulkEmailDestinationStatus":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"BulkEmailStatus", + "documentation":"

    The status of a message sent using the SendBulkTemplatedEmail operation.

    Possible values for this parameter include:

    • Success: Amazon SES accepted the message, and will attempt to deliver it to the recipients.

    • MessageRejected: The message was rejected because it contained a virus.

    • MailFromDomainNotVerified: The sender's email address or domain was not verified.

    • ConfigurationSetDoesNotExist: The configuration set you specified does not exist.

    • TemplateDoesNotExist: The template you specified does not exist.

    • AccountSuspended: Your account has been shut down because of issues related to your email sending practices.

    • AccountThrottled: The number of emails you can send has been reduced because your account has exceeded its allocated sending limit.

    • AccountDailyQuotaExceeded: You have reached or exceeded the maximum number of emails you can send from your account in a 24-hour period.

    • InvalidSendingPoolName: The configuration set you specified refers to an IP pool that does not exist.

    • AccountSendingPaused: Email sending for the Amazon SES account was disabled using the UpdateAccountSendingEnabled operation.

    • ConfigurationSetSendingPaused: Email sending for this configuration set was disabled using the UpdateConfigurationSetSendingEnabled operation.

    • InvalidParameterValue: One or more of the parameters you specified when calling this operation was invalid. See the error message for additional information.

    • TransientFailure: Amazon SES was unable to process your request because of a temporary issue.

    • Failed: Amazon SES was unable to process your request. See the error message for additional information.

    " + }, + "Error":{ + "shape":"Error", + "documentation":"

    A description of an error that prevented a message being sent using the SendBulkTemplatedEmail operation.

    " + }, + "MessageId":{ + "shape":"MessageId", + "documentation":"

    The unique message identifier returned from the SendBulkTemplatedEmail operation.

    " + } + }, + "documentation":"

    An object that contains the response from the SendBulkTemplatedEmail operation.

    " + }, + "BulkEmailDestinationStatusList":{ + "type":"list", + "member":{"shape":"BulkEmailDestinationStatus"} + }, + "BulkEmailStatus":{ + "type":"string", + "enum":[ + "Success", + "MessageRejected", + "MailFromDomainNotVerified", + "ConfigurationSetDoesNotExist", + "TemplateDoesNotExist", + "AccountSuspended", + "AccountThrottled", + "AccountDailyQuotaExceeded", + "InvalidSendingPoolName", + "AccountSendingPaused", + "ConfigurationSetSendingPaused", + "InvalidParameterValue", + "TransientFailure", + "Failed" + ] + }, "CannotDeleteException":{ "type":"structure", "members":{ - "Name":{"shape":"RuleOrRuleSetName"} + "Name":{ + "shape":"RuleOrRuleSetName", + "documentation":"

    Indicates that a resource could not be deleted because no resource with the specified name exists.

    " + } }, "documentation":"

    Indicates that the delete operation could not be completed.

    ", "error":{ @@ -892,14 +1318,14 @@ "members":{ "RuleSetName":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the rule set to create. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the rule set to create. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " }, "OriginalRuleSetName":{ "shape":"ReceiptRuleSetName", "documentation":"

    The name of the rule set to clone.

    " } }, - "documentation":"

    Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "CloneReceiptRuleSetResponse":{ "type":"structure", @@ -916,7 +1342,7 @@ "documentation":"

    A list of dimensions upon which to categorize your emails when you publish email sending events to Amazon CloudWatch.

    " } }, - "documentation":"

    Contains information associated with an Amazon CloudWatch event destination to which email sending events are published.

    Event destinations, such as Amazon CloudWatch, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Contains information associated with an Amazon CloudWatch event destination to which email sending events are published.

    Event destinations, such as Amazon CloudWatch, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "CloudWatchDimensionConfiguration":{ "type":"structure", @@ -928,7 +1354,7 @@ "members":{ "DimensionName":{ "shape":"DimensionName", - "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " + "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " }, "DimensionValueSource":{ "shape":"DimensionValueSource", @@ -936,10 +1362,10 @@ }, "DefaultDimensionValue":{ "shape":"DefaultDimensionValue", - "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " + "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you do not provide the value of the dimension when you send an email. The default value must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " } }, - "documentation":"

    Contains the dimension configuration to use when you publish email sending events to Amazon CloudWatch.

    For information about publishing email sending events to Amazon CloudWatch, see the Amazon SES Developer Guide.

    " + "documentation":"

    Contains the dimension configuration to use when you publish email sending events to Amazon CloudWatch.

    For information about publishing email sending events to Amazon CloudWatch, see the Amazon SES Developer Guide.

    " }, "CloudWatchDimensionConfigurations":{ "type":"list", @@ -951,15 +1377,18 @@ "members":{ "Name":{ "shape":"ConfigurationSetName", - "documentation":"

    The name of the configuration set. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the configuration set. The name must meet the following requirements:

    • Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain 64 characters or fewer.

    " } }, - "documentation":"

    The name of the configuration set.

    Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    The name of the configuration set.

    Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. For more information about using configuration sets, see Using Amazon SES Configuration Sets in the Amazon SES Developer Guide.

    " }, "ConfigurationSetAlreadyExistsException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + } }, "documentation":"

    Indicates that the configuration set could not be created because of a naming conflict.

    ", "error":{ @@ -971,7 +1400,12 @@ }, "ConfigurationSetAttribute":{ "type":"string", - "enum":["eventDestinations"] + "enum":[ + "eventDestinations", + "trackingOptions", + "deliveryOptions", + "reputationOptions" + ] }, "ConfigurationSetAttributeList":{ "type":"list", @@ -980,7 +1414,10 @@ "ConfigurationSetDoesNotExistException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + } }, "documentation":"

    Indicates that the configuration set does not exist.

    ", "error":{ @@ -991,6 +1428,22 @@ "exception":true }, "ConfigurationSetName":{"type":"string"}, + "ConfigurationSetSendingPausedException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set for which email sending is disabled.

    " + } + }, + "documentation":"

    Indicates that email sending is disabled for the configuration set.

    You can enable or disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled.

    ", + "error":{ + "code":"ConfigurationSetSendingPausedException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ConfigurationSets":{ "type":"list", "member":{"shape":"ConfigurationSet"} @@ -1020,14 +1473,14 @@ "members":{ "ConfigurationSetName":{ "shape":"ConfigurationSetName", - "documentation":"

    The name of the configuration set to which to apply the event destination.

    " + "documentation":"

    The name of the configuration set that the event destination should be associated with.

    " }, "EventDestination":{ "shape":"EventDestination", - "documentation":"

    An object that describes the AWS service to which Amazon SES will publish the email sending events associated with the specified configuration set.

    " + "documentation":"

    An object that describes the AWS service that email sending event information will be published to.

    " } }, - "documentation":"

    Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an AWS service in which Amazon SES publishes the email sending events associated with a configuration set. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "CreateConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -1044,7 +1497,7 @@ "documentation":"

    A data structure that contains the name of the configuration set.

    " } }, - "documentation":"

    Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "CreateConfigurationSetResponse":{ "type":"structure", @@ -1052,7 +1505,66 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, - "CreateReceiptFilterRequest":{ + "CreateConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "TrackingOptions" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that the tracking options should be associated with.

    " + }, + "TrackingOptions":{"shape":"TrackingOptions"} + }, + "documentation":"

    Represents a request to create an open and click tracking option object in a configuration set.

    " + }, + "CreateConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An empty element returned on a successful request.

    " + }, + "CreateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "FromEmailAddress", + "TemplateSubject", + "TemplateContent", + "SuccessRedirectionURL", + "FailureRedirectionURL" + ], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template.

    " + }, + "FromEmailAddress":{ + "shape":"FromAddress", + "documentation":"

    The email address that the custom verification email is sent from.

    " + }, + "TemplateSubject":{ + "shape":"Subject", + "documentation":"

    The subject line of the custom verification email.

    " + }, + "TemplateContent":{ + "shape":"TemplateContent", + "documentation":"

    The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

    " + }, + "SuccessRedirectionURL":{ + "shape":"SuccessRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

    " + }, + "FailureRedirectionURL":{ + "shape":"FailureRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

    " + } + }, + "documentation":"

    Represents a request to create a custom verification email template.

    " + }, + "CreateReceiptFilterRequest":{ "type":"structure", "required":["Filter"], "members":{ @@ -1061,7 +1573,7 @@ "documentation":"

    A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it.

    " } }, - "documentation":"

    Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "CreateReceiptFilterResponse":{ "type":"structure", @@ -1078,7 +1590,7 @@ "members":{ "RuleSetName":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the rule set to which to add the rule.

    " + "documentation":"

    The name of the rule set that the receipt rule will be added to.

    " }, "After":{ "shape":"ReceiptRuleName", @@ -1089,7 +1601,7 @@ "documentation":"

    A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy.

    " } }, - "documentation":"

    Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "CreateReceiptRuleResponse":{ "type":"structure", @@ -1103,10 +1615,10 @@ "members":{ "RuleSetName":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the rule set to create. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the rule set to create. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " } }, - "documentation":"

    Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "CreateReceiptRuleSetResponse":{ "type":"structure", @@ -1114,6 +1626,22 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, + "CreateTemplateRequest":{ + "type":"structure", + "required":["Template"], + "members":{ + "Template":{ + "shape":"Template", + "documentation":"

    The content of the email, composed of a subject line, an HTML part, and a text-only part.

    " + } + }, + "documentation":"

    Represents a request to create an email template. For more information, see the Amazon SES Developer Guide.

    " + }, + "CreateTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "CustomMailFromStatus":{ "type":"string", "enum":[ @@ -1123,6 +1651,81 @@ "TemporaryFailure" ] }, + "CustomRedirectDomain":{"type":"string"}, + "CustomVerificationEmailInvalidContentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that custom verification email template provided content is invalid.

    ", + "error":{ + "code":"CustomVerificationEmailInvalidContent", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplate":{ + "type":"structure", + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template.

    " + }, + "FromEmailAddress":{ + "shape":"FromAddress", + "documentation":"

    The email address that the custom verification email is sent from.

    " + }, + "TemplateSubject":{ + "shape":"Subject", + "documentation":"

    The subject line of the custom verification email.

    " + }, + "SuccessRedirectionURL":{ + "shape":"SuccessRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

    " + }, + "FailureRedirectionURL":{ + "shape":"FailureRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

    " + } + }, + "documentation":"

    Contains information about a custom verification email template.

    " + }, + "CustomVerificationEmailTemplateAlreadyExistsException":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplateName":{ + "shape":"TemplateName", + "documentation":"

    Indicates that the provided custom verification email template with the specified template name already exists.

    " + } + }, + "documentation":"

    Indicates that a custom verification email template with the name you specified already exists.

    ", + "error":{ + "code":"CustomVerificationEmailTemplateAlreadyExists", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplateDoesNotExistException":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplateName":{ + "shape":"TemplateName", + "documentation":"

    Indicates that the provided custom verification email template does not exist.

    " + } + }, + "documentation":"

    Indicates that a custom verification email template with the name you specified does not exist.

    ", + "error":{ + "code":"CustomVerificationEmailTemplateDoesNotExist", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "CustomVerificationEmailTemplates":{ + "type":"list", + "member":{"shape":"CustomVerificationEmailTemplate"} + }, "DefaultDimensionValue":{"type":"string"}, "DeleteConfigurationSetEventDestinationRequest":{ "type":"structure", @@ -1140,7 +1743,7 @@ "documentation":"

    The name of the event destination to delete.

    " } }, - "documentation":"

    Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "DeleteConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -1157,7 +1760,7 @@ "documentation":"

    The name of the configuration set to delete.

    " } }, - "documentation":"

    Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "DeleteConfigurationSetResponse":{ "type":"structure", @@ -1165,6 +1768,34 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, + "DeleteConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set from which you want to delete the tracking options.

    " + } + }, + "documentation":"

    Represents a request to delete open and click tracking options in a configuration set.

    " + }, + "DeleteConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An empty element returned on a successful request.

    " + }, + "DeleteCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template that you want to delete.

    " + } + }, + "documentation":"

    Represents a request to delete an existing custom verification email template.

    " + }, "DeleteIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -1181,7 +1812,7 @@ "documentation":"

    The name of the policy to be deleted.

    " } }, - "documentation":"

    Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " }, "DeleteIdentityPolicyResponse":{ "type":"structure", @@ -1215,7 +1846,7 @@ "documentation":"

    The name of the IP address filter to delete.

    " } }, - "documentation":"

    Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DeleteReceiptFilterResponse":{ "type":"structure", @@ -1239,7 +1870,7 @@ "documentation":"

    The name of the receipt rule to delete.

    " } }, - "documentation":"

    Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DeleteReceiptRuleResponse":{ "type":"structure", @@ -1256,7 +1887,7 @@ "documentation":"

    The name of the receipt rule set to delete.

    " } }, - "documentation":"

    Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DeleteReceiptRuleSetResponse":{ "type":"structure", @@ -1264,6 +1895,22 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, + "DeleteTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the template to be deleted.

    " + } + }, + "documentation":"

    Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide.

    " + }, + "DeleteTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteVerifiedEmailAddressRequest":{ "type":"structure", "required":["EmailAddress"], @@ -1275,11 +1922,21 @@ }, "documentation":"

    Represents a request to delete an email address from the list of email addresses you have attempted to verify under your AWS account.

    " }, + "DeliveryOptions":{ + "type":"structure", + "members":{ + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    " + } + }, + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).

    " + }, "DescribeActiveReceiptRuleSetRequest":{ "type":"structure", "members":{ }, - "documentation":"

    Represents a request to return the metadata and receipt rules for the receipt rule set that is currently active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the metadata and receipt rules for the receipt rule set that is currently active. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DescribeActiveReceiptRuleSetResponse":{ "type":"structure", @@ -1308,7 +1965,7 @@ "documentation":"

    A list of configuration set attributes to return.

    " } }, - "documentation":"

    Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "DescribeConfigurationSetResponse":{ "type":"structure", @@ -1320,9 +1977,18 @@ "EventDestinations":{ "shape":"EventDestinations", "documentation":"

    A list of event destinations associated with the configuration set.

    " + }, + "TrackingOptions":{ + "shape":"TrackingOptions", + "documentation":"

    The name of the custom open and click tracking domain associated with the configuration set.

    " + }, + "DeliveryOptions":{"shape":"DeliveryOptions"}, + "ReputationOptions":{ + "shape":"ReputationOptions", + "documentation":"

    An object that represents the reputation settings for the configuration set.

    " } }, - "documentation":"

    Represents the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "DescribeReceiptRuleRequest":{ "type":"structure", @@ -1333,14 +1999,14 @@ "members":{ "RuleSetName":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the receipt rule set to which the receipt rule belongs.

    " + "documentation":"

    The name of the receipt rule set that the receipt rule belongs to.

    " }, "RuleName":{ "shape":"ReceiptRuleName", "documentation":"

    The name of the receipt rule.

    " } }, - "documentation":"

    Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DescribeReceiptRuleResponse":{ "type":"structure", @@ -1361,7 +2027,7 @@ "documentation":"

    The name of the receipt rule set to describe.

    " } }, - "documentation":"

    Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "DescribeReceiptRuleSetResponse":{ "type":"structure", @@ -1382,18 +2048,18 @@ "members":{ "ToAddresses":{ "shape":"AddressList", - "documentation":"

    The To: field(s) of the message.

    " + "documentation":"

    The recipients to place on the To: line of the message.

    " }, "CcAddresses":{ "shape":"AddressList", - "documentation":"

    The CC: field(s) of the message.

    " + "documentation":"

    The recipients to place on the CC: line of the message.

    " }, "BccAddresses":{ "shape":"AddressList", - "documentation":"

    The BCC: field(s) of the message.

    " + "documentation":"

    The recipients to place on the BCC: line of the message.

    " } }, - "documentation":"

    Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

    By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

    " + "documentation":"

    Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

    Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a destination email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492.

    " }, "DiagnosticCode":{"type":"string"}, "DimensionName":{"type":"string"}, @@ -1401,7 +2067,8 @@ "type":"string", "enum":[ "messageTag", - "emailHeader" + "emailHeader", + "linkTag" ] }, "DkimAttributes":{ @@ -1422,6 +2089,7 @@ }, "DsnStatus":{"type":"string"}, "Enabled":{"type":"boolean"}, + "Error":{"type":"string"}, "EventDestination":{ "type":"structure", "required":[ @@ -1431,7 +2099,7 @@ "members":{ "Name":{ "shape":"EventDestinationName", - "documentation":"

    The name of the event destination. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the event destination. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 64 characters.

    " }, "Enabled":{ "shape":"Enabled", @@ -1448,15 +2116,25 @@ "CloudWatchDestination":{ "shape":"CloudWatchDestination", "documentation":"

    An object that contains the names, default values, and sources of the dimensions associated with an Amazon CloudWatch event destination.

    " + }, + "SNSDestination":{ + "shape":"SNSDestination", + "documentation":"

    An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

    " } }, - "documentation":"

    Contains information about the event destination to which the specified email sending events are published.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be either Amazon CloudWatch or Amazon Kinesis Firehose.

    Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch or Amazon Kinesis Firehose. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Contains information about the event destination that the specified email sending events will be published to.

    When you create or update an event destination, you must provide one, and only one, destination. The destination can be Amazon CloudWatch, Amazon Kinesis Firehose or Amazon Simple Notification Service (Amazon SNS).

    Event destinations are associated with configuration sets, which enable you to publish email sending events to Amazon CloudWatch, Amazon Kinesis Firehose, or Amazon Simple Notification Service (Amazon SNS). For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "EventDestinationAlreadyExistsException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"}, - "EventDestinationName":{"shape":"EventDestinationName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    Indicates that the event destination does not exist.

    " + } }, "documentation":"

    Indicates that the event destination could not be created because of a naming conflict.

    ", "error":{ @@ -1469,8 +2147,14 @@ "EventDestinationDoesNotExistException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"}, - "EventDestinationName":{"shape":"EventDestinationName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    Indicates that the event destination does not exist.

    " + } }, "documentation":"

    Indicates that the event destination does not exist.

    ", "error":{ @@ -1492,7 +2176,10 @@ "reject", "bounce", "complaint", - "delivery" + "delivery", + "open", + "click", + "renderingFailure" ] }, "EventTypes":{ @@ -1516,7 +2203,7 @@ "documentation":"

    The value of the header to add. Must be less than 2048 characters, and must not contain newline characters (\"\\r\" or \"\\n\").

    " } }, - "documentation":"

    Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Additional X-headers to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " }, "ExtensionFieldList":{ "type":"list", @@ -1524,6 +2211,75 @@ }, "ExtensionFieldName":{"type":"string"}, "ExtensionFieldValue":{"type":"string"}, + "FailureRedirectionURL":{"type":"string"}, + "FromAddress":{"type":"string"}, + "FromEmailAddressNotVerifiedException":{ + "type":"structure", + "members":{ + "FromEmailAddress":{ + "shape":"FromAddress", + "documentation":"

    Indicates that the from email address associated with the custom verification email template is not verified.

    " + } + }, + "documentation":"

    Indicates that the sender address specified for a custom verification email is not verified, and is therefore not eligible to send the custom verification email.

    ", + "error":{ + "code":"FromEmailAddressNotVerified", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "GetAccountSendingEnabledResponse":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

    " + } + }, + "documentation":"

    Represents a request to return the email sending status for your Amazon SES account in the current AWS Region.

    " + }, + "GetCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template that you want to retrieve.

    " + } + }, + "documentation":"

    Represents a request to retrieve an existing custom verification email template.

    " + }, + "GetCustomVerificationEmailTemplateResponse":{ + "type":"structure", + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template.

    " + }, + "FromEmailAddress":{ + "shape":"FromAddress", + "documentation":"

    The email address that the custom verification email is sent from.

    " + }, + "TemplateSubject":{ + "shape":"Subject", + "documentation":"

    The subject line of the custom verification email.

    " + }, + "TemplateContent":{ + "shape":"TemplateContent", + "documentation":"

    The content of the custom verification email.

    " + }, + "SuccessRedirectionURL":{ + "shape":"SuccessRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

    " + }, + "FailureRedirectionURL":{ + "shape":"FailureRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

    " + } + }, + "documentation":"

    The content of the custom verification email template.

    " + }, "GetIdentityDkimAttributesRequest":{ "type":"structure", "required":["Identities"], @@ -1533,7 +2289,7 @@ "documentation":"

    A list of one or more verified identities - email addresses, domains, or both.

    " } }, - "documentation":"

    Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and whether Amazon SES successfully verified that these tokens were published. For more information about Easy DKIM, see the Amazon SES Developer Guide.

    " }, "GetIdentityDkimAttributesResponse":{ "type":"structure", @@ -1555,7 +2311,7 @@ "documentation":"

    A list of one or more identities.

    " } }, - "documentation":"

    Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

    " }, "GetIdentityMailFromDomainAttributesResponse":{ "type":"structure", @@ -1577,7 +2333,7 @@ "documentation":"

    A list of one or more identities. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    " } }, - "documentation":"

    Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

    " }, "GetIdentityNotificationAttributesResponse":{ "type":"structure", @@ -1606,7 +2362,7 @@ "documentation":"

    A list of the names of policies to be retrieved. You can retrieve a maximum of 20 policies at a time. If you do not know the names of the policies that are attached to the identity, you can use ListIdentityPolicies.

    " } }, - "documentation":"

    Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " }, "GetIdentityPoliciesResponse":{ "type":"structure", @@ -1628,7 +2384,7 @@ "documentation":"

    A list of identities.

    " } }, - "documentation":"

    Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying identities with Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying identities with Amazon SES, see the Amazon SES Developer Guide.

    " }, "GetIdentityVerificationAttributesResponse":{ "type":"structure", @@ -1669,8 +2425,25 @@ }, "documentation":"

    Represents a list of data points. This list contains aggregated data from the previous two weeks of your sending activity with Amazon SES.

    " }, + "GetTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the template you want to retrieve.

    " + } + } + }, + "GetTemplateResponse":{ + "type":"structure", + "members":{ + "Template":{"shape":"Template"} + } + }, "HeaderName":{"type":"string"}, "HeaderValue":{"type":"string"}, + "HtmlPart":{"type":"string"}, "Identity":{"type":"string"}, "IdentityDkimAttributes":{ "type":"structure", @@ -1681,7 +2454,7 @@ "members":{ "DkimEnabled":{ "shape":"Enabled", - "documentation":"

    True if DKIM signing is enabled for email sent from the identity; false otherwise. The default value is true.

    " + "documentation":"

    Is true if DKIM signing is enabled for email sent from the identity. It's false otherwise. The default value is true.

    " }, "DkimVerificationStatus":{ "shape":"VerificationStatus", @@ -1689,7 +2462,7 @@ }, "DkimTokens":{ "shape":"VerificationTokenList", - "documentation":"

    A set of character strings that represent the domain's identity. Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

    For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

    " + "documentation":"

    A set of character strings that represent the domain's identity. Using these tokens, you need to create DNS CNAME records that point to DKIM public keys that are hosted by Amazon SES. Amazon Web Services eventually detects that you've updated your DNS records. This detection process might take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

    For more information about creating DNS records using DKIM tokens, see the Amazon SES Developer Guide.

    " } }, "documentation":"

    Represents the DKIM attributes of a verified email address or a domain.

    " @@ -1786,8 +2559,14 @@ "InvalidCloudWatchDestinationException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"}, - "EventDestinationName":{"shape":"EventDestinationName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    Indicates that the event destination does not exist.

    " + } }, "documentation":"

    Indicates that the Amazon CloudWatch destination is invalid. See the error message for details.

    ", "error":{ @@ -1809,11 +2588,29 @@ }, "exception":true }, + "InvalidDeliveryOptionsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that provided delivery option is invalid.

    ", + "error":{ + "code":"InvalidDeliveryOptions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidFirehoseDestinationException":{ "type":"structure", "members":{ - "ConfigurationSetName":{"shape":"ConfigurationSetName"}, - "EventDestinationName":{"shape":"EventDestinationName"} + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    Indicates that the event destination does not exist.

    " + } }, "documentation":"

    Indicates that the Amazon Kinesis Firehose destination is invalid. See the error message for details.

    ", "error":{ @@ -1826,9 +2623,12 @@ "InvalidLambdaFunctionException":{ "type":"structure", "members":{ - "FunctionArn":{"shape":"AmazonResourceName"} + "FunctionArn":{ + "shape":"AmazonResourceName", + "documentation":"

    Indicates that the ARN of the function was not found.

    " + } }, - "documentation":"

    Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the provided function, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", + "documentation":"

    Indicates that the provided AWS Lambda function is invalid, or that Amazon SES could not execute the provided function, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", "error":{ "code":"InvalidLambdaFunction", "httpStatusCode":400, @@ -1848,12 +2648,28 @@ }, "exception":true }, + "InvalidRenderingParameterException":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"} + }, + "documentation":"

    Indicates that one or more of the replacement values you provided is invalid. This error may occur when the TemplateData object contains invalid JSON.

    ", + "error":{ + "code":"InvalidRenderingParameter", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidS3ConfigurationException":{ "type":"structure", "members":{ - "Bucket":{"shape":"S3BucketName"} + "Bucket":{ + "shape":"S3BucketName", + "documentation":"

    Indicated that the S3 Bucket was not found.

    " + } }, - "documentation":"

    Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES could not publish to the bucket, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", + "documentation":"

    Indicates that the provided Amazon S3 bucket or AWS KMS encryption key is invalid, or that Amazon SES could not publish to the bucket, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", "error":{ "code":"InvalidS3Configuration", "httpStatusCode":400, @@ -1861,12 +2677,35 @@ }, "exception":true }, + "InvalidSNSDestinationException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that the configuration set does not exist.

    " + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    Indicates that the event destination does not exist.

    " + } + }, + "documentation":"

    Indicates that the Amazon Simple Notification Service (Amazon SNS) destination is invalid. See the error message for details.

    ", + "error":{ + "code":"InvalidSNSDestination", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidSnsTopicException":{ "type":"structure", "members":{ - "Topic":{"shape":"AmazonResourceName"} + "Topic":{ + "shape":"AmazonResourceName", + "documentation":"

    Indicates that the topic does not exist.

    " + } }, - "documentation":"

    Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", + "documentation":"

    Indicates that the provided Amazon SNS topic is invalid, or that Amazon SES could not publish to the topic, possibly due to permissions issues. For information about giving permissions, see the Amazon SES Developer Guide.

    ", "error":{ "code":"InvalidSnsTopic", "httpStatusCode":400, @@ -1874,6 +2713,31 @@ }, "exception":true }, + "InvalidTemplateException":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"} + }, + "documentation":"

    Indicates that the template that you specified could not be rendered. This issue may occur when a template refers to a partial that does not exist.

    ", + "error":{ + "code":"InvalidTemplate", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "InvalidTrackingOptionsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that the custom domain to be used for open and click tracking redirects is invalid. This error appears most often in the following situations:

    • When the tracking domain you specified is not verified in Amazon SES.

    • When the tracking domain you specified is not a valid domain or subdomain.

    ", + "error":{ + "code":"InvalidTrackingOptions", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvocationType":{ "type":"string", "enum":[ @@ -1894,10 +2758,10 @@ }, "DeliveryStreamARN":{ "shape":"AmazonResourceName", - "documentation":"

    The ARN of the Amazon Kinesis Firehose stream to which to publish email sending events.

    " + "documentation":"

    The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to.

    " } }, - "documentation":"

    Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

    Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination.

    Event destinations, such as Amazon Kinesis Firehose, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "LambdaAction":{ "type":"structure", @@ -1905,25 +2769,26 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the Lambda action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " }, "FunctionArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Lambda function. An example of an AWS Lambda function ARN is arn:aws:lambda:us-west-2:account-id:function:MyFunction. For more information about AWS Lambda, see the AWS Lambda Developer Guide.

    " }, "InvocationType":{ "shape":"InvocationType", - "documentation":"

    The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

    There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

    " + "documentation":"

    The invocation type of the AWS Lambda function. An invocation type of RequestResponse means that the execution of the function will immediately result in a response, and a value of Event means that the function will be invoked asynchronously. The default value is Event. For information about AWS Lambda invocation types, see the AWS Lambda Developer Guide.

    There is a 30-second timeout on RequestResponse invocations. You should use Event invocation in most cases. Use RequestResponse only when you want to make a mail flow decision, such as whether to stop the receipt rule or the receipt rule set.

    " } }, - "documentation":"

    When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

    For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action calls an AWS Lambda function and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    To enable Amazon SES to call your AWS Lambda function or to publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

    For information about using AWS Lambda actions in receipt rules, see the Amazon SES Developer Guide.

    " }, "LastAttemptDate":{"type":"timestamp"}, + "LastFreshStart":{"type":"timestamp"}, "LimitExceededException":{ "type":"structure", "members":{ }, - "documentation":"

    Indicates that a resource could not be created because of service limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.

    ", + "documentation":"

    Indicates that a resource could not be created because of service limits. For a list of Amazon SES limits, see the Amazon SES Developer Guide.

    ", "error":{ "code":"LimitExceeded", "httpStatusCode":400, @@ -1943,7 +2808,7 @@ "documentation":"

    The number of configuration sets to return.

    " } }, - "documentation":"

    Represents a request to list the configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to list the configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "ListConfigurationSetsResponse":{ "type":"structure", @@ -1957,7 +2822,35 @@ "documentation":"

    A token indicating that there are additional configuration sets available to be listed. Pass this token to successive calls of ListConfigurationSets.

    " } }, - "documentation":"

    A list of configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    A list of configuration sets associated with your AWS account. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + }, + "ListCustomVerificationEmailTemplatesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    An array the contains the name and creation time stamp for each template in your Amazon SES account.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of custom verification email templates to return. This value must be at least 1 and less than or equal to 50. If you do not specify a value, or if you specify a value less than 1 or greater than 50, the operation will return up to 50 results.

    " + } + }, + "documentation":"

    Represents a request to list the existing custom verification email templates for your account.

    For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

    " + }, + "ListCustomVerificationEmailTemplatesResponse":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplates":{ + "shape":"CustomVerificationEmailTemplates", + "documentation":"

    A list of the custom verification email templates that exist in your account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token indicating that there are additional custom verification email templates available to be listed. Pass this token to a subsequent call to ListTemplates to retrieve the next 50 custom verification email templates.

    " + } + }, + "documentation":"

    A paginated list of custom verification email templates.

    " }, "ListIdentitiesRequest":{ "type":"structure", @@ -2001,7 +2894,7 @@ "documentation":"

    The identity that is associated with the policy for which the policies will be listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    To successfully call this API, you must own the identity.

    " } }, - "documentation":"

    Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " }, "ListIdentityPoliciesResponse":{ "type":"structure", @@ -2018,7 +2911,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Represents a request to list the IP address filters that exist under your AWS account. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to list the IP address filters that exist under your AWS account. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "ListReceiptFiltersResponse":{ "type":"structure", @@ -2038,7 +2931,7 @@ "documentation":"

    A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list.

    " } }, - "documentation":"

    Represents a request to list the receipt rule sets that exist under your AWS account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to list the receipt rule sets that exist under your AWS account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "ListReceiptRuleSetsResponse":{ "type":"structure", @@ -2054,15 +2947,41 @@ }, "documentation":"

    A list of receipt rule sets that exist under your AWS account.

    " }, - "ListVerifiedEmailAddressesResponse":{ + "ListTemplatesRequest":{ "type":"structure", "members":{ - "VerifiedEmailAddresses":{ - "shape":"AddressList", - "documentation":"

    A list of email addresses that have been verified.

    " - } - }, - "documentation":"

    A list of email addresses that you have verified with Amazon SES under your AWS account.

    " + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListTemplates to indicate the position in the list of email templates.

    " + }, + "MaxItems":{ + "shape":"MaxItems", + "documentation":"

    The maximum number of templates to return. This value must be at least 1 and less than or equal to 10. If you do not specify a value, or if you specify a value less than 1 or greater than 10, the operation will return up to 10 results.

    " + } + } + }, + "ListTemplatesResponse":{ + "type":"structure", + "members":{ + "TemplatesMetadata":{ + "shape":"TemplateMetadataList", + "documentation":"

    An array the contains the name and creation time stamp for each template in your Amazon SES account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token indicating that there are additional email templates available to be listed. Pass this token to a subsequent call to ListTemplates to retrieve the next 50 email templates.

    " + } + } + }, + "ListVerifiedEmailAddressesResponse":{ + "type":"structure", + "members":{ + "VerifiedEmailAddresses":{ + "shape":"AddressList", + "documentation":"

    A list of email addresses that have been verified.

    " + } + }, + "documentation":"

    A list of email addresses that you have verified with Amazon SES under your AWS account.

    " }, "MailFromDomainAttributes":{ "type":"map", @@ -2074,7 +2993,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Indicates that the message could not be sent because Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings for an identity, see the Amazon SES Developer Guide.

    ", + "documentation":"

    Indicates that the message could not be sent because Amazon SES could not read the MX record required to use the specified MAIL FROM domain. For information about editing the custom MAIL FROM domain settings for an identity, see the Amazon SES Developer Guide.

    ", "error":{ "code":"MailFromDomainNotVerifiedException", "httpStatusCode":400, @@ -2084,6 +3003,12 @@ }, "Max24HourSend":{"type":"double"}, "MaxItems":{"type":"integer"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, "MaxSendRate":{"type":"double"}, "Message":{ "type":"structure", @@ -2121,7 +3046,7 @@ "documentation":"

    Additional X-headers to include in the DSN.

    " } }, - "documentation":"

    Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Message-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " }, "MessageId":{"type":"string"}, "MessageRejected":{ @@ -2145,14 +3070,14 @@ "members":{ "Name":{ "shape":"MessageTagName", - "documentation":"

    The name of the tag. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " + "documentation":"

    The name of the tag. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " }, "Value":{ "shape":"MessageTagValue", - "documentation":"

    The value of the tag. The value must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " + "documentation":"

    The value of the tag. The value must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Contain less than 256 characters.

    " } }, - "documentation":"

    Contains the name and value of a tag that you can provide to SendEmail or SendRawEmail to apply to an email.

    Message tags, which you use with configuration sets, enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Contains the name and value of a tag that you can provide to SendEmail or SendRawEmail to apply to an email.

    Message tags, which you use with configuration sets, enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "MessageTagList":{ "type":"list", @@ -2160,6 +3085,19 @@ }, "MessageTagName":{"type":"string"}, "MessageTagValue":{"type":"string"}, + "MissingRenderingAttributeException":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"} + }, + "documentation":"

    Indicates that one or more of the replacement values for the specified template was not specified. Ensure that the TemplateData object contains references to all of the replacement tags in the specified template.

    ", + "error":{ + "code":"MissingRenderingAttribute", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "NextToken":{"type":"string"}, "NotificationAttributes":{ "type":"map", @@ -2193,6 +3131,39 @@ "type":"list", "member":{"shape":"PolicyName"} }, + "ProductionAccessNotGrantedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Indicates that the account has not been granted production access.

    ", + "error":{ + "code":"ProductionAccessNotGranted", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "PutConfigurationSetDeliveryOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to specify the delivery options for.

    " + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS).

    " + } + }, + "documentation":"

    A request to modify the delivery options for a configuration set.

    " + }, + "PutConfigurationSetDeliveryOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, "PutIdentityPolicyRequest":{ "type":"structure", "required":[ @@ -2203,7 +3174,7 @@ "members":{ "Identity":{ "shape":"Identity", - "documentation":"

    The identity to which the policy will apply. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    To successfully call this API, you must own the identity.

    " + "documentation":"

    The identity that the policy will apply to. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    To successfully call this API, you must own the identity.

    " }, "PolicyName":{ "shape":"PolicyName", @@ -2211,10 +3182,10 @@ }, "Policy":{ "shape":"Policy", - "documentation":"

    The text of the policy in JSON format. The policy cannot exceed 4 KB.

    For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

    " + "documentation":"

    The text of the policy in JSON format. The policy cannot exceed 4 KB.

    For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

    " } }, - "documentation":"

    Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

    " }, "PutIdentityPolicyResponse":{ "type":"structure", @@ -2228,7 +3199,7 @@ "members":{ "Data":{ "shape":"RawMessageData", - "documentation":"

    The raw data of the message. The client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, MIME encoding, and base64 encoding.

    The To:, CC:, and BCC: headers in the raw message can contain a group list.

    If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

    Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

    For more information, go to the Amazon SES Developer Guide.

    " + "documentation":"

    The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an AWS SDK, the SDK takes care of the base 64-encoding for you. In all cases, the client must ensure that the message format complies with Internet email standards regarding email header fields, MIME types, and MIME encoding.

    The To:, CC:, and BCC: headers in the raw message can contain a group list.

    If you are using SendRawEmail with sending authorization, you can include X-headers in the raw message to specify the \"Source,\" \"From,\" and \"Return-Path\" addresses. For more information, see the documentation for SendRawEmail.

    Do not include these X-headers in the DKIM signature, because they are removed by Amazon SES before sending the email.

    For more information, go to the Amazon SES Developer Guide.

    " } }, "documentation":"

    Represents the raw data of the message.

    " @@ -2247,7 +3218,7 @@ }, "WorkmailAction":{ "shape":"WorkmailAction", - "documentation":"

    Calls Amazon WorkMail and, optionally, publishes a notification to Amazon SNS.

    " + "documentation":"

    Calls Amazon WorkMail and, optionally, publishes a notification to Amazon Amazon SNS.

    " }, "LambdaAction":{ "shape":"LambdaAction", @@ -2266,7 +3237,7 @@ "documentation":"

    Publishes the email content within a notification to Amazon SNS.

    " } }, - "documentation":"

    An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own. An instance of this data type can represent only one action.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    " + "documentation":"

    An action that Amazon SES can take when it receives an email on behalf of one or more email addresses or domains that you own. An instance of this data type can represent only one action.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    " }, "ReceiptActionsList":{ "type":"list", @@ -2281,14 +3252,14 @@ "members":{ "Name":{ "shape":"ReceiptFilterName", - "documentation":"

    The name of the IP address filter. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the IP address filter. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " }, "IpFilter":{ "shape":"ReceiptIpFilter", "documentation":"

    A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them.

    " } }, - "documentation":"

    A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    " + "documentation":"

    A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    " }, "ReceiptFilterList":{ "type":"list", @@ -2318,7 +3289,7 @@ "documentation":"

    A single IP address or a range of IP addresses that you want to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range of IP addresses is 10.0.0.1/24. For more information about CIDR notation, see RFC 2317.

    " } }, - "documentation":"

    A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    " + "documentation":"

    A receipt IP address filter enables you to specify whether to accept or reject mail originating from an IP address or range of IP addresses.

    For information about setting up IP address filters, see the Amazon SES Developer Guide.

    " }, "ReceiptRule":{ "type":"structure", @@ -2326,7 +3297,7 @@ "members":{ "Name":{ "shape":"ReceiptRuleName", - "documentation":"

    The name of the receipt rule. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the receipt rule. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " }, "Enabled":{ "shape":"Enabled", @@ -2338,7 +3309,7 @@ }, "Recipients":{ "shape":"RecipientsList", - "documentation":"

    The recipient domains and email addresses to which the receipt rule applies. If this field is not specified, this rule will match all recipients under all verified domains.

    " + "documentation":"

    The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule will match all recipients under all verified domains.

    " }, "Actions":{ "shape":"ReceiptActionsList", @@ -2346,10 +3317,10 @@ }, "ScanEnabled":{ "shape":"Enabled", - "documentation":"

    If true, then messages to which this receipt rule applies are scanned for spam and viruses. The default value is false.

    " + "documentation":"

    If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false.

    " } }, - "documentation":"

    Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

    Each receipt rule defines a set of email addresses or domains to which it applies. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    " + "documentation":"

    Receipt rules enable you to specify which actions Amazon SES should take when it receives mail on behalf of one or more email addresses or domains that you own.

    Each receipt rule defines a set of email addresses or domains that it applies to. If the email addresses or domains match at least one recipient address of the message, Amazon SES executes all of the receipt rule's actions on the message.

    For information about setting up receipt rules, see the Amazon SES Developer Guide.

    " }, "ReceiptRuleName":{"type":"string"}, "ReceiptRuleNamesList":{ @@ -2361,14 +3332,14 @@ "members":{ "Name":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the receipt rule set. The name must:

    • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " + "documentation":"

    The name of the receipt rule set. The name must:

    • This value can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • Start and end with a letter or number.

    • Contain less than 64 characters.

    " }, "CreatedTimestamp":{ "shape":"Timestamp", "documentation":"

    The date and time the receipt rule set was created.

    " } }, - "documentation":"

    Information about a receipt rule set.

    A receipt rule set is a collection of rules that specify what Amazon SES should do with mail it receives on behalf of your account's verified domains.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Information about a receipt rule set.

    A receipt rule set is a collection of rules that specify what Amazon SES should do with mail it receives on behalf of your account's verified domains.

    For information about setting up receipt rule sets, see the Amazon SES Developer Guide.

    " }, "ReceiptRuleSetName":{"type":"string"}, "ReceiptRuleSetsLists":{ @@ -2389,7 +3360,7 @@ "members":{ "FinalRecipient":{ "shape":"Address", - "documentation":"

    The email address to which the message was ultimately delivered. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

    Do not prepend the FinalRecipient email address with rfc 822;, as described in RFC 3798.

    " + "documentation":"

    The email address that the message was ultimately delivered to. This corresponds to the Final-Recipient in the DSN. If not specified, FinalRecipient will be set to the Recipient specified in the BouncedRecipientInfo structure. Either FinalRecipient or the recipient in BouncedRecipientInfo must be a recipient of the original bounced message.

    Do not prepend the FinalRecipient email address with rfc 822;, as described in RFC 3798.

    " }, "Action":{ "shape":"DsnAction", @@ -2416,13 +3387,14 @@ "documentation":"

    Additional X-headers to include in the DSN.

    " } }, - "documentation":"

    Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " + "documentation":"

    Recipient-related information to include in the Delivery Status Notification (DSN) when an email that Amazon SES receives on your behalf bounces.

    For information about receiving email through Amazon SES, see the Amazon SES Developer Guide.

    " }, "RecipientsList":{ "type":"list", "member":{"shape":"Recipient"} }, "RemoteMta":{"type":"string"}, + "RenderedTemplate":{"type":"string"}, "ReorderReceiptRuleSetRequest":{ "type":"structure", "required":[ @@ -2439,7 +3411,7 @@ "documentation":"

    A list of the specified receipt rule set's receipt rules in the order that you want to put them.

    " } }, - "documentation":"

    Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "ReorderReceiptRuleSetResponse":{ "type":"structure", @@ -2448,10 +3420,31 @@ "documentation":"

    An empty element returned on a successful request.

    " }, "ReportingMta":{"type":"string"}, + "ReputationOptions":{ + "type":"structure", + "members":{ + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether email sending is enabled or disabled for the configuration set. If the value is true, then Amazon SES will send emails that use the configuration set. If the value is false, Amazon SES will not send emails that use the configuration set. The default value is true. You can change this setting using UpdateConfigurationSetSendingEnabled.

    " + }, + "ReputationMetricsEnabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether or not Amazon SES publishes reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

    If the value is true, reputation metrics are published. If the value is false, reputation metrics are not published. The default value is false.

    " + }, + "LastFreshStart":{ + "shape":"LastFreshStart", + "documentation":"

    The date and time at which the reputation metrics for the configuration set were last reset. Resetting these metrics is known as a fresh start.

    When you disable email sending for a configuration set using UpdateConfigurationSetSendingEnabled and later re-enable it, the reputation metrics for the configuration set (but not for the entire Amazon SES account) are reset.

    If email sending for the configuration set has never been disabled and later re-enabled, the value of this attribute is null.

    " + } + }, + "documentation":"

    Contains information about the reputation settings for a configuration set.

    " + }, "RuleDoesNotExistException":{ "type":"structure", "members":{ - "Name":{"shape":"RuleOrRuleSetName"} + "Name":{ + "shape":"RuleOrRuleSetName", + "documentation":"

    Indicates that the named receipt rule does not exist.

    " + } }, "documentation":"

    Indicates that the provided receipt rule does not exist.

    ", "error":{ @@ -2465,7 +3458,10 @@ "RuleSetDoesNotExistException":{ "type":"structure", "members":{ - "Name":{"shape":"RuleOrRuleSetName"} + "Name":{ + "shape":"RuleOrRuleSetName", + "documentation":"

    Indicates that the named receipt rule set does not exist.

    " + } }, "documentation":"

    Indicates that the provided receipt rule set does not exist.

    ", "error":{ @@ -2481,11 +3477,11 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The ARN of the Amazon SNS topic to notify when the message is saved to the Amazon S3 bucket. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " }, "BucketName":{ "shape":"S3BucketName", - "documentation":"

    The name of the Amazon S3 bucket to which to save the received email.

    " + "documentation":"

    The name of the Amazon S3 bucket that incoming email will be saved to.

    " }, "ObjectKeyPrefix":{ "shape":"S3KeyPrefix", @@ -2493,10 +3489,10 @@ }, "KmsKeyArn":{ "shape":"AmazonResourceName", - "documentation":"

    The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

    • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

    • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

    For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

    Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS Java SDK and AWS Ruby SDK only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

    " + "documentation":"

    The customer master key that Amazon SES should use to encrypt your emails before saving them to the Amazon S3 bucket. You can use the default master key or a custom master key you created in AWS KMS as follows:

    • To use the default master key, provide an ARN in the form of arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses. For example, if your AWS account ID is 123456789012 and you want to use the default master key in the US West (Oregon) region, the ARN of the default master key would be arn:aws:kms:us-west-2:123456789012:alias/aws/ses. If you use the default master key, you don't need to perform any extra steps to give Amazon SES permission to use the key.

    • To use a custom master key you created in AWS KMS, provide the ARN of the master key and ensure that you add a statement to your key's policy to give Amazon SES permission to use it. For more information about giving permissions, see the Amazon SES Developer Guide.

    For more information about key policies, see the AWS KMS Developer Guide. If you do not specify a master key, Amazon SES will not encrypt your emails.

    Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side encryption. This means that you must use the Amazon S3 encryption client to decrypt the email after retrieving it from Amazon S3, as the service has no access to use your AWS KMS keys for decryption. This encryption client is currently available with the AWS SDK for Java and AWS SDK for Ruby only. For more information about client-side encryption using AWS KMS master keys, see the Amazon S3 Developer Guide.

    " } }, - "documentation":"

    When included in a receipt rule, this action saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

    When you save your emails to an Amazon S3 bucket, the maximum email size (including headers) is 30 MB. Emails larger than that will bounce.

    For information about specifying Amazon S3 actions in receipt rules, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action saves the received message to an Amazon Simple Storage Service (Amazon S3) bucket and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    To enable Amazon SES to write emails to your Amazon S3 bucket, use an AWS KMS key to encrypt your emails, or publish to an Amazon SNS topic of another account, Amazon SES must have permission to access those resources. For information about giving permissions, see the Amazon SES Developer Guide.

    When you save your emails to an Amazon S3 bucket, the maximum email size (including headers) is 30 MB. Emails larger than that will bounce.

    For information about specifying Amazon S3 actions in receipt rules, see the Amazon SES Developer Guide.

    " }, "S3BucketName":{"type":"string"}, "S3KeyPrefix":{"type":"string"}, @@ -2506,14 +3502,14 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " }, "Encoding":{ "shape":"SNSActionEncoding", "documentation":"

    The encoding to use for the email within the Amazon SNS notification. UTF-8 is easier to use, but may not preserve all special characters when a message was encoded with a different encoding format. Base64 preserves all special characters. The default value is UTF-8.

    " } }, - "documentation":"

    When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

    If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

    You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

    For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action publishes a notification to Amazon Simple Notification Service (Amazon SNS). This action includes a complete copy of the email content in the Amazon SNS notifications. Amazon SNS notifications for all other actions simply provide information about the email. They do not include the email content itself.

    If you own the Amazon SNS topic, you don't need to do anything to give Amazon SES permission to publish emails to it. However, if you don't own the Amazon SNS topic, you need to attach a policy to the topic to give Amazon SES permissions to access it. For information about giving permissions, see the Amazon SES Developer Guide.

    You can only publish emails that are 150 KB or less (including the header) to Amazon SNS. Larger emails will bounce. If you anticipate emails larger than 150 KB, use the S3 action instead.

    For information about using a receipt rule to publish an Amazon SNS notification, see the Amazon SES Developer Guide.

    " }, "SNSActionEncoding":{ "type":"string", @@ -2522,6 +3518,17 @@ "Base64" ] }, + "SNSDestination":{ + "type":"structure", + "required":["TopicARN"], + "members":{ + "TopicARN":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the Amazon SNS topic that email sending events will be published to. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + } + }, + "documentation":"

    Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination.

    Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + }, "SendBounceRequest":{ "type":"structure", "required":[ @@ -2552,7 +3559,7 @@ }, "BounceSenderArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the \"From\" header of the bounce. For more information about sending authorization, see the Amazon SES Developer Guide.

    " } }, "documentation":"

    Represents a request to send a bounce message to the sender of an email you received through Amazon SES.

    " @@ -2567,6 +3574,103 @@ }, "documentation":"

    Represents a unique message ID.

    " }, + "SendBulkTemplatedEmailRequest":{ + "type":"structure", + "required":[ + "Source", + "Template", + "Destinations" + ], + "members":{ + "Source":{ + "shape":"Address", + "documentation":"

    The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

    If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

    Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

    " + }, + "SourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + }, + "ReplyToAddresses":{ + "shape":"AddressList", + "documentation":"

    The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.

    " + }, + "ReturnPath":{ + "shape":"Address", + "documentation":"

    The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

    " + }, + "ReturnPathArn":{ + "shape":"AmazonResourceName", + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set to use when you send an email using SendBulkTemplatedEmail.

    " + }, + "DefaultTags":{ + "shape":"MessageTagList", + "documentation":"

    A list of tags, in the form of name/value pairs, to apply to an email that you send to a destination using SendBulkTemplatedEmail.

    " + }, + "Template":{ + "shape":"TemplateName", + "documentation":"

    The template to use when sending this email.

    " + }, + "TemplateArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the template to use when sending this email.

    " + }, + "DefaultTemplateData":{ + "shape":"TemplateData", + "documentation":"

    A list of replacement values to apply to the template when replacement data is not specified in a Destination object. These values act as a default or fallback option when no other data is available.

    The template data is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

    " + }, + "Destinations":{ + "shape":"BulkEmailDestinationList", + "documentation":"

    One or more Destination objects. All of the recipients in a Destination will receive the same version of the email. You can specify up to 50 Destination objects within a Destinations array.

    " + } + }, + "documentation":"

    Represents a request to send a templated email to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + }, + "SendBulkTemplatedEmailResponse":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{ + "shape":"BulkEmailDestinationStatusList", + "documentation":"

    The unique message identifier returned from the SendBulkTemplatedEmail action.

    " + } + } + }, + "SendCustomVerificationEmailRequest":{ + "type":"structure", + "required":[ + "EmailAddress", + "TemplateName" + ], + "members":{ + "EmailAddress":{ + "shape":"Address", + "documentation":"

    The email address to verify.

    " + }, + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template to use when sending the verification email.

    " + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Name of a configuration set to use when sending the verification email.

    " + } + }, + "documentation":"

    Represents a request to send a custom verification email to a specified recipient.

    " + }, + "SendCustomVerificationEmailResponse":{ + "type":"structure", + "members":{ + "MessageId":{ + "shape":"MessageId", + "documentation":"

    The unique message identifier returned from the SendCustomVerificationEmail operation.

    " + } + }, + "documentation":"

    The response received when attempting to send the custom verification email.

    " + }, "SendDataPoint":{ "type":"structure", "members":{ @@ -2607,7 +3711,7 @@ "members":{ "Source":{ "shape":"Address", - "documentation":"

    The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

    If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

    In all cases, the email address must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

    " + "documentation":"

    The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

    If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

    Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

    " }, "Destination":{ "shape":"Destination", @@ -2623,15 +3727,15 @@ }, "ReturnPath":{ "shape":"Address", - "documentation":"

    The email address to which bounces and complaints are to be forwarded when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

    " + "documentation":"

    The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

    " }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " }, "Tags":{ "shape":"MessageTagList", @@ -2642,7 +3746,7 @@ "documentation":"

    The name of the configuration set to use when you send an email using SendEmail.

    " } }, - "documentation":"

    Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "SendEmailResponse":{ "type":"structure", @@ -2661,7 +3765,7 @@ "members":{ "Source":{ "shape":"Address", - "documentation":"

    The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

    By default, the string must be 7-bit ASCII. If the text must contain any other characters, then you must use MIME encoded-word syntax (RFC 2047) instead of a literal string. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=. For more information, see RFC 2047.

    If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

    " + "documentation":"

    The identity's email address. If you do not provide a value for this parameter, you must specify a \"From\" address in the raw text of the message. (You can also specify both.)

    Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described in RFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

    If you specify the Source parameter and have feedback forwarding enabled, then bounces and complaints will be sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.

    " }, "Destinations":{ "shape":"AddressList", @@ -2669,19 +3773,19 @@ }, "RawMessage":{ "shape":"RawMessage", - "documentation":"

    The raw text of the message. The client is responsible for ensuring the following:

    • Message must contain a header and a body, separated by a blank line.

    • All required header fields must be present.

    • Each part of a multipart MIME message must be formatted properly.

    • MIME content types must be among those supported by Amazon SES. For more information, go to the Amazon SES Developer Guide.

    • Must be base64-encoded.

    " + "documentation":"

    The raw email message itself. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by a blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.

    • The entire message must be base64-encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see Sending Raw Email in the Amazon SES Developer Guide.

    • Per RFC 5321, the maximum length of each line of text, including the <CRLF>, must not exceed 1,000 characters.

    " }, "FromArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email.

    Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular \"From\" address in the header of the raw email.

    Instead of using this parameter, you can use the X-header X-SES-FROM-ARN in the raw message of the email. If you use both the FromArn parameter and the corresponding X-header, Amazon SES uses the value of the FromArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " }, "SourceArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN in the raw message of the email. If you use both the SourceArn parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " }, "ReturnPathArn":{ "shape":"AmazonResourceName", - "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN in the raw message of the email. If you use both the ReturnPathArn parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn parameter.

    For information about when to use this parameter, see the description of SendRawEmail in this guide, or see the Amazon SES Developer Guide.

    " }, "Tags":{ "shape":"MessageTagList", @@ -2692,7 +3796,7 @@ "documentation":"

    The name of the configuration set to use when you send an email using SendRawEmail.

    " } }, - "documentation":"

    Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "SendRawEmailResponse":{ "type":"structure", @@ -2705,6 +3809,72 @@ }, "documentation":"

    Represents a unique message ID.

    " }, + "SendTemplatedEmailRequest":{ + "type":"structure", + "required":[ + "Source", + "Destination", + "Template", + "TemplateData" + ], + "members":{ + "Source":{ + "shape":"Address", + "documentation":"

    The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about verifying identities, see the Amazon SES Developer Guide.

    If you are sending on behalf of another user and have been permitted to do so by a sending authorization policy, then you must also specify the SourceArn parameter. For more information about sending authorization, see the Amazon SES Developer Guide.

    Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a source email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492. The sender name (also known as the friendly name) may contain non-ASCII characters. These characters must be encoded using MIME encoded-word syntax, as described inRFC 2047. MIME encoded-word syntax uses the following form: =?charset?encoding?encoded-text?=.

    " + }, + "Destination":{ + "shape":"Destination", + "documentation":"

    The destination for this email, composed of To:, CC:, and BCC: fields. A Destination can include up to 50 recipients across these three fields.

    " + }, + "ReplyToAddresses":{ + "shape":"AddressList", + "documentation":"

    The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address will receive the reply.

    " + }, + "ReturnPath":{ + "shape":"Address", + "documentation":"

    The email address that bounces and complaints will be forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message will be returned from the recipient's ISP; this message will then be forwarded to the email address specified by the ReturnPath parameter. The ReturnPath parameter is never overwritten. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES.

    " + }, + "SourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the Source parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to send from user@example.com, then you would specify the SourceArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the Source to be user@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + }, + "ReturnPathArn":{ + "shape":"AmazonResourceName", + "documentation":"

    This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the ReturnPath parameter.

    For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the ReturnPathArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the ReturnPath to be feedback@example.com.

    For more information about sending authorization, see the Amazon SES Developer Guide.

    " + }, + "Tags":{ + "shape":"MessageTagList", + "documentation":"

    A list of tags, in the form of name/value pairs, to apply to an email that you send using SendTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

    " + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set to use when you send an email using SendTemplatedEmail.

    " + }, + "Template":{ + "shape":"TemplateName", + "documentation":"

    The template to use when sending this email.

    " + }, + "TemplateArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the template to use when sending this email.

    " + }, + "TemplateData":{ + "shape":"TemplateData", + "documentation":"

    A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

    " + } + }, + "documentation":"

    Represents a request to send a templated email using Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + }, + "SendTemplatedEmailResponse":{ + "type":"structure", + "required":["MessageId"], + "members":{ + "MessageId":{ + "shape":"MessageId", + "documentation":"

    The unique message identifier returned from the SendTemplatedEmail action.

    " + } + } + }, "SentLast24Hours":{"type":"double"}, "SetActiveReceiptRuleSetRequest":{ "type":"structure", @@ -2714,7 +3884,7 @@ "documentation":"

    The name of the receipt rule set to make active. Setting this value to null disables all email receiving.

    " } }, - "documentation":"

    Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "SetActiveReceiptRuleSetResponse":{ "type":"structure", @@ -2738,7 +3908,7 @@ "documentation":"

    Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it.

    " } }, - "documentation":"

    Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

    " }, "SetIdentityDkimEnabledResponse":{ "type":"structure", @@ -2762,7 +3932,7 @@ "documentation":"

    Sets whether Amazon SES will forward bounce and complaint notifications as email. true specifies that Amazon SES will forward bounce and complaint notifications as email, in addition to any Amazon SNS topic publishing otherwise specified. false specifies that Amazon SES will publish bounce and complaint notifications only through Amazon SNS. This value can only be set to false when Amazon SNS topics are set for both Bounce and Complaint notification types.

    " } }, - "documentation":"

    Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Developer Guide.

    " }, "SetIdentityFeedbackForwardingEnabledResponse":{ "type":"structure", @@ -2791,7 +3961,7 @@ "documentation":"

    Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES will include headers in notifications, and a value of false specifies that Amazon SES will not include headers in notifications.

    This value can only be set when NotificationType is already set to use a particular Amazon SNS topic.

    " } }, - "documentation":"

    Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Developer Guide.

    " }, "SetIdentityHeadersInNotificationsEnabledResponse":{ "type":"structure", @@ -2809,14 +3979,14 @@ }, "MailFromDomain":{ "shape":"MailFromDomainName", - "documentation":"

    The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity.

    " + "documentation":"

    The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a \"From\" address if the MAIL FROM domain is the destination of email feedback forwarding (for more information, see the Amazon SES Developer Guide), and 3) not be used to receive emails. A value of null disables the custom MAIL FROM setting for the identity.

    " }, "BehaviorOnMXFailure":{ "shape":"BehaviorOnMXFailure", "documentation":"

    The action that you want Amazon SES to take if it cannot successfully read the required MX record when you send an email. If you choose UseDefaultValue, Amazon SES will use amazonses.com (or a subdomain of that) as the MAIL FROM domain. If you choose RejectMessage, Amazon SES will return a MailFromDomainNotVerified error and not send the email.

    The action specified in BehaviorOnMXFailure is taken when the custom MAIL FROM domain setup is in the Pending, Failed, and TemporaryFailure states.

    " } }, - "documentation":"

    Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide.

    " }, "SetIdentityMailFromDomainResponse":{ "type":"structure", @@ -2833,7 +4003,7 @@ "members":{ "Identity":{ "shape":"Identity", - "documentation":"

    The identity for which the Amazon SNS topic will be set. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    " + "documentation":"

    The identity (email address or domain) that you want to set the Amazon SNS topic for.

    You can only specify a verified identity for this parameter.

    You can specify an identity by using its name or by using its Amazon Resource Name (ARN). The following examples are all valid identities: sender@example.com, example.com, arn:aws:ses:us-east-1:123456789012:identity/example.com.

    " }, "NotificationType":{ "shape":"NotificationType", @@ -2844,7 +4014,7 @@ "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled.

    " } }, - "documentation":"

    Represents a request to specify the Amazon SNS topic to which Amazon SES will publish bounce, complaint, or delivery notifications for emails sent with that identity as the Source. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to specify the Amazon SNS topic to which Amazon SES will publish bounce, complaint, or delivery notifications for emails sent with that identity as the Source. For information about Amazon SES notifications, see the Amazon SES Developer Guide.

    " }, "SetIdentityNotificationTopicResponse":{ "type":"structure", @@ -2872,7 +4042,7 @@ "documentation":"

    The name of the receipt rule after which to place the specified receipt rule.

    " } }, - "documentation":"

    Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "SetReceiptRulePositionResponse":{ "type":"structure", @@ -2886,19 +4056,109 @@ "members":{ "Scope":{ "shape":"StopScope", - "documentation":"

    The scope to which the Stop action applies. That is, what is being stopped.

    " + "documentation":"

    The scope of the StopAction. The only acceptable value is RuleSet.

    " }, "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the stop action is taken. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " } }, - "documentation":"

    When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action terminates the evaluation of the receipt rule set and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS).

    For information about setting a stop action in a receipt rule, see the Amazon SES Developer Guide.

    " }, "StopScope":{ "type":"string", "enum":["RuleSet"] }, + "Subject":{"type":"string"}, + "SubjectPart":{"type":"string"}, + "SuccessRedirectionURL":{"type":"string"}, + "Template":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the template. You will refer to this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations.

    " + }, + "SubjectPart":{ + "shape":"SubjectPart", + "documentation":"

    The subject line of the email.

    " + }, + "TextPart":{ + "shape":"TextPart", + "documentation":"

    The email body that will be visible to recipients whose email clients do not display HTML.

    " + }, + "HtmlPart":{ + "shape":"HtmlPart", + "documentation":"

    The HTML body of the email.

    " + } + }, + "documentation":"

    The content of the email, composed of a subject line, an HTML part, and a text-only part.

    " + }, + "TemplateContent":{"type":"string"}, + "TemplateData":{ + "type":"string", + "max":262144 + }, + "TemplateDoesNotExistException":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"TemplateName"} + }, + "documentation":"

    Indicates that the Template object you specified does not exist in your Amazon SES account.

    ", + "error":{ + "code":"TemplateDoesNotExist", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TemplateMetadata":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"TemplateName", + "documentation":"

    The name of the template.

    " + }, + "CreatedTimestamp":{ + "shape":"Timestamp", + "documentation":"

    The time and date the template was created.

    " + } + }, + "documentation":"

    Contains information about an email template.

    " + }, + "TemplateMetadataList":{ + "type":"list", + "member":{"shape":"TemplateMetadata"} + }, + "TemplateName":{"type":"string"}, + "TestRenderTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateData" + ], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the template that you want to render.

    " + }, + "TemplateData":{ + "shape":"TemplateData", + "documentation":"

    A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

    " + } + } + }, + "TestRenderTemplateResponse":{ + "type":"structure", + "members":{ + "RenderedTemplate":{ + "shape":"RenderedTemplate", + "documentation":"

    The complete MIME message rendered by applying the data in the TemplateData parameter to the template specified in the TemplateName parameter.

    " + } + } + }, + "TextPart":{"type":"string"}, "Timestamp":{"type":"timestamp"}, "TlsPolicy":{ "type":"string", @@ -2907,6 +4167,58 @@ "Optional" ] }, + "TrackingOptions":{ + "type":"structure", + "members":{ + "CustomRedirectDomain":{ + "shape":"CustomRedirectDomain", + "documentation":"

    The custom subdomain that will be used to redirect email recipients to the Amazon SES event tracking domain.

    " + } + }, + "documentation":"

    A domain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails.

    For more information, see Configuring Custom Domains to Handle Open and Click Tracking in the Amazon SES Developer Guide.

    " + }, + "TrackingOptionsAlreadyExistsException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that a TrackingOptions object already exists in the specified configuration set.

    " + } + }, + "documentation":"

    Indicates that the configuration set you specified already contains a TrackingOptions object.

    ", + "error":{ + "code":"TrackingOptionsAlreadyExistsException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrackingOptionsDoesNotExistException":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    Indicates that a TrackingOptions object does not exist in the specified configuration set.

    " + } + }, + "documentation":"

    Indicates that the TrackingOptions object you specified does not exist.

    ", + "error":{ + "code":"TrackingOptionsDoesNotExistException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "UpdateAccountSendingEnabledRequest":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether email sending is enabled or disabled for your Amazon SES account in the current AWS Region.

    " + } + }, + "documentation":"

    Represents a request to enable or disable the email sending capabilities for your entire Amazon SES account.

    " + }, "UpdateConfigurationSetEventDestinationRequest":{ "type":"structure", "required":[ @@ -2916,14 +4228,14 @@ "members":{ "ConfigurationSetName":{ "shape":"ConfigurationSetName", - "documentation":"

    The name of the configuration set that you want to update.

    " + "documentation":"

    The name of the configuration set that contains the event destination that you want to update.

    " }, "EventDestination":{ "shape":"EventDestination", "documentation":"

    The event destination object that you want to apply to the specified configuration set.

    " } }, - "documentation":"

    Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide.

    " }, "UpdateConfigurationSetEventDestinationResponse":{ "type":"structure", @@ -2931,6 +4243,94 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, + "UpdateConfigurationSetReputationMetricsEnabledRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "Enabled" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to update.

    " + }, + "Enabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether or not Amazon SES will publish reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch.

    " + } + }, + "documentation":"

    Represents a request to modify the reputation metric publishing settings for a configuration set.

    " + }, + "UpdateConfigurationSetSendingEnabledRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "Enabled" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to update.

    " + }, + "Enabled":{ + "shape":"Enabled", + "documentation":"

    Describes whether email sending is enabled or disabled for the configuration set.

    " + } + }, + "documentation":"

    Represents a request to enable or disable the email sending capabilities for a specific configuration set.

    " + }, + "UpdateConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "TrackingOptions" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set for which you want to update the custom tracking domain.

    " + }, + "TrackingOptions":{"shape":"TrackingOptions"} + }, + "documentation":"

    Represents a request to update the tracking options for a configuration set.

    " + }, + "UpdateConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An empty element returned on a successful request.

    " + }, + "UpdateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"TemplateName", + "documentation":"

    The name of the custom verification email template that you want to update.

    " + }, + "FromEmailAddress":{ + "shape":"FromAddress", + "documentation":"

    The email address that the custom verification email is sent from.

    " + }, + "TemplateSubject":{ + "shape":"Subject", + "documentation":"

    The subject line of the custom verification email.

    " + }, + "TemplateContent":{ + "shape":"TemplateContent", + "documentation":"

    The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

    " + }, + "SuccessRedirectionURL":{ + "shape":"SuccessRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

    " + }, + "FailureRedirectionURL":{ + "shape":"FailureRedirectionURL", + "documentation":"

    The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

    " + } + }, + "documentation":"

    Represents a request to update an existing custom verification email template.

    " + }, "UpdateReceiptRuleRequest":{ "type":"structure", "required":[ @@ -2940,14 +4340,14 @@ "members":{ "RuleSetName":{ "shape":"ReceiptRuleSetName", - "documentation":"

    The name of the receipt rule set to which the receipt rule belongs.

    " + "documentation":"

    The name of the receipt rule set that the receipt rule belongs to.

    " }, "Rule":{ "shape":"ReceiptRule", "documentation":"

    A data structure that contains the updated receipt rule information.

    " } }, - "documentation":"

    Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide.

    " }, "UpdateReceiptRuleResponse":{ "type":"structure", @@ -2955,6 +4355,18 @@ }, "documentation":"

    An empty element returned on a successful request.

    " }, + "UpdateTemplateRequest":{ + "type":"structure", + "required":["Template"], + "members":{ + "Template":{"shape":"Template"} + } + }, + "UpdateTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "VerificationAttributes":{ "type":"map", "key":{"shape":"Identity"}, @@ -2984,7 +4396,7 @@ "documentation":"

    The name of the domain to be verified for Easy DKIM signing.

    " } }, - "documentation":"

    Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide.

    " }, "VerifyDomainDkimResponse":{ "type":"structure", @@ -2992,7 +4404,7 @@ "members":{ "DkimTokens":{ "shape":"VerificationTokenList", - "documentation":"

    A set of character strings that represent the domain's identity. If the identity is an email address, the tokens represent the domain of that address.

    Using these tokens, you will need to create DNS CNAME records that point to DKIM public keys hosted by Amazon SES. Amazon Web Services will eventually detect that you have updated your DNS records; this detection process may take up to 72 hours. Upon successful detection, Amazon SES will be able to DKIM-sign emails originating from that domain.

    For more information about creating DNS records using DKIM tokens, go to the Amazon SES Developer Guide.

    " + "documentation":"

    A set of character strings that represent the domain's identity. If the identity is an email address, the tokens represent the domain of that address.

    Using these tokens, you need to create DNS CNAME records that point to DKIM public keys that are hosted by Amazon SES. Amazon Web Services eventually detects that you've updated your DNS records. This detection process might take up to 72 hours. After successful detection, Amazon SES is able to DKIM-sign email originating from that domain. (This only applies to domain identities, not email address identities.)

    For more information about creating DNS records using DKIM tokens, see the Amazon SES Developer Guide.

    " } }, "documentation":"

    Returns CNAME records that you must publish to the DNS server of your domain to set up Easy DKIM with Amazon SES.

    " @@ -3006,7 +4418,7 @@ "documentation":"

    The domain to be verified.

    " } }, - "documentation":"

    Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about domain verification, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about domain verification, see the Amazon SES Developer Guide.

    " }, "VerifyDomainIdentityResponse":{ "type":"structure", @@ -3014,7 +4426,7 @@ "members":{ "VerificationToken":{ "shape":"VerificationToken", - "documentation":"

    A TXT record that must be placed in the DNS settings for the domain, in order to complete domain verification.

    " + "documentation":"

    A TXT record that you must place in the DNS settings of the domain to complete domain verification with Amazon SES.

    As Amazon SES searches for the TXT record, the domain's verification status is \"Pending\". When Amazon SES detects the record, the domain's verification status changes to \"Success\". If Amazon SES is unable to detect the record within 72 hours, the domain's verification status changes to \"Failed.\" In that case, if you still want to verify the domain, you must restart the verification process from the beginning.

    " } }, "documentation":"

    Returns a TXT record that you must publish to the DNS server of your domain to complete domain verification with Amazon SES.

    " @@ -3028,7 +4440,7 @@ "documentation":"

    The email address to be verified.

    " } }, - "documentation":"

    Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

    " }, "VerifyEmailIdentityRequest":{ "type":"structure", @@ -3039,7 +4451,7 @@ "documentation":"

    The email address to be verified.

    " } }, - "documentation":"

    Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

    " + "documentation":"

    Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide.

    " }, "VerifyEmailIdentityResponse":{ "type":"structure", @@ -3053,15 +4465,15 @@ "members":{ "TopicArn":{ "shape":"AmazonResourceName", - "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic to notify when the WorkMail action is called. An example of an Amazon SNS topic ARN is arn:aws:sns:us-west-2:123456789012:MyTopic. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " }, "OrganizationArn":{ "shape":"AmazonResourceName", - "documentation":"

    The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. For information about Amazon WorkMail organizations, see the Amazon WorkMail Administrator Guide.

    " + "documentation":"

    The ARN of the Amazon WorkMail organization. An example of an Amazon WorkMail organization ARN is arn:aws:workmail:us-west-2:123456789012:organization/m-68755160c4cb4e29a2b2f8fb58f359d7. For information about Amazon WorkMail organizations, see the Amazon WorkMail Administrator Guide.

    " } }, - "documentation":"

    When included in a receipt rule, this action calls Amazon WorkMail and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS). You will typically not use this action directly because Amazon WorkMail adds the rule automatically during its setup procedure.

    For information using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide.

    " + "documentation":"

    When included in a receipt rule, this action calls Amazon WorkMail and, optionally, publishes a notification to Amazon Simple Notification Service (Amazon SNS). You will typically not use this action directly because Amazon WorkMail adds the rule automatically during its setup procedure.

    For information using a receipt rule to call Amazon WorkMail, see the Amazon SES Developer Guide.

    " } }, - "documentation":"Amazon Simple Email Service

    This is the API Reference for Amazon Simple Email Service (Amazon SES). This documentation is intended to be used in conjunction with the Amazon SES Developer Guide.

    For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

    " + "documentation":"Amazon Simple Email Service

    This document contains reference information for the Amazon Simple Email Service (Amazon SES) API, version 2010-12-01. This document is best used in conjunction with the Amazon SES Developer Guide.

    For a list of Amazon SES endpoints to use in service requests, see Regions and Amazon SES in the Amazon SES Developer Guide.

    " } diff -Nru python-botocore-1.4.70/botocore/data/sesv2/2019-09-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sesv2/2019-09-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/sesv2/2019-09-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sesv2/2019-09-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/sesv2/2019-09-27/service-2.json python-botocore-1.16.19+repack/botocore/data/sesv2/2019-09-27/service-2.json --- python-botocore-1.4.70/botocore/data/sesv2/2019-09-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sesv2/2019-09-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3467 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-09-27", + "endpointPrefix":"email", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Amazon SES V2", + "serviceFullName":"Amazon Simple Email Service", + "serviceId":"SESv2", + "signatureVersion":"v4", + "signingName":"ses", + "uid":"sesv2-2019-09-27" + }, + "operations":{ + "CreateConfigurationSet":{ + "name":"CreateConfigurationSet", + "http":{ + "method":"POST", + "requestUri":"/v2/email/configuration-sets" + }, + "input":{"shape":"CreateConfigurationSetRequest"}, + "output":{"shape":"CreateConfigurationSetResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a configuration set. Configuration sets are groups of rules that you can apply to the emails that you send. You apply a configuration set to an email by specifying the name of the configuration set when you call the Amazon SES API v2. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "CreateConfigurationSetEventDestination":{ + "name":"CreateConfigurationSetEventDestination", + "http":{ + "method":"POST", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations" + }, + "input":{"shape":"CreateConfigurationSetEventDestinationRequest"}, + "output":{"shape":"CreateConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Create an event destination. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    A single configuration set can include more than one event destination.

    " + }, + "CreateDedicatedIpPool":{ + "name":"CreateDedicatedIpPool", + "http":{ + "method":"POST", + "requestUri":"/v2/email/dedicated-ip-pools" + }, + "input":{"shape":"CreateDedicatedIpPoolRequest"}, + "output":{"shape":"CreateDedicatedIpPoolResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your AWS account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, the message is sent from one of the addresses in the associated pool.

    " + }, + "CreateDeliverabilityTestReport":{ + "name":"CreateDeliverabilityTestReport", + "http":{ + "method":"POST", + "requestUri":"/v2/email/deliverability-dashboard/test" + }, + "input":{"shape":"CreateDeliverabilityTestReportRequest"}, + "output":{"shape":"CreateDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon SES then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

    " + }, + "CreateEmailIdentity":{ + "name":"CreateEmailIdentity", + "http":{ + "method":"POST", + "requestUri":"/v2/email/identities" + }, + "input":{"shape":"CreateEmailIdentityRequest"}, + "output":{"shape":"CreateEmailIdentityResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Starts the process of verifying an email identity. An identity is an email address or domain that you use when you send email. Before you can use an identity to send email, you first have to verify it. By verifying an identity, you demonstrate that you're the owner of the identity, and that you've given Amazon SES API v2 permission to send email from the identity.

    When you verify an email address, Amazon SES sends an email to the address. Your email address is verified as soon as you follow the link in the verification email.

    When you verify a domain without specifying the DkimSigningAttributes object, this operation provides a set of DKIM tokens. You can convert these tokens into CNAME records, which you then add to the DNS configuration for your domain. Your domain is verified when Amazon SES detects these records in the DNS configuration for your domain. This verification method is known as Easy DKIM.

    Alternatively, you can perform the verification process by providing your own public-private key pair. This verification method is known as Bring Your Own DKIM (BYODKIM). To use BYODKIM, your call to the CreateEmailIdentity operation has to include the DkimSigningAttributes object. When you specify this object, you provide a selector (a component of the DNS record name that identifies the public key that you want to use for DKIM authentication) and a private key.

    " + }, + "DeleteConfigurationSet":{ + "name":"DeleteConfigurationSet", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}" + }, + "input":{"shape":"DeleteConfigurationSetRequest"}, + "output":{"shape":"DeleteConfigurationSetResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Delete an existing configuration set.

    Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "DeleteConfigurationSetEventDestination":{ + "name":"DeleteConfigurationSetEventDestination", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}" + }, + "input":{"shape":"DeleteConfigurationSetEventDestinationRequest"}, + "output":{"shape":"DeleteConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Delete an event destination.

    Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "DeleteDedicatedIpPool":{ + "name":"DeleteDedicatedIpPool", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/dedicated-ip-pools/{PoolName}" + }, + "input":{"shape":"DeleteDedicatedIpPoolRequest"}, + "output":{"shape":"DeleteDedicatedIpPoolResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Delete a dedicated IP pool.

    " + }, + "DeleteEmailIdentity":{ + "name":"DeleteEmailIdentity", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/identities/{EmailIdentity}" + }, + "input":{"shape":"DeleteEmailIdentityRequest"}, + "output":{"shape":"DeleteEmailIdentityResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"} + ], + "documentation":"

    Deletes an email identity. An identity can be either an email address or a domain name.

    " + }, + "DeleteSuppressedDestination":{ + "name":"DeleteSuppressedDestination", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/suppression/addresses/{EmailAddress}" + }, + "input":{"shape":"DeleteSuppressedDestinationRequest"}, + "output":{"shape":"DeleteSuppressedDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Removes an email address from the suppression list for your account.

    " + }, + "GetAccount":{ + "name":"GetAccount", + "http":{ + "method":"GET", + "requestUri":"/v2/email/account" + }, + "input":{"shape":"GetAccountRequest"}, + "output":{"shape":"GetAccountResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Obtain information about the email-sending status and capabilities of your Amazon SES account in the current AWS Region.

    " + }, + "GetBlacklistReports":{ + "name":"GetBlacklistReports", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/blacklist-report" + }, + "input":{"shape":"GetBlacklistReportsRequest"}, + "output":{"shape":"GetBlacklistReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve a list of the blacklists that your dedicated IP addresses appear on.

    " + }, + "GetConfigurationSet":{ + "name":"GetConfigurationSet", + "http":{ + "method":"GET", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}" + }, + "input":{"shape":"GetConfigurationSetRequest"}, + "output":{"shape":"GetConfigurationSetResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more.

    Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "GetConfigurationSetEventDestinations":{ + "name":"GetConfigurationSetEventDestinations", + "http":{ + "method":"GET", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations" + }, + "input":{"shape":"GetConfigurationSetEventDestinationsRequest"}, + "output":{"shape":"GetConfigurationSetEventDestinationsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve a list of event destinations that are associated with a configuration set.

    Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "GetDedicatedIp":{ + "name":"GetDedicatedIp", + "http":{ + "method":"GET", + "requestUri":"/v2/email/dedicated-ips/{IP}" + }, + "input":{"shape":"GetDedicatedIpRequest"}, + "output":{"shape":"GetDedicatedIpResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Get information about a dedicated IP address, including the name of the dedicated IP pool that it's associated with, as well information about the automatic warm-up process for the address.

    " + }, + "GetDedicatedIps":{ + "name":"GetDedicatedIps", + "http":{ + "method":"GET", + "requestUri":"/v2/email/dedicated-ips" + }, + "input":{"shape":"GetDedicatedIpsRequest"}, + "output":{"shape":"GetDedicatedIpsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List the dedicated IP addresses that are associated with your AWS account.

    " + }, + "GetDeliverabilityDashboardOptions":{ + "name":"GetDeliverabilityDashboardOptions", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard" + }, + "input":{"shape":"GetDeliverabilityDashboardOptionsRequest"}, + "output":{"shape":"GetDeliverabilityDashboardOptionsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve information about the status of the Deliverability dashboard for your account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing.

    " + }, + "GetDeliverabilityTestReport":{ + "name":"GetDeliverabilityTestReport", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/test-reports/{ReportId}" + }, + "input":{"shape":"GetDeliverabilityTestReportRequest"}, + "output":{"shape":"GetDeliverabilityTestReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve the results of a predictive inbox placement test.

    " + }, + "GetDomainDeliverabilityCampaign":{ + "name":"GetDomainDeliverabilityCampaign", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/campaigns/{CampaignId}" + }, + "input":{"shape":"GetDomainDeliverabilityCampaignRequest"}, + "output":{"shape":"GetDomainDeliverabilityCampaignResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for.

    " + }, + "GetDomainStatisticsReport":{ + "name":"GetDomainStatisticsReport", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/statistics-report/{Domain}" + }, + "input":{"shape":"GetDomainStatisticsReportRequest"}, + "output":{"shape":"GetDomainStatisticsReportResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve inbox placement and engagement rates for the domains that you use to send email.

    " + }, + "GetEmailIdentity":{ + "name":"GetEmailIdentity", + "http":{ + "method":"GET", + "requestUri":"/v2/email/identities/{EmailIdentity}" + }, + "input":{"shape":"GetEmailIdentityRequest"}, + "output":{"shape":"GetEmailIdentityResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Provides information about a specific identity, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings.

    " + }, + "GetSuppressedDestination":{ + "name":"GetSuppressedDestination", + "http":{ + "method":"GET", + "requestUri":"/v2/email/suppression/addresses/{EmailAddress}" + }, + "input":{"shape":"GetSuppressedDestinationRequest"}, + "output":{"shape":"GetSuppressedDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Retrieves information about a specific email address that's on the suppression list for your account.

    " + }, + "ListConfigurationSets":{ + "name":"ListConfigurationSets", + "http":{ + "method":"GET", + "requestUri":"/v2/email/configuration-sets" + }, + "input":{"shape":"ListConfigurationSetsRequest"}, + "output":{"shape":"ListConfigurationSetsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List all of the configuration sets associated with your account in the current region.

    Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "ListDedicatedIpPools":{ + "name":"ListDedicatedIpPools", + "http":{ + "method":"GET", + "requestUri":"/v2/email/dedicated-ip-pools" + }, + "input":{"shape":"ListDedicatedIpPoolsRequest"}, + "output":{"shape":"ListDedicatedIpPoolsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    List all of the dedicated IP pools that exist in your AWS account in the current Region.

    " + }, + "ListDeliverabilityTestReports":{ + "name":"ListDeliverabilityTestReports", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/test-reports" + }, + "input":{"shape":"ListDeliverabilityTestReportsRequest"}, + "output":{"shape":"ListDeliverabilityTestReportsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results.

    " + }, + "ListDomainDeliverabilityCampaigns":{ + "name":"ListDomainDeliverabilityCampaigns", + "http":{ + "method":"GET", + "requestUri":"/v2/email/deliverability-dashboard/domains/{SubscribedDomain}/campaigns" + }, + "input":{"shape":"ListDomainDeliverabilityCampaignsRequest"}, + "output":{"shape":"ListDomainDeliverabilityCampaignsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain.

    " + }, + "ListEmailIdentities":{ + "name":"ListEmailIdentities", + "http":{ + "method":"GET", + "requestUri":"/v2/email/identities" + }, + "input":{"shape":"ListEmailIdentitiesRequest"}, + "output":{"shape":"ListEmailIdentitiesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Returns a list of all of the email identities that are associated with your AWS account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. This operation returns identities that are associated with Amazon SES and Amazon Pinpoint.

    " + }, + "ListSuppressedDestinations":{ + "name":"ListSuppressedDestinations", + "http":{ + "method":"GET", + "requestUri":"/v2/email/suppression/addresses" + }, + "input":{"shape":"ListSuppressedDestinationsRequest"}, + "output":{"shape":"ListSuppressedDestinationsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

    Retrieves a list of email addresses that are on the suppression list for your account.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/v2/email/tags" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

    " + }, + "PutAccountDedicatedIpWarmupAttributes":{ + "name":"PutAccountDedicatedIpWarmupAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/account/dedicated-ips/warmup" + }, + "input":{"shape":"PutAccountDedicatedIpWarmupAttributesRequest"}, + "output":{"shape":"PutAccountDedicatedIpWarmupAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the automatic warm-up feature for dedicated IP addresses.

    " + }, + "PutAccountSendingAttributes":{ + "name":"PutAccountSendingAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/account/sending" + }, + "input":{"shape":"PutAccountSendingAttributesRequest"}, + "output":{"shape":"PutAccountSendingAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the ability of your account to send email.

    " + }, + "PutAccountSuppressionAttributes":{ + "name":"PutAccountSuppressionAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/account/suppression" + }, + "input":{"shape":"PutAccountSuppressionAttributesRequest"}, + "output":{"shape":"PutAccountSuppressionAttributesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Change the settings for the account-level suppression list.

    " + }, + "PutConfigurationSetDeliveryOptions":{ + "name":"PutConfigurationSetDeliveryOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/delivery-options" + }, + "input":{"shape":"PutConfigurationSetDeliveryOptionsRequest"}, + "output":{"shape":"PutConfigurationSetDeliveryOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email.

    " + }, + "PutConfigurationSetReputationOptions":{ + "name":"PutConfigurationSetReputationOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/reputation-options" + }, + "input":{"shape":"PutConfigurationSetReputationOptionsRequest"}, + "output":{"shape":"PutConfigurationSetReputationOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable collection of reputation metrics for emails that you send using a particular configuration set in a specific AWS Region.

    " + }, + "PutConfigurationSetSendingOptions":{ + "name":"PutConfigurationSetSendingOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/sending" + }, + "input":{"shape":"PutConfigurationSetSendingOptionsRequest"}, + "output":{"shape":"PutConfigurationSetSendingOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable email sending for messages that use a particular configuration set in a specific AWS Region.

    " + }, + "PutConfigurationSetSuppressionOptions":{ + "name":"PutConfigurationSetSuppressionOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/suppression-options" + }, + "input":{"shape":"PutConfigurationSetSuppressionOptionsRequest"}, + "output":{"shape":"PutConfigurationSetSuppressionOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Specify the account suppression list preferences for a configuration set.

    " + }, + "PutConfigurationSetTrackingOptions":{ + "name":"PutConfigurationSetTrackingOptions", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/tracking-options" + }, + "input":{"shape":"PutConfigurationSetTrackingOptionsRequest"}, + "output":{"shape":"PutConfigurationSetTrackingOptionsResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Specify a custom domain to use for open and click tracking elements in email that you send.

    " + }, + "PutDedicatedIpInPool":{ + "name":"PutDedicatedIpInPool", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/dedicated-ips/{IP}/pool" + }, + "input":{"shape":"PutDedicatedIpInPoolRequest"}, + "output":{"shape":"PutDedicatedIpInPoolResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Move a dedicated IP address to an existing dedicated IP pool.

    The dedicated IP address that you specify must already exist, and must be associated with your AWS account.

    The dedicated IP pool you specify must already exist. You can create a new pool by using the CreateDedicatedIpPool operation.

    " + }, + "PutDedicatedIpWarmupAttributes":{ + "name":"PutDedicatedIpWarmupAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/dedicated-ips/{IP}/warmup" + }, + "input":{"shape":"PutDedicatedIpWarmupAttributesRequest"}, + "output":{"shape":"PutDedicatedIpWarmupAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    " + }, + "PutDeliverabilityDashboardOption":{ + "name":"PutDeliverabilityDashboardOption", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/deliverability-dashboard" + }, + "input":{"shape":"PutDeliverabilityDashboardOptionRequest"}, + "output":{"shape":"PutDeliverabilityDashboardOptionResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Enable or disable the Deliverability dashboard. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing.

    " + }, + "PutEmailIdentityDkimAttributes":{ + "name":"PutEmailIdentityDkimAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/identities/{EmailIdentity}/dkim" + }, + "input":{"shape":"PutEmailIdentityDkimAttributesRequest"}, + "output":{"shape":"PutEmailIdentityDkimAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable DKIM authentication for an email identity.

    " + }, + "PutEmailIdentityDkimSigningAttributes":{ + "name":"PutEmailIdentityDkimSigningAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v1/email/identities/{EmailIdentity}/dkim/signing" + }, + "input":{"shape":"PutEmailIdentityDkimSigningAttributesRequest"}, + "output":{"shape":"PutEmailIdentityDkimSigningAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to configure or change the DKIM authentication settings for an email domain identity. You can use this operation to do any of the following:

    • Update the signing attributes for an identity that uses Bring Your Own DKIM (BYODKIM).

    • Change from using no DKIM authentication to using Easy DKIM.

    • Change from using no DKIM authentication to using BYODKIM.

    • Change from using Easy DKIM to using BYODKIM.

    • Change from using BYODKIM to using Easy DKIM.

    " + }, + "PutEmailIdentityFeedbackAttributes":{ + "name":"PutEmailIdentityFeedbackAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/identities/{EmailIdentity}/feedback" + }, + "input":{"shape":"PutEmailIdentityFeedbackAttributesRequest"}, + "output":{"shape":"PutEmailIdentityFeedbackAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event.

    If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

    You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

    " + }, + "PutEmailIdentityMailFromAttributes":{ + "name":"PutEmailIdentityMailFromAttributes", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/identities/{EmailIdentity}/mail-from" + }, + "input":{"shape":"PutEmailIdentityMailFromAttributesRequest"}, + "output":{"shape":"PutEmailIdentityMailFromAttributesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Used to enable or disable the custom Mail-From domain configuration for an email identity.

    " + }, + "PutSuppressedDestination":{ + "name":"PutSuppressedDestination", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/suppression/addresses" + }, + "input":{"shape":"PutSuppressedDestinationRequest"}, + "output":{"shape":"PutSuppressedDestinationResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Adds an email address to the suppression list for your account.

    " + }, + "SendEmail":{ + "name":"SendEmail", + "http":{ + "method":"POST", + "requestUri":"/v2/email/outbound-emails" + }, + "input":{"shape":"SendEmailRequest"}, + "output":{"shape":"SendEmailResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Sends an email message. You can use the Amazon SES API v2 to send two types of messages:

    • Simple – A standard email message. When you create this type of message, you specify the sender, the recipient, and the message body, and Amazon SES assembles the message for you.

    • Raw – A raw, MIME-formatted email message. When you send this type of email, you have to specify all of the message headers, as well as the message body. You can use this message type to send messages that contain attachments. The message that you specify has to be a valid MIME message.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/v2/email/tags" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

    Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/tags" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Remove one or more tags (keys and values) from a specified resource.

    " + }, + "UpdateConfigurationSetEventDestination":{ + "name":"UpdateConfigurationSetEventDestination", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}" + }, + "input":{"shape":"UpdateConfigurationSetEventDestinationRequest"}, + "output":{"shape":"UpdateConfigurationSetEventDestinationResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Update the configuration of an event destination for a configuration set.

    Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + } + }, + "shapes":{ + "AccountSuspendedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the account's ability to send email has been permanently restricted.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource specified in your request already exists.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AmazonResourceName":{"type":"string"}, + "BadRequestException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The input you provided is invalid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BehaviorOnMxFailure":{ + "type":"string", + "documentation":"

    The action that you want to take if the required MX record can't be found when you send an email. When you set this value to UseDefaultValue, the mail is sent using amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    ", + "enum":[ + "USE_DEFAULT_VALUE", + "REJECT_MESSAGE" + ] + }, + "BlacklistEntries":{ + "type":"list", + "member":{"shape":"BlacklistEntry"} + }, + "BlacklistEntry":{ + "type":"structure", + "members":{ + "RblName":{ + "shape":"RblName", + "documentation":"

    The name of the blacklist that the IP address appears on.

    " + }, + "ListingTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the blacklisting event occurred, shown in Unix time format.

    " + }, + "Description":{ + "shape":"BlacklistingDescription", + "documentation":"

    Additional information about the blacklisting event, as provided by the blacklist maintainer.

    " + } + }, + "documentation":"

    An object that contains information about a blacklisting event that impacts one of the dedicated IP addresses that is associated with your account.

    " + }, + "BlacklistItemName":{ + "type":"string", + "documentation":"

    An IP address that you want to obtain blacklist information for.

    " + }, + "BlacklistItemNames":{ + "type":"list", + "member":{"shape":"BlacklistItemName"} + }, + "BlacklistReport":{ + "type":"map", + "key":{"shape":"BlacklistItemName"}, + "value":{"shape":"BlacklistEntries"} + }, + "BlacklistingDescription":{ + "type":"string", + "documentation":"

    A description of the blacklisting event.

    " + }, + "Body":{ + "type":"structure", + "members":{ + "Text":{ + "shape":"Content", + "documentation":"

    An object that represents the version of the message that is displayed in email clients that don't support HTML, or clients where the recipient has disabled HTML rendering.

    " + }, + "Html":{ + "shape":"Content", + "documentation":"

    An object that represents the version of the message that is displayed in email clients that support HTML. HTML messages can include formatted text, hyperlinks, images, and more.

    " + } + }, + "documentation":"

    Represents the body of the email message.

    " + }, + "CampaignId":{"type":"string"}, + "Charset":{"type":"string"}, + "CloudWatchDestination":{ + "type":"structure", + "required":["DimensionConfigurations"], + "members":{ + "DimensionConfigurations":{ + "shape":"CloudWatchDimensionConfigurations", + "documentation":"

    An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch.

    " + } + }, + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "CloudWatchDimensionConfiguration":{ + "type":"structure", + "required":[ + "DimensionName", + "DimensionValueSource", + "DefaultDimensionValue" + ], + "members":{ + "DimensionName":{ + "shape":"DimensionName", + "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DimensionValueSource":{ + "shape":"DimensionValueSource", + "documentation":"

    The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. If you want to use the message tags that you specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail or SendRawEmail API, choose messageTag. If you want to use your own email headers, choose emailHeader. If you want to use link tags, choose linkTags.

    " + }, + "DefaultDimensionValue":{ + "shape":"DefaultDimensionValue", + "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + } + }, + "documentation":"

    An object that defines the dimension configuration to use when you send email events to Amazon CloudWatch.

    " + }, + "CloudWatchDimensionConfigurations":{ + "type":"list", + "member":{"shape":"CloudWatchDimensionConfiguration"} + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource is being modified by another operation or thread.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ConfigurationSetName":{ + "type":"string", + "documentation":"

    The name of a configuration set.

    Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

    " + }, + "ConfigurationSetNameList":{ + "type":"list", + "member":{"shape":"ConfigurationSetName"} + }, + "Content":{ + "type":"structure", + "required":["Data"], + "members":{ + "Data":{ + "shape":"MessageData", + "documentation":"

    The content of the message itself.

    " + }, + "Charset":{ + "shape":"Charset", + "documentation":"

    The character set for the content. Because of the constraints of the SMTP protocol, Amazon SES uses 7-bit ASCII by default. If the text includes characters outside of the ASCII range, you have to specify a character set. For example, you could specify UTF-8, ISO-8859-1, or Shift_JIS.

    " + } + }, + "documentation":"

    An object that represents the content of the email, and optionally a character set specification.

    " + }, + "CreateConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName", + "EventDestination" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to add an event destination to.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    A name that identifies the event destination within the configuration set.

    " + }, + "EventDestination":{ + "shape":"EventDestinationDefinition", + "documentation":"

    An object that defines the event destination.

    " + } + }, + "documentation":"

    A request to add an event destination to a configuration set.

    " + }, + "CreateConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set.

    " + }, + "TrackingOptions":{ + "shape":"TrackingOptions", + "documentation":"

    An object that defines the open and click tracking options for emails that you send using the configuration set.

    " + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

    An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.

    " + }, + "ReputationOptions":{ + "shape":"ReputationOptions", + "documentation":"

    An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.

    " + }, + "SendingOptions":{ + "shape":"SendingOptions", + "documentation":"

    An object that defines whether or not Amazon SES can send email that you send using the configuration set.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the configuration set.

    " + }, + "SuppressionOptions":{"shape":"SuppressionOptions"} + }, + "documentation":"

    A request to create a configuration set.

    " + }, + "CreateConfigurationSetResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateDedicatedIpPoolRequest":{ + "type":"structure", + "required":["PoolName"], + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An object that defines the tags (keys and values) that you want to associate with the pool.

    " + } + }, + "documentation":"

    A request to create a new dedicated IP pool.

    " + }, + "CreateDedicatedIpPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "CreateDeliverabilityTestReportRequest":{ + "type":"structure", + "required":[ + "FromEmailAddress", + "Content" + ], + "members":{ + "ReportName":{ + "shape":"ReportName", + "documentation":"

    A unique name that helps you to identify the predictive inbox placement test when you retrieve the results.

    " + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that the predictive inbox placement test email was sent from.

    " + }, + "Content":{ + "shape":"EmailContent", + "documentation":"

    The HTML body of the message that you sent when you performed the predictive inbox placement test.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the predictive inbox placement test.

    " + } + }, + "documentation":"

    A request to perform a predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. We send that message to special email addresses spread across several major email providers around the world. The test takes about 24 hours to complete. When the test is complete, you can use the GetDeliverabilityTestReport operation to view the results of the test.

    " + }, + "CreateDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "ReportId", + "DeliverabilityTestStatus" + ], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    " + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

    The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

    " + } + }, + "documentation":"

    Information about the predictive inbox placement test that you created.

    " + }, + "CreateEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email address or domain that you want to verify.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that you want to associate with the email identity.

    " + }, + "DkimSigningAttributes":{ + "shape":"DkimSigningAttributes", + "documentation":"

    If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, as opposed to the default method, Easy DKIM.

    You can only specify this object if the email identity is a domain, as opposed to an address.

    " + } + }, + "documentation":"

    A request to begin the verification process for an email identity (an email address or domain).

    " + }, + "CreateEmailIdentityResponse":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type.

    " + }, + "VerifiedForSendingStatus":{ + "shape":"Enabled", + "documentation":"

    Specifies whether or not the identity is verified. You can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

    " + }, + "DkimAttributes":{ + "shape":"DkimAttributes", + "documentation":"

    An object that contains information about the DKIM attributes for the identity.

    " + } + }, + "documentation":"

    If the email identity is a domain, this object contains information about the DKIM verification status for the domain.

    If the email identity is an email address, this object is empty.

    " + }, + "CustomRedirectDomain":{ + "type":"string", + "documentation":"

    The domain that you want to use for tracking open and click events.

    " + }, + "DailyVolume":{ + "type":"structure", + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The date that the DailyVolume metrics apply to, in Unix time.

    " + }, + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

    An object that contains inbox placement metrics for a specific day in the analysis period.

    " + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

    An object that contains inbox placement metrics for a specified day in the analysis period, broken out by the recipient's email provider.

    " + } + }, + "documentation":"

    An object that contains information about the volume of email sent on each day of the analysis period.

    " + }, + "DailyVolumes":{ + "type":"list", + "member":{"shape":"DailyVolume"} + }, + "DedicatedIp":{ + "type":"structure", + "required":[ + "Ip", + "WarmupStatus", + "WarmupPercentage" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    An IPv4 address.

    " + }, + "WarmupStatus":{ + "shape":"WarmupStatus", + "documentation":"

    The warm-up status of a dedicated IP address. The status can have one of the following values:

    • IN_PROGRESS – The IP address isn't ready to use because the dedicated IP warm-up process is ongoing.

    • DONE – The dedicated IP warm-up process is complete, and the IP address is ready to use.

    " + }, + "WarmupPercentage":{ + "shape":"Percentage100Wrapper", + "documentation":"

    Indicates how complete the dedicated IP warm-up process is. When this value equals 1, the address has completed the warm-up process and is ready for use.

    " + }, + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that the IP address is associated with.

    " + } + }, + "documentation":"

    Contains information about a dedicated IP address that is associated with your Amazon SES account.

    To learn more about requesting dedicated IP addresses, see Requesting and Relinquishing Dedicated IP Addresses in the Amazon SES Developer Guide.

    " + }, + "DedicatedIpList":{ + "type":"list", + "member":{"shape":"DedicatedIp"}, + "documentation":"

    A list of dedicated IP addresses that are associated with your AWS account.

    " + }, + "DefaultDimensionValue":{ + "type":"string", + "documentation":"

    The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. This value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DeleteConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination that you want to delete.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    The name of the event destination that you want to delete.

    ", + "location":"uri", + "locationName":"EventDestinationName" + } + }, + "documentation":"

    A request to delete an event destination from a configuration set.

    " + }, + "DeleteConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to delete.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to delete a configuration set.

    " + }, + "DeleteConfigurationSetResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteDedicatedIpPoolRequest":{ + "type":"structure", + "required":["PoolName"], + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that you want to delete.

    ", + "location":"uri", + "locationName":"PoolName" + } + }, + "documentation":"

    A request to delete a dedicated IP pool.

    " + }, + "DeleteDedicatedIpPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The identity (that is, the email address or domain) that you want to delete.

    ", + "location":"uri", + "locationName":"EmailIdentity" + } + }, + "documentation":"

    A request to delete an existing email identity. When you delete an identity, you lose the ability to send email from that identity. You can restore your ability to send email by completing the verification process for the identity again.

    " + }, + "DeleteEmailIdentityResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeleteSuppressedDestinationRequest":{ + "type":"structure", + "required":["EmailAddress"], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The suppressed email destination to remove from the account suppression list.

    ", + "location":"uri", + "locationName":"EmailAddress" + } + }, + "documentation":"

    A request to remove an email address from the suppression list for your account.

    " + }, + "DeleteSuppressedDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "DeliverabilityDashboardAccountStatus":{ + "type":"string", + "documentation":"

    The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

    ", + "enum":[ + "ACTIVE", + "PENDING_EXPIRATION", + "DISABLED" + ] + }, + "DeliverabilityTestReport":{ + "type":"structure", + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    " + }, + "ReportName":{ + "shape":"ReportName", + "documentation":"

    A name that helps you identify a predictive inbox placement test report.

    " + }, + "Subject":{ + "shape":"DeliverabilityTestSubject", + "documentation":"

    The subject line for an email that you submitted in a predictive inbox placement test.

    " + }, + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The sender address that you specified for the predictive inbox placement test.

    " + }, + "CreateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when the predictive inbox placement test was created, in Unix time format.

    " + }, + "DeliverabilityTestStatus":{ + "shape":"DeliverabilityTestStatus", + "documentation":"

    The status of the predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport to view the results of the test.

    " + } + }, + "documentation":"

    An object that contains metadata related to a predictive inbox placement test.

    " + }, + "DeliverabilityTestReports":{ + "type":"list", + "member":{"shape":"DeliverabilityTestReport"} + }, + "DeliverabilityTestStatus":{ + "type":"string", + "documentation":"

    The status of a predictive inbox placement test. If the status is IN_PROGRESS, then the predictive inbox placement test is currently running. Predictive inbox placement tests are usually complete within 24 hours of creating the test. If the status is COMPLETE, then the test is finished, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

    ", + "enum":[ + "IN_PROGRESS", + "COMPLETED" + ] + }, + "DeliverabilityTestSubject":{ + "type":"string", + "documentation":"

    The subject line for an email that you submitted in a predictive inbox placement test.

    " + }, + "DeliveryOptions":{ + "type":"structure", + "members":{ + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    " + }, + "SendingPoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + } + }, + "documentation":"

    Used to associate a configuration set with a dedicated IP pool.

    " + }, + "Destination":{ + "type":"structure", + "members":{ + "ToAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"To\" recipients for the email.

    " + }, + "CcAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"CC\" (carbon copy) recipients for the email.

    " + }, + "BccAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    An array that contains the email addresses of the \"BCC\" (blind carbon copy) recipients for the email.

    " + } + }, + "documentation":"

    An object that describes the recipients for an email.

    " + }, + "DimensionName":{ + "type":"string", + "documentation":"

    The name of an Amazon CloudWatch dimension associated with an email sending metric. The name has to meet the following criteria:

    • It can only contain ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "DimensionValueSource":{ + "type":"string", + "documentation":"

    The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. If you want to use the message tags that you specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail or SendRawEmail API, choose messageTag. If you want to use your own email headers, choose emailHeader. If you want to use link tags, choose linkTags.

    ", + "enum":[ + "MESSAGE_TAG", + "EMAIL_HEADER", + "LINK_TAG" + ] + }, + "DkimAttributes":{ + "type":"structure", + "members":{ + "SigningEnabled":{ + "shape":"Enabled", + "documentation":"

    If the value is true, then the messages that you send from the identity are signed using DKIM. If the value is false, then the messages that you send from the identity aren't DKIM-signed.

    " + }, + "Status":{ + "shape":"DkimStatus", + "documentation":"

    Describes whether or not Amazon SES has successfully located the DKIM records in the DNS records for the domain. The status can be one of the following:

    • PENDING – The verification process was initiated, but Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the domain.

    • SUCCESS – The verification process completed successfully.

    • FAILED – The verification process failed. This typically occurs when Amazon SES fails to find the DKIM records in the DNS configuration of the domain.

    • TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from determining the DKIM authentication status of the domain.

    • NOT_STARTED – The DKIM verification process hasn't been initiated for the domain.

    " + }, + "Tokens":{ + "shape":"DnsTokenList", + "documentation":"

    If you used Easy DKIM to configure DKIM authentication for the domain, then this object contains a set of unique strings that you use to create a set of CNAME records that you add to the DNS configuration for your domain. When Amazon SES detects these records in the DNS configuration for your domain, the DKIM authentication process is complete.

    If you configured DKIM authentication for the domain by providing your own public-private key pair, then this object contains the selector for the public key.

    Regardless of the DKIM authentication method you use, Amazon SES searches for the appropriate records in the DNS configuration of the domain for up to 72 hours.

    " + }, + "SigningAttributesOrigin":{ + "shape":"DkimSigningAttributesOrigin", + "documentation":"

    A string that indicates how DKIM was configured for the identity. There are two possible values:

    • AWS_SES – Indicates that DKIM was configured for the identity by using Easy DKIM.

    • EXTERNAL – Indicates that DKIM was configured for the identity by using Bring Your Own DKIM (BYODKIM).

    " + } + }, + "documentation":"

    An object that contains information about the DKIM authentication status for an email identity.

    Amazon SES determines the authentication status by searching for specific records in the DNS configuration for the domain. If you used Easy DKIM to set up DKIM authentication, Amazon SES tries to find three unique CNAME records in the DNS configuration for your domain. If you provided a public key to perform DKIM authentication, Amazon SES tries to find a TXT record that uses the selector that you specified. The value of the TXT record must be a public key that's paired with the private key that you specified in the process of creating the identity

    " + }, + "DkimSigningAttributes":{ + "type":"structure", + "required":[ + "DomainSigningSelector", + "DomainSigningPrivateKey" + ], + "members":{ + "DomainSigningSelector":{ + "shape":"Selector", + "documentation":"

    A string that's used to identify a public key in the DNS configuration for a domain.

    " + }, + "DomainSigningPrivateKey":{ + "shape":"PrivateKey", + "documentation":"

    A private key that's used to generate a DKIM signature.

    The private key must use 1024-bit RSA encryption, and must be encoded using base64 encoding.

    " + } + }, + "documentation":"

    An object that contains information about the tokens used for setting up Bring Your Own DKIM (BYODKIM).

    " + }, + "DkimSigningAttributesOrigin":{ + "type":"string", + "enum":[ + "AWS_SES", + "EXTERNAL" + ] + }, + "DkimStatus":{ + "type":"string", + "documentation":"

    The DKIM authentication status of the identity. The status can be one of the following:

    • PENDING – The verification process was initiated, but Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the domain.

    • SUCCESS – The verification process completed successfully.

    • FAILED – The verification process failed. This typically occurs when Amazon SES fails to find the DKIM records in the DNS configuration of the domain.

    • TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from determining the DKIM authentication status of the domain.

    • NOT_STARTED – The DKIM verification process hasn't been initiated for the domain.

    ", + "enum":[ + "PENDING", + "SUCCESS", + "FAILED", + "TEMPORARY_FAILURE", + "NOT_STARTED" + ] + }, + "DnsToken":{"type":"string"}, + "DnsTokenList":{ + "type":"list", + "member":{"shape":"DnsToken"} + }, + "Domain":{"type":"string"}, + "DomainDeliverabilityCampaign":{ + "type":"structure", + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

    The unique identifier for the campaign. The Deliverability dashboard automatically generates and assigns this identifier to a campaign.

    " + }, + "ImageUrl":{ + "shape":"ImageUrl", + "documentation":"

    The URL of an image that contains a snapshot of the email message that was sent.

    " + }, + "Subject":{ + "shape":"Subject", + "documentation":"

    The subject line, or title, of the email message.

    " + }, + "FromAddress":{ + "shape":"Identity", + "documentation":"

    The verified email address that the email message was sent from.

    " + }, + "SendingIps":{ + "shape":"IpList", + "documentation":"

    The IP addresses that were used to send the email message.

    " + }, + "FirstSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

    The first time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

    " + }, + "LastSeenDateTime":{ + "shape":"Timestamp", + "documentation":"

    The last time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

    " + }, + "InboxCount":{ + "shape":"Volume", + "documentation":"

    The number of email messages that were delivered to recipients’ inboxes.

    " + }, + "SpamCount":{ + "shape":"Volume", + "documentation":"

    The number of email messages that were delivered to recipients' spam or junk mail folders.

    " + }, + "ReadRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were opened by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "DeleteRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were deleted by recipients, without being opened first. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "ReadDeleteRate":{ + "shape":"Percentage", + "documentation":"

    The percentage of email messages that were opened and then deleted by recipients. Due to technical limitations, this value only includes recipients who opened the message by using an email client that supports images.

    " + }, + "ProjectedVolume":{ + "shape":"Volume", + "documentation":"

    The projected number of recipients that the email message was sent to.

    " + }, + "Esps":{ + "shape":"Esps", + "documentation":"

    The major email providers who handled the email message.

    " + } + }, + "documentation":"

    An object that contains the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "DomainDeliverabilityCampaignList":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityCampaign"}, + "documentation":"

    " + }, + "DomainDeliverabilityTrackingOption":{ + "type":"structure", + "members":{ + "Domain":{ + "shape":"Domain", + "documentation":"

    A verified domain that’s associated with your AWS account and currently has an active Deliverability dashboard subscription.

    " + }, + "SubscriptionStartDate":{ + "shape":"Timestamp", + "documentation":"

    The date, in Unix time format, when you enabled the Deliverability dashboard for the domain.

    " + }, + "InboxPlacementTrackingOption":{ + "shape":"InboxPlacementTrackingOption", + "documentation":"

    An object that contains information about the inbox placement data settings for the domain.

    " + } + }, + "documentation":"

    An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

    " + }, + "DomainDeliverabilityTrackingOptions":{ + "type":"list", + "member":{"shape":"DomainDeliverabilityTrackingOption"}, + "documentation":"

    An object that contains information about the Deliverability dashboard subscription for a verified domain that you use to send email and currently has an active Deliverability dashboard subscription. If a Deliverability dashboard subscription is active for a domain, you gain access to reputation, inbox placement, and other metrics for the domain.

    " + }, + "DomainIspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

    The name of the email provider that the inbox placement data applies to.

    " + }, + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

    " + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

    " + }, + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' inboxes.

    " + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of messages that were sent from the selected domain to the specified email provider that arrived in recipients' spam or junk mail folders.

    " + } + }, + "documentation":"

    An object that contains inbox placement data for email sent from one of your email domains to a specific email provider.

    " + }, + "DomainIspPlacements":{ + "type":"list", + "member":{"shape":"DomainIspPlacement"} + }, + "EmailAddress":{"type":"string"}, + "EmailAddressList":{ + "type":"list", + "member":{"shape":"EmailAddress"} + }, + "EmailContent":{ + "type":"structure", + "members":{ + "Simple":{ + "shape":"Message", + "documentation":"

    The simple email message. The message consists of a subject and a message body.

    " + }, + "Raw":{ + "shape":"RawMessage", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • If you include attachments, they must be in a file format that the Amazon SES API v2 supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + }, + "Template":{ + "shape":"Template", + "documentation":"

    The template to use for the email message.

    " + } + }, + "documentation":"

    An object that defines the entire content of the email, including the message headers and the body content. You can create a simple email message, in which you specify the subject and the text and HTML versions of the message body. You can also create raw messages, in which you specify a complete MIME-formatted message. Raw messages can include attachments and custom headers.

    " + }, + "Enabled":{"type":"boolean"}, + "Esp":{"type":"string"}, + "Esps":{ + "type":"list", + "member":{"shape":"Esp"} + }, + "EventDestination":{ + "type":"structure", + "required":[ + "Name", + "MatchingEventTypes" + ], + "members":{ + "Name":{ + "shape":"EventDestinationName", + "documentation":"

    A name that identifies the event destination.

    " + }, + "Enabled":{ + "shape":"Enabled", + "documentation":"

    If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

    If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

    " + }, + "MatchingEventTypes":{ + "shape":"EventTypes", + "documentation":"

    The types of events that Amazon SES sends to the specified event destinations.

    " + }, + "KinesisFirehoseDestination":{ + "shape":"KinesisFirehoseDestination", + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "CloudWatchDestination":{ + "shape":"CloudWatchDestination", + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "SnsDestination":{ + "shape":"SnsDestination", + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "PinpointDestination":{ + "shape":"PinpointDestination", + "documentation":"

    An object that defines an Amazon Pinpoint project destination for email events. You can send email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging dashboards that are built in to Amazon Pinpoint. For more information, see Transactional Messaging Charts in the Amazon Pinpoint User Guide.

    " + } + }, + "documentation":"

    In the Amazon SES API v2, events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "EventDestinationDefinition":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Enabled", + "documentation":"

    If true, the event destination is enabled. When the event destination is enabled, the specified event types are sent to the destinations in this EventDestinationDefinition.

    If false, the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations.

    " + }, + "MatchingEventTypes":{ + "shape":"EventTypes", + "documentation":"

    An array that specifies which events the Amazon SES API v2 should send to the destinations in this EventDestinationDefinition.

    " + }, + "KinesisFirehoseDestination":{ + "shape":"KinesisFirehoseDestination", + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "CloudWatchDestination":{ + "shape":"CloudWatchDestination", + "documentation":"

    An object that defines an Amazon CloudWatch destination for email events. You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics.

    " + }, + "SnsDestination":{ + "shape":"SnsDestination", + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "PinpointDestination":{ + "shape":"PinpointDestination", + "documentation":"

    An object that defines an Amazon Pinpoint project destination for email events. You can send email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging dashboards that are built in to Amazon Pinpoint. For more information, see Transactional Messaging Charts in the Amazon Pinpoint User Guide.

    " + } + }, + "documentation":"

    An object that defines the event destination. Specifically, it defines which services receive events from emails sent using the configuration set that the event destination is associated with. Also defines the types of events that are sent to the event destination.

    " + }, + "EventDestinationName":{ + "type":"string", + "documentation":"

    The name of an event destination.

    Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

    " + }, + "EventDestinations":{ + "type":"list", + "member":{"shape":"EventDestination"} + }, + "EventType":{ + "type":"string", + "documentation":"

    An email sending event type. For example, email sends, opens, and bounces are all email events.

    ", + "enum":[ + "SEND", + "REJECT", + "BOUNCE", + "COMPLAINT", + "DELIVERY", + "OPEN", + "CLICK", + "RENDERING_FAILURE" + ] + }, + "EventTypes":{ + "type":"list", + "member":{"shape":"EventType"} + }, + "FeedbackId":{"type":"string"}, + "GeneralEnforcementStatus":{"type":"string"}, + "GetAccountRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A request to obtain information about the email-sending capabilities of your Amazon SES account.

    " + }, + "GetAccountResponse":{ + "type":"structure", + "members":{ + "DedicatedIpAutoWarmupEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not the automatic warm-up feature is enabled for dedicated IP addresses that are associated with your account.

    " + }, + "EnforcementStatus":{ + "shape":"GeneralEnforcementStatus", + "documentation":"

    The reputation status of your Amazon SES account. The status can be one of the following:

    • HEALTHY – There are no reputation-related issues that currently impact your account.

    • PROBATION – We've identified potential issues with your Amazon SES account. We're placing your account under review while you work on correcting these issues.

    • SHUTDOWN – Your account's ability to send email is currently paused because of an issue with the email sent from your account. When you correct the issue, you can contact us and request that your account's ability to send email is resumed.

    " + }, + "ProductionAccessEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not your account has production access in the current AWS Region.

    If the value is false, then your account is in the sandbox. When your account is in the sandbox, you can only send email to verified identities. Additionally, the maximum number of emails you can send in a 24-hour period (your sending quota) is 200, and the maximum number of emails you can send per second (your maximum sending rate) is 1.

    If the value is true, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.

    " + }, + "SendQuota":{ + "shape":"SendQuota", + "documentation":"

    An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current AWS Region.

    " + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not email sending is enabled for your Amazon SES account in the current AWS Region.

    " + }, + "SuppressionAttributes":{ + "shape":"SuppressionAttributes", + "documentation":"

    An object that contains information about the email address suppression preferences for your account in the current AWS Region.

    " + } + }, + "documentation":"

    A list of details about the email-sending capabilities of your Amazon SES account in the current AWS Region.

    " + }, + "GetBlacklistReportsRequest":{ + "type":"structure", + "required":["BlacklistItemNames"], + "members":{ + "BlacklistItemNames":{ + "shape":"BlacklistItemNames", + "documentation":"

    A list of IP addresses that you want to retrieve blacklist information about. You can only specify the dedicated IP addresses that you use to send email using Amazon SES or Amazon Pinpoint.

    ", + "location":"querystring", + "locationName":"BlacklistItemNames" + } + }, + "documentation":"

    A request to retrieve a list of the blacklists that your dedicated IP addresses appear on.

    " + }, + "GetBlacklistReportsResponse":{ + "type":"structure", + "required":["BlacklistReport"], + "members":{ + "BlacklistReport":{ + "shape":"BlacklistReport", + "documentation":"

    An object that contains information about a blacklist that one of your dedicated IP addresses appears on.

    " + } + }, + "documentation":"

    An object that contains information about blacklist events.

    " + }, + "GetConfigurationSetEventDestinationsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to obtain information about the event destinations for a configuration set.

    " + }, + "GetConfigurationSetEventDestinationsResponse":{ + "type":"structure", + "members":{ + "EventDestinations":{ + "shape":"EventDestinations", + "documentation":"

    An array that includes all of the events destinations that have been configured for the configuration set.

    " + } + }, + "documentation":"

    Information about an event destination for a configuration set.

    " + }, + "GetConfigurationSetRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to obtain more information about.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + } + }, + "documentation":"

    A request to obtain information about a configuration set.

    " + }, + "GetConfigurationSetResponse":{ + "type":"structure", + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set.

    " + }, + "TrackingOptions":{ + "shape":"TrackingOptions", + "documentation":"

    An object that defines the open and click tracking options for emails that you send using the configuration set.

    " + }, + "DeliveryOptions":{ + "shape":"DeliveryOptions", + "documentation":"

    An object that defines the dedicated IP pool that is used to send emails that you send using the configuration set.

    " + }, + "ReputationOptions":{ + "shape":"ReputationOptions", + "documentation":"

    An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.

    " + }, + "SendingOptions":{ + "shape":"SendingOptions", + "documentation":"

    An object that defines whether or not Amazon SES can send email that you send using the configuration set.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the configuration set.

    " + }, + "SuppressionOptions":{ + "shape":"SuppressionOptions", + "documentation":"

    An object that contains information about the suppression list preferences for your account.

    " + } + }, + "documentation":"

    Information about a configuration set.

    " + }, + "GetDedicatedIpRequest":{ + "type":"structure", + "required":["Ip"], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The IP address that you want to obtain more information about. The value you specify has to be a dedicated IP address that's assocaited with your AWS account.

    ", + "location":"uri", + "locationName":"IP" + } + }, + "documentation":"

    A request to obtain more information about a dedicated IP address.

    " + }, + "GetDedicatedIpResponse":{ + "type":"structure", + "members":{ + "DedicatedIp":{ + "shape":"DedicatedIp", + "documentation":"

    An object that contains information about a dedicated IP address.

    " + } + }, + "documentation":"

    Information about a dedicated IP address.

    " + }, + "GetDedicatedIpsRequest":{ + "type":"structure", + "members":{ + "PoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the IP pool that the dedicated IP address is associated with.

    ", + "location":"querystring", + "locationName":"PoolName" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to GetDedicatedIps to indicate the position of the dedicated IP pool in the list of IP pools.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain more information about dedicated IP pools.

    " + }, + "GetDedicatedIpsResponse":{ + "type":"structure", + "members":{ + "DedicatedIps":{ + "shape":"DedicatedIpList", + "documentation":"

    A list of dedicated IP addresses that are associated with your AWS account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional dedicated IP addresses to list. To view additional addresses, issue another request to GetDedicatedIps, passing this token in the NextToken parameter.

    " + } + }, + "documentation":"

    Information about the dedicated IP addresses that are associated with your AWS account.

    " + }, + "GetDeliverabilityDashboardOptionsRequest":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Retrieve information about the status of the Deliverability dashboard for your AWS account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for your domains. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "GetDeliverabilityDashboardOptionsResponse":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

    Specifies whether the Deliverability dashboard is enabled. If this value is true, the dashboard is enabled.

    " + }, + "SubscriptionExpiryDate":{ + "shape":"Timestamp", + "documentation":"

    The date, in Unix time format, when your current subscription to the Deliverability dashboard is scheduled to expire, if your subscription is scheduled to expire at the end of the current calendar month. This value is null if you have an active subscription that isn’t due to expire at the end of the month.

    " + }, + "AccountStatus":{ + "shape":"DeliverabilityDashboardAccountStatus", + "documentation":"

    The current status of your Deliverability dashboard subscription. If this value is PENDING_EXPIRATION, your subscription is scheduled to expire at the end of the current calendar month.

    " + }, + "ActiveSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that isn’t scheduled to expire at the end of the current calendar month.

    " + }, + "PendingExpirationSubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and currently has an active Deliverability dashboard subscription that's scheduled to expire at the end of the current calendar month.

    " + } + }, + "documentation":"

    An object that shows the status of the Deliverability dashboard.

    " + }, + "GetDeliverabilityTestReportRequest":{ + "type":"structure", + "required":["ReportId"], + "members":{ + "ReportId":{ + "shape":"ReportId", + "documentation":"

    A unique string that identifies the predictive inbox placement test.

    ", + "location":"uri", + "locationName":"ReportId" + } + }, + "documentation":"

    A request to retrieve the results of a predictive inbox placement test.

    " + }, + "GetDeliverabilityTestReportResponse":{ + "type":"structure", + "required":[ + "DeliverabilityTestReport", + "OverallPlacement", + "IspPlacements" + ], + "members":{ + "DeliverabilityTestReport":{ + "shape":"DeliverabilityTestReport", + "documentation":"

    An object that contains the results of the predictive inbox placement test.

    " + }, + "OverallPlacement":{ + "shape":"PlacementStatistics", + "documentation":"

    An object that specifies how many test messages that were sent during the predictive inbox placement test were delivered to recipients' inboxes, how many were sent to recipients' spam folders, and how many weren't delivered.

    " + }, + "IspPlacements":{ + "shape":"IspPlacements", + "documentation":"

    An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.

    " + }, + "Message":{ + "shape":"MessageContent", + "documentation":"

    An object that contains the message that you sent when you performed this predictive inbox placement test.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the predictive inbox placement test.

    " + } + }, + "documentation":"

    The results of the predictive inbox placement test.

    " + }, + "GetDomainDeliverabilityCampaignRequest":{ + "type":"structure", + "required":["CampaignId"], + "members":{ + "CampaignId":{ + "shape":"CampaignId", + "documentation":"

    The unique identifier for the campaign. The Deliverability dashboard automatically generates and assigns this identifier to a campaign.

    ", + "location":"uri", + "locationName":"CampaignId" + } + }, + "documentation":"

    Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for (PutDeliverabilityDashboardOption operation).

    " + }, + "GetDomainDeliverabilityCampaignResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaign"], + "members":{ + "DomainDeliverabilityCampaign":{ + "shape":"DomainDeliverabilityCampaign", + "documentation":"

    An object that contains the deliverability data for the campaign.

    " + } + }, + "documentation":"

    An object that contains all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for.

    " + }, + "GetDomainStatisticsReportRequest":{ + "type":"structure", + "required":[ + "Domain", + "StartDate", + "EndDate" + ], + "members":{ + "Domain":{ + "shape":"Identity", + "documentation":"

    The domain that you want to obtain deliverability metrics for.

    ", + "location":"uri", + "locationName":"Domain" + }, + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The first day (in Unix time) that you want to obtain domain deliverability metrics for.

    ", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

    The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

    ", + "location":"querystring", + "locationName":"EndDate" + } + }, + "documentation":"

    A request to obtain deliverability metrics for a domain.

    " + }, + "GetDomainStatisticsReportResponse":{ + "type":"structure", + "required":[ + "OverallVolume", + "DailyVolumes" + ], + "members":{ + "OverallVolume":{ + "shape":"OverallVolume", + "documentation":"

    An object that contains deliverability metrics for the domain that you specified. The data in this object is a summary of all of the data that was collected from the StartDate to the EndDate.

    " + }, + "DailyVolumes":{ + "shape":"DailyVolumes", + "documentation":"

    An object that contains deliverability metrics for the domain that you specified. This object contains data for each day, starting on the StartDate and ending on the EndDate.

    " + } + }, + "documentation":"

    An object that includes statistics that are related to the domain that you specified.

    " + }, + "GetEmailIdentityRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to retrieve details for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + } + }, + "documentation":"

    A request to return details about an email identity.

    " + }, + "GetEmailIdentityResponse":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type.

    " + }, + "FeedbackForwardingStatus":{ + "shape":"Enabled", + "documentation":"

    The feedback forwarding configuration for the identity.

    If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

    You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

    " + }, + "VerifiedForSendingStatus":{ + "shape":"Enabled", + "documentation":"

    Specifies whether or not the identity is verified. You can only send email from verified email addresses or domains. For more information about verifying identities, see the Amazon Pinpoint User Guide.

    " + }, + "DkimAttributes":{ + "shape":"DkimAttributes", + "documentation":"

    An object that contains information about the DKIM attributes for the identity.

    " + }, + "MailFromAttributes":{ + "shape":"MailFromAttributes", + "documentation":"

    An object that contains information about the Mail-From attributes for the email identity.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of objects that define the tags (keys and values) that are associated with the email identity.

    " + } + }, + "documentation":"

    Details about an email identity.

    " + }, + "GetSuppressedDestinationRequest":{ + "type":"structure", + "required":["EmailAddress"], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that's on the account suppression list.

    ", + "location":"uri", + "locationName":"EmailAddress" + } + }, + "documentation":"

    A request to retrieve information about an email address that's on the suppression list for your account.

    " + }, + "GetSuppressedDestinationResponse":{ + "type":"structure", + "required":["SuppressedDestination"], + "members":{ + "SuppressedDestination":{ + "shape":"SuppressedDestination", + "documentation":"

    An object containing information about the suppressed email address.

    " + } + }, + "documentation":"

    Information about the suppressed email address.

    " + }, + "Identity":{"type":"string"}, + "IdentityInfo":{ + "type":"structure", + "members":{ + "IdentityType":{ + "shape":"IdentityType", + "documentation":"

    The email identity type. The identity type can be one of the following:

    • EMAIL_ADDRESS – The identity is an email address.

    • DOMAIN – The identity is a domain.

    • MANAGED_DOMAIN – The identity is a domain that is managed by AWS.

    " + }, + "IdentityName":{ + "shape":"Identity", + "documentation":"

    The address or domain of the identity.

    " + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Indicates whether or not you can send email from the identity.

    An identity is an email address or domain that you send email from. Before you can send email from an identity, you have to demostrate that you own the identity, and that you authorize Amazon SES to send email from that identity.

    " + } + }, + "documentation":"

    Information about an email identity.

    " + }, + "IdentityInfoList":{ + "type":"list", + "member":{"shape":"IdentityInfo"} + }, + "IdentityType":{ + "type":"string", + "documentation":"

    The email identity type. The identity type can be one of the following:

    • EMAIL_ADDRESS – The identity is an email address.

    • DOMAIN – The identity is a domain.

    ", + "enum":[ + "EMAIL_ADDRESS", + "DOMAIN", + "MANAGED_DOMAIN" + ] + }, + "ImageUrl":{"type":"string"}, + "InboxPlacementTrackingOption":{ + "type":"structure", + "members":{ + "Global":{ + "shape":"Enabled", + "documentation":"

    Specifies whether inbox placement data is being tracked for the domain.

    " + }, + "TrackedIsps":{ + "shape":"IspNameList", + "documentation":"

    An array of strings, one for each major email provider that the inbox placement data applies to.

    " + } + }, + "documentation":"

    An object that contains information about the inbox placement data settings for a verified domain that’s associated with your AWS account. This data is available only if you enabled the Deliverability dashboard for the domain.

    " + }, + "InvalidNextTokenException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified request includes an invalid or expired token.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Ip":{ + "type":"string", + "documentation":"

    An IPv4 address.

    " + }, + "IpList":{ + "type":"list", + "member":{"shape":"Ip"} + }, + "IspName":{ + "type":"string", + "documentation":"

    The name of an email provider.

    " + }, + "IspNameList":{ + "type":"list", + "member":{"shape":"IspName"} + }, + "IspPlacement":{ + "type":"structure", + "members":{ + "IspName":{ + "shape":"IspName", + "documentation":"

    The name of the email provider that the inbox placement data applies to.

    " + }, + "PlacementStatistics":{ + "shape":"PlacementStatistics", + "documentation":"

    An object that contains inbox placement metrics for a specific email provider.

    " + } + }, + "documentation":"

    An object that describes how email sent during the predictive inbox placement test was handled by a certain email provider.

    " + }, + "IspPlacements":{ + "type":"list", + "member":{"shape":"IspPlacement"} + }, + "KinesisFirehoseDestination":{ + "type":"structure", + "required":[ + "IamRoleArn", + "DeliveryStreamArn" + ], + "members":{ + "IamRoleArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream.

    " + }, + "DeliveryStreamArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email events to.

    " + } + }, + "documentation":"

    An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

    " + }, + "LastFreshStart":{ + "type":"timestamp", + "documentation":"

    The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

    " + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    There are too many instances of the specified resource type.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListConfigurationSetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain a list of configuration sets for your Amazon SES account in the current AWS Region.

    " + }, + "ListConfigurationSetsResponse":{ + "type":"structure", + "members":{ + "ConfigurationSets":{ + "shape":"ConfigurationSetNameList", + "documentation":"

    An array that contains all of the configuration sets in your Amazon SES account in the current AWS Region.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListConfigurationSets, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of configuration sets in your Amazon SES account in the current AWS Region.

    " + }, + "ListDedicatedIpPoolsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain a list of dedicated IP pools.

    " + }, + "ListDedicatedIpPoolsResponse":{ + "type":"structure", + "members":{ + "DedicatedIpPools":{ + "shape":"ListOfDedicatedIpPools", + "documentation":"

    A list of all of the dedicated IP pools that are associated with your AWS account in the current Region.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional IP pools to list. To view additional IP pools, issue another request to ListDedicatedIpPools, passing this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of dedicated IP pools.

    " + }, + "ListDeliverabilityTestReportsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    The value you specify has to be at least 0, and can be no more than 1000.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to list all of the predictive inbox placement tests that you've performed.

    " + }, + "ListDeliverabilityTestReportsResponse":{ + "type":"structure", + "required":["DeliverabilityTestReports"], + "members":{ + "DeliverabilityTestReports":{ + "shape":"DeliverabilityTestReports", + "documentation":"

    An object that contains a lists of predictive inbox placement tests that you've performed.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional predictive inbox placement tests to list. To view additional predictive inbox placement tests, issue another request to ListDeliverabilityTestReports, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of the predictive inbox placement test reports that are available for your account, regardless of whether or not those tests are complete.

    " + }, + "ListDomainDeliverabilityCampaignsRequest":{ + "type":"structure", + "required":[ + "StartDate", + "EndDate", + "SubscribedDomain" + ], + "members":{ + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    The first day, in Unix time format, that you want to obtain deliverability data for.

    ", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

    The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

    ", + "location":"querystring", + "locationName":"EndDate" + }, + "SubscribedDomain":{ + "shape":"Domain", + "documentation":"

    The domain to obtain deliverability data for.

    ", + "location":"uri", + "locationName":"SubscribedDomain" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of a campaign in the list of campaigns.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard.

    " + }, + "ListDomainDeliverabilityCampaignsResponse":{ + "type":"structure", + "required":["DomainDeliverabilityCampaigns"], + "members":{ + "DomainDeliverabilityCampaigns":{ + "shape":"DomainDeliverabilityCampaignList", + "documentation":"

    An array of responses, one for each campaign that used the domain to send email during the specified time range.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of the campaign in the list of campaigns.

    " + } + }, + "documentation":"

    An array of objects that provide deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain.

    " + }, + "ListEmailIdentitiesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    The value you specify has to be at least 0, and can be no more than 1000.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to list all of the email identities associated with your AWS account. This list includes identities that you've already verified, identities that are unverified, and identities that were verified in the past, but are no longer verified.

    " + }, + "ListEmailIdentitiesResponse":{ + "type":"structure", + "members":{ + "EmailIdentities":{ + "shape":"IdentityInfoList", + "documentation":"

    An array that includes all of the email identities associated with your AWS account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of all of the identities that you've attempted to verify, regardless of whether or not those identities were successfully verified.

    " + }, + "ListOfDedicatedIpPools":{ + "type":"list", + "member":{"shape":"PoolName"}, + "documentation":"

    A list of dedicated IP pools that are associated with your AWS account.

    " + }, + "ListSuppressedDestinationsRequest":{ + "type":"structure", + "members":{ + "Reasons":{ + "shape":"SuppressionListReasons", + "documentation":"

    The factors that caused the email address to be added to .

    ", + "location":"querystring", + "locationName":"Reason" + }, + "StartDate":{ + "shape":"Timestamp", + "documentation":"

    Used to filter the list of suppressed email destinations so that it only includes addresses that were added to the list after a specific date. The date that you specify should be in Unix time format.

    ", + "location":"querystring", + "locationName":"StartDate" + }, + "EndDate":{ + "shape":"Timestamp", + "documentation":"

    Used to filter the list of suppressed email destinations so that it only includes addresses that were added to the list before a specific date. The date that you specify should be in Unix time format.

    ", + "location":"querystring", + "locationName":"EndDate" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token returned from a previous call to ListSuppressedDestinations to indicate the position in the list of suppressed email addresses.

    ", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "documentation":"

    The number of results to show in a single call to ListSuppressedDestinations. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

    ", + "location":"querystring", + "locationName":"PageSize" + } + }, + "documentation":"

    A request to obtain a list of email destinations that are on the suppression list for your account.

    " + }, + "ListSuppressedDestinationsResponse":{ + "type":"structure", + "members":{ + "SuppressedDestinationSummaries":{ + "shape":"SuppressedDestinationSummaries", + "documentation":"

    A list of summaries, each containing a summary for a suppressed email destination.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token that indicates that there are additional email addresses on the suppression list for your account. To view additional suppressed addresses, issue another request to ListSuppressedDestinations, and pass this token in the NextToken parameter.

    " + } + }, + "documentation":"

    A list of suppressed email addresses.

    " + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for.

    ", + "location":"querystring", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["Tags"], + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    An array that lists all the tags that are associated with the resource. Each tag consists of a required tag key (Key) and an associated tag value (Value)

    " + } + } + }, + "MailFromAttributes":{ + "type":"structure", + "required":[ + "MailFromDomain", + "MailFromDomainStatus", + "BehaviorOnMxFailure" + ], + "members":{ + "MailFromDomain":{ + "shape":"MailFromDomainName", + "documentation":"

    The name of a domain that an email identity uses as a custom MAIL FROM domain.

    " + }, + "MailFromDomainStatus":{ + "shape":"MailFromDomainStatus", + "documentation":"

    The status of the MAIL FROM domain. This status can have the following values:

    • PENDING – Amazon SES hasn't started searching for the MX record yet.

    • SUCCESS – Amazon SES detected the required MX record for the MAIL FROM domain.

    • FAILED – Amazon SES can't find the required MX record, or the record no longer exists.

    • TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon SES from determining the status of the MAIL FROM domain.

    " + }, + "BehaviorOnMxFailure":{ + "shape":"BehaviorOnMxFailure", + "documentation":"

    The action that you want to take if the required MX record can't be found when you send an email. When you set this value to UseDefaultValue, the mail is sent using amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    " + } + }, + "documentation":"

    A list of attributes that are associated with a MAIL FROM domain.

    " + }, + "MailFromDomainName":{ + "type":"string", + "documentation":"

    The domain that you want to use as a MAIL FROM domain.

    " + }, + "MailFromDomainNotVerifiedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the sending domain isn't verified.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MailFromDomainStatus":{ + "type":"string", + "documentation":"

    The status of the MAIL FROM domain. This status can have the following values:

    • PENDING – Amazon SES hasn't started searching for the MX record yet.

    • SUCCESS – Amazon SES detected the required MX record for the MAIL FROM domain.

    • FAILED – Amazon SES can't find the required MX record, or the record no longer exists.

    • TEMPORARY_FAILURE – A temporary issue occurred, which prevented Amazon SES from determining the status of the MAIL FROM domain.

    ", + "enum":[ + "PENDING", + "SUCCESS", + "FAILED", + "TEMPORARY_FAILURE" + ] + }, + "Max24HourSend":{"type":"double"}, + "MaxItems":{"type":"integer"}, + "MaxSendRate":{"type":"double"}, + "Message":{ + "type":"structure", + "required":[ + "Subject", + "Body" + ], + "members":{ + "Subject":{ + "shape":"Content", + "documentation":"

    The subject line of the email. The subject line can only contain 7-bit ASCII characters. However, you can specify non-ASCII characters in the subject line by using encoded-word syntax, as described in RFC 2047.

    " + }, + "Body":{ + "shape":"Body", + "documentation":"

    The body of the message. You can specify an HTML version of the message, a text-only version of the message, or both.

    " + } + }, + "documentation":"

    Represents the email message that you're sending. The Message object consists of a subject line and a message body.

    " + }, + "MessageContent":{ + "type":"string", + "documentation":"

    The body of an email message.

    " + }, + "MessageData":{"type":"string"}, + "MessageRejected":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because it contains invalid content.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "MessageTag":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"MessageTagName", + "documentation":"

    The name of the message tag. The message tag name has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "Value":{ + "shape":"MessageTagValue", + "documentation":"

    The value of the message tag. The message tag value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + } + }, + "documentation":"

    Contains the name and value of a tag that you apply to an email. You can use message tags when you publish email sending events.

    " + }, + "MessageTagList":{ + "type":"list", + "member":{"shape":"MessageTag"}, + "documentation":"

    A list of message tags.

    " + }, + "MessageTagName":{ + "type":"string", + "documentation":"

    The name of the message tag. The message tag name has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "MessageTagValue":{ + "type":"string", + "documentation":"

    The value of the message tag. The message tag value has to meet the following criteria:

    • It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-).

    • It can contain no more than 256 characters.

    " + }, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource you attempted to access doesn't exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "OutboundMessageId":{"type":"string"}, + "OverallVolume":{ + "type":"structure", + "members":{ + "VolumeStatistics":{ + "shape":"VolumeStatistics", + "documentation":"

    An object that contains information about the numbers of messages that arrived in recipients' inboxes and junk mail folders.

    " + }, + "ReadRatePercent":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were sent from the domain that were read by their recipients.

    " + }, + "DomainIspPlacements":{ + "shape":"DomainIspPlacements", + "documentation":"

    An object that contains inbox and junk mail placement metrics for individual email providers.

    " + } + }, + "documentation":"

    An object that contains information about email that was sent from the selected domain.

    " + }, + "Percentage":{ + "type":"double", + "documentation":"

    An object that contains information about inbox placement percentages.

    " + }, + "Percentage100Wrapper":{"type":"integer"}, + "PinpointDestination":{ + "type":"structure", + "members":{ + "ApplicationArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you want to send email events to.

    " + } + }, + "documentation":"

    An object that defines an Amazon Pinpoint project destination for email events. You can send email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging dashboards that are built in to Amazon Pinpoint. For more information, see Transactional Messaging Charts in the Amazon Pinpoint User Guide.

    " + }, + "PlacementStatistics":{ + "type":"structure", + "members":{ + "InboxPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that arrived in recipients' inboxes during the predictive inbox placement test.

    " + }, + "SpamPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that arrived in recipients' spam or junk mail folders during the predictive inbox placement test.

    " + }, + "MissingPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that didn't arrive in recipients' inboxes at all during the predictive inbox placement test.

    " + }, + "SpfPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were authenticated by using Sender Policy Framework (SPF) during the predictive inbox placement test.

    " + }, + "DkimPercentage":{ + "shape":"Percentage", + "documentation":"

    The percentage of emails that were authenticated by using DomainKeys Identified Mail (DKIM) during the predictive inbox placement test.

    " + } + }, + "documentation":"

    An object that contains inbox placement data for an email provider.

    " + }, + "PoolName":{ + "type":"string", + "documentation":"

    The name of a dedicated IP pool.

    " + }, + "PrivateKey":{ + "type":"string", + "max":20480, + "min":1, + "pattern":"^[a-zA-Z0-9+\\/]+={0,2}$", + "sensitive":true + }, + "PutAccountDedicatedIpWarmupAttributesRequest":{ + "type":"structure", + "members":{ + "AutoWarmupEnabled":{ + "shape":"Enabled", + "documentation":"

    Enables or disables the automatic warm-up feature for dedicated IP addresses that are associated with your Amazon SES account in the current AWS Region. Set to true to enable the automatic warm-up feature, or set to false to disable it.

    " + } + }, + "documentation":"

    A request to enable or disable the automatic IP address warm-up feature.

    " + }, + "PutAccountDedicatedIpWarmupAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutAccountSendingAttributesRequest":{ + "type":"structure", + "members":{ + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    Enables or disables your account's ability to send email. Set to true to enable email sending, or set to false to disable email sending.

    If AWS paused your account's ability to send email, you can't use this operation to resume your account's ability to send email.

    " + } + }, + "documentation":"

    A request to change the ability of your account to send email.

    " + }, + "PutAccountSendingAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutAccountSuppressionAttributesRequest":{ + "type":"structure", + "members":{ + "SuppressedReasons":{ + "shape":"SuppressionListReasons", + "documentation":"

    A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. This list can contain any or all of the following:

    • COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.

    • BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.

    " + } + }, + "documentation":"

    A request to change your account's suppression preferences.

    " + }, + "PutAccountSuppressionAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetDeliveryOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to associate with a dedicated IP pool.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "TlsPolicy":{ + "shape":"TlsPolicy", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    " + }, + "SendingPoolName":{ + "shape":"SendingPoolName", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + } + }, + "documentation":"

    A request to associate a configuration set with a dedicated IP pool.

    " + }, + "PutConfigurationSetDeliveryOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetReputationOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to enable or disable reputation metric tracking for.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "ReputationMetricsEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set.

    " + } + }, + "documentation":"

    A request to enable or disable tracking of reputation metrics for a configuration set.

    " + }, + "PutConfigurationSetReputationOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetSendingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to enable or disable email sending for.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set.

    " + } + }, + "documentation":"

    A request to enable or disable the ability of Amazon SES to send emails that use a specific configuration set.

    " + }, + "PutConfigurationSetSendingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetSuppressionOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to change the suppression list preferences for.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "SuppressedReasons":{ + "shape":"SuppressionListReasons", + "documentation":"

    A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:

    • COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.

    • BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.

    " + } + }, + "documentation":"

    A request to change the account suppression list preferences for a specific configuration set.

    " + }, + "PutConfigurationSetSuppressionOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutConfigurationSetTrackingOptionsRequest":{ + "type":"structure", + "required":["ConfigurationSetName"], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to add a custom tracking domain to.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "CustomRedirectDomain":{ + "shape":"CustomRedirectDomain", + "documentation":"

    The domain that you want to use to track open and click events.

    " + } + }, + "documentation":"

    A request to add a custom domain for tracking open and click events to a configuration set.

    " + }, + "PutConfigurationSetTrackingOptionsResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDedicatedIpInPoolRequest":{ + "type":"structure", + "required":[ + "Ip", + "DestinationPoolName" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The IP address that you want to move to the dedicated IP pool. The value you specify has to be a dedicated IP address that's associated with your AWS account.

    ", + "location":"uri", + "locationName":"IP" + }, + "DestinationPoolName":{ + "shape":"PoolName", + "documentation":"

    The name of the IP pool that you want to add the dedicated IP address to. You have to specify an IP pool that already exists.

    " + } + }, + "documentation":"

    A request to move a dedicated IP address to a dedicated IP pool.

    " + }, + "PutDedicatedIpInPoolResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDedicatedIpWarmupAttributesRequest":{ + "type":"structure", + "required":[ + "Ip", + "WarmupPercentage" + ], + "members":{ + "Ip":{ + "shape":"Ip", + "documentation":"

    The dedicated IP address that you want to update the warm-up attributes for.

    ", + "location":"uri", + "locationName":"IP" + }, + "WarmupPercentage":{ + "shape":"Percentage100Wrapper", + "documentation":"

    The warm-up percentage that you want to associate with the dedicated IP address.

    " + } + }, + "documentation":"

    A request to change the warm-up attributes for a dedicated IP address. This operation is useful when you want to resume the warm-up process for an existing IP address.

    " + }, + "PutDedicatedIpWarmupAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutDeliverabilityDashboardOptionRequest":{ + "type":"structure", + "required":["DashboardEnabled"], + "members":{ + "DashboardEnabled":{ + "shape":"Enabled", + "documentation":"

    Specifies whether to enable the Deliverability dashboard. To enable the dashboard, set this value to true.

    " + }, + "SubscribedDomains":{ + "shape":"DomainDeliverabilityTrackingOptions", + "documentation":"

    An array of objects, one for each verified domain that you use to send email and enabled the Deliverability dashboard for.

    " + } + }, + "documentation":"

    Enable or disable the Deliverability dashboard. When you enable the Deliverability dashboard, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email using Amazon SES API v2. You also gain the ability to perform predictive inbox placement tests.

    When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon Pinpoint Pricing.

    " + }, + "PutDeliverabilityDashboardOptionResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A response that indicates whether the Deliverability dashboard is enabled.

    " + }, + "PutEmailIdentityDkimAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to change the DKIM settings for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "SigningEnabled":{ + "shape":"Enabled", + "documentation":"

    Sets the DKIM signing configuration for the identity.

    When you set this value true, then the messages that are sent from the identity are signed using DKIM. If you set this value to false, your messages are sent without DKIM signing.

    " + } + }, + "documentation":"

    A request to enable or disable DKIM signing of email that you send from an email identity.

    " + }, + "PutEmailIdentityDkimAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutEmailIdentityDkimSigningAttributesRequest":{ + "type":"structure", + "required":[ + "EmailIdentity", + "SigningAttributesOrigin" + ], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to configure DKIM for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "SigningAttributesOrigin":{ + "shape":"DkimSigningAttributesOrigin", + "documentation":"

    The method that you want to use to configure DKIM for the identity. There are two possible values:

    • AWS_SES – Configure DKIM for the identity by using Easy DKIM.

    • EXTERNAL – Configure DKIM for the identity by using Bring Your Own DKIM (BYODKIM).

    " + }, + "SigningAttributes":{ + "shape":"DkimSigningAttributes", + "documentation":"

    An object that contains information about the private key and selector that you want to use to configure DKIM for the identity. This object is only required if you want to configure Bring Your Own DKIM (BYODKIM) for the identity.

    " + } + }, + "documentation":"

    A request to change the DKIM attributes for an email identity.

    " + }, + "PutEmailIdentityDkimSigningAttributesResponse":{ + "type":"structure", + "members":{ + "DkimStatus":{ + "shape":"DkimStatus", + "documentation":"

    The DKIM authentication status of the identity. Amazon SES determines the authentication status by searching for specific records in the DNS configuration for your domain. If you used Easy DKIM to set up DKIM authentication, Amazon SES tries to find three unique CNAME records in the DNS configuration for your domain.

    If you provided a public key to perform DKIM authentication, Amazon SES tries to find a TXT record that uses the selector that you specified. The value of the TXT record must be a public key that's paired with the private key that you specified in the process of creating the identity.

    The status can be one of the following:

    • PENDING – The verification process was initiated, but Amazon SES hasn't yet detected the DKIM records in the DNS configuration for the domain.

    • SUCCESS – The verification process completed successfully.

    • FAILED – The verification process failed. This typically occurs when Amazon SES fails to find the DKIM records in the DNS configuration of the domain.

    • TEMPORARY_FAILURE – A temporary issue is preventing Amazon SES from determining the DKIM authentication status of the domain.

    • NOT_STARTED – The DKIM verification process hasn't been initiated for the domain.

    " + }, + "DkimTokens":{ + "shape":"DnsTokenList", + "documentation":"

    If you used Easy DKIM to configure DKIM authentication for the domain, then this object contains a set of unique strings that you use to create a set of CNAME records that you add to the DNS configuration for your domain. When Amazon SES detects these records in the DNS configuration for your domain, the DKIM authentication process is complete.

    If you configured DKIM authentication for the domain by providing your own public-private key pair, then this object contains the selector that's associated with your public key.

    Regardless of the DKIM authentication method you use, Amazon SES searches for the appropriate records in the DNS configuration of the domain for up to 72 hours.

    " + } + }, + "documentation":"

    If the action is successful, the service sends back an HTTP 200 response.

    The following data is returned in JSON format by the service.

    " + }, + "PutEmailIdentityFeedbackAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The email identity that you want to configure bounce and complaint feedback forwarding for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "EmailForwardingEnabled":{ + "shape":"Enabled", + "documentation":"

    Sets the feedback forwarding configuration for the identity.

    If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

    You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

    " + } + }, + "documentation":"

    A request to set the attributes that control how bounce and complaint events are processed.

    " + }, + "PutEmailIdentityFeedbackAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutEmailIdentityMailFromAttributesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "documentation":"

    The verified email identity that you want to set up the custom MAIL FROM domain for.

    ", + "location":"uri", + "locationName":"EmailIdentity" + }, + "MailFromDomain":{ + "shape":"MailFromDomainName", + "documentation":"

    The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM domain must meet the following criteria:

    • It has to be a subdomain of the verified identity.

    • It can't be used to receive email.

    • It can't be used in a \"From\" address if the MAIL FROM domain is a destination for feedback forwarding emails.

    " + }, + "BehaviorOnMxFailure":{ + "shape":"BehaviorOnMxFailure", + "documentation":"

    The action that you want to take if the required MX record isn't found when you send an email. When you set this value to UseDefaultValue, the mail is sent using amazonses.com as the MAIL FROM domain. When you set this value to RejectMessage, the Amazon SES API v2 returns a MailFromDomainNotVerified error, and doesn't attempt to deliver the email.

    These behaviors are taken when the custom MAIL FROM domain configuration is in the Pending, Failed, and TemporaryFailure states.

    " + } + }, + "documentation":"

    A request to configure the custom MAIL FROM domain for a verified identity.

    " + }, + "PutEmailIdentityMailFromAttributesResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "PutSuppressedDestinationRequest":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason" + ], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that should be added to the suppression list for your account.

    " + }, + "Reason":{ + "shape":"SuppressionListReason", + "documentation":"

    The factors that should cause the email address to be added to the suppression list for your account.

    " + } + }, + "documentation":"

    A request to add an email destination to the suppression list for your account.

    " + }, + "PutSuppressedDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "RawMessage":{ + "type":"structure", + "required":["Data"], + "members":{ + "Data":{ + "shape":"RawMessageData", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • Attachments must be in a file format that the Amazon SES supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + } + }, + "documentation":"

    Represents the raw content of an email message.

    " + }, + "RawMessageData":{ + "type":"blob", + "documentation":"

    The raw email message. The message has to meet the following criteria:

    • The message has to contain a header and a body, separated by one blank line.

    • All of the required header fields must be present in the message.

    • Each part of a multipart MIME message must be formatted properly.

    • Attachments must be in a file format that the Amazon SES API v2 supports.

    • The entire message must be Base64 encoded.

    • If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, you should encode that content to ensure that recipients' email clients render the message properly.

    • The length of any single line of text in the message can't exceed 1,000 characters. This restriction is defined in RFC 5321.

    " + }, + "RblName":{ + "type":"string", + "documentation":"

    The name of a blacklist that an IP address was found on.

    " + }, + "ReportId":{ + "type":"string", + "documentation":"

    A unique string that identifies a Deliverability dashboard report.

    " + }, + "ReportName":{ + "type":"string", + "documentation":"

    A name that helps you identify a report generated by the Deliverability dashboard.

    " + }, + "ReputationOptions":{ + "type":"structure", + "members":{ + "ReputationMetricsEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, tracking of reputation metrics is enabled for the configuration set. If false, tracking of reputation metrics is disabled for the configuration set.

    " + }, + "LastFreshStart":{ + "shape":"LastFreshStart", + "documentation":"

    The date and time (in Unix time) when the reputation metrics were last given a fresh start. When your account is given a fresh start, your reputation metrics are calculated starting from the date of the fresh start.

    " + } + }, + "documentation":"

    Enable or disable collection of reputation metrics for emails that you send using this configuration set in the current AWS Region.

    " + }, + "Selector":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]))$" + }, + "SendEmailRequest":{ + "type":"structure", + "required":[ + "Destination", + "Content" + ], + "members":{ + "FromEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified.

    " + }, + "Destination":{ + "shape":"Destination", + "documentation":"

    An object that contains the recipients of the email message.

    " + }, + "ReplyToAddresses":{ + "shape":"EmailAddressList", + "documentation":"

    The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.

    " + }, + "FeedbackForwardingEmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The address that you want bounce and complaint notifications to be sent to.

    " + }, + "Content":{ + "shape":"EmailContent", + "documentation":"

    An object that contains the body of the message. You can send either a Simple message or a Raw message.

    " + }, + "EmailTags":{ + "shape":"MessageTagList", + "documentation":"

    A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

    " + }, + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that you want to use when sending the email.

    " + } + }, + "documentation":"

    A request to send an email message.

    " + }, + "SendEmailResponse":{ + "type":"structure", + "members":{ + "MessageId":{ + "shape":"OutboundMessageId", + "documentation":"

    A unique identifier for the message that is generated when the message is accepted.

    It's possible for Amazon SES to accept a message without sending it. This can happen when the message that you're trying to send has an attachment contains a virus, or when you send a templated email that contains invalid personalization content, for example.

    " + } + }, + "documentation":"

    A unique message ID that you receive when an email is accepted for sending.

    " + }, + "SendQuota":{ + "type":"structure", + "members":{ + "Max24HourSend":{ + "shape":"Max24HourSend", + "documentation":"

    The maximum number of emails that you can send in the current AWS Region over a 24-hour period. This value is also called your sending quota.

    " + }, + "MaxSendRate":{ + "shape":"MaxSendRate", + "documentation":"

    The maximum number of emails that you can send per second in the current AWS Region. This value is also called your maximum sending rate or your maximum TPS (transactions per second) rate.

    " + }, + "SentLast24Hours":{ + "shape":"SentLast24Hours", + "documentation":"

    The number of emails sent from your Amazon SES account in the current AWS Region over the past 24 hours.

    " + } + }, + "documentation":"

    An object that contains information about the per-day and per-second sending limits for your Amazon SES account in the current AWS Region.

    " + }, + "SendingOptions":{ + "type":"structure", + "members":{ + "SendingEnabled":{ + "shape":"Enabled", + "documentation":"

    If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set.

    " + } + }, + "documentation":"

    Used to enable or disable email sending for messages that use this configuration set in the current AWS Region.

    " + }, + "SendingPausedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The message can't be sent because the account's ability to send email is currently paused.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "SendingPoolName":{ + "type":"string", + "documentation":"

    The name of the dedicated IP pool that you want to associate with the configuration set.

    " + }, + "SentLast24Hours":{"type":"double"}, + "SnsDestination":{ + "type":"structure", + "required":["TopicArn"], + "members":{ + "TopicArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish email events to. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

    " + } + }, + "documentation":"

    An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to send notification when certain email events occur.

    " + }, + "Subject":{"type":"string"}, + "SuppressedDestination":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason", + "LastUpdateTime" + ], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that is on the suppression list for your account.

    " + }, + "Reason":{ + "shape":"SuppressionListReason", + "documentation":"

    The reason that the address was added to the suppression list for your account.

    " + }, + "LastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time when the suppressed destination was last updated, shown in Unix time format.

    " + }, + "Attributes":{ + "shape":"SuppressedDestinationAttributes", + "documentation":"

    An optional value that can contain additional information about the reasons that the address was added to the suppression list for your account.

    " + } + }, + "documentation":"

    An object that contains information about an email address that is on the suppression list for your account.

    " + }, + "SuppressedDestinationAttributes":{ + "type":"structure", + "members":{ + "MessageId":{ + "shape":"OutboundMessageId", + "documentation":"

    The unique identifier of the email message that caused the email address to be added to the suppression list for your account.

    " + }, + "FeedbackId":{ + "shape":"FeedbackId", + "documentation":"

    A unique identifier that's generated when an email address is added to the suppression list for your account.

    " + } + }, + "documentation":"

    An object that contains additional attributes that are related an email address that is on the suppression list for your account.

    " + }, + "SuppressedDestinationSummaries":{ + "type":"list", + "member":{"shape":"SuppressedDestinationSummary"} + }, + "SuppressedDestinationSummary":{ + "type":"structure", + "required":[ + "EmailAddress", + "Reason", + "LastUpdateTime" + ], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    The email address that's on the suppression list for your account.

    " + }, + "Reason":{ + "shape":"SuppressionListReason", + "documentation":"

    The reason that the address was added to the suppression list for your account.

    " + }, + "LastUpdateTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time when the suppressed destination was last updated, shown in Unix time format.

    " + } + }, + "documentation":"

    A summary that describes the suppressed email address.

    " + }, + "SuppressionAttributes":{ + "type":"structure", + "members":{ + "SuppressedReasons":{ + "shape":"SuppressionListReasons", + "documentation":"

    A list that contains the reasons that email addresses will be automatically added to the suppression list for your account. This list can contain any or all of the following:

    • COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.

    • BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.

    " + } + }, + "documentation":"

    An object that contains information about the email address suppression preferences for your account in the current AWS Region.

    " + }, + "SuppressionListReason":{ + "type":"string", + "documentation":"

    The reason that the address was added to the suppression list for your account. The value can be one of the following:

    • COMPLAINT – Amazon SES added an email address to the suppression list for your account because a message sent to that address results in a complaint.

    • BOUNCE – Amazon SES added an email address to the suppression list for your account because a message sent to that address results in a hard bounce.

    ", + "enum":[ + "BOUNCE", + "COMPLAINT" + ] + }, + "SuppressionListReasons":{ + "type":"list", + "member":{"shape":"SuppressionListReason"} + }, + "SuppressionOptions":{ + "type":"structure", + "members":{ + "SuppressedReasons":{ + "shape":"SuppressionListReasons", + "documentation":"

    A list that contains the reasons that email addresses are automatically added to the suppression list for your account. This list can contain any or all of the following:

    • COMPLAINT – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint.

    • BOUNCE – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce.

    " + } + }, + "documentation":"

    An object that contains information about the suppression list preferences for your account.

    " + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    One part of a key-value pair that defines a tag. The maximum length of a tag key is 128 characters. The minimum length is 1 character.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The optional part of a key-value pair that defines a tag. The maximum length of a tag value is 256 characters. The minimum length is 0 characters. If you don't want a resource to have a specific tag value, don't specify a value for this parameter. If you don't specify a value, Amazon SES sets the value to an empty string.

    " + } + }, + "documentation":"

    An object that defines the tags that are associated with a resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

    Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for a more specific tag value. A tag value acts as a descriptor within a tag key. A tag key can contain as many as 128 characters. A tag value can contain as many as 256 characters. The characters can be Unicode letters, digits, white space, or one of the following symbols: _ . : / = + -. The following additional restrictions apply to tags:

    • Tag keys and values are case sensitive.

    • For each associated resource, each tag key must be unique and it can have only one value.

    • The aws: prefix is reserved for use by AWS; you can’t use it in any tag keys or values that you define. In addition, you can't edit or remove tag keys or values that use this prefix. Tags that use this prefix don’t count against the limit of 50 tags per resource.

    • You can associate tags with public or shared resources, but the tags are available only for your AWS account, not any other accounts that share the resource. In addition, the tags are available only for resources that are located in the specified AWS Region for your AWS account.

    " + }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of the tags that you want to add to the resource. A tag consists of a required tag key (Key) and an associated tag value (Value). The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{"type":"string"}, + "Template":{ + "type":"structure", + "members":{ + "TemplateArn":{ + "shape":"TemplateArn", + "documentation":"

    The Amazon Resource Name (ARN) of the template.

    " + }, + "TemplateData":{ + "shape":"TemplateData", + "documentation":"

    An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

    " + } + }, + "documentation":"

    An object that defines the email template to use for an email message, and the values to use for any message variables in that template. An email template is a type of message template that contains content that you want to define, save, and reuse in email messages that you send.

    " + }, + "TemplateArn":{"type":"string"}, + "TemplateData":{ + "type":"string", + "max":262144 + }, + "Timestamp":{"type":"timestamp"}, + "TlsPolicy":{ + "type":"string", + "documentation":"

    Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be established. If the value is Optional, messages can be delivered in plain text if a TLS connection can't be established.

    ", + "enum":[ + "REQUIRE", + "OPTIONAL" + ] + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Too many requests have been made to the operation.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TrackingOptions":{ + "type":"structure", + "required":["CustomRedirectDomain"], + "members":{ + "CustomRedirectDomain":{ + "shape":"CustomRedirectDomain", + "documentation":"

    The domain that you want to use for tracking open and click events.

    " + } + }, + "documentation":"

    An object that defines the tracking options for a configuration set. When you use the Amazon SES API v2 to send an email, it contains an invisible image that's used to track when recipients open your email. If your email contains links, those links are changed slightly in order to track when recipients click them.

    These images and links include references to a domain operated by AWS. You can optionally configure the Amazon SES to use a domain that you operate for these images and links.

    " + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.

    ", + "location":"querystring", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tags (tag keys) that you want to remove from the resource. When you specify a tag key, the action removes both that key and its associated tag value.

    To remove more than one tag from the resource, append the TagKeys parameter and argument for each additional tag to remove, separated by an ampersand. For example: /v2/email/tags?ResourceArn=ResourceArn&TagKeys=Key1&TagKeys=Key2

    ", + "location":"querystring", + "locationName":"TagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConfigurationSetEventDestinationRequest":{ + "type":"structure", + "required":[ + "ConfigurationSetName", + "EventDestinationName", + "EventDestination" + ], + "members":{ + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "documentation":"

    The name of the configuration set that contains the event destination that you want to modify.

    ", + "location":"uri", + "locationName":"ConfigurationSetName" + }, + "EventDestinationName":{ + "shape":"EventDestinationName", + "documentation":"

    The name of the event destination that you want to modify.

    ", + "location":"uri", + "locationName":"EventDestinationName" + }, + "EventDestination":{ + "shape":"EventDestinationDefinition", + "documentation":"

    An object that defines the event destination.

    " + } + }, + "documentation":"

    A request to change the settings for an event destination for a configuration set.

    " + }, + "UpdateConfigurationSetEventDestinationResponse":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An HTTP 200 response if the request succeeds, or an error message if the request fails.

    " + }, + "Volume":{ + "type":"long", + "documentation":"

    An object that contains information about inbox placement volume.

    " + }, + "VolumeStatistics":{ + "type":"structure", + "members":{ + "InboxRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of emails that arrived in recipients' inboxes.

    " + }, + "SpamRawCount":{ + "shape":"Volume", + "documentation":"

    The total number of emails that arrived in recipients' spam or junk mail folders.

    " + }, + "ProjectedInbox":{ + "shape":"Volume", + "documentation":"

    An estimate of the percentage of emails sent from the current domain that will arrive in recipients' inboxes.

    " + }, + "ProjectedSpam":{ + "shape":"Volume", + "documentation":"

    An estimate of the percentage of emails sent from the current domain that will arrive in recipients' spam or junk mail folders.

    " + } + }, + "documentation":"

    An object that contains information about the amount of email that was delivered to recipients.

    " + }, + "WarmupStatus":{ + "type":"string", + "documentation":"

    The warmup status of a dedicated IP.

    ", + "enum":[ + "IN_PROGRESS", + "DONE" + ] + } + }, + "documentation":"Amazon SES API v2

    Welcome to the Amazon SES API v2 Reference. This guide provides information about the Amazon SES API v2, including supported operations, data types, parameters, and schemas.

    Amazon SES is an AWS service that you can use to send email messages to your customers.

    If you're new to Amazon SES API v2, you might find it helpful to also review the Amazon Simple Email Service Developer Guide. The Amazon SES Developer Guide provides information and code samples that demonstrate how to use Amazon SES API v2 features programmatically.

    The Amazon SES API v2 is available in several AWS Regions and it provides an endpoint for each of these Regions. For a list of all the Regions and endpoints where the API is currently available, see AWS Service Endpoints in the Amazon Web Services General Reference. To learn more about AWS Regions, see Managing AWS Regions in the Amazon Web Services General Reference.

    In each Region, AWS maintains multiple Availability Zones. These Availability Zones are physically isolated from each other, but are united by private, low-latency, high-throughput, and highly redundant network connections. These Availability Zones enable us to provide very high levels of availability and redundancy, while also minimizing latency. To learn more about the number of Availability Zones that are available in each Region, see AWS Global Infrastructure.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/shield/2016-06-02/examples-1.json python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/examples-1.json --- python-botocore-1.4.70/botocore/data/shield/2016-06-02/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/shield/2016-06-02/paginators-1.json python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/paginators-1.json --- python-botocore-1.4.70/botocore/data/shield/2016-06-02/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListProtections": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Protections" + }, + "ListAttacks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AttackSummaries" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/shield/2016-06-02/service-2.json python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/service-2.json --- python-botocore-1.4.70/botocore/data/shield/2016-06-02/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/shield/2016-06-02/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1262 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-06-02", + "endpointPrefix":"shield", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWS Shield", + "serviceFullName":"AWS Shield", + "serviceId":"Shield", + "signatureVersion":"v4", + "targetPrefix":"AWSShield_20160616", + "uid":"shield-2016-06-02" + }, + "operations":{ + "AssociateDRTLogBucket":{ + "name":"AssociateDRTLogBucket", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDRTLogBucketRequest"}, + "output":{"shape":"AssociateDRTLogBucketResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidOperationException"}, + {"shape":"NoAssociatedRoleException"}, + {"shape":"LimitsExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedForDependencyException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Authorizes the DDoS Response team (DRT) to access the specified Amazon S3 bucket containing your AWS WAF logs. You can associate up to 10 Amazon S3 buckets with your subscription.

    To use the services of the DRT and make an AssociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

    " + }, + "AssociateDRTRole":{ + "name":"AssociateDRTRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDRTRoleRequest"}, + "output":{"shape":"AssociateDRTRoleResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedForDependencyException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Authorizes the DDoS Response team (DRT), using the specified role, to access your AWS account to assist with DDoS attack mitigation during potential attacks. This enables the DRT to inspect your AWS WAF configuration and create or update AWS WAF rules and web ACLs.

    You can associate only one RoleArn with your subscription. If you submit an AssociateDRTRole request for an account that already has an associated role, the new RoleArn will replace the existing RoleArn.

    Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to the role you will specify in the request. For more information see Attaching and Detaching IAM Policies. The role must also trust the service principal drt.shield.amazonaws.com. For more information, see IAM JSON Policy Elements: Principal.

    The DRT will have access only to your AWS WAF and Shield resources. By submitting this request, you authorize the DRT to inspect your AWS WAF and Shield configuration and create and update AWS WAF rules and web ACLs on your behalf. The DRT takes these actions only if explicitly authorized by you.

    You must have the iam:PassRole permission to make an AssociateDRTRole request. For more information, see Granting a User Permissions to Pass a Role to an AWS Service.

    To use the services of the DRT and make an AssociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan.

    " + }, + "AssociateHealthCheck":{ + "name":"AssociateHealthCheck", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateHealthCheckRequest"}, + "output":{"shape":"AssociateHealthCheckResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"LimitsExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptimisticLockException"} + ], + "documentation":"

    Adds health-based detection to the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your AWS resource to improve responsiveness and accuracy in attack detection and mitigation.

    You define the health check in Route 53 and then associate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the AWS WAF and AWS Shield Developer Guide.

    " + }, + "CreateProtection":{ + "name":"CreateProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateProtectionRequest"}, + "output":{"shape":"CreateProtectionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidResourceException"}, + {"shape":"InvalidOperationException"}, + {"shape":"LimitsExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Enables AWS Shield Advanced for a specific AWS resource. The resource can be an Amazon CloudFront distribution, Elastic Load Balancing load balancer, AWS Global Accelerator accelerator, Elastic IP Address, or an Amazon Route 53 hosted zone.

    You can add protection to only a single resource with each CreateProtection request. If you want to add protection to multiple resources at once, use the AWS WAF console. For more information see Getting Started with AWS Shield Advanced and Add AWS Shield Advanced Protection to more AWS Resources.

    " + }, + "CreateSubscription":{ + "name":"CreateSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSubscriptionRequest"}, + "output":{"shape":"CreateSubscriptionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceAlreadyExistsException"} + ], + "documentation":"

    Activates AWS Shield Advanced for an account.

    As part of this request you can specify EmergencySettings that automaticaly grant the DDoS response team (DRT) needed permissions to assist you during a suspected DDoS attack. For more information see Authorize the DDoS Response Team to Create Rules and Web ACLs on Your Behalf.

    To use the services of the DRT, you must be subscribed to the Business Support plan or the Enterprise Support plan.

    When you initally create a subscription, your subscription is set to be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request.

    " + }, + "DeleteProtection":{ + "name":"DeleteProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteProtectionRequest"}, + "output":{"shape":"DeleteProtectionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OptimisticLockException"} + ], + "documentation":"

    Deletes an AWS Shield Advanced Protection.

    " + }, + "DeleteSubscription":{ + "name":"DeleteSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSubscriptionRequest"}, + "output":{"shape":"DeleteSubscriptionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"LockedSubscriptionException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Removes AWS Shield Advanced from an account. AWS Shield Advanced requires a 1-year subscription commitment. You cannot delete a subscription prior to the completion of that commitment.

    ", + "deprecated":true + }, + "DescribeAttack":{ + "name":"DescribeAttack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAttackRequest"}, + "output":{"shape":"DescribeAttackResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Describes the details of a DDoS attack.

    " + }, + "DescribeDRTAccess":{ + "name":"DescribeDRTAccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDRTAccessRequest"}, + "output":{"shape":"DescribeDRTAccessResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns the current role and list of Amazon S3 log buckets used by the DDoS Response team (DRT) to access your AWS account while assisting with attack mitigation.

    " + }, + "DescribeEmergencyContactSettings":{ + "name":"DescribeEmergencyContactSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEmergencyContactSettingsRequest"}, + "output":{"shape":"DescribeEmergencyContactSettingsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the email addresses that the DRT can use to contact you during a suspected attack.

    " + }, + "DescribeProtection":{ + "name":"DescribeProtection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeProtectionRequest"}, + "output":{"shape":"DescribeProtectionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the details of a Protection object.

    " + }, + "DescribeSubscription":{ + "name":"DescribeSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubscriptionRequest"}, + "output":{"shape":"DescribeSubscriptionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Provides details about the AWS Shield Advanced subscription for an account.

    " + }, + "DisassociateDRTLogBucket":{ + "name":"DisassociateDRTLogBucket", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDRTLogBucketRequest"}, + "output":{"shape":"DisassociateDRTLogBucketResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidOperationException"}, + {"shape":"NoAssociatedRoleException"}, + {"shape":"AccessDeniedForDependencyException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Removes the DDoS Response team's (DRT) access to the specified Amazon S3 bucket containing your AWS WAF logs.

    To make a DisassociateDRTLogBucket request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTLogBucket request to remove this access.

    " + }, + "DisassociateDRTRole":{ + "name":"DisassociateDRTRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDRTRoleRequest"}, + "output":{"shape":"DisassociateDRTRoleResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidOperationException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Removes the DDoS Response team's (DRT) access to your AWS account.

    To make a DisassociateDRTRole request, you must be subscribed to the Business Support plan or the Enterprise Support plan. However, if you are not subscribed to one of these support plans, but had been previously and had granted the DRT access to your account, you can submit a DisassociateDRTRole request to remove this access.

    " + }, + "DisassociateHealthCheck":{ + "name":"DisassociateHealthCheck", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateHealthCheckRequest"}, + "output":{"shape":"DisassociateHealthCheckResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OptimisticLockException"} + ], + "documentation":"

    Removes health-based detection from the Shield Advanced protection for a resource. Shield Advanced health-based detection uses the health of your AWS resource to improve responsiveness and accuracy in attack detection and mitigation.

    You define the health check in Route 53 and then associate or disassociate it with your Shield Advanced protection. For more information, see Shield Advanced Health-Based Detection in the AWS WAF and AWS Shield Developer Guide.

    " + }, + "GetSubscriptionState":{ + "name":"GetSubscriptionState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSubscriptionStateRequest"}, + "output":{"shape":"GetSubscriptionStateResponse"}, + "errors":[ + {"shape":"InternalErrorException"} + ], + "documentation":"

    Returns the SubscriptionState, either Active or Inactive.

    " + }, + "ListAttacks":{ + "name":"ListAttacks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAttacksRequest"}, + "output":{"shape":"ListAttacksResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidOperationException"} + ], + "documentation":"

    Returns all ongoing DDoS attacks or all DDoS attacks during a specified time period.

    " + }, + "ListProtections":{ + "name":"ListProtections", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListProtectionsRequest"}, + "output":{"shape":"ListProtectionsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidPaginationTokenException"} + ], + "documentation":"

    Lists all Protection objects for the account.

    " + }, + "UpdateEmergencyContactSettings":{ + "name":"UpdateEmergencyContactSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateEmergencyContactSettingsRequest"}, + "output":{"shape":"UpdateEmergencyContactSettingsResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptimisticLockException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Updates the details of the list of email addresses that the DRT can use to contact you during a suspected attack.

    " + }, + "UpdateSubscription":{ + "name":"UpdateSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSubscriptionRequest"}, + "output":{"shape":"UpdateSubscriptionResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"LockedSubscriptionException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptimisticLockException"} + ], + "documentation":"

    Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated.

    " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates the specified AttackId does not exist, or the requester does not have the appropriate permissions to access the AttackId.

    ", + "exception":true + }, + "AccessDeniedForDependencyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    In order to grant the necessary access to the DDoS Response Team, the user submitting the request must have the iam:PassRole permission. This error indicates the user did not have the appropriate permissions. For more information, see Granting a User Permissions to Pass a Role to an AWS Service.

    ", + "exception":true + }, + "AssociateDRTLogBucketRequest":{ + "type":"structure", + "required":["LogBucket"], + "members":{ + "LogBucket":{ + "shape":"LogBucket", + "documentation":"

    The Amazon S3 bucket that contains your AWS WAF logs.

    " + } + } + }, + "AssociateDRTLogBucketResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateDRTRoleRequest":{ + "type":"structure", + "required":["RoleArn"], + "members":{ + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the role the DRT will use to access your AWS account.

    Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy managed policy to this role. For more information see Attaching and Detaching IAM Policies.

    " + } + } + }, + "AssociateDRTRoleResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateHealthCheckRequest":{ + "type":"structure", + "required":[ + "ProtectionId", + "HealthCheckArn" + ], + "members":{ + "ProtectionId":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) for the Protection object to add the health check association to.

    " + }, + "HealthCheckArn":{ + "shape":"HealthCheckArn", + "documentation":"

    The Amazon Resource Name (ARN) of the health check to associate with the protection.

    " + } + } + }, + "AssociateHealthCheckResponse":{ + "type":"structure", + "members":{ + } + }, + "AttackDetail":{ + "type":"structure", + "members":{ + "AttackId":{ + "shape":"AttackId", + "documentation":"

    The unique identifier (ID) of the attack.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource that was attacked.

    " + }, + "SubResources":{ + "shape":"SubResourceSummaryList", + "documentation":"

    If applicable, additional detail about the resource being attacked, for example, IP address or URL.

    " + }, + "StartTime":{ + "shape":"AttackTimestamp", + "documentation":"

    The time the attack started, in Unix time in seconds. For more information see timestamp.

    " + }, + "EndTime":{ + "shape":"AttackTimestamp", + "documentation":"

    The time the attack ended, in Unix time in seconds. For more information see timestamp.

    " + }, + "AttackCounters":{ + "shape":"SummarizedCounterList", + "documentation":"

    List of counters that describe the attack for the specified time period.

    " + }, + "AttackProperties":{ + "shape":"AttackProperties", + "documentation":"

    The array of AttackProperty objects.

    " + }, + "Mitigations":{ + "shape":"MitigationList", + "documentation":"

    List of mitigation actions taken for the attack.

    " + } + }, + "documentation":"

    The details of a DDoS attack.

    " + }, + "AttackId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9\\\\-]*" + }, + "AttackLayer":{ + "type":"string", + "enum":[ + "NETWORK", + "APPLICATION" + ] + }, + "AttackProperties":{ + "type":"list", + "member":{"shape":"AttackProperty"} + }, + "AttackProperty":{ + "type":"structure", + "members":{ + "AttackLayer":{ + "shape":"AttackLayer", + "documentation":"

    The type of distributed denial of service (DDoS) event that was observed. NETWORK indicates layer 3 and layer 4 events and APPLICATION indicates layer 7 events.

    " + }, + "AttackPropertyIdentifier":{ + "shape":"AttackPropertyIdentifier", + "documentation":"

    Defines the DDoS attack property information that is provided. The WORDPRESS_PINGBACK_REFLECTOR and WORDPRESS_PINGBACK_SOURCE values are valid only for WordPress reflective pingback DDoS attacks.

    " + }, + "TopContributors":{ + "shape":"TopContributors", + "documentation":"

    The array of Contributor objects that includes the top five contributors to an attack.

    " + }, + "Unit":{ + "shape":"Unit", + "documentation":"

    The unit of the Value of the contributions.

    " + }, + "Total":{ + "shape":"Long", + "documentation":"

    The total contributions made to this attack by all contributors, not just the five listed in the TopContributors list.

    " + } + }, + "documentation":"

    Details of the described attack.

    " + }, + "AttackPropertyIdentifier":{ + "type":"string", + "enum":[ + "DESTINATION_URL", + "REFERRER", + "SOURCE_ASN", + "SOURCE_COUNTRY", + "SOURCE_IP_ADDRESS", + "SOURCE_USER_AGENT", + "WORDPRESS_PINGBACK_REFLECTOR", + "WORDPRESS_PINGBACK_SOURCE" + ] + }, + "AttackSummaries":{ + "type":"list", + "member":{"shape":"AttackSummary"} + }, + "AttackSummary":{ + "type":"structure", + "members":{ + "AttackId":{ + "shape":"String", + "documentation":"

    The unique identifier (ID) of the attack.

    " + }, + "ResourceArn":{ + "shape":"String", + "documentation":"

    The ARN (Amazon Resource Name) of the resource that was attacked.

    " + }, + "StartTime":{ + "shape":"AttackTimestamp", + "documentation":"

    The start time of the attack, in Unix time in seconds. For more information see timestamp.

    " + }, + "EndTime":{ + "shape":"AttackTimestamp", + "documentation":"

    The end time of the attack, in Unix time in seconds. For more information see timestamp.

    " + }, + "AttackVectors":{ + "shape":"AttackVectorDescriptionList", + "documentation":"

    The list of attacks for a specified time period.

    " + } + }, + "documentation":"

    Summarizes all DDoS attacks for a specified time period.

    " + }, + "AttackTimestamp":{"type":"timestamp"}, + "AttackVectorDescription":{ + "type":"structure", + "required":["VectorType"], + "members":{ + "VectorType":{ + "shape":"String", + "documentation":"

    The attack type. Valid values:

    • UDP_TRAFFIC

    • UDP_FRAGMENT

    • GENERIC_UDP_REFLECTION

    • DNS_REFLECTION

    • NTP_REFLECTION

    • CHARGEN_REFLECTION

    • SSDP_REFLECTION

    • PORT_MAPPER

    • RIP_REFLECTION

    • SNMP_REFLECTION

    • MSSQL_REFLECTION

    • NET_BIOS_REFLECTION

    • SYN_FLOOD

    • ACK_FLOOD

    • REQUEST_FLOOD

    • HTTP_REFLECTION

    • UDS_REFLECTION

    • MEMCACHED_REFLECTION

    " + } + }, + "documentation":"

    Describes the attack.

    " + }, + "AttackVectorDescriptionList":{ + "type":"list", + "member":{"shape":"AttackVectorDescription"} + }, + "AutoRenew":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "Contributor":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the contributor. This is dependent on the AttackPropertyIdentifier. For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name could be United States.

    " + }, + "Value":{ + "shape":"Long", + "documentation":"

    The contribution of this contributor expressed in Protection units. For example 10,000.

    " + } + }, + "documentation":"

    A contributor to the attack and their contribution.

    " + }, + "CreateProtectionRequest":{ + "type":"structure", + "required":[ + "Name", + "ResourceArn" + ], + "members":{ + "Name":{ + "shape":"ProtectionName", + "documentation":"

    Friendly name for the Protection you are creating.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource to be protected.

    The ARN should be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name

    • For an AWS CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id

    • For an AWS Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id

    • For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id

    • For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id

    " + } + } + }, + "CreateProtectionResponse":{ + "type":"structure", + "members":{ + "ProtectionId":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) for the Protection object that is created.

    " + } + } + }, + "CreateSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "CreateSubscriptionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteProtectionRequest":{ + "type":"structure", + "required":["ProtectionId"], + "members":{ + "ProtectionId":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) for the Protection object to be deleted.

    " + } + } + }, + "DeleteProtectionResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteSubscriptionRequest":{ + "type":"structure", + "members":{ + }, + "deprecated":true + }, + "DeleteSubscriptionResponse":{ + "type":"structure", + "members":{ + }, + "deprecated":true + }, + "DescribeAttackRequest":{ + "type":"structure", + "required":["AttackId"], + "members":{ + "AttackId":{ + "shape":"AttackId", + "documentation":"

    The unique identifier (ID) for the attack that to be described.

    " + } + } + }, + "DescribeAttackResponse":{ + "type":"structure", + "members":{ + "Attack":{ + "shape":"AttackDetail", + "documentation":"

    The attack that is described.

    " + } + } + }, + "DescribeDRTAccessRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeDRTAccessResponse":{ + "type":"structure", + "members":{ + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of the role the DRT used to access your AWS account.

    " + }, + "LogBucketList":{ + "shape":"LogBucketList", + "documentation":"

    The list of Amazon S3 buckets accessed by the DRT.

    " + } + } + }, + "DescribeEmergencyContactSettingsRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeEmergencyContactSettingsResponse":{ + "type":"structure", + "members":{ + "EmergencyContactList":{ + "shape":"EmergencyContactList", + "documentation":"

    A list of email addresses that the DRT can use to contact you during a suspected attack.

    " + } + } + }, + "DescribeProtectionRequest":{ + "type":"structure", + "members":{ + "ProtectionId":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the AWS resource for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.

    " + } + } + }, + "DescribeProtectionResponse":{ + "type":"structure", + "members":{ + "Protection":{ + "shape":"Protection", + "documentation":"

    The Protection object that is described.

    " + } + } + }, + "DescribeSubscriptionRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeSubscriptionResponse":{ + "type":"structure", + "members":{ + "Subscription":{ + "shape":"Subscription", + "documentation":"

    The AWS Shield Advanced subscription details for an account.

    " + } + } + }, + "DisassociateDRTLogBucketRequest":{ + "type":"structure", + "required":["LogBucket"], + "members":{ + "LogBucket":{ + "shape":"LogBucket", + "documentation":"

    The Amazon S3 bucket that contains your AWS WAF logs.

    " + } + } + }, + "DisassociateDRTLogBucketResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateDRTRoleRequest":{ + "type":"structure", + "members":{ + } + }, + "DisassociateDRTRoleResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateHealthCheckRequest":{ + "type":"structure", + "required":[ + "ProtectionId", + "HealthCheckArn" + ], + "members":{ + "ProtectionId":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) for the Protection object to remove the health check association from.

    " + }, + "HealthCheckArn":{ + "shape":"HealthCheckArn", + "documentation":"

    The Amazon Resource Name (ARN) of the health check that is associated with the protection.

    " + } + } + }, + "DisassociateHealthCheckResponse":{ + "type":"structure", + "members":{ + } + }, + "Double":{"type":"double"}, + "DurationInSeconds":{ + "type":"long", + "min":0 + }, + "EmailAddress":{ + "type":"string", + "max":150, + "min":1, + "pattern":"^\\S+@\\S+\\.\\S+$" + }, + "EmergencyContact":{ + "type":"structure", + "required":["EmailAddress"], + "members":{ + "EmailAddress":{ + "shape":"EmailAddress", + "documentation":"

    An email address that the DRT can use to contact you during a suspected attack.

    " + } + }, + "documentation":"

    Contact information that the DRT can use to contact you during a suspected attack.

    " + }, + "EmergencyContactList":{ + "type":"list", + "member":{"shape":"EmergencyContact"}, + "max":10, + "min":0 + }, + "GetSubscriptionStateRequest":{ + "type":"structure", + "members":{ + } + }, + "GetSubscriptionStateResponse":{ + "type":"structure", + "required":["SubscriptionState"], + "members":{ + "SubscriptionState":{ + "shape":"SubscriptionState", + "documentation":"

    The status of the subscription.

    " + } + } + }, + "HealthCheckArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^arn:aws:route53:::healthcheck/\\S{36}$" + }, + "HealthCheckId":{"type":"string"}, + "HealthCheckIds":{ + "type":"list", + "member":{"shape":"HealthCheckId"} + }, + "Integer":{"type":"integer"}, + "InternalErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that a problem occurred with the service infrastructure. You can retry the request.

    ", + "exception":true, + "fault":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that the operation would not cause any change to occur.

    ", + "exception":true + }, + "InvalidPaginationTokenException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that the NextToken specified in the request is invalid. Submit the request using the NextToken value that was returned in the response.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that the parameters passed to the API are invalid.

    ", + "exception":true + }, + "InvalidResourceException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that the resource is invalid. You might not have access to the resource, or the resource might not exist.

    ", + "exception":true + }, + "Limit":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"String", + "documentation":"

    The type of protection.

    " + }, + "Max":{ + "shape":"Long", + "documentation":"

    The maximum number of protections that can be created for the specified Type.

    " + } + }, + "documentation":"

    Specifies how many protections of a given type you can create.

    " + }, + "LimitNumber":{"type":"long"}, + "LimitType":{"type":"string"}, + "Limits":{ + "type":"list", + "member":{"shape":"Limit"} + }, + "LimitsExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"}, + "Type":{"shape":"LimitType"}, + "Limit":{"shape":"LimitNumber"} + }, + "documentation":"

    Exception that indicates that the operation would exceed a limit.

    Type is the type of limit that would be exceeded.

    Limit is the threshold that would be exceeded.

    ", + "exception":true + }, + "ListAttacksRequest":{ + "type":"structure", + "members":{ + "ResourceArns":{ + "shape":"ResourceArnFilterList", + "documentation":"

    The ARN (Amazon Resource Name) of the resource that was attacked. If this is left blank, all applicable resources for this account will be included.

    " + }, + "StartTime":{ + "shape":"TimeRange", + "documentation":"

    The start of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

    " + }, + "EndTime":{ + "shape":"TimeRange", + "documentation":"

    The end of the time period for the attacks. This is a timestamp type. The sample request above indicates a number type because the default used by WAF is Unix time in seconds. However any valid timestamp format is allowed.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. Pass null if this is the first call.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of AttackSummary objects to be returned. If this is left blank, the first 20 results will be returned.

    This is a maximum value; it is possible that AWS WAF will return the results in smaller batches. That is, the number of AttackSummary objects returned could be less than MaxResults, even if there are still more AttackSummary objects yet to return. If there are more AttackSummary objects to return, AWS WAF will always also return a NextToken.

    " + } + } + }, + "ListAttacksResponse":{ + "type":"structure", + "members":{ + "AttackSummaries":{ + "shape":"AttackSummaries", + "documentation":"

    The attack information for the specified time range.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    The token returned by a previous call to indicate that there is more data available. If not null, more results are available. Pass this value for the NextMarker parameter in a subsequent call to ListAttacks to retrieve the next set of items.

    AWS WAF might return the list of AttackSummary objects in batches smaller than the number specified by MaxResults. If there are more AttackSummary objects to return, AWS WAF will always also return a NextToken.

    " + } + } + }, + "ListProtectionsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    The ListProtectionsRequest.NextToken value from a previous call to ListProtections. Pass null if this is the first call.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of Protection objects to be returned. If this is left blank the first 20 results will be returned.

    This is a maximum value; it is possible that AWS WAF will return the results in smaller batches. That is, the number of Protection objects returned could be less than MaxResults, even if there are still more Protection objects yet to return. If there are more Protection objects to return, AWS WAF will always also return a NextToken.

    " + } + } + }, + "ListProtectionsResponse":{ + "type":"structure", + "members":{ + "Protections":{ + "shape":"Protections", + "documentation":"

    The array of enabled Protection objects.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    If you specify a value for MaxResults and you have more Protections than the value of MaxResults, AWS Shield Advanced returns a NextToken value in the response that allows you to list another group of Protections. For the second and subsequent ListProtections requests, specify the value of NextToken from the previous response to get information about another batch of Protections.

    AWS WAF might return the list of Protection objects in batches smaller than the number specified by MaxResults. If there are more Protection objects to return, AWS WAF will always also return a NextToken.

    " + } + } + }, + "LockedSubscriptionException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    You are trying to update a subscription that has not yet completed the 1-year commitment. You can change the AutoRenew parameter during the last 30 days of your subscription. This exception indicates that you are attempting to change AutoRenew prior to that period.

    ", + "exception":true + }, + "LogBucket":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^([a-z]|(\\d(?!\\d{0,2}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})))([a-z\\d]|(\\.(?!(\\.|-)))|(-(?!\\.))){1,61}[a-z\\d]$" + }, + "LogBucketList":{ + "type":"list", + "member":{"shape":"LogBucket"}, + "max":10, + "min":0 + }, + "Long":{"type":"long"}, + "MaxResults":{ + "type":"integer", + "box":true, + "max":10000, + "min":0 + }, + "Mitigation":{ + "type":"structure", + "members":{ + "MitigationName":{ + "shape":"String", + "documentation":"

    The name of the mitigation taken for this attack.

    " + } + }, + "documentation":"

    The mitigation applied to a DDoS attack.

    " + }, + "MitigationList":{ + "type":"list", + "member":{"shape":"Mitigation"} + }, + "NoAssociatedRoleException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The ARN of the role that you specifed does not exist.

    ", + "exception":true + }, + "OptimisticLockException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception that indicates that the protection state has been modified by another client. You can retry the request.

    ", + "exception":true + }, + "Protection":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ProtectionId", + "documentation":"

    The unique identifier (ID) of the protection.

    " + }, + "Name":{ + "shape":"ProtectionName", + "documentation":"

    The friendly name of the protection. For example, My CloudFront distributions.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the AWS resource that is protected.

    " + }, + "HealthCheckIds":{ + "shape":"HealthCheckIds", + "documentation":"

    The unique identifier (ID) for the Route 53 health check that's associated with the protection.

    " + } + }, + "documentation":"

    An object that represents a resource that is under DDoS protection.

    " + }, + "ProtectionId":{ + "type":"string", + "max":36, + "min":1, + "pattern":"[a-zA-Z0-9\\\\-]*" + }, + "ProtectionName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[ a-zA-Z0-9_\\\\.\\\\-]*" + }, + "Protections":{ + "type":"list", + "member":{"shape":"Protection"} + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception indicating the specified resource already exists.

    ", + "exception":true + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^arn:aws.*" + }, + "ResourceArnFilterList":{ + "type":"list", + "member":{"shape":"ResourceArn"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    Exception indicating the specified resource does not exist.

    ", + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^arn:aws:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "String":{"type":"string"}, + "SubResourceSummary":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"SubResourceType", + "documentation":"

    The SubResource type.

    " + }, + "Id":{ + "shape":"String", + "documentation":"

    The unique identifier (ID) of the SubResource.

    " + }, + "AttackVectors":{ + "shape":"SummarizedAttackVectorList", + "documentation":"

    The list of attack types and associated counters.

    " + }, + "Counters":{ + "shape":"SummarizedCounterList", + "documentation":"

    The counters that describe the details of the attack.

    " + } + }, + "documentation":"

    The attack information for the specified SubResource.

    " + }, + "SubResourceSummaryList":{ + "type":"list", + "member":{"shape":"SubResourceSummary"} + }, + "SubResourceType":{ + "type":"string", + "enum":[ + "IP", + "URL" + ] + }, + "Subscription":{ + "type":"structure", + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the subscription, in Unix time in seconds. For more information see timestamp.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The date and time your subscription will end.

    " + }, + "TimeCommitmentInSeconds":{ + "shape":"DurationInSeconds", + "documentation":"

    The length, in seconds, of the AWS Shield Advanced subscription for the account.

    " + }, + "AutoRenew":{ + "shape":"AutoRenew", + "documentation":"

    If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period.

    When you initally create a subscription, AutoRenew is set to ENABLED. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged.

    " + }, + "Limits":{ + "shape":"Limits", + "documentation":"

    Specifies how many protections of a given type you can create.

    " + } + }, + "documentation":"

    Information about the AWS Shield Advanced subscription for an account.

    " + }, + "SubscriptionState":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE" + ] + }, + "SummarizedAttackVector":{ + "type":"structure", + "required":["VectorType"], + "members":{ + "VectorType":{ + "shape":"String", + "documentation":"

    The attack type, for example, SNMP reflection or SYN flood.

    " + }, + "VectorCounters":{ + "shape":"SummarizedCounterList", + "documentation":"

    The list of counters that describe the details of the attack.

    " + } + }, + "documentation":"

    A summary of information about the attack.

    " + }, + "SummarizedAttackVectorList":{ + "type":"list", + "member":{"shape":"SummarizedAttackVector"} + }, + "SummarizedCounter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The counter name.

    " + }, + "Max":{ + "shape":"Double", + "documentation":"

    The maximum value of the counter for a specified time period.

    " + }, + "Average":{ + "shape":"Double", + "documentation":"

    The average value of the counter for a specified time period.

    " + }, + "Sum":{ + "shape":"Double", + "documentation":"

    The total of counter values for a specified time period.

    " + }, + "N":{ + "shape":"Integer", + "documentation":"

    The number of counters for a specified time period.

    " + }, + "Unit":{ + "shape":"String", + "documentation":"

    The unit of the counters.

    " + } + }, + "documentation":"

    The counter that describes a DDoS attack.

    " + }, + "SummarizedCounterList":{ + "type":"list", + "member":{"shape":"SummarizedCounter"} + }, + "TimeRange":{ + "type":"structure", + "members":{ + "FromInclusive":{ + "shape":"AttackTimestamp", + "documentation":"

    The start time, in Unix time in seconds. For more information see timestamp.

    " + }, + "ToExclusive":{ + "shape":"AttackTimestamp", + "documentation":"

    The end time, in Unix time in seconds. For more information see timestamp.

    " + } + }, + "documentation":"

    The time range.

    " + }, + "Timestamp":{"type":"timestamp"}, + "Token":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^.*$" + }, + "TopContributors":{ + "type":"list", + "member":{"shape":"Contributor"} + }, + "Unit":{ + "type":"string", + "enum":[ + "BITS", + "BYTES", + "PACKETS", + "REQUESTS" + ] + }, + "UpdateEmergencyContactSettingsRequest":{ + "type":"structure", + "members":{ + "EmergencyContactList":{ + "shape":"EmergencyContactList", + "documentation":"

    A list of email addresses that the DRT can use to contact you during a suspected attack.

    " + } + } + }, + "UpdateEmergencyContactSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateSubscriptionRequest":{ + "type":"structure", + "members":{ + "AutoRenew":{ + "shape":"AutoRenew", + "documentation":"

    When you initally create a subscription, AutoRenew is set to ENABLED. If ENABLED, the subscription will be automatically renewed at the end of the existing subscription period. You can change this by submitting an UpdateSubscription request. If the UpdateSubscription request does not included a value for AutoRenew, the existing value for AutoRenew remains unchanged.

    " + } + } + }, + "UpdateSubscriptionResponse":{ + "type":"structure", + "members":{ + } + }, + "errorMessage":{"type":"string"} + }, + "documentation":"AWS Shield Advanced

    This is the AWS Shield Advanced API Reference. This guide is for developers who need detailed information about the AWS Shield Advanced API actions, data types, and errors. For detailed information about AWS WAF and AWS Shield Advanced features and an overview of how to use the AWS WAF and AWS Shield Advanced APIs, see the AWS WAF and AWS Shield Developer Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/signer/2017-08-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/examples-1.json --- python-botocore-1.4.70/botocore/data/signer/2017-08-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/signer/2017-08-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/signer/2017-08-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListSigningJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobs" + }, + "ListSigningPlatforms": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "platforms" + }, + "ListSigningProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "profiles" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/signer/2017-08-25/service-2.json python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/service-2.json --- python-botocore-1.4.70/botocore/data/signer/2017-08-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1151 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-08-25", + "endpointPrefix":"signer", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"signer", + "serviceFullName":"AWS Signer", + "serviceId":"signer", + "signatureVersion":"v4", + "signingName":"signer", + "uid":"signer-2017-08-25" + }, + "operations":{ + "CancelSigningProfile":{ + "name":"CancelSigningProfile", + "http":{ + "method":"DELETE", + "requestUri":"/signing-profiles/{profileName}" + }, + "input":{"shape":"CancelSigningProfileRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Changes the state of an ACTIVE signing profile to CANCELED. A canceled profile is still viewable with the ListSigningProfiles operation, but it cannot perform new signing jobs, and is deleted two years after cancelation.

    " + }, + "DescribeSigningJob":{ + "name":"DescribeSigningJob", + "http":{ + "method":"GET", + "requestUri":"/signing-jobs/{jobId}" + }, + "input":{"shape":"DescribeSigningJobRequest"}, + "output":{"shape":"DescribeSigningJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Returns information about a specific code signing job. You specify the job by using the jobId value that is returned by the StartSigningJob operation.

    " + }, + "GetSigningPlatform":{ + "name":"GetSigningPlatform", + "http":{ + "method":"GET", + "requestUri":"/signing-platforms/{platformId}" + }, + "input":{"shape":"GetSigningPlatformRequest"}, + "output":{"shape":"GetSigningPlatformResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Returns information on a specific signing platform.

    " + }, + "GetSigningProfile":{ + "name":"GetSigningProfile", + "http":{ + "method":"GET", + "requestUri":"/signing-profiles/{profileName}" + }, + "input":{"shape":"GetSigningProfileRequest"}, + "output":{"shape":"GetSigningProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Returns information on a specific signing profile.

    " + }, + "ListSigningJobs":{ + "name":"ListSigningJobs", + "http":{ + "method":"GET", + "requestUri":"/signing-jobs" + }, + "input":{"shape":"ListSigningJobsRequest"}, + "output":{"shape":"ListSigningJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Lists all your signing jobs. You can use the maxResults parameter to limit the number of signing jobs that are returned in the response. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

    " + }, + "ListSigningPlatforms":{ + "name":"ListSigningPlatforms", + "http":{ + "method":"GET", + "requestUri":"/signing-platforms" + }, + "input":{"shape":"ListSigningPlatformsRequest"}, + "output":{"shape":"ListSigningPlatformsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Lists all signing platforms available in code signing that match the request parameters. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

    " + }, + "ListSigningProfiles":{ + "name":"ListSigningProfiles", + "http":{ + "method":"GET", + "requestUri":"/signing-profiles" + }, + "input":{"shape":"ListSigningProfilesRequest"}, + "output":{"shape":"ListSigningProfilesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Lists all available signing profiles in your AWS account. Returns only profiles with an ACTIVE status unless the includeCanceled request field is set to true. If additional jobs remain to be listed, code signing returns a nextToken value. Use this value in subsequent calls to ListSigningJobs to fetch the remaining values. You can continue calling ListSigningJobs with your maxResults parameter and with new values that code signing returns in the nextToken parameter until all of your signing jobs have been returned.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Returns a list of the tags associated with a signing profile resource.

    " + }, + "PutSigningProfile":{ + "name":"PutSigningProfile", + "http":{ + "method":"PUT", + "requestUri":"/signing-profiles/{profileName}" + }, + "input":{"shape":"PutSigningProfileRequest"}, + "output":{"shape":"PutSigningProfileResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Creates a signing profile. A signing profile is a code signing template that can be used to carry out a pre-defined signing job. For more information, see http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html

    " + }, + "StartSigningJob":{ + "name":"StartSigningJob", + "http":{ + "method":"POST", + "requestUri":"/signing-jobs" + }, + "input":{"shape":"StartSigningJobRequest"}, + "output":{"shape":"StartSigningJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServiceErrorException"} + ], + "documentation":"

    Initiates a signing job to be performed on the code provided. Signing jobs are viewable by the ListSigningJobs operation for two years after they are performed. Note the following requirements:

    • You must create an Amazon S3 source bucket. For more information, see Create a Bucket in the Amazon S3 Getting Started Guide.

    • Your S3 source bucket must be version enabled.

    • You must create an S3 destination bucket. Code signing uses your S3 destination bucket to write your signed code.

    • You specify the name of the source and destination buckets when calling the StartSigningJob operation.

    • You must also specify a request token that identifies your request to code signing.

    You can call the DescribeSigningJob and the ListSigningJobs actions after you call StartSigningJob.

    For a Java example that shows how to use this action, see http://docs.aws.amazon.com/acm/latest/userguide/

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Adds one or more tags to a signing profile. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. To specify the signing profile, use its Amazon Resource Name (ARN). To specify the tag, use a key-value pair.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServiceErrorException"}, + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Removes one or more tags from a signing profile. To remove the tags, specify a list of tag keys.

    " + } + }, + "shapes":{ + "key":{"type":"string"}, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You do not have sufficient access to perform this action.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request contains invalid parameters for the ARN or tags. This exception also occurs when you call a tagging API on a cancelled signing profile.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "BucketName":{"type":"string"}, + "CancelSigningProfileRequest":{ + "type":"structure", + "required":["profileName"], + "members":{ + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the signing profile to be canceled.

    ", + "location":"uri", + "locationName":"profileName" + } + } + }, + "Category":{ + "type":"string", + "enum":["AWSIoT"] + }, + "CertificateArn":{"type":"string"}, + "ClientRequestToken":{"type":"string"}, + "CompletedAt":{"type":"timestamp"}, + "CreatedAt":{"type":"timestamp"}, + "DescribeSigningJobRequest":{ + "type":"structure", + "required":["jobId"], + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

    The ID of the signing job on input.

    ", + "location":"uri", + "locationName":"jobId" + } + } + }, + "DescribeSigningJobResponse":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

    The ID of the signing job on output.

    " + }, + "source":{ + "shape":"Source", + "documentation":"

    The object that contains the name of your S3 bucket or your raw code.

    " + }, + "signingMaterial":{ + "shape":"SigningMaterial", + "documentation":"

    The Amazon Resource Name (ARN) of your code signing certificate.

    " + }, + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The microcontroller platform to which your signed code image will be distributed.

    " + }, + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the profile that initiated the signing operation.

    " + }, + "overrides":{ + "shape":"SigningPlatformOverrides", + "documentation":"

    A list of any overrides that were applied to the signing operation.

    " + }, + "signingParameters":{ + "shape":"SigningParameters", + "documentation":"

    Map of user-assigned key-value pairs used during signing. These values contain any information that you specified for use in your signing job.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    Date and time that the signing job was created.

    " + }, + "completedAt":{ + "shape":"CompletedAt", + "documentation":"

    Date and time that the signing job was completed.

    " + }, + "requestedBy":{ + "shape":"RequestedBy", + "documentation":"

    The IAM principal that requested the signing job.

    " + }, + "status":{ + "shape":"SigningStatus", + "documentation":"

    Status of the signing job.

    " + }, + "statusReason":{ + "shape":"StatusReason", + "documentation":"

    String value that contains the status reason.

    " + }, + "signedObject":{ + "shape":"SignedObject", + "documentation":"

    Name of the S3 bucket where the signed code image is saved by code signing.

    " + } + } + }, + "Destination":{ + "type":"structure", + "members":{ + "s3":{ + "shape":"S3Destination", + "documentation":"

    The S3Destination object.

    " + } + }, + "documentation":"

    Points to an S3Destination object that contains information about your S3 bucket.

    " + }, + "DisplayName":{"type":"string"}, + "EncryptionAlgorithm":{ + "type":"string", + "enum":[ + "RSA", + "ECDSA" + ] + }, + "EncryptionAlgorithmOptions":{ + "type":"structure", + "required":[ + "allowedValues", + "defaultValue" + ], + "members":{ + "allowedValues":{ + "shape":"EncryptionAlgorithms", + "documentation":"

    The set of accepted encryption algorithms that are allowed in a code signing job.

    " + }, + "defaultValue":{ + "shape":"EncryptionAlgorithm", + "documentation":"

    The default encryption algorithm that is used by a code signing job.

    " + } + }, + "documentation":"

    The encryption algorithm options that are available to a code signing job.

    " + }, + "EncryptionAlgorithms":{ + "type":"list", + "member":{"shape":"EncryptionAlgorithm"} + }, + "ErrorMessage":{"type":"string"}, + "GetSigningPlatformRequest":{ + "type":"structure", + "required":["platformId"], + "members":{ + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of the target signing platform.

    ", + "location":"uri", + "locationName":"platformId" + } + } + }, + "GetSigningPlatformResponse":{ + "type":"structure", + "members":{ + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of the target signing platform.

    " + }, + "displayName":{ + "shape":"DisplayName", + "documentation":"

    The display name of the target signing platform.

    " + }, + "partner":{ + "shape":"String", + "documentation":"

    A list of partner entities that use the target signing platform.

    " + }, + "target":{ + "shape":"String", + "documentation":"

    The validation template that is used by the target signing platform.

    " + }, + "category":{ + "shape":"Category", + "documentation":"

    The category type of the target signing platform.

    " + }, + "signingConfiguration":{ + "shape":"SigningConfiguration", + "documentation":"

    A list of configurations applied to the target platform at signing.

    " + }, + "signingImageFormat":{ + "shape":"SigningImageFormat", + "documentation":"

    The format of the target platform's signing image.

    " + }, + "maxSizeInMB":{ + "shape":"MaxSizeInMB", + "documentation":"

    The maximum size (in MB) of the payload that can be signed by the target platform.

    " + } + } + }, + "GetSigningProfileRequest":{ + "type":"structure", + "required":["profileName"], + "members":{ + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the target signing profile.

    ", + "location":"uri", + "locationName":"profileName" + } + } + }, + "GetSigningProfileResponse":{ + "type":"structure", + "members":{ + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the target signing profile.

    " + }, + "signingMaterial":{ + "shape":"SigningMaterial", + "documentation":"

    The ARN of the certificate that the target profile uses for signing operations.

    " + }, + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of the platform that is used by the target signing profile.

    " + }, + "overrides":{ + "shape":"SigningPlatformOverrides", + "documentation":"

    A list of overrides applied by the target signing profile for signing operations.

    " + }, + "signingParameters":{ + "shape":"SigningParameters", + "documentation":"

    A map of key-value pairs for signing operations that is attached to the target signing profile.

    " + }, + "status":{ + "shape":"SigningProfileStatus", + "documentation":"

    The status of the target signing profile.

    " + }, + "arn":{ + "shape":"string", + "documentation":"

    The Amazon Resource Name (ARN) for the signing profile.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A list of tags associated with the signing profile.

    " + } + } + }, + "HashAlgorithm":{ + "type":"string", + "enum":[ + "SHA1", + "SHA256" + ] + }, + "HashAlgorithmOptions":{ + "type":"structure", + "required":[ + "allowedValues", + "defaultValue" + ], + "members":{ + "allowedValues":{ + "shape":"HashAlgorithms", + "documentation":"

    The set of accepted hash algorithms allowed in a code signing job.

    " + }, + "defaultValue":{ + "shape":"HashAlgorithm", + "documentation":"

    The default hash algorithm that is used in a code signing job.

    " + } + }, + "documentation":"

    The hash algorithms that are available to a code signing job.

    " + }, + "HashAlgorithms":{ + "type":"list", + "member":{"shape":"HashAlgorithm"} + }, + "ImageFormat":{ + "type":"string", + "enum":[ + "JSON", + "JSONEmbedded", + "JSONDetached" + ] + }, + "ImageFormats":{ + "type":"list", + "member":{"shape":"ImageFormat"} + }, + "InternalServiceErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An internal error occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "JobId":{"type":"string"}, + "Key":{"type":"string"}, + "ListSigningJobsRequest":{ + "type":"structure", + "members":{ + "status":{ + "shape":"SigningStatus", + "documentation":"

    A status value with which to filter your results.

    ", + "location":"querystring", + "locationName":"status" + }, + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of microcontroller platform that you specified for the distribution of your code image.

    ", + "location":"querystring", + "locationName":"platformId" + }, + "requestedBy":{ + "shape":"RequestedBy", + "documentation":"

    The IAM principal that requested the signing job.

    ", + "location":"querystring", + "locationName":"requestedBy" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    Specifies the maximum number of items to return in the response. Use this parameter when paginating results. If additional items exist beyond the number you specify, the nextToken element is set in the response. Use the nextToken value in a subsequent request to retrieve additional items.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    String for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSigningJobsResponse":{ + "type":"structure", + "members":{ + "jobs":{ + "shape":"SigningJobs", + "documentation":"

    A list of your signing jobs.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    String for specifying the next set of paginated results.

    " + } + } + }, + "ListSigningPlatformsRequest":{ + "type":"structure", + "members":{ + "category":{ + "shape":"String", + "documentation":"

    The category type of a signing platform.

    ", + "location":"querystring", + "locationName":"category" + }, + "partner":{ + "shape":"String", + "documentation":"

    Any partner entities connected to a signing platform.

    ", + "location":"querystring", + "locationName":"partner" + }, + "target":{ + "shape":"String", + "documentation":"

    The validation template that is used by the target signing platform.

    ", + "location":"querystring", + "locationName":"target" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be returned by this operation.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"

    Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSigningPlatformsResponse":{ + "type":"structure", + "members":{ + "platforms":{ + "shape":"SigningPlatforms", + "documentation":"

    A list of all platforms that match the request parameters.

    " + }, + "nextToken":{ + "shape":"String", + "documentation":"

    Value for specifying the next set of paginated results to return.

    " + } + } + }, + "ListSigningProfilesRequest":{ + "type":"structure", + "members":{ + "includeCanceled":{ + "shape":"bool", + "documentation":"

    Designates whether to include profiles with the status of CANCELED.

    ", + "location":"querystring", + "locationName":"includeCanceled" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of profiles to be returned.

    ", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    Value for specifying the next set of paginated results to return. After you receive a response with truncated results, use this parameter in a subsequent request. Set it to the value of nextToken from the response that you just received.

    ", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListSigningProfilesResponse":{ + "type":"structure", + "members":{ + "profiles":{ + "shape":"SigningProfiles", + "documentation":"

    A list of profiles that are available in the AWS account. This includes profiles with the status of CANCELED if the includeCanceled parameter is set to true.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    Value for specifying the next set of paginated results to return.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the signing profile.

    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagMap", + "documentation":"

    A list of tags associated with the signing profile.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":25, + "min":1 + }, + "MaxSizeInMB":{"type":"integer"}, + "NextToken":{"type":"string"}, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The signing profile was not found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "PlatformId":{"type":"string"}, + "Prefix":{"type":"string"}, + "ProfileName":{ + "type":"string", + "max":64, + "min":2, + "pattern":"^[a-zA-Z0-9_]{2,}" + }, + "PutSigningProfileRequest":{ + "type":"structure", + "required":[ + "profileName", + "signingMaterial", + "platformId" + ], + "members":{ + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the signing profile to be created.

    ", + "location":"uri", + "locationName":"profileName" + }, + "signingMaterial":{ + "shape":"SigningMaterial", + "documentation":"

    The AWS Certificate Manager certificate that will be used to sign code with the new signing profile.

    " + }, + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of the signing platform to be created.

    " + }, + "overrides":{ + "shape":"SigningPlatformOverrides", + "documentation":"

    A subfield of platform. This specifies any different configuration options that you want to apply to the chosen platform (such as a different hash-algorithm or signing-algorithm).

    " + }, + "signingParameters":{ + "shape":"SigningParameters", + "documentation":"

    Map of key-value pairs for signing. These can include any information that you want to use during signing.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    Tags to be associated with the signing profile that is being created.

    " + } + } + }, + "PutSigningProfileResponse":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"string", + "documentation":"

    The Amazon Resource Name (ARN) of the signing profile created.

    " + } + } + }, + "RequestedBy":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    A specified resource could not be found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "S3Destination":{ + "type":"structure", + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

    Name of the S3 bucket.

    " + }, + "prefix":{ + "shape":"Prefix", + "documentation":"

    An Amazon S3 prefix that you can use to limit responses to those that begin with the specified prefix.

    " + } + }, + "documentation":"

    The name and prefix of the S3 bucket where code signing saves your signed objects.

    " + }, + "S3SignedObject":{ + "type":"structure", + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

    Name of the S3 bucket.

    " + }, + "key":{ + "shape":"key", + "documentation":"

    Key name that uniquely identifies a signed code image in your bucket.

    " + } + }, + "documentation":"

    The S3 bucket name and key where code signing saved your signed code image.

    " + }, + "S3Source":{ + "type":"structure", + "required":[ + "bucketName", + "key", + "version" + ], + "members":{ + "bucketName":{ + "shape":"BucketName", + "documentation":"

    Name of the S3 bucket.

    " + }, + "key":{ + "shape":"Key", + "documentation":"

    Key name of the bucket object that contains your unsigned code.

    " + }, + "version":{ + "shape":"Version", + "documentation":"

    Version of your source image in your version enabled S3 bucket.

    " + } + }, + "documentation":"

    Information about the S3 bucket where you saved your unsigned code.

    " + }, + "SignedObject":{ + "type":"structure", + "members":{ + "s3":{ + "shape":"S3SignedObject", + "documentation":"

    The S3SignedObject.

    " + } + }, + "documentation":"

    Points to an S3SignedObject object that contains information about your signed code image.

    " + }, + "SigningConfiguration":{ + "type":"structure", + "required":[ + "encryptionAlgorithmOptions", + "hashAlgorithmOptions" + ], + "members":{ + "encryptionAlgorithmOptions":{ + "shape":"EncryptionAlgorithmOptions", + "documentation":"

    The encryption algorithm options that are available for a code signing job.

    " + }, + "hashAlgorithmOptions":{ + "shape":"HashAlgorithmOptions", + "documentation":"

    The hash algorithm options that are available for a code signing job.

    " + } + }, + "documentation":"

    The configuration of a code signing operation.

    " + }, + "SigningConfigurationOverrides":{ + "type":"structure", + "members":{ + "encryptionAlgorithm":{ + "shape":"EncryptionAlgorithm", + "documentation":"

    A specified override of the default encryption algorithm that is used in a code signing job.

    " + }, + "hashAlgorithm":{ + "shape":"HashAlgorithm", + "documentation":"

    A specified override of the default hash algorithm that is used in a code signing job.

    " + } + }, + "documentation":"

    A signing configuration that overrides the default encryption or hash algorithm of a signing job.

    " + }, + "SigningImageFormat":{ + "type":"structure", + "required":[ + "supportedFormats", + "defaultFormat" + ], + "members":{ + "supportedFormats":{ + "shape":"ImageFormats", + "documentation":"

    The supported formats of a code signing image.

    " + }, + "defaultFormat":{ + "shape":"ImageFormat", + "documentation":"

    The default format of a code signing image.

    " + } + }, + "documentation":"

    The image format of a code signing platform or profile.

    " + }, + "SigningJob":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

    The ID of the signing job.

    " + }, + "source":{ + "shape":"Source", + "documentation":"

    A Source that contains information about a signing job's code image source.

    " + }, + "signedObject":{ + "shape":"SignedObject", + "documentation":"

    A SignedObject structure that contains information about a signing job's signed code image.

    " + }, + "signingMaterial":{ + "shape":"SigningMaterial", + "documentation":"

    A SigningMaterial object that contains the Amazon Resource Name (ARN) of the certificate used for the signing job.

    " + }, + "createdAt":{ + "shape":"CreatedAt", + "documentation":"

    The date and time that the signing job was created.

    " + }, + "status":{ + "shape":"SigningStatus", + "documentation":"

    The status of the signing job.

    " + } + }, + "documentation":"

    Contains information about a signing job.

    " + }, + "SigningJobs":{ + "type":"list", + "member":{"shape":"SigningJob"} + }, + "SigningMaterial":{ + "type":"structure", + "required":["certificateArn"], + "members":{ + "certificateArn":{ + "shape":"CertificateArn", + "documentation":"

    The Amazon Resource Name (ARN) of the certificates that is used to sign your code.

    " + } + }, + "documentation":"

    The ACM certificate that is used to sign your code.

    " + }, + "SigningParameterKey":{"type":"string"}, + "SigningParameterValue":{"type":"string"}, + "SigningParameters":{ + "type":"map", + "key":{"shape":"SigningParameterKey"}, + "value":{"shape":"SigningParameterValue"} + }, + "SigningPlatform":{ + "type":"structure", + "members":{ + "platformId":{ + "shape":"String", + "documentation":"

    The ID of a code signing; platform.

    " + }, + "displayName":{ + "shape":"String", + "documentation":"

    The display name of a code signing platform.

    " + }, + "partner":{ + "shape":"String", + "documentation":"

    Any partner entities linked to a code signing platform.

    " + }, + "target":{ + "shape":"String", + "documentation":"

    The types of targets that can be signed by a code signing platform.

    " + }, + "category":{ + "shape":"Category", + "documentation":"

    The category of a code signing platform.

    " + }, + "signingConfiguration":{ + "shape":"SigningConfiguration", + "documentation":"

    The configuration of a code signing platform. This includes the designated hash algorithm and encryption algorithm of a signing platform.

    " + }, + "signingImageFormat":{"shape":"SigningImageFormat"}, + "maxSizeInMB":{ + "shape":"MaxSizeInMB", + "documentation":"

    The maximum size (in MB) of code that can be signed by a code signing platform.

    " + } + }, + "documentation":"

    Contains information about the signing configurations and parameters that are used to perform a code signing job.

    " + }, + "SigningPlatformOverrides":{ + "type":"structure", + "members":{ + "signingConfiguration":{ + "shape":"SigningConfigurationOverrides", + "documentation":"

    A signing configuration that overrides the default encryption or hash algorithm of a signing job.

    " + }, + "signingImageFormat":{ + "shape":"ImageFormat", + "documentation":"

    A signed image is a JSON object. When overriding the default signing platform configuration, a customer can select either of two signing formats, JSONEmbedded or JSONDetached. (A third format value, JSON, is reserved for future use.) With JSONEmbedded, the signing image has the payload embedded in it. With JSONDetached, the payload is not be embedded in the signing image.

    " + } + }, + "documentation":"

    Any overrides that are applied to the signing configuration of a code signing platform.

    " + }, + "SigningPlatforms":{ + "type":"list", + "member":{"shape":"SigningPlatform"} + }, + "SigningProfile":{ + "type":"structure", + "members":{ + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the signing profile.

    " + }, + "signingMaterial":{ + "shape":"SigningMaterial", + "documentation":"

    The ACM certificate that is available for use by a signing profile.

    " + }, + "platformId":{ + "shape":"PlatformId", + "documentation":"

    The ID of a platform that is available for use by a signing profile.

    " + }, + "signingParameters":{ + "shape":"SigningParameters", + "documentation":"

    The parameters that are available for use by a code signing user.

    " + }, + "status":{ + "shape":"SigningProfileStatus", + "documentation":"

    The status of a code signing profile.

    " + }, + "arn":{ + "shape":"string", + "documentation":"

    The Amazon Resource Name (ARN) for the signing profile.

    " + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    A list of tags associated with the signing profile.

    " + } + }, + "documentation":"

    Contains information about the ACM certificates and code signing configuration parameters that can be used by a given code signing user.

    " + }, + "SigningProfileStatus":{ + "type":"string", + "enum":[ + "Active", + "Canceled" + ] + }, + "SigningProfiles":{ + "type":"list", + "member":{"shape":"SigningProfile"} + }, + "SigningStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Failed", + "Succeeded" + ] + }, + "Source":{ + "type":"structure", + "members":{ + "s3":{ + "shape":"S3Source", + "documentation":"

    The S3Source object.

    " + } + }, + "documentation":"

    An S3Source object that contains information about the S3 bucket where you saved your unsigned code.

    " + }, + "StartSigningJobRequest":{ + "type":"structure", + "required":[ + "source", + "destination", + "clientRequestToken" + ], + "members":{ + "source":{ + "shape":"Source", + "documentation":"

    The S3 bucket that contains the object to sign or a BLOB that contains your raw code.

    " + }, + "destination":{ + "shape":"Destination", + "documentation":"

    The S3 bucket in which to save your signed object. The destination contains the name of your bucket and an optional prefix.

    " + }, + "profileName":{ + "shape":"ProfileName", + "documentation":"

    The name of the signing profile.

    " + }, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    String that identifies the signing request. All calls after the first that use this token return the same response as the first call.

    ", + "idempotencyToken":true + } + } + }, + "StartSigningJobResponse":{ + "type":"structure", + "members":{ + "jobId":{ + "shape":"JobId", + "documentation":"

    The ID of your signing job.

    " + } + } + }, + "StatusReason":{"type":"string"}, + "String":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the signing profile.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    One or more tags to be associated with the signing profile.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The signing job has been throttled.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) for the signing profile.

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    A list of tag keys to be removed from the signing profile.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You signing certificate could not be validated.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "Version":{"type":"string"}, + "bool":{"type":"boolean"}, + "string":{"type":"string"} + }, + "documentation":"

    With code signing for IoT, you can sign code that you create for any IoT device that is supported by Amazon Web Services (AWS). Code signing is available through Amazon FreeRTOS and AWS IoT Device Management, and integrated with AWS Certificate Manager (ACM). In order to sign code, you import a third-party code signing certificate with ACM that is used to sign updates in Amazon FreeRTOS and AWS IoT Device Management. For general information about using code signing, see the Code Signing for IoT Developer Guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/signer/2017-08-25/waiters-2.json python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/waiters-2.json --- python-botocore-1.4.70/botocore/data/signer/2017-08-25/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/signer/2017-08-25/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,29 @@ +{ + "version": 2, + "waiters": { + "SuccessfulSigningJob": { + "delay": 20, + "operation": "DescribeSigningJob", + "maxAttempts": 25, + "acceptors": [ + { + "expected": "Succeeded", + "matcher": "path", + "state": "success", + "argument": "status" + }, + { + "expected": "Failed", + "matcher": "path", + "state": "failure", + "argument": "status" + }, + { + "expected": "ResourceNotFoundException", + "matcher": "error", + "state": "failure" + } + ] + } + } +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/sms/2016-10-24/examples-1.json python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/examples-1.json --- python-botocore-1.4.70/botocore/data/sms/2016-10-24/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/sms/2016-10-24/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/paginators-1.json --- python-botocore-1.4.70/botocore/data/sms/2016-10-24/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "GetReplicationJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "replicationJobList" + }, + "GetReplicationRuns": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "replicationRunList" + }, + "GetConnectors": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "connectorList" + }, + "GetServers": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "serverList" + }, + "ListApps": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "apps" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sms/2016-10-24/service-2.json python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/service-2.json --- python-botocore-1.4.70/botocore/data/sms/2016-10-24/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sms/2016-10-24/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -7,10 +7,29 @@ "protocol":"json", "serviceAbbreviation":"SMS", "serviceFullName":"AWS Server Migration Service", + "serviceId":"SMS", "signatureVersion":"v4", - "targetPrefix":"AWSServerMigrationService_V2016_10_24" + "targetPrefix":"AWSServerMigrationService_V2016_10_24", + "uid":"sms-2016-10-24" }, "operations":{ + "CreateApp":{ + "name":"CreateApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAppRequest"}, + "output":{"shape":"CreateAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Creates an application. An application consists of one or more server groups. Each server group contain one or more servers.

    " + }, "CreateReplicationJob":{ "name":"CreateReplicationJob", "http":{ @@ -27,9 +46,61 @@ {"shape":"ServerCannotBeReplicatedException"}, {"shape":"ReplicationJobAlreadyExistsException"}, {"shape":"NoConnectorsAvailableException"}, - {"shape":"InternalError"} + {"shape":"InternalError"}, + {"shape":"TemporarilyUnavailableException"} + ], + "documentation":"

    Creates a replication job. The replication job schedules periodic replication runs to replicate your server to AWS. Each replication run creates an Amazon Machine Image (AMI).

    " + }, + "DeleteApp":{ + "name":"DeleteApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAppRequest"}, + "output":{"shape":"DeleteAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} ], - "documentation":"The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS. Call this API to first create a ReplicationJob, which will then schedule periodic ReplicationRuns to replicate your server to AWS. Each ReplicationRun will result in the creation of an AWS AMI." + "documentation":"

    Deletes an existing application. Optionally deletes the launched stack associated with the application and all AWS SMS replication jobs for servers in the application.

    " + }, + "DeleteAppLaunchConfiguration":{ + "name":"DeleteAppLaunchConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAppLaunchConfigurationRequest"}, + "output":{"shape":"DeleteAppLaunchConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Deletes existing launch configuration for an application.

    " + }, + "DeleteAppReplicationConfiguration":{ + "name":"DeleteAppReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAppReplicationConfigurationRequest"}, + "output":{"shape":"DeleteAppReplicationConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Deletes existing replication configuration for an application.

    " }, "DeleteReplicationJob":{ "name":"DeleteReplicationJob", @@ -46,7 +117,7 @@ {"shape":"OperationNotPermittedException"}, {"shape":"ReplicationJobNotFoundException"} ], - "documentation":"The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns. This will delete the contents of the S3 bucket used to store SMS artifacts, but will not delete any AMIs created by the SMS service." + "documentation":"

    Deletes the specified replication job.

    After you delete a replication job, there are no further replication runs. AWS deletes the contents of the Amazon S3 bucket used to store AWS SMS artifacts. The AMIs created by the replication runs are not deleted.

    " }, "DeleteServerCatalog":{ "name":"DeleteServerCatalog", @@ -62,7 +133,7 @@ {"shape":"InvalidParameterException"}, {"shape":"MissingRequiredParameterException"} ], - "documentation":"The DeleteServerCatalog API clears all servers from your server catalog. This means that these servers will no longer be accessible to the Server Migration Service." + "documentation":"

    Deletes all servers from your server catalog.

    " }, "DisassociateConnector":{ "name":"DisassociateConnector", @@ -78,7 +149,92 @@ {"shape":"OperationNotPermittedException"}, {"shape":"InvalidParameterException"} ], - "documentation":"The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs." + "documentation":"

    Disassociates the specified connector from AWS SMS.

    After you disassociate a connector, it is no longer available to support replication jobs.

    " + }, + "GenerateChangeSet":{ + "name":"GenerateChangeSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateChangeSetRequest"}, + "output":{"shape":"GenerateChangeSetResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Generates a target change set for a currently launched stack and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.

    " + }, + "GenerateTemplate":{ + "name":"GenerateTemplate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GenerateTemplateRequest"}, + "output":{"shape":"GenerateTemplateResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Generates an Amazon CloudFormation template based on the current launch configuration and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.

    " + }, + "GetApp":{ + "name":"GetApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAppRequest"}, + "output":{"shape":"GetAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Retrieve information about an application.

    " + }, + "GetAppLaunchConfiguration":{ + "name":"GetAppLaunchConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAppLaunchConfigurationRequest"}, + "output":{"shape":"GetAppLaunchConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Retrieves the application launch configuration associated with an application.

    " + }, + "GetAppReplicationConfiguration":{ + "name":"GetAppReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAppReplicationConfigurationRequest"}, + "output":{"shape":"GetAppReplicationConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Retrieves an application replication configuration associatd with an application.

    " }, "GetConnectors":{ "name":"GetConnectors", @@ -91,7 +247,7 @@ "errors":[ {"shape":"UnauthorizedOperationException"} ], - "documentation":"The GetConnectors API returns a list of connectors that are registered with the Server Migration Service." + "documentation":"

    Describes the connectors registered with the AWS SMS.

    " }, "GetReplicationJobs":{ "name":"GetReplicationJobs", @@ -106,7 +262,7 @@ {"shape":"MissingRequiredParameterException"}, {"shape":"UnauthorizedOperationException"} ], - "documentation":"The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs." + "documentation":"

    Describes the specified replication job or all of your replication jobs.

    " }, "GetReplicationRuns":{ "name":"GetReplicationRuns", @@ -121,7 +277,7 @@ {"shape":"MissingRequiredParameterException"}, {"shape":"UnauthorizedOperationException"} ], - "documentation":"The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationRuns for a ReplicationJob." + "documentation":"

    Describes the replication runs for the specified replication job.

    " }, "GetServers":{ "name":"GetServers", @@ -134,7 +290,7 @@ "errors":[ {"shape":"UnauthorizedOperationException"} ], - "documentation":"The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must previously have called ImportServerCatalog." + "documentation":"

    Describes the servers in your server catalog.

    Before you can describe your servers, you must import them using ImportServerCatalog.

    " }, "ImportServerCatalog":{ "name":"ImportServerCatalog", @@ -151,7 +307,92 @@ {"shape":"MissingRequiredParameterException"}, {"shape":"NoConnectorsAvailableException"} ], - "documentation":"The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises. This API call requires connectors to be installed and monitoring all servers you would like imported. This API call returns immediately, but may take some time to retrieve all of the servers." + "documentation":"

    Gathers a complete list of on-premises servers. Connectors must be installed and monitoring all servers that you want to import.

    This call returns immediately, but might take additional time to retrieve all the servers.

    " + }, + "LaunchApp":{ + "name":"LaunchApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"LaunchAppRequest"}, + "output":{"shape":"LaunchAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Launches an application stack.

    " + }, + "ListApps":{ + "name":"ListApps", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAppsRequest"}, + "output":{"shape":"ListAppsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Returns a list of summaries for all applications.

    " + }, + "PutAppLaunchConfiguration":{ + "name":"PutAppLaunchConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAppLaunchConfigurationRequest"}, + "output":{"shape":"PutAppLaunchConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Creates a launch configuration for an application.

    " + }, + "PutAppReplicationConfiguration":{ + "name":"PutAppReplicationConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAppReplicationConfigurationRequest"}, + "output":{"shape":"PutAppReplicationConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Creates or updates a replication configuration for an application.

    " + }, + "StartAppReplication":{ + "name":"StartAppReplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAppReplicationRequest"}, + "output":{"shape":"StartAppReplicationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Starts replicating an application.

    " }, "StartOnDemandReplicationRun":{ "name":"StartOnDemandReplicationRun", @@ -168,7 +409,58 @@ {"shape":"OperationNotPermittedException"}, {"shape":"ReplicationRunLimitExceededException"} ], - "documentation":"The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are scheduled based on your frequency). This ReplicationRun will start immediately. StartOnDemandReplicationRun is subject to limits on how many on demand ReplicationRuns you may call per 24-hour period." + "documentation":"

    Starts an on-demand replication run for the specified replication job. This replication run starts immediately. This replication run is in addition to the ones already scheduled.

    There is a limit on the number of on-demand replications runs you can request in a 24-hour period.

    " + }, + "StopAppReplication":{ + "name":"StopAppReplication", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAppReplicationRequest"}, + "output":{"shape":"StopAppReplicationResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Stops replicating an application.

    " + }, + "TerminateApp":{ + "name":"TerminateApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateAppRequest"}, + "output":{"shape":"TerminateAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Terminates the stack for an application.

    " + }, + "UpdateApp":{ + "name":"UpdateApp", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAppRequest"}, + "output":{"shape":"UpdateAppResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MissingRequiredParameterException"}, + {"shape":"InternalError"}, + {"shape":"OperationNotPermittedException"} + ], + "documentation":"

    Updates an application.

    " }, "UpdateReplicationJob":{ "name":"UpdateReplicationJob", @@ -185,96 +477,385 @@ {"shape":"UnauthorizedOperationException"}, {"shape":"ServerCannotBeReplicatedException"}, {"shape":"ReplicationJobNotFoundException"}, - {"shape":"InternalError"} + {"shape":"InternalError"}, + {"shape":"TemporarilyUnavailableException"} ], - "documentation":"The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using CreateReplicationJob. Calling this API will affect the next scheduled ReplicationRun." + "documentation":"

    Updates the specified settings for the specified replication job.

    " } }, "shapes":{ - "AmiId":{ + "AmiId":{"type":"string"}, + "AppDescription":{"type":"string"}, + "AppId":{"type":"string"}, + "AppIds":{ + "type":"list", + "member":{"shape":"AppId"} + }, + "AppLaunchStatus":{ "type":"string", - "documentation":"The AMI id for the image resulting from a Replication Run." + "enum":[ + "READY_FOR_CONFIGURATION", + "CONFIGURATION_IN_PROGRESS", + "CONFIGURATION_INVALID", + "READY_FOR_LAUNCH", + "VALIDATION_IN_PROGRESS", + "LAUNCH_PENDING", + "LAUNCH_IN_PROGRESS", + "LAUNCHED", + "DELTA_LAUNCH_IN_PROGRESS", + "DELTA_LAUNCH_FAILED", + "LAUNCH_FAILED", + "TERMINATE_IN_PROGRESS", + "TERMINATE_FAILED", + "TERMINATED" + ] + }, + "AppLaunchStatusMessage":{"type":"string"}, + "AppName":{"type":"string"}, + "AppReplicationStatus":{ + "type":"string", + "enum":[ + "READY_FOR_CONFIGURATION", + "CONFIGURATION_IN_PROGRESS", + "CONFIGURATION_INVALID", + "READY_FOR_REPLICATION", + "VALIDATION_IN_PROGRESS", + "REPLICATION_PENDING", + "REPLICATION_IN_PROGRESS", + "REPLICATED", + "DELTA_REPLICATION_IN_PROGRESS", + "DELTA_REPLICATED", + "DELTA_REPLICATION_FAILED", + "REPLICATION_FAILED", + "REPLICATION_STOPPING", + "REPLICATION_STOP_FAILED", + "REPLICATION_STOPPED" + ] }, + "AppReplicationStatusMessage":{"type":"string"}, + "AppStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "UPDATING", + "DELETING", + "DELETED", + "DELETE_FAILED" + ] + }, + "AppStatusMessage":{"type":"string"}, + "AppSummary":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    Unique ID of the application.

    " + }, + "name":{ + "shape":"AppName", + "documentation":"

    Name of the application.

    " + }, + "description":{ + "shape":"AppDescription", + "documentation":"

    Description of the application.

    " + }, + "status":{ + "shape":"AppStatus", + "documentation":"

    Status of the application.

    " + }, + "statusMessage":{ + "shape":"AppStatusMessage", + "documentation":"

    A message related to the status of the application

    " + }, + "replicationStatus":{ + "shape":"AppReplicationStatus", + "documentation":"

    Replication status of the application.

    " + }, + "replicationStatusMessage":{ + "shape":"AppReplicationStatusMessage", + "documentation":"

    A message related to the replication status of the application.

    " + }, + "latestReplicationTime":{ + "shape":"Timestamp", + "documentation":"

    Timestamp of the application's most recent successful replication.

    " + }, + "launchStatus":{ + "shape":"AppLaunchStatus", + "documentation":"

    Launch status of the application.

    " + }, + "launchStatusMessage":{ + "shape":"AppLaunchStatusMessage", + "documentation":"

    A message related to the launch status of the application.

    " + }, + "launchDetails":{ + "shape":"LaunchDetails", + "documentation":"

    Details about the latest launch of the application.

    " + }, + "creationTime":{ + "shape":"Timestamp", + "documentation":"

    Time of creation of this application.

    " + }, + "lastModified":{ + "shape":"Timestamp", + "documentation":"

    Timestamp of the application's creation.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    Name of the service role in the customer's account used by AWS SMS.

    " + }, + "totalServerGroups":{ + "shape":"TotalServerGroups", + "documentation":"

    Number of server groups present in the application.

    " + }, + "totalServers":{ + "shape":"TotalServers", + "documentation":"

    Number of servers present in the application.

    " + } + }, + "documentation":"

    Information about the application.

    " + }, + "Apps":{ + "type":"list", + "member":{"shape":"AppSummary"} + }, + "AssociatePublicIpAddress":{"type":"boolean"}, + "BucketName":{"type":"string"}, + "ClientToken":{"type":"string"}, "Connector":{ "type":"structure", "members":{ - "connectorId":{"shape":"ConnectorId"}, - "version":{"shape":"ConnectorVersion"}, - "status":{"shape":"ConnectorStatus"}, - "capabilityList":{"shape":"ConnectorCapabilityList"}, - "vmManagerName":{"shape":"VmManagerName"}, - "vmManagerType":{"shape":"VmManagerType"}, - "vmManagerId":{"shape":"VmManagerId"}, - "ipAddress":{"shape":"IpAddress"}, - "macAddress":{"shape":"MacAddress"}, - "associatedOn":{"shape":"Timestamp"} + "connectorId":{ + "shape":"ConnectorId", + "documentation":"

    The identifier of the connector.

    " + }, + "version":{ + "shape":"ConnectorVersion", + "documentation":"

    The connector version.

    " + }, + "status":{ + "shape":"ConnectorStatus", + "documentation":"

    The status of the connector.

    " + }, + "capabilityList":{ + "shape":"ConnectorCapabilityList", + "documentation":"

    The capabilities of the connector.

    " + }, + "vmManagerName":{ + "shape":"VmManagerName", + "documentation":"

    The name of the VM manager.

    " + }, + "vmManagerType":{ + "shape":"VmManagerType", + "documentation":"

    The VM management product.

    " + }, + "vmManagerId":{ + "shape":"VmManagerId", + "documentation":"

    The identifier of the VM manager.

    " + }, + "ipAddress":{ + "shape":"IpAddress", + "documentation":"

    The IP address of the connector.

    " + }, + "macAddress":{ + "shape":"MacAddress", + "documentation":"

    The MAC address of the connector.

    " + }, + "associatedOn":{ + "shape":"Timestamp", + "documentation":"

    The time the connector was associated.

    " + } }, - "documentation":"Object representing a Connector" + "documentation":"

    Represents a connector.

    " }, "ConnectorCapability":{ "type":"string", - "documentation":"Capabilities for a Connector", - "enum":["VSPHERE"] + "enum":[ + "VSPHERE", + "SCVMM", + "HYPERV-MANAGER", + "SNAPSHOT_BATCHING" + ] }, "ConnectorCapabilityList":{ "type":"list", - "member":{ - "shape":"ConnectorCapability", - "locationName":"item" - }, - "documentation":"List of Connector Capabilities" - }, - "ConnectorId":{ - "type":"string", - "documentation":"Unique Identifier for Connector" + "member":{"shape":"ConnectorCapability"} }, + "ConnectorId":{"type":"string"}, "ConnectorList":{ "type":"list", - "member":{ - "shape":"Connector", - "locationName":"item" - }, - "documentation":"List of connectors" + "member":{"shape":"Connector"} }, "ConnectorStatus":{ "type":"string", - "documentation":"Status of on-premise Connector", "enum":[ "HEALTHY", "UNHEALTHY" ] }, - "ConnectorVersion":{ - "type":"string", - "documentation":"Connector version string" + "ConnectorVersion":{"type":"string"}, + "CreateAppRequest":{ + "type":"structure", + "members":{ + "name":{ + "shape":"AppName", + "documentation":"

    Name of the new application.

    " + }, + "description":{ + "shape":"AppDescription", + "documentation":"

    Description of the new application

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    Name of service role in customer's account to be used by AWS SMS.

    " + }, + "clientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique, case-sensitive identifier you provide to ensure idempotency of application creation.

    " + }, + "serverGroups":{ + "shape":"ServerGroups", + "documentation":"

    List of server groups to include in the application.

    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

    List of tags to be associated with the application.

    " + } + } + }, + "CreateAppResponse":{ + "type":"structure", + "members":{ + "appSummary":{ + "shape":"AppSummary", + "documentation":"

    Summary description of the application.

    " + }, + "serverGroups":{ + "shape":"ServerGroups", + "documentation":"

    List of server groups included in the application.

    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

    List of taags associated with the application.

    " + } + } }, "CreateReplicationJobRequest":{ "type":"structure", "required":[ "serverId", - "seedReplicationTime", - "frequency" + "seedReplicationTime" ], "members":{ - "serverId":{"shape":"ServerId"}, - "seedReplicationTime":{"shape":"Timestamp"}, - "frequency":{"shape":"Frequency"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "description":{"shape":"Description"} + "serverId":{ + "shape":"ServerId", + "documentation":"

    The identifier of the server.

    " + }, + "seedReplicationTime":{ + "shape":"Timestamp", + "documentation":"

    The seed replication time.

    " + }, + "frequency":{ + "shape":"Frequency", + "documentation":"

    The time between consecutive replication runs, in hours.

    " + }, + "runOnce":{ + "shape":"RunOnce", + "documentation":"

    " + }, + "licenseType":{ + "shape":"LicenseType", + "documentation":"

    The license type to be used for the AMI created by a successful replication run.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    The name of the IAM role to be used by the AWS SMS.

    " + }, + "description":{ + "shape":"Description", + "documentation":"

    The description of the replication job.

    " + }, + "numberOfRecentAmisToKeep":{ + "shape":"NumberOfRecentAmisToKeep", + "documentation":"

    The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the maximum number is reached and a new AMI is created.

    " + }, + "encrypted":{ + "shape":"Encrypted", + "documentation":"

    When true, the replication job produces encrypted AMIs. See also KmsKeyId below.

    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following:

    • KMS key ID

    • KMS key alias

    • ARN referring to KMS key ID

    • ARN referring to KMS key alias

    If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used.

    " + } } }, "CreateReplicationJobResponse":{ "type":"structure", "members":{ - "replicationJobId":{"shape":"ReplicationJobId"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The unique identifier of the replication job.

    " + } + } + }, + "DeleteAppLaunchConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the launch configuration.

    " + } + } + }, + "DeleteAppLaunchConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAppReplicationConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the replication configuration.

    " + } + } + }, + "DeleteAppReplicationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAppRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to delete.

    " + }, + "forceStopAppReplication":{ + "shape":"ForceStopAppReplication", + "documentation":"

    While deleting the application, stop all replication jobs corresponding to the servers in the application.

    " + }, + "forceTerminateApp":{ + "shape":"ForceTerminateApp", + "documentation":"

    While deleting the application, terminate the stack corresponding to the application.

    " + } + } + }, + "DeleteAppResponse":{ + "type":"structure", + "members":{ } }, "DeleteReplicationJobRequest":{ "type":"structure", "required":["replicationJobId"], "members":{ - "replicationJobId":{"shape":"ReplicationJobId"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + } } }, "DeleteReplicationJobResponse":{ @@ -292,15 +873,15 @@ "members":{ } }, - "Description":{ - "type":"string", - "documentation":"The description for a Replication Job/Run." - }, + "Description":{"type":"string"}, "DisassociateConnectorRequest":{ "type":"structure", "required":["connectorId"], "members":{ - "connectorId":{"shape":"ConnectorId"} + "connectorId":{ + "shape":"ConnectorId", + "documentation":"

    The identifier of the connector.

    " + } } }, "DisassociateConnectorResponse":{ @@ -308,74 +889,253 @@ "members":{ } }, - "ErrorMessage":{ - "type":"string", - "documentation":"Error Message string" + "EC2KeyName":{"type":"string"}, + "Encrypted":{"type":"boolean"}, + "ErrorMessage":{"type":"string"}, + "ForceStopAppReplication":{"type":"boolean"}, + "ForceTerminateApp":{"type":"boolean"}, + "Frequency":{"type":"integer"}, + "GenerateChangeSetRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the change set.

    " + }, + "changesetFormat":{ + "shape":"OutputFormat", + "documentation":"

    Format for the change set.

    " + } + } + }, + "GenerateChangeSetResponse":{ + "type":"structure", + "members":{ + "s3Location":{ + "shape":"S3Location", + "documentation":"

    Location of the Amazon S3 object.

    " + } + } + }, + "GenerateTemplateRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the Amazon CloudFormation template.

    " + }, + "templateFormat":{ + "shape":"OutputFormat", + "documentation":"

    Format for generating the Amazon CloudFormation template.

    " + } + } + }, + "GenerateTemplateResponse":{ + "type":"structure", + "members":{ + "s3Location":{ + "shape":"S3Location", + "documentation":"

    Location of the Amazon S3 object.

    " + } + } + }, + "GetAppLaunchConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application launch configuration.

    " + } + } + }, + "GetAppLaunchConfigurationResponse":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the launch configuration.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    Name of the service role in the customer's account that Amazon CloudFormation uses to launch the application.

    " + }, + "serverGroupLaunchConfigurations":{ + "shape":"ServerGroupLaunchConfigurations", + "documentation":"

    List of launch configurations for server groups in this application.

    " + } + } + }, + "GetAppReplicationConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the replication configuration.

    " + } + } }, - "Frequency":{ - "type":"integer", - "documentation":"Interval between Replication Runs. This value is specified in hours, and represents the time between consecutive Replication Runs." + "GetAppReplicationConfigurationResponse":{ + "type":"structure", + "members":{ + "serverGroupReplicationConfigurations":{ + "shape":"ServerGroupReplicationConfigurations", + "documentation":"

    Replication configurations associated with server groups in this application.

    " + } + } + }, + "GetAppRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application whose information is being retrieved.

    " + } + } + }, + "GetAppResponse":{ + "type":"structure", + "members":{ + "appSummary":{ + "shape":"AppSummary", + "documentation":"

    Information about the application.

    " + }, + "serverGroups":{ + "shape":"ServerGroups", + "documentation":"

    List of server groups belonging to the application.

    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

    List of tags associated with the application.

    " + } + } }, "GetConnectorsRequest":{ "type":"structure", "members":{ - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

    " + } } }, "GetConnectorsResponse":{ "type":"structure", "members":{ - "connectorList":{"shape":"ConnectorList"}, - "nextToken":{"shape":"NextToken"} + "connectorList":{ + "shape":"ConnectorList", + "documentation":"

    Information about the registered connectors.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token required to retrieve the next set of results. This value is null when there are no more results to return.

    " + } } }, "GetReplicationJobsRequest":{ "type":"structure", "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

    " + } } }, "GetReplicationJobsResponse":{ "type":"structure", "members":{ - "replicationJobList":{"shape":"ReplicationJobList"}, - "nextToken":{"shape":"NextToken"} + "replicationJobList":{ + "shape":"ReplicationJobList", + "documentation":"

    Information about the replication jobs.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token required to retrieve the next set of results. This value is null when there are no more results to return.

    " + } } }, "GetReplicationRunsRequest":{ "type":"structure", "required":["replicationJobId"], "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

    " + } } }, "GetReplicationRunsResponse":{ "type":"structure", "members":{ - "replicationJob":{"shape":"ReplicationJob"}, - "replicationRunList":{"shape":"ReplicationRunList"}, - "nextToken":{"shape":"NextToken"} + "replicationJob":{ + "shape":"ReplicationJob", + "documentation":"

    Information about the replication job.

    " + }, + "replicationRunList":{ + "shape":"ReplicationRunList", + "documentation":"

    Information about the replication runs.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token required to retrieve the next set of results. This value is null when there are no more results to return.

    " + } } }, "GetServersRequest":{ "type":"structure", "members":{ - "nextToken":{"shape":"NextToken"}, - "maxResults":{"shape":"MaxResults"} + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

    " + }, + "vmServerAddressList":{ + "shape":"VmServerAddressList", + "documentation":"

    List of VmServerAddress objects

    " + } } }, "GetServersResponse":{ "type":"structure", "members":{ - "lastModifiedOn":{"shape":"Timestamp"}, - "serverCatalogStatus":{"shape":"ServerCatalogStatus"}, - "serverList":{"shape":"ServerList"}, - "nextToken":{"shape":"NextToken"} + "lastModifiedOn":{ + "shape":"Timestamp", + "documentation":"

    The time when the server was last modified.

    " + }, + "serverCatalogStatus":{ + "shape":"ServerCatalogStatus", + "documentation":"

    The status of the server catalog.

    " + }, + "serverList":{ + "shape":"ServerList", + "documentation":"

    Information about the servers.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token required to retrieve the next set of results. This value is null when there are no more results to return.

    " + } } }, "ImportServerCatalogRequest":{ @@ -388,12 +1148,13 @@ "members":{ } }, + "InstanceType":{"type":"string"}, "InternalError":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"An internal error has occured.", + "documentation":"

    An internal error occurred.

    ", "exception":true, "fault":true }, @@ -402,161 +1163,353 @@ "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"A parameter specified in the request is not valid, is unsupported, or cannot be used.", + "documentation":"

    A specified parameter is not valid.

    ", "exception":true }, - "IpAddress":{ - "type":"string", - "documentation":"Internet Protocol (IP) Address" + "IpAddress":{"type":"string"}, + "KeyName":{"type":"string"}, + "KmsKeyId":{"type":"string"}, + "LaunchAppRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to launch.

    " + } + } }, + "LaunchAppResponse":{ + "type":"structure", + "members":{ + } + }, + "LaunchDetails":{ + "type":"structure", + "members":{ + "latestLaunchTime":{ + "shape":"Timestamp", + "documentation":"

    Latest time this application was launched successfully.

    " + }, + "stackName":{ + "shape":"StackName", + "documentation":"

    Name of the latest stack launched for this application.

    " + }, + "stackId":{ + "shape":"StackId", + "documentation":"

    Identifier of the latest stack launched for this application.

    " + } + }, + "documentation":"

    Details about the latest launch of an application.

    " + }, + "LaunchOrder":{"type":"integer"}, "LicenseType":{ "type":"string", - "documentation":"The license type to be used for the Amazon Machine Image (AMI) created after a successful ReplicationRun.", "enum":[ "AWS", "BYOL" ] }, - "MacAddress":{ - "type":"string", - "documentation":"Hardware (MAC) address" - }, - "MaxResults":{ - "type":"integer", - "documentation":"The maximum number of results to return in one API call. If left empty, this will default to 50." - }, + "ListAppsRequest":{ + "type":"structure", + "members":{ + "appIds":{ + "shape":"AppIds", + "documentation":"

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of results.

    " + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call. The default value is 50. To retrieve the remaining results, make another call with the returned NextToken value.

    " + } + } + }, + "ListAppsResponse":{ + "type":"structure", + "members":{ + "apps":{ + "shape":"Apps", + "documentation":"

    A list of application summaries.

    " + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"

    The token required to retrieve the next set of results. This value is null when there are no more results to return.

    " + } + } + }, + "LogicalId":{"type":"string"}, + "MacAddress":{"type":"string"}, + "MaxResults":{"type":"integer"}, "MissingRequiredParameterException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"The request is missing a required parameter. Ensure that you have supplied all the required parameters for the request.", + "documentation":"

    A required parameter is missing.

    ", "exception":true }, - "NextToken":{ - "type":"string", - "documentation":"Pagination token to pass as input to API call" - }, + "NextToken":{"type":"string"}, "NoConnectorsAvailableException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"No connectors are available to handle this request. Please associate connector(s) and verify any existing connectors are healthy and can respond to requests.", + "documentation":"

    There are no connectors available.

    ", "exception":true }, + "NumberOfRecentAmisToKeep":{"type":"integer"}, "OperationNotPermittedException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"The specified operation is not allowed. This error can occur for a number of reasons; for example, you might be trying to start a Replication Run before seed Replication Run.", + "documentation":"

    This operation is not allowed.

    ", "exception":true }, + "OutputFormat":{ + "type":"string", + "enum":[ + "JSON", + "YAML" + ] + }, + "PutAppLaunchConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application associated with the launch configuration.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    Name of service role in the customer's account that Amazon CloudFormation uses to launch the application.

    " + }, + "serverGroupLaunchConfigurations":{ + "shape":"ServerGroupLaunchConfigurations", + "documentation":"

    Launch configurations for server groups in the application.

    " + } + } + }, + "PutAppLaunchConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "PutAppReplicationConfigurationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application tassociated with the replication configuration.

    " + }, + "serverGroupReplicationConfigurations":{ + "shape":"ServerGroupReplicationConfigurations", + "documentation":"

    Replication configurations for server groups in the application.

    " + } + } + }, + "PutAppReplicationConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, "ReplicationJob":{ "type":"structure", "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "serverId":{"shape":"ServerId"}, - "serverType":{"shape":"ServerType"}, - "vmServer":{"shape":"VmServer"}, - "seedReplicationTime":{"shape":"Timestamp"}, - "frequency":{"shape":"Frequency"}, - "nextReplicationRunStartTime":{"shape":"Timestamp"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "latestAmiId":{"shape":"AmiId"}, - "state":{"shape":"ReplicationJobState"}, - "statusMessage":{"shape":"ReplicationJobStatusMessage"}, - "description":{"shape":"Description"}, - "replicationRunList":{"shape":"ReplicationRunList"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "serverId":{ + "shape":"ServerId", + "documentation":"

    The identifier of the server.

    " + }, + "serverType":{ + "shape":"ServerType", + "documentation":"

    The type of server.

    " + }, + "vmServer":{ + "shape":"VmServer", + "documentation":"

    Information about the VM server.

    " + }, + "seedReplicationTime":{ + "shape":"Timestamp", + "documentation":"

    The seed replication time.

    " + }, + "frequency":{ + "shape":"Frequency", + "documentation":"

    The time between consecutive replication runs, in hours.

    " + }, + "runOnce":{ + "shape":"RunOnce", + "documentation":"

    " + }, + "nextReplicationRunStartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the next replication run.

    " + }, + "licenseType":{ + "shape":"LicenseType", + "documentation":"

    The license type to be used for the AMI created by a successful replication run.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    The name of the IAM role to be used by the Server Migration Service.

    " + }, + "latestAmiId":{ + "shape":"AmiId", + "documentation":"

    The ID of the latest Amazon Machine Image (AMI).

    " + }, + "state":{ + "shape":"ReplicationJobState", + "documentation":"

    The state of the replication job.

    " + }, + "statusMessage":{ + "shape":"ReplicationJobStatusMessage", + "documentation":"

    The description of the current status of the replication job.

    " + }, + "description":{ + "shape":"Description", + "documentation":"

    The description of the replication job.

    " + }, + "numberOfRecentAmisToKeep":{ + "shape":"NumberOfRecentAmisToKeep", + "documentation":"

    Number of recent AMIs to keep in the customer's account for a replication job. By default the value is set to zero, meaning that all AMIs are kept.

    " + }, + "encrypted":{ + "shape":"Encrypted", + "documentation":"

    Whether the replication job should produce encrypted AMIs or not. See also KmsKeyId below.

    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following:

    • KMS key ID

    • KMS key alias

    • ARN referring to KMS key ID

    • ARN referring to KMS key alias

    If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used.

    " + }, + "replicationRunList":{ + "shape":"ReplicationRunList", + "documentation":"

    Information about the replication runs.

    " + } }, - "documentation":"Object representing a Replication Job" + "documentation":"

    Represents a replication job.

    " }, "ReplicationJobAlreadyExistsException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"An active Replication Job already exists for the specified server.", + "documentation":"

    The specified replication job already exists.

    ", "exception":true }, - "ReplicationJobId":{ - "type":"string", - "documentation":"The unique identifier for a Replication Job." - }, + "ReplicationJobId":{"type":"string"}, "ReplicationJobList":{ "type":"list", - "member":{ - "shape":"ReplicationJob", - "locationName":"item" - }, - "documentation":"List of Replication Jobs" + "member":{"shape":"ReplicationJob"} }, "ReplicationJobNotFoundException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"The specified Replication Job cannot be found.", + "documentation":"

    The specified replication job does not exist.

    ", "exception":true }, "ReplicationJobState":{ "type":"string", - "documentation":"Current state of Replication Job", "enum":[ "PENDING", "ACTIVE", "FAILED", "DELETING", - "DELETED" + "DELETED", + "COMPLETED", + "PAUSED_ON_FAILURE", + "FAILING" ] }, - "ReplicationJobStatusMessage":{ - "type":"string", - "documentation":"String describing current status of Replication Job" - }, - "ReplicationJobTerminated":{ - "type":"boolean", - "documentation":"An indicator of the Replication Job being deleted or failed." - }, + "ReplicationJobStatusMessage":{"type":"string"}, + "ReplicationJobTerminated":{"type":"boolean"}, "ReplicationRun":{ "type":"structure", "members":{ - "replicationRunId":{"shape":"ReplicationRunId"}, - "state":{"shape":"ReplicationRunState"}, - "type":{"shape":"ReplicationRunType"}, - "statusMessage":{"shape":"ReplicationRunStatusMessage"}, - "amiId":{"shape":"AmiId"}, - "scheduledStartTime":{"shape":"Timestamp"}, - "completedTime":{"shape":"Timestamp"}, - "description":{"shape":"Description"} + "replicationRunId":{ + "shape":"ReplicationRunId", + "documentation":"

    The identifier of the replication run.

    " + }, + "state":{ + "shape":"ReplicationRunState", + "documentation":"

    The state of the replication run.

    " + }, + "type":{ + "shape":"ReplicationRunType", + "documentation":"

    The type of replication run.

    " + }, + "stageDetails":{ + "shape":"ReplicationRunStageDetails", + "documentation":"

    Details of the current stage of the replication run.

    " + }, + "statusMessage":{ + "shape":"ReplicationRunStatusMessage", + "documentation":"

    The description of the current status of the replication job.

    " + }, + "amiId":{ + "shape":"AmiId", + "documentation":"

    The identifier of the Amazon Machine Image (AMI) from the replication run.

    " + }, + "scheduledStartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the next replication run.

    " + }, + "completedTime":{ + "shape":"Timestamp", + "documentation":"

    The completion time of the last replication run.

    " + }, + "description":{ + "shape":"Description", + "documentation":"

    The description of the replication run.

    " + }, + "encrypted":{ + "shape":"Encrypted", + "documentation":"

    Whether the replication run should produce encrypted AMI or not. See also KmsKeyId below.

    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following:

    • KMS key ID

    • KMS key alias

    • ARN referring to KMS key ID

    • ARN referring to KMS key alias

    If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used.

    " + } }, - "documentation":"Object representing a Replication Run" - }, - "ReplicationRunId":{ - "type":"string", - "documentation":"The unique identifier for a Replication Run." + "documentation":"

    Represents a replication run.

    " }, + "ReplicationRunId":{"type":"string"}, "ReplicationRunLimitExceededException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"This user has exceeded the maximum allowed Replication Run limit.", + "documentation":"

    You have exceeded the number of on-demand replication runs you can request in a 24-hour period.

    ", "exception":true }, "ReplicationRunList":{ "type":"list", - "member":{ - "shape":"ReplicationRun", - "locationName":"item" + "member":{"shape":"ReplicationRun"} + }, + "ReplicationRunStage":{"type":"string"}, + "ReplicationRunStageDetails":{ + "type":"structure", + "members":{ + "stage":{ + "shape":"ReplicationRunStage", + "documentation":"

    String describing the current stage of a replication run.

    " + }, + "stageProgress":{ + "shape":"ReplicationRunStageProgress", + "documentation":"

    String describing the progress of the current stage of a replication run.

    " + } }, - "documentation":"List of Replication Runs" + "documentation":"

    Details of the current stage of a replication run.

    " }, + "ReplicationRunStageProgress":{"type":"string"}, "ReplicationRunState":{ "type":"string", - "documentation":"Current state of Replication Run", "enum":[ "PENDING", "MISSED", @@ -567,44 +1520,67 @@ "DELETED" ] }, - "ReplicationRunStatusMessage":{ - "type":"string", - "documentation":"String describing current status of Replication Run" - }, + "ReplicationRunStatusMessage":{"type":"string"}, "ReplicationRunType":{ "type":"string", - "documentation":"Type of Replication Run", "enum":[ "ON_DEMAND", "AUTOMATIC" ] }, - "RoleName":{ - "type":"string", - "documentation":"Name of service role in customer's account to be used by SMS service." + "RoleName":{"type":"string"}, + "RunOnce":{"type":"boolean"}, + "S3Location":{ + "type":"structure", + "members":{ + "bucket":{ + "shape":"BucketName", + "documentation":"

    Amazon S3 bucket name.

    " + }, + "key":{ + "shape":"KeyName", + "documentation":"

    Amazon S3 bucket key.

    " + } + }, + "documentation":"

    Location of the Amazon S3 object in the customer's account.

    " }, + "SecurityGroup":{"type":"string"}, "Server":{ "type":"structure", "members":{ - "serverId":{"shape":"ServerId"}, - "serverType":{"shape":"ServerType"}, - "vmServer":{"shape":"VmServer"}, - "replicationJobId":{"shape":"ReplicationJobId"}, - "replicationJobTerminated":{"shape":"ReplicationJobTerminated"} + "serverId":{ + "shape":"ServerId", + "documentation":"

    The identifier of the server.

    " + }, + "serverType":{ + "shape":"ServerType", + "documentation":"

    The type of server.

    " + }, + "vmServer":{ + "shape":"VmServer", + "documentation":"

    Information about the VM server.

    " + }, + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "replicationJobTerminated":{ + "shape":"ReplicationJobTerminated", + "documentation":"

    Indicates whether the replication job is deleted or failed.

    " + } }, - "documentation":"Object representing a server" + "documentation":"

    Represents a server.

    " }, "ServerCannotBeReplicatedException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"The provided server cannot be replicated.", + "documentation":"

    The specified server cannot be replicated.

    ", "exception":true }, "ServerCatalogStatus":{ "type":"string", - "documentation":"Status of Server catalog", "enum":[ "NOT_IMPORTED", "IMPORTING", @@ -613,59 +1589,370 @@ "EXPIRED" ] }, - "ServerId":{ - "type":"string", - "documentation":"Unique Identifier for a server" + "ServerGroup":{ + "type":"structure", + "members":{ + "serverGroupId":{ + "shape":"ServerGroupId", + "documentation":"

    Identifier of a server group.

    " + }, + "name":{ + "shape":"ServerGroupName", + "documentation":"

    Name of a server group.

    " + }, + "serverList":{ + "shape":"ServerList", + "documentation":"

    List of servers belonging to a server group.

    " + } + }, + "documentation":"

    A logical grouping of servers.

    " + }, + "ServerGroupId":{"type":"string"}, + "ServerGroupLaunchConfiguration":{ + "type":"structure", + "members":{ + "serverGroupId":{ + "shape":"ServerGroupId", + "documentation":"

    Identifier of the server group the launch configuration is associated with.

    " + }, + "launchOrder":{ + "shape":"LaunchOrder", + "documentation":"

    Launch order of servers in the server group.

    " + }, + "serverLaunchConfigurations":{ + "shape":"ServerLaunchConfigurations", + "documentation":"

    Launch configuration for servers in the server group.

    " + } + }, + "documentation":"

    Launch configuration for a server group.

    " + }, + "ServerGroupLaunchConfigurations":{ + "type":"list", + "member":{"shape":"ServerGroupLaunchConfiguration"} + }, + "ServerGroupName":{"type":"string"}, + "ServerGroupReplicationConfiguration":{ + "type":"structure", + "members":{ + "serverGroupId":{ + "shape":"ServerGroupId", + "documentation":"

    Identifier of the server group this replication configuration is associated with.

    " + }, + "serverReplicationConfigurations":{ + "shape":"ServerReplicationConfigurations", + "documentation":"

    Replication configuration for servers in the server group.

    " + } + }, + "documentation":"

    Replication configuration for a server group.

    " + }, + "ServerGroupReplicationConfigurations":{ + "type":"list", + "member":{"shape":"ServerGroupReplicationConfiguration"} + }, + "ServerGroups":{ + "type":"list", + "member":{"shape":"ServerGroup"} + }, + "ServerId":{"type":"string"}, + "ServerLaunchConfiguration":{ + "type":"structure", + "members":{ + "server":{ + "shape":"Server", + "documentation":"

    Identifier of the server the launch configuration is associated with.

    " + }, + "logicalId":{ + "shape":"LogicalId", + "documentation":"

    Logical ID of the server in the Amazon CloudFormation template.

    " + }, + "vpc":{ + "shape":"VPC", + "documentation":"

    Identifier of the VPC the server should be launched into.

    " + }, + "subnet":{ + "shape":"Subnet", + "documentation":"

    Identifier of the subnet the server should be launched into.

    " + }, + "securityGroup":{ + "shape":"SecurityGroup", + "documentation":"

    Identifier of the security group that applies to the launched server.

    " + }, + "ec2KeyName":{ + "shape":"EC2KeyName", + "documentation":"

    Name of the EC2 SSH Key to be used for connecting to the launched server.

    " + }, + "userData":{ + "shape":"UserData", + "documentation":"

    Location of the user-data script to be executed when launching the server.

    " + }, + "instanceType":{ + "shape":"InstanceType", + "documentation":"

    Instance type to be used for launching the server.

    " + }, + "associatePublicIpAddress":{ + "shape":"AssociatePublicIpAddress", + "documentation":"

    If true, a publicly accessible IP address is created when launching the server.

    " + } + }, + "documentation":"

    Launch configuration for a server.

    " + }, + "ServerLaunchConfigurations":{ + "type":"list", + "member":{"shape":"ServerLaunchConfiguration"} }, "ServerList":{ "type":"list", - "member":{ - "shape":"Server", - "locationName":"item" + "member":{"shape":"Server"} + }, + "ServerReplicationConfiguration":{ + "type":"structure", + "members":{ + "server":{ + "shape":"Server", + "documentation":"

    Identifier of the server this replication configuration is associated with.

    " + }, + "serverReplicationParameters":{ + "shape":"ServerReplicationParameters", + "documentation":"

    Parameters for replicating the server.

    " + } + }, + "documentation":"

    Replication configuration of a server.

    " + }, + "ServerReplicationConfigurations":{ + "type":"list", + "member":{"shape":"ServerReplicationConfiguration"} + }, + "ServerReplicationParameters":{ + "type":"structure", + "members":{ + "seedTime":{ + "shape":"Timestamp", + "documentation":"

    Seed time for creating a replication job for the server.

    " + }, + "frequency":{ + "shape":"Frequency", + "documentation":"

    Frequency of creating replication jobs for the server.

    " + }, + "runOnce":{ + "shape":"RunOnce", + "documentation":"

    " + }, + "licenseType":{ + "shape":"LicenseType", + "documentation":"

    License type for creating a replication job for the server.

    " + }, + "numberOfRecentAmisToKeep":{ + "shape":"NumberOfRecentAmisToKeep", + "documentation":"

    Number of recent AMIs to keep when creating a replication job for this server.

    " + }, + "encrypted":{ + "shape":"Encrypted", + "documentation":"

    When true, the replication job produces encrypted AMIs. See also KmsKeyId below.

    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following:

    • KMS key ID

    • KMS key alias

    • ARN referring to KMS key ID

    • ARN referring to KMS key alias

    If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used.

    " + } }, - "documentation":"List of servers from catalog" + "documentation":"

    Replication parameters for replicating a server.

    " }, "ServerType":{ "type":"string", - "documentation":"Type of server.", "enum":["VIRTUAL_MACHINE"] }, + "StackId":{"type":"string"}, + "StackName":{"type":"string"}, + "StartAppReplicationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to replicate.

    " + } + } + }, + "StartAppReplicationResponse":{ + "type":"structure", + "members":{ + } + }, "StartOnDemandReplicationRunRequest":{ "type":"structure", "required":["replicationJobId"], "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "description":{"shape":"Description"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "description":{ + "shape":"Description", + "documentation":"

    The description of the replication run.

    " + } } }, "StartOnDemandReplicationRunResponse":{ "type":"structure", "members":{ - "replicationRunId":{"shape":"ReplicationRunId"} + "replicationRunId":{ + "shape":"ReplicationRunId", + "documentation":"

    The identifier of the replication run.

    " + } + } + }, + "StopAppReplicationRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to stop replicating.

    " + } + } + }, + "StopAppReplicationResponse":{ + "type":"structure", + "members":{ + } + }, + "Subnet":{"type":"string"}, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

    Tag key.

    " + }, + "value":{ + "shape":"TagValue", + "documentation":"

    Tag value.

    " + } + }, + "documentation":"

    A label that can be assigned to an application.

    " + }, + "TagKey":{"type":"string"}, + "TagValue":{"type":"string"}, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TemporarilyUnavailableException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The service is temporarily unavailable.

    ", + "exception":true, + "fault":true + }, + "TerminateAppRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to terminate.

    " + } } }, - "Timestamp":{ - "type":"timestamp", - "documentation":"Timestamp of an operation" + "TerminateAppResponse":{ + "type":"structure", + "members":{ + } }, + "Timestamp":{"type":"timestamp"}, + "TotalServerGroups":{"type":"integer"}, + "TotalServers":{"type":"integer"}, "UnauthorizedOperationException":{ "type":"structure", "members":{ "message":{"shape":"ErrorMessage"} }, - "documentation":"This user does not have permissions to perform this operation.", + "documentation":"

    You lack permissions needed to perform this operation. Check your IAM policies, and ensure that you are using the correct access keys.

    ", "exception":true }, + "UpdateAppRequest":{ + "type":"structure", + "members":{ + "appId":{ + "shape":"AppId", + "documentation":"

    ID of the application to update.

    " + }, + "name":{ + "shape":"AppName", + "documentation":"

    New name of the application.

    " + }, + "description":{ + "shape":"AppDescription", + "documentation":"

    New description of the application.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    Name of the service role in the customer's account used by AWS SMS.

    " + }, + "serverGroups":{ + "shape":"ServerGroups", + "documentation":"

    List of server groups in the application to update.

    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

    List of tags to associate with the application.

    " + } + } + }, + "UpdateAppResponse":{ + "type":"structure", + "members":{ + "appSummary":{ + "shape":"AppSummary", + "documentation":"

    Summary description of the application.

    " + }, + "serverGroups":{ + "shape":"ServerGroups", + "documentation":"

    List of updated server groups in the application.

    " + }, + "tags":{ + "shape":"Tags", + "documentation":"

    List of tags associated with the application.

    " + } + } + }, "UpdateReplicationJobRequest":{ "type":"structure", "required":["replicationJobId"], "members":{ - "replicationJobId":{"shape":"ReplicationJobId"}, - "frequency":{"shape":"Frequency"}, - "nextReplicationRunStartTime":{"shape":"Timestamp"}, - "licenseType":{"shape":"LicenseType"}, - "roleName":{"shape":"RoleName"}, - "description":{"shape":"Description"} + "replicationJobId":{ + "shape":"ReplicationJobId", + "documentation":"

    The identifier of the replication job.

    " + }, + "frequency":{ + "shape":"Frequency", + "documentation":"

    The time between consecutive replication runs, in hours.

    " + }, + "nextReplicationRunStartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the next replication run.

    " + }, + "licenseType":{ + "shape":"LicenseType", + "documentation":"

    The license type to be used for the AMI created by a successful replication run.

    " + }, + "roleName":{ + "shape":"RoleName", + "documentation":"

    The name of the IAM role to be used by AWS SMS.

    " + }, + "description":{ + "shape":"Description", + "documentation":"

    The description of the replication job.

    " + }, + "numberOfRecentAmisToKeep":{ + "shape":"NumberOfRecentAmisToKeep", + "documentation":"

    The maximum number of SMS-created AMIs to retain. The oldest will be deleted once the maximum number is reached and a new AMI is created.

    " + }, + "encrypted":{ + "shape":"Encrypted", + "documentation":"

    When true, the replication job produces encrypted AMIs . See also KmsKeyId below.

    " + }, + "kmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"

    KMS key ID for replication jobs that produce encrypted AMIs. Can be any of the following:

    • KMS key ID

    • KMS key alias

    • ARN referring to KMS key ID

    • ARN referring to KMS key alias

    If encrypted is true but a KMS key id is not specified, the customer's default KMS key for EBS is used.

    " + } } }, "UpdateReplicationJobResponse":{ @@ -673,50 +1960,74 @@ "members":{ } }, - "VmId":{ - "type":"string", - "documentation":"Unique Identifier for a VM" - }, - "VmManagerId":{ - "type":"string", - "documentation":"Unique Identifier for VM Manager" - }, - "VmManagerName":{ - "type":"string", - "documentation":"VM Manager Name" + "UserData":{ + "type":"structure", + "members":{ + "s3Location":{ + "shape":"S3Location", + "documentation":"

    Amazon S3 location of the user-data script.

    " + } + }, + "documentation":"

    A script that runs on first launch of an Amazon EC2 instance. Used for configuring the server during launch.

    " }, + "VPC":{"type":"string"}, + "VmId":{"type":"string"}, + "VmManagerId":{"type":"string"}, + "VmManagerName":{"type":"string"}, "VmManagerType":{ "type":"string", - "documentation":"VM Management Product", - "enum":["VSPHERE"] - }, - "VmName":{ - "type":"string", - "documentation":"Name of Virtual Machine" - }, - "VmPath":{ - "type":"string", - "documentation":"Path to VM" + "enum":[ + "VSPHERE", + "SCVMM", + "HYPERV-MANAGER" + ] }, + "VmName":{"type":"string"}, + "VmPath":{"type":"string"}, "VmServer":{ "type":"structure", "members":{ - "vmServerAddress":{"shape":"VmServerAddress"}, - "vmName":{"shape":"VmName"}, - "vmManagerName":{"shape":"VmManagerName"}, - "vmManagerType":{"shape":"VmManagerType"}, - "vmPath":{"shape":"VmPath"} + "vmServerAddress":{ + "shape":"VmServerAddress", + "documentation":"

    Information about the VM server location.

    " + }, + "vmName":{ + "shape":"VmName", + "documentation":"

    The name of the VM.

    " + }, + "vmManagerName":{ + "shape":"VmManagerName", + "documentation":"

    The name of the VM manager.

    " + }, + "vmManagerType":{ + "shape":"VmManagerType", + "documentation":"

    The type of VM management product.

    " + }, + "vmPath":{ + "shape":"VmPath", + "documentation":"

    The VM folder path in the vCenter Server virtual machine inventory tree.

    " + } }, - "documentation":"Object representing a VM server" + "documentation":"

    Represents a VM server.

    " }, "VmServerAddress":{ "type":"structure", "members":{ - "vmManagerId":{"shape":"VmManagerId"}, - "vmId":{"shape":"VmId"} + "vmManagerId":{ + "shape":"VmManagerId", + "documentation":"

    The identifier of the VM manager.

    " + }, + "vmId":{ + "shape":"VmId", + "documentation":"

    The identifier of the VM.

    " + } }, - "documentation":"Object representing a server's location" + "documentation":"

    Represents a VM server location.

    " + }, + "VmServerAddressList":{ + "type":"list", + "member":{"shape":"VmServerAddress"} } }, - "documentation":"Amazon Server Migration Service automates the process of migrating servers to EC2." + "documentation":"AAWS Sever Migration Service

    This is the AWS Sever Migration Service API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types for the AWS Sever Migration Service (AWS SMS). The topic for each action shows the Query API request parameters and the XML response. You can also view the XML request elements in the WSDL.

    Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

    To learn more about the Server Migration Service, see the following resources:

    " } diff -Nru python-botocore-1.4.70/botocore/data/sms-voice/2018-09-05/service-2.json python-botocore-1.16.19+repack/botocore/data/sms-voice/2018-09-05/service-2.json --- python-botocore-1.4.70/botocore/data/sms-voice/2018-09-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sms-voice/2018-09-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,744 @@ +{ + "metadata" : { + "apiVersion" : "2018-09-05", + "endpointPrefix" : "sms-voice.pinpoint", + "signingName" : "sms-voice", + "serviceAbbreviation":"Pinpoint SMS Voice", + "serviceFullName" : "Amazon Pinpoint SMS and Voice Service", + "serviceId" : "Pinpoint SMS Voice", + "protocol" : "rest-json", + "jsonVersion" : "1.1", + "uid" : "pinpoint-sms-voice-2018-09-05", + "signatureVersion" : "v4" + }, + "operations" : { + "CreateConfigurationSet" : { + "name" : "CreateConfigurationSet", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetResponse", + "documentation" : "CreateConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new configuration set. After you create the configuration set, you can add one or more event destinations to it." + }, + "CreateConfigurationSetEventDestination" : { + "name" : "CreateConfigurationSetEventDestination", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "CreateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "CreateConfigurationSetEventDestinationResponse", + "documentation" : "CreateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "LimitExceededException", + "documentation" : "LimitExceededException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + }, { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "AlreadyExistsException", + "documentation" : "AlreadyExistsException" + } ], + "documentation" : "Create a new event destination in a configuration set." + }, + "DeleteConfigurationSet" : { + "name" : "DeleteConfigurationSet", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetResponse", + "documentation" : "DeleteConfigurationSetResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an existing configuration set." + }, + "DeleteConfigurationSetEventDestination" : { + "name" : "DeleteConfigurationSetEventDestination", + "http" : { + "method" : "DELETE", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "DeleteConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "DeleteConfigurationSetEventDestinationResponse", + "documentation" : "DeleteConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Deletes an event destination in a configuration set." + }, + "GetConfigurationSetEventDestinations" : { + "name" : "GetConfigurationSetEventDestinations", + "http" : { + "method" : "GET", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations", + "responseCode" : 200 + }, + "input" : { + "shape" : "GetConfigurationSetEventDestinationsRequest" + }, + "output" : { + "shape" : "GetConfigurationSetEventDestinationsResponse", + "documentation" : "GetConfigurationSetEventDestinationsResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Obtain information about an event destination, including the types of events it reports, the Amazon Resource Name (ARN) of the destination, and the name of the event destination." + }, + "ListConfigurationSets" : { + "name" : "ListConfigurationSets", + "http" : { + "method" : "GET", + "requestUri" : "/v1/sms-voice/configuration-sets", + "responseCode" : 200 + }, + "input" : { + "shape" : "ListConfigurationSetsRequest" + }, + "output" : { + "shape" : "ListConfigurationSetsResponse", + "documentation" : "ListConfigurationSetsResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "List all of the configuration sets associated with your Amazon Pinpoint account in the current region." + }, + "SendVoiceMessage" : { + "name" : "SendVoiceMessage", + "http" : { + "method" : "POST", + "requestUri" : "/v1/sms-voice/voice/message", + "responseCode" : 200 + }, + "input" : { + "shape" : "SendVoiceMessageRequest" + }, + "output" : { + "shape" : "SendVoiceMessageResponse", + "documentation" : "SendVoiceMessageResponse" + }, + "errors" : [ { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Create a new voice message and send it to a recipient's phone number." + }, + "UpdateConfigurationSetEventDestination" : { + "name" : "UpdateConfigurationSetEventDestination", + "http" : { + "method" : "PUT", + "requestUri" : "/v1/sms-voice/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}", + "responseCode" : 200 + }, + "input" : { + "shape" : "UpdateConfigurationSetEventDestinationRequest" + }, + "output" : { + "shape" : "UpdateConfigurationSetEventDestinationResponse", + "documentation" : "UpdateConfigurationSetEventDestinationResponse" + }, + "errors" : [ { + "shape" : "NotFoundException", + "documentation" : "NotFoundException" + }, { + "shape" : "TooManyRequestsException", + "documentation" : "TooManyRequestsException" + }, { + "shape" : "BadRequestException", + "documentation" : "BadRequestException" + }, { + "shape" : "InternalServiceErrorException", + "documentation" : "InternalServiceErrorException" + } ], + "documentation" : "Update an event destination in a configuration set. An event destination is a location that you publish information about your voice calls to. For example, you can log an event to an Amazon CloudWatch destination when a call fails." + } + }, + "shapes" : { + "AlreadyExistsException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The resource specified in your request already exists.", + "exception" : true, + "error" : { + "httpStatusCode" : 409 + } + }, + "BadRequestException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The input you provided is invalid.", + "exception" : true, + "error" : { + "httpStatusCode" : 400 + } + }, + "Boolean" : { + "type" : "boolean" + }, + "CallInstructionsMessageType" : { + "type" : "structure", + "members" : { + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains text formatted using Amazon Pinpoint Voice Instructions markup.", + "required" : [ ] + }, + "CloudWatchLogsDestination" : { + "type" : "structure", + "members" : { + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an Amazon Identity and Access Management (IAM) role that is able to write event data to an Amazon CloudWatch destination." + }, + "LogGroupArn" : { + "shape" : "String", + "documentation" : "The name of the Amazon CloudWatch Log Group that you want to record events in." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon CloudWatch Logs.", + "required" : [ ] + }, + "ConfigurationSets" : { + "type" : "list", + "documentation" : "An array that contains all of the configuration sets in your Amazon Pinpoint account in the current AWS Region.", + "member" : { + "shape" : "WordCharactersWithDelimiters" + } + }, + "CreateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "NonEmptyString", + "documentation" : "A name that identifies the event destination." + } + }, + "documentation" : "Create a new event destination in a configuration set.", + "required" : [ "ConfigurationSetName" ] + }, + "CreateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was created successfully." + }, + "CreateConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name that you want to give the configuration set." + } + }, + "documentation" : "A request to create a new configuration set." + }, + "CreateConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was successfully created." + }, + "DeleteConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "DeleteConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was deleted successfully." + }, + "DeleteConfigurationSetRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "DeleteConfigurationSetResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the configuration set was deleted successfully." + }, + "EventDestination" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "Name" : { + "shape" : "String", + "documentation" : "A name that identifies the event destination configuration." + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines an event destination." + }, + "EventDestinationDefinition" : { + "type" : "structure", + "members" : { + "CloudWatchLogsDestination" : { + "shape" : "CloudWatchLogsDestination" + }, + "Enabled" : { + "shape" : "Boolean", + "documentation" : "Indicates whether or not the event destination is enabled. If the event destination is enabled, then Amazon Pinpoint sends response data to the specified event destination." + }, + "KinesisFirehoseDestination" : { + "shape" : "KinesisFirehoseDestination" + }, + "MatchingEventTypes" : { + "shape" : "EventTypes" + }, + "SnsDestination" : { + "shape" : "SnsDestination" + } + }, + "documentation" : "An object that defines a single event destination.", + "required" : [ ] + }, + "EventDestinations" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventDestination" + } + }, + "EventType" : { + "type" : "string", + "documentation" : "The types of events that are sent to the event destination.", + "enum" : [ "INITIATED_CALL", "RINGING", "ANSWERED", "COMPLETED_CALL", "BUSY", "FAILED", "NO_ANSWER" ] + }, + "EventTypes" : { + "type" : "list", + "documentation" : "An array of EventDestination objects. Each EventDestination object includes ARNs and other information that define an event destination.", + "member" : { + "shape" : "EventType" + } + }, + "GetConfigurationSetEventDestinationsRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + } + }, + "required" : [ "ConfigurationSetName" ] + }, + "GetConfigurationSetEventDestinationsResponse" : { + "type" : "structure", + "members" : { + "EventDestinations" : { + "shape" : "EventDestinations" + } + }, + "documentation" : "An object that contains information about an event destination." + }, + "InternalServiceErrorException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.", + "exception" : true, + "error" : { + "httpStatusCode" : 500 + } + }, + "KinesisFirehoseDestination" : { + "type" : "structure", + "members" : { + "DeliveryStreamArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of an IAM role that can write data to an Amazon Kinesis Data Firehose stream." + }, + "IamRoleArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose destination that you want to use in the event destination." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon Kinesis Data Firehose.", + "required" : [ ] + }, + "LimitExceededException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "There are too many instances of the specified resource type.", + "exception" : true, + "error" : { + "httpStatusCode" : 412 + } + }, + "ListConfigurationSetsRequest" : { + "type" : "structure", + "members" : { + "NextToken" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "NextToken", + "documentation" : "A token returned from a previous call to the API that indicates the position in the list of results." + }, + "PageSize" : { + "shape" : "__string", + "location" : "querystring", + "locationName" : "PageSize", + "documentation" : "Used to specify the number of items that should be returned in the response." + } + } + }, + "ListConfigurationSetsResponse" : { + "type" : "structure", + "members" : { + "ConfigurationSets" : { + "shape" : "ConfigurationSets", + "documentation" : "An object that contains a list of configuration sets for your account in the current region." + }, + "NextToken" : { + "shape" : "NextTokenString", + "documentation" : "A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets." + } + }, + "documentation": "An object that contains information about the configuration sets for your account in the current region." + }, + "NextTokenString" : { + "type" : "string" + }, + "NonEmptyString" : { + "type" : "string" + }, + "NotFoundException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "The resource you attempted to access doesn't exist.", + "exception" : true, + "error" : { + "httpStatusCode" : 404 + } + }, + "PlainTextMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The plain (not SSML-formatted) text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains unformatted text.", + "required" : [ ] + }, + "SSMLMessageType" : { + "type" : "structure", + "members" : { + "LanguageCode" : { + "shape" : "String", + "documentation" : "The language to use when delivering the message. For a complete list of supported languages, see the Amazon Polly Developer Guide." + }, + "Text" : { + "shape" : "NonEmptyString", + "documentation" : "The SSML-formatted text to deliver to the recipient." + }, + "VoiceId" : { + "shape" : "String", + "documentation" : "The name of the voice that you want to use to deliver the message. For a complete list of supported voices, see the Amazon Polly Developer Guide." + } + }, + "documentation" : "An object that defines a message that contains SSML-formatted text.", + "required" : [ ] + }, + "SendVoiceMessageRequest" : { + "type" : "structure", + "members" : { + "CallerId" : { + "shape" : "String", + "documentation" : "The phone number that appears on recipients' devices when they receive the message." + }, + "ConfigurationSetName" : { + "shape" : "WordCharactersWithDelimiters", + "documentation" : "The name of the configuration set that you want to use to send the message." + }, + "Content" : { + "shape" : "VoiceMessageContent" + }, + "DestinationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that you want to send the voice message to." + }, + "OriginationPhoneNumber" : { + "shape" : "NonEmptyString", + "documentation" : "The phone number that Amazon Pinpoint should use to send the voice message. This isn't necessarily the phone number that appears on recipients' devices when they receive the message, because you can specify a CallerId parameter in the request." + } + }, + "documentation" : "SendVoiceMessageRequest" + }, + "SendVoiceMessageResponse" : { + "type" : "structure", + "members" : { + "MessageId" : { + "shape" : "String", + "documentation" : "A unique identifier for the voice message." + } + }, + "documentation" : "An object that that contains the Message ID of a Voice message that was sent successfully." + }, + "SnsDestination" : { + "type" : "structure", + "members" : { + "TopicArn" : { + "shape" : "String", + "documentation" : "The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to." + } + }, + "documentation" : "An object that contains information about an event destination that sends data to Amazon SNS.", + "required" : [ ] + }, + "String" : { + "type" : "string" + }, + "TooManyRequestsException" : { + "type" : "structure", + "members" : { + "Message" : { + "shape" : "String" + } + }, + "documentation" : "You've issued too many requests to the resource. Wait a few minutes, and then try again.", + "exception" : true, + "error" : { + "httpStatusCode" : 429 + } + }, + "UpdateConfigurationSetEventDestinationRequest" : { + "type" : "structure", + "members" : { + "ConfigurationSetName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "ConfigurationSetName", + "documentation" : "ConfigurationSetName" + }, + "EventDestination" : { + "shape" : "EventDestinationDefinition" + }, + "EventDestinationName" : { + "shape" : "__string", + "location" : "uri", + "locationName" : "EventDestinationName", + "documentation" : "EventDestinationName" + } + }, + "documentation" : "UpdateConfigurationSetEventDestinationRequest", + "required" : [ "EventDestinationName", "ConfigurationSetName" ] + }, + "UpdateConfigurationSetEventDestinationResponse" : { + "type" : "structure", + "members" : { }, + "documentation" : "An empty object that indicates that the event destination was updated successfully." + }, + "VoiceMessageContent" : { + "type" : "structure", + "members" : { + "CallInstructionsMessage" : { + "shape" : "CallInstructionsMessageType" + }, + "PlainTextMessage" : { + "shape" : "PlainTextMessageType" + }, + "SSMLMessage" : { + "shape" : "SSMLMessageType" + } + }, + "documentation" : "An object that contains a voice message and information about the recipient that you want to send it to." + }, + "WordCharactersWithDelimiters" : { + "type" : "string" + }, + "__boolean" : { + "type" : "boolean" + }, + "__double" : { + "type" : "double" + }, + "__integer" : { + "type" : "integer" + }, + "__long" : { + "type" : "long" + }, + "__string" : { + "type" : "string" + }, + "__timestampIso8601" : { + "type" : "timestamp", + "timestampFormat" : "iso8601" + }, + "__timestampUnix" : { + "type" : "timestamp", + "timestampFormat" : "unixTimestamp" + } + }, + "documentation" : "Pinpoint SMS and Voice Messaging public facing APIs" +} \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/data/snowball/2016-06-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/examples-1.json --- python-botocore-1.4.70/botocore/data/snowball/2016-06-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,442 @@ +{ + "version": "1.0", + "examples": { + "CancelCluster": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "This operation cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status.", + "id": "to-cancel-a-cluster-job-1482533760554", + "title": "To cancel a cluster job" + } + ], + "CancelJob": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "This operation cancels a job. You can only cancel a job before its JobState value changes to PreparingAppliance.", + "id": "to-cancel-a-job-for-a-snowball-device-1482534699477", + "title": "To cancel a job for a Snowball device" + } + ], + "CreateAddress": [ + { + "input": { + "Address": { + "City": "Seattle", + "Company": "My Company's Name", + "Country": "USA", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + }, + "output": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b" + }, + "comments": { + }, + "description": "This operation creates an address for a job. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.", + "id": "to-create-an-address-for-a-job-1482535416294", + "title": "To create an address for a job" + } + ], + "CreateCluster": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "MyCluster", + "JobType": "LOCAL_USE", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY", + "SnowballType": "EDGE" + }, + "output": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.", + "id": "to-create-a-cluster-1482864724077", + "title": "To create a cluster" + } + ], + "CreateJob": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "My Job", + "JobType": "IMPORT", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY", + "SnowballCapacityPreference": "T80", + "SnowballType": "STANDARD" + }, + "output": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "comments": { + }, + "description": "Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.", + "id": "to-create-a-job-1482864834886", + "title": "To create a job" + } + ], + "DescribeAddress": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b" + }, + "output": { + "Address": { + "AddressId": "ADID5643ec50-3eec-4eb3-9be6-9374c10eb51b", + "City": "Seattle", + "Company": "My Company", + "Country": "US", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + }, + "comments": { + }, + "description": "This operation describes an address for a job.", + "id": "to-describe-an-address-for-a-job-1482538608745", + "title": "To describe an address for a job" + } + ], + "DescribeAddresses": [ + { + "input": { + }, + "output": { + "Addresses": [ + { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "City": "Seattle", + "Company": "My Company", + "Country": "US", + "Name": "My Name", + "PhoneNumber": "425-555-5555", + "PostalCode": "98101", + "StateOrProvince": "WA", + "Street1": "123 Main Street" + } + ] + }, + "comments": { + }, + "description": "This operation describes all the addresses that you've created for AWS Snowball. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.", + "id": "to-describe-all-the-addresses-youve-created-for-aws-snowball-1482538936603", + "title": "To describe all the addresses you've created for AWS Snowball" + } + ], + "DescribeCluster": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "ClusterMetadata": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "ClusterState": "Pending", + "CreationDate": "1480475517.0", + "Description": "MyCluster", + "JobType": "LOCAL_USE", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingOption": "SECOND_DAY" + } + }, + "comments": { + }, + "description": "Returns information about a specific cluster including shipping information, cluster status, and other important metadata.", + "id": "to-describe-a-cluster-1482864218396", + "title": "To describe a cluster" + } + ], + "DescribeJob": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "JobMetadata": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "CreationDate": "1475626164", + "Description": "My Job", + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "IMPORT", + "KmsKeyARN": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-12ab-34cd-56ef-123456123456", + "Notification": { + "JobStatesToNotify": [ + + ], + "NotifyAll": false + }, + "Resources": { + "S3Resources": [ + { + "BucketArn": "arn:aws:s3:::MyBucket", + "KeyRange": { + } + } + ] + }, + "RoleARN": "arn:aws:iam::123456789012:role/snowball-import-S3-role", + "ShippingDetails": { + "ShippingOption": "SECOND_DAY" + }, + "SnowballCapacityPreference": "T80", + "SnowballType": "STANDARD" + } + }, + "comments": { + }, + "description": "This operation describes a job you've created for AWS Snowball.", + "id": "to-describe-a-job-youve-created-for-aws-snowball-1482539500180", + "title": "To describe a job you've created for AWS Snowball" + } + ], + "GetJobManifest": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "ManifestURI": "https://awsie-frosty-manifests-prod.s3.amazonaws.com/JID123e4567-e89b-12d3-a456-426655440000_manifest.bin?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20161224T005115Z&X-Amz-SignedHeaders=..." + }, + "comments": { + }, + "description": "Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.\n\nThe manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time.\n\nAs a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.\n\nThe credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.", + "id": "to-get-the-manifest-for-a-job-youve-created-for-aws-snowball-1482540389246", + "title": "To get the manifest for a job you've created for AWS Snowball" + } + ], + "GetJobUnlockCode": [ + { + "input": { + "JobId": "JID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "UnlockCode": "12345-abcde-56789-fghij-01234" + }, + "comments": { + }, + "description": "Returns the UnlockCode code value for the specified job. A particular UnlockCode value can be accessed for up to 90 days after the associated job has been created.\n\nThe UnlockCode value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snowball through the Snowball client when the client is started for the first time.\n\nAs a best practice, we recommend that you don't save a copy of the UnlockCode in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.", + "id": "to-get-the-unlock-code-for-a-job-youve-created-for-aws-snowball-1482541987286", + "title": "To get the unlock code for a job you've created for AWS Snowball" + } + ], + "GetSnowballUsage": [ + { + "input": { + }, + "output": { + "SnowballLimit": 1, + "SnowballsInUse": 0 + }, + "comments": { + }, + "description": "Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use.\n\nThe default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.", + "id": "to-see-your-snowball-service-limit-and-the-number-of-snowballs-you-have-in-use-1482863394588", + "title": "To see your Snowball service limit and the number of Snowballs you have in use" + } + ], + "ListClusterJobs": [ + { + "input": { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000" + }, + "output": { + "JobListEntries": [ + { + "CreationDate": "1480475524.0", + "Description": "MyClustrer-node-001", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-002", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440001", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-003", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440002", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-004", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440003", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + }, + { + "CreationDate": "1480475525.0", + "Description": "MyClustrer-node-005", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440004", + "JobState": "New", + "JobType": "LOCAL_USE", + "SnowballType": "EDGE" + } + ] + }, + "comments": { + }, + "description": "Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.", + "id": "to-get-a-list-of-jobs-in-a-cluster-that-youve-created-for-aws-snowball-1482863105773", + "title": "To get a list of jobs in a cluster that you've created for AWS Snowball" + } + ], + "ListClusters": [ + { + "input": { + }, + "output": { + "ClusterListEntries": [ + { + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "ClusterState": "Pending", + "CreationDate": "1480475517.0", + "Description": "MyCluster" + } + ] + }, + "comments": { + }, + "description": "Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.", + "id": "to-get-a-list-of-clusters-that-youve-created-for-aws-snowball-1482862223003", + "title": "To get a list of clusters that you've created for AWS Snowball" + } + ], + "ListJobs": [ + { + "input": { + }, + "output": { + "JobListEntries": [ + { + "CreationDate": "1460678186.0", + "Description": "MyJob", + "IsMaster": false, + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "JobState": "New", + "JobType": "IMPORT", + "SnowballType": "STANDARD" + } + ] + }, + "comments": { + }, + "description": "Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.", + "id": "to-get-a-list-of-jobs-that-youve-created-for-aws-snowball-1482542167627", + "title": "To get a list of jobs that you've created for AWS Snowball" + } + ], + "UpdateCluster": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "ClusterId": "CID123e4567-e89b-12d3-a456-426655440000", + "Description": "Updated the address to send this to image processing - RJ" + }, + "comments": { + }, + "description": "This action allows you to update certain parameters for a cluster. Once the cluster changes to a different state, usually within 60 minutes of it being created, this action is no longer available.", + "id": "to-update-a-cluster-1482863900595", + "title": "To update a cluster" + } + ], + "UpdateJob": [ + { + "input": { + "AddressId": "ADID1234ab12-3eec-4eb3-9be6-9374c10eb51b", + "Description": "Upgraded to Edge, shipped to Finance Dept, and requested faster shipping speed - TS.", + "JobId": "JID123e4567-e89b-12d3-a456-426655440000", + "ShippingOption": "NEXT_DAY", + "SnowballCapacityPreference": "T100" + }, + "comments": { + }, + "description": "This action allows you to update certain parameters for a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.", + "id": "to-update-a-job-1482863556886", + "title": "To update a job" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/snowball/2016-06-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/snowball/2016-06-30/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListJobs": { + "limit_key": "MaxResults", + "output_token": "NextToken", + "input_token": "NextToken", + "result_key": "JobListEntries" + }, + "DescribeAddresses": { + "limit_key": "MaxResults", + "output_token": "NextToken", + "input_token": "NextToken", + "result_key": "Addresses" + }, + "ListClusterJobs": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "JobListEntries" + }, + "ListClusters": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ClusterListEntries" + }, + "ListCompatibleImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "CompatibleImages" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/snowball/2016-06-30/service-2.json python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/service-2.json --- python-botocore-1.4.70/botocore/data/snowball/2016-06-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/snowball/2016-06-30/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,10 +7,27 @@ "protocol":"json", "serviceAbbreviation":"Amazon Snowball", "serviceFullName":"Amazon Import/Export Snowball", + "serviceId":"Snowball", "signatureVersion":"v4", - "targetPrefix":"AWSIESnowballJobManagementService" + "targetPrefix":"AWSIESnowballJobManagementService", + "uid":"snowball-2016-06-30" }, "operations":{ + "CancelCluster":{ + "name":"CancelCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelClusterRequest"}, + "output":{"shape":"CancelClusterResult"}, + "errors":[ + {"shape":"KMSRequestFailedException"}, + {"shape":"InvalidJobStateException"}, + {"shape":"InvalidResourceException"} + ], + "documentation":"

    Cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status. You'll have at least an hour after creating a cluster job to cancel it.

    " + }, "CancelJob":{ "name":"CancelJob", "http":{ @@ -24,7 +41,7 @@ {"shape":"InvalidJobStateException"}, {"shape":"KMSRequestFailedException"} ], - "documentation":"

    Cancels the specified job. Note that you can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action will return a job's JobState as part of the response element data returned.

    " + "documentation":"

    Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned.

    " }, "CreateAddress":{ "name":"CreateAddress", @@ -38,7 +55,23 @@ {"shape":"InvalidAddressException"}, {"shape":"UnsupportedAddressException"} ], - "documentation":"

    Creates an address for a Snowball to be shipped to.

    Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

    " + "documentation":"

    Creates an address for a Snowball to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

    " + }, + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResult"}, + "errors":[ + {"shape":"InvalidResourceException"}, + {"shape":"KMSRequestFailedException"}, + {"shape":"InvalidInputCombinationException"}, + {"shape":"Ec2RequestFailedException"} + ], + "documentation":"

    Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.

    " }, "CreateJob":{ "name":"CreateJob", @@ -50,9 +83,12 @@ "output":{"shape":"CreateJobResult"}, "errors":[ {"shape":"InvalidResourceException"}, - {"shape":"KMSRequestFailedException"} + {"shape":"KMSRequestFailedException"}, + {"shape":"InvalidInputCombinationException"}, + {"shape":"ClusterLimitExceededException"}, + {"shape":"Ec2RequestFailedException"} ], - "documentation":"

    Creates a job to import or export data between Amazon S3 and your on-premises data center. Note that your AWS account must have the right trust policies and permissions in place to create a job for Snowball. For more information, see api-reference-policies.

    " + "documentation":"

    Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for Snowball. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

    " }, "DescribeAddress":{ "name":"DescribeAddress", @@ -76,10 +112,24 @@ "input":{"shape":"DescribeAddressesRequest"}, "output":{"shape":"DescribeAddressesResult"}, "errors":[ - {"shape":"InvalidResourceException"} + {"shape":"InvalidResourceException"}, + {"shape":"InvalidNextTokenException"} ], "documentation":"

    Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.

    " }, + "DescribeCluster":{ + "name":"DescribeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterRequest"}, + "output":{"shape":"DescribeClusterResult"}, + "errors":[ + {"shape":"InvalidResourceException"} + ], + "documentation":"

    Returns information about a specific cluster including shipping information, cluster status, and other important metadata.

    " + }, "DescribeJob":{ "name":"DescribeJob", "http":{ @@ -91,7 +141,7 @@ "errors":[ {"shape":"InvalidResourceException"} ], - "documentation":"

    Returns information about a specific job including shipping information, job status, and other important metadata.

    " + "documentation":"

    Returns information about a specific job including shipping information, job status, and other important metadata.

    " }, "GetJobManifest":{ "name":"GetJobManifest", @@ -105,7 +155,7 @@ {"shape":"InvalidResourceException"}, {"shape":"InvalidJobStateException"} ], - "documentation":"

    Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.

    The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time.

    As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.

    Note that the credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.

    " + "documentation":"

    Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.

    The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snowball through the Snowball client when the client is started for the first time.

    As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snowball associated with that job.

    The credentials of a given job, including its manifest file and unlock code, expire 90 days after the job is created.

    " }, "GetJobUnlockCode":{ "name":"GetJobUnlockCode", @@ -129,7 +179,62 @@ }, "input":{"shape":"GetSnowballUsageRequest"}, "output":{"shape":"GetSnowballUsageResult"}, - "documentation":"

    Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use.

    Note that the default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.

    " + "documentation":"

    Returns information about the Snowball service limit for your account, and also the number of Snowballs your account has in use.

    The default service limit for the number of Snowballs that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.

    " + }, + "GetSoftwareUpdates":{ + "name":"GetSoftwareUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSoftwareUpdatesRequest"}, + "output":{"shape":"GetSoftwareUpdatesResult"}, + "errors":[ + {"shape":"InvalidResourceException"}, + {"shape":"InvalidJobStateException"} + ], + "documentation":"

    Returns an Amazon S3 presigned URL for an update file associated with a specified JobId.

    " + }, + "ListClusterJobs":{ + "name":"ListClusterJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListClusterJobsRequest"}, + "output":{"shape":"ListClusterJobsResult"}, + "errors":[ + {"shape":"InvalidResourceException"}, + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

    Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.

    " + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListClustersRequest"}, + "output":{"shape":"ListClustersResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], + "documentation":"

    Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

    " + }, + "ListCompatibleImages":{ + "name":"ListCompatibleImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCompatibleImagesRequest"}, + "output":{"shape":"ListCompatibleImagesResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"}, + {"shape":"Ec2RequestFailedException"} + ], + "documentation":"

    This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your AWS account that would be supported for use on a Snowball Edge device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace.

    " }, "ListJobs":{ "name":"ListJobs", @@ -139,8 +244,28 @@ }, "input":{"shape":"ListJobsRequest"}, "output":{"shape":"ListJobsResult"}, + "errors":[ + {"shape":"InvalidNextTokenException"} + ], "documentation":"

    Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

    " }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterRequest"}, + "output":{"shape":"UpdateClusterResult"}, + "errors":[ + {"shape":"InvalidResourceException"}, + {"shape":"InvalidJobStateException"}, + {"shape":"KMSRequestFailedException"}, + {"shape":"InvalidInputCombinationException"}, + {"shape":"Ec2RequestFailedException"} + ], + "documentation":"

    While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.

    " + }, "UpdateJob":{ "name":"UpdateJob", "http":{ @@ -152,7 +277,10 @@ "errors":[ {"shape":"InvalidResourceException"}, {"shape":"InvalidJobStateException"}, - {"shape":"KMSRequestFailedException"} + {"shape":"KMSRequestFailedException"}, + {"shape":"InvalidInputCombinationException"}, + {"shape":"ClusterLimitExceededException"}, + {"shape":"Ec2RequestFailedException"} ], "documentation":"

    While a job's JobState value is New, you can update some of the information associated with a job. Once the job changes to a different job state, usually within 60 minutes of the job being created, this action is no longer available.

    " } @@ -195,11 +323,11 @@ }, "PrefectureOrDistrict":{ "shape":"String", - "documentation":"

    The prefecture or district in an address that a Snowball is to be delivered to.

    " + "documentation":"

    This field is no longer used and the value is ignored.

    " }, "Landmark":{ "shape":"String", - "documentation":"

    A landmark listed in an address that a Snowball is to be delivered to.

    " + "documentation":"

    This field is no longer used and the value is ignored.

    " }, "Country":{ "shape":"String", @@ -212,6 +340,10 @@ "PhoneNumber":{ "shape":"String", "documentation":"

    The phone number associated with an address that a Snowball is to be delivered to.

    " + }, + "IsRestricted":{ + "shape":"Boolean", + "documentation":"

    If the address you are creating is a primary address, then set this option to true. This field is not supported in most regions.

    " } }, "documentation":"

    The address that you want the Snowball or Snowballs associated with a specific job to be shipped to. Addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. Although no individual elements of the Address are required, if the address is invalid or unsupported, then an exception is thrown.

    " @@ -226,14 +358,35 @@ "type":"list", "member":{"shape":"Address"} }, + "AmiId":{ + "type":"string", + "max":21, + "min":12, + "pattern":"(ami-[0-9a-f]{8})|(ami-[0-9a-f]{17})" + }, "Boolean":{"type":"boolean"}, + "CancelClusterRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The 39-character ID for the cluster that you want to cancel, for example CID123e4567-e89b-12d3-a456-426655440000.

    " + } + } + }, + "CancelClusterResult":{ + "type":"structure", + "members":{ + } + }, "CancelJobRequest":{ "type":"structure", "required":["JobId"], "members":{ "JobId":{ "shape":"JobId", - "documentation":"

    The 39 character job ID for the job that you want to cancel, for example JID123e4567-e89b-12d3-a456-426655440000.

    " + "documentation":"

    The 39-character job ID for the job that you want to cancel, for example JID123e4567-e89b-12d3-a456-426655440000.

    " } } }, @@ -242,6 +395,136 @@ "members":{ } }, + "ClusterId":{ + "type":"string", + "max":39, + "min":39, + "pattern":"CID[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "ClusterLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Job creation failed. Currently, clusters support five nodes. If you have less than five nodes for your cluster and you have more nodes to create for this cluster, try again and create jobs until your cluster has exactly five notes.

    ", + "exception":true + }, + "ClusterListEntry":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"String", + "documentation":"

    The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.

    " + }, + "ClusterState":{ + "shape":"ClusterState", + "documentation":"

    The current state of this cluster. For information about the state of a specific node, see JobListEntry$JobState.

    " + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

    The creation date for this cluster.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    Defines an optional description of the cluster, for example Environmental Data Cluster-01.

    " + } + }, + "documentation":"

    Contains a cluster's state, a cluster's ID, and other important information.

    " + }, + "ClusterListEntryList":{ + "type":"list", + "member":{"shape":"ClusterListEntry"} + }, + "ClusterMetadata":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"String", + "documentation":"

    The automatically generated ID for a cluster.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    The optional description of the cluster.

    " + }, + "KmsKeyARN":{ + "shape":"KmsKeyARN", + "documentation":"

    The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the CreateKey API action in AWS Key Management Service (AWS KMS).

    " + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

    The role ARN associated with this cluster. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

    " + }, + "ClusterState":{ + "shape":"ClusterState", + "documentation":"

    The current status of the cluster.

    " + }, + "JobType":{ + "shape":"JobType", + "documentation":"

    The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE.

    " + }, + "SnowballType":{ + "shape":"SnowballType", + "documentation":"

    The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

    For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.

    " + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

    The creation date for this cluster.

    " + }, + "Resources":{ + "shape":"JobResource", + "documentation":"

    The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

    " + }, + "AddressId":{ + "shape":"AddressId", + "documentation":"

    The automatically generated ID for a specific address.

    " + }, + "ShippingOption":{ + "shape":"ShippingOption", + "documentation":"

    The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowball Edges are delivered in one to seven days.

    • In the US, you have access to one-day shipping and two-day shipping.

    " + }, + "Notification":{ + "shape":"Notification", + "documentation":"

    The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The ID of the address that you want a cluster shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

    " + }, + "TaxDocuments":{ + "shape":"TaxDocuments", + "documentation":"

    The tax documents required in your AWS Region.

    " + } + }, + "documentation":"

    Contains metadata about a specific cluster.

    " + }, + "ClusterState":{ + "type":"string", + "enum":[ + "AwaitingQuorum", + "Pending", + "InUse", + "Complete", + "Cancelled" + ] + }, + "CompatibleImage":{ + "type":"structure", + "members":{ + "AmiId":{ + "shape":"String", + "documentation":"

    The unique identifier for an individual Snowball Edge AMI.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The optional name of a compatible image.

    " + } + }, + "documentation":"

    A JSON-formatted object that describes a compatible Amazon Machine Image (AMI), including the ID and name for a Snowball Edge AMI. This AMI is compatible with the device's physical hardware requirements, and it should be able to be run in an SBE1 instance on the device.

    " + }, + "CompatibleImageList":{ + "type":"list", + "member":{"shape":"CompatibleImage"} + }, "CreateAddressRequest":{ "type":"structure", "required":["Address"], @@ -261,7 +544,7 @@ } } }, - "CreateJobRequest":{ + "CreateClusterRequest":{ "type":"structure", "required":[ "JobType", @@ -273,6 +556,64 @@ "members":{ "JobType":{ "shape":"JobType", + "documentation":"

    The type of job for this cluster. Currently, the only job type supported for clusters is LOCAL_USE.

    " + }, + "Resources":{ + "shape":"JobResource", + "documentation":"

    The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    An optional description of this specific cluster, for example Environmental Data Cluster-01.

    " + }, + "AddressId":{ + "shape":"AddressId", + "documentation":"

    The ID for the address that you want the cluster shipped to.

    " + }, + "KmsKeyARN":{ + "shape":"KmsKeyARN", + "documentation":"

    The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in AWS Key Management Service (AWS KMS).

    " + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

    The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in AWS Identity and Access Management (IAM).

    " + }, + "SnowballType":{ + "shape":"SnowballType", + "documentation":"

    The type of AWS Snowball device to use for this cluster. Currently, the only supported device type for cluster jobs is EDGE.

    For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.

    " + }, + "ShippingOption":{ + "shape":"ShippingOption", + "documentation":"

    The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, devices shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowball Edges shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowball Edges are delivered in one to seven days.

    • In the US, you have access to one-day shipping and two-day shipping.

    " + }, + "Notification":{ + "shape":"Notification", + "documentation":"

    The Amazon Simple Notification Service (Amazon SNS) notification settings for this cluster.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The forwarding address ID for a cluster. This field is not supported in most regions.

    " + }, + "TaxDocuments":{ + "shape":"TaxDocuments", + "documentation":"

    The tax documents required in your AWS Region.

    " + } + } + }, + "CreateClusterResult":{ + "type":"structure", + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The automatically generated ID for a cluster.

    " + } + } + }, + "CreateJobRequest":{ + "type":"structure", + "members":{ + "JobType":{ + "shape":"JobType", "documentation":"

    Defines the type of job that you're creating.

    " }, "Resources":{ @@ -289,11 +630,11 @@ }, "KmsKeyARN":{ "shape":"KmsKeyARN", - "documentation":"

    The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.

    " + "documentation":"

    The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.

    " }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

    The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.

    " + "documentation":"

    The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.

    " }, "SnowballCapacityPreference":{ "shape":"SnowballCapacity", @@ -301,11 +642,27 @@ }, "ShippingOption":{ "shape":"ShippingOption", - "documentation":"

    The shipping speed for this job. Note that this speed does not dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowballs are delivered in one to seven days.

    • In the US, you have access to one-day shipping and two-day shipping.

    " + "documentation":"

    The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snowball, rather it represents how quickly the Snowball moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowballs are delivered in one to seven days.

    • In the US, you have access to one-day shipping and two-day shipping.

    " }, "Notification":{ "shape":"Notification", "documentation":"

    Defines the Amazon Simple Notification Service (Amazon SNS) notification settings for this job.

    " + }, + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The ID of a cluster. If you're creating a job for a node in a cluster, you need to provide only this clusterId value. The other job attributes are inherited from the cluster.

    " + }, + "SnowballType":{ + "shape":"SnowballType", + "documentation":"

    The type of AWS Snowball device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.

    For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The forwarding address ID for a job. This field is not supported in most regions.

    " + }, + "TaxDocuments":{ + "shape":"TaxDocuments", + "documentation":"

    The tax documents required in your AWS Region.

    " } } }, @@ -338,7 +695,7 @@ "documentation":"

    The total number of objects for a transfer between a Snowball and Amazon S3. This value is set to 0 (zero) until all the keys that will be transferred have been listed.

    " } }, - "documentation":"

    Defines the real-time status of a Snowball's data transfer while the appliance is at AWS. Note that this data is only available while a job has a JobState value of InProgress, for both import and export jobs.

    " + "documentation":"

    Defines the real-time status of a Snowball's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

    " }, "DescribeAddressRequest":{ "type":"structure", @@ -385,6 +742,25 @@ } } }, + "DescribeClusterRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The automatically generated ID for a cluster.

    " + } + } + }, + "DescribeClusterResult":{ + "type":"structure", + "members":{ + "ClusterMetadata":{ + "shape":"ClusterMetadata", + "documentation":"

    Information about a specific cluster, including shipping information, cluster status, and other important metadata.

    " + } + } + }, "DescribeJobRequest":{ "type":"structure", "required":["JobId"], @@ -400,14 +776,59 @@ "members":{ "JobMetadata":{ "shape":"JobMetadata", - "documentation":"

    Information about a specific job, including shipping information, job status, and other important metadata.

    " + "documentation":"

    Information about a specific job, including shipping information, job status, and other important metadata.

    " }, "SubJobMetadata":{ "shape":"JobMetadataList", - "documentation":"

    Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata.

    " + "documentation":"

    Information about a specific job part (in the case of an export job), including shipping information, job status, and other important metadata.

    " } } }, + "Ec2AmiResource":{ + "type":"structure", + "required":["AmiId"], + "members":{ + "AmiId":{ + "shape":"AmiId", + "documentation":"

    The ID of the AMI in Amazon EC2.

    " + }, + "SnowballAmiId":{ + "shape":"String", + "documentation":"

    The ID of the AMI on the Snowball Edge device.

    " + } + }, + "documentation":"

    A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), including the Amazon EC2 AMI ID and the Snowball Edge AMI ID. Each AMI has these two IDs to simplify identifying the AMI in both the AWS Cloud and on the device.

    " + }, + "Ec2AmiResourceList":{ + "type":"list", + "member":{"shape":"Ec2AmiResource"} + }, + "Ec2RequestFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted action.

    ", + "exception":true + }, + "EventTriggerDefinition":{ + "type":"structure", + "members":{ + "EventResourceARN":{ + "shape":"ResourceARN", + "documentation":"

    The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job.

    " + } + }, + "documentation":"

    The container for the EventTriggerDefinition$EventResourceARN.

    " + }, + "EventTriggerDefinitionList":{ + "type":"list", + "member":{"shape":"EventTriggerDefinition"} + }, + "GSTIN":{ + "type":"string", + "pattern":"\\d{2}[A-Z]{5}\\d{4}[A-Z]{1}[A-Z\\d]{1}[Z]{1}[A-Z\\d]{1}" + }, "GetJobManifestRequest":{ "type":"structure", "required":["JobId"], @@ -464,6 +885,35 @@ } } }, + "GetSoftwareUpdatesRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID for a job that you want to get the software update file for, for example JID123e4567-e89b-12d3-a456-426655440000.

    " + } + } + }, + "GetSoftwareUpdatesResult":{ + "type":"structure", + "members":{ + "UpdatesURI":{ + "shape":"String", + "documentation":"

    The Amazon S3 presigned URL for the update file associated with the specified JobId value. The software update will be available for 2 days after this request is made. To access an update after the 2 days have passed, you'll have to make another call to GetSoftwareUpdates.

    " + } + } + }, + "INDTaxDocuments":{ + "type":"structure", + "members":{ + "GSTIN":{ + "shape":"GSTIN", + "documentation":"

    The Goods and Services Tax (GST) documents required in AWS Regions in India.

    " + } + }, + "documentation":"

    The tax documents required in AWS Regions in India.

    " + }, "Integer":{"type":"integer"}, "InvalidAddressException":{ "type":"structure", @@ -473,6 +923,14 @@ "documentation":"

    The address provided was invalid. Check the address with your region's carrier, and try again.

    ", "exception":true }, + "InvalidInputCombinationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Job or cluster creation failed. One ore more inputs were invalid. Confirm that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, and try again.

    ", + "exception":true + }, "InvalidJobStateException":{ "type":"structure", "members":{ @@ -481,11 +939,23 @@ "documentation":"

    The action can't be performed because the job's current state doesn't allow that action to be performed.

    ", "exception":true }, - "InvalidResourceException":{ + "InvalidNextTokenException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, + "documentation":"

    The NextToken string was altered unexpectedly, and the operation has stopped. Run the operation without changing the NextToken string, and try again.

    ", + "exception":true + }, + "InvalidResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "ResourceType":{ + "shape":"String", + "documentation":"

    The provided resource value is invalid.

    " + } + }, "documentation":"

    The specified resource can't be found. Check the information you provided in your last request, and try again.

    ", "exception":true }, @@ -509,6 +979,22 @@ "IsMaster":{ "shape":"Boolean", "documentation":"

    A value that indicates that this job is a master job. A master job represents a successful request to create an export job. Master jobs aren't associated with any Snowballs. Instead, each master job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular master job are listed, because they are created after the master job is created.

    " + }, + "JobType":{ + "shape":"JobType", + "documentation":"

    The type of job.

    " + }, + "SnowballType":{ + "shape":"SnowballType", + "documentation":"

    The type of device used with this job.

    " + }, + "CreationDate":{ + "shape":"Timestamp", + "documentation":"

    The creation date for this job.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    The optional description of this specific job, for example Important Photos 2016-08-11.

    " } }, "documentation":"

    Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of an export job.

    " @@ -544,12 +1030,16 @@ }, "JobState":{ "shape":"JobState", - "documentation":"

    The current state of the jobs.

    " + "documentation":"

    The current status of the jobs.

    " }, "JobType":{ "shape":"JobType", "documentation":"

    The type of job.

    " }, + "SnowballType":{ + "shape":"SnowballType", + "documentation":"

    The type of device used with this job.

    " + }, "CreationDate":{ "shape":"Timestamp", "documentation":"

    The creation date for this job.

    " @@ -564,11 +1054,11 @@ }, "KmsKeyARN":{ "shape":"KmsKeyARN", - "documentation":"

    The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the CreateKey API action in AWS KMS.

    " + "documentation":"

    The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the CreateKey API action in AWS KMS.

    " }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

    The role ARN associated with this job. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

    " + "documentation":"

    The role ARN associated with this job. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

    " }, "AddressId":{ "shape":"AddressId", @@ -588,11 +1078,23 @@ }, "DataTransferProgress":{ "shape":"DataTransfer", - "documentation":"

    A value that defines the real-time status of a Snowball's data transfer while the appliance is at AWS. Note that this data is only available while a job has a JobState value of InProgress, for both import and export jobs.

    " + "documentation":"

    A value that defines the real-time status of a Snowball's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

    " }, "JobLogInfo":{ "shape":"JobLogs", "documentation":"

    Links to Amazon S3 presigned URLs for the job report and logs. For import jobs, the PDF job report becomes available at the end of the import process. For export jobs, your job report typically becomes available while the Snowball for your job part is being delivered to you.

    " + }, + "ClusterId":{ + "shape":"String", + "documentation":"

    The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The ID of the address that you want a job shipped to, after it will be shipped to its primary address. This field is not supported in most regions.

    " + }, + "TaxDocuments":{ + "shape":"TaxDocuments", + "documentation":"

    The metadata associated with the tax documents required in your AWS Region.

    " } }, "documentation":"

    Contains information about a specific job including shipping information, job status, and other important metadata. This information is returned as a part of the response syntax of the DescribeJob action.

    " @@ -607,9 +1109,17 @@ "S3Resources":{ "shape":"S3ResourceList", "documentation":"

    An array of S3Resource objects.

    " + }, + "LambdaResources":{ + "shape":"LambdaResourceList", + "documentation":"

    The Python-language Lambda functions for this job.

    " + }, + "Ec2AmiResources":{ + "shape":"Ec2AmiResourceList", + "documentation":"

    The Amazon Machine Images (AMIs) associated with this job.

    " } }, - "documentation":"

    Contains an array of S3Resource objects. Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.

    " + "documentation":"

    Contains an array of AWS resource objects. Each object represents an Amazon S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based on Amazon EC2 that is associated with a particular job.

    " }, "JobState":{ "type":"string", @@ -620,6 +1130,7 @@ "InTransitToCustomer", "WithCustomer", "InTransitToAWS", + "WithAWSSortingFacility", "WithAWS", "InProgress", "Complete", @@ -636,7 +1147,8 @@ "type":"string", "enum":[ "IMPORT", - "EXPORT" + "EXPORT", + "LOCAL_USE" ] }, "KMSRequestFailedException":{ @@ -664,7 +1176,108 @@ "KmsKeyARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):kms:.*:[0-9]{12}:key/.*" + "pattern":"arn:aws.*:kms:.*:[0-9]{12}:key/.*" + }, + "LambdaResource":{ + "type":"structure", + "members":{ + "LambdaArn":{ + "shape":"ResourceARN", + "documentation":"

    An Amazon Resource Name (ARN) that represents an AWS Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.

    " + }, + "EventTriggers":{ + "shape":"EventTriggerDefinitionList", + "documentation":"

    The array of ARNs for S3Resource objects to trigger the LambdaResource objects associated with this job.

    " + } + }, + "documentation":"

    Identifies

    " + }, + "LambdaResourceList":{ + "type":"list", + "member":{"shape":"LambdaResource"} + }, + "ListClusterJobsRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.

    " + }, + "MaxResults":{ + "shape":"ListLimit", + "documentation":"

    The number of JobListEntry objects to return.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    HTTP requests are stateless. To identify what object comes \"next\" in the list of JobListEntry objects, you have the option of specifying NextToken as the starting point for your returned list.

    " + } + } + }, + "ListClusterJobsResult":{ + "type":"structure", + "members":{ + "JobListEntries":{ + "shape":"JobListEntryList", + "documentation":"

    Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    HTTP requests are stateless. If you use the automatically generated NextToken value in your next ListClusterJobsResult call, your list of returned jobs will start from this point in the array.

    " + } + } + }, + "ListClustersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ListLimit", + "documentation":"

    The number of ClusterListEntry objects to return.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    HTTP requests are stateless. To identify what object comes \"next\" in the list of ClusterListEntry objects, you have the option of specifying NextToken as the starting point for your returned list.

    " + } + } + }, + "ListClustersResult":{ + "type":"structure", + "members":{ + "ClusterListEntries":{ + "shape":"ClusterListEntryList", + "documentation":"

    Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    HTTP requests are stateless. If you use the automatically generated NextToken value in your next ClusterListEntry call, your list of returned clusters will start from this point in the array.

    " + } + } + }, + "ListCompatibleImagesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"ListLimit", + "documentation":"

    The maximum number of results for the list of compatible images. Currently, a Snowball Edge device can store 10 AMIs.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    HTTP requests are stateless. To identify what object comes \"next\" in the list of compatible images, you can specify a value for NextToken as the starting point for your list of returned images.

    " + } + } + }, + "ListCompatibleImagesResult":{ + "type":"structure", + "members":{ + "CompatibleImages":{ + "shape":"CompatibleImageList", + "documentation":"

    A JSON-formatted object that describes a compatible AMI, including the ID and name for a Snowball Edge AMI.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Because HTTP requests are stateless, this is the starting point for your next list of returned images.

    " + } + } }, "ListJobsRequest":{ "type":"structure", @@ -703,7 +1316,7 @@ "members":{ "SnsTopicARN":{ "shape":"SnsTopicARN", - "documentation":"

    The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action.

    Note that you can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the Subscribe AWS Simple Notification Service (SNS) API action.

    " + "documentation":"

    The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action.

    You can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the Subscribe AWS Simple Notification Service (SNS) API action.

    " }, "JobStatesToNotify":{ "shape":"JobStateList", @@ -718,13 +1331,12 @@ }, "ResourceARN":{ "type":"string", - "max":255, - "pattern":"arn:(aws|aws-us-gov):s3:::.*" + "max":255 }, "RoleARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):iam::[0-9]{12}:role/.*" + "pattern":"arn:aws.*:iam::[0-9]{12}:role/.*" }, "S3Resource":{ "type":"structure", @@ -749,7 +1361,7 @@ "members":{ "Status":{ "shape":"String", - "documentation":"

    Status information for a shipment. Valid statuses include NEW, IN_TRANSIT, and DELIVERED.

    " + "documentation":"

    Status information for a shipment.

    " }, "TrackingNumber":{ "shape":"String", @@ -763,15 +1375,15 @@ "members":{ "ShippingOption":{ "shape":"ShippingOption", - "documentation":"

    The shipping speed for a particular job. Note that this speed does not dictate how soon you'll get the Snowball from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowballs are delivered in one to seven days.

    • In the United States of America (US), you have access to one-day shipping and two-day shipping.

    " + "documentation":"

    The shipping speed for a particular job. This speed doesn't dictate how soon you'll get the Snowball from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

    • In Australia, you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day.

    • In the European Union (EU), you have access to express shipping. Typically, Snowballs shipped express are delivered in about a day. In addition, most countries in the EU have access to standard shipping, which typically takes less than a week, one way.

    • In India, Snowballs are delivered in one to seven days.

    • In the United States of America (US), you have access to one-day shipping and two-day shipping.

    " }, "InboundShipment":{ "shape":"Shipment", - "documentation":"

    The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job.

    " + "documentation":"

    The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job.

    " }, "OutboundShipment":{ "shape":"Shipment", - "documentation":"

    The Status and TrackingNumber values for a Snowball being returned to AWS for a particular job.

    " + "documentation":"

    The Status and TrackingNumber values for a Snowball being delivered to the address that you specified for a particular job.

    " } }, "documentation":"

    A job's shipping information, including inbound and outbound tracking numbers and shipping speed options.

    " @@ -790,19 +1402,41 @@ "enum":[ "T50", "T80", + "T100", + "T42", + "T98", "NoPreference" ] }, + "SnowballType":{ + "type":"string", + "enum":[ + "STANDARD", + "EDGE", + "EDGE_C", + "EDGE_CG", + "EDGE_S" + ] + }, "SnsTopicARN":{ "type":"string", "max":255, - "pattern":"arn:(aws|aws-us-gov):sns:.*:[0-9]{12}:.*" + "pattern":"arn:aws.*:sns:.*:[0-9]{12}:.*" }, "String":{ "type":"string", - "max":255, "min":1 }, + "TaxDocuments":{ + "type":"structure", + "members":{ + "IND":{ + "shape":"INDTaxDocuments", + "documentation":"

    The tax documents required in AWS Regions in India.

    " + } + }, + "documentation":"

    The tax documents required in your AWS Region.

    " + }, "Timestamp":{"type":"timestamp"}, "UnsupportedAddressException":{ "type":"structure", @@ -812,6 +1446,49 @@ "documentation":"

    The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact AWS Support.

    ", "exception":true }, + "UpdateClusterRequest":{ + "type":"structure", + "required":["ClusterId"], + "members":{ + "ClusterId":{ + "shape":"ClusterId", + "documentation":"

    The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000.

    " + }, + "RoleARN":{ + "shape":"RoleARN", + "documentation":"

    The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in AWS Identity and Access Management (IAM).

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    The updated description of this cluster.

    " + }, + "Resources":{ + "shape":"JobResource", + "documentation":"

    The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

    " + }, + "AddressId":{ + "shape":"AddressId", + "documentation":"

    The ID of the updated Address object.

    " + }, + "ShippingOption":{ + "shape":"ShippingOption", + "documentation":"

    The updated shipping option value of this cluster's ShippingDetails object.

    " + }, + "Notification":{ + "shape":"Notification", + "documentation":"

    The new or updated Notification object.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The updated ID for the forwarding address for a cluster. This field is not supported in most regions.

    " + } + } + }, + "UpdateClusterResult":{ + "type":"structure", + "members":{ + } + }, "UpdateJobRequest":{ "type":"structure", "required":["JobId"], @@ -822,7 +1499,7 @@ }, "RoleARN":{ "shape":"RoleARN", - "documentation":"

    The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRole AWS Identity and Access Management (IAM) API action.

    " + "documentation":"

    The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleAWS Identity and Access Management (IAM) API action.

    " }, "Notification":{ "shape":"Notification", @@ -830,7 +1507,7 @@ }, "Resources":{ "shape":"JobResource", - "documentation":"

    The updated S3Resource object (for a single Amazon S3 bucket or key range), or the updated JobResource object (for multiple buckets or key ranges).

    " + "documentation":"

    The updated JobResource object, or the updated JobResource object.

    " }, "AddressId":{ "shape":"AddressId", @@ -846,7 +1523,11 @@ }, "SnowballCapacityPreference":{ "shape":"SnowballCapacity", - "documentation":"

    The updated SnowballCapacityPreference of this job's JobMetadata object. Note that the 50 TB Snowballs are only available in the US regions.

    " + "documentation":"

    The updated SnowballCapacityPreference of this job's JobMetadata object. The 50 TB Snowballs are only available in the US regions.

    " + }, + "ForwardingAddressId":{ + "shape":"AddressId", + "documentation":"

    The updated ID for the forwarding address for a job. This field is not supported in most regions.

    " } } }, @@ -856,5 +1537,5 @@ } } }, - "documentation":"

    AWS Import/Export Snowball is a petabyte-scale data transport solution that uses secure appliances to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball appliance, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the User Guide.

    " + "documentation":"

    AWS Snowball is a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snowball commands described here provide access to the same functionality that is available in the AWS Snowball Management Console, which enables you to create and manage jobs for Snowball. To transfer data locally with a Snowball device, you'll need to use the Snowball client or the Amazon S3 API adapter for Snowball. For more information, see the User Guide.

    " } diff -Nru python-botocore-1.4.70/botocore/data/sns/2010-03-31/examples-1.json python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/examples-1.json --- python-botocore-1.4.70/botocore/data/sns/2010-03-31/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/sns/2010-03-31/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/paginators-1.json --- python-botocore-1.4.70/botocore/data/sns/2010-03-31/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -24,6 +24,11 @@ "input_token": "NextToken", "output_token": "NextToken", "result_key": "Topics" + }, + "ListPhoneNumbersOptedOut": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "phoneNumbers" } } } diff -Nru python-botocore-1.4.70/botocore/data/sns/2010-03-31/service-2.json python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/service-2.json --- python-botocore-1.4.70/botocore/data/sns/2010-03-31/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sns/2010-03-31/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,7 +6,9 @@ "protocol":"query", "serviceAbbreviation":"Amazon SNS", "serviceFullName":"Amazon Simple Notification Service", + "serviceId":"SNS", "signatureVersion":"v4", + "uid":"sns-2010-03-31", "xmlNamespace":"http://sns.amazonaws.com/doc/2010-03-31/" }, "operations":{ @@ -60,7 +62,8 @@ {"shape":"InvalidParameterException"}, {"shape":"NotFoundException"}, {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"FilterPolicyLimitExceededException"} ], "documentation":"

    Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to \"true\".

    " }, @@ -80,7 +83,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Creates a platform application object for one of the supported push notification services, such as APNS and GCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".

    For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action. For more information, see Using Amazon SNS Mobile Push Notifications. For more information about obtaining the PlatformPrincipal and PlatformCredential for each of the supported push notification services, see Getting Started with Apple Push Notification Service, Getting Started with Amazon Device Messaging, Getting Started with Baidu Cloud Push, Getting Started with Google Cloud Messaging for Android, Getting Started with MPNS, or Getting Started with WNS.

    " + "documentation":"

    Creates a platform application object for one of the supported push notification services, such as APNS and FCM, to which devices and mobile apps may register. You must specify PlatformPrincipal and PlatformCredential attributes when using the CreatePlatformApplication action. The PlatformPrincipal is received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is \"SSL certificate\". For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\". The PlatformCredential is also received from the notification service. For WNS, PlatformPrincipal is \"Package Security Identifier\". For MPNS, PlatformPrincipal is \"TLS certificate\". For Baidu, PlatformPrincipal is \"API key\".

    For APNS/APNS_SANDBOX, PlatformCredential is \"private key\". For FCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\". For WNS, PlatformCredential is \"secret key\". For MPNS, PlatformCredential is \"private key\". For Baidu, PlatformCredential is \"secret key\". The PlatformApplicationArn that is returned when using CreatePlatformApplication is then used as an attribute for the CreatePlatformEndpoint action.

    " }, "CreatePlatformEndpoint":{ "name":"CreatePlatformEndpoint", @@ -99,7 +102,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

    When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.

    " + "documentation":"

    Creates an endpoint for a device and mobile app on one of the supported push notification services, such as FCM and APNS. CreatePlatformEndpoint requires the PlatformApplicationArn that is returned from CreatePlatformApplication. The EndpointArn that is returned when using CreatePlatformEndpoint can then be used by the Publish action to send a message to a mobile app or by the Subscribe action for subscription to a topic. The CreatePlatformEndpoint action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.

    When using CreatePlatformEndpoint with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.

    " }, "CreateTopic":{ "name":"CreateTopic", @@ -116,9 +119,14 @@ {"shape":"InvalidParameterException"}, {"shape":"TopicLimitExceededException"}, {"shape":"InternalErrorException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidSecurityException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"ConcurrentAccessException"} ], - "documentation":"

    Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see http://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

    " + "documentation":"

    Creates a topic to which notifications can be published. Users can create at most 100,000 topics. For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

    " }, "DeleteEndpoint":{ "name":"DeleteEndpoint", @@ -132,7 +140,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

    When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

    " + "documentation":"

    Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.

    When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.

    " }, "DeletePlatformApplication":{ "name":"DeletePlatformApplication", @@ -146,7 +154,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Deletes a platform application object for one of the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Deletes a platform application object for one of the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications.

    " }, "DeleteTopic":{ "name":"DeleteTopic", @@ -159,7 +167,10 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"ConcurrentAccessException"} ], "documentation":"

    Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.

    " }, @@ -180,7 +191,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Retrieves the endpoint attributes for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

    " }, "GetPlatformApplicationAttributes":{ "name":"GetPlatformApplicationAttributes", @@ -199,7 +210,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications.

    " }, "GetSMSAttributes":{ "name":"GetSMSAttributes", @@ -254,7 +265,8 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidSecurityException"} ], "documentation":"

    Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.

    " }, @@ -275,7 +287,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as FCM and APNS. The results for ListEndpointsByPlatformApplication are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

    This action is throttled at 30 transactions per second (TPS).

    " }, "ListPhoneNumbersOptedOut":{ "name":"ListPhoneNumbersOptedOut", @@ -312,7 +324,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Lists the platform application objects for the supported push notification services, such as APNS and GCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Lists the platform application objects for the supported push notification services, such as APNS and FCM. The results for ListPlatformApplications are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.

    This action is throttled at 15 transactions per second (TPS).

    " }, "ListSubscriptions":{ "name":"ListSubscriptions", @@ -330,7 +342,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results.

    " + "documentation":"

    Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results.

    This action is throttled at 30 transactions per second (TPS).

    " }, "ListSubscriptionsByTopic":{ "name":"ListSubscriptionsByTopic", @@ -349,7 +361,27 @@ {"shape":"NotFoundException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.

    " + "documentation":"

    Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.

    This action is throttled at 30 transactions per second (TPS).

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{ + "shape":"ListTagsForResourceResponse", + "resultWrapper":"ListTagsForResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} + ], + "documentation":"

    List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.

    " }, "ListTopics":{ "name":"ListTopics", @@ -367,7 +399,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.

    " + "documentation":"

    Returns a list of the requester's topics. Each call returns a limited list of topics, up to 100. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.

    This action is throttled at 30 transactions per second (TPS).

    " }, "OptInPhoneNumber":{ "name":"OptInPhoneNumber", @@ -406,9 +438,16 @@ {"shape":"NotFoundException"}, {"shape":"EndpointDisabledException"}, {"shape":"PlatformApplicationDisabledException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"KMSDisabledException"}, + {"shape":"KMSInvalidStateException"}, + {"shape":"KMSNotFoundException"}, + {"shape":"KMSOptInRequired"}, + {"shape":"KMSThrottlingException"}, + {"shape":"KMSAccessDeniedException"}, + {"shape":"InvalidSecurityException"} ], - "documentation":"

    Sends a message to all of a topic's subscribed endpoints. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it to the topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint depends on the notification protocol.

    To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

    For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

    " + "documentation":"

    Sends a message to an Amazon SNS topic or sends a text message (SMS message) directly to a phone number.

    If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is subscribed to the topic. The format of the message depends on the notification protocol for each subscribed endpoint.

    When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it shortly.

    To use the Publish action for sending a message to a mobile endpoint, such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for the TargetArn parameter. The EndpointArn is returned when making a call with the CreatePlatformEndpoint action.

    For more information about formatting messages, see Send Custom Platform-Specific Payloads in Messages to Mobile Devices.

    " }, "RemovePermission":{ "name":"RemovePermission", @@ -438,7 +477,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Sets the attributes for an endpoint for a device on one of the supported push notification services, such as GCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

    " + "documentation":"

    Sets the attributes for an endpoint for a device on one of the supported push notification services, such as FCM and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.

    " }, "SetPlatformApplicationAttributes":{ "name":"SetPlatformApplicationAttributes", @@ -453,7 +492,7 @@ {"shape":"AuthorizationErrorException"}, {"shape":"NotFoundException"} ], - "documentation":"

    Sets the attributes of the platform application object for the supported push notification services, such as APNS and GCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

    " + "documentation":"

    Sets the attributes of the platform application object for the supported push notification services, such as APNS and FCM. For more information, see Using Amazon SNS Mobile Push Notifications. For information on configuring attributes for message delivery status, see Using Amazon SNS Application Attributes for Message Delivery Status.

    " }, "SetSMSAttributes":{ "name":"SetSMSAttributes", @@ -472,7 +511,7 @@ {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

    You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.

    " + "documentation":"

    Use this request to set the default settings for sending SMS messages and receiving daily SMS usage reports.

    You can override some of these settings for a single message when you use the Publish action with the MessageAttributes.entry.N parameter. For more information, see Sending an SMS Message in the Amazon SNS Developer Guide.

    " }, "SetSubscriptionAttributes":{ "name":"SetSubscriptionAttributes", @@ -483,11 +522,12 @@ "input":{"shape":"SetSubscriptionAttributesInput"}, "errors":[ {"shape":"InvalidParameterException"}, + {"shape":"FilterPolicyLimitExceededException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, {"shape":"AuthorizationErrorException"} ], - "documentation":"

    Allows a subscription owner to set an attribute of the topic to a new value.

    " + "documentation":"

    Allows a subscription owner to set an attribute of the subscription to a new value.

    " }, "SetTopicAttributes":{ "name":"SetTopicAttributes", @@ -500,7 +540,8 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidSecurityException"} ], "documentation":"

    Allows a topic owner to set an attribute of the topic to a new value.

    " }, @@ -517,12 +558,36 @@ }, "errors":[ {"shape":"SubscriptionLimitExceededException"}, + {"shape":"FilterPolicyLimitExceededException"}, {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"NotFoundException"}, - {"shape":"AuthorizationErrorException"} + {"shape":"AuthorizationErrorException"}, + {"shape":"InvalidSecurityException"} + ], + "documentation":"

    Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

    This action is throttled at 100 transactions per second (TPS).

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{ + "shape":"TagResourceResponse", + "resultWrapper":"TagResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} ], - "documentation":"

    Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

    " + "documentation":"

    Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

    When you use topic tags, keep the following guidelines in mind:

    • Adding more than 50 tags to a topic isn't recommended.

    • Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.

    • Tags are case-sensitive.

    • A new tag with a key identical to that of an existing tag overwrites the existing tag.

    • Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request.

    " }, "Unsubscribe":{ "name":"Unsubscribe", @@ -535,9 +600,32 @@ {"shape":"InvalidParameterException"}, {"shape":"InternalErrorException"}, {"shape":"AuthorizationErrorException"}, - {"shape":"NotFoundException"} + {"shape":"NotFoundException"}, + {"shape":"InvalidSecurityException"} + ], + "documentation":"

    Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.

    This action is throttled at 100 transactions per second (TPS).

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{ + "shape":"UntagResourceResponse", + "resultWrapper":"UntagResourceResult" + }, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TagLimitExceededException"}, + {"shape":"StaleTagException"}, + {"shape":"TagPolicyException"}, + {"shape":"InvalidParameterException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ConcurrentAccessException"} ], - "documentation":"

    Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.

    " + "documentation":"

    Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.

    " } }, "shapes":{ @@ -568,10 +656,15 @@ }, "ActionName":{ "shape":"ActionsList", - "documentation":"

    The action you want to allow for the specified principal(s).

    Valid values: any Amazon SNS action name.

    " + "documentation":"

    The action you want to allow for the specified principal(s).

    Valid values: Any Amazon SNS action name, for example Publish.

    " } } }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, "AuthorizationErrorException":{ "type":"structure", "members":{ @@ -607,6 +700,19 @@ }, "documentation":"

    The response from the CheckIfPhoneNumberIsOptedOut action.

    " }, + "ConcurrentAccessException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    Can't perform multiple operations on a tag simultaneously. Perform the operations sequentially.

    ", + "error":{ + "code":"ConcurrentAccess", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ConfirmSubscriptionInput":{ "type":"structure", "required":[ @@ -663,11 +769,11 @@ }, "Platform":{ "shape":"String", - "documentation":"

    The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and GCM (Google Cloud Messaging).

    " + "documentation":"

    The following platforms are supported: ADM (Amazon Device Messaging), APNS (Apple Push Notification Service), APNS_SANDBOX, and FCM (Firebase Cloud Messaging).

    " }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

    For a list of attributes, see SetPlatformApplicationAttributes

    " + "documentation":"

    For a list of attributes, see SetPlatformApplicationAttributes

    " } }, "documentation":"

    Input for CreatePlatformApplication action.

    " @@ -695,7 +801,7 @@ }, "Token":{ "shape":"String", - "documentation":"

    Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using GCM or ADM, the device token equivalent is called the registration ID.

    " + "documentation":"

    Unique identifier created by the notification service for an app on a device. The specific name for Token will vary, depending on which notification service is being used. For example, when using APNS as the notification service, you need the device token. Alternatively, when using FCM or ADM, the device token equivalent is called the registration ID.

    " }, "CustomUserData":{ "shape":"String", @@ -703,7 +809,7 @@ }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

    For a list of attributes, see SetEndpointAttributes.

    " + "documentation":"

    For a list of attributes, see SetEndpointAttributes.

    " } }, "documentation":"

    Input for CreatePlatformEndpoint action.

    " @@ -715,6 +821,14 @@ "Name":{ "shape":"topicName", "documentation":"

    The name of the topic you want to create.

    Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.

    " + }, + "Attributes":{ + "shape":"TopicAttributesMap", + "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters that the CreateTopic action uses:

    • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

    • DisplayName – The display name to use for a topic with SMS subscriptions.

    • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

    The following attribute applies only to server-side-encryption:

    • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The list of tags to add to a new topic.

    To be able to tag a topic on creation, you must have the sns:CreateTopic and sns:TagResource permissions.

    " } }, "documentation":"

    Input for CreateTopic action.

    " @@ -795,6 +909,19 @@ }, "exception":true }, + "FilterPolicyLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    Indicates that the number of filter polices in your AWS account exceeds the limit. To add more filter polices, submit an SNS Limit Increase case in the AWS Support Center.

    ", + "error":{ + "code":"FilterPolicyLimitExceeded", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, "GetEndpointAttributesInput":{ "type":"structure", "required":["EndpointArn"], @@ -811,7 +938,7 @@ "members":{ "Attributes":{ "shape":"MapStringToString", - "documentation":"

    Attributes include the following:

    • CustomUserData -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

    • Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

    • Token -- device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

    " + "documentation":"

    Attributes include the following:

    • CustomUserData – arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

    • Enabled – flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

    • Token – device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

      The device token for the iOS platform is returned in lowercase.

    " } }, "documentation":"

    Response from GetEndpointAttributes of the EndpointArn.

    " @@ -832,7 +959,7 @@ "members":{ "Attributes":{ "shape":"MapStringToString", - "documentation":"

    Attributes include the following:

    • EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications should be sent.

    • EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications should be sent.

    • EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications should be sent.

    • EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

    " + "documentation":"

    Attributes include the following:

    • EventEndpointCreated – Topic ARN to which EndpointCreated event notifications should be sent.

    • EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications should be sent.

    • EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications should be sent.

    • EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

    " } }, "documentation":"

    Response for GetPlatformApplicationAttributes action.

    " @@ -842,7 +969,7 @@ "members":{ "attributes":{ "shape":"ListString", - "documentation":"

    A list of the individual attribute names, such as MonthlySpendLimit, for which you want values.

    For all attribute names, see SetSMSAttributes.

    If you don't use this parameter, Amazon SNS returns all SMS attributes.

    " + "documentation":"

    A list of the individual attribute names, such as MonthlySpendLimit, for which you want values.

    For all attribute names, see SetSMSAttributes.

    If you don't use this parameter, Amazon SNS returns all SMS attributes.

    " } }, "documentation":"

    The input for the GetSMSAttributes request.

    " @@ -873,7 +1000,7 @@ "members":{ "Attributes":{ "shape":"SubscriptionAttributesMap", - "documentation":"

    A map of the subscription's attributes. Attributes in this map include the following:

    • SubscriptionArn -- the subscription's ARN

    • TopicArn -- the topic ARN that the subscription is associated with

    • Owner -- the AWS account ID of the subscription's owner

    • ConfirmationWasAuthenticated -- true if the subscription confirmation request was authenticated

    • DeliveryPolicy -- the JSON serialization of the subscription's delivery policy

    • EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults

    " + "documentation":"

    A map of the subscription's attributes. Attributes in this map include the following:

    • ConfirmationWasAuthenticatedtrue if the subscription confirmation request was authenticated.

    • DeliveryPolicy – The JSON serialization of the subscription's delivery policy.

    • EffectiveDeliveryPolicy – The JSON serialization of the effective delivery policy that takes into account the topic delivery policy and account system defaults.

    • FilterPolicy – The filter policy JSON that is assigned to the subscription.

    • Owner – The AWS account ID of the subscription's owner.

    • PendingConfirmationtrue if the subscription hasn't been confirmed. To confirm a pending subscription, call the ConfirmSubscription action with a confirmation token.

    • RawMessageDeliverytrue if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints.

    • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

    • SubscriptionArn – The subscription's ARN.

    • TopicArn – The topic ARN that the subscription is associated with.

    " } }, "documentation":"

    Response for GetSubscriptionAttributes action.

    " @@ -894,7 +1021,7 @@ "members":{ "Attributes":{ "shape":"TopicAttributesMap", - "documentation":"

    A map of the topic's attributes. Attributes in this map include the following:

    • TopicArn -- the topic's ARN

    • Owner -- the AWS account ID of the topic's owner

    • Policy -- the JSON serialization of the topic's access control policy

    • DisplayName -- the human-readable name used in the \"From\" field for notifications to email and email-json endpoints

    • SubscriptionsPending -- the number of subscriptions pending confirmation on this topic

    • SubscriptionsConfirmed -- the number of confirmed subscriptions on this topic

    • SubscriptionsDeleted -- the number of deleted subscriptions on this topic

    • DeliveryPolicy -- the JSON serialization of the topic's delivery policy

    • EffectiveDeliveryPolicy -- the JSON serialization of the effective delivery policy that takes into account system defaults

    " + "documentation":"

    A map of the topic's attributes. Attributes in this map include the following:

    • DeliveryPolicy – The JSON serialization of the topic's delivery policy.

    • DisplayName – The human-readable name used in the From field for notifications to email and email-json endpoints.

    • Owner – The AWS account ID of the topic's owner.

    • Policy – The JSON serialization of the topic's access control policy.

    • SubscriptionsConfirmed – The number of confirmed subscriptions for the topic.

    • SubscriptionsDeleted – The number of deleted subscriptions for the topic.

    • SubscriptionsPending – The number of subscriptions pending confirmation for the topic.

    • TopicArn – The topic's ARN.

    • EffectiveDeliveryPolicy – Yhe JSON serialization of the effective delivery policy, taking system defaults into account.

    The following attribute applies only to server-side-encryption:

    • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

    " } }, "documentation":"

    Response for GetTopicAttributes action.

    " @@ -941,6 +1068,97 @@ }, "exception":true }, + "InvalidSecurityException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

    ", + "error":{ + "code":"InvalidSecurity", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "KMSAccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The ciphertext references a key that doesn't exist or that you don't have access to.

    ", + "error":{ + "code":"KMSAccessDenied", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSDisabledException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The request was rejected because the specified customer master key (CMK) isn't enabled.

    ", + "error":{ + "code":"KMSDisabled", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSInvalidStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

    ", + "error":{ + "code":"KMSInvalidState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The request was rejected because the specified entity or resource can't be found.

    ", + "error":{ + "code":"KMSNotFound", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "KMSOptInRequired":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The AWS access key ID needs a subscription for the service.

    ", + "error":{ + "code":"KMSOptInRequired", + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "KMSThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

    ", + "error":{ + "code":"KMSThrottling", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "ListEndpointsByPlatformApplicationInput":{ "type":"structure", "required":["PlatformApplicationArn"], @@ -1083,6 +1301,25 @@ }, "documentation":"

    Response for ListSubscriptions action

    " }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the topic for which to list tags.

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags associated with the specified topic.

    " + } + } + }, "ListTopicsInput":{ "type":"structure", "members":{ @@ -1128,18 +1365,18 @@ "members":{ "DataType":{ "shape":"String", - "documentation":"

    Amazon SNS supports the following logical data types: String, Number, and Binary. For more information, see Message Attribute Data Types.

    " + "documentation":"

    Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.

    " }, "StringValue":{ "shape":"String", - "documentation":"

    Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    " + "documentation":"

    Strings are Unicode with UTF8 binary encoding. For a list of code values, see ASCII Printable Characters.

    " }, "BinaryValue":{ "shape":"Binary", "documentation":"

    Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.

    " } }, - "documentation":"

    The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

    Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

    " + "documentation":"

    The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see Publish.

    Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes). For more information, see Using Amazon SNS Message Attributes.

    " }, "NotFoundException":{ "type":"structure", @@ -1216,7 +1453,7 @@ }, "TargetArn":{ "shape":"String", - "documentation":"

    Either TopicArn or EndpointArn, but not both.

    If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

    " + "documentation":"

    If you don't specify a value for the TargetArn parameter, you must specify a value for the PhoneNumber or TopicArn parameters.

    " }, "PhoneNumber":{ "shape":"String", @@ -1224,7 +1461,7 @@ }, "Message":{ "shape":"message", - "documentation":"

    The message you want to send to the topic.

    If you want to send the same message to all transport protocols, include the text of the message as a String value.

    If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

    Constraints: Messages must be UTF-8 encoded strings at most 256 KB in size (262144 bytes, not 262144 characters).

    JSON-specific constraints:

    • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.

    • The values will be parsed (unescaped) before they are used in outgoing messages.

    • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).

    • Values have a minimum length of 0 (the empty string, \"\", is allowed).

    • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).

    • Non-string values will cause the key to be ignored.

    • Keys that do not correspond to supported transport protocols are ignored.

    • Duplicate keys are not allowed.

    • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).

    " + "documentation":"

    The message you want to send.

    If you are publishing to a topic and you want to send the same message to all transport protocols, include the text of the message as a String value. If you want to send different messages for each transport protocol, set the value of the MessageStructure parameter to json and use a JSON object for the Message parameter.

    Constraints:

    • With the exception of SMS, messages must be UTF-8 encoded strings and at most 256 KB in size (262,144 bytes, not 262,144 characters).

    • For SMS, each message can contain up to 140 characters. This character limit depends on the encoding schema. For example, an SMS message can contain 160 GSM characters, 140 ASCII characters, or 70 UCS-2 characters.

      If you publish a message that exceeds this size limit, Amazon SNS sends the message as multiple messages, each fitting within the size limit. Messages aren't truncated mid-word but are cut off at whole-word boundaries.

      The total size limit for a single SMS Publish action is 1,600 characters.

    JSON-specific constraints:

    • Keys in the JSON object that correspond to supported transport protocols must have simple JSON string values.

    • The values will be parsed (unescaped) before they are used in outgoing messages.

    • Outbound notifications are JSON encoded (meaning that the characters will be reescaped for sending).

    • Values have a minimum length of 0 (the empty string, \"\", is allowed).

    • Values have a maximum length bounded by the overall message size (so, including multiple protocols may limit message sizes).

    • Non-string values will cause the key to be ignored.

    • Keys that do not correspond to supported transport protocols are ignored.

    • Duplicate keys are not allowed.

    • Failure to parse or validate any key or value in the message will cause the Publish call to return an error (no partial delivery).

    " }, "Subject":{ "shape":"subject", @@ -1232,7 +1469,7 @@ }, "MessageStructure":{ "shape":"messageStructure", - "documentation":"

    Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

    • be a syntactically valid JSON object; and

    • contain at least a top-level JSON key of \"default\" with a value that is a string.

    You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

    For information about sending different messages for each protocol using the AWS Management Console, go to Create Different Messages for Each Protocol in the Amazon Simple Notification Service Getting Started Guide.

    Valid value: json

    " + "documentation":"

    Set MessageStructure to json if you want to send a different message for each protocol. For example, using one publish action, you can send a short message to your SMS subscribers and a longer message to your email subscribers. If you set MessageStructure to json, the value of the Message parameter must:

    • be a syntactically valid JSON object; and

    • contain at least a top-level JSON key of \"default\" with a value that is a string.

    You can define other top-level keys that define the message you want to send to a specific transport protocol (e.g., \"http\").

    Valid value: json

    " }, "MessageAttributes":{ "shape":"MessageAttributeMap", @@ -1269,6 +1506,19 @@ }, "documentation":"

    Input for RemovePermission action.

    " }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    Can't tag resource. Verify that the topic exists.

    ", + "error":{ + "code":"ResourceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "SetEndpointAttributesInput":{ "type":"structure", "required":[ @@ -1282,7 +1532,7 @@ }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

    A map of the endpoint attributes. Attributes in this map include the following:

    • CustomUserData -- arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

    • Enabled -- flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

    • Token -- device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

    " + "documentation":"

    A map of the endpoint attributes. Attributes in this map include the following:

    • CustomUserData – arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.

    • Enabled – flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.

    • Token – device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.

    " } }, "documentation":"

    Input for SetEndpointAttributes action.

    " @@ -1300,7 +1550,7 @@ }, "Attributes":{ "shape":"MapStringToString", - "documentation":"

    A map of the platform application attributes. Attributes in this map include the following:

    • PlatformCredential -- The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For GCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\".

    • PlatformPrincipal -- The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For GCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\".

    • EventEndpointCreated -- Topic ARN to which EndpointCreated event notifications should be sent.

    • EventEndpointDeleted -- Topic ARN to which EndpointDeleted event notifications should be sent.

    • EventEndpointUpdated -- Topic ARN to which EndpointUpdate event notifications should be sent.

    • EventDeliveryFailure -- Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

    • SuccessFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

    • FailureFeedbackRoleArn -- IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

    • SuccessFeedbackSampleRate -- Sample rate percentage (0-100) of successfully delivered messages.

    " + "documentation":"

    A map of the platform application attributes. Attributes in this map include the following:

    • PlatformCredential – The credential received from the notification service. For APNS/APNS_SANDBOX, PlatformCredential is private key. For FCM, PlatformCredential is \"API key\". For ADM, PlatformCredential is \"client secret\".

    • PlatformPrincipal – The principal received from the notification service. For APNS/APNS_SANDBOX, PlatformPrincipal is SSL certificate. For FCM, PlatformPrincipal is not applicable. For ADM, PlatformPrincipal is \"client id\".

    • EventEndpointCreated – Topic ARN to which EndpointCreated event notifications should be sent.

    • EventEndpointDeleted – Topic ARN to which EndpointDeleted event notifications should be sent.

    • EventEndpointUpdated – Topic ARN to which EndpointUpdate event notifications should be sent.

    • EventDeliveryFailure – Topic ARN to which DeliveryFailure event notifications should be sent upon Direct Publish delivery failure (permanent) to one of the application's endpoints.

    • SuccessFeedbackRoleArn – IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

    • FailureFeedbackRoleArn – IAM role ARN used to give Amazon SNS write access to use CloudWatch Logs on your behalf.

    • SuccessFeedbackSampleRate – Sample rate percentage (0-100) of successfully delivered messages.

    " } }, "documentation":"

    Input for SetPlatformApplicationAttributes action.

    " @@ -1311,7 +1561,7 @@ "members":{ "attributes":{ "shape":"MapStringToString", - "documentation":"

    The default settings for sending SMS messages from your account. You can set values for the following attribute names:

    MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

    Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

    By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to exceed the maximum, contact AWS Support or your AWS sales representative for a service limit increase.

    DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

    DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

    DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

    DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

    • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

    • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

    UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

    • Time that the message was published (in UTC)

    • Message ID

    • Destination phone number

    • Message type

    • Delivery status

    • Message price (in USD)

    • Part number (a message is split into multiple parts if it is too long for a single message)

    • Total number of parts

    To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

    For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

    " + "documentation":"

    The default settings for sending SMS messages from your account. You can set values for the following attribute names:

    MonthlySpendLimit – The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.

    Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.

    By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.

    DeliveryStatusIAMRole – The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.

    DeliveryStatusSuccessSamplingRate – The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0. To write logs for 10% of your successful deliveries, set it to 10.

    DefaultSenderID – A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.

    DefaultSMSType – The type of SMS message that you will send by default. You can assign the following values:

    • Promotional – (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.

    • Transactional – Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.

    UsageReportS3Bucket – The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:

    • Time that the message was published (in UTC)

    • Message ID

    • Destination phone number

    • Message type

    • Delivery status

    • Message price (in USD)

    • Part number (a message is split into multiple parts if it is too long for a single message)

    • Total number of parts

    To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject and s3:GetBucketLocation actions.

    For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.

    " } }, "documentation":"

    The input for the SetSMSAttributes action.

    " @@ -1335,7 +1585,7 @@ }, "AttributeName":{ "shape":"attributeName", - "documentation":"

    The name of the attribute you want to set. Only a subset of the subscriptions attributes are mutable.

    Valid values: DeliveryPolicy | RawMessageDelivery

    " + "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

    • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

    • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

    • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

    • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

    " }, "AttributeValue":{ "shape":"attributeValue", @@ -1357,7 +1607,7 @@ }, "AttributeName":{ "shape":"attributeName", - "documentation":"

    The name of the attribute you want to set. Only a subset of the topic's attributes are mutable.

    Valid values: Policy | DisplayName | DeliveryPolicy

    " + "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

    • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

    • DisplayName – The display name to use for a topic with SMS subscriptions.

    • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

    The following attribute applies only to server-side-encryption:

    • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

    " }, "AttributeValue":{ "shape":"attributeValue", @@ -1366,6 +1616,19 @@ }, "documentation":"

    Input for SetTopicAttributes action.

    " }, + "StaleTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    A tag has been added to a resource with the same ARN as a deleted resource. Wait a short while and then retry the operation.

    ", + "error":{ + "code":"StaleTag", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "String":{"type":"string"}, "SubscribeInput":{ "type":"structure", @@ -1380,11 +1643,19 @@ }, "Protocol":{ "shape":"protocol", - "documentation":"

    The protocol you want to use. Supported protocols include:

    • http -- delivery of JSON-encoded message via HTTP POST

    • https -- delivery of JSON-encoded message via HTTPS POST

    • email -- delivery of message via SMTP

    • email-json -- delivery of JSON-encoded message via SMTP

    • sms -- delivery of message via SMS

    • sqs -- delivery of JSON-encoded message to an Amazon SQS queue

    • application -- delivery of JSON-encoded message to an EndpointArn for a mobile app and device.

    • lambda -- delivery of JSON-encoded message to an AWS Lambda function.

    " + "documentation":"

    The protocol you want to use. Supported protocols include:

    • http – delivery of JSON-encoded message via HTTP POST

    • https – delivery of JSON-encoded message via HTTPS POST

    • email – delivery of message via SMTP

    • email-json – delivery of JSON-encoded message via SMTP

    • sms – delivery of message via SMS

    • sqs – delivery of JSON-encoded message to an Amazon SQS queue

    • application – delivery of JSON-encoded message to an EndpointArn for a mobile app and device.

    • lambda – delivery of JSON-encoded message to an Amazon Lambda function.

    " }, "Endpoint":{ "shape":"endpoint", - "documentation":"

    The endpoint that you want to receive notifications. Endpoints vary by protocol:

    • For the http protocol, the endpoint is an URL beginning with \"http://\"

    • For the https protocol, the endpoint is a URL beginning with \"https://\"

    • For the email protocol, the endpoint is an email address

    • For the email-json protocol, the endpoint is an email address

    • For the sms protocol, the endpoint is a phone number of an SMS-enabled device

    • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue

    • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.

    • For the lambda protocol, the endpoint is the ARN of an AWS Lambda function.

    " + "documentation":"

    The endpoint that you want to receive notifications. Endpoints vary by protocol:

    • For the http protocol, the endpoint is an URL beginning with http://

    • For the https protocol, the endpoint is a URL beginning with https://

    • For the email protocol, the endpoint is an email address

    • For the email-json protocol, the endpoint is an email address

    • For the sms protocol, the endpoint is a phone number of an SMS-enabled device

    • For the sqs protocol, the endpoint is the ARN of an Amazon SQS queue

    • For the application protocol, the endpoint is the EndpointArn of a mobile app and device.

    • For the lambda protocol, the endpoint is the ARN of an Amazon Lambda function.

    " + }, + "Attributes":{ + "shape":"SubscriptionAttributesMap", + "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

    • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

    • FilterPolicy – The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.

    • RawMessageDelivery – When set to true, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.

    • RedrivePolicy – When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.

    " + }, + "ReturnSubscriptionArn":{ + "shape":"boolean", + "documentation":"

    Sets whether the response from the Subscribe request includes the subscription ARN, even if the subscription is not yet confirmed.

    • If you have the subscription ARN returned, the response includes the ARN in all cases, even if the subscription is not yet confirmed.

    • If you don't have the subscription ARN returned, in addition to the ARN for confirmed subscriptions, the response also includes the pending subscription ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription action with a confirmation token.

    If you set this parameter to true, .

    The default value is false.

    " } }, "documentation":"

    Input for Subscribe action.

    " @@ -1394,7 +1665,7 @@ "members":{ "SubscriptionArn":{ "shape":"subscriptionARN", - "documentation":"

    The ARN of the subscription, if the service was able to create a subscription immediately (without requiring endpoint owner confirmation).

    " + "documentation":"

    The ARN of the subscription if it is confirmed, or the string \"pending confirmation\" if the subscription requires confirmation. However, if the API request parameter ReturnSubscriptionArn is true, then the value is always the subscription ARN, even if the subscription requires confirmation.

    " } }, "documentation":"

    Response for Subscribe action.

    " @@ -1447,6 +1718,90 @@ "type":"list", "member":{"shape":"Subscription"} }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The required key portion of the tag.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The optional value portion of the tag.

    " + } + }, + "documentation":"

    The list of tags to be added to the specified topic.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    Can't add more than 50 tags to a topic.

    ", + "error":{ + "code":"TagLimitExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "documentation":"

    The request doesn't comply with the IAM tag policy. Correct your request and then retry it.

    ", + "error":{ + "code":"TagPolicy", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the topic to which to add tags.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags to be added to the specified topic. A tag consists of a required key and an optional value.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "ThrottledException":{ "type":"structure", "members":{ @@ -1506,6 +1861,28 @@ }, "documentation":"

    Input for Unsubscribe action.

    " }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"AmazonResourceName", + "documentation":"

    The ARN of the topic from which to remove tags.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The list of tag keys to remove from the specified topic.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "account":{"type":"string"}, "action":{"type":"string"}, "attributeName":{"type":"string"}, @@ -1527,5 +1904,5 @@ "topicARN":{"type":"string"}, "topicName":{"type":"string"} }, - "documentation":"Amazon Simple Notification Service

    Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see http://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

    We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

    " + "documentation":"Amazon Simple Notification Service

    Amazon Simple Notification Service (Amazon SNS) is a web service that enables you to build distributed web-enabled applications. Applications can use Amazon SNS to easily push real-time notification messages to interested subscribers over multiple delivery protocols. For more information about this product see https://aws.amazon.com/sns. For detailed information about Amazon SNS features and their associated API calls, see the Amazon SNS Developer Guide.

    We also provide SDKs that enable you to access Amazon SNS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as: cryptographically signing your service requests, retrying requests, and handling error responses. For a list of available SDKs, go to Tools for Amazon Web Services.

    " } diff -Nru python-botocore-1.4.70/botocore/data/sqs/2012-11-05/examples-1.json python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/examples-1.json --- python-botocore-1.4.70/botocore/data/sqs/2012-11-05/examples-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -1,44 +1,5 @@ { "version": "1.0", "examples": { - "CreateQueue": [ - { - "input": { - "QueueName": "MyQueue" - }, - "output": { - "QueueUrl": "https://queue.amazonaws.com/012345678910/MyQueue" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following operation creates an SQS queue named MyQueue.", - "id": "create-an-sqs-queue-1445915686197", - "title": "Create an SQS queue" - } - ], - "GetQueueUrl": [ - { - "input": { - "QueueName": "MyQueue", - "QueueOwnerAWSAccountId": "12345678910" - }, - "output": { - "QueueUrl": "https://queue.amazonaws.com/123456789101112/MyQueue" - }, - "comments": { - "input": { - }, - "output": { - } - }, - "description": "The following example retrieves the queue ARN.", - "id": "retrieve-queue-attributes-from-an-sqs-queue-1445915930574", - "title": "Retrieve queue attributes from an SQS queue" - } - ] } } diff -Nru python-botocore-1.4.70/botocore/data/sqs/2012-11-05/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/paginators-1.json --- python-botocore-1.4.70/botocore/data/sqs/2012-11-05/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/sqs/2012-11-05/service-2.json python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/service-2.json --- python-botocore-1.4.70/botocore/data/sqs/2012-11-05/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sqs/2012-11-05/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,7 +6,9 @@ "protocol":"query", "serviceAbbreviation":"Amazon SQS", "serviceFullName":"Amazon Simple Queue Service", + "serviceId":"SQS", "signatureVersion":"v4", + "uid":"sqs-2012-11-05", "xmlNamespace":"http://queue.amazonaws.com/doc/2012-11-05/" }, "operations":{ @@ -20,7 +22,7 @@ "errors":[ {"shape":"OverLimit"} ], - "documentation":"

    Adds a permission to a queue for a specific principal. This allows for sharing access to the queue.

    When you create a queue, you have full control access rights for the queue. Only you (as owner of the queue) can grant or deny permissions to the queue. For more information about these permissions, see Shared Queues in the Amazon SQS Developer Guide.

    AddPermission writes an Amazon SQS-generated policy. If you want to write your own policy, use SetQueueAttributes to upload your policy. For more information about writing your own policy, see Using The Access Policy Language in the Amazon SQS Developer Guide.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Adds a permission to a queue for a specific principal. This allows sharing access to the queue.

    When you create a queue, you have full control access rights for the queue. Only you, the owner of the queue, can grant or deny permissions to the queue. For more information about these permissions, see Allow Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide.

    • AddPermission generates a policy for you. You can use SetQueueAttributes to upload your policy. For more information, see Using Custom Policies with the Amazon SQS Access Policy Language in the Amazon Simple Queue Service Developer Guide.

    • An Amazon SQS policy can have a maximum of 7 actions.

    • To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " }, "ChangeMessageVisibility":{ "name":"ChangeMessageVisibility", @@ -33,7 +35,7 @@ {"shape":"MessageNotInflight"}, {"shape":"ReceiptHandleIsInvalid"} ], - "documentation":"

    Changes the visibility timeout of a specified message in a queue to a new value. The maximum allowed timeout value you can set the value to is 12 hours. This means you can't extend the timeout of a message in an existing queue to more than a total visibility timeout of 12 hours. (For more information visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.)

    For example, let's say you have a message and its default message visibility timeout is 5 minutes. After 3 minutes, you call ChangeMessageVisiblity with a timeout of 10 minutes. At that time, the timeout for the message would be extended by 10 minutes beyond the time of the ChangeMessageVisibility call. This results in a total visibility timeout of 13 minutes. You can continue to call ChangeMessageVisibility to extend the visibility timeout to a maximum of 12 hours. If you try to extend beyond 12 hours, the request will be rejected.

    There is a 120,000 limit for the number of inflight messages per queue. Messages are inflight after they have been received from the queue by a consuming component, but have not yet been deleted from the queue. If you reach the 120,000 limit, you will receive an OverLimit error message from Amazon SQS. To help avoid reaching the limit, you should delete the messages from the queue after they have been processed. You can also increase the number of queues you use to process the messages.

    If you attempt to set the VisibilityTimeout to an amount more than the maximum time left, Amazon SQS returns an error. It will not automatically recalculate and increase the timeout to the maximum time remaining.

    Unlike with a queue, when you change the visibility timeout for a specific message, that timeout value is applied immediately but is not saved in memory for that message. If you don't delete a message after it is received, the visibility timeout for the message the next time it is received reverts to the original timeout value, not the value you set with the ChangeMessageVisibility action.

    " + "documentation":"

    Changes the visibility timeout of a specified message in a queue to a new value. The default visibility timeout for a message is 30 seconds. The minimum is 0 seconds. The maximum is 12 hours. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    For example, you have a message with a visibility timeout of 5 minutes. After 3 minutes, you call ChangeMessageVisibility with a timeout of 10 minutes. You can continue to call ChangeMessageVisibility to extend the visibility timeout to the maximum allowed time. If you try to extend the visibility timeout beyond the maximum, your request is rejected.

    An Amazon SQS message has three basic states:

    1. Sent to a queue by a producer.

    2. Received from the queue by a consumer.

    3. Deleted from the queue.

    A message is considered to be stored after it is sent to a queue by a producer, but not yet received from the queue by a consumer (that is, between states 1 and 2). There is no limit to the number of stored messages. A message is considered to be in flight after it is received from a queue by a consumer, but not yet deleted from the queue (that is, between states 2 and 3). There is a limit to the number of inflight messages.

    Limits that apply to inflight messages are unrelated to the unlimited number of stored messages.

    For most standard queues (depending on queue traffic and message backlog), there can be a maximum of approximately 120,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this limit, Amazon SQS returns the OverLimit error message. To avoid reaching the limit, you should delete messages from the queue after they're processed. You can also increase the number of queues you use to process your messages. To request a limit increase, file a support request.

    For FIFO queues, there can be a maximum of 20,000 inflight messages (received from a queue by a consumer, but not yet deleted from the queue). If you reach this limit, Amazon SQS returns no error messages.

    If you attempt to set the VisibilityTimeout to a value greater than the maximum time left, Amazon SQS returns an error. Amazon SQS doesn't automatically recalculate and increase the timeout to the maximum remaining time.

    Unlike with a queue, when you change the visibility timeout for a specific message the timeout value is applied immediately but isn't saved in memory for that message. If you don't delete a message after it is received, the visibility timeout for the message reverts to the original timeout value (not to the value you set using the ChangeMessageVisibility action) the next time the message is received.

    " }, "ChangeMessageVisibilityBatch":{ "name":"ChangeMessageVisibilityBatch", @@ -52,7 +54,7 @@ {"shape":"BatchEntryIdsNotDistinct"}, {"shape":"InvalidBatchEntryId"} ], - "documentation":"

    Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action.

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result of the action on each message is reported individually in the response. You can send up to 10 ChangeMessageVisibility requests with each ChangeMessageVisibilityBatch action.

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    " }, "CreateQueue":{ "name":"CreateQueue", @@ -69,7 +71,7 @@ {"shape":"QueueDeletedRecently"}, {"shape":"QueueNameExists"} ], - "documentation":"

    Creates a new queue, or returns the URL of an existing one. When you request CreateQueue, you provide a name for the queue. To successfully create a new queue, you must provide a name that is unique within the scope of your own queues.

    If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

    You may pass one or more attributes in the request. If you do not provide a value for any attribute, the queue will have the default value for that attribute.

    Use GetQueueUrl to get a queue's URL. GetQueueUrl requires only the QueueName parameter.

    If you provide the name of an existing queue, along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue. If the queue name, attribute names, or attribute values do not match an existing queue, CreateQueue returns an error.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Creates a new standard or FIFO queue. You can pass one or more attributes in the request. Keep the following caveats in mind:

    • If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue.

      You can't change the queue type after you create it and you can't convert an existing standard queue into a FIFO queue. You must either create a new FIFO queue for your application or delete your existing standard queue and recreate it as a FIFO queue. For more information, see Moving From a Standard Queue to a FIFO Queue in the Amazon Simple Queue Service Developer Guide.

    • If you don't provide a value for an attribute, the queue is created with the default value for the attribute.

    • If you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

    To successfully create a new queue, you must provide a queue name that adheres to the limits related to queues and is unique within the scope of your queues.

    To get the queue URL, use the GetQueueUrl action. GetQueueUrl requires only the QueueName parameter. be aware of existing queue names:

    • If you provide the name of an existing queue along with the exact names and values of all the queue's attributes, CreateQueue returns the queue URL for the existing queue.

    • If the queue name, attribute names, or attribute values don't match an existing queue, CreateQueue returns an error.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " }, "DeleteMessage":{ "name":"DeleteMessage", @@ -82,7 +84,7 @@ {"shape":"InvalidIdFormat"}, {"shape":"ReceiptHandleIsInvalid"} ], - "documentation":"

    Deletes the specified message from the specified queue. You specify the message by using the message's receipt handle and not the message ID you received when you sent the message. Even if the message is locked by another reader due to the visibility timeout setting, it is still deleted from the queue. If you leave a message in the queue for longer than the queue's configured retention period, Amazon SQS automatically deletes it.

    The receipt handle is associated with a specific instance of receiving the message. If you receive a message more than once, the receipt handle you get each time you receive the message is different. When you request DeleteMessage, if you don't provide the most recently received receipt handle for the message, the request will still succeed, but the message might not be deleted.

    It is possible you will receive a message even after you have deleted it. This might happen on rare occasions if one of the servers storing a copy of the message is unavailable when you request to delete the message. The copy remains on the server and might be returned to you again on a subsequent receive request. You should create your system to be idempotent so that receiving a particular message more than once is not a problem.

    " + "documentation":"

    Deletes the specified message from the specified queue. To select the message to delete, use the ReceiptHandle of the message (not the MessageId which you receive when you send the message). Amazon SQS can delete a message from a queue even if a visibility timeout setting causes the message to be locked by another consumer. Amazon SQS automatically deletes messages left in a queue longer than the retention period configured for the queue.

    The ReceiptHandle is associated with a specific instance of receiving a message. If you receive a message more than once, the ReceiptHandle is different each time you receive a message. When you use the DeleteMessage action, you must provide the most recently received ReceiptHandle for the message (otherwise, the request succeeds, but the message might not be deleted).

    For standard queues, it is possible to receive a message even after you delete it. This might happen on rare occasions if one of the servers which stores a copy of the message is unavailable when you send the request to delete the message. The copy remains on the server and might be returned to you during a subsequent receive request. You should ensure that your application is idempotent, so that receiving a message more than once does not cause issues.

    " }, "DeleteMessageBatch":{ "name":"DeleteMessageBatch", @@ -101,7 +103,7 @@ {"shape":"BatchEntryIdsNotDistinct"}, {"shape":"InvalidBatchEntryId"} ], - "documentation":"

    Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage. The result of the delete action on each message is reported individually in the response.

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage. The result of the action on each message is reported individually in the response.

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    " }, "DeleteQueue":{ "name":"DeleteQueue", @@ -110,7 +112,7 @@ "requestUri":"/" }, "input":{"shape":"DeleteQueueRequest"}, - "documentation":"

    Deletes the queue specified by the queue URL, regardless of whether the queue is empty. If the specified queue does not exist, Amazon SQS returns a successful response.

    Use DeleteQueue with care; once you delete your queue, any messages in the queue are no longer available.

    When you delete a queue, the deletion process takes up to 60 seconds. Requests you send involving that queue during the 60 seconds might succeed. For example, a SendMessage request might succeed, but after the 60 seconds, the queue and that message you sent no longer exist. Also, when you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

    We reserve the right to delete queues that have had no activity for more than 30 days. For more information, see How Amazon SQS Queues Work in the Amazon SQS Developer Guide.

    " + "documentation":"

    Deletes the queue specified by the QueueUrl, regardless of the queue's contents. If the specified queue doesn't exist, Amazon SQS returns a successful response.

    Be careful with the DeleteQueue action: When you delete a queue, any messages in the queue are no longer available.

    When you delete a queue, the deletion process takes up to 60 seconds. Requests you send involving that queue during the 60 seconds might succeed. For example, a SendMessage request might succeed, but after 60 seconds the queue and the message you sent no longer exist.

    When you delete a queue, you must wait at least 60 seconds before creating a queue with the same name.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " }, "GetQueueAttributes":{ "name":"GetQueueAttributes", @@ -126,7 +128,7 @@ "errors":[ {"shape":"InvalidAttributeName"} ], - "documentation":"

    Gets attributes for the specified queue.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Gets attributes for the specified queue.

    To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    " }, "GetQueueUrl":{ "name":"GetQueueUrl", @@ -142,7 +144,7 @@ "errors":[ {"shape":"QueueDoesNotExist"} ], - "documentation":"

    Returns the URL of an existing queue. This action provides a simple way to retrieve the URL of an Amazon SQS queue.

    To access a queue that belongs to another AWS account, use the QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner. The queue's owner must grant you permission to access the queue. For more information about shared queue access, see AddPermission or go to Shared Queues in the Amazon SQS Developer Guide.

    " + "documentation":"

    Returns the URL of an existing Amazon SQS queue.

    To access a queue that belongs to another AWS account, use the QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner. The queue's owner must grant you permission to access the queue. For more information about shared queue access, see AddPermission or see Allow Developers to Write Messages to a Shared Queue in the Amazon Simple Queue Service Developer Guide.

    " }, "ListDeadLetterSourceQueues":{ "name":"ListDeadLetterSourceQueues", @@ -158,7 +160,20 @@ "errors":[ {"shape":"QueueDoesNotExist"} ], - "documentation":"

    Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead letter queue.

    For more information about using dead letter queues, see Using Amazon SQS Dead Letter Queues.

    " + "documentation":"

    Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue.

    For more information about using dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

    " + }, + "ListQueueTags":{ + "name":"ListQueueTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListQueueTagsRequest"}, + "output":{ + "shape":"ListQueueTagsResult", + "resultWrapper":"ListQueueTagsResult" + }, + "documentation":"

    List all cost allocation tags added to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " }, "ListQueues":{ "name":"ListQueues", @@ -171,7 +186,7 @@ "shape":"ListQueuesResult", "resultWrapper":"ListQueuesResult" }, - "documentation":"

    Returns a list of your queues. The maximum number of queues that can be returned is 1000. If you specify a value for the optional QueueNamePrefix parameter, only queues with a name beginning with the specified value are returned.

    " + "documentation":"

    Returns a list of your queues. The maximum number of queues that can be returned is 1,000. If you specify a value for the optional QueueNamePrefix parameter, only queues with a name that begins with the specified value are returned.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " }, "PurgeQueue":{ "name":"PurgeQueue", @@ -184,7 +199,7 @@ {"shape":"QueueDoesNotExist"}, {"shape":"PurgeQueueInProgress"} ], - "documentation":"

    Deletes the messages in a queue specified by the queue URL.

    When you use the PurgeQueue API, the deleted messages in the queue cannot be retrieved.

    When you purge a queue, the message deletion process takes up to 60 seconds. All messages sent to the queue before calling PurgeQueue will be deleted; messages sent to the queue while it is being purged may be deleted. While the queue is being purged, messages sent to the queue before PurgeQueue was called may be received, but will be deleted within the next minute.

    " + "documentation":"

    Deletes the messages in a queue specified by the QueueURL parameter.

    When you use the PurgeQueue action, you can't retrieve any messages deleted from a queue.

    The message deletion process takes up to 60 seconds. We recommend waiting for 60 seconds regardless of your queue's size.

    Messages sent to the queue before you call PurgeQueue might be received but are deleted within the next minute.

    Messages sent to the queue after you call PurgeQueue might be deleted while the queue is being purged.

    " }, "ReceiveMessage":{ "name":"ReceiveMessage", @@ -200,7 +215,7 @@ "errors":[ {"shape":"OverLimit"} ], - "documentation":"

    Retrieves one or more messages, with a maximum limit of 10 messages, from the specified queue. Long poll support is enabled by using the WaitTimeSeconds parameter. For more information, see Amazon SQS Long Poll in the Amazon SQS Developer Guide.

    Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. This means only the messages on the sampled machines are returned. If the number of messages in the queue is small (less than 1000), it is likely you will get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response; in which case you should repeat the request.

    For each message returned, the response includes the following:

    • Message body

    • MD5 digest of the message body. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    • Message ID you received when you sent the message to the queue.

    • Receipt handle.

    • Message attributes.

    • MD5 digest of the message attributes.

    The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide.

    You can provide the VisibilityTimeout parameter in your request, which will be applied to the messages that Amazon SQS returns in the response. If you do not include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon SQS Developer Guide.

    Going forward, new attributes might be added. If you are writing code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    " + "documentation":"

    Retrieves one or more messages (up to 10), from the specified queue. Using the WaitTimeSeconds parameter enables long-poll support. For more information, see Amazon SQS Long Polling in the Amazon Simple Queue Service Developer Guide.

    Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage call. Thus, only the messages on the sampled machines are returned. If the number of messages in the queue is small (fewer than 1,000), you most likely get fewer messages than you requested per ReceiveMessage call. If the number of messages in the queue is extremely small, you might not receive any messages in a particular ReceiveMessage response. If this happens, repeat the request.

    For each message returned, the response includes the following:

    • The message body.

    • An MD5 digest of the message body. For information about MD5, see RFC1321.

    • The MessageId you received when you sent the message to the queue.

    • The receipt handle.

    • The message attributes.

    • An MD5 digest of the message attributes.

    The receipt handle is the identifier you must provide when deleting the message. For more information, see Queue and Message Identifiers in the Amazon Simple Queue Service Developer Guide.

    You can provide the VisibilityTimeout parameter in your request. The parameter is applied to the messages that Amazon SQS returns in the response. If you don't include the parameter, the overall visibility timeout for the queue is used for the returned messages. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    A message that isn't deleted or a message whose visibility isn't extended before the visibility timeout expires counts as a failed receive. Depending on the configuration of the queue, the message might be sent to the dead-letter queue.

    In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    " }, "RemovePermission":{ "name":"RemovePermission", @@ -209,7 +224,7 @@ "requestUri":"/" }, "input":{"shape":"RemovePermissionRequest"}, - "documentation":"

    Revokes any permissions in the queue policy that matches the specified Label parameter. Only the owner of the queue can remove permissions.

    " + "documentation":"

    Revokes any permissions in the queue policy that matches the specified Label parameter.

    • Only the owner of a queue can remove permissions from it.

    • Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    • To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

    " }, "SendMessage":{ "name":"SendMessage", @@ -226,7 +241,7 @@ {"shape":"InvalidMessageContents"}, {"shape":"UnsupportedOperation"} ], - "documentation":"

    Delivers a message to the specified queue. With Amazon SQS, you now have the ability to send large payload messages that are up to 256KB (262,144 bytes) in size. To send large payloads, you must use an AWS SDK that supports SigV4 signing. To verify whether SigV4 is supported for an AWS SDK, check the SDK release notes.

    The following list shows the characters (in Unicode) allowed in your message, according to the W3C XML specification. For more information, go to http://www.w3.org/TR/REC-xml/#charsets If you send any characters not included in the list, your request will be rejected.

    #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]

    " + "documentation":"

    Delivers a message to the specified queue.

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    " }, "SendMessageBatch":{ "name":"SendMessageBatch", @@ -247,7 +262,7 @@ {"shape":"InvalidBatchEntryId"}, {"shape":"UnsupportedOperation"} ], - "documentation":"

    Delivers up to ten messages to the specified queue. This is a batch version of SendMessage. The result of the send action on each message is reported individually in the response. The maximum allowed individual message size is 256 KB (262,144 bytes).

    The maximum total payload size (i.e., the sum of all a batch's individual message lengths) is also 256 KB (262,144 bytes).

    If the DelaySeconds parameter is not specified for an entry, the default for the queue is used.

    The following list shows the characters (in Unicode) that are allowed in your message, according to the W3C XML specification. For more information, go to http://www.faqs.org/rfcs/rfc1321.html. If you send any characters that are not included in the list, your request will be rejected.

    #x9 | #xA | #xD | [#x20 to #xD7FF] | [#xE000 to #xFFFD] | [#x10000 to #x10FFFF]

    Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    Some API actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    " + "documentation":"

    Delivers up to ten messages to the specified queue. This is a batch version of SendMessage. For a FIFO queue, multiple messages within a single batch are enqueued in the order they are sent.

    The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

    The maximum allowed individual message size and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KB (262,144 bytes).

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    If you don't specify the DelaySeconds parameter for an entry, Amazon SQS uses the default value for the queue.

    Some actions take lists of parameters. These lists are specified using the param.n notation. Values of n are integers starting from 1. For example, a parameter list with two elements looks like this:

    &Attribute.1=first

    &Attribute.2=second

    " }, "SetQueueAttributes":{ "name":"SetQueueAttributes", @@ -259,7 +274,25 @@ "errors":[ {"shape":"InvalidAttributeName"} ], - "documentation":"

    Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the SQS system. Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes.

    Going forward, new attributes might be added. If you are writing code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    " + "documentation":"

    Sets the value of one or more queue attributes. When you change a queue's attributes, the change can take up to 60 seconds for most of the attributes to propagate throughout the Amazon SQS system. Changes made to the MessageRetentionPeriod attribute can take up to 15 minutes.

    • In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    • Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    • To remove the ability to change queue permissions, you must deny permission to the AddPermission, RemovePermission, and SetQueueAttributes actions in your IAM policy.

    " + }, + "TagQueue":{ + "name":"TagQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagQueueRequest"}, + "documentation":"

    Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    When you use queue tags, keep the following guidelines in mind:

    • Adding more than 50 tags to a queue isn't recommended.

    • Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

    • Tags are case-sensitive.

    • A new tag with a key identical to that of an existing tag overwrites the existing tag.

    For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " + }, + "UntagQueue":{ + "name":"UntagQueue", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagQueueRequest"}, + "documentation":"

    Remove cost allocation tags from the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    " } }, "shapes":{ @@ -290,36 +323,23 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue to which permissions are added.

    Queue URLs and names are case-sensitive.

    " }, "Label":{ "shape":"String", - "documentation":"

    The unique identification of the permission you're setting (e.g., AliceSendMessage). Constraints: Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.

    " + "documentation":"

    The unique identification of the permission you're setting (for example, AliceSendMessage). Maximum 80 characters. Allowed characters include alphanumeric characters, hyphens (-), and underscores (_).

    " }, "AWSAccountIds":{ "shape":"AWSAccountIdList", - "documentation":"

    The AWS account number of the principal who will be given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS account identification, see Your AWS Identifiers in the Amazon SQS Developer Guide.

    " + "documentation":"

    The AWS account number of the principal who is given permission. The principal must have an AWS account, but does not need to be signed up for Amazon SQS. For information about locating the AWS account identification, see Your AWS Identifiers in the Amazon Simple Queue Service Developer Guide.

    " }, "Actions":{ "shape":"ActionNameList", - "documentation":"

    The action the client wants to allow for the specified principal. The following are valid values: * | SendMessage | ReceiveMessage | DeleteMessage | ChangeMessageVisibility | GetQueueAttributes | GetQueueUrl. For more information about these actions, see Understanding Permissions in the Amazon SQS Developer Guide.

    Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for the ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch.

    " + "documentation":"

    The action the client wants to allow for the specified principal. Valid values: the name of any action or *.

    For more information about these actions, see Overview of Managing Access Permissions to Your Amazon Simple Queue Service Resource in the Amazon Simple Queue Service Developer Guide.

    Specifying SendMessage, DeleteMessage, or ChangeMessageVisibility for ActionName.n also grants permissions for the corresponding batch versions of those actions: SendMessageBatch, DeleteMessageBatch, and ChangeMessageVisibilityBatch.

    " } }, "documentation":"

    " }, - "AttributeMap":{ - "type":"map", - "key":{ - "shape":"QueueAttributeName", - "locationName":"Name" - }, - "value":{ - "shape":"String", - "locationName":"Value" - }, - "flattened":true, - "locationName":"Attribute" - }, "AttributeNameList":{ "type":"list", "member":{ @@ -332,7 +352,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Two or more batch entries have the same Id in the request.

    ", + "documentation":"

    Two or more batch entries in the request have the same Id.

    ", "error":{ "code":"AWS.SimpleQueueService.BatchEntryIdsNotDistinct", "httpStatusCode":400, @@ -362,11 +382,11 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

    The id of an entry in a batch request.

    " + "documentation":"

    The Id of an entry in a batch request.

    " }, "SenderFault":{ "shape":"Boolean", - "documentation":"

    Whether the error happened due to the sender's fault.

    " + "documentation":"

    Specifies whether the error happened due to the producer.

    " }, "Code":{ "shape":"String", @@ -377,7 +397,7 @@ "documentation":"

    A message explaining why the action failed on this entry.

    " } }, - "documentation":"

    This is used in the responses of batch API to give a detailed description of the result of an action on each entry in the request.

    " + "documentation":"

    Gives a detailed description of the result of an action on each entry in the request.

    " }, "BatchResultErrorEntryList":{ "type":"list", @@ -405,7 +425,7 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue whose messages' visibility is changed.

    Queue URLs and names are case-sensitive.

    " }, "Entries":{ "shape":"ChangeMessageVisibilityBatchRequestEntryList", @@ -423,7 +443,7 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

    An identifier for this particular receipt handle. This is used to communicate the result. Note that the Ids of a batch request need to be unique within the request.

    " + "documentation":"

    An identifier for this particular receipt handle used to communicate the result.

    The Ids of a batch request need to be unique within a request

    " }, "ReceiptHandle":{ "shape":"String", @@ -434,7 +454,7 @@ "documentation":"

    The new value (in seconds) for the message's visibility timeout.

    " } }, - "documentation":"

    Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch.

    All of the following parameters are list parameters that must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer value starting with 1. For example, a parameter list for this action might look like this:

    Your_Receipt_Handle]]>

    " + "documentation":"

    Encloses a receipt handle and an entry id for each message in ChangeMessageVisibilityBatch.

    All of the following list parameters must be prefixed with ChangeMessageVisibilityBatchRequestEntry.n, where n is an integer value starting with 1. For example, a parameter list for this action might look like this:

    &ChangeMessageVisibilityBatchRequestEntry.1.Id=change_visibility_msg_2

    &ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle=your_receipt_handle

    &ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout=45

    " }, "ChangeMessageVisibilityBatchRequestEntryList":{ "type":"list", @@ -453,14 +473,14 @@ "members":{ "Successful":{ "shape":"ChangeMessageVisibilityBatchResultEntryList", - "documentation":"

    A list of ChangeMessageVisibilityBatchResultEntry items.

    " + "documentation":"

    A list of ChangeMessageVisibilityBatchResultEntry items.

    " }, "Failed":{ "shape":"BatchResultErrorEntryList", - "documentation":"

    A list of BatchResultErrorEntry items.

    " + "documentation":"

    A list of BatchResultErrorEntry items.

    " } }, - "documentation":"

    For each message in the batch, the response contains a ChangeMessageVisibilityBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

    " + "documentation":"

    For each message in the batch, the response contains a ChangeMessageVisibilityBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

    " }, "ChangeMessageVisibilityBatchResultEntry":{ "type":"structure", @@ -471,7 +491,7 @@ "documentation":"

    Represents a message whose visibility timeout has been changed successfully.

    " } }, - "documentation":"

    Encloses the id of an entry in ChangeMessageVisibilityBatch.

    " + "documentation":"

    Encloses the Id of an entry in ChangeMessageVisibilityBatch.

    " }, "ChangeMessageVisibilityBatchResultEntryList":{ "type":"list", @@ -491,15 +511,15 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue whose message's visibility is changed.

    Queue URLs and names are case-sensitive.

    " }, "ReceiptHandle":{ "shape":"String", - "documentation":"

    The receipt handle associated with the message whose visibility timeout should be changed. This parameter is returned by the ReceiveMessage action.

    " + "documentation":"

    The receipt handle associated with the message whose visibility timeout is changed. This parameter is returned by the ReceiveMessage action.

    " }, "VisibilityTimeout":{ "shape":"Integer", - "documentation":"

    The new value (in seconds - from 0 to 43200 - maximum 12 hours) for the message's visibility timeout.

    " + "documentation":"

    The new value for the message's visibility timeout (in seconds). Values values: 0 to 43200. Maximum: 12 hours.

    " } } }, @@ -509,12 +529,17 @@ "members":{ "QueueName":{ "shape":"String", - "documentation":"

    The name for the queue to be created.

    Queue names are case-sensitive.

    " + "documentation":"

    The name of the new queue. The following limits apply to this name:

    • A queue name can have up to 80 characters.

    • Valid values: alphanumeric characters, hyphens (-), and underscores (_).

    • A FIFO queue name must end with the .fifo suffix.

    Queue URLs and names are case-sensitive.

    " }, "Attributes":{ - "shape":"AttributeMap", - "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters the CreateQueue action uses:

    • DelaySeconds - The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 (zero).

    • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB).

    • MessageRetentionPeriod - The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days).

    • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

    • ReceiveMessageWaitTimeSeconds - The time for which a ReceiveMessage call will wait for a message to arrive. An integer from 0 to 20 (seconds). The default for this attribute is 0.

    • RedrivePolicy - The parameters for dead letter queue functionality of the source queue. For more information about RedrivePolicy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    • VisibilityTimeout - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

    Any other valid special request parameters that are specified (such as ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, and QueueArn) will be ignored.

    ", + "shape":"QueueAttributeMap", + "documentation":"

    A map of attributes with their corresponding values.

    The following lists the names, descriptions, and values of the special request parameters that the CreateQueue action uses:

    • DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 seconds (15 minutes). Default: 0.

    • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

    • MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer from 60 seconds (1 minute) to 1,209,600 seconds (14 days). Default: 345,600 (4 days).

    • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

    • ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: An integer from 0 to 20 (seconds). Default: 0.

    • RedrivePolicy - The string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

      • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

      • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

    • VisibilityTimeout - The visibility timeout for the queue, in seconds. Valid values: An integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    The following attributes apply only to server-side-encryption:

    • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference.

    • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

    The following attributes apply only to FIFO (first-in-first-out) queues:

    • FifoQueue - Designates a queue as FIFO. Valid values: true, false. If you don't specify the FifoQueue attribute, Amazon SQS creates a standard queue. You can provide this attribute only during queue creation. You can't change it for an existing queue. When you set this attribute, you must also provide the MessageGroupId for your messages explicitly.

      For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide.

    • ContentBasedDeduplication - Enables content-based deduplication. Valid values: true, false. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

      • Every message must have a unique MessageDeduplicationId,

        • You may provide a MessageDeduplicationId explicitly.

        • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

        • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

        • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

      • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

      • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

    ", "locationName":"Attribute" + }, + "tags":{ + "shape":"TagMap", + "documentation":"

    Add cost allocation tags to the specified Amazon SQS queue. For an overview, see Tagging Your Amazon SQS Queues in the Amazon Simple Queue Service Developer Guide.

    When you use queue tags, keep the following guidelines in mind:

    • Adding more than 50 tags to a queue isn't recommended.

    • Tags don't have any semantic meaning. Amazon SQS interprets tags as character strings.

    • Tags are case-sensitive.

    • A new tag with a key identical to that of an existing tag overwrites the existing tag.

    For a full list of tag restrictions, see Limits Related to Queues in the Amazon Simple Queue Service Developer Guide.

    To be able to tag a queue on creation, you must have the sqs:CreateQueue and sqs:TagQueue permissions.

    Cross-account permissions don't apply to this action. For more information, see Grant Cross-Account Permissions to a Role and a User Name in the Amazon Simple Queue Service Developer Guide.

    ", + "locationName":"Tag" } }, "documentation":"

    " @@ -524,10 +549,10 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL for the created Amazon SQS queue.

    " + "documentation":"

    The URL of the created Amazon SQS queue.

    " } }, - "documentation":"

    Returns the QueueUrl element of the created queue.

    " + "documentation":"

    Returns the QueueUrl attribute of the created queue.

    " }, "DeleteMessageBatchRequest":{ "type":"structure", @@ -538,7 +563,7 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue from which messages are deleted.

    Queue URLs and names are case-sensitive.

    " }, "Entries":{ "shape":"DeleteMessageBatchRequestEntryList", @@ -556,7 +581,7 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

    An identifier for this particular receipt handle. This is used to communicate the result. Note that the Ids of a batch request need to be unique within the request.

    " + "documentation":"

    An identifier for this particular receipt handle. This is used to communicate the result.

    The Ids of a batch request need to be unique within a request

    " }, "ReceiptHandle":{ "shape":"String", @@ -582,14 +607,14 @@ "members":{ "Successful":{ "shape":"DeleteMessageBatchResultEntryList", - "documentation":"

    A list of DeleteMessageBatchResultEntry items.

    " + "documentation":"

    A list of DeleteMessageBatchResultEntry items.

    " }, "Failed":{ "shape":"BatchResultErrorEntryList", - "documentation":"

    A list of BatchResultErrorEntry items.

    " + "documentation":"

    A list of BatchResultErrorEntry items.

    " } }, - "documentation":"

    For each message in the batch, the response contains a DeleteMessageBatchResultEntry tag if the message is deleted or a BatchResultErrorEntry tag if the message cannot be deleted.

    " + "documentation":"

    For each message in the batch, the response contains a DeleteMessageBatchResultEntry tag if the message is deleted or a BatchResultErrorEntry tag if the message can't be deleted.

    " }, "DeleteMessageBatchResultEntry":{ "type":"structure", @@ -600,7 +625,7 @@ "documentation":"

    Represents a successfully deleted message.

    " } }, - "documentation":"

    Encloses the id an entry in DeleteMessageBatch.

    " + "documentation":"

    Encloses the Id of an entry in DeleteMessageBatch.

    " }, "DeleteMessageBatchResultEntryList":{ "type":"list", @@ -619,7 +644,7 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue from which messages are deleted.

    Queue URLs and names are case-sensitive.

    " }, "ReceiptHandle":{ "shape":"String", @@ -634,7 +659,7 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue to delete.

    Queue URLs and names are case-sensitive.

    " } }, "documentation":"

    " @@ -643,7 +668,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Batch request does not contain an entry.

    ", + "documentation":"

    The batch request doesn't contain any entries.

    ", "error":{ "code":"AWS.SimpleQueueService.EmptyBatchRequest", "httpStatusCode":400, @@ -657,11 +682,11 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue whose attribute information is retrieved.

    Queue URLs and names are case-sensitive.

    " }, "AttributeNames":{ "shape":"AttributeNameList", - "documentation":"

    A list of attributes to retrieve information for. The following attributes are supported:

    • All - returns all values.

    • ApproximateNumberOfMessages - returns the approximate number of visible messages in a queue. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

    • ApproximateNumberOfMessagesNotVisible - returns the approximate number of messages that are not timed-out and not deleted. For more information, see Resources Required to Process Messages in the Amazon SQS Developer Guide.

    • VisibilityTimeout - returns the visibility timeout for the queue. For more information about visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

    • CreatedTimestamp - returns the time when the queue was created (epoch time in seconds).

    • LastModifiedTimestamp - returns the time when the queue was last changed (epoch time in seconds).

    • Policy - returns the queue's policy.

    • MaximumMessageSize - returns the limit of how many bytes a message can contain before Amazon SQS rejects it.

    • MessageRetentionPeriod - returns the number of seconds Amazon SQS retains a message.

    • QueueArn - returns the queue's Amazon resource name (ARN).

    • ApproximateNumberOfMessagesDelayed - returns the approximate number of messages that are pending to be added to the queue.

    • DelaySeconds - returns the default delay on the queue in seconds.

    • ReceiveMessageWaitTimeSeconds - returns the time for which a ReceiveMessage call will wait for a message to arrive.

    • RedrivePolicy - returns the parameters for dead letter queue functionality of the source queue. For more information about RedrivePolicy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    Going forward, new attributes might be added. If you are writing code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    " + "documentation":"

    A list of attributes for which to retrieve information.

    In the future, new attributes might be added. If you write code that calls this action, we recommend that you structure your code so that it can handle new attributes gracefully.

    The following attributes are supported:

    • All - Returns all values.

    • ApproximateNumberOfMessages - Returns the approximate number of messages available for retrieval from the queue.

    • ApproximateNumberOfMessagesDelayed - Returns the approximate number of messages in the queue that are delayed and not available for reading immediately. This can happen when the queue is configured as a delay queue or when a message has been sent with a delay parameter.

    • ApproximateNumberOfMessagesNotVisible - Returns the approximate number of messages that are in flight. Messages are considered to be in flight if they have been sent to a client but have not yet been deleted or have not yet reached the end of their visibility window.

    • CreatedTimestamp - Returns the time when the queue was created in seconds (epoch time).

    • DelaySeconds - Returns the default delay on the queue in seconds.

    • LastModifiedTimestamp - Returns the time when the queue was last changed in seconds (epoch time).

    • MaximumMessageSize - Returns the limit of how many bytes a message can contain before Amazon SQS rejects it.

    • MessageRetentionPeriod - Returns the length of time, in seconds, for which Amazon SQS retains a message.

    • Policy - Returns the policy of the queue.

    • QueueArn - Returns the Amazon resource name (ARN) of the queue.

    • ReceiveMessageWaitTimeSeconds - Returns the length of time, in seconds, for which the ReceiveMessage action waits for a message to arrive.

    • RedrivePolicy - Returns the string that includes the parameters for dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

      • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

      • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

    • VisibilityTimeout - Returns the visibility timeout for the queue. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    The following attributes apply only to server-side-encryption:

    • KmsMasterKeyId - Returns the ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms.

    • KmsDataKeyReusePeriodSeconds - Returns the length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. For more information, see How Does the Data Key Reuse Period Work?.

    The following attributes apply only to FIFO (first-in-first-out) queues:

    • FifoQueue - Returns whether the queue is FIFO. For more information, see FIFO Queue Logic in the Amazon Simple Queue Service Developer Guide.

      To determine whether a queue is FIFO, you can check whether QueueName ends with the .fifo suffix.

    • ContentBasedDeduplication - Returns whether content-based deduplication is enabled for the queue. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

    " } }, "documentation":"

    " @@ -670,8 +695,8 @@ "type":"structure", "members":{ "Attributes":{ - "shape":"AttributeMap", - "documentation":"

    A map of attributes to the respective values.

    ", + "shape":"QueueAttributeMap", + "documentation":"

    A map of attributes to their respective values.

    ", "locationName":"Attribute" } }, @@ -683,7 +708,7 @@ "members":{ "QueueName":{ "shape":"String", - "documentation":"

    The name of the queue whose URL must be fetched. Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.

    Queue names are case-sensitive.

    " + "documentation":"

    The name of the queue whose URL must be fetched. Maximum 80 characters. Valid values: alphanumeric characters, hyphens (-), and underscores (_).

    Queue URLs and names are case-sensitive.

    " }, "QueueOwnerAWSAccountId":{ "shape":"String", @@ -697,24 +722,24 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL for the queue.

    " + "documentation":"

    The URL of the queue.

    " } }, - "documentation":"

    For more information, see Responses in the Amazon SQS Developer Guide.

    " + "documentation":"

    For more information, see Interpreting Responses in the Amazon Simple Queue Service Developer Guide.

    " }, "Integer":{"type":"integer"}, "InvalidAttributeName":{ "type":"structure", "members":{ }, - "documentation":"

    The attribute referred to does not exist.

    ", + "documentation":"

    The specified attribute doesn't exist.

    ", "exception":true }, "InvalidBatchEntryId":{ "type":"structure", "members":{ }, - "documentation":"

    The Id of a batch entry in a batch request does not abide by the specification.

    ", + "documentation":"

    The Id of a batch entry in a batch request doesn't abide by the specification.

    ", "error":{ "code":"AWS.SimpleQueueService.InvalidBatchEntryId", "httpStatusCode":400, @@ -726,7 +751,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The receipt handle is not valid for the current version.

    ", + "documentation":"

    The specified receipt handle isn't valid for the current version.

    ", "exception":true }, "InvalidMessageContents":{ @@ -742,7 +767,7 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The queue URL of a dead letter queue.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of a dead-letter queue.

    Queue URLs and names are case-sensitive.

    " } }, "documentation":"

    " @@ -753,17 +778,37 @@ "members":{ "queueUrls":{ "shape":"QueueUrlList", - "documentation":"

    A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead letter queue.

    " + "documentation":"

    A list of source queue URLs that have the RedrivePolicy queue attribute configured with a dead-letter queue.

    " } }, "documentation":"

    A list of your dead letter source queues.

    " }, + "ListQueueTagsRequest":{ + "type":"structure", + "required":["QueueUrl"], + "members":{ + "QueueUrl":{ + "shape":"String", + "documentation":"

    The URL of the queue.

    " + } + } + }, + "ListQueueTagsResult":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

    The list of all tags added to the specified queue.

    ", + "locationName":"Tag" + } + } + }, "ListQueuesRequest":{ "type":"structure", "members":{ "QueueNamePrefix":{ "shape":"String", - "documentation":"

    A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

    Queue names are case-sensitive.

    " + "documentation":"

    A string to use for filtering the list results. Only those queues whose name begins with the specified string are returned.

    Queue URLs and names are case-sensitive.

    " } }, "documentation":"

    " @@ -773,7 +818,7 @@ "members":{ "QueueUrls":{ "shape":"QueueUrlList", - "documentation":"

    A list of queue URLs, up to 1000 entries.

    " + "documentation":"

    A list of queue URLs, up to 1,000 entries.

    " } }, "documentation":"

    A list of your queues.

    " @@ -783,7 +828,7 @@ "members":{ "MessageId":{ "shape":"String", - "documentation":"

    A unique identifier for the message. Message IDs are considered unique across all AWS accounts for an extended period of time.

    " + "documentation":"

    A unique identifier for the message. A MessageIdis considered unique across all AWS accounts for an extended period of time.

    " }, "ReceiptHandle":{ "shape":"String", @@ -798,34 +843,22 @@ "documentation":"

    The message's contents (not URL-encoded).

    " }, "Attributes":{ - "shape":"AttributeMap", - "documentation":"

    SenderId, SentTimestamp, ApproximateReceiveCount, and/or ApproximateFirstReceiveTimestamp. SentTimestamp and ApproximateFirstReceiveTimestamp are each returned as an integer representing the epoch time in milliseconds.

    ", + "shape":"MessageSystemAttributeMap", + "documentation":"

    A map of the attributes requested in ReceiveMessage to their respective values. Supported attributes:

    • ApproximateReceiveCount

    • ApproximateFirstReceiveTimestamp

    • MessageDeduplicationId

    • MessageGroupId

    • SenderId

    • SentTimestamp

    • SequenceNumber

    ApproximateFirstReceiveTimestamp and SentTimestamp are each returned as an integer representing the epoch time in milliseconds.

    ", "locationName":"Attribute" }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. This can be used to verify that Amazon SQS received the message correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    " + "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " }, "MessageAttributes":{ - "shape":"MessageAttributeMap", - "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items.

    ", + "shape":"MessageBodyAttributeMap", + "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    ", "locationName":"MessageAttribute" } }, "documentation":"

    An Amazon SQS message.

    " }, - "MessageAttributeMap":{ - "type":"map", - "key":{ - "shape":"String", - "locationName":"Name" - }, - "value":{ - "shape":"MessageAttributeValue", - "locationName":"Value" - }, - "flattened":true - }, "MessageAttributeName":{"type":"string"}, "MessageAttributeNameList":{ "type":"list", @@ -841,11 +874,11 @@ "members":{ "StringValue":{ "shape":"String", - "documentation":"

    Strings are Unicode with UTF8 binary encoding. For a list of code values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

    " + "documentation":"

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    " }, "BinaryValue":{ "shape":"Binary", - "documentation":"

    Binary type attributes can store any binary data, for example, compressed data, encrypted data, or images.

    " + "documentation":"

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    " }, "StringListValues":{ "shape":"StringList", @@ -861,10 +894,34 @@ }, "DataType":{ "shape":"String", - "documentation":"

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    You can also append custom labels. For more information, see Message Attribute Data Types.

    " + "documentation":"

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    " } }, - "documentation":"

    The user-specified message attribute value. For string data types, the value attribute has the same restrictions on the content as the message body. For more information, see SendMessage.

    Name, type, and value must not be empty or null. In addition, the message body should not be empty or null. All parts of the message attribute, including name, type, and value, are included in the message size restriction, which is currently 256 KB (262,144 bytes).

    " + "documentation":"

    The user-specified message attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see SendMessage.

    Name, type, value and the message body must not be empty or null. All parts of the message attribute, including Name, Type, and Value, are part of the message size restriction (256 KB or 262,144 bytes).

    " + }, + "MessageBodyAttributeMap":{ + "type":"map", + "key":{ + "shape":"String", + "locationName":"Name" + }, + "value":{ + "shape":"MessageAttributeValue", + "locationName":"Value" + }, + "flattened":true + }, + "MessageBodySystemAttributeMap":{ + "type":"map", + "key":{ + "shape":"MessageSystemAttributeNameForSends", + "locationName":"Name" + }, + "value":{ + "shape":"MessageSystemAttributeValue", + "locationName":"Value" + }, + "flattened":true }, "MessageList":{ "type":"list", @@ -878,7 +935,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The message referred to is not in flight.

    ", + "documentation":"

    The specified message isn't in flight.

    ", "error":{ "code":"AWS.SimpleQueueService.MessageNotInflight", "httpStatusCode":400, @@ -886,11 +943,72 @@ }, "exception":true }, + "MessageSystemAttributeMap":{ + "type":"map", + "key":{ + "shape":"MessageSystemAttributeName", + "locationName":"Name" + }, + "value":{ + "shape":"String", + "locationName":"Value" + }, + "flattened":true, + "locationName":"Attribute" + }, + "MessageSystemAttributeName":{ + "type":"string", + "enum":[ + "SenderId", + "SentTimestamp", + "ApproximateReceiveCount", + "ApproximateFirstReceiveTimestamp", + "SequenceNumber", + "MessageDeduplicationId", + "MessageGroupId", + "AWSTraceHeader" + ] + }, + "MessageSystemAttributeNameForSends":{ + "type":"string", + "enum":["AWSTraceHeader"] + }, + "MessageSystemAttributeValue":{ + "type":"structure", + "required":["DataType"], + "members":{ + "StringValue":{ + "shape":"String", + "documentation":"

    Strings are Unicode with UTF-8 binary encoding. For a list of code values, see ASCII Printable Characters.

    " + }, + "BinaryValue":{ + "shape":"Binary", + "documentation":"

    Binary type attributes can store any binary data, such as compressed data, encrypted data, or images.

    " + }, + "StringListValues":{ + "shape":"StringList", + "documentation":"

    Not implemented. Reserved for future use.

    ", + "flattened":true, + "locationName":"StringListValue" + }, + "BinaryListValues":{ + "shape":"BinaryList", + "documentation":"

    Not implemented. Reserved for future use.

    ", + "flattened":true, + "locationName":"BinaryListValue" + }, + "DataType":{ + "shape":"String", + "documentation":"

    Amazon SQS supports the following logical data types: String, Number, and Binary. For the Number data type, you must use StringValue.

    You can also append custom labels. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    " + } + }, + "documentation":"

    The user-specified message system attribute value. For string data types, the Value attribute has the same restrictions on the content as the message body. For more information, see SendMessage.

    Name, type, value and the message body must not be empty or null.

    " + }, "OverLimit":{ "type":"structure", "members":{ }, - "documentation":"

    The action that you requested would violate a limit. For example, ReceiveMessage returns this error if the maximum number of messages inflight has already been reached. AddPermission returns this error if the maximum number of permissions for the queue has already been reached.

    ", + "documentation":"

    The specified action violates a limit. For example, ReceiveMessage returns this error if the maximum number of inflight messages is reached and AddPermission returns this error if the maximum number of permissions for the queue is reached.

    ", "error":{ "code":"OverLimit", "httpStatusCode":403, @@ -902,7 +1020,7 @@ "type":"structure", "members":{ }, - "documentation":"

    Indicates that the specified queue previously received a PurgeQueue request within the last 60 seconds, the time it can take to delete the messages in the queue.

    ", + "documentation":"

    Indicates that the specified queue previously received a PurgeQueue request within the last 60 seconds (the time it can take to delete the messages in the queue).

    ", "error":{ "code":"AWS.SimpleQueueService.PurgeQueueInProgress", "httpStatusCode":403, @@ -916,14 +1034,28 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The queue URL of the queue to delete the messages from when using the PurgeQueue API.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the queue from which the PurgeQueue action deletes messages.

    Queue URLs and names are case-sensitive.

    " } }, "documentation":"

    " }, + "QueueAttributeMap":{ + "type":"map", + "key":{ + "shape":"QueueAttributeName", + "locationName":"Name" + }, + "value":{ + "shape":"String", + "locationName":"Value" + }, + "flattened":true, + "locationName":"Attribute" + }, "QueueAttributeName":{ "type":"string", "enum":[ + "All", "Policy", "VisibilityTimeout", "MaximumMessageSize", @@ -936,14 +1068,18 @@ "ApproximateNumberOfMessagesDelayed", "DelaySeconds", "ReceiveMessageWaitTimeSeconds", - "RedrivePolicy" + "RedrivePolicy", + "FifoQueue", + "ContentBasedDeduplication", + "KmsMasterKeyId", + "KmsDataKeyReusePeriodSeconds" ] }, "QueueDeletedRecently":{ "type":"structure", "members":{ }, - "documentation":"

    You must wait 60 seconds after deleting a queue before you can create another with the same name.

    ", + "documentation":"

    You must wait 60 seconds after deleting a queue before you can create another queue with the same name.

    ", "error":{ "code":"AWS.SimpleQueueService.QueueDeletedRecently", "httpStatusCode":400, @@ -955,7 +1091,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The queue referred to does not exist.

    ", + "documentation":"

    The specified queue doesn't exist.

    ", "error":{ "code":"AWS.SimpleQueueService.NonExistentQueue", "httpStatusCode":400, @@ -967,7 +1103,7 @@ "type":"structure", "members":{ }, - "documentation":"

    A queue already exists with this name. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.

    ", + "documentation":"

    A queue with this name already exists. Amazon SQS returns this error only if the request includes attributes whose values differ from those of the existing queue.

    ", "error":{ "code":"QueueAlreadyExists", "httpStatusCode":400, @@ -987,7 +1123,7 @@ "type":"structure", "members":{ }, - "documentation":"

    The receipt handle provided is not valid.

    ", + "documentation":"

    The specified receipt handle isn't valid.

    ", "exception":true }, "ReceiveMessageRequest":{ @@ -996,19 +1132,19 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue from which messages are received.

    Queue URLs and names are case-sensitive.

    " }, "AttributeNames":{ "shape":"AttributeNameList", - "documentation":"

    A list of attributes that need to be returned along with each message. These attributes include:

    • All - returns all values.

    • ApproximateFirstReceiveTimestamp - returns the time when the message was first received from the queue (epoch time in milliseconds).

    • ApproximateReceiveCount - returns the number of times a message has been received from the queue but not deleted.

    • SenderId - returns the AWS account number (or the IP address, if anonymous access is allowed) of the sender.

    • SentTimestamp - returns the time when the message was sent to the queue (epoch time in milliseconds).

    Any other valid special request parameters that are specified (such as ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, DelaySeconds, LastModifiedTimestamp, MaximumMessageSize, MessageRetentionPeriod, Policy, QueueArn, ReceiveMessageWaitTimeSeconds, RedrivePolicy, and VisibilityTimeout) will be ignored.

    " + "documentation":"

    A list of attributes that need to be returned along with each message. These attributes include:

    • All - Returns all values.

    • ApproximateFirstReceiveTimestamp - Returns the time the message was first received from the queue (epoch time in milliseconds).

    • ApproximateReceiveCount - Returns the number of times a message has been received from the queue but not deleted.

    • AWSTraceHeader - Returns the AWS X-Ray trace header string.

    • SenderId

      • For an IAM user, returns the IAM user ID, for example ABCDEFGHI1JKLMNOPQ23R.

      • For an IAM role, returns the IAM role ID, for example ABCDE1F2GH3I4JK5LMNOP:i-a123b456.

    • SentTimestamp - Returns the time the message was sent to the queue (epoch time in milliseconds).

    • MessageDeduplicationId - Returns the value provided by the producer that calls the SendMessage action.

    • MessageGroupId - Returns the value provided by the producer that calls the SendMessage action. Messages with the same MessageGroupId are returned in sequence.

    • SequenceNumber - Returns the value provided by Amazon SQS.

    " }, "MessageAttributeNames":{ "shape":"MessageAttributeNameList", - "documentation":"

    The name of the message attribute, where N is the index. The message attribute name can contain the following characters: A-Z, a-z, 0-9, underscore (_), hyphen (-), and period (.). The name must not start or end with a period, and it should not have successive periods. The name is case sensitive and must be unique among all attribute names for the message. The name can be up to 256 characters long. The name cannot start with \"AWS.\" or \"Amazon.\" (or any variations in casing), because these prefixes are reserved for use by Amazon Web Services.

    When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying \"All\" or \".*\" in your request. You can also use \"bar.*\" to return all message attributes starting with the \"bar\" prefix.

    " + "documentation":"

    The name of the message attribute, where N is the index.

    • The name can contain alphanumeric characters and the underscore (_), hyphen (-), and period (.).

    • The name is case-sensitive and must be unique among all attribute names for the message.

    • The name must not start with AWS-reserved prefixes such as AWS. or Amazon. (or any casing variants).

    • The name must not start or end with a period (.), and it should not have periods in succession (..).

    • The name can be up to 256 characters long.

    When using ReceiveMessage, you can send a list of attribute names to receive, or you can return all of the attributes by specifying All or .* in your request. You can also use all message attributes starting with a prefix, for example bar.*.

    " }, "MaxNumberOfMessages":{ "shape":"Integer", - "documentation":"

    The maximum number of messages to return. Amazon SQS never returns more messages than this value but may return fewer. Values can be from 1 to 10. Default is 1.

    All of the messages are not necessarily returned.

    " + "documentation":"

    The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values: 1 to 10. Default: 1.

    " }, "VisibilityTimeout":{ "shape":"Integer", @@ -1016,7 +1152,11 @@ }, "WaitTimeSeconds":{ "shape":"Integer", - "documentation":"

    The duration (in seconds) for which the call will wait for a message to arrive in the queue before returning. If a message is available, the call will return sooner than WaitTimeSeconds.

    " + "documentation":"

    The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. If no messages are available and the wait time expires, the call returns successfully with an empty list of messages.

    " + }, + "ReceiveRequestAttemptId":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The token used for deduplication of ReceiveMessage calls. If a networking issue occurs after a ReceiveMessage action, and instead of a response you receive a generic error, you can retry the same action with an identical ReceiveRequestAttemptId to retrieve the same set of messages, even if their visibility timeout has not yet expired.

    • You can use ReceiveRequestAttemptId only for 5 minutes after a ReceiveMessage action.

    • When you set FifoQueue, a caller of the ReceiveMessage action can provide a ReceiveRequestAttemptId explicitly.

    • If a caller of the ReceiveMessage action doesn't provide a ReceiveRequestAttemptId, Amazon SQS generates a ReceiveRequestAttemptId.

    • You can retry the ReceiveMessage action with the same ReceiveRequestAttemptId if none of the messages have been modified (deleted or had their visibility changes).

    • During a visibility timeout, subsequent calls with the same ReceiveRequestAttemptId return the same messages and receipt handles. If a retry occurs within the deduplication interval, it resets the visibility timeout. For more information, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

      If a caller of the ReceiveMessage action still processes messages when the visibility timeout expires and messages become visible, another worker consuming from the same queue can receive the same messages and therefore process duplicates. Also, if a consumer whose message processing time is longer than the visibility timeout tries to delete the processed messages, the action fails with an error.

      To mitigate this effect, ensure that your application observes a safe threshold before the visibility timeout expires and extend the visibility timeout as necessary.

    • While messages with a particular MessageGroupId are invisible, no more messages belonging to the same MessageGroupId are returned until the visibility timeout expires. You can still receive messages with another MessageGroupId as long as it is also visible.

    • If a caller of ReceiveMessage can't track the ReceiveRequestAttemptId, no retries work until the original visibility timeout expires. As a result, delays might occur but the messages in the queue remain in a strict order.

    The length of ReceiveRequestAttemptId is 128 characters. ReceiveRequestAttemptId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

    For best practices of using ReceiveRequestAttemptId, see Using the ReceiveRequestAttemptId Request Parameter in the Amazon Simple Queue Service Developer Guide.

    " } }, "documentation":"

    " @@ -1040,11 +1180,11 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue from which permissions are removed.

    Queue URLs and names are case-sensitive.

    " }, "Label":{ "shape":"String", - "documentation":"

    The identification of the permission to remove. This is the label added with the AddPermission action.

    " + "documentation":"

    The identification of the permission to remove. This is the label added using the AddPermission action.

    " } }, "documentation":"

    " @@ -1058,11 +1198,11 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue to which batched messages are sent.

    Queue URLs and names are case-sensitive.

    " }, "Entries":{ "shape":"SendMessageBatchRequestEntryList", - "documentation":"

    A list of SendMessageBatchRequestEntry items.

    " + "documentation":"

    A list of SendMessageBatchRequestEntry items.

    " } }, "documentation":"

    " @@ -1076,23 +1216,36 @@ "members":{ "Id":{ "shape":"String", - "documentation":"

    An identifier for the message in this batch. This is used to communicate the result. Note that the Ids of a batch request need to be unique within the request.

    " + "documentation":"

    An identifier for a message in this batch used to communicate the result.

    The Ids of a batch request need to be unique within a request

    This identifier can have up to 80 characters. The following characters are accepted: alphanumeric characters, hyphens(-), and underscores (_).

    " }, "MessageBody":{ "shape":"String", - "documentation":"

    Body of the message.

    " + "documentation":"

    The body of the message.

    " }, "DelaySeconds":{ "shape":"Integer", - "documentation":"

    The number of seconds for which the message has to be delayed.

    " + "documentation":"

    The length of time, in seconds, for which a specific message is delayed. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue is applied.

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    " }, "MessageAttributes":{ - "shape":"MessageAttributeMap", - "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items.

    ", + "shape":"MessageBodyAttributeMap", + "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    ", "locationName":"MessageAttribute" + }, + "MessageSystemAttributes":{ + "shape":"MessageBodySystemAttributeMap", + "documentation":"

    The message system attribute to send Each message system attribute consists of a Name, Type, and Value.

    • Currently, the only supported message system attribute is AWSTraceHeader. Its type must be String and its value must be a correctly formatted AWS X-Ray trace string.

    • The size of a message system attribute doesn't count towards the total size of a message.

    ", + "locationName":"MessageSystemAttribute" + }, + "MessageDeduplicationId":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The token used for deduplication of messages within a 5-minute minimum deduplication interval. If a message with a particular MessageDeduplicationId is sent successfully, subsequent messages with the same MessageDeduplicationId are accepted successfully but aren't delivered. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

    The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

    For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

    " + }, + "MessageGroupId":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, but the session data of each user is processed in a FIFO fashion.

    • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

    • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

    For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

    MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    " } }, - "documentation":"

    Contains the details of a single Amazon SQS message along with a Id.

    " + "documentation":"

    Contains the details of a single Amazon SQS message along with an Id.

    " }, "SendMessageBatchRequestEntryList":{ "type":"list", @@ -1111,14 +1264,14 @@ "members":{ "Successful":{ "shape":"SendMessageBatchResultEntryList", - "documentation":"

    A list of SendMessageBatchResultEntry items.

    " + "documentation":"

    A list of SendMessageBatchResultEntry items.

    " }, "Failed":{ "shape":"BatchResultErrorEntryList", - "documentation":"

    A list of BatchResultErrorEntry items with the error detail about each message that could not be enqueued.

    " + "documentation":"

    A list of BatchResultErrorEntry items with error details about each message that can't be enqueued.

    " } }, - "documentation":"

    For each message in the batch, the response contains a SendMessageBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

    " + "documentation":"

    For each message in the batch, the response contains a SendMessageBatchResultEntry tag if the message succeeds or a BatchResultErrorEntry tag if the message fails.

    " }, "SendMessageBatchResultEntry":{ "type":"structure", @@ -1138,14 +1291,22 @@ }, "MD5OfMessageBody":{ "shape":"String", - "documentation":"

    An MD5 digest of the non-URL-encoded message body string. This can be used to verify that Amazon SQS received the message correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    " + "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. This can be used to verify that Amazon SQS received the message batch correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    " + "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " + }, + "MD5OfMessageSystemAttributes":{ + "shape":"String", + "documentation":"

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " + }, + "SequenceNumber":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The large, non-consecutive number that Amazon SQS assigns to each message.

    The length of SequenceNumber is 128 bits. As SequenceNumber continues to increase for a particular MessageGroupId.

    " } }, - "documentation":"

    Encloses a message ID for successfully enqueued message of a SendMessageBatch.

    " + "documentation":"

    Encloses a MessageId for a successfully-enqueued message in a SendMessageBatch.

    " }, "SendMessageBatchResultEntryList":{ "type":"list", @@ -1164,20 +1325,33 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue to which a message is sent.

    Queue URLs and names are case-sensitive.

    " }, "MessageBody":{ "shape":"String", - "documentation":"

    The message to send. String maximum 256 KB in size. For a list of allowed characters, see the preceding important note.

    " + "documentation":"

    The message to send. The maximum string size is 256 KB.

    A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:

    #x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

    Any characters not included in this list will be rejected. For more information, see the W3C specification for characters.

    " }, "DelaySeconds":{ "shape":"Integer", - "documentation":"

    The number of seconds (0 to 900 - 15 minutes) to delay a specific message. Messages with a positive DelaySeconds value become available for processing after the delay time is finished. If you don't specify a value, the default value for the queue applies.

    " + "documentation":"

    The length of time, in seconds, for which to delay a specific message. Valid values: 0 to 900. Maximum: 15 minutes. Messages with a positive DelaySeconds value become available for processing after the delay period is finished. If you don't specify a value, the default value for the queue applies.

    When you set FifoQueue, you can't set DelaySeconds per message. You can set this parameter only on a queue level.

    " }, "MessageAttributes":{ - "shape":"MessageAttributeMap", - "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Message Attribute Items.

    ", + "shape":"MessageBodyAttributeMap", + "documentation":"

    Each message attribute consists of a Name, Type, and Value. For more information, see Amazon SQS Message Attributes in the Amazon Simple Queue Service Developer Guide.

    ", "locationName":"MessageAttribute" + }, + "MessageSystemAttributes":{ + "shape":"MessageBodySystemAttributeMap", + "documentation":"

    The message system attribute to send. Each message system attribute consists of a Name, Type, and Value.

    • Currently, the only supported message system attribute is AWSTraceHeader. Its type must be String and its value must be a correctly formatted AWS X-Ray trace string.

    • The size of a message system attribute doesn't count towards the total size of a message.

    ", + "locationName":"MessageSystemAttribute" + }, + "MessageDeduplicationId":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The token used for deduplication of sent messages. If a message with a particular MessageDeduplicationId is sent successfully, any messages sent with the same MessageDeduplicationId are accepted successfully but aren't delivered during the 5-minute deduplication interval. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

    • Every message must have a unique MessageDeduplicationId,

      • You may provide a MessageDeduplicationId explicitly.

      • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

      • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

      • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

    • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

    • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

    The MessageDeduplicationId is available to the consumer of the message (this can be useful for troubleshooting delivery issues).

    If a message is sent successfully but the acknowledgement is lost and the message is resent with the same MessageDeduplicationId after the deduplication interval, Amazon SQS can't detect duplicate messages.

    Amazon SQS continues to keep track of the message deduplication ID even after the message is received and deleted.

    The length of MessageDeduplicationId is 128 characters. MessageDeduplicationId can contain alphanumeric characters (a-z, A-Z, 0-9) and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

    For best practices of using MessageDeduplicationId, see Using the MessageDeduplicationId Property in the Amazon Simple Queue Service Developer Guide.

    " + }, + "MessageGroupId":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The tag that specifies that a message belongs to a specific message group. Messages that belong to the same message group are processed in a FIFO manner (however, messages in different message groups might be processed out of order). To interleave multiple ordered streams within a single queue, use MessageGroupId values (for example, session data for multiple users). In this scenario, multiple consumers can process the queue, but the session data of each user is processed in a FIFO fashion.

    • You must associate a non-empty MessageGroupId with a message. If you don't provide a MessageGroupId, the action fails.

    • ReceiveMessage might return messages with multiple MessageGroupId values. For each MessageGroupId, the messages are sorted by time sent. The caller can't specify a MessageGroupId.

    The length of MessageGroupId is 128 characters. Valid values: alphanumeric characters and punctuation (!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~).

    For best practices of using MessageGroupId, see Using the MessageGroupId Property in the Amazon Simple Queue Service Developer Guide.

    MessageGroupId is required for FIFO queues. You can't use it for Standard queues.

    " } }, "documentation":"

    " @@ -1187,18 +1361,26 @@ "members":{ "MD5OfMessageBody":{ "shape":"String", - "documentation":"

    An MD5 digest of the non-URL-encoded message body string. This can be used to verify that Amazon SQS received the message correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    " + "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " }, "MD5OfMessageAttributes":{ "shape":"String", - "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. This can be used to verify that Amazon SQS received the message correctly. Amazon SQS first URL decodes the message before creating the MD5 digest. For information about MD5, go to http://www.faqs.org/rfcs/rfc1321.html.

    " + "documentation":"

    An MD5 digest of the non-URL-encoded message attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest. For information about MD5, see RFC1321.

    " + }, + "MD5OfMessageSystemAttributes":{ + "shape":"String", + "documentation":"

    An MD5 digest of the non-URL-encoded message system attribute string. You can use this attribute to verify that Amazon SQS received the message correctly. Amazon SQS URL-decodes the message before creating the MD5 digest.

    " }, "MessageId":{ "shape":"String", - "documentation":"

    An element containing the message ID of the message sent to the queue. For more information, see Queue and Message Identifiers in the Amazon SQS Developer Guide.

    " + "documentation":"

    An attribute containing the MessageId of the message sent to the queue. For more information, see Queue and Message Identifiers in the Amazon Simple Queue Service Developer Guide.

    " + }, + "SequenceNumber":{ + "shape":"String", + "documentation":"

    This parameter applies only to FIFO (first-in-first-out) queues.

    The large, non-consecutive number that Amazon SQS assigns to each message.

    The length of SequenceNumber is 128 bits. SequenceNumber continues to increase for a particular MessageGroupId.

    " } }, - "documentation":"

    The MD5OfMessageBody and MessageId elements.

    " + "documentation":"

    The MD5OfMessageBody and MessageId elements.

    " }, "SetQueueAttributesRequest":{ "type":"structure", @@ -1209,11 +1391,11 @@ "members":{ "QueueUrl":{ "shape":"String", - "documentation":"

    The URL of the Amazon SQS queue to take action on.

    Queue URLs are case-sensitive.

    " + "documentation":"

    The URL of the Amazon SQS queue whose attributes are set.

    Queue URLs and names are case-sensitive.

    " }, "Attributes":{ - "shape":"AttributeMap", - "documentation":"

    A map of attributes to set.

    The following lists the names, descriptions, and values of the special request parameters the SetQueueAttributes action uses:

    • DelaySeconds - The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 (zero).

    • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB).

    • MessageRetentionPeriod - The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days).

    • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

    • ReceiveMessageWaitTimeSeconds - The time for which a ReceiveMessage call will wait for a message to arrive. An integer from 0 to 20 (seconds). The default for this attribute is 0.

    • VisibilityTimeout - The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide.

    • RedrivePolicy - The parameters for dead letter queue functionality of the source queue. For more information about RedrivePolicy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer Guide.

    Any other valid special request parameters that are specified (such as ApproximateNumberOfMessages, ApproximateNumberOfMessagesDelayed, ApproximateNumberOfMessagesNotVisible, CreatedTimestamp, LastModifiedTimestamp, and QueueArn) will be ignored.

    ", + "shape":"QueueAttributeMap", + "documentation":"

    A map of attributes to set.

    The following lists the names, descriptions, and values of the special request parameters that the SetQueueAttributes action uses:

    • DelaySeconds - The length of time, in seconds, for which the delivery of all messages in the queue is delayed. Valid values: An integer from 0 to 900 (15 minutes). Default: 0.

    • MaximumMessageSize - The limit of how many bytes a message can contain before Amazon SQS rejects it. Valid values: An integer from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). Default: 262,144 (256 KiB).

    • MessageRetentionPeriod - The length of time, in seconds, for which Amazon SQS retains a message. Valid values: An integer representing seconds, from 60 (1 minute) to 1,209,600 (14 days). Default: 345,600 (4 days).

    • Policy - The queue's policy. A valid AWS policy. For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide.

    • ReceiveMessageWaitTimeSeconds - The length of time, in seconds, for which a ReceiveMessage action waits for a message to arrive. Valid values: an integer from 0 to 20 (seconds). Default: 0.

    • RedrivePolicy - The string that includes the parameters for the dead-letter queue functionality of the source queue. For more information about the redrive policy and dead-letter queues, see Using Amazon SQS Dead-Letter Queues in the Amazon Simple Queue Service Developer Guide.

      • deadLetterTargetArn - The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

      • maxReceiveCount - The number of times a message is delivered to the source queue before being moved to the dead-letter queue. When the ReceiveCount for a message exceeds the maxReceiveCount for a queue, Amazon SQS moves the message to the dead-letter-queue.

      The dead-letter queue of a FIFO queue must also be a FIFO queue. Similarly, the dead-letter queue of a standard queue must also be a standard queue.

    • VisibilityTimeout - The visibility timeout for the queue, in seconds. Valid values: an integer from 0 to 43,200 (12 hours). Default: 30. For more information about the visibility timeout, see Visibility Timeout in the Amazon Simple Queue Service Developer Guide.

    The following attributes apply only to server-side-encryption:

    • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms. While the alias of the AWS-managed CMK for Amazon SQS is always alias/aws/sqs, the alias of a custom CMK can, for example, be alias/MyAlias . For more examples, see KeyId in the AWS Key Management Service API Reference.

    • KmsDataKeyReusePeriodSeconds - The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). A shorter time period provides better security but results in more calls to KMS which might incur charges after Free Tier. For more information, see How Does the Data Key Reuse Period Work?.

    The following attribute applies only to FIFO (first-in-first-out) queues:

    • ContentBasedDeduplication - Enables content-based deduplication. For more information, see Exactly-Once Processing in the Amazon Simple Queue Service Developer Guide.

      • Every message must have a unique MessageDeduplicationId,

        • You may provide a MessageDeduplicationId explicitly.

        • If you aren't able to provide a MessageDeduplicationId and you enable ContentBasedDeduplication for your queue, Amazon SQS uses a SHA-256 hash to generate the MessageDeduplicationId using the body of the message (but not the attributes of the message).

        • If you don't provide a MessageDeduplicationId and the queue doesn't have ContentBasedDeduplication set, the action fails with an error.

        • If the queue has ContentBasedDeduplication set, your MessageDeduplicationId overrides the generated one.

      • When ContentBasedDeduplication is in effect, messages with identical content sent within the deduplication interval are treated as duplicates and only one copy of the message is delivered.

      • If you send one message with ContentBasedDeduplication enabled and then another message with a MessageDeduplicationId that is the same as the one generated for the first MessageDeduplicationId, the two messages are treated as duplicates and only one copy of the message is delivered.

    ", "locationName":"Attribute" } }, @@ -1227,11 +1409,51 @@ "locationName":"StringListValue" } }, + "TagKey":{"type":"string"}, + "TagKeyList":{ + "type":"list", + "member":{ + "shape":"TagKey", + "locationName":"TagKey" + }, + "flattened":true + }, + "TagMap":{ + "type":"map", + "key":{ + "shape":"TagKey", + "locationName":"Key" + }, + "value":{ + "shape":"TagValue", + "locationName":"Value" + }, + "flattened":true, + "locationName":"Tag" + }, + "TagQueueRequest":{ + "type":"structure", + "required":[ + "QueueUrl", + "Tags" + ], + "members":{ + "QueueUrl":{ + "shape":"String", + "documentation":"

    The URL of the queue.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The list of tags to be added to the specified queue.

    " + } + } + }, + "TagValue":{"type":"string"}, "TooManyEntriesInBatchRequest":{ "type":"structure", "members":{ }, - "documentation":"

    Batch request contains more number of entries than permissible.

    ", + "documentation":"

    The batch request contains more entries than permissible.

    ", "error":{ "code":"AWS.SimpleQueueService.TooManyEntriesInBatchRequest", "httpStatusCode":400, @@ -1250,7 +1472,24 @@ "senderFault":true }, "exception":true + }, + "UntagQueueRequest":{ + "type":"structure", + "required":[ + "QueueUrl", + "TagKeys" + ], + "members":{ + "QueueUrl":{ + "shape":"String", + "documentation":"

    The URL of the queue.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The list of tags to be removed from the specified queue.

    " + } + } } }, - "documentation":"

    Welcome to the Amazon Simple Queue Service API Reference. This section describes who should read this guide, how the guide is organized, and other resources related to the Amazon Simple Queue Service (Amazon SQS).

    Amazon SQS offers reliable and scalable hosted queues for storing messages as they travel between computers. By using Amazon SQS, you can move data between distributed components of your applications that perform different tasks without losing messages or requiring each component to be always available.

    Helpful Links:

    We also provide SDKs that enable you to access Amazon SQS from your preferred programming language. The SDKs contain functionality that automatically takes care of tasks such as:

    • Cryptographically signing your service requests

    • Retrying requests

    • Handling error responses

    For a list of available SDKs, go to Tools for Amazon Web Services.

    " + "documentation":"

    Welcome to the Amazon Simple Queue Service API Reference.

    Amazon Simple Queue Service (Amazon SQS) is a reliable, highly-scalable hosted queue for storing messages as they travel between applications or microservices. Amazon SQS moves data between distributed application components and helps you decouple these components.

    You can use AWS SDKs to access Amazon SQS using your favorite programming language. The SDKs perform tasks such as the following automatically:

    • Cryptographically sign your service requests

    • Retry requests

    • Handle error responses

    Additional Information

    " } diff -Nru python-botocore-1.4.70/botocore/data/ssm/2014-11-06/examples-1.json python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/examples-1.json --- python-botocore-1.4.70/botocore/data/ssm/2014-11-06/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/ssm/2014-11-06/paginators-1.json python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/paginators-1.json --- python-botocore-1.4.70/botocore/data/ssm/2014-11-06/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -23,6 +23,222 @@ "output_token": "NextToken", "limit_key": "MaxResults", "result_key": "DocumentIdentifiers" + }, + "DescribeInstanceInformation": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InstanceInformationList" + }, + "DescribeActivations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ActivationList" + }, + "DescribeParameters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Parameters" + }, + "DescribeAssociationExecutions": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AssociationExecutions" + }, + "DescribeAssociationExecutionTargets": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "AssociationExecutionTargets" + }, + "GetInventory": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Entities" + }, + "GetParametersByPath": { + "result_key": "Parameters", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "GetParameterHistory": { + "result_key": "Parameters", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "DescribeAutomationExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AutomationExecutionMetadataList" + }, + "DescribeAutomationStepExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "StepExecutions" + }, + "DescribeAvailablePatches": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Patches" + }, + "DescribeEffectiveInstanceAssociations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Associations" + }, + "DescribeEffectivePatchesForPatchBaseline": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "EffectivePatches" + }, + "DescribeInstanceAssociationsStatus": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstanceAssociationStatusInfos" + }, + "DescribeInstancePatchStates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstancePatchStates" + }, + "DescribeInstancePatchStatesForPatchGroup": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InstancePatchStates" + }, + "DescribeInstancePatches": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Patches" + }, + "DescribeInventoryDeletions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "InventoryDeletions" + }, + "DescribeMaintenanceWindowExecutionTaskInvocations": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutionTaskInvocationIdentities" + }, + "DescribeMaintenanceWindowExecutionTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutionTaskIdentities" + }, + "DescribeMaintenanceWindowExecutions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowExecutions" + }, + "DescribeMaintenanceWindowSchedule": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ScheduledWindowExecutions" + }, + "DescribeMaintenanceWindowTargets": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Targets" + }, + "DescribeMaintenanceWindowTasks": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Tasks" + }, + "DescribeMaintenanceWindows": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowIdentities" + }, + "DescribeMaintenanceWindowsForTarget": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "WindowIdentities" + }, + "DescribePatchBaselines": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "BaselineIdentities" + }, + "DescribePatchGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Mappings" + }, + "DescribeSessions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Sessions" + }, + "GetInventorySchema": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Schemas" + }, + "ListAssociationVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "AssociationVersions" + }, + "ListComplianceItems": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ComplianceItems" + }, + "ListComplianceSummaries": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ComplianceSummaryItems" + }, + "ListDocumentVersions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DocumentVersions" + }, + "ListResourceComplianceSummaries": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceComplianceSummaryItems" + }, + "ListResourceDataSync": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ResourceDataSyncItems" } } } diff -Nru python-botocore-1.4.70/botocore/data/ssm/2014-11-06/service-2.json python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/service-2.json --- python-botocore-1.4.70/botocore/data/ssm/2014-11-06/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/ssm/2014-11-06/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,9 +6,11 @@ "jsonVersion":"1.1", "protocol":"json", "serviceAbbreviation":"Amazon SSM", - "serviceFullName":"Amazon Simple Systems Management Service", + "serviceFullName":"Amazon Simple Systems Manager (SSM)", + "serviceId":"SSM", "signatureVersion":"v4", - "targetPrefix":"AmazonSSM" + "targetPrefix":"AmazonSSM", + "uid":"ssm-2014-11-06" }, "operations":{ "AddTagsToResource":{ @@ -22,9 +24,11 @@ "errors":[ {"shape":"InvalidResourceType"}, {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"TooManyTagsError"}, + {"shape":"TooManyUpdates"} ], - "documentation":"

    Adds or overwrites one or more tags for the specified resource. Tags are metadata that you assign to your managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test. Each resource can have a maximum of 10 tags.

    We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

    For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

    " + "documentation":"

    Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

    Each resource can have a maximum of 50 tags.

    We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to and are interpreted strictly as a string of characters.

    For more information about using tags with EC2 instances, see Tagging your Amazon EC2 resources in the Amazon EC2 User Guide.

    " }, "CancelCommand":{ "name":"CancelCommand", @@ -42,6 +46,20 @@ ], "documentation":"

    Attempts to cancel the command specified by the Command ID. There is no guarantee that the command will be terminated and the underlying process stopped.

    " }, + "CancelMaintenanceWindowExecution":{ + "name":"CancelMaintenanceWindowExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CancelMaintenanceWindowExecutionRequest"}, + "output":{"shape":"CancelMaintenanceWindowExecutionResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"DoesNotExistException"} + ], + "documentation":"

    Stops a maintenance window execution that is already in progress and cancels any tasks in the window that have not already starting running. (Tasks already in progress will continue to completion.)

    " + }, "CreateActivation":{ "name":"CreateActivation", "http":{ @@ -53,7 +71,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

    Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up Managed Instances (Linux) or Setting Up Managed Instances (Windows) in the Amazon EC2 User Guide.

    " + "documentation":"

    Generates an activation code and activation ID you can use to register your on-premises server or virtual machine (VM) with Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises instances and VMs using Systems Manager, see Setting up AWS Systems Manager for hybrid environments in the AWS Systems Manager User Guide.

    On-premises servers or VMs that are registered with Systems Manager and EC2 instances that you manage with Systems Manager are all called managed instances.

    " }, "CreateAssociation":{ "name":"CreateAssociation", @@ -68,11 +86,15 @@ {"shape":"AssociationLimitExceeded"}, {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, {"shape":"InvalidInstanceId"}, {"shape":"UnsupportedPlatformType"}, - {"shape":"InvalidParameters"} + {"shape":"InvalidOutputLocation"}, + {"shape":"InvalidParameters"}, + {"shape":"InvalidTarget"}, + {"shape":"InvalidSchedule"} ], - "documentation":"

    Associates the specified SSM document with the specified instance.

    When you associate an SSM document with an instance, the configuration agent on the instance (SSM agent for Linux and EC2Config service for Windows) processes the document and configures the instance as specified.

    If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

    " + "documentation":"

    Associates the specified Systems Manager document with the specified instances or targets.

    When you associate a document with one or more instances, SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system returns the AssociationAlreadyExists exception.

    " }, "CreateAssociationBatch":{ "name":"CreateAssociationBatch", @@ -85,13 +107,17 @@ "errors":[ {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, {"shape":"InvalidInstanceId"}, {"shape":"InvalidParameters"}, {"shape":"DuplicateInstanceId"}, {"shape":"AssociationLimitExceeded"}, - {"shape":"UnsupportedPlatformType"} + {"shape":"UnsupportedPlatformType"}, + {"shape":"InvalidOutputLocation"}, + {"shape":"InvalidTarget"}, + {"shape":"InvalidSchedule"} ], - "documentation":"

    Associates the specified SSM document with the specified instances.

    When you associate an SSM document with an instance, the configuration agent on the instance (SSM agent for Linux and EC2Config service for Windows) processes the document and configures the instance as specified.

    If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

    " + "documentation":"

    Associates the specified Systems Manager document with the specified instances or targets.

    When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified.

    If you associate a document with an instance that already has an associated document, the system returns the AssociationAlreadyExists exception.

    " }, "CreateDocument":{ "name":"CreateDocument", @@ -106,9 +132,72 @@ {"shape":"MaxDocumentSizeExceeded"}, {"shape":"InternalServerError"}, {"shape":"InvalidDocumentContent"}, - {"shape":"DocumentLimitExceeded"} + {"shape":"DocumentLimitExceeded"}, + {"shape":"InvalidDocumentSchemaVersion"} + ], + "documentation":"

    Creates a Systems Manager (SSM) document. An SSM document defines the actions that Systems Manager performs on your managed instances. For more information about SSM documents, including information about supported schemas, features, and syntax, see AWS Systems Manager Documents in the AWS Systems Manager User Guide.

    " + }, + "CreateMaintenanceWindow":{ + "name":"CreateMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMaintenanceWindowRequest"}, + "output":{"shape":"CreateMaintenanceWindowResult"}, + "errors":[ + {"shape":"IdempotentParameterMismatch"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Creates a new maintenance window.

    The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

    " + }, + "CreateOpsItem":{ + "name":"CreateOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateOpsItemRequest"}, + "output":{"shape":"CreateOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemAlreadyExistsException"}, + {"shape":"OpsItemLimitExceededException"}, + {"shape":"OpsItemInvalidParameterException"} + ], + "documentation":"

    Creates a new OpsItem. You must have permission in AWS Identity and Access Management (IAM) to create a new OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    " + }, + "CreatePatchBaseline":{ + "name":"CreatePatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePatchBaselineRequest"}, + "output":{"shape":"CreatePatchBaselineResult"}, + "errors":[ + {"shape":"IdempotentParameterMismatch"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Creates a patch baseline.

    For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

    " + }, + "CreateResourceDataSync":{ + "name":"CreateResourceDataSync", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResourceDataSyncRequest"}, + "output":{"shape":"CreateResourceDataSyncResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ResourceDataSyncCountExceededException"}, + {"shape":"ResourceDataSyncAlreadyExistsException"}, + {"shape":"ResourceDataSyncInvalidConfigurationException"} ], - "documentation":"

    Creates an SSM document.

    After you create an SSM document, you can use CreateAssociation to associate it with one or more running instances.

    " + "documentation":"

    A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: SyncToDestination and SyncFromSource.

    You can configure Systems Manager Inventory to use the SyncToDestination type to synchronize Inventory data from multiple AWS Regions to a single S3 bucket. For more information, see Configuring Resource Data Sync for Inventory in the AWS Systems Manager User Guide.

    You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions to a single S3 bucket. This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or EntireOrganization by using AWS Organizations. For more information, see Setting up Systems Manager Explorer to display data from multiple accounts and Regions in the AWS Systems Manager User Guide.

    A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the ListResourceDataSync.

    By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.

    " }, "DeleteActivation":{ "name":"DeleteActivation", @@ -121,7 +210,8 @@ "errors":[ {"shape":"InvalidActivationId"}, {"shape":"InvalidActivation"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"TooManyUpdates"} ], "documentation":"

    Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.

    " }, @@ -140,7 +230,7 @@ {"shape":"InvalidInstanceId"}, {"shape":"TooManyUpdates"} ], - "documentation":"

    Disassociates the specified SSM document from the specified instance.

    When you disassociate an SSM document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

    " + "documentation":"

    Disassociates the specified Systems Manager document from the specified instance.

    When you disassociate a document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

    " }, "DeleteDocument":{ "name":"DeleteDocument", @@ -156,7 +246,93 @@ {"shape":"InvalidDocumentOperation"}, {"shape":"AssociatedInstances"} ], - "documentation":"

    Deletes the SSM document and all instance associations to the document.

    Before you delete the SSM document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

    " + "documentation":"

    Deletes the Systems Manager document and all instance associations to the document.

    Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

    " + }, + "DeleteInventory":{ + "name":"DeleteInventory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInventoryRequest"}, + "output":{"shape":"DeleteInventoryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidOptionException"}, + {"shape":"InvalidDeleteInventoryParametersException"}, + {"shape":"InvalidInventoryRequestException"} + ], + "documentation":"

    Delete a custom inventory type, or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.

    " + }, + "DeleteMaintenanceWindow":{ + "name":"DeleteMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMaintenanceWindowRequest"}, + "output":{"shape":"DeleteMaintenanceWindowResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Deletes a maintenance window.

    " + }, + "DeleteParameter":{ + "name":"DeleteParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParameterRequest"}, + "output":{"shape":"DeleteParameterResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ParameterNotFound"} + ], + "documentation":"

    Delete a parameter from the system.

    " + }, + "DeleteParameters":{ + "name":"DeleteParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParametersRequest"}, + "output":{"shape":"DeleteParametersResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Delete a list of parameters.

    " + }, + "DeletePatchBaseline":{ + "name":"DeletePatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePatchBaselineRequest"}, + "output":{"shape":"DeletePatchBaselineResult"}, + "errors":[ + {"shape":"ResourceInUseException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Deletes a patch baseline.

    " + }, + "DeleteResourceDataSync":{ + "name":"DeleteResourceDataSync", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceDataSyncRequest"}, + "output":{"shape":"DeleteResourceDataSyncResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ResourceDataSyncNotFoundException"}, + {"shape":"ResourceDataSyncInvalidConfigurationException"} + ], + "documentation":"

    Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to data on managed instances are no longer synced to or from the target. Deleting a sync configuration does not delete data.

    " }, "DeregisterManagedInstance":{ "name":"DeregisterManagedInstance", @@ -170,7 +346,50 @@ {"shape":"InvalidInstanceId"}, {"shape":"InternalServerError"} ], - "documentation":"

    Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don’t plan to use Run Command on the server, we suggest uninstalling the SSM agent first.

    " + "documentation":"

    Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling SSM Agent first.

    " + }, + "DeregisterPatchBaselineForPatchGroup":{ + "name":"DeregisterPatchBaselineForPatchGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterPatchBaselineForPatchGroupRequest"}, + "output":{"shape":"DeregisterPatchBaselineForPatchGroupResult"}, + "errors":[ + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Removes a patch group from a patch baseline.

    " + }, + "DeregisterTargetFromMaintenanceWindow":{ + "name":"DeregisterTargetFromMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterTargetFromMaintenanceWindowRequest"}, + "output":{"shape":"DeregisterTargetFromMaintenanceWindowResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"}, + {"shape":"TargetInUseException"} + ], + "documentation":"

    Removes a target from a maintenance window.

    " + }, + "DeregisterTaskFromMaintenanceWindow":{ + "name":"DeregisterTaskFromMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterTaskFromMaintenanceWindowRequest"}, + "output":{"shape":"DeregisterTaskFromMaintenanceWindowResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Removes a task from a maintenance window.

    " }, "DescribeActivations":{ "name":"DescribeActivations", @@ -185,7 +404,7 @@ {"shape":"InvalidNextToken"}, {"shape":"InternalServerError"} ], - "documentation":"

    Details about the activation, including: the date and time the activation was created, the expiration date, the IAM role assigned to the instances in the activation, and the number of instances activated by this registration.

    " + "documentation":"

    Describes details about the activation, such as the date and time the activation was created, its expiration date, the IAM role assigned to the instances in the activation, and the number of instances registered by using this activation.

    " }, "DescribeAssociation":{ "name":"DescribeAssociation", @@ -197,11 +416,89 @@ "output":{"shape":"DescribeAssociationResult"}, "errors":[ {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidAssociationVersion"}, {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, {"shape":"InvalidInstanceId"} ], - "documentation":"

    Describes the associations for the specified SSM document or instance.

    " + "documentation":"

    Describes the association for the specified target or instance. If you created the association by using the Targets parameter, then you must retrieve the association by using the association ID. If you created the association by specifying an instance ID and a Systems Manager document, then you retrieve the association by specifying the document name and the instance ID.

    " + }, + "DescribeAssociationExecutionTargets":{ + "name":"DescribeAssociationExecutionTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAssociationExecutionTargetsRequest"}, + "output":{"shape":"DescribeAssociationExecutionTargetsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidNextToken"}, + {"shape":"AssociationExecutionDoesNotExist"} + ], + "documentation":"

    Use this API action to view information about a specific execution of a specific association.

    " + }, + "DescribeAssociationExecutions":{ + "name":"DescribeAssociationExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAssociationExecutionsRequest"}, + "output":{"shape":"DescribeAssociationExecutionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Use this API action to view all executions for a specific association ID.

    " + }, + "DescribeAutomationExecutions":{ + "name":"DescribeAutomationExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAutomationExecutionsRequest"}, + "output":{"shape":"DescribeAutomationExecutionsResult"}, + "errors":[ + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterValue"}, + {"shape":"InvalidNextToken"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Provides details about all active and terminated Automation executions.

    " + }, + "DescribeAutomationStepExecutions":{ + "name":"DescribeAutomationStepExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAutomationStepExecutionsRequest"}, + "output":{"shape":"DescribeAutomationStepExecutionsResult"}, + "errors":[ + {"shape":"AutomationExecutionNotFoundException"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterValue"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Information about all active and terminated step executions in an Automation workflow.

    " + }, + "DescribeAvailablePatches":{ + "name":"DescribeAvailablePatches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAvailablePatchesRequest"}, + "output":{"shape":"DescribeAvailablePatchesResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists all patches eligible to be included in a patch baseline.

    " }, "DescribeDocument":{ "name":"DescribeDocument", @@ -213,9 +510,10 @@ "output":{"shape":"DescribeDocumentResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"} + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"} ], - "documentation":"

    Describes the specified SSM document.

    " + "documentation":"

    Describes the specified Systems Manager document.

    " }, "DescribeDocumentPermission":{ "name":"DescribeDocumentPermission", @@ -230,1168 +528,12111 @@ {"shape":"InvalidDocument"}, {"shape":"InvalidPermissionType"} ], - "documentation":"

    Describes the permissions for an SSM document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user’s AWS account ID) or publicly (All).

    " + "documentation":"

    Describes the permissions for a Systems Manager document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user's AWS account ID) or publicly (All).

    " }, - "DescribeInstanceInformation":{ - "name":"DescribeInstanceInformation", + "DescribeEffectiveInstanceAssociations":{ + "name":"DescribeEffectiveInstanceAssociations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"DescribeInstanceInformationRequest"}, - "output":{"shape":"DescribeInstanceInformationResult"}, + "input":{"shape":"DescribeEffectiveInstanceAssociationsRequest"}, + "output":{"shape":"DescribeEffectiveInstanceAssociationsResult"}, "errors":[ {"shape":"InternalServerError"}, {"shape":"InvalidInstanceId"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidInstanceInformationFilterValue"}, - {"shape":"InvalidFilterKey"} + {"shape":"InvalidNextToken"} ], - "documentation":"

    Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error.

    " + "documentation":"

    All associations for the instance(s).

    " }, - "GetDocument":{ - "name":"GetDocument", + "DescribeEffectivePatchesForPatchBaseline":{ + "name":"DescribeEffectivePatchesForPatchBaseline", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"GetDocumentRequest"}, - "output":{"shape":"GetDocumentResult"}, + "input":{"shape":"DescribeEffectivePatchesForPatchBaselineRequest"}, + "output":{"shape":"DescribeEffectivePatchesForPatchBaselineResult"}, "errors":[ - {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"} + {"shape":"InvalidResourceId"}, + {"shape":"DoesNotExistException"}, + {"shape":"UnsupportedOperatingSystem"}, + {"shape":"InternalServerError"} ], - "documentation":"

    Gets the contents of the specified SSM document.

    " + "documentation":"

    Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Note that this API applies only to Windows patch baselines.

    " }, - "ListAssociations":{ - "name":"ListAssociations", + "DescribeInstanceAssociationsStatus":{ + "name":"DescribeInstanceAssociationsStatus", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListAssociationsRequest"}, - "output":{"shape":"ListAssociationsResult"}, + "input":{"shape":"DescribeInstanceAssociationsStatusRequest"}, + "output":{"shape":"DescribeInstanceAssociationsStatusResult"}, "errors":[ {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, {"shape":"InvalidNextToken"} ], - "documentation":"

    Lists the associations for the specified SSM document or instance.

    " + "documentation":"

    The status of the associations for the instance(s).

    " }, - "ListCommandInvocations":{ - "name":"ListCommandInvocations", + "DescribeInstanceInformation":{ + "name":"DescribeInstanceInformation", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListCommandInvocationsRequest"}, - "output":{"shape":"ListCommandInvocationsResult"}, + "input":{"shape":"DescribeInstanceInformationRequest"}, + "output":{"shape":"DescribeInstanceInformationResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, {"shape":"InvalidInstanceId"}, - {"shape":"InvalidFilterKey"}, - {"shape":"InvalidNextToken"} + {"shape":"InvalidNextToken"}, + {"shape":"InvalidInstanceInformationFilterValue"}, + {"shape":"InvalidFilterKey"} ], - "documentation":"

    An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

    " + "documentation":"

    Describes one or more of your instances, including information about the operating system platform, the version of SSM Agent installed on the instance, instance status, and so on.

    If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error.

    The IamRole field for this API action is the Amazon Identity and Access Management (IAM) role assigned to on-premises instances. This call does not return the IAM role for EC2 instances.

    " }, - "ListCommands":{ - "name":"ListCommands", + "DescribeInstancePatchStates":{ + "name":"DescribeInstancePatchStates", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListCommandsRequest"}, - "output":{"shape":"ListCommandsResult"}, + "input":{"shape":"DescribeInstancePatchStatesRequest"}, + "output":{"shape":"DescribeInstancePatchStatesResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"InvalidCommandId"}, - {"shape":"InvalidInstanceId"}, - {"shape":"InvalidFilterKey"}, {"shape":"InvalidNextToken"} ], - "documentation":"

    Lists the commands requested by users of the AWS account.

    " + "documentation":"

    Retrieves the high-level patch state of one or more instances.

    " }, - "ListDocuments":{ - "name":"ListDocuments", + "DescribeInstancePatchStatesForPatchGroup":{ + "name":"DescribeInstancePatchStatesForPatchGroup", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListDocumentsRequest"}, - "output":{"shape":"ListDocumentsResult"}, + "input":{"shape":"DescribeInstancePatchStatesForPatchGroupRequest"}, + "output":{"shape":"DescribeInstancePatchStatesForPatchGroupResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"InvalidNextToken"}, - {"shape":"InvalidFilterKey"} + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"} ], - "documentation":"

    Describes one or more of your SSM documents.

    " + "documentation":"

    Retrieves the high-level patch state for the instances in the specified patch group.

    " }, - "ListTagsForResource":{ - "name":"ListTagsForResource", + "DescribeInstancePatches":{ + "name":"DescribeInstancePatches", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListTagsForResourceRequest"}, - "output":{"shape":"ListTagsForResourceResult"}, + "input":{"shape":"DescribeInstancePatchesRequest"}, + "output":{"shape":"DescribeInstancePatchesResult"}, "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"} ], - "documentation":"

    Returns a list of the tags assigned to the specified resource.

    " + "documentation":"

    Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

    " }, - "ModifyDocumentPermission":{ - "name":"ModifyDocumentPermission", + "DescribeInventoryDeletions":{ + "name":"DescribeInventoryDeletions", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ModifyDocumentPermissionRequest"}, - "output":{"shape":"ModifyDocumentPermissionResponse"}, + "input":{"shape":"DescribeInventoryDeletionsRequest"}, + "output":{"shape":"DescribeInventoryDeletionsResult"}, "errors":[ {"shape":"InternalServerError"}, - {"shape":"InvalidDocument"}, - {"shape":"InvalidPermissionType"}, - {"shape":"DocumentPermissionLimit"}, - {"shape":"DocumentLimitExceeded"} + {"shape":"InvalidDeletionIdException"}, + {"shape":"InvalidNextToken"} ], - "documentation":"

    Share a document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

    " + "documentation":"

    Describes a specific delete inventory operation.

    " }, - "RemoveTagsFromResource":{ - "name":"RemoveTagsFromResource", + "DescribeMaintenanceWindowExecutionTaskInvocations":{ + "name":"DescribeMaintenanceWindowExecutionTaskInvocations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"RemoveTagsFromResourceRequest"}, - "output":{"shape":"RemoveTagsFromResourceResult"}, + "input":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsRequest"}, + "output":{"shape":"DescribeMaintenanceWindowExecutionTaskInvocationsResult"}, "errors":[ - {"shape":"InvalidResourceType"}, - {"shape":"InvalidResourceId"}, + {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Removes all tags from the specified resource.

    " + "documentation":"

    Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.

    " }, - "SendCommand":{ - "name":"SendCommand", + "DescribeMaintenanceWindowExecutionTasks":{ + "name":"DescribeMaintenanceWindowExecutionTasks", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"SendCommandRequest"}, - "output":{"shape":"SendCommandResult"}, + "input":{"shape":"DescribeMaintenanceWindowExecutionTasksRequest"}, + "output":{"shape":"DescribeMaintenanceWindowExecutionTasksResult"}, "errors":[ - {"shape":"DuplicateInstanceId"}, - {"shape":"InternalServerError"}, - {"shape":"InvalidInstanceId"}, + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    For a given maintenance window execution, lists the tasks that were run.

    " + }, + "DescribeMaintenanceWindowExecutions":{ + "name":"DescribeMaintenanceWindowExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowExecutionsRequest"}, + "output":{"shape":"DescribeMaintenanceWindowExecutionsResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the executions of a maintenance window. This includes information about when the maintenance window was scheduled to be active, and information about tasks registered and run with the maintenance window.

    " + }, + "DescribeMaintenanceWindowSchedule":{ + "name":"DescribeMaintenanceWindowSchedule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowScheduleRequest"}, + "output":{"shape":"DescribeMaintenanceWindowScheduleResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"DoesNotExistException"} + ], + "documentation":"

    Retrieves information about upcoming executions of a maintenance window.

    " + }, + "DescribeMaintenanceWindowTargets":{ + "name":"DescribeMaintenanceWindowTargets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowTargetsRequest"}, + "output":{"shape":"DescribeMaintenanceWindowTargetsResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the targets registered with the maintenance window.

    " + }, + "DescribeMaintenanceWindowTasks":{ + "name":"DescribeMaintenanceWindowTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowTasksRequest"}, + "output":{"shape":"DescribeMaintenanceWindowTasksResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the tasks in a maintenance window.

    " + }, + "DescribeMaintenanceWindows":{ + "name":"DescribeMaintenanceWindows", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowsRequest"}, + "output":{"shape":"DescribeMaintenanceWindowsResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves the maintenance windows in an AWS account.

    " + }, + "DescribeMaintenanceWindowsForTarget":{ + "name":"DescribeMaintenanceWindowsForTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeMaintenanceWindowsForTargetRequest"}, + "output":{"shape":"DescribeMaintenanceWindowsForTargetResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves information about the maintenance window targets or tasks that an instance is associated with.

    " + }, + "DescribeOpsItems":{ + "name":"DescribeOpsItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOpsItemsRequest"}, + "output":{"shape":"DescribeOpsItemsResponse"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Query a set of OpsItems. You must have permission in AWS Identity and Access Management (IAM) to query a list of OpsItems. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    " + }, + "DescribeParameters":{ + "name":"DescribeParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParametersRequest"}, + "output":{"shape":"DescribeParametersResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterOption"}, + {"shape":"InvalidFilterValue"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Get information about a parameter.

    Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

    " + }, + "DescribePatchBaselines":{ + "name":"DescribePatchBaselines", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePatchBaselinesRequest"}, + "output":{"shape":"DescribePatchBaselinesResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the patch baselines in your AWS account.

    " + }, + "DescribePatchGroupState":{ + "name":"DescribePatchGroupState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePatchGroupStateRequest"}, + "output":{"shape":"DescribePatchGroupStateResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Returns high-level aggregated patch compliance state for a patch group.

    " + }, + "DescribePatchGroups":{ + "name":"DescribePatchGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePatchGroupsRequest"}, + "output":{"shape":"DescribePatchGroupsResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists all patch groups that have been registered with patch baselines.

    " + }, + "DescribePatchProperties":{ + "name":"DescribePatchProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribePatchPropertiesRequest"}, + "output":{"shape":"DescribePatchPropertiesResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the properties of available patches organized by product, product family, classification, severity, and other properties of available patches. You can use the reported properties in the filters you specify in requests for actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches, and DescribePatchBaselines.

    The following section lists the properties that can be used in filters for each major operating system type:

    WINDOWS

    Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

    AMAZON_LINUX

    Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

    AMAZON_LINUX_2

    Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

    UBUNTU

    Valid properties: PRODUCT, PRIORITY

    REDHAT_ENTERPRISE_LINUX

    Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

    SUSE

    Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

    CENTOS

    Valid properties: PRODUCT, CLASSIFICATION, SEVERITY

    " + }, + "DescribeSessions":{ + "name":"DescribeSessions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSessionsRequest"}, + "output":{"shape":"DescribeSessionsResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days.

    " + }, + "GetAutomationExecution":{ + "name":"GetAutomationExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAutomationExecutionRequest"}, + "output":{"shape":"GetAutomationExecutionResult"}, + "errors":[ + {"shape":"AutomationExecutionNotFoundException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Get detailed information about a particular Automation execution.

    " + }, + "GetCalendarState":{ + "name":"GetCalendarState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCalendarStateRequest"}, + "output":{"shape":"GetCalendarStateResponse"}, + "errors":[ + {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, - {"shape":"InvalidOutputFolder"}, - {"shape":"InvalidParameters"}, - {"shape":"UnsupportedPlatformType"}, - {"shape":"MaxDocumentSizeExceeded"}, - {"shape":"InvalidRole"}, - {"shape":"InvalidNotificationConfig"} + {"shape":"InvalidDocumentType"}, + {"shape":"UnsupportedCalendarException"} ], - "documentation":"

    Executes commands on one or more remote instances.

    " + "documentation":"

    Gets the state of the AWS Systems Manager Change Calendar at an optional, specified time. If you specify a time, GetCalendarState returns the state of the calendar at a specific time, and returns the next time that the Change Calendar state will transition. If you do not specify a time, GetCalendarState assumes the current time. Change Calendar entries have two possible states: OPEN or CLOSED. For more information about Systems Manager Change Calendar, see AWS Systems Manager Change Calendar in the AWS Systems Manager User Guide.

    " }, - "UpdateAssociationStatus":{ - "name":"UpdateAssociationStatus", + "GetCommandInvocation":{ + "name":"GetCommandInvocation", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateAssociationStatusRequest"}, - "output":{"shape":"UpdateAssociationStatusResult"}, + "input":{"shape":"GetCommandInvocationRequest"}, + "output":{"shape":"GetCommandInvocationResult"}, "errors":[ {"shape":"InternalServerError"}, + {"shape":"InvalidCommandId"}, {"shape":"InvalidInstanceId"}, + {"shape":"InvalidPluginName"}, + {"shape":"InvocationDoesNotExist"} + ], + "documentation":"

    Returns detailed information about command execution for an invocation or plugin.

    " + }, + "GetConnectionStatus":{ + "name":"GetConnectionStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetConnectionStatusRequest"}, + "output":{"shape":"GetConnectionStatusResponse"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves the Session Manager connection status for an instance to determine whether it is running and ready to receive Session Manager connections.

    " + }, + "GetDefaultPatchBaseline":{ + "name":"GetDefaultPatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDefaultPatchBaselineRequest"}, + "output":{"shape":"GetDefaultPatchBaselineResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves the default patch baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

    If you do not specify an operating system value, the default patch baseline for Windows is returned.

    " + }, + "GetDeployablePatchSnapshotForInstance":{ + "name":"GetDeployablePatchSnapshotForInstance", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDeployablePatchSnapshotForInstanceRequest"}, + "output":{"shape":"GetDeployablePatchSnapshotForInstanceResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"UnsupportedOperatingSystem"}, + {"shape":"UnsupportedFeatureRequiredException"} + ], + "documentation":"

    Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

    " + }, + "GetDocument":{ + "name":"GetDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDocumentRequest"}, + "output":{"shape":"GetDocumentResult"}, + "errors":[ + {"shape":"InternalServerError"}, {"shape":"InvalidDocument"}, - {"shape":"AssociationDoesNotExist"}, - {"shape":"StatusUnchanged"}, - {"shape":"TooManyUpdates"} + {"shape":"InvalidDocumentVersion"} ], - "documentation":"

    Updates the status of the SSM document associated with the specified instance.

    " + "documentation":"

    Gets the contents of the specified Systems Manager document.

    " }, - "UpdateManagedInstanceRole":{ - "name":"UpdateManagedInstanceRole", + "GetInventory":{ + "name":"GetInventory", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"UpdateManagedInstanceRoleRequest"}, - "output":{"shape":"UpdateManagedInstanceRoleResult"}, + "input":{"shape":"GetInventoryRequest"}, + "output":{"shape":"GetInventoryResult"}, "errors":[ - {"shape":"InvalidInstanceId"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidInventoryGroupException"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidAggregatorException"}, + {"shape":"InvalidResultAttributeException"} + ], + "documentation":"

    Query inventory information.

    " + }, + "GetInventorySchema":{ + "name":"GetInventorySchema", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetInventorySchemaRequest"}, + "output":{"shape":"GetInventorySchemaResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type.

    " + }, + "GetMaintenanceWindow":{ + "name":"GetMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowRequest"}, + "output":{"shape":"GetMaintenanceWindowResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

    " - } - }, - "shapes":{ - "AccountId":{ + "documentation":"

    Retrieves a maintenance window.

    " + }, + "GetMaintenanceWindowExecution":{ + "name":"GetMaintenanceWindowExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowExecutionRequest"}, + "output":{"shape":"GetMaintenanceWindowExecutionResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves details about a specific a maintenance window execution.

    " + }, + "GetMaintenanceWindowExecutionTask":{ + "name":"GetMaintenanceWindowExecutionTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowExecutionTaskRequest"}, + "output":{"shape":"GetMaintenanceWindowExecutionTaskResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves the details about a specific task run as part of a maintenance window execution.

    " + }, + "GetMaintenanceWindowExecutionTaskInvocation":{ + "name":"GetMaintenanceWindowExecutionTaskInvocation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowExecutionTaskInvocationRequest"}, + "output":{"shape":"GetMaintenanceWindowExecutionTaskInvocationResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves information about a specific task running on a specific target.

    " + }, + "GetMaintenanceWindowTask":{ + "name":"GetMaintenanceWindowTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMaintenanceWindowTaskRequest"}, + "output":{"shape":"GetMaintenanceWindowTaskResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the tasks in a maintenance window.

    " + }, + "GetOpsItem":{ + "name":"GetOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOpsItemRequest"}, + "output":{"shape":"GetOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemNotFoundException"} + ], + "documentation":"

    Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    " + }, + "GetOpsSummary":{ + "name":"GetOpsSummary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetOpsSummaryRequest"}, + "output":{"shape":"GetOpsSummaryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ResourceDataSyncNotFoundException"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidAggregatorException"} + ], + "documentation":"

    View a summary of OpsItems based on specified filters and aggregators.

    " + }, + "GetParameter":{ + "name":"GetParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParameterRequest"}, + "output":{"shape":"GetParameterResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidKeyId"}, + {"shape":"ParameterNotFound"}, + {"shape":"ParameterVersionNotFound"} + ], + "documentation":"

    Get information about a parameter by using the parameter name. Don't confuse this API action with the GetParameters API action.

    " + }, + "GetParameterHistory":{ + "name":"GetParameterHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParameterHistoryRequest"}, + "output":{"shape":"GetParameterHistoryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ParameterNotFound"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidKeyId"} + ], + "documentation":"

    Query a list of all parameters used by the AWS account.

    " + }, + "GetParameters":{ + "name":"GetParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParametersRequest"}, + "output":{"shape":"GetParametersResult"}, + "errors":[ + {"shape":"InvalidKeyId"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Get details of a parameter. Don't confuse this API action with the GetParameter API action.

    " + }, + "GetParametersByPath":{ + "name":"GetParametersByPath", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetParametersByPathRequest"}, + "output":{"shape":"GetParametersByPathResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidFilterOption"}, + {"shape":"InvalidFilterValue"}, + {"shape":"InvalidKeyId"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Retrieve information about one or more parameters in a specific hierarchy.

    Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

    " + }, + "GetPatchBaseline":{ + "name":"GetPatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPatchBaselineRequest"}, + "output":{"shape":"GetPatchBaselineResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves information about a patch baseline.

    " + }, + "GetPatchBaselineForPatchGroup":{ + "name":"GetPatchBaselineForPatchGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPatchBaselineForPatchGroupRequest"}, + "output":{"shape":"GetPatchBaselineForPatchGroupResult"}, + "errors":[ + {"shape":"InternalServerError"} + ], + "documentation":"

    Retrieves the patch baseline that should be used for the specified patch group.

    " + }, + "GetServiceSetting":{ + "name":"GetServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetServiceSettingRequest"}, + "output":{"shape":"GetServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"} + ], + "documentation":"

    ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

    Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

    Query the current service setting for the account.

    " + }, + "LabelParameterVersion":{ + "name":"LabelParameterVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"LabelParameterVersionRequest"}, + "output":{"shape":"LabelParameterVersionResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"TooManyUpdates"}, + {"shape":"ParameterNotFound"}, + {"shape":"ParameterVersionNotFound"}, + {"shape":"ParameterVersionLabelLimitExceeded"} + ], + "documentation":"

    A parameter label is a user-defined alias to help you manage different versions of a parameter. When you modify a parameter, Systems Manager automatically saves a new version and increments the version number by one. A label can help you remember the purpose of a parameter when there are multiple versions.

    Parameter labels have the following requirements and restrictions.

    • A version of a parameter can have a maximum of 10 labels.

    • You can't attach the same label to different versions of the same parameter. For example, if version 1 has the label Production, then you can't attach Production to version 2.

    • You can move a label from one version of a parameter to another.

    • You can't create a label when you create a new parameter. You must attach a label to a specific version of a parameter.

    • You can't delete a parameter label. If you no longer want to use a parameter label, then you must move it to a different version of a parameter.

    • A label can have a maximum of 100 characters.

    • Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_).

    • Labels can't begin with a number, \"aws,\" or \"ssm\" (not case sensitive). If a label fails to meet these requirements, then the label is not associated with a parameter and the system displays it in the list of InvalidLabels.

    " + }, + "ListAssociationVersions":{ + "name":"ListAssociationVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociationVersionsRequest"}, + "output":{"shape":"ListAssociationVersionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"}, + {"shape":"AssociationDoesNotExist"} + ], + "documentation":"

    Retrieves all versions of an association for a specific association ID.

    " + }, + "ListAssociations":{ + "name":"ListAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAssociationsRequest"}, + "output":{"shape":"ListAssociationsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Returns all State Manager associations in the current AWS account and Region. You can limit the results to a specific State Manager association document or instance by specifying a filter.

    " + }, + "ListCommandInvocations":{ + "name":"ListCommandInvocations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCommandInvocationsRequest"}, + "output":{"shape":"ListCommandInvocationsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidCommandId"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

    " + }, + "ListCommands":{ + "name":"ListCommands", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCommandsRequest"}, + "output":{"shape":"ListCommandsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidCommandId"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidFilterKey"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Lists the commands requested by users of the AWS account.

    " + }, + "ListComplianceItems":{ + "name":"ListComplianceItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceItemsRequest"}, + "output":{"shape":"ListComplianceItemsResult"}, + "errors":[ + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

    " + }, + "ListComplianceSummaries":{ + "name":"ListComplianceSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListComplianceSummariesRequest"}, + "output":{"shape":"ListComplianceSummariesResult"}, + "errors":[ + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

    " + }, + "ListDocumentVersions":{ + "name":"ListDocumentVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDocumentVersionsRequest"}, + "output":{"shape":"ListDocumentVersionsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidDocument"} + ], + "documentation":"

    List all versions for a document.

    " + }, + "ListDocuments":{ + "name":"ListDocuments", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListDocumentsRequest"}, + "output":{"shape":"ListDocumentsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"}, + {"shape":"InvalidFilterKey"} + ], + "documentation":"

    Returns all Systems Manager (SSM) documents in the current AWS account and Region. You can limit the results of this request by using a filter.

    " + }, + "ListInventoryEntries":{ + "name":"ListInventoryEntries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInventoryEntriesRequest"}, + "output":{"shape":"ListInventoryEntriesResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    A list of inventory items returned by the request.

    " + }, + "ListResourceComplianceSummaries":{ + "name":"ListResourceComplianceSummaries", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceComplianceSummariesRequest"}, + "output":{"shape":"ListResourceComplianceSummariesResult"}, + "errors":[ + {"shape":"InvalidFilter"}, + {"shape":"InvalidNextToken"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

    " + }, + "ListResourceDataSync":{ + "name":"ListResourceDataSync", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceDataSyncRequest"}, + "output":{"shape":"ListResourceDataSyncResult"}, + "errors":[ + {"shape":"ResourceDataSyncInvalidConfigurationException"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidNextToken"} + ], + "documentation":"

    Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed.

    The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResult"}, + "errors":[ + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Returns a list of the tags assigned to the specified resource.

    " + }, + "ModifyDocumentPermission":{ + "name":"ModifyDocumentPermission", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyDocumentPermissionRequest"}, + "output":{"shape":"ModifyDocumentPermissionResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidPermissionType"}, + {"shape":"DocumentPermissionLimit"}, + {"shape":"DocumentLimitExceeded"} + ], + "documentation":"

    Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

    " + }, + "PutComplianceItems":{ + "name":"PutComplianceItems", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutComplianceItemsRequest"}, + "output":{"shape":"PutComplianceItemsResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidItemContentException"}, + {"shape":"TotalSizeLimitExceededException"}, + {"shape":"ItemSizeLimitExceededException"}, + {"shape":"ComplianceTypeCountLimitExceededException"}, + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"} + ], + "documentation":"

    Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request.

    ComplianceType can be one of the following:

    • ExecutionId: The execution ID when the patch, association, or custom compliance item was applied.

    • ExecutionType: Specify patch, association, or Custom:string.

    • ExecutionTime. The time the patch, association, or custom compliance item was applied to the instance.

    • Id: The patch, association, or custom compliance ID.

    • Title: A title.

    • Status: The status of the compliance item. For example, approved for patches, or Failed for associations.

    • Severity: A patch severity. For example, critical.

    • DocumentName: A SSM document name. For example, AWS-RunPatchBaseline.

    • DocumentVersion: An SSM document version number. For example, 4.

    • Classification: A patch classification. For example, security updates.

    • PatchBaselineId: A patch baseline ID.

    • PatchSeverity: A patch severity. For example, Critical.

    • PatchState: A patch state. For example, InstancesWithFailedPatches.

    • PatchGroup: The name of a patch group.

    • InstalledTime: The time the association, patch, or custom compliance item was applied to the resource. Specify the time by using the following format: yyyy-MM-dd'T'HH:mm:ss'Z'

    " + }, + "PutInventory":{ + "name":"PutInventory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutInventoryRequest"}, + "output":{"shape":"PutInventoryResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidTypeNameException"}, + {"shape":"InvalidItemContentException"}, + {"shape":"TotalSizeLimitExceededException"}, + {"shape":"ItemSizeLimitExceededException"}, + {"shape":"ItemContentMismatchException"}, + {"shape":"CustomSchemaCountLimitExceededException"}, + {"shape":"UnsupportedInventorySchemaVersionException"}, + {"shape":"UnsupportedInventoryItemContextException"}, + {"shape":"InvalidInventoryItemContextException"}, + {"shape":"SubTypeCountLimitExceededException"} + ], + "documentation":"

    Bulk update custom inventory items on one more instance. The request adds an inventory item, if it doesn't already exist, or updates an inventory item, if it does exist.

    " + }, + "PutParameter":{ + "name":"PutParameter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutParameterRequest"}, + "output":{"shape":"PutParameterResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidKeyId"}, + {"shape":"ParameterLimitExceeded"}, + {"shape":"TooManyUpdates"}, + {"shape":"ParameterAlreadyExists"}, + {"shape":"HierarchyLevelLimitExceededException"}, + {"shape":"HierarchyTypeMismatchException"}, + {"shape":"InvalidAllowedPatternException"}, + {"shape":"ParameterMaxVersionLimitExceeded"}, + {"shape":"ParameterPatternMismatchException"}, + {"shape":"UnsupportedParameterType"}, + {"shape":"PoliciesLimitExceededException"}, + {"shape":"InvalidPolicyTypeException"}, + {"shape":"InvalidPolicyAttributeException"}, + {"shape":"IncompatiblePolicyException"} + ], + "documentation":"

    Add a parameter to the system.

    " + }, + "RegisterDefaultPatchBaseline":{ + "name":"RegisterDefaultPatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterDefaultPatchBaselineRequest"}, + "output":{"shape":"RegisterDefaultPatchBaselineResult"}, + "errors":[ + {"shape":"InvalidResourceId"}, + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Defines the default patch baseline for the relevant operating system.

    To reset the AWS predefined patch baseline as the default, specify the full patch baseline ARN as the baseline ID value. For example, for CentOS, specify arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead of pb-0574b43a65ea646ed.

    " + }, + "RegisterPatchBaselineForPatchGroup":{ + "name":"RegisterPatchBaselineForPatchGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterPatchBaselineForPatchGroupRequest"}, + "output":{"shape":"RegisterPatchBaselineForPatchGroupResult"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"DoesNotExistException"}, + {"shape":"InvalidResourceId"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Registers a patch baseline for a patch group.

    " + }, + "RegisterTargetWithMaintenanceWindow":{ + "name":"RegisterTargetWithMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterTargetWithMaintenanceWindowRequest"}, + "output":{"shape":"RegisterTargetWithMaintenanceWindowResult"}, + "errors":[ + {"shape":"IdempotentParameterMismatch"}, + {"shape":"DoesNotExistException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Registers a target with a maintenance window.

    " + }, + "RegisterTaskWithMaintenanceWindow":{ + "name":"RegisterTaskWithMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterTaskWithMaintenanceWindowRequest"}, + "output":{"shape":"RegisterTaskWithMaintenanceWindowResult"}, + "errors":[ + {"shape":"IdempotentParameterMismatch"}, + {"shape":"DoesNotExistException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"FeatureNotAvailableException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Adds a new task to a maintenance window.

    " + }, + "RemoveTagsFromResource":{ + "name":"RemoveTagsFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTagsFromResourceRequest"}, + "output":{"shape":"RemoveTagsFromResourceResult"}, + "errors":[ + {"shape":"InvalidResourceType"}, + {"shape":"InvalidResourceId"}, + {"shape":"InternalServerError"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

    Removes tag keys from the specified resource.

    " + }, + "ResetServiceSetting":{ + "name":"ResetServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetServiceSettingRequest"}, + "output":{"shape":"ResetServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

    ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

    Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Use the UpdateServiceSetting API action to change the default setting.

    Reset the service setting for the account to the default value as provisioned by the AWS service team.

    " + }, + "ResumeSession":{ + "name":"ResumeSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResumeSessionRequest"}, + "output":{"shape":"ResumeSessionResponse"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Reconnects a session to an instance after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions.

    This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It is not intended for any other use.

    " + }, + "SendAutomationSignal":{ + "name":"SendAutomationSignal", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendAutomationSignalRequest"}, + "output":{"shape":"SendAutomationSignalResult"}, + "errors":[ + {"shape":"AutomationExecutionNotFoundException"}, + {"shape":"AutomationStepNotFoundException"}, + {"shape":"InvalidAutomationSignalException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Sends a signal to an Automation execution to change the current behavior or status of the execution.

    " + }, + "SendCommand":{ + "name":"SendCommand", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendCommandRequest"}, + "output":{"shape":"SendCommandResult"}, + "errors":[ + {"shape":"DuplicateInstanceId"}, + {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, + {"shape":"InvalidOutputFolder"}, + {"shape":"InvalidParameters"}, + {"shape":"UnsupportedPlatformType"}, + {"shape":"MaxDocumentSizeExceeded"}, + {"shape":"InvalidRole"}, + {"shape":"InvalidNotificationConfig"} + ], + "documentation":"

    Runs commands on one or more managed instances.

    " + }, + "StartAssociationsOnce":{ + "name":"StartAssociationsOnce", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAssociationsOnceRequest"}, + "output":{"shape":"StartAssociationsOnceResult"}, + "errors":[ + {"shape":"InvalidAssociation"}, + {"shape":"AssociationDoesNotExist"} + ], + "documentation":"

    Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations.

    " + }, + "StartAutomationExecution":{ + "name":"StartAutomationExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAutomationExecutionRequest"}, + "output":{"shape":"StartAutomationExecutionResult"}, + "errors":[ + {"shape":"AutomationDefinitionNotFoundException"}, + {"shape":"InvalidAutomationExecutionParametersException"}, + {"shape":"AutomationExecutionLimitExceededException"}, + {"shape":"AutomationDefinitionVersionNotFoundException"}, + {"shape":"IdempotentParameterMismatch"}, + {"shape":"InvalidTarget"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Initiates execution of an Automation document.

    " + }, + "StartSession":{ + "name":"StartSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartSessionRequest"}, + "output":{"shape":"StartSessionResponse"}, + "errors":[ + {"shape":"InvalidDocument"}, + {"shape":"TargetNotConnected"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Initiates a connection to a target (for example, an instance) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs.

    AWS CLI usage: start-session is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see Install the Session Manager plugin for the AWS CLI in the AWS Systems Manager User Guide.

    AWS Tools for PowerShell usage: Start-SSMSession is not currently supported by AWS Tools for PowerShell on Windows local machines.

    " + }, + "StopAutomationExecution":{ + "name":"StopAutomationExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopAutomationExecutionRequest"}, + "output":{"shape":"StopAutomationExecutionResult"}, + "errors":[ + {"shape":"AutomationExecutionNotFoundException"}, + {"shape":"InvalidAutomationStatusUpdateException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Stop an Automation that is currently running.

    " + }, + "TerminateSession":{ + "name":"TerminateSession", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TerminateSessionRequest"}, + "output":{"shape":"TerminateSessionResponse"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the instance. A terminated session cannot be resumed.

    " + }, + "UpdateAssociation":{ + "name":"UpdateAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAssociationRequest"}, + "output":{"shape":"UpdateAssociationResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidSchedule"}, + {"shape":"InvalidParameters"}, + {"shape":"InvalidOutputLocation"}, + {"shape":"InvalidDocumentVersion"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"InvalidUpdate"}, + {"shape":"TooManyUpdates"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidTarget"}, + {"shape":"InvalidAssociationVersion"}, + {"shape":"AssociationVersionLimitExceeded"} + ], + "documentation":"

    Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

    In order to call this API action, your IAM user account, group, or role must be configured with permission to call the DescribeAssociation API action. If you don't have permission to call DescribeAssociation, then you receive the following error: An error occurred (AccessDeniedException) when calling the UpdateAssociation operation: User: <user_arn> is not authorized to perform: ssm:DescribeAssociation on resource: <resource_arn>

    When you update an association, the association immediately runs against the specified targets.

    " + }, + "UpdateAssociationStatus":{ + "name":"UpdateAssociationStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAssociationStatusRequest"}, + "output":{"shape":"UpdateAssociationStatusResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidInstanceId"}, + {"shape":"InvalidDocument"}, + {"shape":"AssociationDoesNotExist"}, + {"shape":"StatusUnchanged"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

    Updates the status of the Systems Manager document associated with the specified instance.

    " + }, + "UpdateDocument":{ + "name":"UpdateDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDocumentRequest"}, + "output":{"shape":"UpdateDocumentResult"}, + "errors":[ + {"shape":"MaxDocumentSizeExceeded"}, + {"shape":"DocumentVersionLimitExceeded"}, + {"shape":"InternalServerError"}, + {"shape":"DuplicateDocumentContent"}, + {"shape":"DuplicateDocumentVersionName"}, + {"shape":"InvalidDocumentContent"}, + {"shape":"InvalidDocumentVersion"}, + {"shape":"InvalidDocumentSchemaVersion"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentOperation"} + ], + "documentation":"

    Updates one or more values for an SSM document.

    " + }, + "UpdateDocumentDefaultVersion":{ + "name":"UpdateDocumentDefaultVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDocumentDefaultVersionRequest"}, + "output":{"shape":"UpdateDocumentDefaultVersionResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"InvalidDocument"}, + {"shape":"InvalidDocumentVersion"}, + {"shape":"InvalidDocumentSchemaVersion"} + ], + "documentation":"

    Set the default version of a document.

    " + }, + "UpdateMaintenanceWindow":{ + "name":"UpdateMaintenanceWindow", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMaintenanceWindowRequest"}, + "output":{"shape":"UpdateMaintenanceWindowResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Updates an existing maintenance window. Only specified parameters are modified.

    The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

    " + }, + "UpdateMaintenanceWindowTarget":{ + "name":"UpdateMaintenanceWindowTarget", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMaintenanceWindowTargetRequest"}, + "output":{"shape":"UpdateMaintenanceWindowTargetResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Modifies the target of an existing maintenance window. You can change the following:

    • Name

    • Description

    • Owner

    • IDs for an ID target

    • Tags for a Tag target

    • From any supported tag type to another. The three supported tag types are ID target, Tag target, and resource group. For more information, see Target.

    If a parameter is null, then the corresponding field is not modified.

    " + }, + "UpdateMaintenanceWindowTask":{ + "name":"UpdateMaintenanceWindowTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMaintenanceWindowTaskRequest"}, + "output":{"shape":"UpdateMaintenanceWindowTaskResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Modifies a task assigned to a maintenance window. You can't change the task type, but you can change the following values:

    • TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

    • ServiceRoleArn

    • TaskInvocationParameters

    • Priority

    • MaxConcurrency

    • MaxErrors

    If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

    " + }, + "UpdateManagedInstanceRole":{ + "name":"UpdateManagedInstanceRole", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateManagedInstanceRoleRequest"}, + "output":{"shape":"UpdateManagedInstanceRoleResult"}, + "errors":[ + {"shape":"InvalidInstanceId"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Changes the Amazon Identity and Access Management (IAM) role that is assigned to the on-premises instance or virtual machines (VM). IAM roles are first assigned to these hybrid instances during the activation process. For more information, see CreateActivation.

    " + }, + "UpdateOpsItem":{ + "name":"UpdateOpsItem", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateOpsItemRequest"}, + "output":{"shape":"UpdateOpsItemResponse"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"OpsItemNotFoundException"}, + {"shape":"OpsItemAlreadyExistsException"}, + {"shape":"OpsItemLimitExceededException"}, + {"shape":"OpsItemInvalidParameterException"} + ], + "documentation":"

    Edit or change an OpsItem. You must have permission in AWS Identity and Access Management (IAM) to update an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    " + }, + "UpdatePatchBaseline":{ + "name":"UpdatePatchBaseline", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePatchBaselineRequest"}, + "output":{"shape":"UpdatePatchBaselineResult"}, + "errors":[ + {"shape":"DoesNotExistException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

    For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

    " + }, + "UpdateResourceDataSync":{ + "name":"UpdateResourceDataSync", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResourceDataSyncRequest"}, + "output":{"shape":"UpdateResourceDataSyncResult"}, + "errors":[ + {"shape":"ResourceDataSyncNotFoundException"}, + {"shape":"ResourceDataSyncInvalidConfigurationException"}, + {"shape":"ResourceDataSyncConflictException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Update a resource data sync. After you create a resource data sync for a Region, you can't change the account options for that sync. For example, if you create a sync in the us-east-2 (Ohio) Region and you choose the Include only the current account option, you can't edit that sync later and choose the Include all accounts from my AWS Organizations configuration option. Instead, you must delete the first resource data sync, and create a new one.

    This API action only supports a resource data sync that was created with a SyncFromSource SyncType.

    " + }, + "UpdateServiceSetting":{ + "name":"UpdateServiceSetting", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServiceSettingRequest"}, + "output":{"shape":"UpdateServiceSettingResult"}, + "errors":[ + {"shape":"InternalServerError"}, + {"shape":"ServiceSettingNotFound"}, + {"shape":"TooManyUpdates"} + ], + "documentation":"

    ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

    Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

    Update the service setting for the account.

    " + } + }, + "shapes":{ + "Account":{"type":"string"}, + "AccountId":{ + "type":"string", + "pattern":"(?i)all|[0-9]{12}" + }, + "AccountIdList":{ + "type":"list", + "member":{"shape":"AccountId"}, + "max":20 + }, + "AccountSharingInfo":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "documentation":"

    The AWS account ID where the current document is shared.

    " + }, + "SharedDocumentVersion":{ + "shape":"SharedDocumentVersion", + "documentation":"

    The version of the current document shared with the account.

    " + } + }, + "documentation":"

    Information includes the AWS account ID where the current document is shared and the version shared with that account.

    " + }, + "AccountSharingInfoList":{ + "type":"list", + "member":{"shape":"AccountSharingInfo"}, + "documentation":"

    A list of of AWS accounts where the current document is shared and the version shared with each account.

    " + }, + "Accounts":{ + "type":"list", + "member":{"shape":"Account"}, + "max":50, + "min":1 + }, + "Activation":{ + "type":"structure", + "members":{ + "ActivationId":{ + "shape":"ActivationId", + "documentation":"

    The ID created by Systems Manager when you submitted the activation.

    " + }, + "Description":{ + "shape":"ActivationDescription", + "documentation":"

    A user defined description of the activation.

    " + }, + "DefaultInstanceName":{ + "shape":"DefaultInstanceName", + "documentation":"

    A name for the managed instance when it is created.

    " + }, + "IamRole":{ + "shape":"IamRole", + "documentation":"

    The Amazon Identity and Access Management (IAM) role to assign to the managed instance.

    " + }, + "RegistrationLimit":{ + "shape":"RegistrationLimit", + "documentation":"

    The maximum number of managed instances that can be registered using this activation.

    " + }, + "RegistrationsCount":{ + "shape":"RegistrationsCount", + "documentation":"

    The number of managed instances already registered with this activation.

    " + }, + "ExpirationDate":{ + "shape":"ExpirationDate", + "documentation":"

    The date when this activation can no longer be used to register managed instances.

    " + }, + "Expired":{ + "shape":"Boolean", + "documentation":"

    Whether or not the activation is expired.

    " + }, + "CreatedDate":{ + "shape":"CreatedDate", + "documentation":"

    The date the activation was created.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Tags assigned to the activation.

    " + } + }, + "documentation":"

    An activation registers one or more on-premises servers or virtual machines (VMs) with AWS so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with AWS is called a managed instance.

    " + }, + "ActivationCode":{ + "type":"string", + "max":250, + "min":20 + }, + "ActivationDescription":{ + "type":"string", + "max":256, + "min":0 + }, + "ActivationId":{ + "type":"string", + "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "ActivationList":{ + "type":"list", + "member":{"shape":"Activation"} + }, + "AddTagsToResourceRequest":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceId", + "Tags" + ], + "members":{ + "ResourceType":{ + "shape":"ResourceTypeForTagging", + "documentation":"

    Specifies the type of resource you are tagging.

    The ManagedInstance type for this API action is for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The resource ID you want to tag.

    Use the ID of the resource. Here are some examples:

    ManagedInstance: mi-012345abcde

    MaintenanceWindow: mw-012345abcde

    PatchBaseline: pb-012345abcde

    For the Document and Parameter values, use the name of the resource.

    The ManagedInstance type for this API action is only for on-premises managed instances. You must specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

    Do not enter personally identifiable information in this field.

    " + } + } + }, + "AddTagsToResourceResult":{ + "type":"structure", + "members":{ + } + }, + "AgentErrorCode":{ + "type":"string", + "max":10 + }, + "AggregatorSchemaOnly":{"type":"boolean"}, + "AllowedPattern":{ + "type":"string", + "max":1024, + "min":0 + }, + "AlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Error returned if an attempt is made to register a patch group with a patch baseline that is already registered with a different patch baseline.

    ", + "exception":true + }, + "ApproveAfterDays":{ + "type":"integer", + "max":100, + "min":0 + }, + "AssociatedInstances":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You must disassociate a document from all instances before you can delete it.

    ", + "exception":true + }, + "Association":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " + }, + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The ID created by the system when you create an association. An association is a binding between a document and a set of targets with a schedule.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The association version.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of the document used in the association.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The instances targeted by the request to create an association.

    " + }, + "LastExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date on which the association was last run.

    " + }, + "Overview":{ + "shape":"AssociationOverview", + "documentation":"

    Information about the association.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    A cron expression that specifies a schedule when the association runs.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    The association name.

    " + } + }, + "documentation":"

    Describes an association of a Systems Manager document and an instance.

    " + }, + "AssociationAlreadyExists":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified association already exists.

    ", + "exception":true + }, + "AssociationComplianceSeverity":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW", + "UNSPECIFIED" + ] + }, + "AssociationDescription":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The association version.

    " + }, + "Date":{ + "shape":"DateTime", + "documentation":"

    The date when the association was made.

    " + }, + "LastUpdateAssociationDate":{ + "shape":"DateTime", + "documentation":"

    The date when the association was last updated.

    " + }, + "Status":{ + "shape":"AssociationStatus", + "documentation":"

    The association status.

    " + }, + "Overview":{ + "shape":"AssociationOverview", + "documentation":"

    Information about the association.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    A description of the parameters for a document.

    " + }, + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The instances targeted by the request.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    A cron expression that specifies a schedule when the association runs.

    " + }, + "OutputLocation":{ + "shape":"InstanceAssociationOutputLocation", + "documentation":"

    An S3 bucket where you want to store the output details of the request.

    " + }, + "LastExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date on which the association was last run.

    " + }, + "LastSuccessfulExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The last date on which the association was successfully run.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    The association name.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

    Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

    If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

    " + }, + "ComplianceSeverity":{ + "shape":"AssociationComplianceSeverity", + "documentation":"

    The severity level that is assigned to the association.

    " + }, + "SyncCompliance":{ + "shape":"AssociationSyncCompliance", + "documentation":"

    The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

    In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    By default, all associations use AUTO mode.

    " + } + }, + "documentation":"

    Describes the parameters for a document.

    " + }, + "AssociationDescriptionList":{ + "type":"list", + "member":{"shape":"AssociationDescription"} + }, + "AssociationDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified association does not exist.

    ", + "exception":true + }, + "AssociationExecution":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The association version.

    " + }, + "ExecutionId":{ + "shape":"AssociationExecutionId", + "documentation":"

    The execution ID for the association.

    " + }, + "Status":{ + "shape":"StatusName", + "documentation":"

    The status of the association execution.

    " + }, + "DetailedStatus":{ + "shape":"StatusName", + "documentation":"

    Detailed status information about the execution.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution started.

    " + }, + "LastExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date of the last execution.

    " + }, + "ResourceCountByStatus":{ + "shape":"ResourceCountByStatus", + "documentation":"

    An aggregate status of the resources in the execution based on the status type.

    " + } + }, + "documentation":"

    Includes information about the specified association.

    " + }, + "AssociationExecutionDoesNotExist":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified execution ID does not exist. Verify the ID number and try again.

    ", + "exception":true + }, + "AssociationExecutionFilter":{ + "type":"structure", + "required":[ + "Key", + "Value", + "Type" + ], + "members":{ + "Key":{ + "shape":"AssociationExecutionFilterKey", + "documentation":"

    The key value used in the request.

    " + }, + "Value":{ + "shape":"AssociationExecutionFilterValue", + "documentation":"

    The value specified for the key.

    " + }, + "Type":{ + "shape":"AssociationFilterOperatorType", + "documentation":"

    The filter type specified in the request.

    " + } + }, + "documentation":"

    Filters used in the request.

    " + }, + "AssociationExecutionFilterKey":{ + "type":"string", + "enum":[ + "ExecutionId", + "Status", + "CreatedTime" + ] + }, + "AssociationExecutionFilterList":{ + "type":"list", + "member":{"shape":"AssociationExecutionFilter"}, + "min":1 + }, + "AssociationExecutionFilterValue":{ + "type":"string", + "min":1 + }, + "AssociationExecutionId":{ + "type":"string", + "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + }, + "AssociationExecutionTarget":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The association version.

    " + }, + "ExecutionId":{ + "shape":"AssociationExecutionId", + "documentation":"

    The execution ID.

    " + }, + "ResourceId":{ + "shape":"AssociationResourceId", + "documentation":"

    The resource ID, for example, the instance ID where the association ran.

    " + }, + "ResourceType":{ + "shape":"AssociationResourceType", + "documentation":"

    The resource type, for example, instance.

    " + }, + "Status":{ + "shape":"StatusName", + "documentation":"

    The association execution status.

    " + }, + "DetailedStatus":{ + "shape":"StatusName", + "documentation":"

    Detailed information about the execution status.

    " + }, + "LastExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date of the last execution.

    " + }, + "OutputSource":{ + "shape":"OutputSource", + "documentation":"

    The location where the association details are saved.

    " + } + }, + "documentation":"

    Includes information about the specified association execution.

    " + }, + "AssociationExecutionTargetsFilter":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"AssociationExecutionTargetsFilterKey", + "documentation":"

    The key value used in the request.

    " + }, + "Value":{ + "shape":"AssociationExecutionTargetsFilterValue", + "documentation":"

    The value specified for the key.

    " + } + }, + "documentation":"

    Filters for the association execution.

    " + }, + "AssociationExecutionTargetsFilterKey":{ + "type":"string", + "enum":[ + "Status", + "ResourceId", + "ResourceType" + ] + }, + "AssociationExecutionTargetsFilterList":{ + "type":"list", + "member":{"shape":"AssociationExecutionTargetsFilter"}, + "min":1 + }, + "AssociationExecutionTargetsFilterValue":{ + "type":"string", + "min":1 + }, + "AssociationExecutionTargetsList":{ + "type":"list", + "member":{"shape":"AssociationExecutionTarget"} + }, + "AssociationExecutionsList":{ + "type":"list", + "member":{"shape":"AssociationExecution"} + }, + "AssociationFilter":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"AssociationFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "value":{ + "shape":"AssociationFilterValue", + "documentation":"

    The filter value.

    " + } + }, + "documentation":"

    Describes a filter.

    " + }, + "AssociationFilterKey":{ + "type":"string", + "enum":[ + "InstanceId", + "Name", + "AssociationId", + "AssociationStatusName", + "LastExecutedBefore", + "LastExecutedAfter", + "AssociationName", + "ResourceGroupName" + ] + }, + "AssociationFilterList":{ + "type":"list", + "member":{"shape":"AssociationFilter"}, + "min":1 + }, + "AssociationFilterOperatorType":{ + "type":"string", + "enum":[ + "EQUAL", + "LESS_THAN", + "GREATER_THAN" + ] + }, + "AssociationFilterValue":{ + "type":"string", + "min":1 + }, + "AssociationId":{ + "type":"string", + "pattern":"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" + }, + "AssociationIdList":{ + "type":"list", + "member":{"shape":"AssociationId"}, + "max":10, + "min":1 + }, + "AssociationLimitExceeded":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You can have at most 2,000 active associations.

    ", + "exception":true + }, + "AssociationList":{ + "type":"list", + "member":{"shape":"Association"} + }, + "AssociationName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "AssociationOverview":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"StatusName", + "documentation":"

    The status of the association. Status can be: Pending, Success, or Failed.

    " + }, + "DetailedStatus":{ + "shape":"StatusName", + "documentation":"

    A detailed status of the association.

    " + }, + "AssociationStatusAggregatedCount":{ + "shape":"AssociationStatusAggregatedCount", + "documentation":"

    Returns the number of targets for the association status. For example, if you created an association with two instances, and one of them was successful, this would return the count of instances by status.

    " + } + }, + "documentation":"

    Information about the association.

    " + }, + "AssociationResourceId":{ + "type":"string", + "max":100, + "min":1 + }, + "AssociationResourceType":{ + "type":"string", + "max":50, + "min":1 + }, + "AssociationStatus":{ + "type":"structure", + "required":[ + "Date", + "Name", + "Message" + ], + "members":{ + "Date":{ + "shape":"DateTime", + "documentation":"

    The date when the status changed.

    " + }, + "Name":{ + "shape":"AssociationStatusName", + "documentation":"

    The status.

    " + }, + "Message":{ + "shape":"StatusMessage", + "documentation":"

    The reason for the status.

    " + }, + "AdditionalInfo":{ + "shape":"StatusAdditionalInfo", + "documentation":"

    A user-defined string.

    " + } + }, + "documentation":"

    Describes an association status.

    " + }, + "AssociationStatusAggregatedCount":{ + "type":"map", + "key":{"shape":"StatusName"}, + "value":{"shape":"InstanceCount"} + }, + "AssociationStatusName":{ + "type":"string", + "enum":[ + "Pending", + "Success", + "Failed" + ] + }, + "AssociationSyncCompliance":{ + "type":"string", + "enum":[ + "AUTO", + "MANUAL" + ] + }, + "AssociationVersion":{ + "type":"string", + "pattern":"([$]LATEST)|([1-9][0-9]*)" + }, + "AssociationVersionInfo":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The ID created by the system when the association was created.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The association version.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date the association version was created.

    " + }, + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name specified when the association was created.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of a Systems Manager document used when the association version was created.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    Parameters specified when the association version was created.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets specified for the association when the association version was created.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    The cron or rate schedule specified for the association when the association version was created.

    " + }, + "OutputLocation":{ + "shape":"InstanceAssociationOutputLocation", + "documentation":"

    The location in Amazon S3 specified for the association when the association version was created.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    The name specified for the association version when the association version was created.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

    Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

    If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

    " + }, + "ComplianceSeverity":{ + "shape":"AssociationComplianceSeverity", + "documentation":"

    The severity level that is assigned to the association.

    " + }, + "SyncCompliance":{ + "shape":"AssociationSyncCompliance", + "documentation":"

    The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

    In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    By default, all associations use AUTO mode.

    " + } + }, + "documentation":"

    Information about the association version.

    " + }, + "AssociationVersionLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You have reached the maximum number versions allowed for an association. Each association has a limit of 1,000 versions.

    ", + "exception":true + }, + "AssociationVersionList":{ + "type":"list", + "member":{"shape":"AssociationVersionInfo"}, + "min":1 + }, + "AttachmentContent":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AttachmentName", + "documentation":"

    The name of an attachment.

    " + }, + "Size":{ + "shape":"ContentLength", + "documentation":"

    The size of an attachment in bytes.

    " + }, + "Hash":{ + "shape":"AttachmentHash", + "documentation":"

    The cryptographic hash value of the document content.

    " + }, + "HashType":{ + "shape":"AttachmentHashType", + "documentation":"

    The hash algorithm used to calculate the hash value.

    " + }, + "Url":{ + "shape":"AttachmentUrl", + "documentation":"

    The URL location of the attachment content.

    " + } + }, + "documentation":"

    A structure that includes attributes that describe a document attachment.

    " + }, + "AttachmentContentList":{ + "type":"list", + "member":{"shape":"AttachmentContent"} + }, + "AttachmentHash":{ + "type":"string", + "max":256 + }, + "AttachmentHashType":{ + "type":"string", + "enum":["Sha256"] + }, + "AttachmentIdentifier":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "AttachmentInformation":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AttachmentName", + "documentation":"

    The name of the attachment.

    " + } + }, + "documentation":"

    An attribute of an attachment, such as the attachment name.

    " + }, + "AttachmentInformationList":{ + "type":"list", + "member":{"shape":"AttachmentInformation"} + }, + "AttachmentName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "AttachmentUrl":{"type":"string"}, + "AttachmentsSource":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"AttachmentsSourceKey", + "documentation":"

    The key of a key-value pair that identifies the location of an attachment to a document.

    " + }, + "Values":{ + "shape":"AttachmentsSourceValues", + "documentation":"

    The value of a key-value pair that identifies the location of an attachment to a document. The format for Value depends on the type of key you specify.

    • For the key SourceUrl, the value is an S3 bucket location. For example:

      \"Values\": [ \"s3://my-bucket/my-folder\" ]

    • For the key S3FileUrl, the value is a file in an S3 bucket. For example:

      \"Values\": [ \"s3://my-bucket/my-folder/my-file.py\" ]

    • For the key AttachmentReference, the value is constructed from the name of another SSM document in your account, a version number of that document, and a file attached to that document version that you want to reuse. For example:

      \"Values\": [ \"MyOtherDocument/3/my-other-file.py\" ]

      However, if the SSM document is shared with you from another account, the full SSM document ARN must be specified instead of the document name only. For example:

      \"Values\": [ \"arn:aws:ssm:us-east-2:111122223333:document/OtherAccountDocument/3/their-file.py\" ]

    " + }, + "Name":{ + "shape":"AttachmentIdentifier", + "documentation":"

    The name of the document attachment file.

    " + } + }, + "documentation":"

    Identifying information about a document attachment, including the file name and a key-value pair that identifies the location of an attachment to a document.

    " + }, + "AttachmentsSourceKey":{ + "type":"string", + "enum":[ + "SourceUrl", + "S3FileUrl", + "AttachmentReference" + ] + }, + "AttachmentsSourceList":{ + "type":"list", + "member":{"shape":"AttachmentsSource"}, + "max":20, + "min":0 + }, + "AttachmentsSourceValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "AttachmentsSourceValues":{ + "type":"list", + "member":{"shape":"AttachmentsSourceValue"}, + "max":1, + "min":1 + }, + "AttributeName":{ + "type":"string", + "max":64, + "min":1 + }, + "AttributeValue":{ + "type":"string", + "max":4096, + "min":0 + }, + "AutomationActionName":{ + "type":"string", + "pattern":"^aws:[a-zA-Z]{3,25}$" + }, + "AutomationDefinitionNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    An Automation document with the specified name could not be found.

    ", + "exception":true + }, + "AutomationDefinitionVersionNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    An Automation document with the specified name and version could not be found.

    ", + "exception":true + }, + "AutomationExecution":{ + "type":"structure", + "members":{ + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The execution ID.

    " + }, + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The name of the Automation document used during the execution.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of the document to use during execution.

    " + }, + "ExecutionStartTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution started.

    " + }, + "ExecutionEndTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution finished.

    " + }, + "AutomationExecutionStatus":{ + "shape":"AutomationExecutionStatus", + "documentation":"

    The execution status of the Automation.

    " + }, + "StepExecutions":{ + "shape":"StepExecutionList", + "documentation":"

    A list of details about the current state of all steps that comprise an execution. An Automation document contains a list of steps that are run in order.

    " + }, + "StepExecutionsTruncated":{ + "shape":"Boolean", + "documentation":"

    A boolean value that indicates if the response contains the full list of the Automation step executions. If true, use the DescribeAutomationStepExecutions API action to get the full list of step executions.

    " + }, + "Parameters":{ + "shape":"AutomationParameterMap", + "documentation":"

    The key-value map of execution parameters, which were supplied when calling StartAutomationExecution.

    " + }, + "Outputs":{ + "shape":"AutomationParameterMap", + "documentation":"

    The list of execution outputs as defined in the automation document.

    " + }, + "FailureMessage":{ + "shape":"String", + "documentation":"

    A message describing why an execution has failed, if the status is set to Failed.

    " + }, + "Mode":{ + "shape":"ExecutionMode", + "documentation":"

    The automation execution mode.

    " + }, + "ParentAutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The AutomationExecutionId of the parent automation.

    " + }, + "ExecutedBy":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the user who ran the automation.

    " + }, + "CurrentStepName":{ + "shape":"String", + "documentation":"

    The name of the step that is currently running.

    " + }, + "CurrentAction":{ + "shape":"String", + "documentation":"

    The action of the step that is currently running.

    " + }, + "TargetParameterName":{ + "shape":"AutomationParameterKey", + "documentation":"

    The parameter name.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The specified targets.

    " + }, + "TargetMaps":{ + "shape":"TargetMaps", + "documentation":"

    The specified key-value mapping of document parameters to target resources.

    " + }, + "ResolvedTargets":{ + "shape":"ResolvedTargets", + "documentation":"

    A list of resolved targets in the rate control execution.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The MaxConcurrency value specified by the user when the execution started.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The MaxErrors value specified by the user when the execution started.

    " + }, + "Target":{ + "shape":"String", + "documentation":"

    The target of the execution.

    " + }, + "TargetLocations":{ + "shape":"TargetLocations", + "documentation":"

    The combination of AWS Regions and/or AWS accounts where you want to run the Automation.

    ", + "box":true + }, + "ProgressCounters":{ + "shape":"ProgressCounters", + "documentation":"

    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and multi-account Automation execution.

    " + } + }, + "documentation":"

    Detailed information about the current state of an individual Automation execution.

    " + }, + "AutomationExecutionFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"AutomationExecutionFilterKey", + "documentation":"

    One or more keys to limit the results. Valid filter keys include the following: DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter.

    " + }, + "Values":{ + "shape":"AutomationExecutionFilterValueList", + "documentation":"

    The values used to limit the execution information associated with the filter's key.

    " + } + }, + "documentation":"

    A filter used to match specific automation executions. This is used to limit the scope of Automation execution information returned.

    " + }, + "AutomationExecutionFilterKey":{ + "type":"string", + "enum":[ + "DocumentNamePrefix", + "ExecutionStatus", + "ExecutionId", + "ParentExecutionId", + "CurrentAction", + "StartTimeBefore", + "StartTimeAfter", + "AutomationType", + "TagKey" + ] + }, + "AutomationExecutionFilterList":{ + "type":"list", + "member":{"shape":"AutomationExecutionFilter"}, + "max":10, + "min":1 + }, + "AutomationExecutionFilterValue":{ + "type":"string", + "max":150, + "min":1 + }, + "AutomationExecutionFilterValueList":{ + "type":"list", + "member":{"shape":"AutomationExecutionFilterValue"}, + "max":10, + "min":1 + }, + "AutomationExecutionId":{ + "type":"string", + "max":36, + "min":36 + }, + "AutomationExecutionLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The number of simultaneously running Automation executions exceeded the allowable limit.

    ", + "exception":true + }, + "AutomationExecutionMetadata":{ + "type":"structure", + "members":{ + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The execution ID.

    " + }, + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The name of the Automation document used during execution.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version used during the execution.

    " + }, + "AutomationExecutionStatus":{ + "shape":"AutomationExecutionStatus", + "documentation":"

    The status of the execution.

    " + }, + "ExecutionStartTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution started.

    " + }, + "ExecutionEndTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution finished. This is not populated if the execution is still in progress.

    " + }, + "ExecutedBy":{ + "shape":"String", + "documentation":"

    The IAM role ARN of the user who ran the Automation.

    " + }, + "LogFile":{ + "shape":"String", + "documentation":"

    An S3 bucket where execution information is stored.

    " + }, + "Outputs":{ + "shape":"AutomationParameterMap", + "documentation":"

    The list of execution outputs as defined in the Automation document.

    " + }, + "Mode":{ + "shape":"ExecutionMode", + "documentation":"

    The Automation execution mode.

    " + }, + "ParentAutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The ExecutionId of the parent Automation.

    " + }, + "CurrentStepName":{ + "shape":"String", + "documentation":"

    The name of the step that is currently running.

    " + }, + "CurrentAction":{ + "shape":"String", + "documentation":"

    The action of the step that is currently running.

    " + }, + "FailureMessage":{ + "shape":"String", + "documentation":"

    The list of execution outputs as defined in the Automation document.

    " + }, + "TargetParameterName":{ + "shape":"AutomationParameterKey", + "documentation":"

    The list of execution outputs as defined in the Automation document.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets defined by the user when starting the Automation.

    " + }, + "TargetMaps":{ + "shape":"TargetMaps", + "documentation":"

    The specified key-value mapping of document parameters to target resources.

    " + }, + "ResolvedTargets":{ + "shape":"ResolvedTargets", + "documentation":"

    A list of targets that resolved during the execution.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The MaxConcurrency value specified by the user when starting the Automation.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The MaxErrors value specified by the user when starting the Automation.

    " + }, + "Target":{ + "shape":"String", + "documentation":"

    The list of execution outputs as defined in the Automation document.

    " + }, + "AutomationType":{ + "shape":"AutomationType", + "documentation":"

    Use this filter with DescribeAutomationExecutions. Specify either Local or CrossAccount. CrossAccount is an Automation that runs in multiple AWS Regions and accounts. For more information, see Running Automation workflows in multiple AWS Regions and accounts in the AWS Systems Manager User Guide.

    " + } + }, + "documentation":"

    Details about a specific Automation execution.

    " + }, + "AutomationExecutionMetadataList":{ + "type":"list", + "member":{"shape":"AutomationExecutionMetadata"} + }, + "AutomationExecutionNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    There is no automation execution information for the requested automation execution ID.

    ", + "exception":true + }, + "AutomationExecutionStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Waiting", + "Success", + "TimedOut", + "Cancelling", + "Cancelled", + "Failed" + ] + }, + "AutomationParameterKey":{ + "type":"string", + "max":50, + "min":1 + }, + "AutomationParameterMap":{ + "type":"map", + "key":{"shape":"AutomationParameterKey"}, + "value":{"shape":"AutomationParameterValueList"}, + "max":200, + "min":1 + }, + "AutomationParameterValue":{ + "type":"string", + "max":512, + "min":1 + }, + "AutomationParameterValueList":{ + "type":"list", + "member":{"shape":"AutomationParameterValue"}, + "max":10, + "min":0 + }, + "AutomationStepNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified step name and execution ID don't exist. Verify the information and try again.

    ", + "exception":true + }, + "AutomationTargetParameterName":{ + "type":"string", + "max":50, + "min":1 + }, + "AutomationType":{ + "type":"string", + "enum":[ + "CrossAccount", + "Local" + ] + }, + "BaselineDescription":{ + "type":"string", + "max":1024, + "min":1 + }, + "BaselineId":{ + "type":"string", + "max":128, + "min":20, + "pattern":"^[a-zA-Z0-9_\\-:/]{20,128}$" + }, + "BaselineName":{ + "type":"string", + "max":128, + "min":3, + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "BatchErrorMessage":{"type":"string"}, + "Boolean":{"type":"boolean"}, + "CalendarNameOrARN":{"type":"string"}, + "CalendarNameOrARNList":{ + "type":"list", + "member":{"shape":"CalendarNameOrARN"} + }, + "CalendarState":{ + "type":"string", + "enum":[ + "OPEN", + "CLOSED" + ] + }, + "CancelCommandRequest":{ + "type":"structure", + "required":["CommandId"], + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    The ID of the command you want to cancel.

    " + }, + "InstanceIds":{ + "shape":"InstanceIdList", + "documentation":"

    (Optional) A list of instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance on which it was requested.

    " + } + }, + "documentation":"

    " + }, + "CancelCommandResult":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Whether or not the command was successfully canceled. There is no guarantee that a request can be canceled.

    " + }, + "CancelMaintenanceWindowExecutionRequest":{ + "type":"structure", + "required":["WindowExecutionId"], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution to stop.

    " + } + } + }, + "CancelMaintenanceWindowExecutionResult":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that has been stopped.

    " + } + } + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":1 + }, + "CloudWatchLogGroupName":{ + "type":"string", + "max":512, + "min":1 + }, + "CloudWatchOutputConfig":{ + "type":"structure", + "members":{ + "CloudWatchLogGroupName":{ + "shape":"CloudWatchLogGroupName", + "documentation":"

    The name of the CloudWatch log group where you want to send command output. If you don't specify a group name, Systems Manager automatically creates a log group for you. The log group uses the following naming format: aws/ssm/SystemsManagerDocumentName.

    " + }, + "CloudWatchOutputEnabled":{ + "shape":"CloudWatchOutputEnabled", + "documentation":"

    Enables Systems Manager to send command output to CloudWatch Logs.

    " + } + }, + "documentation":"

    Configuration options for sending command output to CloudWatch Logs.

    " + }, + "CloudWatchOutputEnabled":{"type":"boolean"}, + "Command":{ + "type":"structure", + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    A unique identifier for this command.

    " + }, + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The name of the document requested for execution.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The SSM document version.

    " + }, + "Comment":{ + "shape":"Comment", + "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " + }, + "ExpiresAfter":{ + "shape":"DateTime", + "documentation":"

    If this time is reached and the command has not already started running, it will not run. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    The parameter values to be inserted in the document when running the command.

    " + }, + "InstanceIds":{ + "shape":"InstanceIdList", + "documentation":"

    The instance IDs against which this command was requested.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.

    " + }, + "RequestedDateTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the command was requested.

    " + }, + "Status":{ + "shape":"CommandStatus", + "documentation":"

    The status of the command.

    " + }, + "StatusDetails":{ + "shape":"StatusDetails", + "documentation":"

    A detailed status of the command execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding command statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

    • Pending: The command has not been sent to any instances.

    • In Progress: The command has been sent to at least one instance but has not reached a final state on all instances.

    • Success: The command successfully ran on all invocations. This is a terminal state.

    • Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.

    • Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.

    • Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.

    • Incomplete: The command was attempted on all instances and one or more invocations does not have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.

    • Canceled: The command was terminated before it was completed. This is a terminal state.

    • Rate Exceeded: The number of instances targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any instance. This is a terminal state.

    " + }, + "OutputS3Region":{ + "shape":"S3Region", + "documentation":"

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Region of the S3 bucket.

    " + }, + "OutputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + }, + "OutputS3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of instances that are allowed to run the command at the same time. You can specify a number of instances, such as 10, or a percentage of instances, such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Running commands using Systems Manager Run Command in the AWS Systems Manager User Guide.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is 0. For more information about how to use MaxErrors, see Running commands using Systems Manager Run Command in the AWS Systems Manager User Guide.

    " + }, + "TargetCount":{ + "shape":"TargetCount", + "documentation":"

    The number of targets for the command.

    " + }, + "CompletedCount":{ + "shape":"CompletedCount", + "documentation":"

    The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

    " + }, + "ErrorCount":{ + "shape":"ErrorCount", + "documentation":"

    The number of targets for which the status is Failed or Execution Timed Out.

    " + }, + "DeliveryTimedOutCount":{ + "shape":"DeliveryTimedOutCount", + "documentation":"

    The number of targets for which the status is Delivery Timed Out.

    " + }, + "ServiceRole":{ + "shape":"ServiceRole", + "documentation":"

    The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes.

    " + }, + "NotificationConfig":{ + "shape":"NotificationConfig", + "documentation":"

    Configurations for sending notifications about command status changes.

    " + }, + "CloudWatchOutputConfig":{ + "shape":"CloudWatchOutputConfig", + "documentation":"

    CloudWatch Logs information where you want Systems Manager to send the command output.

    " + }, + "TimeoutSeconds":{ + "shape":"TimeoutSeconds", + "documentation":"

    The TimeoutSeconds value specified for a command.

    " + } + }, + "documentation":"

    Describes a command request.

    " + }, + "CommandFilter":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"CommandFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "value":{ + "shape":"CommandFilterValue", + "documentation":"

    The filter value. Valid values for each filter key are as follows:

    • InvokedAfter: Specify a timestamp to limit your results. For example, specify 2018-07-07T00:00:00Z to see a list of command executions occurring July 7, 2018, and later.

    • InvokedBefore: Specify a timestamp to limit your results. For example, specify 2018-07-07T00:00:00Z to see a list of command executions from before July 7, 2018.

    • Status: Specify a valid command status to see a list of all command executions with that status. Status values you can specify include:

      • Pending

      • InProgress

      • Success

      • Cancelled

      • Failed

      • TimedOut

      • Cancelling

    • DocumentName: Specify name of the SSM document for which you want to see command execution results. For example, specify AWS-RunPatchBaseline to see command executions that used this SSM document to perform security patching operations on instances.

    • ExecutionStage: Specify one of the following values:

      • Executing: Returns a list of command executions that are currently still running.

      • Complete: Returns a list of command executions that have already completed.

    " + } + }, + "documentation":"

    Describes a command filter.

    " + }, + "CommandFilterKey":{ + "type":"string", + "enum":[ + "InvokedAfter", + "InvokedBefore", + "Status", + "ExecutionStage", + "DocumentName" + ] + }, + "CommandFilterList":{ + "type":"list", + "member":{"shape":"CommandFilter"}, + "max":5, + "min":1 + }, + "CommandFilterValue":{ + "type":"string", + "max":128, + "min":1 + }, + "CommandId":{ + "type":"string", + "max":36, + "min":36 + }, + "CommandInvocation":{ + "type":"structure", + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    The command against which this invocation was requested.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID in which this invocation was requested.

    " + }, + "InstanceName":{ + "shape":"InstanceTagName", + "documentation":"

    The name of the invocation target. For EC2 instances this is the value for the aws:Name tag. For on-premises instances, this is the name of the instance.

    " + }, + "Comment":{ + "shape":"Comment", + "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " + }, + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The document name that was requested for execution.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The SSM document version.

    " + }, + "RequestedDateTime":{ + "shape":"DateTime", + "documentation":"

    The time and date the request was sent to this instance.

    " + }, + "Status":{ + "shape":"CommandInvocationStatus", + "documentation":"

    Whether or not the invocation succeeded, failed, or is pending.

    " + }, + "StatusDetails":{ + "shape":"StatusDetails", + "documentation":"

    A detailed status of the command execution for each invocation (each instance targeted by the command). StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding command statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

    • Pending: The command has not been sent to the instance.

    • In Progress: The command has been sent to the instance but has not reached a terminal state.

    • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

    • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

    • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

    • Canceled: The command was terminated before it was completed. This is a terminal state.

    • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

    " + }, + "TraceOutput":{ + "shape":"InvocationTraceOutput", + "documentation":"

    Gets the trace output sent by the agent.

    " + }, + "StandardOutputUrl":{ + "shape":"Url", + "documentation":"

    The URL to the plugin's StdOut file in Amazon S3, if the S3 bucket was defined for the parent command. For an invocation, StandardOutputUrl is populated if there is just one plugin defined for the command, and the S3 bucket was defined for the command.

    " + }, + "StandardErrorUrl":{ + "shape":"Url", + "documentation":"

    The URL to the plugin's StdErr file in Amazon S3, if the S3 bucket was defined for the parent command. For an invocation, StandardErrorUrl is populated if there is just one plugin defined for the command, and the S3 bucket was defined for the command.

    " + }, + "CommandPlugins":{"shape":"CommandPluginList"}, + "ServiceRole":{ + "shape":"ServiceRole", + "documentation":"

    The IAM service role that Run Command uses to act on your behalf when sending notifications about command status changes on a per instance basis.

    " + }, + "NotificationConfig":{ + "shape":"NotificationConfig", + "documentation":"

    Configurations for sending notifications about command status changes on a per instance basis.

    " + }, + "CloudWatchOutputConfig":{ + "shape":"CloudWatchOutputConfig", + "documentation":"

    CloudWatch Logs information where you want Systems Manager to send the command output.

    " + } + }, + "documentation":"

    An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you ran.

    " + }, + "CommandInvocationList":{ + "type":"list", + "member":{"shape":"CommandInvocation"} + }, + "CommandInvocationStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Delayed", + "Success", + "Cancelled", + "TimedOut", + "Failed", + "Cancelling" + ] + }, + "CommandList":{ + "type":"list", + "member":{"shape":"Command"} + }, + "CommandMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "CommandPlugin":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"CommandPluginName", + "documentation":"

    The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent.

    " + }, + "Status":{ + "shape":"CommandPluginStatus", + "documentation":"

    The status of this plugin. You can run a document with multiple plugins.

    " + }, + "StatusDetails":{ + "shape":"StatusDetails", + "documentation":"

    A detailed status of the plugin execution. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding command statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

    • Pending: The command has not been sent to the instance.

    • In Progress: The command has been sent to the instance but has not reached a terminal state.

    • Success: The execution of the command or plugin was successfully completed. This is a terminal state.

    • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Execution Timed Out: Command execution started on the instance, but the execution was not complete before the execution timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

    • Failed: The command was not successful on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

    • Canceled: The command was terminated before it was completed. This is a terminal state.

    • Undeliverable: The command can't be delivered to the instance. The instance might not exist, or it might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit, and they don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

    " + }, + "ResponseCode":{ + "shape":"ResponseCode", + "documentation":"

    A numeric response code generated after running the plugin.

    " + }, + "ResponseStartDateTime":{ + "shape":"DateTime", + "documentation":"

    The time the plugin started running.

    " + }, + "ResponseFinishDateTime":{ + "shape":"DateTime", + "documentation":"

    The time the plugin stopped running. Could stop prematurely if, for example, a cancel command was sent.

    " + }, + "Output":{ + "shape":"CommandPluginOutput", + "documentation":"

    Output of the plugin execution.

    " + }, + "StandardOutputUrl":{ + "shape":"Url", + "documentation":"

    The URL for the complete text written by the plugin to stdout in Amazon S3. If the S3 bucket for the command was not specified, then this string is empty.

    " + }, + "StandardErrorUrl":{ + "shape":"Url", + "documentation":"

    The URL for the complete text written by the plugin to stderr. If execution is not yet complete, then this string is empty.

    " + }, + "OutputS3Region":{ + "shape":"S3Region", + "documentation":"

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the S3 bucket region.

    " + }, + "OutputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

    test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

    test_folder is the name of the S3 bucket;

    ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

    i-1234567876543 is the instance ID;

    awsrunShellScript is the name of the plugin.

    " + }, + "OutputS3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command. For example, in the following response:

    test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript

    test_folder is the name of the S3 bucket;

    ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 prefix;

    i-1234567876543 is the instance ID;

    awsrunShellScript is the name of the plugin.

    " + } + }, + "documentation":"

    Describes plugin details.

    " + }, + "CommandPluginList":{ + "type":"list", + "member":{"shape":"CommandPlugin"} + }, + "CommandPluginName":{ + "type":"string", + "min":4 + }, + "CommandPluginOutput":{ + "type":"string", + "max":2500 + }, + "CommandPluginStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Success", + "TimedOut", + "Cancelled", + "Failed" + ] + }, + "CommandStatus":{ + "type":"string", + "enum":[ + "Pending", + "InProgress", + "Success", + "Cancelled", + "Failed", + "TimedOut", + "Cancelling" + ] + }, + "Comment":{ + "type":"string", + "max":100 + }, + "CompletedCount":{"type":"integer"}, + "ComplianceExecutionId":{ + "type":"string", + "max":100 + }, + "ComplianceExecutionSummary":{ + "type":"structure", + "required":["ExecutionTime"], + "members":{ + "ExecutionTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution ran as a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

    " + }, + "ExecutionId":{ + "shape":"ComplianceExecutionId", + "documentation":"

    An ID created by the system when PutComplianceItems was called. For example, CommandID is a valid execution ID. You can use this ID in subsequent calls.

    " + }, + "ExecutionType":{ + "shape":"ComplianceExecutionType", + "documentation":"

    The type of execution. For example, Command is a valid execution type.

    " + } + }, + "documentation":"

    A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

    " + }, + "ComplianceExecutionType":{ + "type":"string", + "max":50 + }, + "ComplianceFilterValue":{"type":"string"}, + "ComplianceItem":{ + "type":"structure", + "members":{ + "ComplianceType":{ + "shape":"ComplianceTypeName", + "documentation":"

    The compliance type. For example, Association (for a State Manager association), Patch, or Custom:string are all valid compliance types.

    " + }, + "ResourceType":{ + "shape":"ComplianceResourceType", + "documentation":"

    The type of resource. ManagedInstance is currently the only supported resource type.

    " + }, + "ResourceId":{ + "shape":"ComplianceResourceId", + "documentation":"

    An ID for the resource. For a managed instance, this is the instance ID.

    " + }, + "Id":{ + "shape":"ComplianceItemId", + "documentation":"

    An ID for the compliance item. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article; for example: KB4010320.

    " + }, + "Title":{ + "shape":"ComplianceItemTitle", + "documentation":"

    A title for the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services.

    " + }, + "Status":{ + "shape":"ComplianceStatus", + "documentation":"

    The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

    " + }, + "Severity":{ + "shape":"ComplianceSeverity", + "documentation":"

    The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

    " + }, + "ExecutionSummary":{ + "shape":"ComplianceExecutionSummary", + "documentation":"

    A summary for the compliance item. The summary includes an execution ID, the execution type (for example, command), and the execution time.

    " + }, + "Details":{ + "shape":"ComplianceItemDetails", + "documentation":"

    A \"Key\": \"Value\" tag combination for the compliance item.

    " + } + }, + "documentation":"

    Information about the compliance as defined by the resource type. For example, for a patch resource type, Items includes information about the PatchSeverity, Classification, and so on.

    " + }, + "ComplianceItemContentHash":{ + "type":"string", + "max":256 + }, + "ComplianceItemDetails":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "ComplianceItemEntry":{ + "type":"structure", + "required":[ + "Severity", + "Status" + ], + "members":{ + "Id":{ + "shape":"ComplianceItemId", + "documentation":"

    The compliance item ID. For example, if the compliance item is a Windows patch, the ID could be the number of the KB article.

    " + }, + "Title":{ + "shape":"ComplianceItemTitle", + "documentation":"

    The title of the compliance item. For example, if the compliance item is a Windows patch, the title could be the title of the KB article for the patch; for example: Security Update for Active Directory Federation Services.

    " + }, + "Severity":{ + "shape":"ComplianceSeverity", + "documentation":"

    The severity of the compliance status. Severity can be one of the following: Critical, High, Medium, Low, Informational, Unspecified.

    " + }, + "Status":{ + "shape":"ComplianceStatus", + "documentation":"

    The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.

    " + }, + "Details":{ + "shape":"ComplianceItemDetails", + "documentation":"

    A \"Key\": \"Value\" tag combination for the compliance item.

    " + } + }, + "documentation":"

    Information about a compliance item.

    " + }, + "ComplianceItemEntryList":{ + "type":"list", + "member":{"shape":"ComplianceItemEntry"}, + "max":10000, + "min":0 + }, + "ComplianceItemId":{"type":"string"}, + "ComplianceItemList":{ + "type":"list", + "member":{"shape":"ComplianceItem"} + }, + "ComplianceItemTitle":{ + "type":"string", + "max":500 + }, + "ComplianceQueryOperatorType":{ + "type":"string", + "enum":[ + "EQUAL", + "NOT_EQUAL", + "BEGIN_WITH", + "LESS_THAN", + "GREATER_THAN" + ] + }, + "ComplianceResourceId":{ + "type":"string", + "max":100, + "min":1 + }, + "ComplianceResourceIdList":{ + "type":"list", + "member":{"shape":"ComplianceResourceId"}, + "min":1 + }, + "ComplianceResourceType":{ + "type":"string", + "max":50, + "min":1 + }, + "ComplianceResourceTypeList":{ + "type":"list", + "member":{"shape":"ComplianceResourceType"}, + "min":1 + }, + "ComplianceSeverity":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW", + "INFORMATIONAL", + "UNSPECIFIED" + ] + }, + "ComplianceStatus":{ + "type":"string", + "enum":[ + "COMPLIANT", + "NON_COMPLIANT" + ] + }, + "ComplianceStringFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"ComplianceStringFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Values":{ + "shape":"ComplianceStringFilterValueList", + "documentation":"

    The value for which to search.

    " + }, + "Type":{ + "shape":"ComplianceQueryOperatorType", + "documentation":"

    The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith, LessThan, or GreaterThan.

    " + } + }, + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "ComplianceStringFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "ComplianceStringFilterList":{ + "type":"list", + "member":{"shape":"ComplianceStringFilter"} + }, + "ComplianceStringFilterValueList":{ + "type":"list", + "member":{"shape":"ComplianceFilterValue"}, + "max":20, + "min":1 + }, + "ComplianceSummaryCount":{"type":"integer"}, + "ComplianceSummaryItem":{ + "type":"structure", + "members":{ + "ComplianceType":{ + "shape":"ComplianceTypeName", + "documentation":"

    The type of compliance item. For example, the compliance type can be Association, Patch, or Custom:string.

    " + }, + "CompliantSummary":{ + "shape":"CompliantSummary", + "documentation":"

    A list of COMPLIANT items for the specified compliance type.

    " + }, + "NonCompliantSummary":{ + "shape":"NonCompliantSummary", + "documentation":"

    A list of NON_COMPLIANT items for the specified compliance type.

    " + } + }, + "documentation":"

    A summary of compliance information by compliance type.

    " + }, + "ComplianceSummaryItemList":{ + "type":"list", + "member":{"shape":"ComplianceSummaryItem"} + }, + "ComplianceTypeCountLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You specified too many custom compliance types. You can specify a maximum of 10 different types.

    ", + "exception":true + }, + "ComplianceTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[A-Za-z0-9_\\-]\\w+|Custom:[a-zA-Z0-9_\\-]\\w+" + }, + "ComplianceUploadType":{ + "type":"string", + "enum":[ + "COMPLETE", + "PARTIAL" + ] + }, + "CompliantSummary":{ + "type":"structure", + "members":{ + "CompliantCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources that are compliant.

    " + }, + "SeveritySummary":{ + "shape":"SeveritySummary", + "documentation":"

    A summary of the compliance severity by compliance type.

    " + } + }, + "documentation":"

    A summary of resources that are compliant. The summary is organized according to the resource count for each compliance type.

    " + }, + "ComputerName":{ + "type":"string", + "max":255, + "min":1 + }, + "ConnectionStatus":{ + "type":"string", + "enum":[ + "Connected", + "NotConnected" + ] + }, + "ContentLength":{"type":"long"}, + "CreateActivationRequest":{ + "type":"structure", + "required":["IamRole"], + "members":{ + "Description":{ + "shape":"ActivationDescription", + "documentation":"

    A user-defined description of the resource that you want to register with Systems Manager.

    Do not enter personally identifiable information in this field.

    " + }, + "DefaultInstanceName":{ + "shape":"DefaultInstanceName", + "documentation":"

    The name of the registered, managed instance as it will appear in the Systems Manager console or when you use the AWS command line tools to list Systems Manager resources.

    Do not enter personally identifiable information in this field.

    " + }, + "IamRole":{ + "shape":"IamRole", + "documentation":"

    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance. This IAM role must provide AssumeRole permissions for the Systems Manager service principal ssm.amazonaws.com. For more information, see Create an IAM service role for a hybrid environment in the AWS Systems Manager User Guide.

    " + }, + "RegistrationLimit":{ + "shape":"RegistrationLimit", + "documentation":"

    Specify the maximum number of managed instances you want to register. The default value is 1 instance.

    ", + "box":true + }, + "ExpirationDate":{ + "shape":"ExpirationDate", + "documentation":"

    The date by which this activation request should expire. The default value is 24 hours.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an activation to identify which servers or virtual machines (VMs) in your on-premises environment you intend to activate. In this case, you could specify the following key name/value pairs:

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

    When you install SSM Agent on your on-premises servers and VMs, you specify an activation ID and code. When you specify the activation ID and code, tags assigned to the activation are automatically applied to the on-premises servers or VMs.

    You can't add tags to or delete tags from an existing activation. You can tag your on-premises servers and VMs after they connect to Systems Manager for the first time and are assigned a managed instance ID. This means they are listed in the AWS Systems Manager console with an ID that is prefixed with \"mi-\". For information about how to add tags to your managed instances, see AddTagsToResource. For information about how to remove tags from your managed instances, see RemoveTagsFromResource.

    " + } + } + }, + "CreateActivationResult":{ + "type":"structure", + "members":{ + "ActivationId":{ + "shape":"ActivationId", + "documentation":"

    The ID number generated by the system when it processed the activation. The activation ID functions like a user name.

    " + }, + "ActivationCode":{ + "shape":"ActivationCode", + "documentation":"

    The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID.

    " + } + } + }, + "CreateAssociationBatchRequest":{ + "type":"structure", + "required":["Entries"], + "members":{ + "Entries":{ + "shape":"CreateAssociationBatchRequestEntries", + "documentation":"

    One or more associations.

    " + } + } + }, + "CreateAssociationBatchRequestEntries":{ + "type":"list", + "member":{"shape":"CreateAssociationBatchRequestEntry"}, + "min":1 + }, + "CreateAssociationBatchRequestEntry":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

    You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

    For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

    arn:aws:ssm:region:account-id:document/document-name

    For example:

    arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

    For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    A description of the parameters for a document.

    " + }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The instances targeted by the request.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    A cron expression that specifies a schedule when the association runs.

    " + }, + "OutputLocation":{ + "shape":"InstanceAssociationOutputLocation", + "documentation":"

    An S3 bucket where you want to store the results of this request.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    Specify a descriptive name for the association.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

    Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

    If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

    " + }, + "ComplianceSeverity":{ + "shape":"AssociationComplianceSeverity", + "documentation":"

    The severity level to assign to the association.

    " + }, + "SyncCompliance":{ + "shape":"AssociationSyncCompliance", + "documentation":"

    The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

    In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    By default, all associations use AUTO mode.

    " + } + }, + "documentation":"

    Describes the association of a Systems Manager SSM document and an instance.

    " + }, + "CreateAssociationBatchResult":{ + "type":"structure", + "members":{ + "Successful":{ + "shape":"AssociationDescriptionList", + "documentation":"

    Information about the associations that succeeded.

    " + }, + "Failed":{ + "shape":"FailedCreateAssociationList", + "documentation":"

    Information about the associations that failed.

    " + } + } + }, + "CreateAssociationRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

    You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

    For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

    arn:partition:ssm:region:account-id:document/document-name

    For example:

    arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

    For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version you want to associate with the target(s). Can be a specific version or the default version.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID.

    InstanceId has been deprecated. To specify an instance ID for an association, use the Targets parameter. Requests that include the parameter InstanceID with SSM documents that use schema version 2.0 or later will fail. In addition, if you use the parameter InstanceId, you cannot use the parameters AssociationName, DocumentVersion, MaxErrors, MaxConcurrency, OutputLocation, or ScheduleExpression. To use these parameters, you must use the Targets parameter.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    The parameters for the runtime configuration of the document.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets for the association. You can target instances by using tags, AWS Resource Groups, all instances in an AWS account, or individual instance IDs. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the AWS Systems Manager User Guide.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    A cron expression when the association will be applied to the target(s).

    " + }, + "OutputLocation":{ + "shape":"InstanceAssociationOutputLocation", + "documentation":"

    An S3 bucket where you want to store the output details of the request.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    Specify a descriptive name for the association.

    " + }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

    Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

    If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

    " + }, + "ComplianceSeverity":{ + "shape":"AssociationComplianceSeverity", + "documentation":"

    The severity level to assign to the association.

    " + }, + "SyncCompliance":{ + "shape":"AssociationSyncCompliance", + "documentation":"

    The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

    In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    By default, all associations use AUTO mode.

    " + } + } + }, + "CreateAssociationResult":{ + "type":"structure", + "members":{ + "AssociationDescription":{ + "shape":"AssociationDescription", + "documentation":"

    Information about the association.

    " + } + } + }, + "CreateDocumentRequest":{ + "type":"structure", + "required":[ + "Content", + "Name" + ], + "members":{ + "Content":{ + "shape":"DocumentContent", + "documentation":"

    The content for the new SSM document in JSON or YAML format. We recommend storing the contents for your new document in an external JSON or YAML file and referencing the file in a command.

    For examples, see the following topics in the AWS Systems Manager User Guide.

    " + }, + "Requires":{ + "shape":"DocumentRequiresList", + "documentation":"

    A list of SSM documents required by a document. This parameter is used exclusively by AWS AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document for validation purposes. For more information, see AWS AppConfig in the AWS Systems Manager User Guide.

    " + }, + "Attachments":{ + "shape":"AttachmentsSourceList", + "documentation":"

    A list of key and value pairs that describe attachments to a version of a document.

    " + }, + "Name":{ + "shape":"DocumentName", + "documentation":"

    A name for the Systems Manager document.

    You can't use the following strings as document name prefixes. These are reserved by AWS for use as document name prefixes:

    • aws-

    • amazon

    • amzn

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    An optional field specifying the version of the artifact you are creating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " + }, + "DocumentType":{ + "shape":"DocumentType", + "documentation":"

    The type of document to create.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    Specify the document format for the request. The document format can be JSON, YAML, or TEXT. JSON is the default format.

    " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

    Specify a target type to define the kinds of resources the document can run on. For example, to run a document on EC2 instances, specify the following value: /AWS::EC2::Instance. If you specify a value of '/' the document can run on all types of resources. If you don't specify a value, the document can't run on any resources. For a list of valid resource types, see AWS resource and property types reference in the AWS CloudFormation User Guide.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an SSM document to identify the types of targets or the environment where it will run. In this case, you could specify the following key name/value pairs:

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

    To add tags to an existing SSM document, use the AddTagsToResource action.

    " + } + } + }, + "CreateDocumentResult":{ + "type":"structure", + "members":{ + "DocumentDescription":{ + "shape":"DocumentDescription", + "documentation":"

    Information about the Systems Manager document.

    " + } + } + }, + "CreateMaintenanceWindowRequest":{ + "type":"structure", + "required":[ + "Name", + "Schedule", + "Duration", + "Cutoff", + "AllowUnassociatedTargets" + ], + "members":{ + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description for the maintenance window. We recommend specifying a description to help you organize your maintenance windows.

    " + }, + "StartDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become active. StartDate allows you to delay activation of the maintenance window until the specified future date.

    " + }, + "EndDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

    " + }, + "Schedule":{ + "shape":"MaintenanceWindowSchedule", + "documentation":"

    The schedule of the maintenance window in the form of a cron or rate expression.

    " + }, + "ScheduleTimezone":{ + "shape":"MaintenanceWindowTimezone", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

    " + }, + "Duration":{ + "shape":"MaintenanceWindowDurationHours", + "documentation":"

    The duration of the maintenance window in hours.

    " + }, + "Cutoff":{ + "shape":"MaintenanceWindowCutoff", + "documentation":"

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

    " + }, + "AllowUnassociatedTargets":{ + "shape":"MaintenanceWindowAllowUnassociatedTargets", + "documentation":"

    Enables a maintenance window task to run on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the maintenance window.

    If you don't enable this option, then you must specify previously-registered targets when you register a task with the maintenance window.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    User-provided idempotency token.

    ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a maintenance window to identify the type of tasks it will run, the types of targets, and the environment it will run in. In this case, you could specify the following key name/value pairs:

    • Key=TaskType,Value=AgentUpdate

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

    To add tags to an existing maintenance window, use the AddTagsToResource action.

    " + } + } + }, + "CreateMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the created maintenance window.

    " + } + } + }, + "CreateOpsItemRequest":{ + "type":"structure", + "required":[ + "Description", + "Source", + "Title" + ], + "members":{ + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

    Information about the OpsItem.

    " + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

    Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

    Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.

    You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

    Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see Creating OpsItems manually in the AWS Systems Manager User Guide.

    " + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

    " + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

    The importance of this OpsItem in relation to other OpsItems in the system.

    " + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

    One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

    " + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

    The origin of the OpsItem, such as Amazon EC2 or Systems Manager.

    The source name can't contain the following strings: aws, amazon, and amzn.

    " + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

    A short heading that describes the nature of the OpsItem and the impacted resource.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. You can restrict access to OpsItems by using an inline IAM policy that specifies tags. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide.

    Tags use a key-value pair. For example:

    Key=Department,Value=Finance

    To add tags to an existing OpsItem, use the AddTagsToResource action.

    " + }, + "Category":{ + "shape":"OpsItemCategory", + "documentation":"

    Specify a category to assign to an OpsItem.

    " + }, + "Severity":{ + "shape":"OpsItemSeverity", + "documentation":"

    Specify a severity to assign to an OpsItem.

    " + } + } + }, + "CreateOpsItemResponse":{ + "type":"structure", + "members":{ + "OpsItemId":{ + "shape":"String", + "documentation":"

    The ID of the OpsItem.

    " + } + } + }, + "CreatePatchBaselineRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    Defines the operating system the patch baseline applies to. The Default value is WINDOWS.

    " + }, + "Name":{ + "shape":"BaselineName", + "documentation":"

    The name of the patch baseline.

    " + }, + "GlobalFilters":{ + "shape":"PatchFilterGroup", + "documentation":"

    A set of global filters used to include patches in the baseline.

    " + }, + "ApprovalRules":{ + "shape":"PatchRuleGroup", + "documentation":"

    A set of rules used to include patches in the baseline.

    " + }, + "ApprovedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly approved patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see About package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    " + }, + "ApprovedPatchesComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    Defines the compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. The default value is UNSPECIFIED.

    " + }, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

    ", + "box":true + }, + "RejectedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly rejected patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see About package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    " + }, + "RejectedPatchesAction":{ + "shape":"PatchAction", + "documentation":"

    The action for Patch Manager to take on patches included in the RejectedPackages list.

    • ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as InstalledOther. This is the default action if no option is specified.

    • BLOCK: Packages in the RejectedPatches list, and packages that include them as dependencies, are not installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as InstalledRejected.

    " + }, + "Description":{ + "shape":"BaselineDescription", + "documentation":"

    A description of the patch baseline.

    " + }, + "Sources":{ + "shape":"PatchSourceList", + "documentation":"

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    User-provided idempotency token.

    ", + "idempotencyToken":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to. In this case, you could specify the following key name/value pairs:

    • Key=PatchSeverity,Value=Critical

    • Key=OS,Value=Windows

    To add tags to an existing patch baseline, use the AddTagsToResource action.

    " + } + } + }, + "CreatePatchBaselineResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the created patch baseline.

    " + } + } + }, + "CreateResourceDataSyncRequest":{ + "type":"structure", + "required":["SyncName"], + "members":{ + "SyncName":{ + "shape":"ResourceDataSyncName", + "documentation":"

    A name for the configuration.

    " + }, + "S3Destination":{ + "shape":"ResourceDataSyncS3Destination", + "documentation":"

    Amazon S3 configuration details for the sync. This parameter is required if the SyncType value is SyncToDestination.

    " + }, + "SyncType":{ + "shape":"ResourceDataSyncType", + "documentation":"

    Specify SyncToDestination to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify SyncToDestination, you must provide a value for S3Destination. Specify SyncFromSource to synchronize data from a single account and multiple Regions, or multiple AWS accounts and Regions, as listed in AWS Organizations for Explorer. If you specify SyncFromSource, you must provide a value for SyncSource. The default value is SyncToDestination.

    " + }, + "SyncSource":{ + "shape":"ResourceDataSyncSource", + "documentation":"

    Specify information about the data sources to synchronize. This parameter is required if the SyncType value is SyncFromSource.

    " + } + } + }, + "CreateResourceDataSyncResult":{ + "type":"structure", + "members":{ + } + }, + "CreatedDate":{"type":"timestamp"}, + "CustomSchemaCountLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You have exceeded the limit for custom schemas. Delete one or more custom schemas and try again.

    ", + "exception":true + }, + "DateTime":{"type":"timestamp"}, + "DefaultBaseline":{"type":"boolean"}, + "DefaultInstanceName":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "DeleteActivationRequest":{ + "type":"structure", + "required":["ActivationId"], + "members":{ + "ActivationId":{ + "shape":"ActivationId", + "documentation":"

    The ID of the activation that you want to delete.

    " + } + } + }, + "DeleteActivationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteAssociationRequest":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " + }, + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID that you want to delete.

    " + } + } + }, + "DeleteAssociationResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteDocumentRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentName", + "documentation":"

    The name of the document.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of the document that you want to delete. If not provided, all versions of the document are deleted.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    The version name of the document that you want to delete. If not provided, all versions of the document are deleted.

    " + }, + "Force":{ + "shape":"Boolean", + "documentation":"

    Some SSM document types require that you specify a Force flag before you can delete the document. For example, you must specify a Force flag to delete a document of type ApplicationConfigurationSchema. You can restrict access to the Force flag in an AWS Identity and Access Management (IAM) policy.

    " + } + } + }, + "DeleteDocumentResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteInventoryRequest":{ + "type":"structure", + "required":["TypeName"], + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself.

    " + }, + "SchemaDeleteOption":{ + "shape":"InventorySchemaDeleteOption", + "documentation":"

    Use the SchemaDeleteOption to delete a custom inventory type (schema). If you don't choose this option, the system only deletes existing inventory data associated with the custom inventory type. Choose one of the following options:

    DisableSchema: If you choose this option, the system ignores all inventory data for the specified version, and any earlier versions. To enable this schema again, you must call the PutInventory action for a version greater than the disabled version.

    DeleteSchema: This option deletes the specified custom type from the Inventory service. You can recreate the schema later, if you want.

    " + }, + "DryRun":{ + "shape":"DryRun", + "documentation":"

    Use this option to view a summary of the deletion request without deleting any data or the data type. This option is useful when you only want to understand what will be deleted. Once you validate that the data to be deleted is what you intend to delete, you can run the same command without specifying the DryRun option.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    User-provided idempotency token.

    ", + "idempotencyToken":true + } + } + }, + "DeleteInventoryResult":{ + "type":"structure", + "members":{ + "DeletionId":{ + "shape":"InventoryDeletionId", + "documentation":"

    Every DeleteInventory action is assigned a unique ID. This option returns a unique ID. You can use this ID to query the status of a delete operation. This option is useful for ensuring that a delete operation has completed before you begin other actions.

    " + }, + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the inventory data type specified in the request.

    " + }, + "DeletionSummary":{ + "shape":"InventoryDeletionSummary", + "documentation":"

    A summary of the delete operation. For more information about this summary, see Deleting custom inventory in the AWS Systems Manager User Guide.

    " + } + } + }, + "DeleteMaintenanceWindowRequest":{ + "type":"structure", + "required":["WindowId"], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window to delete.

    " + } + } + }, + "DeleteMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the deleted maintenance window.

    " + } + } + }, + "DeleteParameterRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The name of the parameter to delete.

    " + } + } + }, + "DeleteParameterResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteParametersRequest":{ + "type":"structure", + "required":["Names"], + "members":{ + "Names":{ + "shape":"ParameterNameList", + "documentation":"

    The names of the parameters to delete.

    " + } + } + }, + "DeleteParametersResult":{ + "type":"structure", + "members":{ + "DeletedParameters":{ + "shape":"ParameterNameList", + "documentation":"

    The names of the deleted parameters.

    " + }, + "InvalidParameters":{ + "shape":"ParameterNameList", + "documentation":"

    The names of parameters that weren't deleted because the parameters are not valid.

    " + } + } + }, + "DeletePatchBaselineRequest":{ + "type":"structure", + "required":["BaselineId"], + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to delete.

    " + } + } + }, + "DeletePatchBaselineResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the deleted patch baseline.

    " + } + } + }, + "DeleteResourceDataSyncRequest":{ + "type":"structure", + "required":["SyncName"], + "members":{ + "SyncName":{ + "shape":"ResourceDataSyncName", + "documentation":"

    The name of the configuration to delete.

    " + }, + "SyncType":{ + "shape":"ResourceDataSyncType", + "documentation":"

    Specify the type of resource data sync to delete.

    " + } + } + }, + "DeleteResourceDataSyncResult":{ + "type":"structure", + "members":{ + } + }, + "DeliveryTimedOutCount":{"type":"integer"}, + "DeregisterManagedInstanceRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"ManagedInstanceId", + "documentation":"

    The ID assigned to the managed instance when you registered it using the activation process.

    " + } + } + }, + "DeregisterManagedInstanceResult":{ + "type":"structure", + "members":{ + } + }, + "DeregisterPatchBaselineForPatchGroupRequest":{ + "type":"structure", + "required":[ + "BaselineId", + "PatchGroup" + ], + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to deregister the patch group from.

    " + }, + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group that should be deregistered from the patch baseline.

    " + } + } + }, + "DeregisterPatchBaselineForPatchGroupResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline the patch group was deregistered from.

    " + }, + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group deregistered from the patch baseline.

    " + } + } + }, + "DeregisterTargetFromMaintenanceWindowRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTargetId" + ], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the target should be removed from.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The ID of the target definition to remove.

    " + }, + "Safe":{ + "shape":"Boolean", + "documentation":"

    The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the maintenance window.

    ", + "box":true + } + } + }, + "DeregisterTargetFromMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the target was removed from.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The ID of the removed target definition.

    " + } + } + }, + "DeregisterTaskFromMaintenanceWindowRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTaskId" + ], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the task should be removed from.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The ID of the task to remove from the maintenance window.

    " + } + } + }, + "DeregisterTaskFromMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the task was removed from.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The ID of the task removed from the maintenance window.

    " + } + } + }, + "DescribeActivationsFilter":{ + "type":"structure", + "members":{ + "FilterKey":{ + "shape":"DescribeActivationsFilterKeys", + "documentation":"

    The name of the filter.

    " + }, + "FilterValues":{ + "shape":"StringList", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Filter for the DescribeActivation API.

    " + }, + "DescribeActivationsFilterKeys":{ + "type":"string", + "enum":[ + "ActivationIds", + "DefaultInstanceName", + "IamRole" + ] + }, + "DescribeActivationsFilterList":{ + "type":"list", + "member":{"shape":"DescribeActivationsFilter"} + }, + "DescribeActivationsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"DescribeActivationsFilterList", + "documentation":"

    A filter to view information about your activations.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "DescribeActivationsResult":{ + "type":"structure", + "members":{ + "ActivationList":{ + "shape":"ActivationList", + "documentation":"

    A list of activations for your AWS account.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "DescribeAssociationExecutionTargetsRequest":{ + "type":"structure", + "required":[ + "AssociationId", + "ExecutionId" + ], + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID that includes the execution for which you want to view details.

    " + }, + "ExecutionId":{ + "shape":"AssociationExecutionId", + "documentation":"

    The execution ID for which you want to view details.

    " + }, + "Filters":{ + "shape":"AssociationExecutionTargetsFilterList", + "documentation":"

    Filters for the request. You can specify the following filters and values.

    Status (EQUAL)

    ResourceId (EQUAL)

    ResourceType (EQUAL)

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "DescribeAssociationExecutionTargetsResult":{ + "type":"structure", + "members":{ + "AssociationExecutionTargets":{ + "shape":"AssociationExecutionTargetsList", + "documentation":"

    Information about the execution.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "DescribeAssociationExecutionsRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID for which you want to view execution history details.

    " + }, + "Filters":{ + "shape":"AssociationExecutionFilterList", + "documentation":"

    Filters for the request. You can specify the following filters and values.

    ExecutionId (EQUAL)

    Status (EQUAL)

    CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "DescribeAssociationExecutionsResult":{ + "type":"structure", + "members":{ + "AssociationExecutions":{ + "shape":"AssociationExecutionsList", + "documentation":"

    A list of the executions for the specified association ID.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "DescribeAssociationRequest":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID.

    " + }, + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID for which you want information.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

    " + } + } + }, + "DescribeAssociationResult":{ + "type":"structure", + "members":{ + "AssociationDescription":{ + "shape":"AssociationDescription", + "documentation":"

    Information about the association.

    " + } + } + }, + "DescribeAutomationExecutionsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"AutomationExecutionFilterList", + "documentation":"

    Filters used to limit the scope of executions that are requested.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeAutomationExecutionsResult":{ + "type":"structure", + "members":{ + "AutomationExecutionMetadataList":{ + "shape":"AutomationExecutionMetadataList", + "documentation":"

    The list of details about each automation execution which has occurred which matches the filter specification, if any.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeAutomationStepExecutionsRequest":{ + "type":"structure", + "required":["AutomationExecutionId"], + "members":{ + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The Automation execution ID for which you want step execution descriptions.

    " + }, + "Filters":{ + "shape":"StepExecutionFilterList", + "documentation":"

    One or more filters to limit the number of step executions returned by the request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "ReverseOrder":{ + "shape":"Boolean", + "documentation":"

    A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.

    ", + "box":true + } + } + }, + "DescribeAutomationStepExecutionsResult":{ + "type":"structure", + "members":{ + "StepExecutions":{ + "shape":"StepExecutionList", + "documentation":"

    A list of details about the current state of all steps that make up an execution.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeAvailablePatchesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"PatchOrchestratorFilterList", + "documentation":"

    Filters used to scope down the returned patches.

    " + }, + "MaxResults":{ + "shape":"PatchBaselineMaxResults", + "documentation":"

    The maximum number of patches to return (per page).

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeAvailablePatchesResult":{ + "type":"structure", + "members":{ + "Patches":{ + "shape":"PatchList", + "documentation":"

    An array of patches. Each entry in the array is a patch structure.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeDocumentPermissionRequest":{ + "type":"structure", + "required":[ + "Name", + "PermissionType" + ], + "members":{ + "Name":{ + "shape":"DocumentName", + "documentation":"

    The name of the document for which you are the owner.

    " + }, + "PermissionType":{ + "shape":"DocumentPermissionType", + "documentation":"

    The permission type for the document. The permission type can be Share.

    " + } + } + }, + "DescribeDocumentPermissionResponse":{ + "type":"structure", + "members":{ + "AccountIds":{ + "shape":"AccountIdList", + "documentation":"

    The account IDs that have permission to use this document. The ID can be either an AWS account or All.

    " + }, + "AccountSharingInfoList":{ + "shape":"AccountSharingInfoList", + "documentation":"

    A list of AWS accounts where the current document is shared and the version shared with each account.

    " + } + } + }, + "DescribeDocumentRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version for which you want information. Can be a specific version or the default version.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " + } + } + }, + "DescribeDocumentResult":{ + "type":"structure", + "members":{ + "Document":{ + "shape":"DocumentDescription", + "documentation":"

    Information about the Systems Manager document.

    " + } + } + }, + "DescribeEffectiveInstanceAssociationsRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID for which you want to view all associations.

    " + }, + "MaxResults":{ + "shape":"EffectiveInstanceAssociationMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeEffectiveInstanceAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"InstanceAssociationList", + "documentation":"

    The associations for the requested instance.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeEffectivePatchesForPatchBaselineRequest":{ + "type":"structure", + "required":["BaselineId"], + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to retrieve the effective patches for.

    " + }, + "MaxResults":{ + "shape":"PatchBaselineMaxResults", + "documentation":"

    The maximum number of patches to return (per page).

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeEffectivePatchesForPatchBaselineResult":{ + "type":"structure", + "members":{ + "EffectivePatches":{ + "shape":"EffectivePatchList", + "documentation":"

    An array of patches and patch status.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInstanceAssociationsStatusRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance IDs for which you want association status information.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeInstanceAssociationsStatusResult":{ + "type":"structure", + "members":{ + "InstanceAssociationStatusInfos":{ + "shape":"InstanceAssociationStatusInfos", + "documentation":"

    Status information about the association.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInstanceInformationRequest":{ + "type":"structure", + "members":{ + "InstanceInformationFilterList":{ + "shape":"InstanceInformationFilterList", + "documentation":"

    This is a legacy method. We recommend that you don't use this method. Instead, use the Filters data type. Filters enables you to return instance information by filtering based on tags applied to managed instances.

    Attempting to use InstanceInformationFilterList and Filters leads to an exception error.

    " + }, + "Filters":{ + "shape":"InstanceInformationStringFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of instances. You can filter based on tags applied to EC2 instances. Use this Filters data type instead of InstanceInformationFilterList, which is deprecated.

    " + }, + "MaxResults":{ + "shape":"MaxResultsEC2Compatible", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeInstanceInformationResult":{ + "type":"structure", + "members":{ + "InstanceInformationList":{ + "shape":"InstanceInformationList", + "documentation":"

    The instance information list.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInstancePatchStatesForPatchGroupRequest":{ + "type":"structure", + "required":["PatchGroup"], + "members":{ + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group for which the patch state information should be retrieved.

    " + }, + "Filters":{ + "shape":"InstancePatchStateFilterList", + "documentation":"

    Each entry in the array is a structure containing:

    Key (string between 1 and 200 characters)

    Values (array containing a single string)

    Type (string \"Equal\", \"NotEqual\", \"LessThan\", \"GreaterThan\")

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"PatchComplianceMaxResults", + "documentation":"

    The maximum number of patches to return (per page).

    ", + "box":true + } + } + }, + "DescribeInstancePatchStatesForPatchGroupResult":{ + "type":"structure", + "members":{ + "InstancePatchStates":{ + "shape":"InstancePatchStatesList", + "documentation":"

    The high-level patch state for the requested instances.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInstancePatchStatesRequest":{ + "type":"structure", + "required":["InstanceIds"], + "members":{ + "InstanceIds":{ + "shape":"InstanceIdList", + "documentation":"

    The ID of the instance whose patch state information should be retrieved.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"PatchComplianceMaxResults", + "documentation":"

    The maximum number of instances to return (per page).

    ", + "box":true + } + } + }, + "DescribeInstancePatchStatesResult":{ + "type":"structure", + "members":{ + "InstancePatchStates":{ + "shape":"InstancePatchStateList", + "documentation":"

    The high-level patch state for the requested instances.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInstancePatchesRequest":{ + "type":"structure", + "required":["InstanceId"], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance whose patch state information should be retrieved.

    " + }, + "Filters":{ + "shape":"PatchOrchestratorFilterList", + "documentation":"

    An array of structures. Each entry in the array is a structure containing a Key, Value combination. Valid values for Key are Classification | KBId | Severity | State.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"PatchComplianceMaxResults", + "documentation":"

    The maximum number of patches to return (per page).

    ", + "box":true + } + } + }, + "DescribeInstancePatchesResult":{ + "type":"structure", + "members":{ + "Patches":{ + "shape":"PatchComplianceDataList", + "documentation":"

    Each entry in the array is a structure containing:

    Title (string)

    KBId (string)

    Classification (string)

    Severity (string)

    State (string, such as \"INSTALLED\" or \"FAILED\")

    InstalledTime (DateTime)

    InstalledBy (string)

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeInventoryDeletionsRequest":{ + "type":"structure", + "members":{ + "DeletionId":{ + "shape":"InventoryDeletionId", + "documentation":"

    Specify the delete inventory ID for which you want information. This ID was returned by the DeleteInventory action.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "DescribeInventoryDeletionsResult":{ + "type":"structure", + "members":{ + "InventoryDeletions":{ + "shape":"InventoryDeletionsList", + "documentation":"

    A list of status items for deleted inventory.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "DescribeMaintenanceWindowExecutionTaskInvocationsRequest":{ + "type":"structure", + "required":[ + "WindowExecutionId", + "TaskId" + ], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution the task is part of.

    " + }, + "TaskId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task in the maintenance window task that should be retrieved.

    " + }, + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Optional filters used to scope down the returned task invocations. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowExecutionTaskInvocationsResult":{ + "type":"structure", + "members":{ + "WindowExecutionTaskInvocationIdentities":{ + "shape":"MaintenanceWindowExecutionTaskInvocationIdentityList", + "documentation":"

    Information about the task invocation results per invocation.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeMaintenanceWindowExecutionTasksRequest":{ + "type":"structure", + "required":["WindowExecutionId"], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution whose task executions should be retrieved.

    " + }, + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Optional filters used to scope down the returned tasks. The supported filter key is STATUS with the corresponding values PENDING, IN_PROGRESS, SUCCESS, FAILED, TIMED_OUT, CANCELLING, and CANCELLED.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowExecutionTasksResult":{ + "type":"structure", + "members":{ + "WindowExecutionTaskIdentities":{ + "shape":"MaintenanceWindowExecutionTaskIdentityList", + "documentation":"

    Information about the task executions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeMaintenanceWindowExecutionsRequest":{ + "type":"structure", + "required":["WindowId"], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window whose executions should be retrieved.

    " + }, + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Each entry in the array is a structure containing:

    Key (string, between 1 and 128 characters)

    Values (array of strings, each string is between 1 and 256 characters)

    The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowExecutionsResult":{ + "type":"structure", + "members":{ + "WindowExecutions":{ + "shape":"MaintenanceWindowExecutionList", + "documentation":"

    Information about the maintenance window executions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeMaintenanceWindowScheduleRequest":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window to retrieve information about.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The instance ID or key/value pair to retrieve information about.

    " + }, + "ResourceType":{ + "shape":"MaintenanceWindowResourceType", + "documentation":"

    The type of resource you want to retrieve information about. For example, \"INSTANCE\".

    " + }, + "Filters":{ + "shape":"PatchOrchestratorFilterList", + "documentation":"

    Filters used to limit the range of results. For example, you can limit maintenance window executions to only those scheduled before or after a certain date and time.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowSearchMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowScheduleResult":{ + "type":"structure", + "members":{ + "ScheduledWindowExecutions":{ + "shape":"ScheduledWindowExecutionList", + "documentation":"

    Information about maintenance window executions scheduled for the specified time range.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You use this token in the next call.)

    " + } + } + }, + "DescribeMaintenanceWindowTargetsRequest":{ + "type":"structure", + "required":["WindowId"], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window whose targets should be retrieved.

    " + }, + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Optional filters that can be used to narrow down the scope of the returned window targets. The supported filter keys are Type, WindowTargetId and OwnerInformation.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowTargetsResult":{ + "type":"structure", + "members":{ + "Targets":{ + "shape":"MaintenanceWindowTargetList", + "documentation":"

    Information about the targets in the maintenance window.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeMaintenanceWindowTasksRequest":{ + "type":"structure", + "required":["WindowId"], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window whose tasks should be retrieved.

    " + }, + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowTasksResult":{ + "type":"structure", + "members":{ + "Tasks":{ + "shape":"MaintenanceWindowTaskList", + "documentation":"

    Information about the tasks in the maintenance window.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeMaintenanceWindowsForTargetRequest":{ + "type":"structure", + "required":[ + "Targets", + "ResourceType" + ], + "members":{ + "Targets":{ + "shape":"Targets", + "documentation":"

    The instance ID or key/value pair to retrieve information about.

    " + }, + "ResourceType":{ + "shape":"MaintenanceWindowResourceType", + "documentation":"

    The type of resource you want to retrieve information about. For example, \"INSTANCE\".

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowSearchMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowsForTargetResult":{ + "type":"structure", + "members":{ + "WindowIdentities":{ + "shape":"MaintenanceWindowsForTargetList", + "documentation":"

    Information about the maintenance window targets and tasks an instance is associated with.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You use this token in the next call.)

    " + } + } + }, + "DescribeMaintenanceWindowsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"MaintenanceWindowFilterList", + "documentation":"

    Optional filters used to narrow down the scope of the returned maintenance windows. Supported filter keys are Name and Enabled.

    " + }, + "MaxResults":{ + "shape":"MaintenanceWindowMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeMaintenanceWindowsResult":{ + "type":"structure", + "members":{ + "WindowIdentities":{ + "shape":"MaintenanceWindowIdentityList", + "documentation":"

    Information about the maintenance windows.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribeOpsItemsRequest":{ + "type":"structure", + "members":{ + "OpsItemFilters":{ + "shape":"OpsItemFilters", + "documentation":"

    One or more filters to limit the response.

    • Key: CreatedTime

      Operations: GreaterThan, LessThan

    • Key: LastModifiedBy

      Operations: Contains, Equals

    • Key: LastModifiedTime

      Operations: GreaterThan, LessThan

    • Key: Priority

      Operations: Equals

    • Key: Source

      Operations: Contains, Equals

    • Key: Status

      Operations: Equals

    • Key: Title

      Operations: Contains

    • Key: OperationalData*

      Operations: Equals

    • Key: OperationalDataKey

      Operations: Equals

    • Key: OperationalDataValue

      Operations: Equals, Contains

    • Key: OpsItemId

      Operations: Equals

    • Key: ResourceId

      Operations: Contains

    • Key: AutomationId

      Operations: Equals

    *If you filter the response by using the OperationalData operator, specify a key-value pair by using the following JSON format: {\"key\":\"key_name\",\"value\":\"a_value\"}

    " + }, + "MaxResults":{ + "shape":"OpsItemMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "DescribeOpsItemsResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + }, + "OpsItemSummaries":{ + "shape":"OpsItemSummaries", + "documentation":"

    A list of OpsItems.

    " + } + } + }, + "DescribeParametersRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ParametersFilterList", + "documentation":"

    This data type is deprecated. Instead, use ParameterFilters.

    " + }, + "ParameterFilters":{ + "shape":"ParameterStringFilterList", + "documentation":"

    Filters to limit the request results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribeParametersResult":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParameterMetadataList", + "documentation":"

    Parameters returned by the request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items.

    " + } + } + }, + "DescribePatchBaselinesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"PatchOrchestratorFilterList", + "documentation":"

    Each element in the array is a structure containing:

    Key: (string, \"NAME_PREFIX\" or \"OWNER\")

    Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

    " + }, + "MaxResults":{ + "shape":"PatchBaselineMaxResults", + "documentation":"

    The maximum number of patch baselines to return (per page).

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribePatchBaselinesResult":{ + "type":"structure", + "members":{ + "BaselineIdentities":{ + "shape":"PatchBaselineIdentityList", + "documentation":"

    An array of PatchBaselineIdentity elements.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribePatchGroupStateRequest":{ + "type":"structure", + "required":["PatchGroup"], + "members":{ + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group whose patch snapshot should be retrieved.

    " + } + } + }, + "DescribePatchGroupStateResult":{ + "type":"structure", + "members":{ + "Instances":{ + "shape":"Integer", + "documentation":"

    The number of instances in the patch group.

    " + }, + "InstancesWithInstalledPatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with installed patches.

    " + }, + "InstancesWithInstalledOtherPatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with patches installed that aren't defined in the patch baseline.

    " + }, + "InstancesWithInstalledPendingRebootPatches":{ + "shape":"InstancesCount", + "documentation":"

    The number of instances with patches installed by Patch Manager that have not been rebooted after the patch installation. The status of these instances is NON_COMPLIANT.

    ", + "box":true + }, + "InstancesWithInstalledRejectedPatches":{ + "shape":"InstancesCount", + "documentation":"

    The number of instances with patches installed that are specified in a RejectedPatches list. Patches with a status of INSTALLED_REJECTED were typically installed before they were added to a RejectedPatches list.

    If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of InstancesWithInstalledRejectedPatches will always be 0 (zero).

    ", + "box":true + }, + "InstancesWithMissingPatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with missing patches from the patch baseline.

    " + }, + "InstancesWithFailedPatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with patches from the patch baseline that failed to install.

    " + }, + "InstancesWithNotApplicablePatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with patches that aren't applicable.

    " + }, + "InstancesWithUnreportedNotApplicablePatches":{ + "shape":"Integer", + "documentation":"

    The number of instances with NotApplicable patches beyond the supported limit, which are not reported by name to Systems Manager Inventory.

    ", + "box":true + } + } + }, + "DescribePatchGroupsRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"PatchBaselineMaxResults", + "documentation":"

    The maximum number of patch groups to return (per page).

    ", + "box":true + }, + "Filters":{ + "shape":"PatchOrchestratorFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribePatchGroupsResult":{ + "type":"structure", + "members":{ + "Mappings":{ + "shape":"PatchGroupPatchBaselineMappingList", + "documentation":"

    Each entry in the array contains:

    PatchGroup: string (between 1 and 256 characters, Regex: ^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$)

    PatchBaselineIdentity: A PatchBaselineIdentity element.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "DescribePatchPropertiesRequest":{ + "type":"structure", + "required":[ + "OperatingSystem", + "Property" + ], + "members":{ + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    The operating system type for which to list patches.

    " + }, + "Property":{ + "shape":"PatchProperty", + "documentation":"

    The patch property for which you want to view patch details.

    " + }, + "PatchSet":{ + "shape":"PatchSet", + "documentation":"

    Indicates whether to list patches for the Windows operating system or for Microsoft applications. Not applicable for Linux operating systems.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescribePatchPropertiesResult":{ + "type":"structure", + "members":{ + "Properties":{ + "shape":"PatchPropertiesList", + "documentation":"

    A list of the properties for patches matching the filter request parameters.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You use this token in the next call.)

    " + } + } + }, + "DescribeSessionsRequest":{ + "type":"structure", + "required":["State"], + "members":{ + "State":{ + "shape":"SessionState", + "documentation":"

    The session status to retrieve a list of sessions for. For example, \"Active\".

    " + }, + "MaxResults":{ + "shape":"SessionMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "Filters":{ + "shape":"SessionFilterList", + "documentation":"

    One or more filters to limit the type of sessions returned by the request.

    " + } + } + }, + "DescribeSessionsResponse":{ + "type":"structure", + "members":{ + "Sessions":{ + "shape":"SessionList", + "documentation":"

    A list of sessions meeting the request parameters.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "DescriptionInDocument":{"type":"string"}, + "DocumentARN":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$" + }, + "DocumentAlreadyExists":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified document already exists.

    ", + "exception":true + }, + "DocumentContent":{ + "type":"string", + "min":1 + }, + "DocumentDefaultVersionDescription":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentName", + "documentation":"

    The name of the document.

    " + }, + "DefaultVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The default version of the document.

    " + }, + "DefaultVersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    The default version of the artifact associated with the document.

    " + } + }, + "documentation":"

    A default version of a document.

    " + }, + "DocumentDescription":{ + "type":"structure", + "members":{ + "Sha1":{ + "shape":"DocumentSha1", + "documentation":"

    The SHA1 hash of the document, which you can use for verification.

    " + }, + "Hash":{ + "shape":"DocumentHash", + "documentation":"

    The Sha256 or Sha1 hash created by the system when the document was created.

    Sha1 hashes have been deprecated.

    " + }, + "HashType":{ + "shape":"DocumentHashType", + "documentation":"

    The hash type of the document. Valid values include Sha256 or Sha1.

    Sha1 hashes have been deprecated.

    " + }, + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    The version of the artifact associated with the document.

    " + }, + "Owner":{ + "shape":"DocumentOwner", + "documentation":"

    The AWS user account that created the document.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date when the document was created.

    " + }, + "Status":{ + "shape":"DocumentStatus", + "documentation":"

    The status of the Systems Manager document.

    " + }, + "StatusInformation":{ + "shape":"DocumentStatusInformation", + "documentation":"

    A message returned by AWS Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, \"The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct.\"

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "Description":{ + "shape":"DescriptionInDocument", + "documentation":"

    A description of the document.

    " + }, + "Parameters":{ + "shape":"DocumentParameterList", + "documentation":"

    A description of the parameters for a document.

    " + }, + "PlatformTypes":{ + "shape":"PlatformTypeList", + "documentation":"

    The list of OS platforms compatible with this Systems Manager document.

    " + }, + "DocumentType":{ + "shape":"DocumentType", + "documentation":"

    The type of document.

    " + }, + "SchemaVersion":{ + "shape":"DocumentSchemaVersion", + "documentation":"

    The schema version.

    " + }, + "LatestVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The latest version of the document.

    " + }, + "DefaultVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The default version.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    The document format, either JSON or YAML.

    " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

    The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types reference in the AWS CloudFormation User Guide.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags, or metadata, that have been applied to the document.

    " + }, + "AttachmentsInformation":{ + "shape":"AttachmentInformationList", + "documentation":"

    Details about the document attachments, including names, locations, sizes, and so on.

    " + }, + "Requires":{ + "shape":"DocumentRequiresList", + "documentation":"

    A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

    " + } + }, + "documentation":"

    Describes a Systems Manager document.

    " + }, + "DocumentFilter":{ + "type":"structure", + "required":[ + "key", + "value" + ], + "members":{ + "key":{ + "shape":"DocumentFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "value":{ + "shape":"DocumentFilterValue", + "documentation":"

    The value of the filter.

    " + } + }, + "documentation":"

    This data type is deprecated. Instead, use DocumentKeyValuesFilter.

    " + }, + "DocumentFilterKey":{ + "type":"string", + "enum":[ + "Name", + "Owner", + "PlatformTypes", + "DocumentType" + ] + }, + "DocumentFilterList":{ + "type":"list", + "member":{"shape":"DocumentFilter"}, + "min":1 + }, + "DocumentFilterValue":{ + "type":"string", + "min":1 + }, + "DocumentFormat":{ + "type":"string", + "enum":[ + "YAML", + "JSON", + "TEXT" + ] + }, + "DocumentHash":{ + "type":"string", + "max":256 + }, + "DocumentHashType":{ + "type":"string", + "enum":[ + "Sha256", + "Sha1" + ] + }, + "DocumentIdentifier":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "Owner":{ + "shape":"DocumentOwner", + "documentation":"

    The AWS user account that created the document.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " + }, + "PlatformTypes":{ + "shape":"PlatformTypeList", + "documentation":"

    The operating system platform.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "DocumentType":{ + "shape":"DocumentType", + "documentation":"

    The document type.

    " + }, + "SchemaVersion":{ + "shape":"DocumentSchemaVersion", + "documentation":"

    The schema version.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    The document format, either JSON or YAML.

    " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

    The target type which defines the kinds of resources the document can run on. For example, /AWS::EC2::Instance. For a list of valid resource types, see AWS resource and property types reference in the AWS CloudFormation User Guide.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags, or metadata, that have been applied to the document.

    " + }, + "Requires":{ + "shape":"DocumentRequiresList", + "documentation":"

    A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

    " + } + }, + "documentation":"

    Describes the name of a Systems Manager document.

    " + }, + "DocumentIdentifierList":{ + "type":"list", + "member":{"shape":"DocumentIdentifier"} + }, + "DocumentKeyValuesFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"DocumentKeyValuesFilterKey", + "documentation":"

    The name of the filter key.

    " + }, + "Values":{ + "shape":"DocumentKeyValuesFilterValues", + "documentation":"

    The value for the filter key.

    " + } + }, + "documentation":"

    One or more filters. Use a filter to return a more specific list of documents.

    For keys, you can specify one or more tags that have been applied to a document.

    Other valid values include Owner, Name, PlatformTypes, DocumentType, and TargetType.

    Note that only one Owner can be specified in a request. For example: Key=Owner,Values=Self.

    If you use Name as a key, you can use a name prefix to return a list of documents. For example, in the AWS CLI, to return a list of all documents that begin with Te, run the following command:

    aws ssm list-documents --filters Key=Name,Values=Te

    If you specify more than two keys, only documents that are identified by all the tags are returned in the results. If you specify more than two values for a key, documents that are identified by any of the values are returned in the results.

    To specify a custom key and value pair, use the format Key=tag:tagName,Values=valueName.

    For example, if you created a Key called region and are using the AWS CLI to call the list-documents command:

    aws ssm list-documents --filters Key=tag:region,Values=east,west Key=Owner,Values=Self

    " + }, + "DocumentKeyValuesFilterKey":{ + "type":"string", + "max":128, + "min":1 + }, + "DocumentKeyValuesFilterList":{ + "type":"list", + "member":{"shape":"DocumentKeyValuesFilter"}, + "max":6, + "min":0 + }, + "DocumentKeyValuesFilterValue":{ + "type":"string", + "max":256, + "min":1 + }, + "DocumentKeyValuesFilterValues":{ + "type":"list", + "member":{"shape":"DocumentKeyValuesFilterValue"} + }, + "DocumentLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You can have at most 500 active Systems Manager documents.

    ", + "exception":true + }, + "DocumentName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "DocumentOwner":{"type":"string"}, + "DocumentParameter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentParameterName", + "documentation":"

    The name of the parameter.

    " + }, + "Type":{ + "shape":"DocumentParameterType", + "documentation":"

    The type of parameter. The type can be either String or StringList.

    " + }, + "Description":{ + "shape":"DocumentParameterDescrption", + "documentation":"

    A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.

    " + }, + "DefaultValue":{ + "shape":"DocumentParameterDefaultValue", + "documentation":"

    If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.

    " + } + }, + "documentation":"

    Parameters specified in a System Manager document that run on the server when the command is run.

    " + }, + "DocumentParameterDefaultValue":{"type":"string"}, + "DocumentParameterDescrption":{"type":"string"}, + "DocumentParameterList":{ + "type":"list", + "member":{"shape":"DocumentParameter"} + }, + "DocumentParameterName":{"type":"string"}, + "DocumentParameterType":{ + "type":"string", + "enum":[ + "String", + "StringList" + ] + }, + "DocumentPermissionLimit":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The document cannot be shared with more AWS user accounts. You can share a document with a maximum of 20 accounts. You can publicly share up to five documents. If you need to increase this limit, contact AWS Support.

    ", + "exception":true + }, + "DocumentPermissionType":{ + "type":"string", + "enum":["Share"] + }, + "DocumentRequires":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the required SSM document. The name can be an Amazon Resource Name (ARN).

    " + }, + "Version":{ + "shape":"DocumentVersion", + "documentation":"

    The document version required by the current document.

    " + } + }, + "documentation":"

    An SSM document required by the current document.

    " + }, + "DocumentRequiresList":{ + "type":"list", + "member":{"shape":"DocumentRequires"}, + "min":1 + }, + "DocumentSchemaVersion":{ + "type":"string", + "pattern":"([0-9]+)\\.([0-9]+)" + }, + "DocumentSha1":{"type":"string"}, + "DocumentStatus":{ + "type":"string", + "documentation":"

    The status of a document.

    ", + "enum":[ + "Creating", + "Active", + "Updating", + "Deleting", + "Failed" + ] + }, + "DocumentStatusInformation":{"type":"string"}, + "DocumentType":{ + "type":"string", + "enum":[ + "Command", + "Policy", + "Automation", + "Session", + "Package", + "ApplicationConfiguration", + "ApplicationConfigurationSchema", + "DeploymentStrategy", + "ChangeCalendar" + ] + }, + "DocumentVersion":{ + "type":"string", + "pattern":"([$]LATEST|[$]DEFAULT|^[1-9][0-9]*$)" + }, + "DocumentVersionInfo":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentName", + "documentation":"

    The document name.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date the document was created.

    " + }, + "IsDefaultVersion":{ + "shape":"Boolean", + "documentation":"

    An identifier for the default version of the document.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    The document format, either JSON or YAML.

    " + }, + "Status":{ + "shape":"DocumentStatus", + "documentation":"

    The status of the Systems Manager document, such as Creating, Active, Failed, and Deleting.

    " + }, + "StatusInformation":{ + "shape":"DocumentStatusInformation", + "documentation":"

    A message returned by AWS Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, \"The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct.\"

    " + } + }, + "documentation":"

    Version information about the document.

    " + }, + "DocumentVersionLimitExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The document has too many versions. Delete one or more document versions and try again.

    ", + "exception":true + }, + "DocumentVersionList":{ + "type":"list", + "member":{"shape":"DocumentVersionInfo"}, + "min":1 + }, + "DocumentVersionName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{1,128}$" + }, + "DocumentVersionNumber":{ + "type":"string", + "pattern":"(^[1-9][0-9]*$)" + }, + "DoesNotExistException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Error returned when the ID specified for a resource, such as a maintenance window or Patch baseline, doesn't exist.

    For information about resource quotas in Systems Manager, see Systems Manager service quotas in the AWS General Reference.

    ", + "exception":true + }, + "DryRun":{"type":"boolean"}, + "DuplicateDocumentContent":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The content of the association document matches another document. Change the content of the document and try again.

    ", + "exception":true + }, + "DuplicateDocumentVersionName":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The version name has already been used in this document. Specify a different version name, and then try again.

    ", + "exception":true + }, + "DuplicateInstanceId":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You cannot specify an instance ID in more than one association.

    ", + "exception":true + }, + "EffectiveInstanceAssociationMaxResults":{ + "type":"integer", + "max":5, + "min":1 + }, + "EffectivePatch":{ + "type":"structure", + "members":{ + "Patch":{ + "shape":"Patch", + "documentation":"

    Provides metadata for a patch, including information such as the KB ID, severity, classification and a URL for where more information can be obtained about the patch.

    " + }, + "PatchStatus":{ + "shape":"PatchStatus", + "documentation":"

    The status of the patch in a patch baseline. This includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.

    " + } + }, + "documentation":"

    The EffectivePatch structure defines metadata about a patch along with the approval state of the patch in a particular patch baseline. The approval state includes information about whether the patch is currently approved, due to be approved by a rule, explicitly approved, or explicitly rejected and the date the patch was or will be approved.

    " + }, + "EffectivePatchList":{ + "type":"list", + "member":{"shape":"EffectivePatch"} + }, + "ErrorCount":{"type":"integer"}, + "ExecutionMode":{ + "type":"string", + "enum":[ + "Auto", + "Interactive" + ] + }, + "ExecutionRoleName":{ + "type":"string", + "max":64, + "min":1 + }, + "ExpirationDate":{"type":"timestamp"}, + "FailedCreateAssociation":{ + "type":"structure", + "members":{ + "Entry":{ + "shape":"CreateAssociationBatchRequestEntry", + "documentation":"

    The association.

    " + }, + "Message":{ + "shape":"BatchErrorMessage", + "documentation":"

    A description of the failure.

    " + }, + "Fault":{ + "shape":"Fault", + "documentation":"

    The source of the failure.

    " + } + }, + "documentation":"

    Describes a failed association.

    " + }, + "FailedCreateAssociationList":{ + "type":"list", + "member":{"shape":"FailedCreateAssociation"} + }, + "FailureDetails":{ + "type":"structure", + "members":{ + "FailureStage":{ + "shape":"String", + "documentation":"

    The stage of the Automation execution when the failure occurred. The stages include the following: InputValidation, PreVerification, Invocation, PostVerification.

    " + }, + "FailureType":{ + "shape":"String", + "documentation":"

    The type of Automation failure. Failure types include the following: Action, Permission, Throttling, Verification, Internal.

    " + }, + "Details":{ + "shape":"AutomationParameterMap", + "documentation":"

    Detailed information about the Automation step failure.

    " + } + }, + "documentation":"

    Information about an Automation failure.

    " + }, + "Fault":{ + "type":"string", + "enum":[ + "Client", + "Server", + "Unknown" + ] + }, + "FeatureNotAvailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You attempted to register a LAMBDA or STEP_FUNCTIONS task in a region where the corresponding service is not available.

    ", + "exception":true + }, + "GetAutomationExecutionRequest":{ + "type":"structure", + "required":["AutomationExecutionId"], + "members":{ + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

    " + } + } + }, + "GetAutomationExecutionResult":{ + "type":"structure", + "members":{ + "AutomationExecution":{ + "shape":"AutomationExecution", + "documentation":"

    Detailed information about the current state of an automation execution.

    " + } + } + }, + "GetCalendarStateRequest":{ + "type":"structure", + "required":["CalendarNames"], + "members":{ + "CalendarNames":{ + "shape":"CalendarNameOrARNList", + "documentation":"

    The names or Amazon Resource Names (ARNs) of the Systems Manager documents that represent the calendar entries for which you want to get the state.

    " + }, + "AtTime":{ + "shape":"ISO8601String", + "documentation":"

    (Optional) The specific time for which you want to get calendar state information, in ISO 8601 format. If you do not add AtTime, the current time is assumed.

    " + } + } + }, + "GetCalendarStateResponse":{ + "type":"structure", + "members":{ + "State":{ + "shape":"CalendarState", + "documentation":"

    The state of the calendar. An OPEN calendar indicates that actions are allowed to proceed, and a CLOSED calendar indicates that actions are not allowed to proceed.

    " + }, + "AtTime":{ + "shape":"ISO8601String", + "documentation":"

    The time, as an ISO 8601 string, that you specified in your command. If you did not specify a time, GetCalendarState uses the current time.

    " + }, + "NextTransitionTime":{ + "shape":"ISO8601String", + "documentation":"

    The time, as an ISO 8601 string, that the calendar state will change. If the current calendar state is OPEN, NextTransitionTime indicates when the calendar state changes to CLOSED, and vice-versa.

    " + } + } + }, + "GetCommandInvocationRequest":{ + "type":"structure", + "required":[ + "CommandId", + "InstanceId" + ], + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    (Required) The parent command ID of the invocation plugin.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    (Required) The ID of the managed instance targeted by the command. A managed instance can be an EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.

    " + }, + "PluginName":{ + "shape":"CommandPluginName", + "documentation":"

    (Optional) The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned.

    " + } + } + }, + "GetCommandInvocationResult":{ + "type":"structure", + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    The parent command ID of the invocation plugin.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the managed instance targeted by the command. A managed instance can be an EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.

    " + }, + "Comment":{ + "shape":"Comment", + "documentation":"

    The comment text for the command.

    " + }, + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The name of the document that was run. For example, AWS-RunShellScript.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The SSM document version used in the request.

    " + }, + "PluginName":{ + "shape":"CommandPluginName", + "documentation":"

    The name of the plugin for which you want detailed results. For example, aws:RunShellScript is a plugin.

    " + }, + "ResponseCode":{ + "shape":"ResponseCode", + "documentation":"

    The error level response code for the plugin script. If the response code is -1, then the command has not started running on the instance, or it was not received by the instance.

    " + }, + "ExecutionStartDateTime":{ + "shape":"StringDateTime", + "documentation":"

    The date and time the plugin started running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedBefore filter.

    aws ssm list-commands --filters key=InvokedBefore,value=2017-06-07T00:00:00Z

    If the plugin has not started to run, the string is empty.

    " + }, + "ExecutionElapsedTime":{ + "shape":"StringDateTime", + "documentation":"

    Duration since ExecutionStartDateTime.

    " + }, + "ExecutionEndDateTime":{ + "shape":"StringDateTime", + "documentation":"

    The date and time the plugin was finished running. Date and time are written in ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The following sample AWS CLI command uses the InvokedAfter filter.

    aws ssm list-commands --filters key=InvokedAfter,value=2017-06-07T00:00:00Z

    If the plugin has not started to run, the string is empty.

    " + }, + "Status":{ + "shape":"CommandInvocationStatus", + "documentation":"

    The status of this invocation plugin. This status can be different than StatusDetails.

    " + }, + "StatusDetails":{ + "shape":"StatusDetails", + "documentation":"

    A detailed status of the command execution for an invocation. StatusDetails includes more information than Status because it includes states resulting from error and concurrency control parameters. StatusDetails can show different results than Status. For more information about these statuses, see Understanding command statuses in the AWS Systems Manager User Guide. StatusDetails can be one of the following values:

    • Pending: The command has not been sent to the instance.

    • In Progress: The command has been sent to the instance but has not reached a terminal state.

    • Delayed: The system attempted to send the command to the target, but the target was not available. The instance might not be available because of network issues, because the instance was stopped, or for similar reasons. The system will try to send the command again.

    • Success: The command or plugin ran successfully. This is a terminal state.

    • Delivery Timed Out: The command was not delivered to the instance before the delivery timeout expired. Delivery timeouts do not count against the parent command's MaxErrors limit, but they do contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Execution Timed Out: The command started to run on the instance, but the execution was not complete before the timeout expired. Execution timeouts count against the MaxErrors limit of the parent command. This is a terminal state.

    • Failed: The command wasn't run successfully on the instance. For a plugin, this indicates that the result code was not zero. For a command invocation, this indicates that the result code for one or more plugins was not zero. Invocation failures count against the MaxErrors limit of the parent command. This is a terminal state.

    • Canceled: The command was terminated before it was completed. This is a terminal state.

    • Undeliverable: The command can't be delivered to the instance. The instance might not exist or might not be responding. Undeliverable invocations don't count against the parent command's MaxErrors limit and don't contribute to whether the parent command status is Success or Incomplete. This is a terminal state.

    • Terminated: The parent command exceeded its MaxErrors limit and subsequent command invocations were canceled by the system. This is a terminal state.

    " + }, + "StandardOutputContent":{ + "shape":"StandardOutputContent", + "documentation":"

    The first 24,000 characters written by the plugin to stdout. If the command has not finished running, if ExecutionStatus is neither Succeeded nor Failed, then this string is empty.

    " + }, + "StandardOutputUrl":{ + "shape":"Url", + "documentation":"

    The URL for the complete text written by the plugin to stdout in Amazon S3. If an S3 bucket was not specified, then this string is empty.

    " + }, + "StandardErrorContent":{ + "shape":"StandardErrorContent", + "documentation":"

    The first 8,000 characters written by the plugin to stderr. If the command has not finished running, then this string is empty.

    " + }, + "StandardErrorUrl":{ + "shape":"Url", + "documentation":"

    The URL for the complete text written by the plugin to stderr. If the command has not finished running, then this string is empty.

    " + }, + "CloudWatchOutputConfig":{ + "shape":"CloudWatchOutputConfig", + "documentation":"

    CloudWatch Logs information where Systems Manager sent the command output.

    " + } + } + }, + "GetConnectionStatusRequest":{ + "type":"structure", + "required":["Target"], + "members":{ + "Target":{ + "shape":"SessionTarget", + "documentation":"

    The ID of the instance.

    " + } + } + }, + "GetConnectionStatusResponse":{ + "type":"structure", + "members":{ + "Target":{ + "shape":"SessionTarget", + "documentation":"

    The ID of the instance to check connection status.

    " + }, + "Status":{ + "shape":"ConnectionStatus", + "documentation":"

    The status of the connection to the instance. For example, 'Connected' or 'Not Connected'.

    " + } + } + }, + "GetDefaultPatchBaselineRequest":{ + "type":"structure", + "members":{ + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    Returns the default patch baseline for the specified operating system.

    " + } + } + }, + "GetDefaultPatchBaselineResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the default patch baseline.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    The operating system for the returned patch baseline.

    " + } + } + }, + "GetDeployablePatchSnapshotForInstanceRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "SnapshotId" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance for which the appropriate patch snapshot should be retrieved.

    " + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    The user-defined snapshot ID.

    " + } + } + }, + "GetDeployablePatchSnapshotForInstanceResult":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    The user-defined snapshot ID.

    " + }, + "SnapshotDownloadUrl":{ + "shape":"SnapshotDownloadUrl", + "documentation":"

    A pre-signed Amazon S3 URL that can be used to download the patch snapshot.

    " + }, + "Product":{ + "shape":"Product", + "documentation":"

    Returns the specific operating system (for example Windows Server 2012 or Amazon Linux 2015.09) on the instance for the specified patch snapshot.

    " + } + } + }, + "GetDocumentRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    An optional field specifying the version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document and can't be changed.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version for which you want information.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.

    " + } + } + }, + "GetDocumentResult":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " + }, + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    The version of the artifact associated with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version.

    " + }, + "Status":{ + "shape":"DocumentStatus", + "documentation":"

    The status of the Systems Manager document, such as Creating, Active, Updating, Failed, and Deleting.

    " + }, + "StatusInformation":{ + "shape":"DocumentStatusInformation", + "documentation":"

    A message returned by AWS Systems Manager that explains the Status value. For example, a Failed status might be explained by the StatusInformation message, \"The specified S3 bucket does not exist. Verify that the URL of the S3 bucket is correct.\"

    " + }, + "Content":{ + "shape":"DocumentContent", + "documentation":"

    The contents of the Systems Manager document.

    " + }, + "DocumentType":{ + "shape":"DocumentType", + "documentation":"

    The document type.

    " + }, + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    The document format, either JSON or YAML.

    " + }, + "Requires":{ + "shape":"DocumentRequiresList", + "documentation":"

    A list of SSM documents required by a document. For example, an ApplicationConfiguration document requires an ApplicationConfigurationSchema document.

    " + }, + "AttachmentsContent":{ + "shape":"AttachmentContentList", + "documentation":"

    A description of the document attachments, including names, locations, sizes, and so on.

    " + } + } + }, + "GetInventoryRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"InventoryFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "Aggregators":{ + "shape":"InventoryAggregatorList", + "documentation":"

    Returns counts of inventory types based on one or more expressions. For example, if you aggregate by using an expression that uses the AWS:InstanceInformation.PlatformType type, you can see a count of how many Windows and Linux instances exist in your inventoried fleet.

    " + }, + "ResultAttributes":{ + "shape":"ResultAttributeList", + "documentation":"

    The list of inventory item types to return.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "GetInventoryResult":{ + "type":"structure", + "members":{ + "Entities":{ + "shape":"InventoryResultEntityList", + "documentation":"

    Collection of inventory entities such as a collection of instance inventory.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "GetInventorySchemaMaxResults":{ + "type":"integer", + "max":200, + "min":50 + }, + "GetInventorySchemaRequest":{ + "type":"structure", + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeNameFilter", + "documentation":"

    The type of inventory item to return.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"GetInventorySchemaMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "Aggregator":{ + "shape":"AggregatorSchemaOnly", + "documentation":"

    Returns inventory schemas that support aggregation. For example, this call returns the AWS:InstanceInformation type, because it supports aggregation based on the PlatformName, PlatformType, and PlatformVersion attributes.

    " + }, + "SubType":{ + "shape":"IsSubTypeSchema", + "documentation":"

    Returns the sub-type schema for a specified inventory type.

    ", + "box":true + } + } + }, + "GetInventorySchemaResult":{ + "type":"structure", + "members":{ + "Schemas":{ + "shape":"InventoryItemSchemaResultList", + "documentation":"

    Inventory schemas returned by the request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "GetMaintenanceWindowExecutionRequest":{ + "type":"structure", + "required":["WindowExecutionId"], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that includes the task.

    " + } + } + }, + "GetMaintenanceWindowExecutionResult":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution.

    " + }, + "TaskIds":{ + "shape":"MaintenanceWindowExecutionTaskIdList", + "documentation":"

    The ID of the task executions from the maintenance window execution.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The status of the maintenance window execution.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the Status. Only available for certain status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time the maintenance window started running.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time the maintenance window finished running.

    " + } + } + }, + "GetMaintenanceWindowExecutionTaskInvocationRequest":{ + "type":"structure", + "required":[ + "WindowExecutionId", + "TaskId", + "InvocationId" + ], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution for which the task is a part.

    " + }, + "TaskId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task in the maintenance window task that should be retrieved.

    " + }, + "InvocationId":{ + "shape":"MaintenanceWindowExecutionTaskInvocationId", + "documentation":"

    The invocation ID to retrieve.

    " + } + } + }, + "GetMaintenanceWindowExecutionTaskInvocationResult":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The maintenance window execution ID.

    " + }, + "TaskExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The task execution ID.

    " + }, + "InvocationId":{ + "shape":"MaintenanceWindowExecutionTaskInvocationId", + "documentation":"

    The invocation ID.

    " + }, + "ExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskExecutionId", + "documentation":"

    The execution ID.

    " + }, + "TaskType":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    Retrieves the task type for a maintenance window. Task types include the following: LAMBDA, STEP_FUNCTIONS, AUTOMATION, RUN_COMMAND.

    " + }, + "Parameters":{ + "shape":"MaintenanceWindowExecutionTaskInvocationParameters", + "documentation":"

    The parameters used at the time that the task ran.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The task status for an invocation.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the status. Details are only available for certain status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time that the task started running on the target.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time that the task finished running on the target.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    User-provided value to be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTaskTargetId", + "documentation":"

    The maintenance window target ID.

    " + } + } + }, + "GetMaintenanceWindowExecutionTaskRequest":{ + "type":"structure", + "required":[ + "WindowExecutionId", + "TaskId" + ], + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that includes the task.

    " + }, + "TaskId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task execution in the maintenance window task that should be retrieved.

    " + } + } + }, + "GetMaintenanceWindowExecutionTaskResult":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that includes the task.

    " + }, + "TaskExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task execution in the maintenance window task that was retrieved.

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The ARN of the task that ran.

    " + }, + "ServiceRole":{ + "shape":"ServiceRole", + "documentation":"

    The role that was assumed when running the task.

    " + }, + "Type":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The type of task that was run.

    " + }, + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParametersList", + "documentation":"

    The parameters passed to the task when it was run.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    The map has the following format:

    Key: string, between 1 and 255 characters

    Value: an array of strings, each string is between 1 and 255 characters

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The priority of the task.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The defined maximum number of task executions that could be run in parallel.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The defined maximum number of task execution errors allowed before scheduling of the task execution would have been stopped.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The status of the task.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the Status. Only available for certain status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time the task execution started.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time the task execution completed.

    " + } + } + }, + "GetMaintenanceWindowRequest":{ + "type":"structure", + "required":["WindowId"], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window for which you want to retrieve information.

    " + } + } + }, + "GetMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the created maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    The description of the maintenance window.

    " + }, + "StartDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window will not run before this specified time.

    " + }, + "EndDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window will not run after this specified time.

    " + }, + "Schedule":{ + "shape":"MaintenanceWindowSchedule", + "documentation":"

    The schedule of the maintenance window in the form of a cron or rate expression.

    " + }, + "ScheduleTimezone":{ + "shape":"MaintenanceWindowTimezone", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

    " + }, + "NextExecutionTime":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

    " + }, + "Duration":{ + "shape":"MaintenanceWindowDurationHours", + "documentation":"

    The duration of the maintenance window in hours.

    " + }, + "Cutoff":{ + "shape":"MaintenanceWindowCutoff", + "documentation":"

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

    " + }, + "AllowUnassociatedTargets":{ + "shape":"MaintenanceWindowAllowUnassociatedTargets", + "documentation":"

    Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

    " + }, + "Enabled":{ + "shape":"MaintenanceWindowEnabled", + "documentation":"

    Indicates whether the maintenance window is enabled.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date the maintenance window was created.

    " + }, + "ModifiedDate":{ + "shape":"DateTime", + "documentation":"

    The date the maintenance window was last modified.

    " + } + } + }, + "GetMaintenanceWindowTaskRequest":{ + "type":"structure", + "required":[ + "WindowId", + "WindowTaskId" + ], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The maintenance window ID that includes the task to retrieve.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The maintenance window task ID to retrieve.

    " + } + } + }, + "GetMaintenanceWindowTaskResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The retrieved maintenance window ID.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The retrieved maintenance window task ID.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets where the task should run.

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The resource that the task used during execution. For RUN_COMMAND and AUTOMATION task types, the TaskArn is the Systems Manager Document name/ARN. For LAMBDA tasks, the value is the function name/ARN. For STEP_FUNCTIONS tasks, the value is the state machine ARN.

    " + }, + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

    " + }, + "TaskType":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The type of task to run.

    " + }, + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParameters", + "documentation":"

    The parameters to pass to the task when it runs.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "TaskInvocationParameters":{ + "shape":"MaintenanceWindowTaskInvocationParameters", + "documentation":"

    The parameters to pass to the task when it runs.

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The priority of the task when it runs. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run this task in parallel.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed before the task stops being scheduled.

    " + }, + "LoggingInfo":{ + "shape":"LoggingInfo", + "documentation":"

    The location in Amazon S3 where the task results are logged.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The retrieved task name.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    The retrieved task description.

    " + } + } + }, + "GetOpsItemRequest":{ + "type":"structure", + "required":["OpsItemId"], + "members":{ + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

    The ID of the OpsItem that you want to get.

    " + } + } + }, + "GetOpsItemResponse":{ + "type":"structure", + "members":{ + "OpsItem":{ + "shape":"OpsItem", + "documentation":"

    The OpsItem.

    " + } + } + }, + "GetOpsSummaryRequest":{ + "type":"structure", + "members":{ + "SyncName":{ + "shape":"ResourceDataSyncName", + "documentation":"

    Specify the name of a resource data sync to get.

    " + }, + "Filters":{ + "shape":"OpsFilterList", + "documentation":"

    Optional filters used to scope down the returned OpsItems.

    " + }, + "Aggregators":{ + "shape":"OpsAggregatorList", + "documentation":"

    Optional aggregators that return counts of OpsItems based on one or more expressions.

    " + }, + "ResultAttributes":{ + "shape":"OpsResultAttributeList", + "documentation":"

    The OpsItem data type to return.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "GetOpsSummaryResult":{ + "type":"structure", + "members":{ + "Entities":{ + "shape":"OpsEntityList", + "documentation":"

    The list of aggregated and filtered OpsItems.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "GetParameterHistoryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The name of a parameter you want to query.

    " + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

    Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

    ", + "box":true + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "GetParameterHistoryResult":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParameterHistoryList", + "documentation":"

    A list of parameters returned by the request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "GetParameterRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The name of the parameter you want to query.

    " + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

    Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

    ", + "box":true + } + } + }, + "GetParameterResult":{ + "type":"structure", + "members":{ + "Parameter":{ + "shape":"Parameter", + "documentation":"

    Information about a parameter.

    " + } + } + }, + "GetParametersByPathMaxResults":{ + "type":"integer", + "max":10, + "min":1 + }, + "GetParametersByPathRequest":{ + "type":"structure", + "required":["Path"], + "members":{ + "Path":{ + "shape":"PSParameterName", + "documentation":"

    The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33

    " + }, + "Recursive":{ + "shape":"Boolean", + "documentation":"

    Retrieve all parameters within a hierarchy.

    If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path /a, then the user can also access /a/b. Even if a user has explicitly been denied access in IAM for parameter /a/b, they can still call the GetParametersByPath API action recursively for /a and view /a/b.

    ", + "box":true + }, + "ParameterFilters":{ + "shape":"ParameterStringFilterList", + "documentation":"

    Filters to limit the request results.

    " + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

    Retrieve all parameters in a hierarchy with their value decrypted.

    ", + "box":true + }, + "MaxResults":{ + "shape":"GetParametersByPathMaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "GetParametersByPathResult":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParameterList", + "documentation":"

    A list of parameters found in the specified hierarchy.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "GetParametersRequest":{ + "type":"structure", + "required":["Names"], + "members":{ + "Names":{ + "shape":"ParameterNameList", + "documentation":"

    Names of the parameters for which you want to query information.

    " + }, + "WithDecryption":{ + "shape":"Boolean", + "documentation":"

    Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

    ", + "box":true + } + } + }, + "GetParametersResult":{ + "type":"structure", + "members":{ + "Parameters":{ + "shape":"ParameterList", + "documentation":"

    A list of details for a parameter.

    " + }, + "InvalidParameters":{ + "shape":"ParameterNameList", + "documentation":"

    A list of parameters that are not formatted correctly or do not run during an execution.

    " + } + } + }, + "GetPatchBaselineForPatchGroupRequest":{ + "type":"structure", + "required":["PatchGroup"], + "members":{ + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group whose patch baseline should be retrieved.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    Returns he operating system rule specified for patch groups using the patch baseline.

    " + } + } + }, + "GetPatchBaselineForPatchGroupResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline that should be used for the patch group.

    " + }, + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    The operating system rule specified for patch groups using the patch baseline.

    " + } + } + }, + "GetPatchBaselineRequest":{ + "type":"structure", + "required":["BaselineId"], + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to retrieve.

    " + } + } + }, + "GetPatchBaselineResult":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the retrieved patch baseline.

    " + }, + "Name":{ + "shape":"BaselineName", + "documentation":"

    The name of the patch baseline.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    Returns the operating system specified for the patch baseline.

    " + }, + "GlobalFilters":{ + "shape":"PatchFilterGroup", + "documentation":"

    A set of global filters used to exclude patches from the baseline.

    " + }, + "ApprovalRules":{ + "shape":"PatchRuleGroup", + "documentation":"

    A set of rules used to include patches in the baseline.

    " + }, + "ApprovedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly approved patches for the baseline.

    " + }, + "ApprovedPatchesComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    Returns the specified compliance severity level for approved patches in the patch baseline.

    " + }, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

    ", + "box":true + }, + "RejectedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly rejected patches for the baseline.

    " + }, + "RejectedPatchesAction":{ + "shape":"PatchAction", + "documentation":"

    The action specified to take on patches included in the RejectedPatches list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.

    " + }, + "PatchGroups":{ + "shape":"PatchGroupList", + "documentation":"

    Patch groups included in the patch baseline.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date the patch baseline was created.

    " + }, + "ModifiedDate":{ + "shape":"DateTime", + "documentation":"

    The date the patch baseline was last modified.

    " + }, + "Description":{ + "shape":"BaselineDescription", + "documentation":"

    A description of the patch baseline.

    " + }, + "Sources":{ + "shape":"PatchSourceList", + "documentation":"

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

    " + } + } + }, + "GetServiceSettingRequest":{ + "type":"structure", + "required":["SettingId"], + "members":{ + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

    The ID of the service setting to get. The setting ID can be /ssm/parameter-store/default-parameter-tier, /ssm/parameter-store/high-throughput-enabled, or /ssm/managed-instance/activation-tier.

    " + } + }, + "documentation":"

    The request body of the GetServiceSetting API action.

    " + }, + "GetServiceSettingResult":{ + "type":"structure", + "members":{ + "ServiceSetting":{ + "shape":"ServiceSetting", + "documentation":"

    The query result of the current service setting.

    " + } + }, + "documentation":"

    The query result body of the GetServiceSetting API action.

    " + }, + "HierarchyLevelLimitExceededException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

    A hierarchy can have a maximum of 15 levels. For more information, see Requirements and constraints for parameter names in the AWS Systems Manager User Guide.

    " + } + }, + "documentation":"

    A hierarchy can have a maximum of 15 levels. For more information, see Requirements and constraints for parameter names in the AWS Systems Manager User Guide.

    ", + "exception":true + }, + "HierarchyTypeMismatchException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

    Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

    " + } + }, + "documentation":"

    Parameter Store does not support changing a parameter type in a hierarchy. For example, you can't change a parameter from a String type to a SecureString type. You must create a new, unique parameter.

    ", + "exception":true + }, + "IPAddress":{ + "type":"string", + "max":46, + "min":1 + }, + "ISO8601String":{"type":"string"}, + "IamRole":{ + "type":"string", + "max":64 + }, + "IdempotencyToken":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" + }, + "IdempotentParameterMismatch":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Error returned when an idempotent operation is retried and the parameters don't match the original call to the API with the same idempotency token.

    ", + "exception":true + }, + "IncompatiblePolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    There is a conflict in the policies specified for this parameter. You can't, for example, specify two Expiration policies for a parameter. Review your policies, and try again.

    ", + "exception":true + }, + "InstallOverrideList":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^https://.+$|^s3://([^/]+)/(.*?([^/]+))$" + }, + "InstanceAggregatedAssociationOverview":{ + "type":"structure", + "members":{ + "DetailedStatus":{ + "shape":"StatusName", + "documentation":"

    Detailed status information about the aggregated associations.

    " + }, + "InstanceAssociationStatusAggregatedCount":{ + "shape":"InstanceAssociationStatusAggregatedCount", + "documentation":"

    The number of associations for the instance(s).

    " + } + }, + "documentation":"

    Status information about the aggregated associations.

    " + }, + "InstanceAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID.

    " + }, + "Content":{ + "shape":"DocumentContent", + "documentation":"

    The content of the association document for the instance(s).

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    Version information for the association on the instance.

    " + } + }, + "documentation":"

    One or more association documents on the instance.

    " + }, + "InstanceAssociationExecutionSummary":{ + "type":"string", + "max":512, + "min":1 + }, + "InstanceAssociationList":{ + "type":"list", + "member":{"shape":"InstanceAssociation"} + }, + "InstanceAssociationOutputLocation":{ + "type":"structure", + "members":{ + "S3Location":{ + "shape":"S3OutputLocation", + "documentation":"

    An S3 bucket where you want to store the results of this request.

    " + } + }, + "documentation":"

    An S3 bucket where you want to store the results of this request.

    " + }, + "InstanceAssociationOutputUrl":{ + "type":"structure", + "members":{ + "S3OutputUrl":{ + "shape":"S3OutputUrl", + "documentation":"

    The URL of S3 bucket where you want to store the results of this request.

    " + } + }, + "documentation":"

    The URL of S3 bucket where you want to store the results of this request.

    " + }, + "InstanceAssociationStatusAggregatedCount":{ + "type":"map", + "key":{"shape":"StatusName"}, + "value":{"shape":"InstanceCount"} + }, + "InstanceAssociationStatusInfo":{ + "type":"structure", + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID.

    " + }, + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the association.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The association document versions.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    The version of the association applied to the instance.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID where the association was created.

    " + }, + "ExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date the instance association ran.

    " + }, + "Status":{ + "shape":"StatusName", + "documentation":"

    Status information about the instance association.

    " + }, + "DetailedStatus":{ + "shape":"StatusName", + "documentation":"

    Detailed status information about the instance association.

    " + }, + "ExecutionSummary":{ + "shape":"InstanceAssociationExecutionSummary", + "documentation":"

    Summary information about association execution.

    " + }, + "ErrorCode":{ + "shape":"AgentErrorCode", + "documentation":"

    An error code returned by the request to create the association.

    " + }, + "OutputUrl":{ + "shape":"InstanceAssociationOutputUrl", + "documentation":"

    A URL for an S3 bucket where you want to store the results of this request.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    The name of the association applied to the instance.

    " + } + }, + "documentation":"

    Status information about the instance association.

    " + }, + "InstanceAssociationStatusInfos":{ + "type":"list", + "member":{"shape":"InstanceAssociationStatusInfo"} + }, + "InstanceCount":{"type":"integer"}, + "InstanceId":{ + "type":"string", + "pattern":"(^i-(\\w{8}|\\w{17})$)|(^mi-\\w{17}$)" + }, + "InstanceIdList":{ + "type":"list", + "member":{"shape":"InstanceId"}, + "max":50, + "min":0 + }, + "InstanceInformation":{ + "type":"structure", + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID.

    " + }, + "PingStatus":{ + "shape":"PingStatus", + "documentation":"

    Connection status of SSM Agent.

    " + }, + "LastPingDateTime":{ + "shape":"DateTime", + "documentation":"

    The date and time when agent last pinged Systems Manager service.

    ", + "box":true + }, + "AgentVersion":{ + "shape":"Version", + "documentation":"

    The version of SSM Agent running on your Linux instance.

    " + }, + "IsLatestVersion":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the latest version of SSM Agent is running on your Linux Managed Instance. This field does not indicate whether or not the latest version is installed on Windows managed instances, because some older versions of Windows Server use the EC2Config service to process SSM requests.

    ", + "box":true + }, + "PlatformType":{ + "shape":"PlatformType", + "documentation":"

    The operating system platform type.

    " + }, + "PlatformName":{ + "shape":"String", + "documentation":"

    The name of the operating system platform running on your instance.

    " + }, + "PlatformVersion":{ + "shape":"String", + "documentation":"

    The version of the OS platform running on your instance.

    " + }, + "ActivationId":{ + "shape":"ActivationId", + "documentation":"

    The activation ID created by Systems Manager when the server or VM was registered.

    " + }, + "IamRole":{ + "shape":"IamRole", + "documentation":"

    The Amazon Identity and Access Management (IAM) role assigned to the on-premises Systems Manager managed instances. This call does not return the IAM role for EC2 instances.

    " + }, + "RegistrationDate":{ + "shape":"DateTime", + "documentation":"

    The date the server or VM was registered with AWS as a managed instance.

    ", + "box":true + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of instance. Instances are either EC2 instances or managed instances.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The name of the managed instance.

    " + }, + "IPAddress":{ + "shape":"IPAddress", + "documentation":"

    The IP address of the managed instance.

    " + }, + "ComputerName":{ + "shape":"ComputerName", + "documentation":"

    The fully qualified host name of the managed instance.

    " + }, + "AssociationStatus":{ + "shape":"StatusName", + "documentation":"

    The status of the association.

    " + }, + "LastAssociationExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The date the association was last run.

    " + }, + "LastSuccessfulAssociationExecutionDate":{ + "shape":"DateTime", + "documentation":"

    The last date the association was successfully run.

    " + }, + "AssociationOverview":{ + "shape":"InstanceAggregatedAssociationOverview", + "documentation":"

    Information about the association.

    " + } + }, + "documentation":"

    Describes a filter for a specific list of instances.

    " + }, + "InstanceInformationFilter":{ + "type":"structure", + "required":[ + "key", + "valueSet" + ], + "members":{ + "key":{ + "shape":"InstanceInformationFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "valueSet":{ + "shape":"InstanceInformationFilterValueSet", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Describes a filter for a specific list of instances. You can filter instances information by using tags. You specify tags by using a key-value mapping.

    Use this action instead of the DescribeInstanceInformationRequest$InstanceInformationFilterList method. The InstanceInformationFilterList method is a legacy method and does not support tags.

    " + }, + "InstanceInformationFilterKey":{ + "type":"string", + "enum":[ + "InstanceIds", + "AgentVersion", + "PingStatus", + "PlatformTypes", + "ActivationIds", + "IamRole", + "ResourceType", + "AssociationStatus" + ] + }, + "InstanceInformationFilterList":{ + "type":"list", + "member":{"shape":"InstanceInformationFilter"}, + "min":0 + }, + "InstanceInformationFilterValue":{ + "type":"string", + "min":1 + }, + "InstanceInformationFilterValueSet":{ + "type":"list", + "member":{"shape":"InstanceInformationFilterValue"}, + "max":100, + "min":1 + }, + "InstanceInformationList":{ + "type":"list", + "member":{"shape":"InstanceInformation"} + }, + "InstanceInformationStringFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"InstanceInformationStringFilterKey", + "documentation":"

    The filter key name to describe your instances. For example:

    \"InstanceIds\"|\"AgentVersion\"|\"PingStatus\"|\"PlatformTypes\"|\"ActivationIds\"|\"IamRole\"|\"ResourceType\"|\"AssociationStatus\"|\"Tag Key\"

    " + }, + "Values":{ + "shape":"InstanceInformationFilterValueSet", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    The filters to describe or get information about your managed instances.

    " + }, + "InstanceInformationStringFilterKey":{ + "type":"string", + "min":1 + }, + "InstanceInformationStringFilterList":{ + "type":"list", + "member":{"shape":"InstanceInformationStringFilter"}, + "min":0 + }, + "InstancePatchState":{ + "type":"structure", + "required":[ + "InstanceId", + "PatchGroup", + "BaselineId", + "OperationStartTime", + "OperationEndTime", + "Operation" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the managed instance the high-level patch compliance information was collected for.

    " + }, + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group the managed instance belongs to.

    " + }, + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline used to patch the instance.

    " + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.

    " + }, + "InstallOverrideList":{ + "shape":"InstallOverrideList", + "documentation":"

    An https URL or an Amazon S3 path-style URL to a list of patches to be installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document AWS-RunPatchBaseline, overrides the patches specified by the default patch baseline.

    For more information about the InstallOverrideList parameter, see About the SSM document AWS-RunPatchBaseline in the AWS Systems Manager User Guide.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    Placeholder information. This field will always be empty in the current release of the service.

    " + }, + "InstalledCount":{ + "shape":"PatchInstalledCount", + "documentation":"

    The number of patches from the patch baseline that are installed on the instance.

    " + }, + "InstalledOtherCount":{ + "shape":"PatchInstalledOtherCount", + "documentation":"

    The number of patches not specified in the patch baseline that are installed on the instance.

    " + }, + "InstalledPendingRebootCount":{ + "shape":"PatchInstalledPendingRebootCount", + "documentation":"

    The number of patches installed by Patch Manager since the last time the instance was rebooted.

    ", + "box":true + }, + "InstalledRejectedCount":{ + "shape":"PatchInstalledRejectedCount", + "documentation":"

    The number of instances with patches installed that are specified in a RejectedPatches list. Patches with a status of InstalledRejected were typically installed before they were added to a RejectedPatches list.

    If ALLOW_AS_DEPENDENCY is the specified option for RejectedPatchesAction, the value of InstalledRejectedCount will always be 0 (zero).

    ", + "box":true + }, + "MissingCount":{ + "shape":"PatchMissingCount", + "documentation":"

    The number of patches from the patch baseline that are applicable for the instance but aren't currently installed.

    " + }, + "FailedCount":{ + "shape":"PatchFailedCount", + "documentation":"

    The number of patches from the patch baseline that were attempted to be installed during the last patching operation, but failed to install.

    " + }, + "UnreportedNotApplicableCount":{ + "shape":"PatchUnreportedNotApplicableCount", + "documentation":"

    The number of patches beyond the supported limit of NotApplicableCount that are not reported by name to Systems Manager Inventory.

    ", + "box":true + }, + "NotApplicableCount":{ + "shape":"PatchNotApplicableCount", + "documentation":"

    The number of patches from the patch baseline that aren't applicable for the instance and therefore aren't installed on the instance. This number may be truncated if the list of patch names is very large. The number of patches beyond this limit are reported in UnreportedNotApplicableCount.

    " + }, + "OperationStartTime":{ + "shape":"DateTime", + "documentation":"

    The time the most recent patching operation was started on the instance.

    " + }, + "OperationEndTime":{ + "shape":"DateTime", + "documentation":"

    The time the most recent patching operation completed on the instance.

    " + }, + "Operation":{ + "shape":"PatchOperationType", + "documentation":"

    The type of patching operation that was performed: SCAN (assess patch compliance state) or INSTALL (install missing patches).

    " + }, + "LastNoRebootInstallOperationTime":{ + "shape":"DateTime", + "documentation":"

    The time of the last attempt to patch the instance with NoReboot specified as the reboot option.

    " + }, + "RebootOption":{ + "shape":"RebootOption", + "documentation":"

    Indicates the reboot option specified in the patch baseline.

    Reboot options apply to Install operations only. Reboots are not attempted for Patch Manager Scan operations.

    • RebootIfNeeded: Patch Manager tries to reboot the instance if it installed any patches, or if any patches are detected with a status of InstalledPendingReboot.

    • NoReboot: Patch Manager attempts to install missing packages without trying to reboot the system. Patches installed with this option are assigned a status of InstalledPendingReboot. These patches might not be in effect until a reboot is performed.

    " + } + }, + "documentation":"

    Defines the high-level patch compliance state for a managed instance, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the instance.

    " + }, + "InstancePatchStateFilter":{ + "type":"structure", + "required":[ + "Key", + "Values", + "Type" + ], + "members":{ + "Key":{ + "shape":"InstancePatchStateFilterKey", + "documentation":"

    The key for the filter. Supported values are FailedCount, InstalledCount, InstalledOtherCount, MissingCount and NotApplicableCount.

    " + }, + "Values":{ + "shape":"InstancePatchStateFilterValues", + "documentation":"

    The value for the filter, must be an integer greater than or equal to 0.

    " + }, + "Type":{ + "shape":"InstancePatchStateOperatorType", + "documentation":"

    The type of comparison that should be performed for the value: Equal, NotEqual, LessThan or GreaterThan.

    " + } + }, + "documentation":"

    Defines a filter used in DescribeInstancePatchStatesForPatchGroup used to scope down the information returned by the API.

    " + }, + "InstancePatchStateFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "InstancePatchStateFilterList":{ + "type":"list", + "member":{"shape":"InstancePatchStateFilter"}, + "max":4, + "min":0 + }, + "InstancePatchStateFilterValue":{"type":"string"}, + "InstancePatchStateFilterValues":{ + "type":"list", + "member":{"shape":"InstancePatchStateFilterValue"}, + "max":1, + "min":1 + }, + "InstancePatchStateList":{ + "type":"list", + "member":{"shape":"InstancePatchState"} + }, + "InstancePatchStateOperatorType":{ + "type":"string", + "enum":[ + "Equal", + "NotEqual", + "LessThan", + "GreaterThan" + ] + }, + "InstancePatchStatesList":{ + "type":"list", + "member":{"shape":"InstancePatchState"}, + "max":5, + "min":1 + }, + "InstanceTagName":{ + "type":"string", + "max":255 + }, + "InstancesCount":{"type":"integer"}, + "Integer":{"type":"integer"}, + "InternalServerError":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    An error occurred on the server side.

    ", + "exception":true, + "fault":true + }, + "InvalidActivation":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The activation is not valid. The activation might have been deleted, or the ActivationId and the ActivationCode do not match.

    ", + "exception":true + }, + "InvalidActivationId":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try again.

    ", + "exception":true + }, + "InvalidAggregatorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified aggregator is not valid for inventory groups. Verify that the aggregator uses a valid inventory type such as AWS:Application or AWS:InstanceInformation.

    ", + "exception":true + }, + "InvalidAllowedPatternException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

    The request does not meet the regular expression requirement.

    " + } + }, + "documentation":"

    The request does not meet the regular expression requirement.

    ", + "exception":true + }, + "InvalidAssociation":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The association is not valid or does not exist.

    ", + "exception":true + }, + "InvalidAssociationVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The version you specified is not valid. Use ListAssociationVersions to view all versions of an association according to the association ID. Or, use the $LATEST parameter to view the latest version of the association.

    ", + "exception":true + }, + "InvalidAutomationExecutionParametersException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The supplied parameters for invoking the specified Automation document are incorrect. For example, they may not match the set of parameters permitted for the specified Automation document.

    ", + "exception":true + }, + "InvalidAutomationSignalException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The signal is not valid for the current Automation execution.

    ", + "exception":true + }, + "InvalidAutomationStatusUpdateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified update status operation is not valid.

    ", + "exception":true + }, + "InvalidCommandId":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidDeleteInventoryParametersException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    One or more of the parameters specified for the delete operation is not valid. Verify all parameters and try again.

    ", + "exception":true + }, + "InvalidDeletionIdException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The ID specified for the delete operation does not exist or is not valid. Verify the ID and try again.

    ", + "exception":true + }, + "InvalidDocument":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    The document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

    " + } + }, + "documentation":"

    The specified document does not exist.

    ", + "exception":true + }, + "InvalidDocumentContent":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"String", + "documentation":"

    A description of the validation error.

    " + } + }, + "documentation":"

    The content for the document is not valid.

    ", + "exception":true + }, + "InvalidDocumentOperation":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You attempted to delete a document while it is still shared. You must stop sharing the document before you can delete it.

    ", + "exception":true + }, + "InvalidDocumentSchemaVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The version of the document schema is not supported.

    ", + "exception":true + }, + "InvalidDocumentType":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The document type is not valid. Valid document types are described in the DocumentType property.

    ", + "exception":true + }, + "InvalidDocumentVersion":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The document version is not valid or does not exist.

    ", + "exception":true + }, + "InvalidFilter":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The filter name is not valid. Verify the you entered the correct name and try again.

    ", + "exception":true + }, + "InvalidFilterKey":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The specified key is not valid.

    ", + "exception":true + }, + "InvalidFilterOption":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

    The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

    " + } + }, + "documentation":"

    The specified filter option is not valid. Valid options are Equals and BeginsWith. For Path filter, valid options are Recursive and OneLevel.

    ", + "exception":true + }, + "InvalidFilterValue":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The filter value is not valid. Verify the value and try again.

    ", + "exception":true + }, + "InvalidInstanceId":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The following problems can cause this exception:

    You do not have permission to access the instance.

    SSM Agent is not running. Verify that SSM Agent is running.

    SSM Agent is not registered with the SSM endpoint. Try reinstalling SSM Agent.

    The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.

    ", + "exception":true + }, + "InvalidInstanceInformationFilterValue":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified filter value is not valid.

    ", + "exception":true + }, + "InvalidInventoryGroupException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified inventory group is not valid.

    ", + "exception":true + }, + "InvalidInventoryItemContextException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You specified invalid keys or values in the Context attribute for InventoryItem. Verify the keys and values, and try again.

    ", + "exception":true + }, + "InvalidInventoryRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The request is not valid.

    ", + "exception":true + }, + "InvalidItemContentException":{ + "type":"structure", + "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "Message":{"shape":"String"} + }, + "documentation":"

    One or more content items is not valid.

    ", + "exception":true + }, + "InvalidKeyId":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The query key ID is not valid.

    ", + "exception":true + }, + "InvalidNextToken":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified token is not valid.

    ", + "exception":true + }, + "InvalidNotificationConfig":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    One or more configuration items is not valid. Verify that a valid Amazon Resource Name (ARN) was provided for an Amazon SNS topic.

    ", + "exception":true + }, + "InvalidOptionException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The delete inventory option specified is not valid. Verify the option and try again.

    ", + "exception":true + }, + "InvalidOutputFolder":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The S3 bucket does not exist.

    ", + "exception":true + }, + "InvalidOutputLocation":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The output location is not valid or does not exist.

    ", + "exception":true + }, + "InvalidParameters":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You must specify values for all required parameters in the Systems Manager document. You can only supply values to parameters defined in the Systems Manager document.

    ", + "exception":true + }, + "InvalidPermissionType":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The permission type is not supported. Share is the only supported permission type.

    ", + "exception":true + }, + "InvalidPluginName":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The plugin name is not valid.

    ", + "exception":true + }, + "InvalidPolicyAttributeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A policy attribute or its value is invalid.

    ", + "exception":true + }, + "InvalidPolicyTypeException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The policy type is not supported. Parameter Store supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

    ", + "exception":true + }, + "InvalidResourceId":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource ID is not valid. Verify that you entered the correct ID and try again.

    ", + "exception":true + }, + "InvalidResourceType":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The resource type is not valid. For example, if you are attempting to tag an instance, the instance must be a registered, managed instance.

    ", + "exception":true + }, + "InvalidResultAttributeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified inventory item result attribute is not valid.

    ", + "exception":true + }, + "InvalidRole":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for Run Command notifications, see Configuring Amazon SNS Notifications for Run Command in the AWS Systems Manager User Guide.

    ", + "exception":true + }, + "InvalidSchedule":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The schedule is invalid. Verify your cron or rate expression and try again.

    ", + "exception":true + }, + "InvalidTarget":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The target is not valid or does not exist. It might not be configured for Systems Manager or you might not have permission to perform the operation.

    ", + "exception":true + }, + "InvalidTypeNameException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The parameter type name is not valid.

    ", + "exception":true + }, + "InvalidUpdate":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The update is not valid.

    ", + "exception":true + }, + "InventoryAggregator":{ + "type":"structure", + "members":{ + "Expression":{ + "shape":"InventoryAggregatorExpression", + "documentation":"

    The inventory type and attribute name for aggregation.

    " + }, + "Aggregators":{ + "shape":"InventoryAggregatorList", + "documentation":"

    Nested aggregators to further refine aggregation for an inventory type.

    " + }, + "Groups":{ + "shape":"InventoryGroupList", + "documentation":"

    A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.

    " + } + }, + "documentation":"

    Specifies the inventory type and attribute for the aggregation execution.

    " + }, + "InventoryAggregatorExpression":{ + "type":"string", + "max":1000, + "min":1 + }, + "InventoryAggregatorList":{ + "type":"list", + "member":{"shape":"InventoryAggregator"}, + "max":10, + "min":1 + }, + "InventoryAttributeDataType":{ + "type":"string", + "enum":[ + "string", + "number" + ] + }, + "InventoryDeletionId":{"type":"string"}, + "InventoryDeletionLastStatusMessage":{"type":"string"}, + "InventoryDeletionLastStatusUpdateTime":{"type":"timestamp"}, + "InventoryDeletionStartTime":{"type":"timestamp"}, + "InventoryDeletionStatus":{ + "type":"string", + "enum":[ + "InProgress", + "Complete" + ] + }, + "InventoryDeletionStatusItem":{ + "type":"structure", + "members":{ + "DeletionId":{ + "shape":"InventoryDeletionId", + "documentation":"

    The deletion ID returned by the DeleteInventory action.

    " + }, + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the inventory data type.

    " + }, + "DeletionStartTime":{ + "shape":"InventoryDeletionStartTime", + "documentation":"

    The UTC timestamp when the delete operation started.

    " + }, + "LastStatus":{ + "shape":"InventoryDeletionStatus", + "documentation":"

    The status of the operation. Possible values are InProgress and Complete.

    " + }, + "LastStatusMessage":{ + "shape":"InventoryDeletionLastStatusMessage", + "documentation":"

    Information about the status.

    " + }, + "DeletionSummary":{ + "shape":"InventoryDeletionSummary", + "documentation":"

    Information about the delete operation. For more information about this summary, see Understanding the delete inventory summary in the AWS Systems Manager User Guide.

    " + }, + "LastStatusUpdateTime":{ + "shape":"InventoryDeletionLastStatusUpdateTime", + "documentation":"

    The UTC timestamp of when the last status report.

    " + } + }, + "documentation":"

    Status information returned by the DeleteInventory action.

    " + }, + "InventoryDeletionSummary":{ + "type":"structure", + "members":{ + "TotalCount":{ + "shape":"TotalCount", + "documentation":"

    The total number of items to delete. This count does not change during the delete operation.

    " + }, + "RemainingCount":{ + "shape":"RemainingCount", + "documentation":"

    Remaining number of items to delete.

    " + }, + "SummaryItems":{ + "shape":"InventoryDeletionSummaryItems", + "documentation":"

    A list of counts and versions for deleted items.

    " + } + }, + "documentation":"

    Information about the delete operation.

    " + }, + "InventoryDeletionSummaryItem":{ + "type":"structure", + "members":{ + "Version":{ + "shape":"InventoryItemSchemaVersion", + "documentation":"

    The inventory type version.

    " + }, + "Count":{ + "shape":"ResourceCount", + "documentation":"

    A count of the number of deleted items.

    " + }, + "RemainingCount":{ + "shape":"RemainingCount", + "documentation":"

    The remaining number of items to delete.

    " + } + }, + "documentation":"

    Either a count, remaining count, or a version number in a delete inventory summary.

    " + }, + "InventoryDeletionSummaryItems":{ + "type":"list", + "member":{"shape":"InventoryDeletionSummaryItem"} + }, + "InventoryDeletionsList":{ + "type":"list", + "member":{"shape":"InventoryDeletionStatusItem"} + }, + "InventoryFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"InventoryFilterKey", + "documentation":"

    The name of the filter key.

    " + }, + "Values":{ + "shape":"InventoryFilterValueList", + "documentation":"

    Inventory filter values. Example: inventory filter where instance IDs are specified as values Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g, i-1a2b3c4d5e6,Type=Equal

    " + }, + "Type":{ + "shape":"InventoryQueryOperatorType", + "documentation":"

    The type of filter.

    The Exists filter must be used with aggregators. For more information, see Aggregating inventory data in the AWS Systems Manager User Guide.

    " + } + }, + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "InventoryFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "InventoryFilterList":{ + "type":"list", + "member":{"shape":"InventoryFilter"}, + "max":5, + "min":1 + }, + "InventoryFilterValue":{"type":"string"}, + "InventoryFilterValueList":{ + "type":"list", + "member":{"shape":"InventoryFilterValue"}, + "max":40, + "min":1 + }, + "InventoryGroup":{ + "type":"structure", + "required":[ + "Name", + "Filters" + ], + "members":{ + "Name":{ + "shape":"InventoryGroupName", + "documentation":"

    The name of the group.

    " + }, + "Filters":{ + "shape":"InventoryFilterList", + "documentation":"

    Filters define the criteria for the group. The matchingCount field displays the number of resources that match the criteria. The notMatchingCount field displays the number of resources that don't match the criteria.

    " + } + }, + "documentation":"

    A user-defined set of one or more filters on which to aggregate inventory data. Groups return a count of resources that match and don't match the specified criteria.

    " + }, + "InventoryGroupList":{ + "type":"list", + "member":{"shape":"InventoryGroup"}, + "max":15, + "min":1 + }, + "InventoryGroupName":{ + "type":"string", + "max":200, + "min":1 + }, + "InventoryItem":{ + "type":"structure", + "required":[ + "TypeName", + "SchemaVersion", + "CaptureTime" + ], + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

    " + }, + "SchemaVersion":{ + "shape":"InventoryItemSchemaVersion", + "documentation":"

    The schema version for the inventory item.

    " + }, + "CaptureTime":{ + "shape":"InventoryItemCaptureTime", + "documentation":"

    The time the inventory information was collected.

    " + }, + "ContentHash":{ + "shape":"InventoryItemContentHash", + "documentation":"

    MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

    " + }, + "Content":{ + "shape":"InventoryItemEntryList", + "documentation":"

    The inventory data of the inventory type.

    " + }, + "Context":{ + "shape":"InventoryItemContentContext", + "documentation":"

    A map of associated properties for a specified inventory type. For example, with this attribute, you can specify the ExecutionId, ExecutionType, ComplianceType properties of the AWS:ComplianceItem type.

    " + } + }, + "documentation":"

    Information collected from managed instances based on your inventory policy document

    " + }, + "InventoryItemAttribute":{ + "type":"structure", + "required":[ + "Name", + "DataType" + ], + "members":{ + "Name":{ + "shape":"InventoryItemAttributeName", + "documentation":"

    Name of the inventory item attribute.

    " + }, + "DataType":{ + "shape":"InventoryAttributeDataType", + "documentation":"

    The data type of the inventory item attribute.

    " + } + }, + "documentation":"

    Attributes are the entries within the inventory item content. It contains name and value.

    " + }, + "InventoryItemAttributeList":{ + "type":"list", + "member":{"shape":"InventoryItemAttribute"}, + "max":50, + "min":1 + }, + "InventoryItemAttributeName":{"type":"string"}, + "InventoryItemCaptureTime":{ + "type":"string", + "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$" + }, + "InventoryItemContentContext":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":0 + }, + "InventoryItemContentHash":{ + "type":"string", + "max":256 + }, + "InventoryItemEntry":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":0 + }, + "InventoryItemEntryList":{ + "type":"list", + "member":{"shape":"InventoryItemEntry"}, + "max":10000, + "min":0 + }, + "InventoryItemList":{ + "type":"list", + "member":{"shape":"InventoryItem"}, + "max":30, + "min":1 + }, + "InventoryItemSchema":{ + "type":"structure", + "required":[ + "TypeName", + "Attributes" + ], + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the inventory type. Default inventory item type names start with AWS. Custom inventory type names will start with Custom. Default inventory item types include the following: AWS:AWSComponent, AWS:Application, AWS:InstanceInformation, AWS:Network, and AWS:WindowsUpdate.

    " + }, + "Version":{ + "shape":"InventoryItemSchemaVersion", + "documentation":"

    The schema version for the inventory item.

    " + }, + "Attributes":{ + "shape":"InventoryItemAttributeList", + "documentation":"

    The schema attributes for inventory. This contains data type and attribute name.

    " + }, + "DisplayName":{ + "shape":"InventoryTypeDisplayName", + "documentation":"

    The alias name of the inventory type. The alias name is used for display purposes.

    " + } + }, + "documentation":"

    The inventory item schema definition. Users can use this to compose inventory query filters.

    " + }, + "InventoryItemSchemaResultList":{ + "type":"list", + "member":{"shape":"InventoryItemSchema"} + }, + "InventoryItemSchemaVersion":{ + "type":"string", + "pattern":"^([0-9]{1,6})(\\.[0-9]{1,6})$" + }, + "InventoryItemTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(AWS|Custom):.*$" + }, + "InventoryItemTypeNameFilter":{ + "type":"string", + "max":100, + "min":0 + }, + "InventoryQueryOperatorType":{ + "type":"string", + "enum":[ + "Equal", + "NotEqual", + "BeginWith", + "LessThan", + "GreaterThan", + "Exists" + ] + }, + "InventoryResultEntity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"InventoryResultEntityId", + "documentation":"

    ID of the inventory result entity. For example, for managed instance inventory the result will be the managed instance ID. For EC2 instance inventory, the result will be the instance ID.

    " + }, + "Data":{ + "shape":"InventoryResultItemMap", + "documentation":"

    The data section in the inventory result entity JSON.

    " + } + }, + "documentation":"

    Inventory query results.

    " + }, + "InventoryResultEntityId":{"type":"string"}, + "InventoryResultEntityList":{ + "type":"list", + "member":{"shape":"InventoryResultEntity"} + }, + "InventoryResultItem":{ + "type":"structure", + "required":[ + "TypeName", + "SchemaVersion", + "Content" + ], + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The name of the inventory result item type.

    " + }, + "SchemaVersion":{ + "shape":"InventoryItemSchemaVersion", + "documentation":"

    The schema version for the inventory result item/

    " + }, + "CaptureTime":{ + "shape":"InventoryItemCaptureTime", + "documentation":"

    The time inventory item data was captured.

    " + }, + "ContentHash":{ + "shape":"InventoryItemContentHash", + "documentation":"

    MD5 hash of the inventory item type contents. The content hash is used to determine whether to update inventory information. The PutInventory API does not update the inventory item type contents if the MD5 hash has not changed since last update.

    " + }, + "Content":{ + "shape":"InventoryItemEntryList", + "documentation":"

    Contains all the inventory data of the item type. Results include attribute names and values.

    " + } + }, + "documentation":"

    The inventory result item.

    " + }, + "InventoryResultItemKey":{"type":"string"}, + "InventoryResultItemMap":{ + "type":"map", + "key":{"shape":"InventoryResultItemKey"}, + "value":{"shape":"InventoryResultItem"} + }, + "InventorySchemaDeleteOption":{ + "type":"string", + "enum":[ + "DisableSchema", + "DeleteSchema" + ] + }, + "InventoryTypeDisplayName":{"type":"string"}, + "InvocationDoesNotExist":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The command ID and instance ID you specified did not match any invocations. Verify the command ID and the instance ID and try again.

    ", + "exception":true + }, + "InvocationTraceOutput":{ + "type":"string", + "max":2500 + }, + "IsSubTypeSchema":{"type":"boolean"}, + "ItemContentMismatchException":{ + "type":"structure", + "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "Message":{"shape":"String"} + }, + "documentation":"

    The inventory item has invalid content.

    ", + "exception":true + }, + "ItemSizeLimitExceededException":{ + "type":"structure", + "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "Message":{"shape":"String"} + }, + "documentation":"

    The inventory item size has exceeded the size limit.

    ", + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "LabelParameterVersionRequest":{ + "type":"structure", + "required":[ + "Name", + "Labels" + ], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The parameter name on which you want to attach one or more labels.

    " + }, + "ParameterVersion":{ + "shape":"PSParameterVersion", + "documentation":"

    The specific version of the parameter on which you want to attach one or more labels. If no version is specified, the system attaches the label to the latest version.

    ", + "box":true + }, + "Labels":{ + "shape":"ParameterLabelList", + "documentation":"

    One or more labels to attach to the specified parameter version.

    " + } + } + }, + "LabelParameterVersionResult":{ + "type":"structure", + "members":{ + "InvalidLabels":{ + "shape":"ParameterLabelList", + "documentation":"

    The label does not meet the requirements. For information about parameter label requirements, see Labeling parameters in the AWS Systems Manager User Guide.

    " + }, + "ParameterVersion":{ + "shape":"PSParameterVersion", + "documentation":"

    The version of the parameter that has been labeled.

    " + } + } + }, + "LastResourceDataSyncMessage":{"type":"string"}, + "LastResourceDataSyncStatus":{ + "type":"string", + "enum":[ + "Successful", + "Failed", + "InProgress" + ] + }, + "LastResourceDataSyncTime":{"type":"timestamp"}, + "LastSuccessfulResourceDataSyncTime":{"type":"timestamp"}, + "ListAssociationVersionsRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The association ID for which you want to view all versions.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + } + } + }, + "ListAssociationVersionsResult":{ + "type":"structure", + "members":{ + "AssociationVersions":{ + "shape":"AssociationVersionList", + "documentation":"

    Information about all versions of the association for the specified association ID.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "ListAssociationsRequest":{ + "type":"structure", + "members":{ + "AssociationFilterList":{ + "shape":"AssociationFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "ListAssociationsResult":{ + "type":"structure", + "members":{ + "Associations":{ + "shape":"AssociationList", + "documentation":"

    The associations.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "ListCommandInvocationsRequest":{ + "type":"structure", + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    (Optional) The invocations for a specific command ID.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    (Optional) The command execution details for a specific instance ID.

    " + }, + "MaxResults":{ + "shape":"CommandMaxResults", + "documentation":"

    (Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "Filters":{ + "shape":"CommandFilterList", + "documentation":"

    (Optional) One or more filters. Use a filter to return a more specific list of results.

    " + }, + "Details":{ + "shape":"Boolean", + "documentation":"

    (Optional) If set this returns the response of the command executions and any command output. By default this is set to False.

    " + } + } + }, + "ListCommandInvocationsResult":{ + "type":"structure", + "members":{ + "CommandInvocations":{ + "shape":"CommandInvocationList", + "documentation":"

    (Optional) A list of all invocations.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "ListCommandsRequest":{ + "type":"structure", + "members":{ + "CommandId":{ + "shape":"CommandId", + "documentation":"

    (Optional) If provided, lists only the specified command.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    (Optional) Lists commands issued against this instance ID.

    " + }, + "MaxResults":{ + "shape":"CommandMaxResults", + "documentation":"

    (Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "Filters":{ + "shape":"CommandFilterList", + "documentation":"

    (Optional) One or more filters. Use a filter to return a more specific list of results.

    " + } + } + }, + "ListCommandsResult":{ + "type":"structure", + "members":{ + "Commands":{ + "shape":"CommandList", + "documentation":"

    (Optional) The list of commands requested by the user.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "ListComplianceItemsRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ComplianceStringFilterList", + "documentation":"

    One or more compliance filters. Use a filter to return a more specific list of results.

    " + }, + "ResourceIds":{ + "shape":"ComplianceResourceIdList", + "documentation":"

    The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.

    " + }, + "ResourceTypes":{ + "shape":"ComplianceResourceTypeList", + "documentation":"

    The type of resource from which to get compliance information. Currently, the only supported resource type is ManagedInstance.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "ListComplianceItemsResult":{ + "type":"structure", + "members":{ + "ComplianceItems":{ + "shape":"ComplianceItemList", + "documentation":"

    A list of compliance information for the specified resource ID.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "ListComplianceSummariesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ComplianceStringFilterList", + "documentation":"

    One or more compliance or inventory filters. Use a filter to return a more specific list of results.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "ListComplianceSummariesResult":{ + "type":"structure", + "members":{ + "ComplianceSummaryItems":{ + "shape":"ComplianceSummaryItemList", + "documentation":"

    A list of compliant and non-compliant summary counts based on compliance types. For example, this call returns State Manager associations, patches, or custom compliance types according to the filter criteria that you specified.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "ListDocumentVersionsRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the document. You can specify an Amazon Resource Name (ARN).

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "ListDocumentVersionsResult":{ + "type":"structure", + "members":{ + "DocumentVersions":{ + "shape":"DocumentVersionList", + "documentation":"

    The document versions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "ListDocumentsRequest":{ + "type":"structure", + "members":{ + "DocumentFilterList":{ + "shape":"DocumentFilterList", + "documentation":"

    This data type is deprecated. Instead, use Filters.

    " + }, + "Filters":{ + "shape":"DocumentKeyValuesFilterList", + "documentation":"

    One or more DocumentKeyValuesFilter objects. Use a filter to return a more specific list of results. For keys, you can specify one or more key-value pair tags that have been applied to a document. Other valid keys include Owner, Name, PlatformTypes, DocumentType, and TargetType. For example, to return documents you own use Key=Owner,Values=Self. To specify a custom key-value pair, use the format Key=tag:tagName,Values=valueName.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + } + } + }, + "ListDocumentsResult":{ + "type":"structure", + "members":{ + "DocumentIdentifiers":{ + "shape":"DocumentIdentifierList", + "documentation":"

    The names of the Systems Manager documents.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "ListInventoryEntriesRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "TypeName" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID for which you want inventory information.

    " + }, + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The type of inventory item for which you want information.

    " + }, + "Filters":{ + "shape":"InventoryFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "ListInventoryEntriesResult":{ + "type":"structure", + "members":{ + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    The type of inventory item returned by the request.

    " + }, + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The instance ID targeted by the request to query inventory information.

    " + }, + "SchemaVersion":{ + "shape":"InventoryItemSchemaVersion", + "documentation":"

    The inventory schema version used by the instance(s).

    " + }, + "CaptureTime":{ + "shape":"InventoryItemCaptureTime", + "documentation":"

    The time that inventory information was collected for the instance(s).

    " + }, + "Entries":{ + "shape":"InventoryItemEntryList", + "documentation":"

    A list of inventory items on the instance(s).

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + } + } + }, + "ListResourceComplianceSummariesRequest":{ + "type":"structure", + "members":{ + "Filters":{ + "shape":"ComplianceStringFilterList", + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "ListResourceComplianceSummariesResult":{ + "type":"structure", + "members":{ + "ResourceComplianceSummaryItems":{ + "shape":"ResourceComplianceSummaryItemList", + "documentation":"

    A summary count for specified or targeted managed instances. Summary count includes information about compliant and non-compliant State Manager associations, patch status, or custom items according to the filter criteria that you specify.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "ListResourceDataSyncRequest":{ + "type":"structure", + "members":{ + "SyncType":{ + "shape":"ResourceDataSyncType", + "documentation":"

    View a list of resource data syncs according to the sync type. Specify SyncToDestination to view resource data syncs that synchronize data to an Amazon S3 buckets. Specify SyncFromSource to view resource data syncs from AWS Organizations or from multiple AWS Regions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", + "box":true + } + } + }, + "ListResourceDataSyncResult":{ + "type":"structure", + "members":{ + "ResourceDataSyncItems":{ + "shape":"ResourceDataSyncItemList", + "documentation":"

    A list of your current Resource Data Sync configurations and their statuses.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":[ + "ResourceType", + "ResourceId" + ], + "members":{ + "ResourceType":{ + "shape":"ResourceTypeForTagging", + "documentation":"

    Returns a list of tags for a specific resource type.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The resource ID for which you want to see a list of tags.

    " + } + } + }, + "ListTagsForResourceResult":{ + "type":"structure", + "members":{ + "TagList":{ + "shape":"TagList", + "documentation":"

    A list of tags.

    " + } + } + }, + "LoggingInfo":{ + "type":"structure", + "required":[ + "S3BucketName", + "S3Region" + ], + "members":{ + "S3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of an S3 bucket where execution logs are stored .

    " + }, + "S3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    (Optional) The S3 bucket subfolder.

    " + }, + "S3Region":{ + "shape":"S3Region", + "documentation":"

    The Region where the S3 bucket is located.

    " + } + }, + "documentation":"

    Information about an S3 bucket to write instance-level logs to.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "Long":{"type":"long"}, + "MaintenanceWindowAllowUnassociatedTargets":{"type":"boolean"}, + "MaintenanceWindowAutomationParameters":{ + "type":"structure", + "members":{ + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of an Automation document to use during task execution.

    " + }, + "Parameters":{ + "shape":"AutomationParameterMap", + "documentation":"

    The parameters for the AUTOMATION task.

    For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    For AUTOMATION task types, Systems Manager ignores any values specified for these parameters.

    " + } + }, + "documentation":"

    The parameters for an AUTOMATION task type.

    " + }, + "MaintenanceWindowCutoff":{ + "type":"integer", + "max":23, + "min":0 + }, + "MaintenanceWindowDescription":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "MaintenanceWindowDurationHours":{ + "type":"integer", + "max":24, + "min":1 + }, + "MaintenanceWindowEnabled":{"type":"boolean"}, + "MaintenanceWindowExecution":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window.

    " + }, + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The status of the execution.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the Status. Only available for certain status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution started.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time the execution finished.

    " + } + }, + "documentation":"

    Describes the information about an execution of a maintenance window.

    " + }, + "MaintenanceWindowExecutionId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" + }, + "MaintenanceWindowExecutionList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowExecution"} + }, + "MaintenanceWindowExecutionStatus":{ + "type":"string", + "enum":[ + "PENDING", + "IN_PROGRESS", + "SUCCESS", + "FAILED", + "TIMED_OUT", + "CANCELLING", + "CANCELLED", + "SKIPPED_OVERLAPPING" + ] + }, + "MaintenanceWindowExecutionStatusDetails":{ + "type":"string", + "max":250, + "min":0 + }, + "MaintenanceWindowExecutionTaskExecutionId":{"type":"string"}, + "MaintenanceWindowExecutionTaskId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" + }, + "MaintenanceWindowExecutionTaskIdList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowExecutionTaskId"} + }, + "MaintenanceWindowExecutionTaskIdentity":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that ran the task.

    " + }, + "TaskExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task execution in the maintenance window execution.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The status of the task execution.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the status of the task execution. Only available for certain status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time the task execution started.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time the task execution finished.

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The ARN of the task that ran.

    " + }, + "TaskType":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The type of task that ran.

    " + } + }, + "documentation":"

    Information about a task execution performed as part of a maintenance window execution.

    " + }, + "MaintenanceWindowExecutionTaskIdentityList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowExecutionTaskIdentity"} + }, + "MaintenanceWindowExecutionTaskInvocationId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" + }, + "MaintenanceWindowExecutionTaskInvocationIdentity":{ + "type":"structure", + "members":{ + "WindowExecutionId":{ + "shape":"MaintenanceWindowExecutionId", + "documentation":"

    The ID of the maintenance window execution that ran the task.

    " + }, + "TaskExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskId", + "documentation":"

    The ID of the specific task execution in the maintenance window execution.

    " + }, + "InvocationId":{ + "shape":"MaintenanceWindowExecutionTaskInvocationId", + "documentation":"

    The ID of the task invocation.

    " + }, + "ExecutionId":{ + "shape":"MaintenanceWindowExecutionTaskExecutionId", + "documentation":"

    The ID of the action performed in the service that actually handled the task invocation. If the task type is RUN_COMMAND, this value is the command ID.

    " + }, + "TaskType":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The task type.

    " + }, + "Parameters":{ + "shape":"MaintenanceWindowExecutionTaskInvocationParameters", + "documentation":"

    The parameters that were provided for the invocation when it was run.

    " + }, + "Status":{ + "shape":"MaintenanceWindowExecutionStatus", + "documentation":"

    The status of the task invocation.

    " + }, + "StatusDetails":{ + "shape":"MaintenanceWindowExecutionStatusDetails", + "documentation":"

    The details explaining the status of the task invocation. Only available for certain Status values.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    The time the invocation started.

    " + }, + "EndTime":{ + "shape":"DateTime", + "documentation":"

    The time the invocation finished.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    User-provided value that was specified when the target was registered with the maintenance window. This was also included in any CloudWatch events raised during the task invocation.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTaskTargetId", + "documentation":"

    The ID of the target definition in this maintenance window the invocation was performed for.

    " + } + }, + "documentation":"

    Describes the information about a task invocation for a particular target as part of a task execution performed as part of a maintenance window execution.

    " + }, + "MaintenanceWindowExecutionTaskInvocationIdentityList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowExecutionTaskInvocationIdentity"} + }, + "MaintenanceWindowExecutionTaskInvocationParameters":{ + "type":"string", + "sensitive":true + }, + "MaintenanceWindowFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"MaintenanceWindowFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Values":{ + "shape":"MaintenanceWindowFilterValues", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    Filter used in the request. Supported filter keys are Name and Enabled.

    " + }, + "MaintenanceWindowFilterKey":{ + "type":"string", + "max":128, + "min":1 + }, + "MaintenanceWindowFilterList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowFilter"}, + "max":5, + "min":0 + }, + "MaintenanceWindowFilterValue":{ + "type":"string", + "max":256, + "min":1 + }, + "MaintenanceWindowFilterValues":{ + "type":"list", + "member":{"shape":"MaintenanceWindowFilterValue"} + }, + "MaintenanceWindowId":{ + "type":"string", + "max":20, + "min":20, + "pattern":"^mw-[0-9a-f]{17}$" + }, + "MaintenanceWindowIdentity":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    A description of the maintenance window.

    " + }, + "Enabled":{ + "shape":"MaintenanceWindowEnabled", + "documentation":"

    Indicates whether the maintenance window is enabled.

    " + }, + "Duration":{ + "shape":"MaintenanceWindowDurationHours", + "documentation":"

    The duration of the maintenance window in hours.

    " + }, + "Cutoff":{ + "shape":"MaintenanceWindowCutoff", + "documentation":"

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

    " + }, + "Schedule":{ + "shape":"MaintenanceWindowSchedule", + "documentation":"

    The schedule of the maintenance window in the form of a cron or rate expression.

    " + }, + "ScheduleTimezone":{ + "shape":"MaintenanceWindowTimezone", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format.

    " + }, + "EndDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive.

    " + }, + "StartDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active.

    " + }, + "NextExecutionTime":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The next time the maintenance window will actually run, taking into account any specified times for the maintenance window to become active or inactive.

    " + } + }, + "documentation":"

    Information about the maintenance window.

    " + }, + "MaintenanceWindowIdentityForTarget":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " + } + }, + "documentation":"

    The maintenance window to which the specified target belongs.

    " + }, + "MaintenanceWindowIdentityList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowIdentity"} + }, + "MaintenanceWindowLambdaClientContext":{ + "type":"string", + "max":8000, + "min":1 + }, + "MaintenanceWindowLambdaParameters":{ + "type":"structure", + "members":{ + "ClientContext":{ + "shape":"MaintenanceWindowLambdaClientContext", + "documentation":"

    Pass client-specific information to the Lambda function that you are invoking. You can then process the client information in your Lambda function as you choose through the context variable.

    " + }, + "Qualifier":{ + "shape":"MaintenanceWindowLambdaQualifier", + "documentation":"

    (Optional) Specify a Lambda function version or alias name. If you specify a function version, the action uses the qualified function ARN to invoke a specific Lambda function. If you specify an alias name, the action uses the alias ARN to invoke the Lambda function version to which the alias points.

    " + }, + "Payload":{ + "shape":"MaintenanceWindowLambdaPayload", + "documentation":"

    JSON to provide to your Lambda function as input.

    " + } + }, + "documentation":"

    The parameters for a LAMBDA task type.

    For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

    " + }, + "MaintenanceWindowLambdaPayload":{ + "type":"blob", + "max":4096, + "sensitive":true + }, + "MaintenanceWindowLambdaQualifier":{ + "type":"string", + "max":128, + "min":1 + }, + "MaintenanceWindowMaxResults":{ + "type":"integer", + "max":100, + "min":10 + }, + "MaintenanceWindowName":{ + "type":"string", + "max":128, + "min":3, + "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + }, + "MaintenanceWindowResourceType":{ + "type":"string", + "enum":[ + "INSTANCE", + "RESOURCE_GROUP" + ] + }, + "MaintenanceWindowRunCommandParameters":{ + "type":"structure", + "members":{ + "Comment":{ + "shape":"Comment", + "documentation":"

    Information about the commands to run.

    " + }, + "CloudWatchOutputConfig":{"shape":"CloudWatchOutputConfig"}, + "DocumentHash":{ + "shape":"DocumentHash", + "documentation":"

    The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1 hashes have been deprecated.

    " + }, + "DocumentHashType":{ + "shape":"DocumentHashType", + "documentation":"

    SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

    --document-version \"\\$DEFAULT\"

    --document-version \"\\$LATEST\"

    --document-version \"3\"

    " + }, + "NotificationConfig":{ + "shape":"NotificationConfig", + "documentation":"

    Configurations for sending notifications about command status changes on a per-instance basis.

    " + }, + "OutputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of the S3 bucket.

    " + }, + "OutputS3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The S3 bucket subfolder.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    The parameters for the RUN_COMMAND task execution.

    " + }, + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

    " + }, + "TimeoutSeconds":{ + "shape":"TimeoutSeconds", + "documentation":"

    If this time is reached and the command has not already started running, it doesn't run.

    ", + "box":true + } + }, + "documentation":"

    The parameters for a RUN_COMMAND task type.

    For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    For Run Command tasks, Systems Manager uses specified values for TaskParameters and LoggingInfo only if no values are specified for TaskInvocationParameters.

    " + }, + "MaintenanceWindowSchedule":{ + "type":"string", + "max":256, + "min":1 + }, + "MaintenanceWindowSearchMaxResults":{ + "type":"integer", + "min":1 + }, + "MaintenanceWindowStepFunctionsInput":{ + "type":"string", + "max":4096, + "sensitive":true + }, + "MaintenanceWindowStepFunctionsName":{ + "type":"string", + "max":80, + "min":1 + }, + "MaintenanceWindowStepFunctionsParameters":{ + "type":"structure", + "members":{ + "Input":{ + "shape":"MaintenanceWindowStepFunctionsInput", + "documentation":"

    The inputs for the STEP_FUNCTIONS task.

    " + }, + "Name":{ + "shape":"MaintenanceWindowStepFunctionsName", + "documentation":"

    The name of the STEP_FUNCTIONS task.

    " + } + }, + "documentation":"

    The parameters for a STEP_FUNCTIONS task.

    For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    For Step Functions tasks, Systems Manager ignores any values specified for TaskParameters and LoggingInfo.

    " + }, + "MaintenanceWindowStringDateTime":{"type":"string"}, + "MaintenanceWindowTarget":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window to register the target with.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The ID of the target.

    " + }, + "ResourceType":{ + "shape":"MaintenanceWindowResourceType", + "documentation":"

    The type of target that is being registered with the maintenance window.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets, either instances or tags.

    Specify instances using the following format:

    Key=instanceids,Values=<instanceid1>,<instanceid2>

    Tags are specified using the following format:

    Key=<tag name>,Values=<tag value>.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    A user-provided value that will be included in any CloudWatch events that are raised while running tasks for these targets in this maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name for the maintenance window target.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    A description for the target.

    " + } + }, + "documentation":"

    The target registered with the maintenance window.

    " + }, + "MaintenanceWindowTargetId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" + }, + "MaintenanceWindowTargetList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowTarget"} + }, + "MaintenanceWindowTask":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window where the task is registered.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The task ID.

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The resource that the task uses during execution. For RUN_COMMAND and AUTOMATION task types, TaskArn is the Systems Manager document name or ARN. For LAMBDA tasks, it's the function name or ARN. For STEP_FUNCTIONS tasks, it's the state machine ARN.

    " + }, + "Type":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The type of task. The type can be one of the following: RUN_COMMAND, AUTOMATION, LAMBDA, or STEP_FUNCTIONS.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

    " + }, + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParameters", + "documentation":"

    The parameters that should be passed to the task when it is run.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The priority of the task in the maintenance window. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

    " + }, + "LoggingInfo":{ + "shape":"LoggingInfo", + "documentation":"

    Information about an S3 bucket to write task-level logs to.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets this task can be run for, in parallel.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed before this task stops being scheduled.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The task name.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    A description of the task.

    " + } + }, + "documentation":"

    Information about a task defined for a maintenance window.

    " + }, + "MaintenanceWindowTaskArn":{ + "type":"string", + "max":1600, + "min":1 + }, + "MaintenanceWindowTaskId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}$" + }, + "MaintenanceWindowTaskInvocationParameters":{ + "type":"structure", + "members":{ + "RunCommand":{ + "shape":"MaintenanceWindowRunCommandParameters", + "documentation":"

    The parameters for a RUN_COMMAND task type.

    " + }, + "Automation":{ + "shape":"MaintenanceWindowAutomationParameters", + "documentation":"

    The parameters for an AUTOMATION task type.

    " + }, + "StepFunctions":{ + "shape":"MaintenanceWindowStepFunctionsParameters", + "documentation":"

    The parameters for a STEP_FUNCTIONS task type.

    " + }, + "Lambda":{ + "shape":"MaintenanceWindowLambdaParameters", + "documentation":"

    The parameters for a LAMBDA task type.

    " + } + }, + "documentation":"

    The parameters for task execution.

    " + }, + "MaintenanceWindowTaskList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowTask"} + }, + "MaintenanceWindowTaskParameterName":{ + "type":"string", + "max":255, + "min":1 + }, + "MaintenanceWindowTaskParameterValue":{ + "type":"string", + "max":255, + "min":1, + "sensitive":true + }, + "MaintenanceWindowTaskParameterValueExpression":{ + "type":"structure", + "members":{ + "Values":{ + "shape":"MaintenanceWindowTaskParameterValueList", + "documentation":"

    This field contains an array of 0 or more strings, each 1 to 255 characters in length.

    " + } + }, + "documentation":"

    Defines the values for a task parameter.

    ", + "sensitive":true + }, + "MaintenanceWindowTaskParameterValueList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowTaskParameterValue"}, + "sensitive":true + }, + "MaintenanceWindowTaskParameters":{ + "type":"map", + "key":{"shape":"MaintenanceWindowTaskParameterName"}, + "value":{"shape":"MaintenanceWindowTaskParameterValueExpression"}, + "sensitive":true + }, + "MaintenanceWindowTaskParametersList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowTaskParameters"}, + "sensitive":true + }, + "MaintenanceWindowTaskPriority":{ + "type":"integer", + "min":0 + }, + "MaintenanceWindowTaskTargetId":{ + "type":"string", + "max":36 + }, + "MaintenanceWindowTaskType":{ + "type":"string", + "enum":[ + "RUN_COMMAND", + "AUTOMATION", + "STEP_FUNCTIONS", + "LAMBDA" + ] + }, + "MaintenanceWindowTimezone":{"type":"string"}, + "MaintenanceWindowsForTargetList":{ + "type":"list", + "member":{"shape":"MaintenanceWindowIdentityForTarget"} + }, + "ManagedInstanceId":{ + "type":"string", + "pattern":"^mi-[0-9a-f]{17}$" + }, + "MaxConcurrency":{ + "type":"string", + "max":7, + "min":1, + "pattern":"^([1-9][0-9]*|[1-9][0-9]%|[1-9]%|100%)$" + }, + "MaxDocumentSizeExceeded":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The size limit of a document is 64 KB.

    ", + "exception":true + }, + "MaxErrors":{ + "type":"string", + "max":7, + "min":1, + "pattern":"^([1-9][0-9]*|[0]|[1-9][0-9]%|[0-9]%|100%)$" + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "MaxResultsEC2Compatible":{ + "type":"integer", + "max":50, + "min":5 + }, + "ModifyDocumentPermissionRequest":{ + "type":"structure", + "required":[ + "Name", + "PermissionType" + ], + "members":{ + "Name":{ + "shape":"DocumentName", + "documentation":"

    The name of the document that you want to share.

    " + }, + "PermissionType":{ + "shape":"DocumentPermissionType", + "documentation":"

    The permission type for the document. The permission type can be Share.

    " + }, + "AccountIdsToAdd":{ + "shape":"AccountIdList", + "documentation":"

    The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.

    " + }, + "AccountIdsToRemove":{ + "shape":"AccountIdList", + "documentation":"

    The AWS user accounts that should no longer have access to the document. The AWS user account can either be a group of account IDs or All. This action has a higher priority than AccountIdsToAdd. If you specify an account ID to add and the same ID to remove, the system removes access to the document.

    " + }, + "SharedDocumentVersion":{ + "shape":"SharedDocumentVersion", + "documentation":"

    (Optional) The version of the document to share. If it's not specified, the system choose the Default version to share.

    " + } + } + }, + "ModifyDocumentPermissionResponse":{ + "type":"structure", + "members":{ + } + }, + "NextToken":{"type":"string"}, + "NonCompliantSummary":{ + "type":"structure", + "members":{ + "NonCompliantCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of compliance items that are not compliant.

    " + }, + "SeveritySummary":{ + "shape":"SeveritySummary", + "documentation":"

    A summary of the non-compliance severity by compliance type

    " + } + }, + "documentation":"

    A summary of resources that are not compliant. The summary is organized according to resource type.

    " + }, + "NormalStringMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "NotificationArn":{"type":"string"}, + "NotificationConfig":{ + "type":"structure", + "members":{ + "NotificationArn":{ + "shape":"NotificationArn", + "documentation":"

    An Amazon Resource Name (ARN) for an Amazon Simple Notification Service (Amazon SNS) topic. Run Command pushes notifications about command status changes to this topic.

    " + }, + "NotificationEvents":{ + "shape":"NotificationEventList", + "documentation":"

    The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Monitoring Systems Manager status changes using Amazon SNS notifications in the AWS Systems Manager User Guide.

    " + }, + "NotificationType":{ + "shape":"NotificationType", + "documentation":"

    Command: Receive notification when the status of a command changes. Invocation: For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.

    " + } + }, + "documentation":"

    Configurations for sending notifications.

    " + }, + "NotificationEvent":{ + "type":"string", + "enum":[ + "All", + "InProgress", + "Success", + "TimedOut", + "Cancelled", + "Failed" + ] + }, + "NotificationEventList":{ + "type":"list", + "member":{"shape":"NotificationEvent"} + }, + "NotificationType":{ + "type":"string", + "enum":[ + "Command", + "Invocation" + ] + }, + "OperatingSystem":{ + "type":"string", + "enum":[ + "WINDOWS", + "AMAZON_LINUX", + "AMAZON_LINUX_2", + "UBUNTU", + "REDHAT_ENTERPRISE_LINUX", + "SUSE", + "CENTOS", + "ORACLE_LINUX", + "DEBIAN" + ] + }, + "OpsAggregator":{ + "type":"structure", + "members":{ + "AggregatorType":{ + "shape":"OpsAggregatorType", + "documentation":"

    Either a Range or Count aggregator for limiting an OpsItem summary.

    " + }, + "TypeName":{ + "shape":"OpsDataTypeName", + "documentation":"

    The data type name to use for viewing counts of OpsItems.

    " + }, + "AttributeName":{ + "shape":"OpsDataAttributeName", + "documentation":"

    The name of an OpsItem attribute on which to limit the count of OpsItems.

    " + }, + "Values":{ + "shape":"OpsAggregatorValueMap", + "documentation":"

    The aggregator value.

    " + }, + "Filters":{ + "shape":"OpsFilterList", + "documentation":"

    The aggregator filters.

    " + }, + "Aggregators":{ + "shape":"OpsAggregatorList", + "documentation":"

    A nested aggregator for viewing counts of OpsItems.

    " + } + }, + "documentation":"

    One or more aggregators for viewing counts of OpsItems using different dimensions such as Source, CreatedTime, or Source and CreatedTime, to name a few.

    " + }, + "OpsAggregatorList":{ + "type":"list", + "member":{"shape":"OpsAggregator"}, + "max":12, + "min":1 + }, + "OpsAggregatorType":{ + "type":"string", + "max":20, + "min":1, + "pattern":"^(range|count|sum)" + }, + "OpsAggregatorValue":{ + "type":"string", + "max":2048, + "min":0 + }, + "OpsAggregatorValueKey":{ + "type":"string", + "max":32, + "min":1 + }, + "OpsAggregatorValueMap":{ + "type":"map", + "key":{"shape":"OpsAggregatorValueKey"}, + "value":{"shape":"OpsAggregatorValue"}, + "max":5, + "min":0 + }, + "OpsDataAttributeName":{"type":"string"}, + "OpsDataTypeName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^(AWS|Custom):.*$" + }, + "OpsEntity":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"OpsEntityId", + "documentation":"

    The query ID.

    " + }, + "Data":{ + "shape":"OpsEntityItemMap", + "documentation":"

    The data returned by the query.

    " + } + }, + "documentation":"

    The result of the query.

    " + }, + "OpsEntityId":{"type":"string"}, + "OpsEntityItem":{ + "type":"structure", + "members":{ + "CaptureTime":{ + "shape":"OpsEntityItemCaptureTime", + "documentation":"

    The time OpsItem data was captured.

    " + }, + "Content":{ + "shape":"OpsEntityItemEntryList", + "documentation":"

    The detailed data content for an OpsItem summaries result item.

    " + } + }, + "documentation":"

    The OpsItem summaries result item.

    " + }, + "OpsEntityItemCaptureTime":{ + "type":"string", + "pattern":"^(20)[0-9][0-9]-(0[1-9]|1[012])-([12][0-9]|3[01]|0[1-9])(T)(2[0-3]|[0-1][0-9])(:[0-5][0-9])(:[0-5][0-9])(Z)$" + }, + "OpsEntityItemEntry":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"}, + "max":50, + "min":0 + }, + "OpsEntityItemEntryList":{ + "type":"list", + "member":{"shape":"OpsEntityItemEntry"}, + "max":10000, + "min":0 + }, + "OpsEntityItemKey":{"type":"string"}, + "OpsEntityItemMap":{ + "type":"map", + "key":{"shape":"OpsEntityItemKey"}, + "value":{"shape":"OpsEntityItem"} + }, + "OpsEntityList":{ + "type":"list", + "member":{"shape":"OpsEntity"} + }, + "OpsFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"OpsFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Values":{ + "shape":"OpsFilterValueList", + "documentation":"

    The filter value.

    " + }, + "Type":{ + "shape":"OpsFilterOperatorType", + "documentation":"

    The type of filter.

    " + } + }, + "documentation":"

    A filter for viewing OpsItem summaries.

    " + }, + "OpsFilterKey":{ + "type":"string", + "max":200, + "min":1 + }, + "OpsFilterList":{ + "type":"list", + "member":{"shape":"OpsFilter"}, + "max":5, + "min":1 + }, + "OpsFilterOperatorType":{ + "type":"string", + "enum":[ + "Equal", + "NotEqual", + "BeginWith", + "LessThan", + "GreaterThan", + "Exists" + ] + }, + "OpsFilterValue":{"type":"string"}, + "OpsFilterValueList":{ + "type":"list", + "member":{"shape":"OpsFilterValue"}, + "max":40, + "min":1 + }, + "OpsItem":{ + "type":"structure", + "members":{ + "CreatedBy":{ + "shape":"String", + "documentation":"

    The ARN of the AWS account that created the OpsItem.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the OpsItem was created.

    " + }, + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

    The OpsItem description.

    " + }, + "LastModifiedBy":{ + "shape":"String", + "documentation":"

    The ARN of the AWS account that last updated the OpsItem.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the OpsItem was last updated.

    " + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

    " + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

    The importance of this OpsItem in relation to other OpsItems in the system.

    " + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

    One or more OpsItems that share something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

    " + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

    The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

    " + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

    The ID of the OpsItem.

    " + }, + "Version":{ + "shape":"String", + "documentation":"

    The version of this OpsItem. Each time the OpsItem is edited the version number increments by one.

    " + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

    A short heading that describes the nature of the OpsItem and the impacted resource.

    " + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

    The origin of the OpsItem, such as Amazon EC2 or Systems Manager. The impacted resource is a subset of source.

    " + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

    Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

    Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.

    You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

    Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see Creating OpsItems manually in the AWS Systems Manager User Guide.

    " + }, + "Category":{ + "shape":"OpsItemCategory", + "documentation":"

    An OpsItem category. Category options include: Availability, Cost, Performance, Recovery, Security.

    " + }, + "Severity":{ + "shape":"OpsItemSeverity", + "documentation":"

    The severity of the OpsItem. Severity options range from 1 to 4.

    " + } + }, + "documentation":"

    Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    " + }, + "OpsItemAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "OpsItemId":{"shape":"String"} + }, + "documentation":"

    The OpsItem already exists.

    ", + "exception":true + }, + "OpsItemCategory":{ + "type":"string", + "max":64, + "min":1 + }, + "OpsItemDataKey":{ + "type":"string", + "max":128, + "min":1 + }, + "OpsItemDataType":{ + "type":"string", + "enum":[ + "SearchableString", + "String" + ] + }, + "OpsItemDataValue":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"OpsItemDataValueString", + "documentation":"

    The value of the OperationalData key.

    " + }, + "Type":{ + "shape":"OpsItemDataType", + "documentation":"

    The type of key-value pair. Valid types include SearchableString and String.

    " + } + }, + "documentation":"

    An object that defines the value of the key and its type in the OperationalData map.

    " + }, + "OpsItemDataValueString":{"type":"string"}, + "OpsItemDescription":{ + "type":"string", + "max":1024, + "min":1 + }, + "OpsItemFilter":{ + "type":"structure", + "required":[ + "Key", + "Values", + "Operator" + ], + "members":{ + "Key":{ + "shape":"OpsItemFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Values":{ + "shape":"OpsItemFilterValues", + "documentation":"

    The filter value.

    " + }, + "Operator":{ + "shape":"OpsItemFilterOperator", + "documentation":"

    The operator used by the filter call.

    " + } + }, + "documentation":"

    Describes an OpsItem filter.

    " + }, + "OpsItemFilterKey":{ + "type":"string", + "enum":[ + "Status", + "CreatedBy", + "Source", + "Priority", + "Title", + "OpsItemId", + "CreatedTime", + "LastModifiedTime", + "OperationalData", + "OperationalDataKey", + "OperationalDataValue", + "ResourceId", + "AutomationId", + "Category", + "Severity" + ] + }, + "OpsItemFilterOperator":{ + "type":"string", + "enum":[ + "Equal", + "Contains", + "GreaterThan", + "LessThan" + ] + }, + "OpsItemFilterValue":{"type":"string"}, + "OpsItemFilterValues":{ + "type":"list", + "member":{"shape":"OpsItemFilterValue"} + }, + "OpsItemFilters":{ + "type":"list", + "member":{"shape":"OpsItemFilter"} + }, + "OpsItemId":{ + "type":"string", + "pattern":"^(oi)-[0-9a-f]{12}$" + }, + "OpsItemInvalidParameterException":{ + "type":"structure", + "members":{ + "ParameterNames":{"shape":"OpsItemParameterNamesList"}, + "Message":{"shape":"String"} + }, + "documentation":"

    A specified parameter argument isn't valid. Verify the available arguments and try again.

    ", + "exception":true + }, + "OpsItemLimitExceededException":{ + "type":"structure", + "members":{ + "ResourceTypes":{"shape":"OpsItemParameterNamesList"}, + "Limit":{"shape":"Integer"}, + "LimitType":{"shape":"String"}, + "Message":{"shape":"String"} + }, + "documentation":"

    The request caused OpsItems to exceed one or more quotas. For information about OpsItem quotas, see What are the resource limits for OpsCenter?.

    ", + "exception":true + }, + "OpsItemMaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "OpsItemNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified OpsItem ID doesn't exist. Verify the ID and try again.

    ", + "exception":true + }, + "OpsItemNotification":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

    " + } + }, + "documentation":"

    A notification about the OpsItem.

    " + }, + "OpsItemNotifications":{ + "type":"list", + "member":{"shape":"OpsItemNotification"} + }, + "OpsItemOperationalData":{ + "type":"map", + "key":{"shape":"OpsItemDataKey"}, + "value":{"shape":"OpsItemDataValue"} + }, + "OpsItemOpsDataKeysList":{ + "type":"list", + "member":{"shape":"String"} + }, + "OpsItemParameterNamesList":{ + "type":"list", + "member":{"shape":"String"} + }, + "OpsItemPriority":{ + "type":"integer", + "max":5, + "min":1 + }, + "OpsItemSeverity":{ + "type":"string", + "max":64, + "min":1 + }, + "OpsItemSource":{ + "type":"string", + "max":64, + "min":1 + }, + "OpsItemStatus":{ + "type":"string", + "enum":[ + "Open", + "InProgress", + "Resolved" + ] + }, + "OpsItemSummaries":{ + "type":"list", + "member":{"shape":"OpsItemSummary"} + }, + "OpsItemSummary":{ + "type":"structure", + "members":{ + "CreatedBy":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the OpsItem was created.

    " + }, + "LastModifiedBy":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the OpsItem was last updated.

    " + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

    The importance of this OpsItem in relation to other OpsItems in the system.

    " + }, + "Source":{ + "shape":"OpsItemSource", + "documentation":"

    The impacted AWS resource.

    " + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

    The OpsItem status. Status can be Open, In Progress, or Resolved.

    " + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

    The ID of the OpsItem.

    " + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

    A short heading that describes the nature of the OpsItem and the impacted resource.

    " + }, + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

    Operational data is custom data that provides useful reference details about the OpsItem.

    " + }, + "Category":{ + "shape":"OpsItemCategory", + "documentation":"

    A list of OpsItems by category.

    " + }, + "Severity":{ + "shape":"OpsItemSeverity", + "documentation":"

    A list of OpsItems by severity.

    " + } + }, + "documentation":"

    A count of OpsItems.

    " + }, + "OpsItemTitle":{ + "type":"string", + "max":1024, + "min":1 + }, + "OpsResultAttribute":{ + "type":"structure", + "required":["TypeName"], + "members":{ + "TypeName":{ + "shape":"OpsDataTypeName", + "documentation":"

    Name of the data type. Valid value: AWS:OpsItem, AWS:EC2InstanceInformation, AWS:OpsItemTrendline, or AWS:ComplianceSummary.

    " + } + }, + "documentation":"

    The OpsItem data type to return.

    " + }, + "OpsResultAttributeList":{ + "type":"list", + "member":{"shape":"OpsResultAttribute"}, + "min":1 + }, + "OutputSource":{ + "type":"structure", + "members":{ + "OutputSourceId":{ + "shape":"OutputSourceId", + "documentation":"

    The ID of the output source, for example the URL of an S3 bucket.

    " + }, + "OutputSourceType":{ + "shape":"OutputSourceType", + "documentation":"

    The type of source where the association execution details are stored, for example, Amazon S3.

    " + } + }, + "documentation":"

    Information about the source where the association execution details are stored.

    " + }, + "OutputSourceId":{ + "type":"string", + "max":36, + "min":36 + }, + "OutputSourceType":{"type":"string"}, + "OwnerInformation":{ + "type":"string", + "max":128, + "min":1, + "sensitive":true + }, + "PSParameterName":{ + "type":"string", + "max":2048, + "min":1 + }, + "PSParameterSelector":{ + "type":"string", + "max":128, + "min":0 + }, + "PSParameterValue":{"type":"string"}, + "PSParameterVersion":{"type":"long"}, + "Parameter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The name of the parameter.

    " + }, + "Type":{ + "shape":"ParameterType", + "documentation":"

    The type of parameter. Valid values include the following: String, StringList, and SecureString.

    " + }, + "Value":{ + "shape":"PSParameterValue", + "documentation":"

    The parameter value.

    " + }, + "Version":{ + "shape":"PSParameterVersion", + "documentation":"

    The parameter version.

    " + }, + "Selector":{ + "shape":"PSParameterSelector", + "documentation":"

    Either the version number or the label used to retrieve the parameter value. Specify selectors by using one of the following formats:

    parameter_name:version

    parameter_name:label

    " + }, + "SourceResult":{ + "shape":"String", + "documentation":"

    Applies to parameters that reference information in other AWS services. SourceResult is the raw result or response from the source.

    " + }, + "LastModifiedDate":{ + "shape":"DateTime", + "documentation":"

    Date the parameter was last changed or updated and the parameter version was created.

    " + }, + "ARN":{ + "shape":"String", + "documentation":"

    The Amazon Resource Name (ARN) of the parameter.

    " + }, + "DataType":{ + "shape":"ParameterDataType", + "documentation":"

    The data type of the parameter, such as text or aws:ec2:image. The default is text.

    " + } + }, + "documentation":"

    An Systems Manager parameter in Parameter Store.

    " + }, + "ParameterAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The parameter already exists. You can't create duplicate parameters.

    ", + "exception":true + }, + "ParameterDataType":{ + "type":"string", + "max":128, + "min":0 + }, + "ParameterDescription":{ + "type":"string", + "max":1024, + "min":0 + }, + "ParameterHistory":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The name of the parameter.

    " + }, + "Type":{ + "shape":"ParameterType", + "documentation":"

    The type of parameter used.

    " + }, + "KeyId":{ + "shape":"ParameterKeyId", + "documentation":"

    The ID of the query key used for this parameter.

    " + }, + "LastModifiedDate":{ + "shape":"DateTime", + "documentation":"

    Date the parameter was last changed or updated.

    " + }, + "LastModifiedUser":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

    " + }, + "Description":{ + "shape":"ParameterDescription", + "documentation":"

    Information about the parameter.

    " + }, + "Value":{ + "shape":"PSParameterValue", + "documentation":"

    The parameter value.

    " + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

    Parameter names can include the following letters and symbols.

    a-zA-Z0-9_.-

    " + }, + "Version":{ + "shape":"PSParameterVersion", + "documentation":"

    The parameter version.

    " + }, + "Labels":{ + "shape":"ParameterLabelList", + "documentation":"

    Labels assigned to the parameter version.

    " + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

    The parameter tier.

    " + }, + "Policies":{ + "shape":"ParameterPolicyList", + "documentation":"

    Information about the policies assigned to a parameter.

    Assigning parameter policies in the AWS Systems Manager User Guide.

    " + }, + "DataType":{ + "shape":"ParameterDataType", + "documentation":"

    The data type of the parameter, such as text or aws:ec2:image. The default is text.

    " + } + }, + "documentation":"

    Information about parameter usage.

    " + }, + "ParameterHistoryList":{ + "type":"list", + "member":{"shape":"ParameterHistory"} + }, + "ParameterInlinePolicy":{ + "type":"structure", + "members":{ + "PolicyText":{ + "shape":"String", + "documentation":"

    The JSON text of the policy.

    " + }, + "PolicyType":{ + "shape":"String", + "documentation":"

    The type of policy. Parameter Store supports the following policy types: Expiration, ExpirationNotification, and NoChangeNotification.

    " + }, + "PolicyStatus":{ + "shape":"String", + "documentation":"

    The status of the policy. Policies report the following statuses: Pending (the policy has not been enforced or applied yet), Finished (the policy was applied), Failed (the policy was not applied), or InProgress (the policy is being applied now).

    " + } + }, + "documentation":"

    One or more policies assigned to a parameter.

    " + }, + "ParameterKeyId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([a-zA-Z0-9:/_-]+)$" + }, + "ParameterLabel":{ + "type":"string", + "max":100, + "min":1 + }, + "ParameterLabelList":{ + "type":"list", + "member":{"shape":"ParameterLabel"}, + "max":10, + "min":1 + }, + "ParameterLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    You have exceeded the number of parameters for this AWS account. Delete one or more parameters and try again.

    ", + "exception":true + }, + "ParameterList":{ + "type":"list", + "member":{"shape":"Parameter"} + }, + "ParameterMaxVersionLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The parameter exceeded the maximum number of allowed versions.

    ", + "exception":true + }, + "ParameterMetadata":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The parameter name.

    " + }, + "Type":{ + "shape":"ParameterType", + "documentation":"

    The type of parameter. Valid parameter types include the following: String, StringList, and SecureString.

    " + }, + "KeyId":{ + "shape":"ParameterKeyId", + "documentation":"

    The ID of the query key used for this parameter.

    " + }, + "LastModifiedDate":{ + "shape":"DateTime", + "documentation":"

    Date the parameter was last changed or updated.

    " + }, + "LastModifiedUser":{ + "shape":"String", + "documentation":"

    Amazon Resource Name (ARN) of the AWS user who last changed the parameter.

    " + }, + "Description":{ + "shape":"ParameterDescription", + "documentation":"

    Description of the parameter actions.

    " + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

    A parameter name can include only the following letters and symbols.

    a-zA-Z0-9_.-

    " + }, + "Version":{ + "shape":"PSParameterVersion", + "documentation":"

    The parameter version.

    " + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

    The parameter tier.

    " + }, + "Policies":{ + "shape":"ParameterPolicyList", + "documentation":"

    A list of policies associated with a parameter.

    " + }, + "DataType":{ + "shape":"ParameterDataType", + "documentation":"

    The data type of the parameter, such as text or aws:ec2:image. The default is text.

    " + } + }, + "documentation":"

    Metadata includes information like the ARN of the last user and the date/time the parameter was last used.

    " + }, + "ParameterMetadataList":{ + "type":"list", + "member":{"shape":"ParameterMetadata"} + }, + "ParameterName":{"type":"string"}, + "ParameterNameList":{ + "type":"list", + "member":{"shape":"PSParameterName"}, + "max":10, + "min":1 + }, + "ParameterNotFound":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The parameter could not be found. Verify the name and try again.

    ", + "exception":true + }, + "ParameterPatternMismatchException":{ + "type":"structure", + "members":{ + "message":{ + "shape":"String", + "documentation":"

    The parameter name is not valid.

    " + } + }, + "documentation":"

    The parameter name is not valid.

    ", + "exception":true + }, + "ParameterPolicies":{ + "type":"string", + "max":4096, + "min":1 + }, + "ParameterPolicyList":{ + "type":"list", + "member":{"shape":"ParameterInlinePolicy"} + }, + "ParameterStringFilter":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"ParameterStringFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Option":{ + "shape":"ParameterStringQueryOption", + "documentation":"

    For all filters used with DescribeParameters, valid options include Equals and BeginsWith. The Name filter additionally supports the Contains option. (Exception: For filters using the key Path, valid options include Recursive and OneLevel.)

    For filters used with GetParametersByPath, valid options include Equals and BeginsWith. (Exception: For filters using the key Label, the only valid option is Equals.)

    " + }, + "Values":{ + "shape":"ParameterStringFilterValueList", + "documentation":"

    The value you want to search for.

    " + } + }, + "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    The ParameterStringFilter object is used by the DescribeParameters and GetParametersByPath API actions. However, not all of the pattern values listed for Key can be used with both actions.

    For DescribeActions, all of the listed patterns are valid, with the exception of Label.

    For GetParametersByPath, the following patterns listed for Key are not valid: Name, Path, and Tier.

    For examples of CLI commands demonstrating valid parameter filter constructions, see Searching for Systems Manager parameters in the AWS Systems Manager User Guide.

    " + }, + "ParameterStringFilterKey":{ + "type":"string", + "max":132, + "min":1, + "pattern":"tag:.+|Name|Type|KeyId|Path|Label|Tier|DataType" + }, + "ParameterStringFilterList":{ + "type":"list", + "member":{"shape":"ParameterStringFilter"} + }, + "ParameterStringFilterValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "ParameterStringFilterValueList":{ + "type":"list", + "member":{"shape":"ParameterStringFilterValue"}, + "max":50, + "min":1 + }, + "ParameterStringQueryOption":{ + "type":"string", + "max":10, + "min":1 + }, + "ParameterTier":{ + "type":"string", + "enum":[ + "Standard", + "Advanced", + "Intelligent-Tiering" + ] + }, + "ParameterType":{ + "type":"string", + "enum":[ + "String", + "StringList", + "SecureString" + ] + }, + "ParameterValue":{"type":"string"}, + "ParameterValueList":{ + "type":"list", + "member":{"shape":"ParameterValue"} + }, + "ParameterVersionLabelLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    A parameter version can have a maximum of ten labels.

    ", + "exception":true + }, + "ParameterVersionNotFound":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified parameter version was not found. Verify the parameter name and version, and try again.

    ", + "exception":true + }, + "Parameters":{ + "type":"map", + "key":{"shape":"ParameterName"}, + "value":{"shape":"ParameterValueList"} + }, + "ParametersFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"ParametersFilterKey", + "documentation":"

    The name of the filter.

    " + }, + "Values":{ + "shape":"ParametersFilterValueList", + "documentation":"

    The filter values.

    " + } + }, + "documentation":"

    This data type is deprecated. Instead, use ParameterStringFilter.

    " + }, + "ParametersFilterKey":{ + "type":"string", + "enum":[ + "Name", + "Type", + "KeyId" + ] + }, + "ParametersFilterList":{ + "type":"list", + "member":{"shape":"ParametersFilter"} + }, + "ParametersFilterValue":{ + "type":"string", + "max":1024, + "min":1 + }, + "ParametersFilterValueList":{ + "type":"list", + "member":{"shape":"ParametersFilterValue"}, + "max":50, + "min":1 + }, + "Patch":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"PatchId", + "documentation":"

    The ID of the patch (this is different than the Microsoft Knowledge Base ID).

    " + }, + "ReleaseDate":{ + "shape":"DateTime", + "documentation":"

    The date the patch was released.

    " + }, + "Title":{ + "shape":"PatchTitle", + "documentation":"

    The title of the patch.

    " + }, + "Description":{ + "shape":"PatchDescription", + "documentation":"

    The description of the patch.

    " + }, + "ContentUrl":{ + "shape":"PatchContentUrl", + "documentation":"

    The URL where more information can be obtained about the patch.

    " + }, + "Vendor":{ + "shape":"PatchVendor", + "documentation":"

    The name of the vendor providing the patch.

    " + }, + "ProductFamily":{ + "shape":"PatchProductFamily", + "documentation":"

    The product family the patch is applicable for (for example, Windows).

    " + }, + "Product":{ + "shape":"PatchProduct", + "documentation":"

    The specific product the patch is applicable for (for example, WindowsServer2016).

    " + }, + "Classification":{ + "shape":"PatchClassification", + "documentation":"

    The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

    " + }, + "MsrcSeverity":{ + "shape":"PatchMsrcSeverity", + "documentation":"

    The severity of the patch (for example Critical, Important, Moderate).

    " + }, + "KbNumber":{ + "shape":"PatchKbNumber", + "documentation":"

    The Microsoft Knowledge Base ID of the patch.

    " + }, + "MsrcNumber":{ + "shape":"PatchMsrcNumber", + "documentation":"

    The ID of the MSRC bulletin the patch is related to.

    " + }, + "Language":{ + "shape":"PatchLanguage", + "documentation":"

    The language of the patch if it's language-specific.

    " + } + }, + "documentation":"

    Represents metadata about a patch.

    " + }, + "PatchAction":{ + "type":"string", + "enum":[ + "ALLOW_AS_DEPENDENCY", + "BLOCK" + ] + }, + "PatchBaselineIdentity":{ + "type":"structure", + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline.

    " + }, + "BaselineName":{ + "shape":"BaselineName", + "documentation":"

    The name of the patch baseline.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    Defines the operating system the patch baseline applies to. The Default value is WINDOWS.

    " + }, + "BaselineDescription":{ + "shape":"BaselineDescription", + "documentation":"

    The description of the patch baseline.

    " + }, + "DefaultBaseline":{ + "shape":"DefaultBaseline", + "documentation":"

    Whether this is the default baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

    " + } + }, + "documentation":"

    Defines the basic information about a patch baseline.

    " + }, + "PatchBaselineIdentityList":{ + "type":"list", + "member":{"shape":"PatchBaselineIdentity"} + }, + "PatchBaselineMaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "PatchClassification":{"type":"string"}, + "PatchComplianceData":{ + "type":"structure", + "required":[ + "Title", + "KBId", + "Classification", + "Severity", + "State", + "InstalledTime" + ], + "members":{ + "Title":{ + "shape":"PatchTitle", + "documentation":"

    The title of the patch.

    " + }, + "KBId":{ + "shape":"PatchKbNumber", + "documentation":"

    The operating system-specific ID of the patch.

    " + }, + "Classification":{ + "shape":"PatchClassification", + "documentation":"

    The classification of the patch (for example, SecurityUpdates, Updates, CriticalUpdates).

    " + }, + "Severity":{ + "shape":"PatchSeverity", + "documentation":"

    The severity of the patch (for example, Critical, Important, Moderate).

    " + }, + "State":{ + "shape":"PatchComplianceDataState", + "documentation":"

    The state of the patch on the instance, such as INSTALLED or FAILED.

    For descriptions of each patch state, see About patch compliance in the AWS Systems Manager User Guide.

    " + }, + "InstalledTime":{ + "shape":"DateTime", + "documentation":"

    The date/time the patch was installed on the instance. Note that not all operating systems provide this level of information.

    " + } + }, + "documentation":"

    Information about the state of a patch on a particular instance as it relates to the patch baseline used to patch the instance.

    " + }, + "PatchComplianceDataList":{ + "type":"list", + "member":{"shape":"PatchComplianceData"} + }, + "PatchComplianceDataState":{ + "type":"string", + "enum":[ + "INSTALLED", + "INSTALLED_OTHER", + "INSTALLED_PENDING_REBOOT", + "INSTALLED_REJECTED", + "MISSING", + "NOT_APPLICABLE", + "FAILED" + ] + }, + "PatchComplianceLevel":{ + "type":"string", + "enum":[ + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW", + "INFORMATIONAL", + "UNSPECIFIED" + ] + }, + "PatchComplianceMaxResults":{ + "type":"integer", + "max":100, + "min":10 + }, + "PatchContentUrl":{"type":"string"}, + "PatchDeploymentStatus":{ + "type":"string", + "enum":[ + "APPROVED", + "PENDING_APPROVAL", + "EXPLICIT_APPROVED", + "EXPLICIT_REJECTED" + ] + }, + "PatchDescription":{"type":"string"}, + "PatchFailedCount":{"type":"integer"}, + "PatchFilter":{ + "type":"structure", + "required":[ + "Key", + "Values" + ], + "members":{ + "Key":{ + "shape":"PatchFilterKey", + "documentation":"

    The key for the filter.

    Run the DescribePatchProperties command to view lists of valid keys for each operating system type.

    " + }, + "Values":{ + "shape":"PatchFilterValueList", + "documentation":"

    The value for the filter key.

    Run the DescribePatchProperties command to view lists of valid values for each key based on operating system type.

    " + } + }, + "documentation":"

    Defines which patches should be included in a patch baseline.

    A patch filter consists of a key and a set of values. The filter key is a patch property. For example, the available filter keys for WINDOWS are PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, and MSRC_SEVERITY. The filter values define a matching criterion for the patch property indicated by the key. For example, if the filter key is PRODUCT and the filter values are [\"Office 2013\", \"Office 2016\"], then the filter accepts all patches where product name is either \"Office 2013\" or \"Office 2016\". The filter values can be exact values for the patch property given as a key, or a wildcard (*), which matches all values.

    You can view lists of valid values for the patch properties by running the DescribePatchProperties command. For information about which patch properties can be used with each major operating system, see DescribePatchProperties.

    " + }, + "PatchFilterGroup":{ + "type":"structure", + "required":["PatchFilters"], + "members":{ + "PatchFilters":{ + "shape":"PatchFilterList", + "documentation":"

    The set of patch filters that make up the group.

    " + } + }, + "documentation":"

    A set of patch filters, typically used for approval rules.

    " + }, + "PatchFilterKey":{ + "type":"string", + "enum":[ + "PATCH_SET", + "PRODUCT", + "PRODUCT_FAMILY", + "CLASSIFICATION", + "MSRC_SEVERITY", + "PATCH_ID", + "SECTION", + "PRIORITY", + "SEVERITY" + ] + }, + "PatchFilterList":{ + "type":"list", + "member":{"shape":"PatchFilter"}, + "max":4, + "min":0 + }, + "PatchFilterValue":{ + "type":"string", + "max":64, + "min":1 + }, + "PatchFilterValueList":{ + "type":"list", + "member":{"shape":"PatchFilterValue"}, + "max":20, + "min":1 + }, + "PatchGroup":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "PatchGroupList":{ + "type":"list", + "member":{"shape":"PatchGroup"} + }, + "PatchGroupPatchBaselineMapping":{ + "type":"structure", + "members":{ + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group registered with the patch baseline.

    " + }, + "BaselineIdentity":{ + "shape":"PatchBaselineIdentity", + "documentation":"

    The patch baseline the patch group is registered with.

    " + } + }, + "documentation":"

    The mapping between a patch group and the patch baseline the patch group is registered with.

    " + }, + "PatchGroupPatchBaselineMappingList":{ + "type":"list", + "member":{"shape":"PatchGroupPatchBaselineMapping"} + }, + "PatchId":{ + "type":"string", + "max":100, + "min":1 + }, + "PatchIdList":{ + "type":"list", + "member":{"shape":"PatchId"}, + "max":50, + "min":0 + }, + "PatchInstalledCount":{"type":"integer"}, + "PatchInstalledOtherCount":{"type":"integer"}, + "PatchInstalledPendingRebootCount":{"type":"integer"}, + "PatchInstalledRejectedCount":{"type":"integer"}, + "PatchKbNumber":{"type":"string"}, + "PatchLanguage":{"type":"string"}, + "PatchList":{ + "type":"list", + "member":{"shape":"Patch"} + }, + "PatchMissingCount":{"type":"integer"}, + "PatchMsrcNumber":{"type":"string"}, + "PatchMsrcSeverity":{"type":"string"}, + "PatchNotApplicableCount":{"type":"integer"}, + "PatchOperationType":{ + "type":"string", + "enum":[ + "Scan", + "Install" + ] + }, + "PatchOrchestratorFilter":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"PatchOrchestratorFilterKey", + "documentation":"

    The key for the filter.

    " + }, + "Values":{ + "shape":"PatchOrchestratorFilterValues", + "documentation":"

    The value for the filter.

    " + } + }, + "documentation":"

    Defines a filter used in Patch Manager APIs.

    " + }, + "PatchOrchestratorFilterKey":{ + "type":"string", + "max":128, + "min":1 + }, + "PatchOrchestratorFilterList":{ + "type":"list", + "member":{"shape":"PatchOrchestratorFilter"}, + "max":5, + "min":0 + }, + "PatchOrchestratorFilterValue":{ "type":"string", - "pattern":"(?i)all|[0-9]{12}" + "max":256, + "min":1 }, - "AccountIdList":{ + "PatchOrchestratorFilterValues":{ "type":"list", - "member":{ - "shape":"AccountId", - "locationName":"AccountId" - }, - "max":20 + "member":{"shape":"PatchOrchestratorFilterValue"} }, - "Activation":{ + "PatchProduct":{"type":"string"}, + "PatchProductFamily":{"type":"string"}, + "PatchPropertiesList":{ + "type":"list", + "member":{"shape":"PatchPropertyEntry"} + }, + "PatchProperty":{ + "type":"string", + "enum":[ + "PRODUCT", + "PRODUCT_FAMILY", + "CLASSIFICATION", + "MSRC_SEVERITY", + "PRIORITY", + "SEVERITY" + ] + }, + "PatchPropertyEntry":{ + "type":"map", + "key":{"shape":"AttributeName"}, + "value":{"shape":"AttributeValue"} + }, + "PatchRule":{ "type":"structure", + "required":["PatchFilterGroup"], "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

    The ID created by SSM when you submitted the activation.

    " + "PatchFilterGroup":{ + "shape":"PatchFilterGroup", + "documentation":"

    The patch filter group that defines the criteria for the rule.

    " }, - "Description":{ - "shape":"ActivationDescription", - "documentation":"

    A user defined description of the activation.

    " + "ComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    A compliance severity level for all approved patches in a patch baseline.

    " }, - "DefaultInstanceName":{ - "shape":"DefaultInstanceName", - "documentation":"

    A name for the managed instance when it is created.

    " + "ApproveAfterDays":{ + "shape":"ApproveAfterDays", + "documentation":"

    The number of days after the release date of each patch matched by the rule that the patch is marked as approved in the patch baseline. For example, a value of 7 means that patches are approved seven days after they are released. Not supported on Ubuntu Server.

    ", + "box":true }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

    The Amazon Identity and Access Management (IAM) role to assign to the managed instance.

    " + "ApproveUntilDate":{ + "shape":"PatchStringDateTime", + "documentation":"

    The cutoff date for auto approval of released patches. Any patches released on or before this date are installed automatically. Not supported on Ubuntu Server.

    Enter dates in the format YYYY-MM-DD. For example, 2020-12-31.

    ", + "box":true }, - "RegistrationLimit":{ - "shape":"RegistrationLimit", - "documentation":"

    The maximum number of managed instances that can be registered using this activation.

    " + "EnableNonSecurity":{ + "shape":"Boolean", + "documentation":"

    For instances identified by the approval rule filters, enables a patch baseline to apply non-security updates available in the specified repository. The default value is 'false'. Applies to Linux instances only.

    ", + "box":true + } + }, + "documentation":"

    Defines an approval rule for a patch baseline.

    " + }, + "PatchRuleGroup":{ + "type":"structure", + "required":["PatchRules"], + "members":{ + "PatchRules":{ + "shape":"PatchRuleList", + "documentation":"

    The rules that make up the rule group.

    " + } + }, + "documentation":"

    A set of rules defining the approval rules for a patch baseline.

    " + }, + "PatchRuleList":{ + "type":"list", + "member":{"shape":"PatchRule"}, + "max":10, + "min":0 + }, + "PatchSet":{ + "type":"string", + "enum":[ + "OS", + "APPLICATION" + ] + }, + "PatchSeverity":{"type":"string"}, + "PatchSource":{ + "type":"structure", + "required":[ + "Name", + "Products", + "Configuration" + ], + "members":{ + "Name":{ + "shape":"PatchSourceName", + "documentation":"

    The name specified to identify the patch source.

    " }, - "RegistrationsCount":{ - "shape":"RegistrationsCount", - "documentation":"

    The number of managed instances already registered with this activation.

    " + "Products":{ + "shape":"PatchSourceProductList", + "documentation":"

    The specific operating system versions a patch repository applies to, such as \"Ubuntu16.04\", \"AmazonLinux2016.09\", \"RedhatEnterpriseLinux7.2\" or \"Suse12.7\". For lists of supported product values, see PatchFilter.

    " }, - "ExpirationDate":{ - "shape":"ExpirationDate", - "documentation":"

    The date when this activation can no longer be used to register managed instances.

    " + "Configuration":{ + "shape":"PatchSourceConfiguration", + "documentation":"

    The value of the yum repo configuration. For example:

    [main]

    cachedir=/var/cache/yum/$basesearch$releasever

    keepcache=0

    debuglevel=2

    " + } + }, + "documentation":"

    Information about the patches to use to update the instances, including target operating systems and source repository. Applies to Linux instances only.

    " + }, + "PatchSourceConfiguration":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "PatchSourceList":{ + "type":"list", + "member":{"shape":"PatchSource"}, + "max":20, + "min":0 + }, + "PatchSourceName":{ + "type":"string", + "pattern":"^[a-zA-Z0-9_\\-.]{3,50}$" + }, + "PatchSourceProduct":{ + "type":"string", + "max":128, + "min":1 + }, + "PatchSourceProductList":{ + "type":"list", + "member":{"shape":"PatchSourceProduct"}, + "max":20, + "min":1 + }, + "PatchStatus":{ + "type":"structure", + "members":{ + "DeploymentStatus":{ + "shape":"PatchDeploymentStatus", + "documentation":"

    The approval status of a patch (APPROVED, PENDING_APPROVAL, EXPLICIT_APPROVED, EXPLICIT_REJECTED).

    " }, - "Expired":{ - "shape":"Boolean", - "documentation":"

    Whether or not the activation is expired.

    " + "ComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    The compliance severity level for a patch.

    " }, - "CreatedDate":{ - "shape":"CreatedDate", - "documentation":"

    The date the activation was created.

    " + "ApprovalDate":{ + "shape":"DateTime", + "documentation":"

    The date the patch was approved (or will be approved if the status is PENDING_APPROVAL).

    " } }, - "documentation":"

    An activation registers one or more on-premises servers or virtual machines (VMs) with AWS so that you can configure those servers or VMs using Run Command. A server or VM that has been registered with AWS is called a managed instance.

    " + "documentation":"

    Information about the approval status of a patch.

    " }, - "ActivationCode":{ + "PatchStringDateTime":{ "type":"string", - "max":250, - "min":20 + "max":10, + "min":1 }, - "ActivationDescription":{ + "PatchTitle":{"type":"string"}, + "PatchUnreportedNotApplicableCount":{"type":"integer"}, + "PatchVendor":{"type":"string"}, + "PingStatus":{ "type":"string", - "max":256, - "min":0 + "enum":[ + "Online", + "ConnectionLost", + "Inactive" + ] }, - "ActivationId":{ + "PlatformType":{ "type":"string", - "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + "enum":[ + "Windows", + "Linux" + ] }, - "ActivationList":{ + "PlatformTypeList":{ "type":"list", - "member":{"shape":"Activation"} + "member":{"shape":"PlatformType"} }, - "AddTagsToResourceRequest":{ + "PoliciesLimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    You specified more than the maximum number of allowed policies for the parameter. The maximum is 10.

    ", + "exception":true + }, + "Product":{"type":"string"}, + "ProgressCounters":{ + "type":"structure", + "members":{ + "TotalSteps":{ + "shape":"Integer", + "documentation":"

    The total number of steps run in all specified AWS Regions and accounts for the current Automation execution.

    " + }, + "SuccessSteps":{ + "shape":"Integer", + "documentation":"

    The total number of steps that successfully completed in all specified AWS Regions and accounts for the current Automation execution.

    " + }, + "FailedSteps":{ + "shape":"Integer", + "documentation":"

    The total number of steps that failed to run in all specified AWS Regions and accounts for the current Automation execution.

    " + }, + "CancelledSteps":{ + "shape":"Integer", + "documentation":"

    The total number of steps that the system cancelled in all specified AWS Regions and accounts for the current Automation execution.

    " + }, + "TimedOutSteps":{ + "shape":"Integer", + "documentation":"

    The total number of steps that timed out in all specified AWS Regions and accounts for the current Automation execution.

    " + } + }, + "documentation":"

    An aggregate of step execution statuses displayed in the AWS Console for a multi-Region and multi-account Automation execution.

    " + }, + "PutComplianceItemsRequest":{ "type":"structure", "required":[ - "ResourceType", "ResourceId", - "Tags" + "ResourceType", + "ComplianceType", + "ExecutionSummary", + "Items" ], "members":{ + "ResourceId":{ + "shape":"ComplianceResourceId", + "documentation":"

    Specify an ID for this resource. For a managed instance, this is the instance ID.

    " + }, "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

    Specifies the type of resource you are tagging.

    " + "shape":"ComplianceResourceType", + "documentation":"

    Specify the type of resource. ManagedInstance is currently the only supported resource type.

    " }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

    The resource ID you want to tag.

    " + "ComplianceType":{ + "shape":"ComplianceTypeName", + "documentation":"

    Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:string.

    " + }, + "ExecutionSummary":{ + "shape":"ComplianceExecutionSummary", + "documentation":"

    A summary of the call execution that includes an execution ID, the type of execution (for example, Command), and the date/time of the execution using a datetime object that is saved in the following format: yyyy-MM-dd'T'HH:mm:ss'Z'.

    " + }, + "Items":{ + "shape":"ComplianceItemEntryList", + "documentation":"

    Information about the compliance as defined by the resource type. For example, for a patch compliance type, Items includes information about the PatchSeverity, Classification, and so on.

    " + }, + "ItemContentHash":{ + "shape":"ComplianceItemContentHash", + "documentation":"

    MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored.

    " + }, + "UploadType":{ + "shape":"ComplianceUploadType", + "documentation":"

    The mode for uploading compliance items. You can specify COMPLETE or PARTIAL. In COMPLETE mode, the system overwrites all existing compliance information for the resource. You must provide a full list of compliance items each time you send the request.

    In PARTIAL mode, the system overwrites compliance information for a specific association. The association must be configured with SyncCompliance set to MANUAL. By default, all requests use COMPLETE mode.

    This attribute is only valid for association compliance.

    ", + "box":true + } + } + }, + "PutComplianceItemsResult":{ + "type":"structure", + "members":{ + } + }, + "PutInventoryMessage":{"type":"string"}, + "PutInventoryRequest":{ + "type":"structure", + "required":[ + "InstanceId", + "Items" + ], + "members":{ + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    An instance ID where you want to add or update inventory items.

    " + }, + "Items":{ + "shape":"InventoryItemList", + "documentation":"

    The inventory items that you want to add or update on instances.

    " + } + } + }, + "PutInventoryResult":{ + "type":"structure", + "members":{ + "Message":{ + "shape":"PutInventoryMessage", + "documentation":"

    Information about the request.

    " + } + } + }, + "PutParameterRequest":{ + "type":"structure", + "required":[ + "Name", + "Value" + ], + "members":{ + "Name":{ + "shape":"PSParameterName", + "documentation":"

    The fully qualified name of the parameter that you want to add to the system. The fully qualified name includes the complete hierarchy of the parameter path and name. For parameters in a hierarchy, you must include a leading forward slash character (/) when you create or reference a parameter. For example: /Dev/DBServer/MySQL/db-string13

    Naming Constraints:

    • Parameter names are case sensitive.

    • A parameter name must be unique within an AWS Region

    • A parameter name can't be prefixed with \"aws\" or \"ssm\" (case-insensitive).

    • Parameter names can include only the following symbols and letters: a-zA-Z0-9_.-/

    • A parameter name can't include spaces.

    • Parameter hierarchies are limited to a maximum depth of fifteen levels.

    For additional information about valid values for parameter names, see About requirements and constraints for parameter names in the AWS Systems Manager User Guide.

    The maximum length constraint listed below includes capacity for additional system attributes that are not part of the name. The maximum length for a parameter name, including the full length of the parameter ARN, is 1011 characters. For example, the length of the following parameter name is 65 characters, not 20 characters:

    arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName

    " + }, + "Description":{ + "shape":"ParameterDescription", + "documentation":"

    Information about the parameter that you want to add to the system. Optional but recommended.

    Do not enter personally identifiable information in this field.

    " + }, + "Value":{ + "shape":"PSParameterValue", + "documentation":"

    The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

    " + }, + "Type":{ + "shape":"ParameterType", + "documentation":"

    The type of parameter that you want to add to the system.

    Items in a StringList must be separated by a comma (,). You can't use other punctuation or special character to escape items in the list. If you have a parameter value that requires a comma, then use the String data type.

    SecureString is not currently supported for AWS CloudFormation templates or in the China Regions.

    " + }, + "KeyId":{ + "shape":"ParameterKeyId", + "documentation":"

    The KMS Key ID that you want to use to encrypt a parameter. Either the default AWS Key Management Service (AWS KMS) key automatically assigned to your AWS account or a custom key. Required for parameters that use the SecureString data type.

    If you don't specify a key ID, the system uses the default key associated with your AWS account.

    • To use your default AWS KMS key, choose the SecureString data type, and do not specify the Key ID when you create the parameter. The system automatically populates Key ID with your default KMS key.

    • To use a custom KMS key, choose the SecureString data type with the Key ID parameter.

    " + }, + "Overwrite":{ + "shape":"Boolean", + "documentation":"

    Overwrite an existing parameter. If not specified, will default to \"false\".

    ", + "box":true + }, + "AllowedPattern":{ + "shape":"AllowedPattern", + "documentation":"

    A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\\d+$

    " }, "Tags":{ "shape":"TagList", - "documentation":"

    One or more tags. The value parameter is required, but if you don't want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

    " + "documentation":"

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key name/value pairs:

    • Key=Resource,Value=S3bucket

    • Key=OS,Value=Windows

    • Key=ParameterType,Value=LicenseKey

    To add tags to an existing Systems Manager parameter, use the AddTagsToResource action.

    " + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

    The parameter tier to assign to a parameter.

    Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a content size limit of 4 KB and can't be configured to use parameter policies. You can create a maximum of 10,000 standard parameters for each Region in an AWS account. Standard parameters are offered at no additional cost.

    Advanced parameters have a content size limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters for each Region in an AWS account. Advanced parameters incur a charge. For more information, see Standard and advanced parameter tiers in the AWS Systems Manager User Guide.

    You can change a standard parameter to an advanced parameter any time. But you can't revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters.

    If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter.

    Using the Default Tier Configuration

    In PutParameter requests, you can specify the tier to create the parameter in. Whenever you specify a tier in the request, Parameter Store creates or updates the parameter according to that request. However, if you do not specify a tier in a request, Parameter Store assigns the tier based on the current Parameter Store default tier configuration.

    The default tier when you begin using Parameter Store is the standard-parameter tier. If you use the advanced-parameter tier, you can specify one of the following as the default:

    • Advanced: With this option, Parameter Store evaluates all requests as advanced parameters.

    • Intelligent-Tiering: With this option, Parameter Store evaluates each request to determine if the parameter is standard or advanced.

      If the request doesn't include any options that require an advanced parameter, the parameter is created in the standard-parameter tier. If one or more options requiring an advanced parameter are included in the request, Parameter Store create a parameter in the advanced-parameter tier.

      This approach helps control your parameter-related costs by always creating standard parameters unless an advanced parameter is necessary.

    Options that require an advanced parameter include the following:

    • The content size of the parameter is more than 4 KB.

    • The parameter uses a parameter policy.

    • More than 10,000 parameters already exist in your AWS account in the current Region.

    For more information about configuring the default tier option, see Specifying a default parameter tier in the AWS Systems Manager User Guide.

    " + }, + "Policies":{ + "shape":"ParameterPolicies", + "documentation":"

    One or more policies to apply to a parameter. This action takes a JSON array. Parameter Store supports the following policy types:

    Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter does not affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.

    ExpirationNotification: This policy triggers an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.

    NoChangeNotification: This policy triggers a CloudWatch event if a parameter has not been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it has not been changed.

    All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see Assigning parameter policies.

    " + }, + "DataType":{ + "shape":"ParameterDataType", + "documentation":"

    The data type for a String parameter. Supported data types include plain text and Amazon Machine Image IDs.

    The following data type values are supported.

    • text

    • aws:ec2:image

    When you create a String parameter and specify aws:ec2:image, Systems Manager validates the parameter value is in the required format, such as ami-12345abcdeEXAMPLE, and that the specified AMI is available in your AWS account. For more information, see Native parameter support for Amazon Machine Image IDs in the AWS Systems Manager User Guide.

    " } } }, - "AddTagsToResourceResult":{ + "PutParameterResult":{ "type":"structure", "members":{ + "Version":{ + "shape":"PSParameterVersion", + "documentation":"

    The new version number of a parameter. If you edit a parameter value, Parameter Store automatically creates a new version and assigns this new version a unique ID. You can reference a parameter version ID in API actions or in Systems Manager documents (SSM documents). By default, if you don't specify a specific version, the system returns the latest parameter value when a parameter is called.

    " + }, + "Tier":{ + "shape":"ParameterTier", + "documentation":"

    The tier assigned to the parameter.

    " + } } }, - "AssociatedInstances":{ + "RebootOption":{ + "type":"string", + "enum":[ + "RebootIfNeeded", + "NoReboot" + ] + }, + "Region":{"type":"string"}, + "Regions":{ + "type":"list", + "member":{"shape":"Region"}, + "max":50, + "min":1 + }, + "RegisterDefaultPatchBaselineRequest":{ "type":"structure", + "required":["BaselineId"], "members":{ - }, - "documentation":"

    You must disassociate an SSM document from all instances before you can delete it.

    ", - "exception":true + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline that should be the default patch baseline.

    " + } + } }, - "Association":{ + "RegisterDefaultPatchBaselineResult":{ "type":"structure", "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the default patch baseline.

    " + } + } + }, + "RegisterPatchBaselineForPatchGroupRequest":{ + "type":"structure", + "required":[ + "BaselineId", + "PatchGroup" + ], + "members":{ + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to register the patch group with.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The ID of the instance.

    " + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group that should be registered with the patch baseline.

    " } - }, - "documentation":"

    Describes an association of an SSM document and an instance.

    " + } }, - "AssociationAlreadyExists":{ + "RegisterPatchBaselineForPatchGroupResult":{ "type":"structure", "members":{ - }, - "documentation":"

    The specified association already exists.

    ", - "exception":true + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline the patch group was registered with.

    " + }, + "PatchGroup":{ + "shape":"PatchGroup", + "documentation":"

    The name of the patch group registered with the patch baseline.

    " + } + } }, - "AssociationDescription":{ + "RegisterTargetWithMaintenanceWindowRequest":{ "type":"structure", + "required":[ + "WindowId", + "ResourceType", + "Targets" + ], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the target should be registered with.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The ID of the instance.

    " + "ResourceType":{ + "shape":"MaintenanceWindowResourceType", + "documentation":"

    The type of target being registered with the maintenance window.

    " }, - "Date":{ - "shape":"DateTime", - "documentation":"

    The date when the association was made.

    " + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs.

    You can specify targets using instance IDs, resource group names, or tags that have been applied to instances.

    Example 1: Specify instance IDs

    Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

    Example 2: Use tag key-pairs applied to instances

    Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2

    Example 3: Use tag-keys applied to instances

    Key=tag-key,Values=my-tag-key-1,my-tag-key-2

    Example 4: Use resource group names

    Key=resource-groups:Name,Values=resource-group-name

    Example 5: Use filters for resource group types

    Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2

    For Key=resource-groups:ResourceTypeFilters, specify resource types in the following format

    Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC

    For more information about these examples formats, including the best use case for each one, see Examples: Register targets with a maintenance window in the AWS Systems Manager User Guide.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

    " }, - "Status":{ - "shape":"AssociationStatus", - "documentation":"

    The association status.

    " + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    An optional name for the target.

    " }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

    A description of the parameters for a document.

    " + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description for the target.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    User-provided idempotency token.

    ", + "idempotencyToken":true } - }, - "documentation":"

    Describes the parameters for a document.

    " - }, - "AssociationDescriptionList":{ - "type":"list", - "member":{ - "shape":"AssociationDescription", - "locationName":"AssociationDescription" } }, - "AssociationDoesNotExist":{ + "RegisterTargetWithMaintenanceWindowResult":{ "type":"structure", "members":{ - }, - "documentation":"

    The specified association does not exist.

    ", - "exception":true + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The ID of the target definition in this maintenance window.

    " + } + } }, - "AssociationFilter":{ + "RegisterTaskWithMaintenanceWindowRequest":{ "type":"structure", "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"AssociationFilterKey", - "documentation":"

    The name of the filter.

    " + "WindowId", + "Targets", + "TaskArn", + "TaskType", + "MaxConcurrency", + "MaxErrors" + ], + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window the task should be added to.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets (either instances or maintenance window targets).

    Specify instances using the following format:

    Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>

    Specify maintenance window targets using the following format:

    Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2>

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The ARN of the task to run.

    " }, - "value":{ - "shape":"AssociationFilterValue", - "documentation":"

    The filter value.

    " + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

    For more information, see the following topics in the in the AWS Systems Manager User Guide:

    " + }, + "TaskType":{ + "shape":"MaintenanceWindowTaskType", + "documentation":"

    The type of task being registered.

    " + }, + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParameters", + "documentation":"

    The parameters that should be passed to the task when it is run.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "TaskInvocationParameters":{ + "shape":"MaintenanceWindowTaskInvocationParameters", + "documentation":"

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

    ", + "box":true + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets this task can be run for in parallel.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed before this task stops being scheduled.

    " + }, + "LoggingInfo":{ + "shape":"LoggingInfo", + "documentation":"

    A structure containing information about an S3 bucket to write instance-level logs to.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    An optional name for the task.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description for the task.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    User-provided idempotency token.

    ", + "idempotencyToken":true } - }, - "documentation":"

    Describes a filter.

    " + } }, - "AssociationFilterKey":{ - "type":"string", - "enum":[ - "InstanceId", - "Name" - ] + "RegisterTaskWithMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The ID of the task in the maintenance window.

    " + } + } }, - "AssociationFilterList":{ - "type":"list", - "member":{ - "shape":"AssociationFilter", - "locationName":"AssociationFilter" - }, + "RegistrationLimit":{ + "type":"integer", + "max":1000, "min":1 }, - "AssociationFilterValue":{ - "type":"string", + "RegistrationsCount":{ + "type":"integer", + "max":1000, "min":1 }, - "AssociationLimitExceeded":{ + "RelatedOpsItem":{ "type":"structure", + "required":["OpsItemId"], "members":{ + "OpsItemId":{ + "shape":"String", + "documentation":"

    The ID of an OpsItem related to the current OpsItem.

    " + } }, - "documentation":"

    You can have at most 2,000 active associations.

    ", - "exception":true + "documentation":"

    An OpsItems that shares something in common with the current OpsItem. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

    " }, - "AssociationList":{ + "RelatedOpsItems":{ "type":"list", - "member":{ - "shape":"Association", - "locationName":"Association" - } + "member":{"shape":"RelatedOpsItem"} }, - "AssociationStatus":{ + "RemainingCount":{"type":"integer"}, + "RemoveTagsFromResourceRequest":{ "type":"structure", "required":[ - "Date", - "Name", - "Message" + "ResourceType", + "ResourceId", + "TagKeys" ], "members":{ - "Date":{ - "shape":"DateTime", - "documentation":"

    The date when the status changed.

    " - }, - "Name":{ - "shape":"AssociationStatusName", - "documentation":"

    The status.

    " + "ResourceType":{ + "shape":"ResourceTypeForTagging", + "documentation":"

    The type of resource from which you want to remove a tag.

    The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

    " }, - "Message":{ - "shape":"StatusMessage", - "documentation":"

    The reason for the status.

    " + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The ID of the resource from which you want to remove tags. For example:

    ManagedInstance: mi-012345abcde

    MaintenanceWindow: mw-012345abcde

    PatchBaseline: pb-012345abcde

    For the Document and Parameter values, use the name of the resource.

    The ManagedInstance type for this API action is only for on-premises managed instances. Specify the name of the managed instance in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

    " }, - "AdditionalInfo":{ - "shape":"StatusAdditionalInfo", - "documentation":"

    A user-defined string.

    " + "TagKeys":{ + "shape":"KeyList", + "documentation":"

    Tag keys that you want to remove from the specified resource.

    " } - }, - "documentation":"

    Describes an association status.

    " + } }, - "AssociationStatusName":{ - "type":"string", - "enum":[ - "Pending", - "Success", - "Failed" - ] + "RemoveTagsFromResourceResult":{ + "type":"structure", + "members":{ + } }, - "BatchErrorMessage":{"type":"string"}, - "Boolean":{"type":"boolean"}, - "CancelCommandRequest":{ + "ResetServiceSettingRequest":{ "type":"structure", - "required":["CommandId"], + "required":["SettingId"], "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

    The ID of the command you want to cancel.

    " - }, - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

    (Optional) A list of instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance on which it was requested.

    " + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

    The Amazon Resource Name (ARN) of the service setting to reset. The setting ID can be /ssm/parameter-store/default-parameter-tier, /ssm/parameter-store/high-throughput-enabled, or /ssm/managed-instance/activation-tier. For example, arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled.

    " } }, - "documentation":"

    " + "documentation":"

    The request body of the ResetServiceSetting API action.

    " }, - "CancelCommandResult":{ + "ResetServiceSettingResult":{ "type":"structure", "members":{ + "ServiceSetting":{ + "shape":"ServiceSetting", + "documentation":"

    The current, effective service setting after calling the ResetServiceSetting API action.

    " + } }, - "documentation":"

    Whether or not the command was successfully canceled. There is no guarantee that a request can be canceled.

    " + "documentation":"

    The result body of the ResetServiceSetting API action.

    " }, - "Command":{ + "ResolvedTargets":{ "type":"structure", "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

    A unique identifier for this command.

    " + "ParameterValues":{ + "shape":"TargetParameterList", + "documentation":"

    A list of parameter values sent to targets that resolved during the Automation execution.

    " }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document requested for execution.

    " - }, - "Comment":{ - "shape":"Comment", - "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " - }, - "ExpiresAfter":{ - "shape":"DateTime", - "documentation":"

    If this time is reached and the command has not already started executing, it will not execute. Calculated based on the ExpiresAfter user input provided as part of the SendCommand API.

    " - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

    The parameter values to be inserted in the SSM document when executing the command.

    " + "Truncated":{ + "shape":"Boolean", + "documentation":"

    A boolean value indicating whether the resolved target list is truncated.

    " + } + }, + "documentation":"

    Information about targets that resolved during the Automation execution.

    " + }, + "ResourceComplianceSummaryItem":{ + "type":"structure", + "members":{ + "ComplianceType":{ + "shape":"ComplianceTypeName", + "documentation":"

    The compliance type.

    " }, - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

    The instance IDs against which this command was requested.

    " + "ResourceType":{ + "shape":"ComplianceResourceType", + "documentation":"

    The resource type.

    " }, - "RequestedDateTime":{ - "shape":"DateTime", - "documentation":"

    The date and time the command was requested.

    " + "ResourceId":{ + "shape":"ComplianceResourceId", + "documentation":"

    The resource ID.

    " }, "Status":{ - "shape":"CommandStatus", - "documentation":"

    The status of the command.

    " - }, - "OutputS3BucketName":{ - "shape":"S3BucketName", - "documentation":"

    The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + "shape":"ComplianceStatus", + "documentation":"

    The compliance status for the resource.

    " }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

    The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + "OverallSeverity":{ + "shape":"ComplianceSeverity", + "documentation":"

    The highest severity item found for the resource. The resource is compliant for this item.

    " }, - "ServiceRole":{ - "shape":"ServiceRole", - "documentation":"

    The IAM service role that SSM uses to act on your behalf when sending notifications about command status changes.

    " + "ExecutionSummary":{ + "shape":"ComplianceExecutionSummary", + "documentation":"

    Information about the execution.

    " }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

    Configurations for sending notifications about command status changes.

    " - } - }, - "documentation":"

    Describes a command request.

    " - }, - "CommandFilter":{ - "type":"structure", - "required":[ - "key", - "value" - ], - "members":{ - "key":{ - "shape":"CommandFilterKey", - "documentation":"

    The name of the filter. For example, requested date and time.

    " + "CompliantSummary":{ + "shape":"CompliantSummary", + "documentation":"

    A list of items that are compliant for the resource.

    " }, - "value":{ - "shape":"CommandFilterValue", - "documentation":"

    The filter value. For example: June 30, 2015.

    " + "NonCompliantSummary":{ + "shape":"NonCompliantSummary", + "documentation":"

    A list of items that aren't compliant for the resource.

    " } }, - "documentation":"

    Describes a command filter.

    " - }, - "CommandFilterKey":{ - "type":"string", - "enum":[ - "InvokedAfter", - "InvokedBefore", - "Status" - ] + "documentation":"

    Compliance summary information for a specific resource.

    " }, - "CommandFilterList":{ + "ResourceComplianceSummaryItemList":{ "type":"list", - "member":{"shape":"CommandFilter"}, - "max":3, - "min":1 + "member":{"shape":"ResourceComplianceSummaryItem"} }, - "CommandFilterValue":{ + "ResourceCount":{"type":"integer"}, + "ResourceCountByStatus":{"type":"string"}, + "ResourceDataSyncAWSKMSKeyARN":{ "type":"string", - "min":1 + "max":512, + "min":1, + "pattern":"arn:.*" }, - "CommandId":{ - "type":"string", - "max":36, - "min":36 + "ResourceDataSyncAlreadyExistsException":{ + "type":"structure", + "members":{ + "SyncName":{"shape":"ResourceDataSyncName"} + }, + "documentation":"

    A sync configuration with the same name already exists.

    ", + "exception":true }, - "CommandInvocation":{ + "ResourceDataSyncAwsOrganizationsSource":{ "type":"structure", + "required":["OrganizationSourceType"], "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

    The command against which this invocation was requested.

    " - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The instance ID in which this invocation was requested.

    " - }, - "Comment":{ - "shape":"Comment", - "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " - }, - "DocumentName":{ - "shape":"DocumentName", - "documentation":"

    The document name that was requested for execution.

    " - }, - "RequestedDateTime":{ - "shape":"DateTime", - "documentation":"

    The time and date the request was sent to this instance.

    " - }, - "Status":{ - "shape":"CommandInvocationStatus", - "documentation":"

    Whether or not the invocation succeeded, failed, or is pending.

    " - }, - "TraceOutput":{ - "shape":"InvocationTraceOutput", - "documentation":"

    Gets the trace output sent by the agent.

    " - }, - "CommandPlugins":{"shape":"CommandPluginList"}, - "ServiceRole":{ - "shape":"ServiceRole", - "documentation":"

    The IAM service role that SSM uses to act on your behalf when sending notifications about command status changes on a per instance basis.

    " + "OrganizationSourceType":{ + "shape":"ResourceDataSyncOrganizationSourceType", + "documentation":"

    If an AWS Organization is present, this is either OrganizationalUnits or EntireOrganization. For OrganizationalUnits, the data is aggregated from a set of organization units. For EntireOrganization, the data is aggregated from the entire AWS Organization.

    " }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

    Configurations for sending notifications about command status changes on a per instance basis.

    " + "OrganizationalUnits":{ + "shape":"ResourceDataSyncOrganizationalUnitList", + "documentation":"

    The AWS Organizations organization units included in the sync.

    " } }, - "documentation":"

    An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. A command invocation returns status and detail information about a command you executed.

    " + "documentation":"

    Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations or, if an AWS Organization is not present, from multiple AWS Regions.

    " }, - "CommandInvocationList":{ - "type":"list", - "member":{"shape":"CommandInvocation"} + "ResourceDataSyncConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Another UpdateResourceDataSync request is being processed. Wait a few minutes and try again.

    ", + "exception":true }, - "CommandInvocationStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Cancelling", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] + "ResourceDataSyncCountExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You have exceeded the allowed maximum sync configurations.

    ", + "exception":true }, - "CommandList":{ - "type":"list", - "member":{"shape":"Command"} + "ResourceDataSyncCreatedTime":{"type":"timestamp"}, + "ResourceDataSyncDestinationDataSharing":{ + "type":"structure", + "members":{ + "DestinationDataSharingType":{ + "shape":"ResourceDataSyncDestinationDataSharingType", + "documentation":"

    The sharing data type. Only Organization is supported.

    " + } + }, + "documentation":"

    Synchronize Systems Manager Inventory data from multiple AWS accounts defined in AWS Organizations to a centralized S3 bucket. Data is synchronized to individual key prefixes in the central bucket. Each key prefix represents a different AWS account ID.

    " }, - "CommandMaxResults":{ - "type":"integer", - "max":50, + "ResourceDataSyncDestinationDataSharingType":{ + "type":"string", + "max":64, "min":1 }, - "CommandPlugin":{ + "ResourceDataSyncIncludeFutureRegions":{"type":"boolean"}, + "ResourceDataSyncInvalidConfigurationException":{ "type":"structure", "members":{ - "Name":{ - "shape":"CommandPluginName", - "documentation":"

    The name of the plugin. Must be one of the following: aws:updateAgent, aws:domainjoin, aws:applications, aws:runPowerShellScript, aws:psmodule, aws:cloudWatch, aws:runShellScript, or aws:updateSSMAgent.

    " + "Message":{"shape":"String"} + }, + "documentation":"

    The specified sync configuration is invalid.

    ", + "exception":true + }, + "ResourceDataSyncItem":{ + "type":"structure", + "members":{ + "SyncName":{ + "shape":"ResourceDataSyncName", + "documentation":"

    The name of the Resource Data Sync.

    " }, - "Status":{ - "shape":"CommandPluginStatus", - "documentation":"

    The status of this plugin. You can execute a document with multiple plugins.

    " + "SyncType":{ + "shape":"ResourceDataSyncType", + "documentation":"

    The type of resource data sync. If SyncType is SyncToDestination, then the resource data sync synchronizes data to an S3 bucket. If the SyncType is SyncFromSource then the resource data sync synchronizes data from AWS Organizations or from multiple AWS Regions.

    " }, - "ResponseCode":{ - "shape":"ResponseCode", - "documentation":"

    A numeric response code generated after executing the plugin.

    " + "SyncSource":{ + "shape":"ResourceDataSyncSourceWithState", + "documentation":"

    Information about the source where the data was synchronized.

    " }, - "ResponseStartDateTime":{ - "shape":"DateTime", - "documentation":"

    The time the plugin started executing.

    " + "S3Destination":{ + "shape":"ResourceDataSyncS3Destination", + "documentation":"

    Configuration information for the target S3 bucket.

    " }, - "ResponseFinishDateTime":{ - "shape":"DateTime", - "documentation":"

    The time the plugin stopped executing. Could stop prematurely if, for example, a cancel command was sent.

    " + "LastSyncTime":{ + "shape":"LastResourceDataSyncTime", + "documentation":"

    The last time the configuration attempted to sync (UTC).

    " }, - "Output":{ - "shape":"CommandPluginOutput", - "documentation":"

    Output of the plugin execution.

    " + "LastSuccessfulSyncTime":{ + "shape":"LastSuccessfulResourceDataSyncTime", + "documentation":"

    The last time the sync operations returned a status of SUCCESSFUL (UTC).

    " }, - "OutputS3BucketName":{ - "shape":"S3BucketName", - "documentation":"

    The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + "SyncLastModifiedTime":{ + "shape":"ResourceDataSyncLastModifiedTime", + "documentation":"

    The date and time the resource data sync was changed.

    " }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

    The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.

    " + "LastStatus":{ + "shape":"LastResourceDataSyncStatus", + "documentation":"

    The status reported by the last sync.

    " + }, + "SyncCreatedTime":{ + "shape":"ResourceDataSyncCreatedTime", + "documentation":"

    The date and time the configuration was created (UTC).

    " + }, + "LastSyncStatusMessage":{ + "shape":"LastResourceDataSyncMessage", + "documentation":"

    The status message details reported by the last sync.

    " } }, - "documentation":"

    Describes plugin details.

    " + "documentation":"

    Information about a Resource Data Sync configuration, including its current status and last successful sync.

    " }, - "CommandPluginList":{ + "ResourceDataSyncItemList":{ "type":"list", - "member":{"shape":"CommandPlugin"} + "member":{"shape":"ResourceDataSyncItem"} }, - "CommandPluginName":{ + "ResourceDataSyncLastModifiedTime":{"type":"timestamp"}, + "ResourceDataSyncName":{ "type":"string", - "min":4 + "max":64, + "min":1 }, - "CommandPluginOutput":{ - "type":"string", - "max":2500 + "ResourceDataSyncNotFoundException":{ + "type":"structure", + "members":{ + "SyncName":{"shape":"ResourceDataSyncName"}, + "SyncType":{"shape":"ResourceDataSyncType"}, + "Message":{"shape":"String"} + }, + "documentation":"

    The specified sync name was not found.

    ", + "exception":true }, - "CommandPluginStatus":{ + "ResourceDataSyncOrganizationSourceType":{ "type":"string", - "enum":[ - "Pending", - "InProgress", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] + "max":64, + "min":1 }, - "CommandStatus":{ - "type":"string", - "enum":[ - "Pending", - "InProgress", - "Cancelling", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] + "ResourceDataSyncOrganizationalUnit":{ + "type":"structure", + "members":{ + "OrganizationalUnitId":{ + "shape":"ResourceDataSyncOrganizationalUnitId", + "documentation":"

    The AWS Organization unit ID data source for the sync.

    " + } + }, + "documentation":"

    The AWS Organizations organizational unit data source for the sync.

    " }, - "Comment":{ + "ResourceDataSyncOrganizationalUnitId":{ "type":"string", - "max":100 + "max":128, + "min":1, + "pattern":"^ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$" }, - "ComputerName":{ + "ResourceDataSyncOrganizationalUnitList":{ + "type":"list", + "member":{"shape":"ResourceDataSyncOrganizationalUnit"}, + "max":1000, + "min":1 + }, + "ResourceDataSyncS3BucketName":{ "type":"string", - "max":255, + "max":2048, "min":1 }, - "CreateActivationRequest":{ + "ResourceDataSyncS3Destination":{ "type":"structure", - "required":["IamRole"], + "required":[ + "BucketName", + "SyncFormat", + "Region" + ], "members":{ - "Description":{ - "shape":"ActivationDescription", - "documentation":"

    A user-defined description of the resource that you want to register with Amazon EC2.

    " + "BucketName":{ + "shape":"ResourceDataSyncS3BucketName", + "documentation":"

    The name of the S3 bucket where the aggregated data is stored.

    " }, - "DefaultInstanceName":{ - "shape":"DefaultInstanceName", - "documentation":"

    The name of the registered, managed instance as it will appear in the Amazon EC2 console or when you use the AWS command line tools to list EC2 resources.

    " + "Prefix":{ + "shape":"ResourceDataSyncS3Prefix", + "documentation":"

    An Amazon S3 prefix for the bucket.

    " }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance.

    " + "SyncFormat":{ + "shape":"ResourceDataSyncS3Format", + "documentation":"

    A supported sync format. The following format is currently supported: JsonSerDe

    " }, - "RegistrationLimit":{ - "shape":"RegistrationLimit", - "documentation":"

    Specify the maximum number of managed instances you want to register. The default value is 1 instance.

    ", - "box":true + "Region":{ + "shape":"ResourceDataSyncS3Region", + "documentation":"

    The AWS Region with the S3 bucket targeted by the Resource Data Sync.

    " }, - "ExpirationDate":{ - "shape":"ExpirationDate", - "documentation":"

    The date by which this activation request should expire. The default value is 24 hours.

    " - } - } - }, - "CreateActivationResult":{ - "type":"structure", - "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

    The ID number generated by the system when it processed the activation. The activation ID functions like a user name.

    " + "AWSKMSKeyARN":{ + "shape":"ResourceDataSyncAWSKMSKeyARN", + "documentation":"

    The ARN of an encryption key for a destination in Amazon S3. Must belong to the same Region as the destination S3 bucket.

    " }, - "ActivationCode":{ - "shape":"ActivationCode", - "documentation":"

    The code the system generates when it processes the activation. The activation code functions like a password to validate the activation ID.

    " - } - } - }, - "CreateAssociationBatchRequest":{ - "type":"structure", - "required":["Entries"], - "members":{ - "Entries":{ - "shape":"CreateAssociationBatchRequestEntries", - "documentation":"

    One or more associations.

    " + "DestinationDataSharing":{ + "shape":"ResourceDataSyncDestinationDataSharing", + "documentation":"

    Enables destination data sharing. By default, this field is null.

    " } - } + }, + "documentation":"

    Information about the target S3 bucket for the Resource Data Sync.

    " }, - "CreateAssociationBatchRequestEntries":{ - "type":"list", - "member":{ - "shape":"CreateAssociationBatchRequestEntry", - "locationName":"entries" - } + "ResourceDataSyncS3Format":{ + "type":"string", + "enum":["JsonSerDe"] }, - "CreateAssociationBatchRequestEntry":{ - "type":"structure", - "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the configuration document.

    " - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The ID of the instance.

    " - }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

    A description of the parameters for a document.

    " - } - }, - "documentation":"

    Describes the association of an SSM document and an instance.

    " + "ResourceDataSyncS3Prefix":{ + "type":"string", + "max":256, + "min":1 }, - "CreateAssociationBatchResult":{ - "type":"structure", - "members":{ - "Successful":{ - "shape":"AssociationDescriptionList", - "documentation":"

    Information about the associations that succeeded.

    " - }, - "Failed":{ - "shape":"FailedCreateAssociationList", - "documentation":"

    Information about the associations that failed.

    " - } - } + "ResourceDataSyncS3Region":{ + "type":"string", + "max":64, + "min":1 }, - "CreateAssociationRequest":{ + "ResourceDataSyncSource":{ "type":"structure", "required":[ - "Name", - "InstanceId" + "SourceType", + "SourceRegions" ], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "SourceType":{ + "shape":"ResourceDataSyncSourceType", + "documentation":"

    The type of data source for the resource data sync. SourceType is either AwsOrganizations (if an organization is present in AWS Organizations) or singleAccountMultiRegions.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The instance ID.

    " + "AwsOrganizationsSource":{ + "shape":"ResourceDataSyncAwsOrganizationsSource", + "documentation":"

    Information about the AwsOrganizationsSource resource data sync source. A sync source of this type can synchronize data from AWS Organizations.

    " }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

    The parameters for the documents runtime configuration.

    " + "SourceRegions":{ + "shape":"ResourceDataSyncSourceRegionList", + "documentation":"

    The SyncSource AWS Regions included in the resource data sync.

    " + }, + "IncludeFutureRegions":{ + "shape":"ResourceDataSyncIncludeFutureRegions", + "documentation":"

    Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.

    " } - } + }, + "documentation":"

    Information about the source of the data included in the resource data sync.

    " }, - "CreateAssociationResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

    Information about the association.

    " - } - } + "ResourceDataSyncSourceRegion":{ + "type":"string", + "max":64, + "min":1 }, - "CreateDocumentRequest":{ - "type":"structure", - "required":[ - "Content", - "Name" - ], - "members":{ - "Content":{ - "shape":"DocumentContent", - "documentation":"

    A valid JSON string.

    " - }, - "Name":{ - "shape":"DocumentName", - "documentation":"

    A name for the SSM document.

    " - } - } + "ResourceDataSyncSourceRegionList":{ + "type":"list", + "member":{"shape":"ResourceDataSyncSourceRegion"} }, - "CreateDocumentResult":{ + "ResourceDataSyncSourceType":{ + "type":"string", + "max":64, + "min":1 + }, + "ResourceDataSyncSourceWithState":{ "type":"structure", "members":{ - "DocumentDescription":{ - "shape":"DocumentDescription", - "documentation":"

    Information about the SSM document.

    " + "SourceType":{ + "shape":"ResourceDataSyncSourceType", + "documentation":"

    The type of data source for the resource data sync. SourceType is either AwsOrganizations (if an organization is present in AWS Organizations) or singleAccountMultiRegions.

    " + }, + "AwsOrganizationsSource":{ + "shape":"ResourceDataSyncAwsOrganizationsSource", + "documentation":"

    The field name in SyncSource for the ResourceDataSyncAwsOrganizationsSource type.

    " + }, + "SourceRegions":{ + "shape":"ResourceDataSyncSourceRegionList", + "documentation":"

    The SyncSource AWS Regions included in the resource data sync.

    " + }, + "IncludeFutureRegions":{ + "shape":"ResourceDataSyncIncludeFutureRegions", + "documentation":"

    Whether to automatically synchronize and aggregate data from new AWS Regions when those Regions come online.

    " + }, + "State":{ + "shape":"ResourceDataSyncState", + "documentation":"

    The data type name for including resource data sync state. There are four sync states:

    OrganizationNotExists: Your organization doesn't exist.

    NoPermissions: The system can't locate the service-linked role. This role is automatically created when a user creates a resource data sync in Explorer.

    InvalidOrganizationalUnit: You specified or selected an invalid unit in the resource data sync configuration.

    TrustedAccessDisabled: You disabled Systems Manager access in the organization in AWS Organizations.

    " } - } + }, + "documentation":"

    The data type name for including resource data sync state. There are four sync states:

    OrganizationNotExists (Your organization doesn't exist)

    NoPermissions (The system can't locate the service-linked role. This role is automatically created when a user creates a resource data sync in Explorer.)

    InvalidOrganizationalUnit (You specified or selected an invalid unit in the resource data sync configuration.)

    TrustedAccessDisabled (You disabled Systems Manager access in the organization in AWS Organizations.)

    " }, - "CreatedDate":{"type":"timestamp"}, - "DateTime":{"type":"timestamp"}, - "DefaultInstanceName":{ + "ResourceDataSyncState":{ "type":"string", - "max":256, - "min":0, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + "max":64, + "min":1 }, - "DeleteActivationRequest":{ - "type":"structure", - "required":["ActivationId"], - "members":{ - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

    The ID of the activation that you want to delete.

    " - } - } + "ResourceDataSyncType":{ + "type":"string", + "max":64, + "min":1 }, - "DeleteActivationResult":{ + "ResourceId":{"type":"string"}, + "ResourceInUseException":{ "type":"structure", "members":{ - } + "Message":{"shape":"String"} + }, + "documentation":"

    Error returned if an attempt is made to delete a patch baseline that is registered for a patch group.

    ", + "exception":true }, - "DeleteAssociationRequest":{ + "ResourceLimitExceededException":{ "type":"structure", - "required":[ - "Name", - "InstanceId" - ], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The ID of the instance.

    " - } - } + "Message":{"shape":"String"} + }, + "documentation":"

    Error returned when the caller has exceeded the default resource quotas. For example, too many maintenance windows or patch baselines have been created.

    For information about resource quotas in Systems Manager, see Systems Manager service quotas in the AWS General Reference.

    ", + "exception":true }, - "DeleteAssociationResult":{ - "type":"structure", - "members":{ - } + "ResourceType":{ + "type":"string", + "enum":[ + "ManagedInstance", + "Document", + "EC2Instance" + ] }, - "DeleteDocumentRequest":{ + "ResourceTypeForTagging":{ + "type":"string", + "enum":[ + "Document", + "ManagedInstance", + "MaintenanceWindow", + "Parameter", + "PatchBaseline", + "OpsItem" + ] + }, + "ResponseCode":{"type":"integer"}, + "ResultAttribute":{ "type":"structure", - "required":["Name"], + "required":["TypeName"], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "TypeName":{ + "shape":"InventoryItemTypeName", + "documentation":"

    Name of the inventory item type. Valid value: AWS:InstanceInformation. Default Value: AWS:InstanceInformation.

    " } - } + }, + "documentation":"

    The inventory item result attribute.

    " }, - "DeleteDocumentResult":{ - "type":"structure", - "members":{ - } + "ResultAttributeList":{ + "type":"list", + "member":{"shape":"ResultAttribute"}, + "max":1, + "min":1 }, - "DeregisterManagedInstanceRequest":{ + "ResumeSessionRequest":{ "type":"structure", - "required":["InstanceId"], + "required":["SessionId"], "members":{ - "InstanceId":{ - "shape":"ManagedInstanceId", - "documentation":"

    The ID assigned to the managed instance when you registered it using the activation process.

    " + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the disconnected session to resume.

    " } } }, - "DeregisterManagedInstanceResult":{ - "type":"structure", - "members":{ - } - }, - "DescribeActivationsFilter":{ + "ResumeSessionResponse":{ "type":"structure", "members":{ - "FilterKey":{ - "shape":"DescribeActivationsFilterKeys", - "documentation":"

    The name of the filter.

    " + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the session.

    " }, - "FilterValues":{ - "shape":"StringList", - "documentation":"

    The filter values.

    " + "TokenValue":{ + "shape":"TokenValue", + "documentation":"

    An encrypted token value containing session and caller information. Used to authenticate the connection to the instance.

    " + }, + "StreamUrl":{ + "shape":"StreamUrl", + "documentation":"

    A URL back to SSM Agent on the instance that the Session Manager client uses to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

    region represents the Region identifier for an AWS Region supported by AWS Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list of supported region values, see the Region column in Systems Manager service endpoints in the AWS General Reference.

    session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.

    " } - }, - "documentation":"

    Filter for the DescribeActivation API.

    " + } }, - "DescribeActivationsFilterKeys":{ + "S3BucketName":{ "type":"string", - "enum":[ - "ActivationIds", - "DefaultInstanceName", - "IamRole" - ] + "max":63, + "min":3 }, - "DescribeActivationsFilterList":{ - "type":"list", - "member":{"shape":"DescribeActivationsFilter"} + "S3KeyPrefix":{ + "type":"string", + "max":500 }, - "DescribeActivationsRequest":{ + "S3OutputLocation":{ "type":"structure", "members":{ - "Filters":{ - "shape":"DescribeActivationsFilterList", - "documentation":"

    A filter to view information about your activations.

    " + "OutputS3Region":{ + "shape":"S3Region", + "documentation":"

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Region of the S3 bucket.

    " }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true + "OutputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of the S3 bucket.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    A token to start the list. Use this token to get the next set of results.

    " + "OutputS3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The S3 bucket subfolder.

    " } - } + }, + "documentation":"

    An S3 bucket where you want to store the results of this request.

    " }, - "DescribeActivationsResult":{ + "S3OutputUrl":{ "type":"structure", "members":{ - "ActivationList":{ - "shape":"ActivationList", - "documentation":"

    A list of activations for your AWS account.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token for the next set of items to return. Use this token to get the next set of results.

    " + "OutputUrl":{ + "shape":"Url", + "documentation":"

    A URL for an S3 bucket where you want to store the results of this request.

    " } - } + }, + "documentation":"

    A URL for the S3 bucket where you want to store the results of this request.

    " }, - "DescribeAssociationRequest":{ + "S3Region":{ + "type":"string", + "max":20, + "min":3 + }, + "ScheduleExpression":{ + "type":"string", + "max":256, + "min":1 + }, + "ScheduledWindowExecution":{ "type":"structure", - "required":[ - "Name", - "InstanceId" - ], "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window to be run.

    " + }, "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window to be run.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The instance ID.

    " + "ExecutionTime":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The time, in ISO-8601 Extended format, that the maintenance window is scheduled to be run.

    " } - } + }, + "documentation":"

    Information about a scheduled execution for a maintenance window.

    " }, - "DescribeAssociationResult":{ - "type":"structure", - "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

    Information about the association.

    " - } - } + "ScheduledWindowExecutionList":{ + "type":"list", + "member":{"shape":"ScheduledWindowExecution"} }, - "DescribeDocumentPermissionRequest":{ + "SendAutomationSignalRequest":{ "type":"structure", "required":[ - "Name", - "PermissionType" + "AutomationExecutionId", + "SignalType" ], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the document for which you are the owner.

    " + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The unique identifier for an existing Automation execution that you want to send the signal to.

    " }, - "PermissionType":{ - "shape":"DocumentPermissionType", - "documentation":"

    The permission type for the document. The permission type can be Share.

    " + "SignalType":{ + "shape":"SignalType", + "documentation":"

    The type of signal to send to an Automation execution.

    " + }, + "Payload":{ + "shape":"AutomationParameterMap", + "documentation":"

    The data sent with the signal. The data schema depends on the type of signal used in the request.

    For Approve and Reject signal types, the payload is an optional comment that you can send with the signal type. For example:

    Comment=\"Looks good\"

    For StartStep and Resume signal types, you must send the name of the Automation step to start or resume as the payload. For example:

    StepName=\"step1\"

    For the StopStep signal type, you must send the step execution ID as the payload. For example:

    StepExecutionId=\"97fff367-fc5a-4299-aed8-0123456789ab\"

    " } } }, - "DescribeDocumentPermissionResponse":{ + "SendAutomationSignalResult":{ "type":"structure", "members":{ - "AccountIds":{ - "shape":"AccountIdList", - "documentation":"

    The account IDs that have permission to use this document. The ID can be either an AWS account or All.

    " - } } }, - "DescribeDocumentRequest":{ + "SendCommandRequest":{ "type":"structure", - "required":["Name"], + "required":["DocumentName"], "members":{ - "Name":{ + "InstanceIds":{ + "shape":"InstanceIdList", + "documentation":"

    The instance IDs where the command should run. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use targets, see Using targets and rate controls to send commands to a fleet in the AWS Systems Manager User Guide.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    (Optional) An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call. For more information about how to use targets, see Sending commands to a fleet in the AWS Systems Manager User Guide.

    " + }, + "DocumentName":{ "shape":"DocumentARN", - "documentation":"

    The name of the SSM document.

    " + "documentation":"

    Required. The name of the Systems Manager document to run. This can be a public document or a custom document.

    " + }, + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the AWS CLI, then you must escape the first two options by using a backslash. If you specify a version number, then you don't need to use the backslash. For example:

    --document-version \"\\$DEFAULT\"

    --document-version \"\\$LATEST\"

    --document-version \"3\"

    " + }, + "DocumentHash":{ + "shape":"DocumentHash", + "documentation":"

    The Sha256 or Sha1 hash created by the system when the document was created.

    Sha1 hashes have been deprecated.

    " + }, + "DocumentHashType":{ + "shape":"DocumentHashType", + "documentation":"

    Sha256 or Sha1.

    Sha1 hashes have been deprecated.

    " + }, + "TimeoutSeconds":{ + "shape":"TimeoutSeconds", + "documentation":"

    If this time is reached and the command has not already started running, it will not run.

    ", + "box":true + }, + "Comment":{ + "shape":"Comment", + "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " + }, + "Parameters":{ + "shape":"Parameters", + "documentation":"

    The required and optional parameters specified in the document being run.

    " + }, + "OutputS3Region":{ + "shape":"S3Region", + "documentation":"

    (Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Region of the S3 bucket.

    " + }, + "OutputS3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of the S3 bucket where command execution responses should be stored.

    " + }, + "OutputS3KeyPrefix":{ + "shape":"S3KeyPrefix", + "documentation":"

    The directory structure within the S3 bucket where the responses should be stored.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    (Optional) The maximum number of instances that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is 50. For more information about how to use MaxConcurrency, see Using concurrency controls in the AWS Systems Manager User Guide.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of MaxErrors, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is 0. For more information about how to use MaxErrors, see Using error controls in the AWS Systems Manager User Guide.

    " + }, + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.

    " + }, + "NotificationConfig":{ + "shape":"NotificationConfig", + "documentation":"

    Configurations for sending notifications.

    " + }, + "CloudWatchOutputConfig":{ + "shape":"CloudWatchOutputConfig", + "documentation":"

    Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

    " } } }, - "DescribeDocumentResult":{ + "SendCommandResult":{ "type":"structure", "members":{ - "Document":{ - "shape":"DocumentDescription", - "documentation":"

    Information about the SSM document.

    " + "Command":{ + "shape":"Command", + "documentation":"

    The request as it was received by Systems Manager. Also provides the command ID which can be used future references to this request.

    " } } }, - "DescribeInstanceInformationRequest":{ + "ServiceRole":{"type":"string"}, + "ServiceSetting":{ "type":"structure", "members":{ - "InstanceInformationFilterList":{ - "shape":"InstanceInformationFilterList", - "documentation":"

    One or more filters. Use a filter to return a more specific list of instances.

    " + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

    The ID of the service setting.

    " }, - "MaxResults":{ - "shape":"MaxResultsEC2Compatible", - "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true + "SettingValue":{ + "shape":"ServiceSettingValue", + "documentation":"

    The value of the service setting.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " - } - } - }, - "DescribeInstanceInformationResult":{ - "type":"structure", - "members":{ - "InstanceInformationList":{ - "shape":"InstanceInformationList", - "documentation":"

    The instance information list.

    " + "LastModifiedDate":{ + "shape":"DateTime", + "documentation":"

    The last time the service setting was modified.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + "LastModifiedUser":{ + "shape":"String", + "documentation":"

    The ARN of the last modified user. This field is populated only if the setting value was overwritten.

    " + }, + "ARN":{ + "shape":"String", + "documentation":"

    The ARN of the service setting.

    " + }, + "Status":{ + "shape":"String", + "documentation":"

    The status of the service setting. The value can be Default, Customized or PendingUpdate.

    • Default: The current setting uses a default value provisioned by the AWS service team.

    • Customized: The current setting use a custom value specified by the customer.

    • PendingUpdate: The current setting uses a default or custom value, but a setting change request is pending approval.

    " } - } + }, + "documentation":"

    The service setting data structure.

    ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS service team might create a default setting of \"false\". This means the user can't use this feature unless they change the setting to \"true\" and intentionally opt in for a paid feature.

    Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can't create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team.

    " }, - "DescriptionInDocument":{"type":"string"}, - "DocumentARN":{ + "ServiceSettingId":{ "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.:/]{3,128}$" + "max":1000, + "min":1 }, - "DocumentAlreadyExists":{ + "ServiceSettingNotFound":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    The specified SSM document already exists.

    ", + "documentation":"

    The specified service setting was not found. Either the service name or the setting has not been provisioned by the AWS service team.

    ", "exception":true }, - "DocumentContent":{ + "ServiceSettingValue":{ "type":"string", + "max":4096, "min":1 }, - "DocumentDescription":{ + "Session":{ "type":"structure", "members":{ - "Sha1":{ - "shape":"DocumentSha1", - "documentation":"

    The SHA1 hash of the document, which you can use for verification purposes.

    " - }, - "Hash":{ - "shape":"DocumentHash", - "documentation":"

    The Sha256 or Sha1 hash created by the system when the document was created.

    Sha1 hashes have been deprecated.

    " + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the session.

    " }, - "HashType":{ - "shape":"DocumentHashType", - "documentation":"

    Sha256 or Sha1.

    Sha1 hashes have been deprecated.

    " + "Target":{ + "shape":"SessionTarget", + "documentation":"

    The instance that the Session Manager session connected to.

    " }, - "Name":{ - "shape":"DocumentARN", - "documentation":"

    The name of the SSM document.

    " + "Status":{ + "shape":"SessionStatus", + "documentation":"

    The status of the session. For example, \"Connected\" or \"Terminated\".

    " }, - "Owner":{ - "shape":"DocumentOwner", - "documentation":"

    The AWS user account of the person who created the document.

    " + "StartDate":{ + "shape":"DateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, when the session began.

    " }, - "CreatedDate":{ + "EndDate":{ "shape":"DateTime", - "documentation":"

    The date when the SSM document was created.

    " + "documentation":"

    The date and time, in ISO-8601 Extended format, when the session was terminated.

    " }, - "Status":{ - "shape":"DocumentStatus", - "documentation":"

    The status of the SSM document.

    " + "DocumentName":{ + "shape":"DocumentName", + "documentation":"

    The name of the Session Manager SSM document used to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell.

    " }, - "Description":{ - "shape":"DescriptionInDocument", - "documentation":"

    A description of the document.

    " + "Owner":{ + "shape":"SessionOwner", + "documentation":"

    The ID of the AWS user account that started the session.

    " }, - "Parameters":{ - "shape":"DocumentParameterList", - "documentation":"

    A description of the parameters for a document.

    " + "Details":{ + "shape":"SessionDetails", + "documentation":"

    Reserved for future use.

    " }, - "PlatformTypes":{ - "shape":"PlatformTypeList", - "documentation":"

    The list of OS platforms compatible with this SSM document.

    " + "OutputUrl":{ + "shape":"SessionManagerOutputUrl", + "documentation":"

    Reserved for future use.

    " } }, - "documentation":"

    Describes an SSM document.

    " + "documentation":"

    Information about a Session Manager connection to an instance.

    " }, - "DocumentFilter":{ + "SessionDetails":{ + "type":"string", + "max":1024, + "min":1 + }, + "SessionFilter":{ "type":"structure", "required":[ "key", @@ -1399,1070 +12640,1516 @@ ], "members":{ "key":{ - "shape":"DocumentFilterKey", + "shape":"SessionFilterKey", "documentation":"

    The name of the filter.

    " }, "value":{ - "shape":"DocumentFilterValue", - "documentation":"

    The value of the filter.

    " + "shape":"SessionFilterValue", + "documentation":"

    The filter value. Valid values for each filter key are as follows:

    • InvokedAfter: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started August 29, 2018, and later.

    • InvokedBefore: Specify a timestamp to limit your results. For example, specify 2018-08-29T00:00:00Z to see sessions that started before August 29, 2018.

    • Target: Specify an instance to which session connections have been made.

    • Owner: Specify an AWS user account to see a list of sessions started by that user.

    • Status: Specify a valid session status to see a list of all sessions with that status. Status values you can specify include:

      • Connected

      • Connecting

      • Disconnected

      • Terminated

      • Terminating

      • Failed

    " } }, - "documentation":"

    Describes a filter.

    " + "documentation":"

    Describes a filter for Session Manager information.

    " }, - "DocumentFilterKey":{ + "SessionFilterKey":{ "type":"string", "enum":[ - "Name", + "InvokedAfter", + "InvokedBefore", + "Target", "Owner", - "PlatformTypes" + "Status" ] }, - "DocumentFilterList":{ + "SessionFilterList":{ "type":"list", - "member":{ - "shape":"DocumentFilter", - "locationName":"DocumentFilter" - }, + "member":{"shape":"SessionFilter"}, + "max":5, "min":1 }, - "DocumentFilterValue":{ + "SessionFilterValue":{ "type":"string", + "max":400, "min":1 }, - "DocumentHash":{ + "SessionId":{ "type":"string", - "max":256 + "max":96, + "min":1 }, - "DocumentHashType":{ + "SessionList":{ + "type":"list", + "member":{"shape":"Session"} + }, + "SessionManagerCloudWatchOutputUrl":{ "type":"string", - "enum":[ - "Sha256", - "Sha1" - ] + "max":2083, + "min":1 }, - "DocumentIdentifier":{ + "SessionManagerOutputUrl":{ "type":"structure", "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

    The name of the SSM document.

    " - }, - "Owner":{ - "shape":"DocumentOwner", - "documentation":"

    The AWS user account of the person who created the document.

    " + "S3OutputUrl":{ + "shape":"SessionManagerS3OutputUrl", + "documentation":"

    Reserved for future use.

    " }, - "PlatformTypes":{ - "shape":"PlatformTypeList", - "documentation":"

    The operating system platform.

    " + "CloudWatchOutputUrl":{ + "shape":"SessionManagerCloudWatchOutputUrl", + "documentation":"

    Reserved for future use.

    " } }, - "documentation":"

    Describes the name of an SSM document.

    " + "documentation":"

    Reserved for future use.

    " }, - "DocumentIdentifierList":{ + "SessionManagerParameterName":{ + "type":"string", + "max":255, + "min":1 + }, + "SessionManagerParameterValue":{ + "type":"string", + "max":65535, + "min":1 + }, + "SessionManagerParameterValueList":{ "type":"list", - "member":{ - "shape":"DocumentIdentifier", - "locationName":"DocumentIdentifier" - } + "member":{"shape":"SessionManagerParameterValue"} }, - "DocumentLimitExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    You can have at most 200 active SSM documents.

    ", - "exception":true + "SessionManagerParameters":{ + "type":"map", + "key":{"shape":"SessionManagerParameterName"}, + "value":{"shape":"SessionManagerParameterValueList"} }, - "DocumentName":{ + "SessionManagerS3OutputUrl":{ "type":"string", - "pattern":"^[a-zA-Z0-9_\\-.]{3,128}$" + "max":2083, + "min":1 }, - "DocumentOwner":{"type":"string"}, - "DocumentParameter":{ + "SessionMaxResults":{ + "type":"integer", + "max":200, + "min":1 + }, + "SessionOwner":{ + "type":"string", + "max":256, + "min":1 + }, + "SessionState":{ + "type":"string", + "enum":[ + "Active", + "History" + ] + }, + "SessionStatus":{ + "type":"string", + "enum":[ + "Connected", + "Connecting", + "Disconnected", + "Terminated", + "Terminating", + "Failed" + ] + }, + "SessionTarget":{ + "type":"string", + "max":400, + "min":1 + }, + "SeveritySummary":{ "type":"structure", "members":{ - "Name":{ - "shape":"DocumentParameterName", - "documentation":"

    The name of the parameter.

    " + "CriticalCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of critical. Critical severity is determined by the organization that published the compliance items.

    " }, - "Type":{ - "shape":"DocumentParameterType", - "documentation":"

    The type of parameter. The type can be either “String” or “StringList”.

    " + "HighCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of high. High severity is determined by the organization that published the compliance items.

    " }, - "Description":{ - "shape":"DocumentParameterDescrption", - "documentation":"

    A description of what the parameter does, how to use it, the default value, and whether or not the parameter is optional.

    " + "MediumCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of medium. Medium severity is determined by the organization that published the compliance items.

    " }, - "DefaultValue":{ - "shape":"DocumentParameterDefaultValue", - "documentation":"

    If specified, the default values for the parameters. Parameters without a default value are required. Parameters with a default value are optional.

    " + "LowCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of low. Low severity is determined by the organization that published the compliance items.

    " + }, + "InformationalCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of informational. Informational severity is determined by the organization that published the compliance items.

    " + }, + "UnspecifiedCount":{ + "shape":"ComplianceSummaryCount", + "documentation":"

    The total number of resources or compliance items that have a severity level of unspecified. Unspecified severity is determined by the organization that published the compliance items.

    " } }, - "documentation":"

    Parameters specified in the SSM document that execute on the server when the command is run.

    " + "documentation":"

    The number of managed instances found for each patch severity level defined in the request filter.

    " }, - "DocumentParameterDefaultValue":{"type":"string"}, - "DocumentParameterDescrption":{"type":"string"}, - "DocumentParameterList":{ - "type":"list", - "member":{ - "shape":"DocumentParameter", - "locationName":"DocumentParameter" - } + "SharedDocumentVersion":{ + "type":"string", + "documentation":"

    The document version shared with other accounts. You can share Latest, Default or All versions.

    ", + "max":8, + "pattern":"([$]LATEST|[$]DEFAULT|[$]ALL)" }, - "DocumentParameterName":{"type":"string"}, - "DocumentParameterType":{ + "SignalType":{ "type":"string", "enum":[ - "String", - "StringList" + "Approve", + "Reject", + "StartStep", + "StopStep", + "Resume" ] }, - "DocumentPermissionLimit":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The document cannot be shared with more AWS user accounts. You can share a document with a maximum of 20 accounts. You can publicly share up to five documents. If you need to increase this limit, contact AWS Support.

    ", - "exception":true + "SnapshotDownloadUrl":{"type":"string"}, + "SnapshotId":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, - "DocumentPermissionType":{ + "StandardErrorContent":{ "type":"string", - "enum":["Share"] + "max":8000 }, - "DocumentSha1":{"type":"string"}, - "DocumentStatus":{ + "StandardOutputContent":{ "type":"string", - "enum":[ - "Creating", - "Active", - "Deleting" - ] + "max":24000 }, - "DuplicateInstanceId":{ + "StartAssociationsOnceRequest":{ "type":"structure", + "required":["AssociationIds"], "members":{ - }, - "documentation":"

    You cannot specify an instance ID in more than one association.

    ", - "exception":true + "AssociationIds":{ + "shape":"AssociationIdList", + "documentation":"

    The association IDs that you want to run immediately and only one time.

    " + } + } }, - "ExpirationDate":{"type":"timestamp"}, - "FailedCreateAssociation":{ + "StartAssociationsOnceResult":{ "type":"structure", "members":{ - "Entry":{ - "shape":"CreateAssociationBatchRequestEntry", - "documentation":"

    The association.

    " + } + }, + "StartAutomationExecutionRequest":{ + "type":"structure", + "required":["DocumentName"], + "members":{ + "DocumentName":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Automation document to use for this execution.

    " }, - "Message":{ - "shape":"BatchErrorMessage", - "documentation":"

    A description of the failure.

    " + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The version of the Automation document to use for this execution.

    ", + "box":true }, - "Fault":{ - "shape":"Fault", - "documentation":"

    The source of the failure.

    " + "Parameters":{ + "shape":"AutomationParameterMap", + "documentation":"

    A key-value map of execution parameters, which match the declared parameters in the Automation document.

    " + }, + "ClientToken":{ + "shape":"IdempotencyToken", + "documentation":"

    User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can't be reused.

    " + }, + "Mode":{ + "shape":"ExecutionMode", + "documentation":"

    The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.

    " + }, + "TargetParameterName":{ + "shape":"AutomationParameterKey", + "documentation":"

    The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    A key-value mapping to target resources. Required if you specify TargetParameterName.

    " + }, + "TargetMaps":{ + "shape":"TargetMaps", + "documentation":"

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps cannot be specified together.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is 10.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.

    Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.

    " + }, + "TargetLocations":{ + "shape":"TargetLocations", + "documentation":"

    A location is a combination of AWS Regions and/or AWS accounts where you want to run the Automation. Use this action to start an Automation in multiple Regions and multiple accounts. For more information, see Running Automation workflows in multiple AWS Regions and accounts in the AWS Systems Manager User Guide.

    ", + "box":true + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    Optional metadata that you assign to a resource. You can specify a maximum of five tags for an automation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag an automation to identify an environment or operating system. In this case, you could specify the following key name/value pairs:

    • Key=environment,Value=test

    • Key=OS,Value=Windows

    To add tags to an existing patch baseline, use the AddTagsToResource action.

    " } - }, - "documentation":"

    Describes a failed association.

    " - }, - "FailedCreateAssociationList":{ - "type":"list", - "member":{ - "shape":"FailedCreateAssociation", - "locationName":"FailedCreateAssociationEntry" } }, - "Fault":{ - "type":"string", - "enum":[ - "Client", - "Server", - "Unknown" - ] + "StartAutomationExecutionResult":{ + "type":"structure", + "members":{ + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The unique ID of a newly scheduled automation execution.

    " + } + } }, - "GetDocumentRequest":{ + "StartSessionRequest":{ "type":"structure", - "required":["Name"], + "required":["Target"], "members":{ - "Name":{ + "Target":{ + "shape":"SessionTarget", + "documentation":"

    The instance to connect to for the session.

    " + }, + "DocumentName":{ "shape":"DocumentARN", - "documentation":"

    The name of the SSM document.

    " + "documentation":"

    The name of the SSM document to define the parameters and plugin settings for the session. For example, SSM-SessionManagerRunShell. If no document name is provided, a shell to the instance is launched by default.

    " + }, + "Parameters":{ + "shape":"SessionManagerParameters", + "documentation":"

    Reserved for future use.

    " } } }, - "GetDocumentResult":{ + "StartSessionResponse":{ "type":"structure", "members":{ - "Name":{ - "shape":"DocumentARN", - "documentation":"

    The name of the SSM document.

    " + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the session.

    " }, - "Content":{ - "shape":"DocumentContent", - "documentation":"

    The contents of the SSM document.

    " + "TokenValue":{ + "shape":"TokenValue", + "documentation":"

    An encrypted token value containing session and caller information. Used to authenticate the connection to the instance.

    " + }, + "StreamUrl":{ + "shape":"StreamUrl", + "documentation":"

    A URL back to SSM Agent on the instance that the Session Manager client uses to send commands and receive output from the instance. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)

    region represents the Region identifier for an AWS Region supported by AWS Systems Manager, such as us-east-2 for the US East (Ohio) Region. For a list of supported region values, see the Region column in Systems Manager service endpoints in the AWS General Reference.

    session-id represents the ID of a Session Manager session, such as 1a2b3c4dEXAMPLE.

    " } } }, - "IPAddress":{ + "StatusAdditionalInfo":{ "type":"string", - "max":46, - "min":1 + "max":1024 }, - "IamRole":{ + "StatusDetails":{ "type":"string", - "max":64 + "max":100, + "min":0 }, - "InstanceId":{ + "StatusMessage":{ "type":"string", - "pattern":"(^i-(\\w{8}|\\w{17})$)|(^mi-\\w{17}$)" - }, - "InstanceIdList":{ - "type":"list", - "member":{"shape":"InstanceId"}, - "max":50, + "max":1024, "min":1 }, - "InstanceInformation":{ + "StatusName":{"type":"string"}, + "StatusUnchanged":{ "type":"structure", "members":{ - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The instance ID.

    " + }, + "documentation":"

    The updated status is the same as the current status.

    ", + "exception":true + }, + "StepExecution":{ + "type":"structure", + "members":{ + "StepName":{ + "shape":"String", + "documentation":"

    The name of this execution step.

    " }, - "PingStatus":{ - "shape":"PingStatus", - "documentation":"

    Connection status of the SSM agent.

    " + "Action":{ + "shape":"AutomationActionName", + "documentation":"

    The action this step performs. The action determines the behavior of the step.

    " }, - "LastPingDateTime":{ - "shape":"DateTime", - "documentation":"

    The date and time when agent last pinged SSM service.

    ", + "TimeoutSeconds":{ + "shape":"Long", + "documentation":"

    The timeout seconds of the step.

    ", "box":true }, - "AgentVersion":{ - "shape":"Version", - "documentation":"

    The version of the SSM agent running on your Linux instance.

    " + "OnFailure":{ + "shape":"String", + "documentation":"

    The action to take if the step fails. The default value is Abort.

    " }, - "IsLatestVersion":{ - "shape":"Boolean", - "documentation":"

    Indicates whether latest version of the SSM agent is running on your instance.

    ", + "MaxAttempts":{ + "shape":"Integer", + "documentation":"

    The maximum number of tries to run the action of the step. The default value is 1.

    ", "box":true }, - "PlatformType":{ - "shape":"PlatformType", - "documentation":"

    The operating system platform type.

    " + "ExecutionStartTime":{ + "shape":"DateTime", + "documentation":"

    If a step has begun execution, this contains the time the step started. If the step is in Pending status, this field is not populated.

    " }, - "PlatformName":{ + "ExecutionEndTime":{ + "shape":"DateTime", + "documentation":"

    If a step has finished execution, this contains the time the execution ended. If the step has not yet concluded, this field is not populated.

    " + }, + "StepStatus":{ + "shape":"AutomationExecutionStatus", + "documentation":"

    The execution status for this step.

    " + }, + "ResponseCode":{ "shape":"String", - "documentation":"

    The name of the operating system platform running on your instance.

    " + "documentation":"

    The response code returned by the execution of the step.

    " }, - "PlatformVersion":{ + "Inputs":{ + "shape":"NormalStringMap", + "documentation":"

    Fully-resolved values passed into the step before execution.

    " + }, + "Outputs":{ + "shape":"AutomationParameterMap", + "documentation":"

    Returned values from the execution of the step.

    " + }, + "Response":{ "shape":"String", - "documentation":"

    The version of the OS platform running on your instance.

    " + "documentation":"

    A message associated with the response code for an execution.

    " }, - "ActivationId":{ - "shape":"ActivationId", - "documentation":"

    The activation ID created by SSM when the server or VM was registered.

    " + "FailureMessage":{ + "shape":"String", + "documentation":"

    If a step failed, this message explains why the execution failed.

    " }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

    The Amazon Identity and Access Management (IAM) role assigned to EC2 instances or managed instances.

    " + "FailureDetails":{ + "shape":"FailureDetails", + "documentation":"

    Information about the Automation failure.

    " }, - "RegistrationDate":{ - "shape":"DateTime", - "documentation":"

    The date the server or VM was registered with AWS as a managed instance.

    ", - "box":true + "StepExecutionId":{ + "shape":"String", + "documentation":"

    The unique ID of a step execution.

    " }, - "ResourceType":{ - "shape":"ResourceType", - "documentation":"

    The type of instance. Instances are either EC2 instances or managed instances.

    " + "OverriddenParameters":{ + "shape":"AutomationParameterMap", + "documentation":"

    A user-specified list of parameters to override when running a step.

    " }, - "Name":{ + "IsEnd":{ + "shape":"Boolean", + "documentation":"

    The flag which can be used to end automation no matter whether the step succeeds or fails.

    ", + "box":true + }, + "NextStep":{ "shape":"String", - "documentation":"

    The name of the managed instance.

    " + "documentation":"

    The next step after the step succeeds.

    ", + "box":true }, - "IPAddress":{ - "shape":"IPAddress", - "documentation":"

    The IP address of the managed instance.

    " + "IsCritical":{ + "shape":"Boolean", + "documentation":"

    The flag which can be used to help decide whether the failure of current step leads to the Automation failure.

    ", + "box":true }, - "ComputerName":{ - "shape":"ComputerName", - "documentation":"

    The fully qualified host name of the managed instance.

    " + "ValidNextSteps":{ + "shape":"ValidNextStepList", + "documentation":"

    Strategies used when step fails, we support Continue and Abort. Abort will fail the automation when the step fails. Continue will ignore the failure of current step and allow automation to run the next step. With conditional branching, we add step:stepName to support the automation to go to another specific step.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets for the step execution.

    ", + "box":true + }, + "TargetLocation":{ + "shape":"TargetLocation", + "documentation":"

    The combination of AWS Regions and accounts targeted by the current Automation execution.

    ", + "box":true } }, - "documentation":"

    Describes a filter for a specific list of instances.

    " + "documentation":"

    Detailed information about an the execution state of an Automation step.

    " }, - "InstanceInformationFilter":{ + "StepExecutionFilter":{ "type":"structure", "required":[ - "key", - "valueSet" + "Key", + "Values" ], "members":{ - "key":{ - "shape":"InstanceInformationFilterKey", - "documentation":"

    The name of the filter.

    " + "Key":{ + "shape":"StepExecutionFilterKey", + "documentation":"

    One or more keys to limit the results. Valid filter keys include the following: StepName, Action, StepExecutionId, StepExecutionStatus, StartTimeBefore, StartTimeAfter.

    " }, - "valueSet":{ - "shape":"InstanceInformationFilterValueSet", - "documentation":"

    The filter values.

    " + "Values":{ + "shape":"StepExecutionFilterValueList", + "documentation":"

    The values of the filter key.

    " } }, - "documentation":"

    Describes a filter for a specific list of instances.

    " + "documentation":"

    A filter to limit the amount of step execution information returned by the call.

    " }, - "InstanceInformationFilterKey":{ + "StepExecutionFilterKey":{ "type":"string", "enum":[ - "InstanceIds", - "AgentVersion", - "PingStatus", - "PlatformTypes", - "ActivationIds", - "IamRole", - "ResourceType" + "StartTimeBefore", + "StartTimeAfter", + "StepExecutionStatus", + "StepExecutionId", + "StepName", + "Action" ] }, - "InstanceInformationFilterList":{ + "StepExecutionFilterList":{ "type":"list", - "member":{ - "shape":"InstanceInformationFilter", - "locationName":"InstanceInformationFilter" - }, + "member":{"shape":"StepExecutionFilter"}, + "max":6, "min":1 }, - "InstanceInformationFilterValue":{ + "StepExecutionFilterValue":{ "type":"string", + "max":150, "min":1 }, - "InstanceInformationFilterValueSet":{ + "StepExecutionFilterValueList":{ "type":"list", - "member":{ - "shape":"InstanceInformationFilterValue", - "locationName":"InstanceInformationFilterValue" - }, - "max":100, + "member":{"shape":"StepExecutionFilterValue"}, + "max":10, "min":1 }, - "InstanceInformationList":{ + "StepExecutionList":{ "type":"list", - "member":{ - "shape":"InstanceInformation", - "locationName":"InstanceInformation" - } + "member":{"shape":"StepExecution"} }, - "InternalServerError":{ + "StopAutomationExecutionRequest":{ "type":"structure", + "required":["AutomationExecutionId"], "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    An error occurred on the server side.

    ", - "exception":true + "AutomationExecutionId":{ + "shape":"AutomationExecutionId", + "documentation":"

    The execution ID of the Automation to stop.

    " + }, + "Type":{ + "shape":"StopType", + "documentation":"

    The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.

    " + } + } }, - "InvalidActivation":{ + "StopAutomationExecutionResult":{ "type":"structure", "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The activation is not valid. The activation might have been deleted, or the ActivationId and the ActivationCode do not match.

    ", - "exception":true + } }, - "InvalidActivationId":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The activation ID is not valid. Verify the you entered the correct ActivationId or ActivationCode and try again.

    ", - "exception":true + "StopType":{ + "type":"string", + "enum":[ + "Complete", + "Cancel" + ] }, - "InvalidCommandId":{ + "StreamUrl":{"type":"string"}, + "String":{"type":"string"}, + "StringDateTime":{ + "type":"string", + "pattern":"^([\\-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24\\:?00)([\\.,]\\d(?!:))?)?(\\17[0-5]\\d([\\.,]\\d)?)?([zZ]|([\\-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?$" + }, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubTypeCountLimitExceededException":{ "type":"structure", "members":{ + "Message":{"shape":"String"} }, + "documentation":"

    The sub-type count exceeded the limit for the inventory type.

    ", "exception":true }, - "InvalidDocument":{ + "Tag":{ "type":"structure", + "required":[ + "Key", + "Value" + ], "members":{ - "Message":{ - "shape":"String", - "documentation":"

    The SSM document does not exist or the document is not available to the user. This exception can be issued by CreateAssociation, CreateAssociationBatch, DeleteAssociation, DeleteDocument, DescribeAssociation, DescribeDocument, GetDocument, SendCommand, or UpdateAssociationStatus.

    " + "Key":{ + "shape":"TagKey", + "documentation":"

    The name of the tag.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The value of the tag.

    " } }, - "documentation":"

    The specified document does not exist.

    ", - "exception":true + "documentation":"

    Metadata that you assign to your AWS resources. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. In Systems Manager, you can apply tags to documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines.

    " }, - "InvalidDocumentContent":{ + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":1000 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "Target":{ "type":"structure", "members":{ - "Message":{ - "shape":"String", - "documentation":"

    A description of the validation error.

    " + "Key":{ + "shape":"TargetKey", + "documentation":"

    User-defined criteria for sending commands that target instances that meet the criteria.

    " + }, + "Values":{ + "shape":"TargetValues", + "documentation":"

    User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to run a command on instances that include EC2 tags of ServerRole,WebServer.

    " } }, - "documentation":"

    The content for the SSM document is not valid.

    ", - "exception":true + "documentation":"

    An array of search criteria that targets instances using a Key,Value combination that you specify.

    Supported formats include the following.

    • Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3

    • Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2

    • Key=tag-key,Values=my-tag-key-1,my-tag-key-2

    • (Maintenance window targets only) Key=resource-groups:Name,Values=resource-group-name

    • (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2

    For example:

    • Key=InstanceIds,Values=i-02573cafcfEXAMPLE,i-0471e04240EXAMPLE,i-07782c72faEXAMPLE

    • Key=tag:CostCenter,Values=CostCenter1,CostCenter2,CostCenter3

    • Key=tag-key,Values=Name,Instance-Type,CostCenter

    • (Maintenance window targets only) Key=resource-groups:Name,Values=ProductionResourceGroup

      This example demonstrates how to target all resources in the resource group ProductionResourceGroup in your maintenance window.

    • (Maintenance window targets only) Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC

      This example demonstrates how to target only EC2 instances and VPCs in your maintenance window.

    • (State Manager association targets only) Key=InstanceIds,Values=*

      This example demonstrates how to target all managed instances in the AWS Region where the association was created.

    For information about how to send commands that target instances using Key,Value parameters, see Targeting multiple instances in the AWS Systems Manager User Guide.

    " }, - "InvalidDocumentOperation":{ + "TargetCount":{"type":"integer"}, + "TargetInUseException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    You attempted to delete a document while it is still shared. You must stop sharing the document before you can delete it.

    ", + "documentation":"

    You specified the Safe option for the DeregisterTargetFromMaintenanceWindow operation, but the target is still referenced in a task.

    ", "exception":true }, - "InvalidFilter":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The filter name is not valid. Verify the you entered the correct name and try again.

    ", - "exception":true + "TargetKey":{ + "type":"string", + "max":163, + "min":1, + "pattern":"^[\\p{L}\\p{Z}\\p{N}_.:/=\\-@]*$|resource-groups:ResourceTypeFilters|resource-groups:Name" }, - "InvalidFilterKey":{ + "TargetLocation":{ "type":"structure", "members":{ + "Accounts":{ + "shape":"Accounts", + "documentation":"

    The AWS accounts targeted by the current Automation execution.

    " + }, + "Regions":{ + "shape":"Regions", + "documentation":"

    The AWS Regions targeted by the current Automation execution.

    " + }, + "TargetLocationMaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of AWS accounts and AWS regions allowed to run the Automation concurrently

    ", + "box":true + }, + "TargetLocationMaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The maximum number of errors allowed before the system stops queueing additional Automation executions for the currently running Automation.

    ", + "box":true + }, + "ExecutionRoleName":{ + "shape":"ExecutionRoleName", + "documentation":"

    The Automation execution role used by the currently running Automation.

    ", + "box":true + } }, - "documentation":"

    The specified key is not valid.

    ", - "exception":true + "documentation":"

    The combination of AWS Regions and accounts targeted by the current Automation execution.

    " }, - "InvalidInstanceId":{ + "TargetLocations":{ + "type":"list", + "member":{"shape":"TargetLocation"}, + "max":100, + "min":1 + }, + "TargetMap":{ + "type":"map", + "key":{"shape":"TargetMapKey"}, + "value":{"shape":"TargetMapValueList"}, + "max":20, + "min":1 + }, + "TargetMapKey":{ + "type":"string", + "max":50, + "min":1 + }, + "TargetMapValue":{ + "type":"string", + "max":50, + "min":1 + }, + "TargetMapValueList":{ + "type":"list", + "member":{"shape":"TargetMapValue"}, + "max":25, + "min":0 + }, + "TargetMaps":{ + "type":"list", + "member":{"shape":"TargetMap"}, + "max":300, + "min":0 + }, + "TargetNotConnected":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    The instance is not in valid state. Valid states are: Running, Pending, Stopped, Stopping. Invalid states are: Shutting-down and Terminated.

    ", + "documentation":"

    The specified target instance for the session is not fully configured for use with Session Manager. For more information, see Getting started with Session Manager in the AWS Systems Manager User Guide.

    ", "exception":true }, - "InvalidInstanceInformationFilterValue":{ + "TargetParameterList":{ + "type":"list", + "member":{"shape":"ParameterValue"} + }, + "TargetType":{ + "type":"string", + "max":200, + "pattern":"^\\/[\\w\\.\\-\\:\\/]*$" + }, + "TargetValue":{"type":"string"}, + "TargetValues":{ + "type":"list", + "member":{"shape":"TargetValue"}, + "max":50, + "min":0 + }, + "Targets":{ + "type":"list", + "member":{"shape":"Target"}, + "max":5, + "min":0 + }, + "TerminateSessionRequest":{ "type":"structure", + "required":["SessionId"], "members":{ - "message":{"shape":"String"} - }, - "documentation":"

    The specified filter value is not valid.

    ", - "exception":true + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the session to terminate.

    " + } + } }, - "InvalidNextToken":{ + "TerminateSessionResponse":{ "type":"structure", "members":{ - }, - "documentation":"

    The specified token is not valid.

    ", - "exception":true + "SessionId":{ + "shape":"SessionId", + "documentation":"

    The ID of the session that has been terminated.

    " + } + } }, - "InvalidNotificationConfig":{ + "TimeoutSeconds":{ + "type":"integer", + "max":2592000, + "min":30 + }, + "TokenValue":{ + "type":"string", + "max":300, + "min":0 + }, + "TooManyTagsError":{ "type":"structure", "members":{ - "Message":{"shape":"String"} }, - "documentation":"

    One or more configuration items is not valid. Verify that a valid Amazon Resource Name (ARN) was provided for an Amazon SNS topic.

    ", + "documentation":"

    The Targets parameter includes too many tags. Remove one or more tags and try the command again.

    ", "exception":true }, - "InvalidOutputFolder":{ + "TooManyUpdates":{ "type":"structure", "members":{ + "Message":{"shape":"String"} }, - "documentation":"

    The S3 bucket does not exist.

    ", + "documentation":"

    There are concurrent updates for a resource that supports one update at a time.

    ", "exception":true }, - "InvalidParameters":{ + "TotalCount":{"type":"integer"}, + "TotalSizeLimitExceededException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    You must specify values for all required parameters in the SSM document. You can only supply values to parameters defined in the SSM document.

    ", + "documentation":"

    The size of inventory data has exceeded the total size limit for the resource.

    ", "exception":true }, - "InvalidPermissionType":{ + "UnsupportedCalendarException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    The permission type is not supported. Share is the only supported permission type.

    ", + "documentation":"

    The calendar entry contained in the specified Systems Manager document is not supported.

    ", "exception":true }, - "InvalidResourceId":{ + "UnsupportedFeatureRequiredException":{ "type":"structure", "members":{ + "Message":{"shape":"String"} }, - "documentation":"

    The resource ID is not valid. Verify that you entered the correct ID and try again.

    ", + "documentation":"

    Microsoft application patching is only available on EC2 instances and advanced instances. To patch Microsoft applications on on-premises servers and VMs, you must enable advanced instances. For more information, see Using the advanced-instances tier in the AWS Systems Manager User Guide.

    ", "exception":true }, - "InvalidResourceType":{ + "UnsupportedInventoryItemContextException":{ "type":"structure", "members":{ + "TypeName":{"shape":"InventoryItemTypeName"}, + "Message":{"shape":"String"} }, - "documentation":"

    The resource type is not valid. If you are attempting to tag an instance, the instance must be a registered, managed instance.

    ", + "documentation":"

    The Context attribute that you specified for the InventoryItem is not allowed for this inventory type. You can only use the Context attribute with inventory types like AWS:ComplianceItem.

    ", "exception":true }, - "InvalidRole":{ + "UnsupportedInventorySchemaVersionException":{ "type":"structure", "members":{ "Message":{"shape":"String"} }, - "documentation":"

    The role name can't contain invalid characters. Also verify that you specified an IAM role for notifications that includes the required trust policy. For information about configuring the IAM role for SSM notifications, see Configuring SNS Notifications SSM in the Amazon Elastic Compute Cloud User Guide .

    ", + "documentation":"

    Inventory item type schema version has to match supported versions in the service. Check output of GetInventorySchema to see the available schema version for each type.

    ", "exception":true }, - "InvocationTraceOutput":{ - "type":"string", - "max":2500 - }, - "KeyList":{ - "type":"list", - "member":{"shape":"TagKey"} - }, - "ListAssociationsRequest":{ - "type":"structure", - "required":["AssociationFilterList"], - "members":{ - "AssociationFilterList":{ - "shape":"AssociationFilterList", - "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " - }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " - } - } - }, - "ListAssociationsResult":{ - "type":"structure", - "members":{ - "Associations":{ - "shape":"AssociationList", - "documentation":"

    The associations.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " - } - } - }, - "ListCommandInvocationsRequest":{ + "UnsupportedOperatingSystem":{ "type":"structure", "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

    (Optional) The invocations for a specific command ID.

    " - }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    (Optional) The command execution details for a specific instance ID.

    " - }, - "MaxResults":{ - "shape":"CommandMaxResults", - "documentation":"

    (Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " - }, - "Filters":{ - "shape":"CommandFilterList", - "documentation":"

    (Optional) One or more filters. Use a filter to return a more specific list of results.

    " - }, - "Details":{ - "shape":"Boolean", - "documentation":"

    (Optional) If set this returns the response of the command executions and any command output. By default this is set to False.

    " - } - } + "Message":{"shape":"String"} + }, + "documentation":"

    The operating systems you specified is not supported, or the operation is not supported for the operating system. Valid operating systems include: Windows, AmazonLinux, RedhatEnterpriseLinux, and Ubuntu.

    ", + "exception":true }, - "ListCommandInvocationsResult":{ + "UnsupportedParameterType":{ "type":"structure", "members":{ - "CommandInvocations":{ - "shape":"CommandInvocationList", - "documentation":"

    (Optional) A list of all invocations.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " - } - } + "message":{"shape":"String"} + }, + "documentation":"

    The parameter type is not supported.

    ", + "exception":true }, - "ListCommandsRequest":{ + "UnsupportedPlatformType":{ "type":"structure", "members":{ - "CommandId":{ - "shape":"CommandId", - "documentation":"

    (Optional) If provided, lists only the specified command.

    " + "Message":{"shape":"String"} + }, + "documentation":"

    The document does not support the platform type of the given instance ID(s). For example, you sent an document for a Windows instance to a Linux instance.

    ", + "exception":true + }, + "UpdateAssociationRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{ + "shape":"AssociationId", + "documentation":"

    The ID of the association you want to update.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    (Optional) Lists commands issued against this instance ID.

    " + "Parameters":{ + "shape":"Parameters", + "documentation":"

    The parameters you want to update for the association. If you create a parameter using Parameter Store, you can reference the parameter using {{ssm:parameter-name}}

    " }, - "MaxResults":{ - "shape":"CommandMaxResults", - "documentation":"

    (Optional) The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    The document version you want update for the association.

    " + }, + "ScheduleExpression":{ + "shape":"ScheduleExpression", + "documentation":"

    The cron expression used to schedule the association that you want to update.

    " + }, + "OutputLocation":{ + "shape":"InstanceAssociationOutputLocation", + "documentation":"

    An S3 bucket where you want to store the results of this request.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the SSM document that contains the configuration information for the instance. You can specify Command or Automation documents.

    You can specify AWS-predefined documents, documents you created, or a document that is shared with you from another account.

    For SSM documents that are shared with you from other AWS accounts, you must specify the complete SSM document ARN, in the following format:

    arn:aws:ssm:region:account-id:document/document-name

    For example:

    arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document

    For AWS-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline or My-Document.

    " }, - "Filters":{ - "shape":"CommandFilterList", - "documentation":"

    (Optional) One or more filters. Use a filter to return a more specific list of results.

    " + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets of the association.

    " + }, + "AssociationName":{ + "shape":"AssociationName", + "documentation":"

    The name of the association that you want to update.

    " + }, + "AssociationVersion":{ + "shape":"AssociationVersion", + "documentation":"

    This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify $LATEST, or omit this parameter.

    " + }, + "AutomationTargetParameterName":{ + "shape":"AutomationTargetParameterName", + "documentation":"

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 instances and set MaxError to 10%, then the system stops sending the request when the sixth error is received.

    Executions that are already running an association when MaxErrors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set MaxConcurrency to 1 so that executions proceed one at a time.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

    If a new instance starts and attempts to run an association while Systems Manager is running MaxConcurrency associations, the association is allowed to run. During the next association interval, the new instance will process its association within the limit specified for MaxConcurrency.

    " + }, + "ComplianceSeverity":{ + "shape":"AssociationComplianceSeverity", + "documentation":"

    The severity level to assign to the association.

    " + }, + "SyncCompliance":{ + "shape":"AssociationSyncCompliance", + "documentation":"

    The mode for generating association compliance. You can specify AUTO or MANUAL. In AUTO mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is COMPLIANT. If the association execution doesn't run successfully, the association is NON-COMPLIANT.

    In MANUAL mode, you must specify the AssociationId as a parameter for the PutComplianceItems API action. In this case, compliance data is not managed by State Manager. It is managed by your direct call to the PutComplianceItems API action.

    By default, all associations use AUTO mode.

    " } } }, - "ListCommandsResult":{ + "UpdateAssociationResult":{ "type":"structure", "members":{ - "Commands":{ - "shape":"CommandList", - "documentation":"

    (Optional) The list of commands requested by the user.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    (Optional) The token for the next set of items to return. (You received this token from a previous call.)

    " + "AssociationDescription":{ + "shape":"AssociationDescription", + "documentation":"

    The description of the association that was updated.

    " } } }, - "ListDocumentsRequest":{ + "UpdateAssociationStatusRequest":{ "type":"structure", + "required":[ + "Name", + "InstanceId", + "AssociationStatus" + ], "members":{ - "DocumentFilterList":{ - "shape":"DocumentFilterList", - "documentation":"

    One or more filters. Use a filter to return a more specific list of results.

    " + "Name":{ + "shape":"DocumentARN", + "documentation":"

    The name of the Systems Manager document.

    " }, - "MaxResults":{ - "shape":"MaxResults", - "documentation":"

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

    ", - "box":true + "InstanceId":{ + "shape":"InstanceId", + "documentation":"

    The ID of the instance.

    " }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token for the next set of items to return. (You received this token from a previous call.)

    " + "AssociationStatus":{ + "shape":"AssociationStatus", + "documentation":"

    The association status.

    " } } }, - "ListDocumentsResult":{ + "UpdateAssociationStatusResult":{ "type":"structure", "members":{ - "DocumentIdentifiers":{ - "shape":"DocumentIdentifierList", - "documentation":"

    The names of the SSM documents.

    " - }, - "NextToken":{ - "shape":"NextToken", - "documentation":"

    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

    " + "AssociationDescription":{ + "shape":"AssociationDescription", + "documentation":"

    Information about the association.

    " } } }, - "ListTagsForResourceRequest":{ + "UpdateDocumentDefaultVersionRequest":{ "type":"structure", "required":[ - "ResourceType", - "ResourceId" + "Name", + "DocumentVersion" ], "members":{ - "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

    Returns a list of tags for a specific resource type.

    " + "Name":{ + "shape":"DocumentName", + "documentation":"

    The name of a custom document that you want to set as the default version.

    " }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

    The resource ID for which you want to see a list of tags.

    " + "DocumentVersion":{ + "shape":"DocumentVersionNumber", + "documentation":"

    The version of a custom document that you want to set as the default version.

    " } } }, - "ListTagsForResourceResult":{ + "UpdateDocumentDefaultVersionResult":{ "type":"structure", "members":{ - "TagList":{ - "shape":"TagList", - "documentation":"

    A list of tags.

    " + "Description":{ + "shape":"DocumentDefaultVersionDescription", + "documentation":"

    The description of a custom document that you want to set as the default version.

    " } } }, - "ManagedInstanceId":{ - "type":"string", - "pattern":"^mi-[0-9a-f]{17}$" - }, - "MaxDocumentSizeExceeded":{ - "type":"structure", - "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The size limit of an SSM document is 64 KB.

    ", - "exception":true - }, - "MaxResults":{ - "type":"integer", - "max":50, - "min":1 - }, - "MaxResultsEC2Compatible":{ - "type":"integer", - "max":50, - "min":5 - }, - "ModifyDocumentPermissionRequest":{ + "UpdateDocumentRequest":{ "type":"structure", "required":[ - "Name", - "PermissionType" + "Content", + "Name" ], "members":{ + "Content":{ + "shape":"DocumentContent", + "documentation":"

    A valid JSON or YAML string.

    " + }, + "Attachments":{ + "shape":"AttachmentsSourceList", + "documentation":"

    A list of key and value pairs that describe attachments to a version of a document.

    " + }, "Name":{ "shape":"DocumentName", - "documentation":"

    The name of the document that you want to share.

    " + "documentation":"

    The name of the document that you want to update.

    " }, - "PermissionType":{ - "shape":"DocumentPermissionType", - "documentation":"

    The permission type for the document. The permission type can be Share.

    " + "VersionName":{ + "shape":"DocumentVersionName", + "documentation":"

    An optional field specifying the version of the artifact you are updating with the document. For example, \"Release 12, Update 6\". This value is unique across all versions of a document, and cannot be changed.

    " }, - "AccountIdsToAdd":{ - "shape":"AccountIdList", - "documentation":"

    The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.

    " + "DocumentVersion":{ + "shape":"DocumentVersion", + "documentation":"

    (Required) The latest version of the document that you want to update. The latest document version can be specified using the $LATEST variable or by the version number. Updating a previous version of a document is not supported.

    " }, - "AccountIdsToRemove":{ - "shape":"AccountIdList", - "documentation":"

    The AWS user accounts that should no longer have access to the document. The AWS user account can either be a group of account IDs or All. This action has a higher priority than AccountIdsToAdd. If you specify an account ID to add and the same ID to remove, the system removes access to the document.

    " + "DocumentFormat":{ + "shape":"DocumentFormat", + "documentation":"

    Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.

    " + }, + "TargetType":{ + "shape":"TargetType", + "documentation":"

    Specify a new target type for the document.

    " } } }, - "ModifyDocumentPermissionResponse":{ + "UpdateDocumentResult":{ "type":"structure", "members":{ + "DocumentDescription":{ + "shape":"DocumentDescription", + "documentation":"

    A description of the document that was updated.

    " + } } }, - "NextToken":{"type":"string"}, - "NotificationArn":{"type":"string"}, - "NotificationConfig":{ + "UpdateMaintenanceWindowRequest":{ "type":"structure", + "required":["WindowId"], "members":{ - "NotificationArn":{ - "shape":"NotificationArn", - "documentation":"

    An Amazon Resource Name (ARN) for a Simple Notification Service (SNS) topic. SSM pushes notifications about command status changes to this topic.

    " + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window to update.

    " }, - "NotificationEvents":{ - "shape":"NotificationEventList", - "documentation":"

    The different events for which you can receive notifications. These events include the following: All (events), InProgress, Success, TimedOut, Cancelled, Failed. To learn more about these events, see Monitoring Commands in the Amazon Elastic Compute Cloud User Guide .

    " + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " }, - "NotificationType":{ - "shape":"NotificationType", - "documentation":"

    Command: Receive notification when the status of a command changes. Invocation: For commands sent to multiple instances, receive notification on a per-instance basis when the status of a command changes.

    " + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description for the update request.

    " + }, + "StartDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

    " + }, + "EndDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. EndDate allows you to set a date and time in the future when the maintenance window will no longer run.

    " + }, + "Schedule":{ + "shape":"MaintenanceWindowSchedule", + "documentation":"

    The schedule of the maintenance window in the form of a cron or rate expression.

    " + }, + "ScheduleTimezone":{ + "shape":"MaintenanceWindowTimezone", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

    " + }, + "Duration":{ + "shape":"MaintenanceWindowDurationHours", + "documentation":"

    The duration of the maintenance window in hours.

    ", + "box":true + }, + "Cutoff":{ + "shape":"MaintenanceWindowCutoff", + "documentation":"

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

    ", + "box":true + }, + "AllowUnassociatedTargets":{ + "shape":"MaintenanceWindowAllowUnassociatedTargets", + "documentation":"

    Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

    ", + "box":true + }, + "Enabled":{ + "shape":"MaintenanceWindowEnabled", + "documentation":"

    Whether the maintenance window is enabled.

    ", + "box":true + }, + "Replace":{ + "shape":"Boolean", + "documentation":"

    If True, then all fields that are required by the CreateMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

    ", + "box":true } - }, - "documentation":"

    Configurations for sending notifications.

    " - }, - "NotificationEvent":{ - "type":"string", - "enum":[ - "All", - "InProgress", - "Success", - "TimedOut", - "Cancelled", - "Failed" - ] - }, - "NotificationEventList":{ - "type":"list", - "member":{"shape":"NotificationEvent"} - }, - "NotificationType":{ - "type":"string", - "enum":[ - "Command", - "Invocation" - ] - }, - "ParameterName":{"type":"string"}, - "ParameterValue":{"type":"string"}, - "ParameterValueList":{ - "type":"list", - "member":{"shape":"ParameterValue"} - }, - "Parameters":{ - "type":"map", - "key":{"shape":"ParameterName"}, - "value":{"shape":"ParameterValueList"} - }, - "PingStatus":{ - "type":"string", - "enum":[ - "Online", - "ConnectionLost", - "Inactive" - ] - }, - "PlatformType":{ - "type":"string", - "enum":[ - "Windows", - "Linux" - ] - }, - "PlatformTypeList":{ - "type":"list", - "member":{ - "shape":"PlatformType", - "locationName":"PlatformType" } }, - "RegistrationLimit":{ - "type":"integer", - "max":1000, - "min":1 - }, - "RegistrationsCount":{ - "type":"integer", - "max":1000, - "min":1 + "UpdateMaintenanceWindowResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the created maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The name of the maintenance window.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description of the update.

    " + }, + "StartDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become active. The maintenance window will not run before this specified time.

    " + }, + "EndDate":{ + "shape":"MaintenanceWindowStringDateTime", + "documentation":"

    The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled to become inactive. The maintenance window will not run after this specified time.

    " + }, + "Schedule":{ + "shape":"MaintenanceWindowSchedule", + "documentation":"

    The schedule of the maintenance window in the form of a cron or rate expression.

    " + }, + "ScheduleTimezone":{ + "shape":"MaintenanceWindowTimezone", + "documentation":"

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.

    " + }, + "Duration":{ + "shape":"MaintenanceWindowDurationHours", + "documentation":"

    The duration of the maintenance window in hours.

    " + }, + "Cutoff":{ + "shape":"MaintenanceWindowCutoff", + "documentation":"

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

    " + }, + "AllowUnassociatedTargets":{ + "shape":"MaintenanceWindowAllowUnassociatedTargets", + "documentation":"

    Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

    " + }, + "Enabled":{ + "shape":"MaintenanceWindowEnabled", + "documentation":"

    Whether the maintenance window is enabled.

    " + } + } }, - "RemoveTagsFromResourceRequest":{ + "UpdateMaintenanceWindowTargetRequest":{ "type":"structure", "required":[ - "ResourceType", - "ResourceId", - "TagKeys" + "WindowId", + "WindowTargetId" ], "members":{ - "ResourceType":{ - "shape":"ResourceTypeForTagging", - "documentation":"

    The type of resource of which you want to remove a tag.

    " + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The maintenance window ID with which to modify the target.

    " }, - "ResourceId":{ - "shape":"ResourceId", - "documentation":"

    The resource ID for which you want to remove tags.

    " + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The target ID to modify.

    " }, - "TagKeys":{ - "shape":"KeyList", - "documentation":"

    Tag keys that you want to remove from the specified resource.

    " + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets to add or replace.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    A name for the update.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    An optional description for the update.

    " + }, + "Replace":{ + "shape":"Boolean", + "documentation":"

    If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

    ", + "box":true } } }, - "RemoveTagsFromResourceResult":{ + "UpdateMaintenanceWindowTargetResult":{ "type":"structure", "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The maintenance window ID specified in the update request.

    " + }, + "WindowTargetId":{ + "shape":"MaintenanceWindowTargetId", + "documentation":"

    The target ID specified in the update request.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The updated targets.

    " + }, + "OwnerInformation":{ + "shape":"OwnerInformation", + "documentation":"

    The updated owner.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The updated name.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    The updated description.

    " + } } }, - "ResourceId":{ - "type":"string", - "pattern":"^mi-[0-9a-f]{17}$" - }, - "ResourceType":{ - "type":"string", - "enum":[ - "ManagedInstance", - "Document", - "EC2Instance" - ] - }, - "ResourceTypeForTagging":{ - "type":"string", - "enum":["ManagedInstance"] - }, - "ResponseCode":{"type":"integer"}, - "S3BucketName":{ - "type":"string", - "max":63, - "min":3 - }, - "S3KeyPrefix":{ - "type":"string", - "max":500 - }, - "SendCommandRequest":{ + "UpdateMaintenanceWindowTaskRequest":{ "type":"structure", "required":[ - "InstanceIds", - "DocumentName" + "WindowId", + "WindowTaskId" ], "members":{ - "InstanceIds":{ - "shape":"InstanceIdList", - "documentation":"

    Required. The instance IDs where the command should execute. You can specify a maximum of 50 IDs.

    " + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The maintenance window ID that contains the task to modify.

    " }, - "DocumentName":{ - "shape":"DocumentARN", - "documentation":"

    Required. The name of the SSM document to execute. This can be an SSM public document or a custom document.

    " + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The task ID to modify.

    " }, - "DocumentHash":{ - "shape":"DocumentHash", - "documentation":"

    The Sha256 or Sha1 hash created by the system when the document was created.

    Sha1 hashes have been deprecated.

    " + "Targets":{ + "shape":"Targets", + "documentation":"

    The targets (either instances or tags) to modify. Instances are specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using Key=tag_name,Values=tag_value.

    " }, - "DocumentHashType":{ - "shape":"DocumentHashType", - "documentation":"

    Sha256 or Sha1.

    Sha1 hashes have been deprecated.

    " + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The task ARN to modify.

    " }, - "TimeoutSeconds":{ - "shape":"TimeoutSeconds", - "documentation":"

    If this time is reached and the command has not already started executing, it will not execute.

    ", + "ServiceRoleArn":{ + "shape":"ServiceRole", + "documentation":"

    The ARN of the IAM service role for Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow.

    For more information, see the following topics in the in the AWS Systems Manager User Guide:

    " + }, + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParameters", + "documentation":"

    The parameters to modify.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    The map has the following format:

    Key: string, between 1 and 255 characters

    Value: an array of strings, each string is between 1 and 255 characters

    " + }, + "TaskInvocationParameters":{ + "shape":"MaintenanceWindowTaskInvocationParameters", + "documentation":"

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

    ", "box":true }, - "Comment":{ - "shape":"Comment", - "documentation":"

    User-specified information about the command, such as a brief description of what the command should do.

    " + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

    " + }, + "LoggingInfo":{ + "shape":"LoggingInfo", + "documentation":"

    The new logging location in Amazon S3 to specify.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " }, - "Parameters":{ - "shape":"Parameters", - "documentation":"

    The required and optional parameters specified in the SSM document being executed.

    " + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The new task name to specify.

    " }, - "OutputS3BucketName":{ - "shape":"S3BucketName", - "documentation":"

    The name of the S3 bucket where command execution responses should be stored.

    " + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    The new task description to specify.

    " }, - "OutputS3KeyPrefix":{ - "shape":"S3KeyPrefix", - "documentation":"

    The directory structure within the S3 bucket where the responses should be stored.

    " + "Replace":{ + "shape":"Boolean", + "documentation":"

    If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action are also required for this API request. Optional fields that are not specified are set to null.

    ", + "box":true + } + } + }, + "UpdateMaintenanceWindowTaskResult":{ + "type":"structure", + "members":{ + "WindowId":{ + "shape":"MaintenanceWindowId", + "documentation":"

    The ID of the maintenance window that was updated.

    " + }, + "WindowTaskId":{ + "shape":"MaintenanceWindowTaskId", + "documentation":"

    The task ID of the maintenance window that was updated.

    " + }, + "Targets":{ + "shape":"Targets", + "documentation":"

    The updated target values.

    " + }, + "TaskArn":{ + "shape":"MaintenanceWindowTaskArn", + "documentation":"

    The updated task ARN value.

    " }, "ServiceRoleArn":{ "shape":"ServiceRole", - "documentation":"

    The IAM role that SSM uses to send notifications.

    " + "documentation":"

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for maintenance window Run Command tasks.

    " }, - "NotificationConfig":{ - "shape":"NotificationConfig", - "documentation":"

    Configurations for sending notifications.

    " + "TaskParameters":{ + "shape":"MaintenanceWindowTaskParameters", + "documentation":"

    The updated parameter values.

    TaskParameters has been deprecated. To specify parameters to pass to a task when it runs, instead use the Parameters option in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "TaskInvocationParameters":{ + "shape":"MaintenanceWindowTaskInvocationParameters", + "documentation":"

    The updated parameter values.

    " + }, + "Priority":{ + "shape":"MaintenanceWindowTaskPriority", + "documentation":"

    The updated priority value.

    " + }, + "MaxConcurrency":{ + "shape":"MaxConcurrency", + "documentation":"

    The updated MaxConcurrency value.

    " + }, + "MaxErrors":{ + "shape":"MaxErrors", + "documentation":"

    The updated MaxErrors value.

    " + }, + "LoggingInfo":{ + "shape":"LoggingInfo", + "documentation":"

    The updated logging information in Amazon S3.

    LoggingInfo has been deprecated. To specify an S3 bucket to contain logs, instead use the OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    " + }, + "Name":{ + "shape":"MaintenanceWindowName", + "documentation":"

    The updated task name.

    " + }, + "Description":{ + "shape":"MaintenanceWindowDescription", + "documentation":"

    The updated task description.

    " } } }, - "SendCommandResult":{ + "UpdateManagedInstanceRoleRequest":{ "type":"structure", + "required":[ + "InstanceId", + "IamRole" + ], "members":{ - "Command":{ - "shape":"Command", - "documentation":"

    The request as it was received by SSM. Also provides the command ID which can be used future references to this request.

    " + "InstanceId":{ + "shape":"ManagedInstanceId", + "documentation":"

    The ID of the managed instance where you want to update the role.

    " + }, + "IamRole":{ + "shape":"IamRole", + "documentation":"

    The IAM role you want to assign or change.

    " } } }, - "ServiceRole":{"type":"string"}, - "StatusAdditionalInfo":{ - "type":"string", - "max":1024 - }, - "StatusMessage":{ - "type":"string", - "max":1024 - }, - "StatusUnchanged":{ + "UpdateManagedInstanceRoleResult":{ "type":"structure", "members":{ - }, - "documentation":"

    The updated status is the same as the current status.

    ", - "exception":true - }, - "String":{"type":"string"}, - "StringList":{ - "type":"list", - "member":{"shape":"String"} + } }, - "Tag":{ + "UpdateOpsItemRequest":{ "type":"structure", - "required":[ - "Key", - "Value" - ], + "required":["OpsItemId"], "members":{ - "Key":{ - "shape":"TagKey", - "documentation":"

    The name of the tag.

    " + "Description":{ + "shape":"OpsItemDescription", + "documentation":"

    Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue.

    " }, - "Value":{ - "shape":"TagValue", - "documentation":"

    The value of the tag.

    " + "OperationalData":{ + "shape":"OpsItemOperationalData", + "documentation":"

    Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.

    Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

    Operational data keys can't begin with the following: amazon, aws, amzn, ssm, /amazon, /aws, /amzn, /ssm.

    You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API action) can view and search on the specified data. Operational data that is not searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API action).

    Use the /aws/resources key in OperationalData to specify a related resource in the request. Use the /aws/automations key in OperationalData to associate an Automation runbook with the OpsItem. To view AWS CLI example commands that use these keys, see Creating OpsItems manually in the AWS Systems Manager User Guide.

    " + }, + "OperationalDataToDelete":{ + "shape":"OpsItemOpsDataKeysList", + "documentation":"

    Keys that you want to remove from the OperationalData map.

    " + }, + "Notifications":{ + "shape":"OpsItemNotifications", + "documentation":"

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

    " + }, + "Priority":{ + "shape":"OpsItemPriority", + "documentation":"

    The importance of this OpsItem in relation to other OpsItems in the system.

    " + }, + "RelatedOpsItems":{ + "shape":"RelatedOpsItems", + "documentation":"

    One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

    " + }, + "Status":{ + "shape":"OpsItemStatus", + "documentation":"

    The OpsItem status. Status can be Open, In Progress, or Resolved. For more information, see Editing OpsItem details in the AWS Systems Manager User Guide.

    " + }, + "OpsItemId":{ + "shape":"OpsItemId", + "documentation":"

    The ID of the OpsItem.

    " + }, + "Title":{ + "shape":"OpsItemTitle", + "documentation":"

    A short heading that describes the nature of the OpsItem and the impacted resource.

    " + }, + "Category":{ + "shape":"OpsItemCategory", + "documentation":"

    Specify a new category for an OpsItem.

    " + }, + "Severity":{ + "shape":"OpsItemSeverity", + "documentation":"

    Specify a new severity for an OpsItem.

    " } - }, - "documentation":"

    Metadata that you assign to your managed instances. Tags enable you to categorize your managed instances in different ways, for example, by purpose, owner, or environment.

    " - }, - "TagKey":{ - "type":"string", - "max":128, - "min":1, - "pattern":"^(?!^(?i)aws:)(?=^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*$).*$" - }, - "TagList":{ - "type":"list", - "member":{"shape":"Tag"} - }, - "TagValue":{ - "type":"string", - "max":256, - "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + } }, - "TimeoutSeconds":{ - "type":"integer", - "max":2592000, - "min":30 + "UpdateOpsItemResponse":{ + "type":"structure", + "members":{ + } }, - "TooManyUpdates":{ + "UpdatePatchBaselineRequest":{ "type":"structure", + "required":["BaselineId"], "members":{ - }, - "documentation":"

    There are concurrent updates for a resource that supports one update at a time.

    ", - "exception":true + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the patch baseline to update.

    " + }, + "Name":{ + "shape":"BaselineName", + "documentation":"

    The name of the patch baseline.

    " + }, + "GlobalFilters":{ + "shape":"PatchFilterGroup", + "documentation":"

    A set of global filters used to include patches in the baseline.

    " + }, + "ApprovalRules":{ + "shape":"PatchRuleGroup", + "documentation":"

    A set of rules used to include patches in the baseline.

    " + }, + "ApprovedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly approved patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see About package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    " + }, + "ApprovedPatchesComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    Assigns a new compliance severity level to an existing patch baseline.

    " + }, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

    ", + "box":true + }, + "RejectedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly rejected patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see About package name formats for approved and rejected patch lists in the AWS Systems Manager User Guide.

    " + }, + "RejectedPatchesAction":{ + "shape":"PatchAction", + "documentation":"

    The action for Patch Manager to take on patches included in the RejectedPackages list.

    • ALLOW_AS_DEPENDENCY: A package in the Rejected patches list is installed only if it is a dependency of another package. It is considered compliant with the patch baseline, and its status is reported as InstalledOther. This is the default action if no option is specified.

    • BLOCK: Packages in the RejectedPatches list, and packages that include them as dependencies, are not installed under any circumstances. If a package was installed before it was added to the Rejected patches list, it is considered non-compliant with the patch baseline, and its status is reported as InstalledRejected.

    " + }, + "Description":{ + "shape":"BaselineDescription", + "documentation":"

    A description of the patch baseline.

    " + }, + "Sources":{ + "shape":"PatchSourceList", + "documentation":"

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

    " + }, + "Replace":{ + "shape":"Boolean", + "documentation":"

    If True, then all fields that are required by the CreatePatchBaseline action are also required for this API request. Optional fields that are not specified are set to null.

    ", + "box":true + } + } }, - "UnsupportedPlatformType":{ + "UpdatePatchBaselineResult":{ "type":"structure", "members":{ - "Message":{"shape":"String"} - }, - "documentation":"

    The document does not support the platform type of the given instance ID(s). For example, you sent an SSM document for a Windows instance to a Linux instance.

    ", - "exception":true + "BaselineId":{ + "shape":"BaselineId", + "documentation":"

    The ID of the deleted patch baseline.

    " + }, + "Name":{ + "shape":"BaselineName", + "documentation":"

    The name of the patch baseline.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    The operating system rule used by the updated patch baseline.

    " + }, + "GlobalFilters":{ + "shape":"PatchFilterGroup", + "documentation":"

    A set of global filters used to exclude patches from the baseline.

    " + }, + "ApprovalRules":{ + "shape":"PatchRuleGroup", + "documentation":"

    A set of rules used to include patches in the baseline.

    " + }, + "ApprovedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly approved patches for the baseline.

    " + }, + "ApprovedPatchesComplianceLevel":{ + "shape":"PatchComplianceLevel", + "documentation":"

    The compliance severity level assigned to the patch baseline after the update completed.

    " + }, + "ApprovedPatchesEnableNonSecurity":{ + "shape":"Boolean", + "documentation":"

    Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.

    ", + "box":true + }, + "RejectedPatches":{ + "shape":"PatchIdList", + "documentation":"

    A list of explicitly rejected patches for the baseline.

    " + }, + "RejectedPatchesAction":{ + "shape":"PatchAction", + "documentation":"

    The action specified to take on patches included in the RejectedPatches list. A patch can be allowed only if it is a dependency of another package, or blocked entirely along with packages that include it as a dependency.

    " + }, + "CreatedDate":{ + "shape":"DateTime", + "documentation":"

    The date when the patch baseline was created.

    " + }, + "ModifiedDate":{ + "shape":"DateTime", + "documentation":"

    The date when the patch baseline was last modified.

    " + }, + "Description":{ + "shape":"BaselineDescription", + "documentation":"

    A description of the Patch Baseline.

    " + }, + "Sources":{ + "shape":"PatchSourceList", + "documentation":"

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

    " + } + } }, - "UpdateAssociationStatusRequest":{ + "UpdateResourceDataSyncRequest":{ "type":"structure", "required":[ - "Name", - "InstanceId", - "AssociationStatus" + "SyncName", + "SyncType", + "SyncSource" ], "members":{ - "Name":{ - "shape":"DocumentName", - "documentation":"

    The name of the SSM document.

    " + "SyncName":{ + "shape":"ResourceDataSyncName", + "documentation":"

    The name of the resource data sync you want to update.

    " }, - "InstanceId":{ - "shape":"InstanceId", - "documentation":"

    The ID of the instance.

    " + "SyncType":{ + "shape":"ResourceDataSyncType", + "documentation":"

    The type of resource data sync. The supported SyncType is SyncFromSource.

    " }, - "AssociationStatus":{ - "shape":"AssociationStatus", - "documentation":"

    The association status.

    " + "SyncSource":{ + "shape":"ResourceDataSyncSource", + "documentation":"

    Specify information about the data sources to synchronize.

    " } } }, - "UpdateAssociationStatusResult":{ + "UpdateResourceDataSyncResult":{ "type":"structure", "members":{ - "AssociationDescription":{ - "shape":"AssociationDescription", - "documentation":"

    Information about the association.

    " - } } }, - "UpdateManagedInstanceRoleRequest":{ + "UpdateServiceSettingRequest":{ "type":"structure", "required":[ - "InstanceId", - "IamRole" + "SettingId", + "SettingValue" ], "members":{ - "InstanceId":{ - "shape":"ManagedInstanceId", - "documentation":"

    The ID of the managed instance where you want to update the role.

    " + "SettingId":{ + "shape":"ServiceSettingId", + "documentation":"

    The Amazon Resource Name (ARN) of the service setting to reset. For example, arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled. The setting ID can be one of the following.

    • /ssm/parameter-store/default-parameter-tier

    • /ssm/parameter-store/high-throughput-enabled

    • /ssm/managed-instance/activation-tier

    " }, - "IamRole":{ - "shape":"IamRole", - "documentation":"

    The IAM role you want to assign or change.

    " + "SettingValue":{ + "shape":"ServiceSettingValue", + "documentation":"

    The new value to specify for the service setting. For the /ssm/parameter-store/default-parameter-tier setting ID, the setting value can be one of the following.

    • Standard

    • Advanced

    • Intelligent-Tiering

    For the /ssm/parameter-store/high-throughput-enabled, and /ssm/managed-instance/activation-tier setting IDs, the setting value can be true or false.

    " } - } + }, + "documentation":"

    The request body of the UpdateServiceSetting API action.

    " }, - "UpdateManagedInstanceRoleResult":{ + "UpdateServiceSettingResult":{ "type":"structure", "members":{ - } + }, + "documentation":"

    The result body of the UpdateServiceSetting API action.

    " + }, + "Url":{"type":"string"}, + "ValidNextStep":{ + "type":"string", + "max":65535, + "min":1 + }, + "ValidNextStepList":{ + "type":"list", + "member":{"shape":"ValidNextStep"} }, "Version":{ "type":"string", "pattern":"^[0-9]{1,6}(\\.[0-9]{1,6}){2,3}$" } }, - "documentation":"

    Amazon EC2 Simple Systems Manager (SSM) enables you to remotely manage the configuration of your Amazon EC2 instances, virtual machines (VMs), or servers in your on-premises environment or in an environment provided by other cloud providers using scripts, commands, or the Amazon EC2 console. SSM includes an on-demand solution called Amazon EC2 Run Command and a lightweight instance configuration solution called SSM Config.

    This references is intended to be used with the EC2 Run Command User Guide for Linux or Windows.

    You must register your on-premises servers and VMs through an activation process before you can configure them using Run Command. Registered servers and VMs are called managed instances. For more information, see Setting Up Run Command On Managed Instances (On-Premises Servers and VMs) on Linux or Setting Up Run Command On Managed Instances (On-Premises Servers and VMs) on Windows.

    Run Command

    Run Command provides an on-demand experience for executing commands. You can use pre-defined SSM documents to perform the actions listed later in this section, or you can create your own documents. With these documents, you can remotely configure your instances by sending commands using the Commands page in the Amazon EC2 console, AWS Tools for Windows PowerShell, the AWS CLI, or AWS SDKs.

    Run Command reports the status of the command execution for each instance targeted by a command. You can also audit the command execution to understand who executed commands, when, and what changes were made. By switching between different SSM documents, you can quickly configure your instances with different types of commands. To get started with Run Command, verify that your environment meets the prerequisites for remotely running commands on EC2 instances (Linux or Windows).

    SSM Config

    SSM Config is a lightweight instance configuration solution. SSM Config is currently only available for Windows instances. With SSM Config, you can specify a setup configuration for your instances. SSM Config is similar to EC2 User Data, which is another way of running one-time scripts or applying settings during instance launch. SSM Config is an extension of this capability. Using SSM documents, you can specify which actions the system should perform on your instances, including which applications to install, which AWS Directory Service directory to join, which Microsoft PowerShell modules to install, etc. If an instance is missing one or more of these configurations, the system makes those changes. By default, the system checks every five minutes to see if there is a new configuration to apply as defined in a new SSM document. If so, the system updates the instances accordingly. In this way, you can remotely maintain a consistent configuration baseline on your instances. SSM Config is available using the AWS CLI or the AWS Tools for Windows PowerShell. For more information, see Managing Windows Instance Configuration.

    SSM Config and Run Command include the following pre-defined documents.

    Linux

    • AWS-RunShellScript to run shell scripts

    • AWS-UpdateSSMAgent to update the Amazon SSM agent

    Windows

    • AWS-JoinDirectoryServiceDomain to join an AWS Directory

    • AWS-RunPowerShellScript to run PowerShell commands or scripts

    • AWS-UpdateEC2Config to update the EC2Config service

    • AWS-ConfigureWindowsUpdate to configure Windows Update settings

    • AWS-InstallApplication to install, repair, or uninstall software using an MSI package

    • AWS-InstallPowerShellModule to install PowerShell modules

    • AWS-ConfigureCloudWatch to configure Amazon CloudWatch Logs to monitor applications and systems

    • AWS-ListWindowsInventory to collect information about an EC2 instance running in Windows.

    • AWS-FindWindowsUpdates to scan an instance and determines which updates are missing.

    • AWS-InstallMissingWindowsUpdates to install missing updates on your EC2 instance.

    • AWS-InstallSpecificWindowsUpdates to install one or more specific updates.

    The commands or scripts specified in SSM documents run with administrative privilege on your instances because the Amazon SSM agent runs as root on Linux and the EC2Config service runs in the Local System account on Windows. If a user has permission to execute any of the pre-defined SSM documents (any document that begins with AWS-*) then that user also has administrator access to the instance. Delegate access to Run Command and SSM Config judiciously. This becomes extremely important if you create your own SSM documents. Amazon Web Services does not provide guidance about how to create secure SSM documents. You create SSM documents and delegate access to Run Command at your own risk. As a security best practice, we recommend that you assign access to \"AWS-*\" documents, especially the AWS-RunShellScript document on Linux and the AWS-RunPowerShellScript document on Windows, to trusted administrators only. You can create SSM documents for specific tasks and delegate access to non-administrators.

    For information about creating and sharing SSM documents, see the following topics in the SSM User Guide:

    " + "documentation":"AWS Systems Manager

    AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon Elastic Compute Cloud instance (EC2 instance), or any on-premises server or virtual machine (VM) in your hybrid environment that has been configured for Systems Manager.

    This reference is intended to be used with the AWS Systems Manager User Guide.

    To get started, verify prerequisites and configure managed instances. For more information, see Setting up AWS Systems Manager in the AWS Systems Manager User Guide.

    For information about other API actions you can perform on EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API requests.

    " } diff -Nru python-botocore-1.4.70/botocore/data/sso/2019-06-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sso/2019-06-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/sso/2019-06-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sso/2019-06-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListAccountRoles": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "roleList" + }, + "ListAccounts": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "accountList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/sso/2019-06-10/service-2.json python-botocore-1.16.19+repack/botocore/data/sso/2019-06-10/service-2.json --- python-botocore-1.4.70/botocore/data/sso/2019-06-10/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sso/2019-06-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,346 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-06-10", + "endpointPrefix":"portal.sso", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"SSO", + "serviceFullName":"AWS Single Sign-On", + "serviceId":"SSO", + "signatureVersion":"v4", + "signingName":"awsssoportal", + "uid":"sso-2019-06-10" + }, + "operations":{ + "GetRoleCredentials":{ + "name":"GetRoleCredentials", + "http":{ + "method":"GET", + "requestUri":"/federation/credentials" + }, + "input":{"shape":"GetRoleCredentialsRequest"}, + "output":{"shape":"GetRoleCredentialsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Returns the STS short-term credentials for a given role name that is assigned to the user.

    ", + "authtype":"none" + }, + "ListAccountRoles":{ + "name":"ListAccountRoles", + "http":{ + "method":"GET", + "requestUri":"/assignment/roles" + }, + "input":{"shape":"ListAccountRolesRequest"}, + "output":{"shape":"ListAccountRolesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists all roles that are assigned to the user for a given AWS account.

    ", + "authtype":"none" + }, + "ListAccounts":{ + "name":"ListAccounts", + "http":{ + "method":"GET", + "requestUri":"/assignment/accounts" + }, + "input":{"shape":"ListAccountsRequest"}, + "output":{"shape":"ListAccountsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists all AWS accounts assigned to the user. These AWS accounts are assigned by the administrator of the account. For more information, see Assign User Access in the AWS SSO User Guide. This operation returns a paginated response.

    ", + "authtype":"none" + }, + "Logout":{ + "name":"Logout", + "http":{ + "method":"POST", + "requestUri":"/logout" + }, + "input":{"shape":"LogoutRequest"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"UnauthorizedException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Removes the client- and server-side session that is associated with the user.

    ", + "authtype":"none" + } + }, + "shapes":{ + "AccessKeyType":{"type":"string"}, + "AccessTokenType":{ + "type":"string", + "sensitive":true + }, + "AccountIdType":{"type":"string"}, + "AccountInfo":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AccountIdType", + "documentation":"

    The identifier of the AWS account that is assigned to the user.

    " + }, + "accountName":{ + "shape":"AccountNameType", + "documentation":"

    The display name of the AWS account that is assigned to the user.

    " + }, + "emailAddress":{ + "shape":"EmailAddressType", + "documentation":"

    The email address of the AWS account that is assigned to the user.

    " + } + }, + "documentation":"

    Provides information about your AWS account.

    " + }, + "AccountListType":{ + "type":"list", + "member":{"shape":"AccountInfo"} + }, + "AccountNameType":{"type":"string"}, + "EmailAddressType":{ + "type":"string", + "max":254, + "min":1 + }, + "ErrorDescription":{"type":"string"}, + "ExpirationTimestampType":{"type":"long"}, + "GetRoleCredentialsRequest":{ + "type":"structure", + "required":[ + "roleName", + "accountId", + "accessToken" + ], + "members":{ + "roleName":{ + "shape":"RoleNameType", + "documentation":"

    The friendly name of the role that is assigned to the user.

    ", + "location":"querystring", + "locationName":"role_name" + }, + "accountId":{ + "shape":"AccountIdType", + "documentation":"

    The identifier for the AWS account that is assigned to the user.

    ", + "location":"querystring", + "locationName":"account_id" + }, + "accessToken":{ + "shape":"AccessTokenType", + "documentation":"

    The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.

    ", + "location":"header", + "locationName":"x-amz-sso_bearer_token" + } + } + }, + "GetRoleCredentialsResponse":{ + "type":"structure", + "members":{ + "roleCredentials":{ + "shape":"RoleCredentials", + "documentation":"

    The credentials for the role that is assigned to the user.

    " + } + } + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that a problem occurred with the input to the request. For example, a required parameter might be missing or out of range.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListAccountRolesRequest":{ + "type":"structure", + "required":[ + "accessToken", + "accountId" + ], + "members":{ + "nextToken":{ + "shape":"NextTokenType", + "documentation":"

    The page token from the previous response output when you request subsequent pages.

    ", + "location":"querystring", + "locationName":"next_token" + }, + "maxResults":{ + "shape":"MaxResultType", + "documentation":"

    The number of items that clients can request per page.

    ", + "location":"querystring", + "locationName":"max_result" + }, + "accessToken":{ + "shape":"AccessTokenType", + "documentation":"

    The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.

    ", + "location":"header", + "locationName":"x-amz-sso_bearer_token" + }, + "accountId":{ + "shape":"AccountIdType", + "documentation":"

    The identifier for the AWS account that is assigned to the user.

    ", + "location":"querystring", + "locationName":"account_id" + } + } + }, + "ListAccountRolesResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextTokenType", + "documentation":"

    The page token client that is used to retrieve the list of accounts.

    " + }, + "roleList":{ + "shape":"RoleListType", + "documentation":"

    A paginated response with the list of roles and the next token if more results are available.

    " + } + } + }, + "ListAccountsRequest":{ + "type":"structure", + "required":["accessToken"], + "members":{ + "nextToken":{ + "shape":"NextTokenType", + "documentation":"

    (Optional) When requesting subsequent pages, this is the page token from the previous response output.

    ", + "location":"querystring", + "locationName":"next_token" + }, + "maxResults":{ + "shape":"MaxResultType", + "documentation":"

    This is the number of items clients can request per page.

    ", + "location":"querystring", + "locationName":"max_result" + }, + "accessToken":{ + "shape":"AccessTokenType", + "documentation":"

    The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.

    ", + "location":"header", + "locationName":"x-amz-sso_bearer_token" + } + } + }, + "ListAccountsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"NextTokenType", + "documentation":"

    The page token client that is used to retrieve the list of accounts.

    " + }, + "accountList":{ + "shape":"AccountListType", + "documentation":"

    A paginated response with the list of account information and the next token if more results are available.

    " + } + } + }, + "LogoutRequest":{ + "type":"structure", + "required":["accessToken"], + "members":{ + "accessToken":{ + "shape":"AccessTokenType", + "documentation":"

    The token issued by the CreateToken API call. For more information, see CreateToken in the AWS SSO OIDC API Reference Guide.

    ", + "location":"header", + "locationName":"x-amz-sso_bearer_token" + } + } + }, + "MaxResultType":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "NextTokenType":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorDescription"} + }, + "documentation":"

    The specified resource doesn't exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RoleCredentials":{ + "type":"structure", + "members":{ + "accessKeyId":{ + "shape":"AccessKeyType", + "documentation":"

    The identifier used for the temporary security credentials. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the AWS IAM User Guide.

    " + }, + "secretAccessKey":{ + "shape":"SecretAccessKeyType", + "documentation":"

    The key that is used to sign the request. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the AWS IAM User Guide.

    " + }, + "sessionToken":{ + "shape":"SessionTokenType", + "documentation":"

    The token used for temporary credentials. For more information, see Using Temporary Security Credentials to Request Access to AWS Resources in the AWS IAM User Guide.

    " + }, + "expiration":{ + "shape":"ExpirationTimestampType", + "documentation":"

    The date on which temporary security credentials expire.

    " + } + }, + "documentation":"

    Provides information about the role credentials that are assigned to the user.

    " + }, + "RoleInfo":{ + "type":"structure", + "members":{ + "roleName":{ + "shape":"RoleNameType", + "documentation":"

    The friendly name of the role that is assigned to the user.

    " + }, + "accountId":{ + "shape":"AccountIdType", + "documentation":"

    The identifier of the AWS account assigned to the user.

    " + } + }, + "documentation":"

    Provides information about the role that is assigned to the user.

    " + }, + "RoleListType":{ + "type":"list", + "member":{"shape":"RoleInfo"} + }, + "RoleNameType":{"type":"string"}, + "SecretAccessKeyType":{ + "type":"string", + "sensitive":true + }, + "SessionTokenType":{ + "type":"string", + "sensitive":true + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the request is being made too frequently and is more than what the server can handle.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the request is not authorized. This can happen due to an invalid access token in the request.

    ", + "error":{"httpStatusCode":401}, + "exception":true + } + }, + "documentation":"

    AWS Single Sign-On Portal is a web service that makes it easy for you to assign user access to AWS SSO resources such as the user portal. Users can get AWS account applications and roles assigned to them and get federated into the application.

    For general information about AWS SSO, see What is AWS Single Sign-On? in the AWS SSO User Guide.

    This API reference guide describes the AWS SSO Portal operations that you can call programatically and includes detailed information on data types and errors.

    AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms, such as Java, Ruby, .Net, iOS, or Android. The SDKs provide a convenient way to create programmatic access to AWS SSO and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/sso-oidc/2019-06-10/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sso-oidc/2019-06-10/paginators-1.json --- python-botocore-1.4.70/botocore/data/sso-oidc/2019-06-10/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sso-oidc/2019-06-10/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/sso-oidc/2019-06-10/service-2.json python-botocore-1.16.19+repack/botocore/data/sso-oidc/2019-06-10/service-2.json --- python-botocore-1.4.70/botocore/data/sso-oidc/2019-06-10/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sso-oidc/2019-06-10/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,392 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-06-10", + "endpointPrefix":"oidc", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"SSO OIDC", + "serviceFullName":"AWS SSO OIDC", + "serviceId":"SSO OIDC", + "signatureVersion":"v4", + "signingName":"awsssooidc", + "uid":"sso-oidc-2019-06-10" + }, + "operations":{ + "CreateToken":{ + "name":"CreateToken", + "http":{ + "method":"POST", + "requestUri":"/token" + }, + "input":{"shape":"CreateTokenRequest"}, + "output":{"shape":"CreateTokenResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidClientException"}, + {"shape":"InvalidGrantException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"UnsupportedGrantTypeException"}, + {"shape":"InvalidScopeException"}, + {"shape":"AuthorizationPendingException"}, + {"shape":"SlowDownException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ExpiredTokenException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates and returns an access token for the authorized client. The access token issued will be used to fetch short-term credentials for the assigned roles in the AWS account.

    ", + "authtype":"none" + }, + "RegisterClient":{ + "name":"RegisterClient", + "http":{ + "method":"POST", + "requestUri":"/client/register" + }, + "input":{"shape":"RegisterClientRequest"}, + "output":{"shape":"RegisterClientResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidScopeException"}, + {"shape":"InvalidClientMetadataException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Registers a client with AWS SSO. This allows clients to initiate device authorization. The output should be persisted for reuse through many authentication requests.

    ", + "authtype":"none" + }, + "StartDeviceAuthorization":{ + "name":"StartDeviceAuthorization", + "http":{ + "method":"POST", + "requestUri":"/device_authorization" + }, + "input":{"shape":"StartDeviceAuthorizationRequest"}, + "output":{"shape":"StartDeviceAuthorizationResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"InvalidClientException"}, + {"shape":"UnauthorizedClientException"}, + {"shape":"SlowDownException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Initiates device authorization by requesting a pair of verification codes from the authorization service.

    ", + "authtype":"none" + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    You do not have sufficient access to perform this action.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "AccessToken":{"type":"string"}, + "AuthCode":{"type":"string"}, + "AuthorizationPendingException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that a request to authorize a client with an access user session token is pending.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ClientId":{"type":"string"}, + "ClientName":{"type":"string"}, + "ClientSecret":{"type":"string"}, + "ClientType":{"type":"string"}, + "CreateTokenRequest":{ + "type":"structure", + "required":[ + "clientId", + "clientSecret", + "grantType", + "deviceCode" + ], + "members":{ + "clientId":{ + "shape":"ClientId", + "documentation":"

    The unique identifier string for each client. This value should come from the persisted result of the RegisterClient API.

    " + }, + "clientSecret":{ + "shape":"ClientSecret", + "documentation":"

    A secret string generated for the client. This value should come from the persisted result of the RegisterClient API.

    " + }, + "grantType":{ + "shape":"GrantType", + "documentation":"

    Supports grant types for authorization code, refresh token, and device code request.

    " + }, + "deviceCode":{ + "shape":"DeviceCode", + "documentation":"

    Used only when calling this API for the device code grant type. This short-term code is used to identify this authentication attempt. This should come from an in-memory reference to the result of the StartDeviceAuthorization API.

    " + }, + "code":{ + "shape":"AuthCode", + "documentation":"

    The authorization code received from the authorization service. This parameter is required to perform an authorization grant request to get access to a token.

    " + }, + "refreshToken":{ + "shape":"RefreshToken", + "documentation":"

    The token used to obtain an access token in the event that the access token is invalid or expired. This token is not issued by the service.

    " + }, + "scope":{ + "shape":"Scopes", + "documentation":"

    The list of scopes that is defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token.

    " + }, + "redirectUri":{ + "shape":"URI", + "documentation":"

    The location of the application that will receive the authorization code. Users authorize the service to send the request to this location.

    " + } + } + }, + "CreateTokenResponse":{ + "type":"structure", + "members":{ + "accessToken":{ + "shape":"AccessToken", + "documentation":"

    An opaque token to access AWS SSO resources assigned to a user.

    " + }, + "tokenType":{ + "shape":"TokenType", + "documentation":"

    Used to notify the client that the returned token is an access token. The supported type is BearerToken.

    " + }, + "expiresIn":{ + "shape":"ExpirationInSeconds", + "documentation":"

    Indicates the time in seconds when an access token will expire.

    " + }, + "refreshToken":{ + "shape":"RefreshToken", + "documentation":"

    A token that, if present, can be used to refresh a previously issued access token that might have expired.

    " + }, + "idToken":{ + "shape":"IdToken", + "documentation":"

    The identifier of the user that associated with the access token, if present.

    " + } + } + }, + "DeviceCode":{"type":"string"}, + "Error":{"type":"string"}, + "ErrorDescription":{"type":"string"}, + "ExpirationInSeconds":{"type":"integer"}, + "ExpiredTokenException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the token issued by the service is expired and is no longer valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "GrantType":{"type":"string"}, + "IdToken":{"type":"string"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that an error from the service occurred while trying to process a request.

    ", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "IntervalInSeconds":{"type":"integer"}, + "InvalidClientException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the clientId or clientSecret in the request is invalid. For example, this can occur when a client sends an incorrect clientId or an expired clientSecret.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, + "InvalidClientMetadataException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the client information sent in the request during registration is invalid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidGrantException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that a request contains an invalid grant. This can occur if a client makes a CreateToken request with an invalid grant type.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that something is wrong with the input to the request. For example, a required parameter might be missing or out of range.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidScopeException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the scope provided in the request is invalid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "LongTimeStampType":{"type":"long"}, + "RefreshToken":{"type":"string"}, + "RegisterClientRequest":{ + "type":"structure", + "required":[ + "clientName", + "clientType" + ], + "members":{ + "clientName":{ + "shape":"ClientName", + "documentation":"

    The friendly name of the client.

    " + }, + "clientType":{ + "shape":"ClientType", + "documentation":"

    The type of client. The service supports only public as a client type. Anything other than public will be rejected by the service.

    " + }, + "scopes":{ + "shape":"Scopes", + "documentation":"

    The list of scopes that are defined by the client. Upon authorization, this list is used to restrict permissions when granting an access token.

    " + } + } + }, + "RegisterClientResponse":{ + "type":"structure", + "members":{ + "clientId":{ + "shape":"ClientId", + "documentation":"

    The unique identifier string for each client. This client uses this identifier to get authenticated by the service in subsequent calls.

    " + }, + "clientSecret":{ + "shape":"ClientSecret", + "documentation":"

    A secret string generated for the client. The client will use this string to get authenticated by the service in subsequent calls.

    " + }, + "clientIdIssuedAt":{ + "shape":"LongTimeStampType", + "documentation":"

    Indicates the time at which the clientId and clientSecret were issued.

    " + }, + "clientSecretExpiresAt":{ + "shape":"LongTimeStampType", + "documentation":"

    Indicates the time at which the clientId and clientSecret will become invalid.

    " + }, + "authorizationEndpoint":{ + "shape":"URI", + "documentation":"

    The endpoint where the client can request authorization.

    " + }, + "tokenEndpoint":{ + "shape":"URI", + "documentation":"

    The endpoint where the client can get an access token.

    " + } + } + }, + "Scope":{"type":"string"}, + "Scopes":{ + "type":"list", + "member":{"shape":"Scope"} + }, + "SlowDownException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the client is making the request too frequently and is more than the service can handle.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "StartDeviceAuthorizationRequest":{ + "type":"structure", + "required":[ + "clientId", + "clientSecret", + "startUrl" + ], + "members":{ + "clientId":{ + "shape":"ClientId", + "documentation":"

    The unique identifier string for the client that is registered with AWS SSO. This value should come from the persisted result of the RegisterClient API operation.

    " + }, + "clientSecret":{ + "shape":"ClientSecret", + "documentation":"

    A secret string that is generated for the client. This value should come from the persisted result of the RegisterClient API operation.

    " + }, + "startUrl":{ + "shape":"URI", + "documentation":"

    The URL for the AWS SSO user portal. For more information, see Using the User Portal in the AWS Single Sign-On User Guide.

    " + } + } + }, + "StartDeviceAuthorizationResponse":{ + "type":"structure", + "members":{ + "deviceCode":{ + "shape":"DeviceCode", + "documentation":"

    The short-lived code that is used by the device when polling for a session token.

    " + }, + "userCode":{ + "shape":"UserCode", + "documentation":"

    A one-time user verification code. This is needed to authorize an in-use device.

    " + }, + "verificationUri":{ + "shape":"URI", + "documentation":"

    The URI of the verification page that takes the userCode to authorize the device.

    " + }, + "verificationUriComplete":{ + "shape":"URI", + "documentation":"

    An alternate URL that the client can use to automatically launch a browser. This process skips the manual step in which the user visits the verification page and enters their code.

    " + }, + "expiresIn":{ + "shape":"ExpirationInSeconds", + "documentation":"

    Indicates the number of seconds in which the verification code will become invalid.

    " + }, + "interval":{ + "shape":"IntervalInSeconds", + "documentation":"

    Indicates the number of seconds the client must wait between attempts when polling for a session.

    " + } + } + }, + "TokenType":{"type":"string"}, + "URI":{"type":"string"}, + "UnauthorizedClientException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the client is not currently authorized to make the request. This can happen when a clientId is not issued for a public client.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UnsupportedGrantTypeException":{ + "type":"structure", + "members":{ + "error":{"shape":"Error"}, + "error_description":{"shape":"ErrorDescription"} + }, + "documentation":"

    Indicates that the grant type in the request is not supported by the service.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "UserCode":{"type":"string"} + }, + "documentation":"

    AWS Single Sign-On (SSO) OpenID Connect (OIDC) is a web service that enables a client (such as AWS CLI or a native application) to register with AWS SSO. The service also enables the client to fetch the user’s access token upon successful authentication and authorization with AWS SSO. This service conforms with the OAuth 2.0 based implementation of the device authorization grant standard (https://tools.ietf.org/html/rfc8628).

    For general information about AWS SSO, see What is AWS Single Sign-On? in the AWS SSO User Guide.

    This API reference guide describes the AWS SSO OIDC operations that you can call programatically and includes detailed information on data types and errors.

    AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms such as Java, Ruby, .Net, iOS, and Android. The SDKs provide a convenient way to create programmatic access to AWS SSO and other AWS services. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/examples-1.json python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/examples-1.json --- python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/paginators-1.json python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/paginators-1.json --- python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,28 @@ +{ + "pagination": { + "GetExecutionHistory": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "events" + }, + "ListActivities": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "activities" + }, + "ListExecutions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "executions" + }, + "ListStateMachines": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "stateMachines" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/service-2.json python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/service-2.json --- python-botocore-1.4.70/botocore/data/stepfunctions/2016-11-23/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/stepfunctions/2016-11-23/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2148 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-23", + "endpointPrefix":"states", + "jsonVersion":"1.0", + "protocol":"json", + "serviceAbbreviation":"AWS SFN", + "serviceFullName":"AWS Step Functions", + "serviceId":"SFN", + "signatureVersion":"v4", + "targetPrefix":"AWSStepFunctions", + "uid":"states-2016-11-23" + }, + "operations":{ + "CreateActivity":{ + "name":"CreateActivity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateActivityInput"}, + "output":{"shape":"CreateActivityOutput"}, + "errors":[ + {"shape":"ActivityLimitExceeded"}, + {"shape":"InvalidName"}, + {"shape":"TooManyTags"} + ], + "documentation":"

    Creates an activity. An activity is a task that you write in any programming language and host on any machine that has access to AWS Step Functions. Activities must poll Step Functions using the GetActivityTask API action and respond using SendTask* API actions. This function lets Step Functions know the existence of your activity and returns an identifier for use in a state machine and when polling from the activity.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    CreateActivity is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateActivity's idempotency check is based on the activity name. If a following request has different tags values, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, tags will not be updated, even if they are different.

    ", + "idempotent":true + }, + "CreateStateMachine":{ + "name":"CreateStateMachine", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStateMachineInput"}, + "output":{"shape":"CreateStateMachineOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidDefinition"}, + {"shape":"InvalidName"}, + {"shape":"InvalidLoggingConfiguration"}, + {"shape":"StateMachineAlreadyExists"}, + {"shape":"StateMachineDeleting"}, + {"shape":"StateMachineLimitExceeded"}, + {"shape":"StateMachineTypeNotSupported"}, + {"shape":"TooManyTags"} + ], + "documentation":"

    Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), and so on. State machines are specified using a JSON-based, structured language. For more information, see Amazon States Language in the AWS Step Functions User Guide.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    CreateStateMachine is an idempotent API. Subsequent requests won’t create a duplicate resource if it was already created. CreateStateMachine's idempotency check is based on the state machine name, definition, type, and LoggingConfiguration. If a following request has a different roleArn or tags, Step Functions will ignore these differences and treat it as an idempotent request of the previous. In this case, roleArn and tags will not be updated, even if they are different.

    ", + "idempotent":true + }, + "DeleteActivity":{ + "name":"DeleteActivity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteActivityInput"}, + "output":{"shape":"DeleteActivityOutput"}, + "errors":[ + {"shape":"InvalidArn"} + ], + "documentation":"

    Deletes an activity.

    " + }, + "DeleteStateMachine":{ + "name":"DeleteStateMachine", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStateMachineInput"}, + "output":{"shape":"DeleteStateMachineOutput"}, + "errors":[ + {"shape":"InvalidArn"} + ], + "documentation":"

    Deletes a state machine. This is an asynchronous operation: It sets the state machine's status to DELETING and begins the deletion process.

    For EXPRESSstate machines, the deletion will happen eventually (usually less than a minute). Running executions may emit logs after DeleteStateMachine API is called.

    " + }, + "DescribeActivity":{ + "name":"DescribeActivity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeActivityInput"}, + "output":{"shape":"DescribeActivityOutput"}, + "errors":[ + {"shape":"ActivityDoesNotExist"}, + {"shape":"InvalidArn"} + ], + "documentation":"

    Describes an activity.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    " + }, + "DescribeExecution":{ + "name":"DescribeExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeExecutionInput"}, + "output":{"shape":"DescribeExecutionOutput"}, + "errors":[ + {"shape":"ExecutionDoesNotExist"}, + {"shape":"InvalidArn"} + ], + "documentation":"

    Describes an execution.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    This API action is not supported by EXPRESS state machines.

    " + }, + "DescribeStateMachine":{ + "name":"DescribeStateMachine", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStateMachineInput"}, + "output":{"shape":"DescribeStateMachineOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"StateMachineDoesNotExist"} + ], + "documentation":"

    Describes a state machine.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    " + }, + "DescribeStateMachineForExecution":{ + "name":"DescribeStateMachineForExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStateMachineForExecutionInput"}, + "output":{"shape":"DescribeStateMachineForExecutionOutput"}, + "errors":[ + {"shape":"ExecutionDoesNotExist"}, + {"shape":"InvalidArn"} + ], + "documentation":"

    Describes the state machine associated with a specific execution.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    This API action is not supported by EXPRESS state machines.

    " + }, + "GetActivityTask":{ + "name":"GetActivityTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetActivityTaskInput"}, + "output":{"shape":"GetActivityTaskOutput"}, + "errors":[ + {"shape":"ActivityDoesNotExist"}, + {"shape":"ActivityWorkerLimitExceeded"}, + {"shape":"InvalidArn"} + ], + "documentation":"

    Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. an execution of a task of this type is needed.) The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns a taskToken with a null string.

    Workers should set their client side socket timeout to at least 65 seconds (5 seconds higher than the maximum time the service may hold the poll request).

    Polling with GetActivityTask can cause latency in some implementations. See Avoid Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

    " + }, + "GetExecutionHistory":{ + "name":"GetExecutionHistory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetExecutionHistoryInput"}, + "output":{"shape":"GetExecutionHistoryOutput"}, + "errors":[ + {"shape":"ExecutionDoesNotExist"}, + {"shape":"InvalidArn"}, + {"shape":"InvalidToken"} + ], + "documentation":"

    Returns the history of the specified execution as a list of events. By default, the results are returned in ascending order of the timeStamp of the events. Use the reverseOrder parameter to get the latest events first.

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    This API action is not supported by EXPRESS state machines.

    " + }, + "ListActivities":{ + "name":"ListActivities", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListActivitiesInput"}, + "output":{"shape":"ListActivitiesOutput"}, + "errors":[ + {"shape":"InvalidToken"} + ], + "documentation":"

    Lists the existing activities.

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    " + }, + "ListExecutions":{ + "name":"ListExecutions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListExecutionsInput"}, + "output":{"shape":"ListExecutionsOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidToken"}, + {"shape":"StateMachineDoesNotExist"}, + {"shape":"StateMachineTypeNotSupported"} + ], + "documentation":"

    Lists the executions of a state machine that meet the filtering criteria. Results are sorted by time, with the most recent execution first.

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    This API action is not supported by EXPRESS state machines.

    " + }, + "ListStateMachines":{ + "name":"ListStateMachines", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStateMachinesInput"}, + "output":{"shape":"ListStateMachinesOutput"}, + "errors":[ + {"shape":"InvalidToken"} + ], + "documentation":"

    Lists the existing state machines.

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    List tags for a given resource.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + }, + "SendTaskFailure":{ + "name":"SendTaskFailure", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTaskFailureInput"}, + "output":{"shape":"SendTaskFailureOutput"}, + "errors":[ + {"shape":"TaskDoesNotExist"}, + {"shape":"InvalidToken"}, + {"shape":"TaskTimedOut"} + ], + "documentation":"

    Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken failed.

    " + }, + "SendTaskHeartbeat":{ + "name":"SendTaskHeartbeat", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTaskHeartbeatInput"}, + "output":{"shape":"SendTaskHeartbeatOutput"}, + "errors":[ + {"shape":"TaskDoesNotExist"}, + {"shape":"InvalidToken"}, + {"shape":"TaskTimedOut"} + ], + "documentation":"

    Used by activity workers and task states using the callback pattern to report to Step Functions that the task represented by the specified taskToken is still making progress. This action resets the Heartbeat clock. The Heartbeat threshold is specified in the state machine's Amazon States Language definition (HeartbeatSeconds). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut entry for activities, or a TaskTimedOut entry for for tasks using the job run or callback pattern.

    The Timeout of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of SendTaskHeartbeat requests received. Use HeartbeatSeconds to configure the timeout interval for heartbeats.

    " + }, + "SendTaskSuccess":{ + "name":"SendTaskSuccess", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SendTaskSuccessInput"}, + "output":{"shape":"SendTaskSuccessOutput"}, + "errors":[ + {"shape":"TaskDoesNotExist"}, + {"shape":"InvalidOutput"}, + {"shape":"InvalidToken"}, + {"shape":"TaskTimedOut"} + ], + "documentation":"

    Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken completed successfully.

    " + }, + "StartExecution":{ + "name":"StartExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartExecutionInput"}, + "output":{"shape":"StartExecutionOutput"}, + "errors":[ + {"shape":"ExecutionLimitExceeded"}, + {"shape":"ExecutionAlreadyExists"}, + {"shape":"InvalidArn"}, + {"shape":"InvalidExecutionInput"}, + {"shape":"InvalidName"}, + {"shape":"StateMachineDoesNotExist"}, + {"shape":"StateMachineDeleting"} + ], + "documentation":"

    Starts a state machine execution.

    StartExecution is idempotent. If StartExecution is called with the same name and input as a running execution, the call will succeed and return the same response as the original request. If the execution is closed or if the input is different, it will return a 400 ExecutionAlreadyExists error. Names can be reused after 90 days.

    ", + "idempotent":true + }, + "StopExecution":{ + "name":"StopExecution", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopExecutionInput"}, + "output":{"shape":"StopExecutionOutput"}, + "errors":[ + {"shape":"ExecutionDoesNotExist"}, + {"shape":"InvalidArn"} + ], + "documentation":"

    Stops an execution.

    This API action is not supported by EXPRESS state machines.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"}, + {"shape":"TooManyTags"} + ], + "documentation":"

    Add a tag to a Step Functions resource.

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"} + ], + "documentation":"

    Remove a tag from a Step Functions resource

    " + }, + "UpdateStateMachine":{ + "name":"UpdateStateMachine", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStateMachineInput"}, + "output":{"shape":"UpdateStateMachineOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidDefinition"}, + {"shape":"InvalidLoggingConfiguration"}, + {"shape":"MissingRequiredParameter"}, + {"shape":"StateMachineDeleting"}, + {"shape":"StateMachineDoesNotExist"} + ], + "documentation":"

    Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

    All StartExecution calls within a few seconds will use the updated definition and roleArn. Executions started immediately after calling UpdateStateMachine may use the previous state machine definition and roleArn.

    ", + "idempotent":true + } + }, + "shapes":{ + "ActivityDoesNotExist":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified activity does not exist.

    ", + "exception":true + }, + "ActivityFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about an activity that failed during an execution.

    " + }, + "ActivityLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum number of activities has been reached. Existing activities must be deleted before a new activity can be created.

    ", + "exception":true + }, + "ActivityList":{ + "type":"list", + "member":{"shape":"ActivityListItem"} + }, + "ActivityListItem":{ + "type":"structure", + "required":[ + "activityArn", + "name", + "creationDate" + ], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the activity.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the activity.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the activity is created.

    " + } + }, + "documentation":"

    Contains details about an activity.

    " + }, + "ActivityScheduleFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about an activity schedule failure that occurred during an execution.

    " + }, + "ActivityScheduledEventDetails":{ + "type":"structure", + "required":["resource"], + "members":{ + "resource":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the scheduled activity.

    " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data input to the activity task.

    " + }, + "timeoutInSeconds":{ + "shape":"TimeoutInSeconds", + "documentation":"

    The maximum allowed duration of the activity task.

    ", + "box":true + }, + "heartbeatInSeconds":{ + "shape":"TimeoutInSeconds", + "documentation":"

    The maximum allowed duration between two heartbeats for the activity task.

    ", + "box":true + } + }, + "documentation":"

    Contains details about an activity scheduled during an execution.

    " + }, + "ActivityStartedEventDetails":{ + "type":"structure", + "members":{ + "workerName":{ + "shape":"Identity", + "documentation":"

    The name of the worker that the task is assigned to. These names are provided by the workers when calling GetActivityTask.

    " + } + }, + "documentation":"

    Contains details about the start of an activity during an execution.

    " + }, + "ActivitySucceededEventDetails":{ + "type":"structure", + "members":{ + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data output by the activity task.

    " + } + }, + "documentation":"

    Contains details about an activity that successfully terminated during an execution.

    " + }, + "ActivityTimedOutEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the timeout.

    " + } + }, + "documentation":"

    Contains details about an activity timeout that occurred during an execution.

    " + }, + "ActivityWorkerLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum number of workers concurrently polling for activity tasks has been reached.

    ", + "exception":true + }, + "Arn":{ + "type":"string", + "max":256, + "min":1 + }, + "CloudWatchLogsLogGroup":{ + "type":"structure", + "members":{ + "logGroupArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*

    " + } + }, + "documentation":"

    " + }, + "ConnectorParameters":{ + "type":"string", + "max":32768, + "min":0, + "sensitive":true + }, + "CreateActivityInput":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    The list of tags to add to a resource.

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + } + } + }, + "CreateActivityOutput":{ + "type":"structure", + "required":[ + "activityArn", + "creationDate" + ], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the created activity.

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the activity is created.

    " + } + } + }, + "CreateStateMachineInput":{ + "type":"structure", + "required":[ + "name", + "definition", + "roleArn" + ], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the state machine.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "definition":{ + "shape":"Definition", + "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

    " + }, + "type":{ + "shape":"StateMachineType", + "documentation":"

    Determines whether a Standard or Express state machine is created. The default is STANDARD. You cannot update the type of a state machine once it has been created.

    " + }, + "loggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    Defines what execution history events are logged and where they are logged.

    By default, the level is set to OFF. For more information see Log Levels in the AWS Step Functions User Guide.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    Tags to be added when creating a state machine.

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + } + } + }, + "CreateStateMachineOutput":{ + "type":"structure", + "required":[ + "stateMachineArn", + "creationDate" + ], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the created state machine.

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the state machine is created.

    " + } + } + }, + "Definition":{ + "type":"string", + "max":1048576, + "min":1, + "sensitive":true + }, + "DeleteActivityInput":{ + "type":"structure", + "required":["activityArn"], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the activity to delete.

    " + } + } + }, + "DeleteActivityOutput":{ + "type":"structure", + "members":{ + } + }, + "DeleteStateMachineInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine to delete.

    " + } + } + }, + "DeleteStateMachineOutput":{ + "type":"structure", + "members":{ + } + }, + "DescribeActivityInput":{ + "type":"structure", + "required":["activityArn"], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the activity to describe.

    " + } + } + }, + "DescribeActivityOutput":{ + "type":"structure", + "required":[ + "activityArn", + "name", + "creationDate" + ], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the activity.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the activity.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the activity is created.

    " + } + } + }, + "DescribeExecutionInput":{ + "type":"structure", + "required":["executionArn"], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the execution to describe.

    " + } + } + }, + "DescribeExecutionOutput":{ + "type":"structure", + "required":[ + "executionArn", + "stateMachineArn", + "status", + "startDate", + "input" + ], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that id entifies the execution.

    " + }, + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the executed stated machine.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the execution.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "status":{ + "shape":"ExecutionStatus", + "documentation":"

    The current status of the execution.

    " + }, + "startDate":{ + "shape":"Timestamp", + "documentation":"

    The date the execution is started.

    " + }, + "stopDate":{ + "shape":"Timestamp", + "documentation":"

    If the execution has already ended, the date the execution stopped.

    " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

    The string that contains the JSON input data of the execution.

    " + }, + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON output data of the execution.

    This field is set only if the execution succeeds. If the execution fails, this field is null.

    " + } + } + }, + "DescribeStateMachineForExecutionInput":{ + "type":"structure", + "required":["executionArn"], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the execution you want state machine information for.

    " + } + } + }, + "DescribeStateMachineForExecutionOutput":{ + "type":"structure", + "required":[ + "stateMachineArn", + "name", + "definition", + "roleArn", + "updateDate" + ], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine associated with the execution.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the state machine associated with the execution.

    " + }, + "definition":{ + "shape":"Definition", + "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

    " + }, + "updateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time the state machine associated with an execution was updated. For a newly created state machine, this is the creation date.

    " + }, + "loggingConfiguration":{"shape":"LoggingConfiguration"} + } + }, + "DescribeStateMachineInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine to describe.

    " + } + } + }, + "DescribeStateMachineOutput":{ + "type":"structure", + "required":[ + "stateMachineArn", + "name", + "definition", + "roleArn", + "type", + "creationDate" + ], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the state machine.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the state machine.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "status":{ + "shape":"StateMachineStatus", + "documentation":"

    The current status of the state machine.

    " + }, + "definition":{ + "shape":"Definition", + "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role maintains security by granting Step Functions access to AWS resources.)

    " + }, + "type":{ + "shape":"StateMachineType", + "documentation":"

    The type of the state machine (STANDARD or EXPRESS).

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the state machine is created.

    " + }, + "loggingConfiguration":{"shape":"LoggingConfiguration"} + } + }, + "ErrorMessage":{"type":"string"}, + "EventId":{"type":"long"}, + "ExecutionAbortedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about an abort of an execution.

    " + }, + "ExecutionAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The execution has the same name as another execution (but a different input).

    Executions with the same name and input are considered idempotent.

    ", + "exception":true + }, + "ExecutionDoesNotExist":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified execution does not exist.

    ", + "exception":true + }, + "ExecutionFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about an execution failure event.

    " + }, + "ExecutionLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum number of running executions has been reached. Running executions must end or be stopped before a new execution can be started.

    ", + "exception":true + }, + "ExecutionList":{ + "type":"list", + "member":{"shape":"ExecutionListItem"} + }, + "ExecutionListItem":{ + "type":"structure", + "required":[ + "executionArn", + "stateMachineArn", + "name", + "status", + "startDate" + ], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that id entifies the execution.

    " + }, + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the executed state machine.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the execution.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "status":{ + "shape":"ExecutionStatus", + "documentation":"

    The current status of the execution.

    " + }, + "startDate":{ + "shape":"Timestamp", + "documentation":"

    The date the execution started.

    " + }, + "stopDate":{ + "shape":"Timestamp", + "documentation":"

    If the execution already ended, the date the execution stopped.

    " + } + }, + "documentation":"

    Contains details about an execution.

    " + }, + "ExecutionStartedEventDetails":{ + "type":"structure", + "members":{ + "input":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data input to the execution.

    " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role used for executing AWS Lambda tasks.

    " + } + }, + "documentation":"

    Contains details about the start of the execution.

    " + }, + "ExecutionStatus":{ + "type":"string", + "enum":[ + "RUNNING", + "SUCCEEDED", + "FAILED", + "TIMED_OUT", + "ABORTED" + ] + }, + "ExecutionSucceededEventDetails":{ + "type":"structure", + "members":{ + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data output by the execution.

    " + } + }, + "documentation":"

    Contains details about the successful termination of the execution.

    " + }, + "ExecutionTimedOutEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the timeout.

    " + } + }, + "documentation":"

    Contains details about the execution timeout that occurred during the execution.

    " + }, + "GetActivityTaskInput":{ + "type":"structure", + "required":["activityArn"], + "members":{ + "activityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using CreateActivity.)

    " + }, + "workerName":{ + "shape":"Name", + "documentation":"

    You can provide an arbitrary name in order to identify the worker that the task is assigned to. This name is used when it is logged in the execution history.

    " + } + } + }, + "GetActivityTaskOutput":{ + "type":"structure", + "members":{ + "taskToken":{ + "shape":"TaskToken", + "documentation":"

    A token that identifies the scheduled task. This token must be copied and included in subsequent calls to SendTaskHeartbeat, SendTaskSuccess or SendTaskFailure in order to report the progress or completion of the task.

    " + }, + "input":{ + "shape":"SensitiveDataJobInput", + "documentation":"

    The string that contains the JSON input data for the task.

    " + } + } + }, + "GetExecutionHistoryInput":{ + "type":"structure", + "required":["executionArn"], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the execution.

    " + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

    " + }, + "reverseOrder":{ + "shape":"ReverseOrder", + "documentation":"

    Lists events in descending order of their timeStamp.

    " + }, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "GetExecutionHistoryOutput":{ + "type":"structure", + "required":["events"], + "members":{ + "events":{ + "shape":"HistoryEventList", + "documentation":"

    The list of events that occurred in the execution.

    " + }, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "HistoryEvent":{ + "type":"structure", + "required":[ + "timestamp", + "type", + "id" + ], + "members":{ + "timestamp":{ + "shape":"Timestamp", + "documentation":"

    The date and time the event occurred.

    " + }, + "type":{ + "shape":"HistoryEventType", + "documentation":"

    The type of the event.

    " + }, + "id":{ + "shape":"EventId", + "documentation":"

    The id of the event. Events are numbered sequentially, starting at one.

    " + }, + "previousEventId":{ + "shape":"EventId", + "documentation":"

    The id of the previous event.

    " + }, + "activityFailedEventDetails":{"shape":"ActivityFailedEventDetails"}, + "activityScheduleFailedEventDetails":{ + "shape":"ActivityScheduleFailedEventDetails", + "documentation":"

    Contains details about an activity schedule event that failed during an execution.

    " + }, + "activityScheduledEventDetails":{"shape":"ActivityScheduledEventDetails"}, + "activityStartedEventDetails":{"shape":"ActivityStartedEventDetails"}, + "activitySucceededEventDetails":{"shape":"ActivitySucceededEventDetails"}, + "activityTimedOutEventDetails":{"shape":"ActivityTimedOutEventDetails"}, + "taskFailedEventDetails":{ + "shape":"TaskFailedEventDetails", + "documentation":"

    Contains details about the failure of a task.

    " + }, + "taskScheduledEventDetails":{ + "shape":"TaskScheduledEventDetails", + "documentation":"

    Contains details about a task that was scheduled.

    " + }, + "taskStartFailedEventDetails":{ + "shape":"TaskStartFailedEventDetails", + "documentation":"

    Contains details about a task that failed to start.

    " + }, + "taskStartedEventDetails":{ + "shape":"TaskStartedEventDetails", + "documentation":"

    Contains details about a task that was started.

    " + }, + "taskSubmitFailedEventDetails":{ + "shape":"TaskSubmitFailedEventDetails", + "documentation":"

    Contains details about a task that where the submit failed.

    " + }, + "taskSubmittedEventDetails":{ + "shape":"TaskSubmittedEventDetails", + "documentation":"

    Contains details about a submitted task.

    " + }, + "taskSucceededEventDetails":{ + "shape":"TaskSucceededEventDetails", + "documentation":"

    Contains details about a task that succeeded.

    " + }, + "taskTimedOutEventDetails":{ + "shape":"TaskTimedOutEventDetails", + "documentation":"

    Contains details about a task that timed out.

    " + }, + "executionFailedEventDetails":{"shape":"ExecutionFailedEventDetails"}, + "executionStartedEventDetails":{"shape":"ExecutionStartedEventDetails"}, + "executionSucceededEventDetails":{"shape":"ExecutionSucceededEventDetails"}, + "executionAbortedEventDetails":{"shape":"ExecutionAbortedEventDetails"}, + "executionTimedOutEventDetails":{"shape":"ExecutionTimedOutEventDetails"}, + "mapStateStartedEventDetails":{ + "shape":"MapStateStartedEventDetails", + "documentation":"

    Contains details about Map state that was started.

    " + }, + "mapIterationStartedEventDetails":{ + "shape":"MapIterationEventDetails", + "documentation":"

    Contains details about an iteration of a Map state that was started.

    " + }, + "mapIterationSucceededEventDetails":{ + "shape":"MapIterationEventDetails", + "documentation":"

    Contains details about an iteration of a Map state that succeeded.

    " + }, + "mapIterationFailedEventDetails":{ + "shape":"MapIterationEventDetails", + "documentation":"

    Contains details about an iteration of a Map state that failed.

    " + }, + "mapIterationAbortedEventDetails":{ + "shape":"MapIterationEventDetails", + "documentation":"

    Contains details about an iteration of a Map state that was aborted.

    " + }, + "lambdaFunctionFailedEventDetails":{"shape":"LambdaFunctionFailedEventDetails"}, + "lambdaFunctionScheduleFailedEventDetails":{"shape":"LambdaFunctionScheduleFailedEventDetails"}, + "lambdaFunctionScheduledEventDetails":{"shape":"LambdaFunctionScheduledEventDetails"}, + "lambdaFunctionStartFailedEventDetails":{ + "shape":"LambdaFunctionStartFailedEventDetails", + "documentation":"

    Contains details about a lambda function that failed to start during an execution.

    " + }, + "lambdaFunctionSucceededEventDetails":{ + "shape":"LambdaFunctionSucceededEventDetails", + "documentation":"

    Contains details about a lambda function that terminated successfully during an execution.

    " + }, + "lambdaFunctionTimedOutEventDetails":{"shape":"LambdaFunctionTimedOutEventDetails"}, + "stateEnteredEventDetails":{"shape":"StateEnteredEventDetails"}, + "stateExitedEventDetails":{"shape":"StateExitedEventDetails"} + }, + "documentation":"

    Contains details about the events of an execution.

    " + }, + "HistoryEventList":{ + "type":"list", + "member":{"shape":"HistoryEvent"}, + "documentation":"

    Contains details about the events that occurred during an execution.

    " + }, + "HistoryEventType":{ + "type":"string", + "enum":[ + "ActivityFailed", + "ActivityScheduled", + "ActivityScheduleFailed", + "ActivityStarted", + "ActivitySucceeded", + "ActivityTimedOut", + "ChoiceStateEntered", + "ChoiceStateExited", + "ExecutionAborted", + "ExecutionFailed", + "ExecutionStarted", + "ExecutionSucceeded", + "ExecutionTimedOut", + "FailStateEntered", + "LambdaFunctionFailed", + "LambdaFunctionScheduled", + "LambdaFunctionScheduleFailed", + "LambdaFunctionStarted", + "LambdaFunctionStartFailed", + "LambdaFunctionSucceeded", + "LambdaFunctionTimedOut", + "MapIterationAborted", + "MapIterationFailed", + "MapIterationStarted", + "MapIterationSucceeded", + "MapStateAborted", + "MapStateEntered", + "MapStateExited", + "MapStateFailed", + "MapStateStarted", + "MapStateSucceeded", + "ParallelStateAborted", + "ParallelStateEntered", + "ParallelStateExited", + "ParallelStateFailed", + "ParallelStateStarted", + "ParallelStateSucceeded", + "PassStateEntered", + "PassStateExited", + "SucceedStateEntered", + "SucceedStateExited", + "TaskFailed", + "TaskScheduled", + "TaskStarted", + "TaskStartFailed", + "TaskStateAborted", + "TaskStateEntered", + "TaskStateExited", + "TaskSubmitFailed", + "TaskSubmitted", + "TaskSucceeded", + "TaskTimedOut", + "WaitStateAborted", + "WaitStateEntered", + "WaitStateExited" + ] + }, + "Identity":{ + "type":"string", + "max":256 + }, + "IncludeExecutionData":{"type":"boolean"}, + "InvalidArn":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided Amazon Resource Name (ARN) is invalid.

    ", + "exception":true + }, + "InvalidDefinition":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided Amazon States Language definition is invalid.

    ", + "exception":true + }, + "InvalidExecutionInput":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided JSON input data is invalid.

    ", + "exception":true + }, + "InvalidLoggingConfiguration":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "InvalidName":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided name is invalid.

    ", + "exception":true + }, + "InvalidOutput":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided JSON output data is invalid.

    ", + "exception":true + }, + "InvalidToken":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The provided token is invalid.

    ", + "exception":true + }, + "LambdaFunctionFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a lambda function that failed during an execution.

    " + }, + "LambdaFunctionScheduleFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a failed lambda function schedule event that occurred during an execution.

    " + }, + "LambdaFunctionScheduledEventDetails":{ + "type":"structure", + "required":["resource"], + "members":{ + "resource":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the scheduled lambda function.

    " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data input to the lambda function.

    " + }, + "timeoutInSeconds":{ + "shape":"TimeoutInSeconds", + "documentation":"

    The maximum allowed duration of the lambda function.

    ", + "box":true + } + }, + "documentation":"

    Contains details about a lambda function scheduled during an execution.

    " + }, + "LambdaFunctionStartFailedEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a lambda function that failed to start during an execution.

    " + }, + "LambdaFunctionSucceededEventDetails":{ + "type":"structure", + "members":{ + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON data output by the lambda function.

    " + } + }, + "documentation":"

    Contains details about a lambda function that successfully terminated during an execution.

    " + }, + "LambdaFunctionTimedOutEventDetails":{ + "type":"structure", + "members":{ + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the timeout.

    " + } + }, + "documentation":"

    Contains details about a lambda function timeout that occurred during an execution.

    " + }, + "ListActivitiesInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

    " + }, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListActivitiesOutput":{ + "type":"structure", + "required":["activities"], + "members":{ + "activities":{ + "shape":"ActivityList", + "documentation":"

    The list of activities.

    " + }, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListExecutionsInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine whose executions is listed.

    " + }, + "statusFilter":{ + "shape":"ExecutionStatus", + "documentation":"

    If specified, only list the executions whose current execution status matches the given filter.

    " + }, + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

    " + }, + "nextToken":{ + "shape":"ListExecutionsPageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListExecutionsOutput":{ + "type":"structure", + "required":["executions"], + "members":{ + "executions":{ + "shape":"ExecutionList", + "documentation":"

    The list of matching executions.

    " + }, + "nextToken":{ + "shape":"ListExecutionsPageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListExecutionsPageToken":{ + "type":"string", + "max":3096, + "min":1 + }, + "ListStateMachinesInput":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"PageSize", + "documentation":"

    The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

    This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

    " + }, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListStateMachinesOutput":{ + "type":"structure", + "required":["stateMachines"], + "members":{ + "stateMachines":{"shape":"StateMachineList"}, + "nextToken":{ + "shape":"PageToken", + "documentation":"

    If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

    " + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    " + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"TagList", + "documentation":"

    An array of tags associated with the resource.

    " + } + } + }, + "LogDestination":{ + "type":"structure", + "members":{ + "cloudWatchLogsLogGroup":{ + "shape":"CloudWatchLogsLogGroup", + "documentation":"

    An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the AWS CloudFormation User Guide.

    " + } + }, + "documentation":"

    " + }, + "LogDestinationList":{ + "type":"list", + "member":{"shape":"LogDestination"} + }, + "LogLevel":{ + "type":"string", + "enum":[ + "ALL", + "ERROR", + "FATAL", + "OFF" + ] + }, + "LoggingConfiguration":{ + "type":"structure", + "members":{ + "level":{ + "shape":"LogLevel", + "documentation":"

    Defines which category of execution history events are logged.

    " + }, + "includeExecutionData":{ + "shape":"IncludeExecutionData", + "documentation":"

    Determines whether execution data is included in your log. When set to FALSE, data is excluded.

    " + }, + "destinations":{ + "shape":"LogDestinationList", + "documentation":"

    An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to OFF.

    " + } + }, + "documentation":"

    The LoggingConfiguration data type is used to set CloudWatch Logs options.

    " + }, + "MapIterationEventDetails":{ + "type":"structure", + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the iteration’s parent Map state.

    " + }, + "index":{ + "shape":"UnsignedInteger", + "documentation":"

    The index of the array belonging to the Map state iteration.

    " + } + }, + "documentation":"

    Contains details about an iteration of a Map state.

    " + }, + "MapStateStartedEventDetails":{ + "type":"structure", + "members":{ + "length":{ + "shape":"UnsignedInteger", + "documentation":"

    The size of the array for Map state iterations.

    " + } + }, + "documentation":"

    Details about a Map state that was started.

    " + }, + "MissingRequiredParameter":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Request is missing a required parameter. This error occurs if both definition and roleArn are not specified.

    ", + "exception":true + }, + "Name":{ + "type":"string", + "max":80, + "min":1 + }, + "PageSize":{ + "type":"integer", + "max":1000, + "min":0 + }, + "PageToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "ResourceNotFound":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceName":{"shape":"Arn"} + }, + "documentation":"

    Could not find the referenced resource. Only state machine and activity ARNs are supported.

    ", + "exception":true + }, + "ReverseOrder":{"type":"boolean"}, + "SendTaskFailureInput":{ + "type":"structure", + "required":["taskToken"], + "members":{ + "taskToken":{ + "shape":"TaskToken", + "documentation":"

    The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput$taskToken.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + } + }, + "SendTaskFailureOutput":{ + "type":"structure", + "members":{ + } + }, + "SendTaskHeartbeatInput":{ + "type":"structure", + "required":["taskToken"], + "members":{ + "taskToken":{ + "shape":"TaskToken", + "documentation":"

    The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput$taskToken.

    " + } + } + }, + "SendTaskHeartbeatOutput":{ + "type":"structure", + "members":{ + } + }, + "SendTaskSuccessInput":{ + "type":"structure", + "required":[ + "taskToken", + "output" + ], + "members":{ + "taskToken":{ + "shape":"TaskToken", + "documentation":"

    The token that represents this task. Task tokens are generated by Step Functions when tasks are assigned to a worker, or in the context object when a workflow enters a task state. See GetActivityTaskOutput$taskToken.

    " + }, + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON output of the task.

    " + } + } + }, + "SendTaskSuccessOutput":{ + "type":"structure", + "members":{ + } + }, + "SensitiveCause":{ + "type":"string", + "max":32768, + "min":0, + "sensitive":true + }, + "SensitiveData":{ + "type":"string", + "max":32768, + "sensitive":true + }, + "SensitiveDataJobInput":{ + "type":"string", + "max":65536, + "sensitive":true + }, + "SensitiveError":{ + "type":"string", + "max":256, + "min":0, + "sensitive":true + }, + "StartExecutionInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine to execute.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the execution. This name must be unique for your AWS account, region, and state machine for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

    The string that contains the JSON input data for the execution, for example:

    \"input\": \"{\\\"first_name\\\" : \\\"test\\\"}\"

    If you don't include any JSON input data, you still must include the two braces, for example: \"input\": \"{}\"

    " + } + } + }, + "StartExecutionOutput":{ + "type":"structure", + "required":[ + "executionArn", + "startDate" + ], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that id entifies the execution.

    " + }, + "startDate":{ + "shape":"Timestamp", + "documentation":"

    The date the execution is started.

    " + } + } + }, + "StateEnteredEventDetails":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the state.

    " + }, + "input":{ + "shape":"SensitiveData", + "documentation":"

    The string that contains the JSON input data for the state.

    " + } + }, + "documentation":"

    Contains details about a state entered during an execution.

    " + }, + "StateExitedEventDetails":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"Name", + "documentation":"

    The name of the state.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "output":{ + "shape":"SensitiveData", + "documentation":"

    The JSON output data of the state.

    " + } + }, + "documentation":"

    Contains details about an exit from a state during an execution.

    " + }, + "StateMachineAlreadyExists":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    A state machine with the same name but a different definition or role ARN already exists.

    ", + "exception":true + }, + "StateMachineDeleting":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified state machine is being deleted.

    ", + "exception":true + }, + "StateMachineDoesNotExist":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The specified state machine does not exist.

    ", + "exception":true + }, + "StateMachineLimitExceeded":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The maximum number of state machines has been reached. Existing state machines must be deleted before a new state machine can be created.

    ", + "exception":true + }, + "StateMachineList":{ + "type":"list", + "member":{"shape":"StateMachineListItem"} + }, + "StateMachineListItem":{ + "type":"structure", + "required":[ + "stateMachineArn", + "name", + "type", + "creationDate" + ], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) that identifies the state machine.

    " + }, + "name":{ + "shape":"Name", + "documentation":"

    The name of the state machine.

    A name must not contain:

    • white space

    • brackets < > { } [ ]

    • wildcard characters ? *

    • special characters \" # % \\ ^ | ~ ` $ & , ; : /

    • control characters (U+0000-001F, U+007F-009F)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

    " + }, + "type":{ + "shape":"StateMachineType", + "documentation":"

    " + }, + "creationDate":{ + "shape":"Timestamp", + "documentation":"

    The date the state machine is created.

    " + } + }, + "documentation":"

    Contains details about the state machine.

    " + }, + "StateMachineStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "DELETING" + ] + }, + "StateMachineType":{ + "type":"string", + "enum":[ + "STANDARD", + "EXPRESS" + ] + }, + "StateMachineTypeNotSupported":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "StopExecutionInput":{ + "type":"structure", + "required":["executionArn"], + "members":{ + "executionArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the execution to stop.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + } + }, + "StopExecutionOutput":{ + "type":"structure", + "required":["stopDate"], + "members":{ + "stopDate":{ + "shape":"Timestamp", + "documentation":"

    The date the execution is stopped.

    " + } + } + }, + "Tag":{ + "type":"structure", + "members":{ + "key":{ + "shape":"TagKey", + "documentation":"

    The key of a tag.

    " + }, + "value":{ + "shape":"TagValue", + "documentation":"

    The value of a tag.

    " + } + }, + "documentation":"

    Tags are key-value pairs that can be associated with Step Functions state machines and activities.

    An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    " + }, + "tags":{ + "shape":"TagList", + "documentation":"

    The list of tags to add to a resource.

    Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

    " + } + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TaskDoesNotExist":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "TaskFailedEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a task failure event.

    " + }, + "TaskScheduledEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource", + "region", + "parameters" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "region":{ + "shape":"Name", + "documentation":"

    The region of the scheduled task

    " + }, + "parameters":{ + "shape":"ConnectorParameters", + "documentation":"

    The JSON data passed to the resource referenced in a task state.

    " + }, + "timeoutInSeconds":{ + "shape":"TimeoutInSeconds", + "documentation":"

    The maximum allowed duration of the task.

    ", + "box":true + } + }, + "documentation":"

    Contains details about a task scheduled during an execution.

    " + }, + "TaskStartFailedEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a task that failed to start during an execution.

    " + }, + "TaskStartedEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + } + }, + "documentation":"

    Contains details about the start of a task during an execution.

    " + }, + "TaskSubmitFailedEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a task that failed to submit during an execution.

    " + }, + "TaskSubmittedEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "output":{ + "shape":"SensitiveData", + "documentation":"

    The response from a resource when a task has started.

    " + } + }, + "documentation":"

    Contains details about a task submitted to a resource .

    " + }, + "TaskSucceededEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "output":{ + "shape":"SensitiveData", + "documentation":"

    The full JSON response from a resource when a task has succeeded. This response becomes the output of the related task.

    " + } + }, + "documentation":"

    Contains details about the successful completion of a task state.

    " + }, + "TaskTimedOut":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "TaskTimedOutEventDetails":{ + "type":"structure", + "required":[ + "resourceType", + "resource" + ], + "members":{ + "resourceType":{ + "shape":"Name", + "documentation":"

    The action of the resource called by a task state.

    " + }, + "resource":{ + "shape":"Name", + "documentation":"

    The service name of the resource in a task state.

    " + }, + "error":{ + "shape":"SensitiveError", + "documentation":"

    The error code of the failure.

    " + }, + "cause":{ + "shape":"SensitiveCause", + "documentation":"

    A more detailed explanation of the cause of the failure.

    " + } + }, + "documentation":"

    Contains details about a resource timeout that occurred during an execution.

    " + }, + "TaskToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "TimeoutInSeconds":{"type":"long"}, + "Timestamp":{"type":"timestamp"}, + "TooManyTags":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "resourceName":{"shape":"Arn"} + }, + "documentation":"

    You've exceeded the number of tags allowed for a resource. See the Limits Topic in the AWS Step Functions Developer Guide.

    ", + "exception":true + }, + "UnsignedInteger":{ + "type":"integer", + "min":0 + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

    " + }, + "tagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The list of tags to remove from the resource.

    " + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateStateMachineInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the state machine.

    " + }, + "definition":{ + "shape":"Definition", + "documentation":"

    The Amazon States Language definition of the state machine. See Amazon States Language.

    " + }, + "roleArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM role of the state machine.

    " + }, + "loggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration data type is used to set CloudWatch Logs options.

    " + } + } + }, + "UpdateStateMachineOutput":{ + "type":"structure", + "required":["updateDate"], + "members":{ + "updateDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time the state machine was updated.

    " + } + } + } + }, + "documentation":"AWS Step Functions

    AWS Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

    You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

    Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on AWS, your own servers, or any system that has access to AWS. You can access and use Step Functions using the console, the AWS SDKs, or an HTTP API. For more information about Step Functions, see the AWS Step Functions Developer Guide .

    " +} diff -Nru python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/examples-1.json python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/examples-1.json --- python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1381 @@ +{ + "version": "1.0", + "examples": { + "ActivateGateway": [ + { + "input": { + "ActivationKey": "29AV1-3OFV9-VVIUB-NKT0I-LRO6V", + "GatewayName": "My_Gateway", + "GatewayRegion": "us-east-1", + "GatewayTimezone": "GMT-12:00", + "GatewayType": "STORED", + "MediumChangerType": "AWS-Gateway-VTL", + "TapeDriveType": "IBM-ULT3580-TD5" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Activates the gateway you previously deployed on your host.", + "id": "to-activate-the-gateway-1471281611207", + "title": "To activate the gateway" + } + ], + "AddCache": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example shows a request that activates a gateway-stored volume.", + "id": "to-add-a-cache-1471043606854", + "title": "To add a cache" + } + ], + "AddTagsToResource": [ + { + "input": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "Tags": [ + { + "Key": "Dev Gatgeway Region", + "Value": "East Coast" + } + ] + }, + "output": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Adds one or more tags to the specified resource.", + "id": "to-add-tags-to-resource-1471283689460", + "title": "To add tags to resource" + } + ], + "AddUploadBuffer": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Configures one or more gateway local disks as upload buffer for a specified gateway.", + "id": "to-add-upload-buffer-on-local-disk-1471293902847", + "title": "To add upload buffer on local disk" + } + ], + "AddWorkingStorage": [ + { + "input": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Configures one or more gateway local disks as working storage for a gateway. (Working storage is also referred to as upload buffer.)", + "id": "to-add-storage-on-local-disk-1471294305401", + "title": "To add storage on local disk" + } + ], + "CancelArchival": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated.", + "id": "to-cancel-virtual-tape-archiving-1471294865203", + "title": "To cancel virtual tape archiving" + } + ], + "CancelRetrieval": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated.", + "id": "to-cancel-virtual-tape-retrieval-1471295704491", + "title": "To cancel virtual tape retrieval" + } + ], + "CreateCachediSCSIVolume": [ + { + "input": { + "ClientToken": "cachedvol112233", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "NetworkInterfaceId": "10.1.1.1", + "SnapshotId": "snap-f47b7b94", + "TargetName": "my-volume", + "VolumeSizeInBytes": 536870912000 + }, + "output": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a cached volume on a specified cached gateway.", + "id": "to-create-a-cached-iscsi-volume-1471296661787", + "title": "To create a cached iSCSI volume" + } + ], + "CreateSnapshot": [ + { + "input": { + "SnapshotDescription": "My root volume snapshot as of 10/03/2017", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "SnapshotId": "snap-78e22663", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Initiates an ad-hoc snapshot of a gateway volume.", + "id": "to-create-a-snapshot-of-a-gateway-volume-1471301469561", + "title": "To create a snapshot of a gateway volume" + } + ], + "CreateSnapshotFromVolumeRecoveryPoint": [ + { + "input": { + "SnapshotDescription": "My root volume snapshot as of 2017-06-30T10:10:10.000Z", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "SnapshotId": "snap-78e22663", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeRecoveryPointTime": "2017-06-30T10:10:10.000Z" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Initiates a snapshot of a gateway from a volume recovery point.", + "id": "to-create-a-snapshot-of-a-gateway-volume-1471301469561", + "title": "To create a snapshot of a gateway volume" + } + ], + "CreateStorediSCSIVolume": [ + { + "input": { + "DiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "NetworkInterfaceId": "10.1.1.1", + "PreserveExistingData": true, + "SnapshotId": "snap-f47b7b94", + "TargetName": "my-volume" + }, + "output": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeSizeInBytes": 1099511627776 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a stored volume on a specified stored gateway.", + "id": "to-create-a-stored-iscsi-volume-1471367662813", + "title": "To create a stored iSCSI volume" + } + ], + "CreateTapeWithBarcode": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeBarcode": "TEST12345", + "TapeSizeInBytes": 107374182400 + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST12345" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates a virtual tape by using your own barcode.", + "id": "to-create-a-virtual-tape-using-a-barcode-1471371842452", + "title": "To create a virtual tape using a barcode" + } + ], + "CreateTapes": [ + { + "input": { + "ClientToken": "77777", + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "NumTapesToCreate": 3, + "TapeBarcodePrefix": "TEST", + "TapeSizeInBytes": 107374182400 + }, + "output": { + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST38A29D", + "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3AA29F", + "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3BA29E" + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Creates one or more virtual tapes.", + "id": "to-create-a-virtual-tape-1471372061659", + "title": "To create a virtual tape" + } + ], + "DeleteBandwidthRateLimit": [ + { + "input": { + "BandwidthType": "All", + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the bandwidth rate limits of a gateway; either the upload or download limit, or both.", + "id": "to-delete-bandwidth-rate-limits-of-gateway-1471373225520", + "title": "To delete bandwidth rate limits of gateway" + } + ], + "DeleteChapCredentials": [ + { + "input": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.", + "id": "to-delete-chap-credentials-1471375025612", + "title": "To delete CHAP credentials" + } + ], + "DeleteGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation deletes the gateway, but not the gateway's VM from the host computer.", + "id": "to-delete-a-gatgeway-1471381697333", + "title": "To delete a gatgeway" + } + ], + "DeleteSnapshotSchedule": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This action enables you to delete a snapshot schedule for a volume.", + "id": "to-delete-a-snapshot-of-a-volume-1471382234377", + "title": "To delete a snapshot of a volume" + } + ], + "DeleteTape": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:204469490176:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example deletes the specified virtual tape.", + "id": "to-delete-a-virtual-tape-1471382444157", + "title": "To delete a virtual tape" + } + ], + "DeleteTapeArchive": [ + { + "input": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified virtual tape from the virtual tape shelf (VTS).", + "id": "to-delete-a-virtual-tape-from-the-shelf-vts-1471383964329", + "title": "To delete a virtual tape from the shelf (VTS)" + } + ], + "DeleteVolume": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Deletes the specified gateway volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API.", + "id": "to-delete-a-gateway-volume-1471384418416", + "title": "To delete a gateway volume" + } + ], + "DescribeBandwidthRateLimit": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "AverageDownloadRateLimitInBitsPerSec": 204800, + "AverageUploadRateLimitInBitsPerSec": 102400, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a value for a bandwidth rate limit if set. If not set, then only the gateway ARN is returned.", + "id": "to-describe-the-bandwidth-rate-limits-of-a-gateway-1471384826404", + "title": "To describe the bandwidth rate limits of a gateway" + } + ], + "DescribeCache": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "CacheAllocatedInBytes": 2199023255552, + "CacheDirtyPercentage": 0.07, + "CacheHitPercentage": 99.68, + "CacheMissPercentage": 0.32, + "CacheUsedPercentage": 0.07, + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the cache of a gateway.", + "id": "to-describe-cache-information-1471385756036", + "title": "To describe cache information" + } + ], + "DescribeCachediSCSIVolumes": [ + { + "input": { + "VolumeARNs": [ + "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + ] + }, + "output": { + "CachediSCSIVolumes": [ + { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 1099511627776, + "VolumeStatus": "AVAILABLE", + "VolumeType": "CACHED iSCSI", + "VolumeiSCSIAttributes": { + "ChapEnabled": true, + "LunNumber": 1, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of the gateway cached iSCSI volumes specified in the request.", + "id": "to-describe-gateway-cached-iscsi-volumes-1471458094649", + "title": "To describe gateway cached iSCSI volumes" + } + ], + "DescribeChapCredentials": [ + { + "input": { + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "ChapCredentials": [ + { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "SecretToAuthenticateInitiator": "111111111111", + "SecretToAuthenticateTarget": "222222222222", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair.", + "id": "to-describe-chap-credetnitals-for-an-iscsi-1471467462967", + "title": "To describe CHAP credetnitals for an iSCSI" + } + ], + "DescribeGatewayInformation": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayId": "sgw-AABB1122", + "GatewayName": "My_Gateway", + "GatewayNetworkInterfaces": [ + { + "Ipv4Address": "10.35.69.216" + } + ], + "GatewayState": "STATE_RUNNING", + "GatewayTimezone": "GMT-8:00", + "GatewayType": "STORED", + "LastSoftwareUpdate": "2016-01-02T16:00:00", + "NextUpdateAvailabilityDate": "2017-01-02T16:00:00" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not).", + "id": "to-describe-metadata-about-the-gateway-1471467849079", + "title": "To describe metadata about the gateway" + } + ], + "DescribeMaintenanceStartTime": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DayOfWeek": 2, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "HourOfDay": 15, + "MinuteOfHour": 35, + "Timezone": "GMT+7:00" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns your gateway's weekly maintenance start time including the day and time of the week.", + "id": "to-describe-gateways-maintenance-start-time-1471470727387", + "title": "To describe gateway's maintenance start time" + } + ], + "DescribeSnapshotSchedule": [ + { + "input": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "Description": "sgw-AABB1122:vol-AABB1122:Schedule", + "RecurrenceInHours": 24, + "StartAt": 6, + "Timezone": "GMT+7:00", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Describes the snapshot schedule for the specified gateway volume including intervals at which snapshots are automatically initiated.", + "id": "to-describe-snapshot-schedule-for-gateway-volume-1471471139538", + "title": "To describe snapshot schedule for gateway volume" + } + ], + "DescribeStorediSCSIVolumes": [ + { + "input": { + "VolumeARNs": [ + "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + ] + }, + "output": { + "StorediSCSIVolumes": [ + { + "PreservedExistingData": false, + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeDiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "VolumeId": "vol-1122AABB", + "VolumeProgress": 23.7, + "VolumeSizeInBytes": 1099511627776, + "VolumeStatus": "BOOTSTRAPPING", + "VolumeiSCSIAttributes": { + "ChapEnabled": true, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + } + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns the description of the gateway volumes specified in the request belonging to the same gateway.", + "id": "to-describe-the-volumes-of-a-gateway-1471472640660", + "title": "To describe the volumes of a gateway" + } + ], + "DescribeTapeArchives": [ + { + "input": { + "Limit": 123, + "Marker": "1", + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/AM08A1AD", + "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4" + ] + }, + "output": { + "Marker": "1", + "TapeArchives": [ + { + "CompletionTime": "2016-12-16T13:50Z", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AM08A1AD", + "TapeBarcode": "AM08A1AD", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "ARCHIVED" + }, + { + "CompletionTime": "2016-12-16T13:59Z", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", + "TapeBarcode": "AMZN01A2A4", + "TapeSizeInBytes": 429496729600, + "TapeStatus": "ARCHIVED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of specified virtual tapes in the virtual tape shelf (VTS).", + "id": "to-describe-virtual-tapes-in-the-vts-1471473188198", + "title": "To describe virtual tapes in the VTS" + } + ], + "DescribeTapeRecoveryPoints": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Limit": 1, + "Marker": "1" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Marker": "1", + "TapeRecoveryPointInfos": [ + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", + "TapeRecoveryPointTime": "2016-12-16T13:50Z", + "TapeSizeInBytes": 1471550497, + "TapeStatus": "AVAILABLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a list of virtual tape recovery points that are available for the specified gateway-VTL.", + "id": "to-describe-virtual-tape-recovery-points-1471542042026", + "title": "To describe virtual tape recovery points" + } + ], + "DescribeTapes": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Limit": 2, + "Marker": "1", + "TapeARNs": [ + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", + "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0" + ] + }, + "output": { + "Marker": "1", + "Tapes": [ + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", + "TapeBarcode": "TEST04A2A1", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "AVAILABLE" + }, + { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0", + "TapeBarcode": "TEST05A2A0", + "TapeSizeInBytes": 107374182400, + "TapeStatus": "AVAILABLE" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes.", + "id": "to-describe-virtual-tapes-associated-with-gateway-1471629287727", + "title": "To describe virtual tape(s) associated with gateway" + } + ], + "DescribeUploadBuffer": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "UploadBufferAllocatedInBytes": 0, + "UploadBufferUsedInBytes": 161061273600 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated/used.", + "id": "to-describe-upload-buffer-of-gateway-1471631099003", + "title": "To describe upload buffer of gateway" + }, + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:04:00.0-scsi-0:1:0:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "UploadBufferAllocatedInBytes": 161061273600, + "UploadBufferUsedInBytes": 0 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated and used.", + "id": "to-describe-upload-buffer-of-a-gateway--1471904566370", + "title": "To describe upload buffer of a gateway" + } + ], + "DescribeVTLDevices": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Limit": 123, + "Marker": "1", + "VTLDeviceARNs": [ + + ] + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "Marker": "1", + "VTLDevices": [ + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.207", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-mediachanger" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001", + "VTLDeviceProductIdentifier": "L700", + "VTLDeviceType": "Medium Changer", + "VTLDeviceVendor": "STK" + }, + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.209", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-01" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00001", + "VTLDeviceProductIdentifier": "ULT3580-TD5", + "VTLDeviceType": "Tape Drive", + "VTLDeviceVendor": "IBM" + }, + { + "DeviceiSCSIAttributes": { + "ChapEnabled": false, + "NetworkInterfaceId": "10.243.43.209", + "NetworkInterfacePort": 3260, + "TargetARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-02" + }, + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00002", + "VTLDeviceProductIdentifier": "ULT3580-TD5", + "VTLDeviceType": "Tape Drive", + "VTLDeviceVendor": "IBM" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Returns a description of virtual tape library (VTL) devices for the specified gateway.", + "id": "to-describe-virtual-tape-library-vtl-devices-of-a-single-gateway-1471906071410", + "title": "To describe virtual tape library (VTL) devices of a single gateway" + } + ], + "DescribeWorkingStorage": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "DiskIds": [ + "pci-0000:03:00.0-scsi-0:0:0:0", + "pci-0000:03:00.0-scsi-0:0:1:0" + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "WorkingStorageAllocatedInBytes": 2199023255552, + "WorkingStorageUsedInBytes": 789207040 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version (20120630). Use DescribeUploadBuffer instead.", + "id": "to-describe-the-working-storage-of-a-gateway-depreciated-1472070842332", + "title": "To describe the working storage of a gateway [Depreciated]" + } + ], + "DisableGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Disables a gateway when the gateway is no longer functioning. Use this operation for a gateway-VTL that is not reachable or not functioning.", + "id": "to-disable-a-gateway-when-it-is-no-longer-functioning-1472076046936", + "title": "To disable a gateway when it is no longer functioning" + } + ], + "ListGateways": [ + { + "input": { + "Limit": 2, + "Marker": "1" + }, + "output": { + "Gateways": [ + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-23A4567C" + } + ], + "Marker": "1" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists gateways owned by an AWS account in a specified region as requested. Results are sorted by gateway ARN up to a maximum of 100 gateways.", + "id": "to-lists-region-specific-gateways-per-aws-account-1472077860657", + "title": "To lists region specific gateways per AWS account" + } + ], + "ListLocalDisks": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "Disks": [ + { + "DiskAllocationType": "CACHE_STORAGE", + "DiskId": "pci-0000:03:00.0-scsi-0:0:0:0", + "DiskNode": "SCSI(0:0)", + "DiskPath": "/dev/sda", + "DiskSizeInBytes": 1099511627776, + "DiskStatus": "missing" + }, + { + "DiskAllocationResource": "", + "DiskAllocationType": "UPLOAD_BUFFER", + "DiskId": "pci-0000:03:00.0-scsi-0:0:1:0", + "DiskNode": "SCSI(0:1)", + "DiskPath": "/dev/sdb", + "DiskSizeInBytes": 1099511627776, + "DiskStatus": "present" + } + ], + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all.", + "id": "to-list-the-gateways-local-disks-1472079564618", + "title": "To list the gateway's local disks" + } + ], + "ListTagsForResource": [ + { + "input": { + "Limit": 1, + "Marker": "1", + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "output": { + "Marker": "1", + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "Tags": [ + { + "Key": "Dev Gatgeway Region", + "Value": "East Coast" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the tags that have been added to the specified resource.", + "id": "to-list-tags-that-have-been-added-to-a-resource-1472080268972", + "title": "To list tags that have been added to a resource" + } + ], + "ListVolumeRecoveryPoints": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "VolumeRecoveryPointInfos": [ + { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeRecoveryPointTime": "2012-09-04T21:08:44.627Z", + "VolumeSizeInBytes": 536870912000 + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the recovery points for a specified gateway in which all data of the volume is consistent and can be used to create a snapshot.", + "id": "to-list-recovery-points-for-a-gateway-1472143015088", + "title": "To list recovery points for a gateway" + } + ], + "ListVolumes": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Limit": 2, + "Marker": "1" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "Marker": "1", + "VolumeInfos": [ + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayId": "sgw-12A3456B", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 107374182400, + "VolumeType": "STORED" + }, + { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C", + "GatewayId": "sgw-gw-13B4567C", + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C/volume/vol-3344CCDD", + "VolumeId": "vol-1122AABB", + "VolumeSizeInBytes": 107374182400, + "VolumeType": "STORED" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN up to a maximum of 100 volumes.", + "id": "to-list-the-iscsi-stored-volumes-of-a-gateway-1472145723653", + "title": "To list the iSCSI stored volumes of a gateway" + } + ], + "RemoveTagsFromResource": [ + { + "input": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", + "TagKeys": [ + "Dev Gatgeway Region", + "East Coast" + ] + }, + "output": { + "ResourceARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Lists the iSCSI stored volumes of a gateway. Removes one or more tags from the specified resource.", + "id": "to-remove-tags-from-a-resource-1472147210553", + "title": "To remove tags from a resource" + } + ], + "ResetCache": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage.", + "id": "to-reset-cache-disks-in-error-status-1472148909807", + "title": "To reset cache disks in error status" + } + ], + "RetrieveTapeArchive": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a gateway-VTL. Virtual tapes archived in the VTS are not associated with any gateway.", + "id": "to-retrieve-an-archived-tape-from-the-vts-1472149812358", + "title": "To retrieve an archived tape from the VTS" + } + ], + "RetrieveTapeRecoveryPoint": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "output": { + "TapeARN": "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Retrieves the recovery point for the specified virtual tape.", + "id": "to-retrieve-the-recovery-point-of-a-virtual-tape-1472150014805", + "title": "To retrieve the recovery point of a virtual tape" + } + ], + "SetLocalConsolePassword": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", + "LocalConsolePassword": "PassWordMustBeAtLeast6Chars." + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Sets the password for your VM local console.", + "id": "to-set-a-password-for-your-vm-1472150202632", + "title": "To set a password for your VM" + } + ], + "ShutdownGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This operation shuts down the gateway service component running in the storage gateway's virtual machine (VM) and not the VM.", + "id": "to-shut-down-a-gateway-service-1472150508835", + "title": "To shut down a gateway service" + } + ], + "StartGateway": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Starts a gateway service that was previously shut down.", + "id": "to-start-a-gateway-service-1472150722315", + "title": "To start a gateway service" + } + ], + "UpdateBandwidthRateLimit": [ + { + "input": { + "AverageDownloadRateLimitInBitsPerSec": 102400, + "AverageUploadRateLimitInBitsPerSec": 51200, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the bandwidth rate limits of a gateway. Both the upload and download bandwidth rate limit can be set, or either one of the two. If a new limit is not set, the existing rate limit remains.", + "id": "to-update-the-bandwidth-rate-limits-of-a-gateway-1472151016202", + "title": "To update the bandwidth rate limits of a gateway" + } + ], + "UpdateChapCredentials": [ + { + "input": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "SecretToAuthenticateInitiator": "111111111111", + "SecretToAuthenticateTarget": "222222222222", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "output": { + "InitiatorName": "iqn.1991-05.com.microsoft:computername.domain.example.com", + "TargetARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target.", + "id": "to-update-chap-credentials-for-an-iscsi-target-1472151325795", + "title": "To update CHAP credentials for an iSCSI target" + } + ], + "UpdateGatewayInformation": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayName": "MyGateway2", + "GatewayTimezone": "GMT-12:00" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "GatewayName": "" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a gateway's metadata, which includes the gateway's name and time zone.", + "id": "to-update-a-gateways-metadata-1472151688693", + "title": "To update a gateway's metadata" + } + ], + "UpdateGatewaySoftwareNow": [ + { + "input": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.", + "id": "to-update-a-gateways-vm-software-1472152020929", + "title": "To update a gateway's VM software" + } + ], + "UpdateMaintenanceStartTime": [ + { + "input": { + "DayOfWeek": 2, + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", + "HourOfDay": 0, + "MinuteOfHour": 30 + }, + "output": { + "GatewayARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is in your gateway's time zone.", + "id": "to-update-a-gateways-maintenance-start-time-1472152552031", + "title": "To update a gateway's maintenance start time" + } + ], + "UpdateSnapshotSchedule": [ + { + "input": { + "Description": "Hourly snapshot", + "RecurrenceInHours": 1, + "StartAt": 0, + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "output": { + "VolumeARN": "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates a snapshot schedule configured for a gateway volume.", + "id": "to-update-a-volume-snapshot-schedule-1472152757068", + "title": "To update a volume snapshot schedule" + } + ], + "UpdateVTLDeviceType": [ + { + "input": { + "DeviceType": "Medium Changer", + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001" + }, + "output": { + "VTLDeviceARN": "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "Updates the type of medium changer in a gateway-VTL after a gateway-VTL is activated.", + "id": "to-update-a-vtl-device-type-1472153012967", + "title": "To update a VTL device type" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/paginators-1.json python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/paginators-1.json --- python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/paginators-1.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -35,6 +35,30 @@ "limit_key": "Limit", "output_token": "Marker", "result_key": "VolumeInfos" + }, + "ListTapes": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "TapeInfos" + }, + "ListFileShares": { + "input_token": "Marker", + "limit_key": "Limit", + "non_aggregate_keys": [ + "Marker" + ], + "output_token": "NextMarker", + "result_key": "FileShareInfoList" + }, + "ListTagsForResource": { + "input_token": "Marker", + "limit_key": "Limit", + "non_aggregate_keys": [ + "ResourceARN" + ], + "output_token": "Marker", + "result_key": "Tags" } } } diff -Nru python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/service-2.json python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/service-2.json --- python-botocore-1.4.70/botocore/data/storagegateway/2013-06-30/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/storagegateway/2013-06-30/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Storage Gateway", + "serviceId":"Storage Gateway", "signatureVersion":"v4", - "targetPrefix":"StorageGateway_20130630" + "targetPrefix":"StorageGateway_20130630", + "uid":"storagegateway-2013-06-30" }, "operations":{ "ActivateGateway":{ @@ -22,7 +24,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the you want to use for storing snapshots, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

    You must turn on the gateway VM before you can activate your gateway.

    " + "documentation":"

    Activates the gateway you previously deployed on your host. In the activation process, you specify information such as the AWS Region that you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account; for more information, see UpdateGatewayInformation.

    You must turn on the gateway VM before you can activate your gateway.

    " }, "AddCache":{ "name":"AddCache", @@ -36,7 +38,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Configures one or more gateway local disks as cache for a cached-volume gateway. This operation is supported only for the gateway-cached volume architecture (see Storage Gateway Concepts).

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

    " + "documentation":"

    Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape and file gateway type (see Storage Gateway Concepts).

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

    " }, "AddTagsToResource":{ "name":"AddTagsToResource", @@ -50,7 +52,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources:

    • Storage gateways of all types

    • Storage Volumes

    • Virtual Tapes

    You can create a maximum of 10 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags.

    " + "documentation":"

    Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. Each tag consists of a key and a value, which you define. You can add tags to the following AWS Storage Gateway resources:

    • Storage gateways of all types

    • Storage volumes

    • Virtual tapes

    • NFS and SMB file shares

    You can create a maximum of 50 tags for each resource. Virtual tapes and storage volumes that are recovered to a new gateway maintain their tags.

    " }, "AddUploadBuffer":{ "name":"AddUploadBuffer", @@ -64,7 +66,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for both the gateway-stored and gateway-cached volume architectures.

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer.

    " + "documentation":"

    Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported for the stored volume, cached volume and tape gateway types.

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and one or more disk IDs that you want to configure as upload buffer.

    " }, "AddWorkingStorage":{ "name":"AddWorkingStorage", @@ -78,7 +80,35 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Configures one or more gateway local disks as working storage for a gateway. This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version 20120630. Use AddUploadBuffer instead.

    Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored-volume gateway.

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

    " + "documentation":"

    Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in the stored volume gateway type. This operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer instead.

    Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to add upload buffer to a stored volume gateway.

    In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and one or more disk IDs that you want to configure as working storage.

    " + }, + "AssignTapePool":{ + "name":"AssignTapePool", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssignTapePoolInput"}, + "output":{"shape":"AssignTapePoolOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Assigns a tape to a tape pool for archiving. The tape assigned to a pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the S3 storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " + }, + "AttachVolume":{ + "name":"AttachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AttachVolumeInput"}, + "output":{"shape":"AttachVolumeOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Connects a volume to an iSCSI connection and then attaches the volume to the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance.

    " }, "CancelArchival":{ "name":"CancelArchival", @@ -92,7 +122,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated.

    " + "documentation":"

    Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated. This operation is only supported in the tape gateway type.

    " }, "CancelRetrieval":{ "name":"CancelRetrieval", @@ -106,7 +136,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated. The virtual tape is returned to the VTS.

    " + "documentation":"

    Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated. The virtual tape is returned to the VTS. This operation is only supported in the tape gateway type.

    " }, "CreateCachediSCSIVolume":{ "name":"CreateCachediSCSIVolume", @@ -120,7 +150,35 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Creates a cached volume on a specified cached gateway. This operation is supported only for the gateway-cached volume architecture.

    Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

    In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, AWS Storage Gateway creates the volume and returns information about it such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

    " + "documentation":"

    Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached volume gateway type.

    Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

    In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

    Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes.

    " + }, + "CreateNFSFileShare":{ + "name":"CreateNFSFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateNFSFileShareInput"}, + "output":{"shape":"CreateNFSFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Creates a Network File System (NFS) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using an NFS interface. This operation is only supported for file gateways.

    File gateway requires AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in the AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

    File gateway does not support creating hard or symbolic links on a file share.

    " + }, + "CreateSMBFileShare":{ + "name":"CreateSMBFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSMBFileShareInput"}, + "output":{"shape":"CreateSMBFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using an SMB interface. This operation is only supported for file gateways.

    File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

    File gateways don't support creating hard or symbolic links on a file share.

    " }, "CreateSnapshot":{ "name":"CreateSnapshot", @@ -132,9 +190,10 @@ "output":{"shape":"CreateSnapshotOutput"}, "errors":[ {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableError"} ], - "documentation":"

    Initiates a snapshot of a volume.

    AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Working With Snapshots in the AWS Storage Gateway Console.

    In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

    To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

    Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

    " + "documentation":"

    Initiates a snapshot of a volume.

    AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage Service (Amazon S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API enables you to take an ad hoc snapshot. For more information, see Editing a Snapshot Schedule.

    In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

    To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the EC2 API reference.

    Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

    " }, "CreateSnapshotFromVolumeRecoveryPoint":{ "name":"CreateSnapshotFromVolumeRecoveryPoint", @@ -146,9 +205,10 @@ "output":{"shape":"CreateSnapshotFromVolumeRecoveryPointOutput"}, "errors":[ {"shape":"InvalidGatewayRequestException"}, - {"shape":"InternalServerError"} + {"shape":"InternalServerError"}, + {"shape":"ServiceUnavailableError"} ], - "documentation":"

    Initiates a snapshot of a gateway from a volume recovery point. This operation is supported only for the gateway-cached volume architecture.

    A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for gateway-cached volumes, use ListVolumeRecoveryPoints.

    In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When AWS Storage Gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

    To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

    " + "documentation":"

    Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway type.

    A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.

    In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

    To list or delete a snapshot, you must use the Amazon EC2 API. For more information, in Amazon Elastic Compute Cloud API Reference.

    " }, "CreateStorediSCSIVolume":{ "name":"CreateStorediSCSIVolume", @@ -162,7 +222,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Creates a volume on a specified gateway. This operation is supported only for the gateway-stored volume architecture.

    The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

    In the request you must specify the gateway and the disk information on which you are creating the volume. In response, AWS Storage Gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

    " + "documentation":"

    Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type.

    The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

    In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

    " }, "CreateTapeWithBarcode":{ "name":"CreateTapeWithBarcode", @@ -176,7 +236,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape.

    Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

    " + "documentation":"

    Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and cannot be reused if it has already been used on a tape. This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type.

    Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

    " }, "CreateTapes":{ "name":"CreateTapes", @@ -190,7 +250,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes.

    Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

    " + "documentation":"

    Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway type.

    Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

    " + }, + "DeleteAutomaticTapeCreationPolicy":{ + "name":"DeleteAutomaticTapeCreationPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAutomaticTapeCreationPolicyInput"}, + "output":{"shape":"DeleteAutomaticTapeCreationPolicyOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Deletes the automatic tape creation policy of a gateway. If you delete this policy, new virtual tapes must be created manually. Use the Amazon Resource Name (ARN) of the gateway in your request to remove the policy.

    " }, "DeleteBandwidthRateLimit":{ "name":"DeleteBandwidthRateLimit", @@ -204,7 +278,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request.

    " + "documentation":"

    Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request. This operation is supported for the stored volume, cached volume and tape gateway types.

    " }, "DeleteChapCredentials":{ "name":"DeleteChapCredentials", @@ -218,7 +292,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

    " + "documentation":"

    Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair. This operation is supported in volume and tape gateway types.

    " + }, + "DeleteFileShare":{ + "name":"DeleteFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFileShareInput"}, + "output":{"shape":"DeleteFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Deletes a file share from a file gateway. This operation is only supported for file gateways.

    " }, "DeleteGateway":{ "name":"DeleteGateway", @@ -246,7 +334,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes a snapshot of a volume.

    You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN).

    To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon Elastic Compute Cloud API Reference.

    " + "documentation":"

    Deletes a snapshot of a volume.

    You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Working with Snapshots. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

    To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    " }, "DeleteTape":{ "name":"DeleteTape", @@ -260,7 +348,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes the specified virtual tape.

    " + "documentation":"

    Deletes the specified virtual tape. This operation is only supported in the tape gateway type.

    " }, "DeleteTapeArchive":{ "name":"DeleteTapeArchive", @@ -274,7 +362,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes the specified virtual tape from the virtual tape shelf (VTS).

    " + "documentation":"

    Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

    " }, "DeleteVolume":{ "name":"DeleteVolume", @@ -288,7 +376,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Deletes the specified gateway volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. For gateway-stored volumes, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

    Before you delete a gateway volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

    " + "documentation":"

    Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

    Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

    " + }, + "DescribeAvailabilityMonitorTest":{ + "name":"DescribeAvailabilityMonitorTest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAvailabilityMonitorTestInput"}, + "output":{"shape":"DescribeAvailabilityMonitorTestOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Returns information about the most recent High Availability monitoring test that was performed on the host in a cluster. If a test isn't performed, the status and start time in the response would be null.

    " }, "DescribeBandwidthRateLimit":{ "name":"DescribeBandwidthRateLimit", @@ -302,7 +404,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect.

    This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

    " + "documentation":"

    Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect. This operation is supported for the stored volume, cached volume and tape gateway types.'

    This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

    " }, "DescribeCache":{ "name":"DescribeCache", @@ -316,7 +418,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns information about the cache of a gateway. This operation is supported only for the gateway-cached volume architecture.

    The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

    " + "documentation":"

    Returns information about the cache of a gateway. This operation is only supported in the cached volume, tape, and file gateway types.

    The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

    " }, "DescribeCachediSCSIVolumes":{ "name":"DescribeCachediSCSIVolumes", @@ -330,7 +432,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a description of the gateway volumes specified in the request. This operation is supported only for the gateway-cached volume architecture.

    The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

    " + "documentation":"

    Returns a description of the gateway volumes specified in the request. This operation is only supported in the cached volume gateway types.

    The list of gateway volumes in the request must be from one gateway. In the response, AWS Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

    " }, "DescribeChapCredentials":{ "name":"DescribeChapCredentials", @@ -344,7 +446,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair.

    " + "documentation":"

    Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair. This operation is supported in the volume and tape gateway types.

    " }, "DescribeGatewayInformation":{ "name":"DescribeGatewayInformation", @@ -374,6 +476,48 @@ ], "documentation":"

    Returns your gateway's weekly maintenance start time including the day and time of the week. Note that values are in terms of the gateway's time zone.

    " }, + "DescribeNFSFileShares":{ + "name":"DescribeNFSFileShares", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeNFSFileSharesInput"}, + "output":{"shape":"DescribeNFSFileSharesOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Gets a description for one or more Network File System (NFS) file shares from a file gateway. This operation is only supported for file gateways.

    " + }, + "DescribeSMBFileShares":{ + "name":"DescribeSMBFileShares", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSMBFileSharesInput"}, + "output":{"shape":"DescribeSMBFileSharesOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Gets a description for one or more Server Message Block (SMB) file shares from a file gateway. This operation is only supported for file gateways.

    " + }, + "DescribeSMBSettings":{ + "name":"DescribeSMBSettings", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSMBSettingsInput"}, + "output":{"shape":"DescribeSMBSettingsOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Gets a description of a Server Message Block (SMB) file share settings from a file gateway. This operation is only supported for file gateways.

    " + }, "DescribeSnapshotSchedule":{ "name":"DescribeSnapshotSchedule", "http":{ @@ -386,7 +530,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes intervals at which snapshots are automatically initiated on the volume.

    " + "documentation":"

    Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes intervals at which snapshots are automatically initiated on the volume. This operation is only supported in the cached volume and stored volume types.

    " }, "DescribeStorediSCSIVolumes":{ "name":"DescribeStorediSCSIVolumes", @@ -400,7 +544,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the request must be from one gateway. In the response Amazon Storage Gateway returns volume information sorted by volume ARNs.

    " + "documentation":"

    Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the request must be from one gateway. In the response AWS Storage Gateway returns volume information sorted by volume ARNs. This operation is only supported in stored volume gateway type.

    " }, "DescribeTapeArchives":{ "name":"DescribeTapeArchives", @@ -414,7 +558,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a description of specified virtual tapes in the virtual tape shelf (VTS).

    If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

    " + "documentation":"

    Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

    If a specific TapeARN is not specified, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

    " }, "DescribeTapeRecoveryPoints":{ "name":"DescribeTapeRecoveryPoints", @@ -428,7 +572,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a list of virtual tape recovery points that are available for the specified gateway-VTL.

    A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

    " + "documentation":"

    Returns a list of virtual tape recovery points that are available for the specified tape gateway.

    A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. This operation is only supported in the tape gateway type.

    " }, "DescribeTapes":{ "name":"DescribeTapes", @@ -442,7 +586,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway.

    " + "documentation":"

    Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is not specified, returns a description of all virtual tapes associated with the specified gateway. This operation is only supported in the tape gateway type.

    " }, "DescribeUploadBuffer":{ "name":"DescribeUploadBuffer", @@ -456,7 +600,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns information about the upload buffer of a gateway. This operation is supported for both the gateway-stored and gateway-cached volume architectures.

    The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used.

    " + "documentation":"

    Returns information about the upload buffer of a gateway. This operation is supported for the stored volume, cached volume and tape gateway types.

    The response includes disk IDs that are configured as upload buffer space, and it includes the amount of upload buffer space allocated and used.

    " }, "DescribeVTLDevices":{ "name":"DescribeVTLDevices", @@ -470,7 +614,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a description of virtual tape library (VTL) devices for the specified gateway. In the response, AWS Storage Gateway returns VTL device information.

    The list of VTL devices must be from one gateway.

    " + "documentation":"

    Returns a description of virtual tape library (VTL) devices for the specified tape gateway. In the response, AWS Storage Gateway returns VTL device information.

    This operation is only supported in the tape gateway type.

    " }, "DescribeWorkingStorage":{ "name":"DescribeWorkingStorage", @@ -484,7 +628,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns information about the working storage of a gateway. This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version (20120630). Use DescribeUploadBuffer instead.

    Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored-volume gateway.

    The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

    " + "documentation":"

    Returns information about the working storage of a gateway. This operation is only supported in the stored volumes gateway type. This operation is deprecated in cached volumes API version (20120630). Use DescribeUploadBuffer instead.

    Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add upload buffer to a stored volume gateway.

    The response includes disk IDs that are configured as working storage, and it includes the amount of working storage allocated and used.

    " + }, + "DetachVolume":{ + "name":"DetachVolume", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetachVolumeInput"}, + "output":{"shape":"DetachVolumeOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Disconnects a volume from an iSCSI connection and then detaches the volume from the specified gateway. Detaching and attaching a volume enables you to recover your data from one gateway to a different gateway without creating a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an Amazon EC2 instance. This operation is only supported in the volume gateway type.

    " }, "DisableGateway":{ "name":"DisableGateway", @@ -498,7 +656,49 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Disables a gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes.

    Use this operation for a gateway-VTL that is not reachable or not functioning.

    Once a gateway is disabled it cannot be enabled.

    " + "documentation":"

    Disables a tape gateway when the gateway is no longer functioning. For example, if your gateway VM is damaged, you can disable the gateway so you can recover virtual tapes.

    Use this operation for a tape gateway that is not reachable or not functioning. This operation is only supported in the tape gateway type.

    After a gateway is disabled, it cannot be enabled.

    " + }, + "JoinDomain":{ + "name":"JoinDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"JoinDomainInput"}, + "output":{"shape":"JoinDomainOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that support the SMB file protocol.

    " + }, + "ListAutomaticTapeCreationPolicies":{ + "name":"ListAutomaticTapeCreationPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAutomaticTapeCreationPoliciesInput"}, + "output":{"shape":"ListAutomaticTapeCreationPoliciesOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Lists the automatic tape creation policies for a gateway. If there are no automatic tape creation policies for the gateway, it returns an empty list.

    This operation is only supported for tape gateways.

    " + }, + "ListFileShares":{ + "name":"ListFileShares", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListFileSharesInput"}, + "output":{"shape":"ListFileSharesOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported for file gateways.

    " }, "ListGateways":{ "name":"ListGateways", @@ -512,7 +712,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists gateways owned by an AWS account in a region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN).

    By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response.

    If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways.

    " + "documentation":"

    Lists gateways owned by an AWS account in an AWS Region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN).

    By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response.

    If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways.

    " }, "ListLocalDisks":{ "name":"ListLocalDisks", @@ -526,7 +726,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request.

    The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted).

    " + "documentation":"

    Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request.

    The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted).

    " }, "ListTagsForResource":{ "name":"ListTagsForResource", @@ -540,7 +740,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists the tags that have been added to the specified resource.

    " + "documentation":"

    Lists the tags that have been added to the specified resource. This operation is supported in storage gateways of all types.

    " }, "ListTapes":{ "name":"ListTapes", @@ -554,7 +754,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

    This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes.

    " + "documentation":"

    Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

    This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway type.

    " }, "ListVolumeInitiators":{ "name":"ListVolumeInitiators", @@ -568,7 +768,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not.

    " + "documentation":"

    Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not. This operation is only supported in the cached volume and stored volume gateway types.

    " }, "ListVolumeRecoveryPoints":{ "name":"ListVolumeRecoveryPoints", @@ -582,7 +782,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists the recovery points for a specified gateway. This operation is supported only for the gateway-cached volume architecture.

    Each gateway-cached volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

    " + "documentation":"

    Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway type.

    Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

    " }, "ListVolumes":{ "name":"ListVolumes", @@ -596,7 +796,35 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes API.

    The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes.

    " + "documentation":"

    Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes API.

    The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can optionally specify the Limit field in the body to limit the number of volumes in the response. If the number of volumes returned in the response is truncated, the response includes a Marker field. You can use this Marker value in your subsequent request to retrieve the next set of volumes. This operation is only supported in the cached volume and stored volume gateway types.

    " + }, + "NotifyWhenUploaded":{ + "name":"NotifyWhenUploaded", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"NotifyWhenUploadedInput"}, + "output":{"shape":"NotifyWhenUploadedOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Sends you notification through CloudWatch Events when all files written to your file share have been uploaded to Amazon S3.

    AWS Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file share up to that point in time have been uploaded to Amazon S3. These files include files written to the file share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification through event targets such as Amazon SNS or AWS Lambda function. This operation is only supported for file gateways.

    For more information, see Getting File Upload Notification in the Storage Gateway User Guide (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification).

    " + }, + "RefreshCache":{ + "name":"RefreshCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RefreshCacheInput"}, + "output":{"shape":"RefreshCacheOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Refreshes the cache for the specified file share. This operation finds objects in the Amazon S3 bucket that were added, removed or replaced since the gateway last listed the bucket's contents and cached the results. This operation is only supported in the file gateway type. You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation completes. For more information, see Getting Notified About File Operations.

    When this API is called, it only initiates the refresh operation. When the API call completes and returns a success code, it doesn't necessarily mean that the file refresh has completed. You should use the refresh-complete notification to determine that the operation has completed before you check for new files on the gateway file share. You can subscribe to be notified through an CloudWatch event when your RefreshCache operation completes.

    Throttle limit: This API is asynchronous so the gateway will accept no more than two refreshes at any time. We recommend using the refresh-complete CloudWatch event notification before issuing additional requests. For more information, see Getting Notified About File Operations.

    If you invoke the RefreshCache API when two requests are already being processed, any new request will cause an InvalidGatewayRequestException error because too many requests were sent to the server.

    For more information, see \"https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification\".

    " }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", @@ -610,7 +838,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Removes one or more tags from the specified resource.

    " + "documentation":"

    Removes one or more tags from the specified resource. This operation is supported in storage gateways of all types.

    " }, "ResetCache":{ "name":"ResetCache", @@ -624,7 +852,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point you can reconfigure the disks as cache disks.

    If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

    " + "documentation":"

    Resets all cache disks that have encountered an error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters an error, the gateway prevents read and write operations on virtual tapes in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a cache is reset, the gateway loses its cache storage. At this point, you can reconfigure the disks as cache disks. This operation is only supported in the cached volume and tape types.

    If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must configure at least one new cache disk for your gateway to function properly.

    " }, "RetrieveTapeArchive":{ "name":"RetrieveTapeArchive", @@ -638,7 +866,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a gateway-VTL. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS.

    Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway.

    " + "documentation":"

    Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway type.

    Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must archive the tape again before you can retrieve it to another gateway. This operation is only supported in the tape gateway type.

    " }, "RetrieveTapeRecoveryPoint":{ "name":"RetrieveTapeRecoveryPoint", @@ -652,7 +880,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Retrieves the recovery point for the specified virtual tape.

    A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

    The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a gateway-VTL. There is no charge for retrieving recovery points.

    " + "documentation":"

    Retrieves the recovery point for the specified virtual tape. This operation is only supported in the tape gateway type.

    A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway.

    The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be retrieved to only a tape gateway. There is no charge for retrieving recovery points.

    " }, "SetLocalConsolePassword":{ "name":"SetLocalConsolePassword", @@ -668,6 +896,20 @@ ], "documentation":"

    Sets the password for your VM local console. When you log in to the local console for the first time, you log in to the VM with the default credentials. We recommend that you set a new password. You don't need to know the default password to set a new password.

    " }, + "SetSMBGuestPassword":{ + "name":"SetSMBGuestPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SetSMBGuestPasswordInput"}, + "output":{"shape":"SetSMBGuestPasswordOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Sets the password for the guest user smbguest. The smbguest user is the user when the authentication method for the file share is set to GuestAccess.

    " + }, "ShutdownGateway":{ "name":"ShutdownGateway", "http":{ @@ -680,7 +922,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in the body of your request.

    The operation shuts down the gateway service component running in the storage gateway's virtual machine (VM) and not the VM.

    If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to avoid unpredictable conditions.

    After the gateway is shutdown, you cannot call any other API except StartGateway, DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken.

    When you make a shutdown request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to check the status. For more information, see ActivateGateway.

    If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer pay software charges associated with the gateway.

    " + "documentation":"

    Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in the body of your request.

    The operation shuts down the gateway service component running in the gateway's virtual machine (VM) and not the host VM.

    If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to avoid unpredictable conditions.

    After the gateway is shutdown, you cannot call any other API except StartGateway, DescribeGatewayInformation and ListGateways. For more information, see ActivateGateway. Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken.

    When you make a shutdown request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to check the status. For more information, see ActivateGateway.

    If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer pay software charges associated with the gateway.

    " + }, + "StartAvailabilityMonitorTest":{ + "name":"StartAvailabilityMonitorTest", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartAvailabilityMonitorTestInput"}, + "output":{"shape":"StartAvailabilityMonitorTestOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Start a test that verifies that the specified gateway is configured for High Availability monitoring in your host environment. This request only initiates the test and that a successful response only indicates that the test was started. It doesn't indicate that the test passed. For the status of the test, invoke the DescribeAvailabilityMonitorTest API.

    Starting this test will cause your gateway to go offline for a brief period.

    " }, "StartGateway":{ "name":"StartGateway", @@ -694,7 +950,21 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Starts a gateway that you previously shut down (see ShutdownGateway). After the gateway starts, you can then make other API calls, your applications can read from or write to the gateway's storage volumes and you will be able to take snapshot backups.

    When you make a request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to be ready. You should call DescribeGatewayInformation and check the status before making any additional API calls. For more information, see ActivateGateway.

    To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your request.

    " + "documentation":"

    Starts a gateway that you previously shut down (see ShutdownGateway). After the gateway starts, you can then make other API calls, your applications can read from or write to the gateway's storage volumes and you will be able to take snapshot backups.

    When you make a request, you will get a 200 OK success response immediately. However, it might take some time for the gateway to be ready. You should call DescribeGatewayInformation and check the status before making any additional API calls. For more information, see ActivateGateway.

    To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your request.

    " + }, + "UpdateAutomaticTapeCreationPolicy":{ + "name":"UpdateAutomaticTapeCreationPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateAutomaticTapeCreationPolicyInput"}, + "output":{"shape":"UpdateAutomaticTapeCreationPolicyOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Updates the automatic tape creation policy of a gateway. Use this to update the policy with a new set of automatic tape creation rules. This is only supported for tape gateways.

    By default, there is no automatic tape creation policy.

    A gateway can have only one automatic tape creation policy.

    " }, "UpdateBandwidthRateLimit":{ "name":"UpdateBandwidthRateLimit", @@ -708,7 +978,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains.

    By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth.

    To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

    " + "documentation":"

    Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains. This operation is supported for the stored volume, cached volume and tape gateway types.'

    By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth.

    To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

    " }, "UpdateChapCredentials":{ "name":"UpdateChapCredentials", @@ -722,7 +992,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added security, you might use it.

    When you update CHAP credentials, all existing connections on the target are closed and initiators must reconnect with the new credentials.

    " + "documentation":"

    Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added security, you might use it. This operation is supported in the volume and tape gateway types.

    When you update CHAP credentials, all existing connections on the target are closed and initiators must reconnect with the new credentials.

    " }, "UpdateGatewayInformation":{ "name":"UpdateGatewayInformation", @@ -736,7 +1006,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

    For Gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN.

    " + "documentation":"

    Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

    For Gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN.

    " }, "UpdateGatewaySoftwareNow":{ "name":"UpdateGatewaySoftwareNow", @@ -750,7 +1020,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

    When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

    A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively.

    " + "documentation":"

    Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

    When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

    A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings and Customizing Your Linux iSCSI Settings, respectively.

    " }, "UpdateMaintenanceStartTime":{ "name":"UpdateMaintenanceStartTime", @@ -766,6 +1036,48 @@ ], "documentation":"

    Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone.

    " }, + "UpdateNFSFileShare":{ + "name":"UpdateNFSFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateNFSFileShareInput"}, + "output":{"shape":"UpdateNFSFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Updates a Network File System (NFS) file share. This operation is only supported in the file gateway type.

    To leave a file share field unchanged, set the corresponding input field to null.

    Updates the following file share setting:

    • Default storage class for your S3 bucket

    • Metadata defaults for your S3 bucket

    • Allowed NFS clients for your file share

    • Squash settings

    • Write status of your file share

    To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways.

    " + }, + "UpdateSMBFileShare":{ + "name":"UpdateSMBFileShare", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSMBFileShareInput"}, + "output":{"shape":"UpdateSMBFileShareOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Updates a Server Message Block (SMB) file share.

    To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported for file gateways.

    File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

    File gateways don't support creating hard or symbolic links on a file share.

    " + }, + "UpdateSMBSecurityStrategy":{ + "name":"UpdateSMBSecurityStrategy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSMBSecurityStrategyInput"}, + "output":{"shape":"UpdateSMBSecurityStrategyOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ], + "documentation":"

    Updates the SMB security strategy on a file gateway. This action is only supported in file gateways.

    This API is called Security level in the User Guide.

    A higher security level can affect performance of the gateway.

    " + }, "UpdateSnapshotSchedule":{ "name":"UpdateSnapshotSchedule", "http":{ @@ -778,7 +1090,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates a snapshot schedule configured for a gateway volume.

    The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume.

    In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

    " + "documentation":"

    Updates a snapshot schedule configured for a gateway volume. This operation is only supported in the cached volume and stored volume gateway types.

    The default snapshot schedule for volume is once every 24 hours, starting at the creation time of the volume. You can use this API to change the snapshot schedule configured for the volume.

    In the request you must identify the gateway volume whose snapshot schedule you want to update, and the schedule information, including when you want the snapshot to begin on a day and the frequency (in hours) of snapshots.

    " }, "UpdateVTLDeviceType":{ "name":"UpdateVTLDeviceType", @@ -792,7 +1104,7 @@ {"shape":"InvalidGatewayRequestException"}, {"shape":"InternalServerError"} ], - "documentation":"

    Updates the type of medium changer in a gateway-VTL. When you activate a gateway-VTL, you select a medium changer type for the gateway-VTL. This operation enables you to select a different type of medium changer after a gateway-VTL is activated.

    " + "documentation":"

    Updates the type of medium changer in a tape gateway. When you activate a tape gateway, you select a medium changer type for the tape gateway. This operation enables you to select a different type of medium changer after a tape gateway is activated. This operation is only supported in the tape gateway type.

    " } }, "shapes":{ @@ -807,7 +1119,7 @@ "members":{ "ActivationKey":{ "shape":"ActivationKey", - "documentation":"

    Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway.

    " + "documentation":"

    Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway.

    For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html in the Storage Gateway User Guide.

    " }, "GatewayName":{ "shape":"GatewayName", @@ -815,23 +1127,27 @@ }, "GatewayTimezone":{ "shape":"GatewayTimezone", - "documentation":"

    A value that indicates the time zone you want to set for the gateway. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

    " + "documentation":"

    A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT-hr:mm\" or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.

    " }, "GatewayRegion":{ "shape":"RegionId", - "documentation":"

    A value that indicates the region where you want to store the snapshot backups. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

    Valid Values: \"us-east-1\", \"us-west-1\", \"us-west-2\", \"eu-west-1\", \"eu-central-1\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"sa-east-1\"

    " + "documentation":"

    A value that indicates the AWS Region where you want to store your data. The gateway AWS Region specified must be the same AWS Region as the AWS Region in your Host header in the request. For more information about available AWS Regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

    Valid Values: See AWS Storage Gateway Regions and Endpoints in the AWS General Reference.

    " }, "GatewayType":{ "shape":"GatewayType", - "documentation":"

    A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is STORED.

    " + "documentation":"

    A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED.

    Valid Values: \"STORED\", \"CACHED\", \"VTL\", \"FILE_S3\"

    " }, "TapeDriveType":{ "shape":"TapeDriveType", - "documentation":"

    The value that indicates the type of tape drive to use for gateway-VTL. This field is optional.

    Valid Values: \"IBM-ULT3580-TD5\"

    " + "documentation":"

    The value that indicates the type of tape drive to use for tape gateway. This field is optional.

    Valid Values: \"IBM-ULT3580-TD5\"

    " }, "MediumChangerType":{ "shape":"MediumChangerType", - "documentation":"

    The value that indicates the type of medium changer to use for gateway-VTL. This field is optional.

    Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

    " + "documentation":"

    The value that indicates the type of medium changer to use for tape gateway. This field is optional.

    Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that you can assign to the gateway. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers that can be represented in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256 characters.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -841,13 +1157,25 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    AWS Storage Gateway returns the Amazon Resource Name (ARN) of the activated gateway. It is a string made of information such as your account, gateway name, and region. This ARN is used to reference the gateway in other API operations as well as resource-based authorization.

    For gateways activated prior to September 02, 2015 the gateway ARN contains the gateway name rather than the gateway id. Changing the name of the gateway has no effect on the gateway ARN.

    " + "documentation":"

    AWS Storage Gateway returns the Amazon Resource Name (ARN) of the activated gateway. It is a string made of information such as your account, gateway name, and AWS Region. This ARN is used to reference the gateway in other API operations as well as resource-based authorization.

    For gateways activated prior to September 02, 2015, the gateway ARN contains the gateway name rather than the gateway ID. Changing the name of the gateway has no effect on the gateway ARN.

    " }, "ActivationKey":{ "type":"string", "max":50, "min":1 }, + "ActiveDirectoryStatus":{ + "type":"string", + "enum":[ + "ACCESS_DENIED", + "DETACHED", + "JOINED", + "JOINING", + "NETWORK_ERROR", + "TIMEOUT", + "UNKNOWN_ERROR" + ] + }, "AddCacheInput":{ "type":"structure", "required":[ @@ -856,7 +1184,10 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

    An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

    " + } } }, "AddCacheOutput":{ @@ -878,7 +1209,7 @@ }, "Tags":{ "shape":"Tags", - "documentation":"

    The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

    " + "documentation":"

    The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    AddTagsToResourceInput

    " @@ -901,7 +1232,10 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

    An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

    " + } } }, "AddUploadBufferOutput":{ @@ -920,7 +1254,7 @@ "GatewayARN":{"shape":"GatewayARN"}, "DiskIds":{ "shape":"DiskIds", - "documentation":"

    An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

    " + "documentation":"

    An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -930,72 +1264,253 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway for which working storage was configured.

    " - }, - "BandwidthDownloadRateLimit":{ - "type":"long", - "min":102400 - }, - "BandwidthType":{ - "type":"string", - "max":25, - "min":3 - }, - "BandwidthUploadRateLimit":{ - "type":"long", - "min":51200 - }, - "CachediSCSIVolume":{ - "type":"structure", - "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeId":{"shape":"VolumeId"}, - "VolumeType":{"shape":"VolumeType"}, - "VolumeStatus":{"shape":"VolumeStatus"}, - "VolumeSizeInBytes":{"shape":"long"}, - "VolumeProgress":{"shape":"DoubleObject"}, - "SourceSnapshotId":{"shape":"SnapshotId"}, - "VolumeiSCSIAttributes":{"shape":"VolumeiSCSIAttributes"} - } - }, - "CachediSCSIVolumes":{ - "type":"list", - "member":{"shape":"CachediSCSIVolume"} + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway for which working storage was configured.

    " }, - "CancelArchivalInput":{ + "AssignTapePoolInput":{ "type":"structure", "required":[ - "GatewayARN", - "TapeARN" + "TapeARN", + "PoolId" ], "members":{ - "GatewayARN":{"shape":"GatewayARN"}, "TapeARN":{ "shape":"TapeARN", - "documentation":"

    The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving for.

    " + "documentation":"

    The unique Amazon Resource Name (ARN) of the virtual tape that you want to add to the tape pool.

    " + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " } - }, - "documentation":"

    CancelArchivalInput

    " + } }, - "CancelArchivalOutput":{ + "AssignTapePoolOutput":{ "type":"structure", "members":{ "TapeARN":{ "shape":"TapeARN", - "documentation":"

    The Amazon Resource Name (ARN) of the virtual tape for which archiving was canceled.

    " + "documentation":"

    The unique Amazon Resource Names (ARN) of the virtual tape that was added to the tape pool.

    " } - }, - "documentation":"

    CancelArchivalOutput

    " + } }, - "CancelRetrievalInput":{ + "AttachVolumeInput":{ "type":"structure", "required":[ "GatewayARN", - "TapeARN" + "VolumeARN", + "NetworkInterfaceId" ], "members":{ - "GatewayARN":{"shape":"GatewayARN"}, - "TapeARN":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The Amazon Resource Name (ARN) of the gateway that you want to attach the volume to.

    " + }, + "TargetName":{ + "shape":"TargetName", + "documentation":"

    The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

    If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

    " + }, + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.

    " + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

    The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

    Valid Values: A valid IP address.

    " + }, + "DiskId":{ + "shape":"DiskId", + "documentation":"

    The unique device ID or other distinguishing data that identifies the local disk used to create the volume. This value is only required when you are attaching a stored volume.

    " + } + }, + "documentation":"

    AttachVolumeInput

    " + }, + "AttachVolumeOutput":{ + "type":"structure", + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume that was attached to the gateway.

    " + }, + "TargetARN":{ + "shape":"TargetARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name for the initiator that was used to connect to the target.

    " + } + }, + "documentation":"

    AttachVolumeOutput

    " + }, + "AuditDestinationARN":{ + "type":"string", + "max":1024 + }, + "Authentication":{ + "type":"string", + "documentation":"

    The authentication method of the file share.

    Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

    ", + "max":15, + "min":5 + }, + "AutomaticTapeCreationPolicyInfo":{ + "type":"structure", + "members":{ + "AutomaticTapeCreationRules":{ + "shape":"AutomaticTapeCreationRules", + "documentation":"

    An automatic tape creation policy consists of a list of automatic tape creation rules. This returns the rules that determine when and how to automatically create new tapes.

    " + }, + "GatewayARN":{"shape":"GatewayARN"} + }, + "documentation":"

    Information about the gateway's automatic tape creation policies, including the automatic tape creation rules and the gateway that is using the policies.

    " + }, + "AutomaticTapeCreationPolicyInfos":{ + "type":"list", + "member":{"shape":"AutomaticTapeCreationPolicyInfo"} + }, + "AutomaticTapeCreationRule":{ + "type":"structure", + "required":[ + "TapeBarcodePrefix", + "PoolId", + "TapeSizeInBytes", + "MinimumNumTapes" + ], + "members":{ + "TapeBarcodePrefix":{ + "shape":"TapeBarcodePrefix", + "documentation":"

    A prefix that you append to the barcode of the virtual tape that you are creating. This prefix makes the barcode unique.

    The prefix must be 1-4 characters in length and must be one of the uppercase letters from A to Z.

    " + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the Amazon S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " + }, + "TapeSizeInBytes":{ + "shape":"TapeSize", + "documentation":"

    The size, in bytes, of the virtual tape capacity.

    " + }, + "MinimumNumTapes":{ + "shape":"MinimumNumTapes", + "documentation":"

    The minimum number of available virtual tapes that the gateway maintains at all times. If the number of tapes on the gateway goes below this value, the gateway creates as many new tapes as are needed to have MinimumNumTapes on the gateway.

    " + } + }, + "documentation":"

    An automatic tape creation policy consists of automatic tape creation rules where each rule defines when and how to create new tapes.

    " + }, + "AutomaticTapeCreationRules":{ + "type":"list", + "member":{"shape":"AutomaticTapeCreationRule"}, + "max":10, + "min":1 + }, + "AvailabilityMonitorTestStatus":{ + "type":"string", + "enum":[ + "COMPLETE", + "FAILED", + "PENDING" + ] + }, + "BandwidthDownloadRateLimit":{ + "type":"long", + "min":102400 + }, + "BandwidthType":{ + "type":"string", + "max":25, + "min":3 + }, + "BandwidthUploadRateLimit":{ + "type":"long", + "min":51200 + }, + "Boolean":{"type":"boolean"}, + "CachediSCSIVolume":{ + "type":"structure", + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the storage volume.

    " + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

    The unique identifier of the volume, e.g. vol-AE4B946D.

    " + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

    One of the VolumeType enumeration values that describes the type of the volume.

    " + }, + "VolumeStatus":{ + "shape":"VolumeStatus", + "documentation":"

    One of the VolumeStatus values that indicates the state of the storage volume.

    " + }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

    A value that indicates whether a storage volume is attached to or detached from a gateway. For more information, see Moving Your Volumes to a Different Gateway.

    " + }, + "VolumeSizeInBytes":{ + "shape":"long", + "documentation":"

    The size, in bytes, of the volume capacity.

    " + }, + "VolumeProgress":{ + "shape":"DoubleObject", + "documentation":"

    Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the cached volume is not restoring or bootstrapping.

    " + }, + "SourceSnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    If the cached volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.

    " + }, + "VolumeiSCSIAttributes":{ + "shape":"VolumeiSCSIAttributes", + "documentation":"

    An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

    " + }, + "CreatedDate":{ + "shape":"CreatedDate", + "documentation":"

    The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

    " + }, + "VolumeUsedInBytes":{ + "shape":"VolumeUsedInBytes", + "documentation":"

    The size of the data stored on the volume in bytes. This value is calculated based on the number of blocks that are touched, instead of the actual amount of data written. This value can be useful for sequential write patterns but less accurate for random write patterns. VolumeUsedInBytes is different from the compressed size of the volume, which is the value that is used to calculate your bill.

    This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "TargetName":{ + "shape":"TargetName", + "documentation":"

    The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

    If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

    " + } + }, + "documentation":"

    Describes an iSCSI cached volume.

    " + }, + "CachediSCSIVolumes":{ + "type":"list", + "member":{"shape":"CachediSCSIVolume"} + }, + "CancelArchivalInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "TapeARN" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "TapeARN":{ + "shape":"TapeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving for.

    " + } + }, + "documentation":"

    CancelArchivalInput

    " + }, + "CancelArchivalOutput":{ + "type":"structure", + "members":{ + "TapeARN":{ + "shape":"TapeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the virtual tape for which archiving was canceled.

    " + } + }, + "documentation":"

    CancelArchivalOutput

    " + }, + "CancelRetrievalInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "TapeARN" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "TapeARN":{ "shape":"TapeARN", "documentation":"

    The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval for.

    " } @@ -1041,13 +1556,18 @@ "ChapSecret":{ "type":"string", "max":100, - "min":1 + "min":1, + "sensitive":true }, "ClientToken":{ "type":"string", "max":100, "min":5 }, + "CloudWatchLogGroupARN":{ + "type":"string", + "max":562 + }, "CreateCachediSCSIVolumeInput":{ "type":"structure", "required":[ @@ -1059,20 +1579,233 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "VolumeSizeInBytes":{"shape":"long"}, - "SnapshotId":{"shape":"SnapshotId"}, - "TargetName":{"shape":"TargetName"}, - "NetworkInterfaceId":{"shape":"NetworkInterfaceId"}, - "ClientToken":{"shape":"ClientToken"} + "VolumeSizeInBytes":{ + "shape":"long", + "documentation":"

    The size of the volume in bytes.

    " + }, + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    " + }, + "TargetName":{ + "shape":"TargetName", + "documentation":"

    The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

    If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

    " + }, + "SourceVolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The VolumeSizeInBytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes.

    " + }, + "NetworkInterfaceId":{ + "shape":"NetworkInterfaceId", + "documentation":"

    The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

    Valid Values: A valid IP address.

    " + }, + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that you can assign to a cached volume. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers that you can represent in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256 characters.

    " + } } }, "CreateCachediSCSIVolumeOutput":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "TargetARN":{"shape":"TargetARN"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the configured volume.

    " + }, + "TargetARN":{ + "shape":"TargetARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that initiators can use to connect to the target.

    " + } } }, + "CreateNFSFileShareInput":{ + "type":"structure", + "required":[ + "ClientToken", + "GatewayARN", + "Role", + "LocationARN" + ], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

    " + }, + "NFSFileShareDefaults":{ + "shape":"NFSFileShareDefaults", + "documentation":"

    File share default values. Optional.

    " + }, + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

    " + }, + "LocationARN":{ + "shape":"LocationARN", + "documentation":"

    The ARN of the backed storage used for storing file data.

    " + }, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{ + "shape":"ObjectACL", + "documentation":"

    A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

    " + }, + "ClientList":{ + "shape":"FileShareClientList", + "documentation":"

    The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

    " + }, + "Squash":{ + "shape":"Squash", + "documentation":"

    A value that maps a user to anonymous user. Valid options are the following:

    • RootSquash - Only root is mapped to anonymous user.

    • NoSquash - No one is mapped to anonymous user

    • AllSquash - Everyone is mapped to anonymous user.

    " + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " + } + }, + "documentation":"

    CreateNFSFileShareInput

    " + }, + "CreateNFSFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the newly created file share.

    " + } + }, + "documentation":"

    CreateNFSFileShareOutput

    " + }, + "CreateSMBFileShareInput":{ + "type":"structure", + "required":[ + "ClientToken", + "GatewayARN", + "Role", + "LocationARN" + ], + "members":{ + "ClientToken":{ + "shape":"ClientToken", + "documentation":"

    A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

    " + }, + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The ARN of the file gateway on which you want to create a file share.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

    " + }, + "LocationARN":{ + "shape":"LocationARN", + "documentation":"

    The ARN of the backed storage used for storing file data.

    " + }, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{ + "shape":"ObjectACL", + "documentation":"

    A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

    " + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

    Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions.

    For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.

    " + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users in the Active Directory that will be granted administrator privileges on the file share. These users can do all file operations as the super-user.

    Use this option very carefully, because any user in this list can do anything they like on the file share, regardless of file permissions.

    " + }, + "ValidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "InvalidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example, @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "AuditDestinationARN":{ + "shape":"AuditDestinationARN", + "documentation":"

    The Amazon Resource Name (ARN) of the storage used for the audit logs.

    " + }, + "Authentication":{ + "shape":"Authentication", + "documentation":"

    The authentication method that users use to access the file share.

    Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to the NFS file share. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " + } + }, + "documentation":"

    CreateSMBFileShareInput

    " + }, + "CreateSMBFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the newly created file share.

    " + } + }, + "documentation":"

    CreateSMBFileShareOutput

    " + }, "CreateSnapshotFromVolumeRecoveryPointInput":{ "type":"structure", "required":[ @@ -1080,16 +1813,35 @@ "SnapshotDescription" ], "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "SnapshotDescription":{"shape":"SnapshotDescription"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

    " + }, + "SnapshotDescription":{ + "shape":"SnapshotDescription", + "documentation":"

    Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " + } } }, "CreateSnapshotFromVolumeRecoveryPointOutput":{ "type":"structure", "members":{ - "SnapshotId":{"shape":"SnapshotId"}, - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeRecoveryPointTime":{"shape":"string"} + "SnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    The ID of the snapshot.

    " + }, + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

    " + }, + "VolumeRecoveryPointTime":{ + "shape":"string", + "documentation":"

    The time the volume was created from the recovery point.

    " + } } }, "CreateSnapshotInput":{ @@ -1106,6 +1858,10 @@ "SnapshotDescription":{ "shape":"SnapshotDescription", "documentation":"

    Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -1137,11 +1893,11 @@ "GatewayARN":{"shape":"GatewayARN"}, "DiskId":{ "shape":"DiskId", - "documentation":"

    The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

    " + "documentation":"

    The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

    " }, "SnapshotId":{ "shape":"SnapshotId", - "documentation":"

    The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    " + "documentation":"

    The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

    " }, "PreserveExistingData":{ "shape":"boolean", @@ -1149,11 +1905,23 @@ }, "TargetName":{ "shape":"TargetName", - "documentation":"

    The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

    " + "documentation":"

    The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

    If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

    " }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", "documentation":"

    The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

    Valid Values: A valid IP address.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a stored volume. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -1171,7 +1939,7 @@ }, "TargetARN":{ "shape":"TargetARN", - "documentation":"

    he Amazon Resource Name (ARN) of the volume target that includes the iSCSI name that initiators can use to connect to the target.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI name that initiators can use to connect to the target.

    " } }, "documentation":"

    A JSON object containing the following fields:

    " @@ -1186,15 +1954,31 @@ "members":{ "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and region.

    " + "documentation":"

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " }, "TapeSizeInBytes":{ "shape":"TapeSize", - "documentation":"

    The size, in bytes, of the virtual tape that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 byte).

    " + "documentation":"

    The size, in bytes, of the virtual tape that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 bytes).

    " }, "TapeBarcode":{ "shape":"TapeBarcode", - "documentation":"

    The barcode that you want to assign to the tape.

    " + "documentation":"

    The barcode that you want to assign to the tape.

    Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a virtual tape that has a barcode. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    CreateTapeWithBarcodeInput

    " @@ -1221,15 +2005,15 @@ "members":{ "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and region.

    " + "documentation":"

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " }, "TapeSizeInBytes":{ "shape":"TapeSize", - "documentation":"

    The size, in bytes, of the virtual tapes that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 byte).

    " + "documentation":"

    The size, in bytes, of the virtual tapes that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 bytes).

    " }, "ClientToken":{ "shape":"ClientToken", - "documentation":"

    A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

    Using the same ClientToken prevents creating the tape multiple times.

    " + "documentation":"

    A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

    Using the same ClientToken prevents creating the tape multiple times.

    " }, "NumTapesToCreate":{ "shape":"NumTapesToCreate", @@ -1237,7 +2021,23 @@ }, "TapeBarcodePrefix":{ "shape":"TapeBarcodePrefix", - "documentation":"

    A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique.

    The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z.

    " + "documentation":"

    A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique.

    The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    CreateTapesInput

    " @@ -1252,11 +2052,30 @@ }, "documentation":"

    CreateTapeOutput

    " }, + "CreatedDate":{"type":"timestamp"}, + "DayOfMonth":{ + "type":"integer", + "max":28, + "min":1 + }, "DayOfWeek":{ "type":"integer", "max":6, "min":0 }, + "DeleteAutomaticTapeCreationPolicyInput":{ + "type":"structure", + "required":["GatewayARN"], + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "DeleteAutomaticTapeCreationPolicyOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "DeleteBandwidthRateLimitInput":{ "type":"structure", "required":[ @@ -1265,15 +2084,19 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "BandwidthType":{"shape":"BandwidthType"} - } + "BandwidthType":{ + "shape":"BandwidthType", + "documentation":"

    One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete.

    Valid Values: Upload, Download, All.

    " + } + }, + "documentation":"

    A JSON object containing the following fields:

    " }, "DeleteBandwidthRateLimitOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway whose bandwidth rate information was deleted.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway whose bandwidth rate information was deleted.

    " }, "DeleteChapCredentialsInput":{ "type":"structure", @@ -1307,32 +2130,63 @@ }, "documentation":"

    A JSON object containing the following fields:

    " }, + "DeleteFileShareInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the file share to be deleted.

    " + }, + "ForceDelete":{ + "shape":"boolean", + "documentation":"

    If this value is set to true, the operation deletes a file share immediately and aborts all data uploads to AWS. Otherwise, the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process, and the file share enters the FORCE_DELETING status.

    " + } + }, + "documentation":"

    DeleteFileShareInput

    " + }, + "DeleteFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the deleted file share.

    " + } + }, + "documentation":"

    DeleteFileShareOutput

    " + }, "DeleteGatewayInput":{ "type":"structure", "required":["GatewayARN"], "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the id of the gateway to delete.

    " + "documentation":"

    A JSON object containing the ID of the gateway to delete.

    " }, "DeleteGatewayOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the id of the deleted gateway.

    " + "documentation":"

    A JSON object containing the ID of the deleted gateway.

    " }, "DeleteSnapshotScheduleInput":{ "type":"structure", "required":["VolumeARN"], "members":{ - "VolumeARN":{"shape":"VolumeARN"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The volume which snapshot schedule to delete.

    " + } } }, "DeleteSnapshotScheduleOutput":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The volume which snapshot schedule was deleted.

    " + } } }, "DeleteTapeArchiveInput":{ @@ -1365,7 +2219,7 @@ "members":{ "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The unique Amazon Resource Name (ARN) of the gateway that the virtual tape to delete is associated with. Use the ListGateways operation to return a list of gateways for your account and region.

    " + "documentation":"

    The unique Amazon Resource Name (ARN) of the gateway that the virtual tape to delete is associated with. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " }, "TapeARN":{ "shape":"TapeARN", @@ -1403,7 +2257,28 @@ "documentation":"

    The Amazon Resource Name (ARN) of the storage volume that was deleted. It is the same ARN you provided in the request.

    " } }, - "documentation":"

    A JSON object containing the of the storage volume that was deleted

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the storage volume that was deleted

    " + }, + "DescribeAvailabilityMonitorTestInput":{ + "type":"structure", + "required":["GatewayARN"], + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "DescribeAvailabilityMonitorTestOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "Status":{ + "shape":"AvailabilityMonitorTestStatus", + "documentation":"

    The status of the High Availability monitoring test. If a test hasn't been performed, the value of this field is null.

    " + }, + "StartTime":{ + "shape":"Time", + "documentation":"

    The time the High Availability monitoring test was started. If a test hasn't been performed, the value of this field is null.

    " + } + } }, "DescribeBandwidthRateLimitInput":{ "type":"structure", @@ -1411,7 +2286,7 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway.

    " }, "DescribeBandwidthRateLimitOutput":{ "type":"structure", @@ -1439,19 +2314,40 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "CacheAllocatedInBytes":{"shape":"long"}, - "CacheUsedPercentage":{"shape":"double"}, - "CacheDirtyPercentage":{"shape":"double"}, - "CacheHitPercentage":{"shape":"double"}, - "CacheMissPercentage":{"shape":"double"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

    An array of strings that identify disks that are to be configured as working storage. Each string has a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

    " + }, + "CacheAllocatedInBytes":{ + "shape":"long", + "documentation":"

    The amount of cache in bytes allocated to a gateway.

    " + }, + "CacheUsedPercentage":{ + "shape":"double", + "documentation":"

    Percent use of the gateway's cache storage. This metric applies only to the gateway-cached volume setup. The sample is taken at the end of the reporting period.

    " + }, + "CacheDirtyPercentage":{ + "shape":"double", + "documentation":"

    The file share's contribution to the overall percentage of the gateway's cache that has not been persisted to AWS. The sample is taken at the end of the reporting period.

    " + }, + "CacheHitPercentage":{ + "shape":"double", + "documentation":"

    Percent of application read operations from the file shares that are served from cache. The sample is taken at the end of the reporting period.

    " + }, + "CacheMissPercentage":{ + "shape":"double", + "documentation":"

    Percent of application read operations from the file shares that are not served from cache. The sample is taken at the end of the reporting period.

    " + } } }, "DescribeCachediSCSIVolumesInput":{ "type":"structure", "required":["VolumeARNs"], "members":{ - "VolumeARNs":{"shape":"VolumeARNs"} + "VolumeARNs":{ + "shape":"VolumeARNs", + "documentation":"

    An array of strings where each string represents the Amazon Resource Name (ARN) of a cached volume. All of the specified cached volumes must be from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

    " + } } }, "DescribeCachediSCSIVolumesOutput":{ @@ -1491,7 +2387,7 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the id of the gateway.

    " + "documentation":"

    A JSON object containing the ID of the gateway.

    " }, "DescribeGatewayInformationOutput":{ "type":"structure", @@ -1528,26 +2424,138 @@ "LastSoftwareUpdate":{ "shape":"LastSoftwareUpdate", "documentation":"

    The date on which the last software update was applied to the gateway. If the gateway has never been updated, this field does not return a value in the response.

    " + }, + "Ec2InstanceId":{ + "shape":"Ec2InstanceId", + "documentation":"

    The ID of the Amazon EC2 instance that was used to launch the gateway.

    " + }, + "Ec2InstanceRegion":{ + "shape":"Ec2InstanceRegion", + "documentation":"

    The AWS Region where the Amazon EC2 instance is located.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags assigned to the gateway, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

    " + }, + "VPCEndpoint":{ + "shape":"string", + "documentation":"

    The configuration settings for the virtual private cloud (VPC) endpoint for your gateway.

    " + }, + "CloudWatchLogGroupARN":{ + "shape":"CloudWatchLogGroupARN", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is used to monitor events in the gateway.

    " + }, + "HostEnvironment":{ + "shape":"HostEnvironment", + "documentation":"

    The type of hypervisor environment used by the host.

    " + } + }, + "documentation":"

    A JSON object containing the following fields:

    " + }, + "DescribeMaintenanceStartTimeInput":{ + "type":"structure", + "required":["GatewayARN"], + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + }, + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway.

    " + }, + "DescribeMaintenanceStartTimeOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "HourOfDay":{ + "shape":"HourOfDay", + "documentation":"

    The hour component of the maintenance start time represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

    " + }, + "MinuteOfHour":{ + "shape":"MinuteOfHour", + "documentation":"

    The minute component of the maintenance start time represented as mm, where mm is the minute (0 to 59). The minute of the hour is in the time zone of the gateway.

    " + }, + "DayOfWeek":{ + "shape":"DayOfWeek", + "documentation":"

    An ordinal number between 0 and 6 that represents the day of the week, where 0 represents Sunday and 6 represents Saturday. The day of week is in the time zone of the gateway.

    " + }, + "DayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

    The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month.

    This value is only available for tape and volume gateways.

    " + }, + "Timezone":{ + "shape":"GatewayTimezone", + "documentation":"

    A value that indicates the time zone that is set for the gateway. The start time and day of week specified should be in the time zone of the gateway.

    " + } + }, + "documentation":"

    A JSON object containing the following fields:

    " + }, + "DescribeNFSFileSharesInput":{ + "type":"structure", + "required":["FileShareARNList"], + "members":{ + "FileShareARNList":{ + "shape":"FileShareARNList", + "documentation":"

    An array containing the Amazon Resource Name (ARN) of each file share to be described.

    " + } + }, + "documentation":"

    DescribeNFSFileSharesInput

    " + }, + "DescribeNFSFileSharesOutput":{ + "type":"structure", + "members":{ + "NFSFileShareInfoList":{ + "shape":"NFSFileShareInfoList", + "documentation":"

    An array containing a description for each requested file share.

    " + } + }, + "documentation":"

    DescribeNFSFileSharesOutput

    " + }, + "DescribeSMBFileSharesInput":{ + "type":"structure", + "required":["FileShareARNList"], + "members":{ + "FileShareARNList":{ + "shape":"FileShareARNList", + "documentation":"

    An array containing the Amazon Resource Name (ARN) of each file share to be described.

    " + } + }, + "documentation":"

    DescribeSMBFileSharesInput

    " + }, + "DescribeSMBFileSharesOutput":{ + "type":"structure", + "members":{ + "SMBFileShareInfoList":{ + "shape":"SMBFileShareInfoList", + "documentation":"

    An array containing a description for each requested file share.

    " } }, - "documentation":"

    A JSON object containing the following fields:

    " + "documentation":"

    DescribeSMBFileSharesOutput

    " }, - "DescribeMaintenanceStartTimeInput":{ + "DescribeSMBSettingsInput":{ "type":"structure", "required":["GatewayARN"], "members":{ "GatewayARN":{"shape":"GatewayARN"} - }, - "documentation":"

    A JSON object containing the of the gateway.

    " + } }, - "DescribeMaintenanceStartTimeOutput":{ + "DescribeSMBSettingsOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "HourOfDay":{"shape":"HourOfDay"}, - "MinuteOfHour":{"shape":"MinuteOfHour"}, - "DayOfWeek":{"shape":"DayOfWeek"}, - "Timezone":{"shape":"GatewayTimezone"} + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that the gateway is joined to.

    " + }, + "ActiveDirectoryStatus":{ + "shape":"ActiveDirectoryStatus", + "documentation":"

    Indicates the status of a gateway that is a member of the Active Directory domain.

    • ACCESS_DENIED: Indicates that the JoinDomain operation failed due to an authentication error.

    • DETACHED: Indicates that gateway is not joined to a domain.

    • JOINED: Indicates that the gateway has successfully joined a domain.

    • JOINING: Indicates that a JoinDomain operation is in progress.

    • NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network or connectivity error.

    • TIMEOUT: Indicates that the JoinDomain operation failed because the operation didn't complete within the allotted time.

    • UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to another type of error.

    " + }, + "SMBGuestPasswordSet":{ + "shape":"Boolean", + "documentation":"

    This value is true if a password for the guest user “smbguest” is set, and otherwise false.

    " + }, + "SMBSecurityStrategy":{ + "shape":"SMBSecurityStrategy", + "documentation":"

    The type of security strategy that was specified for file gateway.

    ClientSpecified: if you use this option, requests are established based on what is negotiated by the client. This option is recommended when you want to maximize compatibility across different clients in your environment.

    MandatorySigning: if you use this option, file gateway only allows connections from SMBv2 or SMBv3 clients that have signing enabled. This option works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.

    MandatoryEncryption: if you use this option, file gateway only allows connections from SMBv3 clients that have encryption enabled. This option is highly recommended for environments that handle sensitive data. This option works with SMB clients on Microsoft Windows 8, Windows Server 2012 or newer.

    " + } } }, "DescribeSnapshotScheduleInput":{ @@ -1564,11 +2572,30 @@ "DescribeSnapshotScheduleOutput":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "StartAt":{"shape":"HourOfDay"}, - "RecurrenceInHours":{"shape":"RecurrenceInHours"}, - "Description":{"shape":"Description"}, - "Timezone":{"shape":"GatewayTimezone"} + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume that was specified in the request.

    " + }, + "StartAt":{ + "shape":"HourOfDay", + "documentation":"

    The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

    " + }, + "RecurrenceInHours":{ + "shape":"RecurrenceInHours", + "documentation":"

    The number of hours between snapshots.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    The snapshot description.

    " + }, + "Timezone":{ + "shape":"GatewayTimezone", + "documentation":"

    A value that indicates the time zone of the gateway.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags assigned to the snapshot schedule, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

    " + } } }, "DescribeStorediSCSIVolumesInput":{ @@ -1577,7 +2604,7 @@ "members":{ "VolumeARNs":{ "shape":"VolumeARNs", - "documentation":"

    An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

    " + "documentation":"

    An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must be from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

    " } }, "documentation":"

    A JSON object containing a list of DescribeStorediSCSIVolumesInput$VolumeARNs.

    " @@ -1585,7 +2612,10 @@ "DescribeStorediSCSIVolumesOutput":{ "type":"structure", "members":{ - "StorediSCSIVolumes":{"shape":"StorediSCSIVolumes"} + "StorediSCSIVolumes":{ + "shape":"StorediSCSIVolumes", + "documentation":"

    Describes a single unit of output from DescribeStorediSCSIVolumes. The following fields are returned:

    • ChapEnabled: Indicates whether mutual CHAP is enabled for the iSCSI target.

    • LunNumber: The logical disk number.

    • NetworkInterfaceId: The network interface ID of the stored volume that initiator use to map the stored volume as an iSCSI target.

    • NetworkInterfacePort: The port used to communicate with iSCSI targets.

    • PreservedExistingData: Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

    • SourceSnapshotId: If the stored volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-1122aabb. Otherwise, this field is not included.

    • StorediSCSIVolumes: An array of StorediSCSIVolume objects where each object contains metadata about one stored volume.

    • TargetARN: The Amazon Resource Name (ARN) of the volume target.

    • VolumeARN: The Amazon Resource Name (ARN) of the stored volume.

    • VolumeDiskId: The disk ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

    • VolumeId: The unique identifier of the storage volume, e.g. vol-1122AABB.

    • VolumeiSCSIAttributes: An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

    • VolumeProgress: Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the stored volume is not restoring or bootstrapping.

    • VolumeSizeInBytes: The size of the volume in bytes.

    • VolumeStatus: One of the VolumeStatus values that indicates the state of the volume.

    • VolumeType: One of the enumeration values describing the type of the volume. Currently, on STORED volumes are supported.

    " + } } }, "DescribeTapeArchivesInput":{ @@ -1601,7 +2631,7 @@ }, "Limit":{ "shape":"PositiveIntObject", - "documentation":"

    Specifies that the number of virtual tapes descried be limited to the specified number.

    " + "documentation":"

    Specifies that the number of virtual tapes described be limited to the specified number.

    " } }, "documentation":"

    DescribeTapeArchivesInput

    " @@ -1611,7 +2641,7 @@ "members":{ "TapeArchives":{ "shape":"TapeArchives", - "documentation":"

    An array of virtual tape objects in the virtual tape shelf (VTS). The description includes of the Amazon Resource Name(ARN) of the virtual tapes. The information returned includes the Amazon Resource Names (ARNs) of the tapes, size of the tapes, status of the tapes, progress of the description and tape barcode.

    " + "documentation":"

    An array of virtual tape objects in the virtual tape shelf (VTS). The description includes of the Amazon Resource Name (ARN) of the virtual tapes. The information returned includes the Amazon Resource Names (ARNs) of the tapes, size of the tapes, status of the tapes, progress of the description and tape barcode.

    " }, "Marker":{ "shape":"Marker", @@ -1658,7 +2688,7 @@ "GatewayARN":{"shape":"GatewayARN"}, "TapeARNs":{ "shape":"TapeARNs", - "documentation":"

    Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, AWS Storage Gateway returns a description of all virtual tapes associated with the specified gateway.

    " + "documentation":"

    Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, Tape gateway returns a description of all virtual tapes associated with the specified gateway.

    " }, "Marker":{ "shape":"Marker", @@ -1666,7 +2696,7 @@ }, "Limit":{ "shape":"PositiveIntObject", - "documentation":"

    Specifies that the number of virtual tapes described be limited to the specified number.

    Amazon Web Services may impose its own limit, if this field is not set.

    " + "documentation":"

    Specifies that the number of virtual tapes described be limited to the specified number.

    Amazon Web Services may impose its own limit, if this field is not set.

    " } }, "documentation":"

    DescribeTapesInput

    " @@ -1696,9 +2726,18 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "DiskIds":{"shape":"DiskIds"}, - "UploadBufferUsedInBytes":{"shape":"long"}, - "UploadBufferAllocatedInBytes":{"shape":"long"} + "DiskIds":{ + "shape":"DiskIds", + "documentation":"

    An array of the gateway's local disk IDs that are configured as working storage. Each local disk ID is specified as a string (minimum length of 1 and maximum length of 300). If no local disks are configured as working storage, then the DiskIds array is empty.

    " + }, + "UploadBufferUsedInBytes":{ + "shape":"long", + "documentation":"

    The total number of bytes being used in the gateway's upload buffer.

    " + }, + "UploadBufferAllocatedInBytes":{ + "shape":"long", + "documentation":"

    The total number of bytes allocated in the gateway's as upload buffer.

    " + } } }, "DescribeVTLDevicesInput":{ @@ -1708,7 +2747,7 @@ "GatewayARN":{"shape":"GatewayARN"}, "VTLDeviceARNs":{ "shape":"VTLDeviceARNs", - "documentation":"

    An array of strings, where each string represents the Amazon Resource Name (ARN) of a VTL device.

    All of the specified VTL devices must be from the same gateway. If no VTL devices are specified, the result will contain all devices on the specified gateway.

    " + "documentation":"

    An array of strings, where each string represents the Amazon Resource Name (ARN) of a VTL device.

    All of the specified VTL devices must be from the same gateway. If no VTL devices are specified, the result will contain all devices on the specified gateway.

    " }, "Marker":{ "shape":"Marker", @@ -1727,7 +2766,7 @@ "GatewayARN":{"shape":"GatewayARN"}, "VTLDevices":{ "shape":"VTLDevices", - "documentation":"

    An array of VTL device objects composed of the Amazon Resource Name(ARN) of the VTL devices.

    " + "documentation":"

    An array of VTL device objects composed of the Amazon Resource Name (ARN) of the VTL devices.

    " }, "Marker":{ "shape":"Marker", @@ -1742,7 +2781,7 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway.

    " }, "DescribeWorkingStorageOutput":{ "type":"structure", @@ -1768,6 +2807,31 @@ "max":255, "min":1 }, + "DetachVolumeInput":{ + "type":"structure", + "required":["VolumeARN"], + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume to detach from the gateway.

    " + }, + "ForceDetach":{ + "shape":"Boolean", + "documentation":"

    Set to true to forcibly remove the iSCSI connection of the target volume and detach the volume. The default is false. If this value is set to false, you must manually disconnect the iSCSI connection from the target volume.

    " + } + }, + "documentation":"

    AttachVolumeInput

    " + }, + "DetachVolumeOutput":{ + "type":"structure", + "members":{ + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume that was detached.

    " + } + }, + "documentation":"

    AttachVolumeOutput

    " + }, "DeviceType":{ "type":"string", "max":50, @@ -1778,7 +2842,7 @@ "members":{ "TargetARN":{ "shape":"TargetARN", - "documentation":"

    Specifies the unique Amazon Resource Name(ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target.

    " + "documentation":"

    Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified name(iqn) of a tape drive or media changer target.

    " }, "NetworkInterfaceId":{ "shape":"NetworkInterfaceId", @@ -1808,7 +2872,7 @@ "members":{ "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The unique Amazon Resource Name of the disabled gateway.

    " + "documentation":"

    The unique Amazon Resource Name (ARN) of the disabled gateway.

    " } }, "documentation":"

    DisableGatewayOutput

    " @@ -1816,20 +2880,53 @@ "Disk":{ "type":"structure", "members":{ - "DiskId":{"shape":"DiskId"}, - "DiskPath":{"shape":"string"}, - "DiskNode":{"shape":"string"}, - "DiskStatus":{"shape":"string"}, - "DiskSizeInBytes":{"shape":"long"}, + "DiskId":{ + "shape":"DiskId", + "documentation":"

    The unique device ID or other distinguishing data that identifies a local disk.

    " + }, + "DiskPath":{ + "shape":"string", + "documentation":"

    The path of a local disk in the gateway virtual machine (VM).

    " + }, + "DiskNode":{ + "shape":"string", + "documentation":"

    The device node of a local disk as assigned by the virtualization environment.

    " + }, + "DiskStatus":{ + "shape":"string", + "documentation":"

    A value that represents the status of a local disk.

    " + }, + "DiskSizeInBytes":{ + "shape":"long", + "documentation":"

    The local disk size in bytes.

    " + }, "DiskAllocationType":{"shape":"DiskAllocationType"}, - "DiskAllocationResource":{"shape":"string"} - } + "DiskAllocationResource":{ + "shape":"string", + "documentation":"

    The iSCSI qualified name (IQN) that is defined for a disk. This field is not included in the response if the local disk is not defined as an iSCSI target. The format of this field is targetIqn::LUNNumber::region-volumeId.

    " + }, + "DiskAttributeList":{"shape":"DiskAttributeList"} + }, + "documentation":"

    Represents a gateway's local disk.

    " }, "DiskAllocationType":{ "type":"string", + "documentation":"

    One of the DiskAllocationType enumeration values that identifies how a local disk is used. Valid values: UPLOAD_BUFFER, CACHE_STORAGE

    ", "max":100, "min":3 }, + "DiskAttribute":{ + "type":"string", + "max":64, + "min":1 + }, + "DiskAttributeList":{ + "type":"list", + "member":{"shape":"DiskAttribute"}, + "documentation":"

    A list of values that represents attributes of a local disk.

    ", + "max":10, + "min":0 + }, "DiskId":{ "type":"string", "max":300, @@ -1843,7 +2940,28 @@ "type":"list", "member":{"shape":"Disk"} }, + "DomainName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^([a-z0-9]+(-[a-z0-9]+)*\\.)+[a-z]{2,}$" + }, + "DomainUserName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^\\w[\\w\\.\\- ]*$" + }, + "DomainUserPassword":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"^[ -~]+$", + "sensitive":true + }, "DoubleObject":{"type":"double"}, + "Ec2InstanceId":{"type":"string"}, + "Ec2InstanceRegion":{"type":"string"}, "ErrorCode":{ "type":"string", "enum":[ @@ -1878,6 +2996,7 @@ "LocalStorageLimitExceeded", "LunAlreadyAllocated ", "LunInvalid", + "JoinDomainInProgress", "MaximumContentLengthExceeded", "MaximumTapeCartridgeCountExceeded", "MaximumVolumeCountExceeded", @@ -1910,9 +3029,85 @@ "VolumeNotReady" ] }, + "FileShareARN":{ + "type":"string", + "documentation":"

    The Amazon Resource Name (ARN) of the file share.

    ", + "max":500, + "min":50 + }, + "FileShareARNList":{ + "type":"list", + "member":{"shape":"FileShareARN"}, + "max":10, + "min":1 + }, + "FileShareClientList":{ + "type":"list", + "member":{"shape":"IPV4AddressCIDR"}, + "documentation":"

    The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

    ", + "max":100, + "min":1 + }, + "FileShareId":{ + "type":"string", + "documentation":"

    The ID of the file share.

    ", + "max":30, + "min":12 + }, + "FileShareInfo":{ + "type":"structure", + "members":{ + "FileShareType":{"shape":"FileShareType"}, + "FileShareARN":{"shape":"FileShareARN"}, + "FileShareId":{"shape":"FileShareId"}, + "FileShareStatus":{"shape":"FileShareStatus"}, + "GatewayARN":{"shape":"GatewayARN"} + }, + "documentation":"

    Describes a file share.

    " + }, + "FileShareInfoList":{ + "type":"list", + "member":{"shape":"FileShareInfo"} + }, + "FileShareStatus":{ + "type":"string", + "documentation":"

    The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE and DELETING.

    ", + "max":50, + "min":3 + }, + "FileShareType":{ + "type":"string", + "documentation":"

    The type of the file share.

    ", + "enum":[ + "NFS", + "SMB" + ] + }, + "FileShareUser":{ + "type":"string", + "max":64, + "min":1 + }, + "FileShareUserList":{ + "type":"list", + "member":{"shape":"FileShareUser"}, + "max":100, + "min":0 + }, + "Folder":{ + "type":"string", + "max":1024, + "min":1 + }, + "FolderList":{ + "type":"list", + "member":{"shape":"Folder"}, + "max":50, + "min":1 + }, "GatewayARN":{ "type":"string", - "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

    ", + "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    ", "max":500, "min":50 }, @@ -1930,7 +3125,7 @@ }, "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " }, "GatewayType":{ "shape":"GatewayType", @@ -1943,6 +3138,14 @@ "GatewayName":{ "shape":"string", "documentation":"

    The name of the gateway.

    " + }, + "Ec2InstanceId":{ + "shape":"Ec2InstanceId", + "documentation":"

    The ID of the Amazon EC2 instance that was used to launch the gateway.

    " + }, + "Ec2InstanceRegion":{ + "shape":"Ec2InstanceRegion", + "documentation":"

    The AWS Region where the Amazon EC2 instance is located.

    " } }, "documentation":"

    Describes a gateway object.

    " @@ -1982,11 +3185,33 @@ "type":"list", "member":{"shape":"GatewayInfo"} }, + "Host":{ + "type":"string", + "pattern":"^(([a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9\\-]*[A-Za-z0-9])(:(\\d+))?$" + }, + "HostEnvironment":{ + "type":"string", + "enum":[ + "VMWARE", + "HYPER-V", + "EC2", + "KVM", + "OTHER" + ] + }, + "Hosts":{ + "type":"list", + "member":{"shape":"Host"} + }, "HourOfDay":{ "type":"integer", "max":23, "min":0 }, + "IPV4AddressCIDR":{ + "type":"string", + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/([0-9]|[1-2][0-9]|3[0-2]))?$" + }, "Initiator":{ "type":"string", "max":50, @@ -2032,11 +3257,122 @@ "min":1, "pattern":"[0-9a-z:.-]+" }, + "JoinDomainInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "DomainName", + "UserName", + "Password" + ], + "members":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain that you want the gateway to join.

    " + }, + "OrganizationalUnit":{ + "shape":"OrganizationalUnit", + "documentation":"

    The organizational unit (OU) is a container in an Active Directory that can hold users, groups, computers, and other OUs and this parameter specifies the OU that the gateway will join within the AD domain.

    " + }, + "DomainControllers":{ + "shape":"Hosts", + "documentation":"

    List of IPv4 addresses, NetBIOS names, or host names of your domain server. If you need to specify the port number include it after the colon (“:”). For example, mydc.mydomain.com:389.

    " + }, + "TimeoutInSeconds":{ + "shape":"TimeoutInSeconds", + "documentation":"

    Specifies the time in seconds, in which the JoinDomain operation must complete. The default is 20 seconds.

    " + }, + "UserName":{ + "shape":"DomainUserName", + "documentation":"

    Sets the user name of user who has permission to add the gateway to the Active Directory domain. The domain user account should be enabled to join computers to the domain. For example, you can use the domain administrator account or an account with delegated permissions to join computers to the domain.

    " + }, + "Password":{ + "shape":"DomainUserPassword", + "documentation":"

    Sets the password of the user who has permission to add the gateway to the Active Directory domain.

    " + } + }, + "documentation":"

    JoinDomainInput

    " + }, + "JoinDomainOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The unique Amazon Resource Name (ARN) of the gateway that joined the domain.

    " + }, + "ActiveDirectoryStatus":{ + "shape":"ActiveDirectoryStatus", + "documentation":"

    Indicates the status of the gateway as a member of the Active Directory domain.

    • ACCESS_DENIED: Indicates that the JoinDomain operation failed due to an authentication error.

    • DETACHED: Indicates that gateway is not joined to a domain.

    • JOINED: Indicates that the gateway has successfully joined a domain.

    • JOINING: Indicates that a JoinDomain operation is in progress.

    • NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network or connectivity error.

    • TIMEOUT: Indicates that the JoinDomain operation failed because the operation didn't complete within the allotted time.

    • UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to another type of error.

    " + } + }, + "documentation":"

    JoinDomainOutput

    " + }, + "KMSKey":{ + "type":"string", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    ", + "max":2048, + "min":7 + }, "LastSoftwareUpdate":{ "type":"string", "max":25, "min":1 }, + "ListAutomaticTapeCreationPoliciesInput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "ListAutomaticTapeCreationPoliciesOutput":{ + "type":"structure", + "members":{ + "AutomaticTapeCreationPolicyInfos":{ + "shape":"AutomaticTapeCreationPolicyInfos", + "documentation":"

    Gets a listing of information about the gateway's automatic tape creation policies, including the automatic tape creation rules and the gateway that is using the policies.

    " + } + } + }, + "ListFileSharesInput":{ + "type":"structure", + "members":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The Amazon Resource Name (ARN) of the gateway whose file shares you want to list. If this field is not present, all file shares under your account are listed.

    " + }, + "Limit":{ + "shape":"PositiveIntObject", + "documentation":"

    The maximum number of file shares to return in the response. The value must be an integer with a value greater than zero. Optional.

    " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

    Opaque pagination token returned from a previous ListFileShares operation. If present, Marker specifies where to continue the list from after a previous call to ListFileShares. Optional.

    " + } + }, + "documentation":"

    ListFileShareInput

    " + }, + "ListFileSharesOutput":{ + "type":"structure", + "members":{ + "Marker":{ + "shape":"Marker", + "documentation":"

    If the request includes Marker, the response returns that value in this field.

    " + }, + "NextMarker":{ + "shape":"Marker", + "documentation":"

    If a value is present, there are more file shares to return. In a subsequent request, use NextMarker as the value for Marker to retrieve the next set of file shares.

    " + }, + "FileShareInfoList":{ + "shape":"FileShareInfoList", + "documentation":"

    An array of information about the file gateway's file shares.

    " + } + }, + "documentation":"

    ListFileShareOutput

    " + }, "ListGatewaysInput":{ "type":"structure", "members":{ @@ -2054,8 +3390,14 @@ "ListGatewaysOutput":{ "type":"structure", "members":{ - "Gateways":{"shape":"Gateways"}, - "Marker":{"shape":"Marker"} + "Gateways":{ + "shape":"Gateways", + "documentation":"

    An array of GatewayInfo objects.

    " + }, + "Marker":{ + "shape":"Marker", + "documentation":"

    Use the marker in your next request to fetch the next set of gateways in the list. If there are no more gateways to list, this field does not appear in the response.

    " + } } }, "ListLocalDisksInput":{ @@ -2064,13 +3406,16 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway.

    " }, "ListLocalDisksOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "Disks":{"shape":"Disks"} + "Disks":{ + "shape":"Disks", + "documentation":"

    A JSON object containing the following fields:

    " + } } }, "ListTagsForResourceInput":{ @@ -2168,7 +3513,10 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "VolumeRecoveryPointInfos":{"shape":"VolumeRecoveryPointInfos"} + "VolumeRecoveryPointInfos":{ + "shape":"VolumeRecoveryPointInfos", + "documentation":"

    An array of VolumeRecoveryPointInfo objects.

    " + } } }, "ListVolumesInput":{ @@ -2190,9 +3538,16 @@ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "Marker":{"shape":"Marker"}, - "VolumeInfos":{"shape":"VolumeInfos"} - } + "Marker":{ + "shape":"Marker", + "documentation":"

    Use the marker in your next request to continue pagination of iSCSI volumes. If there are no more volumes to list, this field does not appear in the response body.

    " + }, + "VolumeInfos":{ + "shape":"VolumeInfos", + "documentation":"

    An array of VolumeInfo objects, where each object describes an iSCSI volume. If no volumes are defined for the gateway, then VolumeInfos is an empty array \"[]\".

    " + } + }, + "documentation":"

    A JSON object containing the following fields:

    " }, "LocalConsolePassword":{ "type":"string", @@ -2201,6 +3556,12 @@ "pattern":"^[ -~]+$", "sensitive":true }, + "LocationARN":{ + "type":"string", + "documentation":"

    The ARN of the backend storage used for storing file data.

    ", + "max":310, + "min":16 + }, "Marker":{ "type":"string", "max":1000, @@ -2211,11 +3572,84 @@ "max":50, "min":2 }, + "MinimumNumTapes":{ + "type":"integer", + "max":10, + "min":1 + }, "MinuteOfHour":{ "type":"integer", "max":59, "min":0 }, + "NFSFileShareDefaults":{ + "type":"structure", + "members":{ + "FileMode":{ + "shape":"PermissionMode", + "documentation":"

    The Unix file mode in the form \"nnnn\". For example, \"0666\" represents the default file mode inside the file share. The default value is 0666.

    " + }, + "DirectoryMode":{ + "shape":"PermissionMode", + "documentation":"

    The Unix directory mode in the form \"nnnn\". For example, \"0666\" represents the default access mode for all directories inside the file share. The default value is 0777.

    " + }, + "GroupId":{ + "shape":"PermissionId", + "documentation":"

    The default group ID for the file share (unless the files have another group ID specified). The default value is nfsnobody.

    " + }, + "OwnerId":{ + "shape":"PermissionId", + "documentation":"

    The default owner ID for files in the file share (unless the files have another owner ID specified). The default value is nfsnobody.

    " + } + }, + "documentation":"

    Describes Network File System (NFS) file share default values. Files and folders stored as Amazon S3 objects in S3 buckets don't, by default, have Unix file permissions assigned to them. Upon discovery in an S3 bucket by Storage Gateway, the S3 objects that represent files and folders are assigned these default Unix permissions. This operation is only supported for file gateways.

    " + }, + "NFSFileShareInfo":{ + "type":"structure", + "members":{ + "NFSFileShareDefaults":{"shape":"NFSFileShareDefaults"}, + "FileShareARN":{"shape":"FileShareARN"}, + "FileShareId":{"shape":"FileShareId"}, + "FileShareStatus":{"shape":"FileShareStatus"}, + "GatewayARN":{"shape":"GatewayARN"}, + "KMSEncrypted":{ + "shape":"boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "Path":{"shape":"Path"}, + "Role":{"shape":"Role"}, + "LocationARN":{"shape":"LocationARN"}, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{"shape":"ObjectACL"}, + "ClientList":{"shape":"FileShareClientList"}, + "Squash":{"shape":"Squash"}, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags assigned to the NFS file share, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

    " + } + }, + "documentation":"

    The Unix file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported in file gateways.

    " + }, + "NFSFileShareInfoList":{ + "type":"list", + "member":{"shape":"NFSFileShareInfo"} + }, "NetworkInterface":{ "type":"structure", "members":{ @@ -2225,7 +3659,7 @@ }, "MacAddress":{ "shape":"string", - "documentation":"

    The Media Access Control (MAC) address of the interface.

    This is currently unsupported and will not be returned in output.

    " + "documentation":"

    The Media Access Control (MAC) address of the interface.

    This is currently unsupported and will not be returned in output.

    " }, "Ipv6Address":{ "shape":"string", @@ -2234,18 +3668,76 @@ }, "documentation":"

    Describes a gateway's network interface.

    " }, - "NetworkInterfaceId":{ + "NetworkInterfaceId":{ + "type":"string", + "pattern":"\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z" + }, + "NextUpdateAvailabilityDate":{ + "type":"string", + "max":25, + "min":1 + }, + "NotificationId":{ + "type":"string", + "documentation":"

    The randomly generated ID of the notification that was sent. This ID is in UUID format.

    ", + "max":2048, + "min":1 + }, + "NotifyWhenUploadedInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{"shape":"FileShareARN"} + } + }, + "NotifyWhenUploadedOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"}, + "NotificationId":{"shape":"NotificationId"} + } + }, + "NumTapesToCreate":{ + "type":"integer", + "max":10, + "min":1 + }, + "ObjectACL":{ "type":"string", - "pattern":"\\A(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}\\z" + "documentation":"

    A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

    ", + "enum":[ + "private", + "public-read", + "public-read-write", + "authenticated-read", + "bucket-owner-read", + "bucket-owner-full-control", + "aws-exec-read" + ] }, - "NextUpdateAvailabilityDate":{ + "OrganizationalUnit":{ "type":"string", - "max":25, + "max":1024, "min":1 }, - "NumTapesToCreate":{ - "type":"integer", - "max":10, + "Path":{ + "type":"string", + "documentation":"

    The file share path used by the NFS client to identify the mount point.

    " + }, + "PermissionId":{ + "type":"long", + "max":4294967294, + "min":0 + }, + "PermissionMode":{ + "type":"string", + "max":4, + "min":1, + "pattern":"^[0-7]{4}$" + }, + "PoolId":{ + "type":"string", + "max":100, "min":1 }, "PositiveIntObject":{ @@ -2257,6 +3749,33 @@ "max":24, "min":1 }, + "RefreshCacheInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the file share you want to refresh.

    " + }, + "FolderList":{ + "shape":"FolderList", + "documentation":"

    A comma-separated list of the paths of folders to refresh in the cache. The default is [\"/\"]. The default refreshes objects and folders at the root of the Amazon S3 bucket. If Recursive is set to \"true\", the entire S3 bucket that the file share has access to is refreshed.

    " + }, + "Recursive":{ + "shape":"Boolean", + "documentation":"

    A value that specifies whether to recursively refresh folders in the cache. The refresh includes folders that were in the cache the last time the gateway listed the folder's contents. If this value set to \"true\", each folder that is listed in FolderList is recursively updated. Otherwise, subfolders listed in FolderList are not refreshed. Only objects that are in folders listed directly under FolderList are found and used for the update. The default is \"true\".

    " + } + }, + "documentation":"

    RefreshCacheInput

    " + }, + "RefreshCacheOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"}, + "NotificationId":{"shape":"NotificationId"} + }, + "documentation":"

    RefreshCacheOutput

    " + }, "RegionId":{ "type":"string", "max":25, @@ -2275,7 +3794,7 @@ }, "TagKeys":{ "shape":"TagKeys", - "documentation":"

    The keys of the tags you want to remove from the specified resource. A tag is composed of a key/value pair.

    " + "documentation":"

    The keys of the tags you want to remove from the specified resource. A tag is composed of a key-value pair.

    " } }, "documentation":"

    RemoveTagsFromResourceInput

    " @@ -2321,7 +3840,7 @@ }, "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and region.

    You retrieve archived virtual tapes to only one gateway and the gateway must be a gateway-VTL.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    You retrieve archived virtual tapes to only one gateway and the gateway must be a tape gateway.

    " } }, "documentation":"

    RetrieveTapeArchiveInput

    " @@ -2361,6 +3880,109 @@ }, "documentation":"

    RetrieveTapeRecoveryPointOutput

    " }, + "Role":{ + "type":"string", + "documentation":"

    The ARN of the IAM role that file gateway assumes when it accesses the underlying storage.

    ", + "max":2048, + "min":20 + }, + "SMBFileShareInfo":{ + "type":"structure", + "members":{ + "FileShareARN":{"shape":"FileShareARN"}, + "FileShareId":{"shape":"FileShareId"}, + "FileShareStatus":{"shape":"FileShareStatus"}, + "GatewayARN":{"shape":"GatewayARN"}, + "KMSEncrypted":{ + "shape":"boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "Path":{ + "shape":"Path", + "documentation":"

    The file share path used by the SMB client to identify the mount point.

    " + }, + "Role":{"shape":"Role"}, + "LocationARN":{"shape":"LocationARN"}, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{"shape":"ObjectACL"}, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

    If this value is set to \"true\", indicates that ACL (access control list) is enabled on the SMB file share. If it is set to \"false\", it indicates that file and directory permissions are mapped to the POSIX permission.

    For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html in the Storage Gateway User Guide.

    " + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "ValidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "InvalidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "AuditDestinationARN":{ + "shape":"AuditDestinationARN", + "documentation":"

    The Amazon Resource Name (ARN) of the storage used for the audit logs.

    " + }, + "Authentication":{"shape":"Authentication"}, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags assigned to the SMB file share, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

    " + } + }, + "documentation":"

    The Windows file permissions and ownership information assigned, by default, to native S3 objects when file gateway discovers them in S3 buckets. This operation is only supported for file gateways.

    " + }, + "SMBFileShareInfoList":{ + "type":"list", + "member":{"shape":"SMBFileShareInfo"} + }, + "SMBGuestPassword":{ + "type":"string", + "max":512, + "min":6, + "pattern":"^[ -~]+$", + "sensitive":true + }, + "SMBSecurityStrategy":{ + "type":"string", + "enum":[ + "ClientSpecified", + "MandatorySigning", + "MandatoryEncryption" + ] + }, + "ServiceUnavailableError":{ + "type":"structure", + "members":{ + "message":{ + "shape":"string", + "documentation":"

    A human-readable message describing the error that occurred.

    " + }, + "error":{ + "shape":"StorageGatewayError", + "documentation":"

    A StorageGatewayError that provides more information about the cause of the error.

    " + } + }, + "documentation":"

    An internal server error has occurred because the service is unavailable. For more information, see the error and message fields.

    ", + "exception":true + }, "SetLocalConsolePasswordInput":{ "type":"structure", "required":[ @@ -2382,20 +4004,44 @@ "GatewayARN":{"shape":"GatewayARN"} } }, + "SetSMBGuestPasswordInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "Password" + ], + "members":{ + "GatewayARN":{ + "shape":"GatewayARN", + "documentation":"

    The Amazon Resource Name (ARN) of the file gateway the SMB file share is associated with.

    " + }, + "Password":{ + "shape":"SMBGuestPassword", + "documentation":"

    The password that you want to set for your SMB Server.

    " + } + }, + "documentation":"

    SetSMBGuestPasswordInput

    " + }, + "SetSMBGuestPasswordOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "ShutdownGatewayInput":{ "type":"structure", "required":["GatewayARN"], "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway to shut down.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway to shut down.

    " }, "ShutdownGatewayOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway that was shut down.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway that was shut down.

    " }, "SnapshotDescription":{ "type":"string", @@ -2406,20 +4052,45 @@ "type":"string", "pattern":"\\Asnap-([0-9A-Fa-f]{8}|[0-9A-Fa-f]{17})\\z" }, + "Squash":{ + "type":"string", + "documentation":"

    The user mapped to anonymous user. Valid options are the following:

    • RootSquash - Only root is mapped to anonymous user.

    • NoSquash - No one is mapped to anonymous user

    • AllSquash - Everyone is mapped to anonymous user.

    ", + "max":15, + "min":5 + }, + "StartAvailabilityMonitorTestInput":{ + "type":"structure", + "required":["GatewayARN"], + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "StartAvailabilityMonitorTestOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "StartGatewayInput":{ "type":"structure", "required":["GatewayARN"], "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway to start.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway to start.

    " }, "StartGatewayOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway that was restarted.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway that was restarted.

    " + }, + "StorageClass":{ + "type":"string", + "documentation":"

    ", + "max":50, + "min":5 }, "StorageGatewayError":{ "type":"structure", @@ -2433,22 +4104,70 @@ "documentation":"

    Human-readable text that provides detail about the error that occurred.

    " } }, - "documentation":"

    Provides additional information about an error that was returned by the service as an or. See the errorCode and errorDetails members for more information about the error.

    " + "documentation":"

    Provides additional information about an error that was returned by the service. See the errorCode and errorDetails members for more information about the error.

    " }, "StorediSCSIVolume":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeId":{"shape":"VolumeId"}, - "VolumeType":{"shape":"VolumeType"}, - "VolumeStatus":{"shape":"VolumeStatus"}, - "VolumeSizeInBytes":{"shape":"long"}, - "VolumeProgress":{"shape":"DoubleObject"}, - "VolumeDiskId":{"shape":"DiskId"}, - "SourceSnapshotId":{"shape":"SnapshotId"}, - "PreservedExistingData":{"shape":"boolean"}, - "VolumeiSCSIAttributes":{"shape":"VolumeiSCSIAttributes"} - } + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the storage volume.

    " + }, + "VolumeId":{ + "shape":"VolumeId", + "documentation":"

    The unique identifier of the volume, e.g. vol-AE4B946D.

    " + }, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

    One of the VolumeType enumeration values describing the type of the volume.

    " + }, + "VolumeStatus":{ + "shape":"VolumeStatus", + "documentation":"

    One of the VolumeStatus values that indicates the state of the storage volume.

    " + }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

    A value that indicates whether a storage volume is attached to, detached from, or is in the process of detaching from a gateway. For more information, see Moving Your Volumes to a Different Gateway.

    " + }, + "VolumeSizeInBytes":{ + "shape":"long", + "documentation":"

    The size of the volume in bytes.

    " + }, + "VolumeProgress":{ + "shape":"DoubleObject", + "documentation":"

    Represents the percentage complete if the volume is restoring or bootstrapping that represents the percent of data transferred. This field does not appear in the response if the stored volume is not restoring or bootstrapping.

    " + }, + "VolumeDiskId":{ + "shape":"DiskId", + "documentation":"

    The ID of the local disk that was specified in the CreateStorediSCSIVolume operation.

    " + }, + "SourceSnapshotId":{ + "shape":"SnapshotId", + "documentation":"

    If the stored volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.

    " + }, + "PreservedExistingData":{ + "shape":"boolean", + "documentation":"

    Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

    Valid Values: true, false

    " + }, + "VolumeiSCSIAttributes":{ + "shape":"VolumeiSCSIAttributes", + "documentation":"

    An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes for one stored volume.

    " + }, + "CreatedDate":{ + "shape":"CreatedDate", + "documentation":"

    The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

    " + }, + "VolumeUsedInBytes":{ + "shape":"VolumeUsedInBytes", + "documentation":"

    The size of the data stored on the volume in bytes. This value is calculated based on the number of blocks that are touched, instead of the actual amount of data written. This value can be useful for sequential write patterns but less accurate for random write patterns. VolumeUsedInBytes is different from the compressed size of the volume, which is the value that is used to calculate your bill.

    This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "TargetName":{ + "shape":"TargetName", + "documentation":"

    The name of the iSCSI target used by an initiator to connect to a volume and used as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes on a gateway.

    If you don't specify a value, Storage Gateway uses the value that was previously used for this volume as the new target name.

    " + } + }, + "documentation":"

    Describes an iSCSI stored volume.

    " }, "StorediSCSIVolumes":{ "type":"list", @@ -2461,15 +4180,22 @@ "Value" ], "members":{ - "Key":{"shape":"TagKey"}, - "Value":{"shape":"TagValue"} - } + "Key":{ + "shape":"TagKey", + "documentation":"

    Tag key (String). The key can't start with aws:.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    Value of the tag key.

    " + } + }, + "documentation":"

    A key-value pair that helps you manage, filter, and search for your resource. Allowed characters: letters, white space, and numbers, representable in UTF-8, and the following characters: + - = . _ : /

    " }, "TagKey":{ "type":"string", "max":128, "min":1, - "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" }, "TagKeys":{ "type":"list", @@ -2494,9 +4220,13 @@ "shape":"TapeBarcode", "documentation":"

    The barcode that identifies a specific virtual tape.

    " }, + "TapeCreatedDate":{ + "shape":"Time", + "documentation":"

    The date the virtual tape was created.

    " + }, "TapeSizeInBytes":{ "shape":"TapeSize", - "documentation":"

    The size, in bytes, of the virtual tape.

    " + "documentation":"

    The size, in bytes, of the virtual tape capacity.

    " }, "TapeStatus":{ "shape":"TapeStatus", @@ -2509,6 +4239,15 @@ "Progress":{ "shape":"DoubleObject", "documentation":"

    For archiving virtual tapes, indicates how much data remains to be uploaded before archiving is complete.

    Range: 0 (not started) to 100 (complete).

    " + }, + "TapeUsedInBytes":{ + "shape":"TapeUsage", + "documentation":"

    The size, in bytes, of data stored on the virtual tape.

    This value is not available for tapes created prior to May 13, 2015.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that contains tapes that will be archived. The tapes in this pool are archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S# Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " } }, "documentation":"

    Describes a virtual tape object.

    " @@ -2516,7 +4255,8 @@ "TapeARN":{ "type":"string", "max":500, - "min":50 + "min":50, + "pattern":"^arn:(aws|aws-cn|aws-us-gov):storagegateway:[a-z\\-0-9]+:[0-9]+:tape\\/[0-9A-Z]{7,16}$" }, "TapeARNs":{ "type":"list", @@ -2534,21 +4274,34 @@ "shape":"TapeBarcode", "documentation":"

    The barcode that identifies the archived virtual tape.

    " }, + "TapeCreatedDate":{ + "shape":"Time", + "documentation":"

    The date the virtual tape was created.

    " + }, "TapeSizeInBytes":{ "shape":"TapeSize", "documentation":"

    The size, in bytes, of the archived virtual tape.

    " }, "CompletionTime":{ "shape":"Time", - "documentation":"

    The time that the archiving of the virtual tape was completed.

    The string format of the completion time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

    " + "documentation":"

    The time that the archiving of the virtual tape was completed.

    The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

    " }, "RetrievedTo":{ "shape":"GatewayARN", - "documentation":"

    The Amazon Resource Name (ARN) of the gateway-VTL that the virtual tape is being retrieved to.

    The virtual tape is retrieved from the virtual tape shelf (VTS).

    " + "documentation":"

    The Amazon Resource Name (ARN) of the tape gateway that the virtual tape is being retrieved to.

    The virtual tape is retrieved from the virtual tape shelf (VTS).

    " }, "TapeStatus":{ "shape":"TapeArchiveStatus", "documentation":"

    The current state of the archived virtual tape.

    " + }, + "TapeUsedInBytes":{ + "shape":"TapeUsage", + "documentation":"

    The size, in bytes, of data stored on the virtual tape.

    This value is not available for tapes created prior to May 13, 2015.

    " + }, + "KMSKey":{"shape":"KMSKey"}, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that was used to archive the tape. The tapes in this pool are archived in the S3 storage class that is associated with the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " } }, "documentation":"

    Represents a virtual tape that is archived in the virtual tape shelf (VTS).

    " @@ -2596,7 +4349,11 @@ }, "GatewayARN":{ "shape":"GatewayARN", - "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

    " + "documentation":"

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and AWS Region.

    " + }, + "PoolId":{ + "shape":"PoolId", + "documentation":"

    The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

    Valid values: \"GLACIER\", \"DEEP_ARCHIVE\"

    " } }, "documentation":"

    Describes a virtual tape.

    " @@ -2604,7 +4361,7 @@ "TapeInfos":{ "type":"list", "member":{"shape":"TapeInfo"}, - "documentation":"

    An array of TapeInfo objects, where each object describes an a single tape. If there not tapes in the tape library or VTS, then the TapeInfos is an empty array.

    " + "documentation":"

    An array of TapeInfo objects, where each object describes a single tape. If there are no tapes in the tape library or VTS, then the TapeInfos is an empty array.

    " }, "TapeRecoveryPointInfo":{ "type":"structure", @@ -2615,13 +4372,16 @@ }, "TapeRecoveryPointTime":{ "shape":"Time", - "documentation":"

    The time when the point-in-time view of the virtual tape was replicated for later recovery.

    The string format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

    " + "documentation":"

    The time when the point-in-time view of the virtual tape was replicated for later recovery.

    The default time stamp format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

    " }, "TapeSizeInBytes":{ "shape":"TapeSize", "documentation":"

    The size, in bytes, of the virtual tapes to recover.

    " }, - "TapeStatus":{"shape":"TapeRecoveryPointStatus"} + "TapeStatus":{ + "shape":"TapeRecoveryPointStatus", + "documentation":"

    The status of the virtual tapes.

    " + } }, "documentation":"

    Describes a recovery point.

    " }, @@ -2632,6 +4392,7 @@ "TapeRecoveryPointStatus":{"type":"string"}, "TapeSize":{"type":"long"}, "TapeStatus":{"type":"string"}, + "TapeUsage":{"type":"long"}, "Tapes":{ "type":"list", "member":{"shape":"Tape"} @@ -2648,6 +4409,31 @@ "pattern":"^[-\\.;a-z0-9]+$" }, "Time":{"type":"timestamp"}, + "TimeoutInSeconds":{ + "type":"integer", + "max":3600, + "min":0 + }, + "UpdateAutomaticTapeCreationPolicyInput":{ + "type":"structure", + "required":[ + "AutomaticTapeCreationRules", + "GatewayARN" + ], + "members":{ + "AutomaticTapeCreationRules":{ + "shape":"AutomaticTapeCreationRules", + "documentation":"

    An automatic tape creation policy consists of a list of automatic tape creation rules. The rules determine when and how to automatically create new tapes.

    " + }, + "GatewayARN":{"shape":"GatewayARN"} + } + }, + "UpdateAutomaticTapeCreationPolicyOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } + }, "UpdateBandwidthRateLimitInput":{ "type":"structure", "required":["GatewayARN"], @@ -2669,7 +4455,7 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway whose throttle information was updated.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway whose throttle information was updated.

    " }, "UpdateChapCredentialsInput":{ "type":"structure", @@ -2685,7 +4471,7 @@ }, "SecretToAuthenticateInitiator":{ "shape":"ChapSecret", - "documentation":"

    The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

    " + "documentation":"

    The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

    " }, "InitiatorName":{ "shape":"IqnName", @@ -2693,7 +4479,7 @@ }, "SecretToAuthenticateTarget":{ "shape":"ChapSecret", - "documentation":"

    The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

    Byte constraints: Minimum bytes of 12. Maximum bytes of 16.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

    " + "documentation":"

    The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

    Byte constraints: Minimum bytes of 12. Maximum bytes of 16.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -2718,14 +4504,24 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"}, "GatewayName":{"shape":"GatewayName"}, - "GatewayTimezone":{"shape":"GatewayTimezone"} + "GatewayTimezone":{ + "shape":"GatewayTimezone", + "documentation":"

    A value that indicates the time zone of the gateway.

    " + }, + "CloudWatchLogGroupARN":{ + "shape":"CloudWatchLogGroupARN", + "documentation":"

    The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you want to use to monitor and log events in the gateway.

    For more information, see What Is Amazon CloudWatch Logs?.

    " + } } }, "UpdateGatewayInformationOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "GatewayName":{"shape":"string"} + "GatewayName":{ + "shape":"string", + "documentation":"

    The name you configured for your gateway.

    " + } }, "documentation":"

    A JSON object containing the ARN of the gateway that was updated.

    " }, @@ -2735,22 +4531,21 @@ "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway to update.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway to update.

    " }, "UpdateGatewaySoftwareNowOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway that was updated.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway that was updated.

    " }, "UpdateMaintenanceStartTimeInput":{ "type":"structure", "required":[ "GatewayARN", "HourOfDay", - "MinuteOfHour", - "DayOfWeek" + "MinuteOfHour" ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, @@ -2764,17 +4559,171 @@ }, "DayOfWeek":{ "shape":"DayOfWeek", - "documentation":"

    The maintenance start time day of the week.

    " + "documentation":"

    The day of the week component of the maintenance start time week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

    " + }, + "DayOfMonth":{ + "shape":"DayOfMonth", + "documentation":"

    The day of the month component of the maintenance start time represented as an ordinal number from 1 to 28, where 1 represents the first day of the month and 28 represents the last day of the month.

    This value is only available for tape and volume gateways.

    " } }, - "documentation":"

    A JSON object containing the following fields:

    " + "documentation":"

    A JSON object containing the following fields:

    " }, "UpdateMaintenanceStartTimeOutput":{ "type":"structure", "members":{ "GatewayARN":{"shape":"GatewayARN"} }, - "documentation":"

    A JSON object containing the of the gateway whose maintenance start time is updated.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the gateway whose maintenance start time is updated.

    " + }, + "UpdateNFSFileShareInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the file share to be updated.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "NFSFileShareDefaults":{ + "shape":"NFSFileShareDefaults", + "documentation":"

    The default values for the file share. Optional.

    " + }, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{ + "shape":"ObjectACL", + "documentation":"

    A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

    " + }, + "ClientList":{ + "shape":"FileShareClientList", + "documentation":"

    The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

    " + }, + "Squash":{ + "shape":"Squash", + "documentation":"

    The user mapped to anonymous user. Valid options are the following:

    • RootSquash - Only root is mapped to anonymous user.

    • NoSquash - No one is mapped to anonymous user

    • AllSquash - Everyone is mapped to anonymous user.

    " + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + } + }, + "documentation":"

    UpdateNFSFileShareInput

    " + }, + "UpdateNFSFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the updated file share.

    " + } + }, + "documentation":"

    UpdateNFSFileShareOutput

    " + }, + "UpdateSMBFileShareInput":{ + "type":"structure", + "required":["FileShareARN"], + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the SMB file share that you want to update.

    " + }, + "KMSEncrypted":{ + "shape":"Boolean", + "documentation":"

    True to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

    " + }, + "KMSKey":{ + "shape":"KMSKey", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server-side encryption. This value can only be set when KMSEncrypted is true. Optional.

    " + }, + "DefaultStorageClass":{ + "shape":"StorageClass", + "documentation":"

    The default storage class for objects put into an Amazon S3 bucket by the file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

    " + }, + "ObjectACL":{ + "shape":"ObjectACL", + "documentation":"

    A value that sets the access control list permission for objects in the S3 bucket that a file gateway puts objects into. The default value is \"private\".

    " + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

    A value that sets the write status of a file share. This value is true if the write status is read-only, and otherwise false.

    " + }, + "GuessMIMETypeEnabled":{ + "shape":"Boolean", + "documentation":"

    A value that enables guessing of the MIME type for uploaded objects based on file extensions. Set this value to true to enable MIME type guessing, and otherwise to false. The default value is true.

    " + }, + "RequesterPays":{ + "shape":"Boolean", + "documentation":"

    A value that sets who pays the cost of the request and the cost associated with data download from the S3 bucket. If this value is set to true, the requester pays the costs. Otherwise the S3 bucket owner pays. However, the S3 bucket owner always pays the cost of storing data.

    RequesterPays is a configuration for the S3 bucket that backs the file share, so make sure that the configuration on the file share is the same as the S3 bucket configuration.

    " + }, + "SMBACLEnabled":{ + "shape":"Boolean", + "documentation":"

    Set this value to \"true to enable ACL (access control list) on the SMB file share. Set it to \"false\" to map file and directory permissions to the POSIX permissions.

    For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin the Storage Gateway User Guide.

    " + }, + "AdminUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users in the Active Directory that have administrator rights to the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "ValidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "InvalidUserList":{ + "shape":"FileShareUserList", + "documentation":"

    A list of users or groups in the Active Directory that are not allowed to access the file share. A group must be prefixed with the @ character. For example @group1. Can only be set if Authentication is set to ActiveDirectory.

    " + }, + "AuditDestinationARN":{ + "shape":"AuditDestinationARN", + "documentation":"

    The Amazon Resource Name (ARN) of the storage used for the audit logs.

    " + } + }, + "documentation":"

    UpdateSMBFileShareInput

    " + }, + "UpdateSMBFileShareOutput":{ + "type":"structure", + "members":{ + "FileShareARN":{ + "shape":"FileShareARN", + "documentation":"

    The Amazon Resource Name (ARN) of the updated SMB file share.

    " + } + }, + "documentation":"

    UpdateSMBFileShareOutput

    " + }, + "UpdateSMBSecurityStrategyInput":{ + "type":"structure", + "required":[ + "GatewayARN", + "SMBSecurityStrategy" + ], + "members":{ + "GatewayARN":{"shape":"GatewayARN"}, + "SMBSecurityStrategy":{ + "shape":"SMBSecurityStrategy", + "documentation":"

    Specifies the type of security strategy.

    ClientSpecified: if you use this option, requests are established based on what is negotiated by the client. This option is recommended when you want to maximize compatibility across different clients in your environment.

    MandatorySigning: if you use this option, file gateway only allows connections from SMBv2 or SMBv3 clients that have signing enabled. This option works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.

    MandatoryEncryption: if you use this option, file gateway only allows connections from SMBv3 clients that have encryption enabled. This option is highly recommended for environments that handle sensitive data. This option works with SMB clients on Microsoft Windows 8, Windows Server 2012 or newer.

    " + } + } + }, + "UpdateSMBSecurityStrategyOutput":{ + "type":"structure", + "members":{ + "GatewayARN":{"shape":"GatewayARN"} + } }, "UpdateSnapshotScheduleInput":{ "type":"structure", @@ -2799,6 +4748,10 @@ "Description":{ "shape":"Description", "documentation":"

    Optional description of the snapshot that overwrites the existing description.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

    " } }, "documentation":"

    A JSON object containing one or more of the following fields:

    " @@ -2808,10 +4761,10 @@ "members":{ "VolumeARN":{ "shape":"VolumeARN", - "documentation":"

    " + "documentation":"

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

    " } }, - "documentation":"

    A JSON object containing the of the updated storage volume.

    " + "documentation":"

    A JSON object containing the Amazon Resource Name (ARN) of the updated storage volume.

    " }, "UpdateVTLDeviceTypeInput":{ "type":"structure", @@ -2847,15 +4800,24 @@ "shape":"VTLDeviceARN", "documentation":"

    Specifies the unique Amazon Resource Name (ARN) of the device (tape drive or media changer).

    " }, - "VTLDeviceType":{"shape":"VTLDeviceType"}, - "VTLDeviceVendor":{"shape":"VTLDeviceVendor"}, - "VTLDeviceProductIdentifier":{"shape":"VTLDeviceProductIdentifier"}, + "VTLDeviceType":{ + "shape":"VTLDeviceType", + "documentation":"

    Specifies the type of device that the VTL device emulates.

    " + }, + "VTLDeviceVendor":{ + "shape":"VTLDeviceVendor", + "documentation":"

    Specifies the vendor of the device that the VTL device object emulates.

    " + }, + "VTLDeviceProductIdentifier":{ + "shape":"VTLDeviceProductIdentifier", + "documentation":"

    Specifies the model number of device that the VTL device emulates.

    " + }, "DeviceiSCSIAttributes":{ "shape":"DeviceiSCSIAttributes", "documentation":"

    A list of iSCSI information about a VTL device.

    " } }, - "documentation":"

    Represents a device object associated with a gateway-VTL.

    " + "documentation":"

    Represents a device object associated with a tape gateway.

    " }, "VTLDeviceARN":{ "type":"string", @@ -2882,6 +4844,11 @@ "type":"list", "member":{"shape":"VolumeARN"} }, + "VolumeAttachmentStatus":{ + "type":"string", + "max":50, + "min":3 + }, "VolumeId":{ "type":"string", "max":30, @@ -2892,7 +4859,7 @@ "members":{ "VolumeARN":{ "shape":"VolumeARN", - "documentation":"

    The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:

    arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB

    Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

    " + "documentation":"

    The Amazon Resource Name (ARN) for the storage volume. For example, the following is a valid ARN:

    arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB

    Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

    " }, "VolumeId":{ "shape":"VolumeId", @@ -2903,10 +4870,17 @@ "shape":"GatewayId", "documentation":"

    The unique identifier assigned to your gateway during activation. This ID becomes part of the gateway Amazon Resource Name (ARN), which you use as input for other operations.

    Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

    " }, - "VolumeType":{"shape":"VolumeType"}, + "VolumeType":{ + "shape":"VolumeType", + "documentation":"

    One of the VolumeType enumeration values describing the type of the volume.

    " + }, "VolumeSizeInBytes":{ "shape":"long", - "documentation":"

    The size, in bytes, of the volume.

    Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

    " + "documentation":"

    The size of the volume in bytes.

    Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

    " + }, + "VolumeAttachmentStatus":{ + "shape":"VolumeAttachmentStatus", + "documentation":"

    One of the VolumeStatus values that indicates the state of the storage volume.

    " } }, "documentation":"

    Describes a storage volume object.

    " @@ -2918,11 +4892,24 @@ "VolumeRecoveryPointInfo":{ "type":"structure", "members":{ - "VolumeARN":{"shape":"VolumeARN"}, - "VolumeSizeInBytes":{"shape":"long"}, - "VolumeUsageInBytes":{"shape":"long"}, - "VolumeRecoveryPointTime":{"shape":"string"} - } + "VolumeARN":{ + "shape":"VolumeARN", + "documentation":"

    The Amazon Resource Name (ARN) of the volume target.

    " + }, + "VolumeSizeInBytes":{ + "shape":"long", + "documentation":"

    The size of the volume in bytes.

    " + }, + "VolumeUsageInBytes":{ + "shape":"long", + "documentation":"

    The size of the data stored on the volume in bytes.

    This value is not available for volumes created prior to May 13, 2015, until you store data on the volume.

    " + }, + "VolumeRecoveryPointTime":{ + "shape":"string", + "documentation":"

    The time the recovery point was taken.

    " + } + }, + "documentation":"

    Describes a storage volume recovery point object.

    " }, "VolumeRecoveryPointInfos":{ "type":"list", @@ -2938,6 +4925,7 @@ "max":100, "min":3 }, + "VolumeUsedInBytes":{"type":"long"}, "VolumeiSCSIAttributes":{ "type":"structure", "members":{ @@ -2975,5 +4963,5 @@ "long":{"type":"long"}, "string":{"type":"string"} }, - "documentation":"AWS Storage Gateway Service

    AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and AWS's storage infrastructure. The service enables you to securely upload data to the AWS cloud for cost effective backup and rapid disaster recovery.

    Use the following links to get started using the AWS Storage Gateway Service API Reference:

    AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-1122AABB. When you use this ID with the EC2 API, you must change it to vol-1122aabb. Otherwise, the EC2 API might not behave as expected.

    IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

    For example, a volume ARN with the longer volume ID format will look like this:

    arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

    A snapshot ID with the longer ID format will look like this: snap-78e226633445566ee.

    For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

    " + "documentation":"AWS Storage Gateway Service

    AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the AWS storage infrastructure. The service enables you to securely upload data to the AWS Cloud for cost effective backup and rapid disaster recovery.

    Use the following links to get started using the AWS Storage Gateway Service API Reference:

    AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

    IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS Resource IDs.

    For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

    arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

    A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

    For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

    " } diff -Nru python-botocore-1.4.70/botocore/data/sts/2011-06-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/examples-1.json --- python-botocore-1.4.70/botocore/data/sts/2011-06-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,206 @@ +{ + "version": "1.0", + "examples": { + "AssumeRole": [ + { + "input": { + "DurationSeconds": 3600, + "ExternalId": "123ABC", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}]}", + "RoleArn": "arn:aws:iam::123456789012:role/demo", + "RoleSessionName": "Bob" + }, + "output": { + "AssumedRoleUser": { + "Arn": "arn:aws:sts::123456789012:assumed-role/demo/Bob", + "AssumedRoleId": "ARO123EXAMPLE123:Bob" + }, + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-15T23:28:33.359Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==" + }, + "PackedPolicySize": 6 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-assume-a-role-1480532402212", + "title": "To assume a role" + } + ], + "AssumeRoleWithWebIdentity": [ + { + "input": { + "DurationSeconds": 3600, + "ProviderId": "www.amazon.com", + "RoleArn": "arn:aws:iam::123456789012:role/FederatedWebIdentityRole", + "RoleSessionName": "app1", + "WebIdentityToken": "Atza%7CIQEBLjAsAhRFiXuWpUXuRvQ9PZL3GMFcYevydwIUFAHZwXZXXXXXXXXJnrulxKDHwy87oGKPznh0D6bEQZTSCzyoCtL_8S07pLpr0zMbn6w1lfVZKNTBdDansFBmtGnIsIapjI6xKR02Yc_2bQ8LZbUXSGm6Ry6_BG7PrtLZtj_dfCTj92xNGed-CrKqjG7nPBjNIL016GGvuS5gSvPRUxWES3VYfm1wl7WTI7jn-Pcb6M-buCgHhFOzTQxod27L9CqnOLio7N3gZAGpsp6n1-AJBOCJckcyXe2c6uD0srOJeZlKUm2eTDVMf8IehDVI0r1QOnTV6KzzAI3OY87Vd_cVMQ" + }, + "output": { + "AssumedRoleUser": { + "Arn": "arn:aws:sts::123456789012:assumed-role/FederatedWebIdentityRole/app1", + "AssumedRoleId": "AROACLKWSDQRAOEXAMPLE:app1" + }, + "Audience": "client.5498841531868486423.1548@apps.example.com", + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2014-10-24T23:00:23Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEE0a8ANXXXXXXXXNO1ewxE5TijQyp+IEXAMPLE" + }, + "PackedPolicySize": 123, + "Provider": "www.amazon.com", + "SubjectFromWebIdentityToken": "amzn1.account.AF6RHO7KZU5XRVQJGXK6HEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-assume-a-role-as-an-openid-connect-federated-user-1480533445696", + "title": "To assume a role as an OpenID Connect-federated user" + } + ], + "DecodeAuthorizationMessage": [ + { + "input": { + "EncodedMessage": "" + }, + "output": { + "DecodedMessage": "{\"allowed\": \"false\",\"explicitDeny\": \"false\",\"matchedStatements\": \"\",\"failures\": \"\",\"context\": {\"principal\": {\"id\": \"AIDACKCEVSQ6C2EXAMPLE\",\"name\": \"Bob\",\"arn\": \"arn:aws:iam::123456789012:user/Bob\"},\"action\": \"ec2:StopInstances\",\"resource\": \"arn:aws:ec2:us-east-1:123456789012:instance/i-dd01c9bd\",\"conditions\": [{\"item\": {\"key\": \"ec2:Tenancy\",\"values\": [\"default\"]},{\"item\": {\"key\": \"ec2:ResourceTag/elasticbeanstalk:environment-name\",\"values\": [\"Default-Environment\"]}},(Additional items ...)]}}" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-decode-information-about-an-authorization-status-of-a-request-1480533854499", + "title": "To decode information about an authorization status of a request" + } + ], + "GetCallerIdentity": [ + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:iam::123456789012:user/Alice", + "UserId": "AKIAI44QH8DHBEXAMPLE" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with the credentials for a user named Alice in the AWS account 123456789012.", + "id": "to-get-details-about-a-calling-iam-user-1480540050376", + "title": "To get details about a calling IAM user" + }, + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:sts::123456789012:assumed-role/my-role-name/my-role-session-name", + "UserId": "AKIAI44QH8DHBEXAMPLE:my-role-session-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with temporary credentials created by AssumeRole. The name of the assumed role is my-role-name, and the RoleSessionName is set to my-role-session-name.", + "id": "to-get-details-about-a-calling-user-federated-with-assumerole-1480540158545", + "title": "To get details about a calling user federated with AssumeRole" + }, + { + "input": { + }, + "output": { + "Account": "123456789012", + "Arn": "arn:aws:sts::123456789012:federated-user/my-federated-user-name", + "UserId": "123456789012:my-federated-user-name" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "This example shows a request and response made with temporary credentials created by using GetFederationToken. The Name parameter is set to my-federated-user-name.", + "id": "to-get-details-about-a-calling-user-federated-with-getfederationtoken-1480540231316", + "title": "To get details about a calling user federated with GetFederationToken" + } + ], + "GetFederationToken": [ + { + "input": { + "DurationSeconds": 3600, + "Name": "Bob", + "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:*\",\"Resource\":\"*\"}]}" + }, + "output": { + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-15T23:28:33.359Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==" + }, + "FederatedUser": { + "Arn": "arn:aws:sts::123456789012:federated-user/Bob", + "FederatedUserId": "123456789012:Bob" + }, + "PackedPolicySize": 6 + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-get-temporary-credentials-for-a-role-by-using-getfederationtoken-1480540749900", + "title": "To get temporary credentials for a role by using GetFederationToken" + } + ], + "GetSessionToken": [ + { + "input": { + "DurationSeconds": 3600, + "SerialNumber": "YourMFASerialNumber", + "TokenCode": "123456" + }, + "output": { + "Credentials": { + "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", + "Expiration": "2011-07-11T19:55:29.611Z", + "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY", + "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "", + "id": "to-get-temporary-credentials-for-an-iam-user-or-an-aws-account-1480540814038", + "title": "To get temporary credentials for an IAM user or an AWS account" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/sts/2011-06-15/paginators-1.json python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/paginators-1.json --- python-botocore-1.4.70/botocore/data/sts/2011-06-15/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/sts/2011-06-15/service-2.json python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/service-2.json --- python-botocore-1.4.70/botocore/data/sts/2011-06-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/sts/2011-06-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,7 +7,9 @@ "protocol":"query", "serviceAbbreviation":"AWS STS", "serviceFullName":"AWS Security Token Service", + "serviceId":"STS", "signatureVersion":"v4", + "uid":"sts-2011-06-15", "xmlNamespace":"https://sts.amazonaws.com/doc/2011-06-15/" }, "operations":{ @@ -27,7 +29,7 @@ {"shape":"PackedPolicyTooLargeException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

    Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

    For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

    For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

    The temporary security credentials are valid for the duration that you specified when calling AssumeRole, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

    The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

    Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

    To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

    The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy

    Using MFA with AssumeRole

    You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

    \"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

    For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

    To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

    " + "documentation":"

    Returns a set of temporary security credentials that you can use to access AWS resources that you might not normally have access to. These temporary credentials consist of an access key ID, a secret access key, and a security token. Typically, you use AssumeRole within your account or for cross-account access. For a comparison of AssumeRole with other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

    You cannot use AWS account root user credentials to call AssumeRole. You must use credentials for an IAM user or an IAM role to call AssumeRole.

    For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account. Then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles in the IAM User Guide.

    Session Duration

    By default, the temporary security credentials created by AssumeRole last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Permissions

    The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: You cannot call the AWS STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    To assume a role from a different account, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate that access to users in the account.

    A user who wants to access a role in a different account must also have permissions that are delegated from the user account administrator. The administrator must attach a policy that allows the user to call AssumeRole for the ARN of the role in the other account. If the user is in the same account as the role, then you can do either of the following:

    • Attach a policy to the user (identical to the previous user in a different account).

    • Add the user as a principal directly in the role's trust policy.

    In this case, the trust policy acts as an IAM resource-based policy. Users in the same account as the role do not need explicit permission to assume the role. For more information about trust policies and resource-based policies, see IAM Policies in the IAM User Guide.

    Tags

    (Optional) You can pass tag key-value pairs to your session. These tags are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    Using MFA with AssumeRole

    (Optional) You can include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios to ensure that the user that assumes the role has been authenticated with an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication. If the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

    \"Condition\": {\"Bool\": {\"aws:MultiFactorAuthPresent\": true}}

    For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

    To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA device produces.

    " }, "AssumeRoleWithSAML":{ "name":"AssumeRoleWithSAML", @@ -48,7 +50,7 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

    The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

    The temporary security credentials are valid for the duration that you specified when calling AssumeRole, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. The duration can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

    The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

    Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

    Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

    Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

    Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

    For more information, see the following resources:

    " + "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

    The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithSAML last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. Your role session lasts for the duration that you specify, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Permissions

    The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

    Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the persistent identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

    Tags

    (Optional) You can configure your IdP to pass attributes into your SAML assertion as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, session tags override the role's tags with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    SAML Configuration

    Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider. You must also create an IAM role that specifies this SAML provider in its trust policy.

    For more information, see the following resources:

    " }, "AssumeRoleWithWebIdentity":{ "name":"AssumeRoleWithWebIdentity", @@ -70,7 +72,7 @@ {"shape":"ExpiredTokenException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

    For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

    To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

    Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

    The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

    The credentials are valid for the duration that you specified when calling AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

    The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

    Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

    Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

    Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

    For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

    " + "documentation":"

    Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider. Example providers include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

    For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS Developer Guide and the AWS SDK for Android Developer Guide to uniquely identify a user. You can also supply the user with a consistent identity throughout the lifetime of an application.

    To learn more about Amazon Cognito, see Amazon Cognito Overview in AWS SDK for Android Developer Guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

    Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application. You also don't need to deploy server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

    The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service API operations.

    Session Duration

    By default, the temporary security credentials created by AssumeRoleWithWebIdentity last for one hour. However, you can use the optional DurationSeconds parameter to specify the duration of your session. You can provide a value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide. The maximum session duration limit applies when you use the AssumeRole* API operations or the assume-role* CLI commands. However the limit does not apply when you use those operations to create a console URL. For more information, see Using IAM Roles in the IAM User Guide.

    Permissions

    The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS GetFederationToken or GetSessionToken API operations.

    (Optional) You can pass inline or managed session policies to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    Tags

    (Optional) You can configure your IdP to pass attributes into your web identity token as session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is attached to the role. When you do, the session tag overrides the role tag with the same key.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    You can set the session tags as transitive. Transitive tags persist during role chaining. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    Identities

    Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

    Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

    For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

    " }, "DecodeAuthorizationMessage":{ "name":"DecodeAuthorizationMessage", @@ -86,7 +88,20 @@ "errors":[ {"shape":"InvalidAuthorizationMessageException"} ], - "documentation":"

    Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

    For example, if a user is not authorized to perform an action that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS actions additionally return an encoded message that can provide details about this authorization failure.

    Only certain AWS actions return an encoded authorization message. The documentation for an individual action indicates whether that action returns an encoded message in addition to returning an HTTP code.

    The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the action should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

    The decoded message includes the following type of information:

    • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

    • The principal who made the request.

    • The requested action.

    • The requested resource.

    • The values of condition keys in the context of the user's request.

    " + "documentation":"

    Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

    For example, if a user is not authorized to perform an operation that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS operations additionally return an encoded message that can provide details about this authorization failure.

    Only certain AWS operations return an encoded authorization message. The documentation for an individual operation indicates whether that operation returns an encoded message in addition to returning an HTTP code.

    The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the operation should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

    The decoded message includes the following type of information:

    • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

    • The principal who made the request.

    • The requested action.

    • The requested resource.

    • The values of condition keys in the context of the user's request.

    " + }, + "GetAccessKeyInfo":{ + "name":"GetAccessKeyInfo", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccessKeyInfoRequest"}, + "output":{ + "shape":"GetAccessKeyInfoResponse", + "resultWrapper":"GetAccessKeyInfoResult" + }, + "documentation":"

    Returns the account identifier for the specified access key ID.

    Access keys consist of two parts: an access key ID (for example, AKIAIOSFODNN7EXAMPLE) and a secret access key (for example, wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY). For more information about access keys, see Managing Access Keys for IAM Users in the IAM User Guide.

    When you pass an access key ID to this operation, it returns the ID of the AWS account to which the keys belong. Access key IDs beginning with AKIA are long-term credentials for an IAM user or the AWS account root user. Access key IDs beginning with ASIA are temporary credentials that are created using STS operations. If the account in the response belongs to you, you can sign in as the root user and review your root user access keys. Then, you can pull a credentials report to learn which IAM user owns the keys. To learn who requested the temporary credentials for an ASIA access key, view the STS events in your CloudTrail logs in the IAM User Guide.

    This operation does not indicate the state of the access key. The key might be active, inactive, or deleted. Active keys might not have permissions to perform an operation. Providing a deleted access key might return an error that the key doesn't exist.

    " }, "GetCallerIdentity":{ "name":"GetCallerIdentity", @@ -99,7 +114,7 @@ "shape":"GetCallerIdentityResponse", "resultWrapper":"GetCallerIdentityResult" }, - "documentation":"

    Returns details about the IAM identity whose credentials are used to call the API.

    " + "documentation":"

    Returns details about the IAM user or role whose credentials are used to call the operation.

    No permissions are required to perform this operation. If an administrator adds a policy to your IAM user or role that explicitly denies access to the sts:GetCallerIdentity action, you can still perform this operation. Permissions are not required because the same information is returned when an IAM user or role is denied access. To view an example response, see I Am Not Authorized to Perform: iam:DeleteVirtualMFADevice in the IAM User Guide.

    " }, "GetFederationToken":{ "name":"GetFederationToken", @@ -117,7 +132,7 @@ {"shape":"PackedPolicyTooLargeException"}, {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. Because you must call the GetFederationToken action using the long-term security credentials of an IAM user, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

    If you are creating a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

    The GetFederationToken action must be called by using the long-term AWS security credentials of an IAM user. You can also call GetFederationToken using the security credentials of an AWS root account, but we do not recommended it. Instead, we recommend that you create an IAM user for the purpose of the proxy application and then attach a policy to the IAM user that limits federated users to only the actions and resources that they need access to. For more information, see IAM Best Practices in the IAM User Guide.

    The temporary security credentials that are obtained by using the long-term credentials of an IAM user are valid for the specified duration, from 900 seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default is 43200 seconds (12 hours). Temporary credentials that are obtained by using AWS root account credentials have a maximum duration of 3600 seconds (1 hour).

    The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

    • You cannot use these credentials to call any IAM APIs.

    • You cannot call any STS APIs.

    Permissions

    The permissions for the temporary security credentials returned by GetFederationToken are determined by a combination of the following:

    • The policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken.

    • The policy that is passed as a parameter in the call.

    The passed policy is attached to the temporary security credentials that result from the GetFederationToken API call--that is, to the federated user. When the federated user makes an AWS request, AWS evaluates the policy attached to the federated user in combination with the policy or policies attached to the IAM user whose credentials were used to call GetFederationToken. AWS allows the federated user's request only when both the federated user and the IAM user are explicitly allowed to perform the requested action. The passed policy cannot grant more permissions than those that are defined in the IAM user policy.

    A typical use case is that the permissions of the IAM user whose credentials are used to call GetFederationToken are designed to allow access to all the actions and resources that any federated user will need. Then, for individual users, you pass a policy to the operation that scopes down the permissions to a level that's appropriate to that individual user, using a policy that allows only a subset of permissions that are granted to the IAM user.

    If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

    For more information about how permissions work, see Permissions for GetFederationToken. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

    " + "documentation":"

    Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. You must call the GetFederationToken operation using the long-term security credentials of an IAM user. As a result, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

    You can create a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider. In this case, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider in the IAM User Guide.

    You can also call GetFederationToken using the security credentials of an AWS account root user, but we do not recommend it. Instead, we recommend that you create an IAM user for the purpose of the proxy application. Then attach a policy to the IAM user that limits federated users to only the actions and resources that they need to access. For more information, see IAM Best Practices in the IAM User Guide.

    Session duration

    The temporary credentials are valid for the specified duration, from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default session duration is 43,200 seconds (12 hours). Temporary credentials that are obtained by using AWS account root user credentials have a maximum duration of 3,600 seconds (1 hour).

    Permissions

    You can use the temporary credentials created by GetFederationToken in any AWS service except the following:

    • You cannot call any IAM operations using the AWS CLI or the AWS API.

    • You cannot call any STS operations except GetCallerIdentity.

    You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters.

    Though the session policy parameters are optional, if you do not pass a policy, then the resulting federated user session has no permissions. When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

    You can use the credentials to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions granted by the session policies.

    Tags

    (Optional) You can pass tag key-value pairs to your session. These are called session tags. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    An administrator must grant you the permissions necessary to pass session tags. The administrator can also create granular permissions to allow you to pass only specific session tags. For more information, see Tutorial: Using Tags for Attribute-Based Access Control in the IAM User Guide.

    Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the user that you are federating has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the user tag.

    " }, "GetSessionToken":{ "name":"GetSessionToken", @@ -133,7 +148,7 @@ "errors":[ {"shape":"RegionDisabledException"} ], - "documentation":"

    Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to APIs that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

    The GetSessionToken action must be called by using the long-term AWS security credentials of the AWS account or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify, from 900 seconds (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default of 43200 seconds (12 hours); credentials that are created by using account credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 seconds (1 hour), with a default of 1 hour.

    The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

    • You cannot call any IAM APIs unless MFA authentication information is included in the request.

    • You cannot call any STS API except AssumeRole.

    We recommend that you do not call GetSessionToken with root account credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

    The permissions associated with the temporary security credentials returned by GetSessionToken are based on the permissions associated with account or IAM user whose credentials are used to call the action. If GetSessionToken is called using root account credentials, the temporary credentials have root account permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

    For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

    " + "documentation":"

    Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS API operations like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to API operations that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other API operations that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS API operations in the IAM User Guide.

    Session Duration

    The GetSessionToken operation must be called by using the long-term AWS security credentials of the AWS account root user or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify. This duration can range from 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours), with a default of 43,200 seconds (12 hours). Credentials based on account credentials can range from 900 seconds (15 minutes) up to 3,600 seconds (1 hour), with a default of 1 hour.

    Permissions

    The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

    • You cannot call any IAM API operations unless MFA authentication information is included in the request.

    • You cannot call any STS API except AssumeRole or GetCallerIdentity.

    We recommend that you do not call GetSessionToken with AWS account root user credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

    The credentials that are returned by GetSessionToken are based on permissions associated with the user whose credentials were used to call the operation. If GetSessionToken is called using AWS account root user credentials, the temporary credentials have root user permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

    For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

    " } }, "shapes":{ @@ -150,23 +165,35 @@ }, "RoleSessionName":{ "shape":"roleSessionNameType", - "documentation":"

    An identifier for the assumed role session.

    Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests using the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + "documentation":"

    An identifier for the assumed role session.

    Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests that use the temporary security credentials will expose the role session name to the external account in their AWS CloudTrail logs.

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

    The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

    This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    " }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

    An IAM policy in JSON format.

    This parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both (the intersection of) the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

    The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

    " + "documentation":"

    An IAM policy in JSON format that you want to use as an inline session policy.

    This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    " }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

    The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

    This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

    " + "documentation":"

    The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

    By default, the value is set to 3600 seconds.

    The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

    " + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

    A list of session tags that you want to pass. Each session tag consists of a key name and an associated value. For more information about session tags, see Tagging AWS STS Sessions in the IAM User Guide.

    This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters, and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is already attached to the role. When you do, session tags override a role tag with the same key.

    Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

    Additionally, if you used temporary credentials to perform this operation, the new session inherits any transitive session tags from the calling session. If you pass a session tag with the same key as an inherited tag, the operation fails. To view the inherited tags for a session, see the AWS CloudTrail logs. For more information, see Viewing Session Tags in CloudTrail in the IAM User Guide.

    " + }, + "TransitiveTagKeys":{ + "shape":"tagKeyListType", + "documentation":"

    A list of keys for session tags that you want to set as transitive. If you set a tag key as transitive, the corresponding key and value passes to subsequent sessions in a role chain. For more information, see Chaining Roles with Session Tags in the IAM User Guide.

    This parameter is optional. When you set session tags as transitive, the session policy and session tags packed binary limit is not affected.

    If you choose not to specify a transitive tag key, then no tags are passed from this session to any subsequent sessions.

    " }, "ExternalId":{ "shape":"externalIdType", - "documentation":"

    A unique identifier that is used by third parties when assuming roles in their customers' accounts. For each role that the third party can assume, they should instruct their customers to ensure the role's trust policy checks for the external ID that the third party generated. Each time the third party assumes the role, they should pass the customer's external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:\\/-

    " + "documentation":"

    A unique identifier that might be required when you assume a role in another account. If the administrator of the account to which the role belongs provided you with an external ID, then provide that value in the ExternalId parameter. This value can be any string, such as a passphrase or account number. A cross-account role is usually set up to trust everyone in an account. Therefore, the administrator of the trusting account might send an external ID to the administrator of the trusted account. That way, only someone with the ID can assume the role, rather than everyone in the account. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

    " }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

    The identification number of the MFA device that is associated with the user who is making the AssumeRole call. Specify this value if the trust policy of the role being assumed includes a condition that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + "documentation":"

    The identification number of the MFA device that is associated with the user who is making the AssumeRole call. Specify this value if the trust policy of the role being assumed includes a condition that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " }, "TokenCode":{ "shape":"tokenCodeType", @@ -179,7 +206,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

    " + "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

    " }, "AssumedRoleUser":{ "shape":"AssumedRoleUser", @@ -187,7 +214,7 @@ }, "PackedPolicySize":{ "shape":"nonNegativeIntegerType", - "documentation":"

    A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

    " + "documentation":"

    A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

    " } }, "documentation":"

    Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.

    " @@ -210,15 +237,19 @@ }, "SAMLAssertion":{ "shape":"SAMLAssertionType", - "documentation":"

    The base-64 encoded SAML authentication response provided by the IdP.

    For more information, see Configuring a Relying Party and Adding Claims in the Using IAM guide.

    " + "documentation":"

    The base-64 encoded SAML authentication response provided by the IdP.

    For more information, see Configuring a Relying Party and Adding Claims in the IAM User Guide.

    " + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

    The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

    This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    " }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

    An IAM policy in JSON format.

    The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

    The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

    " + "documentation":"

    An IAM policy in JSON format that you want to use as an inline session policy.

    This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    " }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

    The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the SAML authentication response's SessionNotOnOrAfter value. The actual expiration time is whichever value is shorter.

    This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console in the IAM User Guide.

    " + "documentation":"

    The duration, in seconds, of the role session. Your role session lasts for the duration that you specify for the DurationSeconds parameter, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. You can provide a DurationSeconds value from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

    By default, the value is set to 3600 seconds.

    The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

    " } } }, @@ -227,7 +258,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

    " + "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

    " }, "AssumedRoleUser":{ "shape":"AssumedRoleUser", @@ -235,7 +266,7 @@ }, "PackedPolicySize":{ "shape":"nonNegativeIntegerType", - "documentation":"

    A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

    " + "documentation":"

    A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

    " }, "Subject":{ "shape":"Subject", @@ -274,7 +305,7 @@ }, "RoleSessionName":{ "shape":"roleSessionNameType", - "documentation":"

    An identifier for the assumed role session. Typically, you pass the name or identifier that is associated with the user who is using your application. That way, the temporary security credentials that your application will use are associated with that user. This session name is included as part of the ARN and assumed role ID in the AssumedRoleUser response element.

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + "documentation":"

    An identifier for the assumed role session. Typically, you pass the name or identifier that is associated with the user who is using your application. That way, the temporary security credentials that your application will use are associated with that user. This session name is included as part of the ARN and assumed role ID in the AssumedRoleUser response element.

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " }, "WebIdentityToken":{ "shape":"clientTokenType", @@ -284,13 +315,17 @@ "shape":"urlType", "documentation":"

    The fully qualified host component of the domain name of the identity provider.

    Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com and graph.facebook.com are the only supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port numbers.

    Do not specify this value for OpenID Connect ID tokens.

    " }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

    The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as managed session policies. The policies must exist in the same account as the role.

    This parameter is optional. You can provide up to 10 managed policy ARNs. However, the plain text that you use for both inline and managed session policies can't exceed 2,048 characters. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    " + }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

    An IAM policy in JSON format.

    The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRoleWithWebIdentity in the IAM User Guide.

    The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

    " + "documentation":"

    An IAM policy in JSON format that you want to use as an inline session policy.

    This parameter is optional. Passing policies to this operation returns new temporary credentials. The resulting session's permissions are the intersection of the role's identity-based policy and the session policies. You can use the role's temporary credentials in subsequent AWS API calls to access resources in the account that owns the role. You cannot use session policies to grant more permissions than those allowed by the identity-based policy of the role that is being assumed. For more information, see Session Policies in the IAM User Guide.

    The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    " }, "DurationSeconds":{ "shape":"roleDurationSecondsType", - "documentation":"

    The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

    This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

    " + "documentation":"

    The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) up to the maximum session duration setting for the role. This setting can have a value from 1 hour to 12 hours. If you specify a value higher than this setting, the operation fails. For example, if you specify a session duration of 12 hours, but your administrator set the maximum session duration to 6 hours, your operation fails. To learn how to view the maximum value for your role, see View the Maximum Session Duration Setting for a Role in the IAM User Guide.

    By default, the value is set to 3600 seconds.

    The DurationSeconds parameter is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

    " } } }, @@ -299,7 +334,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security token.

    Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

    " + "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security token.

    The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

    " }, "SubjectFromWebIdentityToken":{ "shape":"webIdentitySubjectType", @@ -311,11 +346,11 @@ }, "PackedPolicySize":{ "shape":"nonNegativeIntegerType", - "documentation":"

    A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

    " + "documentation":"

    A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

    " }, "Provider":{ "shape":"Issuer", - "documentation":"

    The issuing authority of the web identity token presented. For OpenID Connect ID Tokens this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

    " + "documentation":"

    The issuing authority of the web identity token presented. For OpenID Connect ID tokens, this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

    " }, "Audience":{ "shape":"Audience", @@ -337,7 +372,7 @@ }, "Arn":{ "shape":"arnType", - "documentation":"

    The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

    " + "documentation":"

    The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

    " } }, "documentation":"

    The identifiers for the temporary security credentials that the operation returns.

    " @@ -417,11 +452,30 @@ }, "Arn":{ "shape":"arnType", - "documentation":"

    The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

    " + "documentation":"

    The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in the IAM User Guide.

    " } }, "documentation":"

    Identifiers for the federated user that is associated with the credentials.

    " }, + "GetAccessKeyInfoRequest":{ + "type":"structure", + "required":["AccessKeyId"], + "members":{ + "AccessKeyId":{ + "shape":"accessKeyIdType", + "documentation":"

    The identifier of an access key.

    This parameter allows (through its regex pattern) a string of characters that can consist of any upper- or lowercase letter or digit.

    " + } + } + }, + "GetAccessKeyInfoResponse":{ + "type":"structure", + "members":{ + "Account":{ + "shape":"accountType", + "documentation":"

    The number used to identify the AWS account.

    " + } + } + }, "GetCallerIdentityRequest":{ "type":"structure", "members":{ @@ -432,7 +486,7 @@ "members":{ "UserId":{ "shape":"userIdType", - "documentation":"

    The unique identifier of the calling entity. The exact value depends on the type of entity making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

    " + "documentation":"

    The unique identifier of the calling entity. The exact value depends on the type of entity that is making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

    " }, "Account":{ "shape":"accountType", @@ -451,15 +505,23 @@ "members":{ "Name":{ "shape":"userNameType", - "documentation":"

    The name of the federated user. The name is used as an identifier for the temporary security credentials (such as Bob). For example, you can reference the federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + "documentation":"

    The name of the federated user. The name is used as an identifier for the temporary security credentials (such as Bob). For example, you can reference the federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " }, "Policy":{ "shape":"sessionPolicyDocumentType", - "documentation":"

    An IAM policy in JSON format that is passed with the GetFederationToken call and evaluated along with the policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken. The passed policy is used to scope down the permissions that are available to the IAM user, by allowing only a subset of the permissions that are granted to the IAM user. The passed policy cannot grant more permissions than those granted to the IAM user. The final permissions for the federated user are the most restrictive set based on the intersection of the passed policy and the IAM user policy.

    If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

    The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\\u0020-\\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

    For more information about how permissions work, see Permissions for GetFederationToken.

    " + "documentation":"

    An IAM policy in JSON format that you want to use as an inline session policy.

    You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies.

    This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

    When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

    The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

    The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. The JSON policy characters can be any ASCII character from the space character to the end of the valid character list (\\u0020 through \\u00FF). It can also include the tab (\\u0009), linefeed (\\u000A), and carriage return (\\u000D) characters.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    " + }, + "PolicyArns":{ + "shape":"policyDescriptorListType", + "documentation":"

    The Amazon Resource Names (ARNs) of the IAM managed policies that you want to use as a managed session policy. The policies must exist in the same account as the IAM user that is requesting federated access.

    You must pass an inline or managed session policy to this operation. You can pass a single JSON policy document to use as an inline session policy. You can also specify up to 10 managed policies to use as managed session policies. The plain text that you use for both inline and managed session policies can't exceed 2,048 characters. You can provide up to 10 managed policy ARNs. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    This parameter is optional. However, if you do not pass any session policies, then the resulting federated user session has no permissions.

    When you pass session policies, the session permissions are the intersection of the IAM user policies and the session policies that you pass. This gives you a way to further restrict the permissions for a federated user. You cannot use session policies to grant more permissions than those that are defined in the permissions policy of the IAM user. For more information, see Session Policies in the IAM User Guide.

    The resulting credentials can be used to access a resource that has a resource-based policy. If that policy specifically references the federated user session in the Principal element of the policy, the session has the permissions allowed by the policy. These permissions are granted in addition to the permissions that are granted by the session policies.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    " }, "DurationSeconds":{ "shape":"durationSecondsType", - "documentation":"

    The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained using AWS account (root) credentials are restricted to a maximum of 3600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using AWS account (root) credentials defaults to one hour.

    " + "documentation":"

    The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions obtained using AWS account root user credentials are restricted to a maximum of 3,600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using root user credentials defaults to one hour.

    " + }, + "Tags":{ + "shape":"tagListType", + "documentation":"

    A list of session tags. Each session tag consists of a key name and an associated value. For more information about session tags, see Passing Session Tags in STS in the IAM User Guide.

    This parameter is optional. You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters and the values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    An AWS conversion compresses the passed session policies and session tags into a packed binary format that has a separate limit. Your request can fail for this limit even if your plain text meets the other requirements. The PackedPolicySize response element indicates by percentage how close the policies and tags for your request are to the upper size limit.

    You can pass a session tag with the same key as a tag that is already attached to the user you are federating. When you do, session tags override a user tag with the same key.

    Tag key–value pairs are not case sensitive, but case is preserved. This means that you cannot have separate Department and department tag keys. Assume that the role has the Department=Marketing tag and you pass the department=engineering session tag. Department and department are not saved as separate tags, and the session tag passed in the request takes precedence over the role tag.

    " } } }, @@ -468,7 +530,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

    " + "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

    " }, "FederatedUser":{ "shape":"FederatedUser", @@ -476,7 +538,7 @@ }, "PackedPolicySize":{ "shape":"nonNegativeIntegerType", - "documentation":"

    A percentage value indicating the size of the policy in packed form. The service rejects policies for which the packed size is greater than 100 percent of the allowed value.

    " + "documentation":"

    A percentage value that indicates the packed size of the session policies and session tags combined passed in the request. The request fails if the packed size is greater than 100 percent, which means the policies and tags exceeded the allowed space.

    " } }, "documentation":"

    Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.

    " @@ -486,15 +548,15 @@ "members":{ "DurationSeconds":{ "shape":"durationSecondsType", - "documentation":"

    The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

    " + "documentation":"

    The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3,600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

    " }, "SerialNumber":{ "shape":"serialNumberType", - "documentation":"

    The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

    The format for this parameter, as described by its regex pattern, is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

    " + "documentation":"

    The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

    The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:/-

    " }, "TokenCode":{ "shape":"tokenCodeType", - "documentation":"

    The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, and the user does not provide a code when requesting a set of temporary security credentials, the user will receive an \"access denied\" response when requesting resources that require MFA authentication.

    The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

    " + "documentation":"

    The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, the user must provide a code when requesting a set of temporary security credentials. A user who fails to provide the code receives an \"access denied\" response when requesting resources that require MFA authentication.

    The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

    " } } }, @@ -503,7 +565,7 @@ "members":{ "Credentials":{ "shape":"Credentials", - "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

    " + "documentation":"

    The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

    The size of the security token that STS API operations return is not fixed. We strongly recommend that you make no assumptions about the maximum size.

    " } }, "documentation":"

    Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

    " @@ -513,7 +575,7 @@ "members":{ "message":{"shape":"idpCommunicationErrorMessage"} }, - "documentation":"

    The request could not be fulfilled because the non-AWS identity provider (IDP) that was asked to verify the incoming identity token could not be reached. This is often a transient error caused by network conditions. Retry the request a limited number of times so that you don't exceed the request rate. If the error persists, the non-AWS identity provider might be down or not responding.

    ", + "documentation":"

    The request could not be fulfilled because the identity provider (IDP) that was asked to verify the incoming identity token could not be reached. This is often a transient error caused by network conditions. Retry the request a limited number of times so that you don't exceed the request rate. If the error persists, the identity provider might be down or not responding.

    ", "error":{ "code":"IDPCommunicationError", "httpStatusCode":400, @@ -580,7 +642,7 @@ "members":{ "message":{"shape":"packedPolicyTooLargeMessage"} }, - "documentation":"

    The request was rejected because the policy document was too large. The error message describes how big the policy document is, in packed form, as a percentage of what the API allows.

    ", + "documentation":"

    The request was rejected because the total packed size of the session policies and session tags combined was too large. An AWS conversion compresses the session policy document, session policy ARNs, and session tags into a packed binary format that has a separate limit. The error message indicates by percentage how close the policies and tags are to the upper size limit. For more information, see Passing Session Tags in STS in the IAM User Guide.

    You could receive this error even though you meet other defined session policy and session tag limits. For more information, see IAM and STS Entity Character Limits in the IAM User Guide.

    ", "error":{ "code":"PackedPolicyTooLarge", "httpStatusCode":400, @@ -588,12 +650,22 @@ }, "exception":true }, + "PolicyDescriptorType":{ + "type":"structure", + "members":{ + "arn":{ + "shape":"arnType", + "documentation":"

    The Amazon Resource Name (ARN) of the IAM managed policy to use as a session policy for the role. For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces in the AWS General Reference.

    " + } + }, + "documentation":"

    A reference to the IAM managed policy that is passed as a session policy for a role session or a federated user session.

    " + }, "RegionDisabledException":{ "type":"structure", "members":{ "message":{"shape":"regionDisabledMessage"} }, - "documentation":"

    STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

    ", + "documentation":"

    STS is not activated in the requested region for the account that is being asked to generate credentials. The account administrator must use the IAM console to activate STS in that region. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

    ", "error":{ "code":"RegionDisabledException", "httpStatusCode":403, @@ -603,14 +675,33 @@ }, "SAMLAssertionType":{ "type":"string", - "max":50000, - "min":4 + "max":100000, + "min":4, + "sensitive":true }, "Subject":{"type":"string"}, "SubjectType":{"type":"string"}, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"tagKeyType", + "documentation":"

    The key for a session tag.

    You can pass up to 50 session tags. The plain text session tag keys can’t exceed 128 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    " + }, + "Value":{ + "shape":"tagValueType", + "documentation":"

    The value for a session tag.

    You can pass up to 50 session tags. The plain text session tag values can’t exceed 256 characters. For these and additional limits, see IAM and STS Character Limits in the IAM User Guide.

    " + } + }, + "documentation":"

    You can pass custom key-value pair attributes when you assume a role or federate a user. These are called session tags. You can then use the session tags to control access to resources. For more information, see Tagging AWS STS Sessions in the IAM User Guide.

    " + }, "accessKeyIdType":{ "type":"string", - "max":32, + "max":128, "min":16, "pattern":"[\\w]*" }, @@ -624,14 +715,15 @@ }, "assumedRoleIdType":{ "type":"string", - "max":96, + "max":193, "min":2, "pattern":"[\\w+=,.@:-]*" }, "clientTokenType":{ "type":"string", "max":2048, - "min":4 + "min":4, + "sensitive":true }, "dateType":{"type":"timestamp"}, "decodedMessageType":{"type":"string"}, @@ -654,7 +746,7 @@ }, "federatedIdType":{ "type":"string", - "max":96, + "max":193, "min":2, "pattern":"[\\w+=,.@\\:-]*" }, @@ -668,10 +760,14 @@ "min":0 }, "packedPolicyTooLargeMessage":{"type":"string"}, + "policyDescriptorListType":{ + "type":"list", + "member":{"shape":"PolicyDescriptorType"} + }, "regionDisabledMessage":{"type":"string"}, "roleDurationSecondsType":{ "type":"integer", - "max":3600, + "max":43200, "min":900 }, "roleSessionNameType":{ @@ -692,6 +788,28 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+" }, + "tagKeyListType":{ + "type":"list", + "member":{"shape":"tagKeyType"}, + "max":50 + }, + "tagKeyType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+" + }, + "tagListType":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50 + }, + "tagValueType":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*" + }, "tokenCodeType":{ "type":"string", "max":6, @@ -717,5 +835,5 @@ "min":6 } }, - "documentation":"AWS Security Token Service

    The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

    As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to STS. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

    For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

    If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

    Endpoints

    The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com that maps to the US East (N. Virginia) region. Additional regions are available and are activated by default. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

    For information about STS endpoints, see Regions and Endpoints in the AWS General Reference.

    Recording API requests

    STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

    " + "documentation":"AWS Security Token Service

    The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

    For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

    If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

    Endpoints

    By default, AWS Security Token Service (STS) is available as a global service, and all AWS STS requests go to a single endpoint at https://sts.amazonaws.com. Global requests map to the US East (N. Virginia) region. AWS recommends using Regional AWS STS endpoints instead of the global endpoint to reduce latency, build in redundancy, and increase session token validity. For more information, see Managing AWS STS in an AWS Region in the IAM User Guide.

    Most AWS Regions are enabled for operations in all AWS services by default. Those Regions are automatically activated for use with AWS STS. Some Regions, such as Asia Pacific (Hong Kong), must be manually enabled. To learn more about enabling and disabling AWS Regions, see Managing AWS Regions in the AWS General Reference. When you enable these AWS Regions, they are automatically activated for use with AWS STS. You cannot activate the STS endpoint for a Region that is disabled. Tokens that are valid in all AWS Regions are longer than tokens that are valid in Regions that are enabled by default. Changing this setting might affect existing systems where you temporarily store tokens. For more information, see Managing Global Endpoint Session Tokens in the IAM User Guide.

    After you activate a Region for use with AWS STS, you can direct AWS STS API calls to that Region. AWS STS recommends that you provide both the Region and endpoint when you make calls to a Regional endpoint. You can provide the Region alone for manually enabled Regions, such as Asia Pacific (Hong Kong). In this case, the calls are directed to the STS Regional endpoint. However, if you provide the Region alone for Regions enabled by default, the calls are directed to the global endpoint of https://sts.amazonaws.com.

    To view the list of AWS STS endpoints and whether they are active by default, see Writing Code to Use AWS STS Regions in the IAM User Guide.

    Recording API requests

    STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on.

    If you activate AWS STS endpoints in Regions other than the default global endpoint, then you must also turn on CloudTrail logging in those Regions. This is necessary to record any AWS STS API calls that are made in those Regions. For more information, see Turning On CloudTrail in Additional Regions in the AWS CloudTrail User Guide.

    AWS Security Token Service (STS) is a global service with a single endpoint at https://sts.amazonaws.com. Calls to this endpoint are logged as calls to a global service. However, because this endpoint is physically located in the US East (N. Virginia) Region, your logs list us-east-1 as the event Region. CloudTrail does not write these logs to the US East (Ohio) Region unless you choose to include global service logs in that Region. CloudTrail writes calls to all Regional endpoints to their respective Regions. For example, calls to sts.us-east-2.amazonaws.com are published to the US East (Ohio) Region and calls to sts.eu-central-1.amazonaws.com are published to the EU (Frankfurt) Region.

    To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

    " } diff -Nru python-botocore-1.4.70/botocore/data/support/2013-04-15/examples-1.json python-botocore-1.16.19+repack/botocore/data/support/2013-04-15/examples-1.json --- python-botocore-1.4.70/botocore/data/support/2013-04-15/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/support/2013-04-15/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/support/2013-04-15/service-2.json python-botocore-1.16.19+repack/botocore/data/support/2013-04-15/service-2.json --- python-botocore-1.4.70/botocore/data/support/2013-04-15/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/support/2013-04-15/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -6,8 +6,10 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"AWS Support", + "serviceId":"Support", "signatureVersion":"v4", - "targetPrefix":"AWSSupport_20130415" + "targetPrefix":"AWSSupport_20130415", + "uid":"support-2013-04-15" }, "operations":{ "AddAttachmentsToSet":{ @@ -25,7 +27,7 @@ {"shape":"AttachmentSetSizeLimitExceeded"}, {"shape":"AttachmentLimitExceeded"} ], - "documentation":"

    Adds one or more attachments to an attachment set. If an attachmentSetId is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachmentSetId is specified, the attachments are added to the specified set, if it exists.

    An attachment set is a temporary container for attachments that are to be added to a case or case communication. The set is available for one hour after it is created; the expiryTime returned in the response indicates when the set expires. The maximum number of attachments in a set is 3, and the maximum size of any attachment in the set is 5 MB.

    " + "documentation":"

    Adds one or more attachments to an attachment set.

    An attachment set is a temporary container for attachments that you add to a case or case communication. The set is available for 1 hour after it's created. The expiryTime returned in the response is when the set expires.

    " }, "AddCommunicationToCase":{ "name":"AddCommunicationToCase", @@ -57,7 +59,7 @@ {"shape":"AttachmentSetIdNotFound"}, {"shape":"AttachmentSetExpired"} ], - "documentation":"

    Creates a new case in the AWS Support Center. This operation is modeled on the behavior of the AWS Support Center Create Case page. Its parameters require you to specify the following information:

    • issueType. The type of issue for the case. You can specify either \"customer-service\" or \"technical.\" If you do not indicate a value, the default is \"technical.\"

    • serviceCode. The code for an AWS service. You obtain the serviceCode by calling DescribeServices.

    • categoryCode. The category for the service defined for the serviceCode value. You also obtain the category code for a service by calling DescribeServices. Each AWS service defines its own set of category codes.

    • severityCode. A value that indicates the urgency of the case, which in turn determines the response time according to your service level agreement with AWS Support. You obtain the SeverityCode by calling DescribeSeverityLevels.

    • subject. The Subject field on the AWS Support Center Create Case page.

    • communicationBody. The Description field on the AWS Support Center Create Case page.

    • attachmentSetId. The ID of a set of attachments that has been created by using AddAttachmentsToSet.

    • language. The human language in which AWS Support handles the case. English and Japanese are currently supported.

    • ccEmailAddresses. The AWS Support Center CC field on the Create Case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK.

    To add additional communication or attachments to an existing case, use AddCommunicationToCase.

    A successful CreateCase request returns an AWS Support case number. Case numbers are used by the DescribeCases operation to retrieve existing AWS Support cases.

    " + "documentation":"

    Creates a case in the AWS Support Center. This operation is similar to how you create a case in the AWS Support Center Create Case page.

    The AWS Support API doesn't support requesting service limit increases. You can submit a service limit increase in the following ways:

    A successful CreateCase request returns an AWS Support case number. You can use the DescribeCases operation and specify the case number to get existing AWS Support cases. After you create a case, you can use the AddCommunicationToCase operation to add additional communication or attachments to an existing case.

    • The caseId is separate from the displayId that appears in the Support Center. You can use the DescribeCases operation to get the displayId.

    " }, "DescribeAttachment":{ "name":"DescribeAttachment", @@ -72,7 +74,7 @@ {"shape":"DescribeAttachmentLimitExceeded"}, {"shape":"AttachmentIdNotFound"} ], - "documentation":"

    Returns the attachment that has the specified ID. Attachment IDs are generated by the case management system when you add an attachment to a case or case communication. Attachment IDs are returned in the AttachmentDetails objects that are returned by the DescribeCommunications operation.

    " + "documentation":"

    Returns the attachment that has the specified ID. Attachments can include screenshots, error logs, or other files that describe your issue. Attachment IDs are generated by the case management system when you add an attachment to a case or case communication. Attachment IDs are returned in the AttachmentDetails objects that are returned by the DescribeCommunications operation.

    " }, "DescribeCases":{ "name":"DescribeCases", @@ -86,7 +88,7 @@ {"shape":"InternalServerError"}, {"shape":"CaseIdNotFound"} ], - "documentation":"

    Returns a list of cases that you specify by passing one or more case IDs. In addition, you can filter the cases by date by setting values for the afterTime and beforeTime request parameters. You can set values for the includeResolvedCases and includeCommunications request parameters to control how much information is returned.

    Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.

    The response returns the following in JSON format:

    • One or more CaseDetails data types.

    • One or more nextToken values, which specify where to paginate the returned records represented by the CaseDetails objects.

    " + "documentation":"

    Returns a list of cases that you specify by passing one or more case IDs. In addition, you can filter the cases by date by setting values for the afterTime and beforeTime request parameters. You can set values for the includeResolvedCases and includeCommunications request parameters to control how much information is returned.

    Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.

    The response returns the following in JSON format:

    • One or more CaseDetails data types.

    • One or more nextToken values, which specify where to paginate the returned records represented by the CaseDetails objects.

    " }, "DescribeCommunications":{ "name":"DescribeCommunications", @@ -126,7 +128,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

    Returns the list of severity levels that you can assign to an AWS Support case. The severity level for a case is also a field in the CaseDetails data type included in any CreateCase request.

    " + "documentation":"

    Returns the list of severity levels that you can assign to an AWS Support case. The severity level for a case is also a field in the CaseDetails data type included in any CreateCase request.

    " }, "DescribeTrustedAdvisorCheckRefreshStatuses":{ "name":"DescribeTrustedAdvisorCheckRefreshStatuses", @@ -178,7 +180,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

    Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata. You must specify a language code; English (\"en\") and Japanese (\"ja\") are currently supported. The response contains a TrustedAdvisorCheckDescription for each check.

    " + "documentation":"

    Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata. You must specify a language code; English (\"en\") and Japanese (\"ja\") are currently supported. The response contains a TrustedAdvisorCheckDescription for each check. The region must be set to us-east-1.

    " }, "RefreshTrustedAdvisorCheck":{ "name":"RefreshTrustedAdvisorCheck", @@ -191,7 +193,7 @@ "errors":[ {"shape":"InternalServerError"} ], - "documentation":"

    Requests a refresh of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

    Some checks are refreshed automatically, and they cannot be refreshed by using this operation. Use of the RefreshTrustedAdvisorCheck operation for these checks causes an InvalidParameterValue error.

    The response contains a TrustedAdvisorCheckRefreshStatus object, which contains these fields:

    • status. The refresh status of the check: \"none\", \"enqueued\", \"processing\", \"success\", or \"abandoned\".

    • millisUntilNextRefreshable. The amount of time, in milliseconds, until the check is eligible for refresh.

    • checkId. The unique identifier for the check.

    " + "documentation":"

    Requests a refresh of the Trusted Advisor check that has the specified check ID. Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.

    Some checks are refreshed automatically, and they cannot be refreshed by using this operation. Use of the RefreshTrustedAdvisorCheck operation for these checks causes an InvalidParameterValue error.

    The response contains a TrustedAdvisorCheckRefreshStatus object, which contains these fields:

    • status. The refresh status of the check:

      • none: The check is not refreshed or the non-success status exceeds the timeout

      • enqueued: The check refresh requests has entered the refresh queue

      • processing: The check refresh request is picked up by the rule processing engine

      • success: The check is successfully refreshed

      • abandoned: The check refresh has failed

    • millisUntilNextRefreshable. The amount of time, in milliseconds, until the check is eligible for refresh.

    • checkId. The unique identifier for the check.

    " }, "ResolveCase":{ "name":"ResolveCase", @@ -219,10 +221,9 @@ }, "attachments":{ "shape":"Attachments", - "documentation":"

    One or more attachments to add to the set. The limit is 3 attachments per set, and the size limit is 5 MB per attachment.

    " + "documentation":"

    One or more attachments to add to the set. You can add up to three attachments per set. The size limit is 5 MB per attachment.

    In the Attachment object, use the data parameter to specify the contents of the attachment file. In the previous request syntax, the value for data appear as blob, which is represented as a base64-encoded string. The value for fileName is the name of the attachment, such as troubleshoot-screenshot.png.

    " } - }, - "documentation":"

    " + } }, "AddAttachmentsToSetResponse":{ "type":"structure", @@ -332,7 +333,7 @@ "members":{ "message":{ "shape":"ErrorMessage", - "documentation":"

    The expiration time of the attachment set has passed. The set expires 1 hour after it is created.

    " + "documentation":"

    The expiration time of the attachment set has passed. The set expires one hour after it is created.

    " } }, "documentation":"

    The expiration time of the attachment set has passed. The set expires 1 hour after it is created.

    ", @@ -355,10 +356,10 @@ "members":{ "message":{ "shape":"ErrorMessage", - "documentation":"

    A limit for the size of an attachment set has been exceeded. The limits are 3 attachments and 5 MB per attachment.

    " + "documentation":"

    A limit for the size of an attachment set has been exceeded. The limits are three attachments and 5 MB per attachment.

    " } }, - "documentation":"

    A limit for the size of an attachment set has been exceeded. The limits are 3 attachments and 5 MB per attachment.

    ", + "documentation":"

    A limit for the size of an attachment set has been exceeded. The limits are three attachments and 5 MB per attachment.

    ", "exception":true }, "Attachments":{ @@ -395,11 +396,11 @@ }, "status":{ "shape":"Status", - "documentation":"

    The status of the case.

    " + "documentation":"

    The status of the case.

    Valid values:

    • opened

    • pending-customer-action

    • reopened

    • resolved

    • unassigned

    • work-in-progress

    " }, "serviceCode":{ "shape":"ServiceCode", - "documentation":"

    The code for the AWS service returned by the call to DescribeServices.

    " + "documentation":"

    The code for the AWS service. You can get a list of codes and the corresponding service names by calling DescribeServices.

    " }, "categoryCode":{ "shape":"CategoryCode", @@ -430,7 +431,7 @@ "documentation":"

    The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    " } }, - "documentation":"

    A JSON-formatted object that contains the metadata for a support case. It is contained the response from a DescribeCases request. CaseDetails contains the following fields:

    • caseId. The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47.

    • categoryCode. The category of problem for the AWS Support case. Corresponds to the CategoryCode values returned by a call to DescribeServices.

    • displayId. The identifier for the case on pages in the AWS Support Center.

    • language. The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    • recentCommunications. One or more Communication objects. Fields of these objects are attachments, body, caseId, submittedBy, and timeCreated.

    • nextToken. A resumption point for pagination.

    • serviceCode. The identifier for the AWS service that corresponds to the service code defined in the call to DescribeServices.

    • severityCode. The severity code assigned to the case. Contains one of the values returned by the call to DescribeSeverityLevels.

    • status. The status of the case in the AWS Support Center.

    • subject. The subject line of the case.

    • submittedBy. The email address of the account that submitted the case.

    • timeCreated. The time the case was created, in ISO-8601 format.

    " + "documentation":"

    A JSON-formatted object that contains the metadata for a support case. It is contained the response from a DescribeCases request. CaseDetails contains the following fields:

    • caseId. The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47.

    • categoryCode. The category of problem for the AWS Support case. Corresponds to the CategoryCode values returned by a call to DescribeServices.

    • displayId. The identifier for the case on pages in the AWS Support Center.

    • language. The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    • recentCommunications. One or more Communication objects. Fields of these objects are attachments, body, caseId, submittedBy, and timeCreated.

    • nextToken. A resumption point for pagination.

    • serviceCode. The identifier for the AWS service that corresponds to the service code defined in the call to DescribeServices.

    • severityCode. The severity code assigned to the case. Contains one of the values returned by the call to DescribeSeverityLevels. The possible values are: low, normal, high, urgent, and critical.

    • status. The status of the case in the AWS Support Center. Valid values:

      • opened

      • pending-customer-action

      • reopened

      • resolved

      • unassigned

      • work-in-progress

    • subject. The subject line of the case.

    • submittedBy. The email address of the account that submitted the case.

    • timeCreated. The time the case was created, in ISO-8601 format.

    " }, "CaseId":{"type":"string"}, "CaseIdList":{ @@ -495,7 +496,7 @@ }, "submittedBy":{ "shape":"SubmittedBy", - "documentation":"

    The email address of the account that submitted the AWS Support case.

    " + "documentation":"

    The identity of the account that submitted, or responded to, the support case. Customer entries include the role or IAM user as well as the email address. For example, \"AdminRole (Role) <someone@example.com>. Entries from the AWS Support team display \"Amazon Web Services,\" and do not show an email address.

    " }, "timeCreated":{ "shape":"TimeCreated", @@ -506,7 +507,7 @@ "documentation":"

    Information about the attachments to the case communication.

    " } }, - "documentation":"

    A communication associated with an AWS Support case. The communication consists of the case ID, the message body, attachment information, the account email address, and the date and time of the communication.

    " + "documentation":"

    A communication associated with an AWS Support case. The communication consists of the case ID, the message body, attachment information, the submitter of the communication, and the date and time of the communication.

    " }, "CommunicationBody":{ "type":"string", @@ -526,52 +527,51 @@ "members":{ "subject":{ "shape":"Subject", - "documentation":"

    The title of the AWS Support case.

    " + "documentation":"

    The title of the AWS Support case. The title appears in the Subject field on the AWS Support Center Create Case page.

    " }, "serviceCode":{ "shape":"ServiceCode", - "documentation":"

    The code for the AWS service returned by the call to DescribeServices.

    " + "documentation":"

    The code for the AWS service. You can use the DescribeServices operation to get the possible serviceCode values.

    " }, "severityCode":{ "shape":"SeverityCode", - "documentation":"

    The code for the severity level returned by the call to DescribeSeverityLevels.

    The availability of severity levels depends on each customer's support subscription. In other words, your subscription may not necessarily require the urgent level of response time.

    " + "documentation":"

    A value that indicates the urgency of the case. This value determines the response time according to your service level agreement with AWS Support. You can use the DescribeSeverityLevels operation to get the possible values for severityCode.

    For more information, see SeverityLevel and Choosing a Severity in the AWS Support User Guide.

    The availability of severity levels depends on the support plan for the AWS account.

    " }, "categoryCode":{ "shape":"CategoryCode", - "documentation":"

    The category of problem for the AWS Support case.

    " + "documentation":"

    The category of problem for the AWS Support case. You also use the DescribeServices operation to get the category code for a service. Each AWS service defines its own set of category codes.

    " }, "communicationBody":{ "shape":"CommunicationBody", - "documentation":"

    The communication body text when you create an AWS Support case by calling CreateCase.

    " + "documentation":"

    The communication body text that describes the issue. This text appears in the Description field on the AWS Support Center Create Case page.

    " }, "ccEmailAddresses":{ "shape":"CcEmailAddressList", - "documentation":"

    A list of email addresses that AWS Support copies on case correspondence.

    " + "documentation":"

    A list of email addresses that AWS Support copies on case correspondence. AWS Support identifies the account that creates the case when you specify your AWS credentials in an HTTP POST method or use the AWS SDKs.

    " }, "language":{ "shape":"Language", - "documentation":"

    The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    " + "documentation":"

    The language in which AWS Support handles the case. You must specify the ISO 639-1 code for the language parameter if you want support in that language. Currently, English (\"en\") and Japanese (\"ja\") are supported.

    " }, "issueType":{ "shape":"IssueType", - "documentation":"

    The type of issue for the case. You can specify either \"customer-service\" or \"technical.\" If you do not indicate a value, the default is \"technical.\"

    " + "documentation":"

    The type of issue for the case. You can specify customer-service or technical. If you don't specify a value, the default is technical.

    " }, "attachmentSetId":{ "shape":"AttachmentSetId", - "documentation":"

    The ID of a set of one or more attachments for the case. Create the set by using AddAttachmentsToSet.

    " + "documentation":"

    The ID of a set of one or more attachments for the case. Create the set by using the AddAttachmentsToSet operation.

    " } - }, - "documentation":"

    " + } }, "CreateCaseResponse":{ "type":"structure", "members":{ "caseId":{ "shape":"CaseId", - "documentation":"

    The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

    " + "documentation":"

    The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string in the following format: case-12345678910-2013-c4c1d2bf33c5cf47

    " } }, - "documentation":"

    The AWS Support case ID returned by a successful completion of the CreateCase operation.

    " + "documentation":"

    The AWS Support case ID returned by a successful completion of the CreateCase operation.

    " }, "Data":{"type":"blob"}, "DescribeAttachmentLimitExceeded":{ @@ -600,7 +600,7 @@ "members":{ "attachment":{ "shape":"Attachment", - "documentation":"

    The attachment content and file name.

    " + "documentation":"

    This object includes the attachment content and file name.

    In the previous response syntax, the value for the data parameter appears as blob, which is represented as a base64-encoded string. The value for fileName is the name of the attachment, such as troubleshoot-screenshot.png.

    " } }, "documentation":"

    The content and file name of the attachment returned by the DescribeAttachment operation.

    " @@ -644,8 +644,7 @@ "shape":"IncludeCommunications", "documentation":"

    Specifies whether communications should be included in the DescribeCases results. The default is true.

    " } - }, - "documentation":"

    " + } }, "DescribeCasesResponse":{ "type":"structure", @@ -685,8 +684,7 @@ "shape":"MaxResults", "documentation":"

    The maximum number of results to return before paginating.

    " } - }, - "documentation":"

    " + } }, "DescribeCommunicationsResponse":{ "type":"structure", @@ -713,8 +711,7 @@ "shape":"Language", "documentation":"

    The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    " } - }, - "documentation":"

    " + } }, "DescribeServicesResponse":{ "type":"structure", @@ -733,8 +730,7 @@ "shape":"Language", "documentation":"

    The ISO 639-1 code for the language in which AWS provides support. AWS Support currently supports English (\"en\") and Japanese (\"ja\"). Language parameters must be passed explicitly for operations that take them.

    " } - }, - "documentation":"

    " + } }, "DescribeSeverityLevelsResponse":{ "type":"structure", @@ -801,8 +797,7 @@ "shape":"StringList", "documentation":"

    The IDs of the Trusted Advisor checks.

    " } - }, - "documentation":"

    " + } }, "DescribeTrustedAdvisorCheckSummariesResponse":{ "type":"structure", @@ -908,8 +903,7 @@ "shape":"CaseId", "documentation":"

    The AWS Support case ID requested or returned in the call. The case ID is an alphanumeric string formatted as shown in this example: case-12345678910-2013-c4c1d2bf33c5cf47

    " } - }, - "documentation":"

    " + } }, "ResolveCaseResponse":{ "type":"structure", @@ -942,7 +936,7 @@ "documentation":"

    A list of categories that describe the type of support issue a case describes. Categories consist of a category name and a category code. Category names and codes are passed to AWS Support when you call CreateCase.

    " } }, - "documentation":"

    Information about an AWS service returned by the DescribeServices operation.

    " + "documentation":"

    Information about an AWS service returned by the DescribeServices operation.

    " }, "ServiceCode":{"type":"string"}, "ServiceCodeList":{ @@ -962,14 +956,14 @@ "members":{ "code":{ "shape":"SeverityLevelCode", - "documentation":"

    One of four values: \"low,\" \"medium,\" \"high,\" and \"urgent\". These values correspond to response times returned to the caller in severityLevel.name.

    " + "documentation":"

    The code for case severity level.

    Valid values: low | normal | high | urgent | critical

    " }, "name":{ "shape":"SeverityLevelName", - "documentation":"

    The name of the severity level that corresponds to the severity level code.

    " + "documentation":"

    The name of the severity level that corresponds to the severity level code.

    The values returned by the API differ from the values that are displayed in the AWS Support Center. For example, for the code \"low\", the API name is \"Low\", but the name in the Support Center is \"General guidance\". These are the Support Center code/name mappings:

    • low: General guidance

    • normal: System impaired

    • high: Production system impaired

    • urgent: Production system down

    • critical: Business-critical system down

    For more information, see Choosing a Severity

    " } }, - "documentation":"

    A code and name pair that represent a severity level that can be applied to a support case.

    " + "documentation":"

    A code and name pair that represents the severity level of a support case. The available values depend on the support plan for the account. For more information, see Choosing a Severity.

    " }, "SeverityLevelCode":{"type":"string"}, "SeverityLevelName":{"type":"string"}, @@ -1016,7 +1010,7 @@ }, "description":{ "shape":"String", - "documentation":"

    The description of the Trusted Advisor check, which includes the alert criteria and recommended actions (contains HTML markup).

    " + "documentation":"

    The description of the Trusted Advisor check, which includes the alert criteria and recommended operations (contains HTML markup).

    " }, "category":{ "shape":"String", @@ -1047,7 +1041,7 @@ }, "status":{ "shape":"String", - "documentation":"

    The status of the Trusted Advisor check for which a refresh has been requested: \"none\", \"enqueued\", \"processing\", \"success\", or \"abandoned\".

    " + "documentation":"

    The status of the Trusted Advisor check for which a refresh has been requested:

    • none: The check is not refreshed or the non-success status exceeds the timeout

    • enqueued: The check refresh requests has entered the refresh queue

    • processing: The check refresh request is picked up by the rule processing engine

    • success: The check is successfully refreshed

    • abandoned: The check refresh has failed

    " }, "millisUntilNextRefreshable":{ "shape":"Long", @@ -1142,14 +1136,14 @@ "members":{ "estimatedMonthlySavings":{ "shape":"Double", - "documentation":"

    The estimated monthly savings that might be realized if the recommended actions are taken.

    " + "documentation":"

    The estimated monthly savings that might be realized if the recommended operations are taken.

    " }, "estimatedPercentMonthlySavings":{ "shape":"Double", - "documentation":"

    The estimated percentage of savings that might be realized if the recommended actions are taken.

    " + "documentation":"

    The estimated percentage of savings that might be realized if the recommended operations are taken.

    " } }, - "documentation":"

    The estimated cost savings that might be realized if the recommended actions are taken.

    " + "documentation":"

    The estimated cost savings that might be realized if the recommended operations are taken.

    " }, "TrustedAdvisorResourceDetail":{ "type":"structure", @@ -1177,7 +1171,7 @@ }, "metadata":{ "shape":"StringList", - "documentation":"

    Additional information about the identified resource. The exact metadata and its order can be obtained by inspecting the TrustedAdvisorCheckDescription object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains all the data that is shown in the Excel download, even in those cases where the UI shows just summary data.

    " + "documentation":"

    Additional information about the identified resource. The exact metadata and its order can be obtained by inspecting the TrustedAdvisorCheckDescription object returned by the call to DescribeTrustedAdvisorChecks. Metadata contains all the data that is shown in the Excel download, even in those cases where the UI shows just summary data.

    " } }, "documentation":"

    Contains information about a resource identified by a Trusted Advisor check.

    " @@ -1212,8 +1206,8 @@ "documentation":"

    The number of AWS resources ignored by Trusted Advisor because they were marked as suppressed by the user.

    " } }, - "documentation":"

    Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

    " + "documentation":"

    Details about AWS resources that were analyzed in a call to Trusted Advisor DescribeTrustedAdvisorCheckSummaries.

    " } }, - "documentation":"AWS Support

    The AWS Support API reference is intended for programmers who need detailed information about the AWS Support operations and data types. This service enables you to manage your AWS Support cases programmatically. It uses HTTP methods that return results in JSON format.

    The AWS Support service also exposes a set of Trusted Advisor features. You can retrieve a list of checks and their descriptions, get check results, specify checks to refresh, and get the refresh status of checks.

    The following list describes the AWS Support case management operations:

    The following list describes the operations available from the AWS Support service for Trusted Advisor:

    For authentication of requests, AWS Support uses Signature Version 4 Signing Process.

    See About the AWS Support API in the AWS Support User Guide for information about how to use this service to create and manage your support cases, and how to call Trusted Advisor for results of checks on your resources.

    " + "documentation":"AWS Support

    The AWS Support API reference is intended for programmers who need detailed information about the AWS Support operations and data types. This service enables you to manage your AWS Support cases programmatically. It uses HTTP methods that return results in JSON format.

    • You must have a Business or Enterprise support plan to use the AWS Support API.

    • If you call the AWS Support API from an account that doesn't have a Business or Enterprise support plan, the SubscriptionRequiredException error message appears. For information about changing your support plan, see AWS Support.

    The AWS Support service also exposes a set of Trusted Advisor features. You can retrieve a list of checks and their descriptions, get check results, specify checks to refresh, and get the refresh status of checks.

    The following list describes the AWS Support case management operations:

    The following list describes the operations available from the AWS Support service for Trusted Advisor:

    For authentication of requests, AWS Support uses Signature Version 4 Signing Process.

    See About the AWS Support API in the AWS Support User Guide for information about how to use this service to create and manage your support cases, and how to call Trusted Advisor for results of checks on your resources.

    " } diff -Nru python-botocore-1.4.70/botocore/data/swf/2012-01-25/examples-1.json python-botocore-1.16.19+repack/botocore/data/swf/2012-01-25/examples-1.json --- python-botocore-1.4.70/botocore/data/swf/2012-01-25/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/swf/2012-01-25/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/swf/2012-01-25/service-2.json python-botocore-1.16.19+repack/botocore/data/swf/2012-01-25/service-2.json --- python-botocore-1.4.70/botocore/data/swf/2012-01-25/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/swf/2012-01-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -4,14 +4,14 @@ "apiVersion":"2012-01-25", "endpointPrefix":"swf", "jsonVersion":"1.0", + "protocol":"json", "serviceAbbreviation":"Amazon SWF", "serviceFullName":"Amazon Simple Workflow Service", + "serviceId":"SWF", "signatureVersion":"v4", "targetPrefix":"SimpleWorkflowService", - "timestampFormat":"unixTimestamp", - "protocol":"json" + "uid":"swf-2012-01-25" }, - "documentation":"Amazon Simple Workflow Service

    The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application.

    Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state.

    This documentation serves as reference only. For a broader overview of the Amazon SWF programming model, see the Amazon SWF Developer Guide.

    ", "operations":{ "CountClosedWorkflowExecutions":{ "name":"CountClosedWorkflowExecutions", @@ -20,23 +20,12 @@ "requestUri":"/" }, "input":{"shape":"CountClosedWorkflowExecutionsInput"}, - "output":{ - "shape":"WorkflowExecutionCount", - "documentation":"

    Contains the count of workflow executions returned from CountOpenWorkflowExecutions or CountClosedWorkflowExecutions

    " - }, + "output":{"shape":"WorkflowExecutionCount"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
      • typeFilter.name: String constraint. The key is swf:typeFilter.name.
      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the number of closed workflow executions within the given domain that meet the specified filtering criteria.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

      • typeFilter.name: String constraint. The key is swf:typeFilter.name.

      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CountOpenWorkflowExecutions":{ "name":"CountOpenWorkflowExecutions", @@ -45,23 +34,12 @@ "requestUri":"/" }, "input":{"shape":"CountOpenWorkflowExecutionsInput"}, - "output":{ - "shape":"WorkflowExecutionCount", - "documentation":"

    Contains the count of workflow executions returned from CountOpenWorkflowExecutions or CountClosedWorkflowExecutions

    " - }, + "output":{"shape":"WorkflowExecutionCount"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the number of open workflow executions within the given domain that meet the specified filtering criteria.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
      • typeFilter.name: String constraint. The key is swf:typeFilter.name.
      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the number of open workflow executions within the given domain that meet the specified filtering criteria.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

      • typeFilter.name: String constraint. The key is swf:typeFilter.name.

      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CountPendingActivityTasks":{ "name":"CountPendingActivityTasks", @@ -70,23 +48,12 @@ "requestUri":"/" }, "input":{"shape":"CountPendingActivityTasksInput"}, - "output":{ - "shape":"PendingTaskCount", - "documentation":"

    Contains the count of tasks in a task list.

    " - }, + "output":{"shape":"PendingTaskCount"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and is not guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0 will be returned.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the estimated number of activity tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no activity task was ever scheduled in then 0 is returned.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CountPendingDecisionTasks":{ "name":"CountPendingDecisionTasks", @@ -95,23 +62,12 @@ "requestUri":"/" }, "input":{"shape":"CountPendingDecisionTasksInput"}, - "output":{ - "shape":"PendingTaskCount", - "documentation":"

    Contains the count of tasks in a task list.

    " - }, + "output":{"shape":"PendingTaskCount"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and is not guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0 will be returned.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the estimated number of decision tasks in the specified task list. The count returned is an approximation and isn't guaranteed to be exact. If you specify a task list that no decision task was ever scheduled in then 0 is returned.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DeprecateActivityType":{ "name":"DeprecateActivityType", @@ -121,23 +77,11 @@ }, "input":{"shape":"DeprecateActivityTypeInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"TypeDeprecatedFault", - "exception":true, - "documentation":"

    Returned when the specified activity or workflow type was already deprecated.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"TypeDeprecatedFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated will continue to run.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • activityType.name: String constraint. The key is swf:activityType.name.
      • activityType.version: String constraint. The key is swf:activityType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Deprecates the specified activity type. After an activity type has been deprecated, you cannot create new tasks of that activity type. Tasks of this type that were scheduled before the type was deprecated continue to run.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • activityType.name: String constraint. The key is swf:activityType.name.

      • activityType.version: String constraint. The key is swf:activityType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DeprecateDomain":{ "name":"DeprecateDomain", @@ -147,23 +91,11 @@ }, "input":{"shape":"DeprecateDomainInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"DomainDeprecatedFault", - "exception":true, - "documentation":"

    Returned when the specified domain has been deprecated.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"DomainDeprecatedFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated will continue to run.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Deprecates the specified domain. After a domain has been deprecated it cannot be used to create new workflow executions or register new types. However, you can still use visibility actions on this domain. Deprecating a domain also deprecates all activity and workflow types registered in the domain. Executions that were started before the domain was deprecated continues to run.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DeprecateWorkflowType":{ "name":"DeprecateWorkflowType", @@ -173,23 +105,11 @@ }, "input":{"shape":"DeprecateWorkflowTypeInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"TypeDeprecatedFault", - "exception":true, - "documentation":"

    Returned when the specified activity or workflow type was already deprecated.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"TypeDeprecatedFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated will continue to run. A deprecated workflow type may still be used when calling visibility actions.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • workflowType.name: String constraint. The key is swf:workflowType.name.
      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Deprecates the specified workflow type. After a workflow type has been deprecated, you cannot create new executions of that type. Executions that were started before the type was deprecated continues to run. A deprecated workflow type may still be used when calling visibility actions.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • workflowType.name: String constraint. The key is swf:workflowType.name.

      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DescribeActivityType":{ "name":"DescribeActivityType", @@ -198,23 +118,12 @@ "requestUri":"/" }, "input":{"shape":"DescribeActivityTypeInput"}, - "output":{ - "shape":"ActivityTypeDetail", - "documentation":"

    Detailed information about an activity type.

    " - }, + "output":{"shape":"ActivityTypeDetail"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • activityType.name: String constraint. The key is swf:activityType.name.
      • activityType.version: String constraint. The key is swf:activityType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about the specified activity type. This includes configuration settings provided when the type was registered and other general information about the type.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • activityType.name: String constraint. The key is swf:activityType.name.

      • activityType.version: String constraint. The key is swf:activityType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DescribeDomain":{ "name":"DescribeDomain", @@ -223,23 +132,12 @@ "requestUri":"/" }, "input":{"shape":"DescribeDomainInput"}, - "output":{ - "shape":"DomainDetail", - "documentation":"

    Contains details of a domain.

    " - }, + "output":{"shape":"DomainDetail"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns information about the specified domain, including description and status.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about the specified domain, including description and status.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DescribeWorkflowExecution":{ "name":"DescribeWorkflowExecution", @@ -248,23 +146,12 @@ "requestUri":"/" }, "input":{"shape":"DescribeWorkflowExecutionInput"}, - "output":{ - "shape":"WorkflowExecutionDetail", - "documentation":"

    Contains details about a workflow execution.

    " - }, + "output":{"shape":"WorkflowExecutionDetail"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns information about the specified workflow execution including its type and some statistics.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about the specified workflow execution including its type and some statistics.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "DescribeWorkflowType":{ "name":"DescribeWorkflowType", @@ -273,23 +160,12 @@ "requestUri":"/" }, "input":{"shape":"DescribeWorkflowTypeInput"}, - "output":{ - "shape":"WorkflowTypeDetail", - "documentation":"

    Contains details about a workflow type.

    " - }, + "output":{"shape":"WorkflowTypeDetail"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns information about the specified workflow type. This includes configuration settings specified when the type was registered and other information such as creation date, current status, and so on.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • workflowType.name: String constraint. The key is swf:workflowType.name.
      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about the specified workflow type. This includes configuration settings specified when the type was registered and other information such as creation date, current status, etc.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • workflowType.name: String constraint. The key is swf:workflowType.name.

      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "GetWorkflowExecutionHistory":{ "name":"GetWorkflowExecutionHistory", @@ -298,23 +174,12 @@ "requestUri":"/" }, "input":{"shape":"GetWorkflowExecutionHistoryInput"}, - "output":{ - "shape":"History", - "documentation":"

    Paginated representation of a workflow history for a workflow execution. This is the up to date, complete and authoritative record of the events related to all tasks and events in the life of the workflow execution.

    " - }, + "output":{"shape":"History"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the history of the specified workflow execution. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ListActivityTypes":{ "name":"ListActivityTypes", @@ -323,23 +188,12 @@ "requestUri":"/" }, "input":{"shape":"ListActivityTypesInput"}, - "output":{ - "shape":"ActivityTypeInfos", - "documentation":"

    Contains a paginated list of activity type information structures.

    " - }, + "output":{"shape":"ActivityTypeInfos"}, "errors":[ - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - }, - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - } + {"shape":"OperationNotPermittedFault"}, + {"shape":"UnknownResourceFault"} ], - "documentation":"

    Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about all activities registered in the specified domain that match the specified name and registration status. The result includes information like creation date, current status of the activity, etc. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ListClosedWorkflowExecutions":{ "name":"ListClosedWorkflowExecutions", @@ -348,23 +202,12 @@ "requestUri":"/" }, "input":{"shape":"ListClosedWorkflowExecutionsInput"}, - "output":{ - "shape":"WorkflowExecutionInfos", - "documentation":"

    Contains a paginated list of information about workflow executions.

    " - }, + "output":{"shape":"WorkflowExecutionInfos"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
      • typeFilter.name: String constraint. The key is swf:typeFilter.name.
      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns a list of closed workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

      • typeFilter.name: String constraint. The key is swf:typeFilter.name.

      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ListDomains":{ "name":"ListDomains", @@ -373,18 +216,11 @@ "requestUri":"/" }, "input":{"shape":"ListDomainsInput"}, - "output":{ - "shape":"DomainInfos", - "documentation":"

    Contains a paginated collection of DomainInfo structures.

    " - }, + "output":{"shape":"DomainInfos"}, "errors":[ - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains. The element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID, with no dashes.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns the list of domains registered in the account. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains. The element must be set to arn:aws:swf::AccountID:domain/*, where AccountID is the account ID, with no dashes.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ListOpenWorkflowExecutions":{ "name":"ListOpenWorkflowExecutions", @@ -393,23 +229,27 @@ "requestUri":"/" }, "input":{"shape":"ListOpenWorkflowExecutionsInput"}, - "output":{ - "shape":"WorkflowExecutionInfos", - "documentation":"

    Contains a paginated list of information about workflow executions.

    " + "output":{"shape":"WorkflowExecutionInfos"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} + ], + "documentation":"

    Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.

      • typeFilter.name: String constraint. The key is swf:typeFilter.name.

      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Returns a list of open workflow executions in the specified domain that meet the filtering criteria. The results may be split into multiple pages. To retrieve subsequent pages, make the call again using the nextPageToken returned by the initial call.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagFilter.tag: String constraint. The key is swf:tagFilter.tag.
      • typeFilter.name: String constraint. The key is swf:typeFilter.name.
      • typeFilter.version: String constraint. The key is swf:typeFilter.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    List tags for a given domain.

    " }, "ListWorkflowTypes":{ "name":"ListWorkflowTypes", @@ -418,23 +258,12 @@ "requestUri":"/" }, "input":{"shape":"ListWorkflowTypesInput"}, - "output":{ - "shape":"WorkflowTypeInfos", - "documentation":"

    Contains a paginated list of information structures about workflow types.

    " - }, + "output":{"shape":"WorkflowTypeInfos"}, "errors":[ - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - }, - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - } + {"shape":"OperationNotPermittedFault"}, + {"shape":"UnknownResourceFault"} ], - "documentation":"

    Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Returns information about workflow types in the specified domain. The results may be split into multiple pages that can be retrieved by making the call repeatedly.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "PollForActivityTask":{ "name":"PollForActivityTask", @@ -443,28 +272,13 @@ "requestUri":"/" }, "input":{"shape":"PollForActivityTaskInput"}, - "output":{ - "shape":"ActivityTask", - "documentation":"

    Unit of work sent to an activity worker.

    " - }, + "output":{"shape":"ActivityTask"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"}, + {"shape":"LimitExceededFault"} ], - "documentation":"

    Used by workers to get an ActivityTask from the specified activity taskList. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll will return an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly.

    Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request).

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by workers to get an ActivityTask from the specified activity taskList. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available. The maximum time the service holds on to the request before responding is 60 seconds. If no task is available within 60 seconds, the poll returns an empty result. An empty result, in this context, means that an ActivityTask is returned, but that the value of taskToken is an empty string. If a task is returned, the worker should use its type to identify and process it correctly.

    Workers should set their client side socket timeout to at least 70 seconds (10 seconds higher than the maximum time service may hold the poll request).

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "PollForDecisionTask":{ "name":"PollForDecisionTask", @@ -473,28 +287,13 @@ "requestUri":"/" }, "input":{"shape":"PollForDecisionTaskInput"}, - "output":{ - "shape":"DecisionTask", - "documentation":"

    A structure that represents a decision task. Decision tasks are sent to deciders in order for them to make decisions.

    " - }, + "output":{"shape":"DecisionTask"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"}, + {"shape":"LimitExceededFault"} ], - "documentation":"

    Used by deciders to get a DecisionTask from the specified decision taskList. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task.

    This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string.

    Deciders should set their client-side socket timeout to at least 70 seconds (10 seconds higher than the timeout). Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. Instead, call PollForDecisionTask again.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by deciders to get a DecisionTask from the specified decision taskList. A decision task may be returned for any open workflow execution that is using the specified task list. The task includes a paginated view of the history of the workflow execution. The decider should use the workflow type and the history to determine how to properly handle the task.

    This action initiates a long poll, where the service holds the HTTP connection open and responds as soon a task becomes available. If no decision task is available in the specified task list before the timeout of 60 seconds expires, an empty result is returned. An empty result, in this context, means that a DecisionTask is returned, but that the value of taskToken is an empty string.

    Deciders should set their client side socket timeout to at least 70 seconds (10 seconds higher than the timeout).

    Because the number of workflow history events for a single workflow execution might be very large, the result returned might be split up across a number of pages. To retrieve subsequent pages, make additional calls to PollForDecisionTask using the nextPageToken returned by the initial call. Note that you do not call GetWorkflowExecutionHistory with this nextPageToken. Instead, call PollForDecisionTask again.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the taskList.name parameter by using a Condition element with the swf:taskList.name key to allow the action to access only certain task lists.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RecordActivityTaskHeartbeat":{ "name":"RecordActivityTaskHeartbeat", @@ -503,23 +302,12 @@ "requestUri":"/" }, "input":{"shape":"RecordActivityTaskHeartbeatInput"}, - "output":{ - "shape":"ActivityTaskStatus", - "documentation":"

    Status information about an activity task.

    " - }, + "output":{"shape":"ActivityTaskStatus"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Used by activity workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress. The worker can also (optionally) specify details of the progress, for example percent complete, using the details parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean cancelRequested flag returned by the service is set to true.

    This action resets the taskHeartbeatTimeout clock. The taskHeartbeatTimeout is specified in RegisterActivityType.

    This action does not in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history will contain a ActivityTaskTimedOut event that contains the information from the last heartbeat generated by the activity worker.

    The taskStartToCloseTimeout of an activity type is the maximum duration of an activity task, regardless of the number of RecordActivityTaskHeartbeat requests received. The taskStartToCloseTimeout is also specified in RegisterActivityType. This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted. If the cancelRequested flag returns true, a cancellation is being attempted. If the worker can cancel the activity, it should respond with RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by activity workers to report to the service that the ActivityTask represented by the specified taskToken is still making progress. The worker can also specify details of the progress, for example percent complete, using the details parameter. This action can also be used by the worker as a mechanism to check if cancellation is being requested for the activity task. If a cancellation is being attempted for the specified task, then the boolean cancelRequested flag returned by the service is set to true.

    This action resets the taskHeartbeatTimeout clock. The taskHeartbeatTimeout is specified in RegisterActivityType.

    This action doesn't in itself create an event in the workflow execution history. However, if the task times out, the workflow execution history contains a ActivityTaskTimedOut event that contains the information from the last heartbeat generated by the activity worker.

    The taskStartToCloseTimeout of an activity type is the maximum duration of an activity task, regardless of the number of RecordActivityTaskHeartbeat requests received. The taskStartToCloseTimeout is also specified in RegisterActivityType.

    This operation is only useful for long-lived activities to report liveliness of the task and to determine if a cancellation is being attempted.

    If the cancelRequested flag returns true, a cancellation is being attempted. If the worker can cancel the activity, it should respond with RespondActivityTaskCanceled. Otherwise, it should ignore the cancellation request.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RegisterActivityType":{ "name":"RegisterActivityType", @@ -529,28 +317,12 @@ }, "input":{"shape":"RegisterActivityTypeInput"}, "errors":[ - { - "shape":"TypeAlreadyExistsFault", - "exception":true, - "documentation":"

    Returned if the type already exists in the specified domain. You will get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - }, - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"TypeAlreadyExistsFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Registers a new activity type along with its configuration settings in the specified domain.

    A TypeAlreadyExists fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.
      • name: String constraint. The key is swf:name.
      • version: String constraint. The key is swf:version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Registers a new activity type along with its configuration settings in the specified domain.

    A TypeAlreadyExists fault is returned if the type already exists in the domain. You cannot change any configuration settings of the type after its registration, and it must be registered as a new version.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.

      • name: String constraint. The key is swf:name.

      • version: String constraint. The key is swf:version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RegisterDomain":{ "name":"RegisterDomain", @@ -560,23 +332,12 @@ }, "input":{"shape":"RegisterDomainInput"}, "errors":[ - { - "shape":"DomainAlreadyExistsFault", - "exception":true, - "documentation":"

    Returned if the specified domain already exists. You will get this fault even if the existing domain is in deprecated status.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"DomainAlreadyExistsFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"OperationNotPermittedFault"}, + {"shape":"TooManyTagsFault"} ], - "documentation":"

    Registers a new domain.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Registers a new domain.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • You cannot use an IAM policy to control domain access for this action. The name of the domain being registered is available as the resource of this action.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RegisterWorkflowType":{ "name":"RegisterWorkflowType", @@ -586,28 +347,12 @@ }, "input":{"shape":"RegisterWorkflowTypeInput"}, "errors":[ - { - "shape":"TypeAlreadyExistsFault", - "exception":true, - "documentation":"

    Returned if the type already exists in the specified domain. You will get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - }, - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"TypeAlreadyExistsFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Registers a new workflow type and its configuration settings in the specified domain.

    The retention period for the workflow history is set by the RegisterDomain action.

    If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.
      • name: String constraint. The key is swf:name.
      • version: String constraint. The key is swf:version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Registers a new workflow type and its configuration settings in the specified domain.

    The retention period for the workflow history is set by the RegisterDomain action.

    If the type already exists, then a TypeAlreadyExists fault is returned. You cannot change the configuration settings of a workflow type once it is registered and it must be registered as a new version.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • defaultTaskList.name: String constraint. The key is swf:defaultTaskList.name.

      • name: String constraint. The key is swf:name.

      • version: String constraint. The key is swf:version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RequestCancelWorkflowExecution":{ "name":"RequestCancelWorkflowExecution", @@ -617,18 +362,10 @@ }, "input":{"shape":"RequestCancelWorkflowExecutionInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Records a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    If the runId is not specified, the WorkflowExecutionCancelRequested event is recorded in the history of the current open workflow execution with the specified workflowId in the domain. Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of TerminateWorkflowExecution when possible.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Records a WorkflowExecutionCancelRequested event in the currently running workflow execution identified by the given domain, workflowId, and runId. This logically requests the cancellation of the workflow execution as a whole. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    If the runId isn't specified, the WorkflowExecutionCancelRequested event is recorded in the history of the current open workflow execution with the specified workflowId in the domain.

    Because this action allows the workflow to properly clean up and gracefully close, it should be used instead of TerminateWorkflowExecution when possible.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RespondActivityTaskCanceled":{ "name":"RespondActivityTaskCanceled", @@ -638,18 +375,10 @@ }, "input":{"shape":"RespondActivityTaskCanceledInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled. Additional details can be optionally provided using the details argument.

    These details (if provided) appear in the ActivityTaskCanceled event added to the workflow history.

    Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat request returns true and if the activity can be safely undone or abandoned.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken was successfully canceled. Additional details can be provided using the details argument.

    These details (if provided) appear in the ActivityTaskCanceled event added to the workflow history.

    Only use this operation if the canceled flag of a RecordActivityTaskHeartbeat request returns true and if the activity can be safely undone or abandoned.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RespondActivityTaskCompleted":{ "name":"RespondActivityTaskCompleted", @@ -659,18 +388,10 @@ }, "input":{"shape":"RespondActivityTaskCompletedInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided). The result appears in the ActivityTaskCompleted event in the workflow history.

    If the requested task does not complete successfully, use RespondActivityTaskFailed instead. If the worker finds that the task is canceled through the canceled flag returned by RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call RespondActivityTaskCanceled.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken completed successfully with a result (if provided). The result appears in the ActivityTaskCompleted event in the workflow history.

    If the requested task doesn't complete successfully, use RespondActivityTaskFailed instead. If the worker finds that the task is canceled through the canceled flag returned by RecordActivityTaskHeartbeat, it should cancel the task, clean up and then call RespondActivityTaskCanceled.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RespondActivityTaskFailed":{ "name":"RespondActivityTaskFailed", @@ -680,18 +401,10 @@ }, "input":{"shape":"RespondActivityTaskFailedInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified). The reason and details appear in the ActivityTaskFailed event added to the workflow history.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by workers to tell the service that the ActivityTask identified by the taskToken has failed with reason (if specified). The reason and details appear in the ActivityTaskFailed event added to the workflow history.

    A task is considered open from the time that it is scheduled until it is closed. Therefore a task is reported as open while a worker is processing it. A task is closed after it has been specified in a call to RespondActivityTaskCompleted, RespondActivityTaskCanceled, RespondActivityTaskFailed, or the task has timed out.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RespondDecisionTaskCompleted":{ "name":"RespondDecisionTaskCompleted", @@ -701,18 +414,10 @@ }, "input":{"shape":"RespondDecisionTaskCompletedInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Used by deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed. The decisions argument specifies the list of decisions made while processing the task.

    A DecisionTaskCompleted event is added to the workflow history. The executionContext specified is attached to the event in the workflow execution history.

    Access Control

    If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions for the list of decisions in the decisions parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Used by deciders to tell the service that the DecisionTask identified by the taskToken has successfully completed. The decisions argument specifies the list of decisions made while processing the task.

    A DecisionTaskCompleted event is added to the workflow history. The executionContext specified is attached to the event in the workflow execution history.

    Access Control

    If an IAM policy grants permission to use RespondDecisionTaskCompleted, it can express permissions for the list of decisions in the decisions parameter. Each of the decisions has one or more parameters, much like a regular API call. To allow for policies to be as readable as possible, you can express permissions on decisions as if they were actual API calls, including applying conditions to some parameters. For more information, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "SignalWorkflowExecution":{ "name":"SignalWorkflowExecution", @@ -722,18 +427,10 @@ }, "input":{"shape":"SignalWorkflowExecutionInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided).

    If a runId is not specified, then the WorkflowExecutionSignaled event is recorded in the history of the current open workflow with the matching workflowId in the domain. If the specified workflow execution is not open, this method fails with UnknownResource.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Records a WorkflowExecutionSignaled event in the workflow execution history and creates a decision task for the workflow execution identified by the given domain, workflowId and runId. The event is recorded with the specified user defined signalName and input (if provided).

    If a runId isn't specified, then the WorkflowExecutionSignaled event is recorded in the history of the current open workflow with the matching workflowId in the domain.

    If the specified workflow execution isn't open, this method fails with UnknownResource.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "StartWorkflowExecution":{ "name":"StartWorkflowExecution", @@ -742,42 +439,31 @@ "requestUri":"/" }, "input":{"shape":"StartWorkflowExecutionInput"}, - "output":{ - "shape":"Run", - "documentation":"

    Specifies the runId of a workflow execution.

    " + "output":{"shape":"Run"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"TypeDeprecatedFault"}, + {"shape":"WorkflowExecutionAlreadyStartedFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"OperationNotPermittedFault"}, + {"shape":"DefaultUndefinedFault"} + ], + "documentation":"

    Starts an execution of the workflow type in the specified domain using the provided workflowId and input data.

    This action returns the newly started workflow execution.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagList.member.0: The key is swf:tagList.member.0.

      • tagList.member.1: The key is swf:tagList.member.1.

      • tagList.member.2: The key is swf:tagList.member.2.

      • tagList.member.3: The key is swf:tagList.member.3.

      • tagList.member.4: The key is swf:tagList.member.4.

      • taskList: String constraint. The key is swf:taskList.name.

      • workflowType.name: String constraint. The key is swf:workflowType.name.

      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" }, + "input":{"shape":"TagResourceInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"TypeDeprecatedFault", - "exception":true, - "documentation":"

    Returned when the specified activity or workflow type was already deprecated.

    " - }, - { - "shape":"WorkflowExecutionAlreadyStartedFault", - "exception":true, - "documentation":"

    Returned by StartWorkflowExecution when an open execution with the same workflowId is already running in the specified domain.

    " - }, - { - "shape":"LimitExceededFault", - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - }, - { - "shape":"DefaultUndefinedFault", - "exception":true - } + {"shape":"UnknownResourceFault"}, + {"shape":"TooManyTagsFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Starts an execution of the workflow type in the specified domain using the provided workflowId and input data.

    This action returns the newly started workflow execution.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagList.member.0: The key is swf:tagList.member.0.
      • tagList.member.1: The key is swf:tagList.member.1.
      • tagList.member.2: The key is swf:tagList.member.2.
      • tagList.member.3: The key is swf:tagList.member.3.
      • tagList.member.4: The key is swf:tagList.member.4.
      • taskList: String constraint. The key is swf:taskList.name.
      • workflowType.name: String constraint. The key is swf:workflowType.name.
      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Add a tag to a Amazon SWF domain.

    Amazon SWF supports a maximum of 50 tags per resource.

    " }, "TerminateWorkflowExecution":{ "name":"TerminateWorkflowExecution", @@ -787,25 +473,73 @@ }, "input":{"shape":"TerminateWorkflowExecutionInput"}, "errors":[ - { - "shape":"UnknownResourceFault", - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " - }, - { - "shape":"OperationNotPermittedFault", - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " - } + {"shape":"UnknownResourceFault"}, + {"shape":"OperationNotPermittedFault"} ], - "documentation":"

    Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution.

    If the identified workflow execution was in progress, it is terminated immediately. If a runId is not specified, then the WorkflowExecutionTerminated event is recorded in the history of the current open workflow with the matching workflowId in the domain. You should consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully close while TerminateWorkflowExecution does not.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Records a WorkflowExecutionTerminated event and forces closure of the workflow execution identified by the given domain, runId, and workflowId. The child policy, registered with the workflow type or specified when starting this execution, is applied to any open child workflow executions of this workflow execution.

    If the identified workflow execution was in progress, it is terminated immediately.

    If a runId isn't specified, then the WorkflowExecutionTerminated event is recorded in the history of the current open workflow with the matching workflowId in the domain.

    You should consider using RequestCancelWorkflowExecution action instead because it allows the workflow to gracefully close while TerminateWorkflowExecution doesn't.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "UndeprecateActivityType":{ + "name":"UndeprecateActivityType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UndeprecateActivityTypeInput"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"TypeAlreadyExistsFault"}, + {"shape":"OperationNotPermittedFault"} + ], + "documentation":"

    Undeprecates a previously deprecated activity type. After an activity type has been undeprecated, you can create new tasks of that activity type.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • activityType.name: String constraint. The key is swf:activityType.name.

      • activityType.version: String constraint. The key is swf:activityType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "UndeprecateDomain":{ + "name":"UndeprecateDomain", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UndeprecateDomainInput"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"DomainAlreadyExistsFault"}, + {"shape":"OperationNotPermittedFault"} + ], + "documentation":"

    Undeprecates a previously deprecated domain. After a domain has been undeprecated it can be used to create new workflow executions or register new types.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "UndeprecateWorkflowType":{ + "name":"UndeprecateWorkflowType", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UndeprecateWorkflowTypeInput"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"TypeAlreadyExistsFault"}, + {"shape":"OperationNotPermittedFault"} + ], + "documentation":"

    Undeprecates a previously deprecated workflow type. After a workflow type has been undeprecated, you can create new executions of that type.

    This operation is eventually consistent. The results are best effort and may not exactly reflect recent updates and changes.

    Access Control

    You can use IAM policies to control this action's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • workflowType.name: String constraint. The key is swf:workflowType.name.

      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "errors":[ + {"shape":"UnknownResourceFault"}, + {"shape":"LimitExceededFault"}, + {"shape":"OperationNotPermittedFault"} + ], + "documentation":"

    Remove a tag from a Amazon SWF domain.

    " } }, "shapes":{ "ActivityId":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "ActivityTask":{ "type":"structure", @@ -860,7 +594,7 @@ "documentation":"

    The unique ID of the task.

    " } }, - "documentation":"

    Provides details of the ActivityTaskCancelRequested event.

    " + "documentation":"

    Provides the details of the ActivityTaskCancelRequested event.

    " }, "ActivityTaskCanceledEventAttributes":{ "type":"structure", @@ -871,7 +605,7 @@ "members":{ "details":{ "shape":"Data", - "documentation":"

    Details of the cancellation (if any).

    " + "documentation":"

    Details of the cancellation.

    " }, "scheduledEventId":{ "shape":"EventId", @@ -886,7 +620,7 @@ "documentation":"

    If set, contains the ID of the last ActivityTaskCancelRequested event recorded for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ActivityTaskCanceled event.

    " + "documentation":"

    Provides the details of the ActivityTaskCanceled event.

    " }, "ActivityTaskCompletedEventAttributes":{ "type":"structure", @@ -897,7 +631,7 @@ "members":{ "result":{ "shape":"Data", - "documentation":"

    The results of the activity task (if any).

    " + "documentation":"

    The results of the activity task.

    " }, "scheduledEventId":{ "shape":"EventId", @@ -908,7 +642,7 @@ "documentation":"

    The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ActivityTaskCompleted event.

    " + "documentation":"

    Provides the details of the ActivityTaskCompleted event.

    " }, "ActivityTaskFailedEventAttributes":{ "type":"structure", @@ -919,11 +653,11 @@ "members":{ "reason":{ "shape":"FailureReason", - "documentation":"

    The reason provided for the failure (if any).

    " + "documentation":"

    The reason provided for the failure.

    " }, "details":{ "shape":"Data", - "documentation":"

    The details of the failure (if any).

    " + "documentation":"

    The details of the failure.

    " }, "scheduledEventId":{ "shape":"EventId", @@ -934,7 +668,7 @@ "documentation":"

    The ID of the ActivityTaskStarted event recorded when this activity task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ActivityTaskFailed event.

    " + "documentation":"

    Provides the details of the ActivityTaskFailed event.

    " }, "ActivityTaskScheduledEventAttributes":{ "type":"structure", @@ -959,7 +693,7 @@ }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks. This data is not sent to the activity.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

    " }, "scheduleToStartTimeout":{ "shape":"DurationInSecondsOptional", @@ -979,7 +713,7 @@ }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. The priority to assign to the scheduled activity task. If set, this will override any default priority value that was assigned when the activity type was registered.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The priority to assign to the scheduled activity task. If set, this overrides any default priority value that was assigned when the activity type was registered.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", @@ -987,10 +721,10 @@ }, "heartbeatTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum time before which the worker processing this task must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or return a result, it will be ignored.

    " + "documentation":"

    The maximum time before which the worker processing this task must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or return a result, it is ignored.

    " } }, - "documentation":"

    Provides details of the ActivityTaskScheduled event.

    " + "documentation":"

    Provides the details of the ActivityTaskScheduled event.

    " }, "ActivityTaskStartedEventAttributes":{ "type":"structure", @@ -1005,7 +739,7 @@ "documentation":"

    The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ActivityTaskStarted event.

    " + "documentation":"

    Provides the details of the ActivityTaskStarted event.

    " }, "ActivityTaskStatus":{ "type":"structure", @@ -1043,7 +777,7 @@ "documentation":"

    Contains the content of the details parameter for the last call made by the activity to RecordActivityTaskHeartbeat.

    " } }, - "documentation":"

    Provides details of the ActivityTaskTimedOut event.

    " + "documentation":"

    Provides the details of the ActivityTaskTimedOut event.

    " }, "ActivityTaskTimeoutType":{ "type":"string", @@ -1063,11 +797,11 @@ "members":{ "name":{ "shape":"Name", - "documentation":"

    The name of this activity.

    The combination of activity type name and version must be unique within a domain." + "documentation":"

    The name of this activity.

    The combination of activity type name and version must be unique within a domain.

    " }, "version":{ "shape":"Version", - "documentation":"

    The version of this activity.

    The combination of activity type name and version must be unique with in a domain." + "documentation":"

    The version of this activity.

    The combination of activity type name and version must be unique with in a domain.

    " } }, "documentation":"

    Represents an activity type.

    " @@ -1077,27 +811,27 @@ "members":{ "defaultTaskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum duration for tasks of an activity type specified when registering the activity type. You can override this default when scheduling a task through the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum duration for tasks of an activity type specified when registering the activity type. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskHeartbeatTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum time, in seconds, before which a worker processing a task must report progress by calling RecordActivityTaskHeartbeat.

    You can specify this value only when registering an activity type. The registered default value can be overridden when you schedule a task through the ScheduleActivityTask decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum time, in seconds, before which a worker processing a task must report progress by calling RecordActivityTaskHeartbeat.

    You can specify this value only when registering an activity type. The registered default value can be overridden when you schedule a task through the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskList":{ "shape":"TaskList", - "documentation":"

    Optional. The default task list specified for this activity type at registration. This default is used if a task list is not provided when a task is scheduled through the ScheduleActivityTask decision. You can override the default registered task list when scheduling a task through the ScheduleActivityTask decision.

    " + "documentation":"

    The default task list specified for this activity type at registration. This default is used if a task list isn't provided when a task is scheduled through the ScheduleActivityTask Decision. You can override the default registered task list when scheduling a task through the ScheduleActivityTask Decision.

    " }, "defaultTaskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. The default task priority for tasks of this activity type, specified at registration. If not set, then \"0\" will be used as the default priority. This default can be overridden when scheduling an activity task.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The default task priority for tasks of this activity type, specified at registration. If not set, then 0 is used as the default priority. This default can be overridden when scheduling an activity task.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "defaultTaskScheduleToStartTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum duration, specified when registering the activity type, that a task of an activity type can wait before being assigned to a worker. You can override this default when scheduling a task through the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum duration, specified when registering the activity type, that a task of an activity type can wait before being assigned to a worker. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskScheduleToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum duration, specified when registering the activity type, for tasks of this activity type. You can override this default when scheduling a task through the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum duration, specified when registering the activity type, for tasks of this activity type. You can override this default when scheduling a task through the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " } }, "documentation":"

    Configuration settings registered with the activity type.

    " @@ -1111,7 +845,7 @@ "members":{ "typeInfo":{ "shape":"ActivityTypeInfo", - "documentation":"

    General information about the activity type.

    The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.

    • REGISTERED: The type is registered and available. Workers supporting this type should be running.
    • DEPRECATED: The type was deprecated using DeprecateActivityType, but is still in use. You should keep workers supporting this type running. You cannot create new tasks of this type.
    " + "documentation":"

    General information about the activity type.

    The status of activity type (returned in the ActivityTypeInfo structure) can be one of the following.

    • REGISTERED – The type is registered and available. Workers supporting this type should be running.

    • DEPRECATED – The type was deprecated using DeprecateActivityType, but is still in use. You should keep workers supporting this type running. You cannot create new tasks of this type.

    " }, "configuration":{ "shape":"ActivityTypeConfiguration", @@ -1172,8 +906,8 @@ }, "Arn":{ "type":"string", - "min":1, - "max":1224 + "max":1600, + "min":1 }, "CancelTimerDecisionAttributes":{ "type":"structure", @@ -1181,10 +915,10 @@ "members":{ "timerId":{ "shape":"TimerId", - "documentation":"

    Required. The unique ID of the timer to cancel.

    " + "documentation":"

    The unique ID of the timer to cancel.

    " } }, - "documentation":"

    Provides details of the CancelTimer decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the CancelTimer decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CancelTimerFailedCause":{ "type":"string", @@ -1207,24 +941,24 @@ }, "cause":{ "shape":"CancelTimerFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelTimer decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the CancelTimerFailed event.

    " + "documentation":"

    Provides the details of the CancelTimerFailed event.

    " }, "CancelWorkflowExecutionDecisionAttributes":{ "type":"structure", "members":{ "details":{ "shape":"Data", - "documentation":"

    Optional. details of the cancellation.

    " + "documentation":"

    Details of the cancellation.

    " } }, - "documentation":"

    Provides details of the CancelWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the CancelWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CancelWorkflowExecutionFailedCause":{ "type":"string", @@ -1242,14 +976,14 @@ "members":{ "cause":{ "shape":"CancelWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the CancelWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the CancelWorkflowExecutionFailed event.

    " }, "Canceled":{"type":"boolean"}, "CauseMessage":{ @@ -1287,7 +1021,7 @@ }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", @@ -1315,18 +1049,18 @@ }, "result":{ "shape":"Data", - "documentation":"

    The result of the child workflow execution (if any).

    " + "documentation":"

    The result of the child workflow execution.

    " }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", "documentation":"

    The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ChildWorkflowExecutionCompleted event.

    " + "documentation":"

    Provides the details of the ChildWorkflowExecutionCompleted event.

    " }, "ChildWorkflowExecutionFailedEventAttributes":{ "type":"structure", @@ -1355,14 +1089,14 @@ }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", "documentation":"

    The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ChildWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the ChildWorkflowExecutionFailed event.

    " }, "ChildWorkflowExecutionStartedEventAttributes":{ "type":"structure", @@ -1378,14 +1112,14 @@ }, "workflowType":{ "shape":"WorkflowType", - "documentation":"

    The type of the child workflow execution.

    " + "documentation":"

    The type of the child workflow execution.

    " }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ChildWorkflowExecutionStarted event.

    " + "documentation":"

    Provides the details of the ChildWorkflowExecutionStarted event.

    " }, "ChildWorkflowExecutionTerminatedEventAttributes":{ "type":"structure", @@ -1406,14 +1140,14 @@ }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", "documentation":"

    The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ChildWorkflowExecutionTerminated event.

    " + "documentation":"

    Provides the details of the ChildWorkflowExecutionTerminated event.

    " }, "ChildWorkflowExecutionTimedOutEventAttributes":{ "type":"structure", @@ -1439,14 +1173,14 @@ }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", "documentation":"

    The ID of the ChildWorkflowExecutionStarted event recorded when this child workflow execution was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ChildWorkflowExecutionTimedOut event.

    " + "documentation":"

    Provides the details of the ChildWorkflowExecutionTimedOut event.

    " }, "CloseStatus":{ "type":"string", @@ -1465,7 +1199,7 @@ "members":{ "status":{ "shape":"CloseStatus", - "documentation":"

    Required. The close status that must match the close status of an execution for it to meet the criteria of this filter.

    " + "documentation":"

    The close status that must match the close status of an execution for it to meet the criteria of this filter.

    " } }, "documentation":"

    Used to filter the closed workflow executions in visibility APIs by their close status.

    " @@ -1478,7 +1212,7 @@ "documentation":"

    The result of the workflow execution. The form of the result is implementation defined.

    " } }, - "documentation":"

    Provides details of the CompleteWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the CompleteWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "CompleteWorkflowExecutionFailedCause":{ "type":"string", @@ -1496,14 +1230,14 @@ "members":{ "cause":{ "shape":"CompleteWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CompleteWorkflowExecution decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the CompleteWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the CompleteWorkflowExecutionFailed event.

    " }, "ContinueAsNewWorkflowExecutionDecisionAttributes":{ "type":"structure", @@ -1514,32 +1248,38 @@ }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this field. If neither this field is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

    " + }, + "taskList":{ + "shape":"TaskList", + "documentation":"

    The task list to use for the decisions of the new (continued) workflow execution.

    " }, - "taskList":{"shape":"TaskList"}, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The task priority that, if set, specifies the priority for the decision tasks for this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    Specifies the maximum duration of decision tasks for the new workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A task start-to-close timeout for the new workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

    " }, "tagList":{ "shape":"TagList", "documentation":"

    The list of tags to associate with the new workflow execution. A maximum of 5 tags can be specified. You can list workflow executions with a specific tag by calling ListOpenWorkflowExecutions or ListClosedWorkflowExecutions and specifying a TagFilter.

    " }, - "workflowTypeVersion":{"shape":"Version"}, + "workflowTypeVersion":{ + "shape":"Version", + "documentation":"

    The version of the workflow to start.

    " + }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The ARN of an IAM role that authorizes Amazon SWF to invoke AWS Lambda functions.

    In order for this workflow execution to invoke AWS Lambda functions, an appropriate IAM role must be specified either as a default for the workflow type or through this field." + "documentation":"

    The IAM role to attach to the new (continued) execution.

    " } }, - "documentation":"

    Provides details of the ContinueAsNewWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tag: Optional.. A tag used to identify the workflow execution
      • taskList: String constraint. The key is swf:taskList.name.
      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the ContinueAsNewWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tag – A tag used to identify the workflow execution

      • taskList – String constraint. The key is swf:taskList.name.

      • workflowType.version – String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ContinueAsNewWorkflowExecutionFailedCause":{ "type":"string", @@ -1564,14 +1304,14 @@ "members":{ "cause":{ "shape":"ContinueAsNewWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the ContinueAsNewWorkflowExecution decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ContinueAsNewWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the ContinueAsNewWorkflowExecutionFailed event.

    " }, "Count":{ "type":"integer", @@ -1587,27 +1327,27 @@ }, "startTimeFilter":{ "shape":"ExecutionTimeFilter", - "documentation":"

    If specified, only workflow executions that meet the start time criteria of the filter are counted.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both." + "documentation":"

    If specified, only workflow executions that meet the start time criteria of the filter are counted.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

    " }, "closeTimeFilter":{ "shape":"ExecutionTimeFilter", - "documentation":"

    If specified, only workflow executions that meet the close time criteria of the filter are counted.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both." + "documentation":"

    If specified, only workflow executions that meet the close time criteria of the filter are counted.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

    " }, "executionFilter":{ "shape":"WorkflowExecutionFilter", - "documentation":"

    If specified, only workflow executions matching the WorkflowId in the filter are counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions matching the WorkflowId in the filter are counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "typeFilter":{ "shape":"WorkflowTypeFilter", - "documentation":"

    If specified, indicates the type of the workflow executions to be counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, indicates the type of the workflow executions to be counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "tagFilter":{ "shape":"TagFilter", - "documentation":"

    If specified, only executions that have a tag that matches the filter are counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions that have a tag that matches the filter are counted.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "closeStatusFilter":{ "shape":"CloseStatusFilter", - "documentation":"

    If specified, only workflow executions that match this close status are counted. This filter has an affect only if executionStatus is specified as CLOSED.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions that match this close status are counted. This filter has an affect only if executionStatus is specified as CLOSED.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " } } }, @@ -1628,15 +1368,15 @@ }, "typeFilter":{ "shape":"WorkflowTypeFilter", - "documentation":"

    Specifies the type of the workflow executions to be counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    Specifies the type of the workflow executions to be counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "tagFilter":{ "shape":"TagFilter", - "documentation":"

    If specified, only executions that have a tag that matches the filter are counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions that have a tag that matches the filter are counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "executionFilter":{ "shape":"WorkflowExecutionFilter", - "documentation":"

    If specified, only workflow executions matching the WorkflowId in the filter are counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions matching the WorkflowId in the filter are counted.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " } } }, @@ -1688,55 +1428,58 @@ }, "scheduleActivityTaskDecisionAttributes":{ "shape":"ScheduleActivityTaskDecisionAttributes", - "documentation":"

    Provides details of the ScheduleActivityTask decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the ScheduleActivityTask decision. It isn't set for other decision types.

    " }, "requestCancelActivityTaskDecisionAttributes":{ "shape":"RequestCancelActivityTaskDecisionAttributes", - "documentation":"

    Provides details of the RequestCancelActivityTask decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the RequestCancelActivityTask decision. It isn't set for other decision types.

    " }, "completeWorkflowExecutionDecisionAttributes":{ "shape":"CompleteWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the CompleteWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the CompleteWorkflowExecution decision. It isn't set for other decision types.

    " }, "failWorkflowExecutionDecisionAttributes":{ "shape":"FailWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the FailWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the FailWorkflowExecution decision. It isn't set for other decision types.

    " }, "cancelWorkflowExecutionDecisionAttributes":{ "shape":"CancelWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the CancelWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the CancelWorkflowExecution decision. It isn't set for other decision types.

    " }, "continueAsNewWorkflowExecutionDecisionAttributes":{ "shape":"ContinueAsNewWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the ContinueAsNewWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the ContinueAsNewWorkflowExecution decision. It isn't set for other decision types.

    " }, "recordMarkerDecisionAttributes":{ "shape":"RecordMarkerDecisionAttributes", - "documentation":"

    Provides details of the RecordMarker decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the RecordMarker decision. It isn't set for other decision types.

    " }, "startTimerDecisionAttributes":{ "shape":"StartTimerDecisionAttributes", - "documentation":"

    Provides details of the StartTimer decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the StartTimer decision. It isn't set for other decision types.

    " }, "cancelTimerDecisionAttributes":{ "shape":"CancelTimerDecisionAttributes", - "documentation":"

    Provides details of the CancelTimer decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the CancelTimer decision. It isn't set for other decision types.

    " }, "signalExternalWorkflowExecutionDecisionAttributes":{ "shape":"SignalExternalWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the SignalExternalWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the SignalExternalWorkflowExecution decision. It isn't set for other decision types.

    " }, "requestCancelExternalWorkflowExecutionDecisionAttributes":{ "shape":"RequestCancelExternalWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the RequestCancelExternalWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the RequestCancelExternalWorkflowExecution decision. It isn't set for other decision types.

    " }, "startChildWorkflowExecutionDecisionAttributes":{ "shape":"StartChildWorkflowExecutionDecisionAttributes", - "documentation":"

    Provides details of the StartChildWorkflowExecution decision. It is not set for other decision types.

    " + "documentation":"

    Provides the details of the StartChildWorkflowExecution decision. It isn't set for other decision types.

    " }, - "scheduleLambdaFunctionDecisionAttributes":{"shape":"ScheduleLambdaFunctionDecisionAttributes"} + "scheduleLambdaFunctionDecisionAttributes":{ + "shape":"ScheduleLambdaFunctionDecisionAttributes", + "documentation":"

    Provides the details of the ScheduleLambdaFunction decision. It isn't set for other decision types.

    " + } }, - "documentation":"

    Specifies a decision made by the decider. A decision can be one of these types:

    • CancelTimer: cancels a previously started timer and records a TimerCanceled event in the history.
    • CancelWorkflowExecution: closes the workflow execution and records a WorkflowExecutionCanceled event in the history.
    • CompleteWorkflowExecution: closes the workflow execution and records a WorkflowExecutionCompleted event in the history .
    • ContinueAsNewWorkflowExecution: closes the workflow execution and starts a new workflow execution of the same type using the same workflow ID and a unique run ID. A WorkflowExecutionContinuedAsNew event is recorded in the history.
    • FailWorkflowExecution: closes the workflow execution and records a WorkflowExecutionFailed event in the history.
    • RecordMarker: records a MarkerRecorded event in the history. Markers can be used for adding custom information in the history for instance to let deciders know that they do not need to look at the history beyond the marker event.
    • RequestCancelActivityTask: attempts to cancel a previously scheduled activity task. If the activity task was scheduled but has not been assigned to a worker, then it will be canceled. If the activity task was already assigned to a worker, then the worker will be informed that cancellation has been requested in the response to RecordActivityTaskHeartbeat.
    • RequestCancelExternalWorkflowExecution: requests that a request be made to cancel the specified external workflow execution and records a RequestCancelExternalWorkflowExecutionInitiated event in the history.
    • ScheduleActivityTask: schedules an activity task.
    • ScheduleLambdaFunction: schedules a AWS Lambda function.
    • SignalExternalWorkflowExecution: requests a signal to be delivered to the specified external workflow execution and records a SignalExternalWorkflowExecutionInitiated event in the history.
    • StartChildWorkflowExecution: requests that a child workflow execution be started and records a StartChildWorkflowExecutionInitiated event in the history. The child workflow execution is a separate workflow execution with its own history.
    • StartTimer: starts a timer for this workflow execution and records a TimerStarted event in the history. This timer will fire after the specified delay and record a TimerFired event.

    Access Control

    If you grant permission to use RespondDecisionTaskCompleted, you can use IAM policies to express permissions for the list of decisions returned by this action as if they were members of the API. Treating decisions as a pseudo API maintains a uniform conceptual model and helps keep policies readable. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    Decision Failure

    Decisions can fail for several reasons

    • The ordering of decisions should follow a logical flow. Some decisions might not make sense in the current context of the workflow execution and will therefore fail.
    • A limit on your account was reached.
    • The decision lacks sufficient permissions.

    One of the following events might be added to the history to indicate an error. The event attribute's cause parameter indicates the cause. If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    • ScheduleActivityTaskFailed: a ScheduleActivityTask decision failed. This could happen if the activity type specified in the decision is not registered, is in a deprecated state, or the decision is not properly configured.
    • ScheduleLambdaFunctionFailed: a ScheduleLambdaFunctionFailed decision failed. This could happen if the AWS Lambda function specified in the decision does not exist, or the AWS Lambda service's limits are exceeded.
    • RequestCancelActivityTaskFailed: a RequestCancelActivityTask decision failed. This could happen if there is no open activity task with the specified activityId.
    • StartTimerFailed: a StartTimer decision failed. This could happen if there is another open timer with the same timerId.
    • CancelTimerFailed: a CancelTimer decision failed. This could happen if there is no open timer with the specified timerId.
    • StartChildWorkflowExecutionFailed: a StartChildWorkflowExecution decision failed. This could happen if the workflow type specified is not registered, is deprecated, or the decision is not properly configured.
    • SignalExternalWorkflowExecutionFailed: a SignalExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.
    • RequestCancelExternalWorkflowExecutionFailed: a RequestCancelExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.
    • CancelWorkflowExecutionFailed: a CancelWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.
    • CompleteWorkflowExecutionFailed: a CompleteWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.
    • ContinueAsNewWorkflowExecutionFailed: a ContinueAsNewWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution or the ContinueAsNewWorkflowExecution decision was not configured correctly.
    • FailWorkflowExecutionFailed: a FailWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

    The preceding error events might occur due to an error in the decider logic, which might put the workflow execution in an unstable state The cause field in the event structure for the error event indicates the cause of the error.

    A workflow execution may be closed by the decider by returning one of the following decisions when completing a decision task: CompleteWorkflowExecution, FailWorkflowExecution, CancelWorkflowExecution and ContinueAsNewWorkflowExecution. An UnhandledDecision fault will be returned if a workflow closing decision is specified and a signal or activity event had been added to the history while the decision task was being performed by the decider. Unlike the above situations which are logic issues, this fault is always possible because of race conditions in a distributed system. The right action here is to call RespondDecisionTaskCompleted without any decisions. This would result in another decision task with these new events included in the history. The decider should handle the new events and may decide to close the workflow execution.

    How to code a decision

    You code a decision by first setting the decision type field to one of the above decision values, and then set the corresponding attributes field shown below:

    " + "documentation":"

    Specifies a decision made by the decider. A decision can be one of these types:

    • CancelTimer – Cancels a previously started timer and records a TimerCanceled event in the history.

    • CancelWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionCanceled event in the history.

    • CompleteWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionCompleted event in the history .

    • ContinueAsNewWorkflowExecution – Closes the workflow execution and starts a new workflow execution of the same type using the same workflow ID and a unique run Id. A WorkflowExecutionContinuedAsNew event is recorded in the history.

    • FailWorkflowExecution – Closes the workflow execution and records a WorkflowExecutionFailed event in the history.

    • RecordMarker – Records a MarkerRecorded event in the history. Markers can be used for adding custom information in the history for instance to let deciders know that they don't need to look at the history beyond the marker event.

    • RequestCancelActivityTask – Attempts to cancel a previously scheduled activity task. If the activity task was scheduled but has not been assigned to a worker, then it is canceled. If the activity task was already assigned to a worker, then the worker is informed that cancellation has been requested in the response to RecordActivityTaskHeartbeat.

    • RequestCancelExternalWorkflowExecution – Requests that a request be made to cancel the specified external workflow execution and records a RequestCancelExternalWorkflowExecutionInitiated event in the history.

    • ScheduleActivityTask – Schedules an activity task.

    • SignalExternalWorkflowExecution – Requests a signal to be delivered to the specified external workflow execution and records a SignalExternalWorkflowExecutionInitiated event in the history.

    • StartChildWorkflowExecution – Requests that a child workflow execution be started and records a StartChildWorkflowExecutionInitiated event in the history. The child workflow execution is a separate workflow execution with its own history.

    • StartTimer – Starts a timer for this workflow execution and records a TimerStarted event in the history. This timer fires after the specified delay and record a TimerFired event.

    Access Control

    If you grant permission to use RespondDecisionTaskCompleted, you can use IAM policies to express permissions for the list of decisions returned by this action as if they were members of the API. Treating decisions as a pseudo API maintains a uniform conceptual model and helps keep policies readable. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    Decision Failure

    Decisions can fail for several reasons

    • The ordering of decisions should follow a logical flow. Some decisions might not make sense in the current context of the workflow execution and therefore fails.

    • A limit on your account was reached.

    • The decision lacks sufficient permissions.

    One of the following events might be added to the history to indicate an error. The event attribute's cause parameter indicates the cause. If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    • ScheduleActivityTaskFailed – A ScheduleActivityTask decision failed. This could happen if the activity type specified in the decision isn't registered, is in a deprecated state, or the decision isn't properly configured.

    • RequestCancelActivityTaskFailed – A RequestCancelActivityTask decision failed. This could happen if there is no open activity task with the specified activityId.

    • StartTimerFailed – A StartTimer decision failed. This could happen if there is another open timer with the same timerId.

    • CancelTimerFailed – A CancelTimer decision failed. This could happen if there is no open timer with the specified timerId.

    • StartChildWorkflowExecutionFailed – A StartChildWorkflowExecution decision failed. This could happen if the workflow type specified isn't registered, is deprecated, or the decision isn't properly configured.

    • SignalExternalWorkflowExecutionFailed – A SignalExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.

    • RequestCancelExternalWorkflowExecutionFailed – A RequestCancelExternalWorkflowExecution decision failed. This could happen if the workflowID specified in the decision was incorrect.

    • CancelWorkflowExecutionFailed – A CancelWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

    • CompleteWorkflowExecutionFailed – A CompleteWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

    • ContinueAsNewWorkflowExecutionFailed – A ContinueAsNewWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution or the ContinueAsNewWorkflowExecution decision was not configured correctly.

    • FailWorkflowExecutionFailed – A FailWorkflowExecution decision failed. This could happen if there is an unhandled decision task pending in the workflow execution.

    The preceding error events might occur due to an error in the decider logic, which might put the workflow execution in an unstable state The cause field in the event structure for the error event indicates the cause of the error.

    A workflow execution may be closed by the decider by returning one of the following decisions when completing a decision task: CompleteWorkflowExecution, FailWorkflowExecution, CancelWorkflowExecution and ContinueAsNewWorkflowExecution. An UnhandledDecision fault is returned if a workflow closing decision is specified and a signal or activity event had been added to the history while the decision task was being performed by the decider. Unlike the above situations which are logic issues, this fault is always possible because of race conditions in a distributed system. The right action here is to call RespondDecisionTaskCompleted without any decisions. This would result in another decision task with these new events included in the history. The decider should handle the new events and may decide to close the workflow execution.

    How to Code a Decision

    You code a decision by first setting the decision type field to one of the above decision values, and then set the corresponding attributes field shown below:

    " }, "DecisionList":{ "type":"list", @@ -1803,7 +1546,7 @@ "documentation":"

    The ID of the DecisionTaskStarted event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the DecisionTaskCompleted event.

    " + "documentation":"

    Provides the details of the DecisionTaskCompleted event.

    " }, "DecisionTaskScheduledEventAttributes":{ "type":"structure", @@ -1815,11 +1558,11 @@ }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. A task priority that, if set, specifies the priority for this decision task. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    A task priority that, if set, specifies the priority for this decision task. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "startToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration for this decision task. The task is considered timed out if it does not completed within this duration.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration for this decision task. The task is considered timed out if it doesn't completed within this duration.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " } }, "documentation":"

    Provides details about the DecisionTaskScheduled event.

    " @@ -1837,7 +1580,7 @@ "documentation":"

    The ID of the DecisionTaskScheduled event that was recorded when this decision task was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the DecisionTaskStarted event.

    " + "documentation":"

    Provides the details of the DecisionTaskStarted event.

    " }, "DecisionTaskTimedOutEventAttributes":{ "type":"structure", @@ -1860,7 +1603,7 @@ "documentation":"

    The ID of the DecisionTaskStarted event recorded when this decision task was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the DecisionTaskTimedOut event.

    " + "documentation":"

    Provides the details of the DecisionTaskTimedOut event.

    " }, "DecisionTaskTimeoutType":{ "type":"string", @@ -1889,6 +1632,7 @@ "members":{ "message":{"shape":"ErrorMessage"} }, + "documentation":"

    The StartWorkflowExecution API action was called without the required parameters set.

    Some workflow execution parameters, such as the decision taskList, must be set to start the execution. However, these parameters might have been set as defaults when the workflow type was registered. In this case, you can omit these parameters from the StartWorkflowExecution call and Amazon SWF uses the values defined in the workflow type.

    If these parameters aren't set and no default parameters were defined in the workflow type, this error is displayed.

    ", "exception":true }, "DeprecateActivityTypeInput":{ @@ -2008,8 +1752,8 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned if the specified domain already exists. You will get this fault even if the existing domain is in deprecated status.

    " + "documentation":"

    Returned if the domain already exists. You may get this fault if you are registering a domain that is either already registered or deprecated, or if you undeprecate a domain that is currently registered.

    ", + "exception":true }, "DomainConfiguration":{ "type":"structure", @@ -2030,8 +1774,8 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned when the specified domain has been deprecated.

    " + "documentation":"

    Returned when the specified domain has been deprecated.

    ", + "exception":true }, "DomainDetail":{ "type":"structure", @@ -2040,8 +1784,14 @@ "configuration" ], "members":{ - "domainInfo":{"shape":"DomainInfo"}, - "configuration":{"shape":"DomainConfiguration"} + "domainInfo":{ + "shape":"DomainInfo", + "documentation":"

    The basic information about a domain, such as its name, status, and description.

    " + }, + "configuration":{ + "shape":"DomainConfiguration", + "documentation":"

    The domain configuration. Currently, this includes only the domain's retention period.

    " + } }, "documentation":"

    Contains details of a domain.

    " }, @@ -2058,11 +1808,15 @@ }, "status":{ "shape":"RegistrationStatus", - "documentation":"

    The status of the domain:

    • REGISTERED: The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions.
    • DEPRECATED: The domain was deprecated using DeprecateDomain, but is still in use. You should not create new workflow executions in this domain.
    " + "documentation":"

    The status of the domain:

    • REGISTERED – The domain is properly registered and available. You can use this domain for registering types and creating new workflow executions.

    • DEPRECATED – The domain was deprecated using DeprecateDomain, but is still in use. You should not create new workflow executions in this domain.

    " }, "description":{ "shape":"Description", "documentation":"

    The description of the domain provided through RegisterDomain.

    " + }, + "arn":{ + "shape":"Arn", + "documentation":"

    The ARN of the domain.

    " } }, "documentation":"

    Contains general information about a domain.

    " @@ -2088,18 +1842,18 @@ }, "DomainName":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "DurationInDays":{ "type":"string", - "min":1, - "max":8 + "max":8, + "min":1 }, "DurationInSeconds":{ "type":"string", - "min":1, - "max":8 + "max":8, + "min":1 }, "DurationInSecondsOptional":{ "type":"string", @@ -2186,7 +1940,7 @@ "documentation":"

    Specifies the latest start or close date and time to return.

    " } }, - "documentation":"

    Used to filter the workflow executions in visibility APIs by various time-based rules. Each parameter, if specified, defines a rule that must be satisfied by each returned query result. The parameter values are in the Unix Time format. For example: \"oldestDate\": 1325376070.

    " + "documentation":"

    Used to filter the workflow executions in visibility APIs by various time-based rules. Each parameter, if specified, defines a rule that must be satisfied by each returned query result. The parameter values are in the Unix Time format. For example: \"oldestDate\": 1325376070.

    " }, "ExternalWorkflowExecutionCancelRequestedEventAttributes":{ "type":"structure", @@ -2204,7 +1958,7 @@ "documentation":"

    The ID of the RequestCancelExternalWorkflowExecutionInitiated event corresponding to the RequestCancelExternalWorkflowExecution decision to cancel this external workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ExternalWorkflowExecutionCancelRequested event.

    " + "documentation":"

    Provides the details of the ExternalWorkflowExecutionCancelRequested event.

    " }, "ExternalWorkflowExecutionSignaledEventAttributes":{ "type":"structure", @@ -2215,14 +1969,14 @@ "members":{ "workflowExecution":{ "shape":"WorkflowExecution", - "documentation":"

    The external workflow execution that the signal was delivered to.

    " + "documentation":"

    The external workflow execution that the signal was delivered to.

    " }, "initiatedEventId":{ "shape":"EventId", "documentation":"

    The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the SignalExternalWorkflowExecution decision to request this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ExternalWorkflowExecutionSignaled event.

    " + "documentation":"

    Provides the details of the ExternalWorkflowExecutionSignaled event.

    " }, "FailWorkflowExecutionDecisionAttributes":{ "type":"structure", @@ -2233,10 +1987,10 @@ }, "details":{ "shape":"Data", - "documentation":"

    Optional. Details of the failure.

    " + "documentation":"

    Details of the failure.

    " } }, - "documentation":"

    Provides details of the FailWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the FailWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "FailWorkflowExecutionFailedCause":{ "type":"string", @@ -2254,14 +2008,14 @@ "members":{ "cause":{ "shape":"FailWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the FailWorkflowExecution decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the FailWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the FailWorkflowExecutionFailed event.

    " }, "FailureReason":{ "type":"string", @@ -2269,18 +2023,18 @@ }, "FunctionId":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "FunctionInput":{ "type":"string", - "min":1, - "max":32768 + "max":32768, + "min":0 }, "FunctionName":{ "type":"string", - "min":1, - "max":64 + "max":64, + "min":1 }, "GetWorkflowExecutionHistoryInput":{ "type":"structure", @@ -2299,11 +2053,11 @@ }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2348,201 +2102,222 @@ }, "workflowExecutionStartedEventAttributes":{ "shape":"WorkflowExecutionStartedEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionStarted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionCompletedEventAttributes":{ "shape":"WorkflowExecutionCompletedEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionCompleted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "completeWorkflowExecutionFailedEventAttributes":{ "shape":"CompleteWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type CompleteWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type CompleteWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionFailedEventAttributes":{ "shape":"WorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "failWorkflowExecutionFailedEventAttributes":{ "shape":"FailWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type FailWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type FailWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionTimedOutEventAttributes":{ "shape":"WorkflowExecutionTimedOutEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionCanceledEventAttributes":{ "shape":"WorkflowExecutionCanceledEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionCanceled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "cancelWorkflowExecutionFailedEventAttributes":{ "shape":"CancelWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type CancelWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type CancelWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionContinuedAsNewEventAttributes":{ "shape":"WorkflowExecutionContinuedAsNewEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionContinuedAsNew then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionContinuedAsNew then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "continueAsNewWorkflowExecutionFailedEventAttributes":{ "shape":"ContinueAsNewWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ContinueAsNewWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionTerminatedEventAttributes":{ "shape":"WorkflowExecutionTerminatedEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionTerminated then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionTerminated then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionCancelRequestedEventAttributes":{ "shape":"WorkflowExecutionCancelRequestedEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "decisionTaskScheduledEventAttributes":{ "shape":"DecisionTaskScheduledEventAttributes", - "documentation":"

    If the event is of type DecisionTaskScheduled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type DecisionTaskScheduled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "decisionTaskStartedEventAttributes":{ "shape":"DecisionTaskStartedEventAttributes", - "documentation":"

    If the event is of type DecisionTaskStarted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type DecisionTaskStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "decisionTaskCompletedEventAttributes":{ "shape":"DecisionTaskCompletedEventAttributes", - "documentation":"

    If the event is of type DecisionTaskCompleted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type DecisionTaskCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "decisionTaskTimedOutEventAttributes":{ "shape":"DecisionTaskTimedOutEventAttributes", - "documentation":"

    If the event is of type DecisionTaskTimedOut then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type DecisionTaskTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskScheduledEventAttributes":{ "shape":"ActivityTaskScheduledEventAttributes", - "documentation":"

    If the event is of type ActivityTaskScheduled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskScheduled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskStartedEventAttributes":{ "shape":"ActivityTaskStartedEventAttributes", - "documentation":"

    If the event is of type ActivityTaskStarted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskCompletedEventAttributes":{ "shape":"ActivityTaskCompletedEventAttributes", - "documentation":"

    If the event is of type ActivityTaskCompleted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskFailedEventAttributes":{ "shape":"ActivityTaskFailedEventAttributes", - "documentation":"

    If the event is of type ActivityTaskFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskTimedOutEventAttributes":{ "shape":"ActivityTaskTimedOutEventAttributes", - "documentation":"

    If the event is of type ActivityTaskTimedOut then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskCanceledEventAttributes":{ "shape":"ActivityTaskCanceledEventAttributes", - "documentation":"

    If the event is of type ActivityTaskCanceled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "activityTaskCancelRequestedEventAttributes":{ "shape":"ActivityTaskCancelRequestedEventAttributes", - "documentation":"

    If the event is of type ActivityTaskcancelRequested then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ActivityTaskcancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "workflowExecutionSignaledEventAttributes":{ "shape":"WorkflowExecutionSignaledEventAttributes", - "documentation":"

    If the event is of type WorkflowExecutionSignaled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type WorkflowExecutionSignaled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "markerRecordedEventAttributes":{ "shape":"MarkerRecordedEventAttributes", - "documentation":"

    If the event is of type MarkerRecorded then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type MarkerRecorded then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "recordMarkerFailedEventAttributes":{ "shape":"RecordMarkerFailedEventAttributes", - "documentation":"

    If the event is of type DecisionTaskFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type DecisionTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "timerStartedEventAttributes":{ "shape":"TimerStartedEventAttributes", - "documentation":"

    If the event is of type TimerStarted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type TimerStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "timerFiredEventAttributes":{ "shape":"TimerFiredEventAttributes", - "documentation":"

    If the event is of type TimerFired then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type TimerFired then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "timerCanceledEventAttributes":{ "shape":"TimerCanceledEventAttributes", - "documentation":"

    If the event is of type TimerCanceled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type TimerCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "startChildWorkflowExecutionInitiatedEventAttributes":{ "shape":"StartChildWorkflowExecutionInitiatedEventAttributes", - "documentation":"

    If the event is of type StartChildWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type StartChildWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionStartedEventAttributes":{ "shape":"ChildWorkflowExecutionStartedEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionStarted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionStarted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionCompletedEventAttributes":{ "shape":"ChildWorkflowExecutionCompletedEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionCompleted then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionCompleted then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionFailedEventAttributes":{ "shape":"ChildWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionTimedOutEventAttributes":{ "shape":"ChildWorkflowExecutionTimedOutEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionTimedOut then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionCanceledEventAttributes":{ "shape":"ChildWorkflowExecutionCanceledEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionCanceled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionCanceled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "childWorkflowExecutionTerminatedEventAttributes":{ "shape":"ChildWorkflowExecutionTerminatedEventAttributes", - "documentation":"

    If the event is of type ChildWorkflowExecutionTerminated then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ChildWorkflowExecutionTerminated then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "signalExternalWorkflowExecutionInitiatedEventAttributes":{ "shape":"SignalExternalWorkflowExecutionInitiatedEventAttributes", - "documentation":"

    If the event is of type SignalExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type SignalExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "externalWorkflowExecutionSignaledEventAttributes":{ "shape":"ExternalWorkflowExecutionSignaledEventAttributes", - "documentation":"

    If the event is of type ExternalWorkflowExecutionSignaled then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ExternalWorkflowExecutionSignaled then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "signalExternalWorkflowExecutionFailedEventAttributes":{ "shape":"SignalExternalWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type SignalExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type SignalExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "externalWorkflowExecutionCancelRequestedEventAttributes":{ "shape":"ExternalWorkflowExecutionCancelRequestedEventAttributes", - "documentation":"

    If the event is of type ExternalWorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ExternalWorkflowExecutionCancelRequested then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "requestCancelExternalWorkflowExecutionInitiatedEventAttributes":{ "shape":"RequestCancelExternalWorkflowExecutionInitiatedEventAttributes", - "documentation":"

    If the event is of type RequestCancelExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type RequestCancelExternalWorkflowExecutionInitiated then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "requestCancelExternalWorkflowExecutionFailedEventAttributes":{ "shape":"RequestCancelExternalWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type RequestCancelExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type RequestCancelExternalWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "scheduleActivityTaskFailedEventAttributes":{ "shape":"ScheduleActivityTaskFailedEventAttributes", - "documentation":"

    If the event is of type ScheduleActivityTaskFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type ScheduleActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "requestCancelActivityTaskFailedEventAttributes":{ "shape":"RequestCancelActivityTaskFailedEventAttributes", - "documentation":"

    If the event is of type RequestCancelActivityTaskFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type RequestCancelActivityTaskFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "startTimerFailedEventAttributes":{ "shape":"StartTimerFailedEventAttributes", - "documentation":"

    If the event is of type StartTimerFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type StartTimerFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "cancelTimerFailedEventAttributes":{ "shape":"CancelTimerFailedEventAttributes", - "documentation":"

    If the event is of type CancelTimerFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type CancelTimerFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " }, "startChildWorkflowExecutionFailedEventAttributes":{ "shape":"StartChildWorkflowExecutionFailedEventAttributes", - "documentation":"

    If the event is of type StartChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It is not set for other event types.

    " + "documentation":"

    If the event is of type StartChildWorkflowExecutionFailed then this member is set and provides detailed information about the event. It isn't set for other event types.

    " + }, + "lambdaFunctionScheduledEventAttributes":{ + "shape":"LambdaFunctionScheduledEventAttributes", + "documentation":"

    Provides the details of the LambdaFunctionScheduled event. It isn't set for other event types.

    " }, - "lambdaFunctionScheduledEventAttributes":{"shape":"LambdaFunctionScheduledEventAttributes"}, - "lambdaFunctionStartedEventAttributes":{"shape":"LambdaFunctionStartedEventAttributes"}, - "lambdaFunctionCompletedEventAttributes":{"shape":"LambdaFunctionCompletedEventAttributes"}, - "lambdaFunctionFailedEventAttributes":{"shape":"LambdaFunctionFailedEventAttributes"}, - "lambdaFunctionTimedOutEventAttributes":{"shape":"LambdaFunctionTimedOutEventAttributes"}, - "scheduleLambdaFunctionFailedEventAttributes":{"shape":"ScheduleLambdaFunctionFailedEventAttributes"}, - "startLambdaFunctionFailedEventAttributes":{"shape":"StartLambdaFunctionFailedEventAttributes"} + "lambdaFunctionStartedEventAttributes":{ + "shape":"LambdaFunctionStartedEventAttributes", + "documentation":"

    Provides the details of the LambdaFunctionStarted event. It isn't set for other event types.

    " + }, + "lambdaFunctionCompletedEventAttributes":{ + "shape":"LambdaFunctionCompletedEventAttributes", + "documentation":"

    Provides the details of the LambdaFunctionCompleted event. It isn't set for other event types.

    " + }, + "lambdaFunctionFailedEventAttributes":{ + "shape":"LambdaFunctionFailedEventAttributes", + "documentation":"

    Provides the details of the LambdaFunctionFailed event. It isn't set for other event types.

    " + }, + "lambdaFunctionTimedOutEventAttributes":{ + "shape":"LambdaFunctionTimedOutEventAttributes", + "documentation":"

    Provides the details of the LambdaFunctionTimedOut event. It isn't set for other event types.

    " + }, + "scheduleLambdaFunctionFailedEventAttributes":{ + "shape":"ScheduleLambdaFunctionFailedEventAttributes", + "documentation":"

    Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for other event types.

    " + }, + "startLambdaFunctionFailedEventAttributes":{ + "shape":"StartLambdaFunctionFailedEventAttributes", + "documentation":"

    Provides the details of the StartLambdaFunctionFailed event. It isn't set for other event types.

    " + } }, - "documentation":"

    Event within a workflow execution. A history event can be one of these types:

    • WorkflowExecutionStarted: The workflow execution was started.
    • WorkflowExecutionCompleted: The workflow execution was closed due to successful completion.
    • WorkflowExecutionFailed: The workflow execution closed due to a failure.
    • WorkflowExecutionTimedOut: The workflow execution was closed because a time out was exceeded.
    • WorkflowExecutionCanceled: The workflow execution was successfully canceled and closed.
    • WorkflowExecutionTerminated: The workflow execution was terminated.
    • WorkflowExecutionContinuedAsNew: The workflow execution was closed and a new execution of the same type was created with the same workflowId.
    • WorkflowExecutionCancelRequested: A request to cancel this workflow execution was made.
    • DecisionTaskScheduled: A decision task was scheduled for the workflow execution.
    • DecisionTaskStarted: The decision task was dispatched to a decider.
    • DecisionTaskCompleted: The decider successfully completed a decision task by calling RespondDecisionTaskCompleted.
    • DecisionTaskTimedOut: The decision task timed out.
    • ActivityTaskScheduled: An activity task was scheduled for execution.
    • ScheduleActivityTaskFailed: Failed to process ScheduleActivityTask decision. This happens when the decision is not configured properly, for example the activity type specified is not registered.
    • ActivityTaskStarted: The scheduled activity task was dispatched to a worker.
    • ActivityTaskCompleted: An activity worker successfully completed an activity task by calling RespondActivityTaskCompleted.
    • ActivityTaskFailed: An activity worker failed an activity task by calling RespondActivityTaskFailed.
    • ActivityTaskTimedOut: The activity task timed out.
    • ActivityTaskCanceled: The activity task was successfully canceled.
    • ActivityTaskCancelRequested: A RequestCancelActivityTask decision was received by the system.
    • RequestCancelActivityTaskFailed: Failed to process RequestCancelActivityTask decision. This happens when the decision is not configured properly.
    • WorkflowExecutionSignaled: An external signal was received for the workflow execution.
    • MarkerRecorded: A marker was recorded in the workflow history as the result of a RecordMarker decision.
    • TimerStarted: A timer was started for the workflow execution due to a StartTimer decision.
    • StartTimerFailed: Failed to process StartTimer decision. This happens when the decision is not configured properly, for example a timer already exists with the specified timer ID.
    • TimerFired: A timer, previously started for this workflow execution, fired.
    • TimerCanceled: A timer, previously started for this workflow execution, was successfully canceled.
    • CancelTimerFailed: Failed to process CancelTimer decision. This happens when the decision is not configured properly, for example no timer exists with the specified timer ID.
    • StartChildWorkflowExecutionInitiated: A request was made to start a child workflow execution.
    • StartChildWorkflowExecutionFailed: Failed to process StartChildWorkflowExecution decision. This happens when the decision is not configured properly, for example the workflow type specified is not registered.
    • ChildWorkflowExecutionStarted: A child workflow execution was successfully started.
    • ChildWorkflowExecutionCompleted: A child workflow execution, started by this workflow execution, completed successfully and was closed.
    • ChildWorkflowExecutionFailed: A child workflow execution, started by this workflow execution, failed to complete successfully and was closed.
    • ChildWorkflowExecutionTimedOut: A child workflow execution, started by this workflow execution, timed out and was closed.
    • ChildWorkflowExecutionCanceled: A child workflow execution, started by this workflow execution, was canceled and closed.
    • ChildWorkflowExecutionTerminated: A child workflow execution, started by this workflow execution, was terminated.
    • SignalExternalWorkflowExecutionInitiated: A request to signal an external workflow was made.
    • ExternalWorkflowExecutionSignaled: A signal, requested by this workflow execution, was successfully delivered to the target external workflow execution.
    • SignalExternalWorkflowExecutionFailed: The request to signal an external workflow execution failed.
    • RequestCancelExternalWorkflowExecutionInitiated: A request was made to request the cancellation of an external workflow execution.
    • ExternalWorkflowExecutionCancelRequested: Request to cancel an external workflow execution was successfully delivered to the target execution.
    • RequestCancelExternalWorkflowExecutionFailed: Request to cancel an external workflow execution failed.
    • LambdaFunctionScheduled: An AWS Lambda function was scheduled for execution.
    • LambdaFunctionStarted: The scheduled function was invoked in the AWS Lambda service.
    • LambdaFunctionCompleted: The AWS Lambda function successfully completed.
    • LambdaFunctionFailed: The AWS Lambda function execution failed.
    • LambdaFunctionTimedOut: The AWS Lambda function execution timed out.
    • ScheduleLambdaFunctionFailed: Failed to process ScheduleLambdaFunction decision. This happens when the workflow execution does not have the proper IAM role attached to invoke AWS Lambda functions.
    • StartLambdaFunctionFailed: Failed to invoke the scheduled function in the AWS Lambda service. This happens when the AWS Lambda service is not available in the current region, or received too many requests.
    " + "documentation":"

    Event within a workflow execution. A history event can be one of these types:

    • ActivityTaskCancelRequested – A RequestCancelActivityTask decision was received by the system.

    • ActivityTaskCanceled – The activity task was successfully canceled.

    • ActivityTaskCompleted – An activity worker successfully completed an activity task by calling RespondActivityTaskCompleted.

    • ActivityTaskFailed – An activity worker failed an activity task by calling RespondActivityTaskFailed.

    • ActivityTaskScheduled – An activity task was scheduled for execution.

    • ActivityTaskStarted – The scheduled activity task was dispatched to a worker.

    • ActivityTaskTimedOut – The activity task timed out.

    • CancelTimerFailed – Failed to process CancelTimer decision. This happens when the decision isn't configured properly, for example no timer exists with the specified timer Id.

    • CancelWorkflowExecutionFailed – A request to cancel a workflow execution failed.

    • ChildWorkflowExecutionCanceled – A child workflow execution, started by this workflow execution, was canceled and closed.

    • ChildWorkflowExecutionCompleted – A child workflow execution, started by this workflow execution, completed successfully and was closed.

    • ChildWorkflowExecutionFailed – A child workflow execution, started by this workflow execution, failed to complete successfully and was closed.

    • ChildWorkflowExecutionStarted – A child workflow execution was successfully started.

    • ChildWorkflowExecutionTerminated – A child workflow execution, started by this workflow execution, was terminated.

    • ChildWorkflowExecutionTimedOut – A child workflow execution, started by this workflow execution, timed out and was closed.

    • CompleteWorkflowExecutionFailed – The workflow execution failed to complete.

    • ContinueAsNewWorkflowExecutionFailed – The workflow execution failed to complete after being continued as a new workflow execution.

    • DecisionTaskCompleted – The decider successfully completed a decision task by calling RespondDecisionTaskCompleted.

    • DecisionTaskScheduled – A decision task was scheduled for the workflow execution.

    • DecisionTaskStarted – The decision task was dispatched to a decider.

    • DecisionTaskTimedOut – The decision task timed out.

    • ExternalWorkflowExecutionCancelRequested – Request to cancel an external workflow execution was successfully delivered to the target execution.

    • ExternalWorkflowExecutionSignaled – A signal, requested by this workflow execution, was successfully delivered to the target external workflow execution.

    • FailWorkflowExecutionFailed – A request to mark a workflow execution as failed, itself failed.

    • MarkerRecorded – A marker was recorded in the workflow history as the result of a RecordMarker decision.

    • RecordMarkerFailed – A RecordMarker decision was returned as failed.

    • RequestCancelActivityTaskFailed – Failed to process RequestCancelActivityTask decision. This happens when the decision isn't configured properly.

    • RequestCancelExternalWorkflowExecutionFailed – Request to cancel an external workflow execution failed.

    • RequestCancelExternalWorkflowExecutionInitiated – A request was made to request the cancellation of an external workflow execution.

    • ScheduleActivityTaskFailed – Failed to process ScheduleActivityTask decision. This happens when the decision isn't configured properly, for example the activity type specified isn't registered.

    • SignalExternalWorkflowExecutionFailed – The request to signal an external workflow execution failed.

    • SignalExternalWorkflowExecutionInitiated – A request to signal an external workflow was made.

    • StartActivityTaskFailed – A scheduled activity task failed to start.

    • StartChildWorkflowExecutionFailed – Failed to process StartChildWorkflowExecution decision. This happens when the decision isn't configured properly, for example the workflow type specified isn't registered.

    • StartChildWorkflowExecutionInitiated – A request was made to start a child workflow execution.

    • StartTimerFailed – Failed to process StartTimer decision. This happens when the decision isn't configured properly, for example a timer already exists with the specified timer Id.

    • TimerCanceled – A timer, previously started for this workflow execution, was successfully canceled.

    • TimerFired – A timer, previously started for this workflow execution, fired.

    • TimerStarted – A timer was started for the workflow execution due to a StartTimer decision.

    • WorkflowExecutionCancelRequested – A request to cancel this workflow execution was made.

    • WorkflowExecutionCanceled – The workflow execution was successfully canceled and closed.

    • WorkflowExecutionCompleted – The workflow execution was closed due to successful completion.

    • WorkflowExecutionContinuedAsNew – The workflow execution was closed and a new execution of the same type was created with the same workflowId.

    • WorkflowExecutionFailed – The workflow execution closed due to a failure.

    • WorkflowExecutionSignaled – An external signal was received for the workflow execution.

    • WorkflowExecutionStarted – The workflow execution was started.

    • WorkflowExecutionTerminated – The workflow execution was terminated.

    • WorkflowExecutionTimedOut – The workflow execution was closed because a time out was exceeded.

    " }, "HistoryEventList":{ "type":"list", @@ -2561,18 +2336,18 @@ "members":{ "scheduledEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this AWS Lambda function was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this Lambda task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionStarted event recorded in the history.

    " + "documentation":"

    The ID of the LambdaFunctionStarted event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "result":{ "shape":"Data", - "documentation":"

    The result of the function execution (if any).

    " + "documentation":"

    The results of the Lambda task.

    " } }, - "documentation":"

    Provides details for the LambdaFunctionCompleted event.

    " + "documentation":"

    Provides the details of the LambdaFunctionCompleted event. It isn't set for other event types.

    " }, "LambdaFunctionFailedEventAttributes":{ "type":"structure", @@ -2583,22 +2358,22 @@ "members":{ "scheduledEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this AWS Lambda function was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionStarted event recorded in the history.

    " + "documentation":"

    The ID of the LambdaFunctionStarted event recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "reason":{ "shape":"FailureReason", - "documentation":"

    The reason provided for the failure (if any).

    " + "documentation":"

    The reason provided for the failure.

    " }, "details":{ "shape":"Data", - "documentation":"

    The details of the failure (if any).

    " + "documentation":"

    The details of the failure.

    " } }, - "documentation":"

    Provides details for the LambdaFunctionFailed event.

    " + "documentation":"

    Provides the details of the LambdaFunctionFailed event. It isn't set for other event types.

    " }, "LambdaFunctionScheduledEventAttributes":{ "type":"structure", @@ -2610,26 +2385,30 @@ "members":{ "id":{ "shape":"FunctionId", - "documentation":"

    The unique Amazon SWF ID for the AWS Lambda task.

    " + "documentation":"

    The unique ID of the Lambda task.

    " }, "name":{ "shape":"FunctionName", - "documentation":"

    The name of the scheduled AWS Lambda function.

    " + "documentation":"

    The name of the Lambda function.

    " + }, + "control":{ + "shape":"Data", + "documentation":"

    Data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.

    " }, "input":{ "shape":"FunctionInput", - "documentation":"

    Input provided to the AWS Lambda function.

    " + "documentation":"

    The input provided to the Lambda task.

    " }, "startToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum time, in seconds, that the AWS Lambda function can take to execute from start to close before it is marked as failed.

    " + "documentation":"

    The maximum amount of time a worker can take to process the Lambda task.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the DecisionTaskCompleted event for the decision that resulted in the scheduling of this AWS Lambda function. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionCompleted event corresponding to the decision that resulted in scheduling this activity task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details for the LambdaFunctionScheduled event.

    " + "documentation":"

    Provides the details of the LambdaFunctionScheduled event. It isn't set for other event types.

    " }, "LambdaFunctionStartedEventAttributes":{ "type":"structure", @@ -2637,10 +2416,10 @@ "members":{ "scheduledEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this AWS Lambda function was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details for the LambdaFunctionStarted event.

    " + "documentation":"

    Provides the details of the LambdaFunctionStarted event. It isn't set for other event types.

    " }, "LambdaFunctionTimedOutEventAttributes":{ "type":"structure", @@ -2651,18 +2430,18 @@ "members":{ "scheduledEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this AWS Lambda function was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "startedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionStarted event recorded in the history.

    " + "documentation":"

    The ID of the ActivityTaskStarted event that was recorded when this activity task started. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "timeoutType":{ "shape":"LambdaFunctionTimeoutType", "documentation":"

    The type of the timeout that caused this event.

    " } }, - "documentation":"

    Provides details for the LambdaFunctionTimedOut event.

    " + "documentation":"

    Provides details of the LambdaFunctionTimedOut event.

    " }, "LambdaFunctionTimeoutType":{ "type":"string", @@ -2676,8 +2455,8 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    " + "documentation":"

    Returned by any operation if a system imposed limitation has been reached. To address this fault you should either clean up unused resources or increase the limit by contacting AWS.

    ", + "exception":true }, "LimitedData":{ "type":"string", @@ -2704,11 +2483,11 @@ }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2726,35 +2505,35 @@ }, "startTimeFilter":{ "shape":"ExecutionTimeFilter", - "documentation":"

    If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both." + "documentation":"

    If specified, the workflow executions are included in the returned results based on whether their start times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their start times.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

    " }, "closeTimeFilter":{ "shape":"ExecutionTimeFilter", - "documentation":"

    If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both." + "documentation":"

    If specified, the workflow executions are included in the returned results based on whether their close times are within the range specified by this filter. Also, if this parameter is specified, the returned results are ordered by their close times.

    startTimeFilter and closeTimeFilter are mutually exclusive. You must specify one of these in a request but not both.

    " }, "executionFilter":{ "shape":"WorkflowExecutionFilter", - "documentation":"

    If specified, only workflow executions matching the workflow ID specified in the filter are returned.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions matching the workflow ID specified in the filter are returned.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "closeStatusFilter":{ "shape":"CloseStatusFilter", - "documentation":"

    If specified, only workflow executions that match this close status are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions that match this close status are listed. For example, if TERMINATED is specified, then only TERMINATED workflow executions are listed.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "typeFilter":{ "shape":"WorkflowTypeFilter", - "documentation":"

    If specified, only executions of the type specified in the filter are returned.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions of the type specified in the filter are returned.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "tagFilter":{ "shape":"TagFilter", - "documentation":"

    If specified, only executions that have the matching tag are listed.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions that have the matching tag are listed.

    closeStatusFilter, executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2768,7 +2547,7 @@ "members":{ "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "registrationStatus":{ "shape":"RegistrationStatus", @@ -2776,7 +2555,7 @@ }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2801,19 +2580,19 @@ }, "typeFilter":{ "shape":"WorkflowTypeFilter", - "documentation":"

    If specified, only executions of the type specified in the filter are returned.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions of the type specified in the filter are returned.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "tagFilter":{ "shape":"TagFilter", - "documentation":"

    If specified, only executions that have the matching tag are listed.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only executions that have the matching tag are listed.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2821,7 +2600,26 @@ }, "executionFilter":{ "shape":"WorkflowExecutionFilter", - "documentation":"

    If specified, only workflow executions matching the workflow ID specified in the filter are returned.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request." + "documentation":"

    If specified, only workflow executions matching the workflow ID specified in the filter are returned.

    executionFilter, typeFilter and tagFilter are mutually exclusive. You can specify at most one of these in a request.

    " + } + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Amazon SWF domain.

    " + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"ResourceTagList", + "documentation":"

    An array of tags associated with the domain.

    " } } }, @@ -2846,11 +2644,11 @@ }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    " + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2860,8 +2658,8 @@ }, "MarkerName":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "MarkerRecordedEventAttributes":{ "type":"structure", @@ -2876,24 +2674,24 @@ }, "details":{ "shape":"Data", - "documentation":"

    Details of the marker (if any).

    " + "documentation":"

    The details of the marker.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RecordMarker decision that requested this marker. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the MarkerRecorded event.

    " + "documentation":"

    Provides the details of the MarkerRecorded event.

    " }, "Name":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "OpenDecisionTasksCount":{ "type":"integer", - "min":0, - "max":1 + "max":1, + "min":0 }, "OperationNotPermittedFault":{ "type":"structure", @@ -2903,13 +2701,13 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned when the caller does not have sufficient permissions to invoke the action.

    " + "documentation":"

    Returned when the caller doesn't have sufficient permissions to invoke the action.

    ", + "exception":true }, "PageSize":{ "type":"integer", - "min":0, - "max":1000 + "max":1000, + "min":0 }, "PageToken":{ "type":"string", @@ -2943,7 +2741,7 @@ }, "taskList":{ "shape":"TaskList", - "documentation":"

    Specifies the task list to poll for activity tasks.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    Specifies the task list to poll for activity tasks.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "identity":{ "shape":"Identity", @@ -2964,7 +2762,7 @@ }, "taskList":{ "shape":"TaskList", - "documentation":"

    Specifies the task list to poll for decision tasks.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    Specifies the task list to poll for decision tasks.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "identity":{ "shape":"Identity", @@ -2972,11 +2770,11 @@ }, "nextPageToken":{ "shape":"PageToken", - "documentation":"

    If a NextPageToken was returned by a previous call, there are more results available. To retrieve the next page of results, make the call again using the returned token in nextPageToken. Keep all other arguments unchanged.

    The configured maximumPageSize determines how many results can be returned in a single call.

    The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory to get the next page. You must call PollForDecisionTask again (with the nextPageToken) to retrieve the next page of history records. Calling PollForDecisionTask with a nextPageToken will not return a new decision task.." + "documentation":"

    If NextPageToken is returned there are more results available. The value of NextPageToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 60 seconds. Using an expired pagination token will return a 400 error: \"Specified token has exceeded its maximum lifetime\".

    The configured maximumPageSize determines how many results can be returned in a single call.

    The nextPageToken returned by this action cannot be used with GetWorkflowExecutionHistory to get the next page. You must call PollForDecisionTask again (with the nextPageToken) to retrieve the next page of history records. Calling PollForDecisionTask with a nextPageToken doesn't return a new decision task.

    " }, "maximumPageSize":{ "shape":"PageSize", - "documentation":"

    The maximum number of results that will be returned per call. nextPageToken can be used to obtain futher pages of results. The default is 1000, which is the maximum allowed page size. You can, however, specify a page size smaller than the maximum.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " + "documentation":"

    The maximum number of results that are returned per call. Use nextPageToken to obtain further pages of results.

    This is an upper limit only; the actual number of results returned per call may be fewer than the specified maximum.

    " }, "reverseOrder":{ "shape":"ReverseOrder", @@ -2990,7 +2788,7 @@ "members":{ "taskToken":{ "shape":"TaskToken", - "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results. " + "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    " }, "details":{ "shape":"LimitedData", @@ -3004,14 +2802,14 @@ "members":{ "markerName":{ "shape":"MarkerName", - "documentation":"

    Required. The name of the marker.

    " + "documentation":"

    The name of the marker.

    " }, "details":{ "shape":"Data", - "documentation":"

    Optional. details of the marker.

    " + "documentation":"

    The details of the marker.

    " } }, - "documentation":"

    Provides details of the RecordMarker decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the RecordMarker decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RecordMarkerFailedCause":{ "type":"string", @@ -3031,14 +2829,14 @@ }, "cause":{ "shape":"RecordMarkerFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RecordMarkerFailed decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the RecordMarkerFailed event.

    " + "documentation":"

    Provides the details of the RecordMarkerFailed event.

    " }, "RegisterActivityTypeInput":{ "type":"structure", @@ -3054,11 +2852,11 @@ }, "name":{ "shape":"Name", - "documentation":"

    The name of the activity type within the domain.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The name of the activity type within the domain.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "version":{ "shape":"Version", - "documentation":"

    The version of the activity type.

    The activity type consists of the name and version, the combination of which must be unique within the domain.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The version of the activity type.

    The activity type consists of the name and version, the combination of which must be unique within the domain.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "description":{ "shape":"Description", @@ -3066,27 +2864,27 @@ }, "defaultTaskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the default maximum duration that a worker can take to process tasks of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskHeartbeatTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the ScheduleActivityTask decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the default maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision. If the activity worker subsequently attempts to record a heartbeat or returns a result, the activity worker receives an UnknownResource fault. In this case, Amazon SWF no longer considers the activity task to be valid; the activity worker should clean up the activity task.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskList":{ "shape":"TaskList", - "documentation":"

    If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list is not provided when a task is scheduled through the ScheduleActivityTask decision.

    " + "documentation":"

    If set, specifies the default task list to use for scheduling tasks of this activity type. This default task list is used if a task list isn't provided when a task is scheduled through the ScheduleActivityTask Decision.

    " }, "defaultTaskPriority":{ "shape":"TaskPriority", - "documentation":"

    The default task priority to assign to the activity type. If not assigned, then \"0\" will be used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The default task priority to assign to the activity type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the in the Amazon SWF Developer Guide..

    " }, "defaultTaskScheduleToStartTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the default maximum duration that a task of this activity type can wait before being assigned to a worker. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskScheduleToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the default maximum duration for a task of this activity type. This default can be overridden when scheduling an activity task using the ScheduleActivityTask Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " } } }, @@ -3099,7 +2897,7 @@ "members":{ "name":{ "shape":"DomainName", - "documentation":"

    Name of the domain to register. The name must be unique in the region that the domain is registered in.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    Name of the domain to register. The name must be unique in the region that the domain is registered in.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "description":{ "shape":"Description", @@ -3107,7 +2905,11 @@ }, "workflowExecutionRetentionPeriodInDays":{ "shape":"DurationInDays", - "documentation":"

    The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution is not available in the results of visibility calls.

    If you pass the value NONE or 0 (zero), then the workflow execution history will not be retained. As soon as the workflow execution completes, the execution record and its history are deleted.

    The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: Amazon SWF Service Limits in the Amazon SWF Developer Guide.

    " + "documentation":"

    The duration (in days) that records and histories of workflow executions on the domain should be kept by the service. After the retention period, the workflow execution isn't available in the results of visibility calls.

    If you pass the value NONE or 0 (zero), then the workflow execution history isn't retained. As soon as the workflow execution completes, the execution record and its history are deleted.

    The maximum workflow execution retention period is 90 days. For more information about Amazon SWF service limits, see: Amazon SWF Service Limits in the Amazon SWF Developer Guide.

    " + }, + "tags":{ + "shape":"ResourceTagList", + "documentation":"

    Tags to be added when registering a domain.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    " } } }, @@ -3125,11 +2927,11 @@ }, "name":{ "shape":"Name", - "documentation":"

    The name of the workflow type.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The name of the workflow type.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "version":{ "shape":"Version", - "documentation":"

    The version of the workflow type.

    The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the ListWorkflowTypes action.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The version of the workflow type.

    The workflow type consists of the name and version, the combination of which must be unique within the domain. To get a list of all currently registered workflow types, use the ListWorkflowTypes action.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "description":{ "shape":"Description", @@ -3137,27 +2939,27 @@ }, "defaultTaskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the default maximum duration of decision tasks for this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultExecutionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the StartWorkflowExecution action or StartChildWorkflowExecution decision.

    The duration is specified in seconds; an integer greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit will always cause the workflow execution to time out.

    " + "documentation":"

    If set, specifies the default maximum duration for executions of this workflow type. You can override this default when starting an execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.

    The duration is specified in seconds; an integer greater than or equal to 0. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for defaultExecutionStartToCloseTimeout; there is a one-year max limit on the time that a workflow execution can run. Exceeding this limit always causes the workflow execution to time out.

    " }, "defaultTaskList":{ "shape":"TaskList", - "documentation":"

    If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list is not provided when starting the execution through the StartWorkflowExecution action or StartChildWorkflowExecution decision.

    " + "documentation":"

    If set, specifies the default task list to use for scheduling decision tasks for executions of this workflow type. This default is used only if a task list isn't provided when starting the execution through the StartWorkflowExecution Action or StartChildWorkflowExecution Decision.

    " }, "defaultTaskPriority":{ "shape":"TaskPriority", - "documentation":"

    The default task priority to assign to the workflow type. If not assigned, then \"0\" will be used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The default task priority to assign to the workflow type. If not assigned, then 0 is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "defaultChildPolicy":{ "shape":"ChildPolicy", - "documentation":"

    If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    If set, specifies the default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "defaultLambdaRole":{ "shape":"Arn", - "documentation":"

    The ARN of the default IAM role to use when a workflow execution of this type invokes AWS Lambda functions.

    This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution and ContinueAsNewWorkflowExecution decision.

    " + "documentation":"

    The default IAM role attached to this workflow type.

    Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when you start this workflow type, the default Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

    " } } }, @@ -3177,7 +2979,7 @@ "documentation":"

    The activityId of the activity task to be canceled.

    " } }, - "documentation":"

    Provides details of the RequestCancelActivityTask decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the RequestCancelActivityTask decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RequestCancelActivityTaskFailedCause":{ "type":"string", @@ -3200,14 +3002,14 @@ }, "cause":{ "shape":"RequestCancelActivityTaskFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelActivityTask decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the RequestCancelActivityTaskFailed event.

    " + "documentation":"

    Provides the details of the RequestCancelActivityTaskFailed event.

    " }, "RequestCancelExternalWorkflowExecutionDecisionAttributes":{ "type":"structure", @@ -3215,18 +3017,18 @@ "members":{ "workflowId":{ "shape":"WorkflowId", - "documentation":"

    Required. The workflowId of the external workflow execution to cancel.

    " + "documentation":"

    The workflowId of the external workflow execution to cancel.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the external workflow execution to cancel.

    " }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " + "documentation":"

    The data attached to the event that can be used by the decider in subsequent workflow tasks.

    " } }, - "documentation":"

    Provides details of the RequestCancelExternalWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the RequestCancelExternalWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "RequestCancelExternalWorkflowExecutionFailedCause":{ "type":"string", @@ -3250,12 +3052,12 @@ "documentation":"

    The workflowId of the external workflow to which the cancel request was to be delivered.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the external workflow execution.

    " }, "cause":{ "shape":"RequestCancelExternalWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "initiatedEventId":{ "shape":"EventId", @@ -3265,9 +3067,12 @@ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the RequestCancelExternalWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, - "control":{"shape":"Data"} + "control":{ + "shape":"Data", + "documentation":"

    The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.

    " + } }, - "documentation":"

    Provides details of the RequestCancelExternalWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the RequestCancelExternalWorkflowExecutionFailed event.

    " }, "RequestCancelExternalWorkflowExecutionInitiatedEventAttributes":{ "type":"structure", @@ -3281,7 +3086,7 @@ "documentation":"

    The workflowId of the external workflow execution to be canceled.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the external workflow execution to be canceled.

    " }, "decisionTaskCompletedEventId":{ @@ -3290,10 +3095,10 @@ }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " } }, - "documentation":"

    Provides details of the RequestCancelExternalWorkflowExecutionInitiated event.

    " + "documentation":"

    Provides the details of the RequestCancelExternalWorkflowExecutionInitiated event.

    " }, "RequestCancelWorkflowExecutionInput":{ "type":"structure", @@ -3311,22 +3116,54 @@ "documentation":"

    The workflowId of the workflow execution to cancel.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the workflow execution to cancel.

    " } } }, + "ResourceTag":{ + "type":"structure", + "required":["key"], + "members":{ + "key":{ + "shape":"ResourceTagKey", + "documentation":"

    The key of a tag.

    " + }, + "value":{ + "shape":"ResourceTagValue", + "documentation":"

    The value of a tag.

    " + } + }, + "documentation":"

    Tags are key-value pairs that can be associated with Amazon SWF state machines and activities.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    " + }, + "ResourceTagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "ResourceTagKeyList":{ + "type":"list", + "member":{"shape":"ResourceTagKey"} + }, + "ResourceTagList":{ + "type":"list", + "member":{"shape":"ResourceTag"} + }, + "ResourceTagValue":{ + "type":"string", + "max":256 + }, "RespondActivityTaskCanceledInput":{ "type":"structure", "required":["taskToken"], "members":{ "taskToken":{ "shape":"TaskToken", - "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results." + "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    " }, "details":{ "shape":"Data", - "documentation":"

    Optional. Information about the cancellation.

    " + "documentation":"

    Information about the cancellation.

    " } } }, @@ -3336,7 +3173,7 @@ "members":{ "taskToken":{ "shape":"TaskToken", - "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results." + "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    " }, "result":{ "shape":"Data", @@ -3350,7 +3187,7 @@ "members":{ "taskToken":{ "shape":"TaskToken", - "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results." + "documentation":"

    The taskToken of the ActivityTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    " }, "reason":{ "shape":"FailureReason", @@ -3358,7 +3195,7 @@ }, "details":{ "shape":"Data", - "documentation":"

    Optional. Detailed information about the failure.

    " + "documentation":"

    Detailed information about the failure.

    " } } }, @@ -3368,38 +3205,30 @@ "members":{ "taskToken":{ "shape":"TaskToken", - "documentation":"

    The taskToken from the DecisionTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results." + "documentation":"

    The taskToken from the DecisionTask.

    taskToken is generated by the service and should be treated as an opaque value. If the task is passed to another process, its taskToken must also be passed. This enables it to provide its progress and respond with results.

    " }, "decisions":{ "shape":"DecisionList", - "documentation":"

    The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the decision structure for details.

    " + "documentation":"

    The list of decisions (possibly empty) made by the decider while processing this decision task. See the docs for the Decision structure for details.

    " }, "executionContext":{ "shape":"Data", "documentation":"

    User defined context to add to workflow execution.

    " } - } + }, + "documentation":"

    Input data for a TaskCompleted response to a decision task.

    " }, "ReverseOrder":{"type":"boolean"}, "Run":{ "type":"structure", "members":{ "runId":{ - "shape":"RunId", + "shape":"WorkflowRunId", "documentation":"

    The runId of a workflow execution. This ID is generated by the service and can be used to uniquely identify the workflow execution within a domain.

    " } }, "documentation":"

    Specifies the runId of a workflow execution.

    " }, - "RunId":{ - "type":"string", - "min":1, - "max":64 - }, - "RunIdOptional":{ - "type":"string", - "max":64 - }, "ScheduleActivityTaskDecisionAttributes":{ "type":"structure", "required":[ @@ -3409,15 +3238,15 @@ "members":{ "activityType":{ "shape":"ActivityType", - "documentation":"

    Required. The type of the activity task to schedule.

    " + "documentation":"

    The type of the activity task to schedule.

    " }, "activityId":{ "shape":"ActivityId", - "documentation":"

    Required. The activityId of the activity task.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The activityId of the activity task.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

    " }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks. This data is not sent to the activity.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the activity.

    " }, "input":{ "shape":"Data", @@ -3425,30 +3254,30 @@ }, "scheduleToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration for this activity task.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A schedule-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    The maximum duration for this activity task.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A schedule-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-close timeout was specified at registration time then a fault is returned.

    " }, "taskList":{ "shape":"TaskList", - "documentation":"

    If set, specifies the name of the task list in which to schedule the activity task. If not specified, the defaultTaskList registered with the activity type will be used.

    A task list for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default task list was specified at registration time then a fault will be returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    If set, specifies the name of the task list in which to schedule the activity task. If not specified, the defaultTaskList registered with the activity type is used.

    A task list for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default task list was specified at registration time then a fault is returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

    " }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. If set, specifies the priority with which the activity task is to be assigned to a worker. This overrides the defaultTaskPriority specified when registering the activity type using RegisterActivityType. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    If set, specifies the priority with which the activity task is to be assigned to a worker. This overrides the defaultTaskPriority specified when registering the activity type using RegisterActivityType. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "scheduleToStartTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. If set, specifies the maximum duration the activity task can wait to be assigned to a worker. This overrides the default schedule-to-start timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the maximum duration the activity task can wait to be assigned to a worker. This overrides the default schedule-to-start timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A schedule-to-start timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default schedule-to-start timeout was specified at registration time then a fault is returned.

    " }, "startToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the maximum duration a worker may take to process this activity task. This overrides the default start-to-close timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A start-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the maximum duration a worker may take to process this activity task. This overrides the default start-to-close timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A start-to-close timeout for this activity task must be specified either as a default for the activity type or through this field. If neither this field is set nor a default start-to-close timeout was specified at registration time then a fault is returned.

    " }, "heartbeatTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or returns a result, it will be ignored. This overrides the default heartbeat timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    If set, specifies the maximum time before which a worker processing a task of this type must report progress by calling RecordActivityTaskHeartbeat. If the timeout is exceeded, the activity task is automatically timed out. If the worker subsequently attempts to record a heartbeat or returns a result, it is ignored. This overrides the default heartbeat timeout specified when registering the activity type using RegisterActivityType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " } }, - "documentation":"

    Provides details of the ScheduleActivityTask decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • activityType.name: String constraint. The key is swf:activityType.name.
      • activityType.version: String constraint. The key is swf:activityType.version.
      • taskList: String constraint. The key is swf:taskList.name.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the ScheduleActivityTask decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • activityType.name – String constraint. The key is swf:activityType.name.

      • activityType.version – String constraint. The key is swf:activityType.version.

      • taskList – String constraint. The key is swf:taskList.name.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "ScheduleActivityTaskFailedCause":{ "type":"string", @@ -3485,14 +3314,14 @@ }, "cause":{ "shape":"ScheduleActivityTaskFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the ScheduleActivityTaskFailed event.

    " + "documentation":"

    Provides the details of the ScheduleActivityTaskFailed event.

    " }, "ScheduleLambdaFunctionDecisionAttributes":{ "type":"structure", @@ -3503,22 +3332,26 @@ "members":{ "id":{ "shape":"FunctionId", - "documentation":"

    Required. The SWF id of the AWS Lambda task.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    A string that identifies the Lambda function execution in the event history.

    " }, "name":{ "shape":"FunctionName", - "documentation":"

    Required. The name of the AWS Lambda function to invoke.

    " + "documentation":"

    The name, or ARN, of the Lambda function to schedule.

    " + }, + "control":{ + "shape":"Data", + "documentation":"

    The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the Lambda task.

    " }, "input":{ "shape":"FunctionInput", - "documentation":"

    The input provided to the AWS Lambda function.

    " + "documentation":"

    The optional input data to be supplied to the Lambda function.

    " }, "startToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    If set, specifies the maximum duration the function may take to execute.

    " + "documentation":"

    The timeout value, in seconds, after which the Lambda function is considered to be failed once it has started. This can be any integer from 1-300 (1s-5m). If no value is supplied, than a default value of 300s is assumed.

    " } }, - "documentation":"

    Provides details of the ScheduleLambdaFunction decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • activityType.name: String constraint. The key is swf:activityType.name.
      • activityType.version: String constraint. The key is swf:activityType.version.
      • taskList: String constraint. The key is swf:taskList.name.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Decision attributes specified in scheduleLambdaFunctionDecisionAttributes within the list of decisions decisions passed to RespondDecisionTaskCompleted.

    " }, "ScheduleLambdaFunctionFailedCause":{ "type":"string", @@ -3540,22 +3373,22 @@ "members":{ "id":{ "shape":"FunctionId", - "documentation":"

    The unique Amazon SWF ID of the AWS Lambda task.

    " + "documentation":"

    The ID provided in the ScheduleLambdaFunction decision that failed.

    " }, "name":{ "shape":"FunctionName", - "documentation":"

    The name of the scheduled AWS Lambda function.

    " + "documentation":"

    The name of the Lambda function.

    " }, "cause":{ "shape":"ScheduleLambdaFunctionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision that resulted in the scheduling of this AWS Lambda function. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the LambdaFunctionCompleted event corresponding to the decision that resulted in scheduling this Lambda task. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details for the ScheduleLambdaFunctionFailed event.

    " + "documentation":"

    Provides the details of the ScheduleLambdaFunctionFailed event. It isn't set for other event types.

    " }, "SignalExternalWorkflowExecutionDecisionAttributes":{ "type":"structure", @@ -3566,26 +3399,26 @@ "members":{ "workflowId":{ "shape":"WorkflowId", - "documentation":"

    Required. The workflowId of the workflow execution to be signaled.

    " + "documentation":"

    The workflowId of the workflow execution to be signaled.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the workflow execution to be signaled.

    " }, "signalName":{ "shape":"SignalName", - "documentation":"

    Required. The name of the signal.The target workflow execution will use the signal name and input to process the signal.

    " + "documentation":"

    The name of the signal.The target workflow execution uses the signal name and input to process the signal.

    " }, "input":{ "shape":"Data", - "documentation":"

    Optional. Input data to be provided with the signal. The target workflow execution will use the signal name and input data to process the signal.

    " + "documentation":"

    The input data to be provided with the signal. The target workflow execution uses the signal name and input data to process the signal.

    " }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent decision tasks.

    " + "documentation":"

    The data attached to the event that can be used by the decider in subsequent decision tasks.

    " } }, - "documentation":"

    Provides details of the SignalExternalWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the SignalExternalWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "SignalExternalWorkflowExecutionFailedCause":{ "type":"string", @@ -3609,12 +3442,12 @@ "documentation":"

    The workflowId of the external workflow execution that the signal was being delivered to.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the external workflow execution that the signal was being delivered to.

    " }, "cause":{ "shape":"SignalExternalWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "initiatedEventId":{ "shape":"EventId", @@ -3624,9 +3457,12 @@ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the SignalExternalWorkflowExecution decision for this signal. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, - "control":{"shape":"Data"} + "control":{ + "shape":"Data", + "documentation":"

    The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the workflow execution.

    " + } }, - "documentation":"

    Provides details of the SignalExternalWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the SignalExternalWorkflowExecutionFailed event.

    " }, "SignalExternalWorkflowExecutionInitiatedEventAttributes":{ "type":"structure", @@ -3641,7 +3477,7 @@ "documentation":"

    The workflowId of the external workflow execution.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the external workflow execution to send the signal to.

    " }, "signalName":{ @@ -3650,7 +3486,7 @@ }, "input":{ "shape":"Data", - "documentation":"

    Input provided to the signal (if any).

    " + "documentation":"

    The input provided to the signal.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", @@ -3658,15 +3494,15 @@ }, "control":{ "shape":"Data", - "documentation":"

    Optional. data attached to the event that can be used by the decider in subsequent decision tasks.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent decision tasks.

    " } }, - "documentation":"

    Provides details of the SignalExternalWorkflowExecutionInitiated event.

    " + "documentation":"

    Provides the details of the SignalExternalWorkflowExecutionInitiated event.

    " }, "SignalName":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "SignalWorkflowExecutionInput":{ "type":"structure", @@ -3685,7 +3521,7 @@ "documentation":"

    The workflowId of the workflow execution to signal.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the workflow execution to signal.

    " }, "signalName":{ @@ -3707,15 +3543,15 @@ "members":{ "workflowType":{ "shape":"WorkflowType", - "documentation":"

    Required. The type of the workflow execution to be started.

    " + "documentation":"

    The type of the workflow execution to be started.

    " }, "workflowId":{ "shape":"WorkflowId", - "documentation":"

    Required. The workflowId of the workflow execution.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The workflowId of the workflow execution.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

    " }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks. This data is not sent to the child workflow execution.

    " + "documentation":"

    The data attached to the event that can be used by the decider in subsequent workflow tasks. This data isn't sent to the child workflow execution.

    " }, "input":{ "shape":"Data", @@ -3723,23 +3559,23 @@ }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    An execution start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default execution start-to-close timeout was specified at registration time then a fault is returned.

    " }, "taskList":{ "shape":"TaskList", - "documentation":"

    The name of the task list to be used for decision tasks of the child workflow execution.

    A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault will be returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The name of the task list to be used for decision tasks of the child workflow execution.

    A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

    " }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. A task priority that, if set, specifies the priority for a decision task of this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    A task priority that, if set, specifies the priority for a decision task of this workflow execution. This overrides the defaultTaskPriority specified when registering the workflow type. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    Optional. If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the policy to use for the child workflow executions if the workflow execution being started is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

    " }, "tagList":{ "shape":"TagList", @@ -3747,10 +3583,10 @@ }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The ARN of an IAM role that authorizes Amazon SWF to invoke AWS Lambda functions.

    In order for this workflow execution to invoke AWS Lambda functions, an appropriate IAM role must be specified either as a default for the workflow type or through this field." + "documentation":"

    The IAM role attached to the child workflow execution.

    " } }, - "documentation":"

    Provides details of the StartChildWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • Constrain the following parameters by using a Condition element with the appropriate keys.
      • tagList.member.N: The key is \"swf:tagList.N\" where N is the tag number from 0 to 4, inclusive.
      • taskList: String constraint. The key is swf:taskList.name.
      • workflowType.name: String constraint. The key is swf:workflowType.name.
      • workflowType.version: String constraint. The key is swf:workflowType.version.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the StartChildWorkflowExecution decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • Constrain the following parameters by using a Condition element with the appropriate keys.

      • tagList.member.N – The key is \"swf:tagList.N\" where N is the tag number from 0 to 4, inclusive.

      • taskList – String constraint. The key is swf:taskList.name.

      • workflowType.name – String constraint. The key is swf:workflowType.name.

      • workflowType.version – String constraint. The key is swf:workflowType.version.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "StartChildWorkflowExecutionFailedCause":{ "type":"string", @@ -3780,11 +3616,11 @@ "members":{ "workflowType":{ "shape":"WorkflowType", - "documentation":"

    The workflow type provided in the StartChildWorkflowExecution decision that failed.

    " + "documentation":"

    The workflow type provided in the StartChildWorkflowExecution Decision that failed.

    " }, "cause":{ "shape":"StartChildWorkflowExecutionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    When cause is set to OPERATION_NOT_PERMITTED, the decision fails because it lacks sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "workflowId":{ "shape":"WorkflowId", @@ -3792,15 +3628,18 @@ }, "initiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    When the cause is WORKFLOW_ALREADY_RUNNING, initiatedEventId is the ID of the StartChildWorkflowExecutionInitiated event that corresponds to the StartChildWorkflowExecution Decision to start the workflow execution. You can use this information to diagnose problems by tracing back the chain of events leading up to this event.

    When the cause isn't WORKFLOW_ALREADY_RUNNING, initiatedEventId is set to 0 because the StartChildWorkflowExecutionInitiated event doesn't exist.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the cause of events.

    " + "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events.

    " }, - "control":{"shape":"Data"} + "control":{ + "shape":"Data", + "documentation":"

    The data attached to the event that the decider can use in subsequent workflow tasks. This data isn't sent to the child workflow execution.

    " + } }, - "documentation":"

    Provides details of the StartChildWorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the StartChildWorkflowExecutionFailed event.

    " }, "StartChildWorkflowExecutionInitiatedEventAttributes":{ "type":"structure", @@ -3822,15 +3661,15 @@ }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent decision tasks. This data is not sent to the activity.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent decision tasks. This data isn't sent to the activity.

    " }, "input":{ "shape":"Data", - "documentation":"

    The inputs provided to the child workflow execution (if any).

    " + "documentation":"

    The inputs provided to the child workflow execution.

    " }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration for the child workflow execution. If the workflow execution is not closed within this duration, it will be timed out and force terminated.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration for the child workflow execution. If the workflow execution isn't closed within this duration, it is timed out and force-terminated.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "taskList":{ "shape":"TaskList", @@ -3838,19 +3677,19 @@ }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. The priority assigned for the decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The priority assigned for the decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the cause of events.

    " + "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartChildWorkflowExecution Decision to request this child workflow execution. This information can be useful for diagnosing problems by tracing back the cause of events.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the TerminateWorkflowExecution action or due to an expired timeout.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy to use for the child workflow executions if this execution gets terminated by explicitly calling the TerminateWorkflowExecution action or due to an expired timeout.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration allowed for the decision tasks for this workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration allowed for the decision tasks for this workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "tagList":{ "shape":"TagList", @@ -3858,10 +3697,10 @@ }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The IAM role attached to this workflow execution to use when invoking AWS Lambda functions.

    " + "documentation":"

    The IAM role to attach to the child workflow execution.

    " } }, - "documentation":"

    Provides details of the StartChildWorkflowExecutionInitiated event.

    " + "documentation":"

    Provides the details of the StartChildWorkflowExecutionInitiated event.

    " }, "StartLambdaFunctionFailedCause":{ "type":"string", @@ -3872,18 +3711,18 @@ "members":{ "scheduledEventId":{ "shape":"EventId", - "documentation":"

    The ID of the LambdaFunctionScheduled event that was recorded when this AWS Lambda function was scheduled. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the ActivityTaskScheduled event that was recorded when this activity task was scheduled. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    " }, "cause":{ "shape":"StartLambdaFunctionFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. To help diagnose issues, use this information to trace back the chain of events leading up to this event.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because the IAM role attached to the execution lacked sufficient permissions. For details and example IAM policies, see Lambda Tasks in the Amazon SWF Developer Guide.

    " }, "message":{ "shape":"CauseMessage", - "documentation":"

    The error message (if any).

    " + "documentation":"

    A description that can help diagnose the cause of the fault.

    " } }, - "documentation":"

    Provides details for the StartLambdaFunctionFailed event.

    " + "documentation":"

    Provides the details of the StartLambdaFunctionFailed event. It isn't set for other event types.

    " }, "StartTimerDecisionAttributes":{ "type":"structure", @@ -3894,18 +3733,18 @@ "members":{ "timerId":{ "shape":"TimerId", - "documentation":"

    Required. The unique ID of the timer.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The unique ID of the timer.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not contain the literal string arn.

    " }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " + "documentation":"

    The data attached to the event that can be used by the decider in subsequent workflow tasks.

    " }, "startToFireTimeout":{ "shape":"DurationInSeconds", - "documentation":"

    Required. The duration to wait before firing the timer.

    The duration is specified in seconds; an integer greater than or equal to 0.

    " + "documentation":"

    The duration to wait before firing the timer.

    The duration is specified in seconds, an integer greater than or equal to 0.

    " } }, - "documentation":"

    Provides details of the StartTimer decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.
    • Use an Action element to allow or deny permission to call this action.
    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller does not have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter will be set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows.

    " + "documentation":"

    Provides the details of the StartTimer decision.

    Access Control

    You can use IAM policies to control this decision's access to Amazon SWF resources as follows:

    • Use a Resource element with the domain name to limit the action to only specified domains.

    • Use an Action element to allow or deny permission to call this action.

    • You cannot use an IAM policy to constrain this action's parameters.

    If the caller doesn't have sufficient permissions to invoke the action, or the parameter values fall outside the specified constraints, the action fails. The associated event attribute's cause parameter is set to OPERATION_NOT_PERMITTED. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "StartTimerFailedCause":{ "type":"string", @@ -3930,14 +3769,14 @@ }, "cause":{ "shape":"StartTimerFailedCause", - "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows." + "documentation":"

    The cause of the failure. This information is generated by the system and can be useful for diagnostic purposes.

    If cause is set to OPERATION_NOT_PERMITTED, the decision failed because it lacked sufficient permissions. For details and example IAM policies, see Using IAM to Manage Access to Amazon SWF Workflows in the Amazon SWF Developer Guide.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartTimer decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the StartTimerFailed event.

    " + "documentation":"

    Provides the details of the StartTimerFailed event.

    " }, "StartWorkflowExecutionInput":{ "type":"structure", @@ -3953,7 +3792,7 @@ }, "workflowId":{ "shape":"WorkflowId", - "documentation":"

    The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a restart of a previous execution. You cannot have two open workflow executions with the same workflowId at the same time.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The user defined identifier associated with the workflow execution. You can use this to associate a custom identifier with the workflow execution. You may specify the same identifier if a workflow execution is logically a restart of a previous execution. You cannot have two open workflow executions with the same workflowId at the same time within the same domain.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "workflowType":{ "shape":"WorkflowType", @@ -3961,11 +3800,11 @@ }, "taskList":{ "shape":"TaskList", - "documentation":"

    The task list to use for the decision tasks generated for this workflow execution. This overrides the defaultTaskList specified when registering the workflow type.

    A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault will be returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f - \\u009f). Also, it must not contain the literal string quotarnquot.

    " + "documentation":"

    The task list to use for the decision tasks generated for this workflow execution. This overrides the defaultTaskList specified when registering the workflow type.

    A task list for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task list was specified at registration time then a fault is returned.

    The specified string must not start or end with whitespace. It must not contain a : (colon), / (slash), | (vertical bar), or any control characters (\\u0000-\\u001f | \\u007f-\\u009f). Also, it must not be the literal string arn.

    " }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    The task priority to use for this workflow execution. This will override any default priority that was assigned when the workflow type was registered. If not set, then the default task priority for the workflow type will be used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The task priority to use for this workflow execution. This overrides any default priority that was assigned when the workflow type was registered. If not set, then the default task priority for the workflow type is used. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "input":{ "shape":"Data", @@ -3973,7 +3812,7 @@ }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds; an integer greater than or equal to 0. Exceeding this limit will cause the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for this timeout; there is a one-year max limit on the time that a workflow execution can run.

    An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned." + "documentation":"

    The total duration for this workflow execution. This overrides the defaultExecutionStartToCloseTimeout specified when registering the workflow type.

    The duration is specified in seconds; an integer greater than or equal to 0. Exceeding this limit causes the workflow execution to time out. Unlike some of the other timeout parameters in Amazon SWF, you cannot specify a value of \"NONE\" for this timeout; there is a one-year max limit on the time that a workflow execution can run.

    An execution start-to-close timeout must be specified either through this parameter or as a default when the workflow type is registered. If neither this parameter nor a default execution start-to-close timeout is specified, a fault is returned.

    " }, "tagList":{ "shape":"TagList", @@ -3981,22 +3820,22 @@ }, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault will be returned." + "documentation":"

    Specifies the maximum duration of decision tasks for this workflow execution. This parameter overrides the defaultTaskStartToCloseTimout specified when registering the workflow type using RegisterWorkflowType.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    A task start-to-close timeout for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default task start-to-close timeout was specified at registration time then a fault is returned.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the policy to use for the child workflow executions of this workflow execution if it is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This policy overrides the default child policy specified when registering the workflow type using RegisterWorkflowType.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

    " }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The ARN of an IAM role that authorizes Amazon SWF to invoke AWS Lambda functions.

    In order for this workflow execution to invoke AWS Lambda functions, an appropriate IAM role must be specified either as a default for the workflow type or through this field." + "documentation":"

    The IAM role to attach to this workflow execution.

    Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't attach an IAM role, any attempt to schedule a Lambda task fails. This results in a ScheduleLambdaFunctionFailed history event. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

    " } } }, "Tag":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":0 }, "TagFilter":{ "type":"structure", @@ -4004,7 +3843,7 @@ "members":{ "tag":{ "shape":"Tag", - "documentation":"

    Required. Specifies the tag that must be associated with the execution for it to meet the filter criteria.

    " + "documentation":"

    Specifies the tag that must be associated with the execution for it to meet the filter criteria.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    " } }, "documentation":"

    Used to filter the workflow executions in visibility APIs based on a tag.

    " @@ -4014,6 +3853,23 @@ "member":{"shape":"Tag"}, "max":5 }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Amazon SWF domain.

    " + }, + "tags":{ + "shape":"ResourceTagList", + "documentation":"

    The list of tags to add to a domain.

    Tags may only contain unicode letters, digits, whitespace, or these symbols: _ . : / = + - @.

    " + } + } + }, "TaskList":{ "type":"structure", "required":["name"], @@ -4025,14 +3881,11 @@ }, "documentation":"

    Represents a task list.

    " }, - "TaskPriority":{ - "type":"string", - "max":11 - }, + "TaskPriority":{"type":"string"}, "TaskToken":{ "type":"string", - "min":1, - "max":1024 + "max":1024, + "min":1 }, "TerminateReason":{ "type":"string", @@ -4054,20 +3907,20 @@ "documentation":"

    The workflowId of the workflow execution to terminate.

    " }, "runId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    The runId of the workflow execution to terminate.

    " }, "reason":{ "shape":"TerminateReason", - "documentation":"

    Optional. A descriptive reason for terminating the workflow execution.

    " + "documentation":"

    A descriptive reason for terminating the workflow execution.

    " }, "details":{ "shape":"Data", - "documentation":"

    Optional. Details for terminating the workflow execution.

    " + "documentation":"

    Details for terminating the workflow execution.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault will be returned." + "documentation":"

    If set, specifies the policy to use for the child workflow executions of the workflow execution being terminated. This policy overrides the child policy specified for the workflow execution at registration time or when starting the execution.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    A child policy for this workflow execution must be specified either as a default for the workflow type or through this parameter. If neither this parameter is set nor a default child policy was specified at registration time then a fault is returned.

    " } } }, @@ -4081,7 +3934,7 @@ "members":{ "timerId":{ "shape":"TimerId", - "documentation":"

    The unique ID of the timer that was canceled.

    " + "documentation":"

    The unique ID of the timer that was canceled.

    " }, "startedEventId":{ "shape":"EventId", @@ -4092,7 +3945,7 @@ "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelTimer decision to cancel this timer. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the TimerCanceled event.

    " + "documentation":"

    Provides the details of the TimerCanceled event.

    " }, "TimerFiredEventAttributes":{ "type":"structure", @@ -4110,12 +3963,12 @@ "documentation":"

    The ID of the TimerStarted event that was recorded when this timer was started. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the TimerFired event.

    " + "documentation":"

    Provides the details of the TimerFired event.

    " }, "TimerId":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 }, "TimerStartedEventAttributes":{ "type":"structure", @@ -4131,20 +3984,28 @@ }, "control":{ "shape":"Data", - "documentation":"

    Optional. Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " + "documentation":"

    Data attached to the event that can be used by the decider in subsequent workflow tasks.

    " }, "startToFireTimeout":{ "shape":"DurationInSeconds", - "documentation":"

    The duration of time after which the timer will fire.

    The duration is specified in seconds; an integer greater than or equal to 0.

    " + "documentation":"

    The duration of time after which the timer fires.

    The duration is specified in seconds, an integer greater than or equal to 0.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the StartTimer decision for this activity task. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the TimerStarted event.

    " + "documentation":"

    Provides the details of the TimerStarted event.

    " }, "Timestamp":{"type":"timestamp"}, + "TooManyTagsFault":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You've exceeded the number of tags allowed for a domain.

    ", + "exception":true + }, "Truncated":{"type":"boolean"}, "TypeAlreadyExistsFault":{ "type":"structure", @@ -4154,8 +4015,8 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned if the type already exists in the specified domain. You will get this fault even if the existing type is in deprecated status. You can specify another version if the intent is to create a new distinct version of the type.

    " + "documentation":"

    Returned if the type already exists in the specified domain. You may get this fault if you are registering a type that is either already registered or deprecated, or if you undeprecate a type that is currently registered.

    ", + "exception":true }, "TypeDeprecatedFault":{ "type":"structure", @@ -4165,8 +4026,52 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned when the specified activity or workflow type was already deprecated.

    " + "documentation":"

    Returned when the specified activity or workflow type was already deprecated.

    ", + "exception":true + }, + "UndeprecateActivityTypeInput":{ + "type":"structure", + "required":[ + "domain", + "activityType" + ], + "members":{ + "domain":{ + "shape":"DomainName", + "documentation":"

    The name of the domain of the deprecated activity type.

    " + }, + "activityType":{ + "shape":"ActivityType", + "documentation":"

    The activity type to undeprecate.

    " + } + } + }, + "UndeprecateDomainInput":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{ + "shape":"DomainName", + "documentation":"

    The name of the domain of the deprecated workflow type.

    " + } + } + }, + "UndeprecateWorkflowTypeInput":{ + "type":"structure", + "required":[ + "domain", + "workflowType" + ], + "members":{ + "domain":{ + "shape":"DomainName", + "documentation":"

    The name of the domain of the deprecated workflow type.

    " + }, + "workflowType":{ + "shape":"WorkflowType", + "documentation":"

    The name of the domain of the deprecated workflow type.

    " + } + } }, "UnknownResourceFault":{ "type":"structure", @@ -4176,13 +4081,30 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    " + "documentation":"

    Returned when the named resource cannot be found with in the scope of this operation (region or domain). This could happen if the named resource was never created or is no longer available for this operation.

    ", + "exception":true + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) for the Amazon SWF domain.

    " + }, + "tagKeys":{ + "shape":"ResourceTagKeyList", + "documentation":"

    The list of tags to remove from the Amazon SWF domain.

    " + } + } }, "Version":{ "type":"string", - "min":1, - "max":64 + "max":64, + "min":1 }, "VersionOptional":{ "type":"string", @@ -4200,7 +4122,7 @@ "documentation":"

    The user defined identifier associated with the workflow execution.

    " }, "runId":{ - "shape":"RunId", + "shape":"WorkflowRunId", "documentation":"

    A system-generated unique identifier for the workflow execution.

    " } }, @@ -4214,8 +4136,8 @@ "documentation":"

    A description that may help with diagnosing the cause of the fault.

    " } }, - "exception":true, - "documentation":"

    Returned by StartWorkflowExecution when an open execution with the same workflowId is already running in the specified domain.

    " + "documentation":"

    Returned by StartWorkflowExecution when an open execution with the same workflowId is already running in the specified domain.

    ", + "exception":true }, "WorkflowExecutionCancelRequestedCause":{ "type":"string", @@ -4237,7 +4159,7 @@ "documentation":"

    If set, indicates that the request to cancel the workflow execution was automatically generated, and specifies the cause. This happens if the parent workflow execution times out or is terminated, and the child policy is set to cancel child executions.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionCancelRequested event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionCancelRequested event.

    " }, "WorkflowExecutionCanceledEventAttributes":{ "type":"structure", @@ -4245,14 +4167,14 @@ "members":{ "details":{ "shape":"Data", - "documentation":"

    Details for the cancellation (if any).

    " + "documentation":"

    The details of the cancellation.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CancelWorkflowExecution decision for this cancellation request. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionCanceled event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionCanceled event.

    " }, "WorkflowExecutionCompletedEventAttributes":{ "type":"structure", @@ -4267,7 +4189,7 @@ "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the CompleteWorkflowExecution decision to complete this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionCompleted event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionCompleted event.

    " }, "WorkflowExecutionConfiguration":{ "type":"structure", @@ -4280,11 +4202,11 @@ "members":{ "taskStartToCloseTimeout":{ "shape":"DurationInSeconds", - "documentation":"

    The maximum duration allowed for decision tasks for this workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration allowed for decision tasks for this workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "executionStartToCloseTimeout":{ "shape":"DurationInSeconds", - "documentation":"

    The total duration for this workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The total duration for this workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "taskList":{ "shape":"TaskList", @@ -4292,15 +4214,15 @@ }, "taskPriority":{ "shape":"TaskPriority", - "documentation":"

    The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The priority assigned to decision tasks for this workflow execution. Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The IAM role used by this workflow execution when invoking AWS Lambda functions.

    " + "documentation":"

    The IAM role attached to the child workflow execution.

    " } }, "documentation":"

    The configuration settings for a workflow execution including timeout values, tasklist etc. These configuration settings are determined from the defaults specified when registering the workflow type and those specified when starting the workflow execution.

    " @@ -4324,34 +4246,43 @@ "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the ContinueAsNewWorkflowExecution decision that started this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "newExecutionRunId":{ - "shape":"RunId", + "shape":"WorkflowRunId", "documentation":"

    The runId of the new workflow execution.

    " }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The total duration allowed for the new workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The total duration allowed for the new workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " + }, + "taskList":{ + "shape":"TaskList", + "documentation":"

    The task list to use for the decisions of the new (continued) workflow execution.

    " + }, + "taskPriority":{ + "shape":"TaskPriority", + "documentation":"

    The priority of the task to use for the decisions of the new (continued) workflow execution.

    " }, - "taskList":{"shape":"TaskList"}, - "taskPriority":{"shape":"TaskPriority"}, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration of decision tasks for the new workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration of decision tasks for the new workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy to use for the child workflow executions of the new execution if it is terminated by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "tagList":{ "shape":"TagList", "documentation":"

    The list of tags associated with the new workflow execution.

    " }, - "workflowType":{"shape":"WorkflowType"}, + "workflowType":{ + "shape":"WorkflowType", + "documentation":"

    The workflow type of this execution.

    " + }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The IAM role attached to this workflow execution to use when invoking AWS Lambda functions.

    " + "documentation":"

    The IAM role to attach to the new (continued) workflow execution.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionContinuedAsNew event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionContinuedAsNew event.

    " }, "WorkflowExecutionCount":{ "type":"structure", @@ -4366,7 +4297,7 @@ "documentation":"

    If set to true, indicates that the actual count was more than the maximum supported by this API and the count returned is the truncated value.

    " } }, - "documentation":"

    Contains the count of workflow executions returned from CountOpenWorkflowExecutions or CountClosedWorkflowExecutions

    " + "documentation":"

    Contains the count of workflow executions returned from CountOpenWorkflowExecutions or CountClosedWorkflowExecutions

    " }, "WorkflowExecutionDetail":{ "type":"structure", @@ -4405,18 +4336,18 @@ "members":{ "reason":{ "shape":"FailureReason", - "documentation":"

    The descriptive reason provided for the failure (if any).

    " + "documentation":"

    The descriptive reason provided for the failure.

    " }, "details":{ "shape":"Data", - "documentation":"

    The details of the failure (if any).

    " + "documentation":"

    The details of the failure.

    " }, "decisionTaskCompletedEventId":{ "shape":"EventId", "documentation":"

    The ID of the DecisionTaskCompleted event corresponding to the decision task that resulted in the FailWorkflowExecution decision to fail this execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionFailed event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionFailed event.

    " }, "WorkflowExecutionFilter":{ "type":"structure", @@ -4460,7 +4391,7 @@ }, "closeStatus":{ "shape":"CloseStatus", - "documentation":"

    If the execution status is closed then this specifies how the execution was closed:

    • COMPLETED: the execution was successfully completed.
    • CANCELED: the execution was canceled.Cancellation allows the implementation to gracefully clean up before the execution is closed.
    • TERMINATED: the execution was force terminated.
    • FAILED: the execution failed to complete.
    • TIMED_OUT: the execution did not complete in the alloted time and was automatically timed out.
    • CONTINUED_AS_NEW: the execution is logically continued. This means the current execution was completed and a new execution was started to carry on the workflow.
    " + "documentation":"

    If the execution status is closed then this specifies how the execution was closed:

    • COMPLETED – the execution was successfully completed.

    • CANCELED – the execution was canceled.Cancellation allows the implementation to gracefully clean up before the execution is closed.

    • TERMINATED – the execution was force terminated.

    • FAILED – the execution failed to complete.

    • TIMED_OUT – the execution did not complete in the alloted time and was automatically timed out.

    • CONTINUED_AS_NEW – the execution is logically continued. This means the current execution was completed and a new execution was started to carry on the workflow.

    " }, "parent":{ "shape":"WorkflowExecution", @@ -4475,7 +4406,7 @@ "documentation":"

    Set to true if a cancellation is requested for this workflow execution.

    " } }, - "documentation":"

    Contains information about a workflow execution.

    " + "documentation":"

    Contains information about a workflow execution.

    " }, "WorkflowExecutionInfoList":{ "type":"list", @@ -4507,7 +4438,7 @@ "members":{ "openActivityTasks":{ "shape":"Count", - "documentation":"

    The count of activity tasks whose status is OPEN.

    " + "documentation":"

    The count of activity tasks whose status is OPEN.

    " }, "openDecisionTasks":{ "shape":"OpenDecisionTasksCount", @@ -4519,11 +4450,11 @@ }, "openChildWorkflowExecutions":{ "shape":"Count", - "documentation":"

    The count of child workflow executions whose status is OPEN.

    " + "documentation":"

    The count of child workflow executions whose status is OPEN.

    " }, "openLambdaFunctions":{ "shape":"Count", - "documentation":"

    The count of AWS Lambda functions that are currently executing.

    " + "documentation":"

    The count of Lambda tasks whose status is OPEN.

    " } }, "documentation":"

    Contains the counts of open tasks, child workflow executions and timers for a workflow execution.

    " @@ -4538,7 +4469,7 @@ }, "input":{ "shape":"Data", - "documentation":"

    Inputs provided with the signal (if any). The decider can use the signal name and inputs to determine how to process the signal.

    " + "documentation":"

    The inputs provided with the signal. The decider can use the signal name and inputs to determine how to process the signal.

    " }, "externalWorkflowExecution":{ "shape":"WorkflowExecution", @@ -4549,7 +4480,7 @@ "documentation":"

    The ID of the SignalExternalWorkflowExecutionInitiated event corresponding to the SignalExternalWorkflow decision to signal this workflow execution.The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event. This field is set only if the signal was initiated by another workflow execution.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionSignaled event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionSignaled event.

    " }, "WorkflowExecutionStartedEventAttributes":{ "type":"structure", @@ -4561,24 +4492,28 @@ "members":{ "input":{ "shape":"Data", - "documentation":"

    The input provided to the workflow execution (if any).

    " + "documentation":"

    The input provided to the workflow execution.

    " }, "executionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration for this workflow execution.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration for this workflow execution.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "taskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    The maximum duration of decision tasks for this workflow type.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The maximum duration of decision tasks for this workflow type.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy to use for the child workflow executions if this workflow execution is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "taskList":{ "shape":"TaskList", "documentation":"

    The name of the task list for scheduling the decision tasks for this workflow execution.

    " }, + "taskPriority":{ + "shape":"TaskPriority", + "documentation":"

    The priority of the decision tasks in the workflow execution.

    " + }, "workflowType":{ "shape":"WorkflowType", "documentation":"

    The workflow type of this execution.

    " @@ -4587,22 +4522,21 @@ "shape":"TagList", "documentation":"

    The list of tags associated with this workflow execution. An execution can have up to 5 tags.

    " }, - "taskPriority":{"shape":"TaskPriority"}, "continuedExecutionRunId":{ - "shape":"RunIdOptional", + "shape":"WorkflowRunIdOptional", "documentation":"

    If this workflow execution was started due to a ContinueAsNewWorkflowExecution decision, then it contains the runId of the previous workflow execution that was closed and continued as this execution.

    " }, "parentWorkflowExecution":{ "shape":"WorkflowExecution", - "documentation":"

    The source workflow execution that started this workflow execution. The member is not set if the workflow execution was not started by a workflow.

    " + "documentation":"

    The source workflow execution that started this workflow execution. The member isn't set if the workflow execution was not started by a workflow.

    " }, "parentInitiatedEventId":{ "shape":"EventId", - "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution decision to start this workflow execution. The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " + "documentation":"

    The ID of the StartChildWorkflowExecutionInitiated event corresponding to the StartChildWorkflowExecution Decision to start this workflow execution. The source event with this ID can be found in the history of the source workflow execution. This information can be useful for diagnosing problems by tracing back the chain of events leading up to this event.

    " }, "lambdaRole":{ "shape":"Arn", - "documentation":"

    The IAM role attached to this workflow execution to use when invoking AWS Lambda functions.

    " + "documentation":"

    The IAM role attached to the workflow execution.

    " } }, "documentation":"

    Provides details of WorkflowExecutionStarted event.

    " @@ -4621,22 +4555,22 @@ "members":{ "reason":{ "shape":"TerminateReason", - "documentation":"

    The reason provided for the termination (if any).

    " + "documentation":"

    The reason provided for the termination.

    " }, "details":{ "shape":"Data", - "documentation":"

    The details provided for the termination (if any).

    " + "documentation":"

    The details provided for the termination.

    " }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy used for the child workflow executions of this workflow execution.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy used for the child workflow executions of this workflow execution.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "cause":{ "shape":"WorkflowExecutionTerminatedCause", "documentation":"

    If set, indicates that the workflow execution was automatically terminated, and specifies the cause. This happens if the parent workflow execution times out or is terminated and the child policy is set to terminate child executions.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionTerminated event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionTerminated event.

    " }, "WorkflowExecutionTimedOutEventAttributes":{ "type":"structure", @@ -4651,10 +4585,10 @@ }, "childPolicy":{ "shape":"ChildPolicy", - "documentation":"

    The policy used for the child workflow executions of this workflow execution.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The policy used for the child workflow executions of this workflow execution.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " } }, - "documentation":"

    Provides details of the WorkflowExecutionTimedOut event.

    " + "documentation":"

    Provides the details of the WorkflowExecutionTimedOut event.

    " }, "WorkflowExecutionTimeoutType":{ "type":"string", @@ -4662,8 +4596,17 @@ }, "WorkflowId":{ "type":"string", - "min":1, - "max":256 + "max":256, + "min":1 + }, + "WorkflowRunId":{ + "type":"string", + "max":64, + "min":1 + }, + "WorkflowRunIdOptional":{ + "type":"string", + "max":64 }, "WorkflowType":{ "type":"structure", @@ -4674,11 +4617,11 @@ "members":{ "name":{ "shape":"Name", - "documentation":"

    Required. The name of the workflow type.

    The combination of workflow type name and version must be unique with in a domain." + "documentation":"

    The name of the workflow type.

    The combination of workflow type name and version must be unique with in a domain.

    " }, "version":{ "shape":"Version", - "documentation":"

    Required. The version of the workflow type.

    The combination of workflow type name and version must be unique with in a domain." + "documentation":"

    The version of the workflow type.

    The combination of workflow type name and version must be unique with in a domain.

    " } }, "documentation":"

    Represents a workflow type.

    " @@ -4688,27 +4631,27 @@ "members":{ "defaultTaskStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum duration, specified when registering the workflow type, that a decision task for executions of this workflow type might take before returning completion or failure. If the task does not close in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum duration, specified when registering the workflow type, that a decision task for executions of this workflow type might take before returning completion or failure. If the task doesn'tdo close in the specified time then the task is automatically timed out and rescheduled. If the decider eventually reports a completion or failure, it is ignored. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultExecutionStartToCloseTimeout":{ "shape":"DurationInSecondsOptional", - "documentation":"

    Optional. The default maximum duration, specified when registering the workflow type, for executions of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    The duration is specified in seconds; an integer greater than or equal to 0. The value \"NONE\" can be used to specify unlimited duration.

    " + "documentation":"

    The default maximum duration, specified when registering the workflow type, for executions of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    The duration is specified in seconds, an integer greater than or equal to 0. You can use NONE to specify unlimited duration.

    " }, "defaultTaskList":{ "shape":"TaskList", - "documentation":"

    Optional. The default task list, specified when registering the workflow type, for decisions tasks scheduled for workflow executions of this type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    " + "documentation":"

    The default task list, specified when registering the workflow type, for decisions tasks scheduled for workflow executions of this type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    " }, "defaultTaskPriority":{ "shape":"TaskPriority", - "documentation":"

    Optional. The default task priority, specified when registering the workflow type, for all decision tasks of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon Simple Workflow Developer Guide.

    " + "documentation":"

    The default task priority, specified when registering the workflow type, for all decision tasks of this workflow type. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    Valid values are integers that range from Java's Integer.MIN_VALUE (-2147483648) to Integer.MAX_VALUE (2147483647). Higher numbers indicate higher priority.

    For more information about setting task priority, see Setting Task Priority in the Amazon SWF Developer Guide.

    " }, "defaultChildPolicy":{ "shape":"ChildPolicy", - "documentation":"

    Optional. The default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution decision.

    The supported child policies are:

    • TERMINATE: the child executions will be terminated.
    • REQUEST_CANCEL: a request to cancel will be attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.
    • ABANDON: no action will be taken. The child executions will continue to run.
    " + "documentation":"

    The default policy to use for the child workflow executions when a workflow execution of this type is terminated, by calling the TerminateWorkflowExecution action explicitly or due to an expired timeout. This default can be overridden when starting a workflow execution using the StartWorkflowExecution action or the StartChildWorkflowExecution Decision.

    The supported child policies are:

    • TERMINATE – The child executions are terminated.

    • REQUEST_CANCEL – A request to cancel is attempted for each child execution by recording a WorkflowExecutionCancelRequested event in its history. It is up to the decider to take appropriate actions when it receives an execution history with this event.

    • ABANDON – No action is taken. The child executions continue to run.

    " }, "defaultLambdaRole":{ "shape":"Arn", - "documentation":"

    The default IAM role to use when a workflow execution invokes a AWS Lambda function.

    " + "documentation":"

    The default IAM role attached to this workflow type.

    Executions of this workflow type need IAM roles to invoke Lambda functions. If you don't specify an IAM role when starting this workflow type, the default Lambda role is attached to the execution. For more information, see https://docs.aws.amazon.com/amazonswf/latest/developerguide/lambda-task.html in the Amazon SWF Developer Guide.

    " } }, "documentation":"

    The configuration settings of a workflow type.

    " @@ -4722,11 +4665,11 @@ "members":{ "typeInfo":{ "shape":"WorkflowTypeInfo", - "documentation":"

    General information about the workflow type.

    The status of the workflow type (returned in the WorkflowTypeInfo structure) can be one of the following.

    • REGISTERED: The type is registered and available. Workers supporting this type should be running.
    • DEPRECATED: The type was deprecated using DeprecateWorkflowType, but is still in use. You should keep workers supporting this type running. You cannot create new workflow executions of this type.
    " + "documentation":"

    General information about the workflow type.

    The status of the workflow type (returned in the WorkflowTypeInfo structure) can be one of the following.

    • REGISTERED – The type is registered and available. Workers supporting this type should be running.

    • DEPRECATED – The type was deprecated using DeprecateWorkflowType, but is still in use. You should keep workers supporting this type running. You cannot create new workflow executions of this type.

    " }, "configuration":{ "shape":"WorkflowTypeConfiguration", - "documentation":"

    Configuration settings of the workflow type registered through RegisterWorkflowType

    " + "documentation":"

    Configuration settings of the workflow type registered through RegisterWorkflowType

    " } }, "documentation":"

    Contains details about a workflow type.

    " @@ -4737,7 +4680,7 @@ "members":{ "name":{ "shape":"Name", - "documentation":"

    Required. Name of the workflow type.

    " + "documentation":"

    Name of the workflow type.

    " }, "version":{ "shape":"VersionOptional", @@ -4797,6 +4740,5 @@ "documentation":"

    Contains a paginated list of information structures about workflow types.

    " } }, - "examples":{ - } + "documentation":"Amazon Simple Workflow Service

    The Amazon Simple Workflow Service (Amazon SWF) makes it easy to build applications that use Amazon's cloud to coordinate work across distributed components. In Amazon SWF, a task represents a logical unit of work that is performed by a component of your workflow. Coordinating tasks in a workflow involves managing intertask dependencies, scheduling, and concurrency in accordance with the logical flow of the application.

    Amazon SWF gives you full control over implementing tasks and coordinating them without worrying about underlying complexities such as tracking their progress and maintaining their state.

    This documentation serves as reference only. For a broader overview of the Amazon SWF programming model, see the Amazon SWF Developer Guide .

    " } diff -Nru python-botocore-1.4.70/botocore/data/synthetics/2017-10-11/paginators-1.json python-botocore-1.16.19+repack/botocore/data/synthetics/2017-10-11/paginators-1.json --- python-botocore-1.4.70/botocore/data/synthetics/2017-10-11/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/synthetics/2017-10-11/paginators-1.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/synthetics/2017-10-11/service-2.json python-botocore-1.16.19+repack/botocore/data/synthetics/2017-10-11/service-2.json --- python-botocore-1.4.70/botocore/data/synthetics/2017-10-11/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/synthetics/2017-10-11/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1084 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-11", + "endpointPrefix":"synthetics", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"Synthetics", + "serviceFullName":"Synthetics", + "serviceId":"synthetics", + "signatureVersion":"v4", + "signingName":"synthetics", + "uid":"synthetics-2017-10-11" + }, + "operations":{ + "CreateCanary":{ + "name":"CreateCanary", + "http":{ + "method":"POST", + "requestUri":"/canary" + }, + "input":{"shape":"CreateCanaryRequest"}, + "output":{"shape":"CreateCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Creates a canary. Canaries are scripts that monitor your endpoints and APIs from the outside-in. Canaries help you check the availability and latency of your web services and troubleshoot anomalies by investigating load time data, screenshots of the UI, logs, and metrics. You can set up a canary to run continuously or just once.

    Do not use CreateCanary to modify an existing canary. Use UpdateCanary instead.

    To create canaries, you must have the CloudWatchSyntheticsFullAccess policy. If you are creating a new IAM role for the canary, you also need the the iam:CreateRole, iam:CreatePolicy and iam:AttachRolePolicy permissions. For more information, see Necessary Roles and Permissions.

    Do not include secrets or proprietary information in your canary names. The canary name makes up part of the Amazon Resource Name (ARN) for the canary, and the ARN is included in outbound calls over the internet. For more information, see Security Considerations for Synthetics Canaries.

    " + }, + "DeleteCanary":{ + "name":"DeleteCanary", + "http":{ + "method":"DELETE", + "requestUri":"/canary/{name}" + }, + "input":{"shape":"DeleteCanaryRequest"}, + "output":{"shape":"DeleteCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Permanently deletes the specified canary.

    When you delete a canary, resources used and created by the canary are not automatically deleted. After you delete a canary that you do not intend to use again, you should also delete the following:

    • The Lambda functions and layers used by this canary. These have the prefix cwsyn-MyCanaryName .

    • The CloudWatch alarms created for this canary. These alarms have a name of Synthetics-SharpDrop-Alarm-MyCanaryName .

    • Amazon S3 objects and buckets, such as the canary's artifact location.

    • IAM roles created for the canary. If they were created in the console, these roles have the name role/service-role/CloudWatchSyntheticsRole-MyCanaryName .

    • CloudWatch Logs log groups created for the canary. These logs groups have the name /aws/lambda/cwsyn-MyCanaryName .

    Before you delete a canary, you might want to use GetCanary to display the information about this canary. Make note of the information returned by this operation so that you can delete these resources after you delete the canary.

    " + }, + "DescribeCanaries":{ + "name":"DescribeCanaries", + "http":{ + "method":"POST", + "requestUri":"/canaries" + }, + "input":{"shape":"DescribeCanariesRequest"}, + "output":{"shape":"DescribeCanariesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    This operation returns a list of the canaries in your account, along with full details about each canary.

    This operation does not have resource-level authorization, so if a user is able to use DescribeCanaries, the user can see all of the canaries in the account. A deny policy can only be used to restrict access to all canaries. It cannot be used on specific resources.

    " + }, + "DescribeCanariesLastRun":{ + "name":"DescribeCanariesLastRun", + "http":{ + "method":"POST", + "requestUri":"/canaries/last-run" + }, + "input":{"shape":"DescribeCanariesLastRunRequest"}, + "output":{"shape":"DescribeCanariesLastRunResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Use this operation to see information from the most recent run of each canary that you have created.

    " + }, + "DescribeRuntimeVersions":{ + "name":"DescribeRuntimeVersions", + "http":{ + "method":"POST", + "requestUri":"/runtime-versions" + }, + "input":{"shape":"DescribeRuntimeVersionsRequest"}, + "output":{"shape":"DescribeRuntimeVersionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Returns a list of Synthetics canary runtime versions. For more information, see Canary Runtime Versions.

    " + }, + "GetCanary":{ + "name":"GetCanary", + "http":{ + "method":"GET", + "requestUri":"/canary/{name}" + }, + "input":{"shape":"GetCanaryRequest"}, + "output":{"shape":"GetCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Retrieves complete information about one canary. You must specify the name of the canary that you want. To get a list of canaries and their names, use DescribeCanaries.

    " + }, + "GetCanaryRuns":{ + "name":"GetCanaryRuns", + "http":{ + "method":"POST", + "requestUri":"/canary/{name}/runs" + }, + "input":{"shape":"GetCanaryRunsRequest"}, + "output":{"shape":"GetCanaryRunsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Retrieves a list of runs for a specified canary.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Displays the tags associated with a canary.

    " + }, + "StartCanary":{ + "name":"StartCanary", + "http":{ + "method":"POST", + "requestUri":"/canary/{name}/start" + }, + "input":{"shape":"StartCanaryRequest"}, + "output":{"shape":"StartCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Use this operation to run a canary that has already been created. The frequency of the canary runs is determined by the value of the canary's Schedule. To see a canary's schedule, use GetCanary.

    " + }, + "StopCanary":{ + "name":"StopCanary", + "http":{ + "method":"POST", + "requestUri":"/canary/{name}/stop" + }, + "input":{"shape":"StopCanaryRequest"}, + "output":{"shape":"StopCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Stops the canary to prevent all future runs. If the canary is currently running, Synthetics stops waiting for the current run of the specified canary to complete. The run that is in progress completes on its own, publishes metrics, and uploads artifacts, but it is not recorded in Synthetics as a completed run.

    You can use StartCanary to start it running again with the canary’s current schedule at any point in the future.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Assigns one or more tags (key-value pairs) to the specified canary.

    Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

    Tags don't have any semantic meaning to AWS and are interpreted strictly as strings of characters.

    You can use the TagResource action with a canary that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.

    You can associate as many as 50 tags with a canary.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"

    Removes one or more tags from the specified canary.

    " + }, + "UpdateCanary":{ + "name":"UpdateCanary", + "http":{ + "method":"PATCH", + "requestUri":"/canary/{name}" + }, + "input":{"shape":"UpdateCanaryRequest"}, + "output":{"shape":"UpdateCanaryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Use this operation to change the settings of a canary that has already been created.

    You can't use this operation to update the tags of an existing canary. To change the tags of an existing canary, use TagResource.

    " + } + }, + "shapes":{ + "Arn":{ + "type":"string", + "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso-{0,1}[a-z]{0,1}):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "Blob":{ + "type":"blob", + "max":10000000, + "min":1 + }, + "Canaries":{ + "type":"list", + "member":{"shape":"Canary"} + }, + "CanariesLastRun":{ + "type":"list", + "member":{"shape":"CanaryLastRun"} + }, + "Canary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"UUID", + "documentation":"

    The unique ID of this canary.

    " + }, + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary.

    " + }, + "Code":{"shape":"CanaryCodeOutput"}, + "ExecutionRoleArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the IAM role used to run the canary. This role must include lambda.amazonaws.com as a principal in the trust policy.

    " + }, + "Schedule":{ + "shape":"CanaryScheduleOutput", + "documentation":"

    A structure that contains information about how often the canary is to run, and when these runs are to stop.

    " + }, + "RunConfig":{"shape":"CanaryRunConfigOutput"}, + "SuccessRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about successful runs of this canary.

    " + }, + "FailureRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about failed runs of this canary.

    " + }, + "Status":{ + "shape":"CanaryStatus", + "documentation":"

    A structure that contains information about the canary's status.

    " + }, + "Timeline":{ + "shape":"CanaryTimeline", + "documentation":"

    A structure that contains information about when the canary was created, modified, and most recently run.

    " + }, + "ArtifactS3Location":{ + "shape":"String", + "documentation":"

    The location in Amazon S3 where Synthetics stores artifacts from the runs of this canary. Artifacts include the log file, screenshots, and HAR files.

    " + }, + "EngineArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the Lambda function that is used as your canary's engine. For more information about Lambda ARN format, see Resources and Conditions for Lambda Actions.

    " + }, + "RuntimeVersion":{ + "shape":"String", + "documentation":"

    Specifies the runtime version to use for the canary. Currently, the only valid value is syn-1.0. For more information about runtime versions, see Canary Runtime Versions.

    " + }, + "VpcConfig":{"shape":"VpcConfigOutput"}, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The list of key-value pairs that are associated with the canary.

    " + } + }, + "documentation":"

    This structure contains all information about one canary in your account.

    " + }, + "CanaryCodeInput":{ + "type":"structure", + "required":["Handler"], + "members":{ + "S3Bucket":{ + "shape":"String", + "documentation":"

    If your canary script is located in S3, specify the full bucket name here. The bucket must already exist. Specify the full bucket name, including s3:// as the start of the bucket name.

    " + }, + "S3Key":{ + "shape":"String", + "documentation":"

    The S3 key of your script. For more information, see Working with Amazon S3 Objects.

    " + }, + "S3Version":{ + "shape":"String", + "documentation":"

    The S3 version ID of your script.

    " + }, + "ZipFile":{ + "shape":"Blob", + "documentation":"

    If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the .zip file that contains the script. It can be up to 5 MB.

    " + }, + "Handler":{ + "shape":"String", + "documentation":"

    The entry point to use for the source code when running the canary. This value must end with the string .handler.

    " + } + }, + "documentation":"

    Use this structure to input your script code for the canary. This structure contains the Lambda handler with the location where the canary should start running the script. If the script is stored in an S3 bucket, the bucket name, key, and version are also included. If the script was passed into the canary directly, the script code is contained in the value of Zipfile.

    " + }, + "CanaryCodeOutput":{ + "type":"structure", + "members":{ + "SourceLocationArn":{ + "shape":"String", + "documentation":"

    The ARN of the Lambda layer where Synthetics stores the canary script code.

    " + }, + "Handler":{ + "shape":"String", + "documentation":"

    The entry point to use for the source code when running the canary.

    " + } + }, + "documentation":"

    This structure contains information about the canary's Lambda handler and where its code is stored by CloudWatch Synthetics.

    " + }, + "CanaryLastRun":{ + "type":"structure", + "members":{ + "CanaryName":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary.

    " + }, + "LastRun":{ + "shape":"CanaryRun", + "documentation":"

    The results from this canary's most recent run.

    " + } + }, + "documentation":"

    This structure contains information about the most recent run of a single canary.

    " + }, + "CanaryName":{ + "type":"string", + "max":21, + "min":1, + "pattern":"^[0-9a-z_\\-]+$" + }, + "CanaryRun":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary.

    " + }, + "Status":{ + "shape":"CanaryRunStatus", + "documentation":"

    The status of this run.

    " + }, + "Timeline":{ + "shape":"CanaryRunTimeline", + "documentation":"

    A structure that contains the start and end times of this run.

    " + }, + "ArtifactS3Location":{ + "shape":"String", + "documentation":"

    The location where the canary stored artifacts from the run. Artifacts include the log file, screenshots, and HAR files.

    " + } + }, + "documentation":"

    This structure contains the details about one run of one canary.

    " + }, + "CanaryRunConfigInput":{ + "type":"structure", + "required":["TimeoutInSeconds"], + "members":{ + "TimeoutInSeconds":{ + "shape":"MaxFifteenMinutesInSeconds", + "documentation":"

    How long the canary is allowed to run before it must stop. If you omit this field, the frequency of the canary is used as this value, up to a maximum of 14 minutes.

    " + }, + "MemoryInMB":{ + "shape":"MaxSize3008", + "documentation":"

    The maximum amount of memory available to the canary while it is running, in MB. The value you specify must be a multiple of 64.

    " + } + }, + "documentation":"

    A structure that contains input information for a canary run.

    " + }, + "CanaryRunConfigOutput":{ + "type":"structure", + "members":{ + "TimeoutInSeconds":{ + "shape":"MaxFifteenMinutesInSeconds", + "documentation":"

    How long the canary is allowed to run before it must stop.

    " + }, + "MemoryInMB":{ + "shape":"MaxSize3008", + "documentation":"

    The maximum amount of memory available to the canary while it is running, in MB. The value you must be a multiple of 64.

    " + } + }, + "documentation":"

    A structure that contains information for a canary run.

    " + }, + "CanaryRunState":{ + "type":"string", + "enum":[ + "RUNNING", + "PASSED", + "FAILED" + ] + }, + "CanaryRunStateReasonCode":{ + "type":"string", + "enum":[ + "CANARY_FAILURE", + "EXECUTION_FAILURE" + ] + }, + "CanaryRunStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"CanaryRunState", + "documentation":"

    The current state of the run.

    " + }, + "StateReason":{ + "shape":"String", + "documentation":"

    If run of the canary failed, this field contains the reason for the error.

    " + }, + "StateReasonCode":{ + "shape":"CanaryRunStateReasonCode", + "documentation":"

    If this value is CANARY_FAILURE, an exception occurred in the canary code. If this value is EXECUTION_FAILURE, an exception occurred in CloudWatch Synthetics.

    " + } + }, + "documentation":"

    This structure contains the status information about a canary run.

    " + }, + "CanaryRunTimeline":{ + "type":"structure", + "members":{ + "Started":{ + "shape":"Timestamp", + "documentation":"

    The start time of the run.

    " + }, + "Completed":{ + "shape":"Timestamp", + "documentation":"

    The end time of the run.

    " + } + }, + "documentation":"

    This structure contains the start and end times of a single canary run.

    " + }, + "CanaryRuns":{ + "type":"list", + "member":{"shape":"CanaryRun"} + }, + "CanaryScheduleInput":{ + "type":"structure", + "required":["Expression"], + "members":{ + "Expression":{ + "shape":"String", + "documentation":"

    A rate expression that defines how often the canary is to run. The syntax is rate(number unit). unit can be minute, minutes, or hour.

    For example, rate(1 minute) runs the canary once a minute, rate(10 minutes) runs it once every 10 minutes, and rate(1 hour) runs it once every hour. You can specify a frequency between rate(1 minute) and rate(1 hour).

    Specifying rate(0 minute) or rate(0 hour) is a special value that causes the canary to run only once when it is started.

    " + }, + "DurationInSeconds":{ + "shape":"MaxOneYearInSeconds", + "documentation":"

    How long, in seconds, for the canary to continue making regular runs according to the schedule in the Expression value. If you specify 0, the canary continues making runs until you stop it. If you omit this field, the default of 0 is used.

    " + } + }, + "documentation":"

    This structure specifies how often a canary is to make runs and the date and time when it should stop making runs.

    " + }, + "CanaryScheduleOutput":{ + "type":"structure", + "members":{ + "Expression":{ + "shape":"String", + "documentation":"

    A rate expression that defines how often the canary is to run. The syntax is rate(number unit). unit can be minute, minutes, or hour.

    For example, rate(1 minute) runs the canary once a minute, rate(10 minutes) runs it once every 10 minutes, and rate(1 hour) runs it once every hour.

    Specifying rate(0 minute) or rate(0 hour) is a special value that causes the canary to run only once when it is started.

    " + }, + "DurationInSeconds":{ + "shape":"MaxOneYearInSeconds", + "documentation":"

    How long, in seconds, for the canary to continue making regular runs after it was created. The runs are performed according to the schedule in the Expression value.

    " + } + }, + "documentation":"

    How long, in seconds, for the canary to continue making regular runs according to the schedule in the Expression value.

    " + }, + "CanaryState":{ + "type":"string", + "enum":[ + "CREATING", + "READY", + "STARTING", + "RUNNING", + "UPDATING", + "STOPPING", + "STOPPED", + "ERROR", + "DELETING" + ] + }, + "CanaryStateReasonCode":{ + "type":"string", + "enum":["INVALID_PERMISSIONS"] + }, + "CanaryStatus":{ + "type":"structure", + "members":{ + "State":{ + "shape":"CanaryState", + "documentation":"

    The current state of the canary.

    " + }, + "StateReason":{ + "shape":"String", + "documentation":"

    If the canary has insufficient permissions to run, this field provides more details.

    " + }, + "StateReasonCode":{ + "shape":"CanaryStateReasonCode", + "documentation":"

    If the canary cannot run or has failed, this field displays the reason.

    " + } + }, + "documentation":"

    A structure that contains the current state of the canary.

    " + }, + "CanaryTimeline":{ + "type":"structure", + "members":{ + "Created":{ + "shape":"Timestamp", + "documentation":"

    The date and time the canary was created.

    " + }, + "LastModified":{ + "shape":"Timestamp", + "documentation":"

    The date and time the canary was most recently modified.

    " + }, + "LastStarted":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the canary's most recent run started.

    " + }, + "LastStopped":{ + "shape":"Timestamp", + "documentation":"

    The date and time that the canary's most recent run ended.

    " + } + }, + "documentation":"

    This structure contains information about when the canary was created and modified.

    " + }, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    A conflicting operation is already in progress.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateCanaryRequest":{ + "type":"structure", + "required":[ + "Name", + "Code", + "ArtifactS3Location", + "ExecutionRoleArn", + "Schedule", + "RuntimeVersion" + ], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name for this canary. Be sure to give it a descriptive name that distinguishes it from other canaries in your account.

    Do not include secrets or proprietary information in your canary names. The canary name makes up part of the canary ARN, and the ARN is included in outbound calls over the internet. For more information, see Security Considerations for Synthetics Canaries.

    " + }, + "Code":{ + "shape":"CanaryCodeInput", + "documentation":"

    A structure that includes the entry point from which the canary should start running your script. If the script is stored in an S3 bucket, the bucket name, key, and version are also included.

    " + }, + "ArtifactS3Location":{ + "shape":"String", + "documentation":"

    The location in Amazon S3 where Synthetics stores artifacts from the test runs of this canary. Artifacts include the log file, screenshots, and HAR files.

    " + }, + "ExecutionRoleArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the IAM role to be used to run the canary. This role must already exist, and must include lambda.amazonaws.com as a principal in the trust policy. The role must also have the following permissions:

    • s3:PutObject

    • s3:GetBucketLocation

    • s3:ListAllMyBuckets

    • cloudwatch:PutMetricData

    • logs:CreateLogGroup

    • logs:CreateLogStream

    • logs:CreateLogStream

    " + }, + "Schedule":{ + "shape":"CanaryScheduleInput", + "documentation":"

    A structure that contains information about how often the canary is to run and when these test runs are to stop.

    " + }, + "RunConfig":{ + "shape":"CanaryRunConfigInput", + "documentation":"

    A structure that contains the configuration for individual canary runs, such as timeout value.

    " + }, + "SuccessRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about successful runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days.

    " + }, + "FailureRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about failed runs of this canary. If you omit this field, the default of 31 days is used. The valid range is 1 to 455 days.

    " + }, + "RuntimeVersion":{ + "shape":"String", + "documentation":"

    Specifies the runtime version to use for the canary. Currently, the only valid value is syn-1.0. For more information about runtime versions, see Canary Runtime Versions.

    " + }, + "VpcConfig":{ + "shape":"VpcConfigInput", + "documentation":"

    If this canary is to test an endpoint in a VPC, this structure contains information about the subnet and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC.

    " + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    A list of key-value pairs to associate with the canary. You can associate as many as 50 tags with a canary.

    Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only the resources that have certain tag values.

    " + } + } + }, + "CreateCanaryResponse":{ + "type":"structure", + "members":{ + "Canary":{ + "shape":"Canary", + "documentation":"

    The full details about the canary you have created.

    " + } + } + }, + "DeleteCanaryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want to delete. To find the names of your canaries, use DescribeCanaries.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "DeleteCanaryResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeCanariesLastRunRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent DescribeCanaries operation to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxSize100", + "documentation":"

    Specify this parameter to limit how many runs are returned each time you use the DescribeLastRun operation. If you omit this parameter, the default of 100 is used.

    " + } + } + }, + "DescribeCanariesLastRunResponse":{ + "type":"structure", + "members":{ + "CanariesLastRun":{ + "shape":"CanariesLastRun", + "documentation":"

    An array that contains the information from the most recent run of each canary.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent DescribeCanariesLastRun operation to retrieve the next set of results.

    " + } + } + }, + "DescribeCanariesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent operation to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxCanaryResults", + "documentation":"

    Specify this parameter to limit how many canaries are returned each time you use the DescribeCanaries operation. If you omit this parameter, the default of 100 is used.

    " + } + } + }, + "DescribeCanariesResponse":{ + "type":"structure", + "members":{ + "Canaries":{ + "shape":"Canaries", + "documentation":"

    Returns an array. Each item in the array contains the full information about one canary.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent DescribeCanaries operation to retrieve the next set of results.

    " + } + } + }, + "DescribeRuntimeVersionsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent DescribeRuntimeVersions operation to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxSize100", + "documentation":"

    Specify this parameter to limit how many runs are returned each time you use the DescribeRuntimeVersions operation. If you omit this parameter, the default of 100 is used.

    " + } + } + }, + "DescribeRuntimeVersionsResponse":{ + "type":"structure", + "members":{ + "RuntimeVersions":{ + "shape":"RuntimeVersionList", + "documentation":"

    An array of objects that display the details about each Synthetics canary runtime version.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent DescribeRuntimeVersions operation to retrieve the next set of results.

    " + } + } + }, + "ErrorMessage":{"type":"string"}, + "GetCanaryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want details for.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "GetCanaryResponse":{ + "type":"structure", + "members":{ + "Canary":{ + "shape":"Canary", + "documentation":"

    A strucure that contains the full information about the canary.

    " + } + } + }, + "GetCanaryRunsRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want to see runs for.

    ", + "location":"uri", + "locationName":"name" + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent GetCanaryRuns operation to retrieve the next set of results.

    " + }, + "MaxResults":{ + "shape":"MaxSize100", + "documentation":"

    Specify this parameter to limit how many runs are returned each time you use the GetCanaryRuns operation. If you omit this parameter, the default of 100 is used.

    " + } + } + }, + "GetCanaryRunsResponse":{ + "type":"structure", + "members":{ + "CanaryRuns":{ + "shape":"CanaryRuns", + "documentation":"

    An array of structures. Each structure contains the details of one of the retrieved canary runs.

    " + }, + "NextToken":{ + "shape":"Token", + "documentation":"

    A token that indicates that there is more data available. You can use this token in a subsequent GetCanaryRuns operation to retrieve the next set of results.

    " + } + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An unknown internal error occurred.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the canary that you want to view tags for.

    The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .

    ", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagMap", + "documentation":"

    The list of tag keys and values associated with the canary that you specified.

    " + } + } + }, + "MaxCanaryResults":{ + "type":"integer", + "max":20, + "min":1 + }, + "MaxFifteenMinutesInSeconds":{ + "type":"integer", + "max":900, + "min":60 + }, + "MaxOneYearInSeconds":{ + "type":"long", + "max":31622400, + "min":0 + }, + "MaxSize100":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxSize1024":{ + "type":"integer", + "max":1024, + "min":1 + }, + "MaxSize3008":{ + "type":"integer", + "max":3008, + "min":960 + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    One of the specified resources was not found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RuntimeVersion":{ + "type":"structure", + "members":{ + "VersionName":{ + "shape":"String", + "documentation":"

    The name of the runtime version. Currently, the only valid value is syn-1.0.

    Specifies the runtime version to use for the canary. Currently, the only valid value is syn-1.0.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    A description of the runtime version, created by Amazon.

    " + }, + "ReleaseDate":{ + "shape":"Timestamp", + "documentation":"

    The date that the runtime version was released.

    " + }, + "DeprecationDate":{ + "shape":"Timestamp", + "documentation":"

    If this runtime version is deprecated, this value is the date of deprecation.

    " + } + }, + "documentation":"

    This structure contains information about one canary runtime version. For more information about runtime versions, see Canary Runtime Versions.

    " + }, + "RuntimeVersionList":{ + "type":"list", + "member":{"shape":"RuntimeVersion"} + }, + "SecurityGroupId":{"type":"string"}, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":0 + }, + "StartCanaryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want to run. To find canary names, use DescribeCanaries.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "StartCanaryResponse":{ + "type":"structure", + "members":{ + } + }, + "StopCanaryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want to stop. To find the names of your canaries, use DescribeCanaries.

    ", + "location":"uri", + "locationName":"name" + } + } + }, + "StopCanaryResponse":{ + "type":"structure", + "members":{ + } + }, + "String":{ + "type":"string", + "max":1024, + "min":1 + }, + "SubnetId":{"type":"string"}, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":16, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the canary that you're adding tags to.

    The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "Tags":{ + "shape":"TagMap", + "documentation":"

    The list of key-value pairs to associate with the canary.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Timestamp":{"type":"timestamp"}, + "Token":{ + "type":"string", + "pattern":"^[a-zA-Z0-9=/+_.-]{4,252}$" + }, + "UUID":{ + "type":"string", + "pattern":"^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the canary that you're removing tags from.

    The ARN format of a canary is arn:aws:synthetics:Region:account-id:canary:canary-name .

    ", + "location":"uri", + "locationName":"resourceArn" + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The list of tag keys to remove from the resource.

    ", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCanaryRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"CanaryName", + "documentation":"

    The name of the canary that you want to update. To find the names of your canaries, use DescribeCanaries.

    You cannot change the name of a canary that has already been created.

    ", + "location":"uri", + "locationName":"name" + }, + "Code":{ + "shape":"CanaryCodeInput", + "documentation":"

    A structure that includes the entry point from which the canary should start running your script. If the script is stored in an S3 bucket, the bucket name, key, and version are also included.

    " + }, + "ExecutionRoleArn":{ + "shape":"Arn", + "documentation":"

    The ARN of the IAM role to be used to run the canary. This role must already exist, and must include lambda.amazonaws.com as a principal in the trust policy. The role must also have the following permissions:

    • s3:PutObject

    • s3:GetBucketLocation

    • s3:ListAllMyBuckets

    • cloudwatch:PutMetricData

    • logs:CreateLogGroup

    • logs:CreateLogStream

    • logs:CreateLogStream

    " + }, + "RuntimeVersion":{ + "shape":"String", + "documentation":"

    Specifies the runtime version to use for the canary. Currently, the only valid value is syn-1.0. For more information about runtime versions, see Canary Runtime Versions.

    " + }, + "Schedule":{ + "shape":"CanaryScheduleInput", + "documentation":"

    A structure that contains information about how often the canary is to run, and when these runs are to stop.

    " + }, + "RunConfig":{ + "shape":"CanaryRunConfigInput", + "documentation":"

    A structure that contains the timeout value that is used for each individual run of the canary.

    " + }, + "SuccessRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about successful runs of this canary.

    " + }, + "FailureRetentionPeriodInDays":{ + "shape":"MaxSize1024", + "documentation":"

    The number of days to retain data about failed runs of this canary.

    " + }, + "VpcConfig":{ + "shape":"VpcConfigInput", + "documentation":"

    If this canary is to test an endpoint in a VPC, this structure contains information about the subnet and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC.

    " + } + } + }, + "UpdateCanaryResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    A parameter could not be validated.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "VpcConfigInput":{ + "type":"structure", + "members":{ + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    The IDs of the subnets where this canary is to run.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The IDs of the security groups for this canary.

    " + } + }, + "documentation":"

    If this canary is to test an endpoint in a VPC, this structure contains information about the subnets and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC.

    " + }, + "VpcConfigOutput":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

    The IDs of the VPC where this canary is to run.

    " + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    The IDs of the subnets where this canary is to run.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The IDs of the security groups for this canary.

    " + } + }, + "documentation":"

    If this canary is to test an endpoint in a VPC, this structure contains information about the subnets and security groups of the VPC endpoint. For more information, see Running a Canary in a VPC.

    " + }, + "VpcId":{"type":"string"} + }, + "documentation":"Amazon CloudWatch Synthetics

    You can use Amazon CloudWatch Synthetics to continually monitor your services. You can create and manage canaries, which are modular, lightweight scripts that monitor your endpoints and APIs from the outside-in. You can set up your canaries to run 24 hours a day, once per minute. The canaries help you check the availability and latency of your web services and troubleshoot anomalies by investigating load time data, screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch ServiceLens to help you trace the causes of impacted nodes in your applications. For more information, see Using ServiceLens to Monitor the Health of Your Applications in the Amazon CloudWatch User Guide.

    Before you create and manage canaries, be aware of the security considerations. For more information, see Security Considerations for Synthetics Canaries.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/textract/2018-06-27/paginators-1.json python-botocore-1.16.19+repack/botocore/data/textract/2018-06-27/paginators-1.json --- python-botocore-1.4.70/botocore/data/textract/2018-06-27/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/textract/2018-06-27/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/textract/2018-06-27/service-2.json python-botocore-1.16.19+repack/botocore/data/textract/2018-06-27/service-2.json --- python-botocore-1.4.70/botocore/data/textract/2018-06-27/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/textract/2018-06-27/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,934 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-27", + "endpointPrefix":"textract", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Textract", + "serviceId":"Textract", + "signatureVersion":"v4", + "targetPrefix":"Textract", + "uid":"textract-2018-06-27" + }, + "operations":{ + "AnalyzeDocument":{ + "name":"AnalyzeDocument", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AnalyzeDocumentRequest"}, + "output":{"shape":"AnalyzeDocumentResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"}, + {"shape":"HumanLoopQuotaExceededException"} + ], + "documentation":"

    Analyzes an input document for relationships between detected items.

    The types of information returned are as follows:

    • Form data (key-value pairs). The related information is returned in two Block objects, each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value.

    • Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table.

    • Lines and words of text. A LINE Block object contains one or more WORD Block objects. All lines and words that are detected in the document are returned (including text that doesn't have a relationship with the value of FeatureTypes).

    Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

    You can choose which type of analysis to perform by specifying the FeatureTypes list.

    The output is returned in a list of Block objects.

    AnalyzeDocument is a synchronous operation. To analyze documents asynchronously, use StartDocumentAnalysis.

    For more information, see Document Text Analysis.

    " + }, + "DetectDocumentText":{ + "name":"DetectDocumentText", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DetectDocumentTextRequest"}, + "output":{"shape":"DetectDocumentTextResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Detects text in the input document. Amazon Textract can detect lines of text and the words that make up a line of text. The input document must be an image in JPEG or PNG format. DetectDocumentText returns the detected text in an array of Block objects.

    Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

    DetectDocumentText is a synchronous operation. To analyze documents asynchronously, use StartDocumentTextDetection.

    For more information, see Document Text Detection.

    " + }, + "GetDocumentAnalysis":{ + "name":"GetDocumentAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDocumentAnalysisRequest"}, + "output":{"shape":"GetDocumentAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidJobIdException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the results for an Amazon Textract asynchronous operation that analyzes text in a document.

    You start asynchronous text analysis by calling StartDocumentAnalysis, which returns a job identifier (JobId). When the text analysis operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentAnalysis. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

    GetDocumentAnalysis returns an array of Block objects. The following types of information are returned:

    • Form data (key-value pairs). The related information is returned in two Block objects, each of type KEY_VALUE_SET: a KEY Block object and a VALUE Block object. For example, Name: Ana Silva Carolina contains a key and value. Name: is the key. Ana Silva Carolina is the value.

    • Table and table cell data. A TABLE Block object contains information about a detected table. A CELL Block object is returned for each cell in a table.

    • Lines and words of text. A LINE Block object contains one or more WORD Block objects. All lines and words that are detected in the document are returned (including text that doesn't have a relationship with the value of the StartDocumentAnalysis FeatureTypes input parameter).

    Selection elements such as check boxes and option buttons (radio buttons) can be detected in form data and in tables. A SELECTION_ELEMENT Block object contains information about a selection element, including the selection status.

    Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentAnalysis, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentAnalysis.

    For more information, see Document Text Analysis.

    " + }, + "GetDocumentTextDetection":{ + "name":"GetDocumentTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDocumentTextDetectionRequest"}, + "output":{"shape":"GetDocumentTextDetectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InvalidJobIdException"}, + {"shape":"InternalServerError"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Gets the results for an Amazon Textract asynchronous operation that detects text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

    You start asynchronous text detection by calling StartDocumentTextDetection, which returns a job identifier (JobId). When the text detection operation finishes, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that's registered in the initial call to StartDocumentTextDetection. To get the results of the text-detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

    GetDocumentTextDetection returns an array of Block objects.

    Each document page has as an associated Block of type PAGE. Each PAGE Block object is the parent of LINE Block objects that represent the lines of detected text on a page. A LINE Block object is a parent for each word that makes up the line. Words are represented by Block objects of type WORD.

    Use the MaxResults parameter to limit the number of blocks that are returned. If there are more results than specified in MaxResults, the value of NextToken in the operation response contains a pagination token for getting the next set of results. To get the next page of results, call GetDocumentTextDetection, and populate the NextToken request parameter with the token value that's returned from the previous call to GetDocumentTextDetection.

    For more information, see Document Text Detection.

    " + }, + "StartDocumentAnalysis":{ + "name":"StartDocumentAnalysis", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDocumentAnalysisRequest"}, + "output":{"shape":"StartDocumentAnalysisResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Starts the asynchronous analysis of an input document for relationships between detected items such as key-value pairs, tables, and selection elements.

    StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

    StartDocumentAnalysis returns a job identifier (JobId) that you use to get the results of the operation. When text analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text analysis operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentAnalysis, and pass the job identifier (JobId) from the initial call to StartDocumentAnalysis.

    For more information, see Document Text Analysis.

    " + }, + "StartDocumentTextDetection":{ + "name":"StartDocumentTextDetection", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartDocumentTextDetectionRequest"}, + "output":{"shape":"StartDocumentTextDetectionResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"InvalidS3ObjectException"}, + {"shape":"UnsupportedDocumentException"}, + {"shape":"DocumentTooLargeException"}, + {"shape":"BadDocumentException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ProvisionedThroughputExceededException"}, + {"shape":"InternalServerError"}, + {"shape":"IdempotentParameterMismatchException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of text and the words that make up a line of text.

    StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name of the document.

    StartTextDetection returns a job identifier (JobId) that you use to get the results of the operation. When text detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS) topic that you specify in NotificationChannel. To get the results of the text detection operation, first check that the status value published to the Amazon SNS topic is SUCCEEDED. If so, call GetDocumentTextDetection, and pass the job identifier (JobId) from the initial call to StartDocumentTextDetection.

    For more information, see Document Text Detection.

    " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    You aren't authorized to perform the action.

    ", + "exception":true + }, + "AnalyzeDocumentRequest":{ + "type":"structure", + "required":[ + "Document", + "FeatureTypes" + ], + "members":{ + "Document":{ + "shape":"Document", + "documentation":"

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG or PNG format.

    If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes that are passed using the Bytes field.

    " + }, + "FeatureTypes":{ + "shape":"FeatureTypes", + "documentation":"

    A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

    " + }, + "HumanLoopConfig":{ + "shape":"HumanLoopConfig", + "documentation":"

    Sets the configuration for the human in the loop workflow for analyzing documents.

    " + } + } + }, + "AnalyzeDocumentResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

    Metadata about the analyzed document. An example is the number of pages.

    " + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

    The items that are detected and analyzed by AnalyzeDocument.

    " + }, + "HumanLoopActivationOutput":{ + "shape":"HumanLoopActivationOutput", + "documentation":"

    Shows the results of the human in the loop evaluation.

    " + }, + "AnalyzeDocumentModelVersion":{ + "shape":"String", + "documentation":"

    The version of the model used to analyze the document.

    " + } + } + }, + "BadDocumentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Textract isn't able to read the document.

    ", + "exception":true + }, + "Block":{ + "type":"structure", + "members":{ + "BlockType":{ + "shape":"BlockType", + "documentation":"

    The type of text item that's recognized. In operations for text detection, the following types are returned:

    • PAGE - Contains a list of the LINE Block objects that are detected on a document page.

    • WORD - A word detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

    • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

    In text analysis operations, the following types are returned:

    • PAGE - Contains a list of child Block objects that are detected on a document page.

    • KEY_VALUE_SET - Stores the KEY and VALUE Block objects for linked text that's detected on a document page. Use the EntityType field to determine if a KEY_VALUE_SET object is a KEY Block object or a VALUE Block object.

    • WORD - A word that's detected on a document page. A word is one or more ISO basic Latin script characters that aren't separated by spaces.

    • LINE - A string of tab-delimited, contiguous words that are detected on a document page.

    • TABLE - A table that's detected on a document page. A table is grid-based information with two or more rows or columns, with a cell span of one row and one column each.

    • CELL - A cell within a detected table. The cell is the parent of the block that contains the text in the cell.

    • SELECTION_ELEMENT - A selection element such as an option button (radio button) or a check box that's detected on a document page. Use the value of SelectionStatus to determine the status of the selection element.

    " + }, + "Confidence":{ + "shape":"Percent", + "documentation":"

    The confidence score that Amazon Textract has in the accuracy of the recognized text and the accuracy of the geometry points around the recognized text.

    " + }, + "Text":{ + "shape":"String", + "documentation":"

    The word or line of text that's recognized by Amazon Textract.

    " + }, + "RowIndex":{ + "shape":"UInteger", + "documentation":"

    The row in which a table cell is located. The first row position is 1. RowIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

    " + }, + "ColumnIndex":{ + "shape":"UInteger", + "documentation":"

    The column in which a table cell appears. The first column position is 1. ColumnIndex isn't returned by DetectDocumentText and GetDocumentTextDetection.

    " + }, + "RowSpan":{ + "shape":"UInteger", + "documentation":"

    The number of rows that a table cell spans. Currently this value is always 1, even if the number of rows spanned is greater than 1. RowSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

    " + }, + "ColumnSpan":{ + "shape":"UInteger", + "documentation":"

    The number of columns that a table cell spans. Currently this value is always 1, even if the number of columns spanned is greater than 1. ColumnSpan isn't returned by DetectDocumentText and GetDocumentTextDetection.

    " + }, + "Geometry":{ + "shape":"Geometry", + "documentation":"

    The location of the recognized text on the image. It includes an axis-aligned, coarse bounding box that surrounds the text, and a finer-grain polygon for more accurate spatial information.

    " + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

    The identifier for the recognized text. The identifier is only unique for a single operation.

    " + }, + "Relationships":{ + "shape":"RelationshipList", + "documentation":"

    A list of child blocks of the current block. For example, a LINE object has child blocks for each WORD block that's part of the line of text. There aren't Relationship objects in the list for relationships that don't exist, such as when the current block has no child blocks. The list size can be the following:

    • 0 - The block has no child blocks.

    • 1 - The block has child blocks.

    " + }, + "EntityTypes":{ + "shape":"EntityTypes", + "documentation":"

    The type of entity. The following can be returned:

    • KEY - An identifier for a field on the document.

    • VALUE - The field text.

    EntityTypes isn't returned by DetectDocumentText and GetDocumentTextDetection.

    " + }, + "SelectionStatus":{ + "shape":"SelectionStatus", + "documentation":"

    The selection status of a selection element, such as an option button or check box.

    " + }, + "Page":{ + "shape":"UInteger", + "documentation":"

    The page on which a block was detected. Page is returned by asynchronous operations. Page values greater than 1 are only returned for multipage documents that are in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is considered to be a single-page document. The value of Page is always 1. Synchronous operations don't return Page because every input document is considered to be a single-page document.

    " + } + }, + "documentation":"

    A Block represents items that are recognized in a document within a group of pixels close to each other. The information returned in a Block object depends on the type of operation. In text detection for documents (for example DetectDocumentText), you get information about the detected words and lines of text. In text analysis (for example AnalyzeDocument), you can also get information about the fields, tables, and selection elements that are detected in the document.

    An array of Block objects is returned by both synchronous and asynchronous operations. In synchronous operations, such as DetectDocumentText, the array of Block objects is the entire set of results. In asynchronous operations, such as GetDocumentAnalysis, the array is returned over one or more responses.

    For more information, see How Amazon Textract Works.

    " + }, + "BlockList":{ + "type":"list", + "member":{"shape":"Block"} + }, + "BlockType":{ + "type":"string", + "enum":[ + "KEY_VALUE_SET", + "PAGE", + "LINE", + "WORD", + "TABLE", + "CELL", + "SELECTION_ELEMENT" + ] + }, + "BoundingBox":{ + "type":"structure", + "members":{ + "Width":{ + "shape":"Float", + "documentation":"

    The width of the bounding box as a ratio of the overall document page width.

    " + }, + "Height":{ + "shape":"Float", + "documentation":"

    The height of the bounding box as a ratio of the overall document page height.

    " + }, + "Left":{ + "shape":"Float", + "documentation":"

    The left coordinate of the bounding box as a ratio of overall document page width.

    " + }, + "Top":{ + "shape":"Float", + "documentation":"

    The top coordinate of the bounding box as a ratio of overall document page height.

    " + } + }, + "documentation":"

    The bounding box around the detected page, text, key-value pair, table, table cell, or selection element on a document page. The left (x-coordinate) and top (y-coordinate) are coordinates that represent the top and left sides of the bounding box. Note that the upper-left corner of the image is the origin (0,0).

    The top and left values returned are ratios of the overall document page size. For example, if the input image is 700 x 200 pixels, and the top-left coordinate of the bounding box is 350 x 50 pixels, the API returns a left value of 0.5 (350/700) and a top value of 0.25 (50/200).

    The width and height values represent the dimensions of the bounding box as a ratio of the overall document page dimension. For example, if the document page size is 700 x 200 pixels, and the bounding box width is 70 pixels, the width returned is 0.1.

    " + }, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "ContentClassifier":{ + "type":"string", + "enum":[ + "FreeOfPersonallyIdentifiableInformation", + "FreeOfAdultContent" + ] + }, + "ContentClassifiers":{ + "type":"list", + "member":{"shape":"ContentClassifier"}, + "max":256 + }, + "DetectDocumentTextRequest":{ + "type":"structure", + "required":["Document"], + "members":{ + "Document":{ + "shape":"Document", + "documentation":"

    The input document as base64-encoded bytes or an Amazon S3 object. If you use the AWS CLI to call Amazon Textract operations, you can't pass image bytes. The document must be an image in JPEG or PNG format.

    If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes that are passed using the Bytes field.

    " + } + } + }, + "DetectDocumentTextResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

    Metadata about the document. It contains the number of pages that are detected in the document.

    " + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

    An array of Block objects that contain the text that's detected in the document.

    " + }, + "DetectDocumentTextModelVersion":{ + "shape":"String", + "documentation":"

    " + } + } + }, + "Document":{ + "type":"structure", + "members":{ + "Bytes":{ + "shape":"ImageBlob", + "documentation":"

    A blob of base64-encoded document bytes. The maximum size of a document that's provided in a blob of bytes is 5 MB. The document bytes must be in PNG or JPEG format.

    If you're using an AWS SDK to call Amazon Textract, you might not need to base64-encode image bytes passed using the Bytes field.

    " + }, + "S3Object":{ + "shape":"S3Object", + "documentation":"

    Identifies an S3 object as the document source. The maximum size of a document that's stored in an S3 bucket is 5 MB.

    " + } + }, + "documentation":"

    The input document, either as bytes or as an S3 object.

    You pass image bytes to an Amazon Textract API operation by using the Bytes property. For example, you would use the Bytes property to pass a document loaded from a local file system. Image bytes passed by using the Bytes property must be base64 encoded. Your code might not need to encode document file bytes if you're using an AWS SDK to call Amazon Textract API operations.

    You pass images stored in an S3 bucket to an Amazon Textract API operation by using the S3Object property. Documents stored in an S3 bucket don't need to be base64 encoded.

    The AWS Region for the S3 bucket that contains the S3 object must match the AWS Region that you use for Amazon Textract operations.

    If you use the AWS CLI to call Amazon Textract operations, passing image bytes using the Bytes property isn't supported. You must first upload the document to an Amazon S3 bucket, and then call the operation using the S3Object property.

    For Amazon Textract to process an S3 object, the user must have permission to access the S3 object.

    " + }, + "DocumentLocation":{ + "type":"structure", + "members":{ + "S3Object":{ + "shape":"S3Object", + "documentation":"

    The Amazon S3 bucket that contains the input document.

    " + } + }, + "documentation":"

    The Amazon S3 bucket that contains the document to be processed. It's used by asynchronous operations such as StartDocumentTextDetection.

    The input document can be an image file in JPEG or PNG format. It can also be a file in PDF format.

    " + }, + "DocumentMetadata":{ + "type":"structure", + "members":{ + "Pages":{ + "shape":"UInteger", + "documentation":"

    The number of pages that are detected in the document.

    " + } + }, + "documentation":"

    Information about the input document.

    " + }, + "DocumentTooLargeException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The document can't be processed because it's too large. The maximum document size for synchronous operations 5 MB. The maximum document size for asynchronous operations is 500 MB for PDF files.

    ", + "exception":true + }, + "EntityType":{ + "type":"string", + "enum":[ + "KEY", + "VALUE" + ] + }, + "EntityTypes":{ + "type":"list", + "member":{"shape":"EntityType"} + }, + "ErrorCode":{"type":"string"}, + "FeatureType":{ + "type":"string", + "enum":[ + "TABLES", + "FORMS" + ] + }, + "FeatureTypes":{ + "type":"list", + "member":{"shape":"FeatureType"} + }, + "Float":{"type":"float"}, + "FlowDefinitionArn":{ + "type":"string", + "max":256 + }, + "Geometry":{ + "type":"structure", + "members":{ + "BoundingBox":{ + "shape":"BoundingBox", + "documentation":"

    An axis-aligned coarse representation of the location of the recognized item on the document page.

    " + }, + "Polygon":{ + "shape":"Polygon", + "documentation":"

    Within the bounding box, a fine-grained polygon around the recognized item.

    " + } + }, + "documentation":"

    Information about where the following items are located on a document page: detected page, text, key-value pairs, tables, table cells, and selection elements.

    " + }, + "GetDocumentAnalysisRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    A unique identifier for the text-detection job. The JobId is returned from StartDocumentAnalysis. A JobId value is only valid for 7 days.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return per paginated call. The largest value that you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

    " + } + } + }, + "GetDocumentAnalysisResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

    Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    The current status of the text detection job.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text detection results.

    " + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

    The results of the text-analysis operation.

    " + }, + "Warnings":{ + "shape":"Warnings", + "documentation":"

    A list of warnings that occurred during the document-analysis operation.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    The current status of an asynchronous document-analysis operation.

    " + }, + "AnalyzeDocumentModelVersion":{ + "shape":"String", + "documentation":"

    " + } + } + }, + "GetDocumentTextDetectionRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    A unique identifier for the text detection job. The JobId is returned from StartDocumentTextDetection. A JobId value is only valid for 7 days.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return per paginated call. The largest value you can specify is 1,000. If you specify a value greater than 1,000, a maximum of 1,000 results is returned. The default value is 1,000.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination token in the response. You can use this pagination token to retrieve the next set of blocks.

    " + } + } + }, + "GetDocumentTextDetectionResponse":{ + "type":"structure", + "members":{ + "DocumentMetadata":{ + "shape":"DocumentMetadata", + "documentation":"

    Information about a document that Amazon Textract processed. DocumentMetadata is returned in every page of paginated responses from an Amazon Textract video operation.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    The current status of the text detection job.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If the response is truncated, Amazon Textract returns this token. You can use this token in the subsequent request to retrieve the next set of text-detection results.

    " + }, + "Blocks":{ + "shape":"BlockList", + "documentation":"

    The results of the text-detection operation.

    " + }, + "Warnings":{ + "shape":"Warnings", + "documentation":"

    A list of warnings that occurred during the text-detection operation for the document.

    " + }, + "StatusMessage":{ + "shape":"StatusMessage", + "documentation":"

    The current status of an asynchronous text-detection operation for the document.

    " + }, + "DetectDocumentTextModelVersion":{ + "shape":"String", + "documentation":"

    " + } + } + }, + "HumanLoopActivationConditionsEvaluationResults":{ + "type":"string", + "max":10240 + }, + "HumanLoopActivationOutput":{ + "type":"structure", + "members":{ + "HumanLoopArn":{ + "shape":"HumanLoopArn", + "documentation":"

    The Amazon Resource Name (ARN) of the HumanLoop created.

    " + }, + "HumanLoopActivationReasons":{ + "shape":"HumanLoopActivationReasons", + "documentation":"

    Shows if and why human review was needed.

    " + }, + "HumanLoopActivationConditionsEvaluationResults":{ + "shape":"HumanLoopActivationConditionsEvaluationResults", + "documentation":"

    Shows the result of condition evaluations, including those conditions which activated a human review.

    ", + "jsonvalue":true + } + }, + "documentation":"

    Shows the results of the human in the loop evaluation. If there is no HumanLoopArn, the input did not trigger human review.

    " + }, + "HumanLoopActivationReason":{"type":"string"}, + "HumanLoopActivationReasons":{ + "type":"list", + "member":{"shape":"HumanLoopActivationReason"}, + "min":1 + }, + "HumanLoopArn":{ + "type":"string", + "max":256 + }, + "HumanLoopConfig":{ + "type":"structure", + "required":[ + "HumanLoopName", + "FlowDefinitionArn" + ], + "members":{ + "HumanLoopName":{ + "shape":"HumanLoopName", + "documentation":"

    The name of the human workflow used for this image. This should be kept unique within a region.

    " + }, + "FlowDefinitionArn":{ + "shape":"FlowDefinitionArn", + "documentation":"

    The Amazon Resource Name (ARN) of the flow definition.

    " + }, + "DataAttributes":{ + "shape":"HumanLoopDataAttributes", + "documentation":"

    Sets attributes of the input data.

    " + } + }, + "documentation":"

    Sets up the human review workflow the document will be sent to if one of the conditions is met. You can also set certain attributes of the image before review.

    " + }, + "HumanLoopDataAttributes":{ + "type":"structure", + "members":{ + "ContentClassifiers":{ + "shape":"ContentClassifiers", + "documentation":"

    Sets whether the input image is free of personally identifiable information or adult content.

    " + } + }, + "documentation":"

    Allows you to set attributes of the image. Currently, you can declare an image as free of personally identifiable information and adult content.

    " + }, + "HumanLoopName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-z0-9](-*[a-z0-9])*" + }, + "HumanLoopQuotaExceededException":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"String"}, + "QuotaCode":{"shape":"String"}, + "ServiceCode":{"shape":"String"} + }, + "documentation":"

    Indicates you have exceeded the maximum number of active human in the loop workflows available

    ", + "exception":true + }, + "IdList":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "IdempotentParameterMismatchException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    A ClientRequestToken input parameter was reused with an operation, but at least one of the other input parameters is different from the previous call to the operation.

    ", + "exception":true + }, + "ImageBlob":{ + "type":"blob", + "max":10485760, + "min":1 + }, + "InternalServerError":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Textract experienced a service issue. Try your call again.

    ", + "exception":true, + "fault":true + }, + "InvalidJobIdException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An invalid job identifier was passed to GetDocumentAnalysis or to GetDocumentAnalysis.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An input parameter violated a constraint. For example, in synchronous operations, an InvalidParameterException exception occurs when neither of the S3Object or Bytes values are supplied in the Document request parameter. Validate your parameter before calling the API operation again.

    ", + "exception":true + }, + "InvalidS3ObjectException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Textract is unable to access the S3 object that's specified in the request.

    ", + "exception":true + }, + "JobId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-_]+$" + }, + "JobStatus":{ + "type":"string", + "enum":[ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + "PARTIAL_SUCCESS" + ] + }, + "JobTag":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_.\\-:]+" + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    An Amazon Textract service limit was exceeded. For example, if you start too many asynchronous jobs concurrently, calls to start operations (StartDocumentTextDetection, for example) raise a LimitExceededException exception (HTTP status code: 400) until the number of concurrently running jobs is below the Amazon Textract service limit.

    ", + "exception":true + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "NonEmptyString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "NotificationChannel":{ + "type":"structure", + "required":[ + "SNSTopicArn", + "RoleArn" + ], + "members":{ + "SNSTopicArn":{ + "shape":"SNSTopicArn", + "documentation":"

    The Amazon SNS topic that Amazon Textract posts the completion status to.

    " + }, + "RoleArn":{ + "shape":"RoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an IAM role that gives Amazon Textract publishing permissions to the Amazon SNS topic.

    " + } + }, + "documentation":"

    The Amazon Simple Notification Service (Amazon SNS) topic to which Amazon Textract publishes the completion status of an asynchronous document operation, such as StartDocumentTextDetection.

    " + }, + "Pages":{ + "type":"list", + "member":{"shape":"UInteger"} + }, + "PaginationToken":{ + "type":"string", + "max":255, + "min":1, + "pattern":".*\\S.*" + }, + "Percent":{ + "type":"float", + "max":100, + "min":0 + }, + "Point":{ + "type":"structure", + "members":{ + "X":{ + "shape":"Float", + "documentation":"

    The value of the X coordinate for a point on a Polygon.

    " + }, + "Y":{ + "shape":"Float", + "documentation":"

    The value of the Y coordinate for a point on a Polygon.

    " + } + }, + "documentation":"

    The X and Y coordinates of a point on a document page. The X and Y values that are returned are ratios of the overall document page size. For example, if the input document is 700 x 200 and the operation returns X=0.5 and Y=0.25, then the point is at the (350,50) pixel coordinate on the document page.

    An array of Point objects, Polygon, is returned by DetectDocumentText. Polygon represents a fine-grained polygon around detected text. For more information, see Geometry in the Amazon Textract Developer Guide.

    " + }, + "Polygon":{ + "type":"list", + "member":{"shape":"Point"} + }, + "ProvisionedThroughputExceededException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The number of requests exceeded your throughput limit. If you want to increase this limit, contact Amazon Textract.

    ", + "exception":true + }, + "Relationship":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"RelationshipType", + "documentation":"

    The type of relationship that the blocks in the IDs array have with the current block. The relationship can be VALUE or CHILD. A relationship of type VALUE is a list that contains the ID of the VALUE block that's associated with the KEY of a key-value pair. A relationship of type CHILD is a list of IDs that identify WORD blocks.

    " + }, + "Ids":{ + "shape":"IdList", + "documentation":"

    An array of IDs for related blocks. You can get the type of the relationship from the Type element.

    " + } + }, + "documentation":"

    Information about how blocks are related to each other. A Block object contains 0 or more Relation objects in a list, Relationships. For more information, see Block.

    The Type element provides the type of the relationship for all blocks in the IDs array.

    " + }, + "RelationshipList":{ + "type":"list", + "member":{"shape":"Relationship"} + }, + "RelationshipType":{ + "type":"string", + "enum":[ + "VALUE", + "CHILD" + ] + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:([a-z\\d-]+):iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+" + }, + "S3Bucket":{ + "type":"string", + "max":255, + "min":3, + "pattern":"[0-9A-Za-z\\.\\-_]*" + }, + "S3Object":{ + "type":"structure", + "members":{ + "Bucket":{ + "shape":"S3Bucket", + "documentation":"

    The name of the S3 bucket.

    " + }, + "Name":{ + "shape":"S3ObjectName", + "documentation":"

    The file name of the input document. Synchronous operations can use image files that are in JPEG or PNG format. Asynchronous operations also support PDF format files.

    " + }, + "Version":{ + "shape":"S3ObjectVersion", + "documentation":"

    If the bucket has versioning enabled, you can specify the object version.

    " + } + }, + "documentation":"

    The S3 bucket name and file name that identifies the document.

    The AWS Region for the S3 bucket that contains the document must match the Region that you use for Amazon Textract operations.

    For Amazon Textract to process a file in an S3 bucket, the user must have permission to access the S3 bucket and file.

    " + }, + "S3ObjectName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "S3ObjectVersion":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*\\S.*" + }, + "SNSTopicArn":{ + "type":"string", + "max":1024, + "min":20, + "pattern":"(^arn:([a-z\\d-]+):sns:[a-zA-Z\\d-]{1,20}:\\w{12}:.+$)" + }, + "SelectionStatus":{ + "type":"string", + "enum":[ + "SELECTED", + "NOT_SELECTED" + ] + }, + "StartDocumentAnalysisRequest":{ + "type":"structure", + "required":[ + "DocumentLocation", + "FeatureTypes" + ], + "members":{ + "DocumentLocation":{ + "shape":"DocumentLocation", + "documentation":"

    The location of the document to be processed.

    " + }, + "FeatureTypes":{ + "shape":"FeatureTypes", + "documentation":"

    A list of the types of analysis to perform. Add TABLES to the list to return information about the tables that are detected in the input document. Add FORMS to return detected form data. To perform both types of analysis, add TABLES and FORMS to FeatureTypes. All lines and words detected in the document are included in the response (including text that isn't related to the value of FeatureTypes).

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    The idempotent token that you use to identify the start request. If you use the same token with multiple StartDocumentAnalysis requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

    " + } + } + }, + "StartDocumentAnalysisResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier for the document text detection job. Use JobId to identify the job in a subsequent call to GetDocumentAnalysis. A JobId value is only valid for 7 days.

    " + } + } + }, + "StartDocumentTextDetectionRequest":{ + "type":"structure", + "required":["DocumentLocation"], + "members":{ + "DocumentLocation":{ + "shape":"DocumentLocation", + "documentation":"

    The location of the document to be processed.

    " + }, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "documentation":"

    The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentally started more than once. For more information, see Calling Amazon Textract Asynchronous Operations.

    " + }, + "JobTag":{ + "shape":"JobTag", + "documentation":"

    An identifier that you specify that's included in the completion notification published to the Amazon SNS topic. For example, you can use JobTag to identify the type of document that the completion notification corresponds to (such as a tax form or a receipt).

    " + }, + "NotificationChannel":{ + "shape":"NotificationChannel", + "documentation":"

    The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the operation to.

    " + } + } + }, + "StartDocumentTextDetectionResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier of the text detection job for the document. Use JobId to identify the job in a subsequent call to GetDocumentTextDetection. A JobId value is only valid for 7 days.

    " + } + } + }, + "StatusMessage":{"type":"string"}, + "String":{"type":"string"}, + "ThrottlingException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    Amazon Textract is temporarily unable to process the request. Try your call again.

    ", + "exception":true, + "fault":true + }, + "UInteger":{ + "type":"integer", + "min":0 + }, + "UnsupportedDocumentException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The format of the input document isn't supported. Documents for synchronous operations can be in PNG or JPEG format. Documents for asynchronous operations can also be in PDF format.

    ", + "exception":true + }, + "Warning":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"ErrorCode", + "documentation":"

    The error code for the warning.

    " + }, + "Pages":{ + "shape":"Pages", + "documentation":"

    A list of the pages that the warning applies to.

    " + } + }, + "documentation":"

    A warning about an issue that occurred during asynchronous text analysis (StartDocumentAnalysis) or asynchronous document text detection (StartDocumentTextDetection).

    " + }, + "Warnings":{ + "type":"list", + "member":{"shape":"Warning"} + } + }, + "documentation":"

    Amazon Textract detects and analyzes text in documents and converts it into machine-readable text. This is the API reference documentation for Amazon Textract.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/examples-1.json python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/examples-1.json --- python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/paginators-1.json python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/paginators-1.json --- python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/service-2.json python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/service-2.json --- python-botocore-1.4.70/botocore/data/transcribe/2017-10-26/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/transcribe/2017-10-26/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1763 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-26", + "endpointPrefix":"transcribe", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Transcribe Service", + "serviceId":"Transcribe", + "signatureVersion":"v4", + "signingName":"transcribe", + "targetPrefix":"Transcribe", + "uid":"transcribe-2017-10-26" + }, + "operations":{ + "CreateMedicalVocabulary":{ + "name":"CreateMedicalVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateMedicalVocabularyRequest"}, + "output":{"shape":"CreateMedicalVocabularyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Creates a new custom vocabulary that you can use to change how Amazon Transcribe Medical transcribes your audio file.

    " + }, + "CreateVocabulary":{ + "name":"CreateVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVocabularyRequest"}, + "output":{"shape":"CreateVocabularyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Creates a new custom vocabulary that you can use to change the way Amazon Transcribe handles transcription of an audio file.

    " + }, + "CreateVocabularyFilter":{ + "name":"CreateVocabularyFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateVocabularyFilterRequest"}, + "output":{"shape":"CreateVocabularyFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Creates a new vocabulary filter that you can use to filter words, such as profane words, from the output of a transcription job.

    " + }, + "DeleteMedicalTranscriptionJob":{ + "name":"DeleteMedicalTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMedicalTranscriptionJobRequest"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a transcription job generated by Amazon Transcribe Medical and any related information.

    " + }, + "DeleteMedicalVocabulary":{ + "name":"DeleteMedicalVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMedicalVocabularyRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a vocabulary from Amazon Transcribe Medical.

    " + }, + "DeleteTranscriptionJob":{ + "name":"DeleteTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTranscriptionJobRequest"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a previously submitted transcription job along with any other generated results such as the transcription, models, and so on.

    " + }, + "DeleteVocabulary":{ + "name":"DeleteVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVocabularyRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Deletes a vocabulary from Amazon Transcribe.

    " + }, + "DeleteVocabularyFilter":{ + "name":"DeleteVocabularyFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteVocabularyFilterRequest"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Removes a vocabulary filter.

    " + }, + "GetMedicalTranscriptionJob":{ + "name":"GetMedicalTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMedicalTranscriptionJobRequest"}, + "output":{"shape":"GetMedicalTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Returns information about a transcription job from Amazon Transcribe Medical. To see the status of the job, check the TranscriptionJobStatus field. If the status is COMPLETED, the job is finished. You find the results of the completed job in the TranscriptFileUri field.

    " + }, + "GetMedicalVocabulary":{ + "name":"GetMedicalVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMedicalVocabularyRequest"}, + "output":{"shape":"GetMedicalVocabularyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Retrieve information about a medical vocabulary.

    " + }, + "GetTranscriptionJob":{ + "name":"GetTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTranscriptionJobRequest"}, + "output":{"shape":"GetTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Returns information about a transcription job. To see the status of the job, check the TranscriptionJobStatus field. If the status is COMPLETED, the job is finished and you can find the results at the location specified in the TranscriptFileUri field. If you enable content redaction, the redacted transcript appears in RedactedTranscriptFileUri.

    " + }, + "GetVocabulary":{ + "name":"GetVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVocabularyRequest"}, + "output":{"shape":"GetVocabularyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Gets information about a vocabulary.

    " + }, + "GetVocabularyFilter":{ + "name":"GetVocabularyFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetVocabularyFilterRequest"}, + "output":{"shape":"GetVocabularyFilterResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"BadRequestException"} + ], + "documentation":"

    Returns information about a vocabulary filter.

    " + }, + "ListMedicalTranscriptionJobs":{ + "name":"ListMedicalTranscriptionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMedicalTranscriptionJobsRequest"}, + "output":{"shape":"ListMedicalTranscriptionJobsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists medical transcription jobs with a specified status or substring that matches their names.

    " + }, + "ListMedicalVocabularies":{ + "name":"ListMedicalVocabularies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMedicalVocabulariesRequest"}, + "output":{"shape":"ListMedicalVocabulariesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Returns a list of vocabularies that match the specified criteria. You get the entire list of vocabularies if you don't enter a value in any of the request parameters.

    " + }, + "ListTranscriptionJobs":{ + "name":"ListTranscriptionJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTranscriptionJobsRequest"}, + "output":{"shape":"ListTranscriptionJobsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Lists transcription jobs with the specified status.

    " + }, + "ListVocabularies":{ + "name":"ListVocabularies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVocabulariesRequest"}, + "output":{"shape":"ListVocabulariesResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Returns a list of vocabularies that match the specified criteria. If no criteria are specified, returns the entire list of vocabularies.

    " + }, + "ListVocabularyFilters":{ + "name":"ListVocabularyFilters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVocabularyFiltersRequest"}, + "output":{"shape":"ListVocabularyFiltersResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"} + ], + "documentation":"

    Gets information about vocabulary filters.

    " + }, + "StartMedicalTranscriptionJob":{ + "name":"StartMedicalTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartMedicalTranscriptionJobRequest"}, + "output":{"shape":"StartMedicalTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Start a batch job to transcribe medical speech to text.

    " + }, + "StartTranscriptionJob":{ + "name":"StartTranscriptionJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTranscriptionJobRequest"}, + "output":{"shape":"StartTranscriptionJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Starts an asynchronous job to transcribe speech to text.

    " + }, + "UpdateMedicalVocabulary":{ + "name":"UpdateMedicalVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMedicalVocabularyRequest"}, + "output":{"shape":"UpdateMedicalVocabularyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Updates an existing vocabulary with new values in a different text file. The UpdateMedicalVocabulary operation overwrites all of the existing information with the values that you provide in the request.

    " + }, + "UpdateVocabulary":{ + "name":"UpdateVocabulary", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVocabularyRequest"}, + "output":{"shape":"UpdateVocabularyResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"}, + {"shape":"ConflictException"} + ], + "documentation":"

    Updates an existing vocabulary with new values. The UpdateVocabulary operation overwrites all of the existing information with the values that you provide in the request.

    " + }, + "UpdateVocabularyFilter":{ + "name":"UpdateVocabularyFilter", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateVocabularyFilterRequest"}, + "output":{"shape":"UpdateVocabularyFilterResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"InternalFailureException"}, + {"shape":"NotFoundException"} + ], + "documentation":"

    Updates a vocabulary filter with a new list of filtered words.

    " + } + }, + "shapes":{ + "BadRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"FailureReason"} + }, + "documentation":"

    Your request didn't pass one or more validation tests. For example, if the transcription you're trying to delete doesn't exist or if it is in a non-terminal state (for example, it's \"in progress\"). See the exception Message field for more information.

    ", + "exception":true + }, + "Boolean":{"type":"boolean"}, + "ConflictException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The resource name already exists.

    ", + "exception":true + }, + "ContentRedaction":{ + "type":"structure", + "required":[ + "RedactionType", + "RedactionOutput" + ], + "members":{ + "RedactionType":{ + "shape":"RedactionType", + "documentation":"

    Request parameter that defines the entities to be redacted. The only accepted value is PII.

    " + }, + "RedactionOutput":{ + "shape":"RedactionOutput", + "documentation":"

    The output transcript file stored in either the default S3 bucket or in a bucket you specify.

    When you choose redacted Amazon Transcribe outputs only the redacted transcript.

    When you choose redacted_and_unredacted Amazon Transcribe outputs both the redacted and unredacted transcripts.

    " + } + }, + "documentation":"

    Settings for content redaction within a transcription job.

    " + }, + "CreateMedicalVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode", + "VocabularyFileUri" + ], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the custom vocabulary. This case-sensitive name must be unique within an AWS account. If you try to create a vocabulary with the same name as a previous vocabulary you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code used for the entries within your custom vocabulary. The language code of your custom vocabulary must match the language code of your transcription job. US English (en-US) is the only language code available for Amazon Transcribe Medical.

    " + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

    The Amazon S3 location of the text file you use to define your custom vocabulary. The URI must be in the same AWS region as the API endpoint you're calling. Enter information about your VocabularyFileUri in the following format:

    https://s3.<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

    This is an example of a vocabulary file uri location in Amazon S3:

    https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt

    For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

    For more information about custom vocabularies, see Medical Custom Vocabularies.

    " + } + } + }, + "CreateMedicalVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary. The name must be unique within an AWS account. It is also case-sensitive.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code you chose to describe the entries in your custom vocabulary. US English (en-US) is the only valid language code for Amazon Transcribe Medical.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of your custom vocabulary in Amazon Transcribe Medical. If the state is READY you can use the vocabulary in a StartMedicalTranscriptionJob request.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time you created the vocabulary.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the VocabularyState field is FAILED, this field contains information about why the job failed.

    " + } + } + }, + "CreateVocabularyFilterRequest":{ + "type":"structure", + "required":[ + "VocabularyFilterName", + "LanguageCode" + ], + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The vocabulary filter name. The name must be unique within the account that contains it.If you try to create a vocabulary filter with the same name as a previous vocabulary filter you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the words in the vocabulary filter. All words in the filter must be in the same language. The vocabulary filter can only be used with transcription jobs in the specified language.

    " + }, + "Words":{ + "shape":"Words", + "documentation":"

    The words to use in the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

    If you provide a list of words in the Words parameter, you can't use the VocabularyFilterFileUri parameter.

    " + }, + "VocabularyFilterFileUri":{ + "shape":"Uri", + "documentation":"

    The Amazon S3 location of a text file used as input to create the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

    The specified file must be less than 50 KB of UTF-8 characters.

    If you provide the location of a list of words in the VocabularyFilterFileUri parameter, you can't use the Words parameter.

    " + } + } + }, + "CreateVocabularyFilterResponse":{ + "type":"structure", + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the words in the collection.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary filter was modified.

    " + } + } + }, + "CreateVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode" + ], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary. The name must be unique within an AWS account. The name is case-sensitive. If you try to create a vocabulary with the same name as a previous vocabulary you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "Phrases":{ + "shape":"Phrases", + "documentation":"

    An array of strings that contains the vocabulary entries.

    " + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is

    For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

    For more information about custom vocabularies, see Custom Vocabularies.

    " + } + } + }, + "CreateVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary was created.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the VocabularyState field is FAILED, this field contains information about why the job failed.

    " + } + } + }, + "DataAccessRoleArn":{ + "type":"string", + "pattern":"^arn:aws:iam::[0-9]{0,63}:role/[A-Za-z0-9:_/+=,@.-]{0,1023}$" + }, + "DateTime":{"type":"timestamp"}, + "DeleteMedicalTranscriptionJobRequest":{ + "type":"structure", + "required":["MedicalTranscriptionJobName"], + "members":{ + "MedicalTranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name you provide to the DeleteMedicalTranscriptionJob object to delete a transcription job.

    " + } + } + }, + "DeleteMedicalVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary you are choosing to delete.

    " + } + } + }, + "DeleteTranscriptionJobRequest":{ + "type":"structure", + "required":["TranscriptionJobName"], + "members":{ + "TranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the transcription job to be deleted.

    " + } + } + }, + "DeleteVocabularyFilterRequest":{ + "type":"structure", + "required":["VocabularyFilterName"], + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter to remove.

    " + } + } + }, + "DeleteVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to delete.

    " + } + } + }, + "FailureReason":{"type":"string"}, + "GetMedicalTranscriptionJobRequest":{ + "type":"structure", + "required":["MedicalTranscriptionJobName"], + "members":{ + "MedicalTranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the medical transcription job.

    " + } + } + }, + "GetMedicalTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "MedicalTranscriptionJob":{ + "shape":"MedicalTranscriptionJob", + "documentation":"

    An object that contains the results of the medical transcription job.

    " + } + } + }, + "GetMedicalVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary you are trying to get information about. The value you enter for this request is case-sensitive.

    " + } + } + }, + "GetMedicalVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The valid name that Amazon Transcribe Medical returns.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The valid language code returned for your vocabulary entries.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the vocabulary.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the vocabulary was last modified with a text file different from what was previously used.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the VocabularyState is FAILED, this field contains information about why the job failed.

    " + }, + "DownloadUri":{ + "shape":"Uri", + "documentation":"

    The Amazon S3 location where the vocabulary is stored. Use this URI to get the contents of the vocabulary. You can download your vocabulary from the URI for a limited time.

    " + } + } + }, + "GetTranscriptionJobRequest":{ + "type":"structure", + "required":["TranscriptionJobName"], + "members":{ + "TranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the job.

    " + } + } + }, + "GetTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "TranscriptionJob":{ + "shape":"TranscriptionJob", + "documentation":"

    An object that contains the results of the transcription job.

    " + } + } + }, + "GetVocabularyFilterRequest":{ + "type":"structure", + "required":["VocabularyFilterName"], + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter for which to return information.

    " + } + } + }, + "GetVocabularyFilterResponse":{ + "type":"structure", + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the words in the vocabulary filter.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the contents of the vocabulary filter were updated.

    " + }, + "DownloadUri":{ + "shape":"Uri", + "documentation":"

    The URI of the list of words in the vocabulary filter. You can use this URI to get the list of words.

    " + } + } + }, + "GetVocabularyRequest":{ + "type":"structure", + "required":["VocabularyName"], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to return information about. The name is case-sensitive.

    " + } + } + }, + "GetVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to return.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the vocabulary.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary was last modified.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the VocabularyState field is FAILED, this field contains information about why the job failed.

    " + }, + "DownloadUri":{ + "shape":"Uri", + "documentation":"

    The S3 location where the vocabulary is stored. Use this URI to get the contents of the vocabulary. The URI is available for a limited time.

    " + } + } + }, + "InternalFailureException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    There was an internal error. Check the error message and try your request again.

    ", + "exception":true, + "fault":true + }, + "JobExecutionSettings":{ + "type":"structure", + "members":{ + "AllowDeferredExecution":{ + "shape":"Boolean", + "documentation":"

    Indicates whether a job should be queued by Amazon Transcribe when the concurrent execution limit is exceeded. When the AllowDeferredExecution field is true, jobs are queued and executed when the number of executing jobs falls below the concurrent execution limit. If the field is false, Amazon Transcribe returns a LimitExceededException exception.

    If you specify the AllowDeferredExecution field, you must specify the DataAccessRoleArn field.

    " + }, + "DataAccessRoleArn":{ + "shape":"DataAccessRoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of a role that has access to the S3 bucket that contains the input files. Amazon Transcribe assumes this role to read queued media files. If you have specified an output S3 bucket for the transcription results, this role should have access to the output bucket as well.

    If you specify the AllowDeferredExecution field, you must specify the DataAccessRoleArn field.

    " + } + }, + "documentation":"

    Provides information about when a transcription job should be executed.

    " + }, + "KMSKeyId":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$" + }, + "LanguageCode":{ + "type":"string", + "enum":[ + "en-US", + "es-US", + "en-AU", + "fr-CA", + "en-GB", + "de-DE", + "pt-BR", + "fr-FR", + "it-IT", + "ko-KR", + "es-ES", + "en-IN", + "hi-IN", + "ar-SA", + "ru-RU", + "zh-CN", + "nl-NL", + "id-ID", + "ta-IN", + "fa-IR", + "en-IE", + "en-AB", + "en-WL", + "pt-PT", + "te-IN", + "tr-TR", + "de-CH", + "he-IL", + "ms-MY", + "ja-JP", + "ar-AE" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    Either you have sent too many requests or your input file is too long. Wait before you resend your request, or use a smaller file and resend the request.

    ", + "exception":true + }, + "ListMedicalTranscriptionJobsRequest":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    When specified, returns only medical transcription jobs with the specified status. Jobs are ordered by creation date, with the newest jobs returned first. If you don't specify a status, Amazon Transcribe Medical returns all transcription jobs ordered by creation date.

    " + }, + "JobNameContains":{ + "shape":"TranscriptionJobName", + "documentation":"

    When specified, the jobs returned in the list are limited to jobs whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If you a receive a truncated result in the previous request of ListMedicalTranscriptionJobs, include NextToken to fetch the next set of jobs.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of medical transcription jobs to return in the response. IF there are fewer results in the list, this response contains only the actual results.

    " + } + } + }, + "ListMedicalTranscriptionJobsResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The requested status of the medical transcription jobs returned.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The ListMedicalTranscriptionJobs operation returns a page of jobs at a time. The maximum size of the page is set by the MaxResults parameter. If the number of jobs exceeds what can fit on a page, Amazon Transcribe Medical returns the NextPage token. Include the token in the next request to the ListMedicalTranscriptionJobs operation to return in the next page of jobs.

    " + }, + "MedicalTranscriptionJobSummaries":{ + "shape":"MedicalTranscriptionJobSummaries", + "documentation":"

    A list of objects containing summary information for a transcription job.

    " + } + } + }, + "ListMedicalVocabulariesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of your previous request to ListMedicalVocabularies was truncated, include the NextToken to fetch the next set of jobs.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of vocabularies to return in the response.

    " + }, + "StateEquals":{ + "shape":"VocabularyState", + "documentation":"

    When specified, only returns vocabularies with the VocabularyState equal to the specified vocabulary state.

    " + }, + "NameContains":{ + "shape":"VocabularyName", + "documentation":"

    Returns vocabularies in the list whose name contains the specified string. The search is case-insensitive, ListMedicalVocabularies returns both \"vocabularyname\" and \"VocabularyName\" in the response list.

    " + } + } + }, + "ListMedicalVocabulariesResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"VocabularyState", + "documentation":"

    The requested vocabulary state.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The ListMedicalVocabularies operation returns a page of vocabularies at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe Medical returns the NextPage token. Include the token in the next request to the ListMedicalVocabularies operation to return the next page of jobs.

    " + }, + "Vocabularies":{ + "shape":"Vocabularies", + "documentation":"

    A list of objects that describe the vocabularies that match the search criteria in the request.

    " + } + } + }, + "ListTranscriptionJobsRequest":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    When specified, returns only transcription jobs with the specified status. Jobs are ordered by creation date, with the newest jobs returned first. If you don’t specify a status, Amazon Transcribe returns all transcription jobs ordered by creation date.

    " + }, + "JobNameContains":{ + "shape":"TranscriptionJobName", + "documentation":"

    When specified, the jobs returned in the list are limited to jobs whose name contains the specified string.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous request to ListTranscriptionJobs was truncated, include the NextToken to fetch the next set of jobs.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of jobs to return in the response. If there are fewer results in the list, this response contains only the actual results.

    " + } + } + }, + "ListTranscriptionJobsResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The requested status of the jobs returned.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The ListTranscriptionJobs operation returns a page of jobs at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the token in the next request to the ListTranscriptionJobs operation to return in the next page of jobs.

    " + }, + "TranscriptionJobSummaries":{ + "shape":"TranscriptionJobSummaries", + "documentation":"

    A list of objects containing summary information for a transcription job.

    " + } + } + }, + "ListVocabulariesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous request to ListVocabularies was truncated, include the NextToken to fetch the next set of jobs.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of vocabularies to return in the response. If there are fewer results in the list, this response contains only the actual results.

    " + }, + "StateEquals":{ + "shape":"VocabularyState", + "documentation":"

    When specified, only returns vocabularies with the VocabularyState field equal to the specified state.

    " + }, + "NameContains":{ + "shape":"VocabularyName", + "documentation":"

    When specified, the vocabularies returned in the list are limited to vocabularies whose name contains the specified string. The search is case-insensitive, ListVocabularies returns both \"vocabularyname\" and \"VocabularyName\" in the response list.

    " + } + } + }, + "ListVocabulariesResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"VocabularyState", + "documentation":"

    The requested vocabulary state.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The ListVocabularies operation returns a page of vocabularies at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the token in the next request to the ListVocabularies operation to return in the next page of jobs.

    " + }, + "Vocabularies":{ + "shape":"Vocabularies", + "documentation":"

    A list of objects that describe the vocabularies that match the search criteria in the request.

    " + } + } + }, + "ListVocabularyFiltersRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the previous request to ListVocabularyFilters was truncated, include the NextToken to fetch the next set of collections.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of filters to return in the response. If there are fewer results in the list, this response contains only the actual results.

    " + }, + "NameContains":{ + "shape":"VocabularyFilterName", + "documentation":"

    Filters the response so that it only contains vocabulary filters whose name contains the specified string.

    " + } + } + }, + "ListVocabularyFiltersResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The ListVocabularyFilters operation returns a page of collections at a time. The maximum size of the page is set by the MaxResults parameter. If there are more jobs in the list than the page size, Amazon Transcribe returns the NextPage token. Include the token in the next request to the ListVocabularyFilters operation to return in the next page of jobs.

    " + }, + "VocabularyFilters":{ + "shape":"VocabularyFilters", + "documentation":"

    The list of vocabulary filters. It contains at most MaxResults number of filters. If there are more filters, call the ListVocabularyFilters operation again with the NextToken parameter in the request set to the value of the NextToken field in the response.

    " + } + } + }, + "MaxAlternatives":{ + "type":"integer", + "max":10, + "min":2 + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxSpeakers":{ + "type":"integer", + "max":10, + "min":2 + }, + "Media":{ + "type":"structure", + "members":{ + "MediaFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 object location of the input media file. The URI must be in the same region as the API endpoint that you are calling. The general form is:

    For example:

    For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

    " + } + }, + "documentation":"

    Describes the input media file in a transcription request.

    " + }, + "MediaFormat":{ + "type":"string", + "enum":[ + "mp3", + "mp4", + "wav", + "flac" + ] + }, + "MediaSampleRateHertz":{ + "type":"integer", + "max":48000, + "min":8000 + }, + "MedicalTranscript":{ + "type":"structure", + "members":{ + "TranscriptFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 object location of the medical transcript.

    Use this URI to access the medical transcript. This URI points to the S3 bucket you created to store the medical transcript.

    " + } + }, + "documentation":"

    Identifies the location of a medical transcript.

    " + }, + "MedicalTranscriptionJob":{ + "type":"structure", + "members":{ + "MedicalTranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name for a given medical transcription job.

    " + }, + "TranscriptionJobStatus":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The completion status of a medical transcription job.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the language spoken in the source audio file. US English (en-US) is the only supported language for medical transcriptions. Any other value you enter for language code results in a BadRequestException error.

    " + }, + "MediaSampleRateHertz":{ + "shape":"MediaSampleRateHertz", + "documentation":"

    The sample rate, in Hertz, of the source audio containing medical information.

    If you don't specify the sample rate, Amazon Transcribe Medical determines it for you. If you choose to specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you should leave the MediaSampleHertz blank and let Amazon Transcribe Medical determine the sample rate.

    " + }, + "MediaFormat":{ + "shape":"MediaFormat", + "documentation":"

    The format of the input media file.

    " + }, + "Media":{"shape":"Media"}, + "Transcript":{ + "shape":"MedicalTranscript", + "documentation":"

    An object that contains the MedicalTranscript. The MedicalTranscript contains the TranscriptFileUri.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job started processing.

    " + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was created.

    " + }, + "CompletionTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was completed.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

    The FailureReason field contains one of the following values:

    • Unsupported media format- The media format specified in the MediaFormat field of the request isn't valid. See the description of the MediaFormat field for a list of valid values.

    • The media format provided does not match the detected media format- The media format of the audio file doesn't match the format specified in the MediaFormat field in the request. Check the media format of your media file and make sure the two values match.

    • Invalid sample rate for audio file- The sample rate specified in the MediaSampleRateHertz of the request isn't valid. The sample rate must be between 8000 and 48000 Hertz.

    • The sample rate provided does not match the detected sample rate- The sample rate in the audio file doesn't match the sample rate specified in the MediaSampleRateHertz field in the request. Check the sample rate of your media file and make sure that the two values match.

    • Invalid file size: file size too large- The size of your audio file is larger than what Amazon Transcribe Medical can process. For more information, see Guidlines and Quotas in the Amazon Transcribe Medical Guide

    • Invalid number of channels: number of channels too large- Your audio contains more channels than Amazon Transcribe Medical is configured to process. To request additional channels, see Amazon Transcribe Medical Endpoints and Quotas in the Amazon Web Services General Reference

    " + }, + "Settings":{ + "shape":"MedicalTranscriptionSetting", + "documentation":"

    Object that contains object.

    " + }, + "Specialty":{ + "shape":"Specialty", + "documentation":"

    The medical specialty of any clinicians providing a dictation or having a conversation. PRIMARYCARE is the only available setting for this object. This specialty enables you to generate transcriptions for the following medical fields:

    • Family Medicine

    " + }, + "Type":{ + "shape":"Type", + "documentation":"

    The type of speech in the transcription job. CONVERSATION is generally used for patient-physician dialogues. DICTATION is the setting for physicians speaking their notes after seeing a patient. For more information, see how-it-works-med

    " + } + }, + "documentation":"

    The data structure that containts the information for a medical transcription job.

    " + }, + "MedicalTranscriptionJobSummaries":{ + "type":"list", + "member":{"shape":"MedicalTranscriptionJobSummary"} + }, + "MedicalTranscriptionJobSummary":{ + "type":"structure", + "members":{ + "MedicalTranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of a medical transcription job.

    " + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the medical transcription job was created.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job began processing.

    " + }, + "CompletionTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was completed.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language of the transcript in the source audio file.

    " + }, + "TranscriptionJobStatus":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The status of the medical transcription job.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the TranscriptionJobStatus field is FAILED, a description of the error.

    " + }, + "OutputLocationType":{ + "shape":"OutputLocationType", + "documentation":"

    Indicates the location of the transcription job's output.

    The CUSTOMER_BUCKET is the S3 location provided in the OutputBucketName field when the

    " + }, + "Specialty":{ + "shape":"Specialty", + "documentation":"

    The medical specialty of the transcription job. Primary care is the only valid value.

    " + }, + "Type":{ + "shape":"Type", + "documentation":"

    The speech of the clinician in the input audio.

    " + } + }, + "documentation":"

    Provides summary information about a transcription job.

    " + }, + "MedicalTranscriptionSetting":{ + "type":"structure", + "members":{ + "ShowSpeakerLabels":{ + "shape":"Boolean", + "documentation":"

    Determines whether the transcription job uses speaker recognition to identify different speakers in the input audio. Speaker recongition labels individual speakers in the audio file. If you set the ShowSpeakerLabels field to true, you must also set the maximum number of speaker labels in the MaxSpeakerLabels field.

    You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    " + }, + "MaxSpeakerLabels":{ + "shape":"MaxSpeakers", + "documentation":"

    The maximum number of speakers to identify in the input audio. If there are more speakers in the audio than this number, multiple speakers are identified as a single speaker. If you specify the MaxSpeakerLabels field, you must set the ShowSpeakerLabels field to true.

    " + }, + "ChannelIdentification":{ + "shape":"Boolean", + "documentation":"

    Instructs Amazon Transcribe Medical to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    Amazon Transcribe Medical also produces a transcription of each item detected on an audio channel, including the start time and end time of the item and alternative transcriptions of item. The alternative transcriptions also come with confidence scores provided by Amazon Transcribe Medical.

    You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException

    " + }, + "ShowAlternatives":{ + "shape":"Boolean", + "documentation":"

    Determines whether alternative transcripts are generated along with the transcript that has the highest confidence. If you set ShowAlternatives field to true, you must also set the maximum number of alternatives to return in the MaxAlternatives field.

    " + }, + "MaxAlternatives":{ + "shape":"MaxAlternatives", + "documentation":"

    The maximum number of alternatives that you tell the service to return. If you specify the MaxAlternatives field, you must set the ShowAlternatives field to true.

    " + }, + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to use when processing a medical transcription job.

    " + } + }, + "documentation":"

    Optional settings for the StartMedicalTranscriptionJob operation.

    " + }, + "NextToken":{ + "type":"string", + "max":8192, + "pattern":".+" + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    We can't find the requested resource. Check the name and try your request again.

    ", + "exception":true + }, + "OutputBucketName":{ + "type":"string", + "max":64, + "pattern":"[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9]" + }, + "OutputLocationType":{ + "type":"string", + "enum":[ + "CUSTOMER_BUCKET", + "SERVICE_BUCKET" + ] + }, + "Phrase":{ + "type":"string", + "max":256, + "min":0, + "pattern":".+" + }, + "Phrases":{ + "type":"list", + "member":{"shape":"Phrase"} + }, + "RedactionOutput":{ + "type":"string", + "enum":[ + "redacted", + "redacted_and_unredacted" + ] + }, + "RedactionType":{ + "type":"string", + "enum":["PII"] + }, + "Settings":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of a vocabulary to use when processing the transcription job.

    " + }, + "ShowSpeakerLabels":{ + "shape":"Boolean", + "documentation":"

    Determines whether the transcription job uses speaker recognition to identify different speakers in the input audio. Speaker recognition labels individual speakers in the audio file. If you set the ShowSpeakerLabels field to true, you must also set the maximum number of speaker labels MaxSpeakerLabels field.

    You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    " + }, + "MaxSpeakerLabels":{ + "shape":"MaxSpeakers", + "documentation":"

    The maximum number of speakers to identify in the input audio. If there are more speakers in the audio than this number, multiple speakers are identified as a single speaker. If you specify the MaxSpeakerLabels field, you must set the ShowSpeakerLabels field to true.

    " + }, + "ChannelIdentification":{ + "shape":"Boolean", + "documentation":"

    Instructs Amazon Transcribe to process each audio channel separately and then merge the transcription output of each channel into a single transcription.

    Amazon Transcribe also produces a transcription of each item detected on an audio channel, including the start time and end time of the item and alternative transcriptions of the item including the confidence that Amazon Transcribe has in the transcription.

    You can't set both ShowSpeakerLabels and ChannelIdentification in the same request. If you set both, your request returns a BadRequestException.

    " + }, + "ShowAlternatives":{ + "shape":"Boolean", + "documentation":"

    Determines whether the transcription contains alternative transcriptions. If you set the ShowAlternatives field to true, you must also set the maximum number of alternatives to return in the MaxAlternatives field.

    " + }, + "MaxAlternatives":{ + "shape":"MaxAlternatives", + "documentation":"

    The number of alternative transcriptions that the service should return. If you specify the MaxAlternatives field, you must set the ShowAlternatives field to true.

    " + }, + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter to use when transcribing the audio. The filter that you specify must have the same language code as the transcription job.

    " + }, + "VocabularyFilterMethod":{ + "shape":"VocabularyFilterMethod", + "documentation":"

    Set to mask to remove filtered text from the transcript and replace it with three asterisks (\"***\") as placeholder text. Set to remove to remove filtered text from the transcript without using placeholder text.

    " + } + }, + "documentation":"

    Provides optional settings for the StartTranscriptionJob operation.

    " + }, + "Specialty":{ + "type":"string", + "enum":["PRIMARYCARE"] + }, + "StartMedicalTranscriptionJobRequest":{ + "type":"structure", + "required":[ + "MedicalTranscriptionJobName", + "LanguageCode", + "Media", + "OutputBucketName", + "Specialty", + "Type" + ], + "members":{ + "MedicalTranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the medical transcription job. You can't use the strings \".\" or \"..\" by themselves as the job name. The name must also be unique within an AWS account. If you try to create a medical transcription job with the same name as a previous medical transcription job you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the language spoken in the input media file. US English (en-US) is the valid value for medical transcription jobs. Any other value you enter for language code results in a BadRequestException error.

    " + }, + "MediaSampleRateHertz":{ + "shape":"MediaSampleRateHertz", + "documentation":"

    The sample rate, in Hertz, of the audio track in the input media file.

    If you do not specify the media sample rate, Amazon Transcribe Medical determines the sample rate. If you specify the sample rate, it must match the rate detected by Amazon Transcribe Medical. In most cases, you should leave the MediaSampleRateHertz field blank and let Amazon Transcribe Medical determine the sample rate.

    " + }, + "MediaFormat":{ + "shape":"MediaFormat", + "documentation":"

    The audio format of the input media file.

    " + }, + "Media":{"shape":"Media"}, + "OutputBucketName":{ + "shape":"OutputBucketName", + "documentation":"

    The Amazon S3 location where the transcription is stored.

    You must set OutputBucketName for Amazon Transcribe Medical to store the transcription results. Your transcript appears in the S3 location you specify. When you call the GetMedicalTranscriptionJob, the operation returns this location in the TranscriptFileUri field. The S3 bucket must have permissions that allow Amazon Transcribe Medical to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

    You can specify an AWS Key Management Service (KMS) key to encrypt the output of your transcription using the OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, Amazon Transcribe Medical uses the default Amazon S3 key for server-side encryption of transcripts that are placed in your S3 bucket.

    " + }, + "OutputEncryptionKMSKeyId":{ + "shape":"KMSKeyId", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the output of the transcription job. The user calling the StartMedicalTranscriptionJob operation must have permission to use the specified KMS key.

    You use either of the following to identify a KMS key in the current account:

    • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

    • KMS Key Alias: \"alias/ExampleAlias\"

    You can use either of the following to identify a KMS key in the current account or another account:

    • Amazon Resource Name (ARN) of a KMS key in the current account or another account: \"arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

    • ARN of a KMS Key Alias: \"arn:aws:kms:region:account ID:alias/ExampleAlias\"

    If you don't specify an encryption key, the output of the medical transcription job is encrypted with the default Amazon S3 key (SSE-S3).

    If you specify a KMS key to encrypt your output, you must also specify an output location in the OutputBucketName parameter.

    " + }, + "Settings":{ + "shape":"MedicalTranscriptionSetting", + "documentation":"

    Optional settings for the medical transcription job.

    " + }, + "Specialty":{ + "shape":"Specialty", + "documentation":"

    The medical specialty of any clinician speaking in the input media.

    " + }, + "Type":{ + "shape":"Type", + "documentation":"

    The type of speech in the input audio. CONVERSATION refers to conversations between two or more speakers, e.g., a conversations between doctors and patients. DICTATION refers to single-speaker dictated speech, e.g., for clinical notes.

    " + } + } + }, + "StartMedicalTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "MedicalTranscriptionJob":{ + "shape":"MedicalTranscriptionJob", + "documentation":"

    A batch job submitted to transcribe medical speech to text.

    " + } + } + }, + "StartTranscriptionJobRequest":{ + "type":"structure", + "required":[ + "TranscriptionJobName", + "LanguageCode", + "Media" + ], + "members":{ + "TranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the job. Note that you can't use the strings \".\" or \"..\" by themselves as the job name. The name must also be unique within an AWS account. If you try to create a transcription job with the same name as a previous transcription job you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the language used in the input media file.

    " + }, + "MediaSampleRateHertz":{ + "shape":"MediaSampleRateHertz", + "documentation":"

    The sample rate, in Hertz, of the audio track in the input media file.

    If you do not specify the media sample rate, Amazon Transcribe determines the sample rate. If you specify the sample rate, it must match the sample rate detected by Amazon Transcribe. In most cases, you should leave the MediaSampleRateHertz field blank and let Amazon Transcribe determine the sample rate.

    " + }, + "MediaFormat":{ + "shape":"MediaFormat", + "documentation":"

    The format of the input media file.

    " + }, + "Media":{ + "shape":"Media", + "documentation":"

    An object that describes the input media for a transcription job.

    " + }, + "OutputBucketName":{ + "shape":"OutputBucketName", + "documentation":"

    The location where the transcription is stored.

    If you set the OutputBucketName, Amazon Transcribe puts the transcript in the specified S3 bucket. When you call the GetTranscriptionJob operation, the operation returns this location in the TranscriptFileUri field. If you enable content redaction, the redacted transcript appears in RedactedTranscriptFileUri. If you enable content redaction and choose to output an unredacted transcript, that transcript's location still appears in the TranscriptFileUri. The S3 bucket must have permissions that allow Amazon Transcribe to put files in the bucket. For more information, see Permissions Required for IAM User Roles.

    You can specify an AWS Key Management Service (KMS) key to encrypt the output of your transcription using the OutputEncryptionKMSKeyId parameter. If you don't specify a KMS key, Amazon Transcribe uses the default Amazon S3 key for server-side encryption of transcripts that are placed in your S3 bucket.

    If you don't set the OutputBucketName, Amazon Transcribe generates a pre-signed URL, a shareable URL that provides secure access to your transcription, and returns it in the TranscriptFileUri field. Use this URL to download the transcription.

    " + }, + "OutputEncryptionKMSKeyId":{ + "shape":"KMSKeyId", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Key Management Service (KMS) key used to encrypt the output of the transcription job. The user calling the StartTranscriptionJob operation must have permission to use the specified KMS key.

    You can use either of the following to identify a KMS key in the current account:

    • KMS Key ID: \"1234abcd-12ab-34cd-56ef-1234567890ab\"

    • KMS Key Alias: \"alias/ExampleAlias\"

    You can use either of the following to identify a KMS key in the current account or another account:

    • Amazon Resource Name (ARN) of a KMS Key: \"arn:aws:kms:region:account ID:key/1234abcd-12ab-34cd-56ef-1234567890ab\"

    • ARN of a KMS Key Alias: \"arn:aws:kms:region:account ID:alias/ExampleAlias\"

    If you don't specify an encryption key, the output of the transcription job is encrypted with the default Amazon S3 key (SSE-S3).

    If you specify a KMS key to encrypt your output, you must also specify an output location in the OutputBucketName parameter.

    " + }, + "Settings":{ + "shape":"Settings", + "documentation":"

    A Settings object that provides optional settings for a transcription job.

    " + }, + "JobExecutionSettings":{ + "shape":"JobExecutionSettings", + "documentation":"

    Provides information about how a transcription job is executed. Use this field to indicate that the job can be queued for deferred execution if the concurrency limit is reached and there are no slots available to immediately run the job.

    " + }, + "ContentRedaction":{ + "shape":"ContentRedaction", + "documentation":"

    An object that contains the request parameters for content redaction.

    " + } + } + }, + "StartTranscriptionJobResponse":{ + "type":"structure", + "members":{ + "TranscriptionJob":{ + "shape":"TranscriptionJob", + "documentation":"

    An object containing details of the asynchronous transcription job.

    " + } + } + }, + "String":{"type":"string"}, + "Transcript":{ + "type":"structure", + "members":{ + "TranscriptFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 object location of the the transcript.

    Use this URI to access the transcript. If you specified an S3 bucket in the OutputBucketName field when you created the job, this is the URI of that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that provides secure access to that location.

    " + }, + "RedactedTranscriptFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 object location of the redacted transcript.

    Use this URI to access the redacated transcript. If you specified an S3 bucket in the OutputBucketName field when you created the job, this is the URI of that bucket. If you chose to store the transcript in Amazon Transcribe, this is a shareable URL that provides secure access to that location.

    " + } + }, + "documentation":"

    Identifies the location of a transcription.

    " + }, + "TranscriptionJob":{ + "type":"structure", + "members":{ + "TranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the transcription job.

    " + }, + "TranscriptionJobStatus":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The status of the transcription job.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the input speech.

    " + }, + "MediaSampleRateHertz":{ + "shape":"MediaSampleRateHertz", + "documentation":"

    The sample rate, in Hertz, of the audio track in the input media file.

    " + }, + "MediaFormat":{ + "shape":"MediaFormat", + "documentation":"

    The format of the input media file.

    " + }, + "Media":{ + "shape":"Media", + "documentation":"

    An object that describes the input media for the transcription job.

    " + }, + "Transcript":{ + "shape":"Transcript", + "documentation":"

    An object that describes the output of the transcription job.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows with the job was started processing.

    " + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was created.

    " + }, + "CompletionTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was completed.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the TranscriptionJobStatus field is FAILED, this field contains information about why the job failed.

    The FailureReason field can contain one of the following values:

    • Unsupported media format - The media format specified in the MediaFormat field of the request isn't valid. See the description of the MediaFormat field for a list of valid values.

    • The media format provided does not match the detected media format - The media format of the audio file doesn't match the format specified in the MediaFormat field in the request. Check the media format of your media file and make sure that the two values match.

    • Invalid sample rate for audio file - The sample rate specified in the MediaSampleRateHertz of the request isn't valid. The sample rate must be between 8000 and 48000 Hertz.

    • The sample rate provided does not match the detected sample rate - The sample rate in the audio file doesn't match the sample rate specified in the MediaSampleRateHertz field in the request. Check the sample rate of your media file and make sure that the two values match.

    • Invalid file size: file size too large - The size of your audio file is larger than Amazon Transcribe can process. For more information, see Limits in the Amazon Transcribe Developer Guide.

    • Invalid number of channels: number of channels too large - Your audio contains more channels than Amazon Transcribe is configured to process. To request additional channels, see Amazon Transcribe Limits in the Amazon Web Services General Reference.

    " + }, + "Settings":{ + "shape":"Settings", + "documentation":"

    Optional settings for the transcription job. Use these settings to turn on speaker recognition, to set the maximum number of speakers that should be identified and to specify a custom vocabulary to use when processing the transcription job.

    " + }, + "JobExecutionSettings":{ + "shape":"JobExecutionSettings", + "documentation":"

    Provides information about how a transcription job is executed.

    " + }, + "ContentRedaction":{ + "shape":"ContentRedaction", + "documentation":"

    An object that describes content redaction settings for the transcription job.

    " + } + }, + "documentation":"

    Describes an asynchronous transcription job that was created with the StartTranscriptionJob operation.

    " + }, + "TranscriptionJobName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "TranscriptionJobStatus":{ + "type":"string", + "enum":[ + "QUEUED", + "IN_PROGRESS", + "FAILED", + "COMPLETED" + ] + }, + "TranscriptionJobSummaries":{ + "type":"list", + "member":{"shape":"TranscriptionJobSummary"} + }, + "TranscriptionJobSummary":{ + "type":"structure", + "members":{ + "TranscriptionJobName":{ + "shape":"TranscriptionJobName", + "documentation":"

    The name of the transcription job.

    " + }, + "CreationTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was created.

    " + }, + "StartTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job started processing.

    " + }, + "CompletionTime":{ + "shape":"DateTime", + "documentation":"

    A timestamp that shows when the job was completed.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the input speech.

    " + }, + "TranscriptionJobStatus":{ + "shape":"TranscriptionJobStatus", + "documentation":"

    The status of the transcription job. When the status is COMPLETED, use the GetTranscriptionJob operation to get the results of the transcription.

    " + }, + "FailureReason":{ + "shape":"FailureReason", + "documentation":"

    If the TranscriptionJobStatus field is FAILED, a description of the error.

    " + }, + "OutputLocationType":{ + "shape":"OutputLocationType", + "documentation":"

    Indicates the location of the output of the transcription job.

    If the value is CUSTOMER_BUCKET then the location is the S3 bucket specified in the outputBucketName field when the transcription job was started with the StartTranscriptionJob operation.

    If the value is SERVICE_BUCKET then the output is stored by Amazon Transcribe and can be retrieved using the URI in the GetTranscriptionJob response's TranscriptFileUri field.

    " + }, + "ContentRedaction":{ + "shape":"ContentRedaction", + "documentation":"

    The content redaction settings of the transcription job.

    " + } + }, + "documentation":"

    Provides a summary of information about a transcription job.

    " + }, + "Type":{ + "type":"string", + "enum":[ + "CONVERSATION", + "DICTATION" + ] + }, + "UpdateMedicalVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode" + ], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to update. The name is case-sensitive. If you try to update a vocabulary with the same name as a previous vocabulary you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the entries in the updated vocabulary. US English (en-US) is the only valid language code in Amazon Transcribe Medical.

    " + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

    The Amazon S3 location of the text file containing the definition of the custom vocabulary. The URI must be in the same AWS region as the API endpoint you are calling. You can see the fields you need to enter for you Amazon S3 location in the example URI here:

    https://s3.<aws-region>.amazonaws.com/<bucket-name>/<keyprefix>/<objectkey>

    For example:

    https://s3.us-east-1.amazonaws.com/AWSDOC-EXAMPLE-BUCKET/vocab.txt

    For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

    For more information about custom vocabularies in Amazon Transcribe Medical, see Medical Custom Vocabularies.

    " + } + } + }, + "UpdateMedicalVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the updated vocabulary.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code for the text file used to update the custom vocabulary. US English (en-US) is the only language supported in Amazon Transcribe Medical.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time the vocabulary was updated.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the update to the vocabulary. When the VocabularyState field is READY the vocabulary is ready to be used in a StartMedicalTranscriptionJob request.

    " + } + } + }, + "UpdateVocabularyFilterRequest":{ + "type":"structure", + "required":["VocabularyFilterName"], + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter to update. If you try to update a vocabulary filter with the same name as a previous vocabulary filter you will receive a ConflictException error.

    " + }, + "Words":{ + "shape":"Words", + "documentation":"

    The words to use in the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

    If you provide a list of words in the Words parameter, you can't use the VocabularyFilterFileUri parameter.

    " + }, + "VocabularyFilterFileUri":{ + "shape":"Uri", + "documentation":"

    The Amazon S3 location of a text file used as input to create the vocabulary filter. Only use characters from the character set defined for custom vocabularies. For a list of character sets, see Character Sets for Custom Vocabularies.

    The specified file must be less than 50 KB of UTF-8 characters.

    If you provide the location of a list of words in the VocabularyFilterFileUri parameter, you can't use the Words parameter.

    " + } + } + }, + "UpdateVocabularyFilterResponse":{ + "type":"structure", + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the updated vocabulary filter.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the words in the vocabulary filter.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary filter was updated.

    " + } + } + }, + "UpdateVocabularyRequest":{ + "type":"structure", + "required":[ + "VocabularyName", + "LanguageCode" + ], + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary to update. The name is case-sensitive. If you try to update a vocabulary with the same name as a previous vocabulary you will receive a ConflictException error.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "Phrases":{ + "shape":"Phrases", + "documentation":"

    An array of strings containing the vocabulary entries.

    " + }, + "VocabularyFileUri":{ + "shape":"Uri", + "documentation":"

    The S3 location of the text file that contains the definition of the custom vocabulary. The URI must be in the same region as the API endpoint that you are calling. The general form is

    For example:

    For more information about S3 object names, see Object Keys in the Amazon S3 Developer Guide.

    For more information about custom vocabularies, see Custom Vocabularies.

    " + } + } + }, + "UpdateVocabularyResponse":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary that was updated.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary was updated.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the vocabulary. When the VocabularyState field contains READY the vocabulary is ready to be used in a StartTranscriptionJob request.

    " + } + } + }, + "Uri":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"(s3://|http(s*)://).+" + }, + "Vocabularies":{ + "type":"list", + "member":{"shape":"VocabularyInfo"} + }, + "VocabularyFilterInfo":{ + "type":"structure", + "members":{ + "VocabularyFilterName":{ + "shape":"VocabularyFilterName", + "documentation":"

    The name of the vocabulary filter. The name must be unique in the account that holds the filter.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the words in the vocabulary filter.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary was last updated.

    " + } + }, + "documentation":"

    Provides information about a vocabulary filter.

    " + }, + "VocabularyFilterMethod":{ + "type":"string", + "enum":[ + "remove", + "mask" + ] + }, + "VocabularyFilterName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "VocabularyFilters":{ + "type":"list", + "member":{"shape":"VocabularyFilterInfo"} + }, + "VocabularyInfo":{ + "type":"structure", + "members":{ + "VocabularyName":{ + "shape":"VocabularyName", + "documentation":"

    The name of the vocabulary.

    " + }, + "LanguageCode":{ + "shape":"LanguageCode", + "documentation":"

    The language code of the vocabulary entries.

    " + }, + "LastModifiedTime":{ + "shape":"DateTime", + "documentation":"

    The date and time that the vocabulary was last modified.

    " + }, + "VocabularyState":{ + "shape":"VocabularyState", + "documentation":"

    The processing state of the vocabulary. If the state is READY you can use the vocabulary in a StartTranscriptionJob request.

    " + } + }, + "documentation":"

    Provides information about a custom vocabulary.

    " + }, + "VocabularyName":{ + "type":"string", + "max":200, + "min":1, + "pattern":"^[0-9a-zA-Z._-]+" + }, + "VocabularyState":{ + "type":"string", + "enum":[ + "PENDING", + "READY", + "FAILED" + ] + }, + "Word":{ + "type":"string", + "max":256, + "min":1 + }, + "Words":{ + "type":"list", + "member":{"shape":"Word"}, + "min":1 + } + }, + "documentation":"

    Operations and objects for transcribing speech to text.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/transfer/2018-11-05/paginators-1.json python-botocore-1.16.19+repack/botocore/data/transfer/2018-11-05/paginators-1.json --- python-botocore-1.4.70/botocore/data/transfer/2018-11-05/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/transfer/2018-11-05/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListServers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Servers" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/transfer/2018-11-05/service-2.json python-botocore-1.16.19+repack/botocore/data/transfer/2018-11-05/service-2.json --- python-botocore-1.4.70/botocore/data/transfer/2018-11-05/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/transfer/2018-11-05/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,1447 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-11-05", + "endpointPrefix":"transfer", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"AWS Transfer", + "serviceFullName":"AWS Transfer Family", + "serviceId":"Transfer", + "signatureVersion":"v4", + "signingName":"transfer", + "targetPrefix":"TransferService", + "uid":"transfer-2018-11-05" + }, + "operations":{ + "CreateServer":{ + "name":"CreateServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateServerRequest"}, + "output":{"shape":"CreateServerResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Instantiates an autoscaling virtual server based on the selected file transfer protocol in AWS. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId property that is assigned to the newly created server.

    " + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's AWS Identity and Access Management (IAM) role. You can also optionally add a scope-down policy, and assign metadata with tags that can be used to group and search for users.

    " + }, + "DeleteServer":{ + "name":"DeleteServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteServerRequest"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the file transfer protocol-enabled server that you specify.

    No response returns from this operation.

    " + }, + "DeleteSshPublicKey":{ + "name":"DeleteSshPublicKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSshPublicKeyRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Deletes a user's Secure Shell (SSH) public key.

    No response is returned from this operation.

    " + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Deletes the user belonging to a file transfer protocol-enabled server you specify.

    No response returns from this operation.

    When you delete a user from a server, the user's information is lost.

    " + }, + "DescribeServer":{ + "name":"DescribeServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServerRequest"}, + "output":{"shape":"DescribeServerResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Describes a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

    The response contains a description of a server's properties. When you set EndpointType to VPC, the response will contain the EndpointDetails.

    " + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property.

    The response from this call returns the properties of the user associated with the ServerId value that was specified.

    " + }, + "ImportSshPublicKey":{ + "name":"ImportSshPublicKey", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportSshPublicKeyRequest"}, + "output":{"shape":"ImportSshPublicKeyResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Adds a Secure Shell (SSH) public key to a user account identified by a UserName value assigned to the specific file transfer protocol-enabled server, identified by ServerId.

    The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId.

    " + }, + "ListServers":{ + "name":"ListServers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListServersRequest"}, + "output":{"shape":"ListServersResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Lists the file transfer protocol-enabled servers that are associated with your AWS account.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"} + ], + "documentation":"

    Lists all of the tags associated with the Amazon Resource Number (ARN) you specify. The resource can be a user, server, or role.

    " + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

    " + }, + "StartServer":{ + "name":"StartServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartServerRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Changes the state of a file transfer protocol-enabled server from OFFLINE to ONLINE. It has no impact on a server that is already ONLINE. An ONLINE server can accept and process file transfer jobs.

    The state of STARTING indicates that the server is in an intermediate state, either not fully able to respond, or not fully online. The values of START_FAILED can indicate an error condition.

    No response is returned from this call.

    " + }, + "StopServer":{ + "name":"StopServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopServerRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Changes the state of a file transfer protocol-enabled server from ONLINE to OFFLINE. An OFFLINE server cannot accept and process file transfer jobs. Information tied to your server, such as server and user properties, are not affected by stopping your server. Stopping the server will not reduce or impact your file transfer protocol endpoint billing.

    The state of STOPPING indicates that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of STOP_FAILED can indicate an error condition.

    No response is returned from this call.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Attaches a key-value pair to a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

    There is no response returned from this call.

    " + }, + "TestIdentityProvider":{ + "name":"TestIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestIdentityProviderRequest"}, + "output":{"shape":"TestIdentityProviderResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    If the IdentityProviderType of a file transfer protocol-enabled server is API_Gateway, tests whether your API Gateway is set up successfully. We highly recommend that you call this operation to test your authentication method as soon as you create your server. By doing so, you can troubleshoot issues with the API Gateway integration to ensure that your users can successfully use the service.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Detaches a key-value pair from a resource, as identified by its Amazon Resource Name (ARN). Resources are users, servers, roles, and other entities.

    No response is returned from this call.

    " + }, + "UpdateServer":{ + "name":"UpdateServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateServerRequest"}, + "output":{"shape":"UpdateServerResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Updates the file transfer protocol-enabled server's properties after that server has been created.

    The UpdateServer call returns the ServerId of the server you updated.

    " + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "documentation":"

    Assigns new properties to a user. Parameters you pass modify any or all of the following: the home directory, role, and policy for the UserName and ServerId you specify.

    The response returns the ServerId and the UserName for the updated user.

    " + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ServiceErrorMessage"} + }, + "documentation":"

    You do not have sufficient access to perform this action.

    ", + "exception":true, + "synthetic":true + }, + "AddressAllocationId":{"type":"string"}, + "AddressAllocationIds":{ + "type":"list", + "member":{"shape":"AddressAllocationId"} + }, + "Arn":{ + "type":"string", + "max":1600, + "min":20, + "pattern":"arn:.*" + }, + "Certificate":{ + "type":"string", + "max":1600 + }, + "ConflictException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    This exception is thrown when the UpdatServer is called for a file transfer protocol-enabled server that has VPC as the endpoint type and the server's VpcEndpointID is not in the available state.

    ", + "exception":true + }, + "CreateServerRequest":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"Certificate", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

    " + }, + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

    The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. When you host your endpoint within your VPC, you can make it accessible only to resources within your VPC, or you can attach Elastic IPs and make it accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.

    " + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

    The type of VPC endpoint that you want your file transfer protocol-enabled server to connect to. You can choose to connect to the public internet or a virtual private cloud (VPC) endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

    " + }, + "HostKey":{ + "shape":"HostKey", + "documentation":"

    The RSA private key as generated by the ssh-keygen -N \"\" -f my-new-server-key command.

    If you aren't planning to migrate existing users from an existing SFTP-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

    For more information, see Changing the Host Key for Your AWS Transfer Family Server in the AWS Transfer Family User Guide.

    " + }, + "IdentityProviderDetails":{ + "shape":"IdentityProviderDetails", + "documentation":"

    Required when IdentityProviderType is set to API_GATEWAY. Accepts an array containing all of the information required to call a customer-supplied authentication API, including the API Gateway URL. Not required when IdentityProviderType is set to SERVICE_MANAGED.

    " + }, + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

    Specifies the mode of authentication for a file transfer protocol-enabled server. The default value is SERVICE_MANAGED, which allows you to store and access user credentials within the AWS Transfer Family service. Use the API_GATEWAY value to integrate with an identity provider of your choosing. The API_GATEWAY setting requires you to provide an API Gateway endpoint URL to call for authentication using the IdentityProviderDetails parameter.

    " + }, + "LoggingRole":{ + "shape":"Role", + "documentation":"

    Allows the service to write your users' activity to your Amazon CloudWatch logs for monitoring and auditing purposes.

    " + }, + "Protocols":{ + "shape":"Protocols", + "documentation":"

    Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

    • Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over SSH

    • File Transfer Protocol Secure (FTPS): File transfer with TLS encryption

    • File Transfer Protocol (FTP): Unencrypted file transfer

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Key-value pairs that can be used to group and search for file transfer protocol-enabled servers.

    " + } + } + }, + "CreateServerResponse":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    The service-assigned ID of the file transfer protocol-enabled server that is created.

    " + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "Role", + "ServerId", + "UserName" + ], + "members":{ + "HomeDirectory":{ + "shape":"HomeDirectory", + "documentation":"

    The landing directory (folder) for a user when they log in to the file transfer protocol-enabled server using the client.

    An example is your-Amazon-S3-bucket-name>/home/username.

    " + }, + "HomeDirectoryType":{ + "shape":"HomeDirectoryType", + "documentation":"

    The type of landing directory (folder) you want your users' home directory to be when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

    " + }, + "HomeDirectoryMappings":{ + "shape":"HomeDirectoryMappings", + "documentation":"

    Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS IAM Role provides access to paths in Target. The following is an example.

    '[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

    In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

    If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a '/' for it to be considered a folder.

    " + }, + "Policy":{ + "shape":"Policy", + "documentation":"

    A scope-down policy for your user so you can use the same IAM role across multiple users. This policy scopes down user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

    For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

    For an example of a scope-down policy, see Creating a Scope-Down Policy.

    For more information, see AssumeRole in the AWS Security Token Service API Reference.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance. This is the specific server that you added your user to.

    " + }, + "SshPublicKeyBody":{ + "shape":"SshPublicKeyBody", + "documentation":"

    The public portion of the Secure Shell (SSH) key used to authenticate the user to the file transfer protocol-enabled server.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

    " + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    The ID of the file transfer protocol-enabled server that the user is attached to.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A unique string that identifies a user account associated with a file transfer protocol-enabled server.

    " + } + } + }, + "DateImported":{"type":"timestamp"}, + "DeleteServerRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A unique system-assigned identifier for a file transfer protocol-enabled server instance.

    " + } + } + }, + "DeleteSshPublicKeyRequest":{ + "type":"structure", + "required":[ + "ServerId", + "SshPublicKeyId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.

    " + }, + "SshPublicKeyId":{ + "shape":"SshPublicKeyId", + "documentation":"

    A unique identifier used to reference your user's specific SSH key.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A unique string that identifies a user whose public key is being deleted.

    " + } + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance that has the user assigned to it.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A unique string that identifies a user that is being deleted from a file transfer protocol-enabled server.

    " + } + } + }, + "DescribeServerRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server.

    " + } + } + }, + "DescribeServerResponse":{ + "type":"structure", + "required":["Server"], + "members":{ + "Server":{ + "shape":"DescribedServer", + "documentation":"

    An array containing the properties of a file transfer protocol-enabled server with the ServerID you specified.

    " + } + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that has this user assigned.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user assigned to one or more file transfer protocol-enabled servers. User names are part of the sign-in credentials to use the AWS Transfer Family service and perform file transfer tasks.

    " + } + } + }, + "DescribeUserResponse":{ + "type":"structure", + "required":[ + "ServerId", + "User" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that has this user assigned.

    " + }, + "User":{ + "shape":"DescribedUser", + "documentation":"

    An array containing the properties of the user account for the ServerID value that you specified.

    " + } + } + }, + "DescribedServer":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled server to be described.

    " + }, + "Certificate":{ + "shape":"Certificate", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

    " + }, + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

    The virtual private cloud (VPC) endpoint settings that you configured for your file transfer protocol-enabled server.

    " + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

    The type of endpoint that your file transfer protocol-enabled server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

    " + }, + "HostKeyFingerprint":{ + "shape":"HostKeyFingerprint", + "documentation":"

    Contains the message-digest algorithm (MD5) hash of a file transfer protocol-enabled server's host key. This value is equivalent to the output of the ssh-keygen -l -E md5 -f my-new-server-key command.

    " + }, + "IdentityProviderDetails":{ + "shape":"IdentityProviderDetails", + "documentation":"

    Specifies information to call a customer-supplied authentication API. This field is not populated when the IdentityProviderType of a file transfer protocol-enabled server is SERVICE_MANAGED.

    " + }, + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

    Defines the mode of authentication method enabled for this service. A value of SERVICE_MANAGED means that you are using this file transfer protocol-enabled server to store and access user credentials within the service. A value of API_GATEWAY indicates that you have integrated an API Gateway endpoint that will be invoked for authenticating your user into the service.

    " + }, + "LoggingRole":{ + "shape":"Role", + "documentation":"

    An AWS Identity and Access Management (IAM) entity that allows a file transfer protocol-enabled server to turn on Amazon CloudWatch logging for Amazon S3 events. When set, user activity can be viewed in your CloudWatch logs.

    " + }, + "Protocols":{ + "shape":"Protocols", + "documentation":"

    Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

    • Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over SSH

    • File Transfer Protocol Secure (FTPS): File transfer with TLS encryption

    • File Transfer Protocol (FTP): Unencrypted file transfer

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    Unique system-assigned identifier for a file transfer protocol-enabled server that you instantiate.

    " + }, + "State":{ + "shape":"State", + "documentation":"

    The condition of a file transfer protocol-enabled server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

    The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Contains the key-value pairs that you can use to search for and group file transfer protocol-enabled servers that were assigned to the server that was described.

    " + }, + "UserCount":{ + "shape":"UserCount", + "documentation":"

    The number of users that are assigned to a file transfer protocol-enabled server you specified with the ServerId.

    " + } + }, + "documentation":"

    Describes the properties of a file transfer protocol-enabled server that was specified. Information returned includes the following: the server Amazon Resource Name (ARN), the authentication configuration and type, the logging role, the server ID and state, and assigned tags or metadata.

    " + }, + "DescribedUser":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    Contains the unique Amazon Resource Name (ARN) for the user that was requested to be described.

    " + }, + "HomeDirectory":{ + "shape":"HomeDirectory", + "documentation":"

    Specifies the landing directory (or folder), which is the location that files are written to or read from in an Amazon S3 bucket for the described user. An example is /your s3 bucket name/home/username .

    " + }, + "HomeDirectoryMappings":{ + "shape":"HomeDirectoryMappings", + "documentation":"

    Logical directory mappings that you specified for what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS IAM Role provides access to paths in Target.

    In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

    " + }, + "HomeDirectoryType":{ + "shape":"HomeDirectoryType", + "documentation":"

    The type of landing directory (folder) you mapped for your users to see when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

    " + }, + "Policy":{ + "shape":"Policy", + "documentation":"

    Specifies the name of the policy in use for the described user.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    Specifies the IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows a file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

    " + }, + "SshPublicKeys":{ + "shape":"SshPublicKeys", + "documentation":"

    Contains the public key portion of the Secure Shell (SSH) keys stored for the described user.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Contains the key-value pairs for the user requested. Tag can be used to search for and group users for a variety of purposes.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user that was requested to be described. User names are used for authentication purposes. This is the string that will be used by your user when they log in to your file transfer protocol-enabled server.

    " + } + }, + "documentation":"

    Returns properties of the user that you want to describe.

    " + }, + "EndpointDetails":{ + "type":"structure", + "members":{ + "AddressAllocationIds":{ + "shape":"AddressAllocationIds", + "documentation":"

    A list of address allocation IDs that are required to attach an Elastic IP address to your file transfer protocol-enabled server's endpoint. This is only valid in the UpdateServer API.

    This property can only be use when EndpointType is set to VPC.

    " + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    A list of subnet IDs that are required to host your file transfer protocol-enabled server endpoint in your VPC.

    " + }, + "VpcEndpointId":{ + "shape":"VpcEndpointId", + "documentation":"

    The ID of the VPC endpoint.

    " + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

    The VPC ID of the VPC in which a file transfer protocol-enabled server's endpoint will be hosted.

    " + } + }, + "documentation":"

    The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server and resources only within your VPC. To control incoming internet traffic, invoke the UpdateServer API and attach an Elastic IP to your server's endpoint.

    " + }, + "EndpointType":{ + "type":"string", + "enum":[ + "PUBLIC", + "VPC", + "VPC_ENDPOINT" + ] + }, + "HomeDirectory":{ + "type":"string", + "max":1024, + "pattern":"^$|/.*" + }, + "HomeDirectoryMapEntry":{ + "type":"structure", + "required":[ + "Entry", + "Target" + ], + "members":{ + "Entry":{ + "shape":"MapEntry", + "documentation":"

    Represents an entry and a target for HomeDirectoryMappings.

    " + }, + "Target":{ + "shape":"MapTarget", + "documentation":"

    Represents the map target that is used in a HomeDirectorymapEntry.

    " + } + }, + "documentation":"

    Represents an object that contains entries and a targets for HomeDirectoryMappings.

    " + }, + "HomeDirectoryMappings":{ + "type":"list", + "member":{"shape":"HomeDirectoryMapEntry"}, + "max":50, + "min":1 + }, + "HomeDirectoryType":{ + "type":"string", + "enum":[ + "PATH", + "LOGICAL" + ] + }, + "HostKey":{ + "type":"string", + "max":4096, + "sensitive":true + }, + "HostKeyFingerprint":{"type":"string"}, + "IdentityProviderDetails":{ + "type":"structure", + "members":{ + "Url":{ + "shape":"Url", + "documentation":"

    Contains the location of the service endpoint used to authenticate users.

    " + }, + "InvocationRole":{ + "shape":"Role", + "documentation":"

    Provides the type of InvocationRole used to authenticate the user account.

    " + } + }, + "documentation":"

    Returns information related to the type of user authentication that is in use for a file transfer protocol-enabled server's users. A server can have only one method of authentication.

    " + }, + "IdentityProviderType":{ + "type":"string", + "documentation":"

    Returns information related to the type of user authentication that is in use for a file transfer protocol-enabled server's users. For SERVICE_MANAGED authentication, the Secure Shell (SSH) public keys are stored with a user on the server instance. For API_GATEWAY authentication, your custom authentication method is implemented by using an API call. The server can have only one method of authentication.

    ", + "enum":[ + "SERVICE_MANAGED", + "API_GATEWAY" + ] + }, + "ImportSshPublicKeyRequest":{ + "type":"structure", + "required":[ + "ServerId", + "SshPublicKeyBody", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server.

    " + }, + "SshPublicKeyBody":{ + "shape":"SshPublicKeyBody", + "documentation":"

    The public key portion of an SSH key pair.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user account that is assigned to one or more file transfer protocol-enabled servers.

    " + } + } + }, + "ImportSshPublicKeyResponse":{ + "type":"structure", + "required":[ + "ServerId", + "SshPublicKeyId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server.

    " + }, + "SshPublicKeyId":{ + "shape":"SshPublicKeyId", + "documentation":"

    The name given to a public key by the system that was imported.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A user name assigned to the ServerID value that you specified.

    " + } + }, + "documentation":"

    Identifies the user, the file transfer protocol-enabled server they belong to, and the identifier of the SSH public key associated with that user. A user can have more than one key on each server that they are associated with.

    " + }, + "InternalServiceError":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    This exception is thrown when an error occurs in the AWS Transfer Family service.

    ", + "exception":true, + "fault":true + }, + "InvalidNextTokenException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    The NextToken parameter that was passed is invalid.

    ", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"Message"} + }, + "documentation":"

    This exception is thrown when the client submits a malformed request.

    ", + "exception":true + }, + "ListServersRequest":{ + "type":"structure", + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Specifies the number of file transfer protocol-enabled servers to return as a response to the ListServers query.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When additional results are obtained from theListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional file transfer protocol-enabled servers.

    " + } + } + }, + "ListServersResponse":{ + "type":"structure", + "required":["Servers"], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When you can get additional results from the ListServers operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing additional file transfer protocol-enabled servers.

    " + }, + "Servers":{ + "shape":"ListedServers", + "documentation":"

    An array of file transfer protocol-enabled servers that were listed.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Specifies the number of tags to return as a response to the ListTagsForResource request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When you request additional results from the ListTagsForResource operation, a NextToken parameter is returned in the input. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The ARN you specified to list the tags of.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When you can get additional results from the ListTagsForResource call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Key-value pairs that are assigned to a resource, usually for the purpose of grouping and searching for items. Tags are metadata that you define.

    " + } + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    Specifies the number of users to return as a response to the ListUsers request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional users.

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that has users assigned to it.

    " + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "required":[ + "ServerId", + "Users" + ], + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When you can get additional results from the ListUsers call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional users.

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that the users are assigned to.

    " + }, + "Users":{ + "shape":"ListedUsers", + "documentation":"

    Returns the user accounts and their properties for the ServerId value that you specify.

    " + } + } + }, + "ListedServer":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The unique Amazon Resource Name (ARN) for a file transfer protocol-enabled server to be listed.

    " + }, + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

    The authentication method used to validate a user for a file transfer protocol-enabled server that was specified. This can include Secure Shell (SSH), user name and password combinations, or your own custom authentication method. Valid values include SERVICE_MANAGED or API_GATEWAY.

    " + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

    The type of VPC endpoint that your file transfer protocol-enabled server is connected to. If your server is connected to a VPC endpoint, your server isn't accessible over the public internet.

    " + }, + "LoggingRole":{ + "shape":"Role", + "documentation":"

    The AWS Identity and Access Management (IAM) entity that allows a file transfer protocol-enabled server to turn on Amazon CloudWatch logging.

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    The unique system assigned identifier for a file transfer protocol-enabled servers that were listed.

    " + }, + "State":{ + "shape":"State", + "documentation":"

    Describes the condition of a file transfer protocol-enabled server for the server that was described. A value of ONLINE indicates that the server can accept jobs and transfer files. A State value of OFFLINE means that the server cannot perform file transfer operations.

    The states of STARTING and STOPPING indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of START_FAILED or STOP_FAILED can indicate an error condition.

    " + }, + "UserCount":{ + "shape":"UserCount", + "documentation":"

    A numeric value that indicates the number of users that are assigned to a file transfer protocol-enabled server you specified with the ServerId.

    " + } + }, + "documentation":"

    Returns properties of a file transfer protocol-enabled server that was specified.

    " + }, + "ListedServers":{ + "type":"list", + "member":{"shape":"ListedServer"} + }, + "ListedUser":{ + "type":"structure", + "required":["Arn"], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The unique Amazon Resource Name (ARN) for the user that you want to learn about.

    " + }, + "HomeDirectory":{ + "shape":"HomeDirectory", + "documentation":"

    Specifies the location that files are written to or read from an Amazon S3 bucket for the user you specify by their ARN.

    " + }, + "HomeDirectoryType":{ + "shape":"HomeDirectoryType", + "documentation":"

    The type of landing directory (folder) you mapped for your users' home directory. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    The role in use by this user. A role is an AWS Identity and Access Management (IAM) entity that, in this case, allows a file transfer protocol-enabled server to act on a user's behalf. It allows the server to inherit the trust relationship that enables that user to perform file operations to their Amazon S3 bucket.

    " + }, + "SshPublicKeyCount":{ + "shape":"SshPublicKeyCount", + "documentation":"

    The number of SSH public keys stored for the user you specified.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user whose ARN was specified. User names are used for authentication purposes.

    " + } + }, + "documentation":"

    Returns properties of the user that you specify.

    " + }, + "ListedUsers":{ + "type":"list", + "member":{"shape":"ListedUser"} + }, + "MapEntry":{ + "type":"string", + "max":1024, + "pattern":"^/.*" + }, + "MapTarget":{ + "type":"string", + "max":1024, + "pattern":"^/.*" + }, + "MaxResults":{ + "type":"integer", + "max":1000, + "min":1 + }, + "Message":{"type":"string"}, + "NextToken":{ + "type":"string", + "max":6144, + "min":1 + }, + "NullableRole":{ + "type":"string", + "max":2048, + "pattern":"^$|arn:.*role/.*" + }, + "Policy":{ + "type":"string", + "max":2048 + }, + "Protocol":{ + "type":"string", + "enum":[ + "SFTP", + "FTP", + "FTPS" + ] + }, + "Protocols":{ + "type":"list", + "member":{"shape":"Protocol"}, + "max":3, + "min":1 + }, + "Resource":{"type":"string"}, + "ResourceExistsException":{ + "type":"structure", + "required":[ + "Message", + "Resource", + "ResourceType" + ], + "members":{ + "Message":{"shape":"Message"}, + "Resource":{"shape":"Resource"}, + "ResourceType":{"shape":"ResourceType"} + }, + "documentation":"

    The requested resource does not exist.

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":[ + "Message", + "Resource", + "ResourceType" + ], + "members":{ + "Message":{"shape":"Message"}, + "Resource":{"shape":"Resource"}, + "ResourceType":{"shape":"ResourceType"} + }, + "documentation":"

    This exception is thrown when a resource is not found by the AWS Transfer Family service.

    ", + "exception":true + }, + "ResourceType":{"type":"string"}, + "Response":{"type":"string"}, + "RetryAfterSeconds":{"type":"string"}, + "Role":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*role/.*" + }, + "ServerId":{ + "type":"string", + "max":19, + "min":19, + "pattern":"^s-([0-9a-f]{17})$" + }, + "ServiceErrorMessage":{"type":"string"}, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ServiceErrorMessage"} + }, + "documentation":"

    The request has failed because the AWS Transfer Family service is not available.

    ", + "exception":true, + "fault":true, + "synthetic":true + }, + "SshPublicKey":{ + "type":"structure", + "required":[ + "DateImported", + "SshPublicKeyBody", + "SshPublicKeyId" + ], + "members":{ + "DateImported":{ + "shape":"DateImported", + "documentation":"

    The date that the public key was added to the user account.

    " + }, + "SshPublicKeyBody":{ + "shape":"SshPublicKeyBody", + "documentation":"

    The content of the SSH public key as specified by the PublicKeyId.

    " + }, + "SshPublicKeyId":{ + "shape":"SshPublicKeyId", + "documentation":"

    The SshPublicKeyId parameter contains the identifier of the public key.

    " + } + }, + "documentation":"

    Provides information about the public Secure Shell (SSH) key that is associated with a user account for the specific file transfer protocol-enabled server (as identified by ServerId). The information returned includes the date the key was imported, the public key contents, and the public key ID. A user can store more than one SSH public key associated with their user name on a specific server.

    " + }, + "SshPublicKeyBody":{ + "type":"string", + "max":2048, + "pattern":"^ssh-rsa\\s+[A-Za-z0-9+/]+[=]{0,3}(\\s+.+)?\\s*$" + }, + "SshPublicKeyCount":{"type":"integer"}, + "SshPublicKeyId":{ + "type":"string", + "max":21, + "min":21, + "pattern":"^key-[0-9a-f]{17}$" + }, + "SshPublicKeys":{ + "type":"list", + "member":{"shape":"SshPublicKey"}, + "max":5 + }, + "StartServerRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that you start.

    " + } + } + }, + "State":{ + "type":"string", + "documentation":"

    Describes the condition of a file transfer protocol-enabled server with respect to its ability to perform file operations. There are six possible states: OFFLINE, ONLINE, STARTING, STOPPING, START_FAILED, and STOP_FAILED.

    OFFLINE indicates that the server exists, but that it is not available for file operations. ONLINE indicates that the server is available to perform file operations. STARTING indicates that the server's was instantiated, but the server is not yet available to perform file operations. Under normal conditions, it can take a couple of minutes for the server to be completely operational. Both START_FAILED and STOP_FAILED are error conditions.

    ", + "enum":[ + "OFFLINE", + "ONLINE", + "STARTING", + "STOPPING", + "START_FAILED", + "STOP_FAILED" + ] + }, + "StatusCode":{"type":"integer"}, + "StopServerRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that you stopped.

    " + } + } + }, + "SubnetId":{"type":"string"}, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The name assigned to the tag that you create.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    Contains one or more values that you assigned to the key name you create.

    " + } + }, + "documentation":"

    Creates a key-value pair for a specific resource. Tags are metadata that you can use to search for and group a resource for various purposes. You can apply tags to servers, users, and roles. A tag key can take more than one value. For example, to group servers for accounting purposes, you might create a tag called Group and assign the values Research and Accounting to that group.

    " + }, + "TagKey":{ + "type":"string", + "max":128 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "Tags" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    An Amazon Resource Name (ARN) for a specific AWS resource, such as a server, user, or role.

    " + }, + "Tags":{ + "shape":"Tags", + "documentation":"

    Key-value pairs assigned to ARNs that you can use to group and search for resources by type. You can attach this metadata to user accounts for any purpose.

    " + } + } + }, + "TagValue":{ + "type":"string", + "max":256 + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TestIdentityProviderRequest":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned identifier for a specific file transfer protocol-enabled server. That server's user authentication method is tested with a user name and password.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The name of the user account to be tested.

    " + }, + "UserPassword":{ + "shape":"UserPassword", + "documentation":"

    The password of the user account to be tested.

    " + }, + "ServerProtocol":{ + "shape":"Protocol", + "documentation":"

    The type of file transfer protocol to be tested.

    The available protocols are:

    • Secure Shell (SSH) File Transfer Protocol (SFTP)

    • File Transfer Protocol Secure (FTPS)

    • File Transfer Protocol (FTP)

    " + } + } + }, + "TestIdentityProviderResponse":{ + "type":"structure", + "required":[ + "StatusCode", + "Url" + ], + "members":{ + "Response":{ + "shape":"Response", + "documentation":"

    The response that is returned from your API Gateway.

    " + }, + "StatusCode":{ + "shape":"StatusCode", + "documentation":"

    The HTTP status code that is the response from your API Gateway.

    " + }, + "Message":{ + "shape":"Message", + "documentation":"

    A message that indicates whether the test was successful or not.

    " + }, + "Url":{ + "shape":"Url", + "documentation":"

    The endpoint of the service used to authenticate a user.

    " + } + } + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "RetryAfterSeconds":{"shape":"RetryAfterSeconds"} + }, + "documentation":"

    The request was denied due to request throttling.

    HTTP Status Code: 400

    ", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "Arn", + "TagKeys" + ], + "members":{ + "Arn":{ + "shape":"Arn", + "documentation":"

    The value of the resource that will have the tag removed. An Amazon Resource Name (ARN) is an identifier for a specific AWS resource, such as a server, user, or role.

    " + }, + "TagKeys":{ + "shape":"TagKeys", + "documentation":"

    TagKeys are key-value pairs assigned to ARNs that can be used to group and search for resources by type. This metadata can be attached to resources for any purpose.

    " + } + } + }, + "UpdateServerRequest":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "Certificate":{ + "shape":"Certificate", + "documentation":"

    The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM) certificate. Required when Protocols is set to FTPS.

    " + }, + "EndpointDetails":{ + "shape":"EndpointDetails", + "documentation":"

    The virtual private cloud (VPC) endpoint settings that are configured for your file transfer protocol-enabled server. With a VPC endpoint, you can restrict access to your server to resources only within your VPC. To control incoming internet traffic, you will need to associate one or more Elastic IP addresses with your server's endpoint.

    " + }, + "EndpointType":{ + "shape":"EndpointType", + "documentation":"

    The type of endpoint that you want your file transfer protocol-enabled server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, your server isn't accessible over the public internet.

    " + }, + "HostKey":{ + "shape":"HostKey", + "documentation":"

    The RSA private key as generated by ssh-keygen -N \"\" -f my-new-server-key.

    If you aren't planning to migrate existing users from an existing file transfer protocol-enabled server to a new server, don't update the host key. Accidentally changing a server's host key can be disruptive.

    For more information, see Changing the Host Key for Your AWS Transfer Family Server in the AWS Transfer Family User Guide.

    " + }, + "IdentityProviderDetails":{ + "shape":"IdentityProviderDetails", + "documentation":"

    An array containing all of the information required to call a customer's authentication API method.

    " + }, + "LoggingRole":{ + "shape":"NullableRole", + "documentation":"

    Changes the AWS Identity and Access Management (IAM) role that allows Amazon S3 events to be logged in Amazon CloudWatch, turning logging on or off.

    " + }, + "Protocols":{ + "shape":"Protocols", + "documentation":"

    Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

    • Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over SSH

    • File Transfer Protocol Secure (FTPS): File transfer with TLS encryption

    • File Transfer Protocol (FTP): Unencrypted file transfer

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

    " + } + } + }, + "UpdateServerResponse":{ + "type":"structure", + "required":["ServerId"], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server that the user account is assigned to.

    " + } + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "HomeDirectory":{ + "shape":"HomeDirectory", + "documentation":"

    Specifies the landing directory (folder) for a user when they log in to the file transfer protocol-enabled server using their file transfer protocol client.

    An example is your-Amazon-S3-bucket-name>/home/username.

    " + }, + "HomeDirectoryType":{ + "shape":"HomeDirectoryType", + "documentation":"

    The type of landing directory (folder) you want your users' home directory to be when they log into the file transfer protocol-enabled server. If you set it to PATH, the user will see the absolute Amazon S3 bucket paths as is in their file transfer protocol clients. If you set it LOGICAL, you will need to provide mappings in the HomeDirectoryMappings for how you want to make Amazon S3 paths visible to your users.

    " + }, + "HomeDirectoryMappings":{ + "shape":"HomeDirectoryMappings", + "documentation":"

    Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS IAM Role provides access to paths in Target. The following is an example.

    '[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

    In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

    If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a / for it to be considered a folder.

    " + }, + "Policy":{ + "shape":"Policy", + "documentation":"

    Allows you to supply a scope-down policy for your user so you can use the same AWS Identity and Access Management (IAM) role across multiple users. The policy scopes down user access to portions of your Amazon S3 bucket. Variables you can use inside this policy include ${Transfer:UserName}, ${Transfer:HomeDirectory}, and ${Transfer:HomeBucket}.

    For scope-down policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the Policy argument.

    For an example of a scope-down policy, see Creating a Scope-Down Policy.

    For more information, see AssumeRole in the AWS Security Token Service API Reference.

    " + }, + "Role":{ + "shape":"Role", + "documentation":"

    The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

    " + }, + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This is the string that will be used by your user when they log in to your server. This user name is a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

    " + } + } + }, + "UpdateUserResponse":{ + "type":"structure", + "required":[ + "ServerId", + "UserName" + ], + "members":{ + "ServerId":{ + "shape":"ServerId", + "documentation":"

    A system-assigned unique identifier for a file transfer protocol-enabled server instance that the user account is assigned to.

    " + }, + "UserName":{ + "shape":"UserName", + "documentation":"

    The unique identifier for a user that is assigned to a file transfer protocol-enabled server instance that was specified in the request.

    " + } + }, + "documentation":"

    UpdateUserResponse returns the user name and file transfer protocol-enabled server identifier for the request to update a user's properties.

    " + }, + "Url":{ + "type":"string", + "max":255 + }, + "UserCount":{"type":"integer"}, + "UserName":{ + "type":"string", + "max":32, + "min":3, + "pattern":"^[a-zA-Z0-9_][a-zA-Z0-9_-]{2,31}$" + }, + "UserPassword":{ + "type":"string", + "max":2048, + "sensitive":true + }, + "VpcEndpointId":{ + "type":"string", + "max":22, + "min":22, + "pattern":"^vpce-[0-9a-f]{17}$" + }, + "VpcId":{"type":"string"} + }, + "documentation":"

    AWS Transfer Family is a fully managed service that enables the transfer of files over the the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer Family is easy since there is no infrastructure to buy and set up.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/translate/2017-07-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/examples-1.json --- python-botocore-1.4.70/botocore/data/translate/2017-07-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/translate/2017-07-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/translate/2017-07-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListTerminologies": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "TerminologyPropertiesList" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/translate/2017-07-01/service-2.json python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/service-2.json --- python-botocore-1.4.70/botocore/data/translate/2017-07-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/translate/2017-07-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,955 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-07-01", + "endpointPrefix":"translate", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon Translate", + "serviceId":"Translate", + "signatureVersion":"v4", + "signingName":"translate", + "targetPrefix":"AWSShineFrontendService_20170701", + "uid":"translate-2017-07-01" + }, + "operations":{ + "DeleteTerminology":{ + "name":"DeleteTerminology", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTerminologyRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    A synchronous action that deletes a custom terminology.

    " + }, + "DescribeTextTranslationJob":{ + "name":"DescribeTextTranslationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeTextTranslationJobRequest"}, + "output":{"shape":"DescribeTextTranslationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Gets the properties associated with an asycnhronous batch translation job including name, ID, status, source and target languages, input/output S3 buckets, and so on.

    " + }, + "GetTerminology":{ + "name":"GetTerminology", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetTerminologyRequest"}, + "output":{"shape":"GetTerminologyResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Retrieves a custom terminology.

    " + }, + "ImportTerminology":{ + "name":"ImportTerminology", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportTerminologyRequest"}, + "output":{"shape":"ImportTerminologyResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Creates or updates a custom terminology, depending on whether or not one already exists for the given terminology name. Importing a terminology with the same name as an existing one will merge the terminologies based on the chosen merge strategy. Currently, the only supported merge strategy is OVERWRITE, and so the imported terminology will overwrite an existing terminology of the same name.

    If you import a terminology that overwrites an existing one, the new terminology take up to 10 minutes to fully propagate and be available for use in a translation due to cache policies with the DataPlane service that performs the translations.

    " + }, + "ListTerminologies":{ + "name":"ListTerminologies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTerminologiesRequest"}, + "output":{"shape":"ListTerminologiesResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Provides a list of custom terminologies associated with your account.

    " + }, + "ListTextTranslationJobs":{ + "name":"ListTextTranslationJobs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTextTranslationJobsRequest"}, + "output":{"shape":"ListTextTranslationJobsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InvalidFilterException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Gets a list of the batch translation jobs that you have submitted.

    " + }, + "StartTextTranslationJob":{ + "name":"StartTextTranslationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartTextTranslationJobRequest"}, + "output":{"shape":"StartTextTranslationJobResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedLanguagePairException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Starts an asynchronous batch translation job. Batch translation jobs can be used to translate large volumes of text across multiple documents at once. For more information, see async.

    Batch translation jobs can be described with the DescribeTextTranslationJob operation, listed with the ListTextTranslationJobs operation, and stopped with the StopTextTranslationJob operation.

    Amazon Translate does not support batch translation of multiple source languages at once.

    " + }, + "StopTextTranslationJob":{ + "name":"StopTextTranslationJob", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopTextTranslationJobRequest"}, + "output":{"shape":"StopTextTranslationJobResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"InternalServerException"} + ], + "documentation":"

    Stops an asynchronous batch translation job that is in progress.

    If the job's state is IN_PROGRESS, the job will be marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state. Otherwise, the job is put into the STOPPED state.

    Asynchronous batch translation jobs are started with the StartTextTranslationJob operation. You can use the DescribeTextTranslationJob or ListTextTranslationJobs operations to get a batch translation job's JobId.

    " + }, + "TranslateText":{ + "name":"TranslateText", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TranslateTextRequest"}, + "output":{"shape":"TranslateTextResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"TextSizeLimitExceededException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"UnsupportedLanguagePairException"}, + {"shape":"DetectedLanguageLowConfidenceException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Translates input text from the source language to the target language. For a list of available languages and language codes, see what-is-languages.

    " + } + }, + "shapes":{ + "AppliedTerminology":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the custom terminology applied to the input text by Amazon Translate for the translated text response.

    " + }, + "Terms":{ + "shape":"TermList", + "documentation":"

    The specific terms of the custom terminology applied to the input text by Amazon Translate for the translated text response. A maximum of 250 terms will be returned, and the specific terms applied will be the first 250 terms in the source text.

    " + } + }, + "documentation":"

    The custom terminology applied to the input text by Amazon Translate for the translated text response. This is optional in the response and will only be present if you specified terminology input in the request. Currently, only one terminology can be applied per TranslateText request.

    " + }, + "AppliedTerminologyList":{ + "type":"list", + "member":{"shape":"AppliedTerminology"} + }, + "BoundedLengthString":{ + "type":"string", + "max":5000, + "min":1, + "pattern":"[\\P{M}\\p{M}]{1,5000}" + }, + "ClientTokenString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9-]+$" + }, + "ContentType":{ + "type":"string", + "max":256, + "pattern":"^[-\\w.]+\\/[-\\w.+]+$" + }, + "DeleteTerminologyRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the custom terminology being deleted.

    " + } + } + }, + "DescribeTextTranslationJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier that Amazon Translate generated for the job. The StartTextTranslationJob operation returns this identifier in its response.

    " + } + } + }, + "DescribeTextTranslationJobResponse":{ + "type":"structure", + "members":{ + "TextTranslationJobProperties":{ + "shape":"TextTranslationJobProperties", + "documentation":"

    An object that contains the properties associated with an asynchronous batch translation job.

    " + } + } + }, + "Description":{ + "type":"string", + "max":256, + "pattern":"[\\P{M}\\p{M}]{0,256}" + }, + "DetectedLanguageLowConfidenceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "DetectedLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code of the auto-detected language from Amazon Comprehend.

    " + } + }, + "documentation":"

    The confidence that Amazon Comprehend accurately detected the source language is low. If a low confidence level is acceptable for your application, you can use the language in the exception to call Amazon Translate again. For more information, see the DetectDominantLanguage operation in the Amazon Comprehend Developer Guide.

    ", + "exception":true + }, + "EncryptionKey":{ + "type":"structure", + "required":[ + "Type", + "Id" + ], + "members":{ + "Type":{ + "shape":"EncryptionKeyType", + "documentation":"

    The type of encryption key used by Amazon Translate to encrypt custom terminologies.

    " + }, + "Id":{ + "shape":"EncryptionKeyID", + "documentation":"

    The Amazon Resource Name (ARN) of the encryption key being used to encrypt the custom terminology.

    " + } + }, + "documentation":"

    The encryption key used to encrypt the custom terminologies used by Amazon Translate.

    " + }, + "EncryptionKeyID":{ + "type":"string", + "max":400, + "min":1, + "pattern":"(arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:kms:)?([a-z]{2}-[a-z]+(-[a-z]+)?-\\d:)?(\\d{12}:)?(((key/)?[a-zA-Z0-9-_]+)|(alias/[a-zA-Z0-9:/_-]+))" + }, + "EncryptionKeyType":{ + "type":"string", + "enum":["KMS"] + }, + "GetTerminologyRequest":{ + "type":"structure", + "required":[ + "Name", + "TerminologyDataFormat" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the custom terminology being retrieved.

    " + }, + "TerminologyDataFormat":{ + "shape":"TerminologyDataFormat", + "documentation":"

    The data format of the custom terminology being retrieved, either CSV or TMX.

    " + } + } + }, + "GetTerminologyResponse":{ + "type":"structure", + "members":{ + "TerminologyProperties":{ + "shape":"TerminologyProperties", + "documentation":"

    The properties of the custom terminology being retrieved.

    " + }, + "TerminologyDataLocation":{ + "shape":"TerminologyDataLocation", + "documentation":"

    The data location of the custom terminology being retrieved. The custom terminology file is returned in a presigned url that has a 30 minute expiration.

    " + } + } + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+" + }, + "ImportTerminologyRequest":{ + "type":"structure", + "required":[ + "Name", + "MergeStrategy", + "TerminologyData" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the custom terminology being imported.

    " + }, + "MergeStrategy":{ + "shape":"MergeStrategy", + "documentation":"

    The merge strategy of the custom terminology being imported. Currently, only the OVERWRITE merge strategy is supported. In this case, the imported terminology will overwrite an existing terminology of the same name.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    The description of the custom terminology being imported.

    " + }, + "TerminologyData":{ + "shape":"TerminologyData", + "documentation":"

    The terminology data for the custom terminology being imported.

    " + }, + "EncryptionKey":{ + "shape":"EncryptionKey", + "documentation":"

    The encryption key for the custom terminology being imported.

    " + } + } + }, + "ImportTerminologyResponse":{ + "type":"structure", + "members":{ + "TerminologyProperties":{ + "shape":"TerminologyProperties", + "documentation":"

    The properties of the custom terminology being imported.

    " + } + } + }, + "InputDataConfig":{ + "type":"structure", + "required":[ + "S3Uri", + "ContentType" + ], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The URI of the AWS S3 folder that contains the input file. The folder must be in the same Region as the API endpoint you are calling.

    " + }, + "ContentType":{ + "shape":"ContentType", + "documentation":"

    The multipurpose internet mail extension (MIME) type of the input files. Valid values are text/plain for plaintext files and text/html for HTML files.

    " + } + }, + "documentation":"

    The input configuration properties for requesting a batch translation job.

    " + }, + "Integer":{"type":"integer"}, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    An internal server error occurred. Retry your request.

    ", + "exception":true, + "fault":true + }, + "InvalidFilterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The filter specified for the operation is invalid. Specify a different filter.

    ", + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The value of the parameter is invalid. Review the value of the parameter you are using to correct it, and then retry your operation.

    ", + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The request that you made is invalid. Check your request to determine why it's invalid and then retry the request.

    ", + "exception":true + }, + "JobDetails":{ + "type":"structure", + "members":{ + "TranslatedDocumentsCount":{ + "shape":"Integer", + "documentation":"

    The number of documents successfully processed during a translation job.

    " + }, + "DocumentsWithErrorsCount":{ + "shape":"Integer", + "documentation":"

    The number of documents that could not be processed during a translation job.

    " + }, + "InputDocumentsCount":{ + "shape":"Integer", + "documentation":"

    The number of documents used as input in a translation job.

    " + } + }, + "documentation":"

    The number of documents successfully and unsuccessfully processed during a translation job.

    " + }, + "JobId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-%@]*)$" + }, + "JobStatus":{ + "type":"string", + "enum":[ + "SUBMITTED", + "IN_PROGRESS", + "COMPLETED", + "COMPLETED_WITH_ERROR", + "FAILED", + "STOP_REQUESTED", + "STOPPED" + ] + }, + "LanguageCodeString":{ + "type":"string", + "max":5, + "min":2 + }, + "LanguageCodeStringList":{ + "type":"list", + "member":{"shape":"LanguageCodeString"} + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The specified limit has been exceeded. Review your request and retry it with a quantity below the stated limit.

    ", + "exception":true + }, + "ListTerminologiesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the result of the request to ListTerminologies was truncated, include the NextToken to fetch the next group of custom terminologies.

    " + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

    The maximum number of custom terminologies returned per list request.

    " + } + } + }, + "ListTerminologiesResponse":{ + "type":"structure", + "members":{ + "TerminologyPropertiesList":{ + "shape":"TerminologyPropertiesList", + "documentation":"

    The properties list of the custom terminologies returned on the list request.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    If the response to the ListTerminologies was truncated, the NextToken fetches the next group of custom terminologies.

    " + } + } + }, + "ListTextTranslationJobsRequest":{ + "type":"structure", + "members":{ + "Filter":{ + "shape":"TextTranslationJobFilter", + "documentation":"

    The parameters that specify which batch translation jobs to retrieve. Filters include job name, job status, and submission time. You can only set one filter at a time.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to request the next page of results.

    " + }, + "MaxResults":{ + "shape":"MaxResultsInteger", + "documentation":"

    The maximum number of results to return in each page. The default value is 100.

    " + } + } + }, + "ListTextTranslationJobsResponse":{ + "type":"structure", + "members":{ + "TextTranslationJobPropertiesList":{ + "shape":"TextTranslationJobPropertiesList", + "documentation":"

    A list containing the properties of each job that is returned.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retreive the next page of results. This value is null when there are no more results to return.

    " + } + } + }, + "MaxResultsInteger":{ + "type":"integer", + "max":500, + "min":1 + }, + "MergeStrategy":{ + "type":"string", + "enum":["OVERWRITE"] + }, + "NextToken":{ + "type":"string", + "max":8192, + "pattern":"\\p{ASCII}{0,8192}" + }, + "OutputDataConfig":{ + "type":"structure", + "required":["S3Uri"], + "members":{ + "S3Uri":{ + "shape":"S3Uri", + "documentation":"

    The URI of the S3 folder that contains a translation job's output file. The folder must be in the same Region as the API endpoint that you are calling.

    " + } + }, + "documentation":"

    The output configuration properties for a batch translation job.

    " + }, + "ResourceName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^([A-Za-z0-9-]_?)+$" + }, + "ResourceNameList":{ + "type":"list", + "member":{"shape":"ResourceName"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The resource you are looking for has not been found. Review the resource you're looking for and see if a different resource will accomplish your needs before retrying the revised request.

    ", + "exception":true + }, + "S3Uri":{ + "type":"string", + "max":1024, + "pattern":"s3://[a-z0-9][\\.\\-a-z0-9]{1,61}[a-z0-9](/.*)?" + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The Amazon Translate service is temporarily unavailable. Please wait a bit and then retry your request.

    ", + "exception":true, + "fault":true + }, + "StartTextTranslationJobRequest":{ + "type":"structure", + "required":[ + "InputDataConfig", + "OutputDataConfig", + "DataAccessRoleArn", + "SourceLanguageCode", + "TargetLanguageCodes", + "ClientToken" + ], + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

    The name of the batch translation job to be performed.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    Specifies the format and S3 location of the input documents for the translation job.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    Specifies the S3 folder to which your job output will be saved.

    " + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role that grants Amazon Translate read access to your input data. For more nformation, see identity-and-access-management.

    " + }, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code of the input language. For a list of language codes, see what-is-languages.

    Amazon Translate does not automatically detect a source language during batch translation jobs.

    " + }, + "TargetLanguageCodes":{ + "shape":"TargetLanguageCodeStringList", + "documentation":"

    The language code of the output language.

    " + }, + "TerminologyNames":{ + "shape":"ResourceNameList", + "documentation":"

    The name of the terminology to use in the batch translation job. For a list of available terminologies, use the ListTerminologies operation.

    " + }, + "ClientToken":{ + "shape":"ClientTokenString", + "documentation":"

    The client token of the EC2 instance calling the request. This token is auto-generated when using the Amazon Translate SDK. Otherwise, use the DescribeInstances EC2 operation to retreive an instance's client token. For more information, see Client Tokens in the EC2 User Guide.

    ", + "idempotencyToken":true + } + } + }, + "StartTextTranslationJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The identifier generated for the job. To get the status of a job, use this ID with the DescribeTextTranslationJob operation.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    The status of the job. Possible values include:

    • SUBMITTED - The job has been received and is queued for processing.

    • IN_PROGRESS - Amazon Translate is processing the job.

    • COMPLETED - The job was successfully completed and the output is available.

    • COMPLETED_WITH_ERRORS - The job was completed with errors. The errors can be analyzed in the job's output.

    • FAILED - The job did not complete. To get details, use the DescribeTextTranslationJob operation.

    • STOP_REQUESTED - The user who started the job has requested that it be stopped.

    • STOPPED - The job has been stopped.

    " + } + } + }, + "StopTextTranslationJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The job ID of the job to be stopped.

    " + } + } + }, + "StopTextTranslationJobResponse":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The job ID of the stopped batch translation job.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    The status of the designated job. Upon successful completion, the job's status will be STOPPED.

    " + } + } + }, + "String":{ + "type":"string", + "max":10000, + "pattern":"[\\P{M}\\p{M}]{0,10000}" + }, + "TargetLanguageCodeStringList":{ + "type":"list", + "member":{"shape":"LanguageCodeString"}, + "max":1, + "min":1 + }, + "Term":{ + "type":"structure", + "members":{ + "SourceText":{ + "shape":"String", + "documentation":"

    The source text of the term being translated by the custom terminology.

    " + }, + "TargetText":{ + "shape":"String", + "documentation":"

    The target text of the term being translated by the custom terminology.

    " + } + }, + "documentation":"

    The term being translated by the custom terminology.

    " + }, + "TermList":{ + "type":"list", + "member":{"shape":"Term"} + }, + "TerminologyArn":{ + "type":"string", + "pattern":"^arn:aws((-us-gov)|(-iso)|(-iso-b)|(-cn))?:translate:[a-zA-Z0-9-]+:[0-9]{12}:terminology/.+?/.+?$" + }, + "TerminologyData":{ + "type":"structure", + "required":[ + "File", + "Format" + ], + "members":{ + "File":{ + "shape":"TerminologyFile", + "documentation":"

    The file containing the custom terminology data. Your version of the AWS SDK performs a Base64-encoding on this field before sending a request to the AWS service. Users of the SDK should not perform Base64-encoding themselves.

    " + }, + "Format":{ + "shape":"TerminologyDataFormat", + "documentation":"

    The data format of the custom terminology. Either CSV or TMX.

    " + } + }, + "documentation":"

    The data associated with the custom terminology.

    " + }, + "TerminologyDataFormat":{ + "type":"string", + "enum":[ + "CSV", + "TMX" + ] + }, + "TerminologyDataLocation":{ + "type":"structure", + "required":[ + "RepositoryType", + "Location" + ], + "members":{ + "RepositoryType":{ + "shape":"String", + "documentation":"

    The repository type for the custom terminology data.

    " + }, + "Location":{ + "shape":"String", + "documentation":"

    The location of the custom terminology data.

    " + } + }, + "documentation":"

    The location of the custom terminology data.

    " + }, + "TerminologyFile":{ + "type":"blob", + "max":10485760, + "sensitive":true + }, + "TerminologyProperties":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the custom terminology.

    " + }, + "Description":{ + "shape":"Description", + "documentation":"

    The description of the custom terminology properties.

    " + }, + "Arn":{ + "shape":"TerminologyArn", + "documentation":"

    The Amazon Resource Name (ARN) of the custom terminology.

    " + }, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the source text of the translation request for which the custom terminology is being used.

    " + }, + "TargetLanguageCodes":{ + "shape":"LanguageCodeStringList", + "documentation":"

    The language codes for the target languages available with the custom terminology file. All possible target languages are returned in array.

    " + }, + "EncryptionKey":{ + "shape":"EncryptionKey", + "documentation":"

    The encryption key for the custom terminology.

    " + }, + "SizeBytes":{ + "shape":"Integer", + "documentation":"

    The size of the file used when importing a custom terminology.

    " + }, + "TermCount":{ + "shape":"Integer", + "documentation":"

    The number of terms included in the custom terminology.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    The time at which the custom terminology was created, based on the timestamp.

    " + }, + "LastUpdatedAt":{ + "shape":"Timestamp", + "documentation":"

    The time at which the custom terminology was last update, based on the timestamp.

    " + } + }, + "documentation":"

    The properties of the custom terminology.

    " + }, + "TerminologyPropertiesList":{ + "type":"list", + "member":{"shape":"TerminologyProperties"} + }, + "TextSizeLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The size of the text you submitted exceeds the size limit. Reduce the size of the text or use a smaller document and then retry your request.

    ", + "exception":true + }, + "TextTranslationJobFilter":{ + "type":"structure", + "members":{ + "JobName":{ + "shape":"JobName", + "documentation":"

    Filters the list of jobs by name.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    Filters the list of jobs based by job status.

    " + }, + "SubmittedBeforeTime":{ + "shape":"Timestamp", + "documentation":"

    Filters the list of jobs based on the time that the job was submitted for processing and returns only the jobs submitted before the specified time. Jobs are returned in ascending order, oldest to newest.

    " + }, + "SubmittedAfterTime":{ + "shape":"Timestamp", + "documentation":"

    Filters the list of jobs based on the time that the job was submitted for processing and returns only the jobs submitted after the specified time. Jobs are returned in descending order, newest to oldest.

    " + } + }, + "documentation":"

    Provides information for filtering a list of translation jobs. For more information, see ListTextTranslationJobs.

    " + }, + "TextTranslationJobProperties":{ + "type":"structure", + "members":{ + "JobId":{ + "shape":"JobId", + "documentation":"

    The ID of the translation job.

    " + }, + "JobName":{ + "shape":"JobName", + "documentation":"

    The user-defined name of the translation job.

    " + }, + "JobStatus":{ + "shape":"JobStatus", + "documentation":"

    The status of the translation job.

    " + }, + "JobDetails":{ + "shape":"JobDetails", + "documentation":"

    The number of documents successfully and unsuccessfully processed during the translation job.

    " + }, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code of the language of the source text. The language must be a language supported by Amazon Translate.

    " + }, + "TargetLanguageCodes":{ + "shape":"TargetLanguageCodeStringList", + "documentation":"

    The language code of the language of the target text. The language must be a language supported by Amazon Translate.

    " + }, + "TerminologyNames":{ + "shape":"ResourceNameList", + "documentation":"

    A list containing the names of the terminologies applied to a translation job. Only one terminology can be applied per StartTextTranslationJob request at this time.

    " + }, + "Message":{ + "shape":"UnboundedLengthString", + "documentation":"

    An explanation of any errors that may have occured during the translation job.

    " + }, + "SubmittedTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the translation job was submitted.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The time at which the translation job ended.

    " + }, + "InputDataConfig":{ + "shape":"InputDataConfig", + "documentation":"

    The input configuration properties that were specified when the job was requested.

    " + }, + "OutputDataConfig":{ + "shape":"OutputDataConfig", + "documentation":"

    The output configuration properties that were specified when the job was requested.

    " + }, + "DataAccessRoleArn":{ + "shape":"IamRoleArn", + "documentation":"

    The Amazon Resource Name (ARN) of an AWS Identity Access and Management (IAM) role that granted Amazon Translate read access to the job's input data.

    " + } + }, + "documentation":"

    Provides information about a translation job.

    " + }, + "TextTranslationJobPropertiesList":{ + "type":"list", + "member":{"shape":"TextTranslationJobProperties"} + }, + "Timestamp":{"type":"timestamp"}, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You have made too many requests within a short period of time. Wait for a short time and then try your request again.

    ", + "exception":true + }, + "TranslateTextRequest":{ + "type":"structure", + "required":[ + "Text", + "SourceLanguageCode", + "TargetLanguageCode" + ], + "members":{ + "Text":{ + "shape":"BoundedLengthString", + "documentation":"

    The text to translate. The text string can be a maximum of 5,000 bytes long. Depending on your character set, this may be fewer than 5,000 characters.

    " + }, + "TerminologyNames":{ + "shape":"ResourceNameList", + "documentation":"

    The name of the terminology list file to be used in the TranslateText request. You can use 1 terminology list at most in a TranslateText request. Terminology lists can contain a maximum of 256 terms.

    " + }, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the language of the source text. The language must be a language supported by Amazon Translate. For a list of language codes, see what-is-languages.

    To have Amazon Translate determine the source language of your text, you can specify auto in the SourceLanguageCode field. If you specify auto, Amazon Translate will call Amazon Comprehend to determine the source language.

    " + }, + "TargetLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code requested for the language of the target text. The language must be a language supported by Amazon Translate.

    " + } + } + }, + "TranslateTextResponse":{ + "type":"structure", + "required":[ + "TranslatedText", + "SourceLanguageCode", + "TargetLanguageCode" + ], + "members":{ + "TranslatedText":{ + "shape":"String", + "documentation":"

    The translated text.

    " + }, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the language of the source text.

    " + }, + "TargetLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the language of the target text.

    " + }, + "AppliedTerminologies":{ + "shape":"AppliedTerminologyList", + "documentation":"

    The names of the custom terminologies applied to the input text by Amazon Translate for the translated text response.

    " + } + } + }, + "UnboundedLengthString":{"type":"string"}, + "UnsupportedLanguagePairException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"}, + "SourceLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the language of the input text.

    " + }, + "TargetLanguageCode":{ + "shape":"LanguageCodeString", + "documentation":"

    The language code for the language of the translated text.

    " + } + }, + "documentation":"

    Amazon Translate does not support translation from the language of the source text into the requested target language. For more information, see how-to-error-msg.

    ", + "exception":true + } + }, + "documentation":"

    Provides translation between one source language and another of the same set of languages.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/waf/2015-08-24/examples-1.json python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/examples-1.json --- python-botocore-1.4.70/botocore/data/waf/2015-08-24/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1017 @@ +{ + "version": "1.0", + "examples": { + "CreateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an IP match set named MyIPSetFriendlyName.", + "id": "createipset-1472501003122", + "title": "To create an IP set" + } + ], + "CreateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "WAFRule-1-Example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a rule named WAFByteHeaderRule.", + "id": "createrule-1474072675555", + "title": "To create a rule" + } + ], + "CreateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleSizeConstraintSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates size constraint set named MySampleSizeConstraintSet.", + "id": "createsizeconstraint-1474299140754", + "title": "To create a size constraint" + } + ], + "CreateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySQLInjectionMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a SQL injection match set named MySQLInjectionMatchSet.", + "id": "createsqlinjectionmatchset-1474492796105", + "title": "To create a SQL injection match set" + } + ], + "CreateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "example-46da-4444-5555-example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a web ACL named CreateExample.", + "id": "createwebacl-1472061481310", + "title": "To create a web ACL" + } + ], + "CreateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleXssMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an XSS match set named MySampleXssMatchSet.", + "id": "createxssmatchset-1474560868500", + "title": "To create an XSS match set" + } + ], + "DeleteByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletebytematchset-1473367566229", + "title": "To delete a byte match set" + } + ], + "DeleteIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deleteipset-1472767434306", + "title": "To delete an IP set" + } + ], + "DeleteRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "WAFRule-1-Example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a rule with the ID WAFRule-1-Example.", + "id": "deleterule-1474073108749", + "title": "To delete a rule" + } + ], + "DeleteSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesizeconstraintset-1474299857905", + "title": "To delete a size constraint set" + } + ], + "DeleteSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesqlinjectionmatchset-1474493373197", + "title": "To delete a SQL injection match set" + } + ], + "DeleteWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACLId": "example-46da-4444-5555-example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a web ACL with the ID example-46da-4444-5555-example.", + "id": "deletewebacl-1472767755931", + "title": "To delete a web ACL" + } + ], + "DeleteXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletexssmatchset-1474561302618", + "title": "To delete an XSS match set" + } + ], + "GetByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ByteMatchSet": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ByteMatchTuples": [ + { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + ], + "Name": "ByteMatchNameExample" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getbytematchset-1473273311532", + "title": "To get a byte match set" + } + ], + "GetChangeToken": [ + { + "input": { + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a change token to use for a create, update or delete operation.", + "id": "get-change-token-example-1471635120794", + "title": "To get a change token" + } + ], + "GetChangeTokenStatus": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeTokenStatus": "PENDING" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the status of a change token with the ID abcd12f2-46da-4fdb-b8d5-fbd4c466928f.", + "id": "getchangetokenstatus-1474658417107", + "title": "To get the change token status" + } + ], + "GetIPSet": [ + { + "input": { + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getipset-1474658688675", + "title": "To get an IP set" + } + ], + "GetRule": [ + { + "input": { + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getrule-1474659238790", + "title": "To get a rule" + } + ], + "GetSampledRequests": [ + { + "input": { + "MaxItems": 100, + "RuleId": "WAFRule-1-Example", + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T15:50Z" + }, + "WebAclId": "createwebacl-1472061481310" + }, + "output": { + "PopulationSize": 50, + "SampledRequests": [ + { + "Action": "BLOCK", + "Request": { + "ClientIP": "192.0.2.44", + "Country": "US", + "HTTPVersion": "HTTP/1.1", + "Headers": [ + { + "Name": "User-Agent", + "Value": "BadBot " + } + ], + "Method": "HEAD" + }, + "Timestamp": "2016-09-27T14:55Z", + "Weight": 1 + } + ], + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T14:50Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns detailed information about 100 requests --a sample-- that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received between the time period 2016-09-27T15:50Z to 2016-09-27T15:50Z.", + "id": "getsampledrequests-1474927997195", + "title": "To get a sampled requests" + } + ], + "GetSizeConstraintSet": [ + { + "input": { + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a size constraint match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsizeconstraintset-1475005422493", + "title": "To get a size constraint set" + } + ], + "GetSqlInjectionMatchSet": [ + { + "input": { + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsqlinjectionmatchset-1475005940137", + "title": "To get a SQL injection match set" + } + ], + "GetWebACL": [ + { + "input": { + "WebACLId": "createwebacl-1472061481310" + }, + "output": { + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "createwebacl-1472061481310" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a web ACL with the ID createwebacl-1472061481310.", + "id": "getwebacl-1475006348525", + "title": "To get a web ACL" + } + ], + "GetXssMatchSet": [ + { + "input": { + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getxssmatchset-1475187879017", + "title": "To get an XSS match set" + } + ], + "ListIPSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "IPSets": [ + { + "IPSetId": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 IP match sets.", + "id": "listipsets-1472235676229", + "title": "To list IP sets" + } + ], + "ListRules": [ + { + "input": { + "Limit": 100 + }, + "output": { + "Rules": [ + { + "Name": "WAFByteHeaderRule", + "RuleId": "WAFRule-1-Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 rules.", + "id": "listrules-1475258406433", + "title": "To list rules" + } + ], + "ListSizeConstraintSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SizeConstraintSets": [ + { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 size contraint match sets.", + "id": "listsizeconstraintsets-1474300067597", + "title": "To list a size constraint sets" + } + ], + "ListSqlInjectionMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SqlInjectionMatchSets": [ + { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 SQL injection match sets.", + "id": "listsqlinjectionmatchset-1474493560103", + "title": "To list SQL injection match sets" + } + ], + "ListWebACLs": [ + { + "input": { + "Limit": 100 + }, + "output": { + "WebACLs": [ + { + "Name": "WebACLexample", + "WebACLId": "webacl-1472061481310" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 web ACLs.", + "id": "listwebacls-1475258732691", + "title": "To list Web ACLs" + } + ], + "ListXssMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "XssMatchSets": [ + { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 XSS match sets.", + "id": "listxssmatchsets-1474561481168", + "title": "To list XSS match sets" + } + ], + "UpdateByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "ByteMatchTuple": { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a ByteMatchTuple object (filters) in an byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatebytematchset-1475259074558", + "title": "To update a byte match set" + } + ], + "UpdateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "IPSetDescriptor": { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updateipset-1475259733625", + "title": "To update an IP set" + } + ], + "UpdateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "Predicate": { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a Predicate object in a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updaterule-1475260064720", + "title": "To update a rule" + } + ], + "UpdateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SizeConstraint": { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SizeConstraint object (filters) in a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesizeconstraintset-1475531697891", + "title": "To update a size constraint set" + } + ], + "UpdateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SqlInjectionMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesqlinjectionmatchset-1475532094686", + "title": "To update a SQL injection match set" + } + ], + "UpdateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "Updates": [ + { + "Action": "DELETE", + "ActivatedRule": { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + } + ], + "WebACLId": "webacl-1472061481310" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an ActivatedRule object in a WebACL with the ID webacl-1472061481310.", + "id": "updatewebacl-1475533627385", + "title": "To update a Web ACL" + } + ], + "UpdateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "XssMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ], + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XssMatchTuple object (filters) in an XssMatchSet with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatexssmatchset-1475534098881", + "title": "To update an XSS match set" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/waf/2015-08-24/paginators-1.json python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/paginators-1.json --- python-botocore-1.4.70/botocore/data/waf/2015-08-24/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,99 @@ +{ + "pagination": { + "ListByteMatchSets": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "ByteMatchSets" + }, + "ListIPSets": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "IPSets" + }, + "ListRules": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "Rules" + }, + "ListSizeConstraintSets": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "SizeConstraintSets" + }, + "ListSqlInjectionMatchSets": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "SqlInjectionMatchSets" + }, + "ListWebACLs": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "WebACLs" + }, + "ListXssMatchSets": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "limit_key": "Limit", + "result_key": "XssMatchSets" + }, + "GetRateBasedRuleManagedKeys": { + "input_token": "NextMarker", + "output_token": "NextMarker", + "result_key": "ManagedKeys" + }, + "ListActivatedRulesInRuleGroup": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "ActivatedRules" + }, + "ListGeoMatchSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "GeoMatchSets" + }, + "ListLoggingConfigurations": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "LoggingConfigurations" + }, + "ListRateBasedRules": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "Rules" + }, + "ListRegexMatchSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RegexMatchSets" + }, + "ListRegexPatternSets": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RegexPatternSets" + }, + "ListRuleGroups": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RuleGroups" + }, + "ListSubscribedRuleGroups": { + "input_token": "NextMarker", + "limit_key": "Limit", + "output_token": "NextMarker", + "result_key": "RuleGroups" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/waf/2015-08-24/service-2.json python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/service-2.json --- python-botocore-1.4.70/botocore/data/waf/2015-08-24/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf/2015-08-24/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -7,8 +7,10 @@ "protocol":"json", "serviceAbbreviation":"WAF", "serviceFullName":"AWS WAF", + "serviceId":"WAF", "signatureVersion":"v4", - "targetPrefix":"AWSWAF_20150824" + "targetPrefix":"AWSWAF_20150824", + "uid":"waf-2015-08-24" }, "operations":{ "CreateByteMatchSet":{ @@ -27,7 +29,25 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

    2. Submit a CreateByteMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

    2. Submit a CreateByteMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateGeoMatchSet":{ + "name":"CreateGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGeoMatchSetRequest"}, + "output":{"shape":"CreateGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

    To create and configure a GeoMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

    2. Submit a CreateGeoMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

    4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "CreateIPSet":{ "name":"CreateIPSet", @@ -45,7 +65,59 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Creates an IPSet, which you use to specify which web requests you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

    2. Submit a CreateIPSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

    2. Submit a CreateIPSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRateBasedRule":{ + "name":"CreateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRateBasedRuleRequest"}, + "output":{"shape":"CreateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

    If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the conditions to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    Further, you specify a RateLimit of 1,000.

    You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 1,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the requests.

    As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

    • A ByteMatchSet with FieldToMatch of URI

    • A PositionalConstraint of STARTS_WITH

    • A TargetString of login

    Further, you specify a RateLimit of 1,000.

    By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

    To create and configure a RateBasedRule, perform the following steps:

    1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

    3. Submit a CreateRateBasedRule request.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

    6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRegexMatchSet":{ + "name":"CreateRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRegexMatchSetRequest"}, + "output":{"shape":"CreateRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

    2. Submit a CreateRegexMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

    4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRegexPatternSet":{ + "name":"CreateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRegexPatternSetRequest"}, + "output":{"shape":"CreateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexPatternSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

    2. Submit a CreateRegexPatternSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

    4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "CreateRule":{ "name":"CreateRule", @@ -60,9 +132,31 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFDisallowedNameException"}, {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

    3. Submit a CreateRule request.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

    6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRuleGroup":{ + "name":"CreateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleGroupRequest"}, + "output":{"shape":"CreateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} ], - "documentation":"

    Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose you add the following to a Rule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

    3. Submit a CreateRule request.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

    6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

    Rule groups are subject to the following limits:

    • Three rule groups per account. You can request an increase to this limit by contacting customer support.

    • One rule group per web ACL.

    • Ten rules per rule group.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "CreateSizeConstraintSet":{ "name":"CreateSizeConstraintSet", @@ -80,7 +174,7 @@ {"shape":"WAFInvalidParameterException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

    2. Submit a CreateSizeConstraintSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

    2. Submit a CreateSizeConstraintSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "CreateSqlInjectionMatchSet":{ "name":"CreateSqlInjectionMatchSet", @@ -98,7 +192,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

    2. Submit a CreateSqlInjectionMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

    4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

    2. Submit a CreateSqlInjectionMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

    4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "CreateWebACL":{ "name":"CreateWebACL", @@ -114,9 +208,29 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFDisallowedNameException"}, {"shape":"WAFInvalidParameterException"}, - {"shape":"WAFLimitsExceededException"} + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

    You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

    4. Submit a CreateWebACL request.

    5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

    " + }, + "CreateWebACLMigrationStack":{ + "name":"CreateWebACLMigrationStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebACLMigrationStackRequest"}, + "output":{"shape":"CreateWebACLMigrationStackResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFEntityMigrationException"} ], - "documentation":"

    Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

    You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

    4. Submit a CreateWebACL request.

    5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

    " + "documentation":"

    Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the template, to create the web ACL and its resources in AWS WAFV2. Use this to migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.

    This is part of a larger migration procedure for web ACLs from AWS WAF Classic to the latest version of AWS WAF. For the full procedure, including caveats and manual steps to complete the migration and switch over to the new web ACL, see Migrating your AWS WAF Classic resources to AWS WAF in the AWS WAF Developer Guide.

    " }, "CreateXssMatchSet":{ "name":"CreateXssMatchSet", @@ -134,7 +248,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure an XssMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

    2. Submit a CreateXssMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

    4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure an XssMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

    2. Submit a CreateXssMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

    4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "DeleteByteMatchSet":{ "name":"DeleteByteMatchSet", @@ -152,7 +266,25 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFNonEmptyEntityException"} ], - "documentation":"

    Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

    If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

    To permanently delete a ByteMatchSet, perform the following steps:

    1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

    3. Submit a DeleteByteMatchSet request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

    If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

    To permanently delete a ByteMatchSet, perform the following steps:

    1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

    3. Submit a DeleteByteMatchSet request.

    " + }, + "DeleteGeoMatchSet":{ + "name":"DeleteGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGeoMatchSetRequest"}, + "output":{"shape":"DeleteGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries.

    If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.

    To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:

    1. Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request.

    3. Submit a DeleteGeoMatchSet request.

    " }, "DeleteIPSet":{ "name":"DeleteIPSet", @@ -170,7 +302,93 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFNonEmptyEntityException"} ], - "documentation":"

    Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

    If you just want to remove an IPSet from a Rule, use UpdateRule.

    To permanently delete an IPSet from AWS WAF, perform the following steps:

    1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

    3. Submit a DeleteIPSet request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

    If you just want to remove an IPSet from a Rule, use UpdateRule.

    To permanently delete an IPSet from AWS WAF, perform the following steps:

    1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

    3. Submit a DeleteIPSet request.

    " + }, + "DeleteLoggingConfiguration":{ + "name":"DeleteLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLoggingConfigurationRequest"}, + "output":{"shape":"DeleteLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes the LoggingConfiguration from the specified web ACL.

    " + }, + "DeletePermissionPolicy":{ + "name":"DeletePermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionPolicyRequest"}, + "output":{"shape":"DeletePermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an IAM policy from the specified RuleGroup.

    The user making the request must be the owner of the RuleGroup.

    " + }, + "DeleteRateBasedRule":{ + "name":"DeleteRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRateBasedRuleRequest"}, + "output":{"shape":"DeleteRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

    If you just want to remove a rule from a WebACL, use UpdateWebACL.

    To permanently delete a RateBasedRule from AWS WAF, perform the following steps:

    1. Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request.

    3. Submit a DeleteRateBasedRule request.

    " + }, + "DeleteRegexMatchSet":{ + "name":"DeleteRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRegexMatchSetRequest"}, + "output":{"shape":"DeleteRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters).

    If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.

    To permanently delete a RegexMatchSet, perform the following steps:

    1. Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request.

    3. Submit a DeleteRegexMatchSet request.

    " + }, + "DeleteRegexPatternSet":{ + "name":"DeleteRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRegexPatternSetRequest"}, + "output":{"shape":"DeleteRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty.

    " }, "DeleteRule":{ "name":"DeleteRule", @@ -186,9 +404,31 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"}, {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

    If you just want to remove a Rule from a WebACL, use UpdateWebACL.

    To permanently delete a Rule from AWS WAF, perform the following steps:

    1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

    3. Submit a DeleteRule request.

    " + }, + "DeleteRuleGroup":{ + "name":"DeleteRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleGroupRequest"}, + "output":{"shape":"DeleteRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} ], - "documentation":"

    Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

    If you just want to remove a Rule from a WebACL, use UpdateWebACL.

    To permanently delete a Rule from AWS WAF, perform the following steps:

    1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

    3. Submit a DeleteRule request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules.

    If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.

    To permanently delete a RuleGroup from AWS WAF, perform the following steps:

    1. Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request.

    3. Submit a DeleteRuleGroup request.

    " }, "DeleteSizeConstraintSet":{ "name":"DeleteSizeConstraintSet", @@ -206,7 +446,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFNonEmptyEntityException"} ], - "documentation":"

    Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

    If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

    To permanently delete a SizeConstraintSet, perform the following steps:

    1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

    3. Submit a DeleteSizeConstraintSet request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

    If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

    To permanently delete a SizeConstraintSet, perform the following steps:

    1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

    3. Submit a DeleteSizeConstraintSet request.

    " }, "DeleteSqlInjectionMatchSet":{ "name":"DeleteSqlInjectionMatchSet", @@ -224,7 +464,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFNonEmptyEntityException"} ], - "documentation":"

    Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

    If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

    To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

    1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

    3. Submit a DeleteSqlInjectionMatchSet request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

    If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

    To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

    1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

    3. Submit a DeleteSqlInjectionMatchSet request.

    " }, "DeleteWebACL":{ "name":"DeleteWebACL", @@ -240,9 +480,11 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"}, {"shape":"WAFReferencedItemException"}, - {"shape":"WAFNonEmptyEntityException"} + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} ], - "documentation":"

    Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

    To delete a WebACL, perform the following steps:

    1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

    3. Submit a DeleteWebACL request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

    To delete a WebACL, perform the following steps:

    1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

    3. Submit a DeleteWebACL request.

    " }, "DeleteXssMatchSet":{ "name":"DeleteXssMatchSet", @@ -260,7 +502,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFNonEmptyEntityException"} ], - "documentation":"

    Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

    If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

    To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

    1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

    3. Submit a DeleteXssMatchSet request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

    If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

    To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

    1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

    3. Submit a DeleteXssMatchSet request.

    " }, "GetByteMatchSet":{ "name":"GetByteMatchSet", @@ -275,7 +517,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the ByteMatchSet specified by ByteMatchSetId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the ByteMatchSet specified by ByteMatchSetId.

    " }, "GetChangeToken":{ "name":"GetChangeToken", @@ -288,7 +530,7 @@ "errors":[ {"shape":"WAFInternalErrorException"} ], - "documentation":"

    When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

    Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

    When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

    Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

    When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

    " }, "GetChangeTokenStatus":{ "name":"GetChangeTokenStatus", @@ -302,7 +544,22 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

    Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

    • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

    • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

    • IN_SYNC: Propagation is complete.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

    • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

    • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

    • INSYNC: Propagation is complete.

    " + }, + "GetGeoMatchSet":{ + "name":"GetGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGeoMatchSetRequest"}, + "output":{"shape":"GetGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the GeoMatchSet that is specified by GeoMatchSetId.

    " }, "GetIPSet":{ "name":"GetIPSet", @@ -317,7 +574,96 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the IPSet that is specified by IPSetId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the IPSet that is specified by IPSetId.

    " + }, + "GetLoggingConfiguration":{ + "name":"GetLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoggingConfigurationRequest"}, + "output":{"shape":"GetLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the LoggingConfiguration for the specified web ACL.

    " + }, + "GetPermissionPolicy":{ + "name":"GetPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPermissionPolicyRequest"}, + "output":{"shape":"GetPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the IAM policy attached to the RuleGroup.

    " + }, + "GetRateBasedRule":{ + "name":"GetRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleRequest"}, + "output":{"shape":"GetRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

    " + }, + "GetRateBasedRuleManagedKeys":{ + "name":"GetRateBasedRuleManagedKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleManagedKeysRequest"}, + "output":{"shape":"GetRateBasedRuleManagedKeysResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.

    " + }, + "GetRegexMatchSet":{ + "name":"GetRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegexMatchSetRequest"}, + "output":{"shape":"GetRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RegexMatchSet specified by RegexMatchSetId.

    " + }, + "GetRegexPatternSet":{ + "name":"GetRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegexPatternSetRequest"}, + "output":{"shape":"GetRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RegexPatternSet specified by RegexPatternSetId.

    " }, "GetRule":{ "name":"GetRule", @@ -332,7 +678,21 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the Rule that is specified by the RuleId that you included in the GetRule request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the Rule that is specified by the RuleId that you included in the GetRule request.

    " + }, + "GetRuleGroup":{ + "name":"GetRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRuleGroupRequest"}, + "output":{"shape":"GetRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request.

    To view the rules in a rule group, use ListActivatedRulesInRuleGroup.

    " }, "GetSampledRequests":{ "name":"GetSampledRequests", @@ -346,7 +706,7 @@ {"shape":"WAFNonexistentItemException"}, {"shape":"WAFInternalErrorException"} ], - "documentation":"

    Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 100 requests, and you can specify any time range in the previous three hours.

    GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

    GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

    " }, "GetSizeConstraintSet":{ "name":"GetSizeConstraintSet", @@ -361,7 +721,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the SizeConstraintSet specified by SizeConstraintSetId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the SizeConstraintSet specified by SizeConstraintSetId.

    " }, "GetSqlInjectionMatchSet":{ "name":"GetSqlInjectionMatchSet", @@ -376,7 +736,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

    " }, "GetWebACL":{ "name":"GetWebACL", @@ -391,7 +751,7 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the WebACL that is specified by WebACLId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the WebACL that is specified by WebACLId.

    " }, "GetXssMatchSet":{ "name":"GetXssMatchSet", @@ -406,7 +766,22 @@ {"shape":"WAFInvalidAccountException"}, {"shape":"WAFNonexistentItemException"} ], - "documentation":"

    Returns the XssMatchSet that is specified by XssMatchSetId.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the XssMatchSet that is specified by XssMatchSetId.

    " + }, + "ListActivatedRulesInRuleGroup":{ + "name":"ListActivatedRulesInRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListActivatedRulesInRuleGroupRequest"}, + "output":{"shape":"ListActivatedRulesInRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of ActivatedRule objects.

    " }, "ListByteMatchSets":{ "name":"ListByteMatchSets", @@ -420,7 +795,21 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of ByteMatchSetSummary objects.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of ByteMatchSetSummary objects.

    " + }, + "ListGeoMatchSets":{ + "name":"ListGeoMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGeoMatchSetsRequest"}, + "output":{"shape":"ListGeoMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of GeoMatchSetSummary objects in the response.

    " }, "ListIPSets":{ "name":"ListIPSets", @@ -434,24 +823,94 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of IPSetSummary objects in the response.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of IPSetSummary objects in the response.

    " }, - "ListRules":{ - "name":"ListRules", + "ListLoggingConfigurations":{ + "name":"ListLoggingConfigurations", "http":{ "method":"POST", "requestUri":"/" }, - "input":{"shape":"ListRulesRequest"}, - "output":{"shape":"ListRulesResponse"}, + "input":{"shape":"ListLoggingConfigurationsRequest"}, + "output":{"shape":"ListLoggingConfigurationsResponse"}, "errors":[ {"shape":"WAFInternalErrorException"}, - {"shape":"WAFInvalidAccountException"} + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} ], - "documentation":"

    Returns an array of RuleSummary objects.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of LoggingConfiguration objects.

    " }, - "ListSizeConstraintSets":{ - "name":"ListSizeConstraintSets", + "ListRateBasedRules":{ + "name":"ListRateBasedRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRateBasedRulesRequest"}, + "output":{"shape":"ListRateBasedRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleSummary objects.

    " + }, + "ListRegexMatchSets":{ + "name":"ListRegexMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegexMatchSetsRequest"}, + "output":{"shape":"ListRegexMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RegexMatchSetSummary objects.

    " + }, + "ListRegexPatternSets":{ + "name":"ListRegexPatternSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegexPatternSetsRequest"}, + "output":{"shape":"ListRegexPatternSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RegexPatternSetSummary objects.

    " + }, + "ListRuleGroups":{ + "name":"ListRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRuleGroupsRequest"}, + "output":{"shape":"ListRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleGroup objects.

    " + }, + "ListRules":{ + "name":"ListRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRulesRequest"}, + "output":{"shape":"ListRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleSummary objects.

    " + }, + "ListSizeConstraintSets":{ + "name":"ListSizeConstraintSets", "http":{ "method":"POST", "requestUri":"/" @@ -462,7 +921,7 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of SizeConstraintSetSummary objects.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of SizeConstraintSetSummary objects.

    " }, "ListSqlInjectionMatchSets":{ "name":"ListSqlInjectionMatchSets", @@ -476,7 +935,39 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of SqlInjectionMatchSet objects.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of SqlInjectionMatchSet objects.

    " + }, + "ListSubscribedRuleGroups":{ + "name":"ListSubscribedRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSubscribedRuleGroupsRequest"}, + "output":{"shape":"ListSubscribedRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleGroup objects that you are subscribed to.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Retrieves the tags associated with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " }, "ListWebACLs":{ "name":"ListWebACLs", @@ -490,7 +981,7 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of WebACLSummary objects in the response.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of WebACLSummary objects in the response.

    " }, "ListXssMatchSets":{ "name":"ListXssMatchSets", @@ -504,7 +995,76 @@ {"shape":"WAFInternalErrorException"}, {"shape":"WAFInvalidAccountException"} ], - "documentation":"

    Returns an array of XssMatchSet objects.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of XssMatchSet objects.

    " + }, + "PutLoggingConfiguration":{ + "name":"PutLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLoggingConfigurationRequest"}, + "output":{"shape":"PutLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFServiceLinkedRoleErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Associates a LoggingConfiguration with a specified web ACL.

    You can access information about all traffic that AWS WAF inspects using the following steps:

    1. Create an Amazon Kinesis Data Firehose.

      Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

      Do not create the data firehose using a Kinesis stream as your source.

    2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

    When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

    " + }, + "PutPermissionPolicy":{ + "name":"PutPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPermissionPolicyRequest"}, + "output":{"shape":"PutPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidPermissionPolicyException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Attaches an IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.

    The PutPermissionPolicy is subject to the following restrictions:

    • You can attach only one policy with each PutPermissionPolicy request.

    • The policy must include an Effect, Action and Principal.

    • Effect must specify Allow.

    • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

    • The policy cannot include a Resource parameter.

    • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

    • The user making the request must be the owner of the RuleGroup.

    • Your policy must be composed using IAM Policy version 2012-10-17.

    For more information, see IAM Policies.

    An example of a valid policy parameter is shown in the Examples section below.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can use this action to tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    " }, "UpdateByteMatchSet":{ "name":"UpdateByteMatchSet", @@ -524,7 +1084,28 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

    • Where to look, such as at the beginning or the end of a query string.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

    • Where to look, such as at the beginning or the end of a query string.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateGeoMatchSet":{ + "name":"UpdateGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGeoMatchSetRequest"}, + "output":{"shape":"UpdateGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

    • The Type. The only valid value for Type is Country.

    • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

    To create and configure an GeoMatchSet, perform the following steps:

    1. Submit a CreateGeoMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

    3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

    When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateIPSet":{ "name":"UpdateIPSet", @@ -545,7 +1126,68 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

    • The IP address version, IPv4.

    • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

    AWS WAF supports /8, /16, /24, and /32 IP address ranges. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Submit a CreateIPSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

    • The IP address version, IPv4 or IPv6.

    • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

    AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    IPv6 addresses can be represented using any of the following formats:

    • 1111:0000:0000:0000:0000:0000:0000:0111/128

    • 1111:0:0:0:0:0:0:0111/128

    • 1111::0111/128

    • 1111::111/128

    You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Submit a CreateIPSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

    You can insert a maximum of 1000 addresses in a single request.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRateBasedRule":{ + "name":"UpdateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRateBasedRuleRequest"}, + "output":{"shape":"UpdateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule.

    Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule.

    If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    Further, you specify a RateLimit of 1,000.

    You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 1,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests.

    As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

    • A ByteMatchSet with FieldToMatch of URI

    • A PositionalConstraint of STARTS_WITH

    • A TargetString of login

    Further, you specify a RateLimit of 1,000.

    By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

    " + }, + "UpdateRegexMatchSet":{ + "name":"UpdateRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRegexMatchSetRequest"}, + "output":{"shape":"UpdateRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexMatchSet, perform the following steps:

    1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

    3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRegexPatternSet":{ + "name":"UpdateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRegexPatternSetRequest"}, + "output":{"shape":"UpdateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidRegexPatternException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

    • Whether to insert or delete the RegexPatternString.

    • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

    For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

    • BadBot

    • BadB0t

    • B@dBot

    • B@dB0t

    To create and configure a RegexPatternSet, perform the following steps:

    1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

    3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateRule":{ "name":"UpdateRule", @@ -566,7 +1208,26 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose you add the following to a Rule:

    • A ByteMatchSet that matches the value BadBot in the User-Agent header

    • An IPSet that matches the IP address 192.0.2.44

    You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule.

    2. Create the Rule. See CreateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    4. Submit an UpdateRule request to add predicates to the Rule.

    5. Create and update a WebACL that contains the Rule. See CreateWebACL.

    If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule:

    • A ByteMatchSet that matches the value BadBot in the User-Agent header

    • An IPSet that matches the IP address 192.0.2.44

    You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule.

    2. Create the Rule. See CreateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    4. Submit an UpdateRule request to add predicates to the Rule.

    5. Create and update a WebACL that contains the Rule. See CreateWebACL.

    If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRuleGroup":{ + "name":"UpdateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleGroupRequest"}, + "output":{"shape":"UpdateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ActivatedRule objects in a RuleGroup.

    You can only insert REGULAR rules into a rule group.

    You can have a maximum of ten rules per rule group.

    To create and configure a RuleGroup, perform the following steps:

    1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

    3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

    4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

    If you want to replace one Rule with another, you delete the existing one and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateSizeConstraintSet":{ "name":"UpdateSizeConstraintSet", @@ -587,7 +1248,7 @@ {"shape":"WAFReferencedItemException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

    • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

    • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

    • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

    For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

    • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

      You can only specify a single type of TextTransformation.

    • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

    • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

    For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateSqlInjectionMatchSet":{ "name":"UpdateSqlInjectionMatchSet", @@ -607,7 +1268,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header, the name of the header.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

    You use SqlInjectionMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Submit a CreateSqlInjectionMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

      You can only specify a single type of TextTransformation.

    You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Submit a CreateSqlInjectionMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateWebACL":{ "name":"UpdateWebACL", @@ -626,9 +1287,10 @@ {"shape":"WAFNonexistentContainerException"}, {"shape":"WAFNonexistentItemException"}, {"shape":"WAFReferencedItemException"}, - {"shape":"WAFLimitsExceededException"} + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFSubscriptionNotFoundException"} ], - "documentation":"

    Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

    • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

    • The Rules that you want to add and/or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

    • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

    • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all of the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

    • The CloudFront distribution that you want to associate with the WebACL.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Create a WebACL. See CreateWebACL.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

    • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

    • The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

    • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

    • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Create a WebACL. See CreateWebACL.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

      The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule , you can exclude specific rules from that rule group.

      If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule$ExcludedRules .

    Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " }, "UpdateXssMatchSet":{ "name":"UpdateXssMatchSet", @@ -648,7 +1310,7 @@ {"shape":"WAFStaleDataException"}, {"shape":"WAFLimitsExceededException"} ], - "documentation":"

    Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change a XssMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header, the name of the header.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

    You use XssMatchSet objects to specify which CloudFront requests you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure an XssMatchSet, perform the following steps:

    1. Submit a CreateXssMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

      You can only specify a single type of TextTransformation.

    You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure an XssMatchSet, perform the following steps:

    1. Submit a CreateXssMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " } }, "shapes":{ @@ -657,8 +1319,7 @@ "type":"structure", "required":[ "Priority", - "RuleId", - "Action" + "RuleId" ], "members":{ "Priority":{ @@ -671,10 +1332,22 @@ }, "Action":{ "shape":"WafAction", - "documentation":"

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

    • ALLOW: CloudFront responds with the requested object.

    • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

    • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

    " + "documentation":"

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

    • ALLOW: CloudFront responds with the requested object.

    • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

    • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "OverrideAction":{ + "shape":"WafOverrideAction", + "documentation":"

    Use the OverrideAction to test your RuleGroup.

    Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup will block a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using GetSampledRequests.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "Type":{ + "shape":"WafRuleType", + "documentation":"

    The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

    " + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

    An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

    Sometimes it is necessary to troubleshoot rule groups that are blocking traffic unexpectedly (false positives). One troubleshooting technique is to identify the specific rule within the rule group that is blocking the legitimate traffic and then disable (exclude) that particular rule. You can exclude rules from both your own rule groups and AWS Marketplace rule groups that have been associated with a web ACL.

    Specifying ExcludedRules does not remove those rules from the rule group. Rather, it changes the action for the rules to COUNT. Therefore, requests that match an ExcludedRule are counted but not blocked. The RuleGroup owner will receive COUNT metrics for each ExcludedRule.

    If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

    1. Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. For more information about the logs, see Logging Web ACL Traffic Information.

    2. Submit an UpdateWebACL request that has two actions:

      • The first action deletes the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action should be DELETE and Updates:ActivatedRule:RuleId should be the rule group that contains the rules that you want to exclude.

      • The second action inserts the same rule group back in, but specifying the rules to exclude. That is, the second Updates:Action should be INSERT, Updates:ActivatedRule:RuleId should be the rule group that you just removed, and ExcludedRules should contain the rules that you want to exclude.

    " } }, - "documentation":"

    The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

    " }, "ActivatedRules":{ "type":"list", @@ -700,7 +1373,7 @@ "documentation":"

    Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

    " } }, - "documentation":"

    In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

    A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

    A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

    " }, "ByteMatchSetSummaries":{ "type":"list", @@ -722,7 +1395,7 @@ "documentation":"

    A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

    " } }, - "documentation":"

    Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet.

    " }, "ByteMatchSetUpdate":{ "type":"structure", @@ -740,11 +1413,12 @@ "documentation":"

    Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action, the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

    " } }, - "documentation":"

    In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple.

    " }, "ByteMatchSetUpdates":{ "type":"list", - "member":{"shape":"ByteMatchSetUpdate"} + "member":{"shape":"ByteMatchSetUpdate"}, + "min":1 }, "ByteMatchTargetString":{"type":"blob"}, "ByteMatchTuple":{ @@ -762,18 +1436,18 @@ }, "TargetString":{ "shape":"ByteMatchTargetString", - "documentation":"

    The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

    Valid values depend on the values that you specified for FieldToMatch:

    • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

    • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

    • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

    If you're using the AWS WAF API

    Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

    For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64 encoding and include the resulting value, QmFkQm90, in the value of TargetString.

    If you're using the AWS CLI or one of the AWS SDKs

    The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

    " + "documentation":"

    The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

    Valid values depend on the values that you specified for FieldToMatch:

    • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

    • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

    • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

    • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

    If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

    If you're using the AWS WAF API

    Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

    For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of TargetString.

    If you're using the AWS CLI or one of the AWS SDKs

    The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

    " }, "TextTransformation":{ "shape":"TextTransformation", - "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on TargetString before inspecting a request for a match.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " }, "PositionalConstraint":{ "shape":"PositionalConstraint", "documentation":"

    Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

    CONTAINS

    The specified part of the web request must include the value of TargetString, but the location doesn't matter.

    CONTAINS_WORD

    The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

    • TargetString exactly matches the value of the specified part of the web request, such as the value of a header.

    • TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot;.

    • TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot.

    • TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

    EXACTLY

    The value of the specified part of the web request must exactly match the value of TargetString.

    STARTS_WITH

    The value of TargetString must appear at the beginning of the specified part of the web request.

    ENDS_WITH

    The value of TargetString must appear at the end of the specified part of the web request.

    " } }, - "documentation":"

    The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

    " }, "ByteMatchTuples":{ "type":"list", @@ -788,7 +1462,9 @@ }, "ChangeToken":{ "type":"string", - "min":1 + "max":128, + "min":1, + "pattern":".*\\S.*" }, "ChangeTokenStatus":{ "type":"string", @@ -840,6 +1516,36 @@ } } }, + "CreateGeoMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "GeoMatchSet":{ + "shape":"GeoMatchSet", + "documentation":"

    The GeoMatchSet returned in the CreateGeoMatchSet response. The GeoMatchSet contains no GeoMatchConstraints.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, "CreateIPSetRequest":{ "type":"structure", "required":[ @@ -870,42 +1576,56 @@ } } }, - "CreateRuleRequest":{ + "CreateRateBasedRuleRequest":{ "type":"structure", "required":[ "Name", "MetricName", + "RateKey", + "RateLimit", "ChangeToken" ], "members":{ "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

    " + "documentation":"

    A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

    " }, "MetricName":{ "shape":"MetricName", - "documentation":"

    A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change the name of the metric after you create the Rule.

    " + "documentation":"

    A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

    " + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

    The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " } } }, - "CreateRuleResponse":{ + "CreateRateBasedRuleResponse":{ "type":"structure", "members":{ "Rule":{ - "shape":"Rule", - "documentation":"

    The Rule returned in the CreateRule response.

    " + "shape":"RateBasedRule", + "documentation":"

    The RateBasedRule that is returned in the CreateRateBasedRule response.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the CreateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "CreateSizeConstraintSetRequest":{ + "CreateRegexMatchSetRequest":{ "type":"structure", "required":[ "Name", @@ -914,7 +1634,7 @@ "members":{ "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet.

    " + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " }, "ChangeToken":{ "shape":"ChangeToken", @@ -922,20 +1642,20 @@ } } }, - "CreateSizeConstraintSetResponse":{ + "CreateRegexMatchSetResponse":{ "type":"structure", "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

    A SizeConstraintSet that contains no SizeConstraint objects.

    " + "RegexMatchSet":{ + "shape":"RegexMatchSet", + "documentation":"

    A RegexMatchSet that contains no RegexMatchTuple objects.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the CreateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "CreateSqlInjectionMatchSetRequest":{ + "CreateRegexPatternSetRequest":{ "type":"structure", "required":[ "Name", @@ -944,111 +1664,115 @@ "members":{ "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet.

    " + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } - }, - "documentation":"

    A request to create a SqlInjectionMatchSet.

    " + } }, - "CreateSqlInjectionMatchSetResponse":{ + "CreateRegexPatternSetResponse":{ "type":"structure", "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

    A SqlInjectionMatchSet.

    " + "RegexPatternSet":{ + "shape":"RegexPatternSet", + "documentation":"

    A RegexPatternSet that contains no objects.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } - }, - "documentation":"

    The response to a CreateSqlInjectionMatchSet request.

    " + } }, - "CreateWebACLRequest":{ + "CreateRuleGroupRequest":{ "type":"structure", "required":[ "Name", "MetricName", - "DefaultAction", "ChangeToken" ], "members":{ "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description of the WebACL. You can't change Name after you create the WebACL.

    " + "documentation":"

    A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup.

    " }, "MetricName":{ "shape":"MetricName", - "documentation":"

    A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace. You can't change MetricName after you create the WebACL.

    " - }, - "DefaultAction":{ - "shape":"WafAction", - "documentation":"

    The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

    " + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " } } }, - "CreateWebACLResponse":{ + "CreateRuleGroupResponse":{ "type":"structure", "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

    The WebACL returned in the CreateWebACL response.

    " + "RuleGroup":{ + "shape":"RuleGroup", + "documentation":"

    An empty RuleGroup.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the CreateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "CreateXssMatchSetRequest":{ + "CreateRuleRequest":{ "type":"structure", "required":[ "Name", + "MetricName", "ChangeToken" ], "members":{ "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet.

    " + "documentation":"

    A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " } - }, - "documentation":"

    A request to create an XssMatchSet.

    " + } }, - "CreateXssMatchSetResponse":{ + "CreateRuleResponse":{ "type":"structure", "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

    An XssMatchSet.

    " + "Rule":{ + "shape":"Rule", + "documentation":"

    The Rule returned in the CreateRule response.

    " }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the CreateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } - }, - "documentation":"

    The response to a CreateXssMatchSet request.

    " + } }, - "DeleteByteMatchSetRequest":{ + "CreateSizeConstraintSetRequest":{ "type":"structure", "required":[ - "ByteMatchSetId", + "Name", "ChangeToken" ], "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet.

    " }, "ChangeToken":{ "shape":"ChangeToken", @@ -1056,131 +1780,169 @@ } } }, - "DeleteByteMatchSetResponse":{ + "CreateSizeConstraintSetResponse":{ "type":"structure", "members":{ + "SizeConstraintSet":{ + "shape":"SizeConstraintSet", + "documentation":"

    A SizeConstraintSet that contains no SizeConstraint objects.

    " + }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "DeleteIPSetRequest":{ + "CreateSqlInjectionMatchSetRequest":{ "type":"structure", "required":[ - "IPSetId", + "Name", "ChangeToken" ], "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

    The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } - } + }, + "documentation":"

    A request to create a SqlInjectionMatchSet.

    " }, - "DeleteIPSetResponse":{ + "CreateSqlInjectionMatchSetResponse":{ "type":"structure", "members":{ + "SqlInjectionMatchSet":{ + "shape":"SqlInjectionMatchSet", + "documentation":"

    A SqlInjectionMatchSet.

    " + }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } - } + }, + "documentation":"

    The response to a CreateSqlInjectionMatchSet request.

    " }, - "DeleteRuleRequest":{ + "CreateWebACLMigrationStackRequest":{ "type":"structure", "required":[ - "RuleId", - "ChangeToken" + "WebACLId", + "S3BucketName", + "IgnoreUnsupportedType" ], "members":{ - "RuleId":{ + "WebACLId":{ "shape":"ResourceId", - "documentation":"

    The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

    " + "documentation":"

    The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.

    " }, - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + "S3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of the Amazon S3 bucket to store the CloudFormation template in. The S3 bucket must be configured as follows for the migration:

    • The bucket name must start with aws-waf-migration-. For example, aws-waf-migration-my-web-acl.

    • The bucket must be in the Region where you are deploying the template. For example, for a web ACL in us-west-2, you must use an Amazon S3 bucket in us-west-2 and you must deploy the template stack to us-west-2.

    • The bucket policies must permit the migration process to write data. For listings of the bucket policies, see the Examples section.

    " + }, + "IgnoreUnsupportedType":{ + "shape":"IgnoreUnsupportedType", + "documentation":"

    Indicates whether to exclude entities that can't be migrated or to stop the migration. Set this to true to ignore unsupported entities in the web ACL during the migration. Otherwise, if AWS WAF encounters unsupported entities, it stops the process and throws an exception.

    " } } }, - "DeleteRuleResponse":{ + "CreateWebACLMigrationStackResponse":{ "type":"structure", + "required":["S3ObjectUrl"], "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "S3ObjectUrl":{ + "shape":"S3ObjectUrl", + "documentation":"

    The URL of the template created in Amazon S3.

    " } } }, - "DeleteSizeConstraintSetRequest":{ + "CreateWebACLRequest":{ "type":"structure", "required":[ - "SizeConstraintSetId", + "Name", + "MetricName", + "DefaultAction", "ChangeToken" ], "members":{ - "SizeConstraintSetId":{ - "shape":"ResourceId", - "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the WebACL. You can't change Name after you create the WebACL.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

    " + }, + "DefaultAction":{ + "shape":"WafAction", + "documentation":"

    The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " } } }, - "DeleteSizeConstraintSetResponse":{ + "CreateWebACLResponse":{ "type":"structure", "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    The WebACL returned in the CreateWebACL response.

    " + }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "DeleteSqlInjectionMatchSetRequest":{ + "CreateXssMatchSetRequest":{ "type":"structure", "required":[ - "SqlInjectionMatchSetId", + "Name", "ChangeToken" ], "members":{ - "SqlInjectionMatchSetId":{ - "shape":"ResourceId", - "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } }, - "documentation":"

    A request to delete a SqlInjectionMatchSet from AWS WAF.

    " + "documentation":"

    A request to create an XssMatchSet.

    " }, - "DeleteSqlInjectionMatchSetResponse":{ + "CreateXssMatchSetResponse":{ "type":"structure", "members":{ + "XssMatchSet":{ + "shape":"XssMatchSet", + "documentation":"

    An XssMatchSet.

    " + }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the CreateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } }, - "documentation":"

    The response to a request to delete a SqlInjectionMatchSet from AWS WAF.

    " + "documentation":"

    The response to a CreateXssMatchSet request.

    " }, - "DeleteWebACLRequest":{ + "DeleteByteMatchSetRequest":{ "type":"structure", "required":[ - "WebACLId", + "ByteMatchSetId", "ChangeToken" ], "members":{ - "WebACLId":{ + "ByteMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " }, "ChangeToken":{ "shape":"ChangeToken", @@ -1188,347 +1950,367 @@ } } }, - "DeleteWebACLResponse":{ + "DeleteByteMatchSetResponse":{ "type":"structure", "members":{ "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "DeleteXssMatchSetRequest":{ + "DeleteGeoMatchSetRequest":{ "type":"structure", "required":[ - "XssMatchSetId", + "GeoMatchSetId", "ChangeToken" ], "members":{ - "XssMatchSetId":{ + "GeoMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + "documentation":"

    The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " }, "ChangeToken":{ "shape":"ChangeToken", "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } - }, - "documentation":"

    A request to delete an XssMatchSet from AWS WAF.

    " + } }, - "DeleteXssMatchSetResponse":{ + "DeleteGeoMatchSetResponse":{ "type":"structure", "members":{ "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used to submit the DeleteXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + "documentation":"

    The ChangeToken that you used to submit the DeleteGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } - }, - "documentation":"

    The response to a request to delete an XssMatchSet from AWS WAF.

    " + } }, - "FieldToMatch":{ + "DeleteIPSetRequest":{ "type":"structure", - "required":["Type"], + "required":[ + "IPSetId", + "ChangeToken" + ], "members":{ - "Type":{ - "shape":"MatchFieldType", - "documentation":"

    The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

    • HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data.

    • METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: A query string, which is the part of a URL that appears after a ? character, if any.

    • URI: The part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    " + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

    " }, - "Data":{ - "shape":"MatchFieldData", - "documentation":"

    When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. If the value of Type is any other value, omit Data.

    The name of the header is not case sensitive.

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } - }, - "documentation":"

    Specifies where in a web request to look for TargetString.

    " + } }, - "GetByteMatchSetRequest":{ + "DeleteIPSetResponse":{ "type":"structure", - "required":["ByteMatchSetId"], "members":{ - "ByteMatchSetId":{ - "shape":"ResourceId", - "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetByteMatchSetResponse":{ + "DeleteLoggingConfigurationRequest":{ "type":"structure", + "required":["ResourceArn"], "members":{ - "ByteMatchSet":{ - "shape":"ByteMatchSet", - "documentation":"

    Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

    • ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name

    • ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration.

    " } } }, - "GetChangeTokenRequest":{ + "DeleteLoggingConfigurationResponse":{ "type":"structure", "members":{ } }, - "GetChangeTokenResponse":{ + "DeletePermissionPolicyRequest":{ "type":"structure", + "required":["ResourceArn"], "members":{ - "ChangeToken":{ - "shape":"ChangeToken", - "documentation":"

    The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus request to get the current status of the request.

    " + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy.

    The user making the request must be the owner of the RuleGroup.

    " } } }, - "GetChangeTokenStatusRequest":{ + "DeletePermissionPolicyResponse":{ "type":"structure", - "required":["ChangeToken"], "members":{ + } + }, + "DeleteRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, "ChangeToken":{ "shape":"ChangeToken", - "documentation":"

    The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response.

    " + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetChangeTokenStatusResponse":{ + "DeleteRateBasedRuleResponse":{ "type":"structure", "members":{ - "ChangeTokenStatus":{ - "shape":"ChangeTokenStatus", - "documentation":"

    The status of the change token.

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetIPSetRequest":{ + "DeleteRegexMatchSetRequest":{ "type":"structure", - "required":["IPSetId"], + "required":[ + "RegexMatchSetId", + "ChangeToken" + ], "members":{ - "IPSetId":{ + "RegexMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetIPSetResponse":{ + "DeleteRegexMatchSetResponse":{ "type":"structure", "members":{ - "IPSet":{ - "shape":"IPSet", - "documentation":"

    Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

    • IPSet: Contains IPSetDescriptors, IPSetId, and Name

    • IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each IPSetDescriptor object contains Type and Value

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetRuleRequest":{ + "DeleteRegexPatternSetRequest":{ "type":"structure", - "required":["RuleId"], + "required":[ + "RegexPatternSetId", + "ChangeToken" + ], "members":{ - "RuleId":{ + "RegexPatternSetId":{ "shape":"ResourceId", - "documentation":"

    The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

    " + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetRuleResponse":{ + "DeleteRegexPatternSetResponse":{ "type":"structure", "members":{ - "Rule":{ - "shape":"Rule", - "documentation":"

    Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

    • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

    • Predicate: Each Predicate object contains DataId, Negated, and Type

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetSampledRequestsRequest":{ + "DeleteRuleGroupRequest":{ "type":"structure", "required":[ - "WebAclId", - "RuleId", - "TimeWindow", - "MaxItems" + "RuleGroupId", + "ChangeToken" ], "members":{ - "WebAclId":{ + "RuleGroupId":{ "shape":"ResourceId", - "documentation":"

    The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

    " + "documentation":"

    The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " }, - "RuleId":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRuleGroupResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ "shape":"ResourceId", - "documentation":"

    RuleId is one of two values:

    • The RuleId of the Rule for which you want GetSampledRequests to return a sample of requests.

    • Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL.

    " - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

    The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in Unix time format (in seconds). You can specify any time range in the previous three hours.

    " + "documentation":"

    The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

    " }, - "MaxItems":{ - "shape":"ListMaxItems", - "documentation":"

    The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetSampledRequestsResponse":{ + "DeleteRuleResponse":{ "type":"structure", "members":{ - "SampledRequests":{ - "shape":"SampledHTTPRequests", - "documentation":"

    A complex type that contains detailed information about each of the requests in the sample.

    " - }, - "PopulationSize":{ - "shape":"PopulationSize", - "documentation":"

    The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

    " - }, - "TimeWindow":{ - "shape":"TimeWindow", - "documentation":"

    Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests.

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetSizeConstraintSetRequest":{ + "DeleteSizeConstraintSetRequest":{ "type":"structure", - "required":["SizeConstraintSetId"], + "required":[ + "SizeConstraintSetId", + "ChangeToken" + ], "members":{ "SizeConstraintSetId":{ "shape":"ResourceId", - "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetSizeConstraintSetResponse":{ + "DeleteSizeConstraintSetResponse":{ "type":"structure", "members":{ - "SizeConstraintSet":{ - "shape":"SizeConstraintSet", - "documentation":"

    Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetSqlInjectionMatchSetRequest":{ + "DeleteSqlInjectionMatchSetRequest":{ "type":"structure", - "required":["SqlInjectionMatchSetId"], + "required":[ + "SqlInjectionMatchSetId", + "ChangeToken" + ], "members":{ "SqlInjectionMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } }, - "documentation":"

    A request to get a SqlInjectionMatchSet.

    " + "documentation":"

    A request to delete a SqlInjectionMatchSet from AWS WAF.

    " }, - "GetSqlInjectionMatchSetResponse":{ + "DeleteSqlInjectionMatchSetResponse":{ "type":"structure", "members":{ - "SqlInjectionMatchSet":{ - "shape":"SqlInjectionMatchSet", - "documentation":"

    Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } }, - "documentation":"

    The response to a GetSqlInjectionMatchSet request.

    " + "documentation":"

    The response to a request to delete a SqlInjectionMatchSet from AWS WAF.

    " }, - "GetWebACLRequest":{ + "DeleteWebACLRequest":{ "type":"structure", - "required":["WebACLId"], + "required":[ + "WebACLId", + "ChangeToken" + ], "members":{ "WebACLId":{ "shape":"ResourceId", - "documentation":"

    The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + "documentation":"

    The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } } }, - "GetWebACLResponse":{ + "DeleteWebACLResponse":{ "type":"structure", "members":{ - "WebACL":{ - "shape":"WebACL", - "documentation":"

    Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

    • WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, and WebACLId

    • DefaultAction (Data type is WafAction): Contains Type

    • Rules: Contains an array of ActivatedRule objects, which contain Action, Priority, and RuleId

    • Action: Contains Type

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } } }, - "GetXssMatchSetRequest":{ + "DeleteXssMatchSetRequest":{ "type":"structure", - "required":["XssMatchSetId"], + "required":[ + "XssMatchSetId", + "ChangeToken" + ], "members":{ "XssMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " } }, - "documentation":"

    A request to get an XssMatchSet.

    " + "documentation":"

    A request to delete an XssMatchSet from AWS WAF.

    " }, - "GetXssMatchSetResponse":{ + "DeleteXssMatchSetResponse":{ "type":"structure", "members":{ - "XssMatchSet":{ - "shape":"XssMatchSet", - "documentation":"

    Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

    • XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple objects

    • XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " } }, - "documentation":"

    The response to a GetXssMatchSet request.

    " + "documentation":"

    The response to a request to delete an XssMatchSet from AWS WAF.

    " }, - "HTTPHeader":{ + "ErrorReason":{"type":"string"}, + "ExcludedRule":{ "type":"structure", + "required":["RuleId"], "members":{ - "Name":{ - "shape":"HeaderName", - "documentation":"

    The name of one of the headers in the sampled web request.

    " - }, - "Value":{ - "shape":"HeaderValue", - "documentation":"

    The value of one of the headers in the sampled web request.

    " + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The unique identifier for the rule to exclude from the rule group.

    " } }, - "documentation":"

    The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The rule to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup. The rule must belong to the RuleGroup that is specified by the ActivatedRule.

    " }, - "HTTPHeaders":{ + "ExcludedRules":{ "type":"list", - "member":{"shape":"HTTPHeader"} - }, - "HTTPMethod":{"type":"string"}, - "HTTPRequest":{ - "type":"structure", - "members":{ - "ClientIP":{ - "shape":"IPString", - "documentation":"

    The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

    • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

    • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

    " - }, - "Country":{ - "shape":"Country", - "documentation":"

    The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

    " - }, - "URI":{ - "shape":"URIString", - "documentation":"

    The part of a web request that identifies the resource, for example, /images/daily-ad.jpg.

    " - }, - "Method":{ - "shape":"HTTPMethod", - "documentation":"

    The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    " - }, - "HTTPVersion":{ - "shape":"HTTPVersion", - "documentation":"

    The HTTP version specified in the sampled web request, for example, HTTP/1.1.

    " - }, - "Headers":{ - "shape":"HTTPHeaders", - "documentation":"

    A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

    " - } - }, - "documentation":"

    The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests.

    " + "member":{"shape":"ExcludedRule"} }, - "HTTPVersion":{"type":"string"}, - "HeaderName":{"type":"string"}, - "HeaderValue":{"type":"string"}, - "IPSet":{ + "FieldToMatch":{ "type":"structure", - "required":[ - "IPSetId", - "IPSetDescriptors" - ], + "required":["Type"], "members":{ - "IPSetId":{ - "shape":"ResourceId", - "documentation":"

    The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

    IPSetId is returned by CreateIPSet and by ListIPSets.

    " - }, - "Name":{ - "shape":"ResourceName", - "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + "Type":{ + "shape":"MatchFieldType", + "documentation":"

    The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

    • HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data.

    • METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: A query string, which is the part of a URL that appears after a ? character, if any.

    • URI: The part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

    • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but rather than inspecting a single parameter, AWS WAF will inspect all parameters within the query for the value or regex pattern that you specify in TargetString.

    " }, - "IPSetDescriptors":{ - "shape":"IPSetDescriptors", - "documentation":"

    The IP address type (IPV4) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

    • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

    • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

    " + "Data":{ + "shape":"MatchFieldData", + "documentation":"

    When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. The name of the header is not case sensitive.

    When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion. The parameter name is not case sensitive.

    If the value of Type is any other value, omit Data.

    " } }, - "documentation":"

    Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/31. To block a range of IP addresses, you can specify a /24, a /16, or a /8 CIDR. For more information about CIDR notation, perform an Internet search on cidr notation.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies where in a web request to look for TargetString.

    " }, - "IPSetDescriptor":{ + "GeoMatchConstraint":{ "type":"structure", "required":[ "Type", @@ -1536,83 +2318,920 @@ ], "members":{ "Type":{ - "shape":"IPSetDescriptorType", - "documentation":"

    Specify IPV4.

    " + "shape":"GeoMatchConstraintType", + "documentation":"

    The type of geographical area you want AWS WAF to search for. Currently Country is the only valid value.

    " }, "Value":{ - "shape":"IPSetDescriptorValue", - "documentation":"

    Specify an IPv4 address by using CIDR notation. For example:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    AWS WAF supports only /8, /16, /24, and /32 IP addresses.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + "shape":"GeoMatchConstraintValue", + "documentation":"

    The country that you want AWS WAF to search for.

    " } }, - "documentation":"

    Specifies the IP address type (IPV4) and the IP address range (in CIDR format) that web requests originate from.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The country from which web requests originate that you want AWS WAF to search for.

    " }, - "IPSetDescriptorType":{ + "GeoMatchConstraintType":{ + "type":"string", + "enum":["Country"] + }, + "GeoMatchConstraintValue":{ "type":"string", "enum":[ - "IPV4", - "IPV6" + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "KH", + "CM", + "CA", + "CV", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CG", + "CD", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MK", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SZ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" ] }, - "IPSetDescriptorValue":{"type":"string"}, - "IPSetDescriptors":{ + "GeoMatchConstraints":{ "type":"list", - "member":{"shape":"IPSetDescriptor"} + "member":{"shape":"GeoMatchConstraint"} }, - "IPSetSummaries":{ + "GeoMatchSet":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "GeoMatchConstraints" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet).

    GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

    " + }, + "GeoMatchConstraints":{ + "shape":"GeoMatchConstraints", + "documentation":"

    An array of GeoMatchConstraint objects, which contain the country that you want AWS WAF to search for.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains one or more countries that AWS WAF will search for.

    " + }, + "GeoMatchSetSummaries":{ "type":"list", - "member":{"shape":"IPSetSummary"} + "member":{"shape":"GeoMatchSetSummary"} }, - "IPSetSummary":{ + "GeoMatchSetSummary":{ "type":"structure", "required":[ - "IPSetId", + "GeoMatchSetId", "Name" ], "members":{ - "IPSetId":{ + "GeoMatchSetId":{ "shape":"ResourceId", - "documentation":"

    The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

    " + "documentation":"

    The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet request to get detailed information about an GeoMatchSet.

    " }, "Name":{ "shape":"ResourceName", - "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

    " } }, - "documentation":"

    Contains the identifier and the name of the IPSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name of the GeoMatchSet.

    " }, - "IPSetUpdate":{ + "GeoMatchSetUpdate":{ "type":"structure", "required":[ "Action", - "IPSetDescriptor" + "GeoMatchConstraint" ], "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

    Specifies whether to insert or delete an IP address with UpdateIPSet.

    " + "documentation":"

    Specifies whether to insert or delete a country with UpdateGeoMatchSet.

    " }, - "IPSetDescriptor":{ - "shape":"IPSetDescriptor", - "documentation":"

    The IP address type (IPV4) and the IP address range (in CIDR notation) that web requests originate from.

    " + "GeoMatchConstraint":{ + "shape":"GeoMatchConstraint", + "documentation":"

    The country from which web requests originate that you want AWS WAF to search for.

    " } }, - "documentation":"

    Specifies the type of update to perform to an IPSet with UpdateIPSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the type of update to perform to an GeoMatchSet with UpdateGeoMatchSet.

    " }, - "IPSetUpdates":{ + "GeoMatchSetUpdates":{ "type":"list", - "member":{"shape":"IPSetUpdate"} + "member":{"shape":"GeoMatchSetUpdate"}, + "min":1 }, - "IPString":{"type":"string"}, - "ListByteMatchSetsRequest":{ + "GetByteMatchSetRequest":{ "type":"structure", + "required":["ByteMatchSetId"], "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

    " - }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

    Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.

    " + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + } + } + }, + "GetByteMatchSetResponse":{ + "type":"structure", + "members":{ + "ByteMatchSet":{ + "shape":"ByteMatchSet", + "documentation":"

    Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

    • ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name

    • ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + } + } + }, + "GetChangeTokenRequest":{ + "type":"structure", + "members":{ + } + }, + "GetChangeTokenResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus request to get the current status of the request.

    " + } + } + }, + "GetChangeTokenStatusRequest":{ + "type":"structure", + "required":["ChangeToken"], + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response.

    " + } + } + }, + "GetChangeTokenStatusResponse":{ + "type":"structure", + "members":{ + "ChangeTokenStatus":{ + "shape":"ChangeTokenStatus", + "documentation":"

    The status of the change token.

    " + } + } + }, + "GetGeoMatchSetRequest":{ + "type":"structure", + "required":["GeoMatchSetId"], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + } + } + }, + "GetGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "GeoMatchSet":{ + "shape":"GeoMatchSet", + "documentation":"

    Information about the GeoMatchSet that you specified in the GetGeoMatchSet request. This includes the Type, which for a GeoMatchContraint is always Country, as well as the Value, which is the identifier for a specific country.

    " + } + } + }, + "GetIPSetRequest":{ + "type":"structure", + "required":["IPSetId"], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + } + } + }, + "GetIPSetResponse":{ + "type":"structure", + "members":{ + "IPSet":{ + "shape":"IPSet", + "documentation":"

    Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

    • IPSet: Contains IPSetDescriptors, IPSetId, and Name

    • IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each IPSetDescriptor object contains Type and Value

    " + } + } + }, + "GetLoggingConfigurationRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration.

    " + } + } + }, + "GetLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration for the specified web ACL.

    " + } + } + }, + "GetPermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

    " + } + } + }, + "GetPermissionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The IAM policy attached to the specified RuleGroup.

    " + } + } + }, + "GetRateBasedRuleManagedKeysRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    A null value and not currently used. Do not include this in your request.

    " + } + } + }, + "GetRateBasedRuleManagedKeysResponse":{ + "type":"structure", + "members":{ + "ManagedKeys":{ + "shape":"ManagedKeys", + "documentation":"

    An array of IP addresses that currently are blocked by the specified RateBasedRule.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    A null value and not currently used.

    " + } + } + }, + "GetRateBasedRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + } + } + }, + "GetRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

    Information about the RateBasedRule that you specified in the GetRateBasedRule request.

    " + } + } + }, + "GetRegexMatchSetRequest":{ + "type":"structure", + "required":["RegexMatchSetId"], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + } + } + }, + "GetRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "RegexMatchSet":{ + "shape":"RegexMatchSet", + "documentation":"

    Information about the RegexMatchSet that you specified in the GetRegexMatchSet request. For more information, see RegexMatchTuple.

    " + } + } + }, + "GetRegexPatternSetRequest":{ + "type":"structure", + "required":["RegexPatternSetId"], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + } + } + }, + "GetRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "RegexPatternSet":{ + "shape":"RegexPatternSet", + "documentation":"

    Information about the RegexPatternSet that you specified in the GetRegexPatternSet request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.

    " + } + } + }, + "GetRuleGroupRequest":{ + "type":"structure", + "required":["RuleGroupId"], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + } + } + }, + "GetRuleGroupResponse":{ + "type":"structure", + "members":{ + "RuleGroup":{ + "shape":"RuleGroup", + "documentation":"

    Information about the RuleGroup that you specified in the GetRuleGroup request.

    " + } + } + }, + "GetRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

    " + } + } + }, + "GetRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"Rule", + "documentation":"

    Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

    • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

    • Predicate: Each Predicate object contains DataId, Negated, and Type

    " + } + } + }, + "GetSampledRequestsMaxItems":{ + "type":"long", + "max":500, + "min":1 + }, + "GetSampledRequestsRequest":{ + "type":"structure", + "required":[ + "WebAclId", + "RuleId", + "TimeWindow", + "MaxItems" + ], + "members":{ + "WebAclId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

    " + }, + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    RuleId is one of three values:

    • The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests.

    • Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + }, + "MaxItems":{ + "shape":"GetSampledRequestsMaxItems", + "documentation":"

    The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

    " + } + } + }, + "GetSampledRequestsResponse":{ + "type":"structure", + "members":{ + "SampledRequests":{ + "shape":"SampledHTTPRequests", + "documentation":"

    A complex type that contains detailed information about each of the requests in the sample.

    " + }, + "PopulationSize":{ + "shape":"PopulationSize", + "documentation":"

    The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.

    " + } + } + }, + "GetSizeConstraintSetRequest":{ + "type":"structure", + "required":["SizeConstraintSetId"], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + } + } + }, + "GetSizeConstraintSetResponse":{ + "type":"structure", + "members":{ + "SizeConstraintSet":{ + "shape":"SizeConstraintSet", + "documentation":"

    Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

    " + } + } + }, + "GetSqlInjectionMatchSetRequest":{ + "type":"structure", + "required":["SqlInjectionMatchSetId"], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + } + }, + "documentation":"

    A request to get a SqlInjectionMatchSet.

    " + }, + "GetSqlInjectionMatchSetResponse":{ + "type":"structure", + "members":{ + "SqlInjectionMatchSet":{ + "shape":"SqlInjectionMatchSet", + "documentation":"

    Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

    " + } + }, + "documentation":"

    The response to a GetSqlInjectionMatchSet request.

    " + }, + "GetWebACLRequest":{ + "type":"structure", + "required":["WebACLId"], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + } + } + }, + "GetWebACLResponse":{ + "type":"structure", + "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

    • WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, and WebACLId

    • DefaultAction (Data type is WafAction): Contains Type

    • Rules: Contains an array of ActivatedRule objects, which contain Action, Priority, and RuleId

    • Action: Contains Type

    " + } + } + }, + "GetXssMatchSetRequest":{ + "type":"structure", + "required":["XssMatchSetId"], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + } + }, + "documentation":"

    A request to get an XssMatchSet.

    " + }, + "GetXssMatchSetResponse":{ + "type":"structure", + "members":{ + "XssMatchSet":{ + "shape":"XssMatchSet", + "documentation":"

    Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

    • XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple objects

    • XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + } + }, + "documentation":"

    The response to a GetXssMatchSet request.

    " + }, + "HTTPHeader":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"HeaderName", + "documentation":"

    The name of one of the headers in the sampled web request.

    " + }, + "Value":{ + "shape":"HeaderValue", + "documentation":"

    The value of one of the headers in the sampled web request.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests.

    " + }, + "HTTPHeaders":{ + "type":"list", + "member":{"shape":"HTTPHeader"} + }, + "HTTPMethod":{"type":"string"}, + "HTTPRequest":{ + "type":"structure", + "members":{ + "ClientIP":{ + "shape":"IPString", + "documentation":"

    The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

    • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

    • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

    " + }, + "Country":{ + "shape":"Country", + "documentation":"

    The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

    " + }, + "URI":{ + "shape":"URIString", + "documentation":"

    The part of a web request that identifies the resource, for example, /images/daily-ad.jpg.

    " + }, + "Method":{ + "shape":"HTTPMethod", + "documentation":"

    The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    " + }, + "HTTPVersion":{ + "shape":"HTTPVersion", + "documentation":"

    The HTTP version specified in the sampled web request, for example, HTTP/1.1.

    " + }, + "Headers":{ + "shape":"HTTPHeaders", + "documentation":"

    A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests.

    " + }, + "HTTPVersion":{"type":"string"}, + "HeaderName":{"type":"string"}, + "HeaderValue":{"type":"string"}, + "IPSet":{ + "type":"structure", + "required":[ + "IPSetId", + "IPSetDescriptors" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

    IPSetId is returned by CreateIPSet and by ListIPSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + }, + "IPSetDescriptors":{ + "shape":"IPSetDescriptors", + "documentation":"

    The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.

    To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/32. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + }, + "IPSetDescriptor":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"IPSetDescriptorType", + "documentation":"

    Specify IPV4 or IPV6.

    " + }, + "Value":{ + "shape":"IPSetDescriptorValue", + "documentation":"

    Specify an IPv4 address by using CIDR notation. For example:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    Specify an IPv6 address by using CIDR notation. For example:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) that web requests originate from.

    " + }, + "IPSetDescriptorType":{ + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "IPSetDescriptorValue":{ + "type":"string", + "max":50, + "min":1, + "pattern":".*\\S.*" + }, + "IPSetDescriptors":{ + "type":"list", + "member":{"shape":"IPSetDescriptor"} + }, + "IPSetSummaries":{ + "type":"list", + "member":{"shape":"IPSetSummary"} + }, + "IPSetSummary":{ + "type":"structure", + "required":[ + "IPSetId", + "Name" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name of the IPSet.

    " + }, + "IPSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "IPSetDescriptor" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete an IP address with UpdateIPSet.

    " + }, + "IPSetDescriptor":{ + "shape":"IPSetDescriptor", + "documentation":"

    The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the type of update to perform to an IPSet with UpdateIPSet.

    " + }, + "IPSetUpdates":{ + "type":"list", + "member":{"shape":"IPSetUpdate"}, + "min":1 + }, + "IPString":{"type":"string"}, + "IgnoreUnsupportedType":{"type":"boolean"}, + "ListActivatedRulesInRuleGroupRequest":{ + "type":"structure", + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules.

    " + } + } + }, + "ListActivatedRulesInRuleGroupResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more ActivatedRules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ActivatedRules, submit another ListActivatedRulesInRuleGroup request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "ActivatedRules":{ + "shape":"ActivatedRules", + "documentation":"

    An array of ActivatedRules objects.

    " + } + } + }, + "ListByteMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.

    " } } }, @@ -1627,277 +3246,833 @@ "shape":"ByteMatchSetSummaries", "documentation":"

    An array of ByteMatchSetSummary objects.

    " } - } + } + }, + "ListGeoMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects.

    " + } + } + }, + "ListGeoMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more GeoMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more GeoMatchSet objects, submit another ListGeoMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "GeoMatchSets":{ + "shape":"GeoMatchSetSummaries", + "documentation":"

    An array of GeoMatchSetSummary objects.

    " + } + } + }, + "ListIPSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects.

    " + } + } + }, + "ListIPSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    To list more IPSet objects, submit another ListIPSets request, and in the next request use the NextMarker response value as the NextMarker value.

    " + }, + "IPSets":{ + "shape":"IPSetSummaries", + "documentation":"

    An array of IPSetSummary objects.

    " + } + } + }, + "ListLoggingConfigurationsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations.

    " + } + } + }, + "ListLoggingConfigurationsResponse":{ + "type":"structure", + "members":{ + "LoggingConfigurations":{ + "shape":"LoggingConfigurations", + "documentation":"

    An array of LoggingConfiguration objects.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + } + } + }, + "ListRateBasedRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + } + }, + "ListRateBasedRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

    An array of RuleSummary objects.

    " + } + } + }, + "ListRegexMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects.

    " + } + } + }, + "ListRegexMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RegexMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexMatchSet objects, submit another ListRegexMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RegexMatchSets":{ + "shape":"RegexMatchSetSummaries", + "documentation":"

    An array of RegexMatchSetSummary objects.

    " + } + } + }, + "ListRegexPatternSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects.

    " + } + } + }, + "ListRegexPatternSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RegexPatternSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexPatternSet objects, submit another ListRegexPatternSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RegexPatternSets":{ + "shape":"RegexPatternSetSummaries", + "documentation":"

    An array of RegexPatternSetSummary objects.

    " + } + } + }, + "ListRuleGroupsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

    " + } + } + }, + "ListRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RuleGroups than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RuleGroups, submit another ListRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RuleGroups":{ + "shape":"RuleGroupSummaries", + "documentation":"

    An array of RuleGroup objects.

    " + } + } + }, + "ListRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + } + }, + "ListRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

    An array of RuleSummary objects.

    " + } + } + }, + "ListSizeConstraintSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects.

    " + } + } + }, + "ListSizeConstraintSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more SizeConstraintSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SizeConstraintSet objects, submit another ListSizeConstraintSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "SizeConstraintSets":{ + "shape":"SizeConstraintSetSummaries", + "documentation":"

    An array of SizeConstraintSetSummary objects.

    " + } + } + }, + "ListSqlInjectionMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + }, + "documentation":"

    A request to list the SqlInjectionMatchSet objects created by the current AWS account.

    " + }, + "ListSqlInjectionMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "SqlInjectionMatchSets":{ + "shape":"SqlInjectionMatchSetSummaries", + "documentation":"

    An array of SqlInjectionMatchSetSummary objects.

    " + } + }, + "documentation":"

    The response to a ListSqlInjectionMatchSets request.

    " }, - "ListIPSetsRequest":{ + "ListSubscribedRuleGroupsRequest":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more IPSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

    " + "documentation":"

    If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.

    " }, "Limit":{ "shape":"PaginationLimit", - "documentation":"

    Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects.

    " + "documentation":"

    Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects.

    " } } }, - "ListIPSetsResponse":{ + "ListSubscribedRuleGroupsResponse":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you have more IPSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more IPSet objects, submit another ListIPSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "documentation":"

    If you have more objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more objects, submit another ListSubscribedRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " }, - "IPSets":{ - "shape":"IPSetSummaries", - "documentation":"

    An array of IPSetSummary objects.

    " + "RuleGroups":{ + "shape":"SubscribedRuleGroupSummaries", + "documentation":"

    An array of RuleGroup objects.

    " } } }, - "ListMaxItems":{ - "type":"long", - "max":100, - "min":1 - }, - "ListRulesRequest":{ + "ListTagsForResourceRequest":{ "type":"structure", + "required":["ResourceARN"], "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

    " + "documentation":"

    " }, "Limit":{ "shape":"PaginationLimit", - "documentation":"

    Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + "documentation":"

    " + }, + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " } } }, - "ListRulesResponse":{ + "ListTagsForResourceResponse":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "documentation":"

    " }, - "Rules":{ - "shape":"RuleSummaries", - "documentation":"

    An array of RuleSummary objects.

    " + "TagInfoForResource":{ + "shape":"TagInfoForResource", + "documentation":"

    " } } }, - "ListSizeConstraintSetsRequest":{ + "ListWebACLsRequest":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.

    " + "documentation":"

    If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.

    " }, "Limit":{ "shape":"PaginationLimit", - "documentation":"

    Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects.

    " + "documentation":"

    Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects.

    " } } }, - "ListSizeConstraintSetsResponse":{ + "ListWebACLsResponse":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you have more SizeConstraintSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SizeConstraintSet objects, submit another ListSizeConstraintSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "documentation":"

    If you have more WebACL objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more WebACL objects, submit another ListWebACLs request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " }, - "SizeConstraintSets":{ - "shape":"SizeConstraintSetSummaries", - "documentation":"

    An array of SizeConstraintSetSummary objects.

    " + "WebACLs":{ + "shape":"WebACLSummaries", + "documentation":"

    An array of WebACLSummary objects.

    " } } }, - "ListSqlInjectionMatchSetsRequest":{ + "ListXssMatchSetsRequest":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.

    " + "documentation":"

    If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.

    " }, "Limit":{ "shape":"PaginationLimit", - "documentation":"

    Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + "documentation":"

    Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " } }, - "documentation":"

    A request to list the SqlInjectionMatchSet objects created by the current AWS account.

    " + "documentation":"

    A request to list the XssMatchSet objects created by the current AWS account.

    " }, - "ListSqlInjectionMatchSetsResponse":{ + "ListXssMatchSetsResponse":{ "type":"structure", "members":{ "NextMarker":{ "shape":"NextMarker", - "documentation":"

    If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "documentation":"

    If you have more XssMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more XssMatchSet objects, submit another ListXssMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " }, - "SqlInjectionMatchSets":{ - "shape":"SqlInjectionMatchSetSummaries", - "documentation":"

    An array of SqlInjectionMatchSetSummary objects.

    " + "XssMatchSets":{ + "shape":"XssMatchSetSummaries", + "documentation":"

    An array of XssMatchSetSummary objects.

    " } }, - "documentation":"

    The response to a ListSqlInjectionMatchSets request.

    " + "documentation":"

    The response to a ListXssMatchSets request.

    " }, - "ListWebACLsRequest":{ + "LogDestinationConfigs":{ + "type":"list", + "member":{"shape":"ResourceArn"}, + "max":1, + "min":1 + }, + "LoggingConfiguration":{ "type":"structure", + "required":[ + "ResourceArn", + "LogDestinationConfigs" + ], "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.

    " + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

    " }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

    Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects.

    " + "LogDestinationConfigs":{ + "shape":"LogDestinationConfigs", + "documentation":"

    An array of Amazon Kinesis Data Firehose ARNs.

    " + }, + "RedactedFields":{ + "shape":"RedactedFields", + "documentation":"

    The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the firehose will be xxx.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Amazon Kinesis Data Firehose, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

    " + }, + "LoggingConfigurations":{ + "type":"list", + "member":{"shape":"LoggingConfiguration"} + }, + "ManagedKey":{"type":"string"}, + "ManagedKeys":{ + "type":"list", + "member":{"shape":"ManagedKey"} + }, + "MatchFieldData":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "MatchFieldType":{ + "type":"string", + "enum":[ + "URI", + "QUERY_STRING", + "HEADER", + "METHOD", + "BODY", + "SINGLE_QUERY_ARG", + "ALL_QUERY_ARGS" + ] + }, + "MetricName":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "MigrationErrorType":{ + "type":"string", + "enum":[ + "ENTITY_NOT_SUPPORTED", + "ENTITY_NOT_FOUND", + "S3_BUCKET_NO_PERMISSION", + "S3_BUCKET_NOT_ACCESSIBLE", + "S3_BUCKET_NOT_FOUND", + "S3_BUCKET_INVALID_REGION", + "S3_INTERNAL_ERROR" + ] + }, + "Negated":{"type":"boolean"}, + "NextMarker":{ + "type":"string", + "max":1224, + "min":1, + "pattern":".*\\S.*" + }, + "PaginationLimit":{ + "type":"integer", + "max":100, + "min":0 + }, + "ParameterExceptionField":{ + "type":"string", + "enum":[ + "CHANGE_ACTION", + "WAF_ACTION", + "WAF_OVERRIDE_ACTION", + "PREDICATE_TYPE", + "IPSET_TYPE", + "BYTE_MATCH_FIELD_TYPE", + "SQL_INJECTION_MATCH_FIELD_TYPE", + "BYTE_MATCH_TEXT_TRANSFORMATION", + "BYTE_MATCH_POSITIONAL_CONSTRAINT", + "SIZE_CONSTRAINT_COMPARISON_OPERATOR", + "GEO_MATCH_LOCATION_TYPE", + "GEO_MATCH_LOCATION_VALUE", + "RATE_KEY", + "RULE_TYPE", + "NEXT_MARKER", + "RESOURCE_ARN", + "TAGS", + "TAG_KEYS" + ] + }, + "ParameterExceptionParameter":{ + "type":"string", + "min":1 + }, + "ParameterExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_OPTION", + "ILLEGAL_COMBINATION", + "ILLEGAL_ARGUMENT", + "INVALID_TAG_KEY" + ] + }, + "PolicyString":{ + "type":"string", + "max":395000, + "min":1, + "pattern":".*\\S.*" + }, + "PopulationSize":{"type":"long"}, + "PositionalConstraint":{ + "type":"string", + "enum":[ + "EXACTLY", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS", + "CONTAINS_WORD" + ] + }, + "Predicate":{ + "type":"structure", + "required":[ + "Negated", + "Type", + "DataId" + ], + "members":{ + "Negated":{ + "shape":"Negated", + "documentation":"

    Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

    Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

    " + }, + "Type":{ + "shape":"PredicateType", + "documentation":"

    The type of predicate in a Rule, such as ByteMatch or IPSet.

    " + }, + "DataId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

    " + }, + "PredicateType":{ + "type":"string", + "enum":[ + "IPMatch", + "ByteMatch", + "SqlInjectionMatch", + "GeoMatch", + "SizeConstraint", + "XssMatch", + "RegexMatch" + ] + }, + "Predicates":{ + "type":"list", + "member":{"shape":"Predicate"} + }, + "PutLoggingConfigurationRequest":{ + "type":"structure", + "required":["LoggingConfiguration"], + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

    When specifying Type in RedactedFields, you must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD.

    " + } + } + }, + "PutLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration that you submitted in the request.

    " + } + } + }, + "PutPermissionPolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

    " + }, + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The policy to attach to the specified RuleGroup.

    " + } + } + }, + "PutPermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "RateBasedRule":{ + "type":"structure", + "required":[ + "RuleId", + "MatchPredicates", + "RateKey", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

    " + }, + "MatchPredicates":{ + "shape":"Predicates", + "documentation":"

    The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a RateBasedRule.

    " + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

    The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests arriving from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A RateBasedRule is identical to a regular Rule, with one addition: a RateBasedRule counts the number of requests that arrive from a specified IP address every five minutes. For example, based on recent requests that you've seen from an attacker, you might create a RateBasedRule that includes the following conditions:

    • The requests come from 192.0.2.44.

    • They contain the value BadBot in the User-Agent header.

    In the rule, you also define the rate limit as 1,000.

    Requests that meet both of these conditions and exceed 1,000 requests every five minutes trigger the rule's action (block or count), which is defined in the web ACL.

    " + }, + "RateKey":{ + "type":"string", + "enum":["IP"] + }, + "RateLimit":{ + "type":"long", + "max":2000000000, + "min":100 + }, + "RedactedFields":{ + "type":"list", + "member":{"shape":"FieldToMatch"} + }, + "RegexMatchSet":{ + "type":"structure", + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), insert a RegexMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a RegexMatchSet from AWS WAF (see DeleteRegexMatchSet).

    RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " + }, + "RegexMatchTuples":{ + "shape":"RegexMatchTuples", + "documentation":"

    Contains an array of RegexMatchTuple objects. Each RegexMatchTuple object contains:

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetRegexMatchSet request, RegexMatchSet is a complex type that contains the RegexMatchSetId and Name of a RegexMatchSet, and the values that you specified when you updated the RegexMatchSet.

    The values are contained in a RegexMatchTuple object, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a RegexMatchSet contains more than one RegexMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

    " + }, + "RegexMatchSetSummaries":{ + "type":"list", + "member":{"shape":"RegexMatchSetSummary"} + }, + "RegexMatchSetSummary":{ + "type":"structure", + "required":[ + "RegexMatchSetId", + "Name" + ], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet, update a RegexMatchSet, remove a RegexMatchSet from a Rule, and delete a RegexMatchSet from AWS WAF.

    RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListRegexMatchSets. Each RegexMatchSetSummary object includes the Name and RegexMatchSetId for one RegexMatchSet.

    " + }, + "RegexMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "RegexMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a RegexMatchTuple.

    " + }, + "RegexMatchTuple":{ + "shape":"RegexMatchTuple", + "documentation":"

    Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify DELETE for the value of Action, the RegexMatchTuple values must exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

    " } - } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateRegexMatchSet request, RegexMatchSetUpdate specifies whether to insert or delete a RegexMatchTuple and includes the settings for the RegexMatchTuple.

    " }, - "ListWebACLsResponse":{ + "RegexMatchSetUpdates":{ + "type":"list", + "member":{"shape":"RegexMatchSetUpdate"}, + "min":1 + }, + "RegexMatchTuple":{ "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation", + "RegexPatternSetId" + ], "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

    If you have more WebACL objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more WebACL objects, submit another ListWebACLs request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for the RegexPatternSet.

    " }, - "WebACLs":{ - "shape":"WebACLSummaries", - "documentation":"

    An array of WebACLSummary objects.

    " + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on RegexPatternSet before inspecting a request for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + }, + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), insert a RegexPatternSet into a RegexMatchSet or delete one from a RegexMatchSet (see UpdateRegexMatchSet), and delete an RegexPatternSet from AWS WAF (see DeleteRegexPatternSet).

    RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " } - } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings. Each RegexMatchTuple object contains:

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    " }, - "ListXssMatchSetsRequest":{ + "RegexMatchTuples":{ + "type":"list", + "member":{"shape":"RegexMatchTuple"} + }, + "RegexPatternSet":{ "type":"structure", + "required":[ + "RegexPatternSetId", + "RegexPatternStrings" + ], "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

    If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.

    " + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

    RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " }, - "Limit":{ - "shape":"PaginationLimit", - "documentation":"

    Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " + }, + "RegexPatternStrings":{ + "shape":"RegexPatternStrings", + "documentation":"

    Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

    " } }, - "documentation":"

    A request to list the XssMatchSet objects created by the current AWS account.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    " }, - "ListXssMatchSetsResponse":{ + "RegexPatternSetSummaries":{ + "type":"list", + "member":{"shape":"RegexPatternSetSummary"} + }, + "RegexPatternSetSummary":{ "type":"structure", + "required":[ + "RegexPatternSetId", + "Name" + ], "members":{ - "NextMarker":{ - "shape":"NextMarker", - "documentation":"

    If you have more XssMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more XssMatchSet objects, submit another ListXssMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

    RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " }, - "XssMatchSets":{ - "shape":"XssMatchSetSummaries", - "documentation":"

    An array of XssMatchSetSummary objects.

    " + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " } }, - "documentation":"

    The response to a ListXssMatchSets request.

    " - }, - "MatchFieldData":{"type":"string"}, - "MatchFieldType":{ - "type":"string", - "enum":[ - "URI", - "QUERY_STRING", - "HEADER", - "METHOD", - "BODY" - ] - }, - "MetricName":{"type":"string"}, - "Negated":{"type":"boolean"}, - "NextMarker":{ - "type":"string", - "min":1 - }, - "PaginationLimit":{ - "type":"integer", - "max":100, - "min":0 - }, - "ParameterExceptionField":{ - "type":"string", - "enum":[ - "CHANGE_ACTION", - "WAF_ACTION", - "PREDICATE_TYPE", - "IPSET_TYPE", - "BYTE_MATCH_FIELD_TYPE", - "SQL_INJECTION_MATCH_FIELD_TYPE", - "BYTE_MATCH_TEXT_TRANSFORMATION", - "BYTE_MATCH_POSITIONAL_CONSTRAINT", - "SIZE_CONSTRAINT_COMPARISON_OPERATOR" - ] - }, - "ParameterExceptionParameter":{ - "type":"string", - "min":1 - }, - "ParameterExceptionReason":{ - "type":"string", - "enum":[ - "INVALID_OPTION", - "ILLEGAL_COMBINATION" - ] - }, - "PopulationSize":{"type":"long"}, - "PositionalConstraint":{ - "type":"string", - "enum":[ - "EXACTLY", - "STARTS_WITH", - "ENDS_WITH", - "CONTAINS", - "CONTAINS_WORD" - ] + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListRegexPatternSets. Each RegexPatternSetSummary object includes the Name and RegexPatternSetId for one RegexPatternSet.

    " }, - "Predicate":{ + "RegexPatternSetUpdate":{ "type":"structure", "required":[ - "Negated", - "Type", - "DataId" + "Action", + "RegexPatternString" ], "members":{ - "Negated":{ - "shape":"Negated", - "documentation":"

    Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

    Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

    " - }, - "Type":{ - "shape":"PredicateType", - "documentation":"

    The type of predicate in a Rule, such as ByteMatchSet or IPSet.

    " + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a RegexPatternString.

    " }, - "DataId":{ - "shape":"ResourceId", - "documentation":"

    A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

    " + "RegexPatternString":{ + "shape":"RegexPatternString", + "documentation":"

    Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t.

    " } }, - "documentation":"

    Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateRegexPatternSet request, RegexPatternSetUpdate specifies whether to insert or delete a RegexPatternString and includes the settings for the RegexPatternString.

    " }, - "PredicateType":{ + "RegexPatternSetUpdates":{ + "type":"list", + "member":{"shape":"RegexPatternSetUpdate"}, + "min":1 + }, + "RegexPatternString":{ "type":"string", - "enum":[ - "IPMatch", - "ByteMatch", - "SqlInjectionMatch", - "SizeConstraint", - "XssMatch" - ] + "max":512, + "min":1, + "pattern":".*" }, - "Predicates":{ + "RegexPatternStrings":{ "type":"list", - "member":{"shape":"Predicate"} + "member":{"shape":"RegexPatternString"}, + "max":10 + }, + "ResourceArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":".*\\S.*" }, "ResourceId":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":".*\\S.*" }, "ResourceName":{ "type":"string", "max":128, - "min":1 + "min":1, + "pattern":".*\\S.*" }, "Rule":{ "type":"structure", @@ -1914,13 +4089,80 @@ "shape":"ResourceName", "documentation":"

    The friendly name or description for the Rule. You can't change the name of a Rule after you create it.

    " }, - "MetricName":{"shape":"MetricName"}, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the Rule.

    " + }, "Predicates":{ "shape":"Predicates", "documentation":"

    The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

    " } }, - "documentation":"

    A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

    • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44

    • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot.

    To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

    • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44

    • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot.

    To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

    " + }, + "RuleGroup":{ + "type":"structure", + "required":["RuleGroupId"], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

    RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The friendly name or description for the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A collection of predefined rules that you can add to a web ACL.

    Rule groups are subject to the following limits:

    • Three rule groups per account. You can request an increase to this limit by contacting customer support.

    • One rule group per web ACL.

    • Ten rules per rule group.

    " + }, + "RuleGroupSummaries":{ + "type":"list", + "member":{"shape":"RuleGroupSummary"} + }, + "RuleGroupSummary":{ + "type":"structure", + "required":[ + "RuleGroupId", + "Name" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

    RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the friendly name or description of the RuleGroup.

    " + }, + "RuleGroupUpdate":{ + "type":"structure", + "required":[ + "Action", + "ActivatedRule" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove an ActivatedRule from a RuleGroup.

    " + }, + "ActivatedRule":{ + "shape":"ActivatedRule", + "documentation":"

    The ActivatedRule object specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies an ActivatedRule and indicates whether you want to add it to a RuleGroup or delete it from a RuleGroup.

    " + }, + "RuleGroupUpdates":{ + "type":"list", + "member":{"shape":"RuleGroupUpdate"}, + "min":1 }, "RulePriority":{"type":"integer"}, "RuleSummaries":{ @@ -1943,7 +4185,7 @@ "documentation":"

    A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

    " } }, - "documentation":"

    Contains the identifier and the friendly name or description of the Rule.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the friendly name or description of the Rule.

    " }, "RuleUpdate":{ "type":"structure", @@ -1961,12 +4203,22 @@ "documentation":"

    The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

    " } }, - "documentation":"

    Specifies a Predicate (such as an IPSet) and indicates whether you want to add it to a Rule or delete it from a Rule.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies a Predicate (such as an IPSet) and indicates whether you want to add it to a Rule or delete it from a Rule.

    " }, "RuleUpdates":{ "type":"list", "member":{"shape":"RuleUpdate"} }, + "S3BucketName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^aws-waf-migration-[0-9A-Za-z\\.\\-_]*" + }, + "S3ObjectUrl":{ + "type":"string", + "min":1 + }, "SampleWeight":{ "type":"long", "min":0 @@ -1993,9 +4245,13 @@ "Action":{ "shape":"Action", "documentation":"

    The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

    " + }, + "RuleWithinRuleGroup":{ + "shape":"ResourceId", + "documentation":"

    This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

    " } }, - "documentation":"

    The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

    " }, "SampledHTTPRequests":{ "type":"list", @@ -2015,10 +4271,13 @@ "Size" ], "members":{ - "FieldToMatch":{"shape":"FieldToMatch"}, + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for the size constraint.

    " + }, "TextTransformation":{ "shape":"TextTransformation", - "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

    Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    " + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    " }, "ComparisonOperator":{ "shape":"ComparisonOperator", @@ -2029,7 +4288,7 @@ "documentation":"

    The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

    If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

    " } }, - "documentation":"

    Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    " }, "SizeConstraintSet":{ "type":"structure", @@ -2051,7 +4310,7 @@ "documentation":"

    Specifies the parts of web requests that you want to inspect the size of.

    " } }, - "documentation":"

    A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

    " }, "SizeConstraintSetSummaries":{ "type":"list", @@ -2073,7 +4332,7 @@ "documentation":"

    The name of the SizeConstraintSet, if any.

    " } }, - "documentation":"

    The Id and Name of a SizeConstraintSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of a SizeConstraintSet.

    " }, "SizeConstraintSetUpdate":{ "type":"structure", @@ -2091,11 +4350,12 @@ "documentation":"

    Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    " } }, - "documentation":"

    Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet.

    " }, "SizeConstraintSetUpdates":{ "type":"list", - "member":{"shape":"SizeConstraintSetUpdate"} + "member":{"shape":"SizeConstraintSetUpdate"}, + "min":1 }, "SizeConstraints":{ "type":"list", @@ -2121,70 +4381,177 @@ "documentation":"

    Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

    " } }, - "documentation":"

    A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

    " }, "SqlInjectionMatchSetSummaries":{ "type":"list", - "member":{"shape":"SqlInjectionMatchSetSummary"} + "member":{"shape":"SqlInjectionMatchSetSummary"} + }, + "SqlInjectionMatchSetSummary":{ + "type":"structure", + "required":[ + "SqlInjectionMatchSetId", + "Name" + ], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

    SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the SqlInjectionMatchSet, if any, specified by Id.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "SqlInjectionMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchTuple":{ + "shape":"SqlInjectionMatchTuple", + "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchSetUpdates":{ + "type":"list", + "member":{"shape":"SqlInjectionMatchSetUpdate"}, + "min":1 + }, + "SqlInjectionMatchTuple":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for snippets of malicious SQL code.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + }, + "SqlInjectionMatchTuples":{ + "type":"list", + "member":{"shape":"SqlInjectionMatchTuple"} + }, + "SubscribedRuleGroupSummaries":{ + "type":"list", + "member":{"shape":"SubscribedRuleGroupSummary"} }, - "SqlInjectionMatchSetSummary":{ + "SubscribedRuleGroupSummary":{ "type":"structure", "required":[ - "SqlInjectionMatchSetId", - "Name" + "RuleGroupId", + "Name", + "MetricName" ], "members":{ - "SqlInjectionMatchSetId":{ + "RuleGroupId":{ "shape":"ResourceId", - "documentation":"

    A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

    SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + "documentation":"

    A unique identifier for a RuleGroup.

    " }, "Name":{ "shape":"ResourceName", - "documentation":"

    The name of the SqlInjectionMatchSet, if any, specified by Id.

    " + "documentation":"

    A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " } }, - "documentation":"

    The Id and Name of a SqlInjectionMatchSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A summary of the rule groups you are subscribed to.

    " }, - "SqlInjectionMatchSetUpdate":{ + "Tag":{ "type":"structure", "required":[ - "Action", - "SqlInjectionMatchTuple" + "Key", + "Value" ], "members":{ - "Action":{ - "shape":"ChangeAction", - "documentation":"

    Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

    " + "Key":{ + "shape":"TagKey", + "documentation":"

    " }, - "SqlInjectionMatchTuple":{ - "shape":"SqlInjectionMatchTuple", - "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + "Value":{ + "shape":"TagValue", + "documentation":"

    " } }, - "documentation":"

    Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " }, - "SqlInjectionMatchSetUpdates":{ + "TagInfoForResource":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "TagList":{ + "shape":"TagList", + "documentation":"

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Information for a tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "TagKeyList":{ "type":"list", - "member":{"shape":"SqlInjectionMatchSetUpdate"} + "member":{"shape":"TagKey"}, + "min":1 }, - "SqlInjectionMatchTuple":{ + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "min":1 + }, + "TagResourceRequest":{ "type":"structure", "required":[ - "FieldToMatch", - "TextTransformation" + "ResourceARN", + "Tags" ], "members":{ - "FieldToMatch":{"shape":"FieldToMatch"}, - "TextTransformation":{ - "shape":"TextTransformation", - "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " } - }, - "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + } }, - "SqlInjectionMatchTuples":{ - "type":"list", - "member":{"shape":"SqlInjectionMatchTuple"} + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":".*" }, "TextTransformation":{ "type":"string", @@ -2206,17 +4573,39 @@ "members":{ "StartTime":{ "shape":"Timestamp", - "documentation":"

    The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.

    " + "documentation":"

    The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " }, "EndTime":{ "shape":"Timestamp", - "documentation":"

    The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You can specify any time range in the previous three hours.

    " + "documentation":"

    The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " } }, - "documentation":"

    In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

    In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

    You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\".

    In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

    " }, "Timestamp":{"type":"timestamp"}, "URIString":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateByteMatchSetRequest":{ "type":"structure", "required":[ @@ -2248,6 +4637,37 @@ } } }, + "UpdateGeoMatchSetRequest":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"GeoMatchSetUpdates", + "documentation":"

    An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types:

    • GeoMatchSetUpdate: Contains Action and GeoMatchConstraint

    • GeoMatchConstraint: Contains Type and Value

      You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request.

    " + } + } + }, + "UpdateGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, "UpdateIPSetRequest":{ "type":"structure", "required":[ @@ -2266,7 +4686,7 @@ }, "Updates":{ "shape":"IPSetUpdates", - "documentation":"

    An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

    " + "documentation":"

    An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

    You can insert a maximum of 1000 addresses in a single request.

    " } } }, @@ -2279,6 +4699,135 @@ } } }, + "UpdateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken", + "Updates", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"RuleUpdates", + "documentation":"

    An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " + } + } + }, + "UpdateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRegexMatchSetRequest":{ + "type":"structure", + "required":[ + "RegexMatchSetId", + "Updates", + "ChangeToken" + ], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Updates":{ + "shape":"RegexMatchSetUpdates", + "documentation":"

    An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "RegexPatternSetId", + "Updates", + "ChangeToken" + ], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "Updates":{ + "shape":"RegexPatternSetUpdates", + "documentation":"

    An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRuleGroupRequest":{ + "type":"structure", + "required":[ + "RuleGroupId", + "Updates", + "ChangeToken" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Updates":{ + "shape":"RuleGroupUpdates", + "documentation":"

    An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup.

    You can only insert REGULAR rules into a rule group.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRuleGroupResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, "UpdateRuleRequest":{ "type":"structure", "required":[ @@ -2391,9 +4940,12 @@ }, "Updates":{ "shape":"WebACLUpdates", - "documentation":"

    An array of updates to make to the WebACL.

    An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

    " + "documentation":"

    An array of updates to make to the WebACL.

    An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

    • WebACLUpdate: Contains Action and ActivatedRule

    • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    • WafAction: Contains Type

    " }, - "DefaultAction":{"shape":"WafAction"} + "DefaultAction":{ + "shape":"WafAction", + "documentation":"

    A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.

    " + } } }, "UpdateWebACLResponse":{ @@ -2423,7 +4975,7 @@ }, "Updates":{ "shape":"XssMatchSetUpdates", - "documentation":"

    An array of XssMatchSetUpdate objects that you want to insert into or delete from a XssMatchSet. For more information, see the applicable data types:

    " + "documentation":"

    An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types:

    " } }, "documentation":"

    A request to update an XssMatchSet.

    " @@ -2438,6 +4990,14 @@ }, "documentation":"

    The response to an UpdateXssMatchSets request.

    " }, + "WAFBadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true + }, "WAFDisallowedNameException":{ "type":"structure", "members":{ @@ -2446,6 +5006,16 @@ "documentation":"

    The name specified is invalid.

    ", "exception":true }, + "WAFEntityMigrationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"}, + "MigrationErrorType":{"shape":"MigrationErrorType"}, + "MigrationErrorReason":{"shape":"ErrorReason"} + }, + "documentation":"

    The operation failed due to a problem with the migration. The failure cause is provided in the exception, in the MigrationErrorType:

    • ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the IgnoreUnsupportedType is not set to true.

    • ENTITY_NOT_FOUND - The web ACL doesn't exist.

    • S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject action to the specified Amazon S3 bucket.

    • S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to perform the PutObject action in the bucket.

    • S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.

    • S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as the web ACL.

    • S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3 bucket for another reason.

    ", + "exception":true + }, "WAFInternalErrorException":{ "type":"structure", "members":{ @@ -2467,7 +5037,7 @@ "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

    The operation failed because there was nothing to do. For example:

    • You tried to remove a Rule from a WebACL, but the Rule isn't in the specified WebACL.

    • You tried to remove an IP address from an IPSet, but the IP address isn't in the specified IPSet.

    • You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple isn't in the specified WebACL.

    • You tried to add a Rule to a WebACL, but the Rule already exists in the specified WebACL.

    • You tried to add an IP address to an IPSet, but the IP address already exists in the specified IPSet.

    • You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple already exists in the specified WebACL.

    ", + "documentation":"

    The operation failed because there was nothing to do. For example:

    • You tried to remove a Rule from a WebACL, but the Rule isn't in the specified WebACL.

    • You tried to remove an IP address from an IPSet, but the IP address isn't in the specified IPSet.

    • You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple isn't in the specified WebACL.

    • You tried to add a Rule to a WebACL, but the Rule already exists in the specified WebACL.

    • You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple already exists in the specified WebACL.

    ", "exception":true }, "WAFInvalidParameterException":{ @@ -2477,7 +5047,23 @@ "parameter":{"shape":"ParameterExceptionParameter"}, "reason":{"shape":"ParameterExceptionReason"} }, - "documentation":"

    The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

    • You specified an invalid parameter name.

    • You specified an invalid value.

    • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

    • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, QUERY_STRING, or URI.

    • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

    ", + "documentation":"

    The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

    • You specified an invalid parameter name.

    • You specified an invalid value.

    • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

    • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to create a RateBasedRule with a RateKey value other than IP.

    • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, METHOD, QUERY_STRING, URI, or BODY.

    • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

    • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

    ", + "exception":true + }, + "WAFInvalidPermissionPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because the specified policy is not in the proper format.

    The policy is subject to the following restrictions:

    • You can attach only one policy with each PutPermissionPolicy request.

    • The policy must include an Effect, Action and Principal.

    • Effect must specify Allow.

    • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

    • The policy cannot include a Resource parameter.

    • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

    • The user making the request must be the owner of the RuleGroup.

    • Your policy must be composed using IAM Policy version 2012-10-17.

    ", + "exception":true + }, + "WAFInvalidRegexPatternException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The regular expression (regex) you specified in RegexPatternString is invalid.

    ", "exception":true }, "WAFLimitsExceededException":{ @@ -2485,7 +5071,7 @@ "members":{ "message":{"shape":"errorMessage"} }, - "documentation":"

    The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

    ", + "documentation":"

    The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

    ", "exception":true }, "WAFNonEmptyEntityException":{ @@ -2520,6 +5106,14 @@ "documentation":"

    The operation failed because you tried to delete an object that is still in use. For example:

    • You tried to delete a ByteMatchSet that is still referenced by a Rule.

    • You tried to delete a Rule that is still referenced by a WebACL.

    ", "exception":true }, + "WAFServiceLinkedRoleErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    AWS WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

    ", + "exception":true + }, "WAFStaleDataException":{ "type":"structure", "members":{ @@ -2528,6 +5122,31 @@ "documentation":"

    The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

    ", "exception":true }, + "WAFSubscriptionNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The specified subscription does not exist.

    ", + "exception":true + }, + "WAFTagOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "WAFTagOperationInternalErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true, + "fault":true + }, "WafAction":{ "type":"structure", "required":["Type"], @@ -2537,7 +5156,7 @@ "documentation":"

    Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

    • ALLOW: AWS WAF allows requests

    • BLOCK: AWS WAF blocks requests

    • COUNT: AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.

    " } }, - "documentation":"

    For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

    " }, "WafActionType":{ "type":"string", @@ -2547,6 +5166,32 @@ "COUNT" ] }, + "WafOverrideAction":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"WafOverrideActionType", + "documentation":"

    COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action will take place.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The action to take if any rule within the RuleGroup matches a request.

    " + }, + "WafOverrideActionType":{ + "type":"string", + "enum":[ + "NONE", + "COUNT" + ] + }, + "WafRuleType":{ + "type":"string", + "enum":[ + "REGULAR", + "RATE_BASED", + "GROUP" + ] + }, "WebACL":{ "type":"structure", "required":[ @@ -2563,7 +5208,10 @@ "shape":"ResourceName", "documentation":"

    A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

    " }, - "MetricName":{"shape":"MetricName"}, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

    " + }, "DefaultAction":{ "shape":"WafAction", "documentation":"

    The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

    " @@ -2571,9 +5219,13 @@ "Rules":{ "shape":"ActivatedRules", "documentation":"

    An array that contains the action for each Rule in a WebACL, the priority of the Rule, and the ID of the Rule.

    " + }, + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

    Tha Amazon Resource Name (ARN) of the web ACL.

    " } }, - "documentation":"

    Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

    " }, "WebACLSummaries":{ "type":"list", @@ -2595,7 +5247,7 @@ "documentation":"

    A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

    " } }, - "documentation":"

    Contains the identifier and the name or description of the WebACL.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name or description of the WebACL.

    " }, "WebACLUpdate":{ "type":"structure", @@ -2608,9 +5260,12 @@ "shape":"ChangeAction", "documentation":"

    Specifies whether to insert a Rule into or delete a Rule from a WebACL.

    " }, - "ActivatedRule":{"shape":"ActivatedRule"} + "ActivatedRule":{ + "shape":"ActivatedRule", + "documentation":"

    The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    " + } }, - "documentation":"

    Specifies whether to insert a Rule into or delete a Rule from a WebACL.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies whether to insert a Rule into or delete a Rule from a WebACL.

    " }, "WebACLUpdates":{ "type":"list", @@ -2636,7 +5291,7 @@ "documentation":"

    Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

    " } }, - "documentation":"

    A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

    " }, "XssMatchSetSummaries":{ "type":"list", @@ -2658,7 +5313,7 @@ "documentation":"

    The name of the XssMatchSet, if any, specified by Id.

    " } }, - "documentation":"

    The Id and Name of an XssMatchSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of an XssMatchSet.

    " }, "XssMatchSetUpdate":{ "type":"structure", @@ -2669,18 +5324,19 @@ "members":{ "Action":{ "shape":"ChangeAction", - "documentation":"

    Specify INSERT to add a XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove a XssMatchSetUpdate from an XssMatchSet.

    " + "documentation":"

    Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove an XssMatchSetUpdate from an XssMatchSet.

    " }, "XssMatchTuple":{ "shape":"XssMatchTuple", "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

    " } }, - "documentation":"

    Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet.

    " }, "XssMatchSetUpdates":{ "type":"list", - "member":{"shape":"XssMatchSetUpdate"} + "member":{"shape":"XssMatchSetUpdate"}, + "min":1 }, "XssMatchTuple":{ "type":"structure", @@ -2689,13 +5345,16 @@ "TextTransformation" ], "members":{ - "FieldToMatch":{"shape":"FieldToMatch"}, + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for cross-site scripting attacks.

    " + }, "TextTransformation":{ "shape":"TextTransformation", - "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting a request for a match.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " } }, - "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

    " }, "XssMatchTuples":{ "type":"list", @@ -2703,5 +5362,5 @@ }, "errorMessage":{"type":"string"} }, - "documentation":"

    This is the AWS WAF API Reference. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the AWS WAF Developer Guide.

    " + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    This is the AWS WAF Classic API Reference for using AWS WAF Classic with Amazon CloudFront. The AWS WAF Classic actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint waf.amazonaws.com. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the AWS WAF Classic in the developer guide.

    " } diff -Nru python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/examples-1.json python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/examples-1.json --- python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1017 @@ +{ + "version": "1.0", + "examples": { + "CreateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an IP match set named MyIPSetFriendlyName.", + "id": "createipset-1472501003122", + "title": "To create an IP set" + } + ], + "CreateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "WAFRule-1-Example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a rule named WAFByteHeaderRule.", + "id": "createrule-1474072675555", + "title": "To create a rule" + } + ], + "CreateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleSizeConstraintSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates size constraint set named MySampleSizeConstraintSet.", + "id": "createsizeconstraint-1474299140754", + "title": "To create a size constraint" + } + ], + "CreateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySQLInjectionMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a SQL injection match set named MySQLInjectionMatchSet.", + "id": "createsqlinjectionmatchset-1474492796105", + "title": "To create a SQL injection match set" + } + ], + "CreateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "example-46da-4444-5555-example" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates a web ACL named CreateExample.", + "id": "createwebacl-1472061481310", + "title": "To create a web ACL" + } + ], + "CreateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MySampleXssMatchSet" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example creates an XSS match set named MySampleXssMatchSet.", + "id": "createxssmatchset-1474560868500", + "title": "To create an XSS match set" + } + ], + "DeleteByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletebytematchset-1473367566229", + "title": "To delete a byte match set" + } + ], + "DeleteIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deleteipset-1472767434306", + "title": "To delete an IP set" + } + ], + "DeleteRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "WAFRule-1-Example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a rule with the ID WAFRule-1-Example.", + "id": "deleterule-1474073108749", + "title": "To delete a rule" + } + ], + "DeleteSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesizeconstraintset-1474299857905", + "title": "To delete a size constraint set" + } + ], + "DeleteSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletesqlinjectionmatchset-1474493373197", + "title": "To delete a SQL injection match set" + } + ], + "DeleteWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "WebACLId": "example-46da-4444-5555-example" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a web ACL with the ID example-46da-4444-5555-example.", + "id": "deletewebacl-1472767755931", + "title": "To delete a web ACL" + } + ], + "DeleteXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "deletexssmatchset-1474561302618", + "title": "To delete an XSS match set" + } + ], + "GetByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ByteMatchSet": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ByteMatchTuples": [ + { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + ], + "Name": "ByteMatchNameExample" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getbytematchset-1473273311532", + "title": "To get a byte match set" + } + ], + "GetChangeToken": [ + { + "input": { + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns a change token to use for a create, update or delete operation.", + "id": "get-change-token-example-1471635120794", + "title": "To get a change token" + } + ], + "GetChangeTokenStatus": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "output": { + "ChangeTokenStatus": "PENDING" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the status of a change token with the ID abcd12f2-46da-4fdb-b8d5-fbd4c466928f.", + "id": "getchangetokenstatus-1474658417107", + "title": "To get the change token status" + } + ], + "GetIPSet": [ + { + "input": { + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "IPSet": { + "IPSetDescriptors": [ + { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + ], + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Name": "MyIPSetFriendlyName" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getipset-1474658688675", + "title": "To get an IP set" + } + ], + "GetRule": [ + { + "input": { + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "Rule": { + "MetricName": "WAFByteHeaderRule", + "Name": "WAFByteHeaderRule", + "Predicates": [ + { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + ], + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getrule-1474659238790", + "title": "To get a rule" + } + ], + "GetSampledRequests": [ + { + "input": { + "MaxItems": 100, + "RuleId": "WAFRule-1-Example", + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T15:50Z" + }, + "WebAclId": "createwebacl-1472061481310" + }, + "output": { + "PopulationSize": 50, + "SampledRequests": [ + { + "Action": "BLOCK", + "Request": { + "ClientIP": "192.0.2.44", + "Country": "US", + "HTTPVersion": "HTTP/1.1", + "Headers": [ + { + "Name": "User-Agent", + "Value": "BadBot " + } + ], + "Method": "HEAD" + }, + "Timestamp": "2016-09-27T14:55Z", + "Weight": 1 + } + ], + "TimeWindow": { + "EndTime": "2016-09-27T15:50Z", + "StartTime": "2016-09-27T14:50Z" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns detailed information about 100 requests --a sample-- that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received between the time period 2016-09-27T15:50Z to 2016-09-27T15:50Z.", + "id": "getsampledrequests-1474927997195", + "title": "To get a sampled requests" + } + ], + "GetSizeConstraintSet": [ + { + "input": { + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SizeConstraintSet": { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SizeConstraints": [ + { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a size constraint match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsizeconstraintset-1475005422493", + "title": "To get a size constraint set" + } + ], + "GetSqlInjectionMatchSet": [ + { + "input": { + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "SqlInjectionMatchSet": { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "SqlInjectionMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getsqlinjectionmatchset-1475005940137", + "title": "To get a SQL injection match set" + } + ], + "GetWebACL": [ + { + "input": { + "WebACLId": "createwebacl-1472061481310" + }, + "output": { + "WebACL": { + "DefaultAction": { + "Type": "ALLOW" + }, + "MetricName": "CreateExample", + "Name": "CreateExample", + "Rules": [ + { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + ], + "WebACLId": "createwebacl-1472061481310" + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of a web ACL with the ID createwebacl-1472061481310.", + "id": "getwebacl-1475006348525", + "title": "To get a web ACL" + } + ], + "GetXssMatchSet": [ + { + "input": { + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "XssMatchSet": { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "XssMatchTuples": [ + { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + ] + } + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns the details of an XSS match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "getxssmatchset-1475187879017", + "title": "To get an XSS match set" + } + ], + "ListIPSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "IPSets": [ + { + "IPSetId": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Name": "MyIPSetFriendlyName" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 IP match sets.", + "id": "listipsets-1472235676229", + "title": "To list IP sets" + } + ], + "ListRules": [ + { + "input": { + "Limit": 100 + }, + "output": { + "Rules": [ + { + "Name": "WAFByteHeaderRule", + "RuleId": "WAFRule-1-Example" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 rules.", + "id": "listrules-1475258406433", + "title": "To list rules" + } + ], + "ListSizeConstraintSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SizeConstraintSets": [ + { + "Name": "MySampleSizeConstraintSet", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 size contraint match sets.", + "id": "listsizeconstraintsets-1474300067597", + "title": "To list a size constraint sets" + } + ], + "ListSqlInjectionMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "SqlInjectionMatchSets": [ + { + "Name": "MySQLInjectionMatchSet", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 SQL injection match sets.", + "id": "listsqlinjectionmatchset-1474493560103", + "title": "To list SQL injection match sets" + } + ], + "ListWebACLs": [ + { + "input": { + "Limit": 100 + }, + "output": { + "WebACLs": [ + { + "Name": "WebACLexample", + "WebACLId": "webacl-1472061481310" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 web ACLs.", + "id": "listwebacls-1475258732691", + "title": "To list Web ACLs" + } + ], + "ListXssMatchSets": [ + { + "input": { + "Limit": 100 + }, + "output": { + "XssMatchSets": [ + { + "Name": "MySampleXssMatchSet", + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + } + ] + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example returns an array of up to 100 XSS match sets.", + "id": "listxssmatchsets-1474561481168", + "title": "To list XSS match sets" + } + ], + "UpdateByteMatchSet": [ + { + "input": { + "ByteMatchSetId": "exampleIDs3t-46da-4fdb-b8d5-abc321j569j5", + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "ByteMatchTuple": { + "FieldToMatch": { + "Data": "referer", + "Type": "HEADER" + }, + "PositionalConstraint": "CONTAINS", + "TargetString": "badrefer1", + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a ByteMatchTuple object (filters) in an byte match set with the ID exampleIDs3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatebytematchset-1475259074558", + "title": "To update a byte match set" + } + ], + "UpdateIPSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "IPSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "IPSetDescriptor": { + "Type": "IPV4", + "Value": "192.0.2.44/32" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updateipset-1475259733625", + "title": "To update an IP set" + } + ], + "UpdateRule": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "RuleId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "Predicate": { + "DataId": "MyByteMatchSetID", + "Negated": false, + "Type": "ByteMatch" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a Predicate object in a rule with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updaterule-1475260064720", + "title": "To update a rule" + } + ], + "UpdateSizeConstraintSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SizeConstraintSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SizeConstraint": { + "ComparisonOperator": "GT", + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "Size": 0, + "TextTransformation": "NONE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SizeConstraint object (filters) in a size constraint set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesizeconstraintset-1475531697891", + "title": "To update a size constraint set" + } + ], + "UpdateSqlInjectionMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "SqlInjectionMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5", + "Updates": [ + { + "Action": "DELETE", + "SqlInjectionMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ] + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes a SqlInjectionMatchTuple object (filters) in a SQL injection match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatesqlinjectionmatchset-1475532094686", + "title": "To update a SQL injection match set" + } + ], + "UpdateWebACL": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "DefaultAction": { + "Type": "ALLOW" + }, + "Updates": [ + { + "Action": "DELETE", + "ActivatedRule": { + "Action": { + "Type": "ALLOW" + }, + "Priority": 1, + "RuleId": "WAFRule-1-Example" + } + } + ], + "WebACLId": "webacl-1472061481310" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an ActivatedRule object in a WebACL with the ID webacl-1472061481310.", + "id": "updatewebacl-1475533627385", + "title": "To update a Web ACL" + } + ], + "UpdateXssMatchSet": [ + { + "input": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", + "Updates": [ + { + "Action": "DELETE", + "XssMatchTuple": { + "FieldToMatch": { + "Type": "QUERY_STRING" + }, + "TextTransformation": "URL_DECODE" + } + } + ], + "XssMatchSetId": "example1ds3t-46da-4fdb-b8d5-abc321j569j5" + }, + "output": { + "ChangeToken": "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" + }, + "comments": { + "input": { + }, + "output": { + } + }, + "description": "The following example deletes an XssMatchTuple object (filters) in an XssMatchSet with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5.", + "id": "updatexssmatchset-1475534098881", + "title": "To update an XSS match set" + } + ] + } +} diff -Nru python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/paginators-1.json python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/paginators-1.json --- python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/service-2.json python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/service-2.json --- python-botocore-1.4.70/botocore/data/waf-regional/2016-11-28/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/waf-regional/2016-11-28/service-2.json 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,5530 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-11-28", + "endpointPrefix":"waf-regional", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"WAF Regional", + "serviceFullName":"AWS WAF Regional", + "serviceId":"WAF Regional", + "signatureVersion":"v4", + "targetPrefix":"AWSWAF_Regional_20161128", + "uid":"waf-regional-2016-11-28" + }, + "operations":{ + "AssociateWebACL":{ + "name":"AssociateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateWebACLRequest"}, + "output":{"shape":"AssociateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFUnavailableEntityException"} + ], + "documentation":"

    This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage.

    " + }, + "CreateByteMatchSet":{ + "name":"CreateByteMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateByteMatchSetRequest"}, + "output":{"shape":"CreateByteMatchSetResponse"}, + "errors":[ + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a ByteMatchSet that matches any requests with User-Agent headers that contain the string BadBot. You can then configure AWS WAF to reject those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateByteMatchSet request.

    2. Submit a CreateByteMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    4. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateGeoMatchSet":{ + "name":"CreateGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGeoMatchSetRequest"}, + "output":{"shape":"CreateGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

    To create and configure a GeoMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateGeoMatchSet request.

    2. Submit a CreateGeoMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

    4. Submit an UpdateGeoMatchSetSet request to specify the countries that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateIPSet":{ + "name":"CreateIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIPSetRequest"}, + "output":{"shape":"CreateIPSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can create an IPSet that contains those IP addresses and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateIPSet request.

    2. Submit a CreateIPSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    4. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRateBasedRule":{ + "name":"CreateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRateBasedRuleRequest"}, + "output":{"shape":"CreateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RateBasedRule. The RateBasedRule contains a RateLimit, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The RateBasedRule also contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to count or block if these requests exceed the RateLimit.

    If you add more than one predicate to a RateBasedRule, a request not only must exceed the RateLimit, but it also must match all the conditions to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    Further, you specify a RateLimit of 1,000.

    You then add the RateBasedRule to a WebACL and specify that you want to block requests that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions must be received at a rate of more than 1,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the requests.

    As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

    • A ByteMatchSet with FieldToMatch of URI

    • A PositionalConstraint of STARTS_WITH

    • A TargetString of login

    Further, you specify a RateLimit of 1,000.

    By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

    To create and configure a RateBasedRule, perform the following steps:

    1. Create and update the predicates that you want to include in the rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

    3. Submit a CreateRateBasedRule request.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    5. Submit an UpdateRateBasedRule request to specify the predicates that you want to include in the rule.

    6. Create and update a WebACL that contains the RateBasedRule. For more information, see CreateWebACL.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRegexMatchSet":{ + "name":"CreateRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRegexMatchSetRequest"}, + "output":{"shape":"CreateRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want AWS WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexMatchSet request.

    2. Submit a CreateRegexMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

    4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value, using a RegexPatternSet, that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRegexPatternSet":{ + "name":"CreateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRegexPatternSetRequest"}, + "output":{"shape":"CreateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RegexPatternSet. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexPatternSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRegexPatternSet request.

    2. Submit a CreateRegexPatternSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

    4. Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRule":{ + "name":"CreateRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleRequest"}, + "output":{"shape":"CreateRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a Rule, which contains the IPSet objects, ByteMatchSet objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a Rule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    You then add the Rule to a WebACL and specify that you want to blocks requests that satisfy the Rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule. For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateRule request.

    3. Submit a CreateRule request.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    5. Submit an UpdateRule request to specify the predicates that you want to include in the Rule.

    6. Create and update a WebACL that contains the Rule. For more information, see CreateWebACL.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateRuleGroup":{ + "name":"CreateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleGroupRequest"}, + "output":{"shape":"CreateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a RuleGroup. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.

    Rule groups are subject to the following limits:

    • Three rule groups per account. You can request an increase to this limit by contacting customer support.

    • One rule group per web ACL.

    • Ten rules per rule group.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateSizeConstraintSet":{ + "name":"CreateSizeConstraintSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSizeConstraintSetRequest"}, + "output":{"shape":"CreateSizeConstraintSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSizeConstraintSet request.

    2. Submit a CreateSizeConstraintSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    4. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateSqlInjectionMatchSet":{ + "name":"CreateSqlInjectionMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSqlInjectionMatchSetRequest"}, + "output":{"shape":"CreateSqlInjectionMatchSetResponse"}, + "errors":[ + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateSqlInjectionMatchSet request.

    2. Submit a CreateSqlInjectionMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSqlInjectionMatchSet request.

    4. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "CreateWebACL":{ + "name":"CreateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebACLRequest"}, + "output":{"shape":"CreateWebACLResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFBadRequestException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates a WebACL, which contains the Rules that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates Rules in order based on the value of Priority for each Rule.

    You also specify a default action, either ALLOW or BLOCK. If a web request doesn't match any of the Rules in a WebACL, AWS WAF responds to the request with the default action.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the ByteMatchSet objects and other predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateWebACL request.

    4. Submit a CreateWebACL request.

    5. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    6. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

    For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.

    " + }, + "CreateWebACLMigrationStack":{ + "name":"CreateWebACLMigrationStack", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebACLMigrationStackRequest"}, + "output":{"shape":"CreateWebACLMigrationStackResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFEntityMigrationException"} + ], + "documentation":"

    Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the template, to create the web ACL and its resources in AWS WAFV2. Use this to migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.

    This is part of a larger migration procedure for web ACLs from AWS WAF Classic to the latest version of AWS WAF. For the full procedure, including caveats and manual steps to complete the migration and switch over to the new web ACL, see Migrating your AWS WAF Classic resources to AWS WAF in the AWS WAF Developer Guide.

    " + }, + "CreateXssMatchSet":{ + "name":"CreateXssMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateXssMatchSetRequest"}, + "output":{"shape":"CreateXssMatchSetResponse"}, + "errors":[ + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.

    To create and configure an XssMatchSet, perform the following steps:

    1. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a CreateXssMatchSet request.

    2. Submit a CreateXssMatchSet request.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateXssMatchSet request.

    4. Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow, block, or count cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "DeleteByteMatchSet":{ + "name":"DeleteByteMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteByteMatchSetRequest"}, + "output":{"shape":"DeleteByteMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet if it's still used in any Rules or if it still includes any ByteMatchTuple objects (any filters).

    If you just want to remove a ByteMatchSet from a Rule, use UpdateRule.

    To permanently delete a ByteMatchSet, perform the following steps:

    1. Update the ByteMatchSet to remove filters, if any. For more information, see UpdateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteByteMatchSet request.

    3. Submit a DeleteByteMatchSet request.

    " + }, + "DeleteGeoMatchSet":{ + "name":"DeleteGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGeoMatchSetRequest"}, + "output":{"shape":"DeleteGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet if it's still used in any Rules or if it still includes any countries.

    If you just want to remove a GeoMatchSet from a Rule, use UpdateRule.

    To permanently delete a GeoMatchSet from AWS WAF, perform the following steps:

    1. Update the GeoMatchSet to remove any countries. For more information, see UpdateGeoMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteGeoMatchSet request.

    3. Submit a DeleteGeoMatchSet request.

    " + }, + "DeleteIPSet":{ + "name":"DeleteIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIPSetRequest"}, + "output":{"shape":"DeleteIPSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an IPSet. You can't delete an IPSet if it's still used in any Rules or if it still includes any IP addresses.

    If you just want to remove an IPSet from a Rule, use UpdateRule.

    To permanently delete an IPSet from AWS WAF, perform the following steps:

    1. Update the IPSet to remove IP address ranges, if any. For more information, see UpdateIPSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteIPSet request.

    3. Submit a DeleteIPSet request.

    " + }, + "DeleteLoggingConfiguration":{ + "name":"DeleteLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLoggingConfigurationRequest"}, + "output":{"shape":"DeleteLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes the LoggingConfiguration from the specified web ACL.

    " + }, + "DeletePermissionPolicy":{ + "name":"DeletePermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionPolicyRequest"}, + "output":{"shape":"DeletePermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an IAM policy from the specified RuleGroup.

    The user making the request must be the owner of the RuleGroup.

    " + }, + "DeleteRateBasedRule":{ + "name":"DeleteRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRateBasedRuleRequest"}, + "output":{"shape":"DeleteRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

    If you just want to remove a rule from a WebACL, use UpdateWebACL.

    To permanently delete a RateBasedRule from AWS WAF, perform the following steps:

    1. Update the RateBasedRule to remove predicates, if any. For more information, see UpdateRateBasedRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRateBasedRule request.

    3. Submit a DeleteRateBasedRule request.

    " + }, + "DeleteRegexMatchSet":{ + "name":"DeleteRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRegexMatchSetRequest"}, + "output":{"shape":"DeleteRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet if it's still used in any Rules or if it still includes any RegexMatchTuples objects (any filters).

    If you just want to remove a RegexMatchSet from a Rule, use UpdateRule.

    To permanently delete a RegexMatchSet, perform the following steps:

    1. Update the RegexMatchSet to remove filters, if any. For more information, see UpdateRegexMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRegexMatchSet request.

    3. Submit a DeleteRegexMatchSet request.

    " + }, + "DeleteRegexPatternSet":{ + "name":"DeleteRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRegexPatternSetRequest"}, + "output":{"shape":"DeleteRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet if it's still used in any RegexMatchSet or if the RegexPatternSet is not empty.

    " + }, + "DeleteRule":{ + "name":"DeleteRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleRequest"}, + "output":{"shape":"DeleteRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL objects or if it still includes any predicates, such as ByteMatchSet objects.

    If you just want to remove a Rule from a WebACL, use UpdateWebACL.

    To permanently delete a Rule from AWS WAF, perform the following steps:

    1. Update the Rule to remove predicates, if any. For more information, see UpdateRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRule request.

    3. Submit a DeleteRule request.

    " + }, + "DeleteRuleGroup":{ + "name":"DeleteRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleGroupRequest"}, + "output":{"shape":"DeleteRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a RuleGroup. You can't delete a RuleGroup if it's still used in any WebACL objects or if it still includes any rules.

    If you just want to remove a RuleGroup from a WebACL, use UpdateWebACL.

    To permanently delete a RuleGroup from AWS WAF, perform the following steps:

    1. Update the RuleGroup to remove rules, if any. For more information, see UpdateRuleGroup.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteRuleGroup request.

    3. Submit a DeleteRuleGroup request.

    " + }, + "DeleteSizeConstraintSet":{ + "name":"DeleteSizeConstraintSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSizeConstraintSetRequest"}, + "output":{"shape":"DeleteSizeConstraintSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet if it's still used in any Rules or if it still includes any SizeConstraint objects (any filters).

    If you just want to remove a SizeConstraintSet from a Rule, use UpdateRule.

    To permanently delete a SizeConstraintSet, perform the following steps:

    1. Update the SizeConstraintSet to remove filters, if any. For more information, see UpdateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSizeConstraintSet request.

    3. Submit a DeleteSizeConstraintSet request.

    " + }, + "DeleteSqlInjectionMatchSet":{ + "name":"DeleteSqlInjectionMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSqlInjectionMatchSetRequest"}, + "output":{"shape":"DeleteSqlInjectionMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple objects.

    If you just want to remove a SqlInjectionMatchSet from a Rule, use UpdateRule.

    To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the following steps:

    1. Update the SqlInjectionMatchSet to remove filters, if any. For more information, see UpdateSqlInjectionMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteSqlInjectionMatchSet request.

    3. Submit a DeleteSqlInjectionMatchSet request.

    " + }, + "DeleteWebACL":{ + "name":"DeleteWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebACLRequest"}, + "output":{"shape":"DeleteWebACLResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFNonEmptyEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes a WebACL. You can't delete a WebACL if it still contains any Rules.

    To delete a WebACL, perform the following steps:

    1. Update the WebACL to remove Rules, if any. For more information, see UpdateWebACL.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteWebACL request.

    3. Submit a DeleteWebACL request.

    " + }, + "DeleteXssMatchSet":{ + "name":"DeleteXssMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteXssMatchSetRequest"}, + "output":{"shape":"DeleteXssMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonEmptyEntityException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Permanently deletes an XssMatchSet. You can't delete an XssMatchSet if it's still used in any Rules or if it still contains any XssMatchTuple objects.

    If you just want to remove an XssMatchSet from a Rule, use UpdateRule.

    To permanently delete an XssMatchSet from AWS WAF, perform the following steps:

    1. Update the XssMatchSet to remove filters, if any. For more information, see UpdateXssMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a DeleteXssMatchSet request.

    3. Submit a DeleteXssMatchSet request.

    " + }, + "DisassociateWebACL":{ + "name":"DisassociateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateWebACLRequest"}, + "output":{"shape":"DisassociateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Removes a web ACL from the specified resource, either an application load balancer or Amazon API Gateway stage.

    " + }, + "GetByteMatchSet":{ + "name":"GetByteMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetByteMatchSetRequest"}, + "output":{"shape":"GetByteMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the ByteMatchSet specified by ByteMatchSetId.

    " + }, + "GetChangeToken":{ + "name":"GetChangeToken", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetChangeTokenRequest"}, + "output":{"shape":"GetChangeTokenResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.

    Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken request and then submits a second GetChangeToken request before submitting a create, update, or delete request, the second GetChangeToken request returns the same value as the first GetChangeToken request.

    When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus to determine the status of your change token.

    " + }, + "GetChangeTokenStatus":{ + "name":"GetChangeTokenStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetChangeTokenStatusRequest"}, + "output":{"shape":"GetChangeTokenStatusResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the status of a ChangeToken that you got by calling GetChangeToken. ChangeTokenStatus is one of the following values:

    • PROVISIONED: You requested the change token by calling GetChangeToken, but you haven't used it yet in a call to create, update, or delete an AWS WAF object.

    • PENDING: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.

    • INSYNC: Propagation is complete.

    " + }, + "GetGeoMatchSet":{ + "name":"GetGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetGeoMatchSetRequest"}, + "output":{"shape":"GetGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the GeoMatchSet that is specified by GeoMatchSetId.

    " + }, + "GetIPSet":{ + "name":"GetIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIPSetRequest"}, + "output":{"shape":"GetIPSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the IPSet that is specified by IPSetId.

    " + }, + "GetLoggingConfiguration":{ + "name":"GetLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoggingConfigurationRequest"}, + "output":{"shape":"GetLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the LoggingConfiguration for the specified web ACL.

    " + }, + "GetPermissionPolicy":{ + "name":"GetPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPermissionPolicyRequest"}, + "output":{"shape":"GetPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the IAM policy attached to the RuleGroup.

    " + }, + "GetRateBasedRule":{ + "name":"GetRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleRequest"}, + "output":{"shape":"GetRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RateBasedRule that is specified by the RuleId that you included in the GetRateBasedRule request.

    " + }, + "GetRateBasedRuleManagedKeys":{ + "name":"GetRateBasedRuleManagedKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedRuleManagedKeysRequest"}, + "output":{"shape":"GetRateBasedRuleManagedKeysResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.

    " + }, + "GetRegexMatchSet":{ + "name":"GetRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegexMatchSetRequest"}, + "output":{"shape":"GetRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RegexMatchSet specified by RegexMatchSetId.

    " + }, + "GetRegexPatternSet":{ + "name":"GetRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegexPatternSetRequest"}, + "output":{"shape":"GetRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RegexPatternSet specified by RegexPatternSetId.

    " + }, + "GetRule":{ + "name":"GetRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRuleRequest"}, + "output":{"shape":"GetRuleResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the Rule that is specified by the RuleId that you included in the GetRule request.

    " + }, + "GetRuleGroup":{ + "name":"GetRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRuleGroupRequest"}, + "output":{"shape":"GetRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the RuleGroup that is specified by the RuleGroupId that you included in the GetRuleGroup request.

    To view the rules in a rule group, use ListActivatedRulesInRuleGroup.

    " + }, + "GetSampledRequests":{ + "name":"GetSampledRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSampledRequestsRequest"}, + "output":{"shape":"GetSampledRequestsResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

    GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

    " + }, + "GetSizeConstraintSet":{ + "name":"GetSizeConstraintSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSizeConstraintSetRequest"}, + "output":{"shape":"GetSizeConstraintSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the SizeConstraintSet specified by SizeConstraintSetId.

    " + }, + "GetSqlInjectionMatchSet":{ + "name":"GetSqlInjectionMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSqlInjectionMatchSetRequest"}, + "output":{"shape":"GetSqlInjectionMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId.

    " + }, + "GetWebACL":{ + "name":"GetWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWebACLRequest"}, + "output":{"shape":"GetWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the WebACL that is specified by WebACLId.

    " + }, + "GetWebACLForResource":{ + "name":"GetWebACLForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWebACLForResourceRequest"}, + "output":{"shape":"GetWebACLForResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFUnavailableEntityException"} + ], + "documentation":"

    This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the web ACL for the specified resource, either an application load balancer or Amazon API Gateway stage.

    " + }, + "GetXssMatchSet":{ + "name":"GetXssMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetXssMatchSetRequest"}, + "output":{"shape":"GetXssMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns the XssMatchSet that is specified by XssMatchSetId.

    " + }, + "ListActivatedRulesInRuleGroup":{ + "name":"ListActivatedRulesInRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListActivatedRulesInRuleGroupRequest"}, + "output":{"shape":"ListActivatedRulesInRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of ActivatedRule objects.

    " + }, + "ListByteMatchSets":{ + "name":"ListByteMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListByteMatchSetsRequest"}, + "output":{"shape":"ListByteMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of ByteMatchSetSummary objects.

    " + }, + "ListGeoMatchSets":{ + "name":"ListGeoMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGeoMatchSetsRequest"}, + "output":{"shape":"ListGeoMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of GeoMatchSetSummary objects in the response.

    " + }, + "ListIPSets":{ + "name":"ListIPSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIPSetsRequest"}, + "output":{"shape":"ListIPSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of IPSetSummary objects in the response.

    " + }, + "ListLoggingConfigurations":{ + "name":"ListLoggingConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLoggingConfigurationsRequest"}, + "output":{"shape":"ListLoggingConfigurationsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of LoggingConfiguration objects.

    " + }, + "ListRateBasedRules":{ + "name":"ListRateBasedRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRateBasedRulesRequest"}, + "output":{"shape":"ListRateBasedRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleSummary objects.

    " + }, + "ListRegexMatchSets":{ + "name":"ListRegexMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegexMatchSetsRequest"}, + "output":{"shape":"ListRegexMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RegexMatchSetSummary objects.

    " + }, + "ListRegexPatternSets":{ + "name":"ListRegexPatternSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegexPatternSetsRequest"}, + "output":{"shape":"ListRegexPatternSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RegexPatternSetSummary objects.

    " + }, + "ListResourcesForWebACL":{ + "name":"ListResourcesForWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesForWebACLRequest"}, + "output":{"shape":"ListResourcesForWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of resources associated with the specified web ACL.

    " + }, + "ListRuleGroups":{ + "name":"ListRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRuleGroupsRequest"}, + "output":{"shape":"ListRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleGroup objects.

    " + }, + "ListRules":{ + "name":"ListRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRulesRequest"}, + "output":{"shape":"ListRulesResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleSummary objects.

    " + }, + "ListSizeConstraintSets":{ + "name":"ListSizeConstraintSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSizeConstraintSetsRequest"}, + "output":{"shape":"ListSizeConstraintSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of SizeConstraintSetSummary objects.

    " + }, + "ListSqlInjectionMatchSets":{ + "name":"ListSqlInjectionMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSqlInjectionMatchSetsRequest"}, + "output":{"shape":"ListSqlInjectionMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of SqlInjectionMatchSet objects.

    " + }, + "ListSubscribedRuleGroups":{ + "name":"ListSubscribedRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSubscribedRuleGroupsRequest"}, + "output":{"shape":"ListSubscribedRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of RuleGroup objects that you are subscribed to.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Retrieves the tags associated with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "ListWebACLs":{ + "name":"ListWebACLs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWebACLsRequest"}, + "output":{"shape":"ListWebACLsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of WebACLSummary objects in the response.

    " + }, + "ListXssMatchSets":{ + "name":"ListXssMatchSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListXssMatchSetsRequest"}, + "output":{"shape":"ListXssMatchSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returns an array of XssMatchSet objects.

    " + }, + "PutLoggingConfiguration":{ + "name":"PutLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLoggingConfigurationRequest"}, + "output":{"shape":"PutLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFServiceLinkedRoleErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Associates a LoggingConfiguration with a specified web ACL.

    You can access information about all traffic that AWS WAF inspects using the following steps:

    1. Create an Amazon Kinesis Data Firehose.

      Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

      Do not create the data firehose using a Kinesis stream as your source.

    2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

    When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

    " + }, + "PutPermissionPolicy":{ + "name":"PutPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPermissionPolicyRequest"}, + "output":{"shape":"PutPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidPermissionPolicyException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Attaches an IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.

    The PutPermissionPolicy is subject to the following restrictions:

    • You can attach only one policy with each PutPermissionPolicy request.

    • The policy must include an Effect, Action and Principal.

    • Effect must specify Allow.

    • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

    • The policy cannot include a Resource parameter.

    • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

    • The user making the request must be the owner of the RuleGroup.

    • Your policy must be composed using IAM Policy version 2012-10-17.

    For more information, see IAM Policies.

    An example of a valid policy parameter is shown in the Examples section below.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can use this action to tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFBadRequestException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    " + }, + "UpdateByteMatchSet":{ + "name":"UpdateByteMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateByteMatchSetRequest"}, + "output":{"shape":"UpdateByteMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple data type.

    • Where to look, such as at the beginning or the end of a query string.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    For example, you can add a ByteMatchSetUpdate object that matches web requests in which User-Agent headers contain the string BadBot. You can then configure AWS WAF to block those requests.

    To create and configure a ByteMatchSet, perform the following steps:

    1. Create a ByteMatchSet. For more information, see CreateByteMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateByteMatchSet request.

    3. Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateGeoMatchSet":{ + "name":"UpdateGeoMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGeoMatchSetRequest"}, + "output":{"shape":"UpdateGeoMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. For each GeoMatchConstraint object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint object, you delete the existing object and add a new one.

    • The Type. The only valid value for Type is Country.

    • The Value, which is a two character code for the country to add to the GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value.

    To create and configure an GeoMatchSet, perform the following steps:

    1. Submit a CreateGeoMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateGeoMatchSet request.

    3. Submit an UpdateGeoMatchSet request to specify the country that you want AWS WAF to watch for.

    When you update an GeoMatchSet, you specify the country that you want to add and/or the country that you want to delete. If you want to change a country, you delete the existing country and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateIPSet":{ + "name":"UpdateIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIPSetRequest"}, + "output":{"shape":"UpdateIPSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes IPSetDescriptor objects in an IPSet. For each IPSetDescriptor object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor object, you delete the existing object and add a new one.

    • The IP address version, IPv4 or IPv6.

    • The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 (for the individual IP address 192.0.2.44).

    AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    IPv6 addresses can be represented using any of the following formats:

    • 1111:0000:0000:0000:0000:0000:0000:0111/128

    • 1111:0:0:0:0:0:0:0111/128

    • 1111::0111/128

    • 1111::111/128

    You use an IPSet to specify which web requests you want to allow or block based on the IP addresses that the requests originated from. For example, if you're receiving a lot of requests from one or a small number of IP addresses and you want to block the requests, you can create an IPSet that specifies those IP addresses, and then configure AWS WAF to block the requests.

    To create and configure an IPSet, perform the following steps:

    1. Submit a CreateIPSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateIPSet request to specify the IP addresses that you want AWS WAF to watch for.

    When you update an IPSet, you specify the IP addresses that you want to add and/or the IP addresses that you want to delete. If you want to change an IP address, you delete the existing IP address and add the new one.

    You can insert a maximum of 1000 addresses in a single request.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRateBasedRule":{ + "name":"UpdateRateBasedRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRateBasedRuleRequest"}, + "output":{"shape":"UpdateRateBasedRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes Predicate objects in a rule and updates the RateLimit in the rule.

    Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to block or count. The RateLimit specifies the number of requests every five minutes that triggers the rule.

    If you add more than one predicate to a RateBasedRule, a request must match all the predicates and exceed the RateLimit to be counted or blocked. For example, suppose you add the following to a RateBasedRule:

    • An IPSet that matches the IP address 192.0.2.44/32

    • A ByteMatchSet that matches BadBot in the User-Agent header

    Further, you specify a RateLimit of 1,000.

    You then add the RateBasedRule to a WebACL and specify that you want to block requests that satisfy the rule. For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent header in the request must contain the value BadBot. Further, requests that match these two conditions much be received at a rate of more than 1,000 every five minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests.

    As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a RateBasedRule:

    • A ByteMatchSet with FieldToMatch of URI

    • A PositionalConstraint of STARTS_WITH

    • A TargetString of login

    Further, you specify a RateLimit of 1,000.

    By adding this RateBasedRule to a WebACL, you could limit requests to your login page without affecting the rest of your site.

    " + }, + "UpdateRegexMatchSet":{ + "name":"UpdateRegexMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRegexMatchSetRequest"}, + "output":{"shape":"UpdateRegexMatchSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFDisallowedNameException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidAccountException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    For example, you can create a RegexPatternSet that matches any requests with User-Agent headers that contain the string B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    To create and configure a RegexMatchSet, perform the following steps:

    1. Create a RegexMatchSet. For more information, see CreateRegexMatchSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexMatchSet request.

    3. Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the identifier of the RegexPatternSet that contain the regular expression patters you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRegexPatternSet":{ + "name":"UpdateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRegexPatternSetRequest"}, + "output":{"shape":"UpdateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidRegexPatternException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes RegexPatternString objects in a RegexPatternSet. For each RegexPatternString object, you specify the following values:

    • Whether to insert or delete the RegexPatternString.

    • The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.

    For example, you can create a RegexPatternString such as B[a@]dB[o0]t. AWS WAF will match this RegexPatternString to:

    • BadBot

    • BadB0t

    • B@dBot

    • B@dB0t

    To create and configure a RegexPatternSet, perform the following steps:

    1. Create a RegexPatternSet. For more information, see CreateRegexPatternSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRegexPatternSet request.

    3. Submit an UpdateRegexPatternSet request to specify the regular expression pattern that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRule":{ + "name":"UpdateRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleRequest"}, + "output":{"shape":"UpdateRuleResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes Predicate objects in a Rule. Each Predicate object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests that you want to allow, block, or count. If you add more than one predicate to a Rule, a request must match all of the specifications to be allowed, blocked, or counted. For example, suppose that you add the following to a Rule:

    • A ByteMatchSet that matches the value BadBot in the User-Agent header

    • An IPSet that matches the IP address 192.0.2.44

    You then add the Rule to a WebACL and specify that you want to block requests that satisfy the Rule. For a request to be blocked, the User-Agent header in the request must contain the value BadBot and the request must originate from the IP address 192.0.2.44.

    To create and configure a Rule, perform the following steps:

    1. Create and update the predicates that you want to include in the Rule.

    2. Create the Rule. See CreateRule.

    3. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRule request.

    4. Submit an UpdateRule request to add predicates to the Rule.

    5. Create and update a WebACL that contains the Rule. See CreateWebACL.

    If you want to replace one ByteMatchSet or IPSet with another, you delete the existing one and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateRuleGroup":{ + "name":"UpdateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleGroupRequest"}, + "output":{"shape":"UpdateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ActivatedRule objects in a RuleGroup.

    You can only insert REGULAR rules into a rule group.

    You can have a maximum of ten rules per rule group.

    To create and configure a RuleGroup, perform the following steps:

    1. Create and update the Rules that you want to include in the RuleGroup. See CreateRule.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateRuleGroup request.

    3. Submit an UpdateRuleGroup request to add Rules to the RuleGroup.

    4. Create and update a WebACL that contains the RuleGroup. See CreateWebACL.

    If you want to replace one Rule with another, you delete the existing one and add the new one.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateSizeConstraintSet":{ + "name":"UpdateSizeConstraintSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSizeConstraintSetRequest"}, + "output":{"shape":"UpdateSizeConstraintSetResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint object, you specify the following values:

    • Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate object, you delete the existing object and add a new one.

    • The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the User-Agent header.

    • Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length. Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192 bytes of your request to AWS WAF.

      You can only specify a single type of TextTransformation.

    • A ComparisonOperator used for evaluating the selected part of the request against the specified Size, such as equals, greater than, less than, and so on.

    • The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.

    For example, you can add a SizeConstraintSetUpdate object that matches web requests in which the length of the User-Agent header is greater than 100 bytes. You can then configure AWS WAF to block those requests.

    To create and configure a SizeConstraintSet, perform the following steps:

    1. Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateSizeConstraintSet request.

    3. Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateSqlInjectionMatchSet":{ + "name":"UpdateSqlInjectionMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSqlInjectionMatchSetRequest"}, + "output":{"shape":"UpdateSqlInjectionMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. For each SqlInjectionMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change a SqlInjectionMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for snippets of malicious SQL code.

      You can only specify a single type of TextTransformation.

    You use SqlInjectionMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain snippets of SQL code in the query string and you want to block the requests, you can create a SqlInjectionMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure a SqlInjectionMatchSet, perform the following steps:

    1. Submit a CreateSqlInjectionMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for snippets of SQL code.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateWebACL":{ + "name":"UpdateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebACLRequest"}, + "output":{"shape":"UpdateWebACLResponse"}, + "errors":[ + {"shape":"WAFStaleDataException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFReferencedItemException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFSubscriptionNotFoundException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes ActivatedRule objects in a WebACL. Each Rule identifies web requests that you want to allow, block, or count. When you update a WebACL, you specify the following values:

    • A default action for the WebACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules in a WebACL.

    • The Rules that you want to add or delete. If you want to replace one Rule with another, you delete the existing Rule and add the new one.

    • For each Rule, whether you want AWS WAF to allow requests, block requests, or count requests that match the conditions in the Rule.

    • The order in which you want AWS WAF to evaluate the Rules in a WebACL. If you add more than one Rule to a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. (The Rule that has the lowest value for Priority is evaluated first.) When a web request matches all the predicates (such as ByteMatchSets and IPSets) in a Rule, AWS WAF immediately takes the corresponding action, allow or block, and doesn't evaluate the request against the remaining Rules in the WebACL, if any.

    To create and configure a WebACL, perform the following steps:

    1. Create and update the predicates that you want to include in Rules. For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.

    2. Create and update the Rules that you want to include in the WebACL. For more information, see CreateRule and UpdateRule.

    3. Create a WebACL. See CreateWebACL.

    4. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateWebACL request.

    5. Submit an UpdateWebACL request to specify the Rules that you want to include in the WebACL, to specify the default action, and to associate the WebACL with a CloudFront distribution.

      The ActivatedRule can be a rule group. If you specify a rule group as your ActivatedRule , you can exclude specific rules from that rule group.

      If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL request to exclude certain rules from that rule group, you must first remove the rule group from the web ACL, the re-insert it again, specifying the excluded rules. For details, see ActivatedRule$ExcludedRules .

    Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + }, + "UpdateXssMatchSet":{ + "name":"UpdateXssMatchSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateXssMatchSetRequest"}, + "output":{"shape":"UpdateXssMatchSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidAccountException"}, + {"shape":"WAFInvalidOperationException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentContainerException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFStaleDataException"}, + {"shape":"WAFLimitsExceededException"} + ], + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. For each XssMatchTuple object, you specify the following values:

    • Action: Whether to insert the object into or delete the object from the array. To change an XssMatchTuple, you delete the existing object and add a new one.

    • FieldToMatch: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter, the name of the header or parameter.

    • TextTransformation: Which text transformation, if any, to perform on the web request before inspecting the request for cross-site scripting attacks.

      You can only specify a single type of TextTransformation.

    You use XssMatchSet objects to specify which CloudFront requests that you want to allow, block, or count. For example, if you're receiving requests that contain cross-site scripting attacks in the request body and you want to block the requests, you can create an XssMatchSet with the applicable settings, and then configure AWS WAF to block the requests.

    To create and configure an XssMatchSet, perform the following steps:

    1. Submit a CreateXssMatchSet request.

    2. Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of an UpdateIPSet request.

    3. Submit an UpdateXssMatchSet request to specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks.

    For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.

    " + } + }, + "shapes":{ + "Action":{"type":"string"}, + "ActivatedRule":{ + "type":"structure", + "required":[ + "Priority", + "RuleId" + ], + "members":{ + "Priority":{ + "shape":"RulePriority", + "documentation":"

    Specifies the order in which the Rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before Rules with a higher value. The value must be a unique integer. If you add multiple Rules to a WebACL, the values don't need to be consecutive.

    " + }, + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

    RuleId is returned by CreateRule and by ListRules.

    " + }, + "Action":{ + "shape":"WafAction", + "documentation":"

    Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the Rule. Valid values for Action include the following:

    • ALLOW: CloudFront responds with the requested object.

    • BLOCK: CloudFront responds with an HTTP 403 (Forbidden) status code.

    • COUNT: AWS WAF increments a counter of requests that match the conditions in the rule and then continues to inspect the web request based on the remaining rules in the web ACL.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "OverrideAction":{ + "shape":"WafOverrideAction", + "documentation":"

    Use the OverrideAction to test your RuleGroup.

    Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup will block a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup will then override any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests will be counted. You can view a record of counted requests using GetSampledRequests.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "Type":{ + "shape":"WafRuleType", + "documentation":"

    The rule type, either REGULAR, as defined by Rule, RATE_BASED, as defined by RateBasedRule, or GROUP, as defined by RuleGroup. The default is REGULAR. Although this field is optional, be aware that if you try to add a RATE_BASED rule to a web ACL without setting the type, the UpdateWebACL request will fail because the request tries to add a REGULAR rule with the specified ID, which does not exist.

    " + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

    An array of rules to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup.

    Sometimes it is necessary to troubleshoot rule groups that are blocking traffic unexpectedly (false positives). One troubleshooting technique is to identify the specific rule within the rule group that is blocking the legitimate traffic and then disable (exclude) that particular rule. You can exclude rules from both your own rule groups and AWS Marketplace rule groups that have been associated with a web ACL.

    Specifying ExcludedRules does not remove those rules from the rule group. Rather, it changes the action for the rules to COUNT. Therefore, requests that match an ExcludedRule are counted but not blocked. The RuleGroup owner will receive COUNT metrics for each ExcludedRule.

    If you want to exclude rules from a rule group that is already associated with a web ACL, perform the following steps:

    1. Use the AWS WAF logs to identify the IDs of the rules that you want to exclude. For more information about the logs, see Logging Web ACL Traffic Information.

    2. Submit an UpdateWebACL request that has two actions:

      • The first action deletes the existing rule group from the web ACL. That is, in the UpdateWebACL request, the first Updates:Action should be DELETE and Updates:ActivatedRule:RuleId should be the rule group that contains the rules that you want to exclude.

      • The second action inserts the same rule group back in, but specifying the rules to exclude. That is, the second Updates:Action should be INSERT, Updates:ActivatedRule:RuleId should be the rule group that you just removed, and ExcludedRules should contain the rules that you want to exclude.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    To specify whether to insert or delete a Rule, use the Action parameter in the WebACLUpdate data type.

    " + }, + "ActivatedRules":{ + "type":"list", + "member":{"shape":"ActivatedRule"} + }, + "AssociateWebACLRequest":{ + "type":"structure", + "required":[ + "WebACLId", + "ResourceArn" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier (ID) for the web ACL.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource to be protected, either an application load balancer or Amazon API Gateway stage.

    The ARN should be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

    " + } + } + }, + "AssociateWebACLResponse":{ + "type":"structure", + "members":{ + } + }, + "ByteMatchSet":{ + "type":"structure", + "required":[ + "ByteMatchSetId", + "ByteMatchTuples" + ], + "members":{ + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet (see GetByteMatchSet), update a ByteMatchSet (see UpdateByteMatchSet), insert a ByteMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a ByteMatchSet from AWS WAF (see DeleteByteMatchSet).

    ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

    " + }, + "ByteMatchTuples":{ + "shape":"ByteMatchTuples", + "documentation":"

    Specifies the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetByteMatchSet request, ByteMatchSet is a complex type that contains the ByteMatchSetId and Name of a ByteMatchSet, and the values that you specified when you updated the ByteMatchSet.

    A complex type that contains ByteMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a ByteMatchSet contains more than one ByteMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

    " + }, + "ByteMatchSetSummaries":{ + "type":"list", + "member":{"shape":"ByteMatchSetSummary"} + }, + "ByteMatchSetSummary":{ + "type":"structure", + "required":[ + "ByteMatchSetId", + "Name" + ], + "members":{ + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId for a ByteMatchSet. You use ByteMatchSetId to get information about a ByteMatchSet, update a ByteMatchSet, remove a ByteMatchSet from a Rule, and delete a ByteMatchSet from AWS WAF.

    ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListByteMatchSets. Each ByteMatchSetSummary object includes the Name and ByteMatchSetId for one ByteMatchSet.

    " + }, + "ByteMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "ByteMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a ByteMatchTuple.

    " + }, + "ByteMatchTuple":{ + "shape":"ByteMatchTuple", + "documentation":"

    Information about the part of a web request that you want AWS WAF to inspect and the value that you want AWS WAF to search for. If you specify DELETE for the value of Action, the ByteMatchTuple values must exactly match the values in the ByteMatchTuple that you want to delete from the ByteMatchSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateByteMatchSet request, ByteMatchSetUpdate specifies whether to insert or delete a ByteMatchTuple and includes the settings for the ByteMatchTuple.

    " + }, + "ByteMatchSetUpdates":{ + "type":"list", + "member":{"shape":"ByteMatchSetUpdate"}, + "min":1 + }, + "ByteMatchTargetString":{"type":"blob"}, + "ByteMatchTuple":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TargetString", + "TextTransformation", + "PositionalConstraint" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to search, such as a specified header or a query string. For more information, see FieldToMatch.

    " + }, + "TargetString":{ + "shape":"ByteMatchTargetString", + "documentation":"

    The value that you want AWS WAF to search for. AWS WAF searches for the specified string in the part of web requests that you specified in FieldToMatch. The maximum length of the value is 50 bytes.

    Valid values depend on the values that you specified for FieldToMatch:

    • HEADER: The value that you want AWS WAF to search for in the request header that you specified in FieldToMatch, for example, the value of the User-Agent or Referer header.

    • METHOD: The HTTP method, which indicates the type of operation specified in the request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: The value that you want AWS WAF to search for in the query string, which is the part of a URL that appears after a ? character.

    • URI: The value that you want AWS WAF to search for in the part of a URL that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

    • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but instead of inspecting a single parameter, AWS WAF inspects all parameters within the query string for the value or regex pattern that you specify in TargetString.

    If TargetString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

    If you're using the AWS WAF API

    Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

    For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of TargetString.

    If you're using the AWS CLI or one of the AWS SDKs

    The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + }, + "PositionalConstraint":{ + "shape":"PositionalConstraint", + "documentation":"

    Within the portion of a web request that you want to search (for example, in the query string, if any), specify where you want AWS WAF to search. Valid values include the following:

    CONTAINS

    The specified part of the web request must include the value of TargetString, but the location doesn't matter.

    CONTAINS_WORD

    The specified part of the web request must include the value of TargetString, and TargetString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, TargetString must be a word, which means one of the following:

    • TargetString exactly matches the value of the specified part of the web request, such as the value of a header.

    • TargetString is at the beginning of the specified part of the web request and is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot;.

    • TargetString is at the end of the specified part of the web request and is preceded by a character other than an alphanumeric character or underscore (_), for example, ;BadBot.

    • TargetString is in the middle of the specified part of the web request and is preceded and followed by characters other than alphanumeric characters or underscore (_), for example, -BadBot;.

    EXACTLY

    The value of the specified part of the web request must exactly match the value of TargetString.

    STARTS_WITH

    The value of TargetString must appear at the beginning of the specified part of the web request.

    ENDS_WITH

    The value of TargetString must appear at the end of the specified part of the web request.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings.

    " + }, + "ByteMatchTuples":{ + "type":"list", + "member":{"shape":"ByteMatchTuple"} + }, + "ChangeAction":{ + "type":"string", + "enum":[ + "INSERT", + "DELETE" + ] + }, + "ChangeToken":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "ChangeTokenStatus":{ + "type":"string", + "enum":[ + "PROVISIONED", + "PENDING", + "INSYNC" + ] + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "EQ", + "NE", + "LE", + "LT", + "GE", + "GT" + ] + }, + "Country":{"type":"string"}, + "CreateByteMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateByteMatchSetResponse":{ + "type":"structure", + "members":{ + "ByteMatchSet":{ + "shape":"ByteMatchSet", + "documentation":"

    A ByteMatchSet that contains no ByteMatchTuple objects.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateGeoMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change Name after you create the GeoMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "GeoMatchSet":{ + "shape":"GeoMatchSet", + "documentation":"

    The GeoMatchSet returned in the CreateGeoMatchSet response. The GeoMatchSet contains no GeoMatchConstraints.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateIPSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the IPSet. You can't change Name after you create the IPSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateIPSetResponse":{ + "type":"structure", + "members":{ + "IPSet":{ + "shape":"IPSet", + "documentation":"

    The IPSet returned in the CreateIPSet response.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "RateKey", + "RateLimit", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RateBasedRule. You can't change the name of a RateBasedRule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

    " + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

    The field that AWS WAF uses to determine if requests are likely arriving from a single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests that arrive from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field that is specified by RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " + } + } + }, + "CreateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

    The RateBasedRule that is returned in the CreateRateBasedRule response.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateRegexMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "RegexMatchSet":{ + "shape":"RegexMatchSet", + "documentation":"

    A RegexMatchSet that contains no RegexMatchTuple objects.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "RegexPatternSet":{ + "shape":"RegexPatternSet", + "documentation":"

    A RegexPatternSet that contains no objects.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateRuleGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RuleGroup. You can't change Name after you create a RuleGroup.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " + } + } + }, + "CreateRuleGroupResponse":{ + "type":"structure", + "members":{ + "RuleGroup":{ + "shape":"RuleGroup", + "documentation":"

    An empty RuleGroup.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the Rule.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " + } + } + }, + "CreateRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"Rule", + "documentation":"

    The Rule returned in the CreateRule response.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateSizeConstraintSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the SizeConstraintSet. You can't change Name after you create a SizeConstraintSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "CreateSizeConstraintSetResponse":{ + "type":"structure", + "members":{ + "SizeConstraintSet":{ + "shape":"SizeConstraintSet", + "documentation":"

    A SizeConstraintSet that contains no SizeConstraint objects.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateSqlInjectionMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + }, + "documentation":"

    A request to create a SqlInjectionMatchSet.

    " + }, + "CreateSqlInjectionMatchSetResponse":{ + "type":"structure", + "members":{ + "SqlInjectionMatchSet":{ + "shape":"SqlInjectionMatchSet", + "documentation":"

    A SqlInjectionMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to a CreateSqlInjectionMatchSet request.

    " + }, + "CreateWebACLMigrationStackRequest":{ + "type":"structure", + "required":[ + "WebACLId", + "S3BucketName", + "IgnoreUnsupportedType" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The UUID of the WAF Classic web ACL that you want to migrate to WAF v2.

    " + }, + "S3BucketName":{ + "shape":"S3BucketName", + "documentation":"

    The name of the Amazon S3 bucket to store the CloudFormation template in. The S3 bucket must be configured as follows for the migration:

    • The bucket name must start with aws-waf-migration-. For example, aws-waf-migration-my-web-acl.

    • The bucket must be in the Region where you are deploying the template. For example, for a web ACL in us-west-2, you must use an Amazon S3 bucket in us-west-2 and you must deploy the template stack to us-west-2.

    • The bucket policies must permit the migration process to write data. For listings of the bucket policies, see the Examples section.

    " + }, + "IgnoreUnsupportedType":{ + "shape":"IgnoreUnsupportedType", + "documentation":"

    Indicates whether to exclude entities that can't be migrated or to stop the migration. Set this to true to ignore unsupported entities in the web ACL during the migration. Otherwise, if AWS WAF encounters unsupported entities, it stops the process and throws an exception.

    " + } + } + }, + "CreateWebACLMigrationStackResponse":{ + "type":"structure", + "required":["S3ObjectUrl"], + "members":{ + "S3ObjectUrl":{ + "shape":"S3ObjectUrl", + "documentation":"

    The URL of the template created in Amazon S3.

    " + } + } + }, + "CreateWebACLRequest":{ + "type":"structure", + "required":[ + "Name", + "MetricName", + "DefaultAction", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the WebACL. You can't change Name after you create the WebACL.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this WebACL.The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

    " + }, + "DefaultAction":{ + "shape":"WafAction", + "documentation":"

    The action that you want AWS WAF to take when a request doesn't match the criteria specified in any of the Rule objects that are associated with the WebACL.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " + } + } + }, + "CreateWebACLResponse":{ + "type":"structure", + "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    The WebACL returned in the CreateWebACL response.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "CreateXssMatchSetRequest":{ + "type":"structure", + "required":[ + "Name", + "ChangeToken" + ], + "members":{ + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for the XssMatchSet that you're creating. You can't change Name after you create the XssMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + }, + "documentation":"

    A request to create an XssMatchSet.

    " + }, + "CreateXssMatchSetResponse":{ + "type":"structure", + "members":{ + "XssMatchSet":{ + "shape":"XssMatchSet", + "documentation":"

    An XssMatchSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the CreateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to a CreateXssMatchSet request.

    " + }, + "DeleteByteMatchSetRequest":{ + "type":"structure", + "required":[ + "ByteMatchSetId", + "ChangeToken" + ], + "members":{ + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteByteMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteGeoMatchSetRequest":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "ChangeToken" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetID of the GeoMatchSet that you want to delete. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteIPSetRequest":{ + "type":"structure", + "required":[ + "IPSetId", + "ChangeToken" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteIPSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteLoggingConfigurationRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration.

    " + } + } + }, + "DeleteLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeletePermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup from which you want to delete the policy.

    The user making the request must be the owner of the RuleGroup.

    " + } + } + }, + "DeletePermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to delete. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteRegexMatchSetRequest":{ + "type":"structure", + "required":[ + "RegexMatchSetId", + "ChangeToken" + ], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to delete. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "RegexPatternSetId", + "ChangeToken" + ], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to delete. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteRuleGroupRequest":{ + "type":"structure", + "required":[ + "RuleGroupId", + "ChangeToken" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup that you want to delete. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRuleGroupResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteSizeConstraintSetRequest":{ + "type":"structure", + "required":[ + "SizeConstraintSetId", + "ChangeToken" + ], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to delete. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteSizeConstraintSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteSqlInjectionMatchSetRequest":{ + "type":"structure", + "required":[ + "SqlInjectionMatchSetId", + "ChangeToken" + ], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + }, + "documentation":"

    A request to delete a SqlInjectionMatchSet from AWS WAF.

    " + }, + "DeleteSqlInjectionMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to a request to delete a SqlInjectionMatchSet from AWS WAF.

    " + }, + "DeleteWebACLRequest":{ + "type":"structure", + "required":[ + "WebACLId", + "ChangeToken" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "DeleteWebACLResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "DeleteXssMatchSetRequest":{ + "type":"structure", + "required":[ + "XssMatchSetId", + "ChangeToken" + ], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to delete. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + }, + "documentation":"

    A request to delete an XssMatchSet from AWS WAF.

    " + }, + "DeleteXssMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the DeleteXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to a request to delete an XssMatchSet from AWS WAF.

    " + }, + "DisassociateWebACLRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource from which the web ACL is being removed, either an application load balancer or Amazon API Gateway stage.

    The ARN should be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

    " + } + } + }, + "DisassociateWebACLResponse":{ + "type":"structure", + "members":{ + } + }, + "ErrorReason":{"type":"string"}, + "ExcludedRule":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The unique identifier for the rule to exclude from the rule group.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The rule to exclude from a rule group. This is applicable only when the ActivatedRule refers to a RuleGroup. The rule must belong to the RuleGroup that is specified by the ActivatedRule.

    " + }, + "ExcludedRules":{ + "type":"list", + "member":{"shape":"ExcludedRule"} + }, + "FieldToMatch":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"MatchFieldType", + "documentation":"

    The part of the web request that you want AWS WAF to search for a specified string. Parts of a request that you can search include the following:

    • HEADER: A specified request header, for example, the value of the User-Agent or Referer header. If you choose HEADER for the type, specify the name of the header in Data.

    • METHOD: The HTTP method, which indicated the type of operation that the request is asking the origin to perform. Amazon CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    • QUERY_STRING: A query string, which is the part of a URL that appears after a ? character, if any.

    • URI: The part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

    • BODY: The part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form. The request body immediately follows the request headers. Note that only the first 8192 bytes of the request body are forwarded to AWS WAF for inspection. To allow or block requests based on the length of the body, you can create a size constraint set. For more information, see CreateSizeConstraintSet.

    • SINGLE_QUERY_ARG: The parameter in the query string that you will inspect, such as UserName or SalesRegion. The maximum length for SINGLE_QUERY_ARG is 30 characters.

    • ALL_QUERY_ARGS: Similar to SINGLE_QUERY_ARG, but rather than inspecting a single parameter, AWS WAF will inspect all parameters within the query for the value or regex pattern that you specify in TargetString.

    " + }, + "Data":{ + "shape":"MatchFieldData", + "documentation":"

    When the value of Type is HEADER, enter the name of the header that you want AWS WAF to search, for example, User-Agent or Referer. The name of the header is not case sensitive.

    When the value of Type is SINGLE_QUERY_ARG, enter the name of the parameter that you want AWS WAF to search, for example, UserName or SalesRegion. The parameter name is not case sensitive.

    If the value of Type is any other value, omit Data.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies where in a web request to look for TargetString.

    " + }, + "GeoMatchConstraint":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"GeoMatchConstraintType", + "documentation":"

    The type of geographical area you want AWS WAF to search for. Currently Country is the only valid value.

    " + }, + "Value":{ + "shape":"GeoMatchConstraintValue", + "documentation":"

    The country that you want AWS WAF to search for.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The country from which web requests originate that you want AWS WAF to search for.

    " + }, + "GeoMatchConstraintType":{ + "type":"string", + "enum":["Country"] + }, + "GeoMatchConstraintValue":{ + "type":"string", + "enum":[ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "KH", + "CM", + "CA", + "CV", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CG", + "CD", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MK", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SZ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "GeoMatchConstraints":{ + "type":"list", + "member":{"shape":"GeoMatchConstraint"} + }, + "GeoMatchSet":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "GeoMatchConstraints" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId for an GeoMatchSet. You use GeoMatchSetId to get information about a GeoMatchSet (see GeoMatchSet), update a GeoMatchSet (see UpdateGeoMatchSet), insert a GeoMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a GeoMatchSet from AWS WAF (see DeleteGeoMatchSet).

    GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

    " + }, + "GeoMatchConstraints":{ + "shape":"GeoMatchConstraints", + "documentation":"

    An array of GeoMatchConstraint objects, which contain the country that you want AWS WAF to search for.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains one or more countries that AWS WAF will search for.

    " + }, + "GeoMatchSetSummaries":{ + "type":"list", + "member":{"shape":"GeoMatchSetSummary"} + }, + "GeoMatchSetSummary":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "Name" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId for an GeoMatchSet. You can use GeoMatchSetId in a GetGeoMatchSet request to get detailed information about an GeoMatchSet.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the GeoMatchSet. You can't change the name of an GeoMatchSet after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name of the GeoMatchSet.

    " + }, + "GeoMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "GeoMatchConstraint" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a country with UpdateGeoMatchSet.

    " + }, + "GeoMatchConstraint":{ + "shape":"GeoMatchConstraint", + "documentation":"

    The country from which web requests originate that you want AWS WAF to search for.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the type of update to perform to an GeoMatchSet with UpdateGeoMatchSet.

    " + }, + "GeoMatchSetUpdates":{ + "type":"list", + "member":{"shape":"GeoMatchSetUpdate"}, + "min":1 + }, + "GetByteMatchSetRequest":{ + "type":"structure", + "required":["ByteMatchSetId"], + "members":{ + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + } + } + }, + "GetByteMatchSetResponse":{ + "type":"structure", + "members":{ + "ByteMatchSet":{ + "shape":"ByteMatchSet", + "documentation":"

    Information about the ByteMatchSet that you specified in the GetByteMatchSet request. For more information, see the following topics:

    • ByteMatchSet: Contains ByteMatchSetId, ByteMatchTuples, and Name

    • ByteMatchTuples: Contains an array of ByteMatchTuple objects. Each ByteMatchTuple object contains FieldToMatch, PositionalConstraint, TargetString, and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + } + } + }, + "GetChangeTokenRequest":{ + "type":"structure", + "members":{ + } + }, + "GetChangeTokenResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used in the request. Use this value in a GetChangeTokenStatus request to get the current status of the request.

    " + } + } + }, + "GetChangeTokenStatusRequest":{ + "type":"structure", + "required":["ChangeToken"], + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response.

    " + } + } + }, + "GetChangeTokenStatusResponse":{ + "type":"structure", + "members":{ + "ChangeTokenStatus":{ + "shape":"ChangeTokenStatus", + "documentation":"

    The status of the change token.

    " + } + } + }, + "GetGeoMatchSetRequest":{ + "type":"structure", + "required":["GeoMatchSetId"], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId of the GeoMatchSet that you want to get. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + } + } + }, + "GetGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "GeoMatchSet":{ + "shape":"GeoMatchSet", + "documentation":"

    Information about the GeoMatchSet that you specified in the GetGeoMatchSet request. This includes the Type, which for a GeoMatchContraint is always Country, as well as the Value, which is the identifier for a specific country.

    " + } + } + }, + "GetIPSetRequest":{ + "type":"structure", + "required":["IPSetId"], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + } + } + }, + "GetIPSetResponse":{ + "type":"structure", + "members":{ + "IPSet":{ + "shape":"IPSet", + "documentation":"

    Information about the IPSet that you specified in the GetIPSet request. For more information, see the following topics:

    • IPSet: Contains IPSetDescriptors, IPSetId, and Name

    • IPSetDescriptors: Contains an array of IPSetDescriptor objects. Each IPSetDescriptor object contains Type and Value

    " + } + } + }, + "GetLoggingConfigurationRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration.

    " + } + } + }, + "GetLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration for the specified web ACL.

    " + } + } + }, + "GetPermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup for which you want to get the policy.

    " + } + } + }, + "GetPermissionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The IAM policy attached to the specified RuleGroup.

    " + } + } + }, + "GetRateBasedRuleManagedKeysRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule for which you want to get a list of ManagedKeys. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    A null value and not currently used. Do not include this in your request.

    " + } + } + }, + "GetRateBasedRuleManagedKeysResponse":{ + "type":"structure", + "members":{ + "ManagedKeys":{ + "shape":"ManagedKeys", + "documentation":"

    An array of IP addresses that currently are blocked by the specified RateBasedRule.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    A null value and not currently used.

    " + } + } + }, + "GetRateBasedRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to get. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + } + } + }, + "GetRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"RateBasedRule", + "documentation":"

    Information about the RateBasedRule that you specified in the GetRateBasedRule request.

    " + } + } + }, + "GetRegexMatchSetRequest":{ + "type":"structure", + "required":["RegexMatchSetId"], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to get. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + } + } + }, + "GetRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "RegexMatchSet":{ + "shape":"RegexMatchSet", + "documentation":"

    Information about the RegexMatchSet that you specified in the GetRegexMatchSet request. For more information, see RegexMatchTuple.

    " + } + } + }, + "GetRegexPatternSetRequest":{ + "type":"structure", + "required":["RegexPatternSetId"], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to get. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + } + } + }, + "GetRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "RegexPatternSet":{ + "shape":"RegexPatternSet", + "documentation":"

    Information about the RegexPatternSet that you specified in the GetRegexPatternSet request, including the identifier of the pattern set and the regular expression patterns you want AWS WAF to search for.

    " + } + } + }, + "GetRuleGroupRequest":{ + "type":"structure", + "required":["RuleGroupId"], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup that you want to get. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + } + } + }, + "GetRuleGroupResponse":{ + "type":"structure", + "members":{ + "RuleGroup":{ + "shape":"RuleGroup", + "documentation":"

    Information about the RuleGroup that you specified in the GetRuleGroup request.

    " + } + } + }, + "GetRuleRequest":{ + "type":"structure", + "required":["RuleId"], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules.

    " + } + } + }, + "GetRuleResponse":{ + "type":"structure", + "members":{ + "Rule":{ + "shape":"Rule", + "documentation":"

    Information about the Rule that you specified in the GetRule request. For more information, see the following topics:

    • Rule: Contains MetricName, Name, an array of Predicate objects, and RuleId

    • Predicate: Each Predicate object contains DataId, Negated, and Type

    " + } + } + }, + "GetSampledRequestsMaxItems":{ + "type":"long", + "max":500, + "min":1 + }, + "GetSampledRequestsRequest":{ + "type":"structure", + "required":[ + "WebAclId", + "RuleId", + "TimeWindow", + "MaxItems" + ], + "members":{ + "WebAclId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL for which you want GetSampledRequests to return a sample of requests.

    " + }, + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    RuleId is one of three values:

    • The RuleId of the Rule or the RuleGroupId of the RuleGroup for which you want GetSampledRequests to return a sample of requests.

    • Default_Action, which causes GetSampledRequests to return a sample of the requests that didn't match any of the rules in the specified WebACL.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + }, + "MaxItems":{ + "shape":"GetSampledRequestsMaxItems", + "documentation":"

    The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

    " + } + } + }, + "GetSampledRequestsResponse":{ + "type":"structure", + "members":{ + "SampledRequests":{ + "shape":"SampledHTTPRequests", + "documentation":"

    A complex type that contains detailed information about each of the requests in the sample.

    " + }, + "PopulationSize":{ + "shape":"PopulationSize", + "documentation":"

    The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.

    " + } + } + }, + "GetSizeConstraintSetRequest":{ + "type":"structure", + "required":["SizeConstraintSetId"], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to get. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + } + } + }, + "GetSizeConstraintSetResponse":{ + "type":"structure", + "members":{ + "SizeConstraintSet":{ + "shape":"SizeConstraintSet", + "documentation":"

    Information about the SizeConstraintSet that you specified in the GetSizeConstraintSet request. For more information, see the following topics:

    " + } + } + }, + "GetSqlInjectionMatchSetRequest":{ + "type":"structure", + "required":["SqlInjectionMatchSetId"], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + } + }, + "documentation":"

    A request to get a SqlInjectionMatchSet.

    " + }, + "GetSqlInjectionMatchSetResponse":{ + "type":"structure", + "members":{ + "SqlInjectionMatchSet":{ + "shape":"SqlInjectionMatchSet", + "documentation":"

    Information about the SqlInjectionMatchSet that you specified in the GetSqlInjectionMatchSet request. For more information, see the following topics:

    " + } + }, + "documentation":"

    The response to a GetSqlInjectionMatchSet request.

    " + }, + "GetWebACLForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource for which to get the web ACL, either an application load balancer or Amazon API Gateway stage.

    The ARN should be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

    " + } + } + }, + "GetWebACLForResourceResponse":{ + "type":"structure", + "members":{ + "WebACLSummary":{ + "shape":"WebACLSummary", + "documentation":"

    Information about the web ACL that you specified in the GetWebACLForResource request. If there is no associated resource, a null WebACLSummary is returned.

    " + } + } + }, + "GetWebACLRequest":{ + "type":"structure", + "required":["WebACLId"], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + } + } + }, + "GetWebACLResponse":{ + "type":"structure", + "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    Information about the WebACL that you specified in the GetWebACL request. For more information, see the following topics:

    • WebACL: Contains DefaultAction, MetricName, Name, an array of Rule objects, and WebACLId

    • DefaultAction (Data type is WafAction): Contains Type

    • Rules: Contains an array of ActivatedRule objects, which contain Action, Priority, and RuleId

    • Action: Contains Type

    " + } + } + }, + "GetXssMatchSetRequest":{ + "type":"structure", + "required":["XssMatchSetId"], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to get. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + } + }, + "documentation":"

    A request to get an XssMatchSet.

    " + }, + "GetXssMatchSetResponse":{ + "type":"structure", + "members":{ + "XssMatchSet":{ + "shape":"XssMatchSet", + "documentation":"

    Information about the XssMatchSet that you specified in the GetXssMatchSet request. For more information, see the following topics:

    • XssMatchSet: Contains Name, XssMatchSetId, and an array of XssMatchTuple objects

    • XssMatchTuple: Each XssMatchTuple object contains FieldToMatch and TextTransformation

    • FieldToMatch: Contains Data and Type

    " + } + }, + "documentation":"

    The response to a GetXssMatchSet request.

    " + }, + "HTTPHeader":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"HeaderName", + "documentation":"

    The name of one of the headers in the sampled web request.

    " + }, + "Value":{ + "shape":"HeaderValue", + "documentation":"

    The value of one of the headers in the sampled web request.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes an HTTPHeader complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests that were returned by GetSampledRequests.

    " + }, + "HTTPHeaders":{ + "type":"list", + "member":{"shape":"HTTPHeader"} + }, + "HTTPMethod":{"type":"string"}, + "HTTPRequest":{ + "type":"structure", + "members":{ + "ClientIP":{ + "shape":"IPString", + "documentation":"

    The IP address that the request originated from. If the WebACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

    • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

    • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

    " + }, + "Country":{ + "shape":"Country", + "documentation":"

    The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

    " + }, + "URI":{ + "shape":"URIString", + "documentation":"

    The part of a web request that identifies the resource, for example, /images/daily-ad.jpg.

    " + }, + "Method":{ + "shape":"HTTPMethod", + "documentation":"

    The HTTP method specified in the sampled web request. CloudFront supports the following methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.

    " + }, + "HTTPVersion":{ + "shape":"HTTPVersion", + "documentation":"

    The HTTP version specified in the sampled web request, for example, HTTP/1.1.

    " + }, + "Headers":{ + "shape":"HTTPHeaders", + "documentation":"

    A complex type that contains two values for each header in the sampled web request: the name of the header and the value of the header.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes an HTTPRequest complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests that were returned by GetSampledRequests.

    " + }, + "HTTPVersion":{"type":"string"}, + "HeaderName":{"type":"string"}, + "HeaderValue":{"type":"string"}, + "IPSet":{ + "type":"structure", + "required":[ + "IPSetId", + "IPSetDescriptors" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId for an IPSet. You use IPSetId to get information about an IPSet (see GetIPSet), update an IPSet (see UpdateIPSet), insert an IPSet into a Rule or delete one from a Rule (see UpdateRule), and delete an IPSet from AWS WAF (see DeleteIPSet).

    IPSetId is returned by CreateIPSet and by ListIPSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + }, + "IPSetDescriptors":{ + "shape":"IPSetDescriptors", + "documentation":"

    The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from. If the WebACL is associated with a CloudFront distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this is the value of the c-ip field in the CloudFront access logs.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128.

    To specify an individual IP address, you specify the four-part IP address followed by a /32, for example, 192.0.2.0/32. To block a range of IP addresses, you can specify /8 or any range between /16 through /32 (for IPv4) or /24, /32, /48, /56, /64, or /128 (for IPv6). For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + }, + "IPSetDescriptor":{ + "type":"structure", + "required":[ + "Type", + "Value" + ], + "members":{ + "Type":{ + "shape":"IPSetDescriptorType", + "documentation":"

    Specify IPV4 or IPV6.

    " + }, + "Value":{ + "shape":"IPSetDescriptorValue", + "documentation":"

    Specify an IPv4 address by using CIDR notation. For example:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    Specify an IPv6 address by using CIDR notation. For example:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) that web requests originate from.

    " + }, + "IPSetDescriptorType":{ + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "IPSetDescriptorValue":{ + "type":"string", + "max":50, + "min":1, + "pattern":".*\\S.*" + }, + "IPSetDescriptors":{ + "type":"list", + "member":{"shape":"IPSetDescriptor"} + }, + "IPSetSummaries":{ + "type":"list", + "member":{"shape":"IPSetSummary"} + }, + "IPSetSummary":{ + "type":"structure", + "required":[ + "IPSetId", + "Name" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId for an IPSet. You can use IPSetId in a GetIPSet request to get detailed information about an IPSet.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the IPSet. You can't change the name of an IPSet after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name of the IPSet.

    " + }, + "IPSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "IPSetDescriptor" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete an IP address with UpdateIPSet.

    " + }, + "IPSetDescriptor":{ + "shape":"IPSetDescriptor", + "documentation":"

    The IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) that web requests originate from.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the type of update to perform to an IPSet with UpdateIPSet.

    " + }, + "IPSetUpdates":{ + "type":"list", + "member":{"shape":"IPSetUpdate"}, + "min":1 + }, + "IPString":{"type":"string"}, + "IgnoreUnsupportedType":{"type":"boolean"}, + "ListActivatedRulesInRuleGroupRequest":{ + "type":"structure", + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup for which you want to get a list of ActivatedRule objects.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more ActivatedRules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ActivatedRules. For the second and subsequent ListActivatedRulesInRuleGroup requests, specify the value of NextMarker from the previous response to get information about another batch of ActivatedRules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of ActivatedRules that you want AWS WAF to return for this request. If you have more ActivatedRules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ActivatedRules.

    " + } + } + }, + "ListActivatedRulesInRuleGroupResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more ActivatedRules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ActivatedRules, submit another ListActivatedRulesInRuleGroup request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "ActivatedRules":{ + "shape":"ActivatedRules", + "documentation":"

    An array of ActivatedRules objects.

    " + } + } + }, + "ListByteMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more ByteMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListByteMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of ByteMatchSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of ByteMatchSet objects that you want AWS WAF to return for this request. If you have more ByteMatchSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of ByteMatchSet objects.

    " + } + } + }, + "ListByteMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more ByteMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more ByteMatchSet objects, submit another ListByteMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "ByteMatchSets":{ + "shape":"ByteMatchSetSummaries", + "documentation":"

    An array of ByteMatchSetSummary objects.

    " + } + } + }, + "ListGeoMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more GeoMatchSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of GeoMatchSet objects. For the second and subsequent ListGeoMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of GeoMatchSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of GeoMatchSet objects that you want AWS WAF to return for this request. If you have more GeoMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of GeoMatchSet objects.

    " + } + } + }, + "ListGeoMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more GeoMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more GeoMatchSet objects, submit another ListGeoMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "GeoMatchSets":{ + "shape":"GeoMatchSetSummaries", + "documentation":"

    An array of GeoMatchSetSummary objects.

    " + } + } + }, + "ListIPSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    AWS WAF returns a NextMarker value in the response that allows you to list another group of IPSets. For the second and subsequent ListIPSets requests, specify the value of NextMarker from the previous response to get information about another batch of IPSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of IPSet objects that you want AWS WAF to return for this request. If you have more IPSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of IPSet objects.

    " + } + } + }, + "ListIPSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    To list more IPSet objects, submit another ListIPSets request, and in the next request use the NextMarker response value as the NextMarker value.

    " + }, + "IPSets":{ + "shape":"IPSetSummaries", + "documentation":"

    An array of IPSetSummary objects.

    " + } + } + }, + "ListLoggingConfigurationsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more LoggingConfigurations than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of LoggingConfigurations. For the second and subsequent ListLoggingConfigurations requests, specify the value of NextMarker from the previous response to get information about another batch of ListLoggingConfigurations.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of LoggingConfigurations that you want AWS WAF to return for this request. If you have more LoggingConfigurations than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of LoggingConfigurations.

    " + } + } + }, + "ListLoggingConfigurationsResponse":{ + "type":"structure", + "members":{ + "LoggingConfigurations":{ + "shape":"LoggingConfigurations", + "documentation":"

    An array of LoggingConfiguration objects.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more LoggingConfigurations than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more LoggingConfigurations, submit another ListLoggingConfigurations request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + } + } + }, + "ListRateBasedRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRateBasedRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + } + }, + "ListRateBasedRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRateBasedRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

    An array of RuleSummary objects.

    " + } + } + }, + "ListRegexMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RegexMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of ByteMatchSets. For the second and subsequent ListRegexMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexMatchSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RegexMatchSet objects that you want AWS WAF to return for this request. If you have more RegexMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexMatchSet objects.

    " + } + } + }, + "ListRegexMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RegexMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexMatchSet objects, submit another ListRegexMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RegexMatchSets":{ + "shape":"RegexMatchSetSummaries", + "documentation":"

    An array of RegexMatchSetSummary objects.

    " + } + } + }, + "ListRegexPatternSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RegexPatternSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RegexPatternSet objects. For the second and subsequent ListRegexPatternSets requests, specify the value of NextMarker from the previous response to get information about another batch of RegexPatternSet objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RegexPatternSet objects that you want AWS WAF to return for this request. If you have more RegexPatternSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RegexPatternSet objects.

    " + } + } + }, + "ListRegexPatternSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RegexPatternSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RegexPatternSet objects, submit another ListRegexPatternSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RegexPatternSets":{ + "shape":"RegexPatternSetSummaries", + "documentation":"

    An array of RegexPatternSetSummary objects.

    " + } + } + }, + "ListResourcesForWebACLRequest":{ + "type":"structure", + "required":["WebACLId"], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The unique identifier (ID) of the web ACL for which to list the associated resources.

    " + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    The type of resource to list, either an application load balancer or Amazon API Gateway.

    " + } + } + }, + "ListResourcesForWebACLResponse":{ + "type":"structure", + "members":{ + "ResourceArns":{ + "shape":"ResourceArns", + "documentation":"

    An array of ARNs (Amazon Resource Names) of the resources associated with the specified web ACL. An array with zero elements is returned if there are no resources associated with the web ACL.

    " + } + } + }, + "ListRuleGroupsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more RuleGroups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of RuleGroups. For the second and subsequent ListRuleGroups requests, specify the value of NextMarker from the previous response to get information about another batch of RuleGroups.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of RuleGroups that you want AWS WAF to return for this request. If you have more RuleGroups than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of RuleGroups.

    " + } + } + }, + "ListRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more RuleGroups than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more RuleGroups, submit another ListRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RuleGroups":{ + "shape":"RuleGroupSummaries", + "documentation":"

    An array of RuleGroup objects.

    " + } + } + }, + "ListRulesRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more Rules than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of Rules. For the second and subsequent ListRules requests, specify the value of NextMarker from the previous response to get information about another batch of Rules.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of Rules that you want AWS WAF to return for this request. If you have more Rules than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + } + }, + "ListRulesResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more Rules than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more Rules, submit another ListRules request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

    An array of RuleSummary objects.

    " + } + } + }, + "ListSizeConstraintSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more SizeConstraintSets than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SizeConstraintSets. For the second and subsequent ListSizeConstraintSets requests, specify the value of NextMarker from the previous response to get information about another batch of SizeConstraintSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of SizeConstraintSet objects that you want AWS WAF to return for this request. If you have more SizeConstraintSets objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of SizeConstraintSet objects.

    " + } + } + }, + "ListSizeConstraintSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more SizeConstraintSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SizeConstraintSet objects, submit another ListSizeConstraintSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "SizeConstraintSets":{ + "shape":"SizeConstraintSetSummaries", + "documentation":"

    An array of SizeConstraintSetSummary objects.

    " + } + } + }, + "ListSqlInjectionMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more SqlInjectionMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of SqlInjectionMatchSets. For the second and subsequent ListSqlInjectionMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of SqlInjectionMatchSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of SqlInjectionMatchSet objects that you want AWS WAF to return for this request. If you have more SqlInjectionMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + }, + "documentation":"

    A request to list the SqlInjectionMatchSet objects created by the current AWS account.

    " + }, + "ListSqlInjectionMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more SqlInjectionMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more SqlInjectionMatchSet objects, submit another ListSqlInjectionMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "SqlInjectionMatchSets":{ + "shape":"SqlInjectionMatchSetSummaries", + "documentation":"

    An array of SqlInjectionMatchSetSummary objects.

    " + } + }, + "documentation":"

    The response to a ListSqlInjectionMatchSets request.

    " + }, + "ListSubscribedRuleGroupsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more ByteMatchSetssubscribed rule groups than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of subscribed rule groups. For the second and subsequent ListSubscribedRuleGroupsRequest requests, specify the value of NextMarker from the previous response to get information about another batch of subscribed rule groups.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of subscribed rule groups that you want AWS WAF to return for this request. If you have more objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of objects.

    " + } + } + }, + "ListSubscribedRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more objects, submit another ListSubscribedRuleGroups request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "RuleGroups":{ + "shape":"SubscribedRuleGroupSummaries", + "documentation":"

    An array of RuleGroup objects.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    " + }, + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    " + }, + "TagInfoForResource":{ + "shape":"TagInfoForResource", + "documentation":"

    " + } + } + }, + "ListWebACLsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more WebACL objects than the number that you specify for Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of WebACL objects. For the second and subsequent ListWebACLs requests, specify the value of NextMarker from the previous response to get information about another batch of WebACL objects.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of WebACL objects that you want AWS WAF to return for this request. If you have more WebACL objects than the number that you specify for Limit, the response includes a NextMarker value that you can use to get another batch of WebACL objects.

    " + } + } + }, + "ListWebACLsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more WebACL objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more WebACL objects, submit another ListWebACLs request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "WebACLs":{ + "shape":"WebACLSummaries", + "documentation":"

    An array of WebACLSummary objects.

    " + } + } + }, + "ListXssMatchSetsRequest":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you specify a value for Limit and you have more XssMatchSet objects than the value of Limit, AWS WAF returns a NextMarker value in the response that allows you to list another group of XssMatchSets. For the second and subsequent ListXssMatchSets requests, specify the value of NextMarker from the previous response to get information about another batch of XssMatchSets.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    Specifies the number of XssMatchSet objects that you want AWS WAF to return for this request. If you have more XssMatchSet objects than the number you specify for Limit, the response includes a NextMarker value that you can use to get another batch of Rules.

    " + } + }, + "documentation":"

    A request to list the XssMatchSet objects created by the current AWS account.

    " + }, + "ListXssMatchSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    If you have more XssMatchSet objects than the number that you specified for Limit in the request, the response includes a NextMarker value. To list more XssMatchSet objects, submit another ListXssMatchSets request, and specify the NextMarker value from the response in the NextMarker value in the next request.

    " + }, + "XssMatchSets":{ + "shape":"XssMatchSetSummaries", + "documentation":"

    An array of XssMatchSetSummary objects.

    " + } + }, + "documentation":"

    The response to a ListXssMatchSets request.

    " + }, + "LogDestinationConfigs":{ + "type":"list", + "member":{"shape":"ResourceArn"}, + "max":1, + "min":1 + }, + "LoggingConfiguration":{ + "type":"structure", + "required":[ + "ResourceArn", + "LogDestinationConfigs" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

    " + }, + "LogDestinationConfigs":{ + "shape":"LogDestinationConfigs", + "documentation":"

    An array of Amazon Kinesis Data Firehose ARNs.

    " + }, + "RedactedFields":{ + "shape":"RedactedFields", + "documentation":"

    The parts of the request that you want redacted from the logs. For example, if you redact the cookie field, the cookie field in the firehose will be xxx.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Amazon Kinesis Data Firehose, RedactedFields information, and the web ACL Amazon Resource Name (ARN).

    " + }, + "LoggingConfigurations":{ + "type":"list", + "member":{"shape":"LoggingConfiguration"} + }, + "ManagedKey":{"type":"string"}, + "ManagedKeys":{ + "type":"list", + "member":{"shape":"ManagedKey"} + }, + "MatchFieldData":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "MatchFieldType":{ + "type":"string", + "enum":[ + "URI", + "QUERY_STRING", + "HEADER", + "METHOD", + "BODY", + "SINGLE_QUERY_ARG", + "ALL_QUERY_ARGS" + ] + }, + "MetricName":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "MigrationErrorType":{ + "type":"string", + "enum":[ + "ENTITY_NOT_SUPPORTED", + "ENTITY_NOT_FOUND", + "S3_BUCKET_NO_PERMISSION", + "S3_BUCKET_NOT_ACCESSIBLE", + "S3_BUCKET_NOT_FOUND", + "S3_BUCKET_INVALID_REGION", + "S3_INTERNAL_ERROR" + ] + }, + "Negated":{"type":"boolean"}, + "NextMarker":{ + "type":"string", + "max":1224, + "min":1, + "pattern":".*\\S.*" + }, + "PaginationLimit":{ + "type":"integer", + "max":100, + "min":0 + }, + "ParameterExceptionField":{ + "type":"string", + "enum":[ + "CHANGE_ACTION", + "WAF_ACTION", + "WAF_OVERRIDE_ACTION", + "PREDICATE_TYPE", + "IPSET_TYPE", + "BYTE_MATCH_FIELD_TYPE", + "SQL_INJECTION_MATCH_FIELD_TYPE", + "BYTE_MATCH_TEXT_TRANSFORMATION", + "BYTE_MATCH_POSITIONAL_CONSTRAINT", + "SIZE_CONSTRAINT_COMPARISON_OPERATOR", + "GEO_MATCH_LOCATION_TYPE", + "GEO_MATCH_LOCATION_VALUE", + "RATE_KEY", + "RULE_TYPE", + "NEXT_MARKER", + "RESOURCE_ARN", + "TAGS", + "TAG_KEYS" + ] + }, + "ParameterExceptionParameter":{ + "type":"string", + "min":1 + }, + "ParameterExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_OPTION", + "ILLEGAL_COMBINATION", + "ILLEGAL_ARGUMENT", + "INVALID_TAG_KEY" + ] + }, + "PolicyString":{ + "type":"string", + "max":395000, + "min":1, + "pattern":".*\\S.*" + }, + "PopulationSize":{"type":"long"}, + "PositionalConstraint":{ + "type":"string", + "enum":[ + "EXACTLY", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS", + "CONTAINS_WORD" + ] + }, + "Predicate":{ + "type":"structure", + "required":[ + "Negated", + "Type", + "DataId" + ], + "members":{ + "Negated":{ + "shape":"Negated", + "documentation":"

    Set Negated to False if you want AWS WAF to allow, block, or count requests based on the settings in the specified ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow or block requests based on that IP address.

    Set Negated to True if you want AWS WAF to allow or block a request based on the negation of the settings in the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, or SizeConstraintSet. For example, if an IPSet includes the IP address 192.0.2.44, AWS WAF will allow, block, or count requests based on all IP addresses except 192.0.2.44.

    " + }, + "Type":{ + "shape":"PredicateType", + "documentation":"

    The type of predicate in a Rule, such as ByteMatch or IPSet.

    " + }, + "DataId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a predicate in a Rule, such as ByteMatchSetId or IPSetId. The ID is returned by the corresponding Create or List command.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the ByteMatchSet, IPSet, SqlInjectionMatchSet, XssMatchSet, RegexMatchSet, GeoMatchSet, and SizeConstraintSet objects that you want to add to a Rule and, for each object, indicates whether you want to negate the settings, for example, requests that do NOT originate from the IP address 192.0.2.44.

    " + }, + "PredicateType":{ + "type":"string", + "enum":[ + "IPMatch", + "ByteMatch", + "SqlInjectionMatch", + "GeoMatch", + "SizeConstraint", + "XssMatch", + "RegexMatch" + ] + }, + "Predicates":{ + "type":"list", + "member":{"shape":"Predicate"} + }, + "PutLoggingConfigurationRequest":{ + "type":"structure", + "required":["LoggingConfiguration"], + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The Amazon Kinesis Data Firehose that contains the inspected traffic information, the redacted fields details, and the Amazon Resource Name (ARN) of the web ACL to monitor.

    When specifying Type in RedactedFields, you must use one of the following values: URI, QUERY_STRING, HEADER, or METHOD.

    " + } + } + }, + "PutLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration that you submitted in the request.

    " + } + } + }, + "PutPermissionPolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

    " + }, + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The policy to attach to the specified RuleGroup.

    " + } + } + }, + "PutPermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "RateBasedRule":{ + "type":"structure", + "required":[ + "RuleId", + "MatchPredicates", + "RateKey", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RateBasedRule. You use RuleId to get more information about a RateBasedRule (see GetRateBasedRule), update a RateBasedRule (see UpdateRateBasedRule), insert a RateBasedRule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RateBasedRule from AWS WAF (see DeleteRateBasedRule).

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description for a RateBasedRule. You can't change the name of a RateBasedRule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for a RateBasedRule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RateBasedRule.

    " + }, + "MatchPredicates":{ + "shape":"Predicates", + "documentation":"

    The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a RateBasedRule.

    " + }, + "RateKey":{ + "shape":"RateKey", + "documentation":"

    The field that AWS WAF uses to determine if requests are likely arriving from single source and thus subject to rate monitoring. The only valid value for RateKey is IP. IP indicates that requests arriving from the same IP address are subject to the RateLimit that is specified in the RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A RateBasedRule is identical to a regular Rule, with one addition: a RateBasedRule counts the number of requests that arrive from a specified IP address every five minutes. For example, based on recent requests that you've seen from an attacker, you might create a RateBasedRule that includes the following conditions:

    • The requests come from 192.0.2.44.

    • They contain the value BadBot in the User-Agent header.

    In the rule, you also define the rate limit as 1,000.

    Requests that meet both of these conditions and exceed 1,000 requests every five minutes trigger the rule's action (block or count), which is defined in the web ACL.

    " + }, + "RateKey":{ + "type":"string", + "enum":["IP"] + }, + "RateLimit":{ + "type":"long", + "max":2000000000, + "min":100 + }, + "RedactedFields":{ + "type":"list", + "member":{"shape":"FieldToMatch"} + }, + "RegexMatchSet":{ + "type":"structure", + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet (see GetRegexMatchSet), update a RegexMatchSet (see UpdateRegexMatchSet), insert a RegexMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a RegexMatchSet from AWS WAF (see DeleteRegexMatchSet).

    RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " + }, + "RegexMatchTuples":{ + "shape":"RegexMatchTuples", + "documentation":"

    Contains an array of RegexMatchTuple objects. Each RegexMatchTuple object contains:

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetRegexMatchSet request, RegexMatchSet is a complex type that contains the RegexMatchSetId and Name of a RegexMatchSet, and the values that you specified when you updated the RegexMatchSet.

    The values are contained in a RegexMatchTuple object, which specify the parts of web requests that you want AWS WAF to inspect and the values that you want AWS WAF to search for. If a RegexMatchSet contains more than one RegexMatchTuple object, a request needs to match the settings in only one ByteMatchTuple to be considered a match.

    " + }, + "RegexMatchSetSummaries":{ + "type":"list", + "member":{"shape":"RegexMatchSetSummary"} + }, + "RegexMatchSetSummary":{ + "type":"structure", + "required":[ + "RegexMatchSetId", + "Name" + ], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId for a RegexMatchSet. You use RegexMatchSetId to get information about a RegexMatchSet, update a RegexMatchSet, remove a RegexMatchSet from a Rule, and delete a RegexMatchSet from AWS WAF.

    RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListRegexMatchSets. Each RegexMatchSetSummary object includes the Name and RegexMatchSetId for one RegexMatchSet.

    " + }, + "RegexMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "RegexMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a RegexMatchTuple.

    " + }, + "RegexMatchTuple":{ + "shape":"RegexMatchTuple", + "documentation":"

    Information about the part of a web request that you want AWS WAF to inspect and the identifier of the regular expression (regex) pattern that you want AWS WAF to search for. If you specify DELETE for the value of Action, the RegexMatchTuple values must exactly match the values in the RegexMatchTuple that you want to delete from the RegexMatchSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateRegexMatchSet request, RegexMatchSetUpdate specifies whether to insert or delete a RegexMatchTuple and includes the settings for the RegexMatchTuple.

    " + }, + "RegexMatchSetUpdates":{ + "type":"list", + "member":{"shape":"RegexMatchSetUpdate"}, + "min":1 + }, + "RegexMatchTuple":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation", + "RegexPatternSetId" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for the RegexPatternSet.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on RegexPatternSet before inspecting a request for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system commandline command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + }, + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet (see GetRegexPatternSet), update a RegexPatternSet (see UpdateRegexPatternSet), insert a RegexPatternSet into a RegexMatchSet or delete one from a RegexMatchSet (see UpdateRegexMatchSet), and delete an RegexPatternSet from AWS WAF (see DeleteRegexPatternSet).

    RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The regular expression pattern that you want AWS WAF to search for in web requests, the location in requests that you want AWS WAF to search, and other settings. Each RegexMatchTuple object contains:

    • The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent header.

    • The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.

    • Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.

    " + }, + "RegexMatchTuples":{ + "type":"list", + "member":{"shape":"RegexMatchTuple"} + }, + "RegexPatternSet":{ + "type":"structure", + "required":[ + "RegexPatternSetId", + "RegexPatternStrings" + ], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The identifier for the RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

    RegexMatchSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " + }, + "RegexPatternStrings":{ + "shape":"RegexPatternStrings", + "documentation":"

    Specifies the regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The RegexPatternSet specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those requests.

    " + }, + "RegexPatternSetSummaries":{ + "type":"list", + "member":{"shape":"RegexPatternSetSummary"} + }, + "RegexPatternSetSummary":{ + "type":"structure", + "required":[ + "RegexPatternSetId", + "Name" + ], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId for a RegexPatternSet. You use RegexPatternSetId to get information about a RegexPatternSet, update a RegexPatternSet, remove a RegexPatternSet from a RegexMatchSet, and delete a RegexPatternSet from AWS WAF.

    RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RegexPatternSet. You can't change Name after you create a RegexPatternSet.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Returned by ListRegexPatternSets. Each RegexPatternSetSummary object includes the Name and RegexPatternSetId for one RegexPatternSet.

    " + }, + "RegexPatternSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "RegexPatternString" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert or delete a RegexPatternString.

    " + }, + "RegexPatternString":{ + "shape":"RegexPatternString", + "documentation":"

    Specifies the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In an UpdateRegexPatternSet request, RegexPatternSetUpdate specifies whether to insert or delete a RegexPatternString and includes the settings for the RegexPatternString.

    " + }, + "RegexPatternSetUpdates":{ + "type":"list", + "member":{"shape":"RegexPatternSetUpdate"}, + "min":1 + }, + "RegexPatternString":{ + "type":"string", + "max":512, + "min":1, + "pattern":".*" + }, + "RegexPatternStrings":{ + "type":"list", + "member":{"shape":"RegexPatternString"}, + "max":10 + }, + "ResourceArn":{ + "type":"string", + "max":1224, + "min":1, + "pattern":".*\\S.*" + }, + "ResourceArns":{ + "type":"list", + "member":{"shape":"ResourceArn"} + }, + "ResourceId":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "ResourceName":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "ResourceType":{ + "type":"string", + "enum":[ + "APPLICATION_LOAD_BALANCER", + "API_GATEWAY" + ] + }, + "Rule":{ + "type":"structure", + "required":[ + "RuleId", + "Predicates" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

    RuleId is returned by CreateRule and by ListRules.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The friendly name or description for the Rule. You can't change the name of a Rule after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the Rule.

    " + }, + "Predicates":{ + "shape":"Predicates", + "documentation":"

    The Predicates object contains one Predicate element for each ByteMatchSet, IPSet, or SqlInjectionMatchSet object that you want to include in a Rule.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A combination of ByteMatchSet, IPSet, and/or SqlInjectionMatchSet objects that identify the web requests that you want to allow, block, or count. For example, you might create a Rule that includes the following predicates:

    • An IPSet that causes AWS WAF to search for web requests that originate from the IP address 192.0.2.44

    • A ByteMatchSet that causes AWS WAF to search for web requests for which the value of the User-Agent header is BadBot.

    To match the settings in this Rule, a request must originate from 192.0.2.44 AND include a User-Agent header for which the value is BadBot.

    " + }, + "RuleGroup":{ + "type":"structure", + "required":["RuleGroupId"], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete a one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

    RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The friendly name or description for the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A collection of predefined rules that you can add to a web ACL.

    Rule groups are subject to the following limits:

    • Three rule groups per account. You can request an increase to this limit by contacting customer support.

    • One rule group per web ACL.

    • Ten rules per rule group.

    " + }, + "RuleGroupSummaries":{ + "type":"list", + "member":{"shape":"RuleGroupSummary"} + }, + "RuleGroupSummary":{ + "type":"structure", + "required":[ + "RuleGroupId", + "Name" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RuleGroup. You use RuleGroupId to get more information about a RuleGroup (see GetRuleGroup), update a RuleGroup (see UpdateRuleGroup), insert a RuleGroup into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a RuleGroup from AWS WAF (see DeleteRuleGroup).

    RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the friendly name or description of the RuleGroup.

    " + }, + "RuleGroupUpdate":{ + "type":"structure", + "required":[ + "Action", + "ActivatedRule" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add an ActivatedRule to a RuleGroup. Use DELETE to remove an ActivatedRule from a RuleGroup.

    " + }, + "ActivatedRule":{ + "shape":"ActivatedRule", + "documentation":"

    The ActivatedRule object specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies an ActivatedRule and indicates whether you want to add it to a RuleGroup or delete it from a RuleGroup.

    " + }, + "RuleGroupUpdates":{ + "type":"list", + "member":{"shape":"RuleGroupUpdate"}, + "min":1 + }, + "RulePriority":{"type":"integer"}, + "RuleSummaries":{ + "type":"list", + "member":{"shape":"RuleSummary"} + }, + "RuleSummary":{ + "type":"structure", + "required":[ + "RuleId", + "Name" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a Rule. You use RuleId to get more information about a Rule (see GetRule), update a Rule (see UpdateRule), insert a Rule into a WebACL or delete one from a WebACL (see UpdateWebACL), or delete a Rule from AWS WAF (see DeleteRule).

    RuleId is returned by CreateRule and by ListRules.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the Rule. You can't change the name of a Rule after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the friendly name or description of the Rule.

    " + }, + "RuleUpdate":{ + "type":"structure", + "required":[ + "Action", + "Predicate" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add a Predicate to a Rule. Use DELETE to remove a Predicate from a Rule.

    " + }, + "Predicate":{ + "shape":"Predicate", + "documentation":"

    The ID of the Predicate (such as an IPSet) that you want to add to a Rule.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies a Predicate (such as an IPSet) and indicates whether you want to add it to a Rule or delete it from a Rule.

    " + }, + "RuleUpdates":{ + "type":"list", + "member":{"shape":"RuleUpdate"} + }, + "S3BucketName":{ + "type":"string", + "max":63, + "min":3, + "pattern":"^aws-waf-migration-[0-9A-Za-z\\.\\-_]*" + }, + "S3ObjectUrl":{ + "type":"string", + "min":1 + }, + "SampleWeight":{ + "type":"long", + "min":0 + }, + "SampledHTTPRequest":{ + "type":"structure", + "required":[ + "Request", + "Weight" + ], + "members":{ + "Request":{ + "shape":"HTTPRequest", + "documentation":"

    A complex type that contains detailed information about the request.

    " + }, + "Weight":{ + "shape":"SampleWeight", + "documentation":"

    A value that indicates how one result in the response relates proportionally to other results in the response. A result that has a weight of 2 represents roughly twice as many CloudFront web requests as a result that has a weight of 1.

    " + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

    " + }, + "Action":{ + "shape":"Action", + "documentation":"

    The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

    " + }, + "RuleWithinRuleGroup":{ + "shape":"ResourceId", + "documentation":"

    This value is returned if the GetSampledRequests request specifies the ID of a RuleGroup rather than the ID of an individual rule. RuleWithinRuleGroup is the rule within the specified RuleGroup that matched the request listed in the response.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The response from a GetSampledRequests request includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains one SampledHTTPRequest object for each web request that is returned by GetSampledRequests.

    " + }, + "SampledHTTPRequests":{ + "type":"list", + "member":{"shape":"SampledHTTPRequest"} + }, + "Size":{ + "type":"long", + "max":21474836480, + "min":0 + }, + "SizeConstraint":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation", + "ComparisonOperator", + "Size" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for the size constraint.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    Note that if you choose BODY for the value of Type, you must choose NONE for TextTransformation because CloudFront forwards only the first 8192 bytes for inspection.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    " + }, + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

    The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided Size and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    EQ: Used to test if the Size is equal to the size of the FieldToMatch

    NE: Used to test if the Size is not equal to the size of the FieldToMatch

    LE: Used to test if the Size is less than or equal to the size of the FieldToMatch

    LT: Used to test if the Size is strictly less than the size of the FieldToMatch

    GE: Used to test if the Size is greater than or equal to the size of the FieldToMatch

    GT: Used to test if the Size is strictly greater than the size of the FieldToMatch

    " + }, + "Size":{ + "shape":"Size", + "documentation":"

    The size in bytes that you want AWS WAF to compare against the size of the specified FieldToMatch. AWS WAF uses this in combination with ComparisonOperator and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).

    If you specify URI for the value of Type, the / in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    " + }, + "SizeConstraintSet":{ + "type":"structure", + "required":[ + "SizeConstraintSetId", + "SizeConstraints" + ], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

    SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name, if any, of the SizeConstraintSet.

    " + }, + "SizeConstraints":{ + "shape":"SizeConstraints", + "documentation":"

    Specifies the parts of web requests that you want to inspect the size of.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains SizeConstraint objects, which specify the parts of web requests that you want AWS WAF to inspect the size of. If a SizeConstraintSet contains more than one SizeConstraint object, a request only needs to match one constraint to be considered a match.

    " + }, + "SizeConstraintSetSummaries":{ + "type":"list", + "member":{"shape":"SizeConstraintSetSummary"} + }, + "SizeConstraintSetSummary":{ + "type":"structure", + "required":[ + "SizeConstraintSetId", + "Name" + ], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a SizeConstraintSet. You use SizeConstraintSetId to get information about a SizeConstraintSet (see GetSizeConstraintSet), update a SizeConstraintSet (see UpdateSizeConstraintSet), insert a SizeConstraintSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SizeConstraintSet from AWS WAF (see DeleteSizeConstraintSet).

    SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the SizeConstraintSet, if any.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of a SizeConstraintSet.

    " + }, + "SizeConstraintSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "SizeConstraint" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add a SizeConstraintSetUpdate to a SizeConstraintSet. Use DELETE to remove a SizeConstraintSetUpdate from a SizeConstraintSet.

    " + }, + "SizeConstraint":{ + "shape":"SizeConstraint", + "documentation":"

    Specifies a constraint on the size of a part of the web request. AWS WAF uses the Size, ComparisonOperator, and FieldToMatch to build an expression in the form of \"Size ComparisonOperator size in bytes of FieldToMatch\". If that expression is true, the SizeConstraint is considered to match.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect the size of and indicates whether you want to add the specification to a SizeConstraintSet or delete it from a SizeConstraintSet.

    " + }, + "SizeConstraintSetUpdates":{ + "type":"list", + "member":{"shape":"SizeConstraintSetUpdate"}, + "min":1 + }, + "SizeConstraints":{ + "type":"list", + "member":{"shape":"SizeConstraint"} + }, + "SqlInjectionMatchSet":{ + "type":"structure", + "required":[ + "SqlInjectionMatchSetId", + "SqlInjectionMatchTuples" + ], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

    SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name, if any, of the SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchTuples":{ + "shape":"SqlInjectionMatchTuples", + "documentation":"

    Specifies the parts of web requests that you want to inspect for snippets of malicious SQL code.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains SqlInjectionMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header. If a SqlInjectionMatchSet contains more than one SqlInjectionMatchTuple object, a request needs to include snippets of SQL code in only one of the specified parts of the request to be considered a match.

    " + }, + "SqlInjectionMatchSetSummaries":{ + "type":"list", + "member":{"shape":"SqlInjectionMatchSetSummary"} + }, + "SqlInjectionMatchSetSummary":{ + "type":"structure", + "required":[ + "SqlInjectionMatchSetId", + "Name" + ], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a SqlInjectionMatchSet. You use SqlInjectionMatchSetId to get information about a SqlInjectionMatchSet (see GetSqlInjectionMatchSet), update a SqlInjectionMatchSet (see UpdateSqlInjectionMatchSet), insert a SqlInjectionMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete a SqlInjectionMatchSet from AWS WAF (see DeleteSqlInjectionMatchSet).

    SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the SqlInjectionMatchSet, if any, specified by Id.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "SqlInjectionMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add a SqlInjectionMatchSetUpdate to a SqlInjectionMatchSet. Use DELETE to remove a SqlInjectionMatchSetUpdate from a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchTuple":{ + "shape":"SqlInjectionMatchTuple", + "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect for snippets of malicious SQL code and indicates whether you want to add the specification to a SqlInjectionMatchSet or delete it from a SqlInjectionMatchSet.

    " + }, + "SqlInjectionMatchSetUpdates":{ + "type":"list", + "member":{"shape":"SqlInjectionMatchSetUpdate"}, + "min":1 + }, + "SqlInjectionMatchTuple":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for snippets of malicious SQL code.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want AWS WAF to inspect for snippets of malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.

    " + }, + "SqlInjectionMatchTuples":{ + "type":"list", + "member":{"shape":"SqlInjectionMatchTuple"} + }, + "SubscribedRuleGroupSummaries":{ + "type":"list", + "member":{"shape":"SubscribedRuleGroupSummary"} + }, + "SubscribedRuleGroupSummary":{ + "type":"structure", + "required":[ + "RuleGroupId", + "Name", + "MetricName" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a RuleGroup.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the RuleGroup. You can't change the name of a RuleGroup after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this RuleGroup. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change the name of the metric after you create the RuleGroup.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A summary of the rule groups you are subscribed to.

    " + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "TagInfoForResource":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "TagList":{ + "shape":"TagList", + "documentation":"

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Information for a tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.

    Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups, and rules.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":".*" + }, + "TextTransformation":{ + "type":"string", + "enum":[ + "NONE", + "COMPRESS_WHITE_SPACE", + "HTML_ENTITY_DECODE", + "LOWERCASE", + "CMD_LINE", + "URL_DECODE" + ] + }, + "TimeWindow":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. You must specify the date and time in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

    You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, \"2016-09-27T14:50Z\".

    In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

    " + }, + "Timestamp":{"type":"timestamp"}, + "URIString":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateByteMatchSetRequest":{ + "type":"structure", + "required":[ + "ByteMatchSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "ByteMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"ByteMatchSetUpdates", + "documentation":"

    An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types:

    " + } + } + }, + "UpdateByteMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateByteMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateGeoMatchSetRequest":{ + "type":"structure", + "required":[ + "GeoMatchSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "GeoMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The GeoMatchSetId of the GeoMatchSet that you want to update. GeoMatchSetId is returned by CreateGeoMatchSet and by ListGeoMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"GeoMatchSetUpdates", + "documentation":"

    An array of GeoMatchSetUpdate objects that you want to insert into or delete from an GeoMatchSet. For more information, see the applicable data types:

    • GeoMatchSetUpdate: Contains Action and GeoMatchConstraint

    • GeoMatchConstraint: Contains Type and Value

      You can have only one Type and Value per GeoMatchConstraint. To add multiple countries, include multiple GeoMatchSetUpdate objects in your request.

    " + } + } + }, + "UpdateGeoMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateGeoMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateIPSetRequest":{ + "type":"structure", + "required":[ + "IPSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "IPSetId":{ + "shape":"ResourceId", + "documentation":"

    The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"IPSetUpdates", + "documentation":"

    An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types:

    You can insert a maximum of 1000 addresses in a single request.

    " + } + } + }, + "UpdateIPSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateIPSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRateBasedRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken", + "Updates", + "RateLimit" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the RateBasedRule that you want to update. RuleId is returned by CreateRateBasedRule and by ListRateBasedRules.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"RuleUpdates", + "documentation":"

    An array of RuleUpdate objects that you want to insert into or delete from a RateBasedRule.

    " + }, + "RateLimit":{ + "shape":"RateLimit", + "documentation":"

    The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. If the number of requests exceeds the RateLimit and the other predicates specified in the rule are also met, AWS WAF triggers the action that is specified for this rule.

    " + } + } + }, + "UpdateRateBasedRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRateBasedRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRegexMatchSetRequest":{ + "type":"structure", + "required":[ + "RegexMatchSetId", + "Updates", + "ChangeToken" + ], + "members":{ + "RegexMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexMatchSetId of the RegexMatchSet that you want to update. RegexMatchSetId is returned by CreateRegexMatchSet and by ListRegexMatchSets.

    " + }, + "Updates":{ + "shape":"RegexMatchSetUpdates", + "documentation":"

    An array of RegexMatchSetUpdate objects that you want to insert into or delete from a RegexMatchSet. For more information, see RegexMatchTuple.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRegexMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "RegexPatternSetId", + "Updates", + "ChangeToken" + ], + "members":{ + "RegexPatternSetId":{ + "shape":"ResourceId", + "documentation":"

    The RegexPatternSetId of the RegexPatternSet that you want to update. RegexPatternSetId is returned by CreateRegexPatternSet and by ListRegexPatternSets.

    " + }, + "Updates":{ + "shape":"RegexPatternSetUpdates", + "documentation":"

    An array of RegexPatternSetUpdate objects that you want to insert into or delete from a RegexPatternSet.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRegexPatternSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRuleGroupRequest":{ + "type":"structure", + "required":[ + "RuleGroupId", + "Updates", + "ChangeToken" + ], + "members":{ + "RuleGroupId":{ + "shape":"ResourceId", + "documentation":"

    The RuleGroupId of the RuleGroup that you want to update. RuleGroupId is returned by CreateRuleGroup and by ListRuleGroups.

    " + }, + "Updates":{ + "shape":"RuleGroupUpdates", + "documentation":"

    An array of RuleGroupUpdate objects that you want to insert into or delete from a RuleGroup.

    You can only insert REGULAR rules into a rule group.

    ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + } + } + }, + "UpdateRuleGroupResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRuleGroup request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateRuleRequest":{ + "type":"structure", + "required":[ + "RuleId", + "ChangeToken", + "Updates" + ], + "members":{ + "RuleId":{ + "shape":"ResourceId", + "documentation":"

    The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"RuleUpdates", + "documentation":"

    An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types:

    " + } + } + }, + "UpdateRuleResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateRule request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateSizeConstraintSetRequest":{ + "type":"structure", + "required":[ + "SizeConstraintSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "SizeConstraintSetId":{ + "shape":"ResourceId", + "documentation":"

    The SizeConstraintSetId of the SizeConstraintSet that you want to update. SizeConstraintSetId is returned by CreateSizeConstraintSet and by ListSizeConstraintSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"SizeConstraintSetUpdates", + "documentation":"

    An array of SizeConstraintSetUpdate objects that you want to insert into or delete from a SizeConstraintSet. For more information, see the applicable data types:

    " + } + } + }, + "UpdateSizeConstraintSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateSizeConstraintSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateSqlInjectionMatchSetRequest":{ + "type":"structure", + "required":[ + "SqlInjectionMatchSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "SqlInjectionMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"SqlInjectionMatchSetUpdates", + "documentation":"

    An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types:

    " + } + }, + "documentation":"

    A request to update a SqlInjectionMatchSet.

    " + }, + "UpdateSqlInjectionMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateSqlInjectionMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to an UpdateSqlInjectionMatchSets request.

    " + }, + "UpdateWebACLRequest":{ + "type":"structure", + "required":[ + "WebACLId", + "ChangeToken" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    The WebACLId of the WebACL that you want to update. WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"WebACLUpdates", + "documentation":"

    An array of updates to make to the WebACL.

    An array of WebACLUpdate objects that you want to insert into or delete from a WebACL. For more information, see the applicable data types:

    • WebACLUpdate: Contains Action and ActivatedRule

    • ActivatedRule: Contains Action, OverrideAction, Priority, RuleId, and Type. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case, you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.

    • WafAction: Contains Type

    " + }, + "DefaultAction":{ + "shape":"WafAction", + "documentation":"

    A default action for the web ACL, either ALLOW or BLOCK. AWS WAF performs the default action if a request doesn't match the criteria in any of the rules in a web ACL.

    " + } + } + }, + "UpdateWebACLResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateWebACL request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + } + }, + "UpdateXssMatchSetRequest":{ + "type":"structure", + "required":[ + "XssMatchSetId", + "ChangeToken", + "Updates" + ], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    The XssMatchSetId of the XssMatchSet that you want to update. XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + }, + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The value returned by the most recent call to GetChangeToken.

    " + }, + "Updates":{ + "shape":"XssMatchSetUpdates", + "documentation":"

    An array of XssMatchSetUpdate objects that you want to insert into or delete from an XssMatchSet. For more information, see the applicable data types:

    " + } + }, + "documentation":"

    A request to update an XssMatchSet.

    " + }, + "UpdateXssMatchSetResponse":{ + "type":"structure", + "members":{ + "ChangeToken":{ + "shape":"ChangeToken", + "documentation":"

    The ChangeToken that you used to submit the UpdateXssMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

    " + } + }, + "documentation":"

    The response to an UpdateXssMatchSets request.

    " + }, + "WAFBadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "WAFDisallowedNameException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The name specified is invalid.

    ", + "exception":true + }, + "WAFEntityMigrationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"}, + "MigrationErrorType":{"shape":"MigrationErrorType"}, + "MigrationErrorReason":{"shape":"ErrorReason"} + }, + "documentation":"

    The operation failed due to a problem with the migration. The failure cause is provided in the exception, in the MigrationErrorType:

    • ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the IgnoreUnsupportedType is not set to true.

    • ENTITY_NOT_FOUND - The web ACL doesn't exist.

    • S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject action to the specified Amazon S3 bucket.

    • S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to perform the PutObject action in the bucket.

    • S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist.

    • S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as the web ACL.

    • S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3 bucket for another reason.

    ", + "exception":true + }, + "WAFInternalErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because of a system problem, even though the request was valid. Retry your request.

    ", + "exception":true, + "fault":true + }, + "WAFInvalidAccountException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

    ", + "exception":true + }, + "WAFInvalidOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because there was nothing to do. For example:

    • You tried to remove a Rule from a WebACL, but the Rule isn't in the specified WebACL.

    • You tried to remove an IP address from an IPSet, but the IP address isn't in the specified IPSet.

    • You tried to remove a ByteMatchTuple from a ByteMatchSet, but the ByteMatchTuple isn't in the specified WebACL.

    • You tried to add a Rule to a WebACL, but the Rule already exists in the specified WebACL.

    • You tried to add a ByteMatchTuple to a ByteMatchSet, but the ByteMatchTuple already exists in the specified WebACL.

    ", + "exception":true + }, + "WAFInvalidParameterException":{ + "type":"structure", + "members":{ + "field":{"shape":"ParameterExceptionField"}, + "parameter":{"shape":"ParameterExceptionParameter"}, + "reason":{"shape":"ParameterExceptionReason"} + }, + "documentation":"

    The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

    • You specified an invalid parameter name.

    • You specified an invalid value.

    • You tried to update an object (ByteMatchSet, IPSet, Rule, or WebACL) using an action other than INSERT or DELETE.

    • You tried to create a WebACL with a DefaultAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to create a RateBasedRule with a RateKey value other than IP.

    • You tried to update a WebACL with a WafAction Type other than ALLOW, BLOCK, or COUNT.

    • You tried to update a ByteMatchSet with a FieldToMatch Type other than HEADER, METHOD, QUERY_STRING, URI, or BODY.

    • You tried to update a ByteMatchSet with a Field of HEADER but no value for Data.

    • Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL cannot be associated.

    ", + "exception":true + }, + "WAFInvalidPermissionPolicyException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because the specified policy is not in the proper format.

    The policy is subject to the following restrictions:

    • You can attach only one policy with each PutPermissionPolicy request.

    • The policy must include an Effect, Action and Principal.

    • Effect must specify Allow.

    • The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra or wildcard actions in the policy will be rejected.

    • The policy cannot include a Resource parameter.

    • The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.

    • The user making the request must be the owner of the RuleGroup.

    • Your policy must be composed using IAM Policy version 2012-10-17.

    ", + "exception":true + }, + "WAFInvalidRegexPatternException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The regular expression (regex) you specified in RegexPatternString is invalid.

    ", + "exception":true + }, + "WAFLimitsExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

    ", + "exception":true + }, + "WAFNonEmptyEntityException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because you tried to delete an object that isn't empty. For example:

    • You tried to delete a WebACL that still contains one or more Rule objects.

    • You tried to delete a Rule that still contains one or more ByteMatchSet objects or other predicates.

    • You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple objects.

    • You tried to delete an IPSet that references one or more IP addresses.

    ", + "exception":true + }, + "WAFNonexistentContainerException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. For example:

    • You tried to add a Rule to or delete a Rule from a WebACL that doesn't exist.

    • You tried to add a ByteMatchSet to or delete a ByteMatchSet from a Rule that doesn't exist.

    • You tried to add an IP address to or delete an IP address from an IPSet that doesn't exist.

    • You tried to add a ByteMatchTuple to or delete a ByteMatchTuple from a ByteMatchSet that doesn't exist.

    ", + "exception":true + }, + "WAFNonexistentItemException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because the referenced object doesn't exist.

    ", + "exception":true + }, + "WAFReferencedItemException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because you tried to delete an object that is still in use. For example:

    • You tried to delete a ByteMatchSet that is still referenced by a Rule.

    • You tried to delete a Rule that is still referenced by a WebACL.

    ", + "exception":true + }, + "WAFServiceLinkedRoleErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    AWS WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

    ", + "exception":true + }, + "WAFStaleDataException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

    ", + "exception":true + }, + "WAFSubscriptionNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The specified subscription does not exist.

    ", + "exception":true + }, + "WAFTagOperationException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "WAFTagOperationInternalErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    ", + "exception":true, + "fault":true + }, + "WAFUnavailableEntityException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The operation failed because the entity referenced is temporarily unavailable. Retry your request.

    ", + "exception":true + }, + "WafAction":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"WafActionType", + "documentation":"

    Specifies how you want AWS WAF to respond to requests that match the settings in a Rule. Valid settings include the following:

    • ALLOW: AWS WAF allows requests

    • BLOCK: AWS WAF blocks requests

    • COUNT: AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    For the action that is associated with a rule in a WebACL, specifies the action that you want AWS WAF to perform when a web request matches all of the conditions in a rule. For the default action in a WebACL, specifies the action that you want AWS WAF to take when a web request doesn't match all of the conditions in any of the rules in a WebACL.

    " + }, + "WafActionType":{ + "type":"string", + "enum":[ + "BLOCK", + "ALLOW", + "COUNT" + ] + }, + "WafOverrideAction":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"WafOverrideActionType", + "documentation":"

    COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action will take place.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The action to take if any rule within the RuleGroup matches a request.

    " + }, + "WafOverrideActionType":{ + "type":"string", + "enum":[ + "NONE", + "COUNT" + ] + }, + "WafRuleType":{ + "type":"string", + "enum":[ + "REGULAR", + "RATE_BASED", + "GROUP" + ] + }, + "WebACL":{ + "type":"structure", + "required":[ + "WebACLId", + "DefaultAction", + "Rules" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

    WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A friendly name or description for the metrics for this WebACL. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including \"All\" and \"Default_Action.\" You can't change MetricName after you create the WebACL.

    " + }, + "DefaultAction":{ + "shape":"WafAction", + "documentation":"

    The action to perform if none of the Rules contained in the WebACL match. The action is specified by the WafAction object.

    " + }, + "Rules":{ + "shape":"ActivatedRules", + "documentation":"

    An array that contains the action for each Rule in a WebACL, the priority of the Rule, and the ID of the Rule.

    " + }, + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

    Tha Amazon Resource Name (ARN) of the web ACL.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the Rules that identify the requests that you want to allow, block, or count. In a WebACL, you also specify a default action (ALLOW or BLOCK), and the action for each Rule that you add to a WebACL, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL with a CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule to a WebACL, a request needs to match only one of the specifications to be allowed, blocked, or counted. For more information, see UpdateWebACL.

    " + }, + "WebACLSummaries":{ + "type":"list", + "member":{"shape":"WebACLSummary"} + }, + "WebACLSummary":{ + "type":"structure", + "required":[ + "WebACLId", + "Name" + ], + "members":{ + "WebACLId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for a WebACL. You use WebACLId to get information about a WebACL (see GetWebACL), update a WebACL (see UpdateWebACL), and delete a WebACL from AWS WAF (see DeleteWebACL).

    WebACLId is returned by CreateWebACL and by ListWebACLs.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Contains the identifier and the name or description of the WebACL.

    " + }, + "WebACLUpdate":{ + "type":"structure", + "required":[ + "Action", + "ActivatedRule" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specifies whether to insert a Rule into or delete a Rule from a WebACL.

    " + }, + "ActivatedRule":{ + "shape":"ActivatedRule", + "documentation":"

    The ActivatedRule object in an UpdateWebACL request specifies a Rule that you want to insert or delete, the priority of the Rule in the WebACL, and the action that you want AWS WAF to take when a web request matches the Rule (ALLOW, BLOCK, or COUNT).

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies whether to insert a Rule into or delete a Rule from a WebACL.

    " + }, + "WebACLUpdates":{ + "type":"list", + "member":{"shape":"WebACLUpdate"} + }, + "XssMatchSet":{ + "type":"structure", + "required":[ + "XssMatchSetId", + "XssMatchTuples" + ], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about an XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

    XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name, if any, of the XssMatchSet.

    " + }, + "XssMatchTuples":{ + "shape":"XssMatchTuples", + "documentation":"

    Specifies the parts of web requests that you want to inspect for cross-site scripting attacks.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    A complex type that contains XssMatchTuple objects, which specify the parts of web requests that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header. If a XssMatchSet contains more than one XssMatchTuple object, a request needs to include cross-site scripting attacks in only one of the specified parts of the request to be considered a match.

    " + }, + "XssMatchSetSummaries":{ + "type":"list", + "member":{"shape":"XssMatchSetSummary"} + }, + "XssMatchSetSummary":{ + "type":"structure", + "required":[ + "XssMatchSetId", + "Name" + ], + "members":{ + "XssMatchSetId":{ + "shape":"ResourceId", + "documentation":"

    A unique identifier for an XssMatchSet. You use XssMatchSetId to get information about a XssMatchSet (see GetXssMatchSet), update an XssMatchSet (see UpdateXssMatchSet), insert an XssMatchSet into a Rule or delete one from a Rule (see UpdateRule), and delete an XssMatchSet from AWS WAF (see DeleteXssMatchSet).

    XssMatchSetId is returned by CreateXssMatchSet and by ListXssMatchSets.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the XssMatchSet, if any, specified by Id.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    The Id and Name of an XssMatchSet.

    " + }, + "XssMatchSetUpdate":{ + "type":"structure", + "required":[ + "Action", + "XssMatchTuple" + ], + "members":{ + "Action":{ + "shape":"ChangeAction", + "documentation":"

    Specify INSERT to add an XssMatchSetUpdate to an XssMatchSet. Use DELETE to remove an XssMatchSetUpdate from an XssMatchSet.

    " + }, + "XssMatchTuple":{ + "shape":"XssMatchTuple", + "documentation":"

    Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want to inspect for cross-site scripting attacks and indicates whether you want to add the specification to an XssMatchSet or delete it from an XssMatchSet.

    " + }, + "XssMatchSetUpdates":{ + "type":"list", + "member":{"shape":"XssMatchSetUpdate"}, + "min":1 + }, + "XssMatchTuple":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformation" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    Specifies where in a web request to look for cross-site scripting attacks.

    " + }, + "TextTransformation":{ + "shape":"TextTransformation", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass AWS WAF. If you specify a transformation, AWS WAF performs the transformation on FieldToMatch before inspecting it for a match.

    You can only specify a single type of TextTransformation.

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want to perform any text transformations.

    " + } + }, + "documentation":"

    This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    Specifies the part of a web request that you want AWS WAF to inspect for cross-site scripting attacks and, if you want AWS WAF to inspect a header, the name of the header.

    " + }, + "XssMatchTuples":{ + "type":"list", + "member":{"shape":"XssMatchTuple"} + }, + "errorMessage":{"type":"string"} + }, + "documentation":"

    This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the developer guide.

    For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

    This is the AWS WAF Regional Classic API Reference for using AWS WAF Classic with the AWS resources, Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. The AWS WAF Classic actions and data types listed in the reference are available for protecting Elastic Load Balancing (ELB) Application Load Balancers and API Gateway APIs. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the AWS WAF Classic in the developer guide.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/wafv2/2019-07-29/paginators-1.json python-botocore-1.16.19+repack/botocore/data/wafv2/2019-07-29/paginators-1.json --- python-botocore-1.4.70/botocore/data/wafv2/2019-07-29/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/wafv2/2019-07-29/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/wafv2/2019-07-29/service-2.json python-botocore-1.16.19+repack/botocore/data/wafv2/2019-07-29/service-2.json --- python-botocore-1.4.70/botocore/data/wafv2/2019-07-29/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/wafv2/2019-07-29/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3728 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-07-29", + "endpointPrefix":"wafv2", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"WAFV2", + "serviceFullName":"AWS WAFV2", + "serviceId":"WAFV2", + "signatureVersion":"v4", + "targetPrefix":"AWSWAF_20190729", + "uid":"wafv2-2019-07-29" + }, + "operations":{ + "AssociateWebACL":{ + "name":"AssociateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateWebACLRequest"}, + "output":{"shape":"AssociateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Associates a Web ACL with a regional application resource, to protect the resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate a Web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name (ARN) of the Web ACL. For information, see UpdateDistribution.

    " + }, + "CheckCapacity":{ + "name":"CheckCapacity", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CheckCapacityRequest"}, + "output":{"shape":"CheckCapacityResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidResourceException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFSubscriptionNotFoundException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules. You can use this to check the capacity requirements for the rules you want to use in a RuleGroup or WebACL.

    AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

    " + }, + "CreateIPSet":{ + "name":"CreateIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIPSetRequest"}, + "output":{"shape":"CreateIPSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Creates an IPSet, which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure AWS WAF to block them using an IPSet that lists those IP addresses.

    " + }, + "CreateRegexPatternSet":{ + "name":"CreateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRegexPatternSetRequest"}, + "output":{"shape":"CreateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have AWS WAF inspect a web request component for the specified patterns.

    " + }, + "CreateRuleGroup":{ + "name":"CreateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateRuleGroupRequest"}, + "output":{"shape":"CreateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFSubscriptionNotFoundException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Creates a RuleGroup per the specifications provided.

    A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

    " + }, + "CreateWebACL":{ + "name":"CreateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateWebACLRequest"}, + "output":{"shape":"CreateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidResourceException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFSubscriptionNotFoundException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Creates a WebACL per the specifications provided.

    A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

    " + }, + "DeleteFirewallManagerRuleGroups":{ + "name":"DeleteFirewallManagerRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFirewallManagerRuleGroupsRequest"}, + "output":{"shape":"DeleteFirewallManagerRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    Deletes all rule groups that are managed by AWS Firewall Manager for the specified web ACL.

    You can only use this if ManagedByFirewallManager is false in the specified WebACL.

    " + }, + "DeleteIPSet":{ + "name":"DeleteIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIPSetRequest"}, + "output":{"shape":"DeleteIPSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFAssociatedItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Deletes the specified IPSet.

    " + }, + "DeleteLoggingConfiguration":{ + "name":"DeleteLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteLoggingConfigurationRequest"}, + "output":{"shape":"DeleteLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Deletes the LoggingConfiguration from the specified web ACL.

    " + }, + "DeletePermissionPolicy":{ + "name":"DeletePermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePermissionPolicyRequest"}, + "output":{"shape":"DeletePermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    Permanently deletes an IAM policy from the specified rule group.

    You must be the owner of the rule group to perform this operation.

    " + }, + "DeleteRegexPatternSet":{ + "name":"DeleteRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRegexPatternSetRequest"}, + "output":{"shape":"DeleteRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFAssociatedItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Deletes the specified RegexPatternSet.

    " + }, + "DeleteRuleGroup":{ + "name":"DeleteRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRuleGroupRequest"}, + "output":{"shape":"DeleteRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFAssociatedItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Deletes the specified RuleGroup.

    " + }, + "DeleteWebACL":{ + "name":"DeleteWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWebACLRequest"}, + "output":{"shape":"DeleteWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFAssociatedItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Deletes the specified WebACL.

    You can only use this if ManagedByFirewallManager is false in the specified WebACL.

    " + }, + "DescribeManagedRuleGroup":{ + "name":"DescribeManagedRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeManagedRuleGroupRequest"}, + "output":{"shape":"DescribeManagedRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidResourceException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Provides high-level information for a managed rule group, including descriptions of the rules.

    " + }, + "DisassociateWebACL":{ + "name":"DisassociateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateWebACLRequest"}, + "output":{"shape":"DisassociateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Disassociates a Web ACL from a regional application resource. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    For AWS CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To disassociate a Web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For information, see UpdateDistribution.

    " + }, + "GetIPSet":{ + "name":"GetIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetIPSetRequest"}, + "output":{"shape":"GetIPSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the specified IPSet.

    " + }, + "GetLoggingConfiguration":{ + "name":"GetLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoggingConfigurationRequest"}, + "output":{"shape":"GetLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Returns the LoggingConfiguration for the specified web ACL.

    " + }, + "GetPermissionPolicy":{ + "name":"GetPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPermissionPolicyRequest"}, + "output":{"shape":"GetPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    Returns the IAM policy that is attached to the specified rule group.

    You must be the owner of the rule group to perform this operation.

    " + }, + "GetRateBasedStatementManagedKeys":{ + "name":"GetRateBasedStatementManagedKeys", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRateBasedStatementManagedKeysRequest"}, + "output":{"shape":"GetRateBasedStatementManagedKeysResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the keys that are currently blocked by a rate-based rule. The maximum number of managed keys that can be blocked for a single rate-based rule is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

    " + }, + "GetRegexPatternSet":{ + "name":"GetRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRegexPatternSetRequest"}, + "output":{"shape":"GetRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the specified RegexPatternSet.

    " + }, + "GetRuleGroup":{ + "name":"GetRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetRuleGroupRequest"}, + "output":{"shape":"GetRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the specified RuleGroup.

    " + }, + "GetSampledRequests":{ + "name":"GetSampledRequests", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSampledRequestsRequest"}, + "output":{"shape":"GetSampledRequestsResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

    GetSampledRequests returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

    " + }, + "GetWebACL":{ + "name":"GetWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWebACLRequest"}, + "output":{"shape":"GetWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the specified WebACL.

    " + }, + "GetWebACLForResource":{ + "name":"GetWebACLForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetWebACLForResourceRequest"}, + "output":{"shape":"GetWebACLForResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the WebACL for the specified resource.

    " + }, + "ListAvailableManagedRuleGroups":{ + "name":"ListAvailableManagedRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAvailableManagedRuleGroupsRequest"}, + "output":{"shape":"ListAvailableManagedRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of managed rule groups that are available for you to use. This list includes all AWS Managed Rules rule groups and the AWS Marketplace managed rule groups that you're subscribed to.

    " + }, + "ListIPSets":{ + "name":"ListIPSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListIPSetsRequest"}, + "output":{"shape":"ListIPSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of IPSetSummary objects for the IP sets that you manage.

    " + }, + "ListLoggingConfigurations":{ + "name":"ListLoggingConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListLoggingConfigurationsRequest"}, + "output":{"shape":"ListLoggingConfigurationsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of your LoggingConfiguration objects.

    " + }, + "ListRegexPatternSets":{ + "name":"ListRegexPatternSets", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRegexPatternSetsRequest"}, + "output":{"shape":"ListRegexPatternSetsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage.

    " + }, + "ListResourcesForWebACL":{ + "name":"ListResourcesForWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesForWebACLRequest"}, + "output":{"shape":"ListResourcesForWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the specified web ACL. If you want the list of AWS CloudFront resources, use the AWS CloudFront call ListDistributionsByWebACLId.

    " + }, + "ListRuleGroups":{ + "name":"ListRuleGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListRuleGroupsRequest"}, + "output":{"shape":"ListRuleGroupsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of RuleGroupSummary objects for the rule groups that you manage.

    " + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves the TagInfoForResource for the specified resource.

    " + }, + "ListWebACLs":{ + "name":"ListWebACLs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListWebACLsRequest"}, + "output":{"shape":"ListWebACLsResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Retrieves an array of WebACLSummary objects for the web ACLs that you manage.

    " + }, + "PutLoggingConfiguration":{ + "name":"PutLoggingConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLoggingConfigurationRequest"}, + "output":{"shape":"PutLoggingConfigurationResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFServiceLinkedRoleErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the configuration provided.

    You can access information about all traffic that AWS WAF inspects using the following steps:

    1. Create an Amazon Kinesis Data Firehose.

      Create the data firehose with a PUT source and in the Region that you are operating. If you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).

      Do not create the data firehose using a Kinesis stream as your source.

    2. Associate that firehose to your web ACL using a PutLoggingConfiguration request.

    When you successfully enable logging using a PutLoggingConfiguration request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.

    " + }, + "PutPermissionPolicy":{ + "name":"PutPermissionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutPermissionPolicyRequest"}, + "output":{"shape":"PutPermissionPolicyResponse"}, + "errors":[ + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFInvalidPermissionPolicyException"} + ], + "documentation":"

    Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.

    You must be the owner of the rule group to perform this operation.

    This action is subject to the following restrictions:

    • You can attach only one policy with each PutPermissionPolicy request.

    • The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same region.

    • The user making the request must be the owner of the rule group.

    " + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Associates tags with the specified AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFTagOperationException"}, + {"shape":"WAFTagOperationInternalErrorException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.

    " + }, + "UpdateIPSet":{ + "name":"UpdateIPSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateIPSetRequest"}, + "output":{"shape":"UpdateIPSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Updates the specified IPSet.

    " + }, + "UpdateRegexPatternSet":{ + "name":"UpdateRegexPatternSet", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRegexPatternSetRequest"}, + "output":{"shape":"UpdateRegexPatternSetResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Updates the specified RegexPatternSet.

    " + }, + "UpdateRuleGroup":{ + "name":"UpdateRuleGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRuleGroupRequest"}, + "output":{"shape":"UpdateRuleGroupResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFSubscriptionNotFoundException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Updates the specified RuleGroup.

    A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

    " + }, + "UpdateWebACL":{ + "name":"UpdateWebACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateWebACLRequest"}, + "output":{"shape":"UpdateWebACLResponse"}, + "errors":[ + {"shape":"WAFInternalErrorException"}, + {"shape":"WAFInvalidParameterException"}, + {"shape":"WAFNonexistentItemException"}, + {"shape":"WAFDuplicateItemException"}, + {"shape":"WAFOptimisticLockException"}, + {"shape":"WAFLimitsExceededException"}, + {"shape":"WAFInvalidResourceException"}, + {"shape":"WAFUnavailableEntityException"}, + {"shape":"WAFSubscriptionNotFoundException"}, + {"shape":"WAFInvalidOperationException"} + ], + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Updates the specified WebACL.

    A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

    " + } + }, + "shapes":{ + "Action":{"type":"string"}, + "AllQueryArguments":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    All query arguments of a web request.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "AllowAction":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Specifies that AWS WAF should allow requests.

    This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

    " + }, + "AndStatement":{ + "type":"structure", + "required":["Statements"], + "members":{ + "Statements":{ + "shape":"Statements", + "documentation":"

    The statements to combine with AND logic. You can use any statements that can be nested.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

    " + }, + "AssociateWebACLRequest":{ + "type":"structure", + "required":[ + "WebACLArn", + "ResourceArn" + ], + "members":{ + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource.

    " + }, + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource to associate with the web ACL.

    The ARN must be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

    " + } + } + }, + "AssociateWebACLResponse":{ + "type":"structure", + "members":{ + } + }, + "BlockAction":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Specifies that AWS WAF should block requests.

    This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

    " + }, + "Body":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The body of a web request. This immediately follows the request headers.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "Boolean":{"type":"boolean"}, + "ByteMatchStatement":{ + "type":"structure", + "required":[ + "SearchString", + "FieldToMatch", + "TextTransformations", + "PositionalConstraint" + ], + "members":{ + "SearchString":{ + "shape":"SearchString", + "documentation":"

    A string value that you want AWS WAF to search for. AWS WAF searches only in the part of web requests that you designate for inspection in FieldToMatch. The maximum length of the value is 50 bytes.

    Valid values depend on the component that you specify for inspection in FieldToMatch:

    • Method: The HTTP method that you want AWS WAF to search for. This indicates the type of operation specified in the request.

    • UriPath: The value that you want AWS WAF to search for in the URI path, for example, /images/daily-ad.jpg.

    If SearchString includes alphabetic characters A-Z and a-z, note that the value is case sensitive.

    If you're using the AWS WAF API

    Specify a base64-encoded version of the value. The maximum length of the value before you base64-encode it is 50 bytes.

    For example, suppose the value of Type is HEADER and the value of Data is User-Agent. If you want to search the User-Agent header for the value BadBot, you base64-encode BadBot using MIME base64-encoding and include the resulting value, QmFkQm90, in the value of SearchString.

    If you're using the AWS CLI or one of the AWS SDKs

    The value that you want AWS WAF to search for. The SDK automatically base64 encodes the value.

    " + }, + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

    " + }, + "TextTransformations":{ + "shape":"TextTransformations", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

    " + }, + "PositionalConstraint":{ + "shape":"PositionalConstraint", + "documentation":"

    The area within the portion of a web request that you want AWS WAF to search for SearchString. Valid values include the following:

    CONTAINS

    The specified part of the web request must include the value of SearchString, but the location doesn't matter.

    CONTAINS_WORD

    The specified part of the web request must include the value of SearchString, and SearchString must contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In addition, SearchString must be a word, which means that both of the following are true:

    • SearchString is at the beginning of the specified part of the web request or is preceded by a character other than an alphanumeric character or underscore (_). Examples include the value of a header and ;BadBot.

    • SearchString is at the end of the specified part of the web request or is followed by a character other than an alphanumeric character or underscore (_), for example, BadBot; and -BadBot;.

    EXACTLY

    The value of the specified part of the web request must exactly match the value of SearchString.

    STARTS_WITH

    The value of SearchString must appear at the beginning of the specified part of the web request.

    ENDS_WITH

    The value of SearchString must appear at the end of the specified part of the web request.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is refered to as a string match statement.

    " + }, + "CapacityUnit":{ + "type":"long", + "min":1 + }, + "CheckCapacityRequest":{ + "type":"structure", + "required":[ + "Scope", + "Rules" + ], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    An array of Rule that you're configuring to use in a rule group or web ACL.

    " + } + } + }, + "CheckCapacityResponse":{ + "type":"structure", + "members":{ + "Capacity":{ + "shape":"ConsumedCapacity", + "documentation":"

    The capacity required by the rules and scope.

    " + } + } + }, + "ComparisonOperator":{ + "type":"string", + "enum":[ + "EQ", + "NE", + "LE", + "LT", + "GE", + "GT" + ] + }, + "ConsumedCapacity":{ + "type":"long", + "min":0 + }, + "CountAction":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Specifies that AWS WAF should count requests.

    This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

    " + }, + "Country":{"type":"string"}, + "CountryCode":{ + "type":"string", + "enum":[ + "AF", + "AX", + "AL", + "DZ", + "AS", + "AD", + "AO", + "AI", + "AQ", + "AG", + "AR", + "AM", + "AW", + "AU", + "AT", + "AZ", + "BS", + "BH", + "BD", + "BB", + "BY", + "BE", + "BZ", + "BJ", + "BM", + "BT", + "BO", + "BQ", + "BA", + "BW", + "BV", + "BR", + "IO", + "BN", + "BG", + "BF", + "BI", + "KH", + "CM", + "CA", + "CV", + "KY", + "CF", + "TD", + "CL", + "CN", + "CX", + "CC", + "CO", + "KM", + "CG", + "CD", + "CK", + "CR", + "CI", + "HR", + "CU", + "CW", + "CY", + "CZ", + "DK", + "DJ", + "DM", + "DO", + "EC", + "EG", + "SV", + "GQ", + "ER", + "EE", + "ET", + "FK", + "FO", + "FJ", + "FI", + "FR", + "GF", + "PF", + "TF", + "GA", + "GM", + "GE", + "DE", + "GH", + "GI", + "GR", + "GL", + "GD", + "GP", + "GU", + "GT", + "GG", + "GN", + "GW", + "GY", + "HT", + "HM", + "VA", + "HN", + "HK", + "HU", + "IS", + "IN", + "ID", + "IR", + "IQ", + "IE", + "IM", + "IL", + "IT", + "JM", + "JP", + "JE", + "JO", + "KZ", + "KE", + "KI", + "KP", + "KR", + "KW", + "KG", + "LA", + "LV", + "LB", + "LS", + "LR", + "LY", + "LI", + "LT", + "LU", + "MO", + "MK", + "MG", + "MW", + "MY", + "MV", + "ML", + "MT", + "MH", + "MQ", + "MR", + "MU", + "YT", + "MX", + "FM", + "MD", + "MC", + "MN", + "ME", + "MS", + "MA", + "MZ", + "MM", + "NA", + "NR", + "NP", + "NL", + "NC", + "NZ", + "NI", + "NE", + "NG", + "NU", + "NF", + "MP", + "NO", + "OM", + "PK", + "PW", + "PS", + "PA", + "PG", + "PY", + "PE", + "PH", + "PN", + "PL", + "PT", + "PR", + "QA", + "RE", + "RO", + "RU", + "RW", + "BL", + "SH", + "KN", + "LC", + "MF", + "PM", + "VC", + "WS", + "SM", + "ST", + "SA", + "SN", + "RS", + "SC", + "SL", + "SG", + "SX", + "SK", + "SI", + "SB", + "SO", + "ZA", + "GS", + "SS", + "ES", + "LK", + "SD", + "SR", + "SJ", + "SZ", + "SE", + "CH", + "SY", + "TW", + "TJ", + "TZ", + "TH", + "TL", + "TG", + "TK", + "TO", + "TT", + "TN", + "TR", + "TM", + "TC", + "TV", + "UG", + "UA", + "AE", + "GB", + "US", + "UM", + "UY", + "UZ", + "VU", + "VE", + "VN", + "VG", + "VI", + "WF", + "EH", + "YE", + "ZM", + "ZW" + ] + }, + "CountryCodes":{ + "type":"list", + "member":{"shape":"CountryCode"}, + "min":1 + }, + "CreateIPSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "IPAddressVersion", + "Addresses" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

    " + }, + "IPAddressVersion":{ + "shape":"IPAddressVersion", + "documentation":"

    Specify IPV4 or IPV6.

    " + }, + "Addresses":{ + "shape":"IPAddresses", + "documentation":"

    Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.

    Examples:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key:value pairs to associate with the resource.

    " + } + } + }, + "CreateIPSetResponse":{ + "type":"structure", + "members":{ + "Summary":{ + "shape":"IPSetSummary", + "documentation":"

    High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.

    " + } + } + }, + "CreateRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "RegularExpressionList" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the set. You cannot change the name after you create the set.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the set that helps with identification. You cannot change the description of a set after you create it.

    " + }, + "RegularExpressionList":{ + "shape":"RegularExpressionList", + "documentation":"

    Array of regular expression strings.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key:value pairs to associate with the resource.

    " + } + } + }, + "CreateRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "Summary":{ + "shape":"RegexPatternSetSummary", + "documentation":"

    High-level information about a RegexPatternSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RegexPatternSet, and the ARN, that you provide to the RegexPatternSetReferenceStatement to use the pattern set in a Rule.

    " + } + } + }, + "CreateRuleGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Capacity", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Capacity":{ + "shape":"CapacityUnit", + "documentation":"

    The web ACL capacity units (WCUs) required for this rule group.

    When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

    AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key:value pairs to associate with the resource.

    " + } + } + }, + "CreateRuleGroupResponse":{ + "type":"structure", + "members":{ + "Summary":{ + "shape":"RuleGroupSummary", + "documentation":"

    High-level information about a RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

    " + } + } + }, + "CreateWebACLRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "DefaultAction", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "DefaultAction":{ + "shape":"DefaultAction", + "documentation":"

    The action to perform if none of the Rules contained in the WebACL match.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key:value pairs to associate with the resource.

    " + } + } + }, + "CreateWebACLResponse":{ + "type":"structure", + "members":{ + "Summary":{ + "shape":"WebACLSummary", + "documentation":"

    High-level information about a WebACL, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a WebACL, and the ARN, that you provide to operations like AssociateWebACL.

    " + } + } + }, + "DefaultAction":{ + "type":"structure", + "members":{ + "Block":{ + "shape":"BlockAction", + "documentation":"

    Specifies that AWS WAF should block requests by default.

    " + }, + "Allow":{ + "shape":"AllowAction", + "documentation":"

    Specifies that AWS WAF should allow requests by default.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    In a WebACL, this is the action that you want AWS WAF to perform when a web request doesn't match any of the rules in the WebACL. The default action must be a terminating action, so count is not allowed.

    " + }, + "DeleteFirewallManagerRuleGroupsRequest":{ + "type":"structure", + "required":[ + "WebACLArn", + "WebACLLockToken" + ], + "members":{ + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL.

    " + }, + "WebACLLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteFirewallManagerRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextWebACLLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteIPSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteIPSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteLoggingConfigurationRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL from which you want to delete the LoggingConfiguration.

    " + } + } + }, + "DeleteLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "DeletePermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy.

    You must be the owner of the rule group to perform this operation.

    " + } + } + }, + "DeletePermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the set. You cannot change the name after you create the set.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteRegexPatternSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRuleGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteRuleGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWebACLRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "DeleteWebACLResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeManagedRuleGroupRequest":{ + "type":"structure", + "required":[ + "VendorName", + "Name", + "Scope" + ], + "members":{ + "VendorName":{ + "shape":"VendorName", + "documentation":"

    The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

    " + }, + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + } + } + }, + "DescribeManagedRuleGroupResponse":{ + "type":"structure", + "members":{ + "Capacity":{ + "shape":"CapacityUnit", + "documentation":"

    The web ACL capacity units (WCUs) required for this rule group. AWS WAF uses web ACL capacity units (WCU) to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect each rule's relative cost. Rule group capacity is fixed at creation, so users can plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

    " + }, + "Rules":{ + "shape":"RuleSummaries", + "documentation":"

    " + } + } + }, + "DisassociateWebACLRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource to disassociate from the web ACL.

    The ARN must be in one of the following formats:

    • For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

    • For an Amazon API Gateway stage: arn:aws:apigateway:region::/restapis/api-id/stages/stage-name

    " + } + } + }, + "DisassociateWebACLResponse":{ + "type":"structure", + "members":{ + } + }, + "EntityDescription":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[\\w+=:#@/\\-,\\.][\\w+=:#@/\\-,\\.\\s]+[\\w+=:#@/\\-,\\.]$" + }, + "EntityId":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$" + }, + "EntityName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\w\\-]+$" + }, + "ErrorMessage":{"type":"string"}, + "ErrorReason":{"type":"string"}, + "ExcludedRule":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule to exclude.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Specifies a single rule to exclude from the rule group. Excluding a rule overrides its action setting for the rule group in the web ACL, setting it to COUNT. This effectively excludes the rule from acting on web requests.

    " + }, + "ExcludedRules":{ + "type":"list", + "member":{"shape":"ExcludedRule"} + }, + "FieldToMatch":{ + "type":"structure", + "members":{ + "SingleHeader":{ + "shape":"SingleHeader", + "documentation":"

    Inspect a single header. Provide the name of the header to inspect, for example, User-Agent or Referer. This setting isn't case sensitive.

    " + }, + "SingleQueryArgument":{ + "shape":"SingleQueryArgument", + "documentation":"

    Inspect a single query argument. Provide the name of the query argument to inspect, such as UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "AllQueryArguments":{ + "shape":"AllQueryArguments", + "documentation":"

    Inspect all query arguments.

    " + }, + "UriPath":{ + "shape":"UriPath", + "documentation":"

    Inspect the request URI path. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

    " + }, + "QueryString":{ + "shape":"QueryString", + "documentation":"

    Inspect the query string. This is the part of a URL that appears after a ? character, if any.

    " + }, + "Body":{ + "shape":"Body", + "documentation":"

    Inspect the request body, which immediately follows the request headers. This is the part of a request that contains any additional data that you want to send to your web server as the HTTP request body, such as data from a form.

    Note that only the first 8 KB (8192 bytes) of the request body are forwarded to AWS WAF for inspection by the underlying host service. If you don't need to inspect more than 8 KB, you can guarantee that you don't allow additional bytes in by combining a statement that inspects the body of the web request, such as ByteMatchStatement or RegexPatternSetReferenceStatement, with a SizeConstraintStatement that enforces an 8 KB size limit on the body of the request. AWS WAF doesn't support inspecting the entire contents of web requests whose bodies exceed the 8 KB limit.

    " + }, + "Method":{ + "shape":"Method", + "documentation":"

    Inspect the HTTP method. The method indicates the type of operation that the request is asking the origin to perform.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The part of a web request that you want AWS WAF to inspect. Include the single FieldToMatch type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component in FieldToMatch for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.

    " + }, + "FieldToMatchData":{ + "type":"string", + "max":64, + "min":1, + "pattern":".*\\S.*" + }, + "FirewallManagerRuleGroup":{ + "type":"structure", + "required":[ + "Name", + "Priority", + "FirewallManagerStatement", + "OverrideAction", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Priority":{ + "shape":"RulePriority", + "documentation":"

    If you define more than one rule group in the first or last Firewall Manager rule groups, AWS WAF evaluates each request against the rule groups in order, starting from the lowest priority setting. The priorities don't need to be consecutive, but they must all be different.

    " + }, + "FirewallManagerStatement":{ + "shape":"FirewallManagerStatement", + "documentation":"

    The processing guidance for an AWS Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

    " + }, + "OverrideAction":{"shape":"OverrideAction"}, + "VisibilityConfig":{"shape":"VisibilityConfig"} + }, + "documentation":"

    A rule group that's defined for an AWS Firewall Manager WAF policy.

    " + }, + "FirewallManagerRuleGroups":{ + "type":"list", + "member":{"shape":"FirewallManagerRuleGroup"} + }, + "FirewallManagerStatement":{ + "type":"structure", + "members":{ + "ManagedRuleGroupStatement":{"shape":"ManagedRuleGroupStatement"}, + "RuleGroupReferenceStatement":{"shape":"RuleGroupReferenceStatement"} + }, + "documentation":"

    The processing guidance for an AWS Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.

    " + }, + "GeoMatchStatement":{ + "type":"structure", + "members":{ + "CountryCodes":{ + "shape":"CountryCodes", + "documentation":"

    An array of two-character country codes, for example, [ \"US\", \"CN\" ], from the alpha-2 country ISO codes of the ISO 3166 international standard.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement used to identify web requests based on country of origin.

    " + }, + "GetIPSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + } + } + }, + "GetIPSetResponse":{ + "type":"structure", + "members":{ + "IPSet":{ + "shape":"IPSet", + "documentation":"

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "GetLoggingConfigurationRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL for which you want to get the LoggingConfiguration.

    " + } + } + }, + "GetLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    The LoggingConfiguration for the specified web ACL.

    " + } + } + }, + "GetPermissionPolicyRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the rule group for which you want to get the policy.

    " + } + } + }, + "GetPermissionPolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The IAM policy that is attached to the specified rule group.

    " + } + } + }, + "GetRateBasedStatementManagedKeysRequest":{ + "type":"structure", + "required":[ + "Scope", + "WebACLName", + "WebACLId", + "RuleName" + ], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "WebACLName":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "WebACLId":{ + "shape":"EntityId", + "documentation":"

    The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "RuleName":{ + "shape":"EntityName", + "documentation":"

    The name of the rate-based rule to get the keys for.

    " + } + } + }, + "GetRateBasedStatementManagedKeysResponse":{ + "type":"structure", + "members":{ + "ManagedKeysIPV4":{ + "shape":"RateBasedStatementManagedKeysIPSet", + "documentation":"

    The keys that are of Internet Protocol version 4 (IPv4).

    " + }, + "ManagedKeysIPV6":{ + "shape":"RateBasedStatementManagedKeysIPSet", + "documentation":"

    The keys that are of Internet Protocol version 6 (IPv6).

    " + } + } + }, + "GetRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the set. You cannot change the name after you create the set.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + } + } + }, + "GetRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "RegexPatternSet":{ + "shape":"RegexPatternSet", + "documentation":"

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "GetRuleGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + } + } + }, + "GetRuleGroupResponse":{ + "type":"structure", + "members":{ + "RuleGroup":{ + "shape":"RuleGroup", + "documentation":"

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "GetSampledRequestsRequest":{ + "type":"structure", + "required":[ + "WebAclArn", + "RuleMetricName", + "Scope", + "TimeWindow", + "MaxItems" + ], + "members":{ + "WebAclArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon resource name (ARN) of the WebACL for which you want a sample of requests.

    " + }, + "RuleMetricName":{ + "shape":"MetricName", + "documentation":"

    The metric name assigned to the Rule or RuleGroup for which you want a sample of requests.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    The start date and time and the end date and time of the range for which you want GetSampledRequests to return a sample of requests. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + }, + "MaxItems":{ + "shape":"ListMaxItems", + "documentation":"

    The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of MaxItems, GetSampledRequests returns information about all of them.

    " + } + } + }, + "GetSampledRequestsResponse":{ + "type":"structure", + "members":{ + "SampledRequests":{ + "shape":"SampledHTTPRequests", + "documentation":"

    A complex type that contains detailed information about each of the requests in the sample.

    " + }, + "PopulationSize":{ + "shape":"PopulationSize", + "documentation":"

    The total number of requests from which GetSampledRequests got a sample of MaxItems requests. If PopulationSize is less than MaxItems, the sample includes every request that your AWS resource received during the specified time range.

    " + }, + "TimeWindow":{ + "shape":"TimeWindow", + "documentation":"

    Usually, TimeWindow is the time range that you specified in the GetSampledRequests request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, GetSampledRequests returns the time range for the first 5,000 requests.

    " + } + } + }, + "GetWebACLForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The ARN (Amazon Resource Name) of the resource.

    " + } + } + }, + "GetWebACLForResourceResponse":{ + "type":"structure", + "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    The Web ACL that is associated with the resource. If there is no associated resource, AWS WAF returns a null Web ACL.

    " + } + } + }, + "GetWebACLRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + } + } + }, + "GetWebACLResponse":{ + "type":"structure", + "members":{ + "WebACL":{ + "shape":"WebACL", + "documentation":"

    The Web ACL specification. You can modify the settings in this Web ACL and use it to update this Web ACL or create a new one.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "HTTPHeader":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"HeaderName", + "documentation":"

    The name of the HTTP header.

    " + }, + "Value":{ + "shape":"HeaderValue", + "documentation":"

    The value of the HTTP header.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Part of the response from GetSampledRequests. This is a complex type that appears as Headers in the response syntax. HTTPHeader contains the names and values of all of the headers that appear in one of the web requests.

    " + }, + "HTTPHeaders":{ + "type":"list", + "member":{"shape":"HTTPHeader"} + }, + "HTTPMethod":{"type":"string"}, + "HTTPRequest":{ + "type":"structure", + "members":{ + "ClientIP":{ + "shape":"IPString", + "documentation":"

    The IP address that the request originated from. If the web ACL is associated with a CloudFront distribution, this is the value of one of the following fields in CloudFront access logs:

    • c-ip, if the viewer did not use an HTTP proxy or a load balancer to send the request

    • x-forwarded-for, if the viewer did use an HTTP proxy or a load balancer to send the request

    " + }, + "Country":{ + "shape":"Country", + "documentation":"

    The two-letter country code for the country that the request originated from. For a current list of country codes, see the Wikipedia entry ISO 3166-1 alpha-2.

    " + }, + "URI":{ + "shape":"URIString", + "documentation":"

    The URI path of the request, which identifies the resource, for example, /images/daily-ad.jpg.

    " + }, + "Method":{ + "shape":"HTTPMethod", + "documentation":"

    The HTTP method specified in the sampled web request.

    " + }, + "HTTPVersion":{ + "shape":"HTTPVersion", + "documentation":"

    The HTTP version specified in the sampled web request, for example, HTTP/1.1.

    " + }, + "Headers":{ + "shape":"HTTPHeaders", + "documentation":"

    A complex type that contains the name and value for each header in the sampled web request.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Part of the response from GetSampledRequests. This is a complex type that appears as Request in the response syntax. HTTPRequest contains information about one of the web requests.

    " + }, + "HTTPVersion":{"type":"string"}, + "HeaderName":{"type":"string"}, + "HeaderValue":{"type":"string"}, + "IPAddress":{ + "type":"string", + "max":50, + "min":1, + "pattern":".*\\S.*" + }, + "IPAddressVersion":{ + "type":"string", + "enum":[ + "IPV4", + "IPV6" + ] + }, + "IPAddresses":{ + "type":"list", + "member":{"shape":"IPAddress"} + }, + "IPSet":{ + "type":"structure", + "required":[ + "Name", + "Id", + "ARN", + "IPAddressVersion", + "Addresses" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

    " + }, + "IPAddressVersion":{ + "shape":"IPAddressVersion", + "documentation":"

    Specify IPV4 or IPV6.

    " + }, + "Addresses":{ + "shape":"IPAddresses", + "documentation":"

    Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.

    Examples:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports any CIDR range. For information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    AWS WAF assigns an ARN to each IPSet that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

    " + }, + "IPSetReferenceStatement":{ + "type":"structure", + "required":["ARN"], + "members":{ + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the IPSet that this statement references.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

    Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

    " + }, + "IPSetSummaries":{ + "type":"list", + "member":{"shape":"IPSetSummary"} + }, + "IPSetSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an IPSet, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.

    " + }, + "IPString":{"type":"string"}, + "ListAvailableManagedRuleGroupsRequest":{ + "type":"structure", + "required":["Scope"], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListAvailableManagedRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "ManagedRuleGroups":{ + "shape":"ManagedRuleGroupSummaries", + "documentation":"

    " + } + } + }, + "ListIPSetsRequest":{ + "type":"structure", + "required":["Scope"], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListIPSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "IPSets":{ + "shape":"IPSetSummaries", + "documentation":"

    Array of IPSets. This may not be the full list of IPSets that you have defined. See the Limit specification for this request.

    " + } + } + }, + "ListLoggingConfigurationsRequest":{ + "type":"structure", + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListLoggingConfigurationsResponse":{ + "type":"structure", + "members":{ + "LoggingConfigurations":{ + "shape":"LoggingConfigurations", + "documentation":"

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + } + } + }, + "ListMaxItems":{ + "type":"long", + "max":500, + "min":1 + }, + "ListRegexPatternSetsRequest":{ + "type":"structure", + "required":["Scope"], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListRegexPatternSetsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "RegexPatternSets":{ + "shape":"RegexPatternSetSummaries", + "documentation":"

    " + } + } + }, + "ListResourcesForWebACLRequest":{ + "type":"structure", + "required":["WebACLArn"], + "members":{ + "WebACLArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Web ACL.

    " + }, + "ResourceType":{ + "shape":"ResourceType", + "documentation":"

    Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    " + } + } + }, + "ListResourcesForWebACLResponse":{ + "type":"structure", + "members":{ + "ResourceArns":{ + "shape":"ResourceArns", + "documentation":"

    The array of Amazon Resource Names (ARNs) of the associated resources.

    " + } + } + }, + "ListRuleGroupsRequest":{ + "type":"structure", + "required":["Scope"], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListRuleGroupsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "RuleGroups":{ + "shape":"RuleGroupSummaries", + "documentation":"

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + }, + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "TagInfoForResource":{ + "shape":"TagInfoForResource", + "documentation":"

    The collection of tagging definitions for the resource.

    " + } + } + }, + "ListWebACLsRequest":{ + "type":"structure", + "required":["Scope"], + "members":{ + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "Limit":{ + "shape":"PaginationLimit", + "documentation":"

    The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a NextMarker value that you can use in a subsequent call to get the next batch of objects.

    " + } + } + }, + "ListWebACLsResponse":{ + "type":"structure", + "members":{ + "NextMarker":{ + "shape":"NextMarker", + "documentation":"

    When you request a list of objects with a Limit setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a NextMarker value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

    " + }, + "WebACLs":{ + "shape":"WebACLSummaries", + "documentation":"

    " + } + } + }, + "LockToken":{ + "type":"string", + "max":36, + "min":1, + "pattern":"^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$" + }, + "LogDestinationConfigs":{ + "type":"list", + "member":{"shape":"ResourceArn"}, + "max":100, + "min":1 + }, + "LoggingConfiguration":{ + "type":"structure", + "required":[ + "ResourceArn", + "LogDestinationConfigs" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the web ACL that you want to associate with LogDestinationConfigs.

    " + }, + "LogDestinationConfigs":{ + "shape":"LogDestinationConfigs", + "documentation":"

    The Amazon Kinesis Data Firehose Amazon Resource Name (ARNs) that you want to associate with the web ACL.

    " + }, + "RedactedFields":{ + "shape":"RedactedFields", + "documentation":"

    The parts of the request that you want to keep out of the logs. For example, if you redact the cookie field, the cookie field in the firehose will be xxx.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs.

    " + }, + "LoggingConfigurations":{ + "type":"list", + "member":{"shape":"LoggingConfiguration"} + }, + "ManagedRuleGroupStatement":{ + "type":"structure", + "required":[ + "VendorName", + "Name" + ], + "members":{ + "VendorName":{ + "shape":"VendorName", + "documentation":"

    The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

    " + }, + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

    " + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

    The rules whose actions are set to COUNT by the web ACL, regardless of the action that is set on the rule. This effectively excludes the rule from acting on web requests.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

    You can't nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + }, + "ManagedRuleGroupSummaries":{ + "type":"list", + "member":{"shape":"ManagedRuleGroupSummary"} + }, + "ManagedRuleGroupSummary":{ + "type":"structure", + "members":{ + "VendorName":{ + "shape":"VendorName", + "documentation":"

    The name of the managed rule group vendor. You use this, along with the rule group name, to identify the rule group.

    " + }, + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    The description of the managed rule group, provided by AWS Managed Rules or the AWS Marketplace seller who manages it.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about a managed rule group, returned by ListAvailableManagedRuleGroups. This provides information like the name and vendor name, that you provide when you add a ManagedRuleGroupStatement to a web ACL. Managed rule groups include AWS Managed Rules rule groups, which are free of charge to AWS WAF customers, and AWS Marketplace managed rule groups, which you can subscribe to through AWS Marketplace.

    " + }, + "Method":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The HTTP method of a web request. The method indicates the type of operation that the request is asking the origin to perform.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "MetricName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w#:\\.\\-/]+$" + }, + "NextMarker":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*\\S.*" + }, + "NoneAction":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Specifies that AWS WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the OverrideAction on the Rule.

    This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.

    " + }, + "NotStatement":{ + "type":"structure", + "required":["Statement"], + "members":{ + "Statement":{ + "shape":"Statement", + "documentation":"

    The statement to negate. You can use any statement that can be nested.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

    " + }, + "OrStatement":{ + "type":"structure", + "required":["Statements"], + "members":{ + "Statements":{ + "shape":"Statements", + "documentation":"

    The statements to combine with OR logic. You can use any statements that can be nested.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

    " + }, + "OverrideAction":{ + "type":"structure", + "members":{ + "Count":{ + "shape":"CountAction", + "documentation":"

    Override the rule action setting to count.

    " + }, + "None":{ + "shape":"NoneAction", + "documentation":"

    Don't override the rule action setting.

    " + } + }, + "documentation":"

    The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.

    In a Rule, you must specify either this OverrideAction setting or the rule Action setting, but not both:

    • If the rule statement references a rule group, use this override action setting and not the action setting.

    • If the rule statement does not reference a rule group, use the rule action setting and not this rule override action setting.

    " + }, + "PaginationLimit":{ + "type":"integer", + "max":100, + "min":1 + }, + "ParameterExceptionField":{ + "type":"string", + "enum":[ + "WEB_ACL", + "RULE_GROUP", + "REGEX_PATTERN_SET", + "IP_SET", + "MANAGED_RULE_SET", + "RULE", + "EXCLUDED_RULE", + "STATEMENT", + "BYTE_MATCH_STATEMENT", + "SQLI_MATCH_STATEMENT", + "XSS_MATCH_STATEMENT", + "SIZE_CONSTRAINT_STATEMENT", + "GEO_MATCH_STATEMENT", + "RATE_BASED_STATEMENT", + "RULE_GROUP_REFERENCE_STATEMENT", + "REGEX_PATTERN_REFERENCE_STATEMENT", + "IP_SET_REFERENCE_STATEMENT", + "MANAGED_RULE_SET_STATEMENT", + "AND_STATEMENT", + "OR_STATEMENT", + "NOT_STATEMENT", + "IP_ADDRESS", + "IP_ADDRESS_VERSION", + "FIELD_TO_MATCH", + "TEXT_TRANSFORMATION", + "SINGLE_QUERY_ARGUMENT", + "SINGLE_HEADER", + "DEFAULT_ACTION", + "RULE_ACTION", + "ENTITY_LIMIT", + "OVERRIDE_ACTION", + "SCOPE_VALUE", + "RESOURCE_ARN", + "RESOURCE_TYPE", + "TAGS", + "TAG_KEYS", + "METRIC_NAME", + "FIREWALL_MANAGER_STATEMENT" + ] + }, + "ParameterExceptionParameter":{ + "type":"string", + "min":1 + }, + "PolicyString":{ + "type":"string", + "min":1 + }, + "PopulationSize":{"type":"long"}, + "PositionalConstraint":{ + "type":"string", + "enum":[ + "EXACTLY", + "STARTS_WITH", + "ENDS_WITH", + "CONTAINS", + "CONTAINS_WORD" + ] + }, + "PutLoggingConfigurationRequest":{ + "type":"structure", + "required":["LoggingConfiguration"], + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    " + } + } + }, + "PutLoggingConfigurationResponse":{ + "type":"structure", + "members":{ + "LoggingConfiguration":{ + "shape":"LoggingConfiguration", + "documentation":"

    " + } + } + }, + "PutPermissionPolicyRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Policy" + ], + "members":{ + "ResourceArn":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RuleGroup to which you want to attach the policy.

    " + }, + "Policy":{ + "shape":"PolicyString", + "documentation":"

    The policy to attach to the specified rule group.

    The policy specifications must conform to the following:

    • The policy must be composed using IAM Policy version 2012-10-17 or version 2015-01-01.

    • The policy must include specifications for Effect, Action, and Principal.

    • Effect must specify Allow.

    • Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups. AWS WAF rejects any extra actions or wildcard actions in the policy.

    • The policy must not include a Resource parameter.

    For more information, see IAM Policies.

    " + } + } + }, + "PutPermissionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "QueryString":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The query string of a web request. This is the part of a URL that appears after a ? character, if any.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "RateBasedStatement":{ + "type":"structure", + "required":[ + "Limit", + "AggregateKeyType" + ], + "members":{ + "Limit":{ + "shape":"RateLimit", + "documentation":"

    The limit on requests per 5-minute period for a single originating IP address. If the statement includes a ScopDownStatement, this limit is applied only to the requests that match the statement.

    " + }, + "AggregateKeyType":{ + "shape":"RateBasedStatementAggregateKeyType", + "documentation":"

    Setting that indicates how to aggregate the request counts. Currently, you must set this to IP. The request counts are aggregated on IP addresses.

    " + }, + "ScopeDownStatement":{ + "shape":"Statement", + "documentation":"

    An optional nested statement that narrows the scope of the rate-based statement to matching web requests. This can be any nestable statement, and you can nest statements at any level below this scope-down statement.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

    When the rule action triggers, AWS WAF blocks additional requests from the IP address until the request rate falls below the limit.

    You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

    • An IP match statement with an IP set that specified the address 192.0.2.44.

    • A string match statement that searches in the User-Agent header for the string BadBot.

    In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet both of the conditions in the statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet both conditions are not counted towards the rate limit and are not affected by this rule.

    You cannot nest a RateBasedStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + }, + "RateBasedStatementAggregateKeyType":{ + "type":"string", + "enum":["IP"] + }, + "RateBasedStatementManagedKeysIPSet":{ + "type":"structure", + "members":{ + "IPAddressVersion":{"shape":"IPAddressVersion"}, + "Addresses":{ + "shape":"IPAddresses", + "documentation":"

    The IP addresses that are currently blocked.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The set of IP addresses that are currently blocked for a rate-based statement.

    " + }, + "RateLimit":{ + "type":"long", + "max":2000000000, + "min":100 + }, + "RedactedFields":{ + "type":"list", + "member":{"shape":"FieldToMatch"}, + "max":100 + }, + "Regex":{ + "type":"structure", + "members":{ + "RegexString":{ + "shape":"RegexPatternString", + "documentation":"

    The string representing the regular expression.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A single regular expression. This is used in a RegexPatternSet.

    " + }, + "RegexPatternSet":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the set. You cannot change the name after you create the set.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the set that helps with identification. You cannot change the description of a set after you create it.

    " + }, + "RegularExpressionList":{ + "shape":"RegularExpressionList", + "documentation":"

    The regular expression patterns in the set.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Contains one or more regular expressions.

    AWS WAF assigns an ARN to each RegexPatternSet that you create. To use a set in a rule, you provide the ARN to the Rule statement RegexPatternSetReferenceStatement.

    " + }, + "RegexPatternSetReferenceStatement":{ + "type":"structure", + "required":[ + "ARN", + "FieldToMatch", + "TextTransformations" + ], + "members":{ + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the RegexPatternSet that this statement references.

    " + }, + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

    " + }, + "TextTransformations":{ + "shape":"TextTransformations", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

    Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

    " + }, + "RegexPatternSetSummaries":{ + "type":"list", + "member":{"shape":"RegexPatternSetSummary"} + }, + "RegexPatternSetSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the data type instance. You cannot change the name after you create the instance.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the set that helps with identification. You cannot change the description of a set after you create it.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about a RegexPatternSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RegexPatternSet, and the ARN, that you provide to the RegexPatternSetReferenceStatement to use the pattern set in a Rule.

    " + }, + "RegexPatternString":{ + "type":"string", + "max":512, + "min":1, + "pattern":".*" + }, + "RegularExpressionList":{ + "type":"list", + "member":{"shape":"Regex"} + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":".*\\S.*" + }, + "ResourceArns":{ + "type":"list", + "member":{"shape":"ResourceArn"} + }, + "ResourceType":{ + "type":"string", + "enum":[ + "APPLICATION_LOAD_BALANCER", + "API_GATEWAY" + ] + }, + "Rule":{ + "type":"structure", + "required":[ + "Name", + "Priority", + "Statement", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule. You can't change the name of a Rule after you create it.

    " + }, + "Priority":{ + "shape":"RulePriority", + "documentation":"

    If you define more than one Rule in a WebACL, AWS WAF evaluates each request against the Rules in order based on the value of Priority. AWS WAF processes rules with lower priority first. The priorities don't need to be consecutive, but they must all be different.

    " + }, + "Statement":{ + "shape":"Statement", + "documentation":"

    The AWS WAF processing statement for the rule, for example ByteMatchStatement or SizeConstraintStatement.

    " + }, + "Action":{ + "shape":"RuleAction", + "documentation":"

    The action that AWS WAF should take on a web request when it matches the rule statement. Settings at the web ACL level can override the rule action setting.

    This is used only for rules whose statements do not reference a rule group. Rule statements that reference a rule group include RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    You must specify either this Action setting or the rule OverrideAction setting, but not both:

    • If the rule statement does not reference a rule group, use this rule action setting and not the rule override action setting.

    • If the rule statement references a rule group, use the override action setting and not this action setting.

    " + }, + "OverrideAction":{ + "shape":"OverrideAction", + "documentation":"

    The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like RuleGroupReferenceStatement and ManagedRuleGroupStatement.

    Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.

    In a Rule, you must specify either this OverrideAction setting or the rule Action setting, but not both:

    • If the rule statement references a rule group, use this override action setting and not the action setting.

    • If the rule statement does not reference a rule group, use the rule action setting and not this rule override action setting.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. Each rule includes one top-level Statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "RuleAction":{ + "type":"structure", + "members":{ + "Block":{ + "shape":"BlockAction", + "documentation":"

    Instructs AWS WAF to block the web request.

    " + }, + "Allow":{ + "shape":"AllowAction", + "documentation":"

    Instructs AWS WAF to allow the web request.

    " + }, + "Count":{ + "shape":"CountAction", + "documentation":"

    Instructs AWS WAF to count the web request and allow it.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The action that AWS WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.

    " + }, + "RuleGroup":{ + "type":"structure", + "required":[ + "Name", + "Id", + "Capacity", + "ARN", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Capacity":{ + "shape":"CapacityUnit", + "documentation":"

    The web ACL capacity units (WCUs) required for this rule group.

    When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity for a set of rules using CheckCapacity.

    AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

    " + }, + "RuleGroupReferenceStatement":{ + "type":"structure", + "required":["ARN"], + "members":{ + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + }, + "ExcludedRules":{ + "shape":"ExcludedRules", + "documentation":"

    The names of rules that are in the referenced rule group, but that you want AWS WAF to exclude from processing for this rule statement.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

    You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + }, + "RuleGroupSummaries":{ + "type":"list", + "member":{"shape":"RuleGroupSummary"} + }, + "RuleGroupSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the data type instance. You cannot change the name after you create the instance.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about a RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

    " + }, + "RulePriority":{ + "type":"integer", + "min":0 + }, + "RuleSummaries":{ + "type":"list", + "member":{"shape":"RuleSummary"} + }, + "RuleSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule.

    " + }, + "Action":{"shape":"RuleAction"} + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about a Rule, returned by operations like DescribeManagedRuleGroup. This provides information like the ID, that you can use to retrieve and manage a RuleGroup, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.

    " + }, + "Rules":{ + "type":"list", + "member":{"shape":"Rule"} + }, + "SampleWeight":{ + "type":"long", + "min":0 + }, + "SampledHTTPRequest":{ + "type":"structure", + "required":[ + "Request", + "Weight" + ], + "members":{ + "Request":{ + "shape":"HTTPRequest", + "documentation":"

    A complex type that contains detailed information about the request.

    " + }, + "Weight":{ + "shape":"SampleWeight", + "documentation":"

    A value that indicates how one result in the response relates proportionally to other results in the response. For example, a result that has a weight of 2 represents roughly twice as many web requests as a result that has a weight of 1.

    " + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The time at which AWS WAF received the request from your AWS resource, in Unix time format (in seconds).

    " + }, + "Action":{ + "shape":"Action", + "documentation":"

    The action for the Rule that the request matched: ALLOW, BLOCK, or COUNT.

    " + }, + "RuleNameWithinRuleGroup":{ + "shape":"EntityName", + "documentation":"

    The name of the Rule that the request matched. For managed rule groups, the format for this name is <vendor name>#<managed rule group name>#<rule name>. For your own rule groups, the format for this name is <rule group name>#<rule name>. If the rule is not in a rule group, the format is <rule name>.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Represents a single sampled web request. The response from GetSampledRequests includes a SampledHTTPRequests complex type that appears as SampledRequests in the response syntax. SampledHTTPRequests contains an array of SampledHTTPRequest objects.

    " + }, + "SampledHTTPRequests":{ + "type":"list", + "member":{"shape":"SampledHTTPRequest"} + }, + "Scope":{ + "type":"string", + "enum":[ + "CLOUDFRONT", + "REGIONAL" + ] + }, + "SearchString":{"type":"blob"}, + "SingleHeader":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FieldToMatchData", + "documentation":"

    The name of the query header to inspect.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    One of the headers in a web request, identified by name, for example, User-Agent or Referer. This setting isn't case sensitive.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "SingleQueryArgument":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{ + "shape":"FieldToMatchData", + "documentation":"

    The name of the query argument to inspect.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    One query argument in a web request, identified by name, for example UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.

    " + }, + "Size":{ + "type":"long", + "max":21474836480, + "min":0 + }, + "SizeConstraintStatement":{ + "type":"structure", + "required":[ + "FieldToMatch", + "ComparisonOperator", + "Size", + "TextTransformations" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

    " + }, + "ComparisonOperator":{ + "shape":"ComparisonOperator", + "documentation":"

    The operator to use to compare the request part to the size setting.

    " + }, + "Size":{ + "shape":"Size", + "documentation":"

    The size, in byte, to compare to the request part, after any transformations.

    " + }, + "TextTransformations":{ + "shape":"TextTransformations", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

    If you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

    If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

    " + }, + "SqliMatchStatement":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformations" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

    " + }, + "TextTransformations":{ + "shape":"TextTransformations", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Attackers sometimes insert malicious SQL code into web requests in an effort to extract data from your database. To allow or block web requests that appear to contain malicious SQL code, create one or more SQL injection match conditions. An SQL injection match condition identifies the part of web requests, such as the URI or the query string, that you want AWS WAF to inspect. Later in the process, when you create a web ACL, you specify whether to allow or block requests that appear to contain malicious SQL code.

    " + }, + "Statement":{ + "type":"structure", + "members":{ + "ByteMatchStatement":{ + "shape":"ByteMatchStatement", + "documentation":"

    A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is refered to as a string match statement.

    " + }, + "SqliMatchStatement":{ + "shape":"SqliMatchStatement", + "documentation":"

    Attackers sometimes insert malicious SQL code into web requests in an effort to extract data from your database. To allow or block web requests that appear to contain malicious SQL code, create one or more SQL injection match conditions. An SQL injection match condition identifies the part of web requests, such as the URI or the query string, that you want AWS WAF to inspect. Later in the process, when you create a web ACL, you specify whether to allow or block requests that appear to contain malicious SQL code.

    " + }, + "XssMatchStatement":{ + "shape":"XssMatchStatement", + "documentation":"

    A rule statement that defines a cross-site scripting (XSS) match search for AWS WAF to apply to web requests. XSS attacks are those where the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers. The XSS match statement provides the location in requests that you want AWS WAF to search and text transformations to use on the search area before AWS WAF searches for character sequences that are likely to be malicious strings.

    " + }, + "SizeConstraintStatement":{ + "shape":"SizeConstraintStatement", + "documentation":"

    A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.

    If you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.

    If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI /logo.jpg is nine characters long.

    " + }, + "GeoMatchStatement":{ + "shape":"GeoMatchStatement", + "documentation":"

    A rule statement used to identify web requests based on country of origin.

    " + }, + "RuleGroupReferenceStatement":{ + "shape":"RuleGroupReferenceStatement", + "documentation":"

    A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.

    You cannot nest a RuleGroupReferenceStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + }, + "IPSetReferenceStatement":{ + "shape":"IPSetReferenceStatement", + "documentation":"

    A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.

    Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

    " + }, + "RegexPatternSetReferenceStatement":{ + "shape":"RegexPatternSetReferenceStatement", + "documentation":"

    A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.

    Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.

    " + }, + "RateBasedStatement":{ + "shape":"RateBasedStatement", + "documentation":"

    A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.

    When the rule action triggers, AWS WAF blocks additional requests from the IP address until the request rate falls below the limit.

    You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:

    • An IP match statement with an IP set that specified the address 192.0.2.44.

    • A string match statement that searches in the User-Agent header for the string BadBot.

    In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet both of the conditions in the statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet both conditions are not counted towards the rate limit and are not affected by this rule.

    You cannot nest a RateBasedStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + }, + "AndStatement":{ + "shape":"AndStatement", + "documentation":"

    A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the AndStatement.

    " + }, + "OrStatement":{ + "shape":"OrStatement", + "documentation":"

    A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

    " + }, + "NotStatement":{ + "shape":"NotStatement", + "documentation":"

    A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

    " + }, + "ManagedRuleGroupStatement":{ + "shape":"ManagedRuleGroupStatement", + "documentation":"

    A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.

    You can't nest a ManagedRuleGroupStatement, for example for use inside a NotStatement or OrStatement. It can only be referenced as a top-level statement within a rule.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The processing guidance for a Rule, used by AWS WAF to determine whether a web request matches the rule.

    " + }, + "Statements":{ + "type":"list", + "member":{"shape":"Statement"} + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as \"customer.\" Tag keys are case-sensitive.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as \"companyA\" or \"companyB.\" Tag values are case-sensitive.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A collection of key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as \"environment\") and the tag value represents a specific value within that category (such as \"test,\" \"development,\" or \"production\"). You can add up to 50 tags to each AWS resource.

    " + }, + "TagInfoForResource":{ + "type":"structure", + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "TagList":{ + "shape":"TagList", + "documentation":"

    The array of Tag objects defined for the resource.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The collection of tagging definitions for an AWS resource.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "min":1 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "min":1 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    An array of key:value pairs to associate with the resource.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":".*" + }, + "TextTransformation":{ + "type":"structure", + "required":[ + "Priority", + "Type" + ], + "members":{ + "Priority":{ + "shape":"TextTransformationPriority", + "documentation":"

    Sets the relative processing order for multiple transformations that are defined for a rule statement. AWS WAF processes all transformations, from lowest priority to highest, before inspecting the transformed content. The priorities don't need to be consecutive, but they must all be different.

    " + }, + "Type":{ + "shape":"TextTransformationType", + "documentation":"

    You can specify the following transformation types:

    CMD_LINE

    When you're concerned that attackers are injecting an operating system command line command and using unusual formatting to disguise some or all of the command, use this option to perform the following transformations:

    • Delete the following characters: \\ \" ' ^

    • Delete spaces before the following characters: / (

    • Replace the following characters with a space: , ;

    • Replace multiple spaces with one space

    • Convert uppercase letters (A-Z) to lowercase (a-z)

    COMPRESS_WHITE_SPACE

    Use this option to replace the following characters with a space character (decimal 32):

    • \\f, formfeed, decimal 12

    • \\t, tab, decimal 9

    • \\n, newline, decimal 10

    • \\r, carriage return, decimal 13

    • \\v, vertical tab, decimal 11

    • non-breaking space, decimal 160

    COMPRESS_WHITE_SPACE also replaces multiple spaces with one space.

    HTML_ENTITY_DECODE

    Use this option to replace HTML-encoded characters with unencoded characters. HTML_ENTITY_DECODE performs the following operations:

    • Replaces (ampersand)quot; with \"

    • Replaces (ampersand)nbsp; with a non-breaking space, decimal 160

    • Replaces (ampersand)lt; with a \"less than\" symbol

    • Replaces (ampersand)gt; with >

    • Replaces characters that are represented in hexadecimal format, (ampersand)#xhhhh;, with the corresponding characters

    • Replaces characters that are represented in decimal format, (ampersand)#nnnn;, with the corresponding characters

    LOWERCASE

    Use this option to convert uppercase letters (A-Z) to lowercase (a-z).

    URL_DECODE

    Use this option to decode a URL-encoded value.

    NONE

    Specify NONE if you don't want any text transformations.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.

    " + }, + "TextTransformationPriority":{ + "type":"integer", + "min":0 + }, + "TextTransformationType":{ + "type":"string", + "enum":[ + "NONE", + "COMPRESS_WHITE_SPACE", + "HTML_ENTITY_DECODE", + "LOWERCASE", + "CMD_LINE", + "URL_DECODE" + ] + }, + "TextTransformations":{ + "type":"list", + "member":{"shape":"TextTransformation"}, + "min":1 + }, + "TimeWindow":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The beginning of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the time range from which you want GetSampledRequests to return a sample of the requests that your AWS resource received. Specify the date and time in the following format: \"2016-09-27T14:50Z\". You can specify any time range in the previous three hours.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    In a GetSampledRequests request, the StartTime and EndTime objects specify the time range for which you want AWS WAF to return a sample of web requests.

    In a GetSampledRequests response, the StartTime and EndTime objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case, EndTime is the time that AWS WAF received the 5,000th request.

    " + }, + "Timestamp":{"type":"timestamp"}, + "URIString":{"type":"string"}, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the resource.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    An array of keys identifying the tags to disassociate from the resource.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateIPSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "Addresses", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the IP set. You cannot change the name of an IPSet after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the IP set that helps with identification. You cannot change the description of an IP set after you create it.

    " + }, + "Addresses":{ + "shape":"IPAddresses", + "documentation":"

    Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all address ranges for IP versions IPv4 and IPv6.

    Examples:

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 192.0.2.44, specify 192.0.2.44/32.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify 192.0.2.0/24.

    • To configure AWS WAF to allow, block, or count requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify 1111:0000:0000:0000:0000:0000:0000:0111/128.

    • To configure AWS WAF to allow, block, or count requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify 1111:0000:0000:0000:0000:0000:0000:0000/64.

    For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "UpdateIPSetResponse":{ + "type":"structure", + "members":{ + "NextLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

    " + } + } + }, + "UpdateRegexPatternSetRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "RegularExpressionList", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the set. You cannot change the name after you create the set.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the set that helps with identification. You cannot change the description of a set after you create it.

    " + }, + "RegularExpressionList":{ + "shape":"RegularExpressionList", + "documentation":"

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "UpdateRegexPatternSetResponse":{ + "type":"structure", + "members":{ + "NextLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

    " + } + } + }, + "UpdateRuleGroupRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "VisibilityConfig", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the rule group. You cannot change the name of a rule group after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the rule group that helps with identification. You cannot change the description of a rule group after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "UpdateRuleGroupResponse":{ + "type":"structure", + "members":{ + "NextLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

    " + } + } + }, + "UpdateWebACLRequest":{ + "type":"structure", + "required":[ + "Name", + "Scope", + "Id", + "DefaultAction", + "VisibilityConfig", + "LockToken" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Scope":{ + "shape":"Scope", + "documentation":"

    Specifies whether this is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:

    • CLI - Specify the Region when you use the CloudFront scope: --scope=CLOUDFRONT --region=us-east-1.

    • API and SDKs - For all calls, use the Region endpoint us-east-1.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "DefaultAction":{ + "shape":"DefaultAction", + "documentation":"

    The action to perform if none of the Rules contained in the WebACL match.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + } + } + }, + "UpdateWebACLResponse":{ + "type":"structure", + "members":{ + "NextLockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns this token to your update requests. You use NextLockToken in the same manner as you use LockToken.

    " + } + } + }, + "UriPath":{ + "type":"structure", + "members":{ + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    The path component of the URI of a web request. This is the part of a web request that identifies a resource, for example, /images/daily-ad.jpg.

    This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.

    " + }, + "VendorName":{ + "type":"string", + "max":128, + "min":1, + "pattern":".*\\S.*" + }, + "VisibilityConfig":{ + "type":"structure", + "required":[ + "SampledRequestsEnabled", + "CloudWatchMetricsEnabled", + "MetricName" + ], + "members":{ + "SampledRequestsEnabled":{ + "shape":"Boolean", + "documentation":"

    A boolean indicating whether AWS WAF should store a sampling of the web requests that match the rules. You can view the sampled requests through the AWS WAF console.

    " + }, + "CloudWatchMetricsEnabled":{ + "shape":"Boolean", + "documentation":"

    A boolean indicating whether the associated resource sends metrics to CloudWatch. For the list of available metrics, see AWS WAF Metrics.

    " + }, + "MetricName":{ + "shape":"MetricName", + "documentation":"

    A name of the CloudWatch metric. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with length from one to 128 characters. It can't contain whitespace or metric names reserved for AWS WAF, for example \"All\" and \"Default_Action.\" You can't change a MetricName after you create a VisibilityConfig.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "WAFAssociatedItemException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.

    ", + "exception":true + }, + "WAFDuplicateItemException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.

    ", + "exception":true + }, + "WAFInternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.

    ", + "exception":true, + "fault":true + }, + "WAFInvalidOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The operation isn't valid.

    ", + "exception":true + }, + "WAFInvalidParameterException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"}, + "Field":{"shape":"ParameterExceptionField"}, + "Parameter":{"shape":"ParameterExceptionParameter"}, + "Reason":{"shape":"ErrorReason"} + }, + "documentation":"

    The operation failed because AWS WAF didn't recognize a parameter in the request. For example:

    • You specified an invalid parameter name or value.

    • Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested.

    • You tried to update a WebACL with a DefaultAction that isn't among the types available at DefaultAction.

    • Your request references an ARN that is malformed, or corresponds to a resource with which a Web ACL cannot be associated.

    ", + "exception":true + }, + "WAFInvalidPermissionPolicyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The operation failed because the specified policy isn't in the proper format.

    The policy specifications must conform to the following:

    • The policy must be composed using IAM Policy version 2012-10-17 or version 2015-01-01.

    • The policy must include specifications for Effect, Action, and Principal.

    • Effect must specify Allow.

    • Action must specify wafv2:CreateWebACL, wafv2:UpdateWebACL, and wafv2:PutFirewallManagerRuleGroups. AWS WAF rejects any extra actions or wildcard actions in the policy.

    • The policy must not include a Resource parameter.

    For more information, see IAM Policies.

    ", + "exception":true + }, + "WAFInvalidResourceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.

    ", + "exception":true + }, + "WAFLimitsExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of WebACL objects that you can create for an AWS account. For more information, see Limits in the AWS WAF Developer Guide.

    ", + "exception":true + }, + "WAFNonexistentItemException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform the operation because your resource doesn’t exist.

    ", + "exception":true + }, + "WAFOptimisticLockException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.

    ", + "exception":true + }, + "WAFServiceLinkedRoleErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF is not able to access the service linked role. This can be caused by a previous PutLoggingConfiguration request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous DeleteServiceLinkedRole request, which can lock the role for 15 minutes or more. If you recently made a call to DeleteServiceLinkedRole, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.

    ", + "exception":true + }, + "WAFSubscriptionNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    ", + "exception":true + }, + "WAFTagOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    An error occurred during the tagging operation. Retry your request.

    ", + "exception":true + }, + "WAFTagOperationInternalErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.

    ", + "exception":true, + "fault":true + }, + "WAFUnavailableEntityException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    AWS WAF couldn’t retrieve the resource that you requested. Retry your request.

    ", + "exception":true + }, + "WebACL":{ + "type":"structure", + "required":[ + "Name", + "Id", + "ARN", + "DefaultAction", + "VisibilityConfig" + ], + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    A unique identifier for the WebACL. This ID is returned in the responses to create and list commands. You use this ID to do things like get, update, and delete a WebACL.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the Web ACL that you want to associate with the resource.

    " + }, + "DefaultAction":{ + "shape":"DefaultAction", + "documentation":"

    The action to perform if none of the Rules contained in the WebACL match.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

    " + }, + "Rules":{ + "shape":"Rules", + "documentation":"

    The Rule statements used to identify the web requests that you want to allow, block, or count. Each rule includes one top-level statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.

    " + }, + "VisibilityConfig":{ + "shape":"VisibilityConfig", + "documentation":"

    Defines and enables Amazon CloudWatch metrics and web request sample collection.

    " + }, + "Capacity":{ + "shape":"ConsumedCapacity", + "documentation":"

    The web ACL capacity units (WCUs) currently being used by this web ACL.

    AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. The WCU limit for web ACLs is 1,500.

    " + }, + "PreProcessFirewallManagerRuleGroups":{ + "shape":"FirewallManagerRuleGroups", + "documentation":"

    The first set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized after these.

    In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

    " + }, + "PostProcessFirewallManagerRuleGroups":{ + "shape":"FirewallManagerRuleGroups", + "documentation":"

    The last set of rules for AWS WAF to process in the web ACL. This is defined in an AWS Firewall Manager WAF policy and contains only rule group references. You can't alter these. Any rules and rule groups that you define for the web ACL are prioritized before these.

    In the Firewall Manager WAF policy, the Firewall Manager administrator can define a set of rule groups to run first in the web ACL and a set of rule groups to run last. Within each set, the administrator prioritizes the rule groups, to determine their relative processing order.

    " + }, + "ManagedByFirewallManager":{ + "shape":"Boolean", + "documentation":"

    Indicates whether this web ACL is managed by AWS Firewall Manager. If true, then only AWS Firewall Manager can delete the web ACL or any Firewall Manager rule groups in the web ACL.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer.

    " + }, + "WebACLSummaries":{ + "type":"list", + "member":{"shape":"WebACLSummary"} + }, + "WebACLSummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityName", + "documentation":"

    The name of the Web ACL. You cannot change the name of a Web ACL after you create it.

    " + }, + "Id":{ + "shape":"EntityId", + "documentation":"

    The unique identifier for the Web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

    " + }, + "Description":{ + "shape":"EntityDescription", + "documentation":"

    A description of the Web ACL that helps with identification. You cannot change the description of a Web ACL after you create it.

    " + }, + "LockToken":{ + "shape":"LockToken", + "documentation":"

    A token used for optimistic locking. AWS WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

    " + }, + "ARN":{ + "shape":"ResourceArn", + "documentation":"

    The Amazon Resource Name (ARN) of the entity.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    High-level information about a WebACL, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a WebACL, and the ARN, that you provide to operations like AssociateWebACL.

    " + }, + "XssMatchStatement":{ + "type":"structure", + "required":[ + "FieldToMatch", + "TextTransformations" + ], + "members":{ + "FieldToMatch":{ + "shape":"FieldToMatch", + "documentation":"

    The part of a web request that you want AWS WAF to inspect. For more information, see FieldToMatch.

    " + }, + "TextTransformations":{ + "shape":"TextTransformations", + "documentation":"

    Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection. If you specify one or more transformations in a rule statement, AWS WAF performs all transformations on the content of the request component identified by FieldToMatch, starting from the lowest priority setting, before inspecting the content for a match.

    " + } + }, + "documentation":"

    This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

    A rule statement that defines a cross-site scripting (XSS) match search for AWS WAF to apply to web requests. XSS attacks are those where the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers. The XSS match statement provides the location in requests that you want AWS WAF to search and text transformations to use on the search area before AWS WAF searches for character sequences that are likely to be malicious strings.

    " + } + }, + "documentation":"

    This is the latest version of the AWS WAF API, released in November, 2019. The names of the entities that you use to access this API, like endpoints and namespaces, all have the versioning information added, like \"V2\" or \"v2\", to distinguish from the prior version. We recommend migrating your resources to this version, because it has a number of significant improvements.

    If you used AWS WAF prior to this release, you can't use this AWS WAFV2 API to access any AWS WAF resources that you created before. You can access your old rules, web ACLs, and other AWS WAF resources only through the AWS WAF Classic APIs. The AWS WAF Classic APIs have retained the prior names, endpoints, and namespaces.

    For information, including how to migrate your AWS WAF resources to this version, see the AWS WAF Developer Guide.

    AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to Amazon CloudFront, an Amazon API Gateway API, or an Application Load Balancer. AWS WAF also 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, API Gateway, CloudFront, or the Application Load Balancer responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You also can configure CloudFront to return a custom error page when a request is blocked.

    This API guide is for developers who need detailed information about AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use AWS WAF, see the AWS WAF Developer Guide.

    You can make calls using the endpoints listed in AWS Service Endpoints for AWS WAF.

    • For regional applications, you can use any of the endpoints in the list. A regional application can be an Application Load Balancer (ALB) or an API Gateway stage.

    • For AWS CloudFront applications, you must use the API endpoint listed for US East (N. Virginia): us-east-1.

    Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.

    We currently provide two versions of the AWS WAF API: this API and the prior versions, the classic AWS WAF APIs. This new API provides the same functionality as the older versions, with the following major improvements:

    • You use one API for both global and regional applications. Where you need to distinguish the scope, you specify a Scope parameter and set it to CLOUDFRONT or REGIONAL.

    • You can define a Web ACL or rule group with a single call, and update it with a single call. You define all rule specifications in JSON format, and pass them to your rule group or Web ACL calls.

    • The limits AWS WAF places on the use of rules more closely reflects the cost of running each type of rule. Rule groups include capacity settings, so you know the maximum cost of a rule group when you use it.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/examples-1.json --- python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,61 @@ +{ + "pagination": { + "DescribeDocumentVersions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "DocumentVersions" + }, + "DescribeFolderContents": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": [ + "Folders", + "Documents" + ] + }, + "DescribeUsers": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Users" + }, + "DescribeActivities": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "UserActivities" + }, + "DescribeComments": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Comments" + }, + "DescribeGroups": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Groups" + }, + "DescribeNotificationSubscriptions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Subscriptions" + }, + "DescribeResourcePermissions": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Principals" + }, + "DescribeRootFolders": { + "input_token": "Marker", + "limit_key": "Limit", + "output_token": "Marker", + "result_key": "Folders" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/service-2.json python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/service-2.json --- python-botocore-1.4.70/botocore/data/workdocs/2016-05-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workdocs/2016-05-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3721 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-05-01", + "endpointPrefix":"workdocs", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon WorkDocs", + "serviceId":"WorkDocs", + "signatureVersion":"v4", + "uid":"workdocs-2016-05-01" + }, + "operations":{ + "AbortDocumentVersionUpload":{ + "name":"AbortDocumentVersionUpload", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":204 + }, + "input":{"shape":"AbortDocumentVersionUploadRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Aborts the upload of the specified document version that was previously initiated by InitiateDocumentVersionUpload. The client should make this call only when it no longer intends to upload the document version, or fails to do so.

    " + }, + "ActivateUser":{ + "name":"ActivateUser", + "http":{ + "method":"POST", + "requestUri":"/api/v1/users/{UserId}/activation", + "responseCode":200 + }, + "input":{"shape":"ActivateUserRequest"}, + "output":{"shape":"ActivateUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Activates the specified user. Only active users can access Amazon WorkDocs.

    " + }, + "AddResourcePermissions":{ + "name":"AddResourcePermissions", + "http":{ + "method":"POST", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":201 + }, + "input":{"shape":"AddResourcePermissionsRequest"}, + "output":{"shape":"AddResourcePermissionsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a set of permissions for the specified folder or document. The resource permissions are overwritten if the principals already have different permissions.

    " + }, + "CreateComment":{ + "name":"CreateComment", + "http":{ + "method":"POST", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comment", + "responseCode":201 + }, + "input":{"shape":"CreateCommentRequest"}, + "output":{"shape":"CreateCommentResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DocumentLockedForCommentsException"}, + {"shape":"InvalidCommentOperationException"} + ], + "documentation":"

    Adds a new comment to the specified document version.

    " + }, + "CreateCustomMetadata":{ + "name":"CreateCustomMetadata", + "http":{ + "method":"PUT", + "requestUri":"/api/v1/resources/{ResourceId}/customMetadata", + "responseCode":200 + }, + "input":{"shape":"CreateCustomMetadataRequest"}, + "output":{"shape":"CreateCustomMetadataResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"CustomMetadataLimitExceededException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Adds one or more custom properties to the specified resource (a folder, document, or version).

    " + }, + "CreateFolder":{ + "name":"CreateFolder", + "http":{ + "method":"POST", + "requestUri":"/api/v1/folders", + "responseCode":201 + }, + "input":{"shape":"CreateFolderRequest"}, + "output":{"shape":"CreateFolderResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a folder with the specified name and parent folder.

    " + }, + "CreateLabels":{ + "name":"CreateLabels", + "http":{ + "method":"PUT", + "requestUri":"/api/v1/resources/{ResourceId}/labels", + "responseCode":200 + }, + "input":{"shape":"CreateLabelsRequest"}, + "output":{"shape":"CreateLabelsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"TooManyLabelsException"} + ], + "documentation":"

    Adds the specified list of labels to the given resource (a document or folder)

    " + }, + "CreateNotificationSubscription":{ + "name":"CreateNotificationSubscription", + "http":{ + "method":"POST", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"CreateNotificationSubscriptionRequest"}, + "output":{"shape":"CreateNotificationSubscriptionResponse"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"TooManySubscriptionsException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Configure Amazon WorkDocs to use Amazon SNS notifications. The endpoint receives a confirmation message, and must confirm the subscription.

    For more information, see Subscribe to Notifications in the Amazon WorkDocs Developer Guide.

    " + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/api/v1/users", + "responseCode":201 + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"EntityAlreadyExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Creates a user in a Simple AD or Microsoft AD directory. The status of a newly created user is \"ACTIVE\". New users can access Amazon WorkDocs.

    " + }, + "DeactivateUser":{ + "name":"DeactivateUser", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/users/{UserId}/activation", + "responseCode":204 + }, + "input":{"shape":"DeactivateUserRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deactivates the specified user, which revokes the user's access to Amazon WorkDocs.

    " + }, + "DeleteComment":{ + "name":"DeleteComment", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comment/{CommentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteCommentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DocumentLockedForCommentsException"} + ], + "documentation":"

    Deletes the specified comment from the document version.

    " + }, + "DeleteCustomMetadata":{ + "name":"DeleteCustomMetadata", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/customMetadata", + "responseCode":200 + }, + "input":{"shape":"DeleteCustomMetadataRequest"}, + "output":{"shape":"DeleteCustomMetadataResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deletes custom metadata from the specified resource.

    " + }, + "DeleteDocument":{ + "name":"DeleteDocument", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":204 + }, + "input":{"shape":"DeleteDocumentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Permanently deletes the specified document and its associated metadata.

    " + }, + "DeleteFolder":{ + "name":"DeleteFolder", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":204 + }, + "input":{"shape":"DeleteFolderRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Permanently deletes the specified folder and its contents.

    " + }, + "DeleteFolderContents":{ + "name":"DeleteFolderContents", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/folders/{FolderId}/contents", + "responseCode":204 + }, + "input":{"shape":"DeleteFolderContentsRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deletes the contents of the specified folder.

    " + }, + "DeleteLabels":{ + "name":"DeleteLabels", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/labels", + "responseCode":200 + }, + "input":{"shape":"DeleteLabelsRequest"}, + "output":{"shape":"DeleteLabelsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deletes the specified list of labels from a resource.

    " + }, + "DeleteNotificationSubscription":{ + "name":"DeleteNotificationSubscription", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions/{SubscriptionId}", + "responseCode":200 + }, + "input":{"shape":"DeleteNotificationSubscriptionRequest"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"EntityNotExistsException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

    Deletes the specified subscription from the specified organization.

    " + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/users/{UserId}", + "responseCode":204 + }, + "input":{"shape":"DeleteUserRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Deletes the specified user from a Simple AD or Microsoft AD directory.

    " + }, + "DescribeActivities":{ + "name":"DescribeActivities", + "http":{ + "method":"GET", + "requestUri":"/api/v1/activities", + "responseCode":200 + }, + "input":{"shape":"DescribeActivitiesRequest"}, + "output":{"shape":"DescribeActivitiesResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Describes the user activities in a specified time period.

    " + }, + "DescribeComments":{ + "name":"DescribeComments", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}/comments", + "responseCode":200 + }, + "input":{"shape":"DescribeCommentsRequest"}, + "output":{"shape":"DescribeCommentsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    List all the comments for the specified document version.

    " + }, + "DescribeDocumentVersions":{ + "name":"DescribeDocumentVersions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions", + "responseCode":200 + }, + "input":{"shape":"DescribeDocumentVersionsRequest"}, + "output":{"shape":"DescribeDocumentVersionsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

    Retrieves the document versions for the specified document.

    By default, only active versions are returned.

    " + }, + "DescribeFolderContents":{ + "name":"DescribeFolderContents", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}/contents", + "responseCode":200 + }, + "input":{"shape":"DescribeFolderContentsRequest"}, + "output":{"shape":"DescribeFolderContentsResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

    Describes the contents of the specified folder, including its documents and subfolders.

    By default, Amazon WorkDocs returns the first 100 active document and folder metadata items. If there are more results, the response includes a marker that you can use to request the next set of results. You can also request initialized documents.

    " + }, + "DescribeGroups":{ + "name":"DescribeGroups", + "http":{ + "method":"GET", + "requestUri":"/api/v1/groups", + "responseCode":200 + }, + "input":{"shape":"DescribeGroupsRequest"}, + "output":{"shape":"DescribeGroupsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Describes the groups specified by the query. Groups are defined by the underlying Active Directory.

    " + }, + "DescribeNotificationSubscriptions":{ + "name":"DescribeNotificationSubscriptions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/organizations/{OrganizationId}/subscriptions", + "responseCode":200 + }, + "input":{"shape":"DescribeNotificationSubscriptionsRequest"}, + "output":{"shape":"DescribeNotificationSubscriptionsResponse"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"EntityNotExistsException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Lists the specified notification subscriptions.

    " + }, + "DescribeResourcePermissions":{ + "name":"DescribeResourcePermissions", + "http":{ + "method":"GET", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":200 + }, + "input":{"shape":"DescribeResourcePermissionsRequest"}, + "output":{"shape":"DescribeResourcePermissionsResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Describes the permissions of a specified resource.

    " + }, + "DescribeRootFolders":{ + "name":"DescribeRootFolders", + "http":{ + "method":"GET", + "requestUri":"/api/v1/me/root", + "responseCode":200 + }, + "input":{"shape":"DescribeRootFoldersRequest"}, + "output":{"shape":"DescribeRootFoldersResponse"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Describes the current user's special folders; the RootFolder and the RecycleBin. RootFolder is the root of user's files and folders and RecycleBin is the root of recycled items. This is not a valid action for SigV4 (administrative API) clients.

    This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide.

    " + }, + "DescribeUsers":{ + "name":"DescribeUsers", + "http":{ + "method":"GET", + "requestUri":"/api/v1/users", + "responseCode":200 + }, + "input":{"shape":"DescribeUsersRequest"}, + "output":{"shape":"DescribeUsersResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"RequestedEntityTooLargeException"} + ], + "documentation":"

    Describes the specified users. You can describe all users or filter the results (for example, by status or organization).

    By default, Amazon WorkDocs returns the first 24 active or pending users. If there are more results, the response includes a marker that you can use to request the next set of results.

    " + }, + "GetCurrentUser":{ + "name":"GetCurrentUser", + "http":{ + "method":"GET", + "requestUri":"/api/v1/me", + "responseCode":200 + }, + "input":{"shape":"GetCurrentUserRequest"}, + "output":{"shape":"GetCurrentUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Retrieves details of the current user for whom the authentication token was generated. This is not a valid action for SigV4 (administrative API) clients.

    This action requires an authentication token. To get an authentication token, register an application with Amazon WorkDocs. For more information, see Authentication and Access Control for User Applications in the Amazon WorkDocs Developer Guide.

    " + }, + "GetDocument":{ + "name":"GetDocument", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":200 + }, + "input":{"shape":"GetDocumentRequest"}, + "output":{"shape":"GetDocumentResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"InvalidPasswordException"} + ], + "documentation":"

    Retrieves details of a document.

    " + }, + "GetDocumentPath":{ + "name":"GetDocumentPath", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/path", + "responseCode":200 + }, + "input":{"shape":"GetDocumentPathRequest"}, + "output":{"shape":"GetDocumentPathResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Retrieves the path information (the hierarchy from the root folder) for the requested document.

    By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested document and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the names of the parent folders.

    " + }, + "GetDocumentVersion":{ + "name":"GetDocumentVersion", + "http":{ + "method":"GET", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"GetDocumentVersionRequest"}, + "output":{"shape":"GetDocumentVersionResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"InvalidPasswordException"} + ], + "documentation":"

    Retrieves version metadata for the specified document.

    " + }, + "GetFolder":{ + "name":"GetFolder", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":200 + }, + "input":{"shape":"GetFolderRequest"}, + "output":{"shape":"GetFolderResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"ProhibitedStateException"} + ], + "documentation":"

    Retrieves the metadata of the specified folder.

    " + }, + "GetFolderPath":{ + "name":"GetFolderPath", + "http":{ + "method":"GET", + "requestUri":"/api/v1/folders/{FolderId}/path", + "responseCode":200 + }, + "input":{"shape":"GetFolderPathRequest"}, + "output":{"shape":"GetFolderPathResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Retrieves the path information (the hierarchy from the root folder) for the specified folder.

    By default, Amazon WorkDocs returns a maximum of 100 levels upwards from the requested folder and only includes the IDs of the parent folders in the path. You can limit the maximum number of levels. You can also request the parent folder names.

    " + }, + "GetResources":{ + "name":"GetResources", + "http":{ + "method":"GET", + "requestUri":"/api/v1/resources", + "responseCode":200 + }, + "input":{"shape":"GetResourcesRequest"}, + "output":{"shape":"GetResourcesResponse"}, + "errors":[ + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"InvalidArgumentException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Retrieves a collection of resources, including folders and documents. The only CollectionType supported is SHARED_WITH_ME.

    " + }, + "InitiateDocumentVersionUpload":{ + "name":"InitiateDocumentVersionUpload", + "http":{ + "method":"POST", + "requestUri":"/api/v1/documents", + "responseCode":201 + }, + "input":{"shape":"InitiateDocumentVersionUploadRequest"}, + "output":{"shape":"InitiateDocumentVersionUploadResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"StorageLimitExceededException"}, + {"shape":"StorageLimitWillExceedException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DraftUploadOutOfSyncException"}, + {"shape":"ResourceAlreadyCheckedOutException"} + ], + "documentation":"

    Creates a new document object and version object.

    The client specifies the parent folder ID and name of the document to upload. The ID is optionally specified when creating a new version of an existing document. This is the first step to upload a document. Next, upload the document to the URL returned from the call, and then call UpdateDocumentVersion.

    To cancel the document upload, call AbortDocumentVersionUpload.

    " + }, + "RemoveAllResourcePermissions":{ + "name":"RemoveAllResourcePermissions", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/permissions", + "responseCode":204 + }, + "input":{"shape":"RemoveAllResourcePermissionsRequest"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Removes all the permissions from the specified resource.

    " + }, + "RemoveResourcePermission":{ + "name":"RemoveResourcePermission", + "http":{ + "method":"DELETE", + "requestUri":"/api/v1/resources/{ResourceId}/permissions/{PrincipalId}", + "responseCode":204 + }, + "input":{"shape":"RemoveResourcePermissionRequest"}, + "errors":[ + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Removes the permission for the specified principal from the specified resource.

    " + }, + "UpdateDocument":{ + "name":"UpdateDocument", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/documents/{DocumentId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDocumentRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"LimitExceededException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Updates the specified attributes of a document. The user must have access to both the document and its parent folder, if applicable.

    " + }, + "UpdateDocumentVersion":{ + "name":"UpdateDocumentVersion", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/documents/{DocumentId}/versions/{VersionId}", + "responseCode":200 + }, + "input":{"shape":"UpdateDocumentVersionRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"InvalidOperationException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Changes the status of the document version to ACTIVE.

    Amazon WorkDocs also sets its document container to ACTIVE. This is the last step in a document upload, after the client uploads the document to an S3-presigned URL returned by InitiateDocumentVersionUpload.

    " + }, + "UpdateFolder":{ + "name":"UpdateFolder", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/folders/{FolderId}", + "responseCode":200 + }, + "input":{"shape":"UpdateFolderRequest"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"EntityAlreadyExistsException"}, + {"shape":"ProhibitedStateException"}, + {"shape":"ConflictingOperationException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"LimitExceededException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"} + ], + "documentation":"

    Updates the specified attributes of the specified folder. The user must have access to both the folder and its parent folder, if applicable.

    " + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"PATCH", + "requestUri":"/api/v1/users/{UserId}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"EntityNotExistsException"}, + {"shape":"UnauthorizedOperationException"}, + {"shape":"UnauthorizedResourceAccessException"}, + {"shape":"IllegalUserStateException"}, + {"shape":"FailedDependencyException"}, + {"shape":"ServiceUnavailableException"}, + {"shape":"DeactivatingLastSystemUserException"}, + {"shape":"InvalidArgumentException"} + ], + "documentation":"

    Updates the specified attributes of the specified user, and grants or revokes administrative privileges to the Amazon WorkDocs site.

    " + } + }, + "shapes":{ + "AbortDocumentVersionUploadRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the version.

    ", + "location":"uri", + "locationName":"VersionId" + } + } + }, + "ActivateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    ", + "location":"uri", + "locationName":"UserId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + } + } + }, + "ActivateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The user information.

    " + } + } + }, + "Activity":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ActivityType", + "documentation":"

    The activity type.

    " + }, + "TimeStamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the action was performed.

    " + }, + "IsIndirectActivity":{ + "shape":"BooleanType", + "documentation":"

    Indicates whether an activity is indirect or direct. An indirect activity results from a direct activity performed on a parent resource. For example, sharing a parent folder (the direct activity) shares all of the subfolders and documents within the parent folder (the indirect activity).

    " + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    " + }, + "Initiator":{ + "shape":"UserMetadata", + "documentation":"

    The user who performed the action.

    " + }, + "Participants":{ + "shape":"Participants", + "documentation":"

    The list of users or groups impacted by this action. This is an optional field and is filled for the following sharing activities: DOCUMENT_SHARED, DOCUMENT_SHARED, DOCUMENT_UNSHARED, FOLDER_SHARED, FOLDER_UNSHARED.

    " + }, + "ResourceMetadata":{ + "shape":"ResourceMetadata", + "documentation":"

    The metadata of the resource involved in the user action.

    " + }, + "OriginalParent":{ + "shape":"ResourceMetadata", + "documentation":"

    The original parent of the resource. This is an optional field and is filled for move activities.

    " + }, + "CommentMetadata":{ + "shape":"CommentMetadata", + "documentation":"

    Metadata of the commenting activity. This is an optional field and is filled for commenting activities.

    " + } + }, + "documentation":"

    Describes the activity information.

    " + }, + "ActivityNamesFilterType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\w,]+" + }, + "ActivityType":{ + "type":"string", + "enum":[ + "DOCUMENT_CHECKED_IN", + "DOCUMENT_CHECKED_OUT", + "DOCUMENT_RENAMED", + "DOCUMENT_VERSION_UPLOADED", + "DOCUMENT_VERSION_DELETED", + "DOCUMENT_VERSION_VIEWED", + "DOCUMENT_VERSION_DOWNLOADED", + "DOCUMENT_RECYCLED", + "DOCUMENT_RESTORED", + "DOCUMENT_REVERTED", + "DOCUMENT_SHARED", + "DOCUMENT_UNSHARED", + "DOCUMENT_SHARE_PERMISSION_CHANGED", + "DOCUMENT_SHAREABLE_LINK_CREATED", + "DOCUMENT_SHAREABLE_LINK_REMOVED", + "DOCUMENT_SHAREABLE_LINK_PERMISSION_CHANGED", + "DOCUMENT_MOVED", + "DOCUMENT_COMMENT_ADDED", + "DOCUMENT_COMMENT_DELETED", + "DOCUMENT_ANNOTATION_ADDED", + "DOCUMENT_ANNOTATION_DELETED", + "FOLDER_CREATED", + "FOLDER_DELETED", + "FOLDER_RENAMED", + "FOLDER_RECYCLED", + "FOLDER_RESTORED", + "FOLDER_SHARED", + "FOLDER_UNSHARED", + "FOLDER_SHARE_PERMISSION_CHANGED", + "FOLDER_SHAREABLE_LINK_CREATED", + "FOLDER_SHAREABLE_LINK_REMOVED", + "FOLDER_SHAREABLE_LINK_PERMISSION_CHANGED", + "FOLDER_MOVED" + ] + }, + "AddResourcePermissionsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Principals" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "Principals":{ + "shape":"SharePrincipalList", + "documentation":"

    The users, groups, or organization being granted permission.

    " + }, + "NotificationOptions":{ + "shape":"NotificationOptions", + "documentation":"

    The notification options.

    " + } + } + }, + "AddResourcePermissionsResponse":{ + "type":"structure", + "members":{ + "ShareResults":{ + "shape":"ShareResultsList", + "documentation":"

    The share results.

    " + } + } + }, + "AuthenticationHeaderType":{ + "type":"string", + "max":8199, + "min":1, + "sensitive":true + }, + "BooleanEnumType":{ + "type":"string", + "enum":[ + "TRUE", + "FALSE" + ] + }, + "BooleanType":{"type":"boolean"}, + "Comment":{ + "type":"structure", + "required":["CommentId"], + "members":{ + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the comment.

    " + }, + "ParentId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the parent comment.

    " + }, + "ThreadId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the root comment in the thread.

    " + }, + "Text":{ + "shape":"CommentTextType", + "documentation":"

    The text of the comment.

    " + }, + "Contributor":{ + "shape":"User", + "documentation":"

    The details of the user who made the comment.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time that the comment was created.

    " + }, + "Status":{ + "shape":"CommentStatusType", + "documentation":"

    The status of the comment.

    " + }, + "Visibility":{ + "shape":"CommentVisibilityType", + "documentation":"

    The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.

    " + }, + "RecipientId":{ + "shape":"IdType", + "documentation":"

    If the comment is a reply to another user's comment, this field contains the user ID of the user being replied to.

    " + } + }, + "documentation":"

    Describes a comment.

    " + }, + "CommentIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "CommentList":{ + "type":"list", + "member":{"shape":"Comment"} + }, + "CommentMetadata":{ + "type":"structure", + "members":{ + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the comment.

    " + }, + "Contributor":{ + "shape":"User", + "documentation":"

    The user who made the comment.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp that the comment was created.

    " + }, + "CommentStatus":{ + "shape":"CommentStatusType", + "documentation":"

    The status of the comment.

    " + }, + "RecipientId":{ + "shape":"IdType", + "documentation":"

    The ID of the user being replied to.

    " + } + }, + "documentation":"

    Describes the metadata of a comment.

    " + }, + "CommentStatusType":{ + "type":"string", + "enum":[ + "DRAFT", + "PUBLISHED", + "DELETED" + ] + }, + "CommentTextType":{ + "type":"string", + "max":2048, + "min":1, + "sensitive":true + }, + "CommentVisibilityType":{ + "type":"string", + "enum":[ + "PUBLIC", + "PRIVATE" + ] + }, + "ConcurrentModificationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The resource hierarchy is changing.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ConflictingOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    Another operation is in progress on the resource that conflicts with the current operation.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "CreateCommentRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId", + "Text" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the document version.

    ", + "location":"uri", + "locationName":"VersionId" + }, + "ParentId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the parent comment.

    " + }, + "ThreadId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the root comment in the thread.

    " + }, + "Text":{ + "shape":"CommentTextType", + "documentation":"

    The text of the comment.

    " + }, + "Visibility":{ + "shape":"CommentVisibilityType", + "documentation":"

    The visibility of the comment. Options are either PRIVATE, where the comment is visible only to the comment author and document owner and co-owners, or PUBLIC, where the comment is visible to document owners, co-owners, and contributors.

    " + }, + "NotifyCollaborators":{ + "shape":"BooleanType", + "documentation":"

    Set this parameter to TRUE to send an email out to the document collaborators after the comment is created.

    " + } + } + }, + "CreateCommentResponse":{ + "type":"structure", + "members":{ + "Comment":{ + "shape":"Comment", + "documentation":"

    The comment that has been created.

    " + } + } + }, + "CreateCustomMetadataRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "CustomMetadata" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the version, if the custom metadata is being added to a document version.

    ", + "location":"querystring", + "locationName":"versionid" + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

    Custom metadata in the form of name-value pairs.

    " + } + } + }, + "CreateCustomMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateFolderRequest":{ + "type":"structure", + "required":["ParentFolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the new folder.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + } + } + }, + "CreateFolderResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"FolderMetadata", + "documentation":"

    The metadata of the folder.

    " + } + } + }, + "CreateLabelsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "Labels" + ], + "members":{ + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "Labels":{ + "shape":"SharedLabels", + "documentation":"

    List of labels to add to the resource.

    " + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + } + } + }, + "CreateLabelsResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateNotificationSubscriptionRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Endpoint", + "Protocol", + "SubscriptionType" + ], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    ", + "location":"uri", + "locationName":"OrganizationId" + }, + "Endpoint":{ + "shape":"SubscriptionEndPointType", + "documentation":"

    The endpoint to receive the notifications. If the protocol is HTTPS, the endpoint is a URL that begins with https.

    " + }, + "Protocol":{ + "shape":"SubscriptionProtocolType", + "documentation":"

    The protocol to use. The supported value is https, which delivers JSON-encoded messages using HTTPS POST.

    " + }, + "SubscriptionType":{ + "shape":"SubscriptionType", + "documentation":"

    The notification type.

    " + } + } + }, + "CreateNotificationSubscriptionResponse":{ + "type":"structure", + "members":{ + "Subscription":{ + "shape":"Subscription", + "documentation":"

    The subscription.

    " + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "Username", + "GivenName", + "Surname", + "Password" + ], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    " + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

    The login name of the user.

    " + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

    The email address of the user.

    " + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

    The given name of the user.

    " + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

    The surname of the user.

    " + }, + "Password":{ + "shape":"PasswordType", + "documentation":"

    The password of the user.

    " + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

    The time zone ID of the user.

    " + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

    The amount of storage for the user.

    " + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The user information.

    " + } + } + }, + "CustomMetadataKeyList":{ + "type":"list", + "member":{"shape":"CustomMetadataKeyType"}, + "max":8 + }, + "CustomMetadataKeyType":{ + "type":"string", + "max":56, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "CustomMetadataLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The limit has been reached on the number of custom properties for the specified resource.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "CustomMetadataMap":{ + "type":"map", + "key":{"shape":"CustomMetadataKeyType"}, + "value":{"shape":"CustomMetadataValueType"}, + "max":8, + "min":1 + }, + "CustomMetadataValueType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "DeactivateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "UserId":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    ", + "location":"uri", + "locationName":"UserId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + } + } + }, + "DeactivatingLastSystemUserException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The last user in the organization is being deactivated.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DeleteCommentRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId", + "CommentId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the document version.

    ", + "location":"uri", + "locationName":"VersionId" + }, + "CommentId":{ + "shape":"CommentIdType", + "documentation":"

    The ID of the comment.

    ", + "location":"uri", + "locationName":"CommentId" + } + } + }, + "DeleteCustomMetadataRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource, either a document or folder.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the version, if the custom metadata is being deleted from a document version.

    ", + "location":"querystring", + "locationName":"versionId" + }, + "Keys":{ + "shape":"CustomMetadataKeyList", + "documentation":"

    List of properties to remove.

    ", + "location":"querystring", + "locationName":"keys" + }, + "DeleteAll":{ + "shape":"BooleanType", + "documentation":"

    Flag to indicate removal of all custom metadata properties from the specified resource.

    ", + "location":"querystring", + "locationName":"deleteAll" + } + } + }, + "DeleteCustomMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + } + } + }, + "DeleteFolderContentsRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + } + } + }, + "DeleteFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + } + } + }, + "DeleteLabelsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "Labels":{ + "shape":"SharedLabels", + "documentation":"

    List of labels to delete from the resource.

    ", + "location":"querystring", + "locationName":"labels" + }, + "DeleteAll":{ + "shape":"BooleanType", + "documentation":"

    Flag to request removal of all labels from the specified resource.

    ", + "location":"querystring", + "locationName":"deleteAll" + } + } + }, + "DeleteLabelsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNotificationSubscriptionRequest":{ + "type":"structure", + "required":[ + "SubscriptionId", + "OrganizationId" + ], + "members":{ + "SubscriptionId":{ + "shape":"IdType", + "documentation":"

    The ID of the subscription.

    ", + "location":"uri", + "locationName":"SubscriptionId" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    ", + "location":"uri", + "locationName":"OrganizationId" + } + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Do not set this field when using administrative API actions, as in accessing the API using AWS credentials.

    ", + "location":"header", + "locationName":"Authentication" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    ", + "location":"uri", + "locationName":"UserId" + } + } + }, + "DescribeActivitiesRequest":{ + "type":"structure", + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "StartTime":{ + "shape":"TimestampType", + "documentation":"

    The timestamp that determines the starting time of the activities. The response includes the activities performed after the specified timestamp.

    ", + "location":"querystring", + "locationName":"startTime" + }, + "EndTime":{ + "shape":"TimestampType", + "documentation":"

    The timestamp that determines the end time of the activities. The response includes the activities performed before the specified timestamp.

    ", + "location":"querystring", + "locationName":"endTime" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization. This is a mandatory parameter when using administrative API (SigV4) requests.

    ", + "location":"querystring", + "locationName":"organizationId" + }, + "ActivityTypes":{ + "shape":"ActivityNamesFilterType", + "documentation":"

    Specifies which activity types to include in the response. If this field is left empty, all activity types are returned.

    ", + "location":"querystring", + "locationName":"activityTypes" + }, + "ResourceId":{ + "shape":"IdType", + "documentation":"

    The document or folder ID for which to describe activity types.

    ", + "location":"querystring", + "locationName":"resourceId" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

    The ID of the user who performed the action. The response includes activities pertaining to this user. This is an optional parameter and is only applicable for administrative API (SigV4) requests.

    ", + "location":"querystring", + "locationName":"userId" + }, + "IncludeIndirectActivities":{ + "shape":"BooleanType", + "documentation":"

    Includes indirect activities. An indirect activity results from a direct activity performed on a parent resource. For example, sharing a parent folder (the direct activity) shares all of the subfolders and documents within the parent folder (the indirect activity).

    ", + "location":"querystring", + "locationName":"includeIndirectActivities" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker for the next set of results.

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeActivitiesResponse":{ + "type":"structure", + "members":{ + "UserActivities":{ + "shape":"UserActivities", + "documentation":"

    The list of activities for the specified user and time period.

    " + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker for the next set of results.

    " + } + } + }, + "DescribeCommentsRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the document version.

    ", + "location":"uri", + "locationName":"VersionId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker for the next set of results. This marker was received from a previous call.

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeCommentsResponse":{ + "type":"structure", + "members":{ + "Comments":{ + "shape":"CommentList", + "documentation":"

    The list of comments for the specified document version.

    " + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker for the next set of results. This marker was received from a previous call.

    " + } + } + }, + "DescribeDocumentVersionsRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call.)

    ", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of versions to return with this call.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Include":{ + "shape":"FieldNamesType", + "documentation":"

    A comma-separated list of values. Specify \"INITIALIZED\" to include incomplete versions.

    ", + "location":"querystring", + "locationName":"include" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

    Specify \"SOURCE\" to include initialized versions and a URL for the source document.

    ", + "location":"querystring", + "locationName":"fields" + } + } + }, + "DescribeDocumentVersionsResponse":{ + "type":"structure", + "members":{ + "DocumentVersions":{ + "shape":"DocumentVersionMetadataList", + "documentation":"

    The document versions.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DescribeFolderContentsRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + }, + "Sort":{ + "shape":"ResourceSortType", + "documentation":"

    The sorting criteria.

    ", + "location":"querystring", + "locationName":"sort" + }, + "Order":{ + "shape":"OrderType", + "documentation":"

    The order for the contents of the folder.

    ", + "location":"querystring", + "locationName":"order" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return with this call.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. This marker was received from a previous call.

    ", + "location":"querystring", + "locationName":"marker" + }, + "Type":{ + "shape":"FolderContentType", + "documentation":"

    The type of items.

    ", + "location":"querystring", + "locationName":"type" + }, + "Include":{ + "shape":"FieldNamesType", + "documentation":"

    The contents to include. Specify \"INITIALIZED\" to include initialized documents.

    ", + "location":"querystring", + "locationName":"include" + } + } + }, + "DescribeFolderContentsResponse":{ + "type":"structure", + "members":{ + "Folders":{ + "shape":"FolderMetadataList", + "documentation":"

    The subfolders in the specified folder.

    " + }, + "Documents":{ + "shape":"DocumentMetadataList", + "documentation":"

    The documents in the specified folder.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DescribeGroupsRequest":{ + "type":"structure", + "required":["SearchQuery"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "SearchQuery":{ + "shape":"SearchQueryType", + "documentation":"

    A query to describe groups by group name.

    ", + "location":"querystring", + "locationName":"searchQuery" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    ", + "location":"querystring", + "locationName":"organizationId" + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call.)

    ", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"PositiveIntegerType", + "documentation":"

    The maximum number of items to return with this call.

    ", + "location":"querystring", + "locationName":"limit" + } + } + }, + "DescribeGroupsResponse":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupMetadataList", + "documentation":"

    The list of groups.

    " + }, + "Marker":{ + "shape":"MarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DescribeNotificationSubscriptionsRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    ", + "location":"uri", + "locationName":"OrganizationId" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call.)

    ", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return with this call.

    ", + "location":"querystring", + "locationName":"limit" + } + } + }, + "DescribeNotificationSubscriptionsResponse":{ + "type":"structure", + "members":{ + "Subscriptions":{ + "shape":"SubscriptionList", + "documentation":"

    The subscriptions.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DescribeResourcePermissionsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "PrincipalId":{ + "shape":"IdType", + "documentation":"

    The ID of the principal to filter permissions by.

    ", + "location":"querystring", + "locationName":"principalId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return with this call.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call)

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeResourcePermissionsResponse":{ + "type":"structure", + "members":{ + "Principals":{ + "shape":"PrincipalList", + "documentation":"

    The principals.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DescribeRootFoldersRequest":{ + "type":"structure", + "required":["AuthenticationToken"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token.

    ", + "location":"header", + "locationName":"Authentication" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call.)

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "DescribeRootFoldersResponse":{ + "type":"structure", + "members":{ + "Folders":{ + "shape":"FolderMetadataList", + "documentation":"

    The user's special folders.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results.

    " + } + } + }, + "DescribeUsersRequest":{ + "type":"structure", + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    ", + "location":"querystring", + "locationName":"organizationId" + }, + "UserIds":{ + "shape":"UserIdsType", + "documentation":"

    The IDs of the users.

    ", + "location":"querystring", + "locationName":"userIds" + }, + "Query":{ + "shape":"SearchQueryType", + "documentation":"

    A query to filter users by user name.

    ", + "location":"querystring", + "locationName":"query" + }, + "Include":{ + "shape":"UserFilterType", + "documentation":"

    The state of the users. Specify \"ALL\" to include inactive users.

    ", + "location":"querystring", + "locationName":"include" + }, + "Order":{ + "shape":"OrderType", + "documentation":"

    The order for the results.

    ", + "location":"querystring", + "locationName":"order" + }, + "Sort":{ + "shape":"UserSortType", + "documentation":"

    The sorting criteria.

    ", + "location":"querystring", + "locationName":"sort" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. (You received this marker from a previous call.)

    ", + "location":"querystring", + "locationName":"marker" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of items to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

    A comma-separated list of values. Specify \"STORAGE_METADATA\" to include the user storage quota and utilization information.

    ", + "location":"querystring", + "locationName":"fields" + } + } + }, + "DescribeUsersResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"OrganizationUserList", + "documentation":"

    The users.

    " + }, + "TotalNumberOfUsers":{ + "shape":"SizeType", + "documentation":"

    The total number of users included in the results.

    ", + "deprecated":true + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "DocumentContentType":{ + "type":"string", + "max":128, + "min":1 + }, + "DocumentLockedForCommentsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    This exception is thrown when the document is locked for comments and user tries to create or delete a comment on that document.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "DocumentMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    " + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

    The ID of the creator.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the document was created.

    " + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the document was updated.

    " + }, + "LatestVersionMetadata":{ + "shape":"DocumentVersionMetadata", + "documentation":"

    The latest version of the document.

    " + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

    The resource state.

    " + }, + "Labels":{ + "shape":"SharedLabels", + "documentation":"

    List of labels on the document.

    " + } + }, + "documentation":"

    Describes the document.

    " + }, + "DocumentMetadataList":{ + "type":"list", + "member":{"shape":"DocumentMetadata"} + }, + "DocumentSourceType":{ + "type":"string", + "enum":[ + "ORIGINAL", + "WITH_COMMENTS" + ] + }, + "DocumentSourceUrlMap":{ + "type":"map", + "key":{"shape":"DocumentSourceType"}, + "value":{"shape":"UrlType"} + }, + "DocumentStatusType":{ + "type":"string", + "enum":[ + "INITIALIZED", + "ACTIVE" + ] + }, + "DocumentThumbnailType":{ + "type":"string", + "enum":[ + "SMALL", + "SMALL_HQ", + "LARGE" + ] + }, + "DocumentThumbnailUrlMap":{ + "type":"map", + "key":{"shape":"DocumentThumbnailType"}, + "value":{"shape":"UrlType"} + }, + "DocumentVersionIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "DocumentVersionMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The ID of the version.

    " + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the version.

    " + }, + "ContentType":{ + "shape":"DocumentContentType", + "documentation":"

    The content type of the document.

    " + }, + "Size":{ + "shape":"SizeType", + "documentation":"

    The size of the document, in bytes.

    " + }, + "Signature":{ + "shape":"HashType", + "documentation":"

    The signature of the document.

    " + }, + "Status":{ + "shape":"DocumentStatusType", + "documentation":"

    The status of the document.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the document was first uploaded.

    " + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the document was last uploaded.

    " + }, + "ContentCreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the content of the document was originally created.

    " + }, + "ContentModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the content of the document was modified.

    " + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

    The ID of the creator.

    " + }, + "Thumbnail":{ + "shape":"DocumentThumbnailUrlMap", + "documentation":"

    The thumbnail of the document.

    " + }, + "Source":{ + "shape":"DocumentSourceUrlMap", + "documentation":"

    The source of the document.

    " + } + }, + "documentation":"

    Describes a version of a document.

    " + }, + "DocumentVersionMetadataList":{ + "type":"list", + "member":{"shape":"DocumentVersionMetadata"} + }, + "DocumentVersionStatus":{ + "type":"string", + "enum":["ACTIVE"] + }, + "DraftUploadOutOfSyncException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    This exception is thrown when a valid checkout ID is not presented on document version upload calls for a document that has been checked out from Web client.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "EmailAddressType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" + }, + "EntityAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The resource already exists.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "EntityIdList":{ + "type":"list", + "member":{"shape":"IdType"} + }, + "EntityNotExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"}, + "EntityIds":{"shape":"EntityIdList"} + }, + "documentation":"

    The resource does not exist.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "ErrorMessageType":{"type":"string"}, + "FailedDependencyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The AWS Directory Service cannot reach an on-premises instance. Or a dependency under the control of the organization is failing, such as a connected Active Directory.

    ", + "error":{"httpStatusCode":424}, + "exception":true + }, + "FieldNamesType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w,]+" + }, + "FolderContentType":{ + "type":"string", + "enum":[ + "ALL", + "DOCUMENT", + "FOLDER" + ] + }, + "FolderMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    " + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the folder.

    " + }, + "CreatorId":{ + "shape":"IdType", + "documentation":"

    The ID of the creator.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the folder was created.

    " + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the folder was updated.

    " + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

    The resource state of the folder.

    " + }, + "Signature":{ + "shape":"HashType", + "documentation":"

    The unique identifier created from the subfolders and documents of the folder.

    " + }, + "Labels":{ + "shape":"SharedLabels", + "documentation":"

    List of labels on the folder.

    " + }, + "Size":{ + "shape":"SizeType", + "documentation":"

    The size of the folder metadata.

    " + }, + "LatestVersionSize":{ + "shape":"SizeType", + "documentation":"

    The size of the latest version of the folder metadata.

    " + } + }, + "documentation":"

    Describes a folder.

    " + }, + "FolderMetadataList":{ + "type":"list", + "member":{"shape":"FolderMetadata"} + }, + "GetCurrentUserRequest":{ + "type":"structure", + "required":["AuthenticationToken"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token.

    ", + "location":"header", + "locationName":"Authentication" + } + } + }, + "GetCurrentUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    Metadata of the user.

    " + } + } + }, + "GetDocumentPathRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"IdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of levels in the hierarchy to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

    A comma-separated list of values. Specify NAME to include the names of the parent folders.

    ", + "location":"querystring", + "locationName":"fields" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    This value is not supported.

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "GetDocumentPathResponse":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"ResourcePath", + "documentation":"

    The path information.

    " + } + } + }, + "GetDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

    Set this to TRUE to include custom metadata in the response.

    ", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetDocumentResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentMetadata", + "documentation":"

    The metadata details of the document.

    " + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

    The custom metadata on the document.

    " + } + } + }, + "GetDocumentVersionRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The version ID of the document.

    ", + "location":"uri", + "locationName":"VersionId" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

    A comma-separated list of values. Specify \"SOURCE\" to include a URL for the source document.

    ", + "location":"querystring", + "locationName":"fields" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

    Set this to TRUE to include custom metadata in the response.

    ", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetDocumentVersionResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentVersionMetadata", + "documentation":"

    The version metadata.

    " + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

    The custom metadata on the document version.

    " + } + } + }, + "GetFolderPathRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"IdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of levels in the hierarchy to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Fields":{ + "shape":"FieldNamesType", + "documentation":"

    A comma-separated list of values. Specify \"NAME\" to include the names of the parent folders.

    ", + "location":"querystring", + "locationName":"fields" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    This value is not supported.

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "GetFolderPathResponse":{ + "type":"structure", + "members":{ + "Path":{ + "shape":"ResourcePath", + "documentation":"

    The path information.

    " + } + } + }, + "GetFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + }, + "IncludeCustomMetadata":{ + "shape":"BooleanType", + "documentation":"

    Set to TRUE to include custom metadata in the response.

    ", + "location":"querystring", + "locationName":"includeCustomMetadata" + } + } + }, + "GetFolderResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"FolderMetadata", + "documentation":"

    The metadata of the folder.

    " + }, + "CustomMetadata":{ + "shape":"CustomMetadataMap", + "documentation":"

    The custom metadata on the folder.

    " + } + } + }, + "GetResourcesRequest":{ + "type":"structure", + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    The Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

    The user ID for the resource collection. This is a required field for accessing the API operation using IAM credentials.

    ", + "location":"querystring", + "locationName":"userId" + }, + "CollectionType":{ + "shape":"ResourceCollectionType", + "documentation":"

    The collection type.

    ", + "location":"querystring", + "locationName":"collectionType" + }, + "Limit":{ + "shape":"LimitType", + "documentation":"

    The maximum number of resources to return.

    ", + "location":"querystring", + "locationName":"limit" + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker for the next set of results. This marker was received from a previous call.

    ", + "location":"querystring", + "locationName":"marker" + } + } + }, + "GetResourcesResponse":{ + "type":"structure", + "members":{ + "Folders":{ + "shape":"FolderMetadataList", + "documentation":"

    The folders in the specified folder.

    " + }, + "Documents":{ + "shape":"DocumentMetadataList", + "documentation":"

    The documents in the specified collection.

    " + }, + "Marker":{ + "shape":"PageMarkerType", + "documentation":"

    The marker to use when requesting the next set of results. If there are no additional results, the string is empty.

    " + } + } + }, + "GroupMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the user group.

    " + }, + "Name":{ + "shape":"GroupNameType", + "documentation":"

    The name of the group.

    " + } + }, + "documentation":"

    Describes the metadata of a user group.

    " + }, + "GroupMetadataList":{ + "type":"list", + "member":{"shape":"GroupMetadata"} + }, + "GroupNameType":{"type":"string"}, + "HashType":{ + "type":"string", + "max":128, + "min":0, + "pattern":"[&\\w+-.@]+" + }, + "HeaderNameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w-]+" + }, + "HeaderValueType":{ + "type":"string", + "max":1024, + "min":1 + }, + "IdType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[&\\w+-.@]+" + }, + "IllegalUserStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The user is undergoing transfer of ownership.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "InitiateDocumentVersionUploadRequest":{ + "type":"structure", + "required":["ParentFolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "Id":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    " + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the document.

    " + }, + "ContentCreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the content of the document was originally created.

    " + }, + "ContentModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The timestamp when the content of the document was modified.

    " + }, + "ContentType":{ + "shape":"DocumentContentType", + "documentation":"

    The content type of the document.

    " + }, + "DocumentSizeInBytes":{ + "shape":"SizeType", + "documentation":"

    The size of the document, in bytes.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + } + } + }, + "InitiateDocumentVersionUploadResponse":{ + "type":"structure", + "members":{ + "Metadata":{ + "shape":"DocumentMetadata", + "documentation":"

    The document metadata.

    " + }, + "UploadMetadata":{ + "shape":"UploadMetadata", + "documentation":"

    The upload metadata.

    " + } + } + }, + "InvalidArgumentException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The pagination marker or limit fields are not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "InvalidCommentOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The requested operation is not allowed on the specified comment object.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "InvalidOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The operation is invalid.

    ", + "error":{"httpStatusCode":405}, + "exception":true + }, + "InvalidPasswordException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The password is invalid.

    ", + "error":{"httpStatusCode":401}, + "exception":true + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The maximum of 100,000 folders under the parent folder has been exceeded.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "LimitType":{ + "type":"integer", + "max":999, + "min":1 + }, + "LocaleType":{ + "type":"string", + "enum":[ + "en", + "fr", + "ko", + "de", + "es", + "ja", + "ru", + "zh_CN", + "zh_TW", + "pt_BR", + "default" + ] + }, + "MarkerType":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[\\u0000-\\u00FF]+" + }, + "MessageType":{ + "type":"string", + "max":2048, + "min":0, + "sensitive":true + }, + "NotificationOptions":{ + "type":"structure", + "members":{ + "SendEmail":{ + "shape":"BooleanType", + "documentation":"

    Boolean value to indicate an email notification should be sent to the receipients.

    " + }, + "EmailMessage":{ + "shape":"MessageType", + "documentation":"

    Text value to be included in the email body.

    " + } + }, + "documentation":"

    Set of options which defines notification preferences of given action.

    " + }, + "OrderType":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "OrganizationUserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "PageMarkerType":{ + "type":"string", + "max":2048, + "min":1 + }, + "Participants":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"UserMetadataList", + "documentation":"

    The list of users.

    " + }, + "Groups":{ + "shape":"GroupMetadataList", + "documentation":"

    The list of user groups.

    " + } + }, + "documentation":"

    Describes the users or user groups.

    " + }, + "PasswordType":{ + "type":"string", + "max":32, + "min":4, + "pattern":"[\\u0020-\\u00FF]+", + "sensitive":true + }, + "PermissionInfo":{ + "type":"structure", + "members":{ + "Role":{ + "shape":"RoleType", + "documentation":"

    The role of the user.

    " + }, + "Type":{ + "shape":"RolePermissionType", + "documentation":"

    The type of permissions.

    " + } + }, + "documentation":"

    Describes the permissions.

    " + }, + "PermissionInfoList":{ + "type":"list", + "member":{"shape":"PermissionInfo"} + }, + "PositiveIntegerType":{ + "type":"integer", + "min":1 + }, + "PositiveSizeType":{ + "type":"long", + "min":0 + }, + "Principal":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the resource.

    " + }, + "Type":{ + "shape":"PrincipalType", + "documentation":"

    The type of resource.

    " + }, + "Roles":{ + "shape":"PermissionInfoList", + "documentation":"

    The permission information for the resource.

    " + } + }, + "documentation":"

    Describes a resource.

    " + }, + "PrincipalList":{ + "type":"list", + "member":{"shape":"Principal"} + }, + "PrincipalType":{ + "type":"string", + "enum":[ + "USER", + "GROUP", + "INVITE", + "ANONYMOUS", + "ORGANIZATION" + ] + }, + "ProhibitedStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The specified document version is not in the INITIALIZED state.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "RemoveAllResourcePermissionsRequest":{ + "type":"structure", + "required":["ResourceId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + } + } + }, + "RemoveResourcePermissionRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "PrincipalId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "ResourceId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    ", + "location":"uri", + "locationName":"ResourceId" + }, + "PrincipalId":{ + "shape":"IdType", + "documentation":"

    The principal ID of the resource.

    ", + "location":"uri", + "locationName":"PrincipalId" + }, + "PrincipalType":{ + "shape":"PrincipalType", + "documentation":"

    The principal type of the resource.

    ", + "location":"querystring", + "locationName":"type" + } + } + }, + "RequestedEntityTooLargeException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The response is too large to return. The request must include a filter to reduce the size of the response.

    ", + "error":{"httpStatusCode":413}, + "exception":true + }, + "ResourceAlreadyCheckedOutException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The resource is already checked out.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "ResourceCollectionType":{ + "type":"string", + "enum":["SHARED_WITH_ME"] + }, + "ResourceIdType":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\w+-.@]+" + }, + "ResourceMetadata":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"ResourceType", + "documentation":"

    The type of resource.

    " + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the resource.

    " + }, + "OriginalName":{ + "shape":"ResourceNameType", + "documentation":"

    The original name of the resource before a rename operation.

    " + }, + "Id":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource.

    " + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The version ID of the resource. This is an optional field and is filled for action on document version.

    " + }, + "Owner":{ + "shape":"UserMetadata", + "documentation":"

    The owner of the resource.

    " + }, + "ParentId":{ + "shape":"ResourceIdType", + "documentation":"

    The parent ID of the resource before a rename operation.

    " + } + }, + "documentation":"

    Describes the metadata of a resource.

    " + }, + "ResourceNameType":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\u0020-\\u202D\\u202F-\\uFFFF]+" + }, + "ResourcePath":{ + "type":"structure", + "members":{ + "Components":{ + "shape":"ResourcePathComponentList", + "documentation":"

    The components of the resource path.

    " + } + }, + "documentation":"

    Describes the path information of a resource.

    " + }, + "ResourcePathComponent":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the resource path.

    " + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the resource path.

    " + } + }, + "documentation":"

    Describes the resource path.

    " + }, + "ResourcePathComponentList":{ + "type":"list", + "member":{"shape":"ResourcePathComponent"} + }, + "ResourceSortType":{ + "type":"string", + "enum":[ + "DATE", + "NAME" + ] + }, + "ResourceStateType":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESTORING", + "RECYCLING", + "RECYCLED" + ] + }, + "ResourceType":{ + "type":"string", + "enum":[ + "FOLDER", + "DOCUMENT" + ] + }, + "RolePermissionType":{ + "type":"string", + "enum":[ + "DIRECT", + "INHERITED" + ] + }, + "RoleType":{ + "type":"string", + "enum":[ + "VIEWER", + "CONTRIBUTOR", + "OWNER", + "COOWNER" + ] + }, + "SearchQueryType":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\u0020-\\uFFFF]+", + "sensitive":true + }, + "ServiceUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    One or more of the dependencies is unavailable.

    ", + "error":{"httpStatusCode":503}, + "exception":true, + "fault":true + }, + "SharePrincipal":{ + "type":"structure", + "required":[ + "Id", + "Type", + "Role" + ], + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the recipient.

    " + }, + "Type":{ + "shape":"PrincipalType", + "documentation":"

    The type of the recipient.

    " + }, + "Role":{ + "shape":"RoleType", + "documentation":"

    The role of the recipient.

    " + } + }, + "documentation":"

    Describes the recipient type and ID, if available.

    " + }, + "SharePrincipalList":{ + "type":"list", + "member":{"shape":"SharePrincipal"} + }, + "ShareResult":{ + "type":"structure", + "members":{ + "PrincipalId":{ + "shape":"IdType", + "documentation":"

    The ID of the principal.

    " + }, + "InviteePrincipalId":{ + "shape":"IdType", + "documentation":"

    The ID of the invited user.

    " + }, + "Role":{ + "shape":"RoleType", + "documentation":"

    The role.

    " + }, + "Status":{ + "shape":"ShareStatusType", + "documentation":"

    The status.

    " + }, + "ShareId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the resource that was shared.

    " + }, + "StatusMessage":{ + "shape":"MessageType", + "documentation":"

    The status message.

    " + } + }, + "documentation":"

    Describes the share results of a resource.

    " + }, + "ShareResultsList":{ + "type":"list", + "member":{"shape":"ShareResult"} + }, + "ShareStatusType":{ + "type":"string", + "enum":[ + "SUCCESS", + "FAILURE" + ] + }, + "SharedLabel":{ + "type":"string", + "max":32, + "min":1, + "pattern":"[a-zA-Z0-9._+-/=][a-zA-Z0-9 ._+-/=]*" + }, + "SharedLabels":{ + "type":"list", + "member":{"shape":"SharedLabel"}, + "max":20 + }, + "SignedHeaderMap":{ + "type":"map", + "key":{"shape":"HeaderNameType"}, + "value":{"shape":"HeaderValueType"} + }, + "SizeType":{"type":"long"}, + "StorageLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The storage limit has been exceeded.

    ", + "error":{"httpStatusCode":409}, + "exception":true + }, + "StorageLimitWillExceedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The storage limit will be exceeded.

    ", + "error":{"httpStatusCode":413}, + "exception":true + }, + "StorageRuleType":{ + "type":"structure", + "members":{ + "StorageAllocatedInBytes":{ + "shape":"PositiveSizeType", + "documentation":"

    The amount of storage allocated, in bytes.

    " + }, + "StorageType":{ + "shape":"StorageType", + "documentation":"

    The type of storage.

    " + } + }, + "documentation":"

    Describes the storage for a user.

    " + }, + "StorageType":{ + "type":"string", + "enum":[ + "UNLIMITED", + "QUOTA" + ] + }, + "Subscription":{ + "type":"structure", + "members":{ + "SubscriptionId":{ + "shape":"IdType", + "documentation":"

    The ID of the subscription.

    " + }, + "EndPoint":{ + "shape":"SubscriptionEndPointType", + "documentation":"

    The endpoint of the subscription.

    " + }, + "Protocol":{ + "shape":"SubscriptionProtocolType", + "documentation":"

    The protocol of the subscription.

    " + } + }, + "documentation":"

    Describes a subscription.

    " + }, + "SubscriptionEndPointType":{ + "type":"string", + "max":256, + "min":1 + }, + "SubscriptionList":{ + "type":"list", + "member":{"shape":"Subscription"}, + "max":256 + }, + "SubscriptionProtocolType":{ + "type":"string", + "enum":["HTTPS"] + }, + "SubscriptionType":{ + "type":"string", + "enum":["ALL"] + }, + "TimeZoneIdType":{ + "type":"string", + "max":256, + "min":1 + }, + "TimestampType":{"type":"timestamp"}, + "TooManyLabelsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The limit has been reached on the number of labels for the specified resource.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TooManySubscriptionsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    You've reached the limit on the number of subscriptions for the WorkDocs instance.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedOperationException":{ + "type":"structure", + "members":{ + }, + "documentation":"

    The operation is not permitted.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "UnauthorizedResourceAccessException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessageType"} + }, + "documentation":"

    The caller does not have access to perform the action on the resource.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "UpdateDocumentRequest":{ + "type":"structure", + "required":["DocumentId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the document.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

    The resource state of the document. Only ACTIVE and RECYCLED are supported.

    " + } + } + }, + "UpdateDocumentVersionRequest":{ + "type":"structure", + "required":[ + "DocumentId", + "VersionId" + ], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "DocumentId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the document.

    ", + "location":"uri", + "locationName":"DocumentId" + }, + "VersionId":{ + "shape":"DocumentVersionIdType", + "documentation":"

    The version ID of the document.

    ", + "location":"uri", + "locationName":"VersionId" + }, + "VersionStatus":{ + "shape":"DocumentVersionStatus", + "documentation":"

    The status of the version.

    " + } + } + }, + "UpdateFolderRequest":{ + "type":"structure", + "required":["FolderId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "FolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the folder.

    ", + "location":"uri", + "locationName":"FolderId" + }, + "Name":{ + "shape":"ResourceNameType", + "documentation":"

    The name of the folder.

    " + }, + "ParentFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the parent folder.

    " + }, + "ResourceState":{ + "shape":"ResourceStateType", + "documentation":"

    The resource state of the folder. Only ACTIVE and RECYCLED are accepted values from the API.

    " + } + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":["UserId"], + "members":{ + "AuthenticationToken":{ + "shape":"AuthenticationHeaderType", + "documentation":"

    Amazon WorkDocs authentication token. Not required when using AWS administrator credentials to access the API.

    ", + "location":"header", + "locationName":"Authentication" + }, + "UserId":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    ", + "location":"uri", + "locationName":"UserId" + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

    The given name of the user.

    " + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

    The surname of the user.

    " + }, + "Type":{ + "shape":"UserType", + "documentation":"

    The type of the user.

    " + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

    The amount of storage for the user.

    " + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

    The time zone ID of the user.

    " + }, + "Locale":{ + "shape":"LocaleType", + "documentation":"

    The locale of the user.

    " + }, + "GrantPoweruserPrivileges":{ + "shape":"BooleanEnumType", + "documentation":"

    Boolean value to determine whether the user is granted Poweruser privileges.

    " + } + } + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + "User":{ + "shape":"User", + "documentation":"

    The user information.

    " + } + } + }, + "UploadMetadata":{ + "type":"structure", + "members":{ + "UploadUrl":{ + "shape":"UrlType", + "documentation":"

    The URL of the upload.

    " + }, + "SignedHeaders":{ + "shape":"SignedHeaderMap", + "documentation":"

    The signed headers.

    " + } + }, + "documentation":"

    Describes the upload.

    " + }, + "UrlType":{ + "type":"string", + "max":1024, + "min":1, + "sensitive":true + }, + "User":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    " + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

    The login name of the user.

    " + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

    The email address of the user.

    " + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

    The given name of the user.

    " + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

    The surname of the user.

    " + }, + "OrganizationId":{ + "shape":"IdType", + "documentation":"

    The ID of the organization.

    " + }, + "RootFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the root folder.

    " + }, + "RecycleBinFolderId":{ + "shape":"ResourceIdType", + "documentation":"

    The ID of the recycle bin folder.

    " + }, + "Status":{ + "shape":"UserStatusType", + "documentation":"

    The status of the user.

    " + }, + "Type":{ + "shape":"UserType", + "documentation":"

    The type of user.

    " + }, + "CreatedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the user was created.

    " + }, + "ModifiedTimestamp":{ + "shape":"TimestampType", + "documentation":"

    The time when the user was modified.

    " + }, + "TimeZoneId":{ + "shape":"TimeZoneIdType", + "documentation":"

    The time zone ID of the user.

    " + }, + "Locale":{ + "shape":"LocaleType", + "documentation":"

    The locale of the user.

    " + }, + "Storage":{ + "shape":"UserStorageMetadata", + "documentation":"

    The storage for the user.

    " + } + }, + "documentation":"

    Describes a user.

    " + }, + "UserActivities":{ + "type":"list", + "member":{"shape":"Activity"} + }, + "UserAttributeValueType":{ + "type":"string", + "max":64, + "min":1 + }, + "UserFilterType":{ + "type":"string", + "enum":[ + "ALL", + "ACTIVE_PENDING" + ] + }, + "UserIdsType":{ + "type":"string", + "max":2000, + "min":1, + "pattern":"[&\\w+-.@, ]+" + }, + "UserMetadata":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"IdType", + "documentation":"

    The ID of the user.

    " + }, + "Username":{ + "shape":"UsernameType", + "documentation":"

    The name of the user.

    " + }, + "GivenName":{ + "shape":"UserAttributeValueType", + "documentation":"

    The given name of the user before a rename operation.

    " + }, + "Surname":{ + "shape":"UserAttributeValueType", + "documentation":"

    The surname of the user.

    " + }, + "EmailAddress":{ + "shape":"EmailAddressType", + "documentation":"

    The email address of the user.

    " + } + }, + "documentation":"

    Describes the metadata of the user.

    " + }, + "UserMetadataList":{ + "type":"list", + "member":{"shape":"UserMetadata"} + }, + "UserSortType":{ + "type":"string", + "enum":[ + "USER_NAME", + "FULL_NAME", + "STORAGE_LIMIT", + "USER_STATUS", + "STORAGE_USED" + ] + }, + "UserStatusType":{ + "type":"string", + "enum":[ + "ACTIVE", + "INACTIVE", + "PENDING" + ] + }, + "UserStorageMetadata":{ + "type":"structure", + "members":{ + "StorageUtilizedInBytes":{ + "shape":"SizeType", + "documentation":"

    The amount of storage used, in bytes.

    " + }, + "StorageRule":{ + "shape":"StorageRuleType", + "documentation":"

    The storage for a user.

    " + } + }, + "documentation":"

    Describes the storage for a user.

    " + }, + "UserType":{ + "type":"string", + "enum":[ + "USER", + "ADMIN", + "POWERUSER", + "MINIMALUSER", + "WORKSPACESUSER" + ] + }, + "UsernameType":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\w\\-+.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z]+)?" + } + }, + "documentation":"

    The WorkDocs API is designed for the following use cases:

    • File Migration: File migration applications are supported for users who want to migrate their files from an on-premises or off-premises file system or service. Users can insert files into a user directory structure, as well as allow for basic metadata changes, such as modifications to the permissions of files.

    • Security: Support security applications are supported for users who have additional security needs, such as antivirus or data loss prevention. The API actions, along with AWS CloudTrail, allow these applications to detect when changes occur in Amazon WorkDocs. Then, the application can take the necessary actions and replace the target file. If the target file violates the policy, the application can also choose to email the user.

    • eDiscovery/Analytics: General administrative applications are supported, such as eDiscovery and analytics. These applications can choose to mimic or record the actions in an Amazon WorkDocs site, along with AWS CloudTrail, to replicate data for eDiscovery, backup, or analytical applications.

    All Amazon WorkDocs API actions are Amazon authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of IAM users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the Amazon WorkDocs site, the IAM user gains full administrative visibility into the entire Amazon WorkDocs site (or as set in the IAM policy). This includes, but is not limited to, the ability to modify file permissions and upload any file to any user. This allows developers to perform the three use cases above, as well as give users the ability to grant access on a selective basis using the IAM model.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/worklink/2018-09-25/paginators-1.json python-botocore-1.16.19+repack/botocore/data/worklink/2018-09-25/paginators-1.json --- python-botocore-1.4.70/botocore/data/worklink/2018-09-25/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/worklink/2018-09-25/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/worklink/2018-09-25/service-2.json python-botocore-1.16.19+repack/botocore/data/worklink/2018-09-25/service-2.json --- python-botocore-1.4.70/botocore/data/worklink/2018-09-25/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/worklink/2018-09-25/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1707 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-09-25", + "endpointPrefix":"worklink", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceAbbreviation":"WorkLink", + "serviceFullName":"Amazon WorkLink", + "serviceId":"WorkLink", + "signatureVersion":"v4", + "signingName":"worklink", + "uid":"worklink-2018-09-25" + }, + "operations":{ + "AssociateDomain":{ + "name":"AssociateDomain", + "http":{ + "method":"POST", + "requestUri":"/associateDomain" + }, + "input":{"shape":"AssociateDomainRequest"}, + "output":{"shape":"AssociateDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Specifies a domain to be associated to Amazon WorkLink.

    " + }, + "AssociateWebsiteAuthorizationProvider":{ + "name":"AssociateWebsiteAuthorizationProvider", + "http":{ + "method":"POST", + "requestUri":"/associateWebsiteAuthorizationProvider" + }, + "input":{"shape":"AssociateWebsiteAuthorizationProviderRequest"}, + "output":{"shape":"AssociateWebsiteAuthorizationProviderResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Associates a website authorization provider with a specified fleet. This is used to authorize users against associated websites in the company network.

    " + }, + "AssociateWebsiteCertificateAuthority":{ + "name":"AssociateWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/associateWebsiteCertificateAuthority" + }, + "input":{"shape":"AssociateWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"AssociateWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Imports the root certificate of a certificate authority (CA) used to obtain TLS certificates used by associated websites within the company network.

    " + }, + "CreateFleet":{ + "name":"CreateFleet", + "http":{ + "method":"POST", + "requestUri":"/createFleet" + }, + "input":{"shape":"CreateFleetRequest"}, + "output":{"shape":"CreateFleetResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Creates a fleet. A fleet consists of resources and the configuration that delivers associated websites to authorized users who download and set up the Amazon WorkLink app.

    " + }, + "DeleteFleet":{ + "name":"DeleteFleet", + "http":{ + "method":"POST", + "requestUri":"/deleteFleet" + }, + "input":{"shape":"DeleteFleetRequest"}, + "output":{"shape":"DeleteFleetResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Deletes a fleet. Prevents users from accessing previously associated websites.

    " + }, + "DescribeAuditStreamConfiguration":{ + "name":"DescribeAuditStreamConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeAuditStreamConfiguration" + }, + "input":{"shape":"DescribeAuditStreamConfigurationRequest"}, + "output":{"shape":"DescribeAuditStreamConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Describes the configuration for delivering audit streams to the customer account.

    " + }, + "DescribeCompanyNetworkConfiguration":{ + "name":"DescribeCompanyNetworkConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeCompanyNetworkConfiguration" + }, + "input":{"shape":"DescribeCompanyNetworkConfigurationRequest"}, + "output":{"shape":"DescribeCompanyNetworkConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Describes the networking configuration to access the internal websites associated with the specified fleet.

    " + }, + "DescribeDevice":{ + "name":"DescribeDevice", + "http":{ + "method":"POST", + "requestUri":"/describeDevice" + }, + "input":{"shape":"DescribeDeviceRequest"}, + "output":{"shape":"DescribeDeviceResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Provides information about a user's device.

    " + }, + "DescribeDevicePolicyConfiguration":{ + "name":"DescribeDevicePolicyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeDevicePolicyConfiguration" + }, + "input":{"shape":"DescribeDevicePolicyConfigurationRequest"}, + "output":{"shape":"DescribeDevicePolicyConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Describes the device policy configuration for the specified fleet.

    " + }, + "DescribeDomain":{ + "name":"DescribeDomain", + "http":{ + "method":"POST", + "requestUri":"/describeDomain" + }, + "input":{"shape":"DescribeDomainRequest"}, + "output":{"shape":"DescribeDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Provides information about the domain.

    " + }, + "DescribeFleetMetadata":{ + "name":"DescribeFleetMetadata", + "http":{ + "method":"POST", + "requestUri":"/describeFleetMetadata" + }, + "input":{"shape":"DescribeFleetMetadataRequest"}, + "output":{"shape":"DescribeFleetMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Provides basic information for the specified fleet, excluding identity provider, networking, and device configuration details.

    " + }, + "DescribeIdentityProviderConfiguration":{ + "name":"DescribeIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/describeIdentityProviderConfiguration" + }, + "input":{"shape":"DescribeIdentityProviderConfigurationRequest"}, + "output":{"shape":"DescribeIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Describes the identity provider configuration of the specified fleet.

    " + }, + "DescribeWebsiteCertificateAuthority":{ + "name":"DescribeWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/describeWebsiteCertificateAuthority" + }, + "input":{"shape":"DescribeWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"DescribeWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Provides information about the certificate authority.

    " + }, + "DisassociateDomain":{ + "name":"DisassociateDomain", + "http":{ + "method":"POST", + "requestUri":"/disassociateDomain" + }, + "input":{"shape":"DisassociateDomainRequest"}, + "output":{"shape":"DisassociateDomainResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Disassociates a domain from Amazon WorkLink. End users lose the ability to access the domain with Amazon WorkLink.

    " + }, + "DisassociateWebsiteAuthorizationProvider":{ + "name":"DisassociateWebsiteAuthorizationProvider", + "http":{ + "method":"POST", + "requestUri":"/disassociateWebsiteAuthorizationProvider" + }, + "input":{"shape":"DisassociateWebsiteAuthorizationProviderRequest"}, + "output":{"shape":"DisassociateWebsiteAuthorizationProviderResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Disassociates a website authorization provider from a specified fleet. After the disassociation, users can't load any associated websites that require this authorization provider.

    " + }, + "DisassociateWebsiteCertificateAuthority":{ + "name":"DisassociateWebsiteCertificateAuthority", + "http":{ + "method":"POST", + "requestUri":"/disassociateWebsiteCertificateAuthority" + }, + "input":{"shape":"DisassociateWebsiteCertificateAuthorityRequest"}, + "output":{"shape":"DisassociateWebsiteCertificateAuthorityResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Removes a certificate authority (CA).

    " + }, + "ListDevices":{ + "name":"ListDevices", + "http":{ + "method":"POST", + "requestUri":"/listDevices" + }, + "input":{"shape":"ListDevicesRequest"}, + "output":{"shape":"ListDevicesResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves a list of devices registered with the specified fleet.

    " + }, + "ListDomains":{ + "name":"ListDomains", + "http":{ + "method":"POST", + "requestUri":"/listDomains" + }, + "input":{"shape":"ListDomainsRequest"}, + "output":{"shape":"ListDomainsResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves a list of domains associated to a specified fleet.

    " + }, + "ListFleets":{ + "name":"ListFleets", + "http":{ + "method":"POST", + "requestUri":"/listFleets" + }, + "input":{"shape":"ListFleetsRequest"}, + "output":{"shape":"ListFleetsResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves a list of fleets for the current account and Region.

    " + }, + "ListWebsiteAuthorizationProviders":{ + "name":"ListWebsiteAuthorizationProviders", + "http":{ + "method":"POST", + "requestUri":"/listWebsiteAuthorizationProviders" + }, + "input":{"shape":"ListWebsiteAuthorizationProvidersRequest"}, + "output":{"shape":"ListWebsiteAuthorizationProvidersResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves a list of website authorization providers associated with a specified fleet.

    " + }, + "ListWebsiteCertificateAuthorities":{ + "name":"ListWebsiteCertificateAuthorities", + "http":{ + "method":"POST", + "requestUri":"/listWebsiteCertificateAuthorities" + }, + "input":{"shape":"ListWebsiteCertificateAuthoritiesRequest"}, + "output":{"shape":"ListWebsiteCertificateAuthoritiesResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Retrieves a list of certificate authorities added for the current account and Region.

    " + }, + "RestoreDomainAccess":{ + "name":"RestoreDomainAccess", + "http":{ + "method":"POST", + "requestUri":"/restoreDomainAccess" + }, + "input":{"shape":"RestoreDomainAccessRequest"}, + "output":{"shape":"RestoreDomainAccessResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Moves a domain to ACTIVE status if it was in the INACTIVE status.

    " + }, + "RevokeDomainAccess":{ + "name":"RevokeDomainAccess", + "http":{ + "method":"POST", + "requestUri":"/revokeDomainAccess" + }, + "input":{"shape":"RevokeDomainAccessRequest"}, + "output":{"shape":"RevokeDomainAccessResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Moves a domain to INACTIVE status if it was in the ACTIVE status.

    " + }, + "SignOutUser":{ + "name":"SignOutUser", + "http":{ + "method":"POST", + "requestUri":"/signOutUser" + }, + "input":{"shape":"SignOutUserRequest"}, + "output":{"shape":"SignOutUserResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Signs the user out from all of their devices. The user can sign in again if they have valid credentials.

    " + }, + "UpdateAuditStreamConfiguration":{ + "name":"UpdateAuditStreamConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateAuditStreamConfiguration" + }, + "input":{"shape":"UpdateAuditStreamConfigurationRequest"}, + "output":{"shape":"UpdateAuditStreamConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates the audit stream configuration for the fleet.

    " + }, + "UpdateCompanyNetworkConfiguration":{ + "name":"UpdateCompanyNetworkConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateCompanyNetworkConfiguration" + }, + "input":{"shape":"UpdateCompanyNetworkConfigurationRequest"}, + "output":{"shape":"UpdateCompanyNetworkConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates the company network configuration for the fleet.

    " + }, + "UpdateDevicePolicyConfiguration":{ + "name":"UpdateDevicePolicyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateDevicePolicyConfiguration" + }, + "input":{"shape":"UpdateDevicePolicyConfigurationRequest"}, + "output":{"shape":"UpdateDevicePolicyConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates the device policy configuration for the fleet.

    " + }, + "UpdateDomainMetadata":{ + "name":"UpdateDomainMetadata", + "http":{ + "method":"POST", + "requestUri":"/updateDomainMetadata" + }, + "input":{"shape":"UpdateDomainMetadataRequest"}, + "output":{"shape":"UpdateDomainMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates domain metadata, such as DisplayName.

    " + }, + "UpdateFleetMetadata":{ + "name":"UpdateFleetMetadata", + "http":{ + "method":"POST", + "requestUri":"/UpdateFleetMetadata" + }, + "input":{"shape":"UpdateFleetMetadataRequest"}, + "output":{"shape":"UpdateFleetMetadataResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates fleet metadata, such as DisplayName.

    " + }, + "UpdateIdentityProviderConfiguration":{ + "name":"UpdateIdentityProviderConfiguration", + "http":{ + "method":"POST", + "requestUri":"/updateIdentityProviderConfiguration" + }, + "input":{"shape":"UpdateIdentityProviderConfigurationRequest"}, + "output":{"shape":"UpdateIdentityProviderConfigurationResponse"}, + "errors":[ + {"shape":"UnauthorizedException"}, + {"shape":"InternalServerErrorException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyRequestsException"} + ], + "documentation":"

    Updates the identity provider configuration for the fleet.

    " + } + }, + "shapes":{ + "AcmCertificateArn":{ + "type":"string", + "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=/,.@-]+)*" + }, + "AssociateDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName", + "AcmCertificateArn" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The Amazon Resource Name (ARN) of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The fully qualified domain name (FQDN).

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + }, + "AcmCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

    The ARN of an issued ACM certificate that is valid for the domain being associated.

    " + } + } + }, + "AssociateDomainResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateWebsiteAuthorizationProviderRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "AuthorizationProviderType" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "AuthorizationProviderType":{ + "shape":"AuthorizationProviderType", + "documentation":"

    The authorization provider type.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The domain name of the authorization provider. This applies only to SAML-based authorization providers.

    " + } + } + }, + "AssociateWebsiteAuthorizationProviderResponse":{ + "type":"structure", + "members":{ + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the authorization provider.

    " + } + } + }, + "AssociateWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "Certificate" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "Certificate":{ + "shape":"Certificate", + "documentation":"

    The root certificate of the CA.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The certificate name to display.

    " + } + } + }, + "AssociateWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the CA.

    " + } + } + }, + "AuditStreamArn":{"type":"string"}, + "AuthorizationProviderType":{ + "type":"string", + "enum":["SAML"] + }, + "Boolean":{"type":"boolean"}, + "Certificate":{ + "type":"string", + "max":8192, + "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)?" + }, + "CertificateChain":{ + "type":"string", + "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)*-{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)?" + }, + "CompanyCode":{ + "type":"string", + "max":32, + "min":1 + }, + "CreateFleetRequest":{ + "type":"structure", + "required":["FleetName"], + "members":{ + "FleetName":{ + "shape":"FleetName", + "documentation":"

    A unique name for the fleet.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The fleet name to display.

    " + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

    The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

    " + } + } + }, + "CreateFleetResponse":{ + "type":"structure", + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DateTime":{"type":"timestamp"}, + "DeleteFleetRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DeleteFleetResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeAuditStreamConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DescribeAuditStreamConfigurationResponse":{ + "type":"structure", + "members":{ + "AuditStreamArn":{ + "shape":"AuditStreamArn", + "documentation":"

    The ARN of the Amazon Kinesis data stream that will receive the audit events.

    " + } + } + }, + "DescribeCompanyNetworkConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DescribeCompanyNetworkConfigurationResponse":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"VpcId", + "documentation":"

    The VPC with connectivity to associated websites.

    " + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    The subnets used for X-ENI connections from Amazon WorkLink rendering containers.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The security groups associated with access to the provided subnets.

    " + } + } + }, + "DescribeDevicePolicyConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DescribeDevicePolicyConfigurationResponse":{ + "type":"structure", + "members":{ + "DeviceCaCertificate":{ + "shape":"Certificate", + "documentation":"

    The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

    " + } + } + }, + "DescribeDeviceRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DeviceId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DeviceId":{ + "shape":"Id", + "documentation":"

    A unique identifier for a registered user's device.

    " + } + } + }, + "DescribeDeviceResponse":{ + "type":"structure", + "members":{ + "Status":{ + "shape":"DeviceStatus", + "documentation":"

    The current state of the device.

    " + }, + "Model":{ + "shape":"DeviceModel", + "documentation":"

    The model of the device.

    " + }, + "Manufacturer":{ + "shape":"DeviceManufacturer", + "documentation":"

    The manufacturer of the device.

    " + }, + "OperatingSystem":{ + "shape":"DeviceOperatingSystemName", + "documentation":"

    The operating system of the device.

    " + }, + "OperatingSystemVersion":{ + "shape":"DeviceOperatingSystemVersion", + "documentation":"

    The operating system version of the device.

    " + }, + "PatchLevel":{ + "shape":"DevicePatchLevel", + "documentation":"

    The operating system patch level of the device.

    " + }, + "FirstAccessedTime":{ + "shape":"DateTime", + "documentation":"

    The date that the device first signed in to Amazon WorkLink.

    " + }, + "LastAccessedTime":{ + "shape":"DateTime", + "documentation":"

    The date that the device last accessed Amazon WorkLink.

    " + }, + "Username":{ + "shape":"Username", + "documentation":"

    The user name associated with the device.

    " + } + } + }, + "DescribeDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + } + } + }, + "DescribeDomainResponse":{ + "type":"structure", + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time that the domain was added.

    " + }, + "DomainStatus":{ + "shape":"DomainStatus", + "documentation":"

    The current state for the domain.

    " + }, + "AcmCertificateArn":{ + "shape":"AcmCertificateArn", + "documentation":"

    The ARN of an issued ACM certificate that is valid for the domain being associated.

    " + } + } + }, + "DescribeFleetMetadataRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DescribeFleetMetadataResponse":{ + "type":"structure", + "members":{ + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time that the fleet was created.

    " + }, + "LastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time that the fleet was last updated.

    " + }, + "FleetName":{ + "shape":"FleetName", + "documentation":"

    The name of the fleet.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

    The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

    " + }, + "CompanyCode":{ + "shape":"CompanyCode", + "documentation":"

    The identifier used by users to sign in to the Amazon WorkLink app.

    " + }, + "FleetStatus":{ + "shape":"FleetStatus", + "documentation":"

    The current state of the fleet.

    " + } + } + }, + "DescribeIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + } + } + }, + "DescribeIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

    The type of identity provider.

    " + }, + "ServiceProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

    The SAML metadata document uploaded to the user’s identity provider.

    " + }, + "IdentityProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

    The SAML metadata document provided by the user’s identity provider.

    " + } + } + }, + "DescribeWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "WebsiteCaId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the certificate authority.

    " + } + } + }, + "DescribeWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"Certificate", + "documentation":"

    The root certificate of the certificate authority.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time that the certificate authority was added.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The certificate name to display.

    " + } + } + }, + "DeviceManufacturer":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceModel":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceOperatingSystemName":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceOperatingSystemVersion":{ + "type":"string", + "max":256, + "min":1 + }, + "DevicePatchLevel":{ + "type":"string", + "max":256, + "min":1 + }, + "DeviceStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "SIGNED_OUT" + ] + }, + "DeviceSummary":{ + "type":"structure", + "members":{ + "DeviceId":{ + "shape":"Id", + "documentation":"

    The ID of the device.

    " + }, + "DeviceStatus":{ + "shape":"DeviceStatus", + "documentation":"

    The status of the device.

    " + } + }, + "documentation":"

    The summary of devices.

    " + }, + "DeviceSummaryList":{ + "type":"list", + "member":{"shape":"DeviceSummary"} + }, + "DisassociateDomainRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + } + } + }, + "DisassociateDomainResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWebsiteAuthorizationProviderRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "AuthorizationProviderId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the authorization provider.

    " + } + } + }, + "DisassociateWebsiteAuthorizationProviderResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateWebsiteCertificateAuthorityRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "WebsiteCaId" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the CA.

    " + } + } + }, + "DisassociateWebsiteCertificateAuthorityResponse":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":100 + }, + "DomainName":{ + "type":"string", + "max":253, + "min":1, + "pattern":"^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$" + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "ASSOCIATING", + "ACTIVE", + "INACTIVE", + "DISASSOCIATING", + "DISASSOCIATED", + "FAILED_TO_ASSOCIATE", + "FAILED_TO_DISASSOCIATE" + ] + }, + "DomainSummary":{ + "type":"structure", + "required":[ + "DomainName", + "CreatedTime", + "DomainStatus" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time that the domain was created.

    " + }, + "DomainStatus":{ + "shape":"DomainStatus", + "documentation":"

    The status of the domain.

    " + } + }, + "documentation":"

    The summary of the domain.

    " + }, + "DomainSummaryList":{ + "type":"list", + "member":{"shape":"DomainSummary"} + }, + "ExceptionMessage":{"type":"string"}, + "FleetArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "FleetName":{ + "type":"string", + "max":48, + "min":1, + "pattern":"^[a-z0-9](?:[a-z0-9\\-]{0,46}[a-z0-9])?$" + }, + "FleetStatus":{ + "type":"string", + "enum":[ + "CREATING", + "ACTIVE", + "DELETING", + "DELETED", + "FAILED_TO_CREATE", + "FAILED_TO_DELETE" + ] + }, + "FleetSummary":{ + "type":"structure", + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the fleet was created.

    " + }, + "LastUpdatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the fleet was last updated.

    " + }, + "FleetName":{ + "shape":"FleetName", + "documentation":"

    The name of the fleet.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + }, + "CompanyCode":{ + "shape":"CompanyCode", + "documentation":"

    The identifier used by users to sign into the Amazon WorkLink app.

    " + }, + "FleetStatus":{ + "shape":"FleetStatus", + "documentation":"

    The status of the fleet.

    " + } + }, + "documentation":"

    The summary of the fleet.

    " + }, + "FleetSummaryList":{ + "type":"list", + "member":{"shape":"FleetSummary"} + }, + "Id":{ + "type":"string", + "max":256, + "min":1 + }, + "IdentityProviderType":{ + "type":"string", + "enum":["SAML"] + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The service is temporarily unavailable.

    ", + "error":{"httpStatusCode":500}, + "exception":true + }, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The request is not valid.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ListDevicesRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be included in the next page.

    " + } + } + }, + "ListDevicesResponse":{ + "type":"structure", + "members":{ + "Devices":{ + "shape":"DeviceSummaryList", + "documentation":"

    Information about the devices.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + } + } + }, + "ListDomainsRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be included in the next page.

    " + } + } + }, + "ListDomainsResponse":{ + "type":"structure", + "members":{ + "Domains":{ + "shape":"DomainSummaryList", + "documentation":"

    Information about the domains.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + } + } + }, + "ListFleetsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be included in the next page.

    " + } + } + }, + "ListFleetsResponse":{ + "type":"structure", + "members":{ + "FleetSummaryList":{ + "shape":"FleetSummaryList", + "documentation":"

    The summary list of the fleets.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + } + } + }, + "ListWebsiteAuthorizationProvidersRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be included in the next page.

    " + } + } + }, + "ListWebsiteAuthorizationProvidersResponse":{ + "type":"structure", + "members":{ + "WebsiteAuthorizationProviders":{ + "shape":"WebsiteAuthorizationProvidersSummaryList", + "documentation":"

    The website authorization providers.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token to use to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + } + } + }, + "ListWebsiteCertificateAuthoritiesRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to be included in the next page.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If this value is null, it retrieves the first page.

    " + } + } + }, + "ListWebsiteCertificateAuthoritiesResponse":{ + "type":"structure", + "members":{ + "WebsiteCertificateAuthorities":{ + "shape":"WebsiteCaSummaryList", + "documentation":"

    Information about the certificates.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The pagination token used to retrieve the next page of results for this operation. If there are no more pages, this value is null.

    " + } + } + }, + "MaxResults":{ + "type":"integer", + "min":1 + }, + "NextToken":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"[\\w\\-]+" + }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The resource already exists.

    ", + "error":{"httpStatusCode":400}, + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The requested resource was not found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "RestoreDomainAccessRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + } + } + }, + "RestoreDomainAccessResponse":{ + "type":"structure", + "members":{ + } + }, + "RevokeDomainAccessRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + } + } + }, + "RevokeDomainAccessResponse":{ + "type":"structure", + "members":{ + } + }, + "SamlMetadata":{ + "type":"string", + "max":204800, + "min":1 + }, + "SecurityGroupId":{ + "type":"string", + "pattern":"^sg-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "SecurityGroupIds":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5 + }, + "SignOutUserRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "Username" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "Username":{ + "shape":"Username", + "documentation":"

    The name of the user.

    " + } + } + }, + "SignOutUserResponse":{ + "type":"structure", + "members":{ + } + }, + "SubnetId":{ + "type":"string", + "pattern":"^subnet-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "SubnetIds":{ + "type":"list", + "member":{"shape":"SubnetId"} + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The number of requests exceeds the limit.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "UnauthorizedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    You are not authorized to perform this action.

    ", + "error":{"httpStatusCode":403}, + "exception":true + }, + "UpdateAuditStreamConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "AuditStreamArn":{ + "shape":"AuditStreamArn", + "documentation":"

    The ARN of the Amazon Kinesis data stream that receives the audit events.

    " + } + } + }, + "UpdateAuditStreamConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateCompanyNetworkConfigurationRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "VpcId", + "SubnetIds", + "SecurityGroupIds" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "VpcId":{ + "shape":"VpcId", + "documentation":"

    The VPC with connectivity to associated websites.

    " + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    The subnets used for X-ENI connections from Amazon WorkLink rendering containers.

    " + }, + "SecurityGroupIds":{ + "shape":"SecurityGroupIds", + "documentation":"

    The security groups associated with access to the provided subnets.

    " + } + } + }, + "UpdateCompanyNetworkConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDevicePolicyConfigurationRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DeviceCaCertificate":{ + "shape":"CertificateChain", + "documentation":"

    The certificate chain, including intermediate certificates and the root certificate authority certificate used to issue device certificates.

    " + } + } + }, + "UpdateDevicePolicyConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateDomainMetadataRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "DomainName" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The name of the domain.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + } + } + }, + "UpdateDomainMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateFleetMetadataRequest":{ + "type":"structure", + "required":["FleetArn"], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The fleet name to display. The existing DisplayName is unset if null is passed.

    " + }, + "OptimizeForEndUserLocation":{ + "shape":"Boolean", + "documentation":"

    The option to optimize for better performance by routing traffic through the closest AWS Region to users, which may be outside of your home Region.

    " + } + } + }, + "UpdateFleetMetadataResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateIdentityProviderConfigurationRequest":{ + "type":"structure", + "required":[ + "FleetArn", + "IdentityProviderType" + ], + "members":{ + "FleetArn":{ + "shape":"FleetArn", + "documentation":"

    The ARN of the fleet.

    " + }, + "IdentityProviderType":{ + "shape":"IdentityProviderType", + "documentation":"

    The type of identity provider.

    " + }, + "IdentityProviderSamlMetadata":{ + "shape":"SamlMetadata", + "documentation":"

    The SAML metadata document provided by the customer’s identity provider. The existing IdentityProviderSamlMetadata is unset if null is passed.

    " + } + } + }, + "UpdateIdentityProviderConfigurationResponse":{ + "type":"structure", + "members":{ + } + }, + "Username":{ + "type":"string", + "max":256, + "min":1 + }, + "VpcId":{ + "type":"string", + "pattern":"^vpc-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "WebsiteAuthorizationProviderSummary":{ + "type":"structure", + "required":["AuthorizationProviderType"], + "members":{ + "AuthorizationProviderId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the authorization provider.

    " + }, + "AuthorizationProviderType":{ + "shape":"AuthorizationProviderType", + "documentation":"

    The authorization provider type.

    " + }, + "DomainName":{ + "shape":"DomainName", + "documentation":"

    The domain name of the authorization provider. This applies only to SAML-based authorization providers.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time of creation.

    " + } + }, + "documentation":"

    The summary of the website authorization provider.

    " + }, + "WebsiteAuthorizationProvidersSummaryList":{ + "type":"list", + "member":{"shape":"WebsiteAuthorizationProviderSummary"} + }, + "WebsiteCaSummary":{ + "type":"structure", + "members":{ + "WebsiteCaId":{ + "shape":"Id", + "documentation":"

    A unique identifier for the CA.

    " + }, + "CreatedTime":{ + "shape":"DateTime", + "documentation":"

    The time when the CA was added.

    " + }, + "DisplayName":{ + "shape":"DisplayName", + "documentation":"

    The name to display.

    " + } + }, + "documentation":"

    The summary of the certificate authority (CA).

    " + }, + "WebsiteCaSummaryList":{ + "type":"list", + "member":{"shape":"WebsiteCaSummary"} + } + }, + "documentation":"

    Amazon WorkLink is a cloud-based service that provides secure access to internal websites and web apps from iOS phones. In a single step, your users, such as employees, can access internal websites as efficiently as they access any other public website. They enter a URL in their web browser, or choose a link to an internal website in an email. Amazon WorkLink authenticates the user's access and securely renders authorized internal web content in a secure rendering service in the AWS cloud. Amazon WorkLink doesn't download or store any internal web content on mobile devices.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/workmail/2017-10-01/examples-1.json python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/examples-1.json --- python-botocore-1.4.70/botocore/data/workmail/2017-10-01/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/workmail/2017-10-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/workmail/2017-10-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/paginators-1.json 2020-05-28 19:27:56.000000000 +0000 @@ -0,0 +1,52 @@ +{ + "pagination": { + "ListUsers": { + "result_key": "Users", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListGroupMembers": { + "result_key": "Members", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListOrganizations": { + "result_key": "OrganizationSummaries", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListGroups": { + "result_key": "Groups", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListResources": { + "result_key": "Resources", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListAliases": { + "result_key": "Aliases", + "output_token": "NextToken", + "input_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListMailboxPermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Permissions" + }, + "ListResourceDelegates": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Delegates" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/workmail/2017-10-01/service-2.json python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/service-2.json --- python-botocore-1.4.70/botocore/data/workmail/2017-10-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workmail/2017-10-01/service-2.json 2020-05-28 19:28:04.000000000 +0000 @@ -0,0 +1,2862 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2017-10-01", + "endpointPrefix":"workmail", + "jsonVersion":"1.1", + "protocol":"json", + "serviceFullName":"Amazon WorkMail", + "serviceId":"WorkMail", + "signatureVersion":"v4", + "targetPrefix":"WorkMailService", + "uid":"workmail-2017-10-01" + }, + "operations":{ + "AssociateDelegateToResource":{ + "name":"AssociateDelegateToResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateDelegateToResourceRequest"}, + "output":{"shape":"AssociateDelegateToResourceResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Adds a member (user or group) to the resource's set of delegates.

    ", + "idempotent":true + }, + "AssociateMemberToGroup":{ + "name":"AssociateMemberToGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateMemberToGroupRequest"}, + "output":{"shape":"AssociateMemberToGroupResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Adds a member (user or group) to the group's set.

    ", + "idempotent":true + }, + "CreateAlias":{ + "name":"CreateAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateAliasRequest"}, + "output":{"shape":"CreateAliasResponse"}, + "errors":[ + {"shape":"EmailAddressInUseException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MailDomainNotFoundException"}, + {"shape":"MailDomainStateException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Adds an alias to the set of a given member (user or group) of Amazon WorkMail.

    ", + "idempotent":true + }, + "CreateGroup":{ + "name":"CreateGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGroupRequest"}, + "output":{"shape":"CreateGroupResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NameAvailabilityException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"ReservedNameException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Creates a group that can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

    ", + "idempotent":true + }, + "CreateResource":{ + "name":"CreateResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateResourceRequest"}, + "output":{"shape":"CreateResourceResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"InvalidParameterException"}, + {"shape":"NameAvailabilityException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"ReservedNameException"} + ], + "documentation":"

    Creates a new Amazon WorkMail resource.

    ", + "idempotent":true + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPasswordException"}, + {"shape":"NameAvailabilityException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"ReservedNameException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Creates a user who can be used in Amazon WorkMail by calling the RegisterToWorkMail operation.

    ", + "idempotent":true + }, + "DeleteAccessControlRule":{ + "name":"DeleteAccessControlRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAccessControlRuleRequest"}, + "output":{"shape":"DeleteAccessControlRuleResponse"}, + "errors":[ + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Deletes an access control rule for the specified WorkMail organization.

    " + }, + "DeleteAlias":{ + "name":"DeleteAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteAliasRequest"}, + "output":{"shape":"DeleteAliasResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Remove one or more specified aliases from a set of aliases for a given user.

    ", + "idempotent":true + }, + "DeleteGroup":{ + "name":"DeleteGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGroupRequest"}, + "output":{"shape":"DeleteGroupResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Deletes a group from Amazon WorkMail.

    ", + "idempotent":true + }, + "DeleteMailboxPermissions":{ + "name":"DeleteMailboxPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteMailboxPermissionsRequest"}, + "output":{"shape":"DeleteMailboxPermissionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Deletes permissions granted to a member (user or group).

    ", + "idempotent":true + }, + "DeleteResource":{ + "name":"DeleteResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteResourceRequest"}, + "output":{"shape":"DeleteResourceResponse"}, + "errors":[ + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Deletes the specified resource.

    ", + "idempotent":true + }, + "DeleteRetentionPolicy":{ + "name":"DeleteRetentionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteRetentionPolicyRequest"}, + "output":{"shape":"DeleteRetentionPolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Deletes the specified retention policy from the specified organization.

    ", + "idempotent":true + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserRequest"}, + "output":{"shape":"DeleteUserResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Deletes a user from Amazon WorkMail and all subsequent systems. Before you can delete a user, the user state must be DISABLED. Use the DescribeUser action to confirm the user state.

    Deleting a user is permanent and cannot be undone. WorkMail archives user mailboxes for 30 days before they are permanently removed.

    ", + "idempotent":true + }, + "DeregisterFromWorkMail":{ + "name":"DeregisterFromWorkMail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterFromWorkMailRequest"}, + "output":{"shape":"DeregisterFromWorkMailResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Mark a user, group, or resource as no longer used in Amazon WorkMail. This action disassociates the mailbox and schedules it for clean-up. WorkMail keeps mailboxes for 30 days before they are permanently removed. The functionality in the console is Disable.

    ", + "idempotent":true + }, + "DescribeGroup":{ + "name":"DescribeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGroupRequest"}, + "output":{"shape":"DescribeGroupResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns the data available for the group.

    ", + "idempotent":true + }, + "DescribeOrganization":{ + "name":"DescribeOrganization", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeOrganizationRequest"}, + "output":{"shape":"DescribeOrganizationResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"} + ], + "documentation":"

    Provides more information regarding a given organization based on its identifier.

    ", + "idempotent":true + }, + "DescribeResource":{ + "name":"DescribeResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeResourceRequest"}, + "output":{"shape":"DescribeResourceResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns the data available for the resource.

    ", + "idempotent":true + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Provides information regarding the user.

    ", + "idempotent":true + }, + "DisassociateDelegateFromResource":{ + "name":"DisassociateDelegateFromResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateDelegateFromResourceRequest"}, + "output":{"shape":"DisassociateDelegateFromResourceResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Removes a member from the resource's set of delegates.

    ", + "idempotent":true + }, + "DisassociateMemberFromGroup":{ + "name":"DisassociateMemberFromGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateMemberFromGroupRequest"}, + "output":{"shape":"DisassociateMemberFromGroupResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Removes a member from a group.

    ", + "idempotent":true + }, + "GetAccessControlEffect":{ + "name":"GetAccessControlEffect", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAccessControlEffectRequest"}, + "output":{"shape":"GetAccessControlEffectResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Gets the effects of an organization's access control rules as they apply to a specified IPv4 address, access protocol action, or user ID.

    " + }, + "GetDefaultRetentionPolicy":{ + "name":"GetDefaultRetentionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetDefaultRetentionPolicyRequest"}, + "output":{"shape":"GetDefaultRetentionPolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

    Gets the default retention policy details for the specified organization.

    ", + "idempotent":true + }, + "GetMailboxDetails":{ + "name":"GetMailboxDetails", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetMailboxDetailsRequest"}, + "output":{"shape":"GetMailboxDetailsResponse"}, + "errors":[ + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"EntityNotFoundException"} + ], + "documentation":"

    Requests a user's mailbox details for a specified organization and user.

    ", + "idempotent":true + }, + "ListAccessControlRules":{ + "name":"ListAccessControlRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAccessControlRulesRequest"}, + "output":{"shape":"ListAccessControlRulesResponse"}, + "errors":[ + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Lists the access control rules for the specified organization.

    " + }, + "ListAliases":{ + "name":"ListAliases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAliasesRequest"}, + "output":{"shape":"ListAliasesResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Creates a paginated call to list the aliases associated with a given entity.

    ", + "idempotent":true + }, + "ListGroupMembers":{ + "name":"ListGroupMembers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupMembersRequest"}, + "output":{"shape":"ListGroupMembersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns an overview of the members of a group. Users and groups can be members of a group.

    ", + "idempotent":true + }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupsRequest"}, + "output":{"shape":"ListGroupsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns summaries of the organization's groups.

    ", + "idempotent":true + }, + "ListMailboxPermissions":{ + "name":"ListMailboxPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListMailboxPermissionsRequest"}, + "output":{"shape":"ListMailboxPermissionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Lists the mailbox permissions associated with a user, group, or resource mailbox.

    ", + "idempotent":true + }, + "ListOrganizations":{ + "name":"ListOrganizations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOrganizationsRequest"}, + "output":{"shape":"ListOrganizationsResponse"}, + "errors":[ + {"shape":"InvalidParameterException"} + ], + "documentation":"

    Returns summaries of the customer's organizations.

    ", + "idempotent":true + }, + "ListResourceDelegates":{ + "name":"ListResourceDelegates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourceDelegatesRequest"}, + "output":{"shape":"ListResourceDelegatesResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Lists the delegates associated with a resource. Users and groups can be resource delegates and answer requests on behalf of the resource.

    ", + "idempotent":true + }, + "ListResources":{ + "name":"ListResources", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListResourcesRequest"}, + "output":{"shape":"ListResourcesResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns summaries of the organization's resources.

    ", + "idempotent":true + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Lists the tags applied to an Amazon WorkMail organization resource.

    " + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Returns summaries of the organization's users.

    ", + "idempotent":true + }, + "PutAccessControlRule":{ + "name":"PutAccessControlRule", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutAccessControlRuleRequest"}, + "output":{"shape":"PutAccessControlRuleResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidParameterException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Adds a new access control rule for the specified organization. The rule allows or denies access to the organization for the specified IPv4 addresses, access protocol actions, and user IDs. Adding a new rule with the same name as an existing rule replaces the older rule.

    " + }, + "PutMailboxPermissions":{ + "name":"PutMailboxPermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutMailboxPermissionsRequest"}, + "output":{"shape":"PutMailboxPermissionsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Sets permissions for a user, group, or resource. This replaces any pre-existing permissions.

    ", + "idempotent":true + }, + "PutRetentionPolicy":{ + "name":"PutRetentionPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutRetentionPolicyRequest"}, + "output":{"shape":"PutRetentionPolicyResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Puts a retention policy to the specified organization.

    ", + "idempotent":true + }, + "RegisterToWorkMail":{ + "name":"RegisterToWorkMail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterToWorkMailRequest"}, + "output":{"shape":"RegisterToWorkMailResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EmailAddressInUseException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"EntityAlreadyRegisteredException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MailDomainNotFoundException"}, + {"shape":"MailDomainStateException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Registers an existing and disabled user, group, or resource for Amazon WorkMail use by associating a mailbox and calendaring capabilities. It performs no change if the user, group, or resource is enabled and fails if the user, group, or resource is deleted. This operation results in the accumulation of costs. For more information, see Pricing. The equivalent console functionality for this operation is Enable.

    Users can either be created by calling the CreateUser API operation or they can be synchronized from your directory. For more information, see DeregisterFromWorkMail.

    ", + "idempotent":true + }, + "ResetPassword":{ + "name":"ResetPassword", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetPasswordRequest"}, + "output":{"shape":"ResetPasswordResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"InvalidPasswordException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Allows the administrator to reset the password for a user.

    ", + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Applies the specified tags to the specified Amazon WorkMail organization resource.

    " + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Untags the specified tags from the specified Amazon WorkMail organization resource.

    " + }, + "UpdateMailboxQuota":{ + "name":"UpdateMailboxQuota", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateMailboxQuotaRequest"}, + "output":{"shape":"UpdateMailboxQuotaResponse"}, + "errors":[ + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"} + ], + "documentation":"

    Updates a user's current mailbox quota for a specified organization and user.

    ", + "idempotent":true + }, + "UpdatePrimaryEmailAddress":{ + "name":"UpdatePrimaryEmailAddress", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePrimaryEmailAddressRequest"}, + "output":{"shape":"UpdatePrimaryEmailAddressResponse"}, + "errors":[ + {"shape":"DirectoryServiceAuthenticationFailedException"}, + {"shape":"DirectoryUnavailableException"}, + {"shape":"EmailAddressInUseException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"MailDomainNotFoundException"}, + {"shape":"MailDomainStateException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"}, + {"shape":"UnsupportedOperationException"} + ], + "documentation":"

    Updates the primary email for a user, group, or resource. The current email is moved into the list of aliases (or swapped between an existing alias and the current primary email), and the email provided in the input is promoted as the primary.

    ", + "idempotent":true + }, + "UpdateResource":{ + "name":"UpdateResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateResourceRequest"}, + "output":{"shape":"UpdateResourceResponse"}, + "errors":[ + {"shape":"DirectoryUnavailableException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"EntityStateException"}, + {"shape":"InvalidConfigurationException"}, + {"shape":"EmailAddressInUseException"}, + {"shape":"MailDomainNotFoundException"}, + {"shape":"MailDomainStateException"}, + {"shape":"NameAvailabilityException"}, + {"shape":"OrganizationNotFoundException"}, + {"shape":"OrganizationStateException"} + ], + "documentation":"

    Updates data for the resource. To have the latest information, it must be preceded by a DescribeResource call. The dataset in the request should be the one expected when performing another DescribeResource call.

    ", + "idempotent":true + } + }, + "shapes":{ + "AccessControlRule":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AccessControlRuleName", + "documentation":"

    The rule name.

    " + }, + "Effect":{ + "shape":"AccessControlRuleEffect", + "documentation":"

    The rule effect.

    " + }, + "Description":{ + "shape":"AccessControlRuleDescription", + "documentation":"

    The rule description.

    " + }, + "IpRanges":{ + "shape":"IpRangeList", + "documentation":"

    IPv4 CIDR ranges to include in the rule.

    " + }, + "NotIpRanges":{ + "shape":"IpRangeList", + "documentation":"

    IPv4 CIDR ranges to exclude from the rule.

    " + }, + "Actions":{ + "shape":"ActionsList", + "documentation":"

    Access protocol actions to include in the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.

    " + }, + "NotActions":{ + "shape":"ActionsList", + "documentation":"

    Access protocol actions to exclude from the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.

    " + }, + "UserIds":{ + "shape":"UserIdList", + "documentation":"

    User IDs to include in the rule.

    " + }, + "NotUserIds":{ + "shape":"UserIdList", + "documentation":"

    User IDs to exclude from the rule.

    " + }, + "DateCreated":{ + "shape":"Timestamp", + "documentation":"

    The date that the rule was created.

    " + }, + "DateModified":{ + "shape":"Timestamp", + "documentation":"

    The date that the rule was modified.

    " + } + }, + "documentation":"

    A rule that controls access to an Amazon WorkMail organization.

    " + }, + "AccessControlRuleAction":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z]+" + }, + "AccessControlRuleDescription":{ + "type":"string", + "max":255, + "min":0, + "pattern":"[\\u0020-\\u00FF]+" + }, + "AccessControlRuleEffect":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "AccessControlRuleName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "AccessControlRuleNameList":{ + "type":"list", + "member":{"shape":"AccessControlRuleName"}, + "max":10, + "min":0 + }, + "AccessControlRulesList":{ + "type":"list", + "member":{"shape":"AccessControlRule"}, + "max":10, + "min":0 + }, + "ActionsList":{ + "type":"list", + "member":{"shape":"AccessControlRuleAction"}, + "max":10, + "min":0 + }, + "Aliases":{ + "type":"list", + "member":{"shape":"EmailAddress"} + }, + "AmazonResourceName":{ + "type":"string", + "max":1011, + "min":1 + }, + "AssociateDelegateToResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization under which the resource exists.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The resource for which members (users or groups) are associated.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The member (user or group) to associate to the resource.

    " + } + } + }, + "AssociateDelegateToResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "AssociateMemberToGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId", + "MemberId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization under which the group exists.

    " + }, + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The group to which the member (user or group) is associated.

    " + }, + "MemberId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The member (user or group) to associate to the group.

    " + } + } + }, + "AssociateMemberToGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "BookingOptions":{ + "type":"structure", + "members":{ + "AutoAcceptRequests":{ + "shape":"Boolean", + "documentation":"

    The resource's ability to automatically reply to requests. If disabled, delegates must be associated to the resource.

    " + }, + "AutoDeclineRecurringRequests":{ + "shape":"Boolean", + "documentation":"

    The resource's ability to automatically decline any recurring requests.

    " + }, + "AutoDeclineConflictingRequests":{ + "shape":"Boolean", + "documentation":"

    The resource's ability to automatically decline any conflicting requests.

    " + } + }, + "documentation":"

    At least one delegate must be associated to the resource to disable automatic replies from the resource.

    " + }, + "Boolean":{"type":"boolean"}, + "CreateAliasRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Alias" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization under which the member (user or group) exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The member (user or group) to which this alias is added.

    " + }, + "Alias":{ + "shape":"EmailAddress", + "documentation":"

    The alias to add to the member set.

    " + } + } + }, + "CreateAliasResponse":{ + "type":"structure", + "members":{ + } + }, + "CreateGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization under which the group is to be created.

    " + }, + "Name":{ + "shape":"GroupName", + "documentation":"

    The name of the group.

    " + } + } + }, + "CreateGroupResponse":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the group.

    " + } + } + }, + "CreateResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name", + "Type" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier associated with the organization for which the resource is created.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the new resource.

    " + }, + "Type":{ + "shape":"ResourceType", + "documentation":"

    The type of the new resource. The available types are equipment and room.

    " + } + } + }, + "CreateResourceResponse":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the new resource.

    " + } + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name", + "DisplayName", + "Password" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization for which the user is created.

    " + }, + "Name":{ + "shape":"UserName", + "documentation":"

    The name for the new user. Simple AD or AD Connector user names have a maximum length of 20. All others have a maximum length of 64.

    " + }, + "DisplayName":{ + "shape":"String", + "documentation":"

    The display name for the new user.

    " + }, + "Password":{ + "shape":"Password", + "documentation":"

    The password for the new user.

    " + } + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the new user.

    " + } + } + }, + "Delegate":{ + "type":"structure", + "required":[ + "Id", + "Type" + ], + "members":{ + "Id":{ + "shape":"String", + "documentation":"

    The identifier for the user or group associated as the resource's delegate.

    " + }, + "Type":{ + "shape":"MemberType", + "documentation":"

    The type of the delegate: user or group.

    " + } + }, + "documentation":"

    The name of the attribute, which is one of the values defined in the UserAttribute enumeration.

    " + }, + "DeleteAccessControlRuleRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization.

    " + }, + "Name":{ + "shape":"AccessControlRuleName", + "documentation":"

    The name of the access control rule.

    " + } + } + }, + "DeleteAccessControlRuleResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteAliasRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Alias" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the user exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the member (user or group) from which to have the aliases removed.

    " + }, + "Alias":{ + "shape":"EmailAddress", + "documentation":"

    The aliases to be removed from the user's set of aliases. Duplicate entries in the list are collapsed into single entries (the list is transformed into a set).

    " + } + } + }, + "DeleteAliasResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization that contains the group.

    " + }, + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the group to be deleted.

    " + } + } + }, + "DeleteGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteMailboxPermissionsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "GranteeId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization under which the member (user or group) exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the member (user or group)that owns the mailbox.

    " + }, + "GranteeId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the member (user or group) for which to delete granted permissions.

    " + } + } + }, + "DeleteMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier associated with the organization from which the resource is deleted.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the resource to be deleted.

    " + } + } + }, + "DeleteResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteRetentionPolicyRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Id" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization ID.

    " + }, + "Id":{ + "shape":"ShortString", + "documentation":"

    The retention policy ID.

    " + } + } + }, + "DeleteRetentionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization that contains the user to be deleted.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user to be deleted.

    " + } + } + }, + "DeleteUserResponse":{ + "type":"structure", + "members":{ + } + }, + "DeregisterFromWorkMailRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the Amazon WorkMail entity exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the member (user or group) to be updated.

    " + } + } + }, + "DeregisterFromWorkMailResponse":{ + "type":"structure", + "members":{ + } + }, + "DescribeGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the group exists.

    " + }, + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the group to be described.

    " + } + } + }, + "DescribeGroupResponse":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the described group.

    " + }, + "Name":{ + "shape":"GroupName", + "documentation":"

    The name of the described group.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the described group.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when a user was registered to WorkMail, in UNIX epoch time format.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when a user was deregistered from WorkMail, in UNIX epoch time format.

    " + } + } + }, + "DescribeOrganizationRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization to be described.

    " + } + } + }, + "DescribeOrganizationResponse":{ + "type":"structure", + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of an organization.

    " + }, + "Alias":{ + "shape":"OrganizationName", + "documentation":"

    The alias for an organization.

    " + }, + "State":{ + "shape":"String", + "documentation":"

    The state of an organization.

    " + }, + "DirectoryId":{ + "shape":"String", + "documentation":"

    The identifier for the directory associated with an Amazon WorkMail organization.

    " + }, + "DirectoryType":{ + "shape":"String", + "documentation":"

    The type of directory associated with the WorkMail organization.

    " + }, + "DefaultMailDomain":{ + "shape":"String", + "documentation":"

    The default mail domain associated with the organization.

    " + }, + "CompletedDate":{ + "shape":"Timestamp", + "documentation":"

    The date at which the organization became usable in the WorkMail context, in UNIX epoch time format.

    " + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

    (Optional) The error message indicating if unexpected behavior was encountered with regards to the organization.

    " + }, + "ARN":{ + "shape":"AmazonResourceName", + "documentation":"

    The Amazon Resource Name (ARN) of the organization.

    " + } + } + }, + "DescribeResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier associated with the organization for which the resource is described.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the resource to be described.

    " + } + } + }, + "DescribeResourceResponse":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the described resource.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the described resource.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the described resource.

    " + }, + "Type":{ + "shape":"ResourceType", + "documentation":"

    The type of the described resource.

    " + }, + "BookingOptions":{ + "shape":"BookingOptions", + "documentation":"

    The booking options for the described resource.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the resource: enabled (registered to Amazon WorkMail), disabled (deregistered or never registered to WorkMail), or deleted.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when a resource was enabled for WorkMail, in UNIX epoch time format.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time when a resource was disabled from WorkMail, in UNIX epoch time format.

    " + } + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the user exists.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the user to be described.

    " + } + } + }, + "DescribeUserResponse":{ + "type":"structure", + "members":{ + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the described user.

    " + }, + "Name":{ + "shape":"UserName", + "documentation":"

    The name for the user.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the user.

    " + }, + "DisplayName":{ + "shape":"String", + "documentation":"

    The display name of the user.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of a user: enabled (registered to Amazon WorkMail) or disabled (deregistered or never registered to WorkMail).

    " + }, + "UserRole":{ + "shape":"UserRole", + "documentation":"

    In certain cases, other entities are modeled as users. If interoperability is enabled, resources are imported into Amazon WorkMail as users. Because different WorkMail organizations rely on different directory types, administrators can distinguish between an unregistered user (account is disabled and has a user role) and the directory administrators. The values are USER, RESOURCE, and SYSTEM_USER.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time at which the user was enabled for Amazon WorkMail usage, in UNIX epoch time format.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date and time at which the user was disabled for Amazon WorkMail usage, in UNIX epoch time format.

    " + } + } + }, + "DirectoryServiceAuthenticationFailedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The directory service doesn't recognize the credentials supplied by WorkMail.

    ", + "exception":true + }, + "DirectoryUnavailableException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The directory on which you are trying to perform operations isn't available.

    ", + "exception":true + }, + "DisassociateDelegateFromResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the resource exists.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the resource from which delegates' set members are removed.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the member (user, group) to be removed from the resource's delegates.

    " + } + } + }, + "DisassociateDelegateFromResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateMemberFromGroupRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId", + "MemberId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the group exists.

    " + }, + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the group from which members are removed.

    " + }, + "MemberId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the member to be removed to the group.

    " + } + } + }, + "DisassociateMemberFromGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "EmailAddress":{ + "type":"string", + "max":254, + "min":1, + "pattern":"[a-zA-Z0-9._%+-]{1,64}@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}" + }, + "EmailAddressInUseException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The email address that you're trying to assign is already created for a different user, group, or resource.

    ", + "exception":true + }, + "EntityAlreadyRegisteredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The user, group, or resource that you're trying to register is already registered.

    ", + "exception":true + }, + "EntityNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The identifier supplied for the user, group, or resource does not exist in your organization.

    ", + "exception":true + }, + "EntityState":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED", + "DELETED" + ] + }, + "EntityStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You are performing an operation on a user, group, or resource that isn't in the expected state, such as trying to delete an active user.

    ", + "exception":true + }, + "FolderConfiguration":{ + "type":"structure", + "required":[ + "Name", + "Action" + ], + "members":{ + "Name":{ + "shape":"FolderName", + "documentation":"

    The folder name.

    " + }, + "Action":{ + "shape":"RetentionAction", + "documentation":"

    The action to take on the folder contents at the end of the folder configuration period.

    " + }, + "Period":{ + "shape":"RetentionPeriod", + "documentation":"

    The period of time at which the folder configuration action is applied.

    " + } + }, + "documentation":"

    The configuration applied to an organization's folders by its retention policy.

    " + }, + "FolderConfigurations":{ + "type":"list", + "member":{"shape":"FolderConfiguration"} + }, + "FolderName":{ + "type":"string", + "enum":[ + "INBOX", + "DELETED_ITEMS", + "SENT_ITEMS", + "DRAFTS", + "JUNK_EMAIL" + ] + }, + "GetAccessControlEffectRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "IpAddress", + "Action", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization.

    " + }, + "IpAddress":{ + "shape":"IpAddress", + "documentation":"

    The IPv4 address.

    " + }, + "Action":{ + "shape":"AccessControlRuleAction", + "documentation":"

    The access protocol action. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The user ID.

    " + } + } + }, + "GetAccessControlEffectResponse":{ + "type":"structure", + "members":{ + "Effect":{ + "shape":"AccessControlRuleEffect", + "documentation":"

    The rule effect.

    " + }, + "MatchedRules":{ + "shape":"AccessControlRuleNameList", + "documentation":"

    The rules that match the given parameters, resulting in an effect.

    " + } + } + }, + "GetDefaultRetentionPolicyRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization ID.

    " + } + } + }, + "GetDefaultRetentionPolicyResponse":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"ShortString", + "documentation":"

    The retention policy ID.

    " + }, + "Name":{ + "shape":"ShortString", + "documentation":"

    The retention policy name.

    " + }, + "Description":{ + "shape":"String", + "documentation":"

    The retention policy description.

    " + }, + "FolderConfigurations":{ + "shape":"FolderConfigurations", + "documentation":"

    The retention policy folder configurations.

    " + } + } + }, + "GetMailboxDetailsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization that contains the user whose mailbox details are being requested.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the user whose mailbox details are being requested.

    " + } + } + }, + "GetMailboxDetailsResponse":{ + "type":"structure", + "members":{ + "MailboxQuota":{ + "shape":"MailboxQuota", + "documentation":"

    The maximum allowed mailbox size, in MB, for the specified user.

    " + }, + "MailboxSize":{ + "shape":"MailboxSize", + "documentation":"

    The current mailbox size, in MB, for the specified user.

    " + } + } + }, + "Group":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the group.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the group.

    " + }, + "Name":{ + "shape":"GroupName", + "documentation":"

    The name of the group.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the group, which can be ENABLED, DISABLED, or DELETED.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the group was enabled for Amazon WorkMail use.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the group was disabled from Amazon WorkMail use.

    " + } + }, + "documentation":"

    The representation of an Amazon WorkMail group.

    " + }, + "GroupName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[\\u0020-\\u00FF]+" + }, + "Groups":{ + "type":"list", + "member":{"shape":"Group"} + }, + "InvalidConfigurationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The configuration for a resource isn't valid. A resource must either be able to auto-respond to requests or have at least one delegate associated that can do so on its behalf.

    ", + "exception":true + }, + "InvalidParameterException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    One or more of the input parameters don't match the service's restrictions.

    ", + "exception":true + }, + "InvalidPasswordException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The supplied password doesn't match the minimum security constraints, such as length or use of special characters.

    ", + "exception":true + }, + "IpAddress":{ + "type":"string", + "max":15, + "min":1, + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + }, + "IpRange":{ + "type":"string", + "max":18, + "min":1, + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$" + }, + "IpRangeList":{ + "type":"list", + "member":{"shape":"IpRange"}, + "max":10, + "min":0 + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The request exceeds the limit of the resource.

    ", + "exception":true + }, + "ListAccessControlRulesRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization.

    " + } + } + }, + "ListAccessControlRulesResponse":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"AccessControlRulesList", + "documentation":"

    The access control rules.

    " + } + } + }, + "ListAliasesRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the entity exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the entity for which to list the aliases.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListAliasesResponse":{ + "type":"structure", + "members":{ + "Aliases":{ + "shape":"Aliases", + "documentation":"

    The entity's paginated aliases.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

    " + } + } + }, + "ListGroupMembersRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "GroupId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the group exists.

    " + }, + "GroupId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the group to which the members (users or groups) are associated.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListGroupMembersResponse":{ + "type":"structure", + "members":{ + "Members":{ + "shape":"Members", + "documentation":"

    The members associated to the group.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + } + } + }, + "ListGroupsRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the groups exist.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListGroupsResponse":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"Groups", + "documentation":"

    The overview of groups for an organization.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

    " + } + } + }, + "ListMailboxPermissionsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization under which the user, group, or resource exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user, group, or resource for which to list mailbox permissions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + "Permissions":{ + "shape":"Permissions", + "documentation":"

    One page of the user, group, or resource mailbox permissions.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

    " + } + } + }, + "ListOrganizationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListOrganizationsResponse":{ + "type":"structure", + "members":{ + "OrganizationSummaries":{ + "shape":"OrganizationSummaries", + "documentation":"

    The overview of owned organizations presented as a list of organization summaries.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The value is \"null\" when there are no more results to return.

    " + } + } + }, + "ListResourceDelegatesRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization that contains the resource for which delegates are listed.

    " + }, + "ResourceId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the resource whose delegates are listed.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token used to paginate through the delegates associated with a resource.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The number of maximum results in a page.

    " + } + } + }, + "ListResourceDelegatesResponse":{ + "type":"structure", + "members":{ + "Delegates":{ + "shape":"ResourceDelegates", + "documentation":"

    One page of the resource's delegates.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token used to paginate through the delegates associated with a resource. While results are still available, it has an associated value. When the last page is reached, the token is empty.

    " + } + } + }, + "ListResourcesRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the resources exist.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListResourcesResponse":{ + "type":"structure", + "members":{ + "Resources":{ + "shape":"Resources", + "documentation":"

    One page of the organization's resource representation.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token used to paginate through all the organization's resources. While results are still available, it has an associated value. When the last page is reached, the token is empty.

    " + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

    The resource ARN.

    " + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    A list of tag key-value pairs.

    " + } + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["OrganizationId"], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the users exist.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. The first call does not contain any tokens.

    " + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

    The maximum number of results to return in a single call.

    " + } + } + }, + "ListUsersResponse":{ + "type":"structure", + "members":{ + "Users":{ + "shape":"Users", + "documentation":"

    The overview of users for an organization.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    The token to use to retrieve the next page of results. This value is `null` when there are no more results to return.

    " + } + } + }, + "MailDomainNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    For an email or alias to be created in Amazon WorkMail, the included domain must be defined in the organization.

    ", + "exception":true + }, + "MailDomainStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    After a domain has been added to the organization, it must be verified. The domain is not yet verified.

    ", + "exception":true + }, + "MailboxQuota":{ + "type":"integer", + "box":true, + "min":1 + }, + "MailboxSize":{ + "type":"double", + "min":0 + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "Member":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"String", + "documentation":"

    The identifier of the member.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The name of the member.

    " + }, + "Type":{ + "shape":"MemberType", + "documentation":"

    A member can be a user or group.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the member, which can be ENABLED, DISABLED, or DELETED.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the member was enabled for Amazon WorkMail use.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the member was disabled from Amazon WorkMail use.

    " + } + }, + "documentation":"

    The representation of a user or group.

    " + }, + "MemberType":{ + "type":"string", + "enum":[ + "GROUP", + "USER" + ] + }, + "Members":{ + "type":"list", + "member":{"shape":"Member"} + }, + "NameAvailabilityException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The user, group, or resource name isn't unique in Amazon WorkMail.

    ", + "exception":true + }, + "NextToken":{ + "type":"string", + "max":1024, + "min":1 + }, + "OrganizationId":{ + "type":"string", + "pattern":"^m-[0-9a-f]{32}$" + }, + "OrganizationName":{ + "type":"string", + "max":62, + "min":1, + "pattern":"^(?!d-)([\\da-zA-Z]+)([-]*[\\da-zA-Z])*" + }, + "OrganizationNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    An operation received a valid organization identifier that either doesn't belong or exist in the system.

    ", + "exception":true + }, + "OrganizationStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The organization must have a valid state (Active or Synchronizing) to perform certain operations on the organization or its members.

    ", + "exception":true + }, + "OrganizationSummaries":{ + "type":"list", + "member":{"shape":"OrganizationSummary"} + }, + "OrganizationSummary":{ + "type":"structure", + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier associated with the organization.

    " + }, + "Alias":{ + "shape":"OrganizationName", + "documentation":"

    The alias associated with the organization.

    " + }, + "ErrorMessage":{ + "shape":"String", + "documentation":"

    The error message associated with the organization. It is only present if unexpected behavior has occurred with regards to the organization. It provides insight or solutions regarding unexpected behavior.

    " + }, + "State":{ + "shape":"String", + "documentation":"

    The state associated with the organization.

    " + } + }, + "documentation":"

    The representation of an organization.

    " + }, + "Password":{ + "type":"string", + "max":256, + "pattern":"[\\u0020-\\u00FF]+", + "sensitive":true + }, + "Permission":{ + "type":"structure", + "required":[ + "GranteeId", + "GranteeType", + "PermissionValues" + ], + "members":{ + "GranteeId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user, group, or resource to which the permissions are granted.

    " + }, + "GranteeType":{ + "shape":"MemberType", + "documentation":"

    The type of user, group, or resource referred to in GranteeId.

    " + }, + "PermissionValues":{ + "shape":"PermissionValues", + "documentation":"

    The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

    " + } + }, + "documentation":"

    Permission granted to a user, group, or resource to access a certain aspect of another user, group, or resource mailbox.

    " + }, + "PermissionType":{ + "type":"string", + "enum":[ + "FULL_ACCESS", + "SEND_AS", + "SEND_ON_BEHALF" + ] + }, + "PermissionValues":{ + "type":"list", + "member":{"shape":"PermissionType"} + }, + "Permissions":{ + "type":"list", + "member":{"shape":"Permission"} + }, + "PolicyDescription":{ + "type":"string", + "max":256, + "pattern":"[\\w\\d\\s\\S\\-!?=,.;:'_]+" + }, + "PutAccessControlRuleRequest":{ + "type":"structure", + "required":[ + "Name", + "Effect", + "Description", + "OrganizationId" + ], + "members":{ + "Name":{ + "shape":"AccessControlRuleName", + "documentation":"

    The rule name.

    " + }, + "Effect":{ + "shape":"AccessControlRuleEffect", + "documentation":"

    The rule effect.

    " + }, + "Description":{ + "shape":"AccessControlRuleDescription", + "documentation":"

    The rule description.

    " + }, + "IpRanges":{ + "shape":"IpRangeList", + "documentation":"

    IPv4 CIDR ranges to include in the rule.

    " + }, + "NotIpRanges":{ + "shape":"IpRangeList", + "documentation":"

    IPv4 CIDR ranges to exclude from the rule.

    " + }, + "Actions":{ + "shape":"ActionsList", + "documentation":"

    Access protocol actions to include in the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.

    " + }, + "NotActions":{ + "shape":"ActionsList", + "documentation":"

    Access protocol actions to exclude from the rule. Valid values include ActiveSync, AutoDiscover, EWS, IMAP, SMTP, WindowsOutlook, and WebMail.

    " + }, + "UserIds":{ + "shape":"UserIdList", + "documentation":"

    User IDs to include in the rule.

    " + }, + "NotUserIds":{ + "shape":"UserIdList", + "documentation":"

    User IDs to exclude from the rule.

    " + }, + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization.

    " + } + } + }, + "PutAccessControlRuleResponse":{ + "type":"structure", + "members":{ + } + }, + "PutMailboxPermissionsRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "GranteeId", + "PermissionValues" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization under which the user, group, or resource exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user, group, or resource for which to update mailbox permissions.

    " + }, + "GranteeId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user, group, or resource to which to grant the permissions.

    " + }, + "PermissionValues":{ + "shape":"PermissionValues", + "documentation":"

    The permissions granted to the grantee. SEND_AS allows the grantee to send email as the owner of the mailbox (the grantee is not mentioned on these emails). SEND_ON_BEHALF allows the grantee to send email on behalf of the owner of the mailbox (the grantee is not mentioned as the physical sender of these emails). FULL_ACCESS allows the grantee full access to the mailbox, irrespective of other folder-level permissions set on the mailbox.

    " + } + } + }, + "PutMailboxPermissionsResponse":{ + "type":"structure", + "members":{ + } + }, + "PutRetentionPolicyRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "Name", + "FolderConfigurations" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization ID.

    " + }, + "Id":{ + "shape":"ShortString", + "documentation":"

    The retention policy ID.

    " + }, + "Name":{ + "shape":"ShortString", + "documentation":"

    The retention policy name.

    " + }, + "Description":{ + "shape":"PolicyDescription", + "documentation":"

    The retention policy description.

    " + }, + "FolderConfigurations":{ + "shape":"FolderConfigurations", + "documentation":"

    The retention policy folder configurations.

    " + } + } + }, + "PutRetentionPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "RegisterToWorkMailRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Email" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization under which the user, group, or resource exists.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier for the user, group, or resource to be updated.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email for the user, group, or resource to be updated.

    " + } + } + }, + "RegisterToWorkMailResponse":{ + "type":"structure", + "members":{ + } + }, + "ReservedNameException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    This user, group, or resource name is not allowed in Amazon WorkMail.

    ", + "exception":true + }, + "ResetPasswordRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId", + "Password" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier of the organization that contains the user for which the password is reset.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user for whom the password is reset.

    " + }, + "Password":{ + "shape":"Password", + "documentation":"

    The new password for the user.

    " + } + } + }, + "ResetPasswordResponse":{ + "type":"structure", + "members":{ + } + }, + "Resource":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the resource.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the resource.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource.

    " + }, + "Type":{ + "shape":"ResourceType", + "documentation":"

    The type of the resource: equipment or room.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the resource, which can be ENABLED, DISABLED, or DELETED.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the resource was enabled for Amazon WorkMail use.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the resource was disabled from Amazon WorkMail use.

    " + } + }, + "documentation":"

    The representation of a resource.

    " + }, + "ResourceDelegates":{ + "type":"list", + "member":{"shape":"Delegate"} + }, + "ResourceId":{ + "type":"string", + "pattern":"^r-[0-9a-f]{32}$" + }, + "ResourceName":{ + "type":"string", + "max":20, + "min":1, + "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The resource cannot be found.

    ", + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "ROOM", + "EQUIPMENT" + ] + }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "RetentionAction":{ + "type":"string", + "enum":[ + "NONE", + "DELETE", + "PERMANENTLY_DELETE" + ] + }, + "RetentionPeriod":{ + "type":"integer", + "box":true, + "max":730, + "min":1 + }, + "ShortString":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[a-zA-Z0-9_-]+" + }, + "String":{ + "type":"string", + "max":256 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The key of the tag.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The value of the tag.

    " + } + }, + "documentation":"

    Describes a tag applied to a resource.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

    The resource ARN.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tag key-value pairs.

    " + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    The resource can have up to 50 user-applied tags.

    ", + "exception":true + }, + "UnsupportedOperationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + }, + "documentation":"

    You can't perform a write operation against a read-only directory.

    ", + "exception":true + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{ + "shape":"AmazonResourceName", + "documentation":"

    The resource ARN.

    " + }, + "TagKeys":{ + "shape":"TagKeyList", + "documentation":"

    The tag keys.

    " + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateMailboxQuotaRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "UserId", + "MailboxQuota" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier for the organization that contains the user for whom to update the mailbox quota.

    " + }, + "UserId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifer for the user for whom to update the mailbox quota.

    " + }, + "MailboxQuota":{ + "shape":"MailboxQuota", + "documentation":"

    The updated mailbox quota, in MB, for the specified user.

    " + } + } + }, + "UpdateMailboxQuotaResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdatePrimaryEmailAddressRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "EntityId", + "Email" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The organization that contains the user, group, or resource to update.

    " + }, + "EntityId":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The user, group, or resource to update.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The value of the email to be updated as primary.

    " + } + } + }, + "UpdatePrimaryEmailAddressResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateResourceRequest":{ + "type":"structure", + "required":[ + "OrganizationId", + "ResourceId" + ], + "members":{ + "OrganizationId":{ + "shape":"OrganizationId", + "documentation":"

    The identifier associated with the organization for which the resource is updated.

    " + }, + "ResourceId":{ + "shape":"ResourceId", + "documentation":"

    The identifier of the resource to be updated.

    " + }, + "Name":{ + "shape":"ResourceName", + "documentation":"

    The name of the resource to be updated.

    " + }, + "BookingOptions":{ + "shape":"BookingOptions", + "documentation":"

    The resource's booking options to be updated.

    " + } + } + }, + "UpdateResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "User":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"WorkMailIdentifier", + "documentation":"

    The identifier of the user.

    " + }, + "Email":{ + "shape":"EmailAddress", + "documentation":"

    The email of the user.

    " + }, + "Name":{ + "shape":"UserName", + "documentation":"

    The name of the user.

    " + }, + "DisplayName":{ + "shape":"String", + "documentation":"

    The display name of the user.

    " + }, + "State":{ + "shape":"EntityState", + "documentation":"

    The state of the user, which can be ENABLED, DISABLED, or DELETED.

    " + }, + "UserRole":{ + "shape":"UserRole", + "documentation":"

    The role of the user.

    " + }, + "EnabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the user was enabled for Amazon WorkMail use.

    " + }, + "DisabledDate":{ + "shape":"Timestamp", + "documentation":"

    The date indicating when the user was disabled from Amazon WorkMail use.

    " + } + }, + "documentation":"

    The representation of an Amazon WorkMail user.

    " + }, + "UserIdList":{ + "type":"list", + "member":{"shape":"WorkMailIdentifier"}, + "max":10, + "min":0 + }, + "UserName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"[\\w\\-.]+(@[a-zA-Z0-9.\\-]+\\.[a-zA-Z0-9]{2,})?" + }, + "UserRole":{ + "type":"string", + "enum":[ + "USER", + "RESOURCE", + "SYSTEM_USER" + ] + }, + "Users":{ + "type":"list", + "member":{"shape":"User"} + }, + "WorkMailIdentifier":{ + "type":"string", + "max":256, + "min":12 + } + }, + "documentation":"

    Amazon WorkMail is a secure, managed business email and calendaring service with support for existing desktop and mobile email clients. You can access your email, contacts, and calendars using Microsoft Outlook, your browser, or other native iOS and Android email applications. You can integrate WorkMail with your existing corporate directory and control both the keys that encrypt your data and the location in which your data is stored.

    The WorkMail API is designed for the following scenarios:

    • Listing and describing organizations

    • Managing users

    • Managing groups

    • Managing resources

    All WorkMail API operations are Amazon-authenticated and certificate-signed. They not only require the use of the AWS SDK, but also allow for the exclusive use of AWS Identity and Access Management users and roles to help facilitate access, trust, and permission policies. By creating a role and allowing an IAM user to access the WorkMail site, the IAM user gains full administrative visibility into the entire WorkMail organization (or as set in the IAM policy). This includes, but is not limited to, the ability to create, update, and delete users, groups, and resources. This allows developers to perform the scenarios listed above, as well as give users the ability to grant access on a selective basis using the IAM model.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/workmailmessageflow/2019-05-01/paginators-1.json python-botocore-1.16.19+repack/botocore/data/workmailmessageflow/2019-05-01/paginators-1.json --- python-botocore-1.4.70/botocore/data/workmailmessageflow/2019-05-01/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workmailmessageflow/2019-05-01/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff -Nru python-botocore-1.4.70/botocore/data/workmailmessageflow/2019-05-01/service-2.json python-botocore-1.16.19+repack/botocore/data/workmailmessageflow/2019-05-01/service-2.json --- python-botocore-1.4.70/botocore/data/workmailmessageflow/2019-05-01/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workmailmessageflow/2019-05-01/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,74 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2019-05-01", + "endpointPrefix":"workmailmessageflow", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon WorkMail Message Flow", + "serviceId":"WorkMailMessageFlow", + "signatureVersion":"v4", + "uid":"workmailmessageflow-2019-05-01" + }, + "operations":{ + "GetRawMessageContent":{ + "name":"GetRawMessageContent", + "http":{ + "method":"GET", + "requestUri":"/messages/{messageId}" + }, + "input":{"shape":"GetRawMessageContentRequest"}, + "output":{"shape":"GetRawMessageContentResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Retrieves the raw content of an in-transit email message, in MIME format.

    " + } + }, + "shapes":{ + "GetRawMessageContentRequest":{ + "type":"structure", + "required":["messageId"], + "members":{ + "messageId":{ + "shape":"messageIdType", + "documentation":"

    The identifier of the email message to retrieve.

    ", + "location":"uri", + "locationName":"messageId" + } + } + }, + "GetRawMessageContentResponse":{ + "type":"structure", + "required":["messageContent"], + "members":{ + "messageContent":{ + "shape":"messageContentBlob", + "documentation":"

    The raw content of the email message, in MIME format.

    " + } + }, + "payload":"messageContent" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"errorMessage"} + }, + "documentation":"

    The requested email message is not found.

    ", + "error":{"httpStatusCode":404}, + "exception":true + }, + "errorMessage":{"type":"string"}, + "messageContentBlob":{ + "type":"blob", + "streaming":true + }, + "messageIdType":{ + "type":"string", + "max":120, + "min":1, + "pattern":"[a-z0-9\\-]*" + } + }, + "documentation":"

    The WorkMail Message Flow API provides access to email messages as they are being sent and received by a WorkMail organization.

    " +} diff -Nru python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/examples-1.json python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/examples-1.json --- python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/paginators-1.json python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/paginators-1.json --- python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,48 @@ +{ + "pagination": { + "DescribeWorkspaceBundles": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Bundles" + }, + "DescribeWorkspaceDirectories": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Directories" + }, + "DescribeWorkspaces": { + "limit_key": "Limit", + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Workspaces" + }, + "DescribeAccountModifications": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "AccountModifications" + }, + "DescribeIpGroups": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Result" + }, + "DescribeWorkspaceImages": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "Images" + }, + "DescribeWorkspacesConnectionStatus": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "WorkspacesConnectionStatus" + }, + "ListAvailableManagementCidrRanges": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "ManagementCidrRanges" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/service-2.json python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/service-2.json --- python-botocore-1.4.70/botocore/data/workspaces/2015-04-08/service-2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/workspaces/2015-04-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -6,10 +6,83 @@ "jsonVersion":"1.1", "protocol":"json", "serviceFullName":"Amazon WorkSpaces", + "serviceId":"WorkSpaces", "signatureVersion":"v4", - "targetPrefix":"WorkspacesService" + "targetPrefix":"WorkspacesService", + "uid":"workspaces-2015-04-08" }, "operations":{ + "AssociateIpGroups":{ + "name":"AssociateIpGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateIpGroupsRequest"}, + "output":{"shape":"AssociateIpGroupsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Associates the specified IP access control group with the specified directory.

    " + }, + "AuthorizeIpRules":{ + "name":"AuthorizeIpRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AuthorizeIpRulesRequest"}, + "output":{"shape":"AuthorizeIpRulesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Adds one or more rules to the specified IP access control group.

    This action gives users permission to access their WorkSpaces from the CIDR address ranges specified in the rules.

    " + }, + "CopyWorkspaceImage":{ + "name":"CopyWorkspaceImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopyWorkspaceImageRequest"}, + "output":{"shape":"CopyWorkspaceImageResult"}, + "errors":[ + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"} + ], + "documentation":"

    Copies the specified image from the specified Region to the current Region.

    " + }, + "CreateIpGroup":{ + "name":"CreateIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateIpGroupRequest"}, + "output":{"shape":"CreateIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceCreationFailedException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Creates an IP access control group.

    An IP access control group provides you with the ability to control the IP addresses from which users are allowed to access their WorkSpaces. To specify the CIDR address ranges, add rules to your IP access control group and then associate the group with your directory. You can add rules when you create the group or at any time using AuthorizeIpRules.

    There is a default IP access control group associated with your directory. If you don't associate an IP access control group with your directory, the default group is used. The default group includes a default rule that allows users to access their WorkSpaces from anywhere. You cannot modify the default IP access control group for your directory.

    " + }, "CreateTags":{ "name":"CreateTags", "http":{ @@ -23,7 +96,7 @@ {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceLimitExceededException"} ], - "documentation":"

    Creates tags for a WorkSpace.

    " + "documentation":"

    Creates the specified tags for the specified WorkSpaces resource.

    " }, "CreateWorkspaces":{ "name":"CreateWorkspaces", @@ -37,7 +110,23 @@ {"shape":"ResourceLimitExceededException"}, {"shape":"InvalidParameterValuesException"} ], - "documentation":"

    Creates one or more WorkSpaces.

    This operation is asynchronous and returns before the WorkSpaces are created.

    " + "documentation":"

    Creates one or more WorkSpaces.

    This operation is asynchronous and returns before the WorkSpaces are created.

    " + }, + "DeleteIpGroup":{ + "name":"DeleteIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteIpGroupRequest"}, + "output":{"shape":"DeleteIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceAssociatedException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes the specified IP access control group.

    You cannot delete an IP access control group that is associated with a directory.

    " }, "DeleteTags":{ "name":"DeleteTags", @@ -51,7 +140,94 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidParameterValuesException"} ], - "documentation":"

    Deletes tags from a WorkSpace.

    " + "documentation":"

    Deletes the specified tags from the specified WorkSpaces resource.

    " + }, + "DeleteWorkspaceImage":{ + "name":"DeleteWorkspaceImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteWorkspaceImageRequest"}, + "output":{"shape":"DeleteWorkspaceImageResult"}, + "errors":[ + {"shape":"ResourceAssociatedException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Deletes the specified image from your account. To delete an image, you must first delete any bundles that are associated with the image and un-share the image if it is shared with other accounts.

    " + }, + "DeregisterWorkspaceDirectory":{ + "name":"DeregisterWorkspaceDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeregisterWorkspaceDirectoryRequest"}, + "output":{"shape":"DeregisterWorkspaceDirectoryResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidResourceStateException"} + ], + "documentation":"

    Deregisters the specified directory. This operation is asynchronous and returns before the WorkSpace directory is deregistered. If any WorkSpaces are registered to this directory, you must remove them before you can deregister the directory.

    " + }, + "DescribeAccount":{ + "name":"DescribeAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountRequest"}, + "output":{"shape":"DescribeAccountResult"}, + "errors":[ + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Retrieves a list that describes the configuration of Bring Your Own License (BYOL) for the specified account.

    " + }, + "DescribeAccountModifications":{ + "name":"DescribeAccountModifications", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAccountModificationsRequest"}, + "output":{"shape":"DescribeAccountModificationsResult"}, + "errors":[ + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Retrieves a list that describes modifications to the configuration of Bring Your Own License (BYOL) for the specified account.

    " + }, + "DescribeClientProperties":{ + "name":"DescribeClientProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClientPropertiesRequest"}, + "output":{"shape":"DescribeClientPropertiesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Retrieves a list that describes one or more specified Amazon WorkSpaces clients.

    " + }, + "DescribeIpGroups":{ + "name":"DescribeIpGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeIpGroupsRequest"}, + "output":{"shape":"DescribeIpGroupsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Describes one or more of your IP access control groups.

    " }, "DescribeTags":{ "name":"DescribeTags", @@ -64,7 +240,7 @@ "errors":[ {"shape":"ResourceNotFoundException"} ], - "documentation":"

    Describes tags for a WorkSpace.

    " + "documentation":"

    Describes the specified tags for the specified WorkSpaces resource.

    " }, "DescribeWorkspaceBundles":{ "name":"DescribeWorkspaceBundles", @@ -77,7 +253,7 @@ "errors":[ {"shape":"InvalidParameterValuesException"} ], - "documentation":"

    Obtains information about the WorkSpace bundles that are available to your account in the specified region.

    You can filter the results with either the BundleIds parameter, or the Owner parameter, but not both.

    This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

    " + "documentation":"

    Retrieves a list that describes the available WorkSpace bundles.

    You can filter the results using either bundle ID or owner, but not both.

    " }, "DescribeWorkspaceDirectories":{ "name":"DescribeWorkspaceDirectories", @@ -90,7 +266,35 @@ "errors":[ {"shape":"InvalidParameterValuesException"} ], - "documentation":"

    Retrieves information about the AWS Directory Service directories in the region that are registered with Amazon WorkSpaces and are available to your account.

    This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

    " + "documentation":"

    Describes the available directories that are registered with Amazon WorkSpaces.

    " + }, + "DescribeWorkspaceImages":{ + "name":"DescribeWorkspaceImages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWorkspaceImagesRequest"}, + "output":{"shape":"DescribeWorkspaceImagesResult"}, + "errors":[ + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Retrieves a list that describes one or more specified images, if the image identifiers are provided. Otherwise, all images in the account are described.

    " + }, + "DescribeWorkspaceSnapshots":{ + "name":"DescribeWorkspaceSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeWorkspaceSnapshotsRequest"}, + "output":{"shape":"DescribeWorkspaceSnapshotsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Describes the snapshots for the specified WorkSpace.

    " }, "DescribeWorkspaces":{ "name":"DescribeWorkspaces", @@ -104,7 +308,7 @@ {"shape":"InvalidParameterValuesException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

    Obtains information about the specified WorkSpaces.

    Only one of the filter parameters, such as BundleId, DirectoryId, or WorkspaceIds, can be specified at a time.

    This operation supports pagination with the use of the NextToken request and response parameters. If more results are available, the NextToken response member contains a token that you pass in the next call to this operation to retrieve the next set of items.

    " + "documentation":"

    Describes the specified WorkSpaces.

    You can filter the results by using the bundle identifier, directory identifier, or owner, but you can specify only one filter at a time.

    " }, "DescribeWorkspacesConnectionStatus":{ "name":"DescribeWorkspacesConnectionStatus", @@ -117,7 +321,149 @@ "errors":[ {"shape":"InvalidParameterValuesException"} ], - "documentation":"

    Describes the connection status of a specified WorkSpace.

    " + "documentation":"

    Describes the connection status of the specified WorkSpaces.

    " + }, + "DisassociateIpGroups":{ + "name":"DisassociateIpGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateIpGroupsRequest"}, + "output":{"shape":"DisassociateIpGroupsResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Disassociates the specified IP access control group from the specified directory.

    " + }, + "ImportWorkspaceImage":{ + "name":"ImportWorkspaceImage", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportWorkspaceImageRequest"}, + "output":{"shape":"ImportWorkspaceImageResult"}, + "errors":[ + {"shape":"ResourceLimitExceededException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"} + ], + "documentation":"

    Imports the specified Windows 7 or Windows 10 Bring Your Own License (BYOL) image into Amazon WorkSpaces. The image must be an already licensed EC2 image that is in your AWS account, and you must own the image.

    " + }, + "ListAvailableManagementCidrRanges":{ + "name":"ListAvailableManagementCidrRanges", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAvailableManagementCidrRangesRequest"}, + "output":{"shape":"ListAvailableManagementCidrRangesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Retrieves a list of IP address ranges, specified as IPv4 CIDR blocks, that you can use for the network management interface when you enable Bring Your Own License (BYOL).

    The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.

    " + }, + "MigrateWorkspace":{ + "name":"MigrateWorkspace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"MigrateWorkspaceRequest"}, + "output":{"shape":"MigrateWorkspaceResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"OperationInProgressException"}, + {"shape":"ResourceUnavailableException"} + ], + "documentation":"

    Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.

    The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace. During migration, the original D:\\Users\\%USERNAME% user profile folder is renamed to D:\\Users\\%USERNAME%MMddyyTHHmmss%.NotMigrated. A new D:\\Users\\%USERNAME%\\ folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile.

    For available migration scenarios, details about what happens during migration, and best practices, see Migrate a WorkSpace.

    " + }, + "ModifyAccount":{ + "name":"ModifyAccount", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyAccountRequest"}, + "output":{"shape":"ModifyAccountResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"ResourceUnavailableException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Modifies the configuration of Bring Your Own License (BYOL) for the specified account.

    " + }, + "ModifyClientProperties":{ + "name":"ModifyClientProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyClientPropertiesRequest"}, + "output":{"shape":"ModifyClientPropertiesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Modifies the properties of the specified Amazon WorkSpaces clients.

    " + }, + "ModifySelfservicePermissions":{ + "name":"ModifySelfservicePermissions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifySelfservicePermissionsRequest"}, + "output":{"shape":"ModifySelfservicePermissionsResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Modifies the self-service WorkSpace management capabilities for your users. For more information, see Enable Self-Service WorkSpace Management Capabilities for Your Users.

    " + }, + "ModifyWorkspaceAccessProperties":{ + "name":"ModifyWorkspaceAccessProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyWorkspaceAccessPropertiesRequest"}, + "output":{"shape":"ModifyWorkspaceAccessPropertiesResult"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Specifies which devices and operating systems users can use to access their WorkSpaces. For more information, see Control Device Access.

    " + }, + "ModifyWorkspaceCreationProperties":{ + "name":"ModifyWorkspaceCreationProperties", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyWorkspaceCreationPropertiesRequest"}, + "output":{"shape":"ModifyWorkspaceCreationPropertiesResult"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Modify the default properties used to create WorkSpaces.

    " }, "ModifyWorkspaceProperties":{ "name":"ModifyWorkspaceProperties", @@ -136,7 +482,22 @@ {"shape":"AccessDeniedException"}, {"shape":"ResourceUnavailableException"} ], - "documentation":"

    Modifies the WorkSpace properties, including the RunningMode and AutoStop time.

    " + "documentation":"

    Modifies the specified WorkSpace properties.

    " + }, + "ModifyWorkspaceState":{ + "name":"ModifyWorkspaceState", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyWorkspaceStateRequest"}, + "output":{"shape":"ModifyWorkspaceStateResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

    Sets the state of the specified WorkSpace.

    To maintain a WorkSpace without being interrupted, set the WorkSpace state to ADMIN_MAINTENANCE. WorkSpaces in this state do not respond to requests to reboot, stop, start, rebuild, or restore. An AutoStop WorkSpace in this state is not stopped. Users cannot log into a WorkSpace in the ADMIN_MAINTENANCE state.

    " }, "RebootWorkspaces":{ "name":"RebootWorkspaces", @@ -146,7 +507,7 @@ }, "input":{"shape":"RebootWorkspacesRequest"}, "output":{"shape":"RebootWorkspacesResult"}, - "documentation":"

    Reboots the specified WorkSpaces.

    To be able to reboot a WorkSpace, the WorkSpace must have a State of AVAILABLE, IMPAIRED, or INOPERABLE.

    This operation is asynchronous and returns before the WorkSpaces have rebooted.

    " + "documentation":"

    Reboots the specified WorkSpaces.

    You cannot reboot a WorkSpace unless its state is AVAILABLE or UNHEALTHY.

    This operation is asynchronous and returns before the WorkSpaces have rebooted.

    " }, "RebuildWorkspaces":{ "name":"RebuildWorkspaces", @@ -156,7 +517,58 @@ }, "input":{"shape":"RebuildWorkspacesRequest"}, "output":{"shape":"RebuildWorkspacesResult"}, - "documentation":"

    Rebuilds the specified WorkSpaces.

    Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. Rebuilding a WorkSpace causes the following to occur:

    • The system is restored to the image of the bundle that the WorkSpace is created from. Any applications that have been installed, or system settings that have been made since the WorkSpace was created will be lost.

    • The data drive (D drive) is re-created from the last automatic snapshot taken of the data drive. The current contents of the data drive are overwritten. Automatic snapshots of the data drive are taken every 12 hours, so the snapshot can be as much as 12 hours old.

    To be able to rebuild a WorkSpace, the WorkSpace must have a State of AVAILABLE or ERROR.

    This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

    " + "documentation":"

    Rebuilds the specified WorkSpace.

    You cannot rebuild a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, or STOPPED.

    Rebuilding a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Rebuild a WorkSpace.

    This operation is asynchronous and returns before the WorkSpaces have been completely rebuilt.

    " + }, + "RegisterWorkspaceDirectory":{ + "name":"RegisterWorkspaceDirectory", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RegisterWorkspaceDirectoryRequest"}, + "output":{"shape":"RegisterWorkspaceDirectoryResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"AccessDeniedException"}, + {"shape":"WorkspacesDefaultRoleNotFoundException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"UnsupportedNetworkConfigurationException"}, + {"shape":"OperationNotSupportedException"} + ], + "documentation":"

    Registers the specified directory. This operation is asynchronous and returns before the WorkSpace directory is registered. If this is the first time you are registering a directory, you will need to create the workspaces_DefaultRole role before you can register a directory. For more information, see Creating the workspaces_DefaultRole Role.

    " + }, + "RestoreWorkspace":{ + "name":"RestoreWorkspace", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreWorkspaceRequest"}, + "output":{"shape":"RestoreWorkspaceResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Restores the specified WorkSpace to its last known healthy state.

    You cannot restore a WorkSpace unless its state is AVAILABLE, ERROR, UNHEALTHY, or STOPPED.

    Restoring a WorkSpace is a potentially destructive action that can result in the loss of data. For more information, see Restore a WorkSpace.

    This operation is asynchronous and returns before the WorkSpace is completely restored.

    " + }, + "RevokeIpRules":{ + "name":"RevokeIpRules", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RevokeIpRulesRequest"}, + "output":{"shape":"RevokeIpRulesResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Removes one or more rules from the specified IP access control group.

    " }, "StartWorkspaces":{ "name":"StartWorkspaces", @@ -166,7 +578,7 @@ }, "input":{"shape":"StartWorkspacesRequest"}, "output":{"shape":"StartWorkspacesResult"}, - "documentation":"

    Starts the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to “STOPPED.”

    " + "documentation":"

    Starts the specified WorkSpaces.

    You cannot start a WorkSpace unless it has a running mode of AutoStop and a state of STOPPED.

    " }, "StopWorkspaces":{ "name":"StopWorkspaces", @@ -176,7 +588,7 @@ }, "input":{"shape":"StopWorkspacesRequest"}, "output":{"shape":"StopWorkspacesResult"}, - "documentation":"

    Stops the specified WorkSpaces. The API only works with WorkSpaces that have RunningMode configured as AutoStop and the State set to AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

    " + "documentation":"

    Stops the specified WorkSpaces.

    You cannot stop a WorkSpace unless it has a running mode of AutoStop and a state of AVAILABLE, IMPAIRED, UNHEALTHY, or ERROR.

    " }, "TerminateWorkspaces":{ "name":"TerminateWorkspaces", @@ -186,7 +598,24 @@ }, "input":{"shape":"TerminateWorkspacesRequest"}, "output":{"shape":"TerminateWorkspacesResult"}, - "documentation":"

    Terminates the specified WorkSpaces.

    Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is not maintained and will be destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

    You can terminate a WorkSpace that is in any state except SUSPENDED.

    This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

    " + "documentation":"

    Terminates the specified WorkSpaces.

    Terminating a WorkSpace is a permanent action and cannot be undone. The user's data is destroyed. If you need to archive any user data, contact Amazon Web Services before terminating the WorkSpace.

    You can terminate a WorkSpace that is in any state except SUSPENDED.

    This operation is asynchronous and returns before the WorkSpaces have been completely terminated.

    " + }, + "UpdateRulesOfIpGroup":{ + "name":"UpdateRulesOfIpGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateRulesOfIpGroupRequest"}, + "output":{"shape":"UpdateRulesOfIpGroupResult"}, + "errors":[ + {"shape":"InvalidParameterValuesException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceLimitExceededException"}, + {"shape":"InvalidResourceStateException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

    Replaces the current rules of the specified IP access control group with the specified rules.

    " } }, "shapes":{ @@ -199,9 +628,95 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, + "documentation":"

    The user is not authorized to access a resource.

    ", "exception":true }, + "AccessPropertyValue":{ + "type":"string", + "enum":[ + "ALLOW", + "DENY" + ] + }, + "AccountModification":{ + "type":"structure", + "members":{ + "ModificationState":{ + "shape":"DedicatedTenancyModificationStateEnum", + "documentation":"

    The state of the modification to the configuration of BYOL.

    " + }, + "DedicatedTenancySupport":{ + "shape":"DedicatedTenancySupportResultEnum", + "documentation":"

    The status of BYOL (whether BYOL is being enabled or disabled).

    " + }, + "DedicatedTenancyManagementCidrRange":{ + "shape":"DedicatedTenancyManagementCidrRange", + "documentation":"

    The IP address range, specified as an IPv4 CIDR block, for the management network interface used for the account.

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The timestamp when the modification of the BYOL configuration was started.

    " + }, + "ErrorCode":{ + "shape":"WorkspaceErrorCode", + "documentation":"

    The error code that is returned if the configuration of BYOL cannot be modified.

    " + }, + "ErrorMessage":{ + "shape":"Description", + "documentation":"

    The text of the error message that is returned if the configuration of BYOL cannot be modified.

    " + } + }, + "documentation":"

    Describes a modification to the configuration of Bring Your Own License (BYOL) for the specified account.

    " + }, + "AccountModificationList":{ + "type":"list", + "member":{"shape":"AccountModification"} + }, "Alias":{"type":"string"}, + "AssociateIpGroupsRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "GroupIds" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory.

    " + }, + "GroupIds":{ + "shape":"IpGroupIdList", + "documentation":"

    The identifiers of one or more IP access control groups.

    " + } + } + }, + "AssociateIpGroupsResult":{ + "type":"structure", + "members":{ + } + }, + "AuthorizeIpRulesRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the group.

    " + }, + "UserRules":{ + "shape":"IpRuleList", + "documentation":"

    The rules to add to the group.

    " + } + } + }, + "AuthorizeIpRulesResult":{ + "type":"structure", + "members":{ + } + }, "BooleanObject":{"type":"boolean"}, "BundleId":{ "type":"string", @@ -218,12 +733,44 @@ "member":{"shape":"WorkspaceBundle"} }, "BundleOwner":{"type":"string"}, + "ClientProperties":{ + "type":"structure", + "members":{ + "ReconnectEnabled":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can cache their credentials on the Amazon WorkSpaces client. When enabled, users can choose to reconnect to their WorkSpaces without re-entering their credentials.

    " + } + }, + "documentation":"

    Describes an Amazon WorkSpaces client.

    " + }, + "ClientPropertiesList":{ + "type":"list", + "member":{"shape":"ClientPropertiesResult"} + }, + "ClientPropertiesResult":{ + "type":"structure", + "members":{ + "ResourceId":{ + "shape":"NonEmptyString", + "documentation":"

    The resource identifier, in the form of a directory ID.

    " + }, + "ClientProperties":{ + "shape":"ClientProperties", + "documentation":"

    Information about the Amazon WorkSpaces client.

    " + } + }, + "documentation":"

    Information about the Amazon WorkSpaces client.

    " + }, "Compute":{ "type":"string", "enum":[ "VALUE", "STANDARD", - "PERFORMANCE" + "PERFORMANCE", + "POWER", + "GRAPHICS", + "POWERPRO", + "GRAPHICSPRO" ] }, "ComputeType":{ @@ -231,10 +778,10 @@ "members":{ "Name":{ "shape":"Compute", - "documentation":"

    The name of the compute type for the bundle.

    " + "documentation":"

    The compute type.

    " } }, - "documentation":"

    Contains information about the compute type of a WorkSpace bundle.

    " + "documentation":"

    Describes the compute type.

    " }, "ComputerName":{"type":"string"}, "ConnectionState":{ @@ -245,6 +792,76 @@ "UNKNOWN" ] }, + "CopyWorkspaceImageRequest":{ + "type":"structure", + "required":[ + "Name", + "SourceImageId", + "SourceRegion" + ], + "members":{ + "Name":{ + "shape":"WorkspaceImageName", + "documentation":"

    The name of the image.

    " + }, + "Description":{ + "shape":"WorkspaceImageDescription", + "documentation":"

    A description of the image.

    " + }, + "SourceImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The identifier of the source image.

    " + }, + "SourceRegion":{ + "shape":"Region", + "documentation":"

    The identifier of the source Region.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags for the image.

    " + } + } + }, + "CopyWorkspaceImageResult":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The identifier of the image.

    " + } + } + }, + "CreateIpGroupRequest":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"IpGroupName", + "documentation":"

    The name of the group.

    " + }, + "GroupDesc":{ + "shape":"IpGroupDesc", + "documentation":"

    The description of the group.

    " + }, + "UserRules":{ + "shape":"IpRuleList", + "documentation":"

    The rules to add to the group.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags. Each WorkSpaces resource can have a maximum of 50 tags.

    " + } + } + }, + "CreateIpGroupResult":{ + "type":"structure", + "members":{ + "GroupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the group.

    " + } + } + }, "CreateTagsRequest":{ "type":"structure", "required":[ @@ -254,20 +871,18 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

    The resource ID of the request.

    " + "documentation":"

    The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

    " }, "Tags":{ "shape":"TagList", - "documentation":"

    The tags of the request.

    " + "documentation":"

    The tags. Each WorkSpaces resource can have a maximum of 50 tags. If you want to add new tags to a set of existing tags, you must submit all of the existing tags along with the new ones.

    " } - }, - "documentation":"

    The request of the CreateTags operation.

    " + } }, "CreateTagsResult":{ "type":"structure", "members":{ - }, - "documentation":"

    The result of the CreateTags operation.

    " + } }, "CreateWorkspacesRequest":{ "type":"structure", @@ -275,24 +890,49 @@ "members":{ "Workspaces":{ "shape":"WorkspaceRequestList", - "documentation":"

    An array of structures that specify the WorkSpaces to create.

    " + "documentation":"

    The WorkSpaces to create. You can specify up to 25 WorkSpaces.

    " } - }, - "documentation":"

    Contains the inputs for the CreateWorkspaces operation.

    " + } }, "CreateWorkspacesResult":{ "type":"structure", "members":{ "FailedRequests":{ "shape":"FailedCreateWorkspaceRequests", - "documentation":"

    An array of structures that represent the WorkSpaces that could not be created.

    " + "documentation":"

    Information about the WorkSpaces that could not be created.

    " }, "PendingRequests":{ "shape":"WorkspaceList", - "documentation":"

    An array of structures that represent the WorkSpaces that were created.

    Because this operation is asynchronous, the identifier in WorkspaceId is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information will be returned.

    " + "documentation":"

    Information about the WorkSpaces that were created.

    Because this operation is asynchronous, the identifier returned is not immediately available for use with other operations. For example, if you call DescribeWorkspaces before the WorkSpace is created, the information returned can be incomplete.

    " } - }, - "documentation":"

    Contains the result of the CreateWorkspaces operation.

    " + } + }, + "DedicatedTenancyCidrRangeList":{ + "type":"list", + "member":{"shape":"DedicatedTenancyManagementCidrRange"} + }, + "DedicatedTenancyManagementCidrRange":{ + "type":"string", + "pattern":"(^([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.0\\.0)(\\/(16$))$" + }, + "DedicatedTenancyModificationStateEnum":{ + "type":"string", + "enum":[ + "PENDING", + "COMPLETED", + "FAILED" + ] + }, + "DedicatedTenancySupportEnum":{ + "type":"string", + "enum":["ENABLED"] + }, + "DedicatedTenancySupportResultEnum":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] }, "DefaultOu":{"type":"string"}, "DefaultWorkspaceCreationProperties":{ @@ -300,26 +940,45 @@ "members":{ "EnableWorkDocs":{ "shape":"BooleanObject", - "documentation":"

    Specifies if the directory is enabled for Amazon WorkDocs.

    " + "documentation":"

    Specifies whether the directory is enabled for Amazon WorkDocs.

    " }, "EnableInternetAccess":{ "shape":"BooleanObject", - "documentation":"

    A public IP address will be attached to all WorkSpaces that are created or rebuilt.

    " + "documentation":"

    Specifies whether to automatically assign an Elastic public IP address to WorkSpaces in this directory by default. If enabled, the Elastic public IP address allows outbound internet access from your WorkSpaces when you’re using an internet gateway in the Amazon VPC in which your WorkSpaces are located. If you're using a Network Address Translation (NAT) gateway for outbound internet access from your VPC, or if your WorkSpaces are in public subnets and you manually assign them Elastic IP addresses, you should disable this setting. This setting applies to new WorkSpaces that you launch or to existing WorkSpaces that you rebuild. For more information, see Configure a VPC for Amazon WorkSpaces.

    " }, "DefaultOu":{ "shape":"DefaultOu", - "documentation":"

    The organizational unit (OU) in the directory that the WorkSpace machine accounts are placed in.

    " + "documentation":"

    The organizational unit (OU) in the directory for the WorkSpace machine accounts.

    " }, "CustomSecurityGroupId":{ "shape":"SecurityGroupId", - "documentation":"

    The identifier of any custom security groups that are applied to the WorkSpaces when they are created.

    " + "documentation":"

    The identifier of any security groups to apply to WorkSpaces when they are created.

    " }, "UserEnabledAsLocalAdministrator":{ "shape":"BooleanObject", - "documentation":"

    The WorkSpace user is an administrator on the WorkSpace.

    " + "documentation":"

    Specifies whether WorkSpace users are local administrators on their WorkSpaces.

    " + }, + "EnableMaintenanceMode":{ + "shape":"BooleanObject", + "documentation":"

    Specifies whether maintenance mode is enabled for WorkSpaces. For more information, see WorkSpace Maintenance.

    " } }, - "documentation":"

    Contains default WorkSpace creation information.

    " + "documentation":"

    Describes the default values that are used to create WorkSpaces. For more information, see Update Directory Details for Your WorkSpaces.

    " + }, + "DeleteIpGroupRequest":{ + "type":"structure", + "required":["GroupId"], + "members":{ + "GroupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the IP access control group.

    " + } + } + }, + "DeleteIpGroupResult":{ + "type":"structure", + "members":{ + } }, "DeleteTagsRequest":{ "type":"structure", @@ -330,20 +989,137 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

    The resource ID of the request.

    " + "documentation":"

    The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

    " }, "TagKeys":{ "shape":"TagKeyList", - "documentation":"

    The tag keys of the request.

    " + "documentation":"

    The tag keys.

    " } - }, - "documentation":"

    The request of the DeleteTags operation.

    " + } }, "DeleteTagsResult":{ "type":"structure", "members":{ - }, - "documentation":"

    The result of the DeleteTags operation.

    " + } + }, + "DeleteWorkspaceImageRequest":{ + "type":"structure", + "required":["ImageId"], + "members":{ + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The identifier of the image.

    " + } + } + }, + "DeleteWorkspaceImageResult":{ + "type":"structure", + "members":{ + } + }, + "DeregisterWorkspaceDirectoryRequest":{ + "type":"structure", + "required":["DirectoryId"], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory. If any WorkSpaces are registered to this directory, you must remove them before you deregister the directory, or you will receive an OperationNotSupportedException error.

    " + } + } + }, + "DeregisterWorkspaceDirectoryResult":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountModificationsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " + } + } + }, + "DescribeAccountModificationsResult":{ + "type":"structure", + "members":{ + "AccountModifications":{ + "shape":"AccountModificationList", + "documentation":"

    The list of modifications to the configuration of BYOL.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " + } + } + }, + "DescribeAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "DescribeAccountResult":{ + "type":"structure", + "members":{ + "DedicatedTenancySupport":{ + "shape":"DedicatedTenancySupportResultEnum", + "documentation":"

    The status of BYOL (whether BYOL is enabled or disabled).

    " + }, + "DedicatedTenancyManagementCidrRange":{ + "shape":"DedicatedTenancyManagementCidrRange", + "documentation":"

    The IP address range, specified as an IPv4 CIDR block, used for the management network interface.

    The management network interface is connected to a secure Amazon WorkSpaces management network. It is used for interactive streaming of the WorkSpace desktop to Amazon WorkSpaces clients, and to allow Amazon WorkSpaces to manage the WorkSpace.

    " + } + } + }, + "DescribeClientPropertiesRequest":{ + "type":"structure", + "required":["ResourceIds"], + "members":{ + "ResourceIds":{ + "shape":"ResourceIdList", + "documentation":"

    The resource identifier, in the form of directory IDs.

    " + } + } + }, + "DescribeClientPropertiesResult":{ + "type":"structure", + "members":{ + "ClientPropertiesList":{ + "shape":"ClientPropertiesList", + "documentation":"

    Information about the specified Amazon WorkSpaces clients.

    " + } + } + }, + "DescribeIpGroupsRequest":{ + "type":"structure", + "members":{ + "GroupIds":{ + "shape":"IpGroupIdList", + "documentation":"

    The identifiers of one or more IP access control groups.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " + }, + "MaxResults":{ + "shape":"Limit", + "documentation":"

    The maximum number of items to return.

    " + } + } + }, + "DescribeIpGroupsResult":{ + "type":"structure", + "members":{ + "Result":{ + "shape":"WorkspacesIpGroupsList", + "documentation":"

    Information about the IP access control groups.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " + } + } }, "DescribeTagsRequest":{ "type":"structure", @@ -351,91 +1127,142 @@ "members":{ "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

    The resource ID of the request.

    " + "documentation":"

    The identifier of the WorkSpaces resource. The supported resource types are WorkSpaces, registered directories, images, custom bundles, and IP access control groups.

    " } - }, - "documentation":"

    The request of the DescribeTags operation.

    " + } }, "DescribeTagsResult":{ "type":"structure", "members":{ "TagList":{ "shape":"TagList", - "documentation":"

    The list of tags.

    " + "documentation":"

    The tags.

    " } - }, - "documentation":"

    The result of the DescribeTags operation.

    " + } }, "DescribeWorkspaceBundlesRequest":{ "type":"structure", "members":{ "BundleIds":{ "shape":"BundleIdList", - "documentation":"

    An array of strings that contains the identifiers of the bundles to retrieve. This parameter cannot be combined with any other filter parameter.

    " + "documentation":"

    The identifiers of the bundles. You cannot combine this parameter with any other filter.

    " }, "Owner":{ "shape":"BundleOwner", - "documentation":"

    The owner of the bundles to retrieve. This parameter cannot be combined with any other filter parameter.

    This contains one of the following values:

    • null- Retrieves the bundles that belong to the account making the call.

    • AMAZON- Retrieves the bundles that are provided by AWS.

    " + "documentation":"

    The owner of the bundles. You cannot combine this parameter with any other filter.

    Specify AMAZON to describe the bundles provided by AWS or null to describe the bundles that belong to your account.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    The NextToken value from a previous call to this operation. Pass null if this is the first call.

    " + "documentation":"

    The token for the next set of results. (You received this token from a previous call.)

    " } - }, - "documentation":"

    Contains the inputs for the DescribeWorkspaceBundles operation.

    " + } }, "DescribeWorkspaceBundlesResult":{ "type":"structure", "members":{ "Bundles":{ "shape":"BundleList", - "documentation":"

    An array of structures that contain information about the bundles.

    " + "documentation":"

    Information about the bundles.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

    " + "documentation":"

    The token to use to retrieve the next set of results, or null if there are no more results available. This token is valid for one day and must be used within that time frame.

    " } - }, - "documentation":"

    Contains the results of the DescribeWorkspaceBundles operation.

    " + } }, "DescribeWorkspaceDirectoriesRequest":{ "type":"structure", "members":{ "DirectoryIds":{ "shape":"DirectoryIdList", - "documentation":"

    An array of strings that contains the directory identifiers to retrieve information for. If this member is null, all directories are retrieved.

    " + "documentation":"

    The identifiers of the directories. If the value is null, all directories are retrieved.

    " + }, + "Limit":{ + "shape":"Limit", + "documentation":"

    The maximum number of directories to return.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    The NextToken value from a previous call to this operation. Pass null if this is the first call.

    " + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " } - }, - "documentation":"

    Contains the inputs for the DescribeWorkspaceDirectories operation.

    " + } }, "DescribeWorkspaceDirectoriesResult":{ "type":"structure", "members":{ "Directories":{ "shape":"DirectoryList", - "documentation":"

    An array of structures that contain information about the directories.

    " + "documentation":"

    Information about the directories.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

    " + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " } - }, - "documentation":"

    Contains the results of the DescribeWorkspaceDirectories operation.

    " + } + }, + "DescribeWorkspaceImagesRequest":{ + "type":"structure", + "members":{ + "ImageIds":{ + "shape":"WorkspaceImageIdList", + "documentation":"

    The identifier of the image.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " + }, + "MaxResults":{ + "shape":"Limit", + "documentation":"

    The maximum number of items to return.

    " + } + } + }, + "DescribeWorkspaceImagesResult":{ + "type":"structure", + "members":{ + "Images":{ + "shape":"WorkspaceImageList", + "documentation":"

    Information about the images.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " + } + } + }, + "DescribeWorkspaceSnapshotsRequest":{ + "type":"structure", + "required":["WorkspaceId"], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The identifier of the WorkSpace.

    " + } + } + }, + "DescribeWorkspaceSnapshotsResult":{ + "type":"structure", + "members":{ + "RebuildSnapshots":{ + "shape":"SnapshotList", + "documentation":"

    Information about the snapshots that can be used to rebuild a WorkSpace. These snapshots include the user volume.

    " + }, + "RestoreSnapshots":{ + "shape":"SnapshotList", + "documentation":"

    Information about the snapshots that can be used to restore a WorkSpace. These snapshots include both the root volume and the user volume.

    " + } + } }, "DescribeWorkspacesConnectionStatusRequest":{ "type":"structure", "members":{ "WorkspaceIds":{ "shape":"WorkspaceIdList", - "documentation":"

    An array of strings that contain the identifiers of the WorkSpaces.

    " + "documentation":"

    The identifiers of the WorkSpaces. You can specify up to 25 WorkSpaces.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    The next token of the request.

    " + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " } } }, @@ -444,11 +1271,11 @@ "members":{ "WorkspacesConnectionStatus":{ "shape":"WorkspaceConnectionStatusList", - "documentation":"

    The connection status of the WorkSpace.

    " + "documentation":"

    Information about the connection status of the WorkSpace.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    The next token of the result.

    " + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " } } }, @@ -457,19 +1284,19 @@ "members":{ "WorkspaceIds":{ "shape":"WorkspaceIdList", - "documentation":"

    An array of strings that contain the identifiers of the WorkSpaces for which to retrieve information. This parameter cannot be combined with any other filter parameter.

    Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

    " + "documentation":"

    The identifiers of the WorkSpaces. You cannot combine this parameter with any other filter.

    Because the CreateWorkspaces operation is asynchronous, the identifier it returns is not immediately available. If you immediately call DescribeWorkspaces with this identifier, no information is returned.

    " }, "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

    Specifies the directory identifier to which to limit the WorkSpaces. Optionally, you can specify a specific directory user with the UserName parameter. This parameter cannot be combined with any other filter parameter.

    " + "documentation":"

    The identifier of the directory. In addition, you can optionally specify a specific directory user (see UserName). You cannot combine this parameter with any other filter.

    " }, "UserName":{ "shape":"UserName", - "documentation":"

    Used with the DirectoryId parameter to specify the directory user for whom to obtain the WorkSpace.

    " + "documentation":"

    The name of the directory user. You must specify this parameter with DirectoryId.

    " }, "BundleId":{ "shape":"BundleId", - "documentation":"

    The identifier of a bundle to obtain the WorkSpaces for. All WorkSpaces that are created from this bundle will be retrieved. This parameter cannot be combined with any other filter parameter.

    " + "documentation":"

    The identifier of the bundle. All WorkSpaces that are created from this bundle are retrieved. You cannot combine this parameter with any other filter.

    " }, "Limit":{ "shape":"Limit", @@ -477,28 +1304,28 @@ }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    The NextToken value from a previous call to this operation. Pass null if this is the first call.

    " + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " } - }, - "documentation":"

    Contains the inputs for the DescribeWorkspaces operation.

    " + } }, "DescribeWorkspacesResult":{ "type":"structure", "members":{ "Workspaces":{ "shape":"WorkspaceList", - "documentation":"

    An array of structures that contain the information about the WorkSpaces.

    Because the CreateWorkspaces operation is asynchronous, some of this information may be incomplete for a newly-created WorkSpace.

    " + "documentation":"

    Information about the WorkSpaces.

    Because CreateWorkspaces is an asynchronous operation, some of the returned information could be incomplete.

    " }, "NextToken":{ "shape":"PaginationToken", - "documentation":"

    If not null, more results are available. Pass this value for the NextToken parameter in a subsequent call to this operation to retrieve the next set of items. This token is valid for one day and must be used within that time frame.

    " + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " } - }, - "documentation":"

    Contains the results for the DescribeWorkspaces operation.

    " + } }, "Description":{"type":"string"}, "DirectoryId":{ "type":"string", + "max":65, + "min":10, "pattern":"^d-[0-9a-f]{8,63}$" }, "DirectoryIdList":{ @@ -512,10 +1339,36 @@ "member":{"shape":"WorkspaceDirectory"} }, "DirectoryName":{"type":"string"}, + "DisassociateIpGroupsRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "GroupIds" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory.

    " + }, + "GroupIds":{ + "shape":"IpGroupIdList", + "documentation":"

    The identifiers of one or more IP access control groups.

    " + } + } + }, + "DisassociateIpGroupsResult":{ + "type":"structure", + "members":{ + } + }, "DnsIpAddresses":{ "type":"list", "member":{"shape":"IpAddress"} }, + "Ec2ImageId":{ + "type":"string", + "pattern":"^ami\\-([a-f0-9]{8}|[a-f0-9]{17})$" + }, "ErrorType":{"type":"string"}, "ExceptionMessage":{"type":"string"}, "FailedCreateWorkspaceRequest":{ @@ -523,18 +1376,18 @@ "members":{ "WorkspaceRequest":{ "shape":"WorkspaceRequest", - "documentation":"

    A FailedCreateWorkspaceRequest$WorkspaceRequest object that contains the information about the WorkSpace that could not be created.

    " + "documentation":"

    Information about the WorkSpace.

    " }, "ErrorCode":{ "shape":"ErrorType", - "documentation":"

    The error code.

    " + "documentation":"

    The error code that is returned if the WorkSpace cannot be created.

    " }, "ErrorMessage":{ "shape":"Description", - "documentation":"

    The textual error message.

    " + "documentation":"

    The text of the error message that is returned if the WorkSpace cannot be created.

    " } }, - "documentation":"

    Contains information about a WorkSpace that could not be created.

    " + "documentation":"

    Describes a WorkSpace that cannot be created.

    " }, "FailedCreateWorkspaceRequests":{ "type":"list", @@ -569,14 +1422,54 @@ }, "ErrorCode":{ "shape":"ErrorType", - "documentation":"

    The error code.

    " + "documentation":"

    The error code that is returned if the WorkSpace cannot be rebooted.

    " }, "ErrorMessage":{ "shape":"Description", - "documentation":"

    The textual error message.

    " + "documentation":"

    The text of the error message that is returned if the WorkSpace cannot be rebooted.

    " } }, - "documentation":"

    Contains information about a WorkSpace that could not be rebooted (RebootWorkspaces), rebuilt (RebuildWorkspaces), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

    " + "documentation":"

    Describes a WorkSpace that could not be rebooted. (RebootWorkspaces), rebuilt (RebuildWorkspaces), restored (RestoreWorkspace), terminated (TerminateWorkspaces), started (StartWorkspaces), or stopped (StopWorkspaces).

    " + }, + "ImportWorkspaceImageRequest":{ + "type":"structure", + "required":[ + "Ec2ImageId", + "IngestionProcess", + "ImageName", + "ImageDescription" + ], + "members":{ + "Ec2ImageId":{ + "shape":"Ec2ImageId", + "documentation":"

    The identifier of the EC2 image.

    " + }, + "IngestionProcess":{ + "shape":"WorkspaceImageIngestionProcess", + "documentation":"

    The ingestion process to be used when importing the image.

    " + }, + "ImageName":{ + "shape":"WorkspaceImageName", + "documentation":"

    The name of the WorkSpace image.

    " + }, + "ImageDescription":{ + "shape":"WorkspaceImageDescription", + "documentation":"

    The description of the WorkSpace image.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags. Each WorkSpaces resource can have a maximum of 50 tags.

    " + } + } + }, + "ImportWorkspaceImageResult":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The identifier of the WorkSpace image.

    " + } + } }, "InvalidParameterValuesException":{ "type":"structure", @@ -594,15 +1487,258 @@ "members":{ "message":{"shape":"ExceptionMessage"} }, - "documentation":"

    The specified WorkSpace has an invalid state for this operation.

    ", + "documentation":"

    The state of the resource is not valid for this operation.

    ", "exception":true }, "IpAddress":{"type":"string"}, + "IpGroupDesc":{"type":"string"}, + "IpGroupId":{ + "type":"string", + "pattern":"wsipg-[0-9a-z]{8,63}$" + }, + "IpGroupIdList":{ + "type":"list", + "member":{"shape":"IpGroupId"} + }, + "IpGroupName":{"type":"string"}, + "IpRevokedRuleList":{ + "type":"list", + "member":{"shape":"IpRule"} + }, + "IpRule":{"type":"string"}, + "IpRuleDesc":{"type":"string"}, + "IpRuleItem":{ + "type":"structure", + "members":{ + "ipRule":{ + "shape":"IpRule", + "documentation":"

    The IP address range, in CIDR notation.

    " + }, + "ruleDesc":{ + "shape":"IpRuleDesc", + "documentation":"

    The description.

    " + } + }, + "documentation":"

    Describes a rule for an IP access control group.

    " + }, + "IpRuleList":{ + "type":"list", + "member":{"shape":"IpRuleItem"} + }, "Limit":{ "type":"integer", "max":25, "min":1 }, + "ListAvailableManagementCidrRangesRequest":{ + "type":"structure", + "required":["ManagementCidrRangeConstraint"], + "members":{ + "ManagementCidrRangeConstraint":{ + "shape":"ManagementCidrRangeConstraint", + "documentation":"

    The IP address range to search. Specify an IP address range that is compatible with your network and in CIDR notation (that is, specify the range as an IPv4 CIDR block).

    " + }, + "MaxResults":{ + "shape":"ManagementCidrRangeMaxResults", + "documentation":"

    The maximum number of items to return.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    If you received a NextToken from a previous call that was paginated, provide this token to receive the next set of results.

    " + } + } + }, + "ListAvailableManagementCidrRangesResult":{ + "type":"structure", + "members":{ + "ManagementCidrRanges":{ + "shape":"DedicatedTenancyCidrRangeList", + "documentation":"

    The list of available IP address ranges, specified as IPv4 CIDR blocks.

    " + }, + "NextToken":{ + "shape":"PaginationToken", + "documentation":"

    The token to use to retrieve the next set of results, or null if no more results are available.

    " + } + } + }, + "ManagementCidrRangeConstraint":{ + "type":"string", + "pattern":"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\\/(3[0-2]|[1-2][0-9]|[0-9]))$" + }, + "ManagementCidrRangeMaxResults":{ + "type":"integer", + "max":5, + "min":1 + }, + "MigrateWorkspaceRequest":{ + "type":"structure", + "required":[ + "SourceWorkspaceId", + "BundleId" + ], + "members":{ + "SourceWorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The identifier of the WorkSpace to migrate from.

    " + }, + "BundleId":{ + "shape":"BundleId", + "documentation":"

    The identifier of the target bundle type to migrate the WorkSpace to.

    " + } + } + }, + "MigrateWorkspaceResult":{ + "type":"structure", + "members":{ + "SourceWorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The original identifier of the WorkSpace that is being migrated.

    " + }, + "TargetWorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.

    " + } + } + }, + "ModificationResourceEnum":{ + "type":"string", + "enum":[ + "ROOT_VOLUME", + "USER_VOLUME", + "COMPUTE_TYPE" + ] + }, + "ModificationState":{ + "type":"structure", + "members":{ + "Resource":{ + "shape":"ModificationResourceEnum", + "documentation":"

    The resource.

    " + }, + "State":{ + "shape":"ModificationStateEnum", + "documentation":"

    The modification state.

    " + } + }, + "documentation":"

    Describes a WorkSpace modification.

    " + }, + "ModificationStateEnum":{ + "type":"string", + "enum":[ + "UPDATE_INITIATED", + "UPDATE_IN_PROGRESS" + ] + }, + "ModificationStateList":{ + "type":"list", + "member":{"shape":"ModificationState"} + }, + "ModifyAccountRequest":{ + "type":"structure", + "members":{ + "DedicatedTenancySupport":{ + "shape":"DedicatedTenancySupportEnum", + "documentation":"

    The status of BYOL.

    " + }, + "DedicatedTenancyManagementCidrRange":{ + "shape":"DedicatedTenancyManagementCidrRange", + "documentation":"

    The IP address range, specified as an IPv4 CIDR block, for the management network interface. Specify an IP address range that is compatible with your network and in CIDR notation (that is, specify the range as an IPv4 CIDR block). The CIDR block size must be /16 (for example, 203.0.113.25/16). It must also be specified as available by the ListAvailableManagementCidrRanges operation.

    " + } + } + }, + "ModifyAccountResult":{ + "type":"structure", + "members":{ + } + }, + "ModifyClientPropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "ClientProperties" + ], + "members":{ + "ResourceId":{ + "shape":"NonEmptyString", + "documentation":"

    The resource identifiers, in the form of directory IDs.

    " + }, + "ClientProperties":{ + "shape":"ClientProperties", + "documentation":"

    Information about the Amazon WorkSpaces client.

    " + } + } + }, + "ModifyClientPropertiesResult":{ + "type":"structure", + "members":{ + } + }, + "ModifySelfservicePermissionsRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "SelfservicePermissions" + ], + "members":{ + "ResourceId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory.

    " + }, + "SelfservicePermissions":{ + "shape":"SelfservicePermissions", + "documentation":"

    The permissions to enable or disable self-service capabilities.

    " + } + } + }, + "ModifySelfservicePermissionsResult":{ + "type":"structure", + "members":{ + } + }, + "ModifyWorkspaceAccessPropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "WorkspaceAccessProperties" + ], + "members":{ + "ResourceId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory.

    " + }, + "WorkspaceAccessProperties":{ + "shape":"WorkspaceAccessProperties", + "documentation":"

    The device types and operating systems to enable or disable for access.

    " + } + } + }, + "ModifyWorkspaceAccessPropertiesResult":{ + "type":"structure", + "members":{ + } + }, + "ModifyWorkspaceCreationPropertiesRequest":{ + "type":"structure", + "required":[ + "ResourceId", + "WorkspaceCreationProperties" + ], + "members":{ + "ResourceId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory.

    " + }, + "WorkspaceCreationProperties":{ + "shape":"WorkspaceCreationProperties", + "documentation":"

    The default properties for creating WorkSpaces.

    " + } + } + }, + "ModifyWorkspaceCreationPropertiesResult":{ + "type":"structure", + "members":{ + } + }, "ModifyWorkspacePropertiesRequest":{ "type":"structure", "required":[ @@ -612,11 +1748,11 @@ "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The ID of the WorkSpace.

    " + "documentation":"

    The identifier of the WorkSpace.

    " }, "WorkspaceProperties":{ "shape":"WorkspaceProperties", - "documentation":"

    The WorkSpace properties of the request.

    " + "documentation":"

    The properties of the WorkSpace.

    " } } }, @@ -625,10 +1761,49 @@ "members":{ } }, + "ModifyWorkspaceStateRequest":{ + "type":"structure", + "required":[ + "WorkspaceId", + "WorkspaceState" + ], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The identifier of the WorkSpace.

    " + }, + "WorkspaceState":{ + "shape":"TargetWorkspaceState", + "documentation":"

    The WorkSpace state.

    " + } + } + }, + "ModifyWorkspaceStateResult":{ + "type":"structure", + "members":{ + } + }, "NonEmptyString":{ "type":"string", "min":1 }, + "OperatingSystem":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"OperatingSystemType", + "documentation":"

    The operating system.

    " + } + }, + "documentation":"

    The operating system that the image is running.

    " + }, + "OperatingSystemType":{ + "type":"string", + "enum":[ + "WINDOWS", + "LINUX" + ] + }, "OperationInProgressException":{ "type":"structure", "members":{ @@ -637,6 +1812,14 @@ "documentation":"

    The properties of this WorkSpace are currently being modified. Try again in a moment.

    ", "exception":true }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    This operation is not supported.

    ", + "exception":true + }, "PaginationToken":{ "type":"string", "max":63, @@ -648,10 +1831,10 @@ "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The identifier of the WorkSpace to reboot.

    " + "documentation":"

    The identifier of the WorkSpace.

    " } }, - "documentation":"

    Contains information used with the RebootWorkspaces operation to reboot a WorkSpace.

    " + "documentation":"

    Describes the information used to reboot a WorkSpace.

    " }, "RebootWorkspaceRequests":{ "type":"list", @@ -665,20 +1848,18 @@ "members":{ "RebootWorkspaceRequests":{ "shape":"RebootWorkspaceRequests", - "documentation":"

    An array of structures that specify the WorkSpaces to reboot.

    " + "documentation":"

    The WorkSpaces to reboot. You can specify up to 25 WorkSpaces.

    " } - }, - "documentation":"

    Contains the inputs for the RebootWorkspaces operation.

    " + } }, "RebootWorkspacesResult":{ "type":"structure", "members":{ "FailedRequests":{ "shape":"FailedRebootWorkspaceRequests", - "documentation":"

    An array of structures representing any WorkSpaces that could not be rebooted.

    " + "documentation":"

    Information about the WorkSpaces that could not be rebooted.

    " } - }, - "documentation":"

    Contains the results of the RebootWorkspaces operation.

    " + } }, "RebuildRequest":{ "type":"structure", @@ -686,10 +1867,10 @@ "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The identifier of the WorkSpace to rebuild.

    " + "documentation":"

    The identifier of the WorkSpace.

    " } }, - "documentation":"

    Contains information used with the RebuildWorkspaces operation to rebuild a WorkSpace.

    " + "documentation":"

    Describes the information used to rebuild a WorkSpace.

    " }, "RebuildWorkspaceRequests":{ "type":"list", @@ -703,26 +1884,105 @@ "members":{ "RebuildWorkspaceRequests":{ "shape":"RebuildWorkspaceRequests", - "documentation":"

    An array of structures that specify the WorkSpaces to rebuild.

    " + "documentation":"

    The WorkSpace to rebuild. You can specify a single WorkSpace.

    " } - }, - "documentation":"

    Contains the inputs for the RebuildWorkspaces operation.

    " + } }, "RebuildWorkspacesResult":{ "type":"structure", "members":{ "FailedRequests":{ "shape":"FailedRebuildWorkspaceRequests", - "documentation":"

    An array of structures representing any WorkSpaces that could not be rebuilt.

    " + "documentation":"

    Information about the WorkSpace that could not be rebuilt.

    " } - }, - "documentation":"

    Contains the results of the RebuildWorkspaces operation.

    " + } + }, + "ReconnectEnum":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "Region":{ + "type":"string", + "max":31, + "min":1, + "pattern":"^[-0-9a-z]{1,31}$" + }, + "RegisterWorkspaceDirectoryRequest":{ + "type":"structure", + "required":[ + "DirectoryId", + "EnableWorkDocs" + ], + "members":{ + "DirectoryId":{ + "shape":"DirectoryId", + "documentation":"

    The identifier of the directory. You cannot register a directory if it does not have a status of Active. If the directory does not have a status of Active, you will receive an InvalidResourceStateException error. If you have already registered the maximum number of directories that you can register with Amazon WorkSpaces, you will receive a ResourceLimitExceededException error. Deregister directories that you are not using for WorkSpaces, and try again.

    " + }, + "SubnetIds":{ + "shape":"SubnetIds", + "documentation":"

    The identifiers of the subnets for your virtual private cloud (VPC). Make sure that the subnets are in supported Availability Zones. The subnets must also be in separate Availability Zones. If these conditions are not met, you will receive an OperationNotSupportedException error.

    " + }, + "EnableWorkDocs":{ + "shape":"BooleanObject", + "documentation":"

    Indicates whether Amazon WorkDocs is enabled or disabled. If you have enabled this parameter and WorkDocs is not available in the Region, you will receive an OperationNotSupportedException error. Set EnableWorkDocs to disabled, and try again.

    " + }, + "EnableSelfService":{ + "shape":"BooleanObject", + "documentation":"

    Indicates whether self-service capabilities are enabled or disabled.

    " + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

    Indicates whether your WorkSpace directory is dedicated or shared. To use Bring Your Own License (BYOL) images, this value must be set to DEDICATED and your AWS account must be enabled for BYOL. If your account has not been enabled for BYOL, you will receive an InvalidParameterValuesException error. For more information about BYOL images, see Bring Your Own Windows Desktop Images.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The tags associated with the directory.

    " + } + } + }, + "RegisterWorkspaceDirectoryResult":{ + "type":"structure", + "members":{ + } }, "RegistrationCode":{ "type":"string", "max":20, "min":1 }, + "ResourceAlreadyExistsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The specified resource already exists.

    ", + "exception":true + }, + "ResourceAssociatedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The resource is associated with a directory.

    ", + "exception":true + }, + "ResourceCreationFailedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The resource could not be created.

    ", + "exception":true + }, + "ResourceIdList":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":25, + "min":1 + }, "ResourceLimitExceededException":{ "type":"structure", "members":{ @@ -743,7 +2003,7 @@ }, "ResourceId":{ "shape":"NonEmptyString", - "documentation":"

    The resource could not be found.

    " + "documentation":"

    The ID of the resource that could not be found.

    " } }, "documentation":"

    The resource could not be found.

    ", @@ -764,6 +2024,54 @@ "documentation":"

    The specified resource is not available.

    ", "exception":true }, + "RestoreWorkspaceRequest":{ + "type":"structure", + "required":["WorkspaceId"], + "members":{ + "WorkspaceId":{ + "shape":"WorkspaceId", + "documentation":"

    The identifier of the WorkSpace.

    " + } + } + }, + "RestoreWorkspaceResult":{ + "type":"structure", + "members":{ + } + }, + "RevokeIpRulesRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the group.

    " + }, + "UserRules":{ + "shape":"IpRevokedRuleList", + "documentation":"

    The rules to remove from the group.

    " + } + } + }, + "RevokeIpRulesResult":{ + "type":"structure", + "members":{ + } + }, + "RootStorage":{ + "type":"structure", + "members":{ + "Capacity":{ + "shape":"NonEmptyString", + "documentation":"

    The size of the root volume.

    " + } + }, + "documentation":"

    Describes the root volume for a WorkSpace bundle.

    " + }, + "RootVolumeSizeGib":{"type":"integer"}, "RunningMode":{ "type":"string", "enum":[ @@ -774,17 +2082,59 @@ "RunningModeAutoStopTimeoutInMinutes":{"type":"integer"}, "SecurityGroupId":{ "type":"string", - "pattern":"^(sg-[0-9a-f]{8})$" + "max":20, + "min":11, + "pattern":"^(sg-([0-9a-f]{8}|[0-9a-f]{17}))$" + }, + "SelfservicePermissions":{ + "type":"structure", + "members":{ + "RestartWorkspace":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can restart their WorkSpace.

    " + }, + "IncreaseVolumeSize":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can increase the volume size of the drives on their WorkSpace.

    " + }, + "ChangeComputeType":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can change the compute type (bundle) for their WorkSpace.

    " + }, + "SwitchRunningMode":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can switch the running mode of their WorkSpace.

    " + }, + "RebuildWorkspace":{ + "shape":"ReconnectEnum", + "documentation":"

    Specifies whether users can rebuild the operating system of a WorkSpace to its original state.

    " + } + }, + "documentation":"

    Describes the self-service permissions for a directory. For more information, see Enable Self-Service WorkSpace Management Capabilities for Your Users.

    " + }, + "Snapshot":{ + "type":"structure", + "members":{ + "SnapshotTime":{ + "shape":"Timestamp", + "documentation":"

    The time when the snapshot was created.

    " + } + }, + "documentation":"

    Describes a snapshot.

    " + }, + "SnapshotList":{ + "type":"list", + "member":{"shape":"Snapshot"} }, "StartRequest":{ "type":"structure", "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The ID of the WorkSpace.

    " + "documentation":"

    The identifier of the WorkSpace.

    " } }, - "documentation":"

    Describes the start request.

    " + "documentation":"

    Information used to start a WorkSpace.

    " }, "StartWorkspaceRequests":{ "type":"list", @@ -798,7 +2148,7 @@ "members":{ "StartWorkspaceRequests":{ "shape":"StartWorkspaceRequests", - "documentation":"

    The requests.

    " + "documentation":"

    The WorkSpaces to start. You can specify up to 25 WorkSpaces.

    " } } }, @@ -807,7 +2157,7 @@ "members":{ "FailedRequests":{ "shape":"FailedStartWorkspaceRequests", - "documentation":"

    The failed requests.

    " + "documentation":"

    Information about the WorkSpaces that could not be started.

    " } } }, @@ -816,10 +2166,10 @@ "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The ID of the WorkSpace.

    " + "documentation":"

    The identifier of the WorkSpace.

    " } }, - "documentation":"

    Describes the stop request.

    " + "documentation":"

    Describes the information used to stop a WorkSpace.

    " }, "StopWorkspaceRequests":{ "type":"list", @@ -833,7 +2183,7 @@ "members":{ "StopWorkspaceRequests":{ "shape":"StopWorkspaceRequests", - "documentation":"

    The requests.

    " + "documentation":"

    The WorkSpaces to stop. You can specify up to 25 WorkSpaces.

    " } } }, @@ -842,17 +2192,20 @@ "members":{ "FailedRequests":{ "shape":"FailedStopWorkspaceRequests", - "documentation":"

    The failed requests.

    " + "documentation":"

    Information about the WorkSpaces that could not be stopped.

    " } } }, "SubnetId":{ "type":"string", - "pattern":"^(subnet-[0-9a-f]{8})$" + "max":24, + "min":15, + "pattern":"^(subnet-([0-9a-f]{8}|[0-9a-f]{17}))$" }, "SubnetIds":{ "type":"list", - "member":{"shape":"SubnetId"} + "member":{"shape":"SubnetId"}, + "max":2 }, "Tag":{ "type":"structure", @@ -867,7 +2220,7 @@ "documentation":"

    The value of the tag.

    " } }, - "documentation":"

    Describes the tag of the WorkSpace.

    " + "documentation":"

    Describes a tag.

    " }, "TagKey":{ "type":"string", @@ -886,16 +2239,30 @@ "type":"string", "max":255 }, + "TargetWorkspaceState":{ + "type":"string", + "enum":[ + "AVAILABLE", + "ADMIN_MAINTENANCE" + ] + }, + "Tenancy":{ + "type":"string", + "enum":[ + "DEDICATED", + "SHARED" + ] + }, "TerminateRequest":{ "type":"structure", "required":["WorkspaceId"], "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The identifier of the WorkSpace to terminate.

    " + "documentation":"

    The identifier of the WorkSpace.

    " } }, - "documentation":"

    Contains information used with the TerminateWorkspaces operation to terminate a WorkSpace.

    " + "documentation":"

    Describes the information used to terminate a WorkSpace.

    " }, "TerminateWorkspaceRequests":{ "type":"list", @@ -909,30 +2276,58 @@ "members":{ "TerminateWorkspaceRequests":{ "shape":"TerminateWorkspaceRequests", - "documentation":"

    An array of structures that specify the WorkSpaces to terminate.

    " + "documentation":"

    The WorkSpaces to terminate. You can specify up to 25 WorkSpaces.

    " } - }, - "documentation":"

    Contains the inputs for the TerminateWorkspaces operation.

    " + } }, "TerminateWorkspacesResult":{ "type":"structure", "members":{ "FailedRequests":{ "shape":"FailedTerminateWorkspaceRequests", - "documentation":"

    An array of structures representing any WorkSpaces that could not be terminated.

    " + "documentation":"

    Information about the WorkSpaces that could not be terminated.

    " } - }, - "documentation":"

    Contains the results of the TerminateWorkspaces operation.

    " + } }, "Timestamp":{"type":"timestamp"}, + "UnsupportedNetworkConfigurationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The configuration of this network is not supported for this operation, or your network configuration conflicts with the Amazon WorkSpaces management network IP range. For more information, see Configure a VPC for Amazon WorkSpaces.

    ", + "exception":true + }, "UnsupportedWorkspaceConfigurationException":{ "type":"structure", "members":{ "message":{"shape":"ExceptionMessage"} }, - "documentation":"

    The WorkSpace does not have the supported configuration for this operation. For more information, see the Amazon WorkSpaces Administration Guide.

    ", + "documentation":"

    The configuration of this WorkSpace is not supported for this operation. For more information, see Required Configuration and Service Components for WorkSpaces .

    ", "exception":true }, + "UpdateRulesOfIpGroupRequest":{ + "type":"structure", + "required":[ + "GroupId", + "UserRules" + ], + "members":{ + "GroupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the group.

    " + }, + "UserRules":{ + "shape":"IpRuleList", + "documentation":"

    One or more rules.

    " + } + } + }, + "UpdateRulesOfIpGroupResult":{ + "type":"structure", + "members":{ + } + }, "UserName":{ "type":"string", "max":63, @@ -943,11 +2338,12 @@ "members":{ "Capacity":{ "shape":"NonEmptyString", - "documentation":"

    The amount of user storage for the bundle.

    " + "documentation":"

    The size of the user storage.

    " } }, - "documentation":"

    Contains information about the user storage for a WorkSpace bundle.

    " + "documentation":"

    Describes the user storage for a WorkSpace bundle.

    " }, + "UserVolumeSizeGib":{"type":"integer"}, "VolumeEncryptionKey":{"type":"string"}, "Workspace":{ "type":"structure", @@ -958,11 +2354,11 @@ }, "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

    The identifier of the AWS Directory Service directory that the WorkSpace belongs to.

    " + "documentation":"

    The identifier of the AWS Directory Service directory for the WorkSpace.

    " }, "UserName":{ "shape":"UserName", - "documentation":"

    The user that the WorkSpace is assigned to.

    " + "documentation":"

    The user for the WorkSpace.

    " }, "IpAddress":{ "shape":"IpAddress", @@ -974,39 +2370,80 @@ }, "BundleId":{ "shape":"BundleId", - "documentation":"

    The identifier of the bundle that the WorkSpace was created from.

    " + "documentation":"

    The identifier of the bundle used to create the WorkSpace.

    " }, "SubnetId":{ "shape":"SubnetId", - "documentation":"

    The identifier of the subnet that the WorkSpace is in.

    " + "documentation":"

    The identifier of the subnet for the WorkSpace.

    " }, "ErrorMessage":{ "shape":"Description", - "documentation":"

    If the WorkSpace could not be created, this contains a textual error message that describes the failure.

    " + "documentation":"

    The text of the error message that is returned if the WorkSpace cannot be created.

    " }, "ErrorCode":{ "shape":"WorkspaceErrorCode", - "documentation":"

    If the WorkSpace could not be created, this contains the error code.

    " + "documentation":"

    The error code that is returned if the WorkSpace cannot be created.

    " }, "ComputerName":{ "shape":"ComputerName", - "documentation":"

    The name of the WorkSpace as seen by the operating system.

    " + "documentation":"

    The name of the WorkSpace, as seen by the operating system.

    " }, "VolumeEncryptionKey":{ "shape":"VolumeEncryptionKey", - "documentation":"

    The KMS key used to encrypt data stored on your WorkSpace.

    " + "documentation":"

    The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.

    " }, "UserVolumeEncryptionEnabled":{ "shape":"BooleanObject", - "documentation":"

    Specifies whether the data stored on the user volume, or D: drive, is encrypted.

    " + "documentation":"

    Indicates whether the data stored on the user volume is encrypted.

    " }, "RootVolumeEncryptionEnabled":{ "shape":"BooleanObject", - "documentation":"

    Specifies whether the data stored on the root volume, or C: drive, is encrypted.

    " + "documentation":"

    Indicates whether the data stored on the root volume is encrypted.

    " + }, + "WorkspaceProperties":{ + "shape":"WorkspaceProperties", + "documentation":"

    The properties of the WorkSpace.

    " + }, + "ModificationStates":{ + "shape":"ModificationStateList", + "documentation":"

    The modification states of the WorkSpace.

    " + } + }, + "documentation":"

    Describes a WorkSpace.

    " + }, + "WorkspaceAccessProperties":{ + "type":"structure", + "members":{ + "DeviceTypeWindows":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use Windows clients to access their WorkSpaces. To restrict WorkSpaces access to trusted devices (also known as managed devices) with valid certificates, specify a value of TRUST. For more information, see Restrict WorkSpaces Access to Trusted Devices.

    " + }, + "DeviceTypeOsx":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use macOS clients to access their WorkSpaces. To restrict WorkSpaces access to trusted devices (also known as managed devices) with valid certificates, specify a value of TRUST. For more information, see Restrict WorkSpaces Access to Trusted Devices.

    " + }, + "DeviceTypeWeb":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can access their WorkSpaces through a web browser.

    " + }, + "DeviceTypeIos":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use iOS devices to access their WorkSpaces.

    " + }, + "DeviceTypeAndroid":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use Android devices to access their WorkSpaces.

    " }, - "WorkspaceProperties":{"shape":"WorkspaceProperties"} + "DeviceTypeChromeOs":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use Chromebooks to access their WorkSpaces.

    " + }, + "DeviceTypeZeroClient":{ + "shape":"AccessPropertyValue", + "documentation":"

    Indicates whether users can use zero client devices to access their WorkSpaces.

    " + } }, - "documentation":"

    Contains information about a WorkSpace.

    " + "documentation":"

    The device types and operating systems that can be used to access a WorkSpace. For more information, see Amazon WorkSpaces Client Network Requirements.

    " }, "WorkspaceBundle":{ "type":"structure", @@ -1021,37 +2458,49 @@ }, "Owner":{ "shape":"BundleOwner", - "documentation":"

    The owner of the bundle. This contains the owner's account identifier, or AMAZON if the bundle is provided by AWS.

    " + "documentation":"

    The owner of the bundle. This is the account identifier of the owner, or AMAZON if the bundle is provided by AWS.

    " }, "Description":{ "shape":"Description", - "documentation":"

    The bundle description.

    " + "documentation":"

    A description.

    " + }, + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The image identifier of the bundle.

    " + }, + "RootStorage":{ + "shape":"RootStorage", + "documentation":"

    The size of the root volume.

    " }, "UserStorage":{ "shape":"UserStorage", - "documentation":"

    A UserStorage object that specifies the amount of user storage that the bundle contains.

    " + "documentation":"

    The size of the user storage.

    " }, "ComputeType":{ "shape":"ComputeType", - "documentation":"

    A ComputeType object that specifies the compute type for the bundle.

    " + "documentation":"

    The compute type. For more information, see Amazon WorkSpaces Bundles.

    " + }, + "LastUpdatedTime":{ + "shape":"Timestamp", + "documentation":"

    The last time that the bundle was updated.

    " } }, - "documentation":"

    Contains information about a WorkSpace bundle.

    " + "documentation":"

    Describes a WorkSpace bundle.

    " }, "WorkspaceConnectionStatus":{ "type":"structure", "members":{ "WorkspaceId":{ "shape":"WorkspaceId", - "documentation":"

    The ID of the WorkSpace.

    " + "documentation":"

    The identifier of the WorkSpace.

    " }, "ConnectionState":{ "shape":"ConnectionState", - "documentation":"

    The connection state of the WorkSpace. Returns UNKOWN if the WorkSpace is in a Stopped state.

    " + "documentation":"

    The connection state of the WorkSpace. The connection state is unknown if the WorkSpace is stopped.

    " }, "ConnectionStateCheckTimestamp":{ "shape":"Timestamp", - "documentation":"

    The timestamp of the connection state check.

    " + "documentation":"

    The timestamp of the connection status check.

    " }, "LastKnownUserConnectionTimestamp":{ "shape":"Timestamp", @@ -1064,6 +2513,32 @@ "type":"list", "member":{"shape":"WorkspaceConnectionStatus"} }, + "WorkspaceCreationProperties":{ + "type":"structure", + "members":{ + "EnableInternetAccess":{ + "shape":"BooleanObject", + "documentation":"

    Indicates whether internet access is enabled for your WorkSpaces.

    " + }, + "DefaultOu":{ + "shape":"DefaultOu", + "documentation":"

    The default organizational unit (OU) for your WorkSpace directories.

    " + }, + "CustomSecurityGroupId":{ + "shape":"SecurityGroupId", + "documentation":"

    The identifier of your custom security group.

    " + }, + "UserEnabledAsLocalAdministrator":{ + "shape":"BooleanObject", + "documentation":"

    Indicates whether users are local administrators of their WorkSpaces.

    " + }, + "EnableMaintenanceMode":{ + "shape":"BooleanObject", + "documentation":"

    Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance.

    " + } + }, + "documentation":"

    Describes the default properties that are used for creating WorkSpaces. For more information, see Update Directory Details for Your WorkSpaces.

    " + }, "WorkspaceDirectory":{ "type":"structure", "members":{ @@ -1085,11 +2560,11 @@ }, "SubnetIds":{ "shape":"SubnetIds", - "documentation":"

    An array of strings that contains the identifiers of the subnets used with the directory.

    " + "documentation":"

    The identifiers of the subnets used with the directory.

    " }, "DnsIpAddresses":{ "shape":"DnsIpAddresses", - "documentation":"

    An array of strings that contains the IP addresses of the DNS servers for the directory.

    " + "documentation":"

    The IP addresses of the DNS servers for the directory.

    " }, "CustomerUserName":{ "shape":"UserName", @@ -1109,14 +2584,30 @@ }, "State":{ "shape":"WorkspaceDirectoryState", - "documentation":"

    The state of the directory's registration with Amazon WorkSpaces

    " + "documentation":"

    The state of the directory's registration with Amazon WorkSpaces.

    " }, "WorkspaceCreationProperties":{ "shape":"DefaultWorkspaceCreationProperties", - "documentation":"

    A structure that specifies the default creation properties for all WorkSpaces in the directory.

    " + "documentation":"

    The default creation properties for all WorkSpaces in the directory.

    " + }, + "ipGroupIds":{ + "shape":"IpGroupIdList", + "documentation":"

    The identifiers of the IP access control groups associated with the directory.

    " + }, + "WorkspaceAccessProperties":{ + "shape":"WorkspaceAccessProperties", + "documentation":"

    The devices and operating systems that users can use to access WorkSpaces.

    " + }, + "Tenancy":{ + "shape":"Tenancy", + "documentation":"

    Specifies whether the directory is dedicated or shared. To use Bring Your Own License (BYOL), this value must be set to DEDICATED. For more information, see Bring Your Own Windows Desktop Images.

    " + }, + "SelfservicePermissions":{ + "shape":"SelfservicePermissions", + "documentation":"

    The default self-service permissions for WorkSpaces in the directory.

    " } }, - "documentation":"

    Contains information about an AWS Directory Service directory for use with Amazon WorkSpaces.

    " + "documentation":"

    Describes a directory that is used with Amazon WorkSpaces.

    " }, "WorkspaceDirectoryState":{ "type":"string", @@ -1146,6 +2637,94 @@ "max":25, "min":1 }, + "WorkspaceImage":{ + "type":"structure", + "members":{ + "ImageId":{ + "shape":"WorkspaceImageId", + "documentation":"

    The identifier of the image.

    " + }, + "Name":{ + "shape":"WorkspaceImageName", + "documentation":"

    The name of the image.

    " + }, + "Description":{ + "shape":"WorkspaceImageDescription", + "documentation":"

    The description of the image.

    " + }, + "OperatingSystem":{ + "shape":"OperatingSystem", + "documentation":"

    The operating system that the image is running.

    " + }, + "State":{ + "shape":"WorkspaceImageState", + "documentation":"

    The status of the image.

    " + }, + "RequiredTenancy":{ + "shape":"WorkspaceImageRequiredTenancy", + "documentation":"

    Specifies whether the image is running on dedicated hardware. When Bring Your Own License (BYOL) is enabled, this value is set to DEDICATED. For more information, see Bring Your Own Windows Desktop Images.

    " + }, + "ErrorCode":{ + "shape":"WorkspaceImageErrorCode", + "documentation":"

    The error code that is returned for the image.

    " + }, + "ErrorMessage":{ + "shape":"Description", + "documentation":"

    The text of the error message that is returned for the image.

    " + } + }, + "documentation":"

    Describes a WorkSpace image.

    " + }, + "WorkspaceImageDescription":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9_./() -]+$" + }, + "WorkspaceImageErrorCode":{"type":"string"}, + "WorkspaceImageId":{ + "type":"string", + "pattern":"wsi-[0-9a-z]{9,63}$" + }, + "WorkspaceImageIdList":{ + "type":"list", + "member":{"shape":"WorkspaceImageId"}, + "max":25, + "min":1 + }, + "WorkspaceImageIngestionProcess":{ + "type":"string", + "enum":[ + "BYOL_REGULAR", + "BYOL_GRAPHICS", + "BYOL_GRAPHICSPRO" + ] + }, + "WorkspaceImageList":{ + "type":"list", + "member":{"shape":"WorkspaceImage"} + }, + "WorkspaceImageName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z0-9_./()\\\\-]+$" + }, + "WorkspaceImageRequiredTenancy":{ + "type":"string", + "enum":[ + "DEFAULT", + "DEDICATED" + ] + }, + "WorkspaceImageState":{ + "type":"string", + "enum":[ + "AVAILABLE", + "PENDING", + "ERROR" + ] + }, "WorkspaceList":{ "type":"list", "member":{"shape":"Workspace"} @@ -1155,14 +2734,26 @@ "members":{ "RunningMode":{ "shape":"RunningMode", - "documentation":"

    The running mode of the WorkSpace. AlwaysOn WorkSpaces are billed monthly. AutoStop WorkSpaces are billed by the hour and stopped when no longer being used in order to save on costs.

    " + "documentation":"

    The running mode. For more information, see Manage the WorkSpace Running Mode.

    " }, "RunningModeAutoStopTimeoutInMinutes":{ "shape":"RunningModeAutoStopTimeoutInMinutes", - "documentation":"

    The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60 minute intervals.

    " + "documentation":"

    The time after a user logs off when WorkSpaces are automatically stopped. Configured in 60-minute intervals.

    " + }, + "RootVolumeSizeGib":{ + "shape":"RootVolumeSizeGib", + "documentation":"

    The size of the root volume.

    " + }, + "UserVolumeSizeGib":{ + "shape":"UserVolumeSizeGib", + "documentation":"

    The size of the user storage.

    " + }, + "ComputeTypeName":{ + "shape":"Compute", + "documentation":"

    The compute type. For more information, see Amazon WorkSpaces Bundles.

    " } }, - "documentation":"

    Describes the properties of a WorkSpace.

    " + "documentation":"

    Describes a WorkSpace.

    " }, "WorkspaceRequest":{ "type":"structure", @@ -1174,35 +2765,38 @@ "members":{ "DirectoryId":{ "shape":"DirectoryId", - "documentation":"

    The identifier of the AWS Directory Service directory to create the WorkSpace in. You can use the DescribeWorkspaceDirectories operation to obtain a list of the directories that are available.

    " + "documentation":"

    The identifier of the AWS Directory Service directory for the WorkSpace. You can use DescribeWorkspaceDirectories to list the available directories.

    " }, "UserName":{ "shape":"UserName", - "documentation":"

    The username that the WorkSpace is assigned to. This username must exist in the AWS Directory Service directory specified by the DirectoryId member.

    " + "documentation":"

    The user name of the user for the WorkSpace. This user name must exist in the AWS Directory Service directory for the WorkSpace.

    " }, "BundleId":{ "shape":"BundleId", - "documentation":"

    The identifier of the bundle to create the WorkSpace from. You can use the DescribeWorkspaceBundles operation to obtain a list of the bundles that are available.

    " + "documentation":"

    The identifier of the bundle for the WorkSpace. You can use DescribeWorkspaceBundles to list the available bundles.

    " }, "VolumeEncryptionKey":{ "shape":"VolumeEncryptionKey", - "documentation":"

    The KMS key used to encrypt data stored on your WorkSpace.

    " + "documentation":"

    The symmetric AWS KMS customer master key (CMK) used to encrypt data stored on your WorkSpace. Amazon WorkSpaces does not support asymmetric CMKs.

    " }, "UserVolumeEncryptionEnabled":{ "shape":"BooleanObject", - "documentation":"

    Specifies whether the data stored on the user volume, or D: drive, is encrypted.

    " + "documentation":"

    Indicates whether the data stored on the user volume is encrypted.

    " }, "RootVolumeEncryptionEnabled":{ "shape":"BooleanObject", - "documentation":"

    Specifies whether the data stored on the root volume, or C: drive, is encrypted.

    " + "documentation":"

    Indicates whether the data stored on the root volume is encrypted.

    " + }, + "WorkspaceProperties":{ + "shape":"WorkspaceProperties", + "documentation":"

    The WorkSpace properties.

    " }, - "WorkspaceProperties":{"shape":"WorkspaceProperties"}, "Tags":{ "shape":"TagList", - "documentation":"

    The tags of the WorkSpace request.

    " + "documentation":"

    The tags for the WorkSpace.

    " } }, - "documentation":"

    Contains information about a WorkSpace creation request.

    " + "documentation":"

    Describes the information used to create a WorkSpace.

    " }, "WorkspaceRequestList":{ "type":"list", @@ -1220,15 +2814,52 @@ "REBOOTING", "STARTING", "REBUILDING", + "RESTORING", "MAINTENANCE", + "ADMIN_MAINTENANCE", "TERMINATING", "TERMINATED", "SUSPENDED", + "UPDATING", "STOPPING", "STOPPED", "ERROR" ] + }, + "WorkspacesDefaultRoleNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "documentation":"

    The workspaces_DefaultRole role could not be found. If this is the first time you are registering a directory, you will need to create the workspaces_DefaultRole role before you can register a directory. For more information, see Creating the workspaces_DefaultRole Role.

    ", + "exception":true + }, + "WorkspacesIpGroup":{ + "type":"structure", + "members":{ + "groupId":{ + "shape":"IpGroupId", + "documentation":"

    The identifier of the group.

    " + }, + "groupName":{ + "shape":"IpGroupName", + "documentation":"

    The name of the group.

    " + }, + "groupDesc":{ + "shape":"IpGroupDesc", + "documentation":"

    The description of the group.

    " + }, + "userRules":{ + "shape":"IpRuleList", + "documentation":"

    The rules.

    " + } + }, + "documentation":"

    Describes an IP access control group.

    " + }, + "WorkspacesIpGroupsList":{ + "type":"list", + "member":{"shape":"WorkspacesIpGroup"} } }, - "documentation":"Amazon WorkSpaces Service

    This reference provides detailed information about the Amazon WorkSpaces operations.

    " + "documentation":"Amazon WorkSpaces Service

    Amazon WorkSpaces enables you to provision virtual, cloud-based Microsoft Windows and Amazon Linux desktops for your users.

    " } diff -Nru python-botocore-1.4.70/botocore/data/xray/2016-04-12/examples-1.json python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/examples-1.json --- python-botocore-1.4.70/botocore/data/xray/2016-04-12/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/botocore/data/xray/2016-04-12/paginators-1.json python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/paginators-1.json --- python-botocore-1.4.70/botocore/data/xray/2016-04-12/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,59 @@ +{ + "pagination": { + "BatchGetTraces": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Traces", + "non_aggregate_keys": [ + "UnprocessedTraceIds" + ] + }, + "GetServiceGraph": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Services", + "non_aggregate_keys": [ + "StartTime", + "EndTime", + "ContainsOldGroupVersions" + ] + }, + "GetTraceGraph": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Services" + }, + "GetTraceSummaries": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "TraceSummaries", + "non_aggregate_keys": [ + "TracesProcessedCount", + "ApproximateTime" + ] + }, + "GetGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "Groups" + }, + "GetSamplingRules": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "SamplingRuleRecords" + }, + "GetSamplingStatisticSummaries": { + "input_token": "NextToken", + "output_token": "NextToken", + "result_key": "SamplingStatisticSummaries" + }, + "GetTimeSeriesServiceStatistics": { + "input_token": "NextToken", + "non_aggregate_keys": [ + "ContainsOldGroupVersions" + ], + "output_token": "NextToken", + "result_key": "TimeSeriesServiceStatistics" + } + } +} diff -Nru python-botocore-1.4.70/botocore/data/xray/2016-04-12/service-2.json python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/service-2.json --- python-botocore-1.4.70/botocore/data/xray/2016-04-12/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/data/xray/2016-04-12/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2248 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2016-04-12", + "endpointPrefix":"xray", + "protocol":"rest-json", + "serviceFullName":"AWS X-Ray", + "serviceId":"XRay", + "signatureVersion":"v4", + "uid":"xray-2016-04-12" + }, + "operations":{ + "BatchGetTraces":{ + "name":"BatchGetTraces", + "http":{ + "method":"POST", + "requestUri":"/Traces" + }, + "input":{"shape":"BatchGetTracesRequest"}, + "output":{"shape":"BatchGetTracesResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves a list of traces specified by ID. Each trace is a collection of segment documents that originates from a single request. Use GetTraceSummaries to get a list of trace IDs.

    " + }, + "CreateGroup":{ + "name":"CreateGroup", + "http":{ + "method":"POST", + "requestUri":"/CreateGroup" + }, + "input":{"shape":"CreateGroupRequest"}, + "output":{"shape":"CreateGroupResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Creates a group resource with a name and a filter expression.

    " + }, + "CreateSamplingRule":{ + "name":"CreateSamplingRule", + "http":{ + "method":"POST", + "requestUri":"/CreateSamplingRule" + }, + "input":{"shape":"CreateSamplingRuleRequest"}, + "output":{"shape":"CreateSamplingRuleResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"}, + {"shape":"RuleLimitExceededException"} + ], + "documentation":"

    Creates a rule to control sampling behavior for instrumented applications. Services retrieve rules with GetSamplingRules, and evaluate each rule in ascending order of priority for each request. If a rule matches, the service records a trace, borrowing it from the reservoir size. After 10 seconds, the service reports back to X-Ray with GetSamplingTargets to get updated versions of each in-use rule. The updated rule contains a trace quota that the service can use instead of borrowing from the reservoir.

    " + }, + "DeleteGroup":{ + "name":"DeleteGroup", + "http":{ + "method":"POST", + "requestUri":"/DeleteGroup" + }, + "input":{"shape":"DeleteGroupRequest"}, + "output":{"shape":"DeleteGroupResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Deletes a group resource.

    " + }, + "DeleteSamplingRule":{ + "name":"DeleteSamplingRule", + "http":{ + "method":"POST", + "requestUri":"/DeleteSamplingRule" + }, + "input":{"shape":"DeleteSamplingRuleRequest"}, + "output":{"shape":"DeleteSamplingRuleResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Deletes a sampling rule.

    " + }, + "GetEncryptionConfig":{ + "name":"GetEncryptionConfig", + "http":{ + "method":"POST", + "requestUri":"/EncryptionConfig" + }, + "input":{"shape":"GetEncryptionConfigRequest"}, + "output":{"shape":"GetEncryptionConfigResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves the current encryption configuration for X-Ray data.

    " + }, + "GetGroup":{ + "name":"GetGroup", + "http":{ + "method":"POST", + "requestUri":"/GetGroup" + }, + "input":{"shape":"GetGroupRequest"}, + "output":{"shape":"GetGroupResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves group resource details.

    " + }, + "GetGroups":{ + "name":"GetGroups", + "http":{ + "method":"POST", + "requestUri":"/Groups" + }, + "input":{"shape":"GetGroupsRequest"}, + "output":{"shape":"GetGroupsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves all active group details.

    " + }, + "GetSamplingRules":{ + "name":"GetSamplingRules", + "http":{ + "method":"POST", + "requestUri":"/GetSamplingRules" + }, + "input":{"shape":"GetSamplingRulesRequest"}, + "output":{"shape":"GetSamplingRulesResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves all sampling rules.

    " + }, + "GetSamplingStatisticSummaries":{ + "name":"GetSamplingStatisticSummaries", + "http":{ + "method":"POST", + "requestUri":"/SamplingStatisticSummaries" + }, + "input":{"shape":"GetSamplingStatisticSummariesRequest"}, + "output":{"shape":"GetSamplingStatisticSummariesResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves information about recent sampling results for all sampling rules.

    " + }, + "GetSamplingTargets":{ + "name":"GetSamplingTargets", + "http":{ + "method":"POST", + "requestUri":"/SamplingTargets" + }, + "input":{"shape":"GetSamplingTargetsRequest"}, + "output":{"shape":"GetSamplingTargetsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Requests a sampling quota for rules that the service is using to sample requests.

    " + }, + "GetServiceGraph":{ + "name":"GetServiceGraph", + "http":{ + "method":"POST", + "requestUri":"/ServiceGraph" + }, + "input":{"shape":"GetServiceGraphRequest"}, + "output":{"shape":"GetServiceGraphResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves a document that describes services that process incoming requests, and downstream services that they call as a result. Root services process incoming requests and make calls to downstream services. Root services are applications that use the AWS X-Ray SDK. Downstream services can be other applications, AWS resources, HTTP web APIs, or SQL databases.

    " + }, + "GetTimeSeriesServiceStatistics":{ + "name":"GetTimeSeriesServiceStatistics", + "http":{ + "method":"POST", + "requestUri":"/TimeSeriesServiceStatistics" + }, + "input":{"shape":"GetTimeSeriesServiceStatisticsRequest"}, + "output":{"shape":"GetTimeSeriesServiceStatisticsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Get an aggregation of service statistics defined by a specific time range.

    " + }, + "GetTraceGraph":{ + "name":"GetTraceGraph", + "http":{ + "method":"POST", + "requestUri":"/TraceGraph" + }, + "input":{"shape":"GetTraceGraphRequest"}, + "output":{"shape":"GetTraceGraphResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves a service graph for one or more specific trace IDs.

    " + }, + "GetTraceSummaries":{ + "name":"GetTraceSummaries", + "http":{ + "method":"POST", + "requestUri":"/TraceSummaries" + }, + "input":{"shape":"GetTraceSummariesRequest"}, + "output":{"shape":"GetTraceSummariesResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Retrieves IDs and annotations for traces available for a specified time frame using an optional filter. To get the full traces, pass the trace IDs to BatchGetTraces.

    A filter expression can target traced requests that hit specific service nodes or edges, have errors, or come from a known user. For example, the following filter expression targets traces that pass through api.example.com:

    service(\"api.example.com\")

    This filter expression finds traces that have an annotation named account with the value 12345:

    annotation.account = \"12345\"

    For a full list of indexed fields and keywords that you can use in filter expressions, see Using Filter Expressions in the AWS X-Ray Developer Guide.

    " + }, + "PutEncryptionConfig":{ + "name":"PutEncryptionConfig", + "http":{ + "method":"POST", + "requestUri":"/PutEncryptionConfig" + }, + "input":{"shape":"PutEncryptionConfigRequest"}, + "output":{"shape":"PutEncryptionConfigResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Updates the encryption configuration for X-Ray data.

    " + }, + "PutTelemetryRecords":{ + "name":"PutTelemetryRecords", + "http":{ + "method":"POST", + "requestUri":"/TelemetryRecords" + }, + "input":{"shape":"PutTelemetryRecordsRequest"}, + "output":{"shape":"PutTelemetryRecordsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Used by the AWS X-Ray daemon to upload telemetry.

    " + }, + "PutTraceSegments":{ + "name":"PutTraceSegments", + "http":{ + "method":"POST", + "requestUri":"/TraceSegments" + }, + "input":{"shape":"PutTraceSegmentsRequest"}, + "output":{"shape":"PutTraceSegmentsResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Uploads segment documents to AWS X-Ray. The X-Ray SDK generates segment documents and sends them to the X-Ray daemon, which uploads them in batches. A segment document can be a completed segment, an in-progress segment, or an array of subsegments.

    Segments must include the following fields. For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

    Required Segment Document Fields

    • name - The name of the service that handled the request.

    • id - A 64-bit identifier for the segment, unique among segments in the same trace, in 16 hexadecimal digits.

    • trace_id - A unique identifier that connects all segments and subsegments originating from a single client request.

    • start_time - Time the segment or subsegment was created, in floating point seconds in epoch time, accurate to milliseconds. For example, 1480615200.010 or 1.480615200010E9.

    • end_time - Time the segment or subsegment was closed. For example, 1480615200.090 or 1.480615200090E9. Specify either an end_time or in_progress.

    • in_progress - Set to true instead of specifying an end_time to record that a segment has been started, but is not complete. Send an in progress segment when your application receives a request that will take a long time to serve, to trace the fact that the request was received. When the response is sent, send the complete segment to overwrite the in-progress segment.

    A trace_id consists of three numbers separated by hyphens. For example, 1-58406520-a006649127e371903a2de979. This includes:

    Trace ID Format

    • The version number, i.e. 1.

    • The time of the original request, in Unix epoch time, in 8 hexadecimal digits. For example, 10:00AM December 2nd, 2016 PST in epoch time is 1480615200 seconds, or 58406520 in hexadecimal.

    • A 96-bit identifier for the trace, globally unique, in 24 hexadecimal digits.

    " + }, + "UpdateGroup":{ + "name":"UpdateGroup", + "http":{ + "method":"POST", + "requestUri":"/UpdateGroup" + }, + "input":{"shape":"UpdateGroupRequest"}, + "output":{"shape":"UpdateGroupResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Updates a group resource.

    " + }, + "UpdateSamplingRule":{ + "name":"UpdateSamplingRule", + "http":{ + "method":"POST", + "requestUri":"/UpdateSamplingRule" + }, + "input":{"shape":"UpdateSamplingRuleRequest"}, + "output":{"shape":"UpdateSamplingRuleResult"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottledException"} + ], + "documentation":"

    Modifies a sampling rule's configuration.

    " + } + }, + "shapes":{ + "Alias":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The canonical name of the alias.

    " + }, + "Names":{ + "shape":"AliasNames", + "documentation":"

    A list of names for the alias, including the canonical name.

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    The type of the alias.

    " + } + }, + "documentation":"

    An alias for an edge.

    " + }, + "AliasList":{ + "type":"list", + "member":{"shape":"Alias"} + }, + "AliasNames":{ + "type":"list", + "member":{"shape":"String"} + }, + "AnnotationKey":{"type":"string"}, + "AnnotationValue":{ + "type":"structure", + "members":{ + "NumberValue":{ + "shape":"NullableDouble", + "documentation":"

    Value for a Number annotation.

    " + }, + "BooleanValue":{ + "shape":"NullableBoolean", + "documentation":"

    Value for a Boolean annotation.

    " + }, + "StringValue":{ + "shape":"String", + "documentation":"

    Value for a String annotation.

    " + } + }, + "documentation":"

    Value of a segment annotation. Has one of three value types: Number, Boolean or String.

    " + }, + "Annotations":{ + "type":"map", + "key":{"shape":"AnnotationKey"}, + "value":{"shape":"ValuesWithServiceIds"} + }, + "AttributeKey":{ + "type":"string", + "max":32, + "min":1 + }, + "AttributeMap":{ + "type":"map", + "key":{"shape":"AttributeKey"}, + "value":{"shape":"AttributeValue"}, + "max":5 + }, + "AttributeValue":{ + "type":"string", + "max":32, + "min":1 + }, + "AvailabilityZoneDetail":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of a corresponding availability zone.

    " + } + }, + "documentation":"

    A list of availability zones corresponding to the segments in a trace.

    " + }, + "BackendConnectionErrors":{ + "type":"structure", + "members":{ + "TimeoutCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "ConnectionRefusedCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "HTTPCode4XXCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "HTTPCode5XXCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "UnknownHostCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "OtherCount":{ + "shape":"NullableInteger", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "BatchGetTracesRequest":{ + "type":"structure", + "required":["TraceIds"], + "members":{ + "TraceIds":{ + "shape":"TraceIdList", + "documentation":"

    Specify the trace IDs of requests for which to retrieve segments.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "BatchGetTracesResult":{ + "type":"structure", + "members":{ + "Traces":{ + "shape":"TraceList", + "documentation":"

    Full traces for the specified requests.

    " + }, + "UnprocessedTraceIds":{ + "shape":"UnprocessedTraceIdList", + "documentation":"

    Trace IDs of requests that haven't been processed.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "Boolean":{"type":"boolean"}, + "BorrowCount":{ + "type":"integer", + "min":0 + }, + "ClientID":{ + "type":"string", + "max":24, + "min":24 + }, + "CreateGroupRequest":{ + "type":"structure", + "required":["GroupName"], + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The case-sensitive name of the new group. Default is a reserved name and names must be unique.

    " + }, + "FilterExpression":{ + "shape":"FilterExpression", + "documentation":"

    The filter expression defining criteria by which to group traces.

    " + } + } + }, + "CreateGroupResult":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The group that was created. Contains the name of the group that was created, the ARN of the group that was generated based on the group name, and the filter expression that was assigned to the group.

    " + } + } + }, + "CreateSamplingRuleRequest":{ + "type":"structure", + "required":["SamplingRule"], + "members":{ + "SamplingRule":{ + "shape":"SamplingRule", + "documentation":"

    The rule definition.

    " + } + } + }, + "CreateSamplingRuleResult":{ + "type":"structure", + "members":{ + "SamplingRuleRecord":{ + "shape":"SamplingRuleRecord", + "documentation":"

    The saved rule definition and metadata.

    " + } + } + }, + "DeleteGroupRequest":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The case-sensitive name of the group.

    " + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

    The ARN of the group that was generated on creation.

    " + } + } + }, + "DeleteGroupResult":{ + "type":"structure", + "members":{ + } + }, + "DeleteSamplingRuleRequest":{ + "type":"structure", + "members":{ + "RuleName":{ + "shape":"String", + "documentation":"

    The name of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + }, + "RuleARN":{ + "shape":"String", + "documentation":"

    The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + } + } + }, + "DeleteSamplingRuleResult":{ + "type":"structure", + "members":{ + "SamplingRuleRecord":{ + "shape":"SamplingRuleRecord", + "documentation":"

    The deleted rule definition and metadata.

    " + } + } + }, + "Double":{"type":"double"}, + "EC2InstanceId":{ + "type":"string", + "max":20 + }, + "Edge":{ + "type":"structure", + "members":{ + "ReferenceId":{ + "shape":"NullableInteger", + "documentation":"

    Identifier of the edge. Unique within a service map.

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the first segment on the edge.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end time of the last segment on the edge.

    " + }, + "SummaryStatistics":{ + "shape":"EdgeStatistics", + "documentation":"

    Response statistics for segments on the edge.

    " + }, + "ResponseTimeHistogram":{ + "shape":"Histogram", + "documentation":"

    A histogram that maps the spread of client response times on an edge.

    " + }, + "Aliases":{ + "shape":"AliasList", + "documentation":"

    Aliases for the edge.

    " + } + }, + "documentation":"

    Information about a connection between two services.

    " + }, + "EdgeList":{ + "type":"list", + "member":{"shape":"Edge"} + }, + "EdgeStatistics":{ + "type":"structure", + "members":{ + "OkCount":{ + "shape":"NullableLong", + "documentation":"

    The number of requests that completed with a 2xx Success status code.

    " + }, + "ErrorStatistics":{ + "shape":"ErrorStatistics", + "documentation":"

    Information about requests that failed with a 4xx Client Error status code.

    " + }, + "FaultStatistics":{ + "shape":"FaultStatistics", + "documentation":"

    Information about requests that failed with a 5xx Server Error status code.

    " + }, + "TotalCount":{ + "shape":"NullableLong", + "documentation":"

    The total number of completed requests.

    " + }, + "TotalResponseTime":{ + "shape":"NullableDouble", + "documentation":"

    The aggregate response time of completed requests.

    " + } + }, + "documentation":"

    Response statistics for an edge.

    " + }, + "EncryptionConfig":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"String", + "documentation":"

    The ID of the customer master key (CMK) used for encryption, if applicable.

    " + }, + "Status":{ + "shape":"EncryptionStatus", + "documentation":"

    The encryption status. While the status is UPDATING, X-Ray may encrypt data with a combination of the new and old settings.

    " + }, + "Type":{ + "shape":"EncryptionType", + "documentation":"

    The type of encryption. Set to KMS for encryption with CMKs. Set to NONE for default encryption.

    " + } + }, + "documentation":"

    A configuration document that specifies encryption configuration settings.

    " + }, + "EncryptionKeyId":{ + "type":"string", + "max":3000, + "min":1 + }, + "EncryptionStatus":{ + "type":"string", + "enum":[ + "UPDATING", + "ACTIVE" + ] + }, + "EncryptionType":{ + "type":"string", + "enum":[ + "NONE", + "KMS" + ] + }, + "EntitySelectorExpression":{ + "type":"string", + "max":500, + "min":1 + }, + "ErrorMessage":{"type":"string"}, + "ErrorRootCause":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"ErrorRootCauseServices", + "documentation":"

    A list of services corresponding to an error. A service identifies a segment and it contains a name, account ID, type, and inferred flag.

    " + }, + "ClientImpacting":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes that the root cause impacts the trace client.

    " + } + }, + "documentation":"

    The root cause of a trace summary error.

    " + }, + "ErrorRootCauseEntity":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the entity.

    " + }, + "Exceptions":{ + "shape":"RootCauseExceptions", + "documentation":"

    The types and messages of the exceptions.

    " + }, + "Remote":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes a remote subsegment.

    " + } + }, + "documentation":"

    A collection of segments and corresponding subsegments associated to a trace summary error.

    " + }, + "ErrorRootCauseEntityPath":{ + "type":"list", + "member":{"shape":"ErrorRootCauseEntity"} + }, + "ErrorRootCauseService":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The service name.

    " + }, + "Names":{ + "shape":"ServiceNames", + "documentation":"

    A collection of associated service names.

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    The type associated to the service.

    " + }, + "AccountId":{ + "shape":"String", + "documentation":"

    The account ID associated to the service.

    " + }, + "EntityPath":{ + "shape":"ErrorRootCauseEntityPath", + "documentation":"

    The path of root cause entities found on the service.

    " + }, + "Inferred":{ + "shape":"NullableBoolean", + "documentation":"

    A Boolean value indicating if the service is inferred from the trace.

    " + } + }, + "documentation":"

    A collection of fields identifying the services in a trace summary error.

    " + }, + "ErrorRootCauseServices":{ + "type":"list", + "member":{"shape":"ErrorRootCauseService"} + }, + "ErrorRootCauses":{ + "type":"list", + "member":{"shape":"ErrorRootCause"} + }, + "ErrorStatistics":{ + "type":"structure", + "members":{ + "ThrottleCount":{ + "shape":"NullableLong", + "documentation":"

    The number of requests that failed with a 419 throttling status code.

    " + }, + "OtherCount":{ + "shape":"NullableLong", + "documentation":"

    The number of requests that failed with untracked 4xx Client Error status codes.

    " + }, + "TotalCount":{ + "shape":"NullableLong", + "documentation":"

    The total number of requests that failed with a 4xx Client Error status code.

    " + } + }, + "documentation":"

    Information about requests that failed with a 4xx Client Error status code.

    " + }, + "FaultRootCause":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"FaultRootCauseServices", + "documentation":"

    A list of corresponding services. A service identifies a segment and it contains a name, account ID, type, and inferred flag.

    " + }, + "ClientImpacting":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes that the root cause impacts the trace client.

    " + } + }, + "documentation":"

    The root cause information for a trace summary fault.

    " + }, + "FaultRootCauseEntity":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the entity.

    " + }, + "Exceptions":{ + "shape":"RootCauseExceptions", + "documentation":"

    The types and messages of the exceptions.

    " + }, + "Remote":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes a remote subsegment.

    " + } + }, + "documentation":"

    A collection of segments and corresponding subsegments associated to a trace summary fault error.

    " + }, + "FaultRootCauseEntityPath":{ + "type":"list", + "member":{"shape":"FaultRootCauseEntity"} + }, + "FaultRootCauseService":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The service name.

    " + }, + "Names":{ + "shape":"ServiceNames", + "documentation":"

    A collection of associated service names.

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    The type associated to the service.

    " + }, + "AccountId":{ + "shape":"String", + "documentation":"

    The account ID associated to the service.

    " + }, + "EntityPath":{ + "shape":"FaultRootCauseEntityPath", + "documentation":"

    The path of root cause entities found on the service.

    " + }, + "Inferred":{ + "shape":"NullableBoolean", + "documentation":"

    A Boolean value indicating if the service is inferred from the trace.

    " + } + }, + "documentation":"

    A collection of fields identifying the services in a trace summary fault.

    " + }, + "FaultRootCauseServices":{ + "type":"list", + "member":{"shape":"FaultRootCauseService"} + }, + "FaultRootCauses":{ + "type":"list", + "member":{"shape":"FaultRootCause"} + }, + "FaultStatistics":{ + "type":"structure", + "members":{ + "OtherCount":{ + "shape":"NullableLong", + "documentation":"

    The number of requests that failed with untracked 5xx Server Error status codes.

    " + }, + "TotalCount":{ + "shape":"NullableLong", + "documentation":"

    The total number of requests that failed with a 5xx Server Error status code.

    " + } + }, + "documentation":"

    Information about requests that failed with a 5xx Server Error status code.

    " + }, + "FilterExpression":{"type":"string"}, + "FixedRate":{ + "type":"double", + "max":1, + "min":0 + }, + "GetEncryptionConfigRequest":{ + "type":"structure", + "members":{ + } + }, + "GetEncryptionConfigResult":{ + "type":"structure", + "members":{ + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

    The encryption configuration document.

    " + } + } + }, + "GetGroupRequest":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The case-sensitive name of the group.

    " + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

    The ARN of the group that was generated on creation.

    " + } + } + }, + "GetGroupResult":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The group that was requested. Contains the name of the group, the ARN of the group, and the filter expression that assigned to the group.

    " + } + } + }, + "GetGroupsNextToken":{ + "type":"string", + "max":100, + "min":1 + }, + "GetGroupsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"GetGroupsNextToken", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetGroupsResult":{ + "type":"structure", + "members":{ + "Groups":{ + "shape":"GroupSummaryList", + "documentation":"

    The collection of all active groups.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetSamplingRulesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetSamplingRulesResult":{ + "type":"structure", + "members":{ + "SamplingRuleRecords":{ + "shape":"SamplingRuleRecordList", + "documentation":"

    Rule definitions and metadata.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetSamplingStatisticSummariesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetSamplingStatisticSummariesResult":{ + "type":"structure", + "members":{ + "SamplingStatisticSummaries":{ + "shape":"SamplingStatisticSummaryList", + "documentation":"

    Information about the number of requests instrumented for each sampling rule.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetSamplingTargetsRequest":{ + "type":"structure", + "required":["SamplingStatisticsDocuments"], + "members":{ + "SamplingStatisticsDocuments":{ + "shape":"SamplingStatisticsDocumentList", + "documentation":"

    Information about rules that the service is using to sample requests.

    " + } + } + }, + "GetSamplingTargetsResult":{ + "type":"structure", + "members":{ + "SamplingTargetDocuments":{ + "shape":"SamplingTargetDocumentList", + "documentation":"

    Updated rules that the service should use to sample requests.

    " + }, + "LastRuleModification":{ + "shape":"Timestamp", + "documentation":"

    The last time a user changed the sampling rule configuration. If the sampling rule configuration changed since the service last retrieved it, the service should call GetSamplingRules to get the latest version.

    " + }, + "UnprocessedStatistics":{ + "shape":"UnprocessedStatisticsList", + "documentation":"

    Information about SamplingStatisticsDocument that X-Ray could not process.

    " + } + } + }, + "GetServiceGraphRequest":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start of the time frame for which to generate a graph.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the timeframe for which to generate a graph.

    " + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The name of a group to generate a graph based on.

    " + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

    The ARN of a group to generate a graph based on.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetServiceGraphResult":{ + "type":"structure", + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start of the time frame for which the graph was generated.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the time frame for which the graph was generated.

    " + }, + "Services":{ + "shape":"ServiceList", + "documentation":"

    The services that have processed a traced request during the specified time frame.

    " + }, + "ContainsOldGroupVersions":{ + "shape":"Boolean", + "documentation":"

    A flag indicating whether the group's filter expression has been consistent, or if the returned service graph may show traces from an older version of the group's filter expression.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetTimeSeriesServiceStatisticsRequest":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start of the time frame for which to aggregate statistics.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the time frame for which to aggregate statistics.

    " + }, + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The case-sensitive name of the group for which to pull statistics from.

    " + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

    The ARN of the group for which to pull statistics from.

    " + }, + "EntitySelectorExpression":{ + "shape":"EntitySelectorExpression", + "documentation":"

    A filter expression defining entities that will be aggregated for statistics. Supports ID, service, and edge functions. If no selector expression is specified, edge statistics are returned.

    " + }, + "Period":{ + "shape":"NullableInteger", + "documentation":"

    Aggregation period in seconds.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetTimeSeriesServiceStatisticsResult":{ + "type":"structure", + "members":{ + "TimeSeriesServiceStatistics":{ + "shape":"TimeSeriesServiceStatisticsList", + "documentation":"

    The collection of statistics.

    " + }, + "ContainsOldGroupVersions":{ + "shape":"Boolean", + "documentation":"

    A flag indicating whether or not a group's filter expression has been consistent, or if a returned aggregation may show statistics from an older version of the group's filter expression.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetTraceGraphRequest":{ + "type":"structure", + "required":["TraceIds"], + "members":{ + "TraceIds":{ + "shape":"TraceIdList", + "documentation":"

    Trace IDs of requests for which to generate a service graph.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetTraceGraphResult":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"ServiceList", + "documentation":"

    The services that have processed one of the specified requests.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Pagination token.

    " + } + } + }, + "GetTraceSummariesRequest":{ + "type":"structure", + "required":[ + "StartTime", + "EndTime" + ], + "members":{ + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start of the time frame for which to retrieve traces.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end of the time frame for which to retrieve traces.

    " + }, + "TimeRangeType":{ + "shape":"TimeRangeType", + "documentation":"

    A parameter to indicate whether to query trace summaries by TraceId or Event time.

    " + }, + "Sampling":{ + "shape":"NullableBoolean", + "documentation":"

    Set to true to get summaries for only a subset of available traces.

    " + }, + "SamplingStrategy":{ + "shape":"SamplingStrategy", + "documentation":"

    A paramater to indicate whether to enable sampling on trace summaries. Input parameters are Name and Value.

    " + }, + "FilterExpression":{ + "shape":"FilterExpression", + "documentation":"

    Specify a filter expression to retrieve trace summaries for services or requests that meet certain requirements.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    Specify the pagination token returned by a previous request to retrieve the next page of results.

    " + } + } + }, + "GetTraceSummariesResult":{ + "type":"structure", + "members":{ + "TraceSummaries":{ + "shape":"TraceSummaryList", + "documentation":"

    Trace IDs and annotations for traces that were found in the specified time frame.

    " + }, + "ApproximateTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of this page of results.

    " + }, + "TracesProcessedCount":{ + "shape":"NullableLong", + "documentation":"

    The total number of traces processed, including traces that did not match the specified filter expression.

    " + }, + "NextToken":{ + "shape":"String", + "documentation":"

    If the requested time frame contained more than one page of results, you can use this token to retrieve the next page. The first page contains the most most recent results, closest to the end of the time frame.

    " + } + } + }, + "Group":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

    The unique case-sensitive name of the group.

    " + }, + "GroupARN":{ + "shape":"String", + "documentation":"

    The ARN of the group generated based on the GroupName.

    " + }, + "FilterExpression":{ + "shape":"String", + "documentation":"

    The filter expression defining the parameters to include traces.

    " + } + }, + "documentation":"

    Details and metadata for a group.

    " + }, + "GroupARN":{ + "type":"string", + "max":400, + "min":1 + }, + "GroupName":{ + "type":"string", + "max":32, + "min":1 + }, + "GroupSummary":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"String", + "documentation":"

    The unique case-sensitive name of the group.

    " + }, + "GroupARN":{ + "shape":"String", + "documentation":"

    The ARN of the group generated based on the GroupName.

    " + }, + "FilterExpression":{ + "shape":"String", + "documentation":"

    The filter expression defining the parameters to include traces.

    " + } + }, + "documentation":"

    Details for a group without metadata.

    " + }, + "GroupSummaryList":{ + "type":"list", + "member":{"shape":"GroupSummary"} + }, + "HTTPMethod":{ + "type":"string", + "max":10 + }, + "Histogram":{ + "type":"list", + "member":{"shape":"HistogramEntry"} + }, + "HistogramEntry":{ + "type":"structure", + "members":{ + "Value":{ + "shape":"Double", + "documentation":"

    The value of the entry.

    " + }, + "Count":{ + "shape":"Integer", + "documentation":"

    The prevalence of the entry.

    " + } + }, + "documentation":"

    An entry in a histogram for a statistic. A histogram maps the range of observed values on the X axis, and the prevalence of each value on the Y axis.

    " + }, + "Host":{ + "type":"string", + "max":64 + }, + "Hostname":{ + "type":"string", + "max":255 + }, + "Http":{ + "type":"structure", + "members":{ + "HttpURL":{ + "shape":"String", + "documentation":"

    The request URL.

    " + }, + "HttpStatus":{ + "shape":"NullableInteger", + "documentation":"

    The response status.

    " + }, + "HttpMethod":{ + "shape":"String", + "documentation":"

    The request method.

    " + }, + "UserAgent":{ + "shape":"String", + "documentation":"

    The request's user agent string.

    " + }, + "ClientIp":{ + "shape":"String", + "documentation":"

    The IP address of the requestor.

    " + } + }, + "documentation":"

    Information about an HTTP request.

    " + }, + "InstanceIdDetail":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"String", + "documentation":"

    The ID of a corresponding EC2 instance.

    " + } + }, + "documentation":"

    A list of EC2 instance IDs corresponding to the segments in a trace.

    " + }, + "Integer":{"type":"integer"}, + "InvalidRequestException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request is missing required parameters or has invalid parameters.

    ", + "exception":true + }, + "NullableBoolean":{"type":"boolean"}, + "NullableDouble":{"type":"double"}, + "NullableInteger":{"type":"integer"}, + "NullableLong":{"type":"long"}, + "Priority":{ + "type":"integer", + "max":9999, + "min":1 + }, + "PutEncryptionConfigRequest":{ + "type":"structure", + "required":["Type"], + "members":{ + "KeyId":{ + "shape":"EncryptionKeyId", + "documentation":"

    An AWS KMS customer master key (CMK) in one of the following formats:

    • Alias - The name of the key. For example, alias/MyKey.

    • Key ID - The KMS key ID of the key. For example, ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. AWS X-Ray does not support asymmetric CMKs.

    • ARN - The full Amazon Resource Name of the key ID or alias. For example, arn:aws:kms:us-east-2:123456789012:key/ae4aa6d49-a4d8-9df9-a475-4ff6d7898456. Use this format to specify a key in a different account.

    Omit this key if you set Type to NONE.

    " + }, + "Type":{ + "shape":"EncryptionType", + "documentation":"

    The type of encryption. Set to KMS to use your own key for encryption. Set to NONE for default encryption.

    " + } + } + }, + "PutEncryptionConfigResult":{ + "type":"structure", + "members":{ + "EncryptionConfig":{ + "shape":"EncryptionConfig", + "documentation":"

    The new encryption configuration.

    " + } + } + }, + "PutTelemetryRecordsRequest":{ + "type":"structure", + "required":["TelemetryRecords"], + "members":{ + "TelemetryRecords":{ + "shape":"TelemetryRecordList", + "documentation":"

    " + }, + "EC2InstanceId":{ + "shape":"EC2InstanceId", + "documentation":"

    " + }, + "Hostname":{ + "shape":"Hostname", + "documentation":"

    " + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

    " + } + } + }, + "PutTelemetryRecordsResult":{ + "type":"structure", + "members":{ + } + }, + "PutTraceSegmentsRequest":{ + "type":"structure", + "required":["TraceSegmentDocuments"], + "members":{ + "TraceSegmentDocuments":{ + "shape":"TraceSegmentDocumentList", + "documentation":"

    A string containing a JSON document defining one or more segments or subsegments.

    " + } + } + }, + "PutTraceSegmentsResult":{ + "type":"structure", + "members":{ + "UnprocessedTraceSegments":{ + "shape":"UnprocessedTraceSegmentList", + "documentation":"

    Segments that failed processing.

    " + } + } + }, + "RequestCount":{ + "type":"integer", + "min":0 + }, + "ReservoirSize":{ + "type":"integer", + "min":0 + }, + "ResourceARN":{ + "type":"string", + "max":500 + }, + "ResourceARNDetail":{ + "type":"structure", + "members":{ + "ARN":{ + "shape":"String", + "documentation":"

    The ARN of a corresponding resource.

    " + } + }, + "documentation":"

    A list of resources ARNs corresponding to the segments in a trace.

    " + }, + "ResponseTimeRootCause":{ + "type":"structure", + "members":{ + "Services":{ + "shape":"ResponseTimeRootCauseServices", + "documentation":"

    A list of corresponding services. A service identifies a segment and contains a name, account ID, type, and inferred flag.

    " + }, + "ClientImpacting":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes that the root cause impacts the trace client.

    " + } + }, + "documentation":"

    The root cause information for a response time warning.

    " + }, + "ResponseTimeRootCauseEntity":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the entity.

    " + }, + "Coverage":{ + "shape":"NullableDouble", + "documentation":"

    The types and messages of the exceptions.

    " + }, + "Remote":{ + "shape":"NullableBoolean", + "documentation":"

    A flag that denotes a remote subsegment.

    " + } + }, + "documentation":"

    A collection of segments and corresponding subsegments associated to a response time warning.

    " + }, + "ResponseTimeRootCauseEntityPath":{ + "type":"list", + "member":{"shape":"ResponseTimeRootCauseEntity"} + }, + "ResponseTimeRootCauseService":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The service name.

    " + }, + "Names":{ + "shape":"ServiceNames", + "documentation":"

    A collection of associated service names.

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    The type associated to the service.

    " + }, + "AccountId":{ + "shape":"String", + "documentation":"

    The account ID associated to the service.

    " + }, + "EntityPath":{ + "shape":"ResponseTimeRootCauseEntityPath", + "documentation":"

    The path of root cause entities found on the service.

    " + }, + "Inferred":{ + "shape":"NullableBoolean", + "documentation":"

    A Boolean value indicating if the service is inferred from the trace.

    " + } + }, + "documentation":"

    A collection of fields identifying the service in a response time warning.

    " + }, + "ResponseTimeRootCauseServices":{ + "type":"list", + "member":{"shape":"ResponseTimeRootCauseService"} + }, + "ResponseTimeRootCauses":{ + "type":"list", + "member":{"shape":"ResponseTimeRootCause"} + }, + "RootCauseException":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the exception.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    The message of the exception.

    " + } + }, + "documentation":"

    The exception associated with a root cause.

    " + }, + "RootCauseExceptions":{ + "type":"list", + "member":{"shape":"RootCauseException"} + }, + "RuleLimitExceededException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    You have reached the maximum number of sampling rules.

    ", + "exception":true + }, + "RuleName":{ + "type":"string", + "max":32, + "min":1 + }, + "SampledCount":{ + "type":"integer", + "min":0 + }, + "SamplingRule":{ + "type":"structure", + "required":[ + "ResourceARN", + "Priority", + "FixedRate", + "ReservoirSize", + "ServiceName", + "ServiceType", + "Host", + "HTTPMethod", + "URLPath", + "Version" + ], + "members":{ + "RuleName":{ + "shape":"RuleName", + "documentation":"

    The name of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + }, + "RuleARN":{ + "shape":"String", + "documentation":"

    The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

    Matches the ARN of the AWS resource on which the service runs.

    " + }, + "Priority":{ + "shape":"Priority", + "documentation":"

    The priority of the sampling rule.

    " + }, + "FixedRate":{ + "shape":"FixedRate", + "documentation":"

    The percentage of matching requests to instrument, after the reservoir is exhausted.

    " + }, + "ReservoirSize":{ + "shape":"ReservoirSize", + "documentation":"

    A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    Matches the name that the service uses to identify itself in segments.

    " + }, + "ServiceType":{ + "shape":"ServiceType", + "documentation":"

    Matches the origin that the service uses to identify its type in segments.

    " + }, + "Host":{ + "shape":"Host", + "documentation":"

    Matches the hostname from a request URL.

    " + }, + "HTTPMethod":{ + "shape":"HTTPMethod", + "documentation":"

    Matches the HTTP method of a request.

    " + }, + "URLPath":{ + "shape":"URLPath", + "documentation":"

    Matches the path from a request URL.

    " + }, + "Version":{ + "shape":"Version", + "documentation":"

    The version of the sampling rule format (1).

    " + }, + "Attributes":{ + "shape":"AttributeMap", + "documentation":"

    Matches attributes derived from the request.

    " + } + }, + "documentation":"

    A sampling rule that services use to decide whether to instrument a request. Rule fields can match properties of the service, or properties of a request. The service can ignore rules that don't match its properties.

    " + }, + "SamplingRuleRecord":{ + "type":"structure", + "members":{ + "SamplingRule":{ + "shape":"SamplingRule", + "documentation":"

    The sampling rule.

    " + }, + "CreatedAt":{ + "shape":"Timestamp", + "documentation":"

    When the rule was created.

    " + }, + "ModifiedAt":{ + "shape":"Timestamp", + "documentation":"

    When the rule was last modified.

    " + } + }, + "documentation":"

    A SamplingRule and its metadata.

    " + }, + "SamplingRuleRecordList":{ + "type":"list", + "member":{"shape":"SamplingRuleRecord"} + }, + "SamplingRuleUpdate":{ + "type":"structure", + "members":{ + "RuleName":{ + "shape":"RuleName", + "documentation":"

    The name of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + }, + "RuleARN":{ + "shape":"String", + "documentation":"

    The ARN of the sampling rule. Specify a rule by either name or ARN, but not both.

    " + }, + "ResourceARN":{ + "shape":"ResourceARN", + "documentation":"

    Matches the ARN of the AWS resource on which the service runs.

    " + }, + "Priority":{ + "shape":"NullableInteger", + "documentation":"

    The priority of the sampling rule.

    " + }, + "FixedRate":{ + "shape":"NullableDouble", + "documentation":"

    The percentage of matching requests to instrument, after the reservoir is exhausted.

    " + }, + "ReservoirSize":{ + "shape":"NullableInteger", + "documentation":"

    A fixed number of matching requests to instrument per second, prior to applying the fixed rate. The reservoir is not used directly by services, but applies to all services using the rule collectively.

    " + }, + "Host":{ + "shape":"Host", + "documentation":"

    Matches the hostname from a request URL.

    " + }, + "ServiceName":{ + "shape":"ServiceName", + "documentation":"

    Matches the name that the service uses to identify itself in segments.

    " + }, + "ServiceType":{ + "shape":"ServiceType", + "documentation":"

    Matches the origin that the service uses to identify its type in segments.

    " + }, + "HTTPMethod":{ + "shape":"HTTPMethod", + "documentation":"

    Matches the HTTP method of a request.

    " + }, + "URLPath":{ + "shape":"URLPath", + "documentation":"

    Matches the path from a request URL.

    " + }, + "Attributes":{ + "shape":"AttributeMap", + "documentation":"

    Matches attributes derived from the request.

    " + } + }, + "documentation":"

    A document specifying changes to a sampling rule's configuration.

    " + }, + "SamplingStatisticSummary":{ + "type":"structure", + "members":{ + "RuleName":{ + "shape":"String", + "documentation":"

    The name of the sampling rule.

    " + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The start time of the reporting window.

    " + }, + "RequestCount":{ + "shape":"Integer", + "documentation":"

    The number of requests that matched the rule.

    " + }, + "BorrowCount":{ + "shape":"Integer", + "documentation":"

    The number of requests recorded with borrowed reservoir quota.

    " + }, + "SampledCount":{ + "shape":"Integer", + "documentation":"

    The number of requests recorded.

    " + } + }, + "documentation":"

    Aggregated request sampling data for a sampling rule across all services for a 10 second window.

    " + }, + "SamplingStatisticSummaryList":{ + "type":"list", + "member":{"shape":"SamplingStatisticSummary"} + }, + "SamplingStatisticsDocument":{ + "type":"structure", + "required":[ + "RuleName", + "ClientID", + "Timestamp", + "RequestCount", + "SampledCount" + ], + "members":{ + "RuleName":{ + "shape":"RuleName", + "documentation":"

    The name of the sampling rule.

    " + }, + "ClientID":{ + "shape":"ClientID", + "documentation":"

    A unique identifier for the service in hexadecimal.

    " + }, + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    The current time.

    " + }, + "RequestCount":{ + "shape":"RequestCount", + "documentation":"

    The number of requests that matched the rule.

    " + }, + "SampledCount":{ + "shape":"SampledCount", + "documentation":"

    The number of requests recorded.

    " + }, + "BorrowCount":{ + "shape":"BorrowCount", + "documentation":"

    The number of requests recorded with borrowed reservoir quota.

    " + } + }, + "documentation":"

    Request sampling results for a single rule from a service. Results are for the last 10 seconds unless the service has been assigned a longer reporting interval after a previous call to GetSamplingTargets.

    " + }, + "SamplingStatisticsDocumentList":{ + "type":"list", + "member":{"shape":"SamplingStatisticsDocument"}, + "max":25 + }, + "SamplingStrategy":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"SamplingStrategyName", + "documentation":"

    The name of a sampling rule.

    " + }, + "Value":{ + "shape":"NullableDouble", + "documentation":"

    The value of a sampling rule.

    " + } + }, + "documentation":"

    The name and value of a sampling rule to apply to a trace summary.

    " + }, + "SamplingStrategyName":{ + "type":"string", + "enum":[ + "PartialScan", + "FixedRate" + ] + }, + "SamplingTargetDocument":{ + "type":"structure", + "members":{ + "RuleName":{ + "shape":"String", + "documentation":"

    The name of the sampling rule.

    " + }, + "FixedRate":{ + "shape":"Double", + "documentation":"

    The percentage of matching requests to instrument, after the reservoir is exhausted.

    " + }, + "ReservoirQuota":{ + "shape":"NullableInteger", + "documentation":"

    The number of requests per second that X-Ray allocated this service.

    " + }, + "ReservoirQuotaTTL":{ + "shape":"Timestamp", + "documentation":"

    When the reservoir quota expires.

    " + }, + "Interval":{ + "shape":"NullableInteger", + "documentation":"

    The number of seconds for the service to wait before getting sampling targets again.

    " + } + }, + "documentation":"

    Temporary changes to a sampling rule configuration. To meet the global sampling target for a rule, X-Ray calculates a new reservoir for each service based on the recent sampling results of all services that called GetSamplingTargets.

    " + }, + "SamplingTargetDocumentList":{ + "type":"list", + "member":{"shape":"SamplingTargetDocument"} + }, + "Segment":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"SegmentId", + "documentation":"

    The segment's ID.

    " + }, + "Document":{ + "shape":"SegmentDocument", + "documentation":"

    The segment document.

    " + } + }, + "documentation":"

    A segment from a trace that has been ingested by the X-Ray service. The segment can be compiled from documents uploaded with PutTraceSegments, or an inferred segment for a downstream service, generated from a subsegment sent by the service that called it.

    For the full segment document schema, see AWS X-Ray Segment Documents in the AWS X-Ray Developer Guide.

    " + }, + "SegmentDocument":{ + "type":"string", + "min":1 + }, + "SegmentId":{"type":"string"}, + "SegmentList":{ + "type":"list", + "member":{"shape":"Segment"} + }, + "Service":{ + "type":"structure", + "members":{ + "ReferenceId":{ + "shape":"NullableInteger", + "documentation":"

    Identifier for the service. Unique within the service map.

    " + }, + "Name":{ + "shape":"String", + "documentation":"

    The canonical name of the service.

    " + }, + "Names":{ + "shape":"ServiceNames", + "documentation":"

    A list of names for the service, including the canonical name.

    " + }, + "Root":{ + "shape":"NullableBoolean", + "documentation":"

    Indicates that the service was the first service to process a request.

    " + }, + "AccountId":{ + "shape":"String", + "documentation":"

    Identifier of the AWS account in which the service runs.

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    The type of service.

    • AWS Resource - The type of an AWS resource. For example, AWS::EC2::Instance for a application running on Amazon EC2 or AWS::DynamoDB::Table for an Amazon DynamoDB table that the application used.

    • AWS Service - The type of an AWS service. For example, AWS::DynamoDB for downstream calls to Amazon DynamoDB that didn't target a specific table.

    • client - Represents the clients that sent requests to a root service.

    • remote - A downstream service of indeterminate type.

    " + }, + "State":{ + "shape":"String", + "documentation":"

    The service's state.

    " + }, + "StartTime":{ + "shape":"Timestamp", + "documentation":"

    The start time of the first segment that the service generated.

    " + }, + "EndTime":{ + "shape":"Timestamp", + "documentation":"

    The end time of the last segment that the service generated.

    " + }, + "Edges":{ + "shape":"EdgeList", + "documentation":"

    Connections to downstream services.

    " + }, + "SummaryStatistics":{ + "shape":"ServiceStatistics", + "documentation":"

    Aggregated statistics for the service.

    " + }, + "DurationHistogram":{ + "shape":"Histogram", + "documentation":"

    A histogram that maps the spread of service durations.

    " + }, + "ResponseTimeHistogram":{ + "shape":"Histogram", + "documentation":"

    A histogram that maps the spread of service response times.

    " + } + }, + "documentation":"

    Information about an application that processed requests, users that made requests, or downstream services, resources and applications that an application used.

    " + }, + "ServiceId":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    " + }, + "Names":{ + "shape":"ServiceNames", + "documentation":"

    " + }, + "AccountId":{ + "shape":"String", + "documentation":"

    " + }, + "Type":{ + "shape":"String", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "ServiceIds":{ + "type":"list", + "member":{"shape":"ServiceId"} + }, + "ServiceList":{ + "type":"list", + "member":{"shape":"Service"} + }, + "ServiceName":{ + "type":"string", + "max":64 + }, + "ServiceNames":{ + "type":"list", + "member":{"shape":"String"} + }, + "ServiceStatistics":{ + "type":"structure", + "members":{ + "OkCount":{ + "shape":"NullableLong", + "documentation":"

    The number of requests that completed with a 2xx Success status code.

    " + }, + "ErrorStatistics":{ + "shape":"ErrorStatistics", + "documentation":"

    Information about requests that failed with a 4xx Client Error status code.

    " + }, + "FaultStatistics":{ + "shape":"FaultStatistics", + "documentation":"

    Information about requests that failed with a 5xx Server Error status code.

    " + }, + "TotalCount":{ + "shape":"NullableLong", + "documentation":"

    The total number of completed requests.

    " + }, + "TotalResponseTime":{ + "shape":"NullableDouble", + "documentation":"

    The aggregate response time of completed requests.

    " + } + }, + "documentation":"

    Response statistics for a service.

    " + }, + "ServiceType":{ + "type":"string", + "max":64 + }, + "String":{"type":"string"}, + "TelemetryRecord":{ + "type":"structure", + "required":["Timestamp"], + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    " + }, + "SegmentsReceivedCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "SegmentsSentCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "SegmentsSpilloverCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "SegmentsRejectedCount":{ + "shape":"NullableInteger", + "documentation":"

    " + }, + "BackendConnectionErrors":{ + "shape":"BackendConnectionErrors", + "documentation":"

    " + } + }, + "documentation":"

    " + }, + "TelemetryRecordList":{ + "type":"list", + "member":{"shape":"TelemetryRecord"} + }, + "ThrottledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "documentation":"

    The request exceeds the maximum number of requests per second.

    ", + "error":{"httpStatusCode":429}, + "exception":true + }, + "TimeRangeType":{ + "type":"string", + "enum":[ + "TraceId", + "Event" + ] + }, + "TimeSeriesServiceStatistics":{ + "type":"structure", + "members":{ + "Timestamp":{ + "shape":"Timestamp", + "documentation":"

    Timestamp of the window for which statistics are aggregated.

    " + }, + "EdgeSummaryStatistics":{"shape":"EdgeStatistics"}, + "ServiceSummaryStatistics":{"shape":"ServiceStatistics"}, + "ResponseTimeHistogram":{ + "shape":"Histogram", + "documentation":"

    The response time histogram for the selected entities.

    " + } + }, + "documentation":"

    A list of TimeSeriesStatistic structures.

    " + }, + "TimeSeriesServiceStatisticsList":{ + "type":"list", + "member":{"shape":"TimeSeriesServiceStatistics"} + }, + "Timestamp":{"type":"timestamp"}, + "Trace":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"TraceId", + "documentation":"

    The unique identifier for the request that generated the trace's segments and subsegments.

    " + }, + "Duration":{ + "shape":"NullableDouble", + "documentation":"

    The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.

    " + }, + "Segments":{ + "shape":"SegmentList", + "documentation":"

    Segment documents for the segments and subsegments that comprise the trace.

    " + } + }, + "documentation":"

    A collection of segment documents with matching trace IDs.

    " + }, + "TraceAvailabilityZones":{ + "type":"list", + "member":{"shape":"AvailabilityZoneDetail"} + }, + "TraceId":{ + "type":"string", + "max":35, + "min":1 + }, + "TraceIdList":{ + "type":"list", + "member":{"shape":"TraceId"} + }, + "TraceInstanceIds":{ + "type":"list", + "member":{"shape":"InstanceIdDetail"} + }, + "TraceList":{ + "type":"list", + "member":{"shape":"Trace"} + }, + "TraceResourceARNs":{ + "type":"list", + "member":{"shape":"ResourceARNDetail"} + }, + "TraceSegmentDocument":{"type":"string"}, + "TraceSegmentDocumentList":{ + "type":"list", + "member":{"shape":"TraceSegmentDocument"} + }, + "TraceSummary":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"TraceId", + "documentation":"

    The unique identifier for the request that generated the trace's segments and subsegments.

    " + }, + "Duration":{ + "shape":"NullableDouble", + "documentation":"

    The length of time in seconds between the start time of the root segment and the end time of the last segment that completed.

    " + }, + "ResponseTime":{ + "shape":"NullableDouble", + "documentation":"

    The length of time in seconds between the start and end times of the root segment. If the service performs work asynchronously, the response time measures the time before the response is sent to the user, while the duration measures the amount of time before the last traced activity completes.

    " + }, + "HasFault":{ + "shape":"NullableBoolean", + "documentation":"

    The root segment document has a 500 series error.

    " + }, + "HasError":{ + "shape":"NullableBoolean", + "documentation":"

    The root segment document has a 400 series error.

    " + }, + "HasThrottle":{ + "shape":"NullableBoolean", + "documentation":"

    One or more of the segment documents has a 429 throttling error.

    " + }, + "IsPartial":{ + "shape":"NullableBoolean", + "documentation":"

    One or more of the segment documents is in progress.

    " + }, + "Http":{ + "shape":"Http", + "documentation":"

    Information about the HTTP request served by the trace.

    " + }, + "Annotations":{ + "shape":"Annotations", + "documentation":"

    Annotations from the trace's segment documents.

    " + }, + "Users":{ + "shape":"TraceUsers", + "documentation":"

    Users from the trace's segment documents.

    " + }, + "ServiceIds":{ + "shape":"ServiceIds", + "documentation":"

    Service IDs from the trace's segment documents.

    " + }, + "ResourceARNs":{ + "shape":"TraceResourceARNs", + "documentation":"

    A list of resource ARNs for any resource corresponding to the trace segments.

    " + }, + "InstanceIds":{ + "shape":"TraceInstanceIds", + "documentation":"

    A list of EC2 instance IDs for any instance corresponding to the trace segments.

    " + }, + "AvailabilityZones":{ + "shape":"TraceAvailabilityZones", + "documentation":"

    A list of availability zones for any zone corresponding to the trace segments.

    " + }, + "EntryPoint":{ + "shape":"ServiceId", + "documentation":"

    The root of a trace.

    " + }, + "FaultRootCauses":{ + "shape":"FaultRootCauses", + "documentation":"

    A collection of FaultRootCause structures corresponding to the the trace segments.

    " + }, + "ErrorRootCauses":{ + "shape":"ErrorRootCauses", + "documentation":"

    A collection of ErrorRootCause structures corresponding to the trace segments.

    " + }, + "ResponseTimeRootCauses":{ + "shape":"ResponseTimeRootCauses", + "documentation":"

    A collection of ResponseTimeRootCause structures corresponding to the trace segments.

    " + }, + "Revision":{ + "shape":"Integer", + "documentation":"

    The revision number of a trace.

    " + }, + "MatchedEventTime":{ + "shape":"Timestamp", + "documentation":"

    The matched time stamp of a defined event.

    " + } + }, + "documentation":"

    Metadata generated from the segment documents in a trace.

    " + }, + "TraceSummaryList":{ + "type":"list", + "member":{"shape":"TraceSummary"} + }, + "TraceUser":{ + "type":"structure", + "members":{ + "UserName":{ + "shape":"String", + "documentation":"

    The user's name.

    " + }, + "ServiceIds":{ + "shape":"ServiceIds", + "documentation":"

    Services that the user's request hit.

    " + } + }, + "documentation":"

    Information about a user recorded in segment documents.

    " + }, + "TraceUsers":{ + "type":"list", + "member":{"shape":"TraceUser"} + }, + "URLPath":{ + "type":"string", + "max":128 + }, + "UnprocessedStatistics":{ + "type":"structure", + "members":{ + "RuleName":{ + "shape":"String", + "documentation":"

    The name of the sampling rule.

    " + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

    The error code.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    The error message.

    " + } + }, + "documentation":"

    Sampling statistics from a call to GetSamplingTargets that X-Ray could not process.

    " + }, + "UnprocessedStatisticsList":{ + "type":"list", + "member":{"shape":"UnprocessedStatistics"} + }, + "UnprocessedTraceIdList":{ + "type":"list", + "member":{"shape":"TraceId"} + }, + "UnprocessedTraceSegment":{ + "type":"structure", + "members":{ + "Id":{ + "shape":"String", + "documentation":"

    The segment's ID.

    " + }, + "ErrorCode":{ + "shape":"String", + "documentation":"

    The error that caused processing to fail.

    " + }, + "Message":{ + "shape":"String", + "documentation":"

    The error message.

    " + } + }, + "documentation":"

    Information about a segment that failed processing.

    " + }, + "UnprocessedTraceSegmentList":{ + "type":"list", + "member":{"shape":"UnprocessedTraceSegment"} + }, + "UpdateGroupRequest":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"GroupName", + "documentation":"

    The case-sensitive name of the group.

    " + }, + "GroupARN":{ + "shape":"GroupARN", + "documentation":"

    The ARN that was generated upon creation.

    " + }, + "FilterExpression":{ + "shape":"FilterExpression", + "documentation":"

    The updated filter expression defining criteria by which to group traces.

    " + } + } + }, + "UpdateGroupResult":{ + "type":"structure", + "members":{ + "Group":{ + "shape":"Group", + "documentation":"

    The group that was updated. Contains the name of the group that was updated, the ARN of the group that was updated, and the updated filter expression assigned to the group.

    " + } + } + }, + "UpdateSamplingRuleRequest":{ + "type":"structure", + "required":["SamplingRuleUpdate"], + "members":{ + "SamplingRuleUpdate":{ + "shape":"SamplingRuleUpdate", + "documentation":"

    The rule and fields to change.

    " + } + } + }, + "UpdateSamplingRuleResult":{ + "type":"structure", + "members":{ + "SamplingRuleRecord":{ + "shape":"SamplingRuleRecord", + "documentation":"

    The updated rule definition and metadata.

    " + } + } + }, + "ValueWithServiceIds":{ + "type":"structure", + "members":{ + "AnnotationValue":{ + "shape":"AnnotationValue", + "documentation":"

    Values of the annotation.

    " + }, + "ServiceIds":{ + "shape":"ServiceIds", + "documentation":"

    Services to which the annotation applies.

    " + } + }, + "documentation":"

    Information about a segment annotation.

    " + }, + "ValuesWithServiceIds":{ + "type":"list", + "member":{"shape":"ValueWithServiceIds"} + }, + "Version":{ + "type":"integer", + "min":1 + } + }, + "documentation":"

    AWS X-Ray provides APIs for managing debug traces and retrieving service maps and other data created by processing those traces.

    " +} diff -Nru python-botocore-1.4.70/botocore/discovery.py python-botocore-1.16.19+repack/botocore/discovery.py --- python-botocore-1.4.70/botocore/discovery.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/discovery.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,258 @@ +# Copyright 2018 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. +import time +import logging +import weakref + +from botocore import xform_name +from botocore.exceptions import BotoCoreError, HTTPClientError, ConnectionError +from botocore.utils import CachedProperty + +logger = logging.getLogger(__name__) + + +class EndpointDiscoveryException(BotoCoreError): + pass + + +class EndpointDiscoveryRequired(EndpointDiscoveryException): + """ Endpoint Discovery is disabled but is required for this operation. """ + fmt = 'Endpoint Discovery is not enabled but this operation requires it.' + + +class EndpointDiscoveryRefreshFailed(EndpointDiscoveryException): + """ Endpoint Discovery failed to the refresh the known endpoints. """ + fmt = 'Endpoint Discovery failed to refresh the required endpoints.' + + +def block_endpoint_discovery_required_operations(model, **kwargs): + endpoint_discovery = model.endpoint_discovery + if endpoint_discovery and endpoint_discovery.get('required'): + raise EndpointDiscoveryRequired() + + +class EndpointDiscoveryModel(object): + def __init__(self, service_model): + self._service_model = service_model + + @CachedProperty + def discovery_operation_name(self): + discovery_operation = self._service_model.endpoint_discovery_operation + return xform_name(discovery_operation.name) + + @CachedProperty + def discovery_operation_keys(self): + discovery_operation = self._service_model.endpoint_discovery_operation + keys = [] + if discovery_operation.input_shape: + keys = list(discovery_operation.input_shape.members.keys()) + return keys + + def discovery_required_for(self, operation_name): + operation_model = self._service_model.operation_model(operation_name) + return operation_model.endpoint_discovery.get('required', False) + + def discovery_operation_kwargs(self, **kwargs): + input_keys = self.discovery_operation_keys + # Operation and Identifiers are only sent if there are Identifiers + if not kwargs.get('Identifiers'): + kwargs.pop('Operation', None) + kwargs.pop('Identifiers', None) + return dict((k, v) for k, v in kwargs.items() if k in input_keys) + + def gather_identifiers(self, operation, params): + return self._gather_ids(operation.input_shape, params) + + def _gather_ids(self, shape, params, ids=None): + # Traverse the input shape and corresponding parameters, gathering + # any input fields labeled as an endpoint discovery id + if ids is None: + ids = {} + for member_name, member_shape in shape.members.items(): + if member_shape.metadata.get('endpointdiscoveryid'): + ids[member_name] = params[member_name] + elif member_shape.type_name == 'structure': + self._gather_ids(member_shape, params[member_name], ids) + return ids + + +class EndpointDiscoveryManager(object): + def __init__(self, client, cache=None, current_time=None): + if cache is None: + cache = {} + self._cache = cache + self._failed_attempts = {} + if current_time is None: + current_time = time.time + self._time = current_time + + # This needs to be a weak ref in order to prevent memory leaks on + # python 2.6 + self._client = weakref.proxy(client) + self._model = EndpointDiscoveryModel(client.meta.service_model) + + def _parse_endpoints(self, response): + endpoints = response['Endpoints'] + current_time = self._time() + for endpoint in endpoints: + cache_time = endpoint.get('CachePeriodInMinutes') + endpoint['Expiration'] = current_time + cache_time * 60 + return endpoints + + def _cache_item(self, value): + if isinstance(value, dict): + return tuple(sorted(value.items())) + else: + return value + + def _create_cache_key(self, **kwargs): + kwargs = self._model.discovery_operation_kwargs(**kwargs) + return tuple(self._cache_item(v) for k, v in sorted(kwargs.items())) + + def gather_identifiers(self, operation, params): + return self._model.gather_identifiers(operation, params) + + def delete_endpoints(self, **kwargs): + cache_key = self._create_cache_key(**kwargs) + if cache_key in self._cache: + del self._cache[cache_key] + + def _describe_endpoints(self, **kwargs): + # This is effectively a proxy to whatever name/kwargs the service + # supports for endpoint discovery. + kwargs = self._model.discovery_operation_kwargs(**kwargs) + operation_name = self._model.discovery_operation_name + discovery_operation = getattr(self._client, operation_name) + logger.debug('Discovering endpoints with kwargs: %s', kwargs) + return discovery_operation(**kwargs) + + def _get_current_endpoints(self, key): + if key not in self._cache: + return None + now = self._time() + return [e for e in self._cache[key] if now < e['Expiration']] + + def _refresh_current_endpoints(self, **kwargs): + cache_key = self._create_cache_key(**kwargs) + try: + response = self._describe_endpoints(**kwargs) + endpoints = self._parse_endpoints(response) + self._cache[cache_key] = endpoints + self._failed_attempts.pop(cache_key, None) + return endpoints + except (ConnectionError, HTTPClientError): + self._failed_attempts[cache_key] = self._time() + 60 + return None + + def _recently_failed(self, cache_key): + if cache_key in self._failed_attempts: + now = self._time() + if now < self._failed_attempts[cache_key]: + return True + del self._failed_attempts[cache_key] + return False + + def _select_endpoint(self, endpoints): + return endpoints[0]['Address'] + + def describe_endpoint(self, **kwargs): + # Get the endpoint for the provided operation and identifiers + cache_key = self._create_cache_key(**kwargs) + endpoints = self._get_current_endpoints(cache_key) + if endpoints: + return self._select_endpoint(endpoints) + # All known endpoints are stale + recently_failed = self._recently_failed(cache_key) + if not recently_failed: + # We haven't failed to discover recently, go ahead and refresh + endpoints = self._refresh_current_endpoints(**kwargs) + if endpoints: + return self._select_endpoint(endpoints) + # Discovery has failed recently, do our best to get an endpoint + logger.debug('Endpoint Discovery has failed for: %s', kwargs) + stale_entries = self._cache.get(cache_key, None) + if stale_entries: + # We have stale entries, use those while discovery is failing + return self._select_endpoint(stale_entries) + if self._model.discovery_required_for(kwargs['Operation']): + # It looks strange to be checking recently_failed again but, + # this informs us as to whether or not we tried to refresh earlier + if recently_failed: + # Discovery is required and we haven't already refreshed + endpoints = self._refresh_current_endpoints(**kwargs) + if endpoints: + return self._select_endpoint(endpoints) + # No endpoints even refresh, raise hard error + raise EndpointDiscoveryRefreshFailed() + # Discovery is optional, just use the default endpoint for now + return None + + +class EndpointDiscoveryHandler(object): + def __init__(self, manager): + self._manager = manager + + def register(self, events, service_id): + events.register( + 'before-parameter-build.%s' % service_id, self.gather_identifiers + ) + events.register_first( + 'request-created.%s' % service_id, self.discover_endpoint + ) + events.register('needs-retry.%s' % service_id, self.handle_retries) + + def gather_identifiers(self, params, model, context, **kwargs): + endpoint_discovery = model.endpoint_discovery + # Only continue if the operation supports endpoint discovery + if endpoint_discovery is None: + return + ids = self._manager.gather_identifiers(model, params) + context['discovery'] = {'identifiers': ids} + + def discover_endpoint(self, request, operation_name, **kwargs): + ids = request.context.get('discovery', {}).get('identifiers') + if ids is None: + return + endpoint = self._manager.describe_endpoint( + Operation=operation_name, Identifiers=ids + ) + if endpoint is None: + logger.debug('Failed to discover and inject endpoint') + return + if not endpoint.startswith('http'): + endpoint = 'https://' + endpoint + logger.debug('Injecting discovered endpoint: %s', endpoint) + request.url = endpoint + + def handle_retries(self, request_dict, response, operation, **kwargs): + if response is None: + return None + + _, response = response + status = response.get('ResponseMetadata', {}).get('HTTPStatusCode') + error_code = response.get('Error', {}).get('Code') + if status != 421 and error_code != 'InvalidEndpointException': + return None + + context = request_dict.get('context', {}) + ids = context.get('discovery', {}).get('identifiers') + if ids is None: + return None + + # Delete the cached endpoints, forcing a refresh on retry + # TODO: Improve eviction behavior to only evict the bad endpoint if + # there are multiple. This will almost certainly require a lock. + self._manager.delete_endpoints( + Operation=operation.name, Identifiers=ids + ) + return 0 diff -Nru python-botocore-1.4.70/botocore/docs/bcdoc/style.py python-botocore-1.16.19+repack/botocore/docs/bcdoc/style.py --- python-botocore-1.4.70/botocore/docs/bcdoc/style.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/bcdoc/style.py 2020-05-28 19:26:08.000000000 +0000 @@ -88,8 +88,16 @@ # problems in the ReST inline markup so we remove it here # by popping the last item written off the stack, striping # the whitespace and then pushing it back on the stack. - last_write = self.doc.pop_write() - self.doc.push_write(last_write.rstrip(' ')) + last_write = self.doc.pop_write().rstrip(' ') + + # Sometimes, for whatever reason, a tag like is present. This + # is problematic because if we simply translate that directly then + # we end up with something like ****, which rst will assume is a + # heading instead of an empty bold. + if last_write == markup: + return + + self.doc.push_write(last_write) self.doc.write(markup + ' ') def start_bold(self, attrs=None): @@ -186,6 +194,16 @@ self.dedent() self.new_paragraph() + def start_danger(self, attrs=None): + self.new_paragraph() + self.doc.write('.. danger::') + self.indent() + self.new_paragraph() + + def end_danger(self): + self.dedent() + self.new_paragraph() + def start_a(self, attrs=None): if attrs: for attr_key, attr_value in attrs: @@ -220,19 +238,18 @@ if ':' in last_write: last_write = last_write.replace(':', r'\:') self.doc.push_write(last_write) - self.doc.hrefs[last_write] = self.a_href - self.doc.write('`_') + self.doc.push_write(' <%s>`__' % self.a_href) elif last_write == '`': # Look at start_a(). It will do a self.doc.write('`') # which is the start of the link title. If that is the # case then there was no link text. We should just # use an inline link. The syntax of this is # ``_ - self.doc.push_write('`<%s>`_' % self.a_href) + self.doc.push_write('`<%s>`__' % self.a_href) else: self.doc.push_write(self.a_href) self.doc.hrefs[self.a_href] = self.a_href - self.doc.write('`_') + self.doc.write('`__') self.a_href = None self.doc.write(' ') @@ -387,3 +404,15 @@ docstring_lines = docstring.splitlines() for docstring_line in docstring_lines: self.doc.writeln(docstring_line) + + def external_link(self, title, link): + if self.doc.target == 'html': + self.doc.write('`%s <%s>`_' % (title, link)) + else: + self.doc.write(title) + + def internal_link(self, title, page): + if self.doc.target == 'html': + self.doc.write(':doc:`%s <%s>`' % (title, page)) + else: + self.doc.write(title) diff -Nru python-botocore-1.4.70/botocore/docs/client.py python-botocore-1.16.19+repack/botocore/docs/client.py --- python-botocore-1.4.70/botocore/docs/client.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/client.py 2020-05-28 19:26:16.000000000 +0000 @@ -17,6 +17,10 @@ from botocore.docs.method import document_model_driven_method from botocore.docs.method import get_instance_public_methods from botocore.docs.sharedexample import document_shared_examples +from botocore.docs.example import ResponseExampleDocumenter +from botocore.docs.params import ResponseParamsDocumenter +from botocore.docs.utils import DocumentedShape +from botocore.compat import OrderedDict class ClientDocumenter(object): @@ -56,8 +60,10 @@ section.style.new_line() section.write('These are the available methods:') section.style.new_line() + class_name = self._client.__class__.__name__ for method_name in sorted(client_methods): - section.style.li(':py:meth:`%s`' % (method_name)) + section.style.li(':py:meth:`~%s.Client.%s`' % ( + class_name, method_name)) def _add_class_signature(self, section): section.style.start_sphinx_py_class( @@ -91,6 +97,16 @@ def _add_custom_method(self, section, method_name, method): document_custom_method(section, method_name, method) + def _add_method_exceptions_list(self, section, operation_model): + error_section = section.add_new_section('exceptions') + error_section.style.new_line() + error_section.style.bold('Exceptions') + error_section.style.new_line() + client_name = self._client.__class__.__name__ + for error in operation_model.error_shapes: + class_name = '%s.Client.exceptions.%s' % (client_name, error.name) + error_section.style.li(':py:class:`%s`' % class_name) + def _add_model_driven_method(self, section, method_name): service_model = self._client.meta.service_model operation_name = self._client.meta.method_to_api_mapping[method_name] @@ -104,8 +120,171 @@ example_prefix=example_prefix, ) + # Add any modeled exceptions + if operation_model.error_shapes: + self._add_method_exceptions_list(section, operation_model) + # Add the shared examples shared_examples = self._shared_examples.get(operation_name) if shared_examples: document_shared_examples( section, operation_model, example_prefix, shared_examples) + + +class ClientExceptionsDocumenter(object): + _USER_GUIDE_LINK = ( + 'https://boto3.amazonaws.com/' + 'v1/documentation/api/latest/guide/error-handling.html' + ) + _GENERIC_ERROR_SHAPE = DocumentedShape( + name='Error', + type_name='structure', + documentation=( + 'Normalized access to common exception attributes.' + ), + members=OrderedDict([ + ('Code', DocumentedShape( + name='Code', + type_name='string', + documentation=( + 'An identifier specifying the exception type.' + ), + )), + ('Message', DocumentedShape( + name='Message', + type_name='string', + documentation=( + 'A descriptive message explaining why the exception ' + 'occured.' + ), + )), + ]), + ) + + def __init__(self, client): + self._client = client + self._service_name = self._client.meta.service_model.service_name + + def document_exceptions(self, section): + self._add_title(section) + self._add_overview(section) + self._add_exceptions_list(section) + self._add_exception_classes(section) + + def _add_title(self, section): + section.style.h2('Client Exceptions') + + def _add_overview(self, section): + section.style.new_line() + section.write( + 'Client exceptions are available on a client instance ' + 'via the ``exceptions`` property. For more detailed instructions ' + 'and examples on the exact usage of client exceptions, see the ' + 'error handling ' + ) + section.style.external_link( + title='user guide', + link=self._USER_GUIDE_LINK, + ) + section.write('.') + section.style.new_line() + + def _exception_class_name(self, shape): + cls_name = self._client.__class__.__name__ + return '%s.Client.exceptions.%s' % (cls_name, shape.name) + + def _add_exceptions_list(self, section): + error_shapes = self._client.meta.service_model.error_shapes + if not error_shapes: + section.style.new_line() + section.write('This client has no modeled exception classes.') + section.style.new_line() + return + section.style.new_line() + section.write('The available client exceptions are:') + section.style.new_line() + for shape in error_shapes: + class_name = self._exception_class_name(shape) + section.style.li(':py:class:`%s`' % class_name) + + def _add_exception_classes(self, section): + for shape in self._client.meta.service_model.error_shapes: + self._add_exception_class(section, shape) + + def _add_exception_class(self, section, shape): + class_section = section.add_new_section(shape.name) + class_name = self._exception_class_name(shape) + class_section.style.start_sphinx_py_class(class_name=class_name) + self._add_top_level_documentation(class_section, shape) + self._add_exception_catch_example(class_section, shape) + self._add_response_attr(class_section, shape) + class_section.style.end_sphinx_py_class() + + def _add_top_level_documentation(self, section, shape): + if shape.documentation: + section.style.new_line() + section.include_doc_string(shape.documentation) + section.style.new_line() + + def _add_exception_catch_example(self, section, shape): + section.style.new_line() + section.style.bold('Example') + section.style.start_codeblock() + section.write('try:') + section.style.indent() + section.style.new_line() + section.write('...') + section.style.dedent() + section.style.new_line() + section.write('except client.exceptions.%s as e:' % shape.name) + section.style.indent() + section.style.new_line() + section.write('print(e.response)') + section.style.dedent() + section.style.end_codeblock() + + def _add_response_attr(self, section, shape): + response_section = section.add_new_section('response') + response_section.style.start_sphinx_py_attr('response') + self._add_response_attr_description(response_section) + self._add_response_example(response_section, shape) + self._add_response_params(response_section, shape) + response_section.style.end_sphinx_py_attr() + + def _add_response_attr_description(self, section): + section.style.new_line() + section.include_doc_string( + 'The parsed error response. All exceptions have a top level ' + '``Error`` key that provides normalized access to common ' + 'exception atrributes. All other keys are specific to this ' + 'service or exception class.' + ) + section.style.new_line() + + def _add_response_example(self, section, shape): + example_section = section.add_new_section('syntax') + example_section.style.new_line() + example_section.style.bold('Syntax') + example_section.style.new_paragraph() + documenter = ResponseExampleDocumenter( + service_name=self._service_name, + operation_name=None, + event_emitter=self._client.meta.events, + ) + documenter.document_example( + example_section, shape, include=[self._GENERIC_ERROR_SHAPE], + ) + + def _add_response_params(self, section, shape): + params_section = section.add_new_section('Structure') + params_section.style.new_line() + params_section.style.bold('Structure') + params_section.style.new_paragraph() + documenter = ResponseParamsDocumenter( + service_name=self._service_name, + operation_name=None, + event_emitter=self._client.meta.events, + ) + documenter.document_params( + params_section, shape, include=[self._GENERIC_ERROR_SHAPE], + ) diff -Nru python-botocore-1.4.70/botocore/docs/docstring.py python-botocore-1.16.19+repack/botocore/docs/docstring.py --- python-botocore-1.4.70/botocore/docs/docstring.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/docstring.py 2020-05-28 19:26:08.000000000 +0000 @@ -72,7 +72,7 @@ return self._docstring def _create_docstring(self): - docstring_structure = DocumentStructure('docstring') + docstring_structure = DocumentStructure('docstring', target='html') # Call the document method function with the args and kwargs # passed to the class. self._write_docstring( diff -Nru python-botocore-1.4.70/botocore/docs/example.py python-botocore-1.16.19+repack/botocore/docs/example.py --- python-botocore-1.4.70/botocore/docs/example.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/example.py 2020-05-28 19:26:08.000000000 +0000 @@ -82,6 +82,10 @@ def document_shape_type_structure(self, section, shape, history, include=None, exclude=None, **kwargs): + if not shape.members: + section.write('{}') + return + section = section.add_new_section('structure-value') self._start_nested_param(section, '{') @@ -157,6 +161,13 @@ class ResponseExampleDocumenter(BaseExampleDocumenter): EVENT_NAME = 'response-example' + def document_shape_type_event_stream(self, section, shape, history, + **kwargs): + section.write('EventStream(') + self.document_shape_type_structure(section, shape, history, **kwargs) + end_section = section.add_new_section('event-stream-end') + end_section.write(')') + class RequestExampleDocumenter(BaseExampleDocumenter): EVENT_NAME = 'request-example' diff -Nru python-botocore-1.4.70/botocore/docs/method.py python-botocore-1.16.19+repack/botocore/docs/method.py --- python-botocore-1.4.70/botocore/docs/method.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/method.py 2020-05-28 19:26:16.000000000 +0000 @@ -18,6 +18,9 @@ from botocore.docs.example import RequestExampleDocumenter +AWS_DOC_BASE = 'https://docs.aws.amazon.com/goto/WebAPI' + + def get_instance_public_methods(instance): """Retrieves an objects public methods @@ -171,6 +174,22 @@ # Add the description for the method. method_intro_section = section.add_new_section('method-intro') method_intro_section.include_doc_string(method_description) + if operation_model.deprecated: + method_intro_section.style.start_danger() + method_intro_section.writeln( + 'This operation is deprecated and may not function as ' + 'expected. This operation should not be used going forward ' + 'and is only kept for the purpose of backwards compatiblity.') + method_intro_section.style.end_danger() + service_uid = operation_model.service_model.metadata.get('uid') + if service_uid is not None: + method_intro_section.style.new_paragraph() + method_intro_section.write("See also: ") + link = '%s/%s/%s' % (AWS_DOC_BASE, service_uid, + operation_model.name) + method_intro_section.style.external_link(title="AWS API Documentation", + link=link) + method_intro_section.writeln('') # Add the example section. example_section = section.add_new_section('example') @@ -180,8 +199,9 @@ context = { 'special_shape_types': { 'streaming_input_shape': operation_model.get_streaming_input(), - 'streaming_output_shape': operation_model.get_streaming_output() - } + 'streaming_output_shape': operation_model.get_streaming_output(), + 'eventstream_output_shape': operation_model.get_event_stream_output(), + }, } if operation_model.input_shape: @@ -217,6 +237,20 @@ return_section.style.indent() return_section.style.new_line() + # If the operation is an event stream, describe the tagged union + event_stream_output = operation_model.get_event_stream_output() + if event_stream_output: + event_section = return_section.add_new_section('event-stream') + event_section.style.new_paragraph() + event_section.write( + 'The response of this operation contains an ' + ':class:`.EventStream` member. When iterated the ' + ':class:`.EventStream` will yield events based on the ' + 'structure below, where only one of the top level keys ' + 'will be present for any given event.' + ) + event_section.style.new_line() + # Add an example return value return_example_section = return_section.add_new_section('example') return_example_section.style.new_line() diff -Nru python-botocore-1.4.70/botocore/docs/paginator.py python-botocore-1.16.19+repack/botocore/docs/paginator.py --- python-botocore-1.4.70/botocore/docs/paginator.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/paginator.py 2020-05-28 19:26:08.000000000 +0000 @@ -108,9 +108,10 @@ 'will be provided in the output that you can use to ' 'resume pagination.

    ')) - pagination_config_members['PageSize'] = DocumentedShape( - name='PageSize', type_name='integer', - documentation='

    The size of each page.

    ') + if paginator_config.get('limit_key', None): + pagination_config_members['PageSize'] = DocumentedShape( + name='PageSize', type_name='integer', + documentation='

    The size of each page.

    ') pagination_config_members['StartingToken'] = DocumentedShape( name='StartingToken', type_name='string', diff -Nru python-botocore-1.4.70/botocore/docs/params.py python-botocore-1.16.19+repack/botocore/docs/params.py --- python-botocore-1.4.70/botocore/docs/params.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/params.py 2020-05-28 19:26:08.000000000 +0000 @@ -144,6 +144,10 @@ documentation_section.include_doc_string(shape.documentation) section.style.new_paragraph() + def document_shape_type_event_stream(self, section, shape, history, + **kwargs): + self.document_shape_type_structure(section, shape, history, **kwargs) + class RequestParamsDocumenter(BaseParamsDocumenter): """Generates the description for the request parameters""" @@ -203,5 +207,14 @@ 'param-documentation') documentation_section.style.indent() documentation_section.include_doc_string(shape.documentation) + self._add_special_trait_documentation(documentation_section, shape) end_param_section = section.add_new_section('end-param') end_param_section.style.new_paragraph() + + def _add_special_trait_documentation(self, section, shape): + if 'idempotencyToken' in shape.metadata: + self._append_idempotency_documentation(section) + + def _append_idempotency_documentation(self, section): + docstring = 'This field is autopopulated if not provided.' + section.write(docstring) diff -Nru python-botocore-1.4.70/botocore/docs/service.py python-botocore-1.16.19+repack/botocore/docs/service.py --- python-botocore-1.4.70/botocore/docs/service.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/service.py 2020-05-28 19:26:16.000000000 +0000 @@ -13,6 +13,7 @@ from botocore.exceptions import DataNotFoundError from botocore.docs.utils import get_official_service_name from botocore.docs.client import ClientDocumenter +from botocore.docs.client import ClientExceptionsDocumenter from botocore.docs.waiter import WaiterDocumenter from botocore.docs.paginator import PaginatorDocumenter from botocore.docs.bcdoc.restdoc import DocumentStructure @@ -26,11 +27,13 @@ self._client = self._session.create_client( service_name, region_name='us-east-1', aws_access_key_id='foo', aws_secret_access_key='bar') + self._event_emitter = self._client.meta.events self.sections = [ 'title', 'table-of-contents', 'client-api', + 'client-exceptions', 'paginator-api', 'waiter-api' ] @@ -41,16 +44,23 @@ :returns: The reStructured text of the documented service. """ doc_structure = DocumentStructure( - self._service_name, section_names=self.sections) + self._service_name, section_names=self.sections, + target='html') self.title(doc_structure.get_section('title')) self.table_of_contents(doc_structure.get_section('table-of-contents')) self.client_api(doc_structure.get_section('client-api')) + self.client_exceptions(doc_structure.get_section('client-exceptions')) self.paginator_api(doc_structure.get_section('paginator-api')) self.waiter_api(doc_structure.get_section('waiter-api')) return doc_structure.flush_structure() def title(self, section): section.style.h1(self._client.__class__.__name__) + self._event_emitter.emit( + 'docs.%s.%s' % ('title', + self._service_name), + section=section + ) def table_of_contents(self, section): section.style.table_of_contents(title='Table of Contents', depth=2) @@ -64,6 +74,9 @@ ClientDocumenter(self._client, examples).document_client(section) + def client_exceptions(self, section): + ClientExceptionsDocumenter(self._client).document_exceptions(section) + def paginator_api(self, section): try: service_paginator_model = self._session.get_paginator_model( diff -Nru python-botocore-1.4.70/botocore/docs/shape.py python-botocore-1.16.19+repack/botocore/docs/shape.py --- python-botocore-1.4.70/botocore/docs/shape.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/shape.py 2020-05-28 19:26:08.000000000 +0000 @@ -16,6 +16,9 @@ # ``traverse_and_document_shape`` method called directly. It should be # inherited from a Documenter class with the appropriate methods # and attributes. +from botocore.utils import is_json_value_header + + class ShapeDocumenter(object): EVENT_NAME = '' @@ -56,6 +59,8 @@ :param is_required: If the shape is a required member. """ param_type = shape.type_name + if getattr(shape, 'serialization', {}).get('eventstream'): + param_type = 'event_stream' if shape.name in history: self.document_recursive_shape(section, shape, name=name) else: @@ -85,19 +90,25 @@ def _get_special_py_default(self, shape): special_defaults = { + 'jsonvalue_header': '{...}|[...]|123|123.4|\'string\'|True|None', 'streaming_input_shape': 'b\'bytes\'|file', - 'streaming_output_shape': 'StreamingBody()' + 'streaming_output_shape': 'StreamingBody()', + 'eventstream_output_shape': 'EventStream()', } return self._get_value_for_special_type(shape, special_defaults) def _get_special_py_type_name(self, shape): special_type_names = { + 'jsonvalue_header': 'JSON serializable', 'streaming_input_shape': 'bytes or seekable file-like object', - 'streaming_output_shape': ':class:`.StreamingBody`' + 'streaming_output_shape': ':class:`.StreamingBody`', + 'eventstream_output_shape': ':class:`.EventStream`', } return self._get_value_for_special_type(shape, special_type_names) def _get_value_for_special_type(self, shape, special_type_map): + if is_json_value_header(shape): + return special_type_map['jsonvalue_header'] for special_type, marked_shape in self._context[ 'special_shape_types'].items(): if special_type in special_type_map: diff -Nru python-botocore-1.4.70/botocore/docs/sharedexample.py python-botocore-1.16.19+repack/botocore/docs/sharedexample.py --- python-botocore-1.4.70/botocore/docs/sharedexample.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/sharedexample.py 2020-05-28 19:26:08.000000000 +0000 @@ -13,7 +13,8 @@ import re import numbers from botocore.utils import parse_timestamp -from datetime import datetime +from botocore.docs.utils import escape_controls +from botocore.compat import six class SharedExampleDocumenter(object): @@ -165,7 +166,8 @@ def _document_str(self, section, value, path): # We do the string conversion because this might accept a type that # we don't specifically address. - section.write("'%s'," % str(value)) + safe_value = escape_controls(value) + section.write(u"'%s'," % six.text_type(safe_value)) def _document_number(self, section, value, path): section.write("%s," % str(value)) @@ -178,7 +180,7 @@ section.write("datetime(%s)," % datetime_str) def _get_comment(self, path, comments): - key = re.sub('^\.', '', ''.join(path)) + key = re.sub(r'^\.', '', ''.join(path)) if comments and key in comments: return '# ' + comments[key] else: diff -Nru python-botocore-1.4.70/botocore/docs/utils.py python-botocore-1.16.19+repack/botocore/docs/utils.py --- python-botocore-1.4.70/botocore/docs/utils.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/utils.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,6 +10,7 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import re from collections import namedtuple @@ -177,3 +178,20 @@ description_section = section.get_section( 'param-documentation') description_section.writeln(self._doc_string) + + +_CONTROLS = { + '\n': '\\n', + '\r': '\\r', + '\t': '\\t', + '\b': '\\b', + '\f': '\\f', +} +# Combines all CONTROLS keys into a big or regular expression +_ESCAPE_CONTROLS_RE = re.compile('|'.join(map(re.escape, _CONTROLS))) +# Based on the match get the appropriate replacement from CONTROLS +_CONTROLS_MATCH_HANDLER = lambda match: _CONTROLS[match.group(0)] + + +def escape_controls(value): + return _ESCAPE_CONTROLS_RE.sub(_CONTROLS_MATCH_HANDLER, value) diff -Nru python-botocore-1.4.70/botocore/docs/waiter.py python-botocore-1.16.19+repack/botocore/docs/waiter.py --- python-botocore-1.4.70/botocore/docs/waiter.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/docs/waiter.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,6 +11,8 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from botocore import xform_name +from botocore.compat import OrderedDict +from botocore.docs.utils import DocumentedShape from botocore.utils import get_service_module_name from botocore.docs.method import document_model_driven_method @@ -82,6 +84,29 @@ operation_model = service_model.operation_model( waiter_model.operation) + waiter_config_members = OrderedDict() + + waiter_config_members['Delay'] = DocumentedShape( + name='Delay', type_name='integer', + documentation=( + '

    The amount of time in seconds to wait between ' + 'attempts. Default: {0}

    '.format(waiter_model.delay))) + + waiter_config_members['MaxAttempts'] = DocumentedShape( + name='MaxAttempts', type_name='integer', + documentation=( + '

    The maximum number of attempts to be made. ' + 'Default: {0}

    '.format(waiter_model.max_attempts))) + + botocore_waiter_params = [ + DocumentedShape( + name='WaiterConfig', type_name='structure', + documentation=( + '

    A dictionary that provides parameters to control ' + 'waiting behavior.

    '), + members=waiter_config_members) + ] + wait_description = ( 'Polls :py:meth:`{0}.Client.{1}` every {2} ' 'seconds until a successful state is reached. An error is ' @@ -96,6 +121,7 @@ event_emitter=event_emitter, method_description=wait_description, example_prefix='waiter.wait', + include_input=botocore_waiter_params, document_output=False, include_signature=include_signature ) diff -Nru python-botocore-1.4.70/botocore/endpoint.py python-botocore-1.16.19+repack/botocore/endpoint.py --- python-botocore-1.4.70/botocore/endpoint.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/endpoint.py 2020-05-28 19:26:16.000000000 +0000 @@ -17,33 +17,22 @@ import time import threading -from botocore.vendored.requests.adapters import HTTPAdapter -from botocore.vendored.requests.sessions import Session -from botocore.vendored.requests.utils import get_environ_proxies -from botocore.vendored.requests.exceptions import ConnectionError from botocore.vendored import six from botocore.awsrequest import create_request_object -from botocore.exceptions import UnknownEndpointError -from botocore.exceptions import EndpointConnectionError -from botocore.exceptions import ConnectionClosedError -from botocore.compat import filter_ssl_warnings -from botocore.utils import is_valid_endpoint_url +from botocore.exceptions import HTTPClientError +from botocore.httpsession import URLLib3Session +from botocore.utils import is_valid_endpoint_url, get_environ_proxies from botocore.hooks import first_non_none_response +from botocore.history import get_global_history_recorder from botocore.response import StreamingBody from botocore import parsers logger = logging.getLogger(__name__) +history_recorder = get_global_history_recorder() DEFAULT_TIMEOUT = 60 MAX_POOL_CONNECTIONS = 10 -filter_ssl_warnings() - -try: - from botocore.vendored.requests.packages.urllib3.contrib import pyopenssl - pyopenssl.extract_from_urllib3() -except ImportError: - pass def convert_to_response_dict(http_response, operation_model): @@ -65,41 +54,22 @@ response_dict = { 'headers': http_response.headers, 'status_code': http_response.status_code, + 'context': { + 'operation_name': operation_model.name, + } } if response_dict['status_code'] >= 300: response_dict['body'] = http_response.content + elif operation_model.has_event_stream_output: + response_dict['body'] = http_response.raw elif operation_model.has_streaming_output: - response_dict['body'] = StreamingBody( - http_response.raw, response_dict['headers'].get('content-length')) + length = response_dict['headers'].get('content-length') + response_dict['body'] = StreamingBody(http_response.raw, length) else: response_dict['body'] = http_response.content return response_dict -class BotocoreHTTPSession(Session): - """Internal session class used to workaround requests behavior. - - This class is intended to be used only by the Endpoint class. - - """ - def __init__(self, max_pool_connections=MAX_POOL_CONNECTIONS, - http_adapter_cls=HTTPAdapter): - super(BotocoreHTTPSession, self).__init__() - # In order to support a user provided "max_pool_connections", we need - # to recreate the HTTPAdapter and pass in our max_pool_connections - # value. - adapter = http_adapter_cls(pool_maxsize=max_pool_connections) - # requests uses an HTTPAdapter for mounting both http:// and https:// - self.mount('https://', adapter) - self.mount('http://', adapter) - - def rebuild_auth(self, prepared_request, response): - # Keep the existing auth information from the original prepared request. - # Normally this method would be where auth is regenerated as needed. - # By making this a noop, we're keeping the existing auth info. - pass - - class Endpoint(object): """ Represents an endpoint for a particular service in a specific @@ -110,41 +80,37 @@ :ivar host: The fully qualified endpoint hostname. :ivar session: The session object. """ - - def __init__(self, host, endpoint_prefix, - event_emitter, proxies=None, verify=True, - timeout=DEFAULT_TIMEOUT, response_parser_factory=None, - max_pool_connections=MAX_POOL_CONNECTIONS): + def __init__(self, host, endpoint_prefix, event_emitter, + response_parser_factory=None, http_session=None): self._endpoint_prefix = endpoint_prefix self._event_emitter = event_emitter self.host = host - self.verify = verify - if proxies is None: - proxies = {} - self.proxies = proxies - self.http_session = BotocoreHTTPSession( - max_pool_connections=max_pool_connections) - self.timeout = timeout - self.max_pool_connections = max_pool_connections - logger.debug('Setting %s timeout as %s', endpoint_prefix, self.timeout) self._lock = threading.Lock() if response_parser_factory is None: response_parser_factory = parsers.ResponseParserFactory() self._response_parser_factory = response_parser_factory + self.http_session = http_session + if self.http_session is None: + self.http_session = URLLib3Session() def __repr__(self): return '%s(%s)' % (self._endpoint_prefix, self.host) def make_request(self, operation_model, request_dict): - logger.debug("Making request for %s (verify_ssl=%s) with params: %s", - operation_model, self.verify, request_dict) + logger.debug("Making request for %s with params: %s", + operation_model, request_dict) return self._send_request(request_dict, operation_model) def create_request(self, params, operation_model=None): request = create_request_object(params) if operation_model: - event_name = 'request-created.{endpoint_prefix}.{op_name}'.format( - endpoint_prefix=self._endpoint_prefix, + request.stream_output = any([ + operation_model.has_streaming_output, + operation_model.has_event_stream_output + ]) + service_id = operation_model.service_model.service_id.hyphenize() + event_name = 'request-created.{service_id}.{op_name}'.format( + service_id=service_id, op_name=operation_model.name) self._event_emitter.emit(event_name, request=request, operation_name=operation_model.name) @@ -164,8 +130,9 @@ def _send_request(self, request_dict, operation_model): attempts = 1 request = self.create_request(request_dict, operation_model) + context = request_dict['context'] success_response, exception = self._get_response( - request, operation_model, attempts) + request, operation_model, context) while self._needs_retry(attempts, operation_model, request_dict, success_response, exception): attempts += 1 @@ -178,7 +145,7 @@ request = self.create_request( request_dict, operation_model) success_response, exception = self._get_response( - request, operation_model, attempts) + request, operation_model, context) if success_response is not None and \ 'ResponseMetadata' in success_response[1]: # We want to share num retries, not num attempts. @@ -190,59 +157,99 @@ else: return success_response - def _get_response(self, request, operation_model, attempts): + def _get_response(self, request, operation_model, context): # This will return a tuple of (success_response, exception) # and success_response is itself a tuple of # (http_response, parsed_dict). # If an exception occurs then the success_response is None. # If no exception occurs then exception is None. + success_response, exception = self._do_get_response( + request, operation_model) + kwargs_to_emit = { + 'response_dict': None, + 'parsed_response': None, + 'context': context, + 'exception': exception, + } + if success_response is not None: + http_response, parsed_response = success_response + kwargs_to_emit['parsed_response'] = parsed_response + kwargs_to_emit['response_dict'] = convert_to_response_dict( + http_response, operation_model) + service_id = operation_model.service_model.service_id.hyphenize() + self._event_emitter.emit( + 'response-received.%s.%s' % ( + service_id, operation_model.name), **kwargs_to_emit) + return success_response, exception + + def _do_get_response(self, request, operation_model): try: logger.debug("Sending http request: %s", request) - http_response = self.http_session.send( - request, verify=self.verify, - stream=operation_model.has_streaming_output, - proxies=self.proxies, timeout=self.timeout) - except ConnectionError as e: - # For a connection error, if it looks like it's a DNS - # lookup issue, 99% of the time this is due to a misconfigured - # region/endpoint so we'll raise a more specific error message - # to help users. - logger.debug("ConnectionError received when sending HTTP request.", - exc_info=True) - if self._looks_like_dns_error(e): - endpoint_url = e.request.url - better_exception = EndpointConnectionError( - endpoint_url=endpoint_url, error=e) - return (None, better_exception) - elif self._looks_like_bad_status_line(e): - better_exception = ConnectionClosedError( - endpoint_url=e.request.url, request=e.request) - return (None, better_exception) - else: - return (None, e) + history_recorder.record('HTTP_REQUEST', { + 'method': request.method, + 'headers': request.headers, + 'streaming': operation_model.has_streaming_input, + 'url': request.url, + 'body': request.body + }) + service_id = operation_model.service_model.service_id.hyphenize() + event_name = 'before-send.%s.%s' % (service_id, operation_model.name) + responses = self._event_emitter.emit(event_name, request=request) + http_response = first_non_none_response(responses) + if http_response is None: + http_response = self._send(request) + except HTTPClientError as e: + return (None, e) except Exception as e: logger.debug("Exception received when sending HTTP request.", exc_info=True) return (None, e) # This returns the http_response and the parsed_data. - response_dict = convert_to_response_dict(http_response, - operation_model) - parser = self._response_parser_factory.create_parser( - operation_model.metadata['protocol']) + response_dict = convert_to_response_dict(http_response, operation_model) + + http_response_record_dict = response_dict.copy() + http_response_record_dict['streaming'] = \ + operation_model.has_streaming_output + history_recorder.record('HTTP_RESPONSE', http_response_record_dict) + + protocol = operation_model.metadata['protocol'] + parser = self._response_parser_factory.create_parser(protocol) parsed_response = parser.parse( response_dict, operation_model.output_shape) + # Do a second parsing pass to pick up on any modeled error fields + # NOTE: Ideally, we would push this down into the parser classes but + # they currently have no reference to the operation or service model + # The parsers should probably take the operation model instead of + # output shape but we can't change that now + if http_response.status_code >= 300: + self._add_modeled_error_fields( + response_dict, parsed_response, + operation_model, parser, + ) + history_recorder.record('PARSED_RESPONSE', parsed_response) return (http_response, parsed_response), None - def _looks_like_dns_error(self, e): - return 'gaierror' in str(e) and e.request is not None - - def _looks_like_bad_status_line(self, e): - return 'BadStatusLine' in str(e) and e.request is not None + def _add_modeled_error_fields( + self, response_dict, parsed_response, + operation_model, parser, + ): + error_code = parsed_response.get("Error", {}).get("Code") + if error_code is None: + return + service_model = operation_model.service_model + error_shape = service_model.shape_for_error_code(error_code) + if error_shape is None: + return + modeled_parse = parser.parse(response_dict, error_shape) + # TODO: avoid naming conflicts with ResponseMetadata and Error + parsed_response.update(modeled_parse) def _needs_retry(self, attempts, operation_model, request_dict, response=None, caught_exception=None): - event_name = 'needs-retry.%s.%s' % (self._endpoint_prefix, - operation_model.name) + service_id = operation_model.service_model.service_id.hyphenize() + event_name = 'needs-retry.%s.%s' % ( + service_id, + operation_model.name) responses = self._event_emitter.emit( event_name, response=response, endpoint=self, operation=operation_model, attempts=attempts, @@ -258,6 +265,9 @@ time.sleep(handler_response) return True + def _send(self, request): + return self.http_session.send(request) + class EndpointCreator(object): def __init__(self, event_emitter): @@ -266,19 +276,35 @@ def create_endpoint(self, service_model, region_name, endpoint_url, verify=None, response_parser_factory=None, timeout=DEFAULT_TIMEOUT, - max_pool_connections=MAX_POOL_CONNECTIONS): + max_pool_connections=MAX_POOL_CONNECTIONS, + http_session_cls=URLLib3Session, + proxies=None, + socket_options=None, + client_cert=None): if not is_valid_endpoint_url(endpoint_url): raise ValueError("Invalid endpoint: %s" % endpoint_url) + if proxies is None: + proxies = self._get_proxies(endpoint_url) + endpoint_prefix = service_model.endpoint_prefix + + logger.debug('Setting %s timeout as %s', endpoint_prefix, timeout) + http_session = http_session_cls( + timeout=timeout, + proxies=proxies, + verify=self._get_verify_value(verify), + max_pool_connections=max_pool_connections, + socket_options=socket_options, + client_cert=client_cert, + ) + return Endpoint( endpoint_url, - endpoint_prefix=service_model.endpoint_prefix, + endpoint_prefix=endpoint_prefix, event_emitter=self._event_emitter, - proxies=self._get_proxies(endpoint_url), - verify=self._get_verify_value(verify), - timeout=timeout, - max_pool_connections=max_pool_connections, - response_parser_factory=response_parser_factory) + response_parser_factory=response_parser_factory, + http_session=http_session + ) def _get_proxies(self, url): # We could also support getting proxies from a config file, diff -Nru python-botocore-1.4.70/botocore/errorfactory.py python-botocore-1.16.19+repack/botocore/errorfactory.py --- python-botocore-1.4.70/botocore/errorfactory.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/errorfactory.py 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,88 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from botocore.exceptions import ClientError +from botocore.utils import get_service_module_name + + +class BaseClientExceptions(object): + ClientError = ClientError + + def __init__(self, code_to_exception): + """Base class for exceptions object on a client + + :type code_to_exception: dict + :param code_to_exception: Mapping of error codes (strings) to exception + class that should be raised when encountering a particular + error code. + """ + self._code_to_exception = code_to_exception + + def from_code(self, error_code): + """Retrieves the error class based on the error code + + This is helpful for identifying the exception class needing to be + caught based on the ClientError.parsed_reponse['Error']['Code'] value + + :type error_code: string + :param error_code: The error code associated to a ClientError exception + + :rtype: ClientError or a subclass of ClientError + :returns: The appropriate modeled exception class for that error + code. If the error code does not match any of the known + modeled exceptions then return a generic ClientError. + """ + return self._code_to_exception.get(error_code, self.ClientError) + + def __getattr__(self, name): + exception_cls_names = [ + exception_cls.__name__ for exception_cls + in self._code_to_exception.values() + ] + raise AttributeError( + '%r object has no attribute %r. Valid exceptions are: %s' % ( + self, name, ', '.join(exception_cls_names))) + + +class ClientExceptionsFactory(object): + def __init__(self): + self._client_exceptions_cache = {} + + def create_client_exceptions(self, service_model): + """Creates a ClientExceptions object for the particular service client + + :type service_model: botocore.model.ServiceModel + :param service_model: The service model for the client + + :rtype: object that subclasses from BaseClientExceptions + :returns: The exceptions object of a client that can be used + to grab the various different modeled exceptions. + """ + service_name = service_model.service_name + if service_name not in self._client_exceptions_cache: + client_exceptions = self._create_client_exceptions(service_model) + self._client_exceptions_cache[service_name] = client_exceptions + return self._client_exceptions_cache[service_name] + + def _create_client_exceptions(self, service_model): + cls_props = {} + code_to_exception = {} + for error_shape in service_model.error_shapes: + exception_name = str(error_shape.name) + exception_cls = type(exception_name, (ClientError,), {}) + cls_props[exception_name] = exception_cls + code = str(error_shape.error_code) + code_to_exception[code] = exception_cls + cls_name = str(get_service_module_name(service_model) + 'Exceptions') + client_exceptions_cls = type( + cls_name, (BaseClientExceptions,), cls_props) + return client_exceptions_cls(code_to_exception) diff -Nru python-botocore-1.4.70/botocore/eventstream.py python-botocore-1.16.19+repack/botocore/eventstream.py --- python-botocore-1.4.70/botocore/eventstream.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/eventstream.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,602 @@ +# Copyright 2018 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. +"""Binary Event Stream Decoding """ + +from binascii import crc32 +from struct import unpack +from botocore.exceptions import EventStreamError + +# byte length of the prelude (total_length + header_length + prelude_crc) +_PRELUDE_LENGTH = 12 +_MAX_HEADERS_LENGTH = 128 * 1024 # 128 Kb +_MAX_PAYLOAD_LENGTH = 16 * 1024 ** 2 # 16 Mb + + +class ParserError(Exception): + """Base binary flow encoding parsing exception. """ + pass + + +class DuplicateHeader(ParserError): + """Duplicate header found in the event. """ + def __init__(self, header): + message = 'Duplicate header present: "%s"' % header + super(DuplicateHeader, self).__init__(message) + + +class InvalidHeadersLength(ParserError): + """Headers length is longer than the maximum. """ + def __init__(self, length): + message = 'Header length of %s exceeded the maximum of %s' % ( + length, _MAX_HEADERS_LENGTH + ) + super(InvalidHeadersLength, self).__init__(message) + + +class InvalidPayloadLength(ParserError): + """Payload length is longer than the maximum. """ + def __init__(self, length): + message = 'Payload length of %s exceeded the maximum of %s' % ( + length, _MAX_PAYLOAD_LENGTH + ) + super(InvalidPayloadLength, self).__init__(message) + + +class ChecksumMismatch(ParserError): + """Calculated checksum did not match the expected checksum. """ + def __init__(self, expected, calculated): + message = 'Checksum mismatch: expected 0x%08x, calculated 0x%08x' % ( + expected, calculated + ) + super(ChecksumMismatch, self).__init__(message) + + +class NoInitialResponseError(ParserError): + """An event of type initial-response was not received. + + This exception is raised when the event stream produced no events or + the first event in the stream was not of the initial-response type. + """ + def __init__(self): + message = 'First event was not of the initial-response type' + super(NoInitialResponseError, self).__init__(message) + + +class DecodeUtils(object): + """Unpacking utility functions used in the decoder. + + All methods on this class take raw bytes and return a tuple containing + the value parsed from the bytes and the number of bytes consumed to parse + that value. + """ + + UINT8_BYTE_FORMAT = '!B' + UINT16_BYTE_FORMAT = '!H' + UINT32_BYTE_FORMAT = '!I' + INT16_BYTE_FORMAT = '!h' + INT32_BYTE_FORMAT = '!i' + INT64_BYTE_FORMAT = '!q' + PRELUDE_BYTE_FORMAT = '!III' + + # uint byte size to unpack format + UINT_BYTE_FORMAT = { + 1: UINT8_BYTE_FORMAT, + 2: UINT16_BYTE_FORMAT, + 4: UINT32_BYTE_FORMAT, + } + + @staticmethod + def unpack_true(data): + """This method consumes none of the provided bytes and returns True. + + :type data: bytes + :param data: The bytes to parse from. This is ignored in this method. + + :rtype: tuple + :rtype: (bool, int) + :returns: The tuple (True, 0) + """ + return True, 0 + + @staticmethod + def unpack_false(data): + """This method consumes none of the provided bytes and returns False. + + :type data: bytes + :param data: The bytes to parse from. This is ignored in this method. + + :rtype: tuple + :rtype: (bool, int) + :returns: The tuple (False, 0) + """ + return False, 0 + + @staticmethod + def unpack_uint8(data): + """Parse an unsigned 8-bit integer from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: (int, int) + :returns: A tuple containing the (parsed integer value, bytes consumed) + """ + value = unpack(DecodeUtils.UINT8_BYTE_FORMAT, data[:1])[0] + return value, 1 + + @staticmethod + def unpack_uint32(data): + """Parse an unsigned 32-bit integer from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: (int, int) + :returns: A tuple containing the (parsed integer value, bytes consumed) + """ + value = unpack(DecodeUtils.UINT32_BYTE_FORMAT, data[:4])[0] + return value, 4 + + @staticmethod + def unpack_int16(data): + """Parse a signed 16-bit integer from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: tuple + :rtype: (int, int) + :returns: A tuple containing the (parsed integer value, bytes consumed) + """ + value = unpack(DecodeUtils.INT16_BYTE_FORMAT, data[:2])[0] + return value, 2 + + @staticmethod + def unpack_int32(data): + """Parse a signed 32-bit integer from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: tuple + :rtype: (int, int) + :returns: A tuple containing the (parsed integer value, bytes consumed) + """ + value = unpack(DecodeUtils.INT32_BYTE_FORMAT, data[:4])[0] + return value, 4 + + @staticmethod + def unpack_int64(data): + """Parse a signed 64-bit integer from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: tuple + :rtype: (int, int) + :returns: A tuple containing the (parsed integer value, bytes consumed) + """ + value = unpack(DecodeUtils.INT64_BYTE_FORMAT, data[:8])[0] + return value, 8 + + @staticmethod + def unpack_byte_array(data, length_byte_size=2): + """Parse a variable length byte array from the bytes. + + The bytes are expected to be in the following format: + [ length ][0 ... length bytes] + where length is an unsigned integer represented in the smallest number + of bytes to hold the maximum length of the array. + + :type data: bytes + :param data: The bytes to parse from. + + :type length_byte_size: int + :param length_byte_size: The byte size of the preceeding integer that + represents the length of the array. Supported values are 1, 2, and 4. + + :rtype: (bytes, int) + :returns: A tuple containing the (parsed byte array, bytes consumed). + """ + uint_byte_format = DecodeUtils.UINT_BYTE_FORMAT[length_byte_size] + length = unpack(uint_byte_format, data[:length_byte_size])[0] + bytes_end = length + length_byte_size + array_bytes = data[length_byte_size:bytes_end] + return array_bytes, bytes_end + + @staticmethod + def unpack_utf8_string(data, length_byte_size=2): + """Parse a variable length utf-8 string from the bytes. + + The bytes are expected to be in the following format: + [ length ][0 ... length bytes] + where length is an unsigned integer represented in the smallest number + of bytes to hold the maximum length of the array and the following + bytes are a valid utf-8 string. + + :type data: bytes + :param bytes: The bytes to parse from. + + :type length_byte_size: int + :param length_byte_size: The byte size of the preceeding integer that + represents the length of the array. Supported values are 1, 2, and 4. + + :rtype: (str, int) + :returns: A tuple containing the (utf-8 string, bytes consumed). + """ + array_bytes, consumed = DecodeUtils.unpack_byte_array( + data, length_byte_size) + return array_bytes.decode('utf-8'), consumed + + @staticmethod + def unpack_uuid(data): + """Parse a 16-byte uuid from the bytes. + + :type data: bytes + :param data: The bytes to parse from. + + :rtype: (bytes, int) + :returns: A tuple containing the (uuid bytes, bytes consumed). + """ + return data[:16], 16 + + @staticmethod + def unpack_prelude(data): + """Parse the prelude for an event stream message from the bytes. + + The prelude for an event stream message has the following format: + [total_length][header_length][prelude_crc] + where each field is an unsigned 32-bit integer. + + :rtype: ((int, int, int), int) + :returns: A tuple of ((total_length, headers_length, prelude_crc), + consumed) + """ + return (unpack(DecodeUtils.PRELUDE_BYTE_FORMAT, data), _PRELUDE_LENGTH) + + +def _validate_checksum(data, checksum, crc=0): + # To generate the same numeric value across all Python versions and + # platforms use crc32(data) & 0xffffffff. + computed_checksum = crc32(data, crc) & 0xFFFFFFFF + if checksum != computed_checksum: + raise ChecksumMismatch(checksum, computed_checksum) + + +class MessagePrelude(object): + """Represents the prelude of an event stream message. """ + def __init__(self, total_length, headers_length, crc): + self.total_length = total_length + self.headers_length = headers_length + self.crc = crc + + @property + def payload_length(self): + """Calculates the total payload length. + + The extra minus 4 bytes is for the message CRC. + + :rtype: int + :returns: The total payload length. + """ + return self.total_length - self.headers_length - _PRELUDE_LENGTH - 4 + + @property + def payload_end(self): + """Calculates the byte offset for the end of the message payload. + + The extra minus 4 bytes is for the message CRC. + + :rtype: int + :returns: The byte offset from the beginning of the event stream + message to the end of the payload. + """ + return self.total_length - 4 + + @property + def headers_end(self): + """Calculates the byte offset for the end of the message headers. + + :rtype: int + :returns: The byte offset from the beginning of the event stream + message to the end of the headers. + """ + return _PRELUDE_LENGTH + self.headers_length + + +class EventStreamMessage(object): + """Represents an event stream message. """ + def __init__(self, prelude, headers, payload, crc): + self.prelude = prelude + self.headers = headers + self.payload = payload + self.crc = crc + + def to_response_dict(self, status_code=200): + message_type = self.headers.get(':message-type') + if message_type == 'error' or message_type == 'exception': + status_code = 400 + return { + 'status_code': status_code, + 'headers': self.headers, + 'body': self.payload + } + + +class EventStreamHeaderParser(object): + """ Parses the event headers from an event stream message. + + Expects all of the header data upfront and creates a dictionary of headers + to return. This object can be reused multiple times to parse the headers + from multiple event stream messages. + """ + + # Maps header type to appropriate unpacking function + # These unpacking functions return the value and the amount unpacked + _HEADER_TYPE_MAP = { + # boolean_true + 0: DecodeUtils.unpack_true, + # boolean_false + 1: DecodeUtils.unpack_false, + # byte + 2: DecodeUtils.unpack_uint8, + # short + 3: DecodeUtils.unpack_int16, + # integer + 4: DecodeUtils.unpack_int32, + # long + 5: DecodeUtils.unpack_int64, + # byte_array + 6: DecodeUtils.unpack_byte_array, + # string + 7: DecodeUtils.unpack_utf8_string, + # timestamp + 8: DecodeUtils.unpack_int64, + # uuid + 9: DecodeUtils.unpack_uuid, + } + + def __init__(self): + self._data = None + + def parse(self, data): + """Parses the event stream headers from an event stream message. + + :type data: bytes + :param data: The bytes that correspond to the headers section of an + event stream message. + + :rtype: dict + :returns: A dicionary of header key, value pairs. + """ + self._data = data + return self._parse_headers() + + def _parse_headers(self): + headers = {} + while self._data: + name, value = self._parse_header() + if name in headers: + raise DuplicateHeader(name) + headers[name] = value + return headers + + def _parse_header(self): + name = self._parse_name() + value = self._parse_value() + return name, value + + def _parse_name(self): + name, consumed = DecodeUtils.unpack_utf8_string(self._data, 1) + self._advance_data(consumed) + return name + + def _parse_type(self): + type, consumed = DecodeUtils.unpack_uint8(self._data) + self._advance_data(consumed) + return type + + def _parse_value(self): + header_type = self._parse_type() + value_unpacker = self._HEADER_TYPE_MAP[header_type] + value, consumed = value_unpacker(self._data) + self._advance_data(consumed) + return value + + def _advance_data(self, consumed): + self._data = self._data[consumed:] + + +class EventStreamBuffer(object): + """Streaming based event stream buffer + + A buffer class that wraps bytes from an event stream providing parsed + messages as they become available via an iterable interface. + """ + + def __init__(self): + self._data = b'' + self._prelude = None + self._header_parser = EventStreamHeaderParser() + + def add_data(self, data): + """Add data to the buffer. + + :type data: bytes + :param data: The bytes to add to the buffer to be used when parsing + """ + self._data += data + + def _validate_prelude(self, prelude): + if prelude.headers_length > _MAX_HEADERS_LENGTH: + raise InvalidHeadersLength(prelude.headers_length) + + if prelude.payload_length > _MAX_PAYLOAD_LENGTH: + raise InvalidPayloadLength(prelude.payload_length) + + def _parse_prelude(self): + prelude_bytes = self._data[:_PRELUDE_LENGTH] + raw_prelude, _ = DecodeUtils.unpack_prelude(prelude_bytes) + prelude = MessagePrelude(*raw_prelude) + self._validate_prelude(prelude) + # The minus 4 removes the prelude crc from the bytes to be checked + _validate_checksum(prelude_bytes[:_PRELUDE_LENGTH-4], prelude.crc) + return prelude + + def _parse_headers(self): + header_bytes = self._data[_PRELUDE_LENGTH:self._prelude.headers_end] + return self._header_parser.parse(header_bytes) + + def _parse_payload(self): + prelude = self._prelude + payload_bytes = self._data[prelude.headers_end:prelude.payload_end] + return payload_bytes + + def _parse_message_crc(self): + prelude = self._prelude + crc_bytes = self._data[prelude.payload_end:prelude.total_length] + message_crc, _ = DecodeUtils.unpack_uint32(crc_bytes) + return message_crc + + def _parse_message_bytes(self): + # The minus 4 includes the prelude crc to the bytes to be checked + message_bytes = self._data[_PRELUDE_LENGTH-4:self._prelude.payload_end] + return message_bytes + + def _validate_message_crc(self): + message_crc = self._parse_message_crc() + message_bytes = self._parse_message_bytes() + _validate_checksum(message_bytes, message_crc, crc=self._prelude.crc) + return message_crc + + def _parse_message(self): + crc = self._validate_message_crc() + headers = self._parse_headers() + payload = self._parse_payload() + message = EventStreamMessage(self._prelude, headers, payload, crc) + self._prepare_for_next_message() + return message + + def _prepare_for_next_message(self): + # Advance the data and reset the current prelude + self._data = self._data[self._prelude.total_length:] + self._prelude = None + + def next(self): + """Provides the next available message parsed from the stream + + :rtype: EventStreamMessage + :returns: The next event stream message + """ + if len(self._data) < _PRELUDE_LENGTH: + raise StopIteration() + + if self._prelude is None: + self._prelude = self._parse_prelude() + + if len(self._data) < self._prelude.total_length: + raise StopIteration() + + return self._parse_message() + + def __next__(self): + return self.next() + + def __iter__(self): + return self + + +class EventStream(object): + """Wrapper class for an event stream body. + + This wraps the underlying streaming body, parsing it for individual events + and yielding them as they come available through the iterator interface. + + The following example uses the S3 select API to get structured data out of + an object stored in S3 using an event stream. + + **Example:** + :: + from botocore.session import Session + + s3 = Session().create_client('s3') + response = s3.select_object_content( + Bucket='bucketname', + Key='keyname', + ExpressionType='SQL', + RequestProgress={'Enabled': True}, + Expression="SELECT * FROM S3Object s", + InputSerialization={'CSV': {}}, + OutputSerialization={'CSV': {}}, + ) + # This is the event stream in the response + event_stream = response['Payload'] + end_event_received = False + with open('output', 'wb') as f: + # Iterate over events in the event stream as they come + for event in event_stream: + # If we received a records event, write the data to a file + if 'Records' in event: + data = event['Records']['Payload'] + f.write(data) + # If we received a progress event, print the details + elif 'Progress' in event: + print(event['Progress']['Details']) + # End event indicates that the request finished successfully + elif 'End' in event: + print('Result is complete') + end_event_received = True + if not end_event_received: + raise Exception("End event not received, request incomplete.") + """ + def __init__(self, raw_stream, output_shape, parser, operation_name): + self._raw_stream = raw_stream + self._output_shape = output_shape + self._operation_name = operation_name + self._parser = parser + self._event_generator = self._create_raw_event_generator() + + def __iter__(self): + for event in self._event_generator: + parsed_event = self._parse_event(event) + if parsed_event: + yield parsed_event + + def _create_raw_event_generator(self): + event_stream_buffer = EventStreamBuffer() + for chunk in self._raw_stream.stream(): + event_stream_buffer.add_data(chunk) + for event in event_stream_buffer: + yield event + + def _parse_event(self, event): + response_dict = event.to_response_dict() + parsed_response = self._parser.parse(response_dict, self._output_shape) + if response_dict['status_code'] == 200: + return parsed_response + else: + raise EventStreamError(parsed_response, self._operation_name) + + def get_initial_response(self): + try: + initial_event = next(self._event_generator) + event_type = initial_event.headers.get(':event-type') + if event_type == 'initial-response': + return initial_event + except StopIteration: + pass + raise NoInitialResponseError() + + def close(self): + """Closes the underlying streaming body. """ + self._raw_stream.close() diff -Nru python-botocore-1.4.70/botocore/exceptions.py python-botocore-1.16.19+repack/botocore/exceptions.py --- python-botocore-1.4.70/botocore/exceptions.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/exceptions.py 2020-05-28 19:26:16.000000000 +0000 @@ -12,7 +12,20 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from __future__ import unicode_literals -from botocore.vendored.requests.exceptions import ConnectionError +from botocore.vendored import requests +from botocore.vendored.requests.packages import urllib3 + + +def _exception_from_packed_args(exception_cls, args=None, kwargs=None): + # This is helpful for reducing Exceptions that only accept kwargs as + # only positional arguments can be provided for __reduce__ + # Ideally, this would also be a class method on the BotoCoreError + # but instance methods cannot be pickled. + if args is None: + args = () + if kwargs is None: + kwargs = {} + return exception_cls(*args, **kwargs) class BotoCoreError(Exception): @@ -28,6 +41,9 @@ Exception.__init__(self, msg) self.kwargs = kwargs + def __reduce__(self): + return _exception_from_packed_args, (self.__class__, None, self.kwargs) + class DataNotFoundError(BotoCoreError): """ @@ -60,20 +76,47 @@ fmt = 'Unable to load data {data_path} for: {api_version}' -class EndpointConnectionError(BotoCoreError): - fmt = ( - 'Could not connect to the endpoint URL: "{endpoint_url}"') +class HTTPClientError(BotoCoreError): + fmt = 'An HTTP Client raised and unhandled exception: {error}' + def __init__(self, request=None, response=None, **kwargs): + self.request = request + self.response = response + super(HTTPClientError, self).__init__(**kwargs) + + def __reduce__(self): + return _exception_from_packed_args, ( + self.__class__, (self.request, self.response), self.kwargs) + + +class ConnectionError(BotoCoreError): + fmt = 'An HTTP Client failed to establish a connection: {error}' + + +class EndpointConnectionError(ConnectionError): + fmt = 'Could not connect to the endpoint URL: "{endpoint_url}"' + +class SSLError(ConnectionError, requests.exceptions.SSLError): + fmt = 'SSL validation failed for {endpoint_url} {error}' -class ConnectionClosedError(ConnectionError): + +class ConnectionClosedError(HTTPClientError): fmt = ( 'Connection was closed before we received a valid response ' 'from endpoint URL: "{endpoint_url}".') - def __init__(self, **kwargs): - msg = self.fmt.format(**kwargs) - kwargs.pop('endpoint_url') - super(ConnectionClosedError, self).__init__(msg, **kwargs) + +class ReadTimeoutError(HTTPClientError, requests.exceptions.ReadTimeout, + urllib3.exceptions.ReadTimeoutError): + fmt = 'Read timeout on endpoint URL: "{endpoint_url}"' + + +class ConnectTimeoutError(ConnectionError, requests.exceptions.ConnectTimeout): + fmt = 'Connect timeout on endpoint URL: "{endpoint_url}"' + + +class ProxyConnectionError(ConnectionError, requests.exceptions.ProxyError): + fmt = 'Failed to connect to proxy URL: "{proxy_url}"' class NoCredentialsError(BotoCoreError): @@ -350,9 +393,10 @@ def __init__(self, error_response, operation_name): retry_info = self._get_retry_info(error_response) + error = error_response.get('Error', {}) msg = self.MSG_TEMPLATE.format( - error_code=error_response['Error'].get('Code', 'Unknown'), - error_message=error_response['Error'].get('Message', 'Unknown'), + error_code=error.get('Code', 'Unknown'), + error_message=error.get('Message', 'Unknown'), operation_name=operation_name, retry_info=retry_info, ) @@ -370,6 +414,16 @@ metadata['RetryAttempts']) return retry_info + def __reduce__(self): + # Subclasses of ClientError's are dynamically generated and + # cannot be pickled unless they are attributes of a + # module. So at the very least return a ClientError back. + return ClientError, (self.response, self.operation_name) + + +class EventStreamError(ClientError): + pass + class UnsupportedTLSVersionWarning(Warning): """Warn when an openssl version that uses TLS 1.2 is required""" @@ -394,23 +448,89 @@ class InvalidS3AddressingStyleError(BotoCoreError): """Error when an invalid path style is specified""" fmt = ( - 'S3 addressing style {s3_addressing_style} is invaild. Valid options ' + 'S3 addressing style {s3_addressing_style} is invalid. Valid options ' 'are: \'auto\', \'virtual\', and \'path\'' ) +class UnsupportedS3ArnError(BotoCoreError): + """Error when S3 arn provided to Bucket parameter is not supported""" + fmt = ( + 'S3 ARN {arn} provided to "Bucket" parameter is invalid. Only ' + 'ARNs for S3 access-points are supported.' + ) + + +class UnsupportedS3AccesspointConfigurationError(BotoCoreError): + """Error when an unsupported configuration is used with access-points""" + fmt = ( + 'Unsupported configuration when using S3 access-points: {msg}' + ) + + +class InvalidRetryConfigurationError(BotoCoreError): + """Error when invalid retry configuration is specified""" + fmt = ( + 'Cannot provide retry configuration for "{retry_config_option}". ' + 'Valid retry configuration options are: \'max_attempts\'' + ) + + +class InvalidMaxRetryAttemptsError(InvalidRetryConfigurationError): + """Error when invalid retry configuration is specified""" + fmt = ( + 'Value provided to "max_attempts": {provided_max_attempts} must ' + 'be an integer greater than or equal to {min_value}.' + ) + + +class InvalidRetryModeError(InvalidRetryConfigurationError): + """Error when invalid retry mode configuration is specified""" + fmt = ( + 'Invalid value provided to "mode": "{provided_retry_mode}" must ' + 'be one of: "legacy", "standard", "adaptive"' + ) + + +class InvalidS3UsEast1RegionalEndpointConfigError(BotoCoreError): + """Error for invalid s3 us-east-1 regional endpoints configuration""" + fmt = ( + 'S3 us-east-1 regional endpoint option ' + '{s3_us_east_1_regional_endpoint_config} is ' + 'invalid. Valid options are: legacy and regional' + ) + + +class InvalidSTSRegionalEndpointsConfigError(BotoCoreError): + """Error when invalid sts regional endpoints configuration is specified""" + fmt = ( + 'STS regional endpoints option {sts_regional_endpoints_config} is ' + 'invalid. Valid options are: legacy and regional' + ) + + class StubResponseError(BotoCoreError): fmt = 'Error getting response stub for operation {operation_name}: {reason}' class StubAssertionError(StubResponseError, AssertionError): - fmt = 'Error getting response stub for operation {operation_name}: {reason}' + pass +class UnStubbedResponseError(StubResponseError): + pass class InvalidConfigError(BotoCoreError): fmt = '{error_msg}' +class InfiniteLoopConfigError(InvalidConfigError): + fmt = ( + 'Infinite loop in credential configuration detected. Attempting to ' + 'load from profile {source_profile} which has already been visited. ' + 'Visited profiles: {visited_profiles}' + ) + + class RefreshWithMFAUnsupportedError(BotoCoreError): fmt = 'Cannot refresh credentials: MFA token required.' @@ -421,3 +541,25 @@ class MetadataRetrievalError(BotoCoreError): fmt = "Error retrieving metadata: {error_msg}" + + +class UndefinedModelAttributeError(Exception): + pass + + +class MissingServiceIdError(UndefinedModelAttributeError): + fmt = ( + "The model being used for the service {service_name} is missing the " + "serviceId metadata property, which is required." + ) + + def __init__(self, **kwargs): + msg = self.fmt.format(**kwargs) + Exception.__init__(self, msg) + self.kwargs = kwargs + + +class CapacityNotAvailableError(BotoCoreError): + fmt = ( + 'Insufficient request capacity available.' + ) diff -Nru python-botocore-1.4.70/botocore/handlers.py python-botocore-1.16.19+repack/botocore/handlers.py --- python-botocore-1.4.70/botocore/handlers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/handlers.py 2020-05-28 19:26:16.000000000 +0000 @@ -22,19 +22,25 @@ import copy import re import warnings +import uuid -from botocore.compat import unquote, json, six, unquote_str, \ - ensure_bytes, get_md5, MD5_AVAILABLE +from botocore.compat import ( + unquote, json, six, unquote_str, ensure_bytes, get_md5, + MD5_AVAILABLE, OrderedDict, urlsplit, urlunsplit, XMLParseError +) from botocore.docs.utils import AutoPopulatedParam from botocore.docs.utils import HideParamFromOperations from botocore.docs.utils import AppendParamDocumentation from botocore.signers import add_generate_presigned_url from botocore.signers import add_generate_presigned_post +from botocore.signers import add_generate_db_auth_token from botocore.exceptions import ParamValidationError from botocore.exceptions import AliasConflictParameterError from botocore.exceptions import UnsupportedTLSVersionWarning +from botocore.exceptions import MissingServiceIdError from botocore.utils import percent_encode, SAFE_CHARS from botocore.utils import switch_host_with_param +from botocore.utils import hyphenize_service_id from botocore import retryhandler from botocore import utils @@ -52,9 +58,21 @@ # to be as long as 255 characters, and bucket names can contain any # combination of uppercase letters, lowercase letters, numbers, periods # (.), hyphens (-), and underscores (_). -VALID_BUCKET = re.compile('^[a-zA-Z0-9.\-_]{1,255}$') +VALID_BUCKET = re.compile(r'^[a-zA-Z0-9.\-_]{1,255}$') +VALID_S3_ARN = re.compile( + r'^arn:(aws).*:s3:[a-z\-0-9]+:[0-9]{12}:accesspoint[/:]' + r'[a-zA-Z0-9\-]{1,63}$' +) VERSION_ID_SUFFIX = re.compile(r'\?versionId=[^\s]+$') +SERVICE_NAME_ALIASES = { + 'runtime.sagemaker': 'sagemaker-runtime' +} + + +def handle_service_name_alias(service_name, **kwargs): + return SERVICE_NAME_ALIASES.get(service_name, service_name) + def check_for_200_error(response, **kwargs): # From: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html @@ -86,16 +104,55 @@ def _looks_like_special_case_error(http_response): if http_response.status_code == 200: - parser = xml.etree.cElementTree.XMLParser( - target=xml.etree.cElementTree.TreeBuilder(), - encoding='utf-8') - parser.feed(http_response.content) - root = parser.close() + try: + parser = xml.etree.cElementTree.XMLParser( + target=xml.etree.cElementTree.TreeBuilder(), + encoding='utf-8') + parser.feed(http_response.content) + root = parser.close() + except XMLParseError: + # In cases of network disruptions, we may end up with a partial + # streamed response from S3. We need to treat these cases as + # 500 Service Errors and try again. + return True if root.tag == 'Error': return True return False +def set_operation_specific_signer(context, signing_name, **kwargs): + """ Choose the operation-specific signer. + + Individual operations may have a different auth type than the service as a + whole. This will most often manifest as operations that should not be + authenticated at all, but can include other auth modes such as sigv4 + without body signing. + """ + auth_type = context.get('auth_type') + + # Auth type will be None if the operation doesn't have a configured auth + # type. + if not auth_type: + return + + # Auth type will be the string value 'none' if the operation should not + # be signed at all. + if auth_type == 'none': + return botocore.UNSIGNED + + if auth_type.startswith('v4'): + signature_version = 'v4' + if signing_name == 's3': + signature_version = 's3v4' + + # If the operation needs an unsigned body, we set additional context + # allowing the signer to be aware of this. + if auth_type == 'v4-unsigned-body': + context['payload_signing_enabled'] = False + + return signature_version + + def decode_console_output(parsed, **kwargs): if 'Output' in parsed: try: @@ -109,6 +166,14 @@ logger.debug('Error decoding base64', exc_info=True) +def generate_idempotent_uuid(params, model, **kwargs): + for name in model.idempotent_members: + if name not in params: + params[name] = str(uuid.uuid4()) + logger.debug("injecting idempotency token (%s) into param '%s'." % + (params[name], name)) + + def decode_quoted_jsondoc(value): try: value = json.loads(unquote(value)) @@ -120,7 +185,8 @@ def json_decode_template_body(parsed, **kwargs): if 'TemplateBody' in parsed: try: - value = json.loads(parsed['TemplateBody']) + value = json.loads( + parsed['TemplateBody'], object_pairs_hook=OrderedDict) parsed['TemplateBody'] = value except (ValueError, TypeError): logger.debug('error loading JSON', exc_info=True) @@ -162,10 +228,11 @@ if 'Bucket' not in params: return bucket = params['Bucket'] - if VALID_BUCKET.search(bucket) is None: + if not VALID_BUCKET.search(bucket) and not VALID_S3_ARN.search(bucket): error_msg = ( 'Invalid bucket name "%s": Bucket name must match ' - 'the regex "%s"' % (bucket, VALID_BUCKET.pattern)) + 'the regex "%s" or be an ARN matching the regex "%s"' % ( + bucket, VALID_BUCKET.pattern, VALID_S3_ARN.pattern)) raise ParamValidationError(report=error_msg) @@ -210,49 +277,6 @@ sse_member_prefix + 'KeyMD5' not in params) -def register_retries_for_service(service_data, session, - service_name, **kwargs): - loader = session.get_component('data_loader') - endpoint_prefix = service_data.get('metadata', {}).get('endpointPrefix') - if endpoint_prefix is None: - logger.debug("Not registering retry handlers, could not endpoint " - "prefix from model for service %s", service_name) - return - config = _load_retry_config(loader, endpoint_prefix) - if not config: - return - logger.debug("Registering retry handlers for service: %s", service_name) - handler = retryhandler.create_retry_handler( - config, endpoint_prefix) - unique_id = 'retry-config-%s' % endpoint_prefix - session.register('needs-retry.%s' % endpoint_prefix, - handler, unique_id=unique_id) - _register_for_operations(config, session, - service_name=endpoint_prefix) - - -def _load_retry_config(loader, endpoint_prefix): - original_config = loader.load_data('_retry') - retry_config = translate.build_retry_config( - endpoint_prefix, original_config['retry'], - original_config.get('definitions', {})) - return retry_config - - -def _register_for_operations(config, session, service_name): - # There's certainly a tradeoff for registering the retry config - # for the operations when the service is created. In practice, - # there aren't a whole lot of per operation retry configs so - # this is ok for now. - for key in config: - if key == '__default__': - continue - handler = retryhandler.create_retry_handler(config, key) - unique_id = 'retry-config-%s-%s' % (service_name, key) - session.register('needs-retry.%s.%s' % (service_name, key), - handler, unique_id=unique_id) - - def disable_signing(**kwargs): """ This handler disables request signing by setting the signer @@ -273,6 +297,21 @@ params['headers']['Expect'] = '100-continue' +class DeprecatedServiceDocumenter(object): + def __init__(self, replacement_service_name): + self._replacement_service_name = replacement_service_name + + def inject_deprecation_notice(self, section, event_name, **kwargs): + section.style.start_important() + section.write('This service client is deprecated. Please use ') + section.style.ref( + self._replacement_service_name, + self._replacement_service_name, + ) + section.write(' instead.') + section.style.end_important() + + def document_copy_source_form(section, event_name, **kwargs): if 'request-example' in event_name: parent = section.get_section('structure-value') @@ -352,26 +391,8 @@ return percent_encode(first, safe=SAFE_CHARS + '/') + version_id -def copy_snapshot_encrypted(params, request_signer, **kwargs): - # The presigned URL that facilities copying an encrypted snapshot. - # If the user does not provide this value, we will automatically - # calculate on behalf of the user and inject the PresignedUrl - # into the requests. - # The params sent in the event don't quite sync up 100% so we're - # renaming them here until they can be updated in the event. - request_dict = params - params = request_dict['body'] - if 'PresignedUrl' in params: - # If the customer provided this value, then there's nothing for - # us to do. - return - destination_region = request_signer._region_name - params['DestinationRegion'] = destination_region - # The request will be sent to the destination region, so we need - # to create an endpoint to the source region and create a presigned - # url based on the source endpoint. - source_region = params['SourceRegion'] - +def _get_cross_region_presigned_url(request_signer, request_dict, model, + source_region, destination_region): # The better way to do this is to actually get the # endpoint_resolver and get the endpoint_url given the # source region. In this specific case, we know that @@ -381,14 +402,57 @@ # I think eventually we should try to plumb through something # that allows us to resolve endpoints from regions. request_dict_copy = copy.deepcopy(request_dict) + request_dict_copy['body']['DestinationRegion'] = destination_region request_dict_copy['url'] = request_dict['url'].replace( destination_region, source_region) request_dict_copy['method'] = 'GET' request_dict_copy['headers'] = {} - presigned_url = request_signer.generate_presigned_url( + return request_signer.generate_presigned_url( request_dict_copy, region_name=source_region, - operation_name='CopySnapshot') - params['PresignedUrl'] = presigned_url + operation_name=model.name) + + +def _get_presigned_url_source_and_destination_regions(request_signer, params): + # Gets the source and destination regions to be used + destination_region = request_signer._region_name + source_region = params.get('SourceRegion') + return source_region, destination_region + + +def inject_presigned_url_ec2(params, request_signer, model, **kwargs): + # The customer can still provide this, so we should pass if they do. + if 'PresignedUrl' in params['body']: + return + src, dest = _get_presigned_url_source_and_destination_regions( + request_signer, params['body']) + url = _get_cross_region_presigned_url( + request_signer, params, model, src, dest) + params['body']['PresignedUrl'] = url + # EC2 Requires that the destination region be sent over the wire in + # addition to the source region. + params['body']['DestinationRegion'] = dest + + +def inject_presigned_url_rds(params, request_signer, model, **kwargs): + # SourceRegion is not required for RDS operations, so it's possible that + # it isn't set. In that case it's probably a local copy so we don't need + # to do anything else. + if 'SourceRegion' not in params['body']: + return + + src, dest = _get_presigned_url_source_and_destination_regions( + request_signer, params['body']) + + # Since SourceRegion isn't actually modeled for RDS, it needs to be + # removed from the request params before we send the actual request. + del params['body']['SourceRegion'] + + if 'PreSignedUrl' in params['body']: + return + + url = _get_cross_region_presigned_url( + request_signer, params, model, src, dest) + params['body']['PreSignedUrl'] = url def json_decode_policies(parsed, model, **kwargs): @@ -428,8 +492,7 @@ # The "parsed" passed in only has the ResponseMetadata # filled out. This handler will fill in the LocationConstraint # value. - if 'LocationConstraint' in parsed: - # Response already set - a stub? + if http_response.raw is None: return response_body = http_response.content parser = xml.etree.cElementTree.XMLParser( @@ -572,7 +635,7 @@ previous uploaded parts, using the algorithm described in `Glacier documentation `_. - But if you prefer, you can also use botocore.util.calculate_tree_hash() + But if you prefer, you can also use botocore.utils.calculate_tree_hash() to compute it from raw file by:: checksum = calculate_tree_hash(open('your_file.txt', 'rb')) @@ -594,6 +657,7 @@ value_portion.clear_text() value_portion.write('{}') + def switch_host_machinelearning(request, **kwargs): switch_host_with_param(request, 'PredictEndpoint') @@ -602,7 +666,7 @@ import ssl try: openssl_version_tuple = ssl.OPENSSL_VERSION_INFO - if openssl_version_tuple[0] < 1 or openssl_version_tuple[2] < 1: + if openssl_version_tuple < (1, 0, 1): warnings.warn( 'Currently installed openssl version: %s does not ' 'support TLS 1.2, which is required for use of iot-data. ' @@ -642,15 +706,57 @@ # Amazon S3 includes this element in the response, and returns encoded key # name values in the following response elements: # Delimiter, Marker, Prefix, NextMarker, Key. + _decode_list_object( + top_level_keys=['Delimiter', 'Marker', 'NextMarker'], + nested_keys=[('Contents', 'Key'), ('CommonPrefixes', 'Prefix')], + parsed=parsed, + context=context + ) + + +def decode_list_object_v2(parsed, context, **kwargs): + # From the documentation: If you specify encoding-type request parameter, + # Amazon S3 includes this element in the response, and returns encoded key + # name values in the following response elements: + # Delimiter, Prefix, ContinuationToken, Key, and StartAfter. + _decode_list_object( + top_level_keys=['Delimiter', 'Prefix', 'StartAfter'], + nested_keys=[('Contents', 'Key'), ('CommonPrefixes', 'Prefix')], + parsed=parsed, + context=context + ) + + +def decode_list_object_versions(parsed, context, **kwargs): + # From the documentation: If you specify encoding-type request parameter, + # Amazon S3 includes this element in the response, and returns encoded key + # name values in the following response elements: + # KeyMarker, NextKeyMarker, Prefix, Key, and Delimiter. + _decode_list_object( + top_level_keys=[ + 'KeyMarker', + 'NextKeyMarker', + 'Prefix', + 'Delimiter', + ], + nested_keys=[ + ('Versions', 'Key'), + ('DeleteMarkers', 'Key'), + ('CommonPrefixes', 'Prefix'), + ], + parsed=parsed, + context=context + ) + + +def _decode_list_object(top_level_keys, nested_keys, parsed, context): if parsed.get('EncodingType') == 'url' and \ context.get('encoding_type_auto_set'): # URL decode top-level keys in the response if present. - top_level_keys = ['Delimiter', 'Marker', 'NextMarker'] for key in top_level_keys: if key in parsed: parsed[key] = unquote_str(parsed[key]) # URL decode nested keys from the response if present. - nested_keys = [('Contents', 'Key'), ('CommonPrefixes', 'Prefix')] for (top_key, child_key) in nested_keys: if top_key in parsed: for member in parsed[top_key]: @@ -746,11 +852,80 @@ section.write(updated_content) +class ClientMethodAlias(object): + def __init__(self, actual_name): + """ Aliases a non-extant method to an existing method. + + :param actual_name: The name of the method that actually exists on + the client. + """ + self._actual = actual_name + + def __call__(self, client, **kwargs): + return getattr(client, self._actual) + + +class HeaderToHostHoister(object): + """Takes a header and moves it to the front of the hoststring. + """ + _VALID_HOSTNAME = re.compile(r'(?!-)[a-z\d-]{1,63}(?" % (self.__class__.__name__, self.name) + @property + def event_stream_name(self): + return None + class StructureShape(Shape): @CachedProperty @@ -174,6 +187,24 @@ shape_members[name] = self._resolve_shape_ref(shape_ref) return shape_members + @CachedProperty + def event_stream_name(self): + for member_name, member in self.members.items(): + if member.serialization.get('eventstream'): + return member_name + return None + + @CachedProperty + def error_code(self): + if not self.metadata.get('exception', False): + return None + error_metadata = self.metadata.get("error", {}) + code = error_metadata.get("code") + if code: + return code + # Use the exception name if there is no explicit code modeled + return self.name + class ListShape(Shape): @CachedProperty @@ -238,9 +269,33 @@ return self._shape_resolver.get_shape_by_name( shape_name, member_traits) + def shape_for_error_code(self, error_code): + return self._error_code_cache.get(error_code, None) + + @CachedProperty + def _error_code_cache(self): + error_code_cache = {} + for error_shape in self.error_shapes: + code = error_shape.error_code + error_code_cache[code] = error_shape + return error_code_cache + def resolve_shape_ref(self, shape_ref): return self._shape_resolver.resolve_shape_ref(shape_ref) + @CachedProperty + def shape_names(self): + return list(self._service_description.get('shapes', {})) + + @CachedProperty + def error_shapes(self): + error_shapes = [] + for shape_name in self.shape_names: + error_shape = self.shape_for(shape_name) + if error_shape.metadata.get('exception', False): + error_shapes.append(error_shape) + return error_shapes + @instance_cache def operation_model(self, operation_name): try: @@ -275,6 +330,15 @@ return self.endpoint_prefix @CachedProperty + def service_id(self): + try: + return ServiceId(self._get_metadata_property('serviceId')) + except UndefinedModelAttributeError: + raise MissingServiceIdError( + service_name=self._service_name + ) + + @CachedProperty def signing_name(self): """The name to use when computing signatures. @@ -298,12 +362,19 @@ def endpoint_prefix(self): return self._get_metadata_property('endpointPrefix') + @CachedProperty + def endpoint_discovery_operation(self): + for operation in self.operation_names: + model = self.operation_model(operation) + if model.is_endpoint_discovery_operation: + return model + def _get_metadata_property(self, name): try: return self.metadata[name] except KeyError: raise UndefinedModelAttributeError( - '"%s" not defined in the metadata of the the model: %s' % + '"%s" not defined in the metadata of the model: %s' % (name, self)) # Signature version is one of the rare properties @@ -320,6 +391,10 @@ def signature_version(self, value): self._signature_version = value + def __repr__(self): + return '%s(%s)' % (self.__class__.__name__, self.service_name) + + class OperationModel(object): def __init__(self, operation_model, service_model, name=None): @@ -389,6 +464,20 @@ return self._operation_model.get('documentation', '') @CachedProperty + def deprecated(self): + return self._operation_model.get('deprecated', False) + + @CachedProperty + def endpoint_discovery(self): + # Explicit None default. An empty dictionary for this trait means it is + # enabled but not required to be used. + return self._operation_model.get('endpointdiscovery', None) + + @CachedProperty + def is_endpoint_discovery_operation(self): + return self._operation_model.get('endpointoperation', False) + + @CachedProperty def input_shape(self): if 'input' not in self._operation_model: # Some operations do not accept any input and do not define an @@ -408,6 +497,52 @@ self._operation_model['output']) @CachedProperty + def idempotent_members(self): + input_shape = self.input_shape + if not input_shape: + return [] + + return [name for (name, shape) in input_shape.members.items() + if 'idempotencyToken' in shape.metadata and + shape.metadata['idempotencyToken']] + + @CachedProperty + def auth_type(self): + return self._operation_model.get('authtype') + + @CachedProperty + def error_shapes(self): + shapes = self._operation_model.get("errors", []) + return list(self._service_model.resolve_shape_ref(s) for s in shapes) + + @CachedProperty + def endpoint(self): + return self._operation_model.get('endpoint') + + @CachedProperty + def has_event_stream_input(self): + return self.get_event_stream_input() is not None + + @CachedProperty + def has_event_stream_output(self): + return self.get_event_stream_output() is not None + + def get_event_stream_input(self): + return self._get_event_stream(self.input_shape) + + def get_event_stream_output(self): + return self._get_event_stream(self.output_shape) + + def _get_event_stream(self, shape): + """Returns the event stream member's shape if any or None otherwise.""" + if shape is None: + return None + event_name = shape.event_stream_name + if event_name: + return shape.members[event_name] + return None + + @CachedProperty def has_streaming_input(self): return self.get_streaming_input() is not None @@ -619,8 +754,9 @@ } if 'documentation' in model: shape['documentation'] = model['documentation'] - if 'enum' in model: - shape['enum'] = model['enum'] + for attr in Shape.METADATA_ATTRS: + if attr in model: + shape[attr] = model[attr] return shape def _build_scalar(self, model): diff -Nru python-botocore-1.4.70/botocore/monitoring.py python-botocore-1.16.19+repack/botocore/monitoring.py --- python-botocore-1.4.70/botocore/monitoring.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/monitoring.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,550 @@ +# Copyright 2018 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. +import json +import logging +import re +import time + +from botocore.compat import ensure_unicode, ensure_bytes, urlparse +from botocore.retryhandler import EXCEPTION_MAP as RETRYABLE_EXCEPTIONS + + +logger = logging.getLogger(__name__) + + +class Monitor(object): + _EVENTS_TO_REGISTER = [ + 'before-parameter-build', + 'request-created', + 'response-received', + 'after-call', + 'after-call-error', + ] + + def __init__(self, adapter, publisher): + """Abstraction for monitoring clients API calls + + :param adapter: An adapter that takes event emitter events + and produces monitor events + + :param publisher: A publisher for generated monitor events + """ + self._adapter = adapter + self._publisher = publisher + + def register(self, event_emitter): + """Register an event emitter to the monitor""" + for event_to_register in self._EVENTS_TO_REGISTER: + event_emitter.register_last(event_to_register, self.capture) + + def capture(self, event_name, **payload): + """Captures an incoming event from the event emitter + + It will feed an event emitter event to the monitor's adaptor to create + a monitor event and then publish that event to the monitor's publisher. + """ + try: + monitor_event = self._adapter.feed(event_name, payload) + if monitor_event: + self._publisher.publish(monitor_event) + except Exception as e: + logger.debug( + 'Exception %s raised by client monitor in handling event %s', + e, event_name, exc_info=True) + + +class MonitorEventAdapter(object): + def __init__(self, time=time.time): + """Adapts event emitter events to produce monitor events + + :type time: callable + :param time: A callable that produces the current time + """ + self._time = time + + def feed(self, emitter_event_name, emitter_payload): + """Feed an event emitter event to generate a monitor event + + :type emitter_event_name: str + :param emitter_event_name: The name of the event emitted + + :type emitter_payload: dict + :param emitter_payload: The payload to associated to the event + emitted + + :rtype: BaseMonitorEvent + :returns: A monitor event based on the event emitter events + fired + """ + return self._get_handler(emitter_event_name)(**emitter_payload) + + def _get_handler(self, event_name): + return getattr( + self, '_handle_' + event_name.split('.')[0].replace('-', '_') + ) + + def _handle_before_parameter_build(self, model, context, **kwargs): + context['current_api_call_event'] = APICallEvent( + service=model.service_model.service_id, + operation=model.wire_name, + timestamp=self._get_current_time(), + ) + + def _handle_request_created(self, request, **kwargs): + context = request.context + new_attempt_event = context[ + 'current_api_call_event'].new_api_call_attempt( + timestamp=self._get_current_time()) + new_attempt_event.request_headers = request.headers + new_attempt_event.url = request.url + context['current_api_call_attempt_event'] = new_attempt_event + + def _handle_response_received(self, parsed_response, context, exception, + **kwargs): + attempt_event = context.pop('current_api_call_attempt_event') + attempt_event.latency = self._get_latency(attempt_event) + if parsed_response is not None: + attempt_event.http_status_code = parsed_response[ + 'ResponseMetadata']['HTTPStatusCode'] + attempt_event.response_headers = parsed_response[ + 'ResponseMetadata']['HTTPHeaders'] + attempt_event.parsed_error = parsed_response.get('Error') + else: + attempt_event.wire_exception = exception + return attempt_event + + def _handle_after_call(self, context, parsed, **kwargs): + context['current_api_call_event'].retries_exceeded = parsed[ + 'ResponseMetadata'].get('MaxAttemptsReached', False) + return self._complete_api_call(context) + + def _handle_after_call_error(self, context, exception, **kwargs): + # If the after-call-error was emitted and the error being raised + # was a retryable connection error, then the retries must have exceeded + # for that exception as this event gets emitted **after** retries + # happen. + context['current_api_call_event'].retries_exceeded = \ + self._is_retryable_exception(exception) + return self._complete_api_call(context) + + def _is_retryable_exception(self, exception): + return isinstance( + exception, tuple(RETRYABLE_EXCEPTIONS['GENERAL_CONNECTION_ERROR'])) + + def _complete_api_call(self, context): + call_event = context.pop('current_api_call_event') + call_event.latency = self._get_latency(call_event) + return call_event + + def _get_latency(self, event): + return self._get_current_time() - event.timestamp + + def _get_current_time(self): + return int(self._time() * 1000) + + +class BaseMonitorEvent(object): + def __init__(self, service, operation, timestamp): + """Base monitor event + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the event began + """ + self.service = service + self.operation = operation + self.timestamp = timestamp + + def __repr__(self): + return '%s(%r)' % (self.__class__.__name__, self.__dict__) + + def __eq__(self, other): + if isinstance(other, self.__class__): + return self.__dict__ == other.__dict__ + return False + + +class APICallEvent(BaseMonitorEvent): + def __init__(self, service, operation, timestamp, latency=None, + attempts=None, retries_exceeded=False): + """Monitor event for a single API call + + This event corresponds to a single client method call, which includes + every HTTP requests attempt made in order to complete the client call + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the event began + + :type latency: int + :param latency: The time in milliseconds to complete the client call + + :type attempts: list + :param attempts: The list of APICallAttempts associated to the + APICall + + :type retries_exceeded: bool + :param retries_exceeded: True if API call exceeded retries. False + otherwise + """ + super(APICallEvent, self).__init__( + service=service, operation=operation, timestamp=timestamp) + self.latency = latency + self.attempts = attempts + if attempts is None: + self.attempts = [] + self.retries_exceeded = retries_exceeded + + def new_api_call_attempt(self, timestamp): + """Instantiates APICallAttemptEvent associated to the APICallEvent + + :type timestamp: int + :param timestamp: Epoch time in milliseconds to associate to the + APICallAttemptEvent + """ + attempt_event = APICallAttemptEvent( + service=self.service, + operation=self.operation, + timestamp=timestamp + ) + self.attempts.append(attempt_event) + return attempt_event + + +class APICallAttemptEvent(BaseMonitorEvent): + def __init__(self, service, operation, timestamp, + latency=None, url=None, http_status_code=None, + request_headers=None, response_headers=None, + parsed_error=None, wire_exception=None): + """Monitor event for a single API call attempt + + This event corresponds to a single HTTP request attempt in completing + the entire client method call. + + :type service: str + :param service: A string identifying the service associated to + the event + + :type operation: str + :param operation: A string identifying the operation of service + associated to the event + + :type timestamp: int + :param timestamp: Epoch time in milliseconds from when the HTTP request + started + + :type latency: int + :param latency: The time in milliseconds to complete the HTTP request + whether it succeeded or failed + + :type url: str + :param url: The URL the attempt was sent to + + :type http_status_code: int + :param http_status_code: The HTTP status code of the HTTP response + if there was a response + + :type request_headers: dict + :param request_headers: The HTTP headers sent in making the HTTP + request + + :type response_headers: dict + :param response_headers: The HTTP headers returned in the HTTP response + if there was a response + + :type parsed_error: dict + :param parsed_error: The error parsed if the service returned an + error back + + :type wire_exception: Exception + :param wire_exception: The exception raised in sending the HTTP + request (i.e. ConnectionError) + """ + super(APICallAttemptEvent, self).__init__( + service=service, operation=operation, timestamp=timestamp + ) + self.latency = latency + self.url = url + self.http_status_code = http_status_code + self.request_headers = request_headers + self.response_headers = response_headers + self.parsed_error = parsed_error + self.wire_exception = wire_exception + + +class CSMSerializer(object): + _MAX_CLIENT_ID_LENGTH = 255 + _MAX_EXCEPTION_CLASS_LENGTH = 128 + _MAX_ERROR_CODE_LENGTH = 128 + _MAX_USER_AGENT_LENGTH = 256 + _MAX_MESSAGE_LENGTH = 512 + _RESPONSE_HEADERS_TO_EVENT_ENTRIES = { + 'x-amzn-requestid': 'XAmznRequestId', + 'x-amz-request-id': 'XAmzRequestId', + 'x-amz-id-2': 'XAmzId2', + } + _AUTH_REGEXS = { + 'v4': re.compile( + r'AWS4-HMAC-SHA256 ' + r'Credential=(?P\w+)/\d+/' + r'(?P[a-z0-9-]+)/' + ), + 's3': re.compile( + r'AWS (?P\w+):' + ) + } + _SERIALIZEABLE_EVENT_PROPERTIES = [ + 'service', + 'operation', + 'timestamp', + 'attempts', + 'latency', + 'retries_exceeded', + 'url', + 'request_headers', + 'http_status_code', + 'response_headers', + 'parsed_error', + 'wire_exception', + ] + + def __init__(self, csm_client_id): + """Serializes monitor events to CSM (Client Side Monitoring) format + + :type csm_client_id: str + :param csm_client_id: The application identifier to associate + to the serialized events + """ + self._validate_client_id(csm_client_id) + self.csm_client_id = csm_client_id + + def _validate_client_id(self, csm_client_id): + if len(csm_client_id) > self._MAX_CLIENT_ID_LENGTH: + raise ValueError( + 'The value provided for csm_client_id: %s exceeds the ' + 'maximum length of %s characters' % ( + csm_client_id, self._MAX_CLIENT_ID_LENGTH) + ) + + def serialize(self, event): + """Serializes a monitor event to the CSM format + + :type event: BaseMonitorEvent + :param event: The event to serialize to bytes + + :rtype: bytes + :returns: The CSM serialized form of the event + """ + event_dict = self._get_base_event_dict(event) + event_type = self._get_event_type(event) + event_dict['Type'] = event_type + for attr in self._SERIALIZEABLE_EVENT_PROPERTIES: + value = getattr(event, attr, None) + if value is not None: + getattr(self, '_serialize_' + attr)( + value, event_dict, event_type=event_type) + return ensure_bytes( + json.dumps(event_dict, separators=(',', ':'))) + + def _get_base_event_dict(self, event): + return { + 'Version': 1, + 'ClientId': self.csm_client_id, + } + + def _serialize_service(self, service, event_dict, **kwargs): + event_dict['Service'] = service + + def _serialize_operation(self, operation, event_dict, **kwargs): + event_dict['Api'] = operation + + def _serialize_timestamp(self, timestamp, event_dict, **kwargs): + event_dict['Timestamp'] = timestamp + + def _serialize_attempts(self, attempts, event_dict, **kwargs): + event_dict['AttemptCount'] = len(attempts) + if attempts: + self._add_fields_from_last_attempt(event_dict, attempts[-1]) + + def _add_fields_from_last_attempt(self, event_dict, last_attempt): + if last_attempt.request_headers: + # It does not matter which attempt to use to grab the region + # for the ApiCall event, but SDKs typically do the last one. + region = self._get_region(last_attempt.request_headers) + if region is not None: + event_dict['Region'] = region + event_dict['UserAgent'] = self._get_user_agent( + last_attempt.request_headers) + if last_attempt.http_status_code is not None: + event_dict['FinalHttpStatusCode'] = last_attempt.http_status_code + if last_attempt.parsed_error is not None: + self._serialize_parsed_error( + last_attempt.parsed_error, event_dict, 'ApiCall') + if last_attempt.wire_exception is not None: + self._serialize_wire_exception( + last_attempt.wire_exception, event_dict, 'ApiCall') + + def _serialize_latency(self, latency, event_dict, event_type): + if event_type == 'ApiCall': + event_dict['Latency'] = latency + elif event_type == 'ApiCallAttempt': + event_dict['AttemptLatency'] = latency + + def _serialize_retries_exceeded(self, retries_exceeded, event_dict, + **kwargs): + event_dict['MaxRetriesExceeded'] = (1 if retries_exceeded else 0) + + def _serialize_url(self, url, event_dict, **kwargs): + event_dict['Fqdn'] = urlparse(url).netloc + + def _serialize_request_headers(self, request_headers, event_dict, + **kwargs): + event_dict['UserAgent'] = self._get_user_agent(request_headers) + if self._is_signed(request_headers): + event_dict['AccessKey'] = self._get_access_key(request_headers) + region = self._get_region(request_headers) + if region is not None: + event_dict['Region'] = region + if 'X-Amz-Security-Token' in request_headers: + event_dict['SessionToken'] = request_headers[ + 'X-Amz-Security-Token'] + + def _serialize_http_status_code(self, http_status_code, event_dict, + **kwargs): + event_dict['HttpStatusCode'] = http_status_code + + def _serialize_response_headers(self, response_headers, event_dict, + **kwargs): + for header, entry in self._RESPONSE_HEADERS_TO_EVENT_ENTRIES.items(): + if header in response_headers: + event_dict[entry] = response_headers[header] + + def _serialize_parsed_error(self, parsed_error, event_dict, event_type, + **kwargs): + field_prefix = 'Final' if event_type == 'ApiCall' else '' + event_dict[field_prefix + 'AwsException'] = self._truncate( + parsed_error['Code'], self._MAX_ERROR_CODE_LENGTH) + event_dict[field_prefix + 'AwsExceptionMessage'] = self._truncate( + parsed_error['Message'], self._MAX_MESSAGE_LENGTH) + + def _serialize_wire_exception(self, wire_exception, event_dict, event_type, + **kwargs): + field_prefix = 'Final' if event_type == 'ApiCall' else '' + event_dict[field_prefix + 'SdkException'] = self._truncate( + wire_exception.__class__.__name__, + self._MAX_EXCEPTION_CLASS_LENGTH) + event_dict[field_prefix + 'SdkExceptionMessage'] = self._truncate( + str(wire_exception), self._MAX_MESSAGE_LENGTH) + + def _get_event_type(self, event): + if isinstance(event, APICallEvent): + return 'ApiCall' + elif isinstance(event, APICallAttemptEvent): + return 'ApiCallAttempt' + + def _get_access_key(self, request_headers): + auth_val = self._get_auth_value(request_headers) + _, auth_match = self._get_auth_match(auth_val) + return auth_match.group('access_key') + + def _get_region(self, request_headers): + if not self._is_signed(request_headers): + return None + auth_val = self._get_auth_value(request_headers) + signature_version, auth_match = self._get_auth_match(auth_val) + if signature_version != 'v4': + return None + return auth_match.group('signing_region') + + def _get_user_agent(self, request_headers): + return self._truncate( + ensure_unicode(request_headers.get('User-Agent', '')), + self._MAX_USER_AGENT_LENGTH + ) + + def _is_signed(self, request_headers): + return 'Authorization' in request_headers + + def _get_auth_value(self, request_headers): + return ensure_unicode(request_headers['Authorization']) + + def _get_auth_match(self, auth_val): + for signature_version, regex in self._AUTH_REGEXS.items(): + match = regex.match(auth_val) + if match: + return signature_version, match + return None, None + + def _truncate(self, text, max_length): + if len(text) > max_length: + logger.debug( + 'Truncating following value to maximum length of ' + '%s: %s', text, max_length) + return text[:max_length] + return text + + +class SocketPublisher(object): + _MAX_MONITOR_EVENT_LENGTH = 8 * 1024 + + def __init__(self, socket, host, port, serializer): + """Publishes monitor events to a socket + + :type socket: socket.socket + :param socket: The socket object to use to publish events + + :type host: string + :param host: The host to send events to + + :type port: integer + :param port: The port on the host to send events to + + :param serializer: The serializer to use to serialize the event + to a form that can be published to the socket. This must + have a `serialize()` method that accepts a monitor event + and return bytes + """ + self._socket = socket + self._address = (host, port) + self._serializer = serializer + + def publish(self, event): + """Publishes a specified monitor event + + :type event: BaseMonitorEvent + :param event: The monitor event to be sent + over the publisher's socket to the desired address. + """ + serialized_event = self._serializer.serialize(event) + if len(serialized_event) > self._MAX_MONITOR_EVENT_LENGTH: + logger.debug( + 'Serialized event of size %s exceeds the maximum length ' + 'allowed: %s. Not sending event to socket.', + len(serialized_event), self._MAX_MONITOR_EVENT_LENGTH + ) + return + self._socket.sendto(serialized_event, self._address) diff -Nru python-botocore-1.4.70/botocore/paginate.py python-botocore-1.16.19+repack/botocore/paginate.py --- python-botocore-1.4.70/botocore/paginate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/paginate.py 2020-05-28 19:26:08.000000000 +0000 @@ -13,7 +13,7 @@ from itertools import tee -from six import string_types +from botocore.compat import six import jmespath import json @@ -27,6 +27,152 @@ log = logging.getLogger(__name__) +class TokenEncoder(object): + """Encodes dictionaries into opaque strings. + + This for the most part json dumps + base64 encoding, but also supports + having bytes in the dictionary in addition to the types that json can + handle by default. + + This is intended for use in encoding pagination tokens, which in some + cases can be complex structures and / or contain bytes. + """ + + def encode(self, token): + """Encodes a dictionary to an opaque string. + + :type token: dict + :param token: A dictionary containing pagination information, + particularly the service pagination token(s) but also other boto + metadata. + + :rtype: str + :returns: An opaque string + """ + try: + # Try just using json dumps first to avoid having to traverse + # and encode the dict. In 99.9999% of cases this will work. + json_string = json.dumps(token) + except (TypeError, UnicodeDecodeError): + # If normal dumping failed, go through and base64 encode all bytes. + encoded_token, encoded_keys = self._encode(token, []) + + # Save the list of all the encoded key paths. We can safely + # assume that no service will ever use this key. + encoded_token['boto_encoded_keys'] = encoded_keys + + # Now that the bytes are all encoded, dump the json. + json_string = json.dumps(encoded_token) + + # base64 encode the json string to produce an opaque token string. + return base64.b64encode(json_string.encode('utf-8')).decode('utf-8') + + def _encode(self, data, path): + """Encode bytes in given data, keeping track of the path traversed.""" + if isinstance(data, dict): + return self._encode_dict(data, path) + elif isinstance(data, list): + return self._encode_list(data, path) + elif isinstance(data, six.binary_type): + return self._encode_bytes(data, path) + else: + return data, [] + + def _encode_list(self, data, path): + """Encode any bytes in a list, noting the index of what is encoded.""" + new_data = [] + encoded = [] + for i, value in enumerate(data): + new_path = path + [i] + new_value, new_encoded = self._encode(value, new_path) + new_data.append(new_value) + encoded.extend(new_encoded) + return new_data, encoded + + def _encode_dict(self, data, path): + """Encode any bytes in a dict, noting the index of what is encoded.""" + new_data = {} + encoded = [] + for key, value in data.items(): + new_path = path + [key] + new_value, new_encoded = self._encode(value, new_path) + new_data[key] = new_value + encoded.extend(new_encoded) + return new_data, encoded + + def _encode_bytes(self, data, path): + """Base64 encode a byte string.""" + return base64.b64encode(data).decode('utf-8'), [path] + + +class TokenDecoder(object): + """Decodes token strings back into dictionaries. + + This performs the inverse operation to the TokenEncoder, accepting + opaque strings and decoding them into a useable form. + """ + + def decode(self, token): + """Decodes an opaque string to a dictionary. + + :type token: str + :param token: A token string given by the botocore pagination + interface. + + :rtype: dict + :returns: A dictionary containing pagination information, + particularly the service pagination token(s) but also other boto + metadata. + """ + json_string = base64.b64decode(token.encode('utf-8')).decode('utf-8') + decoded_token = json.loads(json_string) + + # Remove the encoding metadata as it is read since it will no longer + # be needed. + encoded_keys = decoded_token.pop('boto_encoded_keys', None) + if encoded_keys is None: + return decoded_token + else: + return self._decode(decoded_token, encoded_keys) + + def _decode(self, token, encoded_keys): + """Find each encoded value and decode it.""" + for key in encoded_keys: + encoded = self._path_get(token, key) + decoded = base64.b64decode(encoded.encode('utf-8')) + self._path_set(token, key, decoded) + return token + + def _path_get(self, data, path): + """Return the nested data at the given path. + + For instance: + data = {'foo': ['bar', 'baz']} + path = ['foo', 0] + ==> 'bar' + """ + # jmespath isn't used here because it would be difficult to actually + # create the jmespath query when taking all of the unknowns of key + # structure into account. Gross though this is, it is simple and not + # very error prone. + d = data + for step in path: + d = d[step] + return d + + def _path_set(self, data, path, value): + """Set the value of a key in the given data. + + Example: + data = {'foo': ['bar', 'baz']} + path = ['foo', 1] + value = 'bin' + ==> data = {'foo': ['bar', 'bin']} + """ + container = self._path_get(data, path[:-1]) + container[path[-1]] = value + + class PaginatorModel(object): def __init__(self, paginator_config): self._paginator_config = paginator_config['pagination'] @@ -57,6 +203,8 @@ self._resume_token = None self._non_aggregate_key_exprs = non_aggregate_keys self._non_aggregate_part = {} + self._token_encoder = TokenEncoder() + self._token_decoder = TokenDecoder() @property def result_keys(self): @@ -79,8 +227,7 @@ dict_keys = sorted(value.keys()) if token_keys == dict_keys: - self._resume_token = base64.b64encode( - json.dumps(value).encode('utf-8')).decode('utf-8') + self._resume_token = self._token_encoder.encode(value) else: raise ValueError("Bad starting token: %s" % value) @@ -92,6 +239,12 @@ current_kwargs = self._op_kwargs previous_next_token = None next_token = dict((key, None) for key in self._input_token) + if self._starting_token is not None: + # If the starting token exists, populate the next_token with the + # values inside it. This ensures that we have the service's + # pagination token on hand if we need to truncate after the + # first response. + next_token = self._parse_starting_token()[0] # The number of items from result_key we've seen so far. total_items = 0 first_request = True @@ -110,6 +263,11 @@ parsed, primary_result_key, starting_truncation) first_request = False self._record_non_aggregate_key_values(parsed) + else: + # If this isn't the first request, we have already sliced into + # the first request and had to make additional requests after. + # We no longer need to add this to truncation. + starting_truncation = 0 current_response = primary_result_key.search(parsed) if current_response is None: current_response = [] @@ -200,9 +358,10 @@ def _inject_token_into_kwargs(self, op_kwargs, next_token): for name, token in next_token.items(): - if token is None or token == 'None': - continue - op_kwargs[name] = token + if (token is not None) and (token != 'None'): + op_kwargs[name] = token + elif name in op_kwargs: + del op_kwargs[name] def _handle_first_request(self, parsed, primary_result_key, starting_truncation): @@ -210,7 +369,7 @@ # and only return the truncated amount. starting_truncation = self._parse_starting_token()[1] all_data = primary_result_key.search(parsed) - if isinstance(all_data, (list, string_types)): + if isinstance(all_data, (list, six.string_types)): data = all_data[starting_truncation:] else: data = None @@ -228,7 +387,7 @@ sample = token.search(parsed) if isinstance(sample, list): empty_value = [] - elif isinstance(sample, string_types): + elif isinstance(sample, six.string_types): empty_value = '' elif isinstance(sample, (int, float)): empty_value = 0 @@ -320,7 +479,7 @@ # Now both result_value and existing_value contain something if isinstance(result_value, list): existing_value.extend(result_value) - elif isinstance(result_value, (int, float, string_types)): + elif isinstance(result_value, (int, float, six.string_types)): # Modify the existing result with the sum or concatenation set_value_from_jmespath( complete_result, result_expression.expression, @@ -337,8 +496,7 @@ # The starting token is a dict passed as a base64 encoded string. next_token = self._starting_token try: - next_token = json.loads( - base64.b64decode(next_token).decode('utf-8')) + next_token = self._token_decoder.decode(next_token) index = 0 if 'boto_truncate_amount' in next_token: index = next_token.get('boto_truncate_amount') @@ -364,8 +522,10 @@ try: index = int(parts.pop()) except ValueError: - raise ValueError("Bad starting token: %s" % - self._starting_token) + # This doesn't look like a valid old-style token, so we're + # passing it along as an opaque service token. + parts = [self._starting_token] + for part in parts: if part == 'None': next_token.append(None) @@ -393,7 +553,8 @@ class Paginator(object): PAGE_ITERATOR_CLS = PageIterator - def __init__(self, method, pagination_config): + def __init__(self, method, pagination_config, model): + self._model = model self._method = method self._pagination_cfg = pagination_config self._output_token = self._get_output_tokens(self._pagination_cfg) @@ -471,11 +632,17 @@ max_items = int(max_items) page_size = pagination_config.get('PageSize', None) if page_size is not None: - if self._pagination_cfg.get('limit_key', None) is None: + if self._limit_key is None: raise PaginationError( message="PageSize parameter is not supported for the " "pagination interface for this operation.") - page_size = int(page_size) + input_members = self._model.input_shape.members + limit_key_shape = input_members.get(self._limit_key) + if limit_key_shape.type_name == 'string': + if not isinstance(page_size, six.string_types): + page_size = str(page_size) + else: + page_size = int(page_size) return { 'MaxItems': max_items, 'StartingToken': pagination_config.get('StartingToken', None), diff -Nru python-botocore-1.4.70/botocore/parsers.py python-botocore-1.16.19+repack/botocore/parsers.py --- python-botocore-1.4.70/botocore/parsers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/parsers.py 2020-05-28 19:26:16.000000000 +0000 @@ -65,6 +65,30 @@ XML body parsing logic and the ``BaseRestParser`` to get the HTTP header/status code/query string parsing. +Additionally, there are event stream parsers that are used by the other parsers +to wrap streaming bodies that represent a stream of events. The +BaseEventStreamParser extends from ResponseParser and defines the logic for +parsing values from the headers and payload of a message from the underlying +binary encoding protocol. Currently, event streams support parsing bodies +encoded as JSON and XML through the following hierarchy. + + + +--------------+ + |ResponseParser| + +--------------+ + ^ ^ ^ + +--------------------+ | +------------------+ + | | | + +----------+----------+ +----------+----------+ +-------+------+ + |BaseXMLResponseParser| |BaseEventStreamParser| |BaseJSONParser| + +---------------------+ +---------------------+ +--------------+ + ^ ^ ^ ^ + | | | | + | | | | + +-+----------------+-+ +-+-----------------+-+ + |EventStreamXMLParser| |EventStreamJSONParser| + +--------------------+ +---------------------+ + Return Values ============= @@ -97,8 +121,10 @@ import logging from botocore.compat import six, XMLParseError +from botocore.eventstream import EventStream, NoInitialResponseError -from botocore.utils import parse_timestamp, merge_dicts +from botocore.utils import parse_timestamp, merge_dicts, \ + is_json_value_header, lowercase_dict LOG = logging.getLogger(__name__) @@ -168,6 +194,7 @@ """ DEFAULT_ENCODING = 'utf-8' + EVENT_STREAM_PARSER_CLS = None def __init__(self, timestamp_parser=None, blob_parser=None): if timestamp_parser is None: @@ -176,6 +203,10 @@ if blob_parser is None: blob_parser = self._default_blob_parser self._blob_parser = blob_parser + self._event_stream_parser = None + if self.EVENT_STREAM_PARSER_CLS is not None: + self._event_stream_parser = self.EVENT_STREAM_PARSER_CLS( + timestamp_parser, blob_parser) def _default_blob_parser(self, value): # Blobs are always returned as bytes type (this matters on python3). @@ -205,18 +236,35 @@ if response['status_code'] >= 301: if self._is_generic_error_response(response): parsed = self._do_generic_error_parse(response) + elif self._is_modeled_error_shape(shape): + parsed = self._do_modeled_error_parse(response, shape) + # We don't want to decorate the modeled fields with metadata + return parsed else: parsed = self._do_error_parse(response, shape) else: parsed = self._do_parse(response, shape) - # Inject HTTPStatusCode key in the response metadata if the - # response metadata exists. - if isinstance(parsed, dict) and 'ResponseMetadata' in parsed: - parsed['ResponseMetadata']['HTTPStatusCode'] = ( - response['status_code']) - parsed['ResponseMetadata']['HTTPHeaders'] = dict(response['headers']) + + # We don't want to decorate event stream responses with metadata + if shape and shape.serialization.get('eventstream'): + return parsed + + # Add ResponseMetadata if it doesn't exist and inject the HTTP + # status code and headers from the response. + if isinstance(parsed, dict): + response_metadata = parsed.get('ResponseMetadata', {}) + response_metadata['HTTPStatusCode'] = response['status_code'] + # Ensure that the http header keys are all lower cased. Older + # versions of urllib3 (< 1.11) would unintentionally do this for us + # (see urllib3#633). We need to do this conversion manually now. + headers = response['headers'] + response_metadata['HTTPHeaders'] = lowercase_dict(headers) + parsed['ResponseMetadata'] = response_metadata return parsed + def _is_modeled_error_shape(self, shape): + return shape is not None and shape.metadata.get('exception', False) + def _is_generic_error_response(self, response): # There are times when a service will respond with a generic # error response such as: @@ -230,6 +278,9 @@ # To prevent this case from happening we first need to check # whether or not this response looks like the generic response. if response['status_code'] >= 500: + if 'body' not in response or response['body'] is None: + return True + body = response['body'].strip() return body.startswith(b'') or not body @@ -252,6 +303,10 @@ raise NotImplementedError( "%s._do_error_parse" % self.__class__.__name__) + def _do_modeled_error_parse(self, response, shape, parsed): + raise NotImplementedError( + "%s._do_modeled_error_parse" % self.__class__.__name__) + def _parse_shape(self, shape, node): handler = getattr(self, '_handle_%s' % shape.type_name, self._default_handle) @@ -269,6 +324,11 @@ def _default_handle(self, shape, value): return value + def _create_event_stream(self, response, shape): + parser = self._event_stream_parser + name = response['context'].get('operation_name') + return EventStream(response['body'], shape, parser, name) + class BaseXMLResponseParser(ResponseParser): def __init__(self, timestamp_parser=None, blob_parser=None): @@ -313,10 +373,13 @@ def _handle_structure(self, shape, node): parsed = {} members = shape.members + if shape.metadata.get('exception', False): + node = self._get_error_root(node) xml_dict = self._build_name_to_xml_node(node) for member_name in members: member_shape = members[member_name] - if 'location' in member_shape.serialization: + if 'location' in member_shape.serialization or \ + member_shape.serialization.get('eventheader'): # All members with locations have already been handled, # so we don't need to parse these members. continue @@ -336,6 +399,13 @@ parsed[member_name] = attribs[location_name] return parsed + def _get_error_root(self, original_root): + if self._node_tag(original_root) == 'ErrorResponse': + for child in original_root: + if self._node_tag(child) == 'Error': + return child + return original_root + def _member_key_name(self, shape, member_name): # This method is needed because we have to special case flattened list # with a serialization name. If this is the case we use the @@ -384,12 +454,13 @@ except XMLParseError as e: raise ResponseParserError( "Unable to parse response (%s), " - "invalid XML received:\n%s" % (e, xml_string)) + "invalid XML received. Further retries may succeed:\n%s" % + (e, xml_string)) return root def _replace_nodes(self, parsed): for key, value in parsed.items(): - if value.getchildren(): + if list(value): sub_dict = self._build_name_to_xml_node(value) parsed[key] = self._replace_nodes(sub_dict) else: @@ -446,7 +517,13 @@ parsed['ResponseMetadata'] = {'RequestId': parsed.pop('RequestId')} return parsed + def _do_modeled_error_parse(self, response, shape): + return self._parse_body_as_xml(response, shape, inject_metadata=False) + def _do_parse(self, response, shape): + return self._parse_body_as_xml(response, shape, inject_metadata=True) + + def _parse_body_as_xml(self, response, shape, inject_metadata=True): xml_contents = response['body'] root = self._parse_xml_string_to_dom(xml_contents) parsed = {} @@ -457,7 +534,8 @@ shape.serialization['resultWrapper'], root) parsed = self._parse_shape(shape, start) - self._inject_response_metadata(root, parsed) + if inject_metadata: + self._inject_response_metadata(root, parsed) return parsed def _find_result_wrapped_shape(self, element_name, xml_root_node): @@ -496,11 +574,20 @@ # This is different from QueryParser in that it's RequestID, # not RequestId original = super(EC2QueryParser, self)._do_error_parse(response, shape) - original['ResponseMetadata'] = { - 'RequestId': original.pop('RequestID') - } + if 'RequestID' in original: + original['ResponseMetadata'] = { + 'RequestId': original.pop('RequestID') + } return original + def _get_error_root(self, original_root): + for child in original_root: + if self._node_tag(child) == 'Errors': + for errors_child in child: + if self._node_tag(errors_child) == 'Error': + return errors_child + return original_root + class BaseJSONParser(ResponseParser): @@ -551,7 +638,10 @@ # so we need to check for both. error['Error']['Message'] = body.get('message', body.get('Message', '')) - code = body.get('__type') + # if the message did not contain an error code + # include the response status code + response_code = response.get('status_code') + code = body.get('__type', response_code and str(response_code)) if code is not None: # code has a couple forms as well: # * "com.aws.dynamodb.vAPI#ProvisionedThroughputExceededException" @@ -571,23 +661,145 @@ if not body_contents: return {} body = body_contents.decode(self.DEFAULT_ENCODING) - original_parsed = json.loads(body) - return original_parsed + try: + original_parsed = json.loads(body) + return original_parsed + except ValueError: + # if the body cannot be parsed, include + # the literal string as the message + return { 'message': body } + + +class BaseEventStreamParser(ResponseParser): + + def _do_parse(self, response, shape): + final_parsed = {} + if shape.serialization.get('eventstream'): + event_type = response['headers'].get(':event-type') + event_shape = shape.members.get(event_type) + if event_shape: + final_parsed[event_type] = self._do_parse(response, event_shape) + else: + self._parse_non_payload_attrs(response, shape, + shape.members, final_parsed) + self._parse_payload(response, shape, shape.members, final_parsed) + return final_parsed + + def _do_error_parse(self, response, shape): + exception_type = response['headers'].get(':exception-type') + exception_shape = shape.members.get(exception_type) + if exception_shape is not None: + original_parsed = self._initial_body_parse(response['body']) + body = self._parse_shape(exception_shape, original_parsed) + error = { + 'Error': { + 'Code': exception_type, + 'Message': body.get('Message', body.get('message', '')) + } + } + else: + error = { + 'Error': { + 'Code': response['headers'].get(':error-code', ''), + 'Message': response['headers'].get(':error-message', ''), + } + } + return error + + def _parse_payload(self, response, shape, member_shapes, final_parsed): + if shape.serialization.get('event'): + for name in member_shapes: + member_shape = member_shapes[name] + if member_shape.serialization.get('eventpayload'): + body = response['body'] + if member_shape.type_name == 'blob': + parsed_body = body + elif member_shape.type_name == 'string': + parsed_body = body.decode(self.DEFAULT_ENCODING) + else: + raw_parse = self._initial_body_parse(body) + parsed_body = self._parse_shape(member_shape, raw_parse) + final_parsed[name] = parsed_body + return + # If we didn't find an explicit payload, use the current shape + original_parsed = self._initial_body_parse(response['body']) + body_parsed = self._parse_shape(shape, original_parsed) + final_parsed.update(body_parsed) + + def _parse_non_payload_attrs(self, response, shape, + member_shapes, final_parsed): + headers = response['headers'] + for name in member_shapes: + member_shape = member_shapes[name] + if member_shape.serialization.get('eventheader'): + if name in headers: + value = headers[name] + if member_shape.type_name == 'timestamp': + # Event stream timestamps are an in milleseconds so we + # divide by 1000 to convert to seconds. + value = self._timestamp_parser(value / 1000.0) + final_parsed[name] = value + + def _initial_body_parse(self, body_contents): + # This method should do the initial xml/json parsing of the + # body. We we still need to walk the parsed body in order + # to convert types, but this method will do the first round + # of parsing. + raise NotImplementedError("_initial_body_parse") + + +class EventStreamJSONParser(BaseEventStreamParser, BaseJSONParser): + + def _initial_body_parse(self, body_contents): + return self._parse_body_as_json(body_contents) + + +class EventStreamXMLParser(BaseEventStreamParser, BaseXMLResponseParser): + + def _initial_body_parse(self, xml_string): + if not xml_string: + return xml.etree.cElementTree.Element('') + return self._parse_xml_string_to_dom(xml_string) class JSONParser(BaseJSONParser): - """Response parse for the "json" protocol.""" + + EVENT_STREAM_PARSER_CLS = EventStreamJSONParser + + """Response parser for the "json" protocol.""" def _do_parse(self, response, shape): - # The json.loads() gives us the primitive JSON types, - # but we need to traverse the parsed JSON data to convert - # to richer types (blobs, timestamps, etc. parsed = {} if shape is not None: - original_parsed = self._parse_body_as_json(response['body']) - parsed = self._parse_shape(shape, original_parsed) + event_name = shape.event_stream_name + if event_name: + parsed = self._handle_event_stream(response, shape, event_name) + else: + parsed = self._handle_json_body(response['body'], shape) self._inject_response_metadata(parsed, response['headers']) return parsed + def _do_modeled_error_parse(self, response, shape): + return self._handle_json_body(response['body'], shape) + + def _handle_event_stream(self, response, shape, event_name): + event_stream_shape = shape.members[event_name] + event_stream = self._create_event_stream(response, event_stream_shape) + try: + event = event_stream.get_initial_response() + except NoInitialResponseError: + error_msg = 'First event was not of type initial-response' + raise ResponseParserError(error_msg) + parsed = self._handle_json_body(event.payload, shape) + parsed[event_name] = event_stream + return parsed + + def _handle_json_body(self, raw_body, shape): + # The json.loads() gives us the primitive JSON types, + # but we need to traverse the parsed JSON data to convert + # to richer types (blobs, timestamps, etc. + parsed_json = self._parse_body_as_json(raw_body) + return self._parse_shape(shape, parsed_json) + class BaseRestParser(ResponseParser): @@ -595,12 +807,20 @@ final_parsed = {} final_parsed['ResponseMetadata'] = self._populate_response_metadata( response) + self._add_modeled_parse(response, shape, final_parsed) + return final_parsed + + def _add_modeled_parse(self, response, shape, final_parsed): if shape is None: return final_parsed member_shapes = shape.members self._parse_non_payload_attrs(response, shape, member_shapes, final_parsed) self._parse_payload(response, shape, member_shapes, final_parsed) + + def _do_modeled_error_parse(self, response, shape): + final_parsed = {} + self._add_modeled_parse(response, shape, final_parsed) return final_parsed def _populate_response_metadata(self, response): @@ -610,7 +830,7 @@ metadata['RequestId'] = headers['x-amzn-requestid'] elif 'x-amz-request-id' in headers: metadata['RequestId'] = headers['x-amz-request-id'] - # HostId is what it's called whenver this value is returned + # HostId is what it's called whenever this value is returned # in an XML response body, so to be consistent, we'll always # call is HostId. metadata['HostId'] = headers.get('x-amz-id-2', '') @@ -622,7 +842,10 @@ # shape is used for the body payload. payload_member_name = shape.serialization['payload'] body_shape = member_shapes[payload_member_name] - if body_shape.type_name in ['string', 'blob']: + if body_shape.serialization.get('eventstream'): + body = self._create_event_stream(response, body_shape) + final_parsed[payload_member_name] = body + elif body_shape.type_name in ['string', 'blob']: # This is a stream body = response['body'] if isinstance(body, bytes): @@ -677,9 +900,18 @@ # of parsing. raise NotImplementedError("_initial_body_parse") + def _handle_string(self, shape, value): + parsed = value + if is_json_value_header(shape): + decoded = base64.b64decode(value).decode(self.DEFAULT_ENCODING) + parsed = json.loads(decoded) + return parsed + class RestJSONParser(BaseRestParser, BaseJSONParser): + EVENT_STREAM_PARSER_CLS = EventStreamJSONParser + def _initial_body_parse(self, body_contents): return self._parse_body_as_json(body_contents) @@ -705,6 +937,8 @@ class RestXMLParser(BaseRestParser, BaseXMLResponseParser): + EVENT_STREAM_PARSER_CLS = EventStreamXMLParser + def _initial_body_parse(self, xml_string): if not xml_string: return xml.etree.cElementTree.Element('') @@ -772,6 +1006,11 @@ merge_dicts(default, parsed) return default + @_text_content + def _handle_string(self, shape, text): + text = super(RestXMLParser, self)._handle_string(shape, text) + return text + PROTOCOL_PARSERS = { 'ec2': EC2QueryParser, diff -Nru python-botocore-1.4.70/botocore/regions.py python-botocore-1.16.19+repack/botocore/regions.py --- python-botocore-1.4.70/botocore/regions.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/regions.py 2020-05-28 19:26:16.000000000 +0000 @@ -115,7 +115,19 @@ result.append(endpoint_name) return result - def construct_endpoint(self, service_name, region_name=None): + def construct_endpoint(self, service_name, region_name=None, partition_name=None): + if partition_name is not None: + valid_partition = None + for partition in self._endpoint_data['partitions']: + if partition['partition'] == partition_name: + valid_partition = partition + + if valid_partition is not None: + result = self._endpoint_for_partition(valid_partition, service_name, + region_name, True) + return result + return None + # Iterate over each partition until a match is found. for partition in self._endpoint_data['partitions']: result = self._endpoint_for_partition( @@ -123,7 +135,8 @@ if result: return result - def _endpoint_for_partition(self, partition, service_name, region_name): + def _endpoint_for_partition(self, partition, service_name, region_name, + force_partition=False): # Get the service from the partition, or an empty template. service_data = partition['services'].get( service_name, DEFAULT_SERVICE_DATA) @@ -138,7 +151,7 @@ return self._resolve( partition, service_name, service_data, region_name) # Check to see if the endpoint provided is valid for the partition. - if self._region_match(partition, region_name): + if self._region_match(partition, region_name) or force_partition: # Use the partition endpoint if set and not regionalized. partition_endpoint = service_data.get('partitionEndpoint') is_regionalized = service_data.get('isRegionalized', True) diff -Nru python-botocore-1.4.70/botocore/response.py python-botocore-1.16.19+repack/botocore/response.py --- python-botocore-1.4.70/botocore/response.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/response.py 2020-05-28 19:26:08.000000000 +0000 @@ -19,7 +19,8 @@ from botocore import ScalarTypes from botocore.hooks import first_non_none_response from botocore.compat import json, set_socket_timeout, XMLParseError -from botocore.exceptions import IncompleteReadError +from botocore.exceptions import IncompleteReadError, ReadTimeoutError +from urllib3.exceptions import ReadTimeoutError as URLLib3ReadTimeoutError from botocore import parsers @@ -38,6 +39,8 @@ is raised. """ + _DEFAULT_CHUNK_SIZE = 1024 + def __init__(self, raw_stream, content_length): self._raw_stream = raw_stream self._content_length = content_length @@ -71,15 +74,59 @@ If the amt argument is omitted, read all data. """ - chunk = self._raw_stream.read(amt) + try: + chunk = self._raw_stream.read(amt) + except URLLib3ReadTimeoutError as e: + # TODO: the url will be None as urllib3 isn't setting it yet + raise ReadTimeoutError(endpoint_url=e.url, error=e) self._amount_read += len(chunk) - if not chunk or amt is None: + if amt is None or (not chunk and amt > 0): # If the server sends empty contents or # we ask to read all of the contents, then we know # we need to verify the content length. self._verify_content_length() return chunk + def __iter__(self): + """Return an iterator to yield 1k chunks from the raw stream. + """ + return self.iter_chunks(self._DEFAULT_CHUNK_SIZE) + + def __next__(self): + """Return the next 1k chunk from the raw stream. + """ + current_chunk = self.read(self._DEFAULT_CHUNK_SIZE) + if current_chunk: + return current_chunk + raise StopIteration() + + next = __next__ + + def iter_lines(self, chunk_size=1024): + """Return an iterator to yield lines from the raw stream. + + This is achieved by reading chunk of bytes (of size chunk_size) at a + time from the raw stream, and then yielding lines from there. + """ + pending = b'' + for chunk in self.iter_chunks(chunk_size): + lines = (pending + chunk).splitlines(True) + for line in lines[:-1]: + yield line.splitlines()[0] + pending = lines[-1] + if pending: + yield pending.splitlines()[0] + + def iter_chunks(self, chunk_size=_DEFAULT_CHUNK_SIZE): + """Return an iterator to yield chunks of chunk_size bytes from the raw + stream. + """ + while True: + current_chunk = self.read(chunk_size) + if current_chunk == b"": + break + yield current_chunk + def _verify_content_length(self): # See: https://github.com/kennethreitz/requests/issues/1855 # Basically, our http library doesn't do this for us, so we have diff -Nru python-botocore-1.4.70/botocore/retries/adaptive.py python-botocore-1.16.19+repack/botocore/retries/adaptive.py --- python-botocore-1.4.70/botocore/retries/adaptive.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/adaptive.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,117 @@ +import math +import logging +import threading + +from botocore.retries import bucket +from botocore.retries import throttling +from botocore.retries import standard + + +logger = logging.getLogger(__name__) + + +def register_retry_handler(client): + clock = bucket.Clock() + rate_adjustor = throttling.CubicCalculator(starting_max_rate=0, + start_time=clock.current_time()) + token_bucket = bucket.TokenBucket(max_rate=1, clock=clock) + rate_clocker = RateClocker(clock) + throttling_detector = standard.ThrottlingErrorDetector( + retry_event_adapter=standard.RetryEventAdapter(), + ) + limiter = ClientRateLimiter( + rate_adjustor=rate_adjustor, + rate_clocker=rate_clocker, + token_bucket=token_bucket, + throttling_detector=throttling_detector, + clock=clock, + ) + client.meta.events.register( + 'before-send', limiter.on_sending_request, + ) + client.meta.events.register( + 'needs-retry', limiter.on_receiving_response, + ) + return limiter + + +class ClientRateLimiter(object): + + _MAX_RATE_ADJUST_SCALE = 2.0 + + def __init__(self, rate_adjustor, rate_clocker, token_bucket, + throttling_detector, clock): + self._rate_adjustor = rate_adjustor + self._rate_clocker = rate_clocker + self._token_bucket = token_bucket + self._throttling_detector = throttling_detector + self._clock = clock + self._enabled = False + self._lock = threading.Lock() + + def on_sending_request(self, request, **kwargs): + if self._enabled: + self._token_bucket.acquire() + + # Hooked up to needs-retry. + def on_receiving_response(self, **kwargs): + measured_rate = self._rate_clocker.record() + timestamp = self._clock.current_time() + with self._lock: + if not self._throttling_detector.is_throttling_error(**kwargs): + throttling = False + new_rate = self._rate_adjustor.success_received(timestamp) + else: + throttling = True + if not self._enabled: + rate_to_use = measured_rate + else: + rate_to_use = min(measured_rate, self._token_bucket.max_rate) + new_rate = self._rate_adjustor.error_received( + rate_to_use, timestamp) + logger.debug("Throttling response received, new send rate: %s " + "measured rate: %s, token bucket capacity " + "available: %s", new_rate, measured_rate, + self._token_bucket.available_capacity) + self._enabled = True + self._token_bucket.max_rate = min( + new_rate, self._MAX_RATE_ADJUST_SCALE * measured_rate) + + +class RateClocker(object): + """Tracks the rate at which a client is sending a request.""" + + _DEFAULT_SMOOTHING = 0.8 + # Update the rate every _TIME_BUCKET_RANGE seconds. + _TIME_BUCKET_RANGE = 0.5 + + def __init__(self, clock, smoothing=_DEFAULT_SMOOTHING, + time_bucket_range=_TIME_BUCKET_RANGE): + self._clock = clock + self._measured_rate = 0 + self._smoothing = smoothing + self._last_bucket = math.floor(self._clock.current_time()) + self._time_bucket_scale = 1 / self._TIME_BUCKET_RANGE + self._count = 0 + self._lock = threading.Lock() + + def record(self, amount=1): + with self._lock: + t = self._clock.current_time() + bucket = math.floor( + t * self._time_bucket_scale) / self._time_bucket_scale + self._count += amount + if bucket > self._last_bucket: + current_rate = self._count / float( + bucket - self._last_bucket) + self._measured_rate = ( + (current_rate * self._smoothing) + + (self._measured_rate * (1 - self._smoothing)) + ) + self._count = 0 + self._last_bucket = bucket + return self._measured_rate + + @property + def measured_rate(self): + return self._measured_rate diff -Nru python-botocore-1.4.70/botocore/retries/base.py python-botocore-1.16.19+repack/botocore/retries/base.py --- python-botocore-1.4.70/botocore/retries/base.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/base.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,27 @@ +class BaseRetryBackoff(object): + + def delay_amount(self, context): + """Calculate how long we should delay before retrying. + + :type context: RetryContext + + """ + raise NotImplementedError("delay_amount") + + +class BaseRetryableChecker(object): + """Base class for determining if a retry should happen. + + This base class checks for specific retryable conditions. + A single retryable checker doesn't necessarily indicate a retry + will happen. It's up to the ``RetryPolicy`` to use its + ``BaseRetryableCheckers`` to make the final decision on whether a retry + should happen. + """ + + def is_retryable(self, context): + """Returns True if retryable, False if not. + + :type context: RetryContext + """ + raise NotImplementedError("is_retryable") \ No newline at end of file diff -Nru python-botocore-1.4.70/botocore/retries/bucket.py python-botocore-1.16.19+repack/botocore/retries/bucket.py --- python-botocore-1.4.70/botocore/retries/bucket.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/bucket.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,114 @@ +"""This module implements token buckets used for client side throttling.""" +import time +import threading + +from botocore.exceptions import CapacityNotAvailableError + + +class Clock(object): + def __init__(self): + pass + + def sleep(self, amount): + time.sleep(amount) + + def current_time(self): + return time.time() + + +class TokenBucket(object): + + _MIN_RATE = 0.5 + + def __init__(self, max_rate, clock, min_rate=_MIN_RATE): + self._fill_rate = None + self._max_capacity = None + self._current_capacity = 0 + self._clock = clock + self._last_timestamp = None + self._min_rate = min_rate + self._lock = threading.Lock() + self._new_fill_rate_condition = threading.Condition(self._lock) + self.max_rate = max_rate + + @property + def max_rate(self): + return self._fill_rate + + @max_rate.setter + def max_rate(self, value): + with self._new_fill_rate_condition: + # Before we can change the rate we need to fill any pending + # tokens we might have based on the current rate. If we don't + # do this it means everything since the last recorded timestamp + # will accumulate at the rate we're about to set which isn't + # correct. + self._refill() + self._fill_rate = max(value, self._min_rate) + if value >= 1: + self._max_capacity = value + else: + self._max_capacity = 1 + # If we're scaling down, we also can't have a capacity that's + # more than our max_capacity. + self._current_capacity = min(self._current_capacity, + self._max_capacity) + self._new_fill_rate_condition.notify() + + @property + def max_capacity(self): + return self._max_capacity + + @property + def available_capacity(self): + return self._current_capacity + + def acquire(self, amount=1, block=True): + """Acquire token or return amount of time until next token available. + + If block is True, then this method will block until there's sufficient + capacity to acquire the desired amount. + + If block is False, then this method will return True is capacity + was successfully acquired, False otherwise. + + """ + with self._new_fill_rate_condition: + return self._acquire(amount=amount, block=block) + + def _acquire(self, amount, block): + self._refill() + if amount <= self._current_capacity: + self._current_capacity -= amount + return True + else: + if not block: + raise CapacityNotAvailableError() + # Not enough capacity. + sleep_amount = self._sleep_amount(amount) + while sleep_amount > 0: + # Until python3.2, wait() always returned None so we can't + # tell if a timeout occurred waiting on the cond var. + # Because of this we'll unconditionally call _refill(). + # The downside to this is that we were waken up via + # a notify(), we're calling unnecessarily calling _refill() an + # extra time. + self._new_fill_rate_condition.wait(sleep_amount) + self._refill() + sleep_amount = self._sleep_amount(amount) + self._current_capacity -= amount + return True + + def _sleep_amount(self, amount): + return (amount - self._current_capacity) / self._fill_rate + + def _refill(self): + timestamp = self._clock.current_time() + if self._last_timestamp is None: + self._last_timestamp = timestamp + return + current_capacity = self._current_capacity + fill_amount = (timestamp - self._last_timestamp) * self._fill_rate + new_capacity = min(self._max_capacity, current_capacity + fill_amount) + self._current_capacity = new_capacity + self._last_timestamp = timestamp diff -Nru python-botocore-1.4.70/botocore/retries/__init__.py python-botocore-1.16.19+repack/botocore/retries/__init__.py --- python-botocore-1.4.70/botocore/retries/__init__.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,6 @@ +"""New retry v2 handlers. + +This package obsoletes the botocore/retryhandler.py module and contains +new retry logic. + +""" diff -Nru python-botocore-1.4.70/botocore/retries/quota.py python-botocore-1.16.19+repack/botocore/retries/quota.py --- python-botocore-1.4.70/botocore/retries/quota.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/quota.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,57 @@ +"""Retry quota implementation. + + +""" +import threading + + +class RetryQuota(object): + INITIAL_CAPACITY = 500 + + def __init__(self, initial_capacity=INITIAL_CAPACITY, lock=None): + self._max_capacity = initial_capacity + self._available_capacity = initial_capacity + if lock is None: + lock = threading.Lock() + self._lock = lock + + def acquire(self, capacity_amount): + """Attempt to aquire a certain amount of capacity. + + If there's not sufficient amount of capacity available, ``False`` + is returned. Otherwise, ``True`` is returned, which indicates that + capacity was successfully allocated. + + """ + # The acquire() is only called when we encounter a retryable + # response so we aren't worried about locking the entire method. + with self._lock: + if capacity_amount > self._available_capacity: + return False + self._available_capacity -= capacity_amount + return True + + def release(self, capacity_amount): + """Release capacity back to the retry quota. + + The capacity being released will be truncated if necessary + to ensure the max capacity is never exceeded. + + """ + # Implementation note: The release() method is called as part + # of the "after-call" event, which means it gets invoked for + # every API call. In the common case where the request is + # successful and we're at full capacity, we can avoid locking. + # We can't exceed max capacity so there's no work we have to do. + if self._max_capacity == self._available_capacity: + return + with self._lock: + amount = min( + self._max_capacity - self._available_capacity, + capacity_amount + ) + self._available_capacity += amount + + @property + def available_capacity(self): + return self._available_capacity diff -Nru python-botocore-1.4.70/botocore/retries/special.py python-botocore-1.16.19+repack/botocore/retries/special.py --- python-botocore-1.4.70/botocore/retries/special.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/special.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,48 @@ +"""Special cased retries. + +These are additional retry cases we still have to handle from the legacy +retry handler. They don't make sense as part of the standard mode retry +module. Ideally we should be able to remove this module. + +""" +import logging +from binascii import crc32 +from botocore.retries.base import BaseRetryableChecker + + +logger = logging.getLogger(__name__) + + +# TODO: This is an ideal candidate for the retryable trait once that's +# available. +class RetryIDPCommunicationError(BaseRetryableChecker): + + _SERVICE_NAME = 'sts' + + def is_retryable(self, context): + service_name = context.operation_model.service_model.service_name + if service_name != self._SERVICE_NAME: + return False + error_code = context.get_error_code() + return error_code == 'IDPCommunicationError' + + +class RetryDDBChecksumError(BaseRetryableChecker): + + _CHECKSUM_HEADER = 'x-amz-crc32' + _SERVICE_NAME = 'dynamodb' + + def is_retryable(self, context): + service_name = context.operation_model.service_model.service_name + if service_name != self._SERVICE_NAME: + return False + if context.http_response is None: + return False + checksum = context.http_response.headers.get(self._CHECKSUM_HEADER) + if checksum is None: + return False + actual_crc32 = crc32(context.http_response.content) & 0xffffffff + if actual_crc32 != int(checksum): + logger.debug("DynamoDB crc32 checksum does not match, " + "expected: %s, actual: %s", checksum, actual_crc32) + return True diff -Nru python-botocore-1.4.70/botocore/retries/standard.py python-botocore-1.16.19+repack/botocore/retries/standard.py --- python-botocore-1.4.70/botocore/retries/standard.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/standard.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,495 @@ +"""Standard retry behavior. + +This contains the default standard retry behavior. +It provides consistent behavior with other AWS SDKs. + +The key base classes uses for retries: + + * ``BaseRetryableChecker`` - Use to check a specific condition that + indicates a retry should happen. This can include things like + max attempts, HTTP status code checks, error code checks etc. + * ``RetryBackoff`` - Use to determine how long we should backoff until + we retry a request. This is the class that will implement delay such + as exponential backoff. + * ``RetryPolicy`` - Main class that determines if a retry should + happen. It can combine data from a various BaseRetryableCheckers + to make a final call as to whether or not a retry should happen. + It then uses a ``BaseRetryBackoff`` to determine how long to delay. + * ``RetryHandler`` - The bridge between botocore's event system + used by endpoint.py to manage retries and the interfaces defined + in this module. + +This allows us to define an API that has minimal coupling to the event +based API used by botocore. + +""" +import random +import logging + +from botocore.exceptions import ConnectionError, HTTPClientError +from botocore.exceptions import ReadTimeoutError, ConnectTimeoutError +from botocore.retries import quota +from botocore.retries import special +from botocore.retries.base import BaseRetryBackoff, BaseRetryableChecker + +DEFAULT_MAX_ATTEMPTS = 3 +logger = logging.getLogger(__name__) + + +def register_retry_handler(client, max_attempts=DEFAULT_MAX_ATTEMPTS): + retry_quota = RetryQuotaChecker(quota.RetryQuota()) + + service_id = client.meta.service_model.service_id + service_event_name = service_id.hyphenize() + client.meta.events.register('after-call.%s' % service_event_name, + retry_quota.release_retry_quota) + + handler = RetryHandler( + retry_policy=RetryPolicy( + retry_checker=StandardRetryConditions(max_attempts=max_attempts), + retry_backoff=ExponentialBackoff(), + ), + retry_event_adapter=RetryEventAdapter(), + retry_quota=retry_quota, + ) + + unique_id = 'retry-config-%s' % service_event_name + client.meta.events.register( + 'needs-retry.%s' % service_event_name, handler.needs_retry, + unique_id=unique_id + ) + return handler + + +class RetryHandler(object): + """Bridge between botocore's event system and this module. + + This class is intended to be hooked to botocore's event system + as an event handler. + """ + def __init__(self, retry_policy, retry_event_adapter, retry_quota): + self._retry_policy = retry_policy + self._retry_event_adapter = retry_event_adapter + self._retry_quota = retry_quota + + def needs_retry(self, **kwargs): + """Connect as a handler to the needs-retry event.""" + retry_delay = None + context = self._retry_event_adapter.create_retry_context(**kwargs) + if self._retry_policy.should_retry(context): + # Before we can retry we need to ensure we have sufficient + # capacity in our retry quota. + if self._retry_quota.acquire_retry_quota(context): + retry_delay = self._retry_policy.compute_retry_delay(context) + logger.debug("Retry needed, retrying request after " + "delay of: %s", retry_delay) + else: + logger.debug("Retry needed but retry quota reached, " + "not retrying request.") + else: + logger.debug("Not retrying request.") + self._retry_event_adapter.adapt_retry_response_from_context( + context) + return retry_delay + + +class RetryEventAdapter(object): + """Adapter to existing retry interface used in the endpoints layer. + + This existing interface for determining if a retry needs to happen + is event based and used in ``botocore.endpoint``. The interface has + grown organically over the years and could use some cleanup. This + adapter converts that interface into the interface used by the + new retry strategies. + + """ + def create_retry_context(self, **kwargs): + """Create context based on needs-retry kwargs.""" + response = kwargs['response'] + if response is None: + # If response is None it means that an exception was raised + # because we never received a response from the service. This + # could be something like a ConnectionError we get from our + # http layer. + http_response = None + parsed_response = None + else: + http_response, parsed_response = response + # This provides isolation between the kwargs emitted in the + # needs-retry event, and what this module uses to check for + # retries. + context = RetryContext( + attempt_number=kwargs['attempts'], + operation_model=kwargs['operation'], + http_response=http_response, + parsed_response=parsed_response, + caught_exception=kwargs['caught_exception'], + request_context=kwargs['request_dict']['context'], + ) + return context + + def adapt_retry_response_from_context(self, context): + """Modify response back to user back from context.""" + # This will mutate attributes that are returned back to the end + # user. We do it this way so that all the various retry classes + # don't mutate any input parameters from the needs-retry event. + metadata = context.get_retry_metadata() + if context.parsed_response is not None: + context.parsed_response.setdefault( + 'ResponseMetadata', {}).update(metadata) + + +# Implementation note: this is meant to encapsulate all the misc stuff +# that gets sent in the needs-retry event. This is mapped so that params +# are more clear and explicit. +class RetryContext(object): + """Normalize a response that we use to check if a retry should occur. + + This class smoothes over the different types of responses we may get + from a service including: + + * A modeled error response from the service that contains a service + code and error message. + * A raw HTTP response that doesn't contain service protocol specific + error keys. + * An exception received while attempting to retrieve a response. + This could be a ConnectionError we receive from our HTTP layer which + could represent that we weren't able to receive a response from + the service. + + This class guarantees that at least one of the above attributes will be + non None. + + This class is meant to provide a read-only view into the properties + associated with a possible retryable response. None of the properties + are meant to be modified directly. + + """ + def __init__(self, attempt_number, operation_model=None, + parsed_response=None, http_response=None, + caught_exception=None, request_context=None): + # 1-based attempt number. + self.attempt_number = attempt_number + self.operation_model = operation_model + # This is the parsed response dictionary we get from parsing + # the HTTP response from the service. + self.parsed_response = parsed_response + # This is an instance of botocore.awsrequest.AWSResponse. + self.http_response = http_response + # This is a subclass of Exception that will be non None if + # an exception was raised when retrying to retrieve a response. + self.caught_exception = caught_exception + # This is the request context dictionary that's added to the + # request dict. This is used to story any additional state + # about the request. We use this for storing retry quota + # capacity. + if request_context is None: + request_context = {} + self.request_context = request_context + self._retry_metadata = {} + + # These are misc helper methods to avoid duplication in the various + # checkers. + def get_error_code(self): + """Check if there was a parsed response with an error code. + + If we could not find any error codes, ``None`` is returned. + + """ + if self.parsed_response is None: + return + return self.parsed_response.get('Error', {}).get('Code') + + def add_retry_metadata(self, **kwargs): + """Add key/value pairs to the retry metadata. + + This allows any objects during the retry process to add + metadata about any checks/validations that happened. + + This gets added to the response metadata in the retry handler. + + """ + self._retry_metadata.update(**kwargs) + + def get_retry_metadata(self): + return self._retry_metadata.copy() + + +class RetryPolicy(object): + def __init__(self, retry_checker, retry_backoff): + self._retry_checker = retry_checker + self._retry_backoff = retry_backoff + + def should_retry(self, context): + return self._retry_checker.is_retryable(context) + + def compute_retry_delay(self, context): + return self._retry_backoff.delay_amount(context) + + +class ExponentialBackoff(BaseRetryBackoff): + + _BASE = 2 + _MAX_BACKOFF = 20 + + def __init__(self, max_backoff=20, random=random.random): + self._base = self._BASE + self._max_backoff = max_backoff + self._random = random + + def delay_amount(self, context): + """Calculates delay based on exponential backoff. + + This class implements truncated binary exponential backoff + with jitter:: + + t_i = min(rand(0, 1) * 2 ** attempt, MAX_BACKOFF) + + where ``i`` is the request attempt (0 based). + + """ + # The context.attempt_number is a 1-based value, but we have + # to calculate the delay based on i based a 0-based value. We + # want the first delay to just be ``rand(0, 1)``. + return min( + self._random() * (self._base ** (context.attempt_number - 1)), + self._max_backoff + ) + + +class MaxAttemptsChecker(BaseRetryableChecker): + def __init__(self, max_attempts): + self._max_attempts = max_attempts + + def is_retryable(self, context): + under_max_attempts = context.attempt_number < self._max_attempts + if not under_max_attempts: + logger.debug("Max attempts of %s reached.", self._max_attempts) + context.add_retry_metadata(MaxAttemptsReached=True) + return under_max_attempts + + +class TransientRetryableChecker(BaseRetryableChecker): + _TRANSIENT_ERROR_CODES = [ + 'RequestTimeout', + 'RequestTimeoutException', + 'PriorRequestNotComplete', + ] + _TRANSIENT_STATUS_CODES = [500, 502, 503, 504] + _TRANSIENT_EXCEPTION_CLS = ( + ConnectionError, + HTTPClientError, + ) + + def __init__(self, transient_error_codes=None, + transient_status_codes=None, + transient_exception_cls=None): + if transient_error_codes is None: + transient_error_codes = self._TRANSIENT_ERROR_CODES[:] + if transient_status_codes is None: + transient_status_codes = self._TRANSIENT_STATUS_CODES[:] + if transient_exception_cls is None: + transient_exception_cls = self._TRANSIENT_EXCEPTION_CLS + self._transient_error_codes = transient_error_codes + self._transient_status_codes = transient_status_codes + self._transient_exception_cls = transient_exception_cls + + def is_retryable(self, context): + if context.get_error_code() in self._transient_error_codes: + return True + if context.http_response is not None: + if context.http_response.status_code in \ + self._transient_status_codes: + return True + if context.caught_exception is not None: + return isinstance(context.caught_exception, + self._transient_exception_cls) + return False + + +class ThrottledRetryableChecker(BaseRetryableChecker): + # This is the union of all error codes we've seen that represent + # a throttled error. + _THROTTLED_ERROR_CODES = [ + 'Throttling', + 'ThrottlingException', + 'ThrottledException', + 'RequestThrottledException', + 'TooManyRequestsException', + 'ProvisionedThroughputExceededException', + 'TransactionInProgressException', + 'RequestLimitExceeded', + 'BandwidthLimitExceeded', + 'LimitExceededException', + 'RequestThrottled', + 'SlowDown', + 'PriorRequestNotComplete', + 'EC2ThrottledException', + ] + + def __init__(self, throttled_error_codes=None): + if throttled_error_codes is None: + throttled_error_codes = self._THROTTLED_ERROR_CODES[:] + self._throttled_error_codes = throttled_error_codes + + def is_retryable(self, context): + # Only the error code from a parsed service response is used + # to determine if the response is a throttled response. + return context.get_error_code() in self._throttled_error_codes + + +class ModeledRetryableChecker(BaseRetryableChecker): + """Check if an error has been modeled as retryable.""" + + def __init__(self): + self._error_detector = ModeledRetryErrorDetector() + + def is_retryable(self, context): + error_code = context.get_error_code() + if error_code is None: + return False + return self._error_detector.detect_error_type(context) is not None + + +class ModeledRetryErrorDetector(object): + """Checks whether or not an error is a modeled retryable error.""" + # There are return values from the detect_error_type() method. + TRANSIENT_ERROR = 'TRANSIENT_ERROR' + THROTTLING_ERROR = 'THROTTLING_ERROR' + # This class is lower level than ModeledRetryableChecker, which + # implements BaseRetryableChecker. This object allows you to distinguish + # between the various types of retryable errors. + + def detect_error_type(self, context): + """Detect the error type associated with an error code and model. + + This will either return: + + * ``self.TRANSIENT_ERROR`` - If the error is a transient error + * ``self.THROTTLING_ERROR`` - If the error is a throttling error + * ``None`` - If the error is neither type of error. + + """ + error_code = context.get_error_code() + op_model = context.operation_model + if op_model is None or not op_model.error_shapes: + return + for shape in op_model.error_shapes: + if shape.metadata.get('retryable') is not None: + # Check if this error code matches the shape. This can + # be either by name or by a modeled error code. + error_code_to_check = ( + shape.metadata.get('error', {}).get('code') + or shape.name + ) + if error_code == error_code_to_check: + if shape.metadata['retryable'].get('throttling'): + return self.THROTTLING_ERROR + return self.TRANSIENT_ERROR + + +class ThrottlingErrorDetector(object): + def __init__(self, retry_event_adapter): + self._modeled_error_detector = ModeledRetryErrorDetector() + self._fixed_error_code_detector = ThrottledRetryableChecker() + self._retry_event_adapter = retry_event_adapter + + # This expects the kwargs from needs-retry to be passed through. + def is_throttling_error(self, **kwargs): + context = self._retry_event_adapter.create_retry_context(**kwargs) + if self._fixed_error_code_detector.is_retryable(context): + return True + error_type = self._modeled_error_detector.detect_error_type(context) + return error_type == self._modeled_error_detector.THROTTLING_ERROR + + +class StandardRetryConditions(BaseRetryableChecker): + """Concrete class that implements the standard retry policy checks. + + Specifically: + + not max_attempts and (transient or throttled or modeled_retry) + + """ + + def __init__(self, max_attempts=DEFAULT_MAX_ATTEMPTS): + # Note: This class is for convenience so you can have the + # standard retry condition in a single class. + self._max_attempts_checker = MaxAttemptsChecker(max_attempts) + self._additional_checkers = OrRetryChecker([ + TransientRetryableChecker(), + ThrottledRetryableChecker(), + ModeledRetryableChecker(), + OrRetryChecker([ + special.RetryIDPCommunicationError(), + special.RetryDDBChecksumError(), + ]) + ]) + + def is_retryable(self, context): + return (self._max_attempts_checker.is_retryable(context) and + self._additional_checkers.is_retryable(context)) + + +class OrRetryChecker(BaseRetryableChecker): + def __init__(self, checkers): + self._checkers = checkers + + def is_retryable(self, context): + return any(checker.is_retryable(context) for checker in self._checkers) + + +class RetryQuotaChecker(object): + _RETRY_COST = 5 + _NO_RETRY_INCREMENT = 1 + _TIMEOUT_RETRY_REQUEST = 10 + _TIMEOUT_EXCEPTIONS = (ConnectTimeoutError, ReadTimeoutError) + + # Implementation note: We're not making this a BaseRetryableChecker + # because this isn't just a check if we can retry. This also changes + # state so we have to careful when/how we call this. Making it + # a BaseRetryableChecker implies you can call .is_retryable(context) + # as many times as you want and not affect anything. + + def __init__(self, quota): + self._quota = quota + # This tracks the last amount + self._last_amount_acquired = None + + def acquire_retry_quota(self, context): + if self._is_timeout_error(context): + capacity_amount = self._TIMEOUT_RETRY_REQUEST + else: + capacity_amount = self._RETRY_COST + success = self._quota.acquire(capacity_amount) + if success: + # We add the capacity amount to the request context so we know + # how much to release later. The capacity amount can vary based + # on the error. + context.request_context['retry_quota_capacity'] = capacity_amount + return True + context.add_retry_metadata(RetryQuotaReached=True) + return False + + def _is_timeout_error(self, context): + return isinstance(context.caught_exception, self._TIMEOUT_EXCEPTIONS) + + # This is intended to be hooked up to ``after-call``. + def release_retry_quota(self, context, http_response, **kwargs): + # There's three possible options. + # 1. The HTTP response did not have a 2xx response. In that case we + # give no quota back. + # 2. The HTTP request was successful and was never retried. In + # that case we give _NO_RETRY_INCREMENT back. + # 3. The API call had retries, and we eventually receive an HTTP + # response with a 2xx status code. In that case we give back + # whatever quota was associated with the last acquisition. + if http_response is None: + return + status_code = http_response.status_code + if 200 <= status_code < 300: + if 'retry_quota_capacity' not in context: + self._quota.release(self._NO_RETRY_INCREMENT) + else: + capacity_amount = context['retry_quota_capacity'] + self._quota.release(capacity_amount) diff -Nru python-botocore-1.4.70/botocore/retries/throttling.py python-botocore-1.16.19+repack/botocore/retries/throttling.py --- python-botocore-1.4.70/botocore/retries/throttling.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retries/throttling.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,54 @@ +from collections import namedtuple + +CubicParams = namedtuple('CubicParams', ['w_max', 'k', 'last_fail']) + + +class CubicCalculator(object): + _SCALE_CONSTANT = 0.4 + _BETA = 0.7 + + def __init__(self, starting_max_rate, + start_time, + scale_constant=_SCALE_CONSTANT, beta=_BETA): + self._w_max = starting_max_rate + self._scale_constant = scale_constant + self._beta = beta + self._k = self._calculate_zero_point() + self._last_fail = start_time + + def _calculate_zero_point(self): + k = ((self._w_max * (1 - self._beta)) / self._scale_constant) ** (1 / 3.0) + return k + + def success_received(self, timestamp): + dt = timestamp - self._last_fail + new_rate = ( + self._scale_constant * (dt - self._k) ** 3 + self._w_max + ) + return new_rate + + def error_received(self, current_rate, timestamp): + # Consider not having this be the current measured rate. + + # We have a new max rate, which is the current rate we were sending + # at when we received an error response. + self._w_max = current_rate + self._k = self._calculate_zero_point() + self._last_fail = timestamp + return current_rate * self._beta + + def get_params_snapshot(self): + """Return a read-only object of the current cubic parameters. + + These parameters are intended to be used for debug/troubleshooting + purposes. These object is a read-only snapshot and cannot be used + to modify the behavior of the CUBIC calculations. + + New parameters may be added to this object in the future. + + """ + return CubicParams( + w_max=self._w_max, + k=self._k, + last_fail=self._last_fail + ) diff -Nru python-botocore-1.4.70/botocore/retryhandler.py python-botocore-1.16.19+repack/botocore/retryhandler.py --- python-botocore-1.4.70/botocore/retryhandler.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/retryhandler.py 2020-05-28 19:26:08.000000000 +0000 @@ -17,10 +17,10 @@ import logging from binascii import crc32 -from botocore.vendored.requests import ConnectionError, Timeout -from botocore.vendored.requests.packages.urllib3.exceptions import ClosedPoolError - -from botocore.exceptions import ChecksumError, EndpointConnectionError +from botocore.exceptions import ( + ChecksumError, EndpointConnectionError, ReadTimeoutError, + ConnectionError, ConnectionClosedError, +) logger = logging.getLogger(__name__) @@ -30,7 +30,7 @@ # this mapping with more specific exceptions. EXCEPTION_MAP = { 'GENERAL_CONNECTION_ERROR': [ - ConnectionError, ClosedPoolError, Timeout, + ConnectionError, ConnectionClosedError, ReadTimeoutError, EndpointConnectionError ], } diff -Nru python-botocore-1.4.70/botocore/serialize.py python-botocore-1.16.19+repack/botocore/serialize.py --- python-botocore-1.4.70/botocore/serialize.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/serialize.py 2020-05-28 19:26:08.000000000 +0000 @@ -39,14 +39,16 @@ """ import re import base64 -from xml.etree import ElementTree import calendar +import datetime +from xml.etree import ElementTree from botocore.compat import six from botocore.compat import json, formatdate from botocore.utils import parse_to_aware_datetime from botocore.utils import percent_encode +from botocore.utils import is_json_value_header from botocore import validate @@ -86,6 +88,7 @@ a dictionary of: * 'url_path' + * 'host_prefix' * 'query_string' * 'headers' * 'body' @@ -102,6 +105,7 @@ 'headers': {}, 'method': 'POST', 'query_string': '', + 'host_prefix': 'value.', 'url_path': '/'} :param parameters: The dictionary input parameters for the @@ -137,12 +141,17 @@ return int(calendar.timegm(value.timetuple())) def _timestamp_rfc822(self, value): + if isinstance(value, datetime.datetime): + value = self._timestamp_unixtimestamp(value) return formatdate(value, usegmt=True) - def _convert_timestamp_to_str(self, value): + def _convert_timestamp_to_str(self, value, timestamp_format=None): + if timestamp_format is None: + timestamp_format = self.TIMESTAMP_FORMAT + timestamp_format = timestamp_format.lower() datetime_obj = parse_to_aware_datetime(value) converter = getattr( - self, '_timestamp_%s' % self.TIMESTAMP_FORMAT.lower()) + self, '_timestamp_%s' % timestamp_format) final_value = converter(datetime_obj) return final_value @@ -160,6 +169,21 @@ return base64.b64encode(value).strip().decode( self.DEFAULT_ENCODING) + def _expand_host_prefix(self, parameters, operation_model): + operation_endpoint = operation_model.endpoint + if operation_endpoint is None: + return None + + host_prefix_expression = operation_endpoint['hostPrefix'] + input_members = operation_model.input_shape.members + host_labels = [ + member for member, shape in input_members.items() + if shape.serialization.get('hostLabel') + ] + format_kwargs = dict((name, parameters[name]) for name in host_labels) + + return host_prefix_expression.format(**format_kwargs) + class QuerySerializer(Serializer): @@ -170,6 +194,9 @@ serialized = self._create_default_request() serialized['method'] = operation_model.http.get('method', self.DEFAULT_METHOD) + serialized['headers'] = { + 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8' + } # The query serializer only deals with body params so # that's what we hand off the _serialize_* methods. body_params = self.MAP_TYPE() @@ -178,6 +205,11 @@ if shape is not None: self._serialize(body_params, parameters, shape) serialized['body'] = body_params + + host_prefix = self._expand_host_prefix(parameters, operation_model) + if host_prefix is not None: + serialized['host_prefix'] = host_prefix + return serialized def _serialize(self, serialized, value, shape, prefix=''): @@ -241,7 +273,8 @@ serialized[prefix] = self._get_base64(value) def _serialize_type_timestamp(self, serialized, value, shape, prefix=''): - serialized[prefix] = self._convert_timestamp_to_str(value) + serialized[prefix] = self._convert_timestamp_to_str( + value, shape.serialization.get('timestampFormat')) def _serialize_type_boolean(self, serialized, value, shape, prefix=''): if value: @@ -300,11 +333,16 @@ 'X-Amz-Target': target, 'Content-Type': 'application/x-amz-json-%s' % json_version, } - body = {} + body = self.MAP_TYPE() input_shape = operation_model.input_shape if input_shape is not None: self._serialize(body, parameters, input_shape) serialized['body'] = json.dumps(body).encode(self.DEFAULT_ENCODING) + + host_prefix = self._expand_host_prefix(parameters, operation_model) + if host_prefix is not None: + serialized['host_prefix'] = host_prefix + return serialized def _serialize(self, serialized, value, shape, key=None): @@ -351,7 +389,8 @@ serialized[key] = value def _serialize_type_timestamp(self, serialized, value, shape, key): - serialized[key] = self._convert_timestamp_to_str(value) + serialized[key] = self._convert_timestamp_to_str( + value, shape.serialization.get('timestampFormat')) def _serialize_type_blob(self, serialized, value, shape, key): serialized[key] = self._get_base64(value) @@ -367,6 +406,8 @@ Subclasses must implement the ``_serialize_body_params`` method. """ + QUERY_STRING_TIMESTAMP_FORMAT = 'iso8601' + HEADER_TIMESTAMP_FORMAT = 'rfc822' # This is a list of known values for the "location" key in the # serialization dict. The location key tells us where on the request # to put the serialized value. @@ -414,6 +455,11 @@ serialized['headers'] = partitioned['headers'] self._serialize_payload(partitioned, parameters, serialized, shape, shape_members) + + host_prefix = self._expand_host_prefix(parameters, operation_model) + if host_prefix is not None: + serialized['host_prefix'] = host_prefix + return serialized def _render_uri_template(self, uri_template, params): @@ -482,6 +528,13 @@ elif isinstance(param_value, bool): partitioned['query_string_kwargs'][ key_name] = str(param_value).lower() + elif member.type_name == 'timestamp': + timestamp_format = member.serialization.get( + 'timestampFormat', self.QUERY_STRING_TIMESTAMP_FORMAT) + partitioned['query_string_kwargs'][ + key_name] = self._convert_timestamp_to_str( + param_value, timestamp_format + ) else: partitioned['query_string_kwargs'][key_name] = param_value elif location == 'header': @@ -514,7 +567,13 @@ if shape.type_name == 'timestamp': datetime_obj = parse_to_aware_datetime(value) timestamp = calendar.timegm(datetime_obj.utctimetuple()) - return self._timestamp_rfc822(timestamp) + timestamp_format = shape.serialization.get( + 'timestampFormat', self.HEADER_TIMESTAMP_FORMAT) + return self._convert_timestamp_to_str(timestamp, timestamp_format) + elif is_json_value_header(shape): + # Serialize with no spaces after separators to save space in + # the header. + return self._get_base64(json.dumps(value, separators=(',', ':'))) else: return value @@ -615,7 +674,8 @@ def _serialize_type_timestamp(self, xmlnode, params, shape, name): node = ElementTree.SubElement(xmlnode, name) - node.text = self._convert_timestamp_to_str(params) + node.text = self._convert_timestamp_to_str( + params, shape.serialization.get('timestampFormat')) def _default_serialize(self, xmlnode, params, shape, name): node = ElementTree.SubElement(xmlnode, name) diff -Nru python-botocore-1.4.70/botocore/session.py python-botocore-1.16.19+repack/botocore/session.py --- python-botocore-1.4.70/botocore/session.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/session.py 2020-05-28 19:26:08.000000000 +0000 @@ -20,22 +20,38 @@ import logging import os import platform +import socket +import warnings from botocore import __version__ +from botocore import UNSIGNED import botocore.configloader import botocore.credentials import botocore.client +from botocore.configprovider import ConfigValueStore +from botocore.configprovider import ConfigChainFactory +from botocore.configprovider import create_botocore_default_config_mapping +from botocore.configprovider import BOTOCORE_DEFAUT_SESSION_VARIABLES from botocore.exceptions import ConfigNotFound, ProfileNotFound from botocore.exceptions import UnknownServiceError, PartialCredentialsError +from botocore.errorfactory import ClientExceptionsFactory from botocore import handlers from botocore.hooks import HierarchicalEmitter, first_non_none_response +from botocore.hooks import EventAliaser from botocore.loaders import create_loader from botocore.parsers import ResponseParserFactory from botocore.regions import EndpointResolver from botocore.model import ServiceModel +from botocore import monitoring from botocore import paginate from botocore import waiter from botocore import retryhandler, translate +from botocore import utils +from botocore.utils import EVENT_ALIASES +from botocore.compat import MutableMapping + + +logger = logging.getLogger(__name__) class Session(object): @@ -49,57 +65,7 @@ :ivar profile: The current profile. """ - #: A default dictionary that maps the logical names for session variables - #: to the specific environment variables and configuration file names - #: that contain the values for these variables. - #: When creating a new Session object, you can pass in your own dictionary - #: to remap the logical names or to add new logical names. You can then - #: get the current value for these variables by using the - #: ``get_config_variable`` method of the :class:`botocore.session.Session` - #: class. - #: These form the keys of the dictionary. The values in the dictionary - #: are tuples of (, , , - #: ). - #: The conversion func is a function that takes the configuration value - #: as an argument and returns the converted value. If this value is - #: None, then the configuration value is returned unmodified. This - #: conversion function can be used to type convert config values to - #: values other than the default values of strings. - #: The ``profile`` and ``config_file`` variables should always have a - #: None value for the first entry in the tuple because it doesn't make - #: sense to look inside the config file for the location of the config - #: file or for the default profile to use. - #: The ``config_name`` is the name to look for in the configuration file, - #: the ``env var`` is the OS environment variable (``os.environ``) to - #: use, and ``default_value`` is the value to use if no value is otherwise - #: found. - SESSION_VARIABLES = { - # logical: config_file, env_var, default_value, conversion_func - 'profile': (None, ['AWS_DEFAULT_PROFILE', 'AWS_PROFILE'], None, None), - 'region': ('region', 'AWS_DEFAULT_REGION', None, None), - 'data_path': ('data_path', 'AWS_DATA_PATH', None, None), - 'config_file': (None, 'AWS_CONFIG_FILE', '~/.aws/config', None), - 'ca_bundle': ('ca_bundle', 'AWS_CA_BUNDLE', None, None), - 'api_versions': ('api_versions', None, {}, None), - - # This is the shared credentials file amongst sdks. - 'credentials_file': (None, 'AWS_SHARED_CREDENTIALS_FILE', - '~/.aws/credentials', None), - - # These variables only exist in the config file. - - # This is the number of seconds until we time out a request to - # the instance metadata service. - 'metadata_service_timeout': ( - 'metadata_service_timeout', - 'AWS_METADATA_SERVICE_TIMEOUT', 1, int), - # This is the number of request attempts we make until we give - # up trying to retrieve data from the instance metadata service. - 'metadata_service_num_attempts': ( - 'metadata_service_num_attempts', - 'AWS_METADATA_SERVICE_NUM_ATTEMPTS', 1, int), - 'parameter_validation': ('parameter_validation', None, True, None), - } + SESSION_VARIABLES = copy.copy(BOTOCORE_DEFAUT_SESSION_VARIABLES) #: The default format string to use when configuring the botocore logger. LOG_FORMAT = '%(asctime)s - %(name)s - %(levelname)s - %(message)s' @@ -130,13 +96,11 @@ the session is created. """ - self.session_var_map = copy.copy(self.SESSION_VARIABLES) - if session_vars: - self.session_var_map.update(session_vars) if event_hooks is None: - self._events = HierarchicalEmitter() + self._original_handler = HierarchicalEmitter() else: - self._events = event_hooks + self._original_handler = event_hooks + self._events = EventAliaser(self._original_handler) if include_builtin_handlers: self._register_builtin_handlers(self._events) self.user_agent_name = 'Botocore' @@ -155,8 +119,13 @@ if profile is not None: self._session_instance_vars['profile'] = profile self._client_config = None + self._last_client_region_used = None self._components = ComponentLocator() + self._internal_components = ComponentLocator() self._register_components() + self.session_var_map = SessionVarDict(self, self.SESSION_VARIABLES) + if session_vars is not None: + self.session_var_map.update(session_vars) def _register_components(self): self._register_credential_provider() @@ -164,14 +133,21 @@ self._register_endpoint_resolver() self._register_event_emitter() self._register_response_parser_factory() + self._register_exceptions_factory() + self._register_config_store() + self._register_monitor() def _register_event_emitter(self): self._components.register_component('event_emitter', self._events) def _register_credential_provider(self): self._components.lazy_register_component( - 'credential_provider', - lambda: botocore.credentials.create_credential_resolver(self)) + 'credential_provider', self._create_credential_resolver) + + def _create_credential_resolver(self): + return botocore.credentials.create_credential_resolver( + self, region_name=self._last_client_region_used + ) def _register_data_loader(self): self._components.lazy_register_component( @@ -183,13 +159,17 @@ loader = self.get_component('data_loader') endpoints = loader.load_data('endpoints') return EndpointResolver(endpoints) - self._components.lazy_register_component( + self._internal_components.lazy_register_component( 'endpoint_resolver', create_default_resolver) def _register_response_parser_factory(self): self._components.register_component('response_parser_factory', ResponseParserFactory()) + def _register_exceptions_factory(self): + self._internal_components.register_component( + 'exceptions_factory', ClientExceptionsFactory()) + def _register_builtin_handlers(self, events): for spec in handlers.BUILTIN_HANDLERS: if len(spec) == 2: @@ -202,6 +182,35 @@ elif register_type is handlers.REGISTER_LAST: self._events.register_last(event_name, handler) + def _register_config_store(self): + config_store_component = ConfigValueStore( + mapping=create_botocore_default_config_mapping(self) + ) + self._components.register_component('config_store', + config_store_component) + + def _register_monitor(self): + self._internal_components.lazy_register_component( + 'monitor', self._create_csm_monitor) + + def _create_csm_monitor(self): + if self.get_config_variable('csm_enabled'): + client_id = self.get_config_variable('csm_client_id') + host = self.get_config_variable('csm_host') + port = self.get_config_variable('csm_port') + handler = monitoring.Monitor( + adapter=monitoring.MonitorEventAdapter(), + publisher=monitoring.SocketPublisher( + socket=socket.socket(socket.AF_INET, socket.SOCK_DGRAM), + host=host, + port=port, + serializer=monitoring.CSMSerializer( + csm_client_id=client_id) + ) + ) + return handler + return None + @property def available_profiles(self): return list(self._build_profile_map().keys()) @@ -221,75 +230,43 @@ self._profile = profile return self._profile - def get_config_variable(self, logical_name, - methods=('instance', 'env', 'config')): - """ - Retrieve the value associated with the specified logical_name - from the environment or the config file. Values found in the - environment variable take precedence of values found in the - config file. If no value can be found, a None will be returned. - - :type logical_name: str - :param logical_name: The logical name of the session variable - you want to retrieve. This name will be mapped to the - appropriate environment variable name for this session as - well as the appropriate config file entry. - - :type method: tuple - :param method: Defines which methods will be used to find - the variable value. By default, all available methods - are tried but you can limit which methods are used - by supplying a different value to this parameter. - Valid choices are: instance|env|config - - :returns: value of variable or None if not defined. - - """ - # Handle all the short circuit special cases first. - if logical_name not in self.session_var_map: - return - # Do the actual lookups. We need to handle - # 'instance', 'env', and 'config' locations, in that order. - value = None - var_config = self.session_var_map[logical_name] - if self._found_in_instance_vars(methods, logical_name): - return self._session_instance_vars[logical_name] - elif self._found_in_env(methods, var_config): - value = self._retrieve_from_env(var_config[1], os.environ) - elif self._found_in_config_file(methods, var_config): - value = self.get_scoped_config()[var_config[0]] - if value is None: - value = var_config[2] - if var_config[3] is not None: - value = var_config[3](value) + def get_config_variable(self, logical_name, methods=None): + if methods is not None: + return self._get_config_variable_with_custom_methods( + logical_name, methods) + return self.get_component('config_store').get_config_variable( + logical_name) + + def _get_config_variable_with_custom_methods(self, logical_name, methods): + # If a custom list of methods was supplied we need to perserve the + # behavior with the new system. To do so a new chain that is a copy of + # the old one will be constructed, but only with the supplied methods + # being added to the chain. This chain will be consulted for a value + # and then thrown out. This is not efficient, nor is the methods arg + # used in botocore, this is just for backwards compatibility. + chain_builder = SubsetChainConfigFactory(session=self, methods=methods) + mapping = create_botocore_default_config_mapping(self) + for name, config_options in self.session_var_map.items(): + config_name, env_vars, default, typecast = config_options + build_chain_config_args = { + 'conversion_func': typecast, + 'default': default, + } + if 'instance' in methods: + build_chain_config_args['instance_name'] = name + if 'env' in methods: + build_chain_config_args['env_var_names'] = env_vars + if 'config' in methods: + build_chain_config_args['config_property_name'] = config_name + mapping[name] = chain_builder.create_config_chain( + **build_chain_config_args + ) + config_store_component = ConfigValueStore( + mapping=mapping + ) + value = config_store_component.get_config_variable(logical_name) return value - def _found_in_instance_vars(self, methods, logical_name): - if 'instance' in methods: - return logical_name in self._session_instance_vars - return False - - def _found_in_env(self, methods, var_config): - return ( - 'env' in methods and - var_config[1] is not None and - self._retrieve_from_env(var_config[1], os.environ) is not None) - - def _found_in_config_file(self, methods, var_config): - if 'config' in methods and var_config[0] is not None: - return var_config[0] in self.get_scoped_config() - return False - - def _retrieve_from_env(self, names, environ): - # We need to handle the case where names is either - # a single value or a list of variables. - if not isinstance(names, list): - names = [names] - for name in names: - if name in environ: - return environ[name] - return None - def set_config_variable(self, logical_name, value): """Set a configuration variable to a specific value. @@ -314,8 +291,16 @@ :param value: The value to associate with the config variable. """ + logger.debug( + "Setting config variable for %s to %r", + logical_name, + value, + ) self._session_instance_vars[logical_name] = value + def instance_variables(self): + return copy.copy(self._session_instance_vars) + def get_scoped_config(self): """ Returns the config values from the config file scoped to the current @@ -448,7 +433,7 @@ Return a string suitable for use as a User-Agent header. The string will be of the form: - / Python/ / + / Python/ / Where: @@ -460,6 +445,7 @@ - py_ver is the version of the Python interpreter beng used. - plat_name is the name of the platform (e.g. Darwin) - plat_ver is the version of the platform + - exec_env is exec-env/$AWS_EXECUTION_ENV If ``user_agent_extra`` is not empty, then this value will be appended to the end of the user agent string. @@ -470,8 +456,11 @@ platform.python_version(), platform.system(), platform.release()) + if os.environ.get('AWS_EXECUTION_ENV') is not None: + base += ' exec-env/%s' % os.environ.get('AWS_EXECUTION_ENV') if self.user_agent_extra: base += ' %s' % self.user_agent_extra + return base def get_data(self, data_path): @@ -522,7 +511,8 @@ type_name='service-2', api_version=api_version ) - self._events.emit('service-data-loaded.%s' % service_name, + service_id = EVENT_ALIASES.get(service_name, service_name) + self._events.emit('service-data-loaded.%s' % service_id, service_data=service_data, service_name=service_name, session=self) return service_data @@ -688,7 +678,29 @@ return first_non_none_response(responses) def get_component(self, name): - return self._components.get_component(name) + try: + return self._components.get_component(name) + except ValueError: + if name in ['endpoint_resolver', 'exceptions_factory']: + warnings.warn( + 'Fetching the %s component with the get_component() ' + 'method is deprecated as the component has always been ' + 'considered an internal interface of botocore' % name, + DeprecationWarning) + return self._internal_components.get_component(name) + raise + + def _get_internal_component(self, name): + # While this method may be called by botocore classes outside of the + # Session, this method should **never** be used by a class that lives + # outside of botocore. + return self._internal_components.get_component(name) + + def _register_internal_component(self, name, component): + # While this method may be called by botocore classes outside of the + # Session, this method should **never** be used by a class that lives + # outside of botocore. + return self._internal_components.register_component(name, component) def register_component(self, name, component): self._components.register_component(name, component) @@ -779,13 +791,7 @@ elif default_client_config is not None: config = default_client_config - # Figure out the user-provided region based on the various - # configuration options. - if region_name is None: - if config and config.region_name is not None: - region_name = config.region_name - else: - region_name = self.get_config_variable('region') + region_name = self._resolve_region_name(region_name, config) # Figure out the verify value base on the various # configuration options. @@ -800,7 +806,9 @@ event_emitter = self.get_component('event_emitter') response_parser_factory = self.get_component( 'response_parser_factory') - if aws_access_key_id is not None and aws_secret_access_key is not None: + if config is not None and config.signature_version is UNSIGNED: + credentials = None + elif aws_access_key_id is not None and aws_secret_access_key is not None: credentials = botocore.credentials.Credentials( access_key=aws_access_key_id, secret_key=aws_secret_access_key, @@ -813,17 +821,43 @@ aws_secret_access_key)) else: credentials = self.get_credentials() - endpoint_resolver = self.get_component('endpoint_resolver') + endpoint_resolver = self._get_internal_component('endpoint_resolver') + exceptions_factory = self._get_internal_component('exceptions_factory') + config_store = self.get_component('config_store') client_creator = botocore.client.ClientCreator( loader, endpoint_resolver, self.user_agent(), event_emitter, - retryhandler, translate, response_parser_factory) + retryhandler, translate, response_parser_factory, + exceptions_factory, config_store) client = client_creator.create_client( service_name=service_name, region_name=region_name, is_secure=use_ssl, endpoint_url=endpoint_url, verify=verify, credentials=credentials, scoped_config=self.get_scoped_config(), client_config=config, api_version=api_version) + monitor = self._get_internal_component('monitor') + if monitor is not None: + monitor.register(client.meta.events) return client + def _resolve_region_name(self, region_name, config): + # Figure out the user-provided region based on the various + # configuration options. + if region_name is None: + if config and config.region_name is not None: + region_name = config.region_name + else: + region_name = self.get_config_variable('region') + # For any client that we create in retrieving credentials + # we want to create it using the same region as specified in + # creating this client. It is important to note though that the + # credentials client is only created once per session. So if a new + # client is created with a different region, its credential resolver + # will use the region of the first client. However, that is not an + # issue as of now because the credential resolver uses only STS and + # the credentials returned at regional endpoints are valid across + # all regions in the partition. + self._last_client_region_used = region_name + return region_name + def _missing_cred_vars(self, access_key, secret_key): if access_key is not None and secret_key is None: return 'aws_secret_access_key' @@ -837,7 +871,7 @@ :rtype: list :return: Returns a list of partition names (e.g., ["aws", "aws-cn"]) """ - resolver = self.get_component('endpoint_resolver') + resolver = self._get_internal_component('endpoint_resolver') return resolver.get_available_partitions() def get_available_regions(self, service_name, partition_name='aws', @@ -860,7 +894,7 @@ fips-us-gov-west-1, etc). :return: Returns a list of endpoint names (e.g., ["us-east-1"]). """ - resolver = self.get_component('endpoint_resolver') + resolver = self._get_internal_component('endpoint_resolver') results = [] try: service_data = self.get_service_data(service_name) @@ -907,6 +941,91 @@ pass +class SessionVarDict(MutableMapping): + def __init__(self, session, session_vars): + self._session = session + self._store = copy.copy(session_vars) + + def __getitem__(self, key): + return self._store[key] + + def __setitem__(self, key, value): + self._store[key] = value + self._update_config_store_from_session_vars(key, value) + + def __delitem__(self, key): + del self._store[key] + + def __iter__(self): + return iter(self._store) + + def __len__(self): + return len(self._store) + + def _update_config_store_from_session_vars(self, logical_name, + config_options): + # This is for backwards compatibility. The new preferred way to + # modify configuration logic is to use the component system to get + # the config_store component from the session, and then update + # a key with a custom config provider(s). + # This backwards compatibility method takes the old session_vars + # list of tuples and and transforms that into a set of updates to + # the config_store component. + config_chain_builder = ConfigChainFactory(session=self._session) + config_name, env_vars, default, typecast = config_options + config_store = self._session.get_component('config_store') + config_store.set_config_provider( + logical_name, + config_chain_builder.create_config_chain( + instance_name=logical_name, + env_var_names=env_vars, + config_property_names=config_name, + default=default, + conversion_func=typecast, + ) + ) + + +class SubsetChainConfigFactory(object): + """A class for creating backwards compatible configuration chains. + + This class can be used instead of + :class:`botocore.configprovider.ConfigChainFactory` to make it honor the + methods argument to get_config_variable. This class can be used to filter + out providers that are not in the methods tuple when creating a new config + chain. + """ + def __init__(self, session, methods, environ=None): + self._factory = ConfigChainFactory(session, environ) + self._supported_methods = methods + + def create_config_chain(self, instance_name=None, env_var_names=None, + config_property_name=None, default=None, + conversion_func=None): + """Build a config chain following the standard botocore pattern. + + This config chain factory will omit any providers not in the methods + tuple provided at initialization. For example if given the tuple + ('instance', 'config',) it will not inject the environment provider + into the standard config chain. This lets the botocore session support + the custom ``methods`` argument for all the default botocore config + variables when calling ``get_config_variable``. + """ + if 'instance' not in self._supported_methods: + instance_name = None + if 'env' not in self._supported_methods: + env_var_names = None + if 'config' not in self._supported_methods: + config_property_name = None + return self._factory.create_config_chain( + instance_name=instance_name, + env_var_names=env_var_names, + config_property_names=config_property_name, + default=default, + conversion_func=conversion_func, + ) + + def get_session(env_vars=None): """ Return a new session object. diff -Nru python-botocore-1.4.70/botocore/signers.py python-botocore-1.16.19+repack/botocore/signers.py --- python-botocore-1.4.70/botocore/signers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/signers.py 2020-05-28 19:26:08.000000000 +0000 @@ -38,8 +38,9 @@ signing pipeline, including overrides, request path manipulation, and disabling signing per operation. - :type service_name: string - :param service_name: Name of the service, e.g. ``S3`` + + :type service_id: botocore.model.ServiceId + :param service_id: The service id for the service, e.g. ``S3`` :type region_name: string :param region_name: Name of the service region, e.g. ``us-east-1`` @@ -57,15 +58,14 @@ :type event_emitter: :py:class:`~botocore.hooks.BaseEventHooks` :param event_emitter: Extension mechanism to fire events. - """ - def __init__(self, service_name, region_name, signing_name, + def __init__(self, service_id, region_name, signing_name, signature_version, credentials, event_emitter): - self._service_name = service_name self._region_name = region_name self._signing_name = signing_name self._signature_version = signature_version self._credentials = credentials + self._service_id = service_id # We need weakref to prevent leaking memory in Python 2.6 on Linux 2.6 self._event_emitter = weakref.proxy(event_emitter) @@ -90,7 +90,7 @@ return self.sign(operation_name, request) def sign(self, operation_name, request, region_name=None, - signing_type='standard', expires_in=None): + signing_type='standard', expires_in=None, signing_name=None): """Sign a request before it goes out over the wire. :type operation_name: string @@ -113,28 +113,41 @@ :type expires_in: int :param expires_in: The number of seconds the presigned url is valid for. This parameter is only valid for signing type 'presign-url'. + + :type signing_name: str + :param signing_name: The name to use for the service when signing. """ + explicit_region_name = region_name if region_name is None: region_name = self._region_name - signature_version = self._choose_signer(operation_name, signing_type) + if signing_name is None: + signing_name = self._signing_name + + signature_version = self._choose_signer( + operation_name, signing_type, request.context) # Allow mutating request before signing self._event_emitter.emit( - 'before-sign.{0}.{1}'.format(self._service_name, operation_name), - request=request, signing_name=self._signing_name, + 'before-sign.{0}.{1}'.format( + self._service_id.hyphenize(), operation_name), + request=request, signing_name=signing_name, region_name=self._region_name, - signature_version=signature_version, request_signer=self) + signature_version=signature_version, request_signer=self, + operation_name=operation_name + ) if signature_version != botocore.UNSIGNED: kwargs = { - 'signing_name': self._signing_name, + 'signing_name': signing_name, 'region_name': region_name, 'signature_version': signature_version } if expires_in is not None: kwargs['expires'] = expires_in - + if not explicit_region_name and request.context.get( + 'signing', {}).get('region'): + kwargs['region_name'] = request.context['signing']['region'] try: auth = self.get_auth_instance(**kwargs) except UnknownSignatureVersionError as e: @@ -146,7 +159,7 @@ auth.add_auth(request) - def _choose_signer(self, operation_name, signing_type): + def _choose_signer(self, operation_name, signing_type, context): """ Allow setting the signature version via the choose-signer event. A value of `botocore.UNSIGNED` means no signing will be performed. @@ -168,9 +181,10 @@ signature_version += suffix handler, response = self._event_emitter.emit_until_response( - 'choose-signer.{0}.{1}'.format(self._service_name, operation_name), + 'choose-signer.{0}.{1}'.format( + self._service_id.hyphenize(), operation_name), signing_name=self._signing_name, region_name=self._region_name, - signature_version=signature_version) + signature_version=signature_version, context=context) if response is not None: signature_version = response @@ -229,7 +243,8 @@ get_auth = get_auth_instance def generate_presigned_url(self, request_dict, operation_name, - expires_in=3600, region_name=None): + expires_in=3600, region_name=None, + signing_name=None): """Generates a presigned url :type request_dict: dict @@ -246,11 +261,14 @@ :type region_name: string :param region_name: The region name to sign the presigned url. + :type signing_name: str + :param signing_name: The name to use for the service when signing. + :returns: The presigned url """ request = create_request_object(request_dict) self.sign(operation_name, request, region_name, - 'presign-url', expires_in) + 'presign-url', expires_in, signing_name) request.prepare() return request.url @@ -382,6 +400,61 @@ data).replace(b'+', b'-').replace(b'=', b'_').replace(b'/', b'~') +def add_generate_db_auth_token(class_attributes, **kwargs): + class_attributes['generate_db_auth_token'] = generate_db_auth_token + + +def generate_db_auth_token(self, DBHostname, Port, DBUsername, Region=None): + """Generates an auth token used to connect to a db with IAM credentials. + + :type DBHostname: str + :param DBHostname: The hostname of the database to connect to. + + :type Port: int + :param Port: The port number the database is listening on. + + :type DBUsername: str + :param DBUsername: The username to log in as. + + :type Region: str + :param Region: The region the database is in. If None, the client + region will be used. + + :return: A presigned url which can be used as an auth token. + """ + region = Region + if region is None: + region = self.meta.region_name + + params = { + 'Action': 'connect', + 'DBUser': DBUsername, + } + + request_dict = { + 'url_path': '/', + 'query_string': '', + 'headers': {}, + 'body': params, + 'method': 'GET' + } + + # RDS requires that the scheme not be set when sent over. This can cause + # issues when signing because the Python url parsing libraries follow + # RFC 1808 closely, which states that a netloc must be introduced by `//`. + # Otherwise the url is presumed to be relative, and thus the whole + # netloc would be treated as a path component. To work around this we + # introduce https here and remove it once we're done processing it. + scheme = 'https://' + endpoint_url = '%s%s:%s' % (scheme, DBHostname, Port) + prepare_request_dict(request_dict, endpoint_url) + presigned_url = self._request_signer.generate_presigned_url( + operation_name='connect', request_dict=request_dict, + region_name=region, expires_in=900, signing_name='rds-db' + ) + return presigned_url[len(scheme):] + + class S3PostPresigner(object): def __init__(self, request_signer): self._request_signer = request_signer @@ -485,8 +558,14 @@ """ client_method = ClientMethod params = Params + if params is None: + params = {} expires_in = ExpiresIn http_method = HttpMethod + context = { + 'is_presign_request': True, + 'use_global_endpoint': _should_use_global_endpoint(self), + } request_signer = self._request_signer serializer = self._serializer @@ -499,6 +578,8 @@ operation_model = self.meta.service_model.operation_model( operation_name) + params = self._emit_api_params(params, operation_model, context) + # Create a request dict based on the params to serialize. request_dict = serializer.serialize_to_request( params, operation_model) @@ -509,7 +590,7 @@ # Prepare the request dict by including the client's endpoint url. prepare_request_dict( - request_dict, endpoint_url=self.meta.endpoint_url) + request_dict, endpoint_url=self.meta.endpoint_url, context=context) # Generate the presigned url. return request_signer.generate_presigned_url( @@ -611,7 +692,12 @@ # Prepare the request dict by including the client's endpoint url. prepare_request_dict( - request_dict, endpoint_url=self.meta.endpoint_url) + request_dict, endpoint_url=self.meta.endpoint_url, + context={ + 'is_presign_request': True, + 'use_global_endpoint': _should_use_global_endpoint(self), + }, + ) # Append that the bucket name to the list of conditions. conditions.append({'bucket': bucket}) @@ -629,3 +715,16 @@ return post_presigner.generate_presigned_post( request_dict=request_dict, fields=fields, conditions=conditions, expires_in=expires_in) + + +def _should_use_global_endpoint(client): + if client.meta.partition != 'aws': + return False + s3_config = client.meta.config.s3 + if s3_config: + if s3_config.get('use_dualstack_endpoint', False): + return False + if s3_config.get('us_east_1_regional_endpoint') == 'regional' and \ + client.meta.config.region_name == 'us-east-1': + return False + return True diff -Nru python-botocore-1.4.70/botocore/stub.py python-botocore-1.16.19+repack/botocore/stub.py --- python-botocore-1.4.70/botocore/stub.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/stub.py 2020-05-28 19:26:08.000000000 +0000 @@ -16,8 +16,8 @@ from botocore.validate import validate_parameters from botocore.exceptions import ParamValidationError, \ - StubResponseError, StubAssertionError -from botocore.vendored.requests.models import Response + StubResponseError, StubAssertionError, UnStubbedResponseError +from botocore.awsrequest import AWSResponse class _ANY(object): @@ -116,9 +116,9 @@ assert service_response == response - If you have an input paramter that is a randomly generated value, or you - otherwise don't care about its value, you can use stub.ANY to ignore it in - validation. + If you have an input parameter that is a randomly generated value, or you + otherwise don't care about its value, you can use ``stub.ANY`` to ignore + it in validation. **Example:** :: @@ -233,9 +233,7 @@ % (self.client.meta.service_model.service_name, method)) # Create a successful http response - http_response = Response() - http_response.status_code = 200 - http_response.reason = 'OK' + http_response = AWSResponse(None, 200, {}, None) operation_name = self.client.meta.method_to_api_mapping.get(method) self._validate_response(operation_name, service_response) @@ -250,7 +248,8 @@ def add_client_error(self, method, service_error_code='', service_message='', http_status_code=400, - service_error_meta=None, expected_params=None): + service_error_meta=None, expected_params=None, + response_meta=None): """ Adds a ``ClientError`` to the response queue. @@ -278,9 +277,13 @@ any of the parameters differ a ``StubResponseError`` is thrown. You can use stub.ANY to indicate a particular parameter to ignore in validation. + + :param response_meta: Additional keys to be added to the + response's ResponseMetadata + :type response_meta: dict + """ - http_response = Response() - http_response.status_code = http_status_code + http_response = AWSResponse(None, http_status_code, {}, None) # We don't look to the model to build this because the caller would # need to know the details of what the HTTP body would need to @@ -296,6 +299,9 @@ if service_error_meta is not None: parsed_response['Error'].update(service_error_meta) + if response_meta is not None: + parsed_response['ResponseMetadata'].update(response_meta) + operation_name = self.client.meta.method_to_api_mapping.get(method) # Note that we do not allow for expected_params while # adding errors into the queue yet. @@ -317,10 +323,13 @@ def _assert_expected_call_order(self, model, params): if not self._queue: - raise StubResponseError( + raise UnStubbedResponseError( operation_name=model.name, - reason=('Unexpected API Call: called with parameters:\n%s' % - pformat(params))) + reason=( + 'Unexpected API Call: A call was made but no additional calls expected. ' + 'Either the API Call was not stubbed or it was called multiple times.' + ) + ) name = self._queue[0]['operation_name'] if name != model.name: @@ -328,12 +337,14 @@ operation_name=model.name, reason='Operation mismatch: found response for %s.' % name) - def _get_response_handler(self, model, params, **kwargs): + def _get_response_handler(self, model, params, context, **kwargs): self._assert_expected_call_order(model, params) # Pop off the entire response once everything has been validated return self._queue.popleft()['response'] - def _assert_expected_params(self, model, params, **kwargs): + def _assert_expected_params(self, model, params, context, **kwargs): + if self._should_not_stub(context): + return self._assert_expected_call_order(model, params) expected_params = self._queue[0]['expected_params'] if expected_params is None: @@ -354,6 +365,13 @@ reason='Expected parameters:\n%s,\nbut received:\n%s' % ( pformat(expected_params), pformat(params))) + def _should_not_stub(self, context): + # Do not include presign requests when processing stubbed client calls + # as a presign request will never have an HTTP request sent over the + # wire for it and therefore not receive a response back. + if context and context.get('is_presign_request'): + return True + def _validate_response(self, operation_name, service_response): service_model = self.client.meta.service_model operation_model = service_model.operation_model(operation_name) diff -Nru python-botocore-1.4.70/botocore/translate.py python-botocore-1.16.19+repack/botocore/translate.py --- python-botocore-1.4.70/botocore/translate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/translate.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,22 +11,51 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import copy + from botocore.utils import merge_dicts -def build_retry_config(endpoint_prefix, retry_model, definitions): +def build_retry_config(endpoint_prefix, retry_model, definitions, + client_retry_config=None): service_config = retry_model.get(endpoint_prefix, {}) resolve_references(service_config, definitions) # We want to merge the global defaults with the service specific # defaults, with the service specific defaults taking precedence. # So we use the global defaults as the base. - final_retry_config = {'__default__': retry_model.get('__default__', {})} + # + # A deepcopy is done on the retry defaults because it ensures the + # retry model has no chance of getting mutated when the service specific + # configuration or client retry config is merged in. + final_retry_config = { + '__default__': copy.deepcopy(retry_model.get('__default__', {})) + } resolve_references(final_retry_config, definitions) # The merge the service specific config on top. merge_dicts(final_retry_config, service_config) + if client_retry_config is not None: + _merge_client_retry_config(final_retry_config, client_retry_config) return final_retry_config +def _merge_client_retry_config(retry_config, client_retry_config): + max_retry_attempts_override = client_retry_config.get('max_attempts') + if max_retry_attempts_override is not None: + # In the retry config, the max_attempts refers to the maximum number + # of requests in general will be made. However, for the client's + # retry config it refers to how many retry attempts will be made at + # most. So to translate this number from the client config, one is + # added to convert it to the maximum number request that will be made + # by including the initial request. + # + # It is also important to note that if we ever support per operation + # configuration in the retry model via the client, we will need to + # revisit this logic to make sure max_attempts gets applied + # per operation. + retry_config['__default__'][ + 'max_attempts'] = max_retry_attempts_override + 1 + + def resolve_references(config, definitions): """Recursively replace $ref keys. diff -Nru python-botocore-1.4.70/botocore/utils.py python-botocore-1.16.19+repack/botocore/utils.py --- python-botocore-1.4.70/botocore/utils.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/utils.py 2020-05-28 19:26:08.000000000 +0000 @@ -18,40 +18,144 @@ import binascii import functools import weakref +import random +import os +import socket +import cgi -from six import string_types, text_type import dateutil.parser -from dateutil.tz import tzlocal, tzutc +from dateutil.tz import tzutc import botocore -from botocore.exceptions import InvalidExpressionError, ConfigNotFound -from botocore.exceptions import InvalidDNSNameError, ClientError -from botocore.exceptions import MetadataRetrievalError +import botocore.awsrequest +import botocore.httpsession from botocore.compat import json, quote, zip_longest, urlsplit, urlunsplit -from botocore.vendored import requests -from botocore.compat import OrderedDict - +from botocore.compat import OrderedDict, six, urlparse, get_tzinfo_options +from botocore.vendored.six.moves.urllib.request import getproxies, proxy_bypass +from botocore.exceptions import ( + InvalidExpressionError, ConfigNotFound, InvalidDNSNameError, ClientError, + MetadataRetrievalError, EndpointConnectionError, ReadTimeoutError, + ConnectionClosedError, ConnectTimeoutError, UnsupportedS3ArnError, + UnsupportedS3AccesspointConfigurationError +) logger = logging.getLogger(__name__) DEFAULT_METADATA_SERVICE_TIMEOUT = 1 -METADATA_SECURITY_CREDENTIALS_URL = ( - 'http://169.254.169.254/latest/meta-data/iam/security-credentials/' -) +METADATA_BASE_URL = 'http://169.254.169.254/' + # These are chars that do not need to be urlencoded. # Based on rfc2986, section 2.3 SAFE_CHARS = '-._~' -LABEL_RE = re.compile('[a-z0-9][a-z0-9\-]*[a-z0-9]') -RESTRICTED_REGIONS = [ - 'us-gov-west-1', - 'fips-us-gov-west-1', -] -RETRYABLE_HTTP_ERRORS = (requests.Timeout, requests.ConnectionError) +LABEL_RE = re.compile(r'[a-z0-9][a-z0-9\-]*[a-z0-9]') +RETRYABLE_HTTP_ERRORS = ( + ReadTimeoutError, EndpointConnectionError, ConnectionClosedError, + ConnectTimeoutError, +) S3_ACCELERATE_WHITELIST = ['dualstack'] +# In switching events from using service name / endpoint prefix to service +# id, we have to preserve compatibility. This maps the instances where either +# is different than the transformed service id. +EVENT_ALIASES = { + "a4b": "alexa-for-business", + "alexaforbusiness": "alexa-for-business", + "api.mediatailor": "mediatailor", + "api.pricing": "pricing", + "api.sagemaker": "sagemaker", + "apigateway": "api-gateway", + "application-autoscaling": "application-auto-scaling", + "appstream2": "appstream", + "autoscaling": "auto-scaling", + "autoscaling-plans": "auto-scaling-plans", + "ce": "cost-explorer", + "cloudhsmv2": "cloudhsm-v2", + "cloudsearchdomain": "cloudsearch-domain", + "cognito-idp": "cognito-identity-provider", + "config": "config-service", + "cur": "cost-and-usage-report-service", + "data.iot": "iot-data-plane", + "data.jobs.iot": "iot-jobs-data-plane", + "data.mediastore": "mediastore-data", + "datapipeline": "data-pipeline", + "devicefarm": "device-farm", + "devices.iot1click": "iot-1click-devices-service", + "directconnect": "direct-connect", + "discovery": "application-discovery-service", + "dms": "database-migration-service", + "ds": "directory-service", + "dynamodbstreams": "dynamodb-streams", + "elasticbeanstalk": "elastic-beanstalk", + "elasticfilesystem": "efs", + "elasticloadbalancing": "elastic-load-balancing", + "elasticmapreduce": "emr", + "elastictranscoder": "elastic-transcoder", + "elb": "elastic-load-balancing", + "elbv2": "elastic-load-balancing-v2", + "email": "ses", + "entitlement.marketplace": "marketplace-entitlement-service", + "es": "elasticsearch-service", + "events": "eventbridge", + "cloudwatch-events": "eventbridge", + "iot-data": "iot-data-plane", + "iot-jobs-data": "iot-jobs-data-plane", + "iot1click-devices": "iot-1click-devices-service", + "iot1click-projects": "iot-1click-projects", + "kinesisanalytics": "kinesis-analytics", + "kinesisvideo": "kinesis-video", + "lex-models": "lex-model-building-service", + "lex-runtime": "lex-runtime-service", + "logs": "cloudwatch-logs", + "machinelearning": "machine-learning", + "marketplace-entitlement": "marketplace-entitlement-service", + "marketplacecommerceanalytics": "marketplace-commerce-analytics", + "metering.marketplace": "marketplace-metering", + "meteringmarketplace": "marketplace-metering", + "mgh": "migration-hub", + "models.lex": "lex-model-building-service", + "monitoring": "cloudwatch", + "mturk-requester": "mturk", + "opsworks-cm": "opsworkscm", + "projects.iot1click": "iot-1click-projects", + "resourcegroupstaggingapi": "resource-groups-tagging-api", + "route53": "route-53", + "route53domains": "route-53-domains", + "runtime.lex": "lex-runtime-service", + "runtime.sagemaker": "sagemaker-runtime", + "sdb": "simpledb", + "secretsmanager": "secrets-manager", + "serverlessrepo": "serverlessapplicationrepository", + "servicecatalog": "service-catalog", + "states": "sfn", + "stepfunctions": "sfn", + "storagegateway": "storage-gateway", + "streams.dynamodb": "dynamodb-streams", + "tagging": "resource-groups-tagging-api" +} -class _RetriesExceededError(Exception): - """Internal exception used when the number of retries are exceeded.""" - pass +def ensure_boolean(val): + """Ensures a boolean value if a string or boolean is provided + + For strings, the value for True/False is case insensitive + """ + if isinstance(val, bool): + return val + else: + return val.lower() == 'true' + + +def is_json_value_header(shape): + """Determines if the provided shape is the special header type jsonvalue. + + :type shape: botocore.shape + :param shape: Shape to be inspected for the jsonvalue trait. + + :return: True if this type is a jsonvalue, False otherwise + :rtype: Bool + """ + return (hasattr(shape, 'serialization') and + shape.serialization.get('jsonvalue', False) and + shape.serialization.get('location') == 'header' and + shape.type_name == 'string') def get_service_module_name(service_model): @@ -65,7 +169,7 @@ 'serviceFullName', service_model.service_name)) name = name.replace('Amazon', '') name = name.replace('AWS', '') - name = re.sub('\W+', '', name) + name = re.sub(r'\W+', '', name) return name @@ -146,66 +250,226 @@ source[current_key] = value -class InstanceMetadataFetcher(object): +class _RetriesExceededError(Exception): + """Internal exception used when the number of retries are exceeded.""" + pass + + +class BadIMDSRequestError(Exception): + def __init__(self, request): + self.request = request + + +class IMDSFetcher(object): + + _RETRIES_EXCEEDED_ERROR_CLS = _RetriesExceededError + _TOKEN_PATH = 'latest/api/token' + _TOKEN_TTL = '21600' + def __init__(self, timeout=DEFAULT_METADATA_SERVICE_TIMEOUT, - num_attempts=1, url=METADATA_SECURITY_CREDENTIALS_URL): + num_attempts=1, base_url=METADATA_BASE_URL, + env=None, user_agent=None): self._timeout = timeout self._num_attempts = num_attempts - self._url = url + self._base_url = base_url + if env is None: + env = os.environ.copy() + self._disabled = env.get('AWS_EC2_METADATA_DISABLED', 'false').lower() + self._disabled = self._disabled == 'true' + self._user_agent = user_agent + self._session = botocore.httpsession.URLLib3Session( + timeout=self._timeout, + proxies=get_environ_proxies(self._base_url), + ) - def _get_request(self, url, timeout, num_attempts=1): - for i in range(num_attempts): + def _fetch_metadata_token(self): + self._assert_enabled() + url = self._base_url + self._TOKEN_PATH + headers = { + 'x-aws-ec2-metadata-token-ttl-seconds': self._TOKEN_TTL, + } + self._add_user_agent(headers) + request = botocore.awsrequest.AWSRequest( + method='PUT', url=url, headers=headers) + for i in range(self._num_attempts): try: - response = requests.get(url, timeout=timeout) - except RETRYABLE_HTTP_ERRORS as e: - logger.debug("Caught exception while trying to retrieve " - "credentials: %s", e, exc_info=True) - else: + response = self._session.send(request.prepare()) if response.status_code == 200: + return response.text + elif response.status_code in (404, 403, 405): + return None + elif response.status_code in (400,): + raise BadIMDSRequestError(request) + except ReadTimeoutError: + return None + except RETRYABLE_HTTP_ERRORS as e: + logger.debug( + "Caught retryable HTTP exception while making metadata " + "service request to %s: %s", url, e, exc_info=True) + return None + + def _get_request(self, url_path, retry_func, token=None): + """Make a get request to the Instance Metadata Service. + + :type url_path: str + :param url_path: The path component of the URL to make a get request. + This arg is appended to the base_url that was provided in the + initializer. + + :type retry_func: callable + :param retry_func: A function that takes the response as an argument + and determines if it needs to retry. By default empty and non + 200 OK responses are retried. + + :type token: str + :param token: Metadata token to send along with GET requests to IMDS. + """ + self._assert_enabled() + if retry_func is None: + retry_func = self._default_retry + url = self._base_url + url_path + headers = {} + if token is not None: + headers['x-aws-ec2-metadata-token'] = token + self._add_user_agent(headers) + for i in range(self._num_attempts): + try: + request = botocore.awsrequest.AWSRequest( + method='GET', url=url, headers=headers) + response = self._session.send(request.prepare()) + if not retry_func(response): return response - raise _RetriesExceededError() + except RETRYABLE_HTTP_ERRORS as e: + logger.debug( + "Caught retryable HTTP exception while making metadata " + "service request to %s: %s", url, e, exc_info=True) + raise self._RETRIES_EXCEEDED_ERROR_CLS() + + def _add_user_agent(self, headers): + if self._user_agent is not None: + headers['User-Agent'] = self._user_agent + + def _assert_enabled(self): + if self._disabled: + logger.debug("Access to EC2 metadata has been disabled.") + raise self._RETRIES_EXCEEDED_ERROR_CLS() + + def _default_retry(self, response): + return ( + self._is_non_ok_response(response) or + self._is_empty(response) + ) + + def _is_non_ok_response(self, response): + if response.status_code != 200: + self._log_imds_response(response, 'non-200', log_body=True) + return True + return False + + def _is_empty(self, response): + if not response.content: + self._log_imds_response(response, 'no body', log_body=True) + return True + return False + + def _log_imds_response(self, response, reason_to_log, log_body=False): + statement = ( + "Metadata service returned %s response " + "with status code of %s for url: %s" + ) + logger_args = [ + reason_to_log, response.status_code, response.url + ] + if log_body: + statement += ", content body: %s" + logger_args.append(response.content) + logger.debug(statement, *logger_args) + + +class InstanceMetadataFetcher(IMDSFetcher): + _URL_PATH = 'latest/meta-data/iam/security-credentials/' + _REQUIRED_CREDENTIAL_FIELDS = [ + 'AccessKeyId', 'SecretAccessKey', 'Token', 'Expiration' + ] def retrieve_iam_role_credentials(self): - data = {} - url = self._url - timeout = self._timeout - num_attempts = self._num_attempts try: - r = self._get_request(url, timeout, num_attempts) - if r.content: - fields = r.content.decode('utf-8').split('\n') - for field in fields: - if field.endswith('/'): - data[field[0:-1]] = self.retrieve_iam_role_credentials( - url + field, timeout, num_attempts) - else: - val = self._get_request( - url + field, - timeout=timeout, - num_attempts=num_attempts).content.decode('utf-8') - if val[0] == '{': - val = json.loads(val) - data[field] = val + token = self._fetch_metadata_token() + role_name = self._get_iam_role(token) + credentials = self._get_credentials(role_name, token) + if self._contains_all_credential_fields(credentials): + return { + 'role_name': role_name, + 'access_key': credentials['AccessKeyId'], + 'secret_key': credentials['SecretAccessKey'], + 'token': credentials['Token'], + 'expiry_time': credentials['Expiration'], + } else: - logger.debug("Metadata service returned non 200 status code " - "of %s for url: %s, content body: %s", - r.status_code, url, r.content) - except _RetriesExceededError: + # IMDS can return a 200 response that has a JSON formatted + # error message (i.e. if ec2 is not trusted entity for the + # attached role). We do not necessarily want to retry for + # these and we also do not necessarily want to raise a key + # error. So at least log the problematic response and return + # an empty dictionary to signal that it was not able to + # retrieve credentials. These error will contain both a + # Code and Message key. + if 'Code' in credentials and 'Message' in credentials: + logger.debug('Error response received when retrieving' + 'credentials: %s.', credentials) + return {} + except self._RETRIES_EXCEEDED_ERROR_CLS: logger.debug("Max number of attempts exceeded (%s) when " "attempting to retrieve data from metadata service.", - num_attempts) - # We sort for stable ordering. In practice, this should only consist - # of one role, but may need revisiting if this expands in the future. - final_data = {} - for role_name in sorted(data): - final_data = { - 'role_name': role_name, - 'access_key': data[role_name]['AccessKeyId'], - 'secret_key': data[role_name]['SecretAccessKey'], - 'token': data[role_name]['Token'], - 'expiry_time': data[role_name]['Expiration'], - } - return final_data + self._num_attempts) + except BadIMDSRequestError as e: + logger.debug("Bad IMDS request: %s", e.request) + return {} + + def _get_iam_role(self, token=None): + return self._get_request( + url_path=self._URL_PATH, + retry_func=self._needs_retry_for_role_name, + token=token, + ).text + + def _get_credentials(self, role_name, token=None): + r = self._get_request( + url_path=self._URL_PATH + role_name, + retry_func=self._needs_retry_for_credentials, + token=token, + ) + return json.loads(r.text) + + def _is_invalid_json(self, response): + try: + json.loads(response.text) + return False + except ValueError: + self._log_imds_response(response, 'invalid json') + return True + + def _needs_retry_for_role_name(self, response): + return ( + self._is_non_ok_response(response) or + self._is_empty(response) + ) + + def _needs_retry_for_credentials(self, response): + return ( + self._is_non_ok_response(response) or + self._is_empty(response) or + self._is_invalid_json(response) + ) + + def _contains_all_credential_fields(self, credentials): + for field in self._REQUIRED_CREDENTIAL_FIELDS: + if field not in credentials: + logger.debug( + 'Retrieved credentials is missing required field: %s', + field) + return False + return True def merge_dicts(dict1, dict2, append_lists=False): @@ -237,6 +501,14 @@ dict1[key] = dict2[key] +def lowercase_dict(original): + """Copies the given dictionary ensuring all keys are lowercase strings. """ + copy = {} + for key in original: + copy[key.lower()] = original[key] + return copy + + def parse_key_val_file(filename, _open=open): try: with _open(filename) as f: @@ -304,10 +576,37 @@ producing a percent encoded string, this function deals only with taking a string (not a dict/sequence) and percent encoding it. + If given the binary type, will simply URL encode it. If given the + text type, will produce the binary type by UTF-8 encoding the + text. If given something else, will convert it to the text type + first. """ - if not isinstance(input_str, string_types): - input_str = text_type(input_str) - return quote(text_type(input_str).encode('utf-8'), safe=safe) + # If its not a binary or text string, make it a text string. + if not isinstance(input_str, (six.binary_type, six.text_type)): + input_str = six.text_type(input_str) + # If it's not bytes, make it bytes by UTF-8 encoding it. + if not isinstance(input_str, six.binary_type): + input_str = input_str.encode('utf-8') + return quote(input_str, safe=safe) + + +def _parse_timestamp_with_tzinfo(value, tzinfo): + """Parse timestamp with pluggable tzinfo options.""" + if isinstance(value, (int, float)): + # Possibly an epoch time. + return datetime.datetime.fromtimestamp(value, tzinfo()) + else: + try: + return datetime.datetime.fromtimestamp(float(value), tzinfo()) + except (TypeError, ValueError): + pass + try: + # In certain cases, a timestamp marked with GMT can be parsed into a + # different time zone, so here we provide a context which will + # enforce that GMT == UTC. + return dateutil.parser.parse(value, tzinfos={'GMT': tzutc()}) + except (TypeError, ValueError) as e: + raise ValueError('Invalid timestamp "%s": %s' % (value, e)) def parse_timestamp(value): @@ -322,18 +621,14 @@ This will return a ``datetime.datetime`` object. """ - if isinstance(value, (int, float)): - # Possibly an epoch time. - return datetime.datetime.fromtimestamp(value, tzlocal()) - else: + for tzinfo in get_tzinfo_options(): try: - return datetime.datetime.fromtimestamp(float(value), tzlocal()) - except (TypeError, ValueError): - pass - try: - return dateutil.parser.parse(value) - except (TypeError, ValueError) as e: - raise ValueError('Invalid timestamp "%s": %s' % (value, e)) + return _parse_timestamp_with_tzinfo(value, tzinfo) + except OSError as e: + logger.debug('Unable to parse timestamp with "%s" timezone info.', + tzinfo.__name__, exc_info=e) + raise RuntimeError('Unable to calculate correct timezone offset for ' + '"%s"' % value) def parse_to_aware_datetime(value): @@ -553,6 +848,8 @@ elif shape.type_name == 'string': if self._use_member_names: return name + if shape.enum: + return random.choice(shape.enum) return '' elif shape.type_name in ['integer', 'long']: return 0 @@ -560,6 +857,8 @@ return 0.0 elif shape.type_name == 'boolean': return True + elif shape.type_name == 'timestamp': + return datetime.datetime(1970, 1, 1, 0, 0, 0) finally: stack.pop() @@ -575,8 +874,11 @@ def _generate_type_list(self, shape, stack): # For list elements we've arbitrarily decided to # return two elements for the skeleton list. + name = '' + if self._use_member_names: + name = shape.member.name return [ - self._generate_skeleton(shape.member, stack), + self._generate_skeleton(shape.member, stack, name), ] def _generate_type_map(self, shape, stack): @@ -607,7 +909,7 @@ if hostname[-1] == ".": hostname = hostname[:-1] allowed = re.compile( - "^((?!-)[A-Z\d-]{1,63}(? 63: # Wrong length return False - if n == 1: - if not bucket_name.isalnum(): - return False match = LABEL_RE.match(bucket_name) if match is None or match.end() != len(bucket_name): return False @@ -639,23 +938,18 @@ def fix_s3_host(request, signature_version, region_name, - default_endpoint_url='s3.amazonaws.com', **kwargs): + default_endpoint_url=None, **kwargs): """ This handler looks at S3 requests just before they are signed. If there is a bucket name on the path (true for everything except ListAllBuckets) it checks to see if that bucket name conforms to the DNS naming conventions. If it does, it alters the request to use ``virtual hosting`` style addressing rather than ``path-style`` - addressing. This allows us to avoid 301 redirects for all - bucket names that can be CNAME'd. + addressing. + """ - # By default we do not use virtual hosted style addressing when - # signed with signature version 4. - if signature_version is not botocore.UNSIGNED and \ - 's3v4' in signature_version: - return - elif not _allowed_region(region_name): - return + if request.context.get('use_global_endpoint', False): + default_endpoint_url = 's3.amazonaws.com' try: switch_to_virtual_host_style( request, signature_version, default_endpoint_url) @@ -732,10 +1026,6 @@ return request.url.endswith('?location') -def _allowed_region(region_name): - return region_name not in RESTRICTED_REGIONS - - def instance_cache(func): """Method decorator for caching method calls to a single instance. @@ -820,6 +1110,32 @@ return final_endpoint +def deep_merge(base, extra): + """Deeply two dictionaries, overriding existing keys in the base. + + :param base: The base dictionary which will be merged into. + :param extra: The dictionary to merge into the base. Keys from this + dictionary will take precedence. + """ + for key in extra: + # If the key represents a dict on both given dicts, merge the sub-dicts + if key in base and isinstance(base[key], dict)\ + and isinstance(extra[key], dict): + deep_merge(base[key], extra[key]) + continue + + # Otherwise, set the key on the base to be the value of the extra. + base[key] = extra[key] + + +def hyphenize_service_id(service_id): + """Translate the form used for event emitters. + + :param service_id: The service_id to convert. + """ + return service_id.replace(' ', '-').lower() + + class S3RegionRedirector(object): def __init__(self, endpoint_bridge, client, cache=None): self._endpoint_resolver = endpoint_bridge @@ -850,17 +1166,44 @@ # transport error. return + if self._is_s3_accesspoint(request_dict.get('context', {})): + logger.debug( + 'S3 request was previously to an accesspoint, not redirecting.' + ) + return + + if request_dict.get('context', {}).get('s3_redirected'): + logger.debug( + 'S3 request was previously redirected, not redirecting.') + return + error = response[1].get('Error', {}) error_code = error.get('Code') + response_metadata = response[1].get('ResponseMetadata', {}) - if error_code == '301': - # A raw 301 error might be returned for several reasons, but we - # only want to try to redirect it if it's a HeadObject or - # HeadBucket because all other operations will return - # PermanentRedirect if region is incorrect. - if operation.name not in ['HeadObject', 'HeadBucket']: - return - elif error_code != 'PermanentRedirect': + # We have to account for 400 responses because + # if we sign a Head* request with the wrong region, + # we'll get a 400 Bad Request but we won't get a + # body saying it's an "AuthorizationHeaderMalformed". + is_special_head_object = ( + error_code in ['301', '400'] and + operation.name == 'HeadObject' + ) + is_special_head_bucket = ( + error_code in ['301', '400'] and + operation.name == 'HeadBucket' and + 'x-amz-bucket-region' in response_metadata.get('HTTPHeaders', {}) + ) + is_wrong_signing_region = ( + error_code == 'AuthorizationHeaderMalformed' and + 'Region' in error + ) + is_redirect_status = response[0] is not None and \ + response[0].status_code in [301, 302, 307] + is_permanent_redirect = error_code == 'PermanentRedirect' + if not any([is_special_head_object, is_wrong_signing_region, + is_permanent_redirect, is_special_head_bucket, + is_redirect_status]): return bucket = request_dict['context']['signing']['bucket'] @@ -879,7 +1222,6 @@ " %s; Please configure the proper region to avoid multiple " "unnecessary redirects and signing attempts." % ( client_region, bucket, new_region)) - endpoint = self._endpoint_resolver.resolve('s3', new_region) endpoint = endpoint['endpoint_url'] @@ -893,6 +1235,8 @@ self._cache[bucket] = signing_context self.set_request_url(request_dict, request_dict['context']) + request_dict['context']['s3_redirected'] = True + # Return 0 so it doesn't wait to retry return 0 @@ -939,6 +1283,8 @@ This handler retrieves a given bucket's signing context from the cache and adds it into the request context. """ + if self._is_s3_accesspoint(context): + return bucket = params.get('Bucket') signing_context = self._cache.get(bucket) if signing_context is not None: @@ -946,6 +1292,289 @@ else: context['signing'] = {'bucket': bucket} + def _is_s3_accesspoint(self, context): + return 's3_accesspoint' in context + + +class InvalidArnException(ValueError): + pass + + +class ArnParser(object): + def parse_arn(self, arn): + arn_parts = arn.split(':', 5) + if len(arn_parts) < 6: + raise InvalidArnException( + 'Provided ARN: %s must be of the format: ' + 'arn:partition:service:region:account:resource' % arn + ) + return { + 'partition': arn_parts[1], + 'service': arn_parts[2], + 'region': arn_parts[3], + 'account': arn_parts[4], + 'resource': arn_parts[5], + } + + +class S3ArnParamHandler(object): + _ACCESSPOINT_RESOURCE_REGEX = re.compile( + r'^accesspoint[/:](?P.+)$' + ) + _BLACKLISTED_OPERATIONS = [ + 'CreateBucket' + ] + + def __init__(self, arn_parser=None): + self._arn_parser = arn_parser + if arn_parser is None: + self._arn_parser = ArnParser() + + def register(self, event_emitter): + event_emitter.register('before-parameter-build.s3', self.handle_arn) + + def handle_arn(self, params, model, context, **kwargs): + if model.name in self._BLACKLISTED_OPERATIONS: + return + arn_details = self._get_arn_details_from_bucket_param(params) + if arn_details is None: + return + if arn_details['resource_type'] == 'accesspoint': + self._store_accesspoint(params, context, arn_details) + + def _get_arn_details_from_bucket_param(self, params): + if 'Bucket' in params: + try: + arn = params['Bucket'] + arn_details = self._arn_parser.parse_arn(arn) + self._add_resource_type_and_name(arn, arn_details) + return arn_details + except InvalidArnException: + pass + return None + + def _add_resource_type_and_name(self, arn, arn_details): + match = self._ACCESSPOINT_RESOURCE_REGEX.match(arn_details['resource']) + if match: + arn_details['resource_type'] = 'accesspoint' + arn_details['resource_name'] = match.group('resource_name') + else: + raise UnsupportedS3ArnError(arn=arn) + + def _store_accesspoint(self, params, context, arn_details): + # Ideally the access-point would be stored as a parameter in the + # request where the serializer would then know how to serialize it, + # but access-points are not modeled in S3 operations so it would fail + # validation. Instead, we set the access-point to the bucket parameter + # to have some value set when serializing the request and additional + # information on the context from the arn to use in forming the + # access-point endpoint. + params['Bucket'] = arn_details['resource_name'] + context['s3_accesspoint'] = { + 'name': arn_details['resource_name'], + 'account': arn_details['account'], + 'partition': arn_details['partition'], + 'region': arn_details['region'], + } + + +class S3EndpointSetter(object): + _DEFAULT_PARTITION = 'aws' + _DEFAULT_DNS_SUFFIX = 'amazonaws.com' + + def __init__(self, endpoint_resolver, region=None, + s3_config=None, endpoint_url=None, partition=None): + self._endpoint_resolver = endpoint_resolver + self._region = region + self._s3_config = s3_config + if s3_config is None: + self._s3_config = {} + self._endpoint_url = endpoint_url + self._partition = partition + if partition is None: + self._partition = self._DEFAULT_PARTITION + + def register(self, event_emitter): + event_emitter.register('before-sign.s3', self.set_endpoint) + + def set_endpoint(self, request, **kwargs): + if self._use_accesspoint_endpoint(request): + self._validate_accesspoint_supported(request) + region_name = self._resolve_region_for_accesspoint_endpoint( + request) + self._switch_to_accesspoint_endpoint(request, region_name) + return + if self._use_accelerate_endpoint: + switch_host_s3_accelerate(request=request, **kwargs) + if self._s3_addressing_handler: + self._s3_addressing_handler(request=request, **kwargs) + + def _use_accesspoint_endpoint(self, request): + return 's3_accesspoint' in request.context + + def _validate_accesspoint_supported(self, request): + if self._endpoint_url: + raise UnsupportedS3AccesspointConfigurationError( + msg=( + 'Client cannot use a custom "endpoint_url" when ' + 'specifying an access-point ARN.' + ) + ) + if self._use_accelerate_endpoint: + raise UnsupportedS3AccesspointConfigurationError( + msg=( + 'Client does not support s3 accelerate configuration ' + 'when and access-point ARN is specified.' + ) + ) + request_partion = request.context['s3_accesspoint']['partition'] + if request_partion != self._partition: + raise UnsupportedS3AccesspointConfigurationError( + msg=( + 'Client is configured for "%s" partition, but access-point' + ' ARN provided is for "%s" partition. The client and ' + ' access-point partition must be the same.' % ( + self._partition, request_partion) + ) + ) + + def _resolve_region_for_accesspoint_endpoint(self, request): + if self._s3_config.get('use_arn_region', True): + accesspoint_region = request.context['s3_accesspoint']['region'] + # If we are using the region from the access point, + # we will also want to make sure that we set it as the + # signing region as well + self._override_signing_region(request, accesspoint_region) + return accesspoint_region + return self._region + + def _switch_to_accesspoint_endpoint(self, request, region_name): + original_components = urlsplit(request.url) + accesspoint_endpoint = urlunsplit(( + original_components.scheme, + self._get_accesspoint_netloc(request.context, region_name), + self._get_accesspoint_path( + original_components.path, request.context), + original_components.query, + '' + )) + logger.debug( + 'Updating URI from %s to %s' % (request.url, accesspoint_endpoint)) + request.url = accesspoint_endpoint + + def _get_accesspoint_netloc(self, request_context, region_name): + s3_accesspoint = request_context['s3_accesspoint'] + accesspoint_netloc_components = [ + '%s-%s' % (s3_accesspoint['name'], s3_accesspoint['account']), + 's3-accesspoint' + ] + if self._s3_config.get('use_dualstack_endpoint'): + accesspoint_netloc_components.append('dualstack') + accesspoint_netloc_components.extend( + [ + region_name, + self._get_dns_suffix(region_name) + ] + ) + return '.'.join(accesspoint_netloc_components) + + def _get_accesspoint_path(self, original_path, request_context): + # The Bucket parameter was substituted with the access-point name as + # some value was required in serializing the bucket name. Now that + # we are making the request directly to the access point, we will + # want to remove that access-point name from the path. + name = request_context['s3_accesspoint']['name'] + # All S3 operations require at least a / in their path. + return original_path.replace('/' + name, '', 1) or '/' + + def _get_dns_suffix(self, region_name): + resolved = self._endpoint_resolver.construct_endpoint( + 's3', region_name) + dns_suffix = self._DEFAULT_DNS_SUFFIX + if resolved and 'dnsSuffix' in resolved: + dns_suffix = resolved['dnsSuffix'] + return dns_suffix + + def _override_signing_region(self, request, region_name): + signing_context = { + 'region': region_name, + } + # S3SigV4Auth will use the context['signing']['region'] value to + # sign with if present. This is used by the Bucket redirector + # as well but we should be fine because the redirector is never + # used in combination with the accesspoint setting logic. + request.context['signing'] = signing_context + + + @CachedProperty + def _use_accelerate_endpoint(self): + # Enable accelerate if the configuration is set to to true or the + # endpoint being used matches one of the accelerate endpoints. + + # Accelerate has been explicitly configured. + if self._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 self._endpoint_url is None: + return False + + # Accelerate is only valid for Amazon endpoints. + netloc = urlsplit(self._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) + + @CachedProperty + def _addressing_style(self): + # Use virtual host style addressing if accelerate is enabled or if + # the given endpoint url is an accelerate endpoint. + if self._use_accelerate_endpoint: + return 'virtual' + + # If a particular addressing style is configured, use it. + configured_addressing_style = self._s3_config.get('addressing_style') + if configured_addressing_style: + return configured_addressing_style + + @CachedProperty + def _s3_addressing_handler(self): + # If virtual host style was configured, use it regardless of whether + # or not the bucket looks dns compatible. + if self._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 self._addressing_style == 'path' or self._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.") + + # By default, try to use virtual style with path fallback. + return fix_s3_host + class ContainerMetadataFetcher(object): @@ -953,13 +1582,43 @@ RETRY_ATTEMPTS = 3 SLEEP_TIME = 1 IP_ADDRESS = '169.254.170.2' + _ALLOWED_HOSTS = [IP_ADDRESS, 'localhost', '127.0.0.1'] def __init__(self, session=None, sleep=time.sleep): if session is None: - session = requests.Session() + session = botocore.httpsession.URLLib3Session( + timeout=self.TIMEOUT_SECONDS + ) self._session = session self._sleep = sleep + def retrieve_full_uri(self, full_url, headers=None): + """Retrieve JSON metadata from container metadata. + + :type full_url: str + :param full_url: The full URL of the metadata service. + This should include the scheme as well, e.g + "http://localhost:123/foo" + + """ + self._validate_allowed_url(full_url) + return self._retrieve_credentials(full_url, headers) + + def _validate_allowed_url(self, full_url): + parsed = botocore.compat.urlparse(full_url) + is_whitelisted_host = self._check_if_whitelisted_host( + parsed.hostname) + if not is_whitelisted_host: + raise ValueError( + "Unsupported host '%s'. Can only " + "retrieve metadata from these hosts: %s" % + (parsed.hostname, ', '.join(self._ALLOWED_HOSTS))) + + def _check_if_whitelisted_host(self, host): + if host in self._ALLOWED_HOSTS: + return True + return False + def retrieve_uri(self, relative_uri): """Retrieve JSON metadata from ECS metadata. @@ -969,15 +1628,21 @@ :return: The parsed JSON response. """ - full_url = self._full_url(relative_uri) + full_url = self.full_url(relative_uri) + return self._retrieve_credentials(full_url) + + def _retrieve_credentials(self, full_url, extra_headers=None): headers = {'Accept': 'application/json'} + if extra_headers is not None: + headers.update(extra_headers) attempts = 0 while True: try: - return self._get_response(full_url, headers, self.TIMEOUT_SECONDS) + return self._get_response( + full_url, headers, self.TIMEOUT_SECONDS) except MetadataRetrievalError as e: logger.debug("Received error when attempting to retrieve " - "ECS metadata: %s", e, exc_info=True) + "container metadata: %s", e, exc_info=True) self._sleep(self.SLEEP_TIME) attempts += 1 if attempts >= self.RETRY_ATTEMPTS: @@ -985,22 +1650,86 @@ def _get_response(self, full_url, headers, timeout): try: - response = self._session.get(full_url, headers=headers, - timeout=timeout) + AWSRequest = botocore.awsrequest.AWSRequest + request = AWSRequest(method='GET', url=full_url, headers=headers) + response = self._session.send(request.prepare()) + response_text = response.content.decode('utf-8') if response.status_code != 200: raise MetadataRetrievalError( - error_msg="Received non 200 response (%s) from ECS metadata: %s" - % (response.status_code, response.text)) + error_msg=( + "Received non 200 response (%s) from ECS metadata: %s" + ) % (response.status_code, response_text)) try: - return json.loads(response.text) + return json.loads(response_text) except ValueError: - raise MetadataRetrievalError( - error_msg=("Unable to parse JSON returned from " - "ECS metadata: %s" % response.text)) + error_msg = ( + "Unable to parse JSON returned from ECS metadata services" + ) + logger.debug('%s:%s', error_msg, response_text) + raise MetadataRetrievalError(error_msg=error_msg) except RETRYABLE_HTTP_ERRORS as e: error_msg = ("Received error when attempting to retrieve " "ECS metadata: %s" % e) raise MetadataRetrievalError(error_msg=error_msg) - def _full_url(self, relative_uri): + def full_url(self, relative_uri): return 'http://%s%s' % (self.IP_ADDRESS, relative_uri) + + +def get_environ_proxies(url): + if should_bypass_proxies(url): + return {} + else: + return getproxies() + + +def should_bypass_proxies(url): + """ + Returns whether we should bypass proxies or not. + """ + # NOTE: requests allowed for ip/cidr entries in no_proxy env that we don't + # support current as urllib only checks DNS suffix + # If the system proxy settings indicate that this URL should be bypassed, + # don't proxy. + # The proxy_bypass function is incredibly buggy on OS X in early versions + # of Python 2.6, so allow this call to fail. Only catch the specific + # exceptions we've seen, though: this call failing in other ways can reveal + # legitimate problems. + try: + if proxy_bypass(urlparse(url).netloc): + return True + except (TypeError, socket.gaierror): + pass + + return False + + +def get_encoding_from_headers(headers, default='ISO-8859-1'): + """Returns encodings from given HTTP Header Dict. + + :param headers: dictionary to extract encoding from. + :param default: default encoding if the content-type is text + """ + + content_type = headers.get('content-type') + + if not content_type: + return None + + content_type, params = cgi.parse_header(content_type) + + if 'charset' in params: + return params['charset'].strip("'\"") + + if 'text' in content_type: + return default + + +class FileWebIdentityTokenLoader(object): + def __init__(self, web_identity_token_path, _open=open): + self._web_identity_token_path = web_identity_token_path + self._open = _open + + def __call__(self): + with self._open(self._web_identity_token_path) as token_file: + return token_file.read() diff -Nru python-botocore-1.4.70/botocore/validate.py python-botocore-1.16.19+repack/botocore/validate.py --- python-botocore-1.4.70/botocore/validate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/validate.py 2020-05-28 19:26:08.000000000 +0000 @@ -15,9 +15,11 @@ from botocore.compat import six import decimal +import json from datetime import datetime from botocore.utils import parse_to_aware_datetime +from botocore.utils import is_json_value_header from botocore.exceptions import ParamValidationError @@ -73,6 +75,12 @@ min_allowed = shape.metadata['min'] if value < min_allowed: failed = True + elif hasattr(shape, 'serialization'): + # Members that can be bound to the host have an implicit min of 1 + if shape.serialization.get('hostLabel'): + min_allowed = 1 + if value < min_allowed: + failed = True if failed: errors.report(name, error_type, param=value, valid_range=[min_allowed, max_allowed]) @@ -120,6 +128,9 @@ return ('Invalid length for parameter %s, value: %s, valid range: ' '%s-%s' % (name, additional['param'], min_allowed, max_allowed)) + elif error_type == 'unable to encode to json': + return 'Invalid parameter %s must be json serializable: %s' \ + % (name, additional['type_error']) def _get_name(self, name): if not name: @@ -154,9 +165,25 @@ self._validate(params, shape, errors, name='') return errors + def _check_special_validation_cases(self, shape): + if is_json_value_header(shape): + return self._validate_jsonvalue_string + def _validate(self, params, shape, errors, name): - getattr(self, '_validate_%s' % shape.type_name)( - params, shape, errors, name) + special_validator = self._check_special_validation_cases(shape) + if special_validator: + special_validator(params, shape, errors, name) + else: + getattr(self, '_validate_%s' % shape.type_name)( + params, shape, errors, name) + + def _validate_jsonvalue_string(self, params, shape, errors, name): + # Check to see if a value marked as a jsonvalue can be dumped to + # a json string. + try: + json.dumps(params) + except (ValueError, TypeError) as e: + errors.report(name, 'unable to encode to json', type_error=e) @type_check(valid_types=(dict,)) def _validate_structure(self, params, shape, errors, name): diff -Nru python-botocore-1.4.70/botocore/waiter.py python-botocore-1.16.19+repack/botocore/waiter.py --- python-botocore-1.4.70/botocore/waiter.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore/waiter.py 2020-05-28 19:26:08.000000000 +0000 @@ -287,9 +287,11 @@ def wait(self, **kwargs): acceptors = list(self.config.acceptors) current_state = 'waiting' - sleep_amount = self.config.delay + # pop the invocation specific config + config = kwargs.pop('WaiterConfig', {}) + sleep_amount = config.get('Delay', self.config.delay) + max_attempts = config.get('MaxAttempts', self.config.max_attempts) num_attempts = 0 - max_attempts = self.config.max_attempts while True: response = self._operation_method(**kwargs) diff -Nru python-botocore-1.4.70/botocore.egg-info/PKG-INFO python-botocore-1.16.19+repack/botocore.egg-info/PKG-INFO --- python-botocore-1.4.70/botocore.egg-info/PKG-INFO 2016-11-03 20:32:18.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore.egg-info/PKG-INFO 2020-05-28 19:28:04.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.4.70 +Version: 1.16.19 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services @@ -21,7 +21,30 @@ `AWS CLI `__ as well as `boto3 `__. - `Documentation `__ + On 10/09/2019 support for Python 2.6 and Python 3.3 was deprecated and support + was dropped on 01/10/2020. To avoid disruption, customers using Botocore + on Python 2.6 or 3.3 will need to upgrade their version of Python or pin the + version of Botocore in use prior to 01/10/2020. For more information, see + this `blog post `__. + + + Documentation + ------------- + Documentation for ``botocore`` can be found `here `__. + + + Getting Help + ------------ + + We use GitHub issues for tracking bugs and feature requests and have limited + bandwidth to address them. Please use these community resources for getting + help. Please note many of the same resources available for ``boto3`` are + applicable for ``botocore``: + + * Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ + * Come join the AWS Python community chat on `gitter `__ + * Open a support ticket with `AWS Support `__ + * If it turns out that you may have found a bug, please `open an issue `__ Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable @@ -30,8 +53,11 @@ Classifier: Natural Language :: English Classifier: License :: OSI Approved :: Apache Software License Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 diff -Nru python-botocore-1.4.70/botocore.egg-info/requires.txt python-botocore-1.16.19+repack/botocore.egg-info/requires.txt --- python-botocore-1.4.70/botocore.egg-info/requires.txt 2016-11-03 20:32:18.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore.egg-info/requires.txt 2020-05-28 19:28:04.000000000 +0000 @@ -1,7 +1,4 @@ -jmespath>=0.7.1,<1.0.0 -python-dateutil>=2.1,<3.0.0 -docutils>=0.10 - -[:python_version=="2.6"] -ordereddict==1.1 -simplejson==3.3.0 \ No newline at end of file +jmespath<1.0.0,>=0.7.1 +docutils<0.16,>=0.10 +python-dateutil<3.0.0,>=2.1 +urllib3<1.26,>=1.20 diff -Nru python-botocore-1.4.70/botocore.egg-info/SOURCES.txt python-botocore-1.16.19+repack/botocore.egg-info/SOURCES.txt --- python-botocore-1.4.70/botocore.egg-info/SOURCES.txt 2016-11-03 20:32:18.000000000 +0000 +++ python-botocore-1.16.19+repack/botocore.egg-info/SOURCES.txt 2020-05-28 19:28:04.000000000 +0000 @@ -8,17 +8,25 @@ botocore/args.py botocore/auth.py botocore/awsrequest.py +botocore/cacert.pem botocore/client.py botocore/compat.py botocore/config.py botocore/configloader.py +botocore/configprovider.py botocore/credentials.py +botocore/discovery.py botocore/endpoint.py +botocore/errorfactory.py +botocore/eventstream.py botocore/exceptions.py botocore/handlers.py +botocore/history.py botocore/hooks.py +botocore/httpsession.py botocore/loaders.py botocore/model.py +botocore/monitoring.py botocore/paginate.py botocore/parsers.py botocore/regions.py @@ -39,15 +47,77 @@ botocore.egg-info/top_level.txt botocore/data/_retry.json botocore/data/endpoints.json +botocore/data/accessanalyzer/2019-11-01/paginators-1.json +botocore/data/accessanalyzer/2019-11-01/service-2.json +botocore/data/acm-pca/2017-08-22/examples-1.json +botocore/data/acm-pca/2017-08-22/paginators-1.json +botocore/data/acm-pca/2017-08-22/service-2.json +botocore/data/acm-pca/2017-08-22/waiters-2.json +botocore/data/acm/2015-12-08/examples-1.json botocore/data/acm/2015-12-08/paginators-1.json botocore/data/acm/2015-12-08/service-2.json +botocore/data/acm/2015-12-08/waiters-2.json +botocore/data/alexaforbusiness/2017-11-09/examples-1.json +botocore/data/alexaforbusiness/2017-11-09/paginators-1.json +botocore/data/alexaforbusiness/2017-11-09/service-2.json +botocore/data/amplify/2017-07-25/paginators-1.json +botocore/data/amplify/2017-07-25/service-2.json +botocore/data/apigateway/2015-07-09/examples-1.json botocore/data/apigateway/2015-07-09/paginators-1.json botocore/data/apigateway/2015-07-09/service-2.json +botocore/data/apigatewaymanagementapi/2018-11-29/paginators-1.json +botocore/data/apigatewaymanagementapi/2018-11-29/service-2.json +botocore/data/apigatewayv2/2018-11-29/paginators-1.json +botocore/data/apigatewayv2/2018-11-29/service-2.json +botocore/data/appconfig/2019-10-09/paginators-1.json +botocore/data/appconfig/2019-10-09/service-2.json +botocore/data/application-autoscaling/2016-02-06/examples-1.json botocore/data/application-autoscaling/2016-02-06/paginators-1.json botocore/data/application-autoscaling/2016-02-06/service-2.json +botocore/data/application-insights/2018-11-25/paginators-1.json +botocore/data/application-insights/2018-11-25/service-2.json +botocore/data/appmesh/2018-10-01/paginators-1.json +botocore/data/appmesh/2018-10-01/service-2.json +botocore/data/appmesh/2019-01-25/paginators-1.json +botocore/data/appmesh/2019-01-25/service-2.json +botocore/data/appstream/2016-12-01/examples-1.json +botocore/data/appstream/2016-12-01/paginators-1.json +botocore/data/appstream/2016-12-01/service-2.json +botocore/data/appstream/2016-12-01/waiters-2.json +botocore/data/appsync/2017-07-25/examples-1.json +botocore/data/appsync/2017-07-25/paginators-1.json +botocore/data/appsync/2017-07-25/service-2.json +botocore/data/athena/2017-05-18/examples-1.json +botocore/data/athena/2017-05-18/paginators-1.json +botocore/data/athena/2017-05-18/service-2.json +botocore/data/autoscaling-plans/2018-01-06/examples-1.json +botocore/data/autoscaling-plans/2018-01-06/paginators-1.json +botocore/data/autoscaling-plans/2018-01-06/service-2.json +botocore/data/autoscaling/2011-01-01/examples-1.json botocore/data/autoscaling/2011-01-01/paginators-1.json botocore/data/autoscaling/2011-01-01/service-2.json +botocore/data/backup/2018-11-15/paginators-1.json +botocore/data/backup/2018-11-15/service-2.json +botocore/data/batch/2016-08-10/examples-1.json +botocore/data/batch/2016-08-10/paginators-1.json +botocore/data/batch/2016-08-10/service-2.json +botocore/data/budgets/2016-10-20/examples-1.json +botocore/data/budgets/2016-10-20/paginators-1.json botocore/data/budgets/2016-10-20/service-2.json +botocore/data/ce/2017-10-25/examples-1.json +botocore/data/ce/2017-10-25/paginators-1.json +botocore/data/ce/2017-10-25/service-2.json +botocore/data/chime/2018-05-01/paginators-1.json +botocore/data/chime/2018-05-01/service-2.json +botocore/data/cloud9/2017-09-23/examples-1.json +botocore/data/cloud9/2017-09-23/paginators-1.json +botocore/data/cloud9/2017-09-23/service-2.json +botocore/data/clouddirectory/2016-05-10/paginators-1.json +botocore/data/clouddirectory/2016-05-10/service-2.json +botocore/data/clouddirectory/2017-01-11/examples-1.json +botocore/data/clouddirectory/2017-01-11/paginators-1.json +botocore/data/clouddirectory/2017-01-11/service-2.json +botocore/data/cloudformation/2010-05-15/examples-1.json botocore/data/cloudformation/2010-05-15/paginators-1.json botocore/data/cloudformation/2010-05-15/service-2.json botocore/data/cloudformation/2010-05-15/waiters-2.json @@ -87,34 +157,141 @@ 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/cloudfront/2016-11-25/examples-1.json +botocore/data/cloudfront/2016-11-25/paginators-1.json +botocore/data/cloudfront/2016-11-25/service-2.json +botocore/data/cloudfront/2016-11-25/waiters-2.json +botocore/data/cloudfront/2017-03-25/examples-1.json +botocore/data/cloudfront/2017-03-25/paginators-1.json +botocore/data/cloudfront/2017-03-25/service-2.json +botocore/data/cloudfront/2017-03-25/waiters-2.json +botocore/data/cloudfront/2017-10-30/examples-1.json +botocore/data/cloudfront/2017-10-30/paginators-1.json +botocore/data/cloudfront/2017-10-30/service-2.json +botocore/data/cloudfront/2017-10-30/waiters-2.json +botocore/data/cloudfront/2018-06-18/examples-1.json +botocore/data/cloudfront/2018-06-18/paginators-1.json +botocore/data/cloudfront/2018-06-18/service-2.json +botocore/data/cloudfront/2018-06-18/waiters-2.json +botocore/data/cloudfront/2018-11-05/examples-1.json +botocore/data/cloudfront/2018-11-05/paginators-1.json +botocore/data/cloudfront/2018-11-05/service-2.json +botocore/data/cloudfront/2018-11-05/waiters-2.json +botocore/data/cloudfront/2019-03-26/examples-1.json +botocore/data/cloudfront/2019-03-26/paginators-1.json +botocore/data/cloudfront/2019-03-26/service-2.json +botocore/data/cloudfront/2019-03-26/waiters-2.json +botocore/data/cloudhsm/2014-05-30/examples-1.json +botocore/data/cloudhsm/2014-05-30/paginators-1.json botocore/data/cloudhsm/2014-05-30/service-2.json +botocore/data/cloudhsmv2/2017-04-28/examples-1.json +botocore/data/cloudhsmv2/2017-04-28/paginators-1.json +botocore/data/cloudhsmv2/2017-04-28/service-2.json botocore/data/cloudsearch/2011-02-01/service-2.json +botocore/data/cloudsearch/2013-01-01/paginators-1.json botocore/data/cloudsearch/2013-01-01/service-2.json +botocore/data/cloudsearchdomain/2013-01-01/examples-1.json botocore/data/cloudsearchdomain/2013-01-01/service-2.json +botocore/data/cloudtrail/2013-11-01/examples-1.json +botocore/data/cloudtrail/2013-11-01/paginators-1.json botocore/data/cloudtrail/2013-11-01/service-2.json +botocore/data/cloudwatch/2010-08-01/examples-1.json botocore/data/cloudwatch/2010-08-01/paginators-1.json botocore/data/cloudwatch/2010-08-01/service-2.json +botocore/data/cloudwatch/2010-08-01/waiters-2.json +botocore/data/codebuild/2016-10-06/examples-1.json +botocore/data/codebuild/2016-10-06/paginators-1.json +botocore/data/codebuild/2016-10-06/service-2.json +botocore/data/codecommit/2015-04-13/examples-1.json botocore/data/codecommit/2015-04-13/paginators-1.json botocore/data/codecommit/2015-04-13/service-2.json +botocore/data/codedeploy/2014-10-06/examples-1.json +botocore/data/codedeploy/2014-10-06/paginators-1.json botocore/data/codedeploy/2014-10-06/service-2.json botocore/data/codedeploy/2014-10-06/waiters-2.json +botocore/data/codeguru-reviewer/2019-09-19/paginators-1.json +botocore/data/codeguru-reviewer/2019-09-19/service-2.json +botocore/data/codeguruprofiler/2019-07-18/paginators-1.json +botocore/data/codeguruprofiler/2019-07-18/service-2.json +botocore/data/codepipeline/2015-07-09/examples-1.json +botocore/data/codepipeline/2015-07-09/paginators-1.json botocore/data/codepipeline/2015-07-09/service-2.json +botocore/data/codestar-connections/2019-12-01/paginators-1.json +botocore/data/codestar-connections/2019-12-01/service-2.json +botocore/data/codestar-notifications/2019-10-15/paginators-1.json +botocore/data/codestar-notifications/2019-10-15/service-2.json +botocore/data/codestar/2017-04-19/examples-1.json +botocore/data/codestar/2017-04-19/paginators-1.json +botocore/data/codestar/2017-04-19/service-2.json +botocore/data/cognito-identity/2014-06-30/examples-1.json +botocore/data/cognito-identity/2014-06-30/paginators-1.json botocore/data/cognito-identity/2014-06-30/service-2.json +botocore/data/cognito-idp/2016-04-18/examples-1.json +botocore/data/cognito-idp/2016-04-18/paginators-1.json botocore/data/cognito-idp/2016-04-18/service-2.json botocore/data/cognito-sync/2014-06-30/service-2.json +botocore/data/comprehend/2017-11-27/examples-1.json +botocore/data/comprehend/2017-11-27/paginators-1.json +botocore/data/comprehend/2017-11-27/service-2.json +botocore/data/comprehendmedical/2018-10-30/paginators-1.json +botocore/data/comprehendmedical/2018-10-30/service-2.json +botocore/data/compute-optimizer/2019-11-01/paginators-1.json +botocore/data/compute-optimizer/2019-11-01/service-2.json +botocore/data/config/2014-11-12/examples-1.json +botocore/data/config/2014-11-12/paginators-1.json botocore/data/config/2014-11-12/service-2.json +botocore/data/connect/2017-08-08/examples-1.json +botocore/data/connect/2017-08-08/paginators-1.json +botocore/data/connect/2017-08-08/service-2.json +botocore/data/connectparticipant/2018-09-07/paginators-1.json +botocore/data/connectparticipant/2018-09-07/service-2.json +botocore/data/cur/2017-01-06/examples-1.json +botocore/data/cur/2017-01-06/paginators-1.json +botocore/data/cur/2017-01-06/service-2.json +botocore/data/dataexchange/2017-07-25/paginators-1.json +botocore/data/dataexchange/2017-07-25/service-2.json botocore/data/datapipeline/2012-10-29/paginators-1.json botocore/data/datapipeline/2012-10-29/service-2.json +botocore/data/datasync/2018-11-09/paginators-1.json +botocore/data/datasync/2018-11-09/service-2.json +botocore/data/dax/2017-04-19/examples-1.json +botocore/data/dax/2017-04-19/paginators-1.json +botocore/data/dax/2017-04-19/service-2.json +botocore/data/detective/2018-10-26/paginators-1.json +botocore/data/detective/2018-10-26/service-2.json +botocore/data/devicefarm/2015-06-23/examples-1.json botocore/data/devicefarm/2015-06-23/paginators-1.json botocore/data/devicefarm/2015-06-23/service-2.json +botocore/data/directconnect/2012-10-25/examples-1.json +botocore/data/directconnect/2012-10-25/paginators-1.json botocore/data/directconnect/2012-10-25/service-2.json +botocore/data/discovery/2015-11-01/examples-1.json +botocore/data/discovery/2015-11-01/paginators-1.json botocore/data/discovery/2015-11-01/service-2.json +botocore/data/dlm/2018-01-12/examples-1.json +botocore/data/dlm/2018-01-12/paginators-1.json +botocore/data/dlm/2018-01-12/service-2.json +botocore/data/dms/2016-01-01/examples-1.json +botocore/data/dms/2016-01-01/paginators-1.json botocore/data/dms/2016-01-01/service-2.json +botocore/data/dms/2016-01-01/waiters-2.json +botocore/data/docdb/2014-10-31/paginators-1.json +botocore/data/docdb/2014-10-31/service-2.json +botocore/data/docdb/2014-10-31/waiters-2.json +botocore/data/ds/2015-04-16/examples-1.json +botocore/data/ds/2015-04-16/paginators-1.json botocore/data/ds/2015-04-16/service-2.json +botocore/data/dynamodb/2012-08-10/examples-1.json botocore/data/dynamodb/2012-08-10/paginators-1.json botocore/data/dynamodb/2012-08-10/service-2.json botocore/data/dynamodb/2012-08-10/waiters-2.json +botocore/data/dynamodbstreams/2012-08-10/examples-1.json +botocore/data/dynamodbstreams/2012-08-10/paginators-1.json botocore/data/dynamodbstreams/2012-08-10/service-2.json +botocore/data/ebs/2019-11-02/paginators-1.json +botocore/data/ebs/2019-11-02/service-2.json +botocore/data/ec2-instance-connect/2018-04-02/paginators-1.json +botocore/data/ec2-instance-connect/2018-04-02/service-2.json botocore/data/ec2/2014-09-01/paginators-1.json botocore/data/ec2/2014-09-01/service-2.json botocore/data/ec2/2014-09-01/waiters-2.json @@ -137,105 +314,441 @@ botocore/data/ec2/2016-09-15/paginators-1.json botocore/data/ec2/2016-09-15/service-2.json botocore/data/ec2/2016-09-15/waiters-2.json +botocore/data/ec2/2016-11-15/examples-1.json +botocore/data/ec2/2016-11-15/paginators-1.json +botocore/data/ec2/2016-11-15/service-2.json +botocore/data/ec2/2016-11-15/waiters-2.json +botocore/data/ecr/2015-09-21/examples-1.json botocore/data/ecr/2015-09-21/paginators-1.json botocore/data/ecr/2015-09-21/service-2.json +botocore/data/ecr/2015-09-21/waiters-2.json +botocore/data/ecs/2014-11-13/examples-1.json botocore/data/ecs/2014-11-13/paginators-1.json botocore/data/ecs/2014-11-13/service-2.json botocore/data/ecs/2014-11-13/waiters-2.json +botocore/data/efs/2015-02-01/examples-1.json +botocore/data/efs/2015-02-01/paginators-1.json botocore/data/efs/2015-02-01/service-2.json +botocore/data/eks/2017-11-01/examples-1.json +botocore/data/eks/2017-11-01/paginators-1.json +botocore/data/eks/2017-11-01/service-2.json +botocore/data/eks/2017-11-01/service-2.sdk-extras.json +botocore/data/eks/2017-11-01/waiters-2.json +botocore/data/elastic-inference/2017-07-25/paginators-1.json +botocore/data/elastic-inference/2017-07-25/service-2.json botocore/data/elasticache/2014-09-30/paginators-1.json botocore/data/elasticache/2014-09-30/service-2.json botocore/data/elasticache/2014-09-30/waiters-2.json +botocore/data/elasticache/2015-02-02/examples-1.json botocore/data/elasticache/2015-02-02/paginators-1.json botocore/data/elasticache/2015-02-02/service-2.json botocore/data/elasticache/2015-02-02/waiters-2.json botocore/data/elasticbeanstalk/2010-12-01/examples-1.json botocore/data/elasticbeanstalk/2010-12-01/paginators-1.json botocore/data/elasticbeanstalk/2010-12-01/service-2.json +botocore/data/elastictranscoder/2012-09-25/examples-1.json botocore/data/elastictranscoder/2012-09-25/paginators-1.json botocore/data/elastictranscoder/2012-09-25/service-2.json botocore/data/elastictranscoder/2012-09-25/waiters-2.json +botocore/data/elb/2012-06-01/examples-1.json botocore/data/elb/2012-06-01/paginators-1.json botocore/data/elb/2012-06-01/service-2.json +botocore/data/elb/2012-06-01/waiters-2.json +botocore/data/elbv2/2015-12-01/examples-1.json botocore/data/elbv2/2015-12-01/paginators-1.json botocore/data/elbv2/2015-12-01/service-2.json +botocore/data/elbv2/2015-12-01/waiters-2.json +botocore/data/emr/2009-03-31/examples-1.json botocore/data/emr/2009-03-31/paginators-1.json botocore/data/emr/2009-03-31/service-2.json botocore/data/emr/2009-03-31/waiters-2.json +botocore/data/es/2015-01-01/examples-1.json +botocore/data/es/2015-01-01/paginators-1.json botocore/data/es/2015-01-01/service-2.json botocore/data/events/2014-02-03/service-2.json +botocore/data/events/2015-10-07/examples-1.json +botocore/data/events/2015-10-07/paginators-1.json botocore/data/events/2015-10-07/service-2.json +botocore/data/firehose/2015-08-04/examples-1.json +botocore/data/firehose/2015-08-04/paginators-1.json botocore/data/firehose/2015-08-04/service-2.json +botocore/data/fms/2018-01-01/examples-1.json +botocore/data/fms/2018-01-01/paginators-1.json +botocore/data/fms/2018-01-01/service-2.json +botocore/data/forecast/2018-06-26/paginators-1.json +botocore/data/forecast/2018-06-26/service-2.json +botocore/data/forecastquery/2018-06-26/paginators-1.json +botocore/data/forecastquery/2018-06-26/service-2.json +botocore/data/frauddetector/2019-11-15/paginators-1.json +botocore/data/frauddetector/2019-11-15/service-2.json +botocore/data/fsx/2018-03-01/paginators-1.json +botocore/data/fsx/2018-03-01/service-2.json +botocore/data/gamelift/2015-10-01/examples-1.json +botocore/data/gamelift/2015-10-01/paginators-1.json botocore/data/gamelift/2015-10-01/service-2.json +botocore/data/glacier/2012-06-01/examples-1.json botocore/data/glacier/2012-06-01/paginators-1.json botocore/data/glacier/2012-06-01/service-2.json +botocore/data/glacier/2012-06-01/waiters-2.json +botocore/data/globalaccelerator/2018-08-08/paginators-1.json +botocore/data/globalaccelerator/2018-08-08/service-2.json +botocore/data/glue/2017-03-31/examples-1.json +botocore/data/glue/2017-03-31/paginators-1.json +botocore/data/glue/2017-03-31/service-2.json +botocore/data/greengrass/2017-06-07/paginators-1.json +botocore/data/greengrass/2017-06-07/service-2.json +botocore/data/groundstation/2019-05-23/paginators-1.json +botocore/data/groundstation/2019-05-23/service-2.json +botocore/data/guardduty/2017-11-28/paginators-1.json +botocore/data/guardduty/2017-11-28/service-2.json +botocore/data/health/2016-08-04/examples-1.json +botocore/data/health/2016-08-04/paginators-1.json +botocore/data/health/2016-08-04/service-2.json +botocore/data/iam/2010-05-08/examples-1.json botocore/data/iam/2010-05-08/paginators-1.json botocore/data/iam/2010-05-08/service-2.json botocore/data/iam/2010-05-08/waiters-2.json +botocore/data/imagebuilder/2019-12-02/paginators-1.json +botocore/data/imagebuilder/2019-12-02/service-2.json botocore/data/importexport/2010-06-01/paginators-1.json botocore/data/importexport/2010-06-01/service-2.json botocore/data/inspector/2015-08-18/service-2.json +botocore/data/inspector/2016-02-16/examples-1.json +botocore/data/inspector/2016-02-16/paginators-1.json botocore/data/inspector/2016-02-16/service-2.json botocore/data/iot-data/2015-05-28/service-2.json +botocore/data/iot-jobs-data/2017-09-29/examples-1.json +botocore/data/iot-jobs-data/2017-09-29/paginators-1.json +botocore/data/iot-jobs-data/2017-09-29/service-2.json +botocore/data/iot/2015-05-28/examples-1.json +botocore/data/iot/2015-05-28/paginators-1.json botocore/data/iot/2015-05-28/service-2.json +botocore/data/iot1click-devices/2018-05-14/paginators-1.json +botocore/data/iot1click-devices/2018-05-14/service-2.json +botocore/data/iot1click-projects/2018-05-14/examples-1.json +botocore/data/iot1click-projects/2018-05-14/paginators-1.json +botocore/data/iot1click-projects/2018-05-14/service-2.json +botocore/data/iotanalytics/2017-11-27/examples-1.json +botocore/data/iotanalytics/2017-11-27/paginators-1.json +botocore/data/iotanalytics/2017-11-27/service-2.json +botocore/data/iotevents-data/2018-10-23/paginators-1.json +botocore/data/iotevents-data/2018-10-23/service-2.json +botocore/data/iotevents/2018-07-27/paginators-1.json +botocore/data/iotevents/2018-07-27/service-2.json +botocore/data/iotsecuretunneling/2018-10-05/paginators-1.json +botocore/data/iotsecuretunneling/2018-10-05/service-2.json +botocore/data/iotsitewise/2019-12-02/paginators-1.json +botocore/data/iotsitewise/2019-12-02/service-2.json +botocore/data/iotsitewise/2019-12-02/waiters-2.json +botocore/data/iotthingsgraph/2018-09-06/paginators-1.json +botocore/data/iotthingsgraph/2018-09-06/service-2.json +botocore/data/kafka/2018-11-14/paginators-1.json +botocore/data/kafka/2018-11-14/service-2.json +botocore/data/kendra/2019-02-03/paginators-1.json +botocore/data/kendra/2019-02-03/service-2.json +botocore/data/kinesis-video-archived-media/2017-09-30/examples-1.json +botocore/data/kinesis-video-archived-media/2017-09-30/paginators-1.json +botocore/data/kinesis-video-archived-media/2017-09-30/service-2.json +botocore/data/kinesis-video-media/2017-09-30/examples-1.json +botocore/data/kinesis-video-media/2017-09-30/paginators-1.json +botocore/data/kinesis-video-media/2017-09-30/service-2.json +botocore/data/kinesis-video-signaling/2019-12-04/paginators-1.json +botocore/data/kinesis-video-signaling/2019-12-04/service-2.json +botocore/data/kinesis/2013-12-02/examples-1.json botocore/data/kinesis/2013-12-02/paginators-1.json botocore/data/kinesis/2013-12-02/service-2.json botocore/data/kinesis/2013-12-02/waiters-2.json +botocore/data/kinesisanalytics/2015-08-14/examples-1.json +botocore/data/kinesisanalytics/2015-08-14/paginators-1.json botocore/data/kinesisanalytics/2015-08-14/service-2.json +botocore/data/kinesisanalyticsv2/2018-05-23/paginators-1.json +botocore/data/kinesisanalyticsv2/2018-05-23/service-2.json +botocore/data/kinesisvideo/2017-09-30/examples-1.json +botocore/data/kinesisvideo/2017-09-30/paginators-1.json +botocore/data/kinesisvideo/2017-09-30/service-2.json +botocore/data/kms/2014-11-01/examples-1.json botocore/data/kms/2014-11-01/paginators-1.json botocore/data/kms/2014-11-01/service-2.json +botocore/data/lakeformation/2017-03-31/paginators-1.json +botocore/data/lakeformation/2017-03-31/service-2.json botocore/data/lambda/2014-11-11/service-2.json +botocore/data/lambda/2015-03-31/examples-1.json botocore/data/lambda/2015-03-31/paginators-1.json botocore/data/lambda/2015-03-31/service-2.json +botocore/data/lambda/2015-03-31/waiters-2.json +botocore/data/lex-models/2017-04-19/examples-1.json +botocore/data/lex-models/2017-04-19/paginators-1.json +botocore/data/lex-models/2017-04-19/service-2.json +botocore/data/lex-runtime/2016-11-28/examples-1.json +botocore/data/lex-runtime/2016-11-28/paginators-1.json +botocore/data/lex-runtime/2016-11-28/service-2.json +botocore/data/license-manager/2018-08-01/paginators-1.json +botocore/data/license-manager/2018-08-01/service-2.json +botocore/data/lightsail/2016-11-28/examples-1.json +botocore/data/lightsail/2016-11-28/paginators-1.json +botocore/data/lightsail/2016-11-28/service-2.json +botocore/data/logs/2014-03-28/examples-1.json botocore/data/logs/2014-03-28/paginators-1.json botocore/data/logs/2014-03-28/service-2.json +botocore/data/machinelearning/2014-12-12/examples-1.json botocore/data/machinelearning/2014-12-12/paginators-1.json botocore/data/machinelearning/2014-12-12/service-2.json botocore/data/machinelearning/2014-12-12/waiters-2.json +botocore/data/macie/2017-12-19/examples-1.json +botocore/data/macie/2017-12-19/paginators-1.json +botocore/data/macie/2017-12-19/service-2.json +botocore/data/macie2/2020-01-01/paginators-1.json +botocore/data/macie2/2020-01-01/service-2.json +botocore/data/managedblockchain/2018-09-24/paginators-1.json +botocore/data/managedblockchain/2018-09-24/service-2.json +botocore/data/marketplace-catalog/2018-09-17/paginators-1.json +botocore/data/marketplace-catalog/2018-09-17/service-2.json +botocore/data/marketplace-entitlement/2017-01-11/examples-1.json +botocore/data/marketplace-entitlement/2017-01-11/paginators-1.json +botocore/data/marketplace-entitlement/2017-01-11/service-2.json +botocore/data/marketplacecommerceanalytics/2015-07-01/examples-1.json +botocore/data/marketplacecommerceanalytics/2015-07-01/paginators-1.json botocore/data/marketplacecommerceanalytics/2015-07-01/service-2.json +botocore/data/mediaconnect/2018-11-14/paginators-1.json +botocore/data/mediaconnect/2018-11-14/service-2.json +botocore/data/mediaconvert/2017-08-29/paginators-1.json +botocore/data/mediaconvert/2017-08-29/service-2.json +botocore/data/medialive/2017-10-14/paginators-1.json +botocore/data/medialive/2017-10-14/service-2.json +botocore/data/medialive/2017-10-14/waiters-2.json +botocore/data/mediapackage-vod/2018-11-07/paginators-1.json +botocore/data/mediapackage-vod/2018-11-07/service-2.json +botocore/data/mediapackage/2017-10-12/paginators-1.json +botocore/data/mediapackage/2017-10-12/service-2.json +botocore/data/mediastore-data/2017-09-01/examples-1.json +botocore/data/mediastore-data/2017-09-01/paginators-1.json +botocore/data/mediastore-data/2017-09-01/service-2.json +botocore/data/mediastore/2017-09-01/examples-1.json +botocore/data/mediastore/2017-09-01/paginators-1.json +botocore/data/mediastore/2017-09-01/service-2.json +botocore/data/mediatailor/2018-04-23/paginators-1.json +botocore/data/mediatailor/2018-04-23/service-2.json +botocore/data/meteringmarketplace/2016-01-14/examples-1.json +botocore/data/meteringmarketplace/2016-01-14/paginators-1.json botocore/data/meteringmarketplace/2016-01-14/service-2.json +botocore/data/mgh/2017-05-31/examples-1.json +botocore/data/mgh/2017-05-31/paginators-1.json +botocore/data/mgh/2017-05-31/service-2.json +botocore/data/migrationhub-config/2019-06-30/paginators-1.json +botocore/data/migrationhub-config/2019-06-30/service-2.json +botocore/data/mobile/2017-07-01/examples-1.json +botocore/data/mobile/2017-07-01/paginators-1.json +botocore/data/mobile/2017-07-01/service-2.json +botocore/data/mq/2017-11-27/paginators-1.json +botocore/data/mq/2017-11-27/service-2.json +botocore/data/mturk/2017-01-17/examples-1.json +botocore/data/mturk/2017-01-17/paginators-1.json +botocore/data/mturk/2017-01-17/service-2.json +botocore/data/neptune/2014-10-31/examples-1.json +botocore/data/neptune/2014-10-31/paginators-1.json +botocore/data/neptune/2014-10-31/service-2.json +botocore/data/neptune/2014-10-31/service-2.sdk-extras.json +botocore/data/neptune/2014-10-31/waiters-2.json +botocore/data/networkmanager/2019-07-05/paginators-1.json +botocore/data/networkmanager/2019-07-05/service-2.json +botocore/data/opsworks/2013-02-18/examples-1.json +botocore/data/opsworks/2013-02-18/paginators-1.json botocore/data/opsworks/2013-02-18/service-2.json botocore/data/opsworks/2013-02-18/waiters-2.json +botocore/data/opsworkscm/2016-11-01/examples-1.json +botocore/data/opsworkscm/2016-11-01/paginators-1.json +botocore/data/opsworkscm/2016-11-01/service-2.json +botocore/data/opsworkscm/2016-11-01/waiters-2.json +botocore/data/organizations/2016-11-28/examples-1.json +botocore/data/organizations/2016-11-28/paginators-1.json +botocore/data/organizations/2016-11-28/service-2.json +botocore/data/outposts/2019-12-03/paginators-1.json +botocore/data/outposts/2019-12-03/service-2.json +botocore/data/personalize-events/2018-03-22/paginators-1.json +botocore/data/personalize-events/2018-03-22/service-2.json +botocore/data/personalize-runtime/2018-05-22/paginators-1.json +botocore/data/personalize-runtime/2018-05-22/service-2.json +botocore/data/personalize/2018-05-22/paginators-1.json +botocore/data/personalize/2018-05-22/service-2.json +botocore/data/pi/2018-02-27/examples-1.json +botocore/data/pi/2018-02-27/paginators-1.json +botocore/data/pi/2018-02-27/service-2.json +botocore/data/pinpoint-email/2018-07-26/paginators-1.json +botocore/data/pinpoint-email/2018-07-26/service-2.json +botocore/data/pinpoint-sms-voice/2018-09-05/service-2.json +botocore/data/pinpoint/2016-12-01/examples-1.json +botocore/data/pinpoint/2016-12-01/service-2.json +botocore/data/polly/2016-06-10/examples-1.json +botocore/data/polly/2016-06-10/paginators-1.json +botocore/data/polly/2016-06-10/service-2.json +botocore/data/pricing/2017-10-15/examples-1.json +botocore/data/pricing/2017-10-15/paginators-1.json +botocore/data/pricing/2017-10-15/service-2.json +botocore/data/qldb-session/2019-07-11/paginators-1.json +botocore/data/qldb-session/2019-07-11/service-2.json +botocore/data/qldb/2019-01-02/paginators-1.json +botocore/data/qldb/2019-01-02/service-2.json +botocore/data/quicksight/2018-04-01/paginators-1.json +botocore/data/quicksight/2018-04-01/service-2.json +botocore/data/ram/2018-01-04/paginators-1.json +botocore/data/ram/2018-01-04/service-2.json +botocore/data/rds-data/2018-08-01/paginators-1.json +botocore/data/rds-data/2018-08-01/service-2.json botocore/data/rds/2014-09-01/paginators-1.json botocore/data/rds/2014-09-01/service-2.json botocore/data/rds/2014-09-01/waiters-2.json +botocore/data/rds/2014-10-31/examples-1.json botocore/data/rds/2014-10-31/paginators-1.json botocore/data/rds/2014-10-31/service-2.json +botocore/data/rds/2014-10-31/service-2.sdk-extras.json botocore/data/rds/2014-10-31/waiters-2.json +botocore/data/redshift/2012-12-01/examples-1.json botocore/data/redshift/2012-12-01/paginators-1.json botocore/data/redshift/2012-12-01/service-2.json botocore/data/redshift/2012-12-01/waiters-2.json +botocore/data/rekognition/2016-06-27/examples-1.json +botocore/data/rekognition/2016-06-27/paginators-1.json +botocore/data/rekognition/2016-06-27/service-2.json +botocore/data/rekognition/2016-06-27/waiters-2.json +botocore/data/resource-groups/2017-11-27/examples-1.json +botocore/data/resource-groups/2017-11-27/paginators-1.json +botocore/data/resource-groups/2017-11-27/service-2.json +botocore/data/resourcegroupstaggingapi/2017-01-26/examples-1.json +botocore/data/resourcegroupstaggingapi/2017-01-26/paginators-1.json +botocore/data/resourcegroupstaggingapi/2017-01-26/service-2.json +botocore/data/robomaker/2018-06-29/paginators-1.json +botocore/data/robomaker/2018-06-29/service-2.json +botocore/data/route53/2013-04-01/examples-1.json botocore/data/route53/2013-04-01/paginators-1.json botocore/data/route53/2013-04-01/service-2.json botocore/data/route53/2013-04-01/waiters-2.json +botocore/data/route53domains/2014-05-15/examples-1.json botocore/data/route53domains/2014-05-15/paginators-1.json botocore/data/route53domains/2014-05-15/service-2.json +botocore/data/route53resolver/2018-04-01/paginators-1.json +botocore/data/route53resolver/2018-04-01/service-2.json +botocore/data/s3/2006-03-01/examples-1.json botocore/data/s3/2006-03-01/paginators-1.json botocore/data/s3/2006-03-01/service-2.json botocore/data/s3/2006-03-01/waiters-2.json +botocore/data/s3control/2018-08-20/paginators-1.json +botocore/data/s3control/2018-08-20/service-2.json +botocore/data/sagemaker-a2i-runtime/2019-11-07/paginators-1.json +botocore/data/sagemaker-a2i-runtime/2019-11-07/service-2.json +botocore/data/sagemaker-runtime/2017-05-13/examples-1.json +botocore/data/sagemaker-runtime/2017-05-13/paginators-1.json +botocore/data/sagemaker-runtime/2017-05-13/service-2.json +botocore/data/sagemaker/2017-07-24/examples-1.json +botocore/data/sagemaker/2017-07-24/paginators-1.json +botocore/data/sagemaker/2017-07-24/service-2.json +botocore/data/sagemaker/2017-07-24/waiters-2.json +botocore/data/savingsplans/2019-06-28/paginators-1.json +botocore/data/savingsplans/2019-06-28/service-2.json +botocore/data/schemas/2019-12-02/paginators-1.json +botocore/data/schemas/2019-12-02/service-2.json +botocore/data/schemas/2019-12-02/waiters-2.json botocore/data/sdb/2009-04-15/paginators-1.json botocore/data/sdb/2009-04-15/service-2.json +botocore/data/secretsmanager/2017-10-17/examples-1.json +botocore/data/secretsmanager/2017-10-17/paginators-1.json +botocore/data/secretsmanager/2017-10-17/service-2.json +botocore/data/secretsmanager/2017-10-17/service-2.sdk-extras.json +botocore/data/securityhub/2018-10-26/paginators-1.json +botocore/data/securityhub/2018-10-26/service-2.json +botocore/data/serverlessrepo/2017-09-08/paginators-1.json +botocore/data/serverlessrepo/2017-09-08/service-2.json +botocore/data/service-quotas/2019-06-24/paginators-1.json +botocore/data/service-quotas/2019-06-24/service-2.json +botocore/data/servicecatalog/2015-12-10/examples-1.json +botocore/data/servicecatalog/2015-12-10/paginators-1.json botocore/data/servicecatalog/2015-12-10/service-2.json +botocore/data/servicediscovery/2017-03-14/examples-1.json +botocore/data/servicediscovery/2017-03-14/paginators-1.json +botocore/data/servicediscovery/2017-03-14/service-2.json +botocore/data/ses/2010-12-01/examples-1.json botocore/data/ses/2010-12-01/paginators-1.json botocore/data/ses/2010-12-01/service-2.json botocore/data/ses/2010-12-01/waiters-2.json +botocore/data/sesv2/2019-09-27/paginators-1.json +botocore/data/sesv2/2019-09-27/service-2.json +botocore/data/shield/2016-06-02/examples-1.json +botocore/data/shield/2016-06-02/paginators-1.json +botocore/data/shield/2016-06-02/service-2.json +botocore/data/signer/2017-08-25/examples-1.json +botocore/data/signer/2017-08-25/paginators-1.json +botocore/data/signer/2017-08-25/service-2.json +botocore/data/signer/2017-08-25/waiters-2.json +botocore/data/sms-voice/2018-09-05/service-2.json +botocore/data/sms/2016-10-24/examples-1.json +botocore/data/sms/2016-10-24/paginators-1.json botocore/data/sms/2016-10-24/service-2.json +botocore/data/snowball/2016-06-30/examples-1.json +botocore/data/snowball/2016-06-30/paginators-1.json botocore/data/snowball/2016-06-30/service-2.json +botocore/data/sns/2010-03-31/examples-1.json botocore/data/sns/2010-03-31/paginators-1.json botocore/data/sns/2010-03-31/service-2.json botocore/data/sqs/2012-11-05/examples-1.json +botocore/data/sqs/2012-11-05/paginators-1.json botocore/data/sqs/2012-11-05/service-2.json +botocore/data/ssm/2014-11-06/examples-1.json botocore/data/ssm/2014-11-06/paginators-1.json botocore/data/ssm/2014-11-06/service-2.json +botocore/data/sso-oidc/2019-06-10/paginators-1.json +botocore/data/sso-oidc/2019-06-10/service-2.json +botocore/data/sso/2019-06-10/paginators-1.json +botocore/data/sso/2019-06-10/service-2.json +botocore/data/stepfunctions/2016-11-23/examples-1.json +botocore/data/stepfunctions/2016-11-23/paginators-1.json +botocore/data/stepfunctions/2016-11-23/service-2.json +botocore/data/storagegateway/2013-06-30/examples-1.json botocore/data/storagegateway/2013-06-30/paginators-1.json botocore/data/storagegateway/2013-06-30/service-2.json +botocore/data/sts/2011-06-15/examples-1.json +botocore/data/sts/2011-06-15/paginators-1.json botocore/data/sts/2011-06-15/service-2.json +botocore/data/support/2013-04-15/examples-1.json botocore/data/support/2013-04-15/paginators-1.json botocore/data/support/2013-04-15/service-2.json +botocore/data/swf/2012-01-25/examples-1.json botocore/data/swf/2012-01-25/paginators-1.json botocore/data/swf/2012-01-25/service-2.json +botocore/data/synthetics/2017-10-11/paginators-1.json +botocore/data/synthetics/2017-10-11/service-2.json +botocore/data/textract/2018-06-27/paginators-1.json +botocore/data/textract/2018-06-27/service-2.json +botocore/data/transcribe/2017-10-26/examples-1.json +botocore/data/transcribe/2017-10-26/paginators-1.json +botocore/data/transcribe/2017-10-26/service-2.json +botocore/data/transfer/2018-11-05/paginators-1.json +botocore/data/transfer/2018-11-05/service-2.json +botocore/data/translate/2017-07-01/examples-1.json +botocore/data/translate/2017-07-01/paginators-1.json +botocore/data/translate/2017-07-01/service-2.json +botocore/data/waf-regional/2016-11-28/examples-1.json +botocore/data/waf-regional/2016-11-28/paginators-1.json +botocore/data/waf-regional/2016-11-28/service-2.json +botocore/data/waf/2015-08-24/examples-1.json +botocore/data/waf/2015-08-24/paginators-1.json botocore/data/waf/2015-08-24/service-2.json +botocore/data/wafv2/2019-07-29/paginators-1.json +botocore/data/wafv2/2019-07-29/service-2.json +botocore/data/workdocs/2016-05-01/examples-1.json +botocore/data/workdocs/2016-05-01/paginators-1.json +botocore/data/workdocs/2016-05-01/service-2.json +botocore/data/worklink/2018-09-25/paginators-1.json +botocore/data/worklink/2018-09-25/service-2.json +botocore/data/workmail/2017-10-01/examples-1.json +botocore/data/workmail/2017-10-01/paginators-1.json +botocore/data/workmail/2017-10-01/service-2.json +botocore/data/workmailmessageflow/2019-05-01/paginators-1.json +botocore/data/workmailmessageflow/2019-05-01/service-2.json +botocore/data/workspaces/2015-04-08/examples-1.json +botocore/data/workspaces/2015-04-08/paginators-1.json botocore/data/workspaces/2015-04-08/service-2.json +botocore/data/xray/2016-04-12/examples-1.json +botocore/data/xray/2016-04-12/paginators-1.json +botocore/data/xray/2016-04-12/service-2.json botocore/docs/__init__.py botocore/docs/client.py botocore/docs/docstring.py @@ -254,97 +767,33 @@ botocore/docs/bcdoc/restdoc.py botocore/docs/bcdoc/style.py botocore/docs/bcdoc/textwriter.py +botocore/retries/__init__.py +botocore/retries/adaptive.py +botocore/retries/base.py +botocore/retries/bucket.py +botocore/retries/quota.py +botocore/retries/special.py +botocore/retries/standard.py +botocore/retries/throttling.py botocore/vendored/__init__.py botocore/vendored/six.py botocore/vendored/requests/__init__.py -botocore/vendored/requests/adapters.py -botocore/vendored/requests/api.py -botocore/vendored/requests/auth.py -botocore/vendored/requests/cacert.pem -botocore/vendored/requests/certs.py -botocore/vendored/requests/compat.py -botocore/vendored/requests/cookies.py botocore/vendored/requests/exceptions.py -botocore/vendored/requests/hooks.py -botocore/vendored/requests/models.py -botocore/vendored/requests/sessions.py -botocore/vendored/requests/status_codes.py -botocore/vendored/requests/structures.py -botocore/vendored/requests/utils.py botocore/vendored/requests/packages/__init__.py -botocore/vendored/requests/packages/chardet/__init__.py -botocore/vendored/requests/packages/chardet/big5freq.py -botocore/vendored/requests/packages/chardet/big5prober.py -botocore/vendored/requests/packages/chardet/chardetect.py -botocore/vendored/requests/packages/chardet/chardistribution.py -botocore/vendored/requests/packages/chardet/charsetgroupprober.py -botocore/vendored/requests/packages/chardet/charsetprober.py -botocore/vendored/requests/packages/chardet/codingstatemachine.py -botocore/vendored/requests/packages/chardet/compat.py -botocore/vendored/requests/packages/chardet/constants.py -botocore/vendored/requests/packages/chardet/cp949prober.py -botocore/vendored/requests/packages/chardet/escprober.py -botocore/vendored/requests/packages/chardet/escsm.py -botocore/vendored/requests/packages/chardet/eucjpprober.py -botocore/vendored/requests/packages/chardet/euckrfreq.py -botocore/vendored/requests/packages/chardet/euckrprober.py -botocore/vendored/requests/packages/chardet/euctwfreq.py -botocore/vendored/requests/packages/chardet/euctwprober.py -botocore/vendored/requests/packages/chardet/gb2312freq.py -botocore/vendored/requests/packages/chardet/gb2312prober.py -botocore/vendored/requests/packages/chardet/hebrewprober.py -botocore/vendored/requests/packages/chardet/jisfreq.py -botocore/vendored/requests/packages/chardet/jpcntx.py -botocore/vendored/requests/packages/chardet/langbulgarianmodel.py -botocore/vendored/requests/packages/chardet/langcyrillicmodel.py -botocore/vendored/requests/packages/chardet/langgreekmodel.py -botocore/vendored/requests/packages/chardet/langhebrewmodel.py -botocore/vendored/requests/packages/chardet/langhungarianmodel.py -botocore/vendored/requests/packages/chardet/langthaimodel.py -botocore/vendored/requests/packages/chardet/latin1prober.py -botocore/vendored/requests/packages/chardet/mbcharsetprober.py -botocore/vendored/requests/packages/chardet/mbcsgroupprober.py -botocore/vendored/requests/packages/chardet/mbcssm.py -botocore/vendored/requests/packages/chardet/sbcharsetprober.py -botocore/vendored/requests/packages/chardet/sbcsgroupprober.py -botocore/vendored/requests/packages/chardet/sjisprober.py -botocore/vendored/requests/packages/chardet/universaldetector.py -botocore/vendored/requests/packages/chardet/utf8prober.py botocore/vendored/requests/packages/urllib3/__init__.py -botocore/vendored/requests/packages/urllib3/_collections.py -botocore/vendored/requests/packages/urllib3/connection.py -botocore/vendored/requests/packages/urllib3/connectionpool.py botocore/vendored/requests/packages/urllib3/exceptions.py -botocore/vendored/requests/packages/urllib3/fields.py -botocore/vendored/requests/packages/urllib3/filepost.py -botocore/vendored/requests/packages/urllib3/poolmanager.py -botocore/vendored/requests/packages/urllib3/request.py -botocore/vendored/requests/packages/urllib3/response.py -botocore/vendored/requests/packages/urllib3/contrib/__init__.py -botocore/vendored/requests/packages/urllib3/contrib/ntlmpool.py -botocore/vendored/requests/packages/urllib3/contrib/pyopenssl.py -botocore/vendored/requests/packages/urllib3/packages/__init__.py -botocore/vendored/requests/packages/urllib3/packages/ordered_dict.py -botocore/vendored/requests/packages/urllib3/packages/six.py -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py -botocore/vendored/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py -botocore/vendored/requests/packages/urllib3/util/__init__.py -botocore/vendored/requests/packages/urllib3/util/connection.py -botocore/vendored/requests/packages/urllib3/util/request.py -botocore/vendored/requests/packages/urllib3/util/response.py -botocore/vendored/requests/packages/urllib3/util/retry.py -botocore/vendored/requests/packages/urllib3/util/ssl_.py -botocore/vendored/requests/packages/urllib3/util/timeout.py -botocore/vendored/requests/packages/urllib3/util/url.py docs/Makefile docs/make.bat docs/source/client_upgrades.rst docs/source/conf.py docs/source/index.rst +docs/source/_static/404.html docs/source/development/changesfor10.rst docs/source/development/designnotes.rst docs/source/development/index.rst +docs/source/reference/awsrequest.rst docs/source/reference/config.rst +docs/source/reference/eventstream.rst docs/source/reference/index.rst docs/source/reference/loaders.rst docs/source/reference/response.rst @@ -416,32 +865,76 @@ tests/functional/test_client_metadata.py tests/functional/test_cloudformation.py tests/functional/test_cloudsearchdomain.py +tests/functional/test_cognito_idp.py tests/functional/test_credentials.py +tests/functional/test_dynamodb.py +tests/functional/test_ec2.py +tests/functional/test_endpoints.py +tests/functional/test_event_alias.py +tests/functional/test_events.py +tests/functional/test_h2_required.py +tests/functional/test_history.py tests/functional/test_iot_data.py +tests/functional/test_kinesis.py +tests/functional/test_lex.py tests/functional/test_loaders.py tests/functional/test_machinelearning.py +tests/functional/test_model_backcompat.py tests/functional/test_model_completeness.py +tests/functional/test_modeled_exceptions.py +tests/functional/test_mturk.py +tests/functional/test_neptune.py tests/functional/test_paginate.py tests/functional/test_paginator_config.py tests/functional/test_public_apis.py +tests/functional/test_rds.py tests/functional/test_regions.py +tests/functional/test_response_shadowing.py +tests/functional/test_retry.py +tests/functional/test_route53.py tests/functional/test_s3.py +tests/functional/test_s3_control.py +tests/functional/test_sagemaker.py +tests/functional/test_service_alias.py +tests/functional/test_service_names.py tests/functional/test_session.py +tests/functional/test_six_imports.py +tests/functional/test_six_threading.py +tests/functional/test_sts.py tests/functional/test_stub.py +tests/functional/test_utils.py tests/functional/test_waiter_config.py +tests/functional/csm/__init__.py +tests/functional/csm/cases.json +tests/functional/csm/test_monitoring.py +tests/functional/csm/data/csmtest/2018-06-19/service-2.json tests/functional/docs/__init__.py tests/functional/docs/test_alias.py tests/functional/docs/test_autoscaling.py tests/functional/docs/test_ec2.py tests/functional/docs/test_glacier.py +tests/functional/docs/test_lex.py tests/functional/docs/test_s3.py +tests/functional/docs/test_shared_example_config.py +tests/functional/docs/test_sms_voice.py tests/functional/docs/test_streaming_body.py tests/functional/leak/__init__.py tests/functional/leak/test_resource_leaks.py +tests/functional/models/endpoints.json +tests/functional/models/custom-acm/2015-12-08/examples-1.json +tests/functional/models/custom-acm/2015-12-08/paginators-1.json +tests/functional/models/custom-acm/2015-12-08/service-2.json +tests/functional/models/custom-acm/2015-12-08/waiters-2.json +tests/functional/retries/__init__.py +tests/functional/retries/test_bucket.py +tests/functional/retries/test_quota.py +tests/functional/utils/__init__.py +tests/functional/utils/credentialprocess.py tests/integration/__init__.py tests/integration/test-credentials tests/integration/test_apigateway.py tests/integration/test_client.py +tests/integration/test_client_http.py tests/integration/test_cloudformation.py tests/integration/test_cognito_identity.py tests/integration/test_credentials.py @@ -449,7 +942,6 @@ tests/integration/test_elastictranscoder.py tests/integration/test_emr.py tests/integration/test_glacier.py -tests/integration/test_kinesis.py tests/integration/test_loaders.py tests/integration/test_rds.py tests/integration/test_route53.py @@ -462,17 +954,27 @@ tests/unit/__init__.py tests/unit/put_object_data tests/unit/test_args.py +tests/unit/test_auth_sigv4.py tests/unit/test_awsrequest.py tests/unit/test_client.py tests/unit/test_compat.py +tests/unit/test_config_provider.py tests/unit/test_configloader.py tests/unit/test_credentials.py +tests/unit/test_discovery.py tests/unit/test_endpoint.py +tests/unit/test_errorfactory.py +tests/unit/test_eventstream.py tests/unit/test_exceptions.py tests/unit/test_handlers.py +tests/unit/test_history.py tests/unit/test_hooks.py +tests/unit/test_http_client_exception_mapping.py +tests/unit/test_http_session.py +tests/unit/test_idempotency.py tests/unit/test_loaders.py tests/unit/test_model.py +tests/unit/test_monitoring.py tests/unit/test_paginate.py tests/unit/test_parsers.py tests/unit/test_protocols.py @@ -482,6 +984,7 @@ tests/unit/test_s3_addressing.py tests/unit/test_serialize.py tests/unit/test_session.py +tests/unit/test_session_legacy.py tests/unit/test_signers.py tests/unit/test_stub.py tests/unit/test_translate.py @@ -644,11 +1147,13 @@ tests/unit/cfg/aws_bad_profile tests/unit/cfg/aws_config tests/unit/cfg/aws_config_bad +tests/unit/cfg/aws_config_badbytes tests/unit/cfg/aws_config_nested tests/unit/cfg/aws_config_nested_bad tests/unit/cfg/aws_config_nocreds tests/unit/cfg/aws_config_other tests/unit/cfg/aws_credentials +tests/unit/cfg/aws_third_config tests/unit/cfg/boto_config tests/unit/cfg/boto_config_empty tests/unit/cfg/foo_config @@ -1167,4 +1672,11 @@ tests/unit/response_parsing/xml/responses/sqs-send-message.json tests/unit/response_parsing/xml/responses/sqs-send-message.xml tests/unit/response_parsing/xml/responses/sts-get-session-token.json -tests/unit/response_parsing/xml/responses/sts-get-session-token.xml \ No newline at end of file +tests/unit/response_parsing/xml/responses/sts-get-session-token.xml +tests/unit/retries/__init__.py +tests/unit/retries/test_adaptive.py +tests/unit/retries/test_bucket.py +tests/unit/retries/test_quota.py +tests/unit/retries/test_special.py +tests/unit/retries/test_standard.py +tests/unit/retries/test_throttling.py \ No newline at end of file diff -Nru python-botocore-1.4.70/debian/changelog python-botocore-1.16.19+repack/debian/changelog --- python-botocore-1.4.70/debian/changelog 2016-11-22 22:30:03.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/changelog 2020-08-12 16:06:13.000000000 +0000 @@ -1,8 +1,238 @@ -python-botocore (1.4.70-1~16.04.0) xenial; urgency=medium +python-botocore (1.16.19+repack-1ubuntu0.16.04.2) xenial; urgency=medium - * No-change backport to Xenial: required for awscli (1.11.13) (LP: #1642730) + * Fix SRU of the latest package version for 16.04 (LP: #1875485) + * d/p/0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch + - Xenial is shipping urllib3 1.13 + - Avoid the 'ssl_context' argument, only available as of urllib3 >= 1.17 + - Avoid the 'chunked' argument, only available as of urllib3 >= 1.15 - -- Kamal Mostafa Tue, 22 Nov 2016 14:29:14 -0800 + -- Lukas Märdian Wed, 12 Aug 2020 18:06:13 +0200 + +python-botocore (1.16.19+repack-1ubuntu0.16.04.1) xenial; urgency=medium + + * SRU the latest package version to 16.04 (LP: #1875485). + * debian/control: adjust debhelper requirements to the one in xenial. + * debian/control: re-add the python-botocore py2 package. + + -- Łukasz 'sil2100' Zemczak Wed, 17 Jun 2020 02:17:33 +0200 + +python-botocore (1.16.19+repack-1) unstable; urgency=medium + + * New upstream version 1.16.19+repack + + -- TANIGUCHI Takaki Sat, 30 May 2020 19:51:09 +0900 + +python-botocore (1.15.46+repack-1) unstable; urgency=medium + + * New upstream version 1.15.46+repack + + -- TANIGUCHI Takaki Sat, 25 Apr 2020 13:13:19 +0900 + +python-botocore (1.15.26+repack-1) unstable; urgency=medium + + * New upstream version 1.15.26+repack + + -- TANIGUCHI Takaki Sun, 22 Mar 2020 21:15:56 +0900 + +python-botocore (1.15.21+repack-1) unstable; urgency=medium + + * New upstream version 1.15.21+repack + * Refresh patch 0001-Don-t-use-duplicated-modules.patch + + -- Noah Meyerhans Mon, 16 Mar 2020 17:17:57 -0700 + +python-botocore (1.14.14+repack-1) unstable; urgency=medium + + * New upstream version 1.14.14+repack + * Set upstream metadata fields: Bug-Database, Bug-Submit. + * Bump Standards-Version to 4.5.0 + + -- TANIGUCHI Takaki Wed, 12 Feb 2020 10:44:30 +0900 + +python-botocore (1.13.37+repack-1) unstable; urgency=medium + + * Set upstream metadata fields: Repository, Repository-Browse. + * New upstream version 1.13.37+repack + + -- TANIGUCHI Takaki Thu, 12 Dec 2019 18:27:46 +0900 + +python-botocore (1.13.19+repack-1) unstable; urgency=medium + + * New upstream version 1.13.19+repack + + -- TANIGUCHI Takaki Mon, 18 Nov 2019 17:55:48 +0900 + +python-botocore (1.12.241+repack-2) unstable; urgency=medium + + [ Ondřej Nový ] + * Bump Standards-Version to 4.4.1. + * d/changelog: Remove trailing whitespaces. + + [ Sandro Tosi ] + * Drop python2 support; Closes: #937619 + + -- Sandro Tosi Sat, 26 Oct 2019 20:43:46 -0400 + +python-botocore (1.12.241+repack-1) unstable; urgency=medium + + * New upstream version 1.12.241+repack + * Set upstream metadata fields: Repository. + * Add debian/salsa-ci.yml. + + -- TANIGUCHI Takaki Thu, 03 Oct 2019 20:20:03 +0900 + +python-botocore (1.12.208+repack-1) unstable; urgency=medium + + * New upstream version 1.12.208+repack + + -- TANIGUCHI Takaki Thu, 15 Aug 2019 17:36:19 +0900 + +python-botocore (1.12.200+repack-1) unstable; urgency=medium + + * New upstream version 1.12.200+repack + * Use debhelper-compat instead of debian/compat. + * Bump Standards-Version to 4.4.0. + + -- TANIGUCHI Takaki Sun, 04 Aug 2019 00:51:02 +0900 + +python-botocore (1.12.103+repack-1) unstable; urgency=medium + + * New upstream version 1.12.103+repack + + -- TANIGUCHI Takaki Wed, 27 Feb 2019 16:32:50 +0900 + +python-botocore (1.12.71+repack-1) unstable; urgency=medium + + * New upstream version 1.12.71+repack + * Bump Stanrads-Version to 4.3.0 + + -- TANIGUCHI Takaki Fri, 28 Dec 2018 16:08:55 +0900 + +python-botocore (1.12.53+repack-1) unstable; urgency=medium + + * New upstream version 1.12.53+repack + * debian/patches/*: Refresh patches. + + -- TANIGUCHI Takaki Wed, 28 Nov 2018 18:51:54 +0900 + +python-botocore (1.12.16+repack-1) unstable; urgency=medium + + * New upstream version 1.12.16+repack + * debian/patches: Refresh patch files. + * Bump Stanrads-Version to 4.2.1 + + -- TANIGUCHI Takaki Thu, 04 Oct 2018 17:45:35 +0900 + +python-botocore (1.10.78+repack-1) unstable; urgency=medium + + [ Ondřej Nový ] + * Convert git repository from git-dpm to gbp layout + + [ TANIGUCHI Takaki ] + * New upstream version 1.10.78+repack + * Bump Stanrads-Version to 4.2.0.1 + + -- TANIGUCHI Takaki Thu, 16 Aug 2018 15:04:16 +0900 + +python-botocore (1.10.55+repack-1) unstable; urgency=medium + + * Team upload. + + [ Ondřej Nový ] + * d/control: Bump required version of python-requests to 2.7.0 + (Thanks to Jan Kriho for report) + + [ Alexander Gerasiov ] + * New upstream version 1.10.55+repack + * d/patches: Refreshed. + + -- Alexander Gerasiov Wed, 11 Jul 2018 09:31:43 +0300 + +python-botocore (1.10.15+repack-1) unstable; urgency=medium + + [ Ondřej Nový ] + * d/copyright: Use https protocol in Format field + * d/watch: Use https protocol + * d/changelog: Remove trailing whitespaces + + [ TANIGUCHI Takaki ] + * New upstream version 1.10.15+repack + + -- TANIGUCHI Takaki Tue, 08 May 2018 11:04:31 +0900 + +python-botocore (1.8.48+repack-1) unstable; urgency=medium + + * New upstream version 1.8.48+repack + + -- TANIGUCHI Takaki Thu, 22 Feb 2018 17:46:12 +0900 + +python-botocore (1.8.40+repack-1) unstable; urgency=medium + + * New upstream version 1.8.40+repack + * Migrate Vcs-* to salsa.debian.org. + + -- TANIGUCHI Takaki Sun, 11 Feb 2018 17:58:05 +0900 + +python-botocore (1.8.36+repack-1) unstable; urgency=medium + + * New upstream version 1.8.36+repack + * debian/compat: 11 + + -- TANIGUCHI Takaki Sat, 03 Feb 2018 18:39:19 +0900 + +python-botocore (1.8.28+repack-1) unstable; urgency=medium + + [ Andreas Tille ] + * New upstream version + * Standards-Version: 4.1.3 + + -- TANIGUCHI Takaki Sat, 20 Jan 2018 17:11:12 +0900 + +python-botocore (1.6.6-1) unstable; urgency=medium + + * New upstream version 1.6.6 + * debian/patches: Add ssl_context patch (Closes: #854382) + + -- TANIGUCHI Takaki Thu, 24 Aug 2017 11:46:29 +0900 + +python-botocore (1.5.84-1) unstable; urgency=medium + + * New upstream version 1.5.84 + + -- TANIGUCHI Takaki Wed, 19 Jul 2017 18:47:08 +0900 + +python-botocore (1.5.80-1) unstable; urgency=medium + + * New upstream version 1.5.80 + * debian/compat: Bump to 10 + + -- TANIGUCHI Takaki Mon, 10 Jul 2017 16:41:24 +0900 + +python-botocore (1.5.78-1) unstable; urgency=medium + + * New upstream version 1.5.78 + + -- TANIGUCHI Takaki Tue, 04 Jul 2017 15:36:40 +0900 + +python-botocore (1.5.75-2) unstable; urgency=medium + + * debian/patches: Fix errors. (Closes: #866163) + + -- TANIGUCHI Takaki Wed, 28 Jun 2017 11:19:03 +0900 + +python-botocore (1.5.75-1) unstable; urgency=medium + + * New upstream version 1.5.75 + * Bump Standards-Version to 4.0.0 (without changes) + * debian/patches: refresh patches + + -- TANIGUCHI Takaki Tue, 27 Jun 2017 19:01:59 +0900 + +python-botocore (1.5.7-1) unstable; urgency=medium + + * New upstream version 1.5.7 + + -- TANIGUCHI Takaki Thu, 02 Feb 2017 17:37:30 +0900 python-botocore (1.4.70-1) unstable; urgency=medium @@ -65,7 +295,7 @@ python-botocore (0.62.0-1) unstable; urgency=medium * New upstream release - * debian/patches: refresh + * debian/patches: refresh -- TANIGUCHI Takaki Thu, 04 Sep 2014 11:59:09 +0900 @@ -85,7 +315,7 @@ python-botocore (0.29.0+repack-2) unstable; urgency=medium - * debian/watch: Add debian version mangle. + * debian/watch: Add debian version mangle. * debian/control: Add python-requests to Depends. (Closes: #734382) -- TANIGUCHI Takaki Tue, 04 Feb 2014 18:28:43 +0900 diff -Nru python-botocore-1.4.70/debian/control python-botocore-1.16.19+repack/debian/control --- python-botocore-1.4.70/debian/control 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/control 2020-06-17 00:17:33.000000000 +0000 @@ -1,7 +1,8 @@ Source: python-botocore Section: python Priority: optional -Maintainer: Debian Python Modules Team +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian Python Modules Team Uploaders: TANIGUCHI Takaki Build-Depends: debhelper (>= 9) , python-all @@ -13,12 +14,12 @@ , dh-python Standards-Version: 3.9.8 Homepage: https://github.com/boto/botocore -Vcs-Git: https://anonscm.debian.org/git/python-modules/packages/python-botocore.git -Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/python-botocore.git +Vcs-Git: https://salsa.debian.org/python-team/modules/python-botocore.git +Vcs-Browser: https://salsa.debian.org/python-team/modules/python-botocore Package: python-botocore Architecture: all -Depends: ${python:Depends}, python-requests, ${misc:Depends} +Depends: ${python:Depends}, python-requests (>= 2.7.0), ${misc:Depends} Description: Low-level, data-driven core of boto 3 (Python 2) A low-level interface to a growing number of Amazon Web Services. The botocore package is the foundation for AWS-CLI. diff -Nru python-botocore-1.4.70/debian/copyright python-botocore-1.16.19+repack/debian/copyright --- python-botocore-1.4.70/debian/copyright 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/copyright 2020-05-30 10:51:09.000000000 +0000 @@ -1,4 +1,4 @@ -Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: python-botocore Source: https://pypi.python.org/pypi/botocore Files-Excluded: botocore/vendored diff -Nru python-botocore-1.4.70/debian/.git-dpm python-botocore-1.16.19+repack/debian/.git-dpm --- python-botocore-1.4.70/debian/.git-dpm 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/.git-dpm 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -# see git-dpm(1) from git-dpm package -d362c7b19b96d362c91e754220245d197343943b -d362c7b19b96d362c91e754220245d197343943b -af927425f0e0e7f91a231c785a0e888e66971644 -af927425f0e0e7f91a231c785a0e888e66971644 -python-botocore_1.4.60.orig.tar.gz -9574e0532c4aac2774aa0e9425eb2c30b5b256d7 -2563963 -debianTag="debian/%e%v" -patchedTag="patched/%e%v" -upstreamTag="upstream/%e%u" diff -Nru python-botocore-1.4.70/debian/patches/0001-Don-t-use-duplicated-modules.patch python-botocore-1.16.19+repack/debian/patches/0001-Don-t-use-duplicated-modules.patch --- python-botocore-1.4.70/debian/patches/0001-Don-t-use-duplicated-modules.patch 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/patches/0001-Don-t-use-duplicated-modules.patch 2020-05-30 10:51:09.000000000 +0000 @@ -1,151 +1,179 @@ -From 9c646b991cffe67a2de513866b915439e08d907a Mon Sep 17 00:00:00 2001 From: TANIGUCHI Takaki -Date: Tue, 24 Nov 2015 20:40:16 +0900 +Date: Thu, 4 Oct 2018 16:22:43 +0900 Subject: Don't use duplicated modules -fix path --- - botocore/awsrequest.py | 12 ++++++------ - botocore/compat.py | 4 ++-- - botocore/endpoint.py | 14 +++++++------- - botocore/exceptions.py | 2 +- - botocore/retryhandler.py | 4 ++-- - botocore/stub.py | 2 +- - botocore/utils.py | 2 +- - 7 files changed, 20 insertions(+), 20 deletions(-) + botocore/compat.py | 4 ++-- + botocore/endpoint.py | 2 +- + botocore/exceptions.py | 4 ++-- + botocore/httpsession.py | 4 ++-- + botocore/utils.py | 2 +- + tests/functional/test_six_threading.py | 4 ++-- + tests/integration/test_client_http.py | 4 ++-- + tests/integration/test_glacier.py | 2 +- + tests/integration/test_s3.py | 2 +- + tests/unit/test_endpoint.py | 2 +- + tests/unit/test_http_client_exception_mapping.py | 4 ++-- + tests/unit/test_http_session.py | 2 +- + 12 files changed, 18 insertions(+), 18 deletions(-) -Index: python-botocore/botocore/awsrequest.py -=================================================================== ---- python-botocore.orig/botocore/awsrequest.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/awsrequest.py 2016-11-10 11:30:23.466805008 +0900 -@@ -22,15 +22,15 @@ - from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit - from botocore.exceptions import UnseekableStreamError - from botocore.utils import percent_encode_sequence --from botocore.vendored.requests import models --from botocore.vendored.requests.sessions import REDIRECT_STATI --from botocore.vendored.requests.packages.urllib3.connection import \ -+from requests import models -+from requests.sessions import REDIRECT_STATI -+from urllib3.connection import \ - VerifiedHTTPSConnection --from botocore.vendored.requests.packages.urllib3.connection import \ -+from urllib3.connection import \ - HTTPConnection --from botocore.vendored.requests.packages.urllib3.connectionpool import \ -+from urllib3.connectionpool import \ - HTTPConnectionPool --from botocore.vendored.requests.packages.urllib3.connectionpool import \ -+from urllib3.connectionpool import \ - HTTPSConnectionPool - - Index: python-botocore/botocore/compat.py =================================================================== ---- python-botocore.orig/botocore/compat.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/compat.py 2016-11-10 11:30:23.466805008 +0900 -@@ -19,9 +19,9 @@ - import hashlib - import logging +--- python-botocore.orig/botocore/compat.py ++++ python-botocore/botocore/compat.py +@@ -21,7 +21,7 @@ import logging + import shlex + from math import floor -from botocore.vendored import six +import six from botocore.exceptions import MD5UnavailableError --from botocore.vendored.requests.packages.urllib3 import exceptions -+from urllib3 import exceptions + from dateutil.tz import tzlocal + from urllib3 import exceptions +@@ -30,7 +30,7 @@ logger = logging.getLogger(__name__) + - logger = logging.getLogger(__name__) + if six.PY3: +- from botocore.vendored.six.moves import http_client ++ from six.moves import http_client + class HTTPHeaders(http_client.HTTPMessage): + pass Index: python-botocore/botocore/endpoint.py =================================================================== ---- python-botocore.orig/botocore/endpoint.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/endpoint.py 2016-11-10 11:30:23.466805008 +0900 -@@ -17,11 +17,11 @@ +--- python-botocore.orig/botocore/endpoint.py ++++ python-botocore/botocore/endpoint.py +@@ -17,7 +17,7 @@ import logging import time import threading --from botocore.vendored.requests.adapters import HTTPAdapter --from botocore.vendored.requests.sessions import Session --from botocore.vendored.requests.utils import get_environ_proxies --from botocore.vendored.requests.exceptions import ConnectionError --from botocore.vendored import six -+from requests.adapters import HTTPAdapter -+from requests.sessions import Session -+from requests.utils import get_environ_proxies -+from requests.exceptions import ConnectionError +-from botocore.vendored import six +import six from botocore.awsrequest import create_request_object - from botocore.exceptions import UnknownEndpointError -@@ -40,7 +40,7 @@ - filter_ssl_warnings() - - try: -- from botocore.vendored.requests.packages.urllib3.contrib import pyopenssl -+ from urllib3.contrib import pyopenssl - pyopenssl.extract_from_urllib3() - except ImportError: - pass -@@ -52,7 +52,7 @@ - This converts the requests library's HTTP response object to - a dictionary. - -- :type http_response: botocore.vendored.requests.model.Response -+ :type http_response: requests.model.Response - :param http_response: The HTTP response from an AWS service request. - - :rtype: dict + from botocore.exceptions import HTTPClientError Index: python-botocore/botocore/exceptions.py =================================================================== ---- python-botocore.orig/botocore/exceptions.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/exceptions.py 2016-11-10 11:30:23.466805008 +0900 -@@ -12,7 +12,7 @@ +--- python-botocore.orig/botocore/exceptions.py ++++ python-botocore/botocore/exceptions.py +@@ -12,8 +12,8 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from __future__ import unicode_literals --from botocore.vendored.requests.exceptions import ConnectionError -+from requests.exceptions import ConnectionError +-from botocore.vendored import requests +-from botocore.vendored.requests.packages import urllib3 ++import requests ++from requests.packages import urllib3 - class BotoCoreError(Exception): -Index: python-botocore/botocore/retryhandler.py + def _exception_from_packed_args(exception_cls, args=None, kwargs=None): +Index: python-botocore/botocore/httpsession.py =================================================================== ---- python-botocore.orig/botocore/retryhandler.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/retryhandler.py 2016-11-10 11:30:23.466805008 +0900 -@@ -17,8 +17,8 @@ - import logging - from binascii import crc32 +--- python-botocore.orig/botocore/httpsession.py ++++ python-botocore/botocore/httpsession.py +@@ -19,8 +19,8 @@ except ImportError: + from urllib3.util.ssl_ import SSLContext + + import botocore.awsrequest +-from botocore.vendored import six +-from botocore.vendored.six.moves.urllib_parse import unquote ++import six ++from six.moves.urllib_parse import unquote + from botocore.compat import filter_ssl_warnings, urlparse + from botocore.exceptions import ( + ConnectionClosedError, EndpointConnectionError, HTTPClientError, +Index: python-botocore/botocore/utils.py +=================================================================== +--- python-botocore.orig/botocore/utils.py ++++ python-botocore/botocore/utils.py +@@ -31,7 +31,7 @@ import botocore.awsrequest + import botocore.httpsession + from botocore.compat import json, quote, zip_longest, urlsplit, urlunsplit + from botocore.compat import OrderedDict, six, urlparse, get_tzinfo_options +-from botocore.vendored.six.moves.urllib.request import getproxies, proxy_bypass ++from six.moves.urllib.request import getproxies, proxy_bypass + from botocore.exceptions import ( + InvalidExpressionError, ConfigNotFound, InvalidDNSNameError, ClientError, + MetadataRetrievalError, EndpointConnectionError, ReadTimeoutError, +Index: python-botocore/tests/functional/test_six_threading.py +=================================================================== +--- python-botocore.orig/tests/functional/test_six_threading.py ++++ python-botocore/tests/functional/test_six_threading.py +@@ -6,7 +6,7 @@ import sys + import threading + import time --from botocore.vendored.requests import ConnectionError, Timeout --from botocore.vendored.requests.packages.urllib3.exceptions import ClosedPoolError -+from requests import ConnectionError, Timeout -+from urllib3.exceptions import ClosedPoolError +-from botocore.vendored import six ++import six - from botocore.exceptions import ChecksumError, EndpointConnectionError -Index: python-botocore/botocore/stub.py -=================================================================== ---- python-botocore.orig/botocore/stub.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/stub.py 2016-11-10 11:30:23.466805008 +0900 -@@ -17,7 +17,7 @@ - from botocore.validate import validate_parameters - from botocore.exceptions import ParamValidationError, \ - StubResponseError, StubAssertionError --from botocore.vendored.requests.models import Response -+from requests.models import Response + _original_setattr = six.moves.__class__.__setattr__ +@@ -48,7 +48,7 @@ class _ExampleThread(threading.Thread): + def test_six_thread_safety(): + _reload_six() +- with patch('botocore.vendored.six.moves.__class__.__setattr__', ++ with patch('six.moves.__class__.__setattr__', + wraps=_wrapped_setattr): + threads = [] + for i in range(2): +Index: python-botocore/tests/integration/test_client_http.py +=================================================================== +--- python-botocore.orig/tests/integration/test_client_http.py ++++ python-botocore/tests/integration/test_client_http.py +@@ -7,12 +7,12 @@ from contextlib import contextmanager + + import botocore.session + from botocore.config import Config +-from botocore.vendored.six.moves import BaseHTTPServer, socketserver ++from six.moves import BaseHTTPServer, socketserver + from botocore.exceptions import ( + ConnectTimeoutError, ReadTimeoutError, EndpointConnectionError, + ConnectionClosedError, + ) +-from botocore.vendored.requests import exceptions as requests_exceptions ++from requests import exceptions as requests_exceptions + + + class TestClientHTTPBehavior(unittest.TestCase): +Index: python-botocore/tests/integration/test_glacier.py +=================================================================== +--- python-botocore.orig/tests/integration/test_glacier.py ++++ python-botocore/tests/integration/test_glacier.py +@@ -13,7 +13,7 @@ + from tests import unittest - class _ANY(object): -Index: python-botocore/botocore/utils.py -=================================================================== ---- python-botocore.orig/botocore/utils.py 2016-11-10 11:30:23.478805141 +0900 -+++ python-botocore/botocore/utils.py 2016-11-10 11:30:23.466805008 +0900 -@@ -28,7 +28,7 @@ - from botocore.exceptions import InvalidDNSNameError, ClientError - from botocore.exceptions import MetadataRetrievalError - from botocore.compat import json, quote, zip_longest, urlsplit, urlunsplit --from botocore.vendored import requests -+import requests - from botocore.compat import OrderedDict + from botocore.exceptions import ClientError +-from botocore.vendored import six ++import six + import botocore.session +Index: python-botocore/tests/unit/test_http_client_exception_mapping.py +=================================================================== +--- python-botocore.orig/tests/unit/test_http_client_exception_mapping.py ++++ python-botocore/tests/unit/test_http_client_exception_mapping.py +@@ -1,8 +1,8 @@ + from nose.tools import assert_raises + + from botocore import exceptions as botocore_exceptions +-from botocore.vendored.requests import exceptions as requests_exceptions +-from botocore.vendored.requests.packages.urllib3 import exceptions as urllib3_exceptions ++from requests import exceptions as requests_exceptions ++from requests.packages.urllib3 import exceptions as urllib3_exceptions + + EXCEPTION_MAPPING = [ + (botocore_exceptions.ReadTimeoutError, requests_exceptions.ReadTimeout), +Index: python-botocore/tests/unit/test_http_session.py +=================================================================== +--- python-botocore.orig/tests/unit/test_http_session.py ++++ python-botocore/tests/unit/test_http_session.py +@@ -5,7 +5,7 @@ from tests import unittest + from nose.tools import raises + from urllib3.exceptions import NewConnectionError, ProtocolError + +-from botocore.vendored import six ++import six + from botocore.awsrequest import AWSRequest + from botocore.awsrequest import AWSHTTPConnectionPool, AWSHTTPSConnectionPool + from botocore.httpsession import get_cert_path diff -Nru python-botocore-1.4.70/debian/patches/0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch python-botocore-1.16.19+repack/debian/patches/0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch --- python-botocore-1.4.70/debian/patches/0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/patches/0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch 2020-08-12 16:06:13.000000000 +0000 @@ -0,0 +1,35 @@ +From: =?utf-8?q?Lukas_M=C3=A4rdian?= +Date: Wed, 12 Aug 2020 12:08:54 +0200 +Subject: Avoid 'ssl_context' and 'chunked' arguments with legacy urllib3 + +The 'ssl_context' argument was introduced as of urllib3 >= 1.17: +https://github.com/urllib3/urllib3/commit/80f724b194f019a4d9fc9cdd5bb6976660eb2930 + +The 'chunked' argument was introduced as of urllib3 >= 1.15: +https://github.com/urllib3/urllib3/commit/51aa0c24c1fc13adb07f43739766748ba8340608 + +Xenial is shipping 1.13. +--- + botocore/httpsession.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/botocore/httpsession.py b/botocore/httpsession.py +index bd724fe..907d879 100644 +--- a/botocore/httpsession.py ++++ b/botocore/httpsession.py +@@ -185,7 +185,6 @@ class URLLib3Session(object): + 'strict': True, + 'timeout': self._timeout, + 'maxsize': self._max_pool_connections, +- 'ssl_context': self._get_ssl_context(), + 'socket_options': self._socket_options, + 'cert_file': self._cert_file, + 'key_file': self._key_file, +@@ -260,7 +259,6 @@ class URLLib3Session(object): + assert_same_host=False, + preload_content=False, + decode_content=False, +- chunked=self._chunked(request.headers), + ) + + http_response = botocore.awsrequest.AWSResponse( diff -Nru python-botocore-1.4.70/debian/patches/0002-Don-t-use-duplicated-modules-in-tests.patch python-botocore-1.16.19+repack/debian/patches/0002-Don-t-use-duplicated-modules-in-tests.patch --- python-botocore-1.4.70/debian/patches/0002-Don-t-use-duplicated-modules-in-tests.patch 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/patches/0002-Don-t-use-duplicated-modules-in-tests.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,178 +0,0 @@ -From d362c7b19b96d362c91e754220245d197343943b Mon Sep 17 00:00:00 2001 -From: TANIGUCHI Takaki -Date: Tue, 24 Nov 2015 21:34:20 +0900 -Subject: Don't use duplicated modules (in tests) - ---- - tests/integration/test_glacier.py | 2 +- - tests/integration/test_s3.py | 8 ++++---- - tests/integration/test_smoke.py | 6 +++--- - tests/unit/auth/test_signers.py | 2 +- - tests/unit/response_parsing/test_response_parsing.py | 2 +- - tests/unit/test_awsrequest.py | 2 +- - tests/unit/test_endpoint.py | 2 +- - tests/unit/test_response.py | 2 +- - tests/unit/test_retryhandler.py | 4 ++-- - tests/unit/test_utils.py | 2 +- - 10 files changed, 16 insertions(+), 16 deletions(-) - -Index: python-botocore/tests/integration/test_glacier.py -=================================================================== ---- python-botocore.orig/tests/integration/test_glacier.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/integration/test_glacier.py 2016-11-10 11:30:36.066944449 +0900 -@@ -13,7 +13,7 @@ - from tests import unittest - - from botocore.exceptions import ClientError --from botocore.vendored import six -+import six - import botocore.session - - -Index: python-botocore/tests/integration/test_s3.py -=================================================================== ---- python-botocore.orig/tests/integration/test_s3.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/integration/test_s3.py 2016-11-10 11:30:36.066944449 +0900 -@@ -24,13 +24,13 @@ - - from nose.plugins.attrib import attr - --from botocore.vendored.requests import adapters --from botocore.vendored.requests.exceptions import ConnectionError -+from requests import adapters -+from requests.exceptions import ConnectionError - from botocore.compat import six, zip_longest - import botocore.session - import botocore.auth - import botocore.credentials --import botocore.vendored.requests as requests -+import requests - from botocore.config import Config - from botocore.exceptions import ClientError - -@@ -777,7 +777,7 @@ - raise ConnectionError("Simulated ConnectionError raised.") - else: - return original_send(self, *args, **kwargs) -- with mock.patch('botocore.vendored.requests.adapters.HTTPAdapter.send', -+ with mock.patch('requests.adapters.HTTPAdapter.send', - mock_http_adapter_send): - response = self.client.put_object(Bucket=self.bucket_name, - Key='foo.txt', Body=body) -Index: python-botocore/tests/integration/test_smoke.py -=================================================================== ---- python-botocore.orig/tests/integration/test_smoke.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/integration/test_smoke.py 2016-11-10 11:30:36.066944449 +0900 -@@ -19,8 +19,8 @@ - from botocore import xform_name - import botocore.session - from botocore.client import ClientError --from botocore.vendored.requests import adapters --from botocore.vendored.requests.exceptions import ConnectionError -+from requests import adapters -+from requests.exceptions import ConnectionError - - - # Mapping of service -> api calls to try. -@@ -292,7 +292,7 @@ - raise ConnectionError("Simulated ConnectionError raised.") - else: - return original_send(self, *args, **kwargs) -- with mock.patch('botocore.vendored.requests.adapters.HTTPAdapter.send', -+ with mock.patch('requests.adapters.HTTPAdapter.send', - mock_http_adapter_send): - try: - response = operation(**kwargs) -Index: python-botocore/tests/unit/auth/test_signers.py -=================================================================== ---- python-botocore.orig/tests/unit/auth/test_signers.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/auth/test_signers.py 2016-11-10 11:30:36.066944449 +0900 -@@ -25,7 +25,7 @@ - import botocore.credentials - from botocore.compat import HTTPHeaders, urlsplit, parse_qs, six - from botocore.awsrequest import AWSRequest --from botocore.vendored.requests.models import Request -+from requests.models import Request - - - class BaseTestWithFixedDate(unittest.TestCase): -Index: python-botocore/tests/unit/response_parsing/test_response_parsing.py -=================================================================== ---- python-botocore.orig/tests/unit/response_parsing/test_response_parsing.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/response_parsing/test_response_parsing.py 2016-11-10 11:30:36.066944449 +0900 -@@ -20,7 +20,7 @@ - from tests import unittest, create_session - - from mock import Mock --from botocore.vendored.requests.structures import CaseInsensitiveDict -+from requests.structures import CaseInsensitiveDict - - import botocore.session - from botocore import xform_name -Index: python-botocore/tests/unit/test_awsrequest.py -=================================================================== ---- python-botocore.orig/tests/unit/test_awsrequest.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/test_awsrequest.py 2016-11-10 11:30:36.066944449 +0900 -@@ -418,7 +418,7 @@ - conn.sock = s - # Test that the standard library method was used by patching out - # the ``_tunnel`` method and seeing if the std lib method was called. -- with patch('botocore.vendored.requests.packages.urllib3.connection.' -+ with patch('requests.packages.urllib3.connection.' - 'HTTPConnection._tunnel') as mock_tunnel: - conn._tunnel() - self.assertTrue(mock_tunnel.called) -Index: python-botocore/tests/unit/test_endpoint.py -=================================================================== ---- python-botocore.orig/tests/unit/test_endpoint.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/test_endpoint.py 2016-11-10 11:30:36.066944449 +0900 -@@ -15,7 +15,7 @@ - - from mock import Mock, patch, sentinel - from nose.tools import assert_equals --from botocore.vendored.requests import ConnectionError -+from requests import ConnectionError - - from botocore.compat import six - from botocore.awsrequest import AWSRequest -Index: python-botocore/tests/unit/test_response.py -=================================================================== ---- python-botocore.orig/tests/unit/test_response.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/test_response.py 2016-11-10 11:30:36.066944449 +0900 -@@ -20,7 +20,7 @@ - from botocore import response - from botocore.compat import six - from botocore.exceptions import IncompleteReadError --from botocore.vendored.requests.models import Response, Request -+from requests.models import Response, Request - - XMLBODY1 = (b'' - b'AccessDenied' -Index: python-botocore/tests/unit/test_retryhandler.py -=================================================================== ---- python-botocore.orig/tests/unit/test_retryhandler.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/test_retryhandler.py 2016-11-10 11:30:36.066944449 +0900 -@@ -16,8 +16,8 @@ - from tests import unittest - - import mock --from botocore.vendored.requests import ConnectionError, Timeout --from botocore.vendored.requests.packages.urllib3.exceptions import ClosedPoolError -+from requests import ConnectionError, Timeout -+from urllib3.exceptions import ClosedPoolError - - from botocore import retryhandler - from botocore.exceptions import ChecksumError -Index: python-botocore/tests/unit/test_utils.py -=================================================================== ---- python-botocore.orig/tests/unit/test_utils.py 2016-11-10 11:30:36.074944538 +0900 -+++ python-botocore/tests/unit/test_utils.py 2016-11-10 11:30:36.066944449 +0900 -@@ -25,7 +25,7 @@ - from botocore.exceptions import ClientError - from botocore.exceptions import InvalidDNSNameError, MetadataRetrievalError - from botocore.model import ServiceModel --from botocore.vendored import requests -+import requests - from botocore.utils import remove_dot_segments - from botocore.utils import normalize_url_path - from botocore.utils import validate_jmespath_for_set diff -Nru python-botocore-1.4.70/debian/patches/series python-botocore-1.16.19+repack/debian/patches/series --- python-botocore-1.4.70/debian/patches/series 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/patches/series 2020-08-12 16:06:13.000000000 +0000 @@ -1,2 +1,2 @@ 0001-Don-t-use-duplicated-modules.patch -0002-Don-t-use-duplicated-modules-in-tests.patch +0002-Avoid-ssl_context-and-chunked-arguments-with-legacy-.patch diff -Nru python-botocore-1.4.70/debian/rules python-botocore-1.16.19+repack/debian/rules --- python-botocore-1.4.70/debian/rules 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/rules 2020-06-17 00:17:33.000000000 +0000 @@ -5,6 +5,7 @@ #export DH_VERBOSE=1 export PYBUILD_NAME=botocore +export PYBUILD_DISABLE=test %: dh $@ --with python2,python3 --buildsystem=pybuild @@ -12,6 +13,3 @@ override_dh_fixperms: dh_fixperms chmod -x $(CURDIR)/debian/python*-botocore/usr/lib/python*/dist-packages/botocore/data/*/*/*.json - -override_dh_auto_test: - true diff -Nru python-botocore-1.4.70/debian/salsa-ci.yml python-botocore-1.16.19+repack/debian/salsa-ci.yml --- python-botocore-1.4.70/debian/salsa-ci.yml 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/salsa-ci.yml 2020-05-30 10:51:09.000000000 +0000 @@ -0,0 +1,4 @@ +--- +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml diff -Nru python-botocore-1.4.70/debian/upstream/metadata python-botocore-1.16.19+repack/debian/upstream/metadata --- python-botocore-1.4.70/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/upstream/metadata 2020-05-30 10:51:09.000000000 +0000 @@ -0,0 +1,4 @@ +Bug-Database: https://github.com/boto/botocore/issues +Bug-Submit: https://github.com/boto/botocore/issues/new +Repository: https://github.com/boto/botocore.git +Repository-Browse: https://github.com/boto/botocore diff -Nru python-botocore-1.4.70/debian/watch python-botocore-1.16.19+repack/debian/watch --- python-botocore-1.4.70/debian/watch 2016-11-10 02:34:51.000000000 +0000 +++ python-botocore-1.16.19+repack/debian/watch 2020-05-30 10:51:09.000000000 +0000 @@ -1,3 +1,3 @@ version=3 -opts=dversionmangle=s/\+repack// \ -http://pypi.debian.net/botocore/botocore-(.*).tar.gz +opts="repacksuffix=+repack,dversionmangle=s/\+repack//g,repack,compression=xz" \ +https://pypi.debian.net/botocore/botocore-(.*).tar.gz diff -Nru python-botocore-1.4.70/docs/source/conf.py python-botocore-1.16.19+repack/docs/source/conf.py --- python-botocore-1.4.70/docs/source/conf.py 2016-11-03 20:32:17.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/conf.py 2020-05-28 19:28:04.000000000 +0000 @@ -52,9 +52,9 @@ # built documents. # # The short X.Y version. -version = '1.4.' +version = '1.16.' # The full version, including alpha/beta/rc tags. -release = '1.4.70' +release = '1.16.19' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff -Nru python-botocore-1.4.70/docs/source/index.rst python-botocore-1.16.19+repack/docs/source/index.rst --- python-botocore-1.4.70/docs/source/index.rst 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/index.rst 2020-05-28 19:26:08.000000000 +0000 @@ -25,6 +25,129 @@ Upgrade Notes ============= +Upgrading to 1.12.0 +------------------- + +What Changed +~~~~~~~~~~~~ + +The botocore event system was changed to emit events based on the service id +rather than the endpoint prefix or service name. + +Why Was The Change Was Made +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This was done to handle several issues that were becoming increasingly +problematic: + +* Services changing their endpoint prefix would cause some registered events to + no longer fire (but not all). +* New services that launch using an endpoint that another service is using + won't be able to be uniquely selected. There are a number of cases of this + already. +* Services whose client name and endpoint prefix differed would require two + different strings if you want to register against all events. + +How Do I Know If I'm Impacted +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Any users relying on registering an event against one service impacting other +services are impacted. You can consult the following table to see if you are +impacted. If you are registering an event using one of the event parts in the +leftmost column with the intention of impacting an unintended target service +in the rightmost column, then you are impacted and will need to update. + ++----------------------+-------------------------+---------------------------------------------------+ +| Event Part | Intended Target Service | Unintended Target Services | ++----------------------+-------------------------+---------------------------------------------------+ +| rds | rds | neptune | ++----------------------+-------------------------+---------------------------------------------------+ +| autoscaling | autoscaling | application-autoscaling, autoscaling-plans | ++----------------------+-------------------------+---------------------------------------------------+ +| kinesisvideo | kinesisvideo | kinesis-video-media, kinesis-video-archived-media | ++----------------------+-------------------------+---------------------------------------------------+ +| elasticloadbalancing | elb | elbv2 | ++----------------------+-------------------------+---------------------------------------------------+ + +For example, if you are registering an event against +``before-call.elasticloadbalancing`` expecting it to run when making calls with +an ``elbv2`` client, you will be impacted. + +If you are registering an event against one of the services in the Unintended +Targets column, you may be impacted if you were relying on those events not +firing. + +If you are registering events using ``*`` in the service place, or are +registering against any service not in this table, you will not need a code +change. In many cases the actual event name will have changed, but for services +without shared endpoints we do the work of translating the event name at +registration and emission time. In future versions of botocore we will remove +this translation, so you may wish to update your code anyway. + +How Do I Update My Code +~~~~~~~~~~~~~~~~~~~~~~~ + +You will need to look at the events you are registering against and determine +which services you wish to impact with your handler. If you only wish to +impact the intended target service (as defined in the above table), then you +don't need to change the event. If you wish to impact another service in +addition to the intended target service, you will need to register a new event +using that service's event name. Similarly, if you wish to impact another +service instead you will simply need to change the event you are registered +against. + +To get the new event name, consult this table: + ++------------------------------+----------------------+------------------------------+ +| Service | Old Event Name | New Event Name | ++------------------------------+----------------------+------------------------------+ +| application-autoscaling | autoscaling | application-auto-scaling | ++------------------------------+----------------------+------------------------------+ +| autoscaling-plans | autoscaling | auto-scaling-plans | ++------------------------------+----------------------+------------------------------+ +| elbv2 | elasticloadbalancing | elastic-load-balancing | ++------------------------------+----------------------+------------------------------+ +| kinesis-video-archived-media | kinesisvideo | kinesis-video-archived-media | ++------------------------------+----------------------+------------------------------+ +| kinesis-video-media | kinesisvideo | kinesis-video-media | ++------------------------------+----------------------+------------------------------+ +| neptune | rds | neptune | ++------------------------------+----------------------+------------------------------+ + +Additionally, you can get the new event name in code like so:: + + from botocore.session import Session + + session = Session() + client = session.create_client('elbv2') + service_event_name = client.meta.service_model.service_id.hyphenize() + +Armed with the service event name, simply replace the old service name in the +handler with the new service event name. If you were registering an event +against ``before-call.autoscaling`` intending to impact ``autoscaling-plans`` +for example, you would instead register against +``before-call.auto-scaling-plans``. + +If you are registering an event against one of the services in the Unintended +Targets column, you will now see those events getting fired where previously +they were not. While this is enabling that expected behavior, this still +represents a change in actual behavior. You should not need to update your +code, but you should test to ensure that you are seeing the behavior you want. + +Upgrading to 1.11.0 +--------------------- +* The vendored versions of ``requests`` and ``urllib3`` are no longer being + used and have been replaced with a direct dependency on upstream ``urllib3`` + and ``requests`` is no longer a dependency of ``botocore``. While these + vendored dependencies are still in the ``botocore`` package they should not + be used as they will be removed in the future. Any code that imports from + ``botocore.vendored.requests.*`` should be updated accordingly. Specifically, + the use of ``botocore.vendored.requests.exceptions.*`` or + ``botocore.vendored.requests.packages.urllib3.exceptions.*`` must be updated + to the corresponding exception classes in ``botocore.exceptions``. +* The version of ``urllib3`` used to make HTTP requests has been updated from + v1.10.4 to the range >=1.20,<1.24. + Upgrading to 1.0.0rc1 --------------------- diff -Nru python-botocore-1.4.70/docs/source/reference/awsrequest.rst python-botocore-1.16.19+repack/docs/source/reference/awsrequest.rst --- python-botocore-1.4.70/docs/source/reference/awsrequest.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/reference/awsrequest.rst 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,15 @@ +.. _ref-awsrequest: + +================================ +AWS Request Reference +================================ + +botocore.awsrequest +------------------- + +.. autoclass:: botocore.awsrequest.AWSPreparedRequest + :members: + + +.. autoclass:: botocore.awsrequest.AWSResponse + :members: diff -Nru python-botocore-1.4.70/docs/source/reference/eventstream.rst python-botocore-1.16.19+repack/docs/source/reference/eventstream.rst --- python-botocore-1.4.70/docs/source/reference/eventstream.rst 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/reference/eventstream.rst 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,11 @@ +.. _ref-eventstream: + +================== +Event Stream Reference +================== + +botocore.eventstream +----------------- + +.. autoclass:: botocore.eventstream.EventStream + :members: diff -Nru python-botocore-1.4.70/docs/source/_static/404.html python-botocore-1.16.19+repack/docs/source/_static/404.html --- python-botocore-1.4.70/docs/source/_static/404.html 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/_static/404.html 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,34 @@ + + + + + Page Not Found + + + +

    Page Not Found

    +

    Sorry, the page you requested could not be found.

    + diff -Nru python-botocore-1.4.70/docs/source/topics/events.rst python-botocore-1.16.19+repack/docs/source/topics/events.rst --- python-botocore-1.4.70/docs/source/topics/events.rst 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/topics/events.rst 2020-05-28 19:26:08.000000000 +0000 @@ -18,33 +18,33 @@ Event Types ----------- -The table below shows all of the events emitted by botocore. In some cases, -the events are listed as ``..bar``, in which ```` -and ```` are replaced with a specific service and operation, for -example ``s3.ListObjects.bar``. - -.. list-table:: Events - :header-rows: 1 - - * - Event Name - - Occurance - - Arguments - - Return Value - * - **service-created** - - Whenever a service is created via the Sessions ``get_service`` - method. - - ``service`` - The newly created :class:`botocore.service.Service` - object. - - Ignored. - * - **before-call..** - - When an operation is being called (``Operation.call``). - - ``operation`` - The newly created :class:`botocore.operation.Operation` - object. - - Ignored. - * - **after-call..** - - After an operation has been called, but before the response is parsed. - - ``http_response`` - The HTTP response, ``parsed`` - The parsed data. - - Ignored. +The list below shows all of the events emitted by botocore. In some cases, the +events are listed as ``event-name..``, in which +```` and ```` are replaced with a specific service +identifier operation, for example ``event-name.s3.ListObjects``. + +* ``'before-send..'`` + + +before-send +~~~~~~~~~~~~~~~~~~~~~ + +:Full Event Name: + ``'before-send..'`` + +:Description: + This event is emitted when the operation has been fully serialized, signed, + and is ready to be sent across the wire. This event allows the finalized + request to be inspected and allows a response to be returned that fufills + the request. If no response is returned botocore will fulfill the request + as normal. + +:Keyword Arguments Emitted: + + :type request: :class:`.AWSPreparedRequest` + :param params: An object representing the properties of an HTTP request. + +:Expected Return Value: None or an instance of :class:`.AWSResponse` Event Emission @@ -52,3 +52,15 @@ When an event is emitted, the handlers are invoked in the order that they were registered. + + +Service ID +---------- +To get the service id from a service client use the following:: + + import botocore + import botocore.session + + session = botocore.session.Session() + client = session.create_client('elbv2') + service_event_name = client.meta.service_model.service_id.hyphenize() diff -Nru python-botocore-1.4.70/docs/source/topics/paginators.rst python-botocore-1.16.19+repack/docs/source/topics/paginators.rst --- python-botocore-1.4.70/docs/source/topics/paginators.rst 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/docs/source/topics/paginators.rst 2020-05-28 19:26:08.000000000 +0000 @@ -109,7 +109,7 @@ When filtering with JMESPath expressions, each page of results that is yielded by the paginator is mapped through the JMESPath expression. If a JMESPath expression returns a single value that is not an array, that value is yielded -directly. If the the result of applying the JMESPath expression to a page of +directly. If the result of applying the JMESPath expression to a page of results is a list, then each value of the list is yielded individually (essentially implementing a flat map). For example, in the above expression, each key that has a ``Size`` greater than `100` is yielded by the diff -Nru python-botocore-1.4.70/LICENSE.txt python-botocore-1.16.19+repack/LICENSE.txt --- python-botocore-1.4.70/LICENSE.txt 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/LICENSE.txt 2020-05-28 19:26:08.000000000 +0000 @@ -1,12 +1,177 @@ -Copyright 2012-2014 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. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff -Nru python-botocore-1.4.70/MANIFEST.in python-botocore-1.16.19+repack/MANIFEST.in --- python-botocore-1.4.70/MANIFEST.in 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/MANIFEST.in 2020-05-28 19:26:08.000000000 +0000 @@ -1,6 +1,7 @@ include README.rst include LICENSE.txt include requirements.txt +include botocore/cacert.pem include botocore/vendored/requests/cacert.pem recursive-include botocore/data *.json graft docs diff -Nru python-botocore-1.4.70/PKG-INFO python-botocore-1.16.19+repack/PKG-INFO --- python-botocore-1.4.70/PKG-INFO 2016-11-03 20:32:18.000000000 +0000 +++ python-botocore-1.16.19+repack/PKG-INFO 2020-05-28 19:28:05.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: botocore -Version: 1.4.70 +Version: 1.16.19 Summary: Low-level, data-driven core of boto 3. Home-page: https://github.com/boto/botocore Author: Amazon Web Services @@ -21,7 +21,30 @@ `AWS CLI `__ as well as `boto3 `__. - `Documentation `__ + On 10/09/2019 support for Python 2.6 and Python 3.3 was deprecated and support + was dropped on 01/10/2020. To avoid disruption, customers using Botocore + on Python 2.6 or 3.3 will need to upgrade their version of Python or pin the + version of Botocore in use prior to 01/10/2020. For more information, see + this `blog post `__. + + + Documentation + ------------- + Documentation for ``botocore`` can be found `here `__. + + + Getting Help + ------------ + + We use GitHub issues for tracking bugs and feature requests and have limited + bandwidth to address them. Please use these community resources for getting + help. Please note many of the same resources available for ``boto3`` are + applicable for ``botocore``: + + * Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ + * Come join the AWS Python community chat on `gitter `__ + * Open a support ticket with `AWS Support `__ + * If it turns out that you may have found a bug, please `open an issue `__ Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable @@ -30,8 +53,11 @@ Classifier: Natural Language :: English Classifier: License :: OSI Approved :: Apache Software License Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 +Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 diff -Nru python-botocore-1.4.70/README.rst python-botocore-1.16.19+repack/README.rst --- python-botocore-1.4.70/README.rst 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/README.rst 2020-05-28 19:26:08.000000000 +0000 @@ -13,4 +13,27 @@ `AWS CLI `__ as well as `boto3 `__. -`Documentation `__ +On 10/09/2019 support for Python 2.6 and Python 3.3 was deprecated and support +was dropped on 01/10/2020. To avoid disruption, customers using Botocore +on Python 2.6 or 3.3 will need to upgrade their version of Python or pin the +version of Botocore in use prior to 01/10/2020. For more information, see +this `blog post `__. + + +Documentation +------------- +Documentation for ``botocore`` can be found `here `__. + + +Getting Help +------------ + +We use GitHub issues for tracking bugs and feature requests and have limited +bandwidth to address them. Please use these community resources for getting +help. Please note many of the same resources available for ``boto3`` are +applicable for ``botocore``: + +* Ask a question on `Stack Overflow `__ and tag it with `boto3 `__ +* Come join the AWS Python community chat on `gitter `__ +* Open a support ticket with `AWS Support `__ +* If it turns out that you may have found a bug, please `open an issue `__ diff -Nru python-botocore-1.4.70/requirements.txt python-botocore-1.16.19+repack/requirements.txt --- python-botocore-1.4.70/requirements.txt 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/requirements.txt 2020-05-28 19:26:08.000000000 +0000 @@ -1,8 +1,7 @@ -tox>=2.3.1,<3.0.0 -python-dateutil>=2.1,<3.0.0 -nose==1.3.0 +tox>=2.5.0,<3.0.0 +nose==1.3.7 mock==1.3.0 wheel==0.24.0 -docutils>=0.10 +docutils>=0.10,<0.16 behave==1.2.5 --e git://github.com/boto/jmespath.git@develop#egg=jmespath +jsonschema==2.5.1 diff -Nru python-botocore-1.4.70/setup.cfg python-botocore-1.16.19+repack/setup.cfg --- python-botocore-1.4.70/setup.cfg 2016-11-03 20:32:18.000000000 +0000 +++ python-botocore-1.16.19+repack/setup.cfg 2020-05-28 19:28:05.000000000 +0000 @@ -1,16 +1,15 @@ -[wheel] +[bdist_wheel] universal = 1 [metadata] requires-dist = python-dateutil>=2.1,<3.0.0 jmespath>=0.7.1,<1.0.0 - docutils>=0.10 - ordereddict==1.1; python_version=="2.6" - simplejson==3.3.0; python_version=="2.6" + docutils>=0.10,<0.16 + urllib3>=1.20,<1.25.8; python_version=='3.4' + urllib3>=1.20,<1.26; python_version!='3.4' [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -Nru python-botocore-1.4.70/setup.py python-botocore-1.16.19+repack/setup.py --- python-botocore-1.4.70/setup.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/setup.py 2020-05-28 19:26:08.000000000 +0000 @@ -1,59 +1,72 @@ #!/usr/bin/env python -import botocore +import codecs +import os.path +import re import sys from setuptools import setup, find_packages -requires = ['jmespath>=0.7.1,<1.0.0', - 'python-dateutil>=2.1,<3.0.0', - 'docutils>=0.10'] - - -if sys.version_info[:2] == (2, 6): - # For python2.6 we have a few other dependencies. - # First we need an ordered dictionary so we use the - # 2.6 backport. - requires.append('ordereddict==1.1') - # Then we need simplejson. This is because we need - # a json version that allows us to specify we want to - # use an ordereddict instead of a normal dict for the - # JSON objects. The 2.7 json module has this. For 2.6 - # we need simplejson. - requires.append('simplejson==3.3.0') +here = os.path.abspath(os.path.dirname(__file__)) + + +def read(*parts): + return codecs.open(os.path.join(here, *parts), 'r').read() + + +def find_version(*file_paths): + version_file = read(*file_paths) + version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", + version_file, re.M) + if version_match: + return version_match.group(1) + raise RuntimeError("Unable to find version string.") + + +requires = [ + 'jmespath>=0.7.1,<1.0.0', + 'docutils>=0.10,<0.16', + 'python-dateutil>=2.1,<3.0.0', +] + + +if sys.version_info[:2] == (3, 4): + # urllib3 dropped support for python 3.4 in point release 1.25.8 + requires.append('urllib3>=1.20,<1.25.8') +else: + requires.append('urllib3>=1.20,<1.26') + setup( name='botocore', - version=botocore.__version__, + version=find_version("botocore", "__init__.py"), description='Low-level, data-driven core of boto 3.', long_description=open('README.rst').read(), author='Amazon Web Services', url='https://github.com/boto/botocore', scripts=[], packages=find_packages(exclude=['tests*']), - package_data={'botocore': ['data/*.json', 'data/*/*.json'], + package_data={'botocore': ['cacert.pem', 'data/*.json', 'data/*/*.json'], 'botocore.vendored.requests': ['*.pem']}, include_package_data=True, install_requires=requires, - extras_require={ - ':python_version=="2.6"': [ - 'ordereddict==1.1', - 'simplejson==3.3.0', - ] - }, + extras_require={}, license="Apache License 2.0", - classifiers=( + classifiers=[ 'Development Status :: 5 - Production/Stable', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Natural Language :: English', 'License :: OSI Approved :: Apache Software License', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.6', + 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', - ), + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + ] ) diff -Nru python-botocore-1.4.70/tests/acceptance/features/steps/base.py python-botocore-1.16.19+repack/tests/acceptance/features/steps/base.py --- python-botocore-1.4.70/tests/acceptance/features/steps/base.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/acceptance/features/steps/base.py 2020-05-28 19:26:08.000000000 +0000 @@ -3,10 +3,8 @@ from botocore import xform_name from botocore.exceptions import ClientError -import jmespath from behave import when, then from nose.tools import assert_equal -from nose.tools import assert_is_instance def _params_from_table(table): diff -Nru python-botocore-1.4.70/tests/functional/csm/cases.json python-botocore-1.16.19+repack/tests/functional/csm/cases.json --- python-botocore-1.4.70/tests/functional/csm/cases.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/csm/cases.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1128 @@ +{ + "version": 1, + "defaults": { + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": {} + }, + "optionalEventFields": { + "ApiCall": { + "ApiCallTimeout": "ANY_INT" + }, + "ApiCallAttempt": { + "DestinationIp": "ANY_STR", + "AcquireConnectionLatency": "ANY_INT", + "ConnectionReused": "ANY_INT", + "ConnectLatency": "ANY_INT", + "RequestLatency": "ANY_INT", + "DnsLatency": "ANY_INT", + "TcpLatency": "ANY_INT", + "SslLatency": "ANY_INT" + } + } + }, + "cases": [ + { + "description": "Tests a single client API call with no configuration provided", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": {}, + "sharedConfigFile": {} + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [] + }, + { + "description": "Test a single client API call", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests a single client API call with bad request", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 400, + "responseHeaders": {}, + "errorCode": "TestOperationException", + "errorMessage": "There was an error" + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 400, + "AwsException": "TestOperationException", + "AwsExceptionMessage": "There was an error" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalAwsException": "TestOperationException", + "FinalAwsExceptionMessage": "There was an error", + "FinalHttpStatusCode": 400 + } + ] + }, + { + "description": "Tests a single client API call with retries", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 503, + "responseHeaders": {}, + "errorCode": "ServiceUnavailable", + "errorMessage": "Service is unavailable" + }, + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 503, + "AwsException": "ServiceUnavailable", + "AwsExceptionMessage": "Service is unavailable" + }, + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 2, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests a single client API call with non-retryable SDK exception", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "sdkException": { + "isRetryable": false, + "message": "Unexpected exception was thrown" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "Unexpected exception was thrown" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalSdkException": "ANY_STR", + "FinalSdkExceptionMessage": "Unexpected exception was thrown" + } + ] + }, + { + "description": "Tests a single client API call with a retryable SDK exception", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "sdkException": { + "isRetryable": true, + "message": "Retryable exception was thrown" + } + }, + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "Retryable exception was thrown" + }, + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 2, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests enabling using the shared config file", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": {}, + "sharedConfigFile": { + "csm_enabled": "true" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests explicitly disabling with environment variables", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "false" + }, + "sharedConfigFile": {} + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [] + }, + { + "description": "Tests explicitly disabling with shared config file", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": {}, + "sharedConfigFile": { + "csm_enabled": "false" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [] + }, + { + "description": "Tests overriding disables in shared config file with environment variables", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": { + "csm_enabled": "false" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests overriding enables in shared config file with environment variables", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "false" + }, + "sharedConfigFile": { + "csm_enabled": "true" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [] + }, + { + "description": "Tests setting the client id with environment variables", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true", + "AWS_CSM_CLIENT_ID": "from-env" + }, + "sharedConfigFile": {} + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-env", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-env", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests setting the client id with shared config file", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": { + "csm_client_id": "from-config" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-config", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-config", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests setting the client id with environment variables overrides the client id from the shared config file", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true", + "AWS_CSM_CLIENT_ID": "from-env" + }, + "sharedConfigFile": { + "csm_client_id": "from-config" + } + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-env", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "from-env", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Tests a single client API call using a session token", + "configuration": { + "accessKey": "myaccesskey", + "sessionToken": "mysessiontoken", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": {} + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": {} + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SessionToken": "mysessiontoken", + "HttpStatusCode": 200 + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Test a single client API call with x-amzn-RequestId response header", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": { + "x-amzn-RequestId": "request-id" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200, + "XAmznRequestId": "request-id" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Test a single client API call with x-amz-request-id response header", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": { + "x-amz-request-id": "request-id" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200, + "XAmzRequestId": "request-id" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Test a single client API call with x-amz-id-2 response header", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 200, + "responseHeaders": { + "x-amz-id-2": "request-id" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 200, + "XAmzId2": "request-id" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 1, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalHttpStatusCode": 200 + } + ] + }, + { + "description": "Test max retries from AWS exception", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": {}, + "maxRetries": 1 + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "httpStatus": 503, + "responseHeaders": {}, + "errorCode": "ServiceUnavailable", + "errorMessage": "Service is unavailable" + }, + { + "httpStatus": 503, + "responseHeaders": {}, + "errorCode": "ServiceUnavailable", + "errorMessage": "Service is unavailable" + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 503, + "AwsException": "ServiceUnavailable", + "AwsExceptionMessage": "Service is unavailable" + }, + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "HttpStatusCode": 503, + "AwsException": "ServiceUnavailable", + "AwsExceptionMessage": "Service is unavailable" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 2, + "MaxRetriesExceeded": 1, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalAwsException": "ServiceUnavailable", + "FinalAwsExceptionMessage": "Service is unavailable", + "FinalHttpStatusCode": 503 + } + ] + }, + { + "description": "Test max retries from SDK exception", + "configuration": { + "accessKey": "myaccesskey", + "region": "us-west-2", + "environmentVariables": { + "AWS_CSM_ENABLED": "true" + }, + "sharedConfigFile": {}, + "maxRetries": 1 + }, + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "sdkException": { + "isRetryable": true, + "message": "Retryable exception was thrown" + } + }, + { + "sdkException": { + "isRetryable": true, + "message": "Retryable exception was thrown" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "Retryable exception was thrown" + }, + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "Retryable exception was thrown" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 2, + "MaxRetriesExceeded": 1, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalSdkException": "ANY_STR", + "FinalSdkExceptionMessage": "Retryable exception was thrown" + } + ] + }, + { + "description": "Test API call event uses exception data from final attempt", + "apiCalls": [ + { + "serviceId": "CSM Test", + "operationName": "TestOperation", + "params": {}, + "attemptResponses": [ + { + "sdkException": { + "isRetryable": true, + "message": "First retryable exception" + } + }, + { + "sdkException": { + "isRetryable": false, + "message": "Second un-retryable exception" + } + } + ] + } + ], + "expectedMonitoringEvents": [ + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "First retryable exception" + }, + { + "Version": 1, + "Type": "ApiCallAttempt", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "AttemptLatency": "ANY_INT", + "Fqdn": "csmtest.us-west-2.amazonaws.com", + "Region": "us-west-2", + "UserAgent": "ANY_STR", + "AccessKey": "myaccesskey", + "SdkException": "ANY_STR", + "SdkExceptionMessage": "Second un-retryable exception" + }, + { + "Version": 1, + "Type": "ApiCall", + "Service": "CSM Test", + "Api": "TestOperation", + "ClientId": "", + "Timestamp": "ANY_INT", + "Latency": "ANY_INT", + "AttemptCount": 2, + "MaxRetriesExceeded": 0, + "UserAgent": "ANY_STR", + "Region": "us-west-2", + "FinalSdkException": "ANY_STR", + "FinalSdkExceptionMessage": "Second un-retryable exception" + } + ] + } + ] +} diff -Nru python-botocore-1.4.70/tests/functional/csm/data/csmtest/2018-06-19/service-2.json python-botocore-1.16.19+repack/tests/functional/csm/data/csmtest/2018-06-19/service-2.json --- python-botocore-1.4.70/tests/functional/csm/data/csmtest/2018-06-19/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/csm/data/csmtest/2018-06-19/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,42 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2018-06-19", + "endpointPrefix":"csmtest", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"CSM Test", + "serviceId":"CSM Test", + "signatureVersion":"v4", + "targetPrefix":"CSMTest_20180619", + "uid":"csmtest-2018-06-19" + }, + "operations":{ + "TestOperation":{ + "name":"TestOperation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestOperationInput"}, + "output":{"shape":"TestOperationOutput"}, + "errors":[ + {"shape":"TestOperationException"} + ] + } + }, + "shapes":{ + "TestOperationInput":{ + "type": "structure", + "members": {} + }, + "TestOperationOutput":{ + "type": "structure", + "members": {} + }, + "TestOperationException":{ + "type": "strucutre", + "members": {} + } + } +} diff -Nru python-botocore-1.4.70/tests/functional/csm/__init__.py python-botocore-1.16.19+repack/tests/functional/csm/__init__.py --- python-botocore-1.4.70/tests/functional/csm/__init__.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/csm/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,12 @@ +# Copyright 2018 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. diff -Nru python-botocore-1.4.70/tests/functional/csm/test_monitoring.py python-botocore-1.16.19+repack/tests/functional/csm/test_monitoring.py --- python-botocore-1.4.70/tests/functional/csm/test_monitoring.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/csm/test_monitoring.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,210 @@ +# Copyright 2018 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 thimport mock +import contextlib +import copy +import json +import logging +import os +import socket +import threading + +import mock +from nose.tools import assert_equal + +from tests import temporary_file +from tests import ClientHTTPStubber +from botocore import xform_name +import botocore.session +import botocore.config +import botocore.exceptions + + +logger = logging.getLogger(__name__) + +CASES_FILE = os.path.join(os.path.dirname(__file__), 'cases.json') +DATA_DIR = os.path.join(os.path.dirname(__file__), 'data/') + + +class RetryableException(botocore.exceptions.EndpointConnectionError): + fmt = '{message}' + + +class NonRetryableException(Exception): + pass + + +EXPECTED_EXCEPTIONS_THROWN = ( + botocore.exceptions.ClientError, NonRetryableException, RetryableException) + + +def test_client_monitoring(): + test_cases = _load_test_cases() + for case in test_cases: + yield _run_test_case, case + + +def _load_test_cases(): + with open(CASES_FILE) as f: + loaded_tests = json.loads(f.read()) + test_cases = _get_cases_with_defaults(loaded_tests) + _replace_expected_anys(test_cases) + return test_cases + + +def _get_cases_with_defaults(loaded_tests): + cases = [] + defaults = loaded_tests['defaults'] + for case in loaded_tests['cases']: + base = copy.deepcopy(defaults) + base.update(case) + cases.append(base) + return cases + + +def _replace_expected_anys(test_cases): + for case in test_cases: + for expected_event in case['expectedMonitoringEvents']: + for entry, value in expected_event.items(): + if value in ['ANY_STR', 'ANY_INT']: + expected_event[entry] = mock.ANY + + +@contextlib.contextmanager +def _configured_session(case_configuration, listener_port): + environ = { + 'AWS_ACCESS_KEY_ID': case_configuration['accessKey'], + 'AWS_SECRET_ACCESS_KEY': 'secret-key', + 'AWS_DEFAULT_REGION': case_configuration['region'], + 'AWS_DATA_PATH': DATA_DIR, + 'AWS_CSM_PORT': listener_port + } + if 'sessionToken' in case_configuration: + environ['AWS_SESSION_TOKEN'] = case_configuration['sessionToken'] + environ.update(case_configuration['environmentVariables']) + with temporary_file('w') as f: + _setup_shared_config( + f, case_configuration['sharedConfigFile'], environ) + with mock.patch('os.environ', environ): + session = botocore.session.Session() + if 'maxRetries' in case_configuration: + _setup_max_retry_attempts(session, case_configuration) + yield session + + +def _setup_shared_config(fileobj, shared_config_options, environ): + fileobj.write('[default]\n') + for key, value in shared_config_options.items(): + fileobj.write('%s = %s\n' % (key, value)) + fileobj.flush() + environ['AWS_CONFIG_FILE'] = fileobj.name + + +def _setup_max_retry_attempts(session, case_configuration): + config = botocore.config.Config( + retries={'max_attempts': case_configuration['maxRetries']}) + session.set_default_client_config(config) + + +def _run_test_case(case): + with MonitoringListener() as listener: + with _configured_session( + case['configuration'], listener.port) as session: + for api_call in case['apiCalls']: + _make_api_call(session, api_call) + assert_equal( + listener.received_events, case['expectedMonitoringEvents']) + + +def _make_api_call(session, api_call): + client = session.create_client( + api_call['serviceId'].lower().replace(' ', '')) + operation_name = api_call['operationName'] + client_method = getattr(client, xform_name(operation_name)) + with _stubbed_http_layer(client, api_call['attemptResponses']): + try: + client_method(**api_call['params']) + except EXPECTED_EXCEPTIONS_THROWN: + pass + + +@contextlib.contextmanager +def _stubbed_http_layer(client, attempt_responses): + with ClientHTTPStubber(client) as stubber: + _add_stubbed_responses(stubber, attempt_responses) + yield + + +def _add_stubbed_responses(stubber, attempt_responses): + for attempt_response in attempt_responses: + if 'sdkException' in attempt_response: + sdk_exception = attempt_response['sdkException'] + _add_sdk_exception( + stubber, sdk_exception['message'], + sdk_exception['isRetryable'] + ) + else: + _add_stubbed_response(stubber, attempt_response) + + +def _add_sdk_exception(stubber, message, is_retryable): + if is_retryable: + stubber.responses.append(RetryableException(message=message)) + else: + stubber.responses.append(NonRetryableException(message)) + + +def _add_stubbed_response(stubber, attempt_response): + headers = attempt_response['responseHeaders'] + status_code = attempt_response['httpStatus'] + if 'errorCode' in attempt_response: + error = { + '__type': attempt_response['errorCode'], + 'message': attempt_response['errorMessage'] + } + content = json.dumps(error).encode('utf-8') + else: + content = b'{}' + stubber.add_response(status=status_code, headers=headers, body=content) + + +class MonitoringListener(threading.Thread): + _PACKET_SIZE = 1024 * 8 + + def __init__(self, port=0): + threading.Thread.__init__(self) + self._socket = None + self.port = port + self.received_events = [] + + def __enter__(self): + self._socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self._socket.bind(('127.0.0.1', self.port)) + # The socket may have been assigned to an unused port so we + # reset the port member after binding. + self.port = self._socket.getsockname()[1] + self.start() + return self + + def __exit__(self, *args): + self._socket.sendto(b'', ('127.0.0.1', self.port)) + self.join() + self._socket.close() + + def run(self): + logger.debug('Started listener') + while True: + data = self._socket.recv(self._PACKET_SIZE) + logger.debug('Received: %s', data.decode('utf-8')) + if not data: + return + self.received_events.append(json.loads(data.decode('utf-8'))) diff -Nru python-botocore-1.4.70/tests/functional/docs/__init__.py python-botocore-1.16.19+repack/tests/functional/docs/__init__.py --- python-botocore-1.4.70/tests/functional/docs/__init__.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/docs/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -39,6 +39,15 @@ for line in lines: self.assertNotIn(line, contents) + def get_title_section_for(self, service_name): + contents = ServiceDocumenter( + service_name, self._session).document_service().decode('utf-8') + start_of_table_of_contents = 'Table of Contents' + start_index = contents.find(start_of_table_of_contents) + contents = contents[:start_index] + contents = contents.encode('utf-8') + return contents + def get_method_document_block(self, operation_name, contents): contents = contents.decode('utf-8') start_method_document = ' .. py:method:: %s(' % operation_name diff -Nru python-botocore-1.4.70/tests/functional/docs/test_ec2.py python-botocore-1.16.19+repack/tests/functional/docs/test_ec2.py --- python-botocore-1.4.70/tests/functional/docs/test_ec2.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/docs/test_ec2.py 2020-05-28 19:26:08.000000000 +0000 @@ -30,3 +30,9 @@ service_name='ec2', method_name='copy_snapshot', param_name='DestinationRegion') + + def test_idempotency_documented(self): + content = self.get_docstring_for_method('ec2', 'purchase_scheduled_instances') + # Client token should have had idempotentcy autopopulated doc appended + self.assert_contains_line('This field is autopopulated if not provided', + content) diff -Nru python-botocore-1.4.70/tests/functional/docs/test_lex.py python-botocore-1.16.19+repack/tests/functional/docs/test_lex.py --- python-botocore-1.4.70/tests/functional/docs/test_lex.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/docs/test_lex.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,30 @@ +# Copyright 2017 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.functional.docs import BaseDocsFunctionalTest + + +class TestLexDocs(BaseDocsFunctionalTest): + TYPE_STRING = '{...}|[...]|123|123.4|\'string\'|True|None' + + def test_jsonheader_docs(self): + docs = self.get_docstring_for_method('lex-runtime', 'post_content') + self.assert_contains_lines_in_order([ + '**Request Syntax**', + 'sessionAttributes=%s,' % self.TYPE_STRING, + ':type sessionAttributes: JSON serializable', + '**Response Syntax**', + '\'slots\': %s,' % self.TYPE_STRING, + '\'sessionAttributes\': %s' % self.TYPE_STRING, + '**slots** (JSON serializable)', + '**sessionAttributes** (JSON serializable)' + ], docs) diff -Nru python-botocore-1.4.70/tests/functional/docs/test_shared_example_config.py python-botocore-1.16.19+repack/tests/functional/docs/test_shared_example_config.py --- python-botocore-1.4.70/tests/functional/docs/test_shared_example_config.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/docs/test_shared_example_config.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,131 @@ +# Copyright 2017 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. +import botocore.session +from botocore.model import OperationNotFoundError +from botocore.utils import parse_timestamp + + +def test_lint_shared_example_configs(): + session = botocore.session.Session() + loader = session.get_component('data_loader') + services = loader.list_available_services('examples-1') + for service in services: + service_model = session.get_service_model(service) + example_config = loader.load_service_model( + service, 'examples-1', service_model.api_version + ) + examples = example_config.get("examples", {}) + for operation, operation_examples in examples.items(): + for example in operation_examples: + yield _lint_single_example, operation, example, service_model + + +def _lint_single_example(operation_name, example_config, service_model): + # The operation should actually exist + assert_operation_exists(service_model, operation_name) + operation_model = service_model.operation_model(operation_name) + assert_valid_values(service_model.service_name, operation_model, + example_config) + + +def assert_valid_values(service_name, operation_model, example_config): + example_input = example_config.get('input') + input_shape = operation_model.input_shape + example_id = example_config['id'] + + if input_shape is None and example_input: + raise AssertionError( + "Input found in example for %s from %s with id %s, but no input " + "shape is defined." % ( + operation_model.name, service_name, example_id + )) + + example_output = example_config.get('output') + output_shape = operation_model.output_shape + + if output_shape is None and example_output: + raise AssertionError( + "Output found in example for %s from %s with id %s, but no output " + "shape is defined." % ( + operation_model.name, service_name, example_id + )) + + try: + if example_input is not None and input_shape is not None: + _assert_valid_values( + input_shape, example_input, [input_shape.name]) + + if example_output is not None and output_shape is not None: + _assert_valid_values( + output_shape, example_output, [output_shape.name]) + except AssertionError as e: + raise AssertionError( + "Invalid value in example for %s from %s with id %s: %s" % ( + operation_model.name, service_name, example_id, e + )) + + +def _assert_valid_values(shape, example_value, path): + if shape.type_name == 'timestamp': + _assert_valid_timestamp(example_value, path) + elif shape.type_name == 'structure': + _assert_valid_structure_values(shape, example_value, path) + elif shape.type_name == 'list': + _assert_valid_list_values(shape, example_value, path) + elif shape.type_name == 'map': + _assert_valid_map_values(shape, example_value, path) + + +def _assert_valid_structure_values(shape, example_dict, path): + invalid_members = [k for k in example_dict.keys() + if k not in shape.members] + if invalid_members: + dotted_path = '.'.join(path) + raise AssertionError( + "Invalid members found for %s: %s" % (dotted_path, invalid_members) + ) + + for member_name, example_value in example_dict.items(): + member = shape.members[member_name] + _assert_valid_values(member, example_value, path + [member_name]) + + +def _assert_valid_list_values(shape, example_values, path): + member = shape.member + for i, value in enumerate(example_values): + name = "%s[%s]" % (path[-1], i) + _assert_valid_values(member, value, path[:-1] + [name]) + + +def _assert_valid_map_values(shape, example_value, path): + for key, value in example_value.items(): + name = '%s["%s"]' % (path[-1], key) + _assert_valid_values(shape.value, value, path[:-1] + [name]) + + +def _assert_valid_timestamp(timestamp, path): + try: + parse_timestamp(timestamp).timetuple() + except Exception as e: + dotted_path = '.'.join(path) + raise AssertionError('Failed to parse timestamp %s for %s: %s' % ( + timestamp, dotted_path, e)) + + +def assert_operation_exists(service_model, operation_name): + try: + service_model.operation_model(operation_name) + except OperationNotFoundError: + raise AssertionError( + "Examples found in %s for operation %s that does not exist." % ( + service_model.service_name, operation_name)) diff -Nru python-botocore-1.4.70/tests/functional/docs/test_sms_voice.py python-botocore-1.16.19+repack/tests/functional/docs/test_sms_voice.py --- python-botocore-1.4.70/tests/functional/docs/test_sms_voice.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/docs/test_sms_voice.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,24 @@ +# Copyright 2018 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.functional.docs import BaseDocsFunctionalTest + + +class TestSMSVoiceDocs(BaseDocsFunctionalTest): + + def test_warning_at_top(self): + docs = self.get_title_section_for('sms-voice') + self.assert_contains_lines_in_order([ + '.. warning:', + ('This service client is deprecated. Please use ' + ':doc:`pinpoint-sms-voice ` instead.'), + ], docs) diff -Nru python-botocore-1.4.70/tests/functional/__init__.py python-botocore-1.16.19+repack/tests/functional/__init__.py --- python-botocore-1.4.70/tests/functional/__init__.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,3 +10,40 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import os +import uuid + +_ORIGINAL = os.environ.copy() +# These are environment variables that allow users to control +# the location of config files used by botocore. +_CONFIG_FILE_ENV_VARS = [ + 'AWS_CONFIG_FILE', + 'AWS_SHARED_CREDENTIALS_FILE', + 'BOTO_CONFIG', +] +_CREDENTIAL_ENV_VARS = [ + 'AWS_ACCESS_KEY_ID', + 'AWS_SECRET_ACCESS_KEY', + 'AWS_SESSION_TOKEN', +] + + +def setup_package(): + # We're using a random uuid to ensure we're pointing + # AWS_CONFIG_FILE and other env vars at a filename that + # does not exist. + random_file = str(uuid.uuid4()) + for varname in _CONFIG_FILE_ENV_VARS: + # The reason we're doing this is to ensure we don't automatically pick + # up any credentials a developer might have configured on their local + # machine. Travis will not have any credentials available, so without + # this fixture setup, it's possible to have all the tests pass on your + # local machine (if you have credentials configured) but still fail on + # travis. + os.environ[varname] = random_file + for credvar in _CREDENTIAL_ENV_VARS: + os.environ.pop(credvar, None) + + +def teardown_package(): + os.environ = _ORIGINAL diff -Nru python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/examples-1.json python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/examples-1.json --- python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/examples-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/examples-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff -Nru python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/paginators-1.json python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/paginators-1.json --- python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/paginators-1.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/paginators-1.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,10 @@ +{ + "pagination": { + "ListCertificates": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxItems", + "result_key": "CertificateSummaryList" + } + } +} diff -Nru python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/service-2.json python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/service-2.json --- python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/service-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/service-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,1114 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2015-12-08", + "endpointPrefix":"acm", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"ACM", + "serviceFullName":"AWS Certificate Manager", + "serviceId":"ACM", + "signatureVersion":"v4", + "targetPrefix":"CertificateManager", + "uid":"acm-2015-12-08" + }, + "operations":{ + "AddTagsToCertificate":{ + "name":"AddTagsToCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddTagsToCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidTagException"}, + {"shape":"TooManyTagsException"} + ], + "documentation":"

    Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your AWS resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

    You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

    To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

    " + }, + "DeleteCertificate":{ + "name":"DeleteCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ResourceInUseException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by AWS services integrated with ACM.

    You cannot delete an ACM certificate that is being used by another AWS service. To delete a certificate that is in use, the certificate association must first be removed.

    " + }, + "DescribeCertificate":{ + "name":"DescribeCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCertificateRequest"}, + "output":{"shape":"DescribeCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Returns detailed metadata about the specified ACM certificate.

    " + }, + "ExportCertificate":{ + "name":"ExportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ExportCertificateRequest"}, + "output":{"shape":"ExportCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"RequestInProgressException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Exports a private certificate issued by a private certificate authority (CA) for use anywhere. You can export the certificate, the certificate chain, and the encrypted private key associated with the public key embedded in the certificate. You must store the private key securely. The private key is a 2048 bit RSA key. You must provide a passphrase for the private key when exporting it. You can use the following OpenSSL command to decrypt it later. Provide the passphrase when prompted.

    openssl rsa -in encrypted_key.pem -out decrypted_key.pem

    " + }, + "GetCertificate":{ + "name":"GetCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetCertificateRequest"}, + "output":{"shape":"GetCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"RequestInProgressException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Retrieves a certificate specified by an ARN and its certificate chain . The chain is an ordered list of certificates that contains the end entity certificate, intermediate certificates of subordinate CAs, and the root certificate in that order. The certificate and certificate chain are base64 encoded. If you want to decode the certificate to see the individual fields, you can use OpenSSL.

    " + }, + "ImportCertificate":{ + "name":"ImportCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportCertificateRequest"}, + "output":{"shape":"ImportCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"} + ], + "documentation":"

    Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the AWS Certificate Manager User Guide.

    ACM does not provide managed renewal for certificates that you import.

    Note the following guidelines when importing third party certificates:

    • You must enter the private key that matches the certificate you are importing.

    • The private key must be unencrypted. You cannot import a private key that is protected by a password or a passphrase.

    • If the certificate you are importing is not self-signed, you must enter its certificate chain.

    • If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.

    • The certificate, private key, and certificate chain must be PEM-encoded.

    • The current time must be between the Not Before and Not After certificate fields.

    • The Issuer field must not be empty.

    • The OCSP authority URL, if present, must not exceed 1000 characters.

    • To import a new certificate, omit the CertificateArn argument. Include this argument only when you want to replace a previously imported certificate.

    • When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the private key by their file names preceded by file://. For example, you can specify a certificate saved in the C:\\temp folder as file://C:\\temp\\certificate_to_import.pem. If you are making an HTTP or HTTPS Query request, include these arguments as BLOBs.

    • When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the private key files in the manner required by the programming language you're using.

    This operation returns the Amazon Resource Name (ARN) of the imported certificate.

    " + }, + "ListCertificates":{ + "name":"ListCertificates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListCertificatesRequest"}, + "output":{"shape":"ListCertificatesResponse"}, + "documentation":"

    Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate.

    " + }, + "ListTagsForCertificate":{ + "name":"ListTagsForCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForCertificateRequest"}, + "output":{"shape":"ListTagsForCertificateResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

    " + }, + "RemoveTagsFromCertificate":{ + "name":"RemoveTagsFromCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveTagsFromCertificateRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidTagException"} + ], + "documentation":"

    Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, the tag will be removed regardless of value. If you specify a value, the tag is removed only if it is associated with the specified value.

    To add tags to a certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

    " + }, + "RequestCertificate":{ + "name":"RequestCertificate", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RequestCertificateRequest"}, + "output":{"shape":"RequestCertificateResponse"}, + "errors":[ + {"shape":"LimitExceededException"}, + {"shape":"InvalidDomainValidationOptionsException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

    If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

    " + }, + "ResendValidationEmail":{ + "name":"ResendValidationEmail", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResendValidationEmailRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"}, + {"shape":"InvalidDomainValidationOptionsException"} + ], + "documentation":"

    Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

    " + }, + "UpdateCertificateOptions":{ + "name":"UpdateCertificateOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateCertificateOptionsRequest"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidStateException"}, + {"shape":"InvalidArnException"} + ], + "documentation":"

    Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

    " + } + }, + "shapes":{ + "AddTagsToCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Tags" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The key-value pair that defines the tag. The tag value is optional.

    " + } + } + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:[\\w+=/,.@-]+:[\\w+=/,.@-]+:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*" + }, + "CertificateBody":{ + "type":"string", + "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 in the AWS General Reference.

    " + }, + "DomainName":{ + "shape":"DomainNameString", + "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. 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 initial validation of each domain name that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

    " + }, + "Serial":{ + "shape":"String", + "documentation":"

    The serial number of the certificate.

    " + }, + "Subject":{ + "shape":"String", + "documentation":"

    The name of the entity that is associated with the public key contained in the certificate.

    " + }, + "Issuer":{ + "shape":"String", + "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. This value exists only when the certificate type is AMAZON_ISSUED.

    " + }, + "IssuedAt":{ + "shape":"TStamp", + "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", + "documentation":"

    The status of the certificate.

    " + }, + "RevokedAt":{ + "shape":"TStamp", + "documentation":"

    The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

    " + }, + "RevocationReason":{ + "shape":"RevocationReason", + "documentation":"

    The reason the certificate was revoked. This value exists only when the certificate status is REVOKED.

    " + }, + "NotBefore":{ + "shape":"TStamp", + "documentation":"

    The time before which the certificate is not valid.

    " + }, + "NotAfter":{ + "shape":"TStamp", + "documentation":"

    The time after which the certificate is not valid.

    " + }, + "KeyAlgorithm":{ + "shape":"KeyAlgorithm", + "documentation":"

    The algorithm that was used to generate the public-private key pair.

    " + }, + "SignatureAlgorithm":{ + "shape":"String", + "documentation":"

    The algorithm that was used to sign the certificate.

    " + }, + "InUseBy":{ + "shape":"InUseList", + "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 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.

    " + }, + "RenewalSummary":{ + "shape":"RenewalSummary", + "documentation":"

    Contains information about the status of ACM's managed renewal for the certificate. This field exists only when the certificate type is AMAZON_ISSUED.

    " + }, + "KeyUsages":{ + "shape":"KeyUsageList", + "documentation":"

    A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

    " + }, + "ExtendedKeyUsages":{ + "shape":"ExtendedKeyUsageList", + "documentation":"

    Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

    " + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued the certificate. This has the following format:

    arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

    " + }, + "RenewalEligibility":{ + "shape":"RenewalEligibility", + "documentation":"

    Specifies whether the certificate is eligible for renewal.

    " + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

    Value that specifies whether to add the certificate to a transparency log. Certificate transparency makes it possible to detect SSL certificates that have been mistakenly or maliciously issued. A browser might respond to certificate that has not been logged by showing an error message. The logs are cryptographically secure.

    " + } + }, + "documentation":"

    Contains metadata about an ACM certificate. This structure is returned in the response to a DescribeCertificate request.

    " + }, + "CertificateOptions":{ + "type":"structure", + "members":{ + "CertificateTransparencyLoggingPreference":{ + "shape":"CertificateTransparencyLoggingPreference", + "documentation":"

    You can opt out of certificate transparency logging by specifying the DISABLED option. Opt in by specifying ENABLED.

    " + } + }, + "documentation":"

    Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging.

    " + }, + "CertificateStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "ISSUED", + "INACTIVE", + "EXPIRED", + "VALIDATION_TIMED_OUT", + "REVOKED", + "FAILED" + ] + }, + "CertificateStatuses":{ + "type":"list", + "member":{"shape":"CertificateStatus"} + }, + "CertificateSummary":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    Amazon Resource Name (ARN) of the certificate. This is of the form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + }, + "DomainName":{ + "shape":"DomainNameString", + "documentation":"

    Fully qualified domain name (FQDN), such as www.example.com or example.com, for the certificate.

    " + } + }, + "documentation":"

    This structure is returned in the response object of ListCertificates action.

    " + }, + "CertificateSummaryList":{ + "type":"list", + "member":{"shape":"CertificateSummary"} + }, + "CertificateTransparencyLoggingPreference":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, + "CertificateType":{ + "type":"string", + "enum":[ + "IMPORTED", + "AMAZON_ISSUED", + "PRIVATE" + ] + }, + "DeleteCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + } + } + }, + "DescribeCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + } + } + }, + "DescribeCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateDetail", + "documentation":"

    Metadata about an ACM certificate.

    " + } + } + }, + "DomainList":{ + "type":"list", + "member":{"shape":"DomainNameString"}, + "max":100, + "min":1 + }, + "DomainNameString":{ + "type":"string", + "max":253, + "min":1, + "pattern":"^(\\*\\.)?(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])$" + }, + "DomainStatus":{ + "type":"string", + "enum":[ + "PENDING_VALIDATION", + "SUCCESS", + "FAILED" + ] + }, + "DomainValidation":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainNameString", + "documentation":"

    A fully qualified domain name (FQDN) in the certificate. For example, www.example.com or example.com.

    " + }, + "ValidationEmails":{ + "shape":"ValidationEmailList", + "documentation":"

    A list of email addresses that ACM used to send domain validation emails.

    " + }, + "ValidationDomain":{ + "shape":"DomainNameString", + "documentation":"

    The domain name that ACM used to send domain validation emails.

    " + }, + "ValidationStatus":{ + "shape":"DomainStatus", + "documentation":"

    The validation status of the domain name. This can be one of the following values:

    • PENDING_VALIDATION

    • SUCCESS

    • FAILED

    " + }, + "ResourceRecord":{ + "shape":"ResourceRecord", + "documentation":"

    Contains the CNAME record that you add to your DNS database for domain validation. For more information, see Use DNS to Validate Domain Ownership.

    " + }, + "ValidationMethod":{ + "shape":"ValidationMethod", + "documentation":"

    Specifies the domain validation method.

    " + } + }, + "documentation":"

    Contains information about the validation of each domain name in the certificate.

    " + }, + "DomainValidationList":{ + "type":"list", + "member":{"shape":"DomainValidation"}, + "max":1000, + "min":1 + }, + "DomainValidationOption":{ + "type":"structure", + "required":[ + "DomainName", + "ValidationDomain" + ], + "members":{ + "DomainName":{ + "shape":"DomainNameString", + "documentation":"

    A fully qualified domain name (FQDN) in the certificate request.

    " + }, + "ValidationDomain":{ + "shape":"DomainNameString", + "documentation":"

    The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the DomainName value or a superdomain of the DomainName value. For example, if you request a certificate for testing.example.com, you can specify example.com for this value. In that case, ACM sends domain validation emails to the following five addresses:

    • admin@example.com

    • administrator@example.com

    • hostmaster@example.com

    • postmaster@example.com

    • webmaster@example.com

    " + } + }, + "documentation":"

    Contains information about the domain names that you want ACM to use to send you emails that enable you to validate domain ownership.

    " + }, + "DomainValidationOptionList":{ + "type":"list", + "member":{"shape":"DomainValidationOption"}, + "max":100, + "min":1 + }, + "ExportCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Passphrase" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    An Amazon Resource Name (ARN) of the issued certificate. This must be of the form:

    arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012

    " + }, + "Passphrase":{ + "shape":"PassphraseBlob", + "documentation":"

    Passphrase to associate with the encrypted exported private key. If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key:

    openssl rsa -in encrypted_key.pem -out decrypted_key.pem

    " + } + } + }, + "ExportCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateBody", + "documentation":"

    The base64 PEM-encoded certificate.

    " + }, + "CertificateChain":{ + "shape":"CertificateChain", + "documentation":"

    The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting.

    " + }, + "PrivateKey":{ + "shape":"PrivateKey", + "documentation":"

    The PEM-encoded private key associated with the public key in the certificate.

    " + } + } + }, + "ExtendedKeyUsage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"ExtendedKeyUsageName", + "documentation":"

    The name of an Extended Key Usage value.

    " + }, + "OID":{ + "shape":"String", + "documentation":"

    An object identifier (OID) for the extension value. OIDs are strings of numbers separated by periods. The following OIDs are defined in RFC 3280 and RFC 5280.

    • 1.3.6.1.5.5.7.3.1 (TLS_WEB_SERVER_AUTHENTICATION)

    • 1.3.6.1.5.5.7.3.2 (TLS_WEB_CLIENT_AUTHENTICATION)

    • 1.3.6.1.5.5.7.3.3 (CODE_SIGNING)

    • 1.3.6.1.5.5.7.3.4 (EMAIL_PROTECTION)

    • 1.3.6.1.5.5.7.3.8 (TIME_STAMPING)

    • 1.3.6.1.5.5.7.3.9 (OCSP_SIGNING)

    • 1.3.6.1.5.5.7.3.5 (IPSEC_END_SYSTEM)

    • 1.3.6.1.5.5.7.3.6 (IPSEC_TUNNEL)

    • 1.3.6.1.5.5.7.3.7 (IPSEC_USER)

    " + } + }, + "documentation":"

    The Extended Key Usage X.509 v3 extension defines one or more purposes for which the public key can be used. This is in addition to or in place of the basic purposes specified by the Key Usage extension.

    " + }, + "ExtendedKeyUsageFilterList":{ + "type":"list", + "member":{"shape":"ExtendedKeyUsageName"} + }, + "ExtendedKeyUsageList":{ + "type":"list", + "member":{"shape":"ExtendedKeyUsage"} + }, + "ExtendedKeyUsageName":{ + "type":"string", + "enum":[ + "TLS_WEB_SERVER_AUTHENTICATION", + "TLS_WEB_CLIENT_AUTHENTICATION", + "CODE_SIGNING", + "EMAIL_PROTECTION", + "TIME_STAMPING", + "OCSP_SIGNING", + "IPSEC_END_SYSTEM", + "IPSEC_TUNNEL", + "IPSEC_USER", + "ANY", + "NONE", + "CUSTOM" + ] + }, + "FailureReason":{ + "type":"string", + "enum":[ + "NO_AVAILABLE_CONTACTS", + "ADDITIONAL_VERIFICATION_REQUIRED", + "DOMAIN_NOT_ALLOWED", + "INVALID_PUBLIC_DOMAIN", + "CAA_ERROR", + "PCA_LIMIT_EXCEEDED", + "PCA_INVALID_ARN", + "PCA_INVALID_STATE", + "PCA_REQUEST_FAILED", + "PCA_RESOURCE_NOT_FOUND", + "PCA_INVALID_ARGS", + "OTHER" + ] + }, + "Filters":{ + "type":"structure", + "members":{ + "extendedKeyUsage":{ + "shape":"ExtendedKeyUsageFilterList", + "documentation":"

    Specify one or more ExtendedKeyUsage extension values.

    " + }, + "keyUsage":{ + "shape":"KeyUsageFilterList", + "documentation":"

    Specify one or more KeyUsage extension values.

    " + }, + "keyTypes":{ + "shape":"KeyAlgorithmList", + "documentation":"

    Specify one or more algorithms that can be used to generate key pairs.

    " + } + }, + "documentation":"

    This structure can be used in the ListCertificates action to filter the output of the certificate list.

    " + }, + "GetCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains a certificate ARN in the following format:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + } + } + }, + "GetCertificateResponse":{ + "type":"structure", + "members":{ + "Certificate":{ + "shape":"CertificateBody", + "documentation":"

    String that contains the ACM certificate represented by the ARN specified at input.

    " + }, + "CertificateChain":{ + "shape":"CertificateChain", + "documentation":"

    The certificate chain that contains the root certificate issued by the certificate authority (CA).

    " + } + } + }, + "IdempotencyToken":{ + "type":"string", + "max":32, + "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.

    " + }, + "PrivateKey":{ + "shape":"PrivateKeyBlob", + "documentation":"

    The private key that matches the public key in the certificate.

    " + }, + "CertificateChain":{ + "shape":"CertificateChainBlob", + "documentation":"

    The PEM encoded certificate chain.

    " + } + } + }, + "ImportCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the imported certificate.

    " + } + } + }, + "InUseList":{ + "type":"list", + "member":{"shape":"String"} + }, + "InvalidArnException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The requested Amazon Resource Name (ARN) does not refer to an existing resource.

    ", + "exception":true + }, + "InvalidDomainValidationOptionsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    One or more values in the DomainValidationOption structure is incorrect.

    ", + "exception":true + }, + "InvalidStateException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    Processing has reached an invalid state.

    ", + "exception":true + }, + "InvalidTagException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    One or both of the values that make up the key-value pair is not valid. For example, you cannot specify a tag value that begins with aws:.

    ", + "exception":true + }, + "KeyAlgorithm":{ + "type":"string", + "enum":[ + "RSA_2048", + "RSA_1024", + "RSA_4096", + "EC_prime256v1", + "EC_secp384r1", + "EC_secp521r1" + ] + }, + "KeyAlgorithmList":{ + "type":"list", + "member":{"shape":"KeyAlgorithm"} + }, + "KeyUsage":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"KeyUsageName", + "documentation":"

    A string value that contains a Key Usage extension name.

    " + } + }, + "documentation":"

    The Key Usage X.509 v3 extension defines the purpose of the public key contained in the certificate.

    " + }, + "KeyUsageFilterList":{ + "type":"list", + "member":{"shape":"KeyUsageName"} + }, + "KeyUsageList":{ + "type":"list", + "member":{"shape":"KeyUsage"} + }, + "KeyUsageName":{ + "type":"string", + "enum":[ + "DIGITAL_SIGNATURE", + "NON_REPUDIATION", + "KEY_ENCIPHERMENT", + "DATA_ENCIPHERMENT", + "KEY_AGREEMENT", + "CERTIFICATE_SIGNING", + "CRL_SIGNING", + "ENCIPHER_ONLY", + "DECIPHER_ONLY", + "ANY", + "CUSTOM" + ] + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    An ACM limit has been exceeded.

    ", + "exception":true + }, + "ListCertificatesRequest":{ + "type":"structure", + "members":{ + "CertificateStatuses":{ + "shape":"CertificateStatuses", + "documentation":"

    Filter the certificate list by status value.

    " + }, + "Includes":{ + "shape":"Filters", + "documentation":"

    Filter the certificate list. For more information, see the Filters structure.

    " + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

    Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of NextToken from the response you just received.

    " + }, + "MaxItems":{ + "shape":"MaxItems", + "documentation":"

    Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the NextToken element is sent in the response. Use this NextToken value in a subsequent request to retrieve additional items.

    " + } + } + }, + "ListCertificatesResponse":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

    When the list is truncated, this value is present and contains the value to use for the NextToken parameter in a subsequent pagination request.

    " + }, + "CertificateSummaryList":{ + "shape":"CertificateSummaryList", + "documentation":"

    A list of ACM certificates.

    " + } + } + }, + "ListTagsForCertificateRequest":{ + "type":"structure", + "required":["CertificateArn"], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + } + } + }, + "ListTagsForCertificateResponse":{ + "type":"structure", + "members":{ + "Tags":{ + "shape":"TagList", + "documentation":"

    The key-value pairs that define the applied tags.

    " + } + } + }, + "MaxItems":{ + "type":"integer", + "max":1000, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":320, + "min":1, + "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" + }, + "PassphraseBlob":{ + "type":"blob", + "max":128, + "min":4, + "sensitive":true + }, + "PrivateKey":{ + "type":"string", + "max":524288, + "min":1, + "pattern":"-{5}BEGIN PRIVATE KEY-{5}\\u000D?\\u000A([A-Za-z0-9/+]{64}\\u000D?\\u000A)*[A-Za-z0-9/+]{1,64}={0,2}\\u000D?\\u000A-{5}END PRIVATE KEY-{5}(\\u000D?\\u000A)?", + "sensitive":true + }, + "PrivateKeyBlob":{ + "type":"blob", + "max":524288, + "min":1, + "sensitive":true + }, + "RecordType":{ + "type":"string", + "enum":["CNAME"] + }, + "RemoveTagsFromCertificateRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Tags" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

    arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

    For more information about ARNs, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

    " + }, + "Tags":{ + "shape":"TagList", + "documentation":"

    The key-value pair that defines the tag to remove.

    " + } + } + }, + "RenewalEligibility":{ + "type":"string", + "enum":[ + "ELIGIBLE", + "INELIGIBLE" + ] + }, + "RenewalStatus":{ + "type":"string", + "enum":[ + "PENDING_AUTO_RENEWAL", + "PENDING_VALIDATION", + "SUCCESS", + "FAILED" + ] + }, + "RenewalSummary":{ + "type":"structure", + "required":[ + "RenewalStatus", + "DomainValidationOptions" + ], + "members":{ + "RenewalStatus":{ + "shape":"RenewalStatus", + "documentation":"

    The status of ACM's managed renewal of the certificate.

    " + }, + "DomainValidationOptions":{ + "shape":"DomainValidationList", + "documentation":"

    Contains information about the validation of each domain name in the certificate, as it pertains to ACM's managed renewal. This is different from the initial validation that occurs as a result of the RequestCertificate request. This field exists only when the certificate type is AMAZON_ISSUED.

    " + } + }, + "documentation":"

    Contains information about the status of ACM's managed renewal for the certificate. This structure exists only when the certificate type is AMAZON_ISSUED.

    " + }, + "RequestCertificateRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainNameString", + "documentation":"

    Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

    The first domain name you enter cannot exceed 63 octets, including periods. Each subsequent Subject Alternative Name (SAN), however, can be up to 253 octets in length.

    " + }, + "ValidationMethod":{ + "shape":"ValidationMethod", + "documentation":"

    The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation.

    " + }, + "SubjectAlternativeNames":{ + "shape":"DomainList", + "documentation":"

    Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial limit is 10 domain names. If you need more than 10 names, you must request a limit increase. For more information, see Limits.

    The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

    • (63 octets).(63 octets).(63 octets).(61 octets) is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.

    • (64 octets).(63 octets).(63 octets).(61 octets) is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.

    • (63 octets).(63 octets).(63 octets).(62 octets) is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.

    " + }, + "IdempotencyToken":{ + "shape":"IdempotencyToken", + "documentation":"

    Customer chosen string that can be used to distinguish between calls to RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.

    " + }, + "DomainValidationOptions":{ + "shape":"DomainValidationOptionList", + "documentation":"

    The domain name that you want ACM to use to send you emails so that you can validate domain ownership.

    " + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

    Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging.

    " + }, + "CertificateAuthorityArn":{ + "shape":"Arn", + "documentation":"

    The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the AWS Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

    arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

    " + } + } + }, + "RequestCertificateResponse":{ + "type":"structure", + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the issued certificate. This must be of the form:

    arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

    " + } + } + }, + "RequestInProgressException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The certificate request is in process and the certificate in your account has not yet been issued.

    ", + "exception":true + }, + "ResendValidationEmailRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Domain", + "ValidationDomain" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form:

    arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

    " + }, + "Domain":{ + "shape":"DomainNameString", + "documentation":"

    The fully qualified domain name (FQDN) of the certificate that needs to be validated.

    " + }, + "ValidationDomain":{ + "shape":"DomainNameString", + "documentation":"

    The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the Domain value or a superdomain of the Domain value. For example, if you requested a certificate for site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:

    • admin@subdomain.example.com

    • administrator@subdomain.example.com

    • hostmaster@subdomain.example.com

    • postmaster@subdomain.example.com

    • webmaster@subdomain.example.com

    " + } + } + }, + "ResourceInUseException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The certificate is in use by another AWS service in the caller's account. Remove the association and try again.

    ", + "exception":true + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The specified certificate cannot be found in the caller's account or the caller's account cannot be found.

    ", + "exception":true + }, + "ResourceRecord":{ + "type":"structure", + "required":[ + "Name", + "Type", + "Value" + ], + "members":{ + "Name":{ + "shape":"String", + "documentation":"

    The name of the DNS record to create in your domain. This is supplied by ACM.

    " + }, + "Type":{ + "shape":"RecordType", + "documentation":"

    The type of DNS record. Currently this can be CNAME.

    " + }, + "Value":{ + "shape":"String", + "documentation":"

    The value of the CNAME record to add to your DNS database. This is supplied by ACM.

    " + } + }, + "documentation":"

    Contains a DNS record value that you can use to can use to validate ownership or control of a domain. This is used by the DescribeCertificate action.

    " + }, + "RevocationReason":{ + "type":"string", + "enum":[ + "UNSPECIFIED", + "KEY_COMPROMISE", + "CA_COMPROMISE", + "AFFILIATION_CHANGED", + "SUPERCEDED", + "CESSATION_OF_OPERATION", + "CERTIFICATE_HOLD", + "REMOVE_FROM_CRL", + "PRIVILEGE_WITHDRAWN", + "A_A_COMPROMISE" + ] + }, + "String":{"type":"string"}, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "required":["Key"], + "members":{ + "Key":{ + "shape":"TagKey", + "documentation":"

    The key of the tag.

    " + }, + "Value":{ + "shape":"TagValue", + "documentation":"

    The value of the tag.

    " + } + }, + "documentation":"

    A key-value pair that identifies or specifies metadata about an ACM resource.

    " + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":50, + "min":1 + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*" + }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "documentation":"

    The request contains too many tags. Try the request again with fewer tags.

    ", + "exception":true + }, + "UpdateCertificateOptionsRequest":{ + "type":"structure", + "required":[ + "CertificateArn", + "Options" + ], + "members":{ + "CertificateArn":{ + "shape":"Arn", + "documentation":"

    ARN of the requested certificate to update. This must be of the form:

    arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012

    " + }, + "Options":{ + "shape":"CertificateOptions", + "documentation":"

    Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser.

    " + } + } + }, + "ValidationEmailList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ValidationMethod":{ + "type":"string", + "enum":[ + "EMAIL", + "DNS" + ] + } + }, + "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 -Nru python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/waiters-2.json python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/waiters-2.json --- python-botocore-1.4.70/tests/functional/models/custom-acm/2015-12-08/waiters-2.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/models/custom-acm/2015-12-08/waiters-2.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,35 @@ +{ + "version": 2, + "waiters": { + "CertificateValidated": { + "delay": 60, + "maxAttempts": 40, + "operation": "DescribeCertificate", + "acceptors": [ + { + "matcher": "pathAll", + "expected": "SUCCESS", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "success" + }, + { + "matcher": "pathAny", + "expected": "PENDING_VALIDATION", + "argument": "Certificate.DomainValidationOptions[].ValidationStatus", + "state": "retry" + }, + { + "matcher": "path", + "expected": "FAILED", + "argument": "Certificate.Status", + "state": "failure" + }, + { + "matcher": "error", + "expected": "ResourceNotFoundException", + "state": "failure" + } + ] + } + } +} diff -Nru python-botocore-1.4.70/tests/functional/models/endpoints.json python-botocore-1.16.19+repack/tests/functional/models/endpoints.json --- python-botocore-1.4.70/tests/functional/models/endpoints.json 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/models/endpoints.json 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,2979 @@ +{ + "partitions" : [ { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws", + "partitionName" : "AWS Standard", + "regionRegex" : "^(us|eu|ap|sa|ca)\\-\\w+\\-\\d+$", + "regions" : { + "ap-northeast-1" : { + "description" : "Asia Pacific (Tokyo)" + }, + "ap-northeast-2" : { + "description" : "Asia Pacific (Seoul)" + }, + "ap-south-1" : { + "description" : "Asia Pacific (Mumbai)" + }, + "ap-southeast-1" : { + "description" : "Asia Pacific (Singapore)" + }, + "ap-southeast-2" : { + "description" : "Asia Pacific (Sydney)" + }, + "ca-central-1" : { + "description" : "Canada (Central)" + }, + "eu-central-1" : { + "description" : "EU (Frankfurt)" + }, + "eu-west-1" : { + "description" : "EU (Ireland)" + }, + "eu-west-2" : { + "description" : "EU (London)" + }, + "eu-west-3" : { + "description" : "EU (Paris)" + }, + "sa-east-1" : { + "description" : "South America (Sao Paulo)" + }, + "us-east-1" : { + "description" : "US East (N. Virginia)" + }, + "us-east-2" : { + "description" : "US East (Ohio)" + }, + "us-west-1" : { + "description" : "US West (N. California)" + }, + "us-west-2" : { + "description" : "US West (Oregon)" + } + }, + "services" : { + "a4b" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "acm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "acm-pca" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "api.mediatailor" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "api.pricing" : { + "defaults" : { + "credentialScope" : { + "service" : "pricing" + } + }, + "endpoints" : { + "ap-south-1" : { }, + "us-east-1" : { } + } + }, + "api.sagemaker" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "apigateway" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "credentialScope" : { + "service" : "application-autoscaling" + }, + "hostname" : "autoscaling.{region}.amazonaws.com", + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "appstream2" : { + "defaults" : { + "credentialScope" : { + "service" : "appstream" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "athena" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "autoscaling-plans" : { + "defaults" : { + "credentialScope" : { + "service" : "autoscaling-plans" + }, + "hostname" : "autoscaling.{region}.amazonaws.com", + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-southeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "batch" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "budgets" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "budgets.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "ce" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "ce.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "cloud9" : { + "endpoints" : { + "ap-southeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "clouddirectory" : { + "endpoints" : { + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudfront" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "cloudfront.amazonaws.com", + "protocols" : [ "http", "https" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "cloudhsm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudsearch" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codebuild" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "codebuild-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "codebuild-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "codebuild-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "codebuild-fips.us-west-2.amazonaws.com" + } + } + }, + "codecommit" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codepipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "codestar" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-idp" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "cognito-sync" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "comprehend" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "config" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "cur" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "datapipeline" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "dax" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "devicefarm" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "directconnect" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "discovery" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "dms" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ds" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ecr" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ecs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticache" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "elasticache-fips.us-west-1.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticfilesystem" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "{region}.{service}.{dnsSuffix}" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{region}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "elastictranscoder" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "email" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "entitlement.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "es" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "events" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "firehose" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "fms" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "gamelift" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "glue" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "greengrass" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + }, + "isRegionalized" : true + }, + "guardduty" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + }, + "isRegionalized" : true + }, + "health" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "iam.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "importexport" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1", + "service" : "IngestionService" + }, + "hostname" : "importexport.amazonaws.com", + "signatureVersions" : [ "v2", "v4" ] + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "inspector" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "iotanalytics" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "kinesis" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "kinesisanalytics" : { + "endpoints" : { + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "kinesisvideo" : { + "endpoints" : { + "ap-northeast-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "kms" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lambda" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "lightsail" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "logs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "machinelearning" : { + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { } + } + }, + "marketplacecommerceanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "mediaconvert" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "medialive" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "mediapackage" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mediastore" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "metering.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mgh" : { + "endpoints" : { + "us-west-2" : { } + } + }, + "mobileanalytics" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "models.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "mturk-requester" : { + "endpoints" : { + "sandbox" : { + "hostname" : "mturk-requester-sandbox.us-east-1.amazonaws.com" + }, + "us-east-1" : { } + }, + "isRegionalized" : false + }, + "neptune" : { + "endpoints" : { + "eu-west-1" : { + "credentialScope" : { + "region" : "eu-west-1" + }, + "hostname" : "rds.eu-west-1.amazonaws.com" + }, + "eu-west-2" : { + "credentialScope" : { + "region" : "eu-west-2" + }, + "hostname" : "rds.eu-west-2.amazonaws.com" + }, + "us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "rds.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "rds.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "rds.us-west-2.amazonaws.com" + } + } + }, + "opsworks" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "opsworks-cm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "organizations" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "organizations.us-east-1.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "pinpoint" : { + "defaults" : { + "credentialScope" : { + "service" : "mobiletargeting" + } + }, + "endpoints" : { + "us-east-1" : { } + } + }, + "polly" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "rds" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "{service}.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "redshift" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "rekognition" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "resource-groups" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "route53" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "route53.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "route53domains" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "runtime.lex" : { + "defaults" : { + "credentialScope" : { + "service" : "lex" + } + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "runtime.sagemaker" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "ap-northeast-1" : { + "hostname" : "s3.ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { + "hostname" : "s3.ap-southeast-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ap-southeast-2" : { + "hostname" : "s3.ap-southeast-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { + "hostname" : "s3.eu-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "s3-external-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "s3-external-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "sa-east-1" : { + "hostname" : "s3.sa-east-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-1" : { + "hostname" : "s3.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-east-2" : { }, + "us-west-1" : { + "hostname" : "s3.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + }, + "us-west-2" : { + "hostname" : "s3.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3", "s3v4" ] + } + }, + "isRegionalized" : true, + "partitionEndpoint" : "us-east-1" + }, + "sdb" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "v2" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "hostname" : "sdb.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "secretsmanager" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "secretsmanager-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "secretsmanager-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "secretsmanager-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "secretsmanager-fips.us-west-2.amazonaws.com" + } + } + }, + "serverlessrepo" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { + "protocols" : [ "https" ] + }, + "ap-northeast-2" : { + "protocols" : [ "https" ] + }, + "ap-south-1" : { + "protocols" : [ "https" ] + }, + "ap-southeast-1" : { + "protocols" : [ "https" ] + }, + "ap-southeast-2" : { + "protocols" : [ "https" ] + }, + "ca-central-1" : { + "protocols" : [ "https" ] + }, + "eu-central-1" : { + "protocols" : [ "https" ] + }, + "eu-west-1" : { + "protocols" : [ "https" ] + }, + "eu-west-2" : { + "protocols" : [ "https" ] + }, + "sa-east-1" : { + "protocols" : [ "https" ] + }, + "us-east-1" : { + "protocols" : [ "https" ] + }, + "us-east-2" : { + "protocols" : [ "https" ] + }, + "us-west-1" : { + "protocols" : [ "https" ] + }, + "us-west-2" : { + "protocols" : [ "https" ] + } + } + }, + "servicecatalog" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "servicecatalog-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "servicecatalog-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "servicecatalog-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "servicecatalog-fips.us-west-2.amazonaws.com" + } + } + }, + "servicediscovery" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "shield" : { + "defaults" : { + "protocols" : [ "https" ], + "sslCommonName" : "Shield.us-east-1.amazonaws.com" + }, + "endpoints" : { + "us-east-1" : { } + }, + "isRegionalized" : false + }, + "sms" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "snowball" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sqs-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sqs-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sqs-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sqs-fips.us-west-2.amazonaws.com" + }, + "sa-east-1" : { }, + "us-east-1" : { + "sslCommonName" : "queue.{dnsSuffix}" + }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "ssm" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "states" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "local" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "localhost:8000", + "protocols" : [ "http" ] + }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "sts" : { + "defaults" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts.amazonaws.com" + }, + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { + "credentialScope" : { + "region" : "ap-northeast-2" + }, + "hostname" : "sts.ap-northeast-2.amazonaws.com" + }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "aws-global" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "sts-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "sts-fips.us-east-2.amazonaws.com" + }, + "us-west-1" : { }, + "us-west-1-fips" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "hostname" : "sts-fips.us-west-1.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "sts-fips.us-west-2.amazonaws.com" + } + }, + "partitionEndpoint" : "aws-global" + }, + "support" : { + "endpoints" : { + "us-east-1" : { } + } + }, + "swf" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "tagging" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-1-fips" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "translate-fips.us-east-1.amazonaws.com" + }, + "us-east-2" : { }, + "us-east-2-fips" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "hostname" : "translate-fips.us-east-2.amazonaws.com" + }, + "us-west-2" : { }, + "us-west-2-fips" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "hostname" : "translate-fips.us-west-2.amazonaws.com" + } + } + }, + "waf" : { + "endpoints" : { + "aws-global" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "hostname" : "waf.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-global" + }, + "waf-regional" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, + "workdocs" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workmail" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "eu-west-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "workspaces" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, + "xray" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com.cn", + "partition" : "aws-cn", + "partitionName" : "AWS China", + "regionRegex" : "^cn\\-\\w+\\-\\d+$", + "regions" : { + "cn-north-1" : { + "description" : "China (Beijing)" + }, + "cn-northwest-1" : { + "description" : "China (Ningxia)" + } + }, + "services" : { + "apigateway" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "application-autoscaling" : { + "defaults" : { + "credentialScope" : { + "service" : "application-autoscaling" + }, + "hostname" : "autoscaling.{region}.amazonaws.com", + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "autoscaling" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cloudformation" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "codebuild" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "cognito-identity" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "config" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ds" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "dynamodb" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ec2" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ecr" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ecs" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticloadbalancing" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "elasticmapreduce" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "es" : { + "endpoints" : { + "cn-northwest-1" : { } + } + }, + "events" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "glacier" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "iam" : { + "endpoints" : { + "aws-cn-global" : { + "credentialScope" : { + "region" : "cn-north-1" + }, + "hostname" : "iam.cn-north-1.amazonaws.com.cn" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-cn-global" + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "cn-north-1" : { } + } + }, + "kinesis" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "logs" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "monitoring" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "rds" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "s3" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "signatureVersions" : [ "s3v4" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sms" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "sns" : { + "defaults" : { + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sqs" : { + "defaults" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "ssm" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "cn-north-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + }, + "protocols" : [ "http", "https" ] + }, + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "sts" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "swf" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, + "tagging" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + } + } + }, { + "defaults" : { + "hostname" : "{service}.{region}.{dnsSuffix}", + "protocols" : [ "https" ], + "signatureVersions" : [ "v4" ] + }, + "dnsSuffix" : "amazonaws.com", + "partition" : "aws-us-gov", + "partitionName" : "AWS GovCloud (US)", + "regionRegex" : "^us\\-gov\\-\\w+\\-\\d+$", + "regions" : { + "us-gov-west-1" : { + "description" : "AWS GovCloud (US)" + } + }, + "services" : { + "acm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "api.sagemaker" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "apigateway" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "application-autoscaling" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "autoscaling" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "cloudformation" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudhsm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudhsmv2" : { + "defaults" : { + "credentialScope" : { + "service" : "cloudhsm" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "cloudtrail" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "codedeploy" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "config" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "data.iot" : { + "defaults" : { + "credentialScope" : { + "service" : "iotdata" + }, + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "directconnect" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "dms" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "dynamodb" : { + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" + } + } + }, + "ec2" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "ecr" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "ecs" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "elasticache" : { + "endpoints" : { + "fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "elasticache-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { } + } + }, + "elasticbeanstalk" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "elasticloadbalancing" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "elasticmapreduce" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "https" ] + } + } + }, + "es" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "events" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "glacier" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "iam" : { + "endpoints" : { + "aws-us-gov-global" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "iam.us-gov.amazonaws.com" + } + }, + "isRegionalized" : false, + "partitionEndpoint" : "aws-us-gov-global" + }, + "inspector" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "iot" : { + "defaults" : { + "credentialScope" : { + "service" : "execute-api" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "kinesis" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "kms" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "lambda" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "logs" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "metering.marketplace" : { + "defaults" : { + "credentialScope" : { + "service" : "aws-marketplace" + } + }, + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "monitoring" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "polly" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "rds" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "redshift" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "rekognition" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "runtime.sagemaker" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "s3" : { + "defaults" : { + "signatureVersions" : [ "s3", "s3v4" ] + }, + "endpoints" : { + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "s3-fips-us-gov-west-1.amazonaws.com" + }, + "us-gov-west-1" : { + "hostname" : "s3.us-gov-west-1.amazonaws.com", + "protocols" : [ "http", "https" ] + } + } + }, + "sms" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "snowball" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "sns" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ] + } + } + }, + "sqs" : { + "endpoints" : { + "us-gov-west-1" : { + "protocols" : [ "http", "https" ], + "sslCommonName" : "{region}.queue.{dnsSuffix}" + } + } + }, + "ssm" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "states" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "storagegateway" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "streams.dynamodb" : { + "defaults" : { + "credentialScope" : { + "service" : "dynamodb" + } + }, + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "dynamodb.us-gov-west-1.amazonaws.com" + } + } + }, + "sts" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "swf" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "tagging" : { + "endpoints" : { + "us-gov-west-1" : { } + } + }, + "translate" : { + "defaults" : { + "protocols" : [ "https" ] + }, + "endpoints" : { + "us-gov-west-1" : { }, + "us-gov-west-1-fips" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "translate-fips.us-gov-west-1.amazonaws.com" + } + } + } + } + } ], + "version" : 3 +} diff -Nru python-botocore-1.4.70/tests/functional/retries/test_bucket.py python-botocore-1.16.19+repack/tests/functional/retries/test_bucket.py --- python-botocore-1.4.70/tests/functional/retries/test_bucket.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/retries/test_bucket.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,109 @@ +import random +import time +import threading +from tests import unittest + +from botocore.retries import bucket + + +class InstrumentedTokenBucket(bucket.TokenBucket): + def _acquire(self, amount, block): + rval = super(InstrumentedTokenBucket, self)._acquire(amount, block) + assert self._current_capacity >= 0 + return rval + + +class TestTokenBucketThreading(unittest.TestCase): + def setUp(self): + self.shutdown_threads = False + self.caught_exceptions = [] + self.acquisitions_by_thread = {} + + def run_in_thread(self): + while not self.shutdown_threads: + capacity = random.randint(1, self.max_capacity) + self.retry_quota.acquire(capacity) + self.seen_capacities.append(self.retry_quota.available_capacity) + self.retry_quota.release(capacity) + self.seen_capacities.append(self.retry_quota.available_capacity) + + def create_clock(self): + return bucket.Clock() + + def test_can_change_max_rate_while_blocking(self): + # This isn't a stress test, we just want to verify we can change + # the rate at which we acquire a token. + min_rate = 0.1 + max_rate = 1 + token_bucket = bucket.TokenBucket( + min_rate=min_rate, max_rate=max_rate, + clock=self.create_clock(), + ) + # First we'll set the max_rate to 0.1 (min_rate). This means that + # it will take 10 seconds to accumulate a single token. We'll start + # a thread and have it acquire() a token. + # Then in the main thread we'll change the max_rate to something + # really quick (e.g 100). We should immediately get a token back. + # This is going to be timing sensitive, but we can verify that + # as long as it doesn't take 10 seconds to get a token, we were + # able to update the rate as needed. + thread = threading.Thread(target=token_bucket.acquire) + token_bucket.max_rate = min_rate + start_time = time.time() + thread.start() + # This shouldn't block the main thread. + token_bucket.max_rate = 100 + thread.join() + end_time = time.time() + self.assertLessEqual(end_time - start_time, 1.0 / min_rate) + + def acquire_in_loop(self, token_bucket): + while not self.shutdown_threads: + try: + self.assertTrue(token_bucket.acquire()) + thread_name = threading.current_thread().name + self.acquisitions_by_thread[thread_name] += 1 + except Exception as e: + self.caught_exceptions.append(e) + + def randomly_set_max_rate(self, token_bucket, min_val, max_val): + while not self.shutdown_threads: + new_rate = random.randint(min_val, max_val) + token_bucket.max_rate = new_rate + time.sleep(0.01) + + def test_stress_test_token_bucket(self): + token_bucket = InstrumentedTokenBucket( + max_rate=10, + clock=self.create_clock(), + ) + all_threads = [] + for _ in range(2): + all_threads.append( + threading.Thread(target=self.randomly_set_max_rate, + args=(token_bucket, 30, 200)) + ) + for _ in range(10): + t = threading.Thread(target=self.acquire_in_loop, + args=(token_bucket,)) + self.acquisitions_by_thread[t.name] = 0 + all_threads.append(t) + for thread in all_threads: + thread.start() + try: + # If you're working on this code you can bump this number way + # up to stress test it more locally. + time.sleep(3) + finally: + self.shutdown_threads = True + for thread in all_threads: + thread.join() + self.assertEqual(self.caught_exceptions, []) + distribution = self.acquisitions_by_thread.values() + mean = sum(distribution) / float(len(distribution)) + # We can't really rely on any guarantees about evenly distributing + # thread acquisition(), e.g. must be with a 2 stddev range, but we + # can sanity check that our implementation isn't drastically + # starving a thread. So we'll arbitrarily say that a thread + # can't have less than 30% of the mean allocations per thread. + self.assertTrue(not any(x < (0.3 * mean) for x in distribution)) diff -Nru python-botocore-1.4.70/tests/functional/retries/test_quota.py python-botocore-1.16.19+repack/tests/functional/retries/test_quota.py --- python-botocore-1.4.70/tests/functional/retries/test_quota.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/retries/test_quota.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,42 @@ +import random +import time +import threading +from tests import unittest + +from botocore.retries import quota + + +class TestRetryQuota(unittest.TestCase): + def setUp(self): + self.max_capacity = 50 + self.retry_quota = quota.RetryQuota(self.max_capacity) + self.shutdown_threads = False + self.seen_capacities = [] + + def run_in_thread(self): + while not self.shutdown_threads: + capacity = random.randint(1, self.max_capacity) + self.retry_quota.acquire(capacity) + self.seen_capacities.append(self.retry_quota.available_capacity) + self.retry_quota.release(capacity) + self.seen_capacities.append(self.retry_quota.available_capacity) + + def test_capacity_stays_within_range(self): + # The main thing we're after is that the available_capacity + # should always be 0 <= capacity <= max_capacity. + # So what we do is spawn a number of threads and them acquire + # random capacity. They'll check that they never see an invalid + # capacity. + threads = [] + for i in range(10): + threads.append(threading.Thread(target=self.run_in_thread)) + for thread in threads: + thread.start() + # We'll let things run for a second. + time.sleep(1) + self.shutdown_threads = True + for thread in threads: + thread.join() + for seen_capacity in self.seen_capacities: + self.assertGreaterEqual(seen_capacity, 0) + self.assertLessEqual(seen_capacity, self.max_capacity) diff -Nru python-botocore-1.4.70/tests/functional/test_apigateway.py python-botocore-1.16.19+repack/tests/functional/test_apigateway.py --- python-botocore-1.4.70/tests/functional/test_apigateway.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_apigateway.py 2020-05-28 19:26:08.000000000 +0000 @@ -12,8 +12,7 @@ # language governing permissions and limitations under the License. import mock -from botocore.stub import Stubber -from tests import BaseSessionTest +from tests import BaseSessionTest, ClientHTTPStubber class TestApiGateway(BaseSessionTest): @@ -22,7 +21,7 @@ self.region = 'us-west-2' self.client = self.session.create_client( 'apigateway', self.region) - self.stubber = Stubber(self.client) + self.http_stubber = ClientHTTPStubber(self.client) def test_get_export(self): params = { @@ -32,11 +31,9 @@ 'accepts': 'application/yaml' } - with mock.patch('botocore.endpoint.Session.send') as _send: - _send.return_value = mock.Mock( - status_code=200, headers={}, content=b'{}') + self.http_stubber.add_response(body=b'{}') + with self.http_stubber: self.client.get_export(**params) - sent_request = _send.call_args[0][0] - self.assertEqual(sent_request.method, 'GET') - self.assertEqual( - sent_request.headers.get('Accept'), b'application/yaml') + request = self.http_stubber.requests[0] + self.assertEqual(request.method, 'GET') + self.assertEqual(request.headers.get('Accept'), b'application/yaml') diff -Nru python-botocore-1.4.70/tests/functional/test_client_class_names.py python-botocore-1.16.19+repack/tests/functional/test_client_class_names.py --- python-botocore-1.4.70/tests/functional/test_client_class_names.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_client_class_names.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,7 +10,7 @@ # 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 nose.tools import assert_equals +from nose.tools import assert_equal import botocore.session @@ -78,4 +78,4 @@ def _assert_class_name_matches_ref_class_name(client, ref_class_name): - assert_equals(client.__class__.__name__, ref_class_name) + assert_equal(client.__class__.__name__, ref_class_name) diff -Nru python-botocore-1.4.70/tests/functional/test_client_metadata.py python-botocore-1.16.19+repack/tests/functional/test_client_metadata.py --- python-botocore-1.4.70/tests/functional/test_client_metadata.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_client_metadata.py 2020-05-28 19:26:16.000000000 +0000 @@ -41,4 +41,4 @@ 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) + self.assertEqual(client.meta.partition, 'aws') diff -Nru python-botocore-1.4.70/tests/functional/test_cloudformation.py python-botocore-1.16.19+repack/tests/functional/test_cloudformation.py --- python-botocore-1.4.70/tests/functional/test_cloudformation.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_cloudformation.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,7 +11,6 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from tests.functional.docs import BaseDocsFunctionalTest -from botocore.docs.service import ServiceDocumenter class TestCloudFormationDocs(BaseDocsFunctionalTest): diff -Nru python-botocore-1.4.70/tests/functional/test_cloudsearchdomain.py python-botocore-1.16.19+repack/tests/functional/test_cloudsearchdomain.py --- python-botocore-1.4.70/tests/functional/test_cloudsearchdomain.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_cloudsearchdomain.py 2020-05-28 19:26:08.000000000 +0000 @@ -12,7 +12,7 @@ # language governing permissions and limitations under the License. import mock -from tests import BaseSessionTest +from tests import BaseSessionTest, ClientHTTPStubber class TestCloudsearchdomain(BaseSessionTest): @@ -21,15 +21,14 @@ self.region = 'us-west-2' self.client = self.session.create_client( 'cloudsearchdomain', self.region) + self.http_stubber = ClientHTTPStubber(self.client) def test_search(self): - with mock.patch('botocore.endpoint.Session.send') as _send: - _send.return_value = mock.Mock( - status_code=200, headers={}, content=b'{}') + self.http_stubber.add_response(body=b'{}') + with self.http_stubber: self.client.search(query='foo') - sent_request = _send.call_args[0][0] - self.assertEqual(sent_request.method, 'POST') - self.assertEqual( - sent_request.headers.get('Content-Type'), - b'application/x-www-form-urlencoded') - self.assertIn('q=foo', sent_request.body) + request = self.http_stubber.requests[0] + self.assertIn('q=foo', request.body) + self.assertEqual(request.method, 'POST') + content_type = b'application/x-www-form-urlencoded' + self.assertEqual(request.headers.get('Content-Type'), content_type) diff -Nru python-botocore-1.4.70/tests/functional/test_cognito_idp.py python-botocore-1.16.19+repack/tests/functional/test_cognito_idp.py --- python-botocore-1.4.70/tests/functional/test_cognito_idp.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_cognito_idp.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,120 @@ +# Copyright 2017 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. +import mock + +from nose.tools import assert_false + +from tests import create_session, ClientHTTPStubber + + +def test_unsigned_operations(): + operation_params = { + 'change_password': { + 'PreviousPassword': 'myoldbadpassword', + 'ProposedPassword': 'mynewgoodpassword', + 'AccessToken': 'foobar' + }, + 'confirm_forgot_password': { + 'ClientId': 'foo', + 'Username': 'myusername', + 'ConfirmationCode': 'thisismeforreal', + 'Password': 'whydowesendpasswordsviaemail' + }, + 'confirm_sign_up': { + 'ClientId': 'foo', + 'Username': 'myusername', + 'ConfirmationCode': 'ireallydowanttosignup' + }, + 'delete_user': { + 'AccessToken': 'foobar' + }, + 'delete_user_attributes': { + 'UserAttributeNames': ['myattribute'], + 'AccessToken': 'foobar' + }, + 'forgot_password': { + 'ClientId': 'foo', + 'Username': 'myusername' + }, + 'get_user': { + 'AccessToken': 'foobar' + }, + 'get_user_attribute_verification_code': { + 'AttributeName': 'myattribute', + 'AccessToken': 'foobar' + }, + 'resend_confirmation_code': { + 'ClientId': 'foo', + 'Username': 'myusername' + }, + 'set_user_settings': { + 'AccessToken': 'randomtoken', + 'MFAOptions': [{ + 'DeliveryMedium': 'SMS', + 'AttributeName': 'someattributename' + }] + }, + 'sign_up': { + 'ClientId': 'foo', + 'Username': 'bar', + 'Password': 'mysupersecurepassword', + }, + 'update_user_attributes': { + 'UserAttributes': [{ + 'Name': 'someattributename', + 'Value': 'newvalue' + }], + 'AccessToken': 'foobar' + }, + 'verify_user_attribute': { + 'AttributeName': 'someattributename', + 'Code': 'someverificationcode', + 'AccessToken': 'foobar' + }, + } + + environ = { + 'AWS_ACCESS_KEY_ID': 'access_key', + 'AWS_SECRET_ACCESS_KEY': 'secret_key', + 'AWS_CONFIG_FILE': 'no-exist-foo', + } + + with mock.patch('os.environ', environ): + session = create_session() + session.config_filename = 'no-exist-foo' + client = session.create_client('cognito-idp', 'us-west-2') + + for operation, params in operation_params.items(): + test_case = UnsignedOperationTestCase(client, operation, params) + yield test_case.run + + +class UnsignedOperationTestCase(object): + def __init__(self, client, operation_name, parameters): + self._client = client + self._operation_name = operation_name + self._parameters = parameters + self._http_stubber = ClientHTTPStubber(self._client) + + def run(self): + operation = getattr(self._client, self._operation_name) + + self._http_stubber.add_response(body=b'{}') + with self._http_stubber: + operation(**self._parameters) + request = self._http_stubber.requests[0] + + assert_false( + 'authorization' in request.headers, + 'authorization header found in unsigned operation' + ) diff -Nru python-botocore-1.4.70/tests/functional/test_credentials.py python-botocore-1.16.19+repack/tests/functional/test_credentials.py --- python-botocore-1.4.70/tests/functional/test_credentials.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_credentials.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,29 +10,39 @@ # 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, mock, IntegerRefresher -import datetime +import uuid import threading +import os import math import time +import mock +import tempfile +import shutil +from datetime import datetime, timedelta +import sys from dateutil.tz import tzlocal +from botocore.exceptions import CredentialRetrievalError -from botocore import credentials -from botocore import utils +from tests import unittest, IntegerRefresher, BaseEnvVar, random_chars +from tests import temporary_file, StubbedSession, SessionHTTPStubber +from botocore.credentials import EnvProvider, ContainerProvider +from botocore.credentials import InstanceMetadataProvider +from botocore.credentials import Credentials, ReadOnlyCredentials +from botocore.credentials import AssumeRoleProvider, ProfileProviderBuilder +from botocore.credentials import CanonicalNameCredentialSourcer +from botocore.credentials import DeferredRefreshableCredentials +from botocore.credentials import create_credential_resolver +from botocore.session import Session +from botocore.exceptions import InvalidConfigError, InfiniteLoopConfigError +from botocore.stub import Stubber +from botocore.awsrequest import AWSResponse class TestCredentialRefreshRaces(unittest.TestCase): def assert_consistent_credentials_seen(self, creds, func): collected = [] - threads = [] - for _ in range(20): - threads.append(threading.Thread(target=func, args=(collected,))) - start = time.time() - for thread in threads: - thread.start() - for thread in threads: - thread.join() + self._run_threads(20, func, collected) for creds in collected: # During testing, the refresher uses it's current # refresh count as the values for the access, secret, and @@ -57,6 +67,21 @@ # first refresh ('1'). self.assertTrue(creds[0] == creds[1] == creds[2], creds) + def assert_non_none_retrieved_credentials(self, func): + collected = [] + self._run_threads(50, func, collected) + for cred in collected: + self.assertIsNotNone(cred) + + def _run_threads(self, num_threads, func, collected): + threads = [] + for _ in range(num_threads): + threads.append(threading.Thread(target=func, args=(collected,))) + for thread in threads: + thread.start() + for thread in threads: + thread.join() + def test_has_no_race_conditions(self): creds = IntegerRefresher( creds_last_for=2, @@ -95,3 +120,736 @@ frozen.secret_key, frozen.token)) self.assert_consistent_credentials_seen(creds, _run_in_thread) + + def test_no_race_for_initial_refresh_of_deferred_refreshable(self): + def get_credentials(): + expiry_time = ( + datetime.now(tzlocal()) + timedelta(hours=24)).isoformat() + return { + 'access_key': 'my-access-key', + 'secret_key': 'my-secret-key', + 'token': 'my-token', + 'expiry_time': expiry_time + } + + deferred_creds = DeferredRefreshableCredentials( + get_credentials, 'fixed') + + def _run_in_thread(collected): + frozen = deferred_creds.get_frozen_credentials() + collected.append(frozen) + + self.assert_non_none_retrieved_credentials(_run_in_thread) + + +class BaseAssumeRoleTest(BaseEnvVar): + def setUp(self): + super(BaseAssumeRoleTest, self).setUp() + self.tempdir = tempfile.mkdtemp() + self.config_file = os.path.join(self.tempdir, 'config') + self.environ['AWS_CONFIG_FILE'] = self.config_file + self.environ['AWS_SHARED_CREDENTIALS_FILE'] = str(uuid.uuid4()) + + def tearDown(self): + shutil.rmtree(self.tempdir) + super(BaseAssumeRoleTest, self).tearDown() + + def some_future_time(self): + timeobj = datetime.now(tzlocal()) + return timeobj + timedelta(hours=24) + + def create_assume_role_response(self, credentials, expiration=None): + if expiration is None: + expiration = self.some_future_time() + + response = { + 'Credentials': { + 'AccessKeyId': credentials.access_key, + 'SecretAccessKey': credentials.secret_key, + 'SessionToken': credentials.token, + 'Expiration': expiration + }, + 'AssumedRoleUser': { + 'AssumedRoleId': 'myroleid', + 'Arn': 'arn:aws:iam::1234567890:user/myuser' + } + } + + return response + + def create_random_credentials(self): + return Credentials( + 'fake-%s' % random_chars(15), + 'fake-%s' % random_chars(35), + 'fake-%s' % random_chars(45) + ) + + def assert_creds_equal(self, c1, c2): + c1_frozen = c1 + if not isinstance(c1_frozen, ReadOnlyCredentials): + c1_frozen = c1.get_frozen_credentials() + c2_frozen = c2 + if not isinstance(c2_frozen, ReadOnlyCredentials): + c2_frozen = c2.get_frozen_credentials() + self.assertEqual(c1_frozen, c2_frozen) + + def write_config(self, config): + with open(self.config_file, 'w') as f: + f.write(config) + + +class TestAssumeRole(BaseAssumeRoleTest): + def setUp(self): + super(TestAssumeRole, self).setUp() + self.environ['AWS_ACCESS_KEY_ID'] = 'access_key' + self.environ['AWS_SECRET_ACCESS_KEY'] = 'secret_key' + + self.metadata_provider = self.mock_provider(InstanceMetadataProvider) + self.env_provider = self.mock_provider(EnvProvider) + self.container_provider = self.mock_provider(ContainerProvider) + self.mock_client_creator = mock.Mock(spec=Session.create_client) + self.actual_client_region = None + + current_dir = os.path.dirname(os.path.abspath(__file__)) + credential_process = os.path.join( + current_dir, 'utils', 'credentialprocess.py' + ) + self.credential_process = '%s %s' % ( + sys.executable, credential_process + ) + + def mock_provider(self, provider_cls): + mock_instance = mock.Mock(spec=provider_cls) + mock_instance.load.return_value = None + mock_instance.METHOD = provider_cls.METHOD + mock_instance.CANONICAL_NAME = provider_cls.CANONICAL_NAME + return mock_instance + + def create_session(self, profile=None): + session = StubbedSession(profile=profile) + + # We have to set bogus credentials here or otherwise we'll trigger + # an early credential chain resolution. + sts = session.create_client( + 'sts', + aws_access_key_id='spam', + aws_secret_access_key='eggs', + ) + self.mock_client_creator.return_value = sts + assume_role_provider = AssumeRoleProvider( + load_config=lambda: session.full_config, + client_creator=self.mock_client_creator, + cache={}, + profile_name=profile, + credential_sourcer=CanonicalNameCredentialSourcer([ + self.env_provider, self.container_provider, + self.metadata_provider + ]), + profile_provider_builder=ProfileProviderBuilder(session), + ) + stubber = session.stub('sts') + stubber.activate() + + component_name = 'credential_provider' + resolver = session.get_component(component_name) + available_methods = [p.METHOD for p in resolver.providers] + replacements = { + 'env': self.env_provider, + 'iam-role': self.metadata_provider, + 'container-role': self.container_provider, + 'assume-role': assume_role_provider + } + for name, provider in replacements.items(): + try: + index = available_methods.index(name) + except ValueError: + # The provider isn't in the session + continue + + resolver.providers[index] = provider + + session.register_component( + 'credential_provider', resolver + ) + return session, stubber + + def test_assume_role(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + stubber.assert_no_pending_responses() + + def test_environment_credential_source(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'credential_source = Environment\n' + ) + self.write_config(config) + + environment_creds = self.create_random_credentials() + self.env_provider.load.return_value = environment_creds + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + + stubber.assert_no_pending_responses() + self.assertEqual(self.env_provider.load.call_count, 1) + + def test_instance_metadata_credential_source(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'credential_source = Ec2InstanceMetadata\n' + ) + self.write_config(config) + + metadata_creds = self.create_random_credentials() + self.metadata_provider.load.return_value = metadata_creds + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + + stubber.assert_no_pending_responses() + self.assertEqual(self.metadata_provider.load.call_count, 1) + + def test_container_credential_source(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'credential_source = EcsContainer\n' + ) + self.write_config(config) + + container_creds = self.create_random_credentials() + self.container_provider.load.return_value = container_creds + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + + stubber.assert_no_pending_responses() + self.assertEqual(self.container_provider.load.call_count, 1) + + def test_invalid_credential_source(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'credential_source = CustomInvalidProvider\n' + ) + self.write_config(config) + + with self.assertRaises(InvalidConfigError): + session, _ = self.create_session(profile='A') + session.get_credentials() + + def test_misconfigured_source_profile(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n' + '[profile B]\n' + 'region = us-west-2\n' + ) + self.write_config(config) + + with self.assertRaises(InvalidConfigError): + session, _ = self.create_session(profile='A') + session.get_credentials().get_frozen_credentials() + + def test_recursive_assume_role(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleB\n' + 'source_profile = C\n\n' + '[profile C]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + + profile_b_creds = self.create_random_credentials() + profile_b_response = self.create_assume_role_response(profile_b_creds) + profile_a_creds = self.create_random_credentials() + profile_a_response = self.create_assume_role_response(profile_a_creds) + + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', profile_b_response) + stubber.add_response('assume_role', profile_a_response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, profile_a_creds) + stubber.assert_no_pending_responses() + + def test_recursive_assume_role_stops_at_static_creds(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + 'role_arn = arn:aws:iam::123456789:role/RoleB\n' + 'source_profile = C\n\n' + '[profile C]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + + profile_a_creds = self.create_random_credentials() + profile_a_response = self.create_assume_role_response(profile_a_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', profile_a_response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, profile_a_creds) + stubber.assert_no_pending_responses() + + def test_infinitely_recursive_assume_role(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = A\n' + ) + self.write_config(config) + + with self.assertRaises(InfiniteLoopConfigError): + session, _ = self.create_session(profile='A') + session.get_credentials() + + def test_process_source_profile(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n' + '[profile B]\n' + 'credential_process = %s\n' % self.credential_process + ) + self.write_config(config) + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + stubber.assert_no_pending_responses() + # Assert that the client was created with the credentials from the + # credential process. + self.assertEqual(self.mock_client_creator.call_count, 1) + _, kwargs = self.mock_client_creator.call_args_list[0] + expected_kwargs = { + 'aws_access_key_id': 'spam', + 'aws_secret_access_key': 'eggs', + 'aws_session_token': None, + } + self.assertEqual(kwargs, expected_kwargs) + + def test_web_identity_source_profile(self): + token_path = os.path.join(self.tempdir, 'token') + with open(token_path, 'w') as token_file: + token_file.write('a.token') + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n' + '[profile B]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleB\n' + 'web_identity_token_file = %s\n' % token_path + ) + self.write_config(config) + + session, stubber = self.create_session(profile='A') + + identity_creds = self.create_random_credentials() + identity_response = self.create_assume_role_response(identity_creds) + stubber.add_response( + 'assume_role_with_web_identity', + identity_response, + ) + + expected_creds = self.create_random_credentials() + assume_role_response = self.create_assume_role_response(expected_creds) + stubber.add_response('assume_role', assume_role_response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + stubber.assert_no_pending_responses() + # Assert that the client was created with the credentials from the + # assume role with web identity call. + self.assertEqual(self.mock_client_creator.call_count, 1) + _, kwargs = self.mock_client_creator.call_args_list[0] + expected_kwargs = { + 'aws_access_key_id': identity_creds.access_key, + 'aws_secret_access_key': identity_creds.secret_key, + 'aws_session_token': identity_creds.token, + } + self.assertEqual(kwargs, expected_kwargs) + + def test_web_identity_source_profile_ignores_env_vars(self): + token_path = os.path.join(self.tempdir, 'token') + with open(token_path, 'w') as token_file: + token_file.write('a.token') + self.environ['AWS_ROLE_ARN'] = 'arn:aws:iam::123456789:role/RoleB' + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n' + '[profile B]\n' + 'web_identity_token_file = %s\n' % token_path + ) + self.write_config(config) + + session, _ = self.create_session(profile='A') + # The config is split between the profile and the env, we + # should only be looking at the profile so this should raise + # a configuration error. + with self.assertRaises(InvalidConfigError): + session.get_credentials() + + def test_web_identity_credential_source_ignores_env_vars(self): + token_path = os.path.join(self.tempdir, 'token') + with open(token_path, 'w') as token_file: + token_file.write('a.token') + self.environ['AWS_ROLE_ARN'] = 'arn:aws:iam::123456789:role/RoleB' + self.environ['AWS_WEB_IDENTITY_TOKEN_FILE'] = token_path + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'credential_source = Environment\n' + ) + self.write_config(config) + + session, _ = self.create_session(profile='A') + # We should not get credentials from web-identity configured in the + # environment when the Environment credential_source is set. + # There are no Environment credentials, so this should raise a + # retrieval error. + with self.assertRaises(CredentialRetrievalError): + session.get_credentials() + + def test_self_referential_profile(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = A\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session, stubber = self.create_session(profile='A') + stubber.add_response('assume_role', response) + + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + stubber.assert_no_pending_responses() + + def create_stubbed_sts_client(self, session): + expected_creds = self.create_random_credentials() + _original_create_client = session.create_client + + def create_client_sts_stub(service, *args, **kwargs): + client = _original_create_client(service, *args, **kwargs) + stub = Stubber(client) + response = self.create_assume_role_response(expected_creds) + self.actual_client_region = client.meta.region_name + stub.add_response('assume_role', response) + stub.activate() + return client + + return create_client_sts_stub, expected_creds + + def test_assume_role_uses_correct_region(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + session = Session(profile='A') + # Verify that when we configure the session with a specific region + # that we use that region when creating the sts client. + session.set_config_variable('region', 'cn-north-1') + + create_client, expected_creds = self.create_stubbed_sts_client(session) + session.create_client = create_client + + resolver = create_credential_resolver(session) + provider = resolver.get_provider('assume-role') + creds = provider.load() + self.assert_creds_equal(creds, expected_creds) + self.assertEqual(self.actual_client_region, 'cn-north-1') + + +class TestAssumeRoleWithWebIdentity(BaseAssumeRoleTest): + def setUp(self): + super(TestAssumeRoleWithWebIdentity, self).setUp() + self.token_file = os.path.join(self.tempdir, 'token.jwt') + self.write_token('totally.a.token') + + def write_token(self, token, path=None): + if path is None: + path = self.token_file + with open(path, 'w') as f: + f.write(token) + + def assert_session_credentials(self, expected_params, **kwargs): + expected_creds = self.create_random_credentials() + response = self.create_assume_role_response(expected_creds) + session = StubbedSession(**kwargs) + stubber = session.stub('sts') + stubber.add_response( + 'assume_role_with_web_identity', + response, + expected_params + ) + stubber.activate() + actual_creds = session.get_credentials() + self.assert_creds_equal(actual_creds, expected_creds) + stubber.assert_no_pending_responses() + + def test_assume_role(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'role_session_name = sname\n' + 'web_identity_token_file = %s\n' + ) % self.token_file + self.write_config(config) + expected_params = { + 'RoleArn': 'arn:aws:iam::123456789:role/RoleA', + 'RoleSessionName': 'sname', + 'WebIdentityToken': 'totally.a.token', + } + self.assert_session_credentials(expected_params, profile='A') + + def test_assume_role_env_vars(self): + config = ( + '[profile B]\n' + 'region = us-west-2\n' + ) + self.write_config(config) + self.environ['AWS_ROLE_ARN'] = 'arn:aws:iam::123456789:role/RoleB' + self.environ['AWS_WEB_IDENTITY_TOKEN_FILE'] = self.token_file + self.environ['AWS_ROLE_SESSION_NAME'] = 'bname' + + expected_params = { + 'RoleArn': 'arn:aws:iam::123456789:role/RoleB', + 'RoleSessionName': 'bname', + 'WebIdentityToken': 'totally.a.token', + } + self.assert_session_credentials(expected_params) + + def test_assume_role_env_vars_do_not_take_precedence(self): + config = ( + '[profile A]\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'role_session_name = aname\n' + 'web_identity_token_file = %s\n' + ) % self.token_file + self.write_config(config) + + different_token = os.path.join(self.tempdir, str(uuid.uuid4())) + self.write_token('totally.different.token', path=different_token) + self.environ['AWS_ROLE_ARN'] = 'arn:aws:iam::123456789:role/RoleC' + self.environ['AWS_WEB_IDENTITY_TOKEN_FILE'] = different_token + self.environ['AWS_ROLE_SESSION_NAME'] = 'cname' + + expected_params = { + 'RoleArn': 'arn:aws:iam::123456789:role/RoleA', + 'RoleSessionName': 'aname', + 'WebIdentityToken': 'totally.a.token', + } + self.assert_session_credentials(expected_params, profile='A') + + +class TestProcessProvider(unittest.TestCase): + def setUp(self): + current_dir = os.path.dirname(os.path.abspath(__file__)) + credential_process = os.path.join( + current_dir, 'utils', 'credentialprocess.py' + ) + self.credential_process = '%s %s' % ( + sys.executable, credential_process + ) + self.environ = os.environ.copy() + self.environ_patch = mock.patch('os.environ', self.environ) + self.environ_patch.start() + + def tearDown(self): + self.environ_patch.stop() + + def test_credential_process(self): + config = ( + '[profile processcreds]\n' + 'credential_process = %s\n' + ) + config = config % self.credential_process + with temporary_file('w') as f: + f.write(config) + f.flush() + self.environ['AWS_CONFIG_FILE'] = f.name + + credentials = Session(profile='processcreds').get_credentials() + self.assertEqual(credentials.access_key, 'spam') + self.assertEqual(credentials.secret_key, 'eggs') + + def test_credential_process_returns_error(self): + config = ( + '[profile processcreds]\n' + 'credential_process = %s --raise-error\n' + ) + config = config % self.credential_process + with temporary_file('w') as f: + f.write(config) + f.flush() + self.environ['AWS_CONFIG_FILE'] = f.name + + session = Session(profile='processcreds') + + # This regex validates that there is no substring: b' + # The reason why we want to validate that is that we want to + # make sure that stderr is actually decoded so that in + # exceptional cases the error is properly formatted. + # As for how the regex works: + # `(?!b').` is a negative lookahead, meaning that it will only + # match if it is not followed by the pattern `b'`. Since it is + # followed by a `.` it will match any character not followed by + # that pattern. `((?!hede).)*` does that zero or more times. The + # final pattern adds `^` and `$` to anchor the beginning and end + # of the string so we can know the whole string is consumed. + # Finally `(?s)` at the beginning makes dots match newlines so + # we can handle a multi-line string. + reg = r"(?s)^((?!b').)*$" + with self.assertRaisesRegexp(CredentialRetrievalError, reg): + session.get_credentials() + + +class TestSTSRegional(BaseAssumeRoleTest): + def add_assume_role_http_response(self, stubber): + stubber.add_response( + body=self._get_assume_role_body('AssumeRole')) + + def add_assume_role_with_web_identity_http_response(self, stubber): + stubber.add_response( + body=self._get_assume_role_body('AssumeRoleWithWebIdentity')) + + def _get_assume_role_body(self, method_name): + expiration = self.some_future_time() + body = ( + '<{method_name}Response>' + ' <{method_name}Result>' + ' ' + ' arn:aws:sts::0123456:user' + ' AKID:mysession-1567020004' + ' ' + ' ' + ' AccessKey' + ' SecretKey' + ' SessionToken' + ' {expiration}' + ' ' + ' ' + '' + ).format(method_name=method_name, expiration=expiration) + return body.encode('utf-8') + + def make_stubbed_client_call_to_region(self, session, stubber, region): + ec2 = session.create_client('ec2', region_name=region) + stubber.add_response(body=b'') + ec2.describe_regions() + + def test_assume_role_uses_same_region_as_client(self): + config = ( + '[profile A]\n' + 'sts_regional_endpoints = regional\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' + ) + self.write_config(config) + + session = Session(profile='A') + with SessionHTTPStubber(session) as stubber: + self.add_assume_role_http_response(stubber) + # Make an arbitrary client and API call as we are really only + # looking to make sure the STS assume role call uses the correct + # endpoint. + self.make_stubbed_client_call_to_region( + session, stubber, 'us-west-2') + self.assertEqual( + stubber.requests[0].url, + 'https://sts.us-west-2.amazonaws.com/' + ) + + def test_assume_role_web_identity_uses_same_region_as_client(self): + token_file = os.path.join(self.tempdir, 'token.jwt') + with open(token_file, 'w') as f: + f.write('some-token') + config = ( + '[profile A]\n' + 'sts_regional_endpoints = regional\n' + 'role_arn = arn:aws:iam::123456789:role/RoleA\n' + 'web_identity_token_file = %s\n' + 'source_profile = B\n\n' + '[profile B]\n' + 'aws_access_key_id = abc123\n' + 'aws_secret_access_key = def456\n' % token_file + ) + self.write_config(config) + # Make an arbitrary client and API call as we are really only + # looking to make sure the STS assume role call uses the correct + # endpoint. + session = Session(profile='A') + with SessionHTTPStubber(session) as stubber: + self.add_assume_role_with_web_identity_http_response(stubber) + # Make an arbitrary client and API call as we are really only + # looking to make sure the STS assume role call uses the correct + # endpoint. + self.make_stubbed_client_call_to_region( + session, stubber, 'us-west-2') + self.assertEqual( + stubber.requests[0].url, + 'https://sts.us-west-2.amazonaws.com/' + ) diff -Nru python-botocore-1.4.70/tests/functional/test_dynamodb.py python-botocore-1.16.19+repack/tests/functional/test_dynamodb.py --- python-botocore-1.4.70/tests/functional/test_dynamodb.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_dynamodb.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,63 @@ +# Copyright 2018 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 BaseSessionTest, ClientHTTPStubber + +from botocore.config import Config +from botocore.compat import json + + +class TestDynamoDBEndpointDiscovery(BaseSessionTest): + def setUp(self): + super(TestDynamoDBEndpointDiscovery, self).setUp() + self.region = 'us-west-2' + self.config = Config(endpoint_discovery_enabled=True) + self.create_client() + + def create_client(self): + self.client = self.session.create_client( + 'dynamodb', self.region, config=self.config + ) + self.http_stubber = ClientHTTPStubber(self.client) + + def test_dynamodb_endpoint_discovery_enabled(self): + discovered_endpoint = 'https://discovered.domain' + response = { + 'Endpoints': [{ + 'Address': discovered_endpoint, + 'CachePeriodInMinutes': 1, + }] + } + response_body = json.dumps(response).encode() + with self.http_stubber as stubber: + stubber.add_response(status=200, body=response_body) + stubber.add_response(status=200, body=b'{}') + self.client.describe_table(TableName='sometable') + self.assertEqual(len(self.http_stubber.requests), 2) + discover_request = self.http_stubber.requests[1] + self.assertEqual(discover_request.url, discovered_endpoint) + + def test_dynamodb_endpoint_discovery_disabled(self): + self.config = Config(endpoint_discovery_enabled=False) + self.create_client() + with self.http_stubber as stubber: + stubber.add_response(status=200, body=b'{}') + self.client.describe_table(TableName='sometable') + self.assertEqual(len(self.http_stubber.requests), 1) + + def test_dynamodb_endpoint_discovery_no_config_default(self): + self.config = None + self.create_client() + with self.http_stubber as stubber: + stubber.add_response(status=200, body=b'{}') + self.client.describe_table(TableName='sometable') + self.assertEqual(len(self.http_stubber.requests), 1) diff -Nru python-botocore-1.4.70/tests/functional/test_ec2.py python-botocore-1.16.19+repack/tests/functional/test_ec2.py --- python-botocore-1.4.70/tests/functional/test_ec2.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_ec2.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,135 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import datetime +import mock + +from tests import unittest, ClientHTTPStubber, BaseSessionTest +from botocore.compat import parse_qs, urlparse +from botocore.stub import Stubber, ANY +import botocore.session + + +class TestIdempotencyToken(unittest.TestCase): + def setUp(self): + self.function_name = 'purchase_scheduled_instances' + self.region = 'us-west-2' + self.session = botocore.session.get_session() + self.client = self.session.create_client( + 'ec2', self.region) + self.stubber = Stubber(self.client) + self.service_response = {} + self.params_seen = [] + + # Record all the parameters that get seen + self.client.meta.events.register_first( + 'before-call.*.*', + self.collect_params, + unique_id='TestIdempotencyToken') + + def collect_params(self, model, params, *args, **kwargs): + self.params_seen.extend(params['body'].keys()) + + def test_provided_idempotency_token(self): + expected_params = { + 'PurchaseRequests': [ + {'PurchaseToken': 'foo', + 'InstanceCount': 123}], + 'ClientToken': ANY + } + self.stubber.add_response( + self.function_name, self.service_response, expected_params) + + with self.stubber: + self.client.purchase_scheduled_instances( + PurchaseRequests=[{'PurchaseToken': 'foo', + 'InstanceCount': 123}], + ClientToken='foobar') + self.assertIn('ClientToken', self.params_seen) + + def test_insert_idempotency_token(self): + expected_params = { + 'PurchaseRequests': [ + {'PurchaseToken': 'foo', + 'InstanceCount': 123}], + } + + self.stubber.add_response( + self.function_name, self.service_response, expected_params) + + with self.stubber: + self.client.purchase_scheduled_instances( + PurchaseRequests=[{'PurchaseToken': 'foo', + 'InstanceCount': 123}]) + self.assertIn('ClientToken', self.params_seen) + + +class TestCopySnapshotCustomization(BaseSessionTest): + def setUp(self): + super(TestCopySnapshotCustomization, self).setUp() + self.session = botocore.session.get_session() + self.client = self.session.create_client('ec2', 'us-east-1') + self.http_stubber = ClientHTTPStubber(self.client) + self.snapshot_id = 'snap-0123abc' + self.copy_response = ( + '\n' + '\n' + '%s\n' + '\n' + ) + self.now = datetime.datetime(2011, 9, 9, 23, 36) + self.datetime_patch = mock.patch.object( + botocore.auth.datetime, 'datetime', + mock.Mock(wraps=datetime.datetime) + ) + self.mocked_datetime = self.datetime_patch.start() + self.mocked_datetime.utcnow.return_value = self.now + + def tearDown(self): + super(TestCopySnapshotCustomization, self).tearDown() + self.datetime_patch.stop() + + def add_copy_snapshot_response(self, snapshot_id): + body = (self.copy_response % snapshot_id).encode('utf-8') + self.http_stubber.add_response(body=body) + + def test_copy_snapshot_injects_presigned_url(self): + self.add_copy_snapshot_response(self.snapshot_id) + with self.http_stubber: + result = self.client.copy_snapshot( + SourceRegion='us-west-2', + SourceSnapshotId=self.snapshot_id, + ) + self.assertEqual(result['SnapshotId'], self.snapshot_id) + self.assertEqual(len(self.http_stubber.requests), 1) + snapshot_request = self.http_stubber.requests[0] + body = parse_qs(snapshot_request.body) + self.assertIn('PresignedUrl', body) + presigned_url = urlparse(body['PresignedUrl'][0]) + self.assertEqual(presigned_url.scheme, 'https') + self.assertEqual(presigned_url.netloc, 'ec2.us-west-2.amazonaws.com') + query_args = parse_qs(presigned_url.query) + self.assertEqual(query_args['Action'], ['CopySnapshot']) + self.assertEqual(query_args['Version'], ['2016-11-15']) + self.assertEqual(query_args['SourceRegion'], ['us-west-2']) + self.assertEqual(query_args['DestinationRegion'], ['us-east-1']) + self.assertEqual(query_args['SourceSnapshotId'], [self.snapshot_id]) + self.assertEqual(query_args['X-Amz-Algorithm'], ['AWS4-HMAC-SHA256']) + expected_credential = 'access_key/20110909/us-west-2/ec2/aws4_request' + self.assertEqual(query_args['X-Amz-Credential'], [expected_credential]) + self.assertEqual(query_args['X-Amz-Date'], ['20110909T233600Z']) + self.assertEqual(query_args['X-Amz-Expires'], ['3600']) + self.assertEqual(query_args['X-Amz-SignedHeaders'], ['host']) + expected_signature = ( + 'a94a6b52afdf3daa34c2e2a38a62b72c8dac129c9904c61aa1a5d86e38628537' + ) + self.assertEqual(query_args['X-Amz-Signature'], [expected_signature]) diff -Nru python-botocore-1.4.70/tests/functional/test_endpoints.py python-botocore-1.16.19+repack/tests/functional/test_endpoints.py --- python-botocore-1.4.70/tests/functional/test_endpoints.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_endpoints.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,173 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from nose.tools import assert_equal +from botocore.session import get_session + + +SERVICE_RENAMES = { + # Actual service name we use -> Allowed computed service name. + 'alexaforbusiness': 'alexa-for-business', + 'apigateway': 'api-gateway', + 'application-autoscaling': 'application-auto-scaling', + 'appmesh': 'app-mesh', + 'autoscaling': 'auto-scaling', + 'autoscaling-plans': 'auto-scaling-plans', + 'ce': 'cost-explorer', + 'cloudhsmv2': 'cloudhsm-v2', + 'cloudsearchdomain': 'cloudsearch-domain', + 'cognito-idp': 'cognito-identity-provider', + 'config': 'config-service', + 'cur': 'cost-and-usage-report-service', + 'datapipeline': 'data-pipeline', + 'directconnect': 'direct-connect', + 'devicefarm': 'device-farm', + 'discovery': 'application-discovery-service', + 'dms': 'database-migration-service', + 'ds': 'directory-service', + 'dynamodbstreams': 'dynamodb-streams', + 'elasticbeanstalk': 'elastic-beanstalk', + 'elastictranscoder': 'elastic-transcoder', + 'elb': 'elastic-load-balancing', + 'elbv2': 'elastic-load-balancing-v2', + 'es': 'elasticsearch-service', + 'events': 'eventbridge', + 'globalaccelerator': 'global-accelerator', + 'iot-data': 'iot-data-plane', + 'iot-jobs-data': 'iot-jobs-data-plane', + 'iot1click-devices': 'iot-1click-devices-service', + 'iot1click-projects': 'iot-1click-projects', + 'iotevents-data': 'iot-events-data', + 'iotevents': 'iot-events', + 'kinesisanalytics': 'kinesis-analytics', + 'kinesisanalyticsv2': 'kinesis-analytics-v2', + 'kinesisvideo': 'kinesis-video', + 'lex-models': 'lex-model-building-service', + 'lex-runtime': 'lex-runtime-service', + 'logs': 'cloudwatch-logs', + 'machinelearning': 'machine-learning', + 'marketplacecommerceanalytics': 'marketplace-commerce-analytics', + 'marketplace-entitlement': 'marketplace-entitlement-service', + 'meteringmarketplace': 'marketplace-metering', + 'mgh': 'migration-hub', + 'sms-voice': 'pinpoint-sms-voice', + 'resourcegroupstaggingapi': 'resource-groups-tagging-api', + 'route53': 'route-53', + 'route53domains': 'route-53-domains', + 's3control': 's3-control', + 'sdb': 'simpledb', + 'secretsmanager': 'secrets-manager', + 'serverlessrepo': 'serverlessapplicationrepository', + 'servicecatalog': 'service-catalog', + 'stepfunctions': 'sfn', + 'storagegateway': 'storage-gateway', +} + + +ENDPOINT_PREFIX_OVERRIDE = { + # entry in endpoints.json -> actual endpoint prefix. + # The autoscaling-* services actually send requests to the + # autoscaling service, but they're exposed as separate clients + # in botocore. + 'autoscaling-plans': 'autoscaling', + 'application-autoscaling': 'autoscaling', + # For neptune, we send requests to the RDS endpoint. + 'neptune': 'rds', + 'docdb': 'rds', + # iotevents data endpoints.json and service-2.json don't line up. + 'ioteventsdata': 'data.iotevents', + 'iotsecuredtunneling': 'api.tunneling.iot', +} +NOT_SUPPORTED_IN_SDK = [ + 'mobileanalytics', + 'transcribestreaming', +] + + +def test_endpoint_matches_service(): + # This verifies client names match up with data from the endpoints.json + # file. We want to verify that every entry in the endpoints.json + # file corresponds to a client we can construct via + # session.create_client(...). + # So first we get a list of all the service names in the endpoints + # file. + session = get_session() + loader = session.get_component('data_loader') + endpoints = loader.load_data('endpoints') + # A service can be in multiple partitions so we're using + # a set here to remove dupes. + services_in_endpoints_file = set([]) + for partition in endpoints['partitions']: + for service in partition['services']: + # There are some services we don't support in the SDK + # so we don't need to add them to the list of services + # we need to check. + if service not in NOT_SUPPORTED_IN_SDK: + services_in_endpoints_file.add(service) + + # Now we need to cross check them against services we know about. + # The entries in endpoints.json are keyed off of the endpoint + # prefix. We don't directly have that data, so we have to load + # every service model and look up its endpoint prefix in its + # ``metadata`` section. + known_services = loader.list_available_services('service-2') + known_endpoint_prefixes = [ + session.get_service_model(service_name).endpoint_prefix + for service_name in known_services + ] + + # Now we go through every known endpoint prefix in the endpoints.json + # file and ensure it maps to an endpoint prefix we've seen + # in a service model. + for endpoint_prefix in services_in_endpoints_file: + # Check for an override where we know that an entry + # in the endpoints.json actually maps to a different endpoint + # prefix. + endpoint_prefix = ENDPOINT_PREFIX_OVERRIDE.get(endpoint_prefix, + endpoint_prefix) + yield (_assert_known_endpoint_prefix, + endpoint_prefix, + known_endpoint_prefixes) + + +def _assert_known_endpoint_prefix(endpoint_prefix, known_endpoint_prefixes): + assert endpoint_prefix in known_endpoint_prefixes + + +def test_service_name_matches_endpoint_prefix(): + # Generates tests for each service to verify that the computed service + # named based on the service id matches the service name used to + # create a client (i.e the directory name in botocore/data) + # unless there is an explicit exception. + session = get_session() + loader = session.get_component('data_loader') + + # Load the list of available services. The names here represent what + # will become the client names. + services = loader.list_available_services('service-2') + + for service in services: + yield _assert_service_name_matches_endpoint_prefix, session, service + + +def _assert_service_name_matches_endpoint_prefix(session, service_name): + service_model = session.get_service_model(service_name) + computed_name = service_model.service_id.replace(' ', '-').lower() + + # Handle known exceptions where we have renamed the service directory + # for one reason or another. + actual_service_name = SERVICE_RENAMES.get(service_name, service_name) + assert_equal( + computed_name, actual_service_name, + "Actual service name `%s` does not match expected service name " + "we computed: `%s`" % ( + actual_service_name, computed_name)) diff -Nru python-botocore-1.4.70/tests/functional/test_event_alias.py python-botocore-1.16.19+repack/tests/functional/test_event_alias.py --- python-botocore-1.4.70/tests/functional/test_event_alias.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_event_alias.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,608 @@ +from botocore.session import Session + + +# The list of services which were available when we switched over from using +# endpoint prefix in event to using service id. These should all accept +# either. +SERVICES = { + "acm": { + "endpoint_prefix": "acm", + "service_id": "acm" + }, + "acm-pca": { + "endpoint_prefix": "acm-pca", + "service_id": "acm-pca" + }, + "alexaforbusiness": { + "endpoint_prefix": "a4b", + "service_id": "alexa-for-business" + }, + "apigateway": { + "endpoint_prefix": "apigateway", + "service_id": "api-gateway" + }, + "application-autoscaling": { + "service_id": "application-auto-scaling" + }, + "appstream": { + "endpoint_prefix": "appstream2", + "service_id": "appstream" + }, + "appsync": { + "endpoint_prefix": "appsync", + "service_id": "appsync" + }, + "athena": { + "endpoint_prefix": "athena", + "service_id": "athena" + }, + "autoscaling": { + "endpoint_prefix": "autoscaling", + "service_id": "auto-scaling" + }, + "autoscaling-plans": { + "service_id": "auto-scaling-plans" + }, + "batch": { + "endpoint_prefix": "batch", + "service_id": "batch" + }, + "budgets": { + "endpoint_prefix": "budgets", + "service_id": "budgets" + }, + "ce": { + "endpoint_prefix": "ce", + "service_id": "cost-explorer" + }, + "cloud9": { + "endpoint_prefix": "cloud9", + "service_id": "cloud9" + }, + "clouddirectory": { + "endpoint_prefix": "clouddirectory", + "service_id": "clouddirectory" + }, + "cloudformation": { + "endpoint_prefix": "cloudformation", + "service_id": "cloudformation" + }, + "cloudfront": { + "endpoint_prefix": "cloudfront", + "service_id": "cloudfront" + }, + "cloudhsm": { + "endpoint_prefix": "cloudhsm", + "service_id": "cloudhsm" + }, + "cloudhsmv2": { + "endpoint_prefix": "cloudhsmv2", + "service_id": "cloudhsm-v2" + }, + "cloudsearch": { + "endpoint_prefix": "cloudsearch", + "service_id": "cloudsearch" + }, + "cloudsearchdomain": { + "endpoint_prefix": "cloudsearchdomain", + "service_id": "cloudsearch-domain" + }, + "cloudtrail": { + "endpoint_prefix": "cloudtrail", + "service_id": "cloudtrail" + }, + "cloudwatch": { + "endpoint_prefix": "monitoring", + "service_id": "cloudwatch" + }, + "codebuild": { + "endpoint_prefix": "codebuild", + "service_id": "codebuild" + }, + "codecommit": { + "endpoint_prefix": "codecommit", + "service_id": "codecommit" + }, + "codedeploy": { + "endpoint_prefix": "codedeploy", + "service_id": "codedeploy" + }, + "codepipeline": { + "endpoint_prefix": "codepipeline", + "service_id": "codepipeline" + }, + "codestar": { + "endpoint_prefix": "codestar", + "service_id": "codestar" + }, + "cognito-identity": { + "endpoint_prefix": "cognito-identity", + "service_id": "cognito-identity" + }, + "cognito-idp": { + "endpoint_prefix": "cognito-idp", + "service_id": "cognito-identity-provider" + }, + "cognito-sync": { + "endpoint_prefix": "cognito-sync", + "service_id": "cognito-sync" + }, + "comprehend": { + "endpoint_prefix": "comprehend", + "service_id": "comprehend" + }, + "config": { + "endpoint_prefix": "config", + "service_id": "config-service" + }, + "connect": { + "endpoint_prefix": "connect", + "service_id": "connect" + }, + "cur": { + "endpoint_prefix": "cur", + "service_id": "cost-and-usage-report-service" + }, + "datapipeline": { + "endpoint_prefix": "datapipeline", + "service_id": "data-pipeline" + }, + "dax": { + "endpoint_prefix": "dax", + "service_id": "dax" + }, + "devicefarm": { + "endpoint_prefix": "devicefarm", + "service_id": "device-farm" + }, + "directconnect": { + "endpoint_prefix": "directconnect", + "service_id": "direct-connect" + }, + "discovery": { + "endpoint_prefix": "discovery", + "service_id": "application-discovery-service" + }, + "dlm": { + "endpoint_prefix": "dlm", + "service_id": "dlm" + }, + "dms": { + "endpoint_prefix": "dms", + "service_id": "database-migration-service" + }, + "ds": { + "endpoint_prefix": "ds", + "service_id": "directory-service" + }, + "dynamodb": { + "endpoint_prefix": "dynamodb", + "service_id": "dynamodb" + }, + "dynamodbstreams": { + "endpoint_prefix": "streams.dynamodb", + "service_id": "dynamodb-streams" + }, + "ec2": { + "endpoint_prefix": "ec2", + "service_id": "ec2" + }, + "ecr": { + "endpoint_prefix": "ecr", + "service_id": "ecr" + }, + "ecs": { + "endpoint_prefix": "ecs", + "service_id": "ecs" + }, + "efs": { + "endpoint_prefix": "elasticfilesystem", + "service_id": "efs" + }, + "eks": { + "endpoint_prefix": "eks", + "service_id": "eks" + }, + "elasticache": { + "endpoint_prefix": "elasticache", + "service_id": "elasticache" + }, + "elasticbeanstalk": { + "endpoint_prefix": "elasticbeanstalk", + "service_id": "elastic-beanstalk" + }, + "elastictranscoder": { + "endpoint_prefix": "elastictranscoder", + "service_id": "elastic-transcoder" + }, + "elb": { + "endpoint_prefix": "elasticloadbalancing", + "service_id": "elastic-load-balancing" + }, + "elbv2": { + "service_id": "elastic-load-balancing-v2" + }, + "emr": { + "endpoint_prefix": "elasticmapreduce", + "service_id": "emr" + }, + "es": { + "endpoint_prefix": "es", + "service_id": "elasticsearch-service" + }, + "events": { + "endpoint_prefix": "events", + "service_id": "cloudwatch-events" + }, + "firehose": { + "endpoint_prefix": "firehose", + "service_id": "firehose" + }, + "fms": { + "endpoint_prefix": "fms", + "service_id": "fms" + }, + "gamelift": { + "endpoint_prefix": "gamelift", + "service_id": "gamelift" + }, + "glacier": { + "endpoint_prefix": "glacier", + "service_id": "glacier" + }, + "glue": { + "endpoint_prefix": "glue", + "service_id": "glue" + }, + "greengrass": { + "endpoint_prefix": "greengrass", + "service_id": "greengrass" + }, + "guardduty": { + "endpoint_prefix": "guardduty", + "service_id": "guardduty" + }, + "health": { + "endpoint_prefix": "health", + "service_id": "health" + }, + "iam": { + "endpoint_prefix": "iam", + "service_id": "iam" + }, + "importexport": { + "endpoint_prefix": "importexport", + "service_id": "importexport" + }, + "inspector": { + "endpoint_prefix": "inspector", + "service_id": "inspector" + }, + "iot": { + "endpoint_prefix": "iot", + "service_id": "iot" + }, + "iot-data": { + "endpoint_prefix": "data.iot", + "service_id": "iot-data-plane" + }, + "iot-jobs-data": { + "endpoint_prefix": "data.jobs.iot", + "service_id": "iot-jobs-data-plane" + }, + "iot1click-devices": { + "endpoint_prefix": "devices.iot1click", + "service_id": "iot-1click-devices-service" + }, + "iot1click-projects": { + "endpoint_prefix": "projects.iot1click", + "service_id": "iot-1click-projects" + }, + "iotanalytics": { + "endpoint_prefix": "iotanalytics", + "service_id": "iotanalytics" + }, + "kinesis": { + "endpoint_prefix": "kinesis", + "service_id": "kinesis" + }, + "kinesis-video-archived-media": { + "service_id": "kinesis-video-archived-media" + }, + "kinesis-video-media": { + "service_id": "kinesis-video-media" + }, + "kinesisanalytics": { + "endpoint_prefix": "kinesisanalytics", + "service_id": "kinesis-analytics" + }, + "kinesisvideo": { + "endpoint_prefix": "kinesisvideo", + "service_id": "kinesis-video" + }, + "kms": { + "endpoint_prefix": "kms", + "service_id": "kms" + }, + "lambda": { + "endpoint_prefix": "lambda", + "service_id": "lambda" + }, + "lex-models": { + "endpoint_prefix": "models.lex", + "service_id": "lex-model-building-service" + }, + "lex-runtime": { + "endpoint_prefix": "runtime.lex", + "service_id": "lex-runtime-service" + }, + "lightsail": { + "endpoint_prefix": "lightsail", + "service_id": "lightsail" + }, + "logs": { + "endpoint_prefix": "logs", + "service_id": "cloudwatch-logs" + }, + "machinelearning": { + "endpoint_prefix": "machinelearning", + "service_id": "machine-learning" + }, + "macie": { + "endpoint_prefix": "macie", + "service_id": "macie" + }, + "marketplace-entitlement": { + "endpoint_prefix": "entitlement.marketplace", + "service_id": "marketplace-entitlement-service" + }, + "marketplacecommerceanalytics": { + "endpoint_prefix": "marketplacecommerceanalytics", + "service_id": "marketplace-commerce-analytics" + }, + "mediaconvert": { + "endpoint_prefix": "mediaconvert", + "service_id": "mediaconvert" + }, + "medialive": { + "endpoint_prefix": "medialive", + "service_id": "medialive" + }, + "mediapackage": { + "endpoint_prefix": "mediapackage", + "service_id": "mediapackage" + }, + "mediastore": { + "endpoint_prefix": "mediastore", + "service_id": "mediastore" + }, + "mediastore-data": { + "endpoint_prefix": "data.mediastore", + "service_id": "mediastore-data" + }, + "mediatailor": { + "endpoint_prefix": "api.mediatailor", + "service_id": "mediatailor" + }, + "meteringmarketplace": { + "endpoint_prefix": "metering.marketplace", + "service_id": "marketplace-metering" + }, + "mgh": { + "endpoint_prefix": "mgh", + "service_id": "migration-hub" + }, + "mobile": { + "endpoint_prefix": "mobile", + "service_id": "mobile" + }, + "mq": { + "endpoint_prefix": "mq", + "service_id": "mq" + }, + "mturk": { + "endpoint_prefix": "mturk-requester", + "service_id": "mturk" + }, + "neptune": { + "service_id": "neptune" + }, + "opsworks": { + "endpoint_prefix": "opsworks", + "service_id": "opsworks" + }, + "opsworkscm": { + "endpoint_prefix": "opsworks-cm", + "service_id": "opsworkscm" + }, + "organizations": { + "endpoint_prefix": "organizations", + "service_id": "organizations" + }, + "pi": { + "endpoint_prefix": "pi", + "service_id": "pi" + }, + "pinpoint": { + "endpoint_prefix": "pinpoint", + "service_id": "pinpoint" + }, + "polly": { + "endpoint_prefix": "polly", + "service_id": "polly" + }, + "pricing": { + "endpoint_prefix": "api.pricing", + "service_id": "pricing" + }, + "rds": { + "endpoint_prefix": "rds", + "service_id": "rds" + }, + "redshift": { + "endpoint_prefix": "redshift", + "service_id": "redshift" + }, + "rekognition": { + "endpoint_prefix": "rekognition", + "service_id": "rekognition" + }, + "resource-groups": { + "endpoint_prefix": "resource-groups", + "service_id": "resource-groups" + }, + "resourcegroupstaggingapi": { + "endpoint_prefix": "tagging", + "service_id": "resource-groups-tagging-api" + }, + "route53": { + "endpoint_prefix": "route53", + "service_id": "route-53" + }, + "route53domains": { + "endpoint_prefix": "route53domains", + "service_id": "route-53-domains" + }, + "s3": { + "endpoint_prefix": "s3", + "service_id": "s3" + }, + "sagemaker": { + "endpoint_prefix": "api.sagemaker", + "service_id": "sagemaker" + }, + "sagemaker-runtime": { + "endpoint_prefix": "runtime.sagemaker", + "service_id": "sagemaker-runtime" + }, + "sdb": { + "endpoint_prefix": "sdb", + "service_id": "simpledb" + }, + "secretsmanager": { + "endpoint_prefix": "secretsmanager", + "service_id": "secrets-manager" + }, + "serverlessrepo": { + "endpoint_prefix": "serverlessrepo", + "service_id": "serverlessapplicationrepository" + }, + "servicecatalog": { + "endpoint_prefix": "servicecatalog", + "service_id": "service-catalog" + }, + "servicediscovery": { + "endpoint_prefix": "servicediscovery", + "service_id": "servicediscovery" + }, + "ses": { + "endpoint_prefix": "email", + "service_id": "ses" + }, + "shield": { + "endpoint_prefix": "shield", + "service_id": "shield" + }, + "sms": { + "endpoint_prefix": "sms", + "service_id": "sms" + }, + "snowball": { + "endpoint_prefix": "snowball", + "service_id": "snowball" + }, + "sns": { + "endpoint_prefix": "sns", + "service_id": "sns" + }, + "sqs": { + "endpoint_prefix": "sqs", + "service_id": "sqs" + }, + "ssm": { + "endpoint_prefix": "ssm", + "service_id": "ssm" + }, + "stepfunctions": { + "endpoint_prefix": "states", + "service_id": "sfn" + }, + "storagegateway": { + "endpoint_prefix": "storagegateway", + "service_id": "storage-gateway" + }, + "sts": { + "endpoint_prefix": "sts", + "service_id": "sts" + }, + "support": { + "endpoint_prefix": "support", + "service_id": "support" + }, + "swf": { + "endpoint_prefix": "swf", + "service_id": "swf" + }, + "transcribe": { + "endpoint_prefix": "transcribe", + "service_id": "transcribe" + }, + "translate": { + "endpoint_prefix": "translate", + "service_id": "translate" + }, + "waf": { + "endpoint_prefix": "waf", + "service_id": "waf" + }, + "waf-regional": { + "endpoint_prefix": "waf-regional", + "service_id": "waf-regional" + }, + "workdocs": { + "endpoint_prefix": "workdocs", + "service_id": "workdocs" + }, + "workmail": { + "endpoint_prefix": "workmail", + "service_id": "workmail" + }, + "workspaces": { + "endpoint_prefix": "workspaces", + "service_id": "workspaces" + }, + "xray": { + "endpoint_prefix": "xray", + "service_id": "xray" + } +} + + +def test_event_alias(): + for client_name in SERVICES.keys(): + endpoint_prefix = SERVICES[client_name].get('endpoint_prefix') + service_id = SERVICES[client_name]['service_id'] + if endpoint_prefix is not None: + yield _assert_handler_called, client_name, endpoint_prefix + yield _assert_handler_called, client_name, service_id + yield _assert_handler_called, client_name, client_name + + +def _assert_handler_called(client_name, event_part): + hook_calls = [] + + def _hook(**kwargs): + hook_calls.append(kwargs['event_name']) + + session = _get_session() + session.register('creating-client-class.%s' % event_part, _hook) + session.create_client(client_name) + assert len(hook_calls) == 1 + + +def _get_session(): + session = Session() + session.set_credentials('foo', 'bar') + session.set_config_variable('region', 'us-west-2') + session.config_filename = 'no-exist-foo' + return session diff -Nru python-botocore-1.4.70/tests/functional/test_events.py python-botocore-1.16.19+repack/tests/functional/test_events.py --- python-botocore-1.4.70/tests/functional/test_events.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_events.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,85 @@ +# Copyright 2018 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 mock, BaseSessionTest + + +class RecordingHandler(object): + def __init__(self): + self.recorded_events = [] + + def record(self, event_name, **kwargs): + self.recorded_events.append((event_name, kwargs)) + + +class TestClientEvents(BaseSessionTest): + def setUp(self): + super(TestClientEvents, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'ec2', self.region) + + def test_emit_response_received(self): + recording_handler = RecordingHandler() + self.client.meta.events.register( + 'response-received.ec2.DescribeRegions', recording_handler.record) + with mock.patch( + 'botocore.httpsession.URLLib3Session.send') as mock_send: + response_body = ( + b'' + b'' + b'' + ) + mock_send.return_value = mock.Mock( + status_code=200, headers={}, content=response_body) + self.client.describe_regions() + self.assertEqual( + recording_handler.recorded_events, + [ + ('response-received.ec2.DescribeRegions', + { + 'exception': None, + 'response_dict': { + 'body': response_body, + 'headers': {}, + 'context': mock.ANY, + 'status_code': 200 + }, + 'parsed_response': { + 'ResponseMetadata': mock.ANY}, + 'context': mock.ANY + }) + ] + ) + + def test_emit_response_received_for_exception(self): + recording_handler = RecordingHandler() + self.client.meta.events.register( + 'response-received.ec2.DescribeRegions', recording_handler.record) + with mock.patch( + 'botocore.httpsession.URLLib3Session.send') as mock_send: + raised_exception = RuntimeError('Unexpected exception') + mock_send.side_effect = raised_exception + with self.assertRaises(RuntimeError): + self.client.describe_regions() + self.assertEqual( + recording_handler.recorded_events, + [ + ('response-received.ec2.DescribeRegions', + { + 'exception': raised_exception, + 'response_dict': None, + 'parsed_response': None, + 'context': mock.ANY + }) + ] + ) diff -Nru python-botocore-1.4.70/tests/functional/test_h2_required.py python-botocore-1.16.19+repack/tests/functional/test_h2_required.py --- python-botocore-1.4.70/tests/functional/test_h2_required.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_h2_required.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,50 @@ +# Copyright 2018 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 botocore.session import get_session + +_H2_REQUIRED = object() +# Service names to list of known HTTP 2 operations +_KNOWN_SERVICES = { + 'kinesis': ['SubscribeToShard'], +} + + +def test_all_uses_of_h2_are_known(): + session = get_session() + loader = session.get_component('data_loader') + + services = loader.list_available_services('service-2') + + for service in services: + service_model = session.get_service_model(service) + h2_config = service_model.metadata.get('protocolSettings', {}).get('h2') + if h2_config == 'required': + yield _assert_h2_service_is_known, service + elif h2_config == 'eventstream': + for operation in service_model.operation_names: + operation_model = service_model.operation_model(operation) + if operation_model.has_event_stream_output: + yield _assert_h2_operation_is_known, service, operation + + +def _assert_h2_service_is_known(service): + # Validates that a service that requires HTTP 2 for all operations is known + message = 'Found unknown HTTP 2 service: %s' % service + assert _KNOWN_SERVICES.get(service) is _H2_REQUIRED, message + + +def _assert_h2_operation_is_known(service, operation): + # Validates that an operation that requires HTTP 2 is known + known_operations = _KNOWN_SERVICES.get(service, []) + message = 'Found unknown HTTP 2 operation: %s.%s' % (service, operation) + assert operation in known_operations, message diff -Nru python-botocore-1.4.70/tests/functional/test_history.py python-botocore-1.16.19+repack/tests/functional/test_history.py --- python-botocore-1.4.70/tests/functional/test_history.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_history.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,148 @@ +from contextlib import contextmanager + +import mock + +from tests import BaseSessionTest, ClientHTTPStubber +from botocore.history import BaseHistoryHandler +from botocore.history import get_global_history_recorder + + +class RecordingHandler(BaseHistoryHandler): + def __init__(self): + self.recorded_calls = [] + + def emit(self, event_type, payload, source): + self.recorded_calls.append((event_type, payload, source)) + + +class TestRecordStatementsInjections(BaseSessionTest): + + def setUp(self): + super(TestRecordStatementsInjections, self).setUp() + self.client = self.session.create_client('s3', 'us-west-2') + self.http_stubber = ClientHTTPStubber(self.client) + self.s3_response_body = ( + '' + ' ' + ' d41d8cd98f00b204e9800998ecf8427e' + ' foo' + ' ' + ' ' + ' ' + ' bar' + ' 1912-06-23T22:57:02.000Z' + ' ' + ' ' + '' + ).encode('utf-8') + self.recording_handler = RecordingHandler() + history_recorder = get_global_history_recorder() + history_recorder.enable() + history_recorder.add_handler(self.recording_handler) + + def _get_all_events_of_type(self, event_type): + recorded_calls = self.recording_handler.recorded_calls + matching = [call for call in recorded_calls + if call[0] == event_type] + return matching + + def test_does_record_api_call(self): + self.http_stubber.add_response(body=self.s3_response_body) + with self.http_stubber: + self.client.list_buckets() + + api_call_events = self._get_all_events_of_type('API_CALL') + self.assertEqual(len(api_call_events), 1) + event = api_call_events[0] + event_type, payload, source = event + self.assertEqual(payload, { + 'operation': u'ListBuckets', + 'params': {}, + 'service': 's3' + }) + self.assertEqual(source, 'BOTOCORE') + + def test_does_record_http_request(self): + self.http_stubber.add_response(body=self.s3_response_body) + with self.http_stubber: + self.client.list_buckets() + + http_request_events = self._get_all_events_of_type('HTTP_REQUEST') + self.assertEqual(len(http_request_events), 1) + event = http_request_events[0] + event_type, payload, source = event + + method = payload['method'] + self.assertEqual(method, u'GET') + + # The header values vary too much per request to verify them here. + # Instead just check the presense of each expected header. + headers = payload['headers'] + for expected_header in ['Authorization', 'User-Agent', 'X-Amz-Date', + 'X-Amz-Content-SHA256']: + self.assertIn(expected_header, headers) + + body = payload['body'] + self.assertIsNone(body) + + streaming = payload['streaming'] + self.assertEquals(streaming, False) + + url = payload['url'] + self.assertEquals(url, 'https://s3.us-west-2.amazonaws.com/') + + self.assertEqual(source, 'BOTOCORE') + + def test_does_record_http_response(self): + self.http_stubber.add_response(body=self.s3_response_body) + with self.http_stubber: + self.client.list_buckets() + + http_response_events = self._get_all_events_of_type('HTTP_RESPONSE') + self.assertEqual(len(http_response_events), 1) + event = http_response_events[0] + event_type, payload, source = event + + self.assertEqual(payload, { + 'status_code': 200, + 'headers': {}, + 'streaming': False, + 'body': self.s3_response_body, + 'context': {'operation_name': 'ListBuckets'} + } + ) + self.assertEqual(source, 'BOTOCORE') + + def test_does_record_parsed_response(self): + self.http_stubber.add_response(body=self.s3_response_body) + with self.http_stubber: + self.client.list_buckets() + + parsed_response_events = self._get_all_events_of_type( + 'PARSED_RESPONSE') + self.assertEqual(len(parsed_response_events), 1) + event = parsed_response_events[0] + event_type, payload, source = event + + # Given that the request contains headers with a user agent string + # a date and a signature we need to disassemble the call and manually + # assert the interesting bits since mock can only assert if the args + # all match exactly. + owner = payload['Owner'] + self.assertEqual(owner, { + 'DisplayName': 'foo', + 'ID': 'd41d8cd98f00b204e9800998ecf8427e' + }) + + buckets = payload['Buckets'] + self.assertEqual(len(buckets), 1) + bucket = buckets[0] + self.assertEqual(bucket['Name'], 'bar') + + metadata = payload['ResponseMetadata'] + self.assertEqual(metadata, { + 'HTTPHeaders': {}, + 'HTTPStatusCode': 200, + 'RetryAttempts': 0 + }) diff -Nru python-botocore-1.4.70/tests/functional/test_iot_data.py python-botocore-1.16.19+repack/tests/functional/test_iot_data.py --- python-botocore-1.4.70/tests/functional/test_iot_data.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_iot_data.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,14 +11,11 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import sys -import warnings from tests import unittest, mock, BaseSessionTest from botocore.exceptions import UnsupportedTLSVersionWarning -@unittest.skipIf(sys.version_info[:2] == (2, 6), - ("py26 is unable to detect openssl version")) class TestOpensslVersion(BaseSessionTest): def test_incompatible_openssl_version(self): with mock.patch('ssl.OPENSSL_VERSION_INFO', new=(0, 9, 8, 11, 15)): diff -Nru python-botocore-1.4.70/tests/functional/test_kinesis.py python-botocore-1.16.19+repack/tests/functional/test_kinesis.py --- python-botocore-1.4.70/tests/functional/test_kinesis.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_kinesis.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,89 @@ +# Copyright 2012-2014 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. +import json +import time +from base64 import b64decode +from uuid import uuid4 +from tests import unittest, BaseSessionTest, ClientHTTPStubber + + +class TestKinesisListStreams(BaseSessionTest): + def setUp(self): + super(TestKinesisListStreams, self).setUp() + self.stream_name = "kinesis-test-stream" + self.region = "us-east-1" + self.client = self.session.create_client("kinesis", self.region) + self.http_stubber = ClientHTTPStubber(self.client) + self.http_stubber.add_response() + + def assert_base64encoded_str_equals(self, encoded_str, expected_value): + """Validate a value can be base64 decoded and equals expected value""" + try: + decoded_str = b64decode(encoded_str).decode("utf-8") + except UnicodeDecodeError: + self.fail("Base64 encoded record is not a valid utf-8 string") + self.assertEqual(decoded_str, expected_value) + + def test_can_put_stream_blob(self): + unique_data = str(uuid4()) + with self.http_stubber as stub: + self.client.put_record( + StreamName=self.stream_name, PartitionKey="foo", Data=unique_data + ) + self.assertEqual(len(stub.requests), 1) + request = json.loads(stub.requests[0].body.decode("utf-8")) + self.assertEqual(request["StreamName"], self.stream_name) + self.assertEqual(request["PartitionKey"], "foo") + self.assert_base64encoded_str_equals( + request["Data"], unique_data + ) + + def test_can_put_records_single_blob(self): + unique_data = str(uuid4()) + with self.http_stubber as stub: + self.client.put_records( + StreamName=self.stream_name, + Records=[{"Data": unique_data, "PartitionKey": "foo"}], + ) + self.assertEqual(len(stub.requests), 1) + request = json.loads(stub.requests[0].body.decode("utf-8")) + self.assertEqual(len(request["Records"]), 1) + self.assertEqual(request["StreamName"], self.stream_name) + + record = request["Records"][0] + self.assertEqual(record["PartitionKey"], "foo") + self.assert_base64encoded_str_equals( + record["Data"], unique_data + ) + + def test_can_put_records_multiple_blob(self): + with self.http_stubber as stub: + self.client.put_records( + StreamName=self.stream_name, + Records=[ + {"Data": "foobar", "PartitionKey": "foo"}, + {"Data": "barfoo", "PartitionKey": "foo"}, + ], + ) + self.assertEqual(len(stub.requests), 1) + request = json.loads(stub.requests[0].body.decode("utf-8")) + self.assertEqual(len(request["Records"]), 2) + + record_foobar = request["Records"][0] + record_barfoo = request["Records"][1] + self.assert_base64encoded_str_equals( + record_foobar["Data"], "foobar" + ) + self.assert_base64encoded_str_equals( + record_barfoo["Data"], "barfoo" + ) diff -Nru python-botocore-1.4.70/tests/functional/test_lex.py python-botocore-1.16.19+repack/tests/functional/test_lex.py --- python-botocore-1.4.70/tests/functional/test_lex.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_lex.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,60 @@ +# Copyright 2017 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. +import mock +from datetime import datetime + +from tests import BaseSessionTest, ClientHTTPStubber + + +class TestLex(BaseSessionTest): + def setUp(self): + super(TestLex, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client('lex-runtime', self.region) + self.http_stubber = ClientHTTPStubber(self.client) + + def test_unsigned_payload(self): + params = { + 'botName': 'foo', + 'botAlias': 'bar', + 'userId': 'baz', + 'contentType': 'application/octet-stream', + 'inputStream': b'' + } + + timestamp = datetime(2017, 3, 22, 0, 0) + + with mock.patch('botocore.auth.datetime') as _datetime: + _datetime.datetime.utcnow.return_value = timestamp + self.http_stubber.add_response(body=b'{}') + with self.http_stubber: + self.client.post_content(**params) + request = self.http_stubber.requests[0] + + # The payload gets added to the string to sign, and then part of the + # signature. The signature will be part of the authorization header. + # Since we don't have direct access to the payload signature, + # we compare the authorization instead. + authorization = request.headers.get('authorization') + + expected_authorization = ( + b'AWS4-HMAC-SHA256 ' + b'Credential=access_key/20170322/us-west-2/lex/aws4_request, ' + b'SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date,' + b' Signature=' + b'7f93fde5c36163dce6ee116fcfebab13474ab903782fea04c00bb1dedc3fc4cc' + ) + self.assertEqual(authorization, expected_authorization) + + content_header = request.headers.get('x-amz-content-sha256') + self.assertEqual(content_header, b'UNSIGNED-PAYLOAD') diff -Nru python-botocore-1.4.70/tests/functional/test_machinelearning.py python-botocore-1.16.19+repack/tests/functional/test_machinelearning.py --- python-botocore-1.4.70/tests/functional/test_machinelearning.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_machinelearning.py 2020-05-28 19:26:08.000000000 +0000 @@ -12,7 +12,7 @@ # language governing permissions and limitations under the License. import mock -from tests import BaseSessionTest +from tests import BaseSessionTest, ClientHTTPStubber class TestMachineLearning(BaseSessionTest): @@ -21,20 +21,16 @@ self.region = 'us-west-2' self.client = self.session.create_client( 'machinelearning', self.region) + self.http_stubber = ClientHTTPStubber(self.client) def test_predict(self): - with mock.patch('botocore.endpoint.Session.send') as \ - http_session_send_patch: - http_response = mock.Mock() - http_response.status_code = 200 - http_response.content = b'{}' - http_response.headers = {} - http_session_send_patch.return_value = http_response + self.http_stubber.add_response(body=b'{}') + with self.http_stubber: custom_endpoint = 'https://myendpoint.amazonaws.com/' self.client.predict( MLModelId='ml-foo', Record={'Foo': 'Bar'}, PredictEndpoint=custom_endpoint ) - sent_request = http_session_send_patch.call_args[0][0] + sent_request = self.http_stubber.requests[0] self.assertEqual(sent_request.url, custom_endpoint) diff -Nru python-botocore-1.4.70/tests/functional/test_model_backcompat.py python-botocore-1.16.19+repack/tests/functional/test_model_backcompat.py --- python-botocore-1.4.70/tests/functional/test_model_backcompat.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_model_backcompat.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,80 @@ +# Copyright 2018 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. +import os + +from nose.tools import assert_equal +from botocore.session import Session +from tests import ClientHTTPStubber + + +FIXED_MODELS_DIR = os.path.join( + os.path.dirname(os.path.abspath(__file__)), 'models', +) + + +def test_old_model_continues_to_work(): + # This test ensures that botocore can load the service models as they exist + # today. There's a directory in tests/functional/models that is a + # snapshot of a service model. This test ensures that we can continue + # to stub an API call using this model. That way if the models ever + # change we have a mechanism to ensure that the existing models continue + # to work with botocore. The test should not change (with the exception + # of potential changes to the ClientHTTPStubber), and the files in + # tests/functional/models should not change! + session = Session() + loader = session.get_component('data_loader') + # We're adding our path to the existing search paths so we don't have to + # copy additional data files such as _retry.json to our FIXED_MODELS_DIR. + # We only care about the service model and endpoints file not changing. + # This also prevents us from having to make any changes to this models dir + # if we end up adding a new data file that's needed to create clients. + # We're adding our FIXED_MODELS_DIR as the first element in the list to + # ensure we load the endpoints.json file from FIXED_MODELS_DIR. For the + # service model we have an extra safety net where we can choose a custom + # client name. + loader.search_paths.insert(0, FIXED_MODELS_DIR) + + # The model dir we copied was renamed to 'custom-lambda' + # to ensure we're loading our version of the model and not + # the built in one. + client = session.create_client( + 'custom-acm', region_name='us-west-2', + aws_access_key_id='foo', aws_secret_access_key='bar', + ) + with ClientHTTPStubber(client) as stubber: + stubber.add_response( + url='https://acm.us-west-2.amazonaws.com/', + headers={'x-amzn-RequestId': 'abcd', + 'Date': 'Fri, 26 Oct 2018 01:46:30 GMT', + 'Content-Length': '29', + 'Content-Type': 'application/x-amz-json-1.1'}, + body=b'{"CertificateSummaryList":[]}') + response = client.list_certificates() + assert_equal( + response, + {'CertificateSummaryList': [], + 'ResponseMetadata': { + 'HTTPHeaders': { + 'content-length': '29', + 'content-type': 'application/x-amz-json-1.1', + 'date': 'Fri, 26 Oct 2018 01:46:30 GMT', + 'x-amzn-requestid': 'abcd'}, + 'HTTPStatusCode': 200, + 'RequestId': 'abcd', + 'RetryAttempts': 0} + } + ) + + # Also verify we can use the paginators as well. + assert_equal(client.can_paginate('list_certificates'), True) + assert_equal(client.waiter_names, ['certificate_validated']) diff -Nru python-botocore-1.4.70/tests/functional/test_modeled_exceptions.py python-botocore-1.16.19+repack/tests/functional/test_modeled_exceptions.py --- python-botocore-1.4.70/tests/functional/test_modeled_exceptions.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_modeled_exceptions.py 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,169 @@ +# Copyright 2012-2020 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 contextlib import contextmanager + +from tests import unittest, BaseSessionTest, ClientHTTPStubber + + +class TestModeledExceptions(BaseSessionTest): + def setUp(self): + super(TestModeledExceptions, self).setUp() + self.region = "us-east-1" + + def _create_client(self, service): + client = self.session.create_client(service, self.region) + http_stubber = ClientHTTPStubber(client) + return client, http_stubber + + def test_query_service(self): + body = ( + b'' + b'Sender' + b'foobar' + b'AlreadyExists' + b'Template already exists' + b'' + ) + response = { + 'Error': { + # NOTE: The name and type are also present here as we return + # the entire Error node as the 'Error' field for query + 'Name': 'foobar', + 'Type': 'Sender', + 'Code': 'AlreadyExists', + 'Message': 'Template already exists', + }, + 'ResponseMetadata': { + 'HTTPStatusCode': 400, + 'HTTPHeaders': {}, + 'RetryAttempts': 0, + }, + # Modeled properties on the exception shape + 'Name': 'foobar', + } + ses, http_stubber = self._create_client('ses') + exception_cls = ses.exceptions.AlreadyExistsException + with http_stubber as stubber: + stubber.add_response(status=400, headers={}, body=body) + with self.assertRaises(exception_cls) as assertion_context: + template = { + 'TemplateName': 'foobar', + 'SubjectPart': 'foo', + 'TextPart': 'bar' + } + ses.create_template(Template=template) + self.assertEqual(assertion_context.exception.response, response) + + def test_rest_xml_service(self): + body = ( + b'\n' + b'' + b'SenderNoSuchDistribution' + b'The specified distribution does not exist.' + b'' + b'request-id' + b'' + ) + response = { + 'Error': { + 'Type': 'Sender', + 'Code': 'NoSuchDistribution', + 'Message': 'The specified distribution does not exist.', + }, + 'ResponseMetadata': { + 'HTTPStatusCode': 404, + 'HTTPHeaders': {}, + 'RequestId': 'request-id', + 'RetryAttempts': 0, + }, + # Modeled properties on the exception shape + 'Message': 'The specified distribution does not exist.', + } + cloudfront, http_stubber = self._create_client('cloudfront') + exception_cls = cloudfront.exceptions.NoSuchDistribution + with http_stubber as stubber: + stubber.add_response(status=404, headers={}, body=body) + with self.assertRaises(exception_cls) as assertion_context: + cloudfront.get_distribution(Id='foobar') + self.assertEqual(assertion_context.exception.response, response) + + def test_rest_json_service(self): + headers = { + 'x-amzn-RequestId': 'request-id', + 'x-amzn-ErrorType': 'FileSystemAlreadyExists:', + } + body = ( + b'{"ErrorCode":"FileSystemAlreadyExists",' + b'"FileSystemId":"fs-abcabc12",' + b'"Message":"File system already exists"}' + ) + response = { + 'Error': { + 'Code': 'FileSystemAlreadyExists', + 'Message': 'File system already exists', + }, + 'ResponseMetadata': { + 'HTTPStatusCode': 409, + 'HTTPHeaders': { + 'x-amzn-requestid': 'request-id', + 'x-amzn-errortype': 'FileSystemAlreadyExists:', + }, + 'RequestId': 'request-id', + 'RetryAttempts': 0, + }, + # Modeled properties on the exception shape + 'ErrorCode': 'FileSystemAlreadyExists', + 'FileSystemId': 'fs-abcabc12', + 'Message': 'File system already exists', + } + efs, http_stubber = self._create_client('efs') + exception_cls = efs.exceptions.FileSystemAlreadyExists + with http_stubber as stubber: + stubber.add_response(status=409, headers=headers, body=body) + with self.assertRaises(exception_cls) as assertion_context: + efs.create_file_system() + self.assertEqual(assertion_context.exception.response, response) + + def test_json_service(self): + headers = { + 'x-amzn-RequestId': 'request-id', + 'x-amzn-id-2': 'id-2', + } + body = ( + b'{"__type":"ResourceNotFoundException",' + b'"message":"Stream not found"}' + ) + response = { + 'Error': { + 'Code': 'ResourceNotFoundException', + 'Message': 'Stream not found', + }, + 'ResponseMetadata': { + 'HTTPStatusCode': 400, + 'HTTPHeaders': { + 'x-amzn-requestid': 'request-id', + 'x-amzn-id-2': 'id-2', + }, + 'RequestId': 'request-id', + 'RetryAttempts': 0, + }, + # Modeled properties on the exception shape + 'message': 'Stream not found', + } + kinesis, http_stubber = self._create_client('kinesis') + exception_cls = kinesis.exceptions.ResourceNotFoundException + with http_stubber as stubber: + stubber.add_response(status=400, headers=headers, body=body) + with self.assertRaises(exception_cls) as assertion_context: + kinesis.describe_stream(StreamName='foobar') + self.assertEqual(assertion_context.exception.response, response) diff -Nru python-botocore-1.4.70/tests/functional/test_mturk.py python-botocore-1.16.19+repack/tests/functional/test_mturk.py --- python-botocore-1.4.70/tests/functional/test_mturk.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_mturk.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,38 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from botocore.stub import Stubber +from tests import BaseSessionTest + + +class TestMturk(BaseSessionTest): + def setUp(self): + super(TestMturk, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'mturk', self.region) + self.stubber = Stubber(self.client) + self.stubber.activate() + + def tearDown(self): + self.stubber.deactivate() + + def test_list_hits_aliased(self): + self.stubber.add_response('list_hits_for_qualification_type', {}) + self.stubber.add_response('list_hits_for_qualification_type', {}) + + params = {'QualificationTypeId': 'foo'} + + self.client.list_hi_ts_for_qualification_type(**params) + self.client.list_hits_for_qualification_type(**params) + + self.stubber.assert_no_pending_responses() diff -Nru python-botocore-1.4.70/tests/functional/test_neptune.py python-botocore-1.16.19+repack/tests/functional/test_neptune.py --- python-botocore-1.4.70/tests/functional/test_neptune.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_neptune.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,67 @@ +# Copyright 2018 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. +import mock +from contextlib import contextmanager + +import botocore.session +from tests import BaseSessionTest, ClientHTTPStubber +from botocore.stub import Stubber +from tests import unittest + + +class TestNeptunePresignUrlInjection(BaseSessionTest): + + def setUp(self): + super(TestNeptunePresignUrlInjection, self).setUp() + self.client = self.session.create_client('neptune', 'us-west-2') + self.http_stubber = ClientHTTPStubber(self.client) + + def assert_presigned_url_injected_in_request(self, body): + self.assertIn('PreSignedUrl', body) + self.assertNotIn('SourceRegion', body) + + def test_create_db_cluster(self): + params = { + 'DBClusterIdentifier': 'my-cluster', + 'Engine': 'neptune', + 'SourceRegion': 'us-east-1' + } + response_body = ( + b'' + b'' + b'' + b'' + ) + self.http_stubber.add_response(body=response_body) + with self.http_stubber: + self.client.create_db_cluster(**params) + sent_request = self.http_stubber.requests[0] + self.assert_presigned_url_injected_in_request(sent_request.body) + + def test_copy_db_cluster_snapshot(self): + params = { + 'SourceDBClusterSnapshotIdentifier': 'source-db', + 'TargetDBClusterSnapshotIdentifier': 'target-db', + 'SourceRegion': 'us-east-1' + } + response_body = ( + b'' + b'' + b'' + b'' + ) + self.http_stubber.add_response(body=response_body) + with self.http_stubber: + self.client.copy_db_cluster_snapshot(**params) + sent_request = self.http_stubber.requests[0] + self.assert_presigned_url_injected_in_request(sent_request.body) diff -Nru python-botocore-1.4.70/tests/functional/test_paginate.py python-botocore-1.16.19+repack/tests/functional/test_paginate.py --- python-botocore-1.4.70/tests/functional/test_paginate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_paginate.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,15 +10,23 @@ # 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 +from __future__ import division +from math import ceil +from datetime import datetime + +from nose.tools import assert_equal + +from tests import random_chars +from tests import BaseSessionTest from botocore.stub import Stubber, StubAssertionError -import botocore.session +from botocore.paginate import TokenDecoder, TokenEncoder +from botocore.compat import six -class TestRDSPagination(unittest.TestCase): +class TestRDSPagination(BaseSessionTest): def setUp(self): + super(TestRDSPagination, self).setUp() self.region = 'us-west-2' - self.session = botocore.session.get_session() self.client = self.session.create_client( 'rds', self.region) self.stubber = Stubber(self.client) @@ -58,3 +66,173 @@ except StubAssertionError as e: self.fail(str(e)) + +class TestAutoscalingPagination(BaseSessionTest): + def setUp(self): + super(TestAutoscalingPagination, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'autoscaling', self.region, aws_secret_access_key='foo', + aws_access_key_id='bar', aws_session_token='baz' + ) + self.stubber = Stubber(self.client) + self.stubber.activate() + + def _setup_scaling_pagination(self, page_size=200, max_items=100, + total_items=600): + """ + Add to the stubber to test paginating describe_scaling_activities. + + WARNING: This only handles cases where max_items cleanly divides + page_size. + """ + requests_per_page = page_size / max_items + if requests_per_page != ceil(requests_per_page): + raise NotImplementedError( + "This only handles setup where max_items is less than " + "page_size and where max_items evenly divides page_size." + ) + requests_per_page = int(requests_per_page) + num_pages = int(ceil(total_items / page_size)) + + previous_next_token = None + for i in range(num_pages): + page = self.create_describe_scaling_response(page_size=page_size) + + # Don't create a next_token for the final page + if i + 1 == num_pages: + next_token = None + else: + next_token = random_chars(10) + + expected_args = {} + if previous_next_token: + expected_args['StartingToken'] = previous_next_token + + # The same page may be accessed multiple times because we are + # truncating it at max_items + for _ in range(requests_per_page - 1): + # The page is copied because the paginator will modify the + # response object, causing issues when using the stubber. + self.stubber.add_response( + 'describe_scaling_activities', page.copy() + ) + + if next_token is not None: + page['NextToken'] = next_token + + # Copying the page here isn't necessary because it is about to + # be blown away anyway. + self.stubber.add_response( + 'describe_scaling_activities', page + ) + + previous_next_token = next_token + + def create_describe_scaling_response(self, page_size=200): + """Create a valid describe_scaling_activities response.""" + page = [] + date = datetime.now() + for _ in range(page_size): + page.append({ + 'AutoScalingGroupName': 'test', + 'ActivityId': random_chars(10), + 'Cause': 'test', + 'StartTime': date, + 'StatusCode': '200', + }) + return {'Activities': page} + + def test_repeated_build_full_results(self): + # This ensures that we can cleanly paginate using build_full_results. + max_items = 100 + total_items = 600 + self._setup_scaling_pagination( + max_items=max_items, + total_items=total_items, + page_size=200 + ) + paginator = self.client.get_paginator('describe_scaling_activities') + conf = {'MaxItems': max_items} + + pagination_tokens = [] + + result = paginator.paginate(PaginationConfig=conf).build_full_result() + all_results = result['Activities'] + while 'NextToken' in result: + starting_token = result['NextToken'] + # We should never get a duplicate pagination token. + self.assertNotIn(starting_token, pagination_tokens) + pagination_tokens.append(starting_token) + + conf['StartingToken'] = starting_token + pages = paginator.paginate(PaginationConfig=conf) + result = pages.build_full_result() + all_results.extend(result['Activities']) + + self.assertEqual(len(all_results), total_items) + + +class TestCloudwatchLogsPagination(BaseSessionTest): + def setUp(self): + super(TestCloudwatchLogsPagination, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'logs', self.region, aws_secret_access_key='foo', + aws_access_key_id='bar', aws_session_token='baz' + ) + self.stubber = Stubber(self.client) + self.stubber.activate() + + def test_token_with_triple_underscores(self): + response = { + 'events': [{ + 'logStreamName': 'foobar', + 'timestamp': 1560195817, + 'message': 'a thing happened', + 'ingestionTime': 1560195817, + 'eventId': 'foo', + }], + 'searchedLogStreams': [{ + 'logStreamName': 'foobar', + 'searchedCompletely': False, + }], + } + group_name = 'foo' + token = 'foo___bar' + expected_args = { + 'logGroupName': group_name, + 'nextToken': token, + } + self.stubber.add_response('filter_log_events', response, expected_args) + paginator = self.client.get_paginator('filter_log_events') + pages = paginator.paginate( + PaginationConfig={ + 'MaxItems': 1, + 'StartingToken': token, + }, + logGroupName=group_name, + ) + result = pages.build_full_result() + self.assertEqual(len(result['events']), 1) + + +def test_token_encoding(): + cases = [ + {'foo': 'bar'}, + {'foo': b'bar'}, + {'foo': {'bar': b'baz'}}, + {'foo': ['bar', b'baz']}, + {'foo': b'\xff'}, + {'foo': {'bar': b'baz', 'bin': [b'bam']}}, + ] + + for token_dict in cases: + yield assert_token_encodes_and_decodes, token_dict + + +def assert_token_encodes_and_decodes(token_dict): + encoded = TokenEncoder().encode(token_dict) + assert isinstance(encoded, six.string_types) + decoded = TokenDecoder().decode(encoded) + assert_equal(decoded, token_dict) diff -Nru python-botocore-1.4.70/tests/functional/test_paginator_config.py python-botocore-1.16.19+repack/tests/functional/test_paginator_config.py --- python-botocore-1.4.70/tests/functional/test_paginator_config.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_paginator_config.py 2020-05-28 19:26:08.000000000 +0000 @@ -22,6 +22,112 @@ ['input_token', 'py_input_token', 'output_token', 'result_key', 'limit_key', 'more_results', 'non_aggregate_keys']) MEMBER_NAME_CHARS = set(string.ascii_letters + string.digits) +# The goal here should be to remove all of these by updating the paginators +# to reference all the extra output keys. Nothing should ever be added to this +# list, it represents all the current released paginators that fail this test. +KNOWN_EXTRA_OUTPUT_KEYS = [ + 'alexaforbusiness.SearchUsers.TotalCount', + 'alexaforbusiness.SearchProfiles.TotalCount', + 'alexaforbusiness.SearchSkillGroups.TotalCount', + 'alexaforbusiness.SearchDevices.TotalCount', + 'alexaforbusiness.SearchRooms.TotalCount', + 'apigateway.GetApiKeys.warnings', + 'apigateway.GetUsage.usagePlanId', + 'apigateway.GetUsage.startDate', + 'apigateway.GetUsage.endDate', + 'athena.GetQueryResults.ResultSet', + 'cloudfront.ListCloudFrontOriginAccessIdentities.CloudFrontOriginAccessIdentityList', + 'cloudfront.ListDistributions.DistributionList', + 'cloudfront.ListInvalidations.InvalidationList', + 'cloudfront.ListStreamingDistributions.StreamingDistributionList', + 'codedeploy.ListDeploymentGroups.applicationName', + 'dms.DescribeTableStatistics.ReplicationTaskArn', + 'dms.DescribeReplicationTaskAssessmentResults.BucketName', + 'ec2.DescribeSpotFleetInstances.SpotFleetRequestId', + 'ec2.DescribeVpcEndpointServices.ServiceNames', + 'efs.DescribeFileSystems.Marker', + 'efs.DescribeMountTargets.Marker', + 'efs.DescribeTags.Marker', + 'elasticache.DescribeCacheParameters.CacheNodeTypeSpecificParameters', + 'elasticache.DescribeEngineDefaultParameters.EngineDefaults', + 'glacier.ListParts.PartSizeInBytes', + 'glacier.ListParts.ArchiveDescription', + 'glacier.ListParts.MultipartUploadId', + 'glacier.ListParts.VaultARN', + 'glacier.ListParts.CreationDate', + 'kinesis.DescribeStream.StreamDescription', + 'mturk.ListAssignmentsForHIT.NumResults', + 'mturk.ListQualificationTypes.NumResults', + 'mturk.ListHITs.NumResults', + 'mturk.ListWorkerBlocks.NumResults', + 'mturk.ListReviewableHITs.NumResults', + 'mturk.ListHITsForQualificationType.NumResults', + 'mturk.ListQualificationRequests.NumResults', + 'mturk.ListWorkersWithQualificationType.NumResults', + 'mturk.ListBonusPayments.NumResults', + 'neptune.DescribeEngineDefaultParameters.EngineDefaults', + 'rds.DescribeEngineDefaultClusterParameters.EngineDefaults', + 'rds.DescribeEngineDefaultParameters.EngineDefaults', + 'redshift.DescribeDefaultClusterParameters.DefaultClusterParameters', + 'resource-groups.ListGroups.GroupIdentifiers', + 'resource-groups.SearchResources.QueryErrors', + 'resource-groups.ListGroupResources.QueryErrors', + 'route53.ListHealthChecks.MaxItems', + 'route53.ListHealthChecks.Marker', + 'route53.ListHostedZones.MaxItems', + 'route53.ListHostedZones.Marker', + 'route53.ListResourceRecordSets.MaxItems', + 's3.ListMultipartUploads.Delimiter', + 's3.ListMultipartUploads.KeyMarker', + 's3.ListMultipartUploads.Prefix', + 's3.ListMultipartUploads.Bucket', + 's3.ListMultipartUploads.MaxUploads', + 's3.ListMultipartUploads.UploadIdMarker', + 's3.ListMultipartUploads.EncodingType', + 's3.ListObjectVersions.MaxKeys', + 's3.ListObjectVersions.Delimiter', + 's3.ListObjectVersions.VersionIdMarker', + 's3.ListObjectVersions.KeyMarker', + 's3.ListObjectVersions.Prefix', + 's3.ListObjectVersions.Name', + 's3.ListObjectVersions.EncodingType', + 's3.ListObjects.MaxKeys', + 's3.ListObjects.Delimiter', + 's3.ListObjects.NextMarker', + 's3.ListObjects.Prefix', + 's3.ListObjects.Marker', + 's3.ListObjects.Name', + 's3.ListObjects.EncodingType', + 's3.ListObjectsV2.StartAfter', + 's3.ListObjectsV2.MaxKeys', + 's3.ListObjectsV2.Delimiter', + 's3.ListObjectsV2.ContinuationToken', + 's3.ListObjectsV2.KeyCount', + 's3.ListObjectsV2.Prefix', + 's3.ListObjectsV2.Name', + 's3.ListObjectsV2.EncodingType', + 's3.ListParts.PartNumberMarker', + 's3.ListParts.AbortDate', + 's3.ListParts.MaxParts', + 's3.ListParts.Bucket', + 's3.ListParts.Key', + 's3.ListParts.UploadId', + 's3.ListParts.AbortRuleId', + 's3.ListParts.RequestCharged', + 'sms.GetReplicationRuns.replicationJob', + 'sms.GetServers.lastModifiedOn', + 'sms.GetServers.serverCatalogStatus', + 'storagegateway.DescribeTapeRecoveryPoints.GatewayARN', + 'storagegateway.DescribeVTLDevices.GatewayARN', + 'storagegateway.ListVolumes.GatewayARN', + 'workdocs.DescribeUsers.TotalNumberOfUsers', + 'xray.BatchGetTraces.UnprocessedTraceIds', + 'xray.GetServiceGraph.EndTime', + 'xray.GetServiceGraph.ContainsOldGroupVersions', + 'xray.GetServiceGraph.StartTime', + 'xray.GetTraceSummaries.TracesProcessedCount', + 'xray.GetTraceSummaries.ApproximateTime', +] def test_lint_pagination_configs(): @@ -95,8 +201,9 @@ limit_key = page_config['limit_key'] if limit_key not in valid_input_names: raise AssertionError("limit_key '%s' refers to a non existent " - "input member for operation: %s" - % (limit_key, operation_name)) + "input member for operation: %s, valid keys: " + "%s" % (limit_key, operation_name, + ', '.join(list(valid_input_names)))) def _validate_output_keys_match(operation_name, page_config, service_model): @@ -108,7 +215,7 @@ # this is no longer a realistic thing to check. Someone would have to # backport the missing keys to all the paginators. output_shape = service_model.operation_model(operation_name).output_shape - output_members = output_shape.members + output_members = set(output_shape.members) for key_name, output_key in _get_all_page_output_keys(page_config): if _looks_like_jmespath(output_key): _validate_jmespath_compiles(output_key) @@ -117,6 +224,27 @@ raise AssertionError("Pagination key '%s' refers to an output " "member that does not exist: %s" % ( key_name, output_key)) + output_members.remove(output_key) + + for member in list(output_members): + key = "%s.%s.%s" % (service_model.service_name, + operation_name, + member) + if key in KNOWN_EXTRA_OUTPUT_KEYS: + output_members.remove(member) + + if output_members: + for member in output_members: + key = "%s.%s.%s" % (service_model.service_name, + operation_name, + member) + with open('/tmp/blah', 'a') as f: + f.write("'%s',\n" % key) + raise AssertionError("There are member names in the output shape of " + "%s that are not accounted for in the pagination " + "config for service %s: %s" % ( + operation_name, service_model.service_name, + ', '.join(output_members))) def _looks_like_jmespath(expression): diff -Nru python-botocore-1.4.70/tests/functional/test_public_apis.py python-botocore-1.16.19+repack/tests/functional/test_public_apis.py --- python-botocore-1.4.70/tests/functional/test_public_apis.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_public_apis.py 2020-05-28 19:26:08.000000000 +0000 @@ -14,6 +14,7 @@ import mock +from tests import ClientHTTPStubber from botocore.session import Session from botocore.exceptions import NoCredentialsError from botocore import xform_name @@ -41,26 +42,24 @@ } -class EarlyExit(BaseException): +class EarlyExit(Exception): pass -def _test_public_apis_will_not_be_signed(func, kwargs): - with mock.patch('botocore.endpoint.Session.send') as _send: - _send.side_effect = EarlyExit("we don't care about response here") +def _test_public_apis_will_not_be_signed(client, operation, kwargs): + with ClientHTTPStubber(client) as http_stubber: + http_stubber.responses.append(EarlyExit()) try: - func(**kwargs) + operation(**kwargs) except EarlyExit: pass - except NoCredentialsError: - assert False, "NoCredentialsError should not be triggered" - request = _send.call_args[0][0] - sig_v2_disabled = 'SignatureVersion=2' not in request.url - assert sig_v2_disabled, "SigV2 is incorrectly enabled" - sig_v3_disabled = 'X-Amzn-Authorization' not in request.headers - assert sig_v3_disabled, "SigV3 is incorrectly enabled" - sig_v4_disabled = 'Authorization' not in request.headers - assert sig_v4_disabled, "SigV4 is incorrectly enabled" + request = http_stubber.requests[0] + sig_v2_disabled = 'SignatureVersion=2' not in request.url + assert sig_v2_disabled, "SigV2 is incorrectly enabled" + sig_v3_disabled = 'X-Amzn-Authorization' not in request.headers + assert sig_v3_disabled, "SigV3 is incorrectly enabled" + sig_v4_disabled = 'Authorization' not in request.headers + assert sig_v4_disabled, "SigV4 is incorrectly enabled" def test_public_apis_will_not_be_signed(): @@ -74,4 +73,4 @@ for operation_name in PUBLIC_API_TESTS[service_name]: kwargs = PUBLIC_API_TESTS[service_name][operation_name] method = getattr(client, xform_name(operation_name)) - yield (_test_public_apis_will_not_be_signed, method, kwargs) + yield _test_public_apis_will_not_be_signed, client, method, kwargs diff -Nru python-botocore-1.4.70/tests/functional/test_rds.py python-botocore-1.16.19+repack/tests/functional/test_rds.py --- python-botocore-1.4.70/tests/functional/test_rds.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_rds.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,88 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +import mock +from contextlib import contextmanager + +import botocore.session +from tests import BaseSessionTest, ClientHTTPStubber +from botocore.stub import Stubber +from tests import unittest + + +class TestRDSPresignUrlInjection(BaseSessionTest): + + def setUp(self): + super(TestRDSPresignUrlInjection, self).setUp() + self.client = self.session.create_client('rds', 'us-west-2') + self.http_stubber = ClientHTTPStubber(self.client) + + def assert_presigned_url_injected_in_request(self, body): + self.assertIn('PreSignedUrl', body) + self.assertNotIn('SourceRegion', body) + + def test_copy_snapshot(self): + params = { + 'SourceDBSnapshotIdentifier': 'source-db', + 'TargetDBSnapshotIdentifier': 'target-db', + 'SourceRegion': 'us-east-1' + } + response_body = ( + b'' + b'' + b'' + ) + self.http_stubber.add_response(body=response_body) + with self.http_stubber: + self.client.copy_db_snapshot(**params) + sent_request = self.http_stubber.requests[0] + self.assert_presigned_url_injected_in_request(sent_request.body) + + def test_create_db_instance_read_replica(self): + params = { + 'SourceDBInstanceIdentifier': 'source-db', + 'DBInstanceIdentifier': 'target-db', + 'SourceRegion': 'us-east-1' + } + response_body = ( + b'' + b'' + b'' + b'' + ) + self.http_stubber.add_response(body=response_body) + with self.http_stubber: + self.client.create_db_instance_read_replica(**params) + sent_request = self.http_stubber.requests[0] + self.assert_presigned_url_injected_in_request(sent_request.body) + + +class TestRDS(unittest.TestCase): + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client('rds', 'us-west-2') + self.stubber = Stubber(self.client) + self.stubber.activate() + + def test_generate_db_auth_token(self): + hostname = 'host.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'mySQLUser' + auth_token = self.client.generate_db_auth_token( + DBHostname=hostname, Port=port, DBUsername=username) + + endpoint_url = 'host.us-east-1.rds.amazonaws.com:3306' + self.assertIn(endpoint_url, auth_token) + self.assertIn('Action=connect', auth_token) + + # Asserts that there is no scheme in the url + self.assertTrue(auth_token.startswith(hostname)) diff -Nru python-botocore-1.4.70/tests/functional/test_regions.py python-botocore-1.16.19+repack/tests/functional/test_regions.py --- python-botocore-1.4.70/tests/functional/test_regions.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_regions.py 2020-05-28 19:26:16.000000000 +0000 @@ -10,15 +10,16 @@ # 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, create_session +from tests import create_session import mock -from nose.tools import assert_equals, assert_raises +from nose.tools import assert_equal, assert_raises -from botocore import regions from botocore.client import ClientEndpointBridge from botocore.exceptions import NoRegionError +from tests import BaseSessionTest, ClientHTTPStubber + # NOTE: sqs endpoint updated to be the CN in the SSL cert because # a bug in python2.6 prevents subjectAltNames from being parsed @@ -454,7 +455,8 @@ # fixed list of known endpoints. This list doesn't need to be kept 100% up # to date, but serves as a basis for regressions as the endpoint data # logic evolves. - resolver = _get_patched_session().get_component('endpoint_resolver') + resolver = _get_patched_session()._get_internal_component( + 'endpoint_resolver') for region_name, service_dict in KNOWN_REGIONS.items(): for service_name, endpoint in service_dict.items(): yield (_test_single_service_region, service_name, @@ -466,14 +468,14 @@ bridge = ClientEndpointBridge(resolver, None, None) result = bridge.resolve(service_name, region_name) expected = 'https://%s' % expected_endpoint - assert_equals(result['endpoint_url'], expected) + assert_equal(result['endpoint_url'], expected) # Ensure that all S3 regions use s3v4 instead of v4 def test_all_s3_endpoints_have_s3v4(): session = _get_patched_session() partitions = session.get_available_partitions() - resolver = session.get_component('endpoint_resolver') + resolver = session._get_internal_component('endpoint_resolver') for partition_name in partitions: for endpoint in session.get_available_regions('s3', partition_name): resolved = resolver.construct_endpoint('s3', endpoint) @@ -482,7 +484,8 @@ def test_known_endpoints(): - resolver = _get_patched_session().get_component('endpoint_resolver') + resolver = _get_patched_session()._get_internal_component( + 'endpoint_resolver') for service_name, endpoint in KNOWN_AWS_PARTITION_WIDE.items(): yield (_test_single_service_partition_endpoint, service_name, endpoint, resolver) @@ -492,9 +495,65 @@ resolver): bridge = ClientEndpointBridge(resolver) result = bridge.resolve(service_name) - assert_equals(result['endpoint_url'], expected_endpoint) + assert_equal(result['endpoint_url'], expected_endpoint) def test_non_partition_endpoint_requires_region(): - resolver = _get_patched_session().get_component('endpoint_resolver') + resolver = _get_patched_session()._get_internal_component( + 'endpoint_resolver') assert_raises(NoRegionError, resolver.construct_endpoint, 'ec2') + + +class TestEndpointResolution(BaseSessionTest): + + def setUp(self): + super(TestEndpointResolution, self).setUp() + self.xml_response = ( + b'\n\n' + b'\n' + b'\n' + b'' + ) + + def create_stubbed_client(self, service_name, region_name, **kwargs): + client = self.session.create_client(service_name, region_name, **kwargs) + http_stubber = ClientHTTPStubber(client) + http_stubber.start() + return client, http_stubber + + def test_regionalized_client_endpoint_resolution(self): + client, stubber = self.create_stubbed_client('s3', 'us-east-2') + stubber.add_response() + client.list_buckets() + self.assertEquals( + stubber.requests[0].url, + 'https://s3.us-east-2.amazonaws.com/' + ) + + def test_regionalized_client_with_unknown_region(self): + client, stubber = self.create_stubbed_client('s3', 'not-real') + stubber.add_response() + client.list_buckets() + # Validate we don't fall back to partition endpoint for + # regionalized services. + self.assertEquals( + stubber.requests[0].url, + 'https://s3.not-real.amazonaws.com/' + ) + + def test_unregionalized_client_endpoint_resolution(self): + client, stubber = self.create_stubbed_client('iam', 'us-west-2') + stubber.add_response(body=self.xml_response) + client.list_roles() + self.assertTrue( + stubber.requests[0].url.startswith('https://iam.amazonaws.com/') + ) + + def test_unregionalized_client_with_unknown_region(self): + client, stubber = self.create_stubbed_client('iam', 'not-real') + stubber.add_response(body=self.xml_response) + client.list_roles() + self.assertTrue( + stubber.requests[0].url.startswith('https://iam.amazonaws.com/') + ) diff -Nru python-botocore-1.4.70/tests/functional/test_response_shadowing.py python-botocore-1.16.19+repack/tests/functional/test_response_shadowing.py --- python-botocore-1.4.70/tests/functional/test_response_shadowing.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_response_shadowing.py 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,49 @@ +# Copyright 2020 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 botocore.session import Session +from nose.tools import assert_false + + +def _all_services(): + session = Session() + service_names = session.get_available_services() + for service_name in service_names: + yield session.get_service_model(service_name) + + +def _all_operations(): + for service_model in _all_services(): + for operation_name in service_model.operation_names: + yield service_model.operation_model(operation_name) + + +def _assert_not_shadowed(key, shape): + if not shape: + return + msg = ( + 'Found shape "%s" that shadows the botocore response key "%s"' + ) + assert_false(key in shape.members, msg % (shape.name, key)) + + +def test_response_metadata_is_not_shadowed(): + for operation_model in _all_operations(): + shape = operation_model.output_shape + yield _assert_not_shadowed, 'ResponseMetadata', shape + + +def test_exceptions_do_not_shadow(): + for service_model in _all_services(): + for shape in service_model.error_shapes: + yield _assert_not_shadowed, 'ResponseMetadata', shape + yield _assert_not_shadowed, 'Error', shape diff -Nru python-botocore-1.4.70/tests/functional/test_retry.py python-botocore-1.16.19+repack/tests/functional/test_retry.py --- python-botocore-1.4.70/tests/functional/test_retry.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_retry.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,189 @@ +# Copyright 2017 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. +import contextlib +import json +from tests import BaseSessionTest, mock, ClientHTTPStubber + +from botocore.exceptions import ClientError +from botocore.config import Config + + +class BaseRetryTest(BaseSessionTest): + def setUp(self): + super(BaseRetryTest, self).setUp() + self.region = 'us-west-2' + self.sleep_patch = mock.patch('time.sleep') + self.sleep_patch.start() + + def tearDown(self): + super(BaseRetryTest, self).tearDown() + self.sleep_patch.stop() + + @contextlib.contextmanager + def assert_will_retry_n_times(self, client, num_retries, + status=500, body=b'{}'): + num_responses = num_retries + 1 + if not isinstance(body, bytes): + body = json.dumps(body).encode() + with ClientHTTPStubber(client) as http_stubber: + for _ in range(num_responses): + http_stubber.add_response(status=status, body=body) + with self.assertRaisesRegexp( + ClientError, 'reached max retries: %s' % num_retries): + yield + self.assertEqual(len(http_stubber.requests), num_responses) + + +class TestLegacyRetry(BaseRetryTest): + def test_can_override_max_attempts(self): + client = self.session.create_client( + 'dynamodb', self.region, config=Config( + retries={'max_attempts': 1})) + with self.assert_will_retry_n_times(client, 1): + client.list_tables() + + def test_do_not_attempt_retries(self): + client = self.session.create_client( + 'dynamodb', self.region, config=Config( + retries={'max_attempts': 0})) + with self.assert_will_retry_n_times(client, 0): + client.list_tables() + + def test_setting_max_attempts_does_not_set_for_other_clients(self): + # Make one client with max attempts configured. + self.session.create_client( + 'codecommit', self.region, config=Config( + retries={'max_attempts': 1})) + + # Make another client that has no custom retry configured. + client = self.session.create_client('codecommit', self.region) + # It should use the default max retries, which should be four retries + # for this service. + with self.assert_will_retry_n_times(client, 4): + client.list_repositories() + + def test_service_specific_defaults_do_not_mutate_general_defaults(self): + # This tests for a bug where if you created a client for a service + # with specific retry configurations and then created a client for + # a service whose retry configurations fallback to the general + # defaults, the second client would actually use the defaults of + # the first client. + + # Make a dynamodb client. It's a special case client that is + # configured to a make a maximum of 10 requests (9 retries). + client = self.session.create_client('dynamodb', self.region) + with self.assert_will_retry_n_times(client, 9): + client.list_tables() + + # A codecommit client is not a special case for retries. It will at + # most make 5 requests (4 retries) for its default. + client = self.session.create_client('codecommit', self.region) + with self.assert_will_retry_n_times(client, 4): + client.list_repositories() + + def test_set_max_attempts_on_session(self): + self.session.set_default_client_config( + Config(retries={'max_attempts': 1})) + # Max attempts should be inherited from the session. + client = self.session.create_client('codecommit', self.region) + with self.assert_will_retry_n_times(client, 1): + client.list_repositories() + + def test_can_clobber_max_attempts_on_session(self): + self.session.set_default_client_config( + Config(retries={'max_attempts': 1})) + # Max attempts should override the session's configured max attempts. + client = self.session.create_client( + 'codecommit', self.region, config=Config( + retries={'max_attempts': 0})) + with self.assert_will_retry_n_times(client, 0): + client.list_repositories() + + +class TestRetriesV2(BaseRetryTest): + def create_client_with_retry_mode(self, service, retry_mode, + max_attempts=None): + retries = {'mode': retry_mode} + if max_attempts is not None: + retries['total_max_attempts'] = max_attempts + client = self.session.create_client( + service, self.region, config=Config(retries=retries)) + return client + + def test_standard_mode_has_default_3_retries(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard') + with self.assert_will_retry_n_times(client, 2): + client.list_tables() + + def test_standard_mode_can_configure_max_attempts(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard', max_attempts=5) + with self.assert_will_retry_n_times(client, 4): + client.list_tables() + + def test_no_retry_needed_standard_mode(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard') + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response(status=200, body=b'{}') + client.list_tables() + + def test_standard_mode_retry_throttling_error(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard') + error_body = { + "__type": "ThrottlingException", + "message": "Error" + } + with self.assert_will_retry_n_times(client, 2, + status=400, + body=error_body): + client.list_tables() + + def test_standard_mode_retry_transient_error(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard') + with self.assert_will_retry_n_times(client, 2, status=502): + client.list_tables() + + def test_adaptive_mode_still_retries_errors(self): + # Verify that adaptive mode is just adding on to standard mode. + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='adaptive') + with self.assert_will_retry_n_times(client, 2): + client.list_tables() + + def test_adaptive_mode_retry_transient_error(self): + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='adaptive') + with self.assert_will_retry_n_times(client, 2, status=502): + client.list_tables() + + def test_can_exhaust_default_retry_quota(self): + # Quota of 500 / 5 retry costs == 100 retry attempts + # 100 retry attempts / 2 retries per API call == 50 client calls + client = self.create_client_with_retry_mode( + 'dynamodb', retry_mode='standard') + for i in range(50): + with self.assert_will_retry_n_times(client, 2, status=502): + client.list_tables() + # Now on the 51th attempt we should see quota errors, which we can + # verify by looking at the request metadata. + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response(status=502, body=b'{}') + with self.assertRaises(ClientError) as e: + client.list_tables() + self.assertTrue( + e.exception.response['ResponseMetadata'].get('RetryQuotaReached') + ) diff -Nru python-botocore-1.4.70/tests/functional/test_route53.py python-botocore-1.16.19+repack/tests/functional/test_route53.py --- python-botocore-1.4.70/tests/functional/test_route53.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_route53.py 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,72 @@ +# Copyright 2014 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, BaseSessionTest, ClientHTTPStubber + +import botocore.session +from botocore.stub import Stubber + +class TestRoute53Pagination(unittest.TestCase): + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client('route53', 'us-west-2') + self.stubber = Stubber(self.client) + # response has required fields + self.response = { + 'HostedZones': [], + 'Marker': '', + 'IsTruncated': True, + 'MaxItems': '1' + } + self.operation_name = 'list_hosted_zones' + + def test_paginate_with_max_items_int(self): + # Route53 has a string type for MaxItems. We need to ensure that this + # still works with integers as the cli auto converts the page size + # argument to an integer. + self.stubber.add_response(self.operation_name, self.response) + paginator = self.client.get_paginator('list_hosted_zones') + with self.stubber: + config={'PageSize': 1} + results = list(paginator.paginate(PaginationConfig=config)) + self.assertTrue(len(results) >= 0) + + def test_paginate_with_max_items_str(self): + # Route53 has a string type for MaxItems. We need to ensure that this + # still works with strings as that's the expected type for this key. + self.stubber.add_response(self.operation_name, self.response) + paginator = self.client.get_paginator('list_hosted_zones') + with self.stubber: + config={'PageSize': '1'} + results = list(paginator.paginate(PaginationConfig=config)) + self.assertTrue(len(results) >= 0) + +class TestRoute53EndpointResolution(BaseSessionTest): + + def create_stubbed_client(self, service_name, region_name, **kwargs): + client = self.session.create_client(service_name, region_name, **kwargs) + http_stubber = ClientHTTPStubber(client) + http_stubber.start() + http_stubber.add_response() + return client, http_stubber + + def test_unregionalized_client_endpoint_resolution(self): + client, stubber = self.create_stubbed_client('route53', 'us-west-2') + client.list_geo_locations() + expected_url = 'https://route53.amazonaws.com/' + self.assertTrue(stubber.requests[0].url.startswith(expected_url)) + + def test_unregionalized_client_with_unknown_region(self): + client, stubber = self.create_stubbed_client('route53', 'not-real') + client.list_geo_locations() + expected_url = 'https://route53.amazonaws.com/' + self.assertTrue(stubber.requests[0].url.startswith(expected_url)) diff -Nru python-botocore-1.4.70/tests/functional/test_s3_control.py python-botocore-1.16.19+repack/tests/functional/test_s3_control.py --- python-botocore-1.4.70/tests/functional/test_s3_control.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_s3_control.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,66 @@ +# Copyright 2018 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, mock, BaseSessionTest, create_session + +from botocore.config import Config +from botocore.awsrequest import AWSResponse + + +class S3ControlOperationTest(BaseSessionTest): + def setUp(self): + super(S3ControlOperationTest, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 's3control', self.region) + self.session_send_patch = mock.patch( + 'botocore.endpoint.Endpoint._send') + self.http_session_send_mock = self.session_send_patch.start() + self.http_response = mock.Mock(spec=AWSResponse) + self.http_response.status_code = 200 + self.http_response.headers = {} + self.http_response.content = '' + self.http_session_send_mock.return_value = self.http_response + + def tearDown(self): + super(BaseSessionTest, self).tearDown() + self.session_send_patch.stop() + + def test_does_add_account_id_to_host(self): + self.client.get_public_access_block(AccountId='123') + self.assertEqual(self.http_session_send_mock.call_count, 1) + request = self.http_session_send_mock.call_args_list[0][0][0] + + self.assertTrue(request.url.startswith( + 'https://123.s3-control.us-west-2.amazonaws.com')) + + def test_does_remove_account_id_from_headers(self): + self.client.get_public_access_block(AccountId='123') + self.assertEqual(self.http_session_send_mock.call_count, 1) + request = self.http_session_send_mock.call_args_list[0][0][0] + + self.assertIn('x-amz-account-id', request.headers) + + def test_does_support_dualstack_endpoint(self): + # Re-create the client with the use_dualstack_endpoint configuration + # option set to True. + self.client = self.session.create_client( + 's3control', self.region, config=Config( + s3={'use_dualstack_endpoint': True} + ) + ) + self.client.get_public_access_block(AccountId='123') + + self.assertEqual(self.http_session_send_mock.call_count, 1) + request = self.http_session_send_mock.call_args_list[0][0][0] + self.assertTrue(request.url.startswith( + 'https://123.s3-control.dualstack.us-west-2.amazonaws.com')) diff -Nru python-botocore-1.4.70/tests/functional/test_s3.py python-botocore-1.16.19+repack/tests/functional/test_s3.py --- python-botocore-1.4.70/tests/functional/test_s3.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_s3.py 2020-05-28 19:26:16.000000000 +0000 @@ -10,16 +10,19 @@ # 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, mock, BaseSessionTest, create_session -import os -import nose +import re + +from tests import temporary_file +from tests import unittest, mock, BaseSessionTest, create_session, ClientHTTPStubber from nose.tools import assert_equal import botocore.session from botocore.config import Config -from botocore.compat import six +from botocore.compat import datetime, urlsplit, parse_qs from botocore.exceptions import ParamValidationError, ClientError -from botocore.stub import Stubber +from botocore.exceptions import InvalidS3UsEast1RegionalEndpointConfigError +from botocore.parsers import ResponseParserError +from botocore import UNSIGNED class TestS3BucketValidation(unittest.TestCase): @@ -37,30 +40,609 @@ self.region = 'us-west-2' self.client = self.session.create_client( 's3', self.region) - self.session_send_patch = mock.patch('botocore.endpoint.Session.send') - self.http_session_send_mock = self.session_send_patch.start() + self.http_stubber = ClientHTTPStubber(self.client) + + +class BaseS3ClientConfigurationTest(BaseSessionTest): + def setUp(self): + super(BaseS3ClientConfigurationTest, self).setUp() + self.region = 'us-west-2' + + def create_s3_client(self, **kwargs): + client_kwargs = { + 'region_name': self.region + } + client_kwargs.update(kwargs) + return self.session.create_client('s3', **client_kwargs) + + def set_config_file(self, fileobj, contents): + fileobj.write(contents) + fileobj.flush() + self.environ['AWS_CONFIG_FILE'] = fileobj.name + + +class TestS3ClientConfigResolution(BaseS3ClientConfigurationTest): + def test_no_s3_config(self): + client = self.create_s3_client() + self.assertIsNone(client.meta.config.s3) + + def test_client_s3_dualstack_handles_uppercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_dualstack_endpoint = True' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['use_dualstack_endpoint'], True) + + def test_client_s3_dualstack_handles_lowercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_dualstack_endpoint = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['use_dualstack_endpoint'], True) + + def test_client_s3_accelerate_handles_uppercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_accelerate_endpoint = True' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['use_accelerate_endpoint'], True) + + def test_client_s3_accelerate_handles_lowercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_accelerate_endpoint = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['use_accelerate_endpoint'], True) + + def test_client_payload_signing_enabled_handles_uppercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' payload_signing_enabled = True' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['payload_signing_enabled'], True) + + def test_client_payload_signing_enabled_handles_lowercase_true(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' payload_signing_enabled = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['payload_signing_enabled'], True) + + def test_includes_unmodeled_s3_config_vars(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' unmodeled = unmodeled_val' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3['unmodeled'], 'unmodeled_val') + + def test_mixed_modeled_and_unmodeled_config_vars(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' payload_signing_enabled = true\n' + ' unmodeled = unmodeled_val' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'payload_signing_enabled': True, + 'unmodeled': 'unmodeled_val' + } + ) + + def test_use_arn_region(self): + self.environ['AWS_S3_USE_ARN_REGION'] = 'true' + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': True, + } + ) + + def test_use_arn_region_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3_use_arn_region = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': True, + } + ) + + def test_use_arn_region_nested_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_arn_region = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': True, + } + ) + + def test_use_arn_region_is_case_insensitive(self): + self.environ['AWS_S3_USE_ARN_REGION'] = 'True' + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': True, + } + ) + + def test_use_arn_region_env_var_overrides_config_var(self): + self.environ['AWS_S3_USE_ARN_REGION'] = 'false' + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_arn_region = true' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': False, + } + ) + + def test_client_config_use_arn_region_overrides_env_var(self): + self.environ['AWS_S3_USE_ARN_REGION'] = 'true' + client = self.create_s3_client( + config=Config( + s3={'use_arn_region': False} + ) + ) + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': False, + } + ) + + def test_client_config_use_arn_region_overrides_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' use_arn_region = true' + ) + client = self.create_s3_client( + config=Config( + s3={'use_arn_region': False} + ) + ) + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': False, + } + ) + + def test_use_arn_region_is_case_insensitive(self): + self.environ['AWS_S3_USE_ARN_REGION'] = 'True' + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'use_arn_region': True, + } + ) + + + def test_us_east_1_regional_env_var(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'regional', + } + ) + + def test_us_east_1_regional_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3_us_east_1_regional_endpoint = regional' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'regional', + } + ) + + def test_us_east_1_regional_nested_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' us_east_1_regional_endpoint = regional' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'regional', + } + ) + + def test_us_east_1_regional_env_var_overrides_config_var(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' us_east_1_regional_endpoint = legacy' + ) + client = self.create_s3_client() + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'regional', + } + ) + + def test_client_config_us_east_1_regional_overrides_env_var(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + client = self.create_s3_client( + config=Config( + s3={'us_east_1_regional_endpoint': 'legacy'} + ) + ) + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'legacy', + } + ) + + def test_client_config_us_east_1_regional_overrides_config_var(self): + with temporary_file('w') as f: + self.set_config_file( + f, + '[default]\n' + 's3 = \n' + ' us_east_1_regional_endpoint = legacy' + ) + client = self.create_s3_client( + config=Config( + s3={'us_east_1_regional_endpoint': 'regional'} + ) + ) + self.assertEqual( + client.meta.config.s3, + { + 'us_east_1_regional_endpoint': 'regional', + } + ) + + def test_client_validates_us_east_1_regional(self): + with self.assertRaises(InvalidS3UsEast1RegionalEndpointConfigError): + self.create_s3_client( + config=Config( + s3={'us_east_1_regional_endpoint': 'not-valid'} + ) + ) + + def test_client_region_defaults_to_us_east_1(self): + client = self.create_s3_client(region_name=None) + self.assertEqual(client.meta.region_name, 'us-east-1') + + def test_client_region_remains_us_east_1(self): + client = self.create_s3_client(region_name='us-east-1') + self.assertEqual(client.meta.region_name, 'us-east-1') + + def test_client_region_remains_aws_global(self): + client = self.create_s3_client(region_name='aws-global') + self.assertEqual(client.meta.region_name, 'aws-global') + + def test_client_region_defaults_to_aws_global_for_regional(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + client = self.create_s3_client(region_name=None) + self.assertEqual(client.meta.region_name, 'aws-global') + + def test_client_region_remains_us_east_1_for_regional(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + client = self.create_s3_client(region_name='us-east-1') + self.assertEqual(client.meta.region_name, 'us-east-1') + + def test_client_region_remains_aws_global_for_regional(self): + self.environ['AWS_S3_US_EAST_1_REGIONAL_ENDPOINT'] = 'regional' + client = self.create_s3_client(region_name='aws-global') + self.assertEqual(client.meta.region_name, 'aws-global') + + +class TestS3Copy(BaseS3OperationTest): + + def create_s3_client(self, **kwargs): + client_kwargs = { + 'region_name': self.region + } + client_kwargs.update(kwargs) + return self.session.create_client('s3', **client_kwargs) - def tearDown(self): - super(BaseSessionTest, self).tearDown() - self.session_send_patch.stop() + def create_stubbed_s3_client(self, **kwargs): + client = self.create_s3_client(**kwargs) + http_stubber = ClientHTTPStubber(client) + http_stubber.start() + return client, http_stubber + + def test_s3_copy_object_with_empty_response(self): + self.client, self.http_stubber = self.create_stubbed_s3_client( + region_name='us-east-1' + ) + + empty_body = b'' + complete_body = ( + b'\n\n' + b'' + b'2020-04-21T21:03:31.000Z' + b'"s0mEcH3cK5uM"' + ) + + self.http_stubber.add_response(status=200, body=empty_body) + self.http_stubber.add_response(status=200, body=complete_body) + response = self.client.copy_object( + Bucket='bucket', + CopySource='other-bucket/test.txt', + Key='test.txt', + ) + + # Validate we retried and got second body + self.assertEquals(len(self.http_stubber.requests), 2) + self.assertEquals(response['ResponseMetadata']['HTTPStatusCode'], 200) + self.assertTrue('CopyObjectResult' in response) + + def test_s3_copy_object_with_incomplete_response(self): + self.client, self.http_stubber = self.create_stubbed_s3_client( + region_name='us-east-1' + ) + + incomplete_body = b'\n\n\n' + self.http_stubber.add_response(status=200, body=incomplete_body) + with self.assertRaises(ResponseParserError): + self.client.copy_object( + Bucket='bucket', + CopySource='other-bucket/test.txt', + Key='test.txt', + ) + + +class TestAccesspointArn(BaseS3ClientConfigurationTest): + _V4_AUTH_REGEX = re.compile( + r'AWS4-HMAC-SHA256 ' + r'Credential=\w+/\d+/' + r'(?P[a-z0-9-]+)/' + ) + + def setUp(self): + super(TestAccesspointArn, self).setUp() + self.client, self.http_stubber = self.create_stubbed_s3_client() + + def create_stubbed_s3_client(self, **kwargs): + client = self.create_s3_client(**kwargs) + http_stubber = ClientHTTPStubber(client) + http_stubber.start() + return client, http_stubber + + def assert_signing_region(self, request, expected_region): + auth_header = request.headers['Authorization'].decode('utf-8') + actual_region = self._V4_AUTH_REGEX.match( + auth_header).group('signing_region') + self.assertEqual(expected_region, actual_region) + + def assert_signing_region_in_url(self, url, expected_region): + qs_components = parse_qs(urlsplit(url).query) + self.assertIn(expected_region, qs_components['X-Amz-Credential'][0]) + + def test_missing_region_in_arn(self): + accesspoint_arn = ( + 'arn:aws:s3::123456789012:accesspoint:myendpoint' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_missing_account_id_in_arn(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2::accesspoint:myendpoint' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_missing_accesspoint_name_in_arn(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_includes_asterisk(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:*' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_includes_dot(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:my.endpoint' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_arn_contains_subresources(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint:object' + ) + with self.assertRaises(botocore.exceptions.ParamValidationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_arn_with_custom_endpoint(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + endpoint_url='https://custom.com') + with self.assertRaises( + botocore.exceptions. + UnsupportedS3AccesspointConfigurationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_arn_with_s3_accelerate(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + config=Config(s3={'use_accelerate_endpoint': True})) + with self.assertRaises( + botocore.exceptions. + UnsupportedS3AccesspointConfigurationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_arn_cross_partition(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + region_name='cn-north-1') + with self.assertRaises( + botocore.exceptions. + UnsupportedS3AccesspointConfigurationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_accesspoint_arn_cross_partition_use_client_region(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + region_name='cn-north-1', + config=Config(s3={'use_accelerate_endpoint': True}) + ) + with self.assertRaises( + botocore.exceptions. + UnsupportedS3AccesspointConfigurationError): + self.client.list_objects(Bucket=accesspoint_arn) + + def test_signs_with_arn_region(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, self.http_stubber = self.create_stubbed_s3_client( + region_name='us-east-1') + self.http_stubber.add_response() + self.client.list_objects(Bucket=accesspoint_arn) + self.assert_signing_region(self.http_stubber.requests[0], 'us-west-2') + + def test_signs_with_client_region_when_use_arn_region_false(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, self.http_stubber = self.create_stubbed_s3_client( + region_name='us-east-1', + config=Config(s3={'use_arn_region': False}) + ) + self.http_stubber.add_response() + self.client.list_objects(Bucket=accesspoint_arn) + self.assert_signing_region(self.http_stubber.requests[0], 'us-east-1') + + def test_presign_signs_with_arn_region(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + region_name='us-east-1', + config=Config(signature_version='s3v4') + ) + url = self.client.generate_presigned_url( + 'get_object', {'Bucket': accesspoint_arn, 'Key': 'mykey'}) + self.assert_signing_region_in_url(url, 'us-west-2') + + def test_presign_signs_with_client_region_when_use_arn_region_false(self): + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + self.client, _ = self.create_stubbed_s3_client( + region_name='us-east-1', + config=Config( + signature_version='s3v4', s3={'use_arn_region': False} + ) + ) + url = self.client.generate_presigned_url( + 'get_object', {'Bucket': accesspoint_arn, 'Key': 'mykey'}) + self.assert_signing_region_in_url(url, 'us-east-1') class TestOnlyAsciiCharsAllowed(BaseS3OperationTest): def test_validates_non_ascii_chars_trigger_validation_error(self): - self.http_session_send_mock.return_value = mock.Mock(status_code=200, - headers={}, - content=b'') - with self.assertRaises(ParamValidationError): - self.client.put_object( - Bucket='foo', Key='bar', Metadata={ - 'goodkey': 'good', 'non-ascii': u'\u2713'}) + self.http_stubber.add_response() + with self.http_stubber: + with self.assertRaises(ParamValidationError): + self.client.put_object( + Bucket='foo', Key='bar', Metadata={ + 'goodkey': 'good', 'non-ascii': u'\u2713'}) class TestS3GetBucketLifecycle(BaseS3OperationTest): def test_multiple_transitions_returns_one(self): - http_response = mock.Mock() - http_response.status_code = 200 - http_response.content = ( + response_body = ( '' '' @@ -92,10 +674,10 @@ ' ' '' ).encode('utf-8') - http_response.headers = {} - self.http_session_send_mock.return_value = http_response s3 = self.session.create_client('s3') - response = s3.get_bucket_lifecycle(Bucket='mybucket') + with ClientHTTPStubber(s3) as http_stubber: + http_stubber.add_response(body=response_body) + response = s3.get_bucket_lifecycle(Bucket='mybucket') # Each Transition member should have at least one of the # transitions provided. self.assertEqual( @@ -132,24 +714,15 @@ 'Content-Length: 0\r\n' 'Server: AmazonS3\r\n' ).encode('utf-8') - http_500_response = mock.Mock() - http_500_response.status_code = 500 - http_500_response.content = non_xml_content - http_500_response.headers = {} - - success_response = mock.Mock() - success_response.status_code = 200 - success_response.content = b'' - success_response.headers = {} - - self.http_session_send_mock.side_effect = [ - http_500_response, success_response - ] s3 = self.session.create_client('s3') - response = s3.put_object(Bucket='mybucket', Key='mykey', Body=b'foo') - # The first response should have been retried even though the xml is - # invalid and eventually return the 200 response. - self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200) + with ClientHTTPStubber(s3) as http_stubber: + http_stubber.add_response(status=500, body=non_xml_content) + http_stubber.add_response() + response = s3.put_object(Bucket='mybucket', Key='mykey', Body=b'foo') + # The first response should have been retried even though the xml is + # invalid and eventually return the 200 response. + self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200) + self.assertEqual(len(http_stubber.requests), 2) class TestS3SigV4(BaseS3OperationTest): @@ -157,17 +730,15 @@ super(TestS3SigV4, self).setUp() self.client = self.session.create_client( 's3', self.region, config=Config(signature_version='s3v4')) - self.response_mock = mock.Mock() - self.response_mock.content = b'' - self.response_mock.headers = {} - self.response_mock.status_code = 200 - self.http_session_send_mock.return_value = self.response_mock + self.http_stubber = ClientHTTPStubber(self.client) + self.http_stubber.add_response() def get_sent_headers(self): - return self.http_session_send_mock.mock_calls[0][1][0].headers + return self.http_stubber.requests[0].headers def test_content_md5_set(self): - self.client.put_object(Bucket='foo', Key='bar', Body='baz') + with self.http_stubber: + self.client.put_object(Bucket='foo', Key='bar', Body='baz') self.assertIn('content-md5', self.get_sent_headers()) def test_content_sha256_set_if_config_value_is_true(self): @@ -176,7 +747,10 @@ }) self.client = self.session.create_client( 's3', self.region, config=config) - self.client.put_object(Bucket='foo', Key='bar', Body='baz') + self.http_stubber = ClientHTTPStubber(self.client) + self.http_stubber.add_response() + with self.http_stubber: + self.client.put_object(Bucket='foo', Key='bar', Body='baz') sent_headers = self.get_sent_headers() sha_header = sent_headers.get('x-amz-content-sha256') self.assertNotEqual(sha_header, b'UNSIGNED-PAYLOAD') @@ -187,7 +761,10 @@ }) self.client = self.session.create_client( 's3', self.region, config=config) - self.client.put_object(Bucket='foo', Key='bar', Body='baz') + self.http_stubber = ClientHTTPStubber(self.client) + self.http_stubber.add_response() + with self.http_stubber: + self.client.put_object(Bucket='foo', Key='bar', Body='baz') sent_headers = self.get_sent_headers() sha_header = sent_headers.get('x-amz-content-sha256') self.assertEqual(sha_header, b'UNSIGNED-PAYLOAD') @@ -195,7 +772,8 @@ def test_content_sha256_set_if_md5_is_unavailable(self): with mock.patch('botocore.auth.MD5_AVAILABLE', False): with mock.patch('botocore.handlers.MD5_AVAILABLE', False): - self.client.put_object(Bucket='foo', Key='bar', Body='baz') + with self.http_stubber: + self.client.put_object(Bucket='foo', Key='bar', Body='baz') sent_headers = self.get_sent_headers() unsigned = 'UNSIGNED-PAYLOAD' self.assertNotEqual(sent_headers['x-amz-content-sha256'], unsigned) @@ -208,98 +786,196 @@ def test_int_values_with_sigv4(self): s3 = self.session.create_client( 's3', config=Config(signature_version='s3v4')) - with mock.patch('botocore.endpoint.Session.send') as mock_send: - mock_send.return_value = mock.Mock(status_code=200, - content=b'', - headers={}) + with ClientHTTPStubber(s3) as http_stubber: + http_stubber.add_response() s3.upload_part(Bucket='foo', Key='bar', Body=b'foo', UploadId='bar', PartNumber=1, ContentLength=3) - headers = mock_send.call_args[0][0].headers + headers = http_stubber.requests[0].headers # Verify that the request integer value of 3 has been converted to # string '3'. This also means we've made it pass the signer which # expects string values in order to sign properly. - self.assertEqual(headers['Content-Length'], '3') - + self.assertEqual(headers['Content-Length'], b'3') class TestRegionRedirect(BaseS3OperationTest): def setUp(self): super(TestRegionRedirect, self).setUp() self.client = self.session.create_client( - 's3', 'us-west-2', config=Config(signature_version='s3v4')) - - self.redirect_response = mock.Mock() - self.redirect_response.headers = { - 'x-amz-bucket-region': 'eu-central-1' + 's3', 'us-west-2', config=Config( + signature_version='s3v4', + s3={'addressing_style': 'path'}, + )) + self.http_stubber = ClientHTTPStubber(self.client) + + self.redirect_response = { + 'status': 301, + 'headers': {'x-amz-bucket-region': 'eu-central-1'}, + 'body': ( + b'\n' + b'' + b' PermanentRedirect' + b' The bucket you are attempting to access must be' + b' addressed using the specified endpoint. Please send ' + b' all future requests to this endpoint.' + b' ' + b' foo' + b' foo.s3.eu-central-1.amazonaws.com' + b'' + ) + } + self.bad_signing_region_response = { + 'status': 400, + 'headers': {'x-amz-bucket-region': 'eu-central-1'}, + 'body': ( + b'' + b'' + b' AuthorizationHeaderMalformed' + b' the region us-west-2 is wrong; ' + b'expecting eu-central-1' + b' eu-central-1' + b' BD9AA1730D454E39' + b' ' + b'' + ) + } + self.success_response = { + 'status': 200, + 'headers': {}, + 'body': ( + b'\n' + b'' + b' foo' + b' ' + b' ' + b' 1000' + b' url' + b' false' + b'' + ) } - self.redirect_response.status_code = 301 - self.redirect_response.content = ( - b'\n' - b'' - b' PermanentRedirect' - b' The bucket you are attempting to access must be ' - b' addressed using the specified endpoint. Please send all ' - b' future requests to this endpoint.' - b' ' - b' foo' - b' foo.s3.eu-central-1.amazonaws.com' - b'') - - self.success_response = mock.Mock() - self.success_response.headers = {} - self.success_response.status_code = 200 - self.success_response.content = ( - b'\n' - b'' - b' foo' - b' ' - b' ' - b' 1000' - b' url' - b' false' - b'') def test_region_redirect(self): - self.http_session_send_mock.side_effect = [ - self.redirect_response, self.success_response] - response = self.client.list_objects(Bucket='foo') + self.http_stubber.add_response(**self.redirect_response) + self.http_stubber.add_response(**self.success_response) + with self.http_stubber: + response = self.client.list_objects(Bucket='foo') self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200) - self.assertEqual(self.http_session_send_mock.call_count, 2) + self.assertEqual(len(self.http_stubber.requests), 2) - calls = [c[0][0] for c in self.http_session_send_mock.call_args_list] - initial_url = ('https://s3-us-west-2.amazonaws.com/foo' + initial_url = ('https://s3.us-west-2.amazonaws.com/foo' '?encoding-type=url') - self.assertEqual(calls[0].url, initial_url) + self.assertEqual(self.http_stubber.requests[0].url, initial_url) fixed_url = ('https://s3.eu-central-1.amazonaws.com/foo' '?encoding-type=url') - self.assertEqual(calls[1].url, fixed_url) + self.assertEqual(self.http_stubber.requests[1].url, fixed_url) def test_region_redirect_cache(self): - self.http_session_send_mock.side_effect = [ - self.redirect_response, self.success_response, - self.success_response] + self.http_stubber.add_response(**self.redirect_response) + self.http_stubber.add_response(**self.success_response) + self.http_stubber.add_response(**self.success_response) + + with self.http_stubber: + first_response = self.client.list_objects(Bucket='foo') + second_response = self.client.list_objects(Bucket='foo') - first_response = self.client.list_objects(Bucket='foo') self.assertEqual( first_response['ResponseMetadata']['HTTPStatusCode'], 200) - second_response = self.client.list_objects(Bucket='foo') self.assertEqual( second_response['ResponseMetadata']['HTTPStatusCode'], 200) - self.assertEqual(self.http_session_send_mock.call_count, 3) - calls = [c[0][0] for c in self.http_session_send_mock.call_args_list] - initial_url = ('https://s3-us-west-2.amazonaws.com/foo' + self.assertEqual(len(self.http_stubber.requests), 3) + initial_url = ('https://s3.us-west-2.amazonaws.com/foo' '?encoding-type=url') - self.assertEqual(calls[0].url, initial_url) + self.assertEqual(self.http_stubber.requests[0].url, initial_url) fixed_url = ('https://s3.eu-central-1.amazonaws.com/foo' '?encoding-type=url') - self.assertEqual(calls[1].url, fixed_url) - self.assertEqual(calls[2].url, fixed_url) + self.assertEqual(self.http_stubber.requests[1].url, fixed_url) + self.assertEqual(self.http_stubber.requests[2].url, fixed_url) + + def test_resign_request_with_region_when_needed(self): + + # Create a client with no explicit configuration so we can + # verify the default behavior. + client = self.session.create_client('s3', 'us-west-2') + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response(**self.bad_signing_region_response) + http_stubber.add_response(**self.success_response) + first_response = client.list_objects(Bucket='foo') + self.assertEqual( + first_response['ResponseMetadata']['HTTPStatusCode'], 200) + + self.assertEqual(len(http_stubber.requests), 2) + initial_url = ('https://foo.s3.us-west-2.amazonaws.com/' + '?encoding-type=url') + self.assertEqual(http_stubber.requests[0].url, initial_url) + + fixed_url = ('https://foo.s3.eu-central-1.amazonaws.com/' + '?encoding-type=url') + self.assertEqual(http_stubber.requests[1].url, fixed_url) + + def test_resign_request_in_us_east_1(self): + region_headers = {'x-amz-bucket-region': 'eu-central-1'} + + # Verify that the default behavior in us-east-1 will redirect + client = self.session.create_client('s3', 'us-east-1') + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response(status=400) + http_stubber.add_response(status=400, headers=region_headers) + http_stubber.add_response(headers=region_headers) + http_stubber.add_response() + response = client.head_object(Bucket='foo', Key='bar') + self.assertEqual(response['ResponseMetadata']['HTTPStatusCode'], 200) + + self.assertEqual(len(http_stubber.requests), 4) + initial_url = ('https://foo.s3.amazonaws.com/bar') + self.assertEqual(http_stubber.requests[0].url, initial_url) + + fixed_url = ('https://foo.s3.eu-central-1.amazonaws.com/bar') + self.assertEqual(http_stubber.requests[-1].url, fixed_url) + + def test_resign_request_in_us_east_1_fails(self): + region_headers = {'x-amz-bucket-region': 'eu-central-1'} + + # Verify that the final 400 response is propagated + # back to the user. + client = self.session.create_client('s3', 'us-east-1') + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response(status=400) + http_stubber.add_response(status=400, headers=region_headers) + http_stubber.add_response(headers=region_headers) + # The final request still fails with a 400. + http_stubber.add_response(status=400) + with self.assertRaises(ClientError) as e: + client.head_object(Bucket='foo', Key='bar') + self.assertEqual(len(http_stubber.requests), 4) + + def test_no_region_redirect_for_accesspoint(self): + self.http_stubber.add_response(**self.redirect_response) + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + with self.http_stubber: + try: + self.client.list_objects(Bucket=accesspoint_arn) + except self.client.exceptions.ClientError as e: + self.assertEqual( + e.response['Error']['Code'], 'PermanentRedirect') + else: + self.fail('PermanentRedirect error should have been raised') class TestGeneratePresigned(BaseS3OperationTest): + def assert_is_v2_presigned_url(self, url): + qs_components = parse_qs(urlsplit(url).query) + # Assert that it looks like a v2 presigned url by asserting it does + # not have a couple of the v4 qs components and assert that it has the + # v2 Signature component. + self.assertNotIn('X-Amz-Credential', qs_components) + self.assertNotIn('X-Amz-Algorithm', qs_components) + self.assertIn('Signature', qs_components) + def test_generate_unauthed_url(self): config = Config(signature_version=botocore.UNSIGNED) client = self.session.create_client('s3', self.region, config=config) @@ -321,30 +997,222 @@ } self.assertEqual(parts, expected) + def test_default_presign_uses_sigv2(self): + url = self.client.generate_presigned_url(ClientMethod='list_buckets') + self.assertNotIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_sigv4_presign(self): + config = Config(signature_version='s3v4') + client = self.session.create_client('s3', self.region, config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_sigv2_presign(self): + config = Config(signature_version='s3') + client = self.session.create_client('s3', self.region, config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertNotIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_uses_sigv4_for_unknown_region(self): + client = self.session.create_client('s3', 'us-west-88') + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_default_presign_sigv4_in_sigv4_only_region(self): + client = self.session.create_client('s3', 'us-east-2') + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertIn('Algorithm=AWS4-HMAC-SHA256', url) + + def test_presign_unsigned(self): + config = Config(signature_version=botocore.UNSIGNED) + client = self.session.create_client('s3', 'us-east-2', config=config) + url = client.generate_presigned_url(ClientMethod='list_buckets') + self.assertEqual( + 'https://s3.us-east-2.amazonaws.com/', url) + + def test_presign_url_with_ssec(self): + config = Config(signature_version='s3') + client = self.session.create_client('s3', 'us-east-1', config=config) + url = client.generate_presigned_url( + ClientMethod='get_object', + Params={ + 'Bucket': 'mybucket', + 'Key': 'mykey', + 'SSECustomerKey': 'a' * 32, + 'SSECustomerAlgorithm': 'AES256' + } + ) + # The md5 of the sse-c key will be injected when parameters are + # built so it should show up in the presigned url as well. + self.assertIn( + 'x-amz-server-side-encryption-customer-key-md5=', url + ) + + def test_presign_s3_accelerate(self): + config = Config(signature_version=botocore.UNSIGNED, + s3={'use_accelerate_endpoint': True}) + client = self.session.create_client('s3', 'us-east-1', config=config) + url = client.generate_presigned_url( + ClientMethod='get_object', + Params={'Bucket': 'mybucket', 'Key': 'mykey'} + ) + # The url should be the accelerate endpoint + self.assertEqual( + 'https://mybucket.s3-accelerate.amazonaws.com/mykey', url) + + def test_presign_post_s3_accelerate(self): + config = Config(signature_version=botocore.UNSIGNED, + s3={'use_accelerate_endpoint': True}) + client = self.session.create_client('s3', 'us-east-1', config=config) + parts = client.generate_presigned_post( + Bucket='mybucket', Key='mykey') + # The url should be the accelerate endpoint + expected = { + 'fields': {'key': 'mykey'}, + 'url': 'https://mybucket.s3-accelerate.amazonaws.com/' + } + self.assertEqual(parts, expected) + + def test_presign_uses_v2_for_aws_global(self): + client = self.session.create_client('s3', 'aws-global') + url = client.generate_presigned_url( + 'get_object', {'Bucket': 'mybucket', 'Key': 'mykey'}) + self.assert_is_v2_presigned_url(url) + + def test_presign_uses_v2_for_default_region_with_us_east_1_regional(self): + config = Config(s3={'us_east_1_regional_endpoint': 'regional'}) + client = self.session.create_client('s3', config=config) + url = client.generate_presigned_url( + 'get_object', {'Bucket': 'mybucket', 'Key': 'mykey'}) + self.assert_is_v2_presigned_url(url) + + def test_presign_uses_v2_for_aws_global_with_us_east_1_regional(self): + config = Config(s3={'us_east_1_regional_endpoint': 'regional'}) + client = self.session.create_client('s3', 'aws-global', config=config) + url = client.generate_presigned_url( + 'get_object', {'Bucket': 'mybucket', 'Key': 'mykey'}) + self.assert_is_v2_presigned_url(url) + + def test_presign_uses_v2_for_us_east_1(self): + client = self.session.create_client('s3', 'us-east-1') + url = client.generate_presigned_url( + 'get_object', {'Bucket': 'mybucket', 'Key': 'mykey'}) + self.assert_is_v2_presigned_url(url) + + def test_presign_uses_v2_for_us_east_1_with_us_east_1_regional(self): + config = Config(s3={'us_east_1_regional_endpoint': 'regional'}) + client = self.session.create_client('s3', 'us-east-1', config=config) + url = client.generate_presigned_url( + 'get_object', {'Bucket': 'mybucket', 'Key': 'mykey'}) + self.assert_is_v2_presigned_url(url) + def test_correct_url_used_for_s3(): # Test that given various sets of config options and bucket names, # we construct the expect endpoint url. t = S3AddressingCases(_verify_expected_endpoint_url) - # The default behavior. DNS compatible buckets + # The default behavior for sigv2. DNS compatible buckets yield t.case(region='us-west-2', bucket='bucket', key='key', - expected_url='https://bucket.s3.amazonaws.com/key') + signature_version='s3', + expected_url='https://bucket.s3.us-west-2.amazonaws.com/key') yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3', expected_url='https://bucket.s3.amazonaws.com/key') yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3.us-west-1.amazonaws.com/key') + yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3', is_secure=False, + expected_url='http://bucket.s3.us-west-1.amazonaws.com/key') + + # Virtual host addressing is independent of signature version. + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3v4', + expected_url=( + 'https://bucket.s3.us-west-2.amazonaws.com/key')) + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3v4', expected_url='https://bucket.s3.amazonaws.com/key') yield t.case(region='us-west-1', bucket='bucket', key='key', - is_secure=False, - expected_url='http://bucket.s3.amazonaws.com/key') + signature_version='s3v4', + expected_url=( + 'https://bucket.s3.us-west-1.amazonaws.com/key')) + yield t.case(region='us-west-1', bucket='bucket', key='key', + signature_version='s3v4', is_secure=False, + expected_url=( + 'http://bucket.s3.us-west-1.amazonaws.com/key')) + yield t.case( + region='us-west-1', bucket='bucket-with-num-1', key='key', + signature_version='s3v4', is_secure=False, + expected_url='http://bucket-with-num-1.s3.us-west-1.amazonaws.com/key') + + # Regions outside of the 'aws' partition. + # These should still default to virtual hosted addressing + # unless explicitly configured otherwise. + yield t.case(region='cn-north-1', bucket='bucket', key='key', + signature_version='s3v4', + expected_url=( + 'https://bucket.s3.cn-north-1.amazonaws.com.cn/key')) + # This isn't actually supported because cn-north-1 is sigv4 only, + # but we'll still double check that our internal logic is correct + # when building the expected url. + yield t.case(region='cn-north-1', bucket='bucket', key='key', + signature_version='s3', + expected_url=( + 'https://bucket.s3.cn-north-1.amazonaws.com.cn/key')) + # If the request is unsigned, we should have the default + # fix_s3_host behavior which is to use virtual hosting where + # possible but fall back to path style when needed. + yield t.case(region='cn-north-1', bucket='bucket', key='key', + signature_version=UNSIGNED, + expected_url=( + 'https://bucket.s3.cn-north-1.amazonaws.com.cn/key')) + yield t.case(region='cn-north-1', bucket='bucket.dot', key='key', + signature_version=UNSIGNED, + expected_url=( + 'https://s3.cn-north-1.amazonaws.com.cn/bucket.dot/key')) + + # And of course you can explicitly specify which style to use. + virtual_hosting = {'addressing_style': 'virtual'} + yield t.case(region='cn-north-1', bucket='bucket', key='key', + signature_version=UNSIGNED, + s3_config=virtual_hosting, + expected_url=( + 'https://bucket.s3.cn-north-1.amazonaws.com.cn/key')) + path_style = {'addressing_style': 'path'} + yield t.case(region='cn-north-1', bucket='bucket', key='key', + signature_version=UNSIGNED, + s3_config=path_style, + expected_url=( + 'https://s3.cn-north-1.amazonaws.com.cn/bucket/key')) # If you don't have a DNS compatible bucket, we use path style. yield t.case( region='us-west-2', bucket='bucket.dot', key='key', - expected_url='https://s3-us-west-2.amazonaws.com/bucket.dot/key') + expected_url='https://s3.us-west-2.amazonaws.com/bucket.dot/key') yield t.case( region='us-east-1', bucket='bucket.dot', key='key', expected_url='https://s3.amazonaws.com/bucket.dot/key') + yield t.case( + region='us-east-1', bucket='BucketName', key='key', + expected_url='https://s3.amazonaws.com/BucketName/key') + yield t.case( + region='us-west-1', bucket='bucket_name', key='key', + expected_url='https://s3.us-west-1.amazonaws.com/bucket_name/key') + yield t.case( + region='us-west-1', bucket='-bucket-name', key='key', + expected_url='https://s3.us-west-1.amazonaws.com/-bucket-name/key') + yield t.case( + region='us-west-1', bucket='bucket-name-', key='key', + expected_url='https://s3.us-west-1.amazonaws.com/bucket-name-/key') + yield t.case( + region='us-west-1', bucket='aa', key='key', + expected_url='https://s3.us-west-1.amazonaws.com/aa/key') + yield t.case( + region='us-west-1', bucket='a'*64, key='key', + expected_url=('https://s3.us-west-1.amazonaws.com/%s/key' % ('a' * 64)) + ) # Custom endpoint url should always be used. yield t.case( @@ -371,7 +1239,7 @@ yield t.case( region='us-west-2', bucket='bucket', key='key', s3_config=virtual_hosting, - expected_url='https://bucket.s3-us-west-2.amazonaws.com/key') + expected_url='https://bucket.s3.us-west-2.amazonaws.com/key') yield t.case( region='eu-central-1', bucket='bucket', key='key', s3_config=virtual_hosting, @@ -381,12 +1249,26 @@ s3_config=virtual_hosting, customer_provided_endpoint='https://foo.amazonaws.com', expected_url='https://bucket.foo.amazonaws.com/key') + yield t.case( + region='unknown', bucket='bucket', key='key', + s3_config=virtual_hosting, + expected_url='https://bucket.s3.unknown.amazonaws.com/key') # Test us-gov with virtual addressing. yield t.case( region='us-gov-west-1', bucket='bucket', key='key', s3_config=virtual_hosting, - expected_url='https://bucket.s3-us-gov-west-1.amazonaws.com/key') + expected_url='https://bucket.s3.us-gov-west-1.amazonaws.com/key') + + yield t.case( + region='us-gov-west-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3.us-gov-west-1.amazonaws.com/key') + yield t.case( + region='fips-us-gov-west-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3-fips-us-gov-west-1.amazonaws.com/key') + # Test path style addressing. path_style = {'addressing_style': 'path'} @@ -399,6 +1281,10 @@ s3_config=path_style, customer_provided_endpoint='https://foo.amazonaws.com/', expected_url='https://foo.amazonaws.com/bucket/key') + yield t.case( + region='unknown', bucket='bucket', key='key', + s3_config=path_style, + expected_url='https://s3.unknown.amazonaws.com/bucket/key') # S3 accelerate use_accelerate = {'use_accelerate_endpoint': True} @@ -440,6 +1326,10 @@ # 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='unknown', bucket='bucket', key='key', + s3_config=use_accelerate, + expected_url='https://bucket.s3-accelerate.amazonaws.com/key') # Use virtual even if path is specified for s3 accelerate because # path style will not work with S3 accelerate. yield t.case( @@ -452,15 +1342,40 @@ use_dualstack = {'use_dualstack_endpoint': True} yield t.case( region='us-east-1', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3', + # Still default to virtual hosted when possible on sigv2. + expected_url='https://bucket.s3.dualstack.us-east-1.amazonaws.com/key') + yield t.case( + region=None, bucket='bucket', key='key', s3_config=use_dualstack, - # Still default to virtual hosted when possible. + # Uses us-east-1 for no region set. expected_url='https://bucket.s3.dualstack.us-east-1.amazonaws.com/key') yield t.case( - region='us-west-2', bucket='bucket', key='key', + region='aws-global', bucket='bucket', key='key', s3_config=use_dualstack, - # Still default to virtual hosted when possible. + # Pseudo-regions should not have any special resolving logic even when + # the endpoint won't work as we do not have the metadata to know that + # a region does not support dualstack. So just format it based on the + # region name. expected_url=( - 'https://bucket.s3.dualstack.us-west-2.amazonaws.com/key')) + 'https://bucket.s3.dualstack.aws-global.amazonaws.com/key')) + yield t.case( + region='us-west-2', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3', + # Still default to virtual hosted when possible on sigv2. + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3v4', + expected_url='https://bucket.s3.dualstack.us-east-1.amazonaws.com/key') + yield t.case( + region='us-west-2', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3v4', + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + yield t.case( + region='unknown', bucket='bucket', key='key', + s3_config=use_dualstack, signature_version='s3v4', + expected_url='https://bucket.s3.dualstack.unknown.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', @@ -555,6 +1470,294 @@ expected_url=( 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + # Access-point arn cases + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': True}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='myendpoint/key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/myendpoint/key' + ) + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='foo/myendpoint/key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/foo/myendpoint/key' + ) + ) + yield t.case( + # Note: The access-point arn has us-west-2 and the client's region is + # us-east-1, for the default case the access-point arn region is used. + region='us-east-1', bucket=accesspoint_arn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-east-1', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-east-1.amazonaws.com/key' + ) + ) + yield t.case( + region='s3-external-1', bucket=accesspoint_arn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='s3-external-1', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 's3-external-1.amazonaws.com/key' + ) + ) + yield t.case( + region='aws-global', bucket=accesspoint_arn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='aws-global', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'aws-global.amazonaws.com/key' + ) + ) + yield t.case( + region='unknown', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'unknown.amazonaws.com/key' + ) + ) + yield t.case( + region='unknown', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': True}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + accesspoint_arn_cn = ( + 'arn:aws-cn:s3:cn-north-1:123456789012:accesspoint:myendpoint' + ) + yield t.case( + region='cn-north-1', bucket=accesspoint_arn_cn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'cn-north-1.amazonaws.com.cn/key' + ) + ) + yield t.case( + region='cn-northwest-1', bucket=accesspoint_arn_cn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'cn-north-1.amazonaws.com.cn/key' + ) + ) + yield t.case( + region='cn-northwest-1', bucket=accesspoint_arn_cn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'cn-northwest-1.amazonaws.com.cn/key' + ) + ) + accesspoint_arn_gov = ( + 'arn:aws-us-gov:s3:us-gov-east-1:123456789012:accesspoint:myendpoint' + ) + yield t.case( + region='us-gov-east-1', bucket=accesspoint_arn_gov, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-gov-east-1.amazonaws.com/key' + ) + ) + yield t.case( + region='fips-us-gov-west-1', bucket=accesspoint_arn_gov, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-gov-east-1.amazonaws.com/key' + ) + ) + yield t.case( + region='fips-us-gov-west-1', bucket=accesspoint_arn_gov, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'fips-us-gov-west-1.amazonaws.com/key' + ) + ) + + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', is_secure=False, + expected_url=( + 'http://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + # Dual-stack with access-point arn + yield t.case( + # Note: The access-point arn has us-west-2 and the client's region is + # us-east-1, for the default case the access-point arn region is used. + region='us-east-1', bucket=accesspoint_arn, key='key', + s3_config={ + 'use_dualstack_endpoint': True, + }, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.dualstack.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-east-1', bucket=accesspoint_arn, key='key', + s3_config={ + 'use_dualstack_endpoint': True, + 'use_arn_region': False + }, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.dualstack.' + 'us-east-1.amazonaws.com/key' + ) + ) + yield t.case( + region='us-gov-east-1', bucket=accesspoint_arn_gov, key='key', + s3_config={ + 'use_dualstack_endpoint': True, + }, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.dualstack.' + 'us-gov-east-1.amazonaws.com/key' + ) + ) + + # None of the various s3 settings related to paths should affect what + # endpoint to use when an access-point is provided. + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + s3_config={'adressing_style': 'auto'}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + s3_config={'adressing_style': 'virtual'}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + s3_config={'adressing_style': 'path'}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + + # Use us-east-1 regional endpoint cases: regional + us_east_1_regional_endpoint = { + 'us_east_1_regional_endpoint': 'regional' + } + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, + expected_url=( + 'https://bucket.s3.us-east-1.amazonaws.com/key')) + yield t.case( + region='us-west-2', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, + expected_url=( + 'https://bucket.s3.us-west-2.amazonaws.com/key')) + yield t.case( + region=None, bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, + expected_url=( + 'https://bucket.s3.amazonaws.com/key')) + yield t.case( + region='unknown', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, + expected_url=( + 'https://bucket.s3.unknown.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config={ + 'us_east_1_regional_endpoint': 'regional', + 'use_dualstack_endpoint': True, + }, + expected_url=( + 'https://bucket.s3.dualstack.us-east-1.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config={ + 'us_east_1_regional_endpoint': 'regional', + 'use_accelerate_endpoint': True, + }, + expected_url=( + 'https://bucket.s3-accelerate.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config={ + 'us_east_1_regional_endpoint': 'regional', + 'use_accelerate_endpoint': True, + 'use_dualstack_endpoint': True, + }, + expected_url=( + 'https://bucket.s3-accelerate.dualstack.amazonaws.com/key')) + + # Use us-east-1 regional endpoint cases: legacy + us_east_1_regional_endpoint_legacy = { + 'us_east_1_regional_endpoint': 'legacy' + } + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint_legacy, + expected_url=( + 'https://bucket.s3.amazonaws.com/key')) + + yield t.case( + region=None, bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint_legacy, + expected_url=( + 'https://bucket.s3.amazonaws.com/key')) + + yield t.case( + region='unknown', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint_legacy, + expected_url=( + 'https://bucket.s3.unknown.amazonaws.com/key')) + class S3AddressingCases(object): def __init__(self, verify_function): @@ -562,37 +1765,195 @@ def case(self, region=None, bucket='bucket', key='key', s3_config=None, is_secure=True, customer_provided_endpoint=None, - expected_url=None): + expected_url=None, signature_version=None): return ( self._verify, region, bucket, key, s3_config, is_secure, - customer_provided_endpoint, expected_url + customer_provided_endpoint, expected_url, signature_version ) def _verify_expected_endpoint_url(region, bucket, key, s3_config, is_secure=True, customer_provided_endpoint=None, - expected_url=None): - http_response = mock.Mock() - http_response.status_code = 200 - http_response.headers = {} - http_response.content = b'' + expected_url=None, signature_version=None): environ = {} with mock.patch('os.environ', environ): environ['AWS_ACCESS_KEY_ID'] = 'access_key' environ['AWS_SECRET_ACCESS_KEY'] = 'secret_key' environ['AWS_CONFIG_FILE'] = 'no-exist-foo' + environ['AWS_SHARED_CREDENTIALS_FILE'] = 'no-exist-foo' session = create_session() session.config_filename = 'no-exist-foo' - config = None - if s3_config is not None: - config = Config(s3=s3_config) + config = Config( + signature_version=signature_version, + s3=s3_config + ) s3 = session.create_client('s3', region_name=region, use_ssl=is_secure, config=config, endpoint_url=customer_provided_endpoint) - with mock.patch('botocore.endpoint.Session.send') as mock_send: - mock_send.return_value = http_response - s3.put_object(Bucket=bucket, - Key=key, Body=b'bar') - request_sent = mock_send.call_args[0][0] - assert_equal(request_sent.url, expected_url) + with ClientHTTPStubber(s3) as http_stubber: + http_stubber.add_response() + s3.put_object(Bucket=bucket, Key=key, Body=b'bar') + assert_equal(http_stubber.requests[0].url, expected_url) + + +def _create_s3_client(region, is_secure, endpoint_url, s3_config, + signature_version): + environ = {} + with mock.patch('os.environ', environ): + environ['AWS_ACCESS_KEY_ID'] = 'access_key' + environ['AWS_SECRET_ACCESS_KEY'] = 'secret_key' + environ['AWS_CONFIG_FILE'] = 'no-exist-foo' + environ['AWS_SHARED_CREDENTIALS_FILE'] = 'no-exist-foo' + session = create_session() + session.config_filename = 'no-exist-foo' + config = Config( + signature_version=signature_version, + s3=s3_config + ) + s3 = session.create_client('s3', region_name=region, use_ssl=is_secure, + config=config, + endpoint_url=endpoint_url) + return s3 + + +def test_addressing_for_presigned_urls(): + # See TestGeneratePresigned for more detailed test cases + # on presigned URLs. Here's we're just focusing on the + # adddressing mode used for presigned URLs. + # We special case presigned URLs due to backwards + # compatibility. + t = S3AddressingCases(_verify_presigned_url_addressing) + + # us-east-1, or the "global" endpoint. A signature version of + # None means the user doesn't have signature version configured. + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version=None, + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3v4', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-1', bucket='bucket', key='key', + signature_version='s3v4', + s3_config={'addressing_style': 'path'}, + expected_url='https://s3.amazonaws.com/bucket/key') + + # A region that supports both 's3' and 's3v4'. + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version=None, + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3v4', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version='s3v4', + s3_config={'addressing_style': 'path'}, + expected_url='https://s3.us-west-2.amazonaws.com/bucket/key') + + # An 's3v4' only region. + yield t.case(region='us-east-2', bucket='bucket', key='key', + signature_version=None, + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-2', bucket='bucket', key='key', + signature_version='s3', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-2', bucket='bucket', key='key', + signature_version='s3v4', + expected_url='https://bucket.s3.amazonaws.com/key') + yield t.case(region='us-east-2', bucket='bucket', key='key', + signature_version='s3v4', + s3_config={'addressing_style': 'path'}, + expected_url='https://s3.us-east-2.amazonaws.com/bucket/key') + + # Dualstack endpoints + yield t.case( + region='us-west-2', bucket='bucket', key='key', + signature_version=None, + s3_config={'use_dualstack_endpoint': True}, + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + yield t.case( + region='us-west-2', bucket='bucket', key='key', + signature_version='s3', + s3_config={'use_dualstack_endpoint': True}, + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + yield t.case( + region='us-west-2', bucket='bucket', key='key', + signature_version='s3v4', + s3_config={'use_dualstack_endpoint': True}, + expected_url='https://bucket.s3.dualstack.us-west-2.amazonaws.com/key') + + # Accelerate + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version=None, + s3_config={'use_accelerate_endpoint': True}, + expected_url='https://bucket.s3-accelerate.amazonaws.com/key') + + # A region that we don't know about. + yield t.case(region='us-west-50', bucket='bucket', key='key', + signature_version=None, + expected_url='https://bucket.s3.amazonaws.com/key') + + # Customer provided URL results in us leaving the host untouched. + yield t.case(region='us-west-2', bucket='bucket', key='key', + signature_version=None, + customer_provided_endpoint='https://foo.com/', + expected_url='https://foo.com/bucket/key') + + # Access-point + accesspoint_arn = ( + 'arn:aws:s3:us-west-2:123456789012:accesspoint:myendpoint' + ) + yield t.case( + region='us-west-2', bucket=accesspoint_arn, key='key', + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ) + ) + yield t.case( + region='us-east-1', bucket=accesspoint_arn, key='key', + s3_config={'use_arn_region': False}, + expected_url=( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-east-1.amazonaws.com/key' + ) + ) + + # Use us-east-1 regional endpoint configuration cases + us_east_1_regional_endpoint = { + 'us_east_1_regional_endpoint': 'regional' + } + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, signature_version='s3', + expected_url=( + 'https://bucket.s3.us-east-1.amazonaws.com/key')) + yield t.case( + region='us-east-1', bucket='bucket', key='key', + s3_config=us_east_1_regional_endpoint, signature_version='s3v4', + expected_url=( + 'https://bucket.s3.us-east-1.amazonaws.com/key')) + + +def _verify_presigned_url_addressing(region, bucket, key, s3_config, + is_secure=True, + customer_provided_endpoint=None, + expected_url=None, + signature_version=None): + s3 = _create_s3_client(region=region, is_secure=is_secure, + endpoint_url=customer_provided_endpoint, + s3_config=s3_config, + signature_version=signature_version) + url = s3.generate_presigned_url( + 'get_object', {'Bucket': bucket, 'Key': key}) + # We're not trying to verify the params for URL presigning, + # those are tested elsewhere. We just care about the hostname/path. + parts = urlsplit(url) + actual = '%s://%s%s' % parts[:3] + assert_equal(actual, expected_url) diff -Nru python-botocore-1.4.70/tests/functional/test_sagemaker.py python-botocore-1.16.19+repack/tests/functional/test_sagemaker.py --- python-botocore-1.4.70/tests/functional/test_sagemaker.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_sagemaker.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,41 @@ +from botocore.stub import Stubber +from tests import BaseSessionTest + + +class TestSagemaker(BaseSessionTest): + def setUp(self): + super(TestSagemaker, self).setUp() + self.region = 'us-west-2' + self.client = self.session.create_client( + 'sagemaker', self.region) + self.stubber = Stubber(self.client) + self.stubber.activate() + self.hook_calls = [] + + def _hook(self, **kwargs): + self.hook_calls.append(kwargs['event_name']) + + def tearDown(self): + self.stubber.deactivate() + + def test_event_with_old_prefix(self): + self.client.meta.events.register( + 'provide-client-params.sagemaker.ListEndpoints', + self._hook + ) + self.stubber.add_response('list_endpoints', {'Endpoints': []}) + self.client.list_endpoints() + self.assertEqual(self.hook_calls, [ + 'provide-client-params.sagemaker.ListEndpoints' + ]) + + def test_event_with_new_prefix(self): + self.client.meta.events.register( + 'provide-client-params.api.sagemaker.ListEndpoints', + self._hook + ) + self.stubber.add_response('list_endpoints', {'Endpoints': []}) + self.client.list_endpoints() + self.assertEqual(self.hook_calls, [ + 'provide-client-params.sagemaker.ListEndpoints' + ]) diff -Nru python-botocore-1.4.70/tests/functional/test_service_alias.py python-botocore-1.16.19+repack/tests/functional/test_service_alias.py --- python-botocore-1.4.70/tests/functional/test_service_alias.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_service_alias.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,33 @@ +# Copyright 2017 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. +import botocore.session +from botocore.handlers import SERVICE_NAME_ALIASES + + +def test_can_use_service_alias(): + session = botocore.session.get_session() + for (alias, name) in SERVICE_NAME_ALIASES.items(): + yield _instantiates_the_same_client, session, name, alias + + +def _instantiates_the_same_client(session, service_name, service_alias): + client_kwargs = { + 'region_name': 'us-east-1', + 'aws_access_key_id': 'foo', + 'aws_secret_access_key': 'bar', + } + original_client = session.create_client(service_name, **client_kwargs) + aliased_client = session.create_client(service_alias, **client_kwargs) + original_model_name = original_client.meta.service_model.service_name + aliased_model_name = aliased_client.meta.service_model.service_name + assert original_model_name == aliased_model_name diff -Nru python-botocore-1.4.70/tests/functional/test_service_names.py python-botocore-1.16.19+repack/tests/functional/test_service_names.py --- python-botocore-1.4.70/tests/functional/test_service_names.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_service_names.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,64 @@ +# Copyright 2017 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. +import re + +from nose.tools import assert_true +from botocore.session import get_session + +BLACKLIST = [ +] + + +# Service names are limited here to 50 characters here as that seems like a +# reasonable limit in the general case. Services can be added to the +# blacklist above to be given an exception. +VALID_NAME_REGEX = re.compile( + ( + '[a-z]' # Starts with a letter + '[a-z0-9]*' # Followed by any number of letters or digits + '(-[a-z0-9]+)*$' # Dashes are allowed as long as they aren't + # consecutive or at the end + ), re.M) +VALID_NAME_EXPLANATION = ( + 'Service names must be made up entirely of lowercase alphanumeric ' + 'characters and dashes. The name must start with a letter and may not end ' + 'with a dash' +) +MIN_SERVICE_NAME_LENGTH = 2 +MAX_SERVICE_NAME_LENGTH = 50 + + +def _assert_name_length(service_name): + if service_name not in BLACKLIST: + service_name_length = len(service_name) + assert_true(service_name_length >= MIN_SERVICE_NAME_LENGTH, + 'Service name must be greater than or equal to 2 ' + 'characters in length.') + assert_true(service_name_length <= MAX_SERVICE_NAME_LENGTH, + 'Service name must be less than or equal to 50 ' + 'characters in length.') + + +def _assert_name_pattern(service_name): + if service_name not in BLACKLIST: + valid = VALID_NAME_REGEX.match(service_name) is not None + assert_true(valid, VALID_NAME_EXPLANATION) + + +def test_service_names_are_valid(): + session = get_session() + loader = session.get_component('data_loader') + service_names = loader.list_available_services('service-2') + for service_name in service_names: + yield _assert_name_length, service_name + yield _assert_name_pattern, service_name diff -Nru python-botocore-1.4.70/tests/functional/test_session.py python-botocore-1.16.19+repack/tests/functional/test_session.py --- python-botocore-1.4.70/tests/functional/test_session.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_session.py 2020-05-28 19:26:08.000000000 +0000 @@ -30,7 +30,7 @@ def test_profile_precedence(self): self.environ['AWS_PROFILE'] = 'from_env_var' - self.session.set_config_variable('profile', 'from_session_instance') + self.session.set_config_variable('profile', 'from_session_instance') self.assertEqual(self.session.profile, 'from_session_instance') def test_credentials_with_profile_precedence(self): @@ -60,7 +60,8 @@ 'aws_secret_access_key=shared_creds_sak\n' ) f.flush() - self.session.set_config_variable('profile', 'from_session_instance') + self.session.set_config_variable('profile', + 'from_session_instance') creds = self.session.get_credentials() self.assertEqual(creds.access_key, 'shared_creds_akid') self.assertEqual(creds.secret_key, 'shared_creds_sak') diff -Nru python-botocore-1.4.70/tests/functional/test_six_imports.py python-botocore-1.16.19+repack/tests/functional/test_six_imports.py --- python-botocore-1.4.70/tests/functional/test_six_imports.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_six_imports.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,54 @@ +import os +import botocore +import ast + + +ROOTDIR = os.path.dirname(botocore.__file__) + + +def test_no_bare_six_imports(): + for rootdir, dirnames, filenames in os.walk(ROOTDIR): + if 'vendored' in dirnames: + # We don't need to lint our vendored packages. + dirnames.remove('vendored') + for filename in filenames: + if not filename.endswith('.py'): + continue + fullname = os.path.join(rootdir, filename) + yield _assert_no_bare_six_imports, fullname + + +def _assert_no_bare_six_imports(filename): + with open(filename) as f: + contents = f.read() + parsed = ast.parse(contents, filename) + checker = SixImportChecker(filename).visit(parsed) + + +class SixImportChecker(ast.NodeVisitor): + def __init__(self, filename): + self.filename = filename + + def visit_Import(self, node): + for alias in node.names: + if getattr(alias, 'name', '') == 'six': + line = self._get_line_content(self.filename, node.lineno) + raise AssertionError( + "A bare 'import six' was found in %s:\n" + "\n%s: %s\n" + "Please use 'from botocore.compat import six' instead" % + (self.filename, node.lineno, line)) + + def visit_ImportFrom(self, node): + if node.module == 'six': + line = self._get_line_content(self.filename, node.lineno) + raise AssertionError( + "A bare 'from six import ...' was found in %s:\n" + "\n%s:%s\n" + "Please use 'from botocore.compat import six' instead" % + (self.filename, node.lineno, line)) + + def _get_line_content(self, filename, lineno): + with open(filename) as f: + contents = f.readlines() + return contents[lineno - 1] diff -Nru python-botocore-1.4.70/tests/functional/test_six_threading.py python-botocore-1.16.19+repack/tests/functional/test_six_threading.py --- python-botocore-1.4.70/tests/functional/test_six_threading.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_six_threading.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,62 @@ +""" +Regression test for six issue #98 (https://github.com/benjaminp/six/issues/98) +""" +from mock import patch +import sys +import threading +import time + +from botocore.vendored import six + + +_original_setattr = six.moves.__class__.__setattr__ + + +def _wrapped_setattr(key, value): + # Monkey patch six.moves.__setattr__ to simulate + # a poorly-timed thread context switch + time.sleep(0.1) + return _original_setattr(six.moves, key, value) + + +def _reload_six(): + # Issue #98 is caused by a race condition in six._LazyDescr.__get__ + # which is only called once per moved module. Reload six so all the + # moved modules are reset. + if sys.version_info < (3, 0): + reload(six) + else: + import importlib + importlib.reload(six) + + +class _ExampleThread(threading.Thread): + def __init__(self): + super(_ExampleThread, self).__init__() + self.daemon = False + self.exc_info = None + + def run(self): + try: + # Simulate use of six by + # botocore.configloader.raw_config_parse() + # Should raise AttributeError if six < 1.9.0 + six.moves.configparser.RawConfigParser() + except Exception: + self.exc_info = sys.exc_info() + + +def test_six_thread_safety(): + _reload_six() + with patch('botocore.vendored.six.moves.__class__.__setattr__', + wraps=_wrapped_setattr): + threads = [] + for i in range(2): + t = _ExampleThread() + threads.append(t) + t.start() + while threads: + t = threads.pop() + t.join() + if t.exc_info: + six.reraise(*t.exc_info) diff -Nru python-botocore-1.4.70/tests/functional/test_sts.py python-botocore-1.16.19+repack/tests/functional/test_sts.py --- python-botocore-1.4.70/tests/functional/test_sts.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_sts.py 2020-05-28 19:26:16.000000000 +0000 @@ -0,0 +1,267 @@ +# Copyright 2017 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 datetime import datetime +import re + +import mock + +from tests import BaseSessionTest +from tests import temporary_file +from tests import assert_url_equal +from tests import ClientHTTPStubber +from botocore.stub import Stubber + + +_V4_SIGNING_REGION_REGEX = re.compile( + r'AWS4-HMAC-SHA256 ' + r'Credential=\w+/\d+/(?P[a-z0-9-]+)/' +) + + +class TestSTSPresignedUrl(BaseSessionTest): + def setUp(self): + super(TestSTSPresignedUrl, self).setUp() + self.client = self.session.create_client('sts', 'us-west-2') + # Makes sure that no requests will go through + self.stubber = Stubber(self.client) + self.stubber.activate() + + def test_presigned_url_contains_no_content_type(self): + timestamp = datetime(2017, 3, 22, 0, 0) + with mock.patch('botocore.auth.datetime') as _datetime: + _datetime.datetime.utcnow.return_value = timestamp + url = self.client.generate_presigned_url('get_caller_identity', {}) + + # There should be no 'content-type' in x-amz-signedheaders + expected_url = ( + 'https://sts.amazonaws.com/?Action=GetCallerIdentity&' + 'Version=2011-06-15&X-Amz-Algorithm=AWS4-HMAC-SHA256&' + 'X-Amz-Credential=access_key%2F20170322%2Fus-east-1%2Fsts%2F' + 'aws4_request&X-Amz-Date=20170322T000000Z&X-Amz-Expires=3600&' + 'X-Amz-SignedHeaders=host&X-Amz-Signature=767845d2ee858069a598d5f' + '8b497b75c7d57356885b1b3dba46dbbc0fc62bf5a' + ) + assert_url_equal(url, expected_url) + + +class TestSTSEndpoints(BaseSessionTest): + def create_sts_client(self, region, endpoint_url=None, use_ssl=True): + return self.session.create_client( + 'sts', region_name=region, endpoint_url=endpoint_url, + use_ssl=use_ssl, + ) + + def set_sts_regional_for_config_file(self, fileobj, config_val): + fileobj.write( + '[default]\n' + 'sts_regional_endpoints=%s\n' % config_val + ) + fileobj.flush() + self.environ['AWS_CONFIG_FILE'] = fileobj.name + + def assert_request_sent(self, sts, expected_url, + expected_signing_region=None): + body = ( + b'' + b' ' + b' arn:aws:iam::123456789012:user/myuser' + b' UserID' + b' 123456789012' + b' ' + b' ' + b' some-request' + b' ' + b'' + ) + with ClientHTTPStubber(sts) as http_stubber: + http_stubber.add_response(body=body) + sts.get_caller_identity() + captured_request = http_stubber.requests[0] + self.assertEqual(captured_request.url, expected_url) + if expected_signing_region: + self.assertEqual( + self._get_signing_region(captured_request), + expected_signing_region + ) + + def _get_signing_region(self, request): + authorization_val = request.headers['Authorization'].decode('utf-8') + match = _V4_SIGNING_REGION_REGEX.match(authorization_val) + return match.group('signing_region') + + def test_legacy_region_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('us-west-2') + self.assert_request_sent( + sts, + expected_url='https://sts.amazonaws.com/', + expected_signing_region='us-east-1' + ) + + def test_legacy_region_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('us-west-2') + self.assert_request_sent( + sts, + expected_url='https://sts.us-west-2.amazonaws.com/', + expected_signing_region='us-west-2' + ) + + def test_fips_endpoint_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('us-west-2-fips') + self.assert_request_sent( + sts, + expected_url='https://sts-fips.us-west-2.amazonaws.com/', + expected_signing_region='us-west-2' + ) + + def test_fips_endpoint_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('us-west-2-fips') + self.assert_request_sent( + sts, + expected_url='https://sts-fips.us-west-2.amazonaws.com/', + expected_signing_region='us-west-2' + ) + + def test_nonlegacy_region_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('ap-east-1') + self.assert_request_sent( + sts, + expected_url='https://sts.ap-east-1.amazonaws.com/', + expected_signing_region='ap-east-1' + ) + + def test_nonlegacy_region_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('ap-east-1') + self.assert_request_sent( + sts, + expected_url='https://sts.ap-east-1.amazonaws.com/', + expected_signing_region='ap-east-1' + ) + + def test_nonaws_partition_region_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('cn-north-1') + self.assert_request_sent( + sts, + expected_url='https://sts.cn-north-1.amazonaws.com.cn/', + expected_signing_region='cn-north-1' + ) + + def test_nonaws_partition_region_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('cn-north-1') + self.assert_request_sent( + sts, + expected_url='https://sts.cn-north-1.amazonaws.com.cn/', + expected_signing_region='cn-north-1' + ) + + def test_global_region_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('aws-global') + self.assert_request_sent( + sts, + expected_url='https://sts.amazonaws.com/', + expected_signing_region='us-east-1', + ) + + def test_global_region_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('aws-global') + self.assert_request_sent( + sts, + expected_url='https://sts.amazonaws.com/', + expected_signing_region='us-east-1' + ) + + def test_defaults_to_global_endpoint_for_legacy_region(self): + sts = self.create_sts_client('us-west-2') + self.assert_request_sent( + sts, + expected_url='https://sts.amazonaws.com/', + expected_signing_region='us-east-1' + ) + + def test_defaults_to_regional_endpoint_for_nonlegacy_region(self): + sts = self.create_sts_client('ap-east-1') + self.assert_request_sent( + sts, + expected_url='https://sts.ap-east-1.amazonaws.com/', + expected_signing_region='ap-east-1' + ) + + def test_configure_sts_regional_from_config_file(self): + with temporary_file('w') as f: + self.set_sts_regional_for_config_file(f, 'regional') + sts = self.create_sts_client('us-west-2') + self.assert_request_sent( + sts, + expected_url='https://sts.us-west-2.amazonaws.com/', + ) + + def test_env_var_overrides_config_file(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + with temporary_file('w') as f: + self.set_sts_regional_for_config_file(f, 'regional') + sts = self.create_sts_client('us-west-2') + self.assert_request_sent( + sts, expected_url='https://sts.amazonaws.com/') + + def test_user_provided_endpoint_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client( + 'us-west-2', endpoint_url='https://custom.com') + self.assert_request_sent( + sts, expected_url='https://custom.com/') + + def test_user_provided_endpoint_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client( + 'us-west-2', endpoint_url='https://custom.com') + self.assert_request_sent( + sts, expected_url='https://custom.com/') + + def test_http_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client( + 'us-west-2', use_ssl=False) + self.assert_request_sent( + sts, expected_url='http://sts.amazonaws.com/') + + def test_client_for_unknown_region(self): + sts = self.create_sts_client('not-real') + self.assert_request_sent( + sts, + expected_url='https://sts.not-real.amazonaws.com/', + expected_signing_region='not-real' + ) + + def test_client_for_unknown_region_with_legacy_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'legacy' + sts = self.create_sts_client('not-real') + self.assert_request_sent( + sts,expected_url='https://sts.not-real.amazonaws.com/') + + def test_client_for_unknown_region_with_regional_configured(self): + self.environ['AWS_STS_REGIONAL_ENDPOINTS'] = 'regional' + sts = self.create_sts_client('not-real') + self.assert_request_sent( + sts, + expected_url='https://sts.not-real.amazonaws.com/', + expected_signing_region='not-real' + ) diff -Nru python-botocore-1.4.70/tests/functional/test_stub.py python-botocore-1.16.19+repack/tests/functional/test_stub.py --- python-botocore-1.4.70/tests/functional/test_stub.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_stub.py 2020-05-28 19:26:08.000000000 +0000 @@ -18,7 +18,7 @@ import botocore.stub as stub from botocore.stub import Stubber from botocore.exceptions import StubResponseError, ClientError, \ - StubAssertionError + StubAssertionError, UnStubbedResponseError from botocore.exceptions import ParamValidationError import botocore.client import botocore.retryhandler @@ -28,9 +28,12 @@ class TestStubber(unittest.TestCase): def setUp(self): session = botocore.session.get_session() - config = botocore.config.Config(signature_version=botocore.UNSIGNED) - self.client = session.create_client('s3', config=config) - + config = botocore.config.Config( + signature_version=botocore.UNSIGNED, + s3={'addressing_style': 'path'} + ) + self.client = session.create_client( + 's3', region_name='us-east-1', config=config) self.stubber = Stubber(self.client) def test_stubber_returns_response(self): @@ -51,8 +54,8 @@ def test_activated_stubber_errors_with_no_registered_stubs(self): self.stubber.activate() # Params one per line for readability. - with self.assertRaisesRegexp(StubResponseError, - "'Bucket': 'asdfasdfasdfasdf',\n"): + with self.assertRaisesRegexp(UnStubbedResponseError, + "Unexpected API Call"): self.client.list_objects( Bucket='asdfasdfasdfasdf', Delimiter='asdfasdfasdfasdf', @@ -64,7 +67,7 @@ self.stubber.activate() self.client.list_objects(Bucket='foo') - with self.assertRaises(StubResponseError): + with self.assertRaises(UnStubbedResponseError): self.client.list_objects(Bucket='foo') def test_client_error_response(self): @@ -270,3 +273,61 @@ except StubAssertionError: self.fail( "Stubber inappropriately raised error for same parameters.") + + def test_no_stub_for_presign_url(self): + try: + with self.stubber: + url = self.client.generate_presigned_url( + ClientMethod='get_object', + Params={ + 'Bucket': 'mybucket', + 'Key': 'mykey' + } + ) + self.assertEqual( + url, 'https://s3.amazonaws.com/mybucket/mykey') + except StubResponseError: + self.fail( + 'Stubbed responses should not be required for generating ' + 'presigned requests' + ) + + def test_can_stub_with_presign_url_mixed_in(self): + desired_response = {} + expected_params = { + 'Bucket': 'mybucket', + 'Prefix': 'myprefix', + } + self.stubber.add_response( + 'list_objects', desired_response, expected_params) + with self.stubber: + url = self.client.generate_presigned_url( + ClientMethod='get_object', + Params={ + 'Bucket': 'myotherbucket', + 'Key': 'myotherkey' + } + ) + self.assertEqual( + url, 'https://s3.amazonaws.com/myotherbucket/myotherkey') + actual_response = self.client.list_objects(**expected_params) + self.assertEqual(desired_response, actual_response) + self.stubber.assert_no_pending_responses() + + def test_parse_get_bucket_location(self): + error_code = "NoSuchBucket" + error_message = "The specified bucket does not exist" + self.stubber.add_client_error( + 'get_bucket_location', error_code, error_message) + self.stubber.activate() + + with self.assertRaises(ClientError): + self.client.get_bucket_location(Bucket='foo') + + def test_parse_get_bucket_location_returns_response(self): + service_response = {"LocationConstraint": "us-west-2"} + self.stubber.add_response('get_bucket_location',service_response) + self.stubber.activate() + response = self.client.get_bucket_location(Bucket='foo') + self.assertEqual(response, service_response) + diff -Nru python-botocore-1.4.70/tests/functional/test_utils.py python-botocore-1.16.19+repack/tests/functional/test_utils.py --- python-botocore-1.4.70/tests/functional/test_utils.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_utils.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,42 @@ +# Copyright 2019 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. +import os +import tempfile +import shutil +from tests import unittest + +from botocore.utils import FileWebIdentityTokenLoader + + +class TestFileWebIdentityTokenLoader(unittest.TestCase): + def setUp(self): + super(TestFileWebIdentityTokenLoader, self).setUp() + self.tempdir = tempfile.mkdtemp() + self.token = 'totally.a.token' + self.token_file = os.path.join(self.tempdir, 'token.jwt') + self.write_token(self.token) + + def tearDown(self): + shutil.rmtree(self.tempdir) + super(TestFileWebIdentityTokenLoader, self).tearDown() + + def write_token(self, token, path=None): + if path is None: + path = self.token_file + with open(path, 'w') as f: + f.write(token) + + def test_can_load_token(self): + loader = FileWebIdentityTokenLoader(self.token_file) + token = loader() + self.assertEqual(self.token, token) diff -Nru python-botocore-1.4.70/tests/functional/test_waiter_config.py python-botocore-1.16.19+repack/tests/functional/test_waiter_config.py --- python-botocore-1.4.70/tests/functional/test_waiter_config.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/test_waiter_config.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,16 +11,94 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. import jmespath +from jsonschema import Draft4Validator import botocore.session +from botocore.exceptions import UnknownServiceError from botocore.utils import ArgumentGenerator +WAITER_SCHEMA = { + "type": "object", + "properties": { + "version": {"type": "number"}, + "waiters": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": ["api"] + }, + "operation": {"type": "string"}, + "description": {"type": "string"}, + "delay": { + "type": "number", + "minimum": 0, + }, + "maxAttempts": { + "type": "integer", + "minimum": 1 + }, + "acceptors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "state": { + "type": "string", + "enum": ["success", "retry", "failure"] + }, + "matcher": { + "type": "string", + "enum": [ + "path", "pathAll", "pathAny", + "status", "error" + ] + }, + "argument": {"type": "string"}, + "expected": { + "oneOf": [ + {"type": "string"}, + {"type": "number"}, + {"type": "boolean"} + ] + } + }, + "required": [ + "state", "matcher", "expected" + ], + "additionalProperties": False + } + } + }, + "required": ["operation", "delay", "maxAttempts", "acceptors"], + "additionalProperties": False + } + } + }, + "additionalProperties": False +} + + def test_lint_waiter_configs(): session = botocore.session.get_session() + validator = Draft4Validator(WAITER_SCHEMA) for service_name in session.get_available_services(): client = session.create_client(service_name, 'us-east-1') service_model = client.meta.service_model + try: + # We use the loader directly here because we need the entire + # json document, not just the portions exposed (either + # internally or externally) by the WaiterModel class. + loader = session.get_component('data_loader') + waiter_model = loader.load_service_model( + service_name, 'waiters-2') + except UnknownServiceError: + # The service doesn't have waiters + continue + yield _validate_schema, validator, waiter_model for waiter_name in client.waiter_names: yield _lint_single_waiter, client, waiter_name, service_model @@ -52,6 +130,17 @@ for acceptor in acceptors: _validate_acceptor(acceptor, op_model, waiter.name) + if not waiter.name.isalnum(): + raise AssertionError( + "Waiter name %s is not alphanumeric." % waiter_name + ) + + +def _validate_schema(validator, waiter_json): + errors = list(e.message for e in validator.iter_errors(waiter_json)) + if errors: + raise AssertionError('\n'.join(errors)) + def _validate_acceptor(acceptor, op_model, waiter_name): if acceptor.matcher.startswith('path'): @@ -67,7 +156,7 @@ # JMESPath expression against the output. We'll then # check a few things about this returned search result. search_result = _search_jmespath_expression(expression, op_model) - if not search_result: + if search_result is None: raise AssertionError("JMESPath expression did not match " "anything for waiter '%s': %s" % (waiter_name, expression)) diff -Nru python-botocore-1.4.70/tests/functional/utils/credentialprocess.py python-botocore-1.16.19+repack/tests/functional/utils/credentialprocess.py --- python-botocore-1.4.70/tests/functional/utils/credentialprocess.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/utils/credentialprocess.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,35 @@ +# Copyright 2017 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. +"""This is a dummy implementation of a credential provider process.""" +import argparse +import json + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--raise-error', action='store_true', help=( + 'If set, this will cause the process to return a non-zero exit code ' + 'and print to stderr.' + )) + args = parser.parse_args() + if args.raise_error: + raise Exception('Failed to fetch credentials.') + print(json.dumps({ + 'AccessKeyId': 'spam', + 'SecretAccessKey': 'eggs', + 'Version': 1 + })) + + +if __name__ == "__main__": + main() diff -Nru python-botocore-1.4.70/tests/functional/utils/__init__.py python-botocore-1.16.19+repack/tests/functional/utils/__init__.py --- python-botocore-1.4.70/tests/functional/utils/__init__.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/functional/utils/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,12 @@ +# Copyright 2017 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. diff -Nru python-botocore-1.4.70/tests/__init__.py python-botocore-1.16.19+repack/tests/__init__.py --- python-botocore-1.4.70/tests/__init__.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/__init__.py 2020-05-28 19:26:08.000000000 +0000 @@ -23,22 +23,23 @@ import platform import select import datetime +from io import BytesIO from subprocess import Popen, PIPE from dateutil.tz import tzlocal -# The unittest module got a significant overhaul -# in 2.7, so if we're in 2.6 we can use the backported -# version unittest2. -if sys.version_info[:2] == (2, 6): - import unittest2 as unittest -else: - import unittest +import unittest +from nose.tools import assert_equal import botocore.loaders import botocore.session +from botocore.awsrequest import AWSResponse +from botocore.compat import six +from botocore.compat import urlparse +from botocore.compat import parse_qs from botocore import utils from botocore import credentials +from botocore.stub import Stubber _LOADER = botocore.loaders.Loader() @@ -57,6 +58,19 @@ return cls +def skip_if_windows(reason): + """Decorator to skip tests that should not be run on windows. + Example usage: + @skip_if_windows("Not valid") + def test_some_non_windows_stuff(self): + self.assertEqual(...) + """ + def decorator(func): + return unittest.skipIf( + platform.system() not in ['Darwin', 'Linux'], reason)(func) + return decorator + + def random_chars(num_chars): """Returns random hex characters. @@ -318,3 +332,197 @@ def _current_datetime(self): return datetime.datetime.now(tzlocal()) + + +def _urlparse(url): + if isinstance(url, six.binary_type): + # Not really necessary, but it helps to reduce noise on Python 2.x + url = url.decode('utf8') + return urlparse(url) + +def assert_url_equal(url1, url2): + parts1 = _urlparse(url1) + parts2 = _urlparse(url2) + + # Because the query string ordering isn't relevant, we have to parse + # every single part manually and then handle the query string. + assert_equal(parts1.scheme, parts2.scheme) + assert_equal(parts1.netloc, parts2.netloc) + assert_equal(parts1.path, parts2.path) + assert_equal(parts1.params, parts2.params) + assert_equal(parts1.fragment, parts2.fragment) + assert_equal(parts1.username, parts2.username) + assert_equal(parts1.password, parts2.password) + assert_equal(parts1.hostname, parts2.hostname) + assert_equal(parts1.port, parts2.port) + assert_equal(parse_qs(parts1.query), parse_qs(parts2.query)) + + +class HTTPStubberException(Exception): + pass + + +class RawResponse(BytesIO): + # TODO: There's a few objects similar to this in various tests, let's + # try and consolidate to this one in a future commit. + def stream(self, **kwargs): + contents = self.read() + while contents: + yield contents + contents = self.read() + + +class BaseHTTPStubber(object): + def __init__(self, obj_with_event_emitter, strict=True): + self.reset() + self._strict = strict + self._obj_with_event_emitter = obj_with_event_emitter + + def reset(self): + self.requests = [] + self.responses = [] + + def add_response(self, url='https://example.com', status=200, headers=None, + body=b''): + if headers is None: + headers = {} + + raw = RawResponse(body) + response = AWSResponse(url, status, headers, raw) + self.responses.append(response) + + @property + def _events(self): + raise NotImplementedError('_events') + + def start(self): + self._events.register('before-send', self) + + def stop(self): + self._events.unregister('before-send', self) + + def __enter__(self): + self.start() + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.stop() + + def __call__(self, request, **kwargs): + self.requests.append(request) + if self.responses: + response = self.responses.pop(0) + if isinstance(response, Exception): + raise response + else: + return response + elif self._strict: + raise HTTPStubberException('Insufficient responses') + else: + return None + + +class ClientHTTPStubber(BaseHTTPStubber): + @property + def _events(self): + return self._obj_with_event_emitter.meta.events + + +class SessionHTTPStubber(BaseHTTPStubber): + @property + def _events(self): + return self._obj_with_event_emitter.get_component('event_emitter') + + +class ConsistencyWaiterException(Exception): + pass + + +class ConsistencyWaiter(object): + """ + A waiter class for some check to reach a consistent state. + + :type min_successes: int + :param min_successes: The minimum number of successful check calls to + treat the check as stable. Default of 1 success. + + :type max_attempts: int + :param min_successes: The maximum number of times to attempt calling + the check. Default of 20 attempts. + + :type delay: int + :param delay: The number of seconds to delay the next API call after a + failed check call. Default of 5 seconds. + """ + def __init__(self, min_successes=1, max_attempts=20, delay=5, + delay_initial_poll=False): + self.min_successes = min_successes + self.max_attempts = max_attempts + self.delay = delay + self.delay_initial_poll = delay_initial_poll + + def wait(self, check, *args, **kwargs): + """ + Wait until the check succeeds the configured number of times + + :type check: callable + :param check: A callable that returns True or False to indicate + if the check succeeded or failed. + + :type args: list + :param args: Any ordered arguments to be passed to the check. + + :type kwargs: dict + :param kwargs: Any keyword arguments to be passed to the check. + """ + attempts = 0 + successes = 0 + if self.delay_initial_poll: + time.sleep(self.delay) + while attempts < self.max_attempts: + attempts += 1 + if check(*args, **kwargs): + successes += 1 + if successes >= self.min_successes: + return + else: + time.sleep(self.delay) + fail_msg = self._fail_message(attempts, successes) + raise ConsistencyWaiterException(fail_msg) + + def _fail_message(self, attempts, successes): + format_args = (attempts, successes) + return 'Failed after %s attempts, only had %s successes' % format_args + + +class StubbedSession(botocore.session.Session): + def __init__(self, *args, **kwargs): + super(StubbedSession, self).__init__(*args, **kwargs) + self._cached_clients = {} + self._client_stubs = {} + + def create_client(self, service_name, *args, **kwargs): + if service_name not in self._cached_clients: + client = self._create_stubbed_client(service_name, *args, **kwargs) + self._cached_clients[service_name] = client + return self._cached_clients[service_name] + + def _create_stubbed_client(self, service_name, *args, **kwargs): + client = super(StubbedSession, self).create_client( + service_name, *args, **kwargs) + stubber = Stubber(client) + self._client_stubs[service_name] = stubber + return client + + def stub(self, service_name): + if service_name not in self._client_stubs: + self.create_client(service_name) + return self._client_stubs[service_name] + + def activate_stubs(self): + for stub in self._client_stubs.values(): + stub.activate() + + def verify_stubs(self): + for stub in self._client_stubs.values(): + stub.assert_no_pending_responses() diff -Nru python-botocore-1.4.70/tests/integration/test_apigateway.py python-botocore-1.16.19+repack/tests/integration/test_apigateway.py --- python-botocore-1.4.70/tests/integration/test_apigateway.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_apigateway.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,6 +10,8 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import time + from tests import unittest import botocore.session @@ -21,7 +23,7 @@ self.session = botocore.session.get_session() self.client = self.session.create_client('apigateway', 'us-east-1') - # Create a resoruce to use with this client. + # Create a resource to use with this client. self.api_name = 'mytestapi' self.api_id = self.create_rest_api_or_skip() @@ -30,11 +32,26 @@ api_id = self.client.create_rest_api(name=self.api_name)['id'] except exceptions.ClientError as e: if e.response['Error']['Code'] == 'TooManyRequestsException': - raise unittest.SkipTest("Hit API gateway throttle limit, skipping test.") + raise unittest.SkipTest( + "Hit API gateway throttle limit, skipping test.") + raise return api_id + def delete_api(self): + retries = 0 + while retries < 10: + try: + self.client.delete_rest_api(restApiId=self.api_id) + break + except exceptions.ClientError as e: + if e.response['Error']['Code'] == 'TooManyRequestsException': + retries += 1 + time.sleep(5) + else: + raise + def tearDown(self): - self.client.delete_rest_api(restApiId=self.api_id) + self.delete_api() def test_put_integration(self): # The only resource on a brand new api is the path. So use that ID. diff -Nru python-botocore-1.4.70/tests/integration/test_client_http.py python-botocore-1.16.19+repack/tests/integration/test_client_http.py --- python-botocore-1.4.70/tests/integration/test_client_http.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_client_http.py 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,228 @@ +import select +import socket +import contextlib +import threading +from tests import unittest +from contextlib import contextmanager + +import botocore.session +from botocore.config import Config +from botocore.vendored.six.moves import BaseHTTPServer, socketserver +from botocore.exceptions import ( + ConnectTimeoutError, ReadTimeoutError, EndpointConnectionError, + ConnectionClosedError, +) +from botocore.vendored.requests import exceptions as requests_exceptions + + +class TestClientHTTPBehavior(unittest.TestCase): + def setUp(self): + self.port = unused_port() + self.localhost = 'http://localhost:%s/' % self.port + self.session = botocore.session.get_session() + # We need to set fake credentials to ensure credentials aren't searched + # for which might make additional API calls (assume role, etc). + self.session.set_credentials('fakeakid', 'fakesecret') + + @unittest.skip('Test has suddenly become extremely flakey.') + def test_can_proxy_https_request_with_auth(self): + proxy_url = 'http://user:pass@localhost:%s/' % self.port + config = Config(proxies={'https': proxy_url}, region_name='us-west-1') + client = self.session.create_client('ec2', config=config) + + class AuthProxyHandler(ProxyHandler): + event = threading.Event() + + def validate_auth(self): + proxy_auth = self.headers.get('Proxy-Authorization') + return proxy_auth == 'Basic dXNlcjpwYXNz' + + try: + with background(run_server, args=(AuthProxyHandler, self.port)): + AuthProxyHandler.event.wait(timeout=60) + client.describe_regions() + except BackgroundTaskFailed: + self.fail('Background task did not exit, proxy was not used.') + + def _read_timeout_server(self): + config = Config( + read_timeout=0.1, + retries={'max_attempts': 0}, + region_name='us-weast-2', + ) + client = self.session.create_client('ec2', endpoint_url=self.localhost, + config=config) + client_call_ended_event = threading.Event() + + class FakeEC2(SimpleHandler): + event = threading.Event() + msg = b'' + + def get_length(self): + return len(self.msg) + + def get_body(self): + client_call_ended_event.wait(timeout=60) + return self.msg + + try: + with background(run_server, args=(FakeEC2, self.port)): + try: + FakeEC2.event.wait(timeout=60) + client.describe_regions() + finally: + client_call_ended_event.set() + except BackgroundTaskFailed: + self.fail('Fake EC2 service was not called.') + + def test_read_timeout_exception(self): + with self.assertRaises(ReadTimeoutError): + self._read_timeout_server() + + def test_old_read_timeout_exception(self): + with self.assertRaises(requests_exceptions.ReadTimeout): + self._read_timeout_server() + + @unittest.skip('The current implementation will fail to timeout on linux') + def test_connect_timeout_exception(self): + config = Config( + connect_timeout=0.2, + retries={'max_attempts': 0}, + region_name='us-weast-2', + ) + client = self.session.create_client('ec2', endpoint_url=self.localhost, + config=config) + server_bound_event = threading.Event() + client_call_ended_event = threading.Event() + + def no_accept_server(): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind(('', self.port)) + server_bound_event.set() + client_call_ended_event.wait(timeout=60) + sock.close() + + with background(no_accept_server): + server_bound_event.wait(timeout=60) + with self.assertRaises(ConnectTimeoutError): + client.describe_regions() + client_call_ended_event.set() + + def test_invalid_host_gaierror(self): + config = Config(retries={'max_attempts': 0}, region_name='us-weast-1') + endpoint = 'https://ec2.us-weast-1.amazonaws.com/' + client = self.session.create_client('ec2', endpoint_url=endpoint, + config=config) + with self.assertRaises(EndpointConnectionError): + client.describe_regions() + + def test_bad_status_line(self): + config = Config(retries={'max_attempts': 0}, region_name='us-weast-2') + client = self.session.create_client('ec2', endpoint_url=self.localhost, + config=config) + + class BadStatusHandler(BaseHTTPServer.BaseHTTPRequestHandler): + event = threading.Event() + + def do_POST(self): + self.wfile.write(b'garbage') + + with background(run_server, args=(BadStatusHandler, self.port)): + with self.assertRaises(ConnectionClosedError): + BadStatusHandler.event.wait(timeout=60) + client.describe_regions() + + +def unused_port(): + with contextlib.closing(socket.socket()) as sock: + sock.bind(('127.0.0.1', 0)) + return sock.getsockname()[1] + + +class SimpleHandler(BaseHTTPServer.BaseHTTPRequestHandler): + status = 200 + + def get_length(self): + return 0 + + def get_body(self): + return b'' + + def do_GET(self): + length = str(self.get_length()) + self.send_response(self.status) + self.send_header('Content-Length', length) + self.end_headers() + self.wfile.write(self.get_body()) + + do_POST = do_PUT = do_GET + + +class ProxyHandler(BaseHTTPServer.BaseHTTPRequestHandler): + tunnel_chunk_size = 1024 + + def _tunnel(self, client, remote): + client.setblocking(0) + remote.setblocking(0) + sockets = [client, remote] + while True: + readable, writeable, _ = select.select(sockets, sockets, [], 1) + if client in readable and remote in writeable: + client_bytes = client.recv(self.tunnel_chunk_size) + if not client_bytes: + break + remote.sendall(client_bytes) + if remote in readable and client in writeable: + remote_bytes = remote.recv(self.tunnel_chunk_size) + if not remote_bytes: + break + client.sendall(remote_bytes) + + def do_CONNECT(self): + if not self.validate_auth(): + self.send_response(401) + self.end_headers() + return + + self.send_response(200) + self.end_headers() + + remote_host, remote_port = self.path.split(':') + remote_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + remote_socket.connect((remote_host, int(remote_port))) + + self._tunnel(self.request, remote_socket) + remote_socket.close() + + def validate_auth(self): + return True + + +class BackgroundTaskFailed(Exception): + pass + + +@contextmanager +def background(target, args=(), timeout=60): + thread = threading.Thread(target=target, args=args) + thread.daemon = True + thread.start() + try: + yield target + finally: + thread.join(timeout=timeout) + if thread.is_alive(): + msg = 'Background task did not exit in a timely manner.' + raise BackgroundTaskFailed(msg) + + +def run_server(handler, port): + address = ('', port) + httpd = socketserver.TCPServer(address, handler, bind_and_activate=False) + httpd.allow_reuse_address = True + httpd.server_bind() + httpd.server_activate() + handler.event.set() + httpd.handle_request() + httpd.server_close() diff -Nru python-botocore-1.4.70/tests/integration/test_client.py python-botocore-1.16.19+repack/tests/integration/test_client.py --- python-botocore-1.4.70/tests/integration/test_client.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_client.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,7 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import time import logging import datetime from tests import unittest, random_chars @@ -19,64 +18,6 @@ from botocore.client import ClientError from botocore.compat import six from botocore.exceptions import EndpointConnectionError -from six import StringIO - - -class TestBucketWithVersions(unittest.TestCase): - def setUp(self): - self.session = botocore.session.get_session() - self.client = self.session.create_client('s3', region_name='us-west-2') - self.bucket_name = 'botocoretest%s' % random_chars(50) - - def extract_version_ids(self, versions): - version_ids = [] - for marker in versions['DeleteMarkers']: - version_ids.append(marker['VersionId']) - for version in versions['Versions']: - version_ids.append(version['VersionId']) - return version_ids - - def test_create_versioned_bucket(self): - # Verifies we can: - # 1. Create a bucket - # 2. Enable versioning - # 3. Put an Object - self.client.create_bucket( - Bucket=self.bucket_name, - CreateBucketConfiguration={ - 'LocationConstraint': 'us-west-2' - } - ) - self.addCleanup(self.client.delete_bucket, Bucket=self.bucket_name) - - self.client.put_bucket_versioning( - Bucket=self.bucket_name, - VersioningConfiguration={"Status": "Enabled"}) - response = self.client.put_object( - Bucket=self.bucket_name, Key='testkey', Body='bytes body') - self.addCleanup(self.client.delete_object, - Bucket=self.bucket_name, - Key='testkey', - VersionId=response['VersionId']) - - response = self.client.get_object( - Bucket=self.bucket_name, Key='testkey') - self.assertEqual(response['Body'].read(), b'bytes body') - - response = self.client.delete_object(Bucket=self.bucket_name, - Key='testkey') - # This cleanup step removes the DeleteMarker that's created - # from the delete_object call above. - self.addCleanup(self.client.delete_object, - Bucket=self.bucket_name, - Key='testkey', - VersionId=response['VersionId']) - # Object does not exist anymore. - with self.assertRaises(ClientError): - self.client.get_object(Bucket=self.bucket_name, Key='testkey') - versions = self.client.list_object_versions(Bucket=self.bucket_name) - version_ids = self.extract_version_ids(versions) - self.assertEqual(len(version_ids), 2) # This is really a combination of testing the debug logging mechanism @@ -93,7 +34,7 @@ # lose this feature. session = botocore.session.get_session() client = session.create_client('s3', region_name='us-west-2') - debug_log = StringIO() + debug_log = six.StringIO() session.set_stream_logger('', logging.DEBUG, debug_log) client.list_buckets() debug_log_contents = debug_log.getvalue() @@ -148,15 +89,45 @@ 'cloudformation', region_name='invalid region name') -class TestClientErrorMessages(unittest.TestCase): +class TestClientErrors(unittest.TestCase): + def setUp(self): + self.session = botocore.session.get_session() + def test_region_mentioned_in_invalid_region(self): - session = botocore.session.get_session() - client = session.create_client( + client = self.session.create_client( 'cloudformation', region_name='us-east-999') with self.assertRaisesRegexp(EndpointConnectionError, 'Could not connect to the endpoint URL'): client.list_stacks() + def test_client_modeled_exception(self): + client = self.session.create_client( + 'dynamodb', region_name='us-west-2') + with self.assertRaises(client.exceptions.ResourceNotFoundException): + client.describe_table(TableName="NonexistentTable") + + def test_client_modeleded_exception_with_differing_code(self): + client = self.session.create_client('iam', region_name='us-west-2') + # The NoSuchEntityException should be raised on NoSuchEntity error + # code. + with self.assertRaises(client.exceptions.NoSuchEntityException): + client.get_role(RoleName="NonexistentIAMRole") + + def test_raises_general_client_error_for_non_modeled_exception(self): + client = self.session.create_client('ec2', region_name='us-west-2') + try: + client.describe_regions(DryRun=True) + except client.exceptions.ClientError as e: + self.assertIs(e.__class__, ClientError) + + def test_can_catch_client_exceptions_across_two_different_clients(self): + client = self.session.create_client( + 'dynamodb', region_name='us-west-2') + client2 = self.session.create_client( + 'dynamodb', region_name='us-west-2') + with self.assertRaises(client2.exceptions.ResourceNotFoundException): + client.describe_table(TableName="NonexistentTable") + class TestClientMeta(unittest.TestCase): def setUp(self): @@ -191,3 +162,16 @@ # We should now have access to the extra_client_method above. self.assertEqual(client.extra_client_method('foo'), 'foo') + + +class TestMixedEndpointCasing(unittest.TestCase): + def setUp(self): + self.url = 'https://EC2.US-WEST-2.amazonaws.com/' + self.session = botocore.session.get_session() + self.client = self.session.create_client('ec2', 'us-west-2', + endpoint_url=self.url) + + def test_sigv4_is_correct_when_mixed_endpoint_casing(self): + res = self.client.describe_regions() + status_code = res['ResponseMetadata']['HTTPStatusCode'] + self.assertEqual(status_code, 200) diff -Nru python-botocore-1.4.70/tests/integration/test_credentials.py python-botocore-1.16.19+repack/tests/integration/test_credentials.py --- python-botocore-1.4.70/tests/integration/test_credentials.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_credentials.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,13 +10,20 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - import os import mock +import tempfile +import shutil +import json +import time +from uuid import uuid4 -import botocore.exceptions from botocore.session import Session -from tests import BaseEnvVar, temporary_file +from botocore.exceptions import ClientError +from tests import BaseEnvVar, temporary_file, random_chars + + +S3_READ_POLICY_ARN = 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess' class TestCredentialPrecedence(BaseEnvVar): @@ -122,3 +129,245 @@ self.assertEqual(credentials.access_key, 'custom1') self.assertEqual(credentials.secret_key, 'custom2') + + +class TestAssumeRoleCredentials(BaseEnvVar): + def setUp(self): + self.env_original = os.environ.copy() + self.environ_copy = os.environ.copy() + super(TestAssumeRoleCredentials, self).setUp() + os.environ = self.environ_copy + # The tests rely on manipulating AWS_CONFIG_FILE, + # but we also need to make sure we don't accidentally + # pick up the ~/.aws/credentials file either. + os.environ['AWS_SHARED_CREDENTIALS_FILE'] = str(uuid4()) + self.parent_session = Session() + self.iam = self.parent_session.create_client('iam') + self.sts = self.parent_session.create_client('sts') + self.tempdir = tempfile.mkdtemp() + self.config_file = os.path.join(self.tempdir, 'config') + + # A role trust policy that allows the current account to call assume + # role on itself. + account_id = self.sts.get_caller_identity()['Account'] + self.role_policy = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "AWS": "arn:aws:iam::%s:root" % account_id + }, + "Action": "sts:AssumeRole" + } + ] + } + + def tearDown(self): + super(TestAssumeRoleCredentials, self).tearDown() + shutil.rmtree(self.tempdir) + os.environ = self.env_original.copy() + + def random_name(self): + return 'botocoretest-' + random_chars(10) + + def create_role(self, policy_document, policy_arn=None): + name = self.random_name() + response = self.iam.create_role( + RoleName=name, + AssumeRolePolicyDocument=json.dumps(policy_document) + ) + self.addCleanup(self.iam.delete_role, RoleName=name) + if policy_arn: + self.iam.attach_role_policy(RoleName=name, PolicyArn=policy_arn) + self.addCleanup( + self.iam.detach_role_policy, RoleName=name, + PolicyArn=policy_arn + ) + return response['Role'] + + def create_user(self, policy_arns): + name = self.random_name() + user = self.iam.create_user(UserName=name)['User'] + self.addCleanup(self.iam.delete_user, UserName=name) + + for arn in policy_arns: + self.iam.attach_user_policy( + UserName=name, + PolicyArn=arn + ) + self.addCleanup( + self.iam.detach_user_policy, + UserName=name, PolicyArn=arn + ) + + return user + + def create_creds(self, user_name): + creds = self.iam.create_access_key(UserName=user_name)['AccessKey'] + self.addCleanup( + self.iam.delete_access_key, + UserName=user_name, AccessKeyId=creds['AccessKeyId'] + ) + return creds + + def wait_for_assume_role(self, role_arn, access_key, secret_key, + token=None, attempts=30, delay=10, + success_delay=1, + num_success=4): + for _ in range(num_success): + creds = self._wait_for_assume_role( + role_arn, access_key, secret_key, token, attempts, delay) + time.sleep(success_delay) + return creds + + def _wait_for_assume_role(self, role_arn, access_key, secret_key, + token, attempts, delay): + # "Why not use the policy simulator?" you might ask. The answer is + # that the policy simulator will return success far before you can + # actually make the calls. + client = self.parent_session.create_client( + 'sts', aws_access_key_id=access_key, + aws_secret_access_key=secret_key, aws_session_token=token + ) + attempts_remaining = attempts + role_session_name = random_chars(10) + while attempts_remaining > 0: + attempts_remaining -= 1 + try: + result = client.assume_role( + RoleArn=role_arn, RoleSessionName=role_session_name) + return result['Credentials'] + except ClientError as e: + code = e.response.get('Error', {}).get('Code') + if code in ["InvalidClientTokenId", "AccessDenied"]: + time.sleep(delay) + else: + raise + + raise Exception("Unable to assume role %s" % role_arn) + + def create_assume_policy(self, role_arn): + policy_document = { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Resource": role_arn, + "Action": "sts:AssumeRole" + } + ] + } + name = self.random_name() + response = self.iam.create_policy( + PolicyName=name, + PolicyDocument=json.dumps(policy_document) + ) + self.addCleanup( + self.iam.delete_policy, PolicyArn=response['Policy']['Arn'] + ) + return response['Policy']['Arn'] + + def assert_s3_read_only_session(self, session): + # Calls to S3 should succeed + s3 = session.create_client('s3') + s3.list_buckets() + + # Calls to other services should not + iam = session.create_client('iam') + try: + iam.list_groups() + self.fail("Expected call to list_groups to fail, but it passed.") + except ClientError as e: + code = e.response.get('Error', {}).get('Code') + if code != 'AccessDenied': + raise + + def test_recursive_assume_role(self): + # Create the final role, the one that will actually have access to s3 + final_role = self.create_role(self.role_policy, S3_READ_POLICY_ARN) + + # Create the role that can assume the final role + middle_policy_arn = self.create_assume_policy(final_role['Arn']) + middle_role = self.create_role(self.role_policy, middle_policy_arn) + + # Create a user that can only assume the middle-man role, and then get + # static credentials for it. + user_policy_arn = self.create_assume_policy(middle_role['Arn']) + user = self.create_user([user_policy_arn]) + user_creds = self.create_creds(user['UserName']) + + # Setup the config file with the profiles we'll be using. For + # convenience static credentials are placed here instead of putting + # them in the credentials file. + config = ( + '[default]\n' + 'aws_access_key_id = %s\n' + 'aws_secret_access_key = %s\n' + '[profile middle]\n' + 'source_profile = default\n' + 'role_arn = %s\n' + '[profile final]\n' + 'source_profile = middle\n' + 'role_arn = %s\n' + ) + config = config % ( + user_creds['AccessKeyId'], user_creds['SecretAccessKey'], + middle_role['Arn'], final_role['Arn'] + ) + with open(self.config_file, 'w') as f: + f.write(config) + + # Wait for IAM permissions to propagate + middle_creds = self.wait_for_assume_role( + role_arn=middle_role['Arn'], + access_key=user_creds['AccessKeyId'], + secret_key=user_creds['SecretAccessKey'], + ) + self.wait_for_assume_role( + role_arn=final_role['Arn'], + access_key=middle_creds['AccessKeyId'], + secret_key=middle_creds['SecretAccessKey'], + token=middle_creds['SessionToken'], + ) + + # Configure our credentials file to be THE credentials file + os.environ['AWS_CONFIG_FILE'] = self.config_file + + self.assert_s3_read_only_session(Session(profile='final')) + + def test_assume_role_with_credential_source(self): + # Create a role with read access to S3 + role = self.create_role(self.role_policy, S3_READ_POLICY_ARN) + + # Create a user that can assume the role and get static credentials + # for it. + user_policy_arn = self.create_assume_policy(role['Arn']) + user = self.create_user([user_policy_arn]) + user_creds = self.create_creds(user['UserName']) + + # Setup the config file with the profile we'll be using. + config = ( + '[profile assume]\n' + 'role_arn = %s\n' + 'credential_source = Environment\n' + ) + config = config % role['Arn'] + with open(self.config_file, 'w') as f: + f.write(config) + + # Wait for IAM permissions to propagate + self.wait_for_assume_role( + role_arn=role['Arn'], + access_key=user_creds['AccessKeyId'], + secret_key=user_creds['SecretAccessKey'], + ) + + # Setup the environment so that our new config file is THE config + # file and add the expected credentials since we're using the + # environment as our credential source. + os.environ['AWS_CONFIG_FILE'] = self.config_file + os.environ['AWS_SECRET_ACCESS_KEY'] = user_creds['SecretAccessKey'] + os.environ['AWS_ACCESS_KEY_ID'] = user_creds['AccessKeyId'] + + self.assert_s3_read_only_session(Session(profile='assume')) diff -Nru python-botocore-1.4.70/tests/integration/test_ec2.py python-botocore-1.16.19+repack/tests/integration/test_ec2.py --- python-botocore-1.4.70/tests/integration/test_ec2.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_ec2.py 2020-05-28 19:26:08.000000000 +0000 @@ -30,7 +30,8 @@ result = self.client.describe_availability_zones() zones = list( sorted(a['ZoneName'] for a in result['AvailabilityZones'])) - self.assertEqual(zones, ['us-west-2a', 'us-west-2b', 'us-west-2c']) + self.assertTrue( + set(['us-west-2a', 'us-west-2b', 'us-west-2c']).issubset(zones)) def test_get_console_output_handles_error(self): # Want to ensure the underlying ClientError is propogated @@ -63,9 +64,9 @@ self.assertEqual(len(results), 3) for parsed in results: reserved_inst_offer = parsed['ReservedInstancesOfferings'] - # There should only be one reserved instance offering on each - # page. - self.assertEqual(len(reserved_inst_offer), 1) + # There should be no more than one reserved instance + # offering on each page. + self.assertLessEqual(len(reserved_inst_offer), 1) def test_can_fall_back_to_old_starting_token(self): # Using an operation that we know will paginate. @@ -81,65 +82,5 @@ self.fail("Old style paginator failed.") -@attr('slow') -class TestCopySnapshotCustomization(unittest.TestCase): - def setUp(self): - self.session = botocore.session.get_session() - # However, all the test fixture setup/cleanup can use - # the client interface. - self.client = self.session.create_client('ec2', 'us-west-2') - self.client_us_east_1 = self.session.create_client( - 'ec2', 'us-east-1') - - def create_volume(self, encrypted=False): - available_zones = self.client.describe_availability_zones() - first_zone = available_zones['AvailabilityZones'][0]['ZoneName'] - response = self.client.create_volume( - Size=1, AvailabilityZone=first_zone, Encrypted=encrypted) - volume_id = response['VolumeId'] - self.addCleanup(self.client.delete_volume, VolumeId=volume_id) - self.client.get_waiter('volume_available').wait(VolumeIds=[volume_id]) - return volume_id - - def create_snapshot(self, volume_id): - response = self.client.create_snapshot(VolumeId=volume_id) - snapshot_id = response['SnapshotId'] - self.client.get_waiter('snapshot_completed').wait( - SnapshotIds=[snapshot_id]) - self.addCleanup(self.client.delete_snapshot, SnapshotId=snapshot_id) - return snapshot_id - - def cleanup_copied_snapshot(self, snapshot_id): - dest_client = self.session.create_client('ec2', 'us-east-1') - self.addCleanup(dest_client.delete_snapshot, - SnapshotId=snapshot_id) - dest_client.get_waiter('snapshot_completed').wait( - SnapshotIds=[snapshot_id]) - - def test_can_copy_snapshot(self): - volume_id = self.create_volume() - snapshot_id = self.create_snapshot(volume_id) - - result = self.client_us_east_1.copy_snapshot( - SourceRegion='us-west-2', - SourceSnapshotId=snapshot_id) - self.assertIn('SnapshotId', result) - - # Cleanup code. We can wait for the snapshot to be complete - # and then we can delete the snapshot. - self.cleanup_copied_snapshot(result['SnapshotId']) - - def test_can_copy_encrypted_snapshot(self): - # Note that we're creating an encrypted volume here. - volume_id = self.create_volume(encrypted=True) - snapshot_id = self.create_snapshot(volume_id) - - result = self.client_us_east_1.copy_snapshot( - SourceRegion='us-west-2', - SourceSnapshotId=snapshot_id) - self.assertIn('SnapshotId', result) - self.cleanup_copied_snapshot(result['SnapshotId']) - - if __name__ == '__main__': unittest.main() diff -Nru python-botocore-1.4.70/tests/integration/test_elastictranscoder.py python-botocore-1.16.19+repack/tests/integration/test_elastictranscoder.py --- python-botocore-1.4.70/tests/integration/test_elastictranscoder.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_elastictranscoder.py 2020-05-28 19:26:08.000000000 +0000 @@ -12,7 +12,6 @@ # language governing permissions and limitations under the License. from tests import unittest, random_chars -import functools import botocore.session @@ -40,6 +39,8 @@ def create_bucket(self): bucket_name = 'ets-bucket-1-%s' % random_chars(50) self.s3_client.create_bucket(Bucket=bucket_name) + waiter = self.s3_client.get_waiter('bucket_exists') + waiter.wait(Bucket=bucket_name) self.addCleanup( self.s3_client.delete_bucket, Bucket=bucket_name) return bucket_name diff -Nru python-botocore-1.4.70/tests/integration/test_kinesis.py python-botocore-1.16.19+repack/tests/integration/test_kinesis.py --- python-botocore-1.4.70/tests/integration/test_kinesis.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_kinesis.py 1970-01-01 00:00:00.000000000 +0000 @@ -1,118 +0,0 @@ -# Copyright 2012-2014 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. -import time -from tests import unittest, random_chars - -from nose.plugins.attrib import attr - -import botocore.session - - -class TestKinesisListStreams(unittest.TestCase): - - REGION = 'us-east-1' - - def setUp(self): - self.client = self.session.create_client('kinesis', self.REGION) - - @classmethod - def setUpClass(cls): - cls.session = botocore.session.get_session() - cls.stream_name = 'botocore-test-%s' % random_chars(10) - client = cls.session.create_client('kinesis', cls.REGION) - client.create_stream(StreamName=cls.stream_name, - ShardCount=1) - waiter = client.get_waiter('stream_exists') - waiter.wait(StreamName=cls.stream_name) - - @classmethod - def tearDownClass(cls): - client = cls.session.create_client('kinesis', cls.REGION) - client.delete_stream(StreamName=cls.stream_name) - - def test_list_streams(self): - parsed = self.client.list_streams() - self.assertIn('StreamNames', parsed) - - @attr('slow') - def test_can_put_stream_blob(self): - self.client.put_record( - StreamName=self.stream_name, PartitionKey='foo', Data='foobar') - # Give it a few seconds for the record to get into the stream. - time.sleep(10) - - stream = self.client.describe_stream(StreamName=self.stream_name) - shard = stream['StreamDescription']['Shards'][0] - shard_iterator = self.client.get_shard_iterator( - StreamName=self.stream_name, ShardId=shard['ShardId'], - ShardIteratorType='TRIM_HORIZON') - - records = self.client.get_records( - ShardIterator=shard_iterator['ShardIterator']) - self.assertTrue(len(records['Records']) > 0) - self.assertEqual(records['Records'][0]['Data'], b'foobar') - - @attr('slow') - def test_can_put_records_single_blob(self): - self.client.put_records( - StreamName=self.stream_name, - Records=[{ - 'Data': 'foobar', - 'PartitionKey': 'foo' - }] - ) - # Give it a few seconds for the record to get into the stream. - time.sleep(10) - - stream = self.client.describe_stream(StreamName=self.stream_name) - shard = stream['StreamDescription']['Shards'][0] - shard_iterator = self.client.get_shard_iterator( - StreamName=self.stream_name, ShardId=shard['ShardId'], - ShardIteratorType='TRIM_HORIZON') - - records = self.client.get_records( - ShardIterator=shard_iterator['ShardIterator']) - self.assertTrue(len(records['Records']) > 0) - self.assertEqual(records['Records'][0]['Data'], b'foobar') - - @attr('slow') - def test_can_put_records_multiple_blob(self): - self.client.put_records( - StreamName=self.stream_name, - Records=[{ - 'Data': 'foobar', - 'PartitionKey': 'foo' - }, { - 'Data': 'barfoo', - 'PartitionKey': 'foo' - }] - ) - # Give it a few seconds for the record to get into the stream. - time.sleep(10) - - stream = self.client.describe_stream(StreamName=self.stream_name) - shard = stream['StreamDescription']['Shards'][0] - shard_iterator = self.client.get_shard_iterator( - StreamName=self.stream_name, ShardId=shard['ShardId'], - ShardIteratorType='TRIM_HORIZON') - - records = self.client.get_records( - ShardIterator=shard_iterator['ShardIterator']) - self.assertTrue(len(records['Records']) == 2) - # Verify that both made it through. - record_data = [r['Data'] for r in records['Records']] - self.assertEqual(sorted([b'foobar', b'barfoo']), sorted(record_data)) - - -if __name__ == '__main__': - unittest.main() diff -Nru python-botocore-1.4.70/tests/integration/test_s3.py python-botocore-1.16.19+repack/tests/integration/test_s3.py --- python-botocore-1.4.70/tests/integration/test_s3.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_s3.py 2020-05-28 19:26:08.000000000 +0000 @@ -11,50 +11,125 @@ # 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, temporary_file, random_chars +from tests import ( + unittest, temporary_file, random_chars, ClientHTTPStubber, + ConsistencyWaiter, +) import os import time from collections import defaultdict import tempfile import shutil import threading +import logging import mock from tarfile import TarFile from contextlib import closing from nose.plugins.attrib import attr +import urllib3 -from botocore.vendored.requests import adapters -from botocore.vendored.requests.exceptions import ConnectionError -from botocore.compat import six, zip_longest +from botocore.endpoint import Endpoint +from botocore.exceptions import ConnectionClosedError +from botocore.compat import six, zip_longest, OrderedDict import botocore.session import botocore.auth import botocore.credentials -import botocore.vendored.requests as requests from botocore.config import Config -from botocore.exceptions import ClientError +from botocore.exceptions import ClientError, WaiterError def random_bucketname(): - # 63 is the max bucket length. - bucket_name = 'botocoretest' - return bucket_name + random_chars(63 - len(bucket_name)) + return 'botocoretest-' + random_chars(50) -def recursive_delete(client, bucket_name): - # Recursively deletes a bucket and all of its contents. - objects = client.get_paginator('list_objects').paginate( - Bucket=bucket_name) - for key in objects.search('Contents[].Key'): - if key is not None: - client.delete_object(Bucket=bucket_name, Key=key) - client.delete_bucket(Bucket=bucket_name) +LOG = logging.getLogger('botocore.tests.integration') +_SHARED_BUCKET = random_bucketname() +_DEFAULT_REGION = 'us-west-2' + + +def http_get(url): + http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED') + response = http.request('GET', url) + return response + + +def http_post(url, data, files): + http = urllib3.PoolManager(cert_reqs='CERT_REQUIRED') + merged_data = OrderedDict() + merged_data.update(data) + merged_data.update(files) + response = http.request( + 'POST', url, + fields=merged_data, + ) + return response + + +def setup_module(): + s3 = botocore.session.get_session().create_client('s3') + waiter = s3.get_waiter('bucket_exists') + params = { + 'Bucket': _SHARED_BUCKET, + 'CreateBucketConfiguration': { + 'LocationConstraint': _DEFAULT_REGION, + } + } + try: + s3.create_bucket(**params) + except Exception as e: + # A create_bucket can fail for a number of reasons. + # We're going to defer to the waiter below to make the + # final call as to whether or not the bucket exists. + LOG.debug("create_bucket() raised an exception: %s", e, exc_info=True) + waiter.wait(Bucket=_SHARED_BUCKET) + + +def clear_out_bucket(bucket, region, delete_bucket=False): + s3 = botocore.session.get_session().create_client( + 's3', region_name=region) + # Ensure the bucket exists before attempting to wipe it out + exists_waiter = s3.get_waiter('bucket_exists') + exists_waiter.wait(Bucket=bucket) + page = s3.get_paginator('list_objects') + # Use pages paired with batch delete_objects(). + for page in page.paginate(Bucket=bucket): + keys = [{'Key': obj['Key']} for obj in page.get('Contents', [])] + if keys: + s3.delete_objects(Bucket=bucket, Delete={'Objects': keys}) + if delete_bucket: + for _ in range(5): + try: + s3.delete_bucket(Bucket=bucket) + break + except s3.exceptions.NoSuchBucket: + exists_waiter.wait(Bucket=bucket) + except Exception as e: + # We can sometimes get exceptions when trying to + # delete a bucket. We'll let the waiter make + # the final call as to whether the bucket was able + # to be deleted. + LOG.debug("delete_bucket() raised an exception: %s", + e, exc_info=True) + not_exists_waiter = s3.get_waiter('bucket_not_exists') + not_exists_waiter.wait(Bucket=bucket) + except WaiterError: + continue + + +def teardown_module(): + clear_out_bucket(_SHARED_BUCKET, _DEFAULT_REGION, delete_bucket=True) class BaseS3ClientTest(unittest.TestCase): + + DEFAULT_DELAY = 5 + def setUp(self): + self.bucket_name = _SHARED_BUCKET + self.region = _DEFAULT_REGION + clear_out_bucket(self.bucket_name, self.region) self.session = botocore.session.get_session() - self.region = 'us-east-1' self.client = self.session.create_client('s3', region_name=self.region) def assert_status_code(self, response, status_code): @@ -65,7 +140,6 @@ def create_bucket(self, region_name, bucket_name=None, client=None): bucket_client = client or self.client - bucket_kwargs = {} if bucket_name is None: bucket_name = random_bucketname() bucket_kwargs = {'Bucket': bucket_name} @@ -76,27 +150,71 @@ response = bucket_client.create_bucket(**bucket_kwargs) self.assert_status_code(response, 200) waiter = bucket_client.get_waiter('bucket_exists') - waiter.wait(Bucket=bucket_name) - self.addCleanup(recursive_delete, bucket_client, bucket_name) + consistency_waiter = ConsistencyWaiter( + min_successes=3, delay=self.DEFAULT_DELAY, + delay_initial_poll=True) + consistency_waiter.wait( + lambda: waiter.wait(Bucket=bucket_name) is None + ) + self.addCleanup(clear_out_bucket, bucket_name, region_name, True) return bucket_name + def create_object(self, key_name, body='foo', num_attempts=3): + for _ in range(num_attempts): + try: + self.client.put_object( + Bucket=self.bucket_name, Key=key_name, + Body=body) + break + except self.client.exceptions.NoSuchBucket: + time.sleep(self.DEFAULT_DELAY) + self.wait_until_key_exists(self.bucket_name, key_name) + def make_tempdir(self): tempdir = tempfile.mkdtemp() self.addCleanup(shutil.rmtree, tempdir) return tempdir + def wait_until_key_exists(self, bucket_name, key_name, extra_params=None, + min_successes=3): + self._wait_for_key(bucket_name, key_name, extra_params, + min_successes, exists=True) + + def wait_until_key_not_exists(self, bucket_name, key_name, extra_params=None, + min_successes=3): + self._wait_for_key(bucket_name, key_name, extra_params, + min_successes, exists=False) + + def _wait_for_key(self, bucket_name, key_name, extra_params=None, + min_successes=3, exists=True): + if exists: + waiter = self.client.get_waiter('object_exists') + else: + waiter = self.client.get_waiter('object_not_exists') + params = {'Bucket': bucket_name, 'Key': key_name} + if extra_params is not None: + params.update(extra_params) + for _ in range(min_successes): + waiter.wait(**params) + + def _check_bucket_versioning(self, bucket, enabled=True): + client = self.session.create_client('s3', region_name=self.region) + response = client.get_bucket_versioning(Bucket=bucket) + status = response.get('Status') + return status == 'Enabled' if enabled else status != 'Enabled' + + def wait_until_versioning_enabled(self, bucket, min_successes=3): + waiter = ConsistencyWaiter( + min_successes=min_successes, + delay=self.DEFAULT_DELAY, delay_initial_poll=True) + waiter.wait(self._check_bucket_versioning, bucket) + class TestS3BaseWithBucket(BaseS3ClientTest): def setUp(self): super(TestS3BaseWithBucket, self).setUp() - self.bucket_name = self.create_bucket(self.region) self.caught_exceptions = [] - def create_object(self, key_name, body='foo'): - self.client.put_object( - Bucket=self.bucket_name, Key=key_name, - Body=body) - def create_multipart_upload(self, key_name): parsed = self.client.create_multipart_upload( Bucket=self.bucket_name, Key=key_name) @@ -162,7 +280,8 @@ Bucket=self.bucket_name, Key='foo', Body=body) self.assert_status_code(response, 200) - self.addCleanup(client.delete_object, Bucket=self.bucket_name, Key='foo') + self.addCleanup( + client.delete_object, Bucket=self.bucket_name, Key='foo') class TestS3Buckets(TestS3BaseWithBucket): @@ -180,8 +299,7 @@ def test_can_get_bucket_location(self): result = self.client.get_bucket_location(Bucket=self.bucket_name) self.assertIn('LocationConstraint', result) - # For buckets in us-east-1 (US Classic Region) this will be None - self.assertEqual(result['LocationConstraint'], None) + self.assertEqual(result['LocationConstraint'], self.region) class TestS3Objects(TestS3BaseWithBucket): @@ -275,6 +393,11 @@ body = '*' * (5 * (1024 ** 2)) self.assert_can_put_object(body) + def test_can_put_object_bytearray(self): + body_bytes = b'*' * 1024 + body = bytearray(body_bytes) + self.assert_can_put_object(body) + def test_get_object_stream_wrapper(self): self.create_object('foobarbaz', body='body contents') response = self.client.get_object( @@ -361,6 +484,7 @@ # break the xml parser key_name = 'foo\x08' self.create_object(key_name) + self.addCleanup(self.delete_object, key_name, self.bucket_name) parsed = self.client.list_objects(Bucket=self.bucket_name) self.assertEqual(len(parsed['Contents']), 1) self.assertEqual(parsed['Contents'][0]['Key'], key_name) @@ -370,9 +494,40 @@ self.assertEqual(len(parsed['Contents']), 1) self.assertEqual(parsed['Contents'][0]['Key'], 'foo%08') + def test_unicode_system_character_with_list_v2(self): + # Verify we can use a unicode system character which would normally + # break the xml parser + key_name = 'foo\x08' + self.create_object(key_name) + self.addCleanup(self.delete_object, key_name, self.bucket_name) + parsed = self.client.list_objects_v2(Bucket=self.bucket_name) + self.assertEqual(len(parsed['Contents']), 1) + self.assertEqual(parsed['Contents'][0]['Key'], key_name) + + parsed = self.client.list_objects_v2(Bucket=self.bucket_name, + EncodingType='url') + self.assertEqual(len(parsed['Contents']), 1) + self.assertEqual(parsed['Contents'][0]['Key'], 'foo%08') + + def test_unicode_system_character_with_list_object_versions(self): + # Verify we can use a unicode system character which would normally + # break the xml parser + key_name = 'foo\x03' + self.create_object(key_name) + self.addCleanup(self.delete_object, key_name, self.bucket_name) + parsed = self.client.list_object_versions(Bucket=self.bucket_name) + self.assertEqual(len(parsed['Versions']), 1) + self.assertEqual(parsed['Versions'][0]['Key'], key_name) + + parsed = self.client.list_object_versions(Bucket=self.bucket_name, + EncodingType='url') + self.assertEqual(len(parsed['Versions']), 1) + self.assertEqual(parsed['Versions'][0]['Key'], 'foo%03') + def test_thread_safe_auth(self): self.auth_paths = [] - self.session.register('before-sign', self.increment_auth) + emitter = self.session.get_component('event_emitter') + emitter.register_last('before-sign.s3', self.increment_auth) # This test depends on auth_path, which is only added in virtual host # style requests. config = Config(s3={'addressing_style': 'virtual'}) @@ -491,14 +646,8 @@ def setup_bucket(self): self.key = 'myobject' - self.bucket_name = self.create_bucket(self.region) self.create_object(key_name=self.key) - def create_object(self, key_name, body='foo'): - self.client.put_object( - Bucket=self.bucket_name, Key=key_name, - Body=body) - class TestS3PresignUsStandard(BaseS3PresignTest): def setUp(self): @@ -508,6 +657,7 @@ region_name=self.region, signature_version='s3') self.client = self.session.create_client( 's3', config=self.client_config) + self.bucket_name = self.create_bucket(self.region) self.setup_bucket() def test_presign_sigv2(self): @@ -520,7 +670,7 @@ "Host was suppose to use DNS style, instead " "got: %s" % presigned_url) # Try to retrieve the object using the presigned url. - self.assertEqual(requests.get(presigned_url).content, b'foo') + self.assertEqual(http_get(presigned_url).data, b'foo') def test_presign_with_existing_query_string_values(self): content_disposition = 'attachment; filename=foo.txt;' @@ -528,10 +678,10 @@ 'get_object', Params={ 'Bucket': self.bucket_name, 'Key': self.key, 'ResponseContentDisposition': content_disposition}) - response = requests.get(presigned_url) + response = http_get(presigned_url) self.assertEqual(response.headers['Content-Disposition'], content_disposition) - self.assertEqual(response.content, b'foo') + self.assertEqual(response.data, b'foo') def test_presign_sigv4(self): self.client_config.signature_version = 's3v4' @@ -541,12 +691,12 @@ 'get_object', Params={'Bucket': self.bucket_name, 'Key': self.key}) self.assertTrue( presigned_url.startswith( - 'https://s3.amazonaws.com/%s/%s' % ( + 'https://%s.s3.amazonaws.com/%s' % ( self.bucket_name, self.key)), "Host was suppose to be the us-east-1 endpoint, instead " "got: %s" % presigned_url) # Try to retrieve the object using the presigned url. - self.assertEqual(requests.get(presigned_url).content, b'foo') + self.assertEqual(http_get(presigned_url).data, b'foo') def test_presign_post_sigv2(self): @@ -576,9 +726,9 @@ "got: %s" % post_args['url']) # Try to retrieve the object using the presigned url. - r = requests.post( - post_args['url'], data=post_args['fields'], files=files) - self.assertEqual(r.status_code, 204) + r = http_post(post_args['url'], data=post_args['fields'], + files=files) + self.assertEqual(r.status, 204) def test_presign_post_sigv4(self): self.client_config.signature_version = 's3v4' @@ -606,20 +756,19 @@ # Make sure the correct endpoint is being used self.assertTrue( post_args['url'].startswith( - 'https://s3.amazonaws.com/%s' % self.bucket_name), + 'https://%s.s3.amazonaws.com/' % self.bucket_name), "Host was suppose to use us-east-1 endpoint, instead " "got: %s" % post_args['url']) - r = requests.post( - post_args['url'], data=post_args['fields'], files=files) - self.assertEqual(r.status_code, 204) + r = http_post(post_args['url'], data=post_args['fields'], + files=files) + self.assertEqual(r.status, 204) class TestS3PresignNonUsStandard(BaseS3PresignTest): def setUp(self): super(TestS3PresignNonUsStandard, self).setUp() - self.region = 'us-west-2' self.client_config = Config( region_name=self.region, signature_version='s3') self.client = self.session.create_client( @@ -636,10 +785,17 @@ "Host was suppose to use DNS style, instead " "got: %s" % presigned_url) # Try to retrieve the object using the presigned url. - self.assertEqual(requests.get(presigned_url).content, b'foo') + self.assertEqual(http_get(presigned_url).data, b'foo') def test_presign_sigv4(self): + # For a newly created bucket, you can't use virtualhosted + # addressing and 's3v4' due to the backwards compat behavior + # using '.s3.amazonaws.com' for anything in the AWS partition. + # Instead you either have to use the older 's3' signature version + # of you have to use path style addressing. The latter is being + # done here. self.client_config.signature_version = 's3v4' + self.client_config.s3 = {'addressing_style': 'path'} self.client = self.session.create_client( 's3', config=self.client_config) presigned_url = self.client.generate_presigned_url( @@ -647,12 +803,12 @@ self.assertTrue( presigned_url.startswith( - 'https://s3-us-west-2.amazonaws.com/%s/%s' % ( + 'https://s3.us-west-2.amazonaws.com/%s/%s' % ( self.bucket_name, self.key)), "Host was suppose to be the us-west-2 endpoint, instead " "got: %s" % presigned_url) # Try to retrieve the object using the presigned url. - self.assertEqual(requests.get(presigned_url).content, b'foo') + self.assertEqual(http_get(presigned_url).data, b'foo') def test_presign_post_sigv2(self): # Create some of the various supported conditions. @@ -679,9 +835,9 @@ "Host was suppose to use DNS style, instead " "got: %s" % post_args['url']) - r = requests.post( - post_args['url'], data=post_args['fields'], files=files) - self.assertEqual(r.status_code, 204) + r = http_post(post_args['url'], data=post_args['fields'], + files=files) + self.assertEqual(r.status, 204) def test_presign_post_sigv4(self): self.client_config.signature_version = 's3v4' @@ -708,13 +864,13 @@ # Make sure the correct endpoint is being used self.assertTrue( post_args['url'].startswith( - 'https://s3-us-west-2.amazonaws.com/%s' % self.bucket_name), + 'https://%s.s3.amazonaws.com/' % self.bucket_name), "Host was suppose to use DNS style, instead " "got: %s" % post_args['url']) - r = requests.post( - post_args['url'], data=post_args['fields'], files=files) - self.assertEqual(r.status_code, 204) + r = http_post(post_args['url'], data=post_args['fields'], + files=files) + self.assertEqual(r.status, 204) class TestCreateBucketInOtherRegion(TestS3BaseWithBucket): @@ -750,35 +906,26 @@ class TestS3SigV4Client(BaseS3ClientTest): def setUp(self): super(TestS3SigV4Client, self).setUp() - self.region = 'eu-central-1' - self.client = self.session.create_client('s3', self.region) - self.bucket_name = self.create_bucket(self.region) + self.client = self.session.create_client( + 's3', self.region, config=Config(signature_version='s3v4')) + self.http_stubber = ClientHTTPStubber(self.client) def test_can_get_bucket_location(self): - # Even though the bucket is in eu-central-1, we should still be able to + # Even though the bucket is in us-west-2, we should still be able to # use the us-east-1 endpoint class to get the bucket location. client = self.session.create_client('s3', 'us-east-1') # Also keep in mind that while this test is useful, it doesn't test # what happens once DNS propogates which is arguably more interesting, # as DNS will point us to the eu-central-1 endpoint. response = client.get_bucket_location(Bucket=self.bucket_name) - self.assertEqual(response['LocationConstraint'], 'eu-central-1') + self.assertEqual(response['LocationConstraint'], 'us-west-2') def test_request_retried_for_sigv4(self): body = six.BytesIO(b"Hello world!") - - original_send = adapters.HTTPAdapter.send - state = mock.Mock() - state.error_raised = False - - def mock_http_adapter_send(self, *args, **kwargs): - if not state.error_raised: - state.error_raised = True - raise ConnectionError("Simulated ConnectionError raised.") - else: - return original_send(self, *args, **kwargs) - with mock.patch('botocore.vendored.requests.adapters.HTTPAdapter.send', - mock_http_adapter_send): + exception = ConnectionClosedError(endpoint_url='') + self.http_stubber.responses.append(exception) + self.http_stubber.responses.append(None) + with self.http_stubber: response = self.client.put_object(Bucket=self.bucket_name, Key='foo.txt', Body=body) self.assert_status_code(response, 200) @@ -850,13 +997,41 @@ # Make sure the upload id is as expected. self.assertEqual(response['Uploads'][0]['UploadId'], upload_id) + def test_can_add_double_space_metadata(self): + # Ensure we get no sigv4 errors when we send + # metadata with consecutive spaces. + response = self.client.put_object( + Bucket=self.bucket_name, Key='foo.txt', + Body=b'foobar', Metadata={'foo': ' multi spaces '}) + self.assert_status_code(response, 200) -class TestSSEKeyParamValidation(BaseS3ClientTest): - def setUp(self): - self.session = botocore.session.get_session() - self.client = self.session.create_client('s3', 'us-west-2') - self.bucket_name = self.create_bucket('us-west-2') + def test_bad_request_on_invalid_credentials(self): + # A previous bug would cause this to hang. We want + # to verify we get the 400 response. + # In order to test we need a key that actually + # exists so we use the properly configured self.client. + self.client.put_object(Bucket=self.bucket_name, + Key='foo.txt', + Body=b'asdfasdf') + # Now we create a client with a bad session token + # which should give us a 400 response. + creds = self.session.get_credentials() + client = self.session.create_client( + 's3', self.region, + config=Config(signature_version='s3v4'), + aws_access_key_id=creds.access_key, + aws_secret_access_key=creds.secret_key, + aws_session_token='bad-token-causes-400', + ) + with self.assertRaises(ClientError) as e: + client.head_object( + Bucket=self.bucket_name, + Key='foo.txt', + ) + self.assertEqual(e.exception.response['Error']['Code'], '400') + +class TestSSEKeyParamValidation(BaseS3ClientTest): def test_make_request_with_sse(self): key_bytes = os.urandom(32) # Obviously a bad key here, but we just want to ensure we can use @@ -929,7 +1104,7 @@ class TestS3UTF8Headers(BaseS3ClientTest): def test_can_set_utf_8_headers(self): - bucket_name = self.create_bucket(self.region) + bucket_name = _SHARED_BUCKET body = six.BytesIO(b"Hello world!") response = self.client.put_object( Bucket=bucket_name, Key="foo.txt", Body=body, @@ -940,9 +1115,6 @@ class TestSupportedPutObjectBodyTypes(TestS3BaseWithBucket): - - - def test_can_put_unicode_content(self): self.assert_can_put_object(body=u'\u2713') @@ -997,23 +1169,24 @@ class TestAutoS3Addressing(BaseS3ClientTest): def setUp(self): super(TestAutoS3Addressing, self).setUp() - self.region = 'us-west-2' self.addressing_style = 'auto' self.client = self.create_client() - def create_client(self): + def create_client(self, signature_version='s3'): return self.session.create_client( 's3', region_name=self.region, - config=Config(s3={'addressing_style': self.addressing_style})) + config=Config(s3={ + 'addressing_style': self.addressing_style, + 'signature_version': signature_version + })) def test_can_list_buckets(self): response = self.client.list_buckets() self.assertIn('Buckets', response) def test_can_make_bucket_and_put_object(self): - bucket_name = self.create_bucket(self.region) response = self.client.put_object( - Bucket=bucket_name, Key='foo', Body='contents') + Bucket=self.bucket_name, Key='foo', Body='contents') self.assertEqual( response['ResponseMetadata']['HTTPStatusCode'], 200) @@ -1044,8 +1217,8 @@ class TestRegionRedirect(BaseS3ClientTest): def setUp(self): super(TestRegionRedirect, self).setUp() - self.bucket_region = 'eu-central-1' - self.client_region = 'us-west-2' + self.bucket_region = self.region + self.client_region = 'eu-central-1' self.client = self.session.create_client( 's3', region_name=self.client_region, @@ -1055,12 +1228,10 @@ 's3', region_name=self.bucket_region, config=Config(signature_version='s3v4') ) - self.bucket = self.create_bucket( - region_name='eu-central-1', client=self.bucket_client) def test_region_redirects(self): try: - response = self.client.list_objects(Bucket=self.bucket) + response = self.client.list_objects(Bucket=self.bucket_name) self.assertEqual( response['ResponseMetadata']['HTTPStatusCode'], 200) except ClientError as e: @@ -1069,20 +1240,22 @@ self.fail("S3 client failed to redirect to the proper region.") def test_region_redirect_sigv2_to_sigv4_raises_error(self): + self.bucket_region = 'eu-central-1' sigv2_client = self.session.create_client( 's3', region_name=self.client_region, config=Config(signature_version='s3')) + eu_bucket = self.create_bucket(self.bucket_region) msg = 'The authorization mechanism you have provided is not supported.' with self.assertRaisesRegexp(ClientError, msg): - sigv2_client.list_objects(Bucket=self.bucket) + sigv2_client.list_objects(Bucket=eu_bucket) def test_region_redirects_multiple_requests(self): try: - response = self.client.list_objects(Bucket=self.bucket) + response = self.client.list_objects(Bucket=self.bucket_name) self.assertEqual( response['ResponseMetadata']['HTTPStatusCode'], 200) - second_response = self.client.list_objects(Bucket=self.bucket) + second_response = self.client.list_objects(Bucket=self.bucket_name) self.assertEqual( second_response['ResponseMetadata']['HTTPStatusCode'], 200) except ClientError as e: @@ -1091,17 +1264,72 @@ self.fail("S3 client failed to redirect to the proper region.") def test_redirects_head_bucket(self): - response = self.client.head_bucket(Bucket=self.bucket) + response = self.client.head_bucket(Bucket=self.bucket_name) headers = response['ResponseMetadata']['HTTPHeaders'] region = headers.get('x-amz-bucket-region') self.assertEqual(region, self.bucket_region) def test_redirects_head_object(self): key = 'foo' - self.bucket_client.put_object(Bucket=self.bucket, Key=key, Body='bar') - + self.bucket_client.put_object( + Bucket=self.bucket_name, Key=key, Body='bar') + self.wait_until_key_exists(self.bucket_name, key) try: - response = self.client.head_object(Bucket=self.bucket, Key=key) + response = self.client.head_object( + Bucket=self.bucket_name, Key=key) self.assertEqual(response.get('ContentLength'), len(key)) except ClientError as e: self.fail("S3 Client failed to redirect Head Object: %s" % e) + + +class TestBucketWithVersions(BaseS3ClientTest): + def extract_version_ids(self, versions): + version_ids = [] + for marker in versions['DeleteMarkers']: + version_ids.append(marker['VersionId']) + for version in versions['Versions']: + version_ids.append(version['VersionId']) + return version_ids + + def test_create_versioned_bucket(self): + # Verifies we can: + # 1. Create a bucket + # 2. Enable versioning + # 3. Put an Object + bucket = self.create_bucket(self.region) + + self.client.put_bucket_versioning( + Bucket=bucket, + VersioningConfiguration={"Status": "Enabled"}, + ) + self.wait_until_versioning_enabled(bucket) + + key = 'testkey' + body = b'bytes body' + response = self.client.put_object(Bucket=bucket, Key=key, Body=body) + self.addCleanup( + self.client.delete_object, + Bucket=bucket, + Key=key, + VersionId=response['VersionId'] + ) + self.wait_until_key_exists(bucket, key) + + response = self.client.get_object(Bucket=bucket, Key=key) + self.assertEqual(response['Body'].read(), body) + + response = self.client.delete_object(Bucket=bucket, Key=key) + # This cleanup step removes the DeleteMarker that's created + # from the delete_object call above. + self.addCleanup( + self.client.delete_object, + Bucket=bucket, + Key=key, + VersionId=response['VersionId'] + ) + # Object does not exist anymore. + with self.assertRaises(ClientError): + self.client.get_object(Bucket=bucket, Key=key) + versions = self.client.list_object_versions(Bucket=bucket) + version_ids = self.extract_version_ids(versions) + self.assertEqual(len(version_ids), 2) diff -Nru python-botocore-1.4.70/tests/integration/test_smoke.py python-botocore-1.16.19+repack/tests/integration/test_smoke.py --- python-botocore-1.4.70/tests/integration/test_smoke.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_smoke.py 2020-05-28 19:26:08.000000000 +0000 @@ -14,13 +14,15 @@ import mock from pprint import pformat import warnings -from nose.tools import assert_equals, assert_true +import logging +from nose.tools import assert_equal, assert_true +from tests import ClientHTTPStubber from botocore import xform_name import botocore.session from botocore.client import ClientError -from botocore.vendored.requests import adapters -from botocore.vendored.requests.exceptions import ConnectionError +from botocore.endpoint import Endpoint +from botocore.exceptions import ConnectionClosedError # Mapping of service -> api calls to try. @@ -40,7 +42,7 @@ 'ListStacks': {}}, 'cloudfront': {'ListDistributions': {}, 'ListStreamingDistributions': {}}, - 'cloudhsm': {'ListAvailableZones': {}}, + 'cloudhsmv2': {'DescribeBackups': {}}, 'cloudsearch': {'DescribeDomains': {}, 'ListDomainNames': {}}, 'cloudtrail': {'DescribeTrails': {}}, @@ -82,7 +84,6 @@ 'kms': {'ListKeys': {}}, 'lambda': {'ListFunctions': {}}, 'logs': {'DescribeLogGroups': {}}, - 'machinelearning': {'DescribeMLModels': {}}, 'opsworks': {'DescribeStacks': {}}, 'rds': {'DescribeDBInstances': {}}, 'redshift': {'DescribeClusters': {}}, @@ -91,6 +92,7 @@ 's3': {'ListBuckets': {}}, 'sdb': {'ListDomains': {}}, 'ses': {'ListIdentities': {}}, + 'shield': {'GetSubscriptionState': {}}, 'sns': {'ListTopics': {}}, 'sqs': {'ListQueues': {}}, 'ssm': {'ListDocuments': {}}, @@ -108,6 +110,7 @@ 'workspaces': {'DescribeWorkspaces': {}}, } + # Same thing as the SMOKE_TESTS hash above, except these verify # that we get an error response back from the server because # we've sent invalid params. @@ -127,7 +130,7 @@ 'TemplateURL': 'http://s3.amazonaws.com/foo/bar', }}, 'cloudfront': {'GetDistribution': {'Id': 'fake-id'}}, - 'cloudhsm': {'DescribeHapg': {'HapgArn': 'bogus-arn'}}, + 'cloudhsmv2': {'ListTags': {'ResourceId': 'fake-id'}}, 'cloudsearch': {'DescribeIndexFields': {'DomainName': 'fakedomain'}}, 'cloudtrail': {'DeleteTrail': {'Name': 'fake-trail'}}, 'cloudwatch': {'SetAlarmState': { @@ -142,7 +145,7 @@ 'cognito-identity': {'DescribeIdentityPool': {'IdentityPoolId': 'fake'}}, 'cognito-sync': {'DescribeIdentityPoolUsage': {'IdentityPoolId': 'fake'}}, 'config': { - 'GetResourceConfigHistory': {'resourceType': '', 'resourceId': ''}, + 'GetResourceConfigHistory': {'resourceType': '', 'resourceId': 'fake'}, }, 'datapipeline': {'GetPipelineDefinition': {'pipelineId': 'fake'}}, 'devicefarm': {'GetDevice': {'arn': 'arn:aws:devicefarm:REGION::device:f'}}, @@ -164,15 +167,9 @@ 'gamelift': {'DescribeBuild': {'BuildId': 'fake-build-id'}}, 'glacier': {'ListVaults': {'accountId': 'fake'}}, 'iam': {'GetUser': {'UserName': 'fake'}}, - 'importexport': {'CreateJob': { - 'JobType': 'Import', - 'ValidateOnly': False, - 'Manifest': 'fake', - }}, 'kinesis': {'DescribeStream': {'StreamName': 'fake'}}, 'kms': {'GetKeyPolicy': {'KeyId': 'fake', 'PolicyName': 'fake'}}, 'lambda': {'Invoke': {'FunctionName': 'fake'}}, - 'machinelearning': {'GetBatchPrediction': {'BatchPredictionId': 'fake'}}, 'opsworks': {'DescribeLayers': {'StackId': 'fake'}}, 'rds': {'DescribeDBInstances': {'DBInstanceIdentifier': 'fake'}}, 'redshift': {'DescribeClusters': {'ClusterIdentifier': 'fake'}}, @@ -198,7 +195,7 @@ }}, 'swf': {'DescribeDomain': {'name': 'fake'}}, 'waf': {'GetWebACL': {'WebACLId': 'fake'}}, - 'workspaces': {'DescribeWorkspaces': {'DirectoryId': 'fake'}}, + 'workspaces': {'DescribeWorkspaces': {'DirectoryId': 'fake-directory-id'}}, } REGION = 'us-east-1' @@ -207,6 +204,8 @@ 'efs': 'us-west-2', 'inspector': 'us-west-2', } +MAX_RETRIES = 8 +logger = logging.getLogger(__name__) def _get_client(session, service): @@ -214,7 +213,24 @@ region_name = os.environ['AWS_SMOKE_TEST_REGION'] else: region_name = REGION_OVERRIDES.get(service, REGION) - return session.create_client(service, region_name=region_name) + client = session.create_client(service, region_name=region_name) + client.meta.events.register_first('needs-retry.*.*', retry_handler) + return client + + +def retry_handler(response, attempts, **kwargs): + if response is not None: + _, parsed = response + code = parsed.get('Error', {}).get('Code') + # Catch ThrottleException, Throttling. + is_throttle_error = code is not None and 'throttl' in code.lower() + if is_throttle_error and attempts <= MAX_RETRIES: + # We want the exponential behavior with a fixed 10 second + # minimum, e.g. 11, 12, 14, 18, 26. With a max retries of 8, + # this is about 7-8 minutes total we'll retry. + retry_delay = (2 ** (attempts - 1)) + 10 + logger.debug("Using custom retry delay of: %s", retry_delay) + return retry_delay def _list_services(dict_entries): @@ -246,9 +262,9 @@ method = getattr(client, operation_name) with warnings.catch_warnings(record=True) as caught_warnings: response = method(**kwargs) - assert_equals(len(caught_warnings), 0, - "Warnings were emitted during smoke test: %s" - % caught_warnings) + assert_equal(len(caught_warnings), 0, + "Warnings were emitted during smoke test: %s" + % caught_warnings) assert_true('Errors' not in response) @@ -285,17 +301,13 @@ def _make_client_call_with_errors(client, operation_name, kwargs): operation = getattr(client, xform_name(operation_name)) - original_send = adapters.HTTPAdapter.send - def mock_http_adapter_send(self, *args, **kwargs): - if not getattr(self, '_integ_test_error_raised', False): - self._integ_test_error_raised = True - raise ConnectionError("Simulated ConnectionError raised.") - else: - return original_send(self, *args, **kwargs) - with mock.patch('botocore.vendored.requests.adapters.HTTPAdapter.send', - mock_http_adapter_send): + exception = ConnectionClosedError(endpoint_url='https://mock.eror') + with ClientHTTPStubber(client, strict=False) as http_stubber: + http_stubber.responses.append(exception) try: response = operation(**kwargs) except ClientError as e: assert False, ('Request was not retried properly, ' 'received error:\n%s' % pformat(e)) + # Ensure we used the stubber as we're not using it in strict mode + assert len(http_stubber.responses) == 0, 'Stubber was not used!' diff -Nru python-botocore-1.4.70/tests/integration/test_utils.py python-botocore-1.16.19+repack/tests/integration/test_utils.py --- python-botocore-1.4.70/tests/integration/test_utils.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/integration/test_utils.py 2020-05-28 19:26:08.000000000 +0000 @@ -10,9 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import time -from tests import unittest - import botocore.session from botocore.utils import ArgumentGenerator diff -Nru python-botocore-1.4.70/tests/unit/auth/test_signers.py python-botocore-1.16.19+repack/tests/unit/auth/test_signers.py --- python-botocore-1.4.70/tests/unit/auth/test_signers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/auth/test_signers.py 2020-05-28 19:26:08.000000000 +0000 @@ -17,7 +17,6 @@ import time import base64 import json -import tempfile import mock @@ -25,7 +24,6 @@ import botocore.credentials from botocore.compat import HTTPHeaders, urlsplit, parse_qs, six from botocore.awsrequest import AWSRequest -from botocore.vendored.requests.models import Request class BaseTestWithFixedDate(unittest.TestCase): @@ -199,7 +197,7 @@ u'VCtWuwaOL0yMffAT8W4y0AFW3W4KUykBqah9S40rB+Q=')) def test_fields(self): - request = Request() + request = AWSRequest() request.url = '/' request.method = 'POST' request.data = {'Foo': u'\u2713'} @@ -214,7 +212,7 @@ def test_resign(self): # Make sure that resigning after e.g. retries works - request = Request() + request = AWSRequest() request.url = '/' request.method = 'POST' params = { @@ -226,6 +224,20 @@ result, ('Foo=%E2%9C%93', u'VCtWuwaOL0yMffAT8W4y0AFW3W4KUykBqah9S40rB+Q=')) + def test_get(self): + request = AWSRequest() + request.url = '/' + request.method = 'GET' + request.params = {'Foo': u'\u2713'} + self.signer.add_auth(request) + self.assertEqual(request.params['AWSAccessKeyId'], 'foo') + self.assertEqual(request.params['Foo'], u'\u2713') + self.assertEqual(request.params['Timestamp'], '2014-06-20T08:40:23Z') + self.assertEqual(request.params['Signature'], + u'Un97klqZCONP65bA1+Iv4H3AcB2I40I4DBvw5ZERFPw=') + self.assertEqual(request.params['SignatureMethod'], 'HmacSHA256') + self.assertEqual(request.params['SignatureVersion'], '2') + class TestSigV3(unittest.TestCase): @@ -341,23 +353,13 @@ def test_blacklist_expect_headers(self): self._test_blacklist_header('expect', '100-continue') + def test_blacklist_trace_id(self): + self._test_blacklist_header('x-amzn-trace-id', + 'Root=foo;Parent=bar;Sampleid=1') + def test_blacklist_headers(self): self._test_blacklist_header('user-agent', 'botocore/1.4.11') - def test_context_sets_signing_region(self): - original_signing_region = 'eu-central-1' - new_signing_region = 'us-west-2' - self.auth.add_auth(self.request) - auth = self.request.headers['Authorization'] - self.assertIn(original_signing_region, auth) - self.assertNotIn(new_signing_region, auth) - - self.request.context = {'signing': {'region': new_signing_region}} - self.auth.add_auth(self.request) - auth = self.request.headers['Authorization'] - self.assertIn(new_signing_region, auth) - self.assertNotIn(original_signing_region, auth) - def test_uses_sha256_if_config_value_is_true(self): self.client_config.s3['payload_signing_enabled'] = True self.auth.add_auth(self.request) @@ -387,7 +389,7 @@ def test_uses_sha256_if_not_streaming_upload(self): self.request.context['has_streaming_input'] = False self.request.headers.add_header('Content-MD5', 'foo') - self.request.url = 'http://s3.amazonaws.com/bucket' + self.request.url = 'https://s3.amazonaws.com/bucket' self.auth.add_auth(self.request) sha_header = self.request.headers['X-Amz-Content-SHA256'] self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') @@ -399,6 +401,28 @@ sha_header = self.request.headers['X-Amz-Content-SHA256'] self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + def test_does_not_use_sha256_if_context_config_set(self): + self.request.context['payload_signing_enabled'] = False + self.request.headers.add_header('Content-MD5', 'foo') + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_sha256_if_context_set_on_http(self): + self.request.context['payload_signing_enabled'] = False + self.request.headers.add_header('Content-MD5', 'foo') + self.request.url = 'http://s3.amazonaws.com/bucket' + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_sha256_if_context_set_without_md5(self): + self.request.context['payload_signing_enabled'] = False + self.request.url = 'https://s3.amazonaws.com/bucket' + self.auth.add_auth(self.request) + sha_header = self.request.headers['X-Amz-Content-SHA256'] + self.assertNotEqual(sha_header, 'UNSIGNED-PAYLOAD') + class TestSigV4(unittest.TestCase): def setUp(self): @@ -469,6 +493,7 @@ def test_payload_is_binary_file(self): request = AWSRequest() request.data = six.BytesIO(u'\u2713'.encode('utf-8')) + request.url = 'https://amazonaws.com' auth = self.create_signer() payload = auth.payload(request) self.assertEqual( @@ -478,12 +503,83 @@ def test_payload_is_bytes_type(self): request = AWSRequest() request.data = u'\u2713'.encode('utf-8') + request.url = 'https://amazonaws.com' auth = self.create_signer() payload = auth.payload(request) self.assertEqual( payload, '1dabba21cdad44541f6b15796f8d22978fc7ea10c46aeceeeeb66c23b3ac7604') + def test_payload_not_signed_if_disabled_in_context(self): + request = AWSRequest() + request.data = u'\u2713'.encode('utf-8') + request.url = 'https://amazonaws.com' + request.context['payload_signing_enabled'] = False + auth = self.create_signer() + payload = auth.payload(request) + self.assertEqual(payload, 'UNSIGNED-PAYLOAD') + + def test_content_sha256_set_if_payload_signing_disabled(self): + request = AWSRequest() + request.data = six.BytesIO(u'\u2713'.encode('utf-8')) + request.url = 'https://amazonaws.com' + request.context['payload_signing_enabled'] = False + request.method = 'PUT' + auth = self.create_signer() + auth.add_auth(request) + sha_header = request.headers['X-Amz-Content-SHA256'] + self.assertEqual(sha_header, 'UNSIGNED-PAYLOAD') + + def test_collapse_multiple_spaces(self): + auth = self.create_signer() + original = HTTPHeaders() + original['foo'] = 'double space' + headers = auth.canonical_headers(original) + self.assertEqual(headers, 'foo:double space') + + def test_trims_leading_trailing_spaces(self): + auth = self.create_signer() + original = HTTPHeaders() + original['foo'] = ' leading and trailing ' + headers = auth.canonical_headers(original) + self.assertEqual(headers, 'foo:leading and trailing') + + def test_strips_http_default_port(self): + request = AWSRequest() + request.url = 'http://s3.us-west-2.amazonaws.com:80/' + request.method = 'GET' + auth = self.create_signer('s3', 'us-west-2') + actual = auth.headers_to_sign(request)['host'] + expected = 's3.us-west-2.amazonaws.com' + self.assertEqual(actual, expected) + + def test_strips_https_default_port(self): + request = AWSRequest() + request.url = 'https://s3.us-west-2.amazonaws.com:443/' + request.method = 'GET' + auth = self.create_signer('s3', 'us-west-2') + actual = auth.headers_to_sign(request)['host'] + expected = 's3.us-west-2.amazonaws.com' + self.assertEqual(actual, expected) + + def test_strips_http_auth(self): + request = AWSRequest() + request.url = 'https://username:password@s3.us-west-2.amazonaws.com/' + request.method = 'GET' + auth = self.create_signer('s3', 'us-west-2') + actual = auth.headers_to_sign(request)['host'] + expected = 's3.us-west-2.amazonaws.com' + self.assertEqual(actual, expected) + + def test_strips_default_port_and_http_auth(self): + request = AWSRequest() + request.url = 'http://username:password@s3.us-west-2.amazonaws.com:80/' + request.method = 'GET' + auth = self.create_signer('s3', 'us-west-2') + actual = auth.headers_to_sign(request)['host'] + expected = 's3.us-west-2.amazonaws.com' + self.assertEqual(actual, expected) + class TestSigV4Resign(BaseTestWithFixedDate): @@ -577,8 +673,8 @@ self.assertEqual(query_string['AWSAccessKeyId'], self.access_key) self.assertEqual(query_string['Expires'], str(int(self.current_epoch_time) + self.expires)) - self.assertEquals(query_string['Signature'], - 'ZRSgywstwIruKLTLt/Bcrf9H1K4=') + self.assertEqual(query_string['Signature'], + 'ZRSgywstwIruKLTLt/Bcrf9H1K4=') def test_presign_with_x_amz_headers(self): self.request.headers['x-amz-security-token'] = 'foo' @@ -587,8 +683,8 @@ query_string = self.get_parsed_query_string(self.request) self.assertEqual(query_string['x-amz-security-token'], 'foo') self.assertEqual(query_string['x-amz-acl'], 'read-only') - self.assertEquals(query_string['Signature'], - '5oyMAGiUk1E5Ry2BnFr6cIS3Gus=') + self.assertEqual(query_string['Signature'], + '5oyMAGiUk1E5Ry2BnFr6cIS3Gus=') def test_presign_with_content_headers(self): self.request.headers['content-type'] = 'txt' @@ -597,16 +693,16 @@ query_string = self.get_parsed_query_string(self.request) self.assertEqual(query_string['content-type'], 'txt') self.assertEqual(query_string['content-md5'], 'foo') - self.assertEquals(query_string['Signature'], - '/YQRFdQGywXP74WrOx2ET/RUqz8=') + self.assertEqual(query_string['Signature'], + '/YQRFdQGywXP74WrOx2ET/RUqz8=') def test_presign_with_unused_headers(self): self.request.headers['user-agent'] = 'botocore' self.auth.add_auth(self.request) query_string = self.get_parsed_query_string(self.request) self.assertNotIn('user-agent', query_string) - self.assertEquals(query_string['Signature'], - 'ZRSgywstwIruKLTLt/Bcrf9H1K4=') + self.assertEqual(query_string['Signature'], + 'ZRSgywstwIruKLTLt/Bcrf9H1K4=') class TestSigV4Presign(BasePresignTest): @@ -680,6 +776,15 @@ # Verify we encode spaces as '%20, and we don't use '+'. self.assertIn('Description=With%20Spaces', request.url) + def test_presign_with_empty_param_value(self): + request = AWSRequest() + request.method = 'POST' + # actual URL format for creating a multipart upload + request.url = 'https://s3.amazonaws.com/mybucket/mykey?uploads' + self.auth.add_auth(request) + # verify that uploads param is still in URL + self.assertIn('uploads', request.url) + def test_s3_sigv4_presign(self): auth = botocore.auth.S3SigV4QueryAuth( self.credentials, self.service_name, self.region_name, expires=60) @@ -715,6 +820,60 @@ self.assertEqual( query_string['X-Amz-Security-Token'], 'security-token') + def test_presign_where_body_is_json_bytes(self): + request = AWSRequest() + request.method = 'GET' + request.url = 'https://myservice.us-east-1.amazonaws.com/' + request.data = b'{"Param": "value"}' + self.auth.add_auth(request) + query_string = self.get_parsed_query_string(request) + expected_query_string = { + 'X-Amz-Algorithm': 'AWS4-HMAC-SHA256', + 'X-Amz-Credential': ( + 'access_key/20140101/myregion/myservice/aws4_request'), + 'X-Amz-Expires': '60', + 'X-Amz-Date': '20140101T000000Z', + 'X-Amz-Signature': ( + '8e1d372d168d532313ce6df8f64a7dc51d' + 'e6f312a9cfba6e5b345d8a771e839c'), + 'X-Amz-SignedHeaders': 'host', + 'Param': 'value' + } + self.assertEqual(query_string, expected_query_string) + + def test_presign_where_body_is_json_string(self): + request = AWSRequest() + request.method = 'GET' + request.url = 'https://myservice.us-east-1.amazonaws.com/' + request.data = '{"Param": "value"}' + self.auth.add_auth(request) + query_string = self.get_parsed_query_string(request) + expected_query_string = { + 'X-Amz-Algorithm': 'AWS4-HMAC-SHA256', + 'X-Amz-Credential': ( + 'access_key/20140101/myregion/myservice/aws4_request'), + 'X-Amz-Expires': '60', + 'X-Amz-Date': '20140101T000000Z', + 'X-Amz-Signature': ( + '8e1d372d168d532313ce6df8f64a7dc51d' + 'e6f312a9cfba6e5b345d8a771e839c'), + 'X-Amz-SignedHeaders': 'host', + 'Param': 'value' + } + self.assertEqual(query_string, expected_query_string) + + def test_presign_content_type_form_encoded_not_signed(self): + request = AWSRequest() + request.method = 'GET' + request.url = 'https://myservice.us-east-1.amazonaws.com/' + request.headers['Content-Type'] = ( + 'application/x-www-form-urlencoded; charset=utf-8' + ) + self.auth.add_auth(request) + query_string = self.get_parsed_query_string(request) + signed_headers = query_string.get('X-Amz-SignedHeaders') + self.assertNotIn('content-type', signed_headers) + class BaseS3PresignPostTest(unittest.TestCase): def setUp(self): diff -Nru python-botocore-1.4.70/tests/unit/auth/test_sigv4.py python-botocore-1.16.19+repack/tests/unit/auth/test_sigv4.py --- python-botocore-1.4.70/tests/unit/auth/test_sigv4.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/auth/test_sigv4.py 2020-05-28 19:26:08.000000000 +0000 @@ -27,11 +27,7 @@ import io import datetime from botocore.compat import six -from six import BytesIO -from six.moves import BaseHTTPServer -import nose.tools as t -from nose import with_setup import mock import botocore.auth @@ -78,11 +74,11 @@ log = logging.getLogger(__name__) -class RawHTTPRequest(BaseHTTPServer.BaseHTTPRequestHandler): +class RawHTTPRequest(six.moves.BaseHTTPServer.BaseHTTPRequestHandler): def __init__(self, raw_request): if isinstance(raw_request, six.text_type): raw_request = raw_request.encode('utf-8') - self.rfile = BytesIO(raw_request) + self.rfile = six.BytesIO(raw_request) self.raw_requestline = self.rfile.readline() self.error_code = None self.error_message = None Binary files /tmp/tmpSSgaZ6/ITUq4N_atH/python-botocore-1.4.70/tests/unit/cfg/aws_config_badbytes and /tmp/tmpSSgaZ6/ilLsRFNjDD/python-botocore-1.16.19+repack/tests/unit/cfg/aws_config_badbytes differ diff -Nru python-botocore-1.4.70/tests/unit/cfg/aws_config_nested python-botocore-1.16.19+repack/tests/unit/cfg/aws_config_nested --- python-botocore-1.4.70/tests/unit/cfg/aws_config_nested 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/cfg/aws_config_nested 2020-05-28 19:26:08.000000000 +0000 @@ -3,6 +3,7 @@ aws_secret_access_key = bar s3 = signature_version = s3v4 + addressing_style = path cloudwatch = signature_version = v4 region=us-west-2 diff -Nru python-botocore-1.4.70/tests/unit/cfg/aws_third_config python-botocore-1.16.19+repack/tests/unit/cfg/aws_third_config --- python-botocore-1.4.70/tests/unit/cfg/aws_third_config 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/cfg/aws_third_config 2020-05-28 19:26:08.000000000 +0000 @@ -0,0 +1,8 @@ +[default] +aws_access_key_id = third_foo +aws_secret_access_key = third_bar + +[profile "third"] +aws_access_key_id = third_fie +aws_secret_access_key = third_baz +aws_security_token = third_fiebaz diff -Nru python-botocore-1.4.70/tests/unit/docs/bcdoc/test_document.py python-botocore-1.16.19+repack/tests/unit/docs/bcdoc/test_document.py --- python-botocore-1.4.70/tests/unit/docs/bcdoc/test_document.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/bcdoc/test_document.py 2020-05-28 19:26:10.000000000 +0000 @@ -41,7 +41,7 @@ doc = ReSTDocument() doc.include_doc_string('

    this is a test

    ') self.assertEqual(doc.getvalue(), six.b('\n\nthis is a ``test`` \n\n')) - + def test_remove_doc_string(self): doc = ReSTDocument() doc.writeln('foo') @@ -49,6 +49,12 @@ doc.remove_last_doc_string() self.assertEqual(doc.getvalue(), six.b('foo\n')) + def test_add_links(self): + doc = ReSTDocument() + doc.hrefs['foo'] = 'https://example.com/' + self.assertEqual( + doc.getvalue(), six.b('\n\n.. _foo: https://example.com/\n')) + class TestDocumentStructure(unittest.TestCase): def setUp(self): diff -Nru python-botocore-1.4.70/tests/unit/docs/bcdoc/test_style.py python-botocore-1.16.19+repack/tests/unit/docs/bcdoc/test_style.py --- python-botocore-1.4.70/tests/unit/docs/bcdoc/test_style.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/bcdoc/test_style.py 2020-05-28 19:26:10.000000000 +0000 @@ -47,11 +47,23 @@ style.bold('foobar') self.assertEqual(style.doc.getvalue(), six.b('**foobar** ')) + def test_empty_bold(self): + style = ReSTStyle(ReSTDocument()) + style.start_b() + style.end_b() + self.assertEqual(style.doc.getvalue(), six.b('')) + def test_italics(self): style = ReSTStyle(ReSTDocument()) style.italics('foobar') self.assertEqual(style.doc.getvalue(), six.b('*foobar* ')) + def test_empty_italics(self): + style = ReSTStyle(ReSTDocument()) + style.start_i() + style.end_i() + self.assertEqual(style.doc.getvalue(), six.b('')) + def test_p(self): style = ReSTStyle(ReSTDocument()) style.start_p() @@ -64,6 +76,12 @@ style.code('foobar') self.assertEqual(style.doc.getvalue(), six.b('``foobar`` ')) + def test_empty_code(self): + style = ReSTStyle(ReSTDocument()) + style.start_code() + style.end_code() + self.assertEqual(style.doc.getvalue(), six.b('')) + def test_h1(self): style = ReSTStyle(ReSTDocument()) style.h1('foobar fiebaz') @@ -105,6 +123,27 @@ self.assertEqual(style.doc.getvalue(), six.b('::\n\n foobar\n\n\n')) + def test_important(self): + style = ReSTStyle(ReSTDocument()) + style.start_important() + style.end_important() + self.assertEqual(style.doc.getvalue(), + six.b('\n\n.. warning::\n\n \n\n')) + + def test_note(self): + style = ReSTStyle(ReSTDocument()) + style.start_note() + style.end_note() + self.assertEqual(style.doc.getvalue(), + six.b('\n\n.. note::\n\n \n\n')) + + def test_danger(self): + style = ReSTStyle(ReSTDocument()) + style.start_danger() + style.end_danger() + self.assertEqual(style.doc.getvalue(), + six.b('\n\n.. danger::\n\n \n\n')) + def test_toctree_html(self): style = ReSTStyle(ReSTDocument()) style.doc.target = 'html' @@ -146,6 +185,16 @@ style.doc.getvalue(), six.b('')) + def test_href_link(self): + style = ReSTStyle(ReSTDocument()) + style.start_a(attrs=[('href', 'http://example.org')]) + style.doc.write('example') + style.end_a() + self.assertEqual( + style.doc.getvalue(), + six.b('`example `__ ') + ) + def test_escape_href_link(self): style = ReSTStyle(ReSTDocument()) style.start_a(attrs=[('href', 'http://example.org')]) @@ -153,15 +202,14 @@ style.end_a() self.assertEqual( style.doc.getvalue(), - six.b('`foo\\: the next bar`_ \n\n.. _foo\\: the next ' - 'bar: http://example.org\n')) + six.b('`foo\\: the next bar `__ ')) def test_handle_no_text_hrefs(self): style = ReSTStyle(ReSTDocument()) style.start_a(attrs=[('href', 'http://example.org')]) style.end_a() self.assertEqual(style.doc.getvalue(), - six.b('``_ ')) + six.b('``__ ')) def test_sphinx_reference_label_html(self): style = ReSTStyle(ReSTDocument()) @@ -279,3 +327,31 @@ self.assertEqual(style.doc.getvalue(), six.b("\n\n\n* foo\n\n\n \n * bar\n ")) + + def test_external_link(self): + style = ReSTStyle(ReSTDocument()) + style.doc.target = 'html' + style.external_link('MyLink', 'http://example.com/foo') + self.assertEqual(style.doc.getvalue(), + six.b('`MyLink `_')) + + def test_external_link_in_man_page(self): + style = ReSTStyle(ReSTDocument()) + style.doc.target = 'man' + style.external_link('MyLink', 'http://example.com/foo') + self.assertEqual(style.doc.getvalue(), six.b('MyLink')) + + def test_internal_link(self): + style = ReSTStyle(ReSTDocument()) + style.doc.target = 'html' + style.internal_link('MyLink', '/index') + self.assertEqual( + style.doc.getvalue(), + six.b(':doc:`MyLink `') + ) + + def test_internal_link_in_man_page(self): + style = ReSTStyle(ReSTDocument()) + style.doc.target = 'man' + style.internal_link('MyLink', '/index') + self.assertEqual(style.doc.getvalue(), six.b('MyLink')) diff -Nru python-botocore-1.4.70/tests/unit/docs/__init__.py python-botocore-1.16.19+repack/tests/unit/docs/__init__.py --- python-botocore-1.4.70/tests/unit/docs/__init__.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/__init__.py 2020-05-28 19:26:16.000000000 +0000 @@ -23,6 +23,7 @@ from botocore.hooks import HierarchicalEmitter from botocore.model import ServiceModel, OperationModel from botocore.client import ClientCreator +from botocore.configprovider import ConfigValueStore from botocore.loaders import Loader @@ -47,7 +48,7 @@ self.events = HierarchicalEmitter() self.setup_client() self.doc_name = 'MyDoc' - self.doc_structure = DocumentStructure(self.doc_name) + self.doc_structure = DocumentStructure(self.doc_name, target='html') def tearDown(self): shutil.rmtree(self.root_dir) @@ -79,7 +80,10 @@ loader=self.loader, endpoint_resolver=endpoint_resolver, user_agent='user-agent', event_emitter=self.events, retry_handler_factory=mock.Mock(), - retry_config_translator=mock.Mock()) + retry_config_translator=mock.Mock(), + exceptions_factory=mock.Mock(), + config_store=ConfigValueStore() + ) self.client = self.creator.create_client('myservice', 'us-east-1') @@ -90,7 +94,9 @@ 'endpointPrefix': 'myservice', 'signatureVersion': 'v4', 'serviceFullName': 'AWS MyService', - 'protocol': 'query' + 'uid': 'myservice-2014-01-01', + 'protocol': 'query', + 'serviceId': 'MyService', }, 'operations': { 'SampleOperation': { @@ -185,6 +191,12 @@ required_list.append(param_name) params_shape['required'] = required_list + def add_shape_to_errors(self, shape_name): + operation = self.json_model['operations']['SampleOperation'] + errors = operation.get('errors', []) + errors.append({'shape': shape_name}) + operation['errors'] = errors + def assert_contains_line(self, line): contents = self.doc_structure.flush_structure().decode('utf-8') self.assertIn(line, contents) diff -Nru python-botocore-1.4.70/tests/unit/docs/test_client.py python-botocore-1.16.19+repack/tests/unit/docs/test_client.py --- python-botocore-1.4.70/tests/unit/docs/test_client.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_client.py 2020-05-28 19:26:16.000000000 +0000 @@ -12,12 +12,24 @@ # language governing permissions and limitations under the License. from tests.unit.docs import BaseDocsTest from botocore.docs.client import ClientDocumenter +from botocore.docs.client import ClientExceptionsDocumenter class TestClientDocumenter(BaseDocsTest): def setUp(self): super(TestClientDocumenter, self).setUp() + exception_shape = { + 'SomeException': { + 'exception': True, + 'type': 'structure', + 'members': { + 'Message': {'shape': 'String'} + }, + } + } + self.add_shape(exception_shape) self.add_shape_to_params('Biz', 'String') + self.add_shape_to_errors('SomeException') self.setup_client() self.client_documenter = ClientDocumenter(self.client) @@ -31,10 +43,10 @@ ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', - ' * :py:meth:`can_paginate`', - ' * :py:meth:`get_paginator`', - ' * :py:meth:`get_waiter`', - ' * :py:meth:`sample_operation`', + ' * :py:meth:`~MyService.Client.can_paginate`', + ' * :py:meth:`~MyService.Client.get_paginator`', + ' * :py:meth:`~MyService.Client.get_waiter`', + ' * :py:meth:`~MyService.Client.sample_operation`', ' .. py:method:: can_paginate(operation_name)', ' .. py:method:: get_paginator(operation_name)', ' .. py:method:: get_waiter(waiter_name)', @@ -55,5 +67,64 @@ ' }', ' **Response Structure**', ' - *(dict) --*', - ' - **Biz** *(string) --*' + ' - **Biz** *(string) --*', + '**Exceptions**', + '* :py:class:`MyService.Client.exceptions.SomeException`', + ]) + + +class TestClientExceptionsDocumenter(BaseDocsTest): + def setup_documenter(self): + self.setup_client() + self.exceptions_documenter = ClientExceptionsDocumenter(self.client) + + def test_no_modeled_exceptions(self): + self.setup_documenter() + self.exceptions_documenter.document_exceptions(self.doc_structure) + self.assert_contains_lines_in_order([ + '=================', + 'Client Exceptions', + '=================', + 'Client exceptions are available', + 'This client has no modeled exception classes.', + ]) + + def test_modeled_exceptions(self): + exception_shape = { + 'SomeException': { + 'exception': True, + 'type': 'structure', + 'members': { + 'Message': {'shape': 'String'} + }, + } + } + self.add_shape(exception_shape) + self.setup_documenter() + self.exceptions_documenter.document_exceptions(self.doc_structure) + self.assert_contains_lines_in_order([ + '=================', + 'Client Exceptions', + '=================', + 'Client exceptions are available', + 'The available client exceptions are:', + '* :py:class:`MyService.Client.exceptions.SomeException`', + '.. py:class:: MyService.Client.exceptions.SomeException', + '**Example** ::', + 'except client.exceptions.SomeException as e:', + '.. py:attribute:: response', + '**Syntax**', + '{', + "'Message': 'string',", + "'Error': {", + "'Code': 'string',", + "'Message': 'string'", + '}', + '}', + '**Structure**', + '- *(dict) --*', + '- **Message** *(string) --* ', + '- **Error** *(dict) --* ', + '- **Code** *(string) --* ', + '- **Message** *(string) --* ', ]) diff -Nru python-botocore-1.4.70/tests/unit/docs/test_method.py python-botocore-1.16.19+repack/tests/unit/docs/test_method.py --- python-botocore-1.4.70/tests/unit/docs/test_method.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_method.py 2020-05-28 19:26:10.000000000 +0000 @@ -116,9 +116,15 @@ method_description='This describes the foo method.', example_prefix='response = client.foo' ) + cross_ref_link = ( + 'See also: `AWS API Documentation ' + '' + ) self.assert_contains_lines_in_order([ '.. py:method:: foo(**kwargs)', ' This describes the foo method.', + cross_ref_link, ' **Request Syntax**', ' ::', ' response = client.foo(', @@ -315,6 +321,50 @@ ) self.assert_contains_line('**Body** (:class:`.StreamingBody`)') + def test_event_stream_body_in_output(self): + self.add_shape_to_params('Payload', 'EventStream') + self.json_model['shapes']['SampleOperationInputOutput']['payload'] = \ + 'Payload' + self.json_model['shapes']['EventStream'] = { + 'type': 'structure', + 'eventstream': True, + 'members': {'Event': {'shape': 'Event'}} + } + self.json_model['shapes']['Event'] = { + 'type': 'structure', + 'event': True, + 'members': { + 'Fields': { + 'shape': 'EventFields', + 'eventpayload': True, + } + } + } + self.json_model['shapes']['EventFields'] = { + 'type': 'structure', + 'members': { + 'Field': {'shape': 'EventField'} + } + } + self.json_model['shapes']['EventField'] = {'type': 'blob'} + document_model_driven_method( + self.doc_structure, 'foo', self.operation_model, + event_emitter=self.event_emitter, + method_description='This describes the foo method.', + example_prefix='response = client.foo' + ) + self.assert_contains_lines_in_order([ + "this operation contains an :class:`.EventStream`", + "'Payload': EventStream({", + "'Event': {", + "'Fields': {", + "'Field': b'bytes'", + "**Payload** (:class:`.EventStream`)", + "**Event** *(dict)", + "**Fields** *(dict)", + "**Field** *(bytes)", + ]) + def test_streaming_body_in_input(self): del self.json_model['operations']['SampleOperation']['output'] self.add_shape_to_params('Body', 'Blob') @@ -332,3 +382,19 @@ # The line in the parameter description self.assert_contains_line( ':type Body: bytes or seekable file-like object') + + def test_deprecated(self): + self.json_model['operations']['SampleOperation']['deprecated'] = True + document_model_driven_method( + self.doc_structure, 'foo', self.operation_model, + event_emitter=self.event_emitter, + method_description='This describes the foo method.', + example_prefix='response = client.foo' + ) + # The line in the example + self.assert_contains_lines_in_order([ + ' .. danger::', + ' This operation is deprecated and may not function as ' + 'expected. This operation should not be used going forward and is ' + 'only kept for the purpose of backwards compatiblity.' + ]) diff -Nru python-botocore-1.4.70/tests/unit/docs/test_paginator.py python-botocore-1.16.19+repack/tests/unit/docs/test_paginator.py --- python-botocore-1.4.70/tests/unit/docs/test_paginator.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_paginator.py 2020-05-28 19:26:10.000000000 +0000 @@ -74,3 +74,15 @@ ' - **Biz** *(string) --*', ' - **NextToken** *(string) --*' ]) + + def test_no_page_size_if_no_limit_key(self): + paginator = self.paginator_json_model["pagination"] + operation = paginator["SampleOperation"] + del operation["limit_key"] + + self.paginator_documenter.document_paginators( + self.doc_structure) + self.assert_not_contains_lines([ + ' \'PageSize\': 123,', + ' - **PageSize** *(integer) --*', + ]) diff -Nru python-botocore-1.4.70/tests/unit/docs/test_service.py python-botocore-1.16.19+repack/tests/unit/docs/test_service.py --- python-botocore-1.4.70/tests/unit/docs/test_service.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_service.py 2020-05-28 19:26:16.000000000 +0000 @@ -47,12 +47,16 @@ ' A low-level client representing AWS MyService::', ' client = session.create_client(\'myservice\')', ' These are the available methods:', - ' * :py:meth:`sample_operation`', + ' * :py:meth:`~MyService.Client.sample_operation`', ' .. py:method:: sample_operation(**kwargs)', ' **Examples** ', ' Sample Description.', ' ::', ' response = client.sample_operation(', + '=================', + 'Client Exceptions', + '=================', + 'Client exceptions are available', '==========', 'Paginators', '==========', diff -Nru python-botocore-1.4.70/tests/unit/docs/test_sharedexample.py python-botocore-1.16.19+repack/tests/unit/docs/test_sharedexample.py --- python-botocore-1.4.70/tests/unit/docs/test_sharedexample.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_sharedexample.py 2020-05-28 19:26:10.000000000 +0000 @@ -281,3 +281,40 @@ " foo='bar',", ")" ]) + + def test_unicode_exammple(self): + self.add_shape_to_params('foo', 'String') + self.documenter.document_shared_example( + example={ + 'input': { + 'foo': u'\u2713' + } + }, + prefix='foo.bar', + section=self.doc_structure, + operation_model=self.operation_model + ) + self.assert_contains_lines_in_order([ + u"foo.bar(", + u" foo='\u2713'", + u")" + ]) + + def test_escape_character_example(self): + self.add_shape_to_params('foo', 'String') + self.documenter.document_shared_example( + example={ + 'output': { + 'foo': 'good\n\rintentions!\n\r' + } + }, + prefix='foo.bar', + section=self.doc_structure, + operation_model=self.operation_model + ) + self.assert_contains_lines_in_order([ + "Expected Output:", + " {", + " 'foo': 'good\\n\\rintentions!\\n\\r',", + " }", + ]) diff -Nru python-botocore-1.4.70/tests/unit/docs/test_utils.py python-botocore-1.16.19+repack/tests/unit/docs/test_utils.py --- python-botocore-1.4.70/tests/unit/docs/test_utils.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_utils.py 2020-05-28 19:26:10.000000000 +0000 @@ -10,8 +10,6 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. -import mock - from tests import unittest from tests.unit.docs import BaseDocsTest from botocore.docs.utils import py_type_name @@ -20,6 +18,7 @@ from botocore.docs.utils import AutoPopulatedParam from botocore.docs.utils import HideParamFromOperations from botocore.docs.utils import AppendParamDocumentation +from botocore.docs.utils import escape_controls class TestPythonTypeName(unittest.TestCase): @@ -219,3 +218,10 @@ 'docs.request-params', self.doc_structure) self.assert_contains_line('foo\n') self.assert_contains_line('hello!') + + +class TestEscapeControls(unittest.TestCase): + def test_escapes_controls(self): + escaped = escape_controls('\na\rb\tc\fd\be') + self.assertEquals(escaped, '\\na\\rb\\tc\\fd\\be') + diff -Nru python-botocore-1.4.70/tests/unit/docs/test_waiter.py python-botocore-1.16.19+repack/tests/unit/docs/test_waiter.py --- python-botocore-1.4.70/tests/unit/docs/test_waiter.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/docs/test_waiter.py 2020-05-28 19:26:10.000000000 +0000 @@ -47,5 +47,14 @@ ' )', ' :type Biz: string', ' :param Biz:', + ' :type WaiterConfig: dict', + ' :param WaiterConfig:', + ('A dictionary that provides parameters to control waiting ' + 'behavior.'), + ' - **Delay** *(integer) --*', + (' The amount of time in seconds to wait between attempts. ' + 'Default: 15'), + ' - **MaxAttempts** *(integer) --*', + ' The maximum number of attempts to be made. Default: 40', ' :returns: None' ]) diff -Nru python-botocore-1.4.70/tests/unit/protocols/input/ec2.json python-botocore-1.16.19+repack/tests/unit/protocols/input/ec2.json --- python-botocore-1.4.70/tests/unit/protocols/input/ec2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/input/ec2.json 2020-05-28 19:26:10.000000000 +0000 @@ -35,6 +35,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Foo=val1&Bar=val2" } } @@ -83,6 +86,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Foo=val1&BarLocationName=val2&yuckQueryName=val3" } } @@ -132,6 +138,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Struct.Scalar=foo" } } @@ -179,6 +188,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListArg.1=foo&ListArg.2=bar&ListArg.3=baz" } } @@ -228,6 +240,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListMemberName.1=a&ListMemberName.2=b&ListMemberName.3=c" } } @@ -278,6 +293,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListQueryName.1=a&ListQueryName.2=b&ListQueryName.3=c" } } @@ -315,6 +333,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&BlobArg=Zm9v" } } @@ -332,9 +353,20 @@ "members": { "TimeArg": { "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" } } }, + "TimestampFormatType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, "TimestampType": { "type": "timestamp" } @@ -348,11 +380,150 @@ "name": "OperationName" }, "params": { - "TimeArg": 1422172800 + "TimeArg": 1422172800, + "TimeCustom": 1422172800, + "TimeFormat": 1422172800 + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z&TimeCustom=1422172800&TimeFormat=1422172800" + } + } + ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "ec2", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&Token=abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" + } + } + ] + }, + { + "description": "Endpoint host trait", + "metadata": { + "protocol": "ec2", + "apiVersion": "2014-01-01" + }, + "clientEndpoint": "https://service.region.amazonaws.com", + "shapes": { + "StaticInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType" + } + } + }, + "MemberRefInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType", + "hostLabel": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "name": "StaticOp", + "input": { + "shape": "StaticInputShape" + }, + "endpoint":{ + "hostPrefix": "data-" + } + }, + "params": { + "Name": "myname" }, "serialized": { "uri": "/", - "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z" + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=StaticOp&Version=2014-01-01&Name=myname", + "host": "data-service.region.amazonaws.com" + } + }, + { + "given": { + "name": "MemberRefOp", + "input": { + "shape": "MemberRefInputShape" + }, + "endpoint":{ + "hostPrefix": "foo-{Name}." + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=MemberRefOp&Version=2014-01-01&Name=myname", + "host": "foo-myname.service.region.amazonaws.com" } } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/input/json.json python-botocore-1.16.19+repack/tests/unit/protocols/input/json.json --- python-botocore-1.4.70/tests/unit/protocols/input/json.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/input/json.json 2020-05-28 19:26:10.000000000 +0000 @@ -57,9 +57,20 @@ "members": { "TimeArg": { "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" } } }, + "TimestampFormatType": { + "timestampFormat": "rfc822", + "type": "timestamp" + }, "TimestampType": { "type": "timestamp" } @@ -73,10 +84,12 @@ "name": "OperationName" }, "params": { - "TimeArg": 1422172800 + "TimeArg": 1422172800, + "TimeCustom": 1422172800, + "TimeFormat": 1422172800 }, "serialized": { - "body": "{\"TimeArg\": 1422172800}", + "body": "{\"TimeArg\": 1422172800, \"TimeCustom\": \"Sun, 25 Jan 2015 08:00:00 GMT\", \"TimeFormat\": \"Sun, 25 Jan 2015 08:00:00 GMT\"}", "headers": { "X-Amz-Target": "com.amazonaws.foo.OperationName", "Content-Type": "application/x-amz-json-1.1" @@ -101,7 +114,7 @@ "shape": "BlobType" }, "BlobMap": { - "shape": "BlobMapType" + "shape": "BlobMapType" } } }, @@ -146,8 +159,8 @@ }, "params": { "BlobMap": { - "key1": "foo", - "key2": "bar" + "key1": "foo", + "key2": "bar" } }, "serialized": { @@ -180,7 +193,7 @@ "ListOfStructures": { "type": "list", "member": { - "shape": "BlobType" + "shape": "BlobType" } }, "BlobType": { @@ -204,8 +217,10 @@ "serialized": { "body": "{\"ListParam\": [\"Zm9v\", \"YmFy\"]}", "uri": "/", - "headers": {"X-Amz-Target": "com.amazonaws.foo.OperationName", - "Content-Type": "application/x-amz-json-1.1"} + "headers": { + "X-Amz-Target": "com.amazonaws.foo.OperationName", + "Content-Type": "application/x-amz-json-1.1" + } } } ] @@ -426,7 +441,7 @@ "description": "Empty maps", "metadata": { "protocol": "json", - "jsonVersion": 1.1, + "jsonVersion": "1.1", "targetPrefix": "com.amazonaws.foo" }, "shapes": { @@ -475,5 +490,153 @@ } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "json", + "apiVersion": "2014-01-01", + "jsonVersion": "1.1", + "targetPrefix": "com.amazonaws.foo" + + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "{\"Token\": \"abc123\"}" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": {}, + "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}" + } + } + ] + }, + { + "description": "Endpoint host trait static prefix", + "metadata": { + "protocol": "json", + "jsonVersion": "1.1", + "targetPrefix": "com.amazonaws.foo" + }, + "clientEndpoint": "https://service.region.amazonaws.com", + "shapes": { + "StaticInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType" + } + } + }, + "MemberRefInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType", + "hostLabel": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "name": "StaticOp", + "input": { + "shape": "StaticInputShape" + }, + "http": { + "method": "POST" + }, + "endpoint":{ + "hostPrefix": "data-" + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "headers": { + "X-Amz-Target": "com.amazonaws.foo.StaticOp", + "Content-Type": "application/x-amz-json-1.1" + }, + "uri": "/", + "body": "{\"Name\": \"myname\"}", + "host": "data-service.region.amazonaws.com" + } + }, + { + "given": { + "name": "MemberRefOp", + "input": { + "shape": "MemberRefInputShape" + }, + "http": { + "method": "POST" + }, + "endpoint":{ + "hostPrefix": "foo-{Name}." + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "headers": { + "X-Amz-Target": "com.amazonaws.foo.MemberRefOp", + "Content-Type": "application/x-amz-json-1.1" + }, + "uri": "/", + "body": "{\"Name\": \"myname\"}", + "host": "foo-myname.service.region.amazonaws.com" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/input/query.json python-botocore-1.16.19+repack/tests/unit/protocols/input/query.json --- python-botocore-1.4.70/tests/unit/protocols/input/query.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/input/query.json 2020-05-28 19:26:10.000000000 +0000 @@ -41,6 +41,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Foo=val1&Bar=val2" } }, @@ -56,6 +59,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Baz=true" } }, @@ -71,6 +77,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Baz=false" } } @@ -118,6 +127,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&StructArg.ScalarArg=foo" } } @@ -165,6 +177,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListArg.member.1=foo&ListArg.member.2=bar&ListArg.member.3=baz" } }, @@ -180,6 +195,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListArg=" } } @@ -243,6 +261,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArg.1=a&ListArg.2=b&ListArg.3=c" } }, @@ -260,6 +281,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&Foo.1=a" } } @@ -310,6 +334,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&MapArg.1.key=key1&MapArg.1.value=val1&MapArg.2.key=key2&MapArg.2.value=val2" } } @@ -358,6 +385,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ListArg.item.1=a&ListArg.item.2=b&ListArg.item.3=c" } } @@ -411,6 +441,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArgLocation.1=a&ListArgLocation.2=b&ListArgLocation.3=c" } } @@ -460,6 +493,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&MapArg.entry.1.key=key1&MapArg.entry.1.value=val1&MapArg.entry.2.key=key2&MapArg.entry.2.value=val2" } } @@ -511,6 +547,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&MapArg.entry.1.TheKey=key1&MapArg.entry.1.TheValue=val1&MapArg.entry.2.TheKey=key2&MapArg.entry.2.TheValue=val2" } } @@ -548,6 +587,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&BlobArg=Zm9v" } } @@ -565,9 +607,20 @@ "members": { "TimeArg": { "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" } } }, + "TimestampFormatType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, "TimestampType": { "type": "timestamp" } @@ -581,11 +634,16 @@ "name": "OperationName" }, "params": { - "TimeArg": 1422172800 + "TimeArg": 1422172800, + "TimeCustom": 1422172800, + "TimeFormat": 1422172800 }, "serialized": { "uri": "/", - "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z" + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z&TimeCustom=1422172800&TimeFormat=1422172800" } } ] @@ -656,6 +714,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.NoRecurse=foo" } }, @@ -675,6 +736,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.NoRecurse=foo" } }, @@ -698,6 +762,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo" } }, @@ -722,6 +789,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar" } }, @@ -748,6 +818,9 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar" } }, @@ -772,9 +845,158 @@ }, "serialized": { "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveMap.entry.1.key=foo&RecursiveStruct.RecursiveMap.entry.1.value.NoRecurse=foo&RecursiveStruct.RecursiveMap.entry.2.key=bar&RecursiveStruct.RecursiveMap.entry.2.value.NoRecurse=bar" } } ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "query", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&Token=abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" + } + } + ] + }, + { + "description": "Endpoint host trait", + "metadata": { + "protocol": "query", + "apiVersion": "2014-01-01" + }, + "clientEndpoint": "https://service.region.amazonaws.com", + "shapes": { + "StaticInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType" + } + } + }, + "MemberRefInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType", + "hostLabel": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "name": "StaticOp", + "input": { + "shape": "StaticInputShape" + }, + "http": { + "method": "POST" + }, + "endpoint":{ + "hostPrefix": "data-" + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=StaticOp&Version=2014-01-01&Name=myname", + "host": "data-service.region.amazonaws.com" + } + }, + { + "given": { + "name": "MemberRefOp", + "input": { + "shape": "MemberRefInputShape" + }, + "http": { + "method": "POST" + }, + "endpoint":{ + "hostPrefix": "foo-{Name}." + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/", + "headers": { + "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" + }, + "body": "Action=MemberRefOp&Version=2014-01-01&Name=myname", + "host": "foo-myname.service.region.amazonaws.com" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/input/rest-json.json python-botocore-1.16.19+repack/tests/unit/protocols/input/rest-json.json --- python-botocore-1.4.70/tests/unit/protocols/input/rest-json.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/input/rest-json.json 2020-05-28 19:26:10.000000000 +0000 @@ -287,6 +287,70 @@ ] }, { + "description": "Boolean in querystring", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "BoolQuery": { + "shape": "BoolType", + "location": "querystring", + "locationName": "bool-query" + } + } + }, + "BoolType": { + "type": "boolean" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": true + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=true", + "headers": {} + } + }, + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": false + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=false", + "headers": {} + } + } + ] + }, + { "description": "URI parameter and querystring params", "metadata": { "protocol": "rest-json", @@ -594,7 +658,7 @@ { "given": { "http": { - "method": "GET", + "method": "POST", "requestUri": "/2014-01-01/{Foo}" }, "input": { @@ -614,6 +678,142 @@ ] }, { + "description": "Blob payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "type": "blob" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": "bar" + }, + "serialized": { + "method": "POST", + "body": "bar", + "uri": "/" + } + }, + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "method": "POST", + "body": "", + "uri": "/" + } + } + ] + }, + { + "description": "Structure payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "locationName": "foo", + "type": "structure", + "members": { + "baz": { + "shape": "BazShape" + } + } + }, + "BazShape": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": { + "baz": "bar" + } + }, + "serialized": { + "method": "POST", + "body": "{\"baz\": \"bar\"}", + "uri": "/" + } + }, + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": {}, + "serialized": { + "method": "POST", + "body": "", + "uri": "/" + } + } + ] + }, + { "description": "Omits null query params, but serializes empty strings", "metadata": { "protocol": "rest-json", @@ -903,6 +1103,103 @@ "shape": "TimestampType", "location": "header", "locationName": "x-amz-timearg" + }, + "TimeArgInQuery": { + "shape": "TimestampType", + "location": "querystring", + "locationName": "TimeQuery" + }, + "TimeCustom": { + "timestampFormat": "iso8601", + "shape": "TimestampType" + }, + "TimeCustomInHeader": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timecustom-header" + }, + "TimeCustomInQuery": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "querystring", + "locationName": "TimeCustomQuery" + }, + "TimeFormat": { + "shape": "TimestampFormatRfcType" + }, + "TimeFormatInHeader": { + "shape": "TimestampFormatUnixType", + "location": "header", + "locationName": "x-amz-timeformat-header" + }, + "TimeFormatInQuery": { + "shape": "TimestampFormatUnixType", + "location": "querystring", + "locationName": "TimeFormatQuery" + } + } + }, + "TimestampFormatRfcType": { + "timestampFormat": "rfc822", + "type": "timestamp" + }, + "TimestampFormatUnixType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "TimeArg": 1422172800, + "TimeArgInQuery": 1422172800, + "TimeArgInHeader": 1422172800, + "TimeCustom": 1422172800, + "TimeCustomInQuery": 1422172800, + "TimeCustomInHeader": 1422172800, + "TimeFormat": 1422172800, + "TimeFormatInQuery": 1422172800, + "TimeFormatInHeader": 1422172800 + }, + "serialized": { + "uri": "/path?TimeQuery=2015-01-25T08%3A00%3A00Z&TimeCustomQuery=1422172800&TimeFormatQuery=1422172800", + "headers": { + "x-amz-timearg": "Sun, 25 Jan 2015 08:00:00 GMT", + "x-amz-timecustom-header": "1422172800", + "x-amz-timeformat-header": "1422172800" + }, + "body": "{\"TimeArg\": 1422172800, \"TimeCustom\": \"2015-01-25T08:00:00Z\", \"TimeFormat\": \"Sun, 25 Jan 2015 08:00:00 GMT\"}" + } + } + ] + }, + { + "description": "Named locations in JSON body", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "TimeArg": { + "shape": "TimestampType", + "locationName": "timestamp_location" } } }, @@ -928,9 +1225,75 @@ "serialized": { "uri": "/path", "headers": {}, - "body": "{\"TimeArg\": 1422172800}" + "body": "{\"timestamp_location\": 1422172800}" + } + } + ] + }, + { + "description": "String payload", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "foo": { + "shape": "FooShape" + } + } + }, + "FooShape": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "InputShape", + "payload": "foo" + }, + "name": "OperationName" + }, + "params": { + "foo": "bar" + }, + "serialized": { + "method": "POST", + "body": "bar", + "uri": "/" + } + } + ] + }, + { + "description": "Idempotency token auto fill", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Token": { + "shape": "StringType", + "idempotencyToken": true + } } }, + "StringType": { + "type": "string" + } + }, + "cases": [ { "given": { "input": { @@ -943,18 +1306,37 @@ "name": "OperationName" }, "params": { - "TimeArgInHeader": 1422172800 + "Token": "abc123" }, "serialized": { "uri": "/path", - "headers": {"x-amz-timearg": "Sun, 25 Jan 2015 08:00:00 GMT"}, - "body": "" + "headers": {}, + "body": "{\"Token\": \"abc123\"}" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}" } } ] }, { - "description": "Named locations in JSON body", + "description": "JSON value trait", "metadata": { "protocol": "rest-json", "apiVersion": "2014-01-01" @@ -963,14 +1345,16 @@ "InputShape": { "type": "structure", "members": { - "TimeArg": { - "shape": "TimestampType", - "locationName": "timestamp_location" + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" } } }, - "TimestampType": { - "type": "timestamp" + "StringType": { + "type": "string" } }, "cases": [ @@ -986,12 +1370,109 @@ "name": "OperationName" }, "params": { - "TimeArg": 1422172800 + "Attr": {"Foo":"Bar"} + }, + "serialized": { + "uri": "/path", + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { }, "serialized": { "uri": "/path", "headers": {}, - "body": "{\"timestamp_location\": 1422172800}" + "body": "" + } + } + ] + }, + { + "description": "Endpoint host trait", + "metadata": { + "protocol": "rest-json", + "apiVersion": "2014-01-01" + }, + "clientEndpoint": "https://service.region.amazonaws.com", + "shapes": { + "StaticInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType" + } + } + }, + "MemberRefInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType", + "hostLabel": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "name": "StaticOp", + "input": { + "shape": "StaticInputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "endpoint":{ + "hostPrefix": "data-" + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/path", + "body": "{\"Name\": \"myname\"}", + "host": "data-service.region.amazonaws.com" + } + }, + { + "given": { + "name": "MemberRefOp", + "input": { + "shape": "MemberRefInputShape" + }, + "http": { + "method": "GET", + "requestUri": "/path" + }, + "endpoint":{ + "hostPrefix": "foo-{Name}." + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/path", + "body": "{\"Name\": \"myname\"}", + "host": "foo-myname.service.region.amazonaws.com" } } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/input/rest-xml.json python-botocore-1.16.19+repack/tests/unit/protocols/input/rest-xml.json --- python-botocore-1.4.70/tests/unit/protocols/input/rest-xml.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/input/rest-xml.json 2020-05-28 19:26:10.000000000 +0000 @@ -599,7 +599,7 @@ ] }, { - "description": "Blob and timestamp shapes", + "description": "Blob shapes", "metadata": { "protocol": "rest-xml", "apiVersion": "2014-01-01" @@ -616,17 +616,11 @@ "StructureShape": { "type": "structure", "members": { - "t": { - "shape": "TShape" - }, "b": { "shape": "BShape" } } }, - "TShape": { - "type": "timestamp" - }, "BShape": { "type": "blob" } @@ -647,13 +641,12 @@ }, "params": { "StructureParam": { - "t": 1422172800, "b": "foo" } }, "serialized": { "method": "POST", - "body": "2015-01-25T08:00:00ZZm9v", + "body": "Zm9v", "uri": "/2014-01-01/hostedzone", "headers": {} } @@ -661,6 +654,110 @@ ] }, { + "description": "Timestamp shapes", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "TimeArg": { + "shape": "TimestampType" + }, + "TimeArgInHeader": { + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timearg" + }, + "TimeArgInQuery": { + "shape": "TimestampType", + "location": "querystring", + "locationName": "TimeQuery" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeCustomInHeader": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timecustom-header" + }, + "TimeCustomInQuery": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "querystring", + "locationName": "TimeCustomQuery" + }, + "TimeFormat": { + "shape": "TimestampFormatRfcType" + }, + "TimeFormatInHeader": { + "shape": "TimestampFormatUnixType", + "location": "header", + "locationName": "x-amz-timeformat-header" + }, + "TimeFormatInQuery": { + "shape": "TimestampFormatUnixType", + "location": "querystring", + "locationName": "TimeFormatQuery" + } + } + }, + "TimestampFormatRfcType": { + "timestampFormat": "rfc822", + "type": "timestamp" + }, + "TimestampFormatUnixType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "POST", + "requestUri": "/2014-01-01/hostedzone" + }, + "input": { + "shape": "InputShape", + "locationName": "TimestampStructure", + "xmlNamespace": {"uri": "https://foo/"} + }, + "name": "OperationName" + }, + "params": { + "TimeArg": 1422172800, + "TimeArgInQuery": 1422172800, + "TimeArgInHeader": 1422172800, + "TimeCustom": 1422172800, + "TimeCustomInQuery": 1422172800, + "TimeCustomInHeader": 1422172800, + "TimeFormat": 1422172800, + "TimeFormatInQuery": 1422172800, + "TimeFormatInHeader": 1422172800 + }, + "serialized": { + "method": "POST", + "body": "2015-01-25T08:00:00ZSun, 25 Jan 2015 08:00:00 GMTSun, 25 Jan 2015 08:00:00 GMT", + "uri": "/2014-01-01/hostedzone?TimeQuery=2015-01-25T08%3A00%3A00Z&TimeCustomQuery=1422172800&TimeFormatQuery=1422172800", + "headers": { + "x-amz-timearg": "Sun, 25 Jan 2015 08:00:00 GMT", + "x-amz-timecustom-header": "1422172800", + "x-amz-timeformat-header": "1422172800" + } + } + } + ] + }, + { "description": "Header maps", "metadata": { "protocol": "rest-xml", @@ -725,7 +822,7 @@ { "description": "Querystring list of strings", "metadata": { - "protocol": "rest-json", + "protocol": "rest-xml", "apiVersion": "2014-01-01" }, "shapes": { @@ -773,50 +870,6 @@ ] }, { - "description": "Querystring with boolean", - "metadata": { - "protocol": "rest-json", - "apiVersion": "2014-01-01" - }, - "shapes": { - "InputShape": { - "type": "structure", - "members": { - "item" : { - "shape": "Boolean", - "location": "querystring", - "locationName": "item" - } - } - }, - "Boolean": { - "type": "boolean" - } - }, - "cases": [ - { - "given": { - "http": { - "method": "GET", - "requestUri": "/path" - }, - "input": { - "shape": "InputShape" - }, - "name": "OperationName" - }, - "params": { - "item": true - }, - "serialized": { - "body": "", - "uri": "/path?item=true", - "headers": {} - } - } - ] - }, - { "description": "String to string maps in querystring", "metadata": { "protocol": "rest-xml", @@ -942,7 +995,70 @@ } ] }, - + { + "description": "Boolean in querystring", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "BoolQuery": { + "shape": "BoolType", + "location": "querystring", + "locationName": "bool-query" + } + } + }, + "BoolType": { + "type": "boolean" + } + }, + "cases": [ + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": true + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=true", + "headers": {} + } + }, + { + "given": { + "http": { + "method": "GET", + "requestUri": "/path" + }, + "input": { + "shape": "InputShape" + }, + "name": "OperationName" + }, + "params": { + "BoolQuery": false + }, + "serialized": { + "body": "", + "uri": "/path?bool-query=false", + "headers": {} + } + } + ] + }, { "description": "String payload", "metadata": { @@ -1186,21 +1302,21 @@ } }, "Grantee": { - "type": "structure", - "members": { - "Type": { - "shape": "Type", - "locationName": "xsi:type", - "xmlAttribute": true - }, - "EmailAddress": { - "shape": "StringType" - } - }, - "xmlNamespace": { - "prefix": "xsi", - "uri":"http://www.w3.org/2001/XMLSchema-instance" - } + "type": "structure", + "members": { + "Type": { + "shape": "Type", + "locationName": "xsi:type", + "xmlAttribute": true + }, + "EmailAddress": { + "shape": "StringType" + } + }, + "xmlNamespace": { + "prefix": "xsi", + "uri":"http://www.w3.org/2001/XMLSchema-instance" + } }, "Type": { "type": "string" @@ -1568,7 +1684,7 @@ ] }, { - "description": "Timestamp in header", + "description": "Idempotency token auto fill", "metadata": { "protocol": "rest-xml", "apiVersion": "2014-01-01" @@ -1577,15 +1693,78 @@ "InputShape": { "type": "structure", "members": { - "TimeArgInHeader": { - "shape": "TimestampType", + "Token": { + "shape": "StringType", + "idempotencyToken": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + "Token": "abc123" + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "abc123" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "00000000-0000-4000-8000-000000000000" + } + } + ] + }, + { + "description": "JSON value trait", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "shapes": { + "InputShape": { + "type": "structure", + "members": { + "Attr": { + "shape": "StringType", + "jsonvalue": true, "location": "header", - "locationName": "x-amz-timearg" + "locationName": "X-Amz-Foo" } } }, - "TimestampType": { - "type": "timestamp" + "StringType": { + "type": "string" } }, "cases": [ @@ -1601,13 +1780,111 @@ "name": "OperationName" }, "params": { - "TimeArgInHeader": 1422172800 + "Attr": {"Foo":"Bar"} + }, + "serialized": { + "uri": "/path", + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + }, + { + "given": { + "input": { + "shape": "InputShape" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "name": "OperationName" + }, + "params": { + }, + "serialized": { + "uri": "/path", + "headers": {}, + "body": "" + } + } + ] + }, + { + "description": "Endpoint host trait", + "metadata": { + "protocol": "rest-xml", + "apiVersion": "2014-01-01" + }, + "clientEndpoint": "https://service.region.amazonaws.com", + "shapes": { + "StaticInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType" + } + } + }, + "MemberRefInputShape": { + "type": "structure", + "members": { + "Name": { + "shape": "StringType", + "hostLabel": true + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "name": "StaticOp", + "input": { + "shape": "StaticInputShape", + "locationName": "StaticOpRequest" + }, + "http": { + "method": "POST", + "requestUri": "/path" + }, + "endpoint":{ + "hostPrefix": "data-" + } + }, + "params": { + "Name": "myname" + }, + "serialized": { + "uri": "/path", + "body": "myname", + "host": "data-service.region.amazonaws.com" + } + }, + { + "given": { + "name": "MemberRefOp", + "input": { + "shape": "MemberRefInputShape", + "locationName": "MemberRefOpRequest" + }, + "http": { + "method": "GET", + "requestUri": "/path" + }, + "endpoint":{ + "hostPrefix": "foo-{Name}." + } + }, + "params": { + "Name": "myname" }, "serialized": { - "method": "POST", - "body": "", "uri": "/path", - "headers": {"x-amz-timearg": "Sun, 25 Jan 2015 08:00:00 GMT"} + "body": "myname", + "host": "foo-myname.service.region.amazonaws.com" } } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/output/ec2.json python-botocore-1.16.19+repack/tests/unit/protocols/output/ec2.json --- python-botocore-1.4.70/tests/unit/protocols/output/ec2.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/output/ec2.json 2020-05-28 19:26:16.000000000 +0000 @@ -450,5 +450,163 @@ } } ] + }, + { + "description": "Timestamp members", + "metadata": { + "protocol": "ec2" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "TimeArg": { + "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" + }, + "StructMember": { + "shape": "TimeContainer" + } + } + }, + "TimeContainer": { + "type": "structure", + "members": { + "foo": { + "shape": "TimestampType" + }, + "bar": { + "shape": "TimestampFormatType" + } + } + }, + "TimestampFormatType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "TimeArg": 1398796238, + "TimeCustom": 1398796238, + "TimeFormat": 1398796238, + "StructMember": { + "foo": 1398796238, + "bar": 1398796238 + } + }, + "response": { + "status_code": 200, + "headers": {}, + "body": "2014-04-29T18:30:38+00:0013987962382014-04-29T18:30:38+00:00Tue, 29 Apr 2014 18:30:38 GMT1398796238requestid" + } + } + ] + }, + { + "description": "Modeled exceptions", + "metadata": { + "protocol": "ec2" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "OtherExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + } + } + }, + "StatusShape": { + "type": "integer" + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "ExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "OtherExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "UndefinedShapemymessagemybody" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/output/json.json python-botocore-1.16.19+repack/tests/unit/protocols/output/json.json --- python-botocore-1.4.70/tests/unit/protocols/output/json.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/output/json.json 2020-05-28 19:26:16.000000000 +0000 @@ -142,24 +142,38 @@ "OutputShape": { "type": "structure", "members": { - "TimeMember": { - "shape": "TimeType" + "TimeArg": { + "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" }, "StructMember": { "shape": "TimeContainer" } } }, - "TimeType": { - "type": "timestamp" - }, "TimeContainer": { "type": "structure", "members": { "foo": { - "shape": "TimeType" + "shape": "TimestampType" + }, + "bar": { + "shape": "TimestampFormatType" } } + }, + "TimestampFormatType": { + "timestampFormat": "iso8601", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" } }, "cases": [ @@ -171,15 +185,18 @@ "name": "OperationName" }, "result": { - "TimeMember": 1398796238, + "TimeArg": 1398796238, + "TimeCustom": 1398796238, + "TimeFormat": 1398796238, "StructMember": { - "foo": 1398796238 + "foo": 1398796238, + "bar": 1398796238 } }, "response": { "status_code": 200, "headers": {}, - "body": "{\"TimeMember\": 1398796238, \"StructMember\": {\"foo\": 1398796238}}" + "body": "{\"TimeArg\": 1398796238, \"TimeCustom\": \"Tue, 29 Apr 2014 18:30:38 GMT\", \"TimeFormat\": \"2014-04-29T18:30:38+00:00\", \"StructMember\": {\"foo\": 1398796238, \"bar\": \"2014-04-29T18:30:38+00:00\"}}" } } ] @@ -365,5 +382,233 @@ } } ] + }, + { + "description": "RPC JSON Event Stream", + "metadata": { + "protocol": "json" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "Payload": {"shape": "EventStream"}, + "InitialResponse": {"shape": "StringType"} + } + }, + "EventStream": { + "type": "structure", + "eventstream": true, + "members": { + "TypeA": {"shape": "TypeAEvent"}, + "TypeB": {"shape": "TypeBEvent"} + } + }, + "TypeAEvent": { + "type": "structure", + "event": true, + "members": { + "Payload": { + "shape": "BlobType", + "eventpayload": true + } + } + }, + "TypeBEvent": { + "type": "structure", + "event": true, + "members": { + "Details": { + "shape": "Details", + "eventpayload": true + } + } + }, + "Details": { + "type": "structure", + "members": { + "StringField": {"shape": "StringType"}, + "IntegerField": {"shape": "IntegerType"} + } + }, + "StringType": { + "type": "string" + }, + "IntegerType": { + "type": "integer" + }, + "BlobType": { + "type": "blob" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "InitialResponse": "sometext", + "Payload": [ + { + "TypeA": {"Payload": "somebytes"} + }, + { + "TypeB": { + "Details": { + "StringField": "somestring", + "IntegerField": 123 + } + } + } + ] + }, + "response": { + "status_code": 200, + "headers": {}, + "body": "AAAAfgAAAE/Fo93GDTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcAEGluaXRpYWwtcmVzcG9uc2UNOmNvbnRlbnQtdHlwZQcACXRleHQvanNvbnsiSW5pdGlhbFJlc3BvbnNlIjogInNvbWV0ZXh0In32mCSDAAAAbAAAAFPLgkVrDTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcABVR5cGVBDTpjb250ZW50LXR5cGUHABhhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1zb21lYnl0ZXMesj2HAAAAhgAAAEQqNR/SDTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcABVR5cGVCDTpjb250ZW50LXR5cGUHAAl0ZXh0L2pzb257IlN0cmluZ0ZpZWxkIjogInNvbWVzdHJpbmciLCAiSW50ZWdlckZpZWxkIjogMTIzfffGN30=" + } + } + ] + }, + { + "description": "Modeled exceptions", + "metadata": { + "protocol": "json" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + }, + "Code": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "OtherExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody", + "Code": "OtherExceptionShape", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "{ \"__type\": \"ExceptionShape\", \"Code\": \"OtherExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "{ \"__type\": \"OtherExceptionShape\", \"Code\": \"ExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc" + }, + "body": "{ \"__type\": \"UndefinedShape\", \"Code\": \"ExceptionShape\", \"BodyMember\": \"mybody\"}" + } + } + ] + }, + { + "description": "Modeled exceptions with jsonVersion 1.0", + "metadata": { + "protocol": "json", + "jsonVersion": "1.0" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "{ \"__type\": \"FooPrefix#ExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/output/query.json python-botocore-1.16.19+repack/tests/unit/protocols/output/query.json --- python-botocore-1.4.70/tests/unit/protocols/output/query.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/output/query.json 2020-05-28 19:26:16.000000000 +0000 @@ -772,5 +772,160 @@ } } ] + }, + { + "description": "Timestamp members", + "metadata": { + "protocol": "query" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "TimeArg": { + "shape": "TimestampType" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeFormat": { + "shape": "TimestampFormatType" + }, + "StructMember": { + "shape": "TimeContainer" + } + } + }, + "TimeContainer": { + "type": "structure", + "members": { + "foo": { + "shape": "TimestampType" + }, + "bar": { + "shape": "TimestampFormatType" + } + } + }, + "TimestampFormatType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "TimeArg": 1398796238, + "TimeCustom": 1398796238, + "TimeFormat": 1398796238, + "StructMember": { + "foo": 1398796238, + "bar": 1398796238 + } + }, + "response": { + "status_code": 200, + "headers": {}, + "body": "2014-04-29T18:30:38+00:0013987962382014-04-29T18:30:38+00:00Tue, 29 Apr 2014 18:30:38 GMT1398796238requestid" + } + } + ] + }, + { + "description": "Modeled exceptions", + "metadata": { + "protocol": "query" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "OtherExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "SomeTypeExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "SomeTypeOtherExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": {}, + "body": "SomeTypeUndefinedShapemymessagemybody" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/output/rest-json.json python-botocore-1.16.19+repack/tests/unit/protocols/output/rest-json.json --- python-botocore-1.4.70/tests/unit/protocols/output/rest-json.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/output/rest-json.json 2020-05-28 19:26:16.000000000 +0000 @@ -166,24 +166,54 @@ "OutputShape": { "type": "structure", "members": { - "TimeMember": { - "shape": "TimeType" + "TimeArg": { + "shape": "TimestampType" + }, + "TimeArgInHeader": { + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timearg" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeCustomInHeader": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timecustom" + }, + "TimeFormat": { + "shape": "TimestampFormatType" + }, + "TimeFormatInHeader": { + "shape": "TimestampFormatType", + "location": "header", + "locationName": "x-amz-timeformat" }, "StructMember": { "shape": "TimeContainer" } } }, - "TimeType": { - "type": "timestamp" - }, "TimeContainer": { "type": "structure", "members": { "foo": { - "shape": "TimeType" + "shape": "TimestampType" + }, + "bar": { + "shape": "TimestampFormatType" } } + }, + "TimestampFormatType": { + "timestampFormat": "iso8601", + "type": "timestamp" + }, + "TimestampType": { + "type": "timestamp" } }, "cases": [ @@ -195,15 +225,25 @@ "name": "OperationName" }, "result": { - "TimeMember": 1398796238, + "TimeArg": 1398796238, + "TimeArgInHeader": 1398796238, + "TimeCustom": 1398796238, + "TimeCustomInHeader": 1398796238, + "TimeFormat": 1398796238, + "TimeFormatInHeader": 1398796238, "StructMember": { - "foo": 1398796238 + "foo": 1398796238, + "bar": 1398796238 } }, "response": { "status_code": 200, - "headers": {}, - "body": "{\"TimeMember\": 1398796238, \"StructMember\": {\"foo\": 1398796238}}" + "headers": { + "x-amz-timearg": "Tue, 29 Apr 2014 18:30:38 GMT", + "x-amz-timecustom": "1398796238", + "x-amz-timeformat": "2014-04-29T18:30:38+00:00" + }, + "body": "{\"TimeArg\": 1398796238, \"TimeCustom\": \"Tue, 29 Apr 2014 18:30:38 GMT\", \"TimeFormat\": \"2014-04-29T18:30:38+00:00\", \"StructMember\": {\"foo\": 1398796238, \"bar\": \"2014-04-29T18:30:38+00:00\"}}" } } ] @@ -624,5 +664,254 @@ } } ] + }, + { + "description": "JSON value trait", + "metadata": { + "protocol": "rest-json" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" + } + } + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "Attr": {"Foo":"Bar"} + }, + "response": { + "status_code": 200, + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + } + ] + }, + { + "description": "Modeled exceptions", + "metadata": { + "protocol": "rest-json" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "ImaHeader": { + "shape": "HeaderShape" + }, + "ImaHeaderLocation": { + "shape": "HeaderShape", + "locationName": "X-Foo" + }, + "Status": { + "shape": "StatusShape", + "location": "statusCode" + }, + "BodyMember": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "OtherExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + } + } + }, + "HeaderShape": { + "type": "string", + "location": "header" + }, + "StatusShape": { + "type": "integer" + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "ImaHeader": "test", + "ImaHeaderLocation": "abc", + "Status": 400, + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Errortype": "ExceptionShape" + }, + "body": "{\"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "ImaHeader": "test", + "ImaHeaderLocation": "abc", + "Status": 400, + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc" + }, + "body": "{ \"code\": \"ExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "ImaHeader": "test", + "ImaHeaderLocation": "abc", + "Status": 400, + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Errortype": "ExceptionShape" + }, + "body": "{ \"code\": \"OtherExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Errortype": "OtherExceptionShape" + }, + "body": "{ \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc" + }, + "body": "{ \"code\": \"OtherExceptionShape\", \"BodyMember\": \"mybody\", \"Message\": \"mymessage\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Errortype": "UndefinedShape" + }, + "body": "{ \"BodyMember\": \"mybody\"}" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc" + }, + "body": "{ \"code\": \"UndefinedShape\", \"BodyMember\": \"mybody\"}" + } + } + ] } ] diff -Nru python-botocore-1.4.70/tests/unit/protocols/output/rest-xml.json python-botocore-1.16.19+repack/tests/unit/protocols/output/rest-xml.json --- python-botocore-1.4.70/tests/unit/protocols/output/rest-xml.json 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/protocols/output/rest-xml.json 2020-05-28 19:26:16.000000000 +0000 @@ -718,7 +718,7 @@ ] }, { - "description": "Parse XML Attributes", + "description": "JSON value trait", "metadata": { "protocol": "rest-xml" }, @@ -726,37 +726,222 @@ "OutputShape": { "type": "structure", "members": { - "Grants": { - "shape": "Grants", - "locationName": "AccessControlList" + "Attr": { + "shape": "StringType", + "jsonvalue": true, + "location": "header", + "locationName": "X-Amz-Foo" } } }, - "Grants": { - "type": "list", - "member": { - "shape": "Grant" - } + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "Attr": {"Foo":"Bar"} + }, + "response": { + "status_code": 200, + "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, + "body": "" + } + } + ] + }, + { + "description": "Timestamp members", + "metadata": { + "protocol": "rest-xml" + }, + "shapes": { + "OutputShape": { + "type": "structure", + "members": { + "TimeArg": { + "shape": "TimestampType" + }, + "TimeArgInHeader": { + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timearg" + }, + "TimeCustom": { + "timestampFormat": "rfc822", + "shape": "TimestampType" + }, + "TimeCustomInHeader": { + "timestampFormat": "unixTimestamp", + "shape": "TimestampType", + "location": "header", + "locationName": "x-amz-timecustom" + }, + "TimeFormat": { + "shape": "TimestampFormatType" + }, + "TimeFormatInHeader": { + "shape": "TimestampFormatType", + "location": "header", + "locationName": "x-amz-timeformat" + }, + "StructMember": { + "shape": "TimeContainer" + } + } }, - "Grant": { + "TimeContainer": { "type": "structure", - "members": { - "Grantee": {"shape": "Grantee"} - } + "members": { + "foo": { + "shape": "TimestampType" + }, + "bar": { + "shape": "TimestampFormatType" + } + } + }, + "TimestampFormatType": { + "timestampFormat": "unixTimestamp", + "type": "timestamp" }, - "Grantee": { + "TimestampType": { + "type": "timestamp" + } + }, + "cases": [ + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "TimeArg": 1398796238, + "TimeArgInHeader": 1398796238, + "TimeCustom": 1398796238, + "TimeCustomInHeader": 1398796238, + "TimeFormat": 1398796238, + "TimeFormatInHeader": 1398796238, + "StructMember": { + "foo": 1398796238, + "bar": 1398796238 + } + }, + "response": { + "status_code": 200, + "headers": { + "x-amz-timearg": "Tue, 29 Apr 2014 18:30:38 GMT", + "x-amz-timecustom": "1398796238", + "x-amz-timeformat": "1398796238" + }, + "body": "2014-04-29T18:30:38+00:0013987962382014-04-29T18:30:38+00:00Tue, 29 Apr 2014 18:30:38 GMT1398796238requestid" + } + } + ] + }, + { + "description": "REST XML Event Stream", + "metadata": { + "protocol": "rest-xml" + }, + "shapes": { + "OutputShape": { "type": "structure", - "members": { - "DisplayName": {"shape": "String"}, - "ID": {"shape": "String"}, - "Type": { - "shape": "String", - "locationName": "xsi:type", - "xmlAttribute": true - } - } + "members": { + "Payload": {"shape": "EventStream"} + }, + "payload": "Payload" + }, + "EventStream": { + "type": "structure", + "eventstream": true, + "members": { + "TypeA": {"shape": "TypeAEvent"}, + "TypeB": {"shape": "TypeBEvent"}, + "TypeC": {"shape": "TypeCEvent"} + } + }, + "TypeAEvent": { + "type": "structure", + "event": true, + "members": { + "Payload": { + "shape": "BlobType", + "eventpayload": true + } + } + }, + "TypeBEvent": { + "type": "structure", + "event": true, + "members": { + "Details": { + "shape": "Details", + "eventpayload": true + } + } + }, + "TypeCEvent": { + "type": "structure", + "event": true, + "members": { + "Details": { + "shape": "Details", + "eventpayload": true + }, + "Boolean": { + "shape": "BooleanType", + "eventheader": true + }, + "Integer": { + "shape": "IntegerType", + "eventheader": true + }, + "Blob": { + "shape": "BlobType", + "eventheader": true + }, + "String": { + "shape": "StringType", + "eventheader": true + }, + "Timestamp": { + "shape": "TimestampType", + "eventheader": true + } + } + }, + "Details": { + "type": "structure", + "members": { + "StringField": {"shape": "StringType"}, + "IntegerField": {"shape": "IntegerType"} + } + }, + "StringType": { + "type": "string" + }, + "IntegerType": { + "type": "integer" + }, + "BooleanType": { + "type": "boolean" + }, + "TimestampType": { + "type": "timestamp" }, - "String": {"type": "string"} + "BlobType": { + "type": "blob" + } }, "cases": [ { @@ -767,21 +952,190 @@ "name": "OperationName" }, "result": { - "Grants": [ - { - "Grantee": { - "DisplayName": "name", - "ID": "id", - "Type": "CanonicalUser" + "Payload": [ + { + "TypeA": {"Payload": "somebytes"} + }, + { + "TypeB": { + "Details": { + "StringField": "somestring", + "IntegerField": 123 + } + } } - } ] }, "response": { "status_code": 200, "headers": {}, - "body": "id name" - } + "body": "AAAAbAAAAFPLgkVrDTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcABVR5cGVBDTpjb250ZW50LXR5cGUHABhhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1zb21lYnl0ZXMesj2HAAAAsAAAAEOaMMdXDTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcABVR5cGVCDTpjb250ZW50LXR5cGUHAAh0ZXh0L3htbDxUeXBlQiB4bWxucz0iIj48U3RyaW5nRmllbGQ+c29tZXN0cmluZzwvU3RyaW5nRmllbGQ+PEludGVnZXJGaWVsZD4xMjM8L0ludGVnZXJGaWVsZD48L1R5cGVCPiwthPo=" + } + }, + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "Payload": [ + { + "TypeC": { + "Boolean": true, + "Integer": 123, + "Blob": "someblob", + "String": "somestring", + "Timestamp": 1422172800, + "Details": { + "StringField": "somestring", + "IntegerField": 123 + } + } + } + ] + }, + "response": { + "status_code": 200, + "headers": {}, + "body": "AAABAQAAAJBjEbY4DTptZXNzYWdlLXR5cGUHAAVldmVudAs6ZXZlbnQtdHlwZQcABVR5cGVDDTpjb250ZW50LXR5cGUHAAh0ZXh0L3htbAdCb29sZWFuAAdJbnRlZ2VyBAAAAHsEQmxvYgYACHNvbWVibG9iBlN0cmluZwcACnNvbWVzdHJpbmcJVGltZXN0YW1wCAAAAUsgGsQAPERldGFpbHMgeG1sbnM9IiI+PFN0cmluZ0ZpZWxkPnNvbWVzdHJpbmc8L1N0cmluZ0ZpZWxkPjxJbnRlZ2VyRmllbGQ+MTIzPC9JbnRlZ2VyRmllbGQ+PC9EZXRhaWxzPhGUvKo=" + } + }, + { + "given": { + "output": { + "shape": "OutputShape" + }, + "name": "OperationName" + }, + "result": { + "Payload": [] + }, + "response": { + "status_code": 200, + "headers": {}, + "body": "" + } + } + ] + }, + { + "description": "Modeled exceptions", + "metadata": { + "protocol": "rest-xml" + }, + "shapes": { + "ExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "ImaHeader": { + "shape": "HeaderShape" + }, + "ImaHeaderLocation": { + "shape": "HeaderShape", + "locationName": "X-Foo" + }, + "Status": { + "shape": "StatusShape", + "location": "statusCode" + }, + "BodyMember": { + "shape": "StringType" + }, + "Message": { + "shape": "StringType" + } + } + }, + "OtherExceptionShape": { + "exception": true, + "type": "structure", + "members": { + "BodyMember": { + "shape": "StringType" + } + } + }, + "HeaderShape": { + "type": "string", + "location": "header" + }, + "StatusShape": { + "type": "integer" + }, + "StringType": { + "type": "string" + } + }, + "cases": [ + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "ImaHeader": "test", + "ImaHeaderLocation": "abc", + "Status": 400, + "BodyMember": "mybody", + "Message": "mymessage" + }, + "errorCode": "ExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Requestid": "foo-id" + }, + "body": "SomeTypeExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": { + "BodyMember": "mybody" + }, + "errorCode": "OtherExceptionShape", + "errorMessage": "mymessage", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Requestid": "foo-id" + }, + "body": "SomeTypeOtherExceptionShapemymessagemybody" + } + }, + { + "given": { + "errors": [ + {"shape": "ExceptionShape"} + ], + "name": "OperationName" + }, + "error": {}, + "errorCode": "UndefinedShape", + "response": { + "status_code": 400, + "headers": { + "ImaHeader": "test", + "X-Foo": "abc", + "X-Amzn-Requestid": "foo-id" + }, + "body": "SomeTypeUndefinedShapemybody" + } } ] } diff -Nru python-botocore-1.4.70/tests/unit/response_parsing/test_response_parsing.py python-botocore-1.16.19+repack/tests/unit/response_parsing/test_response_parsing.py --- python-botocore-1.4.70/tests/unit/response_parsing/test_response_parsing.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/response_parsing/test_response_parsing.py 2020-05-28 19:26:10.000000000 +0000 @@ -17,17 +17,11 @@ import pprint import logging import difflib -from tests import unittest, create_session - -from mock import Mock -from botocore.vendored.requests.structures import CaseInsensitiveDict +from tests import create_session import botocore.session from botocore import xform_name -#from botocore.response import XmlResponse, JSONResponse, get_response -from botocore import response from botocore import parsers -from botocore.exceptions import IncompleteReadError log = logging.getLogger(__name__) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_adaptive.py python-botocore-1.16.19+repack/tests/unit/retries/test_adaptive.py --- python-botocore-1.4.70/tests/unit/retries/test_adaptive.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_adaptive.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,172 @@ +from tests import unittest + +import mock + +from botocore.retries import adaptive +from botocore.retries import standard +from botocore.retries import bucket +from botocore.retries import throttling + + +class FakeClock(bucket.Clock): + def __init__(self, timestamp_sequences): + self.timestamp_sequences = timestamp_sequences + self.sleep_call_amounts = [] + + def sleep(self, amount): + self.sleep_call_amounts.append(amount) + + def current_time(self): + return self.timestamp_sequences.pop(0) + + +class TestCanCreateRetryHandler(unittest.TestCase): + def test_can_register_retry_handler(self): + client = mock.Mock() + limiter = adaptive.register_retry_handler(client) + self.assertEqual( + client.meta.events.register.call_args_list, + [mock.call('before-send', limiter.on_sending_request), + mock.call('needs-retry', limiter.on_receiving_response)] + ) + + +class TestClientRateLimiter(unittest.TestCase): + def setUp(self): + self.timestamp_sequences = [0] + self.clock = FakeClock(self.timestamp_sequences) + self.token_bucket = mock.Mock(spec=bucket.TokenBucket) + self.rate_adjustor = mock.Mock(spec=throttling.CubicCalculator) + self.rate_clocker = mock.Mock(spec=adaptive.RateClocker) + self.throttling_detector = mock.Mock( + spec=standard.ThrottlingErrorDetector) + + def create_client_limiter(self): + rate_limiter = adaptive.ClientRateLimiter( + rate_adjustor=self.rate_adjustor, + rate_clocker=self.rate_clocker, + token_bucket=self.token_bucket, + throttling_detector=self.throttling_detector, + clock=self.clock, + ) + return rate_limiter + + def test_bucket_bucket_acquisition_only_if_enabled(self): + rate_limiter = self.create_client_limiter() + rate_limiter.on_sending_request(request=mock.sentinel.request) + self.assertFalse(self.token_bucket.acquire.called) + + def test_token_bucket_enabled_on_throttling_error(self): + rate_limiter = self.create_client_limiter() + self.throttling_detector.is_throttling_error.return_value = True + self.rate_clocker.record.return_value = 21 + self.rate_adjustor.error_received.return_value = 17 + rate_limiter.on_receiving_response() + # Now if we call on_receiving_response we should try to acquire + # token. + self.timestamp_sequences.append(1) + rate_limiter.on_sending_request(request=mock.sentinel.request) + self.assertTrue(self.token_bucket.acquire.called) + + def test_max_rate_updated_on_success_response(self): + rate_limiter = self.create_client_limiter() + self.throttling_detector.is_throttling_error.return_value = False + self.rate_adjustor.success_received.return_value = 20 + self.rate_clocker.record.return_value = 21 + rate_limiter.on_receiving_response() + self.assertEqual(self.token_bucket.max_rate, 20) + + def test_max_rate_cant_exceed_20_percent_max(self): + rate_limiter = self.create_client_limiter() + self.throttling_detector.is_throttling_error.return_value = False + # So if our actual measured sending rate is 20 TPS + self.rate_clocker.record.return_value = 20 + # But the rate adjustor is telling us to go up to 100 TPS + self.rate_adjustor.success_received.return_value = 100 + + # The most we should go up is 2.0 * 20 + rate_limiter.on_receiving_response() + self.assertEqual(self.token_bucket.max_rate, 2.0 * 20) + +class TestRateClocker(unittest.TestCase): + + def setUp(self): + self.timestamp_sequences = [0] + self.clock = FakeClock(self.timestamp_sequences) + self.rate_measure = adaptive.RateClocker(self.clock) + self.smoothing = 0.8 + + def test_initial_rate_is_0(self): + self.assertEqual(self.rate_measure.measured_rate, 0) + + def test_time_updates_if_after_bucket_range(self): + self.timestamp_sequences.append(1) + # This should be 1 * 0.8 + 0 * 0.2, or just 0.8 + self.assertEqual(self.rate_measure.record(), 0.8) + + def test_can_measure_constant_rate(self): + # Timestamps of 1 every second indicate a rate of 1 TPS. + self.timestamp_sequences.extend(range(1, 21)) + for _ in range(20): + self.rate_measure.record() + self.assertAlmostEqual(self.rate_measure.measured_rate, 1) + + def test_uses_smoothing_to_favor_recent_weights(self): + self.timestamp_sequences.extend([ + 1, + 1.5, + 2, + 2.5, + 3, + 3.5, + 4, + # If we now wait 10 seconds (.1 TPS), + # our rate is somewhere between 2 TPS and .1 TPS. + 14, + ]) + for _ in range(7): + self.rate_measure.record() + # We should almost be at 2.0 but not quite. + self.assertGreaterEqual(self.rate_measure.measured_rate, 1.99) + self.assertLessEqual(self.rate_measure.measured_rate, 2.0) + # With our last recording we now drop down between 0.1 and 2 + # depending on our smoothing factor. + self.rate_measure.record() + self.assertGreaterEqual(self.rate_measure.measured_rate, 0.1) + self.assertLessEqual(self.rate_measure.measured_rate, 2.0) + + def test_noop_when_delta_t_is_0(self): + self.timestamp_sequences.extend([ + 1, + 1, + 1, + 2, + 3 + ]) + for _ in range(5): + self.rate_measure.record() + self.assertGreaterEqual(self.rate_measure.measured_rate, 1.0) + + def test_times_are_grouped_per_time_bucket(self): + # Using our default of 0.5 time buckets, we have: + self.timestamp_sequences.extend([ + 0.1, + 0.2, + 0.3, + 0.4, + 0.49, + ]) + for _ in range(len(self.timestamp_sequences)): + self.rate_measure.record() + # This is showing the tradeoff we're making with measuring rates. + # we're currently in the window from 0 <= x < 0.5, which means + # we use the rate from the previous bucket, which is 0: + self.assertEqual(self.rate_measure.measured_rate, 0) + # However if we now add a new measurement that's in the next + # time bucket 0.5 <= x < 1.0 + # we'll use the range from the previous bucket: + self.timestamp_sequences.append(0.5) + self.rate_measure.record() + # And our previous bucket will be: + # 12 * 0.8 + 0.2 * 0 + self.assertEqual(self.rate_measure.measured_rate, 12 * 0.8) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_bucket.py python-botocore-1.16.19+repack/tests/unit/retries/test_bucket.py --- python-botocore-1.4.70/tests/unit/retries/test_bucket.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_bucket.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,112 @@ +from tests import unittest + +from botocore.retries import bucket +from botocore.exceptions import CapacityNotAvailableError + + +class FakeClock(bucket.Clock): + def __init__(self, timestamp_sequences): + self.timestamp_sequences = timestamp_sequences + self.sleep_call_amounts = [] + + def sleep(self, amount): + self.sleep_call_amounts.append(amount) + + def current_time(self): + return self.timestamp_sequences.pop(0) + + +class TestTokenBucket(unittest.TestCase): + def setUp(self): + self.timestamp_sequences = [0] + self.clock = FakeClock(self.timestamp_sequences) + + def create_token_bucket(self, max_rate=10, min_rate=0.1): + return bucket.TokenBucket(max_rate=max_rate, clock=self.clock, + min_rate=min_rate) + + def test_can_acquire_amount(self): + self.timestamp_sequences.extend([ + # Requests tokens every second, which is well below our + # 10 TPS fill rate. + 1, + 2, + 3, + 4, + 5, + ]) + token_bucket = self.create_token_bucket(max_rate=10) + for _ in range(5): + self.assertTrue(token_bucket.acquire(1, block=False)) + + def test_can_change_max_capacity_lower(self): + # Requests at 1 TPS. + self.timestamp_sequences.extend([1, 2, 3, 4, 5]) + token_bucket = self.create_token_bucket(max_rate=10) + # Request the first 5 tokens with max_rate=10 + for _ in range(5): + self.assertTrue(token_bucket.acquire(1, block=False)) + # Now scale the max_rate down to 1 on the 5th second. + self.timestamp_sequences.append(5) + token_bucket.max_rate = 1 + # And then from seconds 6-10 we request at one per second. + self.timestamp_sequences.extend([6, 7, 8, 9, 10]) + for _ in range(5): + self.assertTrue(token_bucket.acquire(1, block=False)) + + def test_max_capacity_is_at_least_one(self): + token_bucket = self.create_token_bucket() + self.timestamp_sequences.append(1) + token_bucket.max_rate = 0.5 + self.assertEqual(token_bucket.max_rate, 0.5) + self.assertEqual(token_bucket.max_capacity, 1) + + def test_acquire_fails_on_non_block_mode_returns_false(self): + self.timestamp_sequences.extend([ + # Initial creation time. + 0, + # Requests a token 1 second later. + 1 + ]) + token_bucket = self.create_token_bucket(max_rate=10) + with self.assertRaises(CapacityNotAvailableError): + token_bucket.acquire(100, block=False) + + def test_can_retrieve_at_max_send_rate(self): + self.timestamp_sequences.extend([ + # Request a new token every 100ms (10 TPS) for 2 seconds. + 1 + 0.1 * i for i in range(20) + ]) + token_bucket = self.create_token_bucket(max_rate=10) + for _ in range(20): + self.assertTrue(token_bucket.acquire(1, block=False)) + + def test_acquiring_blocks_when_capacity_reached(self): + # This is 1 token every 0.1 seconds. + token_bucket = self.create_token_bucket(max_rate=10) + self.timestamp_sequences.extend([ + # The first acquire() happens after .1 seconds. + 0.1, + # The second acquire() will fail because we get tokens at + # 1 per 0.1 seconds. We will then sleep for 0.05 seconds until we + # get a new token. + 0.15, + # And at 0.2 seconds we get our token. + 0.2, + # And at 0.3 seconds we have no issues getting a token. + # Because we're using such small units (to avoid bloating the + # test run time), we have to go slightly over 0.3 seconds here. + 0.300001, + ]) + self.assertTrue(token_bucket.acquire(1, block=False)) + self.assertEqual(token_bucket.available_capacity, 0) + self.assertTrue(token_bucket.acquire(1, block=True)) + self.assertEqual(token_bucket.available_capacity, 0) + self.assertTrue(token_bucket.acquire(1, block=False)) + + def test_rate_cant_go_below_min(self): + token_bucket = self.create_token_bucket(max_rate=1, min_rate=0.2) + self.timestamp_sequences.append(1) + token_bucket.max_rate = 0.1 + self.assertEqual(token_bucket.max_rate, 0.2) + self.assertEqual(token_bucket.max_capacity, 1) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_quota.py python-botocore-1.16.19+repack/tests/unit/retries/test_quota.py --- python-botocore-1.4.70/tests/unit/retries/test_quota.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_quota.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,35 @@ +from tests import unittest + + +from botocore.retries import quota + + +class TestRetryQuota(unittest.TestCase): + def setUp(self): + self.retry_quota = quota.RetryQuota(50) + + def test_can_acquire_amount(self): + self.assertTrue(self.retry_quota.acquire(5)) + self.assertEqual(self.retry_quota.available_capacity, 45) + + def test_can_release_amount(self): + self.assertTrue(self.retry_quota.acquire(5)) + self.assertEqual(self.retry_quota.available_capacity, 45) + self.retry_quota.release(5) + self.assertEqual(self.retry_quota.available_capacity, 50) + + def test_cant_exceed_max_capacity(self): + self.assertTrue(self.retry_quota.acquire(5)) + self.assertEqual(self.retry_quota.available_capacity, 45) + self.retry_quota.release(10) + self.assertEqual(self.retry_quota.available_capacity, 50) + + def test_noop_if_at_max_capacity(self): + self.retry_quota.release(10) + self.assertEqual(self.retry_quota.available_capacity, 50) + + def test_cant_go_below_zero(self): + self.assertTrue(self.retry_quota.acquire(49)) + self.assertEqual(self.retry_quota.available_capacity, 1) + self.assertFalse(self.retry_quota.acquire(10)) + self.assertEqual(self.retry_quota.available_capacity, 1) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_special.py python-botocore-1.16.19+repack/tests/unit/retries/test_special.py --- python-botocore-1.4.70/tests/unit/retries/test_special.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_special.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,121 @@ +from tests import unittest + +import mock +from nose.tools import assert_equal, assert_is_instance + +from botocore.compat import six +from botocore.awsrequest import AWSResponse +from botocore.retries import standard, special + + +def create_fake_op_model(service_name): + model = mock.Mock() + model.service_model.service_name = service_name + return model + + +class TestRetryIDPCommunicationError(unittest.TestCase): + def setUp(self): + self.checker = special.RetryIDPCommunicationError() + + def test_only_retries_error_for_sts(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('s3'), + parsed_response={ + 'Error': {'Code': 'IDPCommunicationError', + 'Message': 'message'}}, + http_response=AWSResponse( + status_code=400, raw=None, headers={}, + url='https://foo'), + caught_exception=None, ) + self.assertFalse(self.checker.is_retryable(context)) + + def test_can_retry_idp_communication_error(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('sts'), + parsed_response={ + 'Error': {'Code': 'IDPCommunicationError', + 'Message': 'message'}}, + http_response=AWSResponse( + status_code=400, raw=None, headers={}, + url='https://foo'), + caught_exception=None, ) + self.assertTrue(self.checker.is_retryable(context)) + + def test_not_idp_communication_error(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('sts'), + parsed_response={ + 'Error': {'Code': 'NotIDPCommunicationError', + 'Message': 'message'}}, + http_response=AWSResponse( + status_code=400, raw=None, headers={}, + url='https://foo'), + caught_exception=None, ) + self.assertFalse(self.checker.is_retryable(context)) + + +class TestRetryDDBChecksumError(unittest.TestCase): + def setUp(self): + self.checker = special.RetryDDBChecksumError() + + def raw_stream(self, contents): + raw = mock.Mock() + raw.stream.return_value = [contents] + return raw + + def test_checksum_not_in_header(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('dynamodb'), + parsed_response={ + 'Anything': ["foo"], + }, + http_response=AWSResponse( + status_code=200, raw=self.raw_stream(b'foo'), + headers={}, + url='https://foo'), + caught_exception=None, + ) + self.assertFalse(self.checker.is_retryable(context)) + + def test_checksum_matches(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('dynamodb'), + parsed_response={ + 'Anything': ["foo"], + }, + http_response=AWSResponse( + status_code=200, raw=self.raw_stream(b'foo'), + headers={'x-amz-crc32': '2356372769'}, + url='https://foo'), + caught_exception=None + ) + self.assertFalse(self.checker.is_retryable(context)) + + def test_checksum_not_matches(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('dynamodb'), + parsed_response={ + 'Anything': ["foo"], + }, + http_response=AWSResponse( + status_code=200, raw=self.raw_stream(b'foo'), + headers={'x-amz-crc32': '2356372768'}, + url='https://foo'), + caught_exception=None + ) + self.assertTrue(self.checker.is_retryable(context)) + + def test_checksum_check_only_for_dynamodb(self): + context = standard.RetryContext( + attempt_number=1, operation_model=create_fake_op_model('s3'), + parsed_response={ + 'Anything': ["foo"], + }, + http_response=AWSResponse( + status_code=200, raw=self.raw_stream(b'foo'), + headers={'x-amz-crc32': '2356372768'}, + url='https://foo'), + caught_exception=None + ) + self.assertFalse(self.checker.is_retryable(context)) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_standard.py python-botocore-1.16.19+repack/tests/unit/retries/test_standard.py --- python-botocore-1.4.70/tests/unit/retries/test_standard.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_standard.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,677 @@ +from tests import unittest + +import mock +from nose.tools import assert_equal, assert_is_instance + +from botocore.retries import standard +from botocore.retries import quota +from botocore import model +from botocore.awsrequest import AWSResponse +from botocore.exceptions import HTTPClientError, ConnectionError +from botocore.exceptions import ReadTimeoutError + + +RETRYABLE_THROTTLED_RESPONSES = [ + # From the spec under "Throttling Errors" + # The status codes technically don't matter here, but we're adding + # them for completeness. + + # StatusCode, ErrorCode, Retryable? + (400, 'Throttling', True), + (400, 'ThrottlingException', True), + (400, 'ThrottledException', True), + (400, 'RequestThrottledException', True), + (400, 'TooManyRequestsException', True), + (400, 'ProvisionedThroughputExceededException', True), + (503, 'RequestLimitExceeded', True), + (509, 'BandwidthLimitExceeded', True), + (400, 'LimitExceededException', True), + (403, 'RequestThrottled', True), + (503, 'SlowDown', True), + (503, 'SlowDown', True), + (400, 'PriorRequestNotComplete', True), + (502, 'EC2ThrottledException', True), + + # These are some negative test cases, not in the spec but we'll use + # to verify we can detect throttled errors correctly. + (400, 'NotAThrottlingError', False), + (500, 'InternalServerError', False), + # "None" here represents no parsed response we just have a plain + # HTTP response and a 400 status code response. + (400, None, False), + (500, None, False), + (200, None, False), +] + +RETRYABLE_TRANSIENT_ERRORS = [ + # StatusCode, Error, Retryable? + (400, 'RequestTimeout', True), + (400, 'RequestTimeoutException', True), + (400, 'PriorRequestNotComplete', True), + + # "Any HTTP response with an HTTP status code of 500, 502, 503, or 504". + (500, None, True), + (502, None, True), + (503, None, True), + (504, None, True), + # We'll also add a few errors with an explicit error code to verify + # that the code doesn't matter. + (500, 'InternalServiceError', True), + (502, 'BadError', True), + # These are botocore specific errors that correspond to + # "Any IO (socket) level error where we are unable to read an HTTP + # response. + (None, ConnectionError(error='unknown'), True), + (None, HTTPClientError(error='unknown'), True), + + # Negative cases + (200, None, False), + # This is a throttling error not a transient error + (400, 'Throttling', False), + (400, None, False), +] + + +# These tests are intended to be paired with the +# SERVICE_DESCRIPTION_WITH_RETRIES definition. +RETRYABLE_MODELED_ERRORS = [ + (400, 'ModeledThrottlingError', True), + (400, 'ModeledRetryableError', True), + # Note this is ErrorCodeRetryable, not ModeledRetryableErrorWithCode, + # because the shape has a error code defined for it. + (400, 'ErrorCodeRetryable', True), + (400, 'NonRetryableError', False), + (None, ConnectionError(error='unknown'), False), +] + + +SERVICE_DESCRIPTION_WITH_RETRIES = { + 'metadata': {}, + 'operations': { + 'TestOperation': { + 'name': 'TestOperation', + 'input': {'shape': 'FakeInputOutputShape'}, + 'output': {'shape': 'FakeInputOutputShape'}, + 'errors': [ + {'shape': 'ModeledThrottlingError'}, + {'shape': 'ModeledRetryableError'}, + {'shape': 'ModeledRetryableErrorWithCode'}, + {'shape': 'NonRetryableError'}, + ] + } + }, + 'shapes': { + 'FakeInputOutputShape': { + 'type': 'structure', + 'members': {}, + }, + 'ModeledThrottlingError': { + 'type': 'structure', + 'members': { + 'message': { + 'shape': 'ErrorMessage', + } + }, + 'exception': True, + 'retryable': {'throttling': True} + }, + 'ModeledRetryableError': { + 'type': 'structure', + 'members': { + 'message': { + 'shape': 'ErrorMessage', + } + }, + 'exception': True, + 'retryable': {} + }, + 'ModeledRetryableErrorWithCode': { + 'type': 'structure', + 'members': { + 'message': { + 'shape': 'ErrorMessage', + } + }, + 'error': { + 'code': 'ErrorCodeRetryable', + }, + 'exception': True, + 'retryable': {'throttling': True} + }, + 'NonRetryableError': { + 'type': 'structure', + 'members': { + 'message': { + 'shape': 'ErrorMessage', + } + }, + 'exception': True, + }, + }, +} + + +def test_can_detect_retryable_transient_errors(): + transient_checker = standard.TransientRetryableChecker() + for case in RETRYABLE_TRANSIENT_ERRORS: + yield (_verify_retryable, transient_checker, None) + case + + +def test_can_detect_retryable_throttled_errors(): + throttled_checker = standard.ThrottledRetryableChecker() + for case in RETRYABLE_THROTTLED_RESPONSES: + yield (_verify_retryable, throttled_checker, None) + case + + +def test_can_detect_modeled_retryable_errors(): + modeled_retry_checker = standard.ModeledRetryableChecker() + test_params = (_verify_retryable, modeled_retry_checker, + get_operation_model_with_retries()) + for case in RETRYABLE_MODELED_ERRORS: + test_case = test_params + case + yield test_case + + +def test_standard_retry_conditions(): + # This is verifying that the high level object used for checking + # retry conditions still handles all the individual testcases. + standard_checker = standard.StandardRetryConditions() + op_model = get_operation_model_with_retries() + all_cases = ( + RETRYABLE_TRANSIENT_ERRORS + RETRYABLE_THROTTLED_RESPONSES + + RETRYABLE_MODELED_ERRORS) + # It's possible that cases that are retryable for an individual checker + # are retryable for a different checker. We need to filter out all + # the False cases. + all_cases = [c for c in all_cases if c[2]] + test_params = (_verify_retryable, standard_checker, op_model) + for case in all_cases: + yield test_params + case + + +def get_operation_model_with_retries(): + service = model.ServiceModel(SERVICE_DESCRIPTION_WITH_RETRIES, + service_name='my-service') + return service.operation_model('TestOperation') + + +def _verify_retryable(checker, operation_model, + status_code, error, is_retryable): + http_response = AWSResponse(status_code=status_code, + raw=None, headers={}, url='https://foo/') + parsed_response = None + caught_exception = None + if error is not None: + if isinstance(error, Exception): + caught_exception = error + else: + parsed_response = {'Error': {'Code': error, 'Message': 'Error'}} + context = standard.RetryContext( + attempt_number=1, + operation_model=operation_model, + parsed_response=parsed_response, + http_response=http_response, + caught_exception=caught_exception, + ) + assert_equal(checker.is_retryable(context), is_retryable) + + +def arbitrary_retry_context(): + # Used when you just need a dummy retry context that looks like + # a failed request. + return standard.RetryContext( + attempt_number=1, + operation_model=None, + parsed_response={'Error': {'Code': 'ErrorCode', 'Message': 'message'}}, + http_response=AWSResponse(status_code=500, + raw=None, headers={}, url='https://foo'), + caught_exception=None, + ) + + +def test_can_honor_max_attempts(): + checker = standard.MaxAttemptsChecker(max_attempts=3) + context = arbitrary_retry_context() + context.attempt_number = 1 + assert_equal(checker.is_retryable(context), True) + + context.attempt_number = 2 + assert_equal(checker.is_retryable(context), True) + + context.attempt_number = 3 + assert_equal(checker.is_retryable(context), False) + + +def test_max_attempts_adds_metadata_key_when_reached(): + checker = standard.MaxAttemptsChecker(max_attempts=3) + context = arbitrary_retry_context() + context.attempt_number = 3 + assert_equal(checker.is_retryable(context), False) + assert_equal(context.get_retry_metadata(), {'MaxAttemptsReached': True}) + + +def test_can_create_default_retry_handler(): + mock_client = mock.Mock() + mock_client.meta.service_model.service_id = model.ServiceId('my-service') + assert_is_instance(standard.register_retry_handler(mock_client), + standard.RetryHandler) + call_args_list = mock_client.meta.events.register.call_args_list + # We should have registered the retry quota to after-calls + first_call = call_args_list[0][0] + second_call = call_args_list[1][0] + # Not sure if there's a way to verify the class associated with the + # bound method matches what we expect. + assert_equal(first_call[0], 'after-call.my-service') + assert_equal(second_call[0], 'needs-retry.my-service') + + +class TestRetryHandler(unittest.TestCase): + def setUp(self): + self.retry_policy = mock.Mock(spec=standard.RetryPolicy) + self.retry_event_adapter = mock.Mock(spec=standard.RetryEventAdapter) + self.retry_quota = mock.Mock(spec=standard.RetryQuotaChecker) + self.retry_handler = standard.RetryHandler( + retry_policy=self.retry_policy, + retry_event_adapter=self.retry_event_adapter, + retry_quota=self.retry_quota + ) + + def test_does_need_retry(self): + self.retry_event_adapter.create_retry_context.return_value = \ + mock.sentinel.retry_context + self.retry_policy.should_retry.return_value = True + self.retry_quota.acquire_retry_quota.return_value = True + self.retry_policy.compute_retry_delay.return_value = 1 + + self.assertEqual( + self.retry_handler.needs_retry(fake_kwargs='foo'), 1) + self.retry_event_adapter.create_retry_context.assert_called_with( + fake_kwargs='foo') + self.retry_policy.should_retry.assert_called_with( + mock.sentinel.retry_context) + self.retry_quota.acquire_retry_quota.assert_called_with( + mock.sentinel.retry_context) + self.retry_policy.compute_retry_delay.assert_called_with( + mock.sentinel.retry_context) + + def test_does_not_need_retry(self): + self.retry_event_adapter.create_retry_context.return_value = \ + mock.sentinel.retry_context + self.retry_policy.should_retry.return_value = False + + self.assertIsNone(self.retry_handler.needs_retry(fake_kwargs='foo')) + # Shouldn't consult quota if we don't have a retryable condition. + self.assertFalse(self.retry_quota.acquire_retry_quota.called) + + def test_needs_retry_but_not_enough_quota(self): + self.retry_event_adapter.create_retry_context.return_value = \ + mock.sentinel.retry_context + self.retry_policy.should_retry.return_value = True + self.retry_quota.acquire_retry_quota.return_value = False + + self.assertIsNone(self.retry_handler.needs_retry(fake_kwargs='foo')) + + def test_retry_handler_adds_retry_metadata_to_response(self): + self.retry_event_adapter.create_retry_context.return_value = \ + mock.sentinel.retry_context + self.retry_policy.should_retry.return_value = False + self.assertIsNone(self.retry_handler.needs_retry(fake_kwargs='foo')) + adapter = self.retry_event_adapter + adapter.adapt_retry_response_from_context.assert_called_with( + mock.sentinel.retry_context) + + +class TestRetryEventAdapter(unittest.TestCase): + def setUp(self): + self.success_response = {'ResponseMetadata': {}, 'Foo': {}} + self.failed_response = {'ResponseMetadata': {}, 'Error': {}} + self.http_success = AWSResponse( + status_code=200, raw=None, headers={}, url='https://foo/') + self.http_failed = AWSResponse( + status_code=500, raw=None, headers={}, url='https://foo/') + self.caught_exception = ConnectionError(error='unknown') + + def test_create_context_from_success_response(self): + context = standard.RetryEventAdapter().create_retry_context( + response=(self.http_success, self.success_response), + attempts=1, + caught_exception=None, + request_dict={'context': {'foo': 'bar'}}, + operation=mock.sentinel.operation_model, + ) + + self.assertEqual(context.attempt_number, 1) + self.assertEqual(context.operation_model, + mock.sentinel.operation_model) + self.assertEqual(context.parsed_response, self.success_response) + self.assertEqual(context.http_response, self.http_success) + self.assertEqual(context.caught_exception, None) + self.assertEqual(context.request_context, {'foo': 'bar'}) + + def test_create_context_from_service_error(self): + context = standard.RetryEventAdapter().create_retry_context( + response=(self.http_failed, self.failed_response), + attempts=1, + caught_exception=None, + request_dict={'context': {'foo': 'bar'}}, + operation=mock.sentinel.operation_model, + ) + # We already tested the other attributes in + # test_create_context_from_success_response so we're only checking + # the attributes relevant to this test. + self.assertEqual(context.parsed_response, self.failed_response) + self.assertEqual(context.http_response, self.http_failed) + + def test_create_context_from_exception(self): + context = standard.RetryEventAdapter().create_retry_context( + response=None, + attempts=1, + caught_exception=self.caught_exception, + request_dict={'context': {'foo': 'bar'}}, + operation=mock.sentinel.operation_model, + ) + self.assertEqual(context.parsed_response, None) + self.assertEqual(context.http_response, None) + self.assertEqual(context.caught_exception, self.caught_exception) + + def test_can_inject_metadata_back_to_context(self): + adapter = standard.RetryEventAdapter() + context = adapter.create_retry_context( + attempts=1, + operation=None, + caught_exception=None, + request_dict={'context': {}}, + response=(self.http_failed, self.failed_response) + ) + context.add_retry_metadata(MaxAttemptsReached=True) + adapter.adapt_retry_response_from_context(context) + self.assertEqual( + self.failed_response['ResponseMetadata']['MaxAttemptsReached'], + True + ) + + +class TestRetryPolicy(unittest.TestCase): + def setUp(self): + self.retry_checker = mock.Mock(spec=standard.StandardRetryConditions) + self.retry_backoff = mock.Mock(spec=standard.ExponentialBackoff) + self.retry_policy = standard.RetryPolicy( + retry_checker=self.retry_checker, + retry_backoff=self.retry_backoff) + + def test_delegates_to_retry_checker(self): + self.retry_checker.is_retryable.return_value = True + self.assertTrue(self.retry_policy.should_retry(mock.sentinel.context)) + self.retry_checker.is_retryable.assert_called_with( + mock.sentinel.context) + + def test_delegates_to_retry_backoff(self): + self.retry_backoff.delay_amount.return_value = 1 + self.assertEqual( + self.retry_policy.compute_retry_delay(mock.sentinel.context), 1) + self.retry_backoff.delay_amount.assert_called_with( + mock.sentinel.context) + + +class TestExponentialBackoff(unittest.TestCase): + def setUp(self): + self.random = lambda: 1 + self.backoff = standard.ExponentialBackoff(max_backoff=20, + random=self.random) + + def test_range_of_exponential_backoff(self): + backoffs = [ + self.backoff.delay_amount(standard.RetryContext(attempt_number=i)) + for i in range(1, 10) + ] + # Note that we're capped at 20 which is our max backoff. + self.assertEqual(backoffs, + [1, 2, 4, 8, 16, 20, 20, 20, 20]) + + def test_exponential_backoff_with_jitter(self): + backoff = standard.ExponentialBackoff() + backoffs = [ + backoff.delay_amount(standard.RetryContext(attempt_number=3)) + for i in range(10) + ] + # For attempt number 3, we should have a max value of 4 (2 ^ 2), + # so we can assert all the backoff values are within that range. + for x in backoffs: + self.assertTrue(0 <= x <= 4) + + +class TestRetryQuotaChecker(unittest.TestCase): + def setUp(self): + self.quota = quota.RetryQuota(500) + self.quota_checker = standard.RetryQuotaChecker(self.quota) + self.request_context = {} + + def create_context(self, is_timeout_error=False, status_code=200): + caught_exception = None + if is_timeout_error: + caught_exception = ReadTimeoutError(endpoint_url='https://foo') + http_response = AWSResponse(status_code=status_code, raw=None, + headers={}, url='https://foo/') + context = standard.RetryContext( + attempt_number=1, + request_context=self.request_context, + caught_exception=caught_exception, + http_response=http_response, + ) + return context + + def test_can_acquire_quota_non_timeout_error(self): + self.assertTrue( + self.quota_checker.acquire_retry_quota(self.create_context()) + ) + self.assertEqual(self.request_context['retry_quota_capacity'], 5) + + def test_can_acquire_quota_for_timeout_error(self): + self.assertTrue( + self.quota_checker.acquire_retry_quota( + self.create_context(is_timeout_error=True)) + ) + self.assertEqual(self.request_context['retry_quota_capacity'], 10) + + def test_can_release_quota_based_on_context_value_on_success(self): + context = self.create_context() + # This is where we had to retry the request but eventually + # succeeded. + http_response = self.create_context(status_code=200).http_response + self.assertTrue( + self.quota_checker.acquire_retry_quota(context) + ) + self.assertEqual(self.quota.available_capacity, 495) + self.quota_checker.release_retry_quota(context.request_context, + http_response=http_response) + self.assertEqual(self.quota.available_capacity, 500) + + def test_dont_release_quota_if_all_retries_failed(self): + context = self.create_context() + # If max_attempts_reached is True, then it means we used up all + # our retry attempts and still failed. In this case we shouldn't + # give any retry quota back. + http_response = self.create_context(status_code=500).http_response + self.assertTrue( + self.quota_checker.acquire_retry_quota(context) + ) + self.assertEqual(self.quota.available_capacity, 495) + self.quota_checker.release_retry_quota(context.request_context, + http_response=http_response) + self.assertEqual(self.quota.available_capacity, 495) + + def test_can_release_default_quota_if_not_in_context(self): + context = self.create_context() + self.assertTrue( + self.quota_checker.acquire_retry_quota(context) + ) + self.assertEqual(self.quota.available_capacity, 495) + # We're going to remove the quota amount from the request context. + # This represents a successful request with no retries. + self.request_context.pop('retry_quota_capacity') + self.quota_checker.release_retry_quota(context.request_context, + context.http_response) + # We expect only 1 unit was released. + self.assertEqual(self.quota.available_capacity, 496) + + def test_acquire_quota_fails(self): + quota_checker = standard.RetryQuotaChecker( + quota.RetryQuota(initial_capacity=5)) + # The first one succeeds. + self.assertTrue( + quota_checker.acquire_retry_quota(self.create_context()) + ) + # But we should fail now because we're out of quota. + self.request_context.pop('retry_quota_capacity') + self.assertFalse( + quota_checker.acquire_retry_quota(self.create_context()) + ) + self.assertNotIn('retry_quota_capacity', self.request_context) + + def test_quota_reached_adds_retry_metadata(self): + quota_checker = standard.RetryQuotaChecker( + quota.RetryQuota(initial_capacity=0)) + context = self.create_context() + self.assertFalse(quota_checker.acquire_retry_quota(context)) + self.assertEqual( + context.get_retry_metadata(), + {'RetryQuotaReached': True} + ) + + def test_single_failed_request_does_not_give_back_quota(self): + context = self.create_context() + http_response = self.create_context(status_code=400).http_response + # First deduct some amount of the retry quota so we're not hitting + # the upper bound. + self.quota.acquire(50) + self.assertEqual(self.quota.available_capacity, 450) + self.quota_checker.release_retry_quota(context.request_context, + http_response=http_response) + self.assertEqual(self.quota.available_capacity, 450) + + +class TestRetryContext(unittest.TestCase): + def test_can_get_error_code(self): + context = arbitrary_retry_context() + context.parsed_response['Error']['Code'] = 'MyErrorCode' + self.assertEqual(context.get_error_code(), 'MyErrorCode') + + def test_no_error_code_if_no_parsed_response(self): + context = arbitrary_retry_context() + context.parsed_response = None + self.assertIsNone(context.get_error_code()) + + def test_no_error_code_returns_none(self): + context = arbitrary_retry_context() + context.parsed_response = {} + self.assertIsNone(context.get_error_code()) + + def test_can_add_retry_reason(self): + context = arbitrary_retry_context() + context.add_retry_metadata(MaxAttemptsReached=True) + self.assertEqual(context.get_retry_metadata(), + {'MaxAttemptsReached': True}) + + +class TestThrottlingErrorDetector(unittest.TestCase): + def setUp(self): + self.throttling_detector = standard.ThrottlingErrorDetector( + standard.RetryEventAdapter()) + + def create_needs_retry_kwargs(self, **kwargs): + retry_kwargs = { + 'response': None, + 'attempts': 1, + 'operation': None, + 'caught_exception': None, + 'request_dict': {'context': {}}, + } + retry_kwargs.update(kwargs) + return retry_kwargs + + def test_can_check_error_from_code(self): + kwargs = self.create_needs_retry_kwargs() + kwargs['response'] = (None, {'Error': {'Code': 'ThrottledException'}}) + self.assertTrue( + self.throttling_detector.is_throttling_error(**kwargs) + ) + + def test_no_throttling_error(self): + kwargs = self.create_needs_retry_kwargs() + kwargs['response'] = (None, {'Error': {'Code': 'RandomError'}}) + self.assertFalse( + self.throttling_detector.is_throttling_error(**kwargs) + ) + + def test_detects_modeled_errors(self): + kwargs = self.create_needs_retry_kwargs() + kwargs['response'] = ( + None, {'Error': {'Code': 'ModeledThrottlingError'}} + ) + kwargs['operation'] = get_operation_model_with_retries() + self.assertTrue( + self.throttling_detector.is_throttling_error(**kwargs) + ) + + +class TestModeledRetryErrorDetector(unittest.TestCase): + def setUp(self): + self.modeled_error = standard.ModeledRetryErrorDetector() + + def test_not_retryable(self): + context = arbitrary_retry_context() + self.assertIsNone(self.modeled_error.detect_error_type(context)) + + def test_transient_error(self): + context = arbitrary_retry_context() + context.parsed_response['Error']['Code'] = 'ModeledRetryableError' + context.operation_model = get_operation_model_with_retries() + self.assertEqual( + self.modeled_error.detect_error_type(context), + self.modeled_error.TRANSIENT_ERROR + ) + + def test_throttling_error(self): + context = arbitrary_retry_context() + context.parsed_response['Error']['Code'] = 'ModeledThrottlingError' + context.operation_model = get_operation_model_with_retries() + self.assertEqual( + self.modeled_error.detect_error_type(context), + self.modeled_error.THROTTLING_ERROR + ) + + +class Yes(standard.BaseRetryableChecker): + def is_retryable(self, context): + return True + + +class No(standard.BaseRetryableChecker): + def is_retryable(self, context): + return False + + +class TestOrRetryChecker(unittest.TestCase): + def test_can_match_any_checker(self): + self.assertTrue( + standard.OrRetryChecker( + [Yes(), No()] + ) + ) + self.assertTrue( + standard.OrRetryChecker( + [No(), Yes()] + ) + ) + self.assertTrue( + standard.OrRetryChecker( + [Yes(), Yes()] + ) + ) + + def test_false_if_no_checkers_match(self): + self.assertTrue( + standard.OrRetryChecker( + [No(), No(), No()] + ) + ) diff -Nru python-botocore-1.4.70/tests/unit/retries/test_throttling.py python-botocore-1.16.19+repack/tests/unit/retries/test_throttling.py --- python-botocore-1.4.70/tests/unit/retries/test_throttling.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/retries/test_throttling.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,71 @@ +from tests import unittest + + +from botocore.retries import throttling + + +class TestCubicCalculator(unittest.TestCase): + def create_cubic_calculator(self, starting_max_rate=10, beta=0.7, + scale_constant=0.4): + return throttling.CubicCalculator(starting_max_rate=starting_max_rate, + scale_constant=scale_constant, + start_time=0, beta=beta) + + # For these tests, rather than duplicate the formulas in the tests, + # I want to check against a fixed set of inputs with by-hand verified + # values to ensure we're doing the calculations correctly. + + def test_starting_params(self): + cubic = self.create_cubic_calculator(starting_max_rate=10) + self.assertAlmostEqual( + cubic.get_params_snapshot().k, 1.9574338205844317 + ) + + def test_success_responses_until_max_hit(self): + # For this test we're interested in the behavior less so than + # the specific numbers. There's a few cases we care about: + # + cubic = self.create_cubic_calculator(starting_max_rate=10) + params = cubic.get_params_snapshot() + start_k = params.k + start_w_max = params.w_max + # Before we get to t == start_k, our throttle is below our + # max w_max + assertLessEqual = self.assertLessEqual + assertLessEqual(cubic.success_received(start_k / 3.0), start_w_max) + assertLessEqual(cubic.success_received(start_k / 2.0), start_w_max) + assertLessEqual(cubic.success_received(start_k / 1.1), start_w_max) + # At t == start_k, we should be at w_max. + self.assertAlmostEqual(cubic.success_received(timestamp=start_k), 10.0) + # And once we pass start_k, we'll be above w_max. + self.assertGreaterEqual( + cubic.success_received(start_k * 1.1), start_w_max) + self.assertGreaterEqual( + cubic.success_received(start_k * 2.0), start_w_max) + + def test_error_response_decreases_rate_by_beta(self): + # This is the default value here so we're just being explicit. + cubic = self.create_cubic_calculator(starting_max_rate=10, beta=0.7) + + # So let's say we made it up to 8 TPS before we were throttled. + rate_when_throttled = 8 + new_rate = cubic.error_received(current_rate=rate_when_throttled, + timestamp=1) + self.assertAlmostEqual(new_rate, rate_when_throttled * 0.7) + + new_params = cubic.get_params_snapshot() + self.assertEqual( + new_params, + throttling.CubicParams(w_max=rate_when_throttled, + k=1.8171205928321397, + last_fail=1) + ) + + def test_t_0_should_match_beta_decrease(self): + # So if I have beta of 0.6 + cubic = self.create_cubic_calculator(starting_max_rate=10, beta=0.6) + # When I get throttled I should decrease my rate by 60%. + new_rate = cubic.error_received(current_rate=10, timestamp=1) + self.assertEqual(new_rate, 6.0) + # And my starting rate at time t=1 should start at that new rate. + self.assertAlmostEqual(cubic.success_received(timestamp=1), 6.0) diff -Nru python-botocore-1.4.70/tests/unit/test_args.py python-botocore-1.16.19+repack/tests/unit/test_args.py --- python-botocore-1.4.70/tests/unit/test_args.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_args.py 2020-05-28 19:26:10.000000000 +0000 @@ -11,117 +11,361 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. +import socket + import botocore.config from tests import unittest import mock from botocore import args +from botocore import exceptions +from botocore.client import ClientEndpointBridge from botocore.config import Config +from botocore.configprovider import ConfigValueStore +from botocore.hooks import HierarchicalEmitter +from botocore.model import ServiceModel class TestCreateClientArgs(unittest.TestCase): def setUp(self): - self.args_create = args.ClientArgsCreator(None, None, None, None) + self.event_emitter = mock.Mock(HierarchicalEmitter) + self.config_store = ConfigValueStore() + self.args_create = args.ClientArgsCreator( + self.event_emitter, None, None, None, None, self.config_store) + self.service_name = 'ec2' + self.region = 'us-west-2' + self.endpoint_url = 'https://ec2/' + self.service_model = self._get_service_model() + self.bridge = mock.Mock(ClientEndpointBridge) + self._set_endpoint_bridge_resolve() + self.default_socket_options = [ + (socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + ] + + def _get_service_model(self, service_name=None): + if service_name is None: + service_name = self.service_name + service_model = mock.Mock(ServiceModel) + service_model.service_name = service_name + service_model.endpoint_prefix = service_name + service_model.metadata = { + 'serviceFullName': 'MyService', + 'protocol': 'query' + } + service_model.operation_names = [] + return service_model - def test_compute_s3_configuration(self): - scoped_config = {} - client_config = None - self.assertIsNone( - self.args_create.compute_s3_config( - scoped_config, client_config)) + def _set_endpoint_bridge_resolve(self, **override_kwargs): + ret_val = { + 'region_name': self.region, + 'signature_version': 'v4', + 'endpoint_url': self.endpoint_url, + 'signing_name': self.service_name, + 'signing_region': self.region, + 'metadata': {} + } + ret_val.update(**override_kwargs) + self.bridge.resolve.return_value = ret_val - def test_compute_s3_config_only_scoped_config(self): - scoped_config = { - 's3': {'use_accelerate_endpoint': True}, + def call_get_client_args(self, **override_kwargs): + call_kwargs = { + 'service_model': self.service_model, + 'region_name': self.region, + 'is_secure': True, + 'endpoint_url': self.endpoint_url, + 'verify': True, + 'credentials': None, + 'scoped_config': {}, + 'client_config': None, + 'endpoint_bridge': self.bridge } - client_config = None - self.assertEqual( - self.args_create.compute_s3_config(scoped_config, client_config), - {'use_accelerate_endpoint': True} + call_kwargs.update(**override_kwargs) + return self.args_create.get_client_args(**call_kwargs) + + def assert_create_endpoint_call(self, mock_endpoint, **override_kwargs): + call_kwargs = { + 'endpoint_url': self.endpoint_url, + 'region_name': self.region, + 'response_parser_factory': None, + 'timeout': (60, 60), + 'verify': True, + 'max_pool_connections': 10, + 'proxies': None, + 'socket_options': self.default_socket_options, + 'client_cert': None, + } + call_kwargs.update(**override_kwargs) + mock_endpoint.return_value.create_endpoint.assert_called_with( + self.service_model, **call_kwargs ) - def test_client_s3_accelerate_from_varying_forms_of_true(self): - scoped_config= {'s3': {'use_accelerate_endpoint': 'True'}} - client_config = None + def test_compute_s3_configuration(self): + self.assertIsNone(self.args_create.compute_s3_config(None)) + def test_compute_s3_config_only_config_store(self): + self.config_store.set_config_variable( + 's3', {'use_accelerate_endpoint': True}) self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_accelerate_endpoint': 'True'}}, - client_config=None), - {'use_accelerate_endpoint': True} - ) - self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_accelerate_endpoint': 'true'}}, - client_config=None), - {'use_accelerate_endpoint': True} - ) - self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_accelerate_endpoint': True}}, - client_config=None), + self.args_create.compute_s3_config(None), {'use_accelerate_endpoint': True} ) def test_client_s3_accelerate_from_client_config(self): self.assertEqual( self.args_create.compute_s3_config( - scoped_config=None, client_config=Config(s3={'use_accelerate_endpoint': True}) ), {'use_accelerate_endpoint': True} ) - def test_client_s3_accelerate_client_config_overrides_scoped(self): + def test_client_s3_accelerate_client_config_overrides_config_store(self): + self.config_store.set_config_variable( + 's3', {'use_accelerate_endpoint': False}) self.assertEqual( self.args_create.compute_s3_config( - scoped_config={'s3': {'use_accelerate_endpoint': False}}, client_config=Config(s3={'use_accelerate_endpoint': True}) ), # client_config beats scoped_config {'use_accelerate_endpoint': True} ) - def test_client_s3_dualstack_handles_varying_forms_of_true(self): - scoped_config= {'s3': {'use_dualstack_endpoint': 'True'}} - client_config = None + def test_max_pool_from_client_config_forwarded_to_endpoint_creator(self): + config = botocore.config.Config(max_pool_connections=20) + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(client_config=config) + self.assert_create_endpoint_call(m, max_pool_connections=20) + + def test_proxies_from_client_config_forwarded_to_endpoint_creator(self): + proxies = {'http': 'http://foo.bar:1234', + 'https': 'https://foo.bar:4321'} + config = botocore.config.Config(proxies=proxies) + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(client_config=config) + self.assert_create_endpoint_call(m, proxies=proxies) + def test_s3_with_endpoint_url_still_resolves_region(self): + self.service_model.endpoint_prefix = 's3' + self.service_model.metadata = {'protocol': 'rest-xml'} + self.bridge.resolve.side_effect = [ + { + 'region_name': None, 'signature_version': 's3v4', + 'endpoint_url': 'http://other.com/', 'signing_name': 's3', + 'signing_region': None, 'metadata': {} + }, + { + 'region_name': 'us-west-2', 'signature_version': 's3v4', + 'enpoint_url': 'https://s3-us-west-2.amazonaws.com', + 'signing_name': 's3', 'signing_region': 'us-west-2', + 'metadata': {} + } + ] + client_args = self.call_get_client_args( + endpoint_url='http://other.com/') self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_dualstack_endpoint': 'True'}}, - client_config=None), - {'use_dualstack_endpoint': True} + client_args['client_config'].region_name, 'us-west-2') + + def test_region_does_not_resolve_if_not_s3_and_endpoint_url_provided(self): + self.service_model.endpoint_prefix = 'ec2' + self.service_model.metadata = {'protocol': 'query'} + self.bridge.resolve.side_effect = [{ + 'region_name': None, 'signature_version': 'v4', + 'endpoint_url': 'http://other.com/', 'signing_name': 'ec2', + 'signing_region': None, 'metadata': {} + }] + client_args = self.call_get_client_args( + endpoint_url='http://other.com/') + self.assertEqual(client_args['client_config'].region_name, None) + + def test_tcp_keepalive_enabled(self): + scoped_config = {'tcp_keepalive': 'true'} + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(scoped_config=scoped_config) + self.assert_create_endpoint_call( + m, socket_options=self.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + ] + ) + + def test_tcp_keepalive_not_specified(self): + scoped_config = {} + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(scoped_config=scoped_config) + self.assert_create_endpoint_call( + m, socket_options=self.default_socket_options) + + def test_tcp_keepalive_explicitly_disabled(self): + scoped_config = {'tcp_keepalive': 'false'} + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(scoped_config=scoped_config) + self.assert_create_endpoint_call( + m, socket_options=self.default_socket_options) + + def test_tcp_keepalive_enabled_case_insensitive(self): + scoped_config = {'tcp_keepalive': 'True'} + with mock.patch('botocore.args.EndpointCreator') as m: + self.call_get_client_args(scoped_config=scoped_config) + self.assert_create_endpoint_call( + m, socket_options=self.default_socket_options + [ + (socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + ] + ) + + def test_sts_override_resolved_endpoint_for_legacy_region(self): + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'legacy') + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=None ) self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_dualstack_endpoint': 'true'}}, - client_config=None), - {'use_dualstack_endpoint': True} + client_args['endpoint'].host, 'https://sts.amazonaws.com') + self.assertEqual( + client_args['request_signer'].region_name, 'us-east-1') + + def test_sts_use_resolved_endpoint_for_nonlegacy_region(self): + resolved_endpoint = 'https://resolved-endpoint' + resolved_region = 'resolved-region' + self._set_endpoint_bridge_resolve( + endpoint_url=resolved_endpoint, + signing_region=resolved_region ) + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'legacy') + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='ap-east-1', endpoint_url=None + ) + self.assertEqual(client_args['endpoint'].host, resolved_endpoint) self.assertEqual( - self.args_create.compute_s3_config( - {'s3': {'use_dualstack_endpoint': True}}, - client_config=None), - {'use_dualstack_endpoint': True} + client_args['request_signer'].region_name, resolved_region) + + def test_sts_use_resolved_endpoint_for_regional_configuration(self): + resolved_endpoint = 'https://resolved-endpoint' + resolved_region = 'resolved-region' + self._set_endpoint_bridge_resolve( + endpoint_url=resolved_endpoint, + signing_region=resolved_region + ) + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'regional') + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=None ) + self.assertEqual(client_args['endpoint'].host, resolved_endpoint) + self.assertEqual( + client_args['request_signer'].region_name, resolved_region) - def test_max_pool_from_client_config_forwarded_to_endpoint_creator(self): - args_create = args.ClientArgsCreator(mock.Mock(), None, None, None) - config = botocore.config.Config(max_pool_connections=20) - service_model = mock.Mock() - service_model.metadata = {'protocol': 'query'} - bridge = mock.Mock() - bridge.resolve.return_value = { - 'region_name': 'us-west-2', 'signature_version': 'v4', - 'endpoint_url': 'https://ec2/', - '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, - None, {}, config, bridge) - m.return_value.create_endpoint.assert_called_with( - mock.ANY, endpoint_url='https://ec2/', region_name='us-west-2', - response_parser_factory=None, timeout=(60, 60), verify=True, - max_pool_connections=20 + def test_sts_with_endpoint_override_and_legacy_configured(self): + override_endpoint = 'https://override-endpoint' + self._set_endpoint_bridge_resolve(endpoint_url=override_endpoint) + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'legacy') + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=override_endpoint + ) + self.assertEqual(client_args['endpoint'].host, override_endpoint) + + def test_sts_http_scheme_for_override_endpoint(self): + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'legacy') + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=None, is_secure=False, + + ) + self.assertEqual( + client_args['endpoint'].host, 'http://sts.amazonaws.com') + + def test_sts_regional_endpoints_defaults_to_legacy_if_not_set(self): + self.config_store.set_config_variable( + 'sts_regional_endpoints', None) + client_args = self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=None + ) + self.assertEqual( + client_args['endpoint'].host, 'https://sts.amazonaws.com') + self.assertEqual( + client_args['request_signer'].region_name, 'us-east-1') + + def test_invalid_sts_regional_endpoints(self): + self.config_store.set_config_variable( + 'sts_regional_endpoints', 'invalid') + with self.assertRaises( + exceptions.InvalidSTSRegionalEndpointsConfigError): + self.call_get_client_args( + service_model=self._get_service_model('sts'), + region_name='us-west-2', endpoint_url=None ) + + def test_provides_total_max_attempts(self): + config = botocore.config.Config(retries={'total_max_attempts': 10}) + client_args = self.call_get_client_args(client_config=config) + self.assertEqual( + client_args['client_config'].retries['total_max_attempts'], 10) + + def test_provides_total_max_attempts_has_precedence(self): + config = botocore.config.Config(retries={'total_max_attempts': 10, + 'max_attempts': 5}) + client_args = self.call_get_client_args(client_config=config) + self.assertEqual( + client_args['client_config'].retries['total_max_attempts'], 10) + self.assertNotIn('max_attempts', client_args['client_config'].retries) + + def test_provide_retry_config_maps_total_max_attempts(self): + config = botocore.config.Config(retries={'max_attempts': 10}) + client_args = self.call_get_client_args(client_config=config) + self.assertEqual( + client_args['client_config'].retries['total_max_attempts'], 11) + self.assertNotIn('max_attempts', client_args['client_config'].retries) + + def test_can_merge_max_attempts(self): + self.config_store.set_config_variable('max_attempts', 4) + config = self.call_get_client_args()['client_config'] + self.assertEqual(config.retries['total_max_attempts'], 4) + + def test_uses_config_value_if_present_for_max_attempts(self): + config = self.call_get_client_args( + client_config=Config(retries={'max_attempts': 2}) + )['client_config'] + self.assertEqual(config.retries['total_max_attempts'], 3) + + def test_uses_client_config_over_config_store_max_attempts(self): + self.config_store.set_config_variable('max_attempts', 4) + config = self.call_get_client_args( + client_config=Config(retries={'max_attempts': 2}) + )['client_config'] + self.assertEqual(config.retries['total_max_attempts'], 3) + + def test_uses_client_config_total_over_config_store_max_attempts(self): + self.config_store.set_config_variable('max_attempts', 4) + config = self.call_get_client_args( + client_config=Config(retries={'total_max_attempts': 2}) + )['client_config'] + self.assertEqual(config.retries['total_max_attempts'], 2) + + def test_max_attempts_unset_if_retries_is_none(self): + config = self.call_get_client_args( + client_config=Config(retries=None) + )['client_config'] + self.assertEqual(config.retries, {'mode': 'legacy'}) + + def test_retry_mode_set_on_config_store(self): + self.config_store.set_config_variable('retry_mode', 'standard') + config = self.call_get_client_args()['client_config'] + self.assertEqual(config.retries['mode'], 'standard') + + def test_retry_mode_set_on_client_config(self): + config = self.call_get_client_args( + client_config=Config(retries={'mode': 'standard'}) + )['client_config'] + self.assertEqual(config.retries['mode'], 'standard') + + def test_client_config_beats_config_store(self): + self.config_store.set_config_variable('retry_mode', 'adaptive') + config = self.call_get_client_args( + client_config=Config(retries={'mode': 'standard'}) + )['client_config'] + self.assertEqual(config.retries['mode'], 'standard') diff -Nru python-botocore-1.4.70/tests/unit/test_auth_sigv4.py python-botocore-1.16.19+repack/tests/unit/test_auth_sigv4.py --- python-botocore-1.4.70/tests/unit/test_auth_sigv4.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_auth_sigv4.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,33 @@ +# Copyright 2018 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 + +from botocore.auth import SigV4Auth +from botocore.awsrequest import AWSRequest +from botocore.credentials import Credentials + +SECRET_KEY = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY" +ACCESS_KEY = 'AKIDEXAMPLE' + + +class TestSigV4Auth(unittest.TestCase): + def setUp(self): + self.credentials = Credentials(ACCESS_KEY, SECRET_KEY) + self.sigv4 = SigV4Auth(self.credentials, 'host', 'us-weast-1') + + def test_signed_host_is_lowercase(self): + endpoint = 'https://S5.Us-WeAsT-2.AmAZonAwS.com' + expected_host = 's5.us-weast-2.amazonaws.com' + request = AWSRequest(method='GET', url=endpoint) + headers_to_sign = self.sigv4.headers_to_sign(request) + self.assertEqual(expected_host, headers_to_sign.get('host')) diff -Nru python-botocore-1.4.70/tests/unit/test_awsrequest.py python-botocore-1.16.19+repack/tests/unit/test_awsrequest.py --- python-botocore-1.4.70/tests/unit/test_awsrequest.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_awsrequest.py 2020-05-28 19:26:10.000000000 +0000 @@ -21,10 +21,11 @@ import sys from mock import Mock, patch +from urllib3.connectionpool import HTTPConnectionPool, HTTPSConnectionPool from botocore.exceptions import UnseekableStreamError -from botocore.awsrequest import AWSRequest, AWSPreparedRequest -from botocore.awsrequest import AWSHTTPConnection +from botocore.awsrequest import AWSRequest, AWSPreparedRequest, AWSResponse +from botocore.awsrequest import AWSHTTPConnection, AWSHTTPSConnection, HeadersDict from botocore.awsrequest import prepare_request_dict, create_request_object from botocore.compat import file_type, six @@ -98,53 +99,137 @@ class TestAWSRequest(unittest.TestCase): - def setUp(self): self.tempdir = tempfile.mkdtemp() - self.request = AWSRequest(url='http://example.com') - self.prepared_request = self.request.prepare() self.filename = os.path.join(self.tempdir, 'foo') + self.request = AWSRequest(method='GET', url='http://example.com') + self.prepared_request = self.request.prepare() def tearDown(self): shutil.rmtree(self.tempdir) - def test_should_reset_stream(self): + def test_prepared_request_repr(self): + expected_repr = ( + '' + ) + request_repr = repr(self.prepared_request) + self.assertEqual(request_repr, expected_repr) + + def test_can_prepare_url_params(self): + request = AWSRequest(url='http://example.com/', params={'foo': 'bar'}) + prepared_request = request.prepare() + self.assertEqual(prepared_request.url, 'http://example.com/?foo=bar') + + def test_can_prepare_dict_body(self): + body = {'dead': 'beef'} + request = AWSRequest(url='http://example.com/', data=body) + prepared_request = request.prepare() + self.assertEqual(prepared_request.body, 'dead=beef') + + def test_can_prepare_dict_body_unicode_values(self): + body = {'Text': u'\u30c6\u30b9\u30c8 string'} + expected_body = 'Text=%E3%83%86%E3%82%B9%E3%83%88+string' + request = AWSRequest(url='http://example.com/', data=body) + prepared_request = request.prepare() + self.assertEqual(prepared_request.body, expected_body) + + def test_can_prepare_dict_body_unicode_keys(self): + body = {u'\u30c6\u30b9\u30c8': 'string'} + expected_body = '%E3%83%86%E3%82%B9%E3%83%88=string' + request = AWSRequest(url='http://example.com/', data=body) + prepared_request = request.prepare() + self.assertEqual(prepared_request.body, expected_body) + + def test_can_prepare_empty_body(self): + request = AWSRequest(url='http://example.com/', data=b'') + prepared_request = request.prepare() + self.assertEqual(prepared_request.body, None) + content_length = prepared_request.headers.get('content-length') + self.assertEqual(content_length, '0') + + def test_request_body_is_prepared(self): + request = AWSRequest(url='http://example.com/', data='body') + self.assertEqual(request.body, b'body') + + def test_prepare_body_content_adds_content_length(self): + content = b'foobarbaz' + expected_len = str(len(content)) + with open(self.filename, 'wb') as f: + f.write(content) + with open(self.filename, 'rb') as f: + data = Seekable(f) + self.request.data = data + self.request.method = 'POST' + prepared_request = self.request.prepare() + calculated_len = prepared_request.headers['Content-Length'] + self.assertEqual(calculated_len, expected_len) + + def test_prepare_body_doesnt_override_content_length(self): + self.request.method = 'PUT' + self.request.headers['Content-Length'] = '20' + self.request.data = b'asdf' + prepared_request = self.request.prepare() + self.assertEqual(prepared_request.headers['Content-Length'], '20') + + def test_prepare_body_doesnt_set_content_length_head(self): + self.request.method = 'HEAD' + self.request.data = b'thisshouldntbehere' + prepared_request = self.request.prepare() + self.assertEqual(prepared_request.headers.get('Content-Length'), None) + + def test_prepare_body_doesnt_set_content_length_get(self): + self.request.method = 'GET' + self.request.data = b'thisshouldntbehere' + prepared_request = self.request.prepare() + self.assertEqual(prepared_request.headers.get('Content-Length'), None) + + def test_prepare_body_doesnt_set_content_length_options(self): + self.request.method = 'OPTIONS' + self.request.data = b'thisshouldntbehere' + prepared_request = self.request.prepare() + self.assertEqual(prepared_request.headers.get('Content-Length'), None) + + def test_can_reset_stream_handles_binary(self): + contents = b'notastream' + self.prepared_request.body = contents + self.prepared_request.reset_stream() + # assert the request body doesn't change after reset_stream is called + self.assertEqual(self.prepared_request.body, contents) + + def test_can_reset_stream_handles_bytearray(self): + contents = bytearray(b'notastream') + self.prepared_request.body = contents + self.prepared_request.reset_stream() + # assert the request body doesn't change after reset_stream is called + self.assertEqual(self.prepared_request.body, contents) + + def test_can_reset_stream(self): + contents = b'foobarbaz' with open(self.filename, 'wb') as f: - f.write(b'foobarbaz') + f.write(contents) with open(self.filename, 'rb') as body: self.prepared_request.body = body - - # Now pretend we try to send the request. - # This means that we read the body: + # pretend the request body was partially sent body.read() - # And create a response object that indicates - # a redirect. - fake_response = Mock() - fake_response.status_code = 307 - - # Then requests calls our reset_stream hook. - self.prepared_request.reset_stream_on_redirect(fake_response) - - # The stream should now be reset. + self.assertNotEqual(body.tell(), 0) + # have the prepared request reset its stream + self.prepared_request.reset_stream() + # the stream should be reset self.assertEqual(body.tell(), 0) def test_cannot_reset_stream_raises_error(self): + contents = b'foobarbaz' with open(self.filename, 'wb') as f: - f.write(b'foobarbaz') + f.write(contents) with open(self.filename, 'rb') as body: self.prepared_request.body = Unseekable(body) - - # Now pretend we try to send the request. - # This means that we read the body: + # pretend the request body was partially sent body.read() - # And create a response object that indicates - # a redirect - fake_response = Mock() - fake_response.status_code = 307 - - # Then requests calls our reset_stream hook. + self.assertNotEqual(body.tell(), 0) + # reset stream should fail with self.assertRaises(UnseekableStreamError): - self.prepared_request.reset_stream_on_redirect(fake_response) + self.prepared_request.reset_stream() def test_duck_type_for_file_check(self): # As part of determining whether or not we can rewind a stream @@ -154,76 +239,43 @@ class LooksLikeFile(object): def __init__(self): self.seek_called = False - def read(self, amount=None): pass - def seek(self, where): self.seek_called = True - looks_like_file = LooksLikeFile() self.prepared_request.body = looks_like_file - - fake_response = Mock() - fake_response.status_code = 307 - - # Then requests calls our reset_stream hook. - self.prepared_request.reset_stream_on_redirect(fake_response) - + self.prepared_request.reset_stream() # The stream should now be reset. self.assertTrue(looks_like_file.seek_called) -class TestAWSPreparedRequest(unittest.TestCase): +class TestAWSResponse(unittest.TestCase): def setUp(self): - self.tempdir = tempfile.mkdtemp() - self.filename = os.path.join(self.tempdir, 'foo') - self.request = AWSRequest(url='http://example.com') - self.prepared_request = AWSPreparedRequest(self.request) - self.prepared_request.prepare_headers(self.request.headers) + self.response = AWSResponse('http://url.com', 200, HeadersDict(), None) + self.response.raw = Mock() - def tearDown(self): - shutil.rmtree(self.tempdir) - - def test_prepare_body_content_adds_content_length(self): - content = b'foobarbaz' - with open(self.filename, 'wb') as f: - f.write(content) - with open(self.filename, 'rb') as f: - data = Seekable(f) - self.prepared_request.prepare_body(data=data, files=None) - self.assertEqual( - self.prepared_request.headers['Content-Length'], - str(len(content))) - - def test_prepare_body_removes_transfer_encoding(self): - self.prepared_request.headers['Transfer-Encoding'] = 'chunked' - content = b'foobarbaz' - with open(self.filename, 'wb') as f: - f.write(content) - with open(self.filename, 'rb') as f: - data = Seekable(f) - self.prepared_request.prepare_body(data=data, files=None) - self.assertEqual( - self.prepared_request.headers['Content-Length'], - str(len(content))) - self.assertNotIn('Transfer-Encoding', self.prepared_request.headers) - - def test_prepare_body_ignores_existing_transfer_encoding(self): - content = b'foobarbaz' - self.prepared_request.headers['Transfer-Encoding'] = 'chunked' - with open(self.filename, 'wb') as f: - f.write(content) - with open(self.filename, 'rb') as f: - self.prepared_request.prepare_body(data=f, files=None) - # The Transfer-Encoding should not be removed if Content-Length - # is not added via the custom logic in the ``prepare_body`` method. - # Note requests' ``prepare_body`` is the method that adds the - # Content-Length header for this case as the ``data`` is a - # regular file handle. - self.assertEqual( - self.prepared_request.headers['Transfer-Encoding'], - 'chunked') + def set_raw_stream(self, blobs): + def stream(*args, **kwargs): + for blob in blobs: + yield blob + self.response.raw.stream.return_value = stream() + + def test_content_property(self): + self.set_raw_stream([b'some', b'data']) + self.assertEqual(self.response.content, b'somedata') + self.assertEqual(self.response.content, b'somedata') + # assert that stream was not called more than once + self.assertEqual(self.response.raw.stream.call_count, 1) + + def test_text_property(self): + self.set_raw_stream([b'\xe3\x82\xb8\xe3\x83\xa7\xe3\x82\xb0']) + self.response.headers['content-type'] = 'text/plain; charset=utf-8' + self.assertEquals(self.response.text, u'\u30b8\u30e7\u30b0') + + def test_text_property_defaults_utf8(self): + self.set_raw_stream([b'\xe3\x82\xb8\xe3\x83\xa7\xe3\x82\xb0']) + self.assertEquals(self.response.text, u'\u30b8\u30e7\u30b0') class TestAWSHTTPConnection(unittest.TestCase): @@ -265,32 +317,36 @@ return conn def test_expect_100_continue_returned(self): - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # Shows the server first sending a 100 continue response # then a 200 ok response. s = FakeSocket(b'HTTP/1.1 100 Continue\r\n\r\nHTTP/1.1 200 OK\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - select_mock.return_value = ([s], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) response = conn.getresponse() + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 1) # Now we should verify that our final response is the 200 OK self.assertEqual(response.status, 200) def test_handles_expect_100_with_different_reason_phrase(self): - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # Shows the server first sending a 100 continue response # then a 200 ok response. s = FakeSocket(b'HTTP/1.1 100 (Continue)\r\n\r\nHTTP/1.1 200 OK\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - select_mock.return_value = ([s], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', six.BytesIO(b'body'), - {'Expect': '100-continue', 'Content-Length': '4'}) + {'Expect': b'100-continue', 'Content-Length': b'4'}) response = conn.getresponse() # Now we should verify that our final response is the 200 OK. self.assertEqual(response.status, 200) + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 1) # Verify that we went the request body because we got a 100 # continue. self.assertIn(b'body', s.sent_data) @@ -299,7 +355,7 @@ # When using squid as an HTTP proxy, it will also send # a Connection: keep-alive header back with the 100 continue # response. We need to ensure we handle this case. - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # Shows the server first sending a 100 continue response # then a 500 response. We're picking 500 to confirm we # actually parse the response instead of getting the @@ -311,16 +367,18 @@ b'HTTP/1.1 500 Internal Service Error\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - select_mock.return_value = ([s], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 1) response = conn.getresponse() self.assertEqual(response.status, 500) def test_expect_100_continue_sends_307(self): # This is the case where we send a 100 continue and the server # immediately sends a 307 - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # Shows the server first sending a 100 continue response # then a 200 ok response. s = FakeSocket( @@ -328,15 +386,17 @@ b'Location: http://example.org\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - select_mock.return_value = ([s], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 1) response = conn.getresponse() # Now we should verify that our final response is the 307. self.assertEqual(response.status, 307) def test_expect_100_continue_no_response_from_server(self): - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # Shows the server first sending a 100 continue response # then a 200 ok response. s = FakeSocket( @@ -344,12 +404,14 @@ b'Location: http://example.org\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - # By settings select_mock to return empty lists, this indicates + # By settings wait_mock to return False, this indicates # that the server did not send any response. In this situation # we should just send the request anyways. - select_mock.return_value = ([], [], []) + wait_mock.return_value = False conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 1) response = conn.getresponse() self.assertEqual(response.status, 307) @@ -409,17 +471,13 @@ with self.assertRaises(socket.error): conn._tunnel() - @unittest.skipIf(sys.version_info[:2] == (2, 6), - ("``_tunnel()`` function defaults to standard " - "http library function when not py26.")) def test_tunnel_uses_std_lib(self): s = FakeSocket(b'HTTP/1.1 200 OK\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s # Test that the standard library method was used by patching out # the ``_tunnel`` method and seeing if the std lib method was called. - with patch('botocore.vendored.requests.packages.urllib3.connection.' - 'HTTPConnection._tunnel') as mock_tunnel: + with patch('urllib3.connection.HTTPConnection._tunnel') as mock_tunnel: conn._tunnel() self.assertTrue(mock_tunnel.called) @@ -437,17 +495,18 @@ def test_state_reset_on_connection_close(self): # This simulates what urllib3 does with connections # in its connection pool logic. - with patch('select.select') as select_mock: + with patch('urllib3.util.wait_for_read') as wait_mock: # First fast fail with a 500 response when we first # send the expect header. s = FakeSocket(b'HTTP/1.1 500 Internal Server Error\r\n') conn = AWSHTTPConnection('s3.amazonaws.com', 443) conn.sock = s - select_mock.return_value = ([s], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) + self.assertEqual(wait_mock.call_count, 1) response = conn.getresponse() self.assertEqual(response.status, 500) @@ -464,10 +523,12 @@ # And we make a request, we should see the 200 response # that was sent back. - select_mock.return_value = ([new_conn], [], []) + wait_mock.return_value = True conn.request('GET', '/bucket/foo', b'body', - {'Expect': '100-continue'}) + {'Expect': b'100-continue'}) + # Assert that we waited for the 100-continue response + self.assertEqual(wait_mock.call_count, 2) response = conn.getresponse() # This should be 200. If it's a 500 then # the prior response was leaking into our @@ -475,6 +536,14 @@ self.assertEqual(response.status, 200) +class TestAWSHTTPConnectionPool(unittest.TestCase): + def test_global_urllib3_pool_is_unchanged(self): + http_connection_class = HTTPConnectionPool.ConnectionCls + self.assertIsNot(http_connection_class, AWSHTTPConnection) + https_connection_class = HTTPSConnectionPool.ConnectionCls + self.assertIsNot(https_connection_class, AWSHTTPSConnection) + + class TestPrepareRequestDict(unittest.TestCase): def setUp(self): self.user_agent = 'botocore/1.0' @@ -611,5 +680,35 @@ self.assertIn('User-Agent', request.headers) +class TestHeadersDict(unittest.TestCase): + def setUp(self): + self.headers = HeadersDict() + + def test_get_insensitive(self): + self.headers['foo'] = 'bar' + self.assertEqual(self.headers['FOO'], 'bar') + + def test_set_insensitive(self): + self.headers['foo'] = 'bar' + self.headers['FOO'] = 'baz' + self.assertEqual(self.headers['foo'], 'baz') + + def test_del_insensitive(self): + self.headers['foo'] = 'bar' + self.assertEqual(self.headers['FOO'], 'bar') + del self.headers['FoO'] + with self.assertRaises(KeyError): + self.headers['foo'] + + def test_iteration(self): + self.headers['FOO'] = 'bar' + self.headers['dead'] = 'beef' + self.assertIn('FOO', list(self.headers)) + self.assertIn('dead', list(self.headers)) + headers_items = list(self.headers.items()) + self.assertIn(('FOO', 'bar'), headers_items) + self.assertIn(('dead', 'beef'), headers_items) + + if __name__ == "__main__": unittest.main() diff -Nru python-botocore-1.4.70/tests/unit/test_client.py python-botocore-1.16.19+repack/tests/unit/test_client.py --- python-botocore-1.4.70/tests/unit/test_client.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_client.py 2020-05-28 19:26:10.000000000 +0000 @@ -1,4 +1,3 @@ -#!/usr/bin/env # Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You @@ -22,11 +21,17 @@ from botocore import hooks from botocore.client import ClientEndpointBridge from botocore.credentials import Credentials +from botocore.configprovider import ConfigValueStore +from botocore.configprovider import EnvironmentProvider +from botocore.configprovider import ChainProvider from botocore.exceptions import ParamValidationError from botocore.exceptions import InvalidS3AddressingStyleError -from botocore.exceptions import NoRegionError -from botocore.exceptions import UnknownEndpointError from botocore.exceptions import UnknownSignatureVersionError +from botocore.exceptions import InvalidRetryConfigurationError +from botocore.exceptions import InvalidMaxRetryAttemptsError +from botocore.exceptions import InvalidRetryModeError +from botocore.errorfactory import ClientExceptionsFactory +from botocore.stub import Stubber from botocore import exceptions from botocore.compat import six @@ -39,7 +44,8 @@ 'apiVersion': '2014-01-01', 'endpointPrefix': 'myservice', 'signatureVersion': 'v4', - 'protocol': 'query' + 'protocol': 'query', + 'serviceId': 'MyService', }, 'operations': { 'TestOperation': { @@ -49,6 +55,7 @@ 'requestUri': '/', }, 'input': {'shape': 'TestOperationRequest'}, + 'errors': [{'shape': 'TestOperationException'}], 'documentation': 'Documents TestOperation' } }, @@ -63,6 +70,13 @@ 'documentation': 'Documents Bar'}, } }, + "TestOperationException": { + 'type': 'structure', + 'exception': True, + 'error': { + 'code': 'TestOperationErrorCode' + } + }, 'StringType': {'type': 'string'} } } @@ -97,21 +111,34 @@ self.endpoint_creator.create_endpoint.return_value = self.endpoint self.resolver = mock.Mock() - self.resolver.construct_endpoint.return_value = { + self.endpoint_data = { 'partition': 'aws', 'hostname': 'foo', 'endpointName': 'us-west-2', 'signatureVersions': ['v4'], } + self.resolver.construct_endpoint.return_value = self.endpoint_data + self.resolver.get_available_endpoints.return_value = ['us-west-2'] + self.config_store = ConfigValueStore() def tearDown(self): self.endpoint_creator_patch.stop() + def create_mock_emitter(self, responses=None): + if responses is None: + responses = [] + + emitter = mock.Mock() + emitter.emit.return_value = responses + return emitter + def create_client_creator(self, endpoint_creator=None, event_emitter=None, retry_handler_factory=None, retry_config_translator=None, response_parser_factory=None, - endpoint_prefix=None): + endpoint_prefix=None, + exceptions_factory=None, + config_store=None): if event_emitter is None: event_emitter = hooks.HierarchicalEmitter() if retry_handler_factory is None: @@ -124,10 +151,16 @@ if endpoint_creator is not None: self.endpoint_creator_cls.return_value = endpoint_creator + if exceptions_factory is None: + exceptions_factory = ClientExceptionsFactory() + if config_store is None: + config_store = self.config_store creator = client.ClientCreator( self.loader, self.resolver, 'user-agent', event_emitter, retry_handler_factory, retry_config_translator, - response_parser_factory) + response_parser_factory, exceptions_factory, + config_store + ) return creator def assert_no_param_error_raised(self, client): @@ -268,6 +301,21 @@ self.assertEqual(service_client.meta.partition, 'aws-cn') + def test_client_has_exceptions_attribute(self): + creator = self.create_client_creator() + service_client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + self.assertTrue(hasattr(service_client, 'exceptions')) + + def test_client_has_modeled_exceptions(self): + creator = self.create_client_creator() + service_client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + self.assertTrue( + issubclass(service_client.exceptions.TestOperationException, + client.ClientError) + ) + def test_api_version_is_passed_to_loader_if_provided(self): creator = self.create_client_creator() self.endpoint.host = 'https://foo.bar' @@ -306,7 +354,7 @@ 'myservice', 'us-west-2', credentials=self.credentials) self.assertEqual(service_client.meta.region_name, 'us-west-2') call_args = mock_signer.call_args - self.assertEquals(credential_scope_region, call_args[0][1]) + self.assertEqual(credential_scope_region, call_args[0][1]) def test_client_uses_signing_region_from_credential_scope(self): with mock.patch('botocore.args.RequestSigner') as mock_signer: @@ -327,7 +375,7 @@ # Ensure that we use the credential scope region for signing, # and not the resolved region name. call_args = mock_signer.call_args - self.assertEquals(credential_scope_region, call_args[0][1]) + self.assertEqual(credential_scope_region, call_args[0][1]) def test_client_uses_signing_name_from_credential_scope(self): with mock.patch('botocore.args.RequestSigner') as mock_signer: @@ -343,8 +391,8 @@ service_name='myservice', region_name='us-west-2', credentials=self.credentials) call_args = mock_signer.call_args - self.assertEquals('myservice', call_args[0][0]) - self.assertEquals('override', call_args[0][2]) + self.assertEqual('MyService', call_args[0][0]) + self.assertEqual('override', call_args[0][2]) def test_client_uses_given_region_name_and_endpoint_url_when_present(self): with mock.patch('botocore.args.RequestSigner') as mock_signer: @@ -362,7 +410,7 @@ credentials=self.credentials, endpoint_url='https://foo') self.assertEqual(service_client.meta.region_name, 'us-west-2') call_args = mock_signer.call_args - self.assertEquals('us-west-2', call_args[0][1]) + self.assertEqual('us-west-2', call_args[0][1]) def test_client_uses_signing_name_from_model_if_present_if_resolved(self): self.service_description['metadata']['signingName'] = 'otherName' @@ -379,7 +427,7 @@ credentials=self.credentials, endpoint_url='https://foo') self.assertEqual(service_client.meta.region_name, 'us-west-2') call_args = mock_signer.call_args[0] - self.assertEquals('otherName', call_args[2]) + self.assertEqual('otherName', call_args[2]) def test_client_uses_signing_name_even_with_no_resolve(self): self.service_description['metadata']['signingName'] = 'otherName' @@ -391,7 +439,7 @@ credentials=self.credentials, endpoint_url='https://foo') self.assertEqual(service_client.meta.region_name, 'us-west-2') call_args = mock_signer.call_args[0] - self.assertEquals('otherName', call_args[2]) + self.assertEqual('otherName', call_args[2]) @mock.patch('botocore.args.RequestSigner') def test_client_signature_no_override(self, request_signer): @@ -484,7 +532,7 @@ self.assertEqual(headers['User-Agent'], 'user-agent extrastuff') def test_client_registers_request_created_handler(self): - event_emitter = mock.Mock() + event_emitter = self.create_mock_emitter() creator = self.create_client_creator(event_emitter=event_emitter) creator.create_client( 'myservice', 'us-west-2', credentials=self.credentials) @@ -528,20 +576,6 @@ signer_mock.assert_called_with( 'test_operation', request) - def test_client_makes_call_with_error(self): - error_response = { - 'Error': {'Code': 'code', 'Message': 'error occurred'} - } - self.endpoint.make_request.return_value = ( - mock.Mock(status_code=400), error_response) - - creator = self.create_client_creator() - - service_client = creator.create_client( - 'myservice', 'us-west-2', credentials=self.credentials) - with self.assertRaises(client.ClientError): - service_client.test_operation(Foo='one', Bar='two') - def test_client_validates_params_by_default(self): creator = self.create_client_creator() @@ -578,7 +612,6 @@ scoped_config=scoped_config, client_config=client_config) self.assert_no_param_error_raised(service_client) - def test_client_with_custom_both_timeout(self): self.create_client_creator().create_client( 'myservice', 'us-west-2', @@ -626,7 +659,7 @@ self.resolver.construct_endpoint.return_value = None creator = self.create_client_creator() client = creator.create_client('myservice', region_name='invalid') - self.assertEquals('invalid', client.meta.region_name) + self.assertEqual('invalid', client.meta.region_name) def test_client_with_response_parser_factory(self): factory = mock.Mock() @@ -735,8 +768,8 @@ creator = self.create_client_creator() service_client = creator.create_client('myservice', 'us-west-2') self.assertEqual(sorted(service_client.waiter_names), - sorted(['waiter_1', 'waiter_2'])) - self.assertTrue(hasattr(service_client.get_waiter('waiter_1'), 'wait')) + sorted(['waiter1', 'waiter2'])) + self.assertTrue(hasattr(service_client.get_waiter('waiter1'), 'wait')) def test_service_has_no_waiter_configs(self): self.loader.load_service_model.side_effect = [ @@ -750,7 +783,7 @@ def test_service_has_retry_event(self): # A retry event should be registered for the service. - event_emitter = mock.Mock() + event_emitter = self.create_mock_emitter() creator = self.create_client_creator(event_emitter=event_emitter) creator.create_client('myservice', 'us-west-2') @@ -784,7 +817,7 @@ # the event emitter. retry_handler_factory = mock.Mock() handler = mock.Mock() - event_emitter = mock.Mock() + event_emitter = self.create_mock_emitter() retry_handler_factory.create_retry_handler.return_value = handler creator = self.create_client_creator( @@ -799,13 +832,78 @@ # No config means we should never see any retry events registered. self.loader.load_data.return_value = {} - event_emitter = mock.Mock() + event_emitter = self.create_mock_emitter() creator = self.create_client_creator(event_emitter=event_emitter) creator.create_client('myservice', 'us-west-2') for call in event_emitter.register.call_args_list: self.assertNotIn('needs-retry', call[0][0]) + def test_emits_after_call_error(self): + event_emitter = hooks.HierarchicalEmitter() + + recorded_kwargs = [] + + def record(event_name, **kwargs): + recorded_kwargs.append(kwargs) + + event_emitter.register( + 'after-call-error.myservice.TestOperation', record) + + raised_error = RuntimeError('Unexpected error') + self.endpoint.make_request.side_effect = raised_error + creator = self.create_client_creator(event_emitter=event_emitter) + client = creator.create_client('myservice', 'us-west-2') + with self.assertRaises(RuntimeError): + client.test_operation(Foo='one', Bar='two') + self.assertEqual( + recorded_kwargs, + [{'exception': raised_error, 'context': mock.ANY}]) + + def test_can_override_max_attempts(self): + retry_handler_factory = mock.Mock(botocore.retryhandler) + creator = self.create_client_creator( + retry_handler_factory=retry_handler_factory) + creator.create_client( + 'myservice', 'us-west-2', + client_config=botocore.config.Config(retries={'max_attempts': 9, + 'mode': 'legacy'})) + + retry_handler_factory.create_retry_handler.assert_called_with({ + '__default__': { + 'delay': { + 'growth_factor': 2, + 'base': 'rand', + 'type': 'exponential' + }, + 'policies': {}, + 'max_attempts': 10 + } + }, 'myservice') + + def test_can_register_standard_retry_mode(self): + with mock.patch('botocore.client.standard') as standard: + creator = self.create_client_creator() + creator.create_client( + 'myservice', 'us-west-2', + client_config=botocore.config.Config( + retries={'mode': 'standard'})) + self.assertTrue(standard.register_retry_handler.called) + + def test_can_register_standard_retry_mode_from_config_store(self): + fake_env = {'AWS_RETRY_MODE': 'standard'} + config_store = ConfigValueStore( + mapping={ + 'retry_mode': ChainProvider([ + EnvironmentProvider('AWS_RETRY_MODE', fake_env), + ]) + } + ) + creator = self.create_client_creator(config_store=config_store) + with mock.patch('botocore.client.standard') as standard: + creator.create_client( 'myservice', 'us-west-2') + self.assertTrue(standard.register_retry_handler.called) + def test_try_to_paginate_non_paginated(self): self.loader.load_service_model.side_effect = [ self.service_description, @@ -1136,12 +1234,12 @@ ) self.assertIsNone(client.meta.config.s3) - def test_client_s3_addressing_style_with_scoped_config(self): - creator = self.create_client_creator() - client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'addressing_style': 'virtual'}} + def test_client_s3_addressing_style_with_config_store(self): + self.config_store.set_config_variable( + 's3', {'addressing_style': 'virtual'} ) + creator = self.create_client_creator() + client = creator.create_client('myservice', 'us-west-2') self.assertEqual( client.meta.config.s3['addressing_style'], 'virtual') @@ -1149,126 +1247,24 @@ with self.assertRaises(InvalidS3AddressingStyleError): botocore.config.Config(s3={'addressing_style': 'foo'}) - def test_client_s3_addressing_style_config_overrides_scoped_config(self): + def test_client_s3_addressing_style_config_overrides_config_store(self): + self.config_store.set_config_variable( + 's3', {'addressing_style': 'virtual'}) creator = self.create_client_creator() my_client = creator.create_client( 'myservice', 'us-west-2', - scoped_config={'s3': {'addressing_style': 'virtual'}}, - client_config=botocore.config.Config(s3={'addressing_style': 'auto'}) + client_config=botocore.config.Config( + s3={'addressing_style': 'auto'}) ) self.assertEqual( my_client.meta.config.s3['addressing_style'], 'auto') - 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('s3', 'us-west-2') - self.assertIn( - mock.call('before-sign.s3', utils.fix_s3_host), - 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( - 's3', 'us-west-2', - scoped_config={'s3': {'addressing_style': 'auto'}} - ) - self.assertIn( - mock.call('before-sign.s3', utils.fix_s3_host), - 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( - 's3', 'us-west-2', - scoped_config={'s3': {'addressing_style': 'virtual'}} - ) - self.assertNotIn( - mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.unregister.call_args_list - ) - self.assertIn( - mock.call('before-sign.s3', utils.switch_to_virtual_host_style), - client.meta.events.register.call_args_list - ) - - def test_client_s3_addressing_style_path_registers_correctly(self): - event_emitter = mock.Mock() - creator = self.create_client_creator(event_emitter=event_emitter) - client = creator.create_client( - 's3', 'us-west-2', - scoped_config={'s3': {'addressing_style': 'path'}} - ) - self.assertNotIn( - mock.call('before-sign.s3', utils.fix_s3_host), - client.meta.events.register.call_args_list - ) - self.assertNotIn( - mock.call('before-sign.s3', utils.switch_to_virtual_host_style), - client.meta.events.register.call_args_list - ) - - def test_custom_endpoint_uses_path_style(self): - event_emitter = mock.Mock() - creator = self.create_client_creator(event_emitter=event_emitter) - - # 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.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): - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'payload_signing_enabled': True}} - ) - self.assertEqual( - my_client.meta.config.s3['payload_signing_enabled'], True) - - def test_client_payload_signing_from_varying_forms_of_true(self): - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'payload_signing_enabled': 'True'}} + def test_client_payload_signing_from_config_store(self): + self.config_store.set_config_variable( + 's3', {'payload_signing_enabled': True} ) - self.assertEqual( - my_client.meta.config.s3['payload_signing_enabled'], True) - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'payload_signing_enabled': 'true'}} - ) + my_client = creator.create_client('myservice', 'us-west-2') self.assertEqual( my_client.meta.config.s3['payload_signing_enabled'], True) @@ -1293,29 +1289,12 @@ self.assertEqual( my_client.meta.config.s3['payload_signing_enabled'], True) - def test_client_s3_accelerate_from_scoped_config(self): - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'use_accelerate_endpoint': True}} - ) - self.assertEqual( - my_client.meta.config.s3['use_accelerate_endpoint'], True) - - def test_client_s3_accelerate_from_varying_forms_of_true(self): - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'use_accelerate_endpoint': 'True'}} + def test_client_s3_accelerate_from_config_store(self): + self.config_store.set_config_variable( + 's3', {'use_accelerate_endpoint': True} ) - self.assertEqual( - my_client.meta.config.s3['use_accelerate_endpoint'], True) - creator = self.create_client_creator() - my_client = creator.create_client( - 'myservice', 'us-west-2', - scoped_config={'s3': {'use_accelerate_endpoint': 'true'}} - ) + my_client = creator.create_client('myservice', 'us-west-2') self.assertEqual( my_client.meta.config.s3['use_accelerate_endpoint'], True) @@ -1329,11 +1308,13 @@ self.assertEqual( my_client.meta.config.s3['use_accelerate_endpoint'], True) - def test_client_s3_accelerate_client_config_overrides_scoped(self): + def test_client_s3_accelerate_client_config_overrides_config_store(self): + self.config_store.set_config_variable( + 's3', {'use_accelerate_endpoint': False} + ) creator = self.create_client_creator() my_client = creator.create_client( 'myservice', 'us-west-2', - scoped_config={'s3': {'use_accelerate_endpoint': False}}, client_config=client.Config(s3={'use_accelerate_endpoint': True}) ) @@ -1354,6 +1335,201 @@ service_client.test_operation(Foo='one') self.assertFalse(self.endpoint.make_request.called) + def test_getattr_emits_event(self): + emitter = self.create_mock_emitter() + emitter.emit_until_response.return_value = (None, None) + + creator = self.create_client_creator(event_emitter=emitter) + service_client = creator.create_client('myservice', 'us-west-2') + + # Assert that the event hasn't fired yet + emitter.emit_until_response.assert_not_called() + + with self.assertRaises(AttributeError): + service_client.attribute_that_does_not_exist + + emitter.emit_until_response.assert_called_once_with( + 'getattr.myservice.attribute_that_does_not_exist', + client=service_client + ) + + def test_getattr_event_returns_response(self): + emitter = self.create_mock_emitter() + emitter.emit_until_response.return_value = (None, 'success') + + creator = self.create_client_creator(event_emitter=emitter) + service_client = creator.create_client('myservice', 'us-west-2') + + value = service_client.attribute_that_does_not_exist + + self.assertEqual(value, 'success') + + def _create_hostname_binding_client(self, *args, **kwargs): + test_operation = self.service_description['operations']['TestOperation'] + test_operation['endpoint'] = {'hostPrefix': '{Foo}.'} + test_shape = self.service_description['shapes']['TestOperationRequest'] + test_shape['members']['Foo']['hostLabel'] = True + + creator = self.create_client_creator() + return creator.create_client('myservice', *args, **kwargs) + + def test_client_operation_hostname_binding(self): + client = self._create_hostname_binding_client('us-west-2') + client.test_operation(Foo='bound') + + expected_url = 'https://bound.myservice.amazonaws.com/' + self.assertTrue(self.endpoint.make_request.called) + request_dict = self.endpoint.make_request.call_args[0][1] + self.assertEqual(request_dict['url'], expected_url) + + def test_client_operation_hostname_binding_validation(self): + client = self._create_hostname_binding_client('us-west-2') + with self.assertRaises(ParamValidationError): + client.test_operation(Foo='') + + def test_client_operation_hostname_binding_configuration(self): + config = botocore.config.Config(inject_host_prefix=False) + client = self._create_hostname_binding_client( + 'us-west-2', client_config=config, + ) + + client.test_operation(Foo='baz') + expected_url = 'https://myservice.amazonaws.com/' + self.assertTrue(self.endpoint.make_request.called) + request_dict = self.endpoint.make_request.call_args[0][1] + self.assertEqual(request_dict['url'], expected_url) + + +class TestClientErrors(TestAutoGeneratedClient): + def add_error_response(self, error_response): + self.endpoint.make_request.return_value = ( + mock.Mock(status_code=400), error_response) + + def test_client_makes_call_with_error(self): + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error( + 'test_operation', 'TestOperationErrorCode', 'error occurred') + with self.assertRaises(client.exceptions.TestOperationException): + client.test_operation(Foo='one', Bar='two') + + def test_error_with_no_wire_code(self): + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error('test_operation', '404', 'Not Found') + try: + client.test_operation(Foo='one', Bar='two') + except client.exceptions.ClientError as e: + # This is needed becasue the error could be a subclass of + # ClientError. + # We explicitly want it to be a generic ClientError though + self.assertEqual(e.__class__, exceptions.ClientError) + + def test_error_with_dot_separated_code(self): + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error( + 'test_operation', 'InvalidAddress.NotFound', 'Not Found') + try: + client.test_operation(Foo='one', Bar='two') + except client.exceptions.ClientError as e: + # This is needed becasue the error could be a subclass of + # ClientError. + # We explicitly want it to be a generic ClientError though + self.assertEqual(e.__class__, exceptions.ClientError) + + def test_error_with_empty_message(self): + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error( + 'test_operation', 'TestOperationErrorCode') + with self.assertRaises(client.exceptions.TestOperationException): + client.test_operation(Foo='one', Bar='two') + + def test_error_with_empty_code(self): + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error('test_operation') + try: + client.test_operation(Foo='one', Bar='two') + except client.exceptions.ClientError as e: + # This is needed becasue the error could be a subclass of + # ClientError. + # We explicitly want it to be a generic ClientError though + self.assertEqual(e.__class__, exceptions.ClientError) + + def test_error_with_missing_code(self): + error_response = {'Error': {'Message': 'error occurred'}} + # The stubber is not being used because it will always populate the + # the message and code. + self.endpoint.make_request.return_value = ( + mock.Mock(status_code=400), error_response) + + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + try: + client.test_operation(Foo='one', Bar='two') + except client.exceptions.ClientError as e: + # This is needed becasue the error could be a subclass of + # ClientError. + # We explicitly want it to be a generic ClientError though + self.assertEqual(e.__class__, exceptions.ClientError) + + def test_error_with_empty_contents(self): + error_response = {'Error': {}} + # The stubber is not being used because it will always populate the + # the message and code. + self.endpoint.make_request.return_value = ( + mock.Mock(status_code=400), error_response) + + creator = self.create_client_creator() + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + try: + client.test_operation(Foo='one', Bar='two') + except client.exceptions.ClientError as e: + # This is needed becasue the error could be a subclass of + # ClientError. + # We explicitly want it to be a generic ClientError though + self.assertEqual(e.__class__, exceptions.ClientError) + + def test_exception_classes_across_clients_are_the_same(self): + creator = self.create_client_creator( + exceptions_factory=ClientExceptionsFactory()) + client = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + client2 = creator.create_client( + 'myservice', 'us-west-2', credentials=self.credentials) + + with Stubber(client) as stub: + stub.add_client_error( + 'test_operation', 'TestOperationErrorCode', 'error occurred') + try: + client.test_operation(Foo='one', Bar='two') + except client2.exceptions.TestOperationException as e: + # Caught exception should as well be an instance of the + # other client's TestOperationException + self.assertIsInstance( + e, client.exceptions.TestOperationException) + class TestConfig(unittest.TestCase): def test_can_use_args_to_construct(self): @@ -1429,6 +1605,28 @@ self.assertEqual(new_config.region_name, 'us-west-2') self.assertEqual(new_config.signature_version, 's3v4') + def test_can_set_retry_max_attempts(self): + config = botocore.config.Config(retries={'max_attempts': 15}) + self.assertEqual(config.retries['max_attempts'], 15) + + def test_validates_retry_config(self): + with self.assertRaisesRegexp( + InvalidRetryConfigurationError, + 'Cannot provide retry configuration for "not-allowed"'): + botocore.config.Config(retries={'not-allowed': True}) + + def test_validates_max_retry_attempts(self): + with self.assertRaises(InvalidMaxRetryAttemptsError): + botocore.config.Config(retries={'max_attempts': -1}) + + def test_validates_total_max_attempts(self): + with self.assertRaises(InvalidMaxRetryAttemptsError): + botocore.config.Config(retries={'total_max_attempts': 0}) + + def test_validaties_retry_mode(self): + with self.assertRaises(InvalidRetryModeError): + botocore.config.Config(retries={'mode': 'turbo-mode'}) + class TestClientEndpointBridge(unittest.TestCase): def setUp(self): @@ -1628,14 +1826,14 @@ resolved = bridge.resolve('test', 'us-west-2') self.assertEqual('s3', resolved['signature_version']) - def test_uses_s3_over_s3v4_for_s3(self): + def test_uses_s3v4_over_s3_for_s3(self): resolver = mock.Mock() resolver.construct_endpoint.return_value = { 'partition': 'aws', 'hostname': 'test.com', 'endpointName': 'us-west-2', 'signatureVersions': ['s3v4', 's3']} bridge = ClientEndpointBridge(resolver) resolved = bridge.resolve('s3', 'us-west-2') - self.assertEqual('s3', resolved['signature_version']) + self.assertEqual('s3v4', resolved['signature_version']) def test_uses_s3v4_over_others_for_s3(self): resolver = mock.Mock() @@ -1674,6 +1872,16 @@ with self.assertRaises(UnknownSignatureVersionError): bridge.resolve('test', 'us-west-2') + def test_uses_first_known_signature_version(self): + resolver = mock.Mock() + resolver.construct_endpoint.return_value = { + 'partition': 'aws', 'hostname': 'test', + 'endpointName': 'us-west-2', + 'signatureVersions': ['foo', 'bar', 'baz', 's3v4', 'v2']} + bridge = ClientEndpointBridge(resolver) + resolved = bridge.resolve('test', 'us-west-2') + self.assertEqual('s3v4', resolved['signature_version']) + def test_raises_when_signature_version_is_not_found(self): resolver = mock.Mock() resolver.construct_endpoint.return_value = { @@ -1724,7 +1932,7 @@ resolved['endpoint_url'], 'https://s3.dualstack.us-east-1.amazonaws.com') - def test_can_use_client_config(self): + def test_dualstack_can_use_client_config(self): config = botocore.config.Config(s3={'use_dualstack_endpoint': True}) bridge = ClientEndpointBridge(self.resolver, client_config=config) resolved = bridge.resolve('s3', 'us-east-1') @@ -1732,7 +1940,7 @@ resolved['endpoint_url'], 'https://s3.dualstack.us-east-1.amazonaws.com') - def test_client_config_beats_scoped_config(self): + def test_dualstack_client_config_beats_scoped_config(self): scoped_config = {'s3': {'use_dualstack_endpoint': False}} config = botocore.config.Config(s3={'use_dualstack_endpoint': True}) bridge = ClientEndpointBridge(self.resolver, scoped_config, @@ -1752,7 +1960,7 @@ resolved['endpoint_url'], 'https://s3.amazonaws.com') - def test_honors_dns_suffix(self): + def test_dualstack_honors_dns_suffix(self): scoped_config = {'s3': {'use_dualstack_endpoint': True}} self.boilerplate_response['dnsSuffix'] = 'amazonaws.com.cn' self.boilerplate_response['endpointName'] = 'cn-north-1' diff -Nru python-botocore-1.4.70/tests/unit/test_compat.py python-botocore-1.16.19+repack/tests/unit/test_compat.py --- python-botocore-1.4.70/tests/unit/test_compat.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_compat.py 2020-05-28 19:26:10.000000000 +0000 @@ -10,15 +10,16 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - import datetime import mock +from nose.tools import assert_equal, assert_raises + from botocore.exceptions import MD5UnavailableError from botocore.compat import ( - total_seconds, unquote_str, six, ensure_bytes, get_md5 + total_seconds, unquote_str, six, ensure_bytes, get_md5, + compat_shell_split, get_tzinfo_options ) - from tests import BaseEnvVar, unittest @@ -95,3 +96,82 @@ with mock.patch('botocore.compat.MD5_AVAILABLE', False): with self.assertRaises(MD5UnavailableError): get_md5() + + +def test_compat_shell_split_windows(): + windows_cases = { + r'': [], + r'spam \\': [r'spam', '\\\\'], + r'spam ': [r'spam'], + r' spam': [r'spam'], + 'spam eggs': [r'spam', r'eggs'], + 'spam\teggs': [r'spam', r'eggs'], + 'spam\neggs': ['spam\neggs'], + '""': [''], + '" "': [' '], + '"\t"': ['\t'], + '\\\\': ['\\\\'], + '\\\\ ': ['\\\\'], + '\\\\\t': ['\\\\'], + r'\"': ['"'], + # The following four test cases are official test cases given in + # Microsoft's documentation. + r'"abc" d e': [r'abc', r'd', r'e'], + r'a\\b d"e f"g h': [r'a\\b', r'de fg', r'h'], + r'a\\\"b c d': [r'a\"b', r'c', r'd'], + r'a\\\\"b c" d e': [r'a\\b c', r'd', r'e'] + } + runner = ShellSplitTestRunner() + for input_string, expected_output in windows_cases.items(): + yield runner.assert_equal, input_string, expected_output, "win32" + + yield runner.assert_raises, r'"', ValueError, "win32" + + +def test_compat_shell_split_unix(): + unix_cases = { + r'': [], + r'spam \\': [r'spam', '\\'], + r'spam ': [r'spam'], + r' spam': [r'spam'], + 'spam eggs': [r'spam', r'eggs'], + 'spam\teggs': [r'spam', r'eggs'], + 'spam\neggs': ['spam', 'eggs'], + '""': [''], + '" "': [' '], + '"\t"': ['\t'], + '\\\\': ['\\'], + '\\\\ ': ['\\'], + '\\\\\t': ['\\'], + r'\"': ['"'], + # The following four test cases are official test cases given in + # Microsoft's documentation, but adapted to unix shell splitting. + r'"abc" d e': [r'abc', r'd', r'e'], + r'a\\b d"e f"g h': [r'a\b', r'de fg', r'h'], + r'a\\\"b c d': [r'a\"b', r'c', r'd'], + r'a\\\\"b c" d e': [r'a\\b c', r'd', r'e'] + } + runner = ShellSplitTestRunner() + for input_string, expected_output in unix_cases.items(): + yield runner.assert_equal, input_string, expected_output, "linux2" + yield runner.assert_equal, input_string, expected_output, "darwin" + + yield runner.assert_raises, r'"', ValueError, "linux2" + yield runner.assert_raises, r'"', ValueError, "darwin" + + +class ShellSplitTestRunner(object): + def assert_equal(self, s, expected, platform): + assert_equal(compat_shell_split(s, platform), expected) + + def assert_raises(self, s, exception_cls, platform): + assert_raises(exception_cls, compat_shell_split, s, platform) + + +class TestTimezoneOperations(unittest.TestCase): + def test_get_tzinfo_options(self): + options = get_tzinfo_options() + self.assertTrue(len(options) > 0) + + for tzinfo in options: + self.assertIsInstance(tzinfo(), datetime.tzinfo) diff -Nru python-botocore-1.4.70/tests/unit/test_configloader.py python-botocore-1.16.19+repack/tests/unit/test_configloader.py --- python-botocore-1.4.70/tests/unit/test_configloader.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_configloader.py 2020-05-28 19:26:10.000000000 +0000 @@ -14,15 +14,49 @@ # language governing permissions and limitations under the License. from tests import unittest, BaseEnvVar import os +import mock +import tempfile +import shutil + import botocore.exceptions -from botocore.configloader import raw_config_parse, load_config +from botocore.configloader import raw_config_parse, load_config, \ + multi_file_load_config +from botocore.compat import six def path(filename): - return os.path.join(os.path.dirname(__file__), 'cfg', filename) + directory = os.path.join(os.path.dirname(__file__), 'cfg') + if isinstance(filename, six.binary_type): + directory = six.b(directory) + return os.path.join(directory, filename) class TestConfigLoader(BaseEnvVar): + def setUp(self): + self.tempdir = tempfile.mkdtemp() + + def tearDown(self): + shutil.rmtree(self.tempdir) + + def create_config_file(self, filename): + contents = ( + '[default]\n' + 'aws_access_key_id = foo\n' + 'aws_secret_access_key = bar\n\n' + '[profile "personal"]\n' + 'aws_access_key_id = fie\n' + 'aws_secret_access_key = baz\n' + 'aws_security_token = fiebaz\n' + ) + + directory = self.tempdir + if isinstance(filename, six.binary_type): + directory = six.b(directory) + full_path = os.path.join(directory, filename) + + with open(full_path, 'w') as f: + f.write(contents) + return full_path def test_config_not_found(self): with self.assertRaises(botocore.exceptions.ConfigNotFound): @@ -33,6 +67,18 @@ with self.assertRaises(botocore.exceptions.ConfigParseError): raw_config_parse(filename) + def test_config_parse_error_bad_unicode(self): + filename = path('aws_config_badbytes') + with self.assertRaises(botocore.exceptions.ConfigParseError): + raw_config_parse(filename) + + def test_config_parse_error_filesystem_encoding_none(self): + filename = path('aws_config_bad') + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = None + with self.assertRaises(botocore.exceptions.ConfigParseError): + raw_config_parse(filename) + def test_config(self): loaded_config = raw_config_parse(path('aws_config')) self.assertIn('default', loaded_config) @@ -62,11 +108,73 @@ self.assertEqual(config['s3']['signature_version'], 's3v4') self.assertEqual(config['cloudwatch']['signature_version'], 'v4') + def test_nested_hierarchy_with_no_subsection_parsing(self): + filename = path('aws_config_nested') + raw_config = raw_config_parse(filename, False)['default'] + self.assertEqual(raw_config['aws_access_key_id'], 'foo') + self.assertEqual(raw_config['region'], 'us-west-2') + # Specifying False for pase_subsections in raw_config_parse + # will make sure that indented sections such as singature_version + # will not be treated as another subsection but rather + # its literal value. + self.assertEqual( + raw_config['cloudwatch'], '\nsignature_version = v4') + self.assertEqual( + raw_config['s3'], + '\nsignature_version = s3v4' + '\naddressing_style = path' + ) + def test_nested_bad_config(self): filename = path('aws_config_nested_bad') with self.assertRaises(botocore.exceptions.ConfigParseError): loaded_config = load_config(filename) + def test_nested_bad_config_filesystem_encoding_none(self): + filename = path('aws_config_nested_bad') + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = None + with self.assertRaises(botocore.exceptions.ConfigParseError): + loaded_config = load_config(filename) + + def test_multi_file_load(self): + filenames = [path('aws_config_other'), + path('aws_config'), + path('aws_third_config'), + path('aws_config_notfound')] + loaded_config = multi_file_load_config(*filenames) + config = loaded_config['profiles']['default'] + self.assertEqual(config['aws_access_key_id'], 'other_foo') + self.assertEqual(config['aws_secret_access_key'], 'other_bar') + second_config = loaded_config['profiles']['personal'] + self.assertEqual(second_config['aws_access_key_id'], 'fie') + self.assertEqual(second_config['aws_secret_access_key'], 'baz') + self.assertEqual(second_config['aws_security_token'], 'fiebaz') + third_config = loaded_config['profiles']['third'] + self.assertEqual(third_config['aws_access_key_id'], 'third_fie') + self.assertEqual(third_config['aws_secret_access_key'], 'third_baz') + self.assertEqual(third_config['aws_security_token'], 'third_fiebaz') + + def test_unicode_bytes_path_not_found(self): + with self.assertRaises(botocore.exceptions.ConfigNotFound): + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = 'utf-8' + load_config(path(b'\xe2\x9c\x93')) + + def test_unicode_bytes_path_not_found_filesystem_encoding_none(self): + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = None + with self.assertRaises(botocore.exceptions.ConfigNotFound): + load_config(path(b'\xe2\x9c\x93')) + + def test_unicode_bytes_path(self): + filename = self.create_config_file(b'aws_config_unicode\xe2\x9c\x93') + with mock.patch('sys.getfilesystemencoding') as encoding: + encoding.return_value = 'utf-8' + loaded_config = load_config(filename) + self.assertIn('default', loaded_config['profiles']) + self.assertIn('personal', loaded_config['profiles']) + if __name__ == "__main__": unittest.main() diff -Nru python-botocore-1.4.70/tests/unit/test_config_provider.py python-botocore-1.16.19+repack/tests/unit/test_config_provider.py --- python-botocore-1.4.70/tests/unit/test_config_provider.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_config_provider.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,556 @@ +# Copyright 2018 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 mock +from nose.tools import assert_equal + +import botocore +import botocore.session as session +from botocore.configprovider import ConfigValueStore +from botocore.configprovider import BaseProvider +from botocore.configprovider import InstanceVarProvider +from botocore.configprovider import EnvironmentProvider +from botocore.configprovider import ScopedConfigProvider +from botocore.configprovider import SectionConfigProvider +from botocore.configprovider import ConstantProvider +from botocore.configprovider import ChainProvider +from botocore.configprovider import ConfigChainFactory + + +class TestConfigChainFactory(unittest.TestCase): + def assert_chain_does_provide(self, instance_map, environ_map, + scoped_config_map, create_config_chain_args, + expected_value): + fake_session = mock.Mock(spec=session.Session) + fake_session.get_scoped_config.return_value = scoped_config_map + fake_session.instance_variables.return_value = instance_map + builder = ConfigChainFactory(fake_session, environ=environ_map) + chain = builder.create_config_chain( + **create_config_chain_args + ) + value = chain.provide() + self.assertEqual(value, expected_value) + + def test_chain_builder_can_provide_instance(self): + self.assert_chain_does_provide( + instance_map={'instance_var': 'from-instance'}, + environ_map={}, + scoped_config_map={}, + create_config_chain_args={ + 'instance_name': 'instance_var', + }, + expected_value='from-instance', + ) + + def test_chain_builder_can_skip_instance(self): + self.assert_chain_does_provide( + instance_map={'wrong_instance_var': 'instance'}, + environ_map={'ENV_VAR': 'env'}, + scoped_config_map={}, + create_config_chain_args={ + 'instance_name': 'instance_var', + 'env_var_names': 'ENV_VAR', + }, + expected_value='env', + ) + + def test_chain_builder_can_provide_env_var(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={'ENV_VAR': 'from-env'}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': 'ENV_VAR', + }, + expected_value='from-env', + ) + + def test_does_provide_none_if_no_variable_exists_in_env_var_list(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO'], + }, + expected_value=None, + ) + + def test_does_provide_value_if_variable_exists_in_env_var_list(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={'FOO': 'bar'}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO'], + }, + expected_value='bar', + ) + + def test_does_provide_first_non_none_value_first_in_env_var_list(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={'FOO': 'baz'}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO', 'BAR'], + }, + expected_value='baz', + ) + + def test_does_provide_first_non_none_value_second_in_env_var_list(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={'BAR': 'baz'}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO', 'BAR'], + }, + expected_value='baz', + ) + + def test_does_provide_none_if_all_list_env_vars_are_none(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO', 'BAR'], + }, + expected_value=None, + ) + + def test_does_provide_first_value_when_both_env_vars_exist(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={'FOO': 'baz', 'BAR': 'buz'}, + scoped_config_map={}, + create_config_chain_args={ + 'env_var_names': ['FOO', 'BAR'], + }, + expected_value='baz', + ) + + def test_chain_builder_can_provide_config_var(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={'config_var': 'from-config'}, + create_config_chain_args={ + 'config_property_names': 'config_var', + }, + expected_value='from-config', + ) + + def test_chain_builder_can_provide_nested_config_var(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={'config_var': {'nested-key': 'nested-val'}}, + create_config_chain_args={ + 'config_property_names': ('config_var', 'nested-key'), + }, + expected_value='nested-val', + ) + + def test_provide_value_from_config_list(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={'var': 'val'}, + create_config_chain_args={ + 'config_property_names': ['var'], + }, + expected_value='val', + ) + + def test_provide_value_from_config_list_looks_for_non_none_vals(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={'non_none_var': 'non_none_val'}, + create_config_chain_args={ + 'config_property_names': ['none_var', 'non_none_var'], + }, + expected_value='non_none_val', + ) + + def test_provide_value_from_config_list_retrieves_first_non_none_val(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={ + 'first': 'first_val', + 'second': 'second_val' + }, + create_config_chain_args={ + 'config_property_names': ['first', 'second'], + }, + expected_value='first_val', + ) + + def test_provide_value_from_config_list_if_all_vars_are_none(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={}, + create_config_chain_args={ + 'config_property_names': ['config1', 'config2'], + }, + expected_value=None, + ) + + def test_provide_value_from_list_with_nested_var(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={'section': {'nested_var': 'nested_val'}}, + create_config_chain_args={ + 'config_property_names': [('section', 'nested_var')], + }, + expected_value='nested_val', + ) + + def test_chain_builder_can_provide_default(self): + self.assert_chain_does_provide( + instance_map={}, + environ_map={}, + scoped_config_map={}, + create_config_chain_args={ + 'default': 'from-default' + }, + expected_value='from-default', + ) + + def test_chain_provider_does_follow_priority_instance_var(self): + self.assert_chain_does_provide( + instance_map={'instance_var': 'from-instance'}, + environ_map={'ENV_VAR': 'from-env'}, + scoped_config_map={'config_var': 'from-config'}, + create_config_chain_args={ + 'instance_name': 'instance_var', + 'env_var_names': 'ENV_VAR', + 'config_property_names': 'config_var', + 'default': 'from-default', + }, + expected_value='from-instance', + ) + + def test_chain_provider_does_follow_priority_env_var(self): + self.assert_chain_does_provide( + instance_map={'wrong_instance_var': 'from-instance'}, + environ_map={'ENV_VAR': 'from-env'}, + scoped_config_map={'config_var': 'from-confi'}, + create_config_chain_args={ + 'instance_name': 'instance_var', + 'env_var_names': 'ENV_VAR', + 'config_property_names': 'config_var', + 'default': 'from-default', + }, + expected_value='from-env', + ) + + def test_chain_provider_does_follow_priority_config(self): + self.assert_chain_does_provide( + instance_map={'wrong_instance_var': 'from-instance'}, + environ_map={'WRONG_ENV_VAR': 'from-env'}, + scoped_config_map={'config_var': 'from-config'}, + create_config_chain_args={ + 'instance_name': 'instance_var', + 'env_var_names': 'ENV_VAR', + 'config_property_names': 'config_var', + 'default': 'from-default', + }, + expected_value='from-config', + ) + + def test_chain_provider_does_follow_priority_default(self): + self.assert_chain_does_provide( + instance_map={'wrong_instance_var': 'from-instance'}, + environ_map={'WRONG_ENV_VAR': 'from-env'}, + scoped_config_map={'wrong_config_var': 'from-config'}, + create_config_chain_args={ + 'instance_name': 'instance_var', + 'env_var_names': 'ENV_VAR', + 'config_property_names': 'config_var', + 'default': 'from-default', + }, + expected_value='from-default', + ) + + +class TestConfigValueStore(unittest.TestCase): + def test_does_provide_none_if_no_variable_exists(self): + provider = ConfigValueStore() + value = provider.get_config_variable('fake_variable') + self.assertIsNone(value) + + def test_does_provide_value_if_variable_exists(self): + mock_value_provider = mock.Mock(spec=BaseProvider) + mock_value_provider.provide.return_value = 'foo' + provider = ConfigValueStore(mapping={ + 'fake_variable': mock_value_provider, + }) + value = provider.get_config_variable('fake_variable') + self.assertEqual(value, 'foo') + + def test_can_set_variable(self): + provider = ConfigValueStore() + provider.set_config_variable('fake_variable', 'foo') + value = provider.get_config_variable('fake_variable') + self.assertEquals(value, 'foo') + + def test_can_set_config_provider(self): + foo_value_provider = mock.Mock(spec=BaseProvider) + foo_value_provider.provide.return_value = 'foo' + provider = ConfigValueStore(mapping={ + 'fake_variable': foo_value_provider, + }) + + value = provider.get_config_variable('fake_variable') + self.assertEqual(value, 'foo') + + bar_value_provider = mock.Mock(spec=BaseProvider) + bar_value_provider.provide.return_value = 'bar' + provider.set_config_provider('fake_variable', bar_value_provider) + + value = provider.get_config_variable('fake_variable') + self.assertEqual(value, 'bar') + + +class TestInstanceVarProvider(unittest.TestCase): + def assert_provides_value(self, name, instance_map, expected_value): + fake_session = mock.Mock(spec=session.Session) + fake_session.instance_variables.return_value = instance_map + + provider = InstanceVarProvider( + instance_var=name, + session=fake_session, + ) + value = provider.provide() + self.assertEqual(value, expected_value) + + def test_can_provide_value(self): + self.assert_provides_value( + name='foo', + instance_map={'foo': 'bar'}, + expected_value='bar', + ) + + def test_does_provide_none_if_value_not_in_dict(self): + self.assert_provides_value( + name='foo', + instance_map={}, + expected_value=None, + ) + + +class TestEnvironmentProvider(unittest.TestCase): + def assert_does_provide(self, env, name, expected_value): + provider = EnvironmentProvider(name=name, env=env) + value = provider.provide() + self.assertEqual(value, expected_value) + + def test_does_provide_none_if_no_variable_exists(self): + self.assert_does_provide( + name='FOO', + env={}, + expected_value=None, + ) + + def test_does_provide_value_if_variable_exists(self): + self.assert_does_provide( + name='FOO', + env={ + 'FOO': 'bar', + }, + expected_value='bar', + ) + + +class TestScopedConfigProvider(unittest.TestCase): + def assert_provides_value(self, config_file_values, config_var_name, + expected_value): + fake_session = mock.Mock(spec=session.Session) + fake_session.get_scoped_config.return_value = config_file_values + property_provider = ScopedConfigProvider( + config_var_name=config_var_name, + session=fake_session, + ) + value = property_provider.provide() + self.assertEqual(value, expected_value) + + def test_can_provide_value(self): + self.assert_provides_value( + config_file_values={ + 'foo': 'bar' + }, + config_var_name='foo', + expected_value='bar', + ) + + def test_does_provide_none_if_var_not_in_config(self): + self.assert_provides_value( + config_file_values={ + 'foo': 'bar' + }, + config_var_name='no_such_var', + expected_value=None, + ) + + def test_provide_nested_value(self): + self.assert_provides_value( + config_file_values={ + 'section': { + 'nested_var': 'nested_val' + } + }, + config_var_name=('section', 'nested_var'), + expected_value='nested_val', + ) + + def test_provide_nested_value_but_not_section(self): + self.assert_provides_value( + config_file_values={ + 'section': 'not-nested' + }, + config_var_name=('section', 'nested_var'), + expected_value=None, + ) + + +def _make_provider_that_returns(return_value): + provider = mock.Mock(spec=BaseProvider) + provider.provide.return_value = return_value + return provider + + +def _make_providers_that_return(return_values): + mocks = [] + for return_value in return_values: + provider = _make_provider_that_returns(return_value) + mocks.append(provider) + return mocks + + +def assert_chain_does_provide(providers, expected_value): + provider = ChainProvider( + providers=providers, + ) + value = provider.provide() + assert_equal(value, expected_value) + + +def test_chain_provider(): + # Each case is a tuple with the first element being the expected return + # value form the ChainProvider. The second value being a list of return + # values from the individual providers that are in the chain. + cases = [ + (None, []), + (None, [None]), + ('foo', ['foo']), + ('foo', ['foo', 'bar']), + ('bar', [None, 'bar']), + ('foo', ['foo', None]), + ('baz', [None, None, 'baz']), + ('bar', [None, 'bar', None]), + ('foo', ['foo', 'bar', None]), + ('foo', ['foo', 'bar', 'baz']), + ] + for case in cases: + yield assert_chain_does_provide, \ + _make_providers_that_return(case[1]), \ + case[0] + + +class TestChainProvider(unittest.TestCase): + def test_can_convert_provided_value(self): + chain_provider = ChainProvider( + providers=_make_providers_that_return(['1']), + conversion_func=int, + ) + value = chain_provider.provide() + self.assertIsInstance(value, int) + self.assertEqual(value, 1) + + +class TestConstantProvider(unittest.TestCase): + def test_can_provide_value(self): + provider = ConstantProvider(value='foo') + value = provider.provide() + self.assertEqual(value, 'foo') + + +class TestSectionConfigProvider(unittest.TestCase): + def assert_provides_value(self, config_file_values, section_name, + expected_value, override_providers=None): + fake_session = mock.Mock(spec=session.Session) + fake_session.get_scoped_config.return_value = config_file_values + provider = SectionConfigProvider( + section_name=section_name, + session=fake_session, + override_providers=override_providers + ) + value = provider.provide() + self.assertEqual(value, expected_value) + + def test_provide_section_config(self): + self.assert_provides_value( + config_file_values={ + 'mysection': { + 'section_var': 'section_val' + } + }, + section_name='mysection', + expected_value={'section_var': 'section_val'}, + ) + + def test_provide_service_config_missing_service(self): + self.assert_provides_value( + config_file_values={}, + section_name='mysection', + expected_value=None, + ) + + def test_provide_service_config_not_a_section(self): + self.assert_provides_value( + config_file_values={'myservice': 'not-a-section'}, + section_name='mysection', + expected_value=None, + ) + + def test_provide_section_config_with_overrides(self): + self.assert_provides_value( + config_file_values={ + 'mysection': { + 'override_var': 'from_config_file', + 'no_override_var': 'from_config_file' + } + }, + section_name='mysection', + override_providers={'override_var': ConstantProvider('override')}, + expected_value={ + 'override_var': 'override', + 'no_override_var': 'from_config_file' + } + ) + + def test_provide_section_config_with_only_overrides(self): + self.assert_provides_value( + config_file_values={}, + section_name='mysection', + override_providers={'override_var': ConstantProvider('override')}, + expected_value={ + 'override_var': 'override', + } + ) diff -Nru python-botocore-1.4.70/tests/unit/test_credentials.py python-botocore-1.16.19+repack/tests/unit/test_credentials.py --- python-botocore-1.4.70/tests/unit/test_credentials.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_credentials.py 2020-05-28 19:26:10.000000000 +0000 @@ -12,17 +12,31 @@ # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from datetime import datetime, timedelta +import subprocess import mock import os +import tempfile +import shutil +import json +import copy from dateutil.tz import tzlocal, tzutc from botocore import credentials from botocore.utils import ContainerMetadataFetcher +from botocore.compat import json, six +from botocore.session import Session +from botocore.utils import FileWebIdentityTokenLoader from botocore.credentials import EnvProvider, create_assume_role_refresher +from botocore.credentials import CredentialProvider, AssumeRoleProvider +from botocore.credentials import ConfigProvider, SharedCredentialProvider +from botocore.credentials import ProcessProvider +from botocore.credentials import AssumeRoleWithWebIdentityProvider +from botocore.credentials import Credentials, ProfileProviderBuilder +from botocore.configprovider import ConfigValueStore import botocore.exceptions import botocore.session -from tests import unittest, BaseEnvVar, IntegerRefresher +from tests import unittest, BaseEnvVar, IntegerRefresher, skip_if_windows # Passed to session to keep it from finding default config file @@ -102,6 +116,13 @@ self.assertEqual(self.creds.secret_key, 'NEW-SECRET') self.assertEqual(self.creds.token, 'NEW-TOKEN') + def test_no_expiration(self): + creds = credentials.RefreshableCredentials( + 'ORIGINAL-ACCESS', 'ORIGINAL-SECRET', 'ORIGINAL-TOKEN', + None, self.refresher, 'iam-role', time_fetcher=self.mock_time + ) + self.assertFalse(creds.refresh_needed()) + def test_no_refresh_needed(self): # The expiry time was 30 minutes ago, let's say it's an hour # ago currently. That would mean we don't need a refresh. @@ -109,20 +130,806 @@ datetime.now(tzlocal()) - timedelta(minutes=60)) self.assertTrue(not self.creds.refresh_needed()) - self.assertEqual(self.creds.access_key, 'ORIGINAL-ACCESS') - self.assertEqual(self.creds.secret_key, 'ORIGINAL-SECRET') - self.assertEqual(self.creds.token, 'ORIGINAL-TOKEN') + self.assertEqual(self.creds.access_key, 'ORIGINAL-ACCESS') + self.assertEqual(self.creds.secret_key, 'ORIGINAL-SECRET') + self.assertEqual(self.creds.token, 'ORIGINAL-TOKEN') + + def test_get_credentials_set(self): + # We need to return a consistent set of credentials to use during the + # signing process. + self.mock_time.return_value = ( + datetime.now(tzlocal()) - timedelta(minutes=60)) + self.assertTrue(not self.creds.refresh_needed()) + credential_set = self.creds.get_frozen_credentials() + self.assertEqual(credential_set.access_key, 'ORIGINAL-ACCESS') + self.assertEqual(credential_set.secret_key, 'ORIGINAL-SECRET') + self.assertEqual(credential_set.token, 'ORIGINAL-TOKEN') + + def test_refresh_returns_empty_dict(self): + self.refresher.return_value = {} + self.mock_time.return_value = datetime.now(tzlocal()) + self.assertTrue(self.creds.refresh_needed()) + + with self.assertRaises(botocore.exceptions.CredentialRetrievalError): + self.creds.access_key + + def test_refresh_returns_none(self): + self.refresher.return_value = None + self.mock_time.return_value = datetime.now(tzlocal()) + self.assertTrue(self.creds.refresh_needed()) + + with self.assertRaises(botocore.exceptions.CredentialRetrievalError): + self.creds.access_key + + def test_refresh_returns_partial_credentials(self): + self.refresher.return_value = {'access_key': 'akid'} + self.mock_time.return_value = datetime.now(tzlocal()) + self.assertTrue(self.creds.refresh_needed()) + + with self.assertRaises(botocore.exceptions.CredentialRetrievalError): + self.creds.access_key + + +class TestDeferredRefreshableCredentials(unittest.TestCase): + def setUp(self): + self.refresher = mock.Mock() + self.future_time = datetime.now(tzlocal()) + timedelta(hours=24) + self.metadata = { + 'access_key': 'NEW-ACCESS', + 'secret_key': 'NEW-SECRET', + 'token': 'NEW-TOKEN', + 'expiry_time': self.future_time.isoformat(), + 'role_name': 'rolename', + } + self.refresher.return_value = self.metadata + self.mock_time = mock.Mock() + self.mock_time.return_value = datetime.now(tzlocal()) + + def test_refresh_using_called_on_first_access(self): + creds = credentials.DeferredRefreshableCredentials( + self.refresher, 'iam-role', self.mock_time + ) + + # The credentials haven't been accessed, so there should be no calls. + self.refresher.assert_not_called() + + # Now that the object has been accessed, it should have called the + # refresher + creds.get_frozen_credentials() + self.assertEqual(self.refresher.call_count, 1) + + def test_refresh_only_called_once(self): + creds = credentials.DeferredRefreshableCredentials( + self.refresher, 'iam-role', self.mock_time + ) + + for _ in range(5): + creds.get_frozen_credentials() + + # The credentials were accessed several times in a row, but only + # should call refresh once. + self.assertEqual(self.refresher.call_count, 1) + + +class TestAssumeRoleCredentialFetcher(BaseEnvVar): + def setUp(self): + super(TestAssumeRoleCredentialFetcher, self).setUp() + self.source_creds = credentials.Credentials('a', 'b', 'c') + self.role_arn = 'myrole' + + def create_client_creator(self, with_response): + # Create a mock sts client that returns a specific response + # for assume_role. + client = mock.Mock() + if isinstance(with_response, list): + client.assume_role.side_effect = with_response + else: + client.assume_role.return_value = with_response + return mock.Mock(return_value=client) + + def get_expected_creds_from_response(self, response): + expiration = response['Credentials']['Expiration'] + if isinstance(expiration, datetime): + expiration = expiration.isoformat() + return { + 'access_key': response['Credentials']['AccessKeyId'], + 'secret_key': response['Credentials']['SecretAccessKey'], + 'token': response['Credentials']['SessionToken'], + 'expiry_time': expiration + } + + def some_future_time(self): + timeobj = datetime.now(tzlocal()) + return timeobj + timedelta(hours=24) + + def test_no_cache(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + client_creator = self.create_client_creator(with_response=response) + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn + ) + + expected_response = self.get_expected_creds_from_response(response) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected_response) + + def test_expiration_in_datetime_format(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # Note the lack of isoformat(), we're using + # a datetime.datetime type. This will ensure + # we test both parsing as well as serializing + # from a given datetime because the credentials + # are immediately expired. + 'Expiration': self.some_future_time() + }, + } + client_creator = self.create_client_creator(with_response=response) + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn + ) + + expected_response = self.get_expected_creds_from_response(response) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected_response) + + def test_retrieves_from_cache(self): + date_in_future = datetime.utcnow() + timedelta(seconds=1000) + utc_timestamp = date_in_future.isoformat() + 'Z' + cache_key = ( + '793d6e2f27667ab2da104824407e486bfec24a47' + ) + cache = { + cache_key: { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': utc_timestamp, + } + } + } + client_creator = mock.Mock() + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, cache=cache + ) + + expected_response = self.get_expected_creds_from_response( + cache[cache_key] + ) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected_response) + client_creator.assert_not_called() + + def test_cache_key_is_windows_safe(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + cache = {} + client_creator = self.create_client_creator(with_response=response) + + role_arn = 'arn:aws:iam::role/foo-role' + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, role_arn, cache=cache + ) + + refresher.fetch_credentials() + + # On windows, you cannot use a a ':' in the filename, so + # we need to make sure that it doesn't make it into the cache key. + cache_key = ( + '75c539f0711ba78c5b9e488d0add95f178a54d74' + ) + self.assertIn(cache_key, cache) + self.assertEqual(cache[cache_key], response) + + def test_cache_key_with_role_session_name(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + cache = {} + client_creator = self.create_client_creator(with_response=response) + role_session_name = 'my_session_name' + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, cache=cache, + extra_args={'RoleSessionName': role_session_name} + ) + refresher.fetch_credentials() + + # This is the sha256 hex digest of the expected assume role args. + cache_key = ( + '2964201f5648c8be5b9460a9cf842d73a266daf2' + ) + self.assertIn(cache_key, cache) + self.assertEqual(cache[cache_key], response) + + def test_cache_key_with_policy(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + cache = {} + client_creator = self.create_client_creator(with_response=response) + policy = json.dumps({ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "*", + "Resource": "*" + } + ] + }) + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, cache=cache, + extra_args={'Policy': policy} + ) + refresher.fetch_credentials() + + # This is the sha256 hex digest of the expected assume role args. + cache_key = ( + '176f223d915e82456c253545e192aa21d68f5ab8' + ) + self.assertIn(cache_key, cache) + self.assertEqual(cache[cache_key], response) + + def test_assume_role_in_cache_but_expired(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + cache = { + 'development--myrole': { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': datetime.now(tzlocal()), + } + } + } + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, cache=cache + ) + expected = self.get_expected_creds_from_response(response) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected) + + def test_role_session_name_can_be_provided(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + role_session_name = 'myname' + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'RoleSessionName': role_session_name} + ) + refresher.fetch_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn=self.role_arn, RoleSessionName=role_session_name) + + def test_external_id_can_be_provided(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + external_id = 'my_external_id' + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'ExternalId': external_id} + ) + refresher.fetch_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn=self.role_arn, ExternalId=external_id, + RoleSessionName=mock.ANY) + + def test_policy_can_be_provided(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + policy = json.dumps({ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "*", + "Resource": "*" + } + ] + }) + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'Policy': policy} + ) + refresher.fetch_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn=self.role_arn, Policy=policy, + RoleSessionName=mock.ANY) + + def test_duration_seconds_can_be_provided(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + duration = 1234 + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'DurationSeconds': duration} + ) + refresher.fetch_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn=self.role_arn, DurationSeconds=duration, + RoleSessionName=mock.ANY) + + def test_mfa(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + prompter = mock.Mock(return_value='token-code') + mfa_serial = 'mfa' + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'SerialNumber': mfa_serial}, mfa_prompter=prompter + ) + refresher.fetch_credentials() + + client = client_creator.return_value + # In addition to the normal assume role args, we should also + # inject the serial number from the config as well as the + # token code that comes from prompting the user (the prompter + # object). + client.assume_role.assert_called_with( + RoleArn='myrole', RoleSessionName=mock.ANY, SerialNumber='mfa', + TokenCode='token-code') + + def test_refreshes(self): + responses = [{ + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # We're creating an expiry time in the past so as + # soon as we try to access the credentials, the + # refresh behavior will be triggered. + 'Expiration': ( + datetime.now(tzlocal()) - + timedelta(seconds=100)).isoformat(), + }, + }, { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + } + }] + client_creator = self.create_client_creator(with_response=responses) + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn + ) + + # The first call will simply use whatever credentials it is given. + # The second will check the cache, and only make a call if the + # cached credentials are expired. + refresher.fetch_credentials() + refresher.fetch_credentials() + + client = client_creator.return_value + assume_role_calls = client.assume_role.call_args_list + self.assertEqual(len(assume_role_calls), 2, assume_role_calls) + + def test_mfa_refresh_enabled(self): + responses = [{ + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # We're creating an expiry time in the past so as + # soon as we try to access the credentials, the + # refresh behavior will be triggered. + 'Expiration': ( + datetime.now(tzlocal()) - + timedelta(seconds=100)).isoformat(), + }, + }, { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + } + }] + client_creator = self.create_client_creator(with_response=responses) + + token_code = 'token-code-1' + prompter = mock.Mock(side_effect=[token_code]) + mfa_serial = 'mfa' + + refresher = credentials.AssumeRoleCredentialFetcher( + client_creator, self.source_creds, self.role_arn, + extra_args={'SerialNumber': mfa_serial}, mfa_prompter=prompter + ) + + # This is will refresh credentials if they're expired. Because + # we set the expiry time to something in the past, this will + # trigger the refresh behavior. + refresher.fetch_credentials() + + assume_role = client_creator.return_value.assume_role + calls = [c[1] for c in assume_role.call_args_list] + expected_calls = [ + { + 'RoleArn': self.role_arn, + 'RoleSessionName': mock.ANY, + 'SerialNumber': mfa_serial, + 'TokenCode': token_code + } + ] + self.assertEqual(calls, expected_calls) + + +class TestAssumeRoleWithWebIdentityCredentialFetcher(BaseEnvVar): + def setUp(self): + super(TestAssumeRoleWithWebIdentityCredentialFetcher, self).setUp() + self.role_arn = 'myrole' + + def load_token(self): + return 'totally.a.token' + + def some_future_time(self): + timeobj = datetime.now(tzlocal()) + return timeobj + timedelta(hours=24) + + def create_client_creator(self, with_response): + # Create a mock sts client that returns a specific response + # for assume_role. + client = mock.Mock() + if isinstance(with_response, list): + client.assume_role_with_web_identity.side_effect = with_response + else: + client.assume_role_with_web_identity.return_value = with_response + return mock.Mock(return_value=client) + + def get_expected_creds_from_response(self, response): + expiration = response['Credentials']['Expiration'] + if isinstance(expiration, datetime): + expiration = expiration.isoformat() + return { + 'access_key': response['Credentials']['AccessKeyId'], + 'secret_key': response['Credentials']['SecretAccessKey'], + 'token': response['Credentials']['SessionToken'], + 'expiry_time': expiration + } + + def test_no_cache(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + client_creator = self.create_client_creator(with_response=response) + refresher = credentials.AssumeRoleWithWebIdentityCredentialFetcher( + client_creator, self.load_token, self.role_arn + ) + expected_response = self.get_expected_creds_from_response(response) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected_response) + + def test_retrieves_from_cache(self): + date_in_future = datetime.utcnow() + timedelta(seconds=1000) + utc_timestamp = date_in_future.isoformat() + 'Z' + cache_key = ( + '793d6e2f27667ab2da104824407e486bfec24a47' + ) + cache = { + cache_key: { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': utc_timestamp, + } + } + } + client_creator = mock.Mock() + refresher = credentials.AssumeRoleWithWebIdentityCredentialFetcher( + client_creator, self.load_token, self.role_arn, cache=cache + ) + expected_response = self.get_expected_creds_from_response( + cache[cache_key] + ) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected_response) + client_creator.assert_not_called() + + def test_assume_role_in_cache_but_expired(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + cache = { + 'development--myrole': { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': datetime.now(tzlocal()), + } + } + } + + refresher = credentials.AssumeRoleWithWebIdentityCredentialFetcher( + client_creator, self.load_token, self.role_arn, cache=cache + ) + expected = self.get_expected_creds_from_response(response) + response = refresher.fetch_credentials() + + self.assertEqual(response, expected) + + +class TestAssumeRoleWithWebIdentityCredentialProvider(unittest.TestCase): + def setUp(self): + self.profile_name = 'some-profile' + self.config = { + 'role_arn': 'arn:aws:iam::123:role/role-name', + 'web_identity_token_file': '/some/path/token.jwt' + } + + def create_client_creator(self, with_response): + # Create a mock sts client that returns a specific response + # for assume_role. + client = mock.Mock() + if isinstance(with_response, list): + client.assume_role_with_web_identity.side_effect = with_response + else: + client.assume_role_with_web_identity.return_value = with_response + return mock.Mock(return_value=client) + + def some_future_time(self): + timeobj = datetime.now(tzlocal()) + return timeobj + timedelta(hours=24) + + def _mock_loader_cls(self, token=''): + mock_loader = mock.Mock(spec=FileWebIdentityTokenLoader) + mock_loader.return_value = token + mock_cls = mock.Mock() + mock_cls.return_value = mock_loader + return mock_cls + + def _load_config(self): + return { + 'profiles': { + self.profile_name: self.config, + } + } + + def test_assume_role_with_no_cache(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + client_creator = self.create_client_creator(with_response=response) + mock_loader_cls = self._mock_loader_cls('totally.a.token') + provider = credentials.AssumeRoleWithWebIdentityProvider( + load_config=self._load_config, + client_creator=client_creator, + cache={}, + profile_name=self.profile_name, + token_loader_cls=mock_loader_cls, + ) + + creds = provider.load() + + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + mock_loader_cls.assert_called_with('/some/path/token.jwt') + + def test_assume_role_retrieves_from_cache(self): + date_in_future = datetime.utcnow() + timedelta(seconds=1000) + utc_timestamp = date_in_future.isoformat() + 'Z' - def test_get_credentials_set(self): - # We need to return a consistent set of credentials to use during the - # signing process. - self.mock_time.return_value = ( - datetime.now(tzlocal()) - timedelta(minutes=60)) - self.assertTrue(not self.creds.refresh_needed()) - credential_set = self.creds.get_frozen_credentials() - self.assertEqual(credential_set.access_key, 'ORIGINAL-ACCESS') - self.assertEqual(credential_set.secret_key, 'ORIGINAL-SECRET') - self.assertEqual(credential_set.token, 'ORIGINAL-TOKEN') + cache_key = ( + 'c29461feeacfbed43017d20612606ff76abc073d' + ) + cache = { + cache_key: { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': utc_timestamp, + } + } + } + mock_loader_cls = self._mock_loader_cls('totally.a.token') + client_creator = mock.Mock() + provider = credentials.AssumeRoleWithWebIdentityProvider( + load_config=self._load_config, + client_creator=client_creator, + cache=cache, + profile_name=self.profile_name, + token_loader_cls=mock_loader_cls, + ) + + creds = provider.load() + + self.assertEqual(creds.access_key, 'foo-cached') + self.assertEqual(creds.secret_key, 'bar-cached') + self.assertEqual(creds.token, 'baz-cached') + client_creator.assert_not_called() + + def test_assume_role_in_cache_but_expired(self): + expired_creds = datetime.now(tzlocal()) + valid_creds = expired_creds + timedelta(hours=1) + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': valid_creds, + }, + } + cache = { + 'development--myrole': { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': expired_creds, + } + } + } + client_creator = self.create_client_creator(with_response=response) + mock_loader_cls = self._mock_loader_cls('totally.a.token') + provider = credentials.AssumeRoleWithWebIdentityProvider( + load_config=self._load_config, + client_creator=client_creator, + cache=cache, + profile_name=self.profile_name, + token_loader_cls=mock_loader_cls, + ) + + creds = provider.load() + + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + mock_loader_cls.assert_called_with('/some/path/token.jwt') + + def test_role_session_name_provided(self): + self.config['role_session_name'] = 'myname' + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + mock_loader_cls = self._mock_loader_cls('totally.a.token') + provider = credentials.AssumeRoleWithWebIdentityProvider( + load_config=self._load_config, + client_creator=client_creator, + cache={}, + profile_name=self.profile_name, + token_loader_cls=mock_loader_cls, + ) + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + client = client_creator.return_value + client.assume_role_with_web_identity.assert_called_with( + RoleArn='arn:aws:iam::123:role/role-name', + RoleSessionName='myname', + WebIdentityToken='totally.a.token' + ) + + def test_role_arn_not_set(self): + del self.config['role_arn'] + client_creator = self.create_client_creator(with_response={}) + provider = credentials.AssumeRoleWithWebIdentityProvider( + load_config=self._load_config, + client_creator=client_creator, + cache={}, + profile_name=self.profile_name, + ) + # If the role arn isn't set but the token path is raise an error + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() class TestEnvVar(BaseEnvVar): @@ -172,6 +979,48 @@ creds = provider.load() self.assertIsNone(creds) + def test_envvars_empty_string(self): + environ = { + 'AWS_ACCESS_KEY_ID': '', + 'AWS_SECRET_ACCESS_KEY': '', + 'AWS_SECURITY_TOKEN': '', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + self.assertIsNone(creds) + + def test_expiry_omitted_if_envvar_empty(self): + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'AWS_CREDENTIAL_EXPIRATION': '', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + # Because we treat empty env vars the same as not being provided, + # we should return static credentials and not a refreshable + # credential. + self.assertNotIsInstance(creds, credentials.RefreshableCredentials) + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + + def test_error_when_expiry_required_but_empty(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + + del environ['AWS_CREDENTIAL_EXPIRATION'] + + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + creds.get_frozen_credentials() + def test_can_override_env_var_mapping(self): # We can change the env var provider to # use our specified env var names. @@ -211,6 +1060,29 @@ self.assertEqual(creds.secret_key, 'bar') self.assertEqual(creds.token, 'baz') + def test_can_override_expiry_env_var_mapping(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'FOO_EXPIRY': expiry_time.isoformat(), + } + provider = credentials.EnvProvider( + environ, {'expiry_time': 'FOO_EXPIRY'} + ) + creds = provider.load() + + # Since the credentials are expired, we'll trigger a refresh whenever + # we try to access them. Since the environment credentials are still + # expired, this will raise an error. + error_message = ( + "Credentials were refreshed, but the refreshed credentials are " + "still expired." + ) + with self.assertRaisesRegexp(RuntimeError, error_message): + creds.get_frozen_credentials() + def test_partial_creds_is_an_error(self): # If the user provides an access key, they must also # provide a secret key. Not doing so will generate an @@ -223,6 +1095,158 @@ with self.assertRaises(botocore.exceptions.PartialCredentialsError): provider.load() + def test_partial_creds_is_an_error_empty_string(self): + # If the user provides an access key, they must also + # provide a secret key. Not doing so will generate an + # error. + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': '', + } + provider = credentials.EnvProvider(environ) + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + provider.load() + + def test_missing_access_key_id_raises_error(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + + del environ['AWS_ACCESS_KEY_ID'] + + # Since the credentials are expired, we'll trigger a refresh + # whenever we try to access them. At that refresh time, the relevant + # environment variables are incomplete, so an error will be raised. + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + creds.get_frozen_credentials() + + def test_credentials_refresh(self): + # First initialize the credentials with an expired credential set. + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + self.assertIsInstance(creds, credentials.RefreshableCredentials) + + # Since the credentials are expired, we'll trigger a refresh whenever + # we try to access them. But at this point the environment hasn't been + # updated, so when it refreshes it will trigger an exception because + # the new creds are still expired. + error_message = ( + "Credentials were refreshed, but the refreshed credentials are " + "still expired." + ) + with self.assertRaisesRegexp(RuntimeError, error_message): + creds.get_frozen_credentials() + + # Now we update the environment with non-expired credentials, + # so when we access the creds it will refresh and grab the new ones. + expiry_time = datetime.now(tzlocal()) + timedelta(hours=1) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'bin') + self.assertEqual(frozen.secret_key, 'bam') + self.assertEqual(frozen.token, 'biz') + + def test_credentials_only_refresh_when_needed(self): + expiry_time = datetime.now(tzlocal()) + timedelta(hours=2) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + + # Perform the initial credential load + creds = provider.load() + + # Now that the initial load has been performed, we go ahead and + # change the environment. If the credentials were expired, + # they would immediately refresh upon access and we'd get the new + # ones. Since they've got plenty of time, they shouldn't refresh. + expiry_time = datetime.now(tzlocal()) + timedelta(hours=3) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + + def test_credentials_not_refreshable_if_no_expiry_present(self): + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + self.assertNotIsInstance(creds, credentials.RefreshableCredentials) + self.assertIsInstance(creds, credentials.Credentials) + + def test_credentials_do_not_become_refreshable(self): + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_SESSION_TOKEN': 'baz', + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ.update({ + 'AWS_ACCESS_KEY_ID': 'bin', + 'AWS_SECRET_ACCESS_KEY': 'bam', + 'AWS_SESSION_TOKEN': 'biz', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + }) + + frozen = creds.get_frozen_credentials() + self.assertEqual(frozen.access_key, 'foo') + self.assertEqual(frozen.secret_key, 'bar') + self.assertEqual(frozen.token, 'baz') + self.assertNotIsInstance(creds, credentials.RefreshableCredentials) + + def test_credentials_throw_error_if_expiry_goes_away(self): + expiry_time = datetime.now(tzlocal()) - timedelta(hours=1) + environ = { + 'AWS_ACCESS_KEY_ID': 'foo', + 'AWS_SECRET_ACCESS_KEY': 'bar', + 'AWS_CREDENTIAL_EXPIRATION': expiry_time.isoformat(), + } + provider = credentials.EnvProvider(environ) + creds = provider.load() + + del environ['AWS_CREDENTIAL_EXPIRATION'] + + with self.assertRaises(credentials.PartialCredentialsError): + creds.get_frozen_credentials() + class TestSharedCredentialsProvider(BaseEnvVar): def setUp(self): @@ -506,8 +1530,10 @@ super(CredentialResolverTest, self).setUp() self.provider1 = mock.Mock() self.provider1.METHOD = 'provider1' + self.provider1.CANONICAL_NAME = 'CustomProvider1' self.provider2 = mock.Mock() self.provider2.METHOD = 'provider2' + self.provider2.CANONICAL_NAME = 'CustomProvider2' self.fake_creds = credentials.Credentials('a', 'b', 'c') def test_load_credentials_single_provider(self): @@ -620,29 +1646,43 @@ def setUp(self): super(TestCreateCredentialResolver, self).setUp() - self.session = mock.Mock() - self.session_instance_vars = { + self.session = mock.Mock(spec=botocore.session.Session) + self.session.get_component = self.fake_get_component + + self.fake_instance_variables = { 'credentials_file': 'a', 'legacy_config_file': 'b', 'config_file': 'c', - 'metadata_service_timeout': 'd', - 'metadata_service_num_attempts': 'e', + 'metadata_service_timeout': 1, + 'metadata_service_num_attempts': 1, } - self.fake_env_vars = {} - self.session.get_config_variable = self.fake_get_config_variable + self.config_loader = ConfigValueStore() + for name, value in self.fake_instance_variables.items(): + self.config_loader.set_config_variable(name, value) + + self.session.get_config_variable = \ + self.config_loader.get_config_variable + self.session.set_config_variable = \ + self.fake_set_config_variable + self.session.instance_variables = self.fake_instance_variable_lookup + + def fake_get_component(self, key): + if key == 'config_provider': + return self.config_loader + return None + + def fake_instance_variable_lookup(self): + return self.fake_instance_variables - def fake_get_config_variable(self, name, methods=None): - if methods == ('instance',): - return self.session_instance_vars.get(name) - elif methods is not None and 'env' in methods: - return self.fake_env_vars.get(name) + def fake_set_config_variable(self, logical_name, value): + self.fake_instance_variables[logical_name] = value def test_create_credential_resolver(self): resolver = credentials.create_credential_resolver(self.session) self.assertIsInstance(resolver, credentials.CredentialResolver) def test_explicit_profile_ignores_env_provider(self): - self.session_instance_vars['profile'] = 'dev' + self.session.set_config_variable('profile', 'dev') resolver = credentials.create_credential_resolver(self.session) self.assertTrue( @@ -650,17 +1690,159 @@ def test_no_profile_checks_env_provider(self): # If no profile is provided, - self.session_instance_vars.pop('profile', None) + self.config_loader.set_config_variable('profile', None) resolver = credentials.create_credential_resolver(self.session) # Then an EnvProvider should be part of our credential lookup chain. self.assertTrue( any(isinstance(p, EnvProvider) for p in resolver.providers)) - def test_env_provider_added_if_profile_from_env_set(self): - self.fake_env_vars['profile'] = 'profile-from-env' + def test_default_cache(self): resolver = credentials.create_credential_resolver(self.session) - self.assertTrue( - any(isinstance(p, EnvProvider) for p in resolver.providers)) + cache = resolver.get_provider('assume-role').cache + self.assertIsInstance(cache, dict) + self.assertEqual(cache, {}) + + def test_custom_cache(self): + custom_cache = credentials.JSONFileCache() + resolver = credentials.create_credential_resolver( + self.session, custom_cache + ) + cache = resolver.get_provider('assume-role').cache + self.assertIs(cache, custom_cache) + + +class TestCanonicalNameSourceProvider(BaseEnvVar): + def setUp(self): + super(TestCanonicalNameSourceProvider, self).setUp() + self.custom_provider1 = mock.Mock(spec=CredentialProvider) + self.custom_provider1.METHOD = 'provider1' + self.custom_provider1.CANONICAL_NAME = 'CustomProvider1' + self.custom_provider2 = mock.Mock(spec=CredentialProvider) + self.custom_provider2.METHOD = 'provider2' + self.custom_provider2.CANONICAL_NAME = 'CustomProvider2' + self.fake_creds = credentials.Credentials('a', 'b', 'c') + + def test_load_source_credentials(self): + provider = credentials.CanonicalNameCredentialSourcer(providers=[ + self.custom_provider1, self.custom_provider2 + ]) + self.custom_provider1.load.return_value = self.fake_creds + result = provider.source_credentials('CustomProvider1') + self.assertIs(result, self.fake_creds) + + def test_load_source_credentials_case_insensitive(self): + provider = credentials.CanonicalNameCredentialSourcer(providers=[ + self.custom_provider1, self.custom_provider2 + ]) + self.custom_provider1.load.return_value = self.fake_creds + result = provider.source_credentials('cUsToMpRoViDeR1') + self.assertIs(result, self.fake_creds) + + def test_load_unknown_canonical_name_raises_error(self): + provider = credentials.CanonicalNameCredentialSourcer(providers=[ + self.custom_provider1]) + with self.assertRaises(botocore.exceptions.UnknownCredentialError): + provider.source_credentials('CustomUnknown') + + def _assert_assume_role_creds_returned_with_shared_file(self, provider): + assume_role_provider = mock.Mock(spec=AssumeRoleProvider) + assume_role_provider.METHOD = 'assume-role' + assume_role_provider.CANONICAL_NAME = None + + source = credentials.CanonicalNameCredentialSourcer(providers=[ + assume_role_provider, provider + ]) + + # If the assume role provider returns credentials, those should be + # what is returned. + assume_role_provider.load.return_value = self.fake_creds + provider.load.return_value = credentials.Credentials( + 'd', 'e', 'f' + ) + + creds = source.source_credentials(provider.CANONICAL_NAME) + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'a') + self.assertEqual(creds.secret_key, 'b') + self.assertEqual(creds.token, 'c') + self.assertFalse(provider.load.called) + + def _assert_returns_creds_if_assume_role_not_used(self, provider): + assume_role_provider = mock.Mock(spec=AssumeRoleProvider) + assume_role_provider.METHOD = 'assume-role' + assume_role_provider.CANONICAL_NAME = None + + source = credentials.CanonicalNameCredentialSourcer(providers=[ + assume_role_provider, provider + ]) + + # If the assume role provider returns nothing, then whatever is in + # the config provider should be returned. + assume_role_provider.load.return_value = None + provider.load.return_value = credentials.Credentials( + 'd', 'e', 'f' + ) + + creds = source.source_credentials(provider.CANONICAL_NAME) + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'd') + self.assertEqual(creds.secret_key, 'e') + self.assertEqual(creds.token, 'f') + self.assertTrue(assume_role_provider.load.called) + + def test_assume_role_creds_returned_with_config_file(self): + provider = mock.Mock(spec=ConfigProvider) + provider.METHOD = 'config-file' + provider.CANONICAL_NAME = 'SharedConfig' + self._assert_assume_role_creds_returned_with_shared_file(provider) + + def test_config_file_returns_creds_if_assume_role_not_used(self): + provider = mock.Mock(spec=ConfigProvider) + provider.METHOD = 'config-file' + provider.CANONICAL_NAME = 'SharedConfig' + self._assert_returns_creds_if_assume_role_not_used(provider) + + def test_assume_role_creds_returned_with_cred_file(self): + provider = mock.Mock(spec=SharedCredentialProvider) + provider.METHOD = 'credentials-file' + provider.CANONICAL_NAME = 'SharedCredentials' + self._assert_assume_role_creds_returned_with_shared_file(provider) + + def test_creds_file_returns_creds_if_assume_role_not_used(self): + provider = mock.Mock(spec=SharedCredentialProvider) + provider.METHOD = 'credentials-file' + provider.CANONICAL_NAME = 'SharedCredentials' + self._assert_returns_creds_if_assume_role_not_used(provider) + + def test_get_canonical_assume_role_without_shared_files(self): + assume_role_provider = mock.Mock(spec=AssumeRoleProvider) + assume_role_provider.METHOD = 'assume-role' + assume_role_provider.CANONICAL_NAME = None + assume_role_provider.load.return_value = self.fake_creds + + provider = credentials.CanonicalNameCredentialSourcer(providers=[ + assume_role_provider + ]) + + creds = provider.source_credentials('SharedConfig') + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'a') + self.assertEqual(creds.secret_key, 'b') + self.assertEqual(creds.token, 'c') + + creds = provider.source_credentials('SharedCredentials') + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'a') + self.assertEqual(creds.secret_key, 'b') + self.assertEqual(creds.token, 'c') + + def test_get_canonical_shared_files_without_assume_role(self): + provider = credentials.CanonicalNameCredentialSourcer( + providers=[self.custom_provider1]) + with self.assertRaises(botocore.exceptions.UnknownCredentialError): + provider.source_credentials('SharedConfig') + with self.assertRaises(botocore.exceptions.UnknownCredentialError): + provider.source_credentials('SharedCredentials') class TestAssumeRoleCredentialProvider(unittest.TestCase): @@ -677,6 +1859,14 @@ 'longterm': { 'aws_access_key_id': 'akid', 'aws_secret_access_key': 'skid', + }, + 'non-static': { + 'role_arn': 'myrole', + 'credential_source': 'Environment' + }, + 'chained': { + 'role_arn': 'chained-role', + 'source_profile': 'development' } } } @@ -768,8 +1958,42 @@ date_in_future = datetime.utcnow() + timedelta(seconds=1000) utc_timestamp = date_in_future.isoformat() + 'Z' self.fake_config['profiles']['development']['role_arn'] = 'myrole' + + cache_key = ( + '793d6e2f27667ab2da104824407e486bfec24a47' + ) cache = { - 'development--myrole': { + cache_key: { + 'Credentials': { + 'AccessKeyId': 'foo-cached', + 'SecretAccessKey': 'bar-cached', + 'SessionToken': 'baz-cached', + 'Expiration': utc_timestamp, + } + } + } + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), mock.Mock(), + cache=cache, profile_name='development') + + creds = provider.load() + + self.assertEqual(creds.access_key, 'foo-cached') + self.assertEqual(creds.secret_key, 'bar-cached') + self.assertEqual(creds.token, 'baz-cached') + + def test_chain_prefers_cache(self): + date_in_future = datetime.utcnow() + timedelta(seconds=1000) + utc_timestamp = date_in_future.isoformat() + 'Z' + + # The profile we will be using has a cache entry, but the profile it + # is sourcing from does not. This should result in the cached + # credentials being used, and the source profile not being called. + cache_key = ( + '3d440bf424caf7a5ee664fbf89139a84409f95c2' + ) + cache = { + cache_key: { 'Credentials': { 'AccessKeyId': 'foo-cached', 'SecretAccessKey': 'bar-cached', @@ -778,9 +2002,14 @@ } } } + + client_creator = self.create_client_creator([ + Exception("Attempted to call assume role when not needed.") + ]) + provider = credentials.AssumeRoleProvider( - self.create_config_loader(), mock.Mock(), - cache=cache, profile_name='development') + self.create_config_loader(), client_creator, + cache=cache, profile_name='chained') creds = provider.load() @@ -794,7 +2023,7 @@ 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': datetime.now(tzlocal()).isoformat() + 'Expiration': self.some_future_time().isoformat() }, } cache = {} @@ -806,12 +2035,14 @@ self.create_config_loader(), client_creator, cache=cache, profile_name='development') - provider.load() + provider.load().get_frozen_credentials() # On windows, you cannot use a a ':' in the filename, so - # we need to do some small transformations on the filename - # to replace any ':' that come up. - self.assertEqual(cache['development--arn_aws_iam__foo-role'], - response) + # we need to make sure it doesn't come up in the cache key. + cache_key = ( + '3f8e35c8dca6211d496e830a2de723b2387921e3' + ) + self.assertIn(cache_key, cache) + self.assertEqual(cache[cache_key], response) def test_cache_key_with_role_session_name(self): response = { @@ -819,7 +2050,7 @@ 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': datetime.now(tzlocal()).isoformat() + 'Expiration': self.some_future_time().isoformat() }, } cache = {} @@ -833,21 +2064,24 @@ self.create_config_loader(), client_creator, cache=cache, profile_name='development') - provider.load() - self.assertEqual( - cache['development--arn_aws_iam__foo-role--foo_role_session_name'], - response) + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + cache_key = ( + '5e75ce21b6a64ab183b29c4a159b6f0248121d51' + ) + self.assertIn(cache_key, cache) + self.assertEqual(cache[cache_key], response) def test_assume_role_in_cache_but_expired(self): - expired_creds = datetime.utcnow() - valid_creds = expired_creds + timedelta(seconds=60) - utc_timestamp = expired_creds.isoformat() + 'Z' + expired_creds = datetime.now(tzlocal()) + valid_creds = expired_creds + timedelta(hours=1) response = { 'Credentials': { 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': valid_creds.isoformat() + 'Z', + 'Expiration': valid_creds, }, } client_creator = self.create_client_creator(with_response=response) @@ -857,7 +2091,7 @@ 'AccessKeyId': 'foo-cached', 'SecretAccessKey': 'bar-cached', 'SessionToken': 'baz-cached', - 'Expiration': utc_timestamp, + 'Expiration': expired_creds, } } } @@ -879,7 +2113,7 @@ 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': datetime.now(tzlocal()).isoformat(), + 'Expiration': self.some_future_time().isoformat(), }, } client_creator = self.create_client_creator(with_response=response) @@ -887,7 +2121,8 @@ self.create_config_loader(), client_creator, cache={}, profile_name='development') - provider.load() + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() client = client_creator.return_value client.assume_role.assert_called_with( @@ -900,158 +2135,561 @@ 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - 'Expiration': datetime.now(tzlocal()).isoformat(), + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + client_creator, cache={}, profile_name='development') + + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn='myrole', ExternalId='myid', RoleSessionName=mock.ANY) + + def test_assume_role_with_duration(self): + self.fake_config['profiles']['development']['duration_seconds'] = 7200 + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), client_creator, + cache={}, profile_name='development') + + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn='myrole', RoleSessionName=mock.ANY, + DurationSeconds=7200) + + def test_assume_role_with_bad_duration(self): + self.fake_config['profiles']['development']['duration_seconds'] = 'garbage value' + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), client_creator, + cache={}, profile_name='development') + + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + client = client_creator.return_value + client.assume_role.assert_called_with( + RoleArn='myrole', RoleSessionName=mock.ANY) + + def test_assume_role_with_mfa(self): + self.fake_config['profiles']['development']['mfa_serial'] = 'mfa' + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + prompter = mock.Mock(return_value='token-code') + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), client_creator, + cache={}, profile_name='development', prompter=prompter) + + # The credentials won't actually be assumed until they're requested. + provider.load().get_frozen_credentials() + + client = client_creator.return_value + # In addition to the normal assume role args, we should also + # inject the serial number from the config as well as the + # token code that comes from prompting the user (the prompter + # object). + client.assume_role.assert_called_with( + RoleArn='myrole', RoleSessionName=mock.ANY, SerialNumber='mfa', + TokenCode='token-code') + + def test_assume_role_populates_session_name_on_refresh(self): + expiration_time = self.some_future_time() + next_expiration_time = expiration_time + timedelta(hours=4) + responses = [{ + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # We're creating an expiry time in the past so as + # soon as we try to access the credentials, the + # refresh behavior will be triggered. + 'Expiration': expiration_time.isoformat(), + }, + }, { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': next_expiration_time.isoformat(), + } + }] + client_creator = self.create_client_creator(with_response=responses) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), client_creator, + cache={}, profile_name='development', + prompter=mock.Mock(return_value='token-code')) + + local_now = mock.Mock(return_value=datetime.now(tzlocal())) + with mock.patch('botocore.credentials._local_now', local_now): + # This will trigger the first assume_role() call. It returns + # credentials that are expired and will trigger a refresh. + creds = provider.load() + creds.get_frozen_credentials() + + # This will trigger the second assume_role() call because + # a refresh is needed. + local_now.return_value = expiration_time + creds.get_frozen_credentials() + + client = client_creator.return_value + assume_role_calls = client.assume_role.call_args_list + self.assertEqual(len(assume_role_calls), 2, assume_role_calls) + # The args should be identical. That is, the second + # assume_role call should have the exact same args as the + # initial assume_role call. + self.assertEqual(assume_role_calls[0], assume_role_calls[1]) + + def test_assume_role_mfa_cannot_refresh_credentials(self): + # Note: we should look into supporting optional behavior + # in the future that allows for reprompting for credentials. + # But for now, if we get temp creds with MFA then when those + # creds expire, we can't refresh the credentials. + self.fake_config['profiles']['development']['mfa_serial'] = 'mfa' + expiration_time = self.some_future_time() + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # We're creating an expiry time in the past so as + # soon as we try to access the credentials, the + # refresh behavior will be triggered. + 'Expiration': expiration_time.isoformat(), + }, + } + client_creator = self.create_client_creator(with_response=response) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), client_creator, + cache={}, profile_name='development', + prompter=mock.Mock(return_value='token-code')) + + local_now = mock.Mock(return_value=datetime.now(tzlocal())) + with mock.patch('botocore.credentials._local_now', local_now): + # Loads the credentials, resulting in the first assume role call. + creds = provider.load() + creds.get_frozen_credentials() + + local_now.return_value = expiration_time + with self.assertRaises(credentials.RefreshWithMFAUnsupportedError): + # access_key is a property that will refresh credentials + # if they're expired. Because we set the expiry time to + # something in the past, this will trigger the refresh + # behavior, with with MFA will currently raise an exception. + creds.access_key + + def test_no_config_is_noop(self): + self.fake_config['profiles']['development'] = { + 'aws_access_key_id': 'foo', + 'aws_secret_access_key': 'bar', + } + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='development') + + # Because a role_arn was not specified, the AssumeRoleProvider + # is a noop and will not return credentials (which means we + # move on to the next provider). + creds = provider.load() + self.assertIsNone(creds) + + def test_source_profile_not_provided(self): + del self.fake_config['profiles']['development']['source_profile'] + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='development') + + # source_profile is required, we shoudl get an error. + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + provider.load() + + def test_source_profile_does_not_exist(self): + dev_profile = self.fake_config['profiles']['development'] + dev_profile['source_profile'] = 'does-not-exist' + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='development') + + # source_profile is required, we shoudl get an error. + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() + + def test_incomplete_source_credentials_raises_error(self): + del self.fake_config['profiles']['longterm']['aws_access_key_id'] + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='development') + + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + provider.load() + + def test_source_profile_and_credential_source_provided(self): + profile = self.fake_config['profiles']['development'] + profile['credential_source'] = 'SomeCredentialProvider' + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='development') + + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() + + def test_credential_source_with_no_resolver_configured(self): + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='non-static') + + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() + + def test_credential_source_with_no_providers_configured(self): + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='non-static', + credential_sourcer=credentials.CanonicalNameCredentialSourcer([]) + ) + + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() + + def test_credential_source_not_among_providers(self): + fake_provider = mock.Mock() + fake_provider.CANONICAL_NAME = 'CustomFakeProvider' + + provider = credentials.AssumeRoleProvider( + self.create_config_loader(), + mock.Mock(), cache={}, profile_name='non-static', + credential_sourcer=credentials.CanonicalNameCredentialSourcer( + [fake_provider]) + ) + + # We configured the assume role provider with a single fake source + # provider, CustomFakeProvider. The profile we are attempting to use + # calls for the Environment credential provider as the credentials + # source. Since that isn't one of the configured source providers, + # an error is thrown. + with self.assertRaises(botocore.exceptions.InvalidConfigError): + provider.load() + + def test_assume_role_with_credential_source(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() + }, + } + client_creator = self.create_client_creator(with_response=response) + + config = { + 'profiles': { + 'sourced': { + 'role_arn': 'myrole', + 'credential_source': 'CustomMockProvider' + } + } + } + config_loader = self.create_config_loader(with_config=config) + + fake_provider = mock.Mock() + fake_provider.CANONICAL_NAME = 'CustomMockProvider' + fake_creds = credentials.Credentials( + 'akid', 'skid', 'token' + ) + fake_provider.load.return_value = fake_creds + + provider = credentials.AssumeRoleProvider( + config_loader, client_creator, cache={}, profile_name='sourced', + credential_sourcer=credentials.CanonicalNameCredentialSourcer( + [fake_provider]) + ) + + creds = provider.load() + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + client_creator.assert_called_with( + 'sts', aws_access_key_id=fake_creds.access_key, + aws_secret_access_key=fake_creds.secret_key, + aws_session_token=fake_creds.token + ) + + def test_credential_source_returns_none(self): + config = { + 'profiles': { + 'sourced': { + 'role_arn': 'myrole', + 'credential_source': 'CustomMockProvider' + } + } + } + config_loader = self.create_config_loader(with_config=config) + + fake_provider = mock.Mock() + fake_provider.CANONICAL_NAME = 'CustomMockProvider' + fake_provider.load.return_value = None + + provider = credentials.AssumeRoleProvider( + config_loader, mock.Mock(), cache={}, profile_name='sourced', + credential_sourcer=credentials.CanonicalNameCredentialSourcer( + [fake_provider]) + ) + + with self.assertRaises(botocore.exceptions.CredentialRetrievalError): + provider.load() + + def test_source_profile_can_reference_self(self): + response = { + 'Credentials': { + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': self.some_future_time().isoformat() }, } client_creator = self.create_client_creator(with_response=response) - provider = credentials.AssumeRoleProvider( - self.create_config_loader(), - client_creator, cache={}, profile_name='development') - provider.load() + config = { + 'profiles': { + 'self-referencial': { + 'aws_access_key_id': 'akid', + 'aws_secret_access_key': 'skid', + 'role_arn': 'myrole', + 'source_profile': 'self-referencial' + } + } + } - client = client_creator.return_value - client.assume_role.assert_called_with( - RoleArn='myrole', ExternalId='myid', RoleSessionName=mock.ANY) + provider = credentials.AssumeRoleProvider( + self.create_config_loader(config), + client_creator, cache={}, profile_name='self-referencial' + ) - def test_assume_role_with_mfa(self): - self.fake_config['profiles']['development']['mfa_serial'] = 'mfa' - response = { - 'Credentials': { - 'AccessKeyId': 'foo', - 'SecretAccessKey': 'bar', - 'SessionToken': 'baz', - 'Expiration': datetime.now(tzlocal()).isoformat(), - }, + creds = provider.load() + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + + def test_infinite_looping_profiles_raises_error(self): + config = { + 'profiles': { + 'first': { + 'role_arn': 'first', + 'source_profile': 'second' + }, + 'second': { + 'role_arn': 'second', + 'source_profile': 'first' + } + } } - client_creator = self.create_client_creator(with_response=response) - prompter = mock.Mock(return_value='token-code') + provider = credentials.AssumeRoleProvider( - self.create_config_loader(), client_creator, - cache={}, profile_name='development', prompter=prompter) + self.create_config_loader(config), + mock.Mock(), cache={}, profile_name='first' + ) - provider.load() + with self.assertRaises(botocore.credentials.InfiniteLoopConfigError): + provider.load() - client = client_creator.return_value - # In addition to the normal assume role args, we should also - # inject the serial number from the config as well as the - # token code that comes from prompting the user (the prompter - # object). - client.assume_role.assert_called_with( - RoleArn='myrole', RoleSessionName=mock.ANY, SerialNumber='mfa', - TokenCode='token-code') + def test_recursive_assume_role(self): + assume_responses = [ + Credentials('foo', 'bar', 'baz'), + Credentials('spam', 'eggs', 'spamandegss'), + ] + responses = [] + for credential_set in assume_responses: + responses.append({ + 'Credentials': { + 'AccessKeyId': credential_set.access_key, + 'SecretAccessKey': credential_set.secret_key, + 'SessionToken': credential_set.token, + 'Expiration': self.some_future_time().isoformat() + } + }) + client_creator = self.create_client_creator(with_response=responses) - def test_assume_role_populates_session_name_on_refresh(self): - responses = [{ - 'Credentials': { - 'AccessKeyId': 'foo', - 'SecretAccessKey': 'bar', - 'SessionToken': 'baz', - # We're creating an expiry time in the past so as - # soon as we try to access the credentials, the - # refresh behavior will be triggered. - 'Expiration': ( - datetime.now(tzlocal()) - - timedelta(seconds=100)).isoformat(), - }, - }, { - 'Credentials': { - 'AccessKeyId': 'foo', - 'SecretAccessKey': 'bar', - 'SessionToken': 'baz', - 'Expiration': ( - datetime.now(tzlocal()) + timedelta(seconds=100) - ).isoformat(), + static_credentials = Credentials('akid', 'skid') + config = { + 'profiles': { + 'first': { + 'role_arn': 'first', + 'source_profile': 'second' + }, + 'second': { + 'role_arn': 'second', + 'source_profile': 'third' + }, + 'third': { + 'aws_access_key_id': static_credentials.access_key, + 'aws_secret_access_key': static_credentials.secret_key, + } } - }] - client_creator = self.create_client_creator(with_response=responses) + } + provider = credentials.AssumeRoleProvider( - self.create_config_loader(), client_creator, - cache={}, profile_name='development', - prompter=mock.Mock(return_value='token-code')) + self.create_config_loader(config), + client_creator, cache={}, profile_name='first' + ) - # This will trigger the first assume_role() call. It returns - # credentials that are expired and will trigger a refresh. creds = provider.load() - # This will trigger the second assume_role() call because - # a refresh is needed. - creds.get_frozen_credentials() - client = client_creator.return_value - assume_role_calls = client.assume_role.call_args_list - self.assertEqual(len(assume_role_calls), 2, assume_role_calls) - # The args should be identical. That is, the second - # assume_role call should have the exact same args as the - # initial assume_role call. - self.assertEqual(assume_role_calls[0], assume_role_calls[1]) + expected_creds = assume_responses[-1] + self.assertEqual(creds.access_key, expected_creds.access_key) + self.assertEqual(creds.secret_key, expected_creds.secret_key) + self.assertEqual(creds.token, expected_creds.token) + + client_creator.assert_has_calls([ + mock.call( + 'sts', aws_access_key_id=static_credentials.access_key, + aws_secret_access_key=static_credentials.secret_key, + aws_session_token=static_credentials.token + ), + mock.call( + 'sts', aws_access_key_id=assume_responses[0].access_key, + aws_secret_access_key=assume_responses[0].secret_key, + aws_session_token=assume_responses[0].token + ), + ]) - def test_assume_role_mfa_cannot_refresh_credentials(self): - # Note: we should look into supporting optional behavior - # in the future that allows for reprompting for credentials. - # But for now, if we get temp creds with MFA then when those - # creds expire, we can't refresh the credentials. - self.fake_config['profiles']['development']['mfa_serial'] = 'mfa' + def test_assume_role_with_profile_provider(self): response = { 'Credentials': { 'AccessKeyId': 'foo', 'SecretAccessKey': 'bar', 'SessionToken': 'baz', - # We're creating an expiry time in the past so as - # soon as we try to access the credentials, the - # refresh behavior will be triggered. - 'Expiration': ( - datetime.now(tzlocal()) - - timedelta(seconds=100)).isoformat(), + 'Expiration': self.some_future_time().isoformat() }, } client_creator = self.create_client_creator(with_response=response) - provider = credentials.AssumeRoleProvider( - self.create_config_loader(), client_creator, - cache={}, profile_name='development', - prompter=mock.Mock(return_value='token-code')) + mock_builder = mock.Mock(spec=ProfileProviderBuilder) + mock_builder.providers.return_value = [ProfileProvider('foo-profile')] - creds = provider.load() - with self.assertRaises(credentials.RefreshWithMFAUnsupportedError): - # access_key is a property that will refresh credentials - # if they're expired. Because we set the expiry time to - # something in the past, this will trigger the refresh - # behavior, with with MFA will currently raise an exception. - creds.access_key - - def test_no_config_is_noop(self): - self.fake_config['profiles']['development'] = { - 'aws_access_key_id': 'foo', - 'aws_secret_access_key': 'bar', - } provider = credentials.AssumeRoleProvider( self.create_config_loader(), - mock.Mock(), cache={}, profile_name='development') + client_creator, cache={}, + profile_name='development', + profile_provider_builder=mock_builder, + ) - # Because a role_arn was not specified, the AssumeRoleProvider - # is a noop and will not return credentials (which means we - # move on to the next provider). - creds = provider.load() - self.assertIsNone(creds) + creds = provider.load().get_frozen_credentials() - def test_source_profile_not_provided(self): - del self.fake_config['profiles']['development']['source_profile'] - provider = credentials.AssumeRoleProvider( - self.create_config_loader(), - mock.Mock(), cache={}, profile_name='development') + self.assertEqual(client_creator.call_count, 1) + client_creator.assert_called_with( + 'sts', + aws_access_key_id='foo-profile-access-key', + aws_secret_access_key='foo-profile-secret-key', + aws_session_token='foo-profile-token', + ) - # source_profile is required, we shoudl get an error. - with self.assertRaises(botocore.exceptions.PartialCredentialsError): - provider.load() + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') - def test_source_profile_does_not_exist(self): - dev_profile = self.fake_config['profiles']['development'] - dev_profile['source_profile'] = 'does-not-exist' - provider = credentials.AssumeRoleProvider( - self.create_config_loader(), - mock.Mock(), cache={}, profile_name='development') - # source_profile is required, we shoudl get an error. - with self.assertRaises(botocore.exceptions.InvalidConfigError): - provider.load() +class ProfileProvider(object): + METHOD = 'fake' + + def __init__(self, profile_name): + self._profile_name = profile_name + + def load(self): + return Credentials( + '%s-access-key' % self._profile_name, + '%s-secret-key' % self._profile_name, + '%s-token' % self._profile_name, + self.METHOD + ) + + +class TestJSONCache(unittest.TestCase): + def setUp(self): + self.tempdir = tempfile.mkdtemp() + self.cache = credentials.JSONFileCache(self.tempdir) + + def tearDown(self): + shutil.rmtree(self.tempdir) + + def test_supports_contains_check(self): + # By default the cache is empty because we're + # using a new temp dir everytime. + self.assertTrue('mykey' not in self.cache) + + def test_add_key_and_contains_check(self): + self.cache['mykey'] = {'foo': 'bar'} + self.assertTrue('mykey' in self.cache) + + def test_added_key_can_be_retrieved(self): + self.cache['mykey'] = {'foo': 'bar'} + self.assertEqual(self.cache['mykey'], {'foo': 'bar'}) + + def test_only_accepts_json_serializable_data(self): + with self.assertRaises(ValueError): + # set()'s cannot be serialized to a JSON string. + self.cache['mykey'] = set() + + def test_can_override_existing_values(self): + self.cache['mykey'] = {'foo': 'bar'} + self.cache['mykey'] = {'baz': 'newvalue'} + self.assertEqual(self.cache['mykey'], {'baz': 'newvalue'}) + + def test_can_add_multiple_keys(self): + self.cache['mykey'] = {'foo': 'bar'} + self.cache['mykey2'] = {'baz': 'qux'} + self.assertEqual(self.cache['mykey'], {'foo': 'bar'}) + self.assertEqual(self.cache['mykey2'], {'baz': 'qux'}) + + def test_working_dir_does_not_exist(self): + working_dir = os.path.join(self.tempdir, 'foo') + cache = credentials.JSONFileCache(working_dir) + cache['foo'] = {'bar': 'baz'} + self.assertEqual(cache['foo'], {'bar': 'baz'}) + + def test_key_error_raised_when_cache_key_does_not_exist(self): + with self.assertRaises(KeyError): + self.cache['foo'] + + def test_file_is_truncated_before_writing(self): + self.cache['mykey'] = { + 'really long key in the cache': 'really long value in cache'} + # Now overwrite it with a smaller value. + self.cache['mykey'] = {'a': 'b'} + self.assertEqual(self.cache['mykey'], {'a': 'b'}) + + @skip_if_windows('File permissions tests not supported on Windows.') + def test_permissions_for_file_restricted(self): + self.cache['mykey'] = {'foo': 'bar'} + filename = os.path.join(self.tempdir, 'mykey.json') + self.assertEqual(os.stat(filename).st_mode & 0xFFF, 0o600) class TestRefreshLogic(unittest.TestCase): @@ -1153,14 +2791,22 @@ creds = provider.load() self.assertIsNone(creds) + def full_url(self, url): + return 'http://%s%s' % (ContainerMetadataFetcher.IP_ADDRESS, url) + + def create_fetcher(self): + fetcher = mock.Mock(spec=ContainerMetadataFetcher) + fetcher.full_url = self.full_url + return fetcher + def test_retrieve_from_provider_if_env_var_present(self): environ = { 'AWS_CONTAINER_CREDENTIALS_RELATIVE_URI': '/latest/credentials?id=foo' } - fetcher = mock.Mock(spec=ContainerMetadataFetcher) + fetcher = self.create_fetcher() timeobj = datetime.now(tzlocal()) timestamp = (timeobj + timedelta(hours=24)).isoformat() - fetcher.retrieve_uri.return_value = { + fetcher.retrieve_full_uri.return_value = { "AccessKeyId" : "access_key", "SecretAccessKey" : "secret_key", "Token" : "token", @@ -1169,7 +2815,8 @@ provider = credentials.ContainerProvider(environ, fetcher) creds = provider.load() - fetcher.retrieve_uri.assert_called_with('/latest/credentials?id=foo') + fetcher.retrieve_full_uri.assert_called_with( + self.full_url('/latest/credentials?id=foo'), headers=None) self.assertEqual(creds.access_key, 'access_key') self.assertEqual(creds.secret_key, 'secret_key') self.assertEqual(creds.token, 'token') @@ -1183,7 +2830,7 @@ timeobj = datetime.now(tzlocal()) expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() future_timestamp = (timeobj + timedelta(hours=1)).isoformat() - fetcher.retrieve_uri.side_effect = [ + fetcher.retrieve_full_uri.side_effect = [ { "AccessKeyId" : "access_key_old", "SecretAccessKey" : "secret_key_old", @@ -1213,7 +2860,7 @@ expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() future_timestamp = (timeobj + timedelta(hours=1)).isoformat() exception = botocore.exceptions.CredentialRetrievalError - fetcher.retrieve_uri.side_effect = exception(provider='ecs-role', + fetcher.retrieve_full_uri.side_effect = exception(provider='ecs-role', error_msg='fake http error') with self.assertRaises(exception): provider = credentials.ContainerProvider(environ, fetcher) @@ -1230,7 +2877,7 @@ expired_timestamp = (timeobj - timedelta(hours=23)).isoformat() http_exception = botocore.exceptions.MetadataRetrievalError raised_exception = botocore.exceptions.CredentialRetrievalError - fetcher.retrieve_uri.side_effect = [ + fetcher.retrieve_full_uri.side_effect = [ { "AccessKeyId" : "access_key_old", "SecretAccessKey" : "secret_key_old", @@ -1245,3 +2892,325 @@ # Second time with a refresh should propagate an error. with self.assertRaises(raised_exception): frozen_creds = creds.get_frozen_credentials() + + def test_can_use_full_url(self): + environ = { + 'AWS_CONTAINER_CREDENTIALS_FULL_URI': 'http://localhost/foo' + } + fetcher = self.create_fetcher() + timeobj = datetime.now(tzlocal()) + timestamp = (timeobj + timedelta(hours=24)).isoformat() + fetcher.retrieve_full_uri.return_value = { + "AccessKeyId" : "access_key", + "SecretAccessKey" : "secret_key", + "Token" : "token", + "Expiration" : timestamp, + } + provider = credentials.ContainerProvider(environ, fetcher) + creds = provider.load() + + fetcher.retrieve_full_uri.assert_called_with('http://localhost/foo', + headers=None) + self.assertEqual(creds.access_key, 'access_key') + self.assertEqual(creds.secret_key, 'secret_key') + self.assertEqual(creds.token, 'token') + self.assertEqual(creds.method, 'container-role') + + def test_can_pass_basic_auth_token(self): + environ = { + 'AWS_CONTAINER_CREDENTIALS_FULL_URI': 'http://localhost/foo', + 'AWS_CONTAINER_AUTHORIZATION_TOKEN': 'Basic auth-token', + } + fetcher = self.create_fetcher() + timeobj = datetime.now(tzlocal()) + timestamp = (timeobj + timedelta(hours=24)).isoformat() + fetcher.retrieve_full_uri.return_value = { + "AccessKeyId" : "access_key", + "SecretAccessKey" : "secret_key", + "Token" : "token", + "Expiration" : timestamp, + } + provider = credentials.ContainerProvider(environ, fetcher) + creds = provider.load() + + fetcher.retrieve_full_uri.assert_called_with( + 'http://localhost/foo', headers={'Authorization': 'Basic auth-token'}) + self.assertEqual(creds.access_key, 'access_key') + self.assertEqual(creds.secret_key, 'secret_key') + self.assertEqual(creds.token, 'token') + self.assertEqual(creds.method, 'container-role') + + +class TestProcessProvider(BaseEnvVar): + def setUp(self): + super(TestProcessProvider, self).setUp() + self.loaded_config = {} + self.load_config = mock.Mock(return_value=self.loaded_config) + self.invoked_process = mock.Mock() + self.popen_mock = mock.Mock(return_value=self.invoked_process, + spec=subprocess.Popen) + + def create_process_provider(self, profile_name='default'): + provider = ProcessProvider(profile_name, self.load_config, + popen=self.popen_mock) + return provider + + def _get_output(self, stdout, stderr=''): + return json.dumps(stdout).encode('utf-8'), stderr.encode('utf-8') + + def _set_process_return_value(self, stdout, stderr='', rc=0): + output = self._get_output(stdout, stderr) + self.invoked_process.communicate.return_value = output + self.invoked_process.returncode = rc + + def test_process_not_invoked_if_profile_does_not_exist(self): + # self.loaded_config is an empty dictionary with no profile + # information. + provider = self.create_process_provider() + self.assertIsNone(provider.load()) + + def test_process_not_invoked_if_not_configured_for_empty_config(self): + # No credential_process configured so we skip this provider. + self.loaded_config['profiles'] = {'default': {}} + provider = self.create_process_provider() + self.assertIsNone(provider.load()) + + def test_can_retrieve_via_process(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + self.assertEqual(creds.method, 'custom-process') + self.popen_mock.assert_called_with( + ['my-process'], + stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) + + def test_can_pass_arguments_through(self): + self.loaded_config['profiles'] = { + 'default': { + 'credential_process': 'my-process --foo --bar "one two"' + } + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.popen_mock.assert_called_with( + ['my-process', '--foo', '--bar', 'one two'], + stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) + + def test_can_refresh_credentials(self): + # We given a time that's already expired so .access_key + # will trigger the refresh worfklow. We just need to verify + # that the refresh function gives the same result as the + # initial retrieval. + expired_date = '2016-01-01T00:00:00Z' + future_date = str(datetime.now(tzlocal()) + timedelta(hours=24)) + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + old_creds = self._get_output({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': expired_date, + }) + new_creds = self._get_output({ + 'Version': 1, + 'AccessKeyId': 'foo2', + 'SecretAccessKey': 'bar2', + 'SessionToken': 'baz2', + 'Expiration': future_date, + }) + self.invoked_process.communicate.side_effect = [old_creds, new_creds] + self.invoked_process.returncode = 0 + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'foo2') + self.assertEqual(creds.secret_key, 'bar2') + self.assertEqual(creds.token, 'baz2') + self.assertEqual(creds.method, 'custom-process') + + def test_non_zero_rc_raises_exception(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value('', 'Error Message', 1) + + provider = self.create_process_provider() + exception = botocore.exceptions.CredentialRetrievalError + with self.assertRaisesRegexp(exception, 'Error Message'): + provider.load() + + def test_unsupported_version_raises_mismatch(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + bad_version = 100 + self._set_process_return_value({ + 'Version': bad_version, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + exception = botocore.exceptions.CredentialRetrievalError + with self.assertRaisesRegexp(exception, 'Unsupported version'): + provider.load() + + def test_missing_version_in_payload_returned_raises_exception(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + # Let's say they forget a 'Version' key. + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + exception = botocore.exceptions.CredentialRetrievalError + with self.assertRaisesRegexp(exception, 'Unsupported version'): + provider.load() + + def test_missing_access_key_raises_exception(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + # Missing access key. + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + exception = botocore.exceptions.CredentialRetrievalError + with self.assertRaisesRegexp(exception, 'Missing required key'): + provider.load() + + def test_missing_secret_key_raises_exception(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + # Missing secret key. + 'SessionToken': 'baz', + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + exception = botocore.exceptions.CredentialRetrievalError + with self.assertRaisesRegexp(exception, 'Missing required key'): + provider.load() + + def test_missing_session_token(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + # Missing session token. + 'Expiration': '2999-01-01T00:00:00Z', + }) + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertIsNone(creds.token) + self.assertEqual(creds.method, 'custom-process') + + def test_missing_expiration(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + 'SessionToken': 'baz', + # Missing expiration. + }) + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertEqual(creds.token, 'baz') + self.assertEqual(creds.method, 'custom-process') + + def test_missing_expiration_and_session_token(self): + self.loaded_config['profiles'] = { + 'default': {'credential_process': 'my-process'} + } + self._set_process_return_value({ + 'Version': 1, + 'AccessKeyId': 'foo', + 'SecretAccessKey': 'bar', + # Missing session token and expiration + }) + + provider = self.create_process_provider() + creds = provider.load() + self.assertIsNotNone(creds) + self.assertEqual(creds.access_key, 'foo') + self.assertEqual(creds.secret_key, 'bar') + self.assertIsNone(creds.token) + self.assertEqual(creds.method, 'custom-process') + + +class TestProfileProviderBuilder(unittest.TestCase): + def setUp(self): + super(TestProfileProviderBuilder, self).setUp() + self.mock_session = mock.Mock(spec=Session) + self.builder = ProfileProviderBuilder(self.mock_session) + + def test_profile_provider_builder_order(self): + providers = self.builder.providers('some-profile') + expected_providers = [ + AssumeRoleWithWebIdentityProvider, + SharedCredentialProvider, + ProcessProvider, + ConfigProvider, + ] + self.assertEqual(len(providers), len(expected_providers)) + zipped_providers = six.moves.zip(providers, expected_providers) + for provider, expected_type in zipped_providers: + self.assertTrue(isinstance(provider, expected_type)) diff -Nru python-botocore-1.4.70/tests/unit/test_discovery.py python-botocore-1.16.19+repack/tests/unit/test_discovery.py --- python-botocore-1.4.70/tests/unit/test_discovery.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_discovery.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,534 @@ +import time +from mock import Mock, call +from tests import unittest + +from botocore.awsrequest import AWSRequest +from botocore.client import ClientMeta +from botocore.hooks import HierarchicalEmitter +from botocore.model import ServiceModel +from botocore.exceptions import ConnectionError +from botocore.handlers import inject_api_version_header_if_needed +from botocore.discovery import ( + EndpointDiscoveryManager, EndpointDiscoveryHandler, + EndpointDiscoveryRequired, EndpointDiscoveryRefreshFailed, + block_endpoint_discovery_required_operations, +) + + +class BaseEndpointDiscoveryTest(unittest.TestCase): + def setUp(self): + self.service_description = { + 'version': '2.0', + 'metadata': { + 'apiVersion': '2018-08-31', + 'endpointPrefix': 'fooendpoint', + 'jsonVersion': '1.1', + 'protocol': 'json', + 'serviceAbbreviation': 'FooService', + 'serviceId': 'FooService', + 'serviceFullName': 'AwsFooService', + 'signatureVersion': 'v4', + 'signingName': 'awsfooservice', + 'targetPrefix': 'awsfooservice' + }, + 'operations': { + 'DescribeEndpoints': { + 'name': 'DescribeEndpoints', + 'http': { + 'method': 'POST', + 'requestUri': '/' + }, + 'input': {'shape': 'DescribeEndpointsRequest'}, + 'output': {'shape': 'DescribeEndpointsResponse'}, + 'endpointoperation': True + }, + 'TestDiscoveryRequired': { + 'name': 'TestDiscoveryRequired', + 'http': { + 'method': 'POST', + 'requestUri': '/' + }, + 'input': {'shape': 'TestDiscoveryIdsRequest'}, + 'output': {'shape': 'EmptyStruct'}, + 'endpointdiscovery': {'required': True} + }, + 'TestDiscoveryOptional': { + 'name': 'TestDiscoveryOptional', + 'http': { + 'method': 'POST', + 'requestUri': '/' + }, + 'input': {'shape': 'TestDiscoveryIdsRequest'}, + 'output': {'shape': 'EmptyStruct'}, + 'endpointdiscovery': {} + }, + 'TestDiscovery': { + 'name': 'TestDiscovery', + 'http': { + 'method': 'POST', + 'requestUri': '/' + }, + 'input': {'shape': 'EmptyStruct'}, + 'output': {'shape': 'EmptyStruct'}, + 'endpointdiscovery': {} + }, + }, + 'shapes': { + 'Boolean': {'type': 'boolean'}, + 'DescribeEndpointsRequest': { + 'type': 'structure', + 'members': { + 'Operation': {'shape': 'String'}, + 'Identifiers': {'shape': 'Identifiers'} + } + }, + 'DescribeEndpointsResponse': { + 'type': 'structure', + 'required': ['Endpoints'], + 'members': { + 'Endpoints': {'shape': 'Endpoints'} + } + }, + 'Endpoint': { + 'type': 'structure', + 'required': [ + 'Address', + 'CachePeriodInMinutes' + ], + 'members': { + 'Address': {'shape': 'String'}, + 'CachePeriodInMinutes': {'shape': 'Long'} + } + }, + 'Endpoints': { + 'type': 'list', + 'member': {'shape': 'Endpoint'} + }, + 'Identifiers': { + 'type': 'map', + 'key': {'shape': 'String'}, + 'value': {'shape': 'String'} + }, + 'Long': {'type': 'long'}, + 'String': {'type': 'string'}, + 'TestDiscoveryIdsRequest': { + 'type': 'structure', + 'required': ['Foo', 'Nested'], + 'members': { + 'Foo': { + 'shape': 'String', + 'endpointdiscoveryid': True, + }, + 'Baz': {'shape': 'String'}, + 'Nested': {'shape': 'Nested'} + } + }, + 'EmptyStruct': { + 'type': 'structure', + 'members': {} + }, + 'Nested': { + 'type': 'structure', + 'required': 'Bar', + 'members': { + 'Bar': { + 'shape': 'String', + 'endpointdiscoveryid': True, + } + } + } + } + } + + +class TestEndpointDiscoveryManager(BaseEndpointDiscoveryTest): + def setUp(self): + super(TestEndpointDiscoveryManager, self).setUp() + self.construct_manager() + + def construct_manager(self, cache=None, time=None, side_effect=None): + self.service_model = ServiceModel(self.service_description) + self.meta = Mock(spec=ClientMeta) + self.meta.service_model = self.service_model + self.client = Mock() + if side_effect is None: + side_effect = [{ + 'Endpoints': [{ + 'Address': 'new.com', + 'CachePeriodInMinutes': 2, + }] + }] + self.client.describe_endpoints.side_effect = side_effect + self.client.meta = self.meta + self.manager = EndpointDiscoveryManager( + self.client, cache=cache, current_time=time + ) + + def test_injects_api_version_if_endpoint_operation(self): + model = self.service_model.operation_model('DescribeEndpoints') + params = {'headers': {}} + inject_api_version_header_if_needed(model, params) + self.assertEqual(params['headers'].get('x-amz-api-version'), + '2018-08-31') + + def test_no_inject_api_version_if_not_endpoint_operation(self): + model = self.service_model.operation_model('TestDiscoveryRequired') + params = {'headers': {}} + inject_api_version_header_if_needed(model, params) + self.assertNotIn('x-amz-api-version', params['headers']) + + def test_gather_identifiers(self): + params = { + 'Foo': 'value1', + 'Nested': {'Bar': 'value2'} + } + operation = self.service_model.operation_model('TestDiscoveryRequired') + ids = self.manager.gather_identifiers(operation, params) + self.assertEqual(ids, {'Foo': 'value1', 'Bar': 'value2'}) + + def test_gather_identifiers_none(self): + operation = self.service_model.operation_model('TestDiscovery') + ids = self.manager.gather_identifiers(operation, {}) + self.assertEqual(ids, {}) + + def test_describe_endpoint(self): + kwargs = { + 'Operation': 'FooBar', + 'Identifiers': {'Foo': 'value1', 'Bar': 'value2'}, + } + self.manager.describe_endpoint(**kwargs) + self.client.describe_endpoints.assert_called_with(**kwargs) + + def test_describe_endpoint_no_input(self): + describe = self.service_description['operations']['DescribeEndpoints'] + del describe['input'] + self.construct_manager() + self.manager.describe_endpoint(Operation='FooBar', Identifiers={}) + self.client.describe_endpoints.assert_called_with() + + def test_describe_endpoint_empty_input(self): + describe = self.service_description['operations']['DescribeEndpoints'] + describe['input'] = {'shape': 'EmptyStruct'} + self.construct_manager() + self.manager.describe_endpoint(Operation='FooBar', Identifiers={}) + self.client.describe_endpoints.assert_called_with() + + def test_describe_endpoint_ids_and_operation(self): + cache = {} + self.construct_manager(cache=cache) + ids = {'Foo': 'value1', 'Bar': 'value2'} + kwargs = { + 'Operation': 'TestDiscoveryRequired', + 'Identifiers': ids, + } + self.manager.describe_endpoint(**kwargs) + self.client.describe_endpoints.assert_called_with(**kwargs) + key = ((('Bar', 'value2'), ('Foo', 'value1')), 'TestDiscoveryRequired') + self.assertIn(key, cache) + self.assertEqual(cache[key][0]['Address'], 'new.com') + self.manager.describe_endpoint(**kwargs) + call_count = self.client.describe_endpoints.call_count + self.assertEqual(call_count, 1) + + def test_describe_endpoint_no_ids_or_operation(self): + cache = {} + describe = self.service_description['operations']['DescribeEndpoints'] + describe['input'] = {'shape': 'EmptyStruct'} + self.construct_manager(cache=cache) + self.manager.describe_endpoint( + Operation='TestDiscoveryRequired', Identifiers={} + ) + self.client.describe_endpoints.assert_called_with() + key = () + self.assertIn(key, cache) + self.assertEqual(cache[key][0]['Address'], 'new.com') + self.manager.describe_endpoint( + Operation='TestDiscoveryRequired', Identifiers={} + ) + call_count = self.client.describe_endpoints.call_count + self.assertEqual(call_count, 1) + + def test_describe_endpoint_expired_entry(self): + current_time = time.time() + key = () + cache = { + key: [{'Address': 'old.com', 'Expiration': current_time - 10}] + } + self.construct_manager(cache=cache) + kwargs = { + 'Identifiers': {}, + 'Operation': 'TestDiscoveryRequired', + } + self.manager.describe_endpoint(**kwargs) + self.client.describe_endpoints.assert_called_with() + self.assertIn(key, cache) + self.assertEqual(cache[key][0]['Address'], 'new.com') + self.manager.describe_endpoint(**kwargs) + call_count = self.client.describe_endpoints.call_count + self.assertEqual(call_count, 1) + + def test_describe_endpoint_cache_expiration(self): + def _time(): + return float(0) + cache = {} + self.construct_manager(cache=cache, time=_time) + self.manager.describe_endpoint( + Operation='TestDiscoveryRequired', Identifiers={} + ) + key = () + self.assertIn(key, cache) + self.assertEqual(cache[key][0]['Expiration'], float(120)) + + def test_delete_endpoints_present(self): + key = () + cache = { + key: [{'Address': 'old.com', 'Expiration': 0}] + } + self.construct_manager(cache=cache) + kwargs = { + 'Identifiers': {}, + 'Operation': 'TestDiscoveryRequired', + } + self.manager.delete_endpoints(**kwargs) + self.assertEqual(cache, {}) + + def test_delete_endpoints_absent(self): + cache = {} + self.construct_manager(cache=cache) + kwargs = { + 'Identifiers': {}, + 'Operation': 'TestDiscoveryRequired', + } + self.manager.delete_endpoints(**kwargs) + self.assertEqual(cache, {}) + + def test_describe_endpoint_optional_fails_no_cache(self): + side_effect = [ConnectionError(error=None)] + self.construct_manager(side_effect=side_effect) + kwargs = {'Operation': 'TestDiscoveryOptional'} + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertIsNone(endpoint) + # This second call should be blocked as we just failed + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertIsNone(endpoint) + self.client.describe_endpoints.call_args_list == [call()] + + def test_describe_endpoint_optional_fails_stale_cache(self): + key = () + cache = { + key: [{'Address': 'old.com', 'Expiration': 0}] + } + side_effect = [ConnectionError(error=None)] * 2 + self.construct_manager(cache=cache, side_effect=side_effect) + kwargs = {'Operation': 'TestDiscoveryOptional'} + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'old.com') + # This second call shouldn't go through as we just failed + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'old.com') + self.client.describe_endpoints.call_args_list == [call()] + + def test_describe_endpoint_required_fails_no_cache(self): + side_effect = [ConnectionError(error=None)] * 2 + self.construct_manager(side_effect=side_effect) + kwargs = {'Operation': 'TestDiscoveryRequired'} + with self.assertRaises(EndpointDiscoveryRefreshFailed): + self.manager.describe_endpoint(**kwargs) + # This second call should go through, as we have no cache + with self.assertRaises(EndpointDiscoveryRefreshFailed): + self.manager.describe_endpoint(**kwargs) + describe_count = self.client.describe_endpoints.call_count + self.assertEqual(describe_count, 2) + + def test_describe_endpoint_required_fails_stale_cache(self): + key = () + cache = { + key: [{'Address': 'old.com', 'Expiration': 0}] + } + side_effect = [ConnectionError(error=None)] * 2 + self.construct_manager(cache=cache, side_effect=side_effect) + kwargs = {'Operation': 'TestDiscoveryRequired'} + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'old.com') + # We have a stale endpoint, so this shouldn't fail or force a refresh + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'old.com') + self.client.describe_endpoints.call_args_list == [call()] + + def test_describe_endpoint_required_force_refresh_success(self): + side_effect = [ + ConnectionError(error=None), + {'Endpoints': [{ + 'Address': 'new.com', + 'CachePeriodInMinutes': 2, + }]}, + ] + self.construct_manager(side_effect=side_effect) + kwargs = {'Operation': 'TestDiscoveryRequired'} + # First call will fail + with self.assertRaises(EndpointDiscoveryRefreshFailed): + self.manager.describe_endpoint(**kwargs) + self.client.describe_endpoints.call_args_list == [call()] + # Force a refresh if the cache is empty but discovery is required + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'new.com') + + def test_describe_endpoint_retries_after_failing(self): + fake_time = Mock() + fake_time.side_effect = [0, 100, 200] + side_effect = [ + ConnectionError(error=None), + {'Endpoints': [{ + 'Address': 'new.com', + 'CachePeriodInMinutes': 2, + }]}, + ] + self.construct_manager(side_effect=side_effect, time=fake_time) + kwargs = {'Operation': 'TestDiscoveryOptional'} + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertIsNone(endpoint) + self.client.describe_endpoints.call_args_list == [call()] + # Second time should try again as enough time has elapsed + endpoint = self.manager.describe_endpoint(**kwargs) + self.assertEqual(endpoint, 'new.com') + + +class TestEndpointDiscoveryHandler(BaseEndpointDiscoveryTest): + def setUp(self): + super(TestEndpointDiscoveryHandler, self).setUp() + self.manager = Mock(spec=EndpointDiscoveryManager) + self.handler = EndpointDiscoveryHandler(self.manager) + self.service_model = ServiceModel(self.service_description) + + def test_register_handler(self): + events = Mock(spec=HierarchicalEmitter) + self.handler.register(events, 'foo-bar') + events.register.assert_any_call( + 'before-parameter-build.foo-bar', self.handler.gather_identifiers + ) + events.register.assert_any_call( + 'needs-retry.foo-bar', self.handler.handle_retries + ) + events.register_first.assert_called_with( + 'request-created.foo-bar', self.handler.discover_endpoint + ) + + def test_discover_endpoint(self): + request = AWSRequest() + request.context = { + 'discovery': {'identifiers': {}} + } + self.manager.describe_endpoint.return_value = 'https://new.foo' + self.handler.discover_endpoint(request, 'TestOperation') + self.assertEqual(request.url, 'https://new.foo') + self.manager.describe_endpoint.assert_called_with( + Operation='TestOperation', Identifiers={} + ) + + def test_discover_endpoint_fails(self): + request = AWSRequest() + request.context = { + 'discovery': {'identifiers': {}} + } + request.url = 'old.com' + self.manager.describe_endpoint.return_value = None + self.handler.discover_endpoint(request, 'TestOperation') + self.assertEqual(request.url, 'old.com') + self.manager.describe_endpoint.assert_called_with( + Operation='TestOperation', Identifiers={} + ) + + def test_discover_endpoint_no_protocol(self): + request = AWSRequest() + request.context = { + 'discovery': {'identifiers': {}} + } + self.manager.describe_endpoint.return_value = 'new.foo' + self.handler.discover_endpoint(request, 'TestOperation') + self.assertEqual(request.url, 'https://new.foo') + self.manager.describe_endpoint.assert_called_with( + Operation='TestOperation', Identifiers={} + ) + + def test_inject_no_context(self): + request = AWSRequest(url='https://original.foo') + self.handler.discover_endpoint(request, 'TestOperation') + self.assertEqual(request.url, 'https://original.foo') + self.manager.describe_endpoint.assert_not_called() + + def test_gather_identifiers(self): + context = {} + params = { + 'Foo': 'value1', + 'Nested': {'Bar': 'value2'} + } + ids = { + 'Foo': 'value1', + 'Bar': 'value2' + } + model = self.service_model.operation_model('TestDiscoveryRequired') + self.manager.gather_identifiers.return_value = ids + self.handler.gather_identifiers(params, model, context) + self.assertEqual(context['discovery']['identifiers'], ids) + + def test_gather_identifiers_not_discoverable(self): + context = {} + model = self.service_model.operation_model('DescribeEndpoints') + self.handler.gather_identifiers({}, model, context) + self.assertEqual(context, {}) + + def test_discovery_disabled_but_required(self): + model = self.service_model.operation_model('TestDiscoveryRequired') + with self.assertRaises(EndpointDiscoveryRequired): + block_endpoint_discovery_required_operations(model) + + def test_discovery_disabled_but_optional(self): + context = {} + model = self.service_model.operation_model('TestDiscoveryOptional') + block_endpoint_discovery_required_operations(model, context=context) + self.assertEqual(context, {}) + + def test_does_not_retry_no_response(self): + retry = self.handler.handle_retries(None, None, None) + self.assertIsNone(retry) + + def test_does_not_retry_other_errors(self): + parsed_response = { + 'ResponseMetadata': {'HTTPStatusCode': 200} + } + response = (None, parsed_response) + retry = self.handler.handle_retries(None, response, None) + self.assertIsNone(retry) + + def test_does_not_retry_if_no_context(self): + request_dict = {'context': {}} + parsed_response = { + 'ResponseMetadata': {'HTTPStatusCode': 421} + } + response = (None, parsed_response) + retry = self.handler.handle_retries(request_dict, response, None) + self.assertIsNone(retry) + + def _assert_retries(self, parsed_response): + request_dict = { + 'context': { + 'discovery': {'identifiers': {}} + } + } + response = (None, parsed_response) + model = self.service_model.operation_model('TestDiscoveryOptional') + retry = self.handler.handle_retries(request_dict, response, model) + self.assertEqual(retry, 0) + self.manager.delete_endpoints.assert_called_with( + Operation='TestDiscoveryOptional', Identifiers={} + ) + + def test_retries_421_status_code(self): + parsed_response = { + 'ResponseMetadata': {'HTTPStatusCode': 421} + } + self._assert_retries(parsed_response) + + def test_retries_invalid_endpoint_exception(self): + parsed_response = {'Error': {'Code': 'InvalidEndpointException'}} + self._assert_retries(parsed_response) diff -Nru python-botocore-1.4.70/tests/unit/test_endpoint.py python-botocore-1.16.19+repack/tests/unit/test_endpoint.py --- python-botocore-1.4.70/tests/unit/test_endpoint.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_endpoint.py 2020-05-28 19:26:16.000000000 +0000 @@ -10,25 +10,25 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - +import socket from tests import unittest from mock import Mock, patch, sentinel -from nose.tools import assert_equals -from botocore.vendored.requests import ConnectionError from botocore.compat import six from botocore.awsrequest import AWSRequest from botocore.endpoint import Endpoint, DEFAULT_TIMEOUT from botocore.endpoint import EndpointCreator -from botocore.endpoint import BotocoreHTTPSession from botocore.exceptions import EndpointConnectionError from botocore.exceptions import ConnectionClosedError -from botocore.exceptions import BaseEndpointResolverError +from botocore.exceptions import HTTPClientError +from botocore.httpsession import URLLib3Session +from botocore.model import OperationModel, ServiceId +from botocore.model import ServiceModel, StructureShape -def request_dict(): - return { +def request_dict(**kwargs): + base = { 'headers': {}, 'body': '', 'url_path': '/', @@ -37,6 +37,8 @@ 'url': 'https://example.com', 'context': {} } + base.update(kwargs) + return base class RecordStreamResets(six.StringIO): @@ -44,9 +46,9 @@ six.StringIO.__init__(self, value) self.total_resets = 0 - def seek(self, where): + def seek(self, where, whence=0): self.total_resets += 1 - six.StringIO.seek(self, where) + six.StringIO.seek(self, where, whence) class TestEndpointBase(unittest.TestCase): @@ -54,6 +56,7 @@ def setUp(self): self.op = Mock() self.op.has_streaming_output = False + self.op.has_event_stream_output = False self.op.metadata = {'protocol': 'json'} self.event_emitter = Mock() self.event_emitter.emit.return_value = [] @@ -73,24 +76,29 @@ def tearDown(self): self.factory_patch.stop() + def get_emitter_responses(self, num_retries=0, sleep_time=0): + emitter_responses = [] + response_request_emitter_responses = [ + [(None, None)], # emit() response for request-created + [(None, None)], # emit() response for before-send + [(None, None)], # emit() response for response-received + ] + for _ in range(num_retries): + emitter_responses.extend(response_request_emitter_responses) + # emit() response for retry for sleep time + emitter_responses.append([(None, sleep_time)]) + emitter_responses.extend(response_request_emitter_responses) + # emit() response for no retry + emitter_responses.append([(None, None)]) + return emitter_responses + + def get_events_emitted(self, event_emitter): + return [ + call_arg[0][0] for call_arg in event_emitter.emit.call_args_list + ] -class TestEndpointFeatures(TestEndpointBase): - - def test_timeout_can_be_specified(self): - timeout_override = 120 - self.endpoint.timeout = timeout_override - self.endpoint.make_request(self.op, request_dict()) - kwargs = self.http_session.send.call_args[1] - self.assertEqual(kwargs['timeout'], timeout_override) - def test_make_request_with_proxies(self): - proxies = {'http': 'http://localhost:8888'} - self.endpoint.proxies = proxies - self.endpoint.make_request(self.op, request_dict()) - prepared_request = self.http_session.send.call_args[0][0] - self.http_session.send.assert_called_with( - prepared_request, verify=True, stream=False, - proxies=proxies, timeout=DEFAULT_TIMEOUT) +class TestEndpointFeatures(TestEndpointBase): def test_make_request_with_no_auth(self): self.endpoint.auth = None @@ -109,23 +117,6 @@ prepared_request = self.http_session.send.call_args[0][0] self.assertNotIn('Authorization', prepared_request.headers) - def test_make_request_injects_better_dns_error_msg(self): - fake_request = Mock(url='https://ec2.us-west-2.amazonaws.com') - self.http_session.send.side_effect = ConnectionError( - "Fake gaierror(8, node or host not known)", request=fake_request) - with self.assertRaisesRegexp(EndpointConnectionError, - 'Could not connect'): - self.endpoint.make_request(self.op, request_dict()) - - def test_make_request_injects_better_bad_status_line_error_msg(self): - fake_request = Mock(url='https://ec2.us-west-2.amazonaws.com') - self.http_session.send.side_effect = ConnectionError( - """'Connection aborted.', BadStatusLine("''",)""", - request=fake_request) - with self.assertRaisesRegexp(ConnectionClosedError, - 'Connection was closed'): - self.endpoint.make_request(self.op, request_dict()) - def test_make_request_with_context(self): r = request_dict() r['context'] = {'signing': {'region': 'us-west-2'}} @@ -134,101 +125,113 @@ request = prepare.call_args[0][0] self.assertEqual(request.context['signing']['region'], 'us-west-2') - def test_can_specify_max_pool_connections(self): - endpoint = Endpoint('https://ec2.us-west-2.amazonaws.com', 'ec2', - self.event_emitter, max_pool_connections=50) - # We can look in endpoint.http_session.adapters[0]._pool_maxsize, - # but that feels like testing too much implementation detail. - self.assertEqual(endpoint.max_pool_connections, 50) + def test_parses_modeled_exception_fields(self): + # Setup the service model to have exceptions to generate the mapping + self.service_model = Mock(spec=ServiceModel) + self.op.service_model = self.service_model + self.exception_shape = Mock(spec=StructureShape) + shape_for_error_code = self.service_model.shape_for_error_code + shape_for_error_code.return_value = self.exception_shape + + r = request_dict() + self.http_session.send.return_value = Mock( + status_code=400, headers={}, content=b'', + ) + parser = Mock() + parser.parse.side_effect = [ + { + 'Error': { + 'Code': 'ExceptionShape', + 'Message': 'Some message', + } + }, + {'SomeField': 'Foo'}, + ] + self.factory.return_value.create_parser.return_value = parser + _, response = self.endpoint.make_request(self.op, r) + # The parser should be called twice, once for the original + # error parse and once again for the modeled exception parse + self.assertEqual(parser.parse.call_count, 2) + parse_calls = parser.parse.call_args_list + self.assertEqual(parse_calls[1][0][1], self.exception_shape) + self.assertEqual(parse_calls[0][0][1], self.op.output_shape) + expected_response = { + 'Error': { + 'Code': 'ExceptionShape', + 'Message': 'Some message', + }, + 'SomeField': 'Foo', + } + self.assertEqual(response, expected_response) class TestRetryInterface(TestEndpointBase): def setUp(self): super(TestRetryInterface, self).setUp() self.retried_on_exception = None + self._operation = Mock(spec=OperationModel) + self._operation.name = 'DescribeInstances' + self._operation.metadata = {'protocol': 'query'} + self._operation.service_model.service_id = ServiceId('EC2') + self._operation.has_streaming_output = False + self._operation.has_event_stream_output = False + + def assert_events_emitted(self, event_emitter, expected_events): + self.assertEqual( + self.get_events_emitted(event_emitter), expected_events) def test_retry_events_are_emitted(self): - op = Mock() - op.name = 'DescribeInstances' - op.metadata = {'protocol': 'query'} - op.has_streaming_output = False - self.endpoint.make_request(op, request_dict()) + self.endpoint.make_request(self._operation, request_dict()) call_args = self.event_emitter.emit.call_args self.assertEqual(call_args[0][0], 'needs-retry.ec2.DescribeInstances') def test_retry_events_can_alter_behavior(self): - op = Mock() - op.name = 'DescribeInstances' - op.metadata = {'protocol': 'json'} - self.event_emitter.emit.side_effect = [ - [(None, None)], # Request created. - [(None, 0)], # Check if retry needed. Retry needed. - [(None, None)], # Request created. - [(None, None)] # Check if retry needed. Retry not needed. - ] - self.endpoint.make_request(op, request_dict()) - call_args = self.event_emitter.emit.call_args_list - self.assertEqual(self.event_emitter.emit.call_count, 4) - # Check that all of the events are as expected. - self.assertEqual(call_args[0][0][0], - 'request-created.ec2.DescribeInstances') - self.assertEqual(call_args[1][0][0], - 'needs-retry.ec2.DescribeInstances') - self.assertEqual(call_args[2][0][0], - 'request-created.ec2.DescribeInstances') - self.assertEqual(call_args[3][0][0], - 'needs-retry.ec2.DescribeInstances') + self.event_emitter.emit.side_effect = self.get_emitter_responses( + num_retries=1) + self.endpoint.make_request(self._operation, request_dict()) + self.assert_events_emitted( + self.event_emitter, + expected_events=[ + 'request-created.ec2.DescribeInstances', + 'before-send.ec2.DescribeInstances', + 'response-received.ec2.DescribeInstances', + 'needs-retry.ec2.DescribeInstances', + ] * 2 + ) def test_retry_on_socket_errors(self): - op = Mock() - op.name = 'DescribeInstances' - self.event_emitter.emit.side_effect = [ - [(None, None)], # Request created. - [(None, 0)], # Check if retry needed. Retry needed. - [(None, None)], # Request created - [(None, None)] # Check if retry needed. Retry not needed. - ] - self.http_session.send.side_effect = ConnectionError() - with self.assertRaises(ConnectionError): - self.endpoint.make_request(op, request_dict()) - call_args = self.event_emitter.emit.call_args_list - self.assertEqual(self.event_emitter.emit.call_count, 4) - # Check that all of the events are as expected. - self.assertEqual(call_args[0][0][0], - 'request-created.ec2.DescribeInstances') - self.assertEqual(call_args[1][0][0], - 'needs-retry.ec2.DescribeInstances') - self.assertEqual(call_args[2][0][0], - 'request-created.ec2.DescribeInstances') - self.assertEqual(call_args[3][0][0], - 'needs-retry.ec2.DescribeInstances') + self.event_emitter.emit.side_effect = self.get_emitter_responses( + num_retries=1) + self.http_session.send.side_effect = HTTPClientError(error='wrapped') + with self.assertRaises(HTTPClientError): + self.endpoint.make_request(self._operation, request_dict()) + self.assert_events_emitted( + self.event_emitter, + expected_events=[ + 'request-created.ec2.DescribeInstances', + 'before-send.ec2.DescribeInstances', + 'response-received.ec2.DescribeInstances', + 'needs-retry.ec2.DescribeInstances', + ] * 2 + ) def test_retry_attempts_added_to_response_metadata(self): - op = Mock(name='DescribeInstances') - op.metadata = {'protocol': 'query'} - self.event_emitter.emit.side_effect = [ - [(None, None)], # Request created. - [(None, 0)], # Check if retry needed. Retry needed. - [(None, None)], # Request created. - [(None, None)] # Check if retry needed. Retry not needed. - ] + self.event_emitter.emit.side_effect = self.get_emitter_responses( + num_retries=1) parser = Mock() parser.parse.return_value = {'ResponseMetadata': {}} self.factory.return_value.create_parser.return_value = parser - response = self.endpoint.make_request(op, request_dict()) + response = self.endpoint.make_request(self._operation, request_dict()) self.assertEqual(response[1]['ResponseMetadata']['RetryAttempts'], 1) def test_retry_attempts_is_zero_when_not_retried(self): - op = Mock(name='DescribeInstances', metadata={'protocol': 'query'}) - self.event_emitter.emit.side_effect = [ - [(None, None)], # Request created. - [(None, None)], # Check if retry needed. Retry needed. - ] + self.event_emitter.emit.side_effect = self.get_emitter_responses( + num_retries=0) parser = Mock() parser.parse.return_value = {'ResponseMetadata': {}} self.factory.return_value.create_parser.return_value = parser - response = self.endpoint.make_request(op, request_dict()) + response = self.endpoint.make_request(self._operation, request_dict()) self.assertEqual(response[1]['ResponseMetadata']['RetryAttempts'], 0) @@ -251,19 +254,26 @@ body = RecordStreamResets('foobar') op.name = 'PutObject' op.has_streaming_output = True + op.has_event_stream_output = False op.metadata = {'protocol': 'rest-xml'} request = request_dict() request['body'] = body - self.event_emitter.emit.side_effect = [ - [(None, None)], # Request created. - [(None, 0)], # Check if retry needed. Needs Retry. - [(None, None)], # Request created. - [(None, 0)], # Check if retry needed again. Needs Retry. - [(None, None)], # Request created. - [(None, None)], # Finally emit no rety is needed. - ] + self.event_emitter.emit.side_effect = self.get_emitter_responses( + num_retries=2 + ) self.endpoint.make_request(op, request) - self.assertEqual(body.total_resets, 2) + # 2 seeks for the resets and 6 (2 per creation) for content-length + self.assertEqual(body.total_resets, 8) + + +class TestEventStreamBody(TestEndpointBase): + + def test_event_stream_body_is_streaming(self): + self.op.has_event_stream_output = True + request = request_dict() + self.endpoint.make_request(self.op, request) + sent_request = self.http_session.send.call_args[0][0] + self.assertTrue(sent_request.stream_output) class TestEndpointCreator(unittest.TestCase): @@ -275,6 +285,7 @@ self.environ_patch = patch('os.environ', self.environ) self.environ_patch.start() self.creator = EndpointCreator(Mock()) + self.mock_session = Mock(spec=URLLib3Session) def tearDown(self): self.environ_patch.stop() @@ -288,96 +299,86 @@ def test_create_endpoint_with_default_timeout(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com') - self.assertEqual(endpoint.timeout, DEFAULT_TIMEOUT) + endpoint_url='https://example.com', + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('timeout'), DEFAULT_TIMEOUT) def test_create_endpoint_with_customized_timeout(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com', timeout=123) - self.assertEqual(endpoint.timeout, 123) + endpoint_url='https://example.com', timeout=123, + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('timeout'), 123) def test_get_endpoint_default_verify_ssl(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com') - self.assertTrue(endpoint.verify) + endpoint_url='https://example.com', + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertTrue(session_args.get('verify')) def test_verify_ssl_can_be_disabled(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com', verify=False) - self.assertFalse(endpoint.verify) + endpoint_url='https://example.com', verify=False, + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertFalse(session_args.get('verify')) def test_verify_ssl_can_specify_cert_bundle(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com', verify='/path/cacerts.pem') - self.assertEqual(endpoint.verify, '/path/cacerts.pem') + endpoint_url='https://example.com', verify='/path/cacerts.pem', + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('verify'), '/path/cacerts.pem') + + def test_client_cert_can_specify_path(self): + client_cert = '/some/path/cert' + endpoint = self.creator.create_endpoint( + self.service_model, region_name='us-west-2', + endpoint_url='https://example.com', client_cert=client_cert, + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('client_cert'), '/some/path/cert') def test_honor_cert_bundle_env_var(self): self.environ['REQUESTS_CA_BUNDLE'] = '/env/cacerts.pem' endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com') - self.assertEqual(endpoint.verify, '/env/cacerts.pem') + endpoint_url='https://example.com', + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('verify'), '/env/cacerts.pem') def test_env_ignored_if_explicitly_passed(self): self.environ['REQUESTS_CA_BUNDLE'] = '/env/cacerts.pem' endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', - endpoint_url='https://example.com', verify='/path/cacerts.pem') + endpoint_url='https://example.com', verify='/path/cacerts.pem', + http_session_cls=self.mock_session) + session_args = self.mock_session.call_args[1] # /path/cacerts.pem wins over the value from the env var. - self.assertEqual(endpoint.verify, '/path/cacerts.pem') + self.assertEqual(session_args.get('verify'), '/path/cacerts.pem') def test_can_specify_max_pool_conns(self): endpoint = self.creator.create_endpoint( self.service_model, region_name='us-west-2', endpoint_url='https://example.com', - max_pool_connections=100 + max_pool_connections=100, + http_session_cls=self.mock_session, ) - self.assertEqual(endpoint.max_pool_connections, 100) - - -class TestAWSSession(unittest.TestCase): - def test_auth_header_preserved_from_s3_redirects(self): - request = AWSRequest() - request.url = 'https://bucket.s3.amazonaws.com/' - request.method = 'GET' - request.headers['Authorization'] = 'original auth header' - prepared_request = request.prepare() - - fake_response = Mock() - fake_response.headers = { - 'location': 'https://bucket.s3-us-west-2.amazonaws.com'} - fake_response.url = request.url - fake_response.status_code = 307 - fake_response.is_permanent_redirect = False - # This line is needed to disable the cookie handling - # code in requests. - fake_response.raw._original_response = None - - success_response = Mock() - success_response.raw._original_response = None - success_response.is_redirect = False - success_response.status_code = 200 - session = BotocoreHTTPSession() - session.send = Mock(return_value=success_response) - - list(session.resolve_redirects( - fake_response, prepared_request, stream=False)) - - redirected_request = session.send.call_args[0][0] - # The Authorization header for the newly sent request should - # still have our original Authorization header. - self.assertEqual( - redirected_request.headers['Authorization'], - 'original auth header') + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('max_pool_connections'), 100) - def test_max_pool_conns_injects_custom_adapter(self): - http_adapter_cls = Mock(return_value=sentinel.HTTP_ADAPTER) - session = BotocoreHTTPSession(max_pool_connections=20, - http_adapter_cls=http_adapter_cls) - http_adapter_cls.assert_called_with(pool_maxsize=20) - self.assertEqual(session.adapters['https://'], sentinel.HTTP_ADAPTER) - self.assertEqual(session.adapters['http://'], sentinel.HTTP_ADAPTER) + def test_socket_options(self): + socket_options = [(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)] + self.creator.create_endpoint( + self.service_model, region_name='us-west-2', + endpoint_url='https://example.com', + http_session_cls=self.mock_session, socket_options=socket_options) + session_args = self.mock_session.call_args[1] + self.assertEqual(session_args.get('socket_options'), socket_options) diff -Nru python-botocore-1.4.70/tests/unit/test_errorfactory.py python-botocore-1.16.19+repack/tests/unit/test_errorfactory.py --- python-botocore-1.4.70/tests/unit/test_errorfactory.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_errorfactory.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,133 @@ +# Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"). You +# may not use this file except in compliance with the License. A copy of +# the License is located at +# +# http://aws.amazon.com/apache2.0/ +# +# or in the "license" file accompanying this file. This file is +# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF +# ANY KIND, either express or implied. See the License for the specific +# language governing permissions and limitations under the License. +from tests import unittest + +from botocore.exceptions import ClientError +from botocore.errorfactory import BaseClientExceptions +from botocore.errorfactory import ClientExceptionsFactory +from botocore.model import ServiceModel + + +class TestBaseClientExceptions(unittest.TestCase): + def setUp(self): + self.code_to_exception = {} + self.exceptions = BaseClientExceptions(self.code_to_exception) + + def test_has_client_error(self): + self.assertIs(self.exceptions.ClientError, ClientError) + + def test_from_code(self): + exception_cls = type('MyException', (ClientError,), {}) + self.code_to_exception['MyExceptionCode'] = exception_cls + self.assertIs( + self.exceptions.from_code('MyExceptionCode'), exception_cls) + + def test_from_code_nonmatch_defaults_to_client_error(self): + self.assertIs( + self.exceptions.from_code('SomeUnknownErrorCode'), ClientError) + + def test_gettattr_message(self): + exception_cls = type('MyException', (ClientError,), {}) + self.code_to_exception['MyExceptionCode'] = exception_cls + with self.assertRaisesRegexp( + AttributeError, 'Valid exceptions are: MyException'): + self.exceptions.SomeUnmodeledError + + +class TestClientExceptionsFactory(unittest.TestCase): + def setUp(self): + self.model = { + "metadata": { + 'endpointPrefix': 'myservice', + 'serviceFullName': 'MyService', + }, + 'operations': { + 'OperationName': { + 'name': 'OperationName', + 'errors': [ + {'shape': 'ExceptionMissingCode'}, + {'shape': 'ExceptionWithModeledCode'}, + ], + }, + 'AnotherOperationName': { + 'name': 'AnotherOperationName', + 'errors': [ + {'shape': 'ExceptionForAnotherOperation'}, + {'shape': 'ExceptionWithModeledCode'}, + ], + } + }, + 'shapes': { + 'ExceptionWithModeledCode': { + 'type': 'structure', + 'members': {}, + 'error': { + 'code': 'ModeledCode' + }, + 'exception': True, + }, + 'ExceptionMissingCode': { + 'type': 'structure', + 'members': {}, + 'exception': True, + }, + 'ExceptionForAnotherOperation': { + 'type': 'structure', + 'members': {}, + 'exception': True, + } + } + } + self.service_model = ServiceModel(self.model) + self.exceptions_factory = ClientExceptionsFactory() + + def test_class_name(self): + exceptions = self.exceptions_factory.create_client_exceptions( + self.service_model) + self.assertEqual(exceptions.__class__.__name__, 'MyServiceExceptions') + + def test_creates_modeled_exception(self): + exceptions = self.exceptions_factory.create_client_exceptions( + self.service_model) + self.assertTrue(hasattr(exceptions, 'ExceptionWithModeledCode')) + modeled_exception = exceptions.ExceptionWithModeledCode + self.assertEqual( + modeled_exception.__name__, 'ExceptionWithModeledCode') + self.assertTrue(issubclass(modeled_exception, ClientError)) + + def test_collects_modeled_exceptions_for_all_operations(self): + exceptions = self.exceptions_factory.create_client_exceptions( + self.service_model) + # Make sure exceptions were added for all operations by checking + # an exception only found on an a different operation. + self.assertTrue(hasattr(exceptions, 'ExceptionForAnotherOperation')) + modeled_exception = exceptions.ExceptionForAnotherOperation + self.assertEqual( + modeled_exception.__name__, 'ExceptionForAnotherOperation') + self.assertTrue(issubclass(modeled_exception, ClientError)) + + def test_creates_modeled_exception_mapping_that_has_code(self): + exceptions = self.exceptions_factory.create_client_exceptions( + self.service_model) + exception = exceptions.from_code('ModeledCode') + self.assertEqual(exception.__name__, 'ExceptionWithModeledCode') + self.assertTrue(issubclass(exception, ClientError)) + + def test_creates_modeled_exception_mapping_that_has_no_code(self): + exceptions = self.exceptions_factory.create_client_exceptions( + self.service_model) + # For exceptions that do not have an explicit code associated to them, + # the code is the name of the exception. + exception = exceptions.from_code('ExceptionMissingCode') + self.assertEqual(exception.__name__, 'ExceptionMissingCode') + self.assertTrue(issubclass(exception, ClientError)) diff -Nru python-botocore-1.4.70/tests/unit/test_eventstream.py python-botocore-1.16.19+repack/tests/unit/test_eventstream.py --- python-botocore-1.4.70/tests/unit/test_eventstream.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_eventstream.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,450 @@ +# Copyright 2018 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. +"""Unit tests for the binary event stream decoder. """ + +from mock import Mock +from nose.tools import assert_equal, raises + +from botocore.parsers import EventStreamXMLParser +from botocore.eventstream import ( + EventStreamMessage, MessagePrelude, EventStreamBuffer, + ChecksumMismatch, InvalidPayloadLength, InvalidHeadersLength, + DuplicateHeader, EventStreamHeaderParser, DecodeUtils, EventStream, + NoInitialResponseError +) +from botocore.exceptions import EventStreamError + +EMPTY_MESSAGE = ( + b'\x00\x00\x00\x10\x00\x00\x00\x00\x05\xc2H\xeb}\x98\xc8\xff', + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x10, + headers_length=0, + crc=0x05c248eb, + ), + headers={}, + payload=b'', + crc=0x7d98c8ff, + ) +) + +INT32_HEADER = ( + (b"\x00\x00\x00+\x00\x00\x00\x0e4\x8b\xec{\x08event-id\x04\x00\x00\xa0\x0c" + b"{'foo':'bar'}\xd3\x89\x02\x85"), + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x2b, + headers_length=0x0e, + crc=0x348bec7b, + ), + headers={'event-id': 0x0000a00c}, + payload=b"{'foo':'bar'}", + crc=0xd3890285, + ) +) + +PAYLOAD_NO_HEADERS = ( + b"\x00\x00\x00\x1d\x00\x00\x00\x00\xfdR\x8cZ{'foo':'bar'}\xc3e96", + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x1d, + headers_length=0, + crc=0xfd528c5a, + ), + headers={}, + payload=b"{'foo':'bar'}", + crc=0xc3653936, + ) +) + +PAYLOAD_ONE_STR_HEADER = ( + (b"\x00\x00\x00=\x00\x00\x00 \x07\xfd\x83\x96\x0ccontent-type\x07\x00\x10" + b"application/json{'foo':'bar'}\x8d\x9c\x08\xb1"), + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x3d, + headers_length=0x20, + crc=0x07fd8396, + ), + headers={'content-type': 'application/json'}, + payload=b"{'foo':'bar'}", + crc=0x8d9c08b1, + ) +) + +ALL_HEADERS_TYPES = ( + (b"\x00\x00\x00\x62\x00\x00\x00\x52\x03\xb5\xcb\x9c" + b"\x010\x00\x011\x01\x012\x02\x02\x013\x03\x00\x03" + b"\x014\x04\x00\x00\x00\x04\x015\x05\x00\x00\x00\x00\x00\x00\x00\x05" + b"\x016\x06\x00\x05bytes\x017\x07\x00\x04utf8" + b"\x018\x08\x00\x00\x00\x00\x00\x00\x00\x08\x019\x090123456789abcdef" + b"\x63\x35\x36\x71"), + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x62, + headers_length=0x52, + crc=0x03b5cb9c, + ), + headers={ + '0': True, + '1': False, + '2': 0x02, + '3': 0x03, + '4': 0x04, + '5': 0x05, + '6': b'bytes', + '7': u'utf8', + '8': 0x08, + '9': b'0123456789abcdef', + }, + payload=b"", + crc=0x63353671, + ) +) + +ERROR_EVENT_MESSAGE = ( + (b"\x00\x00\x00\x52\x00\x00\x00\x42\xbf\x23\x63\x7e" + b"\x0d:message-type\x07\x00\x05error" + b"\x0b:error-code\x07\x00\x04code" + b"\x0e:error-message\x07\x00\x07message" + b"\x6b\x6c\xea\x3d"), + EventStreamMessage( + prelude=MessagePrelude( + total_length=0x52, + headers_length=0x42, + crc=0xbf23637e, + ), + headers={ + ':message-type': 'error', + ':error-code': 'code', + ':error-message': 'message', + }, + payload=b'', + crc=0x6b6cea3d, + ) +) + +# Tuples of encoded messages and their expected decoded output +POSITIVE_CASES = [ + EMPTY_MESSAGE, + INT32_HEADER, + PAYLOAD_NO_HEADERS, + PAYLOAD_ONE_STR_HEADER, + ALL_HEADERS_TYPES, + ERROR_EVENT_MESSAGE, +] + +CORRUPTED_HEADER_LENGTH = ( + (b"\x00\x00\x00=\xFF\x00\x01\x02\x07\xfd\x83\x96\x0ccontent-type\x07\x00" + b"\x10application/json{'foo':'bar'}\x8d\x9c\x08\xb1"), + InvalidHeadersLength +) + +CORRUPTED_HEADERS = ( + (b"\x00\x00\x00=\x00\x00\x00 \x07\xfd\x83\x96\x0ccontent+type\x07\x00\x10" + b"application/json{'foo':'bar'}\x8d\x9c\x08\xb1"), + ChecksumMismatch +) + +CORRUPTED_LENGTH = ( + b"\x01\x00\x00\x1d\x00\x00\x00\x00\xfdR\x8cZ{'foo':'bar'}\xc3e96", + InvalidPayloadLength +) + +CORRUPTED_PAYLOAD = ( + b"\x00\x00\x00\x1d\x00\x00\x00\x00\xfdR\x8cZ{'foo':'bar'\x8d\xc3e96", + ChecksumMismatch +) + +DUPLICATE_HEADER = ( + (b"\x00\x00\x00\x24\x00\x00\x00\x14\x4b\xb9\x82\xd0" + b"\x04test\x04asdf\x04test\x04asdf\xf3\xf4\x75\x63"), + DuplicateHeader +) + +# Tuples of encoded messages and their expected exception +NEGATIVE_CASES = [ + CORRUPTED_LENGTH, + CORRUPTED_PAYLOAD, + CORRUPTED_HEADERS, + CORRUPTED_HEADER_LENGTH, + DUPLICATE_HEADER, +] + + +def assert_message_equal(message_a, message_b): + """Asserts all fields for two messages are equal. """ + assert_equal( + message_a.prelude.total_length, + message_b.prelude.total_length + ) + assert_equal( + message_a.prelude.headers_length, + message_b.prelude.headers_length + ) + assert_equal(message_a.prelude.crc, message_b.prelude.crc) + assert_equal(message_a.headers, message_b.headers) + assert_equal(message_a.payload, message_b.payload) + assert_equal(message_a.crc, message_b.crc) + + +def test_partial_message(): + """ Ensure that we can receive partial payloads. """ + data = EMPTY_MESSAGE[0] + event_buffer = EventStreamBuffer() + # This mid point is an arbitrary break in the middle of the headers + mid_point = 15 + event_buffer.add_data(data[:mid_point]) + messages = list(event_buffer) + assert_equal(messages, []) + event_buffer.add_data(data[mid_point:len(data)]) + for message in event_buffer: + assert_message_equal(message, EMPTY_MESSAGE[1]) + + +def check_message_decodes(encoded, decoded): + """ Ensure the message decodes to what we expect. """ + event_buffer = EventStreamBuffer() + event_buffer.add_data(encoded) + messages = list(event_buffer) + assert len(messages) == 1 + assert_message_equal(messages[0], decoded) + + +def test_positive_cases(): + """Test that all positive cases decode how we expect. """ + for (encoded, decoded) in POSITIVE_CASES: + yield check_message_decodes, encoded, decoded + + +def test_all_positive_cases(): + """Test all positive cases can be decoded on the same buffer. """ + event_buffer = EventStreamBuffer() + # add all positive test cases to the same buffer + for (encoded, _) in POSITIVE_CASES: + event_buffer.add_data(encoded) + # collect all of the expected messages + expected_messages = [decoded for (_, decoded) in POSITIVE_CASES] + # collect all of the decoded messages + decoded_messages = list(event_buffer) + # assert all messages match what we expect + for (expected, decoded) in zip(expected_messages, decoded_messages): + assert_message_equal(expected, decoded) + + +def test_negative_cases(): + """Test that all negative cases raise the expected exception. """ + for (encoded, exception) in NEGATIVE_CASES: + test_function = raises(exception)(check_message_decodes) + yield test_function, encoded, None + + +def test_header_parser(): + """Test that the header parser supports all header types. """ + headers_data = ( + b"\x010\x00\x011\x01\x012\x02\x02\x013\x03\x00\x03" + b"\x014\x04\x00\x00\x00\x04\x015\x05\x00\x00\x00\x00\x00\x00\x00\x05" + b"\x016\x06\x00\x05bytes\x017\x07\x00\x04utf8" + b"\x018\x08\x00\x00\x00\x00\x00\x00\x00\x08\x019\x090123456789abcdef" + ) + + expected_headers = { + '0': True, + '1': False, + '2': 0x02, + '3': 0x03, + '4': 0x04, + '5': 0x05, + '6': b'bytes', + '7': u'utf8', + '8': 0x08, + '9': b'0123456789abcdef', + } + + parser = EventStreamHeaderParser() + headers = parser.parse(headers_data) + assert_equal(headers, expected_headers) + + +def test_message_prelude_properties(): + """Test that calculated properties from the payload are correct. """ + # Total length: 40, Headers Length: 15, random crc + prelude = MessagePrelude(40, 15, 0x00000000) + assert_equal(prelude.payload_length, 9) + assert_equal(prelude.headers_end, 27) + assert_equal(prelude.payload_end, 36) + + +def test_message_to_response_dict(): + response_dict = INT32_HEADER[1].to_response_dict() + assert_equal(response_dict['status_code'], 200) + assert_equal(response_dict['headers'], {'event-id': 0x0000a00c}) + assert_equal(response_dict['body'], b"{'foo':'bar'}") + + +def test_message_to_response_dict_error(): + response_dict = ERROR_EVENT_MESSAGE[1].to_response_dict() + assert_equal(response_dict['status_code'], 400) + headers = { + ':message-type': 'error', + ':error-code': 'code', + ':error-message': 'message', + } + assert_equal(response_dict['headers'], headers) + assert_equal(response_dict['body'], b'') + + +def test_unpack_uint8(): + (value, bytes_consumed) = DecodeUtils.unpack_uint8(b'\xDE') + assert_equal(bytes_consumed, 1) + assert_equal(value, 0xDE) + + +def test_unpack_uint32(): + (value, bytes_consumed) = DecodeUtils.unpack_uint32(b'\xDE\xAD\xBE\xEF') + assert_equal(bytes_consumed, 4) + assert_equal(value, 0xDEADBEEF) + + +def test_unpack_int16(): + (value, bytes_consumed) = DecodeUtils.unpack_int16(b'\xFF\xFE') + assert_equal(bytes_consumed, 2) + assert_equal(value, -2) + + +def test_unpack_int32(): + (value, bytes_consumed) = DecodeUtils.unpack_int32(b'\xFF\xFF\xFF\xFE') + assert_equal(bytes_consumed, 4) + assert_equal(value, -2) + + +def test_unpack_int64(): + test_bytes = b'\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFE' + (value, bytes_consumed) = DecodeUtils.unpack_int64(test_bytes) + assert_equal(bytes_consumed, 8) + assert_equal(value, -2) + + +def test_unpack_array_short(): + test_bytes = b'\x00\x10application/json' + (value, bytes_consumed) = DecodeUtils.unpack_byte_array(test_bytes) + assert_equal(bytes_consumed, 18) + assert_equal(value, b'application/json') + + +def test_unpack_byte_array_int(): + (value, array_bytes_consumed) = DecodeUtils.unpack_byte_array( + b'\x00\x00\x00\x10application/json', length_byte_size=4) + assert_equal(array_bytes_consumed, 20) + assert_equal(value, b'application/json') + + +def test_unpack_utf8_string(): + length = b'\x00\x09' + utf8_string = b'\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e' + encoded = length + utf8_string + (value, bytes_consumed) = DecodeUtils.unpack_utf8_string(encoded) + assert_equal(bytes_consumed, 11) + assert_equal(value, utf8_string.decode('utf-8')) + + +def test_unpack_prelude(): + data = b'\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x03' + prelude = DecodeUtils.unpack_prelude(data) + assert_equal(prelude, ((1, 2, 3), 12)) + + +def create_mock_raw_stream(*data): + raw_stream = Mock() + def generator(): + for chunk in data: + yield chunk + raw_stream.stream = generator + return raw_stream + + +def test_event_stream_wrapper_iteration(): + raw_stream = create_mock_raw_stream( + b"\x00\x00\x00+\x00\x00\x00\x0e4\x8b\xec{\x08event-id\x04\x00", + b"\x00\xa0\x0c{'foo':'bar'}\xd3\x89\x02\x85", + ) + parser = Mock(spec=EventStreamXMLParser) + output_shape = Mock() + event_stream = EventStream(raw_stream, output_shape, parser, '') + events = list(event_stream) + assert_equal(len(events), 1) + + response_dict = { + 'headers': {'event-id': 0x0000a00c}, + 'body': b"{'foo':'bar'}", + 'status_code': 200, + } + parser.parse.assert_called_with(response_dict, output_shape) + + +@raises(EventStreamError) +def test_eventstream_wrapper_iteration_error(): + raw_stream = create_mock_raw_stream(ERROR_EVENT_MESSAGE[0]) + parser = Mock(spec=EventStreamXMLParser) + parser.parse.return_value = {} + output_shape = Mock() + event_stream = EventStream(raw_stream, output_shape, parser, '') + list(event_stream) + + +def test_event_stream_wrapper_close(): + raw_stream = Mock() + event_stream = EventStream(raw_stream, None, None, '') + event_stream.close() + raw_stream.close.assert_called_once_with() + + +def test_event_stream_initial_response(): + raw_stream = create_mock_raw_stream( + b'\x00\x00\x00~\x00\x00\x00O\xc5\xa3\xdd\xc6\r:message-type\x07\x00', + b'\x05event\x0b:event-type\x07\x00\x10initial-response\r:content-type', + b'\x07\x00\ttext/json{"InitialResponse": "sometext"}\xf6\x98$\x83' + ) + parser = Mock(spec=EventStreamXMLParser) + output_shape = Mock() + event_stream = EventStream(raw_stream, output_shape, parser, '') + event = event_stream.get_initial_response() + headers = { + ':message-type': 'event', + ':event-type': 'initial-response', + ':content-type': 'text/json', + } + payload = b'{"InitialResponse": "sometext"}' + assert event.headers == headers + assert event.payload == payload + + +@raises(NoInitialResponseError) +def test_event_stream_initial_response_wrong_type(): + raw_stream = create_mock_raw_stream( + b"\x00\x00\x00+\x00\x00\x00\x0e4\x8b\xec{\x08event-id\x04\x00", + b"\x00\xa0\x0c{'foo':'bar'}\xd3\x89\x02\x85", + ) + parser = Mock(spec=EventStreamXMLParser) + output_shape = Mock() + event_stream = EventStream(raw_stream, output_shape, parser, '') + event_stream.get_initial_response() + + +@raises(NoInitialResponseError) +def test_event_stream_initial_response_no_event(): + raw_stream = create_mock_raw_stream(b'') + parser = Mock(spec=EventStreamXMLParser) + output_shape = Mock() + event_stream = EventStream(raw_stream, output_shape, parser, '') + event_stream.get_initial_response() diff -Nru python-botocore-1.4.70/tests/unit/test_exceptions.py python-botocore-1.16.19+repack/tests/unit/test_exceptions.py --- python-botocore-1.4.70/tests/unit/test_exceptions.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_exceptions.py 2020-05-28 19:26:10.000000000 +0000 @@ -11,15 +11,20 @@ # 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 nose.tools import assert_equals +import pickle +from tests import unittest +from nose.tools import assert_equal + +import botocore.awsrequest +import botocore.session from botocore import exceptions def test_client_error_can_handle_missing_code_or_message(): response = {'Error': {}} expect = 'An error occurred (Unknown) when calling the blackhole operation: Unknown' - assert_equals(str(exceptions.ClientError(response, 'blackhole')), expect) + assert_equal(str(exceptions.ClientError(response, 'blackhole')), expect) def test_client_error_has_operation_name_set(): @@ -31,7 +36,7 @@ def test_client_error_set_correct_operation_name(): response = {'Error': {}} exception = exceptions.ClientError(response, 'blackhole') - assert_equals(exception.operation_name, 'blackhole') + assert_equal(exception.operation_name, 'blackhole') def test_retry_info_added_when_present(): @@ -62,3 +67,96 @@ raise AssertionError("Retry information should not be in exception " "message when retry attempts not in response " "metadata: %s" % error_msg) + + +def test_can_handle_when_response_missing_error_key(): + response = { + 'ResponseMetadata': { + 'HTTPHeaders': {}, + 'HTTPStatusCode': 503, + 'MaxAttemptsReached': True, + 'RetryAttempts': 4 + } + } + e = exceptions.ClientError(response, 'SomeOperation') + if 'An error occurred (Unknown)' not in str(e): + raise AssertionError( + "Error code should default to 'Unknown' " + "when missing error response, instead got: %s" % str(e)) + + +class TestPickleExceptions(unittest.TestCase): + def test_single_kwarg_botocore_error(self): + exception = botocore.exceptions.DataNotFoundError( + data_path='mypath') + unpickled_exception = pickle.loads(pickle.dumps(exception)) + self.assertIsInstance( + unpickled_exception, botocore.exceptions.DataNotFoundError) + self.assertEqual(str(unpickled_exception), str(exception)) + self.assertEqual(unpickled_exception.kwargs, exception.kwargs) + + def test_multiple_kwarg_botocore_error(self): + exception = botocore.exceptions.UnknownServiceError( + service_name='myservice', known_service_names=['s3'] + ) + unpickled_exception = pickle.loads(pickle.dumps(exception)) + self.assertIsInstance( + unpickled_exception, botocore.exceptions.UnknownServiceError) + self.assertEqual(str(unpickled_exception), str(exception)) + self.assertEqual(unpickled_exception.kwargs, exception.kwargs) + + def test_client_error(self): + exception = botocore.exceptions.ClientError( + error_response={ + 'Error': {'Code': 'MyCode', 'Message': 'MyMessage'}}, + operation_name='myoperation' + ) + unpickled_exception = pickle.loads(pickle.dumps(exception)) + self.assertIsInstance( + unpickled_exception, botocore.exceptions.ClientError) + self.assertEqual(str(unpickled_exception), str(exception)) + self.assertEqual( + unpickled_exception.operation_name, exception.operation_name) + self.assertEqual(unpickled_exception.response, exception.response) + + def test_dynamic_client_error(self): + session = botocore.session.Session() + client = session.create_client('s3', 'us-west-2') + exception = client.exceptions.NoSuchKey( + error_response={ + 'Error': {'Code': 'NoSuchKey', 'Message': 'Not Found'}}, + operation_name='myoperation' + ) + unpickled_exception = pickle.loads(pickle.dumps(exception)) + self.assertIsInstance( + unpickled_exception, botocore.exceptions.ClientError) + self.assertEqual(str(unpickled_exception), str(exception)) + self.assertEqual( + unpickled_exception.operation_name, exception.operation_name) + self.assertEqual(unpickled_exception.response, exception.response) + + def test_http_client_error(self): + exception = botocore.exceptions.HTTPClientError( + botocore.awsrequest.AWSRequest(), + botocore.awsrequest.AWSResponse( + url='https://foo.com', + status_code=400, + headers={}, + raw=b'' + ), + error='error' + ) + unpickled_exception = pickle.loads(pickle.dumps(exception)) + self.assertIsInstance( + unpickled_exception, + botocore.exceptions.HTTPClientError + ) + self.assertEqual(str(unpickled_exception), str(exception)) + self.assertEqual(unpickled_exception.kwargs, exception.kwargs) + # The request/response properties on the HTTPClientError do not have + # __eq__ defined so we want to make sure properties are at least + # of the expected type + self.assertIsInstance( + unpickled_exception.request, botocore.awsrequest.AWSRequest) + self.assertIsInstance( + unpickled_exception.response, botocore.awsrequest.AWSResponse) diff -Nru python-botocore-1.4.70/tests/unit/test_handlers.py python-botocore-1.16.19+repack/tests/unit/test_handlers.py --- python-botocore-1.4.70/tests/unit/test_handlers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_handlers.py 2020-05-28 19:26:10.000000000 +0000 @@ -17,11 +17,14 @@ import mock import copy import os +import json import botocore import botocore.session +from botocore.compat import OrderedDict from botocore.exceptions import ParamValidationError, MD5UnavailableError from botocore.exceptions import AliasConflictParameterError +from botocore.exceptions import MissingServiceIdError from botocore.awsrequest import AWSRequest from botocore.compat import quote, six from botocore.config import Config @@ -29,8 +32,10 @@ from botocore.docs.params import RequestParamsDocumenter from botocore.docs.example import RequestExampleDocumenter from botocore.hooks import HierarchicalEmitter -from botocore.model import OperationModel, ServiceModel +from botocore.loaders import Loader +from botocore.model import OperationModel, ServiceModel, ServiceId from botocore.model import DenormalizedStructureBuilder +from botocore.session import Session from botocore.signers import RequestSigner from botocore.credentials import Credentials from botocore import handlers @@ -130,16 +135,78 @@ self.assertEqual(params['CopySource'], '/foo/bar?versionId=123') - def test_presigned_url_already_present(self): + def test_presigned_url_already_present_ec2(self): + operation_model = mock.Mock() + operation_model.name = 'CopySnapshot' params = {'body': {'PresignedUrl': 'https://foo'}} - handlers.copy_snapshot_encrypted(params, None) + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('ec2'), 'us-east-1', 'ec2', 'v4', + credentials, event_emitter) + handlers.inject_presigned_url_ec2( + params, request_signer, operation_model) + self.assertEqual(params['body']['PresignedUrl'], 'https://foo') + + def test_presigned_url_with_source_region_ec2(self): + operation_model = mock.Mock() + operation_model.name = 'CopySnapshot' + params = { + 'body': { + 'PresignedUrl': 'https://foo', + 'SourceRegion': 'us-east-1' + } + } + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('ec2'), 'us-east-1', 'ec2', 'v4', credentials, + event_emitter) + handlers.inject_presigned_url_ec2( + params, request_signer, operation_model) self.assertEqual(params['body']['PresignedUrl'], 'https://foo') + self.assertEqual(params['body']['SourceRegion'], 'us-east-1') - def test_copy_snapshot_encrypted(self): + def test_presigned_url_already_present_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + params = {'body': {'PreSignedUrl': 'https://foo'}} credentials = Credentials('key', 'secret') event_emitter = HierarchicalEmitter() request_signer = RequestSigner( - 'ec2', 'us-east-1', 'ec2', 'v4', credentials, event_emitter) + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + handlers.inject_presigned_url_rds( + params, request_signer, operation_model) + self.assertEqual(params['body']['PreSignedUrl'], 'https://foo') + + def test_presigned_url_with_source_region_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + params = { + 'body': { + 'PreSignedUrl': 'https://foo', + 'SourceRegion': 'us-east-1' + } + } + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + handlers.inject_presigned_url_rds( + params, request_signer, operation_model) + self.assertEqual(params['body']['PreSignedUrl'], 'https://foo') + self.assertNotIn('SourceRegion', params['body']) + + def test_inject_presigned_url_ec2(self): + operation_model = mock.Mock() + operation_model.name = 'CopySnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('ec2'), 'us-east-1', 'ec2', 'v4', credentials, + event_emitter) request_dict = {} params = {'SourceRegion': 'us-west-2'} request_dict['body'] = params @@ -148,26 +215,51 @@ request_dict['headers'] = {} request_dict['context'] = {} - handlers.copy_snapshot_encrypted(request_dict, request_signer) + handlers.inject_presigned_url_ec2( + request_dict, request_signer, operation_model) self.assertIn('https://ec2.us-west-2.amazonaws.com?', params['PresignedUrl']) self.assertIn('X-Amz-Signature', params['PresignedUrl']) + self.assertIn('DestinationRegion', params['PresignedUrl']) # We should also populate the DestinationRegion with the # region_name of the endpoint object. self.assertEqual(params['DestinationRegion'], 'us-east-1') + def test_use_event_operation_name(self): + operation_model = mock.Mock() + operation_model.name = 'FakeOperation' + request_signer = mock.Mock() + request_signer._region_name = 'us-east-1' + request_dict = {} + params = {'SourceRegion': 'us-west-2'} + request_dict['body'] = params + request_dict['url'] = 'https://myservice.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_ec2( + request_dict, request_signer, operation_model) + + call_args = request_signer.generate_presigned_url.call_args + operation_name = call_args[1].get('operation_name') + self.assertEqual(operation_name, 'FakeOperation') + def test_destination_region_always_changed(self): # If the user provides a destination region, we will still # override the DesinationRegion with the region_name from # the endpoint object. actual_region = 'us-west-1' + operation_model = mock.Mock() + operation_model.name = 'CopySnapshot' credentials = Credentials('key', 'secret') event_emitter = HierarchicalEmitter() request_signer = RequestSigner( - 'ec2', actual_region, 'ec2', 'v4', credentials, event_emitter) + ServiceId('ec2'), actual_region, 'ec2', 'v4', credentials, + event_emitter) request_dict = {} params = { 'SourceRegion': 'us-west-2', @@ -180,7 +272,8 @@ # The user provides us-east-1, but we will override this to # endpoint.region_name, of 'us-west-1' in this case. - handlers.copy_snapshot_encrypted(request_dict, request_signer) + handlers.inject_presigned_url_ec2( + request_dict, request_signer, operation_model) self.assertIn('https://ec2.us-west-2.amazonaws.com?', params['PresignedUrl']) @@ -189,6 +282,149 @@ # whatever value the user provides. self.assertEqual(params['DestinationRegion'], actual_region) + def test_inject_presigned_url_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + request_dict = {} + params = {'SourceRegion': 'us-west-2'} + request_dict['body'] = params + request_dict['url'] = 'https://rds.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_rds( + request_dict, request_signer, operation_model) + + self.assertIn('https://rds.us-west-2.amazonaws.com?', + params['PreSignedUrl']) + self.assertIn('X-Amz-Signature', + params['PreSignedUrl']) + self.assertIn('DestinationRegion', params['PreSignedUrl']) + # We should not populate the destination region for rds + self.assertNotIn('DestinationRegion', params) + + def test_source_region_removed(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter + ) + request_dict = {} + params = {'SourceRegion': 'us-west-2'} + request_dict['body'] = params + request_dict['url'] = 'https://rds.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_rds( + params=request_dict, + request_signer=request_signer, + model=operation_model + ) + + self.assertNotIn('SourceRegion', params) + + def test_source_region_removed_when_presigned_url_provided_for_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + request_dict = {} + params = {'SourceRegion': 'us-west-2', 'PreSignedUrl': 'https://foo'} + request_dict['body'] = params + request_dict['url'] = 'https://rds.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_rds( + params=request_dict, + request_signer=request_signer, + model=operation_model + ) + + self.assertNotIn('SourceRegion', params) + + def test_dest_region_removed(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + request_dict = {} + params = {'SourceRegion': 'us-west-2'} + request_dict['body'] = params + request_dict['url'] = 'https://rds.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_rds( + params=request_dict, + request_signer=request_signer, + model=operation_model + ) + + self.assertNotIn('DestinationRegion', params) + + def test_presigned_url_already_present_for_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + params = {'body': {'PresignedUrl': 'https://foo'}} + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + handlers.inject_presigned_url_rds( + params=params, + request_signer=request_signer, + model=operation_model + ) + self.assertEqual(params['body']['PresignedUrl'], 'https://foo') + + def test_presigned_url_casing_changed_for_rds(self): + operation_model = mock.Mock() + operation_model.name = 'CopyDBSnapshot' + credentials = Credentials('key', 'secret') + event_emitter = HierarchicalEmitter() + request_signer = RequestSigner( + ServiceId('rds'), 'us-east-1', 'rds', 'v4', credentials, + event_emitter) + request_dict = {} + params = {'SourceRegion': 'us-west-2'} + request_dict['body'] = params + request_dict['url'] = 'https://rds.us-east-1.amazonaws.com' + request_dict['method'] = 'POST' + request_dict['headers'] = {} + request_dict['context'] = {} + + handlers.inject_presigned_url_rds( + params=request_dict, + request_signer=request_signer, + model=operation_model + ) + + self.assertNotIn('PresignedUrl', params) + self.assertIn('https://rds.us-west-2.amazonaws.com?', + params['PreSignedUrl']) + self.assertIn('X-Amz-Signature', params['PreSignedUrl']) + def test_500_status_code_set_for_200_response(self): http_response = mock.Mock() http_response.status_code = 200 @@ -316,39 +552,6 @@ 'UserData': b64_user_data} self.assertEqual(params, result) - def test_register_retry_for_handlers_with_no_endpoint_prefix(self): - no_endpoint_prefix = {'metadata': {}} - session = mock.Mock() - handlers.register_retries_for_service(service_data=no_endpoint_prefix, - session=mock.Mock(), - service_name='foo') - self.assertFalse(session.register.called) - - def test_register_retry_handlers(self): - service_data = { - 'metadata': {'endpointPrefix': 'foo'}, - } - session = mock.Mock() - loader = mock.Mock() - session.get_component.return_value = loader - loader.load_data.return_value = { - 'retry': { - '__default__': { - 'max_attempts': 10, - 'delay': { - 'type': 'exponential', - 'base': 2, - 'growth_factor': 5, - }, - }, - }, - } - handlers.register_retries_for_service(service_data=service_data, - session=session, - service_name='foo') - session.register.assert_called_with('needs-retry.foo', mock.ANY, - unique_id='retry-config-foo') - def test_get_template_has_error_response(self): original = {'Error': {'Code': 'Message'}} handler_input = copy.deepcopy(original) @@ -357,6 +560,24 @@ # an error response. self.assertEqual(original, handler_input) + def test_does_decode_template_body_in_order(self): + expected_ordering = OrderedDict([ + ('TemplateVersion', 1.0), + ('APropertyOfSomeKind', 'a value'), + ('list', [1, 2, 3]), + ('nested', OrderedDict([('key', 'value'), + ('foo', 'bar')])) + ]) + template_string = json.dumps(expected_ordering) + parsed_response = {'TemplateBody': template_string} + + handlers.json_decode_template_body(parsed=parsed_response) + result = parsed_response['TemplateBody'] + + self.assertTrue(isinstance(result, OrderedDict)) + for element, expected_element in zip(result, expected_ordering): + self.assertEqual(element, expected_element) + def test_decode_json_policy(self): parsed = { 'Document': '{"foo": "foobarbaz"}', @@ -492,8 +713,6 @@ handlers.switch_host_with_param(request, 'PredictEndpoint') self.assertEqual(request.url, new_endpoint) - - def test_invalid_char_in_bucket_raises_exception(self): params = { 'Bucket': 'bad/bucket/name', @@ -535,6 +754,23 @@ def test_validation_is_noop_if_no_bucket_param_exists(self): self.assertIsNone(handlers.validate_bucket_name(params={})) + def test_validation_is_s3_accesspoint_arn(self): + try: + arn = 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint' + handlers.validate_bucket_name({'Bucket': arn}) + except ParamValidationError: + self.fail('The s3 arn: %s should pass validation' % arn) + + def test_validation_is_global_s3_bucket_arn(self): + with self.assertRaises(ParamValidationError): + arn = 'arn:aws:s3:::mybucket' + handlers.validate_bucket_name({'Bucket': arn}) + + def test_validation_is_other_service_arn(self): + with self.assertRaises(ParamValidationError): + arn = 'arn:aws:ec2:us-west-2:123456789012:instance:myinstance' + handlers.validate_bucket_name({'Bucket': arn}) + def test_validate_non_ascii_metadata_values(self): with self.assertRaises(ParamValidationError): handlers.validate_ascii_metadata({'Metadata': {'foo': u'\u2713'}}) @@ -621,12 +857,113 @@ handlers.decode_list_object(parsed, context=context) self.assertEqual(parsed['Delimiter'], u'\xe7\xf6s% asd\x08 c') - def test_get_bucket_location_optional(self): - # This handler should no-op if another hook (i.e. stubber) has already - # filled in response - response = {"LocationConstraint": "eu-west-1"} - handlers.parse_get_bucket_location(response, None), - self.assertEqual(response["LocationConstraint"], "eu-west-1") + def test_decode_list_objects_v2(self): + parsed = { + 'Contents': [{'Key': "%C3%A7%C3%B6s%25asd%08"}], + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual(parsed['Contents'][0]['Key'], u'\xe7\xf6s%asd\x08') + + def test_decode_list_objects_v2_does_not_decode_without_context(self): + parsed = { + 'Contents': [{'Key': "%C3%A7%C3%B6s%25asd"}], + 'EncodingType': 'url', + } + handlers.decode_list_object_v2(parsed, context={}) + self.assertEqual(parsed['Contents'][0]['Key'], u'%C3%A7%C3%B6s%25asd') + + def test_decode_list_objects_v2_with_delimiter(self): + parsed = { + 'Delimiter': "%C3%A7%C3%B6s%25%20asd%08+c", + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual(parsed['Delimiter'], u'\xe7\xf6s% asd\x08 c') + + def test_decode_list_objects_v2_with_prefix(self): + parsed = { + 'Prefix': "%C3%A7%C3%B6s%25%20asd%08+c", + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual(parsed['Prefix'], u'\xe7\xf6s% asd\x08 c') + + def test_decode_list_objects_v2_does_not_decode_continuationtoken(self): + parsed = { + 'ContinuationToken': "%C3%A7%C3%B6s%25%20asd%08+c", + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual( + parsed['ContinuationToken'], u"%C3%A7%C3%B6s%25%20asd%08+c") + + def test_decode_list_objects_v2_with_startafter(self): + parsed = { + 'StartAfter': "%C3%A7%C3%B6s%25%20asd%08+c", + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual(parsed['StartAfter'], u'\xe7\xf6s% asd\x08 c') + + def test_decode_list_objects_v2_with_common_prefixes(self): + parsed = { + 'CommonPrefixes': [{'Prefix': "%C3%A7%C3%B6s%25%20asd%08+c"}], + 'EncodingType': 'url', + } + context = {'encoding_type_auto_set': True} + handlers.decode_list_object_v2(parsed, context=context) + self.assertEqual(parsed['CommonPrefixes'][0]['Prefix'], + u'\xe7\xf6s% asd\x08 c') + + def test_set_operation_specific_signer_no_auth_type(self): + signing_name = 'myservice' + context = {'auth_type': None} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertIsNone(response) + + def test_set_operation_specific_signer_unsigned(self): + signing_name = 'myservice' + context = {'auth_type': 'none'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, botocore.UNSIGNED) + + def test_set_operation_specific_signer_v4(self): + signing_name = 'myservice' + context = {'auth_type': 'v4'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 'v4') + + def test_set_operation_specific_signer_s3v4(self): + signing_name = 's3' + context = {'auth_type': 'v4'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 's3v4') + + def test_set_operation_specific_signer_v4_unsinged_payload(self): + signing_name = 'myservice' + context = {'auth_type': 'v4-unsigned-body'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 'v4') + self.assertEqual(context.get('payload_signing_enabled'), False) + + def test_set_operation_specific_signer_s3v4_unsigned_payload(self): + signing_name = 's3' + context = {'auth_type': 'v4-unsigned-body'} + response = handlers.set_operation_specific_signer( + context=context, signing_name=signing_name) + self.assertEqual(response, 's3v4') + self.assertEqual(context.get('payload_signing_enabled'), False) class TestConvertStringBodyToFileLikeObject(BaseSessionTest): @@ -674,10 +1011,12 @@ return names def test_s3_special_case_is_before_other_retry(self): + client = self.session.create_client('s3') service_model = self.session.get_service_model('s3') operation = service_model.operation_model('CopyObject') - responses = self.session.emit( + responses = client.meta.events.emit( 'needs-retry.s3.CopyObject', + request_dict={}, response=(mock.Mock(), mock.Mock()), endpoint=mock.Mock(), operation=operation, attempts=1, caught_exception=None) # This is implementation specific, but we're trying to verify that @@ -738,7 +1077,7 @@ event = 'before-parameter-build.s3.%s' % op params = {'SSECustomerKey': b'bar', 'SSECustomerAlgorithm': 'AES256'} - self.session.emit(event, params=params, model=mock.Mock()) + self.session.emit(event, params=params, model=mock.MagicMock()) self.assertEqual(params['SSECustomerKey'], 'YmFy') self.assertEqual(params['SSECustomerKeyMD5'], 'Zm9v') @@ -746,7 +1085,7 @@ event = 'before-parameter-build.s3.PutObject' params = {'SSECustomerKey': 'bar', 'SSECustomerAlgorithm': 'AES256'} - self.session.emit(event, params=params, model=mock.Mock()) + self.session.emit(event, params=params, model=mock.MagicMock()) self.assertEqual(params['SSECustomerKey'], 'YmFy') self.assertEqual(params['SSECustomerKeyMD5'], 'Zm9v') @@ -755,7 +1094,7 @@ event = 'before-parameter-build.s3.%s' % op params = {'CopySourceSSECustomerKey': b'bar', 'CopySourceSSECustomerAlgorithm': 'AES256'} - self.session.emit(event, params=params, model=mock.Mock()) + self.session.emit(event, params=params, model=mock.MagicMock()) self.assertEqual(params['CopySourceSSECustomerKey'], 'YmFy') self.assertEqual(params['CopySourceSSECustomerKeyMD5'], 'Zm9v') @@ -763,7 +1102,7 @@ event = 'before-parameter-build.s3.CopyObject' params = {'CopySourceSSECustomerKey': 'bar', 'CopySourceSSECustomerAlgorithm': 'AES256'} - self.session.emit(event, params=params, model=mock.Mock()) + self.session.emit(event, params=params, model=mock.MagicMock()) self.assertEqual(params['CopySourceSSECustomerKey'], 'YmFy') self.assertEqual(params['CopySourceSSECustomerKeyMD5'], 'Zm9v') @@ -779,7 +1118,7 @@ def test_adds_md5_when_v4(self): credentials = Credentials('key', 'secret') request_signer = RequestSigner( - 's3', 'us-east-1', 's3', 'v4', credentials, mock.Mock()) + ServiceId('s3'), 'us-east-1', 's3', 'v4', credentials, mock.Mock()) request_dict = {'body': b'bar', 'url': 'https://s3.us-east-1.amazonaws.com', 'method': 'PUT', @@ -792,7 +1131,8 @@ def test_adds_md5_when_s3v4(self): credentials = Credentials('key', 'secret') request_signer = RequestSigner( - 's3', 'us-east-1', 's3', 's3v4', credentials, mock.Mock()) + ServiceId('s3'), 'us-east-1', 's3', 's3v4', credentials, + mock.Mock()) request_dict = {'body': b'bar', 'url': 'https://s3.us-east-1.amazonaws.com', 'method': 'PUT', @@ -821,7 +1161,7 @@ def test_add_md5_raises_error_when_md5_unavailable(self): credentials = Credentials('key', 'secret') request_signer = RequestSigner( - 's3', 'us-east-1', 's3', 's3', credentials, mock.Mock()) + ServiceId('s3'), 'us-east-1', 's3', 's3', credentials, mock.Mock()) request_dict = {'body': b'bar', 'url': 'https://s3.us-east-1.amazonaws.com', 'method': 'PUT', @@ -835,7 +1175,7 @@ def test_adds_md5_when_s3v2(self): credentials = Credentials('key', 'secret') request_signer = RequestSigner( - 's3', 'us-east-1', 's3', 's3', credentials, mock.Mock()) + ServiceId('s3'), 'us-east-1', 's3', 's3', credentials, mock.Mock()) request_dict = {'body': b'bar', 'url': 'https://s3.us-east-1.amazonaws.com', 'method': 'PUT', @@ -959,3 +1299,56 @@ contents = self.sample_section.flush_structure().decode('utf-8') self.assertIn(self.alias_name + '=', contents) self.assertNotIn(self.original_name + '=', contents) + + +class TestCommandAlias(unittest.TestCase): + def test_command_alias(self): + alias = handlers.ClientMethodAlias('foo') + client = mock.Mock() + client.foo.return_value = 'bar' + + response = alias(client=client)() + self.assertEqual(response, 'bar') + + +class TestPrependToHost(unittest.TestCase): + def setUp(self): + self.hoister = handlers.HeaderToHostHoister('test-header') + + def _prepend_to_host(self, url, prepend_string): + params = { + 'headers': { + 'test-header': prepend_string, + }, + 'url': url, + } + self.hoister.hoist(params=params) + return params['url'] + + def test_does_prepend_to_host(self): + prepended = self._prepend_to_host('https://bar.example.com/', 'foo') + self.assertEqual(prepended, 'https://foo.bar.example.com/') + + def test_does_prepend_to_host_with_http(self): + prepended = self._prepend_to_host('http://bar.example.com/', 'foo') + self.assertEqual(prepended, 'http://foo.bar.example.com/') + + def test_does_prepend_to_host_with_path(self): + prepended = self._prepend_to_host( + 'https://bar.example.com/path', 'foo') + self.assertEqual(prepended, 'https://foo.bar.example.com/path') + + def test_does_prepend_to_host_with_more_components(self): + prepended = self._prepend_to_host( + 'https://bar.baz.example.com/path', 'foo') + self.assertEqual(prepended, 'https://foo.bar.baz.example.com/path') + + def test_does_validate_long_host(self): + with self.assertRaises(ParamValidationError): + self._prepend_to_host( + 'https://example.com/path', 'toolong'*100) + + def test_does_validate_host_with_illegal_char(self): + with self.assertRaises(ParamValidationError): + self._prepend_to_host( + 'https://example.com/path', 'host#name') diff -Nru python-botocore-1.4.70/tests/unit/test_history.py python-botocore-1.16.19+repack/tests/unit/test_history.py --- python-botocore-1.4.70/tests/unit/test_history.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_history.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,90 @@ +from tests import unittest + +import mock + +from botocore.history import HistoryRecorder +from botocore.history import BaseHistoryHandler +from botocore.history import get_global_history_recorder + + +class TerribleError(Exception): + pass + + +class ExceptionThrowingHandler(BaseHistoryHandler): + def emit(self, event_type, payload, source): + raise TerribleError('Bad behaving handler') + + +class TestHistoryRecorder(unittest.TestCase): + def test_can_attach_and_call_handler_emit(self): + mock_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.enable() + recorder.add_handler(mock_handler) + recorder.record('foo', 'bar', source='source') + + mock_handler.emit.assert_called_with('foo', 'bar', 'source') + + def test_can_call_multiple_handlers(self): + first_handler = mock.Mock(spec=BaseHistoryHandler) + second_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.enable() + recorder.add_handler(first_handler) + recorder.add_handler(second_handler) + recorder.record('foo', 'bar', source='source') + + first_handler.emit.assert_called_with('foo', 'bar', 'source') + second_handler.emit.assert_called_with('foo', 'bar', 'source') + + def test_does_use_botocore_source_by_default(self): + mock_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.enable() + recorder.add_handler(mock_handler) + recorder.record('foo', 'bar') + + mock_handler.emit.assert_called_with('foo', 'bar', 'BOTOCORE') + + def test_does_not_call_handlers_when_never_enabled(self): + mock_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.add_handler(mock_handler) + recorder.record('foo', 'bar') + + mock_handler.emit.assert_not_called() + + def test_does_not_call_handlers_when_disabled(self): + mock_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.enable() + recorder.disable() + recorder.add_handler(mock_handler) + recorder.record('foo', 'bar') + + mock_handler.emit.assert_not_called() + + def test_can_ignore_handler_exceptions(self): + mock_handler = mock.Mock(spec=BaseHistoryHandler) + recorder = HistoryRecorder() + recorder.enable() + bad_handler = ExceptionThrowingHandler() + recorder.add_handler(bad_handler) + recorder.add_handler(mock_handler) + try: + recorder.record('foo', 'bar') + except TerribleError: + self.fail('Should not have raised a TerribleError') + mock_handler.emit.assert_called_with('foo', 'bar', 'BOTOCORE') + + +class TestGetHistoryRecorder(unittest.TestCase): + def test_can_get_history_recorder(self): + recorder = get_global_history_recorder() + self.assertTrue(isinstance(recorder, HistoryRecorder)) + + def test_does_reuse_history_recorder(self): + recorder_1 = get_global_history_recorder() + recorder_2 = get_global_history_recorder() + self.assertIs(recorder_1, recorder_2) diff -Nru python-botocore-1.4.70/tests/unit/test_hooks.py python-botocore-1.16.19+repack/tests/unit/test_hooks.py --- python-botocore-1.4.70/tests/unit/test_hooks.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_hooks.py 2020-05-28 19:26:10.000000000 +0000 @@ -17,6 +17,7 @@ from functools import partial from botocore.hooks import HierarchicalEmitter, first_non_none_response +from botocore.hooks import EventAliaser class TestHierarchicalEventEmitter(unittest.TestCase): @@ -61,6 +62,103 @@ self.assertEqual(calls, ['foo.bar.baz', 'foo.bar', 'foo']) +class TestAliasedEmitter(unittest.TestCase): + def setUp(self): + self.hook_calls = [] + + def hook(self, **kwargs): + self.hook_calls.append(kwargs) + + def get_emitter(self, event_aliases): + emitter = HierarchicalEmitter() + return EventAliaser(emitter, event_aliases) + + def test_event_emitted(self): + aliases = {'bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + emitter.register('foo.bear.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + def test_aliased_event_emitted(self): + aliases = {'bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + emitter.register('foo.bear.baz', self.hook) + emitter.emit('foo.bar.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + def test_alias_with_dots_emitted(self): + aliases = {'api.bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + emitter.register('foo.bear.baz', self.hook) + emitter.emit('foo.api.bar.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + def test_aliased_event_registered(self): + aliases = {'bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + emitter.register('foo.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + def test_aliased_event_with_dots_registered(self): + aliases = {'api.bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + emitter.register('foo.api.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + def test_event_unregistered(self): + aliases = {'bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + + emitter.register('foo.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + self.hook_calls = [] + emitter.unregister('foo.bear.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, []) + + def test_aliased_event_unregistered(self): + aliases = {'bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + + emitter.register('foo.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + self.hook_calls = [] + emitter.unregister('foo.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, []) + + def test_aliased_event_with_dots_unregistered(self): + aliases = {'api.bar': 'bear'} + emitter = self.get_emitter(event_aliases=aliases) + + emitter.register('foo.api.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, ['foo.bear.baz']) + + self.hook_calls = [] + emitter.unregister('foo.api.bar.baz', self.hook) + emitter.emit('foo.bear.baz') + calls = [e['event_name'] for e in self.hook_calls] + self.assertEqual(calls, []) + + class TestStopProcessing(unittest.TestCase): def setUp(self): self.emitter = HierarchicalEmitter() diff -Nru python-botocore-1.4.70/tests/unit/test_http_client_exception_mapping.py python-botocore-1.16.19+repack/tests/unit/test_http_client_exception_mapping.py --- python-botocore-1.4.70/tests/unit/test_http_client_exception_mapping.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_http_client_exception_mapping.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,27 @@ +from nose.tools import assert_raises + +from botocore import exceptions as botocore_exceptions +from botocore.vendored.requests import exceptions as requests_exceptions +from botocore.vendored.requests.packages.urllib3 import exceptions as urllib3_exceptions + +EXCEPTION_MAPPING = [ + (botocore_exceptions.ReadTimeoutError, requests_exceptions.ReadTimeout), + (botocore_exceptions.ReadTimeoutError, urllib3_exceptions.ReadTimeoutError), + (botocore_exceptions.ConnectTimeoutError, requests_exceptions.ConnectTimeout), + (botocore_exceptions.ProxyConnectionError, requests_exceptions.ProxyError), + (botocore_exceptions.SSLError, requests_exceptions.SSLError), +] + + +def _raise_exception(exception): + raise exception(endpoint_url=None, proxy_url=None, error=None) + + +def _test_exception_mapping(new_exception, old_exception): + # assert that the new exception can still be caught by the old vendored one + assert_raises(old_exception, _raise_exception, new_exception) + + +def test_http_client_exception_mapping(): + for new_exception, old_exception in EXCEPTION_MAPPING: + yield _test_exception_mapping, new_exception, old_exception diff -Nru python-botocore-1.4.70/tests/unit/test_http_session.py python-botocore-1.16.19+repack/tests/unit/test_http_session.py --- python-botocore-1.4.70/tests/unit/test_http_session.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_http_session.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,285 @@ +import socket + +from mock import patch, Mock, ANY +from tests import unittest +from nose.tools import raises +from urllib3.exceptions import NewConnectionError, ProtocolError + +from botocore.vendored import six +from botocore.awsrequest import AWSRequest +from botocore.awsrequest import AWSHTTPConnectionPool, AWSHTTPSConnectionPool +from botocore.httpsession import get_cert_path +from botocore.httpsession import URLLib3Session, ProxyConfiguration +from botocore.exceptions import ConnectionClosedError, EndpointConnectionError + + +class TestProxyConfiguration(unittest.TestCase): + def setUp(self): + self.url = 'http://localhost/' + self.auth_url = 'http://user:pass@localhost/' + self.proxy_config = ProxyConfiguration( + proxies={'http': 'http://localhost:8081/'} + ) + + def update_http_proxy(self, url): + self.proxy_config = ProxyConfiguration( + proxies={'http': url} + ) + + def test_construct_proxy_headers_with_auth(self): + headers = self.proxy_config.proxy_headers_for(self.auth_url) + proxy_auth = headers.get('Proxy-Authorization') + self.assertEqual('Basic dXNlcjpwYXNz', proxy_auth) + + def test_construct_proxy_headers_without_auth(self): + headers = self.proxy_config.proxy_headers_for(self.url) + self.assertEqual({}, headers) + + def test_proxy_for_url_no_slashes(self): + self.update_http_proxy('localhost:8081/') + proxy_url = self.proxy_config.proxy_url_for(self.url) + self.assertEqual('http://localhost:8081/', proxy_url) + + def test_proxy_for_url_no_protocol(self): + self.update_http_proxy('//localhost:8081/') + proxy_url = self.proxy_config.proxy_url_for(self.url) + self.assertEqual('http://localhost:8081/', proxy_url) + + def test_fix_proxy_url_has_protocol_http(self): + proxy_url = self.proxy_config.proxy_url_for(self.url) + self.assertEqual('http://localhost:8081/', proxy_url) + + +class TestHttpSessionUtils(unittest.TestCase): + def test_get_cert_path_path(self): + path = '/some/path' + cert_path = get_cert_path(path) + self.assertEqual(path, cert_path) + + def test_get_cert_path_certifi_or_default(self): + with patch('botocore.httpsession.where') as where: + path = '/bundle/path' + where.return_value = path + cert_path = get_cert_path(True) + self.assertEqual(path, cert_path) + + +class TestURLLib3Session(unittest.TestCase): + def setUp(self): + self.request = AWSRequest( + method='GET', + url='http://example.com/', + headers={}, + data=b'', + ) + + self.response = Mock() + self.response.headers = {} + self.response.stream.return_value = b'' + + self.pool_manager = Mock() + self.connection = Mock() + self.connection.urlopen.return_value = self.response + self.pool_manager.connection_from_url.return_value = self.connection + + self.pool_patch = patch('botocore.httpsession.PoolManager') + self.proxy_patch = patch('botocore.httpsession.proxy_from_url') + self.pool_manager_cls = self.pool_patch.start() + self.proxy_manager_fun = self.proxy_patch.start() + self.pool_manager_cls.return_value = self.pool_manager + self.proxy_manager_fun.return_value = self.pool_manager + + def tearDown(self): + self.pool_patch.stop() + self.proxy_patch.stop() + + def assert_request_sent(self, headers=None, body=None, url='/', chunked=False): + if headers is None: + headers = {} + + self.connection.urlopen.assert_called_once_with( + method=self.request.method, + url=url, + body=body, + headers=headers, + retries=ANY, + assert_same_host=False, + preload_content=False, + decode_content=False, + chunked=chunked, + ) + + def _assert_manager_call(self, manager, *assert_args, **assert_kwargs): + call_kwargs = { + 'strict': True, + 'maxsize': ANY, + 'timeout': ANY, + 'ssl_context': ANY, + 'socket_options': [], + 'cert_file': None, + 'key_file': None, + } + call_kwargs.update(assert_kwargs) + manager.assert_called_with(*assert_args, **call_kwargs) + + def assert_pool_manager_call(self, *args, **kwargs): + self._assert_manager_call(self.pool_manager_cls, *args, **kwargs) + + def assert_proxy_manager_call(self, *args, **kwargs): + self._assert_manager_call(self.proxy_manager_fun, *args, **kwargs) + + def test_forwards_max_pool_size(self): + URLLib3Session(max_pool_connections=22) + self.assert_pool_manager_call(maxsize=22) + + def test_forwards_client_cert(self): + URLLib3Session(client_cert='/some/cert') + self.assert_pool_manager_call(cert_file='/some/cert', key_file=None) + + def test_forwards_client_cert_and_key_tuple(self): + cert = ('/some/cert', '/some/key') + URLLib3Session(client_cert=cert) + self.assert_pool_manager_call(cert_file=cert[0], key_file=cert[1]) + + def test_basic_https_proxy_with_client_cert(self): + proxies = {'https': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies, client_cert='/some/cert') + self.request.url = 'https://example.com/' + session.send(self.request.prepare()) + self.assert_proxy_manager_call( + proxies['https'], + proxy_headers={}, + cert_file='/some/cert', + key_file=None, + ) + self.assert_request_sent() + + def test_basic_https_proxy_with_client_cert_and_key(self): + cert = ('/some/cert', '/some/key') + proxies = {'https': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies, client_cert=cert) + self.request.url = 'https://example.com/' + session.send(self.request.prepare()) + self.assert_proxy_manager_call( + proxies['https'], + proxy_headers={}, + cert_file=cert[0], + key_file=cert[1], + ) + self.assert_request_sent() + + def test_basic_request(self): + session = URLLib3Session() + session.send(self.request.prepare()) + self.assert_request_sent() + self.response.stream.assert_called_once_with() + + def test_basic_streaming_request(self): + session = URLLib3Session() + self.request.stream_output = True + session.send(self.request.prepare()) + self.assert_request_sent() + self.response.stream.assert_not_called() + + def test_basic_https_request(self): + session = URLLib3Session() + self.request.url = 'https://example.com/' + session.send(self.request.prepare()) + self.assert_request_sent() + + def test_basic_https_proxy_request(self): + proxies = {'https': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies) + self.request.url = 'https://example.com/' + session.send(self.request.prepare()) + self.assert_proxy_manager_call(proxies['https'], proxy_headers={}) + self.assert_request_sent() + + def test_basic_proxy_request_caches_manager(self): + proxies = {'https': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies) + self.request.url = 'https://example.com/' + session.send(self.request.prepare()) + # assert we created the proxy manager + self.assert_proxy_manager_call(proxies['https'], proxy_headers={}) + session.send(self.request.prepare()) + # assert that we did not create another proxy manager + self.assertEqual(self.proxy_manager_fun.call_count, 1) + + def test_basic_http_proxy_request(self): + proxies = {'http': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies) + session.send(self.request.prepare()) + self.assert_proxy_manager_call(proxies['http'], proxy_headers={}) + self.assert_request_sent(url=self.request.url) + + def test_ssl_context_is_explicit(self): + session = URLLib3Session() + session.send(self.request.prepare()) + _, manager_kwargs = self.pool_manager_cls.call_args + self.assertIsNotNone(manager_kwargs.get('ssl_context')) + + def test_proxy_request_ssl_context_is_explicit(self): + proxies = {'http': 'http://proxy.com'} + session = URLLib3Session(proxies=proxies) + session.send(self.request.prepare()) + _, proxy_kwargs = self.proxy_manager_fun.call_args + self.assertIsNotNone(proxy_kwargs.get('ssl_context')) + + def test_session_forwards_socket_options_to_pool_manager(self): + socket_options = [(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)] + URLLib3Session(socket_options=socket_options) + self.assert_pool_manager_call(socket_options=socket_options) + + def test_session_forwards_socket_options_to_proxy_manager(self): + proxies = {'http': 'http://proxy.com'} + socket_options = [(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)] + session = URLLib3Session( + proxies=proxies, + socket_options=socket_options, + ) + session.send(self.request.prepare()) + self.assert_proxy_manager_call( + proxies['http'], + proxy_headers={}, + socket_options=socket_options, + ) + + def make_request_with_error(self, error): + self.connection.urlopen.side_effect = error + session = URLLib3Session() + session.send(self.request.prepare()) + + @raises(EndpointConnectionError) + def test_catches_new_connection_error(self): + error = NewConnectionError(None, None) + self.make_request_with_error(error) + + @raises(ConnectionClosedError) + def test_catches_bad_status_line(self): + error = ProtocolError(None) + self.make_request_with_error(error) + + def test_aws_connection_classes_are_used(self): + session = URLLib3Session() + # ensure the pool manager is using the correct classes + http_class = self.pool_manager.pool_classes_by_scheme.get('http') + self.assertIs(http_class, AWSHTTPConnectionPool) + https_class = self.pool_manager.pool_classes_by_scheme.get('https') + self.assertIs(https_class, AWSHTTPSConnectionPool) + + def test_chunked_encoding_is_set_with_header(self): + session = URLLib3Session() + self.request.headers['Transfer-Encoding'] = 'chunked' + + session.send(self.request.prepare()) + self.assert_request_sent( + chunked=True, + headers={'Transfer-Encoding': 'chunked'}, + ) + + def test_chunked_encoding_is_not_set_without_header(self): + session = URLLib3Session() + + session.send(self.request.prepare()) + self.assert_request_sent(chunked=False) diff -Nru python-botocore-1.4.70/tests/unit/test_idempotency.py python-botocore-1.16.19+repack/tests/unit/test_idempotency.py --- python-botocore-1.4.70/tests/unit/test_idempotency.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_idempotency.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,39 @@ +# Copyright 2012-2014 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 re +import mock +from botocore.handlers import generate_idempotent_uuid + + +class TestIdempotencyInjection(unittest.TestCase): + def setUp(self): + self.mock_model = mock.MagicMock() + self.mock_model.idempotent_members = ['RequiredKey'] + self.uuid_pattern = re.compile( + '^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$', + re.I) + + def test_injection(self): + # No parameters are provided, RequiredKey should be autofilled + params = {} + generate_idempotent_uuid(params, self.mock_model) + self.assertIn('RequiredKey', params) + self.assertIsNotNone(self.uuid_pattern.match(params['RequiredKey'])) + + def test_provided(self): + # RequiredKey is provided, should not be replaced + params = {'RequiredKey': 'already populated'} + generate_idempotent_uuid(params, self.mock_model) + self.assertEqual(params['RequiredKey'], 'already populated') diff -Nru python-botocore-1.4.70/tests/unit/test_loaders.py python-botocore-1.16.19+repack/tests/unit/test_loaders.py --- python-botocore-1.4.70/tests/unit/test_loaders.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_loaders.py 2020-05-28 19:26:10.000000000 +0000 @@ -21,12 +21,13 @@ import os import contextlib - +import copy import mock from botocore.exceptions import DataNotFoundError, UnknownServiceError from botocore.loaders import JSONFileLoader from botocore.loaders import Loader, create_loader +from botocore.loaders import ExtrasProcessor from tests import BaseEnvVar @@ -134,7 +135,8 @@ loader = Loader(extra_search_paths=['foo'], file_loader=FakeLoader(), - include_default_search_paths=False) + include_default_search_paths=False, + include_default_extras=False) loader.determine_latest_version = mock.Mock(return_value='2015-03-01') loader.list_available_services = mock.Mock(return_value=['baz']) loaded = loader.load_service_model('baz', type_name='service-2') @@ -182,6 +184,153 @@ self.assertIn('baz', loader.search_paths) +class TestMergeExtras(BaseEnvVar): + def setUp(self): + super(TestMergeExtras, self).setUp() + self.file_loader = mock.Mock() + self.data_loader = Loader( + extra_search_paths=['datapath'], file_loader=self.file_loader, + include_default_search_paths=False) + self.data_loader.determine_latest_version = mock.Mock( + return_value='2015-03-01') + self.data_loader.list_available_services = mock.Mock( + return_value=['myservice']) + + isdir_mock = mock.Mock(return_value=True) + self.isdir_patch = mock.patch('os.path.isdir', isdir_mock) + self.isdir_patch.start() + + def tearDown(self): + super(TestMergeExtras, self).tearDown() + self.isdir_patch.stop() + + def test_merge_extras(self): + service_data = {'foo': 'service', 'bar': 'service'} + sdk_extras = {'merge': {'foo': 'sdk'}} + self.file_loader.load_file.side_effect = [service_data, sdk_extras] + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + expected = {'foo': 'sdk', 'bar': 'service'} + self.assertEqual(loaded, expected) + + call_args = self.file_loader.load_file.call_args_list + call_args = [c[0][0] for c in call_args] + base_path = os.path.join('datapath', 'myservice', '2015-03-01') + expected_call_args = [ + os.path.join(base_path, 'service-2'), + os.path.join(base_path, 'service-2.sdk-extras') + ] + self.assertEqual(call_args, expected_call_args) + + def test_extras_not_found(self): + service_data = {'foo': 'service', 'bar': 'service'} + service_data_copy = copy.copy(service_data) + self.file_loader.load_file.side_effect = [service_data, None] + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + self.assertEqual(loaded, service_data_copy) + + def test_no_merge_in_extras(self): + service_data = {'foo': 'service', 'bar': 'service'} + service_data_copy = copy.copy(service_data) + self.file_loader.load_file.side_effect = [service_data, {}] + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + self.assertEqual(loaded, service_data_copy) + + def test_include_default_extras(self): + self.data_loader = Loader( + extra_search_paths=['datapath'], file_loader=self.file_loader, + include_default_search_paths=False, + include_default_extras=False) + self.data_loader.determine_latest_version = mock.Mock( + return_value='2015-03-01') + self.data_loader.list_available_services = mock.Mock( + return_value=['myservice']) + + service_data = {'foo': 'service', 'bar': 'service'} + service_data_copy = copy.copy(service_data) + sdk_extras = {'merge': {'foo': 'sdk'}} + self.file_loader.load_file.side_effect = [service_data, sdk_extras] + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + self.assertEqual(loaded, service_data_copy) + + def test_append_extra_type(self): + service_data = {'foo': 'service', 'bar': 'service'} + sdk_extras = {'merge': {'foo': 'sdk'}} + cli_extras = {'merge': {'cli': True}} + self.file_loader.load_file.side_effect = [ + service_data, sdk_extras, cli_extras] + + self.data_loader.extras_types.append('cli') + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + expected = {'foo': 'sdk', 'bar': 'service', 'cli': True} + self.assertEqual(loaded, expected) + + call_args = self.file_loader.load_file.call_args_list + call_args = [c[0][0] for c in call_args] + base_path = os.path.join('datapath', 'myservice', '2015-03-01') + expected_call_args = [ + os.path.join(base_path, 'service-2'), + os.path.join(base_path, 'service-2.sdk-extras'), + os.path.join(base_path, 'service-2.cli-extras') + ] + self.assertEqual(call_args, expected_call_args) + + def test_sdk_empty_extras_skipped(self): + service_data = {'foo': 'service', 'bar': 'service'} + cli_extras = {'merge': {'foo': 'cli'}} + self.file_loader.load_file.side_effect = [ + service_data, None, cli_extras] + + self.data_loader.extras_types.append('cli') + + loaded = self.data_loader.load_service_model('myservice', 'service-2') + expected = {'foo': 'cli', 'bar': 'service'} + self.assertEqual(loaded, expected) + + +class TestExtrasProcessor(BaseEnvVar): + def setUp(self): + super(TestExtrasProcessor, self).setUp() + self.processor = ExtrasProcessor() + self.service_data = { + 'shapes': { + 'StringShape': {'type': 'string'}, + } + } + self.service_data_copy = copy.deepcopy(self.service_data) + + def test_process_empty_list(self): + self.processor.process(self.service_data, []) + self.assertEqual(self.service_data, self.service_data_copy) + + def test_process_empty_extras(self): + self.processor.process(self.service_data, [{}]) + self.assertEqual(self.service_data, self.service_data_copy) + + def test_process_merge_key(self): + extras = {'merge': {'shapes': {'BooleanShape': {'type': 'boolean'}}}} + self.processor.process(self.service_data, [extras]) + self.assertNotEqual(self.service_data, self.service_data_copy) + + boolean_shape = self.service_data['shapes'].get('BooleanShape') + self.assertEqual(boolean_shape, {'type': 'boolean'}) + + def test_process_in_order(self): + extras = [ + {'merge': {'shapes': {'BooleanShape': {'type': 'boolean'}}}}, + {'merge': {'shapes': {'BooleanShape': {'type': 'string'}}}} + ] + self.processor.process(self.service_data, extras) + self.assertNotEqual(self.service_data, self.service_data_copy) + + boolean_shape = self.service_data['shapes'].get('BooleanShape') + self.assertEqual(boolean_shape, {'type': 'string'}) + + class TestLoadersWithDirectorySearching(BaseEnvVar): def setUp(self): super(TestLoadersWithDirectorySearching, self).setUp() diff -Nru python-botocore-1.4.70/tests/unit/test_model.py python-botocore-1.16.19+repack/tests/unit/test_model.py --- python-botocore-1.4.70/tests/unit/test_model.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_model.py 2020-05-28 19:26:16.000000000 +0000 @@ -2,6 +2,7 @@ from botocore import model from botocore.compat import OrderedDict +from botocore.exceptions import MissingServiceIdError def test_missing_model_attribute_raises_exception(): @@ -30,15 +31,43 @@ yield _test_attribute_raise_exception, name +class TestServiceId(unittest.TestCase): + def test_hypenize_replaces_spaces(self): + self.assertEqual( + model.ServiceId('my service').hyphenize(), 'my-service' + ) + + def test_hyphenize_lower_cases(self): + self.assertEqual(model.ServiceId('MyService').hyphenize(), 'myservice') + + class TestServiceModel(unittest.TestCase): def setUp(self): self.model = { 'metadata': {'protocol': 'query', - 'endpointPrefix': 'endpoint-prefix'}, + 'endpointPrefix': 'endpoint-prefix', + 'serviceId': 'MyService'}, 'documentation': 'Documentation value', 'operations': {}, - 'shapes': {} + 'shapes': { + 'StringShape': {'type': 'string'} + } + } + self.error_shapes = { + 'ExceptionOne': { + 'exception': True, + 'type': 'structure', + 'members': {}, + }, + 'ExceptionTwo': { + 'exception': True, + 'type': 'structure', + 'members': {}, + 'error': { + 'code': 'FooCode' + } + }, } self.service_model = model.ServiceModel(self.model) @@ -55,6 +84,31 @@ def test_service_name_defaults_to_endpoint_prefix(self): self.assertEqual(self.service_model.service_name, 'endpoint-prefix') + def test_service_id(self): + self.assertEqual(self.service_model.service_id, 'MyService') + + def test_hyphenize_service_id(self): + self.assertEqual( + self.service_model.service_id.hyphenize(), 'myservice') + + def test_service_id_does_not_exist(self): + service_model = { + 'metadata': { + 'protocol': 'query', + 'endpointPrefix': 'endpoint-prefix', + }, + 'documentation': 'Documentation value', + 'operations': {}, + 'shapes': { + 'StringShape': {'type': 'string'} + } + } + service_name = 'myservice' + service_model = model.ServiceModel(service_model, service_name) + with self.assertRaisesRegexp(model.UndefinedModelAttributeError, + service_name): + service_model.service_id + def test_operation_does_not_exist(self): with self.assertRaises(model.OperationNotFoundError): self.service_model.operation_model('NoExistOperation') @@ -66,6 +120,30 @@ self.assertEqual(self.service_model.documentation, 'Documentation value') + def test_shape_names(self): + self.assertEqual(self.service_model.shape_names, ['StringShape']) + + def test_repr_has_service_name(self): + self.assertEqual(repr(self.service_model), + 'ServiceModel(endpoint-prefix)') + + def test_shape_for_error_code(self): + self.model['shapes'].update(self.error_shapes) + self.service_model = model.ServiceModel(self.model) + shape = self.service_model.shape_for_error_code('ExceptionOne') + self.assertEqual(shape.name, 'ExceptionOne') + shape = self.service_model.shape_for_error_code('FooCode') + self.assertEqual(shape.name, 'ExceptionTwo') + + def test_error_shapes(self): + self.model['shapes'].update(self.error_shapes) + self.service_model = model.ServiceModel(self.model) + error_shapes = self.service_model.error_shapes + error_shape_names = [shape.name for shape in error_shapes] + self.assertEqual(len(error_shape_names), 2) + self.assertIn('ExceptionOne', error_shape_names) + self.assertIn('ExceptionTwo', error_shape_names) + class TestOperationModelFromService(unittest.TestCase): def setUp(self): @@ -87,6 +165,22 @@ }, 'errors': [{'shape': 'NoSuchResourceException'}], 'documentation': 'Docs for OperationName', + 'authtype': 'v4' + }, + 'OperationTwo': { + 'http': { + 'method': 'POST', + 'requestUri': '/', + }, + 'name': 'OperationTwo', + 'input': { + 'shape': 'OperationNameRequest' + }, + 'output': { + 'shape': 'OperationNameResponse', + }, + 'errors': [{'shape': 'NoSuchResourceException'}], + 'documentation': 'Docs for OperationTwo', } }, 'shapes': { @@ -188,6 +282,181 @@ output_shape = operation.output_shape self.assertIsNone(output_shape) + def test_error_shapes(self): + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + # OperationName only has a NoSuchResourceException + self.assertEqual(len(operation.error_shapes), 1) + self.assertEqual( + operation.error_shapes[0].name, 'NoSuchResourceException') + + def test_has_auth_type(self): + operation = self.service_model.operation_model('OperationName') + self.assertEqual(operation.auth_type, 'v4') + + def test_auth_type_not_set(self): + operation = self.service_model.operation_model('OperationTwo') + self.assertIsNone(operation.auth_type) + + def test_deprecated_present(self): + self.model['operations']['OperationName']['deprecated'] = True + service_model = model.ServiceModel(self.model) + operation_name = service_model.operation_model('OperationName') + self.assertTrue(operation_name.deprecated) + + def test_deprecated_present_false(self): + self.model['operations']['OperationName']['deprecated'] = False + service_model = model.ServiceModel(self.model) + operation_name = service_model.operation_model('OperationName') + self.assertFalse(operation_name.deprecated) + + def test_deprecated_absent(self): + service_model = model.ServiceModel(self.model) + operation_two = service_model.operation_model('OperationTwo') + self.assertFalse(operation_two.deprecated) + + def test_endpoint_operation_present(self): + self.model['operations']['OperationName']['endpointoperation'] = True + service_model = model.ServiceModel(self.model) + operation_name = service_model.operation_model('OperationName') + self.assertTrue(operation_name.is_endpoint_discovery_operation) + + def test_endpoint_operation_present_false(self): + self.model['operations']['OperationName']['endpointoperation'] = False + service_model = model.ServiceModel(self.model) + operation_name = service_model.operation_model('OperationName') + self.assertFalse(operation_name.is_endpoint_discovery_operation) + + def test_endpoint_operation_absent(self): + operation_two = self.service_model.operation_model('OperationName') + self.assertFalse(operation_two.is_endpoint_discovery_operation) + + def test_endpoint_discovery_present(self): + operation = self.model['operations']['OperationName'] + operation['endpointdiscovery'] = {'required': True} + service_model = model.ServiceModel(self.model) + operation_name = service_model.operation_model('OperationName') + self.assertTrue(operation_name.endpoint_discovery.get('required')) + + def test_endpoint_discovery_absent(self): + operation_name = self.service_model.operation_model('OperationName') + self.assertIsNone(operation_name.endpoint_discovery) + + +class TestOperationModelEventStreamTypes(unittest.TestCase): + def setUp(self): + super(TestOperationModelEventStreamTypes, self).setUp() + self.model = { + 'metadata': {'protocol': 'rest-xml', 'endpointPrefix': 'foo'}, + 'documentation': '', + 'operations': { + 'OperationName': { + 'http': { + 'method': 'POST', + 'requestUri': '/', + }, + 'name': 'OperationName', + 'input': {'shape': 'OperationRequest'}, + 'output': {'shape': 'OperationResponse'}, + } + }, + 'shapes': { + 'NormalStructure': { + 'type': 'structure', + 'members': { + 'Input': {'shape': 'StringType'} + } + }, + 'OperationRequest': { + 'type': 'structure', + 'members': { + 'String': {'shape': 'StringType'}, + "Body": {'shape': 'EventStreamStructure'} + }, + 'payload': 'Body' + }, + 'OperationResponse': { + 'type': 'structure', + 'members': { + 'String': {'shape': 'StringType'}, + "Body": {'shape': 'EventStreamStructure'} + }, + 'payload': 'Body' + }, + 'StringType': {'type': 'string'}, + 'BlobType': {'type': 'blob'}, + 'EventStreamStructure': { + 'eventstream': True, + 'type': 'structure', + 'members': { + 'EventA': {'shape': 'EventAStructure'}, + 'EventB': {'shape': 'EventBStructure'} + } + }, + 'EventAStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'Payload': { + 'shape': 'BlobType', + 'eventpayload': True + }, + 'Header': { + 'shape': 'StringType', + 'eventheader': True + } + } + }, + 'EventBStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'Records': {'shape': 'StringType'} + } + } + } + } + + def update_operation(self, **kwargs): + operation = self.model['operations']['OperationName'] + operation.update(kwargs) + + def test_event_stream_input_for_operation(self): + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + self.assertTrue(operation.has_event_stream_input) + event_stream_input = operation.get_event_stream_input() + self.assertEqual(event_stream_input.name, 'EventStreamStructure') + + def test_no_event_stream_input_for_operation(self): + self.update_operation(input={'shape': 'NormalStructure'}) + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + self.assertFalse(operation.has_event_stream_input) + self.assertEqual(operation.get_event_stream_input(), None) + + def test_event_stream_output_for_operation(self): + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + self.assertTrue(operation.has_event_stream_output) + output = operation.get_event_stream_output() + self.assertEqual(output.name, 'EventStreamStructure') + + def test_no_event_stream_output_for_operation(self): + self.update_operation(output={'shape': 'NormalStructure'}) + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + self.assertFalse(operation.has_event_stream_output) + self.assertEqual(operation.get_event_stream_output(), None) + + def test_no_output_shape(self): + self.update_operation(output=None) + del self.model['operations']['OperationName']['output'] + service_model = model.ServiceModel(self.model) + operation = service_model.operation_model('OperationName') + self.assertFalse(operation.has_event_stream_output) + self.assertEqual(operation.get_event_stream_output(), None) + class TestOperationModelStreamingTypes(unittest.TestCase): def setUp(self): @@ -438,6 +707,27 @@ ['NewPassword', 'OldPassword']) self.assertEqual(shape.members['OldPassword'].name, 'passwordType') self.assertEqual(shape.members['OldPassword'].type_name, 'string') + self.assertEqual(shape.error_code, None) + + def test_exception_error_code(self): + shapes = { + 'FooException': { + 'exception': True, + 'type': 'structure', + 'members': {} + } + } + # Test without explicit error code + resolver = model.ShapeResolver(shapes) + shape = resolver.get_shape_by_name('FooException') + self.assertTrue(shape.metadata['exception']) + self.assertEqual(shape.error_code, 'FooException') + # Test with explicit error code + shapes['FooException']['error'] = {'code': 'ExceptionCode'} + resolver = model.ShapeResolver(shapes) + shape = resolver.get_shape_by_name('FooException') + self.assertTrue(shape.metadata['exception']) + self.assertEqual(shape.error_code, 'ExceptionCode') def test_shape_metadata(self): shapes = { @@ -465,6 +755,26 @@ self.assertEqual(member.metadata['max'], 128) self.assertEqual(member.metadata['sensitive'], True) + def test_error_shape_metadata(self): + shapes = { + 'ResourceNotFoundException': { + 'type': 'structure', + 'members': { + 'message': { + 'shape': 'ErrorMessage', + } + }, + 'exception': True, + 'retryable': {'throttling': True} + } + } + resolver = model.ShapeResolver(shapes) + shape = resolver.get_shape_by_name('ResourceNotFoundException') + self.assertEqual( + shape.metadata, + {'exception': True, 'retryable': {'throttling': True}} + ) + def test_shape_list(self): shapes = { 'mfaDeviceListType': { @@ -633,6 +943,20 @@ self.assertEqual(shape.members['A'].documentation, 'MyDocs') + def test_min_max_used_in_metadata(self): + b = model.DenormalizedStructureBuilder() + shape = b.with_members({ + 'A': { + 'type': 'string', + 'documentation': 'MyDocs', + 'min': 2, + 'max': 3, + }, + }).build_model() + metadata = shape.members['A'].metadata + self.assertEqual(metadata.get('min'), 2) + self.assertEqual(metadata.get('max'), 3) + def test_use_shape_name_when_provided(self): b = model.DenormalizedStructureBuilder() shape = b.with_members({ diff -Nru python-botocore-1.4.70/tests/unit/test_monitoring.py python-botocore-1.16.19+repack/tests/unit/test_monitoring.py --- python-botocore-1.4.70/tests/unit/test_monitoring.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_monitoring.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,883 @@ +# Copyright 2018 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 mock, unittest +import json +import re +import socket +import time + +from botocore.awsrequest import AWSRequest +from botocore.compat import six +from botocore.exceptions import ConnectionError +from botocore.hooks import HierarchicalEmitter +from botocore.model import OperationModel +from botocore.model import ServiceModel +from botocore.monitoring import Monitor +from botocore.monitoring import MonitorEventAdapter +from botocore.monitoring import CSMSerializer +from botocore.monitoring import SocketPublisher +from botocore.monitoring import BaseMonitorEvent +from botocore.monitoring import APICallEvent +from botocore.monitoring import APICallAttemptEvent + + +class PublishingException(Exception): + pass + + +class TestMonitor(unittest.TestCase): + def setUp(self): + self.adapter = mock.Mock(MonitorEventAdapter) + self.publisher = mock.Mock(SocketPublisher) + self.handler = Monitor(self.adapter, self.publisher) + + def test_register(self): + event_emitter = mock.Mock(HierarchicalEmitter) + self.handler.register(event_emitter) + self.assertEqual( + event_emitter.register_last.call_args_list, + [ + mock.call('before-parameter-build', self.handler.capture), + mock.call('request-created', self.handler.capture), + mock.call('response-received', self.handler.capture), + mock.call('after-call', self.handler.capture), + mock.call('after-call-error', self.handler.capture), + ] + ) + + def test_handle(self): + event = object() + self.adapter.feed.return_value = event + self.handler.capture('event-name', event_parameter='event-value') + self.adapter.feed.assert_called_with( + 'event-name', {'event_parameter': 'event-value'}) + self.publisher.publish.assert_called_with(event) + + def test_handle_no_publish(self): + self.adapter.feed.return_value = None + self.handler.capture('event-name', event_parameter='event-value') + self.publisher.publish.assert_not_called() + + def test_handle_catches_exceptions(self): + self.publisher.publish.side_effect = PublishingException() + try: + self.handler.capture('event-name', event_parameter='event-value') + except PublishingException: + self.fail('The publishing exception should have been caught ' + 'in the handler') + + +class TestMonitorEventAdapter(unittest.TestCase): + def setUp(self): + self.mock_time = mock.Mock(time.time) + self.mock_time.return_value = 0 + self.adapter = MonitorEventAdapter(self.mock_time) + + self.context = {} + self.wire_name = 'MyOperation' + self.operation_model = mock.Mock(OperationModel) + self.operation_model.wire_name = self.wire_name + self.service_id = 'MyService' + self.service_model = mock.Mock(ServiceModel) + self.service_model.service_id = self.service_id + self.operation_model.service_model = self.service_model + + self.url = 'https://us-east-1.myservice.amazonaws.com' + self.request_headers = {} + self.request = mock.Mock(AWSRequest) + self.request.url = self.url + self.request.headers = self.request_headers + self.request.context = self.context + + self.http_status_code = 200 + self.response_headers = {} + + def feed_before_parameter_build_event(self, current_time=0): + self.mock_time.return_value = current_time + self.adapter.feed('before-parameter-build', { + 'model': self.operation_model, + 'context': self.context + }) + + def feed_request_created_event(self, current_time=0): + self.mock_time.return_value = current_time + self.adapter.feed('request-created', { + 'request': self.request, + }) + + def test_feed_before_parameter_build_returns_no_event(self): + self.assertIsNone( + self.adapter.feed('before-parameter-build', { + 'model': self.operation_model, + 'context': self.context + }) + ) + + def test_feed_request_created_returns_no_event(self): + self.adapter.feed('before-parameter-build', { + 'model': self.operation_model, + 'context': self.context + }) + self.assertIsNone( + self.adapter.feed('request-created', { + 'request': self.request, + }) + ) + + def test_feed_with_successful_response(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + attempt_event = self.adapter.feed('response-received', { + 'parsed_response': { + 'ResponseMetadata': { + 'HTTPStatusCode': self.http_status_code, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context, + 'exception': None + }) + self.assertEqual( + attempt_event, + APICallAttemptEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=2000, + latency=1000, + url=self.url, + request_headers=self.request_headers, + http_status_code=self.http_status_code, + response_headers=self.response_headers, + ) + ) + + self.mock_time.return_value = 4 + call_event = self.adapter.feed('after-call', { + 'parsed': { + 'ResponseMetadata': { + 'HTTPStatusCode': self.http_status_code, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context + }) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=3000, + attempts=[attempt_event] + ) + ) + + def test_feed_with_retries(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + first_attempt_event = self.adapter.feed('response-received', { + 'parsed_response': { + 'ResponseMetadata': { + 'HTTPStatusCode': 500, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context, + 'exception': None + }) + self.assertEqual( + first_attempt_event, + APICallAttemptEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=2000, + latency=1000, + url=self.url, + request_headers=self.request_headers, + http_status_code=500, + response_headers=self.response_headers, + ) + ) + + self.feed_request_created_event(current_time=5) + self.mock_time.return_value = 6 + second_attempt_event = self.adapter.feed('response-received', { + 'parsed_response': { + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context, + 'exception': None + }) + self.assertEqual( + second_attempt_event, + APICallAttemptEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=5000, + latency=1000, + url=self.url, + request_headers=self.request_headers, + http_status_code=200, + response_headers=self.response_headers, + ) + ) + + self.mock_time.return_value = 7 + call_event = self.adapter.feed('after-call', { + 'parsed': { + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context + }) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=6000, + attempts=[first_attempt_event, second_attempt_event] + ) + ) + + def test_feed_with_retries_exceeded(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + first_attempt_event = self.adapter.feed('response-received', { + 'parsed_response': { + 'ResponseMetadata': { + 'HTTPStatusCode': 500, + 'HTTPHeaders': self.response_headers + } + }, + 'context': self.context, + 'exception': None + }) + self.feed_request_created_event(current_time=5) + self.mock_time.return_value = 6 + second_attempt_event = self.adapter.feed('response-received', { + 'parsed_response': { + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': self.response_headers, + 'MaxAttemptsReached': True + } + }, + 'context': self.context, + 'exception': None + }) + self.mock_time.return_value = 7 + call_event = self.adapter.feed('after-call', { + 'parsed': { + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': self.response_headers, + 'MaxAttemptsReached': True + } + }, + 'context': self.context + }) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=6000, + attempts=[first_attempt_event, second_attempt_event], + retries_exceeded=True + ) + ) + + def test_feed_with_parsed_error(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + parsed_error = {'Code': 'MyErrorCode', 'Message': 'MyMessage'} + parsed_response = { + 'Error': parsed_error, + 'ResponseMetadata': { + 'HTTPStatusCode': 400, + 'HTTPHeaders': self.response_headers + } + } + attempt_event = self.adapter.feed('response-received', { + 'parsed_response': parsed_response, + 'context': self.context, + 'exception': None + }) + self.assertEqual( + attempt_event, + APICallAttemptEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=2000, + latency=1000, + url=self.url, + request_headers=self.request_headers, + http_status_code=400, + response_headers=self.response_headers, + parsed_error=parsed_error + ) + ) + + self.mock_time.return_value = 4 + call_event = self.adapter.feed('after-call', { + 'parsed': parsed_response, + 'context': self.context + }) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=3000, + attempts=[attempt_event] + ) + ) + + def test_feed_with_wire_exception(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + wire_exception = Exception('Some wire exception') + attempt_event = self.adapter.feed('response-received', { + 'parsed_response': None, + 'context': self.context, + 'exception': wire_exception + }) + self.assertEqual( + attempt_event, + APICallAttemptEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=2000, + latency=1000, + url=self.url, + request_headers=self.request_headers, + wire_exception=wire_exception, + ) + ) + + self.mock_time.return_value = 4 + call_event = self.adapter.feed( + 'after-call-error', { + 'exception': wire_exception, + 'context': self.context + } + ) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=3000, + attempts=[attempt_event] + ) + ) + + def test_feed_with_wire_exception_retries_exceeded(self): + self.feed_before_parameter_build_event(current_time=1) + self.feed_request_created_event(current_time=2) + + self.mock_time.return_value = 3 + # Connection errors are retryable + wire_exception = ConnectionError(error='connection issue') + attempt_event = self.adapter.feed('response-received', { + 'parsed_response': None, + 'context': self.context, + 'exception': wire_exception + }) + self.mock_time.return_value = 4 + call_event = self.adapter.feed( + 'after-call-error', { + 'exception': wire_exception, + 'context': self.context + } + ) + self.assertEqual( + call_event, + APICallEvent( + service=self.service_id, + operation=self.wire_name, + timestamp=1000, + latency=3000, + attempts=[attempt_event], + retries_exceeded=True + ) + ) + + +class TestBaseMonitorEvent(unittest.TestCase): + def test_init_self(self): + event = BaseMonitorEvent( + service='MyService', operation='MyOperation', timestamp=1000 + ) + self.assertEqual(event.service, 'MyService') + self.assertEqual(event.operation, 'MyOperation') + self.assertEqual(event.timestamp, 1000) + + def test_eq(self): + self.assertEqual( + BaseMonitorEvent( + service='MyService', operation='MyOperation', timestamp=1000 + ), + BaseMonitorEvent( + service='MyService', operation='MyOperation', timestamp=1000 + ) + ) + + def test_not_eq_different_classes(self): + self.assertNotEqual( + BaseMonitorEvent( + service='MyService', operation='MyOperation', timestamp=1000 + ), object() + ) + + def test_not_eq_different_attrs(self): + self.assertNotEqual( + BaseMonitorEvent( + service='MyService', operation='MyOperation', timestamp=1000 + ), + BaseMonitorEvent( + service='DifferentService', operation='DifferentOperation', + timestamp=0 + ) + ) + + +class TestAPICallEvent(unittest.TestCase): + def test_init(self): + event = APICallEvent( + service='MyService', operation='MyOperation', timestamp=1000, + latency=2000, attempts=[] + ) + self.assertEqual(event.service, 'MyService') + self.assertEqual(event.operation, 'MyOperation') + self.assertEqual(event.timestamp, 1000) + self.assertEqual(event.latency, 2000) + self.assertEqual(event.attempts, []) + + def test_new_api_call_attempt_event(self): + event = APICallEvent( + service='MyService', operation='MyOperation', timestamp=1000, + latency=2000, attempts=[] + ) + attempt_event = event.new_api_call_attempt(timestamp=2000) + self.assertEqual( + attempt_event, + APICallAttemptEvent( + service='MyService', operation='MyOperation', timestamp=2000 + ) + ) + self.assertEqual(event.attempts, [attempt_event]) + + +class TestAPICallAttemptEvent(unittest.TestCase): + def test_init(self): + url = 'https://us-east-1.myservice.amazonaws.com' + parsed_error = {'Code': 'ErrorCode', 'Message': 'ErrorMessage'} + wire_exception = Exception('Some wire exception') + event = APICallAttemptEvent( + service='MyService', operation='MyOperation', timestamp=1000, + latency=2000, url=url, http_status_code=200, request_headers={}, + response_headers={}, parsed_error=parsed_error, + wire_exception=wire_exception + ) + self.assertEqual(event.service, 'MyService') + self.assertEqual(event.operation, 'MyOperation') + self.assertEqual(event.timestamp, 1000) + self.assertEqual(event.latency, 2000) + self.assertEqual(event.url, url) + self.assertEqual(event.http_status_code, 200) + self.assertEqual(event.request_headers, {}) + self.assertEqual(event.response_headers, {}) + self.assertEqual(event.parsed_error, parsed_error) + self.assertEqual(event.wire_exception, wire_exception) + + +class TestCSMSerializer(unittest.TestCase): + def setUp(self): + self.csm_client_id = 'MyId' + self.serializer = CSMSerializer(self.csm_client_id) + self.service = 'MyService' + self.operation = 'MyOperation' + self.user_agent = 'my-user-agent' + self.fqdn = 'us-east-1.myservice.amazonaws.com' + self.url = 'https://' + self.fqdn + self.timestamp = 1000 + self.latency = 2000 + self.request_headers = { + 'User-Agent': self.user_agent + } + + def get_serialized_event_dict(self, event): + serialized_event = self.serializer.serialize(event) + return json.loads(serialized_event.decode('utf-8')) + + def test_validates_csm_client_id(self): + max_client_id_len = 255 + with self.assertRaises(ValueError): + CSMSerializer('a' * (max_client_id_len + 1)) + + def test_serialize_produces_bytes(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + serialized_event = self.serializer.serialize(event) + self.assertIsInstance(serialized_event, six.binary_type) + + def test_serialize_does_not_add_whitespace(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + serialized_event = self.serializer.serialize(event) + self.assertIsNone(re.match(r'\s', serialized_event.decode('utf-8'))) + + def test_serialize_api_call_event(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict, { + 'Version': 1, + 'Type': 'ApiCall', + 'Service': self.service, + 'Api': self.operation, + 'ClientId': self.csm_client_id, + 'MaxRetriesExceeded': 0, + 'Timestamp': 1000, + 'AttemptCount': 0, + } + ) + + def test_serialize_api_call_event_with_latency(self): + event = APICallEvent( + service=self.service, operation=self.operation, + timestamp=1000, latency=2000) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['Latency'], self.latency) + + def test_serialize_api_call_event_with_attempts(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + event.new_api_call_attempt(2000) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['AttemptCount'], 1) + + def test_serialize_api_call_event_region(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + attempt = event.new_api_call_attempt(2000) + auth_value = ( + 'AWS4-HMAC-SHA256 ' + 'Credential=myaccesskey/20180523/my-region-1/ec2/aws4_request,' + 'SignedHeaders=content-type;host;x-amz-date, ' + 'Signature=somesignature' + + ) + self.request_headers['Authorization'] = auth_value + attempt.request_headers = self.request_headers + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['Region'], 'my-region-1') + + def test_serialize_api_call_event_user_agent(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + attempt = event.new_api_call_attempt(2000) + attempt.request_headers = {'User-Agent': self.user_agent} + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['UserAgent'], self.user_agent) + + def test_serialize_api_call_event_http_status_code(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + attempt = event.new_api_call_attempt(2000) + attempt.http_status_code = 200 + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['FinalHttpStatusCode'], 200) + + def test_serialize_api_call_event_parsed_error(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + attempt = event.new_api_call_attempt(2000) + attempt.parsed_error = { + 'Code': 'MyErrorCode', + 'Message': 'My error message' + } + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict['FinalAwsException'], 'MyErrorCode') + self.assertEqual( + serialized_event_dict['FinalAwsExceptionMessage'], + 'My error message' + ) + + def test_serialize_api_call_event_wire_exception(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000) + attempt = event.new_api_call_attempt(2000) + attempt.wire_exception = Exception('Error on the wire') + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict['FinalSdkException'], 'Exception') + self.assertEqual( + serialized_event_dict['FinalSdkExceptionMessage'], + 'Error on the wire' + ) + + def test_serialize_api_call_event_with_retries_exceeded(self): + event = APICallEvent( + service=self.service, operation=self.operation, timestamp=1000, + retries_exceeded=True) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['MaxRetriesExceeded'], 1) + + def test_serialize_api_call_attempt_event(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict, { + 'Version': 1, + 'Type': 'ApiCallAttempt', + 'Service': self.service, + 'Api': self.operation, + 'ClientId': self.csm_client_id, + 'Timestamp': self.timestamp, + } + ) + + def test_serialize_api_call_attempt_event_with_latency(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, latency=self.latency) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['AttemptLatency'], self.latency) + + def test_serialize_with_user_agent(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, + request_headers={'User-Agent': self.user_agent} + ) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['UserAgent'], self.user_agent) + + def test_serialize_with_url(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, url=self.url) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['Fqdn'], self.fqdn) + + def test_serialize_with_s3_signing(self): + auth_value = 'AWS myaccesskey:somesignature' + self.request_headers['Authorization'] = auth_value + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, request_headers=self.request_headers) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['AccessKey'], 'myaccesskey') + + def test_serialize_with_sigv4_sigining(self): + auth_value = ( + 'AWS4-HMAC-SHA256 ' + 'Credential=myaccesskey/20180523/my-region-1/ec2/aws4_request,' + 'SignedHeaders=content-type;host;x-amz-date, ' + 'Signature=somesignature' + + ) + self.request_headers['Authorization'] = auth_value + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, request_headers=self.request_headers) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['AccessKey'], 'myaccesskey') + + def test_serialize_with_session_token(self): + self.request_headers['X-Amz-Security-Token'] = 'my-security-token' + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, request_headers=self.request_headers) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict['SessionToken'], 'my-security-token') + + def test_serialize_with_path_parameters_in_url(self): + self.url = 'https://' + self.fqdn + '/resource' + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, url=self.url) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['Fqdn'], self.fqdn) + + def test_serialize_with_request_id_headers(self): + response_headers = { + 'x-amzn-requestid': 'id1', + 'x-amz-request-id': 'id2', + 'x-amz-id-2': 'id3', + } + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, response_headers=response_headers) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['XAmznRequestId'], 'id1') + self.assertEqual(serialized_event_dict['XAmzRequestId'], 'id2') + self.assertEqual(serialized_event_dict['XAmzId2'], 'id3') + + def test_serialize_filters_unwanted_response_headers(self): + response_headers = {'filter-out': 'do-not-include-this'} + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, response_headers=response_headers) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict, { + 'Version': 1, + 'Type': 'ApiCallAttempt', + 'Service': self.service, + 'Api': self.operation, + 'ClientId': self.csm_client_id, + 'Timestamp': self.timestamp, + } + ) + + def test_serialize_with_status_code(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, http_status_code=200) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['HttpStatusCode'], 200) + + def test_serialize_with_service_error(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, parsed_error={ + 'Code': 'MyErrorCode', + 'Message': 'My error message' + } + ) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['AwsException'], 'MyErrorCode') + self.assertEqual( + serialized_event_dict['AwsExceptionMessage'], 'My error message') + + def test_serialize_with_wire_exception(self): + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, + wire_exception=Exception('Error on the wire') + ) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual(serialized_event_dict['SdkException'], 'Exception') + self.assertEqual( + serialized_event_dict['SdkExceptionMessage'], 'Error on the wire') + + def test_serialize_truncates_long_user_agent(self): + max_user_agent_length = 256 + user_agent = 'a' * (max_user_agent_length + 1) + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, + request_headers={'User-Agent': user_agent} + ) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict['UserAgent'], + user_agent[:max_user_agent_length] + ) + + def test_serialize_truncates_long_service_error(self): + max_error_code_length = 128 + max_error_message_length = 512 + long_error_code = 'c' * (max_error_code_length + 1) + long_error_message = 'm' * (max_error_message_length + 1) + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, parsed_error={ + 'Code': long_error_code, + 'Message': long_error_message + } + ) + serialized_event_dict = self.get_serialized_event_dict(event) + self.assertEqual( + serialized_event_dict['AwsException'], + long_error_code[:max_error_code_length] + ) + self.assertEqual( + serialized_event_dict['AwsExceptionMessage'], + long_error_message[:max_error_message_length] + ) + + def test_serialize_truncates_long_wire_exception(self): + max_class_name_length = 128 + max_error_message_length = 512 + long_class_name = 'W' * (max_class_name_length + 1) + wire_class = type(long_class_name, (Exception,), {}) + long_error_message = 'm' * (max_error_message_length + 1) + event = APICallAttemptEvent( + service=self.service, operation=self.operation, + timestamp=self.timestamp, + wire_exception=wire_class(long_error_message) + ) + serialized_event_dict = self.get_serialized_event_dict(event) + + self.assertEqual( + serialized_event_dict['SdkException'], + long_class_name[:max_class_name_length] + ) + self.assertEqual( + serialized_event_dict['SdkExceptionMessage'], + long_error_message[:max_error_message_length] + ) + + +class TestSocketPublisher(unittest.TestCase): + def setUp(self): + self.socket = mock.Mock(socket.socket) + self.host = '127.0.0.1' + self.port = 31000 + self.serializer = mock.Mock(CSMSerializer) + self.publisher = SocketPublisher( + self.socket, self.host, self.port, self.serializer) + + def test_publish(self): + event = object() + self.serializer.serialize.return_value = b'serialized event' + self.publisher.publish(event) + self.serializer.serialize.assert_called_with(event) + self.socket.sendto.assert_called_with( + b'serialized event', (self.host, self.port)) + + def test_skips_publishing_over_max_size(self): + event = mock.Mock(APICallAttemptEvent) + max_event_size = 8 * 1024 + self.serializer.serialize.return_value = b'a' * (max_event_size + 1) + self.publisher.publish(event) + self.socket.sendto.assert_not_called() diff -Nru python-botocore-1.4.70/tests/unit/test_paginate.py python-botocore-1.16.19+repack/tests/unit/test_paginate.py --- python-botocore-1.4.70/tests/unit/test_paginate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_paginate.py 2020-05-28 19:26:10.000000000 +0000 @@ -12,18 +12,60 @@ # language governing permissions and limitations under the License. from tests import unittest +from botocore import model from botocore.paginate import Paginator from botocore.paginate import PaginatorModel +from botocore.paginate import TokenDecoder +from botocore.paginate import TokenEncoder from botocore.exceptions import PaginationError from botocore.compat import six import mock -import base64 -import json def encode_token(token): - return base64.b64encode(json.dumps(token).encode('utf-8')).decode('utf-8') + return TokenEncoder().encode(token) + + +class TestTokenDecoder(unittest.TestCase): + def setUp(self): + self.decoder = TokenDecoder() + + def test_decode(self): + token = 'eyJmb28iOiAiYmFyIn0=' + expected = {'foo': 'bar'} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_bytes(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyJdXSwgImZvbyI6ICJZbUZ5In0=' + ) + expected = {'foo': b'bar'} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_nested_bytes(self): + token = ( + 'eyJmb28iOiB7ImJhciI6ICJZbUY2In0sICJib3RvX2VuY29kZWRfa2V5cyI6' + 'IFtbImZvbyIsICJiYXIiXV19' + ) + expected = {'foo': {'bar': b'baz'}} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_listed_bytes(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyIsICJiYXIiLCAxXV0sICJmb28i' + 'OiB7ImJhciI6IFsiYmF6IiwgIlltbHUiXX19' + ) + expected = {'foo': {'bar': ['baz', b'bin']}} + self.assertEqual(self.decoder.decode(token), expected) + + def test_decode_with_multiple_bytes_values(self): + token = ( + 'eyJib3RvX2VuY29kZWRfa2V5cyI6IFtbImZvbyIsICJiaW4iXSwgWyJmb28iLCAi' + 'YmFyIl1dLCAiZm9vIjogeyJiaW4iOiAiWW1GdCIsICJiYXIiOiAiWW1GNiJ9fQ==' + ) + expected = {'foo': {'bar': b'baz', 'bin': b'bam'}} + self.assertEqual(self.decoder.decode(token), expected) class TestPaginatorModel(unittest.TestCase): @@ -54,12 +96,13 @@ class TestPagination(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() self.paginate_config = { 'output_token': 'NextToken', 'input_token': 'NextToken', 'result_key': 'Foo', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_result_key_available(self): self.assertEqual( @@ -93,7 +136,7 @@ "result_key": "Users", "limit_key": "MaxKeys", } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -132,7 +175,7 @@ 'input_token': 'NextToken', 'result_key': 'Foo', } - self.paginator = Paginator(self.method, self.pagination_config) + self.paginator = Paginator(self.method, self.pagination_config, self.model) # Verify that despite varying between NextToken and NextToken2 # we still can extract the right next tokens. responses = [ @@ -162,7 +205,7 @@ 'input_token': 'NextToken', 'result_key': 'Foo', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {'Foo': [1], 'IsTruncated': True, 'NextToken': 'token1'}, {'Foo': [2], 'IsTruncated': True, 'NextToken': 'token2'}, @@ -184,7 +227,7 @@ 'input_token': 'NextToken', 'result_key': 'Bar', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {'Foo': {'IsTruncated': True}, 'NextToken': 'token1'}, {'Foo': {'IsTruncated': False}, 'NextToken': 'token2'}, @@ -203,7 +246,7 @@ "result_key": "Users", "limit_key": "MaxKeys", } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -244,7 +287,7 @@ "result_key": "Users", "limit_key": "MaxKeys", } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -255,17 +298,61 @@ complete = pages.build_full_result() self.assertEqual(complete, {'Users': ['User1', 'User2', 'User3']}) + def test_build_multiple_results(self): + self.paginate_config = { + "output_token": "Marker", + "input_token": "Marker", + "result_key": "Users", + "limit_key": "MaxKeys", + } + self.paginator = Paginator(self.method, self.paginate_config, self.model) + + max_items = 3 + page_size = 2 + + responses = [ + {"Users": ["User1", "User2"], "Marker": "m1"}, + {"Users": ["User3", "User4"], "Marker": "m2"}, + {"Users": ["User3", "User4"], "Marker": "m2"}, + {"Users": ["User5", "User6", "User7"], "Marker": "m3"}, + ] + self.method.side_effect = responses + + pages = self.paginator.paginate( + PaginationConfig={ + 'PageSize': page_size, + 'MaxItems': max_items + } + ) + result = pages.build_full_result() + + pages = self.paginator.paginate( + PaginationConfig={ + 'MaxItems': max_items, + 'PageSize': page_size, + 'StartingToken': result['NextToken'] + } + ) + result = pages.build_full_result() + + expected_token = encode_token({ + 'Marker': 'm2', + 'boto_truncate_amount': 2, + }) + self.assertEqual(expected_token, result['NextToken']) + class TestPaginatorPageSize(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() self.paginate_config = { "output_token": "Marker", "input_token": "Marker", "result_key": ["Users", "Groups"], 'limit_key': 'MaxKeys', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) self.endpoint = mock.Mock() def test_no_page_size(self): @@ -290,14 +377,16 @@ kwargs = {'arg1': 'foo', 'arg2': 'bar', 'PaginationConfig': {'PageSize': 5}} del self.paginate_config['limit_key'] + paginator = Paginator(self.method, self.paginate_config, self.model) with self.assertRaises(PaginationError): - self.paginator.paginate(**kwargs) + paginator.paginate(**kwargs) class TestPaginatorWithPathExpressions(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # This is something we'd see in s3 pagination. self.paginate_config = { 'output_token': [ @@ -305,7 +394,7 @@ 'input_token': 'next_marker', 'result_key': 'Contents', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_s3_list_objects(self): responses = [ @@ -335,9 +424,181 @@ mock.call(next_marker='Last')]) +class TestBinaryTokens(unittest.TestCase): + def setUp(self): + self.method = mock.Mock() + self.model = mock.Mock() + self.paginate_config = { + "output_token": "Marker", + "input_token": "Marker", + "result_key": "Users" + } + self.paginator = Paginator(self.method, self.paginate_config, self.model) + + def test_build_full_result_with_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": b'\xff'}, + {"Users": ["User3", "User4"], "Marker": b'\xfe'}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": b'\xff', "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_nested_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": {'key': b'\xff'}}, + {"Users": ["User3", "User4"], "Marker": {'key': b'\xfe'}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': b'\xff'}, "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_listed_bytes(self): + responses = [ + {"Users": ["User1", "User2"], "Marker": {'key': ['foo', b'\xff']}}, + {"Users": ["User3", "User4"], "Marker": {'key': ['foo', b'\xfe']}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': ['foo', b'\xff']}, "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_build_full_result_with_multiple_bytes_values(self): + responses = [ + { + "Users": ["User1", "User2"], + "Marker": {'key': b'\xff', 'key2': b'\xef'} + }, + { + "Users": ["User3", "User4"], + "Marker": {'key': b'\xfe', 'key2': b'\xee'} + }, + { + "Users": ["User5"] + } + ] + self.method.side_effect = responses + pages = self.paginator.paginate(PaginationConfig={'MaxItems': 3}) + complete = pages.build_full_result() + expected_token = encode_token({ + "Marker": {'key': b'\xff', 'key2': b'\xef'}, + "boto_truncate_amount": 1, + }) + expected_response = { + "Users": ["User1", "User2", "User3"], + "NextToken": expected_token + } + self.assertEqual(complete, expected_response) + + def test_resume_with_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": b'\xfe'}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": b'\xff', "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker=b'\xff') + + def test_resume_with_nested_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": {'key': b'\xfe'}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': b'\xff'}, "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': b'\xff'}) + + def test_resume_with_listed_bytes(self): + responses = [ + {"Users": ["User3", "User4"], "Marker": {'key': ['bar', b'\xfe']}}, + {"Users": ["User5"]} + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': ['foo', b'\xff']}, "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': ['foo', b'\xff']}) + + def test_resume_with_multiple_bytes_values(self): + responses = [ + { + "Users": ["User3", "User4"], + "Marker": {'key': b'\xfe', 'key2': b'\xee'} + }, + { + "Users": ["User5"] + } + ] + self.method.side_effect = responses + starting_token = encode_token({ + "Marker": {'key': b'\xff', 'key2': b'\xef'}, + "boto_truncate_amount": 1, + }) + pages = self.paginator.paginate( + PaginationConfig={'StartingToken': starting_token}) + complete = pages.build_full_result() + expected_response = { + "Users": ["User4", "User5"] + } + self.assertEqual(complete, expected_response) + self.method.assert_any_call(Marker={'key': b'\xfe', 'key2': b'\xee'}) + + class TestMultipleTokens(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # This is something we'd see in s3 pagination. self.paginate_config = { "output_token": ["ListBucketResults.NextKeyMarker", @@ -345,7 +606,7 @@ "input_token": ["key_marker", "upload_id_marker"], "result_key": 'Foo', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_s3_list_multipart_uploads(self): responses = [ @@ -368,16 +629,66 @@ ]) +class TestOptionalTokens(unittest.TestCase): + """ + Tests a paginator with an optional output token. + + The Route53 ListResourceRecordSets paginator includes three output tokens, + one of which only appears in certain records. If this gets left in the + request params from a previous page, the API will skip over a record. + + """ + def setUp(self): + self.method = mock.Mock() + self.model = mock.Mock() + # This is based on Route53 pagination. + self.paginate_config = { + "output_token": ["NextRecordName", + "NextRecordType", + "NextRecordIdentifier"], + "input_token": ["StartRecordName", + "StartRecordType", + "StartRecordIdentifier"], + "result_key": 'Foo', + } + self.paginator = Paginator(self.method, self.paginate_config, self.model) + + def test_clean_token(self): + responses = [ + {"Foo": [1], + "IsTruncated": True, + "NextRecordName": "aaa.example.com", + "NextRecordType": "A", + "NextRecordIdentifier": "id"}, + {"Foo": [2], + "IsTruncated": True, + "NextRecordName": "bbb.example.com", + "NextRecordType": "A"}, + {"Foo": [3], + "IsTruncated": False}, + ] + self.method.side_effect = responses + list(self.paginator.paginate()) + self.assertEqual( + self.method.call_args_list, + [mock.call(), + mock.call(StartRecordName='aaa.example.com', StartRecordType='A', + StartRecordIdentifier='id'), + mock.call(StartRecordName='bbb.example.com', StartRecordType='A') + ]) + + class TestKeyIterators(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # This is something we'd see in s3 pagination. self.paginate_config = { "output_token": "Marker", "input_token": "Marker", "result_key": "Users" } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_result_key_iters(self): responses = [ @@ -404,7 +715,7 @@ self.assertEqual(complete, {'Users': ['User1', 'User2', 'User3']}) def test_max_items_can_be_specified(self): - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -420,7 +731,7 @@ def test_max_items_as_strings(self): # Some services (route53) model MaxItems as a string type. # We need to be able to handle this case. - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -435,7 +746,7 @@ {'Users': ['User1'], 'NextToken': expected_token}) def test_next_token_on_page_boundary(self): - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -452,7 +763,7 @@ # We're saying we only want 4 items, but notice that the second # page of results returns users 4-6 so we have to truncated # part of that second page. - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1", "User2", "User3"], "Marker": "m1"}, {"Users": ["User4", "User5", "User6"], "Marker": "m2"}, @@ -472,7 +783,7 @@ # from test_MaxItems_can_be_specified_truncates_response # We got the first 4 users, when we pick up we should get # User5 - User7. - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User4", "User5", "User6"], "Marker": "m2"}, {"Users": ["User7"]}, @@ -493,7 +804,7 @@ def test_max_items_exceeds_actual_amount(self): # Because MaxItems=10 > number of users (3), we should just return # all of the users. - paginator = Paginator(self.method, self.paginate_config) + paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {"Users": ["User1"], "Marker": "m1"}, {"Users": ["User2"], "Marker": "m2"}, @@ -521,13 +832,14 @@ class TestMultipleResultKeys(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # This is something we'd see in s3 pagination. self.paginate_config = { "output_token": "Marker", "input_token": "Marker", "result_key": ["Users", "Groups"], } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_build_full_result_with_multiple_result_keys(self): responses = [ @@ -642,6 +954,7 @@ class TestMultipleInputKeys(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # Probably the most complicated example we'll see: # multiple input/output/result keys. self.paginate_config = { @@ -649,7 +962,7 @@ "input_token": ["InMarker1", "InMarker2"], "result_key": ["Users", "Groups"], } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_build_full_result_with_multiple_input_keys(self): responses = [ @@ -720,6 +1033,7 @@ class TestExpressionKeyIterators(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() # This is something like what we'd see in RDS. self.paginate_config = { "input_token": "Marker", @@ -727,7 +1041,7 @@ "limit_key": "MaxRecords", "result_key": "EngineDefaults.Parameters" } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) self.responses = [ {"EngineDefaults": {"Parameters": ["One", "Two"]}, "Marker": "m1"}, @@ -758,12 +1072,13 @@ class TestIncludeResultKeys(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() self.paginate_config = { 'output_token': 'Marker', 'input_token': 'Marker', 'result_key': ['ResultKey', 'Count', 'Log'], } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_different_kinds_of_result_key(self): self.method.side_effect = [ @@ -795,13 +1110,14 @@ def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() self.paginate_config = { 'output_token': 'NextToken', 'input_token': 'NextToken', 'result_key': 'ResultKey', 'non_aggregate_keys': ['NotResultKey'], } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) def test_include_non_aggregate_keys(self): self.method.side_effect = [ @@ -820,7 +1136,7 @@ def test_include_with_multiple_result_keys(self): self.paginate_config['result_key'] = ['ResultKey1', 'ResultKey2'] - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) self.method.side_effect = [ {'ResultKey1': ['a', 'b'], 'ResultKey2': ['u', 'v'], 'NotResultKey': 'a', 'NextToken': 'token1'}, @@ -843,7 +1159,7 @@ self.paginate_config['non_aggregate_keys'] = [ 'Outer', 'Result.Inner', ] - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) self.method.side_effect = [ # The non result keys shows hypothetical # example. This doesn't actually happen, @@ -855,7 +1171,7 @@ {'Result': {'Key': ['bar', 'baz'], 'Inner': 'v3'}, 'Outer': 'v4', 'NextToken': 't2'}, {'Result': {'Key': ['qux'], 'Inner': 'v5'}, - 'Outer': 'v6', 'NextToken': 't3'}, + 'Outer': 'v6'}, ] pages = self.paginator.paginate() actual = pages.build_full_result() @@ -871,13 +1187,14 @@ class TestSearchOverResults(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() self.paginate_config = { 'more_results': 'IsTruncated', 'output_token': 'NextToken', 'input_token': 'NextToken', 'result_key': 'Foo', } - self.paginator = Paginator(self.method, self.paginate_config) + self.paginator = Paginator(self.method, self.paginate_config, self.model) responses = [ {'Foo': [{'a': 1}, {'b': 2}], 'IsTruncated': True, 'NextToken': '1'}, @@ -907,6 +1224,7 @@ class TestDeprecatedStartingToken(unittest.TestCase): def setUp(self): self.method = mock.Mock() + self.model = mock.Mock() def create_paginator(self, multiple_tokens=False): if multiple_tokens: @@ -921,7 +1239,7 @@ 'input_token': 'Marker', 'result_key': 'Users', } - return Paginator(self.method, paginator_config) + return Paginator(self.method, paginator_config, self.model) def assert_pagination_result(self, expected, pagination_config, multiple_tokens=False): @@ -1031,5 +1349,72 @@ self.assertEqual(actual, expected) +class TestStringPageSize(unittest.TestCase): + def setUp(self): + self.service_model = { + 'metadata': { + 'protocol': 'query', + 'endpointPrefix': 'prefix' + }, + 'documentation': 'best service ever', + 'operations': { + 'ListStuff': { + 'name': 'ListStuff', + 'http': { + 'method': 'GET', + 'requestUri': '/things' + }, + 'input': {'shape': 'ListStuffInputShape'}, + 'output': {'shape': 'ListStuffOutputShape'}, + 'errors': [], + 'documentation': 'Lists stuff' + } + }, + 'shapes': { + 'String': {'type': 'string'}, + 'ListOfStuff': { + 'type': 'list', + 'member': {'type': 'string'} + }, + 'ListStuffInputShape': { + 'type': 'structure', + 'required': [], + 'members': { + 'NextToken': {'shape': 'String'}, + 'MaxItems': {'shape': 'String'} + } + }, + 'ListStuffOutputShape': { + 'type': 'structure', + 'required': [], + 'members': { + 'NextToken': {'shape': 'String'}, + 'Stuff': {'shape': 'ListOfStuff'}, + 'IsTruncated': {'type': 'boolean'} + }, + } + } + } + self.paginate_config = { + 'input_token': 'NextToken', + 'output_token': 'NextToken', + 'limit_key': 'MaxItems', + 'result_key': 'Stuff', + } + self.service = model.ServiceModel(self.service_model) + self.model = self.service.operation_model('ListStuff') + self.method = mock.Mock() + self.method.side_effect = [{}] + self.paginator = Paginator(self.method, self.paginate_config, self.model) + + def test_int_page_size(self): + res = list(self.paginator.paginate(PaginationConfig={'PageSize': 1})) + self.method.assert_called_with(MaxItems='1') + + def test_str_page_size(self): + res = list(self.paginator.paginate(PaginationConfig={'PageSize': '1'})) + self.method.assert_called_with(MaxItems='1') + + if __name__ == '__main__': unittest.main() diff -Nru python-botocore-1.4.70/tests/unit/test_parsers.py python-botocore-1.16.19+repack/tests/unit/test_parsers.py --- python-botocore-1.4.70/tests/unit/test_parsers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_parsers.py 2020-05-28 19:26:16.000000000 +0000 @@ -10,22 +10,21 @@ # 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 +from tests import unittest, RawResponse import datetime -import collections from dateutil.tz import tzutc from nose.tools import assert_equal from botocore import parsers from botocore import model -from botocore.compat import json +from botocore.compat import json, MutableMapping # HTTP responses will typically return a custom HTTP # dict. We want to ensure we're able to work with any # kind of mutable mapping implementation. -class CustomHeaderDict(collections.MutableMapping): +class CustomHeaderDict(MutableMapping): def __init__(self, original_dict): self._d = original_dict @@ -91,6 +90,50 @@ 'HTTPStatusCode': 200, 'HTTPHeaders': {}}}) + def test_metadata_always_exists_for_query(self): + # ResponseMetadata is used for more than just the request id. It + # should always get populated, even if the request doesn't seem to + # have an id. + parser = parsers.QueryParser() + response = ( + '' + ' myname' + '').encode('utf-8') + output_shape = model.StructureShape( + 'OutputShape', + { + 'type': 'structure', + 'resultWrapper': 'OperationNameResult', + 'members': { + 'Str': { + 'shape': 'StringType', + }, + 'Num': { + 'shape': 'IntegerType', + } + } + }, + model.ShapeResolver({ + 'StringType': { + 'type': 'string', + }, + 'IntegerType': { + 'type': 'integer', + } + }) + ) + parsed = parser.parse( + {'body': response, 'headers': {}, 'status_code': 200}, + output_shape) + expected = { + 'Str': 'myname', + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': {} + } + } + self.assertEqual(parsed, expected) + def test_response_metadata_parsed_for_ec2(self): parser = parsers.EC2QueryParser() response = ( @@ -121,7 +164,41 @@ 'HTTPStatusCode': 200, 'HTTPHeaders': {}}}) - def test_response_metadata_on_normal_request(self): + def test_metadata_always_exists_for_ec2(self): + # ResponseMetadata is used for more than just the request id. It + # should always get populated, even if the request doesn't seem to + # have an id. + parser = parsers.EC2QueryParser() + response = ( + '' + ' myname' + '').encode('utf-8') + output_shape = model.StructureShape( + 'OutputShape', + { + 'type': 'structure', + 'members': { + 'Str': { + 'shape': 'StringType', + } + } + }, + model.ShapeResolver({'StringType': {'type': 'string'}}) + ) + parsed = parser.parse( + {'headers': {}, 'body': response, 'status_code': 200}, + output_shape) + expected = { + 'Str': 'myname', + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': {} + } + } + self.assertEqual( + parsed, expected) + + def test_response_metadata_on_json_request(self): parser = parsers.JSONParser() response = b'{"Str": "mystring"}' headers = {'x-amzn-requestid': 'request-id'} @@ -147,7 +224,67 @@ 'HTTPStatusCode': 200, 'HTTPHeaders': headers}}) - def test_response_metadata_on_rest_response(self): + def test_response_no_initial_event_stream(self): + parser = parsers.JSONParser() + output_shape = model.StructureShape( + 'OutputShape', + { + 'type': 'structure', + 'members': { + 'Payload': {'shape': 'Payload'} + } + }, + model.ShapeResolver({ + 'Payload': { + 'type': 'structure', + 'members': [], + 'eventstream': True + } + }) + ) + with self.assertRaises(parsers.ResponseParserError): + response_dict = { + 'status_code': 200, + 'headers': {}, + 'body': RawResponse(b''), + 'context': { + 'operation_name': 'TestOperation' + } + } + parser.parse(response_dict, output_shape) + + def test_metadata_always_exists_for_json(self): + # ResponseMetadata is used for more than just the request id. It + # should always get populated, even if the request doesn't seem to + # have an id. + parser = parsers.JSONParser() + response = b'{"Str": "mystring"}' + headers = {} + output_shape = model.StructureShape( + 'OutputShape', + { + 'type': 'structure', + 'members': { + 'Str': { + 'shape': 'StringType', + } + } + }, + model.ShapeResolver({'StringType': {'type': 'string'}}) + ) + parsed = parser.parse( + {'body': response, 'headers': headers, 'status_code': 200}, + output_shape) + expected = { + 'Str': 'mystring', + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': headers + } + } + self.assertEqual(parsed, expected) + + def test_response_metadata_on_rest_json_response(self): parser = parsers.RestJSONParser() response = b'{"Str": "mystring"}' headers = {'x-amzn-requestid': 'request-id'} @@ -173,6 +310,37 @@ 'HTTPStatusCode': 200, 'HTTPHeaders': headers}}) + def test_metadata_always_exists_on_rest_json_response(self): + # ResponseMetadata is used for more than just the request id. It + # should always get populated, even if the request doesn't seem to + # have an id. + parser = parsers.RestJSONParser() + response = b'{"Str": "mystring"}' + headers = {} + output_shape = model.StructureShape( + 'OutputShape', + { + 'type': 'structure', + 'members': { + 'Str': { + 'shape': 'StringType', + } + } + }, + model.ShapeResolver({'StringType': {'type': 'string'}}) + ) + parsed = parser.parse( + {'body': response, 'headers': headers, 'status_code': 200}, + output_shape) + expected = { + 'Str': 'mystring', + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': headers + } + } + self.assertEqual(parsed, expected) + def test_response_metadata_from_s3_response(self): # Even though s3 is a rest-xml service, it's response metadata # is slightly different. It has two request ids, both come from @@ -192,6 +360,22 @@ 'HTTPStatusCode': 200, 'HTTPHeaders': headers}}) + def test_metadata_always_exists_on_rest_xml_response(self): + # ResponseMetadata is used for more than just the request id. It + # should always get populated, even if the request doesn't seem to + # have an id. + headers = {} + parser = parsers.RestXMLParser() + parsed = parser.parse( + {'body': '', 'headers': headers, 'status_code': 200}, None) + expected = { + 'ResponseMetadata': { + 'HTTPStatusCode': 200, + 'HTTPHeaders': headers + } + } + self.assertEqual(parsed, expected) + class TestHeaderResponseInclusion(unittest.TestCase): def create_parser(self): @@ -223,9 +407,15 @@ parsed = parser.parse( {'body': b'{}', 'headers': headers, 'status_code': 200}, output_shape) + # The mapped header's keys should all be lower cased + parsed_headers = { + 'x-amzn-requestid': 'request-id', + 'header1': 'foo', + 'header2': 'bar', + } # Response headers should be mapped as HTTPHeaders. self.assertEqual( - parsed['ResponseMetadata']['HTTPHeaders'], headers) + parsed['ResponseMetadata']['HTTPHeaders'], parsed_headers) def test_can_always_json_serialize_headers(self): parser = self.create_parser() @@ -243,7 +433,7 @@ # response. So we want to ensure that despite using a CustomHeaderDict # we can always JSON dumps the response metadata. self.assertEqual( - json.loads(json.dumps(metadata))['HTTPHeaders']['Header1'], 'foo') + json.loads(json.dumps(metadata))['HTTPHeaders']['header1'], 'foo') class TestResponseParsingDatetimes(unittest.TestCase): @@ -264,6 +454,20 @@ self.assertEqual(parsed, expected_parsed) +class TestResponseParserFactory(unittest.TestCase): + def setUp(self): + self.factory = parsers.ResponseParserFactory() + + def test_rest_parser(self): + parser = self.factory.create_parser('rest-xml') + self.assertTrue(isinstance(parser, parsers.BaseRestParser)) + self.assertTrue(isinstance(parser, parsers.BaseXMLResponseParser)) + + def test_json_parser(self): + parser = self.factory.create_parser('json') + self.assertTrue(isinstance(parser, parsers.BaseJSONParser)) + + class TestCanDecorateResponseParsing(unittest.TestCase): def setUp(self): self.factory = parsers.ResponseParserFactory() @@ -436,12 +640,243 @@ self.assertEqual(parsed['Foo'], {'Bar': 'first_value'}) +class TestEventStreamParsers(unittest.TestCase): + + def setUp(self): + self.parser = parsers.EventStreamXMLParser() + self.output_shape = model.StructureShape( + 'EventStream', + { + 'eventstream': True, + 'type': 'structure', + 'members': { + 'EventA': {'shape': 'EventAStructure'}, + 'EventB': {'shape': 'EventBStructure'}, + 'EventC': {'shape': 'EventCStructure'}, + 'EventD': {'shape': 'EventDStructure'}, + 'EventException': {'shape': 'ExceptionShape'}, + } + }, + model.ShapeResolver({ + 'EventAStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'Stats': { + 'shape': 'StatsStructure', + 'eventpayload': True + }, + 'Header': { + 'shape': 'IntShape', + 'eventheader': True + } + } + }, + 'EventBStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'Body': { + 'shape': 'BlobShape', + 'eventpayload': True + } + } + }, + 'EventCStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'Body': { + 'shape': 'StringShape', + 'eventpayload': True + } + } + }, + 'EventDStructure': { + 'event': True, + 'type': 'structure', + 'members': { + 'StringField': {'shape': 'StringShape'}, + 'IntField': {'shape': 'IntShape'}, + 'Header': { + 'shape': 'IntShape', + 'eventheader': True + } + } + }, + 'StatsStructure': { + 'type': 'structure', + 'members': { + 'StringField': {'shape': 'StringShape'}, + 'IntField': {'shape': 'IntShape'} + } + }, + 'BlobShape': {'type': 'blob'}, + 'StringShape': {'type': 'string'}, + 'IntShape': {'type': 'integer'}, + 'ExceptionShape': { + 'exception': True, + 'type': 'structure', + 'members': { + 'message': {'shape': 'StringShape'} + } + }, + }) + ) + + def parse_event(self, headers=None, body=None, status_code=200): + response_dict = { + 'body': body, + 'headers': headers, + 'status_code': status_code + } + return self.parser.parse(response_dict, self.output_shape) + + def test_parses_event_xml(self): + headers = { + 'Header': 123, + ':event-type': 'EventA' + } + body = ( + b'' + b' abcde' + b' 1234' + b'' + ) + parsed = self.parse_event(headers, body) + expected = { + 'EventA': { + 'Header': 123, + 'Stats': { + 'StringField': 'abcde', + 'IntField': 1234 + } + } + } + self.assertEqual(parsed, expected) + + def test_parses_event_bad_xml(self): + headers = { + 'Header': 123, + ':event-type': 'EventA' + } + parsed = self.parse_event(headers, b'') + expected = { + 'EventA': { + 'Header': 123, + 'Stats': {} + } + } + self.assertEqual(parsed, expected) + + def test_parses_event_blob(self): + headers = {':event-type': 'EventB'} + parsed = self.parse_event(headers, b'blob') + expected = {'EventB': {'Body': b'blob'}} + self.assertEqual(parsed, expected) + + def test_parses_event_string(self): + headers = {':event-type': 'EventC'} + parsed = self.parse_event(headers, b'blob') + expected = {'EventC': {'Body': u'blob'}} + self.assertEqual(parsed, expected) + + def test_parses_payload_implicit(self): + headers = { + 'Header': 123, + ':event-type': 'EventD' + } + body = ( + b'' + b' abcde' + b' 1234' + b'' + ) + parsed = self.parse_event(headers, body) + expected = { + 'EventD': { + 'Header': 123, + 'StringField': 'abcde', + 'IntField': 1234 + } + } + self.assertEqual(parsed, expected) + + def test_parses_error_event(self): + error_code = 'client/SomeError' + error_message = 'You did something wrong' + headers = { + ':message-type': 'error', + ':error-code': error_code, + ':error-message': error_message + } + body = b'' + parsed = self.parse_event(headers, body, status_code=400) + expected = { + 'Error': { + 'Code': error_code, + 'Message': error_message + } + } + self.assertEqual(parsed, expected) + + def test_parses_exception_event(self): + self.parser = parsers.EventStreamJSONParser() + error_code = 'EventException' + headers = { + ':message-type': 'exception', + ':exception-type': error_code, + } + body = b'{"message": "You did something wrong"}' + parsed = self.parse_event(headers, body, status_code=400) + expected = { + 'Error': { + 'Code': error_code, + 'Message': 'You did something wrong' + } + } + self.assertEqual(parsed, expected) + + def test_parses_event_json(self): + self.parser = parsers.EventStreamJSONParser() + headers = {':event-type': 'EventD'} + body = ( + b'{' + b' "StringField": "abcde",' + b' "IntField": 1234' + b'}' + ) + parsed = self.parse_event(headers, body) + expected = { + 'EventD': { + 'StringField': 'abcde', + 'IntField': 1234 + } + } + self.assertEqual(parsed, expected) + + class TestParseErrorResponses(unittest.TestCase): # This class consolidates all the error parsing tests # across all the protocols. We may potentially pull # this into the shared protocol tests in the future, # so consolidating them into a single class will make # this easier. + def setUp(self): + self.error_shape = model.StructureShape( + 'ErrorShape', + { + 'type': 'structure', + 'exception': True, + 'members': { + 'ModeledField': { + 'shape': 'StringType', + } + } + }, + model.ShapeResolver({'StringType': {'type': 'string'}}) + ) + def test_response_metadata_errors_for_json_protocol(self): parser = parsers.JSONParser() response = { @@ -607,6 +1042,46 @@ 'HTTPHeaders': headers }) + def test_error_response_with_string_body_rest_json(self): + parser = parsers.RestJSONParser() + response = b'HTTP content length exceeded 1049600 bytes.' + headers = {'content-length': '0', 'connection': 'keep-alive'} + output_shape = None + parsed = parser.parse({'body': response, 'headers': headers, + 'status_code': 413}, output_shape) + + self.assertIn('Error', parsed) + self.assertEqual(parsed['Error'], { + 'Code': '413', + 'Message': response.decode('utf-8') + }) + self.assertEqual(parsed['ResponseMetadata'], { + 'HTTPStatusCode': 413, + 'HTTPHeaders': headers + }) + + def test_error_response_with_xml_body_rest_json(self): + parser = parsers.RestJSONParser() + response = ( + '' + ' Unable to determine service/operation name to be authorized' + '' + ).encode('utf-8') + headers = {'content-length': '0', 'connection': 'keep-alive'} + output_shape = None + parsed = parser.parse({'body': response, 'headers': headers, + 'status_code': 403}, output_shape) + + self.assertIn('Error', parsed) + self.assertEqual(parsed['Error'], { + 'Code': '403', + 'Message': response.decode('utf-8') + }) + self.assertEqual(parsed['ResponseMetadata'], { + 'HTTPStatusCode': 403, + 'HTTPHeaders': headers + }) + def test_s3_error_response(self): body = ( '' @@ -705,6 +1180,103 @@ self.assertEqual(parsed['Error'], {'Message': 'Access denied', 'Code': 'AccessDeniedException'}) + def test_can_parse_rest_json_modeled_fields(self): + body = ( + b'{"ModeledField":"Some modeled field",' + b'"Message":"Some message"}' + ) + parser = parsers.RestJSONParser() + response_dict = { + 'status_code': 400, + 'headers': {}, + 'body': body, + } + parsed = parser.parse(response_dict, self.error_shape) + expected_parsed = { + 'ModeledField': 'Some modeled field', + } + self.assertEqual(parsed, expected_parsed) + + def test_can_parse_rest_xml_modeled_fields(self): + parser = parsers.RestXMLParser() + body = ( + b'\n' + b'SenderNoSuchDistribution' + b'The specified distribution does not exist.' + b'Some modeled field' + b'' + b'' + ) + response_dict = { + 'status_code': 400, + 'headers': {}, + 'body': body, + } + parsed = parser.parse(response_dict, self.error_shape) + expected_parsed = { + 'ModeledField': 'Some modeled field', + } + self.assertEqual(parsed, expected_parsed) + + def test_can_parse_ec2_modeled_fields(self): + body = ( + b'' + b'ExceptionShape' + b'Foo message' + b'Some modeled field' + b'' + ) + parser = parsers.EC2QueryParser() + response_dict = { + 'status_code': 400, + 'headers': {}, + 'body': body, + } + parsed = parser.parse(response_dict, self.error_shape) + expected_parsed = { + 'ModeledField': 'Some modeled field', + } + self.assertEqual(parsed, expected_parsed) + + def test_can_parse_query_modeled_fields(self): + parser = parsers.QueryParser() + body = ( + b'\n' + b'SenderSomeCode' + b'A message' + b'Some modeled field' + b'' + b'' + ) + response_dict = { + 'status_code': 400, + 'headers': {}, + 'body': body, + } + parsed = parser.parse(response_dict, self.error_shape) + expected_parsed = { + 'ModeledField': 'Some modeled field', + } + self.assertEqual(parsed, expected_parsed) + + def test_can_parse_json_modeled_fields(self): + body = ( + b'{"ModeledField":"Some modeled field",' + b'"Message":"Some message",' + b'"__type": "Prefix#SomeError"}' + ) + parser = parsers.JSONParser() + response_dict = { + 'status_code': 400, + 'headers': {}, + 'body': body, + } + parsed = parser.parse(response_dict, self.error_shape) + expected_parsed = { + 'ModeledField': 'Some modeled field', + } + self.assertEqual(parsed, expected_parsed) + def test_can_parse_route53_with_missing_message(self): # The message isn't always in the XML response (or even the headers). # We should be able to handle this gracefully and still at least @@ -737,8 +1309,10 @@ 'Http/1.1 Service Unavailable' ).encode('utf-8') empty_body = b'' + none_body = None yield _assert_parses_generic_error, parser_cls(), generic_html_body yield _assert_parses_generic_error, parser_cls(), empty_body + yield _assert_parses_generic_error, parser_cls(), none_body def _assert_parses_generic_error(parser, body): diff -Nru python-botocore-1.4.70/tests/unit/test_protocols.py python-botocore-1.16.19+repack/tests/unit/test_protocols.py --- python-botocore-1.4.70/tests/unit/test_protocols.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_protocols.py 2020-05-28 19:26:16.000000000 +0000 @@ -53,18 +53,21 @@ import os import copy +from base64 import b64decode from dateutil.tz import tzutc -from botocore.compat import json, OrderedDict -from botocore.awsrequest import AWSRequest +from botocore.awsrequest import HeadersDict +from botocore.compat import json, OrderedDict, urlsplit +from botocore.eventstream import EventStream from botocore.model import ServiceModel, OperationModel from botocore.serialize import EC2Serializer, QuerySerializer, \ JSONSerializer, RestJSONSerializer, RestXMLSerializer from botocore.parsers import QueryParser, JSONParser, \ - RestJSONParser, RestXMLParser + RestJSONParser, RestXMLParser, EC2QueryParser from botocore.utils import parse_timestamp, percent_encode_sequence +from botocore.awsrequest import prepare_request_dict from calendar import timegm -from botocore.compat import urlencode +from botocore.model import NoShapeFoundError from nose.tools import assert_equal as _assert_equal @@ -80,19 +83,23 @@ 'rest-xml': RestXMLSerializer, } PROTOCOL_PARSERS = { - # ec2/query have the same response parsing logic. - 'ec2': QueryParser, + 'ec2': EC2QueryParser, 'query': QueryParser, 'json': JSONParser, 'rest-json': RestJSONParser, 'rest-xml': RestXMLParser, } +PROTOCOL_TEST_BLACKLIST = [ + 'Idempotency token auto fill' +] def test_compliance(): for full_path in _walk_files(): if full_path.endswith('.json'): for model, case, basename in _load_cases(full_path): + if model.get('description') in PROTOCOL_TEST_BLACKLIST: + continue if 'params' in case: yield _test_input, model, case, basename elif 'response' in case: @@ -115,9 +122,11 @@ operation_model = OperationModel(case['given'], model) request = serializer.serialize_to_request(case['params'], operation_model) _serialize_request_description(request) + client_endpoint = service_description.get('clientEndpoint') try: _assert_request_body_is_bytes(request['body']) _assert_requests_equal(request, case['serialized']) + _assert_endpoints_equal(request, case['serialized'], client_endpoint) except AssertionError as e: _input_failure_message(protocol_type, case, request, e) @@ -128,11 +137,29 @@ "bytes(), instead got: %s" % type(body)) +def _assert_endpoints_equal(actual, expected, endpoint): + if 'host' not in expected: + return + prepare_request_dict(actual, endpoint) + actual_host = urlsplit(actual['url']).netloc + assert_equal(actual_host, expected['host'], 'Host') + + +class MockRawResponse(object): + def __init__(self, data): + self._data = b64decode(data) + + def stream(self): + yield self._data + + def _test_output(json_description, case, basename): service_description = copy.deepcopy(json_description) + operation_name = case.get('name', 'OperationName') service_description['operations'] = { - case.get('name', 'OperationName'): case, + operation_name: case, } + case['response']['context'] = {'operation_name': operation_name} try: model = ServiceModel(service_description) operation_model = OperationModel(case['given'], model) @@ -140,9 +167,27 @@ timestamp_parser=_compliance_timestamp_parser) # We load the json as utf-8, but the response parser is at the # botocore boundary, so it expects to work with bytes. - body = case['response']['body'] - case['response']['body'] = body.encode('utf-8') - parsed = parser.parse(case['response'], operation_model.output_shape) + body_bytes = case['response']['body'].encode('utf-8') + case['response']['body'] = body_bytes + # We need the headers to be case insensitive + headers = HeadersDict(case['response']['headers']) + case['response']['headers'] = headers + # If this is an event stream fake the raw streamed response + if operation_model.has_event_stream_output: + case['response']['body'] = MockRawResponse(body_bytes) + if 'error' in case: + output_shape = operation_model.output_shape + parsed = parser.parse(case['response'], output_shape) + try: + error_shape = model.shape_for(parsed['Error']['Code']) + except NoShapeFoundError: + error_shape = None + if error_shape is not None: + error_parse = parser.parse(case['response'], error_shape) + parsed.update(error_parse) + else: + output_shape = operation_model.output_shape + parsed = parser.parse(case['response'], output_shape) parsed = _fixup_parsed_result(parsed) except Exception as e: msg = ( @@ -153,10 +198,20 @@ case['description'], case['suite_id'], case['test_id'])) raise AssertionError(msg) try: - assert_equal(parsed, case['result'], "Body") + if 'error' in case: + expected_result = { + 'Error': { + 'Code': case.get('errorCode', ''), + 'Message': case.get('errorMessage', ''), + } + } + expected_result.update(case['error']) + else: + expected_result = case['result'] + assert_equal(parsed, expected_result, "Body") except Exception as e: _output_failure_message(model.metadata['protocol'], - case, parsed, e) + case, parsed, expected_result, e) def _fixup_parsed_result(parsed): @@ -177,6 +232,20 @@ # any bytes type, and decode it as utf-8 because we know that's safe for # the compliance tests. parsed = _convert_bytes_to_str(parsed) + # 3. We need to expand the event stream object into the list of events + for key, value in parsed.items(): + if isinstance(value, EventStream): + parsed[key] = _convert_bytes_to_str(list(value)) + break + # 4. We parse the entire error body into the "Error" field for rest-xml + # which causes some modeled fields in the response to be placed under the + # error key. We don't have enough information in the test suite to assert + # these properly, and they probably shouldn't be there in the first place. + if 'Error' in parsed: + error_keys = list(parsed['Error'].keys()) + for key in error_keys: + if key not in ['Code', 'Message']: + del parsed['Error'][key] return parsed @@ -205,7 +274,10 @@ return int(timegm(datetime.timetuple())) -def _output_failure_message(protocol_type, case, actual_parsed, error): +def _output_failure_message( + protocol_type, case, actual_parsed, + expected_result, error +): j = _try_json_dump error_message = ( "\nDescription : %s (%s:%s)\n" @@ -214,11 +286,11 @@ "Response : %s\n" "Expected serialization: %s\n" "Actual serialization : %s\n" - "Assertion message : %s\n" % ( + "Assertion message : %s\n" % ( case['description'], case['suite_id'], case['test_id'], protocol_type, j(case['given']), j(case['response']), - j(case['result']), j(actual_parsed), error)) + j(expected_result), j(actual_parsed), error)) raise AssertionError(error_message) @@ -231,7 +303,7 @@ "Params : %s\n" "Expected serialization: %s\n" "Actual serialization : %s\n" - "Assertion message : %s\n" % ( + "Assertion message : %s\n" % ( case['description'], case['suite_id'], case['test_id'], protocol_type, j(case['given']), j(case['params']), @@ -242,9 +314,10 @@ def _try_json_dump(obj): try: return json.dumps(obj) - except (ValueError, TypeError) as e: + except (ValueError, TypeError): return str(obj) + def assert_equal(first, second, prefix): # A better assert equals. It allows you to just provide # prefix instead of the entire message. @@ -256,7 +329,7 @@ prefix, json.dumps(first, indent=2), json.dumps(second, indent=2)) - except (ValueError, TypeError) as e: + except (ValueError, TypeError): better = "%s (actual != expected)\n%s !=\n%s" % ( prefix, first, second) raise AssertionError(better) @@ -268,7 +341,7 @@ encoded = percent_encode_sequence(request_dict['body']).encode('utf-8') request_dict['body'] = encoded if isinstance(request_dict.get('query_string'), dict): - encoded = percent_encode_sequence(request_dict.pop('query_string')) + encoded = percent_encode_sequence(request_dict.get('query_string')) if encoded: # 'requests' automatically handle this, but we in the # test runner we need to handle the case where the url_path @@ -280,7 +353,7 @@ def _assert_requests_equal(actual, expected): - assert_equal(actual['body'], expected['body'].encode('utf-8'), + assert_equal(actual['body'], expected.get('body', '').encode('utf-8'), 'Body value') actual_headers = dict(actual['headers']) expected_headers = expected.get('headers', {}) diff -Nru python-botocore-1.4.70/tests/unit/test_regions.py python-botocore-1.16.19+repack/tests/unit/test_regions.py --- python-botocore-1.4.70/tests/unit/test_regions.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_regions.py 2020-05-28 19:26:10.000000000 +0000 @@ -10,13 +10,9 @@ # 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, create_session - -import mock -from nose.tools import assert_equals +from tests import unittest from botocore import regions -from botocore.client import ClientEndpointBridge from botocore.exceptions import NoRegionError @@ -27,7 +23,7 @@ { 'partition': 'aws', 'dnsSuffix': 'amazonaws.com', - 'regionRegex': '^(us|eu)\-\w+$', + 'regionRegex': r'^(us|eu)\-\w+$', 'defaults': { 'hostname': '{service}.{region}.{dnsSuffix}' }, @@ -90,7 +86,7 @@ { 'partition': 'foo', 'dnsSuffix': 'foo.com', - 'regionRegex': '^(foo)\-\w+$', + 'regionRegex': r'^(foo)\-\w+$', 'defaults': { 'hostname': '{service}.{region}.{dnsSuffix}', 'protocols': ['http'], @@ -127,29 +123,29 @@ def test_returns_empty_list_when_listing_for_different_partition(self): resolver = regions.EndpointResolver(self._template()) - self.assertEquals([], resolver.get_available_endpoints('ec2', 'bar')) + self.assertEqual([], resolver.get_available_endpoints('ec2', 'bar')) def test_returns_empty_list_when_no_service_found(self): resolver = regions.EndpointResolver(self._template()) - self.assertEquals([], resolver.get_available_endpoints('what?')) + self.assertEqual([], resolver.get_available_endpoints('what?')) def test_gets_endpoint_names(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints( 'ec2', allow_non_regional=True) - self.assertEquals(['d', 'eu-baz', 'us-bar', 'us-foo'], sorted(result)) + self.assertEqual(['d', 'eu-baz', 'us-bar', 'us-foo'], sorted(result)) def test_gets_endpoint_names_for_partition(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints( 'ec2', allow_non_regional=True, partition_name='foo') - self.assertEquals(['foo-1', 'foo-2', 'foo-3'], sorted(result)) + self.assertEqual(['foo-1', 'foo-2', 'foo-3'], sorted(result)) def test_list_regional_endpoints_only(self): resolver = regions.EndpointResolver(self._template()) result = resolver.get_available_endpoints( 'ec2', allow_non_regional=False) - self.assertEquals(['eu-baz', 'us-bar', 'us-foo'], sorted(result)) + self.assertEqual(['eu-baz', 'us-bar', 'us-foo'], sorted(result)) def test_returns_none_when_no_match(self): resolver = regions.EndpointResolver(self._template()) @@ -158,65 +154,65 @@ def test_constructs_regionalized_endpoints_for_exact_matches(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'eu-baz') - self.assertEquals('not-regionalized.eu-baz.amazonaws.com', + self.assertEqual('not-regionalized.eu-baz.amazonaws.com', result['hostname']) - self.assertEquals('aws', result['partition']) - self.assertEquals('eu-baz', result['endpointName']) + self.assertEqual('aws', result['partition']) + self.assertEqual('eu-baz', result['endpointName']) def test_constructs_partition_endpoints_for_real_partition_region(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'us-bar') - self.assertEquals('not-regionalized', result['hostname']) - self.assertEquals('aws', result['partition']) - self.assertEquals('aws', result['endpointName']) + self.assertEqual('not-regionalized', result['hostname']) + self.assertEqual('aws', result['partition']) + self.assertEqual('aws', result['endpointName']) def test_constructs_partition_endpoints_for_regex_match(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized', 'us-abc') - self.assertEquals('not-regionalized', result['hostname']) + self.assertEqual('not-regionalized', result['hostname']) def test_constructs_endpoints_for_regionalized_regex_match(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('s3', 'us-abc') - self.assertEquals('s3.us-abc.amazonaws.com', result['hostname']) + self.assertEqual('s3.us-abc.amazonaws.com', result['hostname']) def test_constructs_endpoints_for_unknown_service_but_known_region(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('unknown', 'us-foo') - self.assertEquals('unknown.us-foo.amazonaws.com', result['hostname']) + self.assertEqual('unknown.us-foo.amazonaws.com', result['hostname']) def test_merges_service_keys(self): resolver = regions.EndpointResolver(self._template()) us_foo = resolver.construct_endpoint('merge', 'us-foo') us_bar = resolver.construct_endpoint('merge', 'us-bar') - self.assertEquals(['http'], us_foo['protocols']) - self.assertEquals(['v4'], us_foo['signatureVersions']) - self.assertEquals(['https'], us_bar['protocols']) - self.assertEquals(['v2'], us_bar['signatureVersions']) + self.assertEqual(['http'], us_foo['protocols']) + self.assertEqual(['v4'], us_foo['signatureVersions']) + self.assertEqual(['https'], us_bar['protocols']) + self.assertEqual(['v2'], us_bar['signatureVersions']) def test_merges_partition_default_keys_with_no_overwrite(self): resolver = regions.EndpointResolver(self._template()) resolved = resolver.construct_endpoint('ec2', 'foo-1') - self.assertEquals('baz', resolved['foo']) - self.assertEquals(['http'], resolved['protocols']) + self.assertEqual('baz', resolved['foo']) + self.assertEqual(['http'], resolved['protocols']) def test_merges_partition_default_keys_with_overwrite(self): resolver = regions.EndpointResolver(self._template()) resolved = resolver.construct_endpoint('ec2', 'foo-2') - self.assertEquals('bar', resolved['foo']) - self.assertEquals(['http'], resolved['protocols']) + self.assertEqual('bar', resolved['foo']) + self.assertEqual(['http'], resolved['protocols']) def test_gives_hostname_and_common_name_unaltered(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('s3', 'eu-baz') - self.assertEquals('s3.eu-baz.amazonaws.com', result['sslCommonName']) - self.assertEquals('foo', result['hostname']) + self.assertEqual('s3.eu-baz.amazonaws.com', result['sslCommonName']) + self.assertEqual('foo', result['hostname']) def tests_uses_partition_endpoint_when_no_region_provided(self): resolver = regions.EndpointResolver(self._template()) result = resolver.construct_endpoint('not-regionalized') - self.assertEquals('not-regionalized', result['hostname']) - self.assertEquals('aws', result['endpointName']) + self.assertEqual('not-regionalized', result['hostname']) + self.assertEqual('aws', result['endpointName']) def test_returns_dns_suffix_if_available(self): resolver = regions.EndpointResolver(self._template()) diff -Nru python-botocore-1.4.70/tests/unit/test_response.py python-botocore-1.16.19+repack/tests/unit/test_response.py --- python-botocore-1.4.70/tests/unit/test_response.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_response.py 2020-05-28 19:26:10.000000000 +0000 @@ -15,12 +15,13 @@ import datetime from dateutil.tz import tzutc +from urllib3.exceptions import ReadTimeoutError as URLLib3ReadTimeoutError import botocore from botocore import response from botocore.compat import six -from botocore.exceptions import IncompleteReadError -from botocore.vendored.requests.models import Response, Request +from botocore.exceptions import IncompleteReadError, ReadTimeoutError +from botocore.awsrequest import AWSRequest, AWSResponse XMLBODY1 = (b'' b'AccessDenied' @@ -41,6 +42,17 @@ class TestStreamWrapper(unittest.TestCase): + + def assert_lines(self, line_iterator, expected_lines): + for expected_line in expected_lines: + self.assertEqual( + next(line_iterator), + expected_line, + ) + # We should have exhausted the iterator. + with self.assertRaises(StopIteration): + next(line_iterator) + def test_streaming_wrapper_validates_content_length(self): body = six.BytesIO(b'1234567890') stream = response.StreamingBody(body, content_length=10) @@ -55,6 +67,13 @@ # an IncompleteReadError because we were expectd 10 bytes, not 9. stream.read() + def test_streaming_body_with_zero_read(self): + body = six.BytesIO(b'1234567890') + stream = response.StreamingBody(body, content_length=10) + chunk = stream.read(0) + self.assertEqual(chunk, b'') + self.assertEqual(stream.read(), b'1234567890') + def test_streaming_body_with_single_read(self): body = six.BytesIO(b'123456789') stream = response.StreamingBody(body, content_length=10) @@ -68,23 +87,116 @@ stream.close() self.assertTrue(body.closed) + def test_default_iter_behavior(self): + body = six.BytesIO(b'a' * 2048) + stream = response.StreamingBody(body, content_length=2048) + chunks = list(stream) + self.assertEqual(len(chunks), 2) + self.assertEqual(chunks, [b'a' * 1024, b'a' * 1024]) + + def test_streaming_body_is_an_iterator(self): + body = six.BytesIO(b'a' * 1024 + b'b' * 1024 + b'c' * 2) + stream = response.StreamingBody(body, content_length=2050) + self.assertEqual(b'a' * 1024, next(stream)) + self.assertEqual(b'b' * 1024, next(stream)) + self.assertEqual(b'c' * 2, next(stream)) + with self.assertRaises(StopIteration): + next(stream) + + def test_iter_chunks_single_byte(self): + body = six.BytesIO(b'abcde') + stream = response.StreamingBody(body, content_length=5) + chunks = list(stream.iter_chunks(chunk_size=1)) + self.assertEqual(chunks, [b'a', b'b', b'c', b'd', b'e']) + + def test_iter_chunks_with_leftover(self): + body = six.BytesIO(b'abcde') + stream = response.StreamingBody(body, content_length=5) + chunks = list(stream.iter_chunks(chunk_size=2)) + self.assertEqual(chunks, [b'ab', b'cd', b'e']) + + def test_iter_chunks_single_chunk(self): + body = six.BytesIO(b'abcde') + stream = response.StreamingBody(body, content_length=5) + chunks = list(stream.iter_chunks(chunk_size=1024)) + self.assertEqual(chunks, [b'abcde']) + + def test_streaming_line_iterator(self): + body = six.BytesIO(b'1234567890\n1234567890\n12345') + stream = response.StreamingBody(body, content_length=27) + self.assert_lines( + stream.iter_lines(), + [b'1234567890', b'1234567890', b'12345'], + ) + + def test_streaming_line_iterator_ends_newline(self): + body = six.BytesIO(b'1234567890\n1234567890\n12345\n') + stream = response.StreamingBody(body, content_length=28) + self.assert_lines( + stream.iter_lines(), + [b'1234567890', b'1234567890', b'12345'], + ) + + def test_streaming_line_iter_chunk_sizes(self): + for chunk_size in range(1, 30): + body = six.BytesIO(b'1234567890\n1234567890\n12345') + stream = response.StreamingBody(body, content_length=27) + self.assert_lines( + stream.iter_lines(chunk_size), + [b'1234567890', b'1234567890', b'12345'], + ) + + def test_catches_urllib3_read_timeout(self): + class TimeoutBody(object): + def read(*args, **kwargs): + raise URLLib3ReadTimeoutError(None, None, None) + + def geturl(*args, **kwargs): + return 'http://example.com' + + stream = response.StreamingBody(TimeoutBody(), content_length=None) + with self.assertRaises(ReadTimeoutError): + stream.read() + + def test_streaming_line_abstruse_newline_standard(self): + for chunk_size in range(1, 30): + body = six.BytesIO(b'1234567890\r\n1234567890\r\n12345\r\n') + stream = response.StreamingBody(body, content_length=31) + self.assert_lines( + stream.iter_lines(chunk_size), + [b'1234567890', b'1234567890', b'12345'], + ) + + def test_streaming_line_empty_body(self): + stream = response.StreamingBody( + six.BytesIO(b''), content_length=0, + ) + self.assert_lines(stream.iter_lines(), []) + + +class FakeRawResponse(six.BytesIO): + def stream(self, amt=1024, decode_content=None): + while True: + chunk = self.read(amt) + if not chunk: + break + yield chunk + class TestGetResponse(BaseResponseTest): maxDiff = None def test_get_response_streaming_ok(self): - http_response = Response() - http_response.headers = { + headers = { 'content-type': 'image/png', 'server': 'AmazonS3', 'AcceptRanges': 'bytes', 'transfer-encoding': 'chunked', 'ETag': '"00000000000000000000000000000000"', } - http_response.raw = six.BytesIO(b'\x89PNG\r\n\x1a\n\x00\x00') + raw = FakeRawResponse(b'\x89PNG\r\n\x1a\n\x00\x00') - http_response.status_code = 200 - http_response.reason = 'OK' + http_response = AWSResponse(None, 200, headers, raw) session = botocore.session.get_session() service_model = session.get_service_model('s3') @@ -96,17 +208,15 @@ '"00000000000000000000000000000000"') def test_get_response_streaming_ng(self): - http_response = Response() - http_response.headers = { + headers = { 'content-type': 'application/xml', 'date': 'Sat, 08 Mar 2014 12:05:44 GMT', 'server': 'AmazonS3', 'transfer-encoding': 'chunked', 'x-amz-id-2': 'AAAAAAAAAAAAAAAAAAA', 'x-amz-request-id': 'XXXXXXXXXXXXXXXX'} - http_response.raw = six.BytesIO(XMLBODY1) - http_response.status_code = 403 - http_response.reason = 'Forbidden' + raw = FakeRawResponse(XMLBODY1) + http_response = AWSResponse(None, 403, headers, raw) session = botocore.session.get_session() service_model = session.get_service_model('s3') @@ -123,18 +233,15 @@ ) def test_get_response_nonstreaming_ok(self): - http_response = Response() - http_response.headers = { + headers = { 'content-type': 'application/xml', 'date': 'Sun, 09 Mar 2014 02:55:43 GMT', 'server': 'AmazonS3', 'transfer-encoding': 'chunked', 'x-amz-id-2': 'AAAAAAAAAAAAAAAAAAA', 'x-amz-request-id': 'XXXXXXXXXXXXXXXX'} - http_response.raw = six.BytesIO(XMLBODY1) - http_response.status_code = 403 - http_response.reason = 'Forbidden' - http_response.request = Request() + raw = FakeRawResponse(XMLBODY1) + http_response = AWSResponse(None, 403, headers, raw) session = botocore.session.get_session() service_model = session.get_service_model('s3') @@ -155,18 +262,15 @@ }) def test_get_response_nonstreaming_ng(self): - http_response = Response() - http_response.headers = { + headers = { 'content-type': 'application/xml', 'date': 'Sat, 08 Mar 2014 12:05:44 GMT', 'server': 'AmazonS3', 'transfer-encoding': 'chunked', 'x-amz-id-2': 'AAAAAAAAAAAAAAAAAAA', 'x-amz-request-id': 'XXXXXXXXXXXXXXXX'} - http_response.raw = six.BytesIO(XMLBODY2) - http_response.status_code = 200 - http_response.reason = 'ok' - http_response.request = Request() + raw = FakeRawResponse(XMLBODY2) + http_response = AWSResponse(None, 200, headers, raw) session = botocore.session.get_session() service_model = session.get_service_model('s3') diff -Nru python-botocore-1.4.70/tests/unit/test_retryhandler.py python-botocore-1.16.19+repack/tests/unit/test_retryhandler.py --- python-botocore-1.4.70/tests/unit/test_retryhandler.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_retryhandler.py 2020-05-28 19:26:10.000000000 +0000 @@ -16,11 +16,11 @@ from tests import unittest import mock -from botocore.vendored.requests import ConnectionError, Timeout -from botocore.vendored.requests.packages.urllib3.exceptions import ClosedPoolError from botocore import retryhandler -from botocore.exceptions import ChecksumError +from botocore.exceptions import ( + ChecksumError, EndpointConnectionError, ReadTimeoutError, +) HTTP_500_RESPONSE = mock.Mock() @@ -202,12 +202,13 @@ def test_create_retry_handler_with_socket_errors(self): handler = retryhandler.create_retry_handler( self.retry_config, operation_name='OperationBar') - with self.assertRaises(ConnectionError): + exception = EndpointConnectionError(endpoint_url='') + with self.assertRaises(EndpointConnectionError): handler(response=None, attempts=10, - caught_exception=ConnectionError()) + caught_exception=exception) # No connection error raised because attempts < max_attempts. sleep_time = handler(response=None, attempts=1, - caught_exception=ConnectionError()) + caught_exception=exception) self.assertEqual(sleep_time, 1) # But any other exception should be raised even if # attempts < max_attempts. @@ -221,24 +222,9 @@ handler = retryhandler.create_retry_handler( self.retry_config, operation_name='OperationBar') sleep_time = handler(response=None, attempts=1, - caught_exception=Timeout()) + caught_exception=ReadTimeoutError(endpoint_url='')) self.assertEqual(sleep_time, 1) - def test_retry_pool_closed_errors(self): - # A ClosedPoolError is retried (this is a workaround for a urllib3 - # bug). Can be removed once we upgrade to requests 2.0.0. - handler = retryhandler.create_retry_handler( - self.retry_config, operation_name='OperationBar') - # 4th attempt is retried. - sleep_time = handler( - response=None, attempts=4, - caught_exception=ClosedPoolError('FakePool', 'Message')) - self.assertEqual(sleep_time, 8) - # But the 5th time propogates the error. - with self.assertRaises(ClosedPoolError): - handler(response=None, attempts=10, - caught_exception=ClosedPoolError('FakePool', 'Message')) - def test_create_retry_handler_with_no_operation(self): handler = retryhandler.create_retry_handler( self.retry_config, operation_name=None) diff -Nru python-botocore-1.4.70/tests/unit/test_s3_addressing.py python-botocore-1.16.19+repack/tests/unit/test_s3_addressing.py --- python-botocore-1.4.70/tests/unit/test_s3_addressing.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_s3_addressing.py 2020-05-28 19:26:10.000000000 +0000 @@ -15,12 +15,11 @@ import os -from tests import BaseSessionTest +from tests import BaseSessionTest, ClientHTTPStubber from mock import patch, Mock from botocore.compat import OrderedDict from botocore.handlers import set_list_objects_encoding_type_url -from botocore.exceptions import UnknownEndpointError class TestS3Addressing(BaseSessionTest): @@ -30,25 +29,18 @@ self.region_name = 'us-east-1' self.signature_version = 's3' - self.mock_response = Mock() - self.mock_response.content = '' - self.mock_response.headers = {} - self.mock_response.status_code = 200 self.session.unregister('before-parameter-build.s3.ListObjects', set_list_objects_encoding_type_url) - def get_prepared_request(self, operation, params, - force_hmacv1=False): + def get_prepared_request(self, operation, params, force_hmacv1=False): if force_hmacv1: self.session.register('choose-signer', self.enable_hmacv1) - with patch('botocore.endpoint.BotocoreHTTPSession') as \ - mock_http_session: - mock_send = mock_http_session.return_value.send - mock_send.return_value = self.mock_response - client = self.session.create_client('s3', self.region_name) + client = self.session.create_client('s3', self.region_name) + with ClientHTTPStubber(client) as http_stubber: + http_stubber.add_response() getattr(client, operation)(**params) # Return the request that was sent over the wire. - return mock_send.call_args[0][0] + return http_stubber.requests[0] def enable_hmacv1(self, **kwargs): return 's3' @@ -73,7 +65,7 @@ prepared_request = self.get_prepared_request('list_objects', params, force_hmacv1=True) self.assertEqual(prepared_request.url, - 'https://safename.s3.amazonaws.com/') + 'https://safename.s3.us-west-2.amazonaws.com/') def test_list_objects_unicode_query_string_eu_central_1(self): self.region_name = 'eu-central-1' @@ -82,7 +74,7 @@ prepared_request = self.get_prepared_request('list_objects', params) self.assertEqual( prepared_request.url, - ('https://s3.eu-central-1.amazonaws.com/safename' + ('https://safename.s3.eu-central-1.amazonaws.com/' '?marker=%C3%A4%C3%B6%C3%BC-01.txt') ) @@ -92,7 +84,7 @@ prepared_request = self.get_prepared_request('list_objects', params) # Note how we keep the region specific endpoint here. self.assertEqual(prepared_request.url, - 'https://s3-us-gov-west-1.amazonaws.com/safename') + 'https://safename.s3.us-gov-west-1.amazonaws.com/') def test_list_objects_in_fips(self): self.region_name = 'fips-us-gov-west-1' @@ -101,14 +93,14 @@ # Note how we keep the region specific endpoint here. self.assertEqual( prepared_request.url, - 'https://s3-fips-us-gov-west-1.amazonaws.com/safename') + 'https://safename.s3-fips-us-gov-west-1.amazonaws.com/') def test_list_objects_non_dns_name_non_classic(self): self.region_name = 'us-west-2' params = {'Bucket': 'un_safe_name'} prepared_request = self.get_prepared_request('list_objects', params) self.assertEqual(prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/un_safe_name') + 'https://s3.us-west-2.amazonaws.com/un_safe_name') def test_put_object_dns_name_non_classic(self): self.region_name = 'us-west-2' @@ -126,7 +118,7 @@ prepared_request = self.get_prepared_request('put_object', params) self.assertEqual( prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/my.valid.name/mykeyname') + 'https://s3.us-west-2.amazonaws.com/my.valid.name/mykeyname') def test_put_object_dns_name_classic(self): self.region_name = 'us-east-1' @@ -162,7 +154,7 @@ prepared_request = self.get_prepared_request('put_object', params) self.assertEqual( prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/a.valid.name/mykeyname') + 'https://s3.us-west-2.amazonaws.com/a.valid.name/mykeyname') def test_get_object_non_dns_name_non_classic(self): self.region_name = 'us-west-2' @@ -173,7 +165,7 @@ prepared_request = self.get_prepared_request('get_object', params) self.assertEqual( prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/AnInvalidName/mykeyname') + 'https://s3.us-west-2.amazonaws.com/AnInvalidName/mykeyname') def test_get_object_non_dns_name_classic(self): self.region_name = 'us-east-1' @@ -193,7 +185,7 @@ prepared_request = self.get_prepared_request('get_object', params) self.assertEqual( prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/192.168.5.4/mykeyname') + 'https://s3.us-west-2.amazonaws.com/192.168.5.4/mykeyname') def test_get_object_almost_an_ip_address_name_non_classic(self): self.region_name = 'us-west-2' @@ -203,7 +195,7 @@ prepared_request = self.get_prepared_request('get_object', params) self.assertEqual( prepared_request.url, - 'https://s3-us-west-2.amazonaws.com/192.168.5.256/mykeyname') + 'https://s3.us-west-2.amazonaws.com/192.168.5.256/mykeyname') def test_invalid_endpoint_raises_exception(self): with self.assertRaisesRegexp(ValueError, 'Invalid endpoint'): diff -Nru python-botocore-1.4.70/tests/unit/test_serialize.py python-botocore-1.16.19+repack/tests/unit/test_serialize.py --- python-botocore-1.4.70/tests/unit/test_serialize.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_serialize.py 2020-05-28 19:26:10.000000000 +0000 @@ -21,6 +21,7 @@ from botocore import serialize from botocore.compat import six from botocore.exceptions import ParamValidationError +from botocore.serialize import SERIALIZERS class BaseModelWithBlob(unittest.TestCase): diff -Nru python-botocore-1.4.70/tests/unit/test_session_legacy.py python-botocore-1.16.19+repack/tests/unit/test_session_legacy.py --- python-botocore-1.4.70/tests/unit/test_session_legacy.py 1970-01-01 00:00:00.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_session_legacy.py 2020-05-28 19:26:10.000000000 +0000 @@ -0,0 +1,791 @@ +#!/usr/bin/env +# Copyright (c) 2012-2013 Mitch Garnaat http://garnaat.org/ +# Copyright 2012-2014 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. +import botocore.config +from tests import unittest, create_session, temporary_file +import os +import logging +import tempfile +import shutil + +import mock + +import botocore.session +import botocore.exceptions +from botocore.model import ServiceModel +from botocore import client +from botocore.hooks import HierarchicalEmitter +from botocore.waiter import WaiterModel +from botocore.paginate import PaginatorModel +import botocore.loaders + + +# This is an old version of the session tests to ensure backwards compatibility +# there is a new unit/test_session.py set of tests for the new config interface +# which should be prefered. When backwards compatibility can be dropped then +# this test should be removed. +class BaseSessionTest(unittest.TestCase): + + def setUp(self): + self.env_vars = { + 'profile': (None, 'FOO_PROFILE', None, None), + 'region': ('foo_region', 'FOO_REGION', None, None), + 'data_path': ('data_path', 'FOO_DATA_PATH', None, None), + 'config_file': (None, 'FOO_CONFIG_FILE', None, None), + 'credentials_file': (None, None, '/tmp/nowhere', None), + 'ca_bundle': ('foo_ca_bundle', 'FOO_AWS_CA_BUNDLE', None, None), + 'api_versions': ('foo_api_versions', None, {}, None) + } + self.environ = {} + self.environ_patch = mock.patch('os.environ', self.environ) + self.environ_patch.start() + self.environ['FOO_PROFILE'] = 'foo' + self.environ['FOO_REGION'] = 'us-west-11' + data_path = os.path.join(os.path.dirname(__file__), 'data') + self.environ['FOO_DATA_PATH'] = data_path + config_path = os.path.join(os.path.dirname(__file__), 'cfg', + 'foo_config') + self.environ['FOO_CONFIG_FILE'] = config_path + self.session = create_session(session_vars=self.env_vars) + + def tearDown(self): + self.environ_patch.stop() + + +class SessionTest(BaseSessionTest): + + def close_log_file_handler(self, tempdir, filename): + logger = logging.getLogger('botocore') + handlers = logger.handlers + for handler in handlers[:]: + if hasattr(handler, 'stream') and handler.stream.name == filename: + handler.stream.close() + logger.removeHandler(handler) + os.remove(filename) + # logging has an atexit handler that will try to flush/close + # the file. By setting this flag to False, we'll prevent it + # from raising an exception, which is fine because we're + # handling the closing of the file ourself. + logging.raiseExceptions = False + shutil.rmtree(tempdir) + + def test_supports_multiple_env_vars_for_single_logical_name(self): + env_vars = { + 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], + None, None), + } + session = create_session(session_vars=env_vars) + self.environ['BAR_DEFAULT_PROFILE'] = 'first' + self.environ['BAR_PROFILE'] = 'second' + self.assertEqual(session.get_config_variable('profile'), 'first') + + def test_profile_when_set_explicitly(self): + session = create_session(session_vars=self.env_vars, profile='asdf') + self.assertEqual(session.profile, 'asdf') + + def test_profile_when_pulled_from_env(self): + self.environ['FOO_PROFILE'] = 'bar' + # Even though we didn't explicitly pass in a profile, the + # profile property will still look this up for us. + self.assertEqual(self.session.profile, 'bar') + + def test_multiple_env_vars_uses_second_var(self): + env_vars = { + 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], + None, None), + } + session = create_session(session_vars=env_vars) + self.environ.pop('BAR_DEFAULT_PROFILE', None) + self.environ['BAR_PROFILE'] = 'second' + self.assertEqual(session.get_config_variable('profile'), 'second') + + def test_profile(self): + self.assertEqual(self.session.get_config_variable('profile'), 'foo') + self.assertEqual(self.session.get_config_variable('region'), + 'us-west-11') + self.session.get_config_variable('profile') == 'default' + saved_region = self.environ['FOO_REGION'] + del self.environ['FOO_REGION'] + saved_profile = self.environ['FOO_PROFILE'] + del self.environ['FOO_PROFILE'] + session = create_session(session_vars=self.env_vars) + self.assertEqual(session.get_config_variable('profile'), None) + self.assertEqual(session.get_config_variable('region'), 'us-west-1') + self.environ['FOO_REGION'] = saved_region + self.environ['FOO_PROFILE'] = saved_profile + + def test_profile_does_not_exist_raises_exception(self): + # Given we have no profile: + self.environ['FOO_PROFILE'] = 'profile_that_does_not_exist' + session = create_session(session_vars=self.env_vars) + with self.assertRaises(botocore.exceptions.ProfileNotFound): + session.get_scoped_config() + + def test_variable_does_not_exist(self): + session = create_session(session_vars=self.env_vars) + self.assertIsNone(session.get_config_variable('foo/bar')) + + def test_get_aws_services_in_alphabetical_order(self): + session = create_session(session_vars=self.env_vars) + services = session.get_available_services() + self.assertEqual(sorted(services), services) + + def test_profile_does_not_exist_with_default_profile(self): + session = create_session(session_vars=self.env_vars) + config = session.get_scoped_config() + # We should have loaded this properly, and we'll check + # that foo_access_key which is defined in the config + # file should be present in the loaded config dict. + self.assertIn('aws_access_key_id', config) + + def test_type_conversions_occur_when_specified(self): + # Specify that we can retrieve the var from the + # FOO_TIMEOUT env var, with a conversion function + # of int(). + self.env_vars['metadata_service_timeout'] = ( + None, 'FOO_TIMEOUT', None, int) + # Environment variables are always strings. + self.environ['FOO_TIMEOUT'] = '10' + session = create_session(session_vars=self.env_vars) + # But we should type convert this to a string. + self.assertEqual( + session.get_config_variable('metadata_service_timeout'), 10) + + def test_default_profile_specified_raises_exception(self): + # If you explicity set the default profile and you don't + # have that in your config file, an exception is raised. + config_path = os.path.join(os.path.dirname(__file__), 'cfg', + 'boto_config_empty') + self.environ['FOO_CONFIG_FILE'] = config_path + self.environ['FOO_PROFILE'] = 'default' + session = create_session(session_vars=self.env_vars) + # In this case, even though we specified default, because + # the boto_config_empty config file does not have a default + # profile, we should be raising an exception. + with self.assertRaises(botocore.exceptions.ProfileNotFound): + session.get_scoped_config() + + def test_file_logger(self): + tempdir = tempfile.mkdtemp() + temp_file = os.path.join(tempdir, 'file_logger') + self.session.set_file_logger(logging.DEBUG, temp_file) + self.addCleanup(self.close_log_file_handler, tempdir, temp_file) + self.session.get_credentials() + self.assertTrue(os.path.isfile(temp_file)) + with open(temp_file) as logfile: + s = logfile.read() + self.assertTrue('Looking for credentials' in s) + + def test_full_config_property(self): + full_config = self.session.full_config + self.assertTrue('foo' in full_config['profiles']) + self.assertTrue('default' in full_config['profiles']) + + def test_full_config_merges_creds_file_data(self): + with temporary_file('w') as f: + self.session.set_config_variable('credentials_file', f.name) + f.write('[newprofile]\n') + f.write('aws_access_key_id=FROM_CREDS_FILE_1\n') + f.write('aws_secret_access_key=FROM_CREDS_FILE_2\n') + f.flush() + + full_config = self.session.full_config + self.assertEqual(full_config['profiles']['newprofile'], + {'aws_access_key_id': 'FROM_CREDS_FILE_1', + 'aws_secret_access_key': 'FROM_CREDS_FILE_2'}) + + def test_path_not_in_available_profiles(self): + with temporary_file('w') as f: + self.session.set_config_variable('credentials_file', f.name) + f.write('[newprofile]\n') + f.write('aws_access_key_id=FROM_CREDS_FILE_1\n') + f.write('aws_secret_access_key=FROM_CREDS_FILE_2\n') + f.flush() + + profiles = self.session.available_profiles + self.assertEqual( + set(profiles), + set(['foo', 'default', 'newprofile'])) + + def test_emit_delegates_to_emitter(self): + calls = [] + handler = lambda **kwargs: calls.append(kwargs) + self.session.register('foo', handler) + self.session.emit('foo') + self.assertEqual(len(calls), 1) + self.assertEqual(calls[0]['event_name'], 'foo') + + def test_emitter_can_be_passed_in(self): + events = HierarchicalEmitter() + session = create_session(session_vars=self.env_vars, + event_hooks=events) + calls = [] + handler = lambda **kwargs: calls.append(kwargs) + events.register('foo', handler) + + session.emit('foo') + self.assertEqual(len(calls), 1) + + def test_emit_first_non_none(self): + session = create_session(session_vars=self.env_vars) + session.register('foo', lambda **kwargs: None) + session.register('foo', lambda **kwargs: 'first') + session.register('foo', lambda **kwargs: 'second') + response = session.emit_first_non_none_response('foo') + self.assertEqual(response, 'first') + + @mock.patch('logging.getLogger') + @mock.patch('logging.FileHandler') + def test_logger_name_can_be_passed_in(self, file_handler, get_logger): + self.session.set_debug_logger('botocore.hooks') + get_logger.assert_called_with('botocore.hooks') + + self.session.set_file_logger('DEBUG', 'debuglog', 'botocore.service') + get_logger.assert_called_with('botocore.service') + file_handler.assert_called_with('debuglog') + + @mock.patch('logging.getLogger') + @mock.patch('logging.StreamHandler') + @mock.patch('logging.Formatter') + def test_general_purpose_logger(self, formatter, file_handler, get_logger): + self.session.set_stream_logger('foo.bar', 'ERROR', format_string='foo') + get_logger.assert_called_with('foo.bar') + get_logger.return_value.setLevel.assert_called_with(logging.DEBUG) + formatter.assert_called_with('foo') + + def test_register_with_unique_id(self): + calls = [] + handler = lambda **kwargs: calls.append(kwargs) + self.session.register('foo', handler, unique_id='bar') + self.session.emit('foo') + self.assertEqual(calls[0]['event_name'], 'foo') + calls = [] + self.session.unregister('foo', unique_id='bar') + self.session.emit('foo') + self.assertEqual(calls, []) + + +class TestBuiltinEventHandlers(BaseSessionTest): + def setUp(self): + super(TestBuiltinEventHandlers, self).setUp() + self.builtin_handlers = [ + ('foo', self.on_foo), + ] + self.foo_called = False + self.handler_patch = mock.patch('botocore.handlers.BUILTIN_HANDLERS', + self.builtin_handlers) + self.handler_patch.start() + + def on_foo(self, **kwargs): + self.foo_called = True + + def tearDown(self): + super(TestBuiltinEventHandlers, self).setUp() + self.handler_patch.stop() + + def test_registered_builtin_handlers(self): + session = botocore.session.Session(self.env_vars, None, + include_builtin_handlers=True) + session.emit('foo') + self.assertTrue(self.foo_called) + + +class TestSessionConfigurationVars(BaseSessionTest): + def test_per_session_config_vars(self): + self.session.session_var_map['foobar'] = (None, 'FOOBAR', + 'default', None) + # Default value. + self.assertEqual(self.session.get_config_variable('foobar'), 'default') + # Retrieve from os environment variable. + self.environ['FOOBAR'] = 'fromenv' + self.assertEqual(self.session.get_config_variable('foobar'), 'fromenv') + + # Explicit override. + self.session.set_config_variable('foobar', 'session-instance') + self.assertEqual(self.session.get_config_variable('foobar'), + 'session-instance') + + # Can disable this check via the ``methods`` arg. + del self.environ['FOOBAR'] + self.assertEqual(self.session.get_config_variable( + 'foobar', methods=('env', 'config')), 'default') + + def test_default_value_can_be_overriden(self): + self.session.session_var_map['foobar'] = (None, 'FOOBAR', 'default', + None) + self.assertEqual(self.session.get_config_variable('foobar'), 'default') + + def test_can_get_session_vars_info_from_default_session(self): + # This test is to ensure that you can still reach the session_vars_map + # information from the session and that it has the expected value. + self.session = create_session() + self.assertEqual(self.session.session_var_map['region'], + ('region', 'AWS_DEFAULT_REGION', None, None)) + self.assertEqual( + self.session.session_var_map['profile'], + (None, ['AWS_DEFAULT_PROFILE', 'AWS_PROFILE'], None, None)) + self.assertEqual( + self.session.session_var_map['data_path'], + ('data_path', 'AWS_DATA_PATH', None, None)) + self.assertEqual( + self.session.session_var_map['config_file'], + (None, 'AWS_CONFIG_FILE', '~/.aws/config', None)) + self.assertEqual( + self.session.session_var_map['ca_bundle'], + ('ca_bundle', 'AWS_CA_BUNDLE', None, None)) + self.assertEqual( + self.session.session_var_map['api_versions'], + ('api_versions', None, {}, None)) + self.assertEqual( + self.session.session_var_map['credentials_file'], + (None, 'AWS_SHARED_CREDENTIALS_FILE', '~/.aws/credentials', None)) + self.assertEqual( + self.session.session_var_map['metadata_service_timeout'], + ('metadata_service_timeout', + 'AWS_METADATA_SERVICE_TIMEOUT', 1, int)) + self.assertEqual( + self.session.session_var_map['metadata_service_num_attempts'], + ('metadata_service_num_attempts', + 'AWS_METADATA_SERVICE_NUM_ATTEMPTS', 1, int)) + self.assertEqual( + self.session.session_var_map['parameter_validation'], + ('parameter_validation', None, True, None)) + + +class TestSessionPartitionFiles(BaseSessionTest): + def test_lists_partitions_on_disk(self): + mock_resolver = mock.Mock() + mock_resolver.get_available_partitions.return_value = ['foo'] + self.session._register_internal_component( + 'endpoint_resolver', mock_resolver) + self.assertEqual(['foo'], self.session.get_available_partitions()) + + def test_proxies_list_endpoints_to_resolver(self): + resolver = mock.Mock() + resolver.get_available_endpoints.return_value = ['a', 'b'] + self.session._register_internal_component( + 'endpoint_resolver', resolver) + self.session.get_available_regions('foo', 'bar', True) + + def test_provides_empty_list_for_unknown_service_regions(self): + regions = self.session.get_available_regions('__foo__') + self.assertEqual([], regions) + + +class TestSessionUserAgent(BaseSessionTest): + def test_can_change_user_agent_name(self): + self.session.user_agent_name = 'something-else' + self.assertTrue(self.session.user_agent().startswith('something-else')) + + def test_can_change_user_agent_version(self): + self.session.user_agent_version = '24.0' + self.assertTrue(self.session.user_agent().startswith('Botocore/24.0')) + + def test_can_append_to_user_agent(self): + self.session.user_agent_extra = 'custom-thing/other' + self.assertTrue( + self.session.user_agent().endswith('custom-thing/other')) + + def test_execution_env_not_set(self): + self.assertFalse(self.session.user_agent().endswith('FooEnv')) + + def test_execution_env_set(self): + self.environ['AWS_EXECUTION_ENV'] = 'FooEnv' + self.assertTrue(self.session.user_agent().endswith(' exec-env/FooEnv')) + + def test_agent_extra_and_exec_env(self): + self.session.user_agent_extra = 'custom-thing/other' + self.environ['AWS_EXECUTION_ENV'] = 'FooEnv' + user_agent = self.session.user_agent() + self.assertTrue(user_agent.endswith('custom-thing/other')) + self.assertIn('exec-env/FooEnv', user_agent) + + +class TestConfigLoaderObject(BaseSessionTest): + def test_config_loader_delegation(self): + session = create_session(session_vars=self.env_vars, + profile='credfile-profile') + with temporary_file('w') as f: + f.write('[credfile-profile]\naws_access_key_id=a\n') + f.write('aws_secret_access_key=b\n') + f.flush() + session.set_config_variable('credentials_file', f.name) + # Now trying to retrieve the scoped config should pull in + # values from the shared credentials file. + self.assertEqual(session.get_scoped_config(), + {'aws_access_key_id': 'a', + 'aws_secret_access_key': 'b'}) + + +class TestGetServiceModel(BaseSessionTest): + def test_get_service_model(self): + loader = mock.Mock() + loader.load_service_model.return_value = { + 'metadata': {'serviceId': 'foo'} + } + self.session.register_component('data_loader', loader) + model = self.session.get_service_model('made_up') + self.assertIsInstance(model, ServiceModel) + self.assertEqual(model.service_name, 'made_up') + + +class TestGetPaginatorModel(BaseSessionTest): + def test_get_paginator_model(self): + loader = mock.Mock() + loader.load_service_model.return_value = {"pagination": {}} + self.session.register_component('data_loader', loader) + + model = self.session.get_paginator_model('foo') + + # Verify we get a PaginatorModel back + self.assertIsInstance(model, PaginatorModel) + # Verify we called the loader correctly. + loader.load_service_model.assert_called_with( + 'foo', 'paginators-1', None) + + +class TestGetWaiterModel(BaseSessionTest): + def test_get_waiter_model(self): + loader = mock.Mock() + loader.load_service_model.return_value = {"version": 2, "waiters": {}} + self.session.register_component('data_loader', loader) + + model = self.session.get_waiter_model('foo') + + # Verify we (1) get the expected return data, + self.assertIsInstance(model, WaiterModel) + self.assertEqual(model.waiter_names, []) + # and (2) call the loader correctly. + loader.load_service_model.assert_called_with( + 'foo', 'waiters-2', None) + + +class TestCreateClient(BaseSessionTest): + def test_can_create_client(self): + sts_client = self.session.create_client('sts', 'us-west-2') + self.assertIsInstance(sts_client, client.BaseClient) + + def test_credential_provider_not_called_when_creds_provided(self): + cred_provider = mock.Mock() + self.session.register_component( + 'credential_provider', cred_provider) + self.session.create_client( + 'sts', 'us-west-2', + aws_access_key_id='foo', + aws_secret_access_key='bar', + aws_session_token='baz') + self.assertFalse(cred_provider.load_credentials.called, + "Credential provider was called even though " + "explicit credentials were provided to the " + "create_client call.") + + def test_cred_provider_called_when_partial_creds_provided(self): + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + self.session.create_client( + 'sts', 'us-west-2', + aws_access_key_id='foo', + aws_secret_access_key=None + ) + with self.assertRaises(botocore.exceptions.PartialCredentialsError): + self.session.create_client( + 'sts', 'us-west-2', + aws_access_key_id=None, + aws_secret_access_key='foo', + ) + + @mock.patch('botocore.client.ClientCreator') + def test_config_passed_to_client_creator(self, client_creator): + # Make sure there is no default set + self.assertEqual(self.session.get_default_client_config(), None) + + # The config passed to the client should be the one that is used + # in creating the client. + config = botocore.config.Config(region_name='us-west-2') + self.session.create_client('sts', config=config) + client_creator.return_value.create_client.assert_called_with( + service_name=mock.ANY, region_name=mock.ANY, is_secure=mock.ANY, + endpoint_url=mock.ANY, verify=mock.ANY, credentials=mock.ANY, + scoped_config=mock.ANY, client_config=config, + api_version=mock.ANY) + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_with_default_client_config(self, client_creator): + config = botocore.config.Config() + self.session.set_default_client_config(config) + self.session.create_client('sts') + + client_creator.return_value.create_client.assert_called_with( + service_name=mock.ANY, region_name=mock.ANY, is_secure=mock.ANY, + endpoint_url=mock.ANY, verify=mock.ANY, credentials=mock.ANY, + scoped_config=mock.ANY, client_config=config, + api_version=mock.ANY) + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_with_merging_client_configs(self, client_creator): + config = botocore.config.Config(region_name='us-west-2') + other_config = botocore.config.Config(region_name='us-east-1') + self.session.set_default_client_config(config) + self.session.create_client('sts', config=other_config) + + # Grab the client config used in creating the client + used_client_config = ( + client_creator.return_value.create_client.call_args[1][ + 'client_config']) + # Check that the client configs were merged + self.assertEqual(used_client_config.region_name, 'us-east-1') + # Make sure that the client config used is not the default client + # config or the one passed in. It should be a new config. + self.assertIsNot(used_client_config, config) + self.assertIsNot(used_client_config, other_config) + + def test_create_client_with_region(self): + ec2_client = self.session.create_client( + 'ec2', 'us-west-2') + self.assertEqual(ec2_client.meta.region_name, 'us-west-2') + + def test_create_client_with_region_and_client_config(self): + config = botocore.config.Config() + # Use a client config with no region configured. + ec2_client = self.session.create_client( + 'ec2', region_name='us-west-2', config=config) + self.assertEqual(ec2_client.meta.region_name, 'us-west-2') + + # If the region name is changed, it should not change the + # region of the client + config.region_name = 'us-east-1' + self.assertEqual(ec2_client.meta.region_name, 'us-west-2') + + # Now make a new client with the updated client config. + ec2_client = self.session.create_client( + 'ec2', config=config) + self.assertEqual(ec2_client.meta.region_name, 'us-east-1') + + def test_create_client_no_region_and_no_client_config(self): + ec2_client = self.session.create_client('ec2') + self.assertEqual(ec2_client.meta.region_name, 'us-west-11') + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_with_ca_bundle_from_config(self, client_creator): + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + self.session = create_session(session_vars=self.env_vars) + f.write('[default]\n') + f.write('foo_ca_bundle=config-certs.pem\n') + f.flush() + + self.session.create_client('ec2', 'us-west-2') + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + self.assertEqual(call_kwargs['verify'], 'config-certs.pem') + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_with_ca_bundle_from_env_var(self, client_creator): + self.environ['FOO_AWS_CA_BUNDLE'] = 'env-certs.pem' + self.session.create_client('ec2', 'us-west-2') + call_kwargs = client_creator.return_value.create_client.call_args[1] + self.assertEqual(call_kwargs['verify'], 'env-certs.pem') + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_with_verify_param(self, client_creator): + self.session.create_client( + 'ec2', 'us-west-2', verify='verify-certs.pem') + call_kwargs = client_creator.return_value.create_client.call_args[1] + self.assertEqual(call_kwargs['verify'], 'verify-certs.pem') + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_verify_param_overrides_all(self, client_creator): + with temporary_file('w') as f: + # Set the ca cert using the config file + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + self.session = create_session(session_vars=self.env_vars) + f.write('[default]\n') + f.write('foo_ca_bundle=config-certs.pem\n') + f.flush() + + # Set the ca cert with an environment variable + self.environ['FOO_AWS_CA_BUNDLE'] = 'env-certs.pem' + + # Set the ca cert using the verify parameter + self.session.create_client( + 'ec2', 'us-west-2', verify='verify-certs.pem') + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + # The verify parameter should override all the other + # configurations + self.assertEqual(call_kwargs['verify'], 'verify-certs.pem') + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_use_no_api_version_by_default(self, client_creator): + self.session.create_client('myservice', 'us-west-2') + call_kwargs = client_creator.return_value.create_client.call_args[1] + self.assertEqual(call_kwargs['api_version'], None) + + @mock.patch('botocore.client.ClientCreator') + def test_create_client_uses_api_version_from_config(self, client_creator): + config_api_version = '2012-01-01' + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + self.session = create_session(session_vars=self.env_vars) + f.write('[default]\n') + f.write('foo_api_versions =\n' + ' myservice = %s\n' % config_api_version) + f.flush() + + self.session.create_client('myservice', 'us-west-2') + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + self.assertEqual(call_kwargs['api_version'], config_api_version) + + @mock.patch('botocore.client.ClientCreator') + def test_can_specify_multiple_versions_from_config(self, client_creator): + config_api_version = '2012-01-01' + second_config_api_version = '2013-01-01' + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + self.session = create_session(session_vars=self.env_vars) + f.write('[default]\n') + f.write('foo_api_versions =\n' + ' myservice = %s\n' + ' myservice2 = %s\n' % ( + config_api_version, second_config_api_version) + ) + f.flush() + + self.session.create_client('myservice', 'us-west-2') + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + self.assertEqual(call_kwargs['api_version'], config_api_version) + + self.session.create_client('myservice2', 'us-west-2') + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + self.assertEqual( + call_kwargs['api_version'], second_config_api_version) + + @mock.patch('botocore.client.ClientCreator') + def test_param_api_version_overrides_config_value(self, client_creator): + config_api_version = '2012-01-01' + override_api_version = '2014-01-01' + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + self.session = create_session(session_vars=self.env_vars) + f.write('[default]\n') + f.write('foo_api_versions =\n' + ' myservice = %s\n' % config_api_version) + f.flush() + + self.session.create_client( + 'myservice', 'us-west-2', api_version=override_api_version) + call_kwargs = client_creator.return_value.\ + create_client.call_args[1] + self.assertEqual(call_kwargs['api_version'], override_api_version) + + +class TestSessionComponent(BaseSessionTest): + def test_internal_component(self): + component = object() + self.session._register_internal_component('internal', component) + self.assertIs( + self.session._get_internal_component('internal'), component) + with self.assertRaises(ValueError): + self.session.get_component('internal') + + def test_internal_endpoint_resolver_is_same_as_deprecated_public(self): + endpoint_resolver = self.session._get_internal_component( + 'endpoint_resolver') + self.assertIs( + self.session.get_component('endpoint_resolver'), endpoint_resolver) + + def test_internal_exceptions_factory_is_same_as_deprecated_public(self): + exceptions_factory = self.session._get_internal_component( + 'exceptions_factory') + self.assertIs( + self.session.get_component('exceptions_factory'), + exceptions_factory + ) + + +class TestComponentLocator(unittest.TestCase): + def setUp(self): + self.components = botocore.session.ComponentLocator() + + def test_unknown_component_raises_exception(self): + with self.assertRaises(ValueError): + self.components.get_component('unknown-component') + + def test_can_register_and_retrieve_component(self): + component = object() + self.components.register_component('foo', component) + self.assertIs(self.components.get_component('foo'), component) + + def test_last_registration_wins(self): + first = object() + second = object() + self.components.register_component('foo', first) + self.components.register_component('foo', second) + self.assertIs(self.components.get_component('foo'), second) + + def test_can_lazy_register_a_component(self): + component = object() + lazy = lambda: component + self.components.lazy_register_component('foo', lazy) + self.assertIs(self.components.get_component('foo'), component) + + def test_latest_registration_wins_even_if_lazy(self): + first = object() + second = object() + lazy_second = lambda: second + self.components.register_component('foo', first) + self.components.lazy_register_component('foo', lazy_second) + self.assertIs(self.components.get_component('foo'), second) + + def test_latest_registration_overrides_lazy(self): + first = object() + second = object() + lazy_first = lambda: first + self.components.lazy_register_component('foo', lazy_first) + self.components.register_component('foo', second) + self.assertIs(self.components.get_component('foo'), second) + + def test_lazy_registration_factory_does_not_remove_from_list_on_error(self): + class ArbitraryError(Exception): + pass + + def bad_factory(): + raise ArbitraryError("Factory raises an exception.") + + self.components.lazy_register_component('foo', bad_factory) + + with self.assertRaises(ArbitraryError): + self.components.get_component('foo') + + # Trying again should raise the same exception, + # not an ValueError("Unknown component") + with self.assertRaises(ArbitraryError): + self.components.get_component('foo') + + +class TestDefaultClientConfig(BaseSessionTest): + def test_new_session_has_no_default_client_config(self): + self.assertEqual(self.session.get_default_client_config(), None) + + def test_set_and_get_client_config(self): + client_config = botocore.config.Config() + self.session.set_default_client_config(client_config) + self.assertIs(self.session.get_default_client_config(), client_config) diff -Nru python-botocore-1.4.70/tests/unit/test_session.py python-botocore-1.16.19+repack/tests/unit/test_session.py --- python-botocore-1.4.70/tests/unit/test_session.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_session.py 2020-05-28 19:26:10.000000000 +0000 @@ -23,26 +23,19 @@ import botocore.session import botocore.exceptions +from botocore import UNSIGNED from botocore.model import ServiceModel from botocore import client from botocore.hooks import HierarchicalEmitter from botocore.waiter import WaiterModel from botocore.paginate import PaginatorModel +from botocore.configprovider import ConfigChainFactory import botocore.loaders class BaseSessionTest(unittest.TestCase): def setUp(self): - self.env_vars = { - 'profile': (None, 'FOO_PROFILE', None, None), - 'region': ('foo_region', 'FOO_REGION', None, None), - 'data_path': ('data_path', 'FOO_DATA_PATH', None, None), - 'config_file': (None, 'FOO_CONFIG_FILE', None, None), - 'credentials_file': (None, None, '/tmp/nowhere', None), - 'ca_bundle': ('foo_ca_bundle', 'FOO_AWS_CA_BUNDLE', None, None), - 'api_versions': ('foo_api_versions', None, {}, None) - } self.environ = {} self.environ_patch = mock.patch('os.environ', self.environ) self.environ_patch.start() @@ -53,7 +46,58 @@ config_path = os.path.join(os.path.dirname(__file__), 'cfg', 'foo_config') self.environ['FOO_CONFIG_FILE'] = config_path - self.session = create_session(session_vars=self.env_vars) + self.session = create_session() + config_chain_builder = ConfigChainFactory( + session=self.session, + environ=self.environ, + ) + config_store = self.session.get_component('config_store') + config_updates = { + 'profile': config_chain_builder.create_config_chain( + instance_name='profile', + env_var_names='FOO_PROFILE', + ), + 'region': config_chain_builder.create_config_chain( + instance_name='region', + env_var_names='FOO_REGION', + config_property_names='foo_region', + ), + 'data_path': config_chain_builder.create_config_chain( + instance_name='data_path', + env_var_names='FOO_DATA_PATH', + config_property_names='data_path', + ), + 'config_file': config_chain_builder.create_config_chain( + instance_name='config_file', + env_var_names='FOO_CONFIG_FILE', + ), + 'credentials_file': config_chain_builder.create_config_chain( + instance_name='credentials_file', + default='/tmp/nowhere', + ), + 'ca_bundle': config_chain_builder.create_config_chain( + instance_name='ca_bundle', + env_var_names='FOO_AWS_CA_BUNDLE', + config_property_names='foo_ca_bundle', + ), + 'api_versions': config_chain_builder.create_config_chain( + instance_name='api_versions', + config_property_names='foo_api_versions', + default={}, + ), + } + for name, provider in config_updates.items(): + config_store.set_config_provider(name, provider) + + def update_session_config_mapping(self, logical_name, **kwargs): + config_chain_builder = ConfigChainFactory( + session=self.session, + environ=self.environ, + ) + self.session.get_component('config_store').set_config_provider( + logical_name, + config_chain_builder.create_config_chain(**kwargs), + ) def tearDown(self): self.environ_patch.stop() @@ -77,17 +121,15 @@ shutil.rmtree(tempdir) def test_supports_multiple_env_vars_for_single_logical_name(self): - env_vars = { - 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], - None, None), - } - session = create_session(session_vars=env_vars) + self.update_session_config_mapping( + 'profile', env_var_names=['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'] + ) self.environ['BAR_DEFAULT_PROFILE'] = 'first' self.environ['BAR_PROFILE'] = 'second' - self.assertEqual(session.get_config_variable('profile'), 'first') + self.assertEqual(self.session.get_config_variable('profile'), 'first') def test_profile_when_set_explicitly(self): - session = create_session(session_vars=self.env_vars, profile='asdf') + session = create_session(profile='asdf') self.assertEqual(session.profile, 'asdf') def test_profile_when_pulled_from_env(self): @@ -97,49 +139,28 @@ self.assertEqual(self.session.profile, 'bar') def test_multiple_env_vars_uses_second_var(self): - env_vars = { - 'profile': (None, ['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'], - None, None), - } - session = create_session(session_vars=env_vars) + self.update_session_config_mapping( + 'profile', env_var_names=['BAR_DEFAULT_PROFILE', 'BAR_PROFILE'] + ) self.environ.pop('BAR_DEFAULT_PROFILE', None) self.environ['BAR_PROFILE'] = 'second' - self.assertEqual(session.get_config_variable('profile'), 'second') - - def test_profile(self): - self.assertEqual(self.session.get_config_variable('profile'), 'foo') - self.assertEqual(self.session.get_config_variable('region'), - 'us-west-11') - self.session.get_config_variable('profile') == 'default' - saved_region = self.environ['FOO_REGION'] - del self.environ['FOO_REGION'] - saved_profile = self.environ['FOO_PROFILE'] - del self.environ['FOO_PROFILE'] - session = create_session(session_vars=self.env_vars) - self.assertEqual(session.get_config_variable('profile'), None) - self.assertEqual(session.get_config_variable('region'), 'us-west-1') - self.environ['FOO_REGION'] = saved_region - self.environ['FOO_PROFILE'] = saved_profile + self.assertEqual(self.session.get_config_variable('profile'), 'second') def test_profile_does_not_exist_raises_exception(self): # Given we have no profile: self.environ['FOO_PROFILE'] = 'profile_that_does_not_exist' - session = create_session(session_vars=self.env_vars) with self.assertRaises(botocore.exceptions.ProfileNotFound): - session.get_scoped_config() + self.session.get_scoped_config() def test_variable_does_not_exist(self): - session = create_session(session_vars=self.env_vars) - self.assertIsNone(session.get_config_variable('foo/bar')) + self.assertIsNone(self.session.get_config_variable('foo/bar')) def test_get_aws_services_in_alphabetical_order(self): - session = create_session(session_vars=self.env_vars) - services = session.get_available_services() + services = self.session.get_available_services() self.assertEqual(sorted(services), services) def test_profile_does_not_exist_with_default_profile(self): - session = create_session(session_vars=self.env_vars) - config = session.get_scoped_config() + config = self.session.get_scoped_config() # We should have loaded this properly, and we'll check # that foo_access_key which is defined in the config # file should be present in the loaded config dict. @@ -149,14 +170,16 @@ # Specify that we can retrieve the var from the # FOO_TIMEOUT env var, with a conversion function # of int(). - self.env_vars['metadata_service_timeout'] = ( - None, 'FOO_TIMEOUT', None, int) + self.update_session_config_mapping( + 'metadata_service_timeout', + env_var_names='FOO_TIMEOUT', + conversion_func=int, + ) # Environment variables are always strings. self.environ['FOO_TIMEOUT'] = '10' - session = create_session(session_vars=self.env_vars) # But we should type convert this to a string. self.assertEqual( - session.get_config_variable('metadata_service_timeout'), 10) + self.session.get_config_variable('metadata_service_timeout'), 10) def test_default_profile_specified_raises_exception(self): # If you explicity set the default profile and you don't @@ -165,12 +188,11 @@ 'boto_config_empty') self.environ['FOO_CONFIG_FILE'] = config_path self.environ['FOO_PROFILE'] = 'default' - session = create_session(session_vars=self.env_vars) # In this case, even though we specified default, because # the boto_config_empty config file does not have a default # profile, we should be raising an exception. with self.assertRaises(botocore.exceptions.ProfileNotFound): - session.get_scoped_config() + self.session.get_scoped_config() def test_file_logger(self): tempdir = tempfile.mkdtemp() @@ -224,8 +246,7 @@ def test_emitter_can_be_passed_in(self): events = HierarchicalEmitter() - session = create_session(session_vars=self.env_vars, - event_hooks=events) + session = create_session(event_hooks=events) calls = [] handler = lambda **kwargs: calls.append(kwargs) events.register('foo', handler) @@ -234,11 +255,10 @@ self.assertEqual(len(calls), 1) def test_emit_first_non_none(self): - session = create_session(session_vars=self.env_vars) - session.register('foo', lambda **kwargs: None) - session.register('foo', lambda **kwargs: 'first') - session.register('foo', lambda **kwargs: 'second') - response = session.emit_first_non_none_response('foo') + self.session.register('foo', lambda **kwargs: None) + self.session.register('foo', lambda **kwargs: 'first') + self.session.register('foo', lambda **kwargs: 'second') + response = self.session.emit_first_non_none_response('foo') self.assertEqual(response, 'first') @mock.patch('logging.getLogger') @@ -291,16 +311,19 @@ self.handler_patch.stop() def test_registered_builtin_handlers(self): - session = botocore.session.Session(self.env_vars, None, - include_builtin_handlers=True) + session = create_session(include_builtin_handlers=True) session.emit('foo') self.assertTrue(self.foo_called) class TestSessionConfigurationVars(BaseSessionTest): def test_per_session_config_vars(self): - self.session.session_var_map['foobar'] = (None, 'FOOBAR', - 'default', None) + self.update_session_config_mapping( + 'foobar', + instance_name='foobar', + env_var_names='FOOBAR', + default='default', + ) # Default value. self.assertEqual(self.session.get_config_variable('foobar'), 'default') # Retrieve from os environment variable. @@ -312,28 +335,44 @@ self.assertEqual(self.session.get_config_variable('foobar'), 'session-instance') - # Can disable this check via the ``methods`` arg. + # Back to default value. del self.environ['FOOBAR'] - self.assertEqual(self.session.get_config_variable( - 'foobar', methods=('env', 'config')), 'default') + self.session.set_config_variable('foobar', None) + self.assertEqual(self.session.get_config_variable('foobar'), 'default') def test_default_value_can_be_overriden(self): - self.session.session_var_map['foobar'] = (None, 'FOOBAR', 'default', - None) + self.update_session_config_mapping( + 'foobar', + instance_name='foobar', + env_var_names='FOOBAR', + default='default', + ) self.assertEqual(self.session.get_config_variable('foobar'), 'default') + def test_can_get_with_methods(self): + self.environ['AWS_DEFAULT_REGION'] = 'env-var' + self.session.set_config_variable('region', 'instance-var') + value = self.session.get_config_variable('region') + self.assertEqual(value, 'instance-var') + + value = self.session.get_config_variable( + 'region', methods=('env',)) + self.assertEqual(value, 'env-var') + class TestSessionPartitionFiles(BaseSessionTest): def test_lists_partitions_on_disk(self): mock_resolver = mock.Mock() mock_resolver.get_available_partitions.return_value = ['foo'] - self.session.register_component('endpoint_resolver', mock_resolver) - self.assertEquals(['foo'], self.session.get_available_partitions()) + self.session._register_internal_component( + 'endpoint_resolver', mock_resolver) + self.assertEqual(['foo'], self.session.get_available_partitions()) def test_proxies_list_endpoints_to_resolver(self): resolver = mock.Mock() resolver.get_available_endpoints.return_value = ['a', 'b'] - self.session.register_component('endpoint_resolver', resolver) + self.session._register_internal_component( + 'endpoint_resolver', resolver) self.session.get_available_regions('foo', 'bar', True) def test_provides_empty_list_for_unknown_service_regions(self): @@ -355,11 +394,24 @@ self.assertTrue( self.session.user_agent().endswith('custom-thing/other')) + def test_execution_env_not_set(self): + self.assertFalse(self.session.user_agent().endswith('FooEnv')) + + def test_execution_env_set(self): + self.environ['AWS_EXECUTION_ENV'] = 'FooEnv' + self.assertTrue(self.session.user_agent().endswith(' exec-env/FooEnv')) + + def test_agent_extra_and_exec_env(self): + self.session.user_agent_extra = 'custom-thing/other' + self.environ['AWS_EXECUTION_ENV'] = 'FooEnv' + user_agent = self.session.user_agent() + self.assertTrue(user_agent.endswith('custom-thing/other')) + self.assertIn('exec-env/FooEnv', user_agent) + class TestConfigLoaderObject(BaseSessionTest): def test_config_loader_delegation(self): - session = create_session(session_vars=self.env_vars, - profile='credfile-profile') + session = create_session(profile='credfile-profile') with temporary_file('w') as f: f.write('[credfile-profile]\naws_access_key_id=a\n') f.write('aws_secret_access_key=b\n') @@ -375,7 +427,9 @@ class TestGetServiceModel(BaseSessionTest): def test_get_service_model(self): loader = mock.Mock() - loader.load_service_model.return_value = {} + loader.load_service_model.return_value = { + 'metadata': {'serviceId': 'foo'} + } self.session.register_component('data_loader', loader) model = self.session.get_service_model('made_up') self.assertIsInstance(model, ServiceModel) @@ -446,6 +500,14 @@ aws_secret_access_key='foo', ) + def test_cred_provider_not_called_on_unsigned_client(self): + cred_provider = mock.Mock() + self.session.register_component( + 'credential_provider', cred_provider) + config = botocore.config.Config(signature_version=UNSIGNED) + self.session.create_client('sts', 'us-west-2', config=config) + self.assertFalse(cred_provider.load_credentials.called) + @mock.patch('botocore.client.ClientCreator') def test_config_passed_to_client_creator(self, client_creator): # Make sure there is no default set @@ -522,7 +584,6 @@ with temporary_file('w') as f: del self.environ['FOO_PROFILE'] self.environ['FOO_CONFIG_FILE'] = f.name - self.session = create_session(session_vars=self.env_vars) f.write('[default]\n') f.write('foo_ca_bundle=config-certs.pem\n') f.flush() @@ -552,7 +613,6 @@ # Set the ca cert using the config file del self.environ['FOO_PROFILE'] self.environ['FOO_CONFIG_FILE'] = f.name - self.session = create_session(session_vars=self.env_vars) f.write('[default]\n') f.write('foo_ca_bundle=config-certs.pem\n') f.flush() @@ -581,7 +641,6 @@ with temporary_file('w') as f: del self.environ['FOO_PROFILE'] self.environ['FOO_CONFIG_FILE'] = f.name - self.session = create_session(session_vars=self.env_vars) f.write('[default]\n') f.write('foo_api_versions =\n' ' myservice = %s\n' % config_api_version) @@ -599,7 +658,6 @@ with temporary_file('w') as f: del self.environ['FOO_PROFILE'] self.environ['FOO_CONFIG_FILE'] = f.name - self.session = create_session(session_vars=self.env_vars) f.write('[default]\n') f.write('foo_api_versions =\n' ' myservice = %s\n' @@ -626,7 +684,6 @@ with temporary_file('w') as f: del self.environ['FOO_PROFILE'] self.environ['FOO_CONFIG_FILE'] = f.name - self.session = create_session(session_vars=self.env_vars) f.write('[default]\n') f.write('foo_api_versions =\n' ' myservice = %s\n' % config_api_version) @@ -639,6 +696,99 @@ self.assertEqual(call_kwargs['api_version'], override_api_version) +class TestSessionComponent(BaseSessionTest): + def test_internal_component(self): + component = object() + self.session._register_internal_component('internal', component) + self.assertIs( + self.session._get_internal_component('internal'), component) + with self.assertRaises(ValueError): + self.session.get_component('internal') + + def test_internal_endpoint_resolver_is_same_as_deprecated_public(self): + endpoint_resolver = self.session._get_internal_component( + 'endpoint_resolver') + self.assertIs( + self.session.get_component('endpoint_resolver'), endpoint_resolver) + + def test_internal_exceptions_factory_is_same_as_deprecated_public(self): + exceptions_factory = self.session._get_internal_component( + 'exceptions_factory') + self.assertIs( + self.session.get_component('exceptions_factory'), + exceptions_factory + ) + + +class TestClientMonitoring(BaseSessionTest): + def assert_created_client_is_monitored(self, session): + with mock.patch('botocore.monitoring.Monitor', + spec=True) as mock_monitor: + client = session.create_client('ec2', 'us-west-2') + mock_monitor.return_value.register.assert_called_with( + client.meta.events) + + def assert_monitoring_host_and_port(self, session, host, port): + with mock.patch('botocore.monitoring.SocketPublisher', + spec=True) as mock_publisher: + client = session.create_client('ec2', 'us-west-2') + self.assertEqual(mock_publisher.call_count, 1) + _, args, kwargs = mock_publisher.mock_calls[0] + self.assertEqual(kwargs.get('host'), host) + self.assertEqual(kwargs.get('port'), port) + + def assert_created_client_is_not_monitored(self, session): + with mock.patch('botocore.session.monitoring.Monitor', + spec=True) as mock_monitor: + session.create_client('ec2', 'us-west-2') + mock_monitor.return_value.register.assert_not_called() + + def test_with_csm_enabled_from_config(self): + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + f.write('[default]\n') + f.write('csm_enabled=true\n') + f.flush() + self.assert_created_client_is_monitored(self.session) + + def test_with_csm_enabled_from_env(self): + self.environ['AWS_CSM_ENABLED'] = 'true' + self.assert_created_client_is_monitored(self.session) + + def test_with_csm_host(self): + custom_host = '10.13.37.1' + self.environ['AWS_CSM_ENABLED'] = 'true' + self.environ['AWS_CSM_HOST'] = custom_host + self.assert_monitoring_host_and_port(self.session, custom_host, 31000) + + def test_with_csm_port(self): + custom_port = '1234' + self.environ['AWS_CSM_ENABLED'] = 'true' + self.environ['AWS_CSM_PORT'] = custom_port + self.assert_monitoring_host_and_port( + self.session, + '127.0.0.1', + int(custom_port), + ) + + def test_with_csm_disabled_from_config(self): + with temporary_file('w') as f: + del self.environ['FOO_PROFILE'] + self.environ['FOO_CONFIG_FILE'] = f.name + f.write('[default]\n') + f.write('csm_enabled=false\n') + f.flush() + self.assert_created_client_is_not_monitored(self.session) + + def test_with_csm_disabled_from_env(self): + self.environ['AWS_CSM_ENABLED'] = 'false' + self.assert_created_client_is_not_monitored(self.session) + + def test_csm_not_configured(self): + self.assert_created_client_is_not_monitored(self.session) + + class TestComponentLocator(unittest.TestCase): def setUp(self): self.components = botocore.session.ComponentLocator() diff -Nru python-botocore-1.4.70/tests/unit/test_signers.py python-botocore-1.16.19+repack/tests/unit/test_signers.py --- python-botocore-1.4.70/tests/unit/test_signers.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_signers.py 2020-05-28 19:26:10.000000000 +0000 @@ -10,24 +10,29 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - import mock import datetime import json +from dateutil.tz import tzutc + import botocore +import botocore.session import botocore.auth -from botocore.compat import six, urlparse, parse_qs - +import botocore.awsrequest +from botocore.config import Config from botocore.credentials import Credentials from botocore.credentials import ReadOnlyCredentials +from botocore.hooks import HierarchicalEmitter +from botocore.model import ServiceId from botocore.exceptions import NoRegionError, UnknownSignatureVersionError from botocore.exceptions import UnknownClientMethodError, ParamValidationError from botocore.exceptions import UnsupportedSignatureVersionError from botocore.signers import RequestSigner, S3PostPresigner, CloudFrontSigner -from botocore.config import Config +from botocore.signers import generate_db_auth_token from tests import unittest +from tests import assert_url_equal class BaseSignerTest(unittest.TestCase): @@ -36,9 +41,10 @@ self.emitter = mock.Mock() self.emitter.emit_until_response.return_value = (None, None) self.signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 'v4', self.credentials, self.emitter) self.fixed_credentials = self.credentials.get_frozen_credentials() + self.request = botocore.awsrequest.AWSRequest() class TestSigner(BaseSignerTest): @@ -54,11 +60,12 @@ def test_region_required_for_sigv4(self): self.signer = RequestSigner( - 'service_name', None, 'signing_name', 'v4', self.credentials, - self.emitter) + ServiceId('service_name'), None, 'signing_name', 'v4', + self.credentials, self.emitter + ) with self.assertRaises(NoRegionError): - self.signer.sign('operation_name', mock.Mock()) + self.signer.sign('operation_name', self.request) def test_get_auth(self): auth_cls = mock.Mock() @@ -91,53 +98,47 @@ signature_version='bad') def test_emits_choose_signer(self): - request = mock.Mock() - with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, {'v4': mock.Mock()}): - self.signer.sign('operation_name', request) + self.signer.sign('operation_name', self.request) self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.operation_name', signing_name='signing_name', region_name='region_name', - signature_version='v4') + signature_version='v4', context=mock.ANY) def test_choose_signer_override(self): - request = mock.Mock() auth = mock.Mock() auth.REQUIRES_REGION = False self.emitter.emit_until_response.return_value = (None, 'custom') with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, {'custom': auth}): - self.signer.sign('operation_name', request) + self.signer.sign('operation_name', self.request) auth.assert_called_with(credentials=self.fixed_credentials) - auth.return_value.add_auth.assert_called_with(request) + auth.return_value.add_auth.assert_called_with(self.request) def test_emits_before_sign(self): - request = mock.Mock() - with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, {'v4': mock.Mock()}): - self.signer.sign('operation_name', request) + self.signer.sign('operation_name', self.request) self.emitter.emit.assert_called_with( 'before-sign.service_name.operation_name', - request=mock.ANY, signing_name='signing_name', + request=self.request, signing_name='signing_name', region_name='region_name', signature_version='v4', - request_signer=self.signer) + request_signer=self.signer, operation_name='operation_name') def test_disable_signing(self): # Returning botocore.UNSIGNED from choose-signer disables signing! - request = mock.Mock() auth = mock.Mock() self.emitter.emit_until_response.return_value = (None, botocore.UNSIGNED) with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, {'v4': auth}): - self.signer.sign('operation_name', request) + self.signer.sign('operation_name', self.request) auth.assert_not_called() @@ -158,7 +159,19 @@ self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.operation_name', signing_name='signing_name', region_name='region_name', - signature_version='v4-query') + signature_version='v4-query', context=mock.ANY) + + def test_choose_signer_passes_context(self): + self.request.context = {'foo': 'bar'} + + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, + {'v4': mock.Mock()}): + self.signer.sign('operation_name', self.request) + + self.emitter.emit_until_response.assert_called_with( + 'choose-signer.service_name.operation_name', + signing_name='signing_name', region_name='region_name', + signature_version='v4', context={'foo': 'bar'}) def test_generate_url_choose_signer_override(self): request_dict = { @@ -272,7 +285,7 @@ 'context': {} } self.signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 'foo', self.credentials, self.emitter) with self.assertRaises(UnsupportedSignatureVersionError): self.signer.generate_presigned_url( @@ -285,7 +298,7 @@ self.credentials = FakeCredentials('a', 'b', 'c') self.signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 'v4', self.credentials, self.emitter) auth_cls = mock.Mock() @@ -306,7 +319,7 @@ # the error (which they already do). self.credentials = None self.signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 'v4', self.credentials, self.emitter) auth_cls = mock.Mock() with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, @@ -323,14 +336,13 @@ auth = mock.Mock() post_auth = mock.Mock() query_auth = mock.Mock() - request = mock.Mock() auth_types = { 'v4-presign-post': post_auth, 'v4-query': query_auth, 'v4': auth } with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='standard') self.assertFalse(post_auth.called) self.assertFalse(query_auth.called) @@ -344,14 +356,13 @@ auth = mock.Mock() post_auth = mock.Mock() query_auth = mock.Mock() - request = mock.Mock() auth_types = { 'v4-presign-post': post_auth, 'v4-query': query_auth, 'v4': auth } with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='presign-url') self.assertFalse(post_auth.called) self.assertFalse(auth.called) @@ -365,14 +376,13 @@ auth = mock.Mock() post_auth = mock.Mock() query_auth = mock.Mock() - request = mock.Mock() auth_types = { 'v4-presign-post': post_auth, 'v4-query': query_auth, 'v4': auth } with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='presign-post') self.assertFalse(auth.called) self.assertFalse(query_auth.called) @@ -383,27 +393,54 @@ ) def test_sign_with_region_name(self): - request = mock.Mock() auth = mock.Mock() auth_types = { 'v4': auth } with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): - self.signer.sign('operation_name', request, region_name='foo') + self.signer.sign('operation_name', self.request, region_name='foo') auth.assert_called_with( credentials=ReadOnlyCredentials('key', 'secret', None), service_name='signing_name', region_name='foo' ) + def test_sign_override_region_from_context(self): + auth = mock.Mock() + auth_types = { + 'v4': auth + } + self.request.context = {'signing': {'region': 'my-override-region'}} + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): + self.signer.sign('operation_name', self.request) + auth.assert_called_with( + credentials=ReadOnlyCredentials('key', 'secret', None), + service_name='signing_name', + region_name='my-override-region' + ) + + def test_sign_with_region_name_overrides_context(self): + auth = mock.Mock() + auth_types = { + 'v4': auth + } + self.request.context = {'signing': {'region': 'context-override'}} + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): + self.signer.sign('operation_name', self.request, + region_name='param-override') + auth.assert_called_with( + credentials=ReadOnlyCredentials('key', 'secret', None), + service_name='signing_name', + region_name='param-override' + ) + def test_sign_with_expires_in(self): - request = mock.Mock() auth = mock.Mock() auth_types = { 'v4': auth } with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): - self.signer.sign('operation_name', request, expires_in=2) + self.signer.sign('operation_name', self.request, expires_in=2) auth.assert_called_with( credentials=ReadOnlyCredentials('key', 'secret', None), service_name='signing_name', @@ -411,8 +448,44 @@ expires=2 ) + def test_sign_with_custom_signing_name(self): + auth = mock.Mock() + auth_types = { + 'v4': auth + } + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): + self.signer.sign('operation_name', self.request, + signing_name='foo') + auth.assert_called_with( + credentials=ReadOnlyCredentials('key', 'secret', None), + service_name='foo', + region_name='region_name' + ) + + def test_presign_with_custom_signing_name(self): + auth = mock.Mock() + auth.REQUIRES_REGION = True + + request_dict = { + 'headers': {}, + 'url': 'https://foo.com', + 'body': b'', + 'url_path': '/', + 'method': 'GET', + 'context': {} + } + with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, + {'v4-query': auth}): + presigned_url = self.signer.generate_presigned_url( + request_dict, operation_name='operation_name', + signing_name='foo') + auth.assert_called_with( + credentials=self.fixed_credentials, + region_name='region_name', + expires=3600, service_name='foo') + self.assertEqual(presigned_url, 'https://foo.com') + def test_unknown_signer_raises_unknown_on_standard(self): - request = mock.Mock() auth = mock.Mock() auth_types = { 'v4': auth @@ -420,11 +493,10 @@ self.emitter.emit_until_response.return_value = (None, 'custom') with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): with self.assertRaises(UnknownSignatureVersionError): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='standard') def test_unknown_signer_raises_unsupported_when_not_standard(self): - request = mock.Mock() auth = mock.Mock() auth_types = { 'v4': auth @@ -432,16 +504,17 @@ self.emitter.emit_until_response.return_value = (None, 'custom') with mock.patch.dict(botocore.auth.AUTH_TYPE_MAPS, auth_types): with self.assertRaises(UnsupportedSignatureVersionError): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='presign-url') with self.assertRaises(UnsupportedSignatureVersionError): - self.signer.sign('operation_name', request, + self.signer.sign('operation_name', self.request, signing_type='presign-post') -class TestCloudfrontSigner(unittest.TestCase): +class TestCloudfrontSigner(BaseSignerTest): def setUp(self): + super(TestCloudfrontSigner, self).setUp() self.signer = CloudFrontSigner("MY_KEY_ID", lambda message: b'signed') # It helps but the long string diff will still be slightly different on # Python 2.6/2.7/3.x. We won't soly rely on that anyway, so it's fine. @@ -472,20 +545,6 @@ } self.assertEqual(json.loads(policy), expected) - def _urlparse(self, url): - if isinstance(url, six.binary_type): - # Not really necessary, but it helps to reduce noise on Python 2.x - url = url.decode('utf8') - return dict(urlparse(url)._asdict()) # Needs an unordered dict here - - def assertEqualUrl(self, url1, url2): - # We compare long urls by their dictionary parts - parts1 = self._urlparse(url1) - parts2 = self._urlparse(url2) - self.assertEqual( - parse_qs(parts1.pop('query')), parse_qs(parts2.pop('query'))) - self.assertEqual(parts1, parts2) - def test_generate_presign_url_with_expire_time(self): signed_url = self.signer.generate_presigned_url( 'http://test.com/foo.txt', @@ -493,7 +552,7 @@ expected = ( 'http://test.com/foo.txt?Expires=1451606400&Signature=c2lnbmVk' '&Key-Pair-Id=MY_KEY_ID') - self.assertEqualUrl(signed_url, expected) + assert_url_equal(signed_url, expected) def test_generate_presign_url_with_custom_policy(self): policy = self.signer.build_policy( @@ -510,14 +569,14 @@ '6IjEyLjM0LjU2Ljc4LzkifSwiRGF0ZUdyZWF0ZXJUaGFuIjp7IkFX' 'UzpFcG9jaFRpbWUiOjE0NDg5MjgwMDB9fX1dfQ__' '&Signature=c2lnbmVk&Key-Pair-Id=MY_KEY_ID') - self.assertEqualUrl(signed_url, expected) + assert_url_equal(signed_url, expected) class TestS3PostPresigner(BaseSignerTest): def setUp(self): super(TestS3PostPresigner, self).setUp() self.request_signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 's3v4', self.credentials, self.emitter) self.signer = S3PostPresigner(self.request_signer) self.request_dict = { @@ -570,7 +629,7 @@ self.emitter.emit_until_response.assert_called_with( 'choose-signer.service_name.PutObject', signing_name='signing_name', region_name='region_name', - signature_version='s3v4-presign-post') + signature_version='s3v4-presign-post', context=mock.ANY) def test_generate_presigned_post_choose_signer_override(self): auth = mock.Mock() @@ -656,7 +715,7 @@ 'context': {} } self.request_signer = RequestSigner( - 'service_name', 'region_name', 'signing_name', + ServiceId('service_name'), 'region_name', 'signing_name', 'foo', self.credentials, self.emitter) self.signer = S3PostPresigner(self.request_signer) with self.assertRaises(UnsupportedSignatureVersionError): @@ -688,7 +747,11 @@ 'query_string': {}, 'url_path': u'/mybucket/mykey', 'method': u'GET', - 'context': {}} + # mock.ANY is used because client parameter related events + # inject values into the context. So using the context's exact + # value for these tests will be a maintenance burden if + # anymore customizations are added that inject into the context. + 'context': mock.ANY} self.generate_url_mock.assert_called_with( request_dict=ref_request_dict, expires_in=3600, operation_name='GetObject') @@ -709,7 +772,7 @@ 'query_string': {u'response-content-disposition': disposition}, 'url_path': u'/mybucket/mykey', 'method': u'GET', - 'context': {}} + 'context': mock.ANY} self.generate_url_mock.assert_called_with( request_dict=ref_request_dict, expires_in=3600, operation_name='GetObject') @@ -733,7 +796,7 @@ 'query_string': {}, 'url_path': u'/mybucket/mykey', 'method': u'GET', - 'context': {}} + 'context': mock.ANY} self.generate_url_mock.assert_called_with( request_dict=ref_request_dict, expires_in=20, operation_name='GetObject') @@ -749,11 +812,44 @@ 'query_string': {}, 'url_path': u'/mybucket/mykey', 'method': u'PUT', - 'context': {}} + 'context': mock.ANY} self.generate_url_mock.assert_called_with( request_dict=ref_request_dict, expires_in=3600, operation_name='GetObject') + def test_generate_presigned_url_emits_param_events(self): + emitter = mock.Mock(HierarchicalEmitter) + emitter.emit.return_value = [] + self.client.meta.events = emitter + self.client.generate_presigned_url( + 'get_object', Params={'Bucket': self.bucket, 'Key': self.key}) + events_emitted = [ + emit_call[0][0] for emit_call in emitter.emit.call_args_list + ] + self.assertEqual( + events_emitted, + [ + 'provide-client-params.s3.GetObject', + 'before-parameter-build.s3.GetObject' + ] + ) + + def test_generate_presign_url_emits_is_presign_in_context(self): + emitter = mock.Mock(HierarchicalEmitter) + emitter.emit.return_value = [] + self.client.meta.events = emitter + self.client.generate_presigned_url( + 'get_object', Params={'Bucket': self.bucket, 'Key': self.key}) + kwargs_emitted = [ + emit_call[1] for emit_call in emitter.emit.call_args_list + ] + for kwargs in kwargs_emitted: + self.assertTrue( + kwargs.get('context', {}).get('is_presign_request'), + 'The context did not have is_presign_request set to True for ' + 'the following kwargs emitted: %s' % kwargs + ) + class TestGeneratePresignedPost(unittest.TestCase): def setUp(self): @@ -844,3 +940,52 @@ self.client = self.session.create_client('ec2', 'us-west-2') with self.assertRaises(AttributeError): self.client.generate_presigned_post() + + +class TestGenerateDBAuthToken(BaseSignerTest): + maxDiff = None + + def setUp(self): + self.session = botocore.session.get_session() + self.client = self.session.create_client( + 'rds', region_name='us-east-1', aws_access_key_id='akid', + aws_secret_access_key='skid', config=Config(signature_version='v4') + ) + + def test_generate_db_auth_token(self): + hostname = 'prod-instance.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'someusername' + clock = datetime.datetime(2016, 11, 7, 17, 39, 33, tzinfo=tzutc()) + + with mock.patch('datetime.datetime') as dt: + dt.utcnow.return_value = clock + result = generate_db_auth_token( + self.client, hostname, port, username) + + expected_result = ( + 'prod-instance.us-east-1.rds.amazonaws.com:3306/?Action=connect' + '&DBUser=someusername&X-Amz-Algorithm=AWS4-HMAC-SHA256' + '&X-Amz-Date=20161107T173933Z&X-Amz-SignedHeaders=host' + '&X-Amz-Expires=900&X-Amz-Credential=akid%2F20161107%2F' + 'us-east-1%2Frds-db%2Faws4_request&X-Amz-Signature' + '=d1138cdbc0ca63eec012ec0fc6c2267e03642168f5884a7795320d4c18374c61' + ) + + # A scheme needs to be appended to the beginning or urlsplit may fail + # on certain systems. + assert_url_equal( + 'https://' + result, 'https://' + expected_result) + + def test_custom_region(self): + hostname = 'host.us-east-1.rds.amazonaws.com' + port = 3306 + username = 'mySQLUser' + region = 'us-west-2' + result = generate_db_auth_token( + self.client, hostname, port, username, Region=region) + + self.assertIn(region, result) + # The hostname won't be changed even if a different region is specified + self.assertIn(hostname, result) + diff -Nru python-botocore-1.4.70/tests/unit/test_stub.py python-botocore-1.16.19+repack/tests/unit/test_stub.py --- python-botocore-1.4.70/tests/unit/test_stub.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_stub.py 2020-05-28 19:26:10.000000000 +0000 @@ -15,7 +15,7 @@ import mock from botocore.stub import Stubber -from botocore.exceptions import ParamValidationError, StubResponseError +from botocore.exceptions import ParamValidationError, StubResponseError, UnStubbedResponseError from botocore.model import ServiceModel from botocore import hooks @@ -159,7 +159,7 @@ self.assertEqual(response[1]['Error']['Message'], service_message) self.assertEqual(response[1]['Error']['Code'], error_code) - def test_get_client_error_with_extra_keys(self): + def test_get_client_error_with_extra_error_meta(self): error_code = "foo" error_message = "bar" error_meta = { @@ -175,9 +175,26 @@ self.assertIn('Endpoint', error) self.assertEqual(error['Endpoint'], "https://foo.bar.baz") + def test_get_client_error_with_extra_response_meta(self): + error_code = "foo" + error_message = "bar" + stub_response_meta = { + "RequestId": "79104EXAMPLEB723", + } + self.stubber.add_client_error( + 'foo', error_code, error_message, + http_status_code=301, + response_meta=stub_response_meta) + with self.stubber: + response = self.emit_get_response_event() + actual_response_meta = response[1]['ResponseMetadata'] + self.assertIn('RequestId', actual_response_meta) + self.assertEqual(actual_response_meta['RequestId'], "79104EXAMPLEB723") + + def test_get_response_errors_with_no_stubs(self): self.stubber.activate() - with self.assertRaises(StubResponseError): + with self.assertRaises(UnStubbedResponseError): self.emit_get_response_event() def test_assert_no_responses_remaining(self): diff -Nru python-botocore-1.4.70/tests/unit/test_translate.py python-botocore-1.16.19+repack/tests/unit/test_translate.py --- python-botocore-1.4.70/tests/unit/test_translate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_translate.py 2020-05-28 19:26:10.000000000 +0000 @@ -75,3 +75,43 @@ # And we should resolve references. self.assertEqual(operation_config['policies']['other'], {"from": {"definition": "file"}}) + + def test_service_specific_defaults_no_mutate_default_retry(self): + retry = translate.build_retry_config('sts', self.retry['retry'], + self.retry['definitions']) + # sts has a specific policy + self.assertEqual( + retry['__default__'], { + "max_attempts": 5, + "delay": "service_specific_delay", + "policies": { + "global_one": "global", + "override_me": "service", + "service_one": "service", + } + } + ) + + # The general defaults for the upstream model should not have been + # mutated from building the retry config + self.assertEqual( + self.retry['retry']['__default__'], + { + "max_attempts": 5, + "delay": "global_delay", + "policies": { + "global_one": "global", + "override_me": "global", + } + } + ) + + def test_client_override_max_attempts(self): + retry = translate.build_retry_config( + 'sts', self.retry['retry'], self.retry['definitions'], + client_retry_config={'max_attempts': 9} + ) + self.assertEqual(retry['__default__']['max_attempts'], 10) + # But it should not mutate the original retry model + self.assertEqual( + self.retry['retry']['__default__']['max_attempts'], 5) diff -Nru python-botocore-1.4.70/tests/unit/test_utils.py python-botocore-1.16.19+repack/tests/unit/test_utils.py --- python-botocore-1.4.70/tests/unit/test_utils.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_utils.py 2020-05-28 19:26:10.000000000 +0000 @@ -10,22 +10,31 @@ # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. - from tests import unittest +from tests import RawResponse from dateutil.tz import tzutc, tzoffset import datetime -import six - +import copy import mock +import botocore from botocore import xform_name from botocore.compat import OrderedDict, json +from botocore.compat import six from botocore.awsrequest import AWSRequest +from botocore.awsrequest import AWSResponse from botocore.exceptions import InvalidExpressionError, ConfigNotFound -from botocore.exceptions import ClientError +from botocore.exceptions import ClientError, ConnectionClosedError from botocore.exceptions import InvalidDNSNameError, MetadataRetrievalError +from botocore.exceptions import ReadTimeoutError +from botocore.exceptions import ConnectTimeoutError +from botocore.exceptions import UnsupportedS3ArnError +from botocore.exceptions import UnsupportedS3AccesspointConfigurationError from botocore.model import ServiceModel -from botocore.vendored import requests +from botocore.model import OperationModel +from botocore.regions import EndpointResolver +from botocore.utils import ensure_boolean +from botocore.utils import is_json_value_header from botocore.utils import remove_dot_segments from botocore.utils import normalize_url_path from botocore.utils import validate_jmespath_for_set @@ -44,16 +53,85 @@ from botocore.utils import switch_to_virtual_host_style from botocore.utils import instance_cache from botocore.utils import merge_dicts +from botocore.utils import lowercase_dict from botocore.utils import get_service_module_name from botocore.utils import percent_encode_sequence +from botocore.utils import percent_encode from botocore.utils import switch_host_s3_accelerate +from botocore.utils import deep_merge from botocore.utils import S3RegionRedirector +from botocore.utils import InvalidArnException +from botocore.utils import ArnParser +from botocore.utils import S3ArnParamHandler +from botocore.utils import S3EndpointSetter from botocore.utils import ContainerMetadataFetcher +from botocore.utils import InstanceMetadataFetcher +from botocore.utils import IMDSFetcher +from botocore.utils import BadIMDSRequestError from botocore.model import DenormalizedStructureBuilder from botocore.model import ShapeResolver from botocore.config import Config +class TestEnsureBoolean(unittest.TestCase): + def test_boolean_true(self): + self.assertEqual(ensure_boolean(True), True) + + def test_boolean_false(self): + self.assertEqual(ensure_boolean(False), False) + + def test_string_true(self): + self.assertEqual(ensure_boolean('True'), True) + + def test_string_false(self): + self.assertEqual(ensure_boolean('False'), False) + + def test_string_lowercase_true(self): + self.assertEqual(ensure_boolean('true'), True) + + +class TestIsJSONValueHeader(unittest.TestCase): + def test_no_serialization_section(self): + shape = mock.Mock() + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'location': 'header' + } + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_header_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'jsonvalue': True + } + shape.type_name = 'string' + self.assertFalse(is_json_value_header(shape)) + + def test_non_string_jsonvalue_shape(self): + shape = mock.Mock() + shape.serialization = { + 'location': 'header', + 'jsonvalue': True + } + shape.type_name = 'integer' + self.assertFalse(is_json_value_header(shape)) + + def test_json_value_header(self): + shape = mock.Mock() + shape.serialization = { + 'jsonvalue': True, + 'location': 'header' + } + shape.type_name = 'string' + self.assertTrue(is_json_value_header(shape)) + + + class TestURINormalization(unittest.TestCase): def test_remove_dot_segments(self): self.assertEqual(remove_dot_segments('../foo'), 'foo') @@ -124,6 +202,18 @@ def test_special_case_ends_with_s(self): self.assertEqual(xform_name('GatewayARNs', '-'), 'gateway-arns') + def test_partial_rename(self): + transformed = xform_name('IPV6', '-') + self.assertEqual(transformed, 'ipv6') + transformed = xform_name('IPV6', '_') + self.assertEqual(transformed, 'ipv6') + + def test_s3_partial_rename(self): + transformed = xform_name('s3Resources', '-') + self.assertEqual(transformed, 's3-resources') + transformed = xform_name('s3Resources', '_') + self.assertEqual(transformed, 's3_resources') + class TestValidateJMESPathForSet(unittest.TestCase): def setUp(self): @@ -248,10 +338,32 @@ parse_timestamp('Wed, 02 Oct 2002 13:00:00 GMT'), datetime.datetime(2002, 10, 2, 13, 0, tzinfo=tzutc())) + def test_parse_gmt_in_uk_time(self): + # In the UK the time switches from GMT to BST and back as part of + # their daylight savings time. time.tzname will therefore report + # both time zones. dateutil sees that the time zone is a local time + # zone and so parses it as local time, but it ends up being BST + # instead of GMT. To remedy this issue we can provide a time zone + # context which will enforce GMT == UTC. + with mock.patch('time.tzname', ('GMT', 'BST')): + self.assertEqual( + parse_timestamp('Wed, 02 Oct 2002 13:00:00 GMT'), + datetime.datetime(2002, 10, 2, 13, 0, tzinfo=tzutc())) + def test_parse_invalid_timestamp(self): with self.assertRaises(ValueError): parse_timestamp('invalid date') + def test_parse_timestamp_fails_with_bad_tzinfo(self): + mock_tzinfo = mock.Mock() + mock_tzinfo.__name__ = 'tzinfo' + mock_tzinfo.side_effect = OSError() + mock_get_tzinfo_options = mock.MagicMock(return_value=(mock_tzinfo,)) + + with mock.patch('botocore.utils.get_tzinfo_options', mock_get_tzinfo_options): + with self.assertRaises(RuntimeError): + parse_timestamp(0) + class TestDatetime2Timestamp(unittest.TestCase): def test_datetime2timestamp_naive(self): @@ -351,6 +463,17 @@ } ) + def test_generate_string_enum(self): + enum_values = ['A', 'B', 'C'] + model = { + 'A': {'type': 'string', 'enum': enum_values} + } + shape = DenormalizedStructureBuilder().with_members( + model).build_model() + actual = self.arg_generator.generate_skeleton(shape) + + self.assertIn(actual['A'], enum_values) + def test_generate_scalars(self): self.assert_skeleton_from_model_is( model={ @@ -358,12 +481,14 @@ 'B': {'type': 'integer'}, 'C': {'type': 'float'}, 'D': {'type': 'boolean'}, + 'E': {'type': 'timestamp'} }, generated_skeleton={ 'A': '', 'B': 0, 'C': 0.0, 'D': True, + 'E': datetime.datetime(1970, 1, 1, 0, 0, 0) } ) @@ -384,6 +509,33 @@ } ) + def test_will_use_member_names_for_string_values_of_list(self): + self.arg_generator = ArgumentGenerator(use_member_names=True) + # We're not using assert_skeleton_from_model_is + # because we can't really control the name of strings shapes + # being used in the DenormalizedStructureBuilder. We can only + # control the name of structures and list shapes. + shape_map = ShapeResolver({ + 'InputShape': { + 'type': 'structure', + 'members': { + 'StringList': {'shape': 'StringList'}, + } + }, + 'StringList': { + 'type': 'list', + 'member': {'shape': 'StringType'}, + }, + 'StringType': { + 'type': 'string', + } + }) + shape = shape_map.get_shape_by_name('InputShape') + actual = self.arg_generator.generate_skeleton(shape) + + expected = {'StringList': ['StringType']} + self.assertEqual(actual, expected) + def test_generate_nested_structure(self): self.assert_skeleton_from_model_is( model={ @@ -572,13 +724,13 @@ request=request, signature_version=signature_version, region_name=region_name) self.assertEqual(request.url, - 'https://bucket.s3.amazonaws.com/key.txt') + 'https://bucket.s3-us-west-2.amazonaws.com/key.txt') self.assertEqual(request.auth_path, '/bucket/key.txt') def test_fix_s3_host_only_applied_once(self): request = AWSRequest( method='PUT', headers={}, - url='https://s3-us-west-2.amazonaws.com/bucket/key.txt' + url='https://s3.us-west-2.amazonaws.com/bucket/key.txt' ) region_name = 'us-west-2' signature_version = 's3' @@ -590,7 +742,7 @@ request=request, signature_version=signature_version, region_name=region_name) self.assertEqual(request.url, - 'https://bucket.s3.amazonaws.com/key.txt') + 'https://bucket.s3.us-west-2.amazonaws.com/key.txt') # This was a bug previously. We want to make sure that # calling fix_s3_host() again does not alter the auth_path. # Otherwise we'll get signature errors. @@ -880,6 +1032,33 @@ dict1, {'Foo': ['foo_value']}) +class TestLowercaseDict(unittest.TestCase): + def test_lowercase_dict_empty(self): + original = {} + copy = lowercase_dict(original) + self.assertEqual(original, copy) + + def test_lowercase_dict_original_keys_lower(self): + original = { + 'lower_key1': 1, + 'lower_key2': 2, + } + copy = lowercase_dict(original) + self.assertEqual(original, copy) + + def test_lowercase_dict_original_keys_mixed(self): + original = { + 'SOME_KEY': 'value', + 'AnOTher_OnE': 'anothervalue', + } + copy = lowercase_dict(original) + expected = { + 'some_key': 'value', + 'another_one': 'anothervalue', + } + self.assertEqual(expected, copy) + + class TestGetServiceModuleName(unittest.TestCase): def setUp(self): self.service_description = { @@ -966,6 +1145,27 @@ ('k2', ['another', 'list'])])), 'k1=a&k1=list&k2=another&k2=list') +class TestPercentEncode(unittest.TestCase): + def test_percent_encode_obj(self): + self.assertEqual(percent_encode(1), '1') + + def test_percent_encode_text(self): + self.assertEqual(percent_encode(u''), '') + self.assertEqual(percent_encode(u'a'), 'a') + self.assertEqual(percent_encode(u'\u0000'), '%00') + # Codepoint > 0x7f + self.assertEqual(percent_encode(u'\u2603'), '%E2%98%83') + # Codepoint > 0xffff + self.assertEqual(percent_encode(u'\U0001f32e'), '%F0%9F%8C%AE') + + def test_percent_encode_bytes(self): + self.assertEqual(percent_encode(b''), '') + self.assertEqual(percent_encode(b'a'), u'a') + self.assertEqual(percent_encode(b'\x00'), u'%00') + # UTF-8 Snowman + self.assertEqual(percent_encode(b'\xe2\x98\x83'), '%E2%98%83') + # Arbitrary bytes (not valid UTF-8). + self.assertEqual(percent_encode(b'\x80\x00'), '%80%00') class TestSwitchHostS3Accelerate(unittest.TestCase): def setUp(self): @@ -1016,6 +1216,98 @@ 'https://s3-accelerate.dualstack.amazonaws.com/foo/key.txt') +class TestDeepMerge(unittest.TestCase): + def test_simple_merge(self): + a = {'key': 'value'} + b = {'otherkey': 'othervalue'} + deep_merge(a, b) + + expected = {'key': 'value', 'otherkey': 'othervalue'} + self.assertEqual(a, expected) + + def test_merge_list(self): + # Lists are treated as opaque data and so no effort should be made to + # combine them. + a = {'key': ['original']} + b = {'key': ['new']} + deep_merge(a, b) + self.assertEqual(a, {'key': ['new']}) + + def test_merge_number(self): + # The value from b is always taken + a = {'key': 10} + b = {'key': 45} + deep_merge(a, b) + self.assertEqual(a, {'key': 45}) + + a = {'key': 45} + b = {'key': 10} + deep_merge(a, b) + self.assertEqual(a, {'key': 10}) + + def test_merge_boolean(self): + # The value from b is always taken + a = {'key': False} + b = {'key': True} + deep_merge(a, b) + self.assertEqual(a, {'key': True}) + + a = {'key': True} + b = {'key': False} + deep_merge(a, b) + self.assertEqual(a, {'key': False}) + + def test_merge_string(self): + a = {'key': 'value'} + b = {'key': 'othervalue'} + deep_merge(a, b) + self.assertEqual(a, {'key': 'othervalue'}) + + def test_merge_overrides_value(self): + # The value from b is always taken, even when it's a different type + a = {'key': 'original'} + b = {'key': {'newkey': 'newvalue'}} + deep_merge(a, b) + self.assertEqual(a, {'key': {'newkey': 'newvalue'}}) + + a = {'key': {'anotherkey': 'value'}} + b = {'key': 'newvalue'} + deep_merge(a, b) + self.assertEqual(a, {'key': 'newvalue'}) + + def test_deep_merge(self): + a = { + 'first': { + 'second': { + 'key': 'value', + 'otherkey': 'othervalue' + }, + 'key': 'value' + } + } + b = { + 'first': { + 'second': { + 'otherkey': 'newvalue', + 'yetanotherkey': 'yetanothervalue' + } + } + } + deep_merge(a, b) + + expected = { + 'first': { + 'second': { + 'key': 'value', + 'otherkey': 'newvalue', + 'yetanotherkey': 'yetanothervalue' + }, + 'key': 'value' + } + } + self.assertEqual(a, expected) + + class TestS3RegionRedirector(unittest.TestCase): def setUp(self): self.endpoint_bridge = mock.Mock() @@ -1124,6 +1416,28 @@ } signing_context = request_dict['context'].get('signing') self.assertEqual(signing_context, expected_signing_context) + self.assertTrue(request_dict['context'].get('s3_redirected')) + + def test_does_not_redirect_if_previously_redirected(self): + request_dict = { + 'context': { + 'signing': {'bucket': 'foo', 'region': 'us-west-2'}, + 's3_redirected': True, + }, + 'url': 'https://us-west-2.amazonaws.com/foo' + } + response = (None, { + 'Error': { + 'Code': '400', + 'Message': 'Bad Request', + }, + 'ResponseMetadata': { + 'HTTPHeaders': {'x-amz-bucket-region': 'us-west-2'} + } + }) + redirect_response = self.redirector.redirect_from_error( + request_dict, response, self.operation) + self.assertIsNone(redirect_response) def test_does_not_redirect_unless_permanentredirect_recieved(self): request_dict = {} @@ -1175,6 +1489,46 @@ request_dict, response, self.operation) self.assertIsNone(redirect_response) + def test_redirects_400_head_bucket(self): + request_dict = {'url': 'https://us-west-2.amazonaws.com/foo', + 'context': {'signing': {'bucket': 'foo'}}} + response = (None, { + 'Error': {'Code': '400', 'Message': 'Bad Request'}, + 'ResponseMetadata': { + 'HTTPHeaders': {'x-amz-bucket-region': 'eu-central-1'} + } + }) + + self.operation.name = 'HeadObject' + redirect_response = self.redirector.redirect_from_error( + request_dict, response, self.operation) + self.assertEqual(redirect_response, 0) + + self.operation.name = 'ListObjects' + redirect_response = self.redirector.redirect_from_error( + request_dict, response, self.operation) + self.assertIsNone(redirect_response) + + def test_does_not_redirect_400_head_bucket_no_region_header(self): + # We should not redirect a 400 Head* if the region header is not + # present as this will lead to infinitely calling HeadBucket. + request_dict = {'url': 'https://us-west-2.amazonaws.com/foo', + 'context': {'signing': {'bucket': 'foo'}}} + response = (None, { + 'Error': {'Code': '400', 'Message': 'Bad Request'}, + 'ResponseMetadata': { + 'HTTPHeaders': {} + } + }) + + self.operation.name = 'HeadBucket' + redirect_response = self.redirector.redirect_from_error( + request_dict, response, self.operation) + head_bucket_calls = self.client.head_bucket.call_count + self.assertIsNone(redirect_response) + # We should not have made an additional head bucket call + self.assertEqual(head_bucket_calls, 0) + def test_does_not_redirect_if_None_response(self): request_dict = {'url': 'https://us-west-2.amazonaws.com/foo', 'context': {'signing': {'bucket': 'foo'}}} @@ -1249,6 +1603,355 @@ region = self.redirector.get_bucket_region('foo', response) self.assertEqual(region, 'eu-central-1') + def test_no_redirect_from_error_for_accesspoint(self): + request_dict = { + 'url': ( + 'https://myendpoint-123456789012.s3-accesspoint.' + 'us-west-2.amazonaws.com/key' + ), + 'context': { + 's3_accesspoint': {} + } + } + response = (None, { + 'Error': {'Code': '400', 'Message': 'Bad Request'}, + 'ResponseMetadata': { + 'HTTPHeaders': {'x-amz-bucket-region': 'eu-central-1'} + } + }) + + self.operation.name = 'HeadObject' + redirect_response = self.redirector.redirect_from_error( + request_dict, response, self.operation) + self.assertEqual(redirect_response, None) + + def test_no_redirect_from_cache_for_accesspoint(self): + self.cache['foo'] = {'endpoint': 'foo-endpoint'} + self.redirector = S3RegionRedirector( + self.endpoint_bridge, self.client, cache=self.cache) + params = {'Bucket': 'foo'} + context = {'s3_accesspoint': {}} + self.redirector.redirect_from_cache(params, context) + self.assertNotIn('signing', context) + + +class TestArnParser(unittest.TestCase): + def setUp(self): + self.parser = ArnParser() + + def test_parse(self): + arn = 'arn:aws:s3:us-west-2:1023456789012:myresource' + self.assertEqual( + self.parser.parse_arn(arn), + { + 'partition': 'aws', + 'service': 's3', + 'region': 'us-west-2', + 'account': '1023456789012', + 'resource': 'myresource', + } + ) + + def test_parse_invalid_arn(self): + with self.assertRaises(InvalidArnException): + self.parser.parse_arn('arn:aws:s3') + + def test_parse_arn_with_resource_type(self): + arn = 'arn:aws:s3:us-west-2:1023456789012:bucket_name:mybucket' + self.assertEqual( + self.parser.parse_arn(arn), + { + 'partition': 'aws', + 'service': 's3', + 'region': 'us-west-2', + 'account': '1023456789012', + 'resource': 'bucket_name:mybucket', + } + ) + + def test_parse_arn_with_empty_elements(self): + arn = 'arn:aws:s3:::mybucket' + self.assertEqual( + self.parser.parse_arn(arn), + { + 'partition': 'aws', + 'service': 's3', + 'region': '', + 'account': '', + 'resource': 'mybucket', + } + ) + + +class TestS3ArnParamHandler(unittest.TestCase): + def setUp(self): + self.arn_handler = S3ArnParamHandler() + self.model = mock.Mock(OperationModel) + self.model.name = 'GetObject' + + def test_register(self): + event_emitter = mock.Mock() + self.arn_handler.register(event_emitter) + event_emitter.register.assert_called_with( + 'before-parameter-build.s3', self.arn_handler.handle_arn) + + def test_accesspoint_arn(self): + params = { + 'Bucket': 'arn:aws:s3:us-west-2:123456789012:accesspoint/endpoint' + } + context = {} + self.arn_handler.handle_arn(params, self.model, context) + self.assertEqual(params, {'Bucket': 'endpoint'}) + self.assertEqual( + context, + { + 's3_accesspoint': { + 'name': 'endpoint', + 'account': '123456789012', + 'region': 'us-west-2', + 'partition': 'aws', + } + } + ) + + def test_accesspoint_arn_with_colon(self): + params = { + 'Bucket': 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint' + } + context = {} + self.arn_handler.handle_arn(params, self.model, context) + self.assertEqual(params, {'Bucket': 'endpoint'}) + self.assertEqual( + context, + { + 's3_accesspoint': { + 'name': 'endpoint', + 'account': '123456789012', + 'region': 'us-west-2', + 'partition': 'aws', + } + } + ) + + def test_errors_for_non_accesspoint_arn(self): + params = { + 'Bucket': 'arn:aws:s3:us-west-2:123456789012:unsupported:resource' + } + context = {} + with self.assertRaises(UnsupportedS3ArnError): + self.arn_handler.handle_arn(params, self.model, context) + + def test_ignores_bucket_names(self): + params = {'Bucket': 'mybucket'} + context = {} + self.arn_handler.handle_arn(params, self.model, context) + self.assertEqual(params, {'Bucket': 'mybucket'}) + self.assertEqual(context, {}) + + def test_ignores_create_bucket(self): + arn = 'arn:aws:s3:us-west-2:123456789012:accesspoint/endpoint' + params = {'Bucket': arn} + context = {} + self.model.name = 'CreateBucket' + self.arn_handler.handle_arn(params, self.model, context) + self.assertEqual(params, {'Bucket': arn}) + self.assertEqual(context, {}) + + +class TestS3EndpointSetter(unittest.TestCase): + def setUp(self): + self.operation_name = 'GetObject' + self.signature_version = 's3v4' + self.region_name = 'us-west-2' + self.account = '123456789012' + self.bucket = 'mybucket' + self.key = 'key.txt' + self.accesspoint_name = 'myaccesspoint' + self.partition = 'aws' + self.endpoint_resolver = mock.Mock() + self.dns_suffix = 'amazonaws.com' + self.endpoint_resolver.construct_endpoint.return_value = { + 'dnsSuffix': self.dns_suffix + } + self.endpoint_setter = self.get_endpoint_setter() + + def get_endpoint_setter(self, **kwargs): + setter_kwargs = { + 'endpoint_resolver': self.endpoint_resolver, + 'region': self.region_name, + } + setter_kwargs.update(kwargs) + return S3EndpointSetter(**setter_kwargs) + + def get_s3_request(self, bucket=None, key=None, scheme='https://', + querystring=None): + url = scheme + 's3.us-west-2.amazonaws.com/' + if bucket: + url += bucket + if key: + url += '/%s' % key + if querystring: + url += '?%s' % querystring + return AWSRequest(method='GET', headers={}, url=url) + + def get_s3_accesspoint_request(self, accesspoint_name=None, + accesspoint_context=None, + **s3_request_kwargs): + if not accesspoint_name: + accesspoint_name = self.accesspoint_name + request = self.get_s3_request(accesspoint_name, **s3_request_kwargs) + if accesspoint_context is None: + accesspoint_context = self.get_s3_accesspoint_context( + name=accesspoint_name) + request.context['s3_accesspoint'] = accesspoint_context + return request + + def get_s3_accesspoint_context(self, **overrides): + accesspoint_context = { + 'name': self.accesspoint_name, + 'account': self.account, + 'region': self.region_name, + 'partition': self.partition, + } + accesspoint_context.update(overrides) + return accesspoint_context + + def call_set_endpoint(self, endpoint_setter, request, **kwargs): + set_endpoint_kwargs = { + 'request': request, + 'operation_name': self.operation_name, + 'signature_version': self.signature_version, + 'region_name': self.region_name, + } + set_endpoint_kwargs.update(kwargs) + endpoint_setter.set_endpoint(**set_endpoint_kwargs) + + def test_register(self): + event_emitter = mock.Mock() + self.endpoint_setter.register(event_emitter) + event_emitter.register.assert_called_with( + 'before-sign.s3', self.endpoint_setter.set_endpoint) + + def test_accesspoint_endpoint(self): + request = self.get_s3_accesspoint_request() + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'https://%s-%s.s3-accesspoint.%s.amazonaws.com/' % ( + self.accesspoint_name, self.account, self.region_name + ) + self.assertEqual(request.url, expected_url) + + def test_accesspoint_preserves_key_in_path(self): + request = self.get_s3_accesspoint_request(key=self.key) + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'https://%s-%s.s3-accesspoint.%s.amazonaws.com/%s' % ( + self.accesspoint_name, self.account, self.region_name, + self.key + ) + self.assertEqual(request.url, expected_url) + + def test_accesspoint_preserves_scheme(self): + request = self.get_s3_accesspoint_request(scheme='http://') + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'http://%s-%s.s3-accesspoint.%s.amazonaws.com/' % ( + self.accesspoint_name, self.account, self.region_name, + ) + self.assertEqual(request.url, expected_url) + + def test_accesspoint_preserves_query_string(self): + request = self.get_s3_accesspoint_request(querystring='acl') + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'https://%s-%s.s3-accesspoint.%s.amazonaws.com/?acl' % ( + self.accesspoint_name, self.account, self.region_name, + ) + self.assertEqual(request.url, expected_url) + + def test_uses_resolved_dns_suffix(self): + self.endpoint_resolver.construct_endpoint.return_value = { + 'dnsSuffix': 'mysuffix.com' + } + request = self.get_s3_accesspoint_request() + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'https://%s-%s.s3-accesspoint.%s.mysuffix.com/' % ( + self.accesspoint_name, self.account, self.region_name, + ) + self.assertEqual(request.url, expected_url) + + def test_uses_region_of_client_if_use_arn_disabled(self): + client_region = 'client-region' + self.endpoint_setter = self.get_endpoint_setter( + region=client_region, s3_config={'use_arn_region': False}) + request = self.get_s3_accesspoint_request() + self.call_set_endpoint(self.endpoint_setter, request=request) + expected_url = 'https://%s-%s.s3-accesspoint.%s.amazonaws.com/' % ( + self.accesspoint_name, self.account, client_region, + ) + self.assertEqual(request.url, expected_url) + + def test_accesspoint_errors_for_custom_endpoint(self): + endpoint_setter = self.get_endpoint_setter( + endpoint_url='https://custom.com') + request = self.get_s3_accesspoint_request() + with self.assertRaises(UnsupportedS3AccesspointConfigurationError): + self.call_set_endpoint(endpoint_setter, request=request) + + def test_errors_for_mismatching_partition(self): + endpoint_setter = self.get_endpoint_setter(partition='aws-cn') + accesspoint_context = self.get_s3_accesspoint_context(partition='aws') + request = self.get_s3_accesspoint_request( + accesspoint_context=accesspoint_context) + with self.assertRaises(UnsupportedS3AccesspointConfigurationError): + self.call_set_endpoint(endpoint_setter, request=request) + + def test_errors_for_mismatching_partition_when_using_client_region(self): + endpoint_setter = self.get_endpoint_setter( + s3_config={'use_arn_region': False}, partition='aws-cn' + ) + accesspoint_context = self.get_s3_accesspoint_context(partition='aws') + request = self.get_s3_accesspoint_request( + accesspoint_context=accesspoint_context) + with self.assertRaises(UnsupportedS3AccesspointConfigurationError): + self.call_set_endpoint(endpoint_setter, request=request) + + def test_set_endpoint_for_auto(self): + endpoint_setter = self.get_endpoint_setter( + s3_config={'addressing_style': 'auto'}) + request = self.get_s3_request(self.bucket, self.key) + self.call_set_endpoint(endpoint_setter, request) + expected_url = 'https://%s.s3.us-west-2.amazonaws.com/%s' % ( + self.bucket, self.key + ) + self.assertEqual(request.url, expected_url) + + def test_set_endpoint_for_virtual(self): + endpoint_setter = self.get_endpoint_setter( + s3_config={'addressing_style': 'virtual'}) + request = self.get_s3_request(self.bucket, self.key) + self.call_set_endpoint(endpoint_setter, request) + expected_url = 'https://%s.s3.us-west-2.amazonaws.com/%s' % ( + self.bucket, self.key + ) + self.assertEqual(request.url, expected_url) + + def test_set_endpoint_for_path(self): + endpoint_setter = self.get_endpoint_setter( + s3_config={'addressing_style': 'path'}) + request = self.get_s3_request(self.bucket, self.key) + self.call_set_endpoint(endpoint_setter, request) + expected_url = 'https://s3.us-west-2.amazonaws.com/%s/%s' % ( + self.bucket, self.key + ) + self.assertEqual(request.url, expected_url) + + def test_set_endpoint_for_accelerate(self): + endpoint_setter = self.get_endpoint_setter( + s3_config={'use_accelerate_endpoint': True}) + request = self.get_s3_request(self.bucket, self.key) + self.call_set_endpoint(endpoint_setter, request) + expected_url = 'https://%s.s3-accelerate.amazonaws.com/%s' % ( + self.bucket, self.key + ) + self.assertEqual(request.url, expected_url) + class TestContainerMetadataFetcher(unittest.TestCase): def setUp(self): @@ -1262,7 +1965,7 @@ def fake_response(self, status_code, body): response = mock.Mock() response.status_code = status_code - response.text = body + response.content = body return response def set_http_responses_to(self, *responses): @@ -1276,9 +1979,44 @@ http_response = response else: http_response = self.fake_response( - status_code=200, body=json.dumps(response)) + status_code=200, body=json.dumps(response).encode('utf-8')) http_responses.append(http_response) - self.http.get.side_effect = http_responses + self.http.send.side_effect = http_responses + + def assert_request(self, method, url, headers): + request = self.http.send.call_args[0][0] + self.assertEqual(request.method, method) + self.assertEqual(request.url, url) + self.assertEqual(request.headers, headers) + + def assert_can_retrieve_metadata_from(self, full_uri): + response_body = {'foo': 'bar'} + self.set_http_responses_to(response_body) + fetcher = self.create_fetcher() + response = fetcher.retrieve_full_uri(full_uri) + self.assertEqual(response, response_body) + self.assert_request('GET', full_uri, {'Accept': 'application/json'}) + + def assert_host_is_not_allowed(self, full_uri): + response_body = {'foo': 'bar'} + self.set_http_responses_to(response_body) + fetcher = self.create_fetcher() + with self.assertRaisesRegexp(ValueError, 'Unsupported host'): + fetcher.retrieve_full_uri(full_uri) + self.assertFalse(self.http.send.called) + + def test_can_specify_extra_headers_are_merged(self): + headers = { + # The 'Accept' header will override the + # default Accept header of application/json. + 'Accept': 'application/not-json', + 'X-Other-Header': 'foo', + } + self.set_http_responses_to({'foo': 'bar'}) + fetcher = self.create_fetcher() + response = fetcher.retrieve_full_uri( + 'http://localhost', headers) + self.assert_request('GET', 'http://localhost', headers) def test_can_retrieve_uri(self): json_body = { @@ -1294,11 +2032,8 @@ self.assertEqual(response, json_body) # Ensure we made calls to the right endpoint. - self.http.get.assert_called_with( - 'http://169.254.170.2/foo?id=1', - headers={'Accept': 'application/json'}, - timeout=fetcher.TIMEOUT_SECONDS, - ) + headers = {'Accept': 'application/json'} + self.assert_request('GET', 'http://169.254.170.2/foo?id=1', headers) def test_can_retry_requests(self): success_response = { @@ -1310,7 +2045,7 @@ self.set_http_responses_to( # First response is a connection error, should # be retried. - requests.ConnectionError(), + ConnectionClosedError(endpoint_url=''), # Second response is the successful JSON response # with credentials. success_response, @@ -1322,45 +2057,374 @@ def test_propagates_credential_error_on_http_errors(self): self.set_http_responses_to( # In this scenario, we never get a successful response. - requests.ConnectionError(), - requests.ConnectionError(), - requests.ConnectionError(), - requests.ConnectionError(), - requests.ConnectionError(), + ConnectionClosedError(endpoint_url=''), + ConnectionClosedError(endpoint_url=''), + ConnectionClosedError(endpoint_url=''), + ConnectionClosedError(endpoint_url=''), + ConnectionClosedError(endpoint_url=''), ) # As a result, we expect an appropriate error to be raised. fetcher = self.create_fetcher() with self.assertRaises(MetadataRetrievalError): fetcher.retrieve_uri('/foo?id=1') - self.assertEqual(self.http.get.call_count, fetcher.RETRY_ATTEMPTS) + self.assertEqual(self.http.send.call_count, fetcher.RETRY_ATTEMPTS) def test_error_raised_on_non_200_response(self): self.set_http_responses_to( - self.fake_response(status_code=404, body='Error not found'), - self.fake_response(status_code=404, body='Error not found'), - self.fake_response(status_code=404, body='Error not found'), + self.fake_response(status_code=404, body=b'Error not found'), + self.fake_response(status_code=404, body=b'Error not found'), + self.fake_response(status_code=404, body=b'Error not found'), ) fetcher = self.create_fetcher() with self.assertRaises(MetadataRetrievalError): fetcher.retrieve_uri('/foo?id=1') # Should have tried up to RETRY_ATTEMPTS. - self.assertEqual(self.http.get.call_count, fetcher.RETRY_ATTEMPTS) + self.assertEqual(self.http.send.call_count, fetcher.RETRY_ATTEMPTS) def test_error_raised_on_no_json_response(self): # If the service returns a sucess response but with a body that # does not contain JSON, we should still retry up to RETRY_ATTEMPTS, # but after exhausting retries we propagate the exception. self.set_http_responses_to( - self.fake_response(status_code=200, body='Not JSON'), - self.fake_response(status_code=200, body='Not JSON'), - self.fake_response(status_code=200, body='Not JSON'), + self.fake_response(status_code=200, body=b'Not JSON'), + self.fake_response(status_code=200, body=b'Not JSON'), + self.fake_response(status_code=200, body=b'Not JSON'), ) fetcher = self.create_fetcher() - with self.assertRaises(MetadataRetrievalError): + with self.assertRaises(MetadataRetrievalError) as e: fetcher.retrieve_uri('/foo?id=1') + self.assertNotIn('Not JSON', str(e.exception)) # Should have tried up to RETRY_ATTEMPTS. - self.assertEqual(self.http.get.call_count, fetcher.RETRY_ATTEMPTS) + self.assertEqual(self.http.send.call_count, fetcher.RETRY_ATTEMPTS) + + def test_can_retrieve_full_uri_with_fixed_ip(self): + self.assert_can_retrieve_metadata_from( + 'http://%s/foo?id=1' % ContainerMetadataFetcher.IP_ADDRESS) + + def test_localhost_http_is_allowed(self): + self.assert_can_retrieve_metadata_from('http://localhost/foo') + + def test_localhost_with_port_http_is_allowed(self): + self.assert_can_retrieve_metadata_from('http://localhost:8000/foo') + + def test_localhost_https_is_allowed(self): + self.assert_can_retrieve_metadata_from('https://localhost/foo') + + def test_can_use_127_ip_addr(self): + self.assert_can_retrieve_metadata_from('https://127.0.0.1/foo') + + def test_can_use_127_ip_addr_with_port(self): + self.assert_can_retrieve_metadata_from('https://127.0.0.1:8080/foo') + + def test_link_local_http_is_not_allowed(self): + self.assert_host_is_not_allowed('http://169.254.0.1/foo') + + def test_link_local_https_is_not_allowed(self): + self.assert_host_is_not_allowed('https://169.254.0.1/foo') + def test_non_link_local_nonallowed_url(self): + self.assert_host_is_not_allowed('http://169.1.2.3/foo') + + def test_error_raised_on_nonallowed_url(self): + self.assert_host_is_not_allowed('http://somewhere.com/foo') + + def test_external_host_not_allowed_if_https(self): + self.assert_host_is_not_allowed('https://somewhere.com/foo') + + +class TestUnsigned(unittest.TestCase): + def test_copy_returns_same_object(self): + self.assertIs(botocore.UNSIGNED, copy.copy(botocore.UNSIGNED)) + + def test_deepcopy_returns_same_object(self): + self.assertIs(botocore.UNSIGNED, copy.deepcopy(botocore.UNSIGNED)) + + +class TestInstanceMetadataFetcher(unittest.TestCase): + def setUp(self): + urllib3_session_send = 'botocore.httpsession.URLLib3Session.send' + self._urllib3_patch = mock.patch(urllib3_session_send) + self._send = self._urllib3_patch.start() + self._imds_responses = [] + self._send.side_effect = self.get_imds_response + self._role_name = 'role-name' + self._creds = { + 'AccessKeyId': 'spam', + 'SecretAccessKey': 'eggs', + 'Token': 'spam-token', + 'Expiration': 'something', + } + self._expected_creds = { + 'access_key': self._creds['AccessKeyId'], + 'secret_key': self._creds['SecretAccessKey'], + 'token': self._creds['Token'], + 'expiry_time': self._creds['Expiration'], + 'role_name': self._role_name + } + + def tearDown(self): + self._urllib3_patch.stop() + + def add_imds_response(self, body, status_code=200): + response = botocore.awsrequest.AWSResponse( + url='http://169.254.169.254/', + status_code=status_code, + headers={}, + raw=RawResponse(body) + ) + self._imds_responses.append(response) + + def add_get_role_name_imds_response(self, role_name=None): + if role_name is None: + role_name = self._role_name + self.add_imds_response(body=role_name.encode('utf-8')) + + def add_get_credentials_imds_response(self, creds=None): + if creds is None: + creds = self._creds + self.add_imds_response(body=json.dumps(creds).encode('utf-8')) + + def add_get_token_imds_response(self, token, status_code=200): + self.add_imds_response(body=token.encode('utf-8'), + status_code=status_code) + + def add_metadata_token_not_supported_response(self): + self.add_imds_response(b'', status_code=404) + + def add_imds_connection_error(self, exception): + self._imds_responses.append(exception) + + def get_imds_response(self, request): + response = self._imds_responses.pop(0) + if isinstance(response, Exception): + raise response + return response -if __name__ == '__main__': - unittest.main() + def test_disabled_by_environment(self): + env = {'AWS_EC2_METADATA_DISABLED': 'true'} + fetcher = InstanceMetadataFetcher(env=env) + result = fetcher.retrieve_iam_role_credentials() + self.assertEqual(result, {}) + self._send.assert_not_called() + + def test_disabled_by_environment_mixed_case(self): + env = {'AWS_EC2_METADATA_DISABLED': 'tRuE'} + fetcher = InstanceMetadataFetcher(env=env) + result = fetcher.retrieve_iam_role_credentials() + self.assertEqual(result, {}) + self._send.assert_not_called() + + def test_disabling_env_var_not_true(self): + url = 'https://example.com/' + env = {'AWS_EC2_METADATA_DISABLED': 'false'} + + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + fetcher = InstanceMetadataFetcher(base_url=url, env=env) + result = fetcher.retrieve_iam_role_credentials() + + self.assertEqual(result, self._expected_creds) + + def test_includes_user_agent_header(self): + user_agent = 'my-user-agent' + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + self.assertEqual(self._send.call_count, 3) + for call in self._send.calls: + self.assertTrue(call[0][0].headers['User-Agent'], user_agent) + + def test_non_200_response_for_role_name_is_retried(self): + # Response for role name that have a non 200 status code should + # be retried. + self.add_get_token_imds_response(token='token') + self.add_imds_response( + status_code=429, body=b'{"message": "Slow down"}') + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_http_connection_error_for_role_name_is_retried(self): + # Connection related errors should be retried + self.add_get_token_imds_response(token='token') + self.add_imds_connection_error(ConnectionClosedError(endpoint_url='')) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_empty_response_for_role_name_is_retried(self): + # Response for role name that have a non 200 status code should + # be retried. + self.add_get_token_imds_response(token='token') + self.add_imds_response(body=b'') + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_non_200_response_is_retried(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + # Response for creds that has a 200 status code but has an empty + # body should be retried. + self.add_imds_response( + status_code=429, body=b'{"message": "Slow down"}') + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_http_connection_errors_is_retried(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + # Connection related errors should be retried + self.add_imds_connection_error(ConnectionClosedError(endpoint_url='')) + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_empty_response_is_retried(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + # Response for creds that has a 200 status code but is empty. + # This should be retried. + self.add_imds_response(body=b'') + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_invalid_json_is_retried(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + # Response for creds that has a 200 status code but is invalid JSON. + # This should be retried. + self.add_imds_response(body=b'{"AccessKey":') + self.add_get_credentials_imds_response() + result = InstanceMetadataFetcher( + num_attempts=2).retrieve_iam_role_credentials() + self.assertEqual(result, self._expected_creds) + + def test_exhaust_retries_on_role_name_request(self): + self.add_get_token_imds_response(token='token') + self.add_imds_response(status_code=400, body=b'') + result = InstanceMetadataFetcher( + num_attempts=1).retrieve_iam_role_credentials() + self.assertEqual(result, {}) + + def test_exhaust_retries_on_credentials_request(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + self.add_imds_response(status_code=400, body=b'') + result = InstanceMetadataFetcher( + num_attempts=1).retrieve_iam_role_credentials() + self.assertEqual(result, {}) + + def test_missing_fields_in_credentials_response(self): + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + # Response for creds that has a 200 status code and a JSON body + # representing an error. We do not necessarily want to retry this. + self.add_imds_response( + body=b'{"Code":"AssumeRoleUnauthorizedAccess","Message":"error"}') + result = InstanceMetadataFetcher().retrieve_iam_role_credentials() + self.assertEqual(result, {}) + + def test_token_is_included(self): + user_agent = 'my-user-agent' + self.add_get_token_imds_response(token='token') + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + # Check that subsequent calls after getting the token include the token. + self.assertEqual(self._send.call_count, 3) + for call in self._send.call_args_list[1:]: + self.assertEqual(call[0][0].headers['x-aws-ec2-metadata-token'], 'token') + self.assertEqual(result, self._expected_creds) + + def test_metadata_token_not_supported_404(self): + user_agent = 'my-user-agent' + self.add_imds_response(b'', status_code=404) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + for call in self._send.call_args_list[1:]: + self.assertNotIn('x-aws-ec2-metadata-token', call[0][0].headers) + self.assertEqual(result, self._expected_creds) + + def test_metadata_token_not_supported_403(self): + user_agent = 'my-user-agent' + self.add_imds_response(b'', status_code=403) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + for call in self._send.call_args_list[1:]: + self.assertNotIn('x-aws-ec2-metadata-token', call[0][0].headers) + self.assertEqual(result, self._expected_creds) + + def test_metadata_token_not_supported_405(self): + user_agent = 'my-user-agent' + self.add_imds_response(b'', status_code=405) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + for call in self._send.call_args_list[1:]: + self.assertNotIn('x-aws-ec2-metadata-token', call[0][0].headers) + self.assertEqual(result, self._expected_creds) + + def test_metadata_token_not_supported_timeout(self): + user_agent = 'my-user-agent' + self.add_imds_connection_error(ReadTimeoutError(endpoint_url='url')) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + for call in self._send.call_args_list[1:]: + self.assertNotIn('x-aws-ec2-metadata-token', call[0][0].headers) + self.assertEqual(result, self._expected_creds) + + def test_token_not_supported_exhaust_retries(self): + user_agent = 'my-user-agent' + self.add_imds_connection_error(ConnectTimeoutError(endpoint_url='url')) + self.add_get_role_name_imds_response() + self.add_get_credentials_imds_response() + + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + + for call in self._send.call_args_list[1:]: + self.assertNotIn('x-aws-ec2-metadata-token', call[0][0].headers) + self.assertEqual(result, self._expected_creds) + + def test_metadata_token_bad_request_yields_no_credentials(self): + user_agent = 'my-user-agent' + self.add_imds_response(b'', status_code=400) + result = InstanceMetadataFetcher( + user_agent=user_agent).retrieve_iam_role_credentials() + self.assertEqual(result, {}) diff -Nru python-botocore-1.4.70/tests/unit/test_validate.py python-botocore-1.16.19+repack/tests/unit/test_validate.py --- python-botocore-1.4.70/tests/unit/test_validate.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_validate.py 2020-05-28 19:26:10.000000000 +0000 @@ -4,7 +4,6 @@ from botocore.compat import six from botocore.model import ShapeResolver -from botocore.model import StructureShape from botocore.validate import ParamValidator BOILER_PLATE_SHAPES = { @@ -94,6 +93,56 @@ errors=['Unknown parameter']) +class TestValidateJSONValueTrait(BaseTestValidate): + def test_accepts_jsonvalue_string(self): + self.shapes = { + 'Input': { + 'type': 'structure', + 'members': { + 'json': { + 'shape': 'StrType', + 'jsonvalue': True, + 'location': 'header', + 'locationName': 'header-name' + } + } + }, + 'StrType': {'type': 'string'} + } + errors = self.get_validation_error_message( + given_shapes=self.shapes, + input_params={ + 'json': {'data': [1, 2.3, '3'], 'unicode': u'\u2713'} + }) + error_msg = errors.generate_report() + self.assertEqual(error_msg, '') + + def test_validate_jsonvalue_string(self): + self.shapes = { + 'Input': { + 'type': 'structure', + 'members': { + 'json': { + 'shape': 'StrType', + 'jsonvalue': True, + 'location': 'header', + 'locationName': 'header-name' + } + } + }, + 'StrType': {'type': 'string'} + } + + self.assert_has_validation_errors( + given_shapes=self.shapes, + input_params={ + 'json': {'date': datetime(2017, 4, 27, 0, 0)} + }, + errors=[ + ('Invalid parameter json must be json serializable: ') + ]) + + class TestValidateTypes(BaseTestValidate): def setUp(self): self.shapes = { diff -Nru python-botocore-1.4.70/tests/unit/test_waiters.py python-botocore-1.16.19+repack/tests/unit/test_waiters.py --- python-botocore-1.4.70/tests/unit/test_waiters.py 2016-11-03 20:32:16.000000000 +0000 +++ python-botocore-1.16.19+repack/tests/unit/test_waiters.py 2020-05-28 19:26:10.000000000 +0000 @@ -493,6 +493,41 @@ self.assertEqual(sleep_mock.call_count, 2) sleep_mock.assert_called_with(delay_time) + @mock.patch('time.sleep') + def test_waiter_invocation_config_honors_delay(self, sleep_mock): + config = self.create_waiter_config() + operation_method = mock.Mock() + self.client_responses_are( + {'Success': False}, + {'Success': False}, + {'Success': False}, + for_operation=operation_method + ) + waiter = Waiter('MyWaiter', config, operation_method) + custom_delay = 3 + with self.assertRaises(WaiterError): + waiter.wait(WaiterConfig={'Delay': custom_delay}) + + # We attempt three times, which means we need to sleep + # twice, once before each subsequent request. + self.assertEqual(sleep_mock.call_count, 2) + sleep_mock.assert_called_with(custom_delay) + + def test_waiter_invocation_config_honors_max_attempts(self): + config = self.create_waiter_config() + operation_method = mock.Mock() + self.client_responses_are( + {'Success': False}, + {'Success': False}, + for_operation=operation_method + ) + waiter = Waiter('MyWaiter', config, operation_method) + custom_max = 2 + with self.assertRaises(WaiterError): + waiter.wait(WaiterConfig={'MaxAttempts': custom_max}) + + self.assertEqual(operation_method.call_count, 2) + class TestCreateWaiter(unittest.TestCase): def setUp(self):